ZGlmZiAtLWdpdCBhLy5naXRpZ25vcmUgYi8uZ2l0aWdub3JlCmluZGV4IGJhOWVlODUuLmZiM2RkNWIgMTAwNjQ0Ci0tLSBhLy5naXRpZ25vcmUKKysrIGIvLmdpdGlnbm9yZQpAQCAtOSwxMSArOSw4IEBACiAqfgogLmdkYl9oaXN0b3J5CiBEb2MvYnVpbGQvCi1Eb2MvdG9vbHMvZG9jdXRpbHMvCi1Eb2MvdG9vbHMvamluamEvCi1Eb2MvdG9vbHMvamluamEyLwotRG9jL3Rvb2xzL3B5Z21lbnRzLwotRG9jL3Rvb2xzL3NwaGlueC8KK0RvYy92ZW52LworTGliL2Rpc3R1dGlscy9jb21tYW5kLyoucGRiCiBMaWIvbGliMnRvMy8qLnBpY2tsZQogTGliL3Rlc3QvZGF0YS8qCiBMaWIvX3N5c2NvbmZpZ2RhdGEucHkKQEAgLTI3LDE4ICsyNCwzMCBAQAogTW9kdWxlcy9TZXR1cC5sb2NhbAogTW9kdWxlcy9jb25maWcuYwogTW9kdWxlcy9sZF9zb19haXgKLU1vZHVsZXMvX2ZyZWV6ZV9pbXBvcnRsaWIKLU1vZHVsZXMvX3Rlc3RlbWJlZAotUENidWlsZC8qLmJzYwotUENidWlsZC8qLmRsbAotUENidWlsZC8qLmV4ZQotUENidWlsZC8qLmV4cAotUENidWlsZC8qLmxpYgotUENidWlsZC8qLm5jYgotUENidWlsZC8qLm8KLVBDYnVpbGQvKi5wZGIKLVBDYnVpbGQvV2luMzItdGVtcC0qCitQcm9ncmFtcy9fZnJlZXplX2ltcG9ydGxpYgorUHJvZ3JhbXMvX3Rlc3RlbWJlZAorUEMvcHl0aG9uX250Ki5oCitQQy9weXRob25udF9yYyouaAorUEMvKi8qLmV4ZQorUEMvKi8qLmV4cAorUEMvKi8qLmxpYgorUEMvKi8qLmJzYworUEMvKi8qLmRsbAorUEMvKi8qLnBkYgorUEMvKi8qLnVzZXIKK1BDLyovKi5uY2IKK1BDLyovKi5zdW8KK1BDLyovV2luMzItdGVtcC0qCitQQy8qL3g2NC10ZW1wLSoKK1BDLyovYW1kNjQKK1BDYnVpbGQvKi51c2VyCitQQ2J1aWxkLyouc3VvCitQQ2J1aWxkLyouKnNkZgorUENidWlsZC8qLXBnaQorUENidWlsZC8qLXBnbwogUENidWlsZC9hbWQ2NC8KK1BDYnVpbGQvb2JqCitQQ0J1aWxkL3dpbjMyCiAucHVyaWZ5CiBQYXJzZXIvcGdlbgogX19weWNhY2hlX18KQEAgLTYxLDYgKzcwLDcgQEAKIHB5dGhvbgogcHl0aG9uLWNvbmZpZwogcHl0aG9uLWNvbmZpZy5weQorcHl0aG9uLmJhdAogcHl0aG9uLmV4ZQogcHl0aG9uLWdkYi5weQogcHl0aG9uLmV4ZS1nZGIucHkKQEAgLTcyLDMgKzgyLDYgQEAKIGNvdmVyYWdlLwogZXh0ZXJuYWxzLwogaHRtbGNvdi8KK1Rvb2xzL21zaS9vYmoKK1Rvb2xzL3NzbC9hbWQ2NAorVG9vbHMvc3NsL3dpbjMyCmRpZmYgLS1naXQgYS8uaGdpZ25vcmUgYi8uaGdpZ25vcmUKaW5kZXggOWU1YTU4My4uN2E1MjYwNiAxMDA2NDQKLS0tIGEvLmhnaWdub3JlCisrKyBiLy5oZ2lnbm9yZQpAQCAtOSw2ICs5LDcgQEAKIGF1dG9tNHRlLmNhY2hlJAogXmJ1aWxkLwogXkRvYy9idWlsZC8KK15Eb2MvdmVudi8KIGJ1aWxkbm8kCiBjb25maWcuY2FjaGUKIGNvbmZpZy5sb2cKQEAgLTE4LDYgKzE5LDcgQEAKIHBsYXRmb3JtJAogcHljb25maWcuaCQKIHB5dGhvbiQKK3B5dGhvbi5iYXQkCiBweXRob24uZXhlJAogcHl0aG9uLWNvbmZpZyQKIHB5dGhvbi1jb25maWcucHkkCkBAIC00OCwxMyArNTAsMTIgQEAKICoucHlkCiAqLmNvdmVyCiAqfgorTGliL2Rpc3R1dGlscy9jb21tYW5kLyoucGRiCiBMaWIvbGliMnRvMy8qLnBpY2tsZQogTGliL3Rlc3QvZGF0YS8qCiBNaXNjLyoud3B1CiBQQy9weXRob25fbnQqLmgKIFBDL3B5dGhvbm50X3JjKi5oCi1QQy8qLm9iagotUEMvKi5leGUKIFBDLyovKi5leGUKIFBDLyovKi5leHAKIFBDLyovKi5saWIKQEAgLTY3LDI5ICs2OCwyMCBAQAogUEMvKi9XaW4zMi10ZW1wLSoKIFBDLyoveDY0LXRlbXAtKgogUEMvKi9hbWQ2NAotUENidWlsZC8qLmV4ZQotUENidWlsZC8qLmRsbAotUENidWlsZC8qLnBkYgotUENidWlsZC8qLmxpYgotUENidWlsZC8qLmV4cAotUENidWlsZC8qLm8KLVBDYnVpbGQvKi5uY2IKLVBDYnVpbGQvKi5ic2MKIFBDYnVpbGQvKi51c2VyCiBQQ2J1aWxkLyouc3VvCiBQQ2J1aWxkLyouKnNkZgotUENidWlsZC9XaW4zMi10ZW1wLSoKLVBDYnVpbGQveDY0LXRlbXAtKgogUENidWlsZC8qLXBnaQogUENidWlsZC8qLXBnbwogUENidWlsZC9hbWQ2NAotUENidWlsZC9pcGNoCitQQ2J1aWxkL29iagorUENidWlsZC93aW4zMgogVG9vbHMvdW5pY29kZS9idWlsZC8KIFRvb2xzL3VuaWNvZGUvTUFQUElOR1MvCiBCdWlsZExvZy5odG0KIF9fcHljYWNoZV9fCi1Nb2R1bGVzL19mcmVlemVfaW1wb3J0bGliCi1Nb2R1bGVzL190ZXN0ZW1iZWQKK1Byb2dyYW1zL19mcmVlemVfaW1wb3J0bGliCitQcm9ncmFtcy9fdGVzdGVtYmVkCiAuY292ZXJhZ2UKIGNvdmVyYWdlLwogZXh0ZXJuYWxzLwpAQCAtOTgsMyArOTAsNiBAQAogKi5nY25vCiAqLmdjb3YKIGNvdmVyYWdlLmluZm8KK1Rvb2xzL21zaS9vYmoKK1Rvb2xzL3NzbC9hbWQ2NAorVG9vbHMvc3NsL3dpbjMyCmRpZmYgLS1naXQgYS8uaGd0YWdzIGIvLmhndGFncwppbmRleCBiMWU4ZWVlLi5hMmNhZjc3IDEwMDY0NAotLS0gYS8uaGd0YWdzCisrKyBiLy5oZ3RhZ3MKQEAgLTEsMTQ1ICsxLDE0NiBAQAotNjRjYzU0MzllMTBhNmZkZjk4NGVmZmFmMDE0MWU5NGZhNGNjMTAwNCB2MC45LjgKLTc4YTdlZDY5NTMwMjVlN2VjZGRlOTU4NTA5OWIwMWE2YWU0MGI3NmEgdjAuOS45Ci1iMTViOGNjOWI4ZDEwZTAzNTJhMGI4YjdlOGQ1MWZhMzA5ZGI2ZGYzIHYxLjAuMQotMDMyNmI1ZDYxNDQ1ZWUzYThkM2RlMjgxMTlmOTY1MmNiNzJkMmUzZiB2MS4wLjIKLTgzMjYxNWVjMDc2NDZlMzEwYzg1MzE2YjhiYTZiYzliMTdhZDM1NDcgdjEuMQotOTg5NTQ3NWQxOGM3YjVmMzJhZGFmNzhmNzE4ODZhZTA0MWU0ZDEwYyB2MS4xLjEKLTE2ZWI0YzUxZWU5NzE2OTA0NjM0MDk5OGU4NTBhNjNjNjUyMjViMGEgdjEuMmIxCi1iNDVjNjg4NzU2ZDA0ZmI4NGQ0YTBkNTE4ZmMzZDdlM2NiMjVmYThkIHYxLjJiMgotOWU4MmRhZjc2MDViYWQ3OTc2YTlhYmM5OTdjYjVlMGFiZTQzNDA3OCB2MS4yYjMKLTA2NWUzMWNmNTg2MmUyNzUyMWNmNTcyNWIwMDNhZWQyMTFmMDkxYjIgdjEuMmI0Ci1lNzIyNTdlNjU1NDU0ZDU2OTQ2OGRhOGIxMTg5ZTBlYzMzNmYzNTM2IHYxLjIKLWU2M2Q4M2Y4Mjc1ODUzYWFhYTNkMTk3MmNiODY1NjQ1MDVlNjU1ODMgdjEuM2IxCi03ZDc0M2M4NjVhOWFhNmJkZThiNjAzZTMyZTA1NDIwMzFiYmEzYzMzIHYxLjMKLTRmYzg1YzgyY2MyMjI1NTRhZTZiOWMwYjg3Nzc2ZWQ1ZjJiNzBjNmUgdjEuNGIxCi0xMjlmMTI5OWQ0ZTk3ZTg4NGJiYmJkZDAwYmFmMTAxZDE3ODk3M2U2IHYxLjRiMgotNDRhODJhYzY1NGE0MTc1NTY5ZGVlZDhlOGE5NGIwY2M4ZWRlZTA4ZCB2MS40YjMKLWRiNDk0OTRjOTNkYzczZGUwNmQ1NzIxYzc0ZWFiNTMzYTk0N2E5MmMgdjEuNAotMDYyYWVkOGE0Y2UyYzkxYzgxYjgwZTI5ZjAyZmFmZjFjZjVhNzYxYiB2MS41YTEKLWM5NDk4YWM5ODgzNzI1NzVjZjcwMjhiODYzOTViOTAwYzliMGE4NDAgdjEuNWEyCi1kYzVjOTY4ZWM5OTJhYWIzZDQwYTcxODlkZjBjNDQzZDFjN2ExYTY4IHYxLjVhMwotNzQ2NjU0YTBhZjY4MGM3ZDliODE0YjIxMGEwMjZlYjkxYmVjOTUzMyB2MS41YTQKLThmZjU4YjU3MzBmMDZiZTA4ZmJiZGMyYmY1OTIyMjZmN2E3MzYyMDEgdjEuNWIxCi1lYjc4NjU4ZDgxOWZiMGFmMDlhOGU2ZjliZWRjYjY3MDgwNWVkNWY2IHYxLjViMgotODQ0NjEwMTFhMWEwYWI0MDJlMzUyZjA2NzQ4ZjI5ZmI1YjU1NTllNSB2MS41Ci00NGFiYTRkMjZiMDFmYmFlMDQwM2VmZTY1NGY5ZmQwMzQ3NjA2NzMyIHYxLjUuMQotZmVkNjNjY2JlNmRjM2FjNjYzYmZlOTdhMmY3MDA2YjFiMjg1NjhmOSB2MS41LjJhMQotMjFkNzFmMmUyNzI0OGEwZjRlMzkzZDBmYzMyMWVjZjliODkzMjFkMiB2MS41LjJhMgotZjA4YzdhMmE1NmY4MDc0MWY1ZjE5MmZkMGViZTBiMDk2N2EyMDNjZiB2MS41LjJiMQotOGZlN2VjNGI0ZmMxNTE4ZmNhYzg5ZTZiZjY3NGZiYmNlMTYxNTBhOSB2MS41LjJiMgotMzlmYjBkY2M4M2RjMzc1YzE1NjViYTY1ZGJjZTBlZDU5YjEzNTljOSB2MS41LjJjMQotNjFjOTFjN2YxMDFiYWIzMTQ5YWRmY2Q1NjQ2YWU0MGUwNDhkZTcxMiB2MS41LjIKLTYwNWViOTMyNmZmZTFmZDFlNDNmNDBlMjMzOGQ2NjUyYWI0NDlmZGYgdjEuNmExCi0wMTFiZWU4ZmQ5ZjdmNGRhNDU3ZWM3MTU5NjQ4NGZiMDg4MmMwNjE0IHYxLjZhMgotMzVjNGZjMTQxNGE1OTg4ODYxNGI5YmU3ODRhMjVmMjMzYmE2Nzk4NCB2Mi4wYjEKLTU1YmJhMTk3ZDQ4NzBjZGFlNjJhZWNhMDBlMjAyNDBhNzU2Yjg0ZjggdjIuMGIyCi1lMjc2MzI5Y2NlMDM2YTVmOWU5ZDM0NTEyNTZkY2E1OTg0ZTU0M2RjIHYyLjBjMQotMmZhNGUzNTA4M2UwMjM0MmNhMDE0YmY1YmZiYTQ2YWVjYjgxNmMzMSB2Mi4wCi1iNjA4MzFlZWFiNWEwNmRkM2M1ZTgyOTdhOTllMzkyOTdhYTg3OTRiIHYyLjFhMQotYjM4MmYxZjA3ZWM2YjJjOTU1NTE2NThiMzBjNjEzOWVlYjMyMDc3YSB2Mi4xYTIKLWQwYzgzMGRiNWU2OGVkZDRhYWEzNDAxMjE2ZTYxMGM5ZmYxNDU4MjYgdjIuMWIxCi1iNTlhNTM2YWUxZWYzNzc0ZmQ4NWMxN2Y2MjNlODkyNmI3YjZjMDk1IHYyLjFiMgotZDYxMTI3NmU5YWQ1M2I1ZDMyZDFlODA2NWUxZDgxMWMzMmY3ZDk2ZiB2Mi4xYzEKLWZmMDY1ZTY3NGFmNmM5YWI4OTViZDllZmY3ZDllOTAzOWEzNzZjN2QgdjIuMWMyCi0wMjBlOTVkODE4MGQ3OTQzZmU1NDcwMWUxZGIwYTdkN2Q4N2UyYjFlIHYyLjEKLTA4Nzk2YTEzN2YxYWRhMjQ2MmY3YTMxNzczMDZkZjVmNjdhNzY3ZTEgdjIuMmEzCi1kMDU0YzI5NjQ3ZjkwYmNjYjgzNDViZDc3OWJjYTFlZWNmMmRkN2YyIHYyLjNjMQotZmNlNWM5ZTlhYmM3MjIzOTRjYjJlOTA5YjdlMmEzOTA4MGQ0NDQ4ZSB2Mi4zYzIKLTkyY2E2NThmZDQyMDA5NWI2Mjg0YzljZTZlOTA4MmE4MDI4NWVjOWMgdjIuNGExCi0wNTVmYzY5NTVmM2M2NTIyYmZlYjdlZDRjNjcxYzk3ZDViYWFhYWMyIHYyLjRhMgotMTg2YjcyNTUwZTUzNTMzZWY2MTc1ZjY0MTFmOTMyYzEyOTgxOTNkNyB2Mi40YTMKLTUzY2ZmMDQyODM4NTVhZGY4OGVkMGMwZmQzNjk4ODI3Y2E4NDM2MzcgdjIuNGIxCi03ZTM4N2E5ZGNjNzk5NTRhNzc2OTVhZGVmOGI1OTNkYTM1YmUxMjE0IHYyLjRiMgotZmY4MGQ4YmJlZjZlMTM0MjZjOGE4NWQ3ZjlkODM3YjhmOGY4OTgzNCB2Mi40YzEKLWYzMWUxOGQzMTNjN2E0ZmM2NjkxNGIyZDI3ZTEzMGEwZjcyYzBiNjkgdjIuNAotY2QzZjc4M2NkMDhhMTY3ODFlMjM2YzBiOWNiNTcxN2QxZDk5NWZhOSB2My4wYTEKLTY1ZTgyMTQwZTI4MWJmMjZmMmUyMmVkYTA1YTdmOTk1NmM0MjBmOGIgdjMuMGEyCi1kZjE1ODI3ZjM0ODgxYjlhZjA5MzYzNTA4MTNjZWQ1YzEyM2M4MjMwIHYzLjBhMwotMTVmNzczZjczMDBlMzcyYzU2YTIxZDU5ZmU0OWNhMjY5NTVhNjQ3NyB2My4wYTQKLWUzNTkzNTQ3NTE1MzM3N2Q2NzI3ZDY0ZTZjNTJmNzJjM2I4NDAxNWIgdjMuMGE1Ci1hMzM1YzRkNjQzYjFjZmUxNDE5N2E5ZWYxOTVjOWIyODA0ZjYwOGZjIHYzLjBiMQotMTZlYzRiYjE0YTY4ZWE0MjhhY2YwOWViZjBjOTI5ODFkYTI2NDZmMyB2My4wYjIKLTUwOWUzMGE3OTY4ZTAxYmUzMjllYzEyMTU0MGIzZTc1NWZjNGU1NjYgdjMuMGIzCi01MDdlZGU5YzdmN2Y0NzVkZmFmYmQ0YTUyYzIyZDc2N2QxMGEyYmMwIHYzLjByYzEKLThmYWU0NjVhMzk2MjdiNTkwMzg1NDYyZTYwOTVlYjYzYWY0NTI0MGEgdjMuMHJjMgotZTgzYTYwYzY5ZDUzZjU1NTFhMzA2ZTc3YTZkMzhlOWIxMTQ4NTQ5NiB2My4wcmMzCi1iYzFjZTM2ODk4NmU0NWIxZmFmOTZmOTM5OTVkZjQ2YmNkNzVlN2I4IHYzLjFhMQotZWU0MzBlNTA3NWRiMmFkZjgxMjRlNmI5NDkxNmE4OWNhNDFkMzE3MSB2My4xYTIKLWI2MzAyMDc5N2Y5Njc4YWRhZjRkMmMzZTI2NTc0YTllZWYyZWYwMjggdjMuMWIxCi00MzUzZmQwODQzY2IzMWIzNTZhZGM1MGY5M2QyMjBlMmU3MjU1ZWYyIHYzLjFyYzEKLTBiODdlNDM4ZTFiNTNlM2Y4MTJjYWQ5NjNhN2ZkYjY1ZDE5OGJhMmYgdjMuMXJjMgotYTY5YTAzMWFjMTQwMmRlZGU4YjFlZjgwMDk2NDM2YmNhNmQzNzFmMyB2My4xCi0zNWVmYjEwNTRlYzZjZWNhNzIwMTdhNTg3MjYzY2I2YTkyNTczNDBiIHYzLjEuMXJjMQotOGI5YzBmNTczYWIyOWM0MWM2YzVmZGNjYTgyYTFmZTBmZjUzNTVhZiB2My4xLjEKLTE0OWI4Yjg3NTE0ZDEwNDE2YjU5ODg4NGRiNWY3NDY1MWY2MjViMzggdjMuMS4ycmMxCi05NjBlZmEzMjdjNWQ5YzE4ZGY5OTU0MzdiMGFjNTUwY2I4OWM5Zjg1IHYzLjEuMgotZDE4ZTlkNzFmMzY5ZDgyMTFmNmFjODcyNTJjNmQzMjExZjliZDA5ZiB2My4xLjNyYzEKLWE0Zjc1NzczYzAwNjBjZWUzOGIwYmI2NTFhN2FiYTZmNTZiMGU5OTYgdjMuMS4zCi0zMmZjYjllOTQ5ODVjYjE5Y2UzN2JhOTU0M2YwOTFjMGRiZTlkN2RkIHYzLjEuNHJjMQotYzkxOGVjOWYzYTc2ZDZhZmVkZmJiNWQ0NTUwMDRkZTg4MDQ0M2EzZCB2My4xLjQKLWVlMjZhY2EzMjE5Y2Y0YmIwYjkzMzUyZTgzZWRjYzljYjI4Yzc4MDIgdjMuMS41cmMxCi03NWRiMmJjNjlmYzlhM2U0ODAxZTk0ZTNlMTk4MDFjYjA5NjIwOGQ4IHYzLjEuNXJjMgotNzM5NTMzMGU0OTVlYzMzMTY4NjJjYTFmNmNlMGFhZjdiZGY2Nzg1YiB2My4xLjUKLWIzN2I3ODM0NzU3NDkyZDAwOWI5OWNmMGNhNGQ0MmQyMTUzZDdmYWMgdjMuMmExCi01NmQ0MzczY2VjYjczYzhiNDUxMjZiYTdiMDQ1YjNjN2IzZjk0YjBiIHYzLjJhMgotZGEwMTJkOWEyYzIzZDE0NGUzOTlkMmUwMWE1NWI4YTgzYWQ5NDU3MyB2My4yYTMKLWQ5MmE1Yjg1MGY1ZTU2ODA4YmVkYzAxNzIzOTA2ZWQ2NGM1ZTZlMmUgdjMuMmE0Ci1iNjM1Y2VhOTQxOTU3ODBjODcxNmUyMzY0NzlhZjMxOWJjYzI2MjUzIHYzLjJiMQotZTNhZjVmM2E3OTA0YzBkNTM0M2VjOTYzM2VhNjZlN2FjZmQyM2E2NiB2My4yYjIKLTg2NWQ1YjI0YmYyOGNhNDFiNTM2YmVmYzMyNjQwN2MwM2U3NGE0ZDUgdjMuMnJjMQotYWNmM2UyNGRkMGQwZGZkMWUyMGM5MDdkNjk2ZDNkYTk2NWE4ZjU2ZiB2My4ycmMyCi0xOGMxZjUyODk2NTAxYzdlZTEzYjAzODQ1NGEzOWFjYjQ1YTg3OTc5IHYzLjJyYzMKLWEyMjJhMDE1ZTI4ZDhhZTlhZjM4OTkyNThkYzZjMTVjM2Q0MGFkZDAgdjMuMgotOGZmYWMyMzM3YTMzMjMzMjNkMDIxNTNhYzkxOWZkMTQ4MzE3NjY1MiB2My4yLjFiMQotY2ZhOTM2NDk5N2M3ZjJlNjdiOWNiYjQ1YzNhNWZhM2JiYTRlNDk5OSB2My4yLjFyYzEKLTVkZjU0OTcxOGZiNDg0MWZmNTIxZmUwNTFmNmI1NGYyOTBmYWQ1ZDggdjMuMi4xcmMyCi1hYzFmN2U1YzA1MTA0ZDU1N2Q1YWNkOTIyZTk1NjI1YmE1ZDFmZTEwIHYzLjIuMQotYzg2MGZlYWEzNDhkNjYzZTU5ODk4Njg5NGVlNDY4MDQ4MDU3N2UxNSB2My4yLjJyYzEKLTEzN2U0NWYxNWMwYmQyNjJjOWFkNGMwMzJkOTc0MjViYzA1ODk0NTYgdjMuMi4yCi03MDg1NDAzZGFmNDM5YWRiM2Y5ZTcwZWYxM2Y2YmVkYjFjNDQ3Mzc2IHYzLjIuM3JjMQotNDI4ZjA1Y2I3Mjc3ZTFkNDJiYjlkZDhkMWFmNmI2MjcwZWJjNjExMiB2My4yLjNyYzIKLTNkMDY4NmQ5MGY1NWE3OGY5NmQ5NDAzZGEyYzUyZGMyNDExNDE5ZDAgdjMuMi4zCi1iMmNiN2JjMWVkYjg0OTNjMGE3OGY5MzMxZWFlM2U4ZmJhNmE4ODFkIHYzLjIuNHJjMQotMWUxMGJkZWFiZTNkZTAyZjAzOGE2M2MwMDE5MTE1NjFhYzFkMTNhNyB2My4yLjQKLWNlZjc0NTc3NWI2NTgzNDQ2NTcyY2ZmYWQ3MDQxMDA5ODNkYjJiZWEgdjMuMi41Ci01MTM4MmE1NTk4ZWM5NjExOWNiODQ1OTQ1NzI5MDFjOWM5NjRkYzNjIHYzLjIuNnJjMQotMGJkNWY0ZjE0ZGU5NjVjYThlNDRjNmUzOTY1ZmVlMTA2MTc2Y2ZjNCB2My4yLjYKLWYxYTlhNjUwNTczMTcxNGYwZTE1NzQ1M2ZmODUwZTNiNzE2MTVjNDUgdjMuMy4wYTEKLTJmNjlkYjUyZDZkZTMwNmNkYWVmMGEwY2MwMGNjODIzZmIzNTBiMDEgdjMuMy4wYTIKLTBiNTNiNzBhNDBhMDAwMTM1MDVlYjM1ZTM2NjAwNTdiNjJiZTc3YmUgdjMuMy4wYTMKLTdjNTEzODhhM2FhN2NlNzZhODU0MWJiYmRmYzA1ZDJkMjU5YTE2MmMgdjMuMy4wYTQKLWUxNWM1NTRjZDQzZWIyM2JjMGE1MjhhNGU4NzQxZGE5YmJlYzk2MDcgdjMuMy4wYjEKLTQ5NzJhOGYxYjJhYTNkN2NkZDY0ZGM5NmFhN2ZhMTEyZmUxZWEzNDMgdjMuMy4wYjIKLThiYjVjN2JjNDZiYTQzODA0NDgwZjNlMzI4ZTFmYTk1NjY3MmM4ODUgdjMuMy4wcmMxCi04OGEwNzkyZThiYTNlNDkxNmIyNGM3ZTdhNTIyYzI3N2QzMjZkNjZlIHYzLjMuMHJjMgotYzE5MWQyMWNlZmFmYjM4MzJjNDU1NzBlODQ4NTRlMzA5YWE2MmVhYSB2My4zLjByYzMKLWJkOGFmYjkwZWJmMjhiYTRlZGM5MDFkNGEyMzVmNzVlN2JiYzc5ZmQgdjMuMy4wCi05MmMyY2ZiOTI0MDU1Y2U2OGM0Zjc4ZjgzNmRjZmU2ODg0MzdjZWI4IHYzLjMuMXJjMQotZDk4OTNkMTNjNjI4OWFhMDNkMzM1NTllYzY3Zjk3ZGNiZjVjOWUzYyB2My4zLjEKLWQwNDc5MjhhZTNmNjMxNGExM2I2MTM3MDUxMzE1NDUzZDBhZTg5YjYgdjMuMy4yCi1mZDUzYzUwMGY4YjgwZjU0ZjNlY2VkZWM5ZGEyZThjN2U1MmE2ODg4IHYzLjMuM3JjMQotZDMyNDQyYzBlNjBkZmJkNzEyMzRlODA3ZDNkMWRlZGQyMjc0OTVhOSB2My4zLjNyYzIKLWMzODk2Mjc1YzBmNjFiMjUxMGE2YzdlNmM0NThhNzUwMzU5YTkxYjggdjMuMy4zCi1mYTkyZjVmOTQwYzZjMGQ4MzlkN2YwNjExZTRiNzE3NjA2NTA0YTNjIHYzLjMuNHJjMQotN2ZmNjI0MTVlNDI2M2M0MzJjOGFjZjZlNDI0MjI0MjA5MjExZWFkYiB2My4zLjQKLTllYzgxMWRmNTQ4ZWQxNTRhOWJmOTgxNTM4M2E5MTZkNmRmMzFiOTggdjMuMy41cmMxCi1jYTU2MzVlZmUwOTBmNzg4MDYxODhhYzI3NThmOTk0ODU5NmFhOGIyIHYzLjMuNXJjMgotNjJjZjRlNzdmNzg1NjQ3MTRlN2VhM2Q0YmYxNDc5Y2ExZmJkMDc1OCB2My4zLjUKLTUxMzE3Yzk3ODZmNTQyNjc5NzVhYmYyZTljNTAyZTZhYWFhNGEyNDkgdjMuMy42cmMxCi05NzFmZWMzMGRhMWZjNWJmMmI5ZmIyOGUwOTgxMmE1MTI3MDE0MjExIHYzLjMuNgotNDY1MzVmNjVlN2YzYmNkY2YxNzZmMzZkMzRiYzFmZWQ3MTlmZmQyYiB2My40LjBhMQotOTI2NWEyMTY4ZTJjYjJhODQ3ODVkODcxNzc5MmFjYzY2MWU2YjY5MiB2My40LjBhMgotZGQ5Y2RmOTBhNTA3MzUxMDg3N2U5ZGQ1MTEyZjhlNmNmMjBkNWU4OSB2My40LjBhMwotZTI0NWIwZDcyMDliYjZkMGUxOTMxNmUxZTJhZjFhYTljMjEzOTEwNCB2My40LjBhNAotMzQwNWRjOWE2YWZhYTBhMDZkZDFmNmYxODJlYzVjOTk4ZGNlNmY1ZiB2My40LjBiMQotYmEzMjkxM2ViMTNlYzU0NWE0NmRkMGNlMTgwMzViNmM0MTZmMGQ3OCB2My40LjBiMgotYTk3Y2UzZWNjOTZhZjc5YmQyZTFhYzY2Y2U0OGQ5MTM4ZTBjYTc0OSB2My40LjBiMwotNWUwODhjZWE4NjYwNjc3OTY5MTEzNzQxYzEzMTNkNTcwZDk3N2UwMiB2My40LjByYzEKLWEzMDA3MTJlZDM4YzlhMjQyYjczNmM0NGU4MDZjYWVhMjVhNmRjMDUgdjMuNC4wcmMyCi04YTgxY2RhYjNlOWQ1MjFkYWFlZjk4OWZhZGU5NGIxNjQ1NWZjM2I4IHYzLjQuMHJjMwotMDRmNzE0NzY1YzEzODI0YzNiYzI4MzVkN2IwMDg5MDg4NjJlMDgzYSB2My40LjAKLWM2N2ExOWUxMWE3MTkxYmFmMzBmMzEzYmY1NWUyZTBiNmM2ZjU3NGUgdjMuNC4xcmMxCi1jMGUzMTFlMDEwZmNiNWJhZThkODdjYTIyMDUxY2QwODQ1ZWEwY2EwIHYzLjQuMQotODcxMWEwOTUxMzg0OGNmYzQ4YzY4OWQ5ODM0OTVlZTY0ZjQ2NjhjYSB2My40LjJyYzEKLWFiMmMwMjNhOTQzMmYxNjY1MmU4OWM0MDRiYmM4NGFhOTFiZjU1YWYgdjMuNC4yCi02OWRkNTI4Y2E2MjU1YTY2YzM3Y2M1Y2Y2ODBlODM1N2QxMDhiMDM2IHYzLjQuM3JjMQorNjRjYzU0MzllMTBhNmZkZjk4NGVmZmFmMDE0MWU5NGZhNGNjMTAwNCB2MC45LjgNCis3OGE3ZWQ2OTUzMDI1ZTdlY2RkZTk1ODUwOTliMDFhNmFlNDBiNzZhIHYwLjkuOQ0KK2IxNWI4Y2M5YjhkMTBlMDM1MmEwYjhiN2U4ZDUxZmEzMDlkYjZkZjMgdjEuMC4xDQorMDMyNmI1ZDYxNDQ1ZWUzYThkM2RlMjgxMTlmOTY1MmNiNzJkMmUzZiB2MS4wLjINCis4MzI2MTVlYzA3NjQ2ZTMxMGM4NTMxNmI4YmE2YmM5YjE3YWQzNTQ3IHYxLjENCis5ODk1NDc1ZDE4YzdiNWYzMmFkYWY3OGY3MTg4NmFlMDQxZTRkMTBjIHYxLjEuMQ0KKzE2ZWI0YzUxZWU5NzE2OTA0NjM0MDk5OGU4NTBhNjNjNjUyMjViMGEgdjEuMmIxDQorYjQ1YzY4ODc1NmQwNGZiODRkNGEwZDUxOGZjM2Q3ZTNjYjI1ZmE4ZCB2MS4yYjINCis5ZTgyZGFmNzYwNWJhZDc5NzZhOWFiYzk5N2NiNWUwYWJlNDM0MDc4IHYxLjJiMw0KKzA2NWUzMWNmNTg2MmUyNzUyMWNmNTcyNWIwMDNhZWQyMTFmMDkxYjIgdjEuMmI0DQorZTcyMjU3ZTY1NTQ1NGQ1Njk0NjhkYThiMTE4OWUwZWMzMzZmMzUzNiB2MS4yDQorZTYzZDgzZjgyNzU4NTNhYWFhM2QxOTcyY2I4NjU2NDUwNWU2NTU4MyB2MS4zYjENCis3ZDc0M2M4NjVhOWFhNmJkZThiNjAzZTMyZTA1NDIwMzFiYmEzYzMzIHYxLjMNCis0ZmM4NWM4MmNjMjIyNTU0YWU2YjljMGI4Nzc3NmVkNWYyYjcwYzZlIHYxLjRiMQ0KKzEyOWYxMjk5ZDRlOTdlODg0YmJiYmRkMDBiYWYxMDFkMTc4OTczZTYgdjEuNGIyDQorNDRhODJhYzY1NGE0MTc1NTY5ZGVlZDhlOGE5NGIwY2M4ZWRlZTA4ZCB2MS40YjMNCitkYjQ5NDk0YzkzZGM3M2RlMDZkNTcyMWM3NGVhYjUzM2E5NDdhOTJjIHYxLjQNCiswNjJhZWQ4YTRjZTJjOTFjODFiODBlMjlmMDJmYWZmMWNmNWE3NjFiIHYxLjVhMQ0KK2M5NDk4YWM5ODgzNzI1NzVjZjcwMjhiODYzOTViOTAwYzliMGE4NDAgdjEuNWEyDQorZGM1Yzk2OGVjOTkyYWFiM2Q0MGE3MTg5ZGYwYzQ0M2QxYzdhMWE2OCB2MS41YTMNCis3NDY2NTRhMGFmNjgwYzdkOWI4MTRiMjEwYTAyNmViOTFiZWM5NTMzIHYxLjVhNA0KKzhmZjU4YjU3MzBmMDZiZTA4ZmJiZGMyYmY1OTIyMjZmN2E3MzYyMDEgdjEuNWIxDQorZWI3ODY1OGQ4MTlmYjBhZjA5YThlNmY5YmVkY2I2NzA4MDVlZDVmNiB2MS41YjINCis4NDQ2MTAxMWExYTBhYjQwMmUzNTJmMDY3NDhmMjlmYjViNTU1OWU1IHYxLjUNCis0NGFiYTRkMjZiMDFmYmFlMDQwM2VmZTY1NGY5ZmQwMzQ3NjA2NzMyIHYxLjUuMQ0KK2ZlZDYzY2NiZTZkYzNhYzY2M2JmZTk3YTJmNzAwNmIxYjI4NTY4ZjkgdjEuNS4yYTENCisyMWQ3MWYyZTI3MjQ4YTBmNGUzOTNkMGZjMzIxZWNmOWI4OTMyMWQyIHYxLjUuMmEyDQorZjA4YzdhMmE1NmY4MDc0MWY1ZjE5MmZkMGViZTBiMDk2N2EyMDNjZiB2MS41LjJiMQ0KKzhmZTdlYzRiNGZjMTUxOGZjYWM4OWU2YmY2NzRmYmJjZTE2MTUwYTkgdjEuNS4yYjINCiszOWZiMGRjYzgzZGMzNzVjMTU2NWJhNjVkYmNlMGVkNTliMTM1OWM5IHYxLjUuMmMxDQorNjFjOTFjN2YxMDFiYWIzMTQ5YWRmY2Q1NjQ2YWU0MGUwNDhkZTcxMiB2MS41LjINCis2MDVlYjkzMjZmZmUxZmQxZTQzZjQwZTIzMzhkNjY1MmFiNDQ5ZmRmIHYxLjZhMQ0KKzAxMWJlZThmZDlmN2Y0ZGE0NTdlYzcxNTk2NDg0ZmIwODgyYzA2MTQgdjEuNmEyDQorMzVjNGZjMTQxNGE1OTg4ODYxNGI5YmU3ODRhMjVmMjMzYmE2Nzk4NCB2Mi4wYjENCis1NWJiYTE5N2Q0ODcwY2RhZTYyYWVjYTAwZTIwMjQwYTc1NmI4NGY4IHYyLjBiMg0KK2UyNzYzMjljY2UwMzZhNWY5ZTlkMzQ1MTI1NmRjYTU5ODRlNTQzZGMgdjIuMGMxDQorMmZhNGUzNTA4M2UwMjM0MmNhMDE0YmY1YmZiYTQ2YWVjYjgxNmMzMSB2Mi4wDQorYjYwODMxZWVhYjVhMDZkZDNjNWU4Mjk3YTk5ZTM5Mjk3YWE4Nzk0YiB2Mi4xYTENCitiMzgyZjFmMDdlYzZiMmM5NTU1MTY1OGIzMGM2MTM5ZWViMzIwNzdhIHYyLjFhMg0KK2QwYzgzMGRiNWU2OGVkZDRhYWEzNDAxMjE2ZTYxMGM5ZmYxNDU4MjYgdjIuMWIxDQorYjU5YTUzNmFlMWVmMzc3NGZkODVjMTdmNjIzZTg5MjZiN2I2YzA5NSB2Mi4xYjINCitkNjExMjc2ZTlhZDUzYjVkMzJkMWU4MDY1ZTFkODExYzMyZjdkOTZmIHYyLjFjMQ0KK2ZmMDY1ZTY3NGFmNmM5YWI4OTViZDllZmY3ZDllOTAzOWEzNzZjN2QgdjIuMWMyDQorMDIwZTk1ZDgxODBkNzk0M2ZlNTQ3MDFlMWRiMGE3ZDdkODdlMmIxZSB2Mi4xDQorMDg3OTZhMTM3ZjFhZGEyNDYyZjdhMzE3NzMwNmRmNWY2N2E3NjdlMSB2Mi4yYTMNCitkMDU0YzI5NjQ3ZjkwYmNjYjgzNDViZDc3OWJjYTFlZWNmMmRkN2YyIHYyLjNjMQ0KK2ZjZTVjOWU5YWJjNzIyMzk0Y2IyZTkwOWI3ZTJhMzkwODBkNDQ0OGUgdjIuM2MyDQorOTJjYTY1OGZkNDIwMDk1YjYyODRjOWNlNmU5MDgyYTgwMjg1ZWM5YyB2Mi40YTENCiswNTVmYzY5NTVmM2M2NTIyYmZlYjdlZDRjNjcxYzk3ZDViYWFhYWMyIHYyLjRhMg0KKzE4NmI3MjU1MGU1MzUzM2VmNjE3NWY2NDExZjkzMmMxMjk4MTkzZDcgdjIuNGEzDQorNTNjZmYwNDI4Mzg1NWFkZjg4ZWQwYzBmZDM2OTg4MjdjYTg0MzYzNyB2Mi40YjENCis3ZTM4N2E5ZGNjNzk5NTRhNzc2OTVhZGVmOGI1OTNkYTM1YmUxMjE0IHYyLjRiMg0KK2ZmODBkOGJiZWY2ZTEzNDI2YzhhODVkN2Y5ZDgzN2I4ZjhmODk4MzQgdjIuNGMxDQorZjMxZTE4ZDMxM2M3YTRmYzY2OTE0YjJkMjdlMTMwYTBmNzJjMGI2OSB2Mi40DQorY2QzZjc4M2NkMDhhMTY3ODFlMjM2YzBiOWNiNTcxN2QxZDk5NWZhOSB2My4wYTENCis2NWU4MjE0MGUyODFiZjI2ZjJlMjJlZGEwNWE3Zjk5NTZjNDIwZjhiIHYzLjBhMg0KK2RmMTU4MjdmMzQ4ODFiOWFmMDkzNjM1MDgxM2NlZDVjMTIzYzgyMzAgdjMuMGEzDQorMTVmNzczZjczMDBlMzcyYzU2YTIxZDU5ZmU0OWNhMjY5NTVhNjQ3NyB2My4wYTQNCitlMzU5MzU0NzUxNTMzNzdkNjcyN2Q2NGU2YzUyZjcyYzNiODQwMTViIHYzLjBhNQ0KK2EzMzVjNGQ2NDNiMWNmZTE0MTk3YTllZjE5NWM5YjI4MDRmNjA4ZmMgdjMuMGIxDQorMTZlYzRiYjE0YTY4ZWE0MjhhY2YwOWViZjBjOTI5ODFkYTI2NDZmMyB2My4wYjINCis1MDllMzBhNzk2OGUwMWJlMzI5ZWMxMjE1NDBiM2U3NTVmYzRlNTY2IHYzLjBiMw0KKzUwN2VkZTljN2Y3ZjQ3NWRmYWZiZDRhNTJjMjJkNzY3ZDEwYTJiYzAgdjMuMHJjMQ0KKzhmYWU0NjVhMzk2MjdiNTkwMzg1NDYyZTYwOTVlYjYzYWY0NTI0MGEgdjMuMHJjMg0KK2U4M2E2MGM2OWQ1M2Y1NTUxYTMwNmU3N2E2ZDM4ZTliMTE0ODU0OTYgdjMuMHJjMw0KK2JjMWNlMzY4OTg2ZTQ1YjFmYWY5NmY5Mzk5NWRmNDZiY2Q3NWU3YjggdjMuMWExDQorZWU0MzBlNTA3NWRiMmFkZjgxMjRlNmI5NDkxNmE4OWNhNDFkMzE3MSB2My4xYTINCitiNjMwMjA3OTdmOTY3OGFkYWY0ZDJjM2UyNjU3NGE5ZWVmMmVmMDI4IHYzLjFiMQ0KKzQzNTNmZDA4NDNjYjMxYjM1NmFkYzUwZjkzZDIyMGUyZTcyNTVlZjIgdjMuMXJjMQ0KKzBiODdlNDM4ZTFiNTNlM2Y4MTJjYWQ5NjNhN2ZkYjY1ZDE5OGJhMmYgdjMuMXJjMg0KK2E2OWEwMzFhYzE0MDJkZWRlOGIxZWY4MDA5NjQzNmJjYTZkMzcxZjMgdjMuMQ0KKzM1ZWZiMTA1NGVjNmNlY2E3MjAxN2E1ODcyNjNjYjZhOTI1NzM0MGIgdjMuMS4xcmMxDQorOGI5YzBmNTczYWIyOWM0MWM2YzVmZGNjYTgyYTFmZTBmZjUzNTVhZiB2My4xLjENCisxNDliOGI4NzUxNGQxMDQxNmI1OTg4ODRkYjVmNzQ2NTFmNjI1YjM4IHYzLjEuMnJjMQ0KKzk2MGVmYTMyN2M1ZDljMThkZjk5NTQzN2IwYWM1NTBjYjg5YzlmODUgdjMuMS4yDQorZDE4ZTlkNzFmMzY5ZDgyMTFmNmFjODcyNTJjNmQzMjExZjliZDA5ZiB2My4xLjNyYzENCithNGY3NTc3M2MwMDYwY2VlMzhiMGJiNjUxYTdhYmE2ZjU2YjBlOTk2IHYzLjEuMw0KKzMyZmNiOWU5NDk4NWNiMTljZTM3YmE5NTQzZjA5MWMwZGJlOWQ3ZGQgdjMuMS40cmMxDQorYzkxOGVjOWYzYTc2ZDZhZmVkZmJiNWQ0NTUwMDRkZTg4MDQ0M2EzZCB2My4xLjQNCitlZTI2YWNhMzIxOWNmNGJiMGI5MzM1MmU4M2VkY2M5Y2IyOGM3ODAyIHYzLjEuNXJjMQ0KKzc1ZGIyYmM2OWZjOWEzZTQ4MDFlOTRlM2UxOTgwMWNiMDk2MjA4ZDggdjMuMS41cmMyDQorNzM5NTMzMGU0OTVlYzMzMTY4NjJjYTFmNmNlMGFhZjdiZGY2Nzg1YiB2My4xLjUNCitiMzdiNzgzNDc1NzQ5MmQwMDliOTljZjBjYTRkNDJkMjE1M2Q3ZmFjIHYzLjJhMQ0KKzU2ZDQzNzNjZWNiNzNjOGI0NTEyNmJhN2IwNDViM2M3YjNmOTRiMGIgdjMuMmEyDQorZGEwMTJkOWEyYzIzZDE0NGUzOTlkMmUwMWE1NWI4YTgzYWQ5NDU3MyB2My4yYTMNCitkOTJhNWI4NTBmNWU1NjgwOGJlZGMwMTcyMzkwNmVkNjRjNWU2ZTJlIHYzLjJhNA0KK2I2MzVjZWE5NDE5NTc4MGM4NzE2ZTIzNjQ3OWFmMzE5YmNjMjYyNTMgdjMuMmIxDQorZTNhZjVmM2E3OTA0YzBkNTM0M2VjOTYzM2VhNjZlN2FjZmQyM2E2NiB2My4yYjINCis4NjVkNWIyNGJmMjhjYTQxYjUzNmJlZmMzMjY0MDdjMDNlNzRhNGQ1IHYzLjJyYzENCithY2YzZTI0ZGQwZDBkZmQxZTIwYzkwN2Q2OTZkM2RhOTY1YThmNTZmIHYzLjJyYzINCisxOGMxZjUyODk2NTAxYzdlZTEzYjAzODQ1NGEzOWFjYjQ1YTg3OTc5IHYzLjJyYzMNCithMjIyYTAxNWUyOGQ4YWU5YWYzODk5MjU4ZGM2YzE1YzNkNDBhZGQwIHYzLjINCis4ZmZhYzIzMzdhMzMyMzMyM2QwMjE1M2FjOTE5ZmQxNDgzMTc2NjUyIHYzLjIuMWIxDQorY2ZhOTM2NDk5N2M3ZjJlNjdiOWNiYjQ1YzNhNWZhM2JiYTRlNDk5OSB2My4yLjFyYzENCis1ZGY1NDk3MThmYjQ4NDFmZjUyMWZlMDUxZjZiNTRmMjkwZmFkNWQ4IHYzLjIuMXJjMg0KK2FjMWY3ZTVjMDUxMDRkNTU3ZDVhY2Q5MjJlOTU2MjViYTVkMWZlMTAgdjMuMi4xDQorYzg2MGZlYWEzNDhkNjYzZTU5ODk4Njg5NGVlNDY4MDQ4MDU3N2UxNSB2My4yLjJyYzENCisxMzdlNDVmMTVjMGJkMjYyYzlhZDRjMDMyZDk3NDI1YmMwNTg5NDU2IHYzLjIuMg0KKzcwODU0MDNkYWY0MzlhZGIzZjllNzBlZjEzZjZiZWRiMWM0NDczNzYgdjMuMi4zcmMxDQorNDI4ZjA1Y2I3Mjc3ZTFkNDJiYjlkZDhkMWFmNmI2MjcwZWJjNjExMiB2My4yLjNyYzINCiszZDA2ODZkOTBmNTVhNzhmOTZkOTQwM2RhMmM1MmRjMjQxMTQxOWQwIHYzLjIuMw0KK2IyY2I3YmMxZWRiODQ5M2MwYTc4ZjkzMzFlYWUzZThmYmE2YTg4MWQgdjMuMi40cmMxDQorMWUxMGJkZWFiZTNkZTAyZjAzOGE2M2MwMDE5MTE1NjFhYzFkMTNhNyB2My4yLjQNCitjZWY3NDU3NzViNjU4MzQ0NjU3MmNmZmFkNzA0MTAwOTgzZGIyYmVhIHYzLjIuNQ0KKzUxMzgyYTU1OThlYzk2MTE5Y2I4NDU5NDU3MjkwMWM5Yzk2NGRjM2MgdjMuMi42cmMxDQorMGJkNWY0ZjE0ZGU5NjVjYThlNDRjNmUzOTY1ZmVlMTA2MTc2Y2ZjNCB2My4yLjYNCitmMWE5YTY1MDU3MzE3MTRmMGUxNTc0NTNmZjg1MGUzYjcxNjE1YzQ1IHYzLjMuMGExDQorMmY2OWRiNTJkNmRlMzA2Y2RhZWYwYTBjYzAwY2M4MjNmYjM1MGIwMSB2My4zLjBhMg0KKzBiNTNiNzBhNDBhMDAwMTM1MDVlYjM1ZTM2NjAwNTdiNjJiZTc3YmUgdjMuMy4wYTMNCis3YzUxMzg4YTNhYTdjZTc2YTg1NDFiYmJkZmMwNWQyZDI1OWExNjJjIHYzLjMuMGE0DQorZTE1YzU1NGNkNDNlYjIzYmMwYTUyOGE0ZTg3NDFkYTliYmVjOTYwNyB2My4zLjBiMQ0KKzQ5NzJhOGYxYjJhYTNkN2NkZDY0ZGM5NmFhN2ZhMTEyZmUxZWEzNDMgdjMuMy4wYjINCis4YmI1YzdiYzQ2YmE0MzgwNDQ4MGYzZTMyOGUxZmE5NTY2NzJjODg1IHYzLjMuMHJjMQ0KKzg4YTA3OTJlOGJhM2U0OTE2YjI0YzdlN2E1MjJjMjc3ZDMyNmQ2NmUgdjMuMy4wcmMyDQorYzE5MWQyMWNlZmFmYjM4MzJjNDU1NzBlODQ4NTRlMzA5YWE2MmVhYSB2My4zLjByYzMNCitiZDhhZmI5MGViZjI4YmE0ZWRjOTAxZDRhMjM1Zjc1ZTdiYmM3OWZkIHYzLjMuMA0KKzkyYzJjZmI5MjQwNTVjZTY4YzRmNzhmODM2ZGNmZTY4ODQzN2NlYjggdjMuMy4xcmMxDQorZDk4OTNkMTNjNjI4OWFhMDNkMzM1NTllYzY3Zjk3ZGNiZjVjOWUzYyB2My4zLjENCitkMDQ3OTI4YWUzZjYzMTRhMTNiNjEzNzA1MTMxNTQ1M2QwYWU4OWI2IHYzLjMuMg0KK2ZkNTNjNTAwZjhiODBmNTRmM2VjZWRlYzlkYTJlOGM3ZTUyYTY4ODggdjMuMy4zcmMxDQorZDMyNDQyYzBlNjBkZmJkNzEyMzRlODA3ZDNkMWRlZGQyMjc0OTVhOSB2My4zLjNyYzINCitjMzg5NjI3NWMwZjYxYjI1MTBhNmM3ZTZjNDU4YTc1MDM1OWE5MWI4IHYzLjMuMw0KK2ZhOTJmNWY5NDBjNmMwZDgzOWQ3ZjA2MTFlNGI3MTc2MDY1MDRhM2MgdjMuMy40cmMxDQorN2ZmNjI0MTVlNDI2M2M0MzJjOGFjZjZlNDI0MjI0MjA5MjExZWFkYiB2My4zLjQNCis5ZWM4MTFkZjU0OGVkMTU0YTliZjk4MTUzODNhOTE2ZDZkZjMxYjk4IHYzLjMuNXJjMQ0KK2NhNTYzNWVmZTA5MGY3ODgwNjE4OGFjMjc1OGY5OTQ4NTk2YWE4YjIgdjMuMy41cmMyDQorNjJjZjRlNzdmNzg1NjQ3MTRlN2VhM2Q0YmYxNDc5Y2ExZmJkMDc1OCB2My4zLjUNCis1MTMxN2M5Nzg2ZjU0MjY3OTc1YWJmMmU5YzUwMmU2YWFhYTRhMjQ5IHYzLjMuNnJjMQ0KKzk3MWZlYzMwZGExZmM1YmYyYjlmYjI4ZTA5ODEyYTUxMjcwMTQyMTEgdjMuMy42DQorNDY1MzVmNjVlN2YzYmNkY2YxNzZmMzZkMzRiYzFmZWQ3MTlmZmQyYiB2My40LjBhMQ0KKzkyNjVhMjE2OGUyY2IyYTg0Nzg1ZDg3MTc3OTJhY2M2NjFlNmI2OTIgdjMuNC4wYTINCitkZDljZGY5MGE1MDczNTEwODc3ZTlkZDUxMTJmOGU2Y2YyMGQ1ZTg5IHYzLjQuMGEzDQorZTI0NWIwZDcyMDliYjZkMGUxOTMxNmUxZTJhZjFhYTljMjEzOTEwNCB2My40LjBhNA0KKzM0MDVkYzlhNmFmYWEwYTA2ZGQxZjZmMTgyZWM1Yzk5OGRjZTZmNWYgdjMuNC4wYjENCitiYTMyOTEzZWIxM2VjNTQ1YTQ2ZGQwY2UxODAzNWI2YzQxNmYwZDc4IHYzLjQuMGIyDQorYTk3Y2UzZWNjOTZhZjc5YmQyZTFhYzY2Y2U0OGQ5MTM4ZTBjYTc0OSB2My40LjBiMw0KKzVlMDg4Y2VhODY2MDY3Nzk2OTExMzc0MWMxMzEzZDU3MGQ5NzdlMDIgdjMuNC4wcmMxDQorYTMwMDcxMmVkMzhjOWEyNDJiNzM2YzQ0ZTgwNmNhZWEyNWE2ZGMwNSB2My40LjByYzINCis4YTgxY2RhYjNlOWQ1MjFkYWFlZjk4OWZhZGU5NGIxNjQ1NWZjM2I4IHYzLjQuMHJjMw0KKzA0ZjcxNDc2NWMxMzgyNGMzYmMyODM1ZDdiMDA4OTA4ODYyZTA4M2EgdjMuNC4wDQorYzY3YTE5ZTExYTcxOTFiYWYzMGYzMTNiZjU1ZTJlMGI2YzZmNTc0ZSB2My40LjFyYzENCitjMGUzMTFlMDEwZmNiNWJhZThkODdjYTIyMDUxY2QwODQ1ZWEwY2EwIHYzLjQuMQ0KKzg3MTFhMDk1MTM4NDhjZmM0OGM2ODlkOTgzNDk1ZWU2NGY0NjY4Y2EgdjMuNC4ycmMxDQorYWIyYzAyM2E5NDMyZjE2NjUyZTg5YzQwNGJiYzg0YWE5MWJmNTVhZiB2My40LjINCis2OWRkNTI4Y2E2MjU1YTY2YzM3Y2M1Y2Y2ODBlODM1N2QxMDhiMDM2IHYzLjQuM3JjMQ0KKzVkNGI2YTU3ZDVmZDc1NjRiZjczZjNkYjBlNDZmZTVlZWIwMGJjZDggdjMuNS4wYTENCmRpZmYgLS1naXQgYS8uaGd0b3VjaCBiLy5oZ3RvdWNoCmluZGV4IDdlM2E1ZTcuLmI5YmUwZjEgMTAwNjQ0Ci0tLSBhLy5oZ3RvdWNoCisrKyBiLy5oZ3RvdWNoCkBAIC0yLDcgKzIsOSBAQAogIyBEZWZpbmUgZGVwZW5kZW5jaWVzIG9mIGdlbmVyYXRlZCBmaWxlcyB0aGF0IGFyZSBjaGVja2VkIGludG8gaGcuCiAjIFRoZSBzeW50YXggb2YgdGhpcyBmaWxlIHVzZXMgbWFrZSBydWxlIGRlcGVuZGVuY2llcywgd2l0aG91dCBhY3Rpb25zCiAKLVB5dGhvbi9pbXBvcnRsaWIuaDogTGliL2ltcG9ydGxpYi9fYm9vdHN0cmFwLnB5IE1vZHVsZXMvX2ZyZWV6ZV9pbXBvcnRsaWIuYworUHl0aG9uL2ltcG9ydGxpYi5oOiBMaWIvaW1wb3J0bGliL19ib290c3RyYXAucHkgUHJvZ3JhbXMvX2ZyZWV6ZV9pbXBvcnRsaWIuYworCitJbmNsdWRlL29wY29kZS5oOiAgTGliL29wY29kZS5weSBUb29scy9zY3JpcHRzL2dlbmVyYXRlX29wY29kZV9oLnB5CiAKIEluY2x1ZGUvUHl0aG9uLWFzdC5oOiBQYXJzZXIvUHl0aG9uLmFzZGwgUGFyc2VyL2FzZGwucHkgUGFyc2VyL2FzZGxfYy5weQogUHl0aG9uL1B5dGhvbi1hc3QuYzogSW5jbHVkZS9QeXRob24tYXN0LmgKZGlmZiAtLWdpdCBhL0RvYy9NYWtlZmlsZSBiL0RvYy9NYWtlZmlsZQppbmRleCBlYTMwMjMxLi4yMDBhOWY3IDEwMDY0NAotLS0gYS9Eb2MvTWFrZWZpbGUKKysrIGIvRG9jL01ha2VmaWxlCkBAIC0xNSwxMSArMTUsMTIgQEAKIAogLlBIT05ZOiBoZWxwIGJ1aWxkIGh0bWwgaHRtbGhlbHAgbGF0ZXggdGV4dCBjaGFuZ2VzIGxpbmtjaGVjayBcCiAJc3VzcGljaW91cyBjb3ZlcmFnZSBkb2N0ZXN0IHB5ZG9jLXRvcGljcyBodG1sdmlldyBjbGVhbiBkaXN0IGNoZWNrIHNlcnZlIFwKLQlhdXRvYnVpbGQtZGV2IGF1dG9idWlsZC1zdGFibGUKKwlhdXRvYnVpbGQtZGV2IGF1dG9idWlsZC1zdGFibGUgdmVudgogCiBoZWxwOgogCUBlY2hvICJQbGVhc2UgdXNlIFxgbWFrZSA8dGFyZ2V0Picgd2hlcmUgPHRhcmdldD4gaXMgb25lIG9mIgogCUBlY2hvICIgIGNsZWFuICAgICAgdG8gcmVtb3ZlIGJ1aWxkIGZpbGVzIgorCUBlY2hvICIgIHZlbnYgICAgICAgdG8gY3JlYXRlIGEgdmVudiB3aXRoIG5lY2Vzc2FyeSB0b29scyIKIAlAZWNobyAiICBodG1sICAgICAgIHRvIG1ha2Ugc3RhbmRhbG9uZSBIVE1MIGZpbGVzIgogCUBlY2hvICIgIGh0bWx2aWV3ICAgdG8gb3BlbiB0aGUgaW5kZXggcGFnZSBidWlsdCBieSB0aGUgaHRtbCB0YXJnZXQgaW4geW91ciBicm93c2VyIgogCUBlY2hvICIgIGh0bWxoZWxwICAgdG8gbWFrZSBIVE1MIGZpbGVzIGFuZCBhIEhUTUwgaGVscCBwcm9qZWN0IgpAQCAtMTAyLDcgKzEwMywxMSBAQAogCSAkKFBZVEhPTikgLWMgImltcG9ydCB3ZWJicm93c2VyOyB3ZWJicm93c2VyLm9wZW4oJ2J1aWxkL2h0bWwvaW5kZXguaHRtbCcpIgogCiBjbGVhbjoKLQktcm0gLXJmIGJ1aWxkLyoKKwktcm0gLXJmIGJ1aWxkLyogdmVudi8qCisKK3ZlbnY6CisJJChQWVRIT04pIC1tIHZlbnYgdmVudgorCS4vdmVudi9iaW4vcHl0aG9uMyAtbSBwaXAgaW5zdGFsbCAtVSBTcGhpbngKIAogZGlzdDoKIAlybSAtcmYgZGlzdApAQCAtMTcyLDQgKzE3NywzIEBACiAJCWV4aXQgMTs7IFwKIAllc2FjCiAJQG1ha2UgYXV0b2J1aWxkLWRldgotCmRpZmYgLS1naXQgYS9Eb2MvUkVBRE1FLnR4dCBiL0RvYy9SRUFETUUudHh0CmluZGV4IDU4YmRhNjIuLjU4MGQxMDIgMTAwNjQ0Ci0tLSBhL0RvYy9SRUFETUUudHh0CisrKyBiL0RvYy9SRUFETUUudHh0CkBAIC0zLDcgKzMsNyBAQAogCiBUaGlzIGRpcmVjdG9yeSBjb250YWlucyB0aGUgcmVTdHJ1Y3R1cmVkVGV4dCAocmVTVCkgc291cmNlcyB0byB0aGUgUHl0aG9uCiBkb2N1bWVudGF0aW9uLiAgWW91IGRvbid0IG5lZWQgdG8gYnVpbGQgdGhlbSB5b3Vyc2VsZiwgcHJlYnVpbHQgdmVyc2lvbnMgYXJlCi1hdmFpbGFibGUgYXQgPGh0dHBzOi8vZG9jcy5weXRob24ub3JnLzMuNC9kb3dubG9hZC5odG1sPi4KK2F2YWlsYWJsZSBhdCA8aHR0cHM6Ly9kb2NzLnB5dGhvbi5vcmcvZGV2L2Rvd25sb2FkLmh0bWw+LgogCiBEb2N1bWVudGF0aW9uIG9uIGF1dGhvcmluZyBQeXRob24gZG9jdW1lbnRhdGlvbiwgaW5jbHVkaW5nIGluZm9ybWF0aW9uIGFib3V0CiBib3RoIHN0eWxlIGFuZCBtYXJrdXAsIGlzIGF2YWlsYWJsZSBpbiB0aGUgIkRvY3VtZW50aW5nIFB5dGhvbiIgY2hhcHRlciBvZiB0aGUKZGlmZiAtLWdpdCBhL0RvYy9jLWFwaS9jb2RlYy5yc3QgYi9Eb2MvYy1hcGkvY29kZWMucnN0CmluZGV4IDgzMjUyYWYuLmRmZTNkNDMgMTAwNjQ0Ci0tLSBhL0RvYy9jLWFwaS9jb2RlYy5yc3QKKysrIGIvRG9jL2MtYXBpL2NvZGVjLnJzdApAQCAtMTE2LDMgKzExNiw4IEBACiAgICBSZXBsYWNlIHRoZSB1bmljb2RlIGVuY29kZSBlcnJvciB3aXRoIGJhY2tzbGFzaCBlc2NhcGVzIChgYFx4YGAsIGBgXHVgYCBhbmQKICAgIGBgXFVgYCkuCiAKKy4uIGM6ZnVuY3Rpb246OiBQeU9iamVjdCogUHlDb2RlY19OYW1lUmVwbGFjZUVycm9ycyhQeU9iamVjdCAqZXhjKQorCisgICBSZXBsYWNlIHRoZSB1bmljb2RlIGVuY29kZSBlcnJvciB3aXRoIGBgXE57Li4ufWBgIGVzY2FwZXMuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQpkaWZmIC0tZ2l0IGEvRG9jL2MtYXBpL2V4Y2VwdGlvbnMucnN0IGIvRG9jL2MtYXBpL2V4Y2VwdGlvbnMucnN0CmluZGV4IDY2Yjc3NTIuLjgxNDMxN2IgMTAwNjQ0Ci0tLSBhL0RvYy9jLWFwaS9leGNlcHRpb25zLnJzdAorKysgYi9Eb2MvYy1hcGkvZXhjZXB0aW9ucy5yc3QKQEAgLTksMTMgKzksMTkgQEAKIAogVGhlIGZ1bmN0aW9ucyBkZXNjcmliZWQgaW4gdGhpcyBjaGFwdGVyIHdpbGwgbGV0IHlvdSBoYW5kbGUgYW5kIHJhaXNlIFB5dGhvbgogZXhjZXB0aW9ucy4gIEl0IGlzIGltcG9ydGFudCB0byB1bmRlcnN0YW5kIHNvbWUgb2YgdGhlIGJhc2ljcyBvZiBQeXRob24KLWV4Y2VwdGlvbiBoYW5kbGluZy4gIEl0IHdvcmtzIHNvbWV3aGF0IGxpa2UgdGhlIFVuaXggOmM6ZGF0YTpgZXJybm9gIHZhcmlhYmxlOgorZXhjZXB0aW9uIGhhbmRsaW5nLiAgSXQgd29ya3Mgc29tZXdoYXQgbGlrZSB0aGUgUE9TSVggOmM6ZGF0YTpgZXJybm9gIHZhcmlhYmxlOgogdGhlcmUgaXMgYSBnbG9iYWwgaW5kaWNhdG9yIChwZXIgdGhyZWFkKSBvZiB0aGUgbGFzdCBlcnJvciB0aGF0IG9jY3VycmVkLiAgTW9zdAotZnVuY3Rpb25zIGRvbid0IGNsZWFyIHRoaXMgb24gc3VjY2VzcywgYnV0IHdpbGwgc2V0IGl0IHRvIGluZGljYXRlIHRoZSBjYXVzZSBvZgotdGhlIGVycm9yIG9uIGZhaWx1cmUuICBNb3N0IGZ1bmN0aW9ucyBhbHNvIHJldHVybiBhbiBlcnJvciBpbmRpY2F0b3IsIHVzdWFsbHkKLSpOVUxMKiBpZiB0aGV5IGFyZSBzdXBwb3NlZCB0byByZXR1cm4gYSBwb2ludGVyLCBvciBgYC0xYGAgaWYgdGhleSByZXR1cm4gYW4KLWludGVnZXIgKGV4Y2VwdGlvbjogdGhlIDpjOmZ1bmM6YFB5QXJnX1wqYCBmdW5jdGlvbnMgcmV0dXJuIGBgMWBgIGZvciBzdWNjZXNzIGFuZAotYGAwYGAgZm9yIGZhaWx1cmUpLgorQyBBUEkgZnVuY3Rpb25zIGRvbid0IGNsZWFyIHRoaXMgb24gc3VjY2VzcywgYnV0IHdpbGwgc2V0IGl0IHRvIGluZGljYXRlIHRoZQorY2F1c2Ugb2YgdGhlIGVycm9yIG9uIGZhaWx1cmUuICBNb3N0IEMgQVBJIGZ1bmN0aW9ucyBhbHNvIHJldHVybiBhbiBlcnJvcgoraW5kaWNhdG9yLCB1c3VhbGx5ICpOVUxMKiBpZiB0aGV5IGFyZSBzdXBwb3NlZCB0byByZXR1cm4gYSBwb2ludGVyLCBvciBgYC0xYGAKK2lmIHRoZXkgcmV0dXJuIGFuIGludGVnZXIgKGV4Y2VwdGlvbjogdGhlIDpjOmZ1bmM6YFB5QXJnX1wqYCBmdW5jdGlvbnMKK3JldHVybiBgYDFgYCBmb3Igc3VjY2VzcyBhbmQgYGAwYGAgZm9yIGZhaWx1cmUpLgorCitDb25jcmV0ZWx5LCB0aGUgZXJyb3IgaW5kaWNhdG9yIGNvbnNpc3RzIG9mIHRocmVlIG9iamVjdCBwb2ludGVyczogdGhlCitleGNlcHRpb24ncyB0eXBlLCB0aGUgZXhjZXB0aW9uJ3MgdmFsdWUsIGFuZCB0aGUgdHJhY2ViYWNrIG9iamVjdC4gIEFueQorb2YgdGhvc2UgcG9pbnRlcnMgY2FuIGJlIE5VTEwgaWYgbm9uLXNldCAoYWx0aG91Z2ggc29tZSBjb21iaW5hdGlvbnMgYXJlCitmb3JiaWRkZW4sIGZvciBleGFtcGxlIHlvdSBjYW4ndCBoYXZlIGEgbm9uLU5VTEwgdHJhY2ViYWNrIGlmIHRoZSBleGNlcHRpb24KK3R5cGUgaXMgTlVMTCkuCiAKIFdoZW4gYSBmdW5jdGlvbiBtdXN0IGZhaWwgYmVjYXVzZSBzb21lIGZ1bmN0aW9uIGl0IGNhbGxlZCBmYWlsZWQsIGl0IGdlbmVyYWxseQogZG9lc24ndCBzZXQgdGhlIGVycm9yIGluZGljYXRvcjsgdGhlIGZ1bmN0aW9uIGl0IGNhbGxlZCBhbHJlYWR5IHNldCBpdC4gIEl0IGlzCkBAIC0yNywxMiArMzMsMjEgQEAKIHByb3BhZ2F0ZWQsIGFkZGl0aW9uYWwgY2FsbHMgaW50byB0aGUgUHl0aG9uL0MgQVBJIG1heSBub3QgYmVoYXZlIGFzIGludGVuZGVkCiBhbmQgbWF5IGZhaWwgaW4gbXlzdGVyaW91cyB3YXlzLgogCi1UaGUgZXJyb3IgaW5kaWNhdG9yIGNvbnNpc3RzIG9mIHRocmVlIFB5dGhvbiBvYmplY3RzIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHJlc3VsdAotb2YgYGBzeXMuZXhjX2luZm8oKWBgLiAgQVBJIGZ1bmN0aW9ucyBleGlzdCB0byBpbnRlcmFjdCB3aXRoIHRoZSBlcnJvciBpbmRpY2F0b3IKLWluIHZhcmlvdXMgd2F5cy4gIFRoZXJlIGlzIGEgc2VwYXJhdGUgZXJyb3IgaW5kaWNhdG9yIGZvciBlYWNoIHRocmVhZC4KKy4uIG5vdGU6OgorICAgVGhlIGVycm9yIGluZGljYXRvciBpcyAqKm5vdCoqIHRoZSByZXN1bHQgb2YgOmZ1bmM6YHN5cy5leGNfaW5mbygpYC4KKyAgIFRoZSBmb3JtZXIgY29ycmVzcG9uZHMgdG8gYW4gZXhjZXB0aW9uIHRoYXQgaXMgbm90IHlldCBjYXVnaHQgKGFuZCBpcworICAgdGhlcmVmb3JlIHN0aWxsIHByb3BhZ2F0aW5nKSwgd2hpbGUgdGhlIGxhdHRlciByZXR1cm5zIGFuIGV4Y2VwdGlvbiBhZnRlcgorICAgaXQgaXMgY2F1Z2h0IChhbmQgaGFzIHRoZXJlZm9yZSBzdG9wcGVkIHByb3BhZ2F0aW5nKS4KIAotLi4gWFhYIE9yZGVyIG9mIHRoZXNlIHNob3VsZCBiZSBtb3JlIHRob3VnaHRmdWwuCi0gICBFaXRoZXIgYWxwaGFiZXRpY2FsIG9yIHNvbWUga2luZCBvZiBzdHJ1Y3R1cmUuCisKK1ByaW50aW5nIGFuZCBjbGVhcmluZworPT09PT09PT09PT09PT09PT09PT09CisKKworLi4gYzpmdW5jdGlvbjo6IHZvaWQgUHlFcnJfQ2xlYXIoKQorCisgICBDbGVhciB0aGUgZXJyb3IgaW5kaWNhdG9yLiAgSWYgdGhlIGVycm9yIGluZGljYXRvciBpcyBub3Qgc2V0LCB0aGVyZSBpcyBubworICAgZWZmZWN0LgogCiAKIC4uIGM6ZnVuY3Rpb246OiB2b2lkIFB5RXJyX1ByaW50RXgoaW50IHNldF9zeXNfbGFzdF92YXJzKQpAQCAtNTEsMTI3ICs2NiwyNCBAQAogICAgQWxpYXMgZm9yIGBgUHlFcnJfUHJpbnRFeCgxKWBgLgogCiAKLS4uIGM6ZnVuY3Rpb246OiBQeU9iamVjdCogUHlFcnJfT2NjdXJyZWQoKQorLi4gYzpmdW5jdGlvbjo6IHZvaWQgUHlFcnJfV3JpdGVVbnJhaXNhYmxlKFB5T2JqZWN0ICpvYmopCiAKLSAgIFRlc3Qgd2hldGhlciB0aGUgZXJyb3IgaW5kaWNhdG9yIGlzIHNldC4gIElmIHNldCwgcmV0dXJuIHRoZSBleGNlcHRpb24gKnR5cGUqCi0gICAodGhlIGZpcnN0IGFyZ3VtZW50IHRvIHRoZSBsYXN0IGNhbGwgdG8gb25lIG9mIHRoZSA6YzpmdW5jOmBQeUVycl9TZXRcKmAKLSAgIGZ1bmN0aW9ucyBvciB0byA6YzpmdW5jOmBQeUVycl9SZXN0b3JlYCkuICBJZiBub3Qgc2V0LCByZXR1cm4gKk5VTEwqLiAgWW91IGRvIG5vdAotICAgb3duIGEgcmVmZXJlbmNlIHRvIHRoZSByZXR1cm4gdmFsdWUsIHNvIHlvdSBkbyBub3QgbmVlZCB0byA6YzpmdW5jOmBQeV9ERUNSRUZgCi0gICBpdC4KKyAgIFRoaXMgdXRpbGl0eSBmdW5jdGlvbiBwcmludHMgYSB3YXJuaW5nIG1lc3NhZ2UgdG8gYGBzeXMuc3RkZXJyYGAgd2hlbiBhbgorICAgZXhjZXB0aW9uIGhhcyBiZWVuIHNldCBidXQgaXQgaXMgaW1wb3NzaWJsZSBmb3IgdGhlIGludGVycHJldGVyIHRvIGFjdHVhbGx5CisgICByYWlzZSB0aGUgZXhjZXB0aW9uLiAgSXQgaXMgdXNlZCwgZm9yIGV4YW1wbGUsIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3VycyBpbiBhbgorICAgOm1ldGg6YF9fZGVsX19gIG1ldGhvZC4KIAotICAgLi4gbm90ZTo6Ci0KLSAgICAgIERvIG5vdCBjb21wYXJlIHRoZSByZXR1cm4gdmFsdWUgdG8gYSBzcGVjaWZpYyBleGNlcHRpb247IHVzZQotICAgICAgOmM6ZnVuYzpgUHlFcnJfRXhjZXB0aW9uTWF0Y2hlc2AgaW5zdGVhZCwgc2hvd24gYmVsb3cuICAoVGhlIGNvbXBhcmlzb24gY291bGQKLSAgICAgIGVhc2lseSBmYWlsIHNpbmNlIHRoZSBleGNlcHRpb24gbWF5IGJlIGFuIGluc3RhbmNlIGluc3RlYWQgb2YgYSBjbGFzcywgaW4gdGhlCi0gICAgICBjYXNlIG9mIGEgY2xhc3MgZXhjZXB0aW9uLCBvciBpdCBtYXkgYmUgYSBzdWJjbGFzcyBvZiB0aGUgZXhwZWN0ZWQgZXhjZXB0aW9uLikKKyAgIFRoZSBmdW5jdGlvbiBpcyBjYWxsZWQgd2l0aCBhIHNpbmdsZSBhcmd1bWVudCAqb2JqKiB0aGF0IGlkZW50aWZpZXMgdGhlIGNvbnRleHQKKyAgIGluIHdoaWNoIHRoZSB1bnJhaXNhYmxlIGV4Y2VwdGlvbiBvY2N1cnJlZC4gVGhlIHJlcHIgb2YgKm9iaiogd2lsbCBiZSBwcmludGVkIGluCisgICB0aGUgd2FybmluZyBtZXNzYWdlLgogCiAKLS4uIGM6ZnVuY3Rpb246OiBpbnQgUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcyhQeU9iamVjdCAqZXhjKQorUmFpc2luZyBleGNlcHRpb25zCis9PT09PT09PT09PT09PT09PT0KIAotICAgRXF1aXZhbGVudCB0byBgYFB5RXJyX0dpdmVuRXhjZXB0aW9uTWF0Y2hlcyhQeUVycl9PY2N1cnJlZCgpLCBleGMpYGAuICBUaGlzCi0gICBzaG91bGQgb25seSBiZSBjYWxsZWQgd2hlbiBhbiBleGNlcHRpb24gaXMgYWN0dWFsbHkgc2V0OyBhIG1lbW9yeSBhY2Nlc3MKLSAgIHZpb2xhdGlvbiB3aWxsIG9jY3VyIGlmIG5vIGV4Y2VwdGlvbiBoYXMgYmVlbiByYWlzZWQuCi0KLQotLi4gYzpmdW5jdGlvbjo6IGludCBQeUVycl9HaXZlbkV4Y2VwdGlvbk1hdGNoZXMoUHlPYmplY3QgKmdpdmVuLCBQeU9iamVjdCAqZXhjKQotCi0gICBSZXR1cm4gdHJ1ZSBpZiB0aGUgKmdpdmVuKiBleGNlcHRpb24gbWF0Y2hlcyB0aGUgZXhjZXB0aW9uIGluICpleGMqLiAgSWYKLSAgICpleGMqIGlzIGEgY2xhc3Mgb2JqZWN0LCB0aGlzIGFsc28gcmV0dXJucyB0cnVlIHdoZW4gKmdpdmVuKiBpcyBhbiBpbnN0YW5jZQotICAgb2YgYSBzdWJjbGFzcy4gIElmICpleGMqIGlzIGEgdHVwbGUsIGFsbCBleGNlcHRpb25zIGluIHRoZSB0dXBsZSAoYW5kCi0gICByZWN1cnNpdmVseSBpbiBzdWJ0dXBsZXMpIGFyZSBzZWFyY2hlZCBmb3IgYSBtYXRjaC4KLQotCi0uLiBjOmZ1bmN0aW9uOjogdm9pZCBQeUVycl9Ob3JtYWxpemVFeGNlcHRpb24oUHlPYmplY3QqKmV4YywgUHlPYmplY3QqKnZhbCwgUHlPYmplY3QqKnRiKQotCi0gICBVbmRlciBjZXJ0YWluIGNpcmN1bXN0YW5jZXMsIHRoZSB2YWx1ZXMgcmV0dXJuZWQgYnkgOmM6ZnVuYzpgUHlFcnJfRmV0Y2hgIGJlbG93Ci0gICBjYW4gYmUgInVubm9ybWFsaXplZCIsIG1lYW5pbmcgdGhhdCBgYCpleGNgYCBpcyBhIGNsYXNzIG9iamVjdCBidXQgYGAqdmFsYGAgaXMKLSAgIG5vdCBhbiBpbnN0YW5jZSBvZiB0aGUgIHNhbWUgY2xhc3MuICBUaGlzIGZ1bmN0aW9uIGNhbiBiZSB1c2VkIHRvIGluc3RhbnRpYXRlCi0gICB0aGUgY2xhc3MgaW4gdGhhdCBjYXNlLiAgSWYgdGhlIHZhbHVlcyBhcmUgYWxyZWFkeSBub3JtYWxpemVkLCBub3RoaW5nIGhhcHBlbnMuCi0gICBUaGUgZGVsYXllZCBub3JtYWxpemF0aW9uIGlzIGltcGxlbWVudGVkIHRvIGltcHJvdmUgcGVyZm9ybWFuY2UuCi0KLSAgIC4uIG5vdGU6OgotCi0gICAgICBUaGlzIGZ1bmN0aW9uICpkb2VzIG5vdCogaW1wbGljaXRseSBzZXQgdGhlIGBgX190cmFjZWJhY2tfX2BgCi0gICAgICBhdHRyaWJ1dGUgb24gdGhlIGV4Y2VwdGlvbiB2YWx1ZS4gSWYgc2V0dGluZyB0aGUgdHJhY2ViYWNrCi0gICAgICBhcHByb3ByaWF0ZWx5IGlzIGRlc2lyZWQsIHRoZSBmb2xsb3dpbmcgYWRkaXRpb25hbCBzbmlwcGV0IGlzIG5lZWRlZDo6Ci0KLSAgICAgICAgIGlmICh0YiAhPSBOVUxMKSB7Ci0gICAgICAgICAgIFB5RXhjZXB0aW9uX1NldFRyYWNlYmFjayh2YWwsIHRiKTsKLSAgICAgICAgIH0KLQotCi0uLiBjOmZ1bmN0aW9uOjogdm9pZCBQeUVycl9DbGVhcigpCi0KLSAgIENsZWFyIHRoZSBlcnJvciBpbmRpY2F0b3IuICBJZiB0aGUgZXJyb3IgaW5kaWNhdG9yIGlzIG5vdCBzZXQsIHRoZXJlIGlzIG5vCi0gICBlZmZlY3QuCi0KLQotLi4gYzpmdW5jdGlvbjo6IHZvaWQgUHlFcnJfRmV0Y2goUHlPYmplY3QgKipwdHlwZSwgUHlPYmplY3QgKipwdmFsdWUsIFB5T2JqZWN0ICoqcHRyYWNlYmFjaykKLQotICAgUmV0cmlldmUgdGhlIGVycm9yIGluZGljYXRvciBpbnRvIHRocmVlIHZhcmlhYmxlcyB3aG9zZSBhZGRyZXNzZXMgYXJlIHBhc3NlZC4KLSAgIElmIHRoZSBlcnJvciBpbmRpY2F0b3IgaXMgbm90IHNldCwgc2V0IGFsbCB0aHJlZSB2YXJpYWJsZXMgdG8gKk5VTEwqLiAgSWYgaXQgaXMKLSAgIHNldCwgaXQgd2lsbCBiZSBjbGVhcmVkIGFuZCB5b3Ugb3duIGEgcmVmZXJlbmNlIHRvIGVhY2ggb2JqZWN0IHJldHJpZXZlZC4gIFRoZQotICAgdmFsdWUgYW5kIHRyYWNlYmFjayBvYmplY3QgbWF5IGJlICpOVUxMKiBldmVuIHdoZW4gdGhlIHR5cGUgb2JqZWN0IGlzIG5vdC4KLQotICAgLi4gbm90ZTo6Ci0KLSAgICAgIFRoaXMgZnVuY3Rpb24gaXMgbm9ybWFsbHkgb25seSB1c2VkIGJ5IGNvZGUgdGhhdCBuZWVkcyB0byBoYW5kbGUgZXhjZXB0aW9ucyBvcgotICAgICAgYnkgY29kZSB0aGF0IG5lZWRzIHRvIHNhdmUgYW5kIHJlc3RvcmUgdGhlIGVycm9yIGluZGljYXRvciB0ZW1wb3JhcmlseS4KLQotCi0uLiBjOmZ1bmN0aW9uOjogdm9pZCBQeUVycl9SZXN0b3JlKFB5T2JqZWN0ICp0eXBlLCBQeU9iamVjdCAqdmFsdWUsIFB5T2JqZWN0ICp0cmFjZWJhY2spCi0KLSAgIFNldCAgdGhlIGVycm9yIGluZGljYXRvciBmcm9tIHRoZSB0aHJlZSBvYmplY3RzLiAgSWYgdGhlIGVycm9yIGluZGljYXRvciBpcwotICAgYWxyZWFkeSBzZXQsIGl0IGlzIGNsZWFyZWQgZmlyc3QuICBJZiB0aGUgb2JqZWN0cyBhcmUgKk5VTEwqLCB0aGUgZXJyb3IKLSAgIGluZGljYXRvciBpcyBjbGVhcmVkLiAgRG8gbm90IHBhc3MgYSAqTlVMTCogdHlwZSBhbmQgbm9uLSpOVUxMKiB2YWx1ZSBvcgotICAgdHJhY2ViYWNrLiAgVGhlIGV4Y2VwdGlvbiB0eXBlIHNob3VsZCBiZSBhIGNsYXNzLiAgRG8gbm90IHBhc3MgYW4gaW52YWxpZAotICAgZXhjZXB0aW9uIHR5cGUgb3IgdmFsdWUuIChWaW9sYXRpbmcgdGhlc2UgcnVsZXMgd2lsbCBjYXVzZSBzdWJ0bGUgcHJvYmxlbXMKLSAgIGxhdGVyLikgIFRoaXMgY2FsbCB0YWtlcyBhd2F5IGEgcmVmZXJlbmNlIHRvIGVhY2ggb2JqZWN0OiB5b3UgbXVzdCBvd24gYQotICAgcmVmZXJlbmNlIHRvIGVhY2ggb2JqZWN0IGJlZm9yZSB0aGUgY2FsbCBhbmQgYWZ0ZXIgdGhlIGNhbGwgeW91IG5vIGxvbmdlciBvd24KLSAgIHRoZXNlIHJlZmVyZW5jZXMuICAoSWYgeW91IGRvbid0IHVuZGVyc3RhbmQgdGhpcywgZG9uJ3QgdXNlIHRoaXMgZnVuY3Rpb24uICBJCi0gICB3YXJuZWQgeW91LikKLQotICAgLi4gbm90ZTo6Ci0KLSAgICAgIFRoaXMgZnVuY3Rpb24gaXMgbm9ybWFsbHkgb25seSB1c2VkIGJ5IGNvZGUgdGhhdCBuZWVkcyB0byBzYXZlIGFuZCByZXN0b3JlIHRoZQotICAgICAgZXJyb3IgaW5kaWNhdG9yIHRlbXBvcmFyaWx5OyB1c2UgOmM6ZnVuYzpgUHlFcnJfRmV0Y2hgIHRvIHNhdmUgdGhlIGN1cnJlbnQKLSAgICAgIGV4Y2VwdGlvbiBzdGF0ZS4KLQotCi0uLiBjOmZ1bmN0aW9uOjogdm9pZCBQeUVycl9HZXRFeGNJbmZvKFB5T2JqZWN0ICoqcHR5cGUsIFB5T2JqZWN0ICoqcHZhbHVlLCBQeU9iamVjdCAqKnB0cmFjZWJhY2spCi0KLSAgIFJldHJpZXZlIHRoZSBleGNlcHRpb24gaW5mbywgYXMga25vd24gZnJvbSBgYHN5cy5leGNfaW5mbygpYGAuICBUaGlzIHJlZmVycwotICAgdG8gYW4gZXhjZXB0aW9uIHRoYXQgd2FzIGFscmVhZHkgY2F1Z2h0LCBub3QgdG8gYW4gZXhjZXB0aW9uIHRoYXQgd2FzCi0gICBmcmVzaGx5IHJhaXNlZC4gIFJldHVybnMgbmV3IHJlZmVyZW5jZXMgZm9yIHRoZSB0aHJlZSBvYmplY3RzLCBhbnkgb2Ygd2hpY2gKLSAgIG1heSBiZSAqTlVMTCouICBEb2VzIG5vdCBtb2RpZnkgdGhlIGV4Y2VwdGlvbiBpbmZvIHN0YXRlLgotCi0gICAuLiBub3RlOjoKLQotICAgICAgVGhpcyBmdW5jdGlvbiBpcyBub3Qgbm9ybWFsbHkgdXNlZCBieSBjb2RlIHRoYXQgd2FudHMgdG8gaGFuZGxlIGV4Y2VwdGlvbnMuCi0gICAgICBSYXRoZXIsIGl0IGNhbiBiZSB1c2VkIHdoZW4gY29kZSBuZWVkcyB0byBzYXZlIGFuZCByZXN0b3JlIHRoZSBleGNlcHRpb24KLSAgICAgIHN0YXRlIHRlbXBvcmFyaWx5LiAgVXNlIDpjOmZ1bmM6YFB5RXJyX1NldEV4Y0luZm9gIHRvIHJlc3RvcmUgb3IgY2xlYXIgdGhlCi0gICAgICBleGNlcHRpb24gc3RhdGUuCi0KLSAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMwotCi0KLS4uIGM6ZnVuY3Rpb246OiB2b2lkIFB5RXJyX1NldEV4Y0luZm8oUHlPYmplY3QgKnR5cGUsIFB5T2JqZWN0ICp2YWx1ZSwgUHlPYmplY3QgKnRyYWNlYmFjaykKLQotICAgU2V0IHRoZSBleGNlcHRpb24gaW5mbywgYXMga25vd24gZnJvbSBgYHN5cy5leGNfaW5mbygpYGAuICBUaGlzIHJlZmVycwotICAgdG8gYW4gZXhjZXB0aW9uIHRoYXQgd2FzIGFscmVhZHkgY2F1Z2h0LCBub3QgdG8gYW4gZXhjZXB0aW9uIHRoYXQgd2FzCi0gICBmcmVzaGx5IHJhaXNlZC4gIFRoaXMgZnVuY3Rpb24gc3RlYWxzIHRoZSByZWZlcmVuY2VzIG9mIHRoZSBhcmd1bWVudHMuCi0gICBUbyBjbGVhciB0aGUgZXhjZXB0aW9uIHN0YXRlLCBwYXNzICpOVUxMKiBmb3IgYWxsIHRocmVlIGFyZ3VtZW50cy4KLSAgIEZvciBnZW5lcmFsIHJ1bGVzIGFib3V0IHRoZSB0aHJlZSBhcmd1bWVudHMsIHNlZSA6YzpmdW5jOmBQeUVycl9SZXN0b3JlYC4KLQotICAgLi4gbm90ZTo6Ci0KLSAgICAgIFRoaXMgZnVuY3Rpb24gaXMgbm90IG5vcm1hbGx5IHVzZWQgYnkgY29kZSB0aGF0IHdhbnRzIHRvIGhhbmRsZSBleGNlcHRpb25zLgotICAgICAgUmF0aGVyLCBpdCBjYW4gYmUgdXNlZCB3aGVuIGNvZGUgbmVlZHMgdG8gc2F2ZSBhbmQgcmVzdG9yZSB0aGUgZXhjZXB0aW9uCi0gICAgICBzdGF0ZSB0ZW1wb3JhcmlseS4gIFVzZSA6YzpmdW5jOmBQeUVycl9HZXRFeGNJbmZvYCB0byByZWFkIHRoZSBleGNlcHRpb24KLSAgICAgIHN0YXRlLgotCi0gICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKK1RoZXNlIGZ1bmN0aW9ucyBoZWxwIHlvdSBzZXQgdGhlIGN1cnJlbnQgdGhyZWFkJ3MgZXJyb3IgaW5kaWNhdG9yLgorRm9yIGNvbnZlbmllbmNlLCBzb21lIG9mIHRoZXNlIGZ1bmN0aW9ucyB3aWxsIGFsd2F5cyByZXR1cm4gYQorTlVMTCBwb2ludGVyIGZvciB1c2UgaW4gYSBgYHJldHVybmBgIHN0YXRlbWVudC4KIAogCiAuLiBjOmZ1bmN0aW9uOjogdm9pZCBQeUVycl9TZXRTdHJpbmcoUHlPYmplY3QgKnR5cGUsIGNvbnN0IGNoYXIgKm1lc3NhZ2UpCkBAIC0xOTcsNiArMTA5LDE0IEBACiAgICBzdHJpbmcuCiAKIAorLi4gYzpmdW5jdGlvbjo6IFB5T2JqZWN0KiBQeUVycl9Gb3JtYXRWKFB5T2JqZWN0ICpleGNlcHRpb24sIGNvbnN0IGNoYXIgKmZvcm1hdCwgdmFfbGlzdCB2YXJncykKKworICAgU2FtZSBhcyA6YzpmdW5jOmBQeUVycl9Gb3JtYXRgLCBidXQgdGFraW5nIGEgOmM6dHlwZTpgdmFfbGlzdGAgYXJndW1lbnQgcmF0aGVyCisgICB0aGFuIGEgdmFyaWFibGUgbnVtYmVyIG9mIGFyZ3VtZW50cy4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CisKKwogLi4gYzpmdW5jdGlvbjo6IHZvaWQgUHlFcnJfU2V0Tm9uZShQeU9iamVjdCAqdHlwZSkKIAogICAgVGhpcyBpcyBhIHNob3J0aGFuZCBmb3IgYGBQeUVycl9TZXRPYmplY3QodHlwZSwgUHlfTm9uZSlgYC4KQEAgLTM0Niw2ICsyNjYsMjIgQEAKICAgIHVzZS4KIAogCitJc3N1aW5nIHdhcm5pbmdzCis9PT09PT09PT09PT09PT09CisKK1VzZSB0aGVzZSBmdW5jdGlvbnMgdG8gaXNzdWUgd2FybmluZ3MgZnJvbSBDIGNvZGUuICBUaGV5IG1pcnJvciBzaW1pbGFyCitmdW5jdGlvbnMgZXhwb3J0ZWQgYnkgdGhlIFB5dGhvbiA6bW9kOmB3YXJuaW5nc2AgbW9kdWxlLiAgVGhleSBub3JtYWxseQorcHJpbnQgYSB3YXJuaW5nIG1lc3NhZ2UgdG8gKnN5cy5zdGRlcnIqOyBob3dldmVyLCBpdCBpcworYWxzbyBwb3NzaWJsZSB0aGF0IHRoZSB1c2VyIGhhcyBzcGVjaWZpZWQgdGhhdCB3YXJuaW5ncyBhcmUgdG8gYmUgdHVybmVkIGludG8KK2Vycm9ycywgYW5kIGluIHRoYXQgY2FzZSB0aGV5IHdpbGwgcmFpc2UgYW4gZXhjZXB0aW9uLiAgSXQgaXMgYWxzbyBwb3NzaWJsZSB0aGF0Cit0aGUgZnVuY3Rpb25zIHJhaXNlIGFuIGV4Y2VwdGlvbiBiZWNhdXNlIG9mIGEgcHJvYmxlbSB3aXRoIHRoZSB3YXJuaW5nIG1hY2hpbmVyeS4KK1RoZSByZXR1cm4gdmFsdWUgaXMgYGAwYGAgaWYgbm8gZXhjZXB0aW9uIGlzIHJhaXNlZCwgb3IgYGAtMWBgIGlmIGFuIGV4Y2VwdGlvbgoraXMgcmFpc2VkLiAgKEl0IGlzIG5vdCBwb3NzaWJsZSB0byBkZXRlcm1pbmUgd2hldGhlciBhIHdhcm5pbmcgbWVzc2FnZSBpcworYWN0dWFsbHkgcHJpbnRlZCwgbm9yIHdoYXQgdGhlIHJlYXNvbiBpcyBmb3IgdGhlIGV4Y2VwdGlvbjsgdGhpcyBpcworaW50ZW50aW9uYWwuKSAgSWYgYW4gZXhjZXB0aW9uIGlzIHJhaXNlZCwgdGhlIGNhbGxlciBzaG91bGQgZG8gaXRzIG5vcm1hbAorZXhjZXB0aW9uIGhhbmRsaW5nIChmb3IgZXhhbXBsZSwgOmM6ZnVuYzpgUHlfREVDUkVGYCBvd25lZCByZWZlcmVuY2VzIGFuZCByZXR1cm4KK2FuIGVycm9yIHZhbHVlKS4KKwogLi4gYzpmdW5jdGlvbjo6IGludCBQeUVycl9XYXJuRXgoUHlPYmplY3QgKmNhdGVnb3J5LCBjb25zdCBjaGFyICptZXNzYWdlLCBQeV9zc2l6ZV90IHN0YWNrX2xldmVsKQogCiAgICBJc3N1ZSBhIHdhcm5pbmcgbWVzc2FnZS4gIFRoZSAqY2F0ZWdvcnkqIGFyZ3VtZW50IGlzIGEgd2FybmluZyBjYXRlZ29yeSAoc2VlCkBAIC0zNTUsMTggKzI5MSw2IEBACiAgICBpcyB0aGUgZnVuY3Rpb24gY2FsbGluZyA6YzpmdW5jOmBQeUVycl9XYXJuRXhgLCAyIGlzICB0aGUgZnVuY3Rpb24gYWJvdmUgdGhhdCwKICAgIGFuZCBzbyBmb3J0aC4KIAotICAgVGhpcyBmdW5jdGlvbiBub3JtYWxseSBwcmludHMgYSB3YXJuaW5nIG1lc3NhZ2UgdG8gKnN5cy5zdGRlcnIqOyBob3dldmVyLCBpdCBpcwotICAgYWxzbyBwb3NzaWJsZSB0aGF0IHRoZSB1c2VyIGhhcyBzcGVjaWZpZWQgdGhhdCB3YXJuaW5ncyBhcmUgdG8gYmUgdHVybmVkIGludG8KLSAgIGVycm9ycywgYW5kIGluIHRoYXQgY2FzZSB0aGlzIHdpbGwgcmFpc2UgYW4gZXhjZXB0aW9uLiAgSXQgaXMgYWxzbyBwb3NzaWJsZSB0aGF0Ci0gICB0aGUgZnVuY3Rpb24gcmFpc2VzIGFuIGV4Y2VwdGlvbiBiZWNhdXNlIG9mIGEgcHJvYmxlbSB3aXRoIHRoZSB3YXJuaW5nIG1hY2hpbmVyeQotICAgKHRoZSBpbXBsZW1lbnRhdGlvbiBpbXBvcnRzIHRoZSA6bW9kOmB3YXJuaW5nc2AgbW9kdWxlIHRvIGRvIHRoZSBoZWF2eSBsaWZ0aW5nKS4KLSAgIFRoZSByZXR1cm4gdmFsdWUgaXMgYGAwYGAgaWYgbm8gZXhjZXB0aW9uIGlzIHJhaXNlZCwgb3IgYGAtMWBgIGlmIGFuIGV4Y2VwdGlvbgotICAgaXMgcmFpc2VkLiAgKEl0IGlzIG5vdCBwb3NzaWJsZSB0byBkZXRlcm1pbmUgd2hldGhlciBhIHdhcm5pbmcgbWVzc2FnZSBpcwotICAgYWN0dWFsbHkgcHJpbnRlZCwgbm9yIHdoYXQgdGhlIHJlYXNvbiBpcyBmb3IgdGhlIGV4Y2VwdGlvbjsgdGhpcyBpcwotICAgaW50ZW50aW9uYWwuKSAgSWYgYW4gZXhjZXB0aW9uIGlzIHJhaXNlZCwgdGhlIGNhbGxlciBzaG91bGQgZG8gaXRzIG5vcm1hbAotICAgZXhjZXB0aW9uIGhhbmRsaW5nIChmb3IgZXhhbXBsZSwgOmM6ZnVuYzpgUHlfREVDUkVGYCBvd25lZCByZWZlcmVuY2VzIGFuZCByZXR1cm4KLSAgIGFuIGVycm9yIHZhbHVlKS4KLQogICAgV2FybmluZyBjYXRlZ29yaWVzIG11c3QgYmUgc3ViY2xhc3NlcyBvZiA6YzpkYXRhOmBXYXJuaW5nYDsgdGhlIGRlZmF1bHQgd2FybmluZwogICAgY2F0ZWdvcnkgaXMgOmM6ZGF0YTpgUnVudGltZVdhcm5pbmdgLiAgVGhlIHN0YW5kYXJkIFB5dGhvbiB3YXJuaW5nIGNhdGVnb3JpZXMgYXJlCiAgICBhdmFpbGFibGUgYXMgZ2xvYmFsIHZhcmlhYmxlcyB3aG9zZSBuYW1lcyBhcmUgYGBQeUV4Y19gYCBmb2xsb3dlZCBieSB0aGUgUHl0aG9uCkBAIC00MTAsNiArMzM0LDEzOSBAQAogICAgLi4gdmVyc2lvbmFkZGVkOjogMy4yCiAKIAorUXVlcnlpbmcgdGhlIGVycm9yIGluZGljYXRvcgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCisuLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5RXJyX09jY3VycmVkKCkKKworICAgVGVzdCB3aGV0aGVyIHRoZSBlcnJvciBpbmRpY2F0b3IgaXMgc2V0LiAgSWYgc2V0LCByZXR1cm4gdGhlIGV4Y2VwdGlvbiAqdHlwZSoKKyAgICh0aGUgZmlyc3QgYXJndW1lbnQgdG8gdGhlIGxhc3QgY2FsbCB0byBvbmUgb2YgdGhlIDpjOmZ1bmM6YFB5RXJyX1NldFwqYAorICAgZnVuY3Rpb25zIG9yIHRvIDpjOmZ1bmM6YFB5RXJyX1Jlc3RvcmVgKS4gIElmIG5vdCBzZXQsIHJldHVybiAqTlVMTCouICBZb3UgZG8gbm90CisgICBvd24gYSByZWZlcmVuY2UgdG8gdGhlIHJldHVybiB2YWx1ZSwgc28geW91IGRvIG5vdCBuZWVkIHRvIDpjOmZ1bmM6YFB5X0RFQ1JFRmAKKyAgIGl0LgorCisgICAuLiBub3RlOjoKKworICAgICAgRG8gbm90IGNvbXBhcmUgdGhlIHJldHVybiB2YWx1ZSB0byBhIHNwZWNpZmljIGV4Y2VwdGlvbjsgdXNlCisgICAgICA6YzpmdW5jOmBQeUVycl9FeGNlcHRpb25NYXRjaGVzYCBpbnN0ZWFkLCBzaG93biBiZWxvdy4gIChUaGUgY29tcGFyaXNvbiBjb3VsZAorICAgICAgZWFzaWx5IGZhaWwgc2luY2UgdGhlIGV4Y2VwdGlvbiBtYXkgYmUgYW4gaW5zdGFuY2UgaW5zdGVhZCBvZiBhIGNsYXNzLCBpbiB0aGUKKyAgICAgIGNhc2Ugb2YgYSBjbGFzcyBleGNlcHRpb24sIG9yIGl0IG1heSBiZSBhIHN1YmNsYXNzIG9mIHRoZSBleHBlY3RlZCBleGNlcHRpb24uKQorCisKKy4uIGM6ZnVuY3Rpb246OiBpbnQgUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcyhQeU9iamVjdCAqZXhjKQorCisgICBFcXVpdmFsZW50IHRvIGBgUHlFcnJfR2l2ZW5FeGNlcHRpb25NYXRjaGVzKFB5RXJyX09jY3VycmVkKCksIGV4YylgYC4gIFRoaXMKKyAgIHNob3VsZCBvbmx5IGJlIGNhbGxlZCB3aGVuIGFuIGV4Y2VwdGlvbiBpcyBhY3R1YWxseSBzZXQ7IGEgbWVtb3J5IGFjY2VzcworICAgdmlvbGF0aW9uIHdpbGwgb2NjdXIgaWYgbm8gZXhjZXB0aW9uIGhhcyBiZWVuIHJhaXNlZC4KKworCisuLiBjOmZ1bmN0aW9uOjogaW50IFB5RXJyX0dpdmVuRXhjZXB0aW9uTWF0Y2hlcyhQeU9iamVjdCAqZ2l2ZW4sIFB5T2JqZWN0ICpleGMpCisKKyAgIFJldHVybiB0cnVlIGlmIHRoZSAqZ2l2ZW4qIGV4Y2VwdGlvbiBtYXRjaGVzIHRoZSBleGNlcHRpb24gdHlwZSBpbiAqZXhjKi4gIElmCisgICAqZXhjKiBpcyBhIGNsYXNzIG9iamVjdCwgdGhpcyBhbHNvIHJldHVybnMgdHJ1ZSB3aGVuICpnaXZlbiogaXMgYW4gaW5zdGFuY2UKKyAgIG9mIGEgc3ViY2xhc3MuICBJZiAqZXhjKiBpcyBhIHR1cGxlLCBhbGwgZXhjZXB0aW9uIHR5cGVzIGluIHRoZSB0dXBsZSAoYW5kCisgICByZWN1cnNpdmVseSBpbiBzdWJ0dXBsZXMpIGFyZSBzZWFyY2hlZCBmb3IgYSBtYXRjaC4KKworCisuLiBjOmZ1bmN0aW9uOjogdm9pZCBQeUVycl9GZXRjaChQeU9iamVjdCAqKnB0eXBlLCBQeU9iamVjdCAqKnB2YWx1ZSwgUHlPYmplY3QgKipwdHJhY2ViYWNrKQorCisgICBSZXRyaWV2ZSB0aGUgZXJyb3IgaW5kaWNhdG9yIGludG8gdGhyZWUgdmFyaWFibGVzIHdob3NlIGFkZHJlc3NlcyBhcmUgcGFzc2VkLgorICAgSWYgdGhlIGVycm9yIGluZGljYXRvciBpcyBub3Qgc2V0LCBzZXQgYWxsIHRocmVlIHZhcmlhYmxlcyB0byAqTlVMTCouICBJZiBpdCBpcworICAgc2V0LCBpdCB3aWxsIGJlIGNsZWFyZWQgYW5kIHlvdSBvd24gYSByZWZlcmVuY2UgdG8gZWFjaCBvYmplY3QgcmV0cmlldmVkLiAgVGhlCisgICB2YWx1ZSBhbmQgdHJhY2ViYWNrIG9iamVjdCBtYXkgYmUgKk5VTEwqIGV2ZW4gd2hlbiB0aGUgdHlwZSBvYmplY3QgaXMgbm90LgorCisgICAuLiBub3RlOjoKKworICAgICAgVGhpcyBmdW5jdGlvbiBpcyBub3JtYWxseSBvbmx5IHVzZWQgYnkgY29kZSB0aGF0IG5lZWRzIHRvIGNhdGNoIGV4Y2VwdGlvbnMgb3IKKyAgICAgIGJ5IGNvZGUgdGhhdCBuZWVkcyB0byBzYXZlIGFuZCByZXN0b3JlIHRoZSBlcnJvciBpbmRpY2F0b3IgdGVtcG9yYXJpbHksIGUuZy46OgorCisgICAgICAgICB7CisgICAgICAgICAgICBQeU9iamVjdCAqKnR5cGUsICoqdmFsdWUsICoqdHJhY2ViYWNrOworICAgICAgICAgICAgUHlFcnJfRmV0Y2goJnR5cGUsICZ2YWx1ZSwgJnRyYWNlYmFjayk7CisKKyAgICAgICAgICAgIC8qIC4uLiBjb2RlIHRoYXQgbWlnaHQgcHJvZHVjZSBvdGhlciBlcnJvcnMgLi4uICovCisKKyAgICAgICAgICAgIFB5RXJyX1Jlc3RvcmUodHlwZSwgdmFsdWUsIHRyYWNlYmFjayk7CisgICAgICAgICB9CisKKworLi4gYzpmdW5jdGlvbjo6IHZvaWQgUHlFcnJfUmVzdG9yZShQeU9iamVjdCAqdHlwZSwgUHlPYmplY3QgKnZhbHVlLCBQeU9iamVjdCAqdHJhY2ViYWNrKQorCisgICBTZXQgIHRoZSBlcnJvciBpbmRpY2F0b3IgZnJvbSB0aGUgdGhyZWUgb2JqZWN0cy4gIElmIHRoZSBlcnJvciBpbmRpY2F0b3IgaXMKKyAgIGFscmVhZHkgc2V0LCBpdCBpcyBjbGVhcmVkIGZpcnN0LiAgSWYgdGhlIG9iamVjdHMgYXJlICpOVUxMKiwgdGhlIGVycm9yCisgICBpbmRpY2F0b3IgaXMgY2xlYXJlZC4gIERvIG5vdCBwYXNzIGEgKk5VTEwqIHR5cGUgYW5kIG5vbi0qTlVMTCogdmFsdWUgb3IKKyAgIHRyYWNlYmFjay4gIFRoZSBleGNlcHRpb24gdHlwZSBzaG91bGQgYmUgYSBjbGFzcy4gIERvIG5vdCBwYXNzIGFuIGludmFsaWQKKyAgIGV4Y2VwdGlvbiB0eXBlIG9yIHZhbHVlLiAoVmlvbGF0aW5nIHRoZXNlIHJ1bGVzIHdpbGwgY2F1c2Ugc3VidGxlIHByb2JsZW1zCisgICBsYXRlci4pICBUaGlzIGNhbGwgdGFrZXMgYXdheSBhIHJlZmVyZW5jZSB0byBlYWNoIG9iamVjdDogeW91IG11c3Qgb3duIGEKKyAgIHJlZmVyZW5jZSB0byBlYWNoIG9iamVjdCBiZWZvcmUgdGhlIGNhbGwgYW5kIGFmdGVyIHRoZSBjYWxsIHlvdSBubyBsb25nZXIgb3duCisgICB0aGVzZSByZWZlcmVuY2VzLiAgKElmIHlvdSBkb24ndCB1bmRlcnN0YW5kIHRoaXMsIGRvbid0IHVzZSB0aGlzIGZ1bmN0aW9uLiAgSQorICAgd2FybmVkIHlvdS4pCisKKyAgIC4uIG5vdGU6OgorCisgICAgICBUaGlzIGZ1bmN0aW9uIGlzIG5vcm1hbGx5IG9ubHkgdXNlZCBieSBjb2RlIHRoYXQgbmVlZHMgdG8gc2F2ZSBhbmQgcmVzdG9yZSB0aGUKKyAgICAgIGVycm9yIGluZGljYXRvciB0ZW1wb3JhcmlseS4gIFVzZSA6YzpmdW5jOmBQeUVycl9GZXRjaGAgdG8gc2F2ZSB0aGUgY3VycmVudAorICAgICAgZXJyb3IgaW5kaWNhdG9yLgorCisKKy4uIGM6ZnVuY3Rpb246OiB2b2lkIFB5RXJyX05vcm1hbGl6ZUV4Y2VwdGlvbihQeU9iamVjdCoqZXhjLCBQeU9iamVjdCoqdmFsLCBQeU9iamVjdCoqdGIpCisKKyAgIFVuZGVyIGNlcnRhaW4gY2lyY3Vtc3RhbmNlcywgdGhlIHZhbHVlcyByZXR1cm5lZCBieSA6YzpmdW5jOmBQeUVycl9GZXRjaGAgYmVsb3cKKyAgIGNhbiBiZSAidW5ub3JtYWxpemVkIiwgbWVhbmluZyB0aGF0IGBgKmV4Y2BgIGlzIGEgY2xhc3Mgb2JqZWN0IGJ1dCBgYCp2YWxgYCBpcworICAgbm90IGFuIGluc3RhbmNlIG9mIHRoZSAgc2FtZSBjbGFzcy4gIFRoaXMgZnVuY3Rpb24gY2FuIGJlIHVzZWQgdG8gaW5zdGFudGlhdGUKKyAgIHRoZSBjbGFzcyBpbiB0aGF0IGNhc2UuICBJZiB0aGUgdmFsdWVzIGFyZSBhbHJlYWR5IG5vcm1hbGl6ZWQsIG5vdGhpbmcgaGFwcGVucy4KKyAgIFRoZSBkZWxheWVkIG5vcm1hbGl6YXRpb24gaXMgaW1wbGVtZW50ZWQgdG8gaW1wcm92ZSBwZXJmb3JtYW5jZS4KKworICAgLi4gbm90ZTo6CisKKyAgICAgIFRoaXMgZnVuY3Rpb24gKmRvZXMgbm90KiBpbXBsaWNpdGx5IHNldCB0aGUgYGBfX3RyYWNlYmFja19fYGAKKyAgICAgIGF0dHJpYnV0ZSBvbiB0aGUgZXhjZXB0aW9uIHZhbHVlLiBJZiBzZXR0aW5nIHRoZSB0cmFjZWJhY2sKKyAgICAgIGFwcHJvcHJpYXRlbHkgaXMgZGVzaXJlZCwgdGhlIGZvbGxvd2luZyBhZGRpdGlvbmFsIHNuaXBwZXQgaXMgbmVlZGVkOjoKKworICAgICAgICAgaWYgKHRiICE9IE5VTEwpIHsKKyAgICAgICAgICAgUHlFeGNlcHRpb25fU2V0VHJhY2ViYWNrKHZhbCwgdGIpOworICAgICAgICAgfQorCisKKy4uIGM6ZnVuY3Rpb246OiB2b2lkIFB5RXJyX0dldEV4Y0luZm8oUHlPYmplY3QgKipwdHlwZSwgUHlPYmplY3QgKipwdmFsdWUsIFB5T2JqZWN0ICoqcHRyYWNlYmFjaykKKworICAgUmV0cmlldmUgdGhlIGV4Y2VwdGlvbiBpbmZvLCBhcyBrbm93biBmcm9tIGBgc3lzLmV4Y19pbmZvKClgYC4gIFRoaXMgcmVmZXJzCisgICB0byBhbiBleGNlcHRpb24gdGhhdCB3YXMgKmFscmVhZHkgY2F1Z2h0Kiwgbm90IHRvIGFuIGV4Y2VwdGlvbiB0aGF0IHdhcworICAgZnJlc2hseSByYWlzZWQuICBSZXR1cm5zIG5ldyByZWZlcmVuY2VzIGZvciB0aGUgdGhyZWUgb2JqZWN0cywgYW55IG9mIHdoaWNoCisgICBtYXkgYmUgKk5VTEwqLiAgRG9lcyBub3QgbW9kaWZ5IHRoZSBleGNlcHRpb24gaW5mbyBzdGF0ZS4KKworICAgLi4gbm90ZTo6CisKKyAgICAgIFRoaXMgZnVuY3Rpb24gaXMgbm90IG5vcm1hbGx5IHVzZWQgYnkgY29kZSB0aGF0IHdhbnRzIHRvIGhhbmRsZSBleGNlcHRpb25zLgorICAgICAgUmF0aGVyLCBpdCBjYW4gYmUgdXNlZCB3aGVuIGNvZGUgbmVlZHMgdG8gc2F2ZSBhbmQgcmVzdG9yZSB0aGUgZXhjZXB0aW9uCisgICAgICBzdGF0ZSB0ZW1wb3JhcmlseS4gIFVzZSA6YzpmdW5jOmBQeUVycl9TZXRFeGNJbmZvYCB0byByZXN0b3JlIG9yIGNsZWFyIHRoZQorICAgICAgZXhjZXB0aW9uIHN0YXRlLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworCisuLiBjOmZ1bmN0aW9uOjogdm9pZCBQeUVycl9TZXRFeGNJbmZvKFB5T2JqZWN0ICp0eXBlLCBQeU9iamVjdCAqdmFsdWUsIFB5T2JqZWN0ICp0cmFjZWJhY2spCisKKyAgIFNldCB0aGUgZXhjZXB0aW9uIGluZm8sIGFzIGtub3duIGZyb20gYGBzeXMuZXhjX2luZm8oKWBgLiAgVGhpcyByZWZlcnMKKyAgIHRvIGFuIGV4Y2VwdGlvbiB0aGF0IHdhcyAqYWxyZWFkeSBjYXVnaHQqLCBub3QgdG8gYW4gZXhjZXB0aW9uIHRoYXQgd2FzCisgICBmcmVzaGx5IHJhaXNlZC4gIFRoaXMgZnVuY3Rpb24gc3RlYWxzIHRoZSByZWZlcmVuY2VzIG9mIHRoZSBhcmd1bWVudHMuCisgICBUbyBjbGVhciB0aGUgZXhjZXB0aW9uIHN0YXRlLCBwYXNzICpOVUxMKiBmb3IgYWxsIHRocmVlIGFyZ3VtZW50cy4KKyAgIEZvciBnZW5lcmFsIHJ1bGVzIGFib3V0IHRoZSB0aHJlZSBhcmd1bWVudHMsIHNlZSA6YzpmdW5jOmBQeUVycl9SZXN0b3JlYC4KKworICAgLi4gbm90ZTo6CisKKyAgICAgIFRoaXMgZnVuY3Rpb24gaXMgbm90IG5vcm1hbGx5IHVzZWQgYnkgY29kZSB0aGF0IHdhbnRzIHRvIGhhbmRsZSBleGNlcHRpb25zLgorICAgICAgUmF0aGVyLCBpdCBjYW4gYmUgdXNlZCB3aGVuIGNvZGUgbmVlZHMgdG8gc2F2ZSBhbmQgcmVzdG9yZSB0aGUgZXhjZXB0aW9uCisgICAgICBzdGF0ZSB0ZW1wb3JhcmlseS4gIFVzZSA6YzpmdW5jOmBQeUVycl9HZXRFeGNJbmZvYCB0byByZWFkIHRoZSBleGNlcHRpb24KKyAgICAgIHN0YXRlLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworCitTaWduYWwgSGFuZGxpbmcKKz09PT09PT09PT09PT09PQorCisKIC4uIGM6ZnVuY3Rpb246OiBpbnQgUHlFcnJfQ2hlY2tTaWduYWxzKCkKIAogICAgLi4gaW5kZXg6OgpAQCAtNDQzLDEzICs1MDAsMjEgQEAKIAogLi4gYzpmdW5jdGlvbjo6IGludCBQeVNpZ25hbF9TZXRXYWtldXBGZChpbnQgZmQpCiAKLSAgIFRoaXMgdXRpbGl0eSBmdW5jdGlvbiBzcGVjaWZpZXMgYSBmaWxlIGRlc2NyaXB0b3IgdG8gd2hpY2ggYSBgYCdcMCdgYCBieXRlIHdpbGwKLSAgIGJlIHdyaXR0ZW4gd2hlbmV2ZXIgYSBzaWduYWwgaXMgcmVjZWl2ZWQuICBJdCByZXR1cm5zIHRoZSBwcmV2aW91cyBzdWNoIGZpbGUKLSAgIGRlc2NyaXB0b3IuICBUaGUgdmFsdWUgYGAtMWBgIGRpc2FibGVzIHRoZSBmZWF0dXJlOyB0aGlzIGlzIHRoZSBpbml0aWFsIHN0YXRlLgorICAgVGhpcyB1dGlsaXR5IGZ1bmN0aW9uIHNwZWNpZmllcyBhIGZpbGUgZGVzY3JpcHRvciB0byB3aGljaCB0aGUgc2lnbmFsIG51bWJlcgorICAgaXMgd3JpdHRlbiBhcyBhIHNpbmdsZSBieXRlIHdoZW5ldmVyIGEgc2lnbmFsIGlzIHJlY2VpdmVkLiAqZmQqIG11c3QgYmUKKyAgIG5vbi1ibG9ja2luZy4gSXQgcmV0dXJucyB0aGUgcHJldmlvdXMgc3VjaCBmaWxlIGRlc2NyaXB0b3IuCisKKyAgIFRoZSB2YWx1ZSBgYC0xYGAgZGlzYWJsZXMgdGhlIGZlYXR1cmU7IHRoaXMgaXMgdGhlIGluaXRpYWwgc3RhdGUuCiAgICBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gOmZ1bmM6YHNpZ25hbC5zZXRfd2FrZXVwX2ZkYCBpbiBQeXRob24sIGJ1dCB3aXRob3V0IGFueQogICAgZXJyb3IgY2hlY2tpbmcuICAqZmQqIHNob3VsZCBiZSBhIHZhbGlkIGZpbGUgZGVzY3JpcHRvci4gIFRoZSBmdW5jdGlvbiBzaG91bGQKICAgIG9ubHkgYmUgY2FsbGVkIGZyb20gdGhlIG1haW4gdGhyZWFkLgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgT24gV2luZG93cywgdGhlIGZ1bmN0aW9uIG5vdyBhbHNvIHN1cHBvcnRzIHNvY2tldCBoYW5kbGVzLgorCisKK0V4Y2VwdGlvbiBDbGFzc2VzCis9PT09PT09PT09PT09PT09PQogCiAuLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5RXJyX05ld0V4Y2VwdGlvbihjaGFyICpuYW1lLCBQeU9iamVjdCAqYmFzZSwgUHlPYmplY3QgKmRpY3QpCiAKQEAgLTQ3NSwxOCArNTQwLDYgQEAKICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMgogCiAKLS4uIGM6ZnVuY3Rpb246OiB2b2lkIFB5RXJyX1dyaXRlVW5yYWlzYWJsZShQeU9iamVjdCAqb2JqKQotCi0gICBUaGlzIHV0aWxpdHkgZnVuY3Rpb24gcHJpbnRzIGEgd2FybmluZyBtZXNzYWdlIHRvIGBgc3lzLnN0ZGVycmBgIHdoZW4gYW4KLSAgIGV4Y2VwdGlvbiBoYXMgYmVlbiBzZXQgYnV0IGl0IGlzIGltcG9zc2libGUgZm9yIHRoZSBpbnRlcnByZXRlciB0byBhY3R1YWxseQotICAgcmFpc2UgdGhlIGV4Y2VwdGlvbi4gIEl0IGlzIHVzZWQsIGZvciBleGFtcGxlLCB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMgaW4gYW4KLSAgIDptZXRoOmBfX2RlbF9fYCBtZXRob2QuCi0KLSAgIFRoZSBmdW5jdGlvbiBpcyBjYWxsZWQgd2l0aCBhIHNpbmdsZSBhcmd1bWVudCAqb2JqKiB0aGF0IGlkZW50aWZpZXMgdGhlIGNvbnRleHQKLSAgIGluIHdoaWNoIHRoZSB1bnJhaXNhYmxlIGV4Y2VwdGlvbiBvY2N1cnJlZC4gVGhlIHJlcHIgb2YgKm9iaiogd2lsbCBiZSBwcmludGVkIGluCi0gICB0aGUgd2FybmluZyBtZXNzYWdlLgotCi0KIEV4Y2VwdGlvbiBPYmplY3RzCiA9PT09PT09PT09PT09PT09PQogCmRpZmYgLS1naXQgYS9Eb2MvYy1hcGkvaW5pdC5yc3QgYi9Eb2MvYy1hcGkvaW5pdC5yc3QKaW5kZXggNGQzNThjYS4uZmFjOWI0NyAxMDA2NDQKLS0tIGEvRG9jL2MtYXBpL2luaXQucnN0CisrKyBiL0RvYy9jLWFwaS9pbml0LnJzdApAQCAtMTM0LDYgKzEzNCw5IEBACiAgICBjaGFuZ2UgZm9yIHRoZSBkdXJhdGlvbiBvZiB0aGUgcHJvZ3JhbSdzIGV4ZWN1dGlvbi4gIE5vIGNvZGUgaW4gdGhlIFB5dGhvbgogICAgaW50ZXJwcmV0ZXIgd2lsbCBjaGFuZ2UgdGhlIGNvbnRlbnRzIG9mIHRoaXMgc3RvcmFnZS4KIAorICAgVXNlIDpjOmZ1bmM6YFB5X0RlY29kZUxvY2FsZWAgdG8gZGVjb2RlIGEgYnl0ZXMgc3RyaW5nIHRvIGdldCBhCisgICA6Yzp0eXBlOmB3Y2hhcl8qYCBzdHJpbmcuCisKIAogLi4gYzpmdW5jdGlvbjo6IHdjaGFyKiBQeV9HZXRQcm9ncmFtTmFtZSgpCiAKQEAgLTI0NSw2ICsyNDgsOSBAQAogICAgOmRhdGE6YHN5cy5leGVjX3ByZWZpeGAgdG8gYmUgZW1wdHkuICBJdCBpcyB1cCB0byB0aGUgY2FsbGVyIHRvIG1vZGlmeSB0aGVzZQogICAgaWYgcmVxdWlyZWQgYWZ0ZXIgY2FsbGluZyA6YzpmdW5jOmBQeV9Jbml0aWFsaXplYC4KIAorICAgVXNlIDpjOmZ1bmM6YFB5X0RlY29kZUxvY2FsZWAgdG8gZGVjb2RlIGEgYnl0ZXMgc3RyaW5nIHRvIGdldCBhCisgICA6Yzp0eXBlOmB3Y2hhcl8qYCBzdHJpbmcuCisKICAgIFRoZSBwYXRoIGFyZ3VtZW50IGlzIGNvcGllZCBpbnRlcm5hbGx5LCBzbyB0aGUgY2FsbGVyIG1heSBmcmVlIGl0IGFmdGVyIHRoZQogICAgY2FsbCBjb21wbGV0ZXMuCiAKQEAgLTM0NCw2ICszNTAsOSBAQAogICAgICA6ZGF0YTpgc3lzLnBhdGhgLCB3aGljaCBpcyB0aGUgc2FtZSBhcyBwcmVwZW5kaW5nIHRoZSBjdXJyZW50IHdvcmtpbmcKICAgICAgZGlyZWN0b3J5IChgYCIuImBgKS4KIAorICAgVXNlIDpjOmZ1bmM6YFB5X0RlY29kZUxvY2FsZWAgdG8gZGVjb2RlIGEgYnl0ZXMgc3RyaW5nIHRvIGdldCBhCisgICA6Yzp0eXBlOmB3Y2hhcl8qYCBzdHJpbmcuCisKICAgIC4uIG5vdGU6OgogICAgICAgSXQgaXMgcmVjb21tZW5kZWQgdGhhdCBhcHBsaWNhdGlvbnMgZW1iZWRkaW5nIHRoZSBQeXRob24gaW50ZXJwcmV0ZXIKICAgICAgIGZvciBwdXJwb3NlcyBvdGhlciB0aGFuIGV4ZWN1dGluZyBhIHNpbmdsZSBzY3JpcHQgcGFzcyAwIGFzICp1cGRhdGVwYXRoKiwKQEAgLTM2OCw2ICszNzcsOSBAQAogICAgdG8gMSB1bmxlc3MgdGhlIDpwcm9ncmFtOmBweXRob25gIGludGVycHJldGVyIHdhcyBzdGFydGVkIHdpdGggdGhlCiAgICA6b3B0aW9uOmAtSWAuCiAKKyAgIFVzZSA6YzpmdW5jOmBQeV9EZWNvZGVMb2NhbGVgIHRvIGRlY29kZSBhIGJ5dGVzIHN0cmluZyB0byBnZXQgYQorICAgOmM6dHlwZTpgd2NoYXJfKmAgc3RyaW5nLgorCiAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNCBUaGUgKnVwZGF0ZXBhdGgqIHZhbHVlIGRlcGVuZHMgb24gOm9wdGlvbjpgLUlgLgogCiAKQEAgLTM4Miw2ICszOTQsOSBAQAogICAgZXhlY3V0aW9uLiAgTm8gY29kZSBpbiB0aGUgUHl0aG9uIGludGVycHJldGVyIHdpbGwgY2hhbmdlIHRoZSBjb250ZW50cyBvZgogICAgdGhpcyBzdG9yYWdlLgogCisgICBVc2UgOmM6ZnVuYzpgUHlfRGVjb2RlTG9jYWxlYCB0byBkZWNvZGUgYSBieXRlcyBzdHJpbmcgdG8gZ2V0IGEKKyAgIDpjOnR5cGU6YHdjaGFyXypgIHN0cmluZy4KKwogCiAuLiBjOmZ1bmN0aW9uOjogd19jaGFyKiBQeV9HZXRQeXRob25Ib21lKCkKIApkaWZmIC0tZ2l0IGEvRG9jL2MtYXBpL21lbW9yeS5yc3QgYi9Eb2MvYy1hcGkvbWVtb3J5LnJzdAppbmRleCBhODJlMWMyLi41ZDc4ZjM4IDEwMDY0NAotLS0gYS9Eb2MvYy1hcGkvbWVtb3J5LnJzdAorKysgYi9Eb2MvYy1hcGkvbWVtb3J5LnJzdApAQCAtOTIsOCArOTIsOCBAQAogbmVlZCB0byBiZSBoZWxkLgogCiBUaGUgZGVmYXVsdCByYXcgbWVtb3J5IGJsb2NrIGFsbG9jYXRvciB1c2VzIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zOgotOmM6ZnVuYzpgbWFsbG9jYCwgOmM6ZnVuYzpgcmVhbGxvY2AgYW5kIDpjOmZ1bmM6YGZyZWVgOyBjYWxsIGBgbWFsbG9jKDEpYGAgd2hlbgotcmVxdWVzdGluZyB6ZXJvIGJ5dGVzLgorOmM6ZnVuYzpgbWFsbG9jYCwgOmM6ZnVuYzpgY2FsbG9jYCwgOmM6ZnVuYzpgcmVhbGxvY2AgYW5kIDpjOmZ1bmM6YGZyZWVgOyBjYWxsCitgYG1hbGxvYygxKWBgIChvciBgYGNhbGxvYygxLCAxKWBgKSB3aGVuIHJlcXVlc3RpbmcgemVybyBieXRlcy4KIAogLi4gdmVyc2lvbmFkZGVkOjogMy40CiAKQEAgLTEwNiw2ICsxMDYsMTcgQEAKICAgIGJlZW4gaW5pdGlhbGl6ZWQgaW4gYW55IHdheS4KIAogCisuLiBjOmZ1bmN0aW9uOjogdm9pZCogUHlNZW1fUmF3Q2FsbG9jKHNpemVfdCBuZWxlbSwgc2l6ZV90IGVsc2l6ZSkKKworICAgQWxsb2NhdGVzICpuZWxlbSogZWxlbWVudHMgZWFjaCB3aG9zZSBzaXplIGluIGJ5dGVzIGlzICplbHNpemUqIGFuZCByZXR1cm5zCisgICBhIHBvaW50ZXIgb2YgdHlwZSA6Yzp0eXBlOmB2b2lkXCpgIHRvIHRoZSBhbGxvY2F0ZWQgbWVtb3J5LCBvciAqTlVMTCogaWYgdGhlCisgICByZXF1ZXN0IGZhaWxzLiBUaGUgbWVtb3J5IGlzIGluaXRpYWxpemVkIHRvIHplcm9zLiBSZXF1ZXN0aW5nIHplcm8gZWxlbWVudHMKKyAgIG9yIGVsZW1lbnRzIG9mIHNpemUgemVybyBieXRlcyByZXR1cm5zIGEgZGlzdGluY3Qgbm9uLSpOVUxMKiBwb2ludGVyIGlmCisgICBwb3NzaWJsZSwgYXMgaWYgYGBQeU1lbV9SYXdDYWxsb2MoMSwgMSlgYCBoYWQgYmVlbiBjYWxsZWQgaW5zdGVhZC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CisKKwogLi4gYzpmdW5jdGlvbjo6IHZvaWQqIFB5TWVtX1Jhd1JlYWxsb2Modm9pZCAqcCwgc2l6ZV90IG4pCiAKICAgIFJlc2l6ZXMgdGhlIG1lbW9yeSBibG9jayBwb2ludGVkIHRvIGJ5ICpwKiB0byAqbiogYnl0ZXMuIFRoZSBjb250ZW50cyB3aWxsCkBAIC0xMzYsOCArMTQ3LDggQEAKIG1lbW9yeSBmcm9tIHRoZSBQeXRob24gaGVhcC4KIAogVGhlIGRlZmF1bHQgbWVtb3J5IGJsb2NrIGFsbG9jYXRvciB1c2VzIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zOgotOmM6ZnVuYzpgbWFsbG9jYCwgOmM6ZnVuYzpgcmVhbGxvY2AgYW5kIDpjOmZ1bmM6YGZyZWVgOyBjYWxsIGBgbWFsbG9jKDEpYGAgd2hlbgotcmVxdWVzdGluZyB6ZXJvIGJ5dGVzLgorOmM6ZnVuYzpgbWFsbG9jYCwgOmM6ZnVuYzpgY2FsbG9jYCwgOmM6ZnVuYzpgcmVhbGxvY2AgYW5kIDpjOmZ1bmM6YGZyZWVgOyBjYWxsCitgYG1hbGxvYygxKWBgIChvciBgYGNhbGxvYygxLCAxKWBgKSB3aGVuIHJlcXVlc3RpbmcgemVybyBieXRlcy4KIAogLi4gd2FybmluZzo6CiAKQEAgLTE1Miw2ICsxNjMsMTcgQEAKICAgIGJlZW4gY2FsbGVkIGluc3RlYWQuIFRoZSBtZW1vcnkgd2lsbCBub3QgaGF2ZSBiZWVuIGluaXRpYWxpemVkIGluIGFueSB3YXkuCiAKIAorLi4gYzpmdW5jdGlvbjo6IHZvaWQqIFB5TWVtX0NhbGxvYyhzaXplX3QgbmVsZW0sIHNpemVfdCBlbHNpemUpCisKKyAgIEFsbG9jYXRlcyAqbmVsZW0qIGVsZW1lbnRzIGVhY2ggd2hvc2Ugc2l6ZSBpbiBieXRlcyBpcyAqZWxzaXplKiBhbmQgcmV0dXJucworICAgYSBwb2ludGVyIG9mIHR5cGUgOmM6dHlwZTpgdm9pZFwqYCB0byB0aGUgYWxsb2NhdGVkIG1lbW9yeSwgb3IgKk5VTEwqIGlmIHRoZQorICAgcmVxdWVzdCBmYWlscy4gVGhlIG1lbW9yeSBpcyBpbml0aWFsaXplZCB0byB6ZXJvcy4gUmVxdWVzdGluZyB6ZXJvIGVsZW1lbnRzCisgICBvciBlbGVtZW50cyBvZiBzaXplIHplcm8gYnl0ZXMgcmV0dXJucyBhIGRpc3RpbmN0IG5vbi0qTlVMTCogcG9pbnRlciBpZgorICAgcG9zc2libGUsIGFzIGlmIGBgUHlNZW1fQ2FsbG9jKDEsIDEpYGAgaGFkIGJlZW4gY2FsbGVkIGluc3RlYWQuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQorCisKIC4uIGM6ZnVuY3Rpb246OiB2b2lkKiBQeU1lbV9SZWFsbG9jKHZvaWQgKnAsIHNpemVfdCBuKQogCiAgICBSZXNpemVzIHRoZSBtZW1vcnkgYmxvY2sgcG9pbnRlZCB0byBieSAqcCogdG8gKm4qIGJ5dGVzLiBUaGUgY29udGVudHMgd2lsbCBiZQpAQCAtMjEwLDcgKzIzMiw3IEBACiAKIC4uIHZlcnNpb25hZGRlZDo6IDMuNAogCi0uLiBjOnR5cGU6OiBQeU1lbUFsbG9jYXRvcgorLi4gYzp0eXBlOjogUHlNZW1BbGxvY2F0b3JFeAogCiAgICBTdHJ1Y3R1cmUgdXNlZCB0byBkZXNjcmliZSBhIG1lbW9yeSBibG9jayBhbGxvY2F0b3IuIFRoZSBzdHJ1Y3R1cmUgaGFzCiAgICBmb3VyIGZpZWxkczoKQEAgLTIyMiwxMSArMjQ0LDE5IEBACiAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiAgICB8IGBgdm9pZCogbWFsbG9jKHZvaWQgKmN0eCwgc2l6ZV90IHNpemUpYGAgICAgICAgICAgICAgICAgIHwgYWxsb2NhdGUgYSBtZW1vcnkgYmxvY2sgICAgICAgICAgICAgICB8CiAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgICB8IGBgdm9pZCogY2FsbG9jKHZvaWQgKmN0eCwgc2l6ZV90IG5lbGVtLCBzaXplX3QgZWxzaXplKWBgIHwgYWxsb2NhdGUgYSBtZW1vcnkgYmxvY2sgaW5pdGlhbGl6ZWQgICB8CisgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgd2l0aCB6ZXJvcyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiAgICB8IGBgdm9pZCogcmVhbGxvYyh2b2lkICpjdHgsIHZvaWQgKnB0ciwgc2l6ZV90IG5ld19zaXplKWBgIHwgYWxsb2NhdGUgb3IgcmVzaXplIGEgbWVtb3J5IGJsb2NrICAgICB8CiAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiAgICB8IGBgdm9pZCBmcmVlKHZvaWQgKmN0eCwgdm9pZCAqcHRyKWBgICAgICAgICAgICAgICAgICAgICAgIHwgZnJlZSBhIG1lbW9yeSBibG9jayAgICAgICAgICAgICAgICAgICB8CiAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICBUaGUgOmM6dHlwZTpgUHlNZW1BbGxvY2F0b3JgIHN0cnVjdHVyZSB3YXMgcmVuYW1lZCB0bworICAgICAgOmM6dHlwZTpgUHlNZW1BbGxvY2F0b3JFeGAgYW5kIGEgbmV3IGBgY2FsbG9jYGAgZmllbGQgd2FzIGFkZGVkLgorCisKIC4uIGM6dHlwZTo6IFB5TWVtQWxsb2NhdG9yRG9tYWluCiAKICAgIEVudW0gdXNlZCB0byBpZGVudGlmeSBhbiBhbGxvY2F0b3IgZG9tYWluLiBEb21haW5zOgpAQCAtMjM5LDEyICsyNjksMTIgQEAKICAgICAgOmM6ZnVuYzpgUHlPYmplY3RfUmVhbGxvY2AgYW5kIDpjOmZ1bmM6YFB5T2JqZWN0X0ZyZWVgCiAKIAotLi4gYzpmdW5jdGlvbjo6IHZvaWQgUHlNZW1fR2V0QWxsb2NhdG9yKFB5TWVtQWxsb2NhdG9yRG9tYWluIGRvbWFpbiwgUHlNZW1BbGxvY2F0b3IgKmFsbG9jYXRvcikKKy4uIGM6ZnVuY3Rpb246OiB2b2lkIFB5TWVtX0dldEFsbG9jYXRvcihQeU1lbUFsbG9jYXRvckRvbWFpbiBkb21haW4sIFB5TWVtQWxsb2NhdG9yRXggKmFsbG9jYXRvcikKIAogICAgR2V0IHRoZSBtZW1vcnkgYmxvY2sgYWxsb2NhdG9yIG9mIHRoZSBzcGVjaWZpZWQgZG9tYWluLgogCiAKLS4uIGM6ZnVuY3Rpb246OiB2b2lkIFB5TWVtX1NldEFsbG9jYXRvcihQeU1lbUFsbG9jYXRvckRvbWFpbiBkb21haW4sIFB5TWVtQWxsb2NhdG9yICphbGxvY2F0b3IpCisuLiBjOmZ1bmN0aW9uOjogdm9pZCBQeU1lbV9TZXRBbGxvY2F0b3IoUHlNZW1BbGxvY2F0b3JEb21haW4gZG9tYWluLCBQeU1lbUFsbG9jYXRvckV4ICphbGxvY2F0b3IpCiAKICAgIFNldCB0aGUgbWVtb3J5IGJsb2NrIGFsbG9jYXRvciBvZiB0aGUgc3BlY2lmaWVkIGRvbWFpbi4KIApkaWZmIC0tZ2l0IGEvRG9jL2MtYXBpL251bWJlci5yc3QgYi9Eb2MvYy1hcGkvbnVtYmVyLnJzdAppbmRleCAyMTk1MWMzLi45YmNiNjQ5IDEwMDY0NAotLS0gYS9Eb2MvYy1hcGkvbnVtYmVyLnJzdAorKysgYi9Eb2MvYy1hcGkvbnVtYmVyLnJzdApAQCAtMzAsNiArMzAsMTQgQEAKICAgIHRoZSBlcXVpdmFsZW50IG9mIHRoZSBQeXRob24gZXhwcmVzc2lvbiBgYG8xICogbzJgYC4KIAogCisuLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5TnVtYmVyX01hdHJpeE11bHRpcGx5KFB5T2JqZWN0ICpvMSwgUHlPYmplY3QgKm8yKQorCisgICBSZXR1cm5zIHRoZSByZXN1bHQgb2YgbWF0cml4IG11bHRpcGxpY2F0aW9uIG9uICpvMSogYW5kICpvMiosIG9yICpOVUxMKiBvbgorICAgZmFpbHVyZS4gIFRoaXMgaXMgdGhlIGVxdWl2YWxlbnQgb2YgdGhlIFB5dGhvbiBleHByZXNzaW9uIGBgbzEgQCBvMmBgLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKKworCiAuLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5TnVtYmVyX0Zsb29yRGl2aWRlKFB5T2JqZWN0ICpvMSwgUHlPYmplY3QgKm8yKQogCiAgICBSZXR1cm4gdGhlIGZsb29yIG9mICpvMSogZGl2aWRlZCBieSAqbzIqLCBvciAqTlVMTCogb24gZmFpbHVyZS4gIFRoaXMgaXMKQEAgLTE0Niw2ICsxNTQsMTUgQEAKICAgIHRoZSBQeXRob24gc3RhdGVtZW50IGBgbzEgKj0gbzJgYC4KIAogCisuLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5TnVtYmVyX0luUGxhY2VNYXRyaXhNdWx0aXBseShQeU9iamVjdCAqbzEsIFB5T2JqZWN0ICpvMikKKworICAgUmV0dXJucyB0aGUgcmVzdWx0IG9mIG1hdHJpeCBtdWx0aXBsaWNhdGlvbiBvbiAqbzEqIGFuZCAqbzIqLCBvciAqTlVMTCogb24KKyAgIGZhaWx1cmUuICBUaGUgb3BlcmF0aW9uIGlzIGRvbmUgKmluLXBsYWNlKiB3aGVuICpvMSogc3VwcG9ydHMgaXQuICBUaGlzIGlzCisgICB0aGUgZXF1aXZhbGVudCBvZiB0aGUgUHl0aG9uIHN0YXRlbWVudCBgYG8xIEA9IG8yYGAuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQorCisKIC4uIGM6ZnVuY3Rpb246OiBQeU9iamVjdCogUHlOdW1iZXJfSW5QbGFjZUZsb29yRGl2aWRlKFB5T2JqZWN0ICpvMSwgUHlPYmplY3QgKm8yKQogCiAgICBSZXR1cm5zIHRoZSBtYXRoZW1hdGljYWwgZmxvb3Igb2YgZGl2aWRpbmcgKm8xKiBieSAqbzIqLCBvciAqTlVMTCogb24gZmFpbHVyZS4KZGlmZiAtLWdpdCBhL0RvYy9jLWFwaS9zeXMucnN0IGIvRG9jL2MtYXBpL3N5cy5yc3QKaW5kZXggOTc2MGRjYS4uYTZhOTM5YyAxMDA2NDQKLS0tIGEvRG9jL2MtYXBpL3N5cy5yc3QKKysrIGIvRG9jL2MtYXBpL3N5cy5yc3QKQEAgLTQ3LDYgKzQ3LDYwIEBACiAgICBub3QgY2FsbCB0aG9zZSBmdW5jdGlvbnMgZGlyZWN0bHkhICA6Yzp0eXBlOmBQeU9TX3NpZ2hhbmRsZXJfdGAgaXMgYSB0eXBlZGVmCiAgICBhbGlhcyBmb3IgOmM6dHlwZTpgdm9pZCAoXCopKGludClgLgogCisuLiBjOmZ1bmN0aW9uOjogd2NoYXJfdCogUHlfRGVjb2RlTG9jYWxlKGNvbnN0IGNoYXIqIGFyZywgc2l6ZV90ICpzaXplKQorCisgICBEZWNvZGUgYSBieXRlIHN0cmluZyBmcm9tIHRoZSBsb2NhbGUgZW5jb2Rpbmcgd2l0aCB0aGUgOnJlZjpgc3Vycm9nYXRlZXNjYXBlCisgICBlcnJvciBoYW5kbGVyIDxzdXJyb2dhdGVlc2NhcGU+YDogdW5kZWNvZGFibGUgYnl0ZXMgYXJlIGRlY29kZWQgYXMKKyAgIGNoYXJhY3RlcnMgaW4gcmFuZ2UgVStEQzgwLi5VK0RDRkYuIElmIGEgYnl0ZSBzZXF1ZW5jZSBjYW4gYmUgZGVjb2RlZCBhcyBhCisgICBzdXJyb2dhdGUgY2hhcmFjdGVyLCBlc2NhcGUgdGhlIGJ5dGVzIHVzaW5nIHRoZSBzdXJyb2dhdGVlc2NhcGUgZXJyb3IKKyAgIGhhbmRsZXIgaW5zdGVhZCBvZiBkZWNvZGluZyB0aGVtLgorCisgICBSZXR1cm4gYSBwb2ludGVyIHRvIGEgbmV3bHkgYWxsb2NhdGVkIHdpZGUgY2hhcmFjdGVyIHN0cmluZywgdXNlCisgICA6YzpmdW5jOmBQeU1lbV9SYXdGcmVlYCB0byBmcmVlIHRoZSBtZW1vcnkuIElmIHNpemUgaXMgbm90IGBgTlVMTGBgLCB3cml0ZQorICAgdGhlIG51bWJlciBvZiB3aWRlIGNoYXJhY3RlcnMgZXhjbHVkaW5nIHRoZSBudWxsIGNoYXJhY3RlciBpbnRvIGBgKnNpemVgYAorCisgICBSZXR1cm4gYGBOVUxMYGAgb24gZGVjb2RpbmcgZXJyb3Igb3IgbWVtb3J5IGFsbG9jYXRpb24gZXJyb3IuIElmICpzaXplKiBpcworICAgbm90IGBgTlVMTGBgLCBgYCpzaXplYGAgaXMgc2V0IHRvIGBgKHNpemVfdCktMWBgIG9uIG1lbW9yeSBlcnJvciBvciBzZXQgdG8KKyAgIGBgKHNpemVfdCktMmBgIG9uIGRlY29kaW5nIGVycm9yLgorCisgICBEZWNvZGluZyBlcnJvcnMgc2hvdWxkIG5ldmVyIGhhcHBlbiwgdW5sZXNzIHRoZXJlIGlzIGEgYnVnIGluIHRoZSBDCisgICBsaWJyYXJ5LgorCisgICBVc2UgdGhlIDpjOmZ1bmM6YFB5X0VuY29kZUxvY2FsZWAgZnVuY3Rpb24gdG8gZW5jb2RlIHRoZSBjaGFyYWN0ZXIgc3RyaW5nCisgICBiYWNrIHRvIGEgYnl0ZSBzdHJpbmcuCisKKyAgIC4uIHNlZWFsc286OgorCisgICAgICBUaGUgOmM6ZnVuYzpgUHlVbmljb2RlX0RlY29kZUZTRGVmYXVsdEFuZFNpemVgIGFuZAorICAgICAgOmM6ZnVuYzpgUHlVbmljb2RlX0RlY29kZUxvY2FsZUFuZFNpemVgIGZ1bmN0aW9ucy4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CisKKworLi4gYzpmdW5jdGlvbjo6IGNoYXIqIFB5X0VuY29kZUxvY2FsZShjb25zdCB3Y2hhcl90ICp0ZXh0LCBzaXplX3QgKmVycm9yX3BvcykKKworICAgRW5jb2RlIGEgd2lkZSBjaGFyYWN0ZXIgc3RyaW5nIHRvIHRoZSBsb2NhbGUgZW5jb2Rpbmcgd2l0aCB0aGUKKyAgIDpyZWY6YHN1cnJvZ2F0ZWVzY2FwZSBlcnJvciBoYW5kbGVyIDxzdXJyb2dhdGVlc2NhcGU+YDogc3Vycm9nYXRlIGNoYXJhY3RlcnMKKyAgIGluIHRoZSByYW5nZSBVK0RDODAuLlUrRENGRiBhcmUgY29udmVydGVkIHRvIGJ5dGVzIDB4ODAuLjB4RkYuCisKKyAgIFJldHVybiBhIHBvaW50ZXIgdG8gYSBuZXdseSBhbGxvY2F0ZWQgYnl0ZSBzdHJpbmcsIHVzZSA6YzpmdW5jOmBQeU1lbV9GcmVlYAorICAgdG8gZnJlZSB0aGUgbWVtb3J5LiBSZXR1cm4gYGBOVUxMYGAgb24gZW5jb2RpbmcgZXJyb3Igb3IgbWVtb3J5IGFsbG9jYXRpb24KKyAgIGVycm9yCisKKyAgIElmIGVycm9yX3BvcyBpcyBub3QgYGBOVUxMYGAsIGBgKmVycm9yX3Bvc2BgIGlzIHNldCB0byB0aGUgaW5kZXggb2YgdGhlCisgICBpbnZhbGlkIGNoYXJhY3RlciBvbiBlbmNvZGluZyBlcnJvciwgb3Igc2V0IHRvIGBgKHNpemVfdCktMWBgIG90aGVyd2lzZS4KKworICAgVXNlIHRoZSA6YzpmdW5jOmBQeV9EZWNvZGVMb2NhbGVgIGZ1bmN0aW9uIHRvIGRlY29kZSB0aGUgYnl0ZXMgc3RyaW5nIGJhY2sKKyAgIHRvIGEgd2lkZSBjaGFyYWN0ZXIgc3RyaW5nLgorCisgICAuLiBzZWVhbHNvOjoKKworICAgICAgVGhlIDpjOmZ1bmM6YFB5VW5pY29kZV9FbmNvZGVGU0RlZmF1bHRgIGFuZAorICAgICAgOmM6ZnVuYzpgUHlVbmljb2RlX0VuY29kZUxvY2FsZWAgZnVuY3Rpb25zLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKKworCiAuLiBfc3lzdGVtZnVuY3Rpb25zOgogCiBTeXN0ZW0gRnVuY3Rpb25zCmRpZmYgLS1naXQgYS9Eb2MvYy1hcGkvdHlwZW9iai5yc3QgYi9Eb2MvYy1hcGkvdHlwZW9iai5yc3QKaW5kZXggYjQzNjIyYS4uZWI2MzcwNSAxMDA2NDQKLS0tIGEvRG9jL2MtYXBpL3R5cGVvYmoucnN0CisrKyBiL0RvYy9jLWFwaS90eXBlb2JqLnJzdApAQCAtMTExOCw2ICsxMTE4LDkgQEAKICAgICAgICAgICAgIGJpbmFyeWZ1bmMgbmJfaW5wbGFjZV90cnVlX2RpdmlkZTsKIAogICAgICAgICAgICAgdW5hcnlmdW5jIG5iX2luZGV4OworCisgICAgICAgICAgICBiaW5hcnlmdW5jIG5iX21hdHJpeF9tdWx0aXBseTsKKyAgICAgICAgICAgIGJpbmFyeWZ1bmMgbmJfaW5wbGFjZV9tYXRyaXhfbXVsdGlwbHk7CiAgICAgICAgfSBQeU51bWJlck1ldGhvZHM7CiAKICAgIC4uIG5vdGU6OgpkaWZmIC0tZ2l0IGEvRG9jL2MtYXBpL3VuaWNvZGUucnN0IGIvRG9jL2MtYXBpL3VuaWNvZGUucnN0CmluZGV4IDAzYzI4NGEuLjAwMDYzZDAgMTAwNjQ0Ci0tLSBhL0RvYy9jLWFwaS91bmljb2RlLnJzdAorKysgYi9Eb2MvYy1hcGkvdW5pY29kZS5yc3QKQEAgLTc1OSwxMSArNzU5LDEzIEBACiAgICAqZXJyb3JzKiBpcyBgYE5VTExgYC4gICpzdHIqIG11c3QgZW5kIHdpdGggYSBudWxsIGNoYXJhY3RlciBidXQKICAgIGNhbm5vdCBjb250YWluIGVtYmVkZGVkIG51bGwgY2hhcmFjdGVycy4KIAorICAgVXNlIDpjOmZ1bmM6YFB5VW5pY29kZV9EZWNvZGVGU0RlZmF1bHRBbmRTaXplYCB0byBkZWNvZGUgYSBzdHJpbmcgZnJvbQorICAgOmM6ZGF0YTpgUHlfRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZ2AgKHRoZSBsb2NhbGUgZW5jb2RpbmcgcmVhZCBhdAorICAgUHl0aG9uIHN0YXJ0dXApLgorCiAgICAuLiBzZWVhbHNvOjoKIAotICAgICAgVXNlIDpjOmZ1bmM6YFB5VW5pY29kZV9EZWNvZGVGU0RlZmF1bHRBbmRTaXplYCB0byBkZWNvZGUgYSBzdHJpbmcgZnJvbQotICAgICAgOmM6ZGF0YTpgUHlfRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZ2AgKHRoZSBsb2NhbGUgZW5jb2RpbmcgcmVhZCBhdAotICAgICAgUHl0aG9uIHN0YXJ0dXApLgorICAgICAgVGhlIDpjOmZ1bmM6YFB5X0RlY29kZUxvY2FsZWAgZnVuY3Rpb24uCiAKICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMwogCkBAIC03ODQsMTEgKzc4NiwxMyBAQAogICAgKmVycm9ycyogaXMgYGBOVUxMYGAuIFJldHVybiBhIDpjbGFzczpgYnl0ZXNgIG9iamVjdC4gKnN0ciogY2Fubm90CiAgICBjb250YWluIGVtYmVkZGVkIG51bGwgY2hhcmFjdGVycy4KIAorICAgVXNlIDpjOmZ1bmM6YFB5VW5pY29kZV9FbmNvZGVGU0RlZmF1bHRgIHRvIGVuY29kZSBhIHN0cmluZyB0bworICAgOmM6ZGF0YTpgUHlfRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZ2AgKHRoZSBsb2NhbGUgZW5jb2RpbmcgcmVhZCBhdAorICAgUHl0aG9uIHN0YXJ0dXApLgorCiAgICAuLiBzZWVhbHNvOjoKIAotICAgICAgVXNlIDpjOmZ1bmM6YFB5VW5pY29kZV9FbmNvZGVGU0RlZmF1bHRgIHRvIGVuY29kZSBhIHN0cmluZyB0bwotICAgICAgOmM6ZGF0YTpgUHlfRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZ2AgKHRoZSBsb2NhbGUgZW5jb2RpbmcgcmVhZCBhdAotICAgICAgUHl0aG9uIHN0YXJ0dXApLgorICAgICAgVGhlIDpjOmZ1bmM6YFB5X0VuY29kZUxvY2FsZWAgZnVuY3Rpb24uCiAKICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMwogCkBAIC04MzMsMTIgKzgzNywxNCBAQAogICAgSWYgOmM6ZGF0YTpgUHlfRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZ2AgaXMgbm90IHNldCwgZmFsbCBiYWNrIHRvIHRoZQogICAgbG9jYWxlIGVuY29kaW5nLgogCisgICA6YzpkYXRhOmBQeV9GaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nYCBpcyBpbml0aWFsaXplZCBhdCBzdGFydHVwIGZyb20gdGhlCisgICBsb2NhbGUgZW5jb2RpbmcgYW5kIGNhbm5vdCBiZSBtb2RpZmllZCBsYXRlci4gSWYgeW91IG5lZWQgdG8gZGVjb2RlIGEgc3RyaW5nCisgICBmcm9tIHRoZSBjdXJyZW50IGxvY2FsZSBlbmNvZGluZywgdXNlCisgICA6YzpmdW5jOmBQeVVuaWNvZGVfRGVjb2RlTG9jYWxlQW5kU2l6ZWAuCisKICAgIC4uIHNlZWFsc286OgogCi0gICAgICA6YzpkYXRhOmBQeV9GaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nYCBpcyBpbml0aWFsaXplZCBhdCBzdGFydHVwIGZyb20gdGhlCi0gICAgICBsb2NhbGUgZW5jb2RpbmcgYW5kIGNhbm5vdCBiZSBtb2RpZmllZCBsYXRlci4gSWYgeW91IG5lZWQgdG8gZGVjb2RlIGEKLSAgICAgIHN0cmluZyBmcm9tIHRoZSBjdXJyZW50IGxvY2FsZSBlbmNvZGluZywgdXNlCi0gICAgICA6YzpmdW5jOmBQeVVuaWNvZGVfRGVjb2RlTG9jYWxlQW5kU2l6ZWAuCisgICAgICBUaGUgOmM6ZnVuYzpgUHlfRGVjb2RlTG9jYWxlYCBmdW5jdGlvbi4KIAogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjIKICAgICAgIFVzZSBgYCJzdHJpY3QiYGAgZXJyb3IgaGFuZGxlciBvbiBXaW5kb3dzLgpAQCAtODY4LDEyICs4NzQsMTMgQEAKICAgIElmIDpjOmRhdGE6YFB5X0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2RpbmdgIGlzIG5vdCBzZXQsIGZhbGwgYmFjayB0byB0aGUKICAgIGxvY2FsZSBlbmNvZGluZy4KIAorICAgOmM6ZGF0YTpgUHlfRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZ2AgaXMgaW5pdGlhbGl6ZWQgYXQgc3RhcnR1cCBmcm9tIHRoZQorICAgbG9jYWxlIGVuY29kaW5nIGFuZCBjYW5ub3QgYmUgbW9kaWZpZWQgbGF0ZXIuIElmIHlvdSBuZWVkIHRvIGVuY29kZSBhIHN0cmluZworICAgdG8gdGhlIGN1cnJlbnQgbG9jYWxlIGVuY29kaW5nLCB1c2UgOmM6ZnVuYzpgUHlVbmljb2RlX0VuY29kZUxvY2FsZWAuCisKICAgIC4uIHNlZWFsc286OgogCi0gICAgICA6YzpkYXRhOmBQeV9GaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nYCBpcyBpbml0aWFsaXplZCBhdCBzdGFydHVwIGZyb20gdGhlCi0gICAgICBsb2NhbGUgZW5jb2RpbmcgYW5kIGNhbm5vdCBiZSBtb2RpZmllZCBsYXRlci4gSWYgeW91IG5lZWQgdG8gZW5jb2RlIGEKLSAgICAgIHN0cmluZyB0byB0aGUgY3VycmVudCBsb2NhbGUgZW5jb2RpbmcsIHVzZQotICAgICAgOmM6ZnVuYzpgUHlVbmljb2RlX0VuY29kZUxvY2FsZWAuCisgICAgICBUaGUgOmM6ZnVuYzpgUHlfRW5jb2RlTG9jYWxlYCBmdW5jdGlvbi4KIAogICAgLi4gdmVyc2lvbmFkZGVkOjogMy4yCiAKZGlmZiAtLWdpdCBhL0RvYy9kYXRhL3JlZmNvdW50cy5kYXQgYi9Eb2MvZGF0YS9yZWZjb3VudHMuZGF0CmluZGV4IDYwMjU2MTcuLmQxYzI0ZTUgMTAwNjQ0Ci0tLSBhL0RvYy9kYXRhL3JlZmNvdW50cy5kYXQKKysrIGIvRG9jL2RhdGEvcmVmY291bnRzLmRhdApAQCAtMzQ5LDYgKzM0OSwxMSBAQAogUHlFcnJfRm9ybWF0OmNvbnN0IGNoYXIqOmZvcm1hdDo6CiBQeUVycl9Gb3JtYXQ6Oi4uLjo6CiAKK1B5RXJyX0Zvcm1hdFY6UHlPYmplY3QqOjpudWxsOgorUHlFcnJfRm9ybWF0VjpQeU9iamVjdCo6ZXhjZXB0aW9uOisxOgorUHlFcnJfRm9ybWF0Vjpjb25zdCBjaGFyKjpmb3JtYXQ6OgorUHlFcnJfRm9ybWF0Vjp2YV9saXN0OnZhcmdzOjoKKwogUHlFcnJfV2FybkV4OmludDo6OgogUHlFcnJfV2FybkV4OlB5T2JqZWN0KjpjYXRlZ29yeTowOgogUHlFcnJfV2FybkV4OmNvbnN0IGNoYXIqOm1lc3NhZ2U6OgpkaWZmIC0tZ2l0IGEvRG9jL2Rpc3R1dGlscy9hcGlyZWYucnN0IGIvRG9jL2Rpc3R1dGlscy9hcGlyZWYucnN0CmluZGV4IDgyYmVkMjQuLjUzZDc1MjcgMTAwNjQ0Ci0tLSBhL0RvYy9kaXN0dXRpbHMvYXBpcmVmLnJzdAorKysgYi9Eb2MvZGlzdHV0aWxzL2FwaXJlZi5yc3QKQEAgLTEwOTksMTMgKzEwOTksMTMgQEAKICAgIGR1cmluZyB0aGUgYnVpbGQgb2YgUHl0aG9uKSwgbm90IHRoZSBPUyB2ZXJzaW9uIG9mIHRoZSBjdXJyZW50IHN5c3RlbS4KIAogICAgRm9yIHVuaXZlcnNhbCBiaW5hcnkgYnVpbGRzIG9uIE1hYyBPUyBYIHRoZSBhcmNoaXRlY3R1cmUgdmFsdWUgcmVmbGVjdHMKLSAgIHRoZSB1bml2ZXJhbCBiaW5hcnkgc3RhdHVzIGluc3RlYWQgb2YgdGhlIGFyY2hpdGVjdHVyZSBvZiB0aGUgY3VycmVudAorICAgdGhlIHVuaXZlcnNhbCBiaW5hcnkgc3RhdHVzIGluc3RlYWQgb2YgdGhlIGFyY2hpdGVjdHVyZSBvZiB0aGUgY3VycmVudAogICAgcHJvY2Vzc29yLiBGb3IgMzItYml0IHVuaXZlcnNhbCBiaW5hcmllcyB0aGUgYXJjaGl0ZWN0dXJlIGlzIGBgZmF0YGAsCiAgICBmb3IgNjQtYml0IHVuaXZlcnNhbCBiaW5hcmllcyB0aGUgYXJjaGl0ZWN0dXJlIGlzIGBgZmF0NjRgYCwgYW5kCiAgICBmb3IgNC13YXkgdW5pdmVyc2FsIGJpbmFyaWVzIHRoZSBhcmNoaXRlY3R1cmUgaXMgYGB1bml2ZXJzYWxgYC4gU3RhcnRpbmcKICAgIGZyb20gUHl0aG9uIDIuNyBhbmQgUHl0aG9uIDMuMiB0aGUgYXJjaGl0ZWN0dXJlIGBgZmF0M2BgIGlzIHVzZWQgZm9yCiAgICBhIDMtd2F5IHVuaXZlcnNhbCBidWlsZCAocHBjLCBpMzg2LCB4ODZfNjQpIGFuZCBgYGludGVsYGAgaXMgdXNlZCBmb3IKLSAgIGEgdW5pdmVyYWwgYnVpbGQgd2l0aCB0aGUgaTM4NiBhbmQgeDg2XzY0IGFyY2hpdGVjdHVyZXMKKyAgIGEgdW5pdmVyc2FsIGJ1aWxkIHdpdGggdGhlIGkzODYgYW5kIHg4Nl82NCBhcmNoaXRlY3R1cmVzCiAKICAgIEV4YW1wbGVzIG9mIHJldHVybmVkIHZhbHVlcyBvbiBNYWMgT1MgWDoKIApkaWZmIC0tZ2l0IGEvRG9jL2Rpc3R1dGlscy9idWlsdGRpc3QucnN0IGIvRG9jL2Rpc3R1dGlscy9idWlsdGRpc3QucnN0CmluZGV4IGFjOTZjNDAuLmM1ODI3YjYgMTAwNjQ0Ci0tLSBhL0RvYy9kaXN0dXRpbHMvYnVpbHRkaXN0LnJzdAorKysgYi9Eb2MvZGlzdHV0aWxzL2J1aWx0ZGlzdC5yc3QKQEAgLTM1NSw3ICszNTUsNyBAQAogd291bGQgY3JlYXRlIGEgNjRiaXQgaW5zdGFsbGF0aW9uIGV4ZWN1dGFibGUgb24geW91ciAzMmJpdCB2ZXJzaW9uIG9mIFdpbmRvd3MuCiAKIFRvIGNyb3NzLWNvbXBpbGUsIHlvdSBtdXN0IGRvd25sb2FkIHRoZSBQeXRob24gc291cmNlIGNvZGUgYW5kIGNyb3NzLWNvbXBpbGUKLVB5dGhvbiBpdHNlbGYgZm9yIHRoZSBwbGF0Zm9ybSB5b3UgYXJlIHRhcmdldHRpbmcgLSBpdCBpcyBub3QgcG9zc2libGUgZnJvbSBhCitQeXRob24gaXRzZWxmIGZvciB0aGUgcGxhdGZvcm0geW91IGFyZSB0YXJnZXRpbmcgLSBpdCBpcyBub3QgcG9zc2libGUgZnJvbSBhCiBiaW5hcnkgaW5zdGFsbGF0aW9uIG9mIFB5dGhvbiAoYXMgdGhlIC5saWIgZXRjIGZpbGUgZm9yIG90aGVyIHBsYXRmb3JtcyBhcmUKIG5vdCBpbmNsdWRlZC4pICBJbiBwcmFjdGljZSwgdGhpcyBtZWFucyB0aGUgdXNlciBvZiBhIDMyIGJpdCBvcGVyYXRpbmcKIHN5c3RlbSB3aWxsIG5lZWQgdG8gdXNlIFZpc3VhbCBTdHVkaW8gMjAwOCB0byBvcGVuIHRoZQpkaWZmIC0tZ2l0IGEvRG9jL2V4dGVuZGluZy9lbWJlZGRpbmcucnN0IGIvRG9jL2V4dGVuZGluZy9lbWJlZGRpbmcucnN0CmluZGV4IDZjYjY4NmEuLmFjZDYwYWUgMTAwNjQ0Ci0tLSBhL0RvYy9leHRlbmRpbmcvZW1iZWRkaW5nLnJzdAorKysgYi9Eb2MvZXh0ZW5kaW5nL2VtYmVkZGluZy5yc3QKQEAgLTU4LDEyICs1OCwxOCBAQAogICAgaW50CiAgICBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAgICB7Ci0gICAgIFB5X1NldFByb2dyYW1OYW1lKGFyZ3ZbMF0pOyAgLyogb3B0aW9uYWwgYnV0IHJlY29tbWVuZGVkICovCi0gICAgIFB5X0luaXRpYWxpemUoKTsKLSAgICAgUHlSdW5fU2ltcGxlU3RyaW5nKCJmcm9tIHRpbWUgaW1wb3J0IHRpbWUsY3RpbWVcbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICJwcmludCgnVG9kYXkgaXMnLCBjdGltZSh0aW1lKCkpKVxuIik7Ci0gICAgIFB5X0ZpbmFsaXplKCk7Ci0gICAgIHJldHVybiAwOworICAgICAgIHdjaGFyX3QgKnByb2dyYW0gPSBQeV9EZWNvZGVMb2NhbGUoYXJndlswXSwgTlVMTCk7CisgICAgICAgaWYgKHByb2dyYW0gPT0gTlVMTCkgeworICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkZhdGFsIGVycm9yOiBjYW5ub3QgZGVjb2RlIGFyZ3ZbMF1cbiIpOworICAgICAgICAgICBleGl0KDEpOworICAgICAgIH0KKyAgICAgICBQeV9TZXRQcm9ncmFtTmFtZShwcm9ncmFtKTsgIC8qIG9wdGlvbmFsIGJ1dCByZWNvbW1lbmRlZCAqLworICAgICAgIFB5X0luaXRpYWxpemUoKTsKKyAgICAgICBQeVJ1bl9TaW1wbGVTdHJpbmcoImZyb20gdGltZSBpbXBvcnQgdGltZSxjdGltZVxuIgorICAgICAgICAgICAgICAgICAgICAgICAgICAicHJpbnQoJ1RvZGF5IGlzJywgY3RpbWUodGltZSgpKSlcbiIpOworICAgICAgIFB5X0ZpbmFsaXplKCk7CisgICAgICAgUHlNZW1fUmF3RnJlZShwcm9ncmFtKTsKKyAgICAgICByZXR1cm4gMDsKICAgIH0KIAogVGhlIDpjOmZ1bmM6YFB5X1NldFByb2dyYW1OYW1lYCBmdW5jdGlvbiBzaG91bGQgYmUgY2FsbGVkIGJlZm9yZQpAQCAtMTYwLDcgKzE2Niw3IEBACiBpbnRlcmVzdGluZyBwYXJ0IHdpdGggcmVzcGVjdCB0byBlbWJlZGRpbmcgUHl0aG9uIHN0YXJ0cyB3aXRoIDo6CiAKICAgIFB5X0luaXRpYWxpemUoKTsKLSAgIHBOYW1lID0gUHlVbmljb2RlX0Zyb21TdHJpbmcoYXJndlsxXSk7CisgICBwTmFtZSA9IFB5VW5pY29kZV9EZWNvZGVGU0RlZmF1bHQoYXJndlsxXSk7CiAgICAvKiBFcnJvciBjaGVja2luZyBvZiBwTmFtZSBsZWZ0IG91dCAqLwogICAgcE1vZHVsZSA9IFB5SW1wb3J0X0ltcG9ydChwTmFtZSk7CiAKZGlmZiAtLWdpdCBhL0RvYy9leHRlbmRpbmcvZXh0ZW5kaW5nLnJzdCBiL0RvYy9leHRlbmRpbmcvZXh0ZW5kaW5nLnJzdAppbmRleCBjMTBlZmE5Li4xN2NmZGViIDEwMDY0NAotLS0gYS9Eb2MvZXh0ZW5kaW5nL2V4dGVuZGluZy5yc3QKKysrIGIvRG9jL2V4dGVuZGluZy9leHRlbmRpbmcucnN0CkBAIC0zNzUsMTEgKzM3NSwxNyBAQAogICAgaW50CiAgICBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAgICB7CisgICAgICAgd2NoYXJfdCAqcHJvZ3JhbSA9IFB5X0RlY29kZUxvY2FsZShhcmd2WzBdLCBOVUxMKTsKKyAgICAgICBpZiAocHJvZ3JhbSA9PSBOVUxMKSB7CisgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiRmF0YWwgZXJyb3I6IGNhbm5vdCBkZWNvZGUgYXJndlswXVxuIik7CisgICAgICAgICAgIGV4aXQoMSk7CisgICAgICAgfQorCiAgICAgICAgLyogQWRkIGEgYnVpbHQtaW4gbW9kdWxlLCBiZWZvcmUgUHlfSW5pdGlhbGl6ZSAqLwogICAgICAgIFB5SW1wb3J0X0FwcGVuZEluaXR0YWIoInNwYW0iLCBQeUluaXRfc3BhbSk7CiAKICAgICAgICAvKiBQYXNzIGFyZ3ZbMF0gdG8gdGhlIFB5dGhvbiBpbnRlcnByZXRlciAqLwotICAgICAgIFB5X1NldFByb2dyYW1OYW1lKGFyZ3ZbMF0pOworICAgICAgIFB5X1NldFByb2dyYW1OYW1lKHByb2dyYW0pOwogCiAgICAgICAgLyogSW5pdGlhbGl6ZSB0aGUgUHl0aG9uIGludGVycHJldGVyLiAgUmVxdWlyZWQuICovCiAgICAgICAgUHlfSW5pdGlhbGl6ZSgpOwpAQCAtMzkxLDYgKzM5NywxMCBAQAogCiAgICAgICAgLi4uCiAKKyAgICAgICBQeU1lbV9SYXdGcmVlKHByb2dyYW0pOworICAgICAgIHJldHVybiAwOworICAgfQorCiAuLiBub3RlOjoKIAogICAgUmVtb3ZpbmcgZW50cmllcyBmcm9tIGBgc3lzLm1vZHVsZXNgYCBvciBpbXBvcnRpbmcgY29tcGlsZWQgbW9kdWxlcyBpbnRvCmRpZmYgLS1naXQgYS9Eb2MvZ2xvc3NhcnkucnN0IGIvRG9jL2dsb3NzYXJ5LnJzdAppbmRleCAxZGU4NmVmLi41NzhmZDExIDEwMDY0NAotLS0gYS9Eb2MvZ2xvc3NhcnkucnN0CisrKyBiL0RvYy9nbG9zc2FyeS5yc3QKQEAgLTQwMiw2ICs0MDIsMTkgQEAKICAgICAgIHRoYW4gY29tcGlsZWQgb25lcywgdGhvdWdoIHRoZWlyIHByb2dyYW1zIGdlbmVyYWxseSBhbHNvIHJ1biBtb3JlCiAgICAgICBzbG93bHkuICBTZWUgYWxzbyA6dGVybTpgaW50ZXJhY3RpdmVgLgogCisgICBpbnRlcnByZXRlciBzaHV0ZG93bgorICAgICAgV2hlbiBhc2tlZCB0byBzaHV0IGRvd24sIHRoZSBQeXRob24gaW50ZXJwcmV0ZXIgZW50ZXJzIGEgc3BlY2lhbCBwaGFzZQorICAgICAgd2hlcmUgaXQgZ3JhZHVhbGx5IHJlbGVhc2VzIGFsbCBhbGxvY2F0ZWQgcmVzb3VyY2VzLCBzdWNoIGFzIG1vZHVsZXMKKyAgICAgIGFuZCB2YXJpb3VzIGNyaXRpY2FsIGludGVybmFsIHN0cnVjdHVyZXMuICBJdCBhbHNvIG1ha2VzIHNldmVyYWwgY2FsbHMKKyAgICAgIHRvIHRoZSA6dGVybTpgZ2FyYmFnZSBjb2xsZWN0b3IgPGdhcmJhZ2UgY29sbGVjdGlvbj5gLiBUaGlzIGNhbiB0cmlnZ2VyCisgICAgICB0aGUgZXhlY3V0aW9uIG9mIGNvZGUgaW4gdXNlci1kZWZpbmVkIGRlc3RydWN0b3JzIG9yIHdlYWtyZWYgY2FsbGJhY2tzLgorICAgICAgQ29kZSBleGVjdXRlZCBkdXJpbmcgdGhlIHNodXRkb3duIHBoYXNlIGNhbiBlbmNvdW50ZXIgdmFyaW91cworICAgICAgZXhjZXB0aW9ucyBhcyB0aGUgcmVzb3VyY2VzIGl0IHJlbGllcyBvbiBtYXkgbm90IGZ1bmN0aW9uIGFueW1vcmUKKyAgICAgIChjb21tb24gZXhhbXBsZXMgYXJlIGxpYnJhcnkgbW9kdWxlcyBvciB0aGUgd2FybmluZ3MgbWFjaGluZXJ5KS4KKworICAgICAgVGhlIG1haW4gcmVhc29uIGZvciBpbnRlcnByZXRlciBzaHV0ZG93biBpcyB0aGF0IHRoZSBgYF9fbWFpbl9fYGAgbW9kdWxlCisgICAgICBvciB0aGUgc2NyaXB0IGJlaW5nIHJ1biBoYXMgZmluaXNoZWQgZXhlY3V0aW5nLgorCiAgICBpdGVyYWJsZQogICAgICAgQW4gb2JqZWN0IGNhcGFibGUgb2YgcmV0dXJuaW5nIGl0cyBtZW1iZXJzIG9uZSBhdCBhIHRpbWUuIEV4YW1wbGVzIG9mCiAgICAgICBpdGVyYWJsZXMgaW5jbHVkZSBhbGwgc2VxdWVuY2UgdHlwZXMgKHN1Y2ggYXMgOmNsYXNzOmBsaXN0YCwgOmNsYXNzOmBzdHJgLApAQCAtNDQ0LDEyICs0NTcsMTMgQEAKIAogICAgICAgQSBudW1iZXIgb2YgdG9vbHMgaW4gUHl0aG9uIGFjY2VwdCBrZXkgZnVuY3Rpb25zIHRvIGNvbnRyb2wgaG93IGVsZW1lbnRzCiAgICAgICBhcmUgb3JkZXJlZCBvciBncm91cGVkLiAgVGhleSBpbmNsdWRlIDpmdW5jOmBtaW5gLCA6ZnVuYzpgbWF4YCwKLSAgICAgIDpmdW5jOmBzb3J0ZWRgLCA6bWV0aDpgbGlzdC5zb3J0YCwgOmZ1bmM6YGhlYXBxLm5zbWFsbGVzdGAsCi0gICAgICA6ZnVuYzpgaGVhcHEubmxhcmdlc3RgLCBhbmQgOmZ1bmM6YGl0ZXJ0b29scy5ncm91cGJ5YC4KKyAgICAgIDpmdW5jOmBzb3J0ZWRgLCA6bWV0aDpgbGlzdC5zb3J0YCwgOmZ1bmM6YGhlYXBxLm1lcmdlYCwKKyAgICAgIDpmdW5jOmBoZWFwcS5uc21hbGxlc3RgLCA6ZnVuYzpgaGVhcHEubmxhcmdlc3RgLCBhbmQKKyAgICAgIDpmdW5jOmBpdGVydG9vbHMuZ3JvdXBieWAuCiAKICAgICAgIFRoZXJlIGFyZSBzZXZlcmFsIHdheXMgdG8gY3JlYXRlIGEga2V5IGZ1bmN0aW9uLiAgRm9yIGV4YW1wbGUuIHRoZQogICAgICAgOm1ldGg6YHN0ci5sb3dlcmAgbWV0aG9kIGNhbiBzZXJ2ZSBhcyBhIGtleSBmdW5jdGlvbiBmb3IgY2FzZSBpbnNlbnNpdGl2ZQotICAgICAgc29ydHMuICBBbHRlcm5hdGl2ZWx5LCBhbiBhZC1ob2Mga2V5IGZ1bmN0aW9uIGNhbiBiZSBidWlsdCBmcm9tIGEKKyAgICAgIHNvcnRzLiAgQWx0ZXJuYXRpdmVseSwgYSBrZXkgZnVuY3Rpb24gY2FuIGJlIGJ1aWx0IGZyb20gYQogICAgICAgOmtleXdvcmQ6YGxhbWJkYWAgZXhwcmVzc2lvbiBzdWNoIGFzIGBgbGFtYmRhIHI6IChyWzBdLCByWzJdKWBgLiAgQWxzbywKICAgICAgIHRoZSA6bW9kOmBvcGVyYXRvcmAgbW9kdWxlIHByb3ZpZGVzIHRocmVlIGtleSBmdW5jdGlvbiBjb25zdHJ1Y3RvcnM6CiAgICAgICA6ZnVuYzpgfm9wZXJhdG9yLmF0dHJnZXR0ZXJgLCA6ZnVuYzpgfm9wZXJhdG9yLml0ZW1nZXR0ZXJgLCBhbmQKZGlmZiAtLWdpdCBhL0RvYy9ob3d0by9jbGluaWMucnN0IGIvRG9jL2hvd3RvL2NsaW5pYy5yc3QKaW5kZXggNzUwZGRiZS4uY2E4ZTFjYiAxMDA2NDQKLS0tIGEvRG9jL2hvd3RvL2NsaW5pYy5yc3QKKysrIGIvRG9jL2hvd3RvL2NsaW5pYy5yc3QKQEAgLTg4Niw3ICs4ODYsNyBAQAogQWR2YW5jZWQgY29udmVydGVycwogLS0tLS0tLS0tLS0tLS0tLS0tLQogCi1SZW1lYmVyIHRob3NlIGZvcm1hdCB1bml0cyB5b3Ugc2tpcHBlZCBmb3IgeW91ciBmaXJzdAorUmVtZW1iZXIgdGhvc2UgZm9ybWF0IHVuaXRzIHlvdSBza2lwcGVkIGZvciB5b3VyIGZpcnN0CiB0aW1lIGJlY2F1c2UgdGhleSB3ZXJlIGFkdmFuY2VkPyAgSGVyZSdzIGhvdyB0byBoYW5kbGUgdGhvc2UgdG9vLgogCiBUaGUgdHJpY2sgaXMsIGFsbCB0aG9zZSBmb3JtYXQgdW5pdHMgdGFrZSBhcmd1bWVudHMtLWVpdGhlcgpAQCAtMTAyMCwxMiArMTAyMCwxMiBAQAogdGhlIGBgImFzImBgIHNob3VsZCBjb21lIGJlZm9yZSB0aGUgcmV0dXJuIGNvbnZlcnRlci4pCiAKIFRoZXJlJ3Mgb25lIGFkZGl0aW9uYWwgY29tcGxpY2F0aW9uIHdoZW4gdXNpbmcgcmV0dXJuIGNvbnZlcnRlcnM6IGhvdyBkbyB5b3UKLWluZGljYXRlIGFuIGVycm9yIGhhcyBvY2N1cmVkPyAgTm9ybWFsbHksIGEgZnVuY3Rpb24gcmV0dXJucyBhIHZhbGlkIChub24tYGBOVUxMYGApCitpbmRpY2F0ZSBhbiBlcnJvciBoYXMgb2NjdXJyZWQ/ICBOb3JtYWxseSwgYSBmdW5jdGlvbiByZXR1cm5zIGEgdmFsaWQgKG5vbi1gYE5VTExgYCkKIHBvaW50ZXIgZm9yIHN1Y2Nlc3MsIGFuZCBgYE5VTExgYCBmb3IgZmFpbHVyZS4gIEJ1dCBpZiB5b3UgdXNlIGFuIGludGVnZXIgcmV0dXJuIGNvbnZlcnRlciwKIGFsbCBpbnRlZ2VycyBhcmUgdmFsaWQuICBIb3cgY2FuIEFyZ3VtZW50IENsaW5pYyBkZXRlY3QgYW4gZXJyb3I/ICBJdHMgc29sdXRpb246IGVhY2ggcmV0dXJuCiBjb252ZXJ0ZXIgaW1wbGljaXRseSBsb29rcyBmb3IgYSBzcGVjaWFsIHZhbHVlIHRoYXQgaW5kaWNhdGVzIGFuIGVycm9yLiAgSWYgeW91IHJldHVybgogdGhhdCB2YWx1ZSwgYW5kIGFuIGVycm9yIGhhcyBiZWVuIHNldCAoYGBQeUVycl9PY2N1cnJlZCgpYGAgcmV0dXJucyBhIHRydWUKLXZhbHVlKSwgdGhlbiB0aGUgZ2VuZXJhdGVkIGNvZGUgd2lsbCBwcm9wb2dhdGUgdGhlIGVycm9yLiAgT3RoZXJ3aXNlIGl0IHdpbGwKK3ZhbHVlKSwgdGhlbiB0aGUgZ2VuZXJhdGVkIGNvZGUgd2lsbCBwcm9wYWdhdGUgdGhlIGVycm9yLiAgT3RoZXJ3aXNlIGl0IHdpbGwKIGVuY29kZSB0aGUgdmFsdWUgeW91IHJldHVybiBsaWtlIG5vcm1hbC4KIAogQ3VycmVudGx5IEFyZ3VtZW50IENsaW5pYyBzdXBwb3J0cyBvbmx5IGEgZmV3IHJldHVybiBjb252ZXJ0ZXJzOjoKQEAgLTE1NzMsNyArMTU3Myw3IEBACiBgYGxpbmVfcHJlZml4YGAgaXMgYSBzdHJpbmcgdGhhdCB3aWxsIGJlIHByZXBlbmRlZCB0byBldmVyeSBsaW5lIG9mIENsaW5pYydzIG91dHB1dDsKIGBgbGluZV9zdWZmaXhgYCBpcyBhIHN0cmluZyB0aGF0IHdpbGwgYmUgYXBwZW5kZWQgdG8gZXZlcnkgbGluZSBvZiBDbGluaWMncyBvdXRwdXQuCiAKLUJvdGggb2YgdGhlc2Ugc3Vwb3J0IHR3byBmb3JtYXQgc3RyaW5nczoKK0JvdGggb2YgdGhlc2Ugc3VwcG9ydCB0d28gZm9ybWF0IHN0cmluZ3M6CiAKICAgYGB7YmxvY2sgY29tbWVudCBzdGFydH1gYAogICAgIFR1cm5zIGludG8gdGhlIHN0cmluZyBgYC8qYGAsIHRoZSBzdGFydC1jb21tZW50IHRleHQgc2VxdWVuY2UgZm9yIEMgZmlsZXMuCmRpZmYgLS1naXQgYS9Eb2MvaG93dG8vbG9nZ2luZy1jb29rYm9vay5yc3QgYi9Eb2MvaG93dG8vbG9nZ2luZy1jb29rYm9vay5yc3QKaW5kZXggMTE0ZWMwOS4uNTdlMjNmOSAxMDA2NDQKLS0tIGEvRG9jL2hvd3RvL2xvZ2dpbmctY29va2Jvb2sucnN0CisrKyBiL0RvYy9ob3d0by9sb2dnaW5nLWNvb2tib29rLnJzdApAQCAtMTY4MCw3ICsxNjgwLDcgQEAKIAogICAgIGRlZiBtYWluKCk6CiAgICAgICAgIGxvZ2dpbmcuYmFzaWNDb25maWcobGV2ZWw9bG9nZ2luZy5JTkZPLCBmb3JtYXQ9JyUobWVzc2FnZSlzJykKLSAgICAgICAgbG9nZ2luZy5pbmZvKF8oJ21lc3NhZ2UgMScsIHNldF92YWx1ZT1zZXQoWzEsIDIsIDNdKSwgc25vd21hbj0nXHUyNjAzJykpCisgICAgICAgIGxvZ2dpbmcuaW5mbyhfKCdtZXNzYWdlIDEnLCBzZXRfdmFsdWU9ezEsIDIsIDN9LCBzbm93bWFuPSdcdTI2MDMnKSkKIAogICAgIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CiAgICAgICAgIG1haW4oKQpkaWZmIC0tZ2l0IGEvRG9jL2hvd3RvL3JlZ2V4LnJzdCBiL0RvYy9ob3d0by9yZWdleC5yc3QKaW5kZXggZmJlNzYzYi4uOWFlMDRkNyAxMDA2NDQKLS0tIGEvRG9jL2hvd3RvL3JlZ2V4LnJzdAorKysgYi9Eb2MvaG93dG8vcmVnZXgucnN0CkBAIC04NTIsNyArODUyLDcgQEAKIHByb2JsZW0uICBCb3RoIG9mIHRoZW0gdXNlIGEgY29tbW9uIHN5bnRheCBmb3IgcmVndWxhciBleHByZXNzaW9uIGV4dGVuc2lvbnMsIHNvCiB3ZSdsbCBsb29rIGF0IHRoYXQgZmlyc3QuCiAKLVBlcmwgNSBpcyB3ZWxsLWtub3duIGZvciBpdHMgcG93ZXJmdWwgYWRkaXRpb25zIHRvIHN0YW5kYXJkIHJlZ3VsYXIgZXhwcmVzc2lvbnMuCitQZXJsIDUgaXMgd2VsbCBrbm93biBmb3IgaXRzIHBvd2VyZnVsIGFkZGl0aW9ucyB0byBzdGFuZGFyZCByZWd1bGFyIGV4cHJlc3Npb25zLgogRm9yIHRoZXNlIG5ldyBmZWF0dXJlcyB0aGUgUGVybCBkZXZlbG9wZXJzIGNvdWxkbid0IGNob29zZSBuZXcgc2luZ2xlLWtleXN0cm9rZSBtZXRhY2hhcmFjdGVycwogb3IgbmV3IHNwZWNpYWwgc2VxdWVuY2VzIGJlZ2lubmluZyB3aXRoIGBgXGBgIHdpdGhvdXQgbWFraW5nIFBlcmwncyByZWd1bGFyCiBleHByZXNzaW9ucyBjb25mdXNpbmdseSBkaWZmZXJlbnQgZnJvbSBzdGFuZGFyZCBSRXMuICBJZiB0aGV5IGNob3NlIGBgJmBgIGFzIGEKZGlmZiAtLWdpdCBhL0RvYy9ob3d0by9zb2NrZXRzLnJzdCBiL0RvYy9ob3d0by9zb2NrZXRzLnJzdAppbmRleCBkNWFmZjkwLi4wNDM5NGQ0IDEwMDY0NAotLS0gYS9Eb2MvaG93dG8vc29ja2V0cy5yc3QKKysrIGIvRG9jL2hvd3RvL3NvY2tldHMucnN0CkBAIC0yMzQsNyArMjM0LDcgQEAKIGZvbGxvd2luZyBtZXNzYWdlLiBZb3UnbGwgbmVlZCB0byBwdXQgdGhhdCBhc2lkZSBhbmQgaG9sZCBvbnRvIGl0LCB1bnRpbCBpdCdzCiBuZWVkZWQuCiAKLVByZWZpeGluZyB0aGUgbWVzc2FnZSB3aXRoIGl0J3MgbGVuZ3RoIChzYXksIGFzIDUgbnVtZXJpYyBjaGFyYWN0ZXJzKSBnZXRzIG1vcmUKK1ByZWZpeGluZyB0aGUgbWVzc2FnZSB3aXRoIGl0cyBsZW5ndGggKHNheSwgYXMgNSBudW1lcmljIGNoYXJhY3RlcnMpIGdldHMgbW9yZQogY29tcGxleCwgYmVjYXVzZSAoYmVsaWV2ZSBpdCBvciBub3QpLCB5b3UgbWF5IG5vdCBnZXQgYWxsIDUgY2hhcmFjdGVycyBpbiBvbmUKIGBgcmVjdmBgLiBJbiBwbGF5aW5nIGFyb3VuZCwgeW91J2xsIGdldCBhd2F5IHdpdGggaXQ7IGJ1dCBpbiBoaWdoIG5ldHdvcmsgbG9hZHMsCiB5b3VyIGNvZGUgd2lsbCB2ZXJ5IHF1aWNrbHkgYnJlYWsgdW5sZXNzIHlvdSB1c2UgdHdvIGBgcmVjdmBgIGxvb3BzIC0gdGhlIGZpcnN0CmRpZmYgLS1naXQgYS9Eb2MvaG93dG8vdW5pY29kZS5yc3QgYi9Eb2MvaG93dG8vdW5pY29kZS5yc3QKaW5kZXggYjQ5YWMzOS4uZWUzMWE5YyAxMDA2NDQKLS0tIGEvRG9jL2hvd3RvL3VuaWNvZGUucnN0CisrKyBiL0RvYy9ob3d0by91bmljb2RlLnJzdApAQCAtMjgwLDggKzI4MCw5IEBACiBUaGUgKmVycm9ycyogYXJndW1lbnQgc3BlY2lmaWVzIHRoZSByZXNwb25zZSB3aGVuIHRoZSBpbnB1dCBzdHJpbmcgY2FuJ3QgYmUKIGNvbnZlcnRlZCBhY2NvcmRpbmcgdG8gdGhlIGVuY29kaW5nJ3MgcnVsZXMuICBMZWdhbCB2YWx1ZXMgZm9yIHRoaXMgYXJndW1lbnQgYXJlCiBgYCdzdHJpY3QnYGAgKHJhaXNlIGEgOmV4YzpgVW5pY29kZURlY29kZUVycm9yYCBleGNlcHRpb24pLCBgYCdyZXBsYWNlJ2BgICh1c2UKLWBgVStGRkZEYGAsIGBgUkVQTEFDRU1FTlQgQ0hBUkFDVEVSYGApLCBvciBgYCdpZ25vcmUnYGAgKGp1c3QgbGVhdmUgdGhlCi1jaGFyYWN0ZXIgb3V0IG9mIHRoZSBVbmljb2RlIHJlc3VsdCkuCitgYFUrRkZGRGBgLCBgYFJFUExBQ0VNRU5UIENIQVJBQ1RFUmBgKSwgYGAnaWdub3JlJ2BgIChqdXN0IGxlYXZlIHRoZQorY2hhcmFjdGVyIG91dCBvZiB0aGUgVW5pY29kZSByZXN1bHQpLCBvciBgYCdiYWNrc2xhc2hyZXBsYWNlJ2BgIChpbnNlcnRzIGEKK2BgXHhOTmBgIGVzY2FwZSBzZXF1ZW5jZSkuCiBUaGUgZm9sbG93aW5nIGV4YW1wbGVzIHNob3cgdGhlIGRpZmZlcmVuY2VzOjoKIAogICAgID4+PiBiJ1x4ODBhYmMnLmRlY29kZSgidXRmLTgiLCAic3RyaWN0IikgICNkb2N0ZXN0OiArTk9STUFMSVpFX1dISVRFU1BBQ0UKQEAgLTI5MSw2ICsyOTIsOCBAQAogICAgICAgaW52YWxpZCBzdGFydCBieXRlCiAgICAgPj4+IGInXHg4MGFiYycuZGVjb2RlKCJ1dGYtOCIsICJyZXBsYWNlIikKICAgICAnXHVmZmZkYWJjJworICAgID4+PiBiJ1x4ODBhYmMnLmRlY29kZSgidXRmLTgiLCAiYmFja3NsYXNocmVwbGFjZSIpCisgICAgJ1xceDgwYWJjJwogICAgID4+PiBiJ1x4ODBhYmMnLmRlY29kZSgidXRmLTgiLCAiaWdub3JlIikKICAgICAnYWJjJwogCkBAIC0zMjUsOCArMzI4LDkgQEAKIDptZXRoOmB+Ynl0ZXMuZGVjb2RlYCBtZXRob2QgYnV0IHN1cHBvcnRzIGEgZmV3IG1vcmUgcG9zc2libGUgaGFuZGxlcnMuIEFzIHdlbGwgYXMKIGBgJ3N0cmljdCdgYCwgYGAnaWdub3JlJ2BgLCBhbmQgYGAncmVwbGFjZSdgYCAod2hpY2ggaW4gdGhpcyBjYXNlCiBpbnNlcnRzIGEgcXVlc3Rpb24gbWFyayBpbnN0ZWFkIG9mIHRoZSB1bmVuY29kYWJsZSBjaGFyYWN0ZXIpLCB0aGVyZSBpcwotYWxzbyBgYCd4bWxjaGFycmVmcmVwbGFjZSdgYCAoaW5zZXJ0cyBhbiBYTUwgY2hhcmFjdGVyIHJlZmVyZW5jZSkgYW5kCi1gYGJhY2tzbGFzaHJlcGxhY2VgYCAoaW5zZXJ0cyBhIGBgXHVOTk5OYGAgZXNjYXBlIHNlcXVlbmNlKS4KK2Fsc28gYGAneG1sY2hhcnJlZnJlcGxhY2UnYGAgKGluc2VydHMgYW4gWE1MIGNoYXJhY3RlciByZWZlcmVuY2UpLAorYGBiYWNrc2xhc2hyZXBsYWNlYGAgKGluc2VydHMgYSBgYFx1Tk5OTmBgIGVzY2FwZSBzZXF1ZW5jZSkgYW5kCitgYG5hbWVyZXBsYWNlYGAgKGluc2VydHMgYSBgYFxOey4uLn1gYCBlc2NhcGUgc2VxdWVuY2UpLgogCiBUaGUgZm9sbG93aW5nIGV4YW1wbGUgc2hvd3MgdGhlIGRpZmZlcmVudCByZXN1bHRzOjoKIApAQCAtMzQ2LDYgKzM1MCw4IEBACiAgICAgYicmIzQwOTYwO2FiY2QmIzE5NzI7JwogICAgID4+PiB1LmVuY29kZSgnYXNjaWknLCAnYmFja3NsYXNocmVwbGFjZScpCiAgICAgYidcXHVhMDAwYWJjZFxcdTA3YjQnCisgICAgPj4+IHUuZW5jb2RlKCdhc2NpaScsICduYW1lcmVwbGFjZScpCisgICAgYidcXE57WUkgU1lMTEFCTEUgSVR9YWJjZFxcdTA3YjQnCiAKIFRoZSBsb3ctbGV2ZWwgcm91dGluZXMgZm9yIHJlZ2lzdGVyaW5nIGFuZCBhY2Nlc3NpbmcgdGhlIGF2YWlsYWJsZQogZW5jb2RpbmdzIGFyZSBmb3VuZCBpbiB0aGUgOm1vZDpgY29kZWNzYCBtb2R1bGUuICBJbXBsZW1lbnRpbmcgbmV3CmRpZmYgLS1naXQgYS9Eb2MvaW5jbHVkZXMvcnVuLWZ1bmMuYyBiL0RvYy9pbmNsdWRlcy9ydW4tZnVuYy5jCmluZGV4IDFjOTg2MGQuLjk4NmQ2NzAgMTAwNjQ0Ci0tLSBhL0RvYy9pbmNsdWRlcy9ydW4tZnVuYy5jCisrKyBiL0RvYy9pbmNsdWRlcy9ydW4tZnVuYy5jCkBAIC0xMyw3ICsxMyw3IEBACiAgICAgfQogCiAgICAgUHlfSW5pdGlhbGl6ZSgpOwotICAgIHBOYW1lID0gUHlVbmljb2RlX0Zyb21TdHJpbmcoYXJndlsxXSk7CisgICAgcE5hbWUgPSBQeVVuaWNvZGVfRGVjb2RlRlNEZWZhdWx0KGFyZ3ZbMV0pOwogICAgIC8qIEVycm9yIGNoZWNraW5nIG9mIHBOYW1lIGxlZnQgb3V0ICovCiAKICAgICBwTW9kdWxlID0gUHlJbXBvcnRfSW1wb3J0KHBOYW1lKTsKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2FyZ3BhcnNlLnJzdCBiL0RvYy9saWJyYXJ5L2FyZ3BhcnNlLnJzdAppbmRleCA3M2Y5NDgwLi44YjNkOWZjIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9hcmdwYXJzZS5yc3QKKysrIGIvRG9jL2xpYnJhcnkvYXJncGFyc2UucnN0CkBAIC0xOTEwLDcgKzE5MTAsNyBAQAogCiAgICBBcmd1bWVudHMgdGhhdCBhcmUgcmVhZCBmcm9tIGEgZmlsZSAoc2VlIHRoZSAqZnJvbWZpbGVfcHJlZml4X2NoYXJzKgogICAga2V5d29yZCBhcmd1bWVudCB0byB0aGUgOmNsYXNzOmBBcmd1bWVudFBhcnNlcmAgY29uc3RydWN0b3IpIGFyZSByZWFkIG9uZQotICAgYXJndW1lbnQgcGVyIGxpbmUuIDptZXRoOmBjb252ZXJ0X2FyZ19saW5lX3RvX2FyZ3NgIGNhbiBiZSBvdmVycmlkZW4gZm9yCisgICBhcmd1bWVudCBwZXIgbGluZS4gOm1ldGg6YGNvbnZlcnRfYXJnX2xpbmVfdG9fYXJnc2AgY2FuIGJlIG92ZXJyaWRkZW4gZm9yCiAgICBmYW5jaWVyIHJlYWRpbmcuCiAKICAgIFRoaXMgbWV0aG9kIHRha2VzIGEgc2luZ2xlIGFyZ3VtZW50ICphcmdfbGluZSogd2hpY2ggaXMgYSBzdHJpbmcgcmVhZCBmcm9tCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9hc3luY2hhdC5yc3QgYi9Eb2MvbGlicmFyeS9hc3luY2hhdC5yc3QKaW5kZXggYzZmYTA2MS4uNzk0ZGE4YyAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvYXN5bmNoYXQucnN0CisrKyBiL0RvYy9saWJyYXJ5L2FzeW5jaGF0LnJzdApAQCAtMTQ3LDQwICsxNDcsNiBAQAogICAgYnkgdGhlIGNoYW5uZWwgYWZ0ZXIgOm1ldGg6YGZvdW5kX3Rlcm1pbmF0b3JgIGlzIGNhbGxlZC4KIAogCi1hc3luY2hhdCAtIEF1eGlsaWFyeSBDbGFzc2VzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotLi4gY2xhc3M6OiBmaWZvKGxpc3Q9Tm9uZSkKLQotICAgQSA6Y2xhc3M6YGZpZm9gIGhvbGRpbmcgZGF0YSB3aGljaCBoYXMgYmVlbiBwdXNoZWQgYnkgdGhlIGFwcGxpY2F0aW9uIGJ1dAotICAgbm90IHlldCBwb3BwZWQgZm9yIHdyaXRpbmcgdG8gdGhlIGNoYW5uZWwuICBBIDpjbGFzczpgZmlmb2AgaXMgYSBsaXN0IHVzZWQKLSAgIHRvIGhvbGQgZGF0YSBhbmQvb3IgcHJvZHVjZXJzIHVudGlsIHRoZXkgYXJlIHJlcXVpcmVkLiAgSWYgdGhlICpsaXN0KgotICAgYXJndW1lbnQgaXMgcHJvdmlkZWQgdGhlbiBpdCBzaG91bGQgY29udGFpbiBwcm9kdWNlcnMgb3IgZGF0YSBpdGVtcyB0byBiZQotICAgd3JpdHRlbiB0byB0aGUgY2hhbm5lbC4KLQotCi0gICAuLiBtZXRob2Q6OiBpc19lbXB0eSgpCi0KLSAgICAgIFJldHVybnMgYGBUcnVlYGAgaWYgYW5kIG9ubHkgaWYgdGhlIGZpZm8gaXMgZW1wdHkuCi0KLQotICAgLi4gbWV0aG9kOjogZmlyc3QoKQotCi0gICAgICBSZXR1cm5zIHRoZSBsZWFzdC1yZWNlbnRseSA6bWV0aDpgcHVzaGBcIGVkIGl0ZW0gZnJvbSB0aGUgZmlmby4KLQotCi0gICAuLiBtZXRob2Q6OiBwdXNoKGRhdGEpCi0KLSAgICAgIEFkZHMgdGhlIGdpdmVuIGRhdGEgKHdoaWNoIG1heSBiZSBhIHN0cmluZyBvciBhIHByb2R1Y2VyIG9iamVjdCkgdG8gdGhlCi0gICAgICBwcm9kdWNlciBmaWZvLgotCi0KLSAgIC4uIG1ldGhvZDo6IHBvcCgpCi0KLSAgICAgIElmIHRoZSBmaWZvIGlzIG5vdCBlbXB0eSwgcmV0dXJucyBgYFRydWUsIGZpcnN0KClgYCwgZGVsZXRpbmcgdGhlIHBvcHBlZAotICAgICAgaXRlbS4gIFJldHVybnMgYGBGYWxzZSwgTm9uZWBgIGZvciBhbiBlbXB0eSBmaWZvLgotCi0KIC4uIF9hc3luY2hhdC1leGFtcGxlOgogCiBhc3luY2hhdCBFeGFtcGxlCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9hc3luY2lvLWV2ZW50bG9vcHMucnN0IGIvRG9jL2xpYnJhcnkvYXN5bmNpby1ldmVudGxvb3BzLnJzdAppbmRleCBhZmI4YjlmLi5hZTNiZjkwIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9hc3luY2lvLWV2ZW50bG9vcHMucnN0CisrKyBiL0RvYy9saWJyYXJ5L2FzeW5jaW8tZXZlbnRsb29wcy5yc3QKQEAgLTEwMCw4ICsxMDAsNiBAQAogCiA6Y2xhc3M6YFByb2FjdG9yRXZlbnRMb29wYCBzcGVjaWZpYyBsaW1pdHM6CiAKLS0gU1NMIGlzIG5vdCBzdXBwb3J0ZWQ6IDptZXRoOmB+QmFzZUV2ZW50TG9vcC5jcmVhdGVfY29ubmVjdGlvbmAgYW5kCi0gIDptZXRoOmB+QmFzZUV2ZW50TG9vcC5jcmVhdGVfc2VydmVyYCBjYW5ub3QgYmUgdXNlZCB3aXRoIFNTTCBmb3IgZXhhbXBsZQogLSA6bWV0aDpgfkJhc2VFdmVudExvb3AuY3JlYXRlX2RhdGFncmFtX2VuZHBvaW50YCAoVURQKSBpcyBub3Qgc3VwcG9ydGVkCiAtIDptZXRoOmB+QmFzZUV2ZW50TG9vcC5hZGRfcmVhZGVyYCBhbmQgOm1ldGg6YH5CYXNlRXZlbnRMb29wLmFkZF93cml0ZXJgIGFyZQogICBub3Qgc3VwcG9ydGVkCkBAIC0xMTIsNiArMTEwLDEwIEBACiA8aHR0cDovL2ZyLndpa2lwZWRpYS5vcmcvd2lraS9IaWdoX1ByZWNpc2lvbl9FdmVudF9UaW1lcj5gXykgYW5kIG9uIHRoZSBXaW5kb3dzCiBjb25maWd1cmF0aW9uLiBTZWUgOnJlZjpgYXN5bmNpbyBkZWxheWVkIGNhbGxzIDxhc3luY2lvLWRlbGF5ZWQtY2FsbHM+YC4KIAorLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKworICAgOmNsYXNzOmBQcm9hY3RvckV2ZW50TG9vcGAgbm93IHN1cHBvcnRzIFNTTC4KKwogCiBNYWMgT1MgWAogXl5eXl5eXl4KZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2NnaS5yc3QgYi9Eb2MvbGlicmFyeS9jZ2kucnN0CmluZGV4IGZhMTMxNDUuLjBhOWU4ODQgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2NnaS5yc3QKKysrIGIvRG9jL2xpYnJhcnkvY2dpLnJzdApAQCAtMTU3LDYgKzE1Nyw5IEBACiAgICAgICAgICAgIGlmIG5vdCBsaW5lOiBicmVhawogICAgICAgICAgICBsaW5lY291bnQgPSBsaW5lY291bnQgKyAxCiAKKzpjbGFzczpgRmllbGRTdG9yYWdlYCBvYmplY3RzIGFsc28gc3VwcG9ydCBiZWluZyB1c2VkIGluIGEgOmtleXdvcmQ6YHdpdGhgCitzdGF0ZW1lbnQsIHdoaWNoIHdpbGwgYXV0b21hdGljYWxseSBjbG9zZSB0aGVtIHdoZW4gZG9uZS4KKwogSWYgYW4gZXJyb3IgaXMgZW5jb3VudGVyZWQgd2hlbiBvYnRhaW5pbmcgdGhlIGNvbnRlbnRzIG9mIGFuIHVwbG9hZGVkIGZpbGUKIChmb3IgZXhhbXBsZSwgd2hlbiB0aGUgdXNlciBpbnRlcnJ1cHRzIHRoZSBmb3JtIHN1Ym1pc3Npb24gYnkgY2xpY2tpbmcgb24KIGEgQmFjayBvciBDYW5jZWwgYnV0dG9uKSB0aGUgOmF0dHI6YH5GaWVsZFN0b3JhZ2UuZG9uZWAgYXR0cmlidXRlIG9mIHRoZQpAQCAtMTgyLDYgKzE4NSwxMCBAQAogICAgVGhlIDphdHRyOmB+RmllbGRTdG9yYWdlLmZpbGVgIGF0dHJpYnV0ZSBpcyBhdXRvbWF0aWNhbGx5IGNsb3NlZCB1cG9uIHRoZQogICAgZ2FyYmFnZSBjb2xsZWN0aW9uIG9mIHRoZSBjcmVhdGluZyA6Y2xhc3M6YEZpZWxkU3RvcmFnZWAgaW5zdGFuY2UuCiAKKy4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICBBZGRlZCBzdXBwb3J0IGZvciB0aGUgY29udGV4dCBtYW5hZ2VtZW50IHByb3RvY29sIHRvIHRoZQorICAgOmNsYXNzOmBGaWVsZFN0b3JhZ2VgIGNsYXNzLgorCiAKIEhpZ2hlciBMZXZlbCBJbnRlcmZhY2UKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2NtZC5yc3QgYi9Eb2MvbGlicmFyeS9jbWQucnN0CmluZGV4IDgwZDJhNWQuLjFhYjJkNzQgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2NtZC5yc3QKKysrIGIvRG9jL2xpYnJhcnkvY21kLnJzdApAQCAtMjU5LDcgKzI1OSw3IEBACiAgICAgICAgICAgICAnTW92ZSB0dXJ0bGUgdG8gYW4gYWJzb2x1dGUgcG9zaXRpb24gd2l0aCBjaGFuZ2luZyBvcmllbnRhdGlvbi4gIEdPVE8gMTAwIDIwMCcKICAgICAgICAgICAgIGdvdG8oKnBhcnNlKGFyZykpCiAgICAgICAgIGRlZiBkb19ob21lKHNlbGYsIGFyZyk6Ci0gICAgICAgICAgICAnUmV0dXJuIHR1cnRsZSB0byB0aGUgaG9tZSBwb3N0aW9uOiAgSE9NRScKKyAgICAgICAgICAgICdSZXR1cm4gdHVydGxlIHRvIHRoZSBob21lIHBvc2l0aW9uOiAgSE9NRScKICAgICAgICAgICAgIGhvbWUoKQogICAgICAgICBkZWYgZG9fY2lyY2xlKHNlbGYsIGFyZyk6CiAgICAgICAgICAgICAnRHJhdyBjaXJjbGUgd2l0aCBnaXZlbiByYWRpdXMgYW4gb3B0aW9ucyBleHRlbnQgYW5kIHN0ZXBzOiAgQ0lSQ0xFIDUwJwpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvY29kZS5yc3QgYi9Eb2MvbGlicmFyeS9jb2RlLnJzdAppbmRleCA1YjVkN2NjLi4yNzUyMDFjIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9jb2RlLnJzdAorKysgYi9Eb2MvbGlicmFyeS9jb2RlLnJzdApAQCAtNCw2ICs0LDcgQEAKIC4uIG1vZHVsZTo6IGNvZGUKICAgIDpzeW5vcHNpczogRmFjaWxpdGllcyB0byBpbXBsZW1lbnQgcmVhZC1ldmFsLXByaW50IGxvb3BzLgogCisqKlNvdXJjZSBjb2RlOioqIDpzb3VyY2U6YExpYi9jb2RlLnB5YAogCiBUaGUgYGBjb2RlYGAgbW9kdWxlIHByb3ZpZGVzIGZhY2lsaXRpZXMgdG8gaW1wbGVtZW50IHJlYWQtZXZhbC1wcmludCBsb29wcyBpbgogUHl0aG9uLiAgVHdvIGNsYXNzZXMgYW5kIGNvbnZlbmllbmNlIGZ1bmN0aW9ucyBhcmUgaW5jbHVkZWQgd2hpY2ggY2FuIGJlIHVzZWQgdG8KQEAgLTExMyw2ICsxMTQsOSBAQAogICAgYmVjYXVzZSBpdCBpcyB3aXRoaW4gdGhlIGludGVycHJldGVyIG9iamVjdCBpbXBsZW1lbnRhdGlvbi4gVGhlIG91dHB1dCBpcwogICAgd3JpdHRlbiBieSB0aGUgOm1ldGg6YHdyaXRlYCBtZXRob2QuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41IFRoZSBmdWxsIGNoYWluZWQgdHJhY2ViYWNrIGlzIGRpc3BsYXllZCBpbnN0ZWFkCisgICAgICBvZiBqdXN0IHRoZSBwcmltYXJ5IHRyYWNlYmFjay4KKwogCiAuLiBtZXRob2Q6OiBJbnRlcmFjdGl2ZUludGVycHJldGVyLndyaXRlKGRhdGEpCiAKQEAgLTE2NSw0ICsxNjksMyBAQAogICAgbmV3bGluZS4gIFdoZW4gdGhlIHVzZXIgZW50ZXJzIHRoZSBFT0Yga2V5IHNlcXVlbmNlLCA6ZXhjOmBFT0ZFcnJvcmAgaXMgcmFpc2VkLgogICAgVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gcmVhZHMgZnJvbSBgYHN5cy5zdGRpbmBgOyBhIHN1YmNsYXNzIG1heSByZXBsYWNlIHRoaXMKICAgIHdpdGggYSBkaWZmZXJlbnQgaW1wbGVtZW50YXRpb24uCi0KZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2NvZGVjcy5yc3QgYi9Eb2MvbGlicmFyeS9jb2RlY3MucnN0CmluZGV4IGRkNDRjYjIuLjA0OGYwZTkgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2NvZGVjcy5yc3QKKysrIGIvRG9jL2xpYnJhcnkvY29kZWNzLnJzdApAQCAtNyw2ICs3LDcgQEAKIC4uIHNlY3Rpb25hdXRob3I6OiBNYXJjLUFuZHLDqSBMZW1idXJnIDxtYWxAbGVtYnVyZy5jb20+CiAuLiBzZWN0aW9uYXV0aG9yOjogTWFydGluIHYuIEzDtndpcyA8bWFydGluQHYubG9ld2lzLmRlPgogCisqKlNvdXJjZSBjb2RlOioqIDpzb3VyY2U6YExpYi9jb2RlY3MucHlgCiAKIC4uIGluZGV4OjoKICAgIHNpbmdsZTogVW5pY29kZQpAQCAtMjksMTAgKzMwLDkgQEAKIFRoZSBtb2R1bGUgZGVmaW5lcyB0aGUgZm9sbG93aW5nIGZ1bmN0aW9ucyBmb3IgZW5jb2RpbmcgYW5kIGRlY29kaW5nIHdpdGgKIGFueSBjb2RlYzoKIAotLi4gZnVuY3Rpb246OiBlbmNvZGUob2JqLCBbZW5jb2RpbmdbLCBlcnJvcnNdXSkKKy4uIGZ1bmN0aW9uOjogZW5jb2RlKG9iaiwgZW5jb2Rpbmc9J3V0Zi04JywgZXJyb3JzPSdzdHJpY3QnKQogCi0gICBFbmNvZGVzICpvYmoqIHVzaW5nIHRoZSBjb2RlYyByZWdpc3RlcmVkIGZvciAqZW5jb2RpbmcqLiBUaGUgZGVmYXVsdAotICAgZW5jb2RpbmcgaXMgYGB1dGYtOGBgLgorICAgRW5jb2RlcyAqb2JqKiB1c2luZyB0aGUgY29kZWMgcmVnaXN0ZXJlZCBmb3IgKmVuY29kaW5nKi4KIAogICAgKkVycm9ycyogbWF5IGJlIGdpdmVuIHRvIHNldCB0aGUgZGVzaXJlZCBlcnJvciBoYW5kbGluZyBzY2hlbWUuIFRoZQogICAgZGVmYXVsdCBlcnJvciBoYW5kbGVyIGlzIGBgJ3N0cmljdCdgYCBtZWFuaW5nIHRoYXQgZW5jb2RpbmcgZXJyb3JzIHJhaXNlCkBAIC00MCwxMCArNDAsOSBAQAogICAgOmV4YzpgVW5pY29kZUVuY29kZUVycm9yYCkuIFJlZmVyIHRvIDpyZWY6YGNvZGVjLWJhc2UtY2xhc3Nlc2AgZm9yIG1vcmUKICAgIGluZm9ybWF0aW9uIG9uIGNvZGVjIGVycm9yIGhhbmRsaW5nLgogCi0uLiBmdW5jdGlvbjo6IGRlY29kZShvYmosIFtlbmNvZGluZ1ssIGVycm9yc11dKQorLi4gZnVuY3Rpb246OiBkZWNvZGUob2JqLCBlbmNvZGluZz0ndXRmLTgnLCBlcnJvcnM9J3N0cmljdCcpCiAKLSAgIERlY29kZXMgKm9iaiogdXNpbmcgdGhlIGNvZGVjIHJlZ2lzdGVyZWQgZm9yICplbmNvZGluZyouIFRoZSBkZWZhdWx0Ci0gICBlbmNvZGluZyBpcyBgYHV0Zi04YGAuCisgICBEZWNvZGVzICpvYmoqIHVzaW5nIHRoZSBjb2RlYyByZWdpc3RlcmVkIGZvciAqZW5jb2RpbmcqLgogCiAgICAqRXJyb3JzKiBtYXkgYmUgZ2l2ZW4gdG8gc2V0IHRoZSBkZXNpcmVkIGVycm9yIGhhbmRsaW5nIHNjaGVtZS4gVGhlCiAgICBkZWZhdWx0IGVycm9yIGhhbmRsZXIgaXMgYGAnc3RyaWN0J2BgIG1lYW5pbmcgdGhhdCBkZWNvZGluZyBlcnJvcnMgcmFpc2UKQEAgLTEwNCw3ICsxMDMsNiBAQAogVG8gc2ltcGxpZnkgYWNjZXNzIHRvIHRoZSB2YXJpb3VzIGNvZGVjIGNvbXBvbmVudHMsIHRoZSBtb2R1bGUgcHJvdmlkZXMKIHRoZXNlIGFkZGl0aW9uYWwgZnVuY3Rpb25zIHdoaWNoIHVzZSA6ZnVuYzpgbG9va3VwYCBmb3IgdGhlIGNvZGVjIGxvb2t1cDoKIAotCiAuLiBmdW5jdGlvbjo6IGdldGVuY29kZXIoZW5jb2RpbmcpCiAKICAgIExvb2sgdXAgdGhlIGNvZGVjIGZvciB0aGUgZ2l2ZW4gZW5jb2RpbmcgYW5kIHJldHVybiBpdHMgZW5jb2RlciBmdW5jdGlvbi4KQEAgLTI3NCw2ICsyNzIsNyBAQAogY29kZWMgd2lsbCBoYW5kbGUgZW5jb2RpbmcgYW5kIGRlY29kaW5nIGVycm9ycy4KIAogCisuLiBfc3Vycm9nYXRlZXNjYXBlOgogLi4gX2Vycm9yLWhhbmRsZXJzOgogCiBFcnJvciBIYW5kbGVycwpAQCAtMzE1LDEwICszMTQsMTQgQEAKIHwgICAgICAgICAgICAgICAgICAgICAgICAgfCByZWZlcmVuY2UgKG9ubHkgZm9yIGVuY29kaW5nKS4gIEltcGxlbWVudGVkICAgfAogfCAgICAgICAgICAgICAgICAgICAgICAgICB8IGluIDpmdW5jOmB4bWxjaGFycmVmcmVwbGFjZV9lcnJvcnNgLiAgICAgICAgICB8CiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgYGAnYmFja3NsYXNocmVwbGFjZSdgYCAgfCBSZXBsYWNlIHdpdGggYmFja3NsYXNoZWQgZXNjYXBlIHNlcXVlbmNlcyAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICB8IChvbmx5IGZvciBlbmNvZGluZykuICBJbXBsZW1lbnRlZCBpbiAgICAgICAgICB8Cit8IGBgJ2JhY2tzbGFzaHJlcGxhY2UnYGAgIHwgUmVwbGFjZSB3aXRoIGJhY2tzbGFzaGVkIGVzY2FwZSBzZXF1ZW5jZXMuICAgIHwKK3wgICAgICAgICAgICAgICAgICAgICAgICAgfCBJbXBsZW1lbnRlZCBpbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogfCAgICAgICAgICAgICAgICAgICAgICAgICB8IDpmdW5jOmBiYWNrc2xhc2hyZXBsYWNlX2Vycm9yc2AuICAgICAgICAgICAgICB8CiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKK3wgYGAnbmFtZXJlcGxhY2UnYGAgICAgICAgfCBSZXBsYWNlIHdpdGggYGBcTnsuLi59YGAgZXNjYXBlIHNlcXVlbmNlcyAgICAgfAorfCAgICAgICAgICAgICAgICAgICAgICAgICB8IChvbmx5IGZvciBlbmNvZGluZykuICBJbXBsZW1lbnRlZCBpbiAgICAgICAgICB8Cit8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgOmZ1bmM6YG5hbWVyZXBsYWNlX2Vycm9yc2AuICAgICAgICAgICAgICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogfCBgYCdzdXJyb2dhdGVlc2NhcGUnYGAgICB8IE9uIGRlY29kaW5nLCByZXBsYWNlIGJ5dGUgd2l0aCBpbmRpdmlkdWFsICAgICB8CiB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgc3Vycm9nYXRlIGNvZGUgcmFuZ2luZyBmcm9tIGBgVStEQzgwYGAgdG8gICAgIHwKIHwgICAgICAgICAgICAgICAgICAgICAgICAgfCBgYFUrRENGRmBgLiAgVGhpcyBjb2RlIHdpbGwgdGhlbiBiZSB0dXJuZWQgICAgfApAQCAtMzQ0LDYgKzM0NywxMyBAQAogLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjQKICAgIFRoZSBgYCdzdXJyb2dhdGVwYXNzJ2BgIGVycm9yIGhhbmRsZXJzIG5vdyB3b3JrcyB3aXRoIHV0Zi0xNlwqIGFuZCB1dGYtMzJcKiBjb2RlY3MuCiAKKy4uIHZlcnNpb25hZGRlZDo6IDMuNQorICAgVGhlIGBgJ25hbWVyZXBsYWNlJ2BgIGVycm9yIGhhbmRsZXIuCisKKy4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICBUaGUgYGAnYmFja3NsYXNocmVwbGFjZSdgYCBlcnJvciBoYW5kbGVycyBub3cgd29ya3Mgd2l0aCBkZWNvZGluZyBhbmQKKyAgIHRyYW5zbGF0aW5nLgorCiBUaGUgc2V0IG9mIGFsbG93ZWQgdmFsdWVzIGNhbiBiZSBleHRlbmRlZCBieSByZWdpc3RlcmluZyBhIG5ldyBuYW1lZCBlcnJvcgogaGFuZGxlcjoKIApAQCAtNDExLDkgKzQyMSwxNyBAQAogCiAuLiBmdW5jdGlvbjo6IGJhY2tzbGFzaHJlcGxhY2VfZXJyb3JzKGV4Y2VwdGlvbikKIAotICAgSW1wbGVtZW50cyB0aGUgYGAnYmFja3NsYXNocmVwbGFjZSdgYCBlcnJvciBoYW5kbGluZyAoZm9yIGVuY29kaW5nIHdpdGgKKyAgIEltcGxlbWVudHMgdGhlIGBgJ2JhY2tzbGFzaHJlcGxhY2UnYGAgZXJyb3IgaGFuZGxpbmcgKGZvcgorICAgOnRlcm06YHRleHQgZW5jb2RpbmdzIDx0ZXh0IGVuY29kaW5nPmAgb25seSk6IG1hbGZvcm1lZCBkYXRhIGlzCisgICByZXBsYWNlZCBieSBhIGJhY2tzbGFzaGVkIGVzY2FwZSBzZXF1ZW5jZS4KKworLi4gZnVuY3Rpb246OiBuYW1lcmVwbGFjZV9lcnJvcnMoZXhjZXB0aW9uKQorCisgICBJbXBsZW1lbnRzIHRoZSBgYCduYW1lcmVwbGFjZSdgYCBlcnJvciBoYW5kbGluZyAoZm9yIGVuY29kaW5nIHdpdGgKICAgIDp0ZXJtOmB0ZXh0IGVuY29kaW5ncyA8dGV4dCBlbmNvZGluZz5gIG9ubHkpOiB0aGUKLSAgIHVuZW5jb2RhYmxlIGNoYXJhY3RlciBpcyByZXBsYWNlZCBieSBhIGJhY2tzbGFzaGVkIGVzY2FwZSBzZXF1ZW5jZS4KKyAgIHVuZW5jb2RhYmxlIGNoYXJhY3RlciBpcyByZXBsYWNlZCBieSBhIGBgXE57Li4ufWBgIGVzY2FwZSBzZXF1ZW5jZS4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CiAKIAogLi4gX2NvZGVjLW9iamVjdHM6CkBAIC0xNDQ0LDQgKzE0NjIsMyBAQAogQk9NIHdpbGwgYmUgcHJlcGVuZGVkIHRvIHRoZSBVVEYtOCBlbmNvZGVkIGJ5dGVzLiBGb3IgdGhlIHN0YXRlZnVsIGVuY29kZXIgdGhpcwogaXMgb25seSBkb25lIG9uY2UgKG9uIHRoZSBmaXJzdCB3cml0ZSB0byB0aGUgYnl0ZSBzdHJlYW0pLiAgRm9yIGRlY29kaW5nIGFuCiBvcHRpb25hbCBVVEYtOCBlbmNvZGVkIEJPTSBhdCB0aGUgc3RhcnQgb2YgdGhlIGRhdGEgd2lsbCBiZSBza2lwcGVkLgotCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9jb2xsZWN0aW9ucy5hYmMucnN0IGIvRG9jL2xpYnJhcnkvY29sbGVjdGlvbnMuYWJjLnJzdAppbmRleCA1OTllOWZhLi45OWM0MzExIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9jb2xsZWN0aW9ucy5hYmMucnN0CisrKyBiL0RvYy9saWJyYXJ5L2NvbGxlY3Rpb25zLmFiYy5yc3QKQEAgLTE3OSw3ICsxNzksNyBAQAogKDMpCiAgICBUaGUgOmNsYXNzOmBTZXRgIG1peGluIHByb3ZpZGVzIGEgOm1ldGg6YF9oYXNoYCBtZXRob2QgdG8gY29tcHV0ZSBhIGhhc2ggdmFsdWUKICAgIGZvciB0aGUgc2V0OyBob3dldmVyLCA6bWV0aDpgX19oYXNoX19gIGlzIG5vdCBkZWZpbmVkIGJlY2F1c2Ugbm90IGFsbCBzZXRzCi0gICBhcmUgaGFzaGFibGUgb3IgaW1tdXRhYmxlLiAgVG8gYWRkIHNldCBoYXNoYWJpbHR5IHVzaW5nIG1peGlucywKKyAgIGFyZSBoYXNoYWJsZSBvciBpbW11dGFibGUuICBUbyBhZGQgc2V0IGhhc2hhYmlsaXR5IHVzaW5nIG1peGlucywKICAgIGluaGVyaXQgZnJvbSBib3RoIDptZXRoOmBTZXRgIGFuZCA6bWV0aDpgSGFzaGFibGVgLCB0aGVuIGRlZmluZQogICAgYGBfX2hhc2hfXyA9IFNldC5faGFzaGBgLgogCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9jb2xsZWN0aW9ucy5yc3QgYi9Eb2MvbGlicmFyeS9jb2xsZWN0aW9ucy5yc3QKaW5kZXggMGFjZGUxMi4uYzIxZjQ1NiAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvY29sbGVjdGlvbnMucnN0CisrKyBiL0RvYy9saWJyYXJ5L2NvbGxlY3Rpb25zLnJzdApAQCAtOTgyLDEyICs5ODIsMTUgQEAKIGtleXdvcmQgYXJndW1lbnRzLCBidXQgdGhlaXIgb3JkZXIgaXMgbG9zdCBiZWNhdXNlIFB5dGhvbidzIGZ1bmN0aW9uIGNhbGwKIHNlbWFudGljcyBwYXNzLWluIGtleXdvcmQgYXJndW1lbnRzIHVzaW5nIGEgcmVndWxhciB1bm9yZGVyZWQgZGljdGlvbmFyeS4KIAorLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgIFRoZSBpdGVtcywga2V5cywgYW5kIHZhbHVlcyA6dGVybTpgdmlld3MgPHZpZXc+YCBvZiA6Y2xhc3M6YE9yZGVyZWREaWN0YCBub3cKKyAgIHN1cHBvcnQgcmV2ZXJzZSBpdGVyYXRpb24gdXNpbmcgOmZ1bmM6YHJldmVyc2VkYC4KIAogOmNsYXNzOmBPcmRlcmVkRGljdGAgRXhhbXBsZXMgYW5kIFJlY2lwZXMKIF5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eCiAKIFNpbmNlIGFuIG9yZGVyZWQgZGljdGlvbmFyeSByZW1lbWJlcnMgaXRzIGluc2VydGlvbiBvcmRlciwgaXQgY2FuIGJlIHVzZWQKLWluIGNvbmp1Y3Rpb24gd2l0aCBzb3J0aW5nIHRvIG1ha2UgYSBzb3J0ZWQgZGljdGlvbmFyeTo6CitpbiBjb25qdW5jdGlvbiB3aXRoIHNvcnRpbmcgdG8gbWFrZSBhIHNvcnRlZCBkaWN0aW9uYXJ5OjoKIAogICAgID4+PiAjIHJlZ3VsYXIgdW5zb3J0ZWQgZGljdGlvbmFyeQogICAgID4+PiBkID0geydiYW5hbmEnOiAzLCAnYXBwbGUnOjQsICdwZWFyJzogMSwgJ29yYW5nZSc6IDJ9CmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9jb21waWxlYWxsLnJzdCBiL0RvYy9saWJyYXJ5L2NvbXBpbGVhbGwucnN0CmluZGV4IDk3MTJkZTIuLjQzMDM2MmUgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2NvbXBpbGVhbGwucnN0CisrKyBiL0RvYy9saWJyYXJ5L2NvbXBpbGVhbGwucnN0CkBAIC00Miw3ICs0Miw4IEBACiAKIC4uIGNtZG9wdGlvbjo6IC1xCiAKLSAgIERvIG5vdCBwcmludCB0aGUgbGlzdCBvZiBmaWxlcyBjb21waWxlZCwgcHJpbnQgb25seSBlcnJvciBtZXNzYWdlcy4KKyAgIERvIG5vdCBwcmludCB0aGUgbGlzdCBvZiBmaWxlcyBjb21waWxlZC4gSWYgcGFzc2VkIG9uY2UsIGVycm9yIG1lc3NhZ2VzIHdpbGwKKyAgIHN0aWxsIGJlIHByaW50ZWQuIElmIHBhc3NlZCB0d2ljZSAoYGAtcXFgYCksIGFsbCBvdXRwdXQgaXMgc3VwcHJlc3NlZC4KIAogLi4gY21kb3B0aW9uOjogLWQgZGVzdGRpcgogCkBAIC03MCw5ICs3MSwyOSBAQAogICAgaXMgdG8gd3JpdGUgZmlsZXMgdG8gdGhlaXIgOnBlcDpgMzE0N2AgbG9jYXRpb25zIGFuZCBuYW1lcywgd2hpY2ggYWxsb3dzCiAgICBieXRlLWNvZGUgZmlsZXMgZnJvbSBtdWx0aXBsZSB2ZXJzaW9ucyBvZiBQeXRob24gdG8gY29leGlzdC4KIAorLi4gY21kb3B0aW9uOjogLXIKKworICAgQ29udHJvbCB0aGUgbWF4aW11bSByZWN1cnNpb24gbGV2ZWwgZm9yIHN1YmRpcmVjdG9yaWVzLgorICAgSWYgdGhpcyBpcyBnaXZlbiwgdGhlbiBgYC1sYGAgb3B0aW9uIHdpbGwgbm90IGJlIHRha2VuIGludG8gYWNjb3VudC4KKyAgIDpwcm9ncmFtOmBweXRob24gLW0gY29tcGlsZWFsbCA8ZGlyZWN0b3J5PiAtciAwYCBpcyBlcXVpdmFsZW50IHRvCisgICA6cHJvZ3JhbTpgcHl0aG9uIC1tIGNvbXBpbGVhbGwgPGRpcmVjdG9yeT4gLWxgLgorCisuLiBjbWRvcHRpb246OiAtaiBOCisKKyAgIFVzZSAqTiogd29ya2VycyB0byBjb21waWxlIHRoZSBmaWxlcyB3aXRoaW4gdGhlIGdpdmVuIGRpcmVjdG9yeS4KKyAgIElmIGBgMGBgIGlzIHVzZWQsIHRoZW4gdGhlIHJlc3VsdCBvZiA6ZnVuYzpgb3MuY3B1X2NvdW50KClgCisgICB3aWxsIGJlIHVzZWQuCisKIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4yCiAgICBBZGRlZCB0aGUgYGAtaWBgLCBgYC1iYGAgYW5kIGBgLWhgYCBvcHRpb25zLgogCisuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgQWRkZWQgdGhlICBgYC1qYGAgYW5kIGBgLXJgYCBvcHRpb25zLgorCisuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgYGAtcWBgIG9wdGlvbiB3YXMgY2hhbmdlZCB0byBhIG11bHRpbGV2ZWwgdmFsdWUuCisKKwogVGhlcmUgaXMgbm8gY29tbWFuZC1saW5lIG9wdGlvbiB0byBjb250cm9sIHRoZSBvcHRpbWl6YXRpb24gbGV2ZWwgdXNlZCBieSB0aGUKIDpmdW5jOmBjb21waWxlYCBmdW5jdGlvbiwgYmVjYXVzZSB0aGUgUHl0aG9uIGludGVycHJldGVyIGl0c2VsZiBhbHJlYWR5CiBwcm92aWRlcyB0aGUgb3B0aW9uOiA6cHJvZ3JhbTpgcHl0aG9uIC1PIC1tIGNvbXBpbGVhbGxgLgpAQCAtODAsNyArMTAxLDcgQEAKIFB1YmxpYyBmdW5jdGlvbnMKIC0tLS0tLS0tLS0tLS0tLS0KIAotLi4gZnVuY3Rpb246OiBjb21waWxlX2RpcihkaXIsIG1heGxldmVscz0xMCwgZGRpcj1Ob25lLCBmb3JjZT1GYWxzZSwgcng9Tm9uZSwgcXVpZXQ9RmFsc2UsIGxlZ2FjeT1GYWxzZSwgb3B0aW1pemU9LTEpCisuLiBmdW5jdGlvbjo6IGNvbXBpbGVfZGlyKGRpciwgbWF4bGV2ZWxzPTEwLCBkZGlyPU5vbmUsIGZvcmNlPUZhbHNlLCByeD1Ob25lLCBxdWlldD0wLCBsZWdhY3k9RmFsc2UsIG9wdGltaXplPS0xLCB3b3JrZXJzPTEpCiAKICAgIFJlY3Vyc2l2ZWx5IGRlc2NlbmQgdGhlIGRpcmVjdG9yeSB0cmVlIG5hbWVkIGJ5ICpkaXIqLCBjb21waWxpbmcgYWxsIDpmaWxlOmAucHlgCiAgICBmaWxlcyBhbG9uZyB0aGUgd2F5LgpAQCAtMTAxLDggKzEyMiw5IEBACiAgICBmaWxlIGNvbnNpZGVyZWQgZm9yIGNvbXBpbGF0aW9uLCBhbmQgaWYgaXQgcmV0dXJucyBhIHRydWUgdmFsdWUsIHRoZSBmaWxlCiAgICBpcyBza2lwcGVkLgogCi0gICBJZiAqcXVpZXQqIGlzIHRydWUsIG5vdGhpbmcgaXMgcHJpbnRlZCB0byB0aGUgc3RhbmRhcmQgb3V0cHV0IHVubGVzcyBlcnJvcnMKLSAgIG9jY3VyLgorICAgSWYgKnF1aWV0KiBpcyBgYEZhbHNlYGAgb3IgYGAwYGAgKHRoZSBkZWZhdWx0KSwgdGhlIGZpbGVuYW1lcyBhbmQgb3RoZXIKKyAgIGluZm9ybWF0aW9uIGFyZSBwcmludGVkIHRvIHN0YW5kYXJkIG91dC4gU2V0IHRvIGBgMWBgLCBvbmx5IGVycm9ycyBhcmUKKyAgIHByaW50ZWQuIFNldCB0byBgYDJgYCwgYWxsIG91dHB1dCBpcyBzdXBwcmVzc2VkLgogCiAgICBJZiAqbGVnYWN5KiBpcyB0cnVlLCBieXRlLWNvZGUgZmlsZXMgYXJlIHdyaXR0ZW4gdG8gdGhlaXIgbGVnYWN5IGxvY2F0aW9ucwogICAgYW5kIG5hbWVzLCB3aGljaCBtYXkgb3ZlcndyaXRlIGJ5dGUtY29kZSBmaWxlcyBjcmVhdGVkIGJ5IGFub3RoZXIgdmVyc2lvbiBvZgpAQCAtMTEzLDExICsxMzUsMjIgQEAKICAgICpvcHRpbWl6ZSogc3BlY2lmaWVzIHRoZSBvcHRpbWl6YXRpb24gbGV2ZWwgZm9yIHRoZSBjb21waWxlci4gIEl0IGlzIHBhc3NlZCB0bwogICAgdGhlIGJ1aWx0LWluIDpmdW5jOmBjb21waWxlYCBmdW5jdGlvbi4KIAorICAgVGhlIGFyZ3VtZW50ICp3b3JrZXJzKiBzcGVjaWZpZXMgaG93IG1hbnkgd29ya2VycyBhcmUgdXNlZCB0bworICAgY29tcGlsZSBmaWxlcyBpbiBwYXJhbGxlbC4gVGhlIGRlZmF1bHQgaXMgdG8gbm90IHVzZSBtdWx0aXBsZSB3b3JrZXJzLgorICAgSWYgdGhlIHBsYXRmb3JtIGNhbid0IHVzZSBtdWx0aXBsZSB3b3JrZXJzIGFuZCAqd29ya2VycyogYXJndW1lbnQgaXMgZ2l2ZW4sCisgICB0aGVuIGEgOmV4YzpgTm90SW1wbGVtZW50ZWRFcnJvcmAgd2lsbCBiZSByYWlzZWQuCisgICBJZiAqd29ya2VycyogaXMgbG93ZXIgdGhhbiBgYDBgYCwgYSA6ZXhjOmBWYWx1ZUVycm9yYCB3aWxsIGJlIHJhaXNlZC4KKwogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjIKICAgICAgIEFkZGVkIHRoZSAqbGVnYWN5KiBhbmQgKm9wdGltaXplKiBwYXJhbWV0ZXIuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICBBZGRlZCB0aGUgKndvcmtlcnMqIHBhcmFtZXRlci4KIAotLi4gZnVuY3Rpb246OiBjb21waWxlX2ZpbGUoZnVsbG5hbWUsIGRkaXI9Tm9uZSwgZm9yY2U9RmFsc2UsIHJ4PU5vbmUsIHF1aWV0PUZhbHNlLCBsZWdhY3k9RmFsc2UsIG9wdGltaXplPS0xKQorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgICpxdWlldCogcGFyYW1ldGVyIHdhcyBjaGFuZ2VkIHRvIGEgbXVsdGlsZXZlbCB2YWx1ZS4KKworLi4gZnVuY3Rpb246OiBjb21waWxlX2ZpbGUoZnVsbG5hbWUsIGRkaXI9Tm9uZSwgZm9yY2U9RmFsc2UsIHJ4PU5vbmUsIHF1aWV0PTAsIGxlZ2FjeT1GYWxzZSwgb3B0aW1pemU9LTEpCiAKICAgIENvbXBpbGUgdGhlIGZpbGUgd2l0aCBwYXRoICpmdWxsbmFtZSouCiAKQEAgLTEzMSw4ICsxNjQsOSBAQAogICAgZmlsZSBiZWluZyBjb21waWxlZCwgYW5kIGlmIGl0IHJldHVybnMgYSB0cnVlIHZhbHVlLCB0aGUgZmlsZSBpcyBub3QKICAgIGNvbXBpbGVkIGFuZCBgYFRydWVgYCBpcyByZXR1cm5lZC4KIAotICAgSWYgKnF1aWV0KiBpcyB0cnVlLCBub3RoaW5nIGlzIHByaW50ZWQgdG8gdGhlIHN0YW5kYXJkIG91dHB1dCB1bmxlc3MgZXJyb3JzCi0gICBvY2N1ci4KKyAgIElmICpxdWlldCogaXMgYGBGYWxzZWBgIG9yIGBgMGBgICh0aGUgZGVmYXVsdCksIHRoZSBmaWxlbmFtZXMgYW5kIG90aGVyCisgICBpbmZvcm1hdGlvbiBhcmUgcHJpbnRlZCB0byBzdGFuZGFyZCBvdXQuIFNldCB0byBgYDFgYCwgb25seSBlcnJvcnMgYXJlCisgICBwcmludGVkLiBTZXQgdG8gYGAyYGAsIGFsbCBvdXRwdXQgaXMgc3VwcHJlc3NlZC4KIAogICAgSWYgKmxlZ2FjeSogaXMgdHJ1ZSwgYnl0ZS1jb2RlIGZpbGVzIGFyZSB3cml0dGVuIHRvIHRoZWlyIGxlZ2FjeSBsb2NhdGlvbnMKICAgIGFuZCBuYW1lcywgd2hpY2ggbWF5IG92ZXJ3cml0ZSBieXRlLWNvZGUgZmlsZXMgY3JlYXRlZCBieSBhbm90aGVyIHZlcnNpb24gb2YKQEAgLTE0NSw4ICsxNzksMTAgQEAKIAogICAgLi4gdmVyc2lvbmFkZGVkOjogMy4yCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICAqcXVpZXQqIHBhcmFtZXRlciB3YXMgY2hhbmdlZCB0byBhIG11bHRpbGV2ZWwgdmFsdWUuCiAKLS4uIGZ1bmN0aW9uOjogY29tcGlsZV9wYXRoKHNraXBfY3VyZGlyPVRydWUsIG1heGxldmVscz0wLCBmb3JjZT1GYWxzZSwgbGVnYWN5PUZhbHNlLCBvcHRpbWl6ZT0tMSkKKy4uIGZ1bmN0aW9uOjogY29tcGlsZV9wYXRoKHNraXBfY3VyZGlyPVRydWUsIG1heGxldmVscz0wLCBmb3JjZT1GYWxzZSwgcXVpZXQ9MCwgbGVnYWN5PUZhbHNlLCBvcHRpbWl6ZT0tMSkKIAogICAgQnl0ZS1jb21waWxlIGFsbCB0aGUgOmZpbGU6YC5weWAgZmlsZXMgZm91bmQgYWxvbmcgYGBzeXMucGF0aGBgLiBJZgogICAgKnNraXBfY3VyZGlyKiBpcyB0cnVlICh0aGUgZGVmYXVsdCksIHRoZSBjdXJyZW50IGRpcmVjdG9yeSBpcyBub3QgaW5jbHVkZWQKQEAgLTE1Nyw2ICsxOTMsOCBAQAogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjIKICAgICAgIEFkZGVkIHRoZSAqbGVnYWN5KiBhbmQgKm9wdGltaXplKiBwYXJhbWV0ZXIuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICAqcXVpZXQqIHBhcmFtZXRlciB3YXMgY2hhbmdlZCB0byBhIG11bHRpbGV2ZWwgdmFsdWUuCiAKIFRvIGZvcmNlIGEgcmVjb21waWxlIG9mIGFsbCB0aGUgOmZpbGU6YC5weWAgZmlsZXMgaW4gdGhlIDpmaWxlOmBMaWIvYAogc3ViZGlyZWN0b3J5IGFuZCBhbGwgaXRzIHN1YmRpcmVjdG9yaWVzOjoKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2NvbmN1cnJlbnQuZnV0dXJlcy5yc3QgYi9Eb2MvbGlicmFyeS9jb25jdXJyZW50LmZ1dHVyZXMucnN0CmluZGV4IGJkNTY2OTYuLmMxNzczNDAgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2NvbmN1cnJlbnQuZnV0dXJlcy5yc3QKKysrIGIvRG9jL2xpYnJhcnkvY29uY3VycmVudC5mdXR1cmVzLnJzdApAQCAtMzgsNyArMzgsNyBAQAogICAgICAgICAgICAgICBmdXR1cmUgPSBleGVjdXRvci5zdWJtaXQocG93LCAzMjMsIDEyMzUpCiAgICAgICAgICAgICAgIHByaW50KGZ1dHVyZS5yZXN1bHQoKSkKIAotICAgIC4uIG1ldGhvZDo6IG1hcChmdW5jLCAqaXRlcmFibGVzLCB0aW1lb3V0PU5vbmUpCisgICAgLi4gbWV0aG9kOjogbWFwKGZ1bmMsICppdGVyYWJsZXMsIHRpbWVvdXQ9Tm9uZSwgY2h1bmtzaXplPTEpCiAKICAgICAgICBFcXVpdmFsZW50IHRvIDpmdW5jOmBtYXAoZnVuYywgKml0ZXJhYmxlcykgPG1hcD5gIGV4Y2VwdCAqZnVuYyogaXMgZXhlY3V0ZWQKICAgICAgICBhc3luY2hyb25vdXNseSBhbmQgc2V2ZXJhbCBjYWxscyB0byAqZnVuYyogbWF5IGJlIG1hZGUgY29uY3VycmVudGx5LiAgVGhlCkBAIC00OCw3ICs0OCwxNiBAQAogICAgICAgICp0aW1lb3V0KiBjYW4gYmUgYW4gaW50IG9yIGEgZmxvYXQuICBJZiAqdGltZW91dCogaXMgbm90IHNwZWNpZmllZCBvcgogICAgICAgIGBgTm9uZWBgLCB0aGVyZSBpcyBubyBsaW1pdCB0byB0aGUgd2FpdCB0aW1lLiAgSWYgYSBjYWxsIHJhaXNlcyBhbgogICAgICAgIGV4Y2VwdGlvbiwgdGhlbiB0aGF0IGV4Y2VwdGlvbiB3aWxsIGJlIHJhaXNlZCB3aGVuIGl0cyB2YWx1ZSBpcwotICAgICAgIHJldHJpZXZlZCBmcm9tIHRoZSBpdGVyYXRvci4KKyAgICAgICByZXRyaWV2ZWQgZnJvbSB0aGUgaXRlcmF0b3IuIFdoZW4gdXNpbmcgOmNsYXNzOmBQcm9jZXNzUG9vbEV4ZWN1dG9yYCwgdGhpcworICAgICAgIG1ldGhvZCBjaG9wcyAqaXRlcmFibGVzKiBpbnRvIGEgbnVtYmVyIG9mIGNodW5rcyB3aGljaCBpdCBzdWJtaXRzIHRvIHRoZQorICAgICAgIHBvb2wgYXMgc2VwYXJhdGUgdGFza3MuIFRoZSAoYXBwcm94aW1hdGUpIHNpemUgb2YgdGhlc2UgY2h1bmtzIGNhbiBiZQorICAgICAgIHNwZWNpZmllZCBieSBzZXR0aW5nICpjaHVua3NpemUqIHRvIGEgcG9zaXRpdmUgaW50ZWdlci4gRm9yIHZlcnkgbG9uZworICAgICAgIGl0ZXJhYmxlcywgdXNpbmcgYSBsYXJnZSB2YWx1ZSBmb3IgKmNodW5rc2l6ZSogY2FuIHNpZ25pZmljYW50bHkgaW1wcm92ZQorICAgICAgIHBlcmZvcm1hbmNlIGNvbXBhcmVkIHRvIHRoZSBkZWZhdWx0IHNpemUgb2YgMS4gV2l0aCA6Y2xhc3M6YFRocmVhZFBvb2xFeGVjdXRvcmAsCisgICAgICAgKmNodW5rc2l6ZSogaGFzIG5vIGVmZmVjdC4KKworICAgICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICAgICAgQWRkZWQgdGhlICpjaHVua3NpemUqIGFyZ3VtZW50LgogCiAgICAgLi4gbWV0aG9kOjogc2h1dGRvd24od2FpdD1UcnVlKQogCkBAIC0xMTUsMTEgKzEyNCwxOSBAQAogICAgZXhlY3V0b3Iuc3VibWl0KHdhaXRfb25fZnV0dXJlKQogCiAKLS4uIGNsYXNzOjogVGhyZWFkUG9vbEV4ZWN1dG9yKG1heF93b3JrZXJzKQorLi4gY2xhc3M6OiBUaHJlYWRQb29sRXhlY3V0b3IobWF4X3dvcmtlcnM9Tm9uZSkKIAogICAgQW4gOmNsYXNzOmBFeGVjdXRvcmAgc3ViY2xhc3MgdGhhdCB1c2VzIGEgcG9vbCBvZiBhdCBtb3N0ICptYXhfd29ya2VycyoKICAgIHRocmVhZHMgdG8gZXhlY3V0ZSBjYWxscyBhc3luY2hyb25vdXNseS4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgIElmICptYXhfd29ya2VycyogaXMgYGBOb25lYGAgb3IKKyAgICAgIG5vdCBnaXZlbiwgaXQgd2lsbCBkZWZhdWx0IHRvIHRoZSBudW1iZXIgb2YgcHJvY2Vzc29ycyBvbiB0aGUgbWFjaGluZSwKKyAgICAgIG11bHRpcGxpZWQgYnkgYGA1YGAsIGFzc3VtaW5nIHRoYXQgOmNsYXNzOmBUaHJlYWRQb29sRXhlY3V0b3JgIGlzIG9mdGVuCisgICAgICB1c2VkIHRvIG92ZXJsYXAgSS9PIGluc3RlYWQgb2YgQ1BVIHdvcmsgYW5kIHRoZSBudW1iZXIgb2Ygd29ya2VycworICAgICAgc2hvdWxkIGJlIGhpZ2hlciB0aGFuIHRoZSBudW1iZXIgb2Ygd29ya2VycworICAgICAgZm9yIDpjbGFzczpgUHJvY2Vzc1Bvb2xFeGVjdXRvcmAuCisKIAogLi4gX3RocmVhZHBvb2xleGVjdXRvci1leGFtcGxlOgogCkBAIC0xNzUsNiArMTkyLDggQEAKICAgIEFuIDpjbGFzczpgRXhlY3V0b3JgIHN1YmNsYXNzIHRoYXQgZXhlY3V0ZXMgY2FsbHMgYXN5bmNocm9ub3VzbHkgdXNpbmcgYSBwb29sCiAgICBvZiBhdCBtb3N0ICptYXhfd29ya2VycyogcHJvY2Vzc2VzLiAgSWYgKm1heF93b3JrZXJzKiBpcyBgYE5vbmVgYCBvciBub3QKICAgIGdpdmVuLCBpdCB3aWxsIGRlZmF1bHQgdG8gdGhlIG51bWJlciBvZiBwcm9jZXNzb3JzIG9uIHRoZSBtYWNoaW5lLgorICAgSWYgKm1heF93b3JrZXJzKiBpcyBsb3dlciBvciBlcXVhbCB0byBgYDBgYCwgdGhlbiBhIDpleGM6YFZhbHVlRXJyb3JgCisgICB3aWxsIGJlIHJhaXNlZC4KIAogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKICAgICAgIFdoZW4gb25lIG9mIHRoZSB3b3JrZXIgcHJvY2Vzc2VzIHRlcm1pbmF0ZXMgYWJydXB0bHksIGEKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2NvbmZpZ3BhcnNlci5yc3QgYi9Eb2MvbGlicmFyeS9jb25maWdwYXJzZXIucnN0CmluZGV4IDAyNGQyN2MuLmM5MTg3YTMgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2NvbmZpZ3BhcnNlci5yc3QKKysrIGIvRG9jL2xpYnJhcnkvY29uZmlncGFyc2VyLnJzdApAQCAtMTEsNiArMTEsOCBAQAogLi4gc2VjdGlvbmF1dGhvcjo6IENocmlzdG9waGVyIEcuIFBldHJpbGxpIDxwZXRyaWxsaUBhbWJlci5vcmc+CiAuLiBzZWN0aW9uYXV0aG9yOjogxYF1a2FzeiBMYW5nYSA8bHVrYXN6QGxhbmdhLnBsPgogCisqKlNvdXJjZSBjb2RlOioqIDpzb3VyY2U6YExpYi9jb25maWdwYXJzZXIucHlgCisKIC4uIGluZGV4OjoKICAgIHBhaXI6IC5pbmk7IGZpbGUKICAgIHBhaXI6IGNvbmZpZ3VyYXRpb247IGZpbGUKQEAgLTE0MiwxMiArMTQ0LDEzIEBACiAgICA+Pj4gZmxvYXQodG9wc2VjcmV0WydDb21wcmVzc2lvbkxldmVsJ10pCiAgICA5LjAKIAotRXh0cmFjdGluZyBCb29sZWFuIHZhbHVlcyBpcyBub3QgdGhhdCBzaW1wbGUsIHRob3VnaC4gIFBhc3NpbmcgdGhlIHZhbHVlCi10byBgYGJvb2woKWBgIHdvdWxkIGRvIG5vIGdvb2Qgc2luY2UgYGBib29sKCdGYWxzZScpYGAgaXMgc3RpbGwKLWBgVHJ1ZWBgLiAgVGhpcyBpcyB3aHkgY29uZmlnIHBhcnNlcnMgYWxzbyBwcm92aWRlIDptZXRoOmBnZXRib29sZWFuYC4KLVRoaXMgbWV0aG9kIGlzIGNhc2UtaW5zZW5zaXRpdmUgYW5kIHJlY29nbml6ZXMgQm9vbGVhbiB2YWx1ZXMgZnJvbQotYGAneWVzJ2BgL2BgJ25vJ2BgLCBgYCdvbidgYC9gYCdvZmYnYGAgYW5kIGBgJzEnYGAvYGAnMCdgYCBbMV1fLgotRm9yIGV4YW1wbGU6CitTaW5jZSB0aGlzIHRhc2sgaXMgc28gY29tbW9uLCBjb25maWcgcGFyc2VycyBwcm92aWRlIGEgcmFuZ2Ugb2YgaGFuZHkgZ2V0dGVyCittZXRob2RzIHRvIGhhbmRsZSBpbnRlZ2VycywgZmxvYXRzIGFuZCBib29sZWFucy4gIFRoZSBsYXN0IG9uZSBpcyB0aGUgbW9zdAoraW50ZXJlc3RpbmcgYmVjYXVzZSBzaW1wbHkgcGFzc2luZyB0aGUgdmFsdWUgdG8gYGBib29sKClgYCB3b3VsZCBkbyBubyBnb29kCitzaW5jZSBgYGJvb2woJ0ZhbHNlJylgYCBpcyBzdGlsbCBgYFRydWVgYC4gIFRoaXMgaXMgd2h5IGNvbmZpZyBwYXJzZXJzIGFsc28KK3Byb3ZpZGUgOm1ldGg6YGdldGJvb2xlYW5gLiAgVGhpcyBtZXRob2QgaXMgY2FzZS1pbnNlbnNpdGl2ZSBhbmQgcmVjb2duaXplcworQm9vbGVhbiB2YWx1ZXMgZnJvbSBgYCd5ZXMnYGAvYGAnbm8nYGAsIGBgJ29uJ2BgL2BgJ29mZidgYCwKK2BgJ3RydWUnYGAvYGAnZmFsc2UnYGAgYW5kIGBgJzEnYGAvYGAnMCdgYCBbMV1fLiAgRm9yIGV4YW1wbGU6CiAKIC4uIGRvY3Rlc3Q6OgogCkBAIC0xNTksMTAgKzE2Miw4IEBACiAgICBUcnVlCiAKIEFwYXJ0IGZyb20gOm1ldGg6YGdldGJvb2xlYW5gLCBjb25maWcgcGFyc2VycyBhbHNvIHByb3ZpZGUgZXF1aXZhbGVudAotOm1ldGg6YGdldGludGAgYW5kIDptZXRoOmBnZXRmbG9hdGAgbWV0aG9kcywgYnV0IHRoZXNlIGFyZSBmYXIgbGVzcwotdXNlZnVsIHNpbmNlIGNvbnZlcnNpb24gdXNpbmcgOmZ1bmM6YGludGAgYW5kIDpmdW5jOmBmbG9hdGAgaXMKLXN1ZmZpY2llbnQgZm9yIHRoZXNlIHR5cGVzLgotCis6bWV0aDpgZ2V0aW50YCBhbmQgOm1ldGg6YGdldGZsb2F0YCBtZXRob2RzLiAgWW91IGNhbiByZWdpc3RlciB5b3VyIG93bgorY29udmVydGVycyBhbmQgY3VzdG9taXplIHRoZSBwcm92aWRlZCBvbmVzLiBbMV1fCiAKIEZhbGxiYWNrIFZhbHVlcwogLS0tLS0tLS0tLS0tLS0tCkBAIC0zMTcsMTEgKzMxOCwxMSBAQAogLi4gY2xhc3M6OiBFeHRlbmRlZEludGVycG9sYXRpb24oKQogCiAgICBBbiBhbHRlcm5hdGl2ZSBoYW5kbGVyIGZvciBpbnRlcnBvbGF0aW9uIHdoaWNoIGltcGxlbWVudHMgYSBtb3JlIGFkdmFuY2VkCi0gICBzeW50YXgsIHVzZWQgZm9yIGluc3RhbmNlIGluIGBgemMuYnVpbGRvdXRgYC4gRXh0ZW5kZWQgaW50ZXJwb2xhdGlvbiBpcworICAgc3ludGF4LCB1c2VkIGZvciBpbnN0YW5jZSBpbiBgYHpjLmJ1aWxkb3V0YGAuICBFeHRlbmRlZCBpbnRlcnBvbGF0aW9uIGlzCiAgICB1c2luZyBgYCR7c2VjdGlvbjpvcHRpb259YGAgdG8gZGVub3RlIGEgdmFsdWUgZnJvbSBhIGZvcmVpZ24gc2VjdGlvbi4KLSAgIEludGVycG9sYXRpb24gY2FuIHNwYW4gbXVsdGlwbGUgbGV2ZWxzLiBGb3IgY29udmVuaWVuY2UsIGlmIHRoZSBgYHNlY3Rpb246YGAKLSAgIHBhcnQgaXMgb21pdHRlZCwgaW50ZXJwb2xhdGlvbiBkZWZhdWx0cyB0byB0aGUgY3VycmVudCBzZWN0aW9uIChhbmQgcG9zc2libHkKLSAgIHRoZSBkZWZhdWx0IHZhbHVlcyBmcm9tIHRoZSBzcGVjaWFsIHNlY3Rpb24pLgorICAgSW50ZXJwb2xhdGlvbiBjYW4gc3BhbiBtdWx0aXBsZSBsZXZlbHMuICBGb3IgY29udmVuaWVuY2UsIGlmIHRoZQorICAgYGBzZWN0aW9uOmBgIHBhcnQgaXMgb21pdHRlZCwgaW50ZXJwb2xhdGlvbiBkZWZhdWx0cyB0byB0aGUgY3VycmVudCBzZWN0aW9uCisgICAoYW5kIHBvc3NpYmx5IHRoZSBkZWZhdWx0IHZhbHVlcyBmcm9tIHRoZSBzcGVjaWFsIHNlY3Rpb24pLgogCiAgICBGb3IgZXhhbXBsZSwgdGhlIGNvbmZpZ3VyYXRpb24gc3BlY2lmaWVkIGFib3ZlIHdpdGggYmFzaWMgaW50ZXJwb2xhdGlvbiwKICAgIHdvdWxkIGxvb2sgbGlrZSB0aGlzIHdpdGggZXh0ZW5kZWQgaW50ZXJwb2xhdGlvbjoKQEAgLTM4Niw3ICszODcsNyBAQAogKiBBbGwgc2VjdGlvbnMgaW5jbHVkZSBgYERFRkFVTFRTRUNUYGAgdmFsdWVzIGFzIHdlbGwgd2hpY2ggbWVhbnMgdGhhdAogICBgYC5jbGVhcigpYGAgb24gYSBzZWN0aW9uIG1heSBub3QgbGVhdmUgdGhlIHNlY3Rpb24gdmlzaWJseSBlbXB0eS4gIFRoaXMgaXMKICAgYmVjYXVzZSBkZWZhdWx0IHZhbHVlcyBjYW5ub3QgYmUgZGVsZXRlZCBmcm9tIHRoZSBzZWN0aW9uIChiZWNhdXNlIHRlY2huaWNhbGx5Ci0gIHRoZXkgYXJlIG5vdCB0aGVyZSkuICBJZiB0aGV5IGFyZSBvdmVycmlkZW4gaW4gdGhlIHNlY3Rpb24sIGRlbGV0aW5nIGNhdXNlcworICB0aGV5IGFyZSBub3QgdGhlcmUpLiAgSWYgdGhleSBhcmUgb3ZlcnJpZGRlbiBpbiB0aGUgc2VjdGlvbiwgZGVsZXRpbmcgY2F1c2VzCiAgIHRoZSBkZWZhdWx0IHZhbHVlIHRvIGJlIHZpc2libGUgYWdhaW4uICBUcnlpbmcgdG8gZGVsZXRlIGEgZGVmYXVsdCB2YWx1ZQogICBjYXVzZXMgYSBgYEtleUVycm9yYGAuCiAKQEAgLTM5OSwxMyArNDAwLDEzIEBACiAgICogYGBwYXJzZXIucG9waXRlbSgpYGAgbmV2ZXIgcmV0dXJucyBpdC4KIAogKiBgYHBhcnNlci5nZXQoc2VjdGlvbiwgb3B0aW9uLCAqKmt3YXJncylgYCAtIHRoZSBzZWNvbmQgYXJndW1lbnQgaXMgKipub3QqKgotICBhIGZhbGxiYWNrIHZhbHVlLiBOb3RlIGhvd2V2ZXIgdGhhdCB0aGUgc2VjdGlvbi1sZXZlbCBgYGdldCgpYGAgbWV0aG9kcyBhcmUKKyAgYSBmYWxsYmFjayB2YWx1ZS4gIE5vdGUgaG93ZXZlciB0aGF0IHRoZSBzZWN0aW9uLWxldmVsIGBgZ2V0KClgYCBtZXRob2RzIGFyZQogICBjb21wYXRpYmxlIGJvdGggd2l0aCB0aGUgbWFwcGluZyBwcm90b2NvbCBhbmQgdGhlIGNsYXNzaWMgY29uZmlncGFyc2VyIEFQSS4KIAogKiBgYHBhcnNlci5pdGVtcygpYGAgaXMgY29tcGF0aWJsZSB3aXRoIHRoZSBtYXBwaW5nIHByb3RvY29sIChyZXR1cm5zIGEgbGlzdCBvZgogICAqc2VjdGlvbl9uYW1lKiwgKnNlY3Rpb25fcHJveHkqIHBhaXJzIGluY2x1ZGluZyB0aGUgREVGQVVMVFNFQ1QpLiAgSG93ZXZlciwKICAgdGhpcyBtZXRob2QgY2FuIGFsc28gYmUgaW52b2tlZCB3aXRoIGFyZ3VtZW50czogYGBwYXJzZXIuaXRlbXMoc2VjdGlvbiwgcmF3LAotICB2YXJzKWBgLiBUaGUgbGF0dGVyIGNhbGwgcmV0dXJucyBhIGxpc3Qgb2YgKm9wdGlvbiosICp2YWx1ZSogcGFpcnMgZm9yCisgIHZhcnMpYGAuICBUaGUgbGF0dGVyIGNhbGwgcmV0dXJucyBhIGxpc3Qgb2YgKm9wdGlvbiosICp2YWx1ZSogcGFpcnMgZm9yCiAgIGEgc3BlY2lmaWVkIGBgc2VjdGlvbmBgLCB3aXRoIGFsbCBpbnRlcnBvbGF0aW9ucyBleHBhbmRlZCAodW5sZXNzCiAgIGBgcmF3PVRydWVgYCBpcyBwcm92aWRlZCkuCiAKQEAgLTUzOSw5ICs1NDAsOSBAQAogCiAqICpkZWxpbWl0ZXJzKiwgZGVmYXVsdCB2YWx1ZTogYGAoJz0nLCAnOicpYGAKIAotICBEZWxpbWl0ZXJzIGFyZSBzdWJzdHJpbmdzIHRoYXQgZGVsaW1pdCBrZXlzIGZyb20gdmFsdWVzIHdpdGhpbiBhIHNlY3Rpb24uIFRoZQotICBmaXJzdCBvY2N1cnJlbmNlIG9mIGEgZGVsaW1pdGluZyBzdWJzdHJpbmcgb24gYSBsaW5lIGlzIGNvbnNpZGVyZWQgYSBkZWxpbWl0ZXIuCi0gIFRoaXMgbWVhbnMgdmFsdWVzIChidXQgbm90IGtleXMpIGNhbiBjb250YWluIHRoZSBkZWxpbWl0ZXJzLgorICBEZWxpbWl0ZXJzIGFyZSBzdWJzdHJpbmdzIHRoYXQgZGVsaW1pdCBrZXlzIGZyb20gdmFsdWVzIHdpdGhpbiBhIHNlY3Rpb24uCisgIFRoZSBmaXJzdCBvY2N1cnJlbmNlIG9mIGEgZGVsaW1pdGluZyBzdWJzdHJpbmcgb24gYSBsaW5lIGlzIGNvbnNpZGVyZWQKKyAgYSBkZWxpbWl0ZXIuICBUaGlzIG1lYW5zIHZhbHVlcyAoYnV0IG5vdCBrZXlzKSBjYW4gY29udGFpbiB0aGUgZGVsaW1pdGVycy4KIAogICBTZWUgYWxzbyB0aGUgKnNwYWNlX2Fyb3VuZF9kZWxpbWl0ZXJzKiBhcmd1bWVudCB0bwogICA6bWV0aDpgQ29uZmlnUGFyc2VyLndyaXRlYC4KQEAgLTU1Myw3ICs1NTQsNyBAQAogICBDb21tZW50IHByZWZpeGVzIGFyZSBzdHJpbmdzIHRoYXQgaW5kaWNhdGUgdGhlIHN0YXJ0IG9mIGEgdmFsaWQgY29tbWVudCB3aXRoaW4KICAgYSBjb25maWcgZmlsZS4gKmNvbW1lbnRfcHJlZml4ZXMqIGFyZSB1c2VkIG9ubHkgb24gb3RoZXJ3aXNlIGVtcHR5IGxpbmVzCiAgIChvcHRpb25hbGx5IGluZGVudGVkKSB3aGVyZWFzICppbmxpbmVfY29tbWVudF9wcmVmaXhlcyogY2FuIGJlIHVzZWQgYWZ0ZXIKLSAgZXZlcnkgdmFsaWQgdmFsdWUgKGUuZy4gIHNlY3Rpb24gbmFtZXMsIG9wdGlvbnMgYW5kIGVtcHR5IGxpbmVzIGFzIHdlbGwpLiBCeQorICBldmVyeSB2YWxpZCB2YWx1ZSAoZS5nLiBzZWN0aW9uIG5hbWVzLCBvcHRpb25zIGFuZCBlbXB0eSBsaW5lcyBhcyB3ZWxsKS4gIEJ5CiAgIGRlZmF1bHQgaW5saW5lIGNvbW1lbnRzIGFyZSBkaXNhYmxlZCBhbmQgYGAnIydgYCBhbmQgYGAnOydgYCBhcmUgdXNlZCBhcwogICBwcmVmaXhlcyBmb3Igd2hvbGUgbGluZSBjb21tZW50cy4KIApAQCAtNTYzLDEwICs1NjQsMTAgQEAKIAogICBQbGVhc2Ugbm90ZSB0aGF0IGNvbmZpZyBwYXJzZXJzIGRvbid0IHN1cHBvcnQgZXNjYXBpbmcgb2YgY29tbWVudCBwcmVmaXhlcyBzbwogICB1c2luZyAqaW5saW5lX2NvbW1lbnRfcHJlZml4ZXMqIG1heSBwcmV2ZW50IHVzZXJzIGZyb20gc3BlY2lmeWluZyBvcHRpb24KLSAgdmFsdWVzIHdpdGggY2hhcmFjdGVycyB1c2VkIGFzIGNvbW1lbnQgcHJlZml4ZXMuIFdoZW4gaW4gZG91YnQsIGF2b2lkIHNldHRpbmcKLSAgKmlubGluZV9jb21tZW50X3ByZWZpeGVzKi4gSW4gYW55IGNpcmN1bXN0YW5jZXMsIHRoZSBvbmx5IHdheSBvZiBzdG9yaW5nCi0gIGNvbW1lbnQgcHJlZml4IGNoYXJhY3RlcnMgYXQgdGhlIGJlZ2lubmluZyBvZiBhIGxpbmUgaW4gbXVsdGlsaW5lIHZhbHVlcyBpcyB0bwotICBpbnRlcnBvbGF0ZSB0aGUgcHJlZml4LCBmb3IgZXhhbXBsZTo6CisgIHZhbHVlcyB3aXRoIGNoYXJhY3RlcnMgdXNlZCBhcyBjb21tZW50IHByZWZpeGVzLiAgV2hlbiBpbiBkb3VidCwgYXZvaWQKKyAgc2V0dGluZyAqaW5saW5lX2NvbW1lbnRfcHJlZml4ZXMqLiAgSW4gYW55IGNpcmN1bXN0YW5jZXMsIHRoZSBvbmx5IHdheSBvZgorICBzdG9yaW5nIGNvbW1lbnQgcHJlZml4IGNoYXJhY3RlcnMgYXQgdGhlIGJlZ2lubmluZyBvZiBhIGxpbmUgaW4gbXVsdGlsaW5lCisgIHZhbHVlcyBpcyB0byBpbnRlcnBvbGF0ZSB0aGUgcHJlZml4LCBmb3IgZXhhbXBsZTo6CiAKICAgICA+Pj4gZnJvbSBjb25maWdwYXJzZXIgaW1wb3J0IENvbmZpZ1BhcnNlciwgRXh0ZW5kZWRJbnRlcnBvbGF0aW9uCiAgICAgPj4+IHBhcnNlciA9IENvbmZpZ1BhcnNlcihpbnRlcnBvbGF0aW9uPUV4dGVuZGVkSW50ZXJwb2xhdGlvbigpKQpAQCAtNjExLDcgKzYxMiw3IEBACiAKICAgV2hlbiBzZXQgdG8gYGBUcnVlYGAsIHRoZSBwYXJzZXIgd2lsbCBub3QgYWxsb3cgZm9yIGFueSBzZWN0aW9uIG9yIG9wdGlvbgogICBkdXBsaWNhdGVzIHdoaWxlIHJlYWRpbmcgZnJvbSBhIHNpbmdsZSBzb3VyY2UgKHVzaW5nIDptZXRoOmByZWFkX2ZpbGVgLAotICA6bWV0aDpgcmVhZF9zdHJpbmdgIG9yIDptZXRoOmByZWFkX2RpY3RgKS4gSXQgaXMgcmVjb21tZW5kZWQgdG8gdXNlIHN0cmljdAorICA6bWV0aDpgcmVhZF9zdHJpbmdgIG9yIDptZXRoOmByZWFkX2RpY3RgKS4gIEl0IGlzIHJlY29tbWVuZGVkIHRvIHVzZSBzdHJpY3QKICAgcGFyc2VycyBpbiBuZXcgYXBwbGljYXRpb25zLgogCiAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4yCkBAIC02NDYsMTIgKzY0NywxMiBAQAogCiAgIFRoZSBjb252ZW50aW9uIG9mIGFsbG93aW5nIGEgc3BlY2lhbCBzZWN0aW9uIG9mIGRlZmF1bHQgdmFsdWVzIGZvciBvdGhlcgogICBzZWN0aW9ucyBvciBpbnRlcnBvbGF0aW9uIHB1cnBvc2VzIGlzIGEgcG93ZXJmdWwgY29uY2VwdCBvZiB0aGlzIGxpYnJhcnksCi0gIGxldHRpbmcgdXNlcnMgY3JlYXRlIGNvbXBsZXggZGVjbGFyYXRpdmUgY29uZmlndXJhdGlvbnMuIFRoaXMgc2VjdGlvbiBpcworICBsZXR0aW5nIHVzZXJzIGNyZWF0ZSBjb21wbGV4IGRlY2xhcmF0aXZlIGNvbmZpZ3VyYXRpb25zLiAgVGhpcyBzZWN0aW9uIGlzCiAgIG5vcm1hbGx5IGNhbGxlZCBgYCJERUZBVUxUImBgIGJ1dCB0aGlzIGNhbiBiZSBjdXN0b21pemVkIHRvIHBvaW50IHRvIGFueQotICBvdGhlciB2YWxpZCBzZWN0aW9uIG5hbWUuIFNvbWUgdHlwaWNhbCB2YWx1ZXMgaW5jbHVkZTogYGAiZ2VuZXJhbCJgYCBvcgotICBgYCJjb21tb24iYGAuIFRoZSBuYW1lIHByb3ZpZGVkIGlzIHVzZWQgZm9yIHJlY29nbml6aW5nIGRlZmF1bHQgc2VjdGlvbnMgd2hlbgotICByZWFkaW5nIGZyb20gYW55IHNvdXJjZSBhbmQgaXMgdXNlZCB3aGVuIHdyaXRpbmcgY29uZmlndXJhdGlvbiBiYWNrIHRvCi0gIGEgZmlsZS4gSXRzIGN1cnJlbnQgdmFsdWUgY2FuIGJlIHJldHJpZXZlZCB1c2luZyB0aGUKKyAgb3RoZXIgdmFsaWQgc2VjdGlvbiBuYW1lLiAgU29tZSB0eXBpY2FsIHZhbHVlcyBpbmNsdWRlOiBgYCJnZW5lcmFsImBgIG9yCisgIGBgImNvbW1vbiJgYC4gIFRoZSBuYW1lIHByb3ZpZGVkIGlzIHVzZWQgZm9yIHJlY29nbml6aW5nIGRlZmF1bHQgc2VjdGlvbnMKKyAgd2hlbiByZWFkaW5nIGZyb20gYW55IHNvdXJjZSBhbmQgaXMgdXNlZCB3aGVuIHdyaXRpbmcgY29uZmlndXJhdGlvbiBiYWNrIHRvCisgIGEgZmlsZS4gIEl0cyBjdXJyZW50IHZhbHVlIGNhbiBiZSByZXRyaWV2ZWQgdXNpbmcgdGhlCiAgIGBgcGFyc2VyX2luc3RhbmNlLmRlZmF1bHRfc2VjdGlvbmBgIGF0dHJpYnV0ZSBhbmQgbWF5IGJlIG1vZGlmaWVkIGF0IHJ1bnRpbWUKICAgKGkuZS4gdG8gY29udmVydCBmaWxlcyBmcm9tIG9uZSBmb3JtYXQgdG8gYW5vdGhlcikuCiAKQEAgLTY2MCwxNCArNjYxLDMwIEBACiAgIEludGVycG9sYXRpb24gYmVoYXZpb3VyIG1heSBiZSBjdXN0b21pemVkIGJ5IHByb3ZpZGluZyBhIGN1c3RvbSBoYW5kbGVyCiAgIHRocm91Z2ggdGhlICppbnRlcnBvbGF0aW9uKiBhcmd1bWVudC4gYGBOb25lYGAgY2FuIGJlIHVzZWQgdG8gdHVybiBvZmYKICAgaW50ZXJwb2xhdGlvbiBjb21wbGV0ZWx5LCBgYEV4dGVuZGVkSW50ZXJwb2xhdGlvbigpYGAgcHJvdmlkZXMgYSBtb3JlCi0gIGFkdmFuY2VkIHZhcmlhbnQgaW5zcGlyZWQgYnkgYGB6Yy5idWlsZG91dGBgLiBNb3JlIG9uIHRoZSBzdWJqZWN0IGluIHRoZQorICBhZHZhbmNlZCB2YXJpYW50IGluc3BpcmVkIGJ5IGBgemMuYnVpbGRvdXRgYC4gIE1vcmUgb24gdGhlIHN1YmplY3QgaW4gdGhlCiAgIGBkZWRpY2F0ZWQgZG9jdW1lbnRhdGlvbiBzZWN0aW9uIDwjaW50ZXJwb2xhdGlvbi1vZi12YWx1ZXM+YF8uCiAgIDpjbGFzczpgUmF3Q29uZmlnUGFyc2VyYCBoYXMgYSBkZWZhdWx0IHZhbHVlIG9mIGBgTm9uZWBgLgogCisqICpjb252ZXJ0ZXJzKiwgZGVmYXVsdCB2YWx1ZTogbm90IHNldAorCisgIENvbmZpZyBwYXJzZXJzIHByb3ZpZGUgb3B0aW9uIHZhbHVlIGdldHRlcnMgdGhhdCBwZXJmb3JtIHR5cGUgY29udmVyc2lvbi4gIEJ5CisgIGRlZmF1bHQgOm1ldGg6YGdldGludGAsIDptZXRoOmBnZXRmbG9hdGAsIGFuZCA6bWV0aDpgZ2V0Ym9vbGVhbmAgYXJlCisgIGltcGxlbWVudGVkLiAgU2hvdWxkIG90aGVyIGdldHRlcnMgYmUgZGVzaXJhYmxlLCB1c2VycyBtYXkgZGVmaW5lIHRoZW0gaW4KKyAgYSBzdWJjbGFzcyBvciBwYXNzIGEgZGljdGlvbmFyeSB3aGVyZSBlYWNoIGtleSBpcyBhIG5hbWUgb2YgdGhlIGNvbnZlcnRlciBhbmQKKyAgZWFjaCB2YWx1ZSBpcyBhIGNhbGxhYmxlIGltcGxlbWVudGluZyBzYWlkIGNvbnZlcnNpb24uICBGb3IgaW5zdGFuY2UsIHBhc3NpbmcKKyAgYGB7J2RlY2ltYWwnOiBkZWNpbWFsLkRlY2ltYWx9YGAgd291bGQgYWRkIDptZXRoOmBnZXRkZWNpbWFsYCBvbiBib3RoIHRoZQorICBwYXJzZXIgb2JqZWN0IGFuZCBhbGwgc2VjdGlvbiBwcm94aWVzLiAgSW4gb3RoZXIgd29yZHMsIGl0IHdpbGwgYmUgcG9zc2libGUKKyAgdG8gd3JpdGUgYm90aCBgYHBhcnNlcl9pbnN0YW5jZS5nZXRkZWNpbWFsKCdzZWN0aW9uJywgJ2tleScsIGZhbGxiYWNrPTApYGAKKyAgYW5kIGBgcGFyc2VyX2luc3RhbmNlWydzZWN0aW9uJ10uZ2V0ZGVjaW1hbCgna2V5JywgMClgYC4KKworICBJZiB0aGUgY29udmVydGVyIG5lZWRzIHRvIGFjY2VzcyB0aGUgc3RhdGUgb2YgdGhlIHBhcnNlciwgaXQgY2FuIGJlCisgIGltcGxlbWVudGVkIGFzIGEgbWV0aG9kIG9uIGEgY29uZmlnIHBhcnNlciBzdWJjbGFzcy4gIElmIHRoZSBuYW1lIG9mIHRoaXMKKyAgbWV0aG9kIHN0YXJ0cyB3aXRoIGBgZ2V0YGAsIGl0IHdpbGwgYmUgYXZhaWxhYmxlIG9uIGFsbCBzZWN0aW9uIHByb3hpZXMsIGluCisgIHRoZSBkaWN0LWNvbXBhdGlibGUgZm9ybSAoc2VlIHRoZSBgYGdldGRlY2ltYWwoKWBgIGV4YW1wbGUgYWJvdmUpLgogCiBNb3JlIGFkdmFuY2VkIGN1c3RvbWl6YXRpb24gbWF5IGJlIGFjaGlldmVkIGJ5IG92ZXJyaWRpbmcgZGVmYXVsdCB2YWx1ZXMgb2YKLXRoZXNlIHBhcnNlciBhdHRyaWJ1dGVzLiAgVGhlIGRlZmF1bHRzIGFyZSBkZWZpbmVkIG9uIHRoZSBjbGFzc2VzLCBzbyB0aGV5Ci1tYXkgYmUgb3ZlcnJpZGVuIGJ5IHN1YmNsYXNzZXMgb3IgYnkgYXR0cmlidXRlIGFzc2lnbm1lbnQuCit0aGVzZSBwYXJzZXIgYXR0cmlidXRlcy4gIFRoZSBkZWZhdWx0cyBhcmUgZGVmaW5lZCBvbiB0aGUgY2xhc3Nlcywgc28gdGhleSBtYXkKK2JlIG92ZXJyaWRkZW4gYnkgc3ViY2xhc3NlcyBvciBieSBhdHRyaWJ1dGUgYXNzaWdubWVudC4KIAogLi4gYXR0cmlidXRlOjogQk9PTEVBTl9TVEFURVMKIApAQCAtNzI1LDEwICs3NDIsMTEgQEAKIAogLi4gYXR0cmlidXRlOjogU0VDVENSRQogCi0gIEEgY29tcGlsZWQgcmVndWxhciBleHByZXNzaW9uIHVzZWQgdG8gcGFyc2Ugc2VjdGlvbiBoZWFkZXJzLiBUaGUgZGVmYXVsdAotICBtYXRjaGVzIGBgW3NlY3Rpb25dYGAgdG8gdGhlIG5hbWUgYGAic2VjdGlvbiJgYC4gV2hpdGVzcGFjZSBpcyBjb25zaWRlcmVkIHBhcnQKLSAgb2YgdGhlIHNlY3Rpb24gbmFtZSwgdGh1cyBgYFsgIGxhcmNoICBdYGAgd2lsbCBiZSByZWFkIGFzIGEgc2VjdGlvbiBvZiBuYW1lCi0gIGBgIiAgbGFyY2ggICJgYC4gT3ZlcnJpZGUgdGhpcyBhdHRyaWJ1dGUgaWYgdGhhdCdzIHVuc3VpdGFibGUuICBGb3IgZXhhbXBsZToKKyAgQSBjb21waWxlZCByZWd1bGFyIGV4cHJlc3Npb24gdXNlZCB0byBwYXJzZSBzZWN0aW9uIGhlYWRlcnMuICBUaGUgZGVmYXVsdAorICBtYXRjaGVzIGBgW3NlY3Rpb25dYGAgdG8gdGhlIG5hbWUgYGAic2VjdGlvbiJgYC4gIFdoaXRlc3BhY2UgaXMgY29uc2lkZXJlZAorICBwYXJ0IG9mIHRoZSBzZWN0aW9uIG5hbWUsIHRodXMgYGBbICBsYXJjaCAgXWBgIHdpbGwgYmUgcmVhZCBhcyBhIHNlY3Rpb24gb2YKKyAgbmFtZSBgYCIgIGxhcmNoICAiYGAuICBPdmVycmlkZSB0aGlzIGF0dHJpYnV0ZSBpZiB0aGF0J3MgdW5zdWl0YWJsZS4gIEZvcgorICBleGFtcGxlOgogCiAgIC4uIGRvY3Rlc3Q6OgogCkBAIC04NTksNyArODc3LDcgQEAKIENvbmZpZ1BhcnNlciBPYmplY3RzCiAtLS0tLS0tLS0tLS0tLS0tLS0tLQogCi0uLiBjbGFzczo6IENvbmZpZ1BhcnNlcihkZWZhdWx0cz1Ob25lLCBkaWN0X3R5cGU9Y29sbGVjdGlvbnMuT3JkZXJlZERpY3QsIGFsbG93X25vX3ZhbHVlPUZhbHNlLCBkZWxpbWl0ZXJzPSgnPScsICc6JyksIGNvbW1lbnRfcHJlZml4ZXM9KCcjJywgJzsnKSwgaW5saW5lX2NvbW1lbnRfcHJlZml4ZXM9Tm9uZSwgc3RyaWN0PVRydWUsIGVtcHR5X2xpbmVzX2luX3ZhbHVlcz1UcnVlLCBkZWZhdWx0X3NlY3Rpb249Y29uZmlncGFyc2VyLkRFRkFVTFRTRUNULCBpbnRlcnBvbGF0aW9uPUJhc2ljSW50ZXJwb2xhdGlvbigpKQorLi4gY2xhc3M6OiBDb25maWdQYXJzZXIoZGVmYXVsdHM9Tm9uZSwgZGljdF90eXBlPWNvbGxlY3Rpb25zLk9yZGVyZWREaWN0LCBhbGxvd19ub192YWx1ZT1GYWxzZSwgZGVsaW1pdGVycz0oJz0nLCAnOicpLCBjb21tZW50X3ByZWZpeGVzPSgnIycsICc7JyksIGlubGluZV9jb21tZW50X3ByZWZpeGVzPU5vbmUsIHN0cmljdD1UcnVlLCBlbXB0eV9saW5lc19pbl92YWx1ZXM9VHJ1ZSwgZGVmYXVsdF9zZWN0aW9uPWNvbmZpZ3BhcnNlci5ERUZBVUxUU0VDVCwgaW50ZXJwb2xhdGlvbj1CYXNpY0ludGVycG9sYXRpb24oKSwgY29udmVydGVycz17fSkKIAogICAgVGhlIG1haW4gY29uZmlndXJhdGlvbiBwYXJzZXIuICBXaGVuICpkZWZhdWx0cyogaXMgZ2l2ZW4sIGl0IGlzIGluaXRpYWxpemVkCiAgICBpbnRvIHRoZSBkaWN0aW9uYXJ5IG9mIGludHJpbnNpYyBkZWZhdWx0cy4gIFdoZW4gKmRpY3RfdHlwZSogaXMgZ2l2ZW4sIGl0CkBAIC04NjksOCArODg3LDggQEAKICAgIFdoZW4gKmRlbGltaXRlcnMqIGlzIGdpdmVuLCBpdCBpcyB1c2VkIGFzIHRoZSBzZXQgb2Ygc3Vic3RyaW5ncyB0aGF0CiAgICBkaXZpZGUga2V5cyBmcm9tIHZhbHVlcy4gIFdoZW4gKmNvbW1lbnRfcHJlZml4ZXMqIGlzIGdpdmVuLCBpdCB3aWxsIGJlIHVzZWQKICAgIGFzIHRoZSBzZXQgb2Ygc3Vic3RyaW5ncyB0aGF0IHByZWZpeCBjb21tZW50cyBpbiBvdGhlcndpc2UgZW1wdHkgbGluZXMuCi0gICBDb21tZW50cyBjYW4gYmUgaW5kZW50ZWQuIFdoZW4gKmlubGluZV9jb21tZW50X3ByZWZpeGVzKiBpcyBnaXZlbiwgaXQgd2lsbCBiZQotICAgdXNlZCBhcyB0aGUgc2V0IG9mIHN1YnN0cmluZ3MgdGhhdCBwcmVmaXggY29tbWVudHMgaW4gbm9uLWVtcHR5IGxpbmVzLgorICAgQ29tbWVudHMgY2FuIGJlIGluZGVudGVkLiAgV2hlbiAqaW5saW5lX2NvbW1lbnRfcHJlZml4ZXMqIGlzIGdpdmVuLCBpdCB3aWxsCisgICBiZSB1c2VkIGFzIHRoZSBzZXQgb2Ygc3Vic3RyaW5ncyB0aGF0IHByZWZpeCBjb21tZW50cyBpbiBub24tZW1wdHkgbGluZXMuCiAKICAgIFdoZW4gKnN0cmljdCogaXMgYGBUcnVlYGAgKHRoZSBkZWZhdWx0KSwgdGhlIHBhcnNlciB3b24ndCBhbGxvdyBmb3IKICAgIGFueSBzZWN0aW9uIG9yIG9wdGlvbiBkdXBsaWNhdGVzIHdoaWxlIHJlYWRpbmcgZnJvbSBhIHNpbmdsZSBzb3VyY2UgKGZpbGUsCkBAIC04ODQsMTMgKzkwMiwxMyBAQAogCiAgICBXaGVuICpkZWZhdWx0X3NlY3Rpb24qIGlzIGdpdmVuLCBpdCBzcGVjaWZpZXMgdGhlIG5hbWUgZm9yIHRoZSBzcGVjaWFsCiAgICBzZWN0aW9uIGhvbGRpbmcgZGVmYXVsdCB2YWx1ZXMgZm9yIG90aGVyIHNlY3Rpb25zIGFuZCBpbnRlcnBvbGF0aW9uIHB1cnBvc2VzCi0gICAobm9ybWFsbHkgbmFtZWQgYGAiREVGQVVMVCJgYCkuIFRoaXMgdmFsdWUgY2FuIGJlIHJldHJpZXZlZCBhbmQgY2hhbmdlZCBvbgorICAgKG5vcm1hbGx5IG5hbWVkIGBgIkRFRkFVTFQiYGApLiAgVGhpcyB2YWx1ZSBjYW4gYmUgcmV0cmlldmVkIGFuZCBjaGFuZ2VkIG9uCiAgICBydW50aW1lIHVzaW5nIHRoZSBgYGRlZmF1bHRfc2VjdGlvbmBgIGluc3RhbmNlIGF0dHJpYnV0ZS4KIAogICAgSW50ZXJwb2xhdGlvbiBiZWhhdmlvdXIgbWF5IGJlIGN1c3RvbWl6ZWQgYnkgcHJvdmlkaW5nIGEgY3VzdG9tIGhhbmRsZXIKICAgIHRocm91Z2ggdGhlICppbnRlcnBvbGF0aW9uKiBhcmd1bWVudC4gYGBOb25lYGAgY2FuIGJlIHVzZWQgdG8gdHVybiBvZmYKICAgIGludGVycG9sYXRpb24gY29tcGxldGVseSwgYGBFeHRlbmRlZEludGVycG9sYXRpb24oKWBgIHByb3ZpZGVzIGEgbW9yZQotICAgYWR2YW5jZWQgdmFyaWFudCBpbnNwaXJlZCBieSBgYHpjLmJ1aWxkb3V0YGAuIE1vcmUgb24gdGhlIHN1YmplY3QgaW4gdGhlCisgICBhZHZhbmNlZCB2YXJpYW50IGluc3BpcmVkIGJ5IGBgemMuYnVpbGRvdXRgYC4gIE1vcmUgb24gdGhlIHN1YmplY3QgaW4gdGhlCiAgICBgZGVkaWNhdGVkIGRvY3VtZW50YXRpb24gc2VjdGlvbiA8I2ludGVycG9sYXRpb24tb2YtdmFsdWVzPmBfLgogCiAgICBBbGwgb3B0aW9uIG5hbWVzIHVzZWQgaW4gaW50ZXJwb2xhdGlvbiB3aWxsIGJlIHBhc3NlZCB0aHJvdWdoIHRoZQpAQCAtODk5LDYgKzkxNywxMiBAQAogICAgY29udmVydHMgb3B0aW9uIG5hbWVzIHRvIGxvd2VyIGNhc2UpLCB0aGUgdmFsdWVzIGBgZm9vICUoYmFyKXNgYCBhbmQgYGBmb28KICAgICUoQkFSKXNgYCBhcmUgZXF1aXZhbGVudC4KIAorICAgV2hlbiAqY29udmVydGVycyogaXMgZ2l2ZW4sIGl0IHNob3VsZCBiZSBhIGRpY3Rpb25hcnkgd2hlcmUgZWFjaCBrZXkKKyAgIHJlcHJlc2VudHMgdGhlIG5hbWUgb2YgYSB0eXBlIGNvbnZlcnRlciBhbmQgZWFjaCB2YWx1ZSBpcyBhIGNhbGxhYmxlCisgICBpbXBsZW1lbnRpbmcgdGhlIGNvbnZlcnNpb24gZnJvbSBzdHJpbmcgdG8gdGhlIGRlc2lyZWQgZGF0YXR5cGUuICBFdmVyeQorICAgY29udmVydGVyIGdldHMgaXRzIG93biBjb3JyZXNwb25kaW5nIDptZXRoOmBnZXQqKClgIG1ldGhvZCBvbiB0aGUgcGFyc2VyCisgICBvYmplY3QgYW5kIHNlY3Rpb24gcHJveGllcy4KKwogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjEKICAgICAgIFRoZSBkZWZhdWx0ICpkaWN0X3R5cGUqIGlzIDpjbGFzczpgY29sbGVjdGlvbnMuT3JkZXJlZERpY3RgLgogCkBAIC05MDcsNiArOTMxLDkgQEAKICAgICAgICplbXB0eV9saW5lc19pbl92YWx1ZXMqLCAqZGVmYXVsdF9zZWN0aW9uKiBhbmQgKmludGVycG9sYXRpb24qIHdlcmUKICAgICAgIGFkZGVkLgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgVGhlICpjb252ZXJ0ZXJzKiBhcmd1bWVudCB3YXMgYWRkZWQuCisKIAogICAgLi4gbWV0aG9kOjogZGVmYXVsdHMoKQogCkBAIC05NDQsNyArOTcxLDcgQEAKICAgIC4uIG1ldGhvZDo6IGhhc19vcHRpb24oc2VjdGlvbiwgb3B0aW9uKQogCiAgICAgICBJZiB0aGUgZ2l2ZW4gKnNlY3Rpb24qIGV4aXN0cywgYW5kIGNvbnRhaW5zIHRoZSBnaXZlbiAqb3B0aW9uKiwgcmV0dXJuCi0gICAgICA6Y29uc3Q6YFRydWVgOyBvdGhlcndpc2UgcmV0dXJuIDpjb25zdDpgRmFsc2VgLiBJZiB0aGUgc3BlY2lmaWVkCisgICAgICA6Y29uc3Q6YFRydWVgOyBvdGhlcndpc2UgcmV0dXJuIDpjb25zdDpgRmFsc2VgLiAgSWYgdGhlIHNwZWNpZmllZAogICAgICAgKnNlY3Rpb24qIGlzIDpjb25zdDpgTm9uZWAgb3IgYW4gZW1wdHkgc3RyaW5nLCBERUZBVUxUIGlzIGFzc3VtZWQuCiAKIApAQCAtMTA2OSw3ICsxMDk2LDcgQEAKICAgICAgIDptZXRoOmBnZXRgIG1ldGhvZC4KIAogICAgICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjIKLSAgICAgICAgIEl0ZW1zIHByZXNlbnQgaW4gKnZhcnMqIG5vIGxvbmdlciBhcHBlYXIgaW4gdGhlIHJlc3VsdC4gVGhlIHByZXZpb3VzCisgICAgICAgICBJdGVtcyBwcmVzZW50IGluICp2YXJzKiBubyBsb25nZXIgYXBwZWFyIGluIHRoZSByZXN1bHQuICBUaGUgcHJldmlvdXMKICAgICAgICAgIGJlaGF2aW91ciBtaXhlZCBhY3R1YWwgcGFyc2VyIG9wdGlvbnMgd2l0aCB2YXJpYWJsZXMgcHJvdmlkZWQgZm9yCiAgICAgICAgICBpbnRlcnBvbGF0aW9uLgogCkBAIC0xMTcwLDcgKzExOTcsNyBAQAogCiAgICAuLiBub3RlOjoKICAgICAgIENvbnNpZGVyIHVzaW5nIDpjbGFzczpgQ29uZmlnUGFyc2VyYCBpbnN0ZWFkIHdoaWNoIGNoZWNrcyB0eXBlcyBvZgotICAgICAgdGhlIHZhbHVlcyB0byBiZSBzdG9yZWQgaW50ZXJuYWxseS4gSWYgeW91IGRvbid0IHdhbnQgaW50ZXJwb2xhdGlvbiwgeW91CisgICAgICB0aGUgdmFsdWVzIHRvIGJlIHN0b3JlZCBpbnRlcm5hbGx5LiAgSWYgeW91IGRvbid0IHdhbnQgaW50ZXJwb2xhdGlvbiwgeW91CiAgICAgICBjYW4gdXNlIGBgQ29uZmlnUGFyc2VyKGludGVycG9sYXRpb249Tm9uZSlgYC4KIAogCkBAIC0xMTgxLDcgKzEyMDgsNyBAQAogICAgICAgKmRlZmF1bHQgc2VjdGlvbiogbmFtZSBpcyBwYXNzZWQsIDpleGM6YFZhbHVlRXJyb3JgIGlzIHJhaXNlZC4KIAogICAgICAgVHlwZSBvZiAqc2VjdGlvbiogaXMgbm90IGNoZWNrZWQgd2hpY2ggbGV0cyB1c2VycyBjcmVhdGUgbm9uLXN0cmluZyBuYW1lZAotICAgICAgc2VjdGlvbnMuIFRoaXMgYmVoYXZpb3VyIGlzIHVuc3VwcG9ydGVkIGFuZCBtYXkgY2F1c2UgaW50ZXJuYWwgZXJyb3JzLgorICAgICAgc2VjdGlvbnMuICBUaGlzIGJlaGF2aW91ciBpcyB1bnN1cHBvcnRlZCBhbmQgbWF5IGNhdXNlIGludGVybmFsIGVycm9ycy4KIAogCiAgICAuLiBtZXRob2Q6OiBzZXQoc2VjdGlvbiwgb3B0aW9uLCB2YWx1ZSkKQEAgLTEyODIsMyArMTMwOSw0IEBACiAuLiBbMV0gQ29uZmlnIHBhcnNlcnMgYWxsb3cgZm9yIGhlYXZ5IGN1c3RvbWl6YXRpb24uICBJZiB5b3UgYXJlIGludGVyZXN0ZWQgaW4KICAgICAgICBjaGFuZ2luZyB0aGUgYmVoYXZpb3VyIG91dGxpbmVkIGJ5IHRoZSBmb290bm90ZSByZWZlcmVuY2UsIGNvbnN1bHQgdGhlCiAgICAgICAgYEN1c3RvbWl6aW5nIFBhcnNlciBCZWhhdmlvdXJgXyBzZWN0aW9uLgorCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9jb25zdGFudHMucnN0IGIvRG9jL2xpYnJhcnkvY29uc3RhbnRzLnJzdAppbmRleCA0MmI1YWYyLi5kNWEwZjA5IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9jb25zdGFudHMucnN0CisrKyBiL0RvYy9saWJyYXJ5L2NvbnN0YW50cy5yc3QKQEAgLTQ1LDcgKzQ1LDYgQEAKICAgIGZvciBtb3JlIGRldGFpbHMuCiAKIAotCiAuLiBkYXRhOjogRWxsaXBzaXMKIAogICAgVGhlIHNhbWUgYXMgYGAuLi5gYC4gIFNwZWNpYWwgdmFsdWUgdXNlZCBtb3N0bHkgaW4gY29uanVuY3Rpb24gd2l0aCBleHRlbmRlZApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvY29udGV4dGxpYi5yc3QgYi9Eb2MvbGlicmFyeS9jb250ZXh0bGliLnJzdAppbmRleCA2ZjM2ODY0Li41NTBiMzQ3IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9jb250ZXh0bGliLnJzdAorKysgYi9Eb2MvbGlicmFyeS9jb250ZXh0bGliLnJzdApAQCAtMTcyLDYgKzE3MiwxNiBAQAogICAgLi4gdmVyc2lvbmFkZGVkOjogMy40CiAKIAorLi4gZnVuY3Rpb246OiByZWRpcmVjdF9zdGRlcnIobmV3X3RhcmdldCkKKworICAgU2ltaWxhciB0byA6ZnVuYzpgfmNvbnRleHRsaWIucmVkaXJlY3Rfc3Rkb3V0YCBidXQgcmVkaXJlY3RpbmcKKyAgIDpkYXRhOmBzeXMuc3RkZXJyYCB0byBhbm90aGVyIGZpbGUgb3IgZmlsZS1saWtlIG9iamVjdC4KKworICAgVGhpcyBjb250ZXh0IG1hbmFnZXIgaXMgOnJlZjpgcmVlbnRyYW50IDxyZWVudHJhbnQtY21zPmAuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQorCisKIC4uIGNsYXNzOjogQ29udGV4dERlY29yYXRvcigpCiAKICAgIEEgYmFzZSBjbGFzcyB0aGF0IGVuYWJsZXMgYSBjb250ZXh0IG1hbmFnZXIgdG8gYWxzbyBiZSB1c2VkIGFzIGEgZGVjb3JhdG9yLgpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvY29weXJlZy5yc3QgYi9Eb2MvbGlicmFyeS9jb3B5cmVnLnJzdAppbmRleCA1MGQ1ODc5Li4xODMwNmM3IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9jb3B5cmVnLnJzdAorKysgYi9Eb2MvbGlicmFyeS9jb3B5cmVnLnJzdApAQCAtOSw3ICs5LDcgQEAKICAgIG1vZHVsZTogcGlja2xlCiAgICBtb2R1bGU6IGNvcHkKIAotVGhlIDptb2Q6YGNvcHlyZWdgIG1vZHVsZSBvZmZlcnMgYSB3YXkgdG8gZGVmaW5lIGZ1Y3Rpb25zIHVzZWQgd2hpbGUgcGlja2xpbmcKK1RoZSA6bW9kOmBjb3B5cmVnYCBtb2R1bGUgb2ZmZXJzIGEgd2F5IHRvIGRlZmluZSBmdW5jdGlvbnMgdXNlZCB3aGlsZSBwaWNrbGluZwogc3BlY2lmaWMgb2JqZWN0cy4gIFRoZSA6bW9kOmBwaWNrbGVgIGFuZCA6bW9kOmBjb3B5YCBtb2R1bGVzIHVzZSB0aG9zZSBmdW5jdGlvbnMKIHdoZW4gcGlja2xpbmcvY29weWluZyB0aG9zZSBvYmplY3RzLiAgVGhlIG1vZHVsZSBwcm92aWRlcyBjb25maWd1cmF0aW9uCiBpbmZvcm1hdGlvbiBhYm91dCBvYmplY3QgY29uc3RydWN0b3JzIHdoaWNoIGFyZSBub3QgY2xhc3Nlcy4KZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2Nzdi5yc3QgYi9Eb2MvbGlicmFyeS9jc3YucnN0CmluZGV4IDlmN2I1OGEuLmU3NTE2YjYgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2Nzdi5yc3QKKysrIGIvRG9jL2xpYnJhcnkvY3N2LnJzdApAQCAtNSw2ICs1LDcgQEAKICAgIDpzeW5vcHNpczogV3JpdGUgYW5kIHJlYWQgdGFidWxhciBkYXRhIHRvIGFuZCBmcm9tIGRlbGltaXRlZCBmaWxlcy4KIC4uIHNlY3Rpb25hdXRob3I6OiBTa2lwIE1vbnRhbmFybyA8c2tpcEBwb2JveC5jb20+CiAKKyoqU291cmNlIGNvZGU6KiogOnNvdXJjZTpgTGliL2Nzdi5weWAKIAogLi4gaW5kZXg6OgogICAgc2luZ2xlOiBjc3YKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2RhdGV0aW1lLnJzdCBiL0RvYy9saWJyYXJ5L2RhdGV0aW1lLnJzdAppbmRleCA3ZGQ4NjEzLi43YTlmOTNjIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9kYXRldGltZS5yc3QKKysrIGIvRG9jL2xpYnJhcnkvZGF0ZXRpbWUucnN0CkBAIC03LDYgKzcsOCBAQAogLi4gc2VjdGlvbmF1dGhvcjo6IFRpbSBQZXRlcnMgPHRpbUB6b3BlLmNvbT4KIC4uIHNlY3Rpb25hdXRob3I6OiBBLk0uIEt1Y2hsaW5nIDxhbWtAYW1rLmNhPgogCisqKlNvdXJjZSBjb2RlOioqIDpzb3VyY2U6YExpYi9kYXRldGltZS5weWAKKwogLi4gWFhYIHdoYXQgb3JkZXIgc2hvdWxkIHRoZSB0eXBlcyBiZSBkaXNjdXNzZWQgaW4/CiAKIFRoZSA6bW9kOmBkYXRldGltZWAgbW9kdWxlIHN1cHBsaWVzIGNsYXNzZXMgZm9yIG1hbmlwdWxhdGluZyBkYXRlcyBhbmQgdGltZXMgaW4KQEAgLTEzNzYsMTAgKzEzNzgsMTMgQEAKIAogKiBlZmZpY2llbnQgcGlja2xpbmcKIAotKiBpbiBCb29sZWFuIGNvbnRleHRzLCBhIDpjbGFzczpgLnRpbWVgIG9iamVjdCBpcyBjb25zaWRlcmVkIHRvIGJlIHRydWUgaWYgYW5kCi0gIG9ubHkgaWYsIGFmdGVyIGNvbnZlcnRpbmcgaXQgdG8gbWludXRlcyBhbmQgc3VidHJhY3RpbmcgOm1ldGg6YHV0Y29mZnNldGAgKG9yCi0gIGBgMGBgIGlmIHRoYXQncyBgYE5vbmVgYCksIHRoZSByZXN1bHQgaXMgbm9uLXplcm8uCitJbiBib29sZWFuIGNvbnRleHRzLCBhIDpjbGFzczpgLnRpbWVgIG9iamVjdCBpcyBhbHdheXMgY29uc2lkZXJlZCB0byBiZSB0cnVlLgogCisuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgQmVmb3JlIFB5dGhvbiAzLjUsIGEgOmNsYXNzOmAudGltZWAgb2JqZWN0IHdhcyBjb25zaWRlcmVkIHRvIGJlIGZhbHNlIGlmIGl0CisgICByZXByZXNlbnRlZCBtaWRuaWdodCBpbiBVVEMuICBUaGlzIGJlaGF2aW9yIHdhcyBjb25zaWRlcmVkIG9ic2N1cmUgYW5kCisgICBlcnJvci1wcm9uZSBhbmQgaGFzIGJlZW4gcmVtb3ZlZCBpbiBQeXRob24gMy41LiAgU2VlIDppc3N1ZTpgMTM5MzZgIGZvciBmdWxsCisgICBkZXRhaWxzLgogCiBJbnN0YW5jZSBtZXRob2RzOgogCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9kYm0ucnN0IGIvRG9jL2xpYnJhcnkvZGJtLnJzdAppbmRleCBlNmE4MmQ2Li4zZjNjNDNkIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9kYm0ucnN0CisrKyBiL0RvYy9saWJyYXJ5L2RibS5yc3QKQEAgLTMyNSwxMyArMzI1LDE4IEBACiAgICBkdW1iZGJtIGRhdGFiYXNlIGlzIGNyZWF0ZWQsIGZpbGVzIHdpdGggOmZpbGU6YC5kYXRgIGFuZCA6ZmlsZTpgLmRpcmAgZXh0ZW5zaW9ucwogICAgYXJlIGNyZWF0ZWQuCiAKLSAgIFRoZSBvcHRpb25hbCAqZmxhZyogYXJndW1lbnQgaXMgY3VycmVudGx5IGlnbm9yZWQ7IHRoZSBkYXRhYmFzZSBpcyBhbHdheXMgb3BlbmVkCi0gICBmb3IgdXBkYXRlLCBhbmQgd2lsbCBiZSBjcmVhdGVkIGlmIGl0IGRvZXMgbm90IGV4aXN0LgorICAgVGhlIG9wdGlvbmFsICpmbGFnKiBhcmd1bWVudCBzdXBwb3J0cyBvbmx5IHRoZSBzZW1hbnRpY3Mgb2YgYGAnYydgYAorICAgYW5kIGBgJ24nYGAgdmFsdWVzLiAgT3RoZXIgdmFsdWVzIHdpbGwgZGVmYXVsdCB0byBkYXRhYmFzZSBiZWluZyBhbHdheXMKKyAgIG9wZW5lZCBmb3IgdXBkYXRlLCBhbmQgd2lsbCBiZSBjcmVhdGVkIGlmIGl0IGRvZXMgbm90IGV4aXN0LgogCiAgICBUaGUgb3B0aW9uYWwgKm1vZGUqIGFyZ3VtZW50IGlzIHRoZSBVbml4IG1vZGUgb2YgdGhlIGZpbGUsIHVzZWQgb25seSB3aGVuIHRoZQogICAgZGF0YWJhc2UgaGFzIHRvIGJlIGNyZWF0ZWQuICBJdCBkZWZhdWx0cyB0byBvY3RhbCBgYDBvNjY2YGAgKGFuZCB3aWxsIGJlIG1vZGlmaWVkCiAgICBieSB0aGUgcHJldmFpbGluZyB1bWFzaykuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICA6ZnVuYzpgLm9wZW5gIGFsd2F5cyBjcmVhdGVzIGEgbmV3IGRhdGFiYXNlIHdoZW4gdGhlIGZsYWcgaGFzIHRoZSB2YWx1ZQorICAgICAgYGAnbidgYC4KKwogICAgSW4gYWRkaXRpb24gdG8gdGhlIG1ldGhvZHMgcHJvdmlkZWQgYnkgdGhlCiAgICA6Y2xhc3M6YGNvbGxlY3Rpb25zLmFiYy5NdXRhYmxlTWFwcGluZ2AgY2xhc3MsIDpjbGFzczpgZHVtYmRibWAgb2JqZWN0cwogICAgcHJvdmlkZSB0aGUgZm9sbG93aW5nIG1ldGhvZHM6CmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9kZWNpbWFsLnJzdCBiL0RvYy9saWJyYXJ5L2RlY2ltYWwucnN0CmluZGV4IDA1OWFlN2MuLjcwNTI5ODUgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2RlY2ltYWwucnN0CisrKyBiL0RvYy9saWJyYXJ5L2RlY2ltYWwucnN0CkBAIC0xMiw2ICsxMiw4IEBACiAuLiBtb2R1bGVhdXRob3I6OiBTdGVmYW4gS3JhaCA8c2tyYWggYXQgYnl0ZXJlZWYub3JnPgogLi4gc2VjdGlvbmF1dGhvcjo6IFJheW1vbmQgRC4gSGV0dGluZ2VyIDxweXRob24gYXQgcmNuLmNvbT4KIAorKipTb3VyY2UgY29kZToqKiA6c291cmNlOmBMaWIvZGVjaW1hbC5weWAKKwogLi4gaW1wb3J0IG1vZHVsZXMgZm9yIHRlc3RpbmcgaW5saW5lIGRvY3Rlc3RzIHdpdGggdGhlIFNwaGlueCBkb2N0ZXN0IGJ1aWxkZXIKIC4uIHRlc3RzZXR1cDo6ICoKIApAQCAtNzQyLDcgKzc0NCw3IEBACiAgICAgICAqIGBgIk5hTiJgYCwgaW5kaWNhdGluZyB0aGF0IHRoZSBvcGVyYW5kIGlzIGEgcXVpZXQgTmFOIChOb3QgYSBOdW1iZXIpLgogICAgICAgKiBgYCJzTmFOImBgLCBpbmRpY2F0aW5nIHRoYXQgdGhlIG9wZXJhbmQgaXMgYSBzaWduYWxpbmcgTmFOLgogCi0gICAuLiBtZXRob2Q6OiBxdWFudGl6ZShleHAsIHJvdW5kaW5nPU5vbmUsIGNvbnRleHQ9Tm9uZSwgd2F0Y2hleHA9VHJ1ZSkKKyAgIC4uIG1ldGhvZDo6IHF1YW50aXplKGV4cCwgcm91bmRpbmc9Tm9uZSwgY29udGV4dD1Ob25lKQogCiAgICAgICBSZXR1cm4gYSB2YWx1ZSBlcXVhbCB0byB0aGUgZmlyc3Qgb3BlcmFuZCBhZnRlciByb3VuZGluZyBhbmQgaGF2aW5nIHRoZQogICAgICAgZXhwb25lbnQgb2YgdGhlIHNlY29uZCBvcGVyYW5kLgpAQCAtNzY1LDE0ICs3NjcsOCBAQAogICAgICAgYGBjb250ZXh0YGAgYXJndW1lbnQ7IGlmIG5laXRoZXIgYXJndW1lbnQgaXMgZ2l2ZW4gdGhlIHJvdW5kaW5nIG1vZGUgb2YKICAgICAgIHRoZSBjdXJyZW50IHRocmVhZCdzIGNvbnRleHQgaXMgdXNlZC4KIAotICAgICAgSWYgKndhdGNoZXhwKiBpcyBzZXQgKGRlZmF1bHQpLCB0aGVuIGFuIGVycm9yIGlzIHJldHVybmVkIHdoZW5ldmVyIHRoZQotICAgICAgcmVzdWx0aW5nIGV4cG9uZW50IGlzIGdyZWF0ZXIgdGhhbiA6YXR0cjpgRW1heGAgb3IgbGVzcyB0aGFuCi0gICAgICA6YXR0cjpgRXRpbnlgLgotCi0gICAgICAuLiBkZXByZWNhdGVkOjogMy4zCi0gICAgICAgICAqd2F0Y2hleHAqIGlzIGFuIGltcGxlbWVudGF0aW9uIGRldGFpbCBmcm9tIHRoZSBwdXJlIFB5dGhvbiB2ZXJzaW9uCi0gICAgICAgICBhbmQgaXMgbm90IHByZXNlbnQgaW4gdGhlIEMgdmVyc2lvbi4gSXQgd2lsbCBiZSByZW1vdmVkIGluIHZlcnNpb24KLSAgICAgICAgIDMuNCwgd2hlcmUgaXQgZGVmYXVsdHMgdG8gYGBUcnVlYGAuCisgICAgICBBbiBlcnJvciBpcyByZXR1cm5lZCB3aGVuZXZlciB0aGUgcmVzdWx0aW5nIGV4cG9uZW50IGlzIGdyZWF0ZXIgdGhhbgorICAgICAgOmF0dHI6YEVtYXhgIG9yIGxlc3MgdGhhbiA6YXR0cjpgRXRpbnlgLgogCiAgICAuLiBtZXRob2Q6OiByYWRpeCgpCiAKQEAgLTIwOTIsNCArMjA4OCwzIEBACiAKICAgID4+PiBDb250ZXh0KHByZWM9NSwgcm91bmRpbmc9Uk9VTkRfRE9XTikuY3JlYXRlX2RlY2ltYWwoJzEuMjM0NTY3OCcpCiAgICBEZWNpbWFsKCcxLjIzNDUnKQotCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9kaWZmbGliLnJzdCBiL0RvYy9saWJyYXJ5L2RpZmZsaWIucnN0CmluZGV4IDVmNzJlYTYuLjMyOWJkZTAgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2RpZmZsaWIucnN0CisrKyBiL0RvYy9saWJyYXJ5L2RpZmZsaWIucnN0CkBAIC03LDYgKzcsOCBAQAogLi4gc2VjdGlvbmF1dGhvcjo6IFRpbSBQZXRlcnMgPHRpbV9vbmVAdXNlcnMuc291cmNlZm9yZ2UubmV0PgogLi4gTWFya3VwIGJ5IEZyZWQgTC4gRHJha2UsIEpyLiA8ZmRyYWtlQGFjbS5vcmc+CiAKKyoqU291cmNlIGNvZGU6KiogOnNvdXJjZTpgTGliL2RpZmZsaWIucHlgCisKIC4uIHRlc3RzZXR1cDo6CiAKICAgIGltcG9ydCBzeXMKQEAgLTI1LDcgKzI3LDkgQEAKICAgIGxpdHRsZSBmYW5jaWVyIHRoYW4sIGFuIGFsZ29yaXRobSBwdWJsaXNoZWQgaW4gdGhlIGxhdGUgMTk4MCdzIGJ5IFJhdGNsaWZmIGFuZAogICAgT2JlcnNoZWxwIHVuZGVyIHRoZSBoeXBlcmJvbGljIG5hbWUgImdlc3RhbHQgcGF0dGVybiBtYXRjaGluZy4iICBUaGUgaWRlYSBpcyB0bwogICAgZmluZCB0aGUgbG9uZ2VzdCBjb250aWd1b3VzIG1hdGNoaW5nIHN1YnNlcXVlbmNlIHRoYXQgY29udGFpbnMgbm8gImp1bmsiCi0gICBlbGVtZW50cyAodGhlIFJhdGNsaWZmIGFuZCBPYmVyc2hlbHAgYWxnb3JpdGhtIGRvZXNuJ3QgYWRkcmVzcyBqdW5rKS4gIFRoZSBzYW1lCisgICBlbGVtZW50czsgdGhlc2UgImp1bmsiIGVsZW1lbnRzIGFyZSBvbmVzIHRoYXQgYXJlIHVuaW50ZXJlc3RpbmcgaW4gc29tZQorICAgc2Vuc2UsIHN1Y2ggYXMgYmxhbmsgbGluZXMgb3Igd2hpdGVzcGFjZS4gIChIYW5kbGluZyBqdW5rIGlzIGFuCisgICBleHRlbnNpb24gdG8gdGhlIFJhdGNsaWZmIGFuZCBPYmVyc2hlbHAgYWxnb3JpdGhtLikgVGhlIHNhbWUKICAgIGlkZWEgaXMgdGhlbiBhcHBsaWVkIHJlY3Vyc2l2ZWx5IHRvIHRoZSBwaWVjZXMgb2YgdGhlIHNlcXVlbmNlcyB0byB0aGUgbGVmdCBhbmQKICAgIHRvIHRoZSByaWdodCBvZiB0aGUgbWF0Y2hpbmcgc3Vic2VxdWVuY2UuICBUaGlzIGRvZXMgbm90IHlpZWxkIG1pbmltYWwgZWRpdAogICAgc2VxdWVuY2VzLCBidXQgZG9lcyB0ZW5kIHRvIHlpZWxkIG1hdGNoZXMgdGhhdCAibG9vayByaWdodCIgdG8gcGVvcGxlLgpAQCAtMjA4LDcgKzIxMiw3IEBACiAgICBDb21wYXJlICphKiBhbmQgKmIqIChsaXN0cyBvZiBzdHJpbmdzKTsgcmV0dXJuIGEgOmNsYXNzOmBEaWZmZXJgXCAtc3R5bGUKICAgIGRlbHRhIChhIDp0ZXJtOmBnZW5lcmF0b3JgIGdlbmVyYXRpbmcgdGhlIGRlbHRhIGxpbmVzKS4KIAotICAgT3B0aW9uYWwga2V5d29yZCBwYXJhbWV0ZXJzICpsaW5lanVuayogYW5kICpjaGFyanVuayogYXJlIGZvciBmaWx0ZXIgZnVuY3Rpb25zCisgICBPcHRpb25hbCBrZXl3b3JkIHBhcmFtZXRlcnMgKmxpbmVqdW5rKiBhbmQgKmNoYXJqdW5rKiBhcmUgZmlsdGVyaW5nIGZ1bmN0aW9ucwogICAgKG9yIGBgTm9uZWBgKToKIAogICAgKmxpbmVqdW5rKjogQSBmdW5jdGlvbiB0aGF0IGFjY2VwdHMgYSBzaW5nbGUgc3RyaW5nIGFyZ3VtZW50LCBhbmQgcmV0dXJucwpAQCAtMjIyLDcgKzIyNiw3IEBACiAgICAqY2hhcmp1bmsqOiBBIGZ1bmN0aW9uIHRoYXQgYWNjZXB0cyBhIGNoYXJhY3RlciAoYSBzdHJpbmcgb2YgbGVuZ3RoIDEpLCBhbmQKICAgIHJldHVybnMgaWYgdGhlIGNoYXJhY3RlciBpcyBqdW5rLCBvciBmYWxzZSBpZiBub3QuIFRoZSBkZWZhdWx0IGlzIG1vZHVsZS1sZXZlbAogICAgZnVuY3Rpb24gOmZ1bmM6YElTX0NIQVJBQ1RFUl9KVU5LYCwgd2hpY2ggZmlsdGVycyBvdXQgd2hpdGVzcGFjZSBjaGFyYWN0ZXJzIChhCi0gICBibGFuayBvciB0YWI7IG5vdGU6IGJhZCBpZGVhIHRvIGluY2x1ZGUgbmV3bGluZSBpbiB0aGlzISkuCisgICBibGFuayBvciB0YWI7IGl0J3MgYSBiYWQgaWRlYSB0byBpbmNsdWRlIG5ld2xpbmUgaW4gdGhpcyEpLgogCiAgICA6ZmlsZTpgVG9vbHMvc2NyaXB0cy9uZGlmZi5weWAgaXMgYSBjb21tYW5kLWxpbmUgZnJvbnQtZW5kIHRvIHRoaXMgZnVuY3Rpb24uCiAKQEAgLTYyMiw2ICs2MjYsMTIgQEAKICAgIGxlbmd0aCAxKSwgYW5kIHJldHVybnMgdHJ1ZSBpZiB0aGUgY2hhcmFjdGVyIGlzIGp1bmsuIFRoZSBkZWZhdWx0IGlzIGBgTm9uZWBgLAogICAgbWVhbmluZyB0aGF0IG5vIGNoYXJhY3RlciBpcyBjb25zaWRlcmVkIGp1bmsuCiAKKyAgIFRoZXNlIGp1bmstZmlsdGVyaW5nIGZ1bmN0aW9ucyBzcGVlZCB1cCBtYXRjaGluZyB0byBmaW5kCisgICBkaWZmZXJlbmNlcyBhbmQgZG8gbm90IGNhdXNlIGFueSBkaWZmZXJpbmcgbGluZXMgb3IgY2hhcmFjdGVycyB0bworICAgYmUgaWdub3JlZC4gIFJlYWQgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZQorICAgOm1ldGg6YH5TZXF1ZW5jZU1hdGNoZXIuZmluZF9sb25nZXN0X21hdGNoYCBtZXRob2QncyAqaXNqdW5rKgorICAgcGFyYW1ldGVyIGZvciBhbiBleHBsYW5hdGlvbi4KKwogICAgOmNsYXNzOmBEaWZmZXJgIG9iamVjdHMgYXJlIHVzZWQgKGRlbHRhcyBnZW5lcmF0ZWQpIHZpYSBhIHNpbmdsZSBtZXRob2Q6CiAKIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvZGlzLnJzdCBiL0RvYy9saWJyYXJ5L2Rpcy5yc3QKaW5kZXggMWI3Y2ZlMS4uM2I0MTllNiAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvZGlzLnJzdAorKysgYi9Eb2MvbGlicmFyeS9kaXMucnN0CkBAIC00OCw4ICs0OCw4IEBACiAKIC4uIGNsYXNzOjogQnl0ZWNvZGUoeCwgKiwgZmlyc3RfbGluZT1Ob25lLCBjdXJyZW50X29mZnNldD1Ob25lKQogCi0gICBBbmFseXNlIHRoZSBieXRlY29kZSBjb3JyZXNwb25kaW5nIHRvIGEgZnVuY3Rpb24sIG1ldGhvZCwgc3RyaW5nIG9mCi0gICBzb3VyY2UgY29kZSwgb3IgYSBjb2RlIG9iamVjdCAoYXMgcmV0dXJuZWQgYnkgOmZ1bmM6YGNvbXBpbGVgKS4KKyAgIEFuYWx5c2UgdGhlIGJ5dGVjb2RlIGNvcnJlc3BvbmRpbmcgdG8gYSBmdW5jdGlvbiwgZ2VuZXJhdG9yLCBtZXRob2QsCisgICBzdHJpbmcgb2Ygc291cmNlIGNvZGUsIG9yIGEgY29kZSBvYmplY3QgKGFzIHJldHVybmVkIGJ5IDpmdW5jOmBjb21waWxlYCkuCiAKICAgIFRoaXMgaXMgYSBjb252ZW5pZW5jZSB3cmFwcGVyIGFyb3VuZCBtYW55IG9mIHRoZSBmdW5jdGlvbnMgbGlzdGVkIGJlbG93LAogICAgbW9zdCBub3RhYmx5IDpmdW5jOmBnZXRfaW5zdHJ1Y3Rpb25zYCwgYXMgaXRlcmF0aW5nIG92ZXIgYQpAQCAtMTEyLDcgKzExMiw3IEBACiAuLiBmdW5jdGlvbjo6IGNvZGVfaW5mbyh4KQogCiAgICBSZXR1cm4gYSBmb3JtYXR0ZWQgbXVsdGktbGluZSBzdHJpbmcgd2l0aCBkZXRhaWxlZCBjb2RlIG9iamVjdCBpbmZvcm1hdGlvbgotICAgZm9yIHRoZSBzdXBwbGllZCBmdW5jdGlvbiwgbWV0aG9kLCBzb3VyY2UgY29kZSBzdHJpbmcgb3IgY29kZSBvYmplY3QuCisgICBmb3IgdGhlIHN1cHBsaWVkIGZ1bmN0aW9uLCBnZW5lcmF0b3IsIG1ldGhvZCwgc291cmNlIGNvZGUgc3RyaW5nIG9yIGNvZGUgb2JqZWN0LgogCiAgICBOb3RlIHRoYXQgdGhlIGV4YWN0IGNvbnRlbnRzIG9mIGNvZGUgaW5mbyBzdHJpbmdzIGFyZSBoaWdobHkgaW1wbGVtZW50YXRpb24KICAgIGRlcGVuZGVudCBhbmQgdGhleSBtYXkgY2hhbmdlIGFyYml0cmFyaWx5IGFjcm9zcyBQeXRob24gVk1zIG9yIFB5dGhvbgpAQCAtMTM5LDExICsxMzksMTEgQEAKIC4uIGZ1bmN0aW9uOjogZGlzKHg9Tm9uZSwgKiwgZmlsZT1Ob25lKQogCiAgICBEaXNhc3NlbWJsZSB0aGUgKngqIG9iamVjdC4gICp4KiBjYW4gZGVub3RlIGVpdGhlciBhIG1vZHVsZSwgYSBjbGFzcywgYQotICAgbWV0aG9kLCBhIGZ1bmN0aW9uLCBhIGNvZGUgb2JqZWN0LCBhIHN0cmluZyBvZiBzb3VyY2UgY29kZSBvciBhIGJ5dGUgc2VxdWVuY2UKLSAgIG9mIHJhdyBieXRlY29kZS4gIEZvciBhIG1vZHVsZSwgaXQgZGlzYXNzZW1ibGVzIGFsbCBmdW5jdGlvbnMuICBGb3IgYSBjbGFzcywKLSAgIGl0IGRpc2Fzc2VtYmxlcyBhbGwgbWV0aG9kcy4gIEZvciBhIGNvZGUgb2JqZWN0IG9yIHNlcXVlbmNlIG9mIHJhdyBieXRlY29kZSwKLSAgIGl0IHByaW50cyBvbmUgbGluZSBwZXIgYnl0ZWNvZGUgaW5zdHJ1Y3Rpb24uICBTdHJpbmdzIGFyZSBmaXJzdCBjb21waWxlZCB0bwotICAgY29kZSBvYmplY3RzIHdpdGggdGhlIDpmdW5jOmBjb21waWxlYCBidWlsdC1pbiBmdW5jdGlvbiBiZWZvcmUgYmVpbmcKKyAgIG1ldGhvZCwgYSBmdW5jdGlvbiwgYSBnZW5lcmF0b3IsIGEgY29kZSBvYmplY3QsIGEgc3RyaW5nIG9mIHNvdXJjZSBjb2RlIG9yCisgICBhIGJ5dGUgc2VxdWVuY2Ugb2YgcmF3IGJ5dGVjb2RlLiAgRm9yIGEgbW9kdWxlLCBpdCBkaXNhc3NlbWJsZXMgYWxsIGZ1bmN0aW9ucy4KKyAgIEZvciBhIGNsYXNzLCBpdCBkaXNhc3NlbWJsZXMgYWxsIG1ldGhvZHMuICBGb3IgYSBjb2RlIG9iamVjdCBvciBzZXF1ZW5jZSBvZgorICAgcmF3IGJ5dGVjb2RlLCBpdCBwcmludHMgb25lIGxpbmUgcGVyIGJ5dGVjb2RlIGluc3RydWN0aW9uLiAgU3RyaW5ncyBhcmUgZmlyc3QKKyAgIGNvbXBpbGVkIHRvIGNvZGUgb2JqZWN0cyB3aXRoIHRoZSA6ZnVuYzpgY29tcGlsZWAgYnVpbHQtaW4gZnVuY3Rpb24gYmVmb3JlIGJlaW5nCiAgICBkaXNhc3NlbWJsZWQuICBJZiBubyBvYmplY3QgaXMgcHJvdmlkZWQsIHRoaXMgZnVuY3Rpb24gZGlzYXNzZW1ibGVzIHRoZSBsYXN0CiAgICB0cmFjZWJhY2suCiAKQEAgLTM2NCw2ICszNjQsMTEgQEAKICAgIEltcGxlbWVudHMgYGBUT1MgPSBUT1MxICogVE9TYGAuCiAKIAorLi4gb3Bjb2RlOjogQklOQVJZX01BVFJJWF9NVUxUSVBMWQorCisgICBJbXBsZW1lbnRzIGBgVE9TID0gVE9TMSBAIFRPU2BgLgorCisKIC4uIG9wY29kZTo6IEJJTkFSWV9GTE9PUl9ESVZJREUKIAogICAgSW1wbGVtZW50cyBgYFRPUyA9IFRPUzEgLy8gVE9TYGAuCkBAIC00MzYsNiArNDQxLDExIEBACiAgICBJbXBsZW1lbnRzIGluLXBsYWNlIGBgVE9TID0gVE9TMSAqIFRPU2BgLgogCiAKKy4uIG9wY29kZTo6IElOUExBQ0VfTUFUUklYX01VTFRJUExZCisKKyAgIEltcGxlbWVudHMgaW4tcGxhY2UgYGBUT1MgPSBUT1MxIEAgVE9TYGAuCisKKwogLi4gb3Bjb2RlOjogSU5QTEFDRV9GTE9PUl9ESVZJREUKIAogICAgSW1wbGVtZW50cyBpbi1wbGFjZSBgYFRPUyA9IFRPUzEgLy8gVE9TYGAuCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9kb2N0ZXN0LnJzdCBiL0RvYy9saWJyYXJ5L2RvY3Rlc3QucnN0CmluZGV4IDJlMzcyZGUuLjlhYTllYTYgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2RvY3Rlc3QucnN0CisrKyBiL0RvYy9saWJyYXJ5L2RvY3Rlc3QucnN0CkBAIC0xMDU4LDE1ICsxMDU4LDkgQEAKIAogICAgVGhpcyBmdW5jdGlvbiB1c2VzIHRoZSBzYW1lIHNlYXJjaCB0ZWNobmlxdWUgYXMgOmZ1bmM6YHRlc3Rtb2RgLgogCi0gICAuLiBub3RlOjoKLSAgICAgIFVubGlrZSA6ZnVuYzpgdGVzdG1vZGAgYW5kIDpjbGFzczpgRG9jVGVzdEZpbmRlcmAsIHRoaXMgZnVuY3Rpb24gcmFpc2VzCi0gICAgICBhIDpleGM6YFZhbHVlRXJyb3JgIGlmICptb2R1bGUqIGNvbnRhaW5zIG5vIGRvY3N0cmluZ3MuICBZb3UgY2FuIHByZXZlbnQKLSAgICAgIHRoaXMgZXJyb3IgYnkgcGFzc2luZyBhIDpjbGFzczpgRG9jVGVzdEZpbmRlcmAgaW5zdGFuY2UgYXMgdGhlCi0gICAgICAqdGVzdF9maW5kZXIqIGFyZ3VtZW50IHdpdGggaXRzICpleGNsdWRlX2VtcHR5KiBrZXl3b3JkIGFyZ3VtZW50IHNldAotICAgICAgdG8gYGBGYWxzZWBgOjoKLQotICAgICAgICAgPj4+IGZpbmRlciA9IGRvY3Rlc3QuRG9jVGVzdEZpbmRlcihleGNsdWRlX2VtcHR5PUZhbHNlKQotICAgICAgICAgPj4+IHN1aXRlID0gZG9jdGVzdC5Eb2NUZXN0U3VpdGUodGVzdF9maW5kZXI9ZmluZGVyKQorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgIDpmdW5jOmBEb2NUZXN0U3VpdGVgIHJldHVybnMgYW4gZW1wdHkgOmNsYXNzOmB1bml0dGVzdC5UZXN0U3VpdGVgIGlmICptb2R1bGUqCisgICAgICBjb250YWlucyBubyBkb2NzdHJpbmdzIGluc3RlYWQgb2YgcmFpc2luZyA6ZXhjOmBWYWx1ZUVycm9yYC4KIAogCiBVbmRlciB0aGUgY292ZXJzLCA6ZnVuYzpgRG9jVGVzdFN1aXRlYCBjcmVhdGVzIGEgOmNsYXNzOmB1bml0dGVzdC5UZXN0U3VpdGVgIG91dApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvZW1haWwubWltZS5yc3QgYi9Eb2MvbGlicmFyeS9lbWFpbC5taW1lLnJzdAppbmRleCAxZDcwMjI1Li42N2QwYTY3IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9lbWFpbC5taW1lLnJzdAorKysgYi9Eb2MvbGlicmFyeS9lbWFpbC5taW1lLnJzdApAQCAtMTk1LDcgKzE5NSw4IEBACiAgICBzZXQgb2YgdGhlIHRleHQgYW5kIGlzIHBhc3NlZCBhcyBhbiBhcmd1bWVudCB0byB0aGUKICAgIDpjbGFzczpgfmVtYWlsLm1pbWUubm9ubXVsdGlwYXJ0Lk1JTUVOb25NdWx0aXBhcnRgIGNvbnN0cnVjdG9yOyBpdCBkZWZhdWx0cwogICAgdG8gYGB1cy1hc2NpaWBgIGlmIHRoZSBzdHJpbmcgY29udGFpbnMgb25seSBgYGFzY2lpYGAgY29kZSBwb2ludHMsIGFuZAotICAgYGB1dGYtOGBgIG90aGVyd2lzZS4KKyAgIGBgdXRmLThgYCBvdGhlcndpc2UuICBUaGUgKl9jaGFyc2V0KiBwYXJhbWV0ZXIgYWNjZXB0cyBlaXRoZXIgYSBzdHJpbmcgb3IgYQorICAgOmNsYXNzOmB+ZW1haWwuY2hhcnNldC5DaGFyc2V0YCBpbnN0YW5jZS4KIAogICAgVW5sZXNzIHRoZSAqX2NoYXJzZXQqIGFyZ3VtZW50IGlzIGV4cGxpY2l0bHkgc2V0IHRvIGBgTm9uZWBgLCB0aGUKICAgIE1JTUVUZXh0IG9iamVjdCBjcmVhdGVkIHdpbGwgaGF2ZSBib3RoIGEgOm1haWxoZWFkZXI6YENvbnRlbnQtVHlwZWAgaGVhZGVyCkBAIC0yMDYsMyArMjA3LDYgQEAKICAgIGBgQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZ2BgIGhlYWRlciwgYWZ0ZXIgd2hpY2ggYSBgYHNldF9wYXlsb2FkYGAgY2FsbAogICAgd2lsbCBhdXRvbWF0aWNhbGx5IGVuY29kZSB0aGUgbmV3IHBheWxvYWQgKGFuZCBhZGQgYSBuZXcKICAgIDptYWlsaGVhZGVyOmBDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIpLgorCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgKl9jaGFyc2V0KiBhbHNvIGFjY2VwdHMgOmNsYXNzOmB+ZW1haWwuY2hhcnNldC5DaGFyc2V0YCBpbnN0YW5jZXMuCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9lbnVtLnJzdCBiL0RvYy9saWJyYXJ5L2VudW0ucnN0CmluZGV4IGNmMDk1NTkuLmQzYjgzOGMgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2VudW0ucnN0CisrKyBiL0RvYy9saWJyYXJ5L2VudW0ucnN0CkBAIC0zMTQsMTEgKzMxNCwxMSBAQAogICAgID4+PiBzdHIoTW9vZC5mdW5reSkKICAgICAnbXkgY3VzdG9tIHN0ciEgMScKIAotVGhlIHJ1bGVzIGZvciB3aGF0IGlzIGFsbG93ZWQgYXJlIGFzIGZvbGxvd3M6IF9zdW5kZXJfIG5hbWVzIChzdGFydGluZyBhbmQKLWVuZGluZyB3aXRoIGEgc2luZ2xlIHVuZGVyc2NvcmUpIGFyZSByZXNlcnZlZCBieSBlbnVtIGFuZCBjYW5ub3QgYmUgdXNlZDsKLWFsbCBvdGhlciBhdHRyaWJ1dGVzIGRlZmluZWQgd2l0aGluIGFuIGVudW1lcmF0aW9uIHdpbGwgYmVjb21lIG1lbWJlcnMgb2YgdGhpcwotZW51bWVyYXRpb24sIHdpdGggdGhlIGV4Y2VwdGlvbiBvZiAqX19kdW5kZXJfXyogbmFtZXMgYW5kIGRlc2NyaXB0b3JzIChtZXRob2RzCi1hcmUgYWxzbyBkZXNjcmlwdG9ycykuCitUaGUgcnVsZXMgZm9yIHdoYXQgaXMgYWxsb3dlZCBhcmUgYXMgZm9sbG93czogbmFtZXMgdGhhdCBzdGFydCBhbmQgZW5kIHdpdGggYQord2l0aCBhIHNpbmdsZSB1bmRlcnNjb3JlIGFyZSByZXNlcnZlZCBieSBlbnVtIGFuZCBjYW5ub3QgYmUgdXNlZDsgYWxsIG90aGVyCithdHRyaWJ1dGVzIGRlZmluZWQgd2l0aGluIGFuIGVudW1lcmF0aW9uIHdpbGwgYmVjb21lIG1lbWJlcnMgb2YgdGhpcworZW51bWVyYXRpb24sIHdpdGggdGhlIGV4Y2VwdGlvbiBvZiBzcGVjaWFsIG1ldGhvZHMgKDptZXRoOmBfX3N0cl9fYCwKKzptZXRoOmBfX2FkZF9fYCwgZXRjLikgYW5kIGRlc2NyaXB0b3JzIChtZXRob2RzIGFyZSBhbHNvIGRlc2NyaXB0b3JzKS4KIAogTm90ZTogIGlmIHlvdXIgZW51bWVyYXRpb24gZGVmaW5lcyA6bWV0aDpgX19uZXdfX2AgYW5kL29yIDptZXRoOmBfX2luaXRfX2AgdGhlbgogd2hhdGV2ZXIgdmFsdWUocykgd2VyZSBnaXZlbiB0byB0aGUgZW51bSBtZW1iZXIgd2lsbCBiZSBwYXNzZWQgaW50byB0aG9zZQpAQCAtNDAwLDcgKzQwMCw4IEBACiB3aGl0ZXNwYWNlLXNlcGFyYXRlZCBzdHJpbmcgb2YgbmFtZXMsIGEgc2VxdWVuY2Ugb2YgbmFtZXMsIGEgc2VxdWVuY2Ugb2YKIDItdHVwbGVzIHdpdGgga2V5L3ZhbHVlIHBhaXJzLCBvciBhIG1hcHBpbmcgKGUuZy4gZGljdGlvbmFyeSkgb2YgbmFtZXMgdG8KIHZhbHVlcy4gIFRoZSBsYXN0IHR3byBvcHRpb25zIGVuYWJsZSBhc3NpZ25pbmcgYXJiaXRyYXJ5IHZhbHVlcyB0bwotZW51bWVyYXRpb25zOyB0aGUgb3RoZXJzIGF1dG8tYXNzaWduIGluY3JlYXNpbmcgaW50ZWdlcnMgc3RhcnRpbmcgd2l0aCAxLiAgQQorZW51bWVyYXRpb25zOyB0aGUgb3RoZXJzIGF1dG8tYXNzaWduIGluY3JlYXNpbmcgaW50ZWdlcnMgc3RhcnRpbmcgd2l0aCAxICh1c2UKK3RoZSBgYHN0YXJ0YGAgcGFyYW1ldGVyIHRvIHNwZWNpZnkgYSBkaWZmZXJlbnQgc3RhcnRpbmcgdmFsdWUpLiAgQQogbmV3IGNsYXNzIGRlcml2ZWQgZnJvbSA6Y2xhc3M6YEVudW1gIGlzIHJldHVybmVkLiAgSW4gb3RoZXIgd29yZHMsIHRoZSBhYm92ZQogYXNzaWdubWVudCB0byA6Y2xhc3M6YEFuaW1hbGAgaXMgZXF1aXZhbGVudCB0bzo6CiAKQEAgLTQzOCwxMiArNDM5LDEyIEBACiAKIFRoZSBjb21wbGV0ZSBzaWduYXR1cmUgaXM6OgogCi0gICAgRW51bSh2YWx1ZT0nTmV3RW51bU5hbWUnLCBuYW1lcz08Li4uPiwgKiwgbW9kdWxlPScuLi4nLCBxdWFsbmFtZT0nLi4uJywgdHlwZT08bWl4ZWQtaW4gY2xhc3M+KQorICAgIEVudW0odmFsdWU9J05ld0VudW1OYW1lJywgbmFtZXM9PC4uLj4sICosIG1vZHVsZT0nLi4uJywgcXVhbG5hbWU9Jy4uLicsIHR5cGU9PG1peGVkLWluIGNsYXNzPiwgc3RhcnQ9MSkKIAogOnZhbHVlOiBXaGF0IHRoZSBuZXcgRW51bSBjbGFzcyB3aWxsIHJlY29yZCBhcyBpdHMgbmFtZS4KIAogOm5hbWVzOiBUaGUgRW51bSBtZW1iZXJzLiAgVGhpcyBjYW4gYmUgYSB3aGl0ZXNwYWNlIG9yIGNvbW1hIHNlcGFyYXRlZCBzdHJpbmcKLSAgKHZhbHVlcyB3aWxsIHN0YXJ0IGF0IDEpOjoKKyAgKHZhbHVlcyB3aWxsIHN0YXJ0IGF0IDEgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQpOjoKIAogICAgICdyZWQgZ3JlZW4gYmx1ZScgfCAncmVkLGdyZWVuLGJsdWUnIHwgJ3JlZCwgZ3JlZW4sIGJsdWUnCiAKQEAgLTQ2NSw2ICs0NjYsMTEgQEAKIAogOnR5cGU6IHR5cGUgdG8gbWl4IGluIHRvIG5ldyBFbnVtIGNsYXNzLgogCis6c3RhcnQ6IG51bWJlciB0byBzdGFydCBjb3VudGluZyBhdCBpZiBvbmx5IG5hbWVzIGFyZSBwYXNzZWQgaW4KKworLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgIFRoZSAqc3RhcnQqIHBhcmFtZXRlciB3YXMgYWRkZWQuCisKIAogRGVyaXZlZCBFbnVtZXJhdGlvbnMKIC0tLS0tLS0tLS0tLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9mb3JtYXR0ZXIucnN0IGIvRG9jL2xpYnJhcnkvZm9ybWF0dGVyLnJzdAppbmRleCAxODQ3YTgwLi5hNTE1Zjc0IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9mb3JtYXR0ZXIucnN0CisrKyBiL0RvYy9saWJyYXJ5L2Zvcm1hdHRlci5yc3QKQEAgLTUsNyArNSw3IEBACiAgICA6c3lub3BzaXM6IEdlbmVyaWMgb3V0cHV0IGZvcm1hdHRlciBhbmQgZGV2aWNlIGludGVyZmFjZS4KICAgIDpkZXByZWNhdGVkOgogCi0uLiBkZXByZWNhdGVkOjogMy40CisuLiBkZXByZWNhdGVkLXJlbW92ZWQ6OiAzLjQgMy42CiAgICBEdWUgdG8gbGFjayBvZiB1c2FnZSwgdGhlIGZvcm1hdHRlciBtb2R1bGUgaGFzIGJlZW4gZGVwcmVjYXRlZCBhbmQgaXMgc2xhdGVkCiAgICBmb3IgcmVtb3ZhbCBpbiBQeXRob24gMy42LgogCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9mdW5jdGlvbnMucnN0IGIvRG9jL2xpYnJhcnkvZnVuY3Rpb25zLnJzdAppbmRleCBkOWU1Y2ZiLi5lYjI4NTEzIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9mdW5jdGlvbnMucnN0CisrKyBiL0RvYy9saWJyYXJ5L2Z1bmN0aW9ucy5yc3QKQEAgLTE1NiwxMSArMTU2LDEyIEBACiAKIC4uIGZ1bmN0aW9uOjogY2hyKGkpCiAKLSAgIFJldHVybiB0aGUgc3RyaW5nIHJlcHJlc2VudGluZyBhIGNoYXJhY3RlciB3aG9zZSBVbmljb2RlIGNvZGUgcG9pbnQgaXMgdGhlIGludGVnZXIKLSAgICppKi4gIEZvciBleGFtcGxlLCBgYGNocig5NylgYCByZXR1cm5zIHRoZSBzdHJpbmcgYGAnYSdgYC4gVGhpcyBpcyB0aGUKLSAgIGludmVyc2Ugb2YgOmZ1bmM6YG9yZGAuICBUaGUgdmFsaWQgcmFuZ2UgZm9yIHRoZSBhcmd1bWVudCBpcyBmcm9tIDAgdGhyb3VnaAotICAgMSwxMTQsMTExICgweDEwRkZGRiBpbiBiYXNlIDE2KS4gIDpleGM6YFZhbHVlRXJyb3JgIHdpbGwgYmUgcmFpc2VkIGlmICppKiBpcwotICAgb3V0c2lkZSB0aGF0IHJhbmdlLgorICAgUmV0dXJuIHRoZSBzdHJpbmcgcmVwcmVzZW50aW5nIGEgY2hhcmFjdGVyIHdob3NlIFVuaWNvZGUgY29kZSBwb2ludCBpcyB0aGUKKyAgIGludGVnZXIgKmkqLiAgRm9yIGV4YW1wbGUsIGBgY2hyKDk3KWBgIHJldHVybnMgdGhlIHN0cmluZyBgYCdhJ2BgLCB3aGlsZQorICAgYGBjaHIoOTMxKWBgIHJldHVybnMgdGhlIHN0cmluZyBgYCfOoydgYC4gVGhpcyBpcyB0aGUgaW52ZXJzZSBvZiA6ZnVuYzpgb3JkYC4KKworICAgVGhlIHZhbGlkIHJhbmdlIGZvciB0aGUgYXJndW1lbnQgaXMgZnJvbSAwIHRocm91Z2ggMSwxMTQsMTExICgweDEwRkZGRiBpbgorICAgYmFzZSAxNikuICA6ZXhjOmBWYWx1ZUVycm9yYCB3aWxsIGJlIHJhaXNlZCBpZiAqaSogaXMgb3V0c2lkZSB0aGF0IHJhbmdlLgogCiAKIC4uIGZ1bmN0aW9uOjogY2xhc3NtZXRob2QoZnVuY3Rpb24pCkBAIC05NzIsOSArOTczLDExIEBACiAgICAgIENoYXJhY3RlcnMgbm90IHN1cHBvcnRlZCBieSB0aGUgZW5jb2RpbmcgYXJlIHJlcGxhY2VkIHdpdGggdGhlCiAgICAgIGFwcHJvcHJpYXRlIFhNTCBjaGFyYWN0ZXIgcmVmZXJlbmNlIGBgJiNubm47YGAuCiAKLSAgICogYGAnYmFja3NsYXNocmVwbGFjZSdgYCAoYWxzbyBvbmx5IHN1cHBvcnRlZCB3aGVuIHdyaXRpbmcpCi0gICAgIHJlcGxhY2VzIHVuc3VwcG9ydGVkIGNoYXJhY3RlcnMgd2l0aCBQeXRob24ncyBiYWNrc2xhc2hlZCBlc2NhcGUKLSAgICAgc2VxdWVuY2VzLgorICAgKiBgYCdiYWNrc2xhc2hyZXBsYWNlJ2BgIHJlcGxhY2VzIG1hbGZvcm1lZCBkYXRhIGJ5IFB5dGhvbidzIGJhY2tzbGFzaGVkCisgICAgIGVzY2FwZSBzZXF1ZW5jZXMuCisKKyAgICogYGAnbmFtZXJlcGxhY2UnYGAgKGFsc28gb25seSBzdXBwb3J0ZWQgd2hlbiB3cml0aW5nKQorICAgICByZXBsYWNlcyB1bnN1cHBvcnRlZCBjaGFyYWN0ZXJzIHdpdGggYGBcTnsuLi59YGAgZXNjYXBlIHNlcXVlbmNlcy4KIAogICAgLi4gaW5kZXg6OgogICAgICAgc2luZ2xlOiB1bml2ZXJzYWwgbmV3bGluZXM7IG9wZW4oKSBidWlsdC1pbiBmdW5jdGlvbgpAQCAtOTk5LDggKzEwMDIsOCBAQAogCiAgICBJZiAqY2xvc2VmZCogaXMgYGBGYWxzZWBgIGFuZCBhIGZpbGUgZGVzY3JpcHRvciByYXRoZXIgdGhhbiBhIGZpbGVuYW1lIHdhcwogICAgZ2l2ZW4sIHRoZSB1bmRlcmx5aW5nIGZpbGUgZGVzY3JpcHRvciB3aWxsIGJlIGtlcHQgb3BlbiB3aGVuIHRoZSBmaWxlIGlzCi0gICBjbG9zZWQuICBJZiBhIGZpbGVuYW1lIGlzIGdpdmVuICpjbG9zZWZkKiBoYXMgbm8gZWZmZWN0IGFuZCBtdXN0IGJlIGBgVHJ1ZWBgCi0gICAodGhlIGRlZmF1bHQpLgorICAgY2xvc2VkLiAgSWYgYSBmaWxlbmFtZSBpcyBnaXZlbiAqY2xvc2VmZCogbXVzdCBiZSBgYFRydWVgYCAodGhlIGRlZmF1bHQpCisgICBvdGhlcndpc2UgYW4gZXJyb3Igd2lsbCBiZSByYWlzZWQuCiAKICAgIEEgY3VzdG9tIG9wZW5lciBjYW4gYmUgdXNlZCBieSBwYXNzaW5nIGEgY2FsbGFibGUgYXMgKm9wZW5lciouIFRoZSB1bmRlcmx5aW5nCiAgICBmaWxlIGRlc2NyaXB0b3IgZm9yIHRoZSBmaWxlIG9iamVjdCBpcyB0aGVuIG9idGFpbmVkIGJ5IGNhbGxpbmcgKm9wZW5lciogd2l0aApAQCAtMTA2MywxMyArMTA2NiwxMiBAQAogICAgICAgVGhlIGBgJ1UnYGAgbW9kZS4KIAogCi0uLiBYWFggd29ya3MgZm9yIGJ5dGVzIHRvbywgYnV0IHNob3VsZCBpdD8KIC4uIGZ1bmN0aW9uOjogb3JkKGMpCiAKICAgIEdpdmVuIGEgc3RyaW5nIHJlcHJlc2VudGluZyBvbmUgVW5pY29kZSBjaGFyYWN0ZXIsIHJldHVybiBhbiBpbnRlZ2VyCi0gICByZXByZXNlbnRpbmcgdGhlIFVuaWNvZGUgY29kZQotICAgcG9pbnQgb2YgdGhhdCBjaGFyYWN0ZXIuICBGb3IgZXhhbXBsZSwgYGBvcmQoJ2EnKWBgIHJldHVybnMgdGhlIGludGVnZXIgYGA5N2BgCi0gICBhbmQgYGBvcmQoJ1x1MjAyMCcpYGAgcmV0dXJucyBgYDgyMjRgYC4gIFRoaXMgaXMgdGhlIGludmVyc2Ugb2YgOmZ1bmM6YGNocmAuCisgICByZXByZXNlbnRpbmcgdGhlIFVuaWNvZGUgY29kZSBwb2ludCBvZiB0aGF0IGNoYXJhY3Rlci4gIEZvciBleGFtcGxlLAorICAgYGBvcmQoJ2EnKWBgIHJldHVybnMgdGhlIGludGVnZXIgYGA5N2BgIGFuZCBgYG9yZCgnzqMnKWBgIHJldHVybnMgYGA5MzFgYC4KKyAgIFRoaXMgaXMgdGhlIGludmVyc2Ugb2YgOmZ1bmM6YGNocmAuCiAKIAogLi4gZnVuY3Rpb246OiBwb3coeCwgeVssIHpdKQpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvZ2MucnN0IGIvRG9jL2xpYnJhcnkvZ2MucnN0CmluZGV4IDgxMzU1NDIuLmQxMWMyZTEgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2djLnJzdAorKysgYi9Eb2MvbGlicmFyeS9nYy5yc3QKQEAgLTE4Niw3ICsxODYsNyBAQAogICAgYWRkZWQgdG8gdGhpcyBsaXN0IHJhdGhlciB0aGFuIGZyZWVkLgogCiAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMgotICAgICAgSWYgdGhpcyBsaXN0IGlzIG5vbi1lbXB0eSBhdCBpbnRlcnByZXRlciBzaHV0ZG93biwgYQorICAgICAgSWYgdGhpcyBsaXN0IGlzIG5vbi1lbXB0eSBhdCA6dGVybTpgaW50ZXJwcmV0ZXIgc2h1dGRvd25gLCBhCiAgICAgICA6ZXhjOmBSZXNvdXJjZVdhcm5pbmdgIGlzIGVtaXR0ZWQsIHdoaWNoIGlzIHNpbGVudCBieSBkZWZhdWx0LiAgSWYKICAgICAgIDpjb25zdDpgREVCVUdfVU5DT0xMRUNUQUJMRWAgaXMgc2V0LCBpbiBhZGRpdGlvbiBhbGwgdW5jb2xsZWN0YWJsZSBvYmplY3RzCiAgICAgICBhcmUgcHJpbnRlZC4KQEAgLTI1Miw4ICsyNTIsOCBAQAogICAgdG8gdGhlIGBgZ2FyYmFnZWBgIGxpc3QuCiAKICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4yCi0gICAgICBBbHNvIHByaW50IHRoZSBjb250ZW50cyBvZiB0aGUgOmRhdGE6YGdhcmJhZ2VgIGxpc3QgYXQgaW50ZXJwcmV0ZXIKLSAgICAgIHNodXRkb3duLCBpZiBpdCBpc24ndCBlbXB0eS4KKyAgICAgIEFsc28gcHJpbnQgdGhlIGNvbnRlbnRzIG9mIHRoZSA6ZGF0YTpgZ2FyYmFnZWAgbGlzdCBhdAorICAgICAgOnRlcm06YGludGVycHJldGVyIHNodXRkb3duYCwgaWYgaXQgaXNuJ3QgZW1wdHkuCiAKIC4uIGRhdGE6OiBERUJVR19TQVZFQUxMCiAKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2dldHRleHQucnN0IGIvRG9jL2xpYnJhcnkvZ2V0dGV4dC5yc3QKaW5kZXggZmYyM2I1OS4uNTE0Y2M1YSAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvZ2V0dGV4dC5yc3QKKysrIGIvRG9jL2xpYnJhcnkvZ2V0dGV4dC5yc3QKQEAgLTM0NCw5ICszNDQsOSBAQAogVGhlIGVudGlyZSBzZXQgb2Yga2V5L3ZhbHVlIHBhaXJzIGFyZSBwbGFjZWQgaW50byBhIGRpY3Rpb25hcnkgYW5kIHNldCBhcyB0aGUKICJwcm90ZWN0ZWQiIDphdHRyOmBfaW5mb2AgaW5zdGFuY2UgdmFyaWFibGUuCiAKLUlmIHRoZSA6ZmlsZTpgLm1vYCBmaWxlJ3MgbWFnaWMgbnVtYmVyIGlzIGludmFsaWQsIG9yIGlmIG90aGVyIHByb2JsZW1zIG9jY3VyCi13aGlsZSByZWFkaW5nIHRoZSBmaWxlLCBpbnN0YW50aWF0aW5nIGEgOmNsYXNzOmBHTlVUcmFuc2xhdGlvbnNgIGNsYXNzIGNhbiByYWlzZQotOmV4YzpgT1NFcnJvcmAuCitJZiB0aGUgOmZpbGU6YC5tb2AgZmlsZSdzIG1hZ2ljIG51bWJlciBpcyBpbnZhbGlkLCB0aGUgbWFqb3IgdmVyc2lvbiBudW1iZXIgaXMKK3VuZXhwZWN0ZWQsIG9yIGlmIG90aGVyIHByb2JsZW1zIG9jY3VyIHdoaWxlIHJlYWRpbmcgdGhlIGZpbGUsIGluc3RhbnRpYXRpbmcgYQorOmNsYXNzOmBHTlVUcmFuc2xhdGlvbnNgIGNsYXNzIGNhbiByYWlzZSA6ZXhjOmBPU0Vycm9yYC4KIAogVGhlIGZvbGxvd2luZyBtZXRob2RzIGFyZSBvdmVycmlkZGVuIGZyb20gdGhlIGJhc2UgY2xhc3MgaW1wbGVtZW50YXRpb246CiAKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2dsb2IucnN0IGIvRG9jL2xpYnJhcnkvZ2xvYi5yc3QKaW5kZXggYWJjYmYzOC4uNTBmMzhhNCAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvZ2xvYi5yc3QKKysrIGIvRG9jL2xpYnJhcnkvZ2xvYi5yc3QKQEAgLTI5LDcgKzI5LDcgQEAKICAgIFRoZSA6bW9kOmBwYXRobGliYCBtb2R1bGUgb2ZmZXJzIGhpZ2gtbGV2ZWwgcGF0aCBvYmplY3RzLgogCiAKLS4uIGZ1bmN0aW9uOjogZ2xvYihwYXRobmFtZSkKKy4uIGZ1bmN0aW9uOjogZ2xvYihwYXRobmFtZSwgKiwgcmVjdXJzaXZlPUZhbHNlKQogCiAgICBSZXR1cm4gYSBwb3NzaWJseS1lbXB0eSBsaXN0IG9mIHBhdGggbmFtZXMgdGhhdCBtYXRjaCAqcGF0aG5hbWUqLCB3aGljaCBtdXN0IGJlCiAgICBhIHN0cmluZyBjb250YWluaW5nIGEgcGF0aCBzcGVjaWZpY2F0aW9uLiAqcGF0aG5hbWUqIGNhbiBiZSBlaXRoZXIgYWJzb2x1dGUKQEAgLTM3LDggKzM3LDE5IEBACiAgICA6ZmlsZTpgLi4vLi4vVG9vbHMvXCovXCouZ2lmYCksIGFuZCBjYW4gY29udGFpbiBzaGVsbC1zdHlsZSB3aWxkY2FyZHMuIEJyb2tlbgogICAgc3ltbGlua3MgYXJlIGluY2x1ZGVkIGluIHRoZSByZXN1bHRzIChhcyBpbiB0aGUgc2hlbGwpLgogCisgICBJZiAqcmVjdXJzaXZlKiBpcyB0cnVlLCB0aGUgcGF0dGVybiAiYGAqKmBgIiB3aWxsIG1hdGNoIGFueSBmaWxlcyBhbmQgemVybyBvcgorICAgbW9yZSBkaXJlY3RvcmllcyBhbmQgc3ViZGlyZWN0b3JpZXMuICBJZiB0aGUgcGF0dGVybiBpcyBmb2xsb3dlZCBieSBhCisgICBgYG9zLnNlcGBgLCBvbmx5IGRpcmVjdG9yaWVzIGFuZCBzdWJkaXJlY3RvcmllcyBtYXRjaC4KIAotLi4gZnVuY3Rpb246OiBpZ2xvYihwYXRobmFtZSkKKyAgIC4uIG5vdGU6OgorICAgICAgVXNpbmcgdGhlICJgYCoqYGAiIHBhdHRlcm4gaW4gbGFyZ2UgZGlyZWN0b3J5IHRyZWVzIG1heSBjb25zdW1lCisgICAgICBhbiBpbm9yZGluYXRlIGFtb3VudCBvZiB0aW1lLgorCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgU3VwcG9ydCBmb3IgcmVjdXJzaXZlIGdsb2JzIHVzaW5nICJgYCoqYGAiLgorCisKKy4uIGZ1bmN0aW9uOjogaWdsb2IocGF0aG5hbWUsIHJlY3Vyc2l2ZT1GYWxzZSkKIAogICAgUmV0dXJuIGFuIDp0ZXJtOmBpdGVyYXRvcmAgd2hpY2ggeWllbGRzIHRoZSBzYW1lIHZhbHVlcyBhcyA6ZnVuYzpgZ2xvYmAKICAgIHdpdGhvdXQgYWN0dWFsbHkgc3RvcmluZyB0aGVtIGFsbCBzaW11bHRhbmVvdXNseS4KQEAgLTU1LDggKzY2LDkgQEAKICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNAogCiAKLUZvciBleGFtcGxlLCBjb25zaWRlciBhIGRpcmVjdG9yeSBjb250YWluaW5nIG9ubHkgdGhlIGZvbGxvd2luZyBmaWxlczoKLTpmaWxlOmAxLmdpZmAsIDpmaWxlOmAyLnR4dGAsIGFuZCA6ZmlsZTpgY2FyZC5naWZgLiAgOmZ1bmM6YGdsb2JgIHdpbGwgcHJvZHVjZQorRm9yIGV4YW1wbGUsIGNvbnNpZGVyIGEgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlIGZvbGxvd2luZyBmaWxlczoKKzpmaWxlOmAxLmdpZmAsIDpmaWxlOmAyLnR4dGAsIDpmaWxlOmBjYXJkLmdpZmAgYW5kIGEgc3ViZGlyZWN0b3J5IDpmaWxlOmBzdWJgCit3aGljaCBjb250YWlucyBvbmx5IHRoZSBmaWxlIDpmaWxlOmAzLnR4dGAuICA6ZnVuYzpgZ2xvYmAgd2lsbCBwcm9kdWNlCiB0aGUgZm9sbG93aW5nIHJlc3VsdHMuICBOb3RpY2UgaG93IGFueSBsZWFkaW5nIGNvbXBvbmVudHMgb2YgdGhlIHBhdGggYXJlCiBwcmVzZXJ2ZWQuIDo6CiAKQEAgLTY3LDYgKzc5LDEwIEBACiAgICBbJzEuZ2lmJywgJ2NhcmQuZ2lmJ10KICAgID4+PiBnbG9iLmdsb2IoJz8uZ2lmJykKICAgIFsnMS5naWYnXQorICAgPj4+IGdsb2IuZ2xvYignKiovKi50eHQnLCByZWN1cnNpdmU9VHJ1ZSkKKyAgIFsnMi50eHQnLCAnc3ViLzMudHh0J10KKyAgID4+PiBnbG9iLmdsb2IoJy4vKiovJywgcmVjdXJzaXZlPVRydWUpCisgICBbJy4vJywgJy4vc3ViLyddCiAKIElmIHRoZSBkaXJlY3RvcnkgY29udGFpbnMgZmlsZXMgc3RhcnRpbmcgd2l0aCBgYC5gYCB0aGV5IHdvbid0IGJlIG1hdGNoZWQgYnkKIGRlZmF1bHQuIEZvciBleGFtcGxlLCBjb25zaWRlciBhIGRpcmVjdG9yeSBjb250YWluaW5nIDpmaWxlOmBjYXJkLmdpZmAgYW5kCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9oZWFwcS5yc3QgYi9Eb2MvbGlicmFyeS9oZWFwcS5yc3QKaW5kZXggNDMwODhhZC4uOTY4MmI1OSAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvaGVhcHEucnN0CisrKyBiL0RvYy9saWJyYXJ5L2hlYXBxLnJzdApAQCAtODEsNyArODEsNyBAQAogVGhlIG1vZHVsZSBhbHNvIG9mZmVycyB0aHJlZSBnZW5lcmFsIHB1cnBvc2UgZnVuY3Rpb25zIGJhc2VkIG9uIGhlYXBzLgogCiAKLS4uIGZ1bmN0aW9uOjogbWVyZ2UoKml0ZXJhYmxlcykKKy4uIGZ1bmN0aW9uOjogbWVyZ2UoKml0ZXJhYmxlcywga2V5PU5vbmUsIHJldmVyc2U9RmFsc2UpCiAKICAgIE1lcmdlIG11bHRpcGxlIHNvcnRlZCBpbnB1dHMgaW50byBhIHNpbmdsZSBzb3J0ZWQgb3V0cHV0IChmb3IgZXhhbXBsZSwgbWVyZ2UKICAgIHRpbWVzdGFtcGVkIGVudHJpZXMgZnJvbSBtdWx0aXBsZSBsb2cgZmlsZXMpLiAgUmV0dXJucyBhbiA6dGVybTpgaXRlcmF0b3JgCkBAIC05MSw2ICs5MSwxOCBAQAogICAgbm90IHB1bGwgdGhlIGRhdGEgaW50byBtZW1vcnkgYWxsIGF0IG9uY2UsIGFuZCBhc3N1bWVzIHRoYXQgZWFjaCBvZiB0aGUgaW5wdXQKICAgIHN0cmVhbXMgaXMgYWxyZWFkeSBzb3J0ZWQgKHNtYWxsZXN0IHRvIGxhcmdlc3QpLgogCisgICBIYXMgdHdvIG9wdGlvbmFsIGFyZ3VtZW50cyB3aGljaCBtdXN0IGJlIHNwZWNpZmllZCBhcyBrZXl3b3JkIGFyZ3VtZW50cy4KKworICAgKmtleSogc3BlY2lmaWVzIGEgOnRlcm06YGtleSBmdW5jdGlvbmAgb2Ygb25lIGFyZ3VtZW50IHRoYXQgaXMgdXNlZCB0bworICAgZXh0cmFjdCBhIGNvbXBhcmlzb24ga2V5IGZyb20gZWFjaCBpbnB1dCBlbGVtZW50LiAgVGhlIGRlZmF1bHQgdmFsdWUgaXMKKyAgIGBgTm9uZWBgIChjb21wYXJlIHRoZSBlbGVtZW50cyBkaXJlY3RseSkuCisKKyAgICpyZXZlcnNlKiBpcyBhIGJvb2xlYW4gdmFsdWUuICBJZiBzZXQgdG8gYGBUcnVlYGAsIHRoZW4gdGhlIGlucHV0IGVsZW1lbnRzCisgICBhcmUgbWVyZ2VkIGFzIGlmIGVhY2ggY29tcGFyaXNvbiB3ZXJlIHJldmVyc2VkLgorCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgQWRkZWQgdGhlIG9wdGlvbmFsICprZXkqIGFuZCAqcmV2ZXJzZSogcGFyYW1ldGVycy4KKwogCiAuLiBmdW5jdGlvbjo6IG5sYXJnZXN0KG4sIGl0ZXJhYmxlLCBrZXk9Tm9uZSkKIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvaHRtbC5wYXJzZXIucnN0IGIvRG9jL2xpYnJhcnkvaHRtbC5wYXJzZXIucnN0CmluZGV4IDQ0YjdkNmUuLmI4NGM2MGIgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2h0bWwucGFyc2VyLnJzdAorKysgYi9Eb2MvbGlicmFyeS9odG1sLnBhcnNlci5yc3QKQEAgLTE2LDIxICsxNiwxMyBAQAogVGhpcyBtb2R1bGUgZGVmaW5lcyBhIGNsYXNzIDpjbGFzczpgSFRNTFBhcnNlcmAgd2hpY2ggc2VydmVzIGFzIHRoZSBiYXNpcyBmb3IKIHBhcnNpbmcgdGV4dCBmaWxlcyBmb3JtYXR0ZWQgaW4gSFRNTCAoSHlwZXJUZXh0IE1hcmstdXAgTGFuZ3VhZ2UpIGFuZCBYSFRNTC4KIAotLi4gY2xhc3M6OiBIVE1MUGFyc2VyKHN0cmljdD1GYWxzZSwgKiwgY29udmVydF9jaGFycmVmcz1GYWxzZSkKKy4uIGNsYXNzOjogSFRNTFBhcnNlcigqLCBjb252ZXJ0X2NoYXJyZWZzPVRydWUpCiAKLSAgIENyZWF0ZSBhIHBhcnNlciBpbnN0YW5jZS4KKyAgIENyZWF0ZSBhIHBhcnNlciBpbnN0YW5jZSBhYmxlIHRvIHBhcnNlIGludmFsaWQgbWFya3VwLgogCi0gICBJZiAqY29udmVydF9jaGFycmVmcyogaXMgYGBUcnVlYGAgKGRlZmF1bHQ6IGBgRmFsc2VgYCksIGFsbCBjaGFyYWN0ZXIKKyAgIElmICpjb252ZXJ0X2NoYXJyZWZzKiBpcyBgYFRydWVgYCAodGhlIGRlZmF1bHQpLCBhbGwgY2hhcmFjdGVyCiAgICByZWZlcmVuY2VzIChleGNlcHQgdGhlIG9uZXMgaW4gYGBzY3JpcHRgYC9gYHN0eWxlYGAgZWxlbWVudHMpIGFyZQogICAgYXV0b21hdGljYWxseSBjb252ZXJ0ZWQgdG8gdGhlIGNvcnJlc3BvbmRpbmcgVW5pY29kZSBjaGFyYWN0ZXJzLgotICAgVGhlIHVzZSBvZiBgYGNvbnZlcnRfY2hhcnJlZnM9VHJ1ZWBgIGlzIGVuY291cmFnZWQgYW5kIHdpbGwgYmVjb21lCi0gICB0aGUgZGVmYXVsdCBpbiBQeXRob24gMy41LgotCi0gICBJZiAqc3RyaWN0KiBpcyBgYEZhbHNlYGAgKHRoZSBkZWZhdWx0KSwgdGhlIHBhcnNlciB3aWxsIGFjY2VwdCBhbmQgcGFyc2UKLSAgIGludmFsaWQgbWFya3VwLiAgSWYgKnN0cmljdCogaXMgYGBUcnVlYGAgdGhlIHBhcnNlciB3aWxsIHJhaXNlIGFuCi0gICA6ZXhjOmB+aHRtbC5wYXJzZXIuSFRNTFBhcnNlRXJyb3JgIGV4Y2VwdGlvbiBpbnN0ZWFkIFsjXV8gd2hlbiBpdCdzIG5vdAotICAgYWJsZSB0byBwYXJzZSB0aGUgbWFya3VwLiAgVGhlIHVzZSBvZiBgYHN0cmljdD1UcnVlYGAgaXMgZGlzY291cmFnZWQgYW5kCi0gICB0aGUgKnN0cmljdCogYXJndW1lbnQgaXMgZGVwcmVjYXRlZC4KIAogICAgQW4gOmNsYXNzOmAuSFRNTFBhcnNlcmAgaW5zdGFuY2UgaXMgZmVkIEhUTUwgZGF0YSBhbmQgY2FsbHMgaGFuZGxlciBtZXRob2RzCiAgICB3aGVuIHN0YXJ0IHRhZ3MsIGVuZCB0YWdzLCB0ZXh0LCBjb21tZW50cywgYW5kIG90aGVyIG1hcmt1cCBlbGVtZW50cyBhcmUKQEAgLTQwLDMxICszMiwxMSBAQAogICAgVGhpcyBwYXJzZXIgZG9lcyBub3QgY2hlY2sgdGhhdCBlbmQgdGFncyBtYXRjaCBzdGFydCB0YWdzIG9yIGNhbGwgdGhlIGVuZC10YWcKICAgIGhhbmRsZXIgZm9yIGVsZW1lbnRzIHdoaWNoIGFyZSBjbG9zZWQgaW1wbGljaXRseSBieSBjbG9zaW5nIGFuIG91dGVyIGVsZW1lbnQuCiAKLSAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4yCi0gICAgICAqc3RyaWN0KiBhcmd1bWVudCBhZGRlZC4KLQotICAgLi4gZGVwcmVjYXRlZC1yZW1vdmVkOjogMy4zIDMuNQotICAgICAgVGhlICpzdHJpY3QqIGFyZ3VtZW50IGFuZCB0aGUgc3RyaWN0IG1vZGUgaGF2ZSBiZWVuIGRlcHJlY2F0ZWQuCi0gICAgICBUaGUgcGFyc2VyIGlzIG5vdyBhYmxlIHRvIGFjY2VwdCBhbmQgcGFyc2UgaW52YWxpZCBtYXJrdXAgdG9vLgotCiAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNAogICAgICAgKmNvbnZlcnRfY2hhcnJlZnMqIGtleXdvcmQgYXJndW1lbnQgYWRkZWQuCiAKLUFuIGV4Y2VwdGlvbiBpcyBkZWZpbmVkIGFzIHdlbGw6Ci0KLQotLi4gZXhjZXB0aW9uOjogSFRNTFBhcnNlRXJyb3IKLQotICAgRXhjZXB0aW9uIHJhaXNlZCBieSB0aGUgOmNsYXNzOmBIVE1MUGFyc2VyYCBjbGFzcyB3aGVuIGl0IGVuY291bnRlcnMgYW4gZXJyb3IKLSAgIHdoaWxlIHBhcnNpbmcgYW5kICpzdHJpY3QqIGlzIGBgVHJ1ZWBgLiAgVGhpcyBleGNlcHRpb24gcHJvdmlkZXMgdGhyZWUKLSAgIGF0dHJpYnV0ZXM6IDphdHRyOmBtc2dgIGlzIGEgYnJpZWYgbWVzc2FnZSBleHBsYWluaW5nIHRoZSBlcnJvciwKLSAgIDphdHRyOmBsaW5lbm9gIGlzIHRoZSBudW1iZXIgb2YgdGhlIGxpbmUgb24gd2hpY2ggdGhlIGJyb2tlbiBjb25zdHJ1Y3Qgd2FzCi0gICBkZXRlY3RlZCwgYW5kIDphdHRyOmBvZmZzZXRgIGlzIHRoZSBudW1iZXIgb2YgY2hhcmFjdGVycyBpbnRvIHRoZSBsaW5lIGF0Ci0gICB3aGljaCB0aGUgY29uc3RydWN0IHN0YXJ0cy4KLQotICAgLi4gZGVwcmVjYXRlZC1yZW1vdmVkOjogMy4zIDMuNQotICAgICAgVGhpcyBleGNlcHRpb24gaGFzIGJlZW4gZGVwcmVjYXRlZCBiZWNhdXNlIGl0J3MgbmV2ZXIgcmFpc2VkIGJ5IHRoZSBwYXJzZXIKLSAgICAgICh3aGVuIHRoZSBkZWZhdWx0IG5vbi1zdHJpY3QgbW9kZSBpcyB1c2VkKS4KKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICBUaGUgZGVmYXVsdCB2YWx1ZSBmb3IgYXJndW1lbnQgKmNvbnZlcnRfY2hhcnJlZnMqIGlzIG5vdyBgYFRydWVgYC4KIAogCiBFeGFtcGxlIEhUTUwgUGFyc2VyIEFwcGxpY2F0aW9uCkBAIC0yNDYsOCArMjE4LDcgQEAKIAogICAgVGhlICpkYXRhKiBwYXJhbWV0ZXIgd2lsbCBiZSB0aGUgZW50aXJlIGNvbnRlbnRzIG9mIHRoZSBkZWNsYXJhdGlvbiBpbnNpZGUKICAgIHRoZSBgYDwhWy4uLl0+YGAgbWFya3VwLiAgSXQgaXMgc29tZXRpbWVzIHVzZWZ1bCB0byBiZSBvdmVycmlkZGVuIGJ5IGEKLSAgIGRlcml2ZWQgY2xhc3MuICBUaGUgYmFzZSBjbGFzcyBpbXBsZW1lbnRhdGlvbiByYWlzZXMgYW4gOmV4YzpgSFRNTFBhcnNlRXJyb3JgCi0gICB3aGVuICpzdHJpY3QqIGlzIGBgVHJ1ZWBgLgorICAgZGVyaXZlZCBjbGFzcy4gIFRoZSBiYXNlIGNsYXNzIGltcGxlbWVudGF0aW9uIGRvZXMgbm90aGluZy4KIAogCiAuLiBfaHRtbHBhcnNlci1leGFtcGxlczoKQEAgLTM1OCw5ICszMjksMyBAQAogICAgRGF0YSAgICAgOiB0YWcgc291cAogICAgRW5kIHRhZyAgOiBwCiAgICBFbmQgdGFnICA6IGEKLQotLi4gcnVicmljOjogRm9vdG5vdGVzCi0KLS4uIFsjXSBGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSByZWFzb25zICpzdHJpY3QqIG1vZGUgZG9lcyBub3QgcmFpc2UKLSAgICAgICBleGNlcHRpb25zIGZvciBhbGwgbm9uLWNvbXBsaWFudCBIVE1MLiAgVGhhdCBpcywgc29tZSBpbnZhbGlkIEhUTUwKLSAgICAgICBpcyB0b2xlcmF0ZWQgZXZlbiBpbiAqc3RyaWN0KiBtb2RlLgpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvaHR0cC5jbGllbnQucnN0IGIvRG9jL2xpYnJhcnkvaHR0cC5jbGllbnQucnN0CmluZGV4IGEzZjJlMzUuLmI0OTVmNDEgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2h0dHAuY2xpZW50LnJzdAorKysgYi9Eb2MvbGlicmFyeS9odHRwLmNsaWVudC5yc3QKQEAgLTE4MCwyMjEgKzE4MCwxNSBAQAogCiAgICBUaGUgZGVmYXVsdCBwb3J0IGZvciB0aGUgSFRUUFMgcHJvdG9jb2wgKGFsd2F5cyBgYDQ0M2BgKS4KIAotYW5kIGFsc28gdGhlIGZvbGxvd2luZyBjb25zdGFudHMgZm9yIGludGVnZXIgc3RhdHVzIGNvZGVzOgotCi0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgQ29uc3RhbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFZhbHVlICAgfCBEZWZpbml0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSs9PT09PT09PT0rPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rCi18IDpjb25zdDpgQ09OVElOVUVgICAgICAgICAgICAgICAgICAgICAgICAgfCBgYDEwMGBgIHwgSFRUUC8xLjEsIGBSRkMgMjYxNiwgU2VjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCAxMC4xLjEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzEwLmh0bWwjc2VjMTAuMS4xPmBfICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBTV0lUQ0hJTkdfUFJPVE9DT0xTYCAgICAgICAgICAgICB8IGBgMTAxYGAgfCBIVFRQLzEuMSwgYFJGQyAyNjE2LCBTZWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDEwLjEuMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgPGh0dHA6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjMTAuaHRtbCNzZWMxMC4xLjI+YF8gIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCA6Y29uc3Q6YFBST0NFU1NJTkdgICAgICAgICAgICAgICAgICAgICAgIHwgYGAxMDJgYCB8IFdFQkRBViwgYFJGQyAyNTE4LCBTZWN0aW9uIDEwLjEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgPGh0dHA6Ly93d3cud2ViZGF2Lm9yZy9zcGVjcy9yZmMyNTE4Lmh0bWwjU1RBVFVTXzEwMj5gXyAgICAgICAgICAgICAgIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCA6Y29uc3Q6YE9LYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYGAyMDBgYCB8IEhUVFAvMS4xLCBgUkZDIDI2MTYsIFNlY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgMTAuMi4xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA8aHR0cDovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWMxMC5odG1sI3NlYzEwLjIuMT5gXyAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgQ1JFQVRFRGAgICAgICAgICAgICAgICAgICAgICAgICAgfCBgYDIwMWBgIHwgSFRUUC8xLjEsIGBSRkMgMjYxNiwgU2VjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCAxMC4yLjIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzEwLmh0bWwjc2VjMTAuMi4yPmBfICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBBQ0NFUFRFRGAgICAgICAgICAgICAgICAgICAgICAgICB8IGBgMjAyYGAgfCBIVFRQLzEuMSwgYFJGQyAyNjE2LCBTZWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDEwLjIuMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgPGh0dHA6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjMTAuaHRtbCNzZWMxMC4yLjM+YF8gIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCA6Y29uc3Q6YE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OYCAgIHwgYGAyMDNgYCB8IEhUVFAvMS4xLCBgUkZDIDI2MTYsIFNlY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgMTAuMi40ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA8aHR0cDovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWMxMC5odG1sI3NlYzEwLjIuND5gXyAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgTk9fQ09OVEVOVGAgICAgICAgICAgICAgICAgICAgICAgfCBgYDIwNGBgIHwgSFRUUC8xLjEsIGBSRkMgMjYxNiwgU2VjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCAxMC4yLjUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzEwLmh0bWwjc2VjMTAuMi41PmBfICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBSRVNFVF9DT05URU5UYCAgICAgICAgICAgICAgICAgICB8IGBgMjA1YGAgfCBIVFRQLzEuMSwgYFJGQyAyNjE2LCBTZWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDEwLjIuNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgPGh0dHA6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjMTAuaHRtbCNzZWMxMC4yLjY+YF8gIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCA6Y29uc3Q6YFBBUlRJQUxfQ09OVEVOVGAgICAgICAgICAgICAgICAgIHwgYGAyMDZgYCB8IEhUVFAvMS4xLCBgUkZDIDI2MTYsIFNlY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgMTAuMi43ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA8aHR0cDovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWMxMC5odG1sI3NlYzEwLjIuNz5gXyAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgTVVMVElfU1RBVFVTYCAgICAgICAgICAgICAgICAgICAgfCBgYDIwN2BgIHwgV0VCREFWIGBSRkMgMjUxOCwgU2VjdGlvbiAxMC4yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA8aHR0cDovL3d3dy53ZWJkYXYub3JnL3NwZWNzL3JmYzI1MTguaHRtbCNTVEFUVVNfMjA3PmBfICAgICAgICAgICAgICAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgSU1fVVNFRGAgICAgICAgICAgICAgICAgICAgICAgICAgfCBgYDIyNmBgIHwgRGVsdGEgZW5jb2RpbmcgaW4gSFRUUCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA6cmZjOmAzMjI5YCwgU2VjdGlvbiAxMC40LjEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgTVVMVElQTEVfQ0hPSUNFU2AgICAgICAgICAgICAgICAgfCBgYDMwMGBgIHwgSFRUUC8xLjEsIGBSRkMgMjYxNiwgU2VjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCAxMC4zLjEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzEwLmh0bWwjc2VjMTAuMy4xPmBfICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBNT1ZFRF9QRVJNQU5FTlRMWWAgICAgICAgICAgICAgICB8IGBgMzAxYGAgfCBIVFRQLzEuMSwgYFJGQyAyNjE2LCBTZWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDEwLjMuMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgPGh0dHA6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjMTAuaHRtbCNzZWMxMC4zLjI+YF8gIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCA6Y29uc3Q6YEZPVU5EYCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYGAzMDJgYCB8IEhUVFAvMS4xLCBgUkZDIDI2MTYsIFNlY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgMTAuMy4zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA8aHR0cDovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWMxMC5odG1sI3NlYzEwLjMuMz5gXyAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgU0VFX09USEVSYCAgICAgICAgICAgICAgICAgICAgICAgfCBgYDMwM2BgIHwgSFRUUC8xLjEsIGBSRkMgMjYxNiwgU2VjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCAxMC4zLjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzEwLmh0bWwjc2VjMTAuMy40PmBfICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBOT1RfTU9ESUZJRURgICAgICAgICAgICAgICAgICAgICB8IGBgMzA0YGAgfCBIVFRQLzEuMSwgYFJGQyAyNjE2LCBTZWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDEwLjMuNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgPGh0dHA6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjMTAuaHRtbCNzZWMxMC4zLjU+YF8gIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCA6Y29uc3Q6YFVTRV9QUk9YWWAgICAgICAgICAgICAgICAgICAgICAgIHwgYGAzMDVgYCB8IEhUVFAvMS4xLCBgUkZDIDI2MTYsIFNlY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgMTAuMy42ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA8aHR0cDovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWMxMC5odG1sI3NlYzEwLjMuNj5gXyAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgVEVNUE9SQVJZX1JFRElSRUNUYCAgICAgICAgICAgICAgfCBgYDMwN2BgIHwgSFRUUC8xLjEsIGBSRkMgMjYxNiwgU2VjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCAxMC4zLjggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzEwLmh0bWwjc2VjMTAuMy44PmBfICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBCQURfUkVRVUVTVGAgICAgICAgICAgICAgICAgICAgICB8IGBgNDAwYGAgfCBIVFRQLzEuMSwgYFJGQyAyNjE2LCBTZWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDEwLjQuMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgPGh0dHA6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjMTAuaHRtbCNzZWMxMC40LjE+YF8gIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCA6Y29uc3Q6YFVOQVVUSE9SSVpFRGAgICAgICAgICAgICAgICAgICAgIHwgYGA0MDFgYCB8IEhUVFAvMS4xLCBgUkZDIDI2MTYsIFNlY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgMTAuNC4yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA8aHR0cDovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWMxMC5odG1sI3NlYzEwLjQuMj5gXyAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgUEFZTUVOVF9SRVFVSVJFRGAgICAgICAgICAgICAgICAgfCBgYDQwMmBgIHwgSFRUUC8xLjEsIGBSRkMgMjYxNiwgU2VjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCAxMC40LjMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzEwLmh0bWwjc2VjMTAuNC4zPmBfICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBGT1JCSURERU5gICAgICAgICAgICAgICAgICAgICAgICB8IGBgNDAzYGAgfCBIVFRQLzEuMSwgYFJGQyAyNjE2LCBTZWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDEwLjQuNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgPGh0dHA6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjMTAuaHRtbCNzZWMxMC40LjQ+YF8gIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCA6Y29uc3Q6YE5PVF9GT1VORGAgICAgICAgICAgICAgICAgICAgICAgIHwgYGA0MDRgYCB8IEhUVFAvMS4xLCBgUkZDIDI2MTYsIFNlY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgMTAuNC41ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA8aHR0cDovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWMxMC5odG1sI3NlYzEwLjQuNT5gXyAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgTUVUSE9EX05PVF9BTExPV0VEYCAgICAgICAgICAgICAgfCBgYDQwNWBgIHwgSFRUUC8xLjEsIGBSRkMgMjYxNiwgU2VjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCAxMC40LjYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzEwLmh0bWwjc2VjMTAuNC42PmBfICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBOT1RfQUNDRVBUQUJMRWAgICAgICAgICAgICAgICAgICB8IGBgNDA2YGAgfCBIVFRQLzEuMSwgYFJGQyAyNjE2LCBTZWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDEwLjQuNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgPGh0dHA6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjMTAuaHRtbCNzZWMxMC40Ljc+YF8gIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCA6Y29uc3Q6YFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEYCAgIHwgYGA0MDdgYCB8IEhUVFAvMS4xLCBgUkZDIDI2MTYsIFNlY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgMTAuNC44ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA8aHR0cDovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWMxMC5odG1sI3NlYzEwLjQuOD5gXyAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgUkVRVUVTVF9USU1FT1VUYCAgICAgICAgICAgICAgICAgfCBgYDQwOGBgIHwgSFRUUC8xLjEsIGBSRkMgMjYxNiwgU2VjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCAxMC40LjkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzEwLmh0bWwjc2VjMTAuNC45PmBfICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBDT05GTElDVGAgICAgICAgICAgICAgICAgICAgICAgICB8IGBgNDA5YGAgfCBIVFRQLzEuMSwgYFJGQyAyNjE2LCBTZWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDEwLjQuMTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgPGh0dHA6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjMTAuaHRtbCNzZWMxMC40LjEwPmBfIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCA6Y29uc3Q6YEdPTkVgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYGA0MTBgYCB8IEhUVFAvMS4xLCBgUkZDIDI2MTYsIFNlY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgMTAuNC4xMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA8aHR0cDovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWMxMC5odG1sI3NlYzEwLjQuMTE+YF8gfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgTEVOR1RIX1JFUVVJUkVEYCAgICAgICAgICAgICAgICAgfCBgYDQxMWBgIHwgSFRUUC8xLjEsIGBSRkMgMjYxNiwgU2VjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCAxMC40LjEyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzEwLmh0bWwjc2VjMTAuNC4xMj5gXyB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBQUkVDT05ESVRJT05fRkFJTEVEYCAgICAgICAgICAgICB8IGBgNDEyYGAgfCBIVFRQLzEuMSwgYFJGQyAyNjE2LCBTZWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDEwLjQuMTMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgPGh0dHA6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjMTAuaHRtbCNzZWMxMC40LjEzPmBfIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCA6Y29uc3Q6YFJFUVVFU1RfRU5USVRZX1RPT19MQVJHRWAgICAgICAgIHwgYGA0MTNgYCB8IEhUVFAvMS4xLCBgUkZDIDI2MTYsIFNlY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgMTAuNC4xNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA8aHR0cDovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWMxMC5odG1sI3NlYzEwLjQuMTQ+YF8gfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgUkVRVUVTVF9VUklfVE9PX0xPTkdgICAgICAgICAgICAgfCBgYDQxNGBgIHwgSFRUUC8xLjEsIGBSRkMgMjYxNiwgU2VjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCAxMC40LjE1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzEwLmh0bWwjc2VjMTAuNC4xNT5gXyB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBVTlNVUFBPUlRFRF9NRURJQV9UWVBFYCAgICAgICAgICB8IGBgNDE1YGAgfCBIVFRQLzEuMSwgYFJGQyAyNjE2LCBTZWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDEwLjQuMTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgPGh0dHA6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjMTAuaHRtbCNzZWMxMC40LjE2PmBfIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCA6Y29uc3Q6YFJFUVVFU1RFRF9SQU5HRV9OT1RfU0FUSVNGSUFCTEVgIHwgYGA0MTZgYCB8IEhUVFAvMS4xLCBgUkZDIDI2MTYsIFNlY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgMTAuNC4xNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA8aHR0cDovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWMxMC5odG1sI3NlYzEwLjQuMTc+YF8gfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgRVhQRUNUQVRJT05fRkFJTEVEYCAgICAgICAgICAgICAgfCBgYDQxN2BgIHwgSFRUUC8xLjEsIGBSRkMgMjYxNiwgU2VjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCAxMC40LjE4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzEwLmh0bWwjc2VjMTAuNC4xOD5gXyB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBVTlBST0NFU1NBQkxFX0VOVElUWWAgICAgICAgICAgICB8IGBgNDIyYGAgfCBXRUJEQVYsIGBSRkMgMjUxOCwgU2VjdGlvbiAxMC4zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LndlYmRhdi5vcmcvc3BlY3MvcmZjMjUxOC5odG1sI1NUQVRVU180MjI+YF8gICAgICAgICAgICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBMT0NLRURgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGBgNDIzYGAgfCBXRUJEQVYgYFJGQyAyNTE4LCBTZWN0aW9uIDEwLjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LndlYmRhdi5vcmcvc3BlY3MvcmZjMjUxOC5odG1sI1NUQVRVU180MjM+YF8gICAgICAgICAgICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBGQUlMRURfREVQRU5ERU5DWWAgICAgICAgICAgICAgICB8IGBgNDI0YGAgfCBXRUJEQVYsIGBSRkMgMjUxOCwgU2VjdGlvbiAxMC41ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LndlYmRhdi5vcmcvc3BlY3MvcmZjMjUxOC5odG1sI1NUQVRVU180MjQ+YF8gICAgICAgICAgICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBVUEdSQURFX1JFUVVJUkVEYCAgICAgICAgICAgICAgICB8IGBgNDI2YGAgfCBIVFRQIFVwZ3JhZGUgdG8gVExTLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDpyZmM6YDI4MTdgLCBTZWN0aW9uIDYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBQUkVDT05ESVRJT05fUkVRVUlSRURgICAgICAgICAgICB8IGBgNDI4YGAgfCBBZGRpdGlvbmFsIEhUVFAgU3RhdHVzIENvZGVzLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDpyZmM6YDY1ODVgLCBTZWN0aW9uIDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBUT09fTUFOWV9SRVFVRVNUU2AgICAgICAgICAgICAgICB8IGBgNDI5YGAgfCBBZGRpdGlvbmFsIEhUVFAgU3RhdHVzIENvZGVzLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDpyZmM6YDY1ODVgLCBTZWN0aW9uIDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFYCB8IGBgNDMxYGAgfCBBZGRpdGlvbmFsIEhUVFAgU3RhdHVzIENvZGVzLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDpyZmM6YDY1ODVgLCBTZWN0aW9uIDUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBJTlRFUk5BTF9TRVJWRVJfRVJST1JgICAgICAgICAgICB8IGBgNTAwYGAgfCBIVFRQLzEuMSwgYFJGQyAyNjE2LCBTZWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDEwLjUuMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgPGh0dHA6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjMTAuaHRtbCNzZWMxMC41LjE+YF8gIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCA6Y29uc3Q6YE5PVF9JTVBMRU1FTlRFRGAgICAgICAgICAgICAgICAgIHwgYGA1MDFgYCB8IEhUVFAvMS4xLCBgUkZDIDI2MTYsIFNlY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgMTAuNS4yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA8aHR0cDovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWMxMC5odG1sI3NlYzEwLjUuMj5gXyAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgQkFEX0dBVEVXQVlgICAgICAgICAgICAgICAgICAgICAgfCBgYDUwMmBgIHwgSFRUUC8xLjEgYFJGQyAyNjE2LCBTZWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCAxMC41LjMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzEwLmh0bWwjc2VjMTAuNS4zPmBfICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBTRVJWSUNFX1VOQVZBSUxBQkxFYCAgICAgICAgICAgICB8IGBgNTAzYGAgfCBIVFRQLzEuMSwgYFJGQyAyNjE2LCBTZWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDEwLjUuNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgPGh0dHA6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjMTAuaHRtbCNzZWMxMC41LjQ+YF8gIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCA6Y29uc3Q6YEdBVEVXQVlfVElNRU9VVGAgICAgICAgICAgICAgICAgIHwgYGA1MDRgYCB8IEhUVFAvMS4xIGBSRkMgMjYxNiwgU2VjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgMTAuNS41ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA8aHR0cDovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWMxMC5odG1sI3NlYzEwLjUuNT5gXyAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgSFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURURgICAgICAgfCBgYDUwNWBgIHwgSFRUUC8xLjEsIGBSRkMgMjYxNiwgU2VjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCAxMC41LjYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzEwLmh0bWwjc2VjMTAuNS42PmBfICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBJTlNVRkZJQ0lFTlRfU1RPUkFHRWAgICAgICAgICAgICB8IGBgNTA3YGAgfCBXRUJEQVYsIGBSRkMgMjUxOCwgU2VjdGlvbiAxMC42ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LndlYmRhdi5vcmcvc3BlY3MvcmZjMjUxOC5odG1sI1NUQVRVU181MDc+YF8gICAgICAgICAgICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBOT1RfRVhURU5ERURgICAgICAgICAgICAgICAgICAgICB8IGBgNTEwYGAgfCBBbiBIVFRQIEV4dGVuc2lvbiBGcmFtZXdvcmssICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDpyZmM6YDI3NzRgLCBTZWN0aW9uIDcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEYCB8IGBgNTExYGAgfCBBZGRpdGlvbmFsIEhUVFAgU3RhdHVzIENvZGVzLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDpyZmM6YDY1ODVgLCBTZWN0aW9uIDYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLQotLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKLSAgIEFkZGVkIGNvZGVzIGBgNDI4YGAsIGBgNDI5YGAsIGBgNDMxYGAgYW5kIGBgNTExYGAgZnJvbSA6cmZjOmA2NTg1YC4KLQotCiAuLiBkYXRhOjogcmVzcG9uc2VzCiAKICAgIFRoaXMgZGljdGlvbmFyeSBtYXBzIHRoZSBIVFRQIDEuMSBzdGF0dXMgY29kZXMgdG8gdGhlIFczQyBuYW1lcy4KIAogICAgRXhhbXBsZTogYGBodHRwLmNsaWVudC5yZXNwb25zZXNbaHR0cC5jbGllbnQuTk9UX0ZPVU5EXWBgIGlzIGBgJ05vdCBGb3VuZCdgYC4KIAorU2VlIDpyZWY6YGh0dHAtc3RhdHVzLWNvZGVzYCBmb3IgYSBsaXN0IG9mIEhUVFAgc3RhdHVzIGNvZGVzIHRoYXQgYXJlCithdmFpbGFibGUgaW4gdGhpcyBtb2R1bGUgYXMgY29uc3RhbnRzLgorCiAKIC4uIF9odHRwY29ubmVjdGlvbi1vYmplY3RzOgogCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9odHRwLnJzdCBiL0RvYy9saWJyYXJ5L2h0dHAucnN0CmluZGV4IGEzODdhMzcuLmI2ZjJjNTggMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2h0dHAucnN0CisrKyBiL0RvYy9saWJyYXJ5L2h0dHAucnN0CkBAIC0xLDcgKzEsMTYgQEAKIDptb2Q6YGh0dHBgIC0tLSBIVFRQIG1vZHVsZXMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIAotYGBodHRwYGAgaXMgYSBwYWNrYWdlIHRoYXQgY29sbGVjdHMgc2V2ZXJhbCBtb2R1bGVzIGZvciB3b3JraW5nIHdpdGggdGhlCisuLiBtb2R1bGU6OiBodHRwCisgICA6c3lub3BzaXM6IEhUVFAgc3RhdHVzIGNvZGVzIGFuZCBtZXNzYWdlcworCisuLiBpbmRleDo6CisgICBwYWlyOiBIVFRQOyBwcm90b2NvbAorICAgc2luZ2xlOiBIVFRQOyBodHRwIChzdGFuZGFyZCBtb2R1bGUpCisKKyoqU291cmNlIGNvZGU6KiogOnNvdXJjZTpgTGliL2h0dHAvX19pbml0X18ucHlgCisKKzptb2Q6YGh0dHBgIGlzIGEgcGFja2FnZSB0aGF0IGNvbGxlY3RzIHNldmVyYWwgbW9kdWxlcyBmb3Igd29ya2luZyB3aXRoIHRoZQogSHlwZXJUZXh0IFRyYW5zZmVyIFByb3RvY29sOgogCiAqIDptb2Q6YGh0dHAuY2xpZW50YCBpcyBhIGxvdy1sZXZlbCBIVFRQIHByb3RvY29sIGNsaWVudDsgZm9yIGhpZ2gtbGV2ZWwgVVJMCkBAIC05LDMgKzE4LDEwNSBAQAogKiA6bW9kOmBodHRwLnNlcnZlcmAgY29udGFpbnMgYmFzaWMgSFRUUCBzZXJ2ZXIgY2xhc3NlcyBiYXNlZCBvbiA6bW9kOmBzb2NrZXRzZXJ2ZXJgCiAqIDptb2Q6YGh0dHAuY29va2llc2AgaGFzIHV0aWxpdGllcyBmb3IgaW1wbGVtZW50aW5nIHN0YXRlIG1hbmFnZW1lbnQgd2l0aCBjb29raWVzCiAqIDptb2Q6YGh0dHAuY29va2llamFyYCBwcm92aWRlcyBwZXJzaXN0ZW5jZSBvZiBjb29raWVzCisKKzptb2Q6YGh0dHBgIGlzIGFsc28gYSBtb2R1bGUgdGhhdCBkZWZpbmVzIGEgbnVtYmVyIG9mIEhUVFAgc3RhdHVzIGNvZGVzIGFuZAorYXNzb2NpYXRlZCBtZXNzYWdlcyB0aHJvdWdoIHRoZSA6Y2xhc3M6YGh0dHAuSFRUUFN0YXR1c2AgZW51bToKKworLi4gY2xhc3M6OiBIVFRQU3RhdHVzCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQorCisgICBBIHN1YmNsYXNzIG9mIDpjbGFzczpgZW51bS5JbnRFbnVtYCB0aGF0IGRlZmluZXMgYSBzZXQgb2YgSFRUUCBzdGF0dXMgY29kZXMsCisgICByZWFzb24gcGhyYXNlcyBhbmQgbG9uZyBkZXNjcmlwdGlvbnMgd3JpdHRlbiBpbiBFbmdsaXNoLgorCisgICBVc2FnZTo6CisKKyAgICAgID4+PiBmcm9tIGh0dHAgaW1wb3J0IEhUVFBTdGF0dXMKKyAgICAgID4+PiBIVFRQU3RhdHVzLk9LCisgICAgICA8SFRUUFN0YXR1cy5PSzogMjAwPgorICAgICAgPj4+IEhUVFBTdGF0dXMuT0sgPT0gMjAwCisgICAgICBUcnVlCisgICAgICA+Pj4gaHR0cC5IVFRQU3RhdHVzLk9LLnZhbHVlCisgICAgICAyMDAKKyAgICAgID4+PiBIVFRQU3RhdHVzLk9LLnBocmFzZQorICAgICAgJ09LJworICAgICAgPj4+IEhUVFBTdGF0dXMuT0suZGVzY3JpcHRpb24KKyAgICAgICdSZXF1ZXN0IGZ1bGZpbGxlZCwgZG9jdW1lbnQgZm9sbG93cycKKyAgICAgID4+PiBsaXN0KEhUVFBTdGF0dXMpCisgICAgICBbPEhUVFBTdGF0dXMuQ09OVElOVUU6IDEwMD4sIDxIVFRQU3RhdHVzLlNXSVRDSElOR19QUk9UT0NPTFM6IDEwMT4sIC4uLl0KKworLi4gX2h0dHAtc3RhdHVzLWNvZGVzOgorCitIVFRQIHN0YXR1cyBjb2RlcworLS0tLS0tLS0tLS0tLS0tLS0KKworU3VwcG9ydGVkLAorYElBTkEtcmVnaXN0ZXJlZCA8aHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9odHRwLXN0YXR1cy1jb2Rlcy9odHRwLXN0YXR1cy1jb2Rlcy54aHRtbD5gXworc3RhdHVzIGNvZGVzIGF2YWlsYWJsZSBpbiA6Y2xhc3M6YGh0dHAuSFRUUFN0YXR1c2AgYXJlOgorCis9PT09PT09ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorQ29kZSAgICBFbnVtIE5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXRhaWxzCis9PT09PT09ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorYGAxMDBgYCBgYENPTlRJTlVFYGAgICAgICAgICAgICAgICAgICAgICAgICBIVFRQLzEuMSA6cmZjOmA3MjMxYCwgU2VjdGlvbiA2LjIuMQorYGAxMDFgYCBgYFNXSVRDSElOR19QUk9UT0NPTFNgYCAgICAgICAgICAgICBIVFRQLzEuMSA6cmZjOmA3MjMxYCwgU2VjdGlvbiA2LjIuMgorYGAxMDJgYCBgYFBST0NFU1NJTkdgYCAgICAgICAgICAgICAgICAgICAgICBXZWJEQVYgOnJmYzpgMjUxOGAsIFNlY3Rpb24gMTAuMQorYGAyMDBgYCBgYE9LYGAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIVFRQLzEuMSA6cmZjOmA3MjMxYCwgU2VjdGlvbiA2LjMuMQorYGAyMDFgYCBgYENSRUFURURgYCAgICAgICAgICAgICAgICAgICAgICAgICBIVFRQLzEuMSA6cmZjOmA3MjMxYCwgU2VjdGlvbiA2LjMuMgorYGAyMDJgYCBgYEFDQ0VQVEVEYGAgICAgICAgICAgICAgICAgICAgICAgICBIVFRQLzEuMSA6cmZjOmA3MjMxYCwgU2VjdGlvbiA2LjMuMworYGAyMDNgYCBgYE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OYGAgICBIVFRQLzEuMSA6cmZjOmA3MjMxYCwgU2VjdGlvbiA2LjMuNAorYGAyMDRgYCBgYE5PX0NPTlRFTlRgYCAgICAgICAgICAgICAgICAgICAgICBIVFRQLzEuMSA6cmZjOmA3MjMxYCwgU2VjdGlvbiA2LjMuNQorYGAyMDVgYCBgYFJFU0VUX0NPTlRFTlRgYCAgICAgICAgICAgICAgICAgICBIVFRQLzEuMSA6cmZjOmA3MjMxYCwgU2VjdGlvbiA2LjMuNgorYGAyMDZgYCBgYFBBUlRJQUxfQ09OVEVOVGBgICAgICAgICAgICAgICAgICBIVFRQLzEuMSA6cmZjOmA3MjMzYCwgU2VjdGlvbiA0LjEKK2BgMjA3YGAgYGBNVUxUSV9TVEFUVVNgYCAgICAgICAgICAgICAgICAgICAgV2ViREFWIDpyZmM6YDQ5MThgLCBTZWN0aW9uIDExLjEKK2BgMjA4YGAgYGBBTFJFQURZX1JFUE9SVEVEYGAgICAgICAgICAgICAgICAgV2ViREFWIEJpbmRpbmcgRXh0ZW5zaW9ucyA6cmZjOmA1ODQyYCwgU2VjdGlvbiA3LjEgKEV4cGVyaW1lbnRhbCkKK2BgMjI2YGAgYGBJTV9VU0VEYGAgICAgICAgICAgICAgICAgICAgICAgICAgRGVsdGEgRW5jb2RpbmcgaW4gSFRUUCA6cmZjOmAzMjI5YCwgU2VjdGlvbiAxMC40LjEKK2BgMzAwYGAgYGBNVUxUSVBMRV9DSE9JQ0VTYGAgICAgICAgICAgICAgICAgSFRUUC8xLjEgOnJmYzpgNzIzMWAsIFNlY3Rpb24gNi40LjEKK2BgMzAxYGAgYGBNT1ZFRF9QRVJNQU5FTlRMWWBgICAgICAgICAgICAgICAgSFRUUC8xLjEgOnJmYzpgNzIzMWAsIFNlY3Rpb24gNi40LjIKK2BgMzAyYGAgYGBGT1VORGBgICAgICAgICAgICAgICAgICAgICAgICAgICAgSFRUUC8xLjEgOnJmYzpgNzIzMWAsIFNlY3Rpb24gNi40LjMKK2BgMzAzYGAgYGBTRUVfT1RIRVJgYCAgICAgICAgICAgICAgICAgICAgICAgSFRUUC8xLjEgOnJmYzpgNzIzMWAsIFNlY3Rpb24gNi40LjQKK2BgMzA0YGAgYGBOT1RfTU9ESUZJRURgYCAgICAgICAgICAgICAgICAgICAgSFRUUC8xLjEgOnJmYzpgNzIzMmAsIFNlY3Rpb24gNC4xCitgYDMwNWBgIGBgVVNFX1BST1hZYGAgICAgICAgICAgICAgICAgICAgICAgIEhUVFAvMS4xIDpyZmM6YDcyMzFgLCBTZWN0aW9uIDYuNC41CitgYDMwN2BgIGBgVEVNUE9SQVJZX1JFRElSRUNUYGAgICAgICAgICAgICAgIEhUVFAvMS4xIDpyZmM6YDcyMzFgLCBTZWN0aW9uIDYuNC43CitgYDMwOGBgIGBgUEVSTUFORU5UX1JFRElSRUNUYGAgICAgICAgICAgICAgIFBlcm1hbmVudCBSZWRpcmVjdCA6cmZjOmA3MjM4YCwgU2VjdGlvbiAzIChFeHBlcmltZW50YWwpCitgYDQwMGBgIGBgQkFEX1JFUVVFU1RgYCAgICAgICAgICAgICAgICAgICAgIEhUVFAvMS4xIDpyZmM6YDcyMzFgLCBTZWN0aW9uIDYuNS4xCitgYDQwMWBgIGBgVU5BVVRIT1JJWkVEYGAgICAgICAgICAgICAgICAgICAgIEhUVFAvMS4xIEF1dGhlbnRpY2F0aW9uIDpyZmM6YDcyMzVgLCBTZWN0aW9uIDMuMQorYGA0MDJgYCBgYFBBWU1FTlRfUkVRVUlSRURgYCAgICAgICAgICAgICAgICBIVFRQLzEuMSA6cmZjOmA3MjMxYCwgU2VjdGlvbiA2LjUuMgorYGA0MDNgYCBgYEZPUkJJRERFTmBgICAgICAgICAgICAgICAgICAgICAgICBIVFRQLzEuMSA6cmZjOmA3MjMxYCwgU2VjdGlvbiA2LjUuMworYGA0MDRgYCBgYE5PVF9GT1VORGBgICAgICAgICAgICAgICAgICAgICAgICBIVFRQLzEuMSA6cmZjOmA3MjMxYCwgU2VjdGlvbiA2LjUuNAorYGA0MDVgYCBgYE1FVEhPRF9OT1RfQUxMT1dFRGBgICAgICAgICAgICAgICBIVFRQLzEuMSA6cmZjOmA3MjMxYCwgU2VjdGlvbiA2LjUuNQorYGA0MDZgYCBgYE5PVF9BQ0NFUFRBQkxFYGAgICAgICAgICAgICAgICAgICBIVFRQLzEuMSA6cmZjOmA3MjMxYCwgU2VjdGlvbiA2LjUuNgorYGA0MDdgYCBgYFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEYGAgICBIVFRQLzEuMSBBdXRoZW50aWNhdGlvbiA6cmZjOmA3MjM1YCwgU2VjdGlvbiAzLjIKK2BgNDA4YGAgYGBSRVFVRVNUX1RJTUVPVVRgYCAgICAgICAgICAgICAgICAgSFRUUC8xLjEgOnJmYzpgNzIzMWAsIFNlY3Rpb24gNi41LjcKK2BgNDA5YGAgYGBDT05GTElDVGBgICAgICAgICAgICAgICAgICAgICAgICAgSFRUUC8xLjEgOnJmYzpgNzIzMWAsIFNlY3Rpb24gNi41LjgKK2BgNDEwYGAgYGBHT05FYGAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSFRUUC8xLjEgOnJmYzpgNzIzMWAsIFNlY3Rpb24gNi41LjkKK2BgNDExYGAgYGBMRU5HVEhfUkVRVUlSRURgYCAgICAgICAgICAgICAgICAgSFRUUC8xLjEgOnJmYzpgNzIzMWAsIFNlY3Rpb24gNi41LjEwCitgYDQxMmBgIGBgUFJFQ09ORElUSU9OX0ZBSUxFRGBgICAgICAgICAgICAgIEhUVFAvMS4xIDpyZmM6YDcyMzJgLCBTZWN0aW9uIDQuMgorYGA0MTNgYCBgYFJFUVVFU1RfRU5USVRZX1RPT19MQVJHRWBgICAgICAgICBIVFRQLzEuMSA6cmZjOmA3MjMxYCwgU2VjdGlvbiA2LjUuMTEKK2BgNDE0YGAgYGBSRVFVRVNUX1VSSV9UT09fTE9OR2BgICAgICAgICAgICAgSFRUUC8xLjEgOnJmYzpgNzIzMWAsIFNlY3Rpb24gNi41LjEyCitgYDQxNWBgIGBgVU5TVVBQT1JURURfTUVESUFfVFlQRWBgICAgICAgICAgIEhUVFAvMS4xIDpyZmM6YDcyMzFgLCBTZWN0aW9uIDYuNS4xMworYGA0MTZgYCBgYFJFUVVFU1RfUkFOR0VfTk9UX1NBVElTRklBQkxFYGAgICBIVFRQLzEuMSBSYW5nZSBSZXF1ZXN0cyA6cmZjOmA3MjMzYCwgU2VjdGlvbiA0LjQKK2BgNDE3YGAgYGBFWFBFQ1RBVElPTl9GQUlMRURgYCAgICAgICAgICAgICAgSFRUUC8xLjEgOnJmYzpgNzIzMWAsIFNlY3Rpb24gNi41LjE0CitgYDQyMmBgIGBgVU5QUk9DRVNTQUJMRV9FTlRJVFlgYCAgICAgICAgICAgIFdlYkRBViA6cmZjOmA0OTE4YCwgU2VjdGlvbiAxMS4yCitgYDQyM2BgIGBgTE9DS0VEYGAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlYkRBViA6cmZjOmA0OTE4YCwgU2VjdGlvbiAxMS4zCitgYDQyNGBgIGBgRkFJTEVEX0RFUEVOREVOQ1lgYCAgICAgICAgICAgICAgIFdlYkRBViA6cmZjOmA0OTE4YCwgU2VjdGlvbiAxMS40CitgYDQyNmBgIGBgVVBHUkFERV9SRVFVSVJFRGBgICAgICAgICAgICAgICAgIEhUVFAvMS4xIDpyZmM6YDcyMzFgLCBTZWN0aW9uIDYuNS4xNQorYGA0MjhgYCBgYFBSRUNPTkRJVElPTl9SRVFVSVJFRGBgICAgICAgICAgICBBZGRpdGlvbmFsIEhUVFAgU3RhdHVzIENvZGVzIDpyZmM6YDY1ODVgCitgYDQyOWBgIGBgVE9PX01BTllfUkVRVUVTVFNgYCAgICAgICAgICAgICAgIEFkZGl0aW9uYWwgSFRUUCBTdGF0dXMgQ29kZXMgOnJmYzpgNjU4NWAKK2BgNDMxYGAgYGBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFYGAgQWRkaXRpb25hbCBIVFRQIFN0YXR1cyBDb2RlcyA6cmZjOmA2NTg1YAorYGA1MDBgYCBgYElOVEVSTkFMX1NFUlZFUl9FUlJPUmBgICAgICAgICAgICBIVFRQLzEuMSA6cmZjOmA3MjMxYCwgU2VjdGlvbiA2LjYuMQorYGA1MDFgYCBgYE5PVF9JTVBMRU1FTlRFRGBgICAgICAgICAgICAgICAgICBIVFRQLzEuMSA6cmZjOmA3MjMxYCwgU2VjdGlvbiA2LjYuMgorYGA1MDJgYCBgYEJBRF9HQVRFV0FZYGAgICAgICAgICAgICAgICAgICAgICBIVFRQLzEuMSA6cmZjOmA3MjMxYCwgU2VjdGlvbiA2LjYuMworYGA1MDNgYCBgYFNFUlZJQ0VfVU5BVkFJTEFCTEVgYCAgICAgICAgICAgICBIVFRQLzEuMSA6cmZjOmA3MjMxYCwgU2VjdGlvbiA2LjYuNAorYGA1MDRgYCBgYEdBVEVXQVlfVElNRU9VVGBgICAgICAgICAgICAgICAgICBIVFRQLzEuMSA6cmZjOmA3MjMxYCwgU2VjdGlvbiA2LjYuNQorYGA1MDVgYCBgYEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEYGAgICAgICBIVFRQLzEuMSA6cmZjOmA3MjMxYCwgU2VjdGlvbiA2LjYuNgorYGA1MDZgYCBgYFZBUklBTlRfQUxTT19ORUdPVElBVEVTYGAgICAgICAgICBUcmFuc3BhcmVudCBDb250ZW50IE5lZ290aWF0aW9uIGluIEhUVFAgOnJmYzpgMjI5NWAsIFNlY3Rpb24gOC4xIChFeHBlcmltZW50YWwpCitgYDUwN2BgIGBgSU5TVUZGSUNJRU5UX1NUT1JBR0VgYCAgICAgICAgICAgIFdlYkRBViA6cmZjOmA0OTE4YCwgU2VjdGlvbiAxMS41CitgYDUwOGBgIGBgTE9PUF9ERVRFQ1RFRGBgICAgICAgICAgICAgICAgICAgIFdlYkRBViBCaW5kaW5nIEV4dGVuc2lvbnMgOnJmYzpgNTg0MmAsIFNlY3Rpb24gNy4yIChFeHBlcmltZW50YWwpCitgYDUxMGBgIGBgTk9UX0VYVEVOREVEYGAgICAgICAgICAgICAgICAgICAgIEFuIEhUVFAgRXh0ZW5zaW9uIEZyYW1ld29yayA6cmZjOmAyNzc0YCwgU2VjdGlvbiA3IChFeHBlcmltZW50YWwpCitgYDUxMWBgIGBgTkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRGBgIEFkZGl0aW9uYWwgSFRUUCBTdGF0dXMgQ29kZXMgOnJmYzpgNjU4NWAsIFNlY3Rpb24gNgorPT09PT09PSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworSW4gb3JkZXIgdG8gcHJlc2VydmUgYmFja3dhcmRzIGNvbXBhdGliaWxpdHksIGVudW0gdmFsdWVzIGFyZSBhbHNvIHByZXNlbnQKK2luIHRoZSA6bW9kOmBodHRwLmNsaWVudGAgbW9kdWxlIGluIHRoZSBmb3JtIG9mIGNvbnN0YW50cy4gVGhlIGVudW0gbmFtZSBpcworZXF1YWwgdG8gdGhlIGNvbnN0YW50IG5hbWUgKGkuZS4gYGBodHRwLkhUVFBTdGF0dXMuT0tgYCBpcyBhbHNvIGF2YWlsYWJsZSBhcworYGBodHRwLmNsaWVudC5PS2BgKS4KZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2h0dHAuc2VydmVyLnJzdCBiL0RvYy9saWJyYXJ5L2h0dHAuc2VydmVyLnJzdAppbmRleCAwZDhlN2ZlLi5lYzU0NjQzIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9odHRwLnNlcnZlci5yc3QKKysrIGIvRG9jL2xpYnJhcnkvaHR0cC5zZXJ2ZXIucnN0CkBAIC0yMjAsNyArMjIwLDcgQEAKIAogICAgLi4gbWV0aG9kOjogc2VuZF9yZXNwb25zZV9vbmx5KGNvZGUsIG1lc3NhZ2U9Tm9uZSkKIAotICAgICAgU2VuZHMgdGhlIHJlcG9uc2UgaGVhZGVyIG9ubHksIHVzZWQgZm9yIHRoZSBwdXJwb3NlcyB3aGVuIGBgMTAwCisgICAgICBTZW5kcyB0aGUgcmVzcG9uc2UgaGVhZGVyIG9ubHksIHVzZWQgZm9yIHRoZSBwdXJwb3NlcyB3aGVuIGBgMTAwCiAgICAgICBDb250aW51ZWBgIHJlc3BvbnNlIGlzIHNlbnQgYnkgdGhlIHNlcnZlciB0byB0aGUgY2xpZW50LiBUaGUgaGVhZGVycyBub3QKICAgICAgIGJ1ZmZlcmVkIGFuZCBzZW50IGRpcmVjdGx5IHRoZSBvdXRwdXQgc3RyZWFtLklmIHRoZSAqbWVzc2FnZSogaXMgbm90CiAgICAgICBzcGVjaWZpZWQsIHRoZSBIVFRQIG1lc3NhZ2UgY29ycmVzcG9uZGluZyB0aGUgcmVzcG9uc2UgKmNvZGUqICBpcyBzZW50LgpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvaW1hcGxpYi5yc3QgYi9Eb2MvbGlicmFyeS9pbWFwbGliLnJzdAppbmRleCBmYTczNmZlLi5mMjYzYmFiIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9pbWFwbGliLnJzdAorKysgYi9Eb2MvbGlicmFyeS9pbWFwbGliLnJzdApAQCAtMzcsNiArMzcsMTkgQEAKICAgIGluaXRpYWxpemVkLiBJZiAqaG9zdCogaXMgbm90IHNwZWNpZmllZCwgYGAnJ2BgICh0aGUgbG9jYWwgaG9zdCkgaXMgdXNlZC4gSWYKICAgICpwb3J0KiBpcyBvbWl0dGVkLCB0aGUgc3RhbmRhcmQgSU1BUDQgcG9ydCAoMTQzKSBpcyB1c2VkLgogCisgICBUaGUgOmNsYXNzOmBJTUFQNGAgY2xhc3Mgc3VwcG9ydHMgdGhlIDprZXl3b3JkOmB3aXRoYCBzdGF0ZW1lbnQuICBXaGVuIHVzZWQKKyAgIGxpa2UgdGhpcywgdGhlIElNQVA0IGBgTE9HT1VUYGAgY29tbWFuZCBpcyBpc3N1ZWQgYXV0b21hdGljYWxseSB3aGVuIHRoZQorICAgOmtleXdvcmQ6YHdpdGhgIHN0YXRlbWVudCBleGl0cy4gIEUuZy46OgorCisgICAgPj4+IGZyb20gaW1hcGxpYiBpbXBvcnQgSU1BUDQKKyAgICA+Pj4gd2l0aCBJTUFQNCgiZG9tYWluLm9yZyIpIGFzIE06CisgICAgLi4uICAgICBNLm5vb3AoKQorICAgIC4uLgorICAgICgnT0snLCBbYidOb3RoaW5nIEFjY29tcGxpc2hlZC4gZDI1aWY2NWh5OTAzd2VvLjg3J10pCisKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICBTdXBwb3J0IGZvciB0aGUgOmtleXdvcmQ6YHdpdGhgIHN0YXRlbWVudCB3YXMgYWRkZWQuCisKIFRocmVlIGV4Y2VwdGlvbnMgYXJlIGRlZmluZWQgYXMgYXR0cmlidXRlcyBvZiB0aGUgOmNsYXNzOmBJTUFQNGAgY2xhc3M6CiAKIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvaW1naGRyLnJzdCBiL0RvYy9saWJyYXJ5L2ltZ2hkci5yc3QKaW5kZXggOWU4OTUyMy4uYzYwZGYyNCAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvaW1naGRyLnJzdAorKysgYi9Eb2MvbGlicmFyeS9pbWdoZHIucnN0CkBAIC00OCw2ICs0OCwxNiBAQAogKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKIHwgYGAncG5nJ2BgICB8IFBvcnRhYmxlIE5ldHdvcmsgR3JhcGhpY3MgICAgICAgICB8CiArLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCBgYCd3ZWJwJ2BgIHwgV2ViUCBmaWxlcyAgICAgICAgICAgICAgICAgICAgICAgIHwKKystLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IGBgJ2V4cidgYCAgfCBPcGVuRVhSIEZpbGVzICAgICAgICAgICAgICAgICAgICAgfAorKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKworLi4gdmVyc2lvbmFkZGVkOjogMy41CisgICBUaGUgKmV4ciogZm9ybWF0IHdhcyBhZGRlZC4KKworLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgIFRoZSAqd2VicCogdHlwZSB3YXMgYWRkZWQuCiAKIFlvdSBjYW4gZXh0ZW5kIHRoZSBsaXN0IG9mIGZpbGUgdHlwZXMgOm1vZDpgaW1naGRyYCBjYW4gcmVjb2duaXplIGJ5IGFwcGVuZGluZwogdG8gdGhpcyB2YXJpYWJsZToKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2ltcG9ydGxpYi5yc3QgYi9Eb2MvbGlicmFyeS9pbXBvcnRsaWIucnN0CmluZGV4IDkxMzI4YWYuLjljNmIyODAgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2ltcG9ydGxpYi5yc3QKKysrIGIvRG9jL2xpYnJhcnkvaW1wb3J0bGliLnJzdApAQCAtMzQ3LDEzICszNDcsMTYgQEAKIAogICAgIC4uIG1ldGhvZDo6IGNyZWF0ZV9tb2R1bGUoc3BlYykKIAotICAgICAgIEFuIG9wdGlvbmFsIG1ldGhvZCB0aGF0IHJldHVybnMgdGhlIG1vZHVsZSBvYmplY3QgdG8gdXNlIHdoZW4KLSAgICAgICBpbXBvcnRpbmcgYSBtb2R1bGUuICBjcmVhdGVfbW9kdWxlKCkgbWF5IGFsc28gcmV0dXJuIGBgTm9uZWBgLAotICAgICAgIGluZGljYXRpbmcgdGhhdCB0aGUgZGVmYXVsdCBtb2R1bGUgY3JlYXRpb24gc2hvdWxkIHRha2UgcGxhY2UKLSAgICAgICBpbnN0ZWFkLgorICAgICAgIEEgbWV0aG9kIHRoYXQgcmV0dXJucyB0aGUgbW9kdWxlIG9iamVjdCB0byB1c2Ugd2hlbgorICAgICAgIGltcG9ydGluZyBhIG1vZHVsZS4gIFRoaXMgbWV0aG9kIG1heSByZXR1cm4gYGBOb25lYGAsCisgICAgICAgaW5kaWNhdGluZyB0aGF0IGRlZmF1bHQgbW9kdWxlIGNyZWF0aW9uIHNlbWFudGljcyBzaG91bGQgdGFrZSBwbGFjZS4KIAogICAgICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNAogCisgICAgICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgICAgICBTdGFydGluZyBpbiBQeXRob24gMy42LCB0aGlzIG1ldGhvZCB3aWxsIG5vdCBiZSBvcHRpb25hbCB3aGVuCisgICAgICAgICAgOm1ldGg6YGV4ZWNfbW9kdWxlYCBpcyBkZWZpbmVkLgorCiAgICAgLi4gbWV0aG9kOjogZXhlY19tb2R1bGUobW9kdWxlKQogCiAgICAgICAgQW4gYWJzdHJhY3QgbWV0aG9kIHRoYXQgZXhlY3V0ZXMgdGhlIG1vZHVsZSBpbiBpdHMgb3duIG5hbWVzcGFjZQpAQCAtNDE3LDcgKzQyMCw3IEBACiAKICAgICAgICAgLi4gZGVwcmVjYXRlZDo6IDMuNAogICAgICAgICAgICBUaGUgcmVjb21tZW5kZWQgQVBJIGZvciBsb2FkaW5nIGEgbW9kdWxlIGlzIDptZXRoOmBleGVjX21vZHVsZWAKLSAgICAgICAgICAgKGFuZCBvcHRpb25hbGx5IDptZXRoOmBjcmVhdGVfbW9kdWxlYCkuICBMb2FkZXJzIHNob3VsZCBpbXBsZW1lbnQKKyAgICAgICAgICAgKGFuZCA6bWV0aDpgY3JlYXRlX21vZHVsZWApLiAgTG9hZGVycyBzaG91bGQgaW1wbGVtZW50CiAgICAgICAgICAgIGl0IGluc3RlYWQgb2YgbG9hZF9tb2R1bGUoKS4gIFRoZSBpbXBvcnQgbWFjaGluZXJ5IHRha2VzIGNhcmUgb2YKICAgICAgICAgICAgYWxsIHRoZSBvdGhlciByZXNwb25zaWJpbGl0aWVzIG9mIGxvYWRfbW9kdWxlKCkgd2hlbiBleGVjX21vZHVsZSgpCiAgICAgICAgICAgIGlzIGltcGxlbWVudGVkLgpAQCAtNDk5LDcgKzUwMiw3IEBACiAgICAgICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy40CiAgICAgICAgICAgIFJhaXNlcyA6ZXhjOmBJbXBvcnRFcnJvcmAgaW5zdGVhZCBvZiA6ZXhjOmBOb3RJbXBsZW1lbnRlZEVycm9yYC4KIAotICAgIC4uIG1ldGhvZDo6IHNvdXJjZV90b19jb2RlKGRhdGEsIHBhdGg9JzxzdHJpbmc+JykKKyAgICAuLiBzdGF0aWNtZXRob2Q6OiBzb3VyY2VfdG9fY29kZShkYXRhLCBwYXRoPSc8c3RyaW5nPicpCiAKICAgICAgICAgQ3JlYXRlIGEgY29kZSBvYmplY3QgZnJvbSBQeXRob24gc291cmNlLgogCkBAIC01MDgsOCArNTExLDE0IEBACiAgICAgICAgIHRoZSAicGF0aCIgdG8gd2hlcmUgdGhlIHNvdXJjZSBjb2RlIG9yaWdpbmF0ZWQgZnJvbSwgd2hpY2ggY2FuIGJlIGFuCiAgICAgICAgIGFic3RyYWN0IGNvbmNlcHQgKGUuZy4gbG9jYXRpb24gaW4gYSB6aXAgZmlsZSkuCiAKKyAgICAgICAgV2l0aCB0aGUgc3Vic2VxdWVudCBjb2RlIG9iamVjdCBvbmUgY2FuIGV4ZWN1dGUgaXQgaW4gYSBtb2R1bGUgYnkKKyAgICAgICAgcnVubmluZyBgYGV4ZWMoY29kZSwgbW9kdWxlLl9fZGljdF9fKWBgLgorCiAgICAgICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNAogCisgICAgICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICAgICAgIE1hZGUgdGhlIG1ldGhvZCBzdGF0aWMuCisKICAgICAuLiBtZXRob2Q6OiBleGVjX21vZHVsZShtb2R1bGUpCiAKICAgICAgICBJbXBsZW1lbnRhdGlvbiBvZiA6bWV0aDpgTG9hZGVyLmV4ZWNfbW9kdWxlYC4KQEAgLTc4OCw2ICs3OTcsMTEgQEAKIAogICAgICAgLi4gdmVyc2lvbmFkZGVkOjogMy40CiAKKyAgICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICAgICBJZiB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSAtLSByZXByZXNlbnRlZCBieSBhbiBlbXB0eSBzdHJpbmcgLS0KKyAgICAgICAgIGlzIG5vIGxvbmdlciB2YWxpZCB0aGVuIGBgTm9uZWBgIGlzIHJldHVybmVkIGJ1dCBubyB2YWx1ZSBpcyBjYWNoZWQKKyAgICAgICAgIGluIDpkYXRhOmBzeXMucGF0aF9pbXBvcnRlcl9jYWNoZWAuCisKICAgIC4uIGNsYXNzbWV0aG9kOjogZmluZF9tb2R1bGUoZnVsbG5hbWUsIHBhdGg9Tm9uZSkKIAogICAgICAgQSBsZWdhY3kgd3JhcHBlciBhcm91bmQgOm1ldGg6YGZpbmRfc3BlY2AuCkBAIC0xMTIzLDYgKzExMzcsMjEgQEAKIAogICAgLi4gdmVyc2lvbmFkZGVkOjogMy40CiAKKy4uIGZ1bmN0aW9uOjogbW9kdWxlX2Zyb21fc3BlYyhzcGVjKQorCisgICBDcmVhdGUgYSBuZXcgbW9kdWxlIGJhc2VkIG9uICoqc3BlYyoqIGFuZCBgYHNwZWMubG9hZGVyLmNyZWF0ZV9tb2R1bGUoKWBgLgorCisgICBJZiBgYHNwZWMubG9hZGVyLmNyZWF0ZV9tb2R1bGUoKWBgIGRvZXMgbm90IHJldHVybiBgYE5vbmVgYCwgdGhlbiBhbnkKKyAgIHByZS1leGlzdGluZyBhdHRyaWJ1dGVzIHdpbGwgbm90IGJlIHJlc2V0LiBBbHNvLCBubyA6ZXhjOmBBdHRyaWJ1dGVFcnJvcmAKKyAgIHdpbGwgYmUgcmFpc2VkIGlmIHRyaWdnZXJlZCB3aGlsZSBhY2Nlc3NpbmcgKipzcGVjKiogb3Igc2V0dGluZyBhbiBhdHRyaWJ1dGUKKyAgIG9uIHRoZSBtb2R1bGUuCisKKyAgIFRoaXMgZnVuY3Rpb24gaXMgcHJlZmVycmVkIG92ZXIgdXNpbmcgOmNsYXNzOmB0eXBlcy5Nb2R1bGVUeXBlYCB0byBjcmVhdGUgYQorICAgbmV3IG1vZHVsZSBhcyAqKnNwZWMqKiBpcyB1c2VkIHRvIHNldCBhcyBtYW55IGltcG9ydC1jb250cm9sbGVkIGF0dHJpYnV0ZXMgb24KKyAgIHRoZSBtb2R1bGUgYXMgcG9zc2libGUuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQorCiAuLiBkZWNvcmF0b3I6OiBtb2R1bGVfZm9yX2xvYWRlcgogCiAgICAgQSA6dGVybTpgZGVjb3JhdG9yYCBmb3IgOm1ldGg6YGltcG9ydGxpYi5hYmMuTG9hZGVyLmxvYWRfbW9kdWxlYApAQCAtMTIwMSwzICsxMjMwLDM5IEBACiAgICBtb2R1bGUgd2lsbCBiZSBmaWxlLWJhc2VkLgogCiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjQKKworLi4gY2xhc3M6OiBMYXp5TG9hZGVyKGxvYWRlcikKKworICAgQSBjbGFzcyB3aGljaCBwb3N0cG9uZXMgdGhlIGV4ZWN1dGlvbiBvZiB0aGUgbG9hZGVyIG9mIGEgbW9kdWxlIHVudGlsIHRoZQorICAgbW9kdWxlIGhhcyBhbiBhdHRyaWJ1dGUgYWNjZXNzZWQuCisKKyAgIFRoaXMgY2xhc3MgKipvbmx5Kiogd29ya3Mgd2l0aCBsb2FkZXJzIHRoYXQgZGVmaW5lCisgICA6bWV0aDpgfmltcG9ydGxpYi5hYmMuTG9hZGVyLmV4ZWNfbW9kdWxlYCBhcyBjb250cm9sIG92ZXIgd2hhdCBtb2R1bGUgdHlwZQorICAgaXMgdXNlZCBmb3IgdGhlIG1vZHVsZSBpcyByZXF1aXJlZC4gRm9yIHRob3NlIHNhbWUgcmVhc29ucywgdGhlIGxvYWRlcidzCisgICA6bWV0aDpgfmltcG9ydGxpYi5hYmMuTG9hZGVyLmNyZWF0ZV9tb2R1bGVgIG1ldGhvZCB3aWxsIGJlIGlnbm9yZWQgKGkuZS4sIHRoZQorICAgbG9hZGVyJ3MgbWV0aG9kIHNob3VsZCBvbmx5IHJldHVybiBgYE5vbmVgYCkuIEZpbmFsbHksCisgICBtb2R1bGVzIHdoaWNoIHN1YnN0aXR1dGUgdGhlIG9iamVjdCBwbGFjZWQgaW50byA6YXR0cjpgc3lzLm1vZHVsZXNgIHdpbGwKKyAgIG5vdCB3b3JrIGFzIHRoZXJlIGlzIG5vIHdheSB0byBwcm9wZXJseSByZXBsYWNlIHRoZSBtb2R1bGUgcmVmZXJlbmNlcworICAgdGhyb3VnaG91dCB0aGUgaW50ZXJwcmV0ZXIgc2FmZWx5OyA6ZXhjOmBWYWx1ZUVycm9yYCBpcyByYWlzZWQgaWYgc3VjaCBhCisgICBzdWJzdGl0dXRpb24gaXMgZGV0ZWN0ZWQuCisKKyAgIC4uIG5vdGU6OgorICAgICAgRm9yIHByb2plY3RzIHdoZXJlIHN0YXJ0dXAgdGltZSBpcyBjcml0aWNhbCwgdGhpcyBjbGFzcyBhbGxvd3MgZm9yCisgICAgICBwb3RlbnRpYWxseSBtaW5pbWl6aW5nIHRoZSBjb3N0IG9mIGxvYWRpbmcgYSBtb2R1bGUgaWYgaXQgaXMgbmV2ZXIgdXNlZC4KKyAgICAgIEZvciBwcm9qZWN0cyB3aGVyZSBzdGFydHVwIHRpbWUgaXMgbm90IGVzc2VudGlhbCB0aGVuIHVzZSBvZiB0aGlzIGNsYXNzIGlzCisgICAgICAqKmhlYXZpbHkqKiBkaXNjb3VyYWdlZCBkdWUgdG8gZXJyb3IgbWVzc2FnZXMgY3JlYXRlZCBkdXJpbmcgbG9hZGluZyBiZWluZworICAgICAgcG9zdHBvbmVkIGFuZCB0aHVzIG9jY3VycmluZyBvdXQgb2YgY29udGV4dC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CisKKyAgIC4uIGNsYXNzbWV0aG9kOjogZmFjdG9yeShsb2FkZXIpCisKKyAgICAgIEEgc3RhdGljIG1ldGhvZCB3aGljaCByZXR1cm5zIGEgY2FsbGFibGUgdGhhdCBjcmVhdGVzIGEgbGF6eSBsb2FkZXIuIFRoaXMKKyAgICAgIGlzIG1lYW50IHRvIGJlIHVzZWQgaW4gc2l0dWF0aW9ucyB3aGVyZSB0aGUgbG9hZGVyIGlzIHBhc3NlZCBieSBjbGFzcworICAgICAgaW5zdGVhZCBvZiBieSBpbnN0YW5jZS4KKyAgICAgIDo6CisKKyAgICAgICAgc3VmZml4ZXMgPSBpbXBvcnRsaWIubWFjaGluZXJ5LlNPVVJDRV9TVUZGSVhFUworICAgICAgICBsb2FkZXIgPSBpbXBvcnRsaWIubWFjaGluZXJ5LlNvdXJjZUZpbGVMb2FkZXIKKyAgICAgICAgbGF6eV9sb2FkZXIgPSBpbXBvcnRsaWIudXRpbC5MYXp5TG9hZGVyLmZhY3RvcnkobG9hZGVyKQorICAgICAgICBmaW5kZXIgPSBpbXBvcnRsaWIubWFjaGluZXJ5LkZpbGVGaW5kZXIocGF0aCwgWyhsYXp5X2xvYWRlciwgc3VmZml4ZXMpXSkKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2luc3BlY3QucnN0IGIvRG9jL2xpYnJhcnkvaW5zcGVjdC5yc3QKaW5kZXggYzU0MGIxMS4uM2QyMTMyZiAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvaW5zcGVjdC5yc3QKKysrIGIvRG9jL2xpYnJhcnkvaW5zcGVjdC5yc3QKQEAgLTE1OSw2ICsxNTksMTYgQEAKIHwgICAgICAgICAgIHwgICAgICAgICAgICAgICAgIHwgYXJndW1lbnRzIGFuZCBsb2NhbCAgICAgICB8CiB8ICAgICAgICAgICB8ICAgICAgICAgICAgICAgICB8IHZhcmlhYmxlcyAgICAgICAgICAgICAgICAgfAogKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKK3wgZ2VuZXJhdG9yIHwgX19uYW1lX18gICAgICAgIHwgbmFtZSAgICAgICAgICAgICAgICAgICAgICB8CisrLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCAgICAgICAgICAgfCBfX3F1YWxuYW1lX18gICAgfCBxdWFsaWZpZWQgbmFtZSAgICAgICAgICAgIHwKKystLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8ICAgICAgICAgICB8IGdpX2ZyYW1lICAgICAgICB8IGZyYW1lICAgICAgICAgICAgICAgICAgICAgfAorKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKK3wgICAgICAgICAgIHwgZ2lfcnVubmluZyAgICAgIHwgaXMgdGhlIGdlbmVyYXRvciBydW5uaW5nPyB8CisrLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCAgICAgICAgICAgfCBnaV9jb2RlICAgICAgICAgfCBjb2RlICAgICAgICAgICAgICAgICAgICAgIHwKKystLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiB8IGJ1aWx0aW4gICB8IF9fZG9jX18gICAgICAgICB8IGRvY3VtZW50YXRpb24gc3RyaW5nICAgICAgfAogKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKIHwgICAgICAgICAgIHwgX19uYW1lX18gICAgICAgIHwgb3JpZ2luYWwgbmFtZSBvZiB0aGlzICAgICB8CkBAIC0xNjksNiArMTc5LDEyIEBACiB8ICAgICAgICAgICB8ICAgICAgICAgICAgICAgICB8IGBgTm9uZWBgICAgICAgICAgICAgICAgICAgfAogKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKIAorLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKworICAgQWRkIGBgX19xdWFsbmFtZV9fYGAgYXR0cmlidXRlIHRvIGdlbmVyYXRvcnMuIFRoZSBgYF9fbmFtZV9fYGAgYXR0cmlidXRlIG9mCisgICBnZW5lcmF0b3JzIGlzIG5vdyBzZXQgZnJvbSB0aGUgZnVuY3Rpb24gbmFtZSwgaW5zdGVhZCBvZiB0aGUgY29kZSBuYW1lLCBhbmQKKyAgIGl0IGNhbiBub3cgYmUgbW9kaWZpZWQuCisKIAogLi4gZnVuY3Rpb246OiBnZXRtZW1iZXJzKG9iamVjdFssIHByZWRpY2F0ZV0pCiAKQEAgLTQ2Miw2ICs0NzgsOSBAQAogICAgU2lnbmF0dXJlIG9iamVjdHMgYXJlICppbW11dGFibGUqLiAgVXNlIDptZXRoOmBTaWduYXR1cmUucmVwbGFjZWAgdG8gbWFrZSBhCiAgICBtb2RpZmllZCBjb3B5LgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgU2lnbmF0dXJlIG9iamVjdHMgYXJlIHBpY2tsYWJsZSBhbmQgaGFzaGFibGUuCisKICAgIC4uIGF0dHJpYnV0ZTo6IFNpZ25hdHVyZS5lbXB0eQogCiAgICAgICBBIHNwZWNpYWwgY2xhc3MtbGV2ZWwgbWFya2VyIHRvIHNwZWNpZnkgYWJzZW5jZSBvZiBhIHJldHVybiBhbm5vdGF0aW9uLgpAQCAtNTA2LDEyICs1MjUsMjkgQEAKICAgICAgICAgID4+PiBzdHIobmV3X3NpZykKICAgICAgICAgICIoYSwgYikgLT4gJ25ldyByZXR1cm4gYW5ubyciCiAKKyAgIC4uIGNsYXNzbWV0aG9kOjogU2lnbmF0dXJlLmZyb21fY2FsbGFibGUob2JqKQorCisgICAgICAgUmV0dXJuIGEgOmNsYXNzOmBTaWduYXR1cmVgIChvciBpdHMgc3ViY2xhc3MpIG9iamVjdCBmb3IgYSBnaXZlbiBjYWxsYWJsZQorICAgICAgIGBgb2JqYGAuIFRoaXMgbWV0aG9kIHNpbXBsaWZpZXMgc3ViY2xhc3Npbmcgb2YgOmNsYXNzOmBTaWduYXR1cmVgOgorCisgICAgICAgOjoKKworICAgICAgICAgY2xhc3MgTXlTaWduYXR1cmUoU2lnbmF0dXJlKToKKyAgICAgICAgICAgICBwYXNzCisgICAgICAgICBzaWcgPSBNeVNpZ25hdHVyZS5mcm9tX2NhbGxhYmxlKG1pbikKKyAgICAgICAgIGFzc2VydCBpc2luc3RhbmNlKHNpZywgTXlTaWduYXR1cmUpCisKKyAgICAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKKwogCiAuLiBjbGFzczo6IFBhcmFtZXRlcihuYW1lLCBraW5kLCBcKiwgZGVmYXVsdD1QYXJhbWV0ZXIuZW1wdHksIGFubm90YXRpb249UGFyYW1ldGVyLmVtcHR5KQogCiAgICBQYXJhbWV0ZXIgb2JqZWN0cyBhcmUgKmltbXV0YWJsZSouICBJbnN0ZWFkIG9mIG1vZGlmeWluZyBhIFBhcmFtZXRlciBvYmplY3QsCiAgICB5b3UgY2FuIHVzZSA6bWV0aDpgUGFyYW1ldGVyLnJlcGxhY2VgIHRvIGNyZWF0ZSBhIG1vZGlmaWVkIGNvcHkuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICBQYXJhbWV0ZXIgb2JqZWN0cyBhcmUgcGlja2xhYmxlIGFuZCBoYXNoYWJsZS4KKwogICAgLi4gYXR0cmlidXRlOjogUGFyYW1ldGVyLmVtcHR5CiAKICAgICAgIEEgc3BlY2lhbCBjbGFzcy1sZXZlbCBtYXJrZXIgdG8gc3BlY2lmeSBhYnNlbmNlIG9mIGRlZmF1bHQgdmFsdWVzIGFuZApAQCAtODQ5LDExICs4ODUsMTcgQEAKIFRoZSBpbnRlcnByZXRlciBzdGFjawogLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLVdoZW4gdGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgcmV0dXJuICJmcmFtZSByZWNvcmRzLCIgZWFjaCByZWNvcmQgaXMgYSB0dXBsZSBvZgotc2l4IGl0ZW1zOiB0aGUgZnJhbWUgb2JqZWN0LCB0aGUgZmlsZW5hbWUsIHRoZSBsaW5lIG51bWJlciBvZiB0aGUgY3VycmVudCBsaW5lLAorV2hlbiB0aGUgZm9sbG93aW5nIGZ1bmN0aW9ucyByZXR1cm4gImZyYW1lIHJlY29yZHMsIiBlYWNoIHJlY29yZCBpcyBhCis6dGVybTpgbmFtZWQgdHVwbGVgCitgYEZyYW1lSW5mbyhmcmFtZSwgZmlsZW5hbWUsIGxpbmVubywgZnVuY3Rpb24sIGNvZGVfY29udGV4dCwgaW5kZXgpYGAuCitUaGUgdHVwbGUgY29udGFpbnMgdGhlIGZyYW1lIG9iamVjdCwgdGhlIGZpbGVuYW1lLCB0aGUgbGluZSBudW1iZXIgb2YgdGhlCitjdXJyZW50IGxpbmUsCiB0aGUgZnVuY3Rpb24gbmFtZSwgYSBsaXN0IG9mIGxpbmVzIG9mIGNvbnRleHQgZnJvbSB0aGUgc291cmNlIGNvZGUsIGFuZCB0aGUKIGluZGV4IG9mIHRoZSBjdXJyZW50IGxpbmUgd2l0aGluIHRoYXQgbGlzdC4KIAorLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgIFJldHVybiBhIG5hbWVkIHR1cGxlIGluc3RlYWQgb2YgYSB0dXBsZS4KKwogLi4gbm90ZTo6CiAKICAgIEtlZXBpbmcgcmVmZXJlbmNlcyB0byBmcmFtZSBvYmplY3RzLCBhcyBmb3VuZCBpbiB0aGUgZmlyc3QgZWxlbWVudCBvZiB0aGUgZnJhbWUKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2lvLnJzdCBiL0RvYy9saWJyYXJ5L2lvLnJzdAppbmRleCAzYWRmNmU5Li42MzRiZjU4IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9pby5yc3QKKysrIGIvRG9jL2xpYnJhcnkvaW8ucnN0CkBAIC0zOTEsOCArMzkxLDggQEAKICAgIC4uIG1ldGhvZDo6IHJlYWRpbnRvKGIpCiAKICAgICAgIFJlYWQgdXAgdG8gYGBsZW4oYilgYCBieXRlcyBpbnRvIDpjbGFzczpgYnl0ZWFycmF5YCAqYiogYW5kIHJldHVybiB0aGUKLSAgICAgIG51bWJlciBvZiBieXRlcyByZWFkLiAgSWYgdGhlIG9iamVjdCBpcyBpbiBub24tYmxvY2tpbmcgbW9kZSBhbmQgbm8KLSAgICAgIGJ5dGVzIGFyZSBhdmFpbGFibGUsIGBgTm9uZWBgIGlzIHJldHVybmVkLgorICAgICAgbnVtYmVyIG9mIGJ5dGVzIHJlYWQuICBJZiB0aGUgb2JqZWN0IGlzIGluIG5vbi1ibG9ja2luZyBtb2RlIGFuZCBubyBieXRlcworICAgICAgYXJlIGF2YWlsYWJsZSwgYGBOb25lYGAgaXMgcmV0dXJuZWQuCiAKICAgIC4uIG1ldGhvZDo6IHdyaXRlKGIpCiAKQEAgLTQ2NSw5ICs0NjUsMTAgQEAKIAogICAgLi4gbWV0aG9kOjogcmVhZDEoc2l6ZT0tMSkKIAotICAgICAgUmVhZCBhbmQgcmV0dXJuIHVwIHRvICpzaXplKiBieXRlcywgd2l0aCBhdCBtb3N0IG9uZSBjYWxsIHRvIHRoZSB1bmRlcmx5aW5nCi0gICAgICByYXcgc3RyZWFtJ3MgOm1ldGg6YH5SYXdJT0Jhc2UucmVhZGAgbWV0aG9kLiAgVGhpcyBjYW4gYmUgdXNlZnVsIGlmIHlvdQotICAgICAgYXJlIGltcGxlbWVudGluZyB5b3VyIG93biBidWZmZXJpbmcgb24gdG9wIG9mIGEgOmNsYXNzOmBCdWZmZXJlZElPQmFzZWAKKyAgICAgIFJlYWQgYW5kIHJldHVybiB1cCB0byAqc2l6ZSogYnl0ZXMsIHdpdGggYXQgbW9zdCBvbmUgY2FsbCB0byB0aGUKKyAgICAgIHVuZGVybHlpbmcgcmF3IHN0cmVhbSdzIDptZXRoOmB+UmF3SU9CYXNlLnJlYWRgIChvcgorICAgICAgOm1ldGg6YH5SYXdJT0Jhc2UucmVhZGludG9gKSBtZXRob2QuICBUaGlzIGNhbiBiZSB1c2VmdWwgaWYgeW91IGFyZQorICAgICAgaW1wbGVtZW50aW5nIHlvdXIgb3duIGJ1ZmZlcmluZyBvbiB0b3Agb2YgYSA6Y2xhc3M6YEJ1ZmZlcmVkSU9CYXNlYAogICAgICAgb2JqZWN0LgogCiAgICAuLiBtZXRob2Q6OiByZWFkaW50byhiKQpAQCAtNDc4LDggKzQ3OSwxOSBAQAogICAgICAgTGlrZSA6bWV0aDpgcmVhZGAsIG11bHRpcGxlIHJlYWRzIG1heSBiZSBpc3N1ZWQgdG8gdGhlIHVuZGVybHlpbmcgcmF3CiAgICAgICBzdHJlYW0sIHVubGVzcyB0aGUgbGF0dGVyIGlzIGludGVyYWN0aXZlLgogCi0gICAgICBBIDpleGM6YEJsb2NraW5nSU9FcnJvcmAgaXMgcmFpc2VkIGlmIHRoZSB1bmRlcmx5aW5nIHJhdyBzdHJlYW0gaXMgaW4KLSAgICAgIG5vbiBibG9ja2luZy1tb2RlLCBhbmQgaGFzIG5vIGRhdGEgYXZhaWxhYmxlIGF0IHRoZSBtb21lbnQuCisgICAgICBBIDpleGM6YEJsb2NraW5nSU9FcnJvcmAgaXMgcmFpc2VkIGlmIHRoZSB1bmRlcmx5aW5nIHJhdyBzdHJlYW0gaXMgaW4gbm9uCisgICAgICBibG9ja2luZy1tb2RlLCBhbmQgaGFzIG5vIGRhdGEgYXZhaWxhYmxlIGF0IHRoZSBtb21lbnQuCisKKyAgIC4uIG1ldGhvZDo6IHJlYWRpbnRvMShiKQorCisgICAgICBSZWFkIHVwIHRvIGBgbGVuKGIpYGAgYnl0ZXMgaW50byBieXRlYXJyYXkgKmIqLCAsdXNpbmcgYXQgbW9zdCBvbmUgY2FsbCB0bworICAgICAgdGhlIHVuZGVybHlpbmcgcmF3IHN0cmVhbSdzIDptZXRoOmB+UmF3SU9CYXNlLnJlYWRgIChvcgorICAgICAgOm1ldGg6YH5SYXdJT0Jhc2UucmVhZGludG9gKSBtZXRob2QuIFJldHVybiB0aGUgbnVtYmVyIG9mIGJ5dGVzIHJlYWQuCisKKyAgICAgIEEgOmV4YzpgQmxvY2tpbmdJT0Vycm9yYCBpcyByYWlzZWQgaWYgdGhlIHVuZGVybHlpbmcgcmF3IHN0cmVhbSBpcyBpbiBub24KKyAgICAgIGJsb2NraW5nLW1vZGUsIGFuZCBoYXMgbm8gZGF0YSBhdmFpbGFibGUgYXQgdGhlIG1vbWVudC4KKworICAgICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CiAKICAgIC4uIG1ldGhvZDo6IHdyaXRlKGIpCiAKQEAgLTUwNyw5ICs1MTksMTIgQEAKICAgIFRoZSAqbmFtZSogY2FuIGJlIG9uZSBvZiB0d28gdGhpbmdzOgogCiAgICAqIGEgY2hhcmFjdGVyIHN0cmluZyBvciA6Y2xhc3M6YGJ5dGVzYCBvYmplY3QgcmVwcmVzZW50aW5nIHRoZSBwYXRoIHRvIHRoZQotICAgICBmaWxlIHdoaWNoIHdpbGwgYmUgb3BlbmVkOworICAgICBmaWxlIHdoaWNoIHdpbGwgYmUgb3BlbmVkLiBJbiB0aGlzIGNhc2UgY2xvc2VmZCBtdXN0IGJlIFRydWUgKHRoZSBkZWZhdWx0KQorICAgICBvdGhlcndpc2UgYW4gZXJyb3Igd2lsbCBiZSByYWlzZWQuCiAgICAqIGFuIGludGVnZXIgcmVwcmVzZW50aW5nIHRoZSBudW1iZXIgb2YgYW4gZXhpc3RpbmcgT1MtbGV2ZWwgZmlsZSBkZXNjcmlwdG9yCi0gICAgIHRvIHdoaWNoIHRoZSByZXN1bHRpbmcgOmNsYXNzOmBGaWxlSU9gIG9iamVjdCB3aWxsIGdpdmUgYWNjZXNzLgorICAgICB0byB3aGljaCB0aGUgcmVzdWx0aW5nIDpjbGFzczpgRmlsZUlPYCBvYmplY3Qgd2lsbCBnaXZlIGFjY2Vzcy4gV2hlbiB0aGUKKyAgICAgRmlsZUlPIG9iamVjdCBpcyBjbG9zZWQgdGhpcyBmZCB3aWxsIGJlIGNsb3NlZCBhcyB3ZWxsLCB1bmxlc3MgKmNsb3NlZmQqCisgICAgIGlzIHNldCB0byBgYEZhbHNlYGAuCiAKICAgIFRoZSAqbW9kZSogY2FuIGJlIGBgJ3InYGAsIGBgJ3cnYGAsIGBgJ3gnYGAgb3IgYGAnYSdgYCBmb3IgcmVhZGluZwogICAgKGRlZmF1bHQpLCB3cml0aW5nLCBleGNsdXNpdmUgY3JlYXRpb24gb3IgYXBwZW5kaW5nLiBUaGUgZmlsZSB3aWxsIGJlCkBAIC01OTgsNiArNjEzLDExIEBACiAKICAgICAgIEluIDpjbGFzczpgQnl0ZXNJT2AsIHRoaXMgaXMgdGhlIHNhbWUgYXMgOm1ldGg6YHJlYWRgLgogCisgICAuLiBtZXRob2Q6OiByZWFkaW50bzEoKQorCisgICAgICBJbiA6Y2xhc3M6YEJ5dGVzSU9gLCB0aGlzIGlzIHRoZSBzYW1lIGFzIDptZXRoOmByZWFkaW50b2AuCisKKyAgICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQogCiAuLiBjbGFzczo6IEJ1ZmZlcmVkUmVhZGVyKHJhdywgYnVmZmVyX3NpemU9REVGQVVMVF9CVUZGRVJfU0laRSkKIApAQCAtODA3LDExICs4MjcsMTMgQEAKICAgIGV4Y2VwdGlvbiBpZiB0aGVyZSBpcyBhbiBlbmNvZGluZyBlcnJvciAodGhlIGRlZmF1bHQgb2YgYGBOb25lYGAgaGFzIHRoZSBzYW1lCiAgICBlZmZlY3QpLCBvciBwYXNzIGBgJ2lnbm9yZSdgYCB0byBpZ25vcmUgZXJyb3JzLiAgKE5vdGUgdGhhdCBpZ25vcmluZyBlbmNvZGluZwogICAgZXJyb3JzIGNhbiBsZWFkIHRvIGRhdGEgbG9zcy4pICBgYCdyZXBsYWNlJ2BgIGNhdXNlcyBhIHJlcGxhY2VtZW50IG1hcmtlcgotICAgKHN1Y2ggYXMgYGAnPydgYCkgdG8gYmUgaW5zZXJ0ZWQgd2hlcmUgdGhlcmUgaXMgbWFsZm9ybWVkIGRhdGEuICBXaGVuCi0gICB3cml0aW5nLCBgYCd4bWxjaGFycmVmcmVwbGFjZSdgYCAocmVwbGFjZSB3aXRoIHRoZSBhcHByb3ByaWF0ZSBYTUwgY2hhcmFjdGVyCi0gICByZWZlcmVuY2UpIG9yIGBgJ2JhY2tzbGFzaHJlcGxhY2UnYGAgKHJlcGxhY2Ugd2l0aCBiYWNrc2xhc2hlZCBlc2NhcGUKLSAgIHNlcXVlbmNlcykgY2FuIGJlIHVzZWQuICBBbnkgb3RoZXIgZXJyb3IgaGFuZGxpbmcgbmFtZSB0aGF0IGhhcyBiZWVuCi0gICByZWdpc3RlcmVkIHdpdGggOmZ1bmM6YGNvZGVjcy5yZWdpc3Rlcl9lcnJvcmAgaXMgYWxzbyB2YWxpZC4KKyAgIChzdWNoIGFzIGBgJz8nYGApIHRvIGJlIGluc2VydGVkIHdoZXJlIHRoZXJlIGlzIG1hbGZvcm1lZCBkYXRhLgorICAgYGAnYmFja3NsYXNocmVwbGFjZSdgYCBjYXVzZXMgbWFsZm9ybWVkIGRhdGEgdG8gYmUgcmVwbGFjZWQgYnkgYQorICAgYmFja3NsYXNoZWQgZXNjYXBlIHNlcXVlbmNlLiAgV2hlbiB3cml0aW5nLCBgYCd4bWxjaGFycmVmcmVwbGFjZSdgYAorICAgKHJlcGxhY2Ugd2l0aCB0aGUgYXBwcm9wcmlhdGUgWE1MIGNoYXJhY3RlciByZWZlcmVuY2UpICBvciBgYCduYW1lcmVwbGFjZSdgYAorICAgKHJlcGxhY2Ugd2l0aCBgYFxOey4uLn1gYCBlc2NhcGUgc2VxdWVuY2VzKSBjYW4gYmUgdXNlZC4gIEFueSBvdGhlciBlcnJvcgorICAgaGFuZGxpbmcgbmFtZSB0aGF0IGhhcyBiZWVuIHJlZ2lzdGVyZWQgd2l0aAorICAgOmZ1bmM6YGNvZGVjcy5yZWdpc3Rlcl9lcnJvcmAgaXMgYWxzbyB2YWxpZC4KIAogICAgLi4gaW5kZXg6OgogICAgICAgc2luZ2xlOiB1bml2ZXJzYWwgbmV3bGluZXM7IGlvLlRleHRJT1dyYXBwZXIgY2xhc3MKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2lwYWRkcmVzcy5yc3QgYi9Eb2MvbGlicmFyeS9pcGFkZHJlc3MucnN0CmluZGV4IGNhODc5ODAuLjdiNTk0NDAgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2lwYWRkcmVzcy5yc3QKKysrIGIvRG9jL2xpYnJhcnkvaXBhZGRyZXNzLnJzdApAQCAtMTAzLDcgKzEwMyw3IEBACiAgICAxLiBBIHN0cmluZyBpbiBkZWNpbWFsLWRvdCBub3RhdGlvbiwgY29uc2lzdGluZyBvZiBmb3VyIGRlY2ltYWwgaW50ZWdlcnMgaW4KICAgICAgIHRoZSBpbmNsdXNpdmUgcmFuZ2UgMC0yNTUsIHNlcGFyYXRlZCBieSBkb3RzIChlLmcuIGBgMTkyLjE2OC4wLjFgYCkuIEVhY2gKICAgICAgIGludGVnZXIgcmVwcmVzZW50cyBhbiBvY3RldCAoYnl0ZSkgaW4gdGhlIGFkZHJlc3MuIExlYWRpbmcgemVyb2VzIGFyZQotICAgICAgdG9sZXJhdGVkIG9ubHkgZm9yIHZhbHVlcyBsZXNzIHRoZW4gOCAoYXMgdGhlcmUgaXMgbm8gYW1iaWd1aXR5CisgICAgICB0b2xlcmF0ZWQgb25seSBmb3IgdmFsdWVzIGxlc3MgdGhhbiA4IChhcyB0aGVyZSBpcyBubyBhbWJpZ3VpdHkKICAgICAgIGJldHdlZW4gdGhlIGRlY2ltYWwgYW5kIG9jdGFsIGludGVycHJldGF0aW9ucyBvZiBzdWNoIHN0cmluZ3MpLgogICAgMi4gQW4gaW50ZWdlciB0aGF0IGZpdHMgaW50byAzMiBiaXRzLgogICAgMy4gQW4gaW50ZWdlciBwYWNrZWQgaW50byBhIDpjbGFzczpgYnl0ZXNgIG9iamVjdCBvZiBsZW5ndGggNCAobW9zdApAQCAtMTQ2LDYgKzE0NiwyMCBAQAogICAgICAgdGhlIGFwcHJvcHJpYXRlIGxlbmd0aCAobW9zdCBzaWduaWZpY2FudCBvY3RldCBmaXJzdCkuIFRoaXMgaXMgNCBieXRlcwogICAgICAgZm9yIElQdjQgYW5kIDE2IGJ5dGVzIGZvciBJUHY2LgogCisgICAuLiBhdHRyaWJ1dGU6OiByZXZlcnNlX3BvaW50ZXIKKworICAgICAgVGhlIG5hbWUgb2YgdGhlIHJldmVyc2UgRE5TIFBUUiByZWNvcmQgZm9yIHRoZSBJUCBhZGRyZXNzLCBlLmcuOjoKKworICAgICAgICAgID4+PiBpcGFkZHJlc3MuaXBfYWRkcmVzcygiMTI3LjAuMC4xIikucmV2ZXJzZV9wb2ludGVyCisgICAgICAgICAgJzEuMC4wLjEyNy5pbi1hZGRyLmFycGEnCisgICAgICAgICAgPj4+IGlwYWRkcmVzcy5pcF9hZGRyZXNzKCIyMDAxOmRiODo6MSIpLnJldmVyc2VfcG9pbnRlcgorICAgICAgICAgICcxLjAuMC4wLjAuMC4wLjAuMC4wLjAuMC4wLjAuMC4wLjAuMC4wLjAuMC4wLjAuMC44LmIuZC4wLjEuMC4wLjIuaXA2LmFycGEnCisKKyAgICAgIFRoaXMgaXMgdGhlIG5hbWUgdGhhdCBjb3VsZCBiZSB1c2VkIGZvciBwZXJmb3JtaW5nIGEgUFRSIGxvb2t1cCwgbm90IHRoZQorICAgICAgcmVzb2x2ZWQgaG9zdG5hbWUgaXRzZWxmLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKKwogICAgLi4gYXR0cmlidXRlOjogaXNfbXVsdGljYXN0CiAKICAgICAgIGBgVHJ1ZWBgIGlmIHRoZSBhZGRyZXNzIGlzIHJlc2VydmVkIGZvciBtdWx0aWNhc3QgdXNlLiAgU2VlCkBAIC0yMjYsNiArMjQwLDcgQEAKICAgIDpjbGFzczpgSVB2NEFkZHJlc3NgIGNsYXNzOgogCiAgICAuLiBhdHRyaWJ1dGU6OiBwYWNrZWQKKyAgIC4uIGF0dHJpYnV0ZTo6IHJldmVyc2VfcG9pbnRlcgogICAgLi4gYXR0cmlidXRlOjogdmVyc2lvbgogICAgLi4gYXR0cmlidXRlOjogbWF4X3ByZWZpeGxlbgogICAgLi4gYXR0cmlidXRlOjogaXNfbXVsdGljYXN0CkBAIC0zNzcsNiArMzkyLDEyIEBACiAgICAzLiBBbiBpbnRlZ2VyIHBhY2tlZCBpbnRvIGEgOmNsYXNzOmBieXRlc2Agb2JqZWN0IG9mIGxlbmd0aCA0LCBiaWctZW5kaWFuLgogICAgICAgVGhlIGludGVycHJldGF0aW9uIGlzIHNpbWlsYXIgdG8gYW4gaW50ZWdlciAqYWRkcmVzcyouCiAKKyAgIDQuIEEgdHdvLXR1cGxlIG9mIGFuIGFkZHJlc3MgZGVzY3JpcHRpb24gYW5kIGEgbmV0bWFzaywgd2hlcmUgdGhlIGFkZHJlc3MKKyAgICAgIGRlc2NyaXB0aW9uIGlzIGVpdGhlciBhIHN0cmluZywgYSAzMi1iaXRzIGludGVnZXIsIGEgNC1ieXRlcyBwYWNrZWQKKyAgICAgIGludGVnZXIsIG9yIGFuIGV4aXN0aW5nIElQdjRBZGRyZXNzIG9iamVjdDsgYW5kIHRoZSBuZXRtYXNrIGlzIGVpdGhlcgorICAgICAgYW4gaW50ZWdlciByZXByZXNlbnRpbmcgdGhlIHByZWZpeCBsZW5ndGggKGUuZy4gYGAyNGBgKSBvciBhIHN0cmluZworICAgICAgcmVwcmVzZW50aW5nIHRoZSBwcmVmaXggbWFzayAoZS5nLiBgYDI1NS4yNTUuMjU1LjBgYCkuCisKICAgIEFuIDpleGM6YEFkZHJlc3NWYWx1ZUVycm9yYCBpcyByYWlzZWQgaWYgKmFkZHJlc3MqIGlzIG5vdCBhIHZhbGlkIElQdjQKICAgIGFkZHJlc3MuICBBIDpleGM6YE5ldG1hc2tWYWx1ZUVycm9yYCBpcyByYWlzZWQgaWYgdGhlIG1hc2sgaXMgbm90IHZhbGlkIGZvcgogICAgYW4gSVB2NCBhZGRyZXNzLgpAQCAtMzg5LDYgKzQxMCwxMCBAQAogICAgb2JqZWN0cyB3aWxsIHJhaXNlIDpleGM6YFR5cGVFcnJvcmAgaWYgdGhlIGFyZ3VtZW50J3MgSVAgdmVyc2lvbiBpcwogICAgaW5jb21wYXRpYmxlIHRvIGBgc2VsZmBgCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisKKyAgICAgIEFkZGVkIHRoZSB0d28tdHVwbGUgZm9ybSBmb3IgdGhlICphZGRyZXNzKiBjb25zdHJ1Y3RvciBwYXJhbWV0ZXIuCisKICAgIC4uIGF0dHJpYnV0ZTo6IHZlcnNpb24KICAgIC4uIGF0dHJpYnV0ZTo6IG1heF9wcmVmaXhsZW4KIApAQCAtNTUzLDYgKzU3OCwxMSBAQAogICAgMy4gQW4gaW50ZWdlciBwYWNrZWQgaW50byBhIDpjbGFzczpgYnl0ZXNgIG9iamVjdCBvZiBsZW5ndGggMTYsIGJpdC1lbmRpYW4uCiAgICAgICBUaGUgaW50ZXJwcmV0YXRpb24gaXMgc2ltaWxhciB0byBhbiBpbnRlZ2VyICphZGRyZXNzKi4KIAorICAgNC4gQSB0d28tdHVwbGUgb2YgYW4gYWRkcmVzcyBkZXNjcmlwdGlvbiBhbmQgYSBuZXRtYXNrLCB3aGVyZSB0aGUgYWRkcmVzcworICAgICAgZGVzY3JpcHRpb24gaXMgZWl0aGVyIGEgc3RyaW5nLCBhIDEyOC1iaXRzIGludGVnZXIsIGEgMTYtYnl0ZXMgcGFja2VkCisgICAgICBpbnRlZ2VyLCBvciBhbiBleGlzdGluZyBJUHY0QWRkcmVzcyBvYmplY3Q7IGFuZCB0aGUgbmV0bWFzayBpcyBhbgorICAgICAgaW50ZWdlciByZXByZXNlbnRpbmcgdGhlIHByZWZpeCBsZW5ndGguCisKICAgIEFuIDpleGM6YEFkZHJlc3NWYWx1ZUVycm9yYCBpcyByYWlzZWQgaWYgKmFkZHJlc3MqIGlzIG5vdCBhIHZhbGlkIElQdjYKICAgIGFkZHJlc3MuICBBIDpleGM6YE5ldG1hc2tWYWx1ZUVycm9yYCBpcyByYWlzZWQgaWYgdGhlIG1hc2sgaXMgbm90IHZhbGlkIGZvcgogICAgYW4gSVB2NiBhZGRyZXNzLgpAQCAtNTYxLDYgKzU5MSwxMCBAQAogICAgdGhlbiA6ZXhjOmBWYWx1ZUVycm9yYCBpcyByYWlzZWQuICBPdGhlcndpc2UsIHRoZSBob3N0IGJpdHMgYXJlIG1hc2tlZCBvdXQKICAgIHRvIGRldGVybWluZSB0aGUgYXBwcm9wcmlhdGUgbmV0d29yayBhZGRyZXNzLgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorCisgICAgICBBZGRlZCB0aGUgdHdvLXR1cGxlIGZvcm0gZm9yIHRoZSAqYWRkcmVzcyogY29uc3RydWN0b3IgcGFyYW1ldGVyLgorCiAgICAuLiBhdHRyaWJ1dGU6OiB2ZXJzaW9uCiAgICAuLiBhdHRyaWJ1dGU6OiBtYXhfcHJlZml4bGVuCiAgICAuLiBhdHRyaWJ1dGU6OiBpc19tdWx0aWNhc3QKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2l0ZXJ0b29scy5yc3QgYi9Eb2MvbGlicmFyeS9pdGVydG9vbHMucnN0CmluZGV4IGY0ODk1MzUuLjhjNzU5MmQgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2l0ZXJ0b29scy5yc3QKKysrIGIvRG9jL2xpYnJhcnkvaXRlcnRvb2xzLnJzdApAQCAtODcsMTAgKzg3LDE1IEBACiAKIC4uIGZ1bmN0aW9uOjogYWNjdW11bGF0ZShpdGVyYWJsZVssIGZ1bmNdKQogCi0gICAgTWFrZSBhbiBpdGVyYXRvciB0aGF0IHJldHVybnMgYWNjdW11bGF0ZWQgc3Vtcy4gRWxlbWVudHMgbWF5IGJlIGFueSBhZGRhYmxlCi0gICAgdHlwZSBpbmNsdWRpbmcgOmNsYXNzOmB+ZGVjaW1hbC5EZWNpbWFsYCBvciA6Y2xhc3M6YH5mcmFjdGlvbnMuRnJhY3Rpb25gLgotICAgIElmIHRoZSBvcHRpb25hbCAqZnVuYyogYXJndW1lbnQgaXMgc3VwcGxpZWQsIGl0IHNob3VsZCBiZSBhIGZ1bmN0aW9uIG9mIHR3bwotICAgIGFyZ3VtZW50cyBhbmQgaXQgd2lsbCBiZSB1c2VkIGluc3RlYWQgb2YgYWRkaXRpb24uCisgICAgTWFrZSBhbiBpdGVyYXRvciB0aGF0IHJldHVybnMgYWNjdW11bGF0ZWQgc3Vtcywgb3IgYWNjdW11bGF0ZWQKKyAgICByZXN1bHRzIG9mIG90aGVyIGJpbmFyeSBmdW5jdGlvbnMgKHNwZWNpZmllZCB2aWEgdGhlIG9wdGlvbmFsCisgICAgKmZ1bmMqIGFyZ3VtZW50KS4gIElmICpmdW5jKiBpcyBzdXBwbGllZCwgaXQgc2hvdWxkIGJlIGEgZnVuY3Rpb24KKyAgICBvZiB0d28gYXJndW1lbnRzLiBFbGVtZW50cyBvZiB0aGUgaW5wdXQgKml0ZXJhYmxlKiBtYXkgYmUgYW55IHR5cGUKKyAgICB0aGF0IGNhbiBiZSBhY2NlcHRlZCBhcyBhcmd1bWVudHMgdG8gKmZ1bmMqLiAoRm9yIGV4YW1wbGUsIHdpdGgKKyAgICB0aGUgZGVmYXVsdCBvcGVyYXRpb24gb2YgYWRkaXRpb24sIGVsZW1lbnRzIG1heSBiZSBhbnkgYWRkYWJsZQorICAgIHR5cGUgaW5jbHVkaW5nIDpjbGFzczpgfmRlY2ltYWwuRGVjaW1hbGAgb3IKKyAgICA6Y2xhc3M6YH5mcmFjdGlvbnMuRnJhY3Rpb25gLikgSWYgdGhlIGlucHV0IGl0ZXJhYmxlIGlzIGVtcHR5LCB0aGUKKyAgICBvdXRwdXQgaXRlcmFibGUgd2lsbCBhbHNvIGJlIGVtcHR5LgogCiAgICAgRXF1aXZhbGVudCB0bzo6CiAKQEAgLTk5LDcgKzEwNCwxMCBAQAogICAgICAgICAgICAgIyBhY2N1bXVsYXRlKFsxLDIsMyw0LDVdKSAtLT4gMSAzIDYgMTAgMTUKICAgICAgICAgICAgICMgYWNjdW11bGF0ZShbMSwyLDMsNCw1XSwgb3BlcmF0b3IubXVsKSAtLT4gMSAyIDYgMjQgMTIwCiAgICAgICAgICAgICBpdCA9IGl0ZXIoaXRlcmFibGUpCi0gICAgICAgICAgICB0b3RhbCA9IG5leHQoaXQpCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgdG90YWwgPSBuZXh0KGl0KQorICAgICAgICAgICAgZXhjZXB0IFN0b3BJdGVyYXRpb246CisgICAgICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgICAgICB5aWVsZCB0b3RhbAogICAgICAgICAgICAgZm9yIGVsZW1lbnQgaW4gaXQ6CiAgICAgICAgICAgICAgICAgdG90YWwgPSBmdW5jKHRvdGFsLCBlbGVtZW50KQpAQCAtNDAwLDcgKzQwOCwxMCBAQAogICAgICAgICAgIGRlZiBfZ3JvdXBlcihzZWxmLCB0Z3RrZXkpOgogICAgICAgICAgICAgICB3aGlsZSBzZWxmLmN1cnJrZXkgPT0gdGd0a2V5OgogICAgICAgICAgICAgICAgICAgeWllbGQgc2VsZi5jdXJydmFsdWUKLSAgICAgICAgICAgICAgICAgIHNlbGYuY3VycnZhbHVlID0gbmV4dChzZWxmLml0KSAgICAjIEV4aXQgb24gU3RvcEl0ZXJhdGlvbgorICAgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICAgIHNlbGYuY3VycnZhbHVlID0gbmV4dChzZWxmLml0KQorICAgICAgICAgICAgICAgICAgZXhjZXB0IFN0b3BJdGVyYXRpb246CisgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgICAgICAgICAgICBzZWxmLmN1cnJrZXkgPSBzZWxmLmtleWZ1bmMoc2VsZi5jdXJydmFsdWUpCiAKIApAQCAtNDI0LDcgKzQzNSwxMCBAQAogICAgICAgICAgICMgaXNsaWNlKCdBQkNERUZHJywgMCwgTm9uZSwgMikgLS0+IEEgQyBFIEcKICAgICAgICAgICBzID0gc2xpY2UoKmFyZ3MpCiAgICAgICAgICAgaXQgPSBpdGVyKHJhbmdlKHMuc3RhcnQgb3IgMCwgcy5zdG9wIG9yIHN5cy5tYXhzaXplLCBzLnN0ZXAgb3IgMSkpCi0gICAgICAgICAgbmV4dGkgPSBuZXh0KGl0KQorICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgbmV4dGkgPSBuZXh0KGl0KQorICAgICAgICAgIGV4Y2VwdCBTdG9wSXRlcmF0aW9uOgorICAgICAgICAgICAgICByZXR1cm4KICAgICAgICAgICBmb3IgaSwgZWxlbWVudCBpbiBlbnVtZXJhdGUoaXRlcmFibGUpOgogICAgICAgICAgICAgICBpZiBpID09IG5leHRpOgogICAgICAgICAgICAgICAgICAgeWllbGQgZWxlbWVudApAQCAtNTgyLDcgKzU5NiwxMCBAQAogICAgICAgICAgICAgZGVmIGdlbihteWRlcXVlKToKICAgICAgICAgICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICAgICAgICAgICBpZiBub3QgbXlkZXF1ZTogICAgICAgICAgICAgIyB3aGVuIHRoZSBsb2NhbCBkZXF1ZSBpcyBlbXB0eQotICAgICAgICAgICAgICAgICAgICAgICAgbmV3dmFsID0gbmV4dChpdCkgICAgICAgIyBmZXRjaCBhIG5ldyB2YWx1ZSBhbmQKKyAgICAgICAgICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXd2YWwgPSBuZXh0KGl0KSAgICMgZmV0Y2ggYSBuZXcgdmFsdWUgYW5kCisgICAgICAgICAgICAgICAgICAgICAgICBleGNlcHQgU3RvcEl0ZXJhdGlvbjoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4KICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBkIGluIGRlcXVlczogICAgICAgICMgbG9hZCBpdCB0byBhbGwgdGhlIGRlcXVlcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQuYXBwZW5kKG5ld3ZhbCkKICAgICAgICAgICAgICAgICAgICAgeWllbGQgbXlkZXF1ZS5wb3BsZWZ0KCkKQEAgLTY1Nyw2ICs2NzQsMTEgQEAKICAgICAgICAiUmV0dXJuIGZ1bmN0aW9uKDApLCBmdW5jdGlvbigxKSwgLi4uIgogICAgICAgIHJldHVybiBtYXAoZnVuY3Rpb24sIGNvdW50KHN0YXJ0KSkKIAorICAgZGVmIHRhaWwobiwgaXRlcmFibGUpOgorICAgICAgICJSZXR1cm4gYW4gaXRlcmF0b3Igb3ZlciB0aGUgbGFzdCBuIGl0ZW1zIgorICAgICAgICMgdGFpbCgzLCAnQUJDREVGRycpIC0tPiBFIEYgRworICAgICAgIHJldHVybiBpdGVyKGNvbGxlY3Rpb25zLmRlcXVlKGl0ZXJhYmxlLCBtYXhsZW49bikpCisKICAgIGRlZiBjb25zdW1lKGl0ZXJhdG9yLCBuKToKICAgICAgICAiQWR2YW5jZSB0aGUgaXRlcmF0b3Igbi1zdGVwcyBhaGVhZC4gSWYgbiBpcyBub25lLCBjb25zdW1lIGVudGlyZWx5LiIKICAgICAgICAjIFVzZSBmdW5jdGlvbnMgdGhhdCBjb25zdW1lIGl0ZXJhdG9ycyBhdCBDIHNwZWVkLgpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvanNvbi5yc3QgYi9Eb2MvbGlicmFyeS9qc29uLnJzdAppbmRleCA2ZjVmOGIxLi40OWJiMDkwIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9qc29uLnJzdAorKysgYi9Eb2MvbGlicmFyeS9qc29uLnJzdApAQCAtMTA2LDYgKzEwNiw4IEBACiAgICAgJCBlY2hvICd7MS4yOjMuNH0nIHwgcHl0aG9uIC1tIGpzb24udG9vbAogICAgIEV4cGVjdGluZyBwcm9wZXJ0eSBuYW1lIGVuY2xvc2VkIGluIGRvdWJsZSBxdW90ZXM6IGxpbmUgMSBjb2x1bW4gMiAoY2hhciAxKQogCitTZWUgOnJlZjpganNvbi1jb21tYW5kbGluZWAgZm9yIGRldGFpbGVkIGRvY3VtZW50YXRpb24uCisKIC4uIGhpZ2hsaWdodDo6IHB5dGhvbjMKIAogLi4gbm90ZTo6CkBAIC0yNDgsNyArMjUwLDcgQEAKICAgIHdpbGwgYmUgcGFzc2VkIHRvIHRoZSBjb25zdHJ1Y3RvciBvZiB0aGUgY2xhc3MuCiAKICAgIElmIHRoZSBkYXRhIGJlaW5nIGRlc2VyaWFsaXplZCBpcyBub3QgYSB2YWxpZCBKU09OIGRvY3VtZW50LCBhCi0gICA6ZXhjOmBWYWx1ZUVycm9yYCB3aWxsIGJlIHJhaXNlZC4KKyAgIDpleGM6YEpTT05EZWNvZGVFcnJvcmAgd2lsbCBiZSByYWlzZWQuCiAKIC4uIGZ1bmN0aW9uOjogbG9hZHMocywgZW5jb2Rpbmc9Tm9uZSwgY2xzPU5vbmUsIG9iamVjdF9ob29rPU5vbmUsIHBhcnNlX2Zsb2F0PU5vbmUsIHBhcnNlX2ludD1Ob25lLCBwYXJzZV9jb25zdGFudD1Ob25lLCBvYmplY3RfcGFpcnNfaG9vaz1Ob25lLCAqKmt3KQogCkBAIC0yNTksNyArMjYxLDcgQEAKICAgICplbmNvZGluZyogd2hpY2ggaXMgaWdub3JlZCBhbmQgZGVwcmVjYXRlZC4KIAogICAgSWYgdGhlIGRhdGEgYmVpbmcgZGVzZXJpYWxpemVkIGlzIG5vdCBhIHZhbGlkIEpTT04gZG9jdW1lbnQsIGEKLSAgIDpleGM6YFZhbHVlRXJyb3JgIHdpbGwgYmUgcmFpc2VkLgorICAgOmV4YzpgSlNPTkRlY29kZUVycm9yYCB3aWxsIGJlIHJhaXNlZC4KIAogRW5jb2RlcnMgYW5kIERlY29kZXJzCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTMzMiwxMyArMzM0LDE2IEBACiAgICBgYCdcbidgYCwgYGAnXHInYGAgYW5kIGBgJ1wwJ2BgLgogCiAgICBJZiB0aGUgZGF0YSBiZWluZyBkZXNlcmlhbGl6ZWQgaXMgbm90IGEgdmFsaWQgSlNPTiBkb2N1bWVudCwgYQotICAgOmV4YzpgVmFsdWVFcnJvcmAgd2lsbCBiZSByYWlzZWQuCisgICA6ZXhjOmBKU09ORGVjb2RlRXJyb3JgIHdpbGwgYmUgcmFpc2VkLgogCiAgICAuLiBtZXRob2Q6OiBkZWNvZGUocykKIAogICAgICAgUmV0dXJuIHRoZSBQeXRob24gcmVwcmVzZW50YXRpb24gb2YgKnMqIChhIDpjbGFzczpgc3RyYCBpbnN0YW5jZQogICAgICAgY29udGFpbmluZyBhIEpTT04gZG9jdW1lbnQpCiAKKyAgICAgIDpleGM6YEpTT05EZWNvZGVFcnJvcmAgd2lsbCBiZSByYWlzZWQgaWYgdGhlIGdpdmVuIEpTT04gZG9jdW1lbnQgaXMgbm90CisgICAgICB2YWxpZC4KKwogICAgLi4gbWV0aG9kOjogcmF3X2RlY29kZShzKQogCiAgICAgICBEZWNvZGUgYSBKU09OIGRvY3VtZW50IGZyb20gKnMqIChhIDpjbGFzczpgc3RyYCBiZWdpbm5pbmcgd2l0aCBhCkBAIC00NjcsNiArNDcyLDM2IEBACiAgICAgICAgICAgICAgICAgbXlzb2NrZXQud3JpdGUoY2h1bmspCiAKIAorRXhjZXB0aW9ucworLS0tLS0tLS0tLQorCisuLiBleGNlcHRpb246OiBKU09ORGVjb2RlRXJyb3IobXNnLCBkb2MsIHBvcywgZW5kPU5vbmUpCisKKyAgICBTdWJjbGFzcyBvZiA6ZXhjOmBWYWx1ZUVycm9yYCB3aXRoIHRoZSBmb2xsb3dpbmcgYWRkaXRpb25hbCBhdHRyaWJ1dGVzOgorCisgICAgLi4gYXR0cmlidXRlOjogbXNnCisKKyAgICAgICAgVGhlIHVuZm9ybWF0dGVkIGVycm9yIG1lc3NhZ2UuCisKKyAgICAuLiBhdHRyaWJ1dGU6OiBkb2MKKworICAgICAgICBUaGUgSlNPTiBkb2N1bWVudCBiZWluZyBwYXJzZWQuCisKKyAgICAuLiBhdHRyaWJ1dGU6OiBwb3MKKworICAgICAgICBUaGUgc3RhcnQgaW5kZXggb2YgKmRvYyogd2hlcmUgcGFyc2luZyBmYWlsZWQuCisKKyAgICAuLiBhdHRyaWJ1dGU6OiBsaW5lbm8KKworICAgICAgICBUaGUgbGluZSBjb3JyZXNwb25kaW5nIHRvICpwb3MqLgorCisgICAgLi4gYXR0cmlidXRlOjogY29sbm8KKworICAgICAgICBUaGUgY29sdW1uIGNvcnJlc3BvbmRpbmcgdG8gKnBvcyouCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQorCisKIFN0YW5kYXJkIENvbXBsaWFuY2UgYW5kIEludGVyb3BlcmFiaWxpdHkKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIApAQCAtNTg4LDYgKzYyMyw2OCBAQAogd2hlbiBzZXJpYWxpemluZyBpbnN0YW5jZXMgb2YgImV4b3RpYyIgbnVtZXJpY2FsIHR5cGVzIHN1Y2ggYXMKIDpjbGFzczpgZGVjaW1hbC5EZWNpbWFsYC4KIAorLi4gaGlnaGxpZ2h0OjogYmFzaAorLi4gbW9kdWxlOjoganNvbi50b29sCisKKy4uIF9qc29uLWNvbW1hbmRsaW5lOgorCitDb21tYW5kIExpbmUgSW50ZXJmYWNlCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1RoZSA6bW9kOmBqc29uLnRvb2xgIG1vZHVsZSBwcm92aWRlcyBhIHNpbXBsZSBjb21tYW5kIGxpbmUgaW50ZXJmYWNlIHRvIHZhbGlkYXRlCithbmQgcHJldHR5LXByaW50IEpTT04gb2JqZWN0cy4KKworSWYgdGhlIG9wdGlvbmFsIGBgaW5maWxlYGAgYW5kIGBgb3V0ZmlsZWBgIGFyZ3VtZW50cyBhcmUgbm90CitzcGVjaWZpZWQsIDphdHRyOmBzeXMuc3RkaW5gIGFuZCA6YXR0cjpgc3lzLnN0ZG91dGAgd2lsbCBiZSB1c2VkIHJlc3BlY3RpdmVseTo6CisKKyAgICAkIGVjaG8gJ3sianNvbiI6ICJvYmoifScgfCBweXRob24gLW0ganNvbi50b29sCisgICAgeworICAgICAgICAianNvbiI6ICJvYmoiCisgICAgfQorICAgICQgZWNobyAnezEuMjozLjR9JyB8IHB5dGhvbiAtbSBqc29uLnRvb2wKKyAgICBFeHBlY3RpbmcgcHJvcGVydHkgbmFtZSBlbmNsb3NlZCBpbiBkb3VibGUgcXVvdGVzOiBsaW5lIDEgY29sdW1uIDIgKGNoYXIgMSkKKworLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgIFRoZSBvdXRwdXQgaXMgbm93IGluIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBpbnB1dC4gVXNlIHRoZQorICAgOm9wdGlvbjpgLS1zb3J0LWtleXNgIG9wdGlvbiB0byBzb3J0IHRoZSBvdXRwdXQgb2YgZGljdGlvbmFyaWVzCisgICBhbHBoYWJldGljYWxseSBieSBrZXkuCisKK0NvbW1hbmQgbGluZSBvcHRpb25zCiteXl5eXl5eXl5eXl5eXl5eXl5eXgorCisuLiBjbWRvcHRpb246OiBpbmZpbGUKKworICAgVGhlIEpTT04gZmlsZSB0byBiZSB2YWxpZGF0ZWQgb3IgcHJldHR5LXByaW50ZWQ6OgorCisgICAgICAkIHB5dGhvbiAtbSBqc29uLnRvb2wgbXBfZmlsbXMuanNvbgorICAgICAgWworICAgICAgICAgIHsKKyAgICAgICAgICAgICAgInRpdGxlIjogIkFuZCBOb3cgZm9yIFNvbWV0aGluZyBDb21wbGV0ZWx5IERpZmZlcmVudCIsCisgICAgICAgICAgICAgICJ5ZWFyIjogMTk3MQorICAgICAgICAgIH0sCisgICAgICAgICAgeworICAgICAgICAgICAgICAidGl0bGUiOiAiTW9udHkgUHl0aG9uIGFuZCB0aGUgSG9seSBHcmFpbCIsCisgICAgICAgICAgICAgICJ5ZWFyIjogMTk3NQorICAgICAgICAgIH0KKyAgICAgIF0KKworICAgSWYgKmluZmlsZSogaXMgbm90IHNwZWNpZmllZCwgcmVhZCBmcm9tIDphdHRyOmBzeXMuc3RkaW5gLgorCisuLiBjbWRvcHRpb246OiBvdXRmaWxlCisKKyAgIFdyaXRlIHRoZSBvdXRwdXQgb2YgdGhlICppbmZpbGUqIHRvIHRoZSBnaXZlbiAqb3V0ZmlsZSouIE90aGVyd2lzZSwgd3JpdGUgaXQKKyAgIHRvIDphdHRyOmBzeXMuc3Rkb3V0YC4KKworLi4gY21kb3B0aW9uOjogLS1zb3J0LWtleXMKKworICAgU29ydCB0aGUgb3V0cHV0IG9mIGRpY3Rpb25hcmllcyBhbHBoYWJldGljYWxseSBieSBrZXkuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQorCisuLiBjbWRvcHRpb246OiAtaCwgLS1oZWxwCisKKyAgIFNob3cgdGhlIGhlbHAgbWVzc2FnZS4KKwogCiAuLiBydWJyaWM6OiBGb290bm90ZXMKIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvbG9jYWxlLnJzdCBiL0RvYy9saWJyYXJ5L2xvY2FsZS5yc3QKaW5kZXggOTYwMDE5My4uYmM3ZjVmOSAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvbG9jYWxlLnJzdAorKysgYi9Eb2MvbGlicmFyeS9sb2NhbGUucnN0CkBAIC0zODcsNiArMzg3LDE0IEBACiAgICBgYHN0cihmbG9hdClgYCwgYnV0IHRha2VzIHRoZSBkZWNpbWFsIHBvaW50IGludG8gYWNjb3VudC4KIAogCisuLiBmdW5jdGlvbjo6IGRlbG9jYWxpemUoc3RyaW5nKQorCisgICAgQ29udmVydHMgYSBzdHJpbmcgaW50byBhIG5vcm1hbGl6ZWQgbnVtYmVyIHN0cmluZywgZm9sbG93aW5nIHRoZQorICAgIDpjb25zdDpgTENfTlVNRVJJQ2Agc2V0dGluZ3MuCisKKyAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKKworCiAuLiBmdW5jdGlvbjo6IGF0b2Yoc3RyaW5nKQogCiAgICBDb252ZXJ0cyBhIHN0cmluZyB0byBhIGZsb2F0aW5nIHBvaW50IG51bWJlciwgZm9sbG93aW5nIHRoZSA6Y29uc3Q6YExDX05VTUVSSUNgCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9sb2dnaW5nLmhhbmRsZXJzLnJzdCBiL0RvYy9saWJyYXJ5L2xvZ2dpbmcuaGFuZGxlcnMucnN0CmluZGV4IDYzYWJhMWUuLjQ4YzU3Y2YgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2xvZ2dpbmcuaGFuZGxlcnMucnN0CisrKyBiL0RvYy9saWJyYXJ5L2xvZ2dpbmcuaGFuZGxlcnMucnN0CkBAIC00MzYsNyArNDM2LDcgQEAKICAgIC4uIG1ldGhvZDo6IGNyZWF0ZVNvY2tldCgpCiAKICAgICAgIFRyaWVzIHRvIGNyZWF0ZSBhIHNvY2tldDsgb24gZmFpbHVyZSwgdXNlcyBhbiBleHBvbmVudGlhbCBiYWNrLW9mZgotICAgICAgYWxnb3JpdGhtLiAgT24gaW50aWFsIGZhaWx1cmUsIHRoZSBoYW5kbGVyIHdpbGwgZHJvcCB0aGUgbWVzc2FnZSBpdCB3YXMKKyAgICAgIGFsZ29yaXRobS4gIE9uIGluaXRpYWwgZmFpbHVyZSwgdGhlIGhhbmRsZXIgd2lsbCBkcm9wIHRoZSBtZXNzYWdlIGl0IHdhcwogICAgICAgdHJ5aW5nIHRvIHNlbmQuICBXaGVuIHN1YnNlcXVlbnQgbWVzc2FnZXMgYXJlIGhhbmRsZWQgYnkgdGhlIHNhbWUKICAgICAgIGluc3RhbmNlLCBpdCB3aWxsIG5vdCB0cnkgY29ubmVjdGluZyB1bnRpbCBzb21lIHRpbWUgaGFzIHBhc3NlZC4gIFRoZQogICAgICAgZGVmYXVsdCBwYXJhbWV0ZXJzIGFyZSBzdWNoIHRoYXQgdGhlIGluaXRpYWwgZGVsYXkgaXMgb25lIHNlY29uZCwgYW5kIGlmCkBAIC04NTMsNyArODUzLDcgQEAKICAgIGNyZWRlbnRpYWxzLCB5b3Ugc2hvdWxkIGFsc28gc3BlY2lmeSBzZWN1cmU9VHJ1ZSBzbyB0aGF0IHlvdXIgdXNlcmlkIGFuZAogICAgcGFzc3dvcmQgYXJlIG5vdCBwYXNzZWQgaW4gY2xlYXJ0ZXh0IGFjcm9zcyB0aGUgd2lyZS4KIAotICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjQuMworICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKICAgICAgIFRoZSAqY29udGV4dCogcGFyYW1ldGVyIHdhcyBhZGRlZC4KIAogICAgLi4gbWV0aG9kOjogbWFwTG9nUmVjb3JkKHJlY29yZCkKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2xvZ2dpbmcucnN0IGIvRG9jL2xpYnJhcnkvbG9nZ2luZy5yc3QKaW5kZXggOTY4NjFhNy4uNzkxNWMyNyAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvbG9nZ2luZy5yc3QKKysrIGIvRG9jL2xpYnJhcnkvbG9nZ2luZy5yc3QKQEAgLTE1OSwxMSArMTU5LDEzIEBACiAgICAqbXNnKiB1c2luZyB0aGUgc3RyaW5nIGZvcm1hdHRpbmcgb3BlcmF0b3IuIChOb3RlIHRoYXQgdGhpcyBtZWFucyB0aGF0IHlvdSBjYW4KICAgIHVzZSBrZXl3b3JkcyBpbiB0aGUgZm9ybWF0IHN0cmluZywgdG9nZXRoZXIgd2l0aCBhIHNpbmdsZSBkaWN0aW9uYXJ5IGFyZ3VtZW50LikKIAotICAgVGhlcmUgYXJlIHRocmVlIGtleXdvcmQgYXJndW1lbnRzIGluICprd2FyZ3MqIHdoaWNoIGFyZSBpbnNwZWN0ZWQ6ICpleGNfaW5mbyoKLSAgIHdoaWNoLCBpZiBpdCBkb2VzIG5vdCBldmFsdWF0ZSBhcyBmYWxzZSwgY2F1c2VzIGV4Y2VwdGlvbiBpbmZvcm1hdGlvbiB0byBiZQorICAgVGhlcmUgYXJlIHRocmVlIGtleXdvcmQgYXJndW1lbnRzIGluICprd2FyZ3MqIHdoaWNoIGFyZSBpbnNwZWN0ZWQ6CisgICAqZXhjX2luZm8qLCAqc3RhY2tfaW5mbyosIGFuZCAqZXh0cmEqLgorCisgICBJZiAqZXhjX2luZm8qIGRvZXMgbm90IGV2YWx1YXRlIGFzIGZhbHNlLCBpdCBjYXVzZXMgZXhjZXB0aW9uIGluZm9ybWF0aW9uIHRvIGJlCiAgICBhZGRlZCB0byB0aGUgbG9nZ2luZyBtZXNzYWdlLiBJZiBhbiBleGNlcHRpb24gdHVwbGUgKGluIHRoZSBmb3JtYXQgcmV0dXJuZWQgYnkKLSAgIDpmdW5jOmBzeXMuZXhjX2luZm9gKSBpcyBwcm92aWRlZCwgaXQgaXMgdXNlZDsgb3RoZXJ3aXNlLCA6ZnVuYzpgc3lzLmV4Y19pbmZvYAotICAgaXMgY2FsbGVkIHRvIGdldCB0aGUgZXhjZXB0aW9uIGluZm9ybWF0aW9uLgorICAgOmZ1bmM6YHN5cy5leGNfaW5mb2ApIG9yIGFuIGV4Y2VwdGlvbiBpbnN0YW5jZSBpcyBwcm92aWRlZCwgaXQgaXMgdXNlZDsKKyAgIG90aGVyd2lzZSwgOmZ1bmM6YHN5cy5leGNfaW5mb2AgaXMgY2FsbGVkIHRvIGdldCB0aGUgZXhjZXB0aW9uIGluZm9ybWF0aW9uLgogCiAgICBUaGUgc2Vjb25kIG9wdGlvbmFsIGtleXdvcmQgYXJndW1lbnQgaXMgKnN0YWNrX2luZm8qLCB3aGljaCBkZWZhdWx0cyB0bwogICAgYGBGYWxzZWBgLiBJZiB0cnVlLCBzdGFjayBpbmZvcm1hdGlvbiBpcyBhZGRlZCB0byB0aGUgbG9nZ2luZwpAQCAtMjIwLDYgKzIyMiw5IEBACiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjIKICAgICAgIFRoZSAqc3RhY2tfaW5mbyogcGFyYW1ldGVyIHdhcyBhZGRlZC4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgIFRoZSAqZXhjX2luZm8qIHBhcmFtZXRlciBjYW4gbm93IGFjY2VwdCBleGNlcHRpb24gaW5zdGFuY2VzLgorCiAKIC4uIG1ldGhvZDo6IExvZ2dlci5pbmZvKG1zZywgKmFyZ3MsICoqa3dhcmdzKQogCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9sem1hLnJzdCBiL0RvYy9saWJyYXJ5L2x6bWEucnN0CmluZGV4IGI3MTA1MWQuLjk5ZjA3ZGMgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2x6bWEucnN0CisrKyBiL0RvYy9saWJyYXJ5L2x6bWEucnN0CkBAIC0yMjEsMTMgKzIyMSwzMiBAQAogICAgICAgZGVjb21wcmVzcyBhIG11bHRpLXN0cmVhbSBpbnB1dCB3aXRoIDpjbGFzczpgTFpNQURlY29tcHJlc3NvcmAsIHlvdSBtdXN0CiAgICAgICBjcmVhdGUgYSBuZXcgZGVjb21wcmVzc29yIGZvciBlYWNoIHN0cmVhbS4KIAotICAgLi4gbWV0aG9kOjogZGVjb21wcmVzcyhkYXRhKQorICAgLi4gbWV0aG9kOjogZGVjb21wcmVzcyhkYXRhLCBtYXhfbGVuZ3RoPS0xKQogCi0gICAgICBEZWNvbXByZXNzICpkYXRhKiAoYSA6Y2xhc3M6YGJ5dGVzYCBvYmplY3QpLCByZXR1cm5pbmcgYSA6Y2xhc3M6YGJ5dGVzYAotICAgICAgb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGRlY29tcHJlc3NlZCBkYXRhIGZvciBhdCBsZWFzdCBwYXJ0IG9mIHRoZSBpbnB1dC4KLSAgICAgIFNvbWUgb2YgKmRhdGEqIG1heSBiZSBidWZmZXJlZCBpbnRlcm5hbGx5LCBmb3IgdXNlIGluIGxhdGVyIGNhbGxzIHRvCi0gICAgICA6bWV0aDpgZGVjb21wcmVzc2AuIFRoZSByZXR1cm5lZCBkYXRhIHNob3VsZCBiZSBjb25jYXRlbmF0ZWQgd2l0aCB0aGUKLSAgICAgIG91dHB1dCBvZiBhbnkgcHJldmlvdXMgY2FsbHMgdG8gOm1ldGg6YGRlY29tcHJlc3NgLgorICAgICAgRGVjb21wcmVzcyAqZGF0YSogKGEgOnRlcm06YGJ5dGVzLWxpa2Ugb2JqZWN0YCksIHJldHVybmluZworICAgICAgdW5jb21wcmVzc2VkIGRhdGEgYXMgYnl0ZXMuIFNvbWUgb2YgKmRhdGEqIG1heSBiZSBidWZmZXJlZAorICAgICAgaW50ZXJuYWxseSwgZm9yIHVzZSBpbiBsYXRlciBjYWxscyB0byA6bWV0aDpgZGVjb21wcmVzc2AuIFRoZQorICAgICAgcmV0dXJuZWQgZGF0YSBzaG91bGQgYmUgY29uY2F0ZW5hdGVkIHdpdGggdGhlIG91dHB1dCBvZiBhbnkKKyAgICAgIHByZXZpb3VzIGNhbGxzIHRvIDptZXRoOmBkZWNvbXByZXNzYC4KKworICAgICAgSWYgKm1heF9sZW5ndGgqIGlzIG5vbm5lZ2F0aXZlLCByZXR1cm5zIGF0IG1vc3QgKm1heF9sZW5ndGgqCisgICAgICBieXRlcyBvZiBkZWNvbXByZXNzZWQgZGF0YS4gSWYgdGhpcyBsaW1pdCBpcyByZWFjaGVkIGFuZCBmdXJ0aGVyCisgICAgICBvdXRwdXQgY2FuIGJlIHByb2R1Y2VkLCB0aGUgOmF0dHI6YH4ubmVlZHNfaW5wdXRgIGF0dHJpYnV0ZSB3aWxsCisgICAgICBiZSBzZXQgdG8gYGBGYWxzZWBgLiBJbiB0aGlzIGNhc2UsIHRoZSBuZXh0IGNhbGwgdG8KKyAgICAgIDptZXRoOmB+LmRlY29tcHJlc3NgIG1heSBwcm92aWRlICpkYXRhKiBhcyBgYGInJ2BgIHRvIG9idGFpbgorICAgICAgbW9yZSBvZiB0aGUgb3V0cHV0LgorCisgICAgICBJZiBhbGwgb2YgdGhlIGlucHV0IGRhdGEgd2FzIGRlY29tcHJlc3NlZCBhbmQgcmV0dXJuZWQgKGVpdGhlcgorICAgICAgYmVjYXVzZSB0aGlzIHdhcyBsZXNzIHRoYW4gKm1heF9sZW5ndGgqIGJ5dGVzLCBvciBiZWNhdXNlCisgICAgICAqbWF4X2xlbmd0aCogd2FzIG5lZ2F0aXZlKSwgdGhlIDphdHRyOmB+Lm5lZWRzX2lucHV0YCBhdHRyaWJ1dGUKKyAgICAgIHdpbGwgYmUgc2V0IHRvIGBgVHJ1ZWBgLgorCisgICAgICBBdHRlbXB0aW5nIHRvIGRlY29tcHJlc3MgZGF0YSBhZnRlciB0aGUgZW5kIG9mIHN0cmVhbSBpcyByZWFjaGVkCisgICAgICByYWlzZXMgYW4gYEVPRkVycm9yYC4gIEFueSBkYXRhIGZvdW5kIGFmdGVyIHRoZSBlbmQgb2YgdGhlCisgICAgICBzdHJlYW0gaXMgaWdub3JlZCBhbmQgc2F2ZWQgaW4gdGhlIDphdHRyOmB+LnVudXNlZF9kYXRhYCBhdHRyaWJ1dGUuCisKKyAgICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICAgICBBZGRlZCB0aGUgKm1heF9sZW5ndGgqIHBhcmFtZXRlci4KIAogICAgLi4gYXR0cmlidXRlOjogY2hlY2sKIApAQCAtMjQ1LDYgKzI2NCwxMiBAQAogCiAgICAgICBCZWZvcmUgdGhlIGVuZCBvZiB0aGUgc3RyZWFtIGlzIHJlYWNoZWQsIHRoaXMgd2lsbCBiZSBgYGIiImBgLgogCisgICAuLiBhdHRyaWJ1dGU6OiBuZWVkc19pbnB1dAorCisgICAgICBgYEZhbHNlYGAgaWYgdGhlIDptZXRoOmAuZGVjb21wcmVzc2AgbWV0aG9kIGNhbiBwcm92aWRlIG1vcmUKKyAgICAgIGRlY29tcHJlc3NlZCBkYXRhIGJlZm9yZSByZXF1aXJpbmcgbmV3IHVuY29tcHJlc3NlZCBpbnB1dC4KKworICAgICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CiAKIC4uIGZ1bmN0aW9uOjogY29tcHJlc3MoZGF0YSwgZm9ybWF0PUZPUk1BVF9YWiwgY2hlY2s9LTEsIHByZXNldD1Ob25lLCBmaWx0ZXJzPU5vbmUpCiAKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L21hdGgucnN0IGIvRG9jL2xpYnJhcnkvbWF0aC5yc3QKaW5kZXggM2M0MTY3Mi4uZWRhMDA1NiAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvbWF0aC5yc3QKKysrIGIvRG9jL2xpYnJhcnkvbWF0aC5yc3QKQEAgLTM4Myw2ICszODMsMjIgQEAKICAgIFRoZSBtYXRoZW1hdGljYWwgY29uc3RhbnQgZSA9IDIuNzE4MjgxLi4uLCB0byBhdmFpbGFibGUgcHJlY2lzaW9uLgogCiAKKy4uIGRhdGE6OiBpbmYKKworICAgQSBmbG9hdGluZy1wb2ludCBwb3NpdGl2ZSBpbmZpbml0eS4gIChGb3IgbmVnYXRpdmUgaW5maW5pdHksIHVzZQorICAgYGAtbWF0aC5pbmZgYC4pICBFcXVpdmFsZW50IHRvIHRoZSBvdXRwdXQgb2YgYGBmbG9hdCgnaW5mJylgYC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CisKKworLi4gZGF0YTo6IG5hbgorCisgICBBIGZsb2F0aW5nLXBvaW50ICJub3QgYSBudW1iZXIiIChOYU4pIHZhbHVlLiAgRXF1aXZhbGVudCB0byB0aGUgb3V0cHV0IG9mCisgICBgYGZsb2F0KCduYW4nKWBgLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKKworCiAuLiBpbXBsLWRldGFpbDo6CiAKICAgIFRoZSA6bW9kOmBtYXRoYCBtb2R1bGUgY29uc2lzdHMgbW9zdGx5IG9mIHRoaW4gd3JhcHBlcnMgYXJvdW5kIHRoZSBwbGF0Zm9ybSBDCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9tdWx0aXByb2Nlc3NpbmcucnN0IGIvRG9jL2xpYnJhcnkvbXVsdGlwcm9jZXNzaW5nLnJzdAppbmRleCBlY2FjNWIwLi40YjgyOWFmIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9tdWx0aXByb2Nlc3NpbmcucnN0CisrKyBiL0RvYy9saWJyYXJ5L211bHRpcHJvY2Vzc2luZy5yc3QKQEAgLTEzNDQsNiArMTM0NCw5IEBACiAgICBOb3RlIHRoYXQgYWNjZXNzaW5nIHRoZSBjdHlwZXMgb2JqZWN0IHRocm91Z2ggdGhlIHdyYXBwZXIgY2FuIGJlIGEgbG90IHNsb3dlcgogICAgdGhhbiBhY2Nlc3NpbmcgdGhlIHJhdyBjdHlwZXMgb2JqZWN0LgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgU3luY2hyb25pemVkIG9iamVjdHMgc3VwcG9ydCB0aGUgOnRlcm06YGNvbnRleHQgbWFuYWdlcmAgcHJvdG9jb2wuCisKIAogVGhlIHRhYmxlIGJlbG93IGNvbXBhcmVzIHRoZSBzeW50YXggZm9yIGNyZWF0aW5nIHNoYXJlZCBjdHlwZXMgb2JqZWN0cyBmcm9tCiBzaGFyZWQgbWVtb3J5IHdpdGggdGhlIG5vcm1hbCBjdHlwZXMgc3ludGF4LiAgKEluIHRoZSB0YWJsZSBgYE15U3RydWN0YGAgaXMgc29tZQpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvb3BlcmF0b3IucnN0IGIvRG9jL2xpYnJhcnkvb3BlcmF0b3IucnN0CmluZGV4IGY5ZTJhM2QuLmMwMWU2M2IgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L29wZXJhdG9yLnJzdAorKysgYi9Eb2MvbGlicmFyeS9vcGVyYXRvci5yc3QKQEAgLTEzOCw2ICsxMzgsMTQgQEAKICAgIFJldHVybiBgYGEgKiBiYGAsIGZvciAqYSogYW5kICpiKiBudW1iZXJzLgogCiAKKy4uIGZ1bmN0aW9uOjogbWF0bXVsKGEsIGIpCisgICAgICAgICAgICAgIF9fbWF0bXVsX18oYSwgYikKKworICAgUmV0dXJuIGBgYSBAIGJgYC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CisKKwogLi4gZnVuY3Rpb246OiBuZWcob2JqKQogICAgICAgICAgICAgICBfX25lZ19fKG9iaikKIApAQCAtMzkxLDYgKzM5OSw4IEBACiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiB8IE11bHRpcGxpY2F0aW9uICAgICAgICB8IGBgYSAqIGJgYCAgICAgICAgICAgICAgIHwgYGBtdWwoYSwgYilgYCAgICAgICAgICAgICAgICAgICAgICAgICB8CiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IE1hdHJpeCBNdWx0aXBsaWNhdGlvbiB8IGBgYSBAIGJgYCAgICAgICAgICAgICAgIHwgYGBtYXRtdWwoYSwgYilgYCAgICAgICAgICAgICAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiB8IE5lZ2F0aW9uIChBcml0aG1ldGljKSB8IGBgLSBhYGAgICAgICAgICAgICAgICAgIHwgYGBuZWcoYSlgYCAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiB8IE5lZ2F0aW9uIChMb2dpY2FsKSAgICB8IGBgbm90IGFgYCAgICAgICAgICAgICAgIHwgYGBub3RfKGEpYGAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CkBAIC00OTksNiArNTA5LDE0IEBACiAgICBgYGEgPSBpbXVsKGEsIGIpYGAgaXMgZXF1aXZhbGVudCB0byBgYGEgKj0gYmBgLgogCiAKKy4uIGZ1bmN0aW9uOjogaW1hdG11bChhLCBiKQorICAgICAgICAgICAgICBfX2ltYXRtdWxfXyhhLCBiKQorCisgICBgYGEgPSBpbWF0bXVsKGEsIGIpYGAgaXMgZXF1aXZhbGVudCB0byBgYGEgQD0gYmBgLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKKworCiAuLiBmdW5jdGlvbjo6IGlvcihhLCBiKQogICAgICAgICAgICAgICBfX2lvcl9fKGEsIGIpCiAKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L29zLnJzdCBiL0RvYy9saWJyYXJ5L29zLnJzdAppbmRleCBmMjE3YTM2Li5jNGI4YmFjIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9vcy5yc3QKKysrIGIvRG9jL2xpYnJhcnkvb3MucnN0CkBAIC03OCw5ICs3OCwxMCBAQAogCiAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMQogICAgT24gc29tZSBzeXN0ZW1zLCBjb252ZXJzaW9uIHVzaW5nIHRoZSBmaWxlIHN5c3RlbSBlbmNvZGluZyBtYXkgZmFpbC4gSW4gdGhpcwotICAgY2FzZSwgUHl0aG9uIHVzZXMgdGhlIGBgc3Vycm9nYXRlZXNjYXBlYGAgZW5jb2RpbmcgZXJyb3IgaGFuZGxlciwgd2hpY2ggbWVhbnMKLSAgIHRoYXQgdW5kZWNvZGFibGUgYnl0ZXMgYXJlIHJlcGxhY2VkIGJ5IGEgVW5pY29kZSBjaGFyYWN0ZXIgVStEQ3h4IG9uCi0gICBkZWNvZGluZywgYW5kIHRoZXNlIGFyZSBhZ2FpbiB0cmFuc2xhdGVkIHRvIHRoZSBvcmlnaW5hbCBieXRlIG9uIGVuY29kaW5nLgorICAgY2FzZSwgUHl0aG9uIHVzZXMgdGhlIDpyZWY6YHN1cnJvZ2F0ZWVzY2FwZSBlbmNvZGluZyBlcnJvciBoYW5kbGVyCisgICA8c3Vycm9nYXRlZXNjYXBlPmAsIHdoaWNoIG1lYW5zIHRoYXQgdW5kZWNvZGFibGUgYnl0ZXMgYXJlIHJlcGxhY2VkIGJ5IGEKKyAgIFVuaWNvZGUgY2hhcmFjdGVyIFUrREN4eCBvbiBkZWNvZGluZywgYW5kIHRoZXNlIGFyZSBhZ2FpbiB0cmFuc2xhdGVkIHRvIHRoZQorICAgb3JpZ2luYWwgYnl0ZSBvbiBlbmNvZGluZy4KIAogCiBUaGUgZmlsZSBzeXN0ZW0gZW5jb2RpbmcgbXVzdCBndWFyYW50ZWUgdG8gc3VjY2Vzc2Z1bGx5IGRlY29kZSBhbGwgYnl0ZXMKQEAgLTgwNyw2ICs4MDgsMTcgQEAKICAgIEF2YWlsYWJpbGl0eTogVW5peC4KIAogCisuLiBmdW5jdGlvbjo6IGdldF9ibG9ja2luZyhmZCkKKworICAgR2V0IHRoZSBibG9ja2luZyBtb2RlIG9mIHRoZSBmaWxlIGRlc2NyaXB0b3I6IGBgRmFsc2VgYCBpZiB0aGUKKyAgIDpkYXRhOmBPX05PTkJMT0NLYCBmbGFnIGlzIHNldCwgYGBUcnVlYGAgaWYgdGhlIGZsYWcgaXMgY2xlYXJlZC4KKworICAgU2VlIGFsc28gOmZ1bmM6YHNldF9ibG9ja2luZ2AgYW5kIDptZXRoOmBzb2NrZXQuc29ja2V0LnNldGJsb2NraW5nYC4KKworICAgQXZhaWxhYmlsaXR5OiBVbml4LgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKKwogLi4gZnVuY3Rpb246OiBpc2F0dHkoZmQpCiAKICAgIFJldHVybiBgYFRydWVgYCBpZiB0aGUgZmlsZSBkZXNjcmlwdG9yICpmZCogaXMgb3BlbiBhbmQgY29ubmVjdGVkIHRvIGEKQEAgLTExMDcsNiArMTExOSwxOCBAQAogICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCiAKIAorLi4gZnVuY3Rpb246OiBzZXRfYmxvY2tpbmcoZmQsIGJsb2NraW5nKQorCisgICBTZXQgdGhlIGJsb2NraW5nIG1vZGUgb2YgdGhlIHNwZWNpZmllZCBmaWxlIGRlc2NyaXB0b3IuIFNldCB0aGUKKyAgIDpkYXRhOmBPX05PTkJMT0NLYCBmbGFnIGlmIGJsb2NraW5nIGlzIGBgRmFsc2VgYCwgY2xlYXIgdGhlIGZsYWcgb3RoZXJ3aXNlLgorCisgICBTZWUgYWxzbyA6ZnVuYzpgZ2V0X2Jsb2NraW5nYCBhbmQgOm1ldGg6YHNvY2tldC5zb2NrZXQuc2V0YmxvY2tpbmdgLgorCisgICBBdmFpbGFiaWxpdHk6IFVuaXguCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQorCisKIC4uIGRhdGE6OiBTRl9OT0RJU0tJTwogICAgICAgICAgIFNGX01OT1dBSVQKICAgICAgICAgICBTRl9TWU5DCkBAIC0yMDQ0LDYgKzIwNjgsMTUgQEAKIAogICAgICAgRmlsZSB0eXBlLgogCisgICBPbiBXaW5kb3dzIHN5c3RlbXMsIHRoZSBmb2xsb3dpbmcgYXR0cmlidXRlIGlzIGFsc28gYXZhaWxhYmxlOgorCisgICAuLiBhdHRyaWJ1dGU6OiBzdF9maWxlX2F0dHJpYnV0ZXMKKworICAgICAgV2luZG93cyBmaWxlIGF0dHJpYnV0ZXM6IGBgZHdGaWxlQXR0cmlidXRlc2BgIG1lbWJlciBvZiB0aGUKKyAgICAgIGBgQllfSEFORExFX0ZJTEVfSU5GT1JNQVRJT05gYCBzdHJ1Y3R1cmUgcmV0dXJuZWQgYnkKKyAgICAgIDpjOmZ1bmM6YEdldEZpbGVJbmZvcm1hdGlvbkJ5SGFuZGxlYC4gU2VlIHRoZSBgYEZJTEVfQVRUUklCVVRFXypgYAorICAgICAgY29uc3RhbnRzIGluIHRoZSA6bW9kOmBzdGF0YCBtb2R1bGUuCisKICAgIFRoZSBzdGFuZGFyZCBtb2R1bGUgOm1vZDpgc3RhdGAgZGVmaW5lcyBmdW5jdGlvbnMgYW5kIGNvbnN0YW50cyB0aGF0IGFyZQogICAgdXNlZnVsIGZvciBleHRyYWN0aW5nIGluZm9ybWF0aW9uIGZyb20gYSA6Yzp0eXBlOmBzdGF0YCBzdHJ1Y3R1cmUuIChPbgogICAgV2luZG93cywgc29tZSBpdGVtcyBhcmUgZmlsbGVkIHdpdGggZHVtbXkgdmFsdWVzLikKQEAgLTIwNjEsNiArMjA5NCw5IEBACiAgICAgICBBZGRlZCB0aGUgOmF0dHI6YHN0X2F0aW1lX25zYCwgOmF0dHI6YHN0X210aW1lX25zYCwgYW5kCiAgICAgICA6YXR0cjpgc3RfY3RpbWVfbnNgIG1lbWJlcnMuCiAKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQorICAgICAgQWRkZWQgdGhlIDphdHRyOmBzdF9maWxlX2F0dHJpYnV0ZXNgIG1lbWJlciBvbiBXaW5kb3dzLgorCiAKIC4uIGZ1bmN0aW9uOjogc3RhdF9mbG9hdF90aW1lcyhbbmV3dmFsdWVdKQogCkBAIC0yOTg4LDYgKzMwMjQsMTAgQEAKICAgIGRvZXNuJ3Qgd29yayBpZiBpdCBpcy4gIFVzZSB0aGUgOmZ1bmM6YG9zLnBhdGgubm9ybXBhdGhgIGZ1bmN0aW9uIHRvIGVuc3VyZSB0aGF0CiAgICB0aGUgcGF0aCBpcyBwcm9wZXJseSBlbmNvZGVkIGZvciBXaW4zMi4KIAorICAgVG8gcmVkdWNlIGludGVycHJldGVyIHN0YXJ0dXAgb3ZlcmhlYWQsIHRoZSBXaW4zMiA6YzpmdW5jOmBTaGVsbEV4ZWN1dGVgCisgICBmdW5jdGlvbiBpcyBub3QgcmVzb2x2ZWQgdW50aWwgdGhpcyBmdW5jdGlvbiBpcyBmaXJzdCBjYWxsZWQuICBJZiB0aGUgZnVuY3Rpb24KKyAgIGNhbm5vdCBiZSByZXNvbHZlZCwgOmV4YzpgTm90SW1wbGVtZW50ZWRFcnJvcmAgd2lsbCBiZSByYWlzZWQuCisKICAgIEF2YWlsYWJpbGl0eTogV2luZG93cy4KIAogCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9wYXRobGliLnJzdCBiL0RvYy9saWJyYXJ5L3BhdGhsaWIucnN0CmluZGV4IGVjMWRjNGYuLjAyMjZjZTQgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3BhdGhsaWIucnN0CisrKyBiL0RvYy9saWJyYXJ5L3BhdGhsaWIucnN0CkBAIC02MjgsNiArNjI4LDE3IEBACiAgICAgICBQb3NpeFBhdGgoJy9ob21lL2FudG9pbmUvcGF0aGxpYicpCiAKIAorLi4gY2xhc3NtZXRob2Q6OiBQYXRoLmhvbWUoKQorCisgICBSZXR1cm4gYSBuZXcgcGF0aCBvYmplY3QgcmVwcmVzZW50aW5nIHRoZSB1c2VyJ3MgaG9tZSBkaXJlY3RvcnkgKGFzCisgICByZXR1cm5lZCBieSA6ZnVuYzpgb3MucGF0aC5leHBhbmR1c2VyYCB3aXRoIGBgfmBgIGNvbnN0cnVjdCk6OgorCisgICAgICA+Pj4gUGF0aC5ob21lKCkKKyAgICAgIFBvc2l4UGF0aCgnL2hvbWUvYW50b2luZScpCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQorCisKIC4uIG1ldGhvZDo6IFBhdGguc3RhdCgpCiAKICAgIFJldHVybiBpbmZvcm1hdGlvbiBhYm91dCB0aGlzIHBhdGggKHNpbWlsYXJseSB0byA6ZnVuYzpgb3Muc3RhdGApLgpAQCAtNjcwLDYgKzY4MSwxOCBAQAogICAgICAgc3ltbGluayAqcG9pbnRzIHRvKiBhbiBleGlzdGluZyBmaWxlIG9yIGRpcmVjdG9yeS4KIAogCisuLiBtZXRob2Q6OiBQYXRoLmV4cGFuZHVzZXIoKQorCisgICBSZXR1cm4gYSBuZXcgcGF0aCB3aXRoIGV4cGFuZGVkIGBgfmBgIGFuZCBgYH51c2VyYGAgY29uc3RydWN0cywKKyAgIGFzIHJldHVybmVkIGJ5IDptZXRoOmBvcy5wYXRoLmV4cGFuZHVzZXJgOjoKKworICAgICAgPj4+IHAgPSBQb3NpeFBhdGgoJ34vZmlsbXMvTW9udHkgUHl0aG9uJykKKyAgICAgID4+PiBwLmV4cGFuZHVzZXIoKQorICAgICAgUG9zaXhQYXRoKCcvaG9tZS9lcmljL2ZpbG1zL01vbnR5IFB5dGhvbicpCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQorCisKIC4uIG1ldGhvZDo6IFBhdGguZ2xvYihwYXR0ZXJuKQogCiAgICBHbG9iIHRoZSBnaXZlbiAqcGF0dGVybiogaW4gdGhlIGRpcmVjdG9yeSByZXByZXNlbnRlZCBieSB0aGlzIHBhdGgsCkBAIC03OTEsNyArODE0LDcgQEAKICAgIHRoZSBzeW1ib2xpYyBsaW5rJ3MgaW5mb3JtYXRpb24gcmF0aGVyIHRoYW4gaXRzIHRhcmdldCdzLgogCiAKLS4uIG1ldGhvZDo6IFBhdGgubWtkaXIobW9kZT0wbzc3NywgcGFyZW50cz1GYWxzZSkKKy4uIG1ldGhvZDo6IFBhdGgubWtkaXIobW9kZT0wbzc3NywgcGFyZW50cz1GYWxzZSwgZXhpc3Rfb2s9RmFsc2UpCiAKICAgIENyZWF0ZSBhIG5ldyBkaXJlY3RvcnkgYXQgdGhpcyBnaXZlbiBwYXRoLiAgSWYgKm1vZGUqIGlzIGdpdmVuLCBpdCBpcwogICAgY29tYmluZWQgd2l0aCB0aGUgcHJvY2VzcycgYGB1bWFza2BgIHZhbHVlIHRvIGRldGVybWluZSB0aGUgZmlsZSBtb2RlCkBAIC04MDUsNiArODI4LDE2IEBACiAgICBJZiAqcGFyZW50cyogaXMgZmFsc2UgKHRoZSBkZWZhdWx0KSwgYSBtaXNzaW5nIHBhcmVudCByYWlzZXMKICAgIDpleGM6YEZpbGVOb3RGb3VuZEVycm9yYC4KIAorICAgSWYgKmV4aXN0X29rKiBpcyBmYWxzZSAodGhlIGRlZmF1bHQpLCBhbiA6ZXhjOmBGaWxlRXhpc3RzRXJyb3JgIGlzCisgICByYWlzZWQgaWYgdGhlIHRhcmdldCBkaXJlY3RvcnkgYWxyZWFkeSBleGlzdHMuCisKKyAgIElmICpleGlzdF9vayogaXMgdHJ1ZSwgOmV4YzpgRmlsZUV4aXN0c0Vycm9yYCBleGNlcHRpb25zIHdpbGwgYmUKKyAgIGlnbm9yZWQgKHNhbWUgYmVoYXZpb3IgYXMgdGhlIFBPU0lYIGBgbWtkaXIgLXBgYCBjb21tYW5kKSwgYnV0IG9ubHkgaWYgdGhlCisgICBsYXN0IHBhdGggY29tcG9uZW50IGlzIG5vdCBhbiBleGlzdGluZyBub24tZGlyZWN0b3J5IGZpbGUuCisKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICBUaGUgKmV4aXN0X29rKiBwYXJhbWV0ZXIgd2FzIGFkZGVkLgorCiAKIC4uIG1ldGhvZDo6IFBhdGgub3Blbihtb2RlPSdyJywgYnVmZmVyaW5nPS0xLCBlbmNvZGluZz1Ob25lLCBlcnJvcnM9Tm9uZSwgbmV3bGluZT1Ob25lKQogCkBAIC04MjQsNiArODU3LDM0IEBACiAgICBpZiB0aGUgZmlsZSdzIHVpZCBpc24ndCBmb3VuZCBpbiB0aGUgc3lzdGVtIGRhdGFiYXNlLgogCiAKKy4uIG1ldGhvZDo6IFBhdGgucmVhZF9ieXRlcygpCisKKyAgIFJldHVybiB0aGUgYmluYXJ5IGNvbnRlbnRzIG9mIHRoZSBwb2ludGVkLXRvIGZpbGUgYXMgYSBieXRlcyBvYmplY3Q6OgorCisgICAgICA+Pj4gcCA9IFBhdGgoJ215X2JpbmFyeV9maWxlJykKKyAgICAgID4+PiBwLndyaXRlX2J5dGVzKGInQmluYXJ5IGZpbGUgY29udGVudHMnKQorICAgICAgMjAKKyAgICAgID4+PiBwLnJlYWRfYnl0ZXMoKQorICAgICAgYidCaW5hcnkgZmlsZSBjb250ZW50cycKKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CisKKworLi4gbWV0aG9kOjogUGF0aC5yZWFkX3RleHQoZW5jb2Rpbmc9Tm9uZSwgZXJyb3JzPU5vbmUpCisKKyAgIFJldHVybiB0aGUgZGVjb2RlZCBjb250ZW50cyBvZiB0aGUgcG9pbnRlZC10byBmaWxlIGFzIGEgc3RyaW5nOjoKKworICAgICAgPj4+IHAgPSBQYXRoKCdteV90ZXh0X2ZpbGUnKQorICAgICAgPj4+IHAud3JpdGVfdGV4dCgnVGV4dCBmaWxlIGNvbnRlbnRzJykKKyAgICAgIDE4CisgICAgICA+Pj4gcC5yZWFkX3RleHQoKQorICAgICAgJ1RleHQgZmlsZSBjb250ZW50cycKKworICAgVGhlIG9wdGlvbmFsIHBhcmFtZXRlcnMgaGF2ZSB0aGUgc2FtZSBtZWFuaW5nIGFzIGluIDpmdW5jOmBvcGVuYC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CisKKwogLi4gbWV0aG9kOjogUGF0aC5yZW5hbWUodGFyZ2V0KQogCiAgICBSZW5hbWUgdGhpcyBmaWxlIG9yIGRpcmVjdG9yeSB0byB0aGUgZ2l2ZW4gKnRhcmdldCouICAqdGFyZ2V0KiBjYW4gYmUKQEAgLTg4NCw2ICs5NDUsMjUgQEAKICAgIFJlbW92ZSB0aGlzIGRpcmVjdG9yeS4gIFRoZSBkaXJlY3RvcnkgbXVzdCBiZSBlbXB0eS4KIAogCisuLiBtZXRob2Q6OiBQYXRoLnNhbWVmaWxlKG90aGVyX3BhdGgpCisKKyAgIFJldHVybiB3aGV0aGVyIHRoaXMgcGF0aCBwb2ludHMgdG8gdGhlIHNhbWUgZmlsZSBhcyAqb3RoZXJfcGF0aCosIHdoaWNoCisgICBjYW4gYmUgZWl0aGVyIGEgUGF0aCBvYmplY3QsIG9yIGEgc3RyaW5nLiAgVGhlIHNlbWFudGljcyBhcmUgc2ltaWxhcgorICAgdG8gOmZ1bmM6YG9zLnBhdGguc2FtZWZpbGVgIGFuZCA6ZnVuYzpgb3MucGF0aC5zYW1lc3RhdGAuCisKKyAgIEFuIDpleGM6YE9TRXJyb3JgIGNhbiBiZSByYWlzZWQgaWYgZWl0aGVyIGZpbGUgY2Fubm90IGJlIGFjY2Vzc2VkIGZvciBzb21lCisgICByZWFzb24uCisKKyAgICAgID4+PiBwID0gUGF0aCgnc3BhbScpCisgICAgICA+Pj4gcSA9IFBhdGgoJ2VnZ3MnKQorICAgICAgPj4+IHAuc2FtZWZpbGUocSkKKyAgICAgIEZhbHNlCisgICAgICA+Pj4gcC5zYW1lZmlsZSgnc3BhbScpCisgICAgICBUcnVlCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQorCisKIC4uIG1ldGhvZDo6IFBhdGguc3ltbGlua190byh0YXJnZXQsIHRhcmdldF9pc19kaXJlY3Rvcnk9RmFsc2UpCiAKICAgIE1ha2UgdGhpcyBwYXRoIGEgc3ltYm9saWMgbGluayB0byAqdGFyZ2V0Ki4gIFVuZGVyIFdpbmRvd3MsCkBAIC05MTcsMyArOTk3LDMzIEBACiAKICAgIFJlbW92ZSB0aGlzIGZpbGUgb3Igc3ltYm9saWMgbGluay4gIElmIHRoZSBwYXRoIHBvaW50cyB0byBhIGRpcmVjdG9yeSwKICAgIHVzZSA6ZnVuYzpgUGF0aC5ybWRpcmAgaW5zdGVhZC4KKworCisuLiBtZXRob2Q6OiBQYXRoLndyaXRlX2J5dGVzKGRhdGEpCisKKyAgIE9wZW4gdGhlIGZpbGUgcG9pbnRlZCB0byBpbiBieXRlcyBtb2RlLCB3cml0ZSAqZGF0YSogdG8gaXQsIGFuZCBjbG9zZSB0aGUKKyAgIGZpbGU6OgorCisgICAgICA+Pj4gcCA9IFBhdGgoJ215X2JpbmFyeV9maWxlJykKKyAgICAgID4+PiBwLndyaXRlX2J5dGVzKGInQmluYXJ5IGZpbGUgY29udGVudHMnKQorICAgICAgMjAKKyAgICAgID4+PiBwLnJlYWRfYnl0ZXMoKQorICAgICAgYidCaW5hcnkgZmlsZSBjb250ZW50cycKKworICAgQW4gZXhpc3RpbmcgZmlsZSBvZiB0aGUgc2FtZSBuYW1lIGlzIG92ZXJ3cml0dGVuLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKKworCisuLiBtZXRob2Q6OiBQYXRoLndyaXRlX3RleHQoZGF0YSwgZW5jb2Rpbmc9Tm9uZSwgZXJyb3JzPU5vbmUpCisKKyAgIE9wZW4gdGhlIGZpbGUgcG9pbnRlZCB0byBpbiB0ZXh0IG1vZGUsIHdyaXRlICpkYXRhKiB0byBpdCwgYW5kIGNsb3NlIHRoZQorICAgZmlsZTo6CisKKyAgICAgID4+PiBwID0gUGF0aCgnbXlfdGV4dF9maWxlJykKKyAgICAgID4+PiBwLndyaXRlX3RleHQoJ1RleHQgZmlsZSBjb250ZW50cycpCisgICAgICAxOAorICAgICAgPj4+IHAucmVhZF90ZXh0KCkKKyAgICAgICdUZXh0IGZpbGUgY29udGVudHMnCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvcGlja2xlLnJzdCBiL0RvYy9saWJyYXJ5L3BpY2tsZS5yc3QKaW5kZXggNDczNTZmOS4uNGNlNGQzNCAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvcGlja2xlLnJzdAorKysgYi9Eb2MvbGlicmFyeS9waWNrbGUucnN0CkBAIC04NTksNyArODU5LDcgQEAKICAgIGRhdGEgPSB7CiAgICAgICAgJ2EnOiBbMSwgMi4wLCAzLCA0KzZqXSwKICAgICAgICAnYic6ICgiY2hhcmFjdGVyIHN0cmluZyIsIGIiYnl0ZSBzdHJpbmciKSwKLSAgICAgICAnYyc6IHNldChbTm9uZSwgVHJ1ZSwgRmFsc2VdKQorICAgICAgICdjJzoge05vbmUsIFRydWUsIEZhbHNlfQogICAgfQogCiAgICB3aXRoIG9wZW4oJ2RhdGEucGlja2xlJywgJ3diJykgYXMgZjoKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3BrZ3V0aWwucnN0IGIvRG9jL2xpYnJhcnkvcGtndXRpbC5yc3QKaW5kZXggMTNlYTdiOS4uNWQzMjk1ZCAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvcGtndXRpbC5yc3QKKysrIGIvRG9jL2xpYnJhcnkvcGtndXRpbC5yc3QKQEAgLTU4LDcgKzU4LDcgQEAKIAogICAgLi4gZGVwcmVjYXRlZDo6IDMuMwogICAgICAgVGhpcyBlbXVsYXRpb24gaXMgbm8gbG9uZ2VyIG5lZWRlZCwgYXMgdGhlIHN0YW5kYXJkIGltcG9ydCBtZWNoYW5pc20KLSAgICAgIGlzIG5vdyBmdWxseSBQRVAgMzAyIGNvbXBsaWFudCBhbmQgYXZhaWxhYmxlIGluIDptb2Q6YGltcG9ydGxpYmAKKyAgICAgIGlzIG5vdyBmdWxseSBQRVAgMzAyIGNvbXBsaWFudCBhbmQgYXZhaWxhYmxlIGluIDptb2Q6YGltcG9ydGxpYmAuCiAKIAogLi4gY2xhc3M6OiBJbXBMb2FkZXIoZnVsbG5hbWUsIGZpbGUsIGZpbGVuYW1lLCBldGMpCkBAIC02Nyw3ICs2Nyw3IEBACiAKICAgIC4uIGRlcHJlY2F0ZWQ6OiAzLjMKICAgICAgIFRoaXMgZW11bGF0aW9uIGlzIG5vIGxvbmdlciBuZWVkZWQsIGFzIHRoZSBzdGFuZGFyZCBpbXBvcnQgbWVjaGFuaXNtCi0gICAgICBpcyBub3cgZnVsbHkgUEVQIDMwMiBjb21wbGlhbnQgYW5kIGF2YWlsYWJsZSBpbiA6bW9kOmBpbXBvcnRsaWJgCisgICAgICBpcyBub3cgZnVsbHkgUEVQIDMwMiBjb21wbGlhbnQgYW5kIGF2YWlsYWJsZSBpbiA6bW9kOmBpbXBvcnRsaWJgLgogCiAKIC4uIGZ1bmN0aW9uOjogZmluZF9sb2FkZXIoZnVsbG5hbWUpCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9wbGlzdGxpYi5yc3QgYi9Eb2MvbGlicmFyeS9wbGlzdGxpYi5yc3QKaW5kZXggMmJlZjEyMC4uNDE2NTU5MSAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvcGxpc3RsaWIucnN0CisrKyBiL0RvYy9saWJyYXJ5L3BsaXN0bGliLnJzdApAQCAtMTI5LDcgKzEyOSw3IEBACiAgICBhbmQgYmluYXJ5KSBmaWxlIG9iamVjdC4gUmV0dXJucyB0aGUgdW5wYWNrZWQgcm9vdCBvYmplY3QgKHdoaWNoIHVzdWFsbHkKICAgIGlzIGEgZGljdGlvbmFyeSkuCiAKLSAgIFRoaXMgZnVuY3Rpb24gY2FsbHMgOmZ1bmM6YGxvYWRgIHRvIGRvIHRoZSBhY3R1YWwgd29yaywgdGhlIHRoZSBkb2N1bWVudGF0aW9uCisgICBUaGlzIGZ1bmN0aW9uIGNhbGxzIDpmdW5jOmBsb2FkYCB0byBkbyB0aGUgYWN0dWFsIHdvcmssIHNlZSB0aGUgZG9jdW1lbnRhdGlvbgogICAgb2YgOmZ1bmM6YHRoYXQgZnVuY3Rpb24gPGxvYWQ+YCBmb3IgYW4gZXhwbGFuYXRpb24gb2YgdGhlIGtleXdvcmQgYXJndW1lbnRzLgogCiAgICAuLiBub3RlOjoKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3JhbmRvbS5yc3QgYi9Eb2MvbGlicmFyeS9yYW5kb20ucnN0CmluZGV4IDExZGQzNjcuLmY4Yjc3MjcgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3JhbmRvbS5yc3QKKysrIGIvRG9jL2xpYnJhcnkvcmFuZG9tLnJzdApAQCAtNDYsOCArNDYsNyBAQAogLi4gd2FybmluZzo6CiAKICAgIFRoZSBwc2V1ZG8tcmFuZG9tIGdlbmVyYXRvcnMgb2YgdGhpcyBtb2R1bGUgc2hvdWxkIG5vdCBiZSB1c2VkIGZvcgotICAgc2VjdXJpdHkgcHVycG9zZXMuICBVc2UgOmZ1bmM6YG9zLnVyYW5kb21gIG9yIDpjbGFzczpgU3lzdGVtUmFuZG9tYCBpZgotICAgeW91IHJlcXVpcmUgYSBjcnlwdG9ncmFwaGljYWxseSBzZWN1cmUgcHNldWRvLXJhbmRvbSBudW1iZXIgZ2VuZXJhdG9yLgorICAgc2VjdXJpdHkgcHVycG9zZXMuCiAKIAogQm9va2tlZXBpbmcgZnVuY3Rpb25zOgpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvcmUucnN0IGIvRG9jL2xpYnJhcnkvcmUucnN0CmluZGV4IGRmYzI1ZWEuLjhlMjA0OTYgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3JlLnJzdAorKysgYi9Eb2MvbGlicmFyeS9yZS5yc3QKQEAgLTUyMSw3ICs1MjEsMTEgQEAKICAgIGN1cnJlbnQgbG9jYWxlLiBUaGUgdXNlIG9mIHRoaXMgZmxhZyBpcyBkaXNjb3VyYWdlZCBhcyB0aGUgbG9jYWxlIG1lY2hhbmlzbQogICAgaXMgdmVyeSB1bnJlbGlhYmxlLCBhbmQgaXQgb25seSBoYW5kbGVzIG9uZSAiY3VsdHVyZSIgYXQgYSB0aW1lIGFueXdheTsKICAgIHlvdSBzaG91bGQgdXNlIFVuaWNvZGUgbWF0Y2hpbmcgaW5zdGVhZCwgd2hpY2ggaXMgdGhlIGRlZmF1bHQgaW4gUHl0aG9uIDMKLSAgIGZvciBVbmljb2RlIChzdHIpIHBhdHRlcm5zLgorICAgZm9yIFVuaWNvZGUgKHN0cikgcGF0dGVybnMuIFRoaXMgZmxhZyBtYWtlcyBzZW5zZSBvbmx5IHdpdGggYnl0ZXMgcGF0dGVybnMuCisKKyAgIC4uIGRlcHJlY2F0ZWQtcmVtb3ZlZDo6IDMuNSAzLjYKKyAgICAgIERlcHJlY2F0ZWQgdGhlIHVzZSBvZiAgOmNvbnN0OmByZS5MT0NBTEVgIHdpdGggc3RyaW5nIHBhdHRlcm5zIG9yCisgICAgICA6Y29uc3Q6YHJlLkFTQ0lJYC4KIAogCiAuLiBkYXRhOjogTQpAQCAtNjIyLDE3ICs2MjYsMzcgQEAKICAgIFRoYXQgd2F5LCBzZXBhcmF0b3IgY29tcG9uZW50cyBhcmUgYWx3YXlzIGZvdW5kIGF0IHRoZSBzYW1lIHJlbGF0aXZlCiAgICBpbmRpY2VzIHdpdGhpbiB0aGUgcmVzdWx0IGxpc3QuCiAKLSAgIE5vdGUgdGhhdCAqc3BsaXQqIHdpbGwgbmV2ZXIgc3BsaXQgYSBzdHJpbmcgb24gYW4gZW1wdHkgcGF0dGVybiBtYXRjaC4KLSAgIEZvciBleGFtcGxlOgorICAgLi4gbm90ZTo6CiAKLSAgICAgID4+PiByZS5zcGxpdCgneConLCAnZm9vJykKLSAgICAgIFsnZm9vJ10KLSAgICAgID4+PiByZS5zcGxpdCgiKD9tKV4kIiwgImZvb1xuXG5iYXJcbiIpCi0gICAgICBbJ2Zvb1xuXG5iYXJcbiddCisgICAgICA6ZnVuYzpgc3BsaXRgIGRvZXNuJ3QgY3VycmVudGx5IHNwbGl0IGEgc3RyaW5nIG9uIGFuIGVtcHR5IHBhdHRlcm4gbWF0Y2guCisgICAgICBGb3IgZXhhbXBsZToKKworICAgICAgICAgPj4+IHJlLnNwbGl0KCd4KicsICdheGJjJykKKyAgICAgICAgIFsnYScsICdiYyddCisKKyAgICAgIEV2ZW4gdGhvdWdoIGBgJ3gqJ2BgIGFsc28gbWF0Y2hlcyAwICd4JyBiZWZvcmUgJ2EnLCBiZXR3ZWVuICdiJyBhbmQgJ2MnLAorICAgICAgYW5kIGFmdGVyICdjJywgY3VycmVudGx5IHRoZXNlIG1hdGNoZXMgYXJlIGlnbm9yZWQuICBUaGUgY29ycmVjdCBiZWhhdmlvcgorICAgICAgKGkuZS4gc3BsaXR0aW5nIG9uIGVtcHR5IG1hdGNoZXMgdG9vIGFuZCByZXR1cm5pbmcgYGBbJycsICdhJywgJ2InLCAnYycsCisgICAgICAnJ11gYCkgd2lsbCBiZSBpbXBsZW1lbnRlZCBpbiBmdXR1cmUgdmVyc2lvbnMgb2YgUHl0aG9uLCBidXQgc2luY2UgdGhpcworICAgICAgaXMgYSBiYWNrd2FyZCBpbmNvbXBhdGlibGUgY2hhbmdlLCBhIDpleGM6YEZ1dHVyZVdhcm5pbmdgIHdpbGwgYmUgcmFpc2VkCisgICAgICBpbiB0aGUgbWVhbndoaWxlLgorCisgICAgICBQYXR0ZXJucyB0aGF0IGNhbiBvbmx5IG1hdGNoIGVtcHR5IHN0cmluZ3MgY3VycmVudGx5IG5ldmVyIHNwbGl0IHRoZQorICAgICAgc3RyaW5nLiAgU2luY2UgdGhpcyBkb2Vzbid0IG1hdGNoIHRoZSBleHBlY3RlZCBiZWhhdmlvciwgYQorICAgICAgOmV4YzpgVmFsdWVFcnJvcmAgd2lsbCBiZSByYWlzZWQgc3RhcnRpbmcgZnJvbSBQeXRob24gMy41OjoKKworICAgICAgICAgPj4+IHJlLnNwbGl0KCJeJCIsICJmb29cblxuYmFyXG4iLCBmbGFncz1yZS5NKQorICAgICAgICAgVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgorICAgICAgICAgICBGaWxlICI8c3RkaW4+IiwgbGluZSAxLCBpbiA8bW9kdWxlPgorICAgICAgICAgICAuLi4KKyAgICAgICAgIFZhbHVlRXJyb3I6IHNwbGl0KCkgcmVxdWlyZXMgYSBub24tZW1wdHkgcGF0dGVybiBtYXRjaC4KIAogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjEKICAgICAgIEFkZGVkIHRoZSBvcHRpb25hbCBmbGFncyBhcmd1bWVudC4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgIFNwbGl0dGluZyBvbiBhIHBhdHRlcm4gdGhhdCBjb3VsZCBtYXRjaCBhbiBlbXB0eSBzdHJpbmcgbm93IHJhaXNlcworICAgICAgYSB3YXJuaW5nLiAgUGF0dGVybnMgdGhhdCBjYW4gb25seSBtYXRjaCBlbXB0eSBzdHJpbmdzIGFyZSBub3cgcmVqZWN0ZWQuCiAKIC4uIGZ1bmN0aW9uOjogZmluZGFsbChwYXR0ZXJuLCBzdHJpbmcsIGZsYWdzPTApCiAKQEAgLTcwMiw2ICs3MjYsOSBAQAogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjEKICAgICAgIEFkZGVkIHRoZSBvcHRpb25hbCBmbGFncyBhcmd1bWVudC4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgIFVubWF0Y2hlZCBncm91cHMgYXJlIHJlcGxhY2VkIHdpdGggYW4gZW1wdHkgc3RyaW5nLgorCiAKIC4uIGZ1bmN0aW9uOjogc3VibihwYXR0ZXJuLCByZXBsLCBzdHJpbmcsIGNvdW50PTAsIGZsYWdzPTApCiAKQEAgLTcxMSw2ICs3MzgsOSBAQAogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjEKICAgICAgIEFkZGVkIHRoZSBvcHRpb25hbCBmbGFncyBhcmd1bWVudC4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgIFVubWF0Y2hlZCBncm91cHMgYXJlIHJlcGxhY2VkIHdpdGggYW4gZW1wdHkgc3RyaW5nLgorCiAKIC4uIGZ1bmN0aW9uOjogZXNjYXBlKHN0cmluZykKIApAQCAtNzI3LDEzICs3NTcsMzYgQEAKICAgIENsZWFyIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gY2FjaGUuCiAKIAotLi4gZXhjZXB0aW9uOjogZXJyb3IKKy4uIGV4Y2VwdGlvbjo6IGVycm9yKG1zZywgcGF0dGVybj1Ob25lLCBwb3M9Tm9uZSkKIAogICAgRXhjZXB0aW9uIHJhaXNlZCB3aGVuIGEgc3RyaW5nIHBhc3NlZCB0byBvbmUgb2YgdGhlIGZ1bmN0aW9ucyBoZXJlIGlzIG5vdCBhCiAgICB2YWxpZCByZWd1bGFyIGV4cHJlc3Npb24gKGZvciBleGFtcGxlLCBpdCBtaWdodCBjb250YWluIHVubWF0Y2hlZCBwYXJlbnRoZXNlcykKICAgIG9yIHdoZW4gc29tZSBvdGhlciBlcnJvciBvY2N1cnMgZHVyaW5nIGNvbXBpbGF0aW9uIG9yIG1hdGNoaW5nLiAgSXQgaXMgbmV2ZXIgYW4KLSAgIGVycm9yIGlmIGEgc3RyaW5nIGNvbnRhaW5zIG5vIG1hdGNoIGZvciBhIHBhdHRlcm4uCisgICBlcnJvciBpZiBhIHN0cmluZyBjb250YWlucyBubyBtYXRjaCBmb3IgYSBwYXR0ZXJuLiAgVGhlIGVycm9yIGluc3RhbmNlIGhhcworICAgdGhlIGZvbGxvd2luZyBhZGRpdGlvbmFsIGF0dHJpYnV0ZXM6CiAKKyAgIC4uIGF0dHJpYnV0ZTo6IG1zZworCisgICAgICBUaGUgdW5mb3JtYXR0ZWQgZXJyb3IgbWVzc2FnZS4KKworICAgLi4gYXR0cmlidXRlOjogcGF0dGVybgorCisgICAgICBUaGUgcmVndWxhciBleHByZXNzaW9uIHBhdHRlcm4uCisKKyAgIC4uIGF0dHJpYnV0ZTo6IHBvcworCisgICAgICBUaGUgaW5kZXggb2YgKnBhdHRlcm4qIHdoZXJlIGNvbXBpbGF0aW9uIGZhaWxlZC4KKworICAgLi4gYXR0cmlidXRlOjogbGluZW5vCisKKyAgICAgIFRoZSBsaW5lIGNvcnJlc3BvbmRpbmcgdG8gKnBvcyouCisKKyAgIC4uIGF0dHJpYnV0ZTo6IGNvbG5vCisKKyAgICAgIFRoZSBjb2x1bW4gY29ycmVzcG9uZGluZyB0byAqcG9zKi4KKworICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgIEFkZGVkIGFkZGl0aW9uYWwgYXR0cmlidXRlcy4KIAogLi4gX3JlLW9iamVjdHM6CiAKQEAgLTg4Niw2ICs5MzksOCBAQAogICAgKGBgXGc8MT5gYCwgYGBcZzxuYW1lPmBgKSBhcmUgcmVwbGFjZWQgYnkgdGhlIGNvbnRlbnRzIG9mIHRoZQogICAgY29ycmVzcG9uZGluZyBncm91cC4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgIFVubWF0Y2hlZCBncm91cHMgYXJlIHJlcGxhY2VkIHdpdGggYW4gZW1wdHkgc3RyaW5nLgogCiAuLiBtZXRob2Q6OiBtYXRjaC5ncm91cChbZ3JvdXAxLCAuLi5dKQogCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9yZWFkbGluZS5yc3QgYi9Eb2MvbGlicmFyeS9yZWFkbGluZS5yc3QKaW5kZXggNjkyMzEwYi4uMzg2NGYwZCAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvcmVhZGxpbmUucnN0CisrKyBiL0RvYy9saWJyYXJ5L3JlYWRsaW5lLnJzdApAQCAtNTksNiArNTksMTQgQEAKICAgIFNhdmUgYSByZWFkbGluZSBoaXN0b3J5IGZpbGUuIFRoZSBkZWZhdWx0IGZpbGVuYW1lIGlzIDpmaWxlOmB+Ly5oaXN0b3J5YC4KIAogCisuLiBmdW5jdGlvbjo6IGFwcGVuZF9oaXN0b3J5X2ZpbGUobmVsZW1lbnRzWywgZmlsZW5hbWVdKQorCisgICBBcHBlbmQgdGhlIGxhc3QgKm5lbGVtZW50cyogb2YgaGlzdG9yeSB0byBhIGZpbGUuICBUaGUgZGVmYXVsdCBmaWxlbmFtZSBpcworICAgOmZpbGU6YH4vLmhpc3RvcnlgLiAgVGhlIGZpbGUgbXVzdCBhbHJlYWR5IGV4aXN0LgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKKworCiAuLiBmdW5jdGlvbjo6IGNsZWFyX2hpc3RvcnkoKQogCiAgICBDbGVhciB0aGUgY3VycmVudCBoaXN0b3J5LiAgKE5vdGU6IHRoaXMgZnVuY3Rpb24gaXMgbm90IGF2YWlsYWJsZSBpZiB0aGUKQEAgLTIwOSw2ICsyMTcsMjYgQEAKIFRoaXMgY29kZSBpcyBhY3R1YWxseSBhdXRvbWF0aWNhbGx5IHJ1biB3aGVuIFB5dGhvbiBpcyBydW4gaW4KIDpyZWY6YGludGVyYWN0aXZlIG1vZGUgPHR1dC1pbnRlcmFjdGl2ZT5gIChzZWUgOnJlZjpgcmxjb21wbGV0ZXItY29uZmlnYCkuCiAKK1RoZSBmb2xsb3dpbmcgZXhhbXBsZSBhY2hpZXZlcyB0aGUgc2FtZSBnb2FsIGJ1dCBzdXBwb3J0cyBjb25jdXJyZW50IGludGVyYWN0aXZlCitzZXNzaW9ucywgYnkgb25seSBhcHBlbmRpbmcgdGhlIG5ldyBoaXN0b3J5LiA6OgorCisgICBpbXBvcnQgYXRleGl0CisgICBpbXBvcnQgb3MKKyAgIGltcG9ydCByZWFsaW5lCisgICBoaXN0ZmlsZSA9IG9zLnBhdGguam9pbihvcy5wYXRoLmV4cGFuZHVzZXIoIn4iKSwgIi5weXRob25faGlzdG9yeSIpCisKKyAgIHRyeToKKyAgICAgICByZWFkbGluZS5yZWFkX2hpc3RvcnlfZmlsZShoaXN0ZmlsZSkKKyAgICAgICBoX2xlbiA9IHJlYWRsaW5lLmdldF9oaXN0b3J5X2xlbmd0aCgpCisgICBleGNlcHQgRmlsZU5vdEZvdW5kRXJyb3I6CisgICAgICAgb3BlbihoaXN0ZmlsZSwgJ3diJykuY2xvc2UoKQorICAgICAgIGhfbGVuID0gMAorCisgICBkZWYgc2F2ZShwcmV2X2hfbGVuLCBoaXN0ZmlsZSk6CisgICAgICAgbmV3X2hfbGVuID0gcmVhZGxpbmUuZ2V0X2hpc3RvcnlfbGVuZ3RoKCkKKyAgICAgICByZWFkbGluZS5hcHBlbmRfaGlzdG9yeV9maWxlKG5ld19oX2xlbiAtIHByZXZfaF9sZW4sIGhpc3RmaWxlKQorICAgYXRleGl0LnJlZ2lzdGVyKHNhdmUsIGhfbGVuLCBoaXN0ZmlsZSkKKwogVGhlIGZvbGxvd2luZyBleGFtcGxlIGV4dGVuZHMgdGhlIDpjbGFzczpgY29kZS5JbnRlcmFjdGl2ZUNvbnNvbGVgIGNsYXNzIHRvCiBzdXBwb3J0IGhpc3Rvcnkgc2F2ZS9yZXN0b3JlLiA6OgogCkBAIC0yMzQsNCArMjYyLDMgQEAKIAogICAgICAgIGRlZiBzYXZlX2hpc3Rvcnkoc2VsZiwgaGlzdGZpbGUpOgogICAgICAgICAgICByZWFkbGluZS53cml0ZV9oaXN0b3J5X2ZpbGUoaGlzdGZpbGUpCi0KZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3Jlc291cmNlLnJzdCBiL0RvYy9saWJyYXJ5L3Jlc291cmNlLnJzdAppbmRleCBmODExMmNjLi43YzBlNGNhIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9yZXNvdXJjZS5yc3QKKysrIGIvRG9jL2xpYnJhcnkvcmVzb3VyY2UucnN0CkBAIC00NSw3ICs0NSw3IEBACiAKIC4uIGRhdGE6OiBSTElNX0lORklOSVRZCiAKLSAgIENvbnN0YW50IHVzZWQgdG8gcmVwcmVzZW50IHRoZSB0aGUgbGltaXQgZm9yIGFuIHVubGltaXRlZCByZXNvdXJjZS4KKyAgIENvbnN0YW50IHVzZWQgdG8gcmVwcmVzZW50IHRoZSBsaW1pdCBmb3IgYW4gdW5saW1pdGVkIHJlc291cmNlLgogCiAKIC4uIGZ1bmN0aW9uOjogZ2V0cmxpbWl0KHJlc291cmNlKQpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvc2VsZWN0LnJzdCBiL0RvYy9saWJyYXJ5L3NlbGVjdC5yc3QKaW5kZXggNzM0ZTQyNi4uNTMzNGFmOCAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvc2VsZWN0LnJzdAorKysgYi9Eb2MvbGlicmFyeS9zZWxlY3QucnN0CkBAIC0yMDcsNyArMjA3LDcgQEAKICAgIC4uIHdhcm5pbmc6OgogCiAgICAgICBSZWdpc3RlcmluZyBhIGZpbGUgZGVzY3JpcHRvciB0aGF0J3MgYWxyZWFkeSByZWdpc3RlcmVkIGlzIG5vdCBhbgotICAgICAgZXJyb3IsIGJ1dCB0aGUgcmVzdWx0IGlzIHVuZGVmaW5lZC4gVGhlIGFwcHJvcGlhdGUgYWN0aW9uIGlzIHRvCisgICAgICBlcnJvciwgYnV0IHRoZSByZXN1bHQgaXMgdW5kZWZpbmVkLiBUaGUgYXBwcm9wcmlhdGUgYWN0aW9uIGlzIHRvCiAgICAgICB1bnJlZ2lzdGVyIG9yIG1vZGlmeSBpdCBmaXJzdC4gVGhpcyBpcyBhbiBpbXBvcnRhbnQgZGlmZmVyZW5jZQogICAgICAgY29tcGFyZWQgd2l0aCA6YzpmdW5jOmBwb2xsYC4KIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvc2VsZWN0b3JzLnJzdCBiL0RvYy9saWJyYXJ5L3NlbGVjdG9ycy5yc3QKaW5kZXggOTgzNzdjOC4uOGJkOWUxYyAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvc2VsZWN0b3JzLnJzdAorKysgYi9Eb2MvbGlicmFyeS9zZWxlY3RvcnMucnN0CkBAIC00NSw2ICs0NSw3IEBACiAgICArLS0gU2VsZWN0U2VsZWN0b3IKICAgICstLSBQb2xsU2VsZWN0b3IKICAgICstLSBFcG9sbFNlbGVjdG9yCisgICArLS0gRGV2cG9sbFNlbGVjdG9yCiAgICArLS0gS3F1ZXVlU2VsZWN0b3IKIAogCkBAIC0yMDcsNiArMjA4LDE2IEBACiAgICAgICBUaGlzIHJldHVybnMgdGhlIGZpbGUgZGVzY3JpcHRvciB1c2VkIGJ5IHRoZSB1bmRlcmx5aW5nCiAgICAgICA6ZnVuYzpgc2VsZWN0LmVwb2xsYCBvYmplY3QuCiAKKy4uIGNsYXNzOjogRGV2cG9sbFNlbGVjdG9yKCkKKworICAgOmZ1bmM6YHNlbGVjdC5kZXZwb2xsYC1iYXNlZCBzZWxlY3Rvci4KKworICAgLi4gbWV0aG9kOjogZmlsZW5vKCkKKworICAgICAgVGhpcyByZXR1cm5zIHRoZSBmaWxlIGRlc2NyaXB0b3IgdXNlZCBieSB0aGUgdW5kZXJseWluZworICAgICAgOmZ1bmM6YHNlbGVjdC5kZXZwb2xsYCBvYmplY3QuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQogCiAuLiBjbGFzczo6IEtxdWV1ZVNlbGVjdG9yKCkKIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvc2h1dGlsLnJzdCBiL0RvYy9saWJyYXJ5L3NodXRpbC5yc3QKaW5kZXggZDk2ZmQ3MS4uODI5NzRhZCAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvc2h1dGlsLnJzdAorKysgYi9Eb2MvbGlicmFyeS9zaHV0aWwucnN0CkBAIC0xOTEsNyArMTkxLDggQEAKICAgIG1hdGNoIG9uZSBvZiB0aGUgZ2xvYi1zdHlsZSAqcGF0dGVybnMqIHByb3ZpZGVkLiAgU2VlIHRoZSBleGFtcGxlIGJlbG93LgogCiAKLS4uIGZ1bmN0aW9uOjogY29weXRyZWUoc3JjLCBkc3QsIHN5bWxpbmtzPUZhbHNlLCBpZ25vcmU9Tm9uZSwgY29weV9mdW5jdGlvbj1jb3B5MiwgaWdub3JlX2RhbmdsaW5nX3N5bWxpbmtzPUZhbHNlKQorLi4gZnVuY3Rpb246OiBjb3B5dHJlZShzcmMsIGRzdCwgc3ltbGlua3M9RmFsc2UsIGlnbm9yZT1Ob25lLCBcCisgICAgICAgICAgICAgIGNvcHlfZnVuY3Rpb249Y29weTIsIGlnbm9yZV9kYW5nbGluZ19zeW1saW5rcz1GYWxzZSkKIAogICAgUmVjdXJzaXZlbHkgY29weSBhbiBlbnRpcmUgZGlyZWN0b3J5IHRyZWUgcm9vdGVkIGF0ICpzcmMqLCByZXR1cm5pbmcgdGhlCiAgICBkZXN0aW5hdGlvbiBkaXJlY3RvcnkuICBUaGUgZGVzdGluYXRpb24KQEAgLTI4Miw3ICsyODMsNyBAQAogICAgICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCiAKIAotLi4gZnVuY3Rpb246OiBtb3ZlKHNyYywgZHN0KQorLi4gZnVuY3Rpb246OiBtb3ZlKHNyYywgZHN0LCBjb3B5X2Z1bmN0aW9uPWNvcHkyKQogCiAgICBSZWN1cnNpdmVseSBtb3ZlIGEgZmlsZSBvciBkaXJlY3RvcnkgKCpzcmMqKSB0byBhbm90aGVyIGxvY2F0aW9uICgqZHN0KikKICAgIGFuZCByZXR1cm4gdGhlIGRlc3RpbmF0aW9uLgpAQCAtMjk1LDE1ICsyOTYsMjYgQEAKICAgIDpmdW5jOmBvcy5yZW5hbWVgIHNlbWFudGljcy4KIAogICAgSWYgdGhlIGRlc3RpbmF0aW9uIGlzIG9uIHRoZSBjdXJyZW50IGZpbGVzeXN0ZW0sIHRoZW4gOmZ1bmM6YG9zLnJlbmFtZWAgaXMKLSAgIHVzZWQuICBPdGhlcndpc2UsICpzcmMqIGlzIGNvcGllZCAodXNpbmcgOmZ1bmM6YHNodXRpbC5jb3B5MmApIHRvICpkc3QqIGFuZAotICAgdGhlbiByZW1vdmVkLiBJbiBjYXNlIG9mIHN5bWxpbmtzLCBhIG5ldyBzeW1saW5rIHBvaW50aW5nIHRvIHRoZSB0YXJnZXQgb2YKLSAgICpzcmMqIHdpbGwgYmUgY3JlYXRlZCBpbiBvciBhcyAqZHN0KiBhbmQgKnNyYyogd2lsbCBiZSByZW1vdmVkLgorICAgdXNlZC4gT3RoZXJ3aXNlLCAqc3JjKiBpcyBjb3BpZWQgdG8gKmRzdCogdXNpbmcgKmNvcHlfZnVuY3Rpb24qIGFuZCB0aGVuCisgICByZW1vdmVkLiAgSW4gY2FzZSBvZiBzeW1saW5rcywgYSBuZXcgc3ltbGluayBwb2ludGluZyB0byB0aGUgdGFyZ2V0IG9mICpzcmMqCisgICB3aWxsIGJlIGNyZWF0ZWQgaW4gb3IgYXMgKmRzdCogYW5kICpzcmMqIHdpbGwgYmUgcmVtb3ZlZC4KKworICAgSWYgKmNvcHlfZnVuY3Rpb24qIGlzIGdpdmVuLCBpdCBtdXN0IGJlIGEgY2FsbGFibGUgdGhhdCB0YWtlcyB0d28gYXJndW1lbnRzCisgICAqc3JjKiBhbmQgKmRzdCosIGFuZCB3aWxsIGJlIHVzZWQgdG8gY29weSAqc3JjKiB0byAqZGVzdCogaWYKKyAgIDpmdW5jOmBvcy5yZW5hbWVgIGNhbm5vdCBiZSB1c2VkLiAgSWYgdGhlIHNvdXJjZSBpcyBhIGRpcmVjdG9yeSwKKyAgIDpmdW5jOmBjb3B5dHJlZWAgaXMgY2FsbGVkLCBwYXNzaW5nIGl0IHRoZSA6ZnVuYzpgY29weV9mdW5jdGlvbmAuIFRoZQorICAgZGVmYXVsdCAqY29weV9mdW5jdGlvbiogaXMgOmZ1bmM6YGNvcHkyYC4gIFVzaW5nIDpmdW5jOmBjb3B5YCBhcyB0aGUKKyAgICpjb3B5X2Z1bmN0aW9uKiBhbGxvd3MgdGhlIG1vdmUgdG8gc3VjY2VlZCB3aGVuIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBhbHNvCisgICBjb3B5IHRoZSBtZXRhZGF0YSwgYXQgdGhlIGV4cGVuc2Ugb2Ygbm90IGNvcHlpbmcgYW55IG9mIHRoZSBtZXRhZGF0YS4KIAogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKICAgICAgIEFkZGVkIGV4cGxpY2l0IHN5bWxpbmsgaGFuZGxpbmcgZm9yIGZvcmVpZ24gZmlsZXN5c3RlbXMsIHRodXMgYWRhcHRpbmcKICAgICAgIGl0IHRvIHRoZSBiZWhhdmlvciBvZiBHTlUncyA6cHJvZ3JhbTpgbXZgLgogICAgICAgTm93IHJldHVybnMgKmRzdCouCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICBBZGRlZCB0aGUgKmNvcHlfZnVuY3Rpb24qIGtleXdvcmQgYXJndW1lbnQuCisKIC4uIGZ1bmN0aW9uOjogZGlza191c2FnZShwYXRoKQogCiAgICBSZXR1cm4gZGlzayB1c2FnZSBzdGF0aXN0aWNzIGFib3V0IHRoZSBnaXZlbiBwYXRoIGFzIGEgOnRlcm06YG5hbWVkIHR1cGxlYApAQCAtMzQxLDcgKzM1Myw3IEBACiAKICAgIE9uIFdpbmRvd3MsIHRoZSBjdXJyZW50IGRpcmVjdG9yeSBpcyBhbHdheXMgcHJlcGVuZGVkIHRvIHRoZSAqcGF0aCogd2hldGhlcgogICAgb3Igbm90IHlvdSB1c2UgdGhlIGRlZmF1bHQgb3IgcHJvdmlkZSB5b3VyIG93biwgd2hpY2ggaXMgdGhlIGJlaGF2aW9yIHRoZQotICAgY29tbWFuZCBzaGVsbCB1c2VzIHdoZW4gZmluZGluZyBleGVjdXRhYmxlcy4gIEFkZGl0aW9uYWx5LCB3aGVuIGZpbmRpbmcgdGhlCisgICBjb21tYW5kIHNoZWxsIHVzZXMgd2hlbiBmaW5kaW5nIGV4ZWN1dGFibGVzLiAgQWRkaXRpb25hbGx5LCB3aGVuIGZpbmRpbmcgdGhlCiAgICAqY21kKiBpbiB0aGUgKnBhdGgqLCB0aGUgYGBQQVRIRVhUYGAgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgY2hlY2tlZC4gIEZvcgogICAgZXhhbXBsZSwgaWYgeW91IGNhbGwgYGBzaHV0aWwud2hpY2goInB5dGhvbiIpYGAsIDpmdW5jOmB3aGljaGAgd2lsbCBzZWFyY2gKICAgIGBgUEFUSEVYVGBgIHRvIGtub3cgdGhhdCBpdCBzaG91bGQgbG9vayBmb3IgYGBweXRob24uZXhlYGAgd2l0aGluIHRoZSAqcGF0aCoKQEAgLTQyMSw2ICs0MzMsMjYgQEAKICAgIGNvcHl0cmVlKHNvdXJjZSwgZGVzdGluYXRpb24sIGlnbm9yZT1fbG9ncGF0aCkKIAogCisuLiBfc2h1dGlsLXJtdHJlZS1leGFtcGxlOgorCitybXRyZWUgZXhhbXBsZQorfn5+fn5+fn5+fn5+fn4KKworVGhpcyBleGFtcGxlIHNob3dzIGhvdyB0byByZW1vdmUgYSBkaXJlY3RvcnkgdHJlZSBvbiBXaW5kb3dzIHdoZXJlIHNvbWUKK29mIHRoZSBmaWxlcyBoYXZlIHRoZWlyIHJlYWQtb25seSBiaXQgc2V0LiBJdCB1c2VzIHRoZSBvbmVycm9yIGNhbGxiYWNrCit0byBjbGVhciB0aGUgcmVhZG9ubHkgYml0IGFuZCByZWF0dGVtcHQgdGhlIHJlbW92ZS4gQW55IHN1YnNlcXVlbnQgZmFpbHVyZQord2lsbCBwcm9wYWdhdGUuIDo6CisKKyAgICBpbXBvcnQgb3MsIHN0YXQKKyAgICBpbXBvcnQgc2h1dGlsCisKKyAgICBkZWYgcmVtb3ZlX3JlYWRvbmx5KGZ1bmMsIHBhdGgsIF8pOgorICAgICAgICAiQ2xlYXIgdGhlIHJlYWRvbmx5IGJpdCBhbmQgcmVhdHRlbXB0IHRoZSByZW1vdmFsIgorICAgICAgICBvcy5jaG1vZChwYXRoLCBzdGF0LlNfSVdSSVRFKQorICAgICAgICBmdW5jKHBhdGgpCisKKyAgICBzaHV0aWwucm10cmVlKGRpcmVjdG9yeSwgb25lcnJvcj1yZW1vdmVfcmVhZG9ubHkpCisKIC4uIF9hcmNoaXZpbmctb3BlcmF0aW9uczoKIAogQXJjaGl2aW5nIG9wZXJhdGlvbnMKQEAgLTQzNyw3ICs0NjksOCBAQAogCiAgICAqYmFzZV9uYW1lKiBpcyB0aGUgbmFtZSBvZiB0aGUgZmlsZSB0byBjcmVhdGUsIGluY2x1ZGluZyB0aGUgcGF0aCwgbWludXMKICAgIGFueSBmb3JtYXQtc3BlY2lmaWMgZXh0ZW5zaW9uLiAqZm9ybWF0KiBpcyB0aGUgYXJjaGl2ZSBmb3JtYXQ6IG9uZSBvZgotICAgInppcCIsICJ0YXIiLCAiYnp0YXIiIChpZiB0aGUgOm1vZDpgYnoyYCBtb2R1bGUgaXMgYXZhaWxhYmxlKSBvciAiZ3p0YXIiLgorICAgInppcCIsICJ0YXIiLCAiYnp0YXIiIChpZiB0aGUgOm1vZDpgYnoyYCBtb2R1bGUgaXMgYXZhaWxhYmxlKSwgInh6dGFyIgorICAgKGlmIHRoZSA6bW9kOmBsem1hYCBtb2R1bGUgaXMgYXZhaWxhYmxlKSBvciAiZ3p0YXIiLgogCiAgICAqcm9vdF9kaXIqIGlzIGEgZGlyZWN0b3J5IHRoYXQgd2lsbCBiZSB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhlCiAgICBhcmNoaXZlOyBmb3IgZXhhbXBsZSwgd2UgdHlwaWNhbGx5IGNoZGlyIGludG8gKnJvb3RfZGlyKiBiZWZvcmUgY3JlYXRpbmcgdGhlCkBAIC00NjAsNiArNDkzLDkgQEAKIAogICAgVGhlICp2ZXJib3NlKiBhcmd1bWVudCBpcyB1bnVzZWQgYW5kIGRlcHJlY2F0ZWQuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICBBZGRlZCBzdXBwb3J0IGZvciB0aGUgKnh6dGFyKiBmb3JtYXQuCisKIAogLi4gZnVuY3Rpb246OiBnZXRfYXJjaGl2ZV9mb3JtYXRzKCkKIApAQCAtNDcwLDYgKzUwNiw3IEBACiAKICAgIC0gKmd6dGFyKjogZ3ppcCdlZCB0YXItZmlsZQogICAgLSAqYnp0YXIqOiBiemlwMidlZCB0YXItZmlsZSAoaWYgdGhlIDptb2Q6YGJ6MmAgbW9kdWxlIGlzIGF2YWlsYWJsZS4pCisgICAtICp4enRhcio6IHh6J2VkIHRhci1maWxlIChpZiB0aGUgOm1vZDpgbHptYWAgbW9kdWxlIGlzIGF2YWlsYWJsZS4pCiAgICAtICp0YXIqOiB1bmNvbXByZXNzZWQgdGFyIGZpbGUKICAgIC0gKnppcCo6IFpJUCBmaWxlCiAKQEAgLTU0NSw2ICs1ODIsNyBAQAogCiAgICAtICpnenRhcio6IGd6aXAnZWQgdGFyLWZpbGUKICAgIC0gKmJ6dGFyKjogYnppcDInZWQgdGFyLWZpbGUgKGlmIHRoZSA6bW9kOmBiejJgIG1vZHVsZSBpcyBhdmFpbGFibGUuKQorICAgLSAqeHp0YXIqOiB4eidlZCB0YXItZmlsZSAoaWYgdGhlIDptb2Q6YGx6bWFgIG1vZHVsZSBpcyBhdmFpbGFibGUuKQogICAgLSAqdGFyKjogdW5jb21wcmVzc2VkIHRhciBmaWxlCiAgICAtICp6aXAqOiBaSVAgZmlsZQogCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9zaWduYWwucnN0IGIvRG9jL2xpYnJhcnkvc2lnbmFsLnJzdAppbmRleCA4NGUyODM2Li5lZDYxNmIyIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9zaWduYWwucnN0CisrKyBiL0RvYy9saWJyYXJ5L3NpZ25hbC5yc3QKQEAgLTY1LDYgKzY1LDE2IEBACiBNb2R1bGUgY29udGVudHMKIC0tLS0tLS0tLS0tLS0tLQogCisuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgc2lnbmFsIChTSUcqKSwgaGFuZGxlciAoOmNvbnN0OmBTSUdfREZMYCwgOmNvbnN0OmBTSUdfSUdOYCkgYW5kIHNpZ21hc2sKKyAgICg6Y29uc3Q6YFNJR19CTE9DS2AsIDpjb25zdDpgU0lHX1VOQkxPQ0tgLCA6Y29uc3Q6YFNJR19TRVRNQVNLYCkKKyAgIHJlbGF0ZWQgY29uc3RhbnRzIGxpc3RlZCBiZWxvdyB3ZXJlIHR1cm5lZCBpbnRvCisgICA6Y2xhc3M6YGVudW1zIDxlbnVtLkludEVudW0+YC4KKyAgIDpmdW5jOmBnZXRzaWduYWxgLCA6ZnVuYzpgcHRocmVhZF9zaWdtYXNrYCwgOmZ1bmM6YHNpZ3BlbmRpbmdgIGFuZAorICAgOmZ1bmM6YHNpZ3dhaXRgIGZ1bmN0aW9ucyByZXR1cm4gaHVtYW4tcmVhZGFibGUKKyAgIDpjbGFzczpgZW51bXMgPGVudW0uSW50RW51bT5gLgorCisKIFRoZSB2YXJpYWJsZXMgZGVmaW5lZCBpbiB0aGUgOm1vZDpgc2lnbmFsYCBtb2R1bGUgYXJlOgogCiAKQEAgLTMwOCw2ICszMTgsOSBAQAogICAgYXR0ZW1wdGluZyB0byBjYWxsIGl0IGZyb20gb3RoZXIgdGhyZWFkcyB3aWxsIGNhdXNlIGEgOmV4YzpgVmFsdWVFcnJvcmAKICAgIGV4Y2VwdGlvbiB0byBiZSByYWlzZWQuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICBPbiBXaW5kb3dzLCB0aGUgZnVuY3Rpb24gbm93IGFsc28gc3VwcG9ydHMgc29ja2V0IGhhbmRsZXMuCisKIAogLi4gZnVuY3Rpb246OiBzaWdpbnRlcnJ1cHQoc2lnbmFsbnVtLCBmbGFnKQogCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9zaXRlLnJzdCBiL0RvYy9saWJyYXJ5L3NpdGUucnN0CmluZGV4IGU1N2I4Y2MuLjQzZGFmNzkgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3NpdGUucnN0CisrKyBiL0RvYy9saWJyYXJ5L3NpdGUucnN0CkBAIC0yNiwyNCArMjYsMjMgQEAKICAgIDpvcHRpb246YC1TYC4KIAogLi4gaW5kZXg6OgotICAgcGFpcjogc2l0ZS1weXRob247IGRpcmVjdG9yeQogICAgcGFpcjogc2l0ZS1wYWNrYWdlczsgZGlyZWN0b3J5CiAKIEl0IHN0YXJ0cyBieSBjb25zdHJ1Y3RpbmcgdXAgdG8gZm91ciBkaXJlY3RvcmllcyBmcm9tIGEgaGVhZCBhbmQgYSB0YWlsIHBhcnQuCiBGb3IgdGhlIGhlYWQgcGFydCwgaXQgdXNlcyBgYHN5cy5wcmVmaXhgYCBhbmQgYGBzeXMuZXhlY19wcmVmaXhgYDsgZW1wdHkgaGVhZHMKIGFyZSBza2lwcGVkLiAgRm9yIHRoZSB0YWlsIHBhcnQsIGl0IHVzZXMgdGhlIGVtcHR5IHN0cmluZyBhbmQgdGhlbgogOmZpbGU6YGxpYi9zaXRlLXBhY2thZ2VzYCAob24gV2luZG93cykgb3IKLTpmaWxlOmBsaWIvcHl0aG9ue1guWX0vc2l0ZS1wYWNrYWdlc2AgYW5kIHRoZW4gOmZpbGU6YGxpYi9zaXRlLXB5dGhvbmAgKG9uCi1Vbml4IGFuZCBNYWNpbnRvc2gpLiAgRm9yIGVhY2ggb2YgdGhlIGRpc3RpbmN0IGhlYWQtdGFpbCBjb21iaW5hdGlvbnMsIGl0IHNlZXMKLWlmIGl0IHJlZmVycyB0byBhbiBleGlzdGluZyBkaXJlY3RvcnksIGFuZCBpZiBzbywgYWRkcyBpdCB0byBgYHN5cy5wYXRoYGAgYW5kCi1hbHNvIGluc3BlY3RzIHRoZSBuZXdseSBhZGRlZCBwYXRoIGZvciBjb25maWd1cmF0aW9uIGZpbGVzLgorOmZpbGU6YGxpYi9weXRob257WC5ZfS9zaXRlLXBhY2thZ2VzYCAob24gVW5peCBhbmQgTWFjaW50b3NoKS4gIEZvciBlYWNoCitvZiB0aGUgZGlzdGluY3QgaGVhZC10YWlsIGNvbWJpbmF0aW9ucywgaXQgc2VlcyBpZiBpdCByZWZlcnMgdG8gYW4gZXhpc3RpbmcKK2RpcmVjdG9yeSwgYW5kIGlmIHNvLCBhZGRzIGl0IHRvIGBgc3lzLnBhdGhgYCBhbmQgYWxzbyBpbnNwZWN0cyB0aGUgbmV3bHkKK2FkZGVkIHBhdGggZm9yIGNvbmZpZ3VyYXRpb24gZmlsZXMuCiAKLS4uIGRlcHJlY2F0ZWQ6OiAzLjQKLSAgIFN1cHBvcnQgZm9yIHRoZSAic2l0ZS1weXRob24iIGRpcmVjdG9yeSB3aWxsIGJlIHJlbW92ZWQgaW4gMy41LgorLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgIFN1cHBvcnQgZm9yIHRoZSAic2l0ZS1weXRob24iIGRpcmVjdG9yeSBoYXMgYmVlbiByZW1vdmVkLgogCiBJZiBhIGZpbGUgbmFtZWQgInB5dmVudi5jZmciIGV4aXN0cyBvbmUgZGlyZWN0b3J5IGFib3ZlIHN5cy5leGVjdXRhYmxlLAogc3lzLnByZWZpeCBhbmQgc3lzLmV4ZWNfcHJlZml4IGFyZSBzZXQgdG8gdGhhdCBkaXJlY3RvcnkgYW5kCi1pdCBpcyBhbHNvIGNoZWNrZWQgZm9yIHNpdGUtcGFja2FnZXMgYW5kIHNpdGUtcHl0aG9uIChzeXMuYmFzZV9wcmVmaXggYW5kCitpdCBpcyBhbHNvIGNoZWNrZWQgZm9yIHNpdGUtcGFja2FnZXMgKHN5cy5iYXNlX3ByZWZpeCBhbmQKIHN5cy5iYXNlX2V4ZWNfcHJlZml4IHdpbGwgYWx3YXlzIGJlIHRoZSAicmVhbCIgcHJlZml4ZXMgb2YgdGhlIFB5dGhvbgogaW5zdGFsbGF0aW9uKS4gSWYgInB5dmVudi5jZmciIChhIGJvb3RzdHJhcCBjb25maWd1cmF0aW9uIGZpbGUpIGNvbnRhaW5zCiB0aGUga2V5ICJpbmNsdWRlLXN5c3RlbS1zaXRlLXBhY2thZ2VzIiBzZXQgdG8gYW55dGhpbmcgb3RoZXIgdGhhbiAiZmFsc2UiCkBAIC0xODQsNyArMTgzLDcgQEAKICAgIHVubGVzcyB0aGUgUHl0aG9uIGludGVycHJldGVyIHdhcyBzdGFydGVkIHdpdGggdGhlIDpvcHRpb246YC1TYCBmbGFnLgogCiAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMwotICAgICAgVGhpcyBmdW5jdGlvbiB1c2VkIHRvIGJlIGNhbGxlZCB1bmNvbmRpdGlvbm5hbGx5LgorICAgICAgVGhpcyBmdW5jdGlvbiB1c2VkIHRvIGJlIGNhbGxlZCB1bmNvbmRpdGlvbmFsbHkuCiAKIAogLi4gZnVuY3Rpb246OiBhZGRzaXRlZGlyKHNpdGVkaXIsIGtub3duX3BhdGhzPU5vbmUpCkBAIC0xOTUsOCArMTk0LDcgQEAKIAogLi4gZnVuY3Rpb246OiBnZXRzaXRlcGFja2FnZXMoKQogCi0gICBSZXR1cm4gYSBsaXN0IGNvbnRhaW5pbmcgYWxsIGdsb2JhbCBzaXRlLXBhY2thZ2VzIGRpcmVjdG9yaWVzIChhbmQgcG9zc2libHkKLSAgIHNpdGUtcHl0aG9uKS4KKyAgIFJldHVybiBhIGxpc3QgY29udGFpbmluZyBhbGwgZ2xvYmFsIHNpdGUtcGFja2FnZXMgZGlyZWN0b3JpZXMuCiAKICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMgogCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9zbXRwZC5yc3QgYi9Eb2MvbGlicmFyeS9zbXRwZC5yc3QKaW5kZXggM2ViZWQwNi4uM2UwYzZmYiAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvc210cGQucnN0CisrKyBiL0RvYy9saWJyYXJ5L3NtdHBkLnJzdApAQCAtMjAsNyArMjAsOCBAQAogQWRkaXRpb25hbGx5IHRoZSBTTVRQQ2hhbm5lbCBtYXkgYmUgZXh0ZW5kZWQgdG8gaW1wbGVtZW50IHZlcnkgc3BlY2lmaWMKIGludGVyYWN0aW9uIGJlaGF2aW91ciB3aXRoIFNNVFAgY2xpZW50cy4KIAotVGhlIGNvZGUgc3VwcG9ydHMgOlJGQzpgNTMyMWAsIHBsdXMgdGhlIDpyZmM6YDE4NzBgIFNJWkUgZXh0ZW5zaW9uLgorVGhlIGNvZGUgc3VwcG9ydHMgOlJGQzpgNTMyMWAsIHBsdXMgdGhlIDpyZmM6YDE4NzBgIFNJWkUgYW5kIDpyZmM6YDY1MzFgCitTTVRQVVRGOCBleHRlbnNpb25zLgogCiAKIFNNVFBTZXJ2ZXIgT2JqZWN0cwpAQCAtMjgsNyArMjksNyBAQAogCiAKIC4uIGNsYXNzOjogU01UUFNlcnZlcihsb2NhbGFkZHIsIHJlbW90ZWFkZHIsIGRhdGFfc2l6ZV9saW1pdD0zMzU1NDQzMixcCi0gICAgICAgICAgICAgICAgICAgICAgbWFwPU5vbmUpCisgICAgICAgICAgICAgICAgICAgICAgbWFwPU5vbmUsIGVuYWJsZV9TTVRQVVRGOD1GYWxzZSwgZGVjb2RlX2RhdGE9VHJ1ZSkKIAogICAgQ3JlYXRlIGEgbmV3IDpjbGFzczpgU01UUFNlcnZlcmAgb2JqZWN0LCB3aGljaCBiaW5kcyB0byBsb2NhbCBhZGRyZXNzCiAgICAqbG9jYWxhZGRyKi4gIEl0IHdpbGwgdHJlYXQgKnJlbW90ZWFkZHIqIGFzIGFuIHVwc3RyZWFtIFNNVFAgcmVsYXllci4gIEl0CkBAIC0zOSwxOCArNDAsNDcgQEAKICAgIGFjY2VwdGVkIGluIGEgYGBEQVRBYGAgY29tbWFuZC4gIEEgdmFsdWUgb2YgYGBOb25lYGAgb3IgYGAwYGAgbWVhbnMgbm8KICAgIGxpbWl0LgogCisgICAqZW5hYmxlX1NNVFBVVEY4KiBkZXRlcm1pbnMgd2hldGhlciB0aGUgYGBTTVRQVVRGOGBgIGV4dGVuc2lvbiAoYXMgZGVmaW5lZAorICAgaW4gOlJGQzpgNjUzMWApIHNob3VsZCBiZSBlbmFibGVkLiAgVGhlIGRlZmF1bHQgaXMgYGBGYWxzZWBgLiAgSWYKKyAgICplbmFibGVfU01UUFVURiogaXMgc2V0IHRvIGBgVHJ1ZWBgLCB0aGUgOm1ldGg6YHByb2Nlc3Nfc210cHV0ZjhfbWVzc2FnZWAKKyAgIG1ldGhvZCBtdXN0IGJlIGRlZmluZWQuICBBIDpleGM6YFZhbHVlRXJyb3JgIGlzIHJhaXNlZCBpZiBib3RoCisgICAqZW5hYmxlX1NNVFBVVEY4KiBhbmQgKmRlY29kZV9kYXRhKiBhcmUgc2V0IHRvIGBgVHJ1ZWBgIGF0IHRoZSBzYW1lIHRpbWUuCisKICAgIEEgZGljdGlvbmFyeSBjYW4gYmUgc3BlY2lmaWVkIGluICptYXAqIHRvIGF2b2lkIHVzaW5nIGEgZ2xvYmFsIHNvY2tldCBtYXAuCiAKKyAgICpkZWNvZGVfZGF0YSogc3BlY2lmaWVzIHdoZXRoZXIgdGhlIGRhdGEgcG9ydGlvbiBvZiB0aGUgU01UUCB0cmFuc2FjdGlvbgorICAgc2hvdWxkIGJlIGRlY29kZWQgdXNpbmcgVVRGLTguICBUaGUgZGVmYXVsdCBpcyBgYFRydWVgYCBmb3IgYmFja3dhcmQKKyAgIGNvbXBhdGliaWxpdHkgcmVhc29ucywgYnV0IHdpbGwgY2hhbmdlIHRvIGBgRmFsc2VgYCBpbiBQeXRob24gMy42LiAgU3BlY2lmeQorICAgdGhlIGtleXdvcmQgdmFsdWUgZXhwbGljaXRseSB0byBhdm9pZCB0aGUgOmV4YzpgRGVwcmVjYXRpb25XYXJuaW5nYC4KKwogICAgLi4gbWV0aG9kOjogcHJvY2Vzc19tZXNzYWdlKHBlZXIsIG1haWxmcm9tLCByY3B0dG9zLCBkYXRhKQogCi0gICAgICBSYWlzZSA6ZXhjOmBOb3RJbXBsZW1lbnRlZEVycm9yYCBleGNlcHRpb24uIE92ZXJyaWRlIHRoaXMgaW4gc3ViY2xhc3NlcyB0bworICAgICAgUmFpc2UgYSA6ZXhjOmBOb3RJbXBsZW1lbnRlZEVycm9yYCBleGNlcHRpb24uIE92ZXJyaWRlIHRoaXMgaW4gc3ViY2xhc3NlcyB0bwogICAgICAgZG8gc29tZXRoaW5nIHVzZWZ1bCB3aXRoIHRoaXMgbWVzc2FnZS4gV2hhdGV2ZXIgd2FzIHBhc3NlZCBpbiB0aGUKICAgICAgIGNvbnN0cnVjdG9yIGFzICpyZW1vdGVhZGRyKiB3aWxsIGJlIGF2YWlsYWJsZSBhcyB0aGUgOmF0dHI6YF9yZW1vdGVhZGRyYAogICAgICAgYXR0cmlidXRlLiAqcGVlciogaXMgdGhlIHJlbW90ZSBob3N0J3MgYWRkcmVzcywgKm1haWxmcm9tKiBpcyB0aGUgZW52ZWxvcGUKICAgICAgIG9yaWdpbmF0b3IsICpyY3B0dG9zKiBhcmUgdGhlIGVudmVsb3BlIHJlY2lwaWVudHMgYW5kICpkYXRhKiBpcyBhIHN0cmluZwotICAgICAgY29udGFpbmluZyB0aGUgY29udGVudHMgb2YgdGhlIGUtbWFpbCAod2hpY2ggc2hvdWxkIGJlIGluIDpyZmM6YDI4MjJgCisgICAgICBjb250YWluaW5nIHRoZSBjb250ZW50cyBvZiB0aGUgZS1tYWlsICh3aGljaCBzaG91bGQgYmUgaW4gOnJmYzpgNTMyMWAKICAgICAgIGZvcm1hdCkuCiAKKyAgICAgIElmIHRoZSAqZGVjb2RlX2RhdGEqIGNvbnN0cnVjdG9yIGtleXdvcmQgaXMgc2V0IHRvIGBgVHJ1ZWBgLCB0aGUgKmRhdGEqCisgICAgICBhcmd1bWVudCB3aWxsIGJlIGEgdW5pY29kZSBzdHJpbmcuICBJZiBpdCBpcyBzZXQgdG8gYGBGYWxzZWBgLCBpdAorICAgICAgd2lsbCBiZSBhIGJ5dGVzIG9iamVjdC4KKworICAgICAgUmV0dXJuIGBgTm9uZWBgIHRvIHJlcXVlc3QgYSBub3JtYWwgYGAyNTAgT2tgYCByZXNwb25zZTsgb3RoZXJ3aXNlCisgICAgICByZXR1cm4gdGhlIGRlc2lyZWQgcmVzcG9uc2Ugc3RyaW5nIGluIDpSRkM6YDUzMjFgIGZvcm1hdC4KKworICAgLi4gbWV0aG9kOjogcHJvY2Vzc19zbXRwdXRmOF9tZXNzYWdlKHBlZXIsIG1haWxmcm9tLCByY3B0dG9zLCBkYXRhKQorCisgICAgICBSYWlzZSBhIDpleGM6YE5vdEltcGxlbWVudGVkRXJyb3JgIGV4Y2VwdGlvbi4gIE92ZXJyaWRlIHRoaXMgaW4KKyAgICAgIHN1YmNsYXNzZXMgdG8gZG8gc29tZXRoaW5nIHVzZWZ1bCB3aXRoIG1lc3NhZ2VzIHdoZW4gKmVuYWJsZV9TTVRQVVRGOCoKKyAgICAgIGhhcyBiZWVuIHNldCB0byBgYFRydWVgYCBhbmQgdGhlIFNNVFAgY2xpZW50IHJlcXVlc3RlZCBgYFNNVFBVVEY4YGAsCisgICAgICBzaW5jZSB0aGlzIG1ldGhvZCBpcyBjYWxsZWQgcmF0aGVyIHRoYW4gOm1ldGg6YHByb2Nlc3NfbWVzc2FnZWAgd2hlbiB0aGUKKyAgICAgIGNsaWVudCBhY3RpdmVseSByZXF1ZXN0cyBgYFNNVFBVVEY4YGAuICBUaGUgKmRhdGEqIGFyZ3VtZW50IHdpbGwgYWx3YXlzCisgICAgICBiZSBhIGJ5dGVzIG9iamVjdCwgYW5kIGFueSBub24tYGBOb25lYGAgcmV0dXJuIHZhbHVlIHNob3VsZCBjb25mb3JtIHRvCisgICAgICA6cmZjOmA2NTMxYDsgb3RoZXJ3aXNlLCB0aGUgQVBJIGlzIHRoZSBzYW1lIGFzIGZvcgorICAgICAgOm1ldGg6YHByb2Nlc3NfbWVzc2FnZWAuCisKICAgIC4uIGF0dHJpYnV0ZTo6IGNoYW5uZWxfY2xhc3MKIAogICAgICAgT3ZlcnJpZGUgdGhpcyBpbiBzdWJjbGFzc2VzIHRvIHVzZSBhIGN1c3RvbSA6Y2xhc3M6YFNNVFBDaGFubmVsYCBmb3IKQEAgLTU5LDYgKzg5LDEzIEBACiAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNAogICAgICAgVGhlICptYXAqIGFyZ3VtZW50IHdhcyBhZGRlZC4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgICpsb2NhbGFkZHIqIGFuZCAqcmVtb3RlYWRkciogbWF5IG5vdyBjb250YWluIElQdjYgYWRkcmVzc2VzLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKKyAgICAgIHRoZSAqZGVjb2RlX2RhdGEqIGFuZCAqZW5hYmxlX1NNVFBVVEY4KiBjb25zdHJ1Y3RvciBhcmd1bWVudHMsIGFuZCB0aGUKKyAgICAgIDptZXRoOmBwcm9jZXNzX3NtdHB1dGY4X21lc3NhZ2VgIG1ldGhvZC4KKwogCiBEZWJ1Z2dpbmdTZXJ2ZXIgT2JqZWN0cwogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTk3LDcgKzEzNCw3IEBACiAtLS0tLS0tLS0tLS0tLS0tLS0tCiAKIC4uIGNsYXNzOjogU01UUENoYW5uZWwoc2VydmVyLCBjb25uLCBhZGRyLCBkYXRhX3NpemVfbGltaXQ9MzM1NTQ0MzIsXAotICAgICAgICAgICAgICAgICAgICAgICBtYXA9Tm9uZSkpCisgICAgICAgICAgICAgICAgICAgICAgIG1hcD1Ob25lLCBlbmFibGVfU01UUFVURjg9RmFsc2UsIGRlY29kZV9kYXRhPVRydWUpCiAKICAgIENyZWF0ZSBhIG5ldyA6Y2xhc3M6YFNNVFBDaGFubmVsYCBvYmplY3Qgd2hpY2ggbWFuYWdlcyB0aGUgY29tbXVuaWNhdGlvbgogICAgYmV0d2VlbiB0aGUgc2VydmVyIGFuZCBhIHNpbmdsZSBTTVRQIGNsaWVudC4KQEAgLTEwOCwxMSArMTQ1LDI0IEBACiAgICBhY2NlcHRlZCBpbiBhIGBgREFUQWBgIGNvbW1hbmQuICBBIHZhbHVlIG9mIGBgTm9uZWBgIG9yIGBgMGBgIG1lYW5zIG5vCiAgICBsaW1pdC4KIAorICAgKmVuYWJsZV9TTVRQVVRGOCogZGV0ZXJtaW5zIHdoZXRoZXIgdGhlIGBgU01UUFVURjhgYCBleHRlbnNpb24gKGFzIGRlZmluZWQKKyAgIGluIDpSRkM6YDY1MzFgKSBzaG91bGQgYmUgZW5hYmxlZC4gIFRoZSBkZWZhdWx0IGlzIGBgRmFsc2VgYC4gIEEKKyAgIDpleGM6YFZhbHVlRXJyb3JgIGlzIHJhaXNlZCBpZiBib3RoICplbmFibGVfU01UUFVURjgqIGFuZCAqZGVjb2RlX2RhdGEqIGFyZQorICAgc2V0IHRvIGBgVHJ1ZWBgIGF0IHRoZSBzYW1lIHRpbWUuCisKICAgIEEgZGljdGlvbmFyeSBjYW4gYmUgc3BlY2lmaWVkIGluICptYXAqIHRvIGF2b2lkIHVzaW5nIGEgZ2xvYmFsIHNvY2tldCBtYXAuCiAKKyAgICpkZWNvZGVfZGF0YSogc3BlY2lmaWVzIHdoZXRoZXIgdGhlIGRhdGEgcG9ydGlvbiBvZiB0aGUgU01UUCB0cmFuc2FjdGlvbgorICAgc2hvdWxkIGJlIGRlY29kZWQgdXNpbmcgVVRGLTguICBUaGUgZGVmYXVsdCBpcyBgYFRydWVgYCBmb3IgYmFja3dhcmQKKyAgIGNvbXBhdGliaWxpdHkgcmVhc29ucywgYnV0IHdpbGwgY2hhbmdlIHRvIGBgRmFsc2VgYCBpbiBQeXRob24gMy42LiAgU3BlY2lmeQorICAgdGhlIGtleXdvcmQgdmFsdWUgZXhwbGljaXRseSB0byBhdm9pZCB0aGUgOmV4YzpgRGVwcmVjYXRpb25XYXJuaW5nYC4KKwogICAgVG8gdXNlIGEgY3VzdG9tIFNNVFBDaGFubmVsIGltcGxlbWVudGF0aW9uIHlvdSBuZWVkIHRvIG92ZXJyaWRlIHRoZQogICAgOmF0dHI6YFNNVFBTZXJ2ZXIuY2hhbm5lbF9jbGFzc2Agb2YgeW91ciA6Y2xhc3M6YFNNVFBTZXJ2ZXJgLgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgdGhlICpkZWNvZGVfZGF0YSogYW5kICplbmFibGVfU01UUFVURjgqIGFyZ3VtZW50cyB3ZXJlIGFkZGVkLgorCiAgICBUaGUgOmNsYXNzOmBTTVRQQ2hhbm5lbGAgaGFzIHRoZSBmb2xsb3dpbmcgaW5zdGFuY2UgdmFyaWFibGVzOgogCiAgICAuLiBhdHRyaWJ1dGU6OiBzbXRwX3NlcnZlcgpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvc210cGxpYi5yc3QgYi9Eb2MvbGlicmFyeS9zbXRwbGliLnJzdAppbmRleCA4ZTFiZmI1Li43NGRlNzdiIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9zbXRwbGliLnJzdAorKysgYi9Eb2MvbGlicmFyeS9zbXRwbGliLnJzdApAQCAtMjQwLDggKzI0MCw3IEBACiAgICB0aGUgc2VydmVyIGlzIHN0b3JlZCBhcyB0aGUgOmF0dHI6YGVobG9fcmVzcGAgYXR0cmlidXRlLCA6YXR0cjpgZG9lc19lc210cGAKICAgIGlzIHNldCB0byB0cnVlIG9yIGZhbHNlIGRlcGVuZGluZyBvbiB3aGV0aGVyIHRoZSBzZXJ2ZXIgc3VwcG9ydHMgRVNNVFAsIGFuZAogICAgOmF0dHI6YGVzbXRwX2ZlYXR1cmVzYCB3aWxsIGJlIGEgZGljdGlvbmFyeSBjb250YWluaW5nIHRoZSBuYW1lcyBvZiB0aGUKLSAgIFNNVFAgc2VydmljZSBleHRlbnNpb25zIHRoaXMgc2VydmVyIHN1cHBvcnRzLCBhbmQgdGhlaXIKLSAgIHBhcmFtZXRlcnMgKGlmIGFueSkuCisgICBTTVRQIHNlcnZpY2UgZXh0ZW5zaW9ucyB0aGlzIHNlcnZlciBzdXBwb3J0cywgYW5kIHRoZWlyIHBhcmFtZXRlcnMgKGlmIGFueSkuCiAKICAgIFVubGVzcyB5b3Ugd2lzaCB0byB1c2UgOm1ldGg6YGhhc19leHRuYCBiZWZvcmUgc2VuZGluZyBtYWlsLCBpdCBzaG91bGQgbm90IGJlCiAgICBuZWNlc3NhcnkgdG8gY2FsbCB0aGlzIG1ldGhvZCBleHBsaWNpdGx5LiAgSXQgd2lsbCBiZSBpbXBsaWNpdGx5IGNhbGxlZCBieQpAQCAtMjkxLDYgKzI5MCw0MiBAQAogICAgOmV4YzpgU01UUEV4Y2VwdGlvbmAKICAgICAgIE5vIHN1aXRhYmxlIGF1dGhlbnRpY2F0aW9uIG1ldGhvZCB3YXMgZm91bmQuCiAKKyAgIEVhY2ggb2YgdGhlIGF1dGhlbnRpY2F0aW9uIG1ldGhvZHMgc3VwcG9ydGVkIGJ5IDptb2Q6YHNtdHBsaWJgIGFyZSB0cmllZCBpbgorICAgdHVybiBpZiB0aGV5IGFyZSBhZHZlcnRpc2VkIGFzIHN1cHBvcnRlZCBieSB0aGUgc2VydmVyIChzZWUgOm1ldGg6YGF1dGhgCisgICBmb3IgYSBsaXN0IG9mIHN1cHBvcnRlZCBhdXRoZW50aWNhdGlvbiBtZXRob2RzKS4KKworCisuLiBtZXRob2Q6OiBTTVRQLmF1dGgobWVjaGFuaXNtLCBhdXRob2JqZWN0KQorCisgICBJc3N1ZSBhbiBgYFNNVFBgYCBgYEFVVEhgYCBjb21tYW5kIGZvciB0aGUgc3BlY2lmaWVkIGF1dGhlbnRpY2F0aW9uCisgICAqbWVjaGFuaXNtKiwgYW5kIGhhbmRsZSB0aGUgY2hhbGxlbmdlIHJlc3BvbnNlIHZpYSAqYXV0aG9iamVjdCouCisKKyAgICptZWNoYW5pc20qIHNwZWNpZmllcyB3aGljaCBhdXRoZW50aWNhdGlvbiBtZWNoYW5pc20gaXMgdG8KKyAgIGJlIHVzZWQgYXMgYXJndW1lbnQgdG8gdGhlIGBgQVVUSGBgIGNvbW1hbmQ7IHRoZSB2YWxpZCB2YWx1ZXMgYXJlCisgICB0aG9zZSBsaXN0ZWQgaW4gdGhlIGBgYXV0aGBgIGVsZW1lbnQgb2YgOmF0dHI6YGVzbXRwX2ZlYXR1cmVzYC4KKworICAgKmF1dGhvYmplY3QqIG11c3QgYmUgYSBjYWxsYWJsZSBvYmplY3QgdGFraW5nIGEgc2luZ2xlIGFyZ3VtZW50OgorCisgICAgIGRhdGEgPSBhdXRob2JqZWN0KGNoYWxsZW5nZSkKKworICAgSXQgd2lsbCBiZSBjYWxsZWQgdG8gcHJvY2VzcyB0aGUgc2VydmVyJ3MgY2hhbGxlbmdlIHJlc3BvbnNlOyB0aGUKKyAgICpjaGFsbGVuZ2UqIGFyZ3VtZW50IGl0IGlzIHBhc3NlZCB3aWxsIGJlIGEgYGBieXRlc2BgLiAgSXQgc2hvdWxkIHJldHVybgorICAgYGBieXRlc2BgICpkYXRhKiB0aGF0IHdpbGwgYmUgYmFzZTY0IGVuY29kZWQgYW5kIHNlbnQgdG8gdGhlIHNlcnZlci4KKworICAgVGhlIGBgU01UUGBgIGNsYXNzIHByb3ZpZGVzIGBgYXV0aG9iamVjdHNgYCBmb3IgdGhlIGBgQ1JBTS1NRDVgYCwgYGBQTEFJTmBgLAorICAgYW5kIGBgTE9HSU5gYCBtZWNoYW5pc21zOyB0aGV5IGFyZSBuYW1lZCBgYFNNVFAuYXV0aF9jcmFtX21kNWBgLAorICAgYGBTTVRQLmF1dGhfcGxhaW5gYCwgYW5kIGBgU01UUC5hdXRoX2xvZ2luYGAgcmVzcGVjdGl2ZWx5LiAgVGhleSBhbGwgcmVxdWlyZQorICAgdGhhdCB0aGUgYGB1c2VyYGAgYW5kIGBgcGFzc3dvcmRgYCBwcm9wZXJ0aWVzIG9mIHRoZSBgYFNNVFBgYCBpbnN0YW5jZSBhcmUKKyAgIHNldCB0byBhcHByb3ByaWF0ZSB2YWx1ZXMuCisKKyAgIFVzZXIgY29kZSBkb2VzIG5vdCBub3JtYWxseSBuZWVkIHRvIGNhbGwgYGBhdXRoYGAgZGlyZWN0bHksIGJ1dCBjYW4gaW5zdGVhZAorICAgY2FsbCB0aGUgOm1ldGg6YGxvZ2luYCBtZXRob2QsIHdoaWNoIHdpbGwgdHJ5IGVhY2ggb2YgdGhlIGFib3ZlIG1lY2hhbmlzbXMgaW4KKyAgIHR1cm4sIGluIHRoZSBvcmRlciBsaXN0ZWQuICBgYGF1dGhgYCBpcyBleHBvc2VkIHRvIGZhY2lsaXRhdGUgdGhlCisgICBpbXBsZW1lbnRhdGlvbiBvZiBhdXRoZW50aWNhdGlvbiBtZXRob2RzIG5vdCAob3Igbm90IHlldCkgc3VwcG9ydGVkIGRpcmVjdGx5CisgICBieSA6bW9kOmBzbXRwbGliYC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CisKIAogLi4gbWV0aG9kOjogU01UUC5zdGFydHRscyhrZXlmaWxlPU5vbmUsIGNlcnRmaWxlPU5vbmUsIGNvbnRleHQ9Tm9uZSkKIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvc25kaGRyLnJzdCBiL0RvYy9saWJyYXJ5L3NuZGhkci5yc3QKaW5kZXggZjM2ZGY2OC4uZjhiNWQ4YiAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvc25kaGRyLnJzdAorKysgYi9Eb2MvbGlicmFyeS9zbmRoZHIucnN0CkBAIC0xNiw4ICsxNiw5IEBACiAKIFRoZSA6bW9kOmBzbmRoZHJgIHByb3ZpZGVzIHV0aWxpdHkgZnVuY3Rpb25zIHdoaWNoIGF0dGVtcHQgdG8gZGV0ZXJtaW5lIHRoZSB0eXBlCiBvZiBzb3VuZCBkYXRhIHdoaWNoIGlzIGluIGEgZmlsZS4gIFdoZW4gdGhlc2UgZnVuY3Rpb25zIGFyZSBhYmxlIHRvIGRldGVybWluZQotd2hhdCB0eXBlIG9mIHNvdW5kIGRhdGEgaXMgc3RvcmVkIGluIGEgZmlsZSwgdGhleSByZXR1cm4gYSB0dXBsZSBgYCh0eXBlLAotc2FtcGxpbmdfcmF0ZSwgY2hhbm5lbHMsIGZyYW1lcywgYml0c19wZXJfc2FtcGxlKWBgLiAgVGhlIHZhbHVlIGZvciAqdHlwZSoKK3doYXQgdHlwZSBvZiBzb3VuZCBkYXRhIGlzIHN0b3JlZCBpbiBhIGZpbGUsIHRoZXkgcmV0dXJuIGEKKzpmdW5jOmB+Y29sbGVjdGlvbnMubmFtZWR0dXBsZWAsIGNvbnRhaW5pbmcgZml2ZSBhdHRyaWJ1dGVzOiAoYGBmaWxldHlwZWBgLAorYGBmcmFtZXJhdGVgYCwgYGBuY2hhbm5lbHNgYCwgYGBuZnJhbWVzYGAsIGBgc2FtcHdpZHRoYGApLiBUaGUgdmFsdWUgZm9yICp0eXBlKgogaW5kaWNhdGVzIHRoZSBkYXRhIHR5cGUgYW5kIHdpbGwgYmUgb25lIG9mIHRoZSBzdHJpbmdzIGBgJ2FpZmMnYGAsIGBgJ2FpZmYnYGAsCiBgYCdhdSdgYCwgYGAnaGNvbSdgYCwgYGAnc25kcidgYCwgYGAnc25kdCdgYCwgYGAndm9jJ2BgLCBgYCd3YXYnYGAsIGBgJzhzdngnYGAsCiBgYCdzYidgYCwgYGAndWInYGAsIG9yIGBgJ3VsJ2BgLiAgVGhlICpzYW1wbGluZ19yYXRlKiB3aWxsIGJlIGVpdGhlciB0aGUgYWN0dWFsCkBAIC0zMSwxMyArMzIsMTkgQEAKIC4uIGZ1bmN0aW9uOjogd2hhdChmaWxlbmFtZSkKIAogICAgRGV0ZXJtaW5lcyB0aGUgdHlwZSBvZiBzb3VuZCBkYXRhIHN0b3JlZCBpbiB0aGUgZmlsZSAqZmlsZW5hbWUqIHVzaW5nCi0gICA6ZnVuYzpgd2hhdGhkcmAuICBJZiBpdCBzdWNjZWVkcywgcmV0dXJucyBhIHR1cGxlIGFzIGRlc2NyaWJlZCBhYm92ZSwgb3RoZXJ3aXNlCisgICA6ZnVuYzpgd2hhdGhkcmAuICBJZiBpdCBzdWNjZWVkcywgcmV0dXJucyBhIG5hbWVkdHVwbGUgYXMgZGVzY3JpYmVkIGFib3ZlLCBvdGhlcndpc2UKICAgIGBgTm9uZWBgIGlzIHJldHVybmVkLgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgUmVzdWx0IGNoYW5nZWQgZnJvbSBhIHR1cGxlIHRvIGEgbmFtZWR0dXBsZS4KKwogCiAuLiBmdW5jdGlvbjo6IHdoYXRoZHIoZmlsZW5hbWUpCiAKICAgIERldGVybWluZXMgdGhlIHR5cGUgb2Ygc291bmQgZGF0YSBzdG9yZWQgaW4gYSBmaWxlIGJhc2VkIG9uIHRoZSBmaWxlICBoZWFkZXIuCi0gICBUaGUgbmFtZSBvZiB0aGUgZmlsZSBpcyBnaXZlbiBieSAqZmlsZW5hbWUqLiAgVGhpcyBmdW5jdGlvbiByZXR1cm5zIGEgdHVwbGUgYXMKKyAgIFRoZSBuYW1lIG9mIHRoZSBmaWxlIGlzIGdpdmVuIGJ5ICpmaWxlbmFtZSouICBUaGlzIGZ1bmN0aW9uIHJldHVybnMgYSBuYW1lZHR1cGxlIGFzCiAgICBkZXNjcmliZWQgYWJvdmUgb24gc3VjY2Vzcywgb3IgYGBOb25lYGAuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICBSZXN1bHQgY2hhbmdlZCBmcm9tIGEgdHVwbGUgdG8gYSBuYW1lZHR1cGxlLgorCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9zb2NrZXQucnN0IGIvRG9jL2xpYnJhcnkvc29ja2V0LnJzdAppbmRleCBiNzAzZTllLi5lMzMwZjBhIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9zb2NrZXQucnN0CisrKyBiL0RvYy9saWJyYXJ5L3NvY2tldC5yc3QKQEAgLTM1Miw3ICszNTIsNiBAQAogICAgdHlwZSwgYW5kIHByb3RvY29sIG51bWJlci4gIEFkZHJlc3MgZmFtaWx5LCBzb2NrZXQgdHlwZSwgYW5kIHByb3RvY29sIG51bWJlciBhcmUKICAgIGFzIGZvciB0aGUgOmZ1bmM6YC5zb2NrZXRgIGZ1bmN0aW9uIGFib3ZlLiBUaGUgZGVmYXVsdCBmYW1pbHkgaXMgOmNvbnN0OmBBRl9VTklYYAogICAgaWYgZGVmaW5lZCBvbiB0aGUgcGxhdGZvcm07IG90aGVyd2lzZSwgdGhlIGRlZmF1bHQgaXMgOmNvbnN0OmBBRl9JTkVUYC4KLSAgIEF2YWlsYWJpbGl0eTogVW5peC4KIAogICAgVGhlIG5ld2x5IGNyZWF0ZWQgc29ja2V0cyBhcmUgOnJlZjpgbm9uLWluaGVyaXRhYmxlIDxmZF9pbmhlcml0YW5jZT5gLgogCkBAIC0zNjMsNiArMzYyLDkgQEAKICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy40CiAgICAgICBUaGUgcmV0dXJuZWQgc29ja2V0cyBhcmUgbm93IG5vbi1pbmhlcml0YWJsZS4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgIFdpbmRvd3Mgc3VwcG9ydCBhZGRlZC4KKwogCiAuLiBmdW5jdGlvbjo6IGNyZWF0ZV9jb25uZWN0aW9uKGFkZHJlc3NbLCB0aW1lb3V0Wywgc291cmNlX2FkZHJlc3NdXSkKIApAQCAtOTA4LDEyICs5MTAsMTUgQEAKICAgIE9uIG90aGVyIHBsYXRmb3JtcywgdGhlIGdlbmVyaWMgOmZ1bmM6YGZjbnRsLmZjbnRsYCBhbmQgOmZ1bmM6YGZjbnRsLmlvY3RsYAogICAgZnVuY3Rpb25zIG1heSBiZSB1c2VkOyB0aGV5IGFjY2VwdCBhIHNvY2tldCBvYmplY3QgYXMgdGhlaXIgZmlyc3QgYXJndW1lbnQuCiAKLS4uIG1ldGhvZDo6IHNvY2tldC5saXN0ZW4oYmFja2xvZykKKy4uIG1ldGhvZDo6IHNvY2tldC5saXN0ZW4oW2JhY2tsb2ddKQogCi0gICBMaXN0ZW4gZm9yIGNvbm5lY3Rpb25zIG1hZGUgdG8gdGhlIHNvY2tldC4gIFRoZSAqYmFja2xvZyogYXJndW1lbnQgc3BlY2lmaWVzIHRoZQotICAgbWF4aW11bSBudW1iZXIgb2YgcXVldWVkIGNvbm5lY3Rpb25zIGFuZCBzaG91bGQgYmUgYXQgbGVhc3QgMDsgdGhlIG1heGltdW0gdmFsdWUKLSAgIGlzIHN5c3RlbS1kZXBlbmRlbnQgKHVzdWFsbHkgNSksIHRoZSBtaW5pbXVtIHZhbHVlIGlzIGZvcmNlZCB0byAwLgorICAgRW5hYmxlIGEgc2VydmVyIHRvIGFjY2VwdCBjb25uZWN0aW9ucy4gIElmICpiYWNrbG9nKiBpcyBzcGVjaWZpZWQsIGl0IG11c3QKKyAgIGJlIGF0IGxlYXN0IDAgKGlmIGl0IGlzIGxvd2VyLCBpdCBpcyBzZXQgdG8gMCk7IGl0IHNwZWNpZmllcyB0aGUgbnVtYmVyIG9mCisgICB1bmFjY2VwdGVkIGNvbm5lY3Rpb25zIHRoYXQgdGhlIHN5c3RlbSB3aWxsIGFsbG93IGJlZm9yZSByZWZ1c2luZyBuZXcKKyAgIGNvbm5lY3Rpb25zLiBJZiBub3Qgc3BlY2lmaWVkLCBhIGRlZmF1bHQgcmVhc29uYWJsZSB2YWx1ZSBpcyBjaG9zZW4uCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICBUaGUgKmJhY2tsb2cqIHBhcmFtZXRlciBpcyBub3cgb3B0aW9uYWwuCiAKIC4uIG1ldGhvZDo6IHNvY2tldC5tYWtlZmlsZShtb2RlPSdyJywgYnVmZmVyaW5nPU5vbmUsICosIGVuY29kaW5nPU5vbmUsIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnM9Tm9uZSwgbmV3bGluZT1Ob25lKQpAQCAtMTE0OCw2ICsxMTUzLDIxIEBACiAKICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMwogCisuLiBtZXRob2Q6OiBzb2NrZXQuc2VuZGZpbGUoZmlsZSwgb2Zmc2V0PTAsIGNvdW50PU5vbmUpCisKKyAgIFNlbmQgYSBmaWxlIHVudGlsIEVPRiBpcyByZWFjaGVkIGJ5IHVzaW5nIGhpZ2gtcGVyZm9ybWFuY2UKKyAgIDptb2Q6YG9zLnNlbmRmaWxlYCBhbmQgcmV0dXJuIHRoZSB0b3RhbCBudW1iZXIgb2YgYnl0ZXMgd2hpY2ggd2VyZSBzZW50LgorICAgKmZpbGUqIG11c3QgYmUgYSByZWd1bGFyIGZpbGUgb2JqZWN0IG9wZW5lZCBpbiBiaW5hcnkgbW9kZS4gSWYKKyAgIDptb2Q6YG9zLnNlbmRmaWxlYCBpcyBub3QgYXZhaWxhYmxlIChlLmcuIFdpbmRvd3MpIG9yICpmaWxlKiBpcyBub3QgYQorICAgcmVndWxhciBmaWxlIDptZXRoOmBzZW5kYCB3aWxsIGJlIHVzZWQgaW5zdGVhZC4gKm9mZnNldCogdGVsbHMgZnJvbSB3aGVyZSB0bworICAgc3RhcnQgcmVhZGluZyB0aGUgZmlsZS4gSWYgc3BlY2lmaWVkLCAqY291bnQqIGlzIHRoZSB0b3RhbCBudW1iZXIgb2YgYnl0ZXMKKyAgIHRvIHRyYW5zbWl0IGFzIG9wcG9zZWQgdG8gc2VuZGluZyB0aGUgZmlsZSB1bnRpbCBFT0YgaXMgcmVhY2hlZC4gRmlsZQorICAgcG9zaXRpb24gaXMgdXBkYXRlZCBvbiByZXR1cm4gb3IgYWxzbyBpbiBjYXNlIG9mIGVycm9yIGluIHdoaWNoIGNhc2UKKyAgIDptZXRoOmBmaWxlLnRlbGwoKSA8aW8uSU9CYXNlLnRlbGw+YCBjYW4gYmUgdXNlZCB0byBmaWd1cmUgb3V0IHRoZSBudW1iZXIgb2YKKyAgIGJ5dGVzIHdoaWNoIHdlcmUgc2VudC4gVGhlIHNvY2tldCBtdXN0IGJlIG9mIDpjb25zdDpgU09DS19TVFJFQU1gIHR5cGUuIE5vbi0KKyAgIGJsb2NraW5nIHNvY2tldHMgYXJlIG5vdCBzdXBwb3J0ZWQuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQogCiAuLiBtZXRob2Q6OiBzb2NrZXQuc2V0X2luaGVyaXRhYmxlKGluaGVyaXRhYmxlKQogCkBAIC0xNDQ3LDcgKzE0NjcsNyBAQAogY2FuIHVzZSB0aGUgOm1ldGg6YHNvY2tldC5zZW5kYCwgYW5kIHRoZSA6bWV0aDpgc29ja2V0LnJlY3ZgIG9wZXJhdGlvbnMgKGFuZAogdGhlaXIgY291bnRlcnBhcnRzKSBvbiB0aGUgc29ja2V0IG9iamVjdCBhcyB1c3VhbC4KIAotVGhpcyBleGFtcGxlIG1pZ2h0IHJlcXVpcmUgc3BlY2lhbCBwcml2aWxlZGdlOjoKK1RoaXMgZXhhbXBsZSBtaWdodCByZXF1aXJlIHNwZWNpYWwgcHJpdmlsZWdlczo6CiAKICAgIGltcG9ydCBzb2NrZXQKICAgIGltcG9ydCBzdHJ1Y3QKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3NvY2tldHNlcnZlci5yc3QgYi9Eb2MvbGlicmFyeS9zb2NrZXRzZXJ2ZXIucnN0CmluZGV4IDFlYzQ0MzguLjlkYjM2ZDUgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3NvY2tldHNlcnZlci5yc3QKKysrIGIvRG9jL2xpYnJhcnkvc29ja2V0c2VydmVyLnJzdApAQCAtMTEzLDcgKzExMyw3IEBACiBBbm90aGVyIGFwcHJvYWNoIHRvIGhhbmRsaW5nIG11bHRpcGxlIHNpbXVsdGFuZW91cyByZXF1ZXN0cyBpbiBhbiBlbnZpcm9ubWVudAogdGhhdCBzdXBwb3J0cyBuZWl0aGVyIHRocmVhZHMgbm9yIDpmdW5jOmB+b3MuZm9ya2AgKG9yIHdoZXJlIHRoZXNlIGFyZSB0b28KIGV4cGVuc2l2ZSBvciBpbmFwcHJvcHJpYXRlIGZvciB0aGUgc2VydmljZSkgaXMgdG8gbWFpbnRhaW4gYW4gZXhwbGljaXQgdGFibGUgb2YKLXBhcnRpYWxseSBmaW5pc2hlZCByZXF1ZXN0cyBhbmQgdG8gdXNlIDpmdW5jOmB+c2VsZWN0LnNlbGVjdGAgdG8gZGVjaWRlIHdoaWNoCitwYXJ0aWFsbHkgZmluaXNoZWQgcmVxdWVzdHMgYW5kIHRvIHVzZSA6bW9kOmBzZWxlY3RvcnNgIHRvIGRlY2lkZSB3aGljaAogcmVxdWVzdCB0byB3b3JrIG9uIG5leHQgKG9yIHdoZXRoZXIgdG8gaGFuZGxlIGEgbmV3IGluY29taW5nIHJlcXVlc3QpLiAgVGhpcyBpcwogcGFydGljdWxhcmx5IGltcG9ydGFudCBmb3Igc3RyZWFtIHNlcnZpY2VzIHdoZXJlIGVhY2ggY2xpZW50IGNhbiBwb3RlbnRpYWxseSBiZQogY29ubmVjdGVkIGZvciBhIGxvbmcgdGltZSAoaWYgdGhyZWFkcyBvciBzdWJwcm9jZXNzZXMgY2Fubm90IGJlIHVzZWQpLiAgU2VlCkBAIC0xMzYsNyArMTM2LDcgQEAKIC4uIG1ldGhvZDo6IEJhc2VTZXJ2ZXIuZmlsZW5vKCkKIAogICAgUmV0dXJuIGFuIGludGVnZXIgZmlsZSBkZXNjcmlwdG9yIGZvciB0aGUgc29ja2V0IG9uIHdoaWNoIHRoZSBzZXJ2ZXIgaXMKLSAgIGxpc3RlbmluZy4gIFRoaXMgZnVuY3Rpb24gaXMgbW9zdCBjb21tb25seSBwYXNzZWQgdG8gOmZ1bmM6YHNlbGVjdC5zZWxlY3RgLCB0bworICAgbGlzdGVuaW5nLiAgVGhpcyBmdW5jdGlvbiBpcyBtb3N0IGNvbW1vbmx5IHBhc3NlZCB0byA6bW9kOmBzZWxlY3RvcnNgLCB0bwogICAgYWxsb3cgbW9uaXRvcmluZyBtdWx0aXBsZSBzZXJ2ZXJzIGluIHRoZSBzYW1lIHByb2Nlc3MuCiAKIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvc3NsLnJzdCBiL0RvYy9saWJyYXJ5L3NzbC5yc3QKaW5kZXggMDE1ZTBkYi4uZTdjZjQyNSAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvc3NsLnJzdAorKysgYi9Eb2MvbGlicmFyeS9zc2wucnN0CkBAIC0zMjcsNiArMzI3LDggQEAKICAgIFNlZSBodHRwOi8vZWdkLnNvdXJjZWZvcmdlLm5ldC8gb3IgaHR0cDovL3BybmdkLnNvdXJjZWZvcmdlLm5ldC8gZm9yIHNvdXJjZXMKICAgIG9mIGVudHJvcHktZ2F0aGVyaW5nIGRhZW1vbnMuCiAKKyAgIEF2YWlsYWJpbGl0eTogbm90IGF2YWlsYWJsZSB3aXRoIExpYnJlU1NMLgorCiAuLiBmdW5jdGlvbjo6IFJBTkRfYWRkKGJ5dGVzLCBlbnRyb3B5KQogCiAgICBNaXhlcyB0aGUgZ2l2ZW4gKmJ5dGVzKiBpbnRvIHRoZSBTU0wgcHNldWRvLXJhbmRvbSBudW1iZXIgZ2VuZXJhdG9yLiAgVGhlCkBAIC0zNjcsMjIgKzM2OSwzNCBAQAogICAgICAgSUROIEEtbGFiZWxzIHN1Y2ggYXMgYGB3d3cqLnhuLS1wdGhvbi1rdmEub3JnYGAgYXJlIHN0aWxsIHN1cHBvcnRlZCwKICAgICAgIGJ1dCBgYHgqLnB5dGhvbi5vcmdgYCBubyBsb25nZXIgbWF0Y2hlcyBgYHhuLS10ZGEucHl0aG9uLm9yZ2BgLgogCi0uLiBmdW5jdGlvbjo6IGNlcnRfdGltZV90b19zZWNvbmRzKHRpbWVzdHJpbmcpCisuLiBmdW5jdGlvbjo6IGNlcnRfdGltZV90b19zZWNvbmRzKGNlcnRfdGltZSkKIAotICAgUmV0dXJucyBhIGZsb2F0aW5nLXBvaW50IHZhbHVlIGNvbnRhaW5pbmcgYSBub3JtYWwgc2Vjb25kcy1hZnRlci10aGUtZXBvY2gKLSAgIHRpbWUgdmFsdWUsIGdpdmVuIHRoZSB0aW1lLXN0cmluZyByZXByZXNlbnRpbmcgdGhlICJub3RCZWZvcmUiIG9yICJub3RBZnRlciIKLSAgIGRhdGUgZnJvbSBhIGNlcnRpZmljYXRlLgorICAgUmV0dXJuIHRoZSB0aW1lIGluIHNlY29uZHMgc2luY2UgdGhlIEVwb2NoLCBnaXZlbiB0aGUgYGBjZXJ0X3RpbWVgYAorICAgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgIm5vdEJlZm9yZSIgb3IgIm5vdEFmdGVyIiBkYXRlIGZyb20gYQorICAgY2VydGlmaWNhdGUgaW4gYGAiJWIgJWQgJUg6JU06JVMgJVkgJVoiYGAgc3RycHRpbWUgZm9ybWF0IChDCisgICBsb2NhbGUpLgogCi0gICBIZXJlJ3MgYW4gZXhhbXBsZTo6CisgICBIZXJlJ3MgYW4gZXhhbXBsZToKIAotICAgICA+Pj4gaW1wb3J0IHNzbAotICAgICA+Pj4gc3NsLmNlcnRfdGltZV90b19zZWNvbmRzKCJNYXkgIDkgMDA6MDA6MDAgMjAwNyBHTVQiKQotICAgICAxMTc4Njk0MDAwLjAKLSAgICAgPj4+IGltcG9ydCB0aW1lCi0gICAgID4+PiB0aW1lLmN0aW1lKHNzbC5jZXJ0X3RpbWVfdG9fc2Vjb25kcygiTWF5ICA5IDAwOjAwOjAwIDIwMDcgR01UIikpCi0gICAgICdXZWQgTWF5ICA5IDAwOjAwOjAwIDIwMDcnCisgICAuLiBkb2N0ZXN0OjogbmV3Y29udGV4dAogCi0uLiBmdW5jdGlvbjo6IGdldF9zZXJ2ZXJfY2VydGlmaWNhdGUoYWRkciwgc3NsX3ZlcnNpb249UFJPVE9DT0xfU1NMdjMsIGNhX2NlcnRzPU5vbmUpCisgICAgICA+Pj4gaW1wb3J0IHNzbAorICAgICAgPj4+IHRpbWVzdGFtcCA9IHNzbC5jZXJ0X3RpbWVfdG9fc2Vjb25kcygiSmFuICA1IDA5OjM0OjQzIDIwMTggR01UIikKKyAgICAgID4+PiB0aW1lc3RhbXAKKyAgICAgIDE1MTUxNDQ4ODMKKyAgICAgID4+PiBmcm9tIGRhdGV0aW1lIGltcG9ydCBkYXRldGltZQorICAgICAgPj4+IHByaW50KGRhdGV0aW1lLnV0Y2Zyb210aW1lc3RhbXAodGltZXN0YW1wKSkKKyAgICAgIDIwMTgtMDEtMDUgMDk6MzQ6NDMKKworICAgIm5vdEJlZm9yZSIgb3IgIm5vdEFmdGVyIiBkYXRlcyBtdXN0IHVzZSBHTVQgKDpyZmM6YDUyODBgKS4KKworICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgIEludGVycHJldCB0aGUgaW5wdXQgdGltZSBhcyBhIHRpbWUgaW4gVVRDIGFzIHNwZWNpZmllZCBieSAnR01UJworICAgICAgdGltZXpvbmUgaW4gdGhlIGlucHV0IHN0cmluZy4gTG9jYWwgdGltZXpvbmUgd2FzIHVzZWQKKyAgICAgIHByZXZpb3VzbHkuIFJldHVybiBhbiBpbnRlZ2VyIChubyBmcmFjdGlvbnMgb2YgYSBzZWNvbmQgaW4gdGhlCisgICAgICBpbnB1dCBmb3JtYXQpCisKKy4uIGZ1bmN0aW9uOjogZ2V0X3NlcnZlcl9jZXJ0aWZpY2F0ZShhZGRyLCBzc2xfdmVyc2lvbj1QUk9UT0NPTF9TU0x2MjMsIGNhX2NlcnRzPU5vbmUpCiAKICAgIEdpdmVuIHRoZSBhZGRyZXNzIGBgYWRkcmBgIG9mIGFuIFNTTC1wcm90ZWN0ZWQgc2VydmVyLCBhcyBhICgqaG9zdG5hbWUqLAogICAgKnBvcnQtbnVtYmVyKikgcGFpciwgZmV0Y2hlcyB0aGUgc2VydmVyJ3MgY2VydGlmaWNhdGUsIGFuZCByZXR1cm5zIGl0IGFzIGEKQEAgLTM5Niw2ICs0MTAsMTAgQEAKICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCiAgICAgICBUaGlzIGZ1bmN0aW9uIGlzIG5vdyBJUHY2LWNvbXBhdGlibGUuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICBUaGUgZGVmYXVsdCAqc3NsX3ZlcnNpb24qIGlzIGNoYW5nZWQgZnJvbSA6ZGF0YTpgUFJPVE9DT0xfU1NMdjNgIHRvCisgICAgICA6ZGF0YTpgUFJPVE9DT0xfU1NMdjIzYCBmb3IgbWF4aW11bSBjb21wYXRpYmlsaXR5IHdpdGggbW9kZXJuIHNlcnZlcnMuCisKIC4uIGZ1bmN0aW9uOjogREVSX2NlcnRfdG9fUEVNX2NlcnQoREVSX2NlcnRfYnl0ZXMpCiAKICAgIEdpdmVuIGEgY2VydGlmaWNhdGUgYXMgYSBERVItZW5jb2RlZCBibG9iIG9mIGJ5dGVzLCByZXR1cm5zIGEgUEVNLWVuY29kZWQKQEAgLTY1NSw2ICs2NzMsMTMgQEAKIAogICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCiAKKy4uIGRhdGE6OiBIQVNfQUxQTgorCisgICBXaGV0aGVyIHRoZSBPcGVuU1NMIGxpYnJhcnkgaGFzIGJ1aWx0LWluIHN1cHBvcnQgZm9yIHRoZSAqQXBwbGljYXRpb24tTGF5ZXIKKyAgIFByb3RvY29sIE5lZ290aWF0aW9uKiBUTFMgZXh0ZW5zaW9uIGFzIGRlc2NyaWJlZCBpbiA6cmZjOmA3MzAxYC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CisKIC4uIGRhdGE6OiBIQVNfRUNESAogCiAgICBXaGV0aGVyIHRoZSBPcGVuU1NMIGxpYnJhcnkgaGFzIGJ1aWx0LWluIHN1cHBvcnQgZm9yIEVsbGlwdGljIEN1cnZlLWJhc2VkCkBAIC03NzIsNiArNzk3LDggQEAKICAgICAgKGJ1dCBwYXNzaW5nIGEgbm9uLXplcm8gYGBmbGFnc2BgIGFyZ3VtZW50IGlzIG5vdCBhbGxvd2VkKQogICAgLSA6bWV0aDpgfnNvY2tldC5zb2NrZXQuc2VuZCgpYCwgOm1ldGg6YH5zb2NrZXQuc29ja2V0LnNlbmRhbGwoKWAgKHdpdGgKICAgICAgdGhlIHNhbWUgbGltaXRhdGlvbikKKyAgIC0gOm1ldGg6YH5zb2NrZXQuc29ja2V0LnNlbmRmaWxlKClgIChidXQgOm1vZDpgb3Muc2VuZGZpbGVgIHdpbGwgYmUgdXNlZAorICAgICBmb3IgcGxhaW4tdGV4dCBzb2NrZXRzIG9ubHksIGVsc2UgOm1ldGg6YH5zb2NrZXQuc29ja2V0LnNlbmQoKWAgd2lsbCBiZSB1c2VkKQogICAgLSA6bWV0aDpgfnNvY2tldC5zb2NrZXQuc2h1dGRvd24oKWAKIAogICAgSG93ZXZlciwgc2luY2UgdGhlIFNTTCAoYW5kIFRMUykgcHJvdG9jb2wgaGFzIGl0cyBvd24gZnJhbWluZyBhdG9wCkBAIC03ODIsNiArODA5LDEwIEBACiAgICBVc3VhbGx5LCA6Y2xhc3M6YFNTTFNvY2tldGAgYXJlIG5vdCBjcmVhdGVkIGRpcmVjdGx5LCBidXQgdXNpbmcgdGhlCiAgICA6ZnVuYzpgd3JhcF9zb2NrZXRgIGZ1bmN0aW9uIG9yIHRoZSA6bWV0aDpgU1NMQ29udGV4dC53cmFwX3NvY2tldGAgbWV0aG9kLgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgVGhlIDptZXRoOmBzZW5kZmlsZWAgbWV0aG9kIHdhcyBhZGRlZC4KKworCiBTU0wgc29ja2V0cyBhbHNvIGhhdmUgdGhlIGZvbGxvd2luZyBhZGRpdGlvbmFsIG1ldGhvZHMgYW5kIGF0dHJpYnV0ZXM6CiAKIC4uIG1ldGhvZDo6IFNTTFNvY2tldC5yZWFkKGxlbj0wLCBidWZmZXI9Tm9uZSkKQEAgLTkwMSw2ICs5MzIsMTcgQEAKICAgIHZlcnNpb24gb2YgdGhlIFNTTCBwcm90b2NvbCB0aGF0IGRlZmluZXMgaXRzIHVzZSwgYW5kIHRoZSBudW1iZXIgb2Ygc2VjcmV0CiAgICBiaXRzIGJlaW5nIHVzZWQuICBJZiBubyBjb25uZWN0aW9uIGhhcyBiZWVuIGVzdGFibGlzaGVkLCByZXR1cm5zIGBgTm9uZWBgLgogCisuLiBtZXRob2Q6OiBTU0xTb2NrZXQuc2hhcmVkX2NpcGhlcnMoKQorCisgICBSZXR1cm4gdGhlIGxpc3Qgb2YgY2lwaGVycyBzaGFyZWQgYnkgdGhlIGNsaWVudCBkdXJpbmcgdGhlIGhhbmRzaGFrZS4gIEVhY2gKKyAgIGVudHJ5IG9mIHRoZSByZXR1cm5lZCBsaXN0IGlzIGEgdGhyZWUtdmFsdWUgdHVwbGUgY29udGFpbmluZyB0aGUgbmFtZSBvZiB0aGUKKyAgIGNpcGhlciwgdGhlIHZlcnNpb24gb2YgdGhlIFNTTCBwcm90b2NvbCB0aGF0IGRlZmluZXMgaXRzIHVzZSwgYW5kIHRoZSBudW1iZXIKKyAgIG9mIHNlY3JldCBiaXRzIHRoZSBjaXBoZXIgdXNlcy4gIDptZXRoOmB+U1NMU29ja2V0LnNoYXJlZF9jaXBoZXJzYCByZXR1cm5zCisgICBgYE5vbmVgYCBpZiBubyBjb25uZWN0aW9uIGhhcyBiZWVuIGVzdGFibGlzaGVkIG9yIHRoZSBzb2NrZXQgaXMgYSBjbGllbnQKKyAgIHNvY2tldC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CisKIC4uIG1ldGhvZDo6IFNTTFNvY2tldC5jb21wcmVzc2lvbigpCiAKICAgIFJldHVybiB0aGUgY29tcHJlc3Npb24gYWxnb3JpdGhtIGJlaW5nIHVzZWQgYXMgYSBzdHJpbmcsIG9yIGBgTm9uZWBgCkBAIC05MjQsMTIgKzk2NiwyMiBAQAogCiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKIAorLi4gbWV0aG9kOjogU1NMU29ja2V0LnNlbGVjdGVkX2FscG5fcHJvdG9jb2woKQorCisgICBSZXR1cm4gdGhlIHByb3RvY29sIHRoYXQgd2FzIHNlbGVjdGVkIGR1cmluZyB0aGUgVExTIGhhbmRzaGFrZS4gIElmCisgICA6bWV0aDpgU1NMQ29udGV4dC5zZXRfYWxwbl9wcm90b2NvbHNgIHdhcyBub3QgY2FsbGVkLCBpZiB0aGUgb3RoZXIgcGFydHkgZG9lcworICAgbm90IHN1cHBvcnQgQUxQTiwgaWYgdGhpcyBzb2NrZXQgZG9lcyBub3Qgc3VwcG9ydCBhbnkgb2YgdGhlIGNsaWVudCdzCisgICBwcm9wb3NlZCBwcm90b2NvbHMsIG9yIGlmIHRoZSBoYW5kc2hha2UgaGFzIG5vdCBoYXBwZW5lZCB5ZXQsIGBgTm9uZWBgIGlzCisgICByZXR1cm5lZC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CisKIC4uIG1ldGhvZDo6IFNTTFNvY2tldC5zZWxlY3RlZF9ucG5fcHJvdG9jb2woKQogCi0gICBSZXR1cm5zIHRoZSBwcm90b2NvbCB0aGF0IHdhcyBzZWxlY3RlZCBkdXJpbmcgdGhlIFRMUy9TU0wgaGFuZHNoYWtlLiBJZgotICAgOm1ldGg6YFNTTENvbnRleHQuc2V0X25wbl9wcm90b2NvbHNgIHdhcyBub3QgY2FsbGVkLCBvciBpZiB0aGUgb3RoZXIgcGFydHkKLSAgIGRvZXMgbm90IHN1cHBvcnQgTlBOLCBvciBpZiB0aGUgaGFuZHNoYWtlIGhhcyBub3QgeWV0IGhhcHBlbmVkLCB0aGlzIHdpbGwKLSAgIHJldHVybiBgYE5vbmVgYC4KKyAgIFJldHVybiB0aGUgaGlnaGVyLWxldmVsIHByb3RvY29sIHRoYXQgd2FzIHNlbGVjdGVkIGR1cmluZyB0aGUgVExTL1NTTAorICAgaGFuZHNoYWtlLiBJZiA6bWV0aDpgU1NMQ29udGV4dC5zZXRfbnBuX3Byb3RvY29sc2Agd2FzIG5vdCBjYWxsZWQsIG9yCisgICBpZiB0aGUgb3RoZXIgcGFydHkgZG9lcyBub3Qgc3VwcG9ydCBOUE4sIG9yIGlmIHRoZSBoYW5kc2hha2UgaGFzIG5vdCB5ZXQKKyAgIGhhcHBlbmVkLCB0aGlzIHdpbGwgcmV0dXJuIGBgTm9uZWBgLgogCiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKIApAQCAtOTQxLDYgKzk5MywxNiBAQAogICAgcmV0dXJuZWQgc29ja2V0IHNob3VsZCBhbHdheXMgYmUgdXNlZCBmb3IgZnVydGhlciBjb21tdW5pY2F0aW9uIHdpdGggdGhlCiAgICBvdGhlciBzaWRlIG9mIHRoZSBjb25uZWN0aW9uLCByYXRoZXIgdGhhbiB0aGUgb3JpZ2luYWwgc29ja2V0LgogCisuLiBtZXRob2Q6OiBTU0xTb2NrZXQudmVyc2lvbigpCisKKyAgIFJldHVybiB0aGUgYWN0dWFsIFNTTCBwcm90b2NvbCB2ZXJzaW9uIG5lZ290aWF0ZWQgYnkgdGhlIGNvbm5lY3Rpb24KKyAgIGFzIGEgc3RyaW5nLCBvciBgYE5vbmVgYCBpcyBubyBzZWN1cmUgY29ubmVjdGlvbiBpcyBlc3RhYmxpc2hlZC4KKyAgIEFzIG9mIHRoaXMgd3JpdGluZywgcG9zc2libGUgcmV0dXJuIHZhbHVlcyBpbmNsdWRlIGBgIlNTTHYyImBgLAorICAgYGAiU1NMdjMiYGAsIGBgIlRMU3YxImBgLCBgYCJUTFN2MS4xImBgIGFuZCBgYCJUTFN2MS4yImBgLgorICAgUmVjZW50IE9wZW5TU0wgdmVyc2lvbnMgbWF5IGRlZmluZSBtb3JlIHJldHVybiB2YWx1ZXMuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQorCiAuLiBtZXRob2Q6OiBTU0xTb2NrZXQucGVuZGluZygpCiAKICAgIFJldHVybnMgdGhlIG51bWJlciBvZiBhbHJlYWR5IGRlY3J5cHRlZCBieXRlcyBhdmFpbGFibGUgZm9yIHJlYWQsIHBlbmRpbmcgb24KQEAgLTExMTUsNiArMTE3NywyMCBAQAogICAgICAgd2hlbiBjb25uZWN0ZWQsIHRoZSA6bWV0aDpgU1NMU29ja2V0LmNpcGhlcmAgbWV0aG9kIG9mIFNTTCBzb2NrZXRzIHdpbGwKICAgICAgIGdpdmUgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBjaXBoZXIuCiAKKy4uIG1ldGhvZDo6IFNTTENvbnRleHQuc2V0X2FscG5fcHJvdG9jb2xzKHByb3RvY29scykKKworICAgU3BlY2lmeSB3aGljaCBwcm90b2NvbHMgdGhlIHNvY2tldCBzaG91bGQgYWR2ZXJ0aXNlIGR1cmluZyB0aGUgU1NML1RMUworICAgaGFuZHNoYWtlLiBJdCBzaG91bGQgYmUgYSBsaXN0IG9mIEFTQ0lJIHN0cmluZ3MsIGxpa2UgYGBbJ2h0dHAvMS4xJywKKyAgICdzcGR5LzInXWBgLCBvcmRlcmVkIGJ5IHByZWZlcmVuY2UuIFRoZSBzZWxlY3Rpb24gb2YgYSBwcm90b2NvbCB3aWxsIGhhcHBlbgorICAgZHVyaW5nIHRoZSBoYW5kc2hha2UsIGFuZCB3aWxsIHBsYXkgb3V0IGFjY29yZGluZyB0byA6cmZjOmA3MzAxYC4gQWZ0ZXIgYQorICAgc3VjY2Vzc2Z1bCBoYW5kc2hha2UsIHRoZSA6bWV0aDpgU1NMU29ja2V0LnNlbGVjdGVkX2FscG5fcHJvdG9jb2xgIG1ldGhvZCB3aWxsCisgICByZXR1cm4gdGhlIGFncmVlZC11cG9uIHByb3RvY29sLgorCisgICBUaGlzIG1ldGhvZCB3aWxsIHJhaXNlIDpleGM6YE5vdEltcGxlbWVudGVkRXJyb3JgIGlmIDpkYXRhOmBIQVNfQUxQTmAgaXMKKyAgIEZhbHNlLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKKwogLi4gbWV0aG9kOjogU1NMQ29udGV4dC5zZXRfbnBuX3Byb3RvY29scyhwcm90b2NvbHMpCiAKICAgIFNwZWNpZnkgd2hpY2ggcHJvdG9jb2xzIHRoZSBzb2NrZXQgc2hvdWxkIGFkdmVydGlzZSBkdXJpbmcgdGhlIFNTTC9UTFMKQEAgLTExNTUsNyArMTIzMSw3IEBACiAKICAgIER1ZSB0byB0aGUgZWFybHkgbmVnb3RpYXRpb24gcGhhc2Ugb2YgdGhlIFRMUyBjb25uZWN0aW9uLCBvbmx5IGxpbWl0ZWQKICAgIG1ldGhvZHMgYW5kIGF0dHJpYnV0ZXMgYXJlIHVzYWJsZSBsaWtlCi0gICA6bWV0aDpgU1NMU29ja2V0LnNlbGVjdGVkX25wbl9wcm90b2NvbGAgYW5kIDphdHRyOmBTU0xTb2NrZXQuY29udGV4dGAuCisgICA6bWV0aDpgU1NMU29ja2V0LnNlbGVjdGVkX2FscG5fcHJvdG9jb2xgIGFuZCA6YXR0cjpgU1NMU29ja2V0LmNvbnRleHRgLgogICAgOm1ldGg6YFNTTFNvY2tldC5nZXRwZWVyY2VydGAsIDptZXRoOmBTU0xTb2NrZXQuZ2V0cGVlcmNlcnRgLAogICAgOm1ldGg6YFNTTFNvY2tldC5jaXBoZXJgIGFuZCA6bWV0aDpgU1NMU29ja2V0LmNvbXByZXNzYCBtZXRob2RzIHJlcXVpcmUgdGhhdAogICAgdGhlIFRMUyBjb25uZWN0aW9uIGhhcyBwcm9ncmVzc2VkIGJleW9uZCB0aGUgVExTIENsaWVudCBIZWxsbyBhbmQgdGhlcmVmb3JlCkBAIC0xMjMxLDEwICsxMzA3LDIwIEBACiAgICBxdWl0ZSBzaW1pbGFybHkgdG8gSFRUUCB2aXJ0dWFsIGhvc3RzLiBTcGVjaWZ5aW5nICpzZXJ2ZXJfaG9zdG5hbWUqIHdpbGwKICAgIHJhaXNlIGEgOmV4YzpgVmFsdWVFcnJvcmAgaWYgKnNlcnZlcl9zaWRlKiBpcyB0cnVlLgogCi0gICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNC4zCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQogICAgICAgQWx3YXlzIGFsbG93IGEgc2VydmVyX2hvc3RuYW1lIHRvIGJlIHBhc3NlZCwgZXZlbiBpZiBPcGVuU1NMIGRvZXMgbm90CiAgICAgICBoYXZlIFNOSS4KIAorLi4gbWV0aG9kOjogU1NMQ29udGV4dC53cmFwX2JpbyhpbmNvbWluZywgb3V0Z29pbmcsIHNlcnZlcl9zaWRlPUZhbHNlLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlcl9ob3N0bmFtZT1Ob25lKQorCisgICBDcmVhdGUgYSBuZXcgOmNsYXNzOmBTU0xPYmplY3RgIGluc3RhbmNlIGJ5IHdyYXBwaW5nIHRoZSBCSU8gb2JqZWN0cworICAgKmluY29taW5nKiBhbmQgKm91dGdvaW5nKi4gVGhlIFNTTCByb3V0aW5lcyB3aWxsIHJlYWQgaW5wdXQgZGF0YSBmcm9tIHRoZQorICAgaW5jb21pbmcgQklPIGFuZCB3cml0ZSBkYXRhIHRvIHRoZSBvdXRnb2luZyBCSU8uCisKKyAgIFRoZSAqc2VydmVyX3NpZGUqIGFuZCAqc2VydmVyX2hvc3RuYW1lKiBwYXJhbWV0ZXJzIGhhdmUgdGhlIHNhbWUgbWVhbmluZyBhcworICAgaW4gOm1ldGg6YFNTTENvbnRleHQud3JhcF9zb2NrZXRgLgorCiAuLiBtZXRob2Q6OiBTU0xDb250ZXh0LnNlc3Npb25fc3RhdHMoKQogCiAgICBHZXQgc3RhdGlzdGljcyBhYm91dCB0aGUgU1NMIHNlc3Npb25zIGNyZWF0ZWQgb3IgbWFuYWdlZCBieSB0aGlzIGNvbnRleHQuCkBAIC0xNjE5LDcgKzE3MDUsNyBAQAogCiBBbmQgZ28gYmFjayB0byBsaXN0ZW5pbmcgZm9yIG5ldyBjbGllbnQgY29ubmVjdGlvbnMgKG9mIGNvdXJzZSwgYSByZWFsIHNlcnZlcgogd291bGQgcHJvYmFibHkgaGFuZGxlIGVhY2ggY2xpZW50IGNvbm5lY3Rpb24gaW4gYSBzZXBhcmF0ZSB0aHJlYWQsIG9yIHB1dAotdGhlIHNvY2tldHMgaW4gbm9uLWJsb2NraW5nIG1vZGUgYW5kIHVzZSBhbiBldmVudCBsb29wKS4KK3RoZSBzb2NrZXRzIGluIDpyZWY6YG5vbi1ibG9ja2luZyBtb2RlIDxzc2wtbm9uYmxvY2tpbmc+YCBhbmQgdXNlIGFuIGV2ZW50IGxvb3ApLgogCiAKIC4uIF9zc2wtbm9uYmxvY2tpbmc6CkBAIC0xNjQxLDYgKzE3MjcsMTIgQEAKICAgc29ja2V0IGZpcnN0LCBhbmQgYXR0ZW1wdHMgdG8gKnJlYWQqIGZyb20gdGhlIFNTTCBzb2NrZXQgbWF5IHJlcXVpcmUKICAgYSBwcmlvciAqd3JpdGUqIHRvIHRoZSB1bmRlcmx5aW5nIHNvY2tldC4KIAorICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorCisgICAgIEluIGVhcmxpZXIgUHl0aG9uIHZlcnNpb25zLCB0aGUgOm1ldGg6YCFTU0xTb2NrZXQuc2VuZGAgbWV0aG9kCisgICAgIHJldHVybmVkIHplcm8gaW5zdGVhZCBvZiByYWlzaW5nIDpleGM6YFNTTFdhbnRXcml0ZUVycm9yYCBvcgorICAgICA6ZXhjOmBTU0xXYW50UmVhZEVycm9yYC4KKwogLSBDYWxsaW5nIDpmdW5jOmB+c2VsZWN0LnNlbGVjdGAgdGVsbHMgeW91IHRoYXQgdGhlIE9TLWxldmVsIHNvY2tldCBjYW4gYmUKICAgcmVhZCBmcm9tIChvciB3cml0dGVuIHRvKSwgYnV0IGl0IGRvZXMgbm90IGltcGx5IHRoYXQgdGhlcmUgaXMgc3VmZmljaWVudAogICBkYXRhIGF0IHRoZSB1cHBlciBTU0wgbGF5ZXIuICBGb3IgZXhhbXBsZSwgb25seSBwYXJ0IG9mIGFuIFNTTCBmcmFtZSBtaWdodApAQCAtMTY3MywxMyArMTc2NSwxNDMgQEAKIAogLi4gc2VlYWxzbzo6CiAKLSAgIFRoZSA6bW9kOmBhc3luY2lvYCBtb2R1bGUgc3VwcG9ydHMgbm9uLWJsb2NraW5nIFNTTCBzb2NrZXRzIGFuZCBwcm92aWRlcyBhCisgICBUaGUgOm1vZDpgYXN5bmNpb2AgbW9kdWxlIHN1cHBvcnRzIDpyZWY6YG5vbi1ibG9ja2luZyBTU0wgc29ja2V0cworICAgPHNzbC1ub25ibG9ja2luZz5gIGFuZCBwcm92aWRlcyBhCiAgICBoaWdoZXIgbGV2ZWwgQVBJLiBJdCBwb2xscyBmb3IgZXZlbnRzIHVzaW5nIHRoZSA6bW9kOmBzZWxlY3RvcnNgIG1vZHVsZSBhbmQKICAgIGhhbmRsZXMgOmV4YzpgU1NMV2FudFdyaXRlRXJyb3JgLCA6ZXhjOmBTU0xXYW50UmVhZEVycm9yYCBhbmQKICAgIDpleGM6YEJsb2NraW5nSU9FcnJvcmAgZXhjZXB0aW9ucy4gSXQgcnVucyB0aGUgU1NMIGhhbmRzaGFrZSBhc3luY2hyb25vdXNseQogICAgYXMgd2VsbC4KIAogCitNZW1vcnkgQklPIFN1cHBvcnQKKy0tLS0tLS0tLS0tLS0tLS0tLQorCisuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKKworRXZlciBzaW5jZSB0aGUgU1NMIG1vZHVsZSB3YXMgaW50cm9kdWNlZCBpbiBQeXRob24gMi42LCB0aGUgOmNsYXNzOmBTU0xTb2NrZXRgCitjbGFzcyBoYXMgcHJvdmlkZWQgdHdvIHJlbGF0ZWQgYnV0IGRpc3RpbmN0IGFyZWFzIG9mIGZ1bmN0aW9uYWxpdHk6CisKKy0gU1NMIHByb3RvY29sIGhhbmRsaW5nCistIE5ldHdvcmsgSU8KKworVGhlIG5ldHdvcmsgSU8gQVBJIGlzIGlkZW50aWNhbCB0byB0aGF0IHByb3ZpZGVkIGJ5IDpjbGFzczpgc29ja2V0LnNvY2tldGAsCitmcm9tIHdoaWNoIDpjbGFzczpgU1NMU29ja2V0YCBhbHNvIGluaGVyaXRzLiBUaGlzIGFsbG93cyBhbiBTU0wgc29ja2V0IHRvIGJlCit1c2VkIGFzIGEgZHJvcC1pbiByZXBsYWNlbWVudCBmb3IgYSByZWd1bGFyIHNvY2tldCwgbWFraW5nIGl0IHZlcnkgZWFzeSB0byBhZGQKK1NTTCBzdXBwb3J0IHRvIGFuIGV4aXN0aW5nIGFwcGxpY2F0aW9uLgorCitDb21iaW5pbmcgU1NMIHByb3RvY29sIGhhbmRsaW5nIGFuZCBuZXR3b3JrIElPIHVzdWFsbHkgd29ya3Mgd2VsbCwgYnV0IHRoZXJlCithcmUgc29tZSBjYXNlcyB3aGVyZSBpdCBkb2Vzbid0LiBBbiBleGFtcGxlIGlzIGFzeW5jIElPIGZyYW1ld29ya3MgdGhhdCB3YW50IHRvCit1c2UgYSBkaWZmZXJlbnQgSU8gbXVsdGlwbGV4aW5nIG1vZGVsIHRoYW4gdGhlICJzZWxlY3QvcG9sbCBvbiBhIGZpbGUKK2Rlc2NyaXB0b3IiIChyZWFkaW5lc3MgYmFzZWQpIG1vZGVsIHRoYXQgaXMgYXNzdW1lZCBieSA6Y2xhc3M6YHNvY2tldC5zb2NrZXRgCithbmQgYnkgdGhlIGludGVybmFsIE9wZW5TU0wgc29ja2V0IElPIHJvdXRpbmVzLiBUaGlzIGlzIG1vc3RseSByZWxldmFudCBmb3IKK3BsYXRmb3JtcyBsaWtlIFdpbmRvd3Mgd2hlcmUgdGhpcyBtb2RlbCBpcyBub3QgZWZmaWNpZW50LiBGb3IgdGhpcyBwdXJwb3NlLCBhCityZWR1Y2VkIHNjb3BlIHZhcmlhbnQgb2YgOmNsYXNzOmBTU0xTb2NrZXRgIGNhbGxlZCA6Y2xhc3M6YFNTTE9iamVjdGAgaXMKK3Byb3ZpZGVkLgorCisuLiBjbGFzczo6IFNTTE9iamVjdAorCisgICBBIHJlZHVjZWQtc2NvcGUgdmFyaWFudCBvZiA6Y2xhc3M6YFNTTFNvY2tldGAgcmVwcmVzZW50aW5nIGFuIFNTTCBwcm90b2NvbAorICAgaW5zdGFuY2UgdGhhdCBkb2VzIG5vdCBjb250YWluIGFueSBuZXR3b3JrIElPIG1ldGhvZHMuIFRoaXMgY2xhc3MgaXMKKyAgIHR5cGljYWxseSB1c2VkIGJ5IGZyYW1ld29yayBhdXRob3JzIHRoYXQgd2FudCB0byBpbXBsZW1lbnQgYXN5bmNocm9ub3VzIElPCisgICBmb3IgU1NMIHRocm91Z2ggbWVtb3J5IGJ1ZmZlcnMuCisKKyAgIFRoaXMgY2xhc3MgaW1wbGVtZW50cyBhbiBpbnRlcmZhY2Ugb24gdG9wIG9mIGEgbG93LWxldmVsIFNTTCBvYmplY3QgYXMKKyAgIGltcGxlbWVudGVkIGJ5IE9wZW5TU0wuIFRoaXMgb2JqZWN0IGNhcHR1cmVzIHRoZSBzdGF0ZSBvZiBhbiBTU0wgY29ubmVjdGlvbgorICAgYnV0IGRvZXMgbm90IHByb3ZpZGUgYW55IG5ldHdvcmsgSU8gaXRzZWxmLiBJTyBuZWVkcyB0byBiZSBwZXJmb3JtZWQgdGhyb3VnaAorICAgc2VwYXJhdGUgIkJJTyIgb2JqZWN0cyB3aGljaCBhcmUgT3BlblNTTCdzIElPIGFic3RyYWN0aW9uIGxheWVyLgorCisgICBBbiA6Y2xhc3M6YFNTTE9iamVjdGAgaW5zdGFuY2UgY2FuIGJlIGNyZWF0ZWQgdXNpbmcgdGhlCisgICA6bWV0aDpgflNTTENvbnRleHQud3JhcF9iaW9gIG1ldGhvZC4gVGhpcyBtZXRob2Qgd2lsbCBjcmVhdGUgdGhlCisgICA6Y2xhc3M6YFNTTE9iamVjdGAgaW5zdGFuY2UgYW5kIGJpbmQgaXQgdG8gYSBwYWlyIG9mIEJJT3MuIFRoZSAqaW5jb21pbmcqCisgICBCSU8gaXMgdXNlZCB0byBwYXNzIGRhdGEgZnJvbSBQeXRob24gdG8gdGhlIFNTTCBwcm90b2NvbCBpbnN0YW5jZSwgd2hpbGUgdGhlCisgICAqb3V0Z29pbmcqIEJJTyBpcyB1c2VkIHRvIHBhc3MgZGF0YSB0aGUgb3RoZXIgd2F5IGFyb3VuZC4KKworICAgVGhlIGZvbGxvd2luZyBtZXRob2RzIGFyZSBhdmFpbGFibGU6CisKKyAgIC0gOmF0dHI6YH5TU0xTb2NrZXQuY29udGV4dGAKKyAgIC0gOmF0dHI6YH5TU0xTb2NrZXQuc2VydmVyX3NpZGVgCisgICAtIDphdHRyOmB+U1NMU29ja2V0LnNlcnZlcl9ob3N0bmFtZWAKKyAgIC0gOm1ldGg6YH5TU0xTb2NrZXQucmVhZGAKKyAgIC0gOm1ldGg6YH5TU0xTb2NrZXQud3JpdGVgCisgICAtIDptZXRoOmB+U1NMU29ja2V0LmdldHBlZXJjZXJ0YAorICAgLSA6bWV0aDpgflNTTFNvY2tldC5zZWxlY3RlZF9ucG5fcHJvdG9jb2xgCisgICAtIDptZXRoOmB+U1NMU29ja2V0LmNpcGhlcmAKKyAgIC0gOm1ldGg6YH5TU0xTb2NrZXQuc2hhcmVkX2NpcGhlcnNgCisgICAtIDptZXRoOmB+U1NMU29ja2V0LmNvbXByZXNzaW9uYAorICAgLSA6bWV0aDpgflNTTFNvY2tldC5wZW5kaW5nYAorICAgLSA6bWV0aDpgflNTTFNvY2tldC5kb19oYW5kc2hha2VgCisgICAtIDptZXRoOmB+U1NMU29ja2V0LnVud3JhcGAKKyAgIC0gOm1ldGg6YH5TU0xTb2NrZXQuZ2V0X2NoYW5uZWxfYmluZGluZ2AKKworICAgV2hlbiBjb21wYXJlZCB0byA6Y2xhc3M6YFNTTFNvY2tldGAsIHRoaXMgb2JqZWN0IGxhY2tzIHRoZSBmb2xsb3dpbmcKKyAgIGZlYXR1cmVzOgorCisgICAtIEFueSBmb3JtIG9mIG5ldHdvcmsgSU8gaW5jbHVnaW5nIG1ldGhvZHMgc3VjaCBhcyBgYHJlY3YoKWBgIGFuZAorICAgICBgYHNlbmQoKWBgLgorCisgICAtIFRoZXJlIGlzIG5vICpkb19oYW5kc2hha2Vfb25fY29ubmVjdCogbWFjaGluZXJ5LiBZb3UgbXVzdCBhbHdheXMgbWFudWFsbHkKKyAgICAgY2FsbCA6bWV0aDpgflNTTFNvY2tldC5kb19oYW5kc2hha2VgIHRvIHN0YXJ0IHRoZSBoYW5kc2hha2UuCisKKyAgIC0gVGhlcmUgaXMgbm8gaGFuZGxpbmcgb2YgKnN1cHByZXNzX3JhZ2dlZF9lb2ZzKi4gQWxsIGVuZC1vZi1maWxlIGNvbmRpdGlvbnMKKyAgICAgdGhhdCBhcmUgaW4gdmlvbGF0aW9uIG9mIHRoZSBwcm90b2NvbCBhcmUgcmVwb3J0ZWQgdmlhIHRoZQorICAgICA6ZXhjOmBTU0xFT0ZFcnJvcmAgZXhjZXB0aW9uLgorCisgICAtIFRoZSBtZXRob2QgOm1ldGg6YH5TU0xTb2NrZXQudW53cmFwYCBjYWxsIGRvZXMgbm90IHJldHVybiBhbnl0aGluZywKKyAgICAgdW5saWtlIGZvciBhbiBTU0wgc29ja2V0IHdoZXJlIGl0IHJldHVybnMgdGhlIHVuZGVybHlpbmcgc29ja2V0LgorCisgICAtIFRoZSAqc2VydmVyX25hbWVfY2FsbGJhY2sqIGNhbGxiYWNrIHBhc3NlZCB0bworICAgICA6bWV0aDpgU1NMQ29udGV4dC5zZXRfc2VydmVybmFtZV9jYWxsYmFja2Agd2lsbCBnZXQgYW4gOmNsYXNzOmBTU0xPYmplY3RgCisgICAgIGluc3RhbmNlIGluc3RlYWQgb2YgYSA6Y2xhc3M6YFNTTFNvY2tldGAgaW5zdGFuY2UgYXMgaXRzIGZpcnN0IHBhcmFtZXRlci4KKworICAgU29tZSBub3RlcyByZWxhdGVkIHRvIHRoZSB1c2Ugb2YgOmNsYXNzOmBTU0xPYmplY3RgOgorCisgICAtIEFsbCBJTyBvbiBhbiA6Y2xhc3M6YFNTTE9iamVjdGAgaXMgOnJlZjpgbm9uLWJsb2NraW5nIDxzc2wtbm9uYmxvY2tpbmc+YC4KKyAgICAgVGhpcyBtZWFucyB0aGF0IGZvciBleGFtcGxlIDptZXRoOmB+U1NMU29ja2V0LnJlYWRgIHdpbGwgcmFpc2UgYW4KKyAgICAgOmV4YzpgU1NMV2FudFJlYWRFcnJvcmAgaWYgaXQgbmVlZHMgbW9yZSBkYXRhIHRoYW4gdGhlIGluY29taW5nIEJJTyBoYXMKKyAgICAgYXZhaWxhYmxlLgorCisgICAtIFRoZXJlIGlzIG5vIG1vZHVsZS1sZXZlbCBgYHdyYXBfYmlvKClgYCBjYWxsIGxpa2UgdGhlcmUgaXMgZm9yCisgICAgIDptZXRoOmB+U1NMQ29udGV4dC53cmFwX3NvY2tldGAuIEFuIDpjbGFzczpgU1NMT2JqZWN0YCBpcyBhbHdheXMgY3JlYXRlZAorICAgICB2aWEgYW4gOmNsYXNzOmBTU0xDb250ZXh0YC4KKworQW4gU1NMT2JqZWN0IGNvbW11bmljYXRlcyB3aXRoIHRoZSBvdXRzaWRlIHdvcmxkIHVzaW5nIG1lbW9yeSBidWZmZXJzLiBUaGUKK2NsYXNzIDpjbGFzczpgTWVtb3J5QklPYCBwcm92aWRlcyBhIG1lbW9yeSBidWZmZXIgdGhhdCBjYW4gYmUgdXNlZCBmb3IgdGhpcworcHVycG9zZS4gIEl0IHdyYXBzIGFuIE9wZW5TU0wgbWVtb3J5IEJJTyAoQmFzaWMgSU8pIG9iamVjdDoKKworLi4gY2xhc3M6OiBNZW1vcnlCSU8KKworICAgQSBtZW1vcnkgYnVmZmVyIHRoYXQgY2FuIGJlIHVzZWQgdG8gcGFzcyBkYXRhIGJldHdlZW4gUHl0aG9uIGFuZCBhbiBTU0wKKyAgIHByb3RvY29sIGluc3RhbmNlLgorCisgICAuLiBhdHRyaWJ1dGU6OiBNZW1vcnlCSU8ucGVuZGluZworCisgICAgICBSZXR1cm4gdGhlIG51bWJlciBvZiBieXRlcyBjdXJyZW50bHkgaW4gdGhlIG1lbW9yeSBidWZmZXIuCisKKyAgIC4uIGF0dHJpYnV0ZTo6IE1lbW9yeUJJTy5lb2YKKworICAgICAgQSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgbWVtb3J5IEJJTyBpcyBjdXJyZW50IGF0IHRoZSBlbmQtb2YtZmlsZQorICAgICAgcG9zaXRpb24uCisKKyAgIC4uIG1ldGhvZDo6IE1lbW9yeUJJTy5yZWFkKG49LTEpCisKKyAgICAgIFJlYWQgdXAgdG8gKm4qIGJ5dGVzIGZyb20gdGhlIG1lbW9yeSBidWZmZXIuIElmICpuKiBpcyBub3Qgc3BlY2lmaWVkIG9yCisgICAgICBuZWdhdGl2ZSwgYWxsIGJ5dGVzIGFyZSByZXR1cm5lZC4KKworICAgLi4gbWV0aG9kOjogTWVtb3J5QklPLndyaXRlKGJ1ZikKKworICAgICAgV3JpdGUgdGhlIGJ5dGVzIGZyb20gKmJ1ZiogdG8gdGhlIG1lbW9yeSBCSU8uIFRoZSAqYnVmKiBhcmd1bWVudCBtdXN0IGJlIGFuCisgICAgICBvYmplY3Qgc3VwcG9ydGluZyB0aGUgYnVmZmVyIHByb3RvY29sLgorCisgICAgICBUaGUgcmV0dXJuIHZhbHVlIGlzIHRoZSBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbiwgd2hpY2ggaXMgYWx3YXlzIGVxdWFsIHRvCisgICAgICB0aGUgbGVuZ3RoIG9mICpidWYqLgorCisgICAuLiBtZXRob2Q6OiBNZW1vcnlCSU8ud3JpdGVfZW9mKCkKKworICAgICAgV3JpdGUgYW4gRU9GIG1hcmtlciB0byB0aGUgbWVtb3J5IEJJTy4gQWZ0ZXIgdGhpcyBtZXRob2QgaGFzIGJlZW4gY2FsbGVkLCBpdAorICAgICAgaXMgaWxsZWdhbCB0byBjYWxsIDptZXRoOmB+TWVtb3J5QklPLndyaXRlYC4gVGhlIGF0dHJpYnV0ZSA6YXR0cjpgZW9mYCB3aWxsCisgICAgICBiZWNvbWUgdHJ1ZSBhZnRlciBhbGwgZGF0YSBjdXJyZW50bHkgaW4gdGhlIGJ1ZmZlciBoYXMgYmVlbiByZWFkLgorCisKIC4uIF9zc2wtc2VjdXJpdHk6CiAKIFNlY3VyaXR5IGNvbnNpZGVyYXRpb25zCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9zdGF0LnJzdCBiL0RvYy9saWJyYXJ5L3N0YXQucnN0CmluZGV4IDI0NzY5ZjYuLjg0NWIyZWYgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3N0YXQucnN0CisrKyBiL0RvYy9saWJyYXJ5L3N0YXQucnN0CkBAIC0xMjYsNyArMTI2LDcgQEAKICAgIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CiAgICAgICAgd2Fsa3RyZWUoc3lzLmFyZ3ZbMV0sIHZpc2l0ZmlsZSkKIAotQW4gYWRkaXRpb25hbCB1dGlsaXR5IGZ1bmN0aW9uIGlzIHByb3ZpZGVkIHRvIGNvdmVydCBhIGZpbGUncyBtb2RlIGluIGEgaHVtYW4KK0FuIGFkZGl0aW9uYWwgdXRpbGl0eSBmdW5jdGlvbiBpcyBwcm92aWRlZCB0byBjb252ZXJ0IGEgZmlsZSdzIG1vZGUgaW4gYSBodW1hbgogcmVhZGFibGUgc3RyaW5nOgogCiAuLiBmdW5jdGlvbjo6IGZpbGVtb2RlKG1vZGUpCkBAIC0zOTksMyArMzk5LDI5IEBACiAgICBUaGUgZmlsZSBpcyBhIHNuYXBzaG90IGZpbGUuCiAKIFNlZSB0aGUgXCpCU0Qgb3IgTWFjIE9TIHN5c3RlbXMgbWFuIHBhZ2UgOm1hbnBhZ2U6YGNoZmxhZ3MoMilgIGZvciBtb3JlIGluZm9ybWF0aW9uLgorCitPbiBXaW5kb3dzLCB0aGUgZm9sbG93aW5nIGZpbGUgYXR0cmlidXRlIGNvbnN0YW50cyBhcmUgYXZhaWxhYmxlIGZvciB1c2Ugd2hlbgordGVzdGluZyBiaXRzIGluIHRoZSBgYHN0X2ZpbGVfYXR0cmlidXRlc2BgIG1lbWJlciByZXR1cm5lZCBieSA6ZnVuYzpgb3Muc3RhdGAuCitTZWUgdGhlIGBXaW5kb3dzIEFQSSBkb2N1bWVudGF0aW9uCis8aHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L3dpbmRvd3MvZGVza3RvcC9nZzI1ODExNy5hc3B4PmBfCitmb3IgbW9yZSBkZXRhaWwgb24gdGhlIG1lYW5pbmcgb2YgdGhlc2UgY29uc3RhbnRzLgorCisuLiBkYXRhOjogRklMRV9BVFRSSUJVVEVfQVJDSElWRQorICAgICAgICAgIEZJTEVfQVRUUklCVVRFX0NPTVBSRVNTRUQKKyAgICAgICAgICBGSUxFX0FUVFJJQlVURV9ERVZJQ0UKKyAgICAgICAgICBGSUxFX0FUVFJJQlVURV9ESVJFQ1RPUlkKKyAgICAgICAgICBGSUxFX0FUVFJJQlVURV9FTkNSWVBURUQKKyAgICAgICAgICBGSUxFX0FUVFJJQlVURV9ISURERU4KKyAgICAgICAgICBGSUxFX0FUVFJJQlVURV9JTlRFR1JJVFlfU1RSRUFNCisgICAgICAgICAgRklMRV9BVFRSSUJVVEVfTk9STUFMCisgICAgICAgICAgRklMRV9BVFRSSUJVVEVfTk9UX0NPTlRFTlRfSU5ERVhFRAorICAgICAgICAgIEZJTEVfQVRUUklCVVRFX05PX1NDUlVCX0RBVEEKKyAgICAgICAgICBGSUxFX0FUVFJJQlVURV9PRkZMSU5FCisgICAgICAgICAgRklMRV9BVFRSSUJVVEVfUkVBRE9OTFkKKyAgICAgICAgICBGSUxFX0FUVFJJQlVURV9SRVBBUlNFX1BPSU5UCisgICAgICAgICAgRklMRV9BVFRSSUJVVEVfU1BBUlNFX0ZJTEUKKyAgICAgICAgICBGSUxFX0FUVFJJQlVURV9TWVNURU0KKyAgICAgICAgICBGSUxFX0FUVFJJQlVURV9URU1QT1JBUlkKKyAgICAgICAgICBGSUxFX0FUVFJJQlVURV9WSVJUVUFMCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvc3RkdHlwZXMucnN0IGIvRG9jL2xpYnJhcnkvc3RkdHlwZXMucnN0CmluZGV4IGUwZjhjZmEuLjU1ZjUzNTEgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3N0ZHR5cGVzLnJzdAorKysgYi9Eb2MvbGlicmFyeS9zdGR0eXBlcy5yc3QKQEAgLTM1NCw3ICszNTQsNyBAQAogICAgVGhlIG51bWVyaWMgbGl0ZXJhbHMgYWNjZXB0ZWQgaW5jbHVkZSB0aGUgZGlnaXRzIGBgMGBgIHRvIGBgOWBgIG9yIGFueQogICAgVW5pY29kZSBlcXVpdmFsZW50IChjb2RlIHBvaW50cyB3aXRoIHRoZSBgYE5kYGAgcHJvcGVydHkpLgogCi0gICBTZWUgaHR0cDovL3d3dy51bmljb2RlLm9yZy9QdWJsaWMvNi4zLjAvdWNkL2V4dHJhY3RlZC9EZXJpdmVkTnVtZXJpY1R5cGUudHh0CisgICBTZWUgaHR0cDovL3d3dy51bmljb2RlLm9yZy9QdWJsaWMvNy4wLjAvdWNkL2V4dHJhY3RlZC9EZXJpdmVkTnVtZXJpY1R5cGUudHh0CiAgICBmb3IgYSBjb21wbGV0ZSBsaXN0IG9mIGNvZGUgcG9pbnRzIHdpdGggdGhlIGBgTmRgYCBwcm9wZXJ0eS4KIAogCkBAIC0zMDU3LDYgKzMwNTcsMTk3IEBACiAgICAgICBhbHdheXMgcHJvZHVjZXMgYSBuZXcgb2JqZWN0LCBldmVuIGlmIG5vIGNoYW5nZXMgd2VyZSBtYWRlLgogCiAKKy4uIF9ieXRlcy1mb3JtYXR0aW5nOgorCitgYHByaW50ZmBgLXN0eWxlIEJ5dGVzIEZvcm1hdHRpbmcKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworLi4gaW5kZXg6OgorICAgc2luZ2xlOiBmb3JtYXR0aW5nLCBieXRlcyAoJSkKKyAgIHNpbmdsZTogZm9ybWF0dGluZywgYnl0ZWFycmF5ICglKQorICAgc2luZ2xlOiBpbnRlcnBvbGF0aW9uLCBieXRlcyAoJSkKKyAgIHNpbmdsZTogaW50ZXJwb2xhdGlvbiwgYnl0ZWFycmF5ICglKQorICAgc2luZ2xlOiBieXRlczsgZm9ybWF0dGluZworICAgc2luZ2xlOiBieXRlYXJyYXk7IGZvcm1hdHRpbmcKKyAgIHNpbmdsZTogYnl0ZXM7IGludGVycG9sYXRpb24KKyAgIHNpbmdsZTogYnl0ZWFycmF5OyBpbnRlcnBvbGF0aW9uCisgICBzaW5nbGU6IHByaW50Zi1zdHlsZSBmb3JtYXR0aW5nCisgICBzaW5nbGU6IHNwcmludGYtc3R5bGUgZm9ybWF0dGluZworICAgc2luZ2xlOiAlIGZvcm1hdHRpbmcKKyAgIHNpbmdsZTogJSBpbnRlcnBvbGF0aW9uCisKKy4uIG5vdGU6OgorCisgICBUaGUgZm9ybWF0dGluZyBvcGVyYXRpb25zIGRlc2NyaWJlZCBoZXJlIGV4aGliaXQgYSB2YXJpZXR5IG9mIHF1aXJrcyB0aGF0CisgICBsZWFkIHRvIGEgbnVtYmVyIG9mIGNvbW1vbiBlcnJvcnMgKHN1Y2ggYXMgZmFpbGluZyB0byBkaXNwbGF5IHR1cGxlcyBhbmQKKyAgIGRpY3Rpb25hcmllcyBjb3JyZWN0bHkpLiAgSWYgdGhlIHZhbHVlIGJlaW5nIHByaW50ZWQgbWF5IGJlIGEgdHVwbGUgb3IKKyAgIGRpY3Rpb25hcnksIHdyYXAgaXQgaW4gYSB0dXBsZS4KKworQnl0ZXMgb2JqZWN0cyAoYGBieXRlc2BgL2BgYnl0ZWFycmF5YGApIGhhdmUgb25lIHVuaXF1ZSBidWlsdC1pbiBvcGVyYXRpb246Cit0aGUgYGAlYGAgb3BlcmF0b3IgKG1vZHVsbykuCitUaGlzIGlzIGFsc28ga25vd24gYXMgdGhlIGJ5dGVzICpmb3JtYXR0aW5nKiBvciAqaW50ZXJwb2xhdGlvbiogb3BlcmF0b3IuCitHaXZlbiBgYGZvcm1hdCAlIHZhbHVlc2BgICh3aGVyZSAqZm9ybWF0KiBpcyBhIGJ5dGVzIG9iamVjdCksIGBgJWBgIGNvbnZlcnNpb24KK3NwZWNpZmljYXRpb25zIGluICpmb3JtYXQqIGFyZSByZXBsYWNlZCB3aXRoIHplcm8gb3IgbW9yZSBlbGVtZW50cyBvZiAqdmFsdWVzKi4KK1RoZSBlZmZlY3QgaXMgc2ltaWxhciB0byB1c2luZyB0aGUgOmM6ZnVuYzpgc3ByaW50ZmAgaW4gdGhlIEMgbGFuZ3VhZ2UuCisKK0lmICpmb3JtYXQqIHJlcXVpcmVzIGEgc2luZ2xlIGFyZ3VtZW50LCAqdmFsdWVzKiBtYXkgYmUgYSBzaW5nbGUgbm9uLXR1cGxlCitvYmplY3QuIFs1XV8gIE90aGVyd2lzZSwgKnZhbHVlcyogbXVzdCBiZSBhIHR1cGxlIHdpdGggZXhhY3RseSB0aGUgbnVtYmVyIG9mCitpdGVtcyBzcGVjaWZpZWQgYnkgdGhlIGZvcm1hdCBieXRlcyBvYmplY3QsIG9yIGEgc2luZ2xlIG1hcHBpbmcgb2JqZWN0IChmb3IKK2V4YW1wbGUsIGEgZGljdGlvbmFyeSkuCisKK0EgY29udmVyc2lvbiBzcGVjaWZpZXIgY29udGFpbnMgdHdvIG9yIG1vcmUgY2hhcmFjdGVycyBhbmQgaGFzIHRoZSBmb2xsb3dpbmcKK2NvbXBvbmVudHMsIHdoaWNoIG11c3Qgb2NjdXIgaW4gdGhpcyBvcmRlcjoKKworIy4gVGhlIGBgJyUnYGAgY2hhcmFjdGVyLCB3aGljaCBtYXJrcyB0aGUgc3RhcnQgb2YgdGhlIHNwZWNpZmllci4KKworIy4gTWFwcGluZyBrZXkgKG9wdGlvbmFsKSwgY29uc2lzdGluZyBvZiBhIHBhcmVudGhlc2lzZWQgc2VxdWVuY2Ugb2YgY2hhcmFjdGVycworICAgKGZvciBleGFtcGxlLCBgYChzb21lbmFtZSlgYCkuCisKKyMuIENvbnZlcnNpb24gZmxhZ3MgKG9wdGlvbmFsKSwgd2hpY2ggYWZmZWN0IHRoZSByZXN1bHQgb2Ygc29tZSBjb252ZXJzaW9uCisgICB0eXBlcy4KKworIy4gTWluaW11bSBmaWVsZCB3aWR0aCAob3B0aW9uYWwpLiAgSWYgc3BlY2lmaWVkIGFzIGFuIGBgJyonYGAgKGFzdGVyaXNrKSwgdGhlCisgICBhY3R1YWwgd2lkdGggaXMgcmVhZCBmcm9tIHRoZSBuZXh0IGVsZW1lbnQgb2YgdGhlIHR1cGxlIGluICp2YWx1ZXMqLCBhbmQgdGhlCisgICBvYmplY3QgdG8gY29udmVydCBjb21lcyBhZnRlciB0aGUgbWluaW11bSBmaWVsZCB3aWR0aCBhbmQgb3B0aW9uYWwgcHJlY2lzaW9uLgorCisjLiBQcmVjaXNpb24gKG9wdGlvbmFsKSwgZ2l2ZW4gYXMgYSBgYCcuJ2BgIChkb3QpIGZvbGxvd2VkIGJ5IHRoZSBwcmVjaXNpb24uICBJZgorICAgc3BlY2lmaWVkIGFzIGBgJyonYGAgKGFuIGFzdGVyaXNrKSwgdGhlIGFjdHVhbCBwcmVjaXNpb24gaXMgcmVhZCBmcm9tIHRoZSBuZXh0CisgICBlbGVtZW50IG9mIHRoZSB0dXBsZSBpbiAqdmFsdWVzKiwgYW5kIHRoZSB2YWx1ZSB0byBjb252ZXJ0IGNvbWVzIGFmdGVyIHRoZQorICAgcHJlY2lzaW9uLgorCisjLiBMZW5ndGggbW9kaWZpZXIgKG9wdGlvbmFsKS4KKworIy4gQ29udmVyc2lvbiB0eXBlLgorCitXaGVuIHRoZSByaWdodCBhcmd1bWVudCBpcyBhIGRpY3Rpb25hcnkgKG9yIG90aGVyIG1hcHBpbmcgdHlwZSksIHRoZW4gdGhlCitmb3JtYXRzIGluIHRoZSBieXRlcyBvYmplY3QgKm11c3QqIGluY2x1ZGUgYSBwYXJlbnRoZXNpc2VkIG1hcHBpbmcga2V5IGludG8gdGhhdAorZGljdGlvbmFyeSBpbnNlcnRlZCBpbW1lZGlhdGVseSBhZnRlciB0aGUgYGAnJSdgYCBjaGFyYWN0ZXIuIFRoZSBtYXBwaW5nIGtleQorc2VsZWN0cyB0aGUgdmFsdWUgdG8gYmUgZm9ybWF0dGVkIGZyb20gdGhlIG1hcHBpbmcuICBGb3IgZXhhbXBsZToKKworICAgPj4+IHByaW50KGInJShsYW5ndWFnZSlzIGhhcyAlKG51bWJlcikwM2QgcXVvdGUgdHlwZXMuJyAlCisgICAuLi4gICAgICAge2InbGFuZ3VhZ2UnOiBiIlB5dGhvbiIsIGIibnVtYmVyIjogMn0pCisgICBiJ1B5dGhvbiBoYXMgMDAyIHF1b3RlIHR5cGVzLicKKworSW4gdGhpcyBjYXNlIG5vIGBgKmBgIHNwZWNpZmllcnMgbWF5IG9jY3VyIGluIGEgZm9ybWF0IChzaW5jZSB0aGV5IHJlcXVpcmUgYQorc2VxdWVudGlhbCBwYXJhbWV0ZXIgbGlzdCkuCisKK1RoZSBjb252ZXJzaW9uIGZsYWcgY2hhcmFjdGVycyBhcmU6CisKKystLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCBGbGFnICAgIHwgTWVhbmluZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisrPT09PT09PT09Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSsKK3wgYGAnIydgYCB8IFRoZSB2YWx1ZSBjb252ZXJzaW9uIHdpbGwgdXNlIHRoZSAiYWx0ZXJuYXRlIGZvcm0iICh3aGVyZSBkZWZpbmVkICAgfAorfCAgICAgICAgIHwgYmVsb3cpLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisrLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKK3wgYGAnMCdgYCB8IFRoZSBjb252ZXJzaW9uIHdpbGwgYmUgemVybyBwYWRkZWQgZm9yIG51bWVyaWMgdmFsdWVzLiAgICAgICAgICAgICAgfAorKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IGBgJy0nYGAgfCBUaGUgY29udmVydGVkIHZhbHVlIGlzIGxlZnQgYWRqdXN0ZWQgKG92ZXJyaWRlcyB0aGUgYGAnMCdgYCAgICAgICAgIHwKK3wgICAgICAgICB8IGNvbnZlcnNpb24gaWYgYm90aCBhcmUgZ2l2ZW4pLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IGBgJyAnYGAgfCAoYSBzcGFjZSkgQSBibGFuayBzaG91bGQgYmUgbGVmdCBiZWZvcmUgYSBwb3NpdGl2ZSBudW1iZXIgKG9yIGVtcHR5IHwKK3wgICAgICAgICB8IHN0cmluZykgcHJvZHVjZWQgYnkgYSBzaWduZWQgY29udmVyc2lvbi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IGBgJysnYGAgfCBBIHNpZ24gY2hhcmFjdGVyIChgYCcrJ2BgIG9yIGBgJy0nYGApIHdpbGwgcHJlY2VkZSB0aGUgY29udmVyc2lvbiAgIHwKK3wgICAgICAgICB8IChvdmVycmlkZXMgYSAic3BhY2UiIGZsYWcpLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisKK0EgbGVuZ3RoIG1vZGlmaWVyIChgYGhgYCwgYGBsYGAsIG9yIGBgTGBgKSBtYXkgYmUgcHJlc2VudCwgYnV0IGlzIGlnbm9yZWQgYXMgaXQKK2lzIG5vdCBuZWNlc3NhcnkgZm9yIFB5dGhvbiAtLSBzbyBlLmcuIGBgJWxkYGAgaXMgaWRlbnRpY2FsIHRvIGBgJWRgYC4KKworVGhlIGNvbnZlcnNpb24gdHlwZXMgYXJlOgorCisrLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCit8IENvbnZlcnNpb24gfCBNZWFuaW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBOb3RlcyB8CisrPT09PT09PT09PT09Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kz09PT09PT0rCit8IGBgJ2QnYGAgICAgfCBTaWduZWQgaW50ZWdlciBkZWNpbWFsLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICB8CisrLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCit8IGBgJ2knYGAgICAgfCBTaWduZWQgaW50ZWdlciBkZWNpbWFsLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICB8CisrLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCit8IGBgJ28nYGAgICAgfCBTaWduZWQgb2N0YWwgdmFsdWUuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBcKDEpICB8CisrLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCit8IGBgJ3UnYGAgICAgfCBPYnNvbGV0ZSB0eXBlIC0tIGl0IGlzIGlkZW50aWNhbCB0byBgYCdkJ2BgLiAgICAgICAgfCBcKDcpICB8CisrLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCit8IGBgJ3gnYGAgICAgfCBTaWduZWQgaGV4YWRlY2ltYWwgKGxvd2VyY2FzZSkuICAgICAgICAgICAgICAgICAgICAgfCBcKDIpICB8CisrLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCit8IGBgJ1gnYGAgICAgfCBTaWduZWQgaGV4YWRlY2ltYWwgKHVwcGVyY2FzZSkuICAgICAgICAgICAgICAgICAgICAgfCBcKDIpICB8CisrLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCit8IGBgJ2UnYGAgICAgfCBGbG9hdGluZyBwb2ludCBleHBvbmVudGlhbCBmb3JtYXQgKGxvd2VyY2FzZSkuICAgICAgfCBcKDMpICB8CisrLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCit8IGBgJ0UnYGAgICAgfCBGbG9hdGluZyBwb2ludCBleHBvbmVudGlhbCBmb3JtYXQgKHVwcGVyY2FzZSkuICAgICAgfCBcKDMpICB8CisrLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCit8IGBgJ2YnYGAgICAgfCBGbG9hdGluZyBwb2ludCBkZWNpbWFsIGZvcm1hdC4gICAgICAgICAgICAgICAgICAgICAgfCBcKDMpICB8CisrLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCit8IGBgJ0YnYGAgICAgfCBGbG9hdGluZyBwb2ludCBkZWNpbWFsIGZvcm1hdC4gICAgICAgICAgICAgICAgICAgICAgfCBcKDMpICB8CisrLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCit8IGBgJ2cnYGAgICAgfCBGbG9hdGluZyBwb2ludCBmb3JtYXQuIFVzZXMgbG93ZXJjYXNlIGV4cG9uZW50aWFsICAgfCBcKDQpICB8Cit8ICAgICAgICAgICAgfCBmb3JtYXQgaWYgZXhwb25lbnQgaXMgbGVzcyB0aGFuIC00IG9yIG5vdCBsZXNzIHRoYW4gfCAgICAgICB8Cit8ICAgICAgICAgICAgfCBwcmVjaXNpb24sIGRlY2ltYWwgZm9ybWF0IG90aGVyd2lzZS4gICAgICAgICAgICAgICAgfCAgICAgICB8CisrLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCit8IGBgJ0cnYGAgICAgfCBGbG9hdGluZyBwb2ludCBmb3JtYXQuIFVzZXMgdXBwZXJjYXNlIGV4cG9uZW50aWFsICAgfCBcKDQpICB8Cit8ICAgICAgICAgICAgfCBmb3JtYXQgaWYgZXhwb25lbnQgaXMgbGVzcyB0aGFuIC00IG9yIG5vdCBsZXNzIHRoYW4gfCAgICAgICB8Cit8ICAgICAgICAgICAgfCBwcmVjaXNpb24sIGRlY2ltYWwgZm9ybWF0IG90aGVyd2lzZS4gICAgICAgICAgICAgICAgfCAgICAgICB8CisrLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCit8IGBgJ2MnYGAgICAgfCBTaW5nbGUgYnl0ZSAoYWNjZXB0cyBpbnRlZ2VyIG9yIHNpbmdsZSAgICAgICAgICAgICAgfCAgICAgICB8Cit8ICAgICAgICAgICAgfCBieXRlIG9iamVjdHMpLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICB8CisrLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCit8IGBgJ2InYGAgICAgfCBCeXRlcyAoYW55IG9iamVjdCB0aGF0IGZvbGxvd3MgdGhlICAgICAgICAgICAgICAgICAgfCBcKDUpICB8Cit8ICAgICAgICAgICAgfCA6cmVmOmBidWZmZXIgcHJvdG9jb2wgPGJ1ZmZlcm9iamVjdHM+YCBvciBoYXMgICAgICAgfCAgICAgICB8Cit8ICAgICAgICAgICAgfCA6bWV0aDpgX19ieXRlc19fYCkuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICB8CisrLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCit8IGBgJ3MnYGAgICAgfCBgYCdzJ2BgIGlzIGFuIGFsaWFzIGZvciBgYCdiJ2BgIGFuZCBzaG91bGQgb25seSAgICAgfCBcKDYpICB8Cit8ICAgICAgICAgICAgfCBiZSB1c2VkIGZvciBQeXRob24yLzMgY29kZSBiYXNlcy4gICAgICAgICAgICAgICAgICAgfCAgICAgICB8CisrLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCit8IGBgJ2EnYGAgICAgfCBCeXRlcyAoY29udmVydHMgYW55IFB5dGhvbiBvYmplY3QgdXNpbmcgICAgICAgICAgICAgfCBcKDUpICB8Cit8ICAgICAgICAgICAgfCBgYHJlcHIob2JqKS5lbmNvZGUoJ2FzY2lpJywnYmFja3NsYXNocmVwbGFjZSlgYCkuICAgfCAgICAgICB8CisrLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCit8IGBgJyUnYGAgICAgfCBObyBhcmd1bWVudCBpcyBjb252ZXJ0ZWQsIHJlc3VsdHMgaW4gYSBgYCclJ2BgICAgICAgfCAgICAgICB8Cit8ICAgICAgICAgICAgfCBjaGFyYWN0ZXIgaW4gdGhlIHJlc3VsdC4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICB8CisrLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCisKK05vdGVzOgorCisoMSkKKyAgIFRoZSBhbHRlcm5hdGUgZm9ybSBjYXVzZXMgYSBsZWFkaW5nIHplcm8gKGBgJzAnYGApIHRvIGJlIGluc2VydGVkIGJldHdlZW4KKyAgIGxlZnQtaGFuZCBwYWRkaW5nIGFuZCB0aGUgZm9ybWF0dGluZyBvZiB0aGUgbnVtYmVyIGlmIHRoZSBsZWFkaW5nIGNoYXJhY3RlcgorICAgb2YgdGhlIHJlc3VsdCBpcyBub3QgYWxyZWFkeSBhIHplcm8uCisKKygyKQorICAgVGhlIGFsdGVybmF0ZSBmb3JtIGNhdXNlcyBhIGxlYWRpbmcgYGAnMHgnYGAgb3IgYGAnMFgnYGAgKGRlcGVuZGluZyBvbiB3aGV0aGVyCisgICB0aGUgYGAneCdgYCBvciBgYCdYJ2BgIGZvcm1hdCB3YXMgdXNlZCkgdG8gYmUgaW5zZXJ0ZWQgYmV0d2VlbiBsZWZ0LWhhbmQgcGFkZGluZworICAgYW5kIHRoZSBmb3JtYXR0aW5nIG9mIHRoZSBudW1iZXIgaWYgdGhlIGxlYWRpbmcgY2hhcmFjdGVyIG9mIHRoZSByZXN1bHQgaXMgbm90CisgICBhbHJlYWR5IGEgemVyby4KKworKDMpCisgICBUaGUgYWx0ZXJuYXRlIGZvcm0gY2F1c2VzIHRoZSByZXN1bHQgdG8gYWx3YXlzIGNvbnRhaW4gYSBkZWNpbWFsIHBvaW50LCBldmVuIGlmCisgICBubyBkaWdpdHMgZm9sbG93IGl0LgorCisgICBUaGUgcHJlY2lzaW9uIGRldGVybWluZXMgdGhlIG51bWJlciBvZiBkaWdpdHMgYWZ0ZXIgdGhlIGRlY2ltYWwgcG9pbnQgYW5kCisgICBkZWZhdWx0cyB0byA2LgorCisoNCkKKyAgIFRoZSBhbHRlcm5hdGUgZm9ybSBjYXVzZXMgdGhlIHJlc3VsdCB0byBhbHdheXMgY29udGFpbiBhIGRlY2ltYWwgcG9pbnQsIGFuZAorICAgdHJhaWxpbmcgemVyb2VzIGFyZSBub3QgcmVtb3ZlZCBhcyB0aGV5IHdvdWxkIG90aGVyd2lzZSBiZS4KKworICAgVGhlIHByZWNpc2lvbiBkZXRlcm1pbmVzIHRoZSBudW1iZXIgb2Ygc2lnbmlmaWNhbnQgZGlnaXRzIGJlZm9yZSBhbmQgYWZ0ZXIgdGhlCisgICBkZWNpbWFsIHBvaW50IGFuZCBkZWZhdWx0cyB0byA2LgorCisoNSkKKyAgIElmIHByZWNpc2lvbiBpcyBgYE5gYCwgdGhlIG91dHB1dCBpcyB0cnVuY2F0ZWQgdG8gYGBOYGAgY2hhcmFjdGVycy4KKworKDYpCisgICBgYGInJXMnYGAgaXMgZGVwcmVjYXRlZCwgYnV0IHdpbGwgbm90IGJlIHJlbW92ZWQgZHVyaW5nIHRoZSAzLnggc2VyaWVzLgorCisoNykKKyAgIFNlZSA6cGVwOmAyMzdgLgorCisuLiBub3RlOjoKKworICAgVGhlIGJ5dGVhcnJheSB2ZXJzaW9uIG9mIHRoaXMgbWV0aG9kIGRvZXMgKm5vdCogb3BlcmF0ZSBpbiBwbGFjZSAtIGl0CisgICBhbHdheXMgcHJvZHVjZXMgYSBuZXcgb2JqZWN0LCBldmVuIGlmIG5vIGNoYW5nZXMgd2VyZSBtYWRlLgorCisuLiBzZWVhbHNvOjogOnBlcDpgNDYxYC4KKy4uIHZlcnNpb25hZGRlZDo6IDMuNQorCiAuLiBfdHlwZW1lbW9yeXZpZXc6CiAKIE1lbW9yeSBWaWV3cwpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvc3VicHJvY2Vzcy5yc3QgYi9Eb2MvbGlicmFyeS9zdWJwcm9jZXNzLnJzdAppbmRleCAzNmNiZjNjLi40OWE4MmJkIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9zdWJwcm9jZXNzLnJzdAorKysgYi9Eb2MvbGlicmFyeS9zdWJwcm9jZXNzLnJzdApAQCAtNjM1LDYgKzYzNSw3IEBACiAgICBtdXN0IGJlIGJ5dGVzIG9yLCBpZiAqdW5pdmVyc2FsX25ld2xpbmVzKiB3YXMgYGBUcnVlYGAsIGEgc3RyaW5nLgogCiAgICA6bWV0aDpgY29tbXVuaWNhdGVgIHJldHVybnMgYSB0dXBsZSBgYChzdGRvdXRfZGF0YSwgc3RkZXJyX2RhdGEpYGAuCisgICBUaGUgZGF0YSB3aWxsIGJlIGJ5dGVzIG9yLCBpZiAqdW5pdmVyc2FsX25ld2xpbmVzKiB3YXMgYGBUcnVlYGAsIHN0cmluZ3MuCiAKICAgIE5vdGUgdGhhdCBpZiB5b3Ugd2FudCB0byBzZW5kIGRhdGEgdG8gdGhlIHByb2Nlc3MncyBzdGRpbiwgeW91IG5lZWQgdG8gY3JlYXRlCiAgICB0aGUgUG9wZW4gb2JqZWN0IHdpdGggYGBzdGRpbj1QSVBFYGAuICBTaW1pbGFybHksIHRvIGdldCBhbnl0aGluZyBvdGhlciB0aGFuCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9zeXMucnN0IGIvRG9jL2xpYnJhcnkvc3lzLnJzdAppbmRleCAzMDI0MDg2Li5mYTEyNWEwIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9zeXMucnN0CisrKyBiL0RvYy9saWJyYXJ5L3N5cy5yc3QKQEAgLTcxOCw2ICs3MTgsMTQgQEAKICAgIHZhbHVlIG9mIDpmdW5jOmBpbnRlcm5gIGFyb3VuZCB0byBiZW5lZml0IGZyb20gaXQuCiAKIAorLi4gZnVuY3Rpb246OiBpc19maW5hbGl6aW5nKCkKKworICAgUmV0dXJuIDpjb25zdDpgVHJ1ZWAgaWYgdGhlIFB5dGhvbiBpbnRlcnByZXRlciBpcworICAgOnRlcm06YHNodXR0aW5nIGRvd24gPGludGVycHJldGVyIHNodXRkb3duPmAsIDpjb25zdDpgRmFsc2VgIG90aGVyd2lzZS4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CisKKwogLi4gZGF0YTo6IGxhc3RfdHlwZQogICAgICAgICAgIGxhc3RfdmFsdWUKICAgICAgICAgICBsYXN0X3RyYWNlYmFjawpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvdGFyZmlsZS5yc3QgYi9Eb2MvbGlicmFyeS90YXJmaWxlLnJzdAppbmRleCA0NTM2ZWNhLi5mZTJlZDk5IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS90YXJmaWxlLnJzdAorKysgYi9Eb2MvbGlicmFyeS90YXJmaWxlLnJzdApAQCAtMzI4LDExICszMjgsMTUgQEAKICAgIHJldHVybmVkIGJ5IDptZXRoOmBnZXRtZW1iZXJzYC4KIAogCi0uLiBtZXRob2Q6OiBUYXJGaWxlLmxpc3QodmVyYm9zZT1UcnVlKQorLi4gbWV0aG9kOjogVGFyRmlsZS5saXN0KHZlcmJvc2U9VHJ1ZSwgKiwgbWVtYmVycz1Ob25lKQogCiAgICBQcmludCBhIHRhYmxlIG9mIGNvbnRlbnRzIHRvIGBgc3lzLnN0ZG91dGBgLiBJZiAqdmVyYm9zZSogaXMgOmNvbnN0OmBGYWxzZWAsCiAgICBvbmx5IHRoZSBuYW1lcyBvZiB0aGUgbWVtYmVycyBhcmUgcHJpbnRlZC4gSWYgaXQgaXMgOmNvbnN0OmBUcnVlYCwgb3V0cHV0Ci0gICBzaW1pbGFyIHRvIHRoYXQgb2YgOnByb2dyYW06YGxzIC1sYCBpcyBwcm9kdWNlZC4KKyAgIHNpbWlsYXIgdG8gdGhhdCBvZiA6cHJvZ3JhbTpgbHMgLWxgIGlzIHByb2R1Y2VkLiBJZiBvcHRpb25hbCAqbWVtYmVycyogaXMKKyAgIGdpdmVuLCBpdCBtdXN0IGJlIGEgc3Vic2V0IG9mIHRoZSBsaXN0IHJldHVybmVkIGJ5IDptZXRoOmBnZXRtZW1iZXJzYC4KKworICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgIEFkZGVkIHRoZSAqbWVtYmVycyogcGFyYW1ldGVyLgogCiAKIC4uIG1ldGhvZDo6IFRhckZpbGUubmV4dCgpCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS90ZW1wZmlsZS5yc3QgYi9Eb2MvbGlicmFyeS90ZW1wZmlsZS5yc3QKaW5kZXggNDRkMDI1ZC4uMmM2ODM3NyAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvdGVtcGZpbGUucnN0CisrKyBiL0RvYy9saWJyYXJ5L3RlbXBmaWxlLnJzdApAQCAtNTQsNiArNTQsMTMgQEAKICAgIHVuZGVybHlpbmcgdHJ1ZSBmaWxlIG9iamVjdC4gVGhpcyBmaWxlLWxpa2Ugb2JqZWN0IGNhbiBiZSB1c2VkIGluIGEKICAgIDprZXl3b3JkOmB3aXRoYCBzdGF0ZW1lbnQsIGp1c3QgbGlrZSBhIG5vcm1hbCBmaWxlLgogCisgICBUaGUgOnB5OmRhdGE6YG9zLk9fVE1QRklMRWAgZmxhZyBpcyB1c2VkIGlmIGl0IGlzIGF2YWlsYWJsZSBhbmQgd29ya3MKKyAgIChMaW51eC1zcGVjaWZpYywgcmVxdWlyZSBMaW51eCBrZXJuZWwgMy4xMSBvciBsYXRlcikuCisKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisKKyAgICAgIFRoZSA6cHk6ZGF0YTpgb3MuT19UTVBGSUxFYCBmbGFnIGlzIG5vdyB1c2VkIGlmIGF2YWlsYWJsZS4KKwogCiAuLiBmdW5jdGlvbjo6IE5hbWVkVGVtcG9yYXJ5RmlsZShtb2RlPSd3K2InLCBidWZmZXJpbmc9Tm9uZSwgZW5jb2Rpbmc9Tm9uZSwgbmV3bGluZT1Ob25lLCBzdWZmaXg9JycsIHByZWZpeD0ndG1wJywgZGlyPU5vbmUsIGRlbGV0ZT1UcnVlKQogCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS90aHJlYWRpbmcucnN0IGIvRG9jL2xpYnJhcnkvdGhyZWFkaW5nLnJzdAppbmRleCBmNTlmZmU1Li5lN2EzNTQ0IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS90aHJlYWRpbmcucnN0CisrKyBiL0RvYy9saWJyYXJ5L3RocmVhZGluZy5yc3QKQEAgLTYzMCw3ICs2MzAsNyBAQAogICAgICAgICAgICAgY3Yud2FpdCgpCiAKICAgICAgIFRoZXJlZm9yZSwgdGhlIHNhbWUgcnVsZXMgYXBwbHkgYXMgd2l0aCA6bWV0aDpgd2FpdGA6IFRoZSBsb2NrIG11c3QgYmUKLSAgICAgIGhlbGQgd2hlbiBjYWxsZWQgYW5kIGlzIHJlLWFxdWlyZWQgb24gcmV0dXJuLiAgVGhlIHByZWRpY2F0ZSBpcyBldmFsdWF0ZWQKKyAgICAgIGhlbGQgd2hlbiBjYWxsZWQgYW5kIGlzIHJlLWFjcXVpcmVkIG9uIHJldHVybi4gIFRoZSBwcmVkaWNhdGUgaXMgZXZhbHVhdGVkCiAgICAgICB3aXRoIHRoZSBsb2NrIGhlbGQuCiAKICAgICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMgpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvdGltZS5yc3QgYi9Eb2MvbGlicmFyeS90aW1lLnJzdAppbmRleCA4ZDhiN2Q0Li42YmZkNTIxIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS90aW1lLnJzdAorKysgYi9Eb2MvbGlicmFyeS90aW1lLnJzdApAQCAtMzE0LDkgKzMxNCw5IEBACiAgICBwcm9jZXNzZXMgcnVubmluZyBmb3IgbW9yZSB0aGFuIDQ5IGRheXMuIE9uIG1vcmUgcmVjZW50IHZlcnNpb25zIG9mIFdpbmRvd3MKICAgIGFuZCBvbiBvdGhlciBvcGVyYXRpbmcgc3lzdGVtcywgOmZ1bmM6YG1vbm90b25pY2AgaXMgc3lzdGVtLXdpZGUuCiAKLSAgIEF2YWlsYWJpbGl0eTogV2luZG93cywgTWFjIE9TIFgsIExpbnV4LCBGcmVlQlNELCBPcGVuQlNELCBTb2xhcmlzLgotCiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICBUaGUgZnVuY3Rpb24gaXMgbm93IGFsd2F5cyBhdmFpbGFibGUuCiAKIAogLi4gZnVuY3Rpb246OiBwZXJmX2NvdW50ZXIoKQpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvdGltZWl0LnJzdCBiL0RvYy9saWJyYXJ5L3RpbWVpdC5yc3QKaW5kZXggNTAzYTcwNS4uMTc1ODhiZCAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvdGltZWl0LnJzdAorKysgYi9Eb2MvbGlicmFyeS90aW1laXQucnN0CkBAIC01OSwxOCArNTksMjYgQEAKIFRoZSBtb2R1bGUgZGVmaW5lcyB0aHJlZSBjb252ZW5pZW5jZSBmdW5jdGlvbnMgYW5kIGEgcHVibGljIGNsYXNzOgogCiAKLS4uIGZ1bmN0aW9uOjogdGltZWl0KHN0bXQ9J3Bhc3MnLCBzZXR1cD0ncGFzcycsIHRpbWVyPTxkZWZhdWx0IHRpbWVyPiwgbnVtYmVyPTEwMDAwMDApCisuLiBmdW5jdGlvbjo6IHRpbWVpdChzdG10PSdwYXNzJywgc2V0dXA9J3Bhc3MnLCB0aW1lcj08ZGVmYXVsdCB0aW1lcj4sIG51bWJlcj0xMDAwMDAwLCBnbG9iYWxzPU5vbmUpCiAKICAgIENyZWF0ZSBhIDpjbGFzczpgVGltZXJgIGluc3RhbmNlIHdpdGggdGhlIGdpdmVuIHN0YXRlbWVudCwgKnNldHVwKiBjb2RlIGFuZAogICAgKnRpbWVyKiBmdW5jdGlvbiBhbmQgcnVuIGl0cyA6bWV0aDpgLnRpbWVpdGAgbWV0aG9kIHdpdGggKm51bWJlciogZXhlY3V0aW9ucy4KKyAgIFRoZSBvcHRpb25hbCAqZ2xvYmFscyogYXJndW1lbnQgc3BlY2lmaWVzIGEgbmFtZXNwYWNlIGluIHdoaWNoIHRvIGV4ZWN1dGUgdGhlCisgICBjb2RlLgorCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgVGhlIG9wdGlvbmFsICpnbG9iYWxzKiBwYXJhbWV0ZXIgd2FzIGFkZGVkLgogCiAKLS4uIGZ1bmN0aW9uOjogcmVwZWF0KHN0bXQ9J3Bhc3MnLCBzZXR1cD0ncGFzcycsIHRpbWVyPTxkZWZhdWx0IHRpbWVyPiwgcmVwZWF0PTMsIG51bWJlcj0xMDAwMDAwKQorLi4gZnVuY3Rpb246OiByZXBlYXQoc3RtdD0ncGFzcycsIHNldHVwPSdwYXNzJywgdGltZXI9PGRlZmF1bHQgdGltZXI+LCByZXBlYXQ9MywgbnVtYmVyPTEwMDAwMDAsIGdsb2JhbHM9Tm9uZSkKIAogICAgQ3JlYXRlIGEgOmNsYXNzOmBUaW1lcmAgaW5zdGFuY2Ugd2l0aCB0aGUgZ2l2ZW4gc3RhdGVtZW50LCAqc2V0dXAqIGNvZGUgYW5kCiAgICAqdGltZXIqIGZ1bmN0aW9uIGFuZCBydW4gaXRzIDptZXRoOmAucmVwZWF0YCBtZXRob2Qgd2l0aCB0aGUgZ2l2ZW4gKnJlcGVhdCoKLSAgIGNvdW50IGFuZCAqbnVtYmVyKiBleGVjdXRpb25zLgorICAgY291bnQgYW5kICpudW1iZXIqIGV4ZWN1dGlvbnMuICBUaGUgb3B0aW9uYWwgKmdsb2JhbHMqIGFyZ3VtZW50IHNwZWNpZmllcyBhCisgICBuYW1lc3BhY2UgaW4gd2hpY2ggdG8gZXhlY3V0ZSB0aGUgY29kZS4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgIFRoZSBvcHRpb25hbCAqZ2xvYmFscyogcGFyYW1ldGVyIHdhcyBhZGRlZC4KIAogLi4gZnVuY3Rpb246OiBkZWZhdWx0X3RpbWVyKCkKIApAQCAtODAsNyArODgsNyBAQAogICAgICAgOmZ1bmM6YHRpbWUucGVyZl9jb3VudGVyYCBpcyBub3cgdGhlIGRlZmF1bHQgdGltZXIuCiAKIAotLi4gY2xhc3M6OiBUaW1lcihzdG10PSdwYXNzJywgc2V0dXA9J3Bhc3MnLCB0aW1lcj08dGltZXIgZnVuY3Rpb24+KQorLi4gY2xhc3M6OiBUaW1lcihzdG10PSdwYXNzJywgc2V0dXA9J3Bhc3MnLCB0aW1lcj08dGltZXIgZnVuY3Rpb24+LCBnbG9iYWxzPU5vbmUpCiAKICAgIENsYXNzIGZvciB0aW1pbmcgZXhlY3V0aW9uIHNwZWVkIG9mIHNtYWxsIGNvZGUgc25pcHBldHMuCiAKQEAgLTg4LDcgKzk2LDkgQEAKICAgIGZvciBzZXR1cCwgYW5kIGEgdGltZXIgZnVuY3Rpb24uICBCb3RoIHN0YXRlbWVudHMgZGVmYXVsdCB0byBgYCdwYXNzJ2BgOwogICAgdGhlIHRpbWVyIGZ1bmN0aW9uIGlzIHBsYXRmb3JtLWRlcGVuZGVudCAoc2VlIHRoZSBtb2R1bGUgZG9jIHN0cmluZykuCiAgICAqc3RtdCogYW5kICpzZXR1cCogbWF5IGFsc28gY29udGFpbiBtdWx0aXBsZSBzdGF0ZW1lbnRzIHNlcGFyYXRlZCBieSBgYDtgYAotICAgb3IgbmV3bGluZXMsIGFzIGxvbmcgYXMgdGhleSBkb24ndCBjb250YWluIG11bHRpLWxpbmUgc3RyaW5nIGxpdGVyYWxzLgorICAgb3IgbmV3bGluZXMsIGFzIGxvbmcgYXMgdGhleSBkb24ndCBjb250YWluIG11bHRpLWxpbmUgc3RyaW5nIGxpdGVyYWxzLiAgVGhlCisgICBzdGF0ZW1lbnQgd2lsbCBieSBkZWZhdWx0IGJlIGV4ZWN1dGVkIHdpdGhpbiB0aW1laXQncyBuYW1lc3BhY2U7IHRoaXMgYmVoYXZpb3IKKyAgIGNhbiBiZSBjb250cm9sbGVkIGJ5IHBhc3NpbmcgYSBuYW1lc3BhY2UgdG8gKmdsb2JhbHMqLgogCiAgICBUbyBtZWFzdXJlIHRoZSBleGVjdXRpb24gdGltZSBvZiB0aGUgZmlyc3Qgc3RhdGVtZW50LCB1c2UgdGhlIDptZXRoOmAudGltZWl0YAogICAgbWV0aG9kLiAgVGhlIDptZXRoOmAucmVwZWF0YCBtZXRob2QgaXMgYSBjb252ZW5pZW5jZSB0byBjYWxsIDptZXRoOmAudGltZWl0YApAQCAtOTksNiArMTA5LDggQEAKICAgIHdpbGwgdGhlbiBiZSBleGVjdXRlZCBieSA6bWV0aDpgLnRpbWVpdGAuICBOb3RlIHRoYXQgdGhlIHRpbWluZyBvdmVyaGVhZCBpcyBhCiAgICBsaXR0bGUgbGFyZ2VyIGluIHRoaXMgY2FzZSBiZWNhdXNlIG9mIHRoZSBleHRyYSBmdW5jdGlvbiBjYWxscy4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgIFRoZSBvcHRpb25hbCAqZ2xvYmFscyogcGFyYW1ldGVyIHdhcyBhZGRlZC4KIAogICAgLi4gbWV0aG9kOjogVGltZXIudGltZWl0KG51bWJlcj0xMDAwMDAwKQogCkBAIC0zMTgsMyArMzMwLDE3IEBACiAgICBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgogICAgICAgIGltcG9ydCB0aW1laXQKICAgICAgICBwcmludCh0aW1laXQudGltZWl0KCJ0ZXN0KCkiLCBzZXR1cD0iZnJvbSBfX21haW5fXyBpbXBvcnQgdGVzdCIpKQorCitBbm90aGVyIG9wdGlvbiBpcyB0byBwYXNzIDpmdW5jOmBnbG9iYWxzYCB0byB0aGUgICpnbG9iYWxzKiBwYXJhbWV0ZXIsIHdoaWNoIHdpbGwgY2F1c2UgdGhlIGNvZGUKK3RvIGJlIGV4ZWN1dGVkIHdpdGhpbiB5b3VyIGN1cnJlbnQgZ2xvYmFsIG5hbWVzcGFjZS4gIFRoaXMgY2FuIGJlIG1vcmUgY29udmVuaWVudAordGhhbiBpbmRpdmlkdWFsbHkgc3BlY2lmeWluZyBpbXBvcnRzOjoKKworICAgZGVmIGYoeCk6CisgICAgICAgcmV0dXJuIHgqKjIKKyAgIGRlZiBnKHgpOgorICAgICAgIHJldHVybiB4Kio0CisgICBkZWYgaCh4KToKKyAgICAgICByZXR1cm4geCoqOAorCisgICBpbXBvcnQgdGltZWl0CisgICBwcmludCh0aW1laXQudGltZWl0KCdbZnVuYyg0MikgZm9yIGZ1bmMgaW4gKGYsZyxoKV0nLCBnbG9iYWxzPWdsb2JhbHMoKSkpCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS90a2ludGVyLnR0ay5yc3QgYi9Eb2MvbGlicmFyeS90a2ludGVyLnR0ay5yc3QKaW5kZXggNmY4YmYxYy4uYjBlZWZjYiAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvdGtpbnRlci50dGsucnN0CisrKyBiL0RvYy9saWJyYXJ5L3RraW50ZXIudHRrLnJzdApAQCAtMTE2Nyw3ICsxMTY3LDcgQEAKIEVhY2ggd2lkZ2V0IGluIDptb2Q6YHR0a2AgaXMgYXNzaWduZWQgYSBzdHlsZSwgd2hpY2ggc3BlY2lmaWVzIHRoZSBzZXQgb2YKIGVsZW1lbnRzIG1ha2luZyB1cCB0aGUgd2lkZ2V0IGFuZCBob3cgdGhleSBhcmUgYXJyYW5nZWQsIGFsb25nIHdpdGggZHluYW1pYwogYW5kIGRlZmF1bHQgc2V0dGluZ3MgZm9yIGVsZW1lbnQgb3B0aW9ucy4gQnkgZGVmYXVsdCB0aGUgc3R5bGUgbmFtZSBpcyB0aGUKLXNhbWUgYXMgdGhlIHdpZGdldCdzIGNsYXNzIG5hbWUsIGJ1dCBpdCBtYXkgYmUgb3ZlcnJpZGVuIGJ5IHRoZSB3aWRnZXQncyBzdHlsZQorc2FtZSBhcyB0aGUgd2lkZ2V0J3MgY2xhc3MgbmFtZSwgYnV0IGl0IG1heSBiZSBvdmVycmlkZGVuIGJ5IHRoZSB3aWRnZXQncyBzdHlsZQogb3B0aW9uLiBJZiB5b3UgZG9uJ3Qga25vdyB0aGUgY2xhc3MgbmFtZSBvZiBhIHdpZGdldCwgdXNlIHRoZSBtZXRob2QKIDptZXRoOmBNaXNjLndpbmZvX2NsYXNzYCAoc29tZXdpZGdldC53aW5mb19jbGFzcygpKS4KIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvdG9rZW4ucnN0IGIvRG9jL2xpYnJhcnkvdG9rZW4ucnN0CmluZGV4IDRjZDcwOTguLjg4ZmIzOGIgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3Rva2VuLnJzdAorKysgYi9Eb2MvbGlicmFyeS90b2tlbi5yc3QKQEAgLTkzLDYgKzkzLDcgQEAKICAgICAgICAgICBET1VCTEVTTEFTSAogICAgICAgICAgIERPVUJMRVNMQVNIRVFVQUwKICAgICAgICAgICBBVAorICAgICAgICAgIEFURVFVQUwKICAgICAgICAgICBSQVJST1cKICAgICAgICAgICBFTExJUFNJUwogICAgICAgICAgIE9QCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS90cmFjZW1hbGxvYy5yc3QgYi9Eb2MvbGlicmFyeS90cmFjZW1hbGxvYy5yc3QKaW5kZXggNTUyZTg0Yi4uYTA0YTQzMiAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvdHJhY2VtYWxsb2MucnN0CisrKyBiL0RvYy9saWJyYXJ5L3RyYWNlbWFsbG9jLnJzdApAQCAtMzUwLDcgKzM1MCw3IEBACiAgICB0aGUgKm5mcmFtZSogcGFyYW1ldGVyIG9mIHRoZSA6ZnVuYzpgc3RhcnRgIGZ1bmN0aW9uIHRvIHN0b3JlIG1vcmUgZnJhbWVzLgogCiAgICBUaGUgOm1vZDpgdHJhY2VtYWxsb2NgIG1vZHVsZSBtdXN0IGJlIHRyYWNpbmcgbWVtb3J5IGFsbG9jYXRpb25zIHRvIHRha2UgYQotICAgc25hcHNob3QsIHNlZSB0aGUgdGhlIDpmdW5jOmBzdGFydGAgZnVuY3Rpb24uCisgICBzbmFwc2hvdCwgc2VlIHRoZSA6ZnVuYzpgc3RhcnRgIGZ1bmN0aW9uLgogCiAgICBTZWUgYWxzbyB0aGUgOmZ1bmM6YGdldF9vYmplY3RfdHJhY2ViYWNrYCBmdW5jdGlvbi4KIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvdHVydGxlLnJzdCBiL0RvYy9saWJyYXJ5L3R1cnRsZS5yc3QKaW5kZXggNTg5OWYzZC4uMTU3ZmU5MyAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvdHVydGxlLnJzdAorKysgYi9Eb2MvbGlicmFyeS90dXJ0bGUucnN0CkBAIC0xODA5LDcgKzE4MDksNyBAQAogCiAgICBQb3AgdXAgYSBkaWFsb2cgd2luZG93IGZvciBpbnB1dCBvZiBhIG51bWJlci4gdGl0bGUgaXMgdGhlIHRpdGxlIG9mIHRoZQogICAgZGlhbG9nIHdpbmRvdywgcHJvbXB0IGlzIGEgdGV4dCBtb3N0bHkgZGVzY3JpYmluZyB3aGF0IG51bWVyaWNhbCBpbmZvcm1hdGlvbgotICAgdG8gaW5wdXQuIGRlZmF1bHQ6IGRlZmF1bHQgdmFsdWUsIG1pbnZhbDogbWluaW11bSB2YWx1ZSBmb3IgaW1wdXQsCisgICB0byBpbnB1dC4gZGVmYXVsdDogZGVmYXVsdCB2YWx1ZSwgbWludmFsOiBtaW5pbXVtIHZhbHVlIGZvciBpbnB1dCwKICAgIG1heHZhbDogbWF4aW11bSB2YWx1ZSBmb3IgaW5wdXQKICAgIFRoZSBudW1iZXIgaW5wdXQgbXVzdCBiZSBpbiB0aGUgcmFuZ2UgbWludmFsIC4uIG1heHZhbCBpZiB0aGVzZSBhcmUKICAgIGdpdmVuLiBJZiBub3QsIGEgaGludCBpcyBpc3N1ZWQgYW5kIHRoZSBkaWFsb2cgcmVtYWlucyBvcGVuIGZvcgpAQCAtMTg3OSw3ICsxODc5LDcgQEAKIAogICAgICAgPj4+IGN2ID0gc2NyZWVuLmdldGNhbnZhcygpCiAgICAgICA+Pj4gY3YKLSAgICAgIDx0dXJ0bGUuU2Nyb2xsZWRDYW52YXMgb2JqZWN0IGF0IC4uLj4KKyAgICAgIDx0dXJ0bGUuU2Nyb2xsZWRDYW52YXMgb2JqZWN0IC4uLj4KIAogCiAuLiBmdW5jdGlvbjo6IGdldHNoYXBlcygpCkBAIC0yNDAyLDcgKzI0MDIsNyBAQAogICBBY2NvcmRpbmdseSB0aGUgbGF0dGVyIGhhcyBnb3QgYW4gYWxpYXM6IDptZXRoOmBTY3JlZW4ub25rZXlyZWxlYXNlYC4KIAogLSBUaGUgbWV0aG9kICA6bWV0aDpgU2NyZWVuLm1haW5sb29wYCBoYXMgYmVlbiBhZGRlZC4gU28gd2hlbiB3b3JraW5nIG9ubHkKLSAgd2l0aCBTY3JlZW4gYW5kIFR1cnRsZSBvYmplY3RzIG9uZSBtdXN0IG5vdCBhZGRpdG9uYWxseSBpbXBvcnQKKyAgd2l0aCBTY3JlZW4gYW5kIFR1cnRsZSBvYmplY3RzIG9uZSBtdXN0IG5vdCBhZGRpdGlvbmFsbHkgaW1wb3J0CiAgIDpmdW5jOmBtYWlubG9vcGAgYW55bW9yZS4KIAogLSBUd28gaW5wdXQgbWV0aG9kcyBoYXMgYmVlbiBhZGRlZCA6bWV0aDpgU2NyZWVuLnRleHRpbnB1dGAgYW5kCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS90eXBlcy5yc3QgYi9Eb2MvbGlicmFyeS90eXBlcy5yc3QKaW5kZXggYWJkYjkzOS4uMzRmZmZlNiAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvdHlwZXMucnN0CisrKyBiL0RvYy9saWJyYXJ5L3R5cGVzLnJzdApAQCAtMTE1LDYgKzExNSwxMCBAQAogICAgVGhlIHR5cGUgb2YgOnRlcm06YG1vZHVsZXMgPG1vZHVsZT5gLiBDb25zdHJ1Y3RvciB0YWtlcyB0aGUgbmFtZSBvZiB0aGUKICAgIG1vZHVsZSB0byBiZSBjcmVhdGVkIGFuZCBvcHRpb25hbGx5IGl0cyA6dGVybTpgZG9jc3RyaW5nYC4KIAorICAgLi4gbm90ZTo6CisgICAgICBVc2UgOmZ1bmM6YGltcG9ydGxpYi51dGlsLm1vZHVsZV9mcm9tX3NwZWNgIHRvIGNyZWF0ZSBhIG5ldyBtb2R1bGUgaWYgeW91CisgICAgICB3aXNoIHRvIHNldCB0aGUgdmFyaW91cyBpbXBvcnQtY29udHJvbGxlZCBhdHRyaWJ1dGVzLgorCiAgICAuLiBhdHRyaWJ1dGU6OiBfX2RvY19fCiAKICAgICAgIFRoZSA6dGVybTpgZG9jc3RyaW5nYCBvZiB0aGUgbW9kdWxlLiBEZWZhdWx0cyB0byBgYE5vbmVgYC4KZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3VuaWNvZGVkYXRhLnJzdCBiL0RvYy9saWJyYXJ5L3VuaWNvZGVkYXRhLnJzdAppbmRleCAzYjNkM2EwLi4yNGRkZWY4IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS91bmljb2RlZGF0YS5yc3QKKysrIGIvRG9jL2xpYnJhcnkvdW5pY29kZWRhdGEucnN0CkBAIC0xNSw4ICsxNSw4IEBACiAKIFRoaXMgbW9kdWxlIHByb3ZpZGVzIGFjY2VzcyB0byB0aGUgVW5pY29kZSBDaGFyYWN0ZXIgRGF0YWJhc2UgKFVDRCkgd2hpY2gKIGRlZmluZXMgY2hhcmFjdGVyIHByb3BlcnRpZXMgZm9yIGFsbCBVbmljb2RlIGNoYXJhY3RlcnMuIFRoZSBkYXRhIGNvbnRhaW5lZCBpbgotdGhpcyBkYXRhYmFzZSBpcyBjb21waWxlZCBmcm9tIHRoZSBgVUNEIHZlcnNpb24gNi4zLjAKLTxodHRwOi8vd3d3LnVuaWNvZGUub3JnL1B1YmxpYy82LjMuMC91Y2Q+YF8uCit0aGlzIGRhdGFiYXNlIGlzIGNvbXBpbGVkIGZyb20gdGhlIGBVQ0QgdmVyc2lvbiA3LjAuMAorPGh0dHA6Ly93d3cudW5pY29kZS5vcmcvUHVibGljLzcuMC4wL3VjZD5gXy4KIAogVGhlIG1vZHVsZSB1c2VzIHRoZSBzYW1lIG5hbWVzIGFuZCBzeW1ib2xzIGFzIGRlZmluZWQgYnkgVW5pY29kZQogU3RhbmRhcmQgQW5uZXggIzQ0LCBgIlVuaWNvZGUgQ2hhcmFjdGVyIERhdGFiYXNlIgpAQCAtMTY2LDYgKzE2Niw2IEBACiAKIC4uIHJ1YnJpYzo6IEZvb3Rub3RlcwogCi0uLiBbI10gaHR0cDovL3d3dy51bmljb2RlLm9yZy9QdWJsaWMvNi4zLjAvdWNkL05hbWVBbGlhc2VzLnR4dAorLi4gWyNdIGh0dHA6Ly93d3cudW5pY29kZS5vcmcvUHVibGljLzcuMC4wL3VjZC9OYW1lQWxpYXNlcy50eHQKIAotLi4gWyNdIGh0dHA6Ly93d3cudW5pY29kZS5vcmcvUHVibGljLzYuMy4wL3VjZC9OYW1lZFNlcXVlbmNlcy50eHQKKy4uIFsjXSBodHRwOi8vd3d3LnVuaWNvZGUub3JnL1B1YmxpYy83LjAuMC91Y2QvTmFtZWRTZXF1ZW5jZXMudHh0CmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS91bml0dGVzdC5tb2NrLnJzdCBiL0RvYy9saWJyYXJ5L3VuaXR0ZXN0Lm1vY2sucnN0CmluZGV4IDg0NWUwYzQuLmMxOWFkZjggMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3VuaXR0ZXN0Lm1vY2sucnN0CisrKyBiL0RvYy9saWJyYXJ5L3VuaXR0ZXN0Lm1vY2sucnN0CkBAIC0xODEsNzEgKzE4MSw3NyBAQAogLS0tLS0tLS0tLS0tLS0KIAogCi1gTW9ja2AgaXMgYSBmbGV4aWJsZSBtb2NrIG9iamVjdCBpbnRlbmRlZCB0byByZXBsYWNlIHRoZSB1c2Ugb2Ygc3R1YnMgYW5kCis6Y2xhc3M6YE1vY2tgIGlzIGEgZmxleGlibGUgbW9jayBvYmplY3QgaW50ZW5kZWQgdG8gcmVwbGFjZSB0aGUgdXNlIG9mIHN0dWJzIGFuZAogdGVzdCBkb3VibGVzIHRocm91Z2hvdXQgeW91ciBjb2RlLiBNb2NrcyBhcmUgY2FsbGFibGUgYW5kIGNyZWF0ZSBhdHRyaWJ1dGVzIGFzCiBuZXcgbW9ja3Mgd2hlbiB5b3UgYWNjZXNzIHRoZW0gWyNdXy4gQWNjZXNzaW5nIHRoZSBzYW1lIGF0dHJpYnV0ZSB3aWxsIGFsd2F5cwogcmV0dXJuIHRoZSBzYW1lIG1vY2suIE1vY2tzIHJlY29yZCBob3cgeW91IHVzZSB0aGVtLCBhbGxvd2luZyB5b3UgdG8gbWFrZQogYXNzZXJ0aW9ucyBhYm91dCB3aGF0IHlvdXIgY29kZSBoYXMgZG9uZSB0byB0aGVtLgogCi06Y2xhc3M6YE1hZ2ljTW9ja2AgaXMgYSBzdWJjbGFzcyBvZiBgTW9ja2Agd2l0aCBhbGwgdGhlIG1hZ2ljIG1ldGhvZHMKKzpjbGFzczpgTWFnaWNNb2NrYCBpcyBhIHN1YmNsYXNzIG9mIDpjbGFzczpgTW9ja2Agd2l0aCBhbGwgdGhlIG1hZ2ljIG1ldGhvZHMKIHByZS1jcmVhdGVkIGFuZCByZWFkeSB0byB1c2UuIFRoZXJlIGFyZSBhbHNvIG5vbi1jYWxsYWJsZSB2YXJpYW50cywgdXNlZnVsCiB3aGVuIHlvdSBhcmUgbW9ja2luZyBvdXQgb2JqZWN0cyB0aGF0IGFyZW4ndCBjYWxsYWJsZToKIDpjbGFzczpgTm9uQ2FsbGFibGVNb2NrYCBhbmQgOmNsYXNzOmBOb25DYWxsYWJsZU1hZ2ljTW9ja2AKIAogVGhlIDpmdW5jOmBwYXRjaGAgZGVjb3JhdG9ycyBtYWtlcyBpdCBlYXN5IHRvIHRlbXBvcmFyaWx5IHJlcGxhY2UgY2xhc3NlcwotaW4gYSBwYXJ0aWN1bGFyIG1vZHVsZSB3aXRoIGEgYE1vY2tgIG9iamVjdC4gQnkgZGVmYXVsdCBgcGF0Y2hgIHdpbGwgY3JlYXRlCi1hIGBNYWdpY01vY2tgIGZvciB5b3UuIFlvdSBjYW4gc3BlY2lmeSBhbiBhbHRlcm5hdGl2ZSBjbGFzcyBvZiBgTW9ja2AgdXNpbmcKLXRoZSBgbmV3X2NhbGxhYmxlYCBhcmd1bWVudCB0byBgcGF0Y2hgLgoraW4gYSBwYXJ0aWN1bGFyIG1vZHVsZSB3aXRoIGEgOmNsYXNzOmBNb2NrYCBvYmplY3QuIEJ5IGRlZmF1bHQgOmZ1bmM6YHBhdGNoYCB3aWxsIGNyZWF0ZQorYSA6Y2xhc3M6YE1hZ2ljTW9ja2AgZm9yIHlvdS4gWW91IGNhbiBzcGVjaWZ5IGFuIGFsdGVybmF0aXZlIGNsYXNzIG9mIDpjbGFzczpgTW9ja2AgdXNpbmcKK3RoZSAqbmV3X2NhbGxhYmxlKiBhcmd1bWVudCB0byA6ZnVuYzpgcGF0Y2hgLgogCiAKLS4uIGNsYXNzOjogTW9jayhzcGVjPU5vbmUsIHNpZGVfZWZmZWN0PU5vbmUsIHJldHVybl92YWx1ZT1ERUZBVUxULCB3cmFwcz1Ob25lLCBuYW1lPU5vbmUsIHNwZWNfc2V0PU5vbmUsICoqa3dhcmdzKQorLi4gY2xhc3M6OiBNb2NrKHNwZWM9Tm9uZSwgc2lkZV9lZmZlY3Q9Tm9uZSwgcmV0dXJuX3ZhbHVlPURFRkFVTFQsIHdyYXBzPU5vbmUsIG5hbWU9Tm9uZSwgc3BlY19zZXQ9Tm9uZSwgdW5zYWZlPUZhbHNlLCAqKmt3YXJncykKIAotICAgIENyZWF0ZSBhIG5ldyBgTW9ja2Agb2JqZWN0LiBgTW9ja2AgdGFrZXMgc2V2ZXJhbCBvcHRpb25hbCBhcmd1bWVudHMKKyAgICBDcmVhdGUgYSBuZXcgOmNsYXNzOmBNb2NrYCBvYmplY3QuIDpjbGFzczpgTW9ja2AgdGFrZXMgc2V2ZXJhbCBvcHRpb25hbCBhcmd1bWVudHMKICAgICB0aGF0IHNwZWNpZnkgdGhlIGJlaGF2aW91ciBvZiB0aGUgTW9jayBvYmplY3Q6CiAKLSAgICAqIGBzcGVjYDogVGhpcyBjYW4gYmUgZWl0aGVyIGEgbGlzdCBvZiBzdHJpbmdzIG9yIGFuIGV4aXN0aW5nIG9iamVjdCAoYQorICAgICogKnNwZWMqOiBUaGlzIGNhbiBiZSBlaXRoZXIgYSBsaXN0IG9mIHN0cmluZ3Mgb3IgYW4gZXhpc3Rpbmcgb2JqZWN0IChhCiAgICAgICBjbGFzcyBvciBpbnN0YW5jZSkgdGhhdCBhY3RzIGFzIHRoZSBzcGVjaWZpY2F0aW9uIGZvciB0aGUgbW9jayBvYmplY3QuIElmCiAgICAgICB5b3UgcGFzcyBpbiBhbiBvYmplY3QgdGhlbiBhIGxpc3Qgb2Ygc3RyaW5ncyBpcyBmb3JtZWQgYnkgY2FsbGluZyBkaXIgb24KICAgICAgIHRoZSBvYmplY3QgKGV4Y2x1ZGluZyB1bnN1cHBvcnRlZCBtYWdpYyBhdHRyaWJ1dGVzIGFuZCBtZXRob2RzKS4KLSAgICAgIEFjY2Vzc2luZyBhbnkgYXR0cmlidXRlIG5vdCBpbiB0aGlzIGxpc3Qgd2lsbCByYWlzZSBhbiBgQXR0cmlidXRlRXJyb3JgLgorICAgICAgQWNjZXNzaW5nIGFueSBhdHRyaWJ1dGUgbm90IGluIHRoaXMgbGlzdCB3aWxsIHJhaXNlIGFuIDpleGM6YEF0dHJpYnV0ZUVycm9yYC4KIAotICAgICAgSWYgYHNwZWNgIGlzIGFuIG9iamVjdCAocmF0aGVyIHRoYW4gYSBsaXN0IG9mIHN0cmluZ3MpIHRoZW4KKyAgICAgIElmICpzcGVjKiBpcyBhbiBvYmplY3QgKHJhdGhlciB0aGFuIGEgbGlzdCBvZiBzdHJpbmdzKSB0aGVuCiAgICAgICA6YXR0cjpgfmluc3RhbmNlLl9fY2xhc3NfX2AgcmV0dXJucyB0aGUgY2xhc3Mgb2YgdGhlIHNwZWMgb2JqZWN0LiBUaGlzCi0gICAgICBhbGxvd3MgbW9ja3MgdG8gcGFzcyBgaXNpbnN0YW5jZWAgdGVzdHMuCisgICAgICBhbGxvd3MgbW9ja3MgdG8gcGFzcyA6ZnVuYzpgaXNpbnN0YW5jZWAgdGVzdHMuCiAKLSAgICAqIGBzcGVjX3NldGA6IEEgc3RyaWN0ZXIgdmFyaWFudCBvZiBgc3BlY2AuIElmIHVzZWQsIGF0dGVtcHRpbmcgdG8gKnNldCoKKyAgICAqICpzcGVjX3NldCo6IEEgc3RyaWN0ZXIgdmFyaWFudCBvZiAqc3BlYyouIElmIHVzZWQsIGF0dGVtcHRpbmcgdG8gKnNldCoKICAgICAgIG9yIGdldCBhbiBhdHRyaWJ1dGUgb24gdGhlIG1vY2sgdGhhdCBpc24ndCBvbiB0aGUgb2JqZWN0IHBhc3NlZCBhcwotICAgICAgYHNwZWNfc2V0YCB3aWxsIHJhaXNlIGFuIGBBdHRyaWJ1dGVFcnJvcmAuCisgICAgICAqc3BlY19zZXQqIHdpbGwgcmFpc2UgYW4gOmV4YzpgQXR0cmlidXRlRXJyb3JgLgogCi0gICAgKiBgc2lkZV9lZmZlY3RgOiBBIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCB3aGVuZXZlciB0aGUgTW9jayBpcyBjYWxsZWQuIFNlZQorICAgICogKnNpZGVfZWZmZWN0KjogQSBmdW5jdGlvbiB0byBiZSBjYWxsZWQgd2hlbmV2ZXIgdGhlIE1vY2sgaXMgY2FsbGVkLiBTZWUKICAgICAgIHRoZSA6YXR0cjpgfk1vY2suc2lkZV9lZmZlY3RgIGF0dHJpYnV0ZS4gVXNlZnVsIGZvciByYWlzaW5nIGV4Y2VwdGlvbnMgb3IKICAgICAgIGR5bmFtaWNhbGx5IGNoYW5naW5nIHJldHVybiB2YWx1ZXMuIFRoZSBmdW5jdGlvbiBpcyBjYWxsZWQgd2l0aCB0aGUgc2FtZQogICAgICAgYXJndW1lbnRzIGFzIHRoZSBtb2NrLCBhbmQgdW5sZXNzIGl0IHJldHVybnMgOmRhdGE6YERFRkFVTFRgLCB0aGUgcmV0dXJuCiAgICAgICB2YWx1ZSBvZiB0aGlzIGZ1bmN0aW9uIGlzIHVzZWQgYXMgdGhlIHJldHVybiB2YWx1ZS4KIAotICAgICAgQWx0ZXJuYXRpdmVseSBgc2lkZV9lZmZlY3RgIGNhbiBiZSBhbiBleGNlcHRpb24gY2xhc3Mgb3IgaW5zdGFuY2UuIEluCisgICAgICBBbHRlcm5hdGl2ZWx5ICpzaWRlX2VmZmVjdCogY2FuIGJlIGFuIGV4Y2VwdGlvbiBjbGFzcyBvciBpbnN0YW5jZS4gSW4KICAgICAgIHRoaXMgY2FzZSB0aGUgZXhjZXB0aW9uIHdpbGwgYmUgcmFpc2VkIHdoZW4gdGhlIG1vY2sgaXMgY2FsbGVkLgogCi0gICAgICBJZiBgc2lkZV9lZmZlY3RgIGlzIGFuIGl0ZXJhYmxlIHRoZW4gZWFjaCBjYWxsIHRvIHRoZSBtb2NrIHdpbGwgcmV0dXJuCisgICAgICBJZiAqc2lkZV9lZmZlY3QqIGlzIGFuIGl0ZXJhYmxlIHRoZW4gZWFjaCBjYWxsIHRvIHRoZSBtb2NrIHdpbGwgcmV0dXJuCiAgICAgICB0aGUgbmV4dCB2YWx1ZSBmcm9tIHRoZSBpdGVyYWJsZS4KIAotICAgICAgQSBgc2lkZV9lZmZlY3RgIGNhbiBiZSBjbGVhcmVkIGJ5IHNldHRpbmcgaXQgdG8gYE5vbmVgLgorICAgICAgQSAqc2lkZV9lZmZlY3QqIGNhbiBiZSBjbGVhcmVkIGJ5IHNldHRpbmcgaXQgdG8gYGBOb25lYGAuCiAKLSAgICAqIGByZXR1cm5fdmFsdWVgOiBUaGUgdmFsdWUgcmV0dXJuZWQgd2hlbiB0aGUgbW9jayBpcyBjYWxsZWQuIEJ5IGRlZmF1bHQKKyAgICAqICpyZXR1cm5fdmFsdWUqOiBUaGUgdmFsdWUgcmV0dXJuZWQgd2hlbiB0aGUgbW9jayBpcyBjYWxsZWQuIEJ5IGRlZmF1bHQKICAgICAgIHRoaXMgaXMgYSBuZXcgTW9jayAoY3JlYXRlZCBvbiBmaXJzdCBhY2Nlc3MpLiBTZWUgdGhlCiAgICAgICA6YXR0cjpgcmV0dXJuX3ZhbHVlYCBhdHRyaWJ1dGUuCiAKLSAgICAqIGB3cmFwc2A6IEl0ZW0gZm9yIHRoZSBtb2NrIG9iamVjdCB0byB3cmFwLiBJZiBgd3JhcHNgIGlzIG5vdCBOb25lIHRoZW4KKyAgICAqICp1bnNhZmUqOiBCeSBkZWZhdWx0IGlmIGFueSBhdHRyaWJ1dGUgc3RhcnRzIHdpdGggKmFzc2VydCogb3IKKyAgICAgICphc3NyZXQqIHdpbGwgcmFpc2UgYW4gOmV4YzpgQXR0cmlidXRlRXJyb3JgLiBQYXNzaW5nIGBgdW5zYWZlPVRydWVgYAorICAgICAgd2lsbCBhbGxvdyBhY2Nlc3MgdG8gdGhlc2UgYXR0cmlidXRlcy4KKworICAgICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CisKKyAgICAqICp3cmFwcyo6IEl0ZW0gZm9yIHRoZSBtb2NrIG9iamVjdCB0byB3cmFwLiBJZiAqd3JhcHMqIGlzIG5vdCBOb25lIHRoZW4KICAgICAgIGNhbGxpbmcgdGhlIE1vY2sgd2lsbCBwYXNzIHRoZSBjYWxsIHRocm91Z2ggdG8gdGhlIHdyYXBwZWQgb2JqZWN0CiAgICAgICAocmV0dXJuaW5nIHRoZSByZWFsIHJlc3VsdCkuIEF0dHJpYnV0ZSBhY2Nlc3Mgb24gdGhlIG1vY2sgd2lsbCByZXR1cm4gYQogICAgICAgTW9jayBvYmplY3QgdGhhdCB3cmFwcyB0aGUgY29ycmVzcG9uZGluZyBhdHRyaWJ1dGUgb2YgdGhlIHdyYXBwZWQKICAgICAgIG9iamVjdCAoc28gYXR0ZW1wdGluZyB0byBhY2Nlc3MgYW4gYXR0cmlidXRlIHRoYXQgZG9lc24ndCBleGlzdCB3aWxsCi0gICAgICByYWlzZSBhbiBgQXR0cmlidXRlRXJyb3JgKS4KKyAgICAgIHJhaXNlIGFuIDpleGM6YEF0dHJpYnV0ZUVycm9yYCkuCiAKLSAgICAgIElmIHRoZSBtb2NrIGhhcyBhbiBleHBsaWNpdCBgcmV0dXJuX3ZhbHVlYCBzZXQgdGhlbiBjYWxscyBhcmUgbm90IHBhc3NlZAotICAgICAgdG8gdGhlIHdyYXBwZWQgb2JqZWN0IGFuZCB0aGUgYHJldHVybl92YWx1ZWAgaXMgcmV0dXJuZWQgaW5zdGVhZC4KKyAgICAgIElmIHRoZSBtb2NrIGhhcyBhbiBleHBsaWNpdCAqcmV0dXJuX3ZhbHVlKiBzZXQgdGhlbiBjYWxscyBhcmUgbm90IHBhc3NlZAorICAgICAgdG8gdGhlIHdyYXBwZWQgb2JqZWN0IGFuZCB0aGUgKnJldHVybl92YWx1ZSogaXMgcmV0dXJuZWQgaW5zdGVhZC4KIAotICAgICogYG5hbWVgOiBJZiB0aGUgbW9jayBoYXMgYSBuYW1lIHRoZW4gaXQgd2lsbCBiZSB1c2VkIGluIHRoZSByZXByIG9mIHRoZQorICAgICogKm5hbWUqOiBJZiB0aGUgbW9jayBoYXMgYSBuYW1lIHRoZW4gaXQgd2lsbCBiZSB1c2VkIGluIHRoZSByZXByIG9mIHRoZQogICAgICAgbW9jay4gVGhpcyBjYW4gYmUgdXNlZnVsIGZvciBkZWJ1Z2dpbmcuIFRoZSBuYW1lIGlzIHByb3BhZ2F0ZWQgdG8gY2hpbGQKICAgICAgIG1vY2tzLgogCkBAIC0zMTUsNiArMzIxLDIwIEBACiAgICAgICAgICAgICA+Pj4gY2FsbHMgPSBbY2FsbCg0KSwgY2FsbCgyKSwgY2FsbCgzKV0KICAgICAgICAgICAgID4+PiBtb2NrLmFzc2VydF9oYXNfY2FsbHMoY2FsbHMsIGFueV9vcmRlcj1UcnVlKQogCisgICAgLi4gbWV0aG9kOjogYXNzZXJ0X25vdF9jYWxsZWQoKmFyZ3MsICoqa3dhcmdzKQorCisgICAgICAgIEFzc2VydCB0aGUgbW9jayB3YXMgbmV2ZXIgY2FsbGVkLgorCisgICAgICAgICAgICA+Pj4gbSA9IE1vY2soKQorICAgICAgICAgICAgPj4+IG0uaGVsbG8uYXNzZXJ0X25vdF9jYWxsZWQoKQorICAgICAgICAgICAgPj4+IG9iaiA9IG0uaGVsbG8oKQorICAgICAgICAgICAgPj4+IG0uaGVsbG8uYXNzZXJ0X25vdF9jYWxsZWQoKQorICAgICAgICAgICAgVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgorICAgICAgICAgICAgICAuLi4KKyAgICAgICAgICAgIEFzc2VydGlvbkVycm9yOiBFeHBlY3RlZCAnaGVsbG8nIHRvIG5vdCBoYXZlIGJlZW4gY2FsbGVkLiBDYWxsZWQgMSB0aW1lcy4KKworICAgICAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKKwogCiAgICAgLi4gbWV0aG9kOjogcmVzZXRfbW9jaygpCiAKQEAgLTEwMzIsMjUgKzEwNTIsMzEgQEAKICAgICBkZWZhdWx0IGJlY2F1c2UgaXQgY2FuIGJlIGRhbmdlcm91cy4gV2l0aCBpdCBzd2l0Y2hlZCBvbiB5b3UgY2FuIHdyaXRlCiAgICAgcGFzc2luZyB0ZXN0cyBhZ2FpbnN0IEFQSXMgdGhhdCBkb24ndCBhY3R1YWxseSBleGlzdCEKIAotICAgIFBhdGNoIGNhbiBiZSB1c2VkIGFzIGEgYFRlc3RDYXNlYCBjbGFzcyBkZWNvcmF0b3IuIEl0IHdvcmtzIGJ5CisgICAgLi4gbm90ZTo6CisKKyAgICAgICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgICAgICAgSWYgeW91IGFyZSBwYXRjaGluZyBidWlsdGlucyBpbiBhIG1vZHVsZSB0aGVuIHlvdSBkb24ndAorICAgICAgICAgICBuZWVkIHRvIHBhc3MgYGBjcmVhdGU9VHJ1ZWBgLCBpdCB3aWxsIGJlIGFkZGVkIGJ5IGRlZmF1bHQuCisKKyAgICBQYXRjaCBjYW4gYmUgdXNlZCBhcyBhIDpjbGFzczpgVGVzdENhc2VgIGNsYXNzIGRlY29yYXRvci4gSXQgd29ya3MgYnkKICAgICBkZWNvcmF0aW5nIGVhY2ggdGVzdCBtZXRob2QgaW4gdGhlIGNsYXNzLiBUaGlzIHJlZHVjZXMgdGhlIGJvaWxlcnBsYXRlCi0gICAgY29kZSB3aGVuIHlvdXIgdGVzdCBtZXRob2RzIHNoYXJlIGEgY29tbW9uIHBhdGNoaW5ncyBzZXQuIGBwYXRjaGAgZmluZHMKLSAgICB0ZXN0cyBieSBsb29raW5nIGZvciBtZXRob2QgbmFtZXMgdGhhdCBzdGFydCB3aXRoIGBwYXRjaC5URVNUX1BSRUZJWGAuCi0gICAgQnkgZGVmYXVsdCB0aGlzIGlzIGB0ZXN0YCwgd2hpY2ggbWF0Y2hlcyB0aGUgd2F5IGB1bml0dGVzdGAgZmluZHMgdGVzdHMuCi0gICAgWW91IGNhbiBzcGVjaWZ5IGFuIGFsdGVybmF0aXZlIHByZWZpeCBieSBzZXR0aW5nIGBwYXRjaC5URVNUX1BSRUZJWGAuCisgICAgY29kZSB3aGVuIHlvdXIgdGVzdCBtZXRob2RzIHNoYXJlIGEgY29tbW9uIHBhdGNoaW5ncyBzZXQuIDpmdW5jOmBwYXRjaGAgZmluZHMKKyAgICB0ZXN0cyBieSBsb29raW5nIGZvciBtZXRob2QgbmFtZXMgdGhhdCBzdGFydCB3aXRoIGBgcGF0Y2guVEVTVF9QUkVGSVhgYC4KKyAgICBCeSBkZWZhdWx0IHRoaXMgaXMgYGAndGVzdCdgYCwgd2hpY2ggbWF0Y2hlcyB0aGUgd2F5IDptb2Q6YHVuaXR0ZXN0YCBmaW5kcyB0ZXN0cy4KKyAgICBZb3UgY2FuIHNwZWNpZnkgYW4gYWx0ZXJuYXRpdmUgcHJlZml4IGJ5IHNldHRpbmcgYGBwYXRjaC5URVNUX1BSRUZJWGBgLgogCiAgICAgUGF0Y2ggY2FuIGJlIHVzZWQgYXMgYSBjb250ZXh0IG1hbmFnZXIsIHdpdGggdGhlIHdpdGggc3RhdGVtZW50LiBIZXJlIHRoZQogICAgIHBhdGNoaW5nIGFwcGxpZXMgdG8gdGhlIGluZGVudGVkIGJsb2NrIGFmdGVyIHRoZSB3aXRoIHN0YXRlbWVudC4gSWYgeW91CiAgICAgdXNlICJhcyIgdGhlbiB0aGUgcGF0Y2hlZCBvYmplY3Qgd2lsbCBiZSBib3VuZCB0byB0aGUgbmFtZSBhZnRlciB0aGUKLSAgICAiYXMiOyB2ZXJ5IHVzZWZ1bCBpZiBgcGF0Y2hgIGlzIGNyZWF0aW5nIGEgbW9jayBvYmplY3QgZm9yIHlvdS4KKyAgICAiYXMiOyB2ZXJ5IHVzZWZ1bCBpZiA6ZnVuYzpgcGF0Y2hgIGlzIGNyZWF0aW5nIGEgbW9jayBvYmplY3QgZm9yIHlvdS4KIAotICAgIGBwYXRjaGAgdGFrZXMgYXJiaXRyYXJ5IGtleXdvcmQgYXJndW1lbnRzLiBUaGVzZSB3aWxsIGJlIHBhc3NlZCB0bwotICAgIHRoZSBgTW9ja2AgKG9yIGBuZXdfY2FsbGFibGVgKSBvbiBjb25zdHJ1Y3Rpb24uCisgICAgOmZ1bmM6YHBhdGNoYCB0YWtlcyBhcmJpdHJhcnkga2V5d29yZCBhcmd1bWVudHMuIFRoZXNlIHdpbGwgYmUgcGFzc2VkIHRvCisgICAgdGhlIDpjbGFzczpgTW9ja2AgKG9yICpuZXdfY2FsbGFibGUqKSBvbiBjb25zdHJ1Y3Rpb24uCiAKLSAgICBgcGF0Y2guZGljdCguLi4pYCwgYHBhdGNoLm11bHRpcGxlKC4uLilgIGFuZCBgcGF0Y2gub2JqZWN0KC4uLilgIGFyZQorICAgIGBgcGF0Y2guZGljdCguLi4pYGAsIGBgcGF0Y2gubXVsdGlwbGUoLi4uKWBgIGFuZCBgYHBhdGNoLm9iamVjdCguLi4pYGAgYXJlCiAgICAgYXZhaWxhYmxlIGZvciBhbHRlcm5hdGUgdXNlLWNhc2VzLgogCi1gcGF0Y2hgIGFzIGZ1bmN0aW9uIGRlY29yYXRvciwgY3JlYXRpbmcgdGhlIG1vY2sgZm9yIHlvdSBhbmQgcGFzc2luZyBpdCBpbnRvCis6ZnVuYzpgcGF0Y2hgIGFzIGZ1bmN0aW9uIGRlY29yYXRvciwgY3JlYXRpbmcgdGhlIG1vY2sgZm9yIHlvdSBhbmQgcGFzc2luZyBpdCBpbnRvCiB0aGUgZGVjb3JhdGVkIGZ1bmN0aW9uOgogCiAgICAgPj4+IEBwYXRjaCgnX19tYWluX18uU29tZUNsYXNzJykKQEAgLTEzOTIsMTUgKzE0MTgsMzEgQEAKICAgICAgICAgLi4uICAgICAgICAgYXNzZXJ0IHBhY2thZ2UubW9kdWxlLkNsYXNzIGlzIHNlbGYuTW9ja0NsYXNzCiAgICAgICAgIC4uLgogCi0gICAgQXMgYW4gYWRkZWQgYm9udXMgeW91IG5vIGxvbmdlciBuZWVkIHRvIGtlZXAgYSByZWZlcmVuY2UgdG8gdGhlIGBwYXRjaGVyYAorICAgIEFzIGFuIGFkZGVkIGJvbnVzIHlvdSBubyBsb25nZXIgbmVlZCB0byBrZWVwIGEgcmVmZXJlbmNlIHRvIHRoZSBgYHBhdGNoZXJgYAogICAgIG9iamVjdC4KIAogSXQgaXMgYWxzbyBwb3NzaWJsZSB0byBzdG9wIGFsbCBwYXRjaGVzIHdoaWNoIGhhdmUgYmVlbiBzdGFydGVkIGJ5IHVzaW5nCi1gcGF0Y2guc3RvcGFsbGAuCis6ZnVuYzpgcGF0Y2guc3RvcGFsbGAuCiAKIC4uIGZ1bmN0aW9uOjogcGF0Y2guc3RvcGFsbAogCi0gICAgU3RvcCBhbGwgYWN0aXZlIHBhdGNoZXMuIE9ubHkgc3RvcHMgcGF0Y2hlcyBzdGFydGVkIHdpdGggYHN0YXJ0YC4KKyAgICBTdG9wIGFsbCBhY3RpdmUgcGF0Y2hlcy4gT25seSBzdG9wcyBwYXRjaGVzIHN0YXJ0ZWQgd2l0aCBgYHN0YXJ0YGAuCisKKworLi4gX3BhdGNoLWJ1aWx0aW5zOgorCitwYXRjaCBidWlsdGlucworfn5+fn5+fn5+fn5+fn4KK1lvdSBjYW4gcGF0Y2ggYW55IGJ1aWx0aW5zIHdpdGhpbiBhIG1vZHVsZS4gVGhlIGZvbGxvd2luZyBleGFtcGxlIHBhdGNoZXMKK2J1aWx0aW4gOmZ1bmM6YG9yZGA6CisKKyAgICA+Pj4gQHBhdGNoKCdfX21haW5fXy5vcmQnKQorICAgIC4uLiBkZWYgdGVzdChtb2NrX29yZCk6CisgICAgLi4uICAgICBtb2NrX29yZC5yZXR1cm5fdmFsdWUgPSAxMDEKKyAgICAuLi4gICAgIHByaW50KG9yZCgnYycpKQorICAgIC4uLgorICAgID4+PiB0ZXN0KCkKKyAgICAxMDEKIAogCiBURVNUX1BSRUZJWApAQCAtMjAxMyw3ICsyMDU1LDcgQEAKIGVub3VnaCB0aGF0IGEgaGVscGVyIGZ1bmN0aW9uIGlzIHVzZWZ1bC4KIAogICAgID4+PiBtID0gbW9ja19vcGVuKCkKLSAgICA+Pj4gd2l0aCBwYXRjaCgnX19tYWluX18ub3BlbicsIG0sIGNyZWF0ZT1UcnVlKToKKyAgICA+Pj4gd2l0aCBwYXRjaCgnX19tYWluX18ub3BlbicsIG0pOgogICAgIC4uLiAgICAgd2l0aCBvcGVuKCdmb28nLCAndycpIGFzIGg6CiAgICAgLi4uICAgICAgICAgaC53cml0ZSgnc29tZSBzdHVmZicpCiAgICAgLi4uCkBAIC0yMDI4LDcgKzIwNzAsNyBAQAogCiBBbmQgZm9yIHJlYWRpbmcgZmlsZXM6CiAKLSAgICA+Pj4gd2l0aCBwYXRjaCgnX19tYWluX18ub3BlbicsIG1vY2tfb3BlbihyZWFkX2RhdGE9J2JpYmJsZScpLCBjcmVhdGU9VHJ1ZSkgYXMgbToKKyAgICA+Pj4gd2l0aCBwYXRjaCgnX19tYWluX18ub3BlbicsIG1vY2tfb3BlbihyZWFkX2RhdGE9J2JpYmJsZScpKSBhcyBtOgogICAgIC4uLiAgICAgd2l0aCBvcGVuKCdmb28nKSBhcyBoOgogICAgIC4uLiAgICAgICAgIHJlc3VsdCA9IGgucmVhZCgpCiAgICAgLi4uCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS91bml0dGVzdC5yc3QgYi9Eb2MvbGlicmFyeS91bml0dGVzdC5yc3QKaW5kZXggYzY1YTk5ZC4uOTI2MDllYyAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvdW5pdHRlc3QucnN0CisrKyBiL0RvYy9saWJyYXJ5L3VuaXR0ZXN0LnJzdApAQCAtMTU1Miw2ICsxNTUyLDIwIEBACiAgICA6ZGF0YTpgdW5pdHRlc3QuZGVmYXVsdFRlc3RMb2FkZXJgLiAgVXNpbmcgYSBzdWJjbGFzcyBvciBpbnN0YW5jZSwgaG93ZXZlciwKICAgIGFsbG93cyBjdXN0b21pemF0aW9uIG9mIHNvbWUgY29uZmlndXJhYmxlIHByb3BlcnRpZXMuCiAKKyAgIDpjbGFzczpgVGVzdExvYWRlcmAgb2JqZWN0cyBoYXZlIHRoZSBmb2xsb3dpbmcgYXR0cmlidXRlczoKKworCisgICAuLiBhdHRyaWJ1dGU6OiBlcnJvcnMKKworICAgICAgQSBsaXN0IG9mIHRoZSBub24tZmF0YWwgZXJyb3JzIGVuY291bnRlcmVkIHdoaWxlIGxvYWRpbmcgdGVzdHMuIE5vdCByZXNldAorICAgICAgYnkgdGhlIGxvYWRlciBhdCBhbnkgcG9pbnQuIEZhdGFsIGVycm9ycyBhcmUgc2lnbmFsbGVkIGJ5IHRoZSByZWxldmFudAorICAgICAgYSBtZXRob2QgcmFpc2luZyBhbiBleGNlcHRpb24gdG8gdGhlIGNhbGxlci4gTm9uLWZhdGFsIGVycm9ycyBhcmUgYWxzbworICAgICAgaW5kaWNhdGVkIGJ5IGEgc3ludGhldGljIHRlc3QgdGhhdCB3aWxsIHJhaXNlIHRoZSBvcmlnaW5hbCBlcnJvciB3aGVuCisgICAgICBydW4uCisKKyAgICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQorCisKICAgIDpjbGFzczpgVGVzdExvYWRlcmAgb2JqZWN0cyBoYXZlIHRoZSBmb2xsb3dpbmcgbWV0aG9kczoKIAogCkBAIC0xNTYxLDcgKzE1NzUsNyBAQAogICAgICAgOmNsYXNzOmB0ZXN0Q2FzZUNsYXNzYC4KIAogCi0gICAuLiBtZXRob2Q6OiBsb2FkVGVzdHNGcm9tTW9kdWxlKG1vZHVsZSkKKyAgIC4uIG1ldGhvZDo6IGxvYWRUZXN0c0Zyb21Nb2R1bGUobW9kdWxlLCBwYXR0ZXJuPU5vbmUpCiAKICAgICAgIFJldHVybiBhIHN1aXRlIG9mIGFsbCB0ZXN0cyBjYXNlcyBjb250YWluZWQgaW4gdGhlIGdpdmVuIG1vZHVsZS4gVGhpcwogICAgICAgbWV0aG9kIHNlYXJjaGVzICptb2R1bGUqIGZvciBjbGFzc2VzIGRlcml2ZWQgZnJvbSA6Y2xhc3M6YFRlc3RDYXNlYCBhbmQKQEAgLTE1NzgsMTEgKzE1OTIsMTggQEAKIAogICAgICAgSWYgYSBtb2R1bGUgcHJvdmlkZXMgYSBgYGxvYWRfdGVzdHNgYCBmdW5jdGlvbiBpdCB3aWxsIGJlIGNhbGxlZCB0bwogICAgICAgbG9hZCB0aGUgdGVzdHMuIFRoaXMgYWxsb3dzIG1vZHVsZXMgdG8gY3VzdG9taXplIHRlc3QgbG9hZGluZy4KLSAgICAgIFRoaXMgaXMgdGhlIGBsb2FkX3Rlc3RzIHByb3RvY29sYF8uCisgICAgICBUaGlzIGlzIHRoZSBgbG9hZF90ZXN0cyBwcm90b2NvbGBfLiAgVGhlICpwYXR0ZXJuKiBhcmd1bWVudCBpcyBwYXNzZWQgYXMKKyAgICAgIHRoZSB0aGlyZCBhcmd1bWVudCB0byBgYGxvYWRfdGVzdHNgYC4KIAogICAgICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjIKICAgICAgICAgIFN1cHBvcnQgZm9yIGBgbG9hZF90ZXN0c2BgIGFkZGVkLgogCisgICAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgICAgVGhlIHVuZG9jdW1lbnRlZCBhbmQgdW5vZmZpY2lhbCAqdXNlX2xvYWRfdGVzdHMqIGRlZmF1bHQgYXJndW1lbnQgaXMKKyAgICAgICAgIGRlcHJlY2F0ZWQgYW5kIGlnbm9yZWQsIGFsdGhvdWdoIGl0IGlzIHN0aWxsIGFjY2VwdGVkIGZvciBiYWNrd2FyZAorICAgICAgICAgY29tcGF0aWJpbGl0eS4gIFRoZSBtZXRob2QgYWxzbyBub3cgYWNjZXB0cyBhIGtleXdvcmQtb25seSBhcmd1bWVudAorICAgICAgICAgKnBhdHRlcm4qIHdoaWNoIGlzIHBhc3NlZCB0byBgYGxvYWRfdGVzdHNgYCBhcyB0aGUgdGhpcmQgYXJndW1lbnQuCisKIAogICAgLi4gbWV0aG9kOjogbG9hZFRlc3RzRnJvbU5hbWUobmFtZSwgbW9kdWxlPU5vbmUpCiAKQEAgLTE2MDgsNiArMTYyOSwxMiBAQAogCiAgICAgICBUaGUgbWV0aG9kIG9wdGlvbmFsbHkgcmVzb2x2ZXMgKm5hbWUqIHJlbGF0aXZlIHRvIHRoZSBnaXZlbiAqbW9kdWxlKi4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgIElmIGFuIDpleGM6YEltcG9ydEVycm9yYCBvciA6ZXhjOmBBdHRyaWJ1dGVFcnJvcmAgb2NjdXJzIHdoaWxlIHRyYXZlcnNpbmcKKyAgICAgICpuYW1lKiB0aGVuIGEgc3ludGhldGljIHRlc3QgdGhhdCByYWlzZXMgdGhhdCBlcnJvciB3aGVuIHJ1biB3aWxsIGJlCisgICAgICByZXR1cm5lZC4gVGhlc2UgZXJyb3JzIGFyZSBpbmNsdWRlZCBpbiB0aGUgZXJyb3JzIGFjY3VtdWxhdGVkIGJ5CisgICAgICBzZWxmLmVycm9ycy4KKwogCiAgICAuLiBtZXRob2Q6OiBsb2FkVGVzdHNGcm9tTmFtZXMobmFtZXMsIG1vZHVsZT1Ob25lKQogCkBAIC0xNjM0LDE4ICsxNjYxLDIyIEBACiAgICAgICB0aGUgc3RhcnQgZGlyZWN0b3J5IGlzIG5vdCB0aGUgdG9wIGxldmVsIGRpcmVjdG9yeSB0aGVuIHRoZSB0b3AgbGV2ZWwKICAgICAgIGRpcmVjdG9yeSBtdXN0IGJlIHNwZWNpZmllZCBzZXBhcmF0ZWx5LgogCi0gICAgICBJZiBpbXBvcnRpbmcgYSBtb2R1bGUgZmFpbHMsIGZvciBleGFtcGxlIGR1ZSB0byBhIHN5bnRheCBlcnJvciwgdGhlbiB0aGlzCi0gICAgICB3aWxsIGJlIHJlY29yZGVkIGFzIGEgc2luZ2xlIGVycm9yIGFuZCBkaXNjb3Zlcnkgd2lsbCBjb250aW51ZS4gIElmIHRoZQotICAgICAgaW1wb3J0IGZhaWx1cmUgaXMgZHVlIHRvIDpleGM6YFNraXBUZXN0YCBiZWluZyByYWlzZWQsIGl0IHdpbGwgYmUgcmVjb3JkZWQKLSAgICAgIGFzIGEgc2tpcCBpbnN0ZWFkIG9mIGFuIGVycm9yLgorICAgICAgSWYgaW1wb3J0aW5nIGEgbW9kdWxlIGZhaWxzLCBmb3IgZXhhbXBsZSBkdWUgdG8gYSBzeW50YXggZXJyb3IsIHRoZW4KKyAgICAgIHRoaXMgd2lsbCBiZSByZWNvcmRlZCBhcyBhIHNpbmdsZSBlcnJvciBhbmQgZGlzY292ZXJ5IHdpbGwgY29udGludWUuICBJZgorICAgICAgdGhlIGltcG9ydCBmYWlsdXJlIGlzIGR1ZSB0byA6ZXhjOmBTa2lwVGVzdGAgYmVpbmcgcmFpc2VkLCBpdCB3aWxsIGJlCisgICAgICByZWNvcmRlZCBhcyBhIHNraXAgaW5zdGVhZCBvZiBhbiBlcnJvci4KIAotICAgICAgSWYgYSB0ZXN0IHBhY2thZ2UgbmFtZSAoZGlyZWN0b3J5IHdpdGggOmZpbGU6YF9faW5pdF9fLnB5YCkgbWF0Y2hlcyB0aGUKLSAgICAgIHBhdHRlcm4gdGhlbiB0aGUgcGFja2FnZSB3aWxsIGJlIGNoZWNrZWQgZm9yIGEgYGBsb2FkX3Rlc3RzYGAKLSAgICAgIGZ1bmN0aW9uLiBJZiB0aGlzIGV4aXN0cyB0aGVuIGl0IHdpbGwgYmUgY2FsbGVkIHdpdGggKmxvYWRlciosICp0ZXN0cyosCi0gICAgICAqcGF0dGVybiouCisgICAgICBJZiBhIHBhY2thZ2UgKGEgZGlyZWN0b3J5IGNvbnRhaW5pbmcgYSBmaWxlIG5hbWVkIDpmaWxlOmBfX2luaXRfXy5weWApIGlzCisgICAgICBmb3VuZCwgdGhlIHBhY2thZ2Ugd2lsbCBiZSBjaGVja2VkIGZvciBhIGBgbG9hZF90ZXN0c2BgIGZ1bmN0aW9uLiBJZiB0aGlzCisgICAgICBleGlzdHMgdGhlbiBpdCB3aWxsIGJlIGNhbGxlZAorICAgICAgYGBwYWNrYWdlLmxvYWRfdGVzdHMobG9hZGVyLCB0ZXN0cywgcGF0dGVybilgYC4gVGVzdCBkaXNjb3ZlcnkgdGFrZXMgY2FyZQorICAgICAgdG8gZW5zdXJlIHRoYXQgYSBwYWNrYWdlIGlzIG9ubHkgY2hlY2tlZCBmb3IgdGVzdHMgb25jZSBkdXJpbmcgYW4KKyAgICAgIGludm9jYXRpb24sIGV2ZW4gaWYgdGhlIGxvYWRfdGVzdHMgZnVuY3Rpb24gaXRzZWxmIGNhbGxzCisgICAgICBgYGxvYWRlci5kaXNjb3ZlcmBgLgogCi0gICAgICBJZiBgYGxvYWRfdGVzdHNgYCBleGlzdHMgdGhlbiBkaXNjb3ZlcnkgZG9lcyAqbm90KiByZWN1cnNlIGludG8gdGhlIHBhY2thZ2UsCi0gICAgICBgYGxvYWRfdGVzdHNgYCBpcyByZXNwb25zaWJsZSBmb3IgbG9hZGluZyBhbGwgdGVzdHMgaW4gdGhlIHBhY2thZ2UuCisgICAgICBJZiBgYGxvYWRfdGVzdHNgYCBleGlzdHMgdGhlbiBkaXNjb3ZlcnkgZG9lcyAqbm90KiByZWN1cnNlIGludG8gdGhlCisgICAgICBwYWNrYWdlLCBgYGxvYWRfdGVzdHNgYCBpcyByZXNwb25zaWJsZSBmb3IgbG9hZGluZyBhbGwgdGVzdHMgaW4gdGhlCisgICAgICBwYWNrYWdlLgogCiAgICAgICBUaGUgcGF0dGVybiBpcyBkZWxpYmVyYXRlbHkgbm90IHN0b3JlZCBhcyBhIGxvYWRlciBhdHRyaWJ1dGUgc28gdGhhdAogICAgICAgcGFja2FnZXMgY2FuIGNvbnRpbnVlIGRpc2NvdmVyeSB0aGVtc2VsdmVzLiAqdG9wX2xldmVsX2RpciogaXMgc3RvcmVkIHNvCkBAIC0xNjY0LDYgKzE2OTUsMTEgQEAKICAgICAgICAgICAgdGhlIHNhbWUgZXZlbiBpZiB0aGUgdW5kZXJseWluZyBmaWxlIHN5c3RlbSdzIG9yZGVyaW5nIGlzIG5vdAogICAgICAgICAgICBkZXBlbmRlbnQgb24gZmlsZSBuYW1lLgogCisgICAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgICAgRm91bmQgcGFja2FnZXMgYXJlIG5vdyBjaGVja2VkIGZvciBgYGxvYWRfdGVzdHNgYCByZWdhcmRsZXNzIG9mCisgICAgICAgICB3aGV0aGVyIHRoZWlyIHBhdGggbWF0Y2hlcyAqcGF0dGVybiosIGJlY2F1c2UgaXQgaXMgaW1wb3NzaWJsZSBmb3IKKyAgICAgICAgIGEgcGFja2FnZSBuYW1lIHRvIG1hdGNoIHRoZSBkZWZhdWx0IHBhdHRlcm4uCisKIAogICAgVGhlIGZvbGxvd2luZyBhdHRyaWJ1dGVzIG9mIGEgOmNsYXNzOmBUZXN0TG9hZGVyYCBjYW4gYmUgY29uZmlndXJlZCBlaXRoZXIgYnkKICAgIHN1YmNsYXNzaW5nIG9yIGFzc2lnbm1lbnQgb24gYW4gaW5zdGFuY2U6CkBAIC0yMDMyLDcgKzIwNjgsMTAgQEAKIElmIGEgdGVzdCBtb2R1bGUgZGVmaW5lcyBgYGxvYWRfdGVzdHNgYCBpdCB3aWxsIGJlIGNhbGxlZCBieQogOm1ldGg6YFRlc3RMb2FkZXIubG9hZFRlc3RzRnJvbU1vZHVsZWAgd2l0aCB0aGUgZm9sbG93aW5nIGFyZ3VtZW50czo6CiAKLSAgICBsb2FkX3Rlc3RzKGxvYWRlciwgc3RhbmRhcmRfdGVzdHMsIE5vbmUpCisgICAgbG9hZF90ZXN0cyhsb2FkZXIsIHN0YW5kYXJkX3Rlc3RzLCBwYXR0ZXJuKQorCit3aGVyZSAqcGF0dGVybiogaXMgcGFzc2VkIHN0cmFpZ2h0IHRocm91Z2ggZnJvbSBgYGxvYWRUZXN0c0Zyb21Nb2R1bGVgYC4gIEl0CitkZWZhdWx0cyB0byBgYE5vbmVgYC4KIAogSXQgc2hvdWxkIHJldHVybiBhIDpjbGFzczpgVGVzdFN1aXRlYC4KIApAQCAtMjA1NCwyMSArMjA5MywxMiBAQAogICAgICAgICAgICAgc3VpdGUuYWRkVGVzdHModGVzdHMpCiAgICAgICAgIHJldHVybiBzdWl0ZQogCi1JZiBkaXNjb3ZlcnkgaXMgc3RhcnRlZCwgZWl0aGVyIGZyb20gdGhlIGNvbW1hbmQgbGluZSBvciBieSBjYWxsaW5nCi06bWV0aDpgVGVzdExvYWRlci5kaXNjb3ZlcmAsIHdpdGggYSBwYXR0ZXJuIHRoYXQgbWF0Y2hlcyBhIHBhY2thZ2UKLW5hbWUgdGhlbiB0aGUgcGFja2FnZSA6ZmlsZTpgX19pbml0X18ucHlgIHdpbGwgYmUgY2hlY2tlZCBmb3IgYGBsb2FkX3Rlc3RzYGAuCi0KLS4uIG5vdGU6OgotCi0gICBUaGUgZGVmYXVsdCBwYXR0ZXJuIGlzIGBgJ3Rlc3QqLnB5J2BgLiBUaGlzIG1hdGNoZXMgYWxsIFB5dGhvbiBmaWxlcwotICAgdGhhdCBzdGFydCB3aXRoIGBgJ3Rlc3QnYGAgYnV0ICp3b24ndCogbWF0Y2ggYW55IHRlc3QgZGlyZWN0b3JpZXMuCi0KLSAgIEEgcGF0dGVybiBsaWtlIGBgJ3Rlc3QqJ2BgIHdpbGwgbWF0Y2ggdGVzdCBwYWNrYWdlcyBhcyB3ZWxsIGFzCi0gICBtb2R1bGVzLgotCi1JZiB0aGUgcGFja2FnZSA6ZmlsZTpgX19pbml0X18ucHlgIGRlZmluZXMgYGBsb2FkX3Rlc3RzYGAgdGhlbiBpdCB3aWxsIGJlCi1jYWxsZWQgYW5kIGRpc2NvdmVyeSBub3QgY29udGludWVkIGludG8gdGhlIHBhY2thZ2UuIGBgbG9hZF90ZXN0c2BgCi1pcyBjYWxsZWQgd2l0aCB0aGUgZm9sbG93aW5nIGFyZ3VtZW50czo6CitJZiBkaXNjb3ZlcnkgaXMgc3RhcnRlZCBpbiBhIGRpcmVjdG9yeSBjb250YWluaW5nIGEgcGFja2FnZSwgZWl0aGVyIGZyb20gdGhlCitjb21tYW5kIGxpbmUgb3IgYnkgY2FsbGluZyA6bWV0aDpgVGVzdExvYWRlci5kaXNjb3ZlcmAsIHRoZW4gdGhlIHBhY2thZ2UKKzpmaWxlOmBfX2luaXRfXy5weWAgd2lsbCBiZSBjaGVja2VkIGZvciBgYGxvYWRfdGVzdHNgYC4gIElmIHRoYXQgZnVuY3Rpb24gZG9lcworbm90IGV4aXN0LCBkaXNjb3Zlcnkgd2lsbCByZWN1cnNlIGludG8gdGhlIHBhY2thZ2UgYXMgdGhvdWdoIGl0IHdlcmUganVzdAorYW5vdGhlciBkaXJlY3RvcnkuICBPdGhlcndpc2UsIGRpc2NvdmVyeSBvZiB0aGUgcGFja2FnZSdzIHRlc3RzIHdpbGwgYmUgbGVmdCB1cAordG8gYGBsb2FkX3Rlc3RzYGAgd2hpY2ggaXMgY2FsbGVkIHdpdGggdGhlIGZvbGxvd2luZyBhcmd1bWVudHM6OgogCiAgICAgbG9hZF90ZXN0cyhsb2FkZXIsIHN0YW5kYXJkX3Rlc3RzLCBwYXR0ZXJuKQogCkBAIC0yMDg3LDYgKzIxMTcsMTEgQEAKICAgICAgICAgc3RhbmRhcmRfdGVzdHMuYWRkVGVzdHMocGFja2FnZV90ZXN0cykKICAgICAgICAgcmV0dXJuIHN0YW5kYXJkX3Rlc3RzCiAKKy4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICBEaXNjb3Zlcnkgbm8gbG9uZ2VyIGNoZWNrcyBwYWNrYWdlIG5hbWVzIGZvciBtYXRjaGluZyAqcGF0dGVybiogZHVlIHRvIHRoZQorICAgaW1wb3NzaWJpbGl0eSBvZiBwYWNrYWdlIG5hbWVzIG1hdGNoaW5nIHRoZSBkZWZhdWx0IHBhdHRlcm4uCisKKwogCiBDbGFzcyBhbmQgTW9kdWxlIEZpeHR1cmVzCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS91cmxsaWIucGFyc2UucnN0IGIvRG9jL2xpYnJhcnkvdXJsbGliLnBhcnNlLnJzdAppbmRleCAxNTRhNTIxLi4zZWNkZGExIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS91cmxsaWIucGFyc2UucnN0CisrKyBiL0RvYy9saWJyYXJ5L3VybGxpYi5wYXJzZS5yc3QKQEAgLTI2OCw2ICsyNjgsMTEgQEAKICAgIDpmdW5jOmB1cmx1bnNwbGl0YCwgcmVtb3ZpbmcgcG9zc2libGUgKnNjaGVtZSogYW5kICpuZXRsb2MqIHBhcnRzLgogCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisKKyAgICAgIEJlaGF2aW91ciB1cGRhdGVkIHRvIG1hdGNoIHRoZSBzZW1hbnRpY3MgZGVmaW5lZCBpbiA6cmZjOmAzOTg2YC4KKworCiAuLiBmdW5jdGlvbjo6IHVybGRlZnJhZyh1cmwpCiAKICAgIElmICp1cmwqIGNvbnRhaW5zIGEgZnJhZ21lbnQgaWRlbnRpZmllciwgcmV0dXJuIGEgbW9kaWZpZWQgdmVyc2lvbiBvZiAqdXJsKgpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvdXJsbGliLnJlcXVlc3QucnN0IGIvRG9jL2xpYnJhcnkvdXJsbGliLnJlcXVlc3QucnN0CmluZGV4IDI0OTM5NmUuLjI0MDA1MjYgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3VybGxpYi5yZXF1ZXN0LnJzdAorKysgYi9Eb2MvbGlicmFyeS91cmxsaWIucmVxdWVzdC5yc3QKQEAgLTYzLDcgKzYzLDcgQEAKICAgIDpjbGFzczpgaHR0cC5jbGllbnQuSFRUUFJlc3BvbnNlYCBvYmplY3Qgd2hpY2ggaGFzIHRoZSBmb2xsb3dpbmcKICAgIDpyZWY6YGh0dHByZXNwb25zZS1vYmplY3RzYCBtZXRob2RzLgogCi0gICBGb3IgZnRwLCBmaWxlLCBhbmQgZGF0YSB1cmxzIGFuZCByZXF1ZXN0cyBleHBsaWNpdHkgaGFuZGxlZCBieSBsZWdhY3kKKyAgIEZvciBmdHAsIGZpbGUsIGFuZCBkYXRhIHVybHMgYW5kIHJlcXVlc3RzIGV4cGxpY2l0bHkgaGFuZGxlZCBieSBsZWdhY3kKICAgIDpjbGFzczpgVVJMb3BlbmVyYCBhbmQgOmNsYXNzOmBGYW5jeVVSTG9wZW5lcmAgY2xhc3NlcywgdGhpcyBmdW5jdGlvbgogICAgcmV0dXJucyBhIDpjbGFzczpgdXJsbGliLnJlc3BvbnNlLmFkZGluZm91cmxgIG9iamVjdCB3aGljaCBjYW4gd29yayBhcwogICAgOnRlcm06YGNvbnRleHQgbWFuYWdlcmAgYW5kIGhhcyBtZXRob2RzIHN1Y2ggYXMKQEAgLTExMCw2ICsxMTAsNyBAQAogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjQuMwogICAgICAgKmNvbnRleHQqIHdhcyBhZGRlZC4KIAorCiAuLiBmdW5jdGlvbjo6IGluc3RhbGxfb3BlbmVyKG9wZW5lcikKIAogICAgSW5zdGFsbCBhbiA6Y2xhc3M6YE9wZW5lckRpcmVjdG9yYCBpbnN0YW5jZSBhcyB0aGUgZGVmYXVsdCBnbG9iYWwgb3BlbmVyLgpAQCAtMzAwLDYgKzMwMSwxNyBAQAogICAgcHJlc2VudGVkIHdpdGggYSB3cm9uZyBBdXRoZW50aWNhdGlvbiBzY2hlbWUuCiAKIAorLi4gY2xhc3M6OiBIVFRQQmFzaWNQcmlvckF1dGhIYW5kbGVyKHBhc3N3b3JkX21ncj1Ob25lKQorCisgICBBIHZhcmlhbnQgb2YgOmNsYXNzOmBIVFRQQmFzaWNBdXRoSGFuZGxlcmAgd2hpY2ggYXV0b21hdGljYWxseSBzZW5kcworICAgYXV0aG9yaXphdGlvbiBjcmVkZW50aWFscyB3aXRoIHRoZSBmaXJzdCByZXF1ZXN0LCByYXRoZXIgdGhhbiB3YWl0aW5nIHRvCisgICBmaXJzdCByZWNlaXZlIGEgSFRUUCA0MDEgIlVuYXV0aG9yaXNlZCIgZXJyb3IgcmVzcG9uc2UuIFRoaXMgYWxsb3dzCisgICBhdXRoZW50aWNhdGlvbiB0byBzaXRlcyB0aGF0IGRvbid0IHByb3ZpZGUgYSA0MDEgcmVzcG9uc2Ugd2hlbiByZWNlaXZpbmcKKyAgIGEgcmVxdWVzdCB3aXRob3V0IGFuIEF1dGhvcml6YXRpb24gaGVhZGVyLiBBc2lkZSBmcm9tIHRoaXMgZGlmZmVyZW5jZSwKKyAgIHRoaXMgYmVoYXZlcyBleGFjdGx5IGFzIDpjbGFzczpgSFRUUEJhc2ljQXV0aEhhbmRsZXJgLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKKwogLi4gY2xhc3M6OiBQcm94eUJhc2ljQXV0aEhhbmRsZXIocGFzc3dvcmRfbWdyPU5vbmUpCiAKICAgIEhhbmRsZSBhdXRoZW50aWNhdGlvbiB3aXRoIHRoZSBwcm94eS4gKnBhc3N3b3JkX21nciosIGlmIGdpdmVuLCBzaG91bGQgYmUKQEAgLTEwNjYsNyArMTA3OCw3IEBACiB0aGUgdmFyaW91cyB3YXlzIGluIHdoaWNoIGEgKFgpSFRNTCBvciBhIFhNTCBkb2N1bWVudCBjb3VsZCBoYXZlIHNwZWNpZmllZCBpdHMKIGVuY29kaW5nIGluZm9ybWF0aW9uLgogCi1BcyB0aGUgcHl0aG9uLm9yZyB3ZWJzaXRlIHVzZXMgKnV0Zi04KiBlbmNvZGluZyBhcyBzcGVjaWZpZWQgaW4gaXQncyBtZXRhIHRhZywgd2UKK0FzIHRoZSBweXRob24ub3JnIHdlYnNpdGUgdXNlcyAqdXRmLTgqIGVuY29kaW5nIGFzIHNwZWNpZmllZCBpbiBpdHMgbWV0YSB0YWcsIHdlCiB3aWxsIHVzZSB0aGUgc2FtZSBmb3IgZGVjb2RpbmcgdGhlIGJ5dGVzIG9iamVjdC4gOjoKIAogICAgPj4+IHdpdGggdXJsbGliLnJlcXVlc3QudXJsb3BlbignaHR0cDovL3d3dy5weXRob24ub3JnLycpIGFzIGY6CmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS93ZWFrcmVmLnJzdCBiL0RvYy9saWJyYXJ5L3dlYWtyZWYucnN0CmluZGV4IDljYTYwYTkuLjJlMTYwNzcgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3dlYWtyZWYucnN0CisrKyBiL0RvYy9saWJyYXJ5L3dlYWtyZWYucnN0CkBAIC0yNTgsNyArMjU4LDcgQEAKICAgIGFyZSBjYWxsZWQgaW4gcmV2ZXJzZSBvcmRlciBvZiBjcmVhdGlvbi4KIAogICAgQSBmaW5hbGl6ZXIgd2lsbCBuZXZlciBpbnZva2UgaXRzIGNhbGxiYWNrIGR1cmluZyB0aGUgbGF0ZXIgcGFydCBvZgotICAgdGhlIGludGVycHJldGVyIHNodXRkb3duIHdoZW4gbW9kdWxlIGdsb2JhbHMgYXJlIGxpYWJsZSB0byBoYXZlCisgICB0aGUgOnRlcm06YGludGVycHJldGVyIHNodXRkb3duYCB3aGVuIG1vZHVsZSBnbG9iYWxzIGFyZSBsaWFibGUgdG8gaGF2ZQogICAgYmVlbiByZXBsYWNlZCBieSA6Y29uc3Q6YE5vbmVgLgogCiAgICAuLiBtZXRob2Q6OiBfX2NhbGxfXygpCkBAIC01MjcsOCArNTI3LDggQEAKIAogU3RhcnRpbmcgd2l0aCBQeXRob24gMy40LCA6bWV0aDpgX19kZWxfX2AgbWV0aG9kcyBubyBsb25nZXIgcHJldmVudAogcmVmZXJlbmNlIGN5Y2xlcyBmcm9tIGJlaW5nIGdhcmJhZ2UgY29sbGVjdGVkLCBhbmQgbW9kdWxlIGdsb2JhbHMgYXJlCi1ubyBsb25nZXIgZm9yY2VkIHRvIDpjb25zdDpgTm9uZWAgZHVyaW5nIGludGVycHJldGVyIHNodXRkb3duLiBTbyB0aGlzCi1jb2RlIHNob3VsZCB3b3JrIHdpdGhvdXQgYW55IGlzc3VlcyBvbiBDUHl0aG9uLgorbm8gbG9uZ2VyIGZvcmNlZCB0byA6Y29uc3Q6YE5vbmVgIGR1cmluZyA6dGVybTpgaW50ZXJwcmV0ZXIgc2h1dGRvd25gLgorU28gdGhpcyBjb2RlIHNob3VsZCB3b3JrIHdpdGhvdXQgYW55IGlzc3VlcyBvbiBDUHl0aG9uLgogCiBIb3dldmVyLCBoYW5kbGluZyBvZiA6bWV0aDpgX19kZWxfX2AgbWV0aG9kcyBpcyBub3RvcmlvdXNseSBpbXBsZW1lbnRhdGlvbgogc3BlY2lmaWMsIHNpbmNlIGl0IGRlcGVuZHMgb24gaW50ZXJuYWwgZGV0YWlscyBvZiB0aGUgaW50ZXJwcmV0ZXIncyBnYXJiYWdlCkBAIC01NjYsOCArNTY2LDggQEAKIAogLi4gbm90ZTo6CiAKLSAgIElmIHlvdSBjcmVhdGUgYSBmaW5hbGl6ZXIgb2JqZWN0IGluIGEgZGFlbW9uaWMgdGhyZWFkIGp1c3QgYXMgdGhlCi0gICB0aGUgcHJvZ3JhbSBleGl0cyB0aGVuIHRoZXJlIGlzIHRoZSBwb3NzaWJpbGl0eSB0aGF0IHRoZSBmaW5hbGl6ZXIKKyAgIElmIHlvdSBjcmVhdGUgYSBmaW5hbGl6ZXIgb2JqZWN0IGluIGEgZGFlbW9uaWMgdGhyZWFkIGp1c3QgYXMgdGhlIHByb2dyYW0KKyAgIGV4aXRzIHRoZW4gdGhlcmUgaXMgdGhlIHBvc3NpYmlsaXR5IHRoYXQgdGhlIGZpbmFsaXplcgogICAgZG9lcyBub3QgZ2V0IGNhbGxlZCBhdCBleGl0LiAgSG93ZXZlciwgaW4gYSBkYWVtb25pYyB0aHJlYWQKICAgIDpmdW5jOmBhdGV4aXQucmVnaXN0ZXJgLCBgYHRyeTogLi4uIGZpbmFsbHk6IC4uLmBgIGFuZCBgYHdpdGg6IC4uLmBgCiAgICBkbyBub3QgZ3VhcmFudGVlIHRoYXQgY2xlYW51cCBvY2N1cnMgZWl0aGVyLgpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvd2ViYnJvd3Nlci5yc3QgYi9Eb2MvbGlicmFyeS93ZWJicm93c2VyLnJzdAppbmRleCBlZjYzNzY5Li5hYTVlNGFkIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS93ZWJicm93c2VyLnJzdAorKysgYi9Eb2MvbGlicmFyeS93ZWJicm93c2VyLnJzdApAQCAtMjAsNyArMjAsNyBAQAogdGhlIHVzZXIgZXhpdHMgdGhlIGJyb3dzZXIuCiAKIElmIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSA6ZW52dmFyOmBCUk9XU0VSYCBleGlzdHMsIGl0IGlzIGludGVycHJldGVkIGFzIHRoZQotOmRhdGE6YG9zLnBhdGhzZXBgLXNlcGFyYXRlZCBsaXN0IG9mIGJyb3dzZXJzIHRvIHRyeSBhaGVhZCBvZiB0aGUgdGhlIHBsYXRmb3JtCis6ZGF0YTpgb3MucGF0aHNlcGAtc2VwYXJhdGVkIGxpc3Qgb2YgYnJvd3NlcnMgdG8gdHJ5IGFoZWFkIG9mIHRoZSBwbGF0Zm9ybQogZGVmYXVsdHMuICBXaGVuIHRoZSB2YWx1ZSBvZiBhIGxpc3QgcGFydCBjb250YWlucyB0aGUgc3RyaW5nIGBgJXNgYCwgdGhlbiBpdCBpcwogaW50ZXJwcmV0ZWQgYXMgYSBsaXRlcmFsIGJyb3dzZXIgY29tbWFuZCBsaW5lIHRvIGJlIHVzZWQgd2l0aCB0aGUgYXJndW1lbnQgVVJMCiBzdWJzdGl0dXRlZCBmb3IgYGAlc2BgOyBpZiB0aGUgcGFydCBkb2VzIG5vdCBjb250YWluIGBgJXNgYCwgaXQgaXMgc2ltcGx5CmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS93c2dpcmVmLnJzdCBiL0RvYy9saWJyYXJ5L3dzZ2lyZWYucnN0CmluZGV4IDFjZWYyZTkuLjIyMzgxNDAgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3dzZ2lyZWYucnN0CisrKyBiL0RvYy9saWJyYXJ5L3dzZ2lyZWYucnN0CkBAIC0xODQsMTAgKzE4NCwxMSBAQAogbWFuaXB1bGF0aW9uIG9mIFdTR0kgcmVzcG9uc2UgaGVhZGVycyB1c2luZyBhIG1hcHBpbmctbGlrZSBpbnRlcmZhY2UuCiAKIAotLi4gY2xhc3M6OiBIZWFkZXJzKGhlYWRlcnMpCisuLiBjbGFzczo6IEhlYWRlcnMoW2hlYWRlcnNdKQogCiAgICBDcmVhdGUgYSBtYXBwaW5nLWxpa2Ugb2JqZWN0IHdyYXBwaW5nICpoZWFkZXJzKiwgd2hpY2ggbXVzdCBiZSBhIGxpc3Qgb2YgaGVhZGVyCi0gICBuYW1lL3ZhbHVlIHR1cGxlcyBhcyBkZXNjcmliZWQgaW4gOnBlcDpgMzMzM2AuCisgICBuYW1lL3ZhbHVlIHR1cGxlcyBhcyBkZXNjcmliZWQgaW4gOnBlcDpgMzMzM2AuIFRoZSBkZWZhdWx0IHZhbHVlIG9mICpoZWFkZXJzKiBpcworICAgYW4gZW1wdHkgbGlzdC4KIAogICAgOmNsYXNzOmBIZWFkZXJzYCBvYmplY3RzIHN1cHBvcnQgdHlwaWNhbCBtYXBwaW5nIG9wZXJhdGlvbnMgaW5jbHVkaW5nCiAgICA6bWV0aDpgX19nZXRpdGVtX19gLCA6bWV0aDpgZ2V0YCwgOm1ldGg6YF9fc2V0aXRlbV9fYCwgOm1ldGg6YHNldGRlZmF1bHRgLApAQCAtMjUxLDYgKzI1MiwxMCBAQAogICAgICAgICAgQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9ImJ1ZC5naWYiCiAKIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgICpoZWFkZXJzKiBwYXJhbWV0ZXIgaXMgb3B0aW9uYWwuCisKKwogOm1vZDpgd3NnaXJlZi5zaW1wbGVfc2VydmVyYCAtLSBhIHNpbXBsZSBXU0dJIEhUVFAgc2VydmVyCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkveG1sLmRvbS5yc3QgYi9Eb2MvbGlicmFyeS94bWwuZG9tLnJzdAppbmRleCAxOTUxMmVkLi40OTE0NzM4IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS94bWwuZG9tLnJzdAorKysgYi9Eb2MvbGlicmFyeS94bWwuZG9tLnJzdApAQCAtNDEyLDcgKzQxMiw3IEBACiAuLiBtZXRob2Q6OiBOb2RlTGlzdC5pdGVtKGkpCiAKICAgIFJldHVybiB0aGUgKmkqJ3RoIGl0ZW0gZnJvbSB0aGUgc2VxdWVuY2UsIGlmIHRoZXJlIGlzIG9uZSwgb3IgYGBOb25lYGAuICBUaGUKLSAgIGluZGV4ICppKiBpcyBub3QgYWxsb3dlZCB0byBiZSBsZXNzIHRoZW4gemVybyBvciBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gdGhlCisgICBpbmRleCAqaSogaXMgbm90IGFsbG93ZWQgdG8gYmUgbGVzcyB0aGFuIHplcm8gb3IgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHRoZQogICAgbGVuZ3RoIG9mIHRoZSBzZXF1ZW5jZS4KIAogCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS94bWxycGMuY2xpZW50LnJzdCBiL0RvYy9saWJyYXJ5L3htbHJwYy5jbGllbnQucnN0CmluZGV4IGNjNWU4M2EuLmUxOTk5MzEgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3htbHJwYy5jbGllbnQucnN0CisrKyBiL0RvYy9saWJyYXJ5L3htbHJwYy5jbGllbnQucnN0CkBAIC0yNyw3ICsyNyw3IEBACiAgICBjb25zdHJ1Y3RlZCBkYXRhLiAgSWYgeW91IG5lZWQgdG8gcGFyc2UgdW50cnVzdGVkIG9yIHVuYXV0aGVudGljYXRlZCBkYXRhIHNlZQogICAgOnJlZjpgeG1sLXZ1bG5lcmFiaWxpdGllc2AuCiAKLS4uIHZlcnNpb25jaGFuZ2VkOjogMy40LjMKKy4uIHZlcnNpb25jaGFuZ2VkOjogMy41CiAKICAgIEZvciBodHRwcyBVUklzLCA6bW9kOmB4bWxycGMuY2xpZW50YCBub3cgcGVyZm9ybXMgYWxsIHRoZSBuZWNlc3NhcnkKICAgIGNlcnRpZmljYXRlIGFuZCBob3N0bmFtZSBjaGVja3MgYnkgZGVmYXVsdApAQCAtMTI5LDcgKzEyOSw3IEBACiAgICA6Y2xhc3M6YFNlcnZlcmAgaXMgcmV0YWluZWQgYXMgYW4gYWxpYXMgZm9yIDpjbGFzczpgU2VydmVyUHJveHlgIGZvciBiYWNrd2FyZHMKICAgIGNvbXBhdGliaWxpdHkuICBOZXcgY29kZSBzaG91bGQgdXNlIDpjbGFzczpgU2VydmVyUHJveHlgLgogCi0gICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNC4zCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQogICAgICAgQWRkZWQgdGhlICpjb250ZXh0KiBhcmd1bWVudC4KIAogCkBAIC0yMDAsNiArMjAwLDExIEBACiAgICBubyBzdWNoIHN0cmluZyBpcyBhdmFpbGFibGUsIGFuIGVtcHR5IHN0cmluZyBpcyByZXR1cm5lZC4gVGhlIGRvY3VtZW50YXRpb24KICAgIHN0cmluZyBtYXkgY29udGFpbiBIVE1MIG1hcmt1cC4KIAorLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKworICAgSW5zdGFuY2VzIG9mIDpjbGFzczpgU2VydmVyUHJveHlgIHN1cHBvcnQgdGhlIDp0ZXJtOmBjb250ZXh0IG1hbmFnZXJgIHByb3RvY29sCisgICBmb3IgY2xvc2luZyB0aGUgdW5kZXJseWluZyB0cmFuc3BvcnQuCisKIAogQSB3b3JraW5nIGV4YW1wbGUgZm9sbG93cy4gVGhlIHNlcnZlciBjb2RlOjoKIApAQCAtMjE3LDkgKzIyMiw5IEBACiAKICAgIGltcG9ydCB4bWxycGMuY2xpZW50CiAKLSAgIHByb3h5ID0geG1scnBjLmNsaWVudC5TZXJ2ZXJQcm94eSgiaHR0cDovL2xvY2FsaG9zdDo4MDAwLyIpCi0gICBwcmludCgiMyBpcyBldmVuOiAlcyIgJSBzdHIocHJveHkuaXNfZXZlbigzKSkpCi0gICBwcmludCgiMTAwIGlzIGV2ZW46ICVzIiAlIHN0cihwcm94eS5pc19ldmVuKDEwMCkpKQorICAgd2l0aCB4bWxycGMuY2xpZW50LlNlcnZlclByb3h5KCJodHRwOi8vbG9jYWxob3N0OjgwMDAvIikgYXMgcHJveHk6CisgICAgICAgcHJpbnQoIjMgaXMgZXZlbjogJXMiICUgc3RyKHByb3h5LmlzX2V2ZW4oMykpKQorICAgICAgIHByaW50KCIxMDAgaXMgZXZlbjogJXMiICUgc3RyKHByb3h5LmlzX2V2ZW4oMTAwKSkpCiAKIC4uIF9kYXRldGltZS1vYmplY3RzOgogCkBAIC01MjcsMTQgKzUzMiwxNCBAQAogICAgZnJvbSB4bWxycGMuY2xpZW50IGltcG9ydCBTZXJ2ZXJQcm94eSwgRXJyb3IKIAogICAgIyBzZXJ2ZXIgPSBTZXJ2ZXJQcm94eSgiaHR0cDovL2xvY2FsaG9zdDo4MDAwIikgIyBsb2NhbCBzZXJ2ZXIKLSAgIHNlcnZlciA9IFNlcnZlclByb3h5KCJodHRwOi8vYmV0dHkudXNlcmxhbmQuY29tIikKKyAgIHdpdGggU2VydmVyUHJveHkoImh0dHA6Ly9iZXR0eS51c2VybGFuZC5jb20iKSBhcyBwcm94eToKIAotICAgcHJpbnQoc2VydmVyKQorICAgICAgIHByaW50KHByb3h5KQogCi0gICB0cnk6Ci0gICAgICAgcHJpbnQoc2VydmVyLmV4YW1wbGVzLmdldFN0YXRlTmFtZSg0MSkpCi0gICBleGNlcHQgRXJyb3IgYXMgdjoKLSAgICAgICBwcmludCgiRVJST1IiLCB2KQorICAgICAgIHRyeToKKyAgICAgICAgICAgcHJpbnQocHJveHkuZXhhbXBsZXMuZ2V0U3RhdGVOYW1lKDQxKSkKKyAgICAgICBleGNlcHQgRXJyb3IgYXMgdjoKKyAgICAgICAgICAgcHJpbnQoIkVSUk9SIiwgdikKIAogVG8gYWNjZXNzIGFuIFhNTC1SUEMgc2VydmVyIHRocm91Z2ggYSBwcm94eSwgeW91IG5lZWQgdG8gZGVmaW5lICBhIGN1c3RvbQogdHJhbnNwb3J0LiAgVGhlIGZvbGxvd2luZyBleGFtcGxlIHNob3dzIGhvdzoKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3ppcGZpbGUucnN0IGIvRG9jL2xpYnJhcnkvemlwZmlsZS5yc3QKaW5kZXggMWQyM2E3Yy4uNDY1ZDc4NiAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvemlwZmlsZS5yc3QKKysrIGIvRG9jL2xpYnJhcnkvemlwZmlsZS5yc3QKQEAgLTIxOSwxNCArMjE5LDggQEAKIAogICAgLi4gbm90ZTo6CiAKLSAgICAgIElmIHRoZSBaaXBGaWxlIHdhcyBjcmVhdGVkIGJ5IHBhc3NpbmcgaW4gYSBmaWxlLWxpa2Ugb2JqZWN0IGFzIHRoZSAgZmlyc3QKLSAgICAgIGFyZ3VtZW50IHRvIHRoZSBjb25zdHJ1Y3RvciwgdGhlbiB0aGUgb2JqZWN0IHJldHVybmVkIGJ5IDptZXRoOmAub3BlbmAgc2hhcmVzIHRoZQotICAgICAgWmlwRmlsZSdzIGZpbGUgcG9pbnRlci4gIFVuZGVyIHRoZXNlICBjaXJjdW1zdGFuY2VzLCB0aGUgb2JqZWN0IHJldHVybmVkIGJ5Ci0gICAgICA6bWV0aDpgLm9wZW5gIHNob3VsZCBub3QgIGJlIHVzZWQgYWZ0ZXIgYW55IGFkZGl0aW9uYWwgb3BlcmF0aW9ucyBhcmUgcGVyZm9ybWVkCi0gICAgICBvbiB0aGUgIFppcEZpbGUgb2JqZWN0LiAgSWYgdGhlIFppcEZpbGUgd2FzIGNyZWF0ZWQgYnkgcGFzc2luZyBpbiBhIHN0cmluZyAodGhlCi0gICAgICBmaWxlbmFtZSkgYXMgdGhlIGZpcnN0IGFyZ3VtZW50IHRvIHRoZSBjb25zdHJ1Y3RvciwgdGhlbiAgOm1ldGg6YC5vcGVuYCB3aWxsCi0gICAgICBjcmVhdGUgYSBuZXcgZmlsZSBvYmplY3QgdGhhdCB3aWxsIGJlIGhlbGQgYnkgdGhlIFppcEV4dEZpbGUsIGFsbG93aW5nIGl0IHRvCi0gICAgICBvcGVyYXRlIGluZGVwZW5kZW50bHkgb2YgdGhlICBaaXBGaWxlLgorICAgICAgT2JqZWN0cyByZXR1cm5lZCBieSA6bWV0aDpgLm9wZW5gIGNhbiBvcGVyYXRlIGluZGVwZW5kZW50bHkgb2YgdGhlCisgICAgICBaaXBGaWxlLgogCiAgICAuLiBub3RlOjoKIApkaWZmIC0tZ2l0IGEvRG9jL21ha2UuYmF0IGIvRG9jL21ha2UuYmF0CmluZGV4IDEwNzAxNjYuLjZhYWUzNGEgMTAwNjQ0Ci0tLSBhL0RvYy9tYWtlLmJhdAorKysgYi9Eb2MvbWFrZS5iYXQKQEAgLTgsOSArOCwxNyBAQAogaWYgIiVTUEhJTlhCVUlMRCUiIEVRVSAiIiBzZXQgU1BISU5YQlVJTEQ9c3BoaW54LWJ1aWxkCiBpZiAiJVBZVEhPTiUiIEVRVSAiIiBzZXQgUFlUSE9OPXB5CiAKLWlmIERFRklORUQgUHJvZ3JhbUZpbGVzKHg4Nikgc2V0IF9QUkdNRkxTPSVQcm9ncmFtRmlsZXMoeDg2KSUKLWlmIE5PVCBERUZJTkVEIFByb2dyYW1GaWxlcyh4ODYpIHNldCBfUFJHTUZMUz0lUHJvZ3JhbUZpbGVzJQotaWYgIiVIVE1MSEVMUCUiIEVRVSAiIiBzZXQgSFRNTEhFTFA9JV9QUkdNRkxTJVxIVE1MIEhlbHAgV29ya3Nob3BcaGhjLmV4ZQoraWYgIiUxIiBORVEgImh0bWxoZWxwIiBnb3RvIDpza2lwaGhjc2VhcmNoCitpZiBleGlzdCAiJUhUTUxIRUxQJSIgZ290byA6c2tpcGhoY3NlYXJjaAorCityZW0gU2VhcmNoIGZvciBISEMgaW4gbGlrZWx5IHBsYWNlcworc2V0IEhUTUxIRUxQPQord2hlcmUgaGhjIC9xICYmIHNldCBIVE1MSEVMUD1oaGMgJiYgZ290byA6c2tpcGhoY3NlYXJjaAord2hlcmUgL1IgLi5cZXh0ZXJuYWxzIGhoYyA+ICIlVEVNUCVcaGhjLmxvYyIgMj4gbnVsICYmIHNldCAvUCBIVE1MSEVMUD0gPCAiJVRFTVAlXGhoYy5sb2MiICYgZGVsICIlVEVNUCVcaGhjLmxvYyIKK2lmIG5vdCBleGlzdCAiJUhUTUxIRUxQJSIgd2hlcmUgL1IgIiVQcm9ncmFtRmlsZXMoeDg2KSUiIGhoYyA+ICIlVEVNUCVcaGhjLmxvYyIgMj4gbnVsICYmIHNldCAvUCBIVE1MSEVMUD0gPCAiJVRFTVAlXGhoYy5sb2MiICYgZGVsICIlVEVNUCVcaGhjLmxvYyIKK2lmIG5vdCBleGlzdCAiJUhUTUxIRUxQJSIgd2hlcmUgL1IgIiVQcm9ncmFtRmlsZXMlIiBoaGMgPiAiJVRFTVAlXGhoYy5sb2MiIDI+IG51bCAmJiBzZXQgL1AgSFRNTEhFTFA9IDwgIiVURU1QJVxoaGMubG9jIiAmIGRlbCAiJVRFTVAlXGhoYy5sb2MiCitpZiBub3QgZXhpc3QgIiVIVE1MSEVMUCUiIGVjaG8gQ2Fubm90IGZpbmQgSEhDIG9uIFBBVEggb3IgaW4gZXh0ZXJuYWxzICYgZXhpdCAvQiAxCis6c2tpcGhoY3NlYXJjaAogCiBpZiAiJURJU1RWRVJTSU9OJSIgRVFVICIiIGZvciAvZiAidXNlYmFja3EiICUldiBpbiAoYCVQWVRIT04lIHRvb2xzL2V4dGVuc2lvbnMvcGF0Y2hsZXZlbC5weWApIGRvIHNldCBESVNUVkVSU0lPTj0lJXYKIApAQCAtMzYsNyArNDQsOCBAQAogICAgIGVjaG8uCiAgICAgZWNoby5JZiB5b3UgZG9uJ3QgaGF2ZSBTcGhpbnggaW5zdGFsbGVkLCBncmFiIGl0IGZyb20KICAgICBlY2hvLmh0dHA6Ly9zcGhpbngtZG9jLm9yZy8KLSAgICBnb3RvIGVuZAorICAgIHBvcGQKKyAgICBleGl0IC9CIDEKICkKIAogcmVtIFRhcmdldHMgdGhhdCBkbyByZXF1aXJlIHNwaGlueC1idWlsZCBhbmQgaGF2ZSB0aGVpciBvd24gbGFiZWwKZGlmZiAtLWdpdCBhL0RvYy9yZWZlcmVuY2UvZGF0YW1vZGVsLnJzdCBiL0RvYy9yZWZlcmVuY2UvZGF0YW1vZGVsLnJzdAppbmRleCBlMzY0NmY4Li41ZTkwOWE5IDEwMDY0NAotLS0gYS9Eb2MvcmVmZXJlbmNlL2RhdGFtb2RlbC5yc3QKKysrIGIvRG9jL3JlZmVyZW5jZS9kYXRhbW9kZWwucnN0CkBAIC0xOTg2LDYgKzE5ODYsNyBAQAogLi4gbWV0aG9kOjogb2JqZWN0Ll9fYWRkX18oc2VsZiwgb3RoZXIpCiAgICAgICAgICAgICBvYmplY3QuX19zdWJfXyhzZWxmLCBvdGhlcikKICAgICAgICAgICAgIG9iamVjdC5fX211bF9fKHNlbGYsIG90aGVyKQorICAgICAgICAgICAgb2JqZWN0Ll9fbWF0bXVsX18oc2VsZiwgb3RoZXIpCiAgICAgICAgICAgICBvYmplY3QuX190cnVlZGl2X18oc2VsZiwgb3RoZXIpCiAgICAgICAgICAgICBvYmplY3QuX19mbG9vcmRpdl9fKHNlbGYsIG90aGVyKQogICAgICAgICAgICAgb2JqZWN0Ll9fbW9kX18oc2VsZiwgb3RoZXIpCkBAIC0yMDAyLDE1ICsyMDAzLDE2IEBACiAgICAgICBidWlsdGluOiBwb3cKICAgICAgIGJ1aWx0aW46IHBvdwogCi0gICBUaGVzZSBtZXRob2RzIGFyZSBjYWxsZWQgdG8gaW1wbGVtZW50IHRoZSBiaW5hcnkgYXJpdGhtZXRpYyBvcGVyYXRpb25zIChgYCtgYCwKLSAgIGBgLWBgLCBgYCpgYCwgYGAvYGAsIGBgLy9gYCwgYGAlYGAsIDpmdW5jOmBkaXZtb2RgLCA6ZnVuYzpgcG93YCwgYGAqKmBgLCBgYDw8YGAsCi0gICBgYD4+YGAsIGBgJmBgLCBgYF5gYCwgYGB8YGApLiAgRm9yIGluc3RhbmNlLCB0byBldmFsdWF0ZSB0aGUgZXhwcmVzc2lvbgotICAgYGB4ICsgeWBgLCB3aGVyZSAqeCogaXMgYW4gaW5zdGFuY2Ugb2YgYSBjbGFzcyB0aGF0IGhhcyBhbiA6bWV0aDpgX19hZGRfX2AKLSAgIG1ldGhvZCwgYGB4Ll9fYWRkX18oeSlgYCBpcyBjYWxsZWQuICBUaGUgOm1ldGg6YF9fZGl2bW9kX19gIG1ldGhvZCBzaG91bGQgYmUgdGhlCi0gICBlcXVpdmFsZW50IHRvIHVzaW5nIDptZXRoOmBfX2Zsb29yZGl2X19gIGFuZCA6bWV0aDpgX19tb2RfX2A7IGl0IHNob3VsZCBub3QgYmUKLSAgIHJlbGF0ZWQgdG8gOm1ldGg6YF9fdHJ1ZWRpdl9fYC4gIE5vdGUgdGhhdCA6bWV0aDpgX19wb3dfX2Agc2hvdWxkIGJlIGRlZmluZWQKLSAgIHRvIGFjY2VwdCBhbiBvcHRpb25hbCB0aGlyZCBhcmd1bWVudCBpZiB0aGUgdGVybmFyeSB2ZXJzaW9uIG9mIHRoZSBidWlsdC1pbgotICAgOmZ1bmM6YHBvd2AgZnVuY3Rpb24gaXMgdG8gYmUgc3VwcG9ydGVkLgorICAgVGhlc2UgbWV0aG9kcyBhcmUgY2FsbGVkIHRvIGltcGxlbWVudCB0aGUgYmluYXJ5IGFyaXRobWV0aWMgb3BlcmF0aW9ucworICAgKGBgK2BgLCBgYC1gYCwgYGAqYGAsIGBgQGBgLCBgYC9gYCwgYGAvL2BgLCBgYCVgYCwgOmZ1bmM6YGRpdm1vZGAsCisgICA6ZnVuYzpgcG93YCwgYGAqKmBgLCBgYDw8YGAsIGBgPj5gYCwgYGAmYGAsIGBgXmBgLCBgYHxgYCkuICBGb3IgaW5zdGFuY2UsIHRvCisgICBldmFsdWF0ZSB0aGUgZXhwcmVzc2lvbiBgYHggKyB5YGAsIHdoZXJlICp4KiBpcyBhbiBpbnN0YW5jZSBvZiBhIGNsYXNzIHRoYXQKKyAgIGhhcyBhbiA6bWV0aDpgX19hZGRfX2AgbWV0aG9kLCBgYHguX19hZGRfXyh5KWBgIGlzIGNhbGxlZC4gIFRoZQorICAgOm1ldGg6YF9fZGl2bW9kX19gIG1ldGhvZCBzaG91bGQgYmUgdGhlIGVxdWl2YWxlbnQgdG8gdXNpbmcKKyAgIDptZXRoOmBfX2Zsb29yZGl2X19gIGFuZCA6bWV0aDpgX19tb2RfX2A7IGl0IHNob3VsZCBub3QgYmUgcmVsYXRlZCB0bworICAgOm1ldGg6YF9fdHJ1ZWRpdl9fYC4gIE5vdGUgdGhhdCA6bWV0aDpgX19wb3dfX2Agc2hvdWxkIGJlIGRlZmluZWQgdG8gYWNjZXB0CisgICBhbiBvcHRpb25hbCB0aGlyZCBhcmd1bWVudCBpZiB0aGUgdGVybmFyeSB2ZXJzaW9uIG9mIHRoZSBidWlsdC1pbiA6ZnVuYzpgcG93YAorICAgZnVuY3Rpb24gaXMgdG8gYmUgc3VwcG9ydGVkLgogCiAgICBJZiBvbmUgb2YgdGhvc2UgbWV0aG9kcyBkb2VzIG5vdCBzdXBwb3J0IHRoZSBvcGVyYXRpb24gd2l0aCB0aGUgc3VwcGxpZWQKICAgIGFyZ3VtZW50cywgaXQgc2hvdWxkIHJldHVybiBgYE5vdEltcGxlbWVudGVkYGAuCkBAIC0yMDE5LDYgKzIwMjEsNyBAQAogLi4gbWV0aG9kOjogb2JqZWN0Ll9fcmFkZF9fKHNlbGYsIG90aGVyKQogICAgICAgICAgICAgb2JqZWN0Ll9fcnN1Yl9fKHNlbGYsIG90aGVyKQogICAgICAgICAgICAgb2JqZWN0Ll9fcm11bF9fKHNlbGYsIG90aGVyKQorICAgICAgICAgICAgb2JqZWN0Ll9fcm1hdG11bF9fKHNlbGYsIG90aGVyKQogICAgICAgICAgICAgb2JqZWN0Ll9fcnRydWVkaXZfXyhzZWxmLCBvdGhlcikKICAgICAgICAgICAgIG9iamVjdC5fX3JmbG9vcmRpdl9fKHNlbGYsIG90aGVyKQogICAgICAgICAgICAgb2JqZWN0Ll9fcm1vZF9fKHNlbGYsIG90aGVyKQpAQCAtMjAzNCwxNCArMjAzNywxNCBAQAogICAgICAgYnVpbHRpbjogZGl2bW9kCiAgICAgICBidWlsdGluOiBwb3cKIAotICAgVGhlc2UgbWV0aG9kcyBhcmUgY2FsbGVkIHRvIGltcGxlbWVudCB0aGUgYmluYXJ5IGFyaXRobWV0aWMgb3BlcmF0aW9ucyAoYGArYGAsCi0gICBgYC1gYCwgYGAqYGAsIGBgL2BgLCBgYC8vYGAsIGBgJWBgLCA6ZnVuYzpgZGl2bW9kYCwgOmZ1bmM6YHBvd2AsIGBgKipgYCwKLSAgIGBgPDxgYCwgYGA+PmBgLCBgYCZgYCwgYGBeYGAsIGBgfGBgKSB3aXRoIHJlZmxlY3RlZCAoc3dhcHBlZCkgb3BlcmFuZHMuCi0gICBUaGVzZSBmdW5jdGlvbnMgYXJlIG9ubHkgY2FsbGVkIGlmIHRoZSBsZWZ0IG9wZXJhbmQgZG9lcyBub3Qgc3VwcG9ydCB0aGUKLSAgIGNvcnJlc3BvbmRpbmcgb3BlcmF0aW9uIGFuZCB0aGUgb3BlcmFuZHMgYXJlIG9mIGRpZmZlcmVudCB0eXBlcy4gWyNdXyAgRm9yCi0gICBpbnN0YW5jZSwgdG8gZXZhbHVhdGUgdGhlIGV4cHJlc3Npb24gYGB4IC0geWBgLCB3aGVyZSAqeSogaXMgYW4gaW5zdGFuY2Ugb2YKLSAgIGEgY2xhc3MgdGhhdCBoYXMgYW4gOm1ldGg6YF9fcnN1Yl9fYCBtZXRob2QsIGBgeS5fX3JzdWJfXyh4KWBgIGlzIGNhbGxlZCBpZgotICAgYGB4Ll9fc3ViX18oeSlgYCByZXR1cm5zICpOb3RJbXBsZW1lbnRlZCouCisgICBUaGVzZSBtZXRob2RzIGFyZSBjYWxsZWQgdG8gaW1wbGVtZW50IHRoZSBiaW5hcnkgYXJpdGhtZXRpYyBvcGVyYXRpb25zCisgICAoYGArYGAsIGBgLWBgLCBgYCpgYCwgYGBAYGAsIGBgL2BgLCBgYC8vYGAsIGBgJWBgLCA6ZnVuYzpgZGl2bW9kYCwKKyAgIDpmdW5jOmBwb3dgLCBgYCoqYGAsIGBgPDxgYCwgYGA+PmBgLCBgYCZgYCwgYGBeYGAsIGBgfGBgKSB3aXRoIHJlZmxlY3RlZAorICAgKHN3YXBwZWQpIG9wZXJhbmRzLiAgVGhlc2UgZnVuY3Rpb25zIGFyZSBvbmx5IGNhbGxlZCBpZiB0aGUgbGVmdCBvcGVyYW5kIGRvZXMKKyAgIG5vdCBzdXBwb3J0IHRoZSBjb3JyZXNwb25kaW5nIG9wZXJhdGlvbiBhbmQgdGhlIG9wZXJhbmRzIGFyZSBvZiBkaWZmZXJlbnQKKyAgIHR5cGVzLiBbI11fIEZvciBpbnN0YW5jZSwgdG8gZXZhbHVhdGUgdGhlIGV4cHJlc3Npb24gYGB4IC0geWBgLCB3aGVyZSAqeSogaXMKKyAgIGFuIGluc3RhbmNlIG9mIGEgY2xhc3MgdGhhdCBoYXMgYW4gOm1ldGg6YF9fcnN1Yl9fYCBtZXRob2QsIGBgeS5fX3JzdWJfXyh4KWBgCisgICBpcyBjYWxsZWQgaWYgYGB4Ll9fc3ViX18oeSlgYCByZXR1cm5zICpOb3RJbXBsZW1lbnRlZCouCiAKICAgIC4uIGluZGV4OjogYnVpbHRpbjogcG93CiAKQEAgLTIwNTksNiArMjA2Miw3IEBACiAuLiBtZXRob2Q6OiBvYmplY3QuX19pYWRkX18oc2VsZiwgb3RoZXIpCiAgICAgICAgICAgICBvYmplY3QuX19pc3ViX18oc2VsZiwgb3RoZXIpCiAgICAgICAgICAgICBvYmplY3QuX19pbXVsX18oc2VsZiwgb3RoZXIpCisgICAgICAgICAgICBvYmplY3QuX19pbWF0bXVsX18oc2VsZiwgb3RoZXIpCiAgICAgICAgICAgICBvYmplY3QuX19pdHJ1ZWRpdl9fKHNlbGYsIG90aGVyKQogICAgICAgICAgICAgb2JqZWN0Ll9faWZsb29yZGl2X18oc2VsZiwgb3RoZXIpCiAgICAgICAgICAgICBvYmplY3QuX19pbW9kX18oc2VsZiwgb3RoZXIpCkBAIC0yMDcwLDE3ICsyMDc0LDE3IEBACiAgICAgICAgICAgICBvYmplY3QuX19pb3JfXyhzZWxmLCBvdGhlcikKIAogICAgVGhlc2UgbWV0aG9kcyBhcmUgY2FsbGVkIHRvIGltcGxlbWVudCB0aGUgYXVnbWVudGVkIGFyaXRobWV0aWMgYXNzaWdubWVudHMKLSAgIChgYCs9YGAsIGBgLT1gYCwgYGAqPWBgLCBgYC89YGAsIGBgLy89YGAsIGBgJT1gYCwgYGAqKj1gYCwgYGA8PD1gYCwgYGA+Pj1gYCwKLSAgIGBgJj1gYCwgYGBePWBgLCBgYHw9YGApLiAgVGhlc2UgbWV0aG9kcyBzaG91bGQgYXR0ZW1wdCB0byBkbyB0aGUgb3BlcmF0aW9uCi0gICBpbi1wbGFjZSAobW9kaWZ5aW5nICpzZWxmKikgYW5kIHJldHVybiB0aGUgcmVzdWx0ICh3aGljaCBjb3VsZCBiZSwgYnV0IGRvZXMKLSAgIG5vdCBoYXZlIHRvIGJlLCAqc2VsZiopLiAgSWYgYSBzcGVjaWZpYyBtZXRob2QgaXMgbm90IGRlZmluZWQsIHRoZSBhdWdtZW50ZWQKLSAgIGFzc2lnbm1lbnQgZmFsbHMgYmFjayB0byB0aGUgbm9ybWFsIG1ldGhvZHMuICBGb3IgaW5zdGFuY2UsIGlmICp4KiBpcyBhbgotICAgaW5zdGFuY2Ugb2YgYSBjbGFzcyB3aXRoIGFuIDptZXRoOmBfX2lhZGRfX2AgbWV0aG9kLCBgYHggKz0geWBgIGlzIGVxdWl2YWxlbnQKLSAgIHRvIGBgeCA9IHguX19pYWRkX18oeSlgYCAuIE90aGVyd2lzZSwgYGB4Ll9fYWRkX18oeSlgYCBhbmQgYGB5Ll9fcmFkZF9fKHgpYGAKLSAgIGFyZSBjb25zaWRlcmVkLCBhcyB3aXRoIHRoZSBldmFsdWF0aW9uIG9mIGBgeCArIHlgYC4gSW4gY2VydGFpbiBzaXR1YXRpb25zLAotICAgYXVnbWVudGVkIGFzc2lnbm1lbnQgY2FuIHJlc3VsdCBpbiB1bmV4cGVjdGVkIGVycm9ycyAoc2VlCi0gICA6cmVmOmBmYXEtYXVnbWVudGVkLWFzc2lnbm1lbnQtdHVwbGUtZXJyb3JgKSwgYnV0IHRoaXMgYmVoYXZpb3IgaXMgaW4KLSAgIGZhY3QgcGFydCBvZiB0aGUgZGF0YSBtb2RlbC4KKyAgIChgYCs9YGAsIGBgLT1gYCwgYGAqPWBgLCBgYEA9YGAsIGBgLz1gYCwgYGAvLz1gYCwgYGAlPWBgLCBgYCoqPWBgLCBgYDw8PWBgLAorICAgYGA+Pj1gYCwgYGAmPWBgLCBgYF49YGAsIGBgfD1gYCkuICBUaGVzZSBtZXRob2RzIHNob3VsZCBhdHRlbXB0IHRvIGRvIHRoZQorICAgb3BlcmF0aW9uIGluLXBsYWNlIChtb2RpZnlpbmcgKnNlbGYqKSBhbmQgcmV0dXJuIHRoZSByZXN1bHQgKHdoaWNoIGNvdWxkIGJlLAorICAgYnV0IGRvZXMgbm90IGhhdmUgdG8gYmUsICpzZWxmKikuICBJZiBhIHNwZWNpZmljIG1ldGhvZCBpcyBub3QgZGVmaW5lZCwgdGhlCisgICBhdWdtZW50ZWQgYXNzaWdubWVudCBmYWxscyBiYWNrIHRvIHRoZSBub3JtYWwgbWV0aG9kcy4gIEZvciBpbnN0YW5jZSwgaWYgKngqCisgICBpcyBhbiBpbnN0YW5jZSBvZiBhIGNsYXNzIHdpdGggYW4gOm1ldGg6YF9faWFkZF9fYCBtZXRob2QsIGBgeCArPSB5YGAgaXMKKyAgIGVxdWl2YWxlbnQgdG8gYGB4ID0geC5fX2lhZGRfXyh5KWBgIC4gT3RoZXJ3aXNlLCBgYHguX19hZGRfXyh5KWBgIGFuZAorICAgYGB5Ll9fcmFkZF9fKHgpYGAgYXJlIGNvbnNpZGVyZWQsIGFzIHdpdGggdGhlIGV2YWx1YXRpb24gb2YgYGB4ICsgeWBgLiBJbgorICAgY2VydGFpbiBzaXR1YXRpb25zLCBhdWdtZW50ZWQgYXNzaWdubWVudCBjYW4gcmVzdWx0IGluIHVuZXhwZWN0ZWQgZXJyb3JzIChzZWUKKyAgIDpyZWY6YGZhcS1hdWdtZW50ZWQtYXNzaWdubWVudC10dXBsZS1lcnJvcmApLCBidXQgdGhpcyBiZWhhdmlvciBpcyBpbiBmYWN0CisgICBwYXJ0IG9mIHRoZSBkYXRhIG1vZGVsLgogCiAKIC4uIG1ldGhvZDo6IG9iamVjdC5fX25lZ19fKHNlbGYpCmRpZmYgLS1naXQgYS9Eb2MvcmVmZXJlbmNlL2V4cHJlc3Npb25zLnJzdCBiL0RvYy9yZWZlcmVuY2UvZXhwcmVzc2lvbnMucnN0CmluZGV4IGQwNjgyY2EuLjU4ZDM4ZWQgMTAwNjQ0Ci0tLSBhL0RvYy9yZWZlcmVuY2UvZXhwcmVzc2lvbnMucnN0CisrKyBiL0RvYy9yZWZlcmVuY2UvZXhwcmVzc2lvbnMucnN0CkBAIC04OTEsOCArODkxLDkgQEAKIG9wZXJhdG9ycyBhbmQgb25lIGZvciBhZGRpdGl2ZSBvcGVyYXRvcnM6CiAKIC4uIHByb2R1Y3Rpb25saXN0OjoKLSAgIG1fZXhwcjogYHVfZXhwcmAgfCBgbV9leHByYCAiKiIgYHVfZXhwcmAgfCBgbV9leHByYCAiLy8iIGB1X2V4cHJgIHwgYG1fZXhwcmAgIi8iIGB1X2V4cHJgCi0gICAgICAgICA6IHwgYG1fZXhwcmAgIiUiIGB1X2V4cHJgCisgICBtX2V4cHI6IGB1X2V4cHJgIHwgYG1fZXhwcmAgIioiIGB1X2V4cHJgIHwgYG1fZXhwcmAgIkAiIGBtX2V4cHJgIHwKKyAgICAgICAgIDogYG1fZXhwcmAgIi8vIiBgdV9leHByYHwgYG1fZXhwcmAgIi8iIGB1X2V4cHJgIHwKKyAgICAgICAgIDogYG1fZXhwcmAgIiUiIGB1X2V4cHJgCiAgICBhX2V4cHI6IGBtX2V4cHJgIHwgYGFfZXhwcmAgIisiIGBtX2V4cHJgIHwgYGFfZXhwcmAgIi0iIGBtX2V4cHJgCiAKIC4uIGluZGV4Ojogc2luZ2xlOiBtdWx0aXBsaWNhdGlvbgpAQCAtOTAzLDYgKzkwNCwxMyBAQAogY29tbW9uIHR5cGUgYW5kIHRoZW4gbXVsdGlwbGllZCB0b2dldGhlci4gIEluIHRoZSBsYXR0ZXIgY2FzZSwgc2VxdWVuY2UKIHJlcGV0aXRpb24gaXMgcGVyZm9ybWVkOyBhIG5lZ2F0aXZlIHJlcGV0aXRpb24gZmFjdG9yIHlpZWxkcyBhbiBlbXB0eSBzZXF1ZW5jZS4KIAorLi4gaW5kZXg6OiBzaW5nbGU6IG1hdHJpeCBtdWx0aXBsaWNhdGlvbgorCitUaGUgYGBAYGAgKGF0KSBvcGVyYXRvciBpcyBpbnRlbmRlZCB0byBiZSB1c2VkIGZvciBtYXRyaXggbXVsdGlwbGljYXRpb24uICBObworYnVpbHRpbiBQeXRob24gdHlwZXMgaW1wbGVtZW50IHRoaXMgb3BlcmF0b3IuCisKKy4uIHZlcnNpb25hZGRlZDo6IDMuNQorCiAuLiBpbmRleDo6CiAgICBleGNlcHRpb246IFplcm9EaXZpc2lvbkVycm9yCiAgICBzaW5nbGU6IGRpdmlzaW9uCkBAIC0xMzQ2LDggKzEzNTQsOSBAQAogKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiB8IGBgK2BgLCBgYC1gYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IEFkZGl0aW9uIGFuZCBzdWJ0cmFjdGlvbiAgICAgICAgICAgIHwKICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCBgYCpgYCwgYGAvYGAsIGBgLy9gYCwgYGAlYGAgICAgICAgICAgICAgICAgICAgfCBNdWx0aXBsaWNhdGlvbiwgZGl2aXNpb24sIHJlbWFpbmRlciB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFsjXV8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKK3wgYGAqYGAsIGBgQGBgLCBgYC9gYCwgYGAvL2BgLCBgYCVgYCAgICAgICAgICAgIHwgTXVsdGlwbGljYXRpb24sIG1hdHJpeCAgICAgICAgICAgICAgfAorfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBtdWx0aXBsaWNhdGlvbiBkaXZpc2lvbiwgICAgICAgICAgICB8Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHJlbWFpbmRlciBbI11fICAgICAgICAgICAgICAgICAgICAgIHwKICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogfCBgYCt4YGAsIGBgLXhgYCwgYGB+eGBgICAgICAgICAgICAgICAgICAgICAgICAgfCBQb3NpdGl2ZSwgbmVnYXRpdmUsIGJpdHdpc2UgTk9UICAgICB8CiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKZGlmZiAtLWdpdCBhL0RvYy9yZWZlcmVuY2UvaW1wb3J0LnJzdCBiL0RvYy9yZWZlcmVuY2UvaW1wb3J0LnJzdAppbmRleCBlOWI3ZTUzLi4yZDYwZTYyIDEwMDY0NAotLS0gYS9Eb2MvcmVmZXJlbmNlL2ltcG9ydC5yc3QKKysrIGIvRG9jL3JlZmVyZW5jZS9pbXBvcnQucnN0CkBAIC0zMzksNiArMzM5LDcgQEAKIAogICAgIG1vZHVsZSA9IE5vbmUKICAgICBpZiBzcGVjLmxvYWRlciBpcyBub3QgTm9uZSBhbmQgaGFzYXR0cihzcGVjLmxvYWRlciwgJ2NyZWF0ZV9tb2R1bGUnKToKKyAgICAgICAgIyBJdCBpcyBhc3N1bWVkICdleGVjX21vZHVsZScgd2lsbCBhbHNvIGJlIGRlZmluZWQgb24gdGhlIGxvYWRlci4KICAgICAgICAgbW9kdWxlID0gc3BlYy5sb2FkZXIuY3JlYXRlX21vZHVsZShzcGVjKQogICAgIGlmIG1vZHVsZSBpcyBOb25lOgogICAgICAgICBtb2R1bGUgPSBNb2R1bGVUeXBlKHNwZWMubmFtZSkKQEAgLTQyNyw3ICs0MjgsNyBAQAogYnkgaW1wbGVtZW50aW5nIGEgOm1ldGg6YH5pbXBvcnRsaWIuYWJjLkxvYWRlci5jcmVhdGVfbW9kdWxlYCBtZXRob2QuCiBJdCB0YWtlcyBvbmUgYXJndW1lbnQsIHRoZSBtb2R1bGUgc3BlYywgYW5kIHJldHVybnMgdGhlIG5ldyBtb2R1bGUgb2JqZWN0CiB0byB1c2UgZHVyaW5nIGxvYWRpbmcuICBgYGNyZWF0ZV9tb2R1bGUoKWBgIGRvZXMgbm90IG5lZWQgdG8gc2V0IGFueSBhdHRyaWJ1dGVzCi1vbiB0aGUgbW9kdWxlIG9iamVjdC4gIElmIHRoZSBsb2FkZXIgZG9lcyBub3QgZGVmaW5lIGBgY3JlYXRlX21vZHVsZSgpYGAsIHRoZQorb24gdGhlIG1vZHVsZSBvYmplY3QuICBJZiB0aGUgbWV0aG9kIHJldHVybnMgYGBOb25lYGAsIHRoZQogaW1wb3J0IG1hY2hpbmVyeSB3aWxsIGNyZWF0ZSB0aGUgbmV3IG1vZHVsZSBpdHNlbGYuCiAKIC4uIHZlcnNpb25hZGRlZDo6IDMuNApAQCAtNDU5LDcgKzQ2MCwxMyBAQAogCiAgICAgKiBJZiBsb2FkaW5nIGZhaWxzLCB0aGUgbG9hZGVyIG11c3QgcmVtb3ZlIGFueSBtb2R1bGVzIGl0IGhhcyBpbnNlcnRlZAogICAgICAgaW50byA6ZGF0YTpgc3lzLm1vZHVsZXNgLCBidXQgaXQgbXVzdCByZW1vdmUgKipvbmx5KiogdGhlIGZhaWxpbmcKLSAgICAgIG1vZHVsZSwgYW5kIG9ubHkgaWYgdGhlIGxvYWRlciBpdHNlbGYgaGFzIGxvYWRlZCBpdCBleHBsaWNpdGx5LgorICAgICAgbW9kdWxlKHMpLCBhbmQgb25seSBpZiB0aGUgbG9hZGVyIGl0c2VsZiBoYXMgbG9hZGVkIHRoZSBtb2R1bGUocykKKyAgICAgIGV4cGxpY2l0bHkuCisKKy4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICBBIDpleGM6YERlcHJlY2F0aW9uV2FybmluZ2AgaXMgcmFpc2VkIHdoZW4gYGBleGVjX21vZHVsZSgpYGAgaXMgZGVmaW5lZCBidXQKKyAgIGBgY3JlYXRlX21vZHVsZSgpYGAgaXMgbm90LiBTdGFydGluZyBpbiBQeXRob24gMy42IGl0IHdpbGwgYmUgYW4gZXJyb3IgdG8gbm90CisgICBkZWZpbmUgYGBjcmVhdGVfbW9kdWxlKClgYCBvbiBhIGxvYWRlciBhdHRhY2hlZCB0byBhIE1vZHVsZVNwZWMuCiAKIE1vZHVsZSBzcGVjCiAtLS0tLS0tLS0tLQpAQCAtNzUzLDYgKzc2MCwxNSBAQAogdG8gYXNrIHRoZSBmaW5kZXIgZm9yIGEgbW9kdWxlIHNwZWMsIHdoaWNoIGlzIHRoZW4gdXNlZCB3aGVuIGxvYWRpbmcgdGhlCiBtb2R1bGUuCiAKK1RoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IC0tIGRlbm90ZWQgYnkgYW4gZW1wdHkgc3RyaW5nIC0tIGlzIGhhbmRsZWQKK3NsaWdodGx5IGRpZmZlcmVudGx5IGZyb20gb3RoZXIgZW50cmllcyBvbiA6ZGF0YTpgc3lzLnBhdGhgLiBGaXJzdCwgaWYgdGhlCitjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IGlzIGZvdW5kIHRvIG5vdCBleGlzdCwgbm8gdmFsdWUgaXMgc3RvcmVkIGluCis6ZGF0YTpgc3lzLnBhdGhfaW1wb3J0ZXJfY2FjaGVgLiBTZWNvbmQsIHRoZSB2YWx1ZSBmb3IgdGhlIGN1cnJlbnQgd29ya2luZworZGlyZWN0b3J5IGlzIGxvb2tlZCB1cCBmcmVzaCBmb3IgZWFjaCBtb2R1bGUgbG9va3VwLiBUaGlyZCwgdGhlIHBhdGggdXNlZCBmb3IKKzpkYXRhOmBzeXMucGF0aF9pbXBvcnRlcl9jYWNoZWAgYW5kIHJldHVybmVkIGJ5Cis6bWV0aDpgaW1wb3J0bGliLm1hY2hpbmVyeS5QYXRoRmluZGVyLmZpbmRfc3BlY2Agd2lsbCBiZSB0aGUgYWN0dWFsIGN1cnJlbnQKK3dvcmtpbmcgZGlyZWN0b3J5IGFuZCBub3QgdGhlIGVtcHR5IHN0cmluZy4KKwogUGF0aCBlbnRyeSBmaW5kZXIgcHJvdG9jb2wKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKZGlmZiAtLWdpdCBhL0RvYy9yZWZlcmVuY2UvbGV4aWNhbF9hbmFseXNpcy5yc3QgYi9Eb2MvcmVmZXJlbmNlL2xleGljYWxfYW5hbHlzaXMucnN0CmluZGV4IDJiZjY2YjEuLmM2NzM3OTEgMTAwNjQ0Ci0tLSBhL0RvYy9yZWZlcmVuY2UvbGV4aWNhbF9hbmFseXNpcy5yc3QKKysrIGIvRG9jL3JlZmVyZW5jZS9sZXhpY2FsX2FuYWx5c2lzLnJzdApAQCAtMzExLDcgKzMxMSw3IEBACiAqICpOZCogLSBkZWNpbWFsIG51bWJlcnMKICogKlBjKiAtIGNvbm5lY3RvciBwdW5jdHVhdGlvbnMKICogKk90aGVyX0lEX1N0YXJ0KiAtIGV4cGxpY2l0IGxpc3Qgb2YgY2hhcmFjdGVycyBpbiBgUHJvcExpc3QudHh0Ci0gIDxodHRwOi8vd3d3LnVuaWNvZGUub3JnL1B1YmxpYy82LjMuMC91Y2QvUHJvcExpc3QudHh0PmBfIHRvIHN1cHBvcnQgYmFja3dhcmRzCisgIDxodHRwOi8vd3d3LnVuaWNvZGUub3JnL1B1YmxpYy83LjAuMC91Y2QvUHJvcExpc3QudHh0PmBfIHRvIHN1cHBvcnQgYmFja3dhcmRzCiAgIGNvbXBhdGliaWxpdHkKICogKk90aGVyX0lEX0NvbnRpbnVlKiAtIGxpa2V3aXNlCiAKQEAgLTY5MSw3ICs2OTEsNyBAQAogCiBUaGUgZm9sbG93aW5nIHRva2VucyBhcmUgb3BlcmF0b3JzOjoKIAotICAgKyAgICAgICAtICAgICAgICogICAgICAgKiogICAgICAvICAgICAgIC8vICAgICAgJQorICAgKyAgICAgICAtICAgICAgICogICAgICAgKiogICAgICAvICAgICAgIC8vICAgICAgJSAgICAgIEAKICAgIDw8ICAgICAgPj4gICAgICAmICAgICAgIHwgICAgICAgXiAgICAgICB+CiAgICA8ICAgICAgID4gICAgICAgPD0gICAgICA+PSAgICAgID09ICAgICAgIT0KIApAQCAtNzA3LDcgKzcwNyw3IEBACiAKICAgICggICAgICAgKSAgICAgICBbICAgICAgIF0gICAgICAgeyAgICAgICB9CiAgICAsICAgICAgIDogICAgICAgLiAgICAgICA7ICAgICAgIEAgICAgICAgPSAgICAgICAtPgotICAgKz0gICAgICAtPSAgICAgICo9ICAgICAgLz0gICAgICAvLz0gICAgICU9CisgICArPSAgICAgIC09ICAgICAgKj0gICAgICAvPSAgICAgIC8vPSAgICAgJT0gICAgICBAPQogICAgJj0gICAgICB8PSAgICAgIF49ICAgICAgPj49ICAgICA8PD0gICAgICoqPQogCiBUaGUgcGVyaW9kIGNhbiBhbHNvIG9jY3VyIGluIGZsb2F0aW5nLXBvaW50IGFuZCBpbWFnaW5hcnkgbGl0ZXJhbHMuICBBIHNlcXVlbmNlCkBAIC03MjgsNCArNzI4LDQgQEAKIAogLi4gcnVicmljOjogRm9vdG5vdGVzCiAKLS4uIFsjXSBodHRwOi8vd3d3LnVuaWNvZGUub3JnL1B1YmxpYy82LjMuMC91Y2QvTmFtZUFsaWFzZXMudHh0CisuLiBbI10gaHR0cDovL3d3dy51bmljb2RlLm9yZy9QdWJsaWMvNy4wLjAvdWNkL05hbWVBbGlhc2VzLnR4dApkaWZmIC0tZ2l0IGEvRG9jL3JlZmVyZW5jZS9zaW1wbGVfc3RtdHMucnN0IGIvRG9jL3JlZmVyZW5jZS9zaW1wbGVfc3RtdHMucnN0CmluZGV4IDg5NDZiNGYuLjVmNjA1NDAgMTAwNjQ0Ci0tLSBhL0RvYy9yZWZlcmVuY2Uvc2ltcGxlX3N0bXRzLnJzdAorKysgYi9Eb2MvcmVmZXJlbmNlL3NpbXBsZV9zdG10cy5yc3QKQEAgLTI4MSw3ICsyODEsNyBAQAogLi4gcHJvZHVjdGlvbmxpc3Q6OgogICAgYXVnbWVudGVkX2Fzc2lnbm1lbnRfc3RtdDogYGF1Z3RhcmdldGAgYGF1Z29wYCAoYGV4cHJlc3Npb25fbGlzdGAgfCBgeWllbGRfZXhwcmVzc2lvbmApCiAgICBhdWd0YXJnZXQ6IGBpZGVudGlmaWVyYCB8IGBhdHRyaWJ1dGVyZWZgIHwgYHN1YnNjcmlwdGlvbmAgfCBgc2xpY2luZ2AKLSAgIGF1Z29wOiAiKz0iIHwgIi09IiB8ICIqPSIgfCAiLz0iIHwgIi8vPSIgfCAiJT0iIHwgIioqPSIKKyAgIGF1Z29wOiAiKz0iIHwgIi09IiB8ICIqPSIgfCAiQD0iIHwgIi89IiB8ICIvLz0iIHwgIiU9IiB8ICIqKj0iCiAgICAgICAgIDogfCAiPj49IiB8ICI8PD0iIHwgIiY9IiB8ICJePSIgfCAifD0iCiAKIChTZWUgc2VjdGlvbiA6cmVmOmBwcmltYXJpZXNgIGZvciB0aGUgc3ludGF4IGRlZmluaXRpb25zIG9mIHRoZSBsYXN0IHRocmVlCmRpZmYgLS1naXQgYS9Eb2MvdG9vbHMvZXh0ZW5zaW9ucy9weXNwZWNpZmljLnB5IGIvRG9jL3Rvb2xzL2V4dGVuc2lvbnMvcHlzcGVjaWZpYy5weQppbmRleCA3YmFhY2M0Li40MWMyNWJjIDEwMDY0NAotLS0gYS9Eb2MvdG9vbHMvZXh0ZW5zaW9ucy9weXNwZWNpZmljLnB5CisrKyBiL0RvYy90b29scy9leHRlbnNpb25zL3B5c3BlY2lmaWMucHkKQEAgLTM0LDcgKzM0LDcgQEAKIAogCiBJU1NVRV9VUkkgPSAnaHR0cHM6Ly9idWdzLnB5dGhvbi5vcmcvaXNzdWUlcycKLVNPVVJDRV9VUkkgPSAnaHR0cHM6Ly9oZy5weXRob24ub3JnL2NweXRob24vZmlsZS8zLjQvJXMnCitTT1VSQ0VfVVJJID0gJ2h0dHBzOi8vaGcucHl0aG9uLm9yZy9jcHl0aG9uL2ZpbGUvZGVmYXVsdC8lcycKIAogIyBtb25rZXktcGF0Y2ggcmVTVCBwYXJzZXIgdG8gZGlzYWJsZSBhbHBoYWJldGljIGFuZCByb21hbiBlbnVtZXJhdGVkIGxpc3RzCiBmcm9tIGRvY3V0aWxzLnBhcnNlcnMucnN0LnN0YXRlcyBpbXBvcnQgQm9keQpkaWZmIC0tZ2l0IGEvRG9jL3Rvb2xzL3N1c3AtaWdub3JlZC5jc3YgYi9Eb2MvdG9vbHMvc3VzcC1pZ25vcmVkLmNzdgppbmRleCA0ODY1M2FmOC4uOTg1NmFmZCAxMDA2NDQKLS0tIGEvRG9jL3Rvb2xzL3N1c3AtaWdub3JlZC5jc3YKKysrIGIvRG9jL3Rvb2xzL3N1c3AtaWdub3JlZC5jc3YKQEAgLTEyMiw2ICsxMjIsOCBAQAogbGlicmFyeS9pcGFkZHJlc3MsLDo6LD4+PiBpcGFkZHJlc3MuSVB2NkFkZHJlc3MoJzIwMDE6ZGI4OjoxMDAwJykKIGxpYnJhcnkvaXBhZGRyZXNzLCw6ZGI4LElQdjZBZGRyZXNzKCcyMDAxOmRiODo6MTAwMCcpCiBsaWJyYXJ5L2lwYWRkcmVzcywsOjosSVB2NkFkZHJlc3MoJzIwMDE6ZGI4OjoxMDAwJykKK2xpYnJhcnkvaXBhZGRyZXNzLCw6ZGI4LCI+Pj4gaXBhZGRyZXNzLmlwX2FkZHJlc3MoIiIyMDAxOmRiODo6MSIiKS5yZXZlcnNlX3BvaW50ZXIiCitsaWJyYXJ5L2lwYWRkcmVzcywsOjosIj4+PiBpcGFkZHJlc3MuaXBfYWRkcmVzcygiIjIwMDE6ZGI4OjoxIiIpLnJldmVyc2VfcG9pbnRlciIKIGxpYnJhcnkvaXBhZGRyZXNzLCw6OiwiIiI6OmFiYzo3OmRlZiIiIgogbGlicmFyeS9pcGFkZHJlc3MsLDpkZWYsIiIiOjphYmM6NzpkZWYiIiIKIGxpYnJhcnkvaXBhZGRyZXNzLCw6Oiw6OkZGRkYvOTYKQEAgLTI1Niw2ICsyNTgsMTEgQEAKIHdoYXRzbmV3LzIuNSwsOm1lbW9yeSw6bWVtb3J5Ogogd2hhdHNuZXcvMi41LCw6c3RlcCxbc3RhcnQ6c3RvcDpzdGVwXQogd2hhdHNuZXcvMi41LCw6c3RvcCxbc3RhcnQ6c3RvcDpzdGVwXQord2hhdHNuZXcvMi43LCw6OiwiUGFyc2VSZXN1bHQoc2NoZW1lPSdodHRwJywgbmV0bG9jPSdbMTA4MDo6ODo4MDA6MjAwQzo0MTdBXScsIgord2hhdHNuZXcvMi43LCw6Oiw+Pj4gdXJscGFyc2UudXJscGFyc2UoJ2h0dHA6Ly9bMTA4MDo6ODo4MDA6MjAwQzo0MTdBXS9mb28nKQord2hhdHNuZXcvMi43LCw6U3VuZGF5LCcyMDA5OjQ6U3VuZGF5Jword2hhdHNuZXcvMi43LCw6Q29va2llLCJleHBvcnQgUFlUSE9OV0FSTklOR1M9YWxsLGVycm9yOjo6Q29va2llOjAiCit3aGF0c25ldy8yLjcsLDo6LCJleHBvcnQgUFlUSE9OV0FSTklOR1M9YWxsLGVycm9yOjo6Q29va2llOjAiCiB3aGF0c25ldy8zLjIsLDphZmZlLCJuZXRsb2M9J1tkZWFkOmJlZWY6Y2FmZTo1NDE3OmFmZmU6OEZBMzpkZWFmOmZlZWRdJywiCiB3aGF0c25ldy8zLjIsLDphZmZlLD4+PiB1cmxsaWIucGFyc2UudXJscGFyc2UoJ2h0dHA6Ly9bZGVhZDpiZWVmOmNhZmU6NTQxNzphZmZlOjhGQTM6ZGVhZjpmZWVkXS9mb28vJykKIHdoYXRzbmV3LzMuMiwsOmJlZWYsIm5ldGxvYz0nW2RlYWQ6YmVlZjpjYWZlOjU0MTc6YWZmZTo4RkEzOmRlYWY6ZmVlZF0nLCIKQEAgLTI3MSwxNCArMjc4LDUgQEAKIHdoYXRzbmV3LzMuMiwsOmd6LCI+Pj4gd2l0aCB0YXJmaWxlLm9wZW4obmFtZT0nbXlhcmNoaXZlLnRhci5neicsIG1vZGU9J3c6Z3onKSBhcyB0ZjoiCiB3aGF0c25ldy8zLjIsLDpsb2NhdGlvbix6b3BlOS1sb2NhdGlvbiA9ICR7em9wZTk6bG9jYXRpb259CiB3aGF0c25ldy8zLjIsLDpwcmVmaXgsem9wZS1jb25mID0gJHtjdXN0b206cHJlZml4fS9ldGMvem9wZS5jb25mCi13aGF0c25ldy9jaGFuZ2Vsb2csLDpwbGF0Zm9ybSw6cGxhdGZvcm06CiB3aGF0c25ldy9jaGFuZ2Vsb2csLDpneiwiOiBUYXJGaWxlIG9wZW5lZCB3aXRoIGV4dGVybmFsIGZpbGVvYmogYW5kICIidzpneiIiIG1vZGUgZGlkbid0Igotd2hhdHNuZXcvY2hhbmdlbG9nLCw6UHl0aG9uQ21kLCJXaXRoIFRrIDwgOC41IF90a2ludGVyLmM6UHl0aG9uQ21kKCkgcmFpc2VkIFVuaWNvZGVEZWNvZGVFcnJvciwgY2F1c2VkIgotd2hhdHNuZXcvY2hhbmdlbG9nLCw6OiwiOiBGaXggRlRQIHRlc3RzIGZvciBJUHY2LCBiaW5kIHRvICIiOjoxIiIgaW5zdGVhZCBvZiAiImxvY2FsaG9zdCIiLiIKIHdoYXRzbmV3L2NoYW5nZWxvZywsOjosIjogVXNlICIiMTI3LjAuMC4xIiIgb3IgIiI6OjEiIiBpbnN0ZWFkIG9mICIibG9jYWxob3N0IiIgYXMgbXVjaCBhcyIKLXdoYXRzbmV3L2NoYW5nZWxvZywsOnBhc3N3b3JkLHVzZXI6cGFzc3dvcmQKLXdoYXRzbmV3LzIuNyw3ODAsOlN1bmRheSwnMjAwOTo0OlN1bmRheScKLXdoYXRzbmV3LzIuNyw5MDcsOjosImV4cG9ydCBQWVRIT05XQVJOSU5HUz1hbGwsZXJyb3I6OjpDb29raWU6MCIKLXdoYXRzbmV3LzIuNyw5MDcsOkNvb2tpZSwiZXhwb3J0IFBZVEhPTldBUk5JTkdTPWFsbCxlcnJvcjo6OkNvb2tpZTowIgotd2hhdHNuZXcvMi43LDE2NTcsOjosPj4+IHVybHBhcnNlLnVybHBhcnNlKCdodHRwOi8vWzEwODA6Ojg6ODAwOjIwMEM6NDE3QV0vZm9vJykKLXdoYXRzbmV3LzIuNywxNjU3LDo6LCJQYXJzZVJlc3VsdChzY2hlbWU9J2h0dHAnLCBuZXRsb2M9J1sxMDgwOjo4OjgwMDoyMDBDOjQxN0FdJywiCmRpZmYgLS1naXQgYS9Eb2MvdG9vbHMvdGVtcGxhdGVzL2luZGV4c2lkZWJhci5odG1sIGIvRG9jL3Rvb2xzL3RlbXBsYXRlcy9pbmRleHNpZGViYXIuaHRtbAppbmRleCBhYmRmMDcwLi43OGU5YzRmIDEwMDY0NAotLS0gYS9Eb2MvdG9vbHMvdGVtcGxhdGVzL2luZGV4c2lkZWJhci5odG1sCisrKyBiL0RvYy90b29scy90ZW1wbGF0ZXMvaW5kZXhzaWRlYmFyLmh0bWwKQEAgLTMsOCArMyw3IEBACiA8aDM+RG9jcyBmb3Igb3RoZXIgdmVyc2lvbnM8L2gzPgogPHVsPgogICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9kb2NzLnB5dGhvbi5vcmcvMi43LyI+UHl0aG9uIDIuNyAoc3RhYmxlKTwvYT48L2xpPgotICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9kb2NzLnB5dGhvbi5vcmcvMy4zLyI+UHl0aG9uIDMuMyAoc3RhYmxlKTwvYT48L2xpPgotICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9kb2NzLnB5dGhvbi5vcmcvMy41LyI+UHl0aG9uIDMuNSAoaW4gZGV2ZWxvcG1lbnQpPC9hPjwvbGk+CisgIDxsaT48YSBocmVmPSJodHRwczovL2RvY3MucHl0aG9uLm9yZy8zLjQvIj5QeXRob24gMy40IChzdGFibGUpPC9hPjwvbGk+CiAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5weXRob24ub3JnL2RvYy92ZXJzaW9ucy8iPk9sZCB2ZXJzaW9uczwvYT48L2xpPgogPC91bD4KIApkaWZmIC0tZ2l0IGEvRG9jL3R1dG9yaWFsL2FwcGVuZGl4LnJzdCBiL0RvYy90dXRvcmlhbC9hcHBlbmRpeC5yc3QKaW5kZXggODY3MGVmYy4uNjcyNjJhMSAxMDA2NDQKLS0tIGEvRG9jL3R1dG9yaWFsL2FwcGVuZGl4LnJzdAorKysgYi9Eb2MvdHV0b3JpYWwvYXBwZW5kaXgucnN0CkBAIC00MCw3ICs0MCw3IEBACiBPbiBCU0QnaXNoIFVuaXggc3lzdGVtcywgUHl0aG9uIHNjcmlwdHMgY2FuIGJlIG1hZGUgZGlyZWN0bHkgZXhlY3V0YWJsZSwgbGlrZQogc2hlbGwgc2NyaXB0cywgYnkgcHV0dGluZyB0aGUgbGluZSA6OgogCi0gICAjIS91c3IvYmluL2VudiBweXRob24zLjQKKyAgICMhL3Vzci9iaW4vZW52IHB5dGhvbjMuNQogCiAoYXNzdW1pbmcgdGhhdCB0aGUgaW50ZXJwcmV0ZXIgaXMgb24gdGhlIHVzZXIncyA6ZW52dmFyOmBQQVRIYCkgYXQgdGhlIGJlZ2lubmluZwogb2YgdGhlIHNjcmlwdCBhbmQgZ2l2aW5nIHRoZSBmaWxlIGFuIGV4ZWN1dGFibGUgbW9kZS4gIFRoZSBgYCMhYGAgbXVzdCBiZSB0aGUKQEAgLTEwNyw3ICsxMDcsNyBAQAogCiAgICA+Pj4gaW1wb3J0IHNpdGUKICAgID4+PiBzaXRlLmdldHVzZXJzaXRlcGFja2FnZXMoKQotICAgJy9ob21lL3VzZXIvLmxvY2FsL2xpYi9weXRob24zLjQvc2l0ZS1wYWNrYWdlcycKKyAgICcvaG9tZS91c2VyLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMnCiAKIE5vdyB5b3UgY2FuIGNyZWF0ZSBhIGZpbGUgbmFtZWQgOmZpbGU6YHVzZXJjdXN0b21pemUucHlgIGluIHRoYXQgZGlyZWN0b3J5IGFuZAogcHV0IGFueXRoaW5nIHlvdSB3YW50IGluIGl0LiAgSXQgd2lsbCBhZmZlY3QgZXZlcnkgaW52b2NhdGlvbiBvZiBQeXRob24sIHVubGVzcwpkaWZmIC0tZ2l0IGEvRG9jL3R1dG9yaWFsL2RhdGFzdHJ1Y3R1cmVzLnJzdCBiL0RvYy90dXRvcmlhbC9kYXRhc3RydWN0dXJlcy5yc3QKaW5kZXggMWVhMjk5Zi4uYTIwMzFlZCAxMDA2NDQKLS0tIGEvRG9jL3R1dG9yaWFsL2RhdGFzdHJ1Y3R1cmVzLnJzdAorKysgYi9Eb2MvdHV0b3JpYWwvZGF0YXN0cnVjdHVyZXMucnN0CkBAIC03MywxMCArNzMsMTEgQEAKICAgIFJldHVybiB0aGUgbnVtYmVyIG9mIHRpbWVzICp4KiBhcHBlYXJzIGluIHRoZSBsaXN0LgogCiAKLS4uIG1ldGhvZDo6IGxpc3Quc29ydCgpCisuLiBtZXRob2Q6OiBsaXN0LnNvcnQoa2V5PU5vbmUsIHJldmVyc2U9RmFsc2UpCiAgICA6bm9pbmRleDoKIAotICAgU29ydCB0aGUgaXRlbXMgb2YgdGhlIGxpc3QgaW4gcGxhY2UuCisgICBTb3J0IHRoZSBpdGVtcyBvZiB0aGUgbGlzdCBpbiBwbGFjZSAodGhlIGFyZ3VtZW50cyBjYW4gYmUgdXNlZCBmb3Igc29ydAorICAgY3VzdG9taXphdGlvbiwgc2VlIDpmdW5jOmBzb3J0ZWRgIGZvciB0aGVpciBleHBsYW5hdGlvbikuCiAKIAogLi4gbWV0aG9kOjogbGlzdC5yZXZlcnNlKCkKZGlmZiAtLWdpdCBhL0RvYy90dXRvcmlhbC9pbnRlcnByZXRlci5yc3QgYi9Eb2MvdHV0b3JpYWwvaW50ZXJwcmV0ZXIucnN0CmluZGV4IDgwNTE2MzQuLmQ1Nzg5YTYgMTAwNjQ0Ci0tLSBhL0RvYy90dXRvcmlhbC9pbnRlcnByZXRlci5yc3QKKysrIGIvRG9jL3R1dG9yaWFsL2ludGVycHJldGVyLnJzdApAQCAtMTAsMTMgKzEwLDEzIEBACiBJbnZva2luZyB0aGUgSW50ZXJwcmV0ZXIKID09PT09PT09PT09PT09PT09PT09PT09PQogCi1UaGUgUHl0aG9uIGludGVycHJldGVyIGlzIHVzdWFsbHkgaW5zdGFsbGVkIGFzIDpmaWxlOmAvdXNyL2xvY2FsL2Jpbi9weXRob24zLjRgCitUaGUgUHl0aG9uIGludGVycHJldGVyIGlzIHVzdWFsbHkgaW5zdGFsbGVkIGFzIDpmaWxlOmAvdXNyL2xvY2FsL2Jpbi9weXRob24zLjVgCiBvbiB0aG9zZSBtYWNoaW5lcyB3aGVyZSBpdCBpcyBhdmFpbGFibGU7IHB1dHRpbmcgOmZpbGU6YC91c3IvbG9jYWwvYmluYCBpbiB5b3VyCiBVbml4IHNoZWxsJ3Mgc2VhcmNoIHBhdGggbWFrZXMgaXQgcG9zc2libGUgdG8gc3RhcnQgaXQgYnkgdHlwaW5nIHRoZSBjb21tYW5kOgogCiAuLiBjb2RlLWJsb2NrOjogdGV4dAogCi0gICBweXRob24zLjQKKyAgIHB5dGhvbjMuNQogCiB0byB0aGUgc2hlbGwuIFsjXV8gU2luY2UgdGhlIGNob2ljZSBvZiB0aGUgZGlyZWN0b3J5IHdoZXJlIHRoZSBpbnRlcnByZXRlciBsaXZlcwogaXMgYW4gaW5zdGFsbGF0aW9uIG9wdGlvbiwgb3RoZXIgcGxhY2VzIGFyZSBwb3NzaWJsZTsgY2hlY2sgd2l0aCB5b3VyIGxvY2FsCkBAIC0yNCwxMSArMjQsMTEgQEAKIHBvcHVsYXIgYWx0ZXJuYXRpdmUgbG9jYXRpb24uKQogCiBPbiBXaW5kb3dzIG1hY2hpbmVzLCB0aGUgUHl0aG9uIGluc3RhbGxhdGlvbiBpcyB1c3VhbGx5IHBsYWNlZCBpbgotOmZpbGU6YEM6XFxQeXRob24zNGAsIHRob3VnaCB5b3UgY2FuIGNoYW5nZSB0aGlzIHdoZW4geW91J3JlIHJ1bm5pbmcgdGhlCis6ZmlsZTpgQzpcXFB5dGhvbjM1YCwgdGhvdWdoIHlvdSBjYW4gY2hhbmdlIHRoaXMgd2hlbiB5b3UncmUgcnVubmluZyB0aGUKIGluc3RhbGxlci4gIFRvIGFkZCB0aGlzIGRpcmVjdG9yeSB0byB5b3VyIHBhdGgsICB5b3UgY2FuIHR5cGUgdGhlIGZvbGxvd2luZwogY29tbWFuZCBpbnRvIHRoZSBjb21tYW5kIHByb21wdCBpbiBhIERPUyBib3g6OgogCi0gICBzZXQgcGF0aD0lcGF0aCU7QzpccHl0aG9uMzQKKyAgIHNldCBwYXRoPSVwYXRoJTtDOlxweXRob24zNQogCiBUeXBpbmcgYW4gZW5kLW9mLWZpbGUgY2hhcmFjdGVyICg6a2JkOmBDb250cm9sLURgIG9uIFVuaXgsIDprYmQ6YENvbnRyb2wtWmAgb24KIFdpbmRvd3MpIGF0IHRoZSBwcmltYXJ5IHByb21wdCBjYXVzZXMgdGhlIGludGVycHJldGVyIHRvIGV4aXQgd2l0aCBhIHplcm8gZXhpdApAQCAtOTYsOCArOTYsOCBAQAogcHJpbnRzIGEgd2VsY29tZSBtZXNzYWdlIHN0YXRpbmcgaXRzIHZlcnNpb24gbnVtYmVyIGFuZCBhIGNvcHlyaWdodCBub3RpY2UKIGJlZm9yZSBwcmludGluZyB0aGUgZmlyc3QgcHJvbXB0OjoKIAotICAgJCBweXRob24zLjQKLSAgIFB5dGhvbiAzLjQgKGRlZmF1bHQsIE1hciAxNiAyMDE0LCAwOToyNTowNCkKKyAgICQgcHl0aG9uMy41CisgICBQeXRob24gMy41IChkZWZhdWx0LCBTZXAgMTYgMjAxNSwgMDk6MjU6MDQpCiAgICBbR0NDIDQuOC4yXSBvbiBsaW51eAogICAgVHlwZSAiaGVscCIsICJjb3B5cmlnaHQiLCAiY3JlZGl0cyIgb3IgImxpY2Vuc2UiIGZvciBtb3JlIGluZm9ybWF0aW9uLgogICAgPj4+CmRpZmYgLS1naXQgYS9Eb2MvdHV0b3JpYWwvc3RkbGliLnJzdCBiL0RvYy90dXRvcmlhbC9zdGRsaWIucnN0CmluZGV4IGNkNzNiYzIuLjk1NGVmNDQgMTAwNjQ0Ci0tLSBhL0RvYy90dXRvcmlhbC9zdGRsaWIucnN0CisrKyBiL0RvYy90dXRvcmlhbC9zdGRsaWIucnN0CkBAIC0xNSw3ICsxNSw3IEBACiAKICAgID4+PiBpbXBvcnQgb3MKICAgID4+PiBvcy5nZXRjd2QoKSAgICAgICMgUmV0dXJuIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5Ci0gICAnQzpcXFB5dGhvbjM0JworICAgJ0M6XFxQeXRob24zNScKICAgID4+PiBvcy5jaGRpcignL3NlcnZlci9hY2Nlc3Nsb2dzJykgICAjIENoYW5nZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5CiAgICA+Pj4gb3Muc3lzdGVtKCdta2RpciB0b2RheScpICAgIyBSdW4gdGhlIGNvbW1hbmQgbWtkaXIgaW4gdGhlIHN5c3RlbSBzaGVsbAogICAgMApkaWZmIC0tZ2l0IGEvRG9jL3R1dG9yaWFsL3N0ZGxpYjIucnN0IGIvRG9jL3R1dG9yaWFsL3N0ZGxpYjIucnN0CmluZGV4IGMwMTk3ZWEuLmY3ZDJhMGEgMTAwNjQ0Ci0tLSBhL0RvYy90dXRvcmlhbC9zdGRsaWIyLnJzdAorKysgYi9Eb2MvdHV0b3JpYWwvc3RkbGliMi5yc3QKQEAgLTE4LDcgKzE4LDcgQEAKIAogICAgPj4+IGltcG9ydCByZXBybGliCiAgICA+Pj4gcmVwcmxpYi5yZXByKHNldCgnc3VwZXJjYWxpZnJhZ2lsaXN0aWNleHBpYWxpZG9jaW91cycpKQotICAgInNldChbJ2EnLCAnYycsICdkJywgJ2UnLCAnZicsICdnJywgLi4uXSkiCisgICAieydhJywgJ2MnLCAnZCcsICdlJywgJ2YnLCAnZycsIC4uLn0iCiAKIFRoZSA6bW9kOmBwcHJpbnRgIG1vZHVsZSBvZmZlcnMgbW9yZSBzb3BoaXN0aWNhdGVkIGNvbnRyb2wgb3ZlciBwcmludGluZyBib3RoCiBidWlsdC1pbiBhbmQgdXNlciBkZWZpbmVkIG9iamVjdHMgaW4gYSB3YXkgdGhhdCBpcyByZWFkYWJsZSBieSB0aGUgaW50ZXJwcmV0ZXIuCkBAIC0yNzcsNyArMjc3LDcgQEAKICAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKICAgICAgRmlsZSAiPHN0ZGluPiIsIGxpbmUgMSwgaW4gPG1vZHVsZT4KICAgICAgICBkWydwcmltYXJ5J10gICAgICAgICAgICAgICAgIyBlbnRyeSB3YXMgYXV0b21hdGljYWxseSByZW1vdmVkCi0gICAgIEZpbGUgIkM6L3B5dGhvbjM0L2xpYi93ZWFrcmVmLnB5IiwgbGluZSA0NiwgaW4gX19nZXRpdGVtX18KKyAgICAgRmlsZSAiQzovcHl0aG9uMzUvbGliL3dlYWtyZWYucHkiLCBsaW5lIDQ2LCBpbiBfX2dldGl0ZW1fXwogICAgICAgIG8gPSBzZWxmLmRhdGFba2V5XSgpCiAgICBLZXlFcnJvcjogJ3ByaW1hcnknCiAKZGlmZiAtLWdpdCBhL0RvYy91c2luZy92ZW52LWNyZWF0ZS5pbmMgYi9Eb2MvdXNpbmcvdmVudi1jcmVhdGUuaW5jCmluZGV4IDQ1YmRkNWEuLjAyYmNiZWUgMTAwNjQ0Ci0tLSBhL0RvYy91c2luZy92ZW52LWNyZWF0ZS5pbmMKKysrIGIvRG9jL3VzaW5nL3ZlbnYtY3JlYXRlLmluYwpAQCAtMjEsMTEgKzIxLDExIEBACiBPbiBXaW5kb3dzLCB5b3UgbWF5IGhhdmUgdG8gaW52b2tlIHRoZSBgYHB5dmVudmBgIHNjcmlwdCBhcyBmb2xsb3dzLCBpZiB5b3UKIGRvbid0IGhhdmUgdGhlIHJlbGV2YW50IFBBVEggYW5kIFBBVEhFWFQgc2V0dGluZ3M6OgogCi0gICAgYzpcVGVtcD5jOlxQeXRob24zNFxweXRob24gYzpcUHl0aG9uMzRcVG9vbHNcU2NyaXB0c1xweXZlbnYucHkgbXllbnYKKyAgICBjOlxUZW1wPmM6XFB5dGhvbjM1XHB5dGhvbiBjOlxQeXRob24zNVxUb29sc1xTY3JpcHRzXHB5dmVudi5weSBteWVudgogCiBvciBlcXVpdmFsZW50bHk6OgogCi0gICAgYzpcVGVtcD5jOlxQeXRob24zNFxweXRob24gLW0gdmVudiBteWVudgorICAgIGM6XFRlbXA+YzpcUHl0aG9uMzVccHl0aG9uIC1tIHZlbnYgbXllbnYKIAogVGhlIGNvbW1hbmQsIGlmIHJ1biB3aXRoIGBgLWhgYCwgd2lsbCBzaG93IHRoZSBhdmFpbGFibGUgb3B0aW9uczo6CiAKZGlmZiAtLWdpdCBhL0RvYy91c2luZy93aW5faW5zdGFsbGVyLnBuZyBiL0RvYy91c2luZy93aW5faW5zdGFsbGVyLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40Njk2YmIyCi0tLSAvZGV2L251bGwKKysrIGIvRG9jL3VzaW5nL3dpbl9pbnN0YWxsZXIucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL0RvYy91c2luZy93aW5kb3dzLnJzdCBiL0RvYy91c2luZy93aW5kb3dzLnJzdAppbmRleCBjMDVmNzJhLi5hZjY2MTk2IDEwMDY0NAotLS0gYS9Eb2MvdXNpbmcvd2luZG93cy5yc3QKKysrIGIvRG9jL3VzaW5nL3dpbmRvd3MucnN0CkBAIC03LDYgKzcsNyBAQAogKioqKioqKioqKioqKioqKioqKioqKioqKgogCiAuLiBzZWN0aW9uYXV0aG9yOjogUm9iZXJ0IExlaG1hbm4gPGxlaG1hbm5yb0BnbWFpbC5jb20+CisuLiBzZWN0aW9uYXV0aG9yOjogU3RldmUgRG93ZXIgPHN0ZXZlLmRvd2VyQG1pY3Jvc29mdC5jb20+CiAKIFRoaXMgZG9jdW1lbnQgYWltcyB0byBnaXZlIGFuIG92ZXJ2aWV3IG9mIFdpbmRvd3Mtc3BlY2lmaWMgYmVoYXZpb3VyIHlvdSBzaG91bGQKIGtub3cgYWJvdXQgd2hlbiB1c2luZyBQeXRob24gb24gTWljcm9zb2Z0IFdpbmRvd3MuCkBAIC0xOSwxMCArMjAsMTcyIEBACiBJbnN0YWxsaW5nIFB5dGhvbgogPT09PT09PT09PT09PT09PT0KIAotVW5saWtlIG1vc3QgVW5peCBzeXN0ZW1zIGFuZCBzZXJ2aWNlcywgV2luZG93cyBkb2VzIG5vdCByZXF1aXJlIFB5dGhvbiBuYXRpdmVseQotYW5kIHRodXMgZG9lcyBub3QgcHJlLWluc3RhbGwgYSB2ZXJzaW9uIG9mIFB5dGhvbi4gIEhvd2V2ZXIsIHRoZSBDUHl0aG9uIHRlYW0KK1VubGlrZSBtb3N0IFVuaXggc3lzdGVtcyBhbmQgc2VydmljZXMsIFdpbmRvd3MgZG9lcyBub3QgaW5jbHVkZSBhIHN5c3RlbQorc3VwcG9ydGVkIGluc3RhbGxhdGlvbiBvZiBQeXRob24uIFRvIG1ha2UgUHl0aG9uIGF2YWlsYWJsZSwgdGhlIENQeXRob24gdGVhbQogaGFzIGNvbXBpbGVkIFdpbmRvd3MgaW5zdGFsbGVycyAoTVNJIHBhY2thZ2VzKSB3aXRoIGV2ZXJ5IGByZWxlYXNlCi08aHR0cHM6Ly93d3cucHl0aG9uLm9yZy9kb3dubG9hZC9yZWxlYXNlcy8+YF8gZm9yIG1hbnkgeWVhcnMuCis8aHR0cHM6Ly93d3cucHl0aG9uLm9yZy9kb3dubG9hZC9yZWxlYXNlcy8+YF8gZm9yIG1hbnkgeWVhcnMuIFRoZXNlIGluc3RhbGxlcnMKK2FyZSBwcmltYXJpbHkgaW50ZW5kZWQgdG8gYWRkIGEgc3lzdGVtLXdpZGUgaW5zdGFsbGF0aW9uIG9mIFB5dGhvbiwgd2l0aCB0aGUKK2NvcmUgaW50ZXJwcmV0ZXIgYW5kIGxpYnJhcnkgYmVpbmcgc2hhcmVkIGJ5IGFsbCBhcHBsaWNhdGlvbi4gTm9uLXNoYXJlZAorbGF5b3V0cyBvZiB0aGUgUHl0aG9uIGludGVycHJldGVyIG1heSBhbHNvIGJlIGNyZWF0ZWQgd2l0aCB0aGUgc2FtZSBpbnN0YWxsZXIsCitob3dldmVyLCB0aGUgcmVsZWFzZWQgaW5zdGFsbGVyIGlzIG5vdCBpbnRlbmRlZCBmb3IgZW1iZWRkaW5nIGluIG90aGVyCitpbnN0YWxsZXJzLgorCitJbnN0YWxsYXRpb24gU3RlcHMKKy0tLS0tLS0tLS0tLS0tLS0tLQorCitGb3VyIFB5dGhvbiAzLjUgaW5zdGFsbGVycyBhcmUgYXZhaWxhYmxlIGZvciBkb3dubG9hZCAtIHR3byBlYWNoIGZvciB0aGUgMzItYml0CithbmQgNjQtYml0IHZlcnNpb25zIG9mIHRoZSBpbnRlcnByZXRlci4gVGhlICp3ZWIgaW5zdGFsbGVyKiBpcyBhIHNtYWxsIGluaXRpYWwKK2Rvd25sb2FkLCBhbmQgaXQgd2lsbCBhdXRvbWF0aWNhbGx5IGRvd25sb2FkIHRoZSByZXF1aXJlZCBjb21wb25lbnRzIGFzCituZWNlc3NhcnkuIFRoZSAqb2ZmbGluZSBpbnN0YWxsZXIqIGluY2x1ZGVzIHRoZSBjb21wb25lbnRzIG5lY2Vzc2FyeSBmb3IgYQorZGVmYXVsdCBpbnN0YWxsYXRpb24gYW5kIG9ubHkgcmVxdWlyZXMgYW4gaW50ZXJuZXQgY29ubmVjdGlvbiBmb3Igb3B0aW9uYWwKK2ZlYXR1cmVzLiBTZWUgOnJlZjpgaW5zdGFsbC1sYXlvdXQtb3B0aW9uYCBmb3Igb3RoZXIgd2F5cyB0byBhdm9pZCBkb3dubG9hZGluZworZHVyaW5nIGluc3RhbGxhdGlvbi4KKworQWZ0ZXIgc3RhcnRpbmcgdGhlIGluc3RhbGxlciwgb25lIG9mIHRocmVlIG9wdGlvbnMgbWF5IGJlIHNlbGVjdGVkOgorCisuLiBpbWFnZTo6IHdpbl9pbnN0YWxsZXIucG5nCisKK0lmIHlvdSBzZWxlY3QgIkluc3RhbGwgZm9yIEFsbCBVc2VycyI6CisKKyogWW91IG1heSBiZSByZXF1aXJlZCB0byBwcm92aWRlIGFkbWluaXN0cmF0aXZlIGNyZWRlbnRpYWxzIG9yIGFwcHJvdmFsCisqIFB5dGhvbiB3aWxsIGJlIGluc3RhbGxlZCBpbnRvIHlvdXIgUHJvZ3JhbSBGaWxlcyBkaXJlY3RvcnkKKyogVGhlIDpyZWY6YGxhdW5jaGVyYCB3aWxsIGJlIGluc3RhbGxlZCBpbnRvIHlvdXIgV2luZG93cyBkaXJlY3RvcnkKKyogVGhlIHN0YW5kYXJkIGxpYnJhcnksIHRlc3Qgc3VpdGUsIGxhdW5jaGVyIGFuZCBwaXAgd2lsbCBiZSBpbnN0YWxsZWQKKyogQWZ0ZXIgaW5zdGFsbGF0aW9uLCB0aGUgc3RhbmRhcmQgbGlicmFyeSB3aWxsIGJlIHByZS1jb21waWxlZCB0byBieXRlY29kZQorKiBJZiBzZWxlY3RlZCwgdGhlIGluc3RhbGwgZGlyZWN0b3J5IHdpbGwgYmUgYWRkZWQgdG8gOmVudnZhcjpgUEFUSGAKKworSWYgeW91IHNlbGVjdCAiSW5zdGFsbCBKdXN0IGZvciBNZSI6CisKKyogWW91IHdpbGwgKm5vdCogbmVlZCB0byBiZSBhbiBhZG1pbmlzdHJhdG9yCisqIFB5dGhvbiB3aWxsIGJlIGluc3RhbGxlZCBpbnRvIHlvdXIgdXNlciBkaXJlY3RvcnkKKyogVGhlIDpyZWY6YGxhdW5jaGVyYCB3aWxsICphbHNvKiBiZSBpbnN0YWxsZWQgaW50byB5b3VyIHVzZXIgZGlyZWN0b3J5CisqIFRoZSBzdGFuZGFyZCBsaWJyYXJ5LCB0ZXN0IHN1aXRlLCBsYXVuY2hlciBhbmQgcGlwIHdpbGwgYmUgaW5zdGFsbGVkCisqIElmIHNlbGVjdGVkLCB0aGUgaW5zdGFsbCBkaXJlY3Rvcnkgd2lsbCBiZSBhZGRlZCB0byA6ZW52dmFyOmBQQVRIYAorCitTZWxlY3RpbmcgIkN1c3RvbWl6ZSBpbnN0YWxsYXRpb24iIHdpbGwgYWxsb3cgeW91IHRvIHNlbGVjdCB0aGUgZmVhdHVyZXMgdG8KK2luc3RhbGwsIHRoZSBpbnN0YWxsYXRpb24gbG9jYXRpb24gYW5kIG90aGVyIG9wdGlvbnMgb3IgcG9zdC1pbnN0YWxsIGFjdGlvbnMuCitUbyBpbnN0YWxsIGRlYnVnZ2luZyBzeW1ib2xzIG9yIGJpbmFyaWVzLCB5b3Ugd2lsbCBuZWVkIHRvIHVzZSB0aGlzIG9wdGlvbi4KKworLi4gX2luc3RhbGwtcXVpZXQtb3B0aW9uOgorCitJbnN0YWxsaW5nIFdpdGhvdXQgVUkKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitBbGwgb2YgdGhlIG9wdGlvbnMgYXZhaWxhYmxlIGluIHRoZSBpbnN0YWxsZXIgVUkgY2FuIGFsc28gYmUgc3BlY2lmaWVkIGZyb20gdGhlCitjb21tYW5kIGxpbmUsIGFsbG93aW5nIHNjcmlwdGVkIGluc3RhbGxlcnMgdG8gcmVwbGljYXRlIGFuIGluc3RhbGxhdGlvbiBvbiBtYW55CittYWNoaW5lcyB3aXRob3V0IHVzZXIgaW50ZXJhY3Rpb24uICBUaGVzZSBvcHRpb25zIG1heSBhbHNvIGJlIHNldCB3aXRob3V0CitzdXBwcmVzc2luZyB0aGUgVUkgaW4gb3JkZXIgdG8gY2hhbmdlIHNvbWUgb2YgdGhlIGRlZmF1bHRzLgorCitUbyBjb21wbGV0ZWx5IGhpZGUgdGhlIGluc3RhbGxlciBVSSBhbmQgaW5zdGFsbCBQeXRob24gc2lsZW50bHksIHBhc3MgdGhlCitgYC9xdWlldGBgIChgYC9xYGApIG9wdGlvbi4gVG8gc2tpcCBwYXN0IHRoZSB1c2VyIGludGVyYWN0aW9uIGJ1dCBzdGlsbCBkaXNwbGF5Citwcm9ncmVzcyBhbmQgZXJyb3JzLCBwYXNzIHRoZSBgYC9wYXNzaXZlYGAgKGBgL3BgYCkgb3B0aW9uLiBUaGUgYGAvdW5pbnN0YWxsYGAKK29wdGlvbiBtYXkgYmUgcGFzc2VkIHRvIGltbWVkaWF0ZWx5IGJlZ2luIHJlbW92aW5nIFB5dGhvbiAtIG5vIHByb21wdCB3aWxsIGJlCitkaXNwbGF5ZWQuCisKK0FsbCBvdGhlciBvcHRpb25zIGFyZSBwYXNzZWQgYXMgYGBuYW1lPXZhbHVlYGAsIHdoZXJlIHRoZSB2YWx1ZSBpcyB1c3VhbGx5CitgYDBgYCB0byBkaXNhYmxlIGEgZmVhdHVyZSwgYGAxYGAgdG8gZW5hYmxlIGEgZmVhdHVyZSwgb3IgYSBwYXRoLiBUaGUgZnVsbCBsaXN0CitvZiBhdmFpbGFibGUgb3B0aW9ucyBpcyBzaG93biBiZWxvdy4KKworKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKK3wgTmFtZSAgICAgICAgICAgICAgICAgICAgICB8IERlc2NyaXB0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICB8IERlZmF1bHQgICAgICAgICAgICAgICAgICB8CisrPT09PT09PT09PT09PT09PT09PT09PT09PT09Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kz09PT09PT09PT09PT09PT09PT09PT09PT09KworfCBJbnN0YWxsQWxsVXNlcnMgICAgICAgICAgIHwgUGVyZm9ybSBhIHN5c3RlbS13aWRlIGluc3RhbGxhdGlvbi4gIHwgMSAgICAgICAgICAgICAgICAgICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IFRhcmdldERpciAgICAgICAgICAgICAgICAgfCBUaGUgaW5zdGFsbGF0aW9uIGRpcmVjdG9yeSAgICAgICAgICAgfCBTZWxlY3RlZCBiYXNlZCBvbiAgICAgICAgfAorfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgSW5zdGFsbEFsbFVzZXJzICAgICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IERlZmF1bHRBbGxVc2Vyc1RhcmdldERpciAgfCBUaGUgZGVmYXVsdCBpbnN0YWxsYXRpb24gZGlyZWN0b3J5ICAgfCA6ZmlsZTpgJVByb2dyYW1GaWxlcyVcXFwgfAorfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZm9yIGFsbC11c2VyIGluc3RhbGxzICAgICAgICAgICAgICAgIHwgUHl0aG9uIFguWWAgb3IgOmZpbGU6YFwgIHwKK3wgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICVQcm9ncmFtRmlsZXMoeDg2KSVcXFwgICB8Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBQeXRob24gWC5ZYCAgICAgICAgICAgICAgfAorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKK3wgRGVmYXVsdEp1c3RGb3JNZVRhcmdldERpciB8IFRoZSBkZWZhdWx0IGluc3RhbGwgZGlyZWN0b3J5IGZvciAgICB8IDpmaWxlOmAlTG9jYWxBcHBEYXRhJVxcXCB8Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBqdXN0LWZvci1tZSBpbnN0YWxscyAgICAgICAgICAgICAgICAgfCBQcm9ncmFtc1xcUHl0aG9uWFlgIG9yICAgfAorfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgOmZpbGU6YCVMb2NhbEFwcERhdGElXFxcIHwKK3wgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFByb2dyYW1zXFxQeXRob25YWS0zMmAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCBEZWZhdWx0Q3VzdG9tVGFyZ2V0RGlyICAgIHwgVGhlIGRlZmF1bHQgY3VzdG9tIGluc3RhbGwgZGlyZWN0b3J5IHwgKGVtcHR5KSAgICAgICAgICAgICAgICAgIHwKK3wgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGRpc3BsYXllZCBpbiB0aGUgVUkgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCBBc3NvY2lhdGVGaWxlcyAgICAgICAgICAgIHwgQ3JlYXRlIGZpbGUgYXNzb2NpYXRpb25zIGlmIHRoZSAgICAgIHwgMSAgICAgICAgICAgICAgICAgICAgICAgIHwKK3wgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGxhdW5jaGVyIGlzIGFsc28gaW5zdGFsbGVkLiAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCBDb21waWxlQWxsICAgICAgICAgICAgICAgIHwgQ29tcGlsZSBhbGwgYGAucHlgYCBmaWxlcyB0byAgICAgICAgIHwgMCAgICAgICAgICAgICAgICAgICAgICAgIHwKK3wgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGBgLnB5Y2BgIGFuZCBgYC5weW9gYC4gICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCBQcmVwZW5kUGF0aCAgICAgICAgICAgICAgIHwgQWRkIGluc3RhbGwgYW5kIFNjcmlwdHMgZGlyZWN0b3JpZXMgIHwgMCAgICAgICAgICAgICAgICAgICAgICAgIHwKK3wgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHRobyA6ZW52dmFyOmBQQVRIYCBhbmQgYGAuUFlgYCB0byAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICB8Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCA6ZW52dmFyOmBQQVRIRVhUYCAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgfAorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKK3wgSW5jbHVkZV9kb2MgICAgICAgICAgICAgICB8IEluc3RhbGwgUHl0aG9uIG1hbnVhbCAgICAgICAgICAgICAgICB8IDEgICAgICAgICAgICAgICAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCBJbmNsdWRlX2RlYnVnICAgICAgICAgICAgIHwgSW5zdGFsbCBkZWJ1ZyBiaW5hcmllcyAgICAgICAgICAgICAgIHwgMCAgICAgICAgICAgICAgICAgICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IEluY2x1ZGVfZGV2ICAgICAgICAgICAgICAgfCBJbnN0YWxsIGRldmVsb3BlciBoZWFkZXJzIGFuZCAgICAgICAgfCAxICAgICAgICAgICAgICAgICAgICAgICAgfAorfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgbGlicmFyaWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IEluY2x1ZGVfZXhlICAgICAgICAgICAgICAgfCBJbnN0YWxsIDpmaWxlOmBweXRob24uZXhlYCBhbmQgICAgICAgfCAxICAgICAgICAgICAgICAgICAgICAgICAgfAorfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgcmVsYXRlZCBmaWxlcyAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IEluY2x1ZGVfbGF1bmNoZXIgICAgICAgICAgfCBJbnN0YWxsIDpyZWY6YGxhdW5jaGVyYC4gICAgICAgICAgICAgfCAxICAgICAgICAgICAgICAgICAgICAgICAgfAorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKK3wgSW5jbHVkZV9saWIgICAgICAgICAgICAgICB8IEluc3RhbGwgc3RhbmRhcmQgbGlicmFyeSBhbmQgICAgICAgICB8IDEgICAgICAgICAgICAgICAgICAgICAgICB8Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBleHRlbnNpb24gbW9kdWxlcyAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgfAorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKK3wgSW5jbHVkZV9waXAgICAgICAgICAgICAgICB8IEluc3RhbGwgYnVuZGxlZCBwaXAgYW5kIHNldHVwdG9vbHMgICB8IDEgICAgICAgICAgICAgICAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCBJbmNsdWRlX3N5bWJvbHMgICAgICAgICAgIHwgSW5zdGFsbCBkZWJ1Z2dpbmcgc3ltYm9scyAoYCpgLnBkYikgIHwgMCAgICAgICAgICAgICAgICAgICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IEluY2x1ZGVfdGNsdGsgICAgICAgICAgICAgfCBJbnN0YWxsIFRjbC9UayBzdXBwb3J0IGFuZCBJRExFICAgICAgfCAxICAgICAgICAgICAgICAgICAgICAgICAgfAorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKK3wgSW5jbHVkZV90ZXN0ICAgICAgICAgICAgICB8IEluc3RhbGwgc3RhbmRhcmQgbGlicmFyeSB0ZXN0IHN1aXRlICB8IDEgICAgICAgICAgICAgICAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCBJbmNsdWRlX3Rvb2xzICAgICAgICAgICAgIHwgSW5zdGFsbCB1dGlsaXR5IHNjcmlwdHMgICAgICAgICAgICAgIHwgMSAgICAgICAgICAgICAgICAgICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IFNpbXBsZUluc3RhbGwgICAgICAgICAgICAgfCBEaXNhYmxlIG1vc3QgaW5zdGFsbCBVSSAgICAgICAgICAgICAgfCAwICAgICAgICAgICAgICAgICAgICAgICAgfAorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKworRm9yIGV4YW1wbGUsIHRvIHNpbGVudGx5IGluc3RhbGwgYSBkZWZhdWx0LCBzeXN0ZW0td2lkZSBQeXRob24gaW5zdGFsbGF0aW9uLAoreW91IGNvdWxkIHVzZSB0aGUgZm9sbG93aW5nIGNvbW1hbmQgKGZyb20gYW4gZWxldmF0ZWQgY29tbWFuZCBwcm9tcHQpOjoKKworICAgIHB5dGhvbi0zLjUuMC5leGUgL3F1aWV0IEluc3RhbGxBbGxVc2Vycz0xIFByZXBlbmRQYXRoPTEgSW5jbHVkZV90ZXN0PTAKKworVG8gYWxsb3cgdXNlcnMgdG8gZWFzaWx5IGluc3RhbGwgYSBwZXJzb25hbCBjb3B5IG9mIFB5dGhvbiB3aXRob3V0IHRoZSB0ZXN0CitzdWl0ZSwgeW91IGNvdWxkIHByb3ZpZGUgYSBzaG9ydGN1dCB3aXRoIHRoZSBmb2xsb3dpbmcgY29tbWFuZDo6CisKKyAgICBweXRob24tMy41LjAuZXhlIC9wYXNzaXZlIEluc3RhbGxBbGxVc2Vycz0wIEluY2x1ZGVfbGF1bmNoZXI9MCBJbmNsdWRlX3Rlc3Q9MCBTaW1wbGVJbnN0YWxsPTEKKworKE5vdGUgdGhhdCBvbWl0dGluZyB0aGUgbGF1bmNoZXIgYWxzbyBvbWl0cyBmaWxlIGFzc29jaWF0aW9ucywgYW5kIGlzIG9ubHkKK3JlY29tbWVuZGVkIGZvciBwZXItdXNlciBpbnN0YWxscyB3aGVuIHRoZXJlIGlzIGFsc28gYSBzeXN0ZW0td2lkZSBpbnN0YWxsYXRpb24KK3RoYXQgaW5jbHVkZWQgdGhlIGxhdW5jaGVyLikKKworLi4gX2luc3RhbGwtbGF5b3V0LW9wdGlvbjoKKworSW5zdGFsbGluZyBXaXRob3V0IERvd25sb2FkaW5nCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworQXMgc29tZSBmZWF0dXJlcyBvZiBQeXRob24gYXJlIG5vdCBpbmNsdWRlZCBpbiB0aGUgaW5pdGlhbCBpbnN0YWxsZXIgZG93bmxvYWQsCitzZWxlY3RpbmcgdGhvc2UgZmVhdHVyZXMgbWF5IHJlcXVpcmUgYW4gaW50ZXJuZXQgY29ubmVjdGlvbi4gIFRvIGF2b2lkIHRoaXMKK25lZWQsIGFsbCBwb3NzaWJsZSBjb21wb25lbnRzIG1heSBiZSBkb3dubG9hZGVkIG9uLWRlbWFuZCB0byBjcmVhdGUgYSBjb21wbGV0ZQorKmxheW91dCogdGhhdCB3aWxsIG5vIGxvbmdlciByZXF1aXJlIGFuIGludGVybmV0IGNvbm5lY3Rpb24gcmVnYXJkbGVzcyBvZiB0aGUKK3NlbGVjdGVkIGZlYXR1cmVzLiBOb3RlIHRoYXQgdGhpcyBkb3dubG9hZCBtYXkgYmUgYmlnZ2VyIHRoYW4gcmVxdWlyZWQsIGJ1dAord2hlcmUgYSBsYXJnZSBudW1iZXIgb2YgaW5zdGFsbGF0aW9ucyBhcmUgZ29pbmcgdG8gYmUgcGVyZm9ybWVkIGl0IGlzIHZlcnkKK3VzZWZ1bCB0byBoYXZlIGEgbG9jYWxseSBjYWNoZWQgY29weS4KKworRXhlY3V0ZSB0aGUgZm9sbG93aW5nIGNvbW1hbmQgZnJvbSBDb21tYW5kIFByb21wdCB0byBkb3dubG9hZCBhbGwgcG9zc2libGUKK3JlcXVpcmVkIGZpbGVzLiAgUmVtZW1iZXIgdG8gc3Vic3RpdHV0ZSBgYHB5dGhvbi0zLjUuMC5leGVgYCBmb3IgdGhlIGFjdHVhbAorbmFtZSBvZiB5b3VyIGluc3RhbGxlciwgYW5kIHRvIGNyZWF0ZSBsYXlvdXRzIGluIHRoZWlyIG93biBkaXJlY3RvcmllcyB0bworYXZvaWQgY29sbGlzaW9ucyBiZXR3ZWVuIGZpbGVzIHdpdGggdGhlIHNhbWUgbmFtZS4KKworOjoKKworICAgIHB5dGhvbi0zLjUuMC5leGUgL2xheW91dCBbb3B0aW9uYWwgdGFyZ2V0IGRpcmVjdG9yeV0KKworWW91IG1heSBhbHNvIHNwZWNpZnkgdGhlIGBgL3F1aWV0YGAgb3B0aW9uIHRvIGhpZGUgdGhlIHByb2dyZXNzIGRpc3BsYXkuCisKKworT3RoZXIgUGxhdGZvcm1zCistLS0tLS0tLS0tLS0tLS0KIAogV2l0aCBvbmdvaW5nIGRldmVsb3BtZW50IG9mIFB5dGhvbiwgc29tZSBwbGF0Zm9ybXMgdGhhdCB1c2VkIHRvIGJlIHN1cHBvcnRlZAogZWFybGllciBhcmUgbm8gbG9uZ2VyIHN1cHBvcnRlZCAoZHVlIHRvIHRoZSBsYWNrIG9mIHVzZXJzIG9yIGRldmVsb3BlcnMpLgpAQCAtNjYsMTkgKzIyOSwzMSBAQAogYEFjdGl2ZVB5dGhvbiA8aHR0cDovL3d3dy5hY3RpdmVzdGF0ZS5jb20vYWN0aXZlcHl0aG9uLz5gXwogICAgIEluc3RhbGxlciB3aXRoIG11bHRpLXBsYXRmb3JtIGNvbXBhdGliaWxpdHksIGRvY3VtZW50YXRpb24sIFB5V2luMzIKIAotYEVudGhvdWdodCBQeXRob24gRGlzdHJpYnV0aW9uIDxodHRwczovL3d3dy5lbnRob3VnaHQuY29tL3Byb2R1Y3RzL2VwZC8+YF8KLSAgICBQb3B1bGFyIG1vZHVsZXMgKHN1Y2ggYXMgUHlXaW4zMikgd2l0aCB0aGVpciByZXNwZWN0aXZlIGRvY3VtZW50YXRpb24sIHRvb2wKLSAgICBzdWl0ZSBmb3IgYnVpbGRpbmcgZXh0ZW5zaWJsZSBQeXRob24gYXBwbGljYXRpb25zCitgQW5hY29uZGEgPGh0dHA6Ly93d3cuY29udGludXVtLmlvL2Rvd25sb2Fkcy8+YF8KKyAgICBQb3B1bGFyIHNjaWVudGlmaWMgbW9kdWxlcyAoc3VjaCBhcyBudW1weSwgc2NpcHkgYW5kIHBhbmRhcykgYW5kIHRoZQorICAgIGBgY29uZGFgYCBwYWNrYWdlIG1hbmFnZXIuCiAKLU5vdGljZSB0aGF0IHRoZXNlIHBhY2thZ2VzIGFyZSBsaWtlbHkgdG8gaW5zdGFsbCAqb2xkZXIqIHZlcnNpb25zIG9mIFB5dGhvbi4KK2BDYW5vcHkgPGh0dHBzOi8vd3d3LmVudGhvdWdodC5jb20vcHJvZHVjdHMvY2Fub3B5Lz5gXworICAgIEEgImNvbXByZWhlbnNpdmUgUHl0aG9uIGFuYWx5c2lzIGVudmlyb25tZW50IiB3aXRoIGVkaXRvcnMgYW5kIG90aGVyCisgICAgZGV2ZWxvcG1lbnQgdG9vbHMuCisKK2BXaW5QeXRob24gPGh0dHBzOi8vd2lucHl0aG9uLmdpdGh1Yi5pby8+YF8KKyAgICBXaW5kb3dzLXNwZWNpZmljIGRpc3RyaWJ1dGlvbiB3aXRoIHByZWJ1aWx0IHNjaWVudGlmaWMgcGFja2FnZXMgYW5kCisgICAgdG9vbHMgZm9yIGJ1aWxkaW5nIHBhY2thZ2VzLgorCitOb3RlIHRoYXQgdGhlc2UgcGFja2FnZXMgbWF5IG5vdCBpbmNsdWRlIHRoZSBsYXRlc3QgdmVyc2lvbnMgb2YgUHl0aG9uIG9yCitvdGhlciBsaWJyYXJpZXMsIGFuZCBhcmUgbm90IG1haW50YWluZWQgb3Igc3VwcG9ydGVkIGJ5IHRoZSBjb3JlIFB5dGhvbiB0ZWFtLgogCiAKIAogQ29uZmlndXJpbmcgUHl0aG9uCiA9PT09PT09PT09PT09PT09PT0KIAotSW4gb3JkZXIgdG8gcnVuIFB5dGhvbiBmbGF3bGVzc2x5LCB5b3UgbWlnaHQgaGF2ZSB0byBjaGFuZ2UgY2VydGFpbiBlbnZpcm9ubWVudAotc2V0dGluZ3MgaW4gV2luZG93cy4KK1RvIHJ1biBQeXRob24gY29udmVuaWVudGx5IGZyb20gYSBjb21tYW5kIHByb21wdCwgeW91IG1pZ2h0IGNvbnNpZGVyIGNoYW5naW5nCitzb21lIGRlZmF1bHQgZW52aXJvbm1lbnQgdmFyaWFibGVzIGluIFdpbmRvd3MuICBXaGlsZSB0aGUgaW5zdGFsbGVyIHByb3ZpZGVzIGFuCitvcHRpb24gdG8gY29uZmlndXJlIHRoZSBQQVRIIGFuZCBQQVRIRVhUIHZhcmlhYmxlcyBmb3IgeW91LCB0aGlzIGlzIG9ubHkKK3JlbGlhYmxlIGZvciBhIHNpbmdsZSwgc3lzdGVtLXdpZGUgaW5zdGFsbGF0aW9uLiAgSWYgeW91IHJlZ3VsYXJseSB1c2UgbXVsdGlwbGUKK3ZlcnNpb25zIG9mIFB5dGhvbiwgY29uc2lkZXIgdXNpbmcgdGhlIDpyZWY6YGxhdW5jaGVyYC4KIAogCiAuLiBfc2V0dGluZy1lbnZ2YXJzOgpAQCAtODYsMTYzICsyNjEsODYgQEAKIEV4Y3Vyc3VzOiBTZXR0aW5nIGVudmlyb25tZW50IHZhcmlhYmxlcwogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLVdpbmRvd3MgaGFzIGEgYnVpbHQtaW4gZGlhbG9nIGZvciBjaGFuZ2luZyBlbnZpcm9ubWVudCB2YXJpYWJsZXMgKGZvbGxvd2luZwotZ3VpZGUgYXBwbGllcyB0byBYUCBjbGFzc2ljYWwgdmlldyk6IFJpZ2h0LWNsaWNrIHRoZSBpY29uIGZvciB5b3VyIG1hY2hpbmUKLSh1c3VhbGx5IGxvY2F0ZWQgb24geW91ciBEZXNrdG9wIGFuZCBjYWxsZWQgIk15IENvbXB1dGVyIikgYW5kIGNob29zZQotOm1lbnVzZWxlY3Rpb246YFByb3BlcnRpZXNgIHRoZXJlLiAgVGhlbiwgb3BlbiB0aGUgOmd1aWxhYmVsOmBBZHZhbmNlZGAgdGFiCi1hbmQgY2xpY2sgdGhlIDpndWlsYWJlbDpgRW52aXJvbm1lbnQgVmFyaWFibGVzYCBidXR0b24uCitXaW5kb3dzIGFsbG93cyBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gYmUgY29uZmlndXJlZCBwZXJtYW5lbnRseSBhdCBib3RoIHRoZQorVXNlciBsZXZlbCBhbmQgdGhlIFN5c3RlbSBsZXZlbCwgb3IgdGVtcG9yYXJpbHkgaW4gYSBjb21tYW5kIHByb21wdC4KIAotSW4gc2hvcnQsIHlvdXIgcGF0aCBpczoKK1RvIHRlbXBvcmFyaWx5IHNldCBlbnZpcm9ubWVudCB2YXJpYWJsZXMsIG9wZW4gQ29tbWFuZCBQcm9tcHQgYW5kIHVzZSB0aGUKKzpjb21tYW5kOmBzZXRgIGNvbW1hbmQ6OgogCi0gICAgOm1lbnVzZWxlY3Rpb246YE15IENvbXB1dGVyCi0gICAgLS0+IFByb3BlcnRpZXMKLSAgICAtLT4gQWR2YW5jZWQKLSAgICAtLT4gRW52aXJvbm1lbnQgVmFyaWFibGVzYAorICAgIEM6XD5zZXQgUEFUSD1DOlxQcm9ncmFtIEZpbGVzXFB5dGhvbiAzLjU7JVBBVEglCisgICAgQzpcPnNldCBQWVRIT05QQVRIPSVQWVRIT05QQVRIJTtDOlxNeV9weXRob25fbGliCisgICAgQzpcPnB5dGhvbgogCitUaGVzZSBjaGFuZ2VzIHdpbGwgYXBwbHkgdG8gYW55IGZ1cnRoZXIgY29tbWFuZHMgZXhlY3V0ZWQgaW4gdGhhdCBjb25zb2xlLCBhbmQKK3dpbGwgYmUgaW5oZXJpdGVkIGJ5IGFueSBhcHBsaWNhdGlvbnMgc3RhcnRlZCBmcm9tIHRoZSBjb25zb2xlLgorCitJbmNsdWRpbmcgdGhlIHZhcmlhYmxlIG5hbWUgd2l0aGluIHBlcmNlbnQgc2lnbnMgd2lsbCBleHBhbmQgdG8gdGhlIGV4aXN0aW5nCit2YWx1ZSwgYWxsb3dpbmcgeW91IHRvIGFkZCB5b3VyIG5ldyB2YWx1ZSBhdCBlaXRoZXIgdGhlIHN0YXJ0IG9yIHRoZSBlbmQuCitNb2RpZnlpbmcgOmVudnZhcjpgUEFUSGAgYnkgYWRkaW5nIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZworOnByb2dyYW06YHB5dGhvbi5leGVgIHRvIHRoZSBzdGFydCBpcyBhIGNvbW1vbiB3YXkgdG8gZW5zdXJlIHRoZSBjb3JyZWN0IHZlcnNpb24KK29mIFB5dGhvbiBpcyBsYXVuY2hlZC4KKworVG8gcGVybWFuZW50bHkgbW9kaWZ5IHRoZSBkZWZhdWx0IGVudmlyb25tZW50IHZhcmlhYmxlcywgY2xpY2sgU3RhcnQgYW5kIHNlYXJjaAorZm9yICdlZGl0IGVudmlyb25tZW50IHZhcmlhYmxlcycsIG9yIG9wZW4gU3lzdGVtIHByb3BlcnRpZXMsIDpndWlsYWJlbDpgQWR2YW5jZWQKK3N5c3RlbSBzZXR0aW5nc2AgYW5kIGNsaWNrIHRoZSA6Z3VpbGFiZWw6YEVudmlyb25tZW50IFZhcmlhYmxlc2AgYnV0dG9uLgogSW4gdGhpcyBkaWFsb2csIHlvdSBjYW4gYWRkIG9yIG1vZGlmeSBVc2VyIGFuZCBTeXN0ZW0gdmFyaWFibGVzLiBUbyBjaGFuZ2UKIFN5c3RlbSB2YXJpYWJsZXMsIHlvdSBuZWVkIG5vbi1yZXN0cmljdGVkIGFjY2VzcyB0byB5b3VyIG1hY2hpbmUKIChpLmUuIEFkbWluaXN0cmF0b3IgcmlnaHRzKS4KIAotQW5vdGhlciB3YXkgb2YgYWRkaW5nIHZhcmlhYmxlcyB0byB5b3VyIGVudmlyb25tZW50IGlzIHVzaW5nIHRoZSA6Y29tbWFuZDpgc2V0YAotY29tbWFuZDo6CisuLiBub3RlOjoKIAotICAgIHNldCBQWVRIT05QQVRIPSVQWVRIT05QQVRIJTtDOlxNeV9weXRob25fbGliCisgICAgV2luZG93cyB3aWxsIGNvbmNhdGVuYXRlIFVzZXIgdmFyaWFibGVzICphZnRlciogU3lzdGVtIHZhcmlhYmxlcywgd2hpY2ggbWF5CisgICAgY2F1c2UgdW5leHBlY3RlZCByZXN1bHRzIHdoZW4gbW9kaWZ5aW5nIDplbnZ2YXI6YFBBVEhgLgogCi1UbyBtYWtlIHRoaXMgc2V0dGluZyBwZXJtYW5lbnQsIHlvdSBjb3VsZCBhZGQgdGhlIGNvcnJlc3BvbmRpbmcgY29tbWFuZCBsaW5lIHRvCi15b3VyIDpmaWxlOmBhdXRvZXhlYy5iYXRgLiA6cHJvZ3JhbTpgbXNjb25maWdgIGlzIGEgZ3JhcGhpY2FsIGludGVyZmFjZSB0byB0aGlzCi1maWxlLgotCi1WaWV3aW5nIGVudmlyb25tZW50IHZhcmlhYmxlcyBjYW4gYWxzbyBiZSBkb25lIG1vcmUgc3RyYWlnaHQtZm9yd2FyZDogVGhlCi1jb21tYW5kIHByb21wdCB3aWxsIGV4cGFuZCBzdHJpbmdzIHdyYXBwZWQgaW50byBwZXJjZW50IHNpZ25zIGF1dG9tYXRpY2FsbHk6OgotCi0gICAgZWNobyAlUEFUSCUKLQotQ29uc3VsdCA6Y29tbWFuZDpgc2V0IC8/YCBmb3IgZGV0YWlscyBvbiB0aGlzIGJlaGF2aW91ci4KKyAgICBUaGUgOmVudnZhcjpgUFlUSE9OUEFUSGAgdmFyaWFibGUgaXMgdXNlZCBieSBhbGwgdmVyc2lvbnMgb2YgUHl0aG9uIDIgYW5kCisgICAgUHl0aG9uIDMsIHNvIHlvdSBzaG91bGQgbm90IHBlcm1hbmVudGx5IGNvbmZpZ3VyZSB0aGlzIHZhcmlhYmxlIHVubGVzcyBpdAorICAgIG9ubHkgaW5jbHVkZXMgY29kZSB0aGF0IGlzIGNvbXBhdGlibGUgYWxsIG9mIHlvdXIgaW5zdGFsbGVkIFB5dGhvbgorICAgIHZlcnNpb25zLgogCiAuLiBzZWVhbHNvOjoKIAotICAgaHR0cDovL3N1cHBvcnQubWljcm9zb2Z0LmNvbS9rYi8xMDA4NDMKKyAgICBodHRwOi8vc3VwcG9ydC5taWNyb3NvZnQuY29tL2tiLzEwMDg0MwogICAgICAgRW52aXJvbm1lbnQgdmFyaWFibGVzIGluIFdpbmRvd3MgTlQKIAotICAgaHR0cDovL3N1cHBvcnQubWljcm9zb2Z0LmNvbS9rYi8zMTA1MTkKKyAgICBodHRwOi8vdGVjaG5ldC5taWNyb3NvZnQuY29tL2VuLXVzL2xpYnJhcnkvY2M3NTQyNTAuYXNweAorICAgICAgVGhlIFNFVCBjb21tYW5kLCBmb3IgdGVtcG9yYXJpbHkgbW9kaWZ5aW5nIGVudmlyb25tZW50IHZhcmlhYmxlcworCisgICAgaHR0cDovL3RlY2huZXQubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L2NjNzU1MTA0LmFzcHgKKyAgICAgIFRoZSBTRVRYIGNvbW1hbmQsIGZvciBwZXJtYW5lbnRseSBtb2RpZnlpbmcgZW52aXJvbm1lbnQgdmFyaWFibGVzCisKKyAgICBodHRwOi8vc3VwcG9ydC5taWNyb3NvZnQuY29tL2tiLzMxMDUxOQogICAgICAgSG93IFRvIE1hbmFnZSBFbnZpcm9ubWVudCBWYXJpYWJsZXMgaW4gV2luZG93cyBYUAogCi0gICBodHRwOi8vd3d3LmNoZW0uZ2xhLmFjLnVrL35sb3Vpcy9zb2Z0d2FyZS9mYXEvcTEuaHRtbAorICAgIGh0dHA6Ly93d3cuY2hlbS5nbGEuYWMudWsvfmxvdWlzL3NvZnR3YXJlL2ZhcS9xMS5odG1sCiAgICAgICBTZXR0aW5nIEVudmlyb25tZW50IHZhcmlhYmxlcywgTG91aXMgSi4gRmFycnVnaWEKIAotCiAuLiBfd2luZG93cy1wYXRoLW1vZDoKIAogRmluZGluZyB0aGUgUHl0aG9uIGV4ZWN1dGFibGUKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLS4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQogCiBCZXNpZGVzIHVzaW5nIHRoZSBhdXRvbWF0aWNhbGx5IGNyZWF0ZWQgc3RhcnQgbWVudSBlbnRyeSBmb3IgdGhlIFB5dGhvbgotaW50ZXJwcmV0ZXIsIHlvdSBtaWdodCB3YW50IHRvIHN0YXJ0IFB5dGhvbiBpbiB0aGUgY29tbWFuZCBwcm9tcHQuIEFzIG9mCi1QeXRob24gMy4zLCB0aGUgaW5zdGFsbGVyIGhhcyBhbiBvcHRpb24gdG8gc2V0IHRoYXQgdXAgZm9yIHlvdS4KK2ludGVycHJldGVyLCB5b3UgbWlnaHQgd2FudCB0byBzdGFydCBQeXRob24gaW4gdGhlIGNvbW1hbmQgcHJvbXB0LiBUaGUKK2luc3RhbGxlciBmb3IgUHl0aG9uIDMuNSBhbmQgbGF0ZXIgaGFzIGFuIG9wdGlvbiB0byBzZXQgdGhhdCB1cCBmb3IgeW91LgogCi1BdCB0aGUgIkN1c3RvbWl6ZSBQeXRob24gMy4zIiBzY3JlZW4sIGFuIG9wdGlvbiBjYWxsZWQKLSJBZGQgcHl0aG9uLmV4ZSB0byBzZWFyY2ggcGF0aCIgY2FuIGJlIGVuYWJsZWQgdG8gaGF2ZSB0aGUgaW5zdGFsbGVyIHBsYWNlCi15b3VyIGluc3RhbGxhdGlvbiBpbnRvIHRoZSA6ZW52dmFyOmAlUEFUSCVgLiBUaGlzIGFsbG93cyB5b3UgdG8gdHlwZQotOmNvbW1hbmQ6YHB5dGhvbmAgdG8gcnVuIHRoZSBpbnRlcnByZXRlci4gVGh1cywgeW91IGNhbiBhbHNvIGV4ZWN1dGUgeW91cgorT24gdGhlIGZpcnN0IHBhZ2Ugb2YgdGhlIGluc3RhbGxlciwgYW4gb3B0aW9uIGxhYmVsbGVkICJBZGQgUHl0aG9uIDMuNSB0bworUEFUSCIgY2FuIGJlIHNlbGVjdGVkIHRvIGhhdmUgdGhlIGluc3RhbGxlciBhZGQgdGhlIGluc3RhbGwgbG9jYXRpb24gaW50byB0aGUKKzplbnZ2YXI6YFBBVEhgLiAgVGhlIGxvY2F0aW9uIG9mIHRoZSA6ZmlsZTpgU2NyaXB0c1xcYCBmb2xkZXIgaXMgYWxzbyBhZGRlZC4KK1RoaXMgYWxsb3dzIHlvdSB0byB0eXBlIDpjb21tYW5kOmBweXRob25gIHRvIHJ1biB0aGUgaW50ZXJwcmV0ZXIsIGFuZAorOmNvbW1hbmQ6YHBpcGAgb3IgLiBUaHVzLCB5b3UgY2FuIGFsc28gZXhlY3V0ZSB5b3VyCiBzY3JpcHRzIHdpdGggY29tbWFuZCBsaW5lIG9wdGlvbnMsIHNlZSA6cmVmOmB1c2luZy1vbi1jbWRsaW5lYCBkb2N1bWVudGF0aW9uLgogCiBJZiB5b3UgZG9uJ3QgZW5hYmxlIHRoaXMgb3B0aW9uIGF0IGluc3RhbGwgdGltZSwgeW91IGNhbiBhbHdheXMgcmUtcnVuIHRoZQotaW5zdGFsbGVyIHRvIGNob29zZSBpdC4KK2luc3RhbGxlciwgc2VsZWN0IE1vZGlmeSwgYW5kIGVuYWJsZSBpdC4gIEFsdGVybmF0aXZlbHksIHlvdSBjYW4gbWFudWFsbHkKK21vZGlmeSB0aGUgOmVudnZhcjpgUEFUSGAgdXNpbmcgdGhlIGRpcmVjdGlvbnMgaW4gOnJlZjpgc2V0dGluZy1lbnZ2YXJzYC4gIFlvdQorbmVlZCB0byBzZXQgeW91ciA6ZW52dmFyOmBQQVRIYCBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byBpbmNsdWRlIHRoZSBkaXJlY3RvcnkKK29mIHlvdXIgUHl0aG9uIGluc3RhbGxhdGlvbiwgZGVsaW1pdGVkIGJ5IGEgc2VtaWNvbG9uIGZyb20gb3RoZXIgZW50cmllcy4gIEFuCitleGFtcGxlIHZhcmlhYmxlIGNvdWxkIGxvb2sgbGlrZSB0aGlzIChhc3N1bWluZyB0aGUgZmlyc3QgdHdvIGVudHJpZXMgYWxyZWFkeQorZXhpc3RlZCk6OgogCi1UaGUgYWx0ZXJuYXRpdmUgaXMgbWFudWFsbHkgbW9kaWZ5aW5nIHRoZSA6ZW52dmFyOmAlUEFUSCVgIHVzaW5nIHRoZQotZGlyZWN0aW9ucyBpbiA6cmVmOmBzZXR0aW5nLWVudnZhcnNgLiBZb3UgbmVlZCB0byBzZXQgeW91ciA6ZW52dmFyOmAlUEFUSCVgCi1lbnZpcm9ubWVudCB2YXJpYWJsZSB0byBpbmNsdWRlIHRoZSBkaXJlY3Rvcnkgb2YgeW91ciBQeXRob24gZGlzdHJpYnV0aW9uLAotZGVsaW1pdGVkIGJ5IGEgc2VtaWNvbG9uIGZyb20gb3RoZXIgZW50cmllcy4gQW4gZXhhbXBsZSB2YXJpYWJsZSBjb3VsZCBsb29rCi1saWtlIHRoaXMgKGFzc3VtaW5nIHRoZSBmaXJzdCB0d28gZW50cmllcyBhcmUgV2luZG93cycgZGVmYXVsdCk6OgotCi0gICAgQzpcV0lORE9XU1xzeXN0ZW0zMjtDOlxXSU5ET1dTO0M6XFB5dGhvbjMzCi0KLQotRmluZGluZyBtb2R1bGVzCi0tLS0tLS0tLS0tLS0tLS0KLQotUHl0aG9uIHVzdWFsbHkgc3RvcmVzIGl0cyBsaWJyYXJ5IChhbmQgdGhlcmVieSB5b3VyIHNpdGUtcGFja2FnZXMgZm9sZGVyKSBpbiB0aGUKLWluc3RhbGxhdGlvbiBkaXJlY3RvcnkuICBTbywgaWYgeW91IGhhZCBpbnN0YWxsZWQgUHl0aG9uIHRvCi06ZmlsZTpgQzpcXFB5dGhvblxcYCwgdGhlIGRlZmF1bHQgbGlicmFyeSB3b3VsZCByZXNpZGUgaW4KLTpmaWxlOmBDOlxcUHl0aG9uXFxMaWJcXGAgYW5kIHRoaXJkLXBhcnR5IG1vZHVsZXMgc2hvdWxkIGJlIHN0b3JlZCBpbgotOmZpbGU6YEM6XFxQeXRob25cXExpYlxcc2l0ZS1wYWNrYWdlc1xcYC4KLQotVGhpcyBpcyBob3cgOmRhdGE6YHN5cy5wYXRoYCBpcyBwb3B1bGF0ZWQgb24gV2luZG93czoKLQotKiBBbiBlbXB0eSBlbnRyeSBpcyBhZGRlZCBhdCB0aGUgc3RhcnQsIHdoaWNoIGNvcnJlc3BvbmRzIHRvIHRoZSBjdXJyZW50Ci0gIGRpcmVjdG9yeS4KLQotKiBJZiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgOmVudnZhcjpgUFlUSE9OUEFUSGAgZXhpc3RzLCBhcyBkZXNjcmliZWQgaW4KLSAgOnJlZjpgdXNpbmctb24tZW52dmFyc2AsIGl0cyBlbnRyaWVzIGFyZSBhZGRlZCBuZXh0LiAgTm90ZSB0aGF0IG9uIFdpbmRvd3MsCi0gIHBhdGhzIGluIHRoaXMgdmFyaWFibGUgbXVzdCBiZSBzZXBhcmF0ZWQgYnkgc2VtaWNvbG9ucywgdG8gZGlzdGluZ3Vpc2ggdGhlbQotICBmcm9tIHRoZSBjb2xvbiB1c2VkIGluIGRyaXZlIGlkZW50aWZpZXJzIChgYEM6XGBgIGV0Yy4pLgotCi0qIEFkZGl0aW9uYWwgImFwcGxpY2F0aW9uIHBhdGhzIiBjYW4gYmUgYWRkZWQgaW4gdGhlIHJlZ2lzdHJ5IGFzIHN1YmtleXMgb2YKLSAgOnNhbXA6YFxcU09GVFdBUkVcXFB5dGhvblxcUHl0aG9uQ29yZVxce3ZlcnNpb259XFxQeXRob25QYXRoYCB1bmRlciBib3RoIHRoZQotICBgYEhLRVlfQ1VSUkVOVF9VU0VSYGAgYW5kIGBgSEtFWV9MT0NBTF9NQUNISU5FYGAgaGl2ZXMuICBTdWJrZXlzIHdoaWNoIGhhdmUKLSAgc2VtaWNvbG9uLWRlbGltaXRlZCBwYXRoIHN0cmluZ3MgYXMgdGhlaXIgZGVmYXVsdCB2YWx1ZSB3aWxsIGNhdXNlIGVhY2ggcGF0aAotICB0byBiZSBhZGRlZCB0byA6ZGF0YTpgc3lzLnBhdGhgLiAgKE5vdGUgdGhhdCBhbGwga25vd24gaW5zdGFsbGVycyBvbmx5IHVzZQotICBIS0xNLCBzbyBIS0NVIGlzIHR5cGljYWxseSBlbXB0eS4pCi0KLSogSWYgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIDplbnZ2YXI6YFBZVEhPTkhPTUVgIGlzIHNldCwgaXQgaXMgYXNzdW1lZCBhcwotICAiUHl0aG9uIEhvbWUiLiAgT3RoZXJ3aXNlLCB0aGUgcGF0aCBvZiB0aGUgbWFpbiBQeXRob24gZXhlY3V0YWJsZSBpcyB1c2VkIHRvCi0gIGxvY2F0ZSBhICJsYW5kbWFyayBmaWxlIiAoYGBMaWJcb3MucHlgYCkgdG8gZGVkdWNlIHRoZSAiUHl0aG9uIEhvbWUiLiAgSWYgYQotICBQeXRob24gaG9tZSBpcyBmb3VuZCwgdGhlIHJlbGV2YW50IHN1Yi1kaXJlY3RvcmllcyBhZGRlZCB0byA6ZGF0YTpgc3lzLnBhdGhgCi0gIChgYExpYmBgLCBgYHBsYXQtd2luYGAsIGV0YykgYXJlIGJhc2VkIG9uIHRoYXQgZm9sZGVyLiAgT3RoZXJ3aXNlLCB0aGUgY29yZQotICBQeXRob24gcGF0aCBpcyBjb25zdHJ1Y3RlZCBmcm9tIHRoZSBQeXRob25QYXRoIHN0b3JlZCBpbiB0aGUgcmVnaXN0cnkuCi0KLSogSWYgdGhlIFB5dGhvbiBIb21lIGNhbm5vdCBiZSBsb2NhdGVkLCBubyA6ZW52dmFyOmBQWVRIT05QQVRIYCBpcyBzcGVjaWZpZWQgaW4KLSAgdGhlIGVudmlyb25tZW50LCBhbmQgbm8gcmVnaXN0cnkgZW50cmllcyBjYW4gYmUgZm91bmQsIGEgZGVmYXVsdCBwYXRoIHdpdGgKLSAgcmVsYXRpdmUgZW50cmllcyBpcyB1c2VkIChlLmcuIGBgLlxMaWI7LlxwbGF0LXdpbmBgLCBldGMpLgotCi1UaGUgZW5kIHJlc3VsdCBvZiBhbGwgdGhpcyBpczoKLQotKiBXaGVuIHJ1bm5pbmcgOmZpbGU6YHB5dGhvbi5leGVgLCBvciBhbnkgb3RoZXIgLmV4ZSBpbiB0aGUgbWFpbiBQeXRob24KLSAgZGlyZWN0b3J5IChlaXRoZXIgYW4gaW5zdGFsbGVkIHZlcnNpb24sIG9yIGRpcmVjdGx5IGZyb20gdGhlIFBDYnVpbGQKLSAgZGlyZWN0b3J5KSwgdGhlIGNvcmUgcGF0aCBpcyBkZWR1Y2VkLCBhbmQgdGhlIGNvcmUgcGF0aHMgaW4gdGhlIHJlZ2lzdHJ5IGFyZQotICBpZ25vcmVkLiAgT3RoZXIgImFwcGxpY2F0aW9uIHBhdGhzIiBpbiB0aGUgcmVnaXN0cnkgYXJlIGFsd2F5cyByZWFkLgotCi0qIFdoZW4gUHl0aG9uIGlzIGhvc3RlZCBpbiBhbm90aGVyIC5leGUgKGRpZmZlcmVudCBkaXJlY3RvcnksIGVtYmVkZGVkIHZpYSBDT00sCi0gIGV0YyksIHRoZSAiUHl0aG9uIEhvbWUiIHdpbGwgbm90IGJlIGRlZHVjZWQsIHNvIHRoZSBjb3JlIHBhdGggZnJvbSB0aGUKLSAgcmVnaXN0cnkgaXMgdXNlZC4gIE90aGVyICJhcHBsaWNhdGlvbiBwYXRocyIgaW4gdGhlIHJlZ2lzdHJ5IGFyZSBhbHdheXMgcmVhZC4KLQotKiBJZiBQeXRob24gY2FuJ3QgZmluZCBpdHMgaG9tZSBhbmQgdGhlcmUgaXMgbm8gcmVnaXN0cnkgKGVnLCBmcm96ZW4gLmV4ZSwgc29tZQotICB2ZXJ5IHN0cmFuZ2UgaW5zdGFsbGF0aW9uIHNldHVwKSB5b3UgZ2V0IGEgcGF0aCB3aXRoIHNvbWUgZGVmYXVsdCwgYnV0Ci0gIHJlbGF0aXZlLCBwYXRocy4KLQotCi1FeGVjdXRpbmcgc2NyaXB0cwotLS0tLS0tLS0tLS0tLS0tLS0KLQotQXMgb2YgUHl0aG9uIDMuMywgUHl0aG9uIGluY2x1ZGVzIGEgbGF1bmNoZXIgd2hpY2ggZmFjaWxpdGF0ZXMgcnVubmluZyBQeXRob24KLXNjcmlwdHMuIFNlZSA6cmVmOmBsYXVuY2hlcmAgZm9yIG1vcmUgaW5mb3JtYXRpb24uCi0KLUV4ZWN1dGluZyBzY3JpcHRzIHdpdGhvdXQgdGhlIFB5dGhvbiBsYXVuY2hlcgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLVdpdGhvdXQgdGhlIFB5dGhvbiBsYXVuY2hlciBpbnN0YWxsZWQsIFB5dGhvbiBzY3JpcHRzIChmaWxlcyB3aXRoIHRoZSBleHRlbnNpb24KLWBgLnB5YGApIHdpbGwgYmUgZXhlY3V0ZWQgYnkgOnByb2dyYW06YHB5dGhvbi5leGVgIGJ5IGRlZmF1bHQuICBUaGlzIGV4ZWN1dGFibGUKLW9wZW5zIGEgdGVybWluYWwsIHdoaWNoIHN0YXlzIG9wZW4gZXZlbiBpZiB0aGUgcHJvZ3JhbSB1c2VzIGEgR1VJLiAgSWYgeW91IGRvCi1ub3Qgd2FudCB0aGlzIHRvIGhhcHBlbiwgdXNlIHRoZSBleHRlbnNpb24gYGAucHl3YGAgd2hpY2ggd2lsbCBjYXVzZSB0aGUgc2NyaXB0Ci10byBiZSBleGVjdXRlZCBieSA6cHJvZ3JhbTpgcHl0aG9udy5leGVgIGJ5IGRlZmF1bHQgKGJvdGggZXhlY3V0YWJsZXMgYXJlCi1sb2NhdGVkIGluIHRoZSB0b3AtbGV2ZWwgb2YgeW91ciBQeXRob24gaW5zdGFsbGF0aW9uIGRpcmVjdG9yeSkuICBUaGlzCi1zdXBwcmVzc2VzIHRoZSB0ZXJtaW5hbCB3aW5kb3cgb24gc3RhcnR1cC4KLQotWW91IGNhbiBhbHNvIG1ha2UgYWxsIGBgLnB5YGAgc2NyaXB0cyBleGVjdXRlIHdpdGggOnByb2dyYW06YHB5dGhvbncuZXhlYCwKLXNldHRpbmcgdGhpcyB0aHJvdWdoIHRoZSB1c3VhbCBmYWNpbGl0aWVzLCBmb3IgZXhhbXBsZSAobWlnaHQgcmVxdWlyZQotYWRtaW5pc3RyYXRpdmUgcmlnaHRzKToKLQotIy4gTGF1bmNoIGEgY29tbWFuZCBwcm9tcHQuCi0jLiBBc3NvY2lhdGUgdGhlIGNvcnJlY3QgZmlsZSBncm91cCB3aXRoIGBgLnB5YGAgc2NyaXB0czo6Ci0KLSAgICAgIGFzc29jIC5weT1QeXRob24uRmlsZQotCi0jLiBSZWRpcmVjdCBhbGwgUHl0aG9uIGZpbGVzIHRvIHRoZSBuZXcgZXhlY3V0YWJsZTo6Ci0KLSAgICAgIGZ0eXBlIFB5dGhvbi5GaWxlPUM6XFBhdGhcdG9ccHl0aG9udy5leGUgIiUxIiAlKgotCisgICAgQzpcV0lORE9XU1xzeXN0ZW0zMjtDOlxXSU5ET1dTO0M6XFByb2dyYW0gRmlsZXNcUHl0aG9uIDMuNQogCiAuLiBfbGF1bmNoZXI6CiAKQEAgLTI1MSwyMSArMzQ5LDI2IEBACiAKIC4uIHZlcnNpb25hZGRlZDo6IDMuMwogCi1UaGUgUHl0aG9uIGxhdW5jaGVyIGZvciBXaW5kb3dzIGlzIGEgdXRpbGl0eSB3aGljaCBhaWRzIGluIHRoZSBsb2NhdGlvbiBhbmQKLWV4ZWN1dGlvbiBvZiBkaWZmZXJlbnQgUHl0aG9uIHZlcnNpb25zLiAgSXQgYWxsb3dzIHNjcmlwdHMgKG9yIHRoZQorVGhlIFB5dGhvbiBsYXVuY2hlciBmb3IgV2luZG93cyBpcyBhIHV0aWxpdHkgd2hpY2ggYWlkcyBpbiBsb2NhdGluZyBhbmQKK2V4ZWN1dGluZyBvZiBkaWZmZXJlbnQgUHl0aG9uIHZlcnNpb25zLiAgSXQgYWxsb3dzIHNjcmlwdHMgKG9yIHRoZQogY29tbWFuZC1saW5lKSB0byBpbmRpY2F0ZSBhIHByZWZlcmVuY2UgZm9yIGEgc3BlY2lmaWMgUHl0aG9uIHZlcnNpb24sIGFuZAogd2lsbCBsb2NhdGUgYW5kIGV4ZWN1dGUgdGhhdCB2ZXJzaW9uLgogCitVbmxpa2UgdGhlIDplbnZ2YXI6YFBBVEhgIHZhcmlhYmxlLCB0aGUgbGF1bmNoZXIgd2lsbCBjb3JyZWN0bHkgc2VsZWN0IHRoZSBtb3N0CithcHByb3ByaWF0ZSB2ZXJzaW9uIG9mIFB5dGhvbi4gSXQgd2lsbCBwcmVmZXIgcGVyLXVzZXIgaW5zdGFsbGF0aW9ucyBvdmVyCitzeXN0ZW0td2lkZSBvbmVzLCBhbmQgb3JkZXJzIGJ5IGxhbmd1YWdlIHZlcnNpb24gcmF0aGVyIHRoYW4gdXNpbmcgdGhlIG1vc3QKK3JlY2VudGx5IGluc3RhbGxlZCB2ZXJzaW9uLgorCiBHZXR0aW5nIHN0YXJ0ZWQKIC0tLS0tLS0tLS0tLS0tLQogCiBGcm9tIHRoZSBjb21tYW5kLWxpbmUKIF5eXl5eXl5eXl5eXl5eXl5eXl5eXgogCi1Zb3Ugc2hvdWxkIGVuc3VyZSB0aGUgbGF1bmNoZXIgaXMgb24geW91ciBQQVRIIC0gZGVwZW5kaW5nIG9uIGhvdyBpdCB3YXMKLWluc3RhbGxlZCBpdCBtYXkgYWxyZWFkeSBiZSB0aGVyZSwgYnV0IGNoZWNrIGp1c3QgaW4gY2FzZSBpdCBpcyBub3QuCi0KLUZyb20gYSBjb21tYW5kLXByb21wdCwgZXhlY3V0ZSB0aGUgZm9sbG93aW5nIGNvbW1hbmQ6CitTeXN0ZW0td2lkZSBpbnN0YWxsYXRpb25zIG9mIFB5dGhvbiAzLjMgYW5kIGxhdGVyIHdpbGwgcHV0IHRoZSBsYXVuY2hlciBvbiB5b3VyCis6ZW52dmFyOmBQQVRIYC4gVGhlIGxhdW5jaGVyIGlzIGNvbXBhdGlibGUgd2l0aCBhbGwgYXZhaWxhYmxlIHZlcnNpb25zIG9mCitQeXRob24sIHNvIGl0IGRvZXMgbm90IG1hdHRlciB3aGljaCB2ZXJzaW9uIGlzIGluc3RhbGxlZC4gVG8gY2hlY2sgdGhhdCB0aGUKK2xhdW5jaGVyIGlzIGF2YWlsYWJsZSwgZXhlY3V0ZSB0aGUgZm9sbG93aW5nIGNvbW1hbmQgaW4gQ29tbWFuZCBQcm9tcHQ6CiAKIDo6CiAKQEAgLTI5MSw2ICszOTQsMTYgQEAKIAogWW91IHNob3VsZCBmaW5kIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiBQeXRob24gMy54IHN0YXJ0cy4KIAorSWYgeW91IHNlZSB0aGUgZm9sbG93aW5nIGVycm9yLCB5b3UgZG8gbm90IGhhdmUgdGhlIGxhdW5jaGVyIGluc3RhbGxlZDoKKworOjoKKworICAncHknIGlzIG5vdCByZWNvZ25pemVkIGFzIGFuIGludGVybmFsIG9yIGV4dGVybmFsIGNvbW1hbmQsCisgIG9wZXJhYmxlIHByb2dyYW0gb3IgYmF0Y2ggZmlsZS4KKworUGVyLXVzZXIgaW5zdGFsbGF0aW9ucyBvZiBQeXRob24gZG8gbm90IGFkZCB0aGUgbGF1bmNoZXIgdG8gOmVudnZhcjpgUEFUSGAKK3VubGVzcyB0aGUgb3B0aW9uIHdhcyBzZWxlY3RlZCBvbiBpbnN0YWxsYXRpb24uCisKIEZyb20gYSBzY3JpcHQKIF5eXl5eXl5eXl5eXl4KIApAQCAtMzgzLDE3ICs0OTYsMTYgQEAKIEN1c3RvbWl6YXRpb24gdmlhIElOSSBmaWxlcwogXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eCiAKLSAgICBUd28gLmluaSBmaWxlcyB3aWxsIGJlIHNlYXJjaGVkIGJ5IHRoZSBsYXVuY2hlciAtIGBgcHkuaW5pYGAgaW4gdGhlCi0gICAgY3VycmVudCB1c2VyJ3MgImFwcGxpY2F0aW9uIGRhdGEiIGRpcmVjdG9yeSAoaS5lLiB0aGUgZGlyZWN0b3J5IHJldHVybmVkCi0gICAgYnkgY2FsbGluZyB0aGUgV2luZG93cyBmdW5jdGlvbiBTSEdldEZvbGRlclBhdGggd2l0aCBDU0lETF9MT0NBTF9BUFBEQVRBKQotICAgIGFuZCBgYHB5LmluaWBgIGluIHRoZSBzYW1lIGRpcmVjdG9yeSBhcyB0aGUgbGF1bmNoZXIuICBUaGUgc2FtZSAuaW5pCi0gICAgZmlsZXMgYXJlIHVzZWQgZm9yIGJvdGggdGhlICdjb25zb2xlJyB2ZXJzaW9uIG9mIHRoZSBsYXVuY2hlciAoaS5lLgotICAgIHB5LmV4ZSkgYW5kIGZvciB0aGUgJ3dpbmRvd3MnIHZlcnNpb24gKGkuZS4gcHl3LmV4ZSkKK1R3byAuaW5pIGZpbGVzIHdpbGwgYmUgc2VhcmNoZWQgYnkgdGhlIGxhdW5jaGVyIC0gYGBweS5pbmlgYCBpbiB0aGUgY3VycmVudAordXNlcidzICJhcHBsaWNhdGlvbiBkYXRhIiBkaXJlY3RvcnkgKGkuZS4gdGhlIGRpcmVjdG9yeSByZXR1cm5lZCBieSBjYWxsaW5nIHRoZQorV2luZG93cyBmdW5jdGlvbiBTSEdldEZvbGRlclBhdGggd2l0aCBDU0lETF9MT0NBTF9BUFBEQVRBKSBhbmQgYGBweS5pbmlgYCBpbiB0aGUKK3NhbWUgZGlyZWN0b3J5IGFzIHRoZSBsYXVuY2hlci4gVGhlIHNhbWUgLmluaSBmaWxlcyBhcmUgdXNlZCBmb3IgYm90aCB0aGUKKydjb25zb2xlJyB2ZXJzaW9uIG9mIHRoZSBsYXVuY2hlciAoaS5lLiBweS5leGUpIGFuZCBmb3IgdGhlICd3aW5kb3dzJyB2ZXJzaW9uCisoaS5lLiBweXcuZXhlKQogCi0gICAgQ3VzdG9taXphdGlvbiBzcGVjaWZpZWQgaW4gdGhlICJhcHBsaWNhdGlvbiBkaXJlY3RvcnkiIHdpbGwgaGF2ZQotICAgIHByZWNlZGVuY2Ugb3ZlciB0aGUgb25lIG5leHQgdG8gdGhlIGV4ZWN1dGFibGUsIHNvIGEgdXNlciwgd2hvIG1heSBub3QKLSAgICBoYXZlIHdyaXRlIGFjY2VzcyB0byB0aGUgLmluaSBmaWxlIG5leHQgdG8gdGhlIGxhdW5jaGVyLCBjYW4gb3ZlcnJpZGUKLSAgICBjb21tYW5kcyBpbiB0aGF0IGdsb2JhbCAuaW5pIGZpbGUpCitDdXN0b21pemF0aW9uIHNwZWNpZmllZCBpbiB0aGUgImFwcGxpY2F0aW9uIGRpcmVjdG9yeSIgd2lsbCBoYXZlIHByZWNlZGVuY2Ugb3ZlcgordGhlIG9uZSBuZXh0IHRvIHRoZSBleGVjdXRhYmxlLCBzbyBhIHVzZXIsIHdobyBtYXkgbm90IGhhdmUgd3JpdGUgYWNjZXNzIHRvIHRoZQorLmluaSBmaWxlIG5leHQgdG8gdGhlIGxhdW5jaGVyLCBjYW4gb3ZlcnJpZGUgY29tbWFuZHMgaW4gdGhhdCBnbG9iYWwgLmluaSBmaWxlKQogCiBDdXN0b21pemluZyBkZWZhdWx0IFB5dGhvbiB2ZXJzaW9ucwogXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl4KQEAgLTQ4OCw2ICs2MDAsNzggQEAKIHRhcmdldCBQeXRob24uCiAKIAorCitGaW5kaW5nIG1vZHVsZXMKKz09PT09PT09PT09PT09PQorCitQeXRob24gdXN1YWxseSBzdG9yZXMgaXRzIGxpYnJhcnkgKGFuZCB0aGVyZWJ5IHlvdXIgc2l0ZS1wYWNrYWdlcyBmb2xkZXIpIGluIHRoZQoraW5zdGFsbGF0aW9uIGRpcmVjdG9yeS4gIFNvLCBpZiB5b3UgaGFkIGluc3RhbGxlZCBQeXRob24gdG8KKzpmaWxlOmBDOlxcUHl0aG9uXFxgLCB0aGUgZGVmYXVsdCBsaWJyYXJ5IHdvdWxkIHJlc2lkZSBpbgorOmZpbGU6YEM6XFxQeXRob25cXExpYlxcYCBhbmQgdGhpcmQtcGFydHkgbW9kdWxlcyBzaG91bGQgYmUgc3RvcmVkIGluCis6ZmlsZTpgQzpcXFB5dGhvblxcTGliXFxzaXRlLXBhY2thZ2VzXFxgLgorCitUaGlzIGlzIGhvdyA6ZGF0YTpgc3lzLnBhdGhgIGlzIHBvcHVsYXRlZCBvbiBXaW5kb3dzOgorCisqIEFuIGVtcHR5IGVudHJ5IGlzIGFkZGVkIGF0IHRoZSBzdGFydCwgd2hpY2ggY29ycmVzcG9uZHMgdG8gdGhlIGN1cnJlbnQKKyAgZGlyZWN0b3J5LgorCisqIElmIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSA6ZW52dmFyOmBQWVRIT05QQVRIYCBleGlzdHMsIGFzIGRlc2NyaWJlZCBpbgorICA6cmVmOmB1c2luZy1vbi1lbnZ2YXJzYCwgaXRzIGVudHJpZXMgYXJlIGFkZGVkIG5leHQuICBOb3RlIHRoYXQgb24gV2luZG93cywKKyAgcGF0aHMgaW4gdGhpcyB2YXJpYWJsZSBtdXN0IGJlIHNlcGFyYXRlZCBieSBzZW1pY29sb25zLCB0byBkaXN0aW5ndWlzaCB0aGVtCisgIGZyb20gdGhlIGNvbG9uIHVzZWQgaW4gZHJpdmUgaWRlbnRpZmllcnMgKGBgQzpcYGAgZXRjLikuCisKKyogQWRkaXRpb25hbCAiYXBwbGljYXRpb24gcGF0aHMiIGNhbiBiZSBhZGRlZCBpbiB0aGUgcmVnaXN0cnkgYXMgc3Via2V5cyBvZgorICA6c2FtcDpgXFxTT0ZUV0FSRVxcUHl0aG9uXFxQeXRob25Db3JlXFx7dmVyc2lvbn1cXFB5dGhvblBhdGhgIHVuZGVyIGJvdGggdGhlCisgIGBgSEtFWV9DVVJSRU5UX1VTRVJgYCBhbmQgYGBIS0VZX0xPQ0FMX01BQ0hJTkVgYCBoaXZlcy4gIFN1YmtleXMgd2hpY2ggaGF2ZQorICBzZW1pY29sb24tZGVsaW1pdGVkIHBhdGggc3RyaW5ncyBhcyB0aGVpciBkZWZhdWx0IHZhbHVlIHdpbGwgY2F1c2UgZWFjaCBwYXRoCisgIHRvIGJlIGFkZGVkIHRvIDpkYXRhOmBzeXMucGF0aGAuICAoTm90ZSB0aGF0IGFsbCBrbm93biBpbnN0YWxsZXJzIG9ubHkgdXNlCisgIEhLTE0sIHNvIEhLQ1UgaXMgdHlwaWNhbGx5IGVtcHR5LikKKworKiBJZiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgOmVudnZhcjpgUFlUSE9OSE9NRWAgaXMgc2V0LCBpdCBpcyBhc3N1bWVkIGFzCisgICJQeXRob24gSG9tZSIuICBPdGhlcndpc2UsIHRoZSBwYXRoIG9mIHRoZSBtYWluIFB5dGhvbiBleGVjdXRhYmxlIGlzIHVzZWQgdG8KKyAgbG9jYXRlIGEgImxhbmRtYXJrIGZpbGUiIChgYExpYlxvcy5weWBgKSB0byBkZWR1Y2UgdGhlICJQeXRob24gSG9tZSIuICBJZiBhCisgIFB5dGhvbiBob21lIGlzIGZvdW5kLCB0aGUgcmVsZXZhbnQgc3ViLWRpcmVjdG9yaWVzIGFkZGVkIHRvIDpkYXRhOmBzeXMucGF0aGAKKyAgKGBgTGliYGAsIGBgcGxhdC13aW5gYCwgZXRjKSBhcmUgYmFzZWQgb24gdGhhdCBmb2xkZXIuICBPdGhlcndpc2UsIHRoZSBjb3JlCisgIFB5dGhvbiBwYXRoIGlzIGNvbnN0cnVjdGVkIGZyb20gdGhlIFB5dGhvblBhdGggc3RvcmVkIGluIHRoZSByZWdpc3RyeS4KKworKiBJZiB0aGUgUHl0aG9uIEhvbWUgY2Fubm90IGJlIGxvY2F0ZWQsIG5vIDplbnZ2YXI6YFBZVEhPTlBBVEhgIGlzIHNwZWNpZmllZCBpbgorICB0aGUgZW52aXJvbm1lbnQsIGFuZCBubyByZWdpc3RyeSBlbnRyaWVzIGNhbiBiZSBmb3VuZCwgYSBkZWZhdWx0IHBhdGggd2l0aAorICByZWxhdGl2ZSBlbnRyaWVzIGlzIHVzZWQgKGUuZy4gYGAuXExpYjsuXHBsYXQtd2luYGAsIGV0YykuCisKK1RoZSBlbmQgcmVzdWx0IG9mIGFsbCB0aGlzIGlzOgorCisqIFdoZW4gcnVubmluZyA6ZmlsZTpgcHl0aG9uLmV4ZWAsIG9yIGFueSBvdGhlciAuZXhlIGluIHRoZSBtYWluIFB5dGhvbgorICBkaXJlY3RvcnkgKGVpdGhlciBhbiBpbnN0YWxsZWQgdmVyc2lvbiwgb3IgZGlyZWN0bHkgZnJvbSB0aGUgUENidWlsZAorICBkaXJlY3RvcnkpLCB0aGUgY29yZSBwYXRoIGlzIGRlZHVjZWQsIGFuZCB0aGUgY29yZSBwYXRocyBpbiB0aGUgcmVnaXN0cnkgYXJlCisgIGlnbm9yZWQuICBPdGhlciAiYXBwbGljYXRpb24gcGF0aHMiIGluIHRoZSByZWdpc3RyeSBhcmUgYWx3YXlzIHJlYWQuCisKKyogV2hlbiBQeXRob24gaXMgaG9zdGVkIGluIGFub3RoZXIgLmV4ZSAoZGlmZmVyZW50IGRpcmVjdG9yeSwgZW1iZWRkZWQgdmlhIENPTSwKKyAgZXRjKSwgdGhlICJQeXRob24gSG9tZSIgd2lsbCBub3QgYmUgZGVkdWNlZCwgc28gdGhlIGNvcmUgcGF0aCBmcm9tIHRoZQorICByZWdpc3RyeSBpcyB1c2VkLiAgT3RoZXIgImFwcGxpY2F0aW9uIHBhdGhzIiBpbiB0aGUgcmVnaXN0cnkgYXJlIGFsd2F5cyByZWFkLgorCisqIElmIFB5dGhvbiBjYW4ndCBmaW5kIGl0cyBob21lIGFuZCB0aGVyZSBpcyBubyByZWdpc3RyeSAoZWcsIGZyb3plbiAuZXhlLCBzb21lCisgIHZlcnkgc3RyYW5nZSBpbnN0YWxsYXRpb24gc2V0dXApIHlvdSBnZXQgYSBwYXRoIHdpdGggc29tZSBkZWZhdWx0LCBidXQKKyAgcmVsYXRpdmUsIHBhdGhzLgorCitGb3IgdGhvc2Ugd2hvIHdhbnQgdG8gYnVuZGxlIFB5dGhvbiBpbnRvIHRoZWlyIGFwcGxpY2F0aW9uIG9yIGRpc3RyaWJ1dGlvbiwgdGhlCitmb2xsb3dpbmcgYWR2aWNlIHdpbGwgcHJldmVudCBjb25mbGljdHMgd2l0aCBvdGhlciBpbnN0YWxsYXRpb25zOgorCisqIElmIHlvdSBhcmUgbG9hZGluZyA6ZmlsZTpgcHl0aG9uMy5kbGxgIG9yIDpmaWxlOmBweXRob24zNS5kbGxgIGluIHlvdXIgb3duCisgIGV4ZWN1dGFibGUsIGV4cGxpY2l0bHkgY2FsbCA6YzpmdW5jOmBQeV9TZXRQYXRoYCBvciAoYXQgbGVhc3QpCisgIDpjOmZ1bmM6YFB5X1NldFByb2dyYW1OYW1lYCBiZWZvcmUgOmM6ZnVuYzpgUHlfSW5pdGlhbGl6ZWAuCisKKyogQ2xlYXIgYW5kL29yIG92ZXJ3cml0ZSA6ZW52dmFyOmBQWVRIT05QQVRIYCBhbmQgc2V0IDplbnZ2YXI6YFBZVEhPTkhPTUVgCisgIGJlZm9yZSBsYXVuY2hpbmcgOmZpbGU6YHB5dGhvbi5leGVgIGZyb20geW91ciBhcHBsaWNhdGlvbi4KKworKiBJZiB5b3UgY2Fubm90IHVzZSB0aGUgcHJldmlvdXMgc3VnZ2VzdGlvbnMgKGZvciBleGFtcGxlLCB5b3UgYXJlIGEKKyAgZGlzdHJpYnV0aW9uIHRoYXQgYWxsb3dzIHBlb3BsZSB0byBydW4gOmZpbGU6YHB5dGhvbi5leGVgIGRpcmVjdGx5KSwgZW5zdXJlCisgIHRoYXQgdGhlIGxhbmRtYXJrIGZpbGUgKDpmaWxlOmBMaWJcXG9zLnB5YCkgZXhpc3RzIGluIHlvdXIgYnVuZGxlZCBsaWJyYXJ5LgorICAoTm90ZSB0aGF0IGl0IHdpbGwgbm90IGJlIGRldGVjdGVkIGluc2lkZSBhIFpJUCBmaWxlLikKKworVGhlc2Ugd2lsbCBlbnN1cmUgdGhhdCB0aGUgZmlsZXMgaW4gYSBzeXN0ZW0td2lkZSBpbnN0YWxsYXRpb24gd2lsbCBub3QgdGFrZQorcHJlY2VkZW5jZSBvdmVyIHRoZSBjb3B5IG9mIHRoZSBzdGFuZGFyZCBsaWJyYXJ5IGJ1bmRsZWQgd2l0aCB5b3VyIGFwcGxpY2F0aW9uLgorT3RoZXJ3aXNlLCB5b3VyIHVzZXJzIG1heSBleHBlcmllbmNlIHByb2JsZW1zIHVzaW5nIHlvdXIgYXBwbGljYXRpb24uCisKIEFkZGl0aW9uYWwgbW9kdWxlcwogPT09PT09PT09PT09PT09PT09CiAKQEAgLTQ5OCw3ICs2ODIsNiBAQAogVGhlIFdpbmRvd3Mtc3BlY2lmaWMgc3RhbmRhcmQgbW9kdWxlcyBhcmUgZG9jdW1lbnRlZCBpbgogOnJlZjpgbXN3aW4tc3BlY2lmaWMtc2VydmljZXNgLgogCi0KIFB5V2luMzIKIC0tLS0tLS0KIApAQCAtNTU3LDIwICs3NDAsOCBAQAogPGh0dHBzOi8vZG9jcy5weXRob24ub3JnL2Rldmd1aWRlL3NldHVwLmh0bWwjZ2V0dGluZy10aGUtc291cmNlLWNvZGU+YF8uCiAKIFRoZSBzb3VyY2UgdHJlZSBjb250YWlucyBhIGJ1aWxkIHNvbHV0aW9uIGFuZCBwcm9qZWN0IGZpbGVzIGZvciBNaWNyb3NvZnQKLVZpc3VhbCBDKyssIHdoaWNoIGlzIHRoZSBjb21waWxlciB1c2VkIHRvIGJ1aWxkIHRoZSBvZmZpY2lhbCBQeXRob24gcmVsZWFzZXMuCi1WaWV3IHRoZSA6ZmlsZTpgcmVhZG1lLnR4dGAgaW4gdGhlaXIgcmVzcGVjdGl2ZSBkaXJlY3RvcmllczoKLQotKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCBEaXJlY3RvcnkgICAgICAgICAgfCBNU1ZDIHZlcnNpb24gfCBWaXN1YWwgU3R1ZGlvIHZlcnNpb24gfAotKz09PT09PT09PT09PT09PT09PT09Kz09PT09PT09PT09PT09Kz09PT09PT09PT09PT09PT09PT09PT09KwotfCA6ZmlsZTpgUEMvVlM5LjAvYCAgfCA5LjAgICAgICAgICAgfCAyMDA4ICAgICAgICAgICAgICAgICAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCA6ZmlsZTpgUENidWlsZC9gICAgfCAxMC4wICAgICAgICAgfCAyMDEwICAgICAgICAgICAgICAgICAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotCi1Ob3RlIHRoYXQgYW55IGJ1aWxkIGRpcmVjdG9yaWVzIHdpdGhpbiB0aGUgOmZpbGU6YFBDYCBkaXJlY3RvcnkgYXJlIG5vdAotbmVjZXNzYXJpbHkgZnVsbHkgc3VwcG9ydGVkLiAgVGhlIDpmaWxlOmBQQ2J1aWxkYCBkaXJlY3RvcnkgY29udGFpbnMgdGhlIGZpbGVzCi1mb3IgdGhlIGNvbXBpbGVyIHVzZWQgdG8gYnVpbGQgdGhlIG9mZmljaWFsIHJlbGVhc2UuCitWaXN1YWwgU3R1ZGlvIDIwMTUsIHdoaWNoIGlzIHRoZSBjb21waWxlciB1c2VkIHRvIGJ1aWxkIHRoZSBvZmZpY2lhbCBQeXRob24KK3JlbGVhc2VzLiBUaGVzZSBmaWxlcyBhcmUgaW4gdGhlIDpmaWxlOmBQQ2J1aWxkYCBkaXJlY3RvcnkuCiAKIENoZWNrIDpmaWxlOmBQQ2J1aWxkL3JlYWRtZS50eHRgIGZvciBnZW5lcmFsIGluZm9ybWF0aW9uIG9uIHRoZSBidWlsZCBwcm9jZXNzLgogCmRpZmYgLS1naXQgYS9Eb2Mvd2hhdHNuZXcvMi4xLnJzdCBiL0RvYy93aGF0c25ldy8yLjEucnN0CmluZGV4IDUwNThiZjEuLmZmMTU2NjIgMTAwNjQ0Ci0tLSBhL0RvYy93aGF0c25ldy8yLjEucnN0CisrKyBiL0RvYy93aGF0c25ldy8yLjEucnN0CkBAIC0yMTksNyArMjE5LDcgQEAKIAogLi4gc2VlYWxzbzo6CiAKLSAgIDpwZXA6YDIwN2AgLSBSaWNoIENvbXBhcmlzaW9ucworICAgOnBlcDpgMjA3YCAtIFJpY2ggQ29tcGFyaXNvbnMKICAgICAgIFdyaXR0ZW4gYnkgR3VpZG8gdmFuIFJvc3N1bSwgaGVhdmlseSBiYXNlZCBvbiBlYXJsaWVyIHdvcmsgYnkgRGF2aWQgQXNjaGVyLCBhbmQKICAgICAgIGltcGxlbWVudGVkIGJ5IEd1aWRvIHZhbiBSb3NzdW0uCiAKZGlmZiAtLWdpdCBhL0RvYy93aGF0c25ldy8zLjMucnN0IGIvRG9jL3doYXRzbmV3LzMuMy5yc3QKaW5kZXggMWZkYjM2NS4uMWQ0Y2U3MiAxMDA2NDQKLS0tIGEvRG9jL3doYXRzbmV3LzMuMy5yc3QKKysrIGIvRG9jL3doYXRzbmV3LzMuMy5yc3QKQEAgLTE1NzksNyArMTU3OSw3IEBACiAgIGF2b2lkIHJhY2UgY29uZGl0aW9ucyBpbiBtdWx0aS10aHJlYWRlZCBwcm9ncmFtcy4KIAogKiBUaGUgOm1vZDpgb3NgIG1vZHVsZSBoYXMgYSBuZXcgOmZ1bmM6YH5vcy5zZW5kZmlsZWAgZnVuY3Rpb24gd2hpY2ggcHJvdmlkZXMKLSAgYW4gZWZmaWNlbnQgInplcm8tY29weSIgd2F5IGZvciBjb3B5aW5nIGRhdGEgZnJvbSBvbmUgZmlsZSAob3Igc29ja2V0KQorICBhbiBlZmZpY2llbnQgInplcm8tY29weSIgd2F5IGZvciBjb3B5aW5nIGRhdGEgZnJvbSBvbmUgZmlsZSAob3Igc29ja2V0KQogICBkZXNjcmlwdG9yIHRvIGFub3RoZXIuIFRoZSBwaHJhc2UgInplcm8tY29weSIgcmVmZXJzIHRvIHRoZSBmYWN0IHRoYXQgYWxsIG9mCiAgIHRoZSBjb3B5aW5nIG9mIGRhdGEgYmV0d2VlbiB0aGUgdHdvIGRlc2NyaXB0b3JzIGlzIGRvbmUgZW50aXJlbHkgYnkgdGhlCiAgIGtlcm5lbCwgd2l0aCBubyBjb3B5aW5nIG9mIGRhdGEgaW50byB1c2Vyc3BhY2UgYnVmZmVycy4gOmZ1bmM6YH5vcy5zZW5kZmlsZWAKQEAgLTE5MDgsNyArMTkwOCw3IEBACiA6bWV0aDpgfnNvY2tldHNlcnZlci5CYXNlU2VydmVyLnNlcnZpY2VfYWN0aW9uc2AgdGhhdCBpcyBjYWxsZWQgYnkgdGhlCiA6bWV0aDpgfnNvY2tldHNlcnZlci5CYXNlU2VydmVyLnNlcnZlX2ZvcmV2ZXJgIG1ldGhvZCBpbiB0aGUgc2VydmljZSBsb29wLgogOmNsYXNzOmB+c29ja2V0c2VydmVyLkZvcmtpbmdNaXhJbmAgbm93IHVzZXMgdGhpcyB0byBjbGVhbiB1cCB6b21iaWUKLWNoaWxkIHByb2Nlc2VzLiAgKENvbnRyaWJ1dGVkIGJ5IEp1c3RpbiBXYXJrZW50aW4gaW4gOmlzc3VlOmAxMTEwOWAuKQorY2hpbGQgcHJvY2Vzc2VzLiAgKENvbnRyaWJ1dGVkIGJ5IEp1c3RpbiBXYXJrZW50aW4gaW4gOmlzc3VlOmAxMTEwOWAuKQogCiAKIHNxbGl0ZTMKQEAgLTIzNjAsNyArMjM2MCw3IEBACiAgIGJ5dGVjb2RlIGZpbGUsIG1ha2Ugc3VyZSB0byBjYWxsIDpmdW5jOmBpbXBvcnRsaWIuaW52YWxpZGF0ZV9jYWNoZXNgIHRvIGNsZWFyCiAgIG91dCB0aGUgY2FjaGUgZm9yIHRoZSBmaW5kZXJzIHRvIG5vdGljZSB0aGUgbmV3IGZpbGUuCiAKLSogOmV4YzpgSW1wb3J0RXJyb3JgIG5vdyB1c2VzIHRoZSBmdWxsIG5hbWUgb2YgdGhlIG1vZHVsZSB0aGF0IHdhcyBhdHRlbXBlZCB0bworKiA6ZXhjOmBJbXBvcnRFcnJvcmAgbm93IHVzZXMgdGhlIGZ1bGwgbmFtZSBvZiB0aGUgbW9kdWxlIHRoYXQgd2FzIGF0dGVtcHRlZCB0bwogICBiZSBpbXBvcnRlZC4gRG9jdGVzdHMgdGhhdCBjaGVjayBJbXBvcnRFcnJvcnMnIG1lc3NhZ2Ugd2lsbCBuZWVkIHRvIGJlCiAgIHVwZGF0ZWQgdG8gdXNlIHRoZSBmdWxsIG5hbWUgb2YgdGhlIG1vZHVsZSBpbnN0ZWFkIG9mIGp1c3QgdGhlIHRhaWwgb2YgdGhlCiAgIG5hbWUuCmRpZmYgLS1naXQgYS9Eb2Mvd2hhdHNuZXcvMy41LnJzdCBiL0RvYy93aGF0c25ldy8zLjUucnN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJjNmMzYTIKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2Mvd2hhdHNuZXcvMy41LnJzdApAQCAtMCwwICsxLDUyNSBAQAorKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICBXaGF0J3MgTmV3IEluIFB5dGhvbiAzLjUKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioKKworOlJlbGVhc2U6IHxyZWxlYXNlfAorOkRhdGU6IHx0b2RheXwKKworLi4gUnVsZXMgZm9yIG1haW50ZW5hbmNlOgorCisgICAqIEFueW9uZSBjYW4gYWRkIHRleHQgdG8gdGhpcyBkb2N1bWVudC4gIERvIG5vdCBzcGVuZCB2ZXJ5IG11Y2ggdGltZQorICAgb24gdGhlIHdvcmRpbmcgb2YgeW91ciBjaGFuZ2VzLCBiZWNhdXNlIHlvdXIgdGV4dCB3aWxsIHByb2JhYmx5CisgICBnZXQgcmV3cml0dGVuIHRvIHNvbWUgZGVncmVlLgorCisgICAqIFRoZSBtYWludGFpbmVyIHdpbGwgZ28gdGhyb3VnaCBNaXNjL05FV1MgcGVyaW9kaWNhbGx5IGFuZCBhZGQKKyAgIGNoYW5nZXM7IGl0J3MgdGhlcmVmb3JlIG1vcmUgaW1wb3J0YW50IHRvIGFkZCB5b3VyIGNoYW5nZXMgdG8KKyAgIE1pc2MvTkVXUyB0aGFuIHRvIHRoaXMgZmlsZS4KKworICAgKiBUaGlzIGlzIG5vdCBhIGNvbXBsZXRlIGxpc3Qgb2YgZXZlcnkgc2luZ2xlIGNoYW5nZTsgY29tcGxldGVuZXNzCisgICBpcyB0aGUgcHVycG9zZSBvZiBNaXNjL05FV1MuICBTb21lIGNoYW5nZXMgSSBjb25zaWRlciB0b28gc21hbGwKKyAgIG9yIGVzb3RlcmljIHRvIGluY2x1ZGUuICBJZiBzdWNoIGEgY2hhbmdlIGlzIGFkZGVkIHRvIHRoZSB0ZXh0LAorICAgSSdsbCBqdXN0IHJlbW92ZSBpdC4gIChUaGlzIGlzIGFub3RoZXIgcmVhc29uIHlvdSBzaG91bGRuJ3Qgc3BlbmQKKyAgIHRvbyBtdWNoIHRpbWUgb24gd3JpdGluZyB5b3VyIGFkZGl0aW9uLikKKworICAgKiBJZiB5b3Ugd2FudCB0byBkcmF3IHlvdXIgbmV3IHRleHQgdG8gdGhlIGF0dGVudGlvbiBvZiB0aGUKKyAgIG1haW50YWluZXIsIGFkZCAnWFhYJyB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSBwYXJhZ3JhcGggb3IKKyAgIHNlY3Rpb24uCisKKyAgICogSXQncyBPSyB0byBqdXN0IGFkZCBhIGZyYWdtZW50YXJ5IG5vdGUgYWJvdXQgYSBjaGFuZ2UuICBGb3IKKyAgIGV4YW1wbGU6ICJYWFggRGVzY3JpYmUgdGhlIHRyYW5zbW9ncmlmeSgpIGZ1bmN0aW9uIGFkZGVkIHRvIHRoZQorICAgc29ja2V0IG1vZHVsZS4iICBUaGUgbWFpbnRhaW5lciB3aWxsIHJlc2VhcmNoIHRoZSBjaGFuZ2UgYW5kCisgICB3cml0ZSB0aGUgbmVjZXNzYXJ5IHRleHQuCisKKyAgICogWW91IGNhbiBjb21tZW50IG91dCB5b3VyIGFkZGl0aW9ucyBpZiB5b3UgbGlrZSwgYnV0IGl0J3Mgbm90CisgICBuZWNlc3NhcnkgKGVzcGVjaWFsbHkgd2hlbiBhIGZpbmFsIHJlbGVhc2UgaXMgc29tZSBtb250aHMgYXdheSkuCisKKyAgICogQ3JlZGl0IHRoZSBhdXRob3Igb2YgYSBwYXRjaCBvciBidWdmaXguICAgSnVzdCB0aGUgbmFtZSBpcworICAgc3VmZmljaWVudDsgdGhlIGUtbWFpbCBhZGRyZXNzIGlzbid0IG5lY2Vzc2FyeS4KKworICAgKiBJdCdzIGhlbHBmdWwgdG8gYWRkIHRoZSBidWcvcGF0Y2ggbnVtYmVyIGFzIGEgY29tbWVudDoKKworICAgWFhYIERlc2NyaWJlIHRoZSB0cmFuc21vZ3JpZnkoKSBmdW5jdGlvbiBhZGRlZCB0byB0aGUgc29ja2V0CisgICBtb2R1bGUuCisgICAoQ29udHJpYnV0ZWQgYnkgUC5ZLiBEZXZlbG9wZXIgaW4gOmlzc3VlOmAxMjM0NWAuKQorCisgICBUaGlzIHNhdmVzIHRoZSBtYWludGFpbmVyIHRoZSBlZmZvcnQgb2YgZ29pbmcgdGhyb3VnaCB0aGUgTWVyY3VyaWFsIGxvZworICAgd2hlbiByZXNlYXJjaGluZyBhIGNoYW5nZS4KKworVGhpcyBhcnRpY2xlIGV4cGxhaW5zIHRoZSBuZXcgZmVhdHVyZXMgaW4gUHl0aG9uIDMuNSwgY29tcGFyZWQgdG8gMy40LgorCitGb3IgZnVsbCBkZXRhaWxzLCBzZWUgdGhlIDpzb3VyY2U6YE1pc2MvTkVXU2AgZmlsZS4KKworLi4gbm90ZTo6IFByZXJlbGVhc2UgdXNlcnMgc2hvdWxkIGJlIGF3YXJlIHRoYXQgdGhpcyBkb2N1bWVudCBpcyBjdXJyZW50bHkgaW4KKyAgIGRyYWZ0IGZvcm0uIEl0IHdpbGwgYmUgdXBkYXRlZCBzdWJzdGFudGlhbGx5IGFzIFB5dGhvbiAzLjUgbW92ZXMgdG93YXJkcworICAgcmVsZWFzZSwgc28gaXQncyB3b3J0aCBjaGVja2luZyBiYWNrIGV2ZW4gYWZ0ZXIgcmVhZGluZyBlYXJsaWVyIHZlcnNpb25zLgorCisKKy4uIHNlZWFsc286OgorCisgICAgOnBlcDpgNDc4YCAtIFB5dGhvbiAzLjUgUmVsZWFzZSBTY2hlZHVsZQorCisKK1N1bW1hcnkgLS0gUmVsZWFzZSBoaWdobGlnaHRzCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCisuLiBUaGlzIHNlY3Rpb24gc2luZ2xlcyBvdXQgdGhlIG1vc3QgaW1wb3J0YW50IGNoYW5nZXMgaW4gUHl0aG9uIDMuMy4KKyAgIEJyZXZpdHkgaXMga2V5LgorCitOZXcgc3ludGF4IGZlYXR1cmVzOgorCisqIE5vbmUgeWV0LgorCitOZXcgbGlicmFyeSBtb2R1bGVzOgorCisqIE5vbmUgeWV0LgorCitOZXcgYnVpbHQtaW4gZmVhdHVyZXM6CisKKyogTm9uZSB5ZXQuCisKK0ltcGxlbWVudGF0aW9uIGltcHJvdmVtZW50czoKKworKiBXaGVuIHRoZSBgYExDX1RZUEVgYCBsb2NhbGUgaXMgdGhlIFBPU0lYIGxvY2FsZSAoYGBDYGAgbG9jYWxlKSwKKyAgOnB5OmRhdGE6YHN5cy5zdGRpbmAgYW5kIDpweTpkYXRhOmBzeXMuc3Rkb3V0YCBhcmUgbm93IHVzaW5nIHRoZQorICBgYHN1cnJvZ2F0ZWVzY2FwZWBgIGVycm9yIGhhbmRsZXIsIGluc3RlYWQgb2YgdGhlIGBgc3RyaWN0YGAgZXJyb3IgaGFuZGxlcgorICAoOmlzc3VlOmAxOTk3N2ApLgorCitTaWduaWZpY2FudGx5IEltcHJvdmVkIExpYnJhcnkgTW9kdWxlczoKKworKiBOb25lIHlldC4KKworU2VjdXJpdHkgaW1wcm92ZW1lbnRzOgorCisqIE5vbmUgeWV0LgorCitQbGVhc2UgcmVhZCBvbiBmb3IgYSBjb21wcmVoZW5zaXZlIGxpc3Qgb2YgdXNlci1mYWNpbmcgY2hhbmdlcy4KKworCisuLiBQRVAtc2l6ZWQgaXRlbXMgbmV4dC4KKworLi4gX3BlcC00WFg6CisKKy4uIFBFUCA0WFg6IFZpcnR1YWwgRW52aXJvbm1lbnRzCisuLiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCisKKy4uIChJbXBsZW1lbnRlZCBieSBGb28gQmFyLikKKworLi4gLi4gc2VlYWxzbzo6CisKKyAgICA6cGVwOmA0WFhgIC0gUHl0aG9uIFZpcnR1YWwgRW52aXJvbm1lbnRzCisgICAgICAgUEVQIHdyaXR0ZW4gYnkgQ2FybCBNZXllcgorCisKK1BFUCA0NzU6IFJldHJ5IHN5c3RlbSBjYWxscyBmYWlsaW5nIHdpdGggRUlOVFIKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworOnBlcDpgNDc1YCBhZGRzIHN1cHBvcnQgZm9yIGF1dG9tYXRpYyByZXRyeSBvZiBzeXN0ZW0gY2FsbHMgZmFpbGluZyB3aXRoIEVJTlRSOgordGhpcyBtZWFucyB0aGF0IHVzZXIgY29kZSBkb2Vzbid0IGhhdmUgdG8gZGVhbCB3aXRoIEVJTlRSIG9yIEludGVycnVwdGVkRXJyb3IKK21hbnVhbGx5LCBhbmQgc2hvdWxkIG1ha2UgaXQgbW9yZSByb2J1c3QgYWdhaW5zdCBhc3luY2hyb25vdXMgc2lnbmFsIHJlY2VwdGlvbi4KKworLi4gc2VlYWxzbzo6CisKKyAgIDpwZXA6YDQ3NWAgLS0gUmV0cnkgc3lzdGVtIGNhbGxzIGZhaWxpbmcgd2l0aCBFSU5UUgorCisKK090aGVyIExhbmd1YWdlIENoYW5nZXMKKz09PT09PT09PT09PT09PT09PT09PT0KKworU29tZSBzbWFsbGVyIGNoYW5nZXMgbWFkZSB0byB0aGUgY29yZSBQeXRob24gbGFuZ3VhZ2UgYXJlOgorCisqIEFkZGVkIHRoZSBgYCduYW1lcmVwbGFjZSdgYCBlcnJvciBoYW5kbGVycy4gIFRoZSBgYCdiYWNrc2xhc2hyZXBsYWNlJ2BgCisgIGVycm9yIGhhbmRsZXJzIG5vdyB3b3JrcyB3aXRoIGRlY29kaW5nIGFuZCB0cmFuc2xhdGluZy4KKyAgKENvbnRyaWJ1dGVkIGJ5IFNlcmhpeSBTdG9yY2hha2EgaW4gOmlzc3VlOmAxOTY3NmAgYW5kIDppc3N1ZTpgMjIyODZgLikKKworCisKK05ldyBNb2R1bGVzCis9PT09PT09PT09PQorCisuLiBtb2R1bGUgbmFtZQorLi4gLS0tLS0tLS0tLS0KKworKiBOb25lIHlldC4KKworCitJbXByb3ZlZCBNb2R1bGVzCis9PT09PT09PT09PT09PT09CisKK2NnaQorLS0tCisKKyogOmNsYXNzOmBGaWVsZFN0b3JhZ2VgIG5vdyBzdXBwb3J0cyB0aGUgY29udGV4dCBtYW5hZ2VtZW50IHByb3RvY29sLgorICAoQ29udHJpYnV0ZWQgYnkgQmVya2VyIFBla3NhZyBpbiA6aXNzdWU6YDIwMjg5YC4pCisKK2NvZGUKKy0tLS0KKworKiBUaGUgOmZ1bmM6YGNvZGUuSW50ZXJhY3RpdmVJbnRlcnByZXRlci5zaG93dHJhY2ViYWNrYCBtZXRob2Qgbm93IHByaW50cworICB0aGUgZnVsbCBjaGFpbmVkIHRyYWNlYmFjaywganVzdCBsaWtlIHRoZSBpbnRlcmFjdGl2ZSBpbnRlcnByZXRlci4KKyAgKENvbnRyaWJ1dGVkIGJ5IENsYXVkaXUgUG9wYSBpbiA6aXNzdWU6YDE3NDQyYC4pCisKK2NvbXBpbGVhbGwKKy0tLS0tLS0tLS0KKworKiA6ZnVuYzpgY29tcGlsZWFsbC5jb21waWxlX2RpcmAgYW5kIDptb2Q6YGNvbXBpbGVhbGxgJ3MgY29tbWFuZC1saW5lIGludGVyZmFjZQorICBjYW4gbm93IGRvIHBhcmFsbGVsIGJ5dGVjb2RlIGNvbXBpbGF0aW9uLgorICAoQ29udHJpYnV0ZWQgYnkgQ2xhdWRpdSBQb3BhIGluIDppc3N1ZTpgMTYxMDRgLikKKworY29udGV4dGxpYgorLS0tLS0tLS0tLQorCisqIFRoZSBuZXcgOmZ1bmM6YGNvbnRleHRsaWIucmVkaXJlY3Rfc3RkZXJyYCBjb250ZXh0IG1hbmFnZXIoc2ltaWxhciB0bworICA6ZnVuYzpgY29udGV4dGxpYi5yZWRpcmVjdF9zdGRvdXRgKSBtYWtlcyBpdCBlYXNpZXIgZm9yIHV0aWxpdHkgc2NyaXB0cyB0bworICBoYW5kbGUgaW5mbGV4aWJsZSBBUElzIHRoYXQgd3JpdGUgdGhlaXIgb3V0cHV0IHRvIDpkYXRhOmBzeXMuc3RkZXJyYCBhbmQKKyAgZG9uJ3QgcHJvdmlkZSBhbnkgb3B0aW9ucyB0byByZWRpcmVjdCBpdC4KKyAgKENvbnRyaWJ1dGVkIGJ5IEJlcmtlciBQZWtzYWcgaW4gOmlzc3VlOmAyMjM4OWAuKQorCitkaXN0dXRpbHMKKy0tLS0tLS0tLQorCisqIFRoZSBgYGJ1aWxkYGAgYW5kIGBgYnVpbGRfZXh0YGAgY29tbWFuZHMgbm93IGFjY2VwdCBhIGBgLWpgYAorICBvcHRpb24gdG8gZW5hYmxlIHBhcmFsbGVsIGJ1aWxkaW5nIG9mIGV4dGVuc2lvbiBtb2R1bGVzLgorICAoQ29udHJpYnV0ZWQgYnkgQW50b2luZSBQaXRyb3UgaW4gOmlzc3VlOmA1MzA5YC4pCisKK2RvY3Rlc3QKKy0tLS0tLS0KKworKiA6ZnVuYzpgZG9jdGVzdC5Eb2NUZXN0U3VpdGVgIHJldHVybnMgYW4gZW1wdHkgOmNsYXNzOmB1bml0dGVzdC5UZXN0U3VpdGVgIGlmCisgICptb2R1bGUqIGNvbnRhaW5zIG5vIGRvY3N0cmluZ3MgaW5zdGVhZCBvZiByYWlzaW5nIDpleGM6YFZhbHVlRXJyb3JgLgorICAoQ29udHJpYnV0ZWQgYnkgR2xlbm4gSm9uZXMgaW4gOmlzc3VlOmAxNTkxNmAuKQorCitnbG9iCistLS0tCisKKyogOmZ1bmM6YH5nbG9iLmlnbG9iYCBhbmQgOmZ1bmM6YH5nbG9iLmdsb2JgIG5vdyBzdXBwb3J0IHJlY3Vyc2l2ZSBzZWFyY2ggaW4KKyAgc3ViZGlyZWN0b3JpZXMgdXNpbmcgdGhlICJgYCoqYGAiIHBhdHRlcm4uCisgIChDb250cmlidXRlZCBieSBTZXJoaXkgU3RvcmNoYWthIGluIDppc3N1ZTpgMTM5NjhgLikKKworaW1hcGxpYgorLS0tLS0tLQorCisqIDpjbGFzczpgSU1BUDRgIG5vdyBzdXBwb3J0cyB0aGUgY29udGV4dCBtYW5hZ2VtZW50IHByb3RvY29sLiAgV2hlbiB1c2VkIGluIGEKKyAgOmtleXdvcmQ6YHdpdGhgIHN0YXRlbWVudCwgdGhlIElNQVA0IGBgTE9HT1VUYGAgY29tbWFuZCB3aWxsIGJlIGNhbGxlZAorICBhdXRvbWF0aWNhbGx5IGF0IHRoZSBlbmQgb2YgdGhlIGJsb2NrLiAgKENvbnRyaWJ1dGVkIGJ5IFRhcmVrIFppYWTDqSBhbmQKKyAgU2VyaGl5IFN0b3JjaGFrYSBpbiA6aXNzdWU6YDQ5NzJgLikKKworaW1naGRyCistLS0tLS0KKworKiA6ZnVuYzpgfmltZ2hkci53aGF0YCBub3cgcmVjb2duaXplcyB0aGUgYE9wZW5FWFIgPGh0dHA6Ly93d3cub3BlbmV4ci5jb20+YF8KKyAgZm9ybWF0LiAgKENvbnRyaWJ1dGVkIGJ5IE1hcnRpbiBWaWduYWxpIGFuZCBDbGF1ZGl1IFBvcGEgaW4gOmlzc3VlOmAyMDI5NWAuKQorCitpbXBvcnRsaWIKKy0tLS0tLS0tLQorCisqIDpjbGFzczpgaW1wb3J0bGliLnV0aWwuTGF6eUxvYWRlcmAgYWxsb3dzIGZvciB0aGUgbGF6eSBsb2FkaW5nIG9mIG1vZHVsZXMgaW4KKyAgYXBwbGljYXRpb25zIHdoZXJlIHN0YXJ0dXAgdGltZSBpcyBwYXJhbW91bnQuCisgIChDb250cmlidXRlZCBieSBCcmV0dCBDYW5ub24gaW4gOmlzc3VlOmAxNzYyMWAuKQorCisqIDpmdW5jOmBpbXBvcnRsaWIuYWJjLkluc3BlY3RMb2FkZXIuc291cmNlX3RvX2NvZGVgIGlzIG5vdyBhCisgIHN0YXRpYyBtZXRob2QgdG8gbWFrZSBpdCBlYXNpZXIgdG8gd29yayB3aXRoIHNvdXJjZSBjb2RlIGluIGEgc3RyaW5nLgorICBXaXRoIGEgbW9kdWxlIG9iamVjdCB0aGF0IHlvdSB3YW50IHRvIGluaXRpYWxpemUgeW91IGNhbiB0aGVuIHVzZQorICBgYGV4ZWMoY29kZSwgbW9kdWxlLl9fZGljdF9fKWBgIHRvIGV4ZWN1dGUgdGhlIGNvZGUgaW4gdGhlIG1vZHVsZS4KKworKiA6ZnVuYzpgaW1wb3J0bGliLnV0aWwubW9kdWxlX2Zyb21fc3BlY2AgaXMgbm93IHRoZSBwcmVmZXJyZWQgd2F5IHRvIGNyZWF0ZSBhCisgIG5ldyBtb2R1bGUuIENvbXBhcmVkIHRvIDpjbGFzczpgdHlwZXMuTW9kdWxlVHlwZWAsIHRoaXMgbmV3IGZ1bmN0aW9uIHdpbGwgc2V0CisgIHRoZSB2YXJpb3VzIGltcG9ydC1jb250cm9sbGVkIGF0dHJpYnV0ZXMgYmFzZWQgb24gdGhlIHBhc3NlZC1pbiBzcGVjIG9iamVjdC4KKworaW5zcGVjdAorLS0tLS0tLQorCisqIDpjbGFzczpgaW5zcGVjdC5TaWduYXR1cmVgIGFuZCA6Y2xhc3M6YGluc3BlY3QuUGFyYW1ldGVyYCBhcmUgbm93CisgIHBpY2tsYWJsZSBhbmQgaGFzaGFibGUuICAoQ29udHJpYnV0ZWQgYnkgWXVyeSBTZWxpdmFub3YgaW4gOmlzc3VlOmAyMDcyNmAKKyAgYW5kIDppc3N1ZTpgMjAzMzRgLikKKworKiBOZXcgY2xhc3MgbWV0aG9kIDptZXRoOmBpbnNwZWN0LlNpZ25hdHVyZS5mcm9tX2NhbGxhYmxlYCwgd2hpY2ggbWFrZXMKKyAgc3ViY2xhc3Npbmcgb2YgOmNsYXNzOmB+aW5zcGVjdC5TaWduYXR1cmVgIGVhc2llci4gIChDb250cmlidXRlZAorICBieSBZdXJ5IFNlbGl2YW5vdiBhbmQgRXJpYyBTbm93IGluIDppc3N1ZTpgMTczNzNgLikKKworaXBhZGRyZXNzCistLS0tLS0tLS0KKworKiA6Y2xhc3M6YGlwYWRkcmVzcy5JUHY0TmV0d29ya2AgYW5kIDpjbGFzczpgaXBhZGRyZXNzLklQdjZOZXR3b3JrYCBub3cKKyAgYWNjZXB0IGFuIGBgKGFkZHJlc3MsIG5ldG1hc2spYGAgdHVwbGUgYXJndW1lbnQsIHNvIGFzIHRvIGVhc2lseSBjb25zdHJ1Y3QKKyAgbmV0d29yayBvYmplY3RzIGZyb20gZXhpc3RpbmcgYWRkcmVzc2VzLiAgKENvbnRyaWJ1dGVkIGJ5IFBldGVyIE1vb2R5CisgIGFuZCBBbnRvaW5lIFBpdHJvdSBpbiA6aXNzdWU6YDE2NTMxYC4pCisKK2pzb24KKy0tLS0KKworKiBUaGUgb3V0cHV0IG9mIDptb2Q6YGpzb24udG9vbGAgY29tbWFuZCBsaW5lIGludGVyZmFjZSBpcyBub3cgaW4gdGhlIHNhbWUKKyAgb3JkZXIgYXMgdGhlIGlucHV0LiBVc2UgdGhlIDpvcHRpb246YC0tc29ydC1rZXlzYCBvcHRpb24gdG8gc29ydCB0aGUgb3V0cHV0CisgIG9mIGRpY3Rpb25hcmllcyBhbHBoYWJldGljYWxseSBieSBrZXkuICAoQ29udHJpYnV0ZWQgYnkgQmVya2VyIFBla3NhZyBpbgorICA6aXNzdWU6YDIxNjUwYC4pCisKKyogSlNPTiBkZWNvZGVyIG5vdyByYWlzZXMgOmV4YzpganNvbi5KU09ORGVjb2RlRXJyb3JgIGluc3RlYWQgb2YKKyAgOmV4YzpgVmFsdWVFcnJvcmAuICAgKENvbnRyaWJ1dGVkIGJ5IFNlcmhpeSBTdG9yY2hha2EgaW4gOmlzc3VlOmAxOTM2MWAuKQorCitvcworLS0KKworKiA6Y2xhc3M6YG9zLnN0YXRfcmVzdWx0YCBub3cgaGFzIGEgOmF0dHI6YH5vcy5zdGF0X3Jlc3VsdC5zdF9maWxlX2F0dHJpYnV0ZXNgCisgIGF0dHJpYnV0ZSBvbiBXaW5kb3dzLiAgKENvbnRyaWJ1dGVkIGJ5IEJlbiBIb3l0IGluIDppc3N1ZTpgMjE3MTlgLikKKworcmUKKy0tCisKKyogTnVtYmVyIG9mIGNhcHR1cmluZyBncm91cHMgaW4gcmVndWxhciBleHByZXNzaW9uIGlzIG5vIGxvbmdlciBsaW1pdGVkIGJ5IDEwMC4KKyAgKENvbnRyaWJ1dGVkIGJ5IFNlcmhpeSBTdG9yY2hha2EgaW4gOmlzc3VlOmAyMjQzN2AuKQorCisqIE5vdyB1bm1hdGNoZWQgZ3JvdXBzIGFyZSByZXBsYWNlZCB3aXRoIGVtcHR5IHN0cmluZ3MgaW4gOmZ1bmM6YHJlLnN1YmAKKyAgYW5kIDpmdW5jOmByZS5zdWJuYC4gIChDb250cmlidXRlZCBieSBTZXJoaXkgU3RvcmNoYWthIGluIDppc3N1ZTpgMTUxOTYzOGAuKQorCittYXRoCistLS0tCisKKyogOmRhdGE6YG1hdGguaW5mYCBhbmQgOmRhdGE6YG1hdGgubmFuYCBjb25zdGFudHMgYWRkZWQuICAoQ29udHJpYnV0ZWQgYnkgTWFyaworICBEaWNraW5zb24gaW4gOmlzc3VlOmAyMzE4NWAuKQorCitzaHV0aWwKKy0tLS0tLQorCisqIDpmdW5jOmB+c2h1dGlsLm1vdmVgIG5vdyBhY2NlcHRzIGEgKmNvcHlfZnVuY3Rpb24qIGFyZ3VtZW50LCBhbGxvd2luZywKKyAgZm9yIGV4YW1wbGUsIDpmdW5jOmB+c2h1dGlsLmNvcHlgIHRvIGJlIHVzZWQgaW5zdGVhZCBvZiB0aGUgZGVmYXVsdAorICA6ZnVuYzpgfnNodXRpbC5jb3B5MmAgaWYgdGhlcmUgaXMgYSBuZWVkIHRvIGlnbm9yZSBtZXRhZGF0YS4gIChDb250cmlidXRlZCBieQorICBDbGF1ZGl1IFBvcGEgaW4gOmlzc3VlOmAxOTg0MGAuKQorCitzaWduYWwKKy0tLS0tLQorCisqIERpZmZlcmVudCBjb25zdGFudHMgb2YgOm1vZDpgc2lnbmFsYCBtb2R1bGUgYXJlIG5vdyBlbnVtZXJhdGlvbiB2YWx1ZXMgdXNpbmcKKyAgdGhlIDptb2Q6YGVudW1gIG1vZHVsZS4gVGhpcyBhbGxvd3MgbWVhbmluZ2Z1bCBuYW1lcyB0byBiZSBwcmludGVkIGR1cmluZworICBkZWJ1Z2dpbmcsIGluc3RlYWQgb2YgaW50ZWdlciDigJxtYWdpYyBudW1iZXJz4oCdLiAgKENvbnRyaWJ1dGVkIGJ5IEdpYW1wYW9sbworICBSb2RvbGEnIGluIDppc3N1ZTpgMjEwNzZgLikKKworc210cGQKKy0tLS0tCisKKyogQm90aCA6Y2xhc3M6YH5zbXRwZC5TTVRQU2VydmVyYCBhbmQgOmNsYXNzOmBzbXRwZC5TTVRQQ2hhbm5lbGAgbm93IGFjY2VwdCBhCisgICpkZWNvZGVfZGF0YSoga2V5d29yZCB0byBkZXRlcm1pbmUgaWYgdGhlIERBVEEgcG9ydGlvbiBvZiB0aGUgU01UUAorICB0cmFuc2FjdGlvbiBpcyBkZWNvZGVkIHVzaW5nIHRoZSBgYHV0Zi04YGAgY29kZWMgb3IgaXMgaW5zdGVhZCBwcm92aWRlZCB0bworICA6bWV0aDpgfnNtdHBkLlNNVFBTZXJ2ZXIucHJvY2Vzc19tZXNzYWdlYCBhcyBhIGJ5dGUgc3RyaW5nLiAgVGhlIGRlZmF1bHQKKyAgaXMgYGBUcnVlYGAgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgcmVhc29ucywgYnV0IHdpbGwgY2hhbmdlIHRvIGBgRmFsc2VgYAorICBpbiBQeXRob24gMy42LiAgKENvbnRyaWJ1dGVkIGJ5IE1hY2llaiBTenVsaWsgaW4gOmlzc3VlOmAxOTY2MmAuKQorCisqIEl0IGlzIG5vdyBwb3NzaWJsZSB0byBwcm92aWRlLCBkaXJlY3RseSBvciB2aWEgbmFtZSByZXNvbHV0aW9uLCBJUHY2CisgIGFkZHJlc3NlcyBpbiB0aGUgOmNsYXNzOmB+c210cGQuU01UUFNlcnZlcmAgY29uc3RydWN0b3IsIGFuZCBoYXZlIGl0CisgIHN1Y2Nlc3NmdWxseSBjb25uZWN0LiAgKENvbnRyaWJ1dGVkIGJ5IE1pbGFuIE9iZXJraXJjaCBpbiA6aXNzdWU6YDE0NzU4YC4pCisKKyogOm1vZDpgfnNtdHBkLlNNVFBTZXJ2ZXJgIG5vdyBzdXBwb3J0cyA6cmZjOmA2NTMxYCB2aWEgdGhlICplbmFibGVfU01UUFVURjgqCisgIGNvbnN0cnVjdG9yIGFyZ3VtZW50IGFuZCBhIHVzZXItcHJvdmlkZWQKKyAgOm1ldGg6YH5zbXRwZC5TTVRQU2VydmVyLnByb2Nlc3Nfc210cHV0ZjhfbWVzc2FnZWAgbWV0aG9kLgorCitzbXRwbGliCistLS0tLS0tCisKKyogQSBuZXcgOm1ldGg6YH5zbXRwbGliLlNNVFAuYXV0aGAgbWV0aG9kIHByb3ZpZGVzIGEgY29udmVuaWVudCB3YXkgdG8KKyAgaW1wbGVtZW50IGN1c3RvbSBhdXRoZW50aWNhdGlvbiBtZWNoYW5pc21zLgorICAoQ29udHJpYnV0ZWQgYnkgTWlsYW4gT2JlcmtpcmNoIGluIDppc3N1ZTpgMTUwMTRgLikKKworc25kaGRyCistLS0tLS0KKworKiA6ZnVuYzpgfnNuZGhkci53aGF0YCBhbmQgOmZ1bmM6YH5zbmRoZHIud2hhdGhkcmAgbm93IHJldHVybgorICA6ZnVuYzpgfmNvbGxlY3Rpb25zLm5hbWVkdHVwbGVgLgorICAoQ29udHJpYnV0ZWQgYnkgQ2xhdWRpdSBQb3BhIGluIDppc3N1ZTpgMTg2MTVgLikKKworc29ja2V0CistLS0tLS0KKworKiBOZXcgOm1ldGg6YHNvY2tldC5zb2NrZXQuc2VuZGZpbGVgIG1ldGhvZCBhbGxvd3MgdG8gc2VuZCBhIGZpbGUgb3ZlciBhIHNvY2tldAorICBieSB1c2luZyBoaWdoLXBlcmZvcm1hbmNlIDpmdW5jOmBvcy5zZW5kZmlsZWAgZnVuY3Rpb24gb24gVU5JWCByZXN1bHRpbmcgaW4KKyAgdXBsb2FkcyBiZWluZyBmcm9tIDJ4IHRvIDN4IGZhc3RlciB0aGFuIHdoZW4gdXNpbmcgcGxhaW4KKyAgOm1ldGg6YHNvY2tldC5zb2NrZXQuc2VuZGAuCisgIChDb250cmlidXRlZCBieSBHaWFtcGFvbG8gUm9kb2xhJyBpbiA6aXNzdWU6YDE3NTUyYC4pCisKK3RpbWUKKy0tLS0KKworKiBUaGUgOmZ1bmM6YHRpbWUubW9ub3RvbmljYCBmdW5jdGlvbiBpcyBub3cgYWx3YXlzIGF2YWlsYWJsZS4gIChDb250cmlidXRlZCBieQorICBWaWN0b3IgU3Rpbm5lciBpbiA6aXNzdWU6YDIyMDQzYC4pCisKK3RpbWUKKy0tLS0KKworKiBBIG5ldyA6Y2xhc3M6YHVybGxpYi5yZXF1ZXN0LkhUVFBCYXNpY1ByaW9yQXV0aEhhbmRsZXJgIGFsbG93cyBIVFRQIEJhc2ljCisgIEF1dGhlbnRpY2F0aW9uIGNyZWRlbnRpYWxzIHRvIGJlIHNlbnQgdW5jb25kaXRpb25hbGx5IHdpdGggdGhlIGZpcnN0IEhUVFAKKyAgcmVxdWVzdCwgcmF0aGVyIHRoYW4gd2FpdGluZyBmb3IgYSBIVFRQIDQwMSBVbmF1dGhvcml6ZWQgcmVzcG9uc2UgZnJvbSB0aGUKKyAgc2VydmVyLgorICAoQ29udHJpYnV0ZWQgYnkgTWF0ZWogQ2VwbCBpbiA6aXNzdWU6YDE5NDk0YC4pCisKK3dzZ2lyZWYKKy0tLS0tLS0KKworKiAqaGVhZGVycyogcGFyYW1ldGVyIG9mIDpjbGFzczpgd3NnaXJlZi5oZWFkZXJzLkhlYWRlcnNgIGlzIG5vdyBvcHRpb25hbC4KKyAgKENvbnRyaWJ1dGVkIGJ5IFBhYmxvIFRvcnJlcyBOYXZhcnJldGUgYW5kIFNpbGVudEdob3N0IGluIDppc3N1ZTpgNTgwMGAuKQorCit4bWxycGMKKy0tLS0tLQorCisqIDpjbGFzczpgeG1scnBjLmNsaWVudC5TZXJ2ZXJQcm94eWAgaXMgbm93IGEgOnRlcm06YGNvbnRleHQgbWFuYWdlcmAuCisgIChDb250cmlidXRlZCBieSBDbGF1ZGl1IFBvcGEgaW4gOmlzc3VlOmAyMDYyN2AuKQorCisKK09wdGltaXphdGlvbnMKKz09PT09PT09PT09PT0KKworVGhlIGZvbGxvd2luZyBwZXJmb3JtYW5jZSBlbmhhbmNlbWVudHMgaGF2ZSBiZWVuIGFkZGVkOgorCisqIENvbnN0cnVjdGlvbiBvZiBgYGJ5dGVzKGludClgYCAoZmlsbGVkIGJ5IHplcm8gYnl0ZXMpIGlzIGZhc3RlciBhbmQgdXNlIGxlc3MKKyAgbWVtb3J5IGZvciBsYXJnZSBvYmplY3RzLiBgYGNhbGxvYygpYGAgaXMgdXNlZCBpbnN0ZWFkIG9mIGBgbWFsbG9jKClgYCB0bworICBhbGxvY2F0ZSBtZW1vcnkgZm9yIHRoZXNlIG9iamVjdHMuCisKKyogU29tZSBvcGVyYXRpb25zIG9uIDpjbGFzczpgfmlwYWRkcmVzcy5JUHY0TmV0d29ya2AgYW5kCisgIDpjbGFzczpgfmlwYWRkcmVzcy5JUHY2TmV0d29ya2AgaGF2ZSBiZWVuIG1hc3NpdmVseSBzcGVkIHVwLCBzdWNoIGFzCisgIDptZXRoOmB+aXBhZGRyZXNzLklQdjROZXR3b3JrLnN1Ym5ldHNgLCA6bWV0aDpgfmlwYWRkcmVzcy5JUHY0TmV0d29yay5zdXBlcm5ldGAsCisgIDpmdW5jOmB+aXBhZGRyZXNzLnN1bW1hcml6ZV9hZGRyZXNzX3JhbmdlYCwgOmZ1bmM6YH5pcGFkZHJlc3MuY29sbGFwc2VfYWRkcmVzc2VzYC4KKyAgVGhlIHNwZWVkIHVwIGNhbiByYW5nZSBmcm9tIDN4IHRvIDE1eC4KKyAgKDppc3N1ZTpgMjE0ODZgLCA6aXNzdWU6YDIxNDg3YCwgOmlzc3VlOmAyMDgyNmApCisKKyogTWFueSBvcGVyYXRpb25zIG9uIDpjbGFzczpgaW8uQnl0ZXNJT2AgYXJlIG5vdyA1MCUgdG8gMTAwJSBmYXN0ZXIuCisgIChDb250cmlidXRlZCBieSBTZXJoaXkgU3RvcmNoYWthIGluIDppc3N1ZTpgMTUzODFgLikKKworCitCdWlsZCBhbmQgQyBBUEkgQ2hhbmdlcworPT09PT09PT09PT09PT09PT09PT09PT0KKworQ2hhbmdlcyB0byBQeXRob24ncyBidWlsZCBwcm9jZXNzIGFuZCB0byB0aGUgQyBBUEkgaW5jbHVkZToKKworKiBOZXcgYGBjYWxsb2NgYCBmdW5jdGlvbnM6CisKKyAgKiA6YzpmdW5jOmBQeU1lbV9SYXdDYWxsb2NgCisgICogOmM6ZnVuYzpgUHlNZW1fQ2FsbG9jYAorICAqIDpjOmZ1bmM6YFB5T2JqZWN0X0NhbGxvY2AKKyAgKiA6YzpmdW5jOmBfUHlPYmplY3RfR0NfQ2FsbG9jYAorCisKK0RlcHJlY2F0ZWQKKz09PT09PT09PT0KKworVW5zdXBwb3J0ZWQgT3BlcmF0aW5nIFN5c3RlbXMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyogTm9uZSB5ZXQuCisKKworRGVwcmVjYXRlZCBQeXRob24gbW9kdWxlcywgZnVuY3Rpb25zIGFuZCBtZXRob2RzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworKiBUaGUgOm1vZDpgZm9ybWF0dGVyYCBtb2R1bGUgaGFzIG5vdyBncmFkdWF0ZWQgdG8gZnVsbCBkZXByZWNhdGlvbiBhbmQgaXMgc3RpbGwKKyAgc2xhdGVkIGZvciByZW1vdmFsIGluIFB5dGhvbiAzLjYuCisKKyogOm1vZDpgc210cGRgIGhhcyBpbiB0aGUgcGFzdCBhbHdheXMgZGVjb2RlZCB0aGUgREFUQSBwb3J0aW9uIG9mIGVtYWlsCisgIG1lc3NhZ2VzIHVzaW5nIHRoZSBgYHV0Zi04YGAgY29kZWMuICBUaGlzIGNhbiBub3cgYmUgY29udHJvbGxlZCBieSB0aGUgbmV3CisgICpkZWNvZGVfZGF0YSoga2V5d29yZCB0byA6Y2xhc3M6YH5zbXRwZC5TTVRQU2VydmVyYC4gIFRoZSBkZWZhdWx0IHZhbHVlIGlzCisgIGBgVHJ1ZWBgLCBidXQgdGhpcyBkZWZhdWx0IGlzIGRlcHJlY2F0ZWQuICBTcGVjaWZ5IHRoZSAqZGVjb2RlX2RhdGEqIGtleXdvcmQKKyAgd2l0aCBhbiBhcHByb3ByaWF0ZSB2YWx1ZSB0byBhdm9pZCB0aGUgZGVwcmVjYXRpb24gd2FybmluZy4KKworCitEZXByZWNhdGVkIGZ1bmN0aW9ucyBhbmQgdHlwZXMgb2YgdGhlIEMgQVBJCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyogTm9uZSB5ZXQuCisKKworRGVwcmVjYXRlZCBmZWF0dXJlcworLS0tLS0tLS0tLS0tLS0tLS0tLQorCisqIE5vbmUgeWV0LgorCisKK1JlbW92ZWQKKz09PT09PT0KKworQVBJIGFuZCBGZWF0dXJlIFJlbW92YWxzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworVGhlIGZvbGxvd2luZyBvYnNvbGV0ZSBhbmQgcHJldmlvdXNseSBkZXByZWNhdGVkIEFQSXMgYW5kIGZlYXR1cmVzIGhhdmUgYmVlbgorcmVtb3ZlZDoKKworKiBUaGUgYGBfX3ZlcnNpb25fX2BgIGF0dHJpYnV0ZSBoYXMgYmVlbiBkcm9wcGVkIGZyb20gdGhlIGVtYWlsIHBhY2thZ2UuICBUaGUKKyAgZW1haWwgY29kZSBoYXNuJ3QgYmVlbiBzaGlwcGVkIHNlcGFyYXRlbHkgZnJvbSB0aGUgc3RkbGliIGZvciBhIGxvbmcgdGltZSwKKyAgYW5kIHRoZSBgYF9fdmVyc2lvbl9fYGAgc3RyaW5nIHdhcyBub3QgdXBkYXRlZCBpbiB0aGUgbGFzdCBmZXcgcmVsZWFzZXMuCisKKyogVGhlIGludGVybmFsIGBgTmV0cmNgYCBjbGFzcyBpbiB0aGUgOm1vZDpgZnRwbGliYCBtb2R1bGUgd2FzIGRlcHJlY2F0ZWQgaW4KKyAgMy40LCBhbmQgaGFzIG5vdyBiZWVuIHJlbW92ZWQuCisgIChDb250cmlidXRlZCBieSBNYXR0IENoYXB1dCBpbiA6aXNzdWU6YDY2MjNgLikKKworUG9ydGluZyB0byBQeXRob24gMy41Cis9PT09PT09PT09PT09PT09PT09PT0KKworVGhpcyBzZWN0aW9uIGxpc3RzIHByZXZpb3VzbHkgZGVzY3JpYmVkIGNoYW5nZXMgYW5kIG90aGVyIGJ1Z2ZpeGVzCit0aGF0IG1heSByZXF1aXJlIGNoYW5nZXMgdG8geW91ciBjb2RlLgorCitDaGFuZ2VzIGluIHRoZSBQeXRob24gQVBJCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyogQmVmb3JlIFB5dGhvbiAzLjUsIGEgOmNsYXNzOmBkYXRldGltZS50aW1lYCBvYmplY3Qgd2FzIGNvbnNpZGVyZWQgdG8gYmUgZmFsc2UKKyAgaWYgaXQgcmVwcmVzZW50ZWQgbWlkbmlnaHQgaW4gVVRDLiAgVGhpcyBiZWhhdmlvciB3YXMgY29uc2lkZXJlZCBvYnNjdXJlIGFuZAorICBlcnJvci1wcm9uZSBhbmQgaGFzIGJlZW4gcmVtb3ZlZCBpbiBQeXRob24gMy41LiAgU2VlIDppc3N1ZTpgMTM5MzZgIGZvciBmdWxsCisgIGRldGFpbHMuCisKKyogOm1ldGg6YHNzbC5TU0xTb2NrZXQuc2VuZCgpYCBub3cgcmFpc2VzIGVpdGhlciA6ZXhjOmBzc2wuU1NMV2FudFJlYWRFcnJvcmAKKyAgb3IgOmV4Yzpgc3NsLlNTTFdhbnRXcml0ZUVycm9yYCBvbiBhIG5vbi1ibG9ja2luZyBzb2NrZXQgaWYgdGhlIG9wZXJhdGlvbgorICB3b3VsZCBibG9jay4gUHJldmlvdXNseSwgaXQgd291bGQgcmV0dXJuIDAuICBTZWUgOmlzc3VlOmAyMDk1MWAuCisKKyogVGhlIGBgX19uYW1lX19gYCBhdHRyaWJ1dGUgb2YgZ2VuZXJhdG9yIGlzIG5vdyBzZXQgZnJvbSB0aGUgZnVuY3Rpb24gbmFtZSwKKyAgaW5zdGVhZCBvZiBiZWluZyBzZXQgZnJvbSB0aGUgY29kZSBuYW1lLiBVc2UgYGBnZW4uZ2lfY29kZS5jb19uYW1lYGAgdG8KKyAgcmV0cmlldmUgdGhlIGNvZGUgbmFtZS4gR2VuZXJhdG9ycyBhbHNvIGhhdmUgYSBuZXcgYGBfX3F1YWxuYW1lX19gYAorICBhdHRyaWJ1dGUsIHRoZSBxdWFsaWZpZWQgbmFtZSwgd2hpY2ggaXMgbm93IHVzZWQgZm9yIHRoZSByZXByZXNlbnRhdGlvbgorICBvZiBhIGdlbmVyYXRvciAoYGByZXByKGdlbilgYCkuIFNlZSA6aXNzdWU6YDIxMjA1YC4KKworKiBUaGUgZGVwcmVjYXRlZCAic3RyaWN0IiBtb2RlIGFuZCBhcmd1bWVudCBvZiA6Y2xhc3M6YH5odG1sLnBhcnNlci5IVE1MUGFyc2VyYCwKKyAgOm1ldGg6YEhUTUxQYXJzZXIuZXJyb3JgLCBhbmQgdGhlIDpleGM6YEhUTUxQYXJzZXJFcnJvcmAgZXhjZXB0aW9uIGhhdmUgYmVlbgorICByZW1vdmVkLiAgKENvbnRyaWJ1dGVkIGJ5IEV6aW8gTWVsb3R0aSBpbiA6aXNzdWU6YDE1MTE0YC4pCisgIFRoZSAqY29udmVydF9jaGFycmVmcyogYXJndW1lbnQgb2YgOmNsYXNzOmB+aHRtbC5wYXJzZXIuSFRNTFBhcnNlcmAgaXMKKyAgbm93IGBgVHJ1ZWBgIGJ5IGRlZmF1bHQuICAoQ29udHJpYnV0ZWQgYnkgQmVya2VyIFBla3NhZyBpbiA6aXNzdWU6YDIxMDQ3YC4pCisKKyogQWx0aG91Z2ggaXQgaXMgbm90IGZvcm1hbGx5IHBhcnQgb2YgdGhlIEFQSSwgaXQgaXMgd29ydGggbm90aW5nIGZvciBwb3J0aW5nCisgIHB1cnBvc2VzIChpZTogZml4aW5nIHRlc3RzKSB0aGF0IGVycm9yIG1lc3NhZ2VzIHRoYXQgd2VyZSBwcmV2aW91c2x5IG9mIHRoZQorICBmb3JtICInc29tZXR5cGUnIGRvZXMgbm90IHN1cHBvcnQgdGhlIGJ1ZmZlciBwcm90b2NvbCIgYXJlIG5vdyBvZiB0aGUgZm9ybSAiYQorICBieXRlcy1saWtlIG9iamVjdCBpcyByZXF1aXJlZCwgbm90ICdzb21ldHlwZSciLiAgKENvbnRyaWJ1dGVkIGJ5IEV6aW8gTWVsb3R0aQorICBpbiA6aXNzdWU6YDE2NTE4YC4pCisKKyogSWYgdGhlIGN1cnJlbnQgZGlyZWN0b3J5IGlzIHNldCB0byBhIGRpcmVjdG9yeSB0aGF0IG5vIGxvbmdlciBleGlzdHMgdGhlbgorICA6ZXhjOmBGaWxlTm90Rm91bmRFcnJvcmAgd2lsbCBubyBsb25nZXIgYmUgcmFpc2VkIGFuZCBpbnN0ZWFkCisgIDptZXRoOmB+aW1wb3J0bGliLm1hY2hpbmVyeS5GaWxlRmluZGVyLmZpbmRfc3BlY2Agd2lsbCByZXR1cm4gYGBOb25lYGAKKyAgKip3aXRob3V0KiogY2FjaGluZyBgYE5vbmVgYCBpbiA6ZGF0YTpgc3lzLnBhdGhfaW1wb3J0ZXJfY2FjaGVgIHdoaWNoIGlzCisgIGRpZmZlcmVudCB0aGFuIHRoZSB0eXBpY2FsIGNhc2UgKDppc3N1ZTpgMjI4MzRgKS4KKworKiBIVFRQIHN0YXR1cyBjb2RlIGFuZCBtZXNzYWdlcyBmcm9tIDptb2Q6YGh0dHAuY2xpZW50YCBhbmQgOm1vZDpgaHR0cC5zZXJ2ZXJgCisgIHdlcmUgcmVmYWN0b3JlZCBpbnRvIGEgY29tbW9uIDpjbGFzczpgfmh0dHAuSFRUUFN0YXR1c2AgZW51bS4gIFRoZSB2YWx1ZXMgaW4KKyAgOm1vZDpgaHR0cC5jbGllbnRgIGFuZCA6bW9kOmBodHRwLnNlcnZlcmAgcmVtYWluIGF2YWlsYWJsZSBmb3IgYmFja3dhcmRzCisgIGNvbXBhdGliaWxpdHkuICAoQ29udHJpYnV0ZWQgYnkgRGVtaWFuIEJyZWNodCBpbiA6aXNzdWU6YDIxNzkzYC4pCisKKyogV2hlbiBhbiBpbXBvcnQgbG9hZGVyIGRlZmluZXMgOm1ldGg6YH5pbXBvcnRsaWIubWFjaGluZXJ5LkxvYWRlci5leGVjX21vZHVsZWAKKyAgaXQgaXMgbm93IGV4cGVjdGVkIHRvIGFsc28gZGVmaW5lCisgIDptZXRoOmB+aW1wb3J0bGliLm1hY2hpbmVyeS5Mb2FkZXIuY3JlYXRlX21vZHVsZWAgKHJhaXNlcyBhCisgIDpleGM6YERlcHJlY2F0aW9uV2FybmluZ2Agbm93LCB3aWxsIGJlIGFuIGVycm9yIGluIFB5dGhvbiAzLjYpLiBJZiB0aGUgbG9hZGVyCisgIGluaGVyaXRzIGZyb20gOmNsYXNzOmBpbXBvcnRsaWIuYWJjLkxvYWRlcmAgdGhlbiB0aGVyZSBpcyBub3RoaW5nIHRvIGRvLCBlbHNlCisgIHNpbXBseSBkZWZpbmUgOm1ldGg6YH5pbXBvcnRsaWIubWFjaGluZXJ5LkxvYWRlci5jcmVhdGVfbW9kdWxlYCB0byByZXR1cm4KKyAgYGBOb25lYGAgKDppc3N1ZTpgMjMwMTRgKS4KKworKiA6ZnVuYzpgcmUuc3BsaXRgIGFsd2F5cyBpZ25vcmVkIGVtcHR5IHBhdHRlcm4gbWF0Y2hlcywgc28gdGhlIGBgJ3gqJ2BgCisgIHBhdHRlcm4gd29ya2VkIHRoZSBzYW1lIGFzIGBgJ3grJ2BgLCBhbmQgdGhlIGBgJ1xiJ2BgIHBhdHRlcm4gbmV2ZXIgd29ya2VkLgorICBOb3cgOmZ1bmM6YHJlLnNwbGl0YCByYWlzZXMgYSB3YXJuaW5nIGlmIHRoZSBwYXR0ZXJuIGNvdWxkIG1hdGNoCisgIGFuIGVtcHR5IHN0cmluZy4gIEZvciBjb21wYXRpYmlsaXR5IHVzZSBwYXR0ZXJucyB0aGF0IG5ldmVyIG1hdGNoIGFuIGVtcHR5CisgIHN0cmluZyAoZS5nLiBgYCd4KydgYCBpbnN0ZWFkIG9mIGBgJ3gqJ2BgKS4gIFBhdHRlcm5zIHRoYXQgY291bGQgb25seSBtYXRjaAorICBhbiBlbXB0eSBzdHJpbmcgKHN1Y2ggYXMgYGAnXGInYGApIG5vdyByYWlzZSBhbiBlcnJvci4KKworQ2hhbmdlcyBpbiB0aGUgQyBBUEkKKy0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyogVGhlIHVuZG9jdW1lbnRlZCA6YzptZW1iZXI6YH5QeU1lbW9yeVZpZXdPYmplY3QuZm9ybWF0YCBtZW1iZXIgb2YgdGhlCisgIChub24tcHVibGljKSA6Yzp0eXBlOmBQeU1lbW9yeVZpZXdPYmplY3RgIHN0cnVjdHVyZSBoYXMgYmVlbiByZW1vdmVkLgorCisgIEFsbCBleHRlbnNpb25zIHJlbHlpbmcgb24gdGhlIHJlbGV2YW50IHBhcnRzIGluIGBgbWVtb3J5b2JqZWN0LmhgYAorICBtdXN0IGJlIHJlYnVpbHQuCisKKyogVGhlIDpjOnR5cGU6YFB5TWVtQWxsb2NhdG9yYCBzdHJ1Y3R1cmUgd2FzIHJlbmFtZWQgdG8KKyAgOmM6dHlwZTpgUHlNZW1BbGxvY2F0b3JFeGAgYW5kIGEgbmV3IGBgY2FsbG9jYGAgZmllbGQgd2FzIGFkZGVkLgorCisqIFJlbW92ZWQgbm9uLWRvY3VtZW50ZWQgbWFjcm8gOmM6bWFjcm86YFB5T2JqZWN0X1JFUFJgIHdoaWNoIGxlYWtlZCByZWZlcmVuY2VzLgorICBVc2UgZm9ybWF0IGNoYXJhY3RlciBgYCVSYGAgaW4gOmM6ZnVuYzpgUHlVbmljb2RlX0Zyb21Gb3JtYXRgLWxpa2UgZnVuY3Rpb25zCisgIHRvIGZvcm1hdCB0aGUgOmZ1bmM6YHJlcHJgIG9mIHRoZSBvYmplY3QuCmRpZmYgLS1naXQgYS9Eb2Mvd2hhdHNuZXcvaW5kZXgucnN0IGIvRG9jL3doYXRzbmV3L2luZGV4LnJzdAppbmRleCAyOTkwMmU0Li5lZGI1NTAyIDEwMDY0NAotLS0gYS9Eb2Mvd2hhdHNuZXcvaW5kZXgucnN0CisrKyBiL0RvYy93aGF0c25ldy9pbmRleC5yc3QKQEAgLTExLDYgKzExLDcgQEAKIC4uIHRvY3RyZWU6OgogICAgOm1heGRlcHRoOiAyCiAKKyAgIDMuNS5yc3QKICAgIDMuNC5yc3QKICAgIDMuMy5yc3QKICAgIDMuMi5yc3QKZGlmZiAtLWdpdCBhL0dyYW1tYXIvR3JhbW1hciBiL0dyYW1tYXIvR3JhbW1hcgppbmRleCBkN2FhZmZkLi42YzAxMmMwIDEwMDY0NAotLS0gYS9HcmFtbWFyL0dyYW1tYXIKKysrIGIvR3JhbW1hci9HcmFtbWFyCkBAIC00MCw3ICs0MCw3IEBACiBleHByX3N0bXQ6IHRlc3RsaXN0X3N0YXJfZXhwciAoYXVnYXNzaWduICh5aWVsZF9leHByfHRlc3RsaXN0KSB8CiAgICAgICAgICAgICAgICAgICAgICAoJz0nICh5aWVsZF9leHByfHRlc3RsaXN0X3N0YXJfZXhwcikpKikKIHRlc3RsaXN0X3N0YXJfZXhwcjogKHRlc3R8c3Rhcl9leHByKSAoJywnICh0ZXN0fHN0YXJfZXhwcikpKiBbJywnXQotYXVnYXNzaWduOiAoJys9JyB8ICctPScgfCAnKj0nIHwgJy89JyB8ICclPScgfCAnJj0nIHwgJ3w9JyB8ICdePScgfAorYXVnYXNzaWduOiAoJys9JyB8ICctPScgfCAnKj0nIHwgJ0A9JyB8ICcvPScgfCAnJT0nIHwgJyY9JyB8ICd8PScgfCAnXj0nIHwKICAgICAgICAgICAgICc8PD0nIHwgJz4+PScgfCAnKio9JyB8ICcvLz0nKQogIyBGb3Igbm9ybWFsIGFzc2lnbm1lbnRzLCBhZGRpdGlvbmFsIHJlc3RyaWN0aW9ucyBlbmZvcmNlZCBieSB0aGUgaW50ZXJwcmV0ZXIKIGRlbF9zdG10OiAnZGVsJyBleHBybGlzdApAQCAtODksNyArODksNyBAQAogbm90X3Rlc3Q6ICdub3QnIG5vdF90ZXN0IHwgY29tcGFyaXNvbgogY29tcGFyaXNvbjogZXhwciAoY29tcF9vcCBleHByKSoKICMgPD4gaXNuJ3QgYWN0dWFsbHkgYSB2YWxpZCBjb21wYXJpc29uIG9wZXJhdG9yIGluIFB5dGhvbi4gSXQncyBoZXJlIGZvciB0aGUKLSMgc2FrZSBvZiBhIF9fZnV0dXJlX18gaW1wb3J0IGRlc2NyaWJlZCBpbiBQRVAgNDAxCisjIHNha2Ugb2YgYSBfX2Z1dHVyZV9fIGltcG9ydCBkZXNjcmliZWQgaW4gUEVQIDQwMSAod2hpY2ggcmVhbGx5IHdvcmtzIDotKQogY29tcF9vcDogJzwnfCc+J3wnPT0nfCc+PSd8Jzw9J3wnPD4nfCchPSd8J2luJ3wnbm90JyAnaW4nfCdpcyd8J2lzJyAnbm90Jwogc3Rhcl9leHByOiAnKicgZXhwcgogZXhwcjogeG9yX2V4cHIgKCd8JyB4b3JfZXhwcikqCkBAIC05Nyw3ICs5Nyw3IEBACiBhbmRfZXhwcjogc2hpZnRfZXhwciAoJyYnIHNoaWZ0X2V4cHIpKgogc2hpZnRfZXhwcjogYXJpdGhfZXhwciAoKCc8PCd8Jz4+JykgYXJpdGhfZXhwcikqCiBhcml0aF9leHByOiB0ZXJtICgoJysnfCctJykgdGVybSkqCi10ZXJtOiBmYWN0b3IgKCgnKid8Jy8nfCclJ3wnLy8nKSBmYWN0b3IpKgordGVybTogZmFjdG9yICgoJyonfCdAJ3wnLyd8JyUnfCcvLycpIGZhY3RvcikqCiBmYWN0b3I6ICgnKyd8Jy0nfCd+JykgZmFjdG9yIHwgcG93ZXIKIHBvd2VyOiBhdG9tIHRyYWlsZXIqIFsnKionIGZhY3Rvcl0KIGF0b206ICgnKCcgW3lpZWxkX2V4cHJ8dGVzdGxpc3RfY29tcF0gJyknIHwKZGlmZiAtLWdpdCBhL0luY2x1ZGUvUHl0aG9uLWFzdC5oIGIvSW5jbHVkZS9QeXRob24tYXN0LmgKaW5kZXggNjdkNjc3Yi4uMzdlOWE2MCAxMDA2NDQKLS0tIGEvSW5jbHVkZS9QeXRob24tYXN0LmgKKysrIGIvSW5jbHVkZS9QeXRob24tYXN0LmgKQEAgLTE1LDkgKzE1LDkgQEAKIAogdHlwZWRlZiBlbnVtIF9ib29sb3AgeyBBbmQ9MSwgT3I9MiB9IGJvb2xvcF90eTsKIAotdHlwZWRlZiBlbnVtIF9vcGVyYXRvciB7IEFkZD0xLCBTdWI9MiwgTXVsdD0zLCBEaXY9NCwgTW9kPTUsIFBvdz02LCBMU2hpZnQ9NywKLSAgICAgICAgICAgICAgICAgICAgICAgICBSU2hpZnQ9OCwgQml0T3I9OSwgQml0WG9yPTEwLCBCaXRBbmQ9MTEsIEZsb29yRGl2PTEyIH0KLSAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRvcl90eTsKK3R5cGVkZWYgZW51bSBfb3BlcmF0b3IgeyBBZGQ9MSwgU3ViPTIsIE11bHQ9MywgTWF0TXVsdD00LCBEaXY9NSwgTW9kPTYsIFBvdz03LAorICAgICAgICAgICAgICAgICAgICAgICAgIExTaGlmdD04LCBSU2hpZnQ9OSwgQml0T3I9MTAsIEJpdFhvcj0xMSwgQml0QW5kPTEyLAorICAgICAgICAgICAgICAgICAgICAgICAgIEZsb29yRGl2PTEzIH0gb3BlcmF0b3JfdHk7CiAKIHR5cGVkZWYgZW51bSBfdW5hcnlvcCB7IEludmVydD0xLCBOb3Q9MiwgVUFkZD0zLCBVU3ViPTQgfSB1bmFyeW9wX3R5OwogCmRpZmYgLS1naXQgYS9JbmNsdWRlL1B5dGhvbi5oIGIvSW5jbHVkZS9QeXRob24uaAppbmRleCAyZGQ4MjkwLi40NmQyZWNlIDEwMDY0NAotLS0gYS9JbmNsdWRlL1B5dGhvbi5oCisrKyBiL0luY2x1ZGUvUHl0aG9uLmgKQEAgLTExMiw2ICsxMTIsNyBAQAogI2luY2x1ZGUgInB5YXJlbmEuaCIKICNpbmNsdWRlICJtb2RzdXBwb3J0LmgiCiAjaW5jbHVkZSAicHl0aG9ucnVuLmgiCisjaW5jbHVkZSAicHlsaWZlY3ljbGUuaCIKICNpbmNsdWRlICJjZXZhbC5oIgogI2luY2x1ZGUgInN5c21vZHVsZS5oIgogI2luY2x1ZGUgImludHJjaGVjay5oIgpkaWZmIC0tZ2l0IGEvSW5jbHVkZS9hYnN0cmFjdC5oIGIvSW5jbHVkZS9hYnN0cmFjdC5oCmluZGV4IDZlODUwYjguLmRiNzBmMjEgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvYWJzdHJhY3QuaAorKysgYi9JbmNsdWRlL2Fic3RyYWN0LmgKQEAgLTY1OCw2ICs2NTgsMTIgQEAKICAgICAgbzEqbzIuCiAgICAgICAgKi8KIAorICAgICBQeUFQSV9GVU5DKFB5T2JqZWN0ICopIFB5TnVtYmVyX01hdHJpeE11bHRpcGx5KFB5T2JqZWN0ICpvMSwgUHlPYmplY3QgKm8yKTsKKworICAgICAgIC8qCisgICAgIFRoaXMgaXMgdGhlIGVxdWl2YWxlbnQgb2YgdGhlIFB5dGhvbiBleHByZXNzaW9uOiBvMSBAIG8yLgorICAgICAgICovCisKICAgICAgUHlBUElfRlVOQyhQeU9iamVjdCAqKSBQeU51bWJlcl9GbG9vckRpdmlkZShQeU9iamVjdCAqbzEsIFB5T2JqZWN0ICpvMik7CiAKICAgICAgICAvKgpAQCAtODMyLDYgKzgzOCwxMiBAQAogICAgICBvMSAqPSBvMi4KICAgICAgICAqLwogCisgICAgIFB5QVBJX0ZVTkMoUHlPYmplY3QgKikgUHlOdW1iZXJfSW5QbGFjZU1hdHJpeE11bHRpcGx5KFB5T2JqZWN0ICpvMSwgUHlPYmplY3QgKm8yKTsKKworICAgICAgIC8qCisgICAgIFRoaXMgaXMgdGhlIGVxdWl2YWxlbnQgb2YgdGhlIFB5dGhvbiBleHByZXNzaW9uOiBvMSBAPSBvMi4KKyAgICAgICAqLworCiAgICAgIFB5QVBJX0ZVTkMoUHlPYmplY3QgKikgUHlOdW1iZXJfSW5QbGFjZUZsb29yRGl2aWRlKFB5T2JqZWN0ICpvMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKm8yKTsKIApkaWZmIC0tZ2l0IGEvSW5jbHVkZS9ieXRlc19tZXRob2RzLmggYi9JbmNsdWRlL2J5dGVzX21ldGhvZHMuaAppbmRleCAxNDk4YjhmLi4xMWQ1ZjQyIDEwMDY0NAotLS0gYS9JbmNsdWRlL2J5dGVzX21ldGhvZHMuaAorKysgYi9JbmNsdWRlL2J5dGVzX21ldGhvZHMuaApAQCAtMjEsOCArMjEsOCBAQAogZXh0ZXJuIHZvaWQgX1B5X2J5dGVzX2NhcGl0YWxpemUoY2hhciAqcmVzdWx0LCBjaGFyICpzLCBQeV9zc2l6ZV90IGxlbik7CiBleHRlcm4gdm9pZCBfUHlfYnl0ZXNfc3dhcGNhc2UoY2hhciAqcmVzdWx0LCBjaGFyICpzLCBQeV9zc2l6ZV90IGxlbik7CiAKLS8qIFRoaXMgb25lIGdldHMgdGhlIHJhdyBhcmd1bWVudCBsaXN0LiAqLwotZXh0ZXJuIFB5T2JqZWN0KiBfUHlfYnl0ZXNfbWFrZXRyYW5zKFB5T2JqZWN0ICphcmdzKTsKKy8qIFRoZSBtYWtldHJhbnMoKSBzdGF0aWMgbWV0aG9kLiAqLworZXh0ZXJuIFB5T2JqZWN0KiBfUHlfYnl0ZXNfbWFrZXRyYW5zKFB5X2J1ZmZlciAqZnJtLCBQeV9idWZmZXIgKnRvKTsKIAogLyogU2hhcmVkIF9fZG9jX18gc3RyaW5ncy4gKi8KIGV4dGVybiBjb25zdCBjaGFyIF9QeV9pc3NwYWNlX19kb2NfX1tdOwpkaWZmIC0tZ2l0IGEvSW5jbHVkZS9ieXRlc29iamVjdC5oIGIvSW5jbHVkZS9ieXRlc29iamVjdC5oCmluZGV4IDBlZThkMzYuLmUzNzliYWMgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvYnl0ZXNvYmplY3QuaAorKysgYi9JbmNsdWRlL2J5dGVzb2JqZWN0LmgKQEAgLTYyLDYgKzYyLDcgQEAKIFB5QVBJX0ZVTkModm9pZCkgUHlCeXRlc19Db25jYXRBbmREZWwoUHlPYmplY3QgKiosIFB5T2JqZWN0ICopOwogI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQogUHlBUElfRlVOQyhpbnQpIF9QeUJ5dGVzX1Jlc2l6ZShQeU9iamVjdCAqKiwgUHlfc3NpemVfdCk7CitQeUFQSV9GVU5DKFB5T2JqZWN0ICopIF9QeUJ5dGVzX0Zvcm1hdChQeU9iamVjdCAqLCBQeU9iamVjdCAqKTsKICNlbmRpZgogUHlBUElfRlVOQyhQeU9iamVjdCAqKSBQeUJ5dGVzX0RlY29kZUVzY2FwZShjb25zdCBjaGFyICosIFB5X3NzaXplX3QsCiAJCQkJCQkgICBjb25zdCBjaGFyICosIFB5X3NzaXplX3QsCmRpZmYgLS1naXQgYS9JbmNsdWRlL2NvZGUuaCBiL0luY2x1ZGUvY29kZS5oCmluZGV4IDdjN2U1YmYuLmZmMmI5N2UgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvY29kZS5oCisrKyBiL0luY2x1ZGUvY29kZS5oCkBAIC0yMSw3ICsyMSwxMiBAQAogICAgIFB5T2JqZWN0ICpjb192YXJuYW1lczsJLyogdHVwbGUgb2Ygc3RyaW5ncyAobG9jYWwgdmFyaWFibGUgbmFtZXMpICovCiAgICAgUHlPYmplY3QgKmNvX2ZyZWV2YXJzOwkvKiB0dXBsZSBvZiBzdHJpbmdzIChmcmVlIHZhcmlhYmxlIG5hbWVzKSAqLwogICAgIFB5T2JqZWN0ICpjb19jZWxsdmFyczsgICAgICAvKiB0dXBsZSBvZiBzdHJpbmdzIChjZWxsIHZhcmlhYmxlIG5hbWVzKSAqLwotICAgIC8qIFRoZSByZXN0IGRvZXNuJ3QgY291bnQgZm9yIGhhc2ggb3IgY29tcGFyaXNvbnMgKi8KKyAgICAvKiBUaGUgcmVzdCBhcmVuJ3QgdXNlZCBpbiBlaXRoZXIgaGFzaCBvciBjb21wYXJpc29ucywgZXhjZXB0IGZvcgorICAgICAgIGNvX25hbWUgKHVzZWQgaW4gYm90aCkgYW5kIGNvX2ZpcnN0bGluZW5vICh1c2VkIG9ubHkgaW4KKyAgICAgICBjb21wYXJpc29ucykuICBUaGlzIGlzIGRvbmUgdG8gcHJlc2VydmUgdGhlIG5hbWUgYW5kIGxpbmUgbnVtYmVyCisgICAgICAgZm9yIHRyYWNlYmFja3MgYW5kIGRlYnVnZ2Vyczsgb3RoZXJ3aXNlLCBjb25zdGFudCBkZS1kdXBsaWNhdGlvbgorICAgICAgIHdvdWxkIGNvbGxhcHNlIGlkZW50aWNhbCBmdW5jdGlvbnMvbGFtYmRhcyBkZWZpbmVkIG9uIGRpZmZlcmVudCBsaW5lcy4KKyAgICAqLwogICAgIHVuc2lnbmVkIGNoYXIgKmNvX2NlbGwyYXJnOyAvKiBNYXBzIGNlbGwgdmFycyB3aGljaCBhcmUgYXJndW1lbnRzLiAqLwogICAgIFB5T2JqZWN0ICpjb19maWxlbmFtZTsJLyogdW5pY29kZSAod2hlcmUgaXQgd2FzIGxvYWRlZCBmcm9tKSAqLwogICAgIFB5T2JqZWN0ICpjb19uYW1lOwkJLyogdW5pY29kZSAobmFtZSwgZm9yIHJlZmVyZW5jZSkgKi8KZGlmZiAtLWdpdCBhL0luY2x1ZGUvY29kZWNzLmggYi9JbmNsdWRlL2NvZGVjcy5oCmluZGV4IGIzMDg4ZTQuLjQ2NjkxMzUgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvY29kZWNzLmgKKysrIGIvSW5jbHVkZS9jb2RlY3MuaApAQCAtMjI1LDYgKzIyNSw5IEBACiAvKiByZXBsYWNlIHRoZSB1bmljb2RlIGVuY29kZSBlcnJvciB3aXRoIGJhY2tzbGFzaCBlc2NhcGVzIChceCwgXHUgYW5kIFxVKSAqLwogUHlBUElfRlVOQyhQeU9iamVjdCAqKSBQeUNvZGVjX0JhY2tzbGFzaFJlcGxhY2VFcnJvcnMoUHlPYmplY3QgKmV4Yyk7CiAKKy8qIHJlcGxhY2UgdGhlIHVuaWNvZGUgZW5jb2RlIGVycm9yIHdpdGggYmFja3NsYXNoIGVzY2FwZXMgKFxOLCBceCwgXHUgYW5kIFxVKSAqLworUHlBUElfRlVOQyhQeU9iamVjdCAqKSBQeUNvZGVjX05hbWVSZXBsYWNlRXJyb3JzKFB5T2JqZWN0ICpleGMpOworCiBQeUFQSV9EQVRBKGNvbnN0IGNoYXIgKikgUHlfaGV4ZGlnaXRzOwogCiAjaWZkZWYgX19jcGx1c3BsdXMKZGlmZiAtLWdpdCBhL0luY2x1ZGUvY29tcGxleG9iamVjdC5oIGIvSW5jbHVkZS9jb21wbGV4b2JqZWN0LmgKaW5kZXggMTkzNGYzYi4uY2I4YzUyYyAxMDA2NDQKLS0tIGEvSW5jbHVkZS9jb21wbGV4b2JqZWN0LmgKKysrIGIvSW5jbHVkZS9jb21wbGV4b2JqZWN0LmgKQEAgLTE0LDIxICsxNCwxMyBAQAogCiAvKiBPcGVyYXRpb25zIG9uIGNvbXBsZXggbnVtYmVycyBmcm9tIGNvbXBsZXhtb2R1bGUuYyAqLwogCi0jZGVmaW5lIGNfc3VtIF9QeV9jX3N1bQotI2RlZmluZSBjX2RpZmYgX1B5X2NfZGlmZgotI2RlZmluZSBjX25lZyBfUHlfY19uZWcKLSNkZWZpbmUgY19wcm9kIF9QeV9jX3Byb2QKLSNkZWZpbmUgY19xdW90IF9QeV9jX3F1b3QKLSNkZWZpbmUgY19wb3cgX1B5X2NfcG93Ci0jZGVmaW5lIGNfYWJzIF9QeV9jX2FicwotCi1QeUFQSV9GVU5DKFB5X2NvbXBsZXgpIGNfc3VtKFB5X2NvbXBsZXgsIFB5X2NvbXBsZXgpOwotUHlBUElfRlVOQyhQeV9jb21wbGV4KSBjX2RpZmYoUHlfY29tcGxleCwgUHlfY29tcGxleCk7Ci1QeUFQSV9GVU5DKFB5X2NvbXBsZXgpIGNfbmVnKFB5X2NvbXBsZXgpOwotUHlBUElfRlVOQyhQeV9jb21wbGV4KSBjX3Byb2QoUHlfY29tcGxleCwgUHlfY29tcGxleCk7Ci1QeUFQSV9GVU5DKFB5X2NvbXBsZXgpIGNfcXVvdChQeV9jb21wbGV4LCBQeV9jb21wbGV4KTsKLVB5QVBJX0ZVTkMoUHlfY29tcGxleCkgY19wb3coUHlfY29tcGxleCwgUHlfY29tcGxleCk7Ci1QeUFQSV9GVU5DKGRvdWJsZSkgY19hYnMoUHlfY29tcGxleCk7CitQeUFQSV9GVU5DKFB5X2NvbXBsZXgpIF9QeV9jX3N1bShQeV9jb21wbGV4LCBQeV9jb21wbGV4KTsKK1B5QVBJX0ZVTkMoUHlfY29tcGxleCkgX1B5X2NfZGlmZihQeV9jb21wbGV4LCBQeV9jb21wbGV4KTsKK1B5QVBJX0ZVTkMoUHlfY29tcGxleCkgX1B5X2NfbmVnKFB5X2NvbXBsZXgpOworUHlBUElfRlVOQyhQeV9jb21wbGV4KSBfUHlfY19wcm9kKFB5X2NvbXBsZXgsIFB5X2NvbXBsZXgpOworUHlBUElfRlVOQyhQeV9jb21wbGV4KSBfUHlfY19xdW90KFB5X2NvbXBsZXgsIFB5X2NvbXBsZXgpOworUHlBUElfRlVOQyhQeV9jb21wbGV4KSBfUHlfY19wb3coUHlfY29tcGxleCwgUHlfY29tcGxleCk7CitQeUFQSV9GVU5DKGRvdWJsZSkgX1B5X2NfYWJzKFB5X2NvbXBsZXgpOwogI2VuZGlmCiAKIC8qIENvbXBsZXggb2JqZWN0IGludGVyZmFjZSAqLwpkaWZmIC0tZ2l0IGEvSW5jbHVkZS9kaWN0b2JqZWN0LmggYi9JbmNsdWRlL2RpY3RvYmplY3QuaAppbmRleCBlZjEyMmJkLi4wOWRmZjU5IDEwMDY0NAotLS0gYS9JbmNsdWRlL2RpY3RvYmplY3QuaAorKysgYi9JbmNsdWRlL2RpY3RvYmplY3QuaApAQCAtNTAsNiArNTAsMTAgQEAKIAogUHlBUElfRlVOQyhQeU9iamVjdCAqKSBQeURpY3RfTmV3KHZvaWQpOwogUHlBUElfRlVOQyhQeU9iamVjdCAqKSBQeURpY3RfR2V0SXRlbShQeU9iamVjdCAqbXAsIFB5T2JqZWN0ICprZXkpOworI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQorUHlBUElfRlVOQyhQeU9iamVjdCAqKSBfUHlEaWN0X0dldEl0ZW1fS25vd25IYXNoKFB5T2JqZWN0ICptcCwgUHlPYmplY3QgKmtleSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X2hhc2hfdCBoYXNoKTsKKyNlbmRpZgogUHlBUElfRlVOQyhQeU9iamVjdCAqKSBQeURpY3RfR2V0SXRlbVdpdGhFcnJvcihQeU9iamVjdCAqbXAsIFB5T2JqZWN0ICprZXkpOwogUHlBUElfRlVOQyhQeU9iamVjdCAqKSBfUHlEaWN0X0dldEl0ZW1JZFdpdGhFcnJvcihQeU9iamVjdCAqZHAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBfUHlfSWRlbnRpZmllciAqa2V5KTsKQEAgLTU4LDYgKzYyLDEwIEBACiAgICAgUHlPYmplY3QgKm1wLCBQeU9iamVjdCAqa2V5LCBQeU9iamVjdCAqZGVmYXVsdG9iaik7CiAjZW5kaWYKIFB5QVBJX0ZVTkMoaW50KSBQeURpY3RfU2V0SXRlbShQeU9iamVjdCAqbXAsIFB5T2JqZWN0ICprZXksIFB5T2JqZWN0ICppdGVtKTsKKyNpZm5kZWYgUHlfTElNSVRFRF9BUEkKK1B5QVBJX0ZVTkMoaW50KSBfUHlEaWN0X1NldEl0ZW1fS25vd25IYXNoKFB5T2JqZWN0ICptcCwgUHlPYmplY3QgKmtleSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICppdGVtLCBQeV9oYXNoX3QgaGFzaCk7CisjZW5kaWYKIFB5QVBJX0ZVTkMoaW50KSBQeURpY3RfRGVsSXRlbShQeU9iamVjdCAqbXAsIFB5T2JqZWN0ICprZXkpOwogUHlBUElfRlVOQyh2b2lkKSBQeURpY3RfQ2xlYXIoUHlPYmplY3QgKm1wKTsKIFB5QVBJX0ZVTkMoaW50KSBQeURpY3RfTmV4dCgKZGlmZiAtLWdpdCBhL0luY2x1ZGUvZmlsZXV0aWxzLmggYi9JbmNsdWRlL2ZpbGV1dGlscy5oCmluZGV4IGU5YmFkODAuLmM1ZWViYzUgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvZmlsZXV0aWxzLmgKKysrIGIvSW5jbHVkZS9maWxldXRpbHMuaApAQCAtNywxMSArNywxMSBAQAogCiBQeUFQSV9GVU5DKFB5T2JqZWN0ICopIF9QeV9kZXZpY2VfZW5jb2RpbmcoaW50KTsKIAotUHlBUElfRlVOQyh3Y2hhcl90ICopIF9QeV9jaGFyMndjaGFyKAorUHlBUElfRlVOQyh3Y2hhcl90ICopIFB5X0RlY29kZUxvY2FsZSgKICAgICBjb25zdCBjaGFyICphcmcsCiAgICAgc2l6ZV90ICpzaXplKTsKIAotUHlBUElfRlVOQyhjaGFyKikgX1B5X3djaGFyMmNoYXIoCitQeUFQSV9GVU5DKGNoYXIqKSBQeV9FbmNvZGVMb2NhbGUoCiAgICAgY29uc3Qgd2NoYXJfdCAqdGV4dCwKICAgICBzaXplX3QgKmVycm9yX3Bvcyk7CiAKQEAgLTcwLDcgKzcwLDE0IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgKmF0b21pY19mbGFnX3dvcmtzKTsKIAogUHlBUElfRlVOQyhpbnQpIF9QeV9kdXAoaW50IGZkKTsKLSNlbmRpZgorCisjaWZuZGVmIE1TX1dJTkRPV1MKK1B5QVBJX0ZVTkMoaW50KSBfUHlfZ2V0X2Jsb2NraW5nKGludCBmZCk7CisKK1B5QVBJX0ZVTkMoaW50KSBfUHlfc2V0X2Jsb2NraW5nKGludCBmZCwgaW50IGJsb2NraW5nKTsKKyNlbmRpZiAgIC8qICFNU19XSU5ET1dTICovCisKKyNlbmRpZiAgIC8qIFB5X0xJTUlURURfQVBJICovCiAKICNpZmRlZiBfX2NwbHVzcGx1cwogfQpkaWZmIC0tZ2l0IGEvSW5jbHVkZS9nZW5vYmplY3QuaCBiL0luY2x1ZGUvZ2Vub2JqZWN0LmgKaW5kZXggNjVmMWVjZi4uMjM1NzFlNiAxMDA2NDQKLS0tIGEvSW5jbHVkZS9nZW5vYmplY3QuaAorKysgYi9JbmNsdWRlL2dlbm9iamVjdC5oCkBAIC0yNSw2ICsyNSwxMiBAQAogCiAgICAgLyogTGlzdCBvZiB3ZWFrIHJlZmVyZW5jZS4gKi8KICAgICBQeU9iamVjdCAqZ2lfd2Vha3JlZmxpc3Q7CisKKyAgICAvKiBOYW1lIG9mIHRoZSBnZW5lcmF0b3IuICovCisgICAgUHlPYmplY3QgKmdpX25hbWU7CisKKyAgICAvKiBRdWFsaWZpZWQgbmFtZSBvZiB0aGUgZ2VuZXJhdG9yLiAqLworICAgIFB5T2JqZWN0ICpnaV9xdWFsbmFtZTsKIH0gUHlHZW5PYmplY3Q7CiAKIFB5QVBJX0RBVEEoUHlUeXBlT2JqZWN0KSBQeUdlbl9UeXBlOwpAQCAtMzMsNiArMzksOCBAQAogI2RlZmluZSBQeUdlbl9DaGVja0V4YWN0KG9wKSAoUHlfVFlQRShvcCkgPT0gJlB5R2VuX1R5cGUpCiAKIFB5QVBJX0ZVTkMoUHlPYmplY3QgKikgUHlHZW5fTmV3KHN0cnVjdCBfZnJhbWUgKik7CitQeUFQSV9GVU5DKFB5T2JqZWN0ICopIFB5R2VuX05ld1dpdGhRdWFsTmFtZShzdHJ1Y3QgX2ZyYW1lICosCisgICAgUHlPYmplY3QgKm5hbWUsIFB5T2JqZWN0ICpxdWFsbmFtZSk7CiBQeUFQSV9GVU5DKGludCkgUHlHZW5fTmVlZHNGaW5hbGl6aW5nKFB5R2VuT2JqZWN0ICopOwogUHlBUElfRlVOQyhpbnQpIF9QeUdlbl9GZXRjaFN0b3BJdGVyYXRpb25WYWx1ZShQeU9iamVjdCAqKik7CiBQeU9iamVjdCAqX1B5R2VuX1NlbmQoUHlHZW5PYmplY3QgKiwgUHlPYmplY3QgKik7CmRpZmYgLS1naXQgYS9JbmNsdWRlL21lbW9yeW9iamVjdC5oIGIvSW5jbHVkZS9tZW1vcnlvYmplY3QuaAppbmRleCAzODJjYTkyLi5hYjVlZTA5IDEwMDY0NAotLS0gYS9JbmNsdWRlL21lbW9yeW9iamVjdC5oCisrKyBiL0luY2x1ZGUvbWVtb3J5b2JqZWN0LmgKQEAgLTQ1LDkgKzQ1LDYgQEAKIH0gX1B5TWFuYWdlZEJ1ZmZlck9iamVjdDsKIAogCi0vKiBkZXByZWNhdGVkLCByZW1vdmVkIGluIDMuNSAqLwotI2RlZmluZSBfUHlfTUVNT1JZVklFV19NQVhfRk9STUFUIDMgLyogbXVzdCBiZSA+PSAzICovCi0KIC8qIG1lbW9yeXZpZXcgc3RhdGUgZmxhZ3MgKi8KICNkZWZpbmUgX1B5X01FTU9SWVZJRVdfUkVMRUFTRUQgICAgMHgwMDEgIC8qIGFjY2VzcyB0byBtYXN0ZXIgYnVmZmVyIGJsb2NrZWQgKi8KICNkZWZpbmUgX1B5X01FTU9SWVZJRVdfQyAgICAgICAgICAgMHgwMDIgIC8qIEMtY29udGlndW91cyBsYXlvdXQgKi8KQEAgLTYyLDcgKzU5LDYgQEAKICAgICBpbnQgZmxhZ3M7ICAgICAgICAgICAgICAgICAgICAvKiBzdGF0ZSBmbGFncyAqLwogICAgIFB5X3NzaXplX3QgZXhwb3J0czsgICAgICAgICAgIC8qIG51bWJlciBvZiBidWZmZXIgcmUtZXhwb3J0cyAqLwogICAgIFB5X2J1ZmZlciB2aWV3OyAgICAgICAgICAgICAgIC8qIHByaXZhdGUgY29weSBvZiB0aGUgZXhwb3J0ZXIncyB2aWV3ICovCi0gICAgY2hhciBmb3JtYXRbX1B5X01FTU9SWVZJRVdfTUFYX0ZPUk1BVF07IC8qIGRlcHJlY2F0ZWQsIHJlbW92ZWQgaW4gMy41ICovCiAgICAgUHlPYmplY3QgKndlYWtyZWZsaXN0OwogICAgIFB5X3NzaXplX3Qgb2JfYXJyYXlbMV07ICAgICAgIC8qIHNoYXBlLCBzdHJpZGVzLCBzdWJvZmZzZXRzICovCiB9IFB5TWVtb3J5Vmlld09iamVjdDsKZGlmZiAtLWdpdCBhL0luY2x1ZGUvbWV0aG9kb2JqZWN0LmggYi9JbmNsdWRlL21ldGhvZG9iamVjdC5oCmluZGV4IDNjYzJlYTkuLjAyMzYyMjggMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvbWV0aG9kb2JqZWN0LmgKKysrIGIvSW5jbHVkZS9tZXRob2RvYmplY3QuaApAQCAtNzcsNiArNzcsNyBAQAogICAgIFB5TWV0aG9kRGVmICptX21sOyAvKiBEZXNjcmlwdGlvbiBvZiB0aGUgQyBmdW5jdGlvbiB0byBjYWxsICovCiAgICAgUHlPYmplY3QgICAgKm1fc2VsZjsgLyogUGFzc2VkIGFzICdzZWxmJyBhcmcgdG8gdGhlIEMgZnVuYywgY2FuIGJlIE5VTEwgKi8KICAgICBQeU9iamVjdCAgICAqbV9tb2R1bGU7IC8qIFRoZSBfX21vZHVsZV9fIGF0dHJpYnV0ZSwgY2FuIGJlIGFueXRoaW5nICovCisgICAgUHlPYmplY3QgICAgKm1fd2Vha3JlZmxpc3Q7IC8qIExpc3Qgb2Ygd2VhayByZWZlcmVuY2VzICovCiB9IFB5Q0Z1bmN0aW9uT2JqZWN0OwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL0luY2x1ZGUvb2JqZWN0LmggYi9JbmNsdWRlL29iamVjdC5oCmluZGV4IDkzMDYyODguLmUyOTYwOGEgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvb2JqZWN0LmgKKysrIGIvSW5jbHVkZS9vYmplY3QuaApAQCAtNjUsNiArNjUsNyBAQAogI2Vycm9yIFB5X0xJTUlURURfQVBJIGlzIGluY29tcGF0aWJsZSB3aXRoIFB5X0RFQlVHLCBQeV9UUkFDRV9SRUZTLCBhbmQgUHlfUkVGX0RFQlVHCiAjZW5kaWYKIAorCiAjaWZkZWYgUHlfVFJBQ0VfUkVGUwogLyogRGVmaW5lIHBvaW50ZXJzIHRvIHN1cHBvcnQgYSBkb3VibHktbGlua2VkIGxpc3Qgb2YgYWxsIGxpdmUgaGVhcCBvYmplY3RzLiAqLwogI2RlZmluZSBfUHlPYmplY3RfSEVBRF9FWFRSQSAgICAgICAgICAgIFwKQEAgLTI3NSw2ICsyNzYsOSBAQAogICAgIGJpbmFyeWZ1bmMgbmJfaW5wbGFjZV90cnVlX2RpdmlkZTsKIAogICAgIHVuYXJ5ZnVuYyBuYl9pbmRleDsKKworICAgIGJpbmFyeWZ1bmMgbmJfbWF0cml4X211bHRpcGx5OworICAgIGJpbmFyeWZ1bmMgbmJfaW5wbGFjZV9tYXRyaXhfbXVsdGlwbHk7CiB9IFB5TnVtYmVyTWV0aG9kczsKIAogdHlwZWRlZiBzdHJ1Y3QgewpAQCAtNTcyLDEzICs1NzYsNiBAQAogUHlBUElfRlVOQyhpbnQpIFB5X1JlcHJFbnRlcihQeU9iamVjdCAqKTsKIFB5QVBJX0ZVTkModm9pZCkgUHlfUmVwckxlYXZlKFB5T2JqZWN0ICopOwogCi0jaWZuZGVmIFB5X0xJTUlURURfQVBJCi0vKiBIZWxwZXIgZm9yIHBhc3Npbmcgb2JqZWN0cyB0byBwcmludGYgYW5kIHRoZSBsaWtlLgotICAgTGVha3MgcmVmY291bnRzLiAgRG9uJ3QgdXNlIGl0IQotKi8KLSNkZWZpbmUgUHlPYmplY3RfUkVQUihvYmopIFB5VW5pY29kZV9Bc1VURjgoUHlPYmplY3RfUmVwcihvYmopKQotI2VuZGlmCi0KIC8qIEZsYWcgYml0cyBmb3IgcHJpbnRpbmc6ICovCiAjZGVmaW5lIFB5X1BSSU5UX1JBVyAgICAxICAgICAgIC8qIE5vIHN0cmluZyBxdW90ZXMgZXRjLiAqLwogCkBAIC03MTQsMTEgKzcxMSwxNyBAQAogICAgICAgICAgICAgICAgIF9QeV9OZWdhdGl2ZVJlZmNvdW50KF9fRklMRV9fLCBfX0xJTkVfXywgICAgICAgIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoUHlPYmplY3QgKikoT1ApKTsgICAgICAgICBcCiB9CisvKiBQeV9SRUZfREVCVUcgYWxzbyBjb250cm9scyB0aGUgZGlzcGxheSBvZiByZWZjb3VudHMgYW5kIG1lbW9yeSBibG9jaworICogYWxsb2NhdGlvbnMgYXQgdGhlIGludGVyYWN0aXZlIHByb21wdCBhbmQgYXQgaW50ZXJwcmV0ZXIgc2h1dGRvd24KKyAqLworUHlBUElfRlVOQyh2b2lkKSBfUHlEZWJ1Z19QcmludFRvdGFsUmVmcyh2b2lkKTsKKyNkZWZpbmUgX1BZX0RFQlVHX1BSSU5UX1RPVEFMX1JFRlMoKSBfUHlEZWJ1Z19QcmludFRvdGFsUmVmcygpCiAjZWxzZQogI2RlZmluZSBfUHlfSU5DX1JFRlRPVEFMCiAjZGVmaW5lIF9QeV9ERUNfUkVGVE9UQUwKICNkZWZpbmUgX1B5X1JFRl9ERUJVR19DT01NQQogI2RlZmluZSBfUHlfQ0hFQ0tfUkVGQ05UKE9QKSAgICAvKiBhIHNlbWljb2xvbiAqLzsKKyNkZWZpbmUgX1BZX0RFQlVHX1BSSU5UX1RPVEFMX1JFRlMoKQogI2VuZGlmIC8qIFB5X1JFRl9ERUJVRyAqLwogCiAjaWZkZWYgQ09VTlRfQUxMT0NTCmRpZmYgLS1naXQgYS9JbmNsdWRlL29iamltcGwuaCBiL0luY2x1ZGUvb2JqaW1wbC5oCmluZGV4IDNmMjFiNzAuLjY1YjZkOTEgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvb2JqaW1wbC5oCisrKyBiL0luY2x1ZGUvb2JqaW1wbC5oCkBAIC05NSw2ICs5NSw3IEBACiAgICB0aGUgcmF3IG1lbW9yeS4KICovCiBQeUFQSV9GVU5DKHZvaWQgKikgUHlPYmplY3RfTWFsbG9jKHNpemVfdCBzaXplKTsKK1B5QVBJX0ZVTkModm9pZCAqKSBQeU9iamVjdF9DYWxsb2Moc2l6ZV90IG5lbGVtLCBzaXplX3QgZWxzaXplKTsKIFB5QVBJX0ZVTkModm9pZCAqKSBQeU9iamVjdF9SZWFsbG9jKHZvaWQgKnB0ciwgc2l6ZV90IG5ld19zaXplKTsKIFB5QVBJX0ZVTkModm9pZCkgUHlPYmplY3RfRnJlZSh2b2lkICpwdHIpOwogCkBAIC0zMjEsNyArMzIyLDggQEAKICAgICAgICAgKCFQeVR1cGxlX0NoZWNrRXhhY3Qob2JqKSB8fCBfUHlPYmplY3RfR0NfSVNfVFJBQ0tFRChvYmopKSkKICNlbmRpZiAvKiBQeV9MSU1JVEVEX0FQSSAqLwogCi1QeUFQSV9GVU5DKFB5T2JqZWN0ICopIF9QeU9iamVjdF9HQ19NYWxsb2Moc2l6ZV90KTsKK1B5QVBJX0ZVTkMoUHlPYmplY3QgKikgX1B5T2JqZWN0X0dDX01hbGxvYyhzaXplX3Qgc2l6ZSk7CitQeUFQSV9GVU5DKFB5T2JqZWN0ICopIF9QeU9iamVjdF9HQ19DYWxsb2Moc2l6ZV90IHNpemUpOwogUHlBUElfRlVOQyhQeU9iamVjdCAqKSBfUHlPYmplY3RfR0NfTmV3KFB5VHlwZU9iamVjdCAqKTsKIFB5QVBJX0ZVTkMoUHlWYXJPYmplY3QgKikgX1B5T2JqZWN0X0dDX05ld1ZhcihQeVR5cGVPYmplY3QgKiwgUHlfc3NpemVfdCk7CiBQeUFQSV9GVU5DKHZvaWQpIFB5T2JqZWN0X0dDX1RyYWNrKHZvaWQgKik7CmRpZmYgLS1naXQgYS9JbmNsdWRlL29wY29kZS5oIGIvSW5jbHVkZS9vcGNvZGUuaAppbmRleCAwOTM2ZjJkLi4wNjM4YjU0IDEwMDY0NAotLS0gYS9JbmNsdWRlL29wY29kZS5oCisrKyBiL0luY2x1ZGUvb3Bjb2RlLmgKQEAgLTEsMyArMSw0IEBACisvKiBBdXRvLWdlbmVyYXRlZCBieSBUb29scy9zY3JpcHRzL2dlbmVyYXRlX29wY29kZV9oLnB5ICovCiAjaWZuZGVmIFB5X09QQ09ERV9ICiAjZGVmaW5lIFB5X09QQ09ERV9ICiAjaWZkZWYgX19jcGx1c3BsdXMKQEAgLTUsMTQxICs2LDExMSBAQAogI2VuZGlmCiAKIAotLyogSW5zdHJ1Y3Rpb24gb3Bjb2RlcyBmb3IgY29tcGlsZWQgY29kZSAqLwotCi0jZGVmaW5lIFBPUF9UT1AgICAgICAgICAxCi0jZGVmaW5lIFJPVF9UV08gICAgICAgICAyCi0jZGVmaW5lIFJPVF9USFJFRSAgICAgICAzCi0jZGVmaW5lIERVUF9UT1AgICAgICAgICA0Ci0jZGVmaW5lIERVUF9UT1BfVFdPICAgICA1Ci0jZGVmaW5lIE5PUCAgICAgICAgICAgICA5Ci0KLSNkZWZpbmUgVU5BUllfUE9TSVRJVkUgIDEwCi0jZGVmaW5lIFVOQVJZX05FR0FUSVZFICAxMQotI2RlZmluZSBVTkFSWV9OT1QgICAgICAgMTIKLQotI2RlZmluZSBVTkFSWV9JTlZFUlQgICAgMTUKLQotI2RlZmluZSBCSU5BUllfUE9XRVIgICAgMTkKLQotI2RlZmluZSBCSU5BUllfTVVMVElQTFkgMjAKLQotI2RlZmluZSBCSU5BUllfTU9EVUxPICAgMjIKLSNkZWZpbmUgQklOQVJZX0FERCAgICAgIDIzCi0jZGVmaW5lIEJJTkFSWV9TVUJUUkFDVCAyNAotI2RlZmluZSBCSU5BUllfU1VCU0NSICAgMjUKLSNkZWZpbmUgQklOQVJZX0ZMT09SX0RJVklERSAyNgotI2RlZmluZSBCSU5BUllfVFJVRV9ESVZJREUgMjcKLSNkZWZpbmUgSU5QTEFDRV9GTE9PUl9ESVZJREUgMjgKLSNkZWZpbmUgSU5QTEFDRV9UUlVFX0RJVklERSAyOQotCi0jZGVmaW5lIFNUT1JFX01BUCAgICAgICA1NAotI2RlZmluZSBJTlBMQUNFX0FERCAgICAgNTUKLSNkZWZpbmUgSU5QTEFDRV9TVUJUUkFDVCAgICAgICAgNTYKLSNkZWZpbmUgSU5QTEFDRV9NVUxUSVBMWSAgICAgICAgNTcKLQotI2RlZmluZSBJTlBMQUNFX01PRFVMTyAgNTkKLSNkZWZpbmUgU1RPUkVfU1VCU0NSICAgIDYwCi0jZGVmaW5lIERFTEVURV9TVUJTQ1IgICA2MQotCi0jZGVmaW5lIEJJTkFSWV9MU0hJRlQgICA2MgotI2RlZmluZSBCSU5BUllfUlNISUZUICAgNjMKLSNkZWZpbmUgQklOQVJZX0FORCAgICAgIDY0Ci0jZGVmaW5lIEJJTkFSWV9YT1IgICAgICA2NQotI2RlZmluZSBCSU5BUllfT1IgICAgICAgNjYKLSNkZWZpbmUgSU5QTEFDRV9QT1dFUiAgIDY3Ci0jZGVmaW5lIEdFVF9JVEVSICAgICAgICA2OAotI2RlZmluZSBQUklOVF9FWFBSICAgICAgNzAKLSNkZWZpbmUgTE9BRF9CVUlMRF9DTEFTUyA3MQotI2RlZmluZSBZSUVMRF9GUk9NICAgICAgNzIKLQotI2RlZmluZSBJTlBMQUNFX0xTSElGVCAgNzUKLSNkZWZpbmUgSU5QTEFDRV9SU0hJRlQgIDc2Ci0jZGVmaW5lIElOUExBQ0VfQU5EICAgICA3NwotI2RlZmluZSBJTlBMQUNFX1hPUiAgICAgNzgKLSNkZWZpbmUgSU5QTEFDRV9PUiAgICAgIDc5Ci0jZGVmaW5lIEJSRUFLX0xPT1AgICAgICA4MAotI2RlZmluZSBXSVRIX0NMRUFOVVAgICAgODEKLQotI2RlZmluZSBSRVRVUk5fVkFMVUUgICAgODMKLSNkZWZpbmUgSU1QT1JUX1NUQVIgICAgIDg0Ci0KLSNkZWZpbmUgWUlFTERfVkFMVUUgICAgIDg2Ci0jZGVmaW5lIFBPUF9CTE9DSyAgICAgICA4NwotI2RlZmluZSBFTkRfRklOQUxMWSAgICAgODgKLSNkZWZpbmUgUE9QX0VYQ0VQVCAgICAgIDg5Ci0KLSNkZWZpbmUgSEFWRV9BUkdVTUVOVCAgIDkwICAgICAgLyogT3Bjb2RlcyBmcm9tIGhlcmUgaGF2ZSBhbiBhcmd1bWVudDogKi8KLQotI2RlZmluZSBTVE9SRV9OQU1FICAgICAgOTAgICAgICAvKiBJbmRleCBpbiBuYW1lIGxpc3QgKi8KLSNkZWZpbmUgREVMRVRFX05BTUUgICAgIDkxICAgICAgLyogIiIgKi8KLSNkZWZpbmUgVU5QQUNLX1NFUVVFTkNFIDkyICAgICAgLyogTnVtYmVyIG9mIHNlcXVlbmNlIGl0ZW1zICovCi0jZGVmaW5lIEZPUl9JVEVSICAgICAgICA5MwotI2RlZmluZSBVTlBBQ0tfRVggICAgICAgOTQgICAgICAvKiBOdW0gaXRlbXMgYmVmb3JlIHZhcmlhYmxlIHBhcnQgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoTnVtIGl0ZW1zIGFmdGVyIHZhcmlhYmxlIHBhcnQgPDwgOCkgKi8KLQotI2RlZmluZSBTVE9SRV9BVFRSICAgICAgOTUgICAgICAvKiBJbmRleCBpbiBuYW1lIGxpc3QgKi8KLSNkZWZpbmUgREVMRVRFX0FUVFIgICAgIDk2ICAgICAgLyogIiIgKi8KLSNkZWZpbmUgU1RPUkVfR0xPQkFMICAgIDk3ICAgICAgLyogIiIgKi8KLSNkZWZpbmUgREVMRVRFX0dMT0JBTCAgIDk4ICAgICAgLyogIiIgKi8KLQotI2RlZmluZSBMT0FEX0NPTlNUICAgICAgMTAwICAgICAvKiBJbmRleCBpbiBjb25zdCBsaXN0ICovCi0jZGVmaW5lIExPQURfTkFNRSAgICAgICAxMDEgICAgIC8qIEluZGV4IGluIG5hbWUgbGlzdCAqLwotI2RlZmluZSBCVUlMRF9UVVBMRSAgICAgMTAyICAgICAvKiBOdW1iZXIgb2YgdHVwbGUgaXRlbXMgKi8KLSNkZWZpbmUgQlVJTERfTElTVCAgICAgIDEwMyAgICAgLyogTnVtYmVyIG9mIGxpc3QgaXRlbXMgKi8KLSNkZWZpbmUgQlVJTERfU0VUICAgICAgIDEwNCAgICAgLyogTnVtYmVyIG9mIHNldCBpdGVtcyAqLwotI2RlZmluZSBCVUlMRF9NQVAgICAgICAgMTA1ICAgICAvKiBBbHdheXMgemVybyBmb3Igbm93ICovCi0jZGVmaW5lIExPQURfQVRUUiAgICAgICAxMDYgICAgIC8qIEluZGV4IGluIG5hbWUgbGlzdCAqLwotI2RlZmluZSBDT01QQVJFX09QICAgICAgMTA3ICAgICAvKiBDb21wYXJpc29uIG9wZXJhdG9yICovCi0jZGVmaW5lIElNUE9SVF9OQU1FICAgICAxMDggICAgIC8qIEluZGV4IGluIG5hbWUgbGlzdCAqLwotI2RlZmluZSBJTVBPUlRfRlJPTSAgICAgMTA5ICAgICAvKiBJbmRleCBpbiBuYW1lIGxpc3QgKi8KLQotI2RlZmluZSBKVU1QX0ZPUldBUkQgICAgMTEwICAgICAvKiBOdW1iZXIgb2YgYnl0ZXMgdG8gc2tpcCAqLwotI2RlZmluZSBKVU1QX0lGX0ZBTFNFX09SX1BPUCAxMTEgICAgICAgIC8qIFRhcmdldCBieXRlIG9mZnNldCBmcm9tIGJlZ2lubmluZyBvZiBjb2RlICovCi0jZGVmaW5lIEpVTVBfSUZfVFJVRV9PUl9QT1AgMTEyIC8qICIiICovCi0jZGVmaW5lIEpVTVBfQUJTT0xVVEUgICAxMTMgICAgIC8qICIiICovCi0jZGVmaW5lIFBPUF9KVU1QX0lGX0ZBTFNFIDExNCAgIC8qICIiICovCi0jZGVmaW5lIFBPUF9KVU1QX0lGX1RSVUUgMTE1ICAgIC8qICIiICovCi0KLSNkZWZpbmUgTE9BRF9HTE9CQUwgICAgIDExNiAgICAgLyogSW5kZXggaW4gbmFtZSBsaXN0ICovCi0KLSNkZWZpbmUgQ09OVElOVUVfTE9PUCAgIDExOSAgICAgLyogU3RhcnQgb2YgbG9vcCAoYWJzb2x1dGUpICovCi0jZGVmaW5lIFNFVFVQX0xPT1AgICAgICAxMjAgICAgIC8qIFRhcmdldCBhZGRyZXNzIChyZWxhdGl2ZSkgKi8KLSNkZWZpbmUgU0VUVVBfRVhDRVBUICAgIDEyMSAgICAgLyogIiIgKi8KLSNkZWZpbmUgU0VUVVBfRklOQUxMWSAgIDEyMiAgICAgLyogIiIgKi8KLQotI2RlZmluZSBMT0FEX0ZBU1QgICAgICAgMTI0ICAgICAvKiBMb2NhbCB2YXJpYWJsZSBudW1iZXIgKi8KLSNkZWZpbmUgU1RPUkVfRkFTVCAgICAgIDEyNSAgICAgLyogTG9jYWwgdmFyaWFibGUgbnVtYmVyICovCi0jZGVmaW5lIERFTEVURV9GQVNUICAgICAxMjYgICAgIC8qIExvY2FsIHZhcmlhYmxlIG51bWJlciAqLwotCi0jZGVmaW5lIFJBSVNFX1ZBUkFSR1MgICAxMzAgICAgIC8qIE51bWJlciBvZiByYWlzZSBhcmd1bWVudHMgKDEsIDIgb3IgMykgKi8KLS8qIENBTExfRlVOQ1RJT05fWFhYIG9wY29kZXMgZGVmaW5lZCBiZWxvdyBkZXBlbmQgb24gdGhpcyBkZWZpbml0aW9uICovCi0jZGVmaW5lIENBTExfRlVOQ1RJT04gICAxMzEgICAgIC8qICNhcmdzICsgKCNrd2FyZ3M8PDgpICovCi0jZGVmaW5lIE1BS0VfRlVOQ1RJT04gICAxMzIgICAgIC8qICNkZWZhdWx0cyArICNrd2RlZmF1bHRzPDw4ICsgI2Fubm90YXRpb25zPDwxNiAqLwotI2RlZmluZSBCVUlMRF9TTElDRSAgICAgMTMzICAgICAvKiBOdW1iZXIgb2YgaXRlbXMgKi8KLQotI2RlZmluZSBNQUtFX0NMT1NVUkUgICAgMTM0ICAgICAvKiBzYW1lIGFzIE1BS0VfRlVOQ1RJT04gKi8KLSNkZWZpbmUgTE9BRF9DTE9TVVJFICAgIDEzNSAgICAgLyogTG9hZCBmcmVlIHZhcmlhYmxlIGZyb20gY2xvc3VyZSAqLwotI2RlZmluZSBMT0FEX0RFUkVGICAgICAgMTM2ICAgICAvKiBMb2FkIGFuZCBkZXJlZmVyZW5jZSBmcm9tIGNsb3N1cmUgY2VsbCAqLyAKLSNkZWZpbmUgU1RPUkVfREVSRUYgICAgIDEzNyAgICAgLyogU3RvcmUgaW50byBjZWxsICovIAotI2RlZmluZSBERUxFVEVfREVSRUYgICAgMTM4ICAgICAvKiBEZWxldGUgY2xvc3VyZSBjZWxsICovIAotCi0vKiBUaGUgbmV4dCAzIG9wY29kZXMgbXVzdCBiZSBjb250aWd1b3VzIGFuZCBzYXRpc2Z5Ci0gICAoQ0FMTF9GVU5DVElPTl9WQVIgLSBDQUxMX0ZVTkNUSU9OKSAmIDMgPT0gMSAgKi8KLSNkZWZpbmUgQ0FMTF9GVU5DVElPTl9WQVIgICAgICAgICAgMTQwICAvKiAjYXJncyArICgja3dhcmdzPDw4KSAqLwotI2RlZmluZSBDQUxMX0ZVTkNUSU9OX0tXICAgICAgICAgICAxNDEgIC8qICNhcmdzICsgKCNrd2FyZ3M8PDgpICovCi0jZGVmaW5lIENBTExfRlVOQ1RJT05fVkFSX0tXICAgICAgIDE0MiAgLyogI2FyZ3MgKyAoI2t3YXJnczw8OCkgKi8KLQotI2RlZmluZSBTRVRVUF9XSVRIIDE0MwotCi0vKiBTdXBwb3J0IGZvciBvcGFyZ3MgbW9yZSB0aGFuIDE2IGJpdHMgbG9uZyAqLwotI2RlZmluZSBFWFRFTkRFRF9BUkcgIDE0NAotCi0jZGVmaW5lIExJU1RfQVBQRU5EICAgICAxNDUKLSNkZWZpbmUgU0VUX0FERCAgICAgICAgIDE0NgotI2RlZmluZSBNQVBfQUREICAgICAgICAgMTQ3Ci0KLSNkZWZpbmUgTE9BRF9DTEFTU0RFUkVGICAgMTQ4CisgICAgLyogSW5zdHJ1Y3Rpb24gb3Bjb2RlcyBmb3IgY29tcGlsZWQgY29kZSAqLworI2RlZmluZSBQT1BfVE9QICAgICAgICAgICAgIAkxICAKKyNkZWZpbmUgUk9UX1RXTyAgICAgICAgICAgICAJMiAgCisjZGVmaW5lIFJPVF9USFJFRSAgICAgICAgICAgCTMgIAorI2RlZmluZSBEVVBfVE9QICAgICAgICAgICAgIAk0ICAKKyNkZWZpbmUgRFVQX1RPUF9UV08gICAgICAgICAJNSAgCisjZGVmaW5lIE5PUCAgICAgICAgICAgICAgICAgCTkgIAorI2RlZmluZSBVTkFSWV9QT1NJVElWRSAgICAgIAkxMCAKKyNkZWZpbmUgVU5BUllfTkVHQVRJVkUgICAgICAJMTEgCisjZGVmaW5lIFVOQVJZX05PVCAgICAgICAgICAgCTEyIAorI2RlZmluZSBVTkFSWV9JTlZFUlQgICAgICAgIAkxNSAKKyNkZWZpbmUgQklOQVJZX01BVFJJWF9NVUxUSVBMWQkxNiAKKyNkZWZpbmUgSU5QTEFDRV9NQVRSSVhfTVVMVElQTFkJMTcgCisjZGVmaW5lIEJJTkFSWV9QT1dFUiAgICAgICAgCTE5IAorI2RlZmluZSBCSU5BUllfTVVMVElQTFkgICAgIAkyMCAKKyNkZWZpbmUgQklOQVJZX01PRFVMTyAgICAgICAJMjIgCisjZGVmaW5lIEJJTkFSWV9BREQgICAgICAgICAgCTIzIAorI2RlZmluZSBCSU5BUllfU1VCVFJBQ1QgICAgIAkyNCAKKyNkZWZpbmUgQklOQVJZX1NVQlNDUiAgICAgICAJMjUgCisjZGVmaW5lIEJJTkFSWV9GTE9PUl9ESVZJREUgCTI2IAorI2RlZmluZSBCSU5BUllfVFJVRV9ESVZJREUgIAkyNyAKKyNkZWZpbmUgSU5QTEFDRV9GTE9PUl9ESVZJREUJMjggCisjZGVmaW5lIElOUExBQ0VfVFJVRV9ESVZJREUgCTI5IAorI2RlZmluZSBTVE9SRV9NQVAgICAgICAgICAgIAk1NCAKKyNkZWZpbmUgSU5QTEFDRV9BREQgICAgICAgICAJNTUgCisjZGVmaW5lIElOUExBQ0VfU1VCVFJBQ1QgICAgCTU2IAorI2RlZmluZSBJTlBMQUNFX01VTFRJUExZICAgIAk1NyAKKyNkZWZpbmUgSU5QTEFDRV9NT0RVTE8gICAgICAJNTkgCisjZGVmaW5lIFNUT1JFX1NVQlNDUiAgICAgICAgCTYwIAorI2RlZmluZSBERUxFVEVfU1VCU0NSICAgICAgIAk2MSAKKyNkZWZpbmUgQklOQVJZX0xTSElGVCAgICAgICAJNjIgCisjZGVmaW5lIEJJTkFSWV9SU0hJRlQgICAgICAgCTYzIAorI2RlZmluZSBCSU5BUllfQU5EICAgICAgICAgIAk2NCAKKyNkZWZpbmUgQklOQVJZX1hPUiAgICAgICAgICAJNjUgCisjZGVmaW5lIEJJTkFSWV9PUiAgICAgICAgICAgCTY2IAorI2RlZmluZSBJTlBMQUNFX1BPV0VSICAgICAgIAk2NyAKKyNkZWZpbmUgR0VUX0lURVIgICAgICAgICAgICAJNjggCisjZGVmaW5lIFBSSU5UX0VYUFIgICAgICAgICAgCTcwIAorI2RlZmluZSBMT0FEX0JVSUxEX0NMQVNTICAgIAk3MSAKKyNkZWZpbmUgWUlFTERfRlJPTSAgICAgICAgICAJNzIgCisjZGVmaW5lIElOUExBQ0VfTFNISUZUICAgICAgCTc1IAorI2RlZmluZSBJTlBMQUNFX1JTSElGVCAgICAgIAk3NiAKKyNkZWZpbmUgSU5QTEFDRV9BTkQgICAgICAgICAJNzcgCisjZGVmaW5lIElOUExBQ0VfWE9SICAgICAgICAgCTc4IAorI2RlZmluZSBJTlBMQUNFX09SICAgICAgICAgIAk3OSAKKyNkZWZpbmUgQlJFQUtfTE9PUCAgICAgICAgICAJODAgCisjZGVmaW5lIFdJVEhfQ0xFQU5VUCAgICAgICAgCTgxIAorI2RlZmluZSBSRVRVUk5fVkFMVUUgICAgICAgIAk4MyAKKyNkZWZpbmUgSU1QT1JUX1NUQVIgICAgICAgICAJODQgCisjZGVmaW5lIFlJRUxEX1ZBTFVFICAgICAgICAgCTg2IAorI2RlZmluZSBQT1BfQkxPQ0sgICAgICAgICAgIAk4NyAKKyNkZWZpbmUgRU5EX0ZJTkFMTFkgICAgICAgICAJODggCisjZGVmaW5lIFBPUF9FWENFUFQgICAgICAgICAgCTg5IAorI2RlZmluZSBIQVZFX0FSR1VNRU5UICAgICAgIAk5MCAKKyNkZWZpbmUgU1RPUkVfTkFNRSAgICAgICAgICAJOTAgCisjZGVmaW5lIERFTEVURV9OQU1FICAgICAgICAgCTkxIAorI2RlZmluZSBVTlBBQ0tfU0VRVUVOQ0UgICAgIAk5MiAKKyNkZWZpbmUgRk9SX0lURVIgICAgICAgICAgICAJOTMgCisjZGVmaW5lIFVOUEFDS19FWCAgICAgICAgICAgCTk0IAorI2RlZmluZSBTVE9SRV9BVFRSICAgICAgICAgIAk5NSAKKyNkZWZpbmUgREVMRVRFX0FUVFIgICAgICAgICAJOTYgCisjZGVmaW5lIFNUT1JFX0dMT0JBTCAgICAgICAgCTk3IAorI2RlZmluZSBERUxFVEVfR0xPQkFMICAgICAgIAk5OCAKKyNkZWZpbmUgTE9BRF9DT05TVCAgICAgICAgICAJMTAwCisjZGVmaW5lIExPQURfTkFNRSAgICAgICAgICAgCTEwMQorI2RlZmluZSBCVUlMRF9UVVBMRSAgICAgICAgIAkxMDIKKyNkZWZpbmUgQlVJTERfTElTVCAgICAgICAgICAJMTAzCisjZGVmaW5lIEJVSUxEX1NFVCAgICAgICAgICAgCTEwNAorI2RlZmluZSBCVUlMRF9NQVAgICAgICAgICAgIAkxMDUKKyNkZWZpbmUgTE9BRF9BVFRSICAgICAgICAgICAJMTA2CisjZGVmaW5lIENPTVBBUkVfT1AgICAgICAgICAgCTEwNworI2RlZmluZSBJTVBPUlRfTkFNRSAgICAgICAgIAkxMDgKKyNkZWZpbmUgSU1QT1JUX0ZST00gICAgICAgICAJMTA5CisjZGVmaW5lIEpVTVBfRk9SV0FSRCAgICAgICAgCTExMAorI2RlZmluZSBKVU1QX0lGX0ZBTFNFX09SX1BPUAkxMTEKKyNkZWZpbmUgSlVNUF9JRl9UUlVFX09SX1BPUCAJMTEyCisjZGVmaW5lIEpVTVBfQUJTT0xVVEUgICAgICAgCTExMworI2RlZmluZSBQT1BfSlVNUF9JRl9GQUxTRSAgIAkxMTQKKyNkZWZpbmUgUE9QX0pVTVBfSUZfVFJVRSAgICAJMTE1CisjZGVmaW5lIExPQURfR0xPQkFMICAgICAgICAgCTExNgorI2RlZmluZSBDT05USU5VRV9MT09QICAgICAgIAkxMTkKKyNkZWZpbmUgU0VUVVBfTE9PUCAgICAgICAgICAJMTIwCisjZGVmaW5lIFNFVFVQX0VYQ0VQVCAgICAgICAgCTEyMQorI2RlZmluZSBTRVRVUF9GSU5BTExZICAgICAgIAkxMjIKKyNkZWZpbmUgTE9BRF9GQVNUICAgICAgICAgICAJMTI0CisjZGVmaW5lIFNUT1JFX0ZBU1QgICAgICAgICAgCTEyNQorI2RlZmluZSBERUxFVEVfRkFTVCAgICAgICAgIAkxMjYKKyNkZWZpbmUgUkFJU0VfVkFSQVJHUyAgICAgICAJMTMwCisjZGVmaW5lIENBTExfRlVOQ1RJT04gICAgICAgCTEzMQorI2RlZmluZSBNQUtFX0ZVTkNUSU9OICAgICAgIAkxMzIKKyNkZWZpbmUgQlVJTERfU0xJQ0UgICAgICAgICAJMTMzCisjZGVmaW5lIE1BS0VfQ0xPU1VSRSAgICAgICAgCTEzNAorI2RlZmluZSBMT0FEX0NMT1NVUkUgICAgICAgIAkxMzUKKyNkZWZpbmUgTE9BRF9ERVJFRiAgICAgICAgICAJMTM2CisjZGVmaW5lIFNUT1JFX0RFUkVGICAgICAgICAgCTEzNworI2RlZmluZSBERUxFVEVfREVSRUYgICAgICAgIAkxMzgKKyNkZWZpbmUgQ0FMTF9GVU5DVElPTl9WQVIgICAJMTQwCisjZGVmaW5lIENBTExfRlVOQ1RJT05fS1cgICAgCTE0MQorI2RlZmluZSBDQUxMX0ZVTkNUSU9OX1ZBUl9LVwkxNDIKKyNkZWZpbmUgU0VUVVBfV0lUSCAgICAgICAgICAJMTQzCisjZGVmaW5lIEVYVEVOREVEX0FSRyAgICAgICAgCTE0NAorI2RlZmluZSBMSVNUX0FQUEVORCAgICAgICAgIAkxNDUKKyNkZWZpbmUgU0VUX0FERCAgICAgICAgICAgICAJMTQ2CisjZGVmaW5lIE1BUF9BREQgICAgICAgICAgICAgCTE0NworI2RlZmluZSBMT0FEX0NMQVNTREVSRUYgICAgIAkxNDgKIAogLyogRVhDRVBUX0hBTkRMRVIgaXMgYSBzcGVjaWFsLCBpbXBsaWNpdCBibG9jayB0eXBlIHdoaWNoIGlzIGNyZWF0ZWQgd2hlbgogICAgZW50ZXJpbmcgYW4gZXhjZXB0IGhhbmRsZXIuIEl0IGlzIG5vdCBhbiBvcGNvZGUgYnV0IHdlIGRlZmluZSBpdCBoZXJlCkBAIC0xNDgsOCArMTE5LDkgQEAKICNkZWZpbmUgRVhDRVBUX0hBTkRMRVIgMjU3CiAKIAotZW51bSBjbXBfb3Age1B5Q21wX0xUPVB5X0xULCBQeUNtcF9MRT1QeV9MRSwgUHlDbXBfRVE9UHlfRVEsIFB5Q21wX05FPVB5X05FLCBQeUNtcF9HVD1QeV9HVCwgUHlDbXBfR0U9UHlfR0UsCi0gICAgICAgICAgICAgUHlDbXBfSU4sIFB5Q21wX05PVF9JTiwgUHlDbXBfSVMsIFB5Q21wX0lTX05PVCwgUHlDbXBfRVhDX01BVENILCBQeUNtcF9CQUR9OworZW51bSBjbXBfb3Age1B5Q21wX0xUPVB5X0xULCBQeUNtcF9MRT1QeV9MRSwgUHlDbXBfRVE9UHlfRVEsIFB5Q21wX05FPVB5X05FLAorICAgICAgICAgICAgICAgIFB5Q21wX0dUPVB5X0dULCBQeUNtcF9HRT1QeV9HRSwgUHlDbXBfSU4sIFB5Q21wX05PVF9JTiwKKyAgICAgICAgICAgICAgICBQeUNtcF9JUywgUHlDbXBfSVNfTk9ULCBQeUNtcF9FWENfTUFUQ0gsIFB5Q21wX0JBRH07CiAKICNkZWZpbmUgSEFTX0FSRyhvcCkgKChvcCkgPj0gSEFWRV9BUkdVTUVOVCkKIApkaWZmIC0tZ2l0IGEvSW5jbHVkZS9vc2RlZnMuaCBiL0luY2x1ZGUvb3NkZWZzLmgKaW5kZXggMGMyZTM0Yi4uYmQ4NGMxYyAxMDA2NDQKLS0tIGEvSW5jbHVkZS9vc2RlZnMuaAorKysgYi9JbmNsdWRlL29zZGVmcy5oCkBAIC03LDE1ICs3LDEyIEBACiAKIC8qIE9wZXJhdGluZyBzeXN0ZW0gZGVwZW5kZW5jaWVzICovCiAKLS8qIE1vZCBieSBjaHJpc2g6IFFOWCBoYXMgV0FUQ09NLCBidXQgaXNuJ3QgRE9TICovCi0jaWYgIWRlZmluZWQoX19RTlhfXykKLSNpZiBkZWZpbmVkKE1TX1dJTkRPV1MpIHx8IGRlZmluZWQoX19CT1JMQU5EQ19fKSB8fCBkZWZpbmVkKF9fV0FUQ09NQ19fKSB8fCBkZWZpbmVkKF9fREpHUFBfXykKKyNpZmRlZiBNU19XSU5ET1dTCiAjZGVmaW5lIFNFUCBMJ1xcJwogI2RlZmluZSBBTFRTRVAgTCcvJwogI2RlZmluZSBNQVhQQVRITEVOIDI1NgogI2RlZmluZSBERUxJTSBMJzsnCiAjZW5kaWYKLSNlbmRpZgogCiAvKiBGaWxlbmFtZSBzZXBhcmF0b3IgKi8KICNpZm5kZWYgU0VQCmRpZmYgLS1naXQgYS9JbmNsdWRlL3BhdGNobGV2ZWwuaCBiL0luY2x1ZGUvcGF0Y2hsZXZlbC5oCmluZGV4IGU2ODI3NGIuLmVhMGMwNDIgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvcGF0Y2hsZXZlbC5oCisrKyBiL0luY2x1ZGUvcGF0Y2hsZXZlbC5oCkBAIC0xNywxMyArMTcsMTMgQEAKIC8qIFZlcnNpb24gcGFyc2VkIG91dCBpbnRvIG51bWVyaWMgdmFsdWVzICovCiAvKi0tc3RhcnQgY29uc3RhbnRzLS0qLwogI2RlZmluZSBQWV9NQUpPUl9WRVJTSU9OCTMKLSNkZWZpbmUgUFlfTUlOT1JfVkVSU0lPTgk0Ci0jZGVmaW5lIFBZX01JQ1JPX1ZFUlNJT04JMwotI2RlZmluZSBQWV9SRUxFQVNFX0xFVkVMCVBZX1JFTEVBU0VfTEVWRUxfR0FNTUEKKyNkZWZpbmUgUFlfTUlOT1JfVkVSU0lPTgk1CisjZGVmaW5lIFBZX01JQ1JPX1ZFUlNJT04JMAorI2RlZmluZSBQWV9SRUxFQVNFX0xFVkVMCVBZX1JFTEVBU0VfTEVWRUxfQUxQSEEKICNkZWZpbmUgUFlfUkVMRUFTRV9TRVJJQUwJMQogCiAvKiBWZXJzaW9uIGFzIGEgc3RyaW5nICovCi0jZGVmaW5lIFBZX1ZFUlNJT04gICAgICAJIjMuNC4zcmMxKyIKKyNkZWZpbmUgUFlfVkVSU0lPTiAgICAgIAkiMy41LjBhMSsiCiAvKi0tZW5kIGNvbnN0YW50cy0tKi8KIAogLyogVmVyc2lvbiBhcyBhIHNpbmdsZSA0LWJ5dGUgaGV4IG51bWJlciwgZS5nLiAweDAxMDUwMkIyID09IDEuNS4yYjIuCmRpZmYgLS1naXQgYS9JbmNsdWRlL3B5YXRvbWljLmggYi9JbmNsdWRlL3B5YXRvbWljLmgKaW5kZXggZDRlMTllMC4uODBiZDgyNSAxMDA2NDQKLS0tIGEvSW5jbHVkZS9weWF0b21pYy5oCisrKyBiL0luY2x1ZGUvcHlhdG9taWMuaApAQCAtMSwxMiArMSwxNSBAQAogI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQogI2lmbmRlZiBQeV9BVE9NSUNfSAogI2RlZmluZSBQeV9BVE9NSUNfSAotLyogWFhYOiBXaGVuIGNvbXBpbGVycyBzdGFydCBvZmZlcmluZyBhIHN0ZGF0b21pYy5oIHdpdGggbG9jay1mcmVlCi0gICBhdG9taWNfaW50IGFuZCBhdG9taWNfYWRkcmVzcyB0eXBlcywgaW5jbHVkZSB0aGF0IGhlcmUgYW5kIHJld3JpdGUKLSAgIHRoZSBhdG9taWMgb3BlcmF0aW9ucyBpbiB0ZXJtcyBvZiBpdC4gKi8KIAogI2luY2x1ZGUgImR5bmFtaWNfYW5ub3RhdGlvbnMuaCIKIAorI2luY2x1ZGUgInB5Y29uZmlnLmgiCisKKyNpZiBkZWZpbmVkKEhBVkVfU1REX0FUT01JQykKKyNpbmNsdWRlIDxzdGRhdG9taWMuaD4KKyNlbmRpZgorCiAjaWZkZWYgX19jcGx1c3BsdXMKIGV4dGVybiAiQyIgewogI2VuZGlmCkBAIC0yMCw2ICsyMyw3NiBAQAogICogQmV3YXJlLCB0aGUgaW1wbGVtZW50YXRpb25zIGhlcmUgYXJlIGRlZXAgbWFnaWMuCiAgKi8KIAorI2lmIGRlZmluZWQoSEFWRV9TVERfQVRPTUlDKQorCit0eXBlZGVmIGVudW0gX1B5X21lbW9yeV9vcmRlciB7CisgICAgX1B5X21lbW9yeV9vcmRlcl9yZWxheGVkID0gbWVtb3J5X29yZGVyX3JlbGF4ZWQsCisgICAgX1B5X21lbW9yeV9vcmRlcl9hY3F1aXJlID0gbWVtb3J5X29yZGVyX2FjcXVpcmUsCisgICAgX1B5X21lbW9yeV9vcmRlcl9yZWxlYXNlID0gbWVtb3J5X29yZGVyX3JlbGVhc2UsCisgICAgX1B5X21lbW9yeV9vcmRlcl9hY3FfcmVsID0gbWVtb3J5X29yZGVyX2FjcV9yZWwsCisgICAgX1B5X21lbW9yeV9vcmRlcl9zZXFfY3N0ID0gbWVtb3J5X29yZGVyX3NlcV9jc3QKK30gX1B5X21lbW9yeV9vcmRlcjsKKwordHlwZWRlZiBzdHJ1Y3QgX1B5X2F0b21pY19hZGRyZXNzIHsKKyAgICBfQXRvbWljIHZvaWQgKl92YWx1ZTsKK30gX1B5X2F0b21pY19hZGRyZXNzOworCit0eXBlZGVmIHN0cnVjdCBfUHlfYXRvbWljX2ludCB7CisgICAgYXRvbWljX2ludCBfdmFsdWU7Cit9IF9QeV9hdG9taWNfaW50OworCisjZGVmaW5lIF9QeV9hdG9taWNfc2lnbmFsX2ZlbmNlKC8qbWVtb3J5X29yZGVyKi8gT1JERVIpIFwKKyAgICBhdG9taWNfc2lnbmFsX2ZlbmNlKE9SREVSKQorCisjZGVmaW5lIF9QeV9hdG9taWNfdGhyZWFkX2ZlbmNlKC8qbWVtb3J5X29yZGVyKi8gT1JERVIpIFwKKyAgICBhdG9taWNfdGhyZWFkX2ZlbmNlKE9SREVSKQorCisjZGVmaW5lIF9QeV9hdG9taWNfc3RvcmVfZXhwbGljaXQoQVRPTUlDX1ZBTCwgTkVXX1ZBTCwgT1JERVIpIFwKKyAgICBhdG9taWNfc3RvcmVfZXhwbGljaXQoJihBVE9NSUNfVkFMKS0+X3ZhbHVlLCBORVdfVkFMLCBPUkRFUikKKworI2RlZmluZSBfUHlfYXRvbWljX2xvYWRfZXhwbGljaXQoQVRPTUlDX1ZBTCwgT1JERVIpIFwKKyAgICBhdG9taWNfbG9hZF9leHBsaWNpdCgmKEFUT01JQ19WQUwpLT5fdmFsdWUsIE9SREVSKQorCisvKiBVc2UgYnVpbHRpbiBhdG9taWMgb3BlcmF0aW9ucyBpbiBHQ0MgPj0gNC43ICovCisjZWxpZiBkZWZpbmVkKEhBVkVfQlVJTFRJTl9BVE9NSUMpCisKK3R5cGVkZWYgZW51bSBfUHlfbWVtb3J5X29yZGVyIHsKKyAgICBfUHlfbWVtb3J5X29yZGVyX3JlbGF4ZWQgPSBfX0FUT01JQ19SRUxBWEVELAorICAgIF9QeV9tZW1vcnlfb3JkZXJfYWNxdWlyZSA9IF9fQVRPTUlDX0FDUVVJUkUsCisgICAgX1B5X21lbW9yeV9vcmRlcl9yZWxlYXNlID0gX19BVE9NSUNfUkVMRUFTRSwKKyAgICBfUHlfbWVtb3J5X29yZGVyX2FjcV9yZWwgPSBfX0FUT01JQ19BQ1FfUkVMLAorICAgIF9QeV9tZW1vcnlfb3JkZXJfc2VxX2NzdCA9IF9fQVRPTUlDX1NFUV9DU1QKK30gX1B5X21lbW9yeV9vcmRlcjsKKwordHlwZWRlZiBzdHJ1Y3QgX1B5X2F0b21pY19hZGRyZXNzIHsKKyAgICB2b2lkICpfdmFsdWU7Cit9IF9QeV9hdG9taWNfYWRkcmVzczsKKwordHlwZWRlZiBzdHJ1Y3QgX1B5X2F0b21pY19pbnQgeworICAgIGludCBfdmFsdWU7Cit9IF9QeV9hdG9taWNfaW50OworCisjZGVmaW5lIF9QeV9hdG9taWNfc2lnbmFsX2ZlbmNlKC8qbWVtb3J5X29yZGVyKi8gT1JERVIpIFwKKyAgICBfX2F0b21pY19zaWduYWxfZmVuY2UoT1JERVIpCisKKyNkZWZpbmUgX1B5X2F0b21pY190aHJlYWRfZmVuY2UoLyptZW1vcnlfb3JkZXIqLyBPUkRFUikgXAorICAgIF9fYXRvbWljX3RocmVhZF9mZW5jZShPUkRFUikKKworI2RlZmluZSBfUHlfYXRvbWljX3N0b3JlX2V4cGxpY2l0KEFUT01JQ19WQUwsIE5FV19WQUwsIE9SREVSKSBcCisgICAgKGFzc2VydCgoT1JERVIpID09IF9fQVRPTUlDX1JFTEFYRUQgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIHx8IChPUkRFUikgPT0gX19BVE9NSUNfU0VRX0NTVCAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgfHwgKE9SREVSKSA9PSBfX0FUT01JQ19SRUxFQVNFKSwgICAgICAgICAgICAgICAgICBcCisgICAgIF9fYXRvbWljX3N0b3JlX24oJihBVE9NSUNfVkFMKS0+X3ZhbHVlLCBORVdfVkFMLCBPUkRFUikpCisKKyNkZWZpbmUgX1B5X2F0b21pY19sb2FkX2V4cGxpY2l0KEFUT01JQ19WQUwsIE9SREVSKSAgICAgICAgICAgXAorICAgIChhc3NlcnQoKE9SREVSKSA9PSBfX0FUT01JQ19SRUxBWEVEICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICB8fCAoT1JERVIpID09IF9fQVRPTUlDX1NFUV9DU1QgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIHx8IChPUkRFUikgPT0gX19BVE9NSUNfQUNRVUlSRSAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgfHwgKE9SREVSKSA9PSBfX0FUT01JQ19DT05TVU1FKSwgICAgICAgICAgICAgICAgICBcCisgICAgIF9fYXRvbWljX2xvYWRfbigmKEFUT01JQ19WQUwpLT5fdmFsdWUsIE9SREVSKSkKKworI2Vsc2UKKwogdHlwZWRlZiBlbnVtIF9QeV9tZW1vcnlfb3JkZXIgewogICAgIF9QeV9tZW1vcnlfb3JkZXJfcmVsYXhlZCwKICAgICBfUHlfbWVtb3J5X29yZGVyX2FjcXVpcmUsCkBAIC0xNjIsNiArMjM1LDcgQEAKICAgICAoKEFUT01JQ19WQUwpLT5fdmFsdWUpCiAKICNlbmRpZiAgLyogIWdjYyB4ODYgKi8KKyNlbmRpZgogCiAvKiBTdGFuZGFyZGl6ZWQgc2hvcnRjdXRzLiAqLwogI2RlZmluZSBfUHlfYXRvbWljX3N0b3JlKEFUT01JQ19WQUwsIE5FV19WQUwpIFwKZGlmZiAtLWdpdCBhL0luY2x1ZGUvcHlkZWJ1Zy5oIGIvSW5jbHVkZS9weWRlYnVnLmgKaW5kZXggOGZlOTgxOC4uMTliZWMyYiAxMDA2NDQKLS0tIGEvSW5jbHVkZS9weWRlYnVnLmgKKysrIGIvSW5jbHVkZS9weWRlYnVnLmgKQEAgLTUsNiArNSw4IEBACiBleHRlcm4gIkMiIHsKICNlbmRpZgogCisvKiBUaGVzZSBnbG9iYWwgdmFyaWFibGUgYXJlIGRlZmluZWQgaW4gcHlsaWZlY3ljbGUuYyAqLworLyogWFhYIChuY29naGxhbik6IG1vdmUgdGhlc2UgZGVjbGFyYXRpb25zIHRvIHB5bGlmZWN5Y2xlLmg/ICovCiBQeUFQSV9EQVRBKGludCkgUHlfRGVidWdGbGFnOwogUHlBUElfREFUQShpbnQpIFB5X1ZlcmJvc2VGbGFnOwogUHlBUElfREFUQShpbnQpIFB5X1F1aWV0RmxhZzsKZGlmZiAtLWdpdCBhL0luY2x1ZGUvcHllcnJvcnMuaCBiL0luY2x1ZGUvcHllcnJvcnMuaAppbmRleCAwMmY2NWQ2Li44YTdlNGY0IDEwMDY0NAotLS0gYS9JbmNsdWRlL3B5ZXJyb3JzLmgKKysrIGIvSW5jbHVkZS9weWVycm9ycy5oCkBAIC05OSw2ICs5OSw3IEBACiAjZGVmaW5lIF9QeV9OT19SRVRVUk4KICNlbmRpZgogCisvKiBEZWZpbmVkIGluIFB5dGhvbi9weWxpZmVjeWNsZS5jICovCiBQeUFQSV9GVU5DKHZvaWQpIFB5X0ZhdGFsRXJyb3IoY29uc3QgY2hhciAqbWVzc2FnZSkgX1B5X05PX1JFVFVSTjsKIAogI2lmIGRlZmluZWQoUHlfREVCVUcpIHx8IGRlZmluZWQoUHlfTElNSVRFRF9BUEkpCkBAIC0yNDQsNiArMjQ1LDEyIEBACiAgICAgY29uc3QgY2hhciAqZm9ybWF0LCAgIC8qIEFTQ0lJLWVuY29kZWQgc3RyaW5nICAqLwogICAgIC4uLgogICAgICk7CisjaWYgIWRlZmluZWQoUHlfTElNSVRFRF9BUEkpIHx8IFB5X0xJTUlURURfQVBJKzAgPj0gMHgwMzA1MDAwMAorUHlBUElfRlVOQyhQeU9iamVjdCAqKSBQeUVycl9Gb3JtYXRWKAorICAgIFB5T2JqZWN0ICpleGNlcHRpb24sCisgICAgY29uc3QgY2hhciAqZm9ybWF0LAorICAgIHZhX2xpc3QgdmFyZ3MpOworI2VuZGlmCiAKICNpZmRlZiBNU19XSU5ET1dTCiBQeUFQSV9GVU5DKFB5T2JqZWN0ICopIFB5RXJyX1NldEZyb21XaW5kb3dzRXJyV2l0aEZpbGVuYW1lKApkaWZmIC0tZ2l0IGEvSW5jbHVkZS9weWxpZmVjeWNsZS5oIGIvSW5jbHVkZS9weWxpZmVjeWNsZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNjZGViZTIKLS0tIC9kZXYvbnVsbAorKysgYi9JbmNsdWRlL3B5bGlmZWN5Y2xlLmgKQEAgLTAsMCArMSwxMjQgQEAKKworLyogSW50ZXJmYWNlcyB0byBjb25maWd1cmUsIHF1ZXJ5LCBjcmVhdGUgJiBkZXN0cm95IHRoZSBQeXRob24gcnVudGltZSAqLworCisjaWZuZGVmIFB5X1BZTElGRUNZQ0xFX0gKKyNkZWZpbmUgUHlfUFlMSUZFQ1lDTEVfSAorI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCitQeUFQSV9GVU5DKHZvaWQpIFB5X1NldFByb2dyYW1OYW1lKHdjaGFyX3QgKik7CitQeUFQSV9GVU5DKHdjaGFyX3QgKikgUHlfR2V0UHJvZ3JhbU5hbWUodm9pZCk7CisKK1B5QVBJX0ZVTkModm9pZCkgUHlfU2V0UHl0aG9uSG9tZSh3Y2hhcl90ICopOworUHlBUElfRlVOQyh3Y2hhcl90ICopIFB5X0dldFB5dGhvbkhvbWUodm9pZCk7CisKKyNpZm5kZWYgUHlfTElNSVRFRF9BUEkKKy8qIE9ubHkgdXNlZCBieSBhcHBsaWNhdGlvbnMgdGhhdCBlbWJlZCB0aGUgaW50ZXJwcmV0ZXIgYW5kIG5lZWQgdG8KKyAqIG92ZXJyaWRlIHRoZSBzdGFuZGFyZCBlbmNvZGluZyBkZXRlcm1pbmF0aW9uIG1lY2hhbmlzbQorICovCitQeUFQSV9GVU5DKGludCkgUHlfU2V0U3RhbmRhcmRTdHJlYW1FbmNvZGluZyhjb25zdCBjaGFyICplbmNvZGluZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVycm9ycyk7CisjZW5kaWYKKworUHlBUElfRlVOQyh2b2lkKSBQeV9Jbml0aWFsaXplKHZvaWQpOworUHlBUElfRlVOQyh2b2lkKSBQeV9Jbml0aWFsaXplRXgoaW50KTsKKyNpZm5kZWYgUHlfTElNSVRFRF9BUEkKK1B5QVBJX0ZVTkModm9pZCkgX1B5X0luaXRpYWxpemVFeF9Qcml2YXRlKGludCwgaW50KTsKKyNlbmRpZgorUHlBUElfRlVOQyh2b2lkKSBQeV9GaW5hbGl6ZSh2b2lkKTsKK1B5QVBJX0ZVTkMoaW50KSBQeV9Jc0luaXRpYWxpemVkKHZvaWQpOworUHlBUElfRlVOQyhQeVRocmVhZFN0YXRlICopIFB5X05ld0ludGVycHJldGVyKHZvaWQpOworUHlBUElfRlVOQyh2b2lkKSBQeV9FbmRJbnRlcnByZXRlcihQeVRocmVhZFN0YXRlICopOworCisKKy8qIFB5X1B5QXRFeGl0IGlzIGZvciB0aGUgYXRleGl0IG1vZHVsZSwgUHlfQXRFeGl0IGlzIGZvciBsb3ctbGV2ZWwKKyAqIGV4aXQgZnVuY3Rpb25zLgorICovCisjaWZuZGVmIFB5X0xJTUlURURfQVBJCitQeUFQSV9GVU5DKHZvaWQpIF9QeV9QeUF0RXhpdCh2b2lkICgqZnVuYykodm9pZCkpOworI2VuZGlmCitQeUFQSV9GVU5DKGludCkgUHlfQXRFeGl0KHZvaWQgKCpmdW5jKSh2b2lkKSk7CisKK1B5QVBJX0ZVTkModm9pZCkgUHlfRXhpdChpbnQpOworCisvKiBSZXN0b3JlIHNpZ25hbHMgdGhhdCB0aGUgaW50ZXJwcmV0ZXIgaGFzIGNhbGxlZCBTSUdfSUdOIG9uIHRvIFNJR19ERkwuICovCisjaWZuZGVmIFB5X0xJTUlURURfQVBJCitQeUFQSV9GVU5DKHZvaWQpIF9QeV9SZXN0b3JlU2lnbmFscyh2b2lkKTsKKworUHlBUElfRlVOQyhpbnQpIFB5X0ZkSXNJbnRlcmFjdGl2ZShGSUxFICosIGNvbnN0IGNoYXIgKik7CisjZW5kaWYKKworLyogQm9vdHN0cmFwIF9fbWFpbl9fIChkZWZpbmVkIGluIE1vZHVsZXMvbWFpbi5jKSAqLworUHlBUElfRlVOQyhpbnQpIFB5X01haW4oaW50IGFyZ2MsIHdjaGFyX3QgKiphcmd2KTsKKworLyogSW4gZ2V0cGF0aC5jICovCitQeUFQSV9GVU5DKHdjaGFyX3QgKikgUHlfR2V0UHJvZ3JhbUZ1bGxQYXRoKHZvaWQpOworUHlBUElfRlVOQyh3Y2hhcl90ICopIFB5X0dldFByZWZpeCh2b2lkKTsKK1B5QVBJX0ZVTkMod2NoYXJfdCAqKSBQeV9HZXRFeGVjUHJlZml4KHZvaWQpOworUHlBUElfRlVOQyh3Y2hhcl90ICopIFB5X0dldFBhdGgodm9pZCk7CitQeUFQSV9GVU5DKHZvaWQpICAgICAgUHlfU2V0UGF0aChjb25zdCB3Y2hhcl90ICopOworI2lmZGVmIE1TX1dJTkRPV1MKK2ludCBfUHlfQ2hlY2tQeXRob24zKCk7CisjZW5kaWYKKworLyogSW4gdGhlaXIgb3duIGZpbGVzICovCitQeUFQSV9GVU5DKGNvbnN0IGNoYXIgKikgUHlfR2V0VmVyc2lvbih2b2lkKTsKK1B5QVBJX0ZVTkMoY29uc3QgY2hhciAqKSBQeV9HZXRQbGF0Zm9ybSh2b2lkKTsKK1B5QVBJX0ZVTkMoY29uc3QgY2hhciAqKSBQeV9HZXRDb3B5cmlnaHQodm9pZCk7CitQeUFQSV9GVU5DKGNvbnN0IGNoYXIgKikgUHlfR2V0Q29tcGlsZXIodm9pZCk7CitQeUFQSV9GVU5DKGNvbnN0IGNoYXIgKikgUHlfR2V0QnVpbGRJbmZvKHZvaWQpOworI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQorUHlBUElfRlVOQyhjb25zdCBjaGFyICopIF9QeV9oZ2lkZW50aWZpZXIodm9pZCk7CitQeUFQSV9GVU5DKGNvbnN0IGNoYXIgKikgX1B5X2hndmVyc2lvbih2b2lkKTsKKyNlbmRpZgorCisvKiBJbnRlcm5hbCAtLSB2YXJpb3VzIG9uZS10aW1lIGluaXRpYWxpemF0aW9ucyAqLworI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQorUHlBUElfRlVOQyhQeU9iamVjdCAqKSBfUHlCdWlsdGluX0luaXQodm9pZCk7CitQeUFQSV9GVU5DKFB5T2JqZWN0ICopIF9QeVN5c19Jbml0KHZvaWQpOworUHlBUElfRlVOQyh2b2lkKSBfUHlJbXBvcnRfSW5pdCh2b2lkKTsKK1B5QVBJX0ZVTkModm9pZCkgX1B5RXhjX0luaXQoUHlPYmplY3QgKiBibHRpbm1vZCk7CitQeUFQSV9GVU5DKHZvaWQpIF9QeUltcG9ydEhvb2tzX0luaXQodm9pZCk7CitQeUFQSV9GVU5DKGludCkgX1B5RnJhbWVfSW5pdCh2b2lkKTsKK1B5QVBJX0ZVTkMoaW50KSBfUHlGbG9hdF9Jbml0KHZvaWQpOworUHlBUElfRlVOQyhpbnQpIFB5Qnl0ZUFycmF5X0luaXQodm9pZCk7CitQeUFQSV9GVU5DKHZvaWQpIF9QeVJhbmRvbV9Jbml0KHZvaWQpOworI2VuZGlmCisKKy8qIFZhcmlvdXMgaW50ZXJuYWwgZmluYWxpemVycyAqLworI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQorUHlBUElfRlVOQyh2b2lkKSBfUHlFeGNfRmluaSh2b2lkKTsKK1B5QVBJX0ZVTkModm9pZCkgX1B5SW1wb3J0X0Zpbmkodm9pZCk7CitQeUFQSV9GVU5DKHZvaWQpIFB5TWV0aG9kX0Zpbmkodm9pZCk7CitQeUFQSV9GVU5DKHZvaWQpIFB5RnJhbWVfRmluaSh2b2lkKTsKK1B5QVBJX0ZVTkModm9pZCkgUHlDRnVuY3Rpb25fRmluaSh2b2lkKTsKK1B5QVBJX0ZVTkModm9pZCkgUHlEaWN0X0Zpbmkodm9pZCk7CitQeUFQSV9GVU5DKHZvaWQpIFB5VHVwbGVfRmluaSh2b2lkKTsKK1B5QVBJX0ZVTkModm9pZCkgUHlMaXN0X0Zpbmkodm9pZCk7CitQeUFQSV9GVU5DKHZvaWQpIFB5U2V0X0Zpbmkodm9pZCk7CitQeUFQSV9GVU5DKHZvaWQpIFB5Qnl0ZXNfRmluaSh2b2lkKTsKK1B5QVBJX0ZVTkModm9pZCkgUHlCeXRlQXJyYXlfRmluaSh2b2lkKTsKK1B5QVBJX0ZVTkModm9pZCkgUHlGbG9hdF9GaW5pKHZvaWQpOworUHlBUElfRlVOQyh2b2lkKSBQeU9TX0ZpbmlJbnRlcnJ1cHRzKHZvaWQpOworUHlBUElfRlVOQyh2b2lkKSBfUHlHQ19EdW1wU2h1dGRvd25TdGF0cyh2b2lkKTsKK1B5QVBJX0ZVTkModm9pZCkgX1B5R0NfRmluaSh2b2lkKTsKK1B5QVBJX0ZVTkModm9pZCkgUHlTbGljZV9GaW5pKHZvaWQpOworUHlBUElfRlVOQyh2b2lkKSBfUHlUeXBlX0Zpbmkodm9pZCk7CitQeUFQSV9GVU5DKHZvaWQpIF9QeVJhbmRvbV9GaW5pKHZvaWQpOworCitQeUFQSV9EQVRBKFB5VGhyZWFkU3RhdGUgKikgX1B5X0ZpbmFsaXppbmc7CisjZW5kaWYKKworLyogU2lnbmFscyAqLwordHlwZWRlZiB2b2lkICgqUHlPU19zaWdoYW5kbGVyX3QpKGludCk7CitQeUFQSV9GVU5DKFB5T1Nfc2lnaGFuZGxlcl90KSBQeU9TX2dldHNpZyhpbnQpOworUHlBUElfRlVOQyhQeU9TX3NpZ2hhbmRsZXJfdCkgUHlPU19zZXRzaWcoaW50LCBQeU9TX3NpZ2hhbmRsZXJfdCk7CisKKy8qIFJhbmRvbSAqLworUHlBUElfRlVOQyhpbnQpIF9QeU9TX1VSYW5kb20gKHZvaWQgKmJ1ZmZlciwgUHlfc3NpemVfdCBzaXplKTsKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKyNlbmRpZiAvKiAhUHlfUFlMSUZFQ1lDTEVfSCAqLwpkaWZmIC0tZ2l0IGEvSW5jbHVkZS9weW1hY3JvLmggYi9JbmNsdWRlL3B5bWFjcm8uaAppbmRleCA3OTk3YzU1Li4zZjZmNWRjIDEwMDY0NAotLS0gYS9JbmNsdWRlL3B5bWFjcm8uaAorKysgYi9JbmNsdWRlL3B5bWFjcm8uaApAQCAtMSwxMyArMSwyNiBAQAogI2lmbmRlZiBQeV9QWU1BQ1JPX0gKICNkZWZpbmUgUHlfUFlNQUNST19ICiAKKy8qIE1pbmltdW0gdmFsdWUgYmV0d2VlbiB4IGFuZCB5ICovCiAjZGVmaW5lIFB5X01JTih4LCB5KSAoKCh4KSA+ICh5KSkgPyAoeSkgOiAoeCkpCisKKy8qIE1heGltdW0gdmFsdWUgYmV0d2VlbiB4IGFuZCB5ICovCiAjZGVmaW5lIFB5X01BWCh4LCB5KSAoKCh4KSA+ICh5KSkgPyAoeCkgOiAoeSkpCiAKKy8qIEFic29sdXRlIHZhbHVlIG9mIHRoZSBudW1iZXIgeCAqLworI2RlZmluZSBQeV9BQlMoeCkgKCh4KSA8IDAgPyAtKHgpIDogKHgpKQorCisjZGVmaW5lIF9QeV9YU1RSSU5HSUZZKHgpICN4CisKKy8qIENvbnZlcnQgdGhlIGFyZ3VtZW50IHRvIGEgc3RyaW5nLiBGb3IgZXhhbXBsZSwgUHlfU1RSSU5HSUZZKDEyMykgaXMgcmVwbGFjZWQKKyAgIHdpdGggIjEyMyIgYnkgdGhlIHByZXByb2Nlc3Nvci4gRGVmaW5lcyBhcmUgYWxzbyByZXBsYWNlZCBieSB0aGVpciB2YWx1ZS4KKyAgIEZvciBleGFtcGxlIFB5X1NUUklOR0lGWShfX0xJTkVfXykgaXMgcmVwbGFjZWQgYnkgdGhlIGxpbmUgbnVtYmVyLCBub3QKKyAgIGJ5ICJfX0xJTkVfXyIuICovCisjZGVmaW5lIFB5X1NUUklOR0lGWSh4KSBfUHlfWFNUUklOR0lGWSh4KQorCiAvKiBBcmd1bWVudCBtdXN0IGJlIGEgY2hhciBvciBhbiBpbnQgaW4gWy0xMjgsIDEyN10gb3IgWzAsIDI1NV0uICovCiAjZGVmaW5lIFB5X0NIQVJNQVNLKGMpICgodW5zaWduZWQgY2hhcikoKGMpICYgMHhmZikpCiAKLQogLyogQXNzZXJ0IGEgYnVpbGQtdGltZSBkZXBlbmRlbmN5LCBhcyBhbiBleHByZXNzaW9uLgogCiAgICBZb3VyIGNvbXBpbGUgd2lsbCBmYWlsIGlmIHRoZSBjb25kaXRpb24gaXNuJ3QgdHJ1ZSwgb3IgY2FuJ3QgYmUgZXZhbHVhdGVkCmRpZmYgLS1naXQgYS9JbmNsdWRlL3B5bWVtLmggYi9JbmNsdWRlL3B5bWVtLmgKaW5kZXggMjM3MmI4Ni4uMDQzZGI2NCAxMDA2NDQKLS0tIGEvSW5jbHVkZS9weW1lbS5oCisrKyBiL0luY2x1ZGUvcHltZW0uaApAQCAtMTMsNiArMTMsNyBAQAogCiAjaWZuZGVmIFB5X0xJTUlURURfQVBJCiBQeUFQSV9GVU5DKHZvaWQgKikgUHlNZW1fUmF3TWFsbG9jKHNpemVfdCBzaXplKTsKK1B5QVBJX0ZVTkModm9pZCAqKSBQeU1lbV9SYXdDYWxsb2Moc2l6ZV90IG5lbGVtLCBzaXplX3QgZWxzaXplKTsKIFB5QVBJX0ZVTkModm9pZCAqKSBQeU1lbV9SYXdSZWFsbG9jKHZvaWQgKnB0ciwgc2l6ZV90IG5ld19zaXplKTsKIFB5QVBJX0ZVTkModm9pZCkgUHlNZW1fUmF3RnJlZSh2b2lkICpwdHIpOwogI2VuZGlmCkBAIC01Nyw2ICs1OCw3IEBACiAqLwogCiBQeUFQSV9GVU5DKHZvaWQgKikgUHlNZW1fTWFsbG9jKHNpemVfdCBzaXplKTsKK1B5QVBJX0ZVTkModm9pZCAqKSBQeU1lbV9DYWxsb2Moc2l6ZV90IG5lbGVtLCBzaXplX3QgZWxzaXplKTsKIFB5QVBJX0ZVTkModm9pZCAqKSBQeU1lbV9SZWFsbG9jKHZvaWQgKnB0ciwgc2l6ZV90IG5ld19zaXplKTsKIFB5QVBJX0ZVTkModm9pZCkgUHlNZW1fRnJlZSh2b2lkICpwdHIpOwogCkBAIC0xMjYsMjIgKzEyOCwyNSBAQAogfSBQeU1lbUFsbG9jYXRvckRvbWFpbjsKIAogdHlwZWRlZiBzdHJ1Y3QgewotICAgIC8qIHVzZXIgY29udGV4dCBwYXNzZWQgYXMgdGhlIGZpcnN0IGFyZ3VtZW50IHRvIHRoZSAzIGZ1bmN0aW9ucyAqLworICAgIC8qIHVzZXIgY29udGV4dCBwYXNzZWQgYXMgdGhlIGZpcnN0IGFyZ3VtZW50IHRvIHRoZSA0IGZ1bmN0aW9ucyAqLwogICAgIHZvaWQgKmN0eDsKIAogICAgIC8qIGFsbG9jYXRlIGEgbWVtb3J5IGJsb2NrICovCiAgICAgdm9pZCogKCptYWxsb2MpICh2b2lkICpjdHgsIHNpemVfdCBzaXplKTsKIAorICAgIC8qIGFsbG9jYXRlIGEgbWVtb3J5IGJsb2NrIGluaXRpYWxpemVkIGJ5IHplcm9zICovCisgICAgdm9pZCogKCpjYWxsb2MpICh2b2lkICpjdHgsIHNpemVfdCBuZWxlbSwgc2l6ZV90IGVsc2l6ZSk7CisKICAgICAvKiBhbGxvY2F0ZSBvciByZXNpemUgYSBtZW1vcnkgYmxvY2sgKi8KICAgICB2b2lkKiAoKnJlYWxsb2MpICh2b2lkICpjdHgsIHZvaWQgKnB0ciwgc2l6ZV90IG5ld19zaXplKTsKIAogICAgIC8qIHJlbGVhc2UgYSBtZW1vcnkgYmxvY2sgKi8KICAgICB2b2lkICgqZnJlZSkgKHZvaWQgKmN0eCwgdm9pZCAqcHRyKTsKLX0gUHlNZW1BbGxvY2F0b3I7Cit9IFB5TWVtQWxsb2NhdG9yRXg7CiAKIC8qIEdldCB0aGUgbWVtb3J5IGJsb2NrIGFsbG9jYXRvciBvZiB0aGUgc3BlY2lmaWVkIGRvbWFpbi4gKi8KIFB5QVBJX0ZVTkModm9pZCkgUHlNZW1fR2V0QWxsb2NhdG9yKFB5TWVtQWxsb2NhdG9yRG9tYWluIGRvbWFpbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5TWVtQWxsb2NhdG9yICphbGxvY2F0b3IpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlNZW1BbGxvY2F0b3JFeCAqYWxsb2NhdG9yKTsKIAogLyogU2V0IHRoZSBtZW1vcnkgYmxvY2sgYWxsb2NhdG9yIG9mIHRoZSBzcGVjaWZpZWQgZG9tYWluLgogCkBAIC0xNTUsNyArMTYwLDcgQEAKICAgIFB5TWVtX1NldHVwRGVidWdIb29rcygpIGZ1bmN0aW9uIG11c3QgYmUgY2FsbGVkIHRvIHJlaW5zdGFsbCB0aGUgZGVidWcgaG9va3MKICAgIG9uIHRvcCBvbiB0aGUgbmV3IGFsbG9jYXRvci4gKi8KIFB5QVBJX0ZVTkModm9pZCkgUHlNZW1fU2V0QWxsb2NhdG9yKFB5TWVtQWxsb2NhdG9yRG9tYWluIGRvbWFpbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5TWVtQWxsb2NhdG9yICphbGxvY2F0b3IpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlNZW1BbGxvY2F0b3JFeCAqYWxsb2NhdG9yKTsKIAogLyogU2V0dXAgaG9va3MgdG8gZGV0ZWN0IGJ1Z3MgaW4gdGhlIGZvbGxvd2luZyBQeXRob24gbWVtb3J5IGFsbG9jYXRvcgogICAgZnVuY3Rpb25zOgpkaWZmIC0tZ2l0IGEvSW5jbHVkZS9weXBvcnQuaCBiL0luY2x1ZGUvcHlwb3J0LmgKaW5kZXggYzcwNjIxMy4uNjlkZWI5ZiAxMDA2NDQKLS0tIGEvSW5jbHVkZS9weXBvcnQuaAorKysgYi9JbmNsdWRlL3B5cG9ydC5oCkBAIC01ODgsNiArNTg4LDI1IEBACiAgICAgfSB3aGlsZSAoMCkKICNlbmRpZgogCisjaWZkZWYgSEFWRV9HQ0NfQVNNX0ZPUl9NQzY4ODgxCisjZGVmaW5lIEhBVkVfUFlfU0VUXzUzQklUX1BSRUNJU0lPTiAxCisjZGVmaW5lIF9QeV9TRVRfNTNCSVRfUFJFQ0lTSU9OX0hFQURFUiBcCisgIHVuc2lnbmVkIGludCBvbGRfZnBjciwgbmV3X2ZwY3IKKyNkZWZpbmUgX1B5X1NFVF81M0JJVF9QUkVDSVNJT05fU1RBUlQJCQkJCVwKKyAgZG8gewkJCQkJCQkJCVwKKyAgICBfX2FzbV9fICgiZm1vdmUubCAlJWZwY3IsJTAiIDogIj1nIiAob2xkX2ZwY3IpKTsJCQlcCisgICAgLyogU2V0IGRvdWJsZSBwcmVjaXNpb24gLyByb3VuZCB0byBuZWFyZXN0LiAgKi8JCQlcCisgICAgbmV3X2ZwY3IgPSAob2xkX2ZwY3IgJiB+MHhmMCkgfCAweDgwOwkJCQlcCisgICAgaWYgKG5ld19mcGNyICE9IG9sZF9mcGNyKQkJCQkJCVwKKyAgICAgIF9fYXNtX18gdm9sYXRpbGUgKCJmbW92ZS5sICUwLCUlZnBjciIgOiA6ICJnIiAobmV3X2ZwY3IpKTsJXAorICB9IHdoaWxlICgwKQorI2RlZmluZSBfUHlfU0VUXzUzQklUX1BSRUNJU0lPTl9FTkQJCQkJCVwKKyAgZG8gewkJCQkJCQkJCVwKKyAgICBpZiAobmV3X2ZwY3IgIT0gb2xkX2ZwY3IpCQkJCQkJXAorICAgICAgX19hc21fXyB2b2xhdGlsZSAoImZtb3ZlLmwgJTAsJSVmcGNyIiA6IDogImciIChvbGRfZnBjcikpOwlcCisgIH0gd2hpbGUgKDApCisjZW5kaWYKKwogLyogZGVmYXVsdCBkZWZpbml0aW9ucyBhcmUgZW1wdHkgKi8KICNpZm5kZWYgSEFWRV9QWV9TRVRfNTNCSVRfUFJFQ0lTSU9OCiAjZGVmaW5lIF9QeV9TRVRfNTNCSVRfUFJFQ0lTSU9OX0hFQURFUgpkaWZmIC0tZ2l0IGEvSW5jbHVkZS9weXRob25ydW4uaCBiL0luY2x1ZGUvcHl0aG9ucnVuLmgKaW5kZXggMmZjNTU3OC4uMWQ5YjcxYiAxMDA2NDQKLS0tIGEvSW5jbHVkZS9weXRob25ydW4uaAorKysgYi9JbmNsdWRlL3B5dGhvbnJ1bi5oCkBAIC0yMiwzMCArMjIsNiBAQAogfSBQeUNvbXBpbGVyRmxhZ3M7CiAjZW5kaWYKIAotUHlBUElfRlVOQyh2b2lkKSBQeV9TZXRQcm9ncmFtTmFtZSh3Y2hhcl90ICopOwotUHlBUElfRlVOQyh3Y2hhcl90ICopIFB5X0dldFByb2dyYW1OYW1lKHZvaWQpOwotCi1QeUFQSV9GVU5DKHZvaWQpIFB5X1NldFB5dGhvbkhvbWUod2NoYXJfdCAqKTsKLVB5QVBJX0ZVTkMod2NoYXJfdCAqKSBQeV9HZXRQeXRob25Ib21lKHZvaWQpOwotCi0jaWZuZGVmIFB5X0xJTUlURURfQVBJCi0vKiBPbmx5IHVzZWQgYnkgYXBwbGljYXRpb25zIHRoYXQgZW1iZWQgdGhlIGludGVycHJldGVyIGFuZCBuZWVkIHRvCi0gKiBvdmVycmlkZSB0aGUgc3RhbmRhcmQgZW5jb2RpbmcgZGV0ZXJtaW5hdGlvbiBtZWNoYW5pc20KLSAqLwotUHlBUElfRlVOQyhpbnQpIFB5X1NldFN0YW5kYXJkU3RyZWFtRW5jb2RpbmcoY29uc3QgY2hhciAqZW5jb2RpbmcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplcnJvcnMpOwotI2VuZGlmCi0KLVB5QVBJX0ZVTkModm9pZCkgUHlfSW5pdGlhbGl6ZSh2b2lkKTsKLVB5QVBJX0ZVTkModm9pZCkgUHlfSW5pdGlhbGl6ZUV4KGludCk7Ci0jaWZuZGVmIFB5X0xJTUlURURfQVBJCi1QeUFQSV9GVU5DKHZvaWQpIF9QeV9Jbml0aWFsaXplRXhfUHJpdmF0ZShpbnQsIGludCk7Ci0jZW5kaWYKLVB5QVBJX0ZVTkModm9pZCkgUHlfRmluYWxpemUodm9pZCk7Ci1QeUFQSV9GVU5DKGludCkgUHlfSXNJbml0aWFsaXplZCh2b2lkKTsKLVB5QVBJX0ZVTkMoUHlUaHJlYWRTdGF0ZSAqKSBQeV9OZXdJbnRlcnByZXRlcih2b2lkKTsKLVB5QVBJX0ZVTkModm9pZCkgUHlfRW5kSW50ZXJwcmV0ZXIoUHlUaHJlYWRTdGF0ZSAqKTsKLQogI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQogUHlBUElfRlVOQyhpbnQpIFB5UnVuX1NpbXBsZVN0cmluZ0ZsYWdzKGNvbnN0IGNoYXIgKiwgUHlDb21waWxlckZsYWdzICopOwogUHlBUElfRlVOQyhpbnQpIFB5UnVuX0FueUZpbGVGbGFncyhGSUxFICosIGNvbnN0IGNoYXIgKiwgUHlDb21waWxlckZsYWdzICopOwpAQCAtMTY2LDI2ICsxNDIsNiBAQAogUHlBUElfRlVOQyh2b2lkKSBQeUVycl9QcmludEV4KGludCk7CiBQeUFQSV9GVU5DKHZvaWQpIFB5RXJyX0Rpc3BsYXkoUHlPYmplY3QgKiwgUHlPYmplY3QgKiwgUHlPYmplY3QgKik7CiAKLS8qIFB5X1B5QXRFeGl0IGlzIGZvciB0aGUgYXRleGl0IG1vZHVsZSwgUHlfQXRFeGl0IGlzIGZvciBsb3ctbGV2ZWwKLSAqIGV4aXQgZnVuY3Rpb25zLgotICovCi0jaWZuZGVmIFB5X0xJTUlURURfQVBJCi1QeUFQSV9GVU5DKHZvaWQpIF9QeV9QeUF0RXhpdCh2b2lkICgqZnVuYykodm9pZCkpOwotI2VuZGlmCi1QeUFQSV9GVU5DKGludCkgUHlfQXRFeGl0KHZvaWQgKCpmdW5jKSh2b2lkKSk7Ci0KLVB5QVBJX0ZVTkModm9pZCkgUHlfRXhpdChpbnQpOwotCi0vKiBSZXN0b3JlIHNpZ25hbHMgdGhhdCB0aGUgaW50ZXJwcmV0ZXIgaGFzIGNhbGxlZCBTSUdfSUdOIG9uIHRvIFNJR19ERkwuICovCi0jaWZuZGVmIFB5X0xJTUlURURfQVBJCi1QeUFQSV9GVU5DKHZvaWQpIF9QeV9SZXN0b3JlU2lnbmFscyh2b2lkKTsKLQotUHlBUElfRlVOQyhpbnQpIFB5X0ZkSXNJbnRlcmFjdGl2ZShGSUxFICosIGNvbnN0IGNoYXIgKik7Ci0jZW5kaWYKLQotLyogQm9vdHN0cmFwICovCi1QeUFQSV9GVU5DKGludCkgUHlfTWFpbihpbnQgYXJnYywgd2NoYXJfdCAqKmFyZ3YpOwotCiAjaWZuZGVmIFB5X0xJTUlURURfQVBJCiAvKiBVc2UgbWFjcm9zIGZvciBhIGJ1bmNoIG9mIG9sZCB2YXJpYW50cyAqLwogI2RlZmluZSBQeVJ1bl9TdHJpbmcoc3RyLCBzLCBnLCBsKSBQeVJ1bl9TdHJpbmdGbGFncyhzdHIsIHMsIGcsIGwsIE5VTEwpCkBAIC0yMDcsNjQgKzE2Myw2IEBACiAgICAgUHlSdW5fRmlsZUV4RmxhZ3MoZnAsIHAsIHMsIGcsIGwsIDAsIGZsYWdzKQogI2VuZGlmCiAKLS8qIEluIGdldHBhdGguYyAqLwotUHlBUElfRlVOQyh3Y2hhcl90ICopIFB5X0dldFByb2dyYW1GdWxsUGF0aCh2b2lkKTsKLVB5QVBJX0ZVTkMod2NoYXJfdCAqKSBQeV9HZXRQcmVmaXgodm9pZCk7Ci1QeUFQSV9GVU5DKHdjaGFyX3QgKikgUHlfR2V0RXhlY1ByZWZpeCh2b2lkKTsKLVB5QVBJX0ZVTkMod2NoYXJfdCAqKSBQeV9HZXRQYXRoKHZvaWQpOwotUHlBUElfRlVOQyh2b2lkKSAgICAgIFB5X1NldFBhdGgoY29uc3Qgd2NoYXJfdCAqKTsKLSNpZmRlZiBNU19XSU5ET1dTCi1pbnQgX1B5X0NoZWNrUHl0aG9uMygpOwotI2VuZGlmCi0KLS8qIEluIHRoZWlyIG93biBmaWxlcyAqLwotUHlBUElfRlVOQyhjb25zdCBjaGFyICopIFB5X0dldFZlcnNpb24odm9pZCk7Ci1QeUFQSV9GVU5DKGNvbnN0IGNoYXIgKikgUHlfR2V0UGxhdGZvcm0odm9pZCk7Ci1QeUFQSV9GVU5DKGNvbnN0IGNoYXIgKikgUHlfR2V0Q29weXJpZ2h0KHZvaWQpOwotUHlBUElfRlVOQyhjb25zdCBjaGFyICopIFB5X0dldENvbXBpbGVyKHZvaWQpOwotUHlBUElfRlVOQyhjb25zdCBjaGFyICopIFB5X0dldEJ1aWxkSW5mbyh2b2lkKTsKLSNpZm5kZWYgUHlfTElNSVRFRF9BUEkKLVB5QVBJX0ZVTkMoY29uc3QgY2hhciAqKSBfUHlfaGdpZGVudGlmaWVyKHZvaWQpOwotUHlBUElfRlVOQyhjb25zdCBjaGFyICopIF9QeV9oZ3ZlcnNpb24odm9pZCk7Ci0jZW5kaWYKLQotLyogSW50ZXJuYWwgLS0gdmFyaW91cyBvbmUtdGltZSBpbml0aWFsaXphdGlvbnMgKi8KLSNpZm5kZWYgUHlfTElNSVRFRF9BUEkKLVB5QVBJX0ZVTkMoUHlPYmplY3QgKikgX1B5QnVpbHRpbl9Jbml0KHZvaWQpOwotUHlBUElfRlVOQyhQeU9iamVjdCAqKSBfUHlTeXNfSW5pdCh2b2lkKTsKLVB5QVBJX0ZVTkModm9pZCkgX1B5SW1wb3J0X0luaXQodm9pZCk7Ci1QeUFQSV9GVU5DKHZvaWQpIF9QeUV4Y19Jbml0KFB5T2JqZWN0ICogYmx0aW5tb2QpOwotUHlBUElfRlVOQyh2b2lkKSBfUHlJbXBvcnRIb29rc19Jbml0KHZvaWQpOwotUHlBUElfRlVOQyhpbnQpIF9QeUZyYW1lX0luaXQodm9pZCk7Ci1QeUFQSV9GVU5DKGludCkgX1B5RmxvYXRfSW5pdCh2b2lkKTsKLVB5QVBJX0ZVTkMoaW50KSBQeUJ5dGVBcnJheV9Jbml0KHZvaWQpOwotUHlBUElfRlVOQyh2b2lkKSBfUHlSYW5kb21fSW5pdCh2b2lkKTsKLSNlbmRpZgotCi0vKiBWYXJpb3VzIGludGVybmFsIGZpbmFsaXplcnMgKi8KLSNpZm5kZWYgUHlfTElNSVRFRF9BUEkKLVB5QVBJX0ZVTkModm9pZCkgX1B5RXhjX0Zpbmkodm9pZCk7Ci1QeUFQSV9GVU5DKHZvaWQpIF9QeUltcG9ydF9GaW5pKHZvaWQpOwotUHlBUElfRlVOQyh2b2lkKSBQeU1ldGhvZF9GaW5pKHZvaWQpOwotUHlBUElfRlVOQyh2b2lkKSBQeUZyYW1lX0Zpbmkodm9pZCk7Ci1QeUFQSV9GVU5DKHZvaWQpIFB5Q0Z1bmN0aW9uX0Zpbmkodm9pZCk7Ci1QeUFQSV9GVU5DKHZvaWQpIFB5RGljdF9GaW5pKHZvaWQpOwotUHlBUElfRlVOQyh2b2lkKSBQeVR1cGxlX0Zpbmkodm9pZCk7Ci1QeUFQSV9GVU5DKHZvaWQpIFB5TGlzdF9GaW5pKHZvaWQpOwotUHlBUElfRlVOQyh2b2lkKSBQeVNldF9GaW5pKHZvaWQpOwotUHlBUElfRlVOQyh2b2lkKSBQeUJ5dGVzX0Zpbmkodm9pZCk7Ci1QeUFQSV9GVU5DKHZvaWQpIFB5Qnl0ZUFycmF5X0Zpbmkodm9pZCk7Ci1QeUFQSV9GVU5DKHZvaWQpIFB5RmxvYXRfRmluaSh2b2lkKTsKLVB5QVBJX0ZVTkModm9pZCkgUHlPU19GaW5pSW50ZXJydXB0cyh2b2lkKTsKLVB5QVBJX0ZVTkModm9pZCkgX1B5R0NfRHVtcFNodXRkb3duU3RhdHModm9pZCk7Ci1QeUFQSV9GVU5DKHZvaWQpIF9QeUdDX0Zpbmkodm9pZCk7Ci1QeUFQSV9GVU5DKHZvaWQpIFB5U2xpY2VfRmluaSh2b2lkKTsKLVB5QVBJX0ZVTkModm9pZCkgX1B5VHlwZV9GaW5pKHZvaWQpOwotUHlBUElfRlVOQyh2b2lkKSBfUHlSYW5kb21fRmluaSh2b2lkKTsKLQotUHlBUElfREFUQShQeVRocmVhZFN0YXRlICopIF9QeV9GaW5hbGl6aW5nOwotI2VuZGlmCi0KIC8qIFN0dWZmIHdpdGggbm8gcHJvcGVyIGhvbWUgKHlldCkgKi8KICNpZm5kZWYgUHlfTElNSVRFRF9BUEkKIFB5QVBJX0ZVTkMoY2hhciAqKSBQeU9TX1JlYWRsaW5lKEZJTEUgKiwgRklMRSAqLCBjb25zdCBjaGFyICopOwpAQCAtMjkwLDE0ICsxODgsNiBAQAogUHlBUElfRlVOQyhpbnQpIFB5T1NfQ2hlY2tTdGFjayh2b2lkKTsKICNlbmRpZgogCi0vKiBTaWduYWxzICovCi10eXBlZGVmIHZvaWQgKCpQeU9TX3NpZ2hhbmRsZXJfdCkoaW50KTsKLVB5QVBJX0ZVTkMoUHlPU19zaWdoYW5kbGVyX3QpIFB5T1NfZ2V0c2lnKGludCk7Ci1QeUFQSV9GVU5DKFB5T1Nfc2lnaGFuZGxlcl90KSBQeU9TX3NldHNpZyhpbnQsIFB5T1Nfc2lnaGFuZGxlcl90KTsKLQotLyogUmFuZG9tICovCi1QeUFQSV9GVU5DKGludCkgX1B5T1NfVVJhbmRvbSAodm9pZCAqYnVmZmVyLCBQeV9zc2l6ZV90IHNpemUpOwotCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvSW5jbHVkZS9weXRpbWUuaCBiL0luY2x1ZGUvcHl0aW1lLmgKaW5kZXggYjBmYzZkMC4uN2ExNDQ1NiAxMDA2NDQKLS0tIGEvSW5jbHVkZS9weXRpbWUuaAorKysgYi9JbmNsdWRlL3B5dGltZS5oCkBAIC0zNyw3ICszNyw3IEBACiAKIC8qIFNpbWlsYXIgdG8gX1B5VGltZV9nZXR0aW1lb2ZkYXkoKSBidXQgcmV0cmlldmUgYWxzbyBpbmZvcm1hdGlvbiBvbiB0aGUKICAqIGNsb2NrIHVzZWQgdG8gZ2V0IHRoZSBjdXJyZW50IHRpbWUuICovCi1QeUFQSV9GVU5DKHZvaWQpIF9QeVRpbWVfZ2V0dGltZW9mZGF5X2luZm8oCitQeUFQSV9GVU5DKGludCkgX1B5VGltZV9nZXR0aW1lb2ZkYXlfaW5mbygKICAgICBfUHlUaW1lX3RpbWV2YWwgKnRwLAogICAgIF9QeV9jbG9ja19pbmZvX3QgKmluZm8pOwogCkBAIC01Miw4ICs1Miw2IEBACiAgICAgKCh0dl9lbmQudHZfc2VjIC0gdHZfc3RhcnQudHZfc2VjKSArIFwKICAgICAgKHR2X2VuZC50dl91c2VjIC0gdHZfc3RhcnQudHZfdXNlYykgKiAwLjAwMDAwMSkKIAotI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQotCiB0eXBlZGVmIGVudW0gewogICAgIC8qIFJvdW5kIHRvd2FyZHMgemVyby4gKi8KICAgICBfUHlUaW1lX1JPVU5EX0RPV049MCwKQEAgLTkyLDEwICs5MCwyOCBAQAogICAgIHRpbWVfdCAqc2VjLAogICAgIGxvbmcgKm5zZWMsCiAgICAgX1B5VGltZV9yb3VuZF90KTsKLSNlbmRpZgogCi0vKiBEdW1teSB0byBmb3JjZSBsaW5raW5nLiAqLwotUHlBUElfRlVOQyh2b2lkKSBfUHlUaW1lX0luaXQodm9pZCk7CisvKiBHZXQgdGhlIHRpbWUgb2YgYSBtb25vdG9uaWMgY2xvY2ssIGkuZS4gYSBjbG9jayB0aGF0IGNhbm5vdCBnbyBiYWNrd2FyZHMuCisgICBUaGUgY2xvY2sgaXMgbm90IGFmZmVjdGVkIGJ5IHN5c3RlbSBjbG9jayB1cGRhdGVzLiBUaGUgcmVmZXJlbmNlIHBvaW50IG9mCisgICB0aGUgcmV0dXJuZWQgdmFsdWUgaXMgdW5kZWZpbmVkLCBzbyB0aGF0IG9ubHkgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUKKyAgIHJlc3VsdHMgb2YgY29uc2VjdXRpdmUgY2FsbHMgaXMgdmFsaWQuCisKKyAgIFRoZSBmdW5jdGlvbiBuZXZlciBmYWlscy4gX1B5VGltZV9Jbml0KCkgZW5zdXJlcyB0aGF0IGEgbW9ub3RvbmljIGNsb2NrCisgICBpcyBhdmFpbGFibGUgYW5kIHdvcmtzLiAqLworUHlBUElfRlVOQyh2b2lkKSBfUHlUaW1lX21vbm90b25pYygKKyAgICBfUHlUaW1lX3RpbWV2YWwgKnRwKTsKKworLyogU2ltaWxhciB0byBfUHlUaW1lX21vbm90b25pYygpLCBmaWxsIGFsc28gaW5mbyAoaWYgc2V0KSB3aXRoIGluZm9ybWF0aW9uIG9mCisgICB0aGUgZnVuY3Rpb24gdXNlZCB0byBnZXQgdGhlIHRpbWUuCisKKyAgIFJldHVybiAwIG9uIHN1Y2Nlc3MsIHJhaXNlIGFuIGV4Y2VwdGlvbiBhbmQgcmV0dXJuIC0xIG9uIGVycm9yLiAqLworUHlBUElfRlVOQyhpbnQpIF9QeVRpbWVfbW9ub3RvbmljX2luZm8oCisgICAgX1B5VGltZV90aW1ldmFsICp0cCwKKyAgICBfUHlfY2xvY2tfaW5mb190ICppbmZvKTsKKworLyogSW5pdGlhbGl6ZSB0aW1lLgorICAgUmV0dXJuIDAgb24gc3VjY2VzcywgcmFpc2UgYW4gZXhjZXB0aW9uIGFuZCByZXR1cm4gLTEgb24gZXJyb3IuICovCitQeUFQSV9GVU5DKGludCkgX1B5VGltZV9Jbml0KHZvaWQpOwogCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KZGlmZiAtLWdpdCBhL0luY2x1ZGUvc2V0b2JqZWN0LmggYi9JbmNsdWRlL3NldG9iamVjdC5oCmluZGV4IGFlM2Y1NTYuLmYxN2JjMWIgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvc2V0b2JqZWN0LmgKKysrIGIvSW5jbHVkZS9zZXRvYmplY3QuaApAQCAtNiwzOCArNiw0MyBAQAogZXh0ZXJuICJDIiB7CiAjZW5kaWYKIAorI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQogCi0vKgotVGhlcmUgYXJlIHRocmVlIGtpbmRzIG9mIHNsb3RzIGluIHRoZSB0YWJsZToKKy8qIFRoZXJlIGFyZSB0aHJlZSBraW5kcyBvZiBlbnRyaWVzIGluIHRoZSB0YWJsZToKIAogMS4gVW51c2VkOiAga2V5ID09IE5VTEwKIDIuIEFjdGl2ZTogIGtleSAhPSBOVUxMIGFuZCBrZXkgIT0gZHVtbXkKIDMuIER1bW15OiAgIGtleSA9PSBkdW1teQogCi1Ob3RlOiAucG9wKCkgYWJ1c2VzIHRoZSBoYXNoIGZpZWxkIG9mIGFuIFVudXNlZCBvciBEdW1teSBzbG90IHRvCi1ob2xkIGEgc2VhcmNoIGZpbmdlci4gIFRoZSBoYXNoIGZpZWxkIG9mIFVudXNlZCBvciBEdW1teSBzbG90cyBoYXMKLW5vIG1lYW5pbmcgb3RoZXJ3aXNlLgorVGhlIGhhc2ggZmllbGQgb2YgVW51c2VkIHNsb3RzIGhhdmUgbm8gbWVhbmluZy4KK1RoZSBoYXNoIGZpZWxkIG9mIER1bW1ueSBzbG90cyBhcmUgc2V0IHRvIC0xCittZWFuaW5nIHRoYXQgZHVtbXkgZW50cmllcyBjYW4gYmUgZGV0ZWN0ZWQgYnkKK2VpdGhlciBlbnRyeS0+a2V5PT1kdW1teSBvciBieSBlbnRyeS0+aGFzaD09LTEuCiAqLwotI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQorCiAjZGVmaW5lIFB5U2V0X01JTlNJWkUgOAogCiB0eXBlZGVmIHN0cnVjdCB7Ci0gICAgLyogQ2FjaGVkIGhhc2ggY29kZSBvZiB0aGUga2V5LiAqLwogICAgIFB5T2JqZWN0ICprZXk7Ci0gICAgUHlfaGFzaF90IGhhc2g7CisgICAgUHlfaGFzaF90IGhhc2g7ICAgICAgICAgICAgIC8qIENhY2hlZCBoYXNoIGNvZGUgb2YgdGhlIGtleSAqLwogfSBzZXRlbnRyeTsKIAorLyogVGhlIFNldE9iamVjdCBkYXRhIHN0cnVjdHVyZSBpcyBzaGFyZWQgYnkgc2V0IGFuZCBmcm96ZW5zZXQgb2JqZWN0cy4KIAotLyoKLVRoaXMgZGF0YSBzdHJ1Y3R1cmUgaXMgc2hhcmVkIGJ5IHNldCBhbmQgZnJvemVuc2V0IG9iamVjdHMuCitJbnZhcmlhbnQgZm9yIHNldHM6CisgLSBoYXNoIGlzIC0xCisKK0ludmFyaWFudHMgZm9yIGZyb3plbnNldHM6CisgLSBkYXRhIGlzIGltbXV0YWJsZS4KKyAtIGhhc2ggaXMgdGhlIGhhc2ggb2YgdGhlIGZyb3plbnNldCBvciAtMSBpZiBub3QgY29tcHV0ZWQgeWV0LgorCiAqLwogCi10eXBlZGVmIHN0cnVjdCBfc2V0b2JqZWN0IFB5U2V0T2JqZWN0Owotc3RydWN0IF9zZXRvYmplY3QgewordHlwZWRlZiBzdHJ1Y3QgewogICAgIFB5T2JqZWN0X0hFQUQKIAotICAgIFB5X3NzaXplX3QgZmlsbDsgIC8qICMgQWN0aXZlICsgIyBEdW1teSAqLwotICAgIFB5X3NzaXplX3QgdXNlZDsgIC8qICMgQWN0aXZlICovCisgICAgUHlfc3NpemVfdCBmaWxsOyAgICAgICAgICAgIC8qIE51bWJlciBhY3RpdmUgYW5kIGR1bW15IGVudHJpZXMqLworICAgIFB5X3NzaXplX3QgdXNlZDsgICAgICAgICAgICAvKiBOdW1iZXIgYWN0aXZlIGVudHJpZXMgKi8KIAogICAgIC8qIFRoZSB0YWJsZSBjb250YWlucyBtYXNrICsgMSBzbG90cywgYW5kIHRoYXQncyBhIHBvd2VyIG9mIDIuCiAgICAgICogV2Ugc3RvcmUgdGhlIG1hc2sgaW5zdGVhZCBvZiB0aGUgc2l6ZSBiZWNhdXNlIHRoZSBtYXNrIGlzIG1vcmUKQEAgLTQ1LDMzICs1MCw0MiBAQAogICAgICAqLwogICAgIFB5X3NzaXplX3QgbWFzazsKIAotICAgIC8qIHRhYmxlIHBvaW50cyB0byBzbWFsbHRhYmxlIGZvciBzbWFsbCB0YWJsZXMsIGVsc2UgdG8KLSAgICAgKiBhZGRpdGlvbmFsIG1hbGxvYydlZCBtZW1vcnkuICB0YWJsZSBpcyBuZXZlciBOVUxMISAgVGhpcyBydWxlCi0gICAgICogc2F2ZXMgcmVwZWF0ZWQgcnVudGltZSBudWxsLXRlc3RzLgorICAgIC8qIFRoZSB0YWJsZSBwb2ludHMgdG8gYSBmaXhlZC1zaXplIHNtYWxsdGFibGUgZm9yIHNtYWxsIHRhYmxlcworICAgICAqIG9yIHRvIGFkZGl0aW9uYWwgbWFsbG9jJ2VkIG1lbW9yeSBmb3IgYmlnZ2VyIHRhYmxlcy4KKyAgICAgKiBUaGUgdGFibGUgcG9pbnRlciBpcyBuZXZlciBOVUxMIHdoaWNoIHNhdmVzIHVzIGZyb20gcmVwZWF0ZWQKKyAgICAgKiBydW50aW1lIG51bGwtdGVzdHMuCiAgICAgICovCiAgICAgc2V0ZW50cnkgKnRhYmxlOwotICAgIHNldGVudHJ5ICooKmxvb2t1cCkoUHlTZXRPYmplY3QgKnNvLCBQeU9iamVjdCAqa2V5LCBQeV9oYXNoX3QgaGFzaCk7Ci0gICAgUHlfaGFzaF90IGhhc2g7ICAgICAgICAgICAgIC8qIG9ubHkgdXNlZCBieSBmcm96ZW5zZXQgb2JqZWN0cyAqLwotICAgIHNldGVudHJ5IHNtYWxsdGFibGVbUHlTZXRfTUlOU0laRV07CisgICAgUHlfaGFzaF90IGhhc2g7ICAgICAgICAgICAgIC8qIE9ubHkgdXNlZCBieSBmcm96ZW5zZXQgb2JqZWN0cyAqLworICAgIFB5X3NzaXplX3QgZmluZ2VyOyAgICAgICAgICAvKiBTZWFyY2ggZmluZ2VyIGZvciBwb3AoKSAqLwogCisgICAgc2V0ZW50cnkgc21hbGx0YWJsZVtQeVNldF9NSU5TSVpFXTsKICAgICBQeU9iamVjdCAqd2Vha3JlZmxpc3Q7ICAgICAgLyogTGlzdCBvZiB3ZWFrIHJlZmVyZW5jZXMgKi8KLX07Ci0jZW5kaWYgLyogUHlfTElNSVRFRF9BUEkgKi8KK30gUHlTZXRPYmplY3Q7CisKKyNkZWZpbmUgUHlTZXRfR0VUX1NJWkUoc28pICgoKFB5U2V0T2JqZWN0ICopKHNvKSktPnVzZWQpCisKK1B5QVBJX0RBVEEoUHlPYmplY3QgKikgX1B5U2V0X0R1bW15OworCitQeUFQSV9GVU5DKGludCkgX1B5U2V0X05leHRFbnRyeShQeU9iamVjdCAqc2V0LCBQeV9zc2l6ZV90ICpwb3MsIFB5T2JqZWN0ICoqa2V5LCBQeV9oYXNoX3QgKmhhc2gpOworUHlBUElfRlVOQyhpbnQpIF9QeVNldF9VcGRhdGUoUHlPYmplY3QgKnNldCwgUHlPYmplY3QgKml0ZXJhYmxlKTsKK1B5QVBJX0ZVTkMoaW50KSBQeVNldF9DbGVhckZyZWVMaXN0KHZvaWQpOworCisjZW5kaWYgLyogU2VjdGlvbiBleGNsdWRlZCBieSBQeV9MSU1JVEVEX0FQSSAqLwogCiBQeUFQSV9EQVRBKFB5VHlwZU9iamVjdCkgUHlTZXRfVHlwZTsKIFB5QVBJX0RBVEEoUHlUeXBlT2JqZWN0KSBQeUZyb3plblNldF9UeXBlOwogUHlBUElfREFUQShQeVR5cGVPYmplY3QpIFB5U2V0SXRlcl9UeXBlOwotI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQotUHlBUElfREFUQShQeU9iamVjdCAqKSBfUHlTZXRfRHVtbXk7Ci0jZW5kaWYKIAorUHlBUElfRlVOQyhQeU9iamVjdCAqKSBQeVNldF9OZXcoUHlPYmplY3QgKik7CitQeUFQSV9GVU5DKFB5T2JqZWN0ICopIFB5RnJvemVuU2V0X05ldyhQeU9iamVjdCAqKTsKIAotLyogSW52YXJpYW50cyBmb3IgZnJvemVuc2V0czoKLSAqICAgICBkYXRhIGlzIGltbXV0YWJsZS4KLSAqICAgICBoYXNoIGlzIHRoZSBoYXNoIG9mIHRoZSBmcm96ZW5zZXQgb3IgLTEgaWYgbm90IGNvbXB1dGVkIHlldC4KLSAqIEludmFyaWFudHMgZm9yIHNldHM6Ci0gKiAgICAgaGFzaCBpcyAtMQotICovCitQeUFQSV9GVU5DKGludCkgUHlTZXRfQWRkKFB5T2JqZWN0ICpzZXQsIFB5T2JqZWN0ICprZXkpOworUHlBUElfRlVOQyhpbnQpIFB5U2V0X0NsZWFyKFB5T2JqZWN0ICpzZXQpOworUHlBUElfRlVOQyhpbnQpIFB5U2V0X0NvbnRhaW5zKFB5T2JqZWN0ICphbnlzZXQsIFB5T2JqZWN0ICprZXkpOworUHlBUElfRlVOQyhpbnQpIFB5U2V0X0Rpc2NhcmQoUHlPYmplY3QgKnNldCwgUHlPYmplY3QgKmtleSk7CitQeUFQSV9GVU5DKFB5T2JqZWN0ICopIFB5U2V0X1BvcChQeU9iamVjdCAqc2V0KTsKK1B5QVBJX0ZVTkMoUHlfc3NpemVfdCkgUHlTZXRfU2l6ZShQeU9iamVjdCAqYW55c2V0KTsKIAogI2RlZmluZSBQeUZyb3plblNldF9DaGVja0V4YWN0KG9iKSAoUHlfVFlQRShvYikgPT0gJlB5RnJvemVuU2V0X1R5cGUpCiAjZGVmaW5lIFB5QW55U2V0X0NoZWNrRXhhY3Qob2IpIFwKQEAgLTg3LDI2ICsxMDEsNiBAQAogICAgIChQeV9UWVBFKG9iKSA9PSAmUHlGcm96ZW5TZXRfVHlwZSB8fCBcCiAgICAgICBQeVR5cGVfSXNTdWJ0eXBlKFB5X1RZUEUob2IpLCAmUHlGcm96ZW5TZXRfVHlwZSkpCiAKLVB5QVBJX0ZVTkMoUHlPYmplY3QgKikgUHlTZXRfTmV3KFB5T2JqZWN0ICopOwotUHlBUElfRlVOQyhQeU9iamVjdCAqKSBQeUZyb3plblNldF9OZXcoUHlPYmplY3QgKik7Ci1QeUFQSV9GVU5DKFB5X3NzaXplX3QpIFB5U2V0X1NpemUoUHlPYmplY3QgKmFueXNldCk7Ci0jaWZuZGVmIFB5X0xJTUlURURfQVBJCi0jZGVmaW5lIFB5U2V0X0dFVF9TSVpFKHNvKSAoKChQeVNldE9iamVjdCAqKShzbykpLT51c2VkKQotI2VuZGlmCi1QeUFQSV9GVU5DKGludCkgUHlTZXRfQ2xlYXIoUHlPYmplY3QgKnNldCk7Ci1QeUFQSV9GVU5DKGludCkgUHlTZXRfQ29udGFpbnMoUHlPYmplY3QgKmFueXNldCwgUHlPYmplY3QgKmtleSk7Ci1QeUFQSV9GVU5DKGludCkgUHlTZXRfRGlzY2FyZChQeU9iamVjdCAqc2V0LCBQeU9iamVjdCAqa2V5KTsKLVB5QVBJX0ZVTkMoaW50KSBQeVNldF9BZGQoUHlPYmplY3QgKnNldCwgUHlPYmplY3QgKmtleSk7Ci0jaWZuZGVmIFB5X0xJTUlURURfQVBJCi1QeUFQSV9GVU5DKGludCkgX1B5U2V0X05leHRFbnRyeShQeU9iamVjdCAqc2V0LCBQeV9zc2l6ZV90ICpwb3MsIFB5T2JqZWN0ICoqa2V5LCBQeV9oYXNoX3QgKmhhc2gpOwotI2VuZGlmCi1QeUFQSV9GVU5DKFB5T2JqZWN0ICopIFB5U2V0X1BvcChQeU9iamVjdCAqc2V0KTsKLSNpZm5kZWYgUHlfTElNSVRFRF9BUEkKLVB5QVBJX0ZVTkMoaW50KSBfUHlTZXRfVXBkYXRlKFB5T2JqZWN0ICpzZXQsIFB5T2JqZWN0ICppdGVyYWJsZSk7Ci0KLVB5QVBJX0ZVTkMoaW50KSBQeVNldF9DbGVhckZyZWVMaXN0KHZvaWQpOwotI2VuZGlmCi0KICNpZmRlZiBfX2NwbHVzcGx1cwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9JbmNsdWRlL3Rva2VuLmggYi9JbmNsdWRlL3Rva2VuLmgKaW5kZXggOTA1MDIyYi4uMmIyMTNlZSAxMDA2NDQKLS0tIGEvSW5jbHVkZS90b2tlbi5oCisrKyBiL0luY2x1ZGUvdG9rZW4uaApAQCAtNTgsMTMgKzU4LDE0IEBACiAjZGVmaW5lIERPVUJMRVNUQVJFUVVBTAk0NgogI2RlZmluZSBET1VCTEVTTEFTSAk0NwogI2RlZmluZSBET1VCTEVTTEFTSEVRVUFMIDQ4Ci0jZGVmaW5lIEFUICAgICAgICAgICAgICA0OQkKLSNkZWZpbmUgUkFSUk9XICAgICAgICAgIDUwCi0jZGVmaW5lIEVMTElQU0lTICAgICAgICA1MQorI2RlZmluZSBBVCAgICAgICAgICAgICAgNDkKKyNkZWZpbmUgQVRFUVVBTAkJNTAKKyNkZWZpbmUgUkFSUk9XICAgICAgICAgIDUxCisjZGVmaW5lIEVMTElQU0lTICAgICAgICA1MgogLyogRG9uJ3QgZm9yZ2V0IHRvIHVwZGF0ZSB0aGUgdGFibGUgX1B5UGFyc2VyX1Rva2VuTmFtZXMgaW4gdG9rZW5pemVyLmMhICovCi0jZGVmaW5lIE9QCQk1MgotI2RlZmluZSBFUlJPUlRPS0VOCTUzCi0jZGVmaW5lIE5fVE9LRU5TCTU0CisjZGVmaW5lIE9QCQk1MworI2RlZmluZSBFUlJPUlRPS0VOCTU0CisjZGVmaW5lIE5fVE9LRU5TCTU1CiAKIC8qIFNwZWNpYWwgZGVmaW5pdGlvbnMgZm9yIGNvb3BlcmF0aW9uIHdpdGggcGFyc2VyICovCiAKZGlmZiAtLWdpdCBhL0luY2x1ZGUvdHlwZXNsb3RzLmggYi9JbmNsdWRlL3R5cGVzbG90cy5oCmluZGV4IGFkM2NkZmIuLmRhMmU4N2MgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvdHlwZXNsb3RzLmgKKysrIGIvSW5jbHVkZS90eXBlc2xvdHMuaApAQCAtNzQsMyArNzQsNSBAQAogI2RlZmluZSBQeV90cF9tZW1iZXJzIDcyCiAjZGVmaW5lIFB5X3RwX2dldHNldCA3MwogI2RlZmluZSBQeV90cF9mcmVlIDc0CisjZGVmaW5lIFB5X25iX21hdHJpeF9tdWx0aXBseSA3NQorI2RlZmluZSBQeV9uYl9pbnBsYWNlX21hdHJpeF9tdWx0aXBseSA3NgpkaWZmIC0tZ2l0IGEvSW5jbHVkZS91bmljb2Rlb2JqZWN0LmggYi9JbmNsdWRlL3VuaWNvZGVvYmplY3QuaAppbmRleCA3MjlmNTg0Li5kMmZmYWJlIDEwMDY0NAotLS0gYS9JbmNsdWRlL3VuaWNvZGVvYmplY3QuaAorKysgYi9JbmNsdWRlL3VuaWNvZGVvYmplY3QuaApAQCAtMjI0NSw2ICsyMjQ1LDggQEAKICAgICBQeV9VTklDT0RFIGMKICAgICApOwogCitQeUFQSV9GVU5DKFB5T2JqZWN0KikgX1B5VW5pY29kZV9Gb3JtYXRMb25nKFB5T2JqZWN0ICosIGludCwgaW50LCBpbnQpOworCiAvKiBDcmVhdGUgYSBjb3B5IG9mIGEgdW5pY29kZSBzdHJpbmcgZW5kaW5nIHdpdGggYSBudWwgY2hhcmFjdGVyLiBSZXR1cm4gTlVMTAogICAgYW5kIHJhaXNlIGEgTWVtb3J5RXJyb3IgZXhjZXB0aW9uIG9uIG1lbW9yeSBhbGxvY2F0aW9uIGZhaWx1cmUsIG90aGVyd2lzZQogICAgcmV0dXJuIGEgbmV3IGFsbG9jYXRlZCBidWZmZXIgKHVzZSBQeU1lbV9GcmVlKCkgdG8gZnJlZSB0aGUgYnVmZmVyKS4gKi8KZGlmZiAtLWdpdCBhL0xpYi9fY29sbGVjdGlvbnNfYWJjLnB5IGIvTGliL19jb2xsZWN0aW9uc19hYmMucHkKaW5kZXggMzNiNTlhYi4uM2QzZjA3YiAxMDA2NDQKLS0tIGEvTGliL19jb2xsZWN0aW9uc19hYmMucHkKKysrIGIvTGliL19jb2xsZWN0aW9uc19hYmMucHkKQEAgLTQ1Myw2ICs0NTMsOCBAQAogCiBjbGFzcyBNYXBwaW5nVmlldyhTaXplZCk6CiAKKyAgICBfX3Nsb3RzX18gPSAnX21hcHBpbmcnLAorCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIG1hcHBpbmcpOgogICAgICAgICBzZWxmLl9tYXBwaW5nID0gbWFwcGluZwogCkBAIC00NjUsNiArNDY3LDggQEAKIAogY2xhc3MgS2V5c1ZpZXcoTWFwcGluZ1ZpZXcsIFNldCk6CiAKKyAgICBfX3Nsb3RzX18gPSAoKQorCiAgICAgQGNsYXNzbWV0aG9kCiAgICAgZGVmIF9mcm9tX2l0ZXJhYmxlKHNlbGYsIGl0KToKICAgICAgICAgcmV0dXJuIHNldChpdCkKQEAgLTQ4MCw2ICs0ODQsOCBAQAogCiBjbGFzcyBJdGVtc1ZpZXcoTWFwcGluZ1ZpZXcsIFNldCk6CiAKKyAgICBfX3Nsb3RzX18gPSAoKQorCiAgICAgQGNsYXNzbWV0aG9kCiAgICAgZGVmIF9mcm9tX2l0ZXJhYmxlKHNlbGYsIGl0KToKICAgICAgICAgcmV0dXJuIHNldChpdCkKQEAgLTUwMiw2ICs1MDgsOCBAQAogCiBjbGFzcyBWYWx1ZXNWaWV3KE1hcHBpbmdWaWV3KToKIAorICAgIF9fc2xvdHNfXyA9ICgpCisKICAgICBkZWYgX19jb250YWluc19fKHNlbGYsIHZhbHVlKToKICAgICAgICAgZm9yIGtleSBpbiBzZWxmLl9tYXBwaW5nOgogICAgICAgICAgICAgaWYgdmFsdWUgPT0gc2VsZi5fbWFwcGluZ1trZXldOgpkaWZmIC0tZ2l0IGEvTGliL19kdW1teV90aHJlYWQucHkgYi9MaWIvX2R1bW15X3RocmVhZC5weQppbmRleCBiNjdjZmI5Li4zNmU1ZjM4IDEwMDY0NAotLS0gYS9MaWIvX2R1bW15X3RocmVhZC5weQorKysgYi9MaWIvX2R1bW15X3RocmVhZC5weQpAQCAtMTQwLDYgKzE0MCwxNCBAQAogICAgIGRlZiBsb2NrZWQoc2VsZik6CiAgICAgICAgIHJldHVybiBzZWxmLmxvY2tlZF9zdGF0dXMKIAorICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuICI8JXMgJXMuJXMgb2JqZWN0IGF0ICVzPiIgJSAoCisgICAgICAgICAgICAibG9ja2VkIiBpZiBzZWxmLmxvY2tlZF9zdGF0dXMgZWxzZSAidW5sb2NrZWQiLAorICAgICAgICAgICAgc2VsZi5fX2NsYXNzX18uX19tb2R1bGVfXywKKyAgICAgICAgICAgIHNlbGYuX19jbGFzc19fLl9fcXVhbG5hbWVfXywKKyAgICAgICAgICAgIGhleChpZChzZWxmKSkKKyAgICAgICAgKQorCiAjIFVzZWQgdG8gc2lnbmFsIHRoYXQgaW50ZXJydXB0X21haW4gd2FzIGNhbGxlZCBpbiBhICJ0aHJlYWQiCiBfaW50ZXJydXB0ID0gRmFsc2UKICMgVHJ1ZSB3aGVuIG5vdCBleGVjdXRpbmcgaW4gYSAidGhyZWFkIgpkaWZmIC0tZ2l0IGEvTGliL19weWRlY2ltYWwucHkgYi9MaWIvX3B5ZGVjaW1hbC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYTZjNGJkCi0tLSAvZGV2L251bGwKKysrIGIvTGliL19weWRlY2ltYWwucHkKQEAgLTAsMCArMSw2MzgxIEBACisjIENvcHlyaWdodCAoYykgMjAwNCBQeXRob24gU29mdHdhcmUgRm91bmRhdGlvbi4KKyMgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworIyBXcml0dGVuIGJ5IEVyaWMgUHJpY2UgPGVwcmljZSBhdCB0amhzc3QuZWR1PgorIyAgICBhbmQgRmFjdW5kbyBCYXRpc3RhIDxmYWN1bmRvIGF0IHRhbmlxdWV0aWwuY29tLmFyPgorIyAgICBhbmQgUmF5bW9uZCBIZXR0aW5nZXIgPHB5dGhvbiBhdCByY24uY29tPgorIyAgICBhbmQgQWFoeiA8YWFoeiBhdCBwb2JveC5jb20+CisjICAgIGFuZCBUaW0gUGV0ZXJzCisKKyMgVGhpcyBtb2R1bGUgc2hvdWxkIGJlIGtlcHQgaW4gc3luYyB3aXRoIHRoZSBsYXRlc3QgdXBkYXRlcyBvZiB0aGUKKyMgSUJNIHNwZWNpZmljYXRpb24gYXMgaXQgZXZvbHZlcy4gIFRob3NlIHVwZGF0ZXMgd2lsbCBiZSB0cmVhdGVkCisjIGFzIGJ1ZyBmaXhlcyAoZGV2aWF0aW9uIGZyb20gdGhlIHNwZWMgaXMgYSBjb21wYXRpYmlsaXR5LCB1c2FiaWxpdHkKKyMgYnVnKSBhbmQgd2lsbCBiZSBiYWNrcG9ydGVkLiAgQXQgdGhpcyBwb2ludCB0aGUgc3BlYyBpcyBzdGFiaWxpemluZworIyBhbmQgdGhlIHVwZGF0ZXMgYXJlIGJlY29taW5nIGZld2VyLCBzbWFsbGVyLCBhbmQgbGVzcyBzaWduaWZpY2FudC4KKworIiIiCitUaGlzIGlzIGFuIGltcGxlbWVudGF0aW9uIG9mIGRlY2ltYWwgZmxvYXRpbmcgcG9pbnQgYXJpdGhtZXRpYyBiYXNlZCBvbgordGhlIEdlbmVyYWwgRGVjaW1hbCBBcml0aG1ldGljIFNwZWNpZmljYXRpb246CisKKyAgICBodHRwOi8vc3BlbGVvdHJvdmUuY29tL2RlY2ltYWwvZGVjYXJpdGguaHRtbAorCithbmQgSUVFRSBzdGFuZGFyZCA4NTQtMTk4NzoKKworICAgIGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvSUVFRV84NTQtMTk4NworCitEZWNpbWFsIGZsb2F0aW5nIHBvaW50IGhhcyBmaW5pdGUgcHJlY2lzaW9uIHdpdGggYXJiaXRyYXJpbHkgbGFyZ2UgYm91bmRzLgorCitUaGUgcHVycG9zZSBvZiB0aGlzIG1vZHVsZSBpcyB0byBzdXBwb3J0IGFyaXRobWV0aWMgdXNpbmcgZmFtaWxpYXIKKyJzY2hvb2xob3VzZSIgcnVsZXMgYW5kIHRvIGF2b2lkIHNvbWUgb2YgdGhlIHRyaWNreSByZXByZXNlbnRhdGlvbgoraXNzdWVzIGFzc29jaWF0ZWQgd2l0aCBiaW5hcnkgZmxvYXRpbmcgcG9pbnQuICBUaGUgcGFja2FnZSBpcyBlc3BlY2lhbGx5Cit1c2VmdWwgZm9yIGZpbmFuY2lhbCBhcHBsaWNhdGlvbnMgb3IgZm9yIGNvbnRleHRzIHdoZXJlIHVzZXJzIGhhdmUKK2V4cGVjdGF0aW9ucyB0aGF0IGFyZSBhdCBvZGRzIHdpdGggYmluYXJ5IGZsb2F0aW5nIHBvaW50IChmb3IgaW5zdGFuY2UsCitpbiBiaW5hcnkgZmxvYXRpbmcgcG9pbnQsIDEuMDAgJSAwLjEgZ2l2ZXMgMC4wOTk5OTk5OTk5OTk5OTk5NSBpbnN0ZWFkCitvZiAwLjA7IERlY2ltYWwoJzEuMDAnKSAlIERlY2ltYWwoJzAuMScpIHJldHVybnMgdGhlIGV4cGVjdGVkCitEZWNpbWFsKCcwLjAwJykpLgorCitIZXJlIGFyZSBzb21lIGV4YW1wbGVzIG9mIHVzaW5nIHRoZSBkZWNpbWFsIG1vZHVsZToKKworPj4+IGZyb20gZGVjaW1hbCBpbXBvcnQgKgorPj4+IHNldGNvbnRleHQoRXh0ZW5kZWRDb250ZXh0KQorPj4+IERlY2ltYWwoMCkKK0RlY2ltYWwoJzAnKQorPj4+IERlY2ltYWwoJzEnKQorRGVjaW1hbCgnMScpCis+Pj4gRGVjaW1hbCgnLS4wMTIzJykKK0RlY2ltYWwoJy0wLjAxMjMnKQorPj4+IERlY2ltYWwoMTIzNDU2KQorRGVjaW1hbCgnMTIzNDU2JykKKz4+PiBEZWNpbWFsKCcxMjMuNDVlMTIzNDU2NzgnKQorRGVjaW1hbCgnMS4yMzQ1RSsxMjM0NTY4MCcpCis+Pj4gRGVjaW1hbCgnMS4zMycpICsgRGVjaW1hbCgnMS4yNycpCitEZWNpbWFsKCcyLjYwJykKKz4+PiBEZWNpbWFsKCcxMi4zNCcpICsgRGVjaW1hbCgnMy44NycpIC0gRGVjaW1hbCgnMTguNDEnKQorRGVjaW1hbCgnLTIuMjAnKQorPj4+IGRpZyA9IERlY2ltYWwoMSkKKz4+PiBwcmludChkaWcgLyBEZWNpbWFsKDMpKQorMC4zMzMzMzMzMzMKKz4+PiBnZXRjb250ZXh0KCkucHJlYyA9IDE4Cis+Pj4gcHJpbnQoZGlnIC8gRGVjaW1hbCgzKSkKKzAuMzMzMzMzMzMzMzMzMzMzMzMzCis+Pj4gcHJpbnQoZGlnLnNxcnQoKSkKKzEKKz4+PiBwcmludChEZWNpbWFsKDMpLnNxcnQoKSkKKzEuNzMyMDUwODA3NTY4ODc3MjkKKz4+PiBwcmludChEZWNpbWFsKDMpICoqIDEyMykKKzQuODUxOTI3ODA5NzY4OTY0MjdFKzU4Cis+Pj4gaW5mID0gRGVjaW1hbCgxKSAvIERlY2ltYWwoMCkKKz4+PiBwcmludChpbmYpCitJbmZpbml0eQorPj4+IG5lZ2luZiA9IERlY2ltYWwoLTEpIC8gRGVjaW1hbCgwKQorPj4+IHByaW50KG5lZ2luZikKKy1JbmZpbml0eQorPj4+IHByaW50KG5lZ2luZiArIGluZikKK05hTgorPj4+IHByaW50KG5lZ2luZiAqIGluZikKKy1JbmZpbml0eQorPj4+IHByaW50KGRpZyAvIDApCitJbmZpbml0eQorPj4+IGdldGNvbnRleHQoKS50cmFwc1tEaXZpc2lvbkJ5WmVyb10gPSAxCis+Pj4gcHJpbnQoZGlnIC8gMCkKK1RyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKKyAgLi4uCisgIC4uLgorICAuLi4KK2RlY2ltYWwuRGl2aXNpb25CeVplcm86IHggLyAwCis+Pj4gYyA9IENvbnRleHQoKQorPj4+IGMudHJhcHNbSW52YWxpZE9wZXJhdGlvbl0gPSAwCis+Pj4gcHJpbnQoYy5mbGFnc1tJbnZhbGlkT3BlcmF0aW9uXSkKKzAKKz4+PiBjLmRpdmlkZShEZWNpbWFsKDApLCBEZWNpbWFsKDApKQorRGVjaW1hbCgnTmFOJykKKz4+PiBjLnRyYXBzW0ludmFsaWRPcGVyYXRpb25dID0gMQorPj4+IHByaW50KGMuZmxhZ3NbSW52YWxpZE9wZXJhdGlvbl0pCisxCis+Pj4gYy5mbGFnc1tJbnZhbGlkT3BlcmF0aW9uXSA9IDAKKz4+PiBwcmludChjLmZsYWdzW0ludmFsaWRPcGVyYXRpb25dKQorMAorPj4+IHByaW50KGMuZGl2aWRlKERlY2ltYWwoMCksIERlY2ltYWwoMCkpKQorVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgorICAuLi4KKyAgLi4uCisgIC4uLgorZGVjaW1hbC5JbnZhbGlkT3BlcmF0aW9uOiAwIC8gMAorPj4+IHByaW50KGMuZmxhZ3NbSW52YWxpZE9wZXJhdGlvbl0pCisxCis+Pj4gYy5mbGFnc1tJbnZhbGlkT3BlcmF0aW9uXSA9IDAKKz4+PiBjLnRyYXBzW0ludmFsaWRPcGVyYXRpb25dID0gMAorPj4+IHByaW50KGMuZGl2aWRlKERlY2ltYWwoMCksIERlY2ltYWwoMCkpKQorTmFOCis+Pj4gcHJpbnQoYy5mbGFnc1tJbnZhbGlkT3BlcmF0aW9uXSkKKzEKKz4+PgorIiIiCisKK19fYWxsX18gPSBbCisgICAgIyBUd28gbWFqb3IgY2xhc3NlcworICAgICdEZWNpbWFsJywgJ0NvbnRleHQnLAorCisgICAgIyBOYW1lZCB0dXBsZSByZXByZXNlbnRhdGlvbgorICAgICdEZWNpbWFsVHVwbGUnLAorCisgICAgIyBDb250ZXh0cworICAgICdEZWZhdWx0Q29udGV4dCcsICdCYXNpY0NvbnRleHQnLCAnRXh0ZW5kZWRDb250ZXh0JywKKworICAgICMgRXhjZXB0aW9ucworICAgICdEZWNpbWFsRXhjZXB0aW9uJywgJ0NsYW1wZWQnLCAnSW52YWxpZE9wZXJhdGlvbicsICdEaXZpc2lvbkJ5WmVybycsCisgICAgJ0luZXhhY3QnLCAnUm91bmRlZCcsICdTdWJub3JtYWwnLCAnT3ZlcmZsb3cnLCAnVW5kZXJmbG93JywKKyAgICAnRmxvYXRPcGVyYXRpb24nLAorCisgICAgIyBFeGNlcHRpb25hbCBjb25kaXRpb25zIHRoYXQgdHJpZ2dlciBJbnZhbGlkT3BlcmF0aW9uCisgICAgJ0RpdmlzaW9uSW1wb3NzaWJsZScsICdJbnZhbGlkQ29udGV4dCcsICdDb252ZXJzaW9uU3ludGF4JywgJ0RpdmlzaW9uVW5kZWZpbmVkJywKKworICAgICMgQ29uc3RhbnRzIGZvciB1c2UgaW4gc2V0dGluZyB1cCBjb250ZXh0cworICAgICdST1VORF9ET1dOJywgJ1JPVU5EX0hBTEZfVVAnLCAnUk9VTkRfSEFMRl9FVkVOJywgJ1JPVU5EX0NFSUxJTkcnLAorICAgICdST1VORF9GTE9PUicsICdST1VORF9VUCcsICdST1VORF9IQUxGX0RPV04nLCAnUk9VTkRfMDVVUCcsCisKKyAgICAjIEZ1bmN0aW9ucyBmb3IgbWFuaXB1bGF0aW5nIGNvbnRleHRzCisgICAgJ3NldGNvbnRleHQnLCAnZ2V0Y29udGV4dCcsICdsb2NhbGNvbnRleHQnLAorCisgICAgIyBMaW1pdHMgZm9yIHRoZSBDIHZlcnNpb24gZm9yIGNvbXBhdGliaWxpdHkKKyAgICAnTUFYX1BSRUMnLCAgJ01BWF9FTUFYJywgJ01JTl9FTUlOJywgJ01JTl9FVElOWScsCisKKyAgICAjIEMgdmVyc2lvbjogY29tcGlsZSB0aW1lIGNob2ljZSB0aGF0IGVuYWJsZXMgdGhlIHRocmVhZCBsb2NhbCBjb250ZXh0CisgICAgJ0hBVkVfVEhSRUFEUycKK10KKworX194bmFtZV9fID0gX19uYW1lX18gICAgIyBzeXMubW9kdWxlcyBsb29rdXAgKC0td2l0aG91dC10aHJlYWRzKQorX19uYW1lX18gPSAnZGVjaW1hbCcgICAgIyBGb3IgcGlja2xpbmcKK19fdmVyc2lvbl9fID0gJzEuNzAnICAgICMgSGlnaGVzdCB2ZXJzaW9uIG9mIHRoZSBzcGVjIHRoaXMgY29tcGxpZXMgd2l0aAorICAgICAgICAgICAgICAgICAgICAgICAgIyBTZWUgaHR0cDovL3NwZWxlb3Ryb3ZlLmNvbS9kZWNpbWFsLworX19saWJtcGRlY192ZXJzaW9uX18gPSAiMi40LjEiICMgY29tcGF0aWJsZSBsaWJtcGRlYyB2ZXJzaW9uCisKK2ltcG9ydCBtYXRoIGFzIF9tYXRoCitpbXBvcnQgbnVtYmVycyBhcyBfbnVtYmVycworaW1wb3J0IHN5cworCit0cnk6CisgICAgZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgbmFtZWR0dXBsZSBhcyBfbmFtZWR0dXBsZQorICAgIERlY2ltYWxUdXBsZSA9IF9uYW1lZHR1cGxlKCdEZWNpbWFsVHVwbGUnLCAnc2lnbiBkaWdpdHMgZXhwb25lbnQnKQorZXhjZXB0IEltcG9ydEVycm9yOgorICAgIERlY2ltYWxUdXBsZSA9IGxhbWJkYSAqYXJnczogYXJncworCisjIFJvdW5kaW5nCitST1VORF9ET1dOID0gJ1JPVU5EX0RPV04nCitST1VORF9IQUxGX1VQID0gJ1JPVU5EX0hBTEZfVVAnCitST1VORF9IQUxGX0VWRU4gPSAnUk9VTkRfSEFMRl9FVkVOJworUk9VTkRfQ0VJTElORyA9ICdST1VORF9DRUlMSU5HJworUk9VTkRfRkxPT1IgPSAnUk9VTkRfRkxPT1InCitST1VORF9VUCA9ICdST1VORF9VUCcKK1JPVU5EX0hBTEZfRE9XTiA9ICdST1VORF9IQUxGX0RPV04nCitST1VORF8wNVVQID0gJ1JPVU5EXzA1VVAnCisKKyMgQ29tcGF0aWJpbGl0eSB3aXRoIHRoZSBDIHZlcnNpb24KK0hBVkVfVEhSRUFEUyA9IFRydWUKK2lmIHN5cy5tYXhzaXplID09IDIqKjYzLTE6CisgICAgTUFYX1BSRUMgPSA5OTk5OTk5OTk5OTk5OTk5OTkKKyAgICBNQVhfRU1BWCA9IDk5OTk5OTk5OTk5OTk5OTk5OQorICAgIE1JTl9FTUlOID0gLTk5OTk5OTk5OTk5OTk5OTk5OQorZWxzZToKKyAgICBNQVhfUFJFQyA9IDQyNTAwMDAwMAorICAgIE1BWF9FTUFYID0gNDI1MDAwMDAwCisgICAgTUlOX0VNSU4gPSAtNDI1MDAwMDAwCisKK01JTl9FVElOWSA9IE1JTl9FTUlOIC0gKE1BWF9QUkVDLTEpCisKKyMgRXJyb3JzCisKK2NsYXNzIERlY2ltYWxFeGNlcHRpb24oQXJpdGhtZXRpY0Vycm9yKToKKyAgICAiIiJCYXNlIGV4Y2VwdGlvbiBjbGFzcy4KKworICAgIFVzZWQgZXhjZXB0aW9ucyBkZXJpdmUgZnJvbSB0aGlzLgorICAgIElmIGFuIGV4Y2VwdGlvbiBkZXJpdmVzIGZyb20gYW5vdGhlciBleGNlcHRpb24gYmVzaWRlcyB0aGlzIChzdWNoIGFzCisgICAgVW5kZXJmbG93IChJbmV4YWN0LCBSb3VuZGVkLCBTdWJub3JtYWwpIHRoYXQgaW5kaWNhdGVzIHRoYXQgaXQgaXMgb25seQorICAgIGNhbGxlZCBpZiB0aGUgb3RoZXJzIGFyZSBwcmVzZW50LiAgVGhpcyBpc24ndCBhY3R1YWxseSB1c2VkIGZvcgorICAgIGFueXRoaW5nLCB0aG91Z2guCisKKyAgICBoYW5kbGUgIC0tIENhbGxlZCB3aGVuIGNvbnRleHQuX3JhaXNlX2Vycm9yIGlzIGNhbGxlZCBhbmQgdGhlCisgICAgICAgICAgICAgICB0cmFwX2VuYWJsZXIgaXMgbm90IHNldC4gIEZpcnN0IGFyZ3VtZW50IGlzIHNlbGYsIHNlY29uZCBpcyB0aGUKKyAgICAgICAgICAgICAgIGNvbnRleHQuICBNb3JlIGFyZ3VtZW50cyBjYW4gYmUgZ2l2ZW4sIHRob3NlIGJlaW5nIGFmdGVyCisgICAgICAgICAgICAgICB0aGUgZXhwbGFuYXRpb24gaW4gX3JhaXNlX2Vycm9yIChGb3IgZXhhbXBsZSwKKyAgICAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKE5ld0Vycm9yLCAnKC14KSEnLCBzZWxmLl9zaWduKSB3b3VsZAorICAgICAgICAgICAgICAgY2FsbCBOZXdFcnJvcigpLmhhbmRsZShjb250ZXh0LCBzZWxmLl9zaWduKS4pCisKKyAgICBUbyBkZWZpbmUgYSBuZXcgZXhjZXB0aW9uLCBpdCBzaG91bGQgYmUgc3VmZmljaWVudCB0byBoYXZlIGl0IGRlcml2ZQorICAgIGZyb20gRGVjaW1hbEV4Y2VwdGlvbi4KKyAgICAiIiIKKyAgICBkZWYgaGFuZGxlKHNlbGYsIGNvbnRleHQsICphcmdzKToKKyAgICAgICAgcGFzcworCisKK2NsYXNzIENsYW1wZWQoRGVjaW1hbEV4Y2VwdGlvbik6CisgICAgIiIiRXhwb25lbnQgb2YgYSAwIGNoYW5nZWQgdG8gZml0IGJvdW5kcy4KKworICAgIFRoaXMgb2NjdXJzIGFuZCBzaWduYWxzIGNsYW1wZWQgaWYgdGhlIGV4cG9uZW50IG9mIGEgcmVzdWx0IGhhcyBiZWVuCisgICAgYWx0ZXJlZCBpbiBvcmRlciB0byBmaXQgdGhlIGNvbnN0cmFpbnRzIG9mIGEgc3BlY2lmaWMgY29uY3JldGUKKyAgICByZXByZXNlbnRhdGlvbi4gIFRoaXMgbWF5IG9jY3VyIHdoZW4gdGhlIGV4cG9uZW50IG9mIGEgemVybyByZXN1bHQgd291bGQKKyAgICBiZSBvdXRzaWRlIHRoZSBib3VuZHMgb2YgYSByZXByZXNlbnRhdGlvbiwgb3Igd2hlbiBhIGxhcmdlIG5vcm1hbAorICAgIG51bWJlciB3b3VsZCBoYXZlIGFuIGVuY29kZWQgZXhwb25lbnQgdGhhdCBjYW5ub3QgYmUgcmVwcmVzZW50ZWQuICBJbgorICAgIHRoaXMgbGF0dGVyIGNhc2UsIHRoZSBleHBvbmVudCBpcyByZWR1Y2VkIHRvIGZpdCBhbmQgdGhlIGNvcnJlc3BvbmRpbmcKKyAgICBudW1iZXIgb2YgemVybyBkaWdpdHMgYXJlIGFwcGVuZGVkIHRvIHRoZSBjb2VmZmljaWVudCAoImZvbGQtZG93biIpLgorICAgICIiIgorCitjbGFzcyBJbnZhbGlkT3BlcmF0aW9uKERlY2ltYWxFeGNlcHRpb24pOgorICAgICIiIkFuIGludmFsaWQgb3BlcmF0aW9uIHdhcyBwZXJmb3JtZWQuCisKKyAgICBWYXJpb3VzIGJhZCB0aGluZ3MgY2F1c2UgdGhpczoKKworICAgIFNvbWV0aGluZyBjcmVhdGVzIGEgc2lnbmFsaW5nIE5hTgorICAgIC1JTkYgKyBJTkYKKyAgICAwICogKCstKUlORgorICAgICgrLSlJTkYgLyAoKy0pSU5GCisgICAgeCAlIDAKKyAgICAoKy0pSU5GICUgeAorICAgIHguX3Jlc2NhbGUoIG5vbi1pbnRlZ2VyICkKKyAgICBzcXJ0KC14KSAsIHggPiAwCisgICAgMCAqKiAwCisgICAgeCAqKiAobm9uLWludGVnZXIpCisgICAgeCAqKiAoKy0pSU5GCisgICAgQW4gb3BlcmFuZCBpcyBpbnZhbGlkCisKKyAgICBUaGUgcmVzdWx0IG9mIHRoZSBvcGVyYXRpb24gYWZ0ZXIgdGhlc2UgaXMgYSBxdWlldCBwb3NpdGl2ZSBOYU4sCisgICAgZXhjZXB0IHdoZW4gdGhlIGNhdXNlIGlzIGEgc2lnbmFsaW5nIE5hTiwgaW4gd2hpY2ggY2FzZSB0aGUgcmVzdWx0IGlzCisgICAgYWxzbyBhIHF1aWV0IE5hTiwgYnV0IHdpdGggdGhlIG9yaWdpbmFsIHNpZ24sIGFuZCBhbiBvcHRpb25hbAorICAgIGRpYWdub3N0aWMgaW5mb3JtYXRpb24uCisgICAgIiIiCisgICAgZGVmIGhhbmRsZShzZWxmLCBjb250ZXh0LCAqYXJncyk6CisgICAgICAgIGlmIGFyZ3M6CisgICAgICAgICAgICBhbnMgPSBfZGVjX2Zyb21fdHJpcGxlKGFyZ3NbMF0uX3NpZ24sIGFyZ3NbMF0uX2ludCwgJ24nLCBUcnVlKQorICAgICAgICAgICAgcmV0dXJuIGFucy5fZml4X25hbihjb250ZXh0KQorICAgICAgICByZXR1cm4gX05hTgorCitjbGFzcyBDb252ZXJzaW9uU3ludGF4KEludmFsaWRPcGVyYXRpb24pOgorICAgICIiIlRyeWluZyB0byBjb252ZXJ0IGJhZGx5IGZvcm1lZCBzdHJpbmcuCisKKyAgICBUaGlzIG9jY3VycyBhbmQgc2lnbmFscyBpbnZhbGlkLW9wZXJhdGlvbiBpZiBhbiBzdHJpbmcgaXMgYmVpbmcKKyAgICBjb252ZXJ0ZWQgdG8gYSBudW1iZXIgYW5kIGl0IGRvZXMgbm90IGNvbmZvcm0gdG8gdGhlIG51bWVyaWMgc3RyaW5nCisgICAgc3ludGF4LiAgVGhlIHJlc3VsdCBpcyBbMCxxTmFOXS4KKyAgICAiIiIKKyAgICBkZWYgaGFuZGxlKHNlbGYsIGNvbnRleHQsICphcmdzKToKKyAgICAgICAgcmV0dXJuIF9OYU4KKworY2xhc3MgRGl2aXNpb25CeVplcm8oRGVjaW1hbEV4Y2VwdGlvbiwgWmVyb0RpdmlzaW9uRXJyb3IpOgorICAgICIiIkRpdmlzaW9uIGJ5IDAuCisKKyAgICBUaGlzIG9jY3VycyBhbmQgc2lnbmFscyBkaXZpc2lvbi1ieS16ZXJvIGlmIGRpdmlzaW9uIG9mIGEgZmluaXRlIG51bWJlcgorICAgIGJ5IHplcm8gd2FzIGF0dGVtcHRlZCAoZHVyaW5nIGEgZGl2aWRlLWludGVnZXIgb3IgZGl2aWRlIG9wZXJhdGlvbiwgb3IgYQorICAgIHBvd2VyIG9wZXJhdGlvbiB3aXRoIG5lZ2F0aXZlIHJpZ2h0LWhhbmQgb3BlcmFuZCksIGFuZCB0aGUgZGl2aWRlbmQgd2FzCisgICAgbm90IHplcm8uCisKKyAgICBUaGUgcmVzdWx0IG9mIHRoZSBvcGVyYXRpb24gaXMgW3NpZ24saW5mXSwgd2hlcmUgc2lnbiBpcyB0aGUgZXhjbHVzaXZlCisgICAgb3Igb2YgdGhlIHNpZ25zIG9mIHRoZSBvcGVyYW5kcyBmb3IgZGl2aWRlLCBvciBpcyAxIGZvciBhbiBvZGQgcG93ZXIgb2YKKyAgICAtMCwgZm9yIHBvd2VyLgorICAgICIiIgorCisgICAgZGVmIGhhbmRsZShzZWxmLCBjb250ZXh0LCBzaWduLCAqYXJncyk6CisgICAgICAgIHJldHVybiBfU2lnbmVkSW5maW5pdHlbc2lnbl0KKworY2xhc3MgRGl2aXNpb25JbXBvc3NpYmxlKEludmFsaWRPcGVyYXRpb24pOgorICAgICIiIkNhbm5vdCBwZXJmb3JtIHRoZSBkaXZpc2lvbiBhZGVxdWF0ZWx5LgorCisgICAgVGhpcyBvY2N1cnMgYW5kIHNpZ25hbHMgaW52YWxpZC1vcGVyYXRpb24gaWYgdGhlIGludGVnZXIgcmVzdWx0IG9mIGEKKyAgICBkaXZpZGUtaW50ZWdlciBvciByZW1haW5kZXIgb3BlcmF0aW9uIGhhZCB0b28gbWFueSBkaWdpdHMgKHdvdWxkIGJlCisgICAgbG9uZ2VyIHRoYW4gcHJlY2lzaW9uKS4gIFRoZSByZXN1bHQgaXMgWzAscU5hTl0uCisgICAgIiIiCisKKyAgICBkZWYgaGFuZGxlKHNlbGYsIGNvbnRleHQsICphcmdzKToKKyAgICAgICAgcmV0dXJuIF9OYU4KKworY2xhc3MgRGl2aXNpb25VbmRlZmluZWQoSW52YWxpZE9wZXJhdGlvbiwgWmVyb0RpdmlzaW9uRXJyb3IpOgorICAgICIiIlVuZGVmaW5lZCByZXN1bHQgb2YgZGl2aXNpb24uCisKKyAgICBUaGlzIG9jY3VycyBhbmQgc2lnbmFscyBpbnZhbGlkLW9wZXJhdGlvbiBpZiBkaXZpc2lvbiBieSB6ZXJvIHdhcworICAgIGF0dGVtcHRlZCAoZHVyaW5nIGEgZGl2aWRlLWludGVnZXIsIGRpdmlkZSwgb3IgcmVtYWluZGVyIG9wZXJhdGlvbiksIGFuZAorICAgIHRoZSBkaXZpZGVuZCBpcyBhbHNvIHplcm8uICBUaGUgcmVzdWx0IGlzIFswLHFOYU5dLgorICAgICIiIgorCisgICAgZGVmIGhhbmRsZShzZWxmLCBjb250ZXh0LCAqYXJncyk6CisgICAgICAgIHJldHVybiBfTmFOCisKK2NsYXNzIEluZXhhY3QoRGVjaW1hbEV4Y2VwdGlvbik6CisgICAgIiIiSGFkIHRvIHJvdW5kLCBsb3NpbmcgaW5mb3JtYXRpb24uCisKKyAgICBUaGlzIG9jY3VycyBhbmQgc2lnbmFscyBpbmV4YWN0IHdoZW5ldmVyIHRoZSByZXN1bHQgb2YgYW4gb3BlcmF0aW9uIGlzCisgICAgbm90IGV4YWN0ICh0aGF0IGlzLCBpdCBuZWVkZWQgdG8gYmUgcm91bmRlZCBhbmQgYW55IGRpc2NhcmRlZCBkaWdpdHMKKyAgICB3ZXJlIG5vbi16ZXJvKSwgb3IgaWYgYW4gb3ZlcmZsb3cgb3IgdW5kZXJmbG93IGNvbmRpdGlvbiBvY2N1cnMuICBUaGUKKyAgICByZXN1bHQgaW4gYWxsIGNhc2VzIGlzIHVuY2hhbmdlZC4KKworICAgIFRoZSBpbmV4YWN0IHNpZ25hbCBtYXkgYmUgdGVzdGVkIChvciB0cmFwcGVkKSB0byBkZXRlcm1pbmUgaWYgYSBnaXZlbgorICAgIG9wZXJhdGlvbiAob3Igc2VxdWVuY2Ugb2Ygb3BlcmF0aW9ucykgd2FzIGluZXhhY3QuCisgICAgIiIiCisKK2NsYXNzIEludmFsaWRDb250ZXh0KEludmFsaWRPcGVyYXRpb24pOgorICAgICIiIkludmFsaWQgY29udGV4dC4gIFVua25vd24gcm91bmRpbmcsIGZvciBleGFtcGxlLgorCisgICAgVGhpcyBvY2N1cnMgYW5kIHNpZ25hbHMgaW52YWxpZC1vcGVyYXRpb24gaWYgYW4gaW52YWxpZCBjb250ZXh0IHdhcworICAgIGRldGVjdGVkIGR1cmluZyBhbiBvcGVyYXRpb24uICBUaGlzIGNhbiBvY2N1ciBpZiBjb250ZXh0cyBhcmUgbm90IGNoZWNrZWQKKyAgICBvbiBjcmVhdGlvbiBhbmQgZWl0aGVyIHRoZSBwcmVjaXNpb24gZXhjZWVkcyB0aGUgY2FwYWJpbGl0eSBvZiB0aGUKKyAgICB1bmRlcmx5aW5nIGNvbmNyZXRlIHJlcHJlc2VudGF0aW9uIG9yIGFuIHVua25vd24gb3IgdW5zdXBwb3J0ZWQgcm91bmRpbmcKKyAgICB3YXMgc3BlY2lmaWVkLiAgVGhlc2UgYXNwZWN0cyBvZiB0aGUgY29udGV4dCBuZWVkIG9ubHkgYmUgY2hlY2tlZCB3aGVuCisgICAgdGhlIHZhbHVlcyBhcmUgcmVxdWlyZWQgdG8gYmUgdXNlZC4gIFRoZSByZXN1bHQgaXMgWzAscU5hTl0uCisgICAgIiIiCisKKyAgICBkZWYgaGFuZGxlKHNlbGYsIGNvbnRleHQsICphcmdzKToKKyAgICAgICAgcmV0dXJuIF9OYU4KKworY2xhc3MgUm91bmRlZChEZWNpbWFsRXhjZXB0aW9uKToKKyAgICAiIiJOdW1iZXIgZ290IHJvdW5kZWQgKG5vdCAgbmVjZXNzYXJpbHkgY2hhbmdlZCBkdXJpbmcgcm91bmRpbmcpLgorCisgICAgVGhpcyBvY2N1cnMgYW5kIHNpZ25hbHMgcm91bmRlZCB3aGVuZXZlciB0aGUgcmVzdWx0IG9mIGFuIG9wZXJhdGlvbiBpcworICAgIHJvdW5kZWQgKHRoYXQgaXMsIHNvbWUgemVybyBvciBub24temVybyBkaWdpdHMgd2VyZSBkaXNjYXJkZWQgZnJvbSB0aGUKKyAgICBjb2VmZmljaWVudCksIG9yIGlmIGFuIG92ZXJmbG93IG9yIHVuZGVyZmxvdyBjb25kaXRpb24gb2NjdXJzLiAgVGhlCisgICAgcmVzdWx0IGluIGFsbCBjYXNlcyBpcyB1bmNoYW5nZWQuCisKKyAgICBUaGUgcm91bmRlZCBzaWduYWwgbWF5IGJlIHRlc3RlZCAob3IgdHJhcHBlZCkgdG8gZGV0ZXJtaW5lIGlmIGEgZ2l2ZW4KKyAgICBvcGVyYXRpb24gKG9yIHNlcXVlbmNlIG9mIG9wZXJhdGlvbnMpIGNhdXNlZCBhIGxvc3Mgb2YgcHJlY2lzaW9uLgorICAgICIiIgorCitjbGFzcyBTdWJub3JtYWwoRGVjaW1hbEV4Y2VwdGlvbik6CisgICAgIiIiRXhwb25lbnQgPCBFbWluIGJlZm9yZSByb3VuZGluZy4KKworICAgIFRoaXMgb2NjdXJzIGFuZCBzaWduYWxzIHN1Ym5vcm1hbCB3aGVuZXZlciB0aGUgcmVzdWx0IG9mIGEgY29udmVyc2lvbiBvcgorICAgIG9wZXJhdGlvbiBpcyBzdWJub3JtYWwgKHRoYXQgaXMsIGl0cyBhZGp1c3RlZCBleHBvbmVudCBpcyBsZXNzIHRoYW4KKyAgICBFbWluLCBiZWZvcmUgYW55IHJvdW5kaW5nKS4gIFRoZSByZXN1bHQgaW4gYWxsIGNhc2VzIGlzIHVuY2hhbmdlZC4KKworICAgIFRoZSBzdWJub3JtYWwgc2lnbmFsIG1heSBiZSB0ZXN0ZWQgKG9yIHRyYXBwZWQpIHRvIGRldGVybWluZSBpZiBhIGdpdmVuCisgICAgb3Igb3BlcmF0aW9uIChvciBzZXF1ZW5jZSBvZiBvcGVyYXRpb25zKSB5aWVsZGVkIGEgc3Vibm9ybWFsIHJlc3VsdC4KKyAgICAiIiIKKworY2xhc3MgT3ZlcmZsb3coSW5leGFjdCwgUm91bmRlZCk6CisgICAgIiIiTnVtZXJpY2FsIG92ZXJmbG93LgorCisgICAgVGhpcyBvY2N1cnMgYW5kIHNpZ25hbHMgb3ZlcmZsb3cgaWYgdGhlIGFkanVzdGVkIGV4cG9uZW50IG9mIGEgcmVzdWx0CisgICAgKGZyb20gYSBjb252ZXJzaW9uIG9yIGZyb20gYW4gb3BlcmF0aW9uIHRoYXQgaXMgbm90IGFuIGF0dGVtcHQgdG8gZGl2aWRlCisgICAgYnkgemVybyksIGFmdGVyIHJvdW5kaW5nLCB3b3VsZCBiZSBncmVhdGVyIHRoYW4gdGhlIGxhcmdlc3QgdmFsdWUgdGhhdAorICAgIGNhbiBiZSBoYW5kbGVkIGJ5IHRoZSBpbXBsZW1lbnRhdGlvbiAodGhlIHZhbHVlIEVtYXgpLgorCisgICAgVGhlIHJlc3VsdCBkZXBlbmRzIG9uIHRoZSByb3VuZGluZyBtb2RlOgorCisgICAgRm9yIHJvdW5kLWhhbGYtdXAgYW5kIHJvdW5kLWhhbGYtZXZlbiAoYW5kIGZvciByb3VuZC1oYWxmLWRvd24gYW5kCisgICAgcm91bmQtdXAsIGlmIGltcGxlbWVudGVkKSwgdGhlIHJlc3VsdCBvZiB0aGUgb3BlcmF0aW9uIGlzIFtzaWduLGluZl0sCisgICAgd2hlcmUgc2lnbiBpcyB0aGUgc2lnbiBvZiB0aGUgaW50ZXJtZWRpYXRlIHJlc3VsdC4gIEZvciByb3VuZC1kb3duLCB0aGUKKyAgICByZXN1bHQgaXMgdGhlIGxhcmdlc3QgZmluaXRlIG51bWJlciB0aGF0IGNhbiBiZSByZXByZXNlbnRlZCBpbiB0aGUKKyAgICBjdXJyZW50IHByZWNpc2lvbiwgd2l0aCB0aGUgc2lnbiBvZiB0aGUgaW50ZXJtZWRpYXRlIHJlc3VsdC4gIEZvcgorICAgIHJvdW5kLWNlaWxpbmcsIHRoZSByZXN1bHQgaXMgdGhlIHNhbWUgYXMgZm9yIHJvdW5kLWRvd24gaWYgdGhlIHNpZ24gb2YKKyAgICB0aGUgaW50ZXJtZWRpYXRlIHJlc3VsdCBpcyAxLCBvciBpcyBbMCxpbmZdIG90aGVyd2lzZS4gIEZvciByb3VuZC1mbG9vciwKKyAgICB0aGUgcmVzdWx0IGlzIHRoZSBzYW1lIGFzIGZvciByb3VuZC1kb3duIGlmIHRoZSBzaWduIG9mIHRoZSBpbnRlcm1lZGlhdGUKKyAgICByZXN1bHQgaXMgMCwgb3IgaXMgWzEsaW5mXSBvdGhlcndpc2UuICBJbiBhbGwgY2FzZXMsIEluZXhhY3QgYW5kIFJvdW5kZWQKKyAgICB3aWxsIGFsc28gYmUgcmFpc2VkLgorICAgICIiIgorCisgICAgZGVmIGhhbmRsZShzZWxmLCBjb250ZXh0LCBzaWduLCAqYXJncyk6CisgICAgICAgIGlmIGNvbnRleHQucm91bmRpbmcgaW4gKFJPVU5EX0hBTEZfVVAsIFJPVU5EX0hBTEZfRVZFTiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUk9VTkRfSEFMRl9ET1dOLCBST1VORF9VUCk6CisgICAgICAgICAgICByZXR1cm4gX1NpZ25lZEluZmluaXR5W3NpZ25dCisgICAgICAgIGlmIHNpZ24gPT0gMDoKKyAgICAgICAgICAgIGlmIGNvbnRleHQucm91bmRpbmcgPT0gUk9VTkRfQ0VJTElORzoKKyAgICAgICAgICAgICAgICByZXR1cm4gX1NpZ25lZEluZmluaXR5W3NpZ25dCisgICAgICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZShzaWduLCAnOScqY29udGV4dC5wcmVjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQuRW1heC1jb250ZXh0LnByZWMrMSkKKyAgICAgICAgaWYgc2lnbiA9PSAxOgorICAgICAgICAgICAgaWYgY29udGV4dC5yb3VuZGluZyA9PSBST1VORF9GTE9PUjoKKyAgICAgICAgICAgICAgICByZXR1cm4gX1NpZ25lZEluZmluaXR5W3NpZ25dCisgICAgICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZShzaWduLCAnOScqY29udGV4dC5wcmVjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LkVtYXgtY29udGV4dC5wcmVjKzEpCisKKworY2xhc3MgVW5kZXJmbG93KEluZXhhY3QsIFJvdW5kZWQsIFN1Ym5vcm1hbCk6CisgICAgIiIiTnVtZXJpY2FsIHVuZGVyZmxvdyB3aXRoIHJlc3VsdCByb3VuZGVkIHRvIDAuCisKKyAgICBUaGlzIG9jY3VycyBhbmQgc2lnbmFscyB1bmRlcmZsb3cgaWYgYSByZXN1bHQgaXMgaW5leGFjdCBhbmQgdGhlCisgICAgYWRqdXN0ZWQgZXhwb25lbnQgb2YgdGhlIHJlc3VsdCB3b3VsZCBiZSBzbWFsbGVyIChtb3JlIG5lZ2F0aXZlKSB0aGFuCisgICAgdGhlIHNtYWxsZXN0IHZhbHVlIHRoYXQgY2FuIGJlIGhhbmRsZWQgYnkgdGhlIGltcGxlbWVudGF0aW9uICh0aGUgdmFsdWUKKyAgICBFbWluKS4gIFRoYXQgaXMsIHRoZSByZXN1bHQgaXMgYm90aCBpbmV4YWN0IGFuZCBzdWJub3JtYWwuCisKKyAgICBUaGUgcmVzdWx0IGFmdGVyIGFuIHVuZGVyZmxvdyB3aWxsIGJlIGEgc3Vibm9ybWFsIG51bWJlciByb3VuZGVkLCBpZgorICAgIG5lY2Vzc2FyeSwgc28gdGhhdCBpdHMgZXhwb25lbnQgaXMgbm90IGxlc3MgdGhhbiBFdGlueS4gIFRoaXMgbWF5IHJlc3VsdAorICAgIGluIDAgd2l0aCB0aGUgc2lnbiBvZiB0aGUgaW50ZXJtZWRpYXRlIHJlc3VsdCBhbmQgYW4gZXhwb25lbnQgb2YgRXRpbnkuCisKKyAgICBJbiBhbGwgY2FzZXMsIEluZXhhY3QsIFJvdW5kZWQsIGFuZCBTdWJub3JtYWwgd2lsbCBhbHNvIGJlIHJhaXNlZC4KKyAgICAiIiIKKworY2xhc3MgRmxvYXRPcGVyYXRpb24oRGVjaW1hbEV4Y2VwdGlvbiwgVHlwZUVycm9yKToKKyAgICAiIiJFbmFibGUgc3RyaWN0ZXIgc2VtYW50aWNzIGZvciBtaXhpbmcgZmxvYXRzIGFuZCBEZWNpbWFscy4KKworICAgIElmIHRoZSBzaWduYWwgaXMgbm90IHRyYXBwZWQgKGRlZmF1bHQpLCBtaXhpbmcgZmxvYXRzIGFuZCBEZWNpbWFscyBpcworICAgIHBlcm1pdHRlZCBpbiB0aGUgRGVjaW1hbCgpIGNvbnN0cnVjdG9yLCBjb250ZXh0LmNyZWF0ZV9kZWNpbWFsKCkgYW5kCisgICAgYWxsIGNvbXBhcmlzb24gb3BlcmF0b3JzLiBCb3RoIGNvbnZlcnNpb24gYW5kIGNvbXBhcmlzb25zIGFyZSBleGFjdC4KKyAgICBBbnkgb2NjdXJyZW5jZSBvZiBhIG1peGVkIG9wZXJhdGlvbiBpcyBzaWxlbnRseSByZWNvcmRlZCBieSBzZXR0aW5nCisgICAgRmxvYXRPcGVyYXRpb24gaW4gdGhlIGNvbnRleHQgZmxhZ3MuICBFeHBsaWNpdCBjb252ZXJzaW9ucyB3aXRoCisgICAgRGVjaW1hbC5mcm9tX2Zsb2F0KCkgb3IgY29udGV4dC5jcmVhdGVfZGVjaW1hbF9mcm9tX2Zsb2F0KCkgZG8gbm90CisgICAgc2V0IHRoZSBmbGFnLgorCisgICAgT3RoZXJ3aXNlICh0aGUgc2lnbmFsIGlzIHRyYXBwZWQpLCBvbmx5IGVxdWFsaXR5IGNvbXBhcmlzb25zIGFuZCBleHBsaWNpdAorICAgIGNvbnZlcnNpb25zIGFyZSBzaWxlbnQuIEFsbCBvdGhlciBtaXhlZCBvcGVyYXRpb25zIHJhaXNlIEZsb2F0T3BlcmF0aW9uLgorICAgICIiIgorCisjIExpc3Qgb2YgcHVibGljIHRyYXBzIGFuZCBmbGFncworX3NpZ25hbHMgPSBbQ2xhbXBlZCwgRGl2aXNpb25CeVplcm8sIEluZXhhY3QsIE92ZXJmbG93LCBSb3VuZGVkLAorICAgICAgICAgICAgVW5kZXJmbG93LCBJbnZhbGlkT3BlcmF0aW9uLCBTdWJub3JtYWwsIEZsb2F0T3BlcmF0aW9uXQorCisjIE1hcCBjb25kaXRpb25zIChwZXIgdGhlIHNwZWMpIHRvIHNpZ25hbHMKK19jb25kaXRpb25fbWFwID0ge0NvbnZlcnNpb25TeW50YXg6SW52YWxpZE9wZXJhdGlvbiwKKyAgICAgICAgICAgICAgICAgIERpdmlzaW9uSW1wb3NzaWJsZTpJbnZhbGlkT3BlcmF0aW9uLAorICAgICAgICAgICAgICAgICAgRGl2aXNpb25VbmRlZmluZWQ6SW52YWxpZE9wZXJhdGlvbiwKKyAgICAgICAgICAgICAgICAgIEludmFsaWRDb250ZXh0OkludmFsaWRPcGVyYXRpb259CisKKyMgVmFsaWQgcm91bmRpbmcgbW9kZXMKK19yb3VuZGluZ19tb2RlcyA9IChST1VORF9ET1dOLCBST1VORF9IQUxGX1VQLCBST1VORF9IQUxGX0VWRU4sIFJPVU5EX0NFSUxJTkcsCisgICAgICAgICAgICAgICAgICAgUk9VTkRfRkxPT1IsIFJPVU5EX1VQLCBST1VORF9IQUxGX0RPV04sIFJPVU5EXzA1VVApCisKKyMjIyMjIENvbnRleHQgRnVuY3Rpb25zICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKyMgVGhlIGdldGNvbnRleHQoKSBhbmQgc2V0Y29udGV4dCgpIGZ1bmN0aW9uIG1hbmFnZSBhY2Nlc3MgdG8gYSB0aHJlYWQtbG9jYWwKKyMgY3VycmVudCBjb250ZXh0LiAgUHkyLjQgb2ZmZXJzIGRpcmVjdCBzdXBwb3J0IGZvciB0aHJlYWQgbG9jYWxzLiAgSWYgdGhhdAorIyBpcyBub3QgYXZhaWxhYmxlLCB1c2UgdGhyZWFkaW5nLmN1cnJlbnRfdGhyZWFkKCkgd2hpY2ggaXMgc2xvd2VyIGJ1dCB3aWxsCisjIHdvcmsgZm9yIG9sZGVyIFB5dGhvbnMuICBJZiB0aHJlYWRzIGFyZSBub3QgcGFydCBvZiB0aGUgYnVpbGQsIGNyZWF0ZSBhCisjIG1vY2sgdGhyZWFkaW5nIG9iamVjdCB3aXRoIHRocmVhZGluZy5sb2NhbCgpIHJldHVybmluZyB0aGUgbW9kdWxlIG5hbWVzcGFjZS4KKwordHJ5OgorICAgIGltcG9ydCB0aHJlYWRpbmcKK2V4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICAjIFB5dGhvbiB3YXMgY29tcGlsZWQgd2l0aG91dCB0aHJlYWRzOyBjcmVhdGUgYSBtb2NrIG9iamVjdCBpbnN0ZWFkCisgICAgY2xhc3MgTW9ja1RocmVhZGluZyhvYmplY3QpOgorICAgICAgICBkZWYgbG9jYWwoc2VsZiwgc3lzPXN5cyk6CisgICAgICAgICAgICByZXR1cm4gc3lzLm1vZHVsZXNbX194bmFtZV9fXQorICAgIHRocmVhZGluZyA9IE1vY2tUaHJlYWRpbmcoKQorICAgIGRlbCBNb2NrVGhyZWFkaW5nCisKK3RyeToKKyAgICB0aHJlYWRpbmcubG9jYWwKKworZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgorCisgICAgIyBUbyBmaXggcmVsb2FkaW5nLCBmb3JjZSBpdCB0byBjcmVhdGUgYSBuZXcgY29udGV4dAorICAgICMgT2xkIGNvbnRleHRzIGhhdmUgZGlmZmVyZW50IGV4Y2VwdGlvbnMgaW4gdGhlaXIgZGljdHMsIG1ha2luZyBwcm9ibGVtcy4KKyAgICBpZiBoYXNhdHRyKHRocmVhZGluZy5jdXJyZW50X3RocmVhZCgpLCAnX19kZWNpbWFsX2NvbnRleHRfXycpOgorICAgICAgICBkZWwgdGhyZWFkaW5nLmN1cnJlbnRfdGhyZWFkKCkuX19kZWNpbWFsX2NvbnRleHRfXworCisgICAgZGVmIHNldGNvbnRleHQoY29udGV4dCk6CisgICAgICAgICIiIlNldCB0aGlzIHRocmVhZCdzIGNvbnRleHQgdG8gY29udGV4dC4iIiIKKyAgICAgICAgaWYgY29udGV4dCBpbiAoRGVmYXVsdENvbnRleHQsIEJhc2ljQ29udGV4dCwgRXh0ZW5kZWRDb250ZXh0KToKKyAgICAgICAgICAgIGNvbnRleHQgPSBjb250ZXh0LmNvcHkoKQorICAgICAgICAgICAgY29udGV4dC5jbGVhcl9mbGFncygpCisgICAgICAgIHRocmVhZGluZy5jdXJyZW50X3RocmVhZCgpLl9fZGVjaW1hbF9jb250ZXh0X18gPSBjb250ZXh0CisKKyAgICBkZWYgZ2V0Y29udGV4dCgpOgorICAgICAgICAiIiJSZXR1cm5zIHRoaXMgdGhyZWFkJ3MgY29udGV4dC4KKworICAgICAgICBJZiB0aGlzIHRocmVhZCBkb2VzIG5vdCB5ZXQgaGF2ZSBhIGNvbnRleHQsIHJldHVybnMKKyAgICAgICAgYSBuZXcgY29udGV4dCBhbmQgc2V0cyB0aGlzIHRocmVhZCdzIGNvbnRleHQuCisgICAgICAgIE5ldyBjb250ZXh0cyBhcmUgY29waWVzIG9mIERlZmF1bHRDb250ZXh0LgorICAgICAgICAiIiIKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcmV0dXJuIHRocmVhZGluZy5jdXJyZW50X3RocmVhZCgpLl9fZGVjaW1hbF9jb250ZXh0X18KKyAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgorICAgICAgICAgICAgY29udGV4dCA9IENvbnRleHQoKQorICAgICAgICAgICAgdGhyZWFkaW5nLmN1cnJlbnRfdGhyZWFkKCkuX19kZWNpbWFsX2NvbnRleHRfXyA9IGNvbnRleHQKKyAgICAgICAgICAgIHJldHVybiBjb250ZXh0CisKK2Vsc2U6CisKKyAgICBsb2NhbCA9IHRocmVhZGluZy5sb2NhbCgpCisgICAgaWYgaGFzYXR0cihsb2NhbCwgJ19fZGVjaW1hbF9jb250ZXh0X18nKToKKyAgICAgICAgZGVsIGxvY2FsLl9fZGVjaW1hbF9jb250ZXh0X18KKworICAgIGRlZiBnZXRjb250ZXh0KF9sb2NhbD1sb2NhbCk6CisgICAgICAgICIiIlJldHVybnMgdGhpcyB0aHJlYWQncyBjb250ZXh0LgorCisgICAgICAgIElmIHRoaXMgdGhyZWFkIGRvZXMgbm90IHlldCBoYXZlIGEgY29udGV4dCwgcmV0dXJucworICAgICAgICBhIG5ldyBjb250ZXh0IGFuZCBzZXRzIHRoaXMgdGhyZWFkJ3MgY29udGV4dC4KKyAgICAgICAgTmV3IGNvbnRleHRzIGFyZSBjb3BpZXMgb2YgRGVmYXVsdENvbnRleHQuCisgICAgICAgICIiIgorICAgICAgICB0cnk6CisgICAgICAgICAgICByZXR1cm4gX2xvY2FsLl9fZGVjaW1hbF9jb250ZXh0X18KKyAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgorICAgICAgICAgICAgY29udGV4dCA9IENvbnRleHQoKQorICAgICAgICAgICAgX2xvY2FsLl9fZGVjaW1hbF9jb250ZXh0X18gPSBjb250ZXh0CisgICAgICAgICAgICByZXR1cm4gY29udGV4dAorCisgICAgZGVmIHNldGNvbnRleHQoY29udGV4dCwgX2xvY2FsPWxvY2FsKToKKyAgICAgICAgIiIiU2V0IHRoaXMgdGhyZWFkJ3MgY29udGV4dCB0byBjb250ZXh0LiIiIgorICAgICAgICBpZiBjb250ZXh0IGluIChEZWZhdWx0Q29udGV4dCwgQmFzaWNDb250ZXh0LCBFeHRlbmRlZENvbnRleHQpOgorICAgICAgICAgICAgY29udGV4dCA9IGNvbnRleHQuY29weSgpCisgICAgICAgICAgICBjb250ZXh0LmNsZWFyX2ZsYWdzKCkKKyAgICAgICAgX2xvY2FsLl9fZGVjaW1hbF9jb250ZXh0X18gPSBjb250ZXh0CisKKyAgICBkZWwgdGhyZWFkaW5nLCBsb2NhbCAgICAgICAgIyBEb24ndCBjb250YW1pbmF0ZSB0aGUgbmFtZXNwYWNlCisKK2RlZiBsb2NhbGNvbnRleHQoY3R4PU5vbmUpOgorICAgICIiIlJldHVybiBhIGNvbnRleHQgbWFuYWdlciBmb3IgYSBjb3B5IG9mIHRoZSBzdXBwbGllZCBjb250ZXh0CisKKyAgICBVc2VzIGEgY29weSBvZiB0aGUgY3VycmVudCBjb250ZXh0IGlmIG5vIGNvbnRleHQgaXMgc3BlY2lmaWVkCisgICAgVGhlIHJldHVybmVkIGNvbnRleHQgbWFuYWdlciBjcmVhdGVzIGEgbG9jYWwgZGVjaW1hbCBjb250ZXh0CisgICAgaW4gYSB3aXRoIHN0YXRlbWVudDoKKyAgICAgICAgZGVmIHNpbih4KToKKyAgICAgICAgICAgICB3aXRoIGxvY2FsY29udGV4dCgpIGFzIGN0eDoKKyAgICAgICAgICAgICAgICAgY3R4LnByZWMgKz0gMgorICAgICAgICAgICAgICAgICAjIFJlc3Qgb2Ygc2luIGNhbGN1bGF0aW9uIGFsZ29yaXRobQorICAgICAgICAgICAgICAgICAjIHVzZXMgYSBwcmVjaXNpb24gMiBncmVhdGVyIHRoYW4gbm9ybWFsCisgICAgICAgICAgICAgcmV0dXJuICtzICAjIENvbnZlcnQgcmVzdWx0IHRvIG5vcm1hbCBwcmVjaXNpb24KKworICAgICAgICAgZGVmIHNpbih4KToKKyAgICAgICAgICAgICB3aXRoIGxvY2FsY29udGV4dChFeHRlbmRlZENvbnRleHQpOgorICAgICAgICAgICAgICAgICAjIFJlc3Qgb2Ygc2luIGNhbGN1bGF0aW9uIGFsZ29yaXRobQorICAgICAgICAgICAgICAgICAjIHVzZXMgdGhlIEV4dGVuZGVkIENvbnRleHQgZnJvbSB0aGUKKyAgICAgICAgICAgICAgICAgIyBHZW5lcmFsIERlY2ltYWwgQXJpdGhtZXRpYyBTcGVjaWZpY2F0aW9uCisgICAgICAgICAgICAgcmV0dXJuICtzICAjIENvbnZlcnQgcmVzdWx0IHRvIG5vcm1hbCBjb250ZXh0CisKKyAgICA+Pj4gc2V0Y29udGV4dChEZWZhdWx0Q29udGV4dCkKKyAgICA+Pj4gcHJpbnQoZ2V0Y29udGV4dCgpLnByZWMpCisgICAgMjgKKyAgICA+Pj4gd2l0aCBsb2NhbGNvbnRleHQoKToKKyAgICAuLi4gICAgIGN0eCA9IGdldGNvbnRleHQoKQorICAgIC4uLiAgICAgY3R4LnByZWMgKz0gMgorICAgIC4uLiAgICAgcHJpbnQoY3R4LnByZWMpCisgICAgLi4uCisgICAgMzAKKyAgICA+Pj4gd2l0aCBsb2NhbGNvbnRleHQoRXh0ZW5kZWRDb250ZXh0KToKKyAgICAuLi4gICAgIHByaW50KGdldGNvbnRleHQoKS5wcmVjKQorICAgIC4uLgorICAgIDkKKyAgICA+Pj4gcHJpbnQoZ2V0Y29udGV4dCgpLnByZWMpCisgICAgMjgKKyAgICAiIiIKKyAgICBpZiBjdHggaXMgTm9uZTogY3R4ID0gZ2V0Y29udGV4dCgpCisgICAgcmV0dXJuIF9Db250ZXh0TWFuYWdlcihjdHgpCisKKworIyMjIyMgRGVjaW1hbCBjbGFzcyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKyMgRG8gbm90IHN1YmNsYXNzIERlY2ltYWwgZnJvbSBudW1iZXJzLlJlYWwgYW5kIGRvIG5vdCByZWdpc3RlciBpdCBhcyBzdWNoCisjIChiZWNhdXNlIERlY2ltYWxzIGFyZSBub3QgaW50ZXJvcGVyYWJsZSB3aXRoIGZsb2F0cykuICBTZWUgdGhlIG5vdGVzIGluCisjIG51bWJlcnMucHkgZm9yIG1vcmUgZGV0YWlsLgorCitjbGFzcyBEZWNpbWFsKG9iamVjdCk6CisgICAgIiIiRmxvYXRpbmcgcG9pbnQgY2xhc3MgZm9yIGRlY2ltYWwgYXJpdGhtZXRpYy4iIiIKKworICAgIF9fc2xvdHNfXyA9ICgnX2V4cCcsJ19pbnQnLCdfc2lnbicsICdfaXNfc3BlY2lhbCcpCisgICAgIyBHZW5lcmFsbHksIHRoZSB2YWx1ZSBvZiB0aGUgRGVjaW1hbCBpbnN0YW5jZSBpcyBnaXZlbiBieQorICAgICMgICgtMSkqKl9zaWduICogX2ludCAqIDEwKipfZXhwCisgICAgIyBTcGVjaWFsIHZhbHVlcyBhcmUgc2lnbmlmaWVkIGJ5IF9pc19zcGVjaWFsID09IFRydWUKKworICAgICMgV2UncmUgaW1tdXRhYmxlLCBzbyB1c2UgX19uZXdfXyBub3QgX19pbml0X18KKyAgICBkZWYgX19uZXdfXyhjbHMsIHZhbHVlPSIwIiwgY29udGV4dD1Ob25lKToKKyAgICAgICAgIiIiQ3JlYXRlIGEgZGVjaW1hbCBwb2ludCBpbnN0YW5jZS4KKworICAgICAgICA+Pj4gRGVjaW1hbCgnMy4xNCcpICAgICAgICAgICAgICAjIHN0cmluZyBpbnB1dAorICAgICAgICBEZWNpbWFsKCczLjE0JykKKyAgICAgICAgPj4+IERlY2ltYWwoKDAsICgzLCAxLCA0KSwgLTIpKSAgIyB0dXBsZSAoc2lnbiwgZGlnaXRfdHVwbGUsIGV4cG9uZW50KQorICAgICAgICBEZWNpbWFsKCczLjE0JykKKyAgICAgICAgPj4+IERlY2ltYWwoMzE0KSAgICAgICAgICAgICAgICAgIyBpbnQKKyAgICAgICAgRGVjaW1hbCgnMzE0JykKKyAgICAgICAgPj4+IERlY2ltYWwoRGVjaW1hbCgzMTQpKSAgICAgICAgIyBhbm90aGVyIGRlY2ltYWwgaW5zdGFuY2UKKyAgICAgICAgRGVjaW1hbCgnMzE0JykKKyAgICAgICAgPj4+IERlY2ltYWwoJyAgMy4xNCAgXFxuJykgICAgICAgICMgbGVhZGluZyBhbmQgdHJhaWxpbmcgd2hpdGVzcGFjZSBva2F5CisgICAgICAgIERlY2ltYWwoJzMuMTQnKQorICAgICAgICAiIiIKKworICAgICAgICAjIE5vdGUgdGhhdCB0aGUgY29lZmZpY2llbnQsIHNlbGYuX2ludCwgaXMgYWN0dWFsbHkgc3RvcmVkIGFzCisgICAgICAgICMgYSBzdHJpbmcgcmF0aGVyIHRoYW4gYXMgYSB0dXBsZSBvZiBkaWdpdHMuICBUaGlzIHNwZWVkcyB1cAorICAgICAgICAjIHRoZSAiZGlnaXRzIHRvIGludGVnZXIiIGFuZCAiaW50ZWdlciB0byBkaWdpdHMiIGNvbnZlcnNpb25zCisgICAgICAgICMgdGhhdCBhcmUgdXNlZCBpbiBhbG1vc3QgZXZlcnkgYXJpdGhtZXRpYyBvcGVyYXRpb24gb24KKyAgICAgICAgIyBEZWNpbWFscy4gIFRoaXMgaXMgYW4gaW50ZXJuYWwgZGV0YWlsOiB0aGUgYXNfdHVwbGUgZnVuY3Rpb24KKyAgICAgICAgIyBhbmQgdGhlIERlY2ltYWwgY29uc3RydWN0b3Igc3RpbGwgZGVhbCB3aXRoIHR1cGxlcyBvZgorICAgICAgICAjIGRpZ2l0cy4KKworICAgICAgICBzZWxmID0gb2JqZWN0Ll9fbmV3X18oY2xzKQorCisgICAgICAgICMgRnJvbSBhIHN0cmluZworICAgICAgICAjIFJFcyBpbnNpc3Qgb24gcmVhbCBzdHJpbmdzLCBzbyB3ZSBjYW4gdG9vLgorICAgICAgICBpZiBpc2luc3RhbmNlKHZhbHVlLCBzdHIpOgorICAgICAgICAgICAgbSA9IF9wYXJzZXIodmFsdWUuc3RyaXAoKSkKKyAgICAgICAgICAgIGlmIG0gaXMgTm9uZToKKyAgICAgICAgICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6CisgICAgICAgICAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKKyAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoQ29udmVyc2lvblN5bnRheCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkludmFsaWQgbGl0ZXJhbCBmb3IgRGVjaW1hbDogJXIiICUgdmFsdWUpCisKKyAgICAgICAgICAgIGlmIG0uZ3JvdXAoJ3NpZ24nKSA9PSAiLSI6CisgICAgICAgICAgICAgICAgc2VsZi5fc2lnbiA9IDEKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgc2VsZi5fc2lnbiA9IDAKKyAgICAgICAgICAgIGludHBhcnQgPSBtLmdyb3VwKCdpbnQnKQorICAgICAgICAgICAgaWYgaW50cGFydCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICAjIGZpbml0ZSBudW1iZXIKKyAgICAgICAgICAgICAgICBmcmFjcGFydCA9IG0uZ3JvdXAoJ2ZyYWMnKSBvciAnJworICAgICAgICAgICAgICAgIGV4cCA9IGludChtLmdyb3VwKCdleHAnKSBvciAnMCcpCisgICAgICAgICAgICAgICAgc2VsZi5faW50ID0gc3RyKGludChpbnRwYXJ0K2ZyYWNwYXJ0KSkKKyAgICAgICAgICAgICAgICBzZWxmLl9leHAgPSBleHAgLSBsZW4oZnJhY3BhcnQpCisgICAgICAgICAgICAgICAgc2VsZi5faXNfc3BlY2lhbCA9IEZhbHNlCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGRpYWcgPSBtLmdyb3VwKCdkaWFnJykKKyAgICAgICAgICAgICAgICBpZiBkaWFnIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgICAgICAjIE5hTgorICAgICAgICAgICAgICAgICAgICBzZWxmLl9pbnQgPSBzdHIoaW50KGRpYWcgb3IgJzAnKSkubHN0cmlwKCcwJykKKyAgICAgICAgICAgICAgICAgICAgaWYgbS5ncm91cCgnc2lnbmFsJyk6CisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9leHAgPSAnTicKKyAgICAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2V4cCA9ICduJworICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICMgaW5maW5pdHkKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5faW50ID0gJzAnCisgICAgICAgICAgICAgICAgICAgIHNlbGYuX2V4cCA9ICdGJworICAgICAgICAgICAgICAgIHNlbGYuX2lzX3NwZWNpYWwgPSBUcnVlCisgICAgICAgICAgICByZXR1cm4gc2VsZgorCisgICAgICAgICMgRnJvbSBhbiBpbnRlZ2VyCisgICAgICAgIGlmIGlzaW5zdGFuY2UodmFsdWUsIGludCk6CisgICAgICAgICAgICBpZiB2YWx1ZSA+PSAwOgorICAgICAgICAgICAgICAgIHNlbGYuX3NpZ24gPSAwCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHNlbGYuX3NpZ24gPSAxCisgICAgICAgICAgICBzZWxmLl9leHAgPSAwCisgICAgICAgICAgICBzZWxmLl9pbnQgPSBzdHIoYWJzKHZhbHVlKSkKKyAgICAgICAgICAgIHNlbGYuX2lzX3NwZWNpYWwgPSBGYWxzZQorICAgICAgICAgICAgcmV0dXJuIHNlbGYKKworICAgICAgICAjIEZyb20gYW5vdGhlciBkZWNpbWFsCisgICAgICAgIGlmIGlzaW5zdGFuY2UodmFsdWUsIERlY2ltYWwpOgorICAgICAgICAgICAgc2VsZi5fZXhwICA9IHZhbHVlLl9leHAKKyAgICAgICAgICAgIHNlbGYuX3NpZ24gPSB2YWx1ZS5fc2lnbgorICAgICAgICAgICAgc2VsZi5faW50ICA9IHZhbHVlLl9pbnQKKyAgICAgICAgICAgIHNlbGYuX2lzX3NwZWNpYWwgID0gdmFsdWUuX2lzX3NwZWNpYWwKKyAgICAgICAgICAgIHJldHVybiBzZWxmCisKKyAgICAgICAgIyBGcm9tIGFuIGludGVybmFsIHdvcmtpbmcgdmFsdWUKKyAgICAgICAgaWYgaXNpbnN0YW5jZSh2YWx1ZSwgX1dvcmtSZXApOgorICAgICAgICAgICAgc2VsZi5fc2lnbiA9IHZhbHVlLnNpZ24KKyAgICAgICAgICAgIHNlbGYuX2ludCA9IHN0cih2YWx1ZS5pbnQpCisgICAgICAgICAgICBzZWxmLl9leHAgPSBpbnQodmFsdWUuZXhwKQorICAgICAgICAgICAgc2VsZi5faXNfc3BlY2lhbCA9IEZhbHNlCisgICAgICAgICAgICByZXR1cm4gc2VsZgorCisgICAgICAgICMgdHVwbGUvbGlzdCBjb252ZXJzaW9uIChwb3NzaWJseSBmcm9tIGFzX3R1cGxlKCkpCisgICAgICAgIGlmIGlzaW5zdGFuY2UodmFsdWUsIChsaXN0LHR1cGxlKSk6CisgICAgICAgICAgICBpZiBsZW4odmFsdWUpICE9IDM6CisgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignSW52YWxpZCB0dXBsZSBzaXplIGluIGNyZWF0aW9uIG9mIERlY2ltYWwgJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Zyb20gbGlzdCBvciB0dXBsZS4gIFRoZSBsaXN0IG9yIHR1cGxlICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzaG91bGQgaGF2ZSBleGFjdGx5IHRocmVlIGVsZW1lbnRzLicpCisgICAgICAgICAgICAjIHByb2Nlc3Mgc2lnbi4gIFRoZSBpc2luc3RhbmNlIHRlc3QgcmVqZWN0cyBmbG9hdHMKKyAgICAgICAgICAgIGlmIG5vdCAoaXNpbnN0YW5jZSh2YWx1ZVswXSwgaW50KSBhbmQgdmFsdWVbMF0gaW4gKDAsMSkpOgorICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkludmFsaWQgc2lnbi4gIFRoZSBmaXJzdCB2YWx1ZSBpbiB0aGUgdHVwbGUgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNob3VsZCBiZSBhbiBpbnRlZ2VyOyBlaXRoZXIgMCBmb3IgYSAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicG9zaXRpdmUgbnVtYmVyIG9yIDEgZm9yIGEgbmVnYXRpdmUgbnVtYmVyLiIpCisgICAgICAgICAgICBzZWxmLl9zaWduID0gdmFsdWVbMF0KKyAgICAgICAgICAgIGlmIHZhbHVlWzJdID09ICdGJzoKKyAgICAgICAgICAgICAgICAjIGluZmluaXR5OiB2YWx1ZVsxXSBpcyBpZ25vcmVkCisgICAgICAgICAgICAgICAgc2VsZi5faW50ID0gJzAnCisgICAgICAgICAgICAgICAgc2VsZi5fZXhwID0gdmFsdWVbMl0KKyAgICAgICAgICAgICAgICBzZWxmLl9pc19zcGVjaWFsID0gVHJ1ZQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAjIHByb2Nlc3MgYW5kIHZhbGlkYXRlIHRoZSBkaWdpdHMgaW4gdmFsdWVbMV0KKyAgICAgICAgICAgICAgICBkaWdpdHMgPSBbXQorICAgICAgICAgICAgICAgIGZvciBkaWdpdCBpbiB2YWx1ZVsxXToKKyAgICAgICAgICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShkaWdpdCwgaW50KSBhbmQgMCA8PSBkaWdpdCA8PSA5OgorICAgICAgICAgICAgICAgICAgICAgICAgIyBza2lwIGxlYWRpbmcgemVyb3MKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIGRpZ2l0cyBvciBkaWdpdCAhPSAwOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZ2l0cy5hcHBlbmQoZGlnaXQpCisgICAgICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJUaGUgc2Vjb25kIHZhbHVlIGluIHRoZSB0dXBsZSBtdXN0ICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImJlIGNvbXBvc2VkIG9mIGludGVnZXJzIGluIHRoZSByYW5nZSAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIwIHRocm91Z2ggOS4iKQorICAgICAgICAgICAgICAgIGlmIHZhbHVlWzJdIGluICgnbicsICdOJyk6CisgICAgICAgICAgICAgICAgICAgICMgTmFOOiBkaWdpdHMgZm9ybSB0aGUgZGlhZ25vc3RpYworICAgICAgICAgICAgICAgICAgICBzZWxmLl9pbnQgPSAnJy5qb2luKG1hcChzdHIsIGRpZ2l0cykpCisgICAgICAgICAgICAgICAgICAgIHNlbGYuX2V4cCA9IHZhbHVlWzJdCisgICAgICAgICAgICAgICAgICAgIHNlbGYuX2lzX3NwZWNpYWwgPSBUcnVlCisgICAgICAgICAgICAgICAgZWxpZiBpc2luc3RhbmNlKHZhbHVlWzJdLCBpbnQpOgorICAgICAgICAgICAgICAgICAgICAjIGZpbml0ZSBudW1iZXI6IGRpZ2l0cyBnaXZlIHRoZSBjb2VmZmljaWVudAorICAgICAgICAgICAgICAgICAgICBzZWxmLl9pbnQgPSAnJy5qb2luKG1hcChzdHIsIGRpZ2l0cyBvciBbMF0pKQorICAgICAgICAgICAgICAgICAgICBzZWxmLl9leHAgPSB2YWx1ZVsyXQorICAgICAgICAgICAgICAgICAgICBzZWxmLl9pc19zcGVjaWFsID0gRmFsc2UKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJUaGUgdGhpcmQgdmFsdWUgaW4gdGhlIHR1cGxlIG11c3QgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJiZSBhbiBpbnRlZ2VyLCBvciBvbmUgb2YgdGhlICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaW5ncyAnRicsICduJywgJ04nLiIpCisgICAgICAgICAgICByZXR1cm4gc2VsZgorCisgICAgICAgIGlmIGlzaW5zdGFuY2UodmFsdWUsIGZsb2F0KToKKyAgICAgICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKKyAgICAgICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCisgICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihGbG9hdE9wZXJhdGlvbiwKKyAgICAgICAgICAgICAgICAic3RyaWN0IHNlbWFudGljcyBmb3IgbWl4aW5nIGZsb2F0cyBhbmQgRGVjaW1hbHMgYXJlICIKKyAgICAgICAgICAgICAgICAiZW5hYmxlZCIpCisgICAgICAgICAgICB2YWx1ZSA9IERlY2ltYWwuZnJvbV9mbG9hdCh2YWx1ZSkKKyAgICAgICAgICAgIHNlbGYuX2V4cCAgPSB2YWx1ZS5fZXhwCisgICAgICAgICAgICBzZWxmLl9zaWduID0gdmFsdWUuX3NpZ24KKyAgICAgICAgICAgIHNlbGYuX2ludCAgPSB2YWx1ZS5faW50CisgICAgICAgICAgICBzZWxmLl9pc19zcGVjaWFsICA9IHZhbHVlLl9pc19zcGVjaWFsCisgICAgICAgICAgICByZXR1cm4gc2VsZgorCisgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiQ2Fubm90IGNvbnZlcnQgJXIgdG8gRGVjaW1hbCIgJSB2YWx1ZSkKKworICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBmcm9tX2Zsb2F0KGNscywgZik6CisgICAgICAgICIiIkNvbnZlcnRzIGEgZmxvYXQgdG8gYSBkZWNpbWFsIG51bWJlciwgZXhhY3RseS4KKworICAgICAgICBOb3RlIHRoYXQgRGVjaW1hbC5mcm9tX2Zsb2F0KDAuMSkgaXMgbm90IHRoZSBzYW1lIGFzIERlY2ltYWwoJzAuMScpLgorICAgICAgICBTaW5jZSAwLjEgaXMgbm90IGV4YWN0bHkgcmVwcmVzZW50YWJsZSBpbiBiaW5hcnkgZmxvYXRpbmcgcG9pbnQsIHRoZQorICAgICAgICB2YWx1ZSBpcyBzdG9yZWQgYXMgdGhlIG5lYXJlc3QgcmVwcmVzZW50YWJsZSB2YWx1ZSB3aGljaCBpcworICAgICAgICAweDEuOTk5OTk5OTk5OTk5YXAtNC4gIFRoZSBleGFjdCBlcXVpdmFsZW50IG9mIHRoZSB2YWx1ZSBpbiBkZWNpbWFsCisgICAgICAgIGlzIDAuMTAwMDAwMDAwMDAwMDAwMDA1NTUxMTE1MTIzMTI1NzgyNzAyMTE4MTU4MzQwNDU0MTAxNTYyNS4KKworICAgICAgICA+Pj4gRGVjaW1hbC5mcm9tX2Zsb2F0KDAuMSkKKyAgICAgICAgRGVjaW1hbCgnMC4xMDAwMDAwMDAwMDAwMDAwMDU1NTExMTUxMjMxMjU3ODI3MDIxMTgxNTgzNDA0NTQxMDE1NjI1JykKKyAgICAgICAgPj4+IERlY2ltYWwuZnJvbV9mbG9hdChmbG9hdCgnbmFuJykpCisgICAgICAgIERlY2ltYWwoJ05hTicpCisgICAgICAgID4+PiBEZWNpbWFsLmZyb21fZmxvYXQoZmxvYXQoJ2luZicpKQorICAgICAgICBEZWNpbWFsKCdJbmZpbml0eScpCisgICAgICAgID4+PiBEZWNpbWFsLmZyb21fZmxvYXQoLWZsb2F0KCdpbmYnKSkKKyAgICAgICAgRGVjaW1hbCgnLUluZmluaXR5JykKKyAgICAgICAgPj4+IERlY2ltYWwuZnJvbV9mbG9hdCgtMC4wKQorICAgICAgICBEZWNpbWFsKCctMCcpCisKKyAgICAgICAgIiIiCisgICAgICAgIGlmIGlzaW5zdGFuY2UoZiwgaW50KTogICAgICAgICAgICAgICAgIyBoYW5kbGUgaW50ZWdlciBpbnB1dHMKKyAgICAgICAgICAgIHJldHVybiBjbHMoZikKKyAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UoZiwgZmxvYXQpOgorICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJhcmd1bWVudCBtdXN0IGJlIGludCBvciBmbG9hdC4iKQorICAgICAgICBpZiBfbWF0aC5pc2luZihmKSBvciBfbWF0aC5pc25hbihmKToKKyAgICAgICAgICAgIHJldHVybiBjbHMocmVwcihmKSkKKyAgICAgICAgaWYgX21hdGguY29weXNpZ24oMS4wLCBmKSA9PSAxLjA6CisgICAgICAgICAgICBzaWduID0gMAorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2lnbiA9IDEKKyAgICAgICAgbiwgZCA9IGFicyhmKS5hc19pbnRlZ2VyX3JhdGlvKCkKKyAgICAgICAgayA9IGQuYml0X2xlbmd0aCgpIC0gMQorICAgICAgICByZXN1bHQgPSBfZGVjX2Zyb21fdHJpcGxlKHNpZ24sIHN0cihuKjUqKmspLCAtaykKKyAgICAgICAgaWYgY2xzIGlzIERlY2ltYWw6CisgICAgICAgICAgICByZXR1cm4gcmVzdWx0CisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXR1cm4gY2xzKHJlc3VsdCkKKworICAgIGRlZiBfaXNuYW4oc2VsZik6CisgICAgICAgICIiIlJldHVybnMgd2hldGhlciB0aGUgbnVtYmVyIGlzIG5vdCBhY3R1YWxseSBvbmUuCisKKyAgICAgICAgMCBpZiBhIG51bWJlcgorICAgICAgICAxIGlmIE5hTgorICAgICAgICAyIGlmIHNOYU4KKyAgICAgICAgIiIiCisgICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWw6CisgICAgICAgICAgICBleHAgPSBzZWxmLl9leHAKKyAgICAgICAgICAgIGlmIGV4cCA9PSAnbic6CisgICAgICAgICAgICAgICAgcmV0dXJuIDEKKyAgICAgICAgICAgIGVsaWYgZXhwID09ICdOJzoKKyAgICAgICAgICAgICAgICByZXR1cm4gMgorICAgICAgICByZXR1cm4gMAorCisgICAgZGVmIF9pc2luZmluaXR5KHNlbGYpOgorICAgICAgICAiIiJSZXR1cm5zIHdoZXRoZXIgdGhlIG51bWJlciBpcyBpbmZpbml0ZQorCisgICAgICAgIDAgaWYgZmluaXRlIG9yIG5vdCBhIG51bWJlcgorICAgICAgICAxIGlmICtJTkYKKyAgICAgICAgLTEgaWYgLUlORgorICAgICAgICAiIiIKKyAgICAgICAgaWYgc2VsZi5fZXhwID09ICdGJzoKKyAgICAgICAgICAgIGlmIHNlbGYuX3NpZ246CisgICAgICAgICAgICAgICAgcmV0dXJuIC0xCisgICAgICAgICAgICByZXR1cm4gMQorICAgICAgICByZXR1cm4gMAorCisgICAgZGVmIF9jaGVja19uYW5zKHNlbGYsIG90aGVyPU5vbmUsIGNvbnRleHQ9Tm9uZSk6CisgICAgICAgICIiIlJldHVybnMgd2hldGhlciB0aGUgbnVtYmVyIGlzIG5vdCBhY3R1YWxseSBvbmUuCisKKyAgICAgICAgaWYgc2VsZiwgb3RoZXIgYXJlIHNOYU4sIHNpZ25hbAorICAgICAgICBpZiBzZWxmLCBvdGhlciBhcmUgTmFOIHJldHVybiBuYW4KKyAgICAgICAgcmV0dXJuIDAKKworICAgICAgICBEb25lIGJlZm9yZSBvcGVyYXRpb25zLgorICAgICAgICAiIiIKKworICAgICAgICBzZWxmX2lzX25hbiA9IHNlbGYuX2lzbmFuKCkKKyAgICAgICAgaWYgb3RoZXIgaXMgTm9uZToKKyAgICAgICAgICAgIG90aGVyX2lzX25hbiA9IEZhbHNlCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBvdGhlcl9pc19uYW4gPSBvdGhlci5faXNuYW4oKQorCisgICAgICAgIGlmIHNlbGZfaXNfbmFuIG9yIG90aGVyX2lzX25hbjoKKyAgICAgICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKKyAgICAgICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCisKKyAgICAgICAgICAgIGlmIHNlbGZfaXNfbmFuID09IDI6CisgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sICdzTmFOJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmKQorICAgICAgICAgICAgaWYgb3RoZXJfaXNfbmFuID09IDI6CisgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sICdzTmFOJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdGhlcikKKyAgICAgICAgICAgIGlmIHNlbGZfaXNfbmFuOgorICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLl9maXhfbmFuKGNvbnRleHQpCisKKyAgICAgICAgICAgIHJldHVybiBvdGhlci5fZml4X25hbihjb250ZXh0KQorICAgICAgICByZXR1cm4gMAorCisgICAgZGVmIF9jb21wYXJlX2NoZWNrX25hbnMoc2VsZiwgb3RoZXIsIGNvbnRleHQpOgorICAgICAgICAiIiJWZXJzaW9uIG9mIF9jaGVja19uYW5zIHVzZWQgZm9yIHRoZSBzaWduYWxpbmcgY29tcGFyaXNvbnMKKyAgICAgICAgY29tcGFyZV9zaWduYWwsIF9fbGVfXywgX19sdF9fLCBfX2dlX18sIF9fZ3RfXy4KKworICAgICAgICBTaWduYWwgSW52YWxpZE9wZXJhdGlvbiBpZiBlaXRoZXIgc2VsZiBvciBvdGhlciBpcyBhIChxdWlldAorICAgICAgICBvciBzaWduYWxpbmcpIE5hTi4gIFNpZ25hbGluZyBOYU5zIHRha2UgcHJlY2VkZW5jZSBvdmVyIHF1aWV0CisgICAgICAgIE5hTnMuCisKKyAgICAgICAgUmV0dXJuIDAgaWYgbmVpdGhlciBvcGVyYW5kIGlzIGEgTmFOLgorCisgICAgICAgICIiIgorICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6CisgICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCisKKyAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbCBvciBvdGhlci5faXNfc3BlY2lhbDoKKyAgICAgICAgICAgIGlmIHNlbGYuaXNfc25hbigpOgorICAgICAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29tcGFyaXNvbiBpbnZvbHZpbmcgc05hTicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYpCisgICAgICAgICAgICBlbGlmIG90aGVyLmlzX3NuYW4oKToKKyAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbXBhcmlzb24gaW52b2x2aW5nIHNOYU4nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdGhlcikKKyAgICAgICAgICAgIGVsaWYgc2VsZi5pc19xbmFuKCk6CisgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb21wYXJpc29uIGludm9sdmluZyBOYU4nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmKQorICAgICAgICAgICAgZWxpZiBvdGhlci5pc19xbmFuKCk6CisgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb21wYXJpc29uIGludm9sdmluZyBOYU4nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdGhlcikKKyAgICAgICAgcmV0dXJuIDAKKworICAgIGRlZiBfX2Jvb2xfXyhzZWxmKToKKyAgICAgICAgIiIiUmV0dXJuIFRydWUgaWYgc2VsZiBpcyBub256ZXJvOyBvdGhlcndpc2UgcmV0dXJuIEZhbHNlLgorCisgICAgICAgIE5hTnMgYW5kIGluZmluaXRpZXMgYXJlIGNvbnNpZGVyZWQgbm9uemVyby4KKyAgICAgICAgIiIiCisgICAgICAgIHJldHVybiBzZWxmLl9pc19zcGVjaWFsIG9yIHNlbGYuX2ludCAhPSAnMCcKKworICAgIGRlZiBfY21wKHNlbGYsIG90aGVyKToKKyAgICAgICAgIiIiQ29tcGFyZSB0aGUgdHdvIG5vbi1OYU4gZGVjaW1hbCBpbnN0YW5jZXMgc2VsZiBhbmQgb3RoZXIuCisKKyAgICAgICAgUmV0dXJucyAtMSBpZiBzZWxmIDwgb3RoZXIsIDAgaWYgc2VsZiA9PSBvdGhlciBhbmQgMQorICAgICAgICBpZiBzZWxmID4gb3RoZXIuICBUaGlzIHJvdXRpbmUgaXMgZm9yIGludGVybmFsIHVzZSBvbmx5LiIiIgorCisgICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWwgb3Igb3RoZXIuX2lzX3NwZWNpYWw6CisgICAgICAgICAgICBzZWxmX2luZiA9IHNlbGYuX2lzaW5maW5pdHkoKQorICAgICAgICAgICAgb3RoZXJfaW5mID0gb3RoZXIuX2lzaW5maW5pdHkoKQorICAgICAgICAgICAgaWYgc2VsZl9pbmYgPT0gb3RoZXJfaW5mOgorICAgICAgICAgICAgICAgIHJldHVybiAwCisgICAgICAgICAgICBlbGlmIHNlbGZfaW5mIDwgb3RoZXJfaW5mOgorICAgICAgICAgICAgICAgIHJldHVybiAtMQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICByZXR1cm4gMQorCisgICAgICAgICMgY2hlY2sgZm9yIHplcm9zOyAgRGVjaW1hbCgnMCcpID09IERlY2ltYWwoJy0wJykKKyAgICAgICAgaWYgbm90IHNlbGY6CisgICAgICAgICAgICBpZiBub3Qgb3RoZXI6CisgICAgICAgICAgICAgICAgcmV0dXJuIDAKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgcmV0dXJuIC0oKC0xKSoqb3RoZXIuX3NpZ24pCisgICAgICAgIGlmIG5vdCBvdGhlcjoKKyAgICAgICAgICAgIHJldHVybiAoLTEpKipzZWxmLl9zaWduCisKKyAgICAgICAgIyBJZiBkaWZmZXJlbnQgc2lnbnMsIG5lZyBvbmUgaXMgbGVzcworICAgICAgICBpZiBvdGhlci5fc2lnbiA8IHNlbGYuX3NpZ246CisgICAgICAgICAgICByZXR1cm4gLTEKKyAgICAgICAgaWYgc2VsZi5fc2lnbiA8IG90aGVyLl9zaWduOgorICAgICAgICAgICAgcmV0dXJuIDEKKworICAgICAgICBzZWxmX2FkanVzdGVkID0gc2VsZi5hZGp1c3RlZCgpCisgICAgICAgIG90aGVyX2FkanVzdGVkID0gb3RoZXIuYWRqdXN0ZWQoKQorICAgICAgICBpZiBzZWxmX2FkanVzdGVkID09IG90aGVyX2FkanVzdGVkOgorICAgICAgICAgICAgc2VsZl9wYWRkZWQgPSBzZWxmLl9pbnQgKyAnMCcqKHNlbGYuX2V4cCAtIG90aGVyLl9leHApCisgICAgICAgICAgICBvdGhlcl9wYWRkZWQgPSBvdGhlci5faW50ICsgJzAnKihvdGhlci5fZXhwIC0gc2VsZi5fZXhwKQorICAgICAgICAgICAgaWYgc2VsZl9wYWRkZWQgPT0gb3RoZXJfcGFkZGVkOgorICAgICAgICAgICAgICAgIHJldHVybiAwCisgICAgICAgICAgICBlbGlmIHNlbGZfcGFkZGVkIDwgb3RoZXJfcGFkZGVkOgorICAgICAgICAgICAgICAgIHJldHVybiAtKC0xKSoqc2VsZi5fc2lnbgorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICByZXR1cm4gKC0xKSoqc2VsZi5fc2lnbgorICAgICAgICBlbGlmIHNlbGZfYWRqdXN0ZWQgPiBvdGhlcl9hZGp1c3RlZDoKKyAgICAgICAgICAgIHJldHVybiAoLTEpKipzZWxmLl9zaWduCisgICAgICAgIGVsc2U6ICMgc2VsZl9hZGp1c3RlZCA8IG90aGVyX2FkanVzdGVkCisgICAgICAgICAgICByZXR1cm4gLSgoLTEpKipzZWxmLl9zaWduKQorCisgICAgIyBOb3RlOiBUaGUgRGVjaW1hbCBzdGFuZGFyZCBkb2Vzbid0IGNvdmVyIHJpY2ggY29tcGFyaXNvbnMgZm9yCisgICAgIyBEZWNpbWFscy4gIEluIHBhcnRpY3VsYXIsIHRoZSBzcGVjaWZpY2F0aW9uIGlzIHNpbGVudCBvbiB0aGUKKyAgICAjIHN1YmplY3Qgb2Ygd2hhdCBzaG91bGQgaGFwcGVuIGZvciBhIGNvbXBhcmlzb24gaW52b2x2aW5nIGEgTmFOLgorICAgICMgV2UgdGFrZSB0aGUgZm9sbG93aW5nIGFwcHJvYWNoOgorICAgICMKKyAgICAjICAgPT0gY29tcGFyaXNvbnMgaW52b2x2aW5nIGEgcXVpZXQgTmFOIGFsd2F5cyByZXR1cm4gRmFsc2UKKyAgICAjICAgIT0gY29tcGFyaXNvbnMgaW52b2x2aW5nIGEgcXVpZXQgTmFOIGFsd2F5cyByZXR1cm4gVHJ1ZQorICAgICMgICA9PSBvciAhPSBjb21wYXJpc29ucyBpbnZvbHZpbmcgYSBzaWduYWxpbmcgTmFOIHNpZ25hbAorICAgICMgICAgICBJbnZhbGlkT3BlcmF0aW9uLCBhbmQgcmV0dXJuIEZhbHNlIG9yIFRydWUgYXMgYWJvdmUgaWYgdGhlCisgICAgIyAgICAgIEludmFsaWRPcGVyYXRpb24gaXMgbm90IHRyYXBwZWQuCisgICAgIyAgIDwsID4sIDw9IGFuZCA+PSBjb21wYXJpc29ucyBpbnZvbHZpbmcgYSAocXVpZXQgb3Igc2lnbmFsaW5nKQorICAgICMgICAgICBOYU4gc2lnbmFsIEludmFsaWRPcGVyYXRpb24sIGFuZCByZXR1cm4gRmFsc2UgaWYgdGhlCisgICAgIyAgICAgIEludmFsaWRPcGVyYXRpb24gaXMgbm90IHRyYXBwZWQuCisgICAgIworICAgICMgVGhpcyBiZWhhdmlvciBpcyBkZXNpZ25lZCB0byBjb25mb3JtIGFzIGNsb3NlbHkgYXMgcG9zc2libGUgdG8KKyAgICAjIHRoYXQgc3BlY2lmaWVkIGJ5IElFRUUgNzU0LgorCisgICAgZGVmIF9fZXFfXyhzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKKyAgICAgICAgc2VsZiwgb3RoZXIgPSBfY29udmVydF9mb3JfY29tcGFyaXNvbihzZWxmLCBvdGhlciwgZXF1YWxpdHlfb3A9VHJ1ZSkKKyAgICAgICAgaWYgb3RoZXIgaXMgTm90SW1wbGVtZW50ZWQ6CisgICAgICAgICAgICByZXR1cm4gb3RoZXIKKyAgICAgICAgaWYgc2VsZi5fY2hlY2tfbmFucyhvdGhlciwgY29udGV4dCk6CisgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgcmV0dXJuIHNlbGYuX2NtcChvdGhlcikgPT0gMAorCisgICAgZGVmIF9fbHRfXyhzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKKyAgICAgICAgc2VsZiwgb3RoZXIgPSBfY29udmVydF9mb3JfY29tcGFyaXNvbihzZWxmLCBvdGhlcikKKyAgICAgICAgaWYgb3RoZXIgaXMgTm90SW1wbGVtZW50ZWQ6CisgICAgICAgICAgICByZXR1cm4gb3RoZXIKKyAgICAgICAgYW5zID0gc2VsZi5fY29tcGFyZV9jaGVja19uYW5zKG90aGVyLCBjb250ZXh0KQorICAgICAgICBpZiBhbnM6CisgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgcmV0dXJuIHNlbGYuX2NtcChvdGhlcikgPCAwCisKKyAgICBkZWYgX19sZV9fKHNlbGYsIG90aGVyLCBjb250ZXh0PU5vbmUpOgorICAgICAgICBzZWxmLCBvdGhlciA9IF9jb252ZXJ0X2Zvcl9jb21wYXJpc29uKHNlbGYsIG90aGVyKQorICAgICAgICBpZiBvdGhlciBpcyBOb3RJbXBsZW1lbnRlZDoKKyAgICAgICAgICAgIHJldHVybiBvdGhlcgorICAgICAgICBhbnMgPSBzZWxmLl9jb21wYXJlX2NoZWNrX25hbnMob3RoZXIsIGNvbnRleHQpCisgICAgICAgIGlmIGFuczoKKyAgICAgICAgICAgIHJldHVybiBGYWxzZQorICAgICAgICByZXR1cm4gc2VsZi5fY21wKG90aGVyKSA8PSAwCisKKyAgICBkZWYgX19ndF9fKHNlbGYsIG90aGVyLCBjb250ZXh0PU5vbmUpOgorICAgICAgICBzZWxmLCBvdGhlciA9IF9jb252ZXJ0X2Zvcl9jb21wYXJpc29uKHNlbGYsIG90aGVyKQorICAgICAgICBpZiBvdGhlciBpcyBOb3RJbXBsZW1lbnRlZDoKKyAgICAgICAgICAgIHJldHVybiBvdGhlcgorICAgICAgICBhbnMgPSBzZWxmLl9jb21wYXJlX2NoZWNrX25hbnMob3RoZXIsIGNvbnRleHQpCisgICAgICAgIGlmIGFuczoKKyAgICAgICAgICAgIHJldHVybiBGYWxzZQorICAgICAgICByZXR1cm4gc2VsZi5fY21wKG90aGVyKSA+IDAKKworICAgIGRlZiBfX2dlX18oc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6CisgICAgICAgIHNlbGYsIG90aGVyID0gX2NvbnZlcnRfZm9yX2NvbXBhcmlzb24oc2VsZiwgb3RoZXIpCisgICAgICAgIGlmIG90aGVyIGlzIE5vdEltcGxlbWVudGVkOgorICAgICAgICAgICAgcmV0dXJuIG90aGVyCisgICAgICAgIGFucyA9IHNlbGYuX2NvbXBhcmVfY2hlY2tfbmFucyhvdGhlciwgY29udGV4dCkKKyAgICAgICAgaWYgYW5zOgorICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgICAgIHJldHVybiBzZWxmLl9jbXAob3RoZXIpID49IDAKKworICAgIGRlZiBjb21wYXJlKHNlbGYsIG90aGVyLCBjb250ZXh0PU5vbmUpOgorICAgICAgICAiIiJDb21wYXJlcyBvbmUgdG8gYW5vdGhlci4KKworICAgICAgICAtMSA9PiBhIDwgYgorICAgICAgICAwICA9PiBhID0gYgorICAgICAgICAxICA9PiBhID4gYgorICAgICAgICBOYU4gPT4gb25lIGlzIE5hTgorICAgICAgICBMaWtlIF9fY21wX18sIGJ1dCByZXR1cm5zIERlY2ltYWwgaW5zdGFuY2VzLgorICAgICAgICAiIiIKKyAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlciwgcmFpc2VpdD1UcnVlKQorCisgICAgICAgICMgQ29tcGFyZShOYU4sIE5hTikgPSBOYU4KKyAgICAgICAgaWYgKHNlbGYuX2lzX3NwZWNpYWwgb3Igb3RoZXIgYW5kIG90aGVyLl9pc19zcGVjaWFsKToKKyAgICAgICAgICAgIGFucyA9IHNlbGYuX2NoZWNrX25hbnMob3RoZXIsIGNvbnRleHQpCisgICAgICAgICAgICBpZiBhbnM6CisgICAgICAgICAgICAgICAgcmV0dXJuIGFucworCisgICAgICAgIHJldHVybiBEZWNpbWFsKHNlbGYuX2NtcChvdGhlcikpCisKKyAgICBkZWYgX19oYXNoX18oc2VsZik6CisgICAgICAgICIiInguX19oYXNoX18oKSA8PT0+IGhhc2goeCkiIiIKKworICAgICAgICAjIEluIG9yZGVyIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSBoYXNoIG9mIGEgRGVjaW1hbCBpbnN0YW5jZQorICAgICAgICAjIGFncmVlcyB3aXRoIHRoZSBoYXNoIG9mIGEgbnVtZXJpY2FsbHkgZXF1YWwgaW50ZWdlciwgZmxvYXQKKyAgICAgICAgIyBvciBGcmFjdGlvbiwgd2UgZm9sbG93IHRoZSBydWxlcyBmb3IgbnVtZXJpYyBoYXNoZXMgb3V0bGluZWQKKyAgICAgICAgIyBpbiB0aGUgZG9jdW1lbnRhdGlvbi4gIChTZWUgbGlicmFyeSBkb2NzLCAnQnVpbHQtaW4gVHlwZXMnKS4KKyAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbDoKKyAgICAgICAgICAgIGlmIHNlbGYuaXNfc25hbigpOgorICAgICAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcignQ2Fubm90IGhhc2ggYSBzaWduYWxpbmcgTmFOIHZhbHVlLicpCisgICAgICAgICAgICBlbGlmIHNlbGYuaXNfbmFuKCk6CisgICAgICAgICAgICAgICAgcmV0dXJuIF9QeUhBU0hfTkFOCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGlmIHNlbGYuX3NpZ246CisgICAgICAgICAgICAgICAgICAgIHJldHVybiAtX1B5SEFTSF9JTkYKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gX1B5SEFTSF9JTkYKKworICAgICAgICBpZiBzZWxmLl9leHAgPj0gMDoKKyAgICAgICAgICAgIGV4cF9oYXNoID0gcG93KDEwLCBzZWxmLl9leHAsIF9QeUhBU0hfTU9EVUxVUykKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGV4cF9oYXNoID0gcG93KF9QeUhBU0hfMTBJTlYsIC1zZWxmLl9leHAsIF9QeUhBU0hfTU9EVUxVUykKKyAgICAgICAgaGFzaF8gPSBpbnQoc2VsZi5faW50KSAqIGV4cF9oYXNoICUgX1B5SEFTSF9NT0RVTFVTCisgICAgICAgIGFucyA9IGhhc2hfIGlmIHNlbGYgPj0gMCBlbHNlIC1oYXNoXworICAgICAgICByZXR1cm4gLTIgaWYgYW5zID09IC0xIGVsc2UgYW5zCisKKyAgICBkZWYgYXNfdHVwbGUoc2VsZik6CisgICAgICAgICIiIlJlcHJlc2VudHMgdGhlIG51bWJlciBhcyBhIHRyaXBsZSB0dXBsZS4KKworICAgICAgICBUbyBzaG93IHRoZSBpbnRlcm5hbHMgZXhhY3RseSBhcyB0aGV5IGFyZS4KKyAgICAgICAgIiIiCisgICAgICAgIHJldHVybiBEZWNpbWFsVHVwbGUoc2VsZi5fc2lnbiwgdHVwbGUobWFwKGludCwgc2VsZi5faW50KSksIHNlbGYuX2V4cCkKKworICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKKyAgICAgICAgIiIiUmVwcmVzZW50cyB0aGUgbnVtYmVyIGFzIGFuIGluc3RhbmNlIG9mIERlY2ltYWwuIiIiCisgICAgICAgICMgSW52YXJpYW50OiAgZXZhbChyZXByKGQpKSA9PSBkCisgICAgICAgIHJldHVybiAiRGVjaW1hbCgnJXMnKSIgJSBzdHIoc2VsZikKKworICAgIGRlZiBfX3N0cl9fKHNlbGYsIGVuZz1GYWxzZSwgY29udGV4dD1Ob25lKToKKyAgICAgICAgIiIiUmV0dXJuIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgbnVtYmVyIGluIHNjaWVudGlmaWMgbm90YXRpb24uCisKKyAgICAgICAgQ2FwdHVyZXMgYWxsIG9mIHRoZSBpbmZvcm1hdGlvbiBpbiB0aGUgdW5kZXJseWluZyByZXByZXNlbnRhdGlvbi4KKyAgICAgICAgIiIiCisKKyAgICAgICAgc2lnbiA9IFsnJywgJy0nXVtzZWxmLl9zaWduXQorICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsOgorICAgICAgICAgICAgaWYgc2VsZi5fZXhwID09ICdGJzoKKyAgICAgICAgICAgICAgICByZXR1cm4gc2lnbiArICdJbmZpbml0eScKKyAgICAgICAgICAgIGVsaWYgc2VsZi5fZXhwID09ICduJzoKKyAgICAgICAgICAgICAgICByZXR1cm4gc2lnbiArICdOYU4nICsgc2VsZi5faW50CisgICAgICAgICAgICBlbHNlOiAjIHNlbGYuX2V4cCA9PSAnTicKKyAgICAgICAgICAgICAgICByZXR1cm4gc2lnbiArICdzTmFOJyArIHNlbGYuX2ludAorCisgICAgICAgICMgbnVtYmVyIG9mIGRpZ2l0cyBvZiBzZWxmLl9pbnQgdG8gbGVmdCBvZiBkZWNpbWFsIHBvaW50CisgICAgICAgIGxlZnRkaWdpdHMgPSBzZWxmLl9leHAgKyBsZW4oc2VsZi5faW50KQorCisgICAgICAgICMgZG90cGxhY2UgaXMgbnVtYmVyIG9mIGRpZ2l0cyBvZiBzZWxmLl9pbnQgdG8gdGhlIGxlZnQgb2YgdGhlCisgICAgICAgICMgZGVjaW1hbCBwb2ludCBpbiB0aGUgbWFudGlzc2Egb2YgdGhlIG91dHB1dCBzdHJpbmcgKHRoYXQgaXMsCisgICAgICAgICMgYWZ0ZXIgYWRqdXN0aW5nIHRoZSBleHBvbmVudCkKKyAgICAgICAgaWYgc2VsZi5fZXhwIDw9IDAgYW5kIGxlZnRkaWdpdHMgPiAtNjoKKyAgICAgICAgICAgICMgbm8gZXhwb25lbnQgcmVxdWlyZWQKKyAgICAgICAgICAgIGRvdHBsYWNlID0gbGVmdGRpZ2l0cworICAgICAgICBlbGlmIG5vdCBlbmc6CisgICAgICAgICAgICAjIHVzdWFsIHNjaWVudGlmaWMgbm90YXRpb246IDEgZGlnaXQgb24gbGVmdCBvZiB0aGUgcG9pbnQKKyAgICAgICAgICAgIGRvdHBsYWNlID0gMQorICAgICAgICBlbGlmIHNlbGYuX2ludCA9PSAnMCc6CisgICAgICAgICAgICAjIGVuZ2luZWVyaW5nIG5vdGF0aW9uLCB6ZXJvCisgICAgICAgICAgICBkb3RwbGFjZSA9IChsZWZ0ZGlnaXRzICsgMSkgJSAzIC0gMQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgIyBlbmdpbmVlcmluZyBub3RhdGlvbiwgbm9uemVybworICAgICAgICAgICAgZG90cGxhY2UgPSAobGVmdGRpZ2l0cyAtIDEpICUgMyArIDEKKworICAgICAgICBpZiBkb3RwbGFjZSA8PSAwOgorICAgICAgICAgICAgaW50cGFydCA9ICcwJworICAgICAgICAgICAgZnJhY3BhcnQgPSAnLicgKyAnMCcqKC1kb3RwbGFjZSkgKyBzZWxmLl9pbnQKKyAgICAgICAgZWxpZiBkb3RwbGFjZSA+PSBsZW4oc2VsZi5faW50KToKKyAgICAgICAgICAgIGludHBhcnQgPSBzZWxmLl9pbnQrJzAnKihkb3RwbGFjZS1sZW4oc2VsZi5faW50KSkKKyAgICAgICAgICAgIGZyYWNwYXJ0ID0gJycKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGludHBhcnQgPSBzZWxmLl9pbnRbOmRvdHBsYWNlXQorICAgICAgICAgICAgZnJhY3BhcnQgPSAnLicgKyBzZWxmLl9pbnRbZG90cGxhY2U6XQorICAgICAgICBpZiBsZWZ0ZGlnaXRzID09IGRvdHBsYWNlOgorICAgICAgICAgICAgZXhwID0gJycKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKKyAgICAgICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCisgICAgICAgICAgICBleHAgPSBbJ2UnLCAnRSddW2NvbnRleHQuY2FwaXRhbHNdICsgIiUrZCIgJSAobGVmdGRpZ2l0cy1kb3RwbGFjZSkKKworICAgICAgICByZXR1cm4gc2lnbiArIGludHBhcnQgKyBmcmFjcGFydCArIGV4cAorCisgICAgZGVmIHRvX2VuZ19zdHJpbmcoc2VsZiwgY29udGV4dD1Ob25lKToKKyAgICAgICAgIiIiQ29udmVydCB0byBlbmdpbmVlcmluZy10eXBlIHN0cmluZy4KKworICAgICAgICBFbmdpbmVlcmluZyBub3RhdGlvbiBoYXMgYW4gZXhwb25lbnQgd2hpY2ggaXMgYSBtdWx0aXBsZSBvZiAzLCBzbyB0aGVyZQorICAgICAgICBhcmUgdXAgdG8gMyBkaWdpdHMgbGVmdCBvZiB0aGUgZGVjaW1hbCBwbGFjZS4KKworICAgICAgICBTYW1lIHJ1bGVzIGZvciB3aGVuIGluIGV4cG9uZW50aWFsIGFuZCB3aGVuIGFzIGEgdmFsdWUgYXMgaW4gX19zdHJfXy4KKyAgICAgICAgIiIiCisgICAgICAgIHJldHVybiBzZWxmLl9fc3RyX18oZW5nPVRydWUsIGNvbnRleHQ9Y29udGV4dCkKKworICAgIGRlZiBfX25lZ19fKHNlbGYsIGNvbnRleHQ9Tm9uZSk6CisgICAgICAgICIiIlJldHVybnMgYSBjb3B5IHdpdGggdGhlIHNpZ24gc3dpdGNoZWQuCisKKyAgICAgICAgUm91bmRzLCBpZiBpdCBoYXMgcmVhc29uLgorICAgICAgICAiIiIKKyAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbDoKKyAgICAgICAgICAgIGFucyA9IHNlbGYuX2NoZWNrX25hbnMoY29udGV4dD1jb250ZXh0KQorICAgICAgICAgICAgaWYgYW5zOgorICAgICAgICAgICAgICAgIHJldHVybiBhbnMKKworICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6CisgICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCisKKyAgICAgICAgaWYgbm90IHNlbGYgYW5kIGNvbnRleHQucm91bmRpbmcgIT0gUk9VTkRfRkxPT1I6CisgICAgICAgICAgICAjIC1EZWNpbWFsKCcwJykgaXMgRGVjaW1hbCgnMCcpLCBub3QgRGVjaW1hbCgnLTAnKSwgZXhjZXB0CisgICAgICAgICAgICAjIGluIFJPVU5EX0ZMT09SIHJvdW5kaW5nIG1vZGUuCisgICAgICAgICAgICBhbnMgPSBzZWxmLmNvcHlfYWJzKCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGFucyA9IHNlbGYuY29weV9uZWdhdGUoKQorCisgICAgICAgIHJldHVybiBhbnMuX2ZpeChjb250ZXh0KQorCisgICAgZGVmIF9fcG9zX18oc2VsZiwgY29udGV4dD1Ob25lKToKKyAgICAgICAgIiIiUmV0dXJucyBhIGNvcHksIHVubGVzcyBpdCBpcyBhIHNOYU4uCisKKyAgICAgICAgUm91bmRzIHRoZSBudW1iZXIgKGlmIG1vcmUgdGhlbiBwcmVjaXNpb24gZGlnaXRzKQorICAgICAgICAiIiIKKyAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbDoKKyAgICAgICAgICAgIGFucyA9IHNlbGYuX2NoZWNrX25hbnMoY29udGV4dD1jb250ZXh0KQorICAgICAgICAgICAgaWYgYW5zOgorICAgICAgICAgICAgICAgIHJldHVybiBhbnMKKworICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6CisgICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCisKKyAgICAgICAgaWYgbm90IHNlbGYgYW5kIGNvbnRleHQucm91bmRpbmcgIT0gUk9VTkRfRkxPT1I6CisgICAgICAgICAgICAjICsgKC0wKSA9IDAsIGV4Y2VwdCBpbiBST1VORF9GTE9PUiByb3VuZGluZyBtb2RlLgorICAgICAgICAgICAgYW5zID0gc2VsZi5jb3B5X2FicygpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBhbnMgPSBEZWNpbWFsKHNlbGYpCisKKyAgICAgICAgcmV0dXJuIGFucy5fZml4KGNvbnRleHQpCisKKyAgICBkZWYgX19hYnNfXyhzZWxmLCByb3VuZD1UcnVlLCBjb250ZXh0PU5vbmUpOgorICAgICAgICAiIiJSZXR1cm5zIHRoZSBhYnNvbHV0ZSB2YWx1ZSBvZiBzZWxmLgorCisgICAgICAgIElmIHRoZSBrZXl3b3JkIGFyZ3VtZW50ICdyb3VuZCcgaXMgZmFsc2UsIGRvIG5vdCByb3VuZC4gIFRoZQorICAgICAgICBleHByZXNzaW9uIHNlbGYuX19hYnNfXyhyb3VuZD1GYWxzZSkgaXMgZXF1aXZhbGVudCB0bworICAgICAgICBzZWxmLmNvcHlfYWJzKCkuCisgICAgICAgICIiIgorICAgICAgICBpZiBub3Qgcm91bmQ6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5jb3B5X2FicygpCisKKyAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbDoKKyAgICAgICAgICAgIGFucyA9IHNlbGYuX2NoZWNrX25hbnMoY29udGV4dD1jb250ZXh0KQorICAgICAgICAgICAgaWYgYW5zOgorICAgICAgICAgICAgICAgIHJldHVybiBhbnMKKworICAgICAgICBpZiBzZWxmLl9zaWduOgorICAgICAgICAgICAgYW5zID0gc2VsZi5fX25lZ19fKGNvbnRleHQ9Y29udGV4dCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGFucyA9IHNlbGYuX19wb3NfXyhjb250ZXh0PWNvbnRleHQpCisKKyAgICAgICAgcmV0dXJuIGFucworCisgICAgZGVmIF9fYWRkX18oc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6CisgICAgICAgICIiIlJldHVybnMgc2VsZiArIG90aGVyLgorCisgICAgICAgIC1JTkYgKyBJTkYgKG9yIHRoZSByZXZlcnNlKSBjYXVzZSBJbnZhbGlkT3BlcmF0aW9uIGVycm9ycy4KKyAgICAgICAgIiIiCisgICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIpCisgICAgICAgIGlmIG90aGVyIGlzIE5vdEltcGxlbWVudGVkOgorICAgICAgICAgICAgcmV0dXJuIG90aGVyCisKKyAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgorICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQorCisgICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWwgb3Igb3RoZXIuX2lzX3NwZWNpYWw6CisgICAgICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKG90aGVyLCBjb250ZXh0KQorICAgICAgICAgICAgaWYgYW5zOgorICAgICAgICAgICAgICAgIHJldHVybiBhbnMKKworICAgICAgICAgICAgaWYgc2VsZi5faXNpbmZpbml0eSgpOgorICAgICAgICAgICAgICAgICMgSWYgYm90aCBJTkYsIHNhbWUgc2lnbiA9PiBzYW1lIGFzIGJvdGgsIG9wcG9zaXRlID0+IGVycm9yLgorICAgICAgICAgICAgICAgIGlmIHNlbGYuX3NpZ24gIT0gb3RoZXIuX3NpZ24gYW5kIG90aGVyLl9pc2luZmluaXR5KCk6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLCAnLUlORiArIElORicpCisgICAgICAgICAgICAgICAgcmV0dXJuIERlY2ltYWwoc2VsZikKKyAgICAgICAgICAgIGlmIG90aGVyLl9pc2luZmluaXR5KCk6CisgICAgICAgICAgICAgICAgcmV0dXJuIERlY2ltYWwob3RoZXIpICAjIENhbid0IGJvdGggYmUgaW5maW5pdHkgaGVyZQorCisgICAgICAgIGV4cCA9IG1pbihzZWxmLl9leHAsIG90aGVyLl9leHApCisgICAgICAgIG5lZ2F0aXZlemVybyA9IDAKKyAgICAgICAgaWYgY29udGV4dC5yb3VuZGluZyA9PSBST1VORF9GTE9PUiBhbmQgc2VsZi5fc2lnbiAhPSBvdGhlci5fc2lnbjoKKyAgICAgICAgICAgICMgSWYgdGhlIGFuc3dlciBpcyAwLCB0aGUgc2lnbiBzaG91bGQgYmUgbmVnYXRpdmUsIGluIHRoaXMgY2FzZS4KKyAgICAgICAgICAgIG5lZ2F0aXZlemVybyA9IDEKKworICAgICAgICBpZiBub3Qgc2VsZiBhbmQgbm90IG90aGVyOgorICAgICAgICAgICAgc2lnbiA9IG1pbihzZWxmLl9zaWduLCBvdGhlci5fc2lnbikKKyAgICAgICAgICAgIGlmIG5lZ2F0aXZlemVybzoKKyAgICAgICAgICAgICAgICBzaWduID0gMQorICAgICAgICAgICAgYW5zID0gX2RlY19mcm9tX3RyaXBsZShzaWduLCAnMCcsIGV4cCkKKyAgICAgICAgICAgIGFucyA9IGFucy5fZml4KGNvbnRleHQpCisgICAgICAgICAgICByZXR1cm4gYW5zCisgICAgICAgIGlmIG5vdCBzZWxmOgorICAgICAgICAgICAgZXhwID0gbWF4KGV4cCwgb3RoZXIuX2V4cCAtIGNvbnRleHQucHJlYy0xKQorICAgICAgICAgICAgYW5zID0gb3RoZXIuX3Jlc2NhbGUoZXhwLCBjb250ZXh0LnJvdW5kaW5nKQorICAgICAgICAgICAgYW5zID0gYW5zLl9maXgoY29udGV4dCkKKyAgICAgICAgICAgIHJldHVybiBhbnMKKyAgICAgICAgaWYgbm90IG90aGVyOgorICAgICAgICAgICAgZXhwID0gbWF4KGV4cCwgc2VsZi5fZXhwIC0gY29udGV4dC5wcmVjLTEpCisgICAgICAgICAgICBhbnMgPSBzZWxmLl9yZXNjYWxlKGV4cCwgY29udGV4dC5yb3VuZGluZykKKyAgICAgICAgICAgIGFucyA9IGFucy5fZml4KGNvbnRleHQpCisgICAgICAgICAgICByZXR1cm4gYW5zCisKKyAgICAgICAgb3AxID0gX1dvcmtSZXAoc2VsZikKKyAgICAgICAgb3AyID0gX1dvcmtSZXAob3RoZXIpCisgICAgICAgIG9wMSwgb3AyID0gX25vcm1hbGl6ZShvcDEsIG9wMiwgY29udGV4dC5wcmVjKQorCisgICAgICAgIHJlc3VsdCA9IF9Xb3JrUmVwKCkKKyAgICAgICAgaWYgb3AxLnNpZ24gIT0gb3AyLnNpZ246CisgICAgICAgICAgICAjIEVxdWFsIGFuZCBvcHBvc2l0ZQorICAgICAgICAgICAgaWYgb3AxLmludCA9PSBvcDIuaW50OgorICAgICAgICAgICAgICAgIGFucyA9IF9kZWNfZnJvbV90cmlwbGUobmVnYXRpdmV6ZXJvLCAnMCcsIGV4cCkKKyAgICAgICAgICAgICAgICBhbnMgPSBhbnMuX2ZpeChjb250ZXh0KQorICAgICAgICAgICAgICAgIHJldHVybiBhbnMKKyAgICAgICAgICAgIGlmIG9wMS5pbnQgPCBvcDIuaW50OgorICAgICAgICAgICAgICAgIG9wMSwgb3AyID0gb3AyLCBvcDEKKyAgICAgICAgICAgICAgICAjIE9LLCBub3cgYWJzKG9wMSkgPiBhYnMob3AyKQorICAgICAgICAgICAgaWYgb3AxLnNpZ24gPT0gMToKKyAgICAgICAgICAgICAgICByZXN1bHQuc2lnbiA9IDEKKyAgICAgICAgICAgICAgICBvcDEuc2lnbiwgb3AyLnNpZ24gPSBvcDIuc2lnbiwgb3AxLnNpZ24KKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgcmVzdWx0LnNpZ24gPSAwCisgICAgICAgICAgICAgICAgIyBTbyB3ZSBrbm93IHRoZSBzaWduLCBhbmQgb3AxID4gMC4KKyAgICAgICAgZWxpZiBvcDEuc2lnbiA9PSAxOgorICAgICAgICAgICAgcmVzdWx0LnNpZ24gPSAxCisgICAgICAgICAgICBvcDEuc2lnbiwgb3AyLnNpZ24gPSAoMCwgMCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJlc3VsdC5zaWduID0gMAorICAgICAgICAjIE5vdywgb3AxID4gYWJzKG9wMikgPiAwCisKKyAgICAgICAgaWYgb3AyLnNpZ24gPT0gMDoKKyAgICAgICAgICAgIHJlc3VsdC5pbnQgPSBvcDEuaW50ICsgb3AyLmludAorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmVzdWx0LmludCA9IG9wMS5pbnQgLSBvcDIuaW50CisKKyAgICAgICAgcmVzdWx0LmV4cCA9IG9wMS5leHAKKyAgICAgICAgYW5zID0gRGVjaW1hbChyZXN1bHQpCisgICAgICAgIGFucyA9IGFucy5fZml4KGNvbnRleHQpCisgICAgICAgIHJldHVybiBhbnMKKworICAgIF9fcmFkZF9fID0gX19hZGRfXworCisgICAgZGVmIF9fc3ViX18oc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6CisgICAgICAgICIiIlJldHVybiBzZWxmIC0gb3RoZXIiIiIKKyAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlcikKKyAgICAgICAgaWYgb3RoZXIgaXMgTm90SW1wbGVtZW50ZWQ6CisgICAgICAgICAgICByZXR1cm4gb3RoZXIKKworICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsIG9yIG90aGVyLl9pc19zcGVjaWFsOgorICAgICAgICAgICAgYW5zID0gc2VsZi5fY2hlY2tfbmFucyhvdGhlciwgY29udGV4dD1jb250ZXh0KQorICAgICAgICAgICAgaWYgYW5zOgorICAgICAgICAgICAgICAgIHJldHVybiBhbnMKKworICAgICAgICAjIHNlbGYgLSBvdGhlciBpcyBjb21wdXRlZCBhcyBzZWxmICsgb3RoZXIuY29weV9uZWdhdGUoKQorICAgICAgICByZXR1cm4gc2VsZi5fX2FkZF9fKG90aGVyLmNvcHlfbmVnYXRlKCksIGNvbnRleHQ9Y29udGV4dCkKKworICAgIGRlZiBfX3JzdWJfXyhzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKKyAgICAgICAgIiIiUmV0dXJuIG90aGVyIC0gc2VsZiIiIgorICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyKQorICAgICAgICBpZiBvdGhlciBpcyBOb3RJbXBsZW1lbnRlZDoKKyAgICAgICAgICAgIHJldHVybiBvdGhlcgorCisgICAgICAgIHJldHVybiBvdGhlci5fX3N1Yl9fKHNlbGYsIGNvbnRleHQ9Y29udGV4dCkKKworICAgIGRlZiBfX211bF9fKHNlbGYsIG90aGVyLCBjb250ZXh0PU5vbmUpOgorICAgICAgICAiIiJSZXR1cm4gc2VsZiAqIG90aGVyLgorCisgICAgICAgICgrLSkgSU5GICogMCAob3IgaXRzIHJldmVyc2UpIHJhaXNlIEludmFsaWRPcGVyYXRpb24uCisgICAgICAgICIiIgorICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyKQorICAgICAgICBpZiBvdGhlciBpcyBOb3RJbXBsZW1lbnRlZDoKKyAgICAgICAgICAgIHJldHVybiBvdGhlcgorCisgICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKKyAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKKworICAgICAgICByZXN1bHRzaWduID0gc2VsZi5fc2lnbiBeIG90aGVyLl9zaWduCisKKyAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbCBvciBvdGhlci5faXNfc3BlY2lhbDoKKyAgICAgICAgICAgIGFucyA9IHNlbGYuX2NoZWNrX25hbnMob3RoZXIsIGNvbnRleHQpCisgICAgICAgICAgICBpZiBhbnM6CisgICAgICAgICAgICAgICAgcmV0dXJuIGFucworCisgICAgICAgICAgICBpZiBzZWxmLl9pc2luZmluaXR5KCk6CisgICAgICAgICAgICAgICAgaWYgbm90IG90aGVyOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwgJygrLSlJTkYgKiAwJykKKyAgICAgICAgICAgICAgICByZXR1cm4gX1NpZ25lZEluZmluaXR5W3Jlc3VsdHNpZ25dCisKKyAgICAgICAgICAgIGlmIG90aGVyLl9pc2luZmluaXR5KCk6CisgICAgICAgICAgICAgICAgaWYgbm90IHNlbGY6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLCAnMCAqICgrLSlJTkYnKQorICAgICAgICAgICAgICAgIHJldHVybiBfU2lnbmVkSW5maW5pdHlbcmVzdWx0c2lnbl0KKworICAgICAgICByZXN1bHRleHAgPSBzZWxmLl9leHAgKyBvdGhlci5fZXhwCisKKyAgICAgICAgIyBTcGVjaWFsIGNhc2UgZm9yIG11bHRpcGx5aW5nIGJ5IHplcm8KKyAgICAgICAgaWYgbm90IHNlbGYgb3Igbm90IG90aGVyOgorICAgICAgICAgICAgYW5zID0gX2RlY19mcm9tX3RyaXBsZShyZXN1bHRzaWduLCAnMCcsIHJlc3VsdGV4cCkKKyAgICAgICAgICAgICMgRml4aW5nIGluIGNhc2UgdGhlIGV4cG9uZW50IGlzIG91dCBvZiBib3VuZHMKKyAgICAgICAgICAgIGFucyA9IGFucy5fZml4KGNvbnRleHQpCisgICAgICAgICAgICByZXR1cm4gYW5zCisKKyAgICAgICAgIyBTcGVjaWFsIGNhc2UgZm9yIG11bHRpcGx5aW5nIGJ5IHBvd2VyIG9mIDEwCisgICAgICAgIGlmIHNlbGYuX2ludCA9PSAnMSc6CisgICAgICAgICAgICBhbnMgPSBfZGVjX2Zyb21fdHJpcGxlKHJlc3VsdHNpZ24sIG90aGVyLl9pbnQsIHJlc3VsdGV4cCkKKyAgICAgICAgICAgIGFucyA9IGFucy5fZml4KGNvbnRleHQpCisgICAgICAgICAgICByZXR1cm4gYW5zCisgICAgICAgIGlmIG90aGVyLl9pbnQgPT0gJzEnOgorICAgICAgICAgICAgYW5zID0gX2RlY19mcm9tX3RyaXBsZShyZXN1bHRzaWduLCBzZWxmLl9pbnQsIHJlc3VsdGV4cCkKKyAgICAgICAgICAgIGFucyA9IGFucy5fZml4KGNvbnRleHQpCisgICAgICAgICAgICByZXR1cm4gYW5zCisKKyAgICAgICAgb3AxID0gX1dvcmtSZXAoc2VsZikKKyAgICAgICAgb3AyID0gX1dvcmtSZXAob3RoZXIpCisKKyAgICAgICAgYW5zID0gX2RlY19mcm9tX3RyaXBsZShyZXN1bHRzaWduLCBzdHIob3AxLmludCAqIG9wMi5pbnQpLCByZXN1bHRleHApCisgICAgICAgIGFucyA9IGFucy5fZml4KGNvbnRleHQpCisKKyAgICAgICAgcmV0dXJuIGFucworICAgIF9fcm11bF9fID0gX19tdWxfXworCisgICAgZGVmIF9fdHJ1ZWRpdl9fKHNlbGYsIG90aGVyLCBjb250ZXh0PU5vbmUpOgorICAgICAgICAiIiJSZXR1cm4gc2VsZiAvIG90aGVyLiIiIgorICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyKQorICAgICAgICBpZiBvdGhlciBpcyBOb3RJbXBsZW1lbnRlZDoKKyAgICAgICAgICAgIHJldHVybiBOb3RJbXBsZW1lbnRlZAorCisgICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKKyAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKKworICAgICAgICBzaWduID0gc2VsZi5fc2lnbiBeIG90aGVyLl9zaWduCisKKyAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbCBvciBvdGhlci5faXNfc3BlY2lhbDoKKyAgICAgICAgICAgIGFucyA9IHNlbGYuX2NoZWNrX25hbnMob3RoZXIsIGNvbnRleHQpCisgICAgICAgICAgICBpZiBhbnM6CisgICAgICAgICAgICAgICAgcmV0dXJuIGFucworCisgICAgICAgICAgICBpZiBzZWxmLl9pc2luZmluaXR5KCkgYW5kIG90aGVyLl9pc2luZmluaXR5KCk6CisgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sICcoKy0pSU5GLygrLSlJTkYnKQorCisgICAgICAgICAgICBpZiBzZWxmLl9pc2luZmluaXR5KCk6CisgICAgICAgICAgICAgICAgcmV0dXJuIF9TaWduZWRJbmZpbml0eVtzaWduXQorCisgICAgICAgICAgICBpZiBvdGhlci5faXNpbmZpbml0eSgpOgorICAgICAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKENsYW1wZWQsICdEaXZpc2lvbiBieSBpbmZpbml0eScpCisgICAgICAgICAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUoc2lnbiwgJzAnLCBjb250ZXh0LkV0aW55KCkpCisKKyAgICAgICAgIyBTcGVjaWFsIGNhc2VzIGZvciB6ZXJvZXMKKyAgICAgICAgaWYgbm90IG90aGVyOgorICAgICAgICAgICAgaWYgbm90IHNlbGY6CisgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKERpdmlzaW9uVW5kZWZpbmVkLCAnMCAvIDAnKQorICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKERpdmlzaW9uQnlaZXJvLCAneCAvIDAnLCBzaWduKQorCisgICAgICAgIGlmIG5vdCBzZWxmOgorICAgICAgICAgICAgZXhwID0gc2VsZi5fZXhwIC0gb3RoZXIuX2V4cAorICAgICAgICAgICAgY29lZmYgPSAwCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICAjIE9LLCBzbyBuZWl0aGVyID0gMCwgSU5GIG9yIE5hTgorICAgICAgICAgICAgc2hpZnQgPSBsZW4ob3RoZXIuX2ludCkgLSBsZW4oc2VsZi5faW50KSArIGNvbnRleHQucHJlYyArIDEKKyAgICAgICAgICAgIGV4cCA9IHNlbGYuX2V4cCAtIG90aGVyLl9leHAgLSBzaGlmdAorICAgICAgICAgICAgb3AxID0gX1dvcmtSZXAoc2VsZikKKyAgICAgICAgICAgIG9wMiA9IF9Xb3JrUmVwKG90aGVyKQorICAgICAgICAgICAgaWYgc2hpZnQgPj0gMDoKKyAgICAgICAgICAgICAgICBjb2VmZiwgcmVtYWluZGVyID0gZGl2bW9kKG9wMS5pbnQgKiAxMCoqc2hpZnQsIG9wMi5pbnQpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGNvZWZmLCByZW1haW5kZXIgPSBkaXZtb2Qob3AxLmludCwgb3AyLmludCAqIDEwKiotc2hpZnQpCisgICAgICAgICAgICBpZiByZW1haW5kZXI6CisgICAgICAgICAgICAgICAgIyByZXN1bHQgaXMgbm90IGV4YWN0OyBhZGp1c3QgdG8gZW5zdXJlIGNvcnJlY3Qgcm91bmRpbmcKKyAgICAgICAgICAgICAgICBpZiBjb2VmZiAlIDUgPT0gMDoKKyAgICAgICAgICAgICAgICAgICAgY29lZmYgKz0gMQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAjIHJlc3VsdCBpcyBleGFjdDsgZ2V0IGFzIGNsb3NlIHRvIGlkZWFsIGV4cG9uZW50IGFzIHBvc3NpYmxlCisgICAgICAgICAgICAgICAgaWRlYWxfZXhwID0gc2VsZi5fZXhwIC0gb3RoZXIuX2V4cAorICAgICAgICAgICAgICAgIHdoaWxlIGV4cCA8IGlkZWFsX2V4cCBhbmQgY29lZmYgJSAxMCA9PSAwOgorICAgICAgICAgICAgICAgICAgICBjb2VmZiAvLz0gMTAKKyAgICAgICAgICAgICAgICAgICAgZXhwICs9IDEKKworICAgICAgICBhbnMgPSBfZGVjX2Zyb21fdHJpcGxlKHNpZ24sIHN0cihjb2VmZiksIGV4cCkKKyAgICAgICAgcmV0dXJuIGFucy5fZml4KGNvbnRleHQpCisKKyAgICBkZWYgX2RpdmlkZShzZWxmLCBvdGhlciwgY29udGV4dCk6CisgICAgICAgICIiIlJldHVybiAoc2VsZiAvLyBvdGhlciwgc2VsZiAlIG90aGVyKSwgdG8gY29udGV4dC5wcmVjIHByZWNpc2lvbi4KKworICAgICAgICBBc3N1bWVzIHRoYXQgbmVpdGhlciBzZWxmIG5vciBvdGhlciBpcyBhIE5hTiwgdGhhdCBzZWxmIGlzIG5vdAorICAgICAgICBpbmZpbml0ZSBhbmQgdGhhdCBvdGhlciBpcyBub256ZXJvLgorICAgICAgICAiIiIKKyAgICAgICAgc2lnbiA9IHNlbGYuX3NpZ24gXiBvdGhlci5fc2lnbgorICAgICAgICBpZiBvdGhlci5faXNpbmZpbml0eSgpOgorICAgICAgICAgICAgaWRlYWxfZXhwID0gc2VsZi5fZXhwCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBpZGVhbF9leHAgPSBtaW4oc2VsZi5fZXhwLCBvdGhlci5fZXhwKQorCisgICAgICAgIGV4cGRpZmYgPSBzZWxmLmFkanVzdGVkKCkgLSBvdGhlci5hZGp1c3RlZCgpCisgICAgICAgIGlmIG5vdCBzZWxmIG9yIG90aGVyLl9pc2luZmluaXR5KCkgb3IgZXhwZGlmZiA8PSAtMjoKKyAgICAgICAgICAgIHJldHVybiAoX2RlY19mcm9tX3RyaXBsZShzaWduLCAnMCcsIDApLAorICAgICAgICAgICAgICAgICAgICBzZWxmLl9yZXNjYWxlKGlkZWFsX2V4cCwgY29udGV4dC5yb3VuZGluZykpCisgICAgICAgIGlmIGV4cGRpZmYgPD0gY29udGV4dC5wcmVjOgorICAgICAgICAgICAgb3AxID0gX1dvcmtSZXAoc2VsZikKKyAgICAgICAgICAgIG9wMiA9IF9Xb3JrUmVwKG90aGVyKQorICAgICAgICAgICAgaWYgb3AxLmV4cCA+PSBvcDIuZXhwOgorICAgICAgICAgICAgICAgIG9wMS5pbnQgKj0gMTAqKihvcDEuZXhwIC0gb3AyLmV4cCkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgb3AyLmludCAqPSAxMCoqKG9wMi5leHAgLSBvcDEuZXhwKQorICAgICAgICAgICAgcSwgciA9IGRpdm1vZChvcDEuaW50LCBvcDIuaW50KQorICAgICAgICAgICAgaWYgcSA8IDEwKipjb250ZXh0LnByZWM6CisgICAgICAgICAgICAgICAgcmV0dXJuIChfZGVjX2Zyb21fdHJpcGxlKHNpZ24sIHN0cihxKSwgMCksCisgICAgICAgICAgICAgICAgICAgICAgICBfZGVjX2Zyb21fdHJpcGxlKHNlbGYuX3NpZ24sIHN0cihyKSwgaWRlYWxfZXhwKSkKKworICAgICAgICAjIEhlcmUgdGhlIHF1b3RpZW50IGlzIHRvbyBsYXJnZSB0byBiZSByZXByZXNlbnRhYmxlCisgICAgICAgIGFucyA9IGNvbnRleHQuX3JhaXNlX2Vycm9yKERpdmlzaW9uSW1wb3NzaWJsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3F1b3RpZW50IHRvbyBsYXJnZSBpbiAvLywgJSBvciBkaXZtb2QnKQorICAgICAgICByZXR1cm4gYW5zLCBhbnMKKworICAgIGRlZiBfX3J0cnVlZGl2X18oc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6CisgICAgICAgICIiIlN3YXBzIHNlbGYvb3RoZXIgYW5kIHJldHVybnMgX190cnVlZGl2X18uIiIiCisgICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIpCisgICAgICAgIGlmIG90aGVyIGlzIE5vdEltcGxlbWVudGVkOgorICAgICAgICAgICAgcmV0dXJuIG90aGVyCisgICAgICAgIHJldHVybiBvdGhlci5fX3RydWVkaXZfXyhzZWxmLCBjb250ZXh0PWNvbnRleHQpCisKKyAgICBkZWYgX19kaXZtb2RfXyhzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKKyAgICAgICAgIiIiCisgICAgICAgIFJldHVybiAoc2VsZiAvLyBvdGhlciwgc2VsZiAlIG90aGVyKQorICAgICAgICAiIiIKKyAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlcikKKyAgICAgICAgaWYgb3RoZXIgaXMgTm90SW1wbGVtZW50ZWQ6CisgICAgICAgICAgICByZXR1cm4gb3RoZXIKKworICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6CisgICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCisKKyAgICAgICAgYW5zID0gc2VsZi5fY2hlY2tfbmFucyhvdGhlciwgY29udGV4dCkKKyAgICAgICAgaWYgYW5zOgorICAgICAgICAgICAgcmV0dXJuIChhbnMsIGFucykKKworICAgICAgICBzaWduID0gc2VsZi5fc2lnbiBeIG90aGVyLl9zaWduCisgICAgICAgIGlmIHNlbGYuX2lzaW5maW5pdHkoKToKKyAgICAgICAgICAgIGlmIG90aGVyLl9pc2luZmluaXR5KCk6CisgICAgICAgICAgICAgICAgYW5zID0gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwgJ2Rpdm1vZChJTkYsIElORiknKQorICAgICAgICAgICAgICAgIHJldHVybiBhbnMsIGFucworICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICByZXR1cm4gKF9TaWduZWRJbmZpbml0eVtzaWduXSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sICdJTkYgJSB4JykpCisKKyAgICAgICAgaWYgbm90IG90aGVyOgorICAgICAgICAgICAgaWYgbm90IHNlbGY6CisgICAgICAgICAgICAgICAgYW5zID0gY29udGV4dC5fcmFpc2VfZXJyb3IoRGl2aXNpb25VbmRlZmluZWQsICdkaXZtb2QoMCwgMCknKQorICAgICAgICAgICAgICAgIHJldHVybiBhbnMsIGFucworICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICByZXR1cm4gKGNvbnRleHQuX3JhaXNlX2Vycm9yKERpdmlzaW9uQnlaZXJvLCAneCAvLyAwJywgc2lnbiksCisgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLCAneCAlIDAnKSkKKworICAgICAgICBxdW90aWVudCwgcmVtYWluZGVyID0gc2VsZi5fZGl2aWRlKG90aGVyLCBjb250ZXh0KQorICAgICAgICByZW1haW5kZXIgPSByZW1haW5kZXIuX2ZpeChjb250ZXh0KQorICAgICAgICByZXR1cm4gcXVvdGllbnQsIHJlbWFpbmRlcgorCisgICAgZGVmIF9fcmRpdm1vZF9fKHNlbGYsIG90aGVyLCBjb250ZXh0PU5vbmUpOgorICAgICAgICAiIiJTd2FwcyBzZWxmL290aGVyIGFuZCByZXR1cm5zIF9fZGl2bW9kX18uIiIiCisgICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIpCisgICAgICAgIGlmIG90aGVyIGlzIE5vdEltcGxlbWVudGVkOgorICAgICAgICAgICAgcmV0dXJuIG90aGVyCisgICAgICAgIHJldHVybiBvdGhlci5fX2Rpdm1vZF9fKHNlbGYsIGNvbnRleHQ9Y29udGV4dCkKKworICAgIGRlZiBfX21vZF9fKHNlbGYsIG90aGVyLCBjb250ZXh0PU5vbmUpOgorICAgICAgICAiIiIKKyAgICAgICAgc2VsZiAlIG90aGVyCisgICAgICAgICIiIgorICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyKQorICAgICAgICBpZiBvdGhlciBpcyBOb3RJbXBsZW1lbnRlZDoKKyAgICAgICAgICAgIHJldHVybiBvdGhlcgorCisgICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKKyAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKKworICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKG90aGVyLCBjb250ZXh0KQorICAgICAgICBpZiBhbnM6CisgICAgICAgICAgICByZXR1cm4gYW5zCisKKyAgICAgICAgaWYgc2VsZi5faXNpbmZpbml0eSgpOgorICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sICdJTkYgJSB4JykKKyAgICAgICAgZWxpZiBub3Qgb3RoZXI6CisgICAgICAgICAgICBpZiBzZWxmOgorICAgICAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLCAneCAlIDAnKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoRGl2aXNpb25VbmRlZmluZWQsICcwICUgMCcpCisKKyAgICAgICAgcmVtYWluZGVyID0gc2VsZi5fZGl2aWRlKG90aGVyLCBjb250ZXh0KVsxXQorICAgICAgICByZW1haW5kZXIgPSByZW1haW5kZXIuX2ZpeChjb250ZXh0KQorICAgICAgICByZXR1cm4gcmVtYWluZGVyCisKKyAgICBkZWYgX19ybW9kX18oc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6CisgICAgICAgICIiIlN3YXBzIHNlbGYvb3RoZXIgYW5kIHJldHVybnMgX19tb2RfXy4iIiIKKyAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlcikKKyAgICAgICAgaWYgb3RoZXIgaXMgTm90SW1wbGVtZW50ZWQ6CisgICAgICAgICAgICByZXR1cm4gb3RoZXIKKyAgICAgICAgcmV0dXJuIG90aGVyLl9fbW9kX18oc2VsZiwgY29udGV4dD1jb250ZXh0KQorCisgICAgZGVmIHJlbWFpbmRlcl9uZWFyKHNlbGYsIG90aGVyLCBjb250ZXh0PU5vbmUpOgorICAgICAgICAiIiIKKyAgICAgICAgUmVtYWluZGVyIG5lYXJlc3QgdG8gMC0gIGFicyhyZW1haW5kZXItbmVhcikgPD0gb3RoZXIvMgorICAgICAgICAiIiIKKyAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgorICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQorCisgICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIsIHJhaXNlaXQ9VHJ1ZSkKKworICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKG90aGVyLCBjb250ZXh0KQorICAgICAgICBpZiBhbnM6CisgICAgICAgICAgICByZXR1cm4gYW5zCisKKyAgICAgICAgIyBzZWxmID09ICsvLWluZmluaXR5IC0+IEludmFsaWRPcGVyYXRpb24KKyAgICAgICAgaWYgc2VsZi5faXNpbmZpbml0eSgpOgorICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlbWFpbmRlcl9uZWFyKGluZmluaXR5LCB4KScpCisKKyAgICAgICAgIyBvdGhlciA9PSAwIC0+IGVpdGhlciBJbnZhbGlkT3BlcmF0aW9uIG9yIERpdmlzaW9uVW5kZWZpbmVkCisgICAgICAgIGlmIG5vdCBvdGhlcjoKKyAgICAgICAgICAgIGlmIHNlbGY6CisgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZW1haW5kZXJfbmVhcih4LCAwKScpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihEaXZpc2lvblVuZGVmaW5lZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlbWFpbmRlcl9uZWFyKDAsIDApJykKKworICAgICAgICAjIG90aGVyID0gKy8taW5maW5pdHkgLT4gcmVtYWluZGVyID0gc2VsZgorICAgICAgICBpZiBvdGhlci5faXNpbmZpbml0eSgpOgorICAgICAgICAgICAgYW5zID0gRGVjaW1hbChzZWxmKQorICAgICAgICAgICAgcmV0dXJuIGFucy5fZml4KGNvbnRleHQpCisKKyAgICAgICAgIyBzZWxmID0gMCAtPiByZW1haW5kZXIgPSBzZWxmLCB3aXRoIGlkZWFsIGV4cG9uZW50CisgICAgICAgIGlkZWFsX2V4cG9uZW50ID0gbWluKHNlbGYuX2V4cCwgb3RoZXIuX2V4cCkKKyAgICAgICAgaWYgbm90IHNlbGY6CisgICAgICAgICAgICBhbnMgPSBfZGVjX2Zyb21fdHJpcGxlKHNlbGYuX3NpZ24sICcwJywgaWRlYWxfZXhwb25lbnQpCisgICAgICAgICAgICByZXR1cm4gYW5zLl9maXgoY29udGV4dCkKKworICAgICAgICAjIGNhdGNoIG1vc3QgY2FzZXMgb2YgbGFyZ2Ugb3Igc21hbGwgcXVvdGllbnQKKyAgICAgICAgZXhwZGlmZiA9IHNlbGYuYWRqdXN0ZWQoKSAtIG90aGVyLmFkanVzdGVkKCkKKyAgICAgICAgaWYgZXhwZGlmZiA+PSBjb250ZXh0LnByZWMgKyAxOgorICAgICAgICAgICAgIyBleHBkaWZmID49IHByZWMrMSA9PiBhYnMoc2VsZi9vdGhlcikgPiAxMCoqcHJlYworICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKERpdmlzaW9uSW1wb3NzaWJsZSkKKyAgICAgICAgaWYgZXhwZGlmZiA8PSAtMjoKKyAgICAgICAgICAgICMgZXhwZGlmZiA8PSAtMiA9PiBhYnMoc2VsZi9vdGhlcikgPCAwLjEKKyAgICAgICAgICAgIGFucyA9IHNlbGYuX3Jlc2NhbGUoaWRlYWxfZXhwb25lbnQsIGNvbnRleHQucm91bmRpbmcpCisgICAgICAgICAgICByZXR1cm4gYW5zLl9maXgoY29udGV4dCkKKworICAgICAgICAjIGFkanVzdCBib3RoIGFyZ3VtZW50cyB0byBoYXZlIHRoZSBzYW1lIGV4cG9uZW50LCB0aGVuIGRpdmlkZQorICAgICAgICBvcDEgPSBfV29ya1JlcChzZWxmKQorICAgICAgICBvcDIgPSBfV29ya1JlcChvdGhlcikKKyAgICAgICAgaWYgb3AxLmV4cCA+PSBvcDIuZXhwOgorICAgICAgICAgICAgb3AxLmludCAqPSAxMCoqKG9wMS5leHAgLSBvcDIuZXhwKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgb3AyLmludCAqPSAxMCoqKG9wMi5leHAgLSBvcDEuZXhwKQorICAgICAgICBxLCByID0gZGl2bW9kKG9wMS5pbnQsIG9wMi5pbnQpCisgICAgICAgICMgcmVtYWluZGVyIGlzIHIqMTAqKmlkZWFsX2V4cG9uZW50OyBvdGhlciBpcyArLy1vcDIuaW50ICoKKyAgICAgICAgIyAxMCoqaWRlYWxfZXhwb25lbnQuICAgQXBwbHkgY29ycmVjdGlvbiB0byBlbnN1cmUgdGhhdAorICAgICAgICAjIGFicyhyZW1haW5kZXIpIDw9IGFicyhvdGhlcikvMgorICAgICAgICBpZiAyKnIgKyAocSYxKSA+IG9wMi5pbnQ6CisgICAgICAgICAgICByIC09IG9wMi5pbnQKKyAgICAgICAgICAgIHEgKz0gMQorCisgICAgICAgIGlmIHEgPj0gMTAqKmNvbnRleHQucHJlYzoKKyAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihEaXZpc2lvbkltcG9zc2libGUpCisKKyAgICAgICAgIyByZXN1bHQgaGFzIHNhbWUgc2lnbiBhcyBzZWxmIHVubGVzcyByIGlzIG5lZ2F0aXZlCisgICAgICAgIHNpZ24gPSBzZWxmLl9zaWduCisgICAgICAgIGlmIHIgPCAwOgorICAgICAgICAgICAgc2lnbiA9IDEtc2lnbgorICAgICAgICAgICAgciA9IC1yCisKKyAgICAgICAgYW5zID0gX2RlY19mcm9tX3RyaXBsZShzaWduLCBzdHIociksIGlkZWFsX2V4cG9uZW50KQorICAgICAgICByZXR1cm4gYW5zLl9maXgoY29udGV4dCkKKworICAgIGRlZiBfX2Zsb29yZGl2X18oc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6CisgICAgICAgICIiInNlbGYgLy8gb3RoZXIiIiIKKyAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlcikKKyAgICAgICAgaWYgb3RoZXIgaXMgTm90SW1wbGVtZW50ZWQ6CisgICAgICAgICAgICByZXR1cm4gb3RoZXIKKworICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6CisgICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCisKKyAgICAgICAgYW5zID0gc2VsZi5fY2hlY2tfbmFucyhvdGhlciwgY29udGV4dCkKKyAgICAgICAgaWYgYW5zOgorICAgICAgICAgICAgcmV0dXJuIGFucworCisgICAgICAgIGlmIHNlbGYuX2lzaW5maW5pdHkoKToKKyAgICAgICAgICAgIGlmIG90aGVyLl9pc2luZmluaXR5KCk6CisgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sICdJTkYgLy8gSU5GJykKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgcmV0dXJuIF9TaWduZWRJbmZpbml0eVtzZWxmLl9zaWduIF4gb3RoZXIuX3NpZ25dCisKKyAgICAgICAgaWYgbm90IG90aGVyOgorICAgICAgICAgICAgaWYgc2VsZjoKKyAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoRGl2aXNpb25CeVplcm8sICd4IC8vIDAnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9zaWduIF4gb3RoZXIuX3NpZ24pCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihEaXZpc2lvblVuZGVmaW5lZCwgJzAgLy8gMCcpCisKKyAgICAgICAgcmV0dXJuIHNlbGYuX2RpdmlkZShvdGhlciwgY29udGV4dClbMF0KKworICAgIGRlZiBfX3JmbG9vcmRpdl9fKHNlbGYsIG90aGVyLCBjb250ZXh0PU5vbmUpOgorICAgICAgICAiIiJTd2FwcyBzZWxmL290aGVyIGFuZCByZXR1cm5zIF9fZmxvb3JkaXZfXy4iIiIKKyAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlcikKKyAgICAgICAgaWYgb3RoZXIgaXMgTm90SW1wbGVtZW50ZWQ6CisgICAgICAgICAgICByZXR1cm4gb3RoZXIKKyAgICAgICAgcmV0dXJuIG90aGVyLl9fZmxvb3JkaXZfXyhzZWxmLCBjb250ZXh0PWNvbnRleHQpCisKKyAgICBkZWYgX19mbG9hdF9fKHNlbGYpOgorICAgICAgICAiIiJGbG9hdCByZXByZXNlbnRhdGlvbi4iIiIKKyAgICAgICAgaWYgc2VsZi5faXNuYW4oKToKKyAgICAgICAgICAgIGlmIHNlbGYuaXNfc25hbigpOgorICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkNhbm5vdCBjb252ZXJ0IHNpZ25hbGluZyBOYU4gdG8gZmxvYXQiKQorICAgICAgICAgICAgcyA9ICItbmFuIiBpZiBzZWxmLl9zaWduIGVsc2UgIm5hbiIKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHMgPSBzdHIoc2VsZikKKyAgICAgICAgcmV0dXJuIGZsb2F0KHMpCisKKyAgICBkZWYgX19pbnRfXyhzZWxmKToKKyAgICAgICAgIiIiQ29udmVydHMgc2VsZiB0byBhbiBpbnQsIHRydW5jYXRpbmcgaWYgbmVjZXNzYXJ5LiIiIgorICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsOgorICAgICAgICAgICAgaWYgc2VsZi5faXNuYW4oKToKKyAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJDYW5ub3QgY29udmVydCBOYU4gdG8gaW50ZWdlciIpCisgICAgICAgICAgICBlbGlmIHNlbGYuX2lzaW5maW5pdHkoKToKKyAgICAgICAgICAgICAgICByYWlzZSBPdmVyZmxvd0Vycm9yKCJDYW5ub3QgY29udmVydCBpbmZpbml0eSB0byBpbnRlZ2VyIikKKyAgICAgICAgcyA9ICgtMSkqKnNlbGYuX3NpZ24KKyAgICAgICAgaWYgc2VsZi5fZXhwID49IDA6CisgICAgICAgICAgICByZXR1cm4gcyppbnQoc2VsZi5faW50KSoxMCoqc2VsZi5fZXhwCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXR1cm4gcyppbnQoc2VsZi5faW50WzpzZWxmLl9leHBdIG9yICcwJykKKworICAgIF9fdHJ1bmNfXyA9IF9faW50X18KKworICAgIGRlZiByZWFsKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZgorICAgIHJlYWwgPSBwcm9wZXJ0eShyZWFsKQorCisgICAgZGVmIGltYWcoc2VsZik6CisgICAgICAgIHJldHVybiBEZWNpbWFsKDApCisgICAgaW1hZyA9IHByb3BlcnR5KGltYWcpCisKKyAgICBkZWYgY29uanVnYXRlKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZgorCisgICAgZGVmIF9fY29tcGxleF9fKHNlbGYpOgorICAgICAgICByZXR1cm4gY29tcGxleChmbG9hdChzZWxmKSkKKworICAgIGRlZiBfZml4X25hbihzZWxmLCBjb250ZXh0KToKKyAgICAgICAgIiIiRGVjYXBpdGF0ZSB0aGUgcGF5bG9hZCBvZiBhIE5hTiB0byBmaXQgdGhlIGNvbnRleHQiIiIKKyAgICAgICAgcGF5bG9hZCA9IHNlbGYuX2ludAorCisgICAgICAgICMgbWF4aW11bSBsZW5ndGggb2YgcGF5bG9hZCBpcyBwcmVjaXNpb24gaWYgY2xhbXA9MCwKKyAgICAgICAgIyBwcmVjaXNpb24tMSBpZiBjbGFtcD0xLgorICAgICAgICBtYXhfcGF5bG9hZF9sZW4gPSBjb250ZXh0LnByZWMgLSBjb250ZXh0LmNsYW1wCisgICAgICAgIGlmIGxlbihwYXlsb2FkKSA+IG1heF9wYXlsb2FkX2xlbjoKKyAgICAgICAgICAgIHBheWxvYWQgPSBwYXlsb2FkW2xlbihwYXlsb2FkKS1tYXhfcGF5bG9hZF9sZW46XS5sc3RyaXAoJzAnKQorICAgICAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUoc2VsZi5fc2lnbiwgcGF5bG9hZCwgc2VsZi5fZXhwLCBUcnVlKQorICAgICAgICByZXR1cm4gRGVjaW1hbChzZWxmKQorCisgICAgZGVmIF9maXgoc2VsZiwgY29udGV4dCk6CisgICAgICAgICIiIlJvdW5kIGlmIGl0IGlzIG5lY2Vzc2FyeSB0byBrZWVwIHNlbGYgd2l0aGluIHByZWMgcHJlY2lzaW9uLgorCisgICAgICAgIFJvdW5kcyBhbmQgZml4ZXMgdGhlIGV4cG9uZW50LiAgRG9lcyBub3QgcmFpc2Ugb24gYSBzTmFOLgorCisgICAgICAgIEFyZ3VtZW50czoKKyAgICAgICAgc2VsZiAtIERlY2ltYWwgaW5zdGFuY2UKKyAgICAgICAgY29udGV4dCAtIGNvbnRleHQgdXNlZC4KKyAgICAgICAgIiIiCisKKyAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbDoKKyAgICAgICAgICAgIGlmIHNlbGYuX2lzbmFuKCk6CisgICAgICAgICAgICAgICAgIyBkZWNhcGl0YXRlIHBheWxvYWQgaWYgbmVjZXNzYXJ5CisgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2ZpeF9uYW4oY29udGV4dCkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgIyBzZWxmIGlzICsvLUluZmluaXR5OyByZXR1cm4gdW5hbHRlcmVkCisgICAgICAgICAgICAgICAgcmV0dXJuIERlY2ltYWwoc2VsZikKKworICAgICAgICAjIGlmIHNlbGYgaXMgemVybyB0aGVuIGV4cG9uZW50IHNob3VsZCBiZSBiZXR3ZWVuIEV0aW55IGFuZAorICAgICAgICAjIEVtYXggaWYgY2xhbXA9PTAsIGFuZCBiZXR3ZWVuIEV0aW55IGFuZCBFdG9wIGlmIGNsYW1wPT0xLgorICAgICAgICBFdGlueSA9IGNvbnRleHQuRXRpbnkoKQorICAgICAgICBFdG9wID0gY29udGV4dC5FdG9wKCkKKyAgICAgICAgaWYgbm90IHNlbGY6CisgICAgICAgICAgICBleHBfbWF4ID0gW2NvbnRleHQuRW1heCwgRXRvcF1bY29udGV4dC5jbGFtcF0KKyAgICAgICAgICAgIG5ld19leHAgPSBtaW4obWF4KHNlbGYuX2V4cCwgRXRpbnkpLCBleHBfbWF4KQorICAgICAgICAgICAgaWYgbmV3X2V4cCAhPSBzZWxmLl9leHA6CisgICAgICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoQ2xhbXBlZCkKKyAgICAgICAgICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZShzZWxmLl9zaWduLCAnMCcsIG5ld19leHApCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHJldHVybiBEZWNpbWFsKHNlbGYpCisKKyAgICAgICAgIyBleHBfbWluIGlzIHRoZSBzbWFsbGVzdCBhbGxvd2FibGUgZXhwb25lbnQgb2YgdGhlIHJlc3VsdCwKKyAgICAgICAgIyBlcXVhbCB0byBtYXgoc2VsZi5hZGp1c3RlZCgpLWNvbnRleHQucHJlYysxLCBFdGlueSkKKyAgICAgICAgZXhwX21pbiA9IGxlbihzZWxmLl9pbnQpICsgc2VsZi5fZXhwIC0gY29udGV4dC5wcmVjCisgICAgICAgIGlmIGV4cF9taW4gPiBFdG9wOgorICAgICAgICAgICAgIyBvdmVyZmxvdzogZXhwX21pbiA+IEV0b3AgaWZmIHNlbGYuYWRqdXN0ZWQoKSA+IEVtYXgKKyAgICAgICAgICAgIGFucyA9IGNvbnRleHQuX3JhaXNlX2Vycm9yKE92ZXJmbG93LCAnYWJvdmUgRW1heCcsIHNlbGYuX3NpZ24pCisgICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbmV4YWN0KQorICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoUm91bmRlZCkKKyAgICAgICAgICAgIHJldHVybiBhbnMKKworICAgICAgICBzZWxmX2lzX3N1Ym5vcm1hbCA9IGV4cF9taW4gPCBFdGlueQorICAgICAgICBpZiBzZWxmX2lzX3N1Ym5vcm1hbDoKKyAgICAgICAgICAgIGV4cF9taW4gPSBFdGlueQorCisgICAgICAgICMgcm91bmQgaWYgc2VsZiBoYXMgdG9vIG1hbnkgZGlnaXRzCisgICAgICAgIGlmIHNlbGYuX2V4cCA8IGV4cF9taW46CisgICAgICAgICAgICBkaWdpdHMgPSBsZW4oc2VsZi5faW50KSArIHNlbGYuX2V4cCAtIGV4cF9taW4KKyAgICAgICAgICAgIGlmIGRpZ2l0cyA8IDA6CisgICAgICAgICAgICAgICAgc2VsZiA9IF9kZWNfZnJvbV90cmlwbGUoc2VsZi5fc2lnbiwgJzEnLCBleHBfbWluLTEpCisgICAgICAgICAgICAgICAgZGlnaXRzID0gMAorICAgICAgICAgICAgcm91bmRpbmdfbWV0aG9kID0gc2VsZi5fcGlja19yb3VuZGluZ19mdW5jdGlvbltjb250ZXh0LnJvdW5kaW5nXQorICAgICAgICAgICAgY2hhbmdlZCA9IHJvdW5kaW5nX21ldGhvZChzZWxmLCBkaWdpdHMpCisgICAgICAgICAgICBjb2VmZiA9IHNlbGYuX2ludFs6ZGlnaXRzXSBvciAnMCcKKyAgICAgICAgICAgIGlmIGNoYW5nZWQgPiAwOgorICAgICAgICAgICAgICAgIGNvZWZmID0gc3RyKGludChjb2VmZikrMSkKKyAgICAgICAgICAgICAgICBpZiBsZW4oY29lZmYpID4gY29udGV4dC5wcmVjOgorICAgICAgICAgICAgICAgICAgICBjb2VmZiA9IGNvZWZmWzotMV0KKyAgICAgICAgICAgICAgICAgICAgZXhwX21pbiArPSAxCisKKyAgICAgICAgICAgICMgY2hlY2sgd2hldGhlciB0aGUgcm91bmRpbmcgcHVzaGVkIHRoZSBleHBvbmVudCBvdXQgb2YgcmFuZ2UKKyAgICAgICAgICAgIGlmIGV4cF9taW4gPiBFdG9wOgorICAgICAgICAgICAgICAgIGFucyA9IGNvbnRleHQuX3JhaXNlX2Vycm9yKE92ZXJmbG93LCAnYWJvdmUgRW1heCcsIHNlbGYuX3NpZ24pCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGFucyA9IF9kZWNfZnJvbV90cmlwbGUoc2VsZi5fc2lnbiwgY29lZmYsIGV4cF9taW4pCisKKyAgICAgICAgICAgICMgcmFpc2UgdGhlIGFwcHJvcHJpYXRlIHNpZ25hbHMsIHRha2luZyBjYXJlIHRvIHJlc3BlY3QKKyAgICAgICAgICAgICMgdGhlIHByZWNlZGVuY2UgZGVzY3JpYmVkIGluIHRoZSBzcGVjaWZpY2F0aW9uCisgICAgICAgICAgICBpZiBjaGFuZ2VkIGFuZCBzZWxmX2lzX3N1Ym5vcm1hbDoKKyAgICAgICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihVbmRlcmZsb3cpCisgICAgICAgICAgICBpZiBzZWxmX2lzX3N1Ym5vcm1hbDoKKyAgICAgICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihTdWJub3JtYWwpCisgICAgICAgICAgICBpZiBjaGFuZ2VkOgorICAgICAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKEluZXhhY3QpCisgICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihSb3VuZGVkKQorICAgICAgICAgICAgaWYgbm90IGFuczoKKyAgICAgICAgICAgICAgICAjIHJhaXNlIENsYW1wZWQgb24gdW5kZXJmbG93IHRvIDAKKyAgICAgICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihDbGFtcGVkKQorICAgICAgICAgICAgcmV0dXJuIGFucworCisgICAgICAgIGlmIHNlbGZfaXNfc3Vibm9ybWFsOgorICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoU3Vibm9ybWFsKQorCisgICAgICAgICMgZm9sZCBkb3duIGlmIGNsYW1wID09IDEgYW5kIHNlbGYgaGFzIHRvbyBmZXcgZGlnaXRzCisgICAgICAgIGlmIGNvbnRleHQuY2xhbXAgPT0gMSBhbmQgc2VsZi5fZXhwID4gRXRvcDoKKyAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKENsYW1wZWQpCisgICAgICAgICAgICBzZWxmX3BhZGRlZCA9IHNlbGYuX2ludCArICcwJyooc2VsZi5fZXhwIC0gRXRvcCkKKyAgICAgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKHNlbGYuX3NpZ24sIHNlbGZfcGFkZGVkLCBFdG9wKQorCisgICAgICAgICMgaGVyZSBzZWxmIHdhcyByZXByZXNlbnRhYmxlIHRvIGJlZ2luIHdpdGg7IHJldHVybiB1bmNoYW5nZWQKKyAgICAgICAgcmV0dXJuIERlY2ltYWwoc2VsZikKKworICAgICMgZm9yIGVhY2ggb2YgdGhlIHJvdW5kaW5nIGZ1bmN0aW9ucyBiZWxvdzoKKyAgICAjICAgc2VsZiBpcyBhIGZpbml0ZSwgbm9uemVybyBEZWNpbWFsCisgICAgIyAgIHByZWMgaXMgYW4gaW50ZWdlciBzYXRpc2Z5aW5nIDAgPD0gcHJlYyA8IGxlbihzZWxmLl9pbnQpCisgICAgIworICAgICMgZWFjaCBmdW5jdGlvbiByZXR1cm5zIGVpdGhlciAtMSwgMCwgb3IgMSwgYXMgZm9sbG93czoKKyAgICAjICAgMSBpbmRpY2F0ZXMgdGhhdCBzZWxmIHNob3VsZCBiZSByb3VuZGVkIHVwIChhd2F5IGZyb20gemVybykKKyAgICAjICAgMCBpbmRpY2F0ZXMgdGhhdCBzZWxmIHNob3VsZCBiZSB0cnVuY2F0ZWQsIGFuZCB0aGF0IGFsbCB0aGUKKyAgICAjICAgICBkaWdpdHMgdG8gYmUgdHJ1bmNhdGVkIGFyZSB6ZXJvcyAoc28gdGhlIHZhbHVlIGlzIHVuY2hhbmdlZCkKKyAgICAjICAtMSBpbmRpY2F0ZXMgdGhhdCB0aGVyZSBhcmUgbm9uemVybyBkaWdpdHMgdG8gYmUgdHJ1bmNhdGVkCisKKyAgICBkZWYgX3JvdW5kX2Rvd24oc2VsZiwgcHJlYyk6CisgICAgICAgICIiIkFsc28ga25vd24gYXMgcm91bmQtdG93YXJkcy0wLCB0cnVuY2F0ZS4iIiIKKyAgICAgICAgaWYgX2FsbF96ZXJvcyhzZWxmLl9pbnQsIHByZWMpOgorICAgICAgICAgICAgcmV0dXJuIDAKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiAtMQorCisgICAgZGVmIF9yb3VuZF91cChzZWxmLCBwcmVjKToKKyAgICAgICAgIiIiUm91bmRzIGF3YXkgZnJvbSAwLiIiIgorICAgICAgICByZXR1cm4gLXNlbGYuX3JvdW5kX2Rvd24ocHJlYykKKworICAgIGRlZiBfcm91bmRfaGFsZl91cChzZWxmLCBwcmVjKToKKyAgICAgICAgIiIiUm91bmRzIDUgdXAgKGF3YXkgZnJvbSAwKSIiIgorICAgICAgICBpZiBzZWxmLl9pbnRbcHJlY10gaW4gJzU2Nzg5JzoKKyAgICAgICAgICAgIHJldHVybiAxCisgICAgICAgIGVsaWYgX2FsbF96ZXJvcyhzZWxmLl9pbnQsIHByZWMpOgorICAgICAgICAgICAgcmV0dXJuIDAKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiAtMQorCisgICAgZGVmIF9yb3VuZF9oYWxmX2Rvd24oc2VsZiwgcHJlYyk6CisgICAgICAgICIiIlJvdW5kIDUgZG93biIiIgorICAgICAgICBpZiBfZXhhY3RfaGFsZihzZWxmLl9pbnQsIHByZWMpOgorICAgICAgICAgICAgcmV0dXJuIC0xCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fcm91bmRfaGFsZl91cChwcmVjKQorCisgICAgZGVmIF9yb3VuZF9oYWxmX2V2ZW4oc2VsZiwgcHJlYyk6CisgICAgICAgICIiIlJvdW5kIDUgdG8gZXZlbiwgcmVzdCB0byBuZWFyZXN0LiIiIgorICAgICAgICBpZiBfZXhhY3RfaGFsZihzZWxmLl9pbnQsIHByZWMpIGFuZCBcCisgICAgICAgICAgICAgICAgKHByZWMgPT0gMCBvciBzZWxmLl9pbnRbcHJlYy0xXSBpbiAnMDI0NjgnKToKKyAgICAgICAgICAgIHJldHVybiAtMQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3JvdW5kX2hhbGZfdXAocHJlYykKKworICAgIGRlZiBfcm91bmRfY2VpbGluZyhzZWxmLCBwcmVjKToKKyAgICAgICAgIiIiUm91bmRzIHVwIChub3QgYXdheSBmcm9tIDAgaWYgbmVnYXRpdmUuKSIiIgorICAgICAgICBpZiBzZWxmLl9zaWduOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3JvdW5kX2Rvd24ocHJlYykKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiAtc2VsZi5fcm91bmRfZG93bihwcmVjKQorCisgICAgZGVmIF9yb3VuZF9mbG9vcihzZWxmLCBwcmVjKToKKyAgICAgICAgIiIiUm91bmRzIGRvd24gKG5vdCB0b3dhcmRzIDAgaWYgbmVnYXRpdmUpIiIiCisgICAgICAgIGlmIG5vdCBzZWxmLl9zaWduOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3JvdW5kX2Rvd24ocHJlYykKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiAtc2VsZi5fcm91bmRfZG93bihwcmVjKQorCisgICAgZGVmIF9yb3VuZF8wNXVwKHNlbGYsIHByZWMpOgorICAgICAgICAiIiJSb3VuZCBkb3duIHVubGVzcyBkaWdpdCBwcmVjLTEgaXMgMCBvciA1LiIiIgorICAgICAgICBpZiBwcmVjIGFuZCBzZWxmLl9pbnRbcHJlYy0xXSBub3QgaW4gJzA1JzoKKyAgICAgICAgICAgIHJldHVybiBzZWxmLl9yb3VuZF9kb3duKHByZWMpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXR1cm4gLXNlbGYuX3JvdW5kX2Rvd24ocHJlYykKKworICAgIF9waWNrX3JvdW5kaW5nX2Z1bmN0aW9uID0gZGljdCgKKyAgICAgICAgUk9VTkRfRE9XTiA9IF9yb3VuZF9kb3duLAorICAgICAgICBST1VORF9VUCA9IF9yb3VuZF91cCwKKyAgICAgICAgUk9VTkRfSEFMRl9VUCA9IF9yb3VuZF9oYWxmX3VwLAorICAgICAgICBST1VORF9IQUxGX0RPV04gPSBfcm91bmRfaGFsZl9kb3duLAorICAgICAgICBST1VORF9IQUxGX0VWRU4gPSBfcm91bmRfaGFsZl9ldmVuLAorICAgICAgICBST1VORF9DRUlMSU5HID0gX3JvdW5kX2NlaWxpbmcsCisgICAgICAgIFJPVU5EX0ZMT09SID0gX3JvdW5kX2Zsb29yLAorICAgICAgICBST1VORF8wNVVQID0gX3JvdW5kXzA1dXAsCisgICAgKQorCisgICAgZGVmIF9fcm91bmRfXyhzZWxmLCBuPU5vbmUpOgorICAgICAgICAiIiJSb3VuZCBzZWxmIHRvIHRoZSBuZWFyZXN0IGludGVnZXIsIG9yIHRvIGEgZ2l2ZW4gcHJlY2lzaW9uLgorCisgICAgICAgIElmIG9ubHkgb25lIGFyZ3VtZW50IGlzIHN1cHBsaWVkLCByb3VuZCBhIGZpbml0ZSBEZWNpbWFsCisgICAgICAgIGluc3RhbmNlIHNlbGYgdG8gdGhlIG5lYXJlc3QgaW50ZWdlci4gIElmIHNlbGYgaXMgaW5maW5pdGUgb3IKKyAgICAgICAgYSBOYU4gdGhlbiBhIFB5dGhvbiBleGNlcHRpb24gaXMgcmFpc2VkLiAgSWYgc2VsZiBpcyBmaW5pdGUKKyAgICAgICAgYW5kIGxpZXMgZXhhY3RseSBoYWxmd2F5IGJldHdlZW4gdHdvIGludGVnZXJzIHRoZW4gaXQgaXMKKyAgICAgICAgcm91bmRlZCB0byB0aGUgaW50ZWdlciB3aXRoIGV2ZW4gbGFzdCBkaWdpdC4KKworICAgICAgICA+Pj4gcm91bmQoRGVjaW1hbCgnMTIzLjQ1NicpKQorICAgICAgICAxMjMKKyAgICAgICAgPj4+IHJvdW5kKERlY2ltYWwoJy00NTYuNzg5JykpCisgICAgICAgIC00NTcKKyAgICAgICAgPj4+IHJvdW5kKERlY2ltYWwoJy0zLjAnKSkKKyAgICAgICAgLTMKKyAgICAgICAgPj4+IHJvdW5kKERlY2ltYWwoJzIuNScpKQorICAgICAgICAyCisgICAgICAgID4+PiByb3VuZChEZWNpbWFsKCczLjUnKSkKKyAgICAgICAgNAorICAgICAgICA+Pj4gcm91bmQoRGVjaW1hbCgnSW5mJykpCisgICAgICAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKKyAgICAgICAgICAuLi4KKyAgICAgICAgT3ZlcmZsb3dFcnJvcjogY2Fubm90IHJvdW5kIGFuIGluZmluaXR5CisgICAgICAgID4+PiByb3VuZChEZWNpbWFsKCdOYU4nKSkKKyAgICAgICAgVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgorICAgICAgICAgIC4uLgorICAgICAgICBWYWx1ZUVycm9yOiBjYW5ub3Qgcm91bmQgYSBOYU4KKworICAgICAgICBJZiBhIHNlY29uZCBhcmd1bWVudCBuIGlzIHN1cHBsaWVkLCBzZWxmIGlzIHJvdW5kZWQgdG8gbgorICAgICAgICBkZWNpbWFsIHBsYWNlcyB1c2luZyB0aGUgcm91bmRpbmcgbW9kZSBmb3IgdGhlIGN1cnJlbnQKKyAgICAgICAgY29udGV4dC4KKworICAgICAgICBGb3IgYW4gaW50ZWdlciBuLCByb3VuZChzZWxmLCAtbikgaXMgZXhhY3RseSBlcXVpdmFsZW50IHRvCisgICAgICAgIHNlbGYucXVhbnRpemUoRGVjaW1hbCgnMUVuJykpLgorCisgICAgICAgID4+PiByb3VuZChEZWNpbWFsKCcxMjMuNDU2JyksIDApCisgICAgICAgIERlY2ltYWwoJzEyMycpCisgICAgICAgID4+PiByb3VuZChEZWNpbWFsKCcxMjMuNDU2JyksIDIpCisgICAgICAgIERlY2ltYWwoJzEyMy40NicpCisgICAgICAgID4+PiByb3VuZChEZWNpbWFsKCcxMjMuNDU2JyksIC0yKQorICAgICAgICBEZWNpbWFsKCcxRSsyJykKKyAgICAgICAgPj4+IHJvdW5kKERlY2ltYWwoJy1JbmZpbml0eScpLCAzNykKKyAgICAgICAgRGVjaW1hbCgnTmFOJykKKyAgICAgICAgPj4+IHJvdW5kKERlY2ltYWwoJ3NOYU4xMjMnKSwgMCkKKyAgICAgICAgRGVjaW1hbCgnTmFOMTIzJykKKworICAgICAgICAiIiIKKyAgICAgICAgaWYgbiBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICMgdHdvLWFyZ3VtZW50IGZvcm06IHVzZSB0aGUgZXF1aXZhbGVudCBxdWFudGl6ZSBjYWxsCisgICAgICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShuLCBpbnQpOgorICAgICAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcignU2Vjb25kIGFyZ3VtZW50IHRvIHJvdW5kIHNob3VsZCBiZSBpbnRlZ3JhbCcpCisgICAgICAgICAgICBleHAgPSBfZGVjX2Zyb21fdHJpcGxlKDAsICcxJywgLW4pCisgICAgICAgICAgICByZXR1cm4gc2VsZi5xdWFudGl6ZShleHApCisKKyAgICAgICAgIyBvbmUtYXJndW1lbnQgZm9ybQorICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsOgorICAgICAgICAgICAgaWYgc2VsZi5pc19uYW4oKToKKyAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJjYW5ub3Qgcm91bmQgYSBOYU4iKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICByYWlzZSBPdmVyZmxvd0Vycm9yKCJjYW5ub3Qgcm91bmQgYW4gaW5maW5pdHkiKQorICAgICAgICByZXR1cm4gaW50KHNlbGYuX3Jlc2NhbGUoMCwgUk9VTkRfSEFMRl9FVkVOKSkKKworICAgIGRlZiBfX2Zsb29yX18oc2VsZik6CisgICAgICAgICIiIlJldHVybiB0aGUgZmxvb3Igb2Ygc2VsZiwgYXMgYW4gaW50ZWdlci4KKworICAgICAgICBGb3IgYSBmaW5pdGUgRGVjaW1hbCBpbnN0YW5jZSBzZWxmLCByZXR1cm4gdGhlIGdyZWF0ZXN0CisgICAgICAgIGludGVnZXIgbiBzdWNoIHRoYXQgbiA8PSBzZWxmLiAgSWYgc2VsZiBpcyBpbmZpbml0ZSBvciBhIE5hTgorICAgICAgICB0aGVuIGEgUHl0aG9uIGV4Y2VwdGlvbiBpcyByYWlzZWQuCisKKyAgICAgICAgIiIiCisgICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWw6CisgICAgICAgICAgICBpZiBzZWxmLmlzX25hbigpOgorICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoImNhbm5vdCByb3VuZCBhIE5hTiIpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHJhaXNlIE92ZXJmbG93RXJyb3IoImNhbm5vdCByb3VuZCBhbiBpbmZpbml0eSIpCisgICAgICAgIHJldHVybiBpbnQoc2VsZi5fcmVzY2FsZSgwLCBST1VORF9GTE9PUikpCisKKyAgICBkZWYgX19jZWlsX18oc2VsZik6CisgICAgICAgICIiIlJldHVybiB0aGUgY2VpbGluZyBvZiBzZWxmLCBhcyBhbiBpbnRlZ2VyLgorCisgICAgICAgIEZvciBhIGZpbml0ZSBEZWNpbWFsIGluc3RhbmNlIHNlbGYsIHJldHVybiB0aGUgbGVhc3QgaW50ZWdlciBuCisgICAgICAgIHN1Y2ggdGhhdCBuID49IHNlbGYuICBJZiBzZWxmIGlzIGluZmluaXRlIG9yIGEgTmFOIHRoZW4gYQorICAgICAgICBQeXRob24gZXhjZXB0aW9uIGlzIHJhaXNlZC4KKworICAgICAgICAiIiIKKyAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbDoKKyAgICAgICAgICAgIGlmIHNlbGYuaXNfbmFuKCk6CisgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiY2Fubm90IHJvdW5kIGEgTmFOIikKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgcmFpc2UgT3ZlcmZsb3dFcnJvcigiY2Fubm90IHJvdW5kIGFuIGluZmluaXR5IikKKyAgICAgICAgcmV0dXJuIGludChzZWxmLl9yZXNjYWxlKDAsIFJPVU5EX0NFSUxJTkcpKQorCisgICAgZGVmIGZtYShzZWxmLCBvdGhlciwgdGhpcmQsIGNvbnRleHQ9Tm9uZSk6CisgICAgICAgICIiIkZ1c2VkIG11bHRpcGx5LWFkZC4KKworICAgICAgICBSZXR1cm5zIHNlbGYqb3RoZXIrdGhpcmQgd2l0aCBubyByb3VuZGluZyBvZiB0aGUgaW50ZXJtZWRpYXRlCisgICAgICAgIHByb2R1Y3Qgc2VsZipvdGhlci4KKworICAgICAgICBzZWxmIGFuZCBvdGhlciBhcmUgbXVsdGlwbGllZCB0b2dldGhlciwgd2l0aCBubyByb3VuZGluZyBvZgorICAgICAgICB0aGUgcmVzdWx0LiAgVGhlIHRoaXJkIG9wZXJhbmQgaXMgdGhlbiBhZGRlZCB0byB0aGUgcmVzdWx0LAorICAgICAgICBhbmQgYSBzaW5nbGUgZmluYWwgcm91bmRpbmcgaXMgcGVyZm9ybWVkLgorICAgICAgICAiIiIKKworICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyLCByYWlzZWl0PVRydWUpCisgICAgICAgIHRoaXJkID0gX2NvbnZlcnRfb3RoZXIodGhpcmQsIHJhaXNlaXQ9VHJ1ZSkKKworICAgICAgICAjIGNvbXB1dGUgcHJvZHVjdDsgcmFpc2UgSW52YWxpZE9wZXJhdGlvbiBpZiBlaXRoZXIgb3BlcmFuZCBpcworICAgICAgICAjIGEgc2lnbmFsaW5nIE5hTiBvciBpZiB0aGUgcHJvZHVjdCBpcyB6ZXJvIHRpbWVzIGluZmluaXR5LgorICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsIG9yIG90aGVyLl9pc19zcGVjaWFsOgorICAgICAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgorICAgICAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKKyAgICAgICAgICAgIGlmIHNlbGYuX2V4cCA9PSAnTic6CisgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sICdzTmFOJywgc2VsZikKKyAgICAgICAgICAgIGlmIG90aGVyLl9leHAgPT0gJ04nOgorICAgICAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLCAnc05hTicsIG90aGVyKQorICAgICAgICAgICAgaWYgc2VsZi5fZXhwID09ICduJzoKKyAgICAgICAgICAgICAgICBwcm9kdWN0ID0gc2VsZgorICAgICAgICAgICAgZWxpZiBvdGhlci5fZXhwID09ICduJzoKKyAgICAgICAgICAgICAgICBwcm9kdWN0ID0gb3RoZXIKKyAgICAgICAgICAgIGVsaWYgc2VsZi5fZXhwID09ICdGJzoKKyAgICAgICAgICAgICAgICBpZiBub3Qgb3RoZXI6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0lORiAqIDAgaW4gZm1hJykKKyAgICAgICAgICAgICAgICBwcm9kdWN0ID0gX1NpZ25lZEluZmluaXR5W3NlbGYuX3NpZ24gXiBvdGhlci5fc2lnbl0KKyAgICAgICAgICAgIGVsaWYgb3RoZXIuX2V4cCA9PSAnRic6CisgICAgICAgICAgICAgICAgaWYgbm90IHNlbGY6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzAgKiBJTkYgaW4gZm1hJykKKyAgICAgICAgICAgICAgICBwcm9kdWN0ID0gX1NpZ25lZEluZmluaXR5W3NlbGYuX3NpZ24gXiBvdGhlci5fc2lnbl0KKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHByb2R1Y3QgPSBfZGVjX2Zyb21fdHJpcGxlKHNlbGYuX3NpZ24gXiBvdGhlci5fc2lnbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihpbnQoc2VsZi5faW50KSAqIGludChvdGhlci5faW50KSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9leHAgKyBvdGhlci5fZXhwKQorCisgICAgICAgIHJldHVybiBwcm9kdWN0Ll9fYWRkX18odGhpcmQsIGNvbnRleHQpCisKKyAgICBkZWYgX3Bvd2VyX21vZHVsbyhzZWxmLCBvdGhlciwgbW9kdWxvLCBjb250ZXh0PU5vbmUpOgorICAgICAgICAiIiJUaHJlZSBhcmd1bWVudCB2ZXJzaW9uIG9mIF9fcG93X18iIiIKKworICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyKQorICAgICAgICBpZiBvdGhlciBpcyBOb3RJbXBsZW1lbnRlZDoKKyAgICAgICAgICAgIHJldHVybiBvdGhlcgorICAgICAgICBtb2R1bG8gPSBfY29udmVydF9vdGhlcihtb2R1bG8pCisgICAgICAgIGlmIG1vZHVsbyBpcyBOb3RJbXBsZW1lbnRlZDoKKyAgICAgICAgICAgIHJldHVybiBtb2R1bG8KKworICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6CisgICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCisKKyAgICAgICAgIyBkZWFsIHdpdGggTmFOczogaWYgdGhlcmUgYXJlIGFueSBzTmFOcyB0aGVuIGZpcnN0IG9uZSB3aW5zLAorICAgICAgICAjIChpLmUuIGJlaGF2aW91ciBmb3IgTmFOcyBpcyBpZGVudGljYWwgdG8gdGhhdCBvZiBmbWEpCisgICAgICAgIHNlbGZfaXNfbmFuID0gc2VsZi5faXNuYW4oKQorICAgICAgICBvdGhlcl9pc19uYW4gPSBvdGhlci5faXNuYW4oKQorICAgICAgICBtb2R1bG9faXNfbmFuID0gbW9kdWxvLl9pc25hbigpCisgICAgICAgIGlmIHNlbGZfaXNfbmFuIG9yIG90aGVyX2lzX25hbiBvciBtb2R1bG9faXNfbmFuOgorICAgICAgICAgICAgaWYgc2VsZl9pc19uYW4gPT0gMjoKKyAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwgJ3NOYU4nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYpCisgICAgICAgICAgICBpZiBvdGhlcl9pc19uYW4gPT0gMjoKKyAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwgJ3NOYU4nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG90aGVyKQorICAgICAgICAgICAgaWYgbW9kdWxvX2lzX25hbiA9PSAyOgorICAgICAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLCAnc05hTicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kdWxvKQorICAgICAgICAgICAgaWYgc2VsZl9pc19uYW46CisgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2ZpeF9uYW4oY29udGV4dCkKKyAgICAgICAgICAgIGlmIG90aGVyX2lzX25hbjoKKyAgICAgICAgICAgICAgICByZXR1cm4gb3RoZXIuX2ZpeF9uYW4oY29udGV4dCkKKyAgICAgICAgICAgIHJldHVybiBtb2R1bG8uX2ZpeF9uYW4oY29udGV4dCkKKworICAgICAgICAjIGNoZWNrIGlucHV0czogd2UgYXBwbHkgc2FtZSByZXN0cmljdGlvbnMgYXMgUHl0aG9uJ3MgcG93KCkKKyAgICAgICAgaWYgbm90IChzZWxmLl9pc2ludGVnZXIoKSBhbmQKKyAgICAgICAgICAgICAgICBvdGhlci5faXNpbnRlZ2VyKCkgYW5kCisgICAgICAgICAgICAgICAgbW9kdWxvLl9pc2ludGVnZXIoKSk6CisgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncG93KCkgM3JkIGFyZ3VtZW50IG5vdCBhbGxvd2VkICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndW5sZXNzIGFsbCBhcmd1bWVudHMgYXJlIGludGVnZXJzJykKKyAgICAgICAgaWYgb3RoZXIgPCAwOgorICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3BvdygpIDJuZCBhcmd1bWVudCBjYW5ub3QgYmUgJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduZWdhdGl2ZSB3aGVuIDNyZCBhcmd1bWVudCBzcGVjaWZpZWQnKQorICAgICAgICBpZiBub3QgbW9kdWxvOgorICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3BvdygpIDNyZCBhcmd1bWVudCBjYW5ub3QgYmUgMCcpCisKKyAgICAgICAgIyBhZGRpdGlvbmFsIHJlc3RyaWN0aW9uIGZvciBkZWNpbWFsOiB0aGUgbW9kdWx1cyBtdXN0IGJlIGxlc3MKKyAgICAgICAgIyB0aGFuIDEwKipwcmVjIGluIGFic29sdXRlIHZhbHVlCisgICAgICAgIGlmIG1vZHVsby5hZGp1c3RlZCgpID49IGNvbnRleHQucHJlYzoKKyAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpbnN1ZmZpY2llbnQgcHJlY2lzaW9uOiBwb3coKSAzcmQgJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhcmd1bWVudCBtdXN0IG5vdCBoYXZlIG1vcmUgdGhhbiAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3ByZWNpc2lvbiBkaWdpdHMnKQorCisgICAgICAgICMgZGVmaW5lIDAqKjAgPT0gTmFOLCBmb3IgY29uc2lzdGVuY3kgd2l0aCB0d28tYXJndW1lbnQgcG93CisgICAgICAgICMgKGV2ZW4gdGhvdWdoIGl0IGh1cnRzISkKKyAgICAgICAgaWYgbm90IG90aGVyIGFuZCBub3Qgc2VsZjoKKyAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhdCBsZWFzdCBvbmUgb2YgcG93KCkgMXN0IGFyZ3VtZW50ICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYW5kIDJuZCBhcmd1bWVudCBtdXN0IGJlIG5vbnplcm8gOycKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnMCoqMCBpcyBub3QgZGVmaW5lZCcpCisKKyAgICAgICAgIyBjb21wdXRlIHNpZ24gb2YgcmVzdWx0CisgICAgICAgIGlmIG90aGVyLl9pc2V2ZW4oKToKKyAgICAgICAgICAgIHNpZ24gPSAwCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzaWduID0gc2VsZi5fc2lnbgorCisgICAgICAgICMgY29udmVydCBtb2R1bG8gdG8gYSBQeXRob24gaW50ZWdlciwgYW5kIHNlbGYgYW5kIG90aGVyIHRvCisgICAgICAgICMgRGVjaW1hbCBpbnRlZ2VycyAoaS5lLiBmb3JjZSB0aGVpciBleHBvbmVudHMgdG8gYmUgPj0gMCkKKyAgICAgICAgbW9kdWxvID0gYWJzKGludChtb2R1bG8pKQorICAgICAgICBiYXNlID0gX1dvcmtSZXAoc2VsZi50b19pbnRlZ3JhbF92YWx1ZSgpKQorICAgICAgICBleHBvbmVudCA9IF9Xb3JrUmVwKG90aGVyLnRvX2ludGVncmFsX3ZhbHVlKCkpCisKKyAgICAgICAgIyBjb21wdXRlIHJlc3VsdCB1c2luZyBpbnRlZ2VyIHBvdygpCisgICAgICAgIGJhc2UgPSAoYmFzZS5pbnQgJSBtb2R1bG8gKiBwb3coMTAsIGJhc2UuZXhwLCBtb2R1bG8pKSAlIG1vZHVsbworICAgICAgICBmb3IgaSBpbiByYW5nZShleHBvbmVudC5leHApOgorICAgICAgICAgICAgYmFzZSA9IHBvdyhiYXNlLCAxMCwgbW9kdWxvKQorICAgICAgICBiYXNlID0gcG93KGJhc2UsIGV4cG9uZW50LmludCwgbW9kdWxvKQorCisgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKHNpZ24sIHN0cihiYXNlKSwgMCkKKworICAgIGRlZiBfcG93ZXJfZXhhY3Qoc2VsZiwgb3RoZXIsIHApOgorICAgICAgICAiIiJBdHRlbXB0IHRvIGNvbXB1dGUgc2VsZioqb3RoZXIgZXhhY3RseS4KKworICAgICAgICBHaXZlbiBEZWNpbWFscyBzZWxmIGFuZCBvdGhlciBhbmQgYW4gaW50ZWdlciBwLCBhdHRlbXB0IHRvCisgICAgICAgIGNvbXB1dGUgYW4gZXhhY3QgcmVzdWx0IGZvciB0aGUgcG93ZXIgc2VsZioqb3RoZXIsIHdpdGggcAorICAgICAgICBkaWdpdHMgb2YgcHJlY2lzaW9uLiAgUmV0dXJuIE5vbmUgaWYgc2VsZioqb3RoZXIgaXMgbm90CisgICAgICAgIGV4YWN0bHkgcmVwcmVzZW50YWJsZSBpbiBwIGRpZ2l0cy4KKworICAgICAgICBBc3N1bWVzIHRoYXQgZWxpbWluYXRpb24gb2Ygc3BlY2lhbCBjYXNlcyBoYXMgYWxyZWFkeSBiZWVuCisgICAgICAgIHBlcmZvcm1lZDogc2VsZiBhbmQgb3RoZXIgbXVzdCBib3RoIGJlIG5vbnNwZWNpYWw7IHNlbGYgbXVzdAorICAgICAgICBiZSBwb3NpdGl2ZSBhbmQgbm90IG51bWVyaWNhbGx5IGVxdWFsIHRvIDE7IG90aGVyIG11c3QgYmUKKyAgICAgICAgbm9uemVyby4gIEZvciBlZmZpY2llbmN5LCBvdGhlci5fZXhwIHNob3VsZCBub3QgYmUgdG9vIGxhcmdlLAorICAgICAgICBzbyB0aGF0IDEwKiphYnMob3RoZXIuX2V4cCkgaXMgYSBmZWFzaWJsZSBjYWxjdWxhdGlvbi4iIiIKKworICAgICAgICAjIEluIHRoZSBjb21tZW50cyBiZWxvdywgd2Ugd3JpdGUgeCBmb3IgdGhlIHZhbHVlIG9mIHNlbGYgYW5kIHkgZm9yIHRoZQorICAgICAgICAjIHZhbHVlIG9mIG90aGVyLiAgV3JpdGUgeCA9IHhjKjEwKip4ZSBhbmQgYWJzKHkpID0geWMqMTAqKnllLCB3aXRoIHhjCisgICAgICAgICMgYW5kIHljIHBvc2l0aXZlIGludGVnZXJzIG5vdCBkaXZpc2libGUgYnkgMTAuCisKKyAgICAgICAgIyBUaGUgbWFpbiBwdXJwb3NlIG9mIHRoaXMgbWV0aG9kIGlzIHRvIGlkZW50aWZ5IHRoZSAqZmFpbHVyZSoKKyAgICAgICAgIyBvZiB4Kip5IHRvIGJlIGV4YWN0bHkgcmVwcmVzZW50YWJsZSB3aXRoIGFzIGxpdHRsZSBlZmZvcnQgYXMKKyAgICAgICAgIyBwb3NzaWJsZS4gIFNvIHdlIGxvb2sgZm9yIGNoZWFwIGFuZCBlYXN5IHRlc3RzIHRoYXQKKyAgICAgICAgIyBlbGltaW5hdGUgdGhlIHBvc3NpYmlsaXR5IG9mIHgqKnkgYmVpbmcgZXhhY3QuICBPbmx5IGlmIGFsbAorICAgICAgICAjIHRoZXNlIHRlc3RzIGFyZSBwYXNzZWQgZG8gd2UgZ28gb24gdG8gYWN0dWFsbHkgY29tcHV0ZSB4Kip5LgorCisgICAgICAgICMgSGVyZSdzIHRoZSBtYWluIGlkZWEuICBFeHByZXNzIHkgYXMgYSByYXRpb25hbCBudW1iZXIgbS9uLCB3aXRoIG0gYW5kCisgICAgICAgICMgbiByZWxhdGl2ZWx5IHByaW1lIGFuZCBuPjAuICBUaGVuIGZvciB4Kip5IHRvIGJlIGV4YWN0bHkKKyAgICAgICAgIyByZXByZXNlbnRhYmxlIChhdCAqYW55KiBwcmVjaXNpb24pLCB4YyBtdXN0IGJlIHRoZSBudGggcG93ZXIgb2YgYQorICAgICAgICAjIHBvc2l0aXZlIGludGVnZXIgYW5kIHhlIG11c3QgYmUgZGl2aXNpYmxlIGJ5IG4uICBJZiB5IGlzIG5lZ2F0aXZlCisgICAgICAgICMgdGhlbiBhZGRpdGlvbmFsbHkgeGMgbXVzdCBiZSBhIHBvd2VyIG9mIGVpdGhlciAyIG9yIDUsIGhlbmNlIGEgcG93ZXIKKyAgICAgICAgIyBvZiAyKipuIG9yIDUqKm4uCisgICAgICAgICMKKyAgICAgICAgIyBUaGVyZSdzIGEgbGltaXQgdG8gaG93IHNtYWxsIHx5fCBjYW4gYmU6IGlmIHk9bS9uIGFzIGFib3ZlCisgICAgICAgICMgdGhlbjoKKyAgICAgICAgIworICAgICAgICAjICAoMSkgaWYgeGMgIT0gMSB0aGVuIGZvciB0aGUgcmVzdWx0IHRvIGJlIHJlcHJlc2VudGFibGUgd2UKKyAgICAgICAgIyAgICAgIG5lZWQgeGMqKigxL24pID49IDIsIGFuZCBoZW5jZSBhbHNvIHhjKip8eXwgPj0gMi4gIFNvCisgICAgICAgICMgICAgICBpZiB8eXwgPD0gMS9uYml0cyh4YykgdGhlbiB4YyA8IDIqKm5iaXRzKHhjKSA8PQorICAgICAgICAjICAgICAgMioqKDEvfHl8KSwgaGVuY2UgeGMqKnx5fCA8IDIgYW5kIHRoZSByZXN1bHQgaXMgbm90CisgICAgICAgICMgICAgICByZXByZXNlbnRhYmxlLgorICAgICAgICAjCisgICAgICAgICMgICgyKSBpZiB4ZSAhPSAwLCB8eGV8KigxL24pID49IDEsIHNvIHx4ZXwqfHl8ID49IDEuICBIZW5jZSBpZgorICAgICAgICAjICAgICAgfHl8IDwgMS98eGV8IHRoZW4gdGhlIHJlc3VsdCBpcyBub3QgcmVwcmVzZW50YWJsZS4KKyAgICAgICAgIworICAgICAgICAjIE5vdGUgdGhhdCBzaW5jZSB4IGlzIG5vdCBlcXVhbCB0byAxLCBhdCBsZWFzdCBvbmUgb2YgKDEpIGFuZAorICAgICAgICAjICgyKSBtdXN0IGFwcGx5LiAgTm93IHx5fCA8IDEvbmJpdHMoeGMpIGlmZiB8eWN8Km5iaXRzKHhjKSA8CisgICAgICAgICMgMTAqKi15ZSBpZmYgbGVuKHN0cih8eWN8Km5iaXRzKHhjKSkgPD0gLXllLgorICAgICAgICAjCisgICAgICAgICMgVGhlcmUncyBhbHNvIGEgbGltaXQgdG8gaG93IGxhcmdlIHkgY2FuIGJlLCBhdCBsZWFzdCBpZiBpdCdzCisgICAgICAgICMgcG9zaXRpdmU6IHRoZSBub3JtYWxpemVkIHJlc3VsdCB3aWxsIGhhdmUgY29lZmZpY2llbnQgeGMqKnksCisgICAgICAgICMgc28gaWYgaXQncyByZXByZXNlbnRhYmxlIHRoZW4geGMqKnkgPCAxMCoqcCwgYW5kIHkgPAorICAgICAgICAjIHAvbG9nMTAoeGMpLiAgSGVuY2UgaWYgeSpsb2cxMCh4YykgPj0gcCB0aGVuIHRoZSByZXN1bHQgaXMKKyAgICAgICAgIyBub3QgZXhhY3RseSByZXByZXNlbnRhYmxlLgorCisgICAgICAgICMgaWYgbGVuKHN0cihhYnMoeWMqeGUpKSA8PSAteWUgdGhlbiBhYnMoeWMqeGUpIDwgMTAqKi15ZSwKKyAgICAgICAgIyBzbyB8eXwgPCAxL3hlIGFuZCB0aGUgcmVzdWx0IGlzIG5vdCByZXByZXNlbnRhYmxlLgorICAgICAgICAjIFNpbWlsYXJseSwgbGVuKHN0cihhYnMoeWMpKnhjX2JpdHMpKSA8PSAteWUgaW1wbGllcyB8eXwKKyAgICAgICAgIyA8IDEvbmJpdHMoeGMpLgorCisgICAgICAgIHggPSBfV29ya1JlcChzZWxmKQorICAgICAgICB4YywgeGUgPSB4LmludCwgeC5leHAKKyAgICAgICAgd2hpbGUgeGMgJSAxMCA9PSAwOgorICAgICAgICAgICAgeGMgLy89IDEwCisgICAgICAgICAgICB4ZSArPSAxCisKKyAgICAgICAgeSA9IF9Xb3JrUmVwKG90aGVyKQorICAgICAgICB5YywgeWUgPSB5LmludCwgeS5leHAKKyAgICAgICAgd2hpbGUgeWMgJSAxMCA9PSAwOgorICAgICAgICAgICAgeWMgLy89IDEwCisgICAgICAgICAgICB5ZSArPSAxCisKKyAgICAgICAgIyBjYXNlIHdoZXJlIHhjID09IDE6IHJlc3VsdCBpcyAxMCoqKHhlKnkpLCB3aXRoIHhlKnkKKyAgICAgICAgIyByZXF1aXJlZCB0byBiZSBhbiBpbnRlZ2VyCisgICAgICAgIGlmIHhjID09IDE6CisgICAgICAgICAgICB4ZSAqPSB5YworICAgICAgICAgICAgIyByZXN1bHQgaXMgbm93IDEwKiooeGUgKiAxMCoqeWUpOyAgeGUgKiAxMCoqeWUgbXVzdCBiZSBpbnRlZ3JhbAorICAgICAgICAgICAgd2hpbGUgeGUgJSAxMCA9PSAwOgorICAgICAgICAgICAgICAgIHhlIC8vPSAxMAorICAgICAgICAgICAgICAgIHllICs9IDEKKyAgICAgICAgICAgIGlmIHllIDwgMDoKKyAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICAgICAgZXhwb25lbnQgPSB4ZSAqIDEwKip5ZQorICAgICAgICAgICAgaWYgeS5zaWduID09IDE6CisgICAgICAgICAgICAgICAgZXhwb25lbnQgPSAtZXhwb25lbnQKKyAgICAgICAgICAgICMgaWYgb3RoZXIgaXMgYSBub25uZWdhdGl2ZSBpbnRlZ2VyLCB1c2UgaWRlYWwgZXhwb25lbnQKKyAgICAgICAgICAgIGlmIG90aGVyLl9pc2ludGVnZXIoKSBhbmQgb3RoZXIuX3NpZ24gPT0gMDoKKyAgICAgICAgICAgICAgICBpZGVhbF9leHBvbmVudCA9IHNlbGYuX2V4cCppbnQob3RoZXIpCisgICAgICAgICAgICAgICAgemVyb3MgPSBtaW4oZXhwb25lbnQtaWRlYWxfZXhwb25lbnQsIHAtMSkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgemVyb3MgPSAwCisgICAgICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZSgwLCAnMScgKyAnMCcqemVyb3MsIGV4cG9uZW50LXplcm9zKQorCisgICAgICAgICMgY2FzZSB3aGVyZSB5IGlzIG5lZ2F0aXZlOiB4YyBtdXN0IGJlIGVpdGhlciBhIHBvd2VyCisgICAgICAgICMgb2YgMiBvciBhIHBvd2VyIG9mIDUuCisgICAgICAgIGlmIHkuc2lnbiA9PSAxOgorICAgICAgICAgICAgbGFzdF9kaWdpdCA9IHhjICUgMTAKKyAgICAgICAgICAgIGlmIGxhc3RfZGlnaXQgaW4gKDIsNCw2LDgpOgorICAgICAgICAgICAgICAgICMgcXVpY2sgdGVzdCBmb3IgcG93ZXIgb2YgMgorICAgICAgICAgICAgICAgIGlmIHhjICYgLXhjICE9IHhjOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICAgICAgICAgICMgbm93IHhjIGlzIGEgcG93ZXIgb2YgMjsgZSBpcyBpdHMgZXhwb25lbnQKKyAgICAgICAgICAgICAgICBlID0gX25iaXRzKHhjKS0xCisKKyAgICAgICAgICAgICAgICAjIFdlIG5vdyBoYXZlOgorICAgICAgICAgICAgICAgICMKKyAgICAgICAgICAgICAgICAjICAgeCA9IDIqKmUgKiAxMCoqeGUsIGUgPiAwLCBhbmQgeSA8IDAuCisgICAgICAgICAgICAgICAgIworICAgICAgICAgICAgICAgICMgVGhlIGV4YWN0IHJlc3VsdCBpczoKKyAgICAgICAgICAgICAgICAjCisgICAgICAgICAgICAgICAgIyAgIHgqKnkgPSA1KiooLWUqeSkgKiAxMCoqKGUqeSArIHhlKnkpCisgICAgICAgICAgICAgICAgIworICAgICAgICAgICAgICAgICMgcHJvdmlkZWQgdGhhdCBib3RoIGUqeSBhbmQgeGUqeSBhcmUgaW50ZWdlcnMuICBOb3RlIHRoYXQgaWYKKyAgICAgICAgICAgICAgICAjIDUqKigtZSp5KSA+PSAxMCoqcCwgdGhlbiB0aGUgcmVzdWx0IGNhbid0IGJlIGV4cHJlc3NlZAorICAgICAgICAgICAgICAgICMgZXhhY3RseSB3aXRoIHAgZGlnaXRzIG9mIHByZWNpc2lvbi4KKyAgICAgICAgICAgICAgICAjCisgICAgICAgICAgICAgICAgIyBVc2luZyB0aGUgYWJvdmUsIHdlIGNhbiBndWFyZCBhZ2FpbnN0IGxhcmdlIHZhbHVlcyBvZiB5ZS4KKyAgICAgICAgICAgICAgICAjIDkzLzY1IGlzIGFuIHVwcGVyIGJvdW5kIGZvciBsb2coMTApL2xvZyg1KSwgc28gaWYKKyAgICAgICAgICAgICAgICAjCisgICAgICAgICAgICAgICAgIyAgIHllID49IGxlbihzdHIoOTMqcC8vNjUpKQorICAgICAgICAgICAgICAgICMKKyAgICAgICAgICAgICAgICAjIHRoZW4KKyAgICAgICAgICAgICAgICAjCisgICAgICAgICAgICAgICAgIyAgIC1lKnkgPj0gLXkgPj0gMTAqKnllID4gOTMqcC82NSA+IHAqbG9nKDEwKS9sb2coNSksCisgICAgICAgICAgICAgICAgIworICAgICAgICAgICAgICAgICMgc28gNSoqKC1lKnkpID49IDEwKipwLCBhbmQgdGhlIGNvZWZmaWNpZW50IG9mIHRoZSByZXN1bHQKKyAgICAgICAgICAgICAgICAjIGNhbid0IGJlIGV4cHJlc3NlZCBpbiBwIGRpZ2l0cy4KKworICAgICAgICAgICAgICAgICMgZW1heCA+PSBsYXJnZXN0IGUgc3VjaCB0aGF0IDUqKmUgPCAxMCoqcC4KKyAgICAgICAgICAgICAgICBlbWF4ID0gcCo5My8vNjUKKyAgICAgICAgICAgICAgICBpZiB5ZSA+PSBsZW4oc3RyKGVtYXgpKToKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKKworICAgICAgICAgICAgICAgICMgRmluZCAtZSp5IGFuZCAteGUqeTsgYm90aCBtdXN0IGJlIGludGVnZXJzCisgICAgICAgICAgICAgICAgZSA9IF9kZWNpbWFsX2xzaGlmdF9leGFjdChlICogeWMsIHllKQorICAgICAgICAgICAgICAgIHhlID0gX2RlY2ltYWxfbHNoaWZ0X2V4YWN0KHhlICogeWMsIHllKQorICAgICAgICAgICAgICAgIGlmIGUgaXMgTm9uZSBvciB4ZSBpcyBOb25lOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQorCisgICAgICAgICAgICAgICAgaWYgZSA+IGVtYXg6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgICAgICAgICAgeGMgPSA1KiplCisKKyAgICAgICAgICAgIGVsaWYgbGFzdF9kaWdpdCA9PSA1OgorICAgICAgICAgICAgICAgICMgZSA+PSBsb2dfNSh4YykgaWYgeGMgaXMgYSBwb3dlciBvZiA1OyB3ZSBoYXZlCisgICAgICAgICAgICAgICAgIyBlcXVhbGl0eSBhbGwgdGhlIHdheSB1cCB0byB4Yz01KioyNjU4CisgICAgICAgICAgICAgICAgZSA9IF9uYml0cyh4YykqMjgvLzY1CisgICAgICAgICAgICAgICAgeGMsIHJlbWFpbmRlciA9IGRpdm1vZCg1KiplLCB4YykKKyAgICAgICAgICAgICAgICBpZiByZW1haW5kZXI6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgICAgICAgICAgd2hpbGUgeGMgJSA1ID09IDA6CisgICAgICAgICAgICAgICAgICAgIHhjIC8vPSA1CisgICAgICAgICAgICAgICAgICAgIGUgLT0gMQorCisgICAgICAgICAgICAgICAgIyBHdWFyZCBhZ2FpbnN0IGxhcmdlIHZhbHVlcyBvZiB5ZSwgdXNpbmcgdGhlIHNhbWUgbG9naWMgYXMgaW4KKyAgICAgICAgICAgICAgICAjIHRoZSAneGMgaXMgYSBwb3dlciBvZiAyJyBicmFuY2guICAxMC8zIGlzIGFuIHVwcGVyIGJvdW5kIGZvcgorICAgICAgICAgICAgICAgICMgbG9nKDEwKS9sb2coMikuCisgICAgICAgICAgICAgICAgZW1heCA9IHAqMTAvLzMKKyAgICAgICAgICAgICAgICBpZiB5ZSA+PSBsZW4oc3RyKGVtYXgpKToKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKKworICAgICAgICAgICAgICAgIGUgPSBfZGVjaW1hbF9sc2hpZnRfZXhhY3QoZSAqIHljLCB5ZSkKKyAgICAgICAgICAgICAgICB4ZSA9IF9kZWNpbWFsX2xzaGlmdF9leGFjdCh4ZSAqIHljLCB5ZSkKKyAgICAgICAgICAgICAgICBpZiBlIGlzIE5vbmUgb3IgeGUgaXMgTm9uZToKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKKworICAgICAgICAgICAgICAgIGlmIGUgPiBlbWF4OgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICAgICAgICAgIHhjID0gMioqZQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQorCisgICAgICAgICAgICBpZiB4YyA+PSAxMCoqcDoKKyAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICAgICAgeGUgPSAtZS14ZQorICAgICAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUoMCwgc3RyKHhjKSwgeGUpCisKKyAgICAgICAgIyBub3cgeSBpcyBwb3NpdGl2ZTsgZmluZCBtIGFuZCBuIHN1Y2ggdGhhdCB5ID0gbS9uCisgICAgICAgIGlmIHllID49IDA6CisgICAgICAgICAgICBtLCBuID0geWMqMTAqKnllLCAxCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBpZiB4ZSAhPSAwIGFuZCBsZW4oc3RyKGFicyh5Yyp4ZSkpKSA8PSAteWU6CisgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgICAgIHhjX2JpdHMgPSBfbmJpdHMoeGMpCisgICAgICAgICAgICBpZiB4YyAhPSAxIGFuZCBsZW4oc3RyKGFicyh5YykqeGNfYml0cykpIDw9IC15ZToKKyAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICAgICAgbSwgbiA9IHljLCAxMCoqKC15ZSkKKyAgICAgICAgICAgIHdoaWxlIG0gJSAyID09IG4gJSAyID09IDA6CisgICAgICAgICAgICAgICAgbSAvLz0gMgorICAgICAgICAgICAgICAgIG4gLy89IDIKKyAgICAgICAgICAgIHdoaWxlIG0gJSA1ID09IG4gJSA1ID09IDA6CisgICAgICAgICAgICAgICAgbSAvLz0gNQorICAgICAgICAgICAgICAgIG4gLy89IDUKKworICAgICAgICAjIGNvbXB1dGUgbnRoIHJvb3Qgb2YgeGMqMTAqKnhlCisgICAgICAgIGlmIG4gPiAxOgorICAgICAgICAgICAgIyBpZiAxIDwgeGMgPCAyKipuIHRoZW4geGMgaXNuJ3QgYW4gbnRoIHBvd2VyCisgICAgICAgICAgICBpZiB4YyAhPSAxIGFuZCB4Y19iaXRzIDw9IG46CisgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKKworICAgICAgICAgICAgeGUsIHJlbSA9IGRpdm1vZCh4ZSwgbikKKyAgICAgICAgICAgIGlmIHJlbSAhPSAwOgorICAgICAgICAgICAgICAgIHJldHVybiBOb25lCisKKyAgICAgICAgICAgICMgY29tcHV0ZSBudGggcm9vdCBvZiB4YyB1c2luZyBOZXd0b24ncyBtZXRob2QKKyAgICAgICAgICAgIGEgPSAxIDw8IC0oLV9uYml0cyh4YykvL24pICMgaW5pdGlhbCBlc3RpbWF0ZQorICAgICAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgICAgICBxLCByID0gZGl2bW9kKHhjLCBhKioobi0xKSkKKyAgICAgICAgICAgICAgICBpZiBhIDw9IHE6CisgICAgICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgYSA9IChhKihuLTEpICsgcSkvL24KKyAgICAgICAgICAgIGlmIG5vdCAoYSA9PSBxIGFuZCByID09IDApOgorICAgICAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgICAgICB4YyA9IGEKKworICAgICAgICAjIG5vdyB4YyoxMCoqeGUgaXMgdGhlIG50aCByb290IG9mIHRoZSBvcmlnaW5hbCB4YyoxMCoqeGUKKyAgICAgICAgIyBjb21wdXRlIG10aCBwb3dlciBvZiB4YyoxMCoqeGUKKworICAgICAgICAjIGlmIG0gPiBwKjEwMC8vX2xvZzEwX2xiKHhjKSB0aGVuIG0gPiBwL2xvZzEwKHhjKSwgaGVuY2UgeGMqKm0gPgorICAgICAgICAjIDEwKipwIGFuZCB0aGUgcmVzdWx0IGlzIG5vdCByZXByZXNlbnRhYmxlLgorICAgICAgICBpZiB4YyA+IDEgYW5kIG0gPiBwKjEwMC8vX2xvZzEwX2xiKHhjKToKKyAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgIHhjID0geGMqKm0KKyAgICAgICAgeGUgKj0gbQorICAgICAgICBpZiB4YyA+IDEwKipwOgorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKworICAgICAgICAjIGJ5IHRoaXMgcG9pbnQgdGhlIHJlc3VsdCAqaXMqIGV4YWN0bHkgcmVwcmVzZW50YWJsZQorICAgICAgICAjIGFkanVzdCB0aGUgZXhwb25lbnQgdG8gZ2V0IGFzIGNsb3NlIGFzIHBvc3NpYmxlIHRvIHRoZSBpZGVhbAorICAgICAgICAjIGV4cG9uZW50LCBpZiBuZWNlc3NhcnkKKyAgICAgICAgc3RyX3hjID0gc3RyKHhjKQorICAgICAgICBpZiBvdGhlci5faXNpbnRlZ2VyKCkgYW5kIG90aGVyLl9zaWduID09IDA6CisgICAgICAgICAgICBpZGVhbF9leHBvbmVudCA9IHNlbGYuX2V4cCppbnQob3RoZXIpCisgICAgICAgICAgICB6ZXJvcyA9IG1pbih4ZS1pZGVhbF9leHBvbmVudCwgcC1sZW4oc3RyX3hjKSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHplcm9zID0gMAorICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZSgwLCBzdHJfeGMrJzAnKnplcm9zLCB4ZS16ZXJvcykKKworICAgIGRlZiBfX3Bvd19fKHNlbGYsIG90aGVyLCBtb2R1bG89Tm9uZSwgY29udGV4dD1Ob25lKToKKyAgICAgICAgIiIiUmV0dXJuIHNlbGYgKiogb3RoZXIgWyAlIG1vZHVsb10uCisKKyAgICAgICAgV2l0aCB0d28gYXJndW1lbnRzLCBjb21wdXRlIHNlbGYqKm90aGVyLgorCisgICAgICAgIFdpdGggdGhyZWUgYXJndW1lbnRzLCBjb21wdXRlIChzZWxmKipvdGhlcikgJSBtb2R1bG8uICBGb3IgdGhlCisgICAgICAgIHRocmVlIGFyZ3VtZW50IGZvcm0sIHRoZSBmb2xsb3dpbmcgcmVzdHJpY3Rpb25zIG9uIHRoZQorICAgICAgICBhcmd1bWVudHMgaG9sZDoKKworICAgICAgICAgLSBhbGwgdGhyZWUgYXJndW1lbnRzIG11c3QgYmUgaW50ZWdyYWwKKyAgICAgICAgIC0gb3RoZXIgbXVzdCBiZSBub25uZWdhdGl2ZQorICAgICAgICAgLSBlaXRoZXIgc2VsZiBvciBvdGhlciAob3IgYm90aCkgbXVzdCBiZSBub256ZXJvCisgICAgICAgICAtIG1vZHVsbyBtdXN0IGJlIG5vbnplcm8gYW5kIG11c3QgaGF2ZSBhdCBtb3N0IHAgZGlnaXRzLAorICAgICAgICAgICB3aGVyZSBwIGlzIHRoZSBjb250ZXh0IHByZWNpc2lvbi4KKworICAgICAgICBJZiBhbnkgb2YgdGhlc2UgcmVzdHJpY3Rpb25zIGlzIHZpb2xhdGVkIHRoZSBJbnZhbGlkT3BlcmF0aW9uCisgICAgICAgIGZsYWcgaXMgcmFpc2VkLgorCisgICAgICAgIFRoZSByZXN1bHQgb2YgcG93KHNlbGYsIG90aGVyLCBtb2R1bG8pIGlzIGlkZW50aWNhbCB0byB0aGUKKyAgICAgICAgcmVzdWx0IHRoYXQgd291bGQgYmUgb2J0YWluZWQgYnkgY29tcHV0aW5nIChzZWxmKipvdGhlcikgJQorICAgICAgICBtb2R1bG8gd2l0aCB1bmJvdW5kZWQgcHJlY2lzaW9uLCBidXQgaXMgY29tcHV0ZWQgbW9yZQorICAgICAgICBlZmZpY2llbnRseS4gIEl0IGlzIGFsd2F5cyBleGFjdC4KKyAgICAgICAgIiIiCisKKyAgICAgICAgaWYgbW9kdWxvIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3Bvd2VyX21vZHVsbyhvdGhlciwgbW9kdWxvLCBjb250ZXh0KQorCisgICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIpCisgICAgICAgIGlmIG90aGVyIGlzIE5vdEltcGxlbWVudGVkOgorICAgICAgICAgICAgcmV0dXJuIG90aGVyCisKKyAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgorICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQorCisgICAgICAgICMgZWl0aGVyIGFyZ3VtZW50IGlzIGEgTmFOID0+IHJlc3VsdCBpcyBOYU4KKyAgICAgICAgYW5zID0gc2VsZi5fY2hlY2tfbmFucyhvdGhlciwgY29udGV4dCkKKyAgICAgICAgaWYgYW5zOgorICAgICAgICAgICAgcmV0dXJuIGFucworCisgICAgICAgICMgMCoqMCA9IE5hTiAoISksIHgqKjAgPSAxIGZvciBub256ZXJvIHggKGluY2x1ZGluZyArLy1JbmZpbml0eSkKKyAgICAgICAgaWYgbm90IG90aGVyOgorICAgICAgICAgICAgaWYgbm90IHNlbGY6CisgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sICcwICoqIDAnKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICByZXR1cm4gX09uZQorCisgICAgICAgICMgcmVzdWx0IGhhcyBzaWduIDEgaWZmIHNlbGYuX3NpZ24gaXMgMSBhbmQgb3RoZXIgaXMgYW4gb2RkIGludGVnZXIKKyAgICAgICAgcmVzdWx0X3NpZ24gPSAwCisgICAgICAgIGlmIHNlbGYuX3NpZ24gPT0gMToKKyAgICAgICAgICAgIGlmIG90aGVyLl9pc2ludGVnZXIoKToKKyAgICAgICAgICAgICAgICBpZiBub3Qgb3RoZXIuX2lzZXZlbigpOgorICAgICAgICAgICAgICAgICAgICByZXN1bHRfc2lnbiA9IDEKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgIyAtdmUqKm5vbmludGVnZXIgPSBOYU4KKyAgICAgICAgICAgICAgICAjICgtMCkqKm5vbmludGVnZXIgPSAwKipub25pbnRlZ2VyCisgICAgICAgICAgICAgICAgaWYgc2VsZjoKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAneCAqKiB5IHdpdGggeCBuZWdhdGl2ZSBhbmQgeSBub3QgYW4gaW50ZWdlcicpCisgICAgICAgICAgICAjIG5lZ2F0ZSBzZWxmLCB3aXRob3V0IGRvaW5nIGFueSB1bndhbnRlZCByb3VuZGluZworICAgICAgICAgICAgc2VsZiA9IHNlbGYuY29weV9uZWdhdGUoKQorCisgICAgICAgICMgMCoqKCt2ZSBvciBJbmYpPSAwOyAwKiooLXZlIG9yIC1JbmYpID0gSW5maW5pdHkKKyAgICAgICAgaWYgbm90IHNlbGY6CisgICAgICAgICAgICBpZiBvdGhlci5fc2lnbiA9PSAwOgorICAgICAgICAgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKHJlc3VsdF9zaWduLCAnMCcsIDApCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHJldHVybiBfU2lnbmVkSW5maW5pdHlbcmVzdWx0X3NpZ25dCisKKyAgICAgICAgIyBJbmYqKigrdmUgb3IgSW5mKSA9IEluZjsgSW5mKiooLXZlIG9yIC1JbmYpID0gMAorICAgICAgICBpZiBzZWxmLl9pc2luZmluaXR5KCk6CisgICAgICAgICAgICBpZiBvdGhlci5fc2lnbiA9PSAwOgorICAgICAgICAgICAgICAgIHJldHVybiBfU2lnbmVkSW5maW5pdHlbcmVzdWx0X3NpZ25dCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKHJlc3VsdF9zaWduLCAnMCcsIDApCisKKyAgICAgICAgIyAxKipvdGhlciA9IDEsIGJ1dCB0aGUgY2hvaWNlIG9mIGV4cG9uZW50IGFuZCB0aGUgZmxhZ3MKKyAgICAgICAgIyBkZXBlbmQgb24gdGhlIGV4cG9uZW50IG9mIHNlbGYsIGFuZCBvbiB3aGV0aGVyIG90aGVyIGlzIGEKKyAgICAgICAgIyBwb3NpdGl2ZSBpbnRlZ2VyLCBhIG5lZ2F0aXZlIGludGVnZXIsIG9yIG5laXRoZXIKKyAgICAgICAgaWYgc2VsZiA9PSBfT25lOgorICAgICAgICAgICAgaWYgb3RoZXIuX2lzaW50ZWdlcigpOgorICAgICAgICAgICAgICAgICMgZXhwID0gbWF4KHNlbGYuX2V4cCptYXgoaW50KG90aGVyKSwgMCksCisgICAgICAgICAgICAgICAgIyAxLWNvbnRleHQucHJlYykgYnV0IGV2YWx1YXRpbmcgaW50KG90aGVyKSBkaXJlY3RseQorICAgICAgICAgICAgICAgICMgaXMgZGFuZ2Vyb3VzIHVudGlsIHdlIGtub3cgb3RoZXIgaXMgc21hbGwgKG90aGVyCisgICAgICAgICAgICAgICAgIyBjb3VsZCBiZSAxZTk5OTk5OTk5OSkKKyAgICAgICAgICAgICAgICBpZiBvdGhlci5fc2lnbiA9PSAxOgorICAgICAgICAgICAgICAgICAgICBtdWx0aXBsaWVyID0gMAorICAgICAgICAgICAgICAgIGVsaWYgb3RoZXIgPiBjb250ZXh0LnByZWM6CisgICAgICAgICAgICAgICAgICAgIG11bHRpcGxpZXIgPSBjb250ZXh0LnByZWMKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBtdWx0aXBsaWVyID0gaW50KG90aGVyKQorCisgICAgICAgICAgICAgICAgZXhwID0gc2VsZi5fZXhwICogbXVsdGlwbGllcgorICAgICAgICAgICAgICAgIGlmIGV4cCA8IDEtY29udGV4dC5wcmVjOgorICAgICAgICAgICAgICAgICAgICBleHAgPSAxLWNvbnRleHQucHJlYworICAgICAgICAgICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihSb3VuZGVkKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbmV4YWN0KQorICAgICAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKFJvdW5kZWQpCisgICAgICAgICAgICAgICAgZXhwID0gMS1jb250ZXh0LnByZWMKKworICAgICAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUocmVzdWx0X3NpZ24sICcxJysnMCcqLWV4cCwgZXhwKQorCisgICAgICAgICMgY29tcHV0ZSBhZGp1c3RlZCBleHBvbmVudCBvZiBzZWxmCisgICAgICAgIHNlbGZfYWRqID0gc2VsZi5hZGp1c3RlZCgpCisKKyAgICAgICAgIyBzZWxmICoqIGluZmluaXR5IGlzIGluZmluaXR5IGlmIHNlbGYgPiAxLCAwIGlmIHNlbGYgPCAxCisgICAgICAgICMgc2VsZiAqKiAtaW5maW5pdHkgaXMgaW5maW5pdHkgaWYgc2VsZiA8IDEsIDAgaWYgc2VsZiA+IDEKKyAgICAgICAgaWYgb3RoZXIuX2lzaW5maW5pdHkoKToKKyAgICAgICAgICAgIGlmIChvdGhlci5fc2lnbiA9PSAwKSA9PSAoc2VsZl9hZGogPCAwKToKKyAgICAgICAgICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZShyZXN1bHRfc2lnbiwgJzAnLCAwKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICByZXR1cm4gX1NpZ25lZEluZmluaXR5W3Jlc3VsdF9zaWduXQorCisgICAgICAgICMgZnJvbSBoZXJlIG9uLCB0aGUgcmVzdWx0IGFsd2F5cyBnb2VzIHRocm91Z2ggdGhlIGNhbGwKKyAgICAgICAgIyB0byBfZml4IGF0IHRoZSBlbmQgb2YgdGhpcyBmdW5jdGlvbi4KKyAgICAgICAgYW5zID0gTm9uZQorICAgICAgICBleGFjdCA9IEZhbHNlCisKKyAgICAgICAgIyBjcnVkZSB0ZXN0IHRvIGNhdGNoIGNhc2VzIG9mIGV4dHJlbWUgb3ZlcmZsb3cvdW5kZXJmbG93LiAgSWYKKyAgICAgICAgIyBsb2cxMChzZWxmKSpvdGhlciA+PSAxMCoqYm91bmQgYW5kIGJvdW5kID49IGxlbihzdHIoRW1heCkpCisgICAgICAgICMgdGhlbiAxMCoqYm91bmQgPj0gMTAqKmxlbihzdHIoRW1heCkpID49IEVtYXgrMSBhbmQgaGVuY2UKKyAgICAgICAgIyBzZWxmKipvdGhlciA+PSAxMCoqKEVtYXgrMSksIHNvIG92ZXJmbG93IG9jY3Vycy4gIFRoZSB0ZXN0CisgICAgICAgICMgZm9yIHVuZGVyZmxvdyBpcyBzaW1pbGFyLgorICAgICAgICBib3VuZCA9IHNlbGYuX2xvZzEwX2V4cF9ib3VuZCgpICsgb3RoZXIuYWRqdXN0ZWQoKQorICAgICAgICBpZiAoc2VsZl9hZGogPj0gMCkgPT0gKG90aGVyLl9zaWduID09IDApOgorICAgICAgICAgICAgIyBzZWxmID4gMSBhbmQgb3RoZXIgK3ZlLCBvciBzZWxmIDwgMSBhbmQgb3RoZXIgLXZlCisgICAgICAgICAgICAjIHBvc3NpYmlsaXR5IG9mIG92ZXJmbG93CisgICAgICAgICAgICBpZiBib3VuZCA+PSBsZW4oc3RyKGNvbnRleHQuRW1heCkpOgorICAgICAgICAgICAgICAgIGFucyA9IF9kZWNfZnJvbV90cmlwbGUocmVzdWx0X3NpZ24sICcxJywgY29udGV4dC5FbWF4KzEpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICAjIHNlbGYgPiAxIGFuZCBvdGhlciAtdmUsIG9yIHNlbGYgPCAxIGFuZCBvdGhlciArdmUKKyAgICAgICAgICAgICMgcG9zc2liaWxpdHkgb2YgdW5kZXJmbG93IHRvIDAKKyAgICAgICAgICAgIEV0aW55ID0gY29udGV4dC5FdGlueSgpCisgICAgICAgICAgICBpZiBib3VuZCA+PSBsZW4oc3RyKC1FdGlueSkpOgorICAgICAgICAgICAgICAgIGFucyA9IF9kZWNfZnJvbV90cmlwbGUocmVzdWx0X3NpZ24sICcxJywgRXRpbnktMSkKKworICAgICAgICAjIHRyeSBmb3IgYW4gZXhhY3QgcmVzdWx0IHdpdGggcHJlY2lzaW9uICsxCisgICAgICAgIGlmIGFucyBpcyBOb25lOgorICAgICAgICAgICAgYW5zID0gc2VsZi5fcG93ZXJfZXhhY3Qob3RoZXIsIGNvbnRleHQucHJlYyArIDEpCisgICAgICAgICAgICBpZiBhbnMgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgaWYgcmVzdWx0X3NpZ24gPT0gMToKKyAgICAgICAgICAgICAgICAgICAgYW5zID0gX2RlY19mcm9tX3RyaXBsZSgxLCBhbnMuX2ludCwgYW5zLl9leHApCisgICAgICAgICAgICAgICAgZXhhY3QgPSBUcnVlCisKKyAgICAgICAgIyB1c3VhbCBjYXNlOiBpbmV4YWN0IHJlc3VsdCwgeCoqeSBjb21wdXRlZCBkaXJlY3RseSBhcyBleHAoeSpsb2coeCkpCisgICAgICAgIGlmIGFucyBpcyBOb25lOgorICAgICAgICAgICAgcCA9IGNvbnRleHQucHJlYworICAgICAgICAgICAgeCA9IF9Xb3JrUmVwKHNlbGYpCisgICAgICAgICAgICB4YywgeGUgPSB4LmludCwgeC5leHAKKyAgICAgICAgICAgIHkgPSBfV29ya1JlcChvdGhlcikKKyAgICAgICAgICAgIHljLCB5ZSA9IHkuaW50LCB5LmV4cAorICAgICAgICAgICAgaWYgeS5zaWduID09IDE6CisgICAgICAgICAgICAgICAgeWMgPSAteWMKKworICAgICAgICAgICAgIyBjb21wdXRlIGNvcnJlY3RseSByb3VuZGVkIHJlc3VsdDogIHN0YXJ0IHdpdGggcHJlY2lzaW9uICszLAorICAgICAgICAgICAgIyB0aGVuIGluY3JlYXNlIHByZWNpc2lvbiB1bnRpbCByZXN1bHQgaXMgdW5hbWJpZ3VvdXNseSByb3VuZGFibGUKKyAgICAgICAgICAgIGV4dHJhID0gMworICAgICAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgICAgICBjb2VmZiwgZXhwID0gX2Rwb3dlcih4YywgeGUsIHljLCB5ZSwgcCtleHRyYSkKKyAgICAgICAgICAgICAgICBpZiBjb2VmZiAlICg1KjEwKioobGVuKHN0cihjb2VmZikpLXAtMSkpOgorICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgICAgIGV4dHJhICs9IDMKKworICAgICAgICAgICAgYW5zID0gX2RlY19mcm9tX3RyaXBsZShyZXN1bHRfc2lnbiwgc3RyKGNvZWZmKSwgZXhwKQorCisgICAgICAgICMgdW5saWtlIGV4cCwgbG4gYW5kIGxvZzEwLCB0aGUgcG93ZXIgZnVuY3Rpb24gcmVzcGVjdHMgdGhlCisgICAgICAgICMgcm91bmRpbmcgbW9kZTsgbm8gbmVlZCB0byBzd2l0Y2ggdG8gUk9VTkRfSEFMRl9FVkVOIGhlcmUKKworICAgICAgICAjIFRoZXJlJ3MgYSBkaWZmaWN1bHR5IGhlcmUgd2hlbiAnb3RoZXInIGlzIG5vdCBhbiBpbnRlZ2VyIGFuZAorICAgICAgICAjIHRoZSByZXN1bHQgaXMgZXhhY3QuICBJbiB0aGlzIGNhc2UsIHRoZSBzcGVjaWZpY2F0aW9uCisgICAgICAgICMgcmVxdWlyZXMgdGhhdCB0aGUgSW5leGFjdCBmbGFnIGJlIHJhaXNlZCAoaW4gc3BpdGUgb2YKKyAgICAgICAgIyBleGFjdG5lc3MpLCBidXQgc2luY2UgdGhlIHJlc3VsdCBpcyBleGFjdCBfZml4IHdvbid0IGRvIHRoaXMKKyAgICAgICAgIyBmb3IgdXMuICAoQ29ycmVzcG9uZGluZ2x5LCB0aGUgVW5kZXJmbG93IHNpZ25hbCBzaG91bGQgYWxzbworICAgICAgICAjIGJlIHJhaXNlZCBmb3Igc3Vibm9ybWFsIHJlc3VsdHMuKSAgV2UgY2FuJ3QgZGlyZWN0bHkgcmFpc2UKKyAgICAgICAgIyB0aGVzZSBzaWduYWxzIGVpdGhlciBiZWZvcmUgb3IgYWZ0ZXIgY2FsbGluZyBfZml4LCBzaW5jZQorICAgICAgICAjIHRoYXQgd291bGQgdmlvbGF0ZSB0aGUgcHJlY2VkZW5jZSBmb3Igc2lnbmFscy4gIFNvIHdlIHdyYXAKKyAgICAgICAgIyB0aGUgLl9maXggY2FsbCBpbiBhIHRlbXBvcmFyeSBjb250ZXh0LCBhbmQgcmVyYWlzZQorICAgICAgICAjIGFmdGVyd2FyZHMuCisgICAgICAgIGlmIGV4YWN0IGFuZCBub3Qgb3RoZXIuX2lzaW50ZWdlcigpOgorICAgICAgICAgICAgIyBwYWQgd2l0aCB6ZXJvcyB1cCB0byBsZW5ndGggY29udGV4dC5wcmVjKzEgaWYgbmVjZXNzYXJ5OyB0aGlzCisgICAgICAgICAgICAjIGVuc3VyZXMgdGhhdCB0aGUgUm91bmRlZCBzaWduYWwgd2lsbCBiZSByYWlzZWQuCisgICAgICAgICAgICBpZiBsZW4oYW5zLl9pbnQpIDw9IGNvbnRleHQucHJlYzoKKyAgICAgICAgICAgICAgICBleHBkaWZmID0gY29udGV4dC5wcmVjICsgMSAtIGxlbihhbnMuX2ludCkKKyAgICAgICAgICAgICAgICBhbnMgPSBfZGVjX2Zyb21fdHJpcGxlKGFucy5fc2lnbiwgYW5zLl9pbnQrJzAnKmV4cGRpZmYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbnMuX2V4cC1leHBkaWZmKQorCisgICAgICAgICAgICAjIGNyZWF0ZSBhIGNvcHkgb2YgdGhlIGN1cnJlbnQgY29udGV4dCwgd2l0aCBjbGVhcmVkIGZsYWdzL3RyYXBzCisgICAgICAgICAgICBuZXdjb250ZXh0ID0gY29udGV4dC5jb3B5KCkKKyAgICAgICAgICAgIG5ld2NvbnRleHQuY2xlYXJfZmxhZ3MoKQorICAgICAgICAgICAgZm9yIGV4Y2VwdGlvbiBpbiBfc2lnbmFsczoKKyAgICAgICAgICAgICAgICBuZXdjb250ZXh0LnRyYXBzW2V4Y2VwdGlvbl0gPSAwCisKKyAgICAgICAgICAgICMgcm91bmQgaW4gdGhlIG5ldyBjb250ZXh0CisgICAgICAgICAgICBhbnMgPSBhbnMuX2ZpeChuZXdjb250ZXh0KQorCisgICAgICAgICAgICAjIHJhaXNlIEluZXhhY3QsIGFuZCBpZiBuZWNlc3NhcnksIFVuZGVyZmxvdworICAgICAgICAgICAgbmV3Y29udGV4dC5fcmFpc2VfZXJyb3IoSW5leGFjdCkKKyAgICAgICAgICAgIGlmIG5ld2NvbnRleHQuZmxhZ3NbU3Vibm9ybWFsXToKKyAgICAgICAgICAgICAgICBuZXdjb250ZXh0Ll9yYWlzZV9lcnJvcihVbmRlcmZsb3cpCisKKyAgICAgICAgICAgICMgcHJvcGFnYXRlIHNpZ25hbHMgdG8gdGhlIG9yaWdpbmFsIGNvbnRleHQ7IF9maXggY291bGQKKyAgICAgICAgICAgICMgaGF2ZSByYWlzZWQgYW55IG9mIE92ZXJmbG93LCBVbmRlcmZsb3csIFN1Ym5vcm1hbCwKKyAgICAgICAgICAgICMgSW5leGFjdCwgUm91bmRlZCwgQ2xhbXBlZC4gIE92ZXJmbG93IG5lZWRzIHRoZSBjb3JyZWN0CisgICAgICAgICAgICAjIGFyZ3VtZW50cy4gIE5vdGUgdGhhdCB0aGUgb3JkZXIgb2YgdGhlIGV4Y2VwdGlvbnMgaXMKKyAgICAgICAgICAgICMgaW1wb3J0YW50IGhlcmUuCisgICAgICAgICAgICBpZiBuZXdjb250ZXh0LmZsYWdzW092ZXJmbG93XToKKyAgICAgICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihPdmVyZmxvdywgJ2Fib3ZlIEVtYXgnLCBhbnMuX3NpZ24pCisgICAgICAgICAgICBmb3IgZXhjZXB0aW9uIGluIFVuZGVyZmxvdywgU3Vibm9ybWFsLCBJbmV4YWN0LCBSb3VuZGVkLCBDbGFtcGVkOgorICAgICAgICAgICAgICAgIGlmIG5ld2NvbnRleHQuZmxhZ3NbZXhjZXB0aW9uXToKKyAgICAgICAgICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoZXhjZXB0aW9uKQorCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBhbnMgPSBhbnMuX2ZpeChjb250ZXh0KQorCisgICAgICAgIHJldHVybiBhbnMKKworICAgIGRlZiBfX3Jwb3dfXyhzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKKyAgICAgICAgIiIiU3dhcHMgc2VsZi9vdGhlciBhbmQgcmV0dXJucyBfX3Bvd19fLiIiIgorICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyKQorICAgICAgICBpZiBvdGhlciBpcyBOb3RJbXBsZW1lbnRlZDoKKyAgICAgICAgICAgIHJldHVybiBvdGhlcgorICAgICAgICByZXR1cm4gb3RoZXIuX19wb3dfXyhzZWxmLCBjb250ZXh0PWNvbnRleHQpCisKKyAgICBkZWYgbm9ybWFsaXplKHNlbGYsIGNvbnRleHQ9Tm9uZSk6CisgICAgICAgICIiIk5vcm1hbGl6ZS0gc3RyaXAgdHJhaWxpbmcgMHMsIGNoYW5nZSBhbnl0aGluZyBlcXVhbCB0byAwIHRvIDBlMCIiIgorCisgICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKKyAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKKworICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsOgorICAgICAgICAgICAgYW5zID0gc2VsZi5fY2hlY2tfbmFucyhjb250ZXh0PWNvbnRleHQpCisgICAgICAgICAgICBpZiBhbnM6CisgICAgICAgICAgICAgICAgcmV0dXJuIGFucworCisgICAgICAgIGR1cCA9IHNlbGYuX2ZpeChjb250ZXh0KQorICAgICAgICBpZiBkdXAuX2lzaW5maW5pdHkoKToKKyAgICAgICAgICAgIHJldHVybiBkdXAKKworICAgICAgICBpZiBub3QgZHVwOgorICAgICAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUoZHVwLl9zaWduLCAnMCcsIDApCisgICAgICAgIGV4cF9tYXggPSBbY29udGV4dC5FbWF4LCBjb250ZXh0LkV0b3AoKV1bY29udGV4dC5jbGFtcF0KKyAgICAgICAgZW5kID0gbGVuKGR1cC5faW50KQorICAgICAgICBleHAgPSBkdXAuX2V4cAorICAgICAgICB3aGlsZSBkdXAuX2ludFtlbmQtMV0gPT0gJzAnIGFuZCBleHAgPCBleHBfbWF4OgorICAgICAgICAgICAgZXhwICs9IDEKKyAgICAgICAgICAgIGVuZCAtPSAxCisgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKGR1cC5fc2lnbiwgZHVwLl9pbnRbOmVuZF0sIGV4cCkKKworICAgIGRlZiBxdWFudGl6ZShzZWxmLCBleHAsIHJvdW5kaW5nPU5vbmUsIGNvbnRleHQ9Tm9uZSk6CisgICAgICAgICIiIlF1YW50aXplIHNlbGYgc28gaXRzIGV4cG9uZW50IGlzIHRoZSBzYW1lIGFzIHRoYXQgb2YgZXhwLgorCisgICAgICAgIFNpbWlsYXIgdG8gc2VsZi5fcmVzY2FsZShleHAuX2V4cCkgYnV0IHdpdGggZXJyb3IgY2hlY2tpbmcuCisgICAgICAgICIiIgorICAgICAgICBleHAgPSBfY29udmVydF9vdGhlcihleHAsIHJhaXNlaXQ9VHJ1ZSkKKworICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6CisgICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCisgICAgICAgIGlmIHJvdW5kaW5nIGlzIE5vbmU6CisgICAgICAgICAgICByb3VuZGluZyA9IGNvbnRleHQucm91bmRpbmcKKworICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsIG9yIGV4cC5faXNfc3BlY2lhbDoKKyAgICAgICAgICAgIGFucyA9IHNlbGYuX2NoZWNrX25hbnMoZXhwLCBjb250ZXh0KQorICAgICAgICAgICAgaWYgYW5zOgorICAgICAgICAgICAgICAgIHJldHVybiBhbnMKKworICAgICAgICAgICAgaWYgZXhwLl9pc2luZmluaXR5KCkgb3Igc2VsZi5faXNpbmZpbml0eSgpOgorICAgICAgICAgICAgICAgIGlmIGV4cC5faXNpbmZpbml0eSgpIGFuZCBzZWxmLl9pc2luZmluaXR5KCk6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBEZWNpbWFsKHNlbGYpICAjIGlmIGJvdGggYXJlIGluZiwgaXQgaXMgT0sKKyAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncXVhbnRpemUgd2l0aCBvbmUgSU5GJykKKworICAgICAgICAjIGV4cC5fZXhwIHNob3VsZCBiZSBiZXR3ZWVuIEV0aW55IGFuZCBFbWF4CisgICAgICAgIGlmIG5vdCAoY29udGV4dC5FdGlueSgpIDw9IGV4cC5fZXhwIDw9IGNvbnRleHQuRW1heCk6CisgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwKKyAgICAgICAgICAgICAgICAgICAndGFyZ2V0IGV4cG9uZW50IG91dCBvZiBib3VuZHMgaW4gcXVhbnRpemUnKQorCisgICAgICAgIGlmIG5vdCBzZWxmOgorICAgICAgICAgICAgYW5zID0gX2RlY19mcm9tX3RyaXBsZShzZWxmLl9zaWduLCAnMCcsIGV4cC5fZXhwKQorICAgICAgICAgICAgcmV0dXJuIGFucy5fZml4KGNvbnRleHQpCisKKyAgICAgICAgc2VsZl9hZGp1c3RlZCA9IHNlbGYuYWRqdXN0ZWQoKQorICAgICAgICBpZiBzZWxmX2FkanVzdGVkID4gY29udGV4dC5FbWF4OgorICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2V4cG9uZW50IG9mIHF1YW50aXplIHJlc3VsdCB0b28gbGFyZ2UgZm9yIGN1cnJlbnQgY29udGV4dCcpCisgICAgICAgIGlmIHNlbGZfYWRqdXN0ZWQgLSBleHAuX2V4cCArIDEgPiBjb250ZXh0LnByZWM6CisgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncXVhbnRpemUgcmVzdWx0IGhhcyB0b28gbWFueSBkaWdpdHMgZm9yIGN1cnJlbnQgY29udGV4dCcpCisKKyAgICAgICAgYW5zID0gc2VsZi5fcmVzY2FsZShleHAuX2V4cCwgcm91bmRpbmcpCisgICAgICAgIGlmIGFucy5hZGp1c3RlZCgpID4gY29udGV4dC5FbWF4OgorICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2V4cG9uZW50IG9mIHF1YW50aXplIHJlc3VsdCB0b28gbGFyZ2UgZm9yIGN1cnJlbnQgY29udGV4dCcpCisgICAgICAgIGlmIGxlbihhbnMuX2ludCkgPiBjb250ZXh0LnByZWM6CisgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncXVhbnRpemUgcmVzdWx0IGhhcyB0b28gbWFueSBkaWdpdHMgZm9yIGN1cnJlbnQgY29udGV4dCcpCisKKyAgICAgICAgIyByYWlzZSBhcHByb3ByaWF0ZSBmbGFncworICAgICAgICBpZiBhbnMgYW5kIGFucy5hZGp1c3RlZCgpIDwgY29udGV4dC5FbWluOgorICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoU3Vibm9ybWFsKQorICAgICAgICBpZiBhbnMuX2V4cCA+IHNlbGYuX2V4cDoKKyAgICAgICAgICAgIGlmIGFucyAhPSBzZWxmOgorICAgICAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKEluZXhhY3QpCisgICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihSb3VuZGVkKQorCisgICAgICAgICMgY2FsbCB0byBmaXggdGFrZXMgY2FyZSBvZiBhbnkgbmVjZXNzYXJ5IGZvbGRkb3duLCBhbmQKKyAgICAgICAgIyBzaWduYWxzIENsYW1wZWQgaWYgbmVjZXNzYXJ5CisgICAgICAgIGFucyA9IGFucy5fZml4KGNvbnRleHQpCisgICAgICAgIHJldHVybiBhbnMKKworICAgIGRlZiBzYW1lX3F1YW50dW0oc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6CisgICAgICAgICIiIlJldHVybiBUcnVlIGlmIHNlbGYgYW5kIG90aGVyIGhhdmUgdGhlIHNhbWUgZXhwb25lbnQ7IG90aGVyd2lzZQorICAgICAgICByZXR1cm4gRmFsc2UuCisKKyAgICAgICAgSWYgZWl0aGVyIG9wZXJhbmQgaXMgYSBzcGVjaWFsIHZhbHVlLCB0aGUgZm9sbG93aW5nIHJ1bGVzIGFyZSB1c2VkOgorICAgICAgICAgICAqIHJldHVybiBUcnVlIGlmIGJvdGggb3BlcmFuZHMgYXJlIGluZmluaXRpZXMKKyAgICAgICAgICAgKiByZXR1cm4gVHJ1ZSBpZiBib3RoIG9wZXJhbmRzIGFyZSBOYU5zCisgICAgICAgICAgICogb3RoZXJ3aXNlLCByZXR1cm4gRmFsc2UuCisgICAgICAgICIiIgorICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyLCByYWlzZWl0PVRydWUpCisgICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWwgb3Igb3RoZXIuX2lzX3NwZWNpYWw6CisgICAgICAgICAgICByZXR1cm4gKHNlbGYuaXNfbmFuKCkgYW5kIG90aGVyLmlzX25hbigpIG9yCisgICAgICAgICAgICAgICAgICAgIHNlbGYuaXNfaW5maW5pdGUoKSBhbmQgb3RoZXIuaXNfaW5maW5pdGUoKSkKKyAgICAgICAgcmV0dXJuIHNlbGYuX2V4cCA9PSBvdGhlci5fZXhwCisKKyAgICBkZWYgX3Jlc2NhbGUoc2VsZiwgZXhwLCByb3VuZGluZyk6CisgICAgICAgICIiIlJlc2NhbGUgc2VsZiBzbyB0aGF0IHRoZSBleHBvbmVudCBpcyBleHAsIGVpdGhlciBieSBwYWRkaW5nIHdpdGggemVyb3MKKyAgICAgICAgb3IgYnkgdHJ1bmNhdGluZyBkaWdpdHMsIHVzaW5nIHRoZSBnaXZlbiByb3VuZGluZyBtb2RlLgorCisgICAgICAgIFNwZWNpYWxzIGFyZSByZXR1cm5lZCB3aXRob3V0IGNoYW5nZS4gIFRoaXMgb3BlcmF0aW9uIGlzCisgICAgICAgIHF1aWV0OiBpdCByYWlzZXMgbm8gZmxhZ3MsIGFuZCB1c2VzIG5vIGluZm9ybWF0aW9uIGZyb20gdGhlCisgICAgICAgIGNvbnRleHQuCisKKyAgICAgICAgZXhwID0gZXhwIHRvIHNjYWxlIHRvIChhbiBpbnRlZ2VyKQorICAgICAgICByb3VuZGluZyA9IHJvdW5kaW5nIG1vZGUKKyAgICAgICAgIiIiCisgICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWw6CisgICAgICAgICAgICByZXR1cm4gRGVjaW1hbChzZWxmKQorICAgICAgICBpZiBub3Qgc2VsZjoKKyAgICAgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKHNlbGYuX3NpZ24sICcwJywgZXhwKQorCisgICAgICAgIGlmIHNlbGYuX2V4cCA+PSBleHA6CisgICAgICAgICAgICAjIHBhZCBhbnN3ZXIgd2l0aCB6ZXJvcyBpZiBuZWNlc3NhcnkKKyAgICAgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKHNlbGYuX3NpZ24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5faW50ICsgJzAnKihzZWxmLl9leHAgLSBleHApLCBleHApCisKKyAgICAgICAgIyB0b28gbWFueSBkaWdpdHM7IHJvdW5kIGFuZCBsb3NlIGRhdGEuICBJZiBzZWxmLmFkanVzdGVkKCkgPAorICAgICAgICAjIGV4cC0xLCByZXBsYWNlIHNlbGYgYnkgMTAqKihleHAtMSkgYmVmb3JlIHJvdW5kaW5nCisgICAgICAgIGRpZ2l0cyA9IGxlbihzZWxmLl9pbnQpICsgc2VsZi5fZXhwIC0gZXhwCisgICAgICAgIGlmIGRpZ2l0cyA8IDA6CisgICAgICAgICAgICBzZWxmID0gX2RlY19mcm9tX3RyaXBsZShzZWxmLl9zaWduLCAnMScsIGV4cC0xKQorICAgICAgICAgICAgZGlnaXRzID0gMAorICAgICAgICB0aGlzX2Z1bmN0aW9uID0gc2VsZi5fcGlja19yb3VuZGluZ19mdW5jdGlvbltyb3VuZGluZ10KKyAgICAgICAgY2hhbmdlZCA9IHRoaXNfZnVuY3Rpb24oc2VsZiwgZGlnaXRzKQorICAgICAgICBjb2VmZiA9IHNlbGYuX2ludFs6ZGlnaXRzXSBvciAnMCcKKyAgICAgICAgaWYgY2hhbmdlZCA9PSAxOgorICAgICAgICAgICAgY29lZmYgPSBzdHIoaW50KGNvZWZmKSsxKQorICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZShzZWxmLl9zaWduLCBjb2VmZiwgZXhwKQorCisgICAgZGVmIF9yb3VuZChzZWxmLCBwbGFjZXMsIHJvdW5kaW5nKToKKyAgICAgICAgIiIiUm91bmQgYSBub256ZXJvLCBub25zcGVjaWFsIERlY2ltYWwgdG8gYSBmaXhlZCBudW1iZXIgb2YKKyAgICAgICAgc2lnbmlmaWNhbnQgZmlndXJlcywgdXNpbmcgdGhlIGdpdmVuIHJvdW5kaW5nIG1vZGUuCisKKyAgICAgICAgSW5maW5pdGllcywgTmFOcyBhbmQgemVyb3MgYXJlIHJldHVybmVkIHVuYWx0ZXJlZC4KKworICAgICAgICBUaGlzIG9wZXJhdGlvbiBpcyBxdWlldDogaXQgcmFpc2VzIG5vIGZsYWdzLCBhbmQgdXNlcyBubworICAgICAgICBpbmZvcm1hdGlvbiBmcm9tIHRoZSBjb250ZXh0LgorCisgICAgICAgICIiIgorICAgICAgICBpZiBwbGFjZXMgPD0gMDoKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoImFyZ3VtZW50IHNob3VsZCBiZSBhdCBsZWFzdCAxIGluIF9yb3VuZCIpCisgICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWwgb3Igbm90IHNlbGY6CisgICAgICAgICAgICByZXR1cm4gRGVjaW1hbChzZWxmKQorICAgICAgICBhbnMgPSBzZWxmLl9yZXNjYWxlKHNlbGYuYWRqdXN0ZWQoKSsxLXBsYWNlcywgcm91bmRpbmcpCisgICAgICAgICMgaXQgY2FuIGhhcHBlbiB0aGF0IHRoZSByZXNjYWxlIGFsdGVycyB0aGUgYWRqdXN0ZWQgZXhwb25lbnQ7CisgICAgICAgICMgZm9yIGV4YW1wbGUgd2hlbiByb3VuZGluZyA5OS45NyB0byAzIHNpZ25pZmljYW50IGZpZ3VyZXMuCisgICAgICAgICMgV2hlbiB0aGlzIGhhcHBlbnMgd2UgZW5kIHVwIHdpdGggYW4gZXh0cmEgMCBhdCB0aGUgZW5kIG9mCisgICAgICAgICMgdGhlIG51bWJlcjsgYSBzZWNvbmQgcmVzY2FsZSBmaXhlcyB0aGlzLgorICAgICAgICBpZiBhbnMuYWRqdXN0ZWQoKSAhPSBzZWxmLmFkanVzdGVkKCk6CisgICAgICAgICAgICBhbnMgPSBhbnMuX3Jlc2NhbGUoYW5zLmFkanVzdGVkKCkrMS1wbGFjZXMsIHJvdW5kaW5nKQorICAgICAgICByZXR1cm4gYW5zCisKKyAgICBkZWYgdG9faW50ZWdyYWxfZXhhY3Qoc2VsZiwgcm91bmRpbmc9Tm9uZSwgY29udGV4dD1Ob25lKToKKyAgICAgICAgIiIiUm91bmRzIHRvIGEgbmVhcmJ5IGludGVnZXIuCisKKyAgICAgICAgSWYgbm8gcm91bmRpbmcgbW9kZSBpcyBzcGVjaWZpZWQsIHRha2UgdGhlIHJvdW5kaW5nIG1vZGUgZnJvbQorICAgICAgICB0aGUgY29udGV4dC4gIFRoaXMgbWV0aG9kIHJhaXNlcyB0aGUgUm91bmRlZCBhbmQgSW5leGFjdCBmbGFncworICAgICAgICB3aGVuIGFwcHJvcHJpYXRlLgorCisgICAgICAgIFNlZSBhbHNvOiB0b19pbnRlZ3JhbF92YWx1ZSwgd2hpY2ggZG9lcyBleGFjdGx5IHRoZSBzYW1lIGFzCisgICAgICAgIHRoaXMgbWV0aG9kIGV4Y2VwdCB0aGF0IGl0IGRvZXNuJ3QgcmFpc2UgSW5leGFjdCBvciBSb3VuZGVkLgorICAgICAgICAiIiIKKyAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbDoKKyAgICAgICAgICAgIGFucyA9IHNlbGYuX2NoZWNrX25hbnMoY29udGV4dD1jb250ZXh0KQorICAgICAgICAgICAgaWYgYW5zOgorICAgICAgICAgICAgICAgIHJldHVybiBhbnMKKyAgICAgICAgICAgIHJldHVybiBEZWNpbWFsKHNlbGYpCisgICAgICAgIGlmIHNlbGYuX2V4cCA+PSAwOgorICAgICAgICAgICAgcmV0dXJuIERlY2ltYWwoc2VsZikKKyAgICAgICAgaWYgbm90IHNlbGY6CisgICAgICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZShzZWxmLl9zaWduLCAnMCcsIDApCisgICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKKyAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKKyAgICAgICAgaWYgcm91bmRpbmcgaXMgTm9uZToKKyAgICAgICAgICAgIHJvdW5kaW5nID0gY29udGV4dC5yb3VuZGluZworICAgICAgICBhbnMgPSBzZWxmLl9yZXNjYWxlKDAsIHJvdW5kaW5nKQorICAgICAgICBpZiBhbnMgIT0gc2VsZjoKKyAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKEluZXhhY3QpCisgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKFJvdW5kZWQpCisgICAgICAgIHJldHVybiBhbnMKKworICAgIGRlZiB0b19pbnRlZ3JhbF92YWx1ZShzZWxmLCByb3VuZGluZz1Ob25lLCBjb250ZXh0PU5vbmUpOgorICAgICAgICAiIiJSb3VuZHMgdG8gdGhlIG5lYXJlc3QgaW50ZWdlciwgd2l0aG91dCByYWlzaW5nIGluZXhhY3QsIHJvdW5kZWQuIiIiCisgICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKKyAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKKyAgICAgICAgaWYgcm91bmRpbmcgaXMgTm9uZToKKyAgICAgICAgICAgIHJvdW5kaW5nID0gY29udGV4dC5yb3VuZGluZworICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsOgorICAgICAgICAgICAgYW5zID0gc2VsZi5fY2hlY2tfbmFucyhjb250ZXh0PWNvbnRleHQpCisgICAgICAgICAgICBpZiBhbnM6CisgICAgICAgICAgICAgICAgcmV0dXJuIGFucworICAgICAgICAgICAgcmV0dXJuIERlY2ltYWwoc2VsZikKKyAgICAgICAgaWYgc2VsZi5fZXhwID49IDA6CisgICAgICAgICAgICByZXR1cm4gRGVjaW1hbChzZWxmKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3Jlc2NhbGUoMCwgcm91bmRpbmcpCisKKyAgICAjIHRoZSBtZXRob2QgbmFtZSBjaGFuZ2VkLCBidXQgd2UgcHJvdmlkZSBhbHNvIHRoZSBvbGQgb25lLCBmb3IgY29tcGF0aWJpbGl0eQorICAgIHRvX2ludGVncmFsID0gdG9faW50ZWdyYWxfdmFsdWUKKworICAgIGRlZiBzcXJ0KHNlbGYsIGNvbnRleHQ9Tm9uZSk6CisgICAgICAgICIiIlJldHVybiB0aGUgc3F1YXJlIHJvb3Qgb2Ygc2VsZi4iIiIKKyAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgorICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQorCisgICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWw6CisgICAgICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKGNvbnRleHQ9Y29udGV4dCkKKyAgICAgICAgICAgIGlmIGFuczoKKyAgICAgICAgICAgICAgICByZXR1cm4gYW5zCisKKyAgICAgICAgICAgIGlmIHNlbGYuX2lzaW5maW5pdHkoKSBhbmQgc2VsZi5fc2lnbiA9PSAwOgorICAgICAgICAgICAgICAgIHJldHVybiBEZWNpbWFsKHNlbGYpCisKKyAgICAgICAgaWYgbm90IHNlbGY6CisgICAgICAgICAgICAjIGV4cG9uZW50ID0gc2VsZi5fZXhwIC8vIDIuICBzcXJ0KC0wKSA9IC0wCisgICAgICAgICAgICBhbnMgPSBfZGVjX2Zyb21fdHJpcGxlKHNlbGYuX3NpZ24sICcwJywgc2VsZi5fZXhwIC8vIDIpCisgICAgICAgICAgICByZXR1cm4gYW5zLl9maXgoY29udGV4dCkKKworICAgICAgICBpZiBzZWxmLl9zaWduID09IDE6CisgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwgJ3NxcnQoLXgpLCB4ID4gMCcpCisKKyAgICAgICAgIyBBdCB0aGlzIHBvaW50IHNlbGYgcmVwcmVzZW50cyBhIHBvc2l0aXZlIG51bWJlci4gIExldCBwIGJlCisgICAgICAgICMgdGhlIGRlc2lyZWQgcHJlY2lzaW9uIGFuZCBleHByZXNzIHNlbGYgaW4gdGhlIGZvcm0gYyoxMDAqKmUKKyAgICAgICAgIyB3aXRoIGMgYSBwb3NpdGl2ZSByZWFsIG51bWJlciBhbmQgZSBhbiBpbnRlZ2VyLCBjIGFuZCBlCisgICAgICAgICMgYmVpbmcgY2hvc2VuIHNvIHRoYXQgMTAwKioocC0xKSA8PSBjIDwgMTAwKipwLiAgVGhlbiB0aGUKKyAgICAgICAgIyAoZXhhY3QpIHNxdWFyZSByb290IG9mIHNlbGYgaXMgc3FydChjKSoxMCoqZSwgYW5kIDEwKioocC0xKQorICAgICAgICAjIDw9IHNxcnQoYykgPCAxMCoqcCwgc28gdGhlIGNsb3Nlc3QgcmVwcmVzZW50YWJsZSBEZWNpbWFsIGF0CisgICAgICAgICMgcHJlY2lzaW9uIHAgaXMgbioxMCoqZSB3aGVyZSBuID0gcm91bmRfaGFsZl9ldmVuKHNxcnQoYykpLAorICAgICAgICAjIHRoZSBjbG9zZXN0IGludGVnZXIgdG8gc3FydChjKSB3aXRoIHRoZSBldmVuIGludGVnZXIgY2hvc2VuCisgICAgICAgICMgaW4gdGhlIGNhc2Ugb2YgYSB0aWUuCisgICAgICAgICMKKyAgICAgICAgIyBUbyBlbnN1cmUgY29ycmVjdCByb3VuZGluZyBpbiBhbGwgY2FzZXMsIHdlIHVzZSB0aGUKKyAgICAgICAgIyBmb2xsb3dpbmcgdHJpY2s6IHdlIGNvbXB1dGUgdGhlIHNxdWFyZSByb290IHRvIGFuIGV4dHJhCisgICAgICAgICMgcGxhY2UgKHByZWNpc2lvbiBwKzEgaW5zdGVhZCBvZiBwcmVjaXNpb24gcCksIHJvdW5kaW5nIGRvd24uCisgICAgICAgICMgVGhlbiwgaWYgdGhlIHJlc3VsdCBpcyBpbmV4YWN0IGFuZCBpdHMgbGFzdCBkaWdpdCBpcyAwIG9yIDUsCisgICAgICAgICMgd2UgaW5jcmVhc2UgdGhlIGxhc3QgZGlnaXQgdG8gMSBvciA2IHJlc3BlY3RpdmVseTsgaWYgaXQncworICAgICAgICAjIGV4YWN0IHdlIGxlYXZlIHRoZSBsYXN0IGRpZ2l0IGFsb25lLiAgTm93IHRoZSBmaW5hbCByb3VuZCB0bworICAgICAgICAjIHAgcGxhY2VzIChvciBmZXdlciBpbiB0aGUgY2FzZSBvZiB1bmRlcmZsb3cpIHdpbGwgcm91bmQKKyAgICAgICAgIyBjb3JyZWN0bHkgYW5kIHJhaXNlIHRoZSBhcHByb3ByaWF0ZSBmbGFncy4KKworICAgICAgICAjIHVzZSBhbiBleHRyYSBkaWdpdCBvZiBwcmVjaXNpb24KKyAgICAgICAgcHJlYyA9IGNvbnRleHQucHJlYysxCisKKyAgICAgICAgIyB3cml0ZSBhcmd1bWVudCBpbiB0aGUgZm9ybSBjKjEwMCoqZSB3aGVyZSBlID0gc2VsZi5fZXhwLy8yCisgICAgICAgICMgaXMgdGhlICdpZGVhbCcgZXhwb25lbnQsIHRvIGJlIHVzZWQgaWYgdGhlIHNxdWFyZSByb290IGlzCisgICAgICAgICMgZXhhY3RseSByZXByZXNlbnRhYmxlLiAgbCBpcyB0aGUgbnVtYmVyIG9mICdkaWdpdHMnIG9mIGMgaW4KKyAgICAgICAgIyBiYXNlIDEwMCwgc28gdGhhdCAxMDAqKihsLTEpIDw9IGMgPCAxMDAqKmwuCisgICAgICAgIG9wID0gX1dvcmtSZXAoc2VsZikKKyAgICAgICAgZSA9IG9wLmV4cCA+PiAxCisgICAgICAgIGlmIG9wLmV4cCAmIDE6CisgICAgICAgICAgICBjID0gb3AuaW50ICogMTAKKyAgICAgICAgICAgIGwgPSAobGVuKHNlbGYuX2ludCkgPj4gMSkgKyAxCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBjID0gb3AuaW50CisgICAgICAgICAgICBsID0gbGVuKHNlbGYuX2ludCkrMSA+PiAxCisKKyAgICAgICAgIyByZXNjYWxlIHNvIHRoYXQgYyBoYXMgZXhhY3RseSBwcmVjIGJhc2UgMTAwICdkaWdpdHMnCisgICAgICAgIHNoaWZ0ID0gcHJlYy1sCisgICAgICAgIGlmIHNoaWZ0ID49IDA6CisgICAgICAgICAgICBjICo9IDEwMCoqc2hpZnQKKyAgICAgICAgICAgIGV4YWN0ID0gVHJ1ZQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgYywgcmVtYWluZGVyID0gZGl2bW9kKGMsIDEwMCoqLXNoaWZ0KQorICAgICAgICAgICAgZXhhY3QgPSBub3QgcmVtYWluZGVyCisgICAgICAgIGUgLT0gc2hpZnQKKworICAgICAgICAjIGZpbmQgbiA9IGZsb29yKHNxcnQoYykpIHVzaW5nIE5ld3RvbidzIG1ldGhvZAorICAgICAgICBuID0gMTAqKnByZWMKKyAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgIHEgPSBjLy9uCisgICAgICAgICAgICBpZiBuIDw9IHE6CisgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgbiA9IG4gKyBxID4+IDEKKyAgICAgICAgZXhhY3QgPSBleGFjdCBhbmQgbipuID09IGMKKworICAgICAgICBpZiBleGFjdDoKKyAgICAgICAgICAgICMgcmVzdWx0IGlzIGV4YWN0OyByZXNjYWxlIHRvIHVzZSBpZGVhbCBleHBvbmVudCBlCisgICAgICAgICAgICBpZiBzaGlmdCA+PSAwOgorICAgICAgICAgICAgICAgICMgYXNzZXJ0IG4gJSAxMCoqc2hpZnQgPT0gMAorICAgICAgICAgICAgICAgIG4gLy89IDEwKipzaGlmdAorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBuICo9IDEwKiotc2hpZnQKKyAgICAgICAgICAgIGUgKz0gc2hpZnQKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgICMgcmVzdWx0IGlzIG5vdCBleGFjdDsgZml4IGxhc3QgZGlnaXQgYXMgZGVzY3JpYmVkIGFib3ZlCisgICAgICAgICAgICBpZiBuICUgNSA9PSAwOgorICAgICAgICAgICAgICAgIG4gKz0gMQorCisgICAgICAgIGFucyA9IF9kZWNfZnJvbV90cmlwbGUoMCwgc3RyKG4pLCBlKQorCisgICAgICAgICMgcm91bmQsIGFuZCBmaXQgdG8gY3VycmVudCBjb250ZXh0CisgICAgICAgIGNvbnRleHQgPSBjb250ZXh0Ll9zaGFsbG93X2NvcHkoKQorICAgICAgICByb3VuZGluZyA9IGNvbnRleHQuX3NldF9yb3VuZGluZyhST1VORF9IQUxGX0VWRU4pCisgICAgICAgIGFucyA9IGFucy5fZml4KGNvbnRleHQpCisgICAgICAgIGNvbnRleHQucm91bmRpbmcgPSByb3VuZGluZworCisgICAgICAgIHJldHVybiBhbnMKKworICAgIGRlZiBtYXgoc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6CisgICAgICAgICIiIlJldHVybnMgdGhlIGxhcmdlciB2YWx1ZS4KKworICAgICAgICBMaWtlIG1heChzZWxmLCBvdGhlcikgZXhjZXB0IGlmIG9uZSBpcyBub3QgYSBudW1iZXIsIHJldHVybnMKKyAgICAgICAgTmFOIChhbmQgc2lnbmFscyBpZiBvbmUgaXMgc05hTikuICBBbHNvIHJvdW5kcy4KKyAgICAgICAgIiIiCisgICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIsIHJhaXNlaXQ9VHJ1ZSkKKworICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6CisgICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCisKKyAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbCBvciBvdGhlci5faXNfc3BlY2lhbDoKKyAgICAgICAgICAgICMgSWYgb25lIG9wZXJhbmQgaXMgYSBxdWlldCBOYU4gYW5kIHRoZSBvdGhlciBpcyBudW1iZXIsIHRoZW4gdGhlCisgICAgICAgICAgICAjIG51bWJlciBpcyBhbHdheXMgcmV0dXJuZWQKKyAgICAgICAgICAgIHNuID0gc2VsZi5faXNuYW4oKQorICAgICAgICAgICAgb24gPSBvdGhlci5faXNuYW4oKQorICAgICAgICAgICAgaWYgc24gb3Igb246CisgICAgICAgICAgICAgICAgaWYgb24gPT0gMSBhbmQgc24gPT0gMDoKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2ZpeChjb250ZXh0KQorICAgICAgICAgICAgICAgIGlmIHNuID09IDEgYW5kIG9uID09IDA6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBvdGhlci5fZml4KGNvbnRleHQpCisgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2NoZWNrX25hbnMob3RoZXIsIGNvbnRleHQpCisKKyAgICAgICAgYyA9IHNlbGYuX2NtcChvdGhlcikKKyAgICAgICAgaWYgYyA9PSAwOgorICAgICAgICAgICAgIyBJZiBib3RoIG9wZXJhbmRzIGFyZSBmaW5pdGUgYW5kIGVxdWFsIGluIG51bWVyaWNhbCB2YWx1ZQorICAgICAgICAgICAgIyB0aGVuIGFuIG9yZGVyaW5nIGlzIGFwcGxpZWQ6CisgICAgICAgICAgICAjCisgICAgICAgICAgICAjIElmIHRoZSBzaWducyBkaWZmZXIgdGhlbiBtYXggcmV0dXJucyB0aGUgb3BlcmFuZCB3aXRoIHRoZQorICAgICAgICAgICAgIyBwb3NpdGl2ZSBzaWduIGFuZCBtaW4gcmV0dXJucyB0aGUgb3BlcmFuZCB3aXRoIHRoZSBuZWdhdGl2ZSBzaWduCisgICAgICAgICAgICAjCisgICAgICAgICAgICAjIElmIHRoZSBzaWducyBhcmUgdGhlIHNhbWUgdGhlbiB0aGUgZXhwb25lbnQgaXMgdXNlZCB0byBzZWxlY3QKKyAgICAgICAgICAgICMgdGhlIHJlc3VsdC4gIFRoaXMgaXMgZXhhY3RseSB0aGUgb3JkZXJpbmcgdXNlZCBpbiBjb21wYXJlX3RvdGFsLgorICAgICAgICAgICAgYyA9IHNlbGYuY29tcGFyZV90b3RhbChvdGhlcikKKworICAgICAgICBpZiBjID09IC0xOgorICAgICAgICAgICAgYW5zID0gb3RoZXIKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGFucyA9IHNlbGYKKworICAgICAgICByZXR1cm4gYW5zLl9maXgoY29udGV4dCkKKworICAgIGRlZiBtaW4oc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6CisgICAgICAgICIiIlJldHVybnMgdGhlIHNtYWxsZXIgdmFsdWUuCisKKyAgICAgICAgTGlrZSBtaW4oc2VsZiwgb3RoZXIpIGV4Y2VwdCBpZiBvbmUgaXMgbm90IGEgbnVtYmVyLCByZXR1cm5zCisgICAgICAgIE5hTiAoYW5kIHNpZ25hbHMgaWYgb25lIGlzIHNOYU4pLiAgQWxzbyByb3VuZHMuCisgICAgICAgICIiIgorICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyLCByYWlzZWl0PVRydWUpCisKKyAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgorICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQorCisgICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWwgb3Igb3RoZXIuX2lzX3NwZWNpYWw6CisgICAgICAgICAgICAjIElmIG9uZSBvcGVyYW5kIGlzIGEgcXVpZXQgTmFOIGFuZCB0aGUgb3RoZXIgaXMgbnVtYmVyLCB0aGVuIHRoZQorICAgICAgICAgICAgIyBudW1iZXIgaXMgYWx3YXlzIHJldHVybmVkCisgICAgICAgICAgICBzbiA9IHNlbGYuX2lzbmFuKCkKKyAgICAgICAgICAgIG9uID0gb3RoZXIuX2lzbmFuKCkKKyAgICAgICAgICAgIGlmIHNuIG9yIG9uOgorICAgICAgICAgICAgICAgIGlmIG9uID09IDEgYW5kIHNuID09IDA6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLl9maXgoY29udGV4dCkKKyAgICAgICAgICAgICAgICBpZiBzbiA9PSAxIGFuZCBvbiA9PSAwOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3RoZXIuX2ZpeChjb250ZXh0KQorICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLl9jaGVja19uYW5zKG90aGVyLCBjb250ZXh0KQorCisgICAgICAgIGMgPSBzZWxmLl9jbXAob3RoZXIpCisgICAgICAgIGlmIGMgPT0gMDoKKyAgICAgICAgICAgIGMgPSBzZWxmLmNvbXBhcmVfdG90YWwob3RoZXIpCisKKyAgICAgICAgaWYgYyA9PSAtMToKKyAgICAgICAgICAgIGFucyA9IHNlbGYKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGFucyA9IG90aGVyCisKKyAgICAgICAgcmV0dXJuIGFucy5fZml4KGNvbnRleHQpCisKKyAgICBkZWYgX2lzaW50ZWdlcihzZWxmKToKKyAgICAgICAgIiIiUmV0dXJucyB3aGV0aGVyIHNlbGYgaXMgYW4gaW50ZWdlciIiIgorICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsOgorICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgICAgIGlmIHNlbGYuX2V4cCA+PSAwOgorICAgICAgICAgICAgcmV0dXJuIFRydWUKKyAgICAgICAgcmVzdCA9IHNlbGYuX2ludFtzZWxmLl9leHA6XQorICAgICAgICByZXR1cm4gcmVzdCA9PSAnMCcqbGVuKHJlc3QpCisKKyAgICBkZWYgX2lzZXZlbihzZWxmKToKKyAgICAgICAgIiIiUmV0dXJucyBUcnVlIGlmIHNlbGYgaXMgZXZlbi4gIEFzc3VtZXMgc2VsZiBpcyBhbiBpbnRlZ2VyLiIiIgorICAgICAgICBpZiBub3Qgc2VsZiBvciBzZWxmLl9leHAgPiAwOgorICAgICAgICAgICAgcmV0dXJuIFRydWUKKyAgICAgICAgcmV0dXJuIHNlbGYuX2ludFstMStzZWxmLl9leHBdIGluICcwMjQ2OCcKKworICAgIGRlZiBhZGp1c3RlZChzZWxmKToKKyAgICAgICAgIiIiUmV0dXJuIHRoZSBhZGp1c3RlZCBleHBvbmVudCBvZiBzZWxmIiIiCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHJldHVybiBzZWxmLl9leHAgKyBsZW4oc2VsZi5faW50KSAtIDEKKyAgICAgICAgIyBJZiBOYU4gb3IgSW5maW5pdHksIHNlbGYuX2V4cCBpcyBzdHJpbmcKKyAgICAgICAgZXhjZXB0IFR5cGVFcnJvcjoKKyAgICAgICAgICAgIHJldHVybiAwCisKKyAgICBkZWYgY2Fub25pY2FsKHNlbGYpOgorICAgICAgICAiIiJSZXR1cm5zIHRoZSBzYW1lIERlY2ltYWwgb2JqZWN0LgorCisgICAgICAgIEFzIHdlIGRvIG5vdCBoYXZlIGRpZmZlcmVudCBlbmNvZGluZ3MgZm9yIHRoZSBzYW1lIG51bWJlciwgdGhlCisgICAgICAgIHJlY2VpdmVkIG9iamVjdCBhbHJlYWR5IGlzIGluIGl0cyBjYW5vbmljYWwgZm9ybS4KKyAgICAgICAgIiIiCisgICAgICAgIHJldHVybiBzZWxmCisKKyAgICBkZWYgY29tcGFyZV9zaWduYWwoc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6CisgICAgICAgICIiIkNvbXBhcmVzIHNlbGYgdG8gdGhlIG90aGVyIG9wZXJhbmQgbnVtZXJpY2FsbHkuCisKKyAgICAgICAgSXQncyBwcmV0dHkgbXVjaCBsaWtlIGNvbXBhcmUoKSwgYnV0IGFsbCBOYU5zIHNpZ25hbCwgd2l0aCBzaWduYWxpbmcKKyAgICAgICAgTmFOcyB0YWtpbmcgcHJlY2VkZW5jZSBvdmVyIHF1aWV0IE5hTnMuCisgICAgICAgICIiIgorICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyLCByYWlzZWl0ID0gVHJ1ZSkKKyAgICAgICAgYW5zID0gc2VsZi5fY29tcGFyZV9jaGVja19uYW5zKG90aGVyLCBjb250ZXh0KQorICAgICAgICBpZiBhbnM6CisgICAgICAgICAgICByZXR1cm4gYW5zCisgICAgICAgIHJldHVybiBzZWxmLmNvbXBhcmUob3RoZXIsIGNvbnRleHQ9Y29udGV4dCkKKworICAgIGRlZiBjb21wYXJlX3RvdGFsKHNlbGYsIG90aGVyLCBjb250ZXh0PU5vbmUpOgorICAgICAgICAiIiJDb21wYXJlcyBzZWxmIHRvIG90aGVyIHVzaW5nIHRoZSBhYnN0cmFjdCByZXByZXNlbnRhdGlvbnMuCisKKyAgICAgICAgVGhpcyBpcyBub3QgbGlrZSB0aGUgc3RhbmRhcmQgY29tcGFyZSwgd2hpY2ggdXNlIHRoZWlyIG51bWVyaWNhbAorICAgICAgICB2YWx1ZS4gTm90ZSB0aGF0IGEgdG90YWwgb3JkZXJpbmcgaXMgZGVmaW5lZCBmb3IgYWxsIHBvc3NpYmxlIGFic3RyYWN0CisgICAgICAgIHJlcHJlc2VudGF0aW9ucy4KKyAgICAgICAgIiIiCisgICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIsIHJhaXNlaXQ9VHJ1ZSkKKworICAgICAgICAjIGlmIG9uZSBpcyBuZWdhdGl2ZSBhbmQgdGhlIG90aGVyIGlzIHBvc2l0aXZlLCBpdCdzIGVhc3kKKyAgICAgICAgaWYgc2VsZi5fc2lnbiBhbmQgbm90IG90aGVyLl9zaWduOgorICAgICAgICAgICAgcmV0dXJuIF9OZWdhdGl2ZU9uZQorICAgICAgICBpZiBub3Qgc2VsZi5fc2lnbiBhbmQgb3RoZXIuX3NpZ246CisgICAgICAgICAgICByZXR1cm4gX09uZQorICAgICAgICBzaWduID0gc2VsZi5fc2lnbgorCisgICAgICAgICMgbGV0J3MgaGFuZGxlIGJvdGggTmFOIHR5cGVzCisgICAgICAgIHNlbGZfbmFuID0gc2VsZi5faXNuYW4oKQorICAgICAgICBvdGhlcl9uYW4gPSBvdGhlci5faXNuYW4oKQorICAgICAgICBpZiBzZWxmX25hbiBvciBvdGhlcl9uYW46CisgICAgICAgICAgICBpZiBzZWxmX25hbiA9PSBvdGhlcl9uYW46CisgICAgICAgICAgICAgICAgIyBjb21wYXJlIHBheWxvYWRzIGFzIHRob3VnaCB0aGV5J3JlIGludGVnZXJzCisgICAgICAgICAgICAgICAgc2VsZl9rZXkgPSBsZW4oc2VsZi5faW50KSwgc2VsZi5faW50CisgICAgICAgICAgICAgICAgb3RoZXJfa2V5ID0gbGVuKG90aGVyLl9pbnQpLCBvdGhlci5faW50CisgICAgICAgICAgICAgICAgaWYgc2VsZl9rZXkgPCBvdGhlcl9rZXk6CisgICAgICAgICAgICAgICAgICAgIGlmIHNpZ246CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX09uZQorICAgICAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9OZWdhdGl2ZU9uZQorICAgICAgICAgICAgICAgIGlmIHNlbGZfa2V5ID4gb3RoZXJfa2V5OgorICAgICAgICAgICAgICAgICAgICBpZiBzaWduOgorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9OZWdhdGl2ZU9uZQorICAgICAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9PbmUKKyAgICAgICAgICAgICAgICByZXR1cm4gX1plcm8KKworICAgICAgICAgICAgaWYgc2lnbjoKKyAgICAgICAgICAgICAgICBpZiBzZWxmX25hbiA9PSAxOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gX05lZ2F0aXZlT25lCisgICAgICAgICAgICAgICAgaWYgb3RoZXJfbmFuID09IDE6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBfT25lCisgICAgICAgICAgICAgICAgaWYgc2VsZl9uYW4gPT0gMjoKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9OZWdhdGl2ZU9uZQorICAgICAgICAgICAgICAgIGlmIG90aGVyX25hbiA9PSAyOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gX09uZQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBpZiBzZWxmX25hbiA9PSAxOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gX09uZQorICAgICAgICAgICAgICAgIGlmIG90aGVyX25hbiA9PSAxOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gX05lZ2F0aXZlT25lCisgICAgICAgICAgICAgICAgaWYgc2VsZl9uYW4gPT0gMjoKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9PbmUKKyAgICAgICAgICAgICAgICBpZiBvdGhlcl9uYW4gPT0gMjoKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9OZWdhdGl2ZU9uZQorCisgICAgICAgIGlmIHNlbGYgPCBvdGhlcjoKKyAgICAgICAgICAgIHJldHVybiBfTmVnYXRpdmVPbmUKKyAgICAgICAgaWYgc2VsZiA+IG90aGVyOgorICAgICAgICAgICAgcmV0dXJuIF9PbmUKKworICAgICAgICBpZiBzZWxmLl9leHAgPCBvdGhlci5fZXhwOgorICAgICAgICAgICAgaWYgc2lnbjoKKyAgICAgICAgICAgICAgICByZXR1cm4gX09uZQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICByZXR1cm4gX05lZ2F0aXZlT25lCisgICAgICAgIGlmIHNlbGYuX2V4cCA+IG90aGVyLl9leHA6CisgICAgICAgICAgICBpZiBzaWduOgorICAgICAgICAgICAgICAgIHJldHVybiBfTmVnYXRpdmVPbmUKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgcmV0dXJuIF9PbmUKKyAgICAgICAgcmV0dXJuIF9aZXJvCisKKworICAgIGRlZiBjb21wYXJlX3RvdGFsX21hZyhzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKKyAgICAgICAgIiIiQ29tcGFyZXMgc2VsZiB0byBvdGhlciB1c2luZyBhYnN0cmFjdCByZXByLiwgaWdub3Jpbmcgc2lnbi4KKworICAgICAgICBMaWtlIGNvbXBhcmVfdG90YWwsIGJ1dCB3aXRoIG9wZXJhbmQncyBzaWduIGlnbm9yZWQgYW5kIGFzc3VtZWQgdG8gYmUgMC4KKyAgICAgICAgIiIiCisgICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIsIHJhaXNlaXQ9VHJ1ZSkKKworICAgICAgICBzID0gc2VsZi5jb3B5X2FicygpCisgICAgICAgIG8gPSBvdGhlci5jb3B5X2FicygpCisgICAgICAgIHJldHVybiBzLmNvbXBhcmVfdG90YWwobykKKworICAgIGRlZiBjb3B5X2FicyhzZWxmKToKKyAgICAgICAgIiIiUmV0dXJucyBhIGNvcHkgd2l0aCB0aGUgc2lnbiBzZXQgdG8gMC4gIiIiCisgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKDAsIHNlbGYuX2ludCwgc2VsZi5fZXhwLCBzZWxmLl9pc19zcGVjaWFsKQorCisgICAgZGVmIGNvcHlfbmVnYXRlKHNlbGYpOgorICAgICAgICAiIiJSZXR1cm5zIGEgY29weSB3aXRoIHRoZSBzaWduIGludmVydGVkLiIiIgorICAgICAgICBpZiBzZWxmLl9zaWduOgorICAgICAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUoMCwgc2VsZi5faW50LCBzZWxmLl9leHAsIHNlbGYuX2lzX3NwZWNpYWwpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZSgxLCBzZWxmLl9pbnQsIHNlbGYuX2V4cCwgc2VsZi5faXNfc3BlY2lhbCkKKworICAgIGRlZiBjb3B5X3NpZ24oc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6CisgICAgICAgICIiIlJldHVybnMgc2VsZiB3aXRoIHRoZSBzaWduIG9mIG90aGVyLiIiIgorICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyLCByYWlzZWl0PVRydWUpCisgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKG90aGVyLl9zaWduLCBzZWxmLl9pbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2V4cCwgc2VsZi5faXNfc3BlY2lhbCkKKworICAgIGRlZiBleHAoc2VsZiwgY29udGV4dD1Ob25lKToKKyAgICAgICAgIiIiUmV0dXJucyBlICoqIHNlbGYuIiIiCisKKyAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgorICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQorCisgICAgICAgICMgZXhwKE5hTikgPSBOYU4KKyAgICAgICAgYW5zID0gc2VsZi5fY2hlY2tfbmFucyhjb250ZXh0PWNvbnRleHQpCisgICAgICAgIGlmIGFuczoKKyAgICAgICAgICAgIHJldHVybiBhbnMKKworICAgICAgICAjIGV4cCgtSW5maW5pdHkpID0gMAorICAgICAgICBpZiBzZWxmLl9pc2luZmluaXR5KCkgPT0gLTE6CisgICAgICAgICAgICByZXR1cm4gX1plcm8KKworICAgICAgICAjIGV4cCgwKSA9IDEKKyAgICAgICAgaWYgbm90IHNlbGY6CisgICAgICAgICAgICByZXR1cm4gX09uZQorCisgICAgICAgICMgZXhwKEluZmluaXR5KSA9IEluZmluaXR5CisgICAgICAgIGlmIHNlbGYuX2lzaW5maW5pdHkoKSA9PSAxOgorICAgICAgICAgICAgcmV0dXJuIERlY2ltYWwoc2VsZikKKworICAgICAgICAjIHRoZSByZXN1bHQgaXMgbm93IGd1YXJhbnRlZWQgdG8gYmUgaW5leGFjdCAodGhlIHRydWUKKyAgICAgICAgIyBtYXRoZW1hdGljYWwgcmVzdWx0IGlzIHRyYW5zY2VuZGVudGFsKS4gVGhlcmUncyBubyBuZWVkIHRvCisgICAgICAgICMgcmFpc2UgUm91bmRlZCBhbmQgSW5leGFjdCBoZXJlLS0tdGhleSdsbCBhbHdheXMgYmUgcmFpc2VkIGFzCisgICAgICAgICMgYSByZXN1bHQgb2YgdGhlIGNhbGwgdG8gX2ZpeC4KKyAgICAgICAgcCA9IGNvbnRleHQucHJlYworICAgICAgICBhZGogPSBzZWxmLmFkanVzdGVkKCkKKworICAgICAgICAjIHdlIG9ubHkgbmVlZCB0byBkbyBhbnkgY29tcHV0YXRpb24gZm9yIHF1aXRlIGEgc21hbGwgcmFuZ2UKKyAgICAgICAgIyBvZiBhZGp1c3RlZCBleHBvbmVudHMtLS1mb3IgZXhhbXBsZSwgLTI5IDw9IGFkaiA8PSAxMCBmb3IKKyAgICAgICAgIyB0aGUgZGVmYXVsdCBjb250ZXh0LiAgRm9yIHNtYWxsZXIgZXhwb25lbnQgdGhlIHJlc3VsdCBpcworICAgICAgICAjIGluZGlzdGluZ3Vpc2hhYmxlIGZyb20gMSBhdCB0aGUgZ2l2ZW4gcHJlY2lzaW9uLCB3aGlsZSBmb3IKKyAgICAgICAgIyBsYXJnZXIgZXhwb25lbnQgdGhlIHJlc3VsdCBlaXRoZXIgb3ZlcmZsb3dzIG9yIHVuZGVyZmxvd3MuCisgICAgICAgIGlmIHNlbGYuX3NpZ24gPT0gMCBhbmQgYWRqID4gbGVuKHN0cigoY29udGV4dC5FbWF4KzEpKjMpKToKKyAgICAgICAgICAgICMgb3ZlcmZsb3cKKyAgICAgICAgICAgIGFucyA9IF9kZWNfZnJvbV90cmlwbGUoMCwgJzEnLCBjb250ZXh0LkVtYXgrMSkKKyAgICAgICAgZWxpZiBzZWxmLl9zaWduID09IDEgYW5kIGFkaiA+IGxlbihzdHIoKC1jb250ZXh0LkV0aW55KCkrMSkqMykpOgorICAgICAgICAgICAgIyB1bmRlcmZsb3cgdG8gMAorICAgICAgICAgICAgYW5zID0gX2RlY19mcm9tX3RyaXBsZSgwLCAnMScsIGNvbnRleHQuRXRpbnkoKS0xKQorICAgICAgICBlbGlmIHNlbGYuX3NpZ24gPT0gMCBhbmQgYWRqIDwgLXA6CisgICAgICAgICAgICAjIHArMSBkaWdpdHM7IGZpbmFsIHJvdW5kIHdpbGwgcmFpc2UgY29ycmVjdCBmbGFncworICAgICAgICAgICAgYW5zID0gX2RlY19mcm9tX3RyaXBsZSgwLCAnMScgKyAnMCcqKHAtMSkgKyAnMScsIC1wKQorICAgICAgICBlbGlmIHNlbGYuX3NpZ24gPT0gMSBhbmQgYWRqIDwgLXAtMToKKyAgICAgICAgICAgICMgcCsxIGRpZ2l0czsgZmluYWwgcm91bmQgd2lsbCByYWlzZSBjb3JyZWN0IGZsYWdzCisgICAgICAgICAgICBhbnMgPSBfZGVjX2Zyb21fdHJpcGxlKDAsICc5JyoocCsxKSwgLXAtMSkKKyAgICAgICAgIyBnZW5lcmFsIGNhc2UKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIG9wID0gX1dvcmtSZXAoc2VsZikKKyAgICAgICAgICAgIGMsIGUgPSBvcC5pbnQsIG9wLmV4cAorICAgICAgICAgICAgaWYgb3Auc2lnbiA9PSAxOgorICAgICAgICAgICAgICAgIGMgPSAtYworCisgICAgICAgICAgICAjIGNvbXB1dGUgY29ycmVjdGx5IHJvdW5kZWQgcmVzdWx0OiBpbmNyZWFzZSBwcmVjaXNpb24gYnkKKyAgICAgICAgICAgICMgMyBkaWdpdHMgYXQgYSB0aW1lIHVudGlsIHdlIGdldCBhbiB1bmFtYmlndW91c2x5CisgICAgICAgICAgICAjIHJvdW5kYWJsZSByZXN1bHQKKyAgICAgICAgICAgIGV4dHJhID0gMworICAgICAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgICAgICBjb2VmZiwgZXhwID0gX2RleHAoYywgZSwgcCtleHRyYSkKKyAgICAgICAgICAgICAgICBpZiBjb2VmZiAlICg1KjEwKioobGVuKHN0cihjb2VmZikpLXAtMSkpOgorICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgICAgIGV4dHJhICs9IDMKKworICAgICAgICAgICAgYW5zID0gX2RlY19mcm9tX3RyaXBsZSgwLCBzdHIoY29lZmYpLCBleHApCisKKyAgICAgICAgIyBhdCB0aGlzIHN0YWdlLCBhbnMgc2hvdWxkIHJvdW5kIGNvcnJlY3RseSB3aXRoICphbnkqCisgICAgICAgICMgcm91bmRpbmcgbW9kZSwgbm90IGp1c3Qgd2l0aCBST1VORF9IQUxGX0VWRU4KKyAgICAgICAgY29udGV4dCA9IGNvbnRleHQuX3NoYWxsb3dfY29weSgpCisgICAgICAgIHJvdW5kaW5nID0gY29udGV4dC5fc2V0X3JvdW5kaW5nKFJPVU5EX0hBTEZfRVZFTikKKyAgICAgICAgYW5zID0gYW5zLl9maXgoY29udGV4dCkKKyAgICAgICAgY29udGV4dC5yb3VuZGluZyA9IHJvdW5kaW5nCisKKyAgICAgICAgcmV0dXJuIGFucworCisgICAgZGVmIGlzX2Nhbm9uaWNhbChzZWxmKToKKyAgICAgICAgIiIiUmV0dXJuIFRydWUgaWYgc2VsZiBpcyBjYW5vbmljYWw7IG90aGVyd2lzZSByZXR1cm4gRmFsc2UuCisKKyAgICAgICAgQ3VycmVudGx5LCB0aGUgZW5jb2Rpbmcgb2YgYSBEZWNpbWFsIGluc3RhbmNlIGlzIGFsd2F5cworICAgICAgICBjYW5vbmljYWwsIHNvIHRoaXMgbWV0aG9kIHJldHVybnMgVHJ1ZSBmb3IgYW55IERlY2ltYWwuCisgICAgICAgICIiIgorICAgICAgICByZXR1cm4gVHJ1ZQorCisgICAgZGVmIGlzX2Zpbml0ZShzZWxmKToKKyAgICAgICAgIiIiUmV0dXJuIFRydWUgaWYgc2VsZiBpcyBmaW5pdGU7IG90aGVyd2lzZSByZXR1cm4gRmFsc2UuCisKKyAgICAgICAgQSBEZWNpbWFsIGluc3RhbmNlIGlzIGNvbnNpZGVyZWQgZmluaXRlIGlmIGl0IGlzIG5laXRoZXIKKyAgICAgICAgaW5maW5pdGUgbm9yIGEgTmFOLgorICAgICAgICAiIiIKKyAgICAgICAgcmV0dXJuIG5vdCBzZWxmLl9pc19zcGVjaWFsCisKKyAgICBkZWYgaXNfaW5maW5pdGUoc2VsZik6CisgICAgICAgICIiIlJldHVybiBUcnVlIGlmIHNlbGYgaXMgaW5maW5pdGU7IG90aGVyd2lzZSByZXR1cm4gRmFsc2UuIiIiCisgICAgICAgIHJldHVybiBzZWxmLl9leHAgPT0gJ0YnCisKKyAgICBkZWYgaXNfbmFuKHNlbGYpOgorICAgICAgICAiIiJSZXR1cm4gVHJ1ZSBpZiBzZWxmIGlzIGEgcU5hTiBvciBzTmFOOyBvdGhlcndpc2UgcmV0dXJuIEZhbHNlLiIiIgorICAgICAgICByZXR1cm4gc2VsZi5fZXhwIGluICgnbicsICdOJykKKworICAgIGRlZiBpc19ub3JtYWwoc2VsZiwgY29udGV4dD1Ob25lKToKKyAgICAgICAgIiIiUmV0dXJuIFRydWUgaWYgc2VsZiBpcyBhIG5vcm1hbCBudW1iZXI7IG90aGVyd2lzZSByZXR1cm4gRmFsc2UuIiIiCisgICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWwgb3Igbm90IHNlbGY6CisgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgorICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQorICAgICAgICByZXR1cm4gY29udGV4dC5FbWluIDw9IHNlbGYuYWRqdXN0ZWQoKQorCisgICAgZGVmIGlzX3FuYW4oc2VsZik6CisgICAgICAgICIiIlJldHVybiBUcnVlIGlmIHNlbGYgaXMgYSBxdWlldCBOYU47IG90aGVyd2lzZSByZXR1cm4gRmFsc2UuIiIiCisgICAgICAgIHJldHVybiBzZWxmLl9leHAgPT0gJ24nCisKKyAgICBkZWYgaXNfc2lnbmVkKHNlbGYpOgorICAgICAgICAiIiJSZXR1cm4gVHJ1ZSBpZiBzZWxmIGlzIG5lZ2F0aXZlOyBvdGhlcndpc2UgcmV0dXJuIEZhbHNlLiIiIgorICAgICAgICByZXR1cm4gc2VsZi5fc2lnbiA9PSAxCisKKyAgICBkZWYgaXNfc25hbihzZWxmKToKKyAgICAgICAgIiIiUmV0dXJuIFRydWUgaWYgc2VsZiBpcyBhIHNpZ25hbGluZyBOYU47IG90aGVyd2lzZSByZXR1cm4gRmFsc2UuIiIiCisgICAgICAgIHJldHVybiBzZWxmLl9leHAgPT0gJ04nCisKKyAgICBkZWYgaXNfc3Vibm9ybWFsKHNlbGYsIGNvbnRleHQ9Tm9uZSk6CisgICAgICAgICIiIlJldHVybiBUcnVlIGlmIHNlbGYgaXMgc3Vibm9ybWFsOyBvdGhlcndpc2UgcmV0dXJuIEZhbHNlLiIiIgorICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsIG9yIG5vdCBzZWxmOgorICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKKyAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKKyAgICAgICAgcmV0dXJuIHNlbGYuYWRqdXN0ZWQoKSA8IGNvbnRleHQuRW1pbgorCisgICAgZGVmIGlzX3plcm8oc2VsZik6CisgICAgICAgICIiIlJldHVybiBUcnVlIGlmIHNlbGYgaXMgYSB6ZXJvOyBvdGhlcndpc2UgcmV0dXJuIEZhbHNlLiIiIgorICAgICAgICByZXR1cm4gbm90IHNlbGYuX2lzX3NwZWNpYWwgYW5kIHNlbGYuX2ludCA9PSAnMCcKKworICAgIGRlZiBfbG5fZXhwX2JvdW5kKHNlbGYpOgorICAgICAgICAiIiJDb21wdXRlIGEgbG93ZXIgYm91bmQgZm9yIHRoZSBhZGp1c3RlZCBleHBvbmVudCBvZiBzZWxmLmxuKCkuCisgICAgICAgIEluIG90aGVyIHdvcmRzLCBjb21wdXRlIHIgc3VjaCB0aGF0IHNlbGYubG4oKSA+PSAxMCoqci4gIEFzc3VtZXMKKyAgICAgICAgdGhhdCBzZWxmIGlzIGZpbml0ZSBhbmQgcG9zaXRpdmUgYW5kIHRoYXQgc2VsZiAhPSAxLgorICAgICAgICAiIiIKKworICAgICAgICAjIGZvciAwLjEgPD0geCA8PSAxMCB3ZSB1c2UgdGhlIGluZXF1YWxpdGllcyAxLTEveCA8PSBsbih4KSA8PSB4LTEKKyAgICAgICAgYWRqID0gc2VsZi5fZXhwICsgbGVuKHNlbGYuX2ludCkgLSAxCisgICAgICAgIGlmIGFkaiA+PSAxOgorICAgICAgICAgICAgIyBhcmd1bWVudCA+PSAxMDsgd2UgdXNlIDIzLzEwID0gMi4zIGFzIGEgbG93ZXIgYm91bmQgZm9yIGxuKDEwKQorICAgICAgICAgICAgcmV0dXJuIGxlbihzdHIoYWRqKjIzLy8xMCkpIC0gMQorICAgICAgICBpZiBhZGogPD0gLTI6CisgICAgICAgICAgICAjIGFyZ3VtZW50IDw9IDAuMQorICAgICAgICAgICAgcmV0dXJuIGxlbihzdHIoKC0xLWFkaikqMjMvLzEwKSkgLSAxCisgICAgICAgIG9wID0gX1dvcmtSZXAoc2VsZikKKyAgICAgICAgYywgZSA9IG9wLmludCwgb3AuZXhwCisgICAgICAgIGlmIGFkaiA9PSAwOgorICAgICAgICAgICAgIyAxIDwgc2VsZiA8IDEwCisgICAgICAgICAgICBudW0gPSBzdHIoYy0xMCoqLWUpCisgICAgICAgICAgICBkZW4gPSBzdHIoYykKKyAgICAgICAgICAgIHJldHVybiBsZW4obnVtKSAtIGxlbihkZW4pIC0gKG51bSA8IGRlbikKKyAgICAgICAgIyBhZGogPT0gLTEsIDAuMSA8PSBzZWxmIDwgMQorICAgICAgICByZXR1cm4gZSArIGxlbihzdHIoMTAqKi1lIC0gYykpIC0gMQorCisKKyAgICBkZWYgbG4oc2VsZiwgY29udGV4dD1Ob25lKToKKyAgICAgICAgIiIiUmV0dXJucyB0aGUgbmF0dXJhbCAoYmFzZSBlKSBsb2dhcml0aG0gb2Ygc2VsZi4iIiIKKworICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6CisgICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCisKKyAgICAgICAgIyBsbihOYU4pID0gTmFOCisgICAgICAgIGFucyA9IHNlbGYuX2NoZWNrX25hbnMoY29udGV4dD1jb250ZXh0KQorICAgICAgICBpZiBhbnM6CisgICAgICAgICAgICByZXR1cm4gYW5zCisKKyAgICAgICAgIyBsbigwLjApID09IC1JbmZpbml0eQorICAgICAgICBpZiBub3Qgc2VsZjoKKyAgICAgICAgICAgIHJldHVybiBfTmVnYXRpdmVJbmZpbml0eQorCisgICAgICAgICMgbG4oSW5maW5pdHkpID0gSW5maW5pdHkKKyAgICAgICAgaWYgc2VsZi5faXNpbmZpbml0eSgpID09IDE6CisgICAgICAgICAgICByZXR1cm4gX0luZmluaXR5CisKKyAgICAgICAgIyBsbigxLjApID09IDAuMAorICAgICAgICBpZiBzZWxmID09IF9PbmU6CisgICAgICAgICAgICByZXR1cm4gX1plcm8KKworICAgICAgICAjIGxuKG5lZ2F0aXZlKSByYWlzZXMgSW52YWxpZE9wZXJhdGlvbgorICAgICAgICBpZiBzZWxmLl9zaWduID09IDE6CisgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbG4gb2YgYSBuZWdhdGl2ZSB2YWx1ZScpCisKKyAgICAgICAgIyByZXN1bHQgaXMgaXJyYXRpb25hbCwgc28gbmVjZXNzYXJpbHkgaW5leGFjdAorICAgICAgICBvcCA9IF9Xb3JrUmVwKHNlbGYpCisgICAgICAgIGMsIGUgPSBvcC5pbnQsIG9wLmV4cAorICAgICAgICBwID0gY29udGV4dC5wcmVjCisKKyAgICAgICAgIyBjb3JyZWN0bHkgcm91bmRlZCByZXN1bHQ6IHJlcGVhdGVkbHkgaW5jcmVhc2UgcHJlY2lzaW9uIGJ5IDMKKyAgICAgICAgIyB1bnRpbCB3ZSBnZXQgYW4gdW5hbWJpZ3VvdXNseSByb3VuZGFibGUgcmVzdWx0CisgICAgICAgIHBsYWNlcyA9IHAgLSBzZWxmLl9sbl9leHBfYm91bmQoKSArIDIgIyBhdCBsZWFzdCBwKzMgcGxhY2VzCisgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICBjb2VmZiA9IF9kbG9nKGMsIGUsIHBsYWNlcykKKyAgICAgICAgICAgICMgYXNzZXJ0IGxlbihzdHIoYWJzKGNvZWZmKSkpLXAgPj0gMQorICAgICAgICAgICAgaWYgY29lZmYgJSAoNSoxMCoqKGxlbihzdHIoYWJzKGNvZWZmKSkpLXAtMSkpOgorICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICBwbGFjZXMgKz0gMworICAgICAgICBhbnMgPSBfZGVjX2Zyb21fdHJpcGxlKGludChjb2VmZjwwKSwgc3RyKGFicyhjb2VmZikpLCAtcGxhY2VzKQorCisgICAgICAgIGNvbnRleHQgPSBjb250ZXh0Ll9zaGFsbG93X2NvcHkoKQorICAgICAgICByb3VuZGluZyA9IGNvbnRleHQuX3NldF9yb3VuZGluZyhST1VORF9IQUxGX0VWRU4pCisgICAgICAgIGFucyA9IGFucy5fZml4KGNvbnRleHQpCisgICAgICAgIGNvbnRleHQucm91bmRpbmcgPSByb3VuZGluZworICAgICAgICByZXR1cm4gYW5zCisKKyAgICBkZWYgX2xvZzEwX2V4cF9ib3VuZChzZWxmKToKKyAgICAgICAgIiIiQ29tcHV0ZSBhIGxvd2VyIGJvdW5kIGZvciB0aGUgYWRqdXN0ZWQgZXhwb25lbnQgb2Ygc2VsZi5sb2cxMCgpLgorICAgICAgICBJbiBvdGhlciB3b3JkcywgZmluZCByIHN1Y2ggdGhhdCBzZWxmLmxvZzEwKCkgPj0gMTAqKnIuCisgICAgICAgIEFzc3VtZXMgdGhhdCBzZWxmIGlzIGZpbml0ZSBhbmQgcG9zaXRpdmUgYW5kIHRoYXQgc2VsZiAhPSAxLgorICAgICAgICAiIiIKKworICAgICAgICAjIEZvciB4ID49IDEwIG9yIHggPCAwLjEgd2Ugb25seSBuZWVkIGEgYm91bmQgb24gdGhlIGludGVnZXIKKyAgICAgICAgIyBwYXJ0IG9mIGxvZzEwKHNlbGYpLCBhbmQgdGhpcyBjb21lcyBkaXJlY3RseSBmcm9tIHRoZQorICAgICAgICAjIGV4cG9uZW50IG9mIHguICBGb3IgMC4xIDw9IHggPD0gMTAgd2UgdXNlIHRoZSBpbmVxdWFsaXRpZXMKKyAgICAgICAgIyAxLTEveCA8PSBsb2coeCkgPD0geC0xLiBJZiB4ID4gMSB3ZSBoYXZlIHxsb2cxMCh4KXwgPgorICAgICAgICAjICgxLTEveCkvMi4zMSA+IDAuICBJZiB4IDwgMSB0aGVuIHxsb2cxMCh4KXwgPiAoMS14KS8yLjMxID4gMAorCisgICAgICAgIGFkaiA9IHNlbGYuX2V4cCArIGxlbihzZWxmLl9pbnQpIC0gMQorICAgICAgICBpZiBhZGogPj0gMToKKyAgICAgICAgICAgICMgc2VsZiA+PSAxMAorICAgICAgICAgICAgcmV0dXJuIGxlbihzdHIoYWRqKSktMQorICAgICAgICBpZiBhZGogPD0gLTI6CisgICAgICAgICAgICAjIHNlbGYgPCAwLjEKKyAgICAgICAgICAgIHJldHVybiBsZW4oc3RyKC0xLWFkaikpLTEKKyAgICAgICAgb3AgPSBfV29ya1JlcChzZWxmKQorICAgICAgICBjLCBlID0gb3AuaW50LCBvcC5leHAKKyAgICAgICAgaWYgYWRqID09IDA6CisgICAgICAgICAgICAjIDEgPCBzZWxmIDwgMTAKKyAgICAgICAgICAgIG51bSA9IHN0cihjLTEwKiotZSkKKyAgICAgICAgICAgIGRlbiA9IHN0cigyMzEqYykKKyAgICAgICAgICAgIHJldHVybiBsZW4obnVtKSAtIGxlbihkZW4pIC0gKG51bSA8IGRlbikgKyAyCisgICAgICAgICMgYWRqID09IC0xLCAwLjEgPD0gc2VsZiA8IDEKKyAgICAgICAgbnVtID0gc3RyKDEwKiotZS1jKQorICAgICAgICByZXR1cm4gbGVuKG51bSkgKyBlIC0gKG51bSA8ICIyMzEiKSAtIDEKKworICAgIGRlZiBsb2cxMChzZWxmLCBjb250ZXh0PU5vbmUpOgorICAgICAgICAiIiJSZXR1cm5zIHRoZSBiYXNlIDEwIGxvZ2FyaXRobSBvZiBzZWxmLiIiIgorCisgICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKKyAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKKworICAgICAgICAjIGxvZzEwKE5hTikgPSBOYU4KKyAgICAgICAgYW5zID0gc2VsZi5fY2hlY2tfbmFucyhjb250ZXh0PWNvbnRleHQpCisgICAgICAgIGlmIGFuczoKKyAgICAgICAgICAgIHJldHVybiBhbnMKKworICAgICAgICAjIGxvZzEwKDAuMCkgPT0gLUluZmluaXR5CisgICAgICAgIGlmIG5vdCBzZWxmOgorICAgICAgICAgICAgcmV0dXJuIF9OZWdhdGl2ZUluZmluaXR5CisKKyAgICAgICAgIyBsb2cxMChJbmZpbml0eSkgPSBJbmZpbml0eQorICAgICAgICBpZiBzZWxmLl9pc2luZmluaXR5KCkgPT0gMToKKyAgICAgICAgICAgIHJldHVybiBfSW5maW5pdHkKKworICAgICAgICAjIGxvZzEwKG5lZ2F0aXZlIG9yIC1JbmZpbml0eSkgcmFpc2VzIEludmFsaWRPcGVyYXRpb24KKyAgICAgICAgaWYgc2VsZi5fc2lnbiA9PSAxOgorICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2xvZzEwIG9mIGEgbmVnYXRpdmUgdmFsdWUnKQorCisgICAgICAgICMgbG9nMTAoMTAqKm4pID0gbgorICAgICAgICBpZiBzZWxmLl9pbnRbMF0gPT0gJzEnIGFuZCBzZWxmLl9pbnRbMTpdID09ICcwJyoobGVuKHNlbGYuX2ludCkgLSAxKToKKyAgICAgICAgICAgICMgYW5zd2VyIG1heSBuZWVkIHJvdW5kaW5nCisgICAgICAgICAgICBhbnMgPSBEZWNpbWFsKHNlbGYuX2V4cCArIGxlbihzZWxmLl9pbnQpIC0gMSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgICMgcmVzdWx0IGlzIGlycmF0aW9uYWwsIHNvIG5lY2Vzc2FyaWx5IGluZXhhY3QKKyAgICAgICAgICAgIG9wID0gX1dvcmtSZXAoc2VsZikKKyAgICAgICAgICAgIGMsIGUgPSBvcC5pbnQsIG9wLmV4cAorICAgICAgICAgICAgcCA9IGNvbnRleHQucHJlYworCisgICAgICAgICAgICAjIGNvcnJlY3RseSByb3VuZGVkIHJlc3VsdDogcmVwZWF0ZWRseSBpbmNyZWFzZSBwcmVjaXNpb24KKyAgICAgICAgICAgICMgdW50aWwgcmVzdWx0IGlzIHVuYW1iaWd1b3VzbHkgcm91bmRhYmxlCisgICAgICAgICAgICBwbGFjZXMgPSBwLXNlbGYuX2xvZzEwX2V4cF9ib3VuZCgpKzIKKyAgICAgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICAgICAgY29lZmYgPSBfZGxvZzEwKGMsIGUsIHBsYWNlcykKKyAgICAgICAgICAgICAgICAjIGFzc2VydCBsZW4oc3RyKGFicyhjb2VmZikpKS1wID49IDEKKyAgICAgICAgICAgICAgICBpZiBjb2VmZiAlICg1KjEwKioobGVuKHN0cihhYnMoY29lZmYpKSktcC0xKSk6CisgICAgICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICAgICAgcGxhY2VzICs9IDMKKyAgICAgICAgICAgIGFucyA9IF9kZWNfZnJvbV90cmlwbGUoaW50KGNvZWZmPDApLCBzdHIoYWJzKGNvZWZmKSksIC1wbGFjZXMpCisKKyAgICAgICAgY29udGV4dCA9IGNvbnRleHQuX3NoYWxsb3dfY29weSgpCisgICAgICAgIHJvdW5kaW5nID0gY29udGV4dC5fc2V0X3JvdW5kaW5nKFJPVU5EX0hBTEZfRVZFTikKKyAgICAgICAgYW5zID0gYW5zLl9maXgoY29udGV4dCkKKyAgICAgICAgY29udGV4dC5yb3VuZGluZyA9IHJvdW5kaW5nCisgICAgICAgIHJldHVybiBhbnMKKworICAgIGRlZiBsb2diKHNlbGYsIGNvbnRleHQ9Tm9uZSk6CisgICAgICAgICIiIiBSZXR1cm5zIHRoZSBleHBvbmVudCBvZiB0aGUgbWFnbml0dWRlIG9mIHNlbGYncyBNU0QuCisKKyAgICAgICAgVGhlIHJlc3VsdCBpcyB0aGUgaW50ZWdlciB3aGljaCBpcyB0aGUgZXhwb25lbnQgb2YgdGhlIG1hZ25pdHVkZQorICAgICAgICBvZiB0aGUgbW9zdCBzaWduaWZpY2FudCBkaWdpdCBvZiBzZWxmIChhcyB0aG91Z2ggaXQgd2VyZSB0cnVuY2F0ZWQKKyAgICAgICAgdG8gYSBzaW5nbGUgZGlnaXQgd2hpbGUgbWFpbnRhaW5pbmcgdGhlIHZhbHVlIG9mIHRoYXQgZGlnaXQgYW5kCisgICAgICAgIHdpdGhvdXQgbGltaXRpbmcgdGhlIHJlc3VsdGluZyBleHBvbmVudCkuCisgICAgICAgICIiIgorICAgICAgICAjIGxvZ2IoTmFOKSA9IE5hTgorICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKGNvbnRleHQ9Y29udGV4dCkKKyAgICAgICAgaWYgYW5zOgorICAgICAgICAgICAgcmV0dXJuIGFucworCisgICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKKyAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKKworICAgICAgICAjIGxvZ2IoKy8tSW5mKSA9ICtJbmYKKyAgICAgICAgaWYgc2VsZi5faXNpbmZpbml0eSgpOgorICAgICAgICAgICAgcmV0dXJuIF9JbmZpbml0eQorCisgICAgICAgICMgbG9nYigwKSA9IC1JbmYsIERpdmlzaW9uQnlaZXJvCisgICAgICAgIGlmIG5vdCBzZWxmOgorICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKERpdmlzaW9uQnlaZXJvLCAnbG9nYigwKScsIDEpCisKKyAgICAgICAgIyBvdGhlcndpc2UsIHNpbXBseSByZXR1cm4gdGhlIGFkanVzdGVkIGV4cG9uZW50IG9mIHNlbGYsIGFzIGEKKyAgICAgICAgIyBEZWNpbWFsLiAgTm90ZSB0aGF0IG5vIGF0dGVtcHQgaXMgbWFkZSB0byBmaXQgdGhlIHJlc3VsdAorICAgICAgICAjIGludG8gdGhlIGN1cnJlbnQgY29udGV4dC4KKyAgICAgICAgYW5zID0gRGVjaW1hbChzZWxmLmFkanVzdGVkKCkpCisgICAgICAgIHJldHVybiBhbnMuX2ZpeChjb250ZXh0KQorCisgICAgZGVmIF9pc2xvZ2ljYWwoc2VsZik6CisgICAgICAgICIiIlJldHVybiBUcnVlIGlmIHNlbGYgaXMgYSBsb2dpY2FsIG9wZXJhbmQuCisKKyAgICAgICAgRm9yIGJlaW5nIGxvZ2ljYWwsIGl0IG11c3QgYmUgYSBmaW5pdGUgbnVtYmVyIHdpdGggYSBzaWduIG9mIDAsCisgICAgICAgIGFuIGV4cG9uZW50IG9mIDAsIGFuZCBhIGNvZWZmaWNpZW50IHdob3NlIGRpZ2l0cyBtdXN0IGFsbCBiZQorICAgICAgICBlaXRoZXIgMCBvciAxLgorICAgICAgICAiIiIKKyAgICAgICAgaWYgc2VsZi5fc2lnbiAhPSAwIG9yIHNlbGYuX2V4cCAhPSAwOgorICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgICAgIGZvciBkaWcgaW4gc2VsZi5faW50OgorICAgICAgICAgICAgaWYgZGlnIG5vdCBpbiAnMDEnOgorICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQorICAgICAgICByZXR1cm4gVHJ1ZQorCisgICAgZGVmIF9maWxsX2xvZ2ljYWwoc2VsZiwgY29udGV4dCwgb3BhLCBvcGIpOgorICAgICAgICBkaWYgPSBjb250ZXh0LnByZWMgLSBsZW4ob3BhKQorICAgICAgICBpZiBkaWYgPiAwOgorICAgICAgICAgICAgb3BhID0gJzAnKmRpZiArIG9wYQorICAgICAgICBlbGlmIGRpZiA8IDA6CisgICAgICAgICAgICBvcGEgPSBvcGFbLWNvbnRleHQucHJlYzpdCisgICAgICAgIGRpZiA9IGNvbnRleHQucHJlYyAtIGxlbihvcGIpCisgICAgICAgIGlmIGRpZiA+IDA6CisgICAgICAgICAgICBvcGIgPSAnMCcqZGlmICsgb3BiCisgICAgICAgIGVsaWYgZGlmIDwgMDoKKyAgICAgICAgICAgIG9wYiA9IG9wYlstY29udGV4dC5wcmVjOl0KKyAgICAgICAgcmV0dXJuIG9wYSwgb3BiCisKKyAgICBkZWYgbG9naWNhbF9hbmQoc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6CisgICAgICAgICIiIkFwcGxpZXMgYW4gJ2FuZCcgb3BlcmF0aW9uIGJldHdlZW4gc2VsZiBhbmQgb3RoZXIncyBkaWdpdHMuIiIiCisgICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKKyAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKKworICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyLCByYWlzZWl0PVRydWUpCisKKyAgICAgICAgaWYgbm90IHNlbGYuX2lzbG9naWNhbCgpIG9yIG5vdCBvdGhlci5faXNsb2dpY2FsKCk6CisgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbikKKworICAgICAgICAjIGZpbGwgdG8gY29udGV4dC5wcmVjCisgICAgICAgIChvcGEsIG9wYikgPSBzZWxmLl9maWxsX2xvZ2ljYWwoY29udGV4dCwgc2VsZi5faW50LCBvdGhlci5faW50KQorCisgICAgICAgICMgbWFrZSB0aGUgb3BlcmF0aW9uLCBhbmQgY2xlYW4gc3RhcnRpbmcgemVyb2VzCisgICAgICAgIHJlc3VsdCA9ICIiLmpvaW4oW3N0cihpbnQoYSkmaW50KGIpKSBmb3IgYSxiIGluIHppcChvcGEsb3BiKV0pCisgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKDAsIHJlc3VsdC5sc3RyaXAoJzAnKSBvciAnMCcsIDApCisKKyAgICBkZWYgbG9naWNhbF9pbnZlcnQoc2VsZiwgY29udGV4dD1Ob25lKToKKyAgICAgICAgIiIiSW52ZXJ0IGFsbCBpdHMgZGlnaXRzLiIiIgorICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6CisgICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCisgICAgICAgIHJldHVybiBzZWxmLmxvZ2ljYWxfeG9yKF9kZWNfZnJvbV90cmlwbGUoMCwnMScqY29udGV4dC5wcmVjLDApLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0KQorCisgICAgZGVmIGxvZ2ljYWxfb3Ioc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6CisgICAgICAgICIiIkFwcGxpZXMgYW4gJ29yJyBvcGVyYXRpb24gYmV0d2VlbiBzZWxmIGFuZCBvdGhlcidzIGRpZ2l0cy4iIiIKKyAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgorICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQorCisgICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIsIHJhaXNlaXQ9VHJ1ZSkKKworICAgICAgICBpZiBub3Qgc2VsZi5faXNsb2dpY2FsKCkgb3Igbm90IG90aGVyLl9pc2xvZ2ljYWwoKToKKyAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uKQorCisgICAgICAgICMgZmlsbCB0byBjb250ZXh0LnByZWMKKyAgICAgICAgKG9wYSwgb3BiKSA9IHNlbGYuX2ZpbGxfbG9naWNhbChjb250ZXh0LCBzZWxmLl9pbnQsIG90aGVyLl9pbnQpCisKKyAgICAgICAgIyBtYWtlIHRoZSBvcGVyYXRpb24sIGFuZCBjbGVhbiBzdGFydGluZyB6ZXJvZXMKKyAgICAgICAgcmVzdWx0ID0gIiIuam9pbihbc3RyKGludChhKXxpbnQoYikpIGZvciBhLGIgaW4gemlwKG9wYSxvcGIpXSkKKyAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUoMCwgcmVzdWx0LmxzdHJpcCgnMCcpIG9yICcwJywgMCkKKworICAgIGRlZiBsb2dpY2FsX3hvcihzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKKyAgICAgICAgIiIiQXBwbGllcyBhbiAneG9yJyBvcGVyYXRpb24gYmV0d2VlbiBzZWxmIGFuZCBvdGhlcidzIGRpZ2l0cy4iIiIKKyAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgorICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQorCisgICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIsIHJhaXNlaXQ9VHJ1ZSkKKworICAgICAgICBpZiBub3Qgc2VsZi5faXNsb2dpY2FsKCkgb3Igbm90IG90aGVyLl9pc2xvZ2ljYWwoKToKKyAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uKQorCisgICAgICAgICMgZmlsbCB0byBjb250ZXh0LnByZWMKKyAgICAgICAgKG9wYSwgb3BiKSA9IHNlbGYuX2ZpbGxfbG9naWNhbChjb250ZXh0LCBzZWxmLl9pbnQsIG90aGVyLl9pbnQpCisKKyAgICAgICAgIyBtYWtlIHRoZSBvcGVyYXRpb24sIGFuZCBjbGVhbiBzdGFydGluZyB6ZXJvZXMKKyAgICAgICAgcmVzdWx0ID0gIiIuam9pbihbc3RyKGludChhKV5pbnQoYikpIGZvciBhLGIgaW4gemlwKG9wYSxvcGIpXSkKKyAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUoMCwgcmVzdWx0LmxzdHJpcCgnMCcpIG9yICcwJywgMCkKKworICAgIGRlZiBtYXhfbWFnKHNlbGYsIG90aGVyLCBjb250ZXh0PU5vbmUpOgorICAgICAgICAiIiJDb21wYXJlcyB0aGUgdmFsdWVzIG51bWVyaWNhbGx5IHdpdGggdGhlaXIgc2lnbiBpZ25vcmVkLiIiIgorICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyLCByYWlzZWl0PVRydWUpCisKKyAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgorICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQorCisgICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWwgb3Igb3RoZXIuX2lzX3NwZWNpYWw6CisgICAgICAgICAgICAjIElmIG9uZSBvcGVyYW5kIGlzIGEgcXVpZXQgTmFOIGFuZCB0aGUgb3RoZXIgaXMgbnVtYmVyLCB0aGVuIHRoZQorICAgICAgICAgICAgIyBudW1iZXIgaXMgYWx3YXlzIHJldHVybmVkCisgICAgICAgICAgICBzbiA9IHNlbGYuX2lzbmFuKCkKKyAgICAgICAgICAgIG9uID0gb3RoZXIuX2lzbmFuKCkKKyAgICAgICAgICAgIGlmIHNuIG9yIG9uOgorICAgICAgICAgICAgICAgIGlmIG9uID09IDEgYW5kIHNuID09IDA6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLl9maXgoY29udGV4dCkKKyAgICAgICAgICAgICAgICBpZiBzbiA9PSAxIGFuZCBvbiA9PSAwOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3RoZXIuX2ZpeChjb250ZXh0KQorICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLl9jaGVja19uYW5zKG90aGVyLCBjb250ZXh0KQorCisgICAgICAgIGMgPSBzZWxmLmNvcHlfYWJzKCkuX2NtcChvdGhlci5jb3B5X2FicygpKQorICAgICAgICBpZiBjID09IDA6CisgICAgICAgICAgICBjID0gc2VsZi5jb21wYXJlX3RvdGFsKG90aGVyKQorCisgICAgICAgIGlmIGMgPT0gLTE6CisgICAgICAgICAgICBhbnMgPSBvdGhlcgorICAgICAgICBlbHNlOgorICAgICAgICAgICAgYW5zID0gc2VsZgorCisgICAgICAgIHJldHVybiBhbnMuX2ZpeChjb250ZXh0KQorCisgICAgZGVmIG1pbl9tYWcoc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6CisgICAgICAgICIiIkNvbXBhcmVzIHRoZSB2YWx1ZXMgbnVtZXJpY2FsbHkgd2l0aCB0aGVpciBzaWduIGlnbm9yZWQuIiIiCisgICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIsIHJhaXNlaXQ9VHJ1ZSkKKworICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6CisgICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCisKKyAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbCBvciBvdGhlci5faXNfc3BlY2lhbDoKKyAgICAgICAgICAgICMgSWYgb25lIG9wZXJhbmQgaXMgYSBxdWlldCBOYU4gYW5kIHRoZSBvdGhlciBpcyBudW1iZXIsIHRoZW4gdGhlCisgICAgICAgICAgICAjIG51bWJlciBpcyBhbHdheXMgcmV0dXJuZWQKKyAgICAgICAgICAgIHNuID0gc2VsZi5faXNuYW4oKQorICAgICAgICAgICAgb24gPSBvdGhlci5faXNuYW4oKQorICAgICAgICAgICAgaWYgc24gb3Igb246CisgICAgICAgICAgICAgICAgaWYgb24gPT0gMSBhbmQgc24gPT0gMDoKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2ZpeChjb250ZXh0KQorICAgICAgICAgICAgICAgIGlmIHNuID09IDEgYW5kIG9uID09IDA6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBvdGhlci5fZml4KGNvbnRleHQpCisgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2NoZWNrX25hbnMob3RoZXIsIGNvbnRleHQpCisKKyAgICAgICAgYyA9IHNlbGYuY29weV9hYnMoKS5fY21wKG90aGVyLmNvcHlfYWJzKCkpCisgICAgICAgIGlmIGMgPT0gMDoKKyAgICAgICAgICAgIGMgPSBzZWxmLmNvbXBhcmVfdG90YWwob3RoZXIpCisKKyAgICAgICAgaWYgYyA9PSAtMToKKyAgICAgICAgICAgIGFucyA9IHNlbGYKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGFucyA9IG90aGVyCisKKyAgICAgICAgcmV0dXJuIGFucy5fZml4KGNvbnRleHQpCisKKyAgICBkZWYgbmV4dF9taW51cyhzZWxmLCBjb250ZXh0PU5vbmUpOgorICAgICAgICAiIiJSZXR1cm5zIHRoZSBsYXJnZXN0IHJlcHJlc2VudGFibGUgbnVtYmVyIHNtYWxsZXIgdGhhbiBpdHNlbGYuIiIiCisgICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKKyAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKKworICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKGNvbnRleHQ9Y29udGV4dCkKKyAgICAgICAgaWYgYW5zOgorICAgICAgICAgICAgcmV0dXJuIGFucworCisgICAgICAgIGlmIHNlbGYuX2lzaW5maW5pdHkoKSA9PSAtMToKKyAgICAgICAgICAgIHJldHVybiBfTmVnYXRpdmVJbmZpbml0eQorICAgICAgICBpZiBzZWxmLl9pc2luZmluaXR5KCkgPT0gMToKKyAgICAgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKDAsICc5Jypjb250ZXh0LnByZWMsIGNvbnRleHQuRXRvcCgpKQorCisgICAgICAgIGNvbnRleHQgPSBjb250ZXh0LmNvcHkoKQorICAgICAgICBjb250ZXh0Ll9zZXRfcm91bmRpbmcoUk9VTkRfRkxPT1IpCisgICAgICAgIGNvbnRleHQuX2lnbm9yZV9hbGxfZmxhZ3MoKQorICAgICAgICBuZXdfc2VsZiA9IHNlbGYuX2ZpeChjb250ZXh0KQorICAgICAgICBpZiBuZXdfc2VsZiAhPSBzZWxmOgorICAgICAgICAgICAgcmV0dXJuIG5ld19zZWxmCisgICAgICAgIHJldHVybiBzZWxmLl9fc3ViX18oX2RlY19mcm9tX3RyaXBsZSgwLCAnMScsIGNvbnRleHQuRXRpbnkoKS0xKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0KQorCisgICAgZGVmIG5leHRfcGx1cyhzZWxmLCBjb250ZXh0PU5vbmUpOgorICAgICAgICAiIiJSZXR1cm5zIHRoZSBzbWFsbGVzdCByZXByZXNlbnRhYmxlIG51bWJlciBsYXJnZXIgdGhhbiBpdHNlbGYuIiIiCisgICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKKyAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKKworICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKGNvbnRleHQ9Y29udGV4dCkKKyAgICAgICAgaWYgYW5zOgorICAgICAgICAgICAgcmV0dXJuIGFucworCisgICAgICAgIGlmIHNlbGYuX2lzaW5maW5pdHkoKSA9PSAxOgorICAgICAgICAgICAgcmV0dXJuIF9JbmZpbml0eQorICAgICAgICBpZiBzZWxmLl9pc2luZmluaXR5KCkgPT0gLTE6CisgICAgICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZSgxLCAnOScqY29udGV4dC5wcmVjLCBjb250ZXh0LkV0b3AoKSkKKworICAgICAgICBjb250ZXh0ID0gY29udGV4dC5jb3B5KCkKKyAgICAgICAgY29udGV4dC5fc2V0X3JvdW5kaW5nKFJPVU5EX0NFSUxJTkcpCisgICAgICAgIGNvbnRleHQuX2lnbm9yZV9hbGxfZmxhZ3MoKQorICAgICAgICBuZXdfc2VsZiA9IHNlbGYuX2ZpeChjb250ZXh0KQorICAgICAgICBpZiBuZXdfc2VsZiAhPSBzZWxmOgorICAgICAgICAgICAgcmV0dXJuIG5ld19zZWxmCisgICAgICAgIHJldHVybiBzZWxmLl9fYWRkX18oX2RlY19mcm9tX3RyaXBsZSgwLCAnMScsIGNvbnRleHQuRXRpbnkoKS0xKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0KQorCisgICAgZGVmIG5leHRfdG93YXJkKHNlbGYsIG90aGVyLCBjb250ZXh0PU5vbmUpOgorICAgICAgICAiIiJSZXR1cm5zIHRoZSBudW1iZXIgY2xvc2VzdCB0byBzZWxmLCBpbiB0aGUgZGlyZWN0aW9uIHRvd2FyZHMgb3RoZXIuCisKKyAgICAgICAgVGhlIHJlc3VsdCBpcyB0aGUgY2xvc2VzdCByZXByZXNlbnRhYmxlIG51bWJlciB0byBzZWxmCisgICAgICAgIChleGNsdWRpbmcgc2VsZikgdGhhdCBpcyBpbiB0aGUgZGlyZWN0aW9uIHRvd2FyZHMgb3RoZXIsCisgICAgICAgIHVubGVzcyBib3RoIGhhdmUgdGhlIHNhbWUgdmFsdWUuICBJZiB0aGUgdHdvIG9wZXJhbmRzIGFyZQorICAgICAgICBudW1lcmljYWxseSBlcXVhbCwgdGhlbiB0aGUgcmVzdWx0IGlzIGEgY29weSBvZiBzZWxmIHdpdGggdGhlCisgICAgICAgIHNpZ24gc2V0IHRvIGJlIHRoZSBzYW1lIGFzIHRoZSBzaWduIG9mIG90aGVyLgorICAgICAgICAiIiIKKyAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlciwgcmFpc2VpdD1UcnVlKQorCisgICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKKyAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKKworICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKG90aGVyLCBjb250ZXh0KQorICAgICAgICBpZiBhbnM6CisgICAgICAgICAgICByZXR1cm4gYW5zCisKKyAgICAgICAgY29tcGFyaXNvbiA9IHNlbGYuX2NtcChvdGhlcikKKyAgICAgICAgaWYgY29tcGFyaXNvbiA9PSAwOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuY29weV9zaWduKG90aGVyKQorCisgICAgICAgIGlmIGNvbXBhcmlzb24gPT0gLTE6CisgICAgICAgICAgICBhbnMgPSBzZWxmLm5leHRfcGx1cyhjb250ZXh0KQorICAgICAgICBlbHNlOiAjIGNvbXBhcmlzb24gPT0gMQorICAgICAgICAgICAgYW5zID0gc2VsZi5uZXh0X21pbnVzKGNvbnRleHQpCisKKyAgICAgICAgIyBkZWNpZGUgd2hpY2ggZmxhZ3MgdG8gcmFpc2UgdXNpbmcgdmFsdWUgb2YgYW5zCisgICAgICAgIGlmIGFucy5faXNpbmZpbml0eSgpOgorICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoT3ZlcmZsb3csCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5maW5pdGUgcmVzdWx0IGZyb20gbmV4dF90b3dhcmQnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5zLl9zaWduKQorICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoSW5leGFjdCkKKyAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKFJvdW5kZWQpCisgICAgICAgIGVsaWYgYW5zLmFkanVzdGVkKCkgPCBjb250ZXh0LkVtaW46CisgICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihVbmRlcmZsb3cpCisgICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihTdWJub3JtYWwpCisgICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbmV4YWN0KQorICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoUm91bmRlZCkKKyAgICAgICAgICAgICMgaWYgcHJlY2lzaW9uID09IDEgdGhlbiB3ZSBkb24ndCByYWlzZSBDbGFtcGVkIGZvciBhCisgICAgICAgICAgICAjIHJlc3VsdCAwRS1FdGlueS4KKyAgICAgICAgICAgIGlmIG5vdCBhbnM6CisgICAgICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoQ2xhbXBlZCkKKworICAgICAgICByZXR1cm4gYW5zCisKKyAgICBkZWYgbnVtYmVyX2NsYXNzKHNlbGYsIGNvbnRleHQ9Tm9uZSk6CisgICAgICAgICIiIlJldHVybnMgYW4gaW5kaWNhdGlvbiBvZiB0aGUgY2xhc3Mgb2Ygc2VsZi4KKworICAgICAgICBUaGUgY2xhc3MgaXMgb25lIG9mIHRoZSBmb2xsb3dpbmcgc3RyaW5nczoKKyAgICAgICAgICBzTmFOCisgICAgICAgICAgTmFOCisgICAgICAgICAgLUluZmluaXR5CisgICAgICAgICAgLU5vcm1hbAorICAgICAgICAgIC1TdWJub3JtYWwKKyAgICAgICAgICAtWmVybworICAgICAgICAgICtaZXJvCisgICAgICAgICAgK1N1Ym5vcm1hbAorICAgICAgICAgICtOb3JtYWwKKyAgICAgICAgICArSW5maW5pdHkKKyAgICAgICAgIiIiCisgICAgICAgIGlmIHNlbGYuaXNfc25hbigpOgorICAgICAgICAgICAgcmV0dXJuICJzTmFOIgorICAgICAgICBpZiBzZWxmLmlzX3FuYW4oKToKKyAgICAgICAgICAgIHJldHVybiAiTmFOIgorICAgICAgICBpbmYgPSBzZWxmLl9pc2luZmluaXR5KCkKKyAgICAgICAgaWYgaW5mID09IDE6CisgICAgICAgICAgICByZXR1cm4gIitJbmZpbml0eSIKKyAgICAgICAgaWYgaW5mID09IC0xOgorICAgICAgICAgICAgcmV0dXJuICItSW5maW5pdHkiCisgICAgICAgIGlmIHNlbGYuaXNfemVybygpOgorICAgICAgICAgICAgaWYgc2VsZi5fc2lnbjoKKyAgICAgICAgICAgICAgICByZXR1cm4gIi1aZXJvIgorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICByZXR1cm4gIitaZXJvIgorICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6CisgICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCisgICAgICAgIGlmIHNlbGYuaXNfc3Vibm9ybWFsKGNvbnRleHQ9Y29udGV4dCk6CisgICAgICAgICAgICBpZiBzZWxmLl9zaWduOgorICAgICAgICAgICAgICAgIHJldHVybiAiLVN1Ym5vcm1hbCIKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgcmV0dXJuICIrU3Vibm9ybWFsIgorICAgICAgICAjIGp1c3QgYSBub3JtYWwsIHJlZ3VsYXIsIGJvcmluZyBudW1iZXIsIDopCisgICAgICAgIGlmIHNlbGYuX3NpZ246CisgICAgICAgICAgICByZXR1cm4gIi1Ob3JtYWwiCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXR1cm4gIitOb3JtYWwiCisKKyAgICBkZWYgcmFkaXgoc2VsZik6CisgICAgICAgICIiIkp1c3QgcmV0dXJucyAxMCwgYXMgdGhpcyBpcyBEZWNpbWFsLCA6KSIiIgorICAgICAgICByZXR1cm4gRGVjaW1hbCgxMCkKKworICAgIGRlZiByb3RhdGUoc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6CisgICAgICAgICIiIlJldHVybnMgYSByb3RhdGVkIGNvcHkgb2Ygc2VsZiwgdmFsdWUtb2Ytb3RoZXIgdGltZXMuIiIiCisgICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKKyAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKKworICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyLCByYWlzZWl0PVRydWUpCisKKyAgICAgICAgYW5zID0gc2VsZi5fY2hlY2tfbmFucyhvdGhlciwgY29udGV4dCkKKyAgICAgICAgaWYgYW5zOgorICAgICAgICAgICAgcmV0dXJuIGFucworCisgICAgICAgIGlmIG90aGVyLl9leHAgIT0gMDoKKyAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uKQorICAgICAgICBpZiBub3QgKC1jb250ZXh0LnByZWMgPD0gaW50KG90aGVyKSA8PSBjb250ZXh0LnByZWMpOgorICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24pCisKKyAgICAgICAgaWYgc2VsZi5faXNpbmZpbml0eSgpOgorICAgICAgICAgICAgcmV0dXJuIERlY2ltYWwoc2VsZikKKworICAgICAgICAjIGdldCB2YWx1ZXMsIHBhZCBpZiBuZWNlc3NhcnkKKyAgICAgICAgdG9yb3QgPSBpbnQob3RoZXIpCisgICAgICAgIHJvdGRpZyA9IHNlbGYuX2ludAorICAgICAgICB0b3BhZCA9IGNvbnRleHQucHJlYyAtIGxlbihyb3RkaWcpCisgICAgICAgIGlmIHRvcGFkID4gMDoKKyAgICAgICAgICAgIHJvdGRpZyA9ICcwJyp0b3BhZCArIHJvdGRpZworICAgICAgICBlbGlmIHRvcGFkIDwgMDoKKyAgICAgICAgICAgIHJvdGRpZyA9IHJvdGRpZ1stdG9wYWQ6XQorCisgICAgICAgICMgbGV0J3Mgcm90YXRlIQorICAgICAgICByb3RhdGVkID0gcm90ZGlnW3Rvcm90Ol0gKyByb3RkaWdbOnRvcm90XQorICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZShzZWxmLl9zaWduLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3RhdGVkLmxzdHJpcCgnMCcpIG9yICcwJywgc2VsZi5fZXhwKQorCisgICAgZGVmIHNjYWxlYihzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKKyAgICAgICAgIiIiUmV0dXJucyBzZWxmIG9wZXJhbmQgYWZ0ZXIgYWRkaW5nIHRoZSBzZWNvbmQgdmFsdWUgdG8gaXRzIGV4cC4iIiIKKyAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgorICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQorCisgICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIsIHJhaXNlaXQ9VHJ1ZSkKKworICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKG90aGVyLCBjb250ZXh0KQorICAgICAgICBpZiBhbnM6CisgICAgICAgICAgICByZXR1cm4gYW5zCisKKyAgICAgICAgaWYgb3RoZXIuX2V4cCAhPSAwOgorICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24pCisgICAgICAgIGxpbWluZiA9IC0yICogKGNvbnRleHQuRW1heCArIGNvbnRleHQucHJlYykKKyAgICAgICAgbGltc3VwID0gIDIgKiAoY29udGV4dC5FbWF4ICsgY29udGV4dC5wcmVjKQorICAgICAgICBpZiBub3QgKGxpbWluZiA8PSBpbnQob3RoZXIpIDw9IGxpbXN1cCk6CisgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbikKKworICAgICAgICBpZiBzZWxmLl9pc2luZmluaXR5KCk6CisgICAgICAgICAgICByZXR1cm4gRGVjaW1hbChzZWxmKQorCisgICAgICAgIGQgPSBfZGVjX2Zyb21fdHJpcGxlKHNlbGYuX3NpZ24sIHNlbGYuX2ludCwgc2VsZi5fZXhwICsgaW50KG90aGVyKSkKKyAgICAgICAgZCA9IGQuX2ZpeChjb250ZXh0KQorICAgICAgICByZXR1cm4gZAorCisgICAgZGVmIHNoaWZ0KHNlbGYsIG90aGVyLCBjb250ZXh0PU5vbmUpOgorICAgICAgICAiIiJSZXR1cm5zIGEgc2hpZnRlZCBjb3B5IG9mIHNlbGYsIHZhbHVlLW9mLW90aGVyIHRpbWVzLiIiIgorICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6CisgICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCisKKyAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlciwgcmFpc2VpdD1UcnVlKQorCisgICAgICAgIGFucyA9IHNlbGYuX2NoZWNrX25hbnMob3RoZXIsIGNvbnRleHQpCisgICAgICAgIGlmIGFuczoKKyAgICAgICAgICAgIHJldHVybiBhbnMKKworICAgICAgICBpZiBvdGhlci5fZXhwICE9IDA6CisgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbikKKyAgICAgICAgaWYgbm90ICgtY29udGV4dC5wcmVjIDw9IGludChvdGhlcikgPD0gY29udGV4dC5wcmVjKToKKyAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uKQorCisgICAgICAgIGlmIHNlbGYuX2lzaW5maW5pdHkoKToKKyAgICAgICAgICAgIHJldHVybiBEZWNpbWFsKHNlbGYpCisKKyAgICAgICAgIyBnZXQgdmFsdWVzLCBwYWQgaWYgbmVjZXNzYXJ5CisgICAgICAgIHRvcm90ID0gaW50KG90aGVyKQorICAgICAgICByb3RkaWcgPSBzZWxmLl9pbnQKKyAgICAgICAgdG9wYWQgPSBjb250ZXh0LnByZWMgLSBsZW4ocm90ZGlnKQorICAgICAgICBpZiB0b3BhZCA+IDA6CisgICAgICAgICAgICByb3RkaWcgPSAnMCcqdG9wYWQgKyByb3RkaWcKKyAgICAgICAgZWxpZiB0b3BhZCA8IDA6CisgICAgICAgICAgICByb3RkaWcgPSByb3RkaWdbLXRvcGFkOl0KKworICAgICAgICAjIGxldCdzIHNoaWZ0IQorICAgICAgICBpZiB0b3JvdCA8IDA6CisgICAgICAgICAgICBzaGlmdGVkID0gcm90ZGlnWzp0b3JvdF0KKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNoaWZ0ZWQgPSByb3RkaWcgKyAnMCcqdG9yb3QKKyAgICAgICAgICAgIHNoaWZ0ZWQgPSBzaGlmdGVkWy1jb250ZXh0LnByZWM6XQorCisgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKHNlbGYuX3NpZ24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGlmdGVkLmxzdHJpcCgnMCcpIG9yICcwJywgc2VsZi5fZXhwKQorCisgICAgIyBTdXBwb3J0IGZvciBwaWNrbGluZywgY29weSwgYW5kIGRlZXBjb3B5CisgICAgZGVmIF9fcmVkdWNlX18oc2VsZik6CisgICAgICAgIHJldHVybiAoc2VsZi5fX2NsYXNzX18sIChzdHIoc2VsZiksKSkKKworICAgIGRlZiBfX2NvcHlfXyhzZWxmKToKKyAgICAgICAgaWYgdHlwZShzZWxmKSBpcyBEZWNpbWFsOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYgICAgICMgSSdtIGltbXV0YWJsZTsgdGhlcmVmb3JlIEkgYW0gbXkgb3duIGNsb25lCisgICAgICAgIHJldHVybiBzZWxmLl9fY2xhc3NfXyhzdHIoc2VsZikpCisKKyAgICBkZWYgX19kZWVwY29weV9fKHNlbGYsIG1lbW8pOgorICAgICAgICBpZiB0eXBlKHNlbGYpIGlzIERlY2ltYWw6CisgICAgICAgICAgICByZXR1cm4gc2VsZiAgICAgIyBNeSBjb21wb25lbnRzIGFyZSBhbHNvIGltbXV0YWJsZQorICAgICAgICByZXR1cm4gc2VsZi5fX2NsYXNzX18oc3RyKHNlbGYpKQorCisgICAgIyBQRVAgMzEwMSBzdXBwb3J0LiAgdGhlIF9sb2NhbGVjb252IGtleXdvcmQgYXJndW1lbnQgc2hvdWxkIGJlCisgICAgIyBjb25zaWRlcmVkIHByaXZhdGU6IGl0J3MgcHJvdmlkZWQgZm9yIGVhc2Ugb2YgdGVzdGluZyBvbmx5LgorICAgIGRlZiBfX2Zvcm1hdF9fKHNlbGYsIHNwZWNpZmllciwgY29udGV4dD1Ob25lLCBfbG9jYWxlY29udj1Ob25lKToKKyAgICAgICAgIiIiRm9ybWF0IGEgRGVjaW1hbCBpbnN0YW5jZSBhY2NvcmRpbmcgdG8gdGhlIGdpdmVuIHNwZWNpZmllci4KKworICAgICAgICBUaGUgc3BlY2lmaWVyIHNob3VsZCBiZSBhIHN0YW5kYXJkIGZvcm1hdCBzcGVjaWZpZXIsIHdpdGggdGhlCisgICAgICAgIGZvcm0gZGVzY3JpYmVkIGluIFBFUCAzMTAxLiAgRm9ybWF0dGluZyB0eXBlcyAnZScsICdFJywgJ2YnLAorICAgICAgICAnRicsICdnJywgJ0cnLCAnbicgYW5kICclJyBhcmUgc3VwcG9ydGVkLiAgSWYgdGhlIGZvcm1hdHRpbmcKKyAgICAgICAgdHlwZSBpcyBvbWl0dGVkIGl0IGRlZmF1bHRzIHRvICdnJyBvciAnRycsIGRlcGVuZGluZyBvbiB0aGUKKyAgICAgICAgdmFsdWUgb2YgY29udGV4dC5jYXBpdGFscy4KKyAgICAgICAgIiIiCisKKyAgICAgICAgIyBOb3RlOiBQRVAgMzEwMSBzYXlzIHRoYXQgaWYgdGhlIHR5cGUgaXMgbm90IHByZXNlbnQgdGhlbgorICAgICAgICAjIHRoZXJlIHNob3VsZCBiZSBhdCBsZWFzdCBvbmUgZGlnaXQgYWZ0ZXIgdGhlIGRlY2ltYWwgcG9pbnQuCisgICAgICAgICMgV2UgdGFrZSB0aGUgbGliZXJ0eSBvZiBpZ25vcmluZyB0aGlzIHJlcXVpcmVtZW50IGZvcgorICAgICAgICAjIERlY2ltYWwtLS1pdCdzIHByZXN1bWFibHkgdGhlcmUgdG8gbWFrZSBzdXJlIHRoYXQKKyAgICAgICAgIyBmb3JtYXQoZmxvYXQsICcnKSBiZWhhdmVzIHNpbWlsYXJseSB0byBzdHIoZmxvYXQpLgorICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6CisgICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCisKKyAgICAgICAgc3BlYyA9IF9wYXJzZV9mb3JtYXRfc3BlY2lmaWVyKHNwZWNpZmllciwgX2xvY2FsZWNvbnY9X2xvY2FsZWNvbnYpCisKKyAgICAgICAgIyBzcGVjaWFsIHZhbHVlcyBkb24ndCBjYXJlIGFib3V0IHRoZSB0eXBlIG9yIHByZWNpc2lvbgorICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsOgorICAgICAgICAgICAgc2lnbiA9IF9mb3JtYXRfc2lnbihzZWxmLl9zaWduLCBzcGVjKQorICAgICAgICAgICAgYm9keSA9IHN0cihzZWxmLmNvcHlfYWJzKCkpCisgICAgICAgICAgICBpZiBzcGVjWyd0eXBlJ10gPT0gJyUnOgorICAgICAgICAgICAgICAgIGJvZHkgKz0gJyUnCisgICAgICAgICAgICByZXR1cm4gX2Zvcm1hdF9hbGlnbihzaWduLCBib2R5LCBzcGVjKQorCisgICAgICAgICMgYSB0eXBlIG9mIE5vbmUgZGVmYXVsdHMgdG8gJ2cnIG9yICdHJywgZGVwZW5kaW5nIG9uIGNvbnRleHQKKyAgICAgICAgaWYgc3BlY1sndHlwZSddIGlzIE5vbmU6CisgICAgICAgICAgICBzcGVjWyd0eXBlJ10gPSBbJ2cnLCAnRyddW2NvbnRleHQuY2FwaXRhbHNdCisKKyAgICAgICAgIyBpZiB0eXBlIGlzICclJywgYWRqdXN0IGV4cG9uZW50IG9mIHNlbGYgYWNjb3JkaW5nbHkKKyAgICAgICAgaWYgc3BlY1sndHlwZSddID09ICclJzoKKyAgICAgICAgICAgIHNlbGYgPSBfZGVjX2Zyb21fdHJpcGxlKHNlbGYuX3NpZ24sIHNlbGYuX2ludCwgc2VsZi5fZXhwKzIpCisKKyAgICAgICAgIyByb3VuZCBpZiBuZWNlc3NhcnksIHRha2luZyByb3VuZGluZyBtb2RlIGZyb20gdGhlIGNvbnRleHQKKyAgICAgICAgcm91bmRpbmcgPSBjb250ZXh0LnJvdW5kaW5nCisgICAgICAgIHByZWNpc2lvbiA9IHNwZWNbJ3ByZWNpc2lvbiddCisgICAgICAgIGlmIHByZWNpc2lvbiBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGlmIHNwZWNbJ3R5cGUnXSBpbiAnZUUnOgorICAgICAgICAgICAgICAgIHNlbGYgPSBzZWxmLl9yb3VuZChwcmVjaXNpb24rMSwgcm91bmRpbmcpCisgICAgICAgICAgICBlbGlmIHNwZWNbJ3R5cGUnXSBpbiAnZkYlJzoKKyAgICAgICAgICAgICAgICBzZWxmID0gc2VsZi5fcmVzY2FsZSgtcHJlY2lzaW9uLCByb3VuZGluZykKKyAgICAgICAgICAgIGVsaWYgc3BlY1sndHlwZSddIGluICdnRycgYW5kIGxlbihzZWxmLl9pbnQpID4gcHJlY2lzaW9uOgorICAgICAgICAgICAgICAgIHNlbGYgPSBzZWxmLl9yb3VuZChwcmVjaXNpb24sIHJvdW5kaW5nKQorICAgICAgICAjIHNwZWNpYWwgY2FzZTogemVyb3Mgd2l0aCBhIHBvc2l0aXZlIGV4cG9uZW50IGNhbid0IGJlCisgICAgICAgICMgcmVwcmVzZW50ZWQgaW4gZml4ZWQgcG9pbnQ7IHJlc2NhbGUgdGhlbSB0byAwZTAuCisgICAgICAgIGlmIG5vdCBzZWxmIGFuZCBzZWxmLl9leHAgPiAwIGFuZCBzcGVjWyd0eXBlJ10gaW4gJ2ZGJSc6CisgICAgICAgICAgICBzZWxmID0gc2VsZi5fcmVzY2FsZSgwLCByb3VuZGluZykKKworICAgICAgICAjIGZpZ3VyZSBvdXQgcGxhY2VtZW50IG9mIHRoZSBkZWNpbWFsIHBvaW50CisgICAgICAgIGxlZnRkaWdpdHMgPSBzZWxmLl9leHAgKyBsZW4oc2VsZi5faW50KQorICAgICAgICBpZiBzcGVjWyd0eXBlJ10gaW4gJ2VFJzoKKyAgICAgICAgICAgIGlmIG5vdCBzZWxmIGFuZCBwcmVjaXNpb24gaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgZG90cGxhY2UgPSAxIC0gcHJlY2lzaW9uCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGRvdHBsYWNlID0gMQorICAgICAgICBlbGlmIHNwZWNbJ3R5cGUnXSBpbiAnZkYlJzoKKyAgICAgICAgICAgIGRvdHBsYWNlID0gbGVmdGRpZ2l0cworICAgICAgICBlbGlmIHNwZWNbJ3R5cGUnXSBpbiAnZ0cnOgorICAgICAgICAgICAgaWYgc2VsZi5fZXhwIDw9IDAgYW5kIGxlZnRkaWdpdHMgPiAtNjoKKyAgICAgICAgICAgICAgICBkb3RwbGFjZSA9IGxlZnRkaWdpdHMKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgZG90cGxhY2UgPSAxCisKKyAgICAgICAgIyBmaW5kIGRpZ2l0cyBiZWZvcmUgYW5kIGFmdGVyIGRlY2ltYWwgcG9pbnQsIGFuZCBnZXQgZXhwb25lbnQKKyAgICAgICAgaWYgZG90cGxhY2UgPCAwOgorICAgICAgICAgICAgaW50cGFydCA9ICcwJworICAgICAgICAgICAgZnJhY3BhcnQgPSAnMCcqKC1kb3RwbGFjZSkgKyBzZWxmLl9pbnQKKyAgICAgICAgZWxpZiBkb3RwbGFjZSA+IGxlbihzZWxmLl9pbnQpOgorICAgICAgICAgICAgaW50cGFydCA9IHNlbGYuX2ludCArICcwJyooZG90cGxhY2UtbGVuKHNlbGYuX2ludCkpCisgICAgICAgICAgICBmcmFjcGFydCA9ICcnCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBpbnRwYXJ0ID0gc2VsZi5faW50Wzpkb3RwbGFjZV0gb3IgJzAnCisgICAgICAgICAgICBmcmFjcGFydCA9IHNlbGYuX2ludFtkb3RwbGFjZTpdCisgICAgICAgIGV4cCA9IGxlZnRkaWdpdHMtZG90cGxhY2UKKworICAgICAgICAjIGRvbmUgd2l0aCB0aGUgZGVjaW1hbC1zcGVjaWZpYyBzdHVmZjsgIGhhbmQgb3ZlciB0aGUgcmVzdAorICAgICAgICAjIG9mIHRoZSBmb3JtYXR0aW5nIHRvIHRoZSBfZm9ybWF0X251bWJlciBmdW5jdGlvbgorICAgICAgICByZXR1cm4gX2Zvcm1hdF9udW1iZXIoc2VsZi5fc2lnbiwgaW50cGFydCwgZnJhY3BhcnQsIGV4cCwgc3BlYykKKworZGVmIF9kZWNfZnJvbV90cmlwbGUoc2lnbiwgY29lZmZpY2llbnQsIGV4cG9uZW50LCBzcGVjaWFsPUZhbHNlKToKKyAgICAiIiJDcmVhdGUgYSBkZWNpbWFsIGluc3RhbmNlIGRpcmVjdGx5LCB3aXRob3V0IGFueSB2YWxpZGF0aW9uLAorICAgIG5vcm1hbGl6YXRpb24gKGUuZy4gcmVtb3ZhbCBvZiBsZWFkaW5nIHplcm9zKSBvciBhcmd1bWVudAorICAgIGNvbnZlcnNpb24uCisKKyAgICBUaGlzIGZ1bmN0aW9uIGlzIGZvciAqaW50ZXJuYWwgdXNlIG9ubHkqLgorICAgICIiIgorCisgICAgc2VsZiA9IG9iamVjdC5fX25ld19fKERlY2ltYWwpCisgICAgc2VsZi5fc2lnbiA9IHNpZ24KKyAgICBzZWxmLl9pbnQgPSBjb2VmZmljaWVudAorICAgIHNlbGYuX2V4cCA9IGV4cG9uZW50CisgICAgc2VsZi5faXNfc3BlY2lhbCA9IHNwZWNpYWwKKworICAgIHJldHVybiBzZWxmCisKKyMgUmVnaXN0ZXIgRGVjaW1hbCBhcyBhIGtpbmQgb2YgTnVtYmVyIChhbiBhYnN0cmFjdCBiYXNlIGNsYXNzKS4KKyMgSG93ZXZlciwgZG8gbm90IHJlZ2lzdGVyIGl0IGFzIFJlYWwgKGJlY2F1c2UgRGVjaW1hbHMgYXJlIG5vdAorIyBpbnRlcm9wZXJhYmxlIHdpdGggZmxvYXRzKS4KK19udW1iZXJzLk51bWJlci5yZWdpc3RlcihEZWNpbWFsKQorCisKKyMjIyMjIENvbnRleHQgY2xhc3MgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCitjbGFzcyBfQ29udGV4dE1hbmFnZXIob2JqZWN0KToKKyAgICAiIiJDb250ZXh0IG1hbmFnZXIgY2xhc3MgdG8gc3VwcG9ydCBsb2NhbGNvbnRleHQoKS4KKworICAgICAgU2V0cyBhIGNvcHkgb2YgdGhlIHN1cHBsaWVkIGNvbnRleHQgaW4gX19lbnRlcl9fKCkgYW5kIHJlc3RvcmVzCisgICAgICB0aGUgcHJldmlvdXMgZGVjaW1hbCBjb250ZXh0IGluIF9fZXhpdF9fKCkKKyAgICAiIiIKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbmV3X2NvbnRleHQpOgorICAgICAgICBzZWxmLm5ld19jb250ZXh0ID0gbmV3X2NvbnRleHQuY29weSgpCisgICAgZGVmIF9fZW50ZXJfXyhzZWxmKToKKyAgICAgICAgc2VsZi5zYXZlZF9jb250ZXh0ID0gZ2V0Y29udGV4dCgpCisgICAgICAgIHNldGNvbnRleHQoc2VsZi5uZXdfY29udGV4dCkKKyAgICAgICAgcmV0dXJuIHNlbGYubmV3X2NvbnRleHQKKyAgICBkZWYgX19leGl0X18oc2VsZiwgdCwgdiwgdGIpOgorICAgICAgICBzZXRjb250ZXh0KHNlbGYuc2F2ZWRfY29udGV4dCkKKworY2xhc3MgQ29udGV4dChvYmplY3QpOgorICAgICIiIkNvbnRhaW5zIHRoZSBjb250ZXh0IGZvciBhIERlY2ltYWwgaW5zdGFuY2UuCisKKyAgICBDb250YWluczoKKyAgICBwcmVjIC0gcHJlY2lzaW9uIChmb3IgdXNlIGluIHJvdW5kaW5nLCBkaXZpc2lvbiwgc3F1YXJlIHJvb3RzLi4pCisgICAgcm91bmRpbmcgLSByb3VuZGluZyB0eXBlIChob3cgeW91IHJvdW5kKQorICAgIHRyYXBzIC0gSWYgdHJhcHNbZXhjZXB0aW9uXSA9IDEsIHRoZW4gdGhlIGV4Y2VwdGlvbiBpcworICAgICAgICAgICAgICAgICAgICByYWlzZWQgd2hlbiBpdCBpcyBjYXVzZWQuICBPdGhlcndpc2UsIGEgdmFsdWUgaXMKKyAgICAgICAgICAgICAgICAgICAgc3Vic3RpdHV0ZWQgaW4uCisgICAgZmxhZ3MgIC0gV2hlbiBhbiBleGNlcHRpb24gaXMgY2F1c2VkLCBmbGFnc1tleGNlcHRpb25dIGlzIHNldC4KKyAgICAgICAgICAgICAoV2hldGhlciBvciBub3QgdGhlIHRyYXBfZW5hYmxlciBpcyBzZXQpCisgICAgICAgICAgICAgU2hvdWxkIGJlIHJlc2V0IGJ5IHVzZXIgb2YgRGVjaW1hbCBpbnN0YW5jZS4KKyAgICBFbWluIC0gICBNaW5pbXVtIGV4cG9uZW50CisgICAgRW1heCAtICAgTWF4aW11bSBleHBvbmVudAorICAgIGNhcGl0YWxzIC0gICAgICBJZiAxLCAxKjEwXjEgaXMgcHJpbnRlZCBhcyAxRSsxLgorICAgICAgICAgICAgICAgICAgICBJZiAwLCBwcmludGVkIGFzIDFlMQorICAgIGNsYW1wIC0gIElmIDEsIGNoYW5nZSBleHBvbmVudHMgaWYgdG9vIGhpZ2ggKERlZmF1bHQgMCkKKyAgICAiIiIKKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwcmVjPU5vbmUsIHJvdW5kaW5nPU5vbmUsIEVtaW49Tm9uZSwgRW1heD1Ob25lLAorICAgICAgICAgICAgICAgICAgICAgICBjYXBpdGFscz1Ob25lLCBjbGFtcD1Ob25lLCBmbGFncz1Ob25lLCB0cmFwcz1Ob25lLAorICAgICAgICAgICAgICAgICAgICAgICBfaWdub3JlZF9mbGFncz1Ob25lKToKKyAgICAgICAgIyBTZXQgZGVmYXVsdHM7IGZvciBldmVyeXRoaW5nIGV4Y2VwdCBmbGFncyBhbmQgX2lnbm9yZWRfZmxhZ3MsCisgICAgICAgICMgaW5oZXJpdCBmcm9tIERlZmF1bHRDb250ZXh0LgorICAgICAgICB0cnk6CisgICAgICAgICAgICBkYyA9IERlZmF1bHRDb250ZXh0CisgICAgICAgIGV4Y2VwdCBOYW1lRXJyb3I6CisgICAgICAgICAgICBwYXNzCisKKyAgICAgICAgc2VsZi5wcmVjID0gcHJlYyBpZiBwcmVjIGlzIG5vdCBOb25lIGVsc2UgZGMucHJlYworICAgICAgICBzZWxmLnJvdW5kaW5nID0gcm91bmRpbmcgaWYgcm91bmRpbmcgaXMgbm90IE5vbmUgZWxzZSBkYy5yb3VuZGluZworICAgICAgICBzZWxmLkVtaW4gPSBFbWluIGlmIEVtaW4gaXMgbm90IE5vbmUgZWxzZSBkYy5FbWluCisgICAgICAgIHNlbGYuRW1heCA9IEVtYXggaWYgRW1heCBpcyBub3QgTm9uZSBlbHNlIGRjLkVtYXgKKyAgICAgICAgc2VsZi5jYXBpdGFscyA9IGNhcGl0YWxzIGlmIGNhcGl0YWxzIGlzIG5vdCBOb25lIGVsc2UgZGMuY2FwaXRhbHMKKyAgICAgICAgc2VsZi5jbGFtcCA9IGNsYW1wIGlmIGNsYW1wIGlzIG5vdCBOb25lIGVsc2UgZGMuY2xhbXAKKworICAgICAgICBpZiBfaWdub3JlZF9mbGFncyBpcyBOb25lOgorICAgICAgICAgICAgc2VsZi5faWdub3JlZF9mbGFncyA9IFtdCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLl9pZ25vcmVkX2ZsYWdzID0gX2lnbm9yZWRfZmxhZ3MKKworICAgICAgICBpZiB0cmFwcyBpcyBOb25lOgorICAgICAgICAgICAgc2VsZi50cmFwcyA9IGRjLnRyYXBzLmNvcHkoKQorICAgICAgICBlbGlmIG5vdCBpc2luc3RhbmNlKHRyYXBzLCBkaWN0KToKKyAgICAgICAgICAgIHNlbGYudHJhcHMgPSBkaWN0KChzLCBpbnQocyBpbiB0cmFwcykpIGZvciBzIGluIF9zaWduYWxzICsgdHJhcHMpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLnRyYXBzID0gdHJhcHMKKworICAgICAgICBpZiBmbGFncyBpcyBOb25lOgorICAgICAgICAgICAgc2VsZi5mbGFncyA9IGRpY3QuZnJvbWtleXMoX3NpZ25hbHMsIDApCisgICAgICAgIGVsaWYgbm90IGlzaW5zdGFuY2UoZmxhZ3MsIGRpY3QpOgorICAgICAgICAgICAgc2VsZi5mbGFncyA9IGRpY3QoKHMsIGludChzIGluIGZsYWdzKSkgZm9yIHMgaW4gX3NpZ25hbHMgKyBmbGFncykKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuZmxhZ3MgPSBmbGFncworCisgICAgZGVmIF9zZXRfaW50ZWdlcl9jaGVjayhzZWxmLCBuYW1lLCB2YWx1ZSwgdm1pbiwgdm1heCk6CisgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKHZhbHVlLCBpbnQpOgorICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCIlcyBtdXN0IGJlIGFuIGludGVnZXIiICUgbmFtZSkKKyAgICAgICAgaWYgdm1pbiA9PSAnLWluZic6CisgICAgICAgICAgICBpZiB2YWx1ZSA+IHZtYXg6CisgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiJXMgbXVzdCBiZSBpbiBbJXMsICVkXS4gZ290OiAlcyIgJSAobmFtZSwgdm1pbiwgdm1heCwgdmFsdWUpKQorICAgICAgICBlbGlmIHZtYXggPT0gJ2luZic6CisgICAgICAgICAgICBpZiB2YWx1ZSA8IHZtaW46CisgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiJXMgbXVzdCBiZSBpbiBbJWQsICVzXS4gZ290OiAlcyIgJSAobmFtZSwgdm1pbiwgdm1heCwgdmFsdWUpKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgaWYgdmFsdWUgPCB2bWluIG9yIHZhbHVlID4gdm1heDoKKyAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCIlcyBtdXN0IGJlIGluIFslZCwgJWRdLiBnb3QgJXMiICUgKG5hbWUsIHZtaW4sIHZtYXgsIHZhbHVlKSkKKyAgICAgICAgcmV0dXJuIG9iamVjdC5fX3NldGF0dHJfXyhzZWxmLCBuYW1lLCB2YWx1ZSkKKworICAgIGRlZiBfc2V0X3NpZ25hbF9kaWN0KHNlbGYsIG5hbWUsIGQpOgorICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShkLCBkaWN0KToKKyAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiJXMgbXVzdCBiZSBhIHNpZ25hbCBkaWN0IiAlIGQpCisgICAgICAgIGZvciBrZXkgaW4gZDoKKyAgICAgICAgICAgIGlmIG5vdCBrZXkgaW4gX3NpZ25hbHM6CisgICAgICAgICAgICAgICAgcmFpc2UgS2V5RXJyb3IoIiVzIGlzIG5vdCBhIHZhbGlkIHNpZ25hbCBkaWN0IiAlIGQpCisgICAgICAgIGZvciBrZXkgaW4gX3NpZ25hbHM6CisgICAgICAgICAgICBpZiBub3Qga2V5IGluIGQ6CisgICAgICAgICAgICAgICAgcmFpc2UgS2V5RXJyb3IoIiVzIGlzIG5vdCBhIHZhbGlkIHNpZ25hbCBkaWN0IiAlIGQpCisgICAgICAgIHJldHVybiBvYmplY3QuX19zZXRhdHRyX18oc2VsZiwgbmFtZSwgZCkKKworICAgIGRlZiBfX3NldGF0dHJfXyhzZWxmLCBuYW1lLCB2YWx1ZSk6CisgICAgICAgIGlmIG5hbWUgPT0gJ3ByZWMnOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3NldF9pbnRlZ2VyX2NoZWNrKG5hbWUsIHZhbHVlLCAxLCAnaW5mJykKKyAgICAgICAgZWxpZiBuYW1lID09ICdFbWluJzoKKyAgICAgICAgICAgIHJldHVybiBzZWxmLl9zZXRfaW50ZWdlcl9jaGVjayhuYW1lLCB2YWx1ZSwgJy1pbmYnLCAwKQorICAgICAgICBlbGlmIG5hbWUgPT0gJ0VtYXgnOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3NldF9pbnRlZ2VyX2NoZWNrKG5hbWUsIHZhbHVlLCAwLCAnaW5mJykKKyAgICAgICAgZWxpZiBuYW1lID09ICdjYXBpdGFscyc6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fc2V0X2ludGVnZXJfY2hlY2sobmFtZSwgdmFsdWUsIDAsIDEpCisgICAgICAgIGVsaWYgbmFtZSA9PSAnY2xhbXAnOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3NldF9pbnRlZ2VyX2NoZWNrKG5hbWUsIHZhbHVlLCAwLCAxKQorICAgICAgICBlbGlmIG5hbWUgPT0gJ3JvdW5kaW5nJzoKKyAgICAgICAgICAgIGlmIG5vdCB2YWx1ZSBpbiBfcm91bmRpbmdfbW9kZXM6CisgICAgICAgICAgICAgICAgIyByYWlzZSBUeXBlRXJyb3IgZXZlbiBmb3Igc3RyaW5ncyB0byBoYXZlIGNvbnNpc3RlbmN5CisgICAgICAgICAgICAgICAgIyBhbW9uZyB2YXJpb3VzIGltcGxlbWVudGF0aW9ucy4KKyAgICAgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoIiVzOiBpbnZhbGlkIHJvdW5kaW5nIG1vZGUiICUgdmFsdWUpCisgICAgICAgICAgICByZXR1cm4gb2JqZWN0Ll9fc2V0YXR0cl9fKHNlbGYsIG5hbWUsIHZhbHVlKQorICAgICAgICBlbGlmIG5hbWUgPT0gJ2ZsYWdzJyBvciBuYW1lID09ICd0cmFwcyc6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fc2V0X3NpZ25hbF9kaWN0KG5hbWUsIHZhbHVlKQorICAgICAgICBlbGlmIG5hbWUgPT0gJ19pZ25vcmVkX2ZsYWdzJzoKKyAgICAgICAgICAgIHJldHVybiBvYmplY3QuX19zZXRhdHRyX18oc2VsZiwgbmFtZSwgdmFsdWUpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByYWlzZSBBdHRyaWJ1dGVFcnJvcigKKyAgICAgICAgICAgICAgICAiJ2RlY2ltYWwuQ29udGV4dCcgb2JqZWN0IGhhcyBubyBhdHRyaWJ1dGUgJyVzJyIgJSBuYW1lKQorCisgICAgZGVmIF9fZGVsYXR0cl9fKHNlbGYsIG5hbWUpOgorICAgICAgICByYWlzZSBBdHRyaWJ1dGVFcnJvcigiJXMgY2Fubm90IGJlIGRlbGV0ZWQiICUgbmFtZSkKKworICAgICMgU3VwcG9ydCBmb3IgcGlja2xpbmcsIGNvcHksIGFuZCBkZWVwY29weQorICAgIGRlZiBfX3JlZHVjZV9fKHNlbGYpOgorICAgICAgICBmbGFncyA9IFtzaWcgZm9yIHNpZywgdiBpbiBzZWxmLmZsYWdzLml0ZW1zKCkgaWYgdl0KKyAgICAgICAgdHJhcHMgPSBbc2lnIGZvciBzaWcsIHYgaW4gc2VsZi50cmFwcy5pdGVtcygpIGlmIHZdCisgICAgICAgIHJldHVybiAoc2VsZi5fX2NsYXNzX18sCisgICAgICAgICAgICAgICAgKHNlbGYucHJlYywgc2VsZi5yb3VuZGluZywgc2VsZi5FbWluLCBzZWxmLkVtYXgsCisgICAgICAgICAgICAgICAgIHNlbGYuY2FwaXRhbHMsIHNlbGYuY2xhbXAsIGZsYWdzLCB0cmFwcykpCisKKyAgICBkZWYgX19yZXByX18oc2VsZik6CisgICAgICAgICIiIlNob3cgdGhlIGN1cnJlbnQgY29udGV4dC4iIiIKKyAgICAgICAgcyA9IFtdCisgICAgICAgIHMuYXBwZW5kKCdDb250ZXh0KHByZWM9JShwcmVjKWQsIHJvdW5kaW5nPSUocm91bmRpbmcpcywgJworICAgICAgICAgICAgICAgICAnRW1pbj0lKEVtaW4pZCwgRW1heD0lKEVtYXgpZCwgY2FwaXRhbHM9JShjYXBpdGFscylkLCAnCisgICAgICAgICAgICAgICAgICdjbGFtcD0lKGNsYW1wKWQnCisgICAgICAgICAgICAgICAgICUgdmFycyhzZWxmKSkKKyAgICAgICAgbmFtZXMgPSBbZi5fX25hbWVfXyBmb3IgZiwgdiBpbiBzZWxmLmZsYWdzLml0ZW1zKCkgaWYgdl0KKyAgICAgICAgcy5hcHBlbmQoJ2ZsYWdzPVsnICsgJywgJy5qb2luKG5hbWVzKSArICddJykKKyAgICAgICAgbmFtZXMgPSBbdC5fX25hbWVfXyBmb3IgdCwgdiBpbiBzZWxmLnRyYXBzLml0ZW1zKCkgaWYgdl0KKyAgICAgICAgcy5hcHBlbmQoJ3RyYXBzPVsnICsgJywgJy5qb2luKG5hbWVzKSArICddJykKKyAgICAgICAgcmV0dXJuICcsICcuam9pbihzKSArICcpJworCisgICAgZGVmIGNsZWFyX2ZsYWdzKHNlbGYpOgorICAgICAgICAiIiJSZXNldCBhbGwgZmxhZ3MgdG8gemVybyIiIgorICAgICAgICBmb3IgZmxhZyBpbiBzZWxmLmZsYWdzOgorICAgICAgICAgICAgc2VsZi5mbGFnc1tmbGFnXSA9IDAKKworICAgIGRlZiBjbGVhcl90cmFwcyhzZWxmKToKKyAgICAgICAgIiIiUmVzZXQgYWxsIHRyYXBzIHRvIHplcm8iIiIKKyAgICAgICAgZm9yIGZsYWcgaW4gc2VsZi50cmFwczoKKyAgICAgICAgICAgIHNlbGYudHJhcHNbZmxhZ10gPSAwCisKKyAgICBkZWYgX3NoYWxsb3dfY29weShzZWxmKToKKyAgICAgICAgIiIiUmV0dXJucyBhIHNoYWxsb3cgY29weSBmcm9tIHNlbGYuIiIiCisgICAgICAgIG5jID0gQ29udGV4dChzZWxmLnByZWMsIHNlbGYucm91bmRpbmcsIHNlbGYuRW1pbiwgc2VsZi5FbWF4LAorICAgICAgICAgICAgICAgICAgICAgc2VsZi5jYXBpdGFscywgc2VsZi5jbGFtcCwgc2VsZi5mbGFncywgc2VsZi50cmFwcywKKyAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2lnbm9yZWRfZmxhZ3MpCisgICAgICAgIHJldHVybiBuYworCisgICAgZGVmIGNvcHkoc2VsZik6CisgICAgICAgICIiIlJldHVybnMgYSBkZWVwIGNvcHkgZnJvbSBzZWxmLiIiIgorICAgICAgICBuYyA9IENvbnRleHQoc2VsZi5wcmVjLCBzZWxmLnJvdW5kaW5nLCBzZWxmLkVtaW4sIHNlbGYuRW1heCwKKyAgICAgICAgICAgICAgICAgICAgIHNlbGYuY2FwaXRhbHMsIHNlbGYuY2xhbXAsCisgICAgICAgICAgICAgICAgICAgICBzZWxmLmZsYWdzLmNvcHkoKSwgc2VsZi50cmFwcy5jb3B5KCksCisgICAgICAgICAgICAgICAgICAgICBzZWxmLl9pZ25vcmVkX2ZsYWdzKQorICAgICAgICByZXR1cm4gbmMKKyAgICBfX2NvcHlfXyA9IGNvcHkKKworICAgIGRlZiBfcmFpc2VfZXJyb3Ioc2VsZiwgY29uZGl0aW9uLCBleHBsYW5hdGlvbiA9IE5vbmUsICphcmdzKToKKyAgICAgICAgIiIiSGFuZGxlcyBhbiBlcnJvcgorCisgICAgICAgIElmIHRoZSBmbGFnIGlzIGluIF9pZ25vcmVkX2ZsYWdzLCByZXR1cm5zIHRoZSBkZWZhdWx0IHJlc3BvbnNlLgorICAgICAgICBPdGhlcndpc2UsIGl0IHNldHMgdGhlIGZsYWcsIHRoZW4sIGlmIHRoZSBjb3JyZXNwb25kaW5nCisgICAgICAgIHRyYXBfZW5hYmxlciBpcyBzZXQsIGl0IHJlcmFpc2VzIHRoZSBleGNlcHRpb24uICBPdGhlcndpc2UsIGl0IHJldHVybnMKKyAgICAgICAgdGhlIGRlZmF1bHQgdmFsdWUgYWZ0ZXIgc2V0dGluZyB0aGUgZmxhZy4KKyAgICAgICAgIiIiCisgICAgICAgIGVycm9yID0gX2NvbmRpdGlvbl9tYXAuZ2V0KGNvbmRpdGlvbiwgY29uZGl0aW9uKQorICAgICAgICBpZiBlcnJvciBpbiBzZWxmLl9pZ25vcmVkX2ZsYWdzOgorICAgICAgICAgICAgIyBEb24ndCB0b3VjaCB0aGUgZmxhZworICAgICAgICAgICAgcmV0dXJuIGVycm9yKCkuaGFuZGxlKHNlbGYsICphcmdzKQorCisgICAgICAgIHNlbGYuZmxhZ3NbZXJyb3JdID0gMQorICAgICAgICBpZiBub3Qgc2VsZi50cmFwc1tlcnJvcl06CisgICAgICAgICAgICAjIFRoZSBlcnJvcnMgZGVmaW5lIGhvdyB0byBoYW5kbGUgdGhlbXNlbHZlcy4KKyAgICAgICAgICAgIHJldHVybiBjb25kaXRpb24oKS5oYW5kbGUoc2VsZiwgKmFyZ3MpCisKKyAgICAgICAgIyBFcnJvcnMgc2hvdWxkIG9ubHkgYmUgcmlza2VkIG9uIGNvcGllcyBvZiB0aGUgY29udGV4dAorICAgICAgICAjIHNlbGYuX2lnbm9yZWRfZmxhZ3MgPSBbXQorICAgICAgICByYWlzZSBlcnJvcihleHBsYW5hdGlvbikKKworICAgIGRlZiBfaWdub3JlX2FsbF9mbGFncyhzZWxmKToKKyAgICAgICAgIiIiSWdub3JlIGFsbCBmbGFncywgaWYgdGhleSBhcmUgcmFpc2VkIiIiCisgICAgICAgIHJldHVybiBzZWxmLl9pZ25vcmVfZmxhZ3MoKl9zaWduYWxzKQorCisgICAgZGVmIF9pZ25vcmVfZmxhZ3Moc2VsZiwgKmZsYWdzKToKKyAgICAgICAgIiIiSWdub3JlIHRoZSBmbGFncywgaWYgdGhleSBhcmUgcmFpc2VkIiIiCisgICAgICAgICMgRG8gbm90IG11dGF0ZS0tIFRoaXMgd2F5LCBjb3BpZXMgb2YgYSBjb250ZXh0IGxlYXZlIHRoZSBvcmlnaW5hbAorICAgICAgICAjIGFsb25lLgorICAgICAgICBzZWxmLl9pZ25vcmVkX2ZsYWdzID0gKHNlbGYuX2lnbm9yZWRfZmxhZ3MgKyBsaXN0KGZsYWdzKSkKKyAgICAgICAgcmV0dXJuIGxpc3QoZmxhZ3MpCisKKyAgICBkZWYgX3JlZ2FyZF9mbGFncyhzZWxmLCAqZmxhZ3MpOgorICAgICAgICAiIiJTdG9wIGlnbm9yaW5nIHRoZSBmbGFncywgaWYgdGhleSBhcmUgcmFpc2VkIiIiCisgICAgICAgIGlmIGZsYWdzIGFuZCBpc2luc3RhbmNlKGZsYWdzWzBdLCAodHVwbGUsbGlzdCkpOgorICAgICAgICAgICAgZmxhZ3MgPSBmbGFnc1swXQorICAgICAgICBmb3IgZmxhZyBpbiBmbGFnczoKKyAgICAgICAgICAgIHNlbGYuX2lnbm9yZWRfZmxhZ3MucmVtb3ZlKGZsYWcpCisKKyAgICAjIFdlIGluaGVyaXQgb2JqZWN0Ll9faGFzaF9fLCBzbyB3ZSBtdXN0IGRlbnkgdGhpcyBleHBsaWNpdGx5CisgICAgX19oYXNoX18gPSBOb25lCisKKyAgICBkZWYgRXRpbnkoc2VsZik6CisgICAgICAgICIiIlJldHVybnMgRXRpbnkgKD0gRW1pbiAtIHByZWMgKyAxKSIiIgorICAgICAgICByZXR1cm4gaW50KHNlbGYuRW1pbiAtIHNlbGYucHJlYyArIDEpCisKKyAgICBkZWYgRXRvcChzZWxmKToKKyAgICAgICAgIiIiUmV0dXJucyBtYXhpbXVtIGV4cG9uZW50ICg9IEVtYXggLSBwcmVjICsgMSkiIiIKKyAgICAgICAgcmV0dXJuIGludChzZWxmLkVtYXggLSBzZWxmLnByZWMgKyAxKQorCisgICAgZGVmIF9zZXRfcm91bmRpbmcoc2VsZiwgdHlwZSk6CisgICAgICAgICIiIlNldHMgdGhlIHJvdW5kaW5nIHR5cGUuCisKKyAgICAgICAgU2V0cyB0aGUgcm91bmRpbmcgdHlwZSwgYW5kIHJldHVybnMgdGhlIGN1cnJlbnQgKHByZXZpb3VzKQorICAgICAgICByb3VuZGluZyB0eXBlLiAgT2Z0ZW4gdXNlZCBsaWtlOgorCisgICAgICAgIGNvbnRleHQgPSBjb250ZXh0LmNvcHkoKQorICAgICAgICAjIHNvIHlvdSBkb24ndCBjaGFuZ2UgdGhlIGNhbGxpbmcgY29udGV4dAorICAgICAgICAjIGlmIGFuIGVycm9yIG9jY3VycyBpbiB0aGUgbWlkZGxlLgorICAgICAgICByb3VuZGluZyA9IGNvbnRleHQuX3NldF9yb3VuZGluZyhST1VORF9VUCkKKyAgICAgICAgdmFsID0gc2VsZi5fX3N1Yl9fKG90aGVyLCBjb250ZXh0PWNvbnRleHQpCisgICAgICAgIGNvbnRleHQuX3NldF9yb3VuZGluZyhyb3VuZGluZykKKworICAgICAgICBUaGlzIHdpbGwgbWFrZSBpdCByb3VuZCB1cCBmb3IgdGhhdCBvcGVyYXRpb24uCisgICAgICAgICIiIgorICAgICAgICByb3VuZGluZyA9IHNlbGYucm91bmRpbmcKKyAgICAgICAgc2VsZi5yb3VuZGluZz0gdHlwZQorICAgICAgICByZXR1cm4gcm91bmRpbmcKKworICAgIGRlZiBjcmVhdGVfZGVjaW1hbChzZWxmLCBudW09JzAnKToKKyAgICAgICAgIiIiQ3JlYXRlcyBhIG5ldyBEZWNpbWFsIGluc3RhbmNlIGJ1dCB1c2luZyBzZWxmIGFzIGNvbnRleHQuCisKKyAgICAgICAgVGhpcyBtZXRob2QgaW1wbGVtZW50cyB0aGUgdG8tbnVtYmVyIG9wZXJhdGlvbiBvZiB0aGUKKyAgICAgICAgSUJNIERlY2ltYWwgc3BlY2lmaWNhdGlvbi4iIiIKKworICAgICAgICBpZiBpc2luc3RhbmNlKG51bSwgc3RyKSBhbmQgbnVtICE9IG51bS5zdHJpcCgpOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3JhaXNlX2Vycm9yKENvbnZlcnNpb25TeW50YXgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5vIHRyYWlsaW5nIG9yIGxlYWRpbmcgd2hpdGVzcGFjZSBpcyAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBlcm1pdHRlZC4iKQorCisgICAgICAgIGQgPSBEZWNpbWFsKG51bSwgY29udGV4dD1zZWxmKQorICAgICAgICBpZiBkLl9pc25hbigpIGFuZCBsZW4oZC5faW50KSA+IHNlbGYucHJlYyAtIHNlbGYuY2xhbXA6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fcmFpc2VfZXJyb3IoQ29udmVyc2lvblN5bnRheCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlhZ25vc3RpYyBpbmZvIHRvbyBsb25nIGluIE5hTiIpCisgICAgICAgIHJldHVybiBkLl9maXgoc2VsZikKKworICAgIGRlZiBjcmVhdGVfZGVjaW1hbF9mcm9tX2Zsb2F0KHNlbGYsIGYpOgorICAgICAgICAiIiJDcmVhdGVzIGEgbmV3IERlY2ltYWwgaW5zdGFuY2UgZnJvbSBhIGZsb2F0IGJ1dCByb3VuZGluZyB1c2luZyBzZWxmCisgICAgICAgIGFzIHRoZSBjb250ZXh0LgorCisgICAgICAgID4+PiBjb250ZXh0ID0gQ29udGV4dChwcmVjPTUsIHJvdW5kaW5nPVJPVU5EX0RPV04pCisgICAgICAgID4+PiBjb250ZXh0LmNyZWF0ZV9kZWNpbWFsX2Zyb21fZmxvYXQoMy4xNDE1OTI2NTM1ODk3OTMyKQorICAgICAgICBEZWNpbWFsKCczLjE0MTUnKQorICAgICAgICA+Pj4gY29udGV4dCA9IENvbnRleHQocHJlYz01LCB0cmFwcz1bSW5leGFjdF0pCisgICAgICAgID4+PiBjb250ZXh0LmNyZWF0ZV9kZWNpbWFsX2Zyb21fZmxvYXQoMy4xNDE1OTI2NTM1ODk3OTMyKQorICAgICAgICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CisgICAgICAgICAgICAuLi4KKyAgICAgICAgZGVjaW1hbC5JbmV4YWN0OiBOb25lCisKKyAgICAgICAgIiIiCisgICAgICAgIGQgPSBEZWNpbWFsLmZyb21fZmxvYXQoZikgICAgICAgIyBBbiBleGFjdCBjb252ZXJzaW9uCisgICAgICAgIHJldHVybiBkLl9maXgoc2VsZikgICAgICAgICAgICAgIyBBcHBseSB0aGUgY29udGV4dCByb3VuZGluZworCisgICAgIyBNZXRob2RzCisgICAgZGVmIGFicyhzZWxmLCBhKToKKyAgICAgICAgIiIiUmV0dXJucyB0aGUgYWJzb2x1dGUgdmFsdWUgb2YgdGhlIG9wZXJhbmQuCisKKyAgICAgICAgSWYgdGhlIG9wZXJhbmQgaXMgbmVnYXRpdmUsIHRoZSByZXN1bHQgaXMgdGhlIHNhbWUgYXMgdXNpbmcgdGhlIG1pbnVzCisgICAgICAgIG9wZXJhdGlvbiBvbiB0aGUgb3BlcmFuZC4gIE90aGVyd2lzZSwgdGhlIHJlc3VsdCBpcyB0aGUgc2FtZSBhcyB1c2luZworICAgICAgICB0aGUgcGx1cyBvcGVyYXRpb24gb24gdGhlIG9wZXJhbmQuCisKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5hYnMoRGVjaW1hbCgnMi4xJykpCisgICAgICAgIERlY2ltYWwoJzIuMScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuYWJzKERlY2ltYWwoJy0xMDAnKSkKKyAgICAgICAgRGVjaW1hbCgnMTAwJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5hYnMoRGVjaW1hbCgnMTAxLjUnKSkKKyAgICAgICAgRGVjaW1hbCgnMTAxLjUnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmFicyhEZWNpbWFsKCctMTAxLjUnKSkKKyAgICAgICAgRGVjaW1hbCgnMTAxLjUnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmFicygtMSkKKyAgICAgICAgRGVjaW1hbCgnMScpCisgICAgICAgICIiIgorICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQorICAgICAgICByZXR1cm4gYS5fX2Fic19fKGNvbnRleHQ9c2VsZikKKworICAgIGRlZiBhZGQoc2VsZiwgYSwgYik6CisgICAgICAgICIiIlJldHVybiB0aGUgc3VtIG9mIHRoZSB0d28gb3BlcmFuZHMuCisKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5hZGQoRGVjaW1hbCgnMTInKSwgRGVjaW1hbCgnNy4wMCcpKQorICAgICAgICBEZWNpbWFsKCcxOS4wMCcpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuYWRkKERlY2ltYWwoJzFFKzInKSwgRGVjaW1hbCgnMS4wMUUrNCcpKQorICAgICAgICBEZWNpbWFsKCcxLjAyRSs0JykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5hZGQoMSwgRGVjaW1hbCgyKSkKKyAgICAgICAgRGVjaW1hbCgnMycpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuYWRkKERlY2ltYWwoOCksIDUpCisgICAgICAgIERlY2ltYWwoJzEzJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5hZGQoNSwgNSkKKyAgICAgICAgRGVjaW1hbCgnMTAnKQorICAgICAgICAiIiIKKyAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKKyAgICAgICAgciA9IGEuX19hZGRfXyhiLCBjb250ZXh0PXNlbGYpCisgICAgICAgIGlmIHIgaXMgTm90SW1wbGVtZW50ZWQ6CisgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoIlVuYWJsZSB0byBjb252ZXJ0ICVzIHRvIERlY2ltYWwiICUgYikKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiByCisKKyAgICBkZWYgX2FwcGx5KHNlbGYsIGEpOgorICAgICAgICByZXR1cm4gc3RyKGEuX2ZpeChzZWxmKSkKKworICAgIGRlZiBjYW5vbmljYWwoc2VsZiwgYSk6CisgICAgICAgICIiIlJldHVybnMgdGhlIHNhbWUgRGVjaW1hbCBvYmplY3QuCisKKyAgICAgICAgQXMgd2UgZG8gbm90IGhhdmUgZGlmZmVyZW50IGVuY29kaW5ncyBmb3IgdGhlIHNhbWUgbnVtYmVyLCB0aGUKKyAgICAgICAgcmVjZWl2ZWQgb2JqZWN0IGFscmVhZHkgaXMgaW4gaXRzIGNhbm9uaWNhbCBmb3JtLgorCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY2Fub25pY2FsKERlY2ltYWwoJzIuNTAnKSkKKyAgICAgICAgRGVjaW1hbCgnMi41MCcpCisgICAgICAgICIiIgorICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShhLCBEZWNpbWFsKToKKyAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiY2Fub25pY2FsIHJlcXVpcmVzIGEgRGVjaW1hbCBhcyBhbiBhcmd1bWVudC4iKQorICAgICAgICByZXR1cm4gYS5jYW5vbmljYWwoKQorCisgICAgZGVmIGNvbXBhcmUoc2VsZiwgYSwgYik6CisgICAgICAgICIiIkNvbXBhcmVzIHZhbHVlcyBudW1lcmljYWxseS4KKworICAgICAgICBJZiB0aGUgc2lnbnMgb2YgdGhlIG9wZXJhbmRzIGRpZmZlciwgYSB2YWx1ZSByZXByZXNlbnRpbmcgZWFjaCBvcGVyYW5kCisgICAgICAgICgnLTEnIGlmIHRoZSBvcGVyYW5kIGlzIGxlc3MgdGhhbiB6ZXJvLCAnMCcgaWYgdGhlIG9wZXJhbmQgaXMgemVybyBvcgorICAgICAgICBuZWdhdGl2ZSB6ZXJvLCBvciAnMScgaWYgdGhlIG9wZXJhbmQgaXMgZ3JlYXRlciB0aGFuIHplcm8pIGlzIHVzZWQgaW4KKyAgICAgICAgcGxhY2Ugb2YgdGhhdCBvcGVyYW5kIGZvciB0aGUgY29tcGFyaXNvbiBpbnN0ZWFkIG9mIHRoZSBhY3R1YWwKKyAgICAgICAgb3BlcmFuZC4KKworICAgICAgICBUaGUgY29tcGFyaXNvbiBpcyB0aGVuIGVmZmVjdGVkIGJ5IHN1YnRyYWN0aW5nIHRoZSBzZWNvbmQgb3BlcmFuZCBmcm9tCisgICAgICAgIHRoZSBmaXJzdCBhbmQgdGhlbiByZXR1cm5pbmcgYSB2YWx1ZSBhY2NvcmRpbmcgdG8gdGhlIHJlc3VsdCBvZiB0aGUKKyAgICAgICAgc3VidHJhY3Rpb246ICctMScgaWYgdGhlIHJlc3VsdCBpcyBsZXNzIHRoYW4gemVybywgJzAnIGlmIHRoZSByZXN1bHQgaXMKKyAgICAgICAgemVybyBvciBuZWdhdGl2ZSB6ZXJvLCBvciAnMScgaWYgdGhlIHJlc3VsdCBpcyBncmVhdGVyIHRoYW4gemVyby4KKworICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvbXBhcmUoRGVjaW1hbCgnMi4xJyksIERlY2ltYWwoJzMnKSkKKyAgICAgICAgRGVjaW1hbCgnLTEnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvbXBhcmUoRGVjaW1hbCgnMi4xJyksIERlY2ltYWwoJzIuMScpKQorICAgICAgICBEZWNpbWFsKCcwJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jb21wYXJlKERlY2ltYWwoJzIuMScpLCBEZWNpbWFsKCcyLjEwJykpCisgICAgICAgIERlY2ltYWwoJzAnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvbXBhcmUoRGVjaW1hbCgnMycpLCBEZWNpbWFsKCcyLjEnKSkKKyAgICAgICAgRGVjaW1hbCgnMScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29tcGFyZShEZWNpbWFsKCcyLjEnKSwgRGVjaW1hbCgnLTMnKSkKKyAgICAgICAgRGVjaW1hbCgnMScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29tcGFyZShEZWNpbWFsKCctMycpLCBEZWNpbWFsKCcyLjEnKSkKKyAgICAgICAgRGVjaW1hbCgnLTEnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvbXBhcmUoMSwgMikKKyAgICAgICAgRGVjaW1hbCgnLTEnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvbXBhcmUoRGVjaW1hbCgxKSwgMikKKyAgICAgICAgRGVjaW1hbCgnLTEnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvbXBhcmUoMSwgRGVjaW1hbCgyKSkKKyAgICAgICAgRGVjaW1hbCgnLTEnKQorICAgICAgICAiIiIKKyAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKKyAgICAgICAgcmV0dXJuIGEuY29tcGFyZShiLCBjb250ZXh0PXNlbGYpCisKKyAgICBkZWYgY29tcGFyZV9zaWduYWwoc2VsZiwgYSwgYik6CisgICAgICAgICIiIkNvbXBhcmVzIHRoZSB2YWx1ZXMgb2YgdGhlIHR3byBvcGVyYW5kcyBudW1lcmljYWxseS4KKworICAgICAgICBJdCdzIHByZXR0eSBtdWNoIGxpa2UgY29tcGFyZSgpLCBidXQgYWxsIE5hTnMgc2lnbmFsLCB3aXRoIHNpZ25hbGluZworICAgICAgICBOYU5zIHRha2luZyBwcmVjZWRlbmNlIG92ZXIgcXVpZXQgTmFOcy4KKworICAgICAgICA+Pj4gYyA9IEV4dGVuZGVkQ29udGV4dAorICAgICAgICA+Pj4gYy5jb21wYXJlX3NpZ25hbChEZWNpbWFsKCcyLjEnKSwgRGVjaW1hbCgnMycpKQorICAgICAgICBEZWNpbWFsKCctMScpCisgICAgICAgID4+PiBjLmNvbXBhcmVfc2lnbmFsKERlY2ltYWwoJzIuMScpLCBEZWNpbWFsKCcyLjEnKSkKKyAgICAgICAgRGVjaW1hbCgnMCcpCisgICAgICAgID4+PiBjLmZsYWdzW0ludmFsaWRPcGVyYXRpb25dID0gMAorICAgICAgICA+Pj4gcHJpbnQoYy5mbGFnc1tJbnZhbGlkT3BlcmF0aW9uXSkKKyAgICAgICAgMAorICAgICAgICA+Pj4gYy5jb21wYXJlX3NpZ25hbChEZWNpbWFsKCdOYU4nKSwgRGVjaW1hbCgnMi4xJykpCisgICAgICAgIERlY2ltYWwoJ05hTicpCisgICAgICAgID4+PiBwcmludChjLmZsYWdzW0ludmFsaWRPcGVyYXRpb25dKQorICAgICAgICAxCisgICAgICAgID4+PiBjLmZsYWdzW0ludmFsaWRPcGVyYXRpb25dID0gMAorICAgICAgICA+Pj4gcHJpbnQoYy5mbGFnc1tJbnZhbGlkT3BlcmF0aW9uXSkKKyAgICAgICAgMAorICAgICAgICA+Pj4gYy5jb21wYXJlX3NpZ25hbChEZWNpbWFsKCdzTmFOJyksIERlY2ltYWwoJzIuMScpKQorICAgICAgICBEZWNpbWFsKCdOYU4nKQorICAgICAgICA+Pj4gcHJpbnQoYy5mbGFnc1tJbnZhbGlkT3BlcmF0aW9uXSkKKyAgICAgICAgMQorICAgICAgICA+Pj4gYy5jb21wYXJlX3NpZ25hbCgtMSwgMikKKyAgICAgICAgRGVjaW1hbCgnLTEnKQorICAgICAgICA+Pj4gYy5jb21wYXJlX3NpZ25hbChEZWNpbWFsKC0xKSwgMikKKyAgICAgICAgRGVjaW1hbCgnLTEnKQorICAgICAgICA+Pj4gYy5jb21wYXJlX3NpZ25hbCgtMSwgRGVjaW1hbCgyKSkKKyAgICAgICAgRGVjaW1hbCgnLTEnKQorICAgICAgICAiIiIKKyAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKKyAgICAgICAgcmV0dXJuIGEuY29tcGFyZV9zaWduYWwoYiwgY29udGV4dD1zZWxmKQorCisgICAgZGVmIGNvbXBhcmVfdG90YWwoc2VsZiwgYSwgYik6CisgICAgICAgICIiIkNvbXBhcmVzIHR3byBvcGVyYW5kcyB1c2luZyB0aGVpciBhYnN0cmFjdCByZXByZXNlbnRhdGlvbi4KKworICAgICAgICBUaGlzIGlzIG5vdCBsaWtlIHRoZSBzdGFuZGFyZCBjb21wYXJlLCB3aGljaCB1c2UgdGhlaXIgbnVtZXJpY2FsCisgICAgICAgIHZhbHVlLiBOb3RlIHRoYXQgYSB0b3RhbCBvcmRlcmluZyBpcyBkZWZpbmVkIGZvciBhbGwgcG9zc2libGUgYWJzdHJhY3QKKyAgICAgICAgcmVwcmVzZW50YXRpb25zLgorCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29tcGFyZV90b3RhbChEZWNpbWFsKCcxMi43MycpLCBEZWNpbWFsKCcxMjcuOScpKQorICAgICAgICBEZWNpbWFsKCctMScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29tcGFyZV90b3RhbChEZWNpbWFsKCctMTI3JyksICBEZWNpbWFsKCcxMicpKQorICAgICAgICBEZWNpbWFsKCctMScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29tcGFyZV90b3RhbChEZWNpbWFsKCcxMi4zMCcpLCBEZWNpbWFsKCcxMi4zJykpCisgICAgICAgIERlY2ltYWwoJy0xJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jb21wYXJlX3RvdGFsKERlY2ltYWwoJzEyLjMwJyksIERlY2ltYWwoJzEyLjMwJykpCisgICAgICAgIERlY2ltYWwoJzAnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvbXBhcmVfdG90YWwoRGVjaW1hbCgnMTIuMycpLCAgRGVjaW1hbCgnMTIuMzAwJykpCisgICAgICAgIERlY2ltYWwoJzEnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvbXBhcmVfdG90YWwoRGVjaW1hbCgnMTIuMycpLCAgRGVjaW1hbCgnTmFOJykpCisgICAgICAgIERlY2ltYWwoJy0xJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jb21wYXJlX3RvdGFsKDEsIDIpCisgICAgICAgIERlY2ltYWwoJy0xJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jb21wYXJlX3RvdGFsKERlY2ltYWwoMSksIDIpCisgICAgICAgIERlY2ltYWwoJy0xJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jb21wYXJlX3RvdGFsKDEsIERlY2ltYWwoMikpCisgICAgICAgIERlY2ltYWwoJy0xJykKKyAgICAgICAgIiIiCisgICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCisgICAgICAgIHJldHVybiBhLmNvbXBhcmVfdG90YWwoYikKKworICAgIGRlZiBjb21wYXJlX3RvdGFsX21hZyhzZWxmLCBhLCBiKToKKyAgICAgICAgIiIiQ29tcGFyZXMgdHdvIG9wZXJhbmRzIHVzaW5nIHRoZWlyIGFic3RyYWN0IHJlcHJlc2VudGF0aW9uIGlnbm9yaW5nIHNpZ24uCisKKyAgICAgICAgTGlrZSBjb21wYXJlX3RvdGFsLCBidXQgd2l0aCBvcGVyYW5kJ3Mgc2lnbiBpZ25vcmVkIGFuZCBhc3N1bWVkIHRvIGJlIDAuCisgICAgICAgICIiIgorICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQorICAgICAgICByZXR1cm4gYS5jb21wYXJlX3RvdGFsX21hZyhiKQorCisgICAgZGVmIGNvcHlfYWJzKHNlbGYsIGEpOgorICAgICAgICAiIiJSZXR1cm5zIGEgY29weSBvZiB0aGUgb3BlcmFuZCB3aXRoIHRoZSBzaWduIHNldCB0byAwLgorCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29weV9hYnMoRGVjaW1hbCgnMi4xJykpCisgICAgICAgIERlY2ltYWwoJzIuMScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29weV9hYnMoRGVjaW1hbCgnLTEwMCcpKQorICAgICAgICBEZWNpbWFsKCcxMDAnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvcHlfYWJzKC0xKQorICAgICAgICBEZWNpbWFsKCcxJykKKyAgICAgICAgIiIiCisgICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCisgICAgICAgIHJldHVybiBhLmNvcHlfYWJzKCkKKworICAgIGRlZiBjb3B5X2RlY2ltYWwoc2VsZiwgYSk6CisgICAgICAgICIiIlJldHVybnMgYSBjb3B5IG9mIHRoZSBkZWNpbWFsIG9iamVjdC4KKworICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvcHlfZGVjaW1hbChEZWNpbWFsKCcyLjEnKSkKKyAgICAgICAgRGVjaW1hbCgnMi4xJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jb3B5X2RlY2ltYWwoRGVjaW1hbCgnLTEuMDAnKSkKKyAgICAgICAgRGVjaW1hbCgnLTEuMDAnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvcHlfZGVjaW1hbCgxKQorICAgICAgICBEZWNpbWFsKCcxJykKKyAgICAgICAgIiIiCisgICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCisgICAgICAgIHJldHVybiBEZWNpbWFsKGEpCisKKyAgICBkZWYgY29weV9uZWdhdGUoc2VsZiwgYSk6CisgICAgICAgICIiIlJldHVybnMgYSBjb3B5IG9mIHRoZSBvcGVyYW5kIHdpdGggdGhlIHNpZ24gaW52ZXJ0ZWQuCisKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jb3B5X25lZ2F0ZShEZWNpbWFsKCcxMDEuNScpKQorICAgICAgICBEZWNpbWFsKCctMTAxLjUnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvcHlfbmVnYXRlKERlY2ltYWwoJy0xMDEuNScpKQorICAgICAgICBEZWNpbWFsKCcxMDEuNScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29weV9uZWdhdGUoMSkKKyAgICAgICAgRGVjaW1hbCgnLTEnKQorICAgICAgICAiIiIKKyAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKKyAgICAgICAgcmV0dXJuIGEuY29weV9uZWdhdGUoKQorCisgICAgZGVmIGNvcHlfc2lnbihzZWxmLCBhLCBiKToKKyAgICAgICAgIiIiQ29waWVzIHRoZSBzZWNvbmQgb3BlcmFuZCdzIHNpZ24gdG8gdGhlIGZpcnN0IG9uZS4KKworICAgICAgICBJbiBkZXRhaWwsIGl0IHJldHVybnMgYSBjb3B5IG9mIHRoZSBmaXJzdCBvcGVyYW5kIHdpdGggdGhlIHNpZ24KKyAgICAgICAgZXF1YWwgdG8gdGhlIHNpZ24gb2YgdGhlIHNlY29uZCBvcGVyYW5kLgorCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29weV9zaWduKERlY2ltYWwoICcxLjUwJyksIERlY2ltYWwoJzcuMzMnKSkKKyAgICAgICAgRGVjaW1hbCgnMS41MCcpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29weV9zaWduKERlY2ltYWwoJy0xLjUwJyksIERlY2ltYWwoJzcuMzMnKSkKKyAgICAgICAgRGVjaW1hbCgnMS41MCcpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29weV9zaWduKERlY2ltYWwoICcxLjUwJyksIERlY2ltYWwoJy03LjMzJykpCisgICAgICAgIERlY2ltYWwoJy0xLjUwJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jb3B5X3NpZ24oRGVjaW1hbCgnLTEuNTAnKSwgRGVjaW1hbCgnLTcuMzMnKSkKKyAgICAgICAgRGVjaW1hbCgnLTEuNTAnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvcHlfc2lnbigxLCAtMikKKyAgICAgICAgRGVjaW1hbCgnLTEnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvcHlfc2lnbihEZWNpbWFsKDEpLCAtMikKKyAgICAgICAgRGVjaW1hbCgnLTEnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvcHlfc2lnbigxLCBEZWNpbWFsKC0yKSkKKyAgICAgICAgRGVjaW1hbCgnLTEnKQorICAgICAgICAiIiIKKyAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKKyAgICAgICAgcmV0dXJuIGEuY29weV9zaWduKGIpCisKKyAgICBkZWYgZGl2aWRlKHNlbGYsIGEsIGIpOgorICAgICAgICAiIiJEZWNpbWFsIGRpdmlzaW9uIGluIGEgc3BlY2lmaWVkIGNvbnRleHQuCisKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5kaXZpZGUoRGVjaW1hbCgnMScpLCBEZWNpbWFsKCczJykpCisgICAgICAgIERlY2ltYWwoJzAuMzMzMzMzMzMzJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5kaXZpZGUoRGVjaW1hbCgnMicpLCBEZWNpbWFsKCczJykpCisgICAgICAgIERlY2ltYWwoJzAuNjY2NjY2NjY3JykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5kaXZpZGUoRGVjaW1hbCgnNScpLCBEZWNpbWFsKCcyJykpCisgICAgICAgIERlY2ltYWwoJzIuNScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZGl2aWRlKERlY2ltYWwoJzEnKSwgRGVjaW1hbCgnMTAnKSkKKyAgICAgICAgRGVjaW1hbCgnMC4xJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5kaXZpZGUoRGVjaW1hbCgnMTInKSwgRGVjaW1hbCgnMTInKSkKKyAgICAgICAgRGVjaW1hbCgnMScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZGl2aWRlKERlY2ltYWwoJzguMDAnKSwgRGVjaW1hbCgnMicpKQorICAgICAgICBEZWNpbWFsKCc0LjAwJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5kaXZpZGUoRGVjaW1hbCgnMi40MDAnKSwgRGVjaW1hbCgnMi4wJykpCisgICAgICAgIERlY2ltYWwoJzEuMjAnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmRpdmlkZShEZWNpbWFsKCcxMDAwJyksIERlY2ltYWwoJzEwMCcpKQorICAgICAgICBEZWNpbWFsKCcxMCcpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZGl2aWRlKERlY2ltYWwoJzEwMDAnKSwgRGVjaW1hbCgnMScpKQorICAgICAgICBEZWNpbWFsKCcxMDAwJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5kaXZpZGUoRGVjaW1hbCgnMi40MEUrNicpLCBEZWNpbWFsKCcyJykpCisgICAgICAgIERlY2ltYWwoJzEuMjBFKzYnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmRpdmlkZSg1LCA1KQorICAgICAgICBEZWNpbWFsKCcxJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5kaXZpZGUoRGVjaW1hbCg1KSwgNSkKKyAgICAgICAgRGVjaW1hbCgnMScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZGl2aWRlKDUsIERlY2ltYWwoNSkpCisgICAgICAgIERlY2ltYWwoJzEnKQorICAgICAgICAiIiIKKyAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKKyAgICAgICAgciA9IGEuX190cnVlZGl2X18oYiwgY29udGV4dD1zZWxmKQorICAgICAgICBpZiByIGlzIE5vdEltcGxlbWVudGVkOgorICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJVbmFibGUgdG8gY29udmVydCAlcyB0byBEZWNpbWFsIiAlIGIpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXR1cm4gcgorCisgICAgZGVmIGRpdmlkZV9pbnQoc2VsZiwgYSwgYik6CisgICAgICAgICIiIkRpdmlkZXMgdHdvIG51bWJlcnMgYW5kIHJldHVybnMgdGhlIGludGVnZXIgcGFydCBvZiB0aGUgcmVzdWx0LgorCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZGl2aWRlX2ludChEZWNpbWFsKCcyJyksIERlY2ltYWwoJzMnKSkKKyAgICAgICAgRGVjaW1hbCgnMCcpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZGl2aWRlX2ludChEZWNpbWFsKCcxMCcpLCBEZWNpbWFsKCczJykpCisgICAgICAgIERlY2ltYWwoJzMnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmRpdmlkZV9pbnQoRGVjaW1hbCgnMScpLCBEZWNpbWFsKCcwLjMnKSkKKyAgICAgICAgRGVjaW1hbCgnMycpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZGl2aWRlX2ludCgxMCwgMykKKyAgICAgICAgRGVjaW1hbCgnMycpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZGl2aWRlX2ludChEZWNpbWFsKDEwKSwgMykKKyAgICAgICAgRGVjaW1hbCgnMycpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZGl2aWRlX2ludCgxMCwgRGVjaW1hbCgzKSkKKyAgICAgICAgRGVjaW1hbCgnMycpCisgICAgICAgICIiIgorICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQorICAgICAgICByID0gYS5fX2Zsb29yZGl2X18oYiwgY29udGV4dD1zZWxmKQorICAgICAgICBpZiByIGlzIE5vdEltcGxlbWVudGVkOgorICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJVbmFibGUgdG8gY29udmVydCAlcyB0byBEZWNpbWFsIiAlIGIpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXR1cm4gcgorCisgICAgZGVmIGRpdm1vZChzZWxmLCBhLCBiKToKKyAgICAgICAgIiIiUmV0dXJuIChhIC8vIGIsIGEgJSBiKS4KKworICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmRpdm1vZChEZWNpbWFsKDgpLCBEZWNpbWFsKDMpKQorICAgICAgICAoRGVjaW1hbCgnMicpLCBEZWNpbWFsKCcyJykpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZGl2bW9kKERlY2ltYWwoOCksIERlY2ltYWwoNCkpCisgICAgICAgIChEZWNpbWFsKCcyJyksIERlY2ltYWwoJzAnKSkKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5kaXZtb2QoOCwgNCkKKyAgICAgICAgKERlY2ltYWwoJzInKSwgRGVjaW1hbCgnMCcpKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmRpdm1vZChEZWNpbWFsKDgpLCA0KQorICAgICAgICAoRGVjaW1hbCgnMicpLCBEZWNpbWFsKCcwJykpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZGl2bW9kKDgsIERlY2ltYWwoNCkpCisgICAgICAgIChEZWNpbWFsKCcyJyksIERlY2ltYWwoJzAnKSkKKyAgICAgICAgIiIiCisgICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCisgICAgICAgIHIgPSBhLl9fZGl2bW9kX18oYiwgY29udGV4dD1zZWxmKQorICAgICAgICBpZiByIGlzIE5vdEltcGxlbWVudGVkOgorICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJVbmFibGUgdG8gY29udmVydCAlcyB0byBEZWNpbWFsIiAlIGIpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXR1cm4gcgorCisgICAgZGVmIGV4cChzZWxmLCBhKToKKyAgICAgICAgIiIiUmV0dXJucyBlICoqIGEuCisKKyAgICAgICAgPj4+IGMgPSBFeHRlbmRlZENvbnRleHQuY29weSgpCisgICAgICAgID4+PiBjLkVtaW4gPSAtOTk5CisgICAgICAgID4+PiBjLkVtYXggPSA5OTkKKyAgICAgICAgPj4+IGMuZXhwKERlY2ltYWwoJy1JbmZpbml0eScpKQorICAgICAgICBEZWNpbWFsKCcwJykKKyAgICAgICAgPj4+IGMuZXhwKERlY2ltYWwoJy0xJykpCisgICAgICAgIERlY2ltYWwoJzAuMzY3ODc5NDQxJykKKyAgICAgICAgPj4+IGMuZXhwKERlY2ltYWwoJzAnKSkKKyAgICAgICAgRGVjaW1hbCgnMScpCisgICAgICAgID4+PiBjLmV4cChEZWNpbWFsKCcxJykpCisgICAgICAgIERlY2ltYWwoJzIuNzE4MjgxODMnKQorICAgICAgICA+Pj4gYy5leHAoRGVjaW1hbCgnMC42OTMxNDcxODEnKSkKKyAgICAgICAgRGVjaW1hbCgnMi4wMDAwMDAwMCcpCisgICAgICAgID4+PiBjLmV4cChEZWNpbWFsKCcrSW5maW5pdHknKSkKKyAgICAgICAgRGVjaW1hbCgnSW5maW5pdHknKQorICAgICAgICA+Pj4gYy5leHAoMTApCisgICAgICAgIERlY2ltYWwoJzIyMDI2LjQ2NTgnKQorICAgICAgICAiIiIKKyAgICAgICAgYSA9X2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQorICAgICAgICByZXR1cm4gYS5leHAoY29udGV4dD1zZWxmKQorCisgICAgZGVmIGZtYShzZWxmLCBhLCBiLCBjKToKKyAgICAgICAgIiIiUmV0dXJucyBhIG11bHRpcGxpZWQgYnkgYiwgcGx1cyBjLgorCisgICAgICAgIFRoZSBmaXJzdCB0d28gb3BlcmFuZHMgYXJlIG11bHRpcGxpZWQgdG9nZXRoZXIsIHVzaW5nIG11bHRpcGx5LAorICAgICAgICB0aGUgdGhpcmQgb3BlcmFuZCBpcyB0aGVuIGFkZGVkIHRvIHRoZSByZXN1bHQgb2YgdGhhdAorICAgICAgICBtdWx0aXBsaWNhdGlvbiwgdXNpbmcgYWRkLCBhbGwgd2l0aCBvbmx5IG9uZSBmaW5hbCByb3VuZGluZy4KKworICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmZtYShEZWNpbWFsKCczJyksIERlY2ltYWwoJzUnKSwgRGVjaW1hbCgnNycpKQorICAgICAgICBEZWNpbWFsKCcyMicpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZm1hKERlY2ltYWwoJzMnKSwgRGVjaW1hbCgnLTUnKSwgRGVjaW1hbCgnNycpKQorICAgICAgICBEZWNpbWFsKCctOCcpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZm1hKERlY2ltYWwoJzg4ODU2NTI5MCcpLCBEZWNpbWFsKCcxNTU3Ljk2OTMwJyksIERlY2ltYWwoJy04NjA4Ny43NTc4JykpCisgICAgICAgIERlY2ltYWwoJzEuMzg0MzU3MzZFKzEyJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5mbWEoMSwgMywgNCkKKyAgICAgICAgRGVjaW1hbCgnNycpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZm1hKDEsIERlY2ltYWwoMyksIDQpCisgICAgICAgIERlY2ltYWwoJzcnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmZtYSgxLCAzLCBEZWNpbWFsKDQpKQorICAgICAgICBEZWNpbWFsKCc3JykKKyAgICAgICAgIiIiCisgICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCisgICAgICAgIHJldHVybiBhLmZtYShiLCBjLCBjb250ZXh0PXNlbGYpCisKKyAgICBkZWYgaXNfY2Fub25pY2FsKHNlbGYsIGEpOgorICAgICAgICAiIiJSZXR1cm4gVHJ1ZSBpZiB0aGUgb3BlcmFuZCBpcyBjYW5vbmljYWw7IG90aGVyd2lzZSByZXR1cm4gRmFsc2UuCisKKyAgICAgICAgQ3VycmVudGx5LCB0aGUgZW5jb2Rpbmcgb2YgYSBEZWNpbWFsIGluc3RhbmNlIGlzIGFsd2F5cworICAgICAgICBjYW5vbmljYWwsIHNvIHRoaXMgbWV0aG9kIHJldHVybnMgVHJ1ZSBmb3IgYW55IERlY2ltYWwuCisKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc19jYW5vbmljYWwoRGVjaW1hbCgnMi41MCcpKQorICAgICAgICBUcnVlCisgICAgICAgICIiIgorICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShhLCBEZWNpbWFsKToKKyAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiaXNfY2Fub25pY2FsIHJlcXVpcmVzIGEgRGVjaW1hbCBhcyBhbiBhcmd1bWVudC4iKQorICAgICAgICByZXR1cm4gYS5pc19jYW5vbmljYWwoKQorCisgICAgZGVmIGlzX2Zpbml0ZShzZWxmLCBhKToKKyAgICAgICAgIiIiUmV0dXJuIFRydWUgaWYgdGhlIG9wZXJhbmQgaXMgZmluaXRlOyBvdGhlcndpc2UgcmV0dXJuIEZhbHNlLgorCisgICAgICAgIEEgRGVjaW1hbCBpbnN0YW5jZSBpcyBjb25zaWRlcmVkIGZpbml0ZSBpZiBpdCBpcyBuZWl0aGVyCisgICAgICAgIGluZmluaXRlIG5vciBhIE5hTi4KKworICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX2Zpbml0ZShEZWNpbWFsKCcyLjUwJykpCisgICAgICAgIFRydWUKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc19maW5pdGUoRGVjaW1hbCgnLTAuMycpKQorICAgICAgICBUcnVlCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfZmluaXRlKERlY2ltYWwoJzAnKSkKKyAgICAgICAgVHJ1ZQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX2Zpbml0ZShEZWNpbWFsKCdJbmYnKSkKKyAgICAgICAgRmFsc2UKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc19maW5pdGUoRGVjaW1hbCgnTmFOJykpCisgICAgICAgIEZhbHNlCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfZmluaXRlKDEpCisgICAgICAgIFRydWUKKyAgICAgICAgIiIiCisgICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCisgICAgICAgIHJldHVybiBhLmlzX2Zpbml0ZSgpCisKKyAgICBkZWYgaXNfaW5maW5pdGUoc2VsZiwgYSk6CisgICAgICAgICIiIlJldHVybiBUcnVlIGlmIHRoZSBvcGVyYW5kIGlzIGluZmluaXRlOyBvdGhlcndpc2UgcmV0dXJuIEZhbHNlLgorCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfaW5maW5pdGUoRGVjaW1hbCgnMi41MCcpKQorICAgICAgICBGYWxzZQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX2luZmluaXRlKERlY2ltYWwoJy1JbmYnKSkKKyAgICAgICAgVHJ1ZQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX2luZmluaXRlKERlY2ltYWwoJ05hTicpKQorICAgICAgICBGYWxzZQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX2luZmluaXRlKDEpCisgICAgICAgIEZhbHNlCisgICAgICAgICIiIgorICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQorICAgICAgICByZXR1cm4gYS5pc19pbmZpbml0ZSgpCisKKyAgICBkZWYgaXNfbmFuKHNlbGYsIGEpOgorICAgICAgICAiIiJSZXR1cm4gVHJ1ZSBpZiB0aGUgb3BlcmFuZCBpcyBhIHFOYU4gb3Igc05hTjsKKyAgICAgICAgb3RoZXJ3aXNlIHJldHVybiBGYWxzZS4KKworICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX25hbihEZWNpbWFsKCcyLjUwJykpCisgICAgICAgIEZhbHNlCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfbmFuKERlY2ltYWwoJ05hTicpKQorICAgICAgICBUcnVlCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfbmFuKERlY2ltYWwoJy1zTmFOJykpCisgICAgICAgIFRydWUKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc19uYW4oMSkKKyAgICAgICAgRmFsc2UKKyAgICAgICAgIiIiCisgICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCisgICAgICAgIHJldHVybiBhLmlzX25hbigpCisKKyAgICBkZWYgaXNfbm9ybWFsKHNlbGYsIGEpOgorICAgICAgICAiIiJSZXR1cm4gVHJ1ZSBpZiB0aGUgb3BlcmFuZCBpcyBhIG5vcm1hbCBudW1iZXI7CisgICAgICAgIG90aGVyd2lzZSByZXR1cm4gRmFsc2UuCisKKyAgICAgICAgPj4+IGMgPSBFeHRlbmRlZENvbnRleHQuY29weSgpCisgICAgICAgID4+PiBjLkVtaW4gPSAtOTk5CisgICAgICAgID4+PiBjLkVtYXggPSA5OTkKKyAgICAgICAgPj4+IGMuaXNfbm9ybWFsKERlY2ltYWwoJzIuNTAnKSkKKyAgICAgICAgVHJ1ZQorICAgICAgICA+Pj4gYy5pc19ub3JtYWwoRGVjaW1hbCgnMC4xRS05OTknKSkKKyAgICAgICAgRmFsc2UKKyAgICAgICAgPj4+IGMuaXNfbm9ybWFsKERlY2ltYWwoJzAuMDAnKSkKKyAgICAgICAgRmFsc2UKKyAgICAgICAgPj4+IGMuaXNfbm9ybWFsKERlY2ltYWwoJy1JbmYnKSkKKyAgICAgICAgRmFsc2UKKyAgICAgICAgPj4+IGMuaXNfbm9ybWFsKERlY2ltYWwoJ05hTicpKQorICAgICAgICBGYWxzZQorICAgICAgICA+Pj4gYy5pc19ub3JtYWwoMSkKKyAgICAgICAgVHJ1ZQorICAgICAgICAiIiIKKyAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKKyAgICAgICAgcmV0dXJuIGEuaXNfbm9ybWFsKGNvbnRleHQ9c2VsZikKKworICAgIGRlZiBpc19xbmFuKHNlbGYsIGEpOgorICAgICAgICAiIiJSZXR1cm4gVHJ1ZSBpZiB0aGUgb3BlcmFuZCBpcyBhIHF1aWV0IE5hTjsgb3RoZXJ3aXNlIHJldHVybiBGYWxzZS4KKworICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX3FuYW4oRGVjaW1hbCgnMi41MCcpKQorICAgICAgICBGYWxzZQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX3FuYW4oRGVjaW1hbCgnTmFOJykpCisgICAgICAgIFRydWUKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc19xbmFuKERlY2ltYWwoJ3NOYU4nKSkKKyAgICAgICAgRmFsc2UKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc19xbmFuKDEpCisgICAgICAgIEZhbHNlCisgICAgICAgICIiIgorICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQorICAgICAgICByZXR1cm4gYS5pc19xbmFuKCkKKworICAgIGRlZiBpc19zaWduZWQoc2VsZiwgYSk6CisgICAgICAgICIiIlJldHVybiBUcnVlIGlmIHRoZSBvcGVyYW5kIGlzIG5lZ2F0aXZlOyBvdGhlcndpc2UgcmV0dXJuIEZhbHNlLgorCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfc2lnbmVkKERlY2ltYWwoJzIuNTAnKSkKKyAgICAgICAgRmFsc2UKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc19zaWduZWQoRGVjaW1hbCgnLTEyJykpCisgICAgICAgIFRydWUKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc19zaWduZWQoRGVjaW1hbCgnLTAnKSkKKyAgICAgICAgVHJ1ZQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX3NpZ25lZCg4KQorICAgICAgICBGYWxzZQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX3NpZ25lZCgtOCkKKyAgICAgICAgVHJ1ZQorICAgICAgICAiIiIKKyAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKKyAgICAgICAgcmV0dXJuIGEuaXNfc2lnbmVkKCkKKworICAgIGRlZiBpc19zbmFuKHNlbGYsIGEpOgorICAgICAgICAiIiJSZXR1cm4gVHJ1ZSBpZiB0aGUgb3BlcmFuZCBpcyBhIHNpZ25hbGluZyBOYU47CisgICAgICAgIG90aGVyd2lzZSByZXR1cm4gRmFsc2UuCisKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc19zbmFuKERlY2ltYWwoJzIuNTAnKSkKKyAgICAgICAgRmFsc2UKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc19zbmFuKERlY2ltYWwoJ05hTicpKQorICAgICAgICBGYWxzZQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX3NuYW4oRGVjaW1hbCgnc05hTicpKQorICAgICAgICBUcnVlCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfc25hbigxKQorICAgICAgICBGYWxzZQorICAgICAgICAiIiIKKyAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKKyAgICAgICAgcmV0dXJuIGEuaXNfc25hbigpCisKKyAgICBkZWYgaXNfc3Vibm9ybWFsKHNlbGYsIGEpOgorICAgICAgICAiIiJSZXR1cm4gVHJ1ZSBpZiB0aGUgb3BlcmFuZCBpcyBzdWJub3JtYWw7IG90aGVyd2lzZSByZXR1cm4gRmFsc2UuCisKKyAgICAgICAgPj4+IGMgPSBFeHRlbmRlZENvbnRleHQuY29weSgpCisgICAgICAgID4+PiBjLkVtaW4gPSAtOTk5CisgICAgICAgID4+PiBjLkVtYXggPSA5OTkKKyAgICAgICAgPj4+IGMuaXNfc3Vibm9ybWFsKERlY2ltYWwoJzIuNTAnKSkKKyAgICAgICAgRmFsc2UKKyAgICAgICAgPj4+IGMuaXNfc3Vibm9ybWFsKERlY2ltYWwoJzAuMUUtOTk5JykpCisgICAgICAgIFRydWUKKyAgICAgICAgPj4+IGMuaXNfc3Vibm9ybWFsKERlY2ltYWwoJzAuMDAnKSkKKyAgICAgICAgRmFsc2UKKyAgICAgICAgPj4+IGMuaXNfc3Vibm9ybWFsKERlY2ltYWwoJy1JbmYnKSkKKyAgICAgICAgRmFsc2UKKyAgICAgICAgPj4+IGMuaXNfc3Vibm9ybWFsKERlY2ltYWwoJ05hTicpKQorICAgICAgICBGYWxzZQorICAgICAgICA+Pj4gYy5pc19zdWJub3JtYWwoMSkKKyAgICAgICAgRmFsc2UKKyAgICAgICAgIiIiCisgICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCisgICAgICAgIHJldHVybiBhLmlzX3N1Ym5vcm1hbChjb250ZXh0PXNlbGYpCisKKyAgICBkZWYgaXNfemVybyhzZWxmLCBhKToKKyAgICAgICAgIiIiUmV0dXJuIFRydWUgaWYgdGhlIG9wZXJhbmQgaXMgYSB6ZXJvOyBvdGhlcndpc2UgcmV0dXJuIEZhbHNlLgorCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfemVybyhEZWNpbWFsKCcwJykpCisgICAgICAgIFRydWUKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc196ZXJvKERlY2ltYWwoJzIuNTAnKSkKKyAgICAgICAgRmFsc2UKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc196ZXJvKERlY2ltYWwoJy0wRSsyJykpCisgICAgICAgIFRydWUKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc196ZXJvKDEpCisgICAgICAgIEZhbHNlCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfemVybygwKQorICAgICAgICBUcnVlCisgICAgICAgICIiIgorICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQorICAgICAgICByZXR1cm4gYS5pc196ZXJvKCkKKworICAgIGRlZiBsbihzZWxmLCBhKToKKyAgICAgICAgIiIiUmV0dXJucyB0aGUgbmF0dXJhbCAoYmFzZSBlKSBsb2dhcml0aG0gb2YgdGhlIG9wZXJhbmQuCisKKyAgICAgICAgPj4+IGMgPSBFeHRlbmRlZENvbnRleHQuY29weSgpCisgICAgICAgID4+PiBjLkVtaW4gPSAtOTk5CisgICAgICAgID4+PiBjLkVtYXggPSA5OTkKKyAgICAgICAgPj4+IGMubG4oRGVjaW1hbCgnMCcpKQorICAgICAgICBEZWNpbWFsKCctSW5maW5pdHknKQorICAgICAgICA+Pj4gYy5sbihEZWNpbWFsKCcxLjAwMCcpKQorICAgICAgICBEZWNpbWFsKCcwJykKKyAgICAgICAgPj4+IGMubG4oRGVjaW1hbCgnMi43MTgyODE4MycpKQorICAgICAgICBEZWNpbWFsKCcxLjAwMDAwMDAwJykKKyAgICAgICAgPj4+IGMubG4oRGVjaW1hbCgnMTAnKSkKKyAgICAgICAgRGVjaW1hbCgnMi4zMDI1ODUwOScpCisgICAgICAgID4+PiBjLmxuKERlY2ltYWwoJytJbmZpbml0eScpKQorICAgICAgICBEZWNpbWFsKCdJbmZpbml0eScpCisgICAgICAgID4+PiBjLmxuKDEpCisgICAgICAgIERlY2ltYWwoJzAnKQorICAgICAgICAiIiIKKyAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKKyAgICAgICAgcmV0dXJuIGEubG4oY29udGV4dD1zZWxmKQorCisgICAgZGVmIGxvZzEwKHNlbGYsIGEpOgorICAgICAgICAiIiJSZXR1cm5zIHRoZSBiYXNlIDEwIGxvZ2FyaXRobSBvZiB0aGUgb3BlcmFuZC4KKworICAgICAgICA+Pj4gYyA9IEV4dGVuZGVkQ29udGV4dC5jb3B5KCkKKyAgICAgICAgPj4+IGMuRW1pbiA9IC05OTkKKyAgICAgICAgPj4+IGMuRW1heCA9IDk5OQorICAgICAgICA+Pj4gYy5sb2cxMChEZWNpbWFsKCcwJykpCisgICAgICAgIERlY2ltYWwoJy1JbmZpbml0eScpCisgICAgICAgID4+PiBjLmxvZzEwKERlY2ltYWwoJzAuMDAxJykpCisgICAgICAgIERlY2ltYWwoJy0zJykKKyAgICAgICAgPj4+IGMubG9nMTAoRGVjaW1hbCgnMS4wMDAnKSkKKyAgICAgICAgRGVjaW1hbCgnMCcpCisgICAgICAgID4+PiBjLmxvZzEwKERlY2ltYWwoJzInKSkKKyAgICAgICAgRGVjaW1hbCgnMC4zMDEwMjk5OTYnKQorICAgICAgICA+Pj4gYy5sb2cxMChEZWNpbWFsKCcxMCcpKQorICAgICAgICBEZWNpbWFsKCcxJykKKyAgICAgICAgPj4+IGMubG9nMTAoRGVjaW1hbCgnNzAnKSkKKyAgICAgICAgRGVjaW1hbCgnMS44NDUwOTgwNCcpCisgICAgICAgID4+PiBjLmxvZzEwKERlY2ltYWwoJytJbmZpbml0eScpKQorICAgICAgICBEZWNpbWFsKCdJbmZpbml0eScpCisgICAgICAgID4+PiBjLmxvZzEwKDApCisgICAgICAgIERlY2ltYWwoJy1JbmZpbml0eScpCisgICAgICAgID4+PiBjLmxvZzEwKDEpCisgICAgICAgIERlY2ltYWwoJzAnKQorICAgICAgICAiIiIKKyAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKKyAgICAgICAgcmV0dXJuIGEubG9nMTAoY29udGV4dD1zZWxmKQorCisgICAgZGVmIGxvZ2Ioc2VsZiwgYSk6CisgICAgICAgICIiIiBSZXR1cm5zIHRoZSBleHBvbmVudCBvZiB0aGUgbWFnbml0dWRlIG9mIHRoZSBvcGVyYW5kJ3MgTVNELgorCisgICAgICAgIFRoZSByZXN1bHQgaXMgdGhlIGludGVnZXIgd2hpY2ggaXMgdGhlIGV4cG9uZW50IG9mIHRoZSBtYWduaXR1ZGUKKyAgICAgICAgb2YgdGhlIG1vc3Qgc2lnbmlmaWNhbnQgZGlnaXQgb2YgdGhlIG9wZXJhbmQgKGFzIHRob3VnaCB0aGUKKyAgICAgICAgb3BlcmFuZCB3ZXJlIHRydW5jYXRlZCB0byBhIHNpbmdsZSBkaWdpdCB3aGlsZSBtYWludGFpbmluZyB0aGUKKyAgICAgICAgdmFsdWUgb2YgdGhhdCBkaWdpdCBhbmQgd2l0aG91dCBsaW1pdGluZyB0aGUgcmVzdWx0aW5nIGV4cG9uZW50KS4KKworICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2IoRGVjaW1hbCgnMjUwJykpCisgICAgICAgIERlY2ltYWwoJzInKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2IoRGVjaW1hbCgnMi41MCcpKQorICAgICAgICBEZWNpbWFsKCcwJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2diKERlY2ltYWwoJzAuMDMnKSkKKyAgICAgICAgRGVjaW1hbCgnLTInKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2IoRGVjaW1hbCgnMCcpKQorICAgICAgICBEZWNpbWFsKCctSW5maW5pdHknKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2IoMSkKKyAgICAgICAgRGVjaW1hbCgnMCcpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9nYigxMCkKKyAgICAgICAgRGVjaW1hbCgnMScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9nYigxMDApCisgICAgICAgIERlY2ltYWwoJzInKQorICAgICAgICAiIiIKKyAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKKyAgICAgICAgcmV0dXJuIGEubG9nYihjb250ZXh0PXNlbGYpCisKKyAgICBkZWYgbG9naWNhbF9hbmQoc2VsZiwgYSwgYik6CisgICAgICAgICIiIkFwcGxpZXMgdGhlIGxvZ2ljYWwgb3BlcmF0aW9uICdhbmQnIGJldHdlZW4gZWFjaCBvcGVyYW5kJ3MgZGlnaXRzLgorCisgICAgICAgIFRoZSBvcGVyYW5kcyBtdXN0IGJlIGJvdGggbG9naWNhbCBudW1iZXJzLgorCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9hbmQoRGVjaW1hbCgnMCcpLCBEZWNpbWFsKCcwJykpCisgICAgICAgIERlY2ltYWwoJzAnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2ljYWxfYW5kKERlY2ltYWwoJzAnKSwgRGVjaW1hbCgnMScpKQorICAgICAgICBEZWNpbWFsKCcwJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX2FuZChEZWNpbWFsKCcxJyksIERlY2ltYWwoJzAnKSkKKyAgICAgICAgRGVjaW1hbCgnMCcpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9hbmQoRGVjaW1hbCgnMScpLCBEZWNpbWFsKCcxJykpCisgICAgICAgIERlY2ltYWwoJzEnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2ljYWxfYW5kKERlY2ltYWwoJzExMDAnKSwgRGVjaW1hbCgnMTAxMCcpKQorICAgICAgICBEZWNpbWFsKCcxMDAwJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX2FuZChEZWNpbWFsKCcxMTExJyksIERlY2ltYWwoJzEwJykpCisgICAgICAgIERlY2ltYWwoJzEwJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX2FuZCgxMTAsIDExMDEpCisgICAgICAgIERlY2ltYWwoJzEwMCcpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9hbmQoRGVjaW1hbCgxMTApLCAxMTAxKQorICAgICAgICBEZWNpbWFsKCcxMDAnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2ljYWxfYW5kKDExMCwgRGVjaW1hbCgxMTAxKSkKKyAgICAgICAgRGVjaW1hbCgnMTAwJykKKyAgICAgICAgIiIiCisgICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCisgICAgICAgIHJldHVybiBhLmxvZ2ljYWxfYW5kKGIsIGNvbnRleHQ9c2VsZikKKworICAgIGRlZiBsb2dpY2FsX2ludmVydChzZWxmLCBhKToKKyAgICAgICAgIiIiSW52ZXJ0IGFsbCB0aGUgZGlnaXRzIGluIHRoZSBvcGVyYW5kLgorCisgICAgICAgIFRoZSBvcGVyYW5kIG11c3QgYmUgYSBsb2dpY2FsIG51bWJlci4KKworICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2ljYWxfaW52ZXJ0KERlY2ltYWwoJzAnKSkKKyAgICAgICAgRGVjaW1hbCgnMTExMTExMTExJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX2ludmVydChEZWNpbWFsKCcxJykpCisgICAgICAgIERlY2ltYWwoJzExMTExMTExMCcpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9pbnZlcnQoRGVjaW1hbCgnMTExMTExMTExJykpCisgICAgICAgIERlY2ltYWwoJzAnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2ljYWxfaW52ZXJ0KERlY2ltYWwoJzEwMTAxMDEwMScpKQorICAgICAgICBEZWNpbWFsKCcxMDEwMTAxMCcpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9pbnZlcnQoMTEwMSkKKyAgICAgICAgRGVjaW1hbCgnMTExMTEwMDEwJykKKyAgICAgICAgIiIiCisgICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCisgICAgICAgIHJldHVybiBhLmxvZ2ljYWxfaW52ZXJ0KGNvbnRleHQ9c2VsZikKKworICAgIGRlZiBsb2dpY2FsX29yKHNlbGYsIGEsIGIpOgorICAgICAgICAiIiJBcHBsaWVzIHRoZSBsb2dpY2FsIG9wZXJhdGlvbiAnb3InIGJldHdlZW4gZWFjaCBvcGVyYW5kJ3MgZGlnaXRzLgorCisgICAgICAgIFRoZSBvcGVyYW5kcyBtdXN0IGJlIGJvdGggbG9naWNhbCBudW1iZXJzLgorCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9vcihEZWNpbWFsKCcwJyksIERlY2ltYWwoJzAnKSkKKyAgICAgICAgRGVjaW1hbCgnMCcpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9vcihEZWNpbWFsKCcwJyksIERlY2ltYWwoJzEnKSkKKyAgICAgICAgRGVjaW1hbCgnMScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9vcihEZWNpbWFsKCcxJyksIERlY2ltYWwoJzAnKSkKKyAgICAgICAgRGVjaW1hbCgnMScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9vcihEZWNpbWFsKCcxJyksIERlY2ltYWwoJzEnKSkKKyAgICAgICAgRGVjaW1hbCgnMScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9vcihEZWNpbWFsKCcxMTAwJyksIERlY2ltYWwoJzEwMTAnKSkKKyAgICAgICAgRGVjaW1hbCgnMTExMCcpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9vcihEZWNpbWFsKCcxMTEwJyksIERlY2ltYWwoJzEwJykpCisgICAgICAgIERlY2ltYWwoJzExMTAnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2ljYWxfb3IoMTEwLCAxMTAxKQorICAgICAgICBEZWNpbWFsKCcxMTExJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX29yKERlY2ltYWwoMTEwKSwgMTEwMSkKKyAgICAgICAgRGVjaW1hbCgnMTExMScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9vcigxMTAsIERlY2ltYWwoMTEwMSkpCisgICAgICAgIERlY2ltYWwoJzExMTEnKQorICAgICAgICAiIiIKKyAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKKyAgICAgICAgcmV0dXJuIGEubG9naWNhbF9vcihiLCBjb250ZXh0PXNlbGYpCisKKyAgICBkZWYgbG9naWNhbF94b3Ioc2VsZiwgYSwgYik6CisgICAgICAgICIiIkFwcGxpZXMgdGhlIGxvZ2ljYWwgb3BlcmF0aW9uICd4b3InIGJldHdlZW4gZWFjaCBvcGVyYW5kJ3MgZGlnaXRzLgorCisgICAgICAgIFRoZSBvcGVyYW5kcyBtdXN0IGJlIGJvdGggbG9naWNhbCBudW1iZXJzLgorCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF94b3IoRGVjaW1hbCgnMCcpLCBEZWNpbWFsKCcwJykpCisgICAgICAgIERlY2ltYWwoJzAnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2ljYWxfeG9yKERlY2ltYWwoJzAnKSwgRGVjaW1hbCgnMScpKQorICAgICAgICBEZWNpbWFsKCcxJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX3hvcihEZWNpbWFsKCcxJyksIERlY2ltYWwoJzAnKSkKKyAgICAgICAgRGVjaW1hbCgnMScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF94b3IoRGVjaW1hbCgnMScpLCBEZWNpbWFsKCcxJykpCisgICAgICAgIERlY2ltYWwoJzAnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2ljYWxfeG9yKERlY2ltYWwoJzExMDAnKSwgRGVjaW1hbCgnMTAxMCcpKQorICAgICAgICBEZWNpbWFsKCcxMTAnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2ljYWxfeG9yKERlY2ltYWwoJzExMTEnKSwgRGVjaW1hbCgnMTAnKSkKKyAgICAgICAgRGVjaW1hbCgnMTEwMScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF94b3IoMTEwLCAxMTAxKQorICAgICAgICBEZWNpbWFsKCcxMDExJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX3hvcihEZWNpbWFsKDExMCksIDExMDEpCisgICAgICAgIERlY2ltYWwoJzEwMTEnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2ljYWxfeG9yKDExMCwgRGVjaW1hbCgxMTAxKSkKKyAgICAgICAgRGVjaW1hbCgnMTAxMScpCisgICAgICAgICIiIgorICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQorICAgICAgICByZXR1cm4gYS5sb2dpY2FsX3hvcihiLCBjb250ZXh0PXNlbGYpCisKKyAgICBkZWYgbWF4KHNlbGYsIGEsIGIpOgorICAgICAgICAiIiJtYXggY29tcGFyZXMgdHdvIHZhbHVlcyBudW1lcmljYWxseSBhbmQgcmV0dXJucyB0aGUgbWF4aW11bS4KKworICAgICAgICBJZiBlaXRoZXIgb3BlcmFuZCBpcyBhIE5hTiB0aGVuIHRoZSBnZW5lcmFsIHJ1bGVzIGFwcGx5LgorICAgICAgICBPdGhlcndpc2UsIHRoZSBvcGVyYW5kcyBhcmUgY29tcGFyZWQgYXMgdGhvdWdoIGJ5IHRoZSBjb21wYXJlCisgICAgICAgIG9wZXJhdGlvbi4gIElmIHRoZXkgYXJlIG51bWVyaWNhbGx5IGVxdWFsIHRoZW4gdGhlIGxlZnQtaGFuZCBvcGVyYW5kCisgICAgICAgIGlzIGNob3NlbiBhcyB0aGUgcmVzdWx0LiAgT3RoZXJ3aXNlIHRoZSBtYXhpbXVtIChjbG9zZXIgdG8gcG9zaXRpdmUKKyAgICAgICAgaW5maW5pdHkpIG9mIHRoZSB0d28gb3BlcmFuZHMgaXMgY2hvc2VuIGFzIHRoZSByZXN1bHQuCisKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5tYXgoRGVjaW1hbCgnMycpLCBEZWNpbWFsKCcyJykpCisgICAgICAgIERlY2ltYWwoJzMnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm1heChEZWNpbWFsKCctMTAnKSwgRGVjaW1hbCgnMycpKQorICAgICAgICBEZWNpbWFsKCczJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5tYXgoRGVjaW1hbCgnMS4wJyksIERlY2ltYWwoJzEnKSkKKyAgICAgICAgRGVjaW1hbCgnMScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWF4KERlY2ltYWwoJzcnKSwgRGVjaW1hbCgnTmFOJykpCisgICAgICAgIERlY2ltYWwoJzcnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm1heCgxLCAyKQorICAgICAgICBEZWNpbWFsKCcyJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5tYXgoRGVjaW1hbCgxKSwgMikKKyAgICAgICAgRGVjaW1hbCgnMicpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWF4KDEsIERlY2ltYWwoMikpCisgICAgICAgIERlY2ltYWwoJzInKQorICAgICAgICAiIiIKKyAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKKyAgICAgICAgcmV0dXJuIGEubWF4KGIsIGNvbnRleHQ9c2VsZikKKworICAgIGRlZiBtYXhfbWFnKHNlbGYsIGEsIGIpOgorICAgICAgICAiIiJDb21wYXJlcyB0aGUgdmFsdWVzIG51bWVyaWNhbGx5IHdpdGggdGhlaXIgc2lnbiBpZ25vcmVkLgorCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWF4X21hZyhEZWNpbWFsKCc3JyksIERlY2ltYWwoJ05hTicpKQorICAgICAgICBEZWNpbWFsKCc3JykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5tYXhfbWFnKERlY2ltYWwoJzcnKSwgRGVjaW1hbCgnLTEwJykpCisgICAgICAgIERlY2ltYWwoJy0xMCcpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWF4X21hZygxLCAtMikKKyAgICAgICAgRGVjaW1hbCgnLTInKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm1heF9tYWcoRGVjaW1hbCgxKSwgLTIpCisgICAgICAgIERlY2ltYWwoJy0yJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5tYXhfbWFnKDEsIERlY2ltYWwoLTIpKQorICAgICAgICBEZWNpbWFsKCctMicpCisgICAgICAgICIiIgorICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQorICAgICAgICByZXR1cm4gYS5tYXhfbWFnKGIsIGNvbnRleHQ9c2VsZikKKworICAgIGRlZiBtaW4oc2VsZiwgYSwgYik6CisgICAgICAgICIiIm1pbiBjb21wYXJlcyB0d28gdmFsdWVzIG51bWVyaWNhbGx5IGFuZCByZXR1cm5zIHRoZSBtaW5pbXVtLgorCisgICAgICAgIElmIGVpdGhlciBvcGVyYW5kIGlzIGEgTmFOIHRoZW4gdGhlIGdlbmVyYWwgcnVsZXMgYXBwbHkuCisgICAgICAgIE90aGVyd2lzZSwgdGhlIG9wZXJhbmRzIGFyZSBjb21wYXJlZCBhcyB0aG91Z2ggYnkgdGhlIGNvbXBhcmUKKyAgICAgICAgb3BlcmF0aW9uLiAgSWYgdGhleSBhcmUgbnVtZXJpY2FsbHkgZXF1YWwgdGhlbiB0aGUgbGVmdC1oYW5kIG9wZXJhbmQKKyAgICAgICAgaXMgY2hvc2VuIGFzIHRoZSByZXN1bHQuICBPdGhlcndpc2UgdGhlIG1pbmltdW0gKGNsb3NlciB0byBuZWdhdGl2ZQorICAgICAgICBpbmZpbml0eSkgb2YgdGhlIHR3byBvcGVyYW5kcyBpcyBjaG9zZW4gYXMgdGhlIHJlc3VsdC4KKworICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm1pbihEZWNpbWFsKCczJyksIERlY2ltYWwoJzInKSkKKyAgICAgICAgRGVjaW1hbCgnMicpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWluKERlY2ltYWwoJy0xMCcpLCBEZWNpbWFsKCczJykpCisgICAgICAgIERlY2ltYWwoJy0xMCcpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWluKERlY2ltYWwoJzEuMCcpLCBEZWNpbWFsKCcxJykpCisgICAgICAgIERlY2ltYWwoJzEuMCcpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWluKERlY2ltYWwoJzcnKSwgRGVjaW1hbCgnTmFOJykpCisgICAgICAgIERlY2ltYWwoJzcnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm1pbigxLCAyKQorICAgICAgICBEZWNpbWFsKCcxJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5taW4oRGVjaW1hbCgxKSwgMikKKyAgICAgICAgRGVjaW1hbCgnMScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWluKDEsIERlY2ltYWwoMjkpKQorICAgICAgICBEZWNpbWFsKCcxJykKKyAgICAgICAgIiIiCisgICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCisgICAgICAgIHJldHVybiBhLm1pbihiLCBjb250ZXh0PXNlbGYpCisKKyAgICBkZWYgbWluX21hZyhzZWxmLCBhLCBiKToKKyAgICAgICAgIiIiQ29tcGFyZXMgdGhlIHZhbHVlcyBudW1lcmljYWxseSB3aXRoIHRoZWlyIHNpZ24gaWdub3JlZC4KKworICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm1pbl9tYWcoRGVjaW1hbCgnMycpLCBEZWNpbWFsKCctMicpKQorICAgICAgICBEZWNpbWFsKCctMicpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWluX21hZyhEZWNpbWFsKCctMycpLCBEZWNpbWFsKCdOYU4nKSkKKyAgICAgICAgRGVjaW1hbCgnLTMnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm1pbl9tYWcoMSwgLTIpCisgICAgICAgIERlY2ltYWwoJzEnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm1pbl9tYWcoRGVjaW1hbCgxKSwgLTIpCisgICAgICAgIERlY2ltYWwoJzEnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm1pbl9tYWcoMSwgRGVjaW1hbCgtMikpCisgICAgICAgIERlY2ltYWwoJzEnKQorICAgICAgICAiIiIKKyAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKKyAgICAgICAgcmV0dXJuIGEubWluX21hZyhiLCBjb250ZXh0PXNlbGYpCisKKyAgICBkZWYgbWludXMoc2VsZiwgYSk6CisgICAgICAgICIiIk1pbnVzIGNvcnJlc3BvbmRzIHRvIHVuYXJ5IHByZWZpeCBtaW51cyBpbiBQeXRob24uCisKKyAgICAgICAgVGhlIG9wZXJhdGlvbiBpcyBldmFsdWF0ZWQgdXNpbmcgdGhlIHNhbWUgcnVsZXMgYXMgc3VidHJhY3Q7IHRoZQorICAgICAgICBvcGVyYXRpb24gbWludXMoYSkgaXMgY2FsY3VsYXRlZCBhcyBzdWJ0cmFjdCgnMCcsIGEpIHdoZXJlIHRoZSAnMCcKKyAgICAgICAgaGFzIHRoZSBzYW1lIGV4cG9uZW50IGFzIHRoZSBvcGVyYW5kLgorCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWludXMoRGVjaW1hbCgnMS4zJykpCisgICAgICAgIERlY2ltYWwoJy0xLjMnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm1pbnVzKERlY2ltYWwoJy0xLjMnKSkKKyAgICAgICAgRGVjaW1hbCgnMS4zJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5taW51cygxKQorICAgICAgICBEZWNpbWFsKCctMScpCisgICAgICAgICIiIgorICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQorICAgICAgICByZXR1cm4gYS5fX25lZ19fKGNvbnRleHQ9c2VsZikKKworICAgIGRlZiBtdWx0aXBseShzZWxmLCBhLCBiKToKKyAgICAgICAgIiIibXVsdGlwbHkgbXVsdGlwbGllcyB0d28gb3BlcmFuZHMuCisKKyAgICAgICAgSWYgZWl0aGVyIG9wZXJhbmQgaXMgYSBzcGVjaWFsIHZhbHVlIHRoZW4gdGhlIGdlbmVyYWwgcnVsZXMgYXBwbHkuCisgICAgICAgIE90aGVyd2lzZSwgdGhlIG9wZXJhbmRzIGFyZSBtdWx0aXBsaWVkIHRvZ2V0aGVyCisgICAgICAgICgnbG9uZyBtdWx0aXBsaWNhdGlvbicpLCByZXN1bHRpbmcgaW4gYSBudW1iZXIgd2hpY2ggbWF5IGJlIGFzIGxvbmcgYXMKKyAgICAgICAgdGhlIHN1bSBvZiB0aGUgbGVuZ3RocyBvZiB0aGUgdHdvIG9wZXJhbmRzLgorCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubXVsdGlwbHkoRGVjaW1hbCgnMS4yMCcpLCBEZWNpbWFsKCczJykpCisgICAgICAgIERlY2ltYWwoJzMuNjAnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm11bHRpcGx5KERlY2ltYWwoJzcnKSwgRGVjaW1hbCgnMycpKQorICAgICAgICBEZWNpbWFsKCcyMScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubXVsdGlwbHkoRGVjaW1hbCgnMC45JyksIERlY2ltYWwoJzAuOCcpKQorICAgICAgICBEZWNpbWFsKCcwLjcyJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5tdWx0aXBseShEZWNpbWFsKCcwLjknKSwgRGVjaW1hbCgnLTAnKSkKKyAgICAgICAgRGVjaW1hbCgnLTAuMCcpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubXVsdGlwbHkoRGVjaW1hbCgnNjU0MzIxJyksIERlY2ltYWwoJzY1NDMyMScpKQorICAgICAgICBEZWNpbWFsKCc0LjI4MTM1OTcxRSsxMScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubXVsdGlwbHkoNywgNykKKyAgICAgICAgRGVjaW1hbCgnNDknKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm11bHRpcGx5KERlY2ltYWwoNyksIDcpCisgICAgICAgIERlY2ltYWwoJzQ5JykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5tdWx0aXBseSg3LCBEZWNpbWFsKDcpKQorICAgICAgICBEZWNpbWFsKCc0OScpCisgICAgICAgICIiIgorICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQorICAgICAgICByID0gYS5fX211bF9fKGIsIGNvbnRleHQ9c2VsZikKKyAgICAgICAgaWYgciBpcyBOb3RJbXBsZW1lbnRlZDoKKyAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiVW5hYmxlIHRvIGNvbnZlcnQgJXMgdG8gRGVjaW1hbCIgJSBiKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmV0dXJuIHIKKworICAgIGRlZiBuZXh0X21pbnVzKHNlbGYsIGEpOgorICAgICAgICAiIiJSZXR1cm5zIHRoZSBsYXJnZXN0IHJlcHJlc2VudGFibGUgbnVtYmVyIHNtYWxsZXIgdGhhbiBhLgorCisgICAgICAgID4+PiBjID0gRXh0ZW5kZWRDb250ZXh0LmNvcHkoKQorICAgICAgICA+Pj4gYy5FbWluID0gLTk5OQorICAgICAgICA+Pj4gYy5FbWF4ID0gOTk5CisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubmV4dF9taW51cyhEZWNpbWFsKCcxJykpCisgICAgICAgIERlY2ltYWwoJzAuOTk5OTk5OTk5JykKKyAgICAgICAgPj4+IGMubmV4dF9taW51cyhEZWNpbWFsKCcxRS0xMDA3JykpCisgICAgICAgIERlY2ltYWwoJzBFLTEwMDcnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm5leHRfbWludXMoRGVjaW1hbCgnLTEuMDAwMDAwMDMnKSkKKyAgICAgICAgRGVjaW1hbCgnLTEuMDAwMDAwMDQnKQorICAgICAgICA+Pj4gYy5uZXh0X21pbnVzKERlY2ltYWwoJ0luZmluaXR5JykpCisgICAgICAgIERlY2ltYWwoJzkuOTk5OTk5OTlFKzk5OScpCisgICAgICAgID4+PiBjLm5leHRfbWludXMoMSkKKyAgICAgICAgRGVjaW1hbCgnMC45OTk5OTk5OTknKQorICAgICAgICAiIiIKKyAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKKyAgICAgICAgcmV0dXJuIGEubmV4dF9taW51cyhjb250ZXh0PXNlbGYpCisKKyAgICBkZWYgbmV4dF9wbHVzKHNlbGYsIGEpOgorICAgICAgICAiIiJSZXR1cm5zIHRoZSBzbWFsbGVzdCByZXByZXNlbnRhYmxlIG51bWJlciBsYXJnZXIgdGhhbiBhLgorCisgICAgICAgID4+PiBjID0gRXh0ZW5kZWRDb250ZXh0LmNvcHkoKQorICAgICAgICA+Pj4gYy5FbWluID0gLTk5OQorICAgICAgICA+Pj4gYy5FbWF4ID0gOTk5CisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubmV4dF9wbHVzKERlY2ltYWwoJzEnKSkKKyAgICAgICAgRGVjaW1hbCgnMS4wMDAwMDAwMScpCisgICAgICAgID4+PiBjLm5leHRfcGx1cyhEZWNpbWFsKCctMUUtMTAwNycpKQorICAgICAgICBEZWNpbWFsKCctMEUtMTAwNycpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubmV4dF9wbHVzKERlY2ltYWwoJy0xLjAwMDAwMDAzJykpCisgICAgICAgIERlY2ltYWwoJy0xLjAwMDAwMDAyJykKKyAgICAgICAgPj4+IGMubmV4dF9wbHVzKERlY2ltYWwoJy1JbmZpbml0eScpKQorICAgICAgICBEZWNpbWFsKCctOS45OTk5OTk5OUUrOTk5JykKKyAgICAgICAgPj4+IGMubmV4dF9wbHVzKDEpCisgICAgICAgIERlY2ltYWwoJzEuMDAwMDAwMDEnKQorICAgICAgICAiIiIKKyAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKKyAgICAgICAgcmV0dXJuIGEubmV4dF9wbHVzKGNvbnRleHQ9c2VsZikKKworICAgIGRlZiBuZXh0X3Rvd2FyZChzZWxmLCBhLCBiKToKKyAgICAgICAgIiIiUmV0dXJucyB0aGUgbnVtYmVyIGNsb3Nlc3QgdG8gYSwgaW4gZGlyZWN0aW9uIHRvd2FyZHMgYi4KKworICAgICAgICBUaGUgcmVzdWx0IGlzIHRoZSBjbG9zZXN0IHJlcHJlc2VudGFibGUgbnVtYmVyIGZyb20gdGhlIGZpcnN0CisgICAgICAgIG9wZXJhbmQgKGJ1dCBub3QgdGhlIGZpcnN0IG9wZXJhbmQpIHRoYXQgaXMgaW4gdGhlIGRpcmVjdGlvbgorICAgICAgICB0b3dhcmRzIHRoZSBzZWNvbmQgb3BlcmFuZCwgdW5sZXNzIHRoZSBvcGVyYW5kcyBoYXZlIHRoZSBzYW1lCisgICAgICAgIHZhbHVlLgorCisgICAgICAgID4+PiBjID0gRXh0ZW5kZWRDb250ZXh0LmNvcHkoKQorICAgICAgICA+Pj4gYy5FbWluID0gLTk5OQorICAgICAgICA+Pj4gYy5FbWF4ID0gOTk5CisgICAgICAgID4+PiBjLm5leHRfdG93YXJkKERlY2ltYWwoJzEnKSwgRGVjaW1hbCgnMicpKQorICAgICAgICBEZWNpbWFsKCcxLjAwMDAwMDAxJykKKyAgICAgICAgPj4+IGMubmV4dF90b3dhcmQoRGVjaW1hbCgnLTFFLTEwMDcnKSwgRGVjaW1hbCgnMScpKQorICAgICAgICBEZWNpbWFsKCctMEUtMTAwNycpCisgICAgICAgID4+PiBjLm5leHRfdG93YXJkKERlY2ltYWwoJy0xLjAwMDAwMDAzJyksIERlY2ltYWwoJzAnKSkKKyAgICAgICAgRGVjaW1hbCgnLTEuMDAwMDAwMDInKQorICAgICAgICA+Pj4gYy5uZXh0X3Rvd2FyZChEZWNpbWFsKCcxJyksIERlY2ltYWwoJzAnKSkKKyAgICAgICAgRGVjaW1hbCgnMC45OTk5OTk5OTknKQorICAgICAgICA+Pj4gYy5uZXh0X3Rvd2FyZChEZWNpbWFsKCcxRS0xMDA3JyksIERlY2ltYWwoJy0xMDAnKSkKKyAgICAgICAgRGVjaW1hbCgnMEUtMTAwNycpCisgICAgICAgID4+PiBjLm5leHRfdG93YXJkKERlY2ltYWwoJy0xLjAwMDAwMDAzJyksIERlY2ltYWwoJy0xMCcpKQorICAgICAgICBEZWNpbWFsKCctMS4wMDAwMDAwNCcpCisgICAgICAgID4+PiBjLm5leHRfdG93YXJkKERlY2ltYWwoJzAuMDAnKSwgRGVjaW1hbCgnLTAuMDAwMCcpKQorICAgICAgICBEZWNpbWFsKCctMC4wMCcpCisgICAgICAgID4+PiBjLm5leHRfdG93YXJkKDAsIDEpCisgICAgICAgIERlY2ltYWwoJzFFLTEwMDcnKQorICAgICAgICA+Pj4gYy5uZXh0X3Rvd2FyZChEZWNpbWFsKDApLCAxKQorICAgICAgICBEZWNpbWFsKCcxRS0xMDA3JykKKyAgICAgICAgPj4+IGMubmV4dF90b3dhcmQoMCwgRGVjaW1hbCgxKSkKKyAgICAgICAgRGVjaW1hbCgnMUUtMTAwNycpCisgICAgICAgICIiIgorICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQorICAgICAgICByZXR1cm4gYS5uZXh0X3Rvd2FyZChiLCBjb250ZXh0PXNlbGYpCisKKyAgICBkZWYgbm9ybWFsaXplKHNlbGYsIGEpOgorICAgICAgICAiIiJub3JtYWxpemUgcmVkdWNlcyBhbiBvcGVyYW5kIHRvIGl0cyBzaW1wbGVzdCBmb3JtLgorCisgICAgICAgIEVzc2VudGlhbGx5IGEgcGx1cyBvcGVyYXRpb24gd2l0aCBhbGwgdHJhaWxpbmcgemVyb3MgcmVtb3ZlZCBmcm9tIHRoZQorICAgICAgICByZXN1bHQuCisKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5ub3JtYWxpemUoRGVjaW1hbCgnMi4xJykpCisgICAgICAgIERlY2ltYWwoJzIuMScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubm9ybWFsaXplKERlY2ltYWwoJy0yLjAnKSkKKyAgICAgICAgRGVjaW1hbCgnLTInKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm5vcm1hbGl6ZShEZWNpbWFsKCcxLjIwMCcpKQorICAgICAgICBEZWNpbWFsKCcxLjInKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm5vcm1hbGl6ZShEZWNpbWFsKCctMTIwJykpCisgICAgICAgIERlY2ltYWwoJy0xLjJFKzInKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm5vcm1hbGl6ZShEZWNpbWFsKCcxMjAuMDAnKSkKKyAgICAgICAgRGVjaW1hbCgnMS4yRSsyJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5ub3JtYWxpemUoRGVjaW1hbCgnMC4wMCcpKQorICAgICAgICBEZWNpbWFsKCcwJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5ub3JtYWxpemUoNikKKyAgICAgICAgRGVjaW1hbCgnNicpCisgICAgICAgICIiIgorICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQorICAgICAgICByZXR1cm4gYS5ub3JtYWxpemUoY29udGV4dD1zZWxmKQorCisgICAgZGVmIG51bWJlcl9jbGFzcyhzZWxmLCBhKToKKyAgICAgICAgIiIiUmV0dXJucyBhbiBpbmRpY2F0aW9uIG9mIHRoZSBjbGFzcyBvZiB0aGUgb3BlcmFuZC4KKworICAgICAgICBUaGUgY2xhc3MgaXMgb25lIG9mIHRoZSBmb2xsb3dpbmcgc3RyaW5nczoKKyAgICAgICAgICAtc05hTgorICAgICAgICAgIC1OYU4KKyAgICAgICAgICAtSW5maW5pdHkKKyAgICAgICAgICAtTm9ybWFsCisgICAgICAgICAgLVN1Ym5vcm1hbAorICAgICAgICAgIC1aZXJvCisgICAgICAgICAgK1plcm8KKyAgICAgICAgICArU3Vibm9ybWFsCisgICAgICAgICAgK05vcm1hbAorICAgICAgICAgICtJbmZpbml0eQorCisgICAgICAgID4+PiBjID0gRXh0ZW5kZWRDb250ZXh0LmNvcHkoKQorICAgICAgICA+Pj4gYy5FbWluID0gLTk5OQorICAgICAgICA+Pj4gYy5FbWF4ID0gOTk5CisgICAgICAgID4+PiBjLm51bWJlcl9jbGFzcyhEZWNpbWFsKCdJbmZpbml0eScpKQorICAgICAgICAnK0luZmluaXR5JworICAgICAgICA+Pj4gYy5udW1iZXJfY2xhc3MoRGVjaW1hbCgnMUUtMTAnKSkKKyAgICAgICAgJytOb3JtYWwnCisgICAgICAgID4+PiBjLm51bWJlcl9jbGFzcyhEZWNpbWFsKCcyLjUwJykpCisgICAgICAgICcrTm9ybWFsJworICAgICAgICA+Pj4gYy5udW1iZXJfY2xhc3MoRGVjaW1hbCgnMC4xRS05OTknKSkKKyAgICAgICAgJytTdWJub3JtYWwnCisgICAgICAgID4+PiBjLm51bWJlcl9jbGFzcyhEZWNpbWFsKCcwJykpCisgICAgICAgICcrWmVybycKKyAgICAgICAgPj4+IGMubnVtYmVyX2NsYXNzKERlY2ltYWwoJy0wJykpCisgICAgICAgICctWmVybycKKyAgICAgICAgPj4+IGMubnVtYmVyX2NsYXNzKERlY2ltYWwoJy0wLjFFLTk5OScpKQorICAgICAgICAnLVN1Ym5vcm1hbCcKKyAgICAgICAgPj4+IGMubnVtYmVyX2NsYXNzKERlY2ltYWwoJy0xRS0xMCcpKQorICAgICAgICAnLU5vcm1hbCcKKyAgICAgICAgPj4+IGMubnVtYmVyX2NsYXNzKERlY2ltYWwoJy0yLjUwJykpCisgICAgICAgICctTm9ybWFsJworICAgICAgICA+Pj4gYy5udW1iZXJfY2xhc3MoRGVjaW1hbCgnLUluZmluaXR5JykpCisgICAgICAgICctSW5maW5pdHknCisgICAgICAgID4+PiBjLm51bWJlcl9jbGFzcyhEZWNpbWFsKCdOYU4nKSkKKyAgICAgICAgJ05hTicKKyAgICAgICAgPj4+IGMubnVtYmVyX2NsYXNzKERlY2ltYWwoJy1OYU4nKSkKKyAgICAgICAgJ05hTicKKyAgICAgICAgPj4+IGMubnVtYmVyX2NsYXNzKERlY2ltYWwoJ3NOYU4nKSkKKyAgICAgICAgJ3NOYU4nCisgICAgICAgID4+PiBjLm51bWJlcl9jbGFzcygxMjMpCisgICAgICAgICcrTm9ybWFsJworICAgICAgICAiIiIKKyAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKKyAgICAgICAgcmV0dXJuIGEubnVtYmVyX2NsYXNzKGNvbnRleHQ9c2VsZikKKworICAgIGRlZiBwbHVzKHNlbGYsIGEpOgorICAgICAgICAiIiJQbHVzIGNvcnJlc3BvbmRzIHRvIHVuYXJ5IHByZWZpeCBwbHVzIGluIFB5dGhvbi4KKworICAgICAgICBUaGUgb3BlcmF0aW9uIGlzIGV2YWx1YXRlZCB1c2luZyB0aGUgc2FtZSBydWxlcyBhcyBhZGQ7IHRoZQorICAgICAgICBvcGVyYXRpb24gcGx1cyhhKSBpcyBjYWxjdWxhdGVkIGFzIGFkZCgnMCcsIGEpIHdoZXJlIHRoZSAnMCcKKyAgICAgICAgaGFzIHRoZSBzYW1lIGV4cG9uZW50IGFzIHRoZSBvcGVyYW5kLgorCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucGx1cyhEZWNpbWFsKCcxLjMnKSkKKyAgICAgICAgRGVjaW1hbCgnMS4zJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5wbHVzKERlY2ltYWwoJy0xLjMnKSkKKyAgICAgICAgRGVjaW1hbCgnLTEuMycpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucGx1cygtMSkKKyAgICAgICAgRGVjaW1hbCgnLTEnKQorICAgICAgICAiIiIKKyAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKKyAgICAgICAgcmV0dXJuIGEuX19wb3NfXyhjb250ZXh0PXNlbGYpCisKKyAgICBkZWYgcG93ZXIoc2VsZiwgYSwgYiwgbW9kdWxvPU5vbmUpOgorICAgICAgICAiIiJSYWlzZXMgYSB0byB0aGUgcG93ZXIgb2YgYiwgdG8gbW9kdWxvIGlmIGdpdmVuLgorCisgICAgICAgIFdpdGggdHdvIGFyZ3VtZW50cywgY29tcHV0ZSBhKipiLiAgSWYgYSBpcyBuZWdhdGl2ZSB0aGVuIGIKKyAgICAgICAgbXVzdCBiZSBpbnRlZ3JhbC4gIFRoZSByZXN1bHQgd2lsbCBiZSBpbmV4YWN0IHVubGVzcyBiIGlzCisgICAgICAgIGludGVncmFsIGFuZCB0aGUgcmVzdWx0IGlzIGZpbml0ZSBhbmQgY2FuIGJlIGV4cHJlc3NlZCBleGFjdGx5CisgICAgICAgIGluICdwcmVjaXNpb24nIGRpZ2l0cy4KKworICAgICAgICBXaXRoIHRocmVlIGFyZ3VtZW50cywgY29tcHV0ZSAoYSoqYikgJSBtb2R1bG8uICBGb3IgdGhlCisgICAgICAgIHRocmVlIGFyZ3VtZW50IGZvcm0sIHRoZSBmb2xsb3dpbmcgcmVzdHJpY3Rpb25zIG9uIHRoZQorICAgICAgICBhcmd1bWVudHMgaG9sZDoKKworICAgICAgICAgLSBhbGwgdGhyZWUgYXJndW1lbnRzIG11c3QgYmUgaW50ZWdyYWwKKyAgICAgICAgIC0gYiBtdXN0IGJlIG5vbm5lZ2F0aXZlCisgICAgICAgICAtIGF0IGxlYXN0IG9uZSBvZiBhIG9yIGIgbXVzdCBiZSBub256ZXJvCisgICAgICAgICAtIG1vZHVsbyBtdXN0IGJlIG5vbnplcm8gYW5kIGhhdmUgYXQgbW9zdCAncHJlY2lzaW9uJyBkaWdpdHMKKworICAgICAgICBUaGUgcmVzdWx0IG9mIHBvdyhhLCBiLCBtb2R1bG8pIGlzIGlkZW50aWNhbCB0byB0aGUgcmVzdWx0CisgICAgICAgIHRoYXQgd291bGQgYmUgb2J0YWluZWQgYnkgY29tcHV0aW5nIChhKipiKSAlIG1vZHVsbyB3aXRoCisgICAgICAgIHVuYm91bmRlZCBwcmVjaXNpb24sIGJ1dCBpcyBjb21wdXRlZCBtb3JlIGVmZmljaWVudGx5LiAgSXQgaXMKKyAgICAgICAgYWx3YXlzIGV4YWN0LgorCisgICAgICAgID4+PiBjID0gRXh0ZW5kZWRDb250ZXh0LmNvcHkoKQorICAgICAgICA+Pj4gYy5FbWluID0gLTk5OQorICAgICAgICA+Pj4gYy5FbWF4ID0gOTk5CisgICAgICAgID4+PiBjLnBvd2VyKERlY2ltYWwoJzInKSwgRGVjaW1hbCgnMycpKQorICAgICAgICBEZWNpbWFsKCc4JykKKyAgICAgICAgPj4+IGMucG93ZXIoRGVjaW1hbCgnLTInKSwgRGVjaW1hbCgnMycpKQorICAgICAgICBEZWNpbWFsKCctOCcpCisgICAgICAgID4+PiBjLnBvd2VyKERlY2ltYWwoJzInKSwgRGVjaW1hbCgnLTMnKSkKKyAgICAgICAgRGVjaW1hbCgnMC4xMjUnKQorICAgICAgICA+Pj4gYy5wb3dlcihEZWNpbWFsKCcxLjcnKSwgRGVjaW1hbCgnOCcpKQorICAgICAgICBEZWNpbWFsKCc2OS43NTc1NzQ0JykKKyAgICAgICAgPj4+IGMucG93ZXIoRGVjaW1hbCgnMTAnKSwgRGVjaW1hbCgnMC4zMDEwMjk5OTYnKSkKKyAgICAgICAgRGVjaW1hbCgnMi4wMDAwMDAwMCcpCisgICAgICAgID4+PiBjLnBvd2VyKERlY2ltYWwoJ0luZmluaXR5JyksIERlY2ltYWwoJy0xJykpCisgICAgICAgIERlY2ltYWwoJzAnKQorICAgICAgICA+Pj4gYy5wb3dlcihEZWNpbWFsKCdJbmZpbml0eScpLCBEZWNpbWFsKCcwJykpCisgICAgICAgIERlY2ltYWwoJzEnKQorICAgICAgICA+Pj4gYy5wb3dlcihEZWNpbWFsKCdJbmZpbml0eScpLCBEZWNpbWFsKCcxJykpCisgICAgICAgIERlY2ltYWwoJ0luZmluaXR5JykKKyAgICAgICAgPj4+IGMucG93ZXIoRGVjaW1hbCgnLUluZmluaXR5JyksIERlY2ltYWwoJy0xJykpCisgICAgICAgIERlY2ltYWwoJy0wJykKKyAgICAgICAgPj4+IGMucG93ZXIoRGVjaW1hbCgnLUluZmluaXR5JyksIERlY2ltYWwoJzAnKSkKKyAgICAgICAgRGVjaW1hbCgnMScpCisgICAgICAgID4+PiBjLnBvd2VyKERlY2ltYWwoJy1JbmZpbml0eScpLCBEZWNpbWFsKCcxJykpCisgICAgICAgIERlY2ltYWwoJy1JbmZpbml0eScpCisgICAgICAgID4+PiBjLnBvd2VyKERlY2ltYWwoJy1JbmZpbml0eScpLCBEZWNpbWFsKCcyJykpCisgICAgICAgIERlY2ltYWwoJ0luZmluaXR5JykKKyAgICAgICAgPj4+IGMucG93ZXIoRGVjaW1hbCgnMCcpLCBEZWNpbWFsKCcwJykpCisgICAgICAgIERlY2ltYWwoJ05hTicpCisKKyAgICAgICAgPj4+IGMucG93ZXIoRGVjaW1hbCgnMycpLCBEZWNpbWFsKCc3JyksIERlY2ltYWwoJzE2JykpCisgICAgICAgIERlY2ltYWwoJzExJykKKyAgICAgICAgPj4+IGMucG93ZXIoRGVjaW1hbCgnLTMnKSwgRGVjaW1hbCgnNycpLCBEZWNpbWFsKCcxNicpKQorICAgICAgICBEZWNpbWFsKCctMTEnKQorICAgICAgICA+Pj4gYy5wb3dlcihEZWNpbWFsKCctMycpLCBEZWNpbWFsKCc4JyksIERlY2ltYWwoJzE2JykpCisgICAgICAgIERlY2ltYWwoJzEnKQorICAgICAgICA+Pj4gYy5wb3dlcihEZWNpbWFsKCczJyksIERlY2ltYWwoJzcnKSwgRGVjaW1hbCgnLTE2JykpCisgICAgICAgIERlY2ltYWwoJzExJykKKyAgICAgICAgPj4+IGMucG93ZXIoRGVjaW1hbCgnMjNFMTIzNDUnKSwgRGVjaW1hbCgnNjdFMTg5JyksIERlY2ltYWwoJzEyMzQ1Njc4OScpKQorICAgICAgICBEZWNpbWFsKCcxMTcyOTgzMCcpCisgICAgICAgID4+PiBjLnBvd2VyKERlY2ltYWwoJy0wJyksIERlY2ltYWwoJzE3JyksIERlY2ltYWwoJzE3MjknKSkKKyAgICAgICAgRGVjaW1hbCgnLTAnKQorICAgICAgICA+Pj4gYy5wb3dlcihEZWNpbWFsKCctMjMnKSwgRGVjaW1hbCgnMCcpLCBEZWNpbWFsKCc2NTUzNycpKQorICAgICAgICBEZWNpbWFsKCcxJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5wb3dlcig3LCA3KQorICAgICAgICBEZWNpbWFsKCc4MjM1NDMnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnBvd2VyKERlY2ltYWwoNyksIDcpCisgICAgICAgIERlY2ltYWwoJzgyMzU0MycpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucG93ZXIoNywgRGVjaW1hbCg3KSwgMikKKyAgICAgICAgRGVjaW1hbCgnMScpCisgICAgICAgICIiIgorICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQorICAgICAgICByID0gYS5fX3Bvd19fKGIsIG1vZHVsbywgY29udGV4dD1zZWxmKQorICAgICAgICBpZiByIGlzIE5vdEltcGxlbWVudGVkOgorICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJVbmFibGUgdG8gY29udmVydCAlcyB0byBEZWNpbWFsIiAlIGIpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXR1cm4gcgorCisgICAgZGVmIHF1YW50aXplKHNlbGYsIGEsIGIpOgorICAgICAgICAiIiJSZXR1cm5zIGEgdmFsdWUgZXF1YWwgdG8gJ2EnIChyb3VuZGVkKSwgaGF2aW5nIHRoZSBleHBvbmVudCBvZiAnYicuCisKKyAgICAgICAgVGhlIGNvZWZmaWNpZW50IG9mIHRoZSByZXN1bHQgaXMgZGVyaXZlZCBmcm9tIHRoYXQgb2YgdGhlIGxlZnQtaGFuZAorICAgICAgICBvcGVyYW5kLiAgSXQgbWF5IGJlIHJvdW5kZWQgdXNpbmcgdGhlIGN1cnJlbnQgcm91bmRpbmcgc2V0dGluZyAoaWYgdGhlCisgICAgICAgIGV4cG9uZW50IGlzIGJlaW5nIGluY3JlYXNlZCksIG11bHRpcGxpZWQgYnkgYSBwb3NpdGl2ZSBwb3dlciBvZiB0ZW4gKGlmCisgICAgICAgIHRoZSBleHBvbmVudCBpcyBiZWluZyBkZWNyZWFzZWQpLCBvciBpcyB1bmNoYW5nZWQgKGlmIHRoZSBleHBvbmVudCBpcworICAgICAgICBhbHJlYWR5IGVxdWFsIHRvIHRoYXQgb2YgdGhlIHJpZ2h0LWhhbmQgb3BlcmFuZCkuCisKKyAgICAgICAgVW5saWtlIG90aGVyIG9wZXJhdGlvbnMsIGlmIHRoZSBsZW5ndGggb2YgdGhlIGNvZWZmaWNpZW50IGFmdGVyIHRoZQorICAgICAgICBxdWFudGl6ZSBvcGVyYXRpb24gd291bGQgYmUgZ3JlYXRlciB0aGFuIHByZWNpc2lvbiB0aGVuIGFuIEludmFsaWQKKyAgICAgICAgb3BlcmF0aW9uIGNvbmRpdGlvbiBpcyByYWlzZWQuICBUaGlzIGd1YXJhbnRlZXMgdGhhdCwgdW5sZXNzIHRoZXJlIGlzCisgICAgICAgIGFuIGVycm9yIGNvbmRpdGlvbiwgdGhlIGV4cG9uZW50IG9mIHRoZSByZXN1bHQgb2YgYSBxdWFudGl6ZSBpcyBhbHdheXMKKyAgICAgICAgZXF1YWwgdG8gdGhhdCBvZiB0aGUgcmlnaHQtaGFuZCBvcGVyYW5kLgorCisgICAgICAgIEFsc28gdW5saWtlIG90aGVyIG9wZXJhdGlvbnMsIHF1YW50aXplIHdpbGwgbmV2ZXIgcmFpc2UgVW5kZXJmbG93LCBldmVuCisgICAgICAgIGlmIHRoZSByZXN1bHQgaXMgc3Vibm9ybWFsIGFuZCBpbmV4YWN0LgorCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucXVhbnRpemUoRGVjaW1hbCgnMi4xNycpLCBEZWNpbWFsKCcwLjAwMScpKQorICAgICAgICBEZWNpbWFsKCcyLjE3MCcpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucXVhbnRpemUoRGVjaW1hbCgnMi4xNycpLCBEZWNpbWFsKCcwLjAxJykpCisgICAgICAgIERlY2ltYWwoJzIuMTcnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnF1YW50aXplKERlY2ltYWwoJzIuMTcnKSwgRGVjaW1hbCgnMC4xJykpCisgICAgICAgIERlY2ltYWwoJzIuMicpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucXVhbnRpemUoRGVjaW1hbCgnMi4xNycpLCBEZWNpbWFsKCcxZSswJykpCisgICAgICAgIERlY2ltYWwoJzInKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnF1YW50aXplKERlY2ltYWwoJzIuMTcnKSwgRGVjaW1hbCgnMWUrMScpKQorICAgICAgICBEZWNpbWFsKCcwRSsxJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5xdWFudGl6ZShEZWNpbWFsKCctSW5mJyksIERlY2ltYWwoJ0luZmluaXR5JykpCisgICAgICAgIERlY2ltYWwoJy1JbmZpbml0eScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucXVhbnRpemUoRGVjaW1hbCgnMicpLCBEZWNpbWFsKCdJbmZpbml0eScpKQorICAgICAgICBEZWNpbWFsKCdOYU4nKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnF1YW50aXplKERlY2ltYWwoJy0wLjEnKSwgRGVjaW1hbCgnMScpKQorICAgICAgICBEZWNpbWFsKCctMCcpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucXVhbnRpemUoRGVjaW1hbCgnLTAnKSwgRGVjaW1hbCgnMWUrNScpKQorICAgICAgICBEZWNpbWFsKCctMEUrNScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucXVhbnRpemUoRGVjaW1hbCgnKzM1MjM2NDUwLjYnKSwgRGVjaW1hbCgnMWUtMicpKQorICAgICAgICBEZWNpbWFsKCdOYU4nKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnF1YW50aXplKERlY2ltYWwoJy0zNTIzNjQ1MC42JyksIERlY2ltYWwoJzFlLTInKSkKKyAgICAgICAgRGVjaW1hbCgnTmFOJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5xdWFudGl6ZShEZWNpbWFsKCcyMTcnKSwgRGVjaW1hbCgnMWUtMScpKQorICAgICAgICBEZWNpbWFsKCcyMTcuMCcpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucXVhbnRpemUoRGVjaW1hbCgnMjE3JyksIERlY2ltYWwoJzFlLTAnKSkKKyAgICAgICAgRGVjaW1hbCgnMjE3JykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5xdWFudGl6ZShEZWNpbWFsKCcyMTcnKSwgRGVjaW1hbCgnMWUrMScpKQorICAgICAgICBEZWNpbWFsKCcyLjJFKzInKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnF1YW50aXplKERlY2ltYWwoJzIxNycpLCBEZWNpbWFsKCcxZSsyJykpCisgICAgICAgIERlY2ltYWwoJzJFKzInKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnF1YW50aXplKDEsIDIpCisgICAgICAgIERlY2ltYWwoJzEnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnF1YW50aXplKERlY2ltYWwoMSksIDIpCisgICAgICAgIERlY2ltYWwoJzEnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnF1YW50aXplKDEsIERlY2ltYWwoMikpCisgICAgICAgIERlY2ltYWwoJzEnKQorICAgICAgICAiIiIKKyAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKKyAgICAgICAgcmV0dXJuIGEucXVhbnRpemUoYiwgY29udGV4dD1zZWxmKQorCisgICAgZGVmIHJhZGl4KHNlbGYpOgorICAgICAgICAiIiJKdXN0IHJldHVybnMgMTAsIGFzIHRoaXMgaXMgRGVjaW1hbCwgOikKKworICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnJhZGl4KCkKKyAgICAgICAgRGVjaW1hbCgnMTAnKQorICAgICAgICAiIiIKKyAgICAgICAgcmV0dXJuIERlY2ltYWwoMTApCisKKyAgICBkZWYgcmVtYWluZGVyKHNlbGYsIGEsIGIpOgorICAgICAgICAiIiJSZXR1cm5zIHRoZSByZW1haW5kZXIgZnJvbSBpbnRlZ2VyIGRpdmlzaW9uLgorCisgICAgICAgIFRoZSByZXN1bHQgaXMgdGhlIHJlc2lkdWUgb2YgdGhlIGRpdmlkZW5kIGFmdGVyIHRoZSBvcGVyYXRpb24gb2YKKyAgICAgICAgY2FsY3VsYXRpbmcgaW50ZWdlciBkaXZpc2lvbiBhcyBkZXNjcmliZWQgZm9yIGRpdmlkZS1pbnRlZ2VyLCByb3VuZGVkCisgICAgICAgIHRvIHByZWNpc2lvbiBkaWdpdHMgaWYgbmVjZXNzYXJ5LiAgVGhlIHNpZ24gb2YgdGhlIHJlc3VsdCwgaWYKKyAgICAgICAgbm9uLXplcm8sIGlzIHRoZSBzYW1lIGFzIHRoYXQgb2YgdGhlIG9yaWdpbmFsIGRpdmlkZW5kLgorCisgICAgICAgIFRoaXMgb3BlcmF0aW9uIHdpbGwgZmFpbCB1bmRlciB0aGUgc2FtZSBjb25kaXRpb25zIGFzIGludGVnZXIgZGl2aXNpb24KKyAgICAgICAgKHRoYXQgaXMsIGlmIGludGVnZXIgZGl2aXNpb24gb24gdGhlIHNhbWUgdHdvIG9wZXJhbmRzIHdvdWxkIGZhaWwsIHRoZQorICAgICAgICByZW1haW5kZXIgY2Fubm90IGJlIGNhbGN1bGF0ZWQpLgorCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucmVtYWluZGVyKERlY2ltYWwoJzIuMScpLCBEZWNpbWFsKCczJykpCisgICAgICAgIERlY2ltYWwoJzIuMScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucmVtYWluZGVyKERlY2ltYWwoJzEwJyksIERlY2ltYWwoJzMnKSkKKyAgICAgICAgRGVjaW1hbCgnMScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucmVtYWluZGVyKERlY2ltYWwoJy0xMCcpLCBEZWNpbWFsKCczJykpCisgICAgICAgIERlY2ltYWwoJy0xJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yZW1haW5kZXIoRGVjaW1hbCgnMTAuMicpLCBEZWNpbWFsKCcxJykpCisgICAgICAgIERlY2ltYWwoJzAuMicpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucmVtYWluZGVyKERlY2ltYWwoJzEwJyksIERlY2ltYWwoJzAuMycpKQorICAgICAgICBEZWNpbWFsKCcwLjEnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnJlbWFpbmRlcihEZWNpbWFsKCczLjYnKSwgRGVjaW1hbCgnMS4zJykpCisgICAgICAgIERlY2ltYWwoJzEuMCcpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucmVtYWluZGVyKDIyLCA2KQorICAgICAgICBEZWNpbWFsKCc0JykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yZW1haW5kZXIoRGVjaW1hbCgyMiksIDYpCisgICAgICAgIERlY2ltYWwoJzQnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnJlbWFpbmRlcigyMiwgRGVjaW1hbCg2KSkKKyAgICAgICAgRGVjaW1hbCgnNCcpCisgICAgICAgICIiIgorICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQorICAgICAgICByID0gYS5fX21vZF9fKGIsIGNvbnRleHQ9c2VsZikKKyAgICAgICAgaWYgciBpcyBOb3RJbXBsZW1lbnRlZDoKKyAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiVW5hYmxlIHRvIGNvbnZlcnQgJXMgdG8gRGVjaW1hbCIgJSBiKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmV0dXJuIHIKKworICAgIGRlZiByZW1haW5kZXJfbmVhcihzZWxmLCBhLCBiKToKKyAgICAgICAgIiIiUmV0dXJucyB0byBiZSAiYSAtIGIgKiBuIiwgd2hlcmUgbiBpcyB0aGUgaW50ZWdlciBuZWFyZXN0IHRoZSBleGFjdAorICAgICAgICB2YWx1ZSBvZiAieCAvIGIiIChpZiB0d28gaW50ZWdlcnMgYXJlIGVxdWFsbHkgbmVhciB0aGVuIHRoZSBldmVuIG9uZQorICAgICAgICBpcyBjaG9zZW4pLiAgSWYgdGhlIHJlc3VsdCBpcyBlcXVhbCB0byAwIHRoZW4gaXRzIHNpZ24gd2lsbCBiZSB0aGUKKyAgICAgICAgc2lnbiBvZiBhLgorCisgICAgICAgIFRoaXMgb3BlcmF0aW9uIHdpbGwgZmFpbCB1bmRlciB0aGUgc2FtZSBjb25kaXRpb25zIGFzIGludGVnZXIgZGl2aXNpb24KKyAgICAgICAgKHRoYXQgaXMsIGlmIGludGVnZXIgZGl2aXNpb24gb24gdGhlIHNhbWUgdHdvIG9wZXJhbmRzIHdvdWxkIGZhaWwsIHRoZQorICAgICAgICByZW1haW5kZXIgY2Fubm90IGJlIGNhbGN1bGF0ZWQpLgorCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucmVtYWluZGVyX25lYXIoRGVjaW1hbCgnMi4xJyksIERlY2ltYWwoJzMnKSkKKyAgICAgICAgRGVjaW1hbCgnLTAuOScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucmVtYWluZGVyX25lYXIoRGVjaW1hbCgnMTAnKSwgRGVjaW1hbCgnNicpKQorICAgICAgICBEZWNpbWFsKCctMicpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucmVtYWluZGVyX25lYXIoRGVjaW1hbCgnMTAnKSwgRGVjaW1hbCgnMycpKQorICAgICAgICBEZWNpbWFsKCcxJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yZW1haW5kZXJfbmVhcihEZWNpbWFsKCctMTAnKSwgRGVjaW1hbCgnMycpKQorICAgICAgICBEZWNpbWFsKCctMScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucmVtYWluZGVyX25lYXIoRGVjaW1hbCgnMTAuMicpLCBEZWNpbWFsKCcxJykpCisgICAgICAgIERlY2ltYWwoJzAuMicpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucmVtYWluZGVyX25lYXIoRGVjaW1hbCgnMTAnKSwgRGVjaW1hbCgnMC4zJykpCisgICAgICAgIERlY2ltYWwoJzAuMScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucmVtYWluZGVyX25lYXIoRGVjaW1hbCgnMy42JyksIERlY2ltYWwoJzEuMycpKQorICAgICAgICBEZWNpbWFsKCctMC4zJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yZW1haW5kZXJfbmVhcigzLCAxMSkKKyAgICAgICAgRGVjaW1hbCgnMycpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucmVtYWluZGVyX25lYXIoRGVjaW1hbCgzKSwgMTEpCisgICAgICAgIERlY2ltYWwoJzMnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnJlbWFpbmRlcl9uZWFyKDMsIERlY2ltYWwoMTEpKQorICAgICAgICBEZWNpbWFsKCczJykKKyAgICAgICAgIiIiCisgICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCisgICAgICAgIHJldHVybiBhLnJlbWFpbmRlcl9uZWFyKGIsIGNvbnRleHQ9c2VsZikKKworICAgIGRlZiByb3RhdGUoc2VsZiwgYSwgYik6CisgICAgICAgICIiIlJldHVybnMgYSByb3RhdGVkIGNvcHkgb2YgYSwgYiB0aW1lcy4KKworICAgICAgICBUaGUgY29lZmZpY2llbnQgb2YgdGhlIHJlc3VsdCBpcyBhIHJvdGF0ZWQgY29weSBvZiB0aGUgZGlnaXRzIGluCisgICAgICAgIHRoZSBjb2VmZmljaWVudCBvZiB0aGUgZmlyc3Qgb3BlcmFuZC4gIFRoZSBudW1iZXIgb2YgcGxhY2VzIG9mCisgICAgICAgIHJvdGF0aW9uIGlzIHRha2VuIGZyb20gdGhlIGFic29sdXRlIHZhbHVlIG9mIHRoZSBzZWNvbmQgb3BlcmFuZCwKKyAgICAgICAgd2l0aCB0aGUgcm90YXRpb24gYmVpbmcgdG8gdGhlIGxlZnQgaWYgdGhlIHNlY29uZCBvcGVyYW5kIGlzCisgICAgICAgIHBvc2l0aXZlIG9yIHRvIHRoZSByaWdodCBvdGhlcndpc2UuCisKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yb3RhdGUoRGVjaW1hbCgnMzQnKSwgRGVjaW1hbCgnOCcpKQorICAgICAgICBEZWNpbWFsKCc0MDAwMDAwMDMnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnJvdGF0ZShEZWNpbWFsKCcxMicpLCBEZWNpbWFsKCc5JykpCisgICAgICAgIERlY2ltYWwoJzEyJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yb3RhdGUoRGVjaW1hbCgnMTIzNDU2Nzg5JyksIERlY2ltYWwoJy0yJykpCisgICAgICAgIERlY2ltYWwoJzg5MTIzNDU2NycpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucm90YXRlKERlY2ltYWwoJzEyMzQ1Njc4OScpLCBEZWNpbWFsKCcwJykpCisgICAgICAgIERlY2ltYWwoJzEyMzQ1Njc4OScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucm90YXRlKERlY2ltYWwoJzEyMzQ1Njc4OScpLCBEZWNpbWFsKCcrMicpKQorICAgICAgICBEZWNpbWFsKCczNDU2Nzg5MTInKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnJvdGF0ZSgxMzMzMzMzLCAxKQorICAgICAgICBEZWNpbWFsKCcxMzMzMzMzMCcpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucm90YXRlKERlY2ltYWwoMTMzMzMzMyksIDEpCisgICAgICAgIERlY2ltYWwoJzEzMzMzMzMwJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yb3RhdGUoMTMzMzMzMywgRGVjaW1hbCgxKSkKKyAgICAgICAgRGVjaW1hbCgnMTMzMzMzMzAnKQorICAgICAgICAiIiIKKyAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKKyAgICAgICAgcmV0dXJuIGEucm90YXRlKGIsIGNvbnRleHQ9c2VsZikKKworICAgIGRlZiBzYW1lX3F1YW50dW0oc2VsZiwgYSwgYik6CisgICAgICAgICIiIlJldHVybnMgVHJ1ZSBpZiB0aGUgdHdvIG9wZXJhbmRzIGhhdmUgdGhlIHNhbWUgZXhwb25lbnQuCisKKyAgICAgICAgVGhlIHJlc3VsdCBpcyBuZXZlciBhZmZlY3RlZCBieSBlaXRoZXIgdGhlIHNpZ24gb3IgdGhlIGNvZWZmaWNpZW50IG9mCisgICAgICAgIGVpdGhlciBvcGVyYW5kLgorCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc2FtZV9xdWFudHVtKERlY2ltYWwoJzIuMTcnKSwgRGVjaW1hbCgnMC4wMDEnKSkKKyAgICAgICAgRmFsc2UKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zYW1lX3F1YW50dW0oRGVjaW1hbCgnMi4xNycpLCBEZWNpbWFsKCcwLjAxJykpCisgICAgICAgIFRydWUKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zYW1lX3F1YW50dW0oRGVjaW1hbCgnMi4xNycpLCBEZWNpbWFsKCcxJykpCisgICAgICAgIEZhbHNlCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc2FtZV9xdWFudHVtKERlY2ltYWwoJ0luZicpLCBEZWNpbWFsKCctSW5mJykpCisgICAgICAgIFRydWUKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zYW1lX3F1YW50dW0oMTAwMDAsIC0xKQorICAgICAgICBUcnVlCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc2FtZV9xdWFudHVtKERlY2ltYWwoMTAwMDApLCAtMSkKKyAgICAgICAgVHJ1ZQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNhbWVfcXVhbnR1bSgxMDAwMCwgRGVjaW1hbCgtMSkpCisgICAgICAgIFRydWUKKyAgICAgICAgIiIiCisgICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCisgICAgICAgIHJldHVybiBhLnNhbWVfcXVhbnR1bShiKQorCisgICAgZGVmIHNjYWxlYiAoc2VsZiwgYSwgYik6CisgICAgICAgICIiIlJldHVybnMgdGhlIGZpcnN0IG9wZXJhbmQgYWZ0ZXIgYWRkaW5nIHRoZSBzZWNvbmQgdmFsdWUgaXRzIGV4cC4KKworICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNjYWxlYihEZWNpbWFsKCc3LjUwJyksIERlY2ltYWwoJy0yJykpCisgICAgICAgIERlY2ltYWwoJzAuMDc1MCcpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc2NhbGViKERlY2ltYWwoJzcuNTAnKSwgRGVjaW1hbCgnMCcpKQorICAgICAgICBEZWNpbWFsKCc3LjUwJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zY2FsZWIoRGVjaW1hbCgnNy41MCcpLCBEZWNpbWFsKCczJykpCisgICAgICAgIERlY2ltYWwoJzcuNTBFKzMnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNjYWxlYigxLCA0KQorICAgICAgICBEZWNpbWFsKCcxRSs0JykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zY2FsZWIoRGVjaW1hbCgxKSwgNCkKKyAgICAgICAgRGVjaW1hbCgnMUUrNCcpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc2NhbGViKDEsIERlY2ltYWwoNCkpCisgICAgICAgIERlY2ltYWwoJzFFKzQnKQorICAgICAgICAiIiIKKyAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKKyAgICAgICAgcmV0dXJuIGEuc2NhbGViKGIsIGNvbnRleHQ9c2VsZikKKworICAgIGRlZiBzaGlmdChzZWxmLCBhLCBiKToKKyAgICAgICAgIiIiUmV0dXJucyBhIHNoaWZ0ZWQgY29weSBvZiBhLCBiIHRpbWVzLgorCisgICAgICAgIFRoZSBjb2VmZmljaWVudCBvZiB0aGUgcmVzdWx0IGlzIGEgc2hpZnRlZCBjb3B5IG9mIHRoZSBkaWdpdHMKKyAgICAgICAgaW4gdGhlIGNvZWZmaWNpZW50IG9mIHRoZSBmaXJzdCBvcGVyYW5kLiAgVGhlIG51bWJlciBvZiBwbGFjZXMKKyAgICAgICAgdG8gc2hpZnQgaXMgdGFrZW4gZnJvbSB0aGUgYWJzb2x1dGUgdmFsdWUgb2YgdGhlIHNlY29uZCBvcGVyYW5kLAorICAgICAgICB3aXRoIHRoZSBzaGlmdCBiZWluZyB0byB0aGUgbGVmdCBpZiB0aGUgc2Vjb25kIG9wZXJhbmQgaXMKKyAgICAgICAgcG9zaXRpdmUgb3IgdG8gdGhlIHJpZ2h0IG90aGVyd2lzZS4gIERpZ2l0cyBzaGlmdGVkIGludG8gdGhlCisgICAgICAgIGNvZWZmaWNpZW50IGFyZSB6ZXJvcy4KKworICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNoaWZ0KERlY2ltYWwoJzM0JyksIERlY2ltYWwoJzgnKSkKKyAgICAgICAgRGVjaW1hbCgnNDAwMDAwMDAwJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zaGlmdChEZWNpbWFsKCcxMicpLCBEZWNpbWFsKCc5JykpCisgICAgICAgIERlY2ltYWwoJzAnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNoaWZ0KERlY2ltYWwoJzEyMzQ1Njc4OScpLCBEZWNpbWFsKCctMicpKQorICAgICAgICBEZWNpbWFsKCcxMjM0NTY3JykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zaGlmdChEZWNpbWFsKCcxMjM0NTY3ODknKSwgRGVjaW1hbCgnMCcpKQorICAgICAgICBEZWNpbWFsKCcxMjM0NTY3ODknKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNoaWZ0KERlY2ltYWwoJzEyMzQ1Njc4OScpLCBEZWNpbWFsKCcrMicpKQorICAgICAgICBEZWNpbWFsKCczNDU2Nzg5MDAnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNoaWZ0KDg4ODg4ODg4LCAyKQorICAgICAgICBEZWNpbWFsKCc4ODg4ODg4MDAnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNoaWZ0KERlY2ltYWwoODg4ODg4ODgpLCAyKQorICAgICAgICBEZWNpbWFsKCc4ODg4ODg4MDAnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNoaWZ0KDg4ODg4ODg4LCBEZWNpbWFsKDIpKQorICAgICAgICBEZWNpbWFsKCc4ODg4ODg4MDAnKQorICAgICAgICAiIiIKKyAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKKyAgICAgICAgcmV0dXJuIGEuc2hpZnQoYiwgY29udGV4dD1zZWxmKQorCisgICAgZGVmIHNxcnQoc2VsZiwgYSk6CisgICAgICAgICIiIlNxdWFyZSByb290IG9mIGEgbm9uLW5lZ2F0aXZlIG51bWJlciB0byBjb250ZXh0IHByZWNpc2lvbi4KKworICAgICAgICBJZiB0aGUgcmVzdWx0IG11c3QgYmUgaW5leGFjdCwgaXQgaXMgcm91bmRlZCB1c2luZyB0aGUgcm91bmQtaGFsZi1ldmVuCisgICAgICAgIGFsZ29yaXRobS4KKworICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNxcnQoRGVjaW1hbCgnMCcpKQorICAgICAgICBEZWNpbWFsKCcwJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zcXJ0KERlY2ltYWwoJy0wJykpCisgICAgICAgIERlY2ltYWwoJy0wJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zcXJ0KERlY2ltYWwoJzAuMzknKSkKKyAgICAgICAgRGVjaW1hbCgnMC42MjQ0OTk4MDAnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNxcnQoRGVjaW1hbCgnMTAwJykpCisgICAgICAgIERlY2ltYWwoJzEwJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zcXJ0KERlY2ltYWwoJzEnKSkKKyAgICAgICAgRGVjaW1hbCgnMScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc3FydChEZWNpbWFsKCcxLjAnKSkKKyAgICAgICAgRGVjaW1hbCgnMS4wJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zcXJ0KERlY2ltYWwoJzEuMDAnKSkKKyAgICAgICAgRGVjaW1hbCgnMS4wJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zcXJ0KERlY2ltYWwoJzcnKSkKKyAgICAgICAgRGVjaW1hbCgnMi42NDU3NTEzMScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc3FydChEZWNpbWFsKCcxMCcpKQorICAgICAgICBEZWNpbWFsKCczLjE2MjI3NzY2JykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zcXJ0KDIpCisgICAgICAgIERlY2ltYWwoJzEuNDE0MjEzNTYnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnByZWMKKyAgICAgICAgOQorICAgICAgICAiIiIKKyAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKKyAgICAgICAgcmV0dXJuIGEuc3FydChjb250ZXh0PXNlbGYpCisKKyAgICBkZWYgc3VidHJhY3Qoc2VsZiwgYSwgYik6CisgICAgICAgICIiIlJldHVybiB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSB0d28gb3BlcmFuZHMuCisKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zdWJ0cmFjdChEZWNpbWFsKCcxLjMnKSwgRGVjaW1hbCgnMS4wNycpKQorICAgICAgICBEZWNpbWFsKCcwLjIzJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zdWJ0cmFjdChEZWNpbWFsKCcxLjMnKSwgRGVjaW1hbCgnMS4zMCcpKQorICAgICAgICBEZWNpbWFsKCcwLjAwJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zdWJ0cmFjdChEZWNpbWFsKCcxLjMnKSwgRGVjaW1hbCgnMi4wNycpKQorICAgICAgICBEZWNpbWFsKCctMC43NycpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc3VidHJhY3QoOCwgNSkKKyAgICAgICAgRGVjaW1hbCgnMycpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc3VidHJhY3QoRGVjaW1hbCg4KSwgNSkKKyAgICAgICAgRGVjaW1hbCgnMycpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc3VidHJhY3QoOCwgRGVjaW1hbCg1KSkKKyAgICAgICAgRGVjaW1hbCgnMycpCisgICAgICAgICIiIgorICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQorICAgICAgICByID0gYS5fX3N1Yl9fKGIsIGNvbnRleHQ9c2VsZikKKyAgICAgICAgaWYgciBpcyBOb3RJbXBsZW1lbnRlZDoKKyAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiVW5hYmxlIHRvIGNvbnZlcnQgJXMgdG8gRGVjaW1hbCIgJSBiKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmV0dXJuIHIKKworICAgIGRlZiB0b19lbmdfc3RyaW5nKHNlbGYsIGEpOgorICAgICAgICAiIiJDb252ZXJ0cyBhIG51bWJlciB0byBhIHN0cmluZywgdXNpbmcgc2NpZW50aWZpYyBub3RhdGlvbi4KKworICAgICAgICBUaGUgb3BlcmF0aW9uIGlzIG5vdCBhZmZlY3RlZCBieSB0aGUgY29udGV4dC4KKyAgICAgICAgIiIiCisgICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCisgICAgICAgIHJldHVybiBhLnRvX2VuZ19zdHJpbmcoY29udGV4dD1zZWxmKQorCisgICAgZGVmIHRvX3NjaV9zdHJpbmcoc2VsZiwgYSk6CisgICAgICAgICIiIkNvbnZlcnRzIGEgbnVtYmVyIHRvIGEgc3RyaW5nLCB1c2luZyBzY2llbnRpZmljIG5vdGF0aW9uLgorCisgICAgICAgIFRoZSBvcGVyYXRpb24gaXMgbm90IGFmZmVjdGVkIGJ5IHRoZSBjb250ZXh0LgorICAgICAgICAiIiIKKyAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKKyAgICAgICAgcmV0dXJuIGEuX19zdHJfXyhjb250ZXh0PXNlbGYpCisKKyAgICBkZWYgdG9faW50ZWdyYWxfZXhhY3Qoc2VsZiwgYSk6CisgICAgICAgICIiIlJvdW5kcyB0byBhbiBpbnRlZ2VyLgorCisgICAgICAgIFdoZW4gdGhlIG9wZXJhbmQgaGFzIGEgbmVnYXRpdmUgZXhwb25lbnQsIHRoZSByZXN1bHQgaXMgdGhlIHNhbWUKKyAgICAgICAgYXMgdXNpbmcgdGhlIHF1YW50aXplKCkgb3BlcmF0aW9uIHVzaW5nIHRoZSBnaXZlbiBvcGVyYW5kIGFzIHRoZQorICAgICAgICBsZWZ0LWhhbmQtb3BlcmFuZCwgMUUrMCBhcyB0aGUgcmlnaHQtaGFuZC1vcGVyYW5kLCBhbmQgdGhlIHByZWNpc2lvbgorICAgICAgICBvZiB0aGUgb3BlcmFuZCBhcyB0aGUgcHJlY2lzaW9uIHNldHRpbmc7IEluZXhhY3QgYW5kIFJvdW5kZWQgZmxhZ3MKKyAgICAgICAgYXJlIGFsbG93ZWQgaW4gdGhpcyBvcGVyYXRpb24uICBUaGUgcm91bmRpbmcgbW9kZSBpcyB0YWtlbiBmcm9tIHRoZQorICAgICAgICBjb250ZXh0LgorCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQudG9faW50ZWdyYWxfZXhhY3QoRGVjaW1hbCgnMi4xJykpCisgICAgICAgIERlY2ltYWwoJzInKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnRvX2ludGVncmFsX2V4YWN0KERlY2ltYWwoJzEwMCcpKQorICAgICAgICBEZWNpbWFsKCcxMDAnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnRvX2ludGVncmFsX2V4YWN0KERlY2ltYWwoJzEwMC4wJykpCisgICAgICAgIERlY2ltYWwoJzEwMCcpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQudG9faW50ZWdyYWxfZXhhY3QoRGVjaW1hbCgnMTAxLjUnKSkKKyAgICAgICAgRGVjaW1hbCgnMTAyJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC50b19pbnRlZ3JhbF9leGFjdChEZWNpbWFsKCctMTAxLjUnKSkKKyAgICAgICAgRGVjaW1hbCgnLTEwMicpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQudG9faW50ZWdyYWxfZXhhY3QoRGVjaW1hbCgnMTBFKzUnKSkKKyAgICAgICAgRGVjaW1hbCgnMS4wRSs2JykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC50b19pbnRlZ3JhbF9leGFjdChEZWNpbWFsKCc3Ljg5RSs3NycpKQorICAgICAgICBEZWNpbWFsKCc3Ljg5RSs3NycpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQudG9faW50ZWdyYWxfZXhhY3QoRGVjaW1hbCgnLUluZicpKQorICAgICAgICBEZWNpbWFsKCctSW5maW5pdHknKQorICAgICAgICAiIiIKKyAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKKyAgICAgICAgcmV0dXJuIGEudG9faW50ZWdyYWxfZXhhY3QoY29udGV4dD1zZWxmKQorCisgICAgZGVmIHRvX2ludGVncmFsX3ZhbHVlKHNlbGYsIGEpOgorICAgICAgICAiIiJSb3VuZHMgdG8gYW4gaW50ZWdlci4KKworICAgICAgICBXaGVuIHRoZSBvcGVyYW5kIGhhcyBhIG5lZ2F0aXZlIGV4cG9uZW50LCB0aGUgcmVzdWx0IGlzIHRoZSBzYW1lCisgICAgICAgIGFzIHVzaW5nIHRoZSBxdWFudGl6ZSgpIG9wZXJhdGlvbiB1c2luZyB0aGUgZ2l2ZW4gb3BlcmFuZCBhcyB0aGUKKyAgICAgICAgbGVmdC1oYW5kLW9wZXJhbmQsIDFFKzAgYXMgdGhlIHJpZ2h0LWhhbmQtb3BlcmFuZCwgYW5kIHRoZSBwcmVjaXNpb24KKyAgICAgICAgb2YgdGhlIG9wZXJhbmQgYXMgdGhlIHByZWNpc2lvbiBzZXR0aW5nLCBleGNlcHQgdGhhdCBubyBmbGFncyB3aWxsCisgICAgICAgIGJlIHNldC4gIFRoZSByb3VuZGluZyBtb2RlIGlzIHRha2VuIGZyb20gdGhlIGNvbnRleHQuCisKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC50b19pbnRlZ3JhbF92YWx1ZShEZWNpbWFsKCcyLjEnKSkKKyAgICAgICAgRGVjaW1hbCgnMicpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQudG9faW50ZWdyYWxfdmFsdWUoRGVjaW1hbCgnMTAwJykpCisgICAgICAgIERlY2ltYWwoJzEwMCcpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQudG9faW50ZWdyYWxfdmFsdWUoRGVjaW1hbCgnMTAwLjAnKSkKKyAgICAgICAgRGVjaW1hbCgnMTAwJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC50b19pbnRlZ3JhbF92YWx1ZShEZWNpbWFsKCcxMDEuNScpKQorICAgICAgICBEZWNpbWFsKCcxMDInKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnRvX2ludGVncmFsX3ZhbHVlKERlY2ltYWwoJy0xMDEuNScpKQorICAgICAgICBEZWNpbWFsKCctMTAyJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC50b19pbnRlZ3JhbF92YWx1ZShEZWNpbWFsKCcxMEUrNScpKQorICAgICAgICBEZWNpbWFsKCcxLjBFKzYnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnRvX2ludGVncmFsX3ZhbHVlKERlY2ltYWwoJzcuODlFKzc3JykpCisgICAgICAgIERlY2ltYWwoJzcuODlFKzc3JykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC50b19pbnRlZ3JhbF92YWx1ZShEZWNpbWFsKCctSW5mJykpCisgICAgICAgIERlY2ltYWwoJy1JbmZpbml0eScpCisgICAgICAgICIiIgorICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQorICAgICAgICByZXR1cm4gYS50b19pbnRlZ3JhbF92YWx1ZShjb250ZXh0PXNlbGYpCisKKyAgICAjIHRoZSBtZXRob2QgbmFtZSBjaGFuZ2VkLCBidXQgd2UgcHJvdmlkZSBhbHNvIHRoZSBvbGQgb25lLCBmb3IgY29tcGF0aWJpbGl0eQorICAgIHRvX2ludGVncmFsID0gdG9faW50ZWdyYWxfdmFsdWUKKworY2xhc3MgX1dvcmtSZXAob2JqZWN0KToKKyAgICBfX3Nsb3RzX18gPSAoJ3NpZ24nLCdpbnQnLCdleHAnKQorICAgICMgc2lnbjogMCBvciAxCisgICAgIyBpbnQ6ICBpbnQKKyAgICAjIGV4cDogIE5vbmUsIGludCwgb3Igc3RyaW5nCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgdmFsdWU9Tm9uZSk6CisgICAgICAgIGlmIHZhbHVlIGlzIE5vbmU6CisgICAgICAgICAgICBzZWxmLnNpZ24gPSBOb25lCisgICAgICAgICAgICBzZWxmLmludCA9IDAKKyAgICAgICAgICAgIHNlbGYuZXhwID0gTm9uZQorICAgICAgICBlbGlmIGlzaW5zdGFuY2UodmFsdWUsIERlY2ltYWwpOgorICAgICAgICAgICAgc2VsZi5zaWduID0gdmFsdWUuX3NpZ24KKyAgICAgICAgICAgIHNlbGYuaW50ID0gaW50KHZhbHVlLl9pbnQpCisgICAgICAgICAgICBzZWxmLmV4cCA9IHZhbHVlLl9leHAKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgICMgYXNzZXJ0IGlzaW5zdGFuY2UodmFsdWUsIHR1cGxlKQorICAgICAgICAgICAgc2VsZi5zaWduID0gdmFsdWVbMF0KKyAgICAgICAgICAgIHNlbGYuaW50ID0gdmFsdWVbMV0KKyAgICAgICAgICAgIHNlbGYuZXhwID0gdmFsdWVbMl0KKworICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuICIoJXIsICVyLCAlcikiICUgKHNlbGYuc2lnbiwgc2VsZi5pbnQsIHNlbGYuZXhwKQorCisgICAgX19zdHJfXyA9IF9fcmVwcl9fCisKKworCitkZWYgX25vcm1hbGl6ZShvcDEsIG9wMiwgcHJlYyA9IDApOgorICAgICIiIk5vcm1hbGl6ZXMgb3AxLCBvcDIgdG8gaGF2ZSB0aGUgc2FtZSBleHAgYW5kIGxlbmd0aCBvZiBjb2VmZmljaWVudC4KKworICAgIERvbmUgZHVyaW5nIGFkZGl0aW9uLgorICAgICIiIgorICAgIGlmIG9wMS5leHAgPCBvcDIuZXhwOgorICAgICAgICB0bXAgPSBvcDIKKyAgICAgICAgb3RoZXIgPSBvcDEKKyAgICBlbHNlOgorICAgICAgICB0bXAgPSBvcDEKKyAgICAgICAgb3RoZXIgPSBvcDIKKworICAgICMgTGV0IGV4cCA9IG1pbih0bXAuZXhwIC0gMSwgdG1wLmFkanVzdGVkKCkgLSBwcmVjaXNpb24gLSAxKS4KKyAgICAjIFRoZW4gYWRkaW5nIDEwKipleHAgdG8gdG1wIGhhcyB0aGUgc2FtZSBlZmZlY3QgKGFmdGVyIHJvdW5kaW5nKQorICAgICMgYXMgYWRkaW5nIGFueSBwb3NpdGl2ZSBxdWFudGl0eSBzbWFsbGVyIHRoYW4gMTAqKmV4cDsgc2ltaWxhcmx5CisgICAgIyBmb3Igc3VidHJhY3Rpb24uICBTbyBpZiBvdGhlciBpcyBzbWFsbGVyIHRoYW4gMTAqKmV4cCB3ZSByZXBsYWNlCisgICAgIyBpdCB3aXRoIDEwKipleHAuICBUaGlzIGF2b2lkcyB0bXAuZXhwIC0gb3RoZXIuZXhwIGdldHRpbmcgdG9vIGxhcmdlLgorICAgIHRtcF9sZW4gPSBsZW4oc3RyKHRtcC5pbnQpKQorICAgIG90aGVyX2xlbiA9IGxlbihzdHIob3RoZXIuaW50KSkKKyAgICBleHAgPSB0bXAuZXhwICsgbWluKC0xLCB0bXBfbGVuIC0gcHJlYyAtIDIpCisgICAgaWYgb3RoZXJfbGVuICsgb3RoZXIuZXhwIC0gMSA8IGV4cDoKKyAgICAgICAgb3RoZXIuaW50ID0gMQorICAgICAgICBvdGhlci5leHAgPSBleHAKKworICAgIHRtcC5pbnQgKj0gMTAgKiogKHRtcC5leHAgLSBvdGhlci5leHApCisgICAgdG1wLmV4cCA9IG90aGVyLmV4cAorICAgIHJldHVybiBvcDEsIG9wMgorCisjIyMjIyBJbnRlZ2VyIGFyaXRobWV0aWMgZnVuY3Rpb25zIHVzZWQgYnkgbG4sIGxvZzEwLCBleHAgYW5kIF9fcG93X18gIyMjIyMKKworX25iaXRzID0gaW50LmJpdF9sZW5ndGgKKworZGVmIF9kZWNpbWFsX2xzaGlmdF9leGFjdChuLCBlKToKKyAgICAiIiIgR2l2ZW4gaW50ZWdlcnMgbiBhbmQgZSwgcmV0dXJuIG4gKiAxMCoqZSBpZiBpdCdzIGFuIGludGVnZXIsIGVsc2UgTm9uZS4KKworICAgIFRoZSBjb21wdXRhdGlvbiBpcyBkZXNpZ25lZCB0byBhdm9pZCBjb21wdXRpbmcgbGFyZ2UgcG93ZXJzIG9mIDEwCisgICAgdW5uZWNlc3NhcmlseS4KKworICAgID4+PiBfZGVjaW1hbF9sc2hpZnRfZXhhY3QoMywgNCkKKyAgICAzMDAwMAorICAgID4+PiBfZGVjaW1hbF9sc2hpZnRfZXhhY3QoMzAwLCAtOTk5OTk5OTk5KSAgIyByZXR1cm5zIE5vbmUKKworICAgICIiIgorICAgIGlmIG4gPT0gMDoKKyAgICAgICAgcmV0dXJuIDAKKyAgICBlbGlmIGUgPj0gMDoKKyAgICAgICAgcmV0dXJuIG4gKiAxMCoqZQorICAgIGVsc2U6CisgICAgICAgICMgdmFsX24gPSBsYXJnZXN0IHBvd2VyIG9mIDEwIGRpdmlkaW5nIG4uCisgICAgICAgIHN0cl9uID0gc3RyKGFicyhuKSkKKyAgICAgICAgdmFsX24gPSBsZW4oc3RyX24pIC0gbGVuKHN0cl9uLnJzdHJpcCgnMCcpKQorICAgICAgICByZXR1cm4gTm9uZSBpZiB2YWxfbiA8IC1lIGVsc2UgbiAvLyAxMCoqLWUKKworZGVmIF9zcXJ0X25lYXJlc3QobiwgYSk6CisgICAgIiIiQ2xvc2VzdCBpbnRlZ2VyIHRvIHRoZSBzcXVhcmUgcm9vdCBvZiB0aGUgcG9zaXRpdmUgaW50ZWdlciBuLiAgYSBpcworICAgIGFuIGluaXRpYWwgYXBwcm94aW1hdGlvbiB0byB0aGUgc3F1YXJlIHJvb3QuICBBbnkgcG9zaXRpdmUgaW50ZWdlcgorICAgIHdpbGwgZG8gZm9yIGEsIGJ1dCB0aGUgY2xvc2VyIGEgaXMgdG8gdGhlIHNxdWFyZSByb290IG9mIG4gdGhlCisgICAgZmFzdGVyIGNvbnZlcmdlbmNlIHdpbGwgYmUuCisKKyAgICAiIiIKKyAgICBpZiBuIDw9IDAgb3IgYSA8PSAwOgorICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJCb3RoIGFyZ3VtZW50cyB0byBfc3FydF9uZWFyZXN0IHNob3VsZCBiZSBwb3NpdGl2ZS4iKQorCisgICAgYj0wCisgICAgd2hpbGUgYSAhPSBiOgorICAgICAgICBiLCBhID0gYSwgYS0tbi8vYT4+MQorICAgIHJldHVybiBhCisKK2RlZiBfcnNoaWZ0X25lYXJlc3QoeCwgc2hpZnQpOgorICAgICIiIkdpdmVuIGFuIGludGVnZXIgeCBhbmQgYSBub25uZWdhdGl2ZSBpbnRlZ2VyIHNoaWZ0LCByZXR1cm4gY2xvc2VzdAorICAgIGludGVnZXIgdG8geCAvIDIqKnNoaWZ0OyB1c2Ugcm91bmQtdG8tZXZlbiBpbiBjYXNlIG9mIGEgdGllLgorCisgICAgIiIiCisgICAgYiwgcSA9IDEgPDwgc2hpZnQsIHggPj4gc2hpZnQKKyAgICByZXR1cm4gcSArICgyKih4ICYgKGItMSkpICsgKHEmMSkgPiBiKQorCitkZWYgX2Rpdl9uZWFyZXN0KGEsIGIpOgorICAgICIiIkNsb3Nlc3QgaW50ZWdlciB0byBhL2IsIGEgYW5kIGIgcG9zaXRpdmUgaW50ZWdlcnM7IHJvdW5kcyB0byBldmVuCisgICAgaW4gdGhlIGNhc2Ugb2YgYSB0aWUuCisKKyAgICAiIiIKKyAgICBxLCByID0gZGl2bW9kKGEsIGIpCisgICAgcmV0dXJuIHEgKyAoMipyICsgKHEmMSkgPiBiKQorCitkZWYgX2lsb2coeCwgTSwgTCA9IDgpOgorICAgICIiIkludGVnZXIgYXBwcm94aW1hdGlvbiB0byBNKmxvZyh4L00pLCB3aXRoIGFic29sdXRlIGVycm9yIGJvdW5kYWJsZQorICAgIGluIHRlcm1zIG9ubHkgb2YgeC9NLgorCisgICAgR2l2ZW4gcG9zaXRpdmUgaW50ZWdlcnMgeCBhbmQgTSwgcmV0dXJuIGFuIGludGVnZXIgYXBwcm94aW1hdGlvbiB0bworICAgIE0gKiBsb2coeC9NKS4gIEZvciBMID0gOCBhbmQgMC4xIDw9IHgvTSA8PSAxMCB0aGUgZGlmZmVyZW5jZQorICAgIGJldHdlZW4gdGhlIGFwcHJveGltYXRpb24gYW5kIHRoZSBleGFjdCByZXN1bHQgaXMgYXQgbW9zdCAyMi4gIEZvcgorICAgIEwgPSA4IGFuZCAxLjAgPD0geC9NIDw9IDEwLjAgdGhlIGRpZmZlcmVuY2UgaXMgYXQgbW9zdCAxNS4gIEluCisgICAgYm90aCBjYXNlcyB0aGVzZSBhcmUgdXBwZXIgYm91bmRzIG9uIHRoZSBlcnJvcjsgaXQgd2lsbCB1c3VhbGx5IGJlCisgICAgbXVjaCBzbWFsbGVyLiIiIgorCisgICAgIyBUaGUgYmFzaWMgYWxnb3JpdGhtIGlzIHRoZSBmb2xsb3dpbmc6IGxldCBsb2cxcCBiZSB0aGUgZnVuY3Rpb24KKyAgICAjIGxvZzFwKHgpID0gbG9nKDEreCkuICBUaGVuIGxvZyh4L00pID0gbG9nMXAoKHgtTSkvTSkuICBXZSB1c2UKKyAgICAjIHRoZSByZWR1Y3Rpb24KKyAgICAjCisgICAgIyAgICBsb2cxcCh5KSA9IDIqbG9nMXAoeS8oMStzcXJ0KDEreSkpKQorICAgICMKKyAgICAjIHJlcGVhdGVkbHkgdW50aWwgdGhlIGFyZ3VtZW50IHRvIGxvZzFwIGlzIHNtYWxsICg8IDIqKi1MIGluCisgICAgIyBhYnNvbHV0ZSB2YWx1ZSkuICBGb3Igc21hbGwgeSB3ZSBjYW4gdXNlIHRoZSBUYXlsb3Igc2VyaWVzCisgICAgIyBleHBhbnNpb24KKyAgICAjCisgICAgIyAgICBsb2cxcCh5KSB+IHkgLSB5KioyLzIgKyB5KiozLzMgLSAuLi4gLSAoLXkpKipUL1QKKyAgICAjCisgICAgIyB0cnVuY2F0aW5nIGF0IFQgc3VjaCB0aGF0IHkqKlQgaXMgc21hbGwgZW5vdWdoLiAgVGhlIHdob2xlCisgICAgIyBjb21wdXRhdGlvbiBpcyBjYXJyaWVkIG91dCBpbiBhIGZvcm0gb2YgZml4ZWQtcG9pbnQgYXJpdGhtZXRpYywKKyAgICAjIHdpdGggYSByZWFsIG51bWJlciB6IGJlaW5nIHJlcHJlc2VudGVkIGJ5IGFuIGludGVnZXIKKyAgICAjIGFwcHJveGltYXRpb24gdG8geipNLiAgVG8gYXZvaWQgbG9zcyBvZiBwcmVjaXNpb24sIHRoZSB5IGJlbG93CisgICAgIyBpcyBhY3R1YWxseSBhbiBpbnRlZ2VyIGFwcHJveGltYXRpb24gdG8gMioqUip5Kk0sIHdoZXJlIFIgaXMgdGhlCisgICAgIyBudW1iZXIgb2YgcmVkdWN0aW9ucyBwZXJmb3JtZWQgc28gZmFyLgorCisgICAgeSA9IHgtTQorICAgICMgYXJndW1lbnQgcmVkdWN0aW9uOyBSID0gbnVtYmVyIG9mIHJlZHVjdGlvbnMgcGVyZm9ybWVkCisgICAgUiA9IDAKKyAgICB3aGlsZSAoUiA8PSBMIGFuZCBhYnMoeSkgPDwgTC1SID49IE0gb3IKKyAgICAgICAgICAgUiA+IEwgYW5kIGFicyh5KSA+PiBSLUwgPj0gTSk6CisgICAgICAgIHkgPSBfZGl2X25lYXJlc3QoKE0qeSkgPDwgMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBNICsgX3NxcnRfbmVhcmVzdChNKihNK19yc2hpZnRfbmVhcmVzdCh5LCBSKSksIE0pKQorICAgICAgICBSICs9IDEKKworICAgICMgVGF5bG9yIHNlcmllcyB3aXRoIFQgdGVybXMKKyAgICBUID0gLWludCgtMTAqbGVuKHN0cihNKSkvLygzKkwpKQorICAgIHlzaGlmdCA9IF9yc2hpZnRfbmVhcmVzdCh5LCBSKQorICAgIHcgPSBfZGl2X25lYXJlc3QoTSwgVCkKKyAgICBmb3IgayBpbiByYW5nZShULTEsIDAsIC0xKToKKyAgICAgICAgdyA9IF9kaXZfbmVhcmVzdChNLCBrKSAtIF9kaXZfbmVhcmVzdCh5c2hpZnQqdywgTSkKKworICAgIHJldHVybiBfZGl2X25lYXJlc3Qodyp5LCBNKQorCitkZWYgX2Rsb2cxMChjLCBlLCBwKToKKyAgICAiIiJHaXZlbiBpbnRlZ2VycyBjLCBlIGFuZCBwIHdpdGggYyA+IDAsIHAgPj0gMCwgY29tcHV0ZSBhbiBpbnRlZ2VyCisgICAgYXBwcm94aW1hdGlvbiB0byAxMCoqcCAqIGxvZzEwKGMqMTAqKmUpLCB3aXRoIGFuIGFic29sdXRlIGVycm9yIG9mCisgICAgYXQgbW9zdCAxLiAgQXNzdW1lcyB0aGF0IGMqMTAqKmUgaXMgbm90IGV4YWN0bHkgMS4iIiIKKworICAgICMgaW5jcmVhc2UgcHJlY2lzaW9uIGJ5IDI7IGNvbXBlbnNhdGUgZm9yIHRoaXMgYnkgZGl2aWRpbmcKKyAgICAjIGZpbmFsIHJlc3VsdCBieSAxMDAKKyAgICBwICs9IDIKKworICAgICMgd3JpdGUgYyoxMCoqZSBhcyBkKjEwKipmIHdpdGggZWl0aGVyOgorICAgICMgICBmID49IDAgYW5kIDEgPD0gZCA8PSAxMCwgb3IKKyAgICAjICAgZiA8PSAwIGFuZCAwLjEgPD0gZCA8PSAxLgorICAgICMgVGh1cyBmb3IgYyoxMCoqZSBjbG9zZSB0byAxLCBmID0gMAorICAgIGwgPSBsZW4oc3RyKGMpKQorICAgIGYgPSBlK2wgLSAoZStsID49IDEpCisKKyAgICBpZiBwID4gMDoKKyAgICAgICAgTSA9IDEwKipwCisgICAgICAgIGsgPSBlK3AtZgorICAgICAgICBpZiBrID49IDA6CisgICAgICAgICAgICBjICo9IDEwKiprCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBjID0gX2Rpdl9uZWFyZXN0KGMsIDEwKiotaykKKworICAgICAgICBsb2dfZCA9IF9pbG9nKGMsIE0pICMgZXJyb3IgPCA1ICsgMjIgPSAyNworICAgICAgICBsb2dfMTAgPSBfbG9nMTBfZGlnaXRzKHApICMgZXJyb3IgPCAxCisgICAgICAgIGxvZ19kID0gX2Rpdl9uZWFyZXN0KGxvZ19kKk0sIGxvZ18xMCkKKyAgICAgICAgbG9nX3RlbnBvd2VyID0gZipNICMgZXhhY3QKKyAgICBlbHNlOgorICAgICAgICBsb2dfZCA9IDAgICMgZXJyb3IgPCAyLjMxCisgICAgICAgIGxvZ190ZW5wb3dlciA9IF9kaXZfbmVhcmVzdChmLCAxMCoqLXApICMgZXJyb3IgPCAwLjUKKworICAgIHJldHVybiBfZGl2X25lYXJlc3QobG9nX3RlbnBvd2VyK2xvZ19kLCAxMDApCisKK2RlZiBfZGxvZyhjLCBlLCBwKToKKyAgICAiIiJHaXZlbiBpbnRlZ2VycyBjLCBlIGFuZCBwIHdpdGggYyA+IDAsIGNvbXB1dGUgYW4gaW50ZWdlcgorICAgIGFwcHJveGltYXRpb24gdG8gMTAqKnAgKiBsb2coYyoxMCoqZSksIHdpdGggYW4gYWJzb2x1dGUgZXJyb3Igb2YKKyAgICBhdCBtb3N0IDEuICBBc3N1bWVzIHRoYXQgYyoxMCoqZSBpcyBub3QgZXhhY3RseSAxLiIiIgorCisgICAgIyBJbmNyZWFzZSBwcmVjaXNpb24gYnkgMi4gVGhlIHByZWNpc2lvbiBpbmNyZWFzZSBpcyBjb21wZW5zYXRlZAorICAgICMgZm9yIGF0IHRoZSBlbmQgd2l0aCBhIGRpdmlzaW9uIGJ5IDEwMC4KKyAgICBwICs9IDIKKworICAgICMgcmV3cml0ZSBjKjEwKiplIGFzIGQqMTAqKmYgd2l0aCBlaXRoZXIgZiA+PSAwIGFuZCAxIDw9IGQgPD0gMTAsCisgICAgIyBvciBmIDw9IDAgYW5kIDAuMSA8PSBkIDw9IDEuICBUaGVuIHdlIGNhbiBjb21wdXRlIDEwKipwICogbG9nKGMqMTAqKmUpCisgICAgIyBhcyAxMCoqcCAqIGxvZyhkKSArIDEwKipwKmYgKiBsb2coMTApLgorICAgIGwgPSBsZW4oc3RyKGMpKQorICAgIGYgPSBlK2wgLSAoZStsID49IDEpCisKKyAgICAjIGNvbXB1dGUgYXBwcm94aW1hdGlvbiB0byAxMCoqcCpsb2coZCksIHdpdGggZXJyb3IgPCAyNworICAgIGlmIHAgPiAwOgorICAgICAgICBrID0gZStwLWYKKyAgICAgICAgaWYgayA+PSAwOgorICAgICAgICAgICAgYyAqPSAxMCoqaworICAgICAgICBlbHNlOgorICAgICAgICAgICAgYyA9IF9kaXZfbmVhcmVzdChjLCAxMCoqLWspICAjIGVycm9yIG9mIDw9IDAuNSBpbiBjCisKKyAgICAgICAgIyBfaWxvZyBtYWduaWZpZXMgZXhpc3RpbmcgZXJyb3IgaW4gYyBieSBhIGZhY3RvciBvZiBhdCBtb3N0IDEwCisgICAgICAgIGxvZ19kID0gX2lsb2coYywgMTAqKnApICMgZXJyb3IgPCA1ICsgMjIgPSAyNworICAgIGVsc2U6CisgICAgICAgICMgcCA8PSAwOiBqdXN0IGFwcHJveGltYXRlIHRoZSB3aG9sZSB0aGluZyBieSAwOyBlcnJvciA8IDIuMzEKKyAgICAgICAgbG9nX2QgPSAwCisKKyAgICAjIGNvbXB1dGUgYXBwcm94aW1hdGlvbiB0byBmKjEwKipwKmxvZygxMCksIHdpdGggZXJyb3IgPCAxMS4KKyAgICBpZiBmOgorICAgICAgICBleHRyYSA9IGxlbihzdHIoYWJzKGYpKSktMQorICAgICAgICBpZiBwICsgZXh0cmEgPj0gMDoKKyAgICAgICAgICAgICMgZXJyb3IgaW4gZiAqIF9sb2cxMF9kaWdpdHMocCtleHRyYSkgPCB8ZnwgKiAxID0gfGZ8CisgICAgICAgICAgICAjIGFmdGVyIGRpdmlzaW9uLCBlcnJvciA8IHxmfC8xMCoqZXh0cmEgKyAwLjUgPCAxMCArIDAuNSA8IDExCisgICAgICAgICAgICBmX2xvZ190ZW4gPSBfZGl2X25lYXJlc3QoZipfbG9nMTBfZGlnaXRzKHArZXh0cmEpLCAxMCoqZXh0cmEpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBmX2xvZ190ZW4gPSAwCisgICAgZWxzZToKKyAgICAgICAgZl9sb2dfdGVuID0gMAorCisgICAgIyBlcnJvciBpbiBzdW0gPCAxMSsyNyA9IDM4OyBlcnJvciBhZnRlciBkaXZpc2lvbiA8IDAuMzggKyAwLjUgPCAxCisgICAgcmV0dXJuIF9kaXZfbmVhcmVzdChmX2xvZ190ZW4gKyBsb2dfZCwgMTAwKQorCitjbGFzcyBfTG9nMTBNZW1vaXplKG9iamVjdCk6CisgICAgIiIiQ2xhc3MgdG8gY29tcHV0ZSwgc3RvcmUsIGFuZCBhbGxvdyByZXRyaWV2YWwgb2YsIGRpZ2l0cyBvZiB0aGUKKyAgICBjb25zdGFudCBsb2coMTApID0gMi4zMDI1ODUuLi4uICBUaGlzIGNvbnN0YW50IGlzIG5lZWRlZCBieQorICAgIERlY2ltYWwubG4sIERlY2ltYWwubG9nMTAsIERlY2ltYWwuZXhwIGFuZCBEZWNpbWFsLl9fcG93X18uIiIiCisgICAgZGVmIF9faW5pdF9fKHNlbGYpOgorICAgICAgICBzZWxmLmRpZ2l0cyA9ICIyMzAyNTg1MDkyOTk0MDQ1Njg0MDE3OTkxNDU0Njg0MzY0MjA3NjAxMTAxNDg4NiIKKworICAgIGRlZiBnZXRkaWdpdHMoc2VsZiwgcCk6CisgICAgICAgICIiIkdpdmVuIGFuIGludGVnZXIgcCA+PSAwLCByZXR1cm4gZmxvb3IoMTAqKnApKmxvZygxMCkuCisKKyAgICAgICAgRm9yIGV4YW1wbGUsIHNlbGYuZ2V0ZGlnaXRzKDMpIHJldHVybnMgMjMwMi4KKyAgICAgICAgIiIiCisgICAgICAgICMgZGlnaXRzIGFyZSBzdG9yZWQgYXMgYSBzdHJpbmcsIGZvciBxdWljayBjb252ZXJzaW9uIHRvCisgICAgICAgICMgaW50ZWdlciBpbiB0aGUgY2FzZSB0aGF0IHdlJ3ZlIGFscmVhZHkgY29tcHV0ZWQgZW5vdWdoCisgICAgICAgICMgZGlnaXRzOyB0aGUgc3RvcmVkIGRpZ2l0cyBzaG91bGQgYWx3YXlzIGJlIGNvcnJlY3QKKyAgICAgICAgIyAodHJ1bmNhdGVkLCBub3Qgcm91bmRlZCB0byBuZWFyZXN0KS4KKyAgICAgICAgaWYgcCA8IDA6CisgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJwIHNob3VsZCBiZSBub25uZWdhdGl2ZSIpCisKKyAgICAgICAgaWYgcCA+PSBsZW4oc2VsZi5kaWdpdHMpOgorICAgICAgICAgICAgIyBjb21wdXRlIHArMywgcCs2LCBwKzksIC4uLiBkaWdpdHM7IGNvbnRpbnVlIHVudGlsIGF0CisgICAgICAgICAgICAjIGxlYXN0IG9uZSBvZiB0aGUgZXh0cmEgZGlnaXRzIGlzIG5vbnplcm8KKyAgICAgICAgICAgIGV4dHJhID0gMworICAgICAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgICAgICAjIGNvbXB1dGUgcCtleHRyYSBkaWdpdHMsIGNvcnJlY3QgdG8gd2l0aGluIDF1bHAKKyAgICAgICAgICAgICAgICBNID0gMTAqKihwK2V4dHJhKzIpCisgICAgICAgICAgICAgICAgZGlnaXRzID0gc3RyKF9kaXZfbmVhcmVzdChfaWxvZygxMCpNLCBNKSwgMTAwKSkKKyAgICAgICAgICAgICAgICBpZiBkaWdpdHNbLWV4dHJhOl0gIT0gJzAnKmV4dHJhOgorICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgICAgIGV4dHJhICs9IDMKKyAgICAgICAgICAgICMga2VlcCBhbGwgcmVsaWFibGUgZGlnaXRzIHNvIGZhcjsgcmVtb3ZlIHRyYWlsaW5nIHplcm9zCisgICAgICAgICAgICAjIGFuZCBuZXh0IG5vbnplcm8gZGlnaXQKKyAgICAgICAgICAgIHNlbGYuZGlnaXRzID0gZGlnaXRzLnJzdHJpcCgnMCcpWzotMV0KKyAgICAgICAgcmV0dXJuIGludChzZWxmLmRpZ2l0c1s6cCsxXSkKKworX2xvZzEwX2RpZ2l0cyA9IF9Mb2cxME1lbW9pemUoKS5nZXRkaWdpdHMKKworZGVmIF9pZXhwKHgsIE0sIEw9OCk6CisgICAgIiIiR2l2ZW4gaW50ZWdlcnMgeCBhbmQgTSwgTSA+IDAsIHN1Y2ggdGhhdCB4L00gaXMgc21hbGwgaW4gYWJzb2x1dGUKKyAgICB2YWx1ZSwgY29tcHV0ZSBhbiBpbnRlZ2VyIGFwcHJveGltYXRpb24gdG8gTSpleHAoeC9NKS4gIEZvciAwIDw9CisgICAgeC9NIDw9IDIuNCwgdGhlIGFic29sdXRlIGVycm9yIGluIHRoZSByZXN1bHQgaXMgYm91bmRlZCBieSA2MCAoYW5kCisgICAgaXMgdXN1YWxseSBtdWNoIHNtYWxsZXIpLiIiIgorCisgICAgIyBBbGdvcml0aG06IHRvIGNvbXB1dGUgZXhwKHopIGZvciBhIHJlYWwgbnVtYmVyIHosIGZpcnN0IGRpdmlkZSB6CisgICAgIyBieSBhIHN1aXRhYmxlIHBvd2VyIFIgb2YgMiBzbyB0aGF0IHx6LzIqKlJ8IDwgMioqLUwuICBUaGVuCisgICAgIyBjb21wdXRlIGV4cG0xKHovMioqUikgPSBleHAoei8yKipSKSAtIDEgdXNpbmcgdGhlIHVzdWFsIFRheWxvcgorICAgICMgc2VyaWVzCisgICAgIworICAgICMgICAgIGV4cG0xKHgpID0geCArIHgqKjIvMiEgKyB4KiozLzMhICsgLi4uCisgICAgIworICAgICMgTm93IHVzZSB0aGUgaWRlbnRpdHkKKyAgICAjCisgICAgIyAgICAgZXhwbTEoMngpID0gZXhwbTEoeCkqKGV4cG0xKHgpKzIpCisgICAgIworICAgICMgUiB0aW1lcyB0byBjb21wdXRlIHRoZSBzZXF1ZW5jZSBleHBtMSh6LzIqKlIpLAorICAgICMgZXhwbTEoei8yKiooUi0xKSksIC4uLiAsIGV4cCh6LzIpLCBleHAoeikuCisKKyAgICAjIEZpbmQgUiBzdWNoIHRoYXQgeC8yKipSL00gPD0gMioqLUwKKyAgICBSID0gX25iaXRzKCh4PDxMKS8vTSkKKworICAgICMgVGF5bG9yIHNlcmllcy4gICgyKipMKSoqVCA+IE0KKyAgICBUID0gLWludCgtMTAqbGVuKHN0cihNKSkvLygzKkwpKQorICAgIHkgPSBfZGl2X25lYXJlc3QoeCwgVCkKKyAgICBNc2hpZnQgPSBNPDxSCisgICAgZm9yIGkgaW4gcmFuZ2UoVC0xLCAwLCAtMSk6CisgICAgICAgIHkgPSBfZGl2X25lYXJlc3QoeCooTXNoaWZ0ICsgeSksIE1zaGlmdCAqIGkpCisKKyAgICAjIEV4cGFuc2lvbgorICAgIGZvciBrIGluIHJhbmdlKFItMSwgLTEsIC0xKToKKyAgICAgICAgTXNoaWZ0ID0gTTw8KGsrMikKKyAgICAgICAgeSA9IF9kaXZfbmVhcmVzdCh5Kih5K01zaGlmdCksIE1zaGlmdCkKKworICAgIHJldHVybiBNK3kKKworZGVmIF9kZXhwKGMsIGUsIHApOgorICAgICIiIkNvbXB1dGUgYW4gYXBwcm94aW1hdGlvbiB0byBleHAoYyoxMCoqZSksIHdpdGggcCBkZWNpbWFsIHBsYWNlcyBvZgorICAgIHByZWNpc2lvbi4KKworICAgIFJldHVybnMgaW50ZWdlcnMgZCwgZiBzdWNoIHRoYXQ6CisKKyAgICAgIDEwKioocC0xKSA8PSBkIDw9IDEwKipwLCBhbmQKKyAgICAgIChkLTEpKjEwKipmIDwgZXhwKGMqMTAqKmUpIDwgKGQrMSkqMTAqKmYKKworICAgIEluIG90aGVyIHdvcmRzLCBkKjEwKipmIGlzIGFuIGFwcHJveGltYXRpb24gdG8gZXhwKGMqMTAqKmUpIHdpdGggcAorICAgIGRpZ2l0cyBvZiBwcmVjaXNpb24sIGFuZCB3aXRoIGFuIGVycm9yIGluIGQgb2YgYXQgbW9zdCAxLiAgVGhpcyBpcworICAgIGFsbW9zdCwgYnV0IG5vdCBxdWl0ZSwgdGhlIHNhbWUgYXMgdGhlIGVycm9yIGJlaW5nIDwgMXVscDogd2hlbiBkCisgICAgPSAxMCoqKHAtMSkgdGhlIGVycm9yIGNvdWxkIGJlIHVwIHRvIDEwIHVscC4iIiIKKworICAgICMgd2UnbGwgY2FsbCBpZXhwIHdpdGggTSA9IDEwKioocCsyKSwgZ2l2aW5nIHArMyBkaWdpdHMgb2YgcHJlY2lzaW9uCisgICAgcCArPSAyCisKKyAgICAjIGNvbXB1dGUgbG9nKDEwKSB3aXRoIGV4dHJhIHByZWNpc2lvbiA9IGFkanVzdGVkIGV4cG9uZW50IG9mIGMqMTAqKmUKKyAgICBleHRyYSA9IG1heCgwLCBlICsgbGVuKHN0cihjKSkgLSAxKQorICAgIHEgPSBwICsgZXh0cmEKKworICAgICMgY29tcHV0ZSBxdW90aWVudCBjKjEwKiplLyhsb2coMTApKSA9IGMqMTAqKihlK3EpLyhsb2coMTApKjEwKipxKSwKKyAgICAjIHJvdW5kaW5nIGRvd24KKyAgICBzaGlmdCA9IGUrcQorICAgIGlmIHNoaWZ0ID49IDA6CisgICAgICAgIGNzaGlmdCA9IGMqMTAqKnNoaWZ0CisgICAgZWxzZToKKyAgICAgICAgY3NoaWZ0ID0gYy8vMTAqKi1zaGlmdAorICAgIHF1b3QsIHJlbSA9IGRpdm1vZChjc2hpZnQsIF9sb2cxMF9kaWdpdHMocSkpCisKKyAgICAjIHJlZHVjZSByZW1haW5kZXIgYmFjayB0byBvcmlnaW5hbCBwcmVjaXNpb24KKyAgICByZW0gPSBfZGl2X25lYXJlc3QocmVtLCAxMCoqZXh0cmEpCisKKyAgICAjIGVycm9yIGluIHJlc3VsdCBvZiBfaWV4cCA8IDEyMDsgIGVycm9yIGFmdGVyIGRpdmlzaW9uIDwgMC42MgorICAgIHJldHVybiBfZGl2X25lYXJlc3QoX2lleHAocmVtLCAxMCoqcCksIDEwMDApLCBxdW90IC0gcCArIDMKKworZGVmIF9kcG93ZXIoeGMsIHhlLCB5YywgeWUsIHApOgorICAgICIiIkdpdmVuIGludGVnZXJzIHhjLCB4ZSwgeWMgYW5kIHllIHJlcHJlc2VudGluZyBEZWNpbWFscyB4ID0geGMqMTAqKnhlIGFuZAorICAgIHkgPSB5YyoxMCoqeWUsIGNvbXB1dGUgeCoqeS4gIFJldHVybnMgYSBwYWlyIG9mIGludGVnZXJzIChjLCBlKSBzdWNoIHRoYXQ6CisKKyAgICAgIDEwKioocC0xKSA8PSBjIDw9IDEwKipwLCBhbmQKKyAgICAgIChjLTEpKjEwKiplIDwgeCoqeSA8IChjKzEpKjEwKiplCisKKyAgICBpbiBvdGhlciB3b3JkcywgYyoxMCoqZSBpcyBhbiBhcHByb3hpbWF0aW9uIHRvIHgqKnkgd2l0aCBwIGRpZ2l0cworICAgIG9mIHByZWNpc2lvbiwgYW5kIHdpdGggYW4gZXJyb3IgaW4gYyBvZiBhdCBtb3N0IDEuICAoVGhpcyBpcworICAgIGFsbW9zdCwgYnV0IG5vdCBxdWl0ZSwgdGhlIHNhbWUgYXMgdGhlIGVycm9yIGJlaW5nIDwgMXVscDogd2hlbiBjCisgICAgPT0gMTAqKihwLTEpIHdlIGNhbiBvbmx5IGd1YXJhbnRlZSBlcnJvciA8IDEwdWxwLikKKworICAgIFdlIGFzc3VtZSB0aGF0OiB4IGlzIHBvc2l0aXZlIGFuZCBub3QgZXF1YWwgdG8gMSwgYW5kIHkgaXMgbm9uemVyby4KKyAgICAiIiIKKworICAgICMgRmluZCBiIHN1Y2ggdGhhdCAxMCoqKGItMSkgPD0gfHl8IDw9IDEwKipiCisgICAgYiA9IGxlbihzdHIoYWJzKHljKSkpICsgeWUKKworICAgICMgbG9nKHgpID0gbHhjKjEwKiooLXAtYi0xKSwgdG8gcCtiKzEgcGxhY2VzIGFmdGVyIHRoZSBkZWNpbWFsIHBvaW50CisgICAgbHhjID0gX2Rsb2coeGMsIHhlLCBwK2IrMSkKKworICAgICMgY29tcHV0ZSBwcm9kdWN0IHkqbG9nKHgpID0geWMqbHhjKjEwKiooLXAtYi0xK3llKSA9IHBjKjEwKiooLXAtMSkKKyAgICBzaGlmdCA9IHllLWIKKyAgICBpZiBzaGlmdCA+PSAwOgorICAgICAgICBwYyA9IGx4Yyp5YyoxMCoqc2hpZnQKKyAgICBlbHNlOgorICAgICAgICBwYyA9IF9kaXZfbmVhcmVzdChseGMqeWMsIDEwKiotc2hpZnQpCisKKyAgICBpZiBwYyA9PSAwOgorICAgICAgICAjIHdlIHByZWZlciBhIHJlc3VsdCB0aGF0IGlzbid0IGV4YWN0bHkgMTsgdGhpcyBtYWtlcyBpdAorICAgICAgICAjIGVhc2llciB0byBjb21wdXRlIGEgY29ycmVjdGx5IHJvdW5kZWQgcmVzdWx0IGluIF9fcG93X18KKyAgICAgICAgaWYgKChsZW4oc3RyKHhjKSkgKyB4ZSA+PSAxKSA9PSAoeWMgPiAwKSk6ICMgaWYgeCoqeSA+IDE6CisgICAgICAgICAgICBjb2VmZiwgZXhwID0gMTAqKihwLTEpKzEsIDEtcAorICAgICAgICBlbHNlOgorICAgICAgICAgICAgY29lZmYsIGV4cCA9IDEwKipwLTEsIC1wCisgICAgZWxzZToKKyAgICAgICAgY29lZmYsIGV4cCA9IF9kZXhwKHBjLCAtKHArMSksIHArMSkKKyAgICAgICAgY29lZmYgPSBfZGl2X25lYXJlc3QoY29lZmYsIDEwKQorICAgICAgICBleHAgKz0gMQorCisgICAgcmV0dXJuIGNvZWZmLCBleHAKKworZGVmIF9sb2cxMF9sYihjLCBjb3JyZWN0aW9uID0geworICAgICAgICAnMSc6IDEwMCwgJzInOiA3MCwgJzMnOiA1MywgJzQnOiA0MCwgJzUnOiAzMSwKKyAgICAgICAgJzYnOiAyMywgJzcnOiAxNiwgJzgnOiAxMCwgJzknOiA1fSk6CisgICAgIiIiQ29tcHV0ZSBhIGxvd2VyIGJvdW5kIGZvciAxMDAqbG9nMTAoYykgZm9yIGEgcG9zaXRpdmUgaW50ZWdlciBjLiIiIgorICAgIGlmIGMgPD0gMDoKKyAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiVGhlIGFyZ3VtZW50IHRvIF9sb2cxMF9sYiBzaG91bGQgYmUgbm9ubmVnYXRpdmUuIikKKyAgICBzdHJfYyA9IHN0cihjKQorICAgIHJldHVybiAxMDAqbGVuKHN0cl9jKSAtIGNvcnJlY3Rpb25bc3RyX2NbMF1dCisKKyMjIyMjIEhlbHBlciBGdW5jdGlvbnMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCitkZWYgX2NvbnZlcnRfb3RoZXIob3RoZXIsIHJhaXNlaXQ9RmFsc2UsIGFsbG93X2Zsb2F0PUZhbHNlKToKKyAgICAiIiJDb252ZXJ0IG90aGVyIHRvIERlY2ltYWwuCisKKyAgICBWZXJpZmllcyB0aGF0IGl0J3Mgb2sgdG8gdXNlIGluIGFuIGltcGxpY2l0IGNvbnN0cnVjdGlvbi4KKyAgICBJZiBhbGxvd19mbG9hdCBpcyB0cnVlLCBhbGxvdyBjb252ZXJzaW9uIGZyb20gZmxvYXQ7ICB0aGlzCisgICAgaXMgdXNlZCBpbiB0aGUgY29tcGFyaXNvbiBtZXRob2RzIChfX2VxX18gYW5kIGZyaWVuZHMpLgorCisgICAgIiIiCisgICAgaWYgaXNpbnN0YW5jZShvdGhlciwgRGVjaW1hbCk6CisgICAgICAgIHJldHVybiBvdGhlcgorICAgIGlmIGlzaW5zdGFuY2Uob3RoZXIsIGludCk6CisgICAgICAgIHJldHVybiBEZWNpbWFsKG90aGVyKQorICAgIGlmIGFsbG93X2Zsb2F0IGFuZCBpc2luc3RhbmNlKG90aGVyLCBmbG9hdCk6CisgICAgICAgIHJldHVybiBEZWNpbWFsLmZyb21fZmxvYXQob3RoZXIpCisKKyAgICBpZiByYWlzZWl0OgorICAgICAgICByYWlzZSBUeXBlRXJyb3IoIlVuYWJsZSB0byBjb252ZXJ0ICVzIHRvIERlY2ltYWwiICUgb3RoZXIpCisgICAgcmV0dXJuIE5vdEltcGxlbWVudGVkCisKK2RlZiBfY29udmVydF9mb3JfY29tcGFyaXNvbihzZWxmLCBvdGhlciwgZXF1YWxpdHlfb3A9RmFsc2UpOgorICAgICIiIkdpdmVuIGEgRGVjaW1hbCBpbnN0YW5jZSBzZWxmIGFuZCBhIFB5dGhvbiBvYmplY3Qgb3RoZXIsIHJldHVybgorICAgIGEgcGFpciAocywgbykgb2YgRGVjaW1hbCBpbnN0YW5jZXMgc3VjaCB0aGF0ICJzIG9wIG8iIGlzCisgICAgZXF1aXZhbGVudCB0byAic2VsZiBvcCBvdGhlciIgZm9yIGFueSBvZiB0aGUgNiBjb21wYXJpc29uCisgICAgb3BlcmF0b3JzICJvcCIuCisKKyAgICAiIiIKKyAgICBpZiBpc2luc3RhbmNlKG90aGVyLCBEZWNpbWFsKToKKyAgICAgICAgcmV0dXJuIHNlbGYsIG90aGVyCisKKyAgICAjIENvbXBhcmlzb24gd2l0aCBhIFJhdGlvbmFsIGluc3RhbmNlIChhbHNvIGluY2x1ZGVzIGludGVnZXJzKToKKyAgICAjIHNlbGYgb3Agbi9kIDw9PiBzZWxmKmQgb3AgbiAoZm9yIG4gYW5kIGQgaW50ZWdlcnMsIGQgcG9zaXRpdmUpLgorICAgICMgQSBOYU4gb3IgaW5maW5pdHkgY2FuIGJlIGxlZnQgdW5jaGFuZ2VkIHdpdGhvdXQgYWZmZWN0aW5nIHRoZQorICAgICMgY29tcGFyaXNvbiByZXN1bHQuCisgICAgaWYgaXNpbnN0YW5jZShvdGhlciwgX251bWJlcnMuUmF0aW9uYWwpOgorICAgICAgICBpZiBub3Qgc2VsZi5faXNfc3BlY2lhbDoKKyAgICAgICAgICAgIHNlbGYgPSBfZGVjX2Zyb21fdHJpcGxlKHNlbGYuX3NpZ24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIoaW50KHNlbGYuX2ludCkgKiBvdGhlci5kZW5vbWluYXRvciksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9leHApCisgICAgICAgIHJldHVybiBzZWxmLCBEZWNpbWFsKG90aGVyLm51bWVyYXRvcikKKworICAgICMgQ29tcGFyaXNvbnMgd2l0aCBmbG9hdCBhbmQgY29tcGxleCB0eXBlcy4gID09IGFuZCAhPSBjb21wYXJpc29ucworICAgICMgd2l0aCBjb21wbGV4IG51bWJlcnMgc2hvdWxkIHN1Y2NlZWQsIHJldHVybmluZyBlaXRoZXIgVHJ1ZSBvciBGYWxzZQorICAgICMgYXMgYXBwcm9wcmlhdGUuICBPdGhlciBjb21wYXJpc29ucyByZXR1cm4gTm90SW1wbGVtZW50ZWQuCisgICAgaWYgZXF1YWxpdHlfb3AgYW5kIGlzaW5zdGFuY2Uob3RoZXIsIF9udW1iZXJzLkNvbXBsZXgpIGFuZCBvdGhlci5pbWFnID09IDA6CisgICAgICAgIG90aGVyID0gb3RoZXIucmVhbAorICAgIGlmIGlzaW5zdGFuY2Uob3RoZXIsIGZsb2F0KToKKyAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQorICAgICAgICBpZiBlcXVhbGl0eV9vcDoKKyAgICAgICAgICAgIGNvbnRleHQuZmxhZ3NbRmxvYXRPcGVyYXRpb25dID0gMQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoRmxvYXRPcGVyYXRpb24sCisgICAgICAgICAgICAgICAgInN0cmljdCBzZW1hbnRpY3MgZm9yIG1peGluZyBmbG9hdHMgYW5kIERlY2ltYWxzIGFyZSBlbmFibGVkIikKKyAgICAgICAgcmV0dXJuIHNlbGYsIERlY2ltYWwuZnJvbV9mbG9hdChvdGhlcikKKyAgICByZXR1cm4gTm90SW1wbGVtZW50ZWQsIE5vdEltcGxlbWVudGVkCisKKworIyMjIyMgU2V0dXAgU3BlY2lmaWMgQ29udGV4dHMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworIyBUaGUgZGVmYXVsdCBjb250ZXh0IHByb3RvdHlwZSB1c2VkIGJ5IENvbnRleHQoKQorIyBJcyBtdXRhYmxlLCBzbyB0aGF0IG5ldyBjb250ZXh0cyBjYW4gaGF2ZSBkaWZmZXJlbnQgZGVmYXVsdCB2YWx1ZXMKKworRGVmYXVsdENvbnRleHQgPSBDb250ZXh0KAorICAgICAgICBwcmVjPTI4LCByb3VuZGluZz1ST1VORF9IQUxGX0VWRU4sCisgICAgICAgIHRyYXBzPVtEaXZpc2lvbkJ5WmVybywgT3ZlcmZsb3csIEludmFsaWRPcGVyYXRpb25dLAorICAgICAgICBmbGFncz1bXSwKKyAgICAgICAgRW1heD05OTk5OTksCisgICAgICAgIEVtaW49LTk5OTk5OSwKKyAgICAgICAgY2FwaXRhbHM9MSwKKyAgICAgICAgY2xhbXA9MAorKQorCisjIFByZS1tYWRlIGFsdGVybmF0ZSBjb250ZXh0cyBvZmZlcmVkIGJ5IHRoZSBzcGVjaWZpY2F0aW9uCisjIERvbid0IGNoYW5nZSB0aGVzZTsgdGhlIHVzZXIgc2hvdWxkIGJlIGFibGUgdG8gc2VsZWN0IHRoZXNlCisjIGNvbnRleHRzIGFuZCBiZSBhYmxlIHRvIHJlcHJvZHVjZSByZXN1bHRzIGZyb20gb3RoZXIgaW1wbGVtZW50YXRpb25zCisjIG9mIHRoZSBzcGVjLgorCitCYXNpY0NvbnRleHQgPSBDb250ZXh0KAorICAgICAgICBwcmVjPTksIHJvdW5kaW5nPVJPVU5EX0hBTEZfVVAsCisgICAgICAgIHRyYXBzPVtEaXZpc2lvbkJ5WmVybywgT3ZlcmZsb3csIEludmFsaWRPcGVyYXRpb24sIENsYW1wZWQsIFVuZGVyZmxvd10sCisgICAgICAgIGZsYWdzPVtdLAorKQorCitFeHRlbmRlZENvbnRleHQgPSBDb250ZXh0KAorICAgICAgICBwcmVjPTksIHJvdW5kaW5nPVJPVU5EX0hBTEZfRVZFTiwKKyAgICAgICAgdHJhcHM9W10sCisgICAgICAgIGZsYWdzPVtdLAorKQorCisKKyMjIyMjIGNydWQgZm9yIHBhcnNpbmcgc3RyaW5ncyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgUmVndWxhciBleHByZXNzaW9uIHVzZWQgZm9yIHBhcnNpbmcgbnVtZXJpYyBzdHJpbmdzLiAgQWRkaXRpb25hbAorIyBjb21tZW50czoKKyMKKyMgMS4gVW5jb21tZW50IHRoZSB0d28gJ1xzKicgbGluZXMgdG8gYWxsb3cgbGVhZGluZyBhbmQvb3IgdHJhaWxpbmcKKyMgd2hpdGVzcGFjZS4gIEJ1dCBub3RlIHRoYXQgdGhlIHNwZWNpZmljYXRpb24gZGlzYWxsb3dzIHdoaXRlc3BhY2UgaW4KKyMgYSBudW1lcmljIHN0cmluZy4KKyMKKyMgMi4gRm9yIGZpbml0ZSBudW1iZXJzIChub3QgaW5maW5pdGllcyBhbmQgTmFOcykgdGhlIGJvZHkgb2YgdGhlCisjIG51bWJlciBiZXR3ZWVuIHRoZSBvcHRpb25hbCBzaWduIGFuZCB0aGUgb3B0aW9uYWwgZXhwb25lbnQgbXVzdCBoYXZlCisjIGF0IGxlYXN0IG9uZSBkZWNpbWFsIGRpZ2l0LCBwb3NzaWJseSBhZnRlciB0aGUgZGVjaW1hbCBwb2ludC4gIFRoZQorIyBsb29rYWhlYWQgZXhwcmVzc2lvbiAnKD89XGR8XC5cZCknIGNoZWNrcyB0aGlzLgorCitpbXBvcnQgcmUKK19wYXJzZXIgPSByZS5jb21waWxlKHIiIiIgICAgICAgICMgQSBudW1lcmljIHN0cmluZyBjb25zaXN0cyBvZjoKKyMgICAgXHMqCisgICAgKD9QPHNpZ24+Wy0rXSk/ICAgICAgICAgICAgICAjIGFuIG9wdGlvbmFsIHNpZ24sIGZvbGxvd2VkIGJ5IGVpdGhlci4uLgorICAgICgKKyAgICAgICAgKD89XGR8XC5cZCkgICAgICAgICAgICAgICMgLi4uYSBudW1iZXIgKHdpdGggYXQgbGVhc3Qgb25lIGRpZ2l0KQorICAgICAgICAoP1A8aW50PlxkKikgICAgICAgICAgICAgIyBoYXZpbmcgYSAocG9zc2libHkgZW1wdHkpIGludGVnZXIgcGFydAorICAgICAgICAoXC4oP1A8ZnJhYz5cZCopKT8gICAgICAgIyBmb2xsb3dlZCBieSBhbiBvcHRpb25hbCBmcmFjdGlvbmFsIHBhcnQKKyAgICAgICAgKEUoP1A8ZXhwPlstK10/XGQrKSk/ICAgICMgZm9sbG93ZWQgYnkgYW4gb3B0aW9uYWwgZXhwb25lbnQsIG9yLi4uCisgICAgfAorICAgICAgICBJbmYoaW5pdHkpPyAgICAgICAgICAgICAgIyAuLi5hbiBpbmZpbml0eSwgb3IuLi4KKyAgICB8CisgICAgICAgICg/UDxzaWduYWw+cyk/ICAgICAgICAgICAjIC4uLmFuIChvcHRpb25hbGx5IHNpZ25hbGluZykKKyAgICAgICAgTmFOICAgICAgICAgICAgICAgICAgICAgICMgTmFOCisgICAgICAgICg/UDxkaWFnPlxkKikgICAgICAgICAgICAjIHdpdGggKHBvc3NpYmx5IGVtcHR5KSBkaWFnbm9zdGljIGluZm8uCisgICAgKQorIyAgICBccyoKKyAgICBcWgorIiIiLCByZS5WRVJCT1NFIHwgcmUuSUdOT1JFQ0FTRSkubWF0Y2gKKworX2FsbF96ZXJvcyA9IHJlLmNvbXBpbGUoJzAqJCcpLm1hdGNoCitfZXhhY3RfaGFsZiA9IHJlLmNvbXBpbGUoJzUwKiQnKS5tYXRjaAorCisjIyMjIyBQRVAzMTAxIHN1cHBvcnQgZnVuY3Rpb25zICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgVGhlIGZ1bmN0aW9ucyBpbiB0aGlzIHNlY3Rpb24gaGF2ZSBsaXR0bGUgdG8gZG8gd2l0aCB0aGUgRGVjaW1hbAorIyBjbGFzcywgYW5kIGNvdWxkIHBvdGVudGlhbGx5IGJlIHJldXNlZCBvciBhZGFwdGVkIGZvciBvdGhlciBwdXJlCisjIFB5dGhvbiBudW1lcmljIGNsYXNzZXMgdGhhdCB3YW50IHRvIGltcGxlbWVudCBfX2Zvcm1hdF9fCisjCisjIEEgZm9ybWF0IHNwZWNpZmllciBmb3IgRGVjaW1hbCBsb29rcyBsaWtlOgorIworIyAgIFtbZmlsbF1hbGlnbl1bc2lnbl1bI11bMF1bbWluaW11bXdpZHRoXVssXVsucHJlY2lzaW9uXVt0eXBlXQorCitfcGFyc2VfZm9ybWF0X3NwZWNpZmllcl9yZWdleCA9IHJlLmNvbXBpbGUociIiIlxBCisoPzoKKyAgICg/UDxmaWxsPi4pPworICAgKD9QPGFsaWduPls8Pj1eXSkKKyk/CisoP1A8c2lnbj5bLSsgXSk/CisoP1A8YWx0PlwjKT8KKyg/UDx6ZXJvcGFkPjApPworKD9QPG1pbmltdW13aWR0aD4oPyEwKVxkKyk/CisoP1A8dGhvdXNhbmRzX3NlcD4sKT8KKyg/OlwuKD9QPHByZWNpc2lvbj4wfCg/ITApXGQrKSk/CisoP1A8dHlwZT5bZUVmRmdHbiVdKT8KK1xaCisiIiIsIHJlLlZFUkJPU0V8cmUuRE9UQUxMKQorCitkZWwgcmUKKworIyBUaGUgbG9jYWxlIG1vZHVsZSBpcyBvbmx5IG5lZWRlZCBmb3IgdGhlICduJyBmb3JtYXQgc3BlY2lmaWVyLiAgVGhlCisjIHJlc3Qgb2YgdGhlIFBFUCAzMTAxIGNvZGUgZnVuY3Rpb25zIHF1aXRlIGhhcHBpbHkgd2l0aG91dCBpdCwgc28gd2UKKyMgZG9uJ3QgY2FyZSB0b28gbXVjaCBpZiBsb2NhbGUgaXNuJ3QgcHJlc2VudC4KK3RyeToKKyAgICBpbXBvcnQgbG9jYWxlIGFzIF9sb2NhbGUKK2V4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICBwYXNzCisKK2RlZiBfcGFyc2VfZm9ybWF0X3NwZWNpZmllcihmb3JtYXRfc3BlYywgX2xvY2FsZWNvbnY9Tm9uZSk6CisgICAgIiIiUGFyc2UgYW5kIHZhbGlkYXRlIGEgZm9ybWF0IHNwZWNpZmllci4KKworICAgIFR1cm5zIGEgc3RhbmRhcmQgbnVtZXJpYyBmb3JtYXQgc3BlY2lmaWVyIGludG8gYSBkaWN0LCB3aXRoIHRoZQorICAgIGZvbGxvd2luZyBlbnRyaWVzOgorCisgICAgICBmaWxsOiBmaWxsIGNoYXJhY3RlciB0byBwYWQgZmllbGQgdG8gbWluaW11bSB3aWR0aAorICAgICAgYWxpZ246IGFsaWdubWVudCB0eXBlLCBlaXRoZXIgJzwnLCAnPicsICc9JyBvciAnXicKKyAgICAgIHNpZ246IGVpdGhlciAnKycsICctJyBvciAnICcKKyAgICAgIG1pbmltdW13aWR0aDogbm9ubmVnYXRpdmUgaW50ZWdlciBnaXZpbmcgbWluaW11bSB3aWR0aAorICAgICAgemVyb3BhZDogYm9vbGVhbiwgaW5kaWNhdGluZyB3aGV0aGVyIHRvIHBhZCB3aXRoIHplcm9zCisgICAgICB0aG91c2FuZHNfc2VwOiBzdHJpbmcgdG8gdXNlIGFzIHRob3VzYW5kcyBzZXBhcmF0b3IsIG9yICcnCisgICAgICBncm91cGluZzogZ3JvdXBpbmcgZm9yIHRob3VzYW5kcyBzZXBhcmF0b3JzLCBpbiBmb3JtYXQKKyAgICAgICAgdXNlZCBieSBsb2NhbGVjb252CisgICAgICBkZWNpbWFsX3BvaW50OiBzdHJpbmcgdG8gdXNlIGZvciBkZWNpbWFsIHBvaW50CisgICAgICBwcmVjaXNpb246IG5vbm5lZ2F0aXZlIGludGVnZXIgZ2l2aW5nIHByZWNpc2lvbiwgb3IgTm9uZQorICAgICAgdHlwZTogb25lIG9mIHRoZSBjaGFyYWN0ZXJzICdlRWZGZ0clJywgb3IgTm9uZQorCisgICAgIiIiCisgICAgbSA9IF9wYXJzZV9mb3JtYXRfc3BlY2lmaWVyX3JlZ2V4Lm1hdGNoKGZvcm1hdF9zcGVjKQorICAgIGlmIG0gaXMgTm9uZToKKyAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiSW52YWxpZCBmb3JtYXQgc3BlY2lmaWVyOiAiICsgZm9ybWF0X3NwZWMpCisKKyAgICAjIGdldCB0aGUgZGljdGlvbmFyeQorICAgIGZvcm1hdF9kaWN0ID0gbS5ncm91cGRpY3QoKQorCisgICAgIyB6ZXJvcGFkOyBkZWZhdWx0cyBmb3IgZmlsbCBhbmQgYWxpZ25tZW50LiAgSWYgemVybyBwYWRkaW5nCisgICAgIyBpcyByZXF1ZXN0ZWQsIHRoZSBmaWxsIGFuZCBhbGlnbiBmaWVsZHMgc2hvdWxkIGJlIGFic2VudC4KKyAgICBmaWxsID0gZm9ybWF0X2RpY3RbJ2ZpbGwnXQorICAgIGFsaWduID0gZm9ybWF0X2RpY3RbJ2FsaWduJ10KKyAgICBmb3JtYXRfZGljdFsnemVyb3BhZCddID0gKGZvcm1hdF9kaWN0Wyd6ZXJvcGFkJ10gaXMgbm90IE5vbmUpCisgICAgaWYgZm9ybWF0X2RpY3RbJ3plcm9wYWQnXToKKyAgICAgICAgaWYgZmlsbCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkZpbGwgY2hhcmFjdGVyIGNvbmZsaWN0cyB3aXRoICcwJyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiBpbiBmb3JtYXQgc3BlY2lmaWVyOiAiICsgZm9ybWF0X3NwZWMpCisgICAgICAgIGlmIGFsaWduIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiQWxpZ25tZW50IGNvbmZsaWN0cyB3aXRoICcwJyBpbiAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmb3JtYXQgc3BlY2lmaWVyOiAiICsgZm9ybWF0X3NwZWMpCisgICAgZm9ybWF0X2RpY3RbJ2ZpbGwnXSA9IGZpbGwgb3IgJyAnCisgICAgIyBQRVAgMzEwMSBvcmlnaW5hbGx5IHNwZWNpZmllZCB0aGF0IHRoZSBkZWZhdWx0IGFsaWdubWVudCBzaG91bGQKKyAgICAjIGJlIGxlZnQ7ICBpdCB3YXMgbGF0ZXIgYWdyZWVkIHRoYXQgcmlnaHQtYWxpZ25lZCBtYWtlcyBtb3JlIHNlbnNlCisgICAgIyBmb3IgbnVtZXJpYyB0eXBlcy4gIFNlZSBodHRwOi8vYnVncy5weXRob24ub3JnL2lzc3VlNjg1Ny4KKyAgICBmb3JtYXRfZGljdFsnYWxpZ24nXSA9IGFsaWduIG9yICc+JworCisgICAgIyBkZWZhdWx0IHNpZ24gaGFuZGxpbmc6ICctJyBmb3IgbmVnYXRpdmUsICcnIGZvciBwb3NpdGl2ZQorICAgIGlmIGZvcm1hdF9kaWN0WydzaWduJ10gaXMgTm9uZToKKyAgICAgICAgZm9ybWF0X2RpY3RbJ3NpZ24nXSA9ICctJworCisgICAgIyBtaW5pbXVtd2lkdGggZGVmYXVsdHMgdG8gMDsgcHJlY2lzaW9uIHJlbWFpbnMgTm9uZSBpZiBub3QgZ2l2ZW4KKyAgICBmb3JtYXRfZGljdFsnbWluaW11bXdpZHRoJ10gPSBpbnQoZm9ybWF0X2RpY3RbJ21pbmltdW13aWR0aCddIG9yICcwJykKKyAgICBpZiBmb3JtYXRfZGljdFsncHJlY2lzaW9uJ10gaXMgbm90IE5vbmU6CisgICAgICAgIGZvcm1hdF9kaWN0WydwcmVjaXNpb24nXSA9IGludChmb3JtYXRfZGljdFsncHJlY2lzaW9uJ10pCisKKyAgICAjIGlmIGZvcm1hdCB0eXBlIGlzICdnJyBvciAnRycgdGhlbiBhIHByZWNpc2lvbiBvZiAwIG1ha2VzIGxpdHRsZQorICAgICMgc2Vuc2U7IGNvbnZlcnQgaXQgdG8gMS4gIFNhbWUgaWYgZm9ybWF0IHR5cGUgaXMgdW5zcGVjaWZpZWQuCisgICAgaWYgZm9ybWF0X2RpY3RbJ3ByZWNpc2lvbiddID09IDA6CisgICAgICAgIGlmIGZvcm1hdF9kaWN0Wyd0eXBlJ10gaXMgTm9uZSBvciBmb3JtYXRfZGljdFsndHlwZSddIGluICdnR24nOgorICAgICAgICAgICAgZm9ybWF0X2RpY3RbJ3ByZWNpc2lvbiddID0gMQorCisgICAgIyBkZXRlcm1pbmUgdGhvdXNhbmRzIHNlcGFyYXRvciwgZ3JvdXBpbmcsIGFuZCBkZWNpbWFsIHNlcGFyYXRvciwgYW5kCisgICAgIyBhZGQgYXBwcm9wcmlhdGUgZW50cmllcyB0byBmb3JtYXRfZGljdAorICAgIGlmIGZvcm1hdF9kaWN0Wyd0eXBlJ10gPT0gJ24nOgorICAgICAgICAjIGFwYXJ0IGZyb20gc2VwYXJhdG9ycywgJ24nIGJlaGF2ZXMganVzdCBsaWtlICdnJworICAgICAgICBmb3JtYXRfZGljdFsndHlwZSddID0gJ2cnCisgICAgICAgIGlmIF9sb2NhbGVjb252IGlzIE5vbmU6CisgICAgICAgICAgICBfbG9jYWxlY29udiA9IF9sb2NhbGUubG9jYWxlY29udigpCisgICAgICAgIGlmIGZvcm1hdF9kaWN0Wyd0aG91c2FuZHNfc2VwJ10gaXMgbm90IE5vbmU6CisgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJFeHBsaWNpdCB0aG91c2FuZHMgc2VwYXJhdG9yIGNvbmZsaWN0cyB3aXRoICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiduJyB0eXBlIGluIGZvcm1hdCBzcGVjaWZpZXI6ICIgKyBmb3JtYXRfc3BlYykKKyAgICAgICAgZm9ybWF0X2RpY3RbJ3Rob3VzYW5kc19zZXAnXSA9IF9sb2NhbGVjb252Wyd0aG91c2FuZHNfc2VwJ10KKyAgICAgICAgZm9ybWF0X2RpY3RbJ2dyb3VwaW5nJ10gPSBfbG9jYWxlY29udlsnZ3JvdXBpbmcnXQorICAgICAgICBmb3JtYXRfZGljdFsnZGVjaW1hbF9wb2ludCddID0gX2xvY2FsZWNvbnZbJ2RlY2ltYWxfcG9pbnQnXQorICAgIGVsc2U6CisgICAgICAgIGlmIGZvcm1hdF9kaWN0Wyd0aG91c2FuZHNfc2VwJ10gaXMgTm9uZToKKyAgICAgICAgICAgIGZvcm1hdF9kaWN0Wyd0aG91c2FuZHNfc2VwJ10gPSAnJworICAgICAgICBmb3JtYXRfZGljdFsnZ3JvdXBpbmcnXSA9IFszLCAwXQorICAgICAgICBmb3JtYXRfZGljdFsnZGVjaW1hbF9wb2ludCddID0gJy4nCisKKyAgICByZXR1cm4gZm9ybWF0X2RpY3QKKworZGVmIF9mb3JtYXRfYWxpZ24oc2lnbiwgYm9keSwgc3BlYyk6CisgICAgIiIiR2l2ZW4gYW4gdW5wYWRkZWQsIG5vbi1hbGlnbmVkIG51bWVyaWMgc3RyaW5nICdib2R5JyBhbmQgc2lnbgorICAgIHN0cmluZyAnc2lnbicsIGFkZCBwYWRkaW5nIGFuZCBhbGlnbm1lbnQgY29uZm9ybWluZyB0byB0aGUgZ2l2ZW4KKyAgICBmb3JtYXQgc3BlY2lmaWVyIGRpY3Rpb25hcnkgJ3NwZWMnIChhcyBwcm9kdWNlZCBieQorICAgIHBhcnNlX2Zvcm1hdF9zcGVjaWZpZXIpLgorCisgICAgIiIiCisgICAgIyBob3cgbXVjaCBleHRyYSBzcGFjZSBkbyB3ZSBoYXZlIHRvIHBsYXkgd2l0aD8KKyAgICBtaW5pbXVtd2lkdGggPSBzcGVjWydtaW5pbXVtd2lkdGgnXQorICAgIGZpbGwgPSBzcGVjWydmaWxsJ10KKyAgICBwYWRkaW5nID0gZmlsbCoobWluaW11bXdpZHRoIC0gbGVuKHNpZ24pIC0gbGVuKGJvZHkpKQorCisgICAgYWxpZ24gPSBzcGVjWydhbGlnbiddCisgICAgaWYgYWxpZ24gPT0gJzwnOgorICAgICAgICByZXN1bHQgPSBzaWduICsgYm9keSArIHBhZGRpbmcKKyAgICBlbGlmIGFsaWduID09ICc+JzoKKyAgICAgICAgcmVzdWx0ID0gcGFkZGluZyArIHNpZ24gKyBib2R5CisgICAgZWxpZiBhbGlnbiA9PSAnPSc6CisgICAgICAgIHJlc3VsdCA9IHNpZ24gKyBwYWRkaW5nICsgYm9keQorICAgIGVsaWYgYWxpZ24gPT0gJ14nOgorICAgICAgICBoYWxmID0gbGVuKHBhZGRpbmcpLy8yCisgICAgICAgIHJlc3VsdCA9IHBhZGRpbmdbOmhhbGZdICsgc2lnbiArIGJvZHkgKyBwYWRkaW5nW2hhbGY6XQorICAgIGVsc2U6CisgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ1VucmVjb2duaXNlZCBhbGlnbm1lbnQgZmllbGQnKQorCisgICAgcmV0dXJuIHJlc3VsdAorCitkZWYgX2dyb3VwX2xlbmd0aHMoZ3JvdXBpbmcpOgorICAgICIiIkNvbnZlcnQgYSBsb2NhbGVjb252LXN0eWxlIGdyb3VwaW5nIGludG8gYSAocG9zc2libHkgaW5maW5pdGUpCisgICAgaXRlcmFibGUgb2YgaW50ZWdlcnMgcmVwcmVzZW50aW5nIGdyb3VwIGxlbmd0aHMuCisKKyAgICAiIiIKKyAgICAjIFRoZSByZXN1bHQgZnJvbSBsb2NhbGVjb252KClbJ2dyb3VwaW5nJ10sIGFuZCB0aGUgaW5wdXQgdG8gdGhpcworICAgICMgZnVuY3Rpb24sIHNob3VsZCBiZSBhIGxpc3Qgb2YgaW50ZWdlcnMgaW4gb25lIG9mIHRoZQorICAgICMgZm9sbG93aW5nIHRocmVlIGZvcm1zOgorICAgICMKKyAgICAjICAgKDEpIGFuIGVtcHR5IGxpc3QsIG9yCisgICAgIyAgICgyKSBub25lbXB0eSBsaXN0IG9mIHBvc2l0aXZlIGludGVnZXJzICsgWzBdCisgICAgIyAgICgzKSBsaXN0IG9mIHBvc2l0aXZlIGludGVnZXJzICsgW2xvY2FsZS5DSEFSX01BWF0sIG9yCisKKyAgICBmcm9tIGl0ZXJ0b29scyBpbXBvcnQgY2hhaW4sIHJlcGVhdAorICAgIGlmIG5vdCBncm91cGluZzoKKyAgICAgICAgcmV0dXJuIFtdCisgICAgZWxpZiBncm91cGluZ1stMV0gPT0gMCBhbmQgbGVuKGdyb3VwaW5nKSA+PSAyOgorICAgICAgICByZXR1cm4gY2hhaW4oZ3JvdXBpbmdbOi0xXSwgcmVwZWF0KGdyb3VwaW5nWy0yXSkpCisgICAgZWxpZiBncm91cGluZ1stMV0gPT0gX2xvY2FsZS5DSEFSX01BWDoKKyAgICAgICAgcmV0dXJuIGdyb3VwaW5nWzotMV0KKyAgICBlbHNlOgorICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCd1bnJlY29nbmlzZWQgZm9ybWF0IGZvciBncm91cGluZycpCisKK2RlZiBfaW5zZXJ0X3Rob3VzYW5kc19zZXAoZGlnaXRzLCBzcGVjLCBtaW5fd2lkdGg9MSk6CisgICAgIiIiSW5zZXJ0IHRob3VzYW5kcyBzZXBhcmF0b3JzIGludG8gYSBkaWdpdCBzdHJpbmcuCisKKyAgICBzcGVjIGlzIGEgZGljdGlvbmFyeSB3aG9zZSBrZXlzIHNob3VsZCBpbmNsdWRlICd0aG91c2FuZHNfc2VwJyBhbmQKKyAgICAnZ3JvdXBpbmcnOyB0eXBpY2FsbHkgaXQncyB0aGUgcmVzdWx0IG9mIHBhcnNpbmcgdGhlIGZvcm1hdAorICAgIHNwZWNpZmllciB1c2luZyBfcGFyc2VfZm9ybWF0X3NwZWNpZmllci4KKworICAgIFRoZSBtaW5fd2lkdGgga2V5d29yZCBhcmd1bWVudCBnaXZlcyB0aGUgbWluaW11bSBsZW5ndGggb2YgdGhlCisgICAgcmVzdWx0LCB3aGljaCB3aWxsIGJlIHBhZGRlZCBvbiB0aGUgbGVmdCB3aXRoIHplcm9zIGlmIG5lY2Vzc2FyeS4KKworICAgIElmIG5lY2Vzc2FyeSwgdGhlIHplcm8gcGFkZGluZyBhZGRzIGFuIGV4dHJhICcwJyBvbiB0aGUgbGVmdCB0bworICAgIGF2b2lkIGEgbGVhZGluZyB0aG91c2FuZHMgc2VwYXJhdG9yLiAgRm9yIGV4YW1wbGUsIGluc2VydGluZworICAgIGNvbW1hcyBldmVyeSB0aHJlZSBkaWdpdHMgaW4gJzEyMzQ1NicsIHdpdGggbWluX3dpZHRoPTgsIGdpdmVzCisgICAgJzAsMTIzLDQ1NicsIGV2ZW4gdGhvdWdoIHRoYXQgaGFzIGxlbmd0aCA5LgorCisgICAgIiIiCisKKyAgICBzZXAgPSBzcGVjWyd0aG91c2FuZHNfc2VwJ10KKyAgICBncm91cGluZyA9IHNwZWNbJ2dyb3VwaW5nJ10KKworICAgIGdyb3VwcyA9IFtdCisgICAgZm9yIGwgaW4gX2dyb3VwX2xlbmd0aHMoZ3JvdXBpbmcpOgorICAgICAgICBpZiBsIDw9IDA6CisgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJncm91cCBsZW5ndGggc2hvdWxkIGJlIHBvc2l0aXZlIikKKyAgICAgICAgIyBtYXgoLi4uLCAxKSBmb3JjZXMgYXQgbGVhc3QgMSBkaWdpdCB0byB0aGUgbGVmdCBvZiBhIHNlcGFyYXRvcgorICAgICAgICBsID0gbWluKG1heChsZW4oZGlnaXRzKSwgbWluX3dpZHRoLCAxKSwgbCkKKyAgICAgICAgZ3JvdXBzLmFwcGVuZCgnMCcqKGwgLSBsZW4oZGlnaXRzKSkgKyBkaWdpdHNbLWw6XSkKKyAgICAgICAgZGlnaXRzID0gZGlnaXRzWzotbF0KKyAgICAgICAgbWluX3dpZHRoIC09IGwKKyAgICAgICAgaWYgbm90IGRpZ2l0cyBhbmQgbWluX3dpZHRoIDw9IDA6CisgICAgICAgICAgICBicmVhaworICAgICAgICBtaW5fd2lkdGggLT0gbGVuKHNlcCkKKyAgICBlbHNlOgorICAgICAgICBsID0gbWF4KGxlbihkaWdpdHMpLCBtaW5fd2lkdGgsIDEpCisgICAgICAgIGdyb3Vwcy5hcHBlbmQoJzAnKihsIC0gbGVuKGRpZ2l0cykpICsgZGlnaXRzWy1sOl0pCisgICAgcmV0dXJuIHNlcC5qb2luKHJldmVyc2VkKGdyb3VwcykpCisKK2RlZiBfZm9ybWF0X3NpZ24oaXNfbmVnYXRpdmUsIHNwZWMpOgorICAgICIiIkRldGVybWluZSBzaWduIGNoYXJhY3Rlci4iIiIKKworICAgIGlmIGlzX25lZ2F0aXZlOgorICAgICAgICByZXR1cm4gJy0nCisgICAgZWxpZiBzcGVjWydzaWduJ10gaW4gJyArJzoKKyAgICAgICAgcmV0dXJuIHNwZWNbJ3NpZ24nXQorICAgIGVsc2U6CisgICAgICAgIHJldHVybiAnJworCitkZWYgX2Zvcm1hdF9udW1iZXIoaXNfbmVnYXRpdmUsIGludHBhcnQsIGZyYWNwYXJ0LCBleHAsIHNwZWMpOgorICAgICIiIkZvcm1hdCBhIG51bWJlciwgZ2l2ZW4gdGhlIGZvbGxvd2luZyBkYXRhOgorCisgICAgaXNfbmVnYXRpdmU6IHRydWUgaWYgdGhlIG51bWJlciBpcyBuZWdhdGl2ZSwgZWxzZSBmYWxzZQorICAgIGludHBhcnQ6IHN0cmluZyBvZiBkaWdpdHMgdGhhdCBtdXN0IGFwcGVhciBiZWZvcmUgdGhlIGRlY2ltYWwgcG9pbnQKKyAgICBmcmFjcGFydDogc3RyaW5nIG9mIGRpZ2l0cyB0aGF0IG11c3QgY29tZSBhZnRlciB0aGUgcG9pbnQKKyAgICBleHA6IGV4cG9uZW50LCBhcyBhbiBpbnRlZ2VyCisgICAgc3BlYzogZGljdGlvbmFyeSByZXN1bHRpbmcgZnJvbSBwYXJzaW5nIHRoZSBmb3JtYXQgc3BlY2lmaWVyCisKKyAgICBUaGlzIGZ1bmN0aW9uIHVzZXMgdGhlIGluZm9ybWF0aW9uIGluIHNwZWMgdG86CisgICAgICBpbnNlcnQgc2VwYXJhdG9ycyAoZGVjaW1hbCBzZXBhcmF0b3IgYW5kIHRob3VzYW5kcyBzZXBhcmF0b3JzKQorICAgICAgZm9ybWF0IHRoZSBzaWduCisgICAgICBmb3JtYXQgdGhlIGV4cG9uZW50CisgICAgICBhZGQgdHJhaWxpbmcgJyUnIGZvciB0aGUgJyUnIHR5cGUKKyAgICAgIHplcm8tcGFkIGlmIG5lY2Vzc2FyeQorICAgICAgZmlsbCBhbmQgYWxpZ24gaWYgbmVjZXNzYXJ5CisgICAgIiIiCisKKyAgICBzaWduID0gX2Zvcm1hdF9zaWduKGlzX25lZ2F0aXZlLCBzcGVjKQorCisgICAgaWYgZnJhY3BhcnQgb3Igc3BlY1snYWx0J106CisgICAgICAgIGZyYWNwYXJ0ID0gc3BlY1snZGVjaW1hbF9wb2ludCddICsgZnJhY3BhcnQKKworICAgIGlmIGV4cCAhPSAwIG9yIHNwZWNbJ3R5cGUnXSBpbiAnZUUnOgorICAgICAgICBlY2hhciA9IHsnRSc6ICdFJywgJ2UnOiAnZScsICdHJzogJ0UnLCAnZyc6ICdlJ31bc3BlY1sndHlwZSddXQorICAgICAgICBmcmFjcGFydCArPSAiezB9ezE6K30iLmZvcm1hdChlY2hhciwgZXhwKQorICAgIGlmIHNwZWNbJ3R5cGUnXSA9PSAnJSc6CisgICAgICAgIGZyYWNwYXJ0ICs9ICclJworCisgICAgaWYgc3BlY1snemVyb3BhZCddOgorICAgICAgICBtaW5fd2lkdGggPSBzcGVjWydtaW5pbXVtd2lkdGgnXSAtIGxlbihmcmFjcGFydCkgLSBsZW4oc2lnbikKKyAgICBlbHNlOgorICAgICAgICBtaW5fd2lkdGggPSAwCisgICAgaW50cGFydCA9IF9pbnNlcnRfdGhvdXNhbmRzX3NlcChpbnRwYXJ0LCBzcGVjLCBtaW5fd2lkdGgpCisKKyAgICByZXR1cm4gX2Zvcm1hdF9hbGlnbihzaWduLCBpbnRwYXJ0K2ZyYWNwYXJ0LCBzcGVjKQorCisKKyMjIyMjIFVzZWZ1bCBDb25zdGFudHMgKGludGVybmFsIHVzZSBvbmx5KSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCisjIFJldXNhYmxlIGRlZmF1bHRzCitfSW5maW5pdHkgPSBEZWNpbWFsKCdJbmYnKQorX05lZ2F0aXZlSW5maW5pdHkgPSBEZWNpbWFsKCctSW5mJykKK19OYU4gPSBEZWNpbWFsKCdOYU4nKQorX1plcm8gPSBEZWNpbWFsKDApCitfT25lID0gRGVjaW1hbCgxKQorX05lZ2F0aXZlT25lID0gRGVjaW1hbCgtMSkKKworIyBfU2lnbmVkSW5maW5pdHlbc2lnbl0gaXMgaW5maW5pdHkgdy8gdGhhdCBzaWduCitfU2lnbmVkSW5maW5pdHkgPSAoX0luZmluaXR5LCBfTmVnYXRpdmVJbmZpbml0eSkKKworIyBDb25zdGFudHMgcmVsYXRlZCB0byB0aGUgaGFzaCBpbXBsZW1lbnRhdGlvbjsgIGhhc2goeCkgaXMgYmFzZWQKKyMgb24gdGhlIHJlZHVjdGlvbiBvZiB4IG1vZHVsbyBfUHlIQVNIX01PRFVMVVMKK19QeUhBU0hfTU9EVUxVUyA9IHN5cy5oYXNoX2luZm8ubW9kdWx1cworIyBoYXNoIHZhbHVlcyB0byB1c2UgZm9yIHBvc2l0aXZlIGFuZCBuZWdhdGl2ZSBpbmZpbml0aWVzLCBhbmQgbmFucworX1B5SEFTSF9JTkYgPSBzeXMuaGFzaF9pbmZvLmluZgorX1B5SEFTSF9OQU4gPSBzeXMuaGFzaF9pbmZvLm5hbgorCisjIF9QeUhBU0hfMTBJTlYgaXMgdGhlIGludmVyc2Ugb2YgMTAgbW9kdWxvIHRoZSBwcmltZSBfUHlIQVNIX01PRFVMVVMKK19QeUhBU0hfMTBJTlYgPSBwb3coMTAsIF9QeUhBU0hfTU9EVUxVUyAtIDIsIF9QeUhBU0hfTU9EVUxVUykKK2RlbCBzeXMKZGlmZiAtLWdpdCBhL0xpYi9fcHlpby5weSBiL0xpYi9fcHlpby5weQppbmRleCA1NzdiNjAwLi5iMGYwMTE0IDEwMDY0NAotLS0gYS9MaWIvX3B5aW8ucHkKKysrIGIvTGliL19weWlvLnB5CkBAIC02LDYgKzYsNyBAQAogaW1wb3J0IGFiYwogaW1wb3J0IGNvZGVjcwogaW1wb3J0IGVycm5vCitpbXBvcnQgYXJyYXkKICMgSW1wb3J0IF90aHJlYWQgaW5zdGVhZCBvZiB0aHJlYWRpbmcgdG8gcmVkdWNlIHN0YXJ0dXAgY29zdAogdHJ5OgogICAgIGZyb20gX3RocmVhZCBpbXBvcnQgYWxsb2NhdGVfbG9jayBhcyBMb2NrCkBAIC0yNTYsNyArMjU3LDcgQEAKICAgICBUcmljayBzbyB0aGF0IG9wZW4gd29uJ3QgYmVjb21lIGEgYm91bmQgbWV0aG9kIHdoZW4gc3RvcmVkCiAgICAgYXMgYSBjbGFzcyB2YXJpYWJsZSAoYXMgZGJtLmR1bWIgZG9lcykuCiAKLSAgICBTZWUgaW5pdHN0ZGlvKCkgaW4gUHl0aG9uL3B5dGhvbnJ1bi5jLgorICAgIFNlZSBpbml0c3RkaW8oKSBpbiBQeXRob24vcHlsaWZlY3ljbGUuYy4KICAgICAiIiIKICAgICBfX2RvY19fID0gRG9jRGVzY3JpcHRvcigpCiAKQEAgLTY2MiwxNiArNjYzLDMzIEBACiAgICAgICAgIFJhaXNlcyBCbG9ja2luZ0lPRXJyb3IgaWYgdGhlIHVuZGVybHlpbmcgcmF3IHN0cmVhbSBoYXMgbm8KICAgICAgICAgZGF0YSBhdCB0aGUgbW9tZW50LgogICAgICAgICAiIiIKLSAgICAgICAgIyBYWFggVGhpcyBvdWdodCB0byB3b3JrIHdpdGggYW55dGhpbmcgdGhhdCBzdXBwb3J0cyB0aGUgYnVmZmVyIEFQSQotICAgICAgICBkYXRhID0gc2VsZi5yZWFkKGxlbihiKSkKKworICAgICAgICByZXR1cm4gc2VsZi5fcmVhZGludG8oYiwgcmVhZDE9RmFsc2UpCisKKyAgICBkZWYgcmVhZGludG8xKHNlbGYsIGIpOgorICAgICAgICAiIiJSZWFkIHVwIHRvIGxlbihiKSBieXRlcyBpbnRvICpiKiwgdXNpbmcgYXQgbW9zdCBvbmUgc3lzdGVtIGNhbGwKKworICAgICAgICBSZXR1cm5zIGFuIGludCByZXByZXNlbnRpbmcgdGhlIG51bWJlciBvZiBieXRlcyByZWFkICgwIGZvciBFT0YpLgorCisgICAgICAgIFJhaXNlcyBCbG9ja2luZ0lPRXJyb3IgaWYgdGhlIHVuZGVybHlpbmcgcmF3IHN0cmVhbSBoYXMgbm8KKyAgICAgICAgZGF0YSBhdCB0aGUgbW9tZW50LgorICAgICAgICAiIiIKKworICAgICAgICByZXR1cm4gc2VsZi5fcmVhZGludG8oYiwgcmVhZDE9VHJ1ZSkKKworICAgIGRlZiBfcmVhZGludG8oc2VsZiwgYiwgcmVhZDEpOgorICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShiLCBtZW1vcnl2aWV3KToKKyAgICAgICAgICAgIGIgPSBtZW1vcnl2aWV3KGIpCisgICAgICAgIGIgPSBiLmNhc3QoJ0InKQorCisgICAgICAgIGlmIHJlYWQxOgorICAgICAgICAgICAgZGF0YSA9IHNlbGYucmVhZDEobGVuKGIpKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgZGF0YSA9IHNlbGYucmVhZChsZW4oYikpCiAgICAgICAgIG4gPSBsZW4oZGF0YSkKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgYls6bl0gPSBkYXRhCi0gICAgICAgIGV4Y2VwdCBUeXBlRXJyb3IgYXMgZXJyOgotICAgICAgICAgICAgaW1wb3J0IGFycmF5Ci0gICAgICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShiLCBhcnJheS5hcnJheSk6Ci0gICAgICAgICAgICAgICAgcmFpc2UgZXJyCi0gICAgICAgICAgICBiWzpuXSA9IGFycmF5LmFycmF5KCdiJywgZGF0YSkKKworICAgICAgICBiWzpuXSA9IGRhdGEKKwogICAgICAgICByZXR1cm4gbgogCiAgICAgZGVmIHdyaXRlKHNlbGYsIGIpOgpAQCAtNzkwLDEzICs4MDgsMTQgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIC5mb3JtYXQoc2VsZi5fX2NsYXNzX18uX19uYW1lX18pKQogCiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICBjbHNuYW1lID0gc2VsZi5fX2NsYXNzX18uX19uYW1lX18KKyAgICAgICAgbW9kbmFtZSA9IHNlbGYuX19jbGFzc19fLl9fbW9kdWxlX18KKyAgICAgICAgY2xzbmFtZSA9IHNlbGYuX19jbGFzc19fLl9fcXVhbG5hbWVfXwogICAgICAgICB0cnk6CiAgICAgICAgICAgICBuYW1lID0gc2VsZi5uYW1lCiAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246Ci0gICAgICAgICAgICByZXR1cm4gIjxfcHlpby57MH0+Ii5mb3JtYXQoY2xzbmFtZSkKKyAgICAgICAgICAgIHJldHVybiAiPHt9Lnt9PiIuZm9ybWF0KG1vZG5hbWUsIGNsc25hbWUpCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gIjxfcHlpby57MH0gbmFtZT17MSFyfT4iLmZvcm1hdChjbHNuYW1lLCBuYW1lKQorICAgICAgICAgICAgcmV0dXJuICI8e30ue30gbmFtZT17IXJ9PiIuZm9ybWF0KG1vZG5hbWUsIGNsc25hbWUsIG5hbWUpCiAKICAgICAjIyMgTG93ZXItbGV2ZWwgQVBJcyAjIyMKIApAQCAtOTkzLDEwICsxMDEyLDcgQEAKICAgICAgICAgICAgIGN1cnJlbnRfc2l6ZSA9IDAKICAgICAgICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgICAgICAgIyBSZWFkIHVudGlsIEVPRiBvciB1bnRpbCByZWFkKCkgd291bGQgYmxvY2suCi0gICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICBjaHVuayA9IHNlbGYucmF3LnJlYWQoKQotICAgICAgICAgICAgICAgIGV4Y2VwdCBJbnRlcnJ1cHRlZEVycm9yOgotICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgICAgIGNodW5rID0gc2VsZi5yYXcucmVhZCgpCiAgICAgICAgICAgICAgICAgaWYgY2h1bmsgaW4gZW1wdHlfdmFsdWVzOgogICAgICAgICAgICAgICAgICAgICBub2RhdGFfdmFsID0gY2h1bmsKICAgICAgICAgICAgICAgICAgICAgYnJlYWsKQEAgLTEwMTUsMTAgKzEwMzEsNyBAQAogICAgICAgICBjaHVua3MgPSBbYnVmW3BvczpdXQogICAgICAgICB3YW50ZWQgPSBtYXgoc2VsZi5idWZmZXJfc2l6ZSwgbikKICAgICAgICAgd2hpbGUgYXZhaWwgPCBuOgotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIGNodW5rID0gc2VsZi5yYXcucmVhZCh3YW50ZWQpCi0gICAgICAgICAgICBleGNlcHQgSW50ZXJydXB0ZWRFcnJvcjoKLSAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgY2h1bmsgPSBzZWxmLnJhdy5yZWFkKHdhbnRlZCkKICAgICAgICAgICAgIGlmIGNodW5rIGluIGVtcHR5X3ZhbHVlczoKICAgICAgICAgICAgICAgICBub2RhdGFfdmFsID0gY2h1bmsKICAgICAgICAgICAgICAgICBicmVhawpAQCAtMTA0NywxMiArMTA2MCw3IEBACiAgICAgICAgIGhhdmUgPSBsZW4oc2VsZi5fcmVhZF9idWYpIC0gc2VsZi5fcmVhZF9wb3MKICAgICAgICAgaWYgaGF2ZSA8IHdhbnQgb3IgaGF2ZSA8PSAwOgogICAgICAgICAgICAgdG9fcmVhZCA9IHNlbGYuYnVmZmVyX3NpemUgLSBoYXZlCi0gICAgICAgICAgICB3aGlsZSBUcnVlOgotICAgICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgICAgY3VycmVudCA9IHNlbGYucmF3LnJlYWQodG9fcmVhZCkKLSAgICAgICAgICAgICAgICBleGNlcHQgSW50ZXJydXB0ZWRFcnJvcjoKLSAgICAgICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgY3VycmVudCA9IHNlbGYucmF3LnJlYWQodG9fcmVhZCkKICAgICAgICAgICAgIGlmIGN1cnJlbnQ6CiAgICAgICAgICAgICAgICAgc2VsZi5fcmVhZF9idWYgPSBzZWxmLl9yZWFkX2J1ZltzZWxmLl9yZWFkX3BvczpdICsgY3VycmVudAogICAgICAgICAgICAgICAgIHNlbGYuX3JlYWRfcG9zID0gMApAQCAtMTA3MSw2ICsxMDc5LDU4IEBACiAgICAgICAgICAgICByZXR1cm4gc2VsZi5fcmVhZF91bmxvY2tlZCgKICAgICAgICAgICAgICAgICBtaW4oc2l6ZSwgbGVuKHNlbGYuX3JlYWRfYnVmKSAtIHNlbGYuX3JlYWRfcG9zKSkKIAorICAgICMgSW1wbGVtZW50aW5nIHJlYWRpbnRvKCkgYW5kIHJlYWRpbnRvMSgpIGlzIG5vdCBzdHJpY3RseSBuZWNlc3NhcnkgKHdlCisgICAgIyBjb3VsZCByZWx5IG9uIHRoZSBiYXNlIGNsYXNzIHRoYXQgcHJvdmlkZXMgYW4gaW1wbGVtZW50YXRpb24gaW4gdGVybXMgb2YKKyAgICAjIHJlYWQoKSBhbmQgcmVhZDEoKSkuIFdlIGRvIGl0IGFueXdheSB0byBrZWVwIHRoZSBfcHlpbyBpbXBsZW1lbnRhdGlvbgorICAgICMgc2ltaWxhciB0byB0aGUgaW8gaW1wbGVtZW50YXRpb24gKHdoaWNoIGltcGxlbWVudHMgdGhlIG1ldGhvZHMgZm9yCisgICAgIyBwZXJmb3JtYW5jZSByZWFzb25zKS4KKyAgICBkZWYgX3JlYWRpbnRvKHNlbGYsIGJ1ZiwgcmVhZDEpOgorICAgICAgICAiIiJSZWFkIGRhdGEgaW50byAqYnVmKiB3aXRoIGF0IG1vc3Qgb25lIHN5c3RlbSBjYWxsLiIiIgorCisgICAgICAgIGlmIGxlbihidWYpID09IDA6CisgICAgICAgICAgICByZXR1cm4gMAorCisgICAgICAgICMgTmVlZCB0byBjcmVhdGUgYSBtZW1vcnl2aWV3IG9iamVjdCBvZiB0eXBlICdiJywgb3RoZXJ3aXNlCisgICAgICAgICMgd2UgbWF5IG5vdCBiZSBhYmxlIHRvIGFzc2lnbiBieXRlcyB0byBpdCwgYW5kIHNsaWNpbmcgaXQKKyAgICAgICAgIyB3b3VsZCBjcmVhdGUgYSBuZXcgb2JqZWN0LgorICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShidWYsIG1lbW9yeXZpZXcpOgorICAgICAgICAgICAgYnVmID0gbWVtb3J5dmlldyhidWYpCisgICAgICAgIGJ1ZiA9IGJ1Zi5jYXN0KCdCJykKKworICAgICAgICB3cml0dGVuID0gMAorICAgICAgICB3aXRoIHNlbGYuX3JlYWRfbG9jazoKKyAgICAgICAgICAgIHdoaWxlIHdyaXR0ZW4gPCBsZW4oYnVmKToKKworICAgICAgICAgICAgICAgICMgRmlyc3QgdHJ5IHRvIHJlYWQgZnJvbSBpbnRlcm5hbCBidWZmZXIKKyAgICAgICAgICAgICAgICBhdmFpbCA9IG1pbihsZW4oc2VsZi5fcmVhZF9idWYpIC0gc2VsZi5fcmVhZF9wb3MsIGxlbihidWYpKQorICAgICAgICAgICAgICAgIGlmIGF2YWlsOgorICAgICAgICAgICAgICAgICAgICBidWZbd3JpdHRlbjp3cml0dGVuK2F2YWlsXSA9IFwKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3JlYWRfYnVmW3NlbGYuX3JlYWRfcG9zOnNlbGYuX3JlYWRfcG9zK2F2YWlsXQorICAgICAgICAgICAgICAgICAgICBzZWxmLl9yZWFkX3BvcyArPSBhdmFpbAorICAgICAgICAgICAgICAgICAgICB3cml0dGVuICs9IGF2YWlsCisgICAgICAgICAgICAgICAgICAgIGlmIHdyaXR0ZW4gPT0gbGVuKGJ1Zik6CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhaworCisgICAgICAgICAgICAgICAgIyBJZiByZW1haW5pbmcgc3BhY2UgaW4gY2FsbGVycyBidWZmZXIgaXMgbGFyZ2VyIHRoYW4KKyAgICAgICAgICAgICAgICAjIGludGVybmFsIGJ1ZmZlciwgcmVhZCBkaXJlY3RseSBpbnRvIGNhbGxlcnMgYnVmZmVyCisgICAgICAgICAgICAgICAgaWYgbGVuKGJ1ZikgLSB3cml0dGVuID4gc2VsZi5idWZmZXJfc2l6ZToKKyAgICAgICAgICAgICAgICAgICAgbiA9IHNlbGYucmF3LnJlYWRpbnRvKGJ1Zlt3cml0dGVuOl0pCisgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBuOgorICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsgIyBlb2YKKyAgICAgICAgICAgICAgICAgICAgd3JpdHRlbiArPSBuCisKKyAgICAgICAgICAgICAgICAjIE90aGVyd2lzZSByZWZpbGwgaW50ZXJuYWwgYnVmZmVyIC0gdW5sZXNzIHdlJ3JlCisgICAgICAgICAgICAgICAgIyBpbiByZWFkMSBtb2RlIGFuZCBhbHJlYWR5IGdvdCBzb21lIGRhdGEKKyAgICAgICAgICAgICAgICBlbGlmIG5vdCAocmVhZDEgYW5kIHdyaXR0ZW4pOgorICAgICAgICAgICAgICAgICAgICBpZiBub3Qgc2VsZi5fcGVla191bmxvY2tlZCgxKToKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrICMgZW9mCisKKyAgICAgICAgICAgICAgICAjIEluIHJlYWRpbnRvMSBtb2RlLCByZXR1cm4gYXMgc29vbiBhcyB3ZSBoYXZlIHNvbWUgZGF0YQorICAgICAgICAgICAgICAgIGlmIHJlYWQxIGFuZCB3cml0dGVuOgorICAgICAgICAgICAgICAgICAgICBicmVhaworCisgICAgICAgIHJldHVybiB3cml0dGVuCisKICAgICBkZWYgdGVsbChzZWxmKToKICAgICAgICAgcmV0dXJuIF9CdWZmZXJlZElPTWl4aW4udGVsbChzZWxmKSAtIGxlbihzZWxmLl9yZWFkX2J1ZikgKyBzZWxmLl9yZWFkX3BvcwogCkBAIC0xMTQ5LDggKzEyMDksNiBAQAogICAgICAgICB3aGlsZSBzZWxmLl93cml0ZV9idWY6CiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgbiA9IHNlbGYucmF3LndyaXRlKHNlbGYuX3dyaXRlX2J1ZikKLSAgICAgICAgICAgIGV4Y2VwdCBJbnRlcnJ1cHRlZEVycm9yOgotICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICBleGNlcHQgQmxvY2tpbmdJT0Vycm9yOgogICAgICAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcigic2VsZi5yYXcgc2hvdWxkIGltcGxlbWVudCBSYXdJT0Jhc2U6IGl0ICIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNob3VsZCBub3QgcmFpc2UgQmxvY2tpbmdJT0Vycm9yIikKQEAgLTEyMjAsNiArMTI3OCw5IEBACiAgICAgZGVmIHJlYWQxKHNlbGYsIHNpemUpOgogICAgICAgICByZXR1cm4gc2VsZi5yZWFkZXIucmVhZDEoc2l6ZSkKIAorICAgIGRlZiByZWFkaW50bzEoc2VsZiwgYik6CisgICAgICAgIHJldHVybiBzZWxmLnJlYWRlci5yZWFkaW50bzEoYikKKwogICAgIGRlZiByZWFkYWJsZShzZWxmKToKICAgICAgICAgcmV0dXJuIHNlbGYucmVhZGVyLnJlYWRhYmxlKCkKIApAQCAtMTMwMiw2ICsxMzYzLDEwIEBACiAgICAgICAgIHNlbGYuZmx1c2goKQogICAgICAgICByZXR1cm4gQnVmZmVyZWRSZWFkZXIucmVhZDEoc2VsZiwgc2l6ZSkKIAorICAgIGRlZiByZWFkaW50bzEoc2VsZiwgYik6CisgICAgICAgIHNlbGYuZmx1c2goKQorICAgICAgICByZXR1cm4gQnVmZmVyZWRSZWFkZXIucmVhZGludG8xKHNlbGYsIGIpCisKICAgICBkZWYgd3JpdGUoc2VsZiwgYik6CiAgICAgICAgIGlmIHNlbGYuX3JlYWRfYnVmOgogICAgICAgICAgICAgIyBVbmRvIHJlYWRhaGVhZApAQCAtMTU2NCw3ICsxNjI5LDggQEAKICAgICAjICAgLSAiY2hhcnNfLi4uIiBmb3IgaW50ZWdlciB2YXJpYWJsZXMgdGhhdCBjb3VudCBkZWNvZGVkIGNoYXJhY3RlcnMKIAogICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKLSAgICAgICAgcmVzdWx0ID0gIjxfcHlpby5UZXh0SU9XcmFwcGVyIgorICAgICAgICByZXN1bHQgPSAiPHt9Lnt9Ii5mb3JtYXQoc2VsZi5fX2NsYXNzX18uX19tb2R1bGVfXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX19jbGFzc19fLl9fcXVhbG5hbWVfXykKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgbmFtZSA9IHNlbGYubmFtZQogICAgICAgICBleGNlcHQgRXhjZXB0aW9uOgpkaWZmIC0tZ2l0IGEvTGliL19zdHJwdGltZS5weSBiL0xpYi9fc3RycHRpbWUucHkKaW5kZXggNTNiZDM0Yi4uNDJmMjNkMyAxMDA2NDQKLS0tIGEvTGliL19zdHJwdGltZS5weQorKysgYi9MaWIvX3N0cnB0aW1lLnB5CkBAIC0xNjcsOSArMTY3LDkgQEAKICAgICAgICAgICAgIHRpbWUudHpzZXQoKQogICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CiAgICAgICAgICAgICBwYXNzCi0gICAgICAgIG5vX3NhdmluZyA9IGZyb3plbnNldChbInV0YyIsICJnbXQiLCB0aW1lLnR6bmFtZVswXS5sb3dlcigpXSkKKyAgICAgICAgbm9fc2F2aW5nID0gZnJvemVuc2V0KHsidXRjIiwgImdtdCIsIHRpbWUudHpuYW1lWzBdLmxvd2VyKCl9KQogICAgICAgICBpZiB0aW1lLmRheWxpZ2h0OgotICAgICAgICAgICAgaGFzX3NhdmluZyA9IGZyb3plbnNldChbdGltZS50em5hbWVbMV0ubG93ZXIoKV0pCisgICAgICAgICAgICBoYXNfc2F2aW5nID0gZnJvemVuc2V0KHt0aW1lLnR6bmFtZVsxXS5sb3dlcigpfSkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGhhc19zYXZpbmcgPSBmcm96ZW5zZXQoKQogICAgICAgICBzZWxmLnRpbWV6b25lID0gKG5vX3NhdmluZywgaGFzX3NhdmluZykKZGlmZiAtLWdpdCBhL0xpYi9hYmMucHkgYi9MaWIvYWJjLnB5CmluZGV4IDAzNThhNDYuLjFjYmY5NmEgMTAwNjQ0Ci0tLSBhL0xpYi9hYmMucHkKKysrIGIvTGliL2FiYy5weQpAQCAtMTY4LDcgKzE2OCw3IEBACiAKICAgICBkZWYgX2R1bXBfcmVnaXN0cnkoY2xzLCBmaWxlPU5vbmUpOgogICAgICAgICAiIiJEZWJ1ZyBoZWxwZXIgdG8gcHJpbnQgdGhlIEFCQyByZWdpc3RyeS4iIiIKLSAgICAgICAgcHJpbnQoIkNsYXNzOiAlcy4lcyIgJSAoY2xzLl9fbW9kdWxlX18sIGNscy5fX25hbWVfXyksIGZpbGU9ZmlsZSkKKyAgICAgICAgcHJpbnQoIkNsYXNzOiAlcy4lcyIgJSAoY2xzLl9fbW9kdWxlX18sIGNscy5fX3F1YWxuYW1lX18pLCBmaWxlPWZpbGUpCiAgICAgICAgIHByaW50KCJJbnYuY291bnRlcjogJXMiICUgQUJDTWV0YS5fYWJjX2ludmFsaWRhdGlvbl9jb3VudGVyLCBmaWxlPWZpbGUpCiAgICAgICAgIGZvciBuYW1lIGluIHNvcnRlZChjbHMuX19kaWN0X18ua2V5cygpKToKICAgICAgICAgICAgIGlmIG5hbWUuc3RhcnRzd2l0aCgiX2FiY18iKToKZGlmZiAtLWdpdCBhL0xpYi9hcmdwYXJzZS5weSBiL0xpYi9hcmdwYXJzZS5weQppbmRleCBiZTI3NmJiLi5iYTllM2RmIDEwMDY0NAotLS0gYS9MaWIvYXJncGFyc2UucHkKKysrIGIvTGliL2FyZ3BhcnNlLnB5CkBAIC0xMjA5LDExICsxMjA5LDYgQEAKICAgICAgICAgICAgIHJldHVybiBOb3RJbXBsZW1lbnRlZAogICAgICAgICByZXR1cm4gdmFycyhzZWxmKSA9PSB2YXJzKG90aGVyKQogCi0gICAgZGVmIF9fbmVfXyhzZWxmLCBvdGhlcik6Ci0gICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKG90aGVyLCBOYW1lc3BhY2UpOgotICAgICAgICAgICAgcmV0dXJuIE5vdEltcGxlbWVudGVkCi0gICAgICAgIHJldHVybiBub3QgKHNlbGYgPT0gb3RoZXIpCi0KICAgICBkZWYgX19jb250YWluc19fKHNlbGYsIGtleSk6CiAgICAgICAgIHJldHVybiBrZXkgaW4gc2VsZi5fX2RpY3RfXwogCmRpZmYgLS1naXQgYS9MaWIvYXN5bmNoYXQucHkgYi9MaWIvYXN5bmNoYXQucHkKaW5kZXggMTRjMTUyZi4uZjcyOGQxYiAxMDA2NDQKLS0tIGEvTGliL2FzeW5jaGF0LnB5CisrKyBiL0xpYi9hc3luY2hhdC5weQpAQCAtMjg3LDYgKzI4Nyw5IEBACiAKIGNsYXNzIGZpZm86CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGxpc3Q9Tm9uZSk6CisgICAgICAgIGltcG9ydCB3YXJuaW5ncworICAgICAgICB3YXJuaW5ncy53YXJuKCdmaWZvIGNsYXNzIHdpbGwgYmUgcmVtb3ZlZCBpbiBQeXRob24gMy42JywKKyAgICAgICAgICAgICAgICAgICAgICBEZXByZWNhdGlvbldhcm5pbmcsIHN0YWNrbGV2ZWw9MikKICAgICAgICAgaWYgbm90IGxpc3Q6CiAgICAgICAgICAgICBzZWxmLmxpc3QgPSBkZXF1ZSgpCiAgICAgICAgIGVsc2U6CmRpZmYgLS1naXQgYS9MaWIvYXN5bmNpby9ldmVudHMucHkgYi9MaWIvYXN5bmNpby9ldmVudHMucHkKaW5kZXggOGE3YmI4MS4uMDEzMjBjZCAxMDA2NDQKLS0tIGEvTGliL2FzeW5jaW8vZXZlbnRzLnB5CisrKyBiL0xpYi9hc3luY2lvL2V2ZW50cy5weQpAQCAtMTc4LDEwICsxNzgsNiBAQAogICAgICAgICAgICAgICAgICAgICBzZWxmLl9jYW5jZWxsZWQgPT0gb3RoZXIuX2NhbmNlbGxlZCkKICAgICAgICAgcmV0dXJuIE5vdEltcGxlbWVudGVkCiAKLSAgICBkZWYgX19uZV9fKHNlbGYsIG90aGVyKToKLSAgICAgICAgZXF1YWwgPSBzZWxmLl9fZXFfXyhvdGhlcikKLSAgICAgICAgcmV0dXJuIE5vdEltcGxlbWVudGVkIGlmIGVxdWFsIGlzIE5vdEltcGxlbWVudGVkIGVsc2Ugbm90IGVxdWFsCi0KICAgICBkZWYgY2FuY2VsKHNlbGYpOgogICAgICAgICBpZiBub3Qgc2VsZi5fY2FuY2VsbGVkOgogICAgICAgICAgICAgc2VsZi5fbG9vcC5fdGltZXJfaGFuZGxlX2NhbmNlbGxlZChzZWxmKQpkaWZmIC0tZ2l0IGEvTGliL2FzeW5jb3JlLnB5IGIvTGliL2FzeW5jb3JlLnB5CmluZGV4IDAwYTYzOTYuLjY4ZWZkNDUgMTAwNjQ0Ci0tLSBhL0xpYi9hc3luY29yZS5weQorKysgYi9MaWIvYXN5bmNvcmUucHkKQEAgLTU3LDggKzU3LDggQEAKICAgICAgRU5PVENPTk4sIEVTSFVURE9XTiwgRUlTQ09OTiwgRUJBREYsIEVDT05OQUJPUlRFRCwgRVBJUEUsIEVBR0FJTiwgXAogICAgICBlcnJvcmNvZGUKIAotX0RJU0NPTk5FQ1RFRCA9IGZyb3plbnNldCgoRUNPTk5SRVNFVCwgRU5PVENPTk4sIEVTSFVURE9XTiwgRUNPTk5BQk9SVEVELCBFUElQRSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIEVCQURGKSkKK19ESVNDT05ORUNURUQgPSBmcm96ZW5zZXQoe0VDT05OUkVTRVQsIEVOT1RDT05OLCBFU0hVVERPV04sIEVDT05OQUJPUlRFRCwgRVBJUEUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBFQkFERn0pCiAKIHRyeToKICAgICBzb2NrZXRfbWFwCkBAIC0yMjAsNyArMjIwLDcgQEAKICAgICBjb25uZWN0aW5nID0gRmFsc2UKICAgICBjbG9zaW5nID0gRmFsc2UKICAgICBhZGRyID0gTm9uZQotICAgIGlnbm9yZV9sb2dfdHlwZXMgPSBmcm96ZW5zZXQoWyd3YXJuaW5nJ10pCisgICAgaWdub3JlX2xvZ190eXBlcyA9IGZyb3plbnNldCh7J3dhcm5pbmcnfSkKIAogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBzb2NrPU5vbmUsIG1hcD1Ob25lKToKICAgICAgICAgaWYgbWFwIGlzIE5vbmU6CkBAIC0yNTUsNyArMjU1LDcgQEAKICAgICAgICAgICAgIHNlbGYuc29ja2V0ID0gTm9uZQogCiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICBzdGF0dXMgPSBbc2VsZi5fX2NsYXNzX18uX19tb2R1bGVfXysiLiIrc2VsZi5fX2NsYXNzX18uX19uYW1lX19dCisgICAgICAgIHN0YXR1cyA9IFtzZWxmLl9fY2xhc3NfXy5fX21vZHVsZV9fKyIuIitzZWxmLl9fY2xhc3NfXy5fX3F1YWxuYW1lX19dCiAgICAgICAgIGlmIHNlbGYuYWNjZXB0aW5nIGFuZCBzZWxmLmFkZHI6CiAgICAgICAgICAgICBzdGF0dXMuYXBwZW5kKCdsaXN0ZW5pbmcnKQogICAgICAgICBlbGlmIHNlbGYuY29ubmVjdGVkOgpAQCAtNDA0LDIwICs0MDQsNiBAQAogICAgICAgICAgICAgICAgIGlmIHdoeS5hcmdzWzBdIG5vdCBpbiAoRU5PVENPTk4sIEVCQURGKToKICAgICAgICAgICAgICAgICAgICAgcmFpc2UKIAotICAgICMgY2hlYXAgaW5oZXJpdGFuY2UsIHVzZWQgdG8gcGFzcyBhbGwgb3RoZXIgYXR0cmlidXRlCi0gICAgIyByZWZlcmVuY2VzIHRvIHRoZSB1bmRlcmx5aW5nIHNvY2tldCBvYmplY3QuCi0gICAgZGVmIF9fZ2V0YXR0cl9fKHNlbGYsIGF0dHIpOgotICAgICAgICB0cnk6Ci0gICAgICAgICAgICByZXRhdHRyID0gZ2V0YXR0cihzZWxmLnNvY2tldCwgYXR0cikKLSAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgotICAgICAgICAgICAgcmFpc2UgQXR0cmlidXRlRXJyb3IoIiVzIGluc3RhbmNlIGhhcyBubyBhdHRyaWJ1dGUgJyVzJyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUoc2VsZi5fX2NsYXNzX18uX19uYW1lX18sIGF0dHIpKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgbXNnID0gIiUobWUpcy4lKGF0dHIpcyBpcyBkZXByZWNhdGVkOyB1c2UgJShtZSlzLnNvY2tldC4lKGF0dHIpcyAiIFwKLSAgICAgICAgICAgICAgICAgICJpbnN0ZWFkIiAlIHsnbWUnIDogc2VsZi5fX2NsYXNzX18uX19uYW1lX18sICdhdHRyJyA6IGF0dHJ9Ci0gICAgICAgICAgICB3YXJuaW5ncy53YXJuKG1zZywgRGVwcmVjYXRpb25XYXJuaW5nLCBzdGFja2xldmVsPTIpCi0gICAgICAgICAgICByZXR1cm4gcmV0YXR0cgotCiAgICAgIyBsb2cgYW5kIGxvZ19pbmZvIG1heSBiZSBvdmVycmlkZGVuIHRvIHByb3ZpZGUgbW9yZSBzb3BoaXN0aWNhdGVkCiAgICAgIyBsb2dnaW5nIGFuZCB3YXJuaW5nIG1ldGhvZHMuIEluIGdlbmVyYWwsIGxvZyBpcyBmb3IgJ2hpdCcgbG9nZ2luZwogICAgICMgYW5kICdsb2dfaW5mbycgaXMgZm9yIGluZm9ybWF0aW9uYWwsIHdhcm5pbmcgYW5kIGVycm9yIGxvZ2dpbmcuCkBAIC02MDQsOCArNTkwLDYgQEAKICMgUmVnYXJkbGVzcywgdGhpcyBpcyB1c2VmdWwgZm9yIHBpcGVzLCBhbmQgc3RkaW4vc3Rkb3V0Li4uCiAKIGlmIG9zLm5hbWUgPT0gJ3Bvc2l4JzoKLSAgICBpbXBvcnQgZmNudGwKLQogICAgIGNsYXNzIGZpbGVfd3JhcHBlcjoKICAgICAgICAgIyBIZXJlIHdlIG92ZXJyaWRlIGp1c3QgZW5vdWdoIHRvIG1ha2UgYSBmaWxlCiAgICAgICAgICMgbG9vayBsaWtlIGEgc29ja2V0IGZvciB0aGUgcHVycG9zZXMgb2YgYXN5bmNvcmUuCkBAIC02NTYsOSArNjQwLDcgQEAKICAgICAgICAgICAgICAgICBwYXNzCiAgICAgICAgICAgICBzZWxmLnNldF9maWxlKGZkKQogICAgICAgICAgICAgIyBzZXQgaXQgdG8gbm9uLWJsb2NraW5nIG1vZGUKLSAgICAgICAgICAgIGZsYWdzID0gZmNudGwuZmNudGwoZmQsIGZjbnRsLkZfR0VURkwsIDApCi0gICAgICAgICAgICBmbGFncyA9IGZsYWdzIHwgb3MuT19OT05CTE9DSwotICAgICAgICAgICAgZmNudGwuZmNudGwoZmQsIGZjbnRsLkZfU0VURkwsIGZsYWdzKQorICAgICAgICAgICAgb3Muc2V0X2Jsb2NraW5nKGZkLCBGYWxzZSkKIAogICAgICAgICBkZWYgc2V0X2ZpbGUoc2VsZiwgZmQpOgogICAgICAgICAgICAgc2VsZi5zb2NrZXQgPSBmaWxlX3dyYXBwZXIoZmQpCmRpZmYgLS1naXQgYS9MaWIvY2dpLnB5IGIvTGliL2NnaS5weQppbmRleCAxZWY3ODBjLi5hNTUyMzJlIDEwMDc1NQotLS0gYS9MaWIvY2dpLnB5CisrKyBiL0xpYi9jZ2kucHkKQEAgLTU2Niw2ICs1NjYsMTIgQEAKICAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgogICAgICAgICAgICAgcGFzcwogCisgICAgZGVmIF9fZW50ZXJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYKKworICAgIGRlZiBfX2V4aXRfXyhzZWxmLCAqYXJncyk6CisgICAgICAgIHNlbGYuZmlsZS5jbG9zZSgpCisKICAgICBkZWYgX19yZXByX18oc2VsZik6CiAgICAgICAgICIiIlJldHVybiBhIHByaW50YWJsZSByZXByZXNlbnRhdGlvbi4iIiIKICAgICAgICAgcmV0dXJuICJGaWVsZFN0b3JhZ2UoJXIsICVyLCAlcikiICUgKApkaWZmIC0tZ2l0IGEvTGliL2NvZGUucHkgYi9MaWIvY29kZS5weQppbmRleCBmODE4NGI2Li44NmUxZjAzIDEwMDY0NAotLS0gYS9MaWIvY29kZS5weQorKysgYi9MaWIvY29kZS5weQpAQCAtNyw2ICs3LDcgQEAKIAogaW1wb3J0IHN5cwogaW1wb3J0IHRyYWNlYmFjaworaW1wb3J0IGFyZ3BhcnNlCiBmcm9tIGNvZGVvcCBpbXBvcnQgQ29tbWFuZENvbXBpbGVyLCBjb21waWxlX2NvbW1hbmQKIAogX19hbGxfXyA9IFsiSW50ZXJhY3RpdmVJbnRlcnByZXRlciIsICJJbnRlcmFjdGl2ZUNvbnNvbGUiLCAiaW50ZXJhY3QiLApAQCAtMTM2LDI1ICsxMzcsMzUgQEAKICAgICAgICAgVGhlIG91dHB1dCBpcyB3cml0dGVuIGJ5IHNlbGYud3JpdGUoKSwgYmVsb3cuCiAKICAgICAgICAgIiIiCisgICAgICAgIHN5cy5sYXN0X3R5cGUsIHN5cy5sYXN0X3ZhbHVlLCBsYXN0X3RiID0gZWkgPSBzeXMuZXhjX2luZm8oKQorICAgICAgICBzeXMubGFzdF90cmFjZWJhY2sgPSBsYXN0X3RiCiAgICAgICAgIHRyeToKLSAgICAgICAgICAgIHR5cGUsIHZhbHVlLCB0YiA9IHN5cy5leGNfaW5mbygpCi0gICAgICAgICAgICBzeXMubGFzdF90eXBlID0gdHlwZQotICAgICAgICAgICAgc3lzLmxhc3RfdmFsdWUgPSB2YWx1ZQotICAgICAgICAgICAgc3lzLmxhc3RfdHJhY2ViYWNrID0gdGIKLSAgICAgICAgICAgIHRibGlzdCA9IHRyYWNlYmFjay5leHRyYWN0X3RiKHRiKQotICAgICAgICAgICAgZGVsIHRibGlzdFs6MV0KLSAgICAgICAgICAgIGxpbmVzID0gdHJhY2ViYWNrLmZvcm1hdF9saXN0KHRibGlzdCkKLSAgICAgICAgICAgIGlmIGxpbmVzOgotICAgICAgICAgICAgICAgIGxpbmVzLmluc2VydCgwLCAiVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOlxuIikKLSAgICAgICAgICAgIGxpbmVzLmV4dGVuZCh0cmFjZWJhY2suZm9ybWF0X2V4Y2VwdGlvbl9vbmx5KHR5cGUsIHZhbHVlKSkKKyAgICAgICAgICAgIGxpbmVzID0gW10KKyAgICAgICAgICAgIGZvciB2YWx1ZSwgdGIgaW4gdHJhY2ViYWNrLl9pdGVyX2NoYWluKCplaVsxOl0pOgorICAgICAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UodmFsdWUsIHN0cik6CisgICAgICAgICAgICAgICAgICAgIGxpbmVzLmFwcGVuZCh2YWx1ZSkKKyAgICAgICAgICAgICAgICAgICAgbGluZXMuYXBwZW5kKCdcbicpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgICAgaWYgdGI6CisgICAgICAgICAgICAgICAgICAgIHRibGlzdCA9IHRyYWNlYmFjay5leHRyYWN0X3RiKHRiKQorICAgICAgICAgICAgICAgICAgICBpZiB0YiBpcyBsYXN0X3RiOgorICAgICAgICAgICAgICAgICAgICAgICAgIyBUaGUgbGFzdCB0cmFjZWJhY2sgaW5jbHVkZXMgdGhlIGZyYW1lIHdlCisgICAgICAgICAgICAgICAgICAgICAgICAjIGV4ZWMnZCBpbgorICAgICAgICAgICAgICAgICAgICAgICAgZGVsIHRibGlzdFs6MV0KKyAgICAgICAgICAgICAgICAgICAgdGJsaW5lcyA9IHRyYWNlYmFjay5mb3JtYXRfbGlzdCh0Ymxpc3QpCisgICAgICAgICAgICAgICAgICAgIGlmIHRibGluZXM6CisgICAgICAgICAgICAgICAgICAgICAgICBsaW5lcy5hcHBlbmQoIlRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KTpcbiIpCisgICAgICAgICAgICAgICAgICAgICAgICBsaW5lcy5leHRlbmQodGJsaW5lcykKKyAgICAgICAgICAgICAgICBsaW5lcy5leHRlbmQodHJhY2ViYWNrLmZvcm1hdF9leGNlcHRpb25fb25seSh0eXBlKHZhbHVlKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSkpCiAgICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICB0Ymxpc3QgPSB0YiA9IE5vbmUKKyAgICAgICAgICAgIHRibGlzdCA9IGxhc3RfdGIgPSBlaSA9IE5vbmUKICAgICAgICAgaWYgc3lzLmV4Y2VwdGhvb2sgaXMgc3lzLl9fZXhjZXB0aG9va19fOgogICAgICAgICAgICAgc2VsZi53cml0ZSgnJy5qb2luKGxpbmVzKSkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgICMgSWYgc29tZW9uZSBoYXMgc2V0IHN5cy5leGNlcHRob29rLCB3ZSBsZXQgdGhhdCB0YWtlIHByZWNlZGVuY2UKICAgICAgICAgICAgICMgb3ZlciBzZWxmLndyaXRlCi0gICAgICAgICAgICBzeXMuZXhjZXB0aG9vayh0eXBlLCB2YWx1ZSwgdGIpCisgICAgICAgICAgICBzeXMuZXhjZXB0aG9vayh0eXBlLCB2YWx1ZSwgbGFzdF90YikKIAogICAgIGRlZiB3cml0ZShzZWxmLCBkYXRhKToKICAgICAgICAgIiIiV3JpdGUgYSBzdHJpbmcuCkBAIC0yOTksNCArMzEwLDEyIEBACiAKIAogaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKLSAgICBpbnRlcmFjdCgpCisgICAgcGFyc2VyID0gYXJncGFyc2UuQXJndW1lbnRQYXJzZXIoKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy1xJywgYWN0aW9uPSdzdG9yZV90cnVlJywKKyAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iZG9uJ3QgcHJpbnQgdmVyc2lvbiBhbmQgY29weXJpZ2h0IG1lc3NhZ2VzIikKKyAgICBhcmdzID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQorICAgIGlmIGFyZ3MucSBvciBzeXMuZmxhZ3MucXVpZXQ6CisgICAgICAgIGJhbm5lciA9ICcnCisgICAgZWxzZToKKyAgICAgICAgYmFubmVyID0gTm9uZQorICAgIGludGVyYWN0KGJhbm5lcikKZGlmZiAtLWdpdCBhL0xpYi9jb2RlY3MucHkgYi9MaWIvY29kZWNzLnB5CmluZGV4IDE0NWJmMTIuLmMyYjVkNmMgMTAwNjQ0Ci0tLSBhL0xpYi9jb2RlY3MucHkKKysrIGIvTGliL2NvZGVjcy5weQpAQCAtMjcsNyArMjcsOCBAQAogICAgICAgICAgICAiZ2V0aW5jcmVtZW50YWxkZWNvZGVyIiwgImdldHJlYWRlciIsICJnZXR3cml0ZXIiLAogICAgICAgICAgICAiZW5jb2RlIiwgImRlY29kZSIsICJpdGVyZW5jb2RlIiwgIml0ZXJkZWNvZGUiLAogICAgICAgICAgICAic3RyaWN0X2Vycm9ycyIsICJpZ25vcmVfZXJyb3JzIiwgInJlcGxhY2VfZXJyb3JzIiwKLSAgICAgICAgICAgInhtbGNoYXJyZWZyZXBsYWNlX2Vycm9ycyIsICJiYWNrc2xhc2hyZXBsYWNlX2Vycm9ycyIsCisgICAgICAgICAgICJ4bWxjaGFycmVmcmVwbGFjZV9lcnJvcnMiLAorICAgICAgICAgICAiYmFja3NsYXNocmVwbGFjZV9lcnJvcnMiLCAibmFtZXJlcGxhY2VfZXJyb3JzIiwKICAgICAgICAgICAgInJlZ2lzdGVyX2Vycm9yIiwgImxvb2t1cF9lcnJvciJdCiAKICMjIyBDb25zdGFudHMKQEAgLTEwNSw4ICsxMDYsOCBAQAogICAgICAgICByZXR1cm4gc2VsZgogCiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gIjwlcy4lcyBvYmplY3QgZm9yIGVuY29kaW5nICVzIGF0IDB4JXg+IiAlIFwKLSAgICAgICAgICAgICAgICAoc2VsZi5fX2NsYXNzX18uX19tb2R1bGVfXywgc2VsZi5fX2NsYXNzX18uX19uYW1lX18sCisgICAgICAgIHJldHVybiAiPCVzLiVzIG9iamVjdCBmb3IgZW5jb2RpbmcgJXMgYXQgJSN4PiIgJSBcCisgICAgICAgICAgICAgICAgKHNlbGYuX19jbGFzc19fLl9fbW9kdWxlX18sIHNlbGYuX19jbGFzc19fLl9fcXVhbG5hbWVfXywKICAgICAgICAgICAgICAgICAgc2VsZi5uYW1lLCBpZChzZWxmKSkKIAogY2xhc3MgQ29kZWM6CkBAIC0xMjYsNyArMTI3LDggQEAKICAgICAgICAgICdzdXJyb2dhdGVlc2NhcGUnIC0gcmVwbGFjZSB3aXRoIHByaXZhdGUgY29kZSBwb2ludHMgVStEQ25uLgogICAgICAgICAgJ3htbGNoYXJyZWZyZXBsYWNlJyAtIFJlcGxhY2Ugd2l0aCB0aGUgYXBwcm9wcmlhdGUgWE1MCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhcmFjdGVyIHJlZmVyZW5jZSAob25seSBmb3IgZW5jb2RpbmcpLgotICAgICAgICAgJ2JhY2tzbGFzaHJlcGxhY2UnICAtIFJlcGxhY2Ugd2l0aCBiYWNrc2xhc2hlZCBlc2NhcGUgc2VxdWVuY2VzCisgICAgICAgICAnYmFja3NsYXNocmVwbGFjZScgIC0gUmVwbGFjZSB3aXRoIGJhY2tzbGFzaGVkIGVzY2FwZSBzZXF1ZW5jZXMuCisgICAgICAgICAnbmFtZXJlcGxhY2UnICAgICAgIC0gUmVwbGFjZSB3aXRoIFxcTnsuLi59IGVzY2FwZSBzZXF1ZW5jZXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob25seSBmb3IgZW5jb2RpbmcpLgogCiAgICAgICAgIFRoZSBzZXQgb2YgYWxsb3dlZCB2YWx1ZXMgY2FuIGJlIGV4dGVuZGVkIHZpYSByZWdpc3Rlcl9lcnJvci4KQEAgLTM1OCw3ICszNjAsOCBAQAogICAgICAgICAgICAgICd4bWxjaGFycmVmcmVwbGFjZScgLSBSZXBsYWNlIHdpdGggdGhlIGFwcHJvcHJpYXRlIFhNTAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyYWN0ZXIgcmVmZXJlbmNlLgogICAgICAgICAgICAgICdiYWNrc2xhc2hyZXBsYWNlJyAgLSBSZXBsYWNlIHdpdGggYmFja3NsYXNoZWQgZXNjYXBlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcXVlbmNlcyAob25seSBmb3IgZW5jb2RpbmcpLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXF1ZW5jZXMuCisgICAgICAgICAgICAgJ25hbWVyZXBsYWNlJyAgICAgICAtIFJlcGxhY2Ugd2l0aCBcXE57Li4ufSBlc2NhcGUgc2VxdWVuY2VzLgogCiAgICAgICAgICAgICBUaGUgc2V0IG9mIGFsbG93ZWQgcGFyYW1ldGVyIHZhbHVlcyBjYW4gYmUgZXh0ZW5kZWQgdmlhCiAgICAgICAgICAgICByZWdpc3Rlcl9lcnJvci4KQEAgLTQyOCw3ICs0MzEsOCBAQAogCiAgICAgICAgICAgICAgJ3N0cmljdCcgLSByYWlzZSBhIFZhbHVlRXJyb3IgKG9yIGEgc3ViY2xhc3MpCiAgICAgICAgICAgICAgJ2lnbm9yZScgLSBpZ25vcmUgdGhlIGNoYXJhY3RlciBhbmQgY29udGludWUgd2l0aCB0aGUgbmV4dAotICAgICAgICAgICAgICdyZXBsYWNlJy0gcmVwbGFjZSB3aXRoIGEgc3VpdGFibGUgcmVwbGFjZW1lbnQgY2hhcmFjdGVyOworICAgICAgICAgICAgICdyZXBsYWNlJy0gcmVwbGFjZSB3aXRoIGEgc3VpdGFibGUgcmVwbGFjZW1lbnQgY2hhcmFjdGVyCisgICAgICAgICAgICAgJ2JhY2tzbGFzaHJlcGxhY2UnIC0gUmVwbGFjZSB3aXRoIGJhY2tzbGFzaGVkIGVzY2FwZSBzZXF1ZW5jZXM7CiAKICAgICAgICAgICAgIFRoZSBzZXQgb2YgYWxsb3dlZCBwYXJhbWV0ZXIgdmFsdWVzIGNhbiBiZSBleHRlbmRlZCB2aWEKICAgICAgICAgICAgIHJlZ2lzdGVyX2Vycm9yLgpAQCAtMTA4MCw2ICsxMDg0LDcgQEAKICAgICByZXBsYWNlX2Vycm9ycyA9IGxvb2t1cF9lcnJvcigicmVwbGFjZSIpCiAgICAgeG1sY2hhcnJlZnJlcGxhY2VfZXJyb3JzID0gbG9va3VwX2Vycm9yKCJ4bWxjaGFycmVmcmVwbGFjZSIpCiAgICAgYmFja3NsYXNocmVwbGFjZV9lcnJvcnMgPSBsb29rdXBfZXJyb3IoImJhY2tzbGFzaHJlcGxhY2UiKQorICAgIG5hbWVyZXBsYWNlX2Vycm9ycyA9IGxvb2t1cF9lcnJvcigibmFtZXJlcGxhY2UiKQogZXhjZXB0IExvb2t1cEVycm9yOgogICAgICMgSW4gLS1kaXNhYmxlLXVuaWNvZGUgYnVpbGRzLCB0aGVzZSBlcnJvciBoYW5kbGVyIGFyZSBtaXNzaW5nCiAgICAgc3RyaWN0X2Vycm9ycyA9IE5vbmUKQEAgLTEwODcsNiArMTA5Miw3IEBACiAgICAgcmVwbGFjZV9lcnJvcnMgPSBOb25lCiAgICAgeG1sY2hhcnJlZnJlcGxhY2VfZXJyb3JzID0gTm9uZQogICAgIGJhY2tzbGFzaHJlcGxhY2VfZXJyb3JzID0gTm9uZQorICAgIG5hbWVyZXBsYWNlX2Vycm9ycyA9IE5vbmUKIAogIyBUZWxsIG1vZHVsZWZpbmRlciB0aGF0IHVzaW5nIGNvZGVjcyBwcm9iYWJseSBuZWVkcyB0aGUgZW5jb2RpbmdzCiAjIHBhY2thZ2UKZGlmZiAtLWdpdCBhL0xpYi9jb2xsZWN0aW9ucy9fX2luaXRfXy5weSBiL0xpYi9jb2xsZWN0aW9ucy9fX2luaXRfXy5weQppbmRleCA1NjVhZTg2Li5jZTY3ZjBiIDEwMDY0NAotLS0gYS9MaWIvY29sbGVjdGlvbnMvX19pbml0X18ucHkKKysrIGIvTGliL2NvbGxlY3Rpb25zL19faW5pdF9fLnB5CkBAIC0yMCw2ICsyMCwyMyBAQAogIyMjIE9yZGVyZWREaWN0CiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCitjbGFzcyBfT3JkZXJlZERpY3RLZXlzVmlldyhLZXlzVmlldyk6CisKKyAgICBkZWYgX19yZXZlcnNlZF9fKHNlbGYpOgorICAgICAgICB5aWVsZCBmcm9tIHJldmVyc2VkKHNlbGYuX21hcHBpbmcpCisKK2NsYXNzIF9PcmRlcmVkRGljdEl0ZW1zVmlldyhJdGVtc1ZpZXcpOgorCisgICAgZGVmIF9fcmV2ZXJzZWRfXyhzZWxmKToKKyAgICAgICAgZm9yIGtleSBpbiByZXZlcnNlZChzZWxmLl9tYXBwaW5nKToKKyAgICAgICAgICAgIHlpZWxkIChrZXksIHNlbGYuX21hcHBpbmdba2V5XSkKKworY2xhc3MgX09yZGVyZWREaWN0VmFsdWVzVmlldyhWYWx1ZXNWaWV3KToKKworICAgIGRlZiBfX3JldmVyc2VkX18oc2VsZik6CisgICAgICAgIGZvciBrZXkgaW4gcmV2ZXJzZWQoc2VsZi5fbWFwcGluZyk6CisgICAgICAgICAgICB5aWVsZCBzZWxmLl9tYXBwaW5nW2tleV0KKwogY2xhc3MgX0xpbmsob2JqZWN0KToKICAgICBfX3Nsb3RzX18gPSAncHJldicsICduZXh0JywgJ2tleScsICdfX3dlYWtyZWZfXycKIApAQCAtODMsNiArMTAwLDggQEAKICAgICAgICAgbGlua19uZXh0ID0gbGluay5uZXh0CiAgICAgICAgIGxpbmtfcHJldi5uZXh0ID0gbGlua19uZXh0CiAgICAgICAgIGxpbmtfbmV4dC5wcmV2ID0gbGlua19wcmV2CisgICAgICAgIGxpbmsucHJldiA9IE5vbmUKKyAgICAgICAgbGluay5uZXh0ID0gTm9uZQogCiAgICAgZGVmIF9faXRlcl9fKHNlbGYpOgogICAgICAgICAnb2QuX19pdGVyX18oKSA8PT0+IGl0ZXIob2QpJwpAQCAtMTY2LDkgKzE4NSwxOSBAQAogICAgICAgICByZXR1cm4gc2l6ZQogCiAgICAgdXBkYXRlID0gX191cGRhdGUgPSBNdXRhYmxlTWFwcGluZy51cGRhdGUKLSAgICBrZXlzID0gTXV0YWJsZU1hcHBpbmcua2V5cwotICAgIHZhbHVlcyA9IE11dGFibGVNYXBwaW5nLnZhbHVlcwotICAgIGl0ZW1zID0gTXV0YWJsZU1hcHBpbmcuaXRlbXMKKworICAgIGRlZiBrZXlzKHNlbGYpOgorICAgICAgICAiRC5rZXlzKCkgLT4gYSBzZXQtbGlrZSBvYmplY3QgcHJvdmlkaW5nIGEgdmlldyBvbiBEJ3Mga2V5cyIKKyAgICAgICAgcmV0dXJuIF9PcmRlcmVkRGljdEtleXNWaWV3KHNlbGYpCisKKyAgICBkZWYgaXRlbXMoc2VsZik6CisgICAgICAgICJELml0ZW1zKCkgLT4gYSBzZXQtbGlrZSBvYmplY3QgcHJvdmlkaW5nIGEgdmlldyBvbiBEJ3MgaXRlbXMiCisgICAgICAgIHJldHVybiBfT3JkZXJlZERpY3RJdGVtc1ZpZXcoc2VsZikKKworICAgIGRlZiB2YWx1ZXMoc2VsZik6CisgICAgICAgICJELnZhbHVlcygpIC0+IGFuIG9iamVjdCBwcm92aWRpbmcgYSB2aWV3IG9uIEQncyB2YWx1ZXMiCisgICAgICAgIHJldHVybiBfT3JkZXJlZERpY3RWYWx1ZXNWaWV3KHNlbGYpCisKICAgICBfX25lX18gPSBNdXRhYmxlTWFwcGluZy5fX25lX18KIAogICAgIF9fbWFya2VyID0gb2JqZWN0KCkKQEAgLTk1OCw3ICs5ODcsNiBAQAogICAgIGRlZiBfX2x0X18oc2VsZiwgb3RoZXIpOiByZXR1cm4gc2VsZi5kYXRhIDwgIHNlbGYuX19jYXN0KG90aGVyKQogICAgIGRlZiBfX2xlX18oc2VsZiwgb3RoZXIpOiByZXR1cm4gc2VsZi5kYXRhIDw9IHNlbGYuX19jYXN0KG90aGVyKQogICAgIGRlZiBfX2VxX18oc2VsZiwgb3RoZXIpOiByZXR1cm4gc2VsZi5kYXRhID09IHNlbGYuX19jYXN0KG90aGVyKQotICAgIGRlZiBfX25lX18oc2VsZiwgb3RoZXIpOiByZXR1cm4gc2VsZi5kYXRhICE9IHNlbGYuX19jYXN0KG90aGVyKQogICAgIGRlZiBfX2d0X18oc2VsZiwgb3RoZXIpOiByZXR1cm4gc2VsZi5kYXRhID4gIHNlbGYuX19jYXN0KG90aGVyKQogICAgIGRlZiBfX2dlX18oc2VsZiwgb3RoZXIpOiByZXR1cm4gc2VsZi5kYXRhID49IHNlbGYuX19jYXN0KG90aGVyKQogICAgIGRlZiBfX2Nhc3Qoc2VsZiwgb3RoZXIpOgpAQCAtMTAzNSwxMCArMTA2Myw2IEBACiAgICAgICAgIGlmIGlzaW5zdGFuY2Uoc3RyaW5nLCBVc2VyU3RyaW5nKToKICAgICAgICAgICAgIHJldHVybiBzZWxmLmRhdGEgPT0gc3RyaW5nLmRhdGEKICAgICAgICAgcmV0dXJuIHNlbGYuZGF0YSA9PSBzdHJpbmcKLSAgICBkZWYgX19uZV9fKHNlbGYsIHN0cmluZyk6Ci0gICAgICAgIGlmIGlzaW5zdGFuY2Uoc3RyaW5nLCBVc2VyU3RyaW5nKToKLSAgICAgICAgICAgIHJldHVybiBzZWxmLmRhdGEgIT0gc3RyaW5nLmRhdGEKLSAgICAgICAgcmV0dXJuIHNlbGYuZGF0YSAhPSBzdHJpbmcKICAgICBkZWYgX19sdF9fKHNlbGYsIHN0cmluZyk6CiAgICAgICAgIGlmIGlzaW5zdGFuY2Uoc3RyaW5nLCBVc2VyU3RyaW5nKToKICAgICAgICAgICAgIHJldHVybiBzZWxmLmRhdGEgPCBzdHJpbmcuZGF0YQpkaWZmIC0tZ2l0IGEvTGliL2NvbXBpbGVhbGwucHkgYi9MaWIvY29tcGlsZWFsbC5weQppbmRleCBkOTU3ZWU1Li40ZjQ2OTIwIDEwMDY0NAotLS0gYS9MaWIvY29tcGlsZWFsbC5weQorKysgYi9MaWIvY29tcGlsZWFsbC5weQpAQCAtMTYsMzIgKzE2LDI0IEBACiBpbXBvcnQgcHlfY29tcGlsZQogaW1wb3J0IHN0cnVjdAogCit0cnk6CisgICAgZnJvbSBjb25jdXJyZW50LmZ1dHVyZXMgaW1wb3J0IFByb2Nlc3NQb29sRXhlY3V0b3IKK2V4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICBQcm9jZXNzUG9vbEV4ZWN1dG9yID0gTm9uZQorZnJvbSBmdW5jdG9vbHMgaW1wb3J0IHBhcnRpYWwKKwogX19hbGxfXyA9IFsiY29tcGlsZV9kaXIiLCJjb21waWxlX2ZpbGUiLCJjb21waWxlX3BhdGgiXQogCi1kZWYgY29tcGlsZV9kaXIoZGlyLCBtYXhsZXZlbHM9MTAsIGRkaXI9Tm9uZSwgZm9yY2U9RmFsc2UsIHJ4PU5vbmUsCi0gICAgICAgICAgICAgICAgcXVpZXQ9RmFsc2UsIGxlZ2FjeT1GYWxzZSwgb3B0aW1pemU9LTEpOgotICAgICIiIkJ5dGUtY29tcGlsZSBhbGwgbW9kdWxlcyBpbiB0aGUgZ2l2ZW4gZGlyZWN0b3J5IHRyZWUuCi0KLSAgICBBcmd1bWVudHMgKG9ubHkgZGlyIGlzIHJlcXVpcmVkKToKLQotICAgIGRpcjogICAgICAgdGhlIGRpcmVjdG9yeSB0byBieXRlLWNvbXBpbGUKLSAgICBtYXhsZXZlbHM6IG1heGltdW0gcmVjdXJzaW9uIGxldmVsIChkZWZhdWx0IDEwKQotICAgIGRkaXI6ICAgICAgdGhlIGRpcmVjdG9yeSB0aGF0IHdpbGwgYmUgcHJlcGVuZGVkIHRvIHRoZSBwYXRoIHRvIHRoZQotICAgICAgICAgICAgICAgZmlsZSBhcyBpdCBpcyBjb21waWxlZCBpbnRvIGVhY2ggYnl0ZS1jb2RlIGZpbGUuCi0gICAgZm9yY2U6ICAgICBpZiBUcnVlLCBmb3JjZSBjb21waWxhdGlvbiwgZXZlbiBpZiB0aW1lc3RhbXBzIGFyZSB1cC10by1kYXRlCi0gICAgcXVpZXQ6ICAgICBpZiBUcnVlLCBiZSBxdWlldCBkdXJpbmcgY29tcGlsYXRpb24KLSAgICBsZWdhY3k6ICAgIGlmIFRydWUsIHByb2R1Y2UgbGVnYWN5IHB5YyBwYXRocyBpbnN0ZWFkIG9mIFBFUCAzMTQ3IHBhdGhzCi0gICAgb3B0aW1pemU6ICBvcHRpbWl6YXRpb24gbGV2ZWwgb3IgLTEgZm9yIGxldmVsIG9mIHRoZSBpbnRlcnByZXRlcgotICAgICIiIgorZGVmIF93YWxrX2RpcihkaXIsIGRkaXI9Tm9uZSwgbWF4bGV2ZWxzPTEwLCBxdWlldD0wKToKICAgICBpZiBub3QgcXVpZXQ6CiAgICAgICAgIHByaW50KCdMaXN0aW5nIHshcn0uLi4nLmZvcm1hdChkaXIpKQogICAgIHRyeToKICAgICAgICAgbmFtZXMgPSBvcy5saXN0ZGlyKGRpcikKICAgICBleGNlcHQgT1NFcnJvcjoKLSAgICAgICAgcHJpbnQoIkNhbid0IGxpc3QgeyFyfSIuZm9ybWF0KGRpcikpCisgICAgICAgIGlmIHF1aWV0IDwgMjoKKyAgICAgICAgICAgIHByaW50KCJDYW4ndCBsaXN0IHshcn0iLmZvcm1hdChkaXIpKQogICAgICAgICBuYW1lcyA9IFtdCiAgICAgbmFtZXMuc29ydCgpCi0gICAgc3VjY2VzcyA9IDEKICAgICBmb3IgbmFtZSBpbiBuYW1lczoKICAgICAgICAgaWYgbmFtZSA9PSAnX19weWNhY2hlX18nOgogICAgICAgICAgICAgY29udGludWUKQEAgLTUxLDE3ICs0Myw1NSBAQAogICAgICAgICBlbHNlOgogICAgICAgICAgICAgZGZpbGUgPSBOb25lCiAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmlzZGlyKGZ1bGxuYW1lKToKLSAgICAgICAgICAgIGlmIG5vdCBjb21waWxlX2ZpbGUoZnVsbG5hbWUsIGRkaXIsIGZvcmNlLCByeCwgcXVpZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZ2FjeSwgb3B0aW1pemUpOgotICAgICAgICAgICAgICAgIHN1Y2Nlc3MgPSAwCisgICAgICAgICAgICB5aWVsZCBmdWxsbmFtZQogICAgICAgICBlbGlmIChtYXhsZXZlbHMgPiAwIGFuZCBuYW1lICE9IG9zLmN1cmRpciBhbmQgbmFtZSAhPSBvcy5wYXJkaXIgYW5kCiAgICAgICAgICAgICAgIG9zLnBhdGguaXNkaXIoZnVsbG5hbWUpIGFuZCBub3Qgb3MucGF0aC5pc2xpbmsoZnVsbG5hbWUpKToKLSAgICAgICAgICAgIGlmIG5vdCBjb21waWxlX2RpcihmdWxsbmFtZSwgbWF4bGV2ZWxzIC0gMSwgZGZpbGUsIGZvcmNlLCByeCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBxdWlldCwgbGVnYWN5LCBvcHRpbWl6ZSk6CisgICAgICAgICAgICB5aWVsZCBmcm9tIF93YWxrX2RpcihmdWxsbmFtZSwgZGRpcj1kZmlsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heGxldmVscz1tYXhsZXZlbHMgLSAxLCBxdWlldD1xdWlldCkKKworZGVmIGNvbXBpbGVfZGlyKGRpciwgbWF4bGV2ZWxzPTEwLCBkZGlyPU5vbmUsIGZvcmNlPUZhbHNlLCByeD1Ob25lLAorICAgICAgICAgICAgICAgIHF1aWV0PTAsIGxlZ2FjeT1GYWxzZSwgb3B0aW1pemU9LTEsIHdvcmtlcnM9MSk6CisgICAgIiIiQnl0ZS1jb21waWxlIGFsbCBtb2R1bGVzIGluIHRoZSBnaXZlbiBkaXJlY3RvcnkgdHJlZS4KKworICAgIEFyZ3VtZW50cyAob25seSBkaXIgaXMgcmVxdWlyZWQpOgorCisgICAgZGlyOiAgICAgICB0aGUgZGlyZWN0b3J5IHRvIGJ5dGUtY29tcGlsZQorICAgIG1heGxldmVsczogbWF4aW11bSByZWN1cnNpb24gbGV2ZWwgKGRlZmF1bHQgMTApCisgICAgZGRpcjogICAgICB0aGUgZGlyZWN0b3J5IHRoYXQgd2lsbCBiZSBwcmVwZW5kZWQgdG8gdGhlIHBhdGggdG8gdGhlCisgICAgICAgICAgICAgICBmaWxlIGFzIGl0IGlzIGNvbXBpbGVkIGludG8gZWFjaCBieXRlLWNvZGUgZmlsZS4KKyAgICBmb3JjZTogICAgIGlmIFRydWUsIGZvcmNlIGNvbXBpbGF0aW9uLCBldmVuIGlmIHRpbWVzdGFtcHMgYXJlIHVwLXRvLWRhdGUKKyAgICBxdWlldDogICAgIGZ1bGwgb3V0cHV0IHdpdGggRmFsc2Ugb3IgMCwgZXJyb3JzIG9ubHkgd2l0aCAxLAorICAgICAgICAgICAgICAgbm8gb3V0cHV0IHdpdGggMgorICAgIGxlZ2FjeTogICAgaWYgVHJ1ZSwgcHJvZHVjZSBsZWdhY3kgcHljIHBhdGhzIGluc3RlYWQgb2YgUEVQIDMxNDcgcGF0aHMKKyAgICBvcHRpbWl6ZTogIG9wdGltaXphdGlvbiBsZXZlbCBvciAtMSBmb3IgbGV2ZWwgb2YgdGhlIGludGVycHJldGVyCisgICAgd29ya2VyczogICBtYXhpbXVtIG51bWJlciBvZiBwYXJhbGxlbCB3b3JrZXJzCisgICAgIiIiCisgICAgZmlsZXMgPSBfd2Fsa19kaXIoZGlyLCBxdWlldD1xdWlldCwgbWF4bGV2ZWxzPW1heGxldmVscywKKyAgICAgICAgICAgICAgICAgICAgICBkZGlyPWRkaXIpCisgICAgc3VjY2VzcyA9IDEKKyAgICBpZiB3b3JrZXJzIGlzIG5vdCBOb25lIGFuZCB3b3JrZXJzICE9IDE6CisgICAgICAgIGlmIHdvcmtlcnMgPCAwOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignd29ya2VycyBtdXN0IGJlIGdyZWF0ZXIgb3IgZXF1YWwgdG8gMCcpCisgICAgICAgIGlmIFByb2Nlc3NQb29sRXhlY3V0b3IgaXMgTm9uZToKKyAgICAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoJ211bHRpcHJvY2Vzc2luZyBzdXBwb3J0IG5vdCBhdmFpbGFibGUnKQorCisgICAgICAgIHdvcmtlcnMgPSB3b3JrZXJzIG9yIE5vbmUKKyAgICAgICAgd2l0aCBQcm9jZXNzUG9vbEV4ZWN1dG9yKG1heF93b3JrZXJzPXdvcmtlcnMpIGFzIGV4ZWN1dG9yOgorICAgICAgICAgICAgcmVzdWx0cyA9IGV4ZWN1dG9yLm1hcChwYXJ0aWFsKGNvbXBpbGVfZmlsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZGlyPWRkaXIsIGZvcmNlPWZvcmNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ4PXJ4LCBxdWlldD1xdWlldCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWdhY3k9bGVnYWN5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGltaXplPW9wdGltaXplKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZXMpCisgICAgICAgICAgICBzdWNjZXNzID0gbWluKHJlc3VsdHMsIGRlZmF1bHQ9MSkKKyAgICBlbHNlOgorICAgICAgICBmb3IgZmlsZSBpbiBmaWxlczoKKyAgICAgICAgICAgIGlmIG5vdCBjb21waWxlX2ZpbGUoZmlsZSwgZGRpciwgZm9yY2UsIHJ4LCBxdWlldCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVnYWN5LCBvcHRpbWl6ZSk6CiAgICAgICAgICAgICAgICAgc3VjY2VzcyA9IDAKICAgICByZXR1cm4gc3VjY2VzcwogCi1kZWYgY29tcGlsZV9maWxlKGZ1bGxuYW1lLCBkZGlyPU5vbmUsIGZvcmNlPUZhbHNlLCByeD1Ob25lLCBxdWlldD1GYWxzZSwKK2RlZiBjb21waWxlX2ZpbGUoZnVsbG5hbWUsIGRkaXI9Tm9uZSwgZm9yY2U9RmFsc2UsIHJ4PU5vbmUsIHF1aWV0PTAsCiAgICAgICAgICAgICAgICAgIGxlZ2FjeT1GYWxzZSwgb3B0aW1pemU9LTEpOgogICAgICIiIkJ5dGUtY29tcGlsZSBvbmUgZmlsZS4KIApAQCAtNzEsNyArMTAxLDggQEAKICAgICBkZGlyOiAgICAgIGlmIGdpdmVuLCB0aGUgZGlyZWN0b3J5IG5hbWUgY29tcGlsZWQgaW4gdG8gdGhlCiAgICAgICAgICAgICAgICBieXRlLWNvZGUgZmlsZS4KICAgICBmb3JjZTogICAgIGlmIFRydWUsIGZvcmNlIGNvbXBpbGF0aW9uLCBldmVuIGlmIHRpbWVzdGFtcHMgYXJlIHVwLXRvLWRhdGUKLSAgICBxdWlldDogICAgIGlmIFRydWUsIGJlIHF1aWV0IGR1cmluZyBjb21waWxhdGlvbgorICAgIHF1aWV0OiAgICAgZnVsbCBvdXRwdXQgd2l0aCBGYWxzZSBvciAwLCBlcnJvcnMgb25seSB3aXRoIDEsCisgICAgICAgICAgICAgICBubyBvdXRwdXQgd2l0aCAyCiAgICAgbGVnYWN5OiAgICBpZiBUcnVlLCBwcm9kdWNlIGxlZ2FjeSBweWMgcGF0aHMgaW5zdGVhZCBvZiBQRVAgMzE0NyBwYXRocwogICAgIG9wdGltaXplOiAgb3B0aW1pemF0aW9uIGxldmVsIG9yIC0xIGZvciBsZXZlbCBvZiB0aGUgaW50ZXJwcmV0ZXIKICAgICAiIiIKQEAgLTExNCw3ICsxNDUsMTAgQEAKICAgICAgICAgICAgICAgICBvayA9IHB5X2NvbXBpbGUuY29tcGlsZShmdWxsbmFtZSwgY2ZpbGUsIGRmaWxlLCBUcnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGltaXplPW9wdGltaXplKQogICAgICAgICAgICAgZXhjZXB0IHB5X2NvbXBpbGUuUHlDb21waWxlRXJyb3IgYXMgZXJyOgotICAgICAgICAgICAgICAgIGlmIHF1aWV0OgorICAgICAgICAgICAgICAgIHN1Y2Nlc3MgPSAwCisgICAgICAgICAgICAgICAgaWYgcXVpZXQgPj0gMjoKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN1Y2Nlc3MKKyAgICAgICAgICAgICAgICBlbGlmIHF1aWV0OgogICAgICAgICAgICAgICAgICAgICBwcmludCgnKioqIEVycm9yIGNvbXBpbGluZyB7IXJ9Li4uJy5mb3JtYXQoZnVsbG5hbWUpKQogICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgIHByaW50KCcqKiogJywgZW5kPScnKQpAQCAtMTIzLDIwICsxNTcsMjEgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnM9J2JhY2tzbGFzaHJlcGxhY2UnKQogICAgICAgICAgICAgICAgIG1zZyA9IG1zZy5kZWNvZGUoc3lzLnN0ZG91dC5lbmNvZGluZykKICAgICAgICAgICAgICAgICBwcmludChtc2cpCi0gICAgICAgICAgICAgICAgc3VjY2VzcyA9IDAKICAgICAgICAgICAgIGV4Y2VwdCAoU3ludGF4RXJyb3IsIFVuaWNvZGVFcnJvciwgT1NFcnJvcikgYXMgZToKLSAgICAgICAgICAgICAgICBpZiBxdWlldDoKKyAgICAgICAgICAgICAgICBzdWNjZXNzID0gMAorICAgICAgICAgICAgICAgIGlmIHF1aWV0ID49IDI6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBzdWNjZXNzCisgICAgICAgICAgICAgICAgZWxpZiBxdWlldDoKICAgICAgICAgICAgICAgICAgICAgcHJpbnQoJyoqKiBFcnJvciBjb21waWxpbmcgeyFyfS4uLicuZm9ybWF0KGZ1bGxuYW1lKSkKICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICBwcmludCgnKioqICcsIGVuZD0nJykKICAgICAgICAgICAgICAgICBwcmludChlLl9fY2xhc3NfXy5fX25hbWVfXyArICc6JywgZSkKLSAgICAgICAgICAgICAgICBzdWNjZXNzID0gMAogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBpZiBvayA9PSAwOgogICAgICAgICAgICAgICAgICAgICBzdWNjZXNzID0gMAogICAgIHJldHVybiBzdWNjZXNzCiAKLWRlZiBjb21waWxlX3BhdGgoc2tpcF9jdXJkaXI9MSwgbWF4bGV2ZWxzPTAsIGZvcmNlPUZhbHNlLCBxdWlldD1GYWxzZSwKK2RlZiBjb21waWxlX3BhdGgoc2tpcF9jdXJkaXI9MSwgbWF4bGV2ZWxzPTAsIGZvcmNlPUZhbHNlLCBxdWlldD0wLAogICAgICAgICAgICAgICAgICBsZWdhY3k9RmFsc2UsIG9wdGltaXplPS0xKToKICAgICAiIiJCeXRlLWNvbXBpbGUgYWxsIG1vZHVsZSBvbiBzeXMucGF0aC4KIApAQCAtMTQ1LDE0ICsxODAsMTUgQEAKICAgICBza2lwX2N1cmRpcjogaWYgdHJ1ZSwgc2tpcCBjdXJyZW50IGRpcmVjdG9yeSAoZGVmYXVsdCBUcnVlKQogICAgIG1heGxldmVsczogICBtYXggcmVjdXJzaW9uIGxldmVsIChkZWZhdWx0IDApCiAgICAgZm9yY2U6IGFzIGZvciBjb21waWxlX2RpcigpIChkZWZhdWx0IEZhbHNlKQotICAgIHF1aWV0OiBhcyBmb3IgY29tcGlsZV9kaXIoKSAoZGVmYXVsdCBGYWxzZSkKKyAgICBxdWlldDogYXMgZm9yIGNvbXBpbGVfZGlyKCkgKGRlZmF1bHQgMCkKICAgICBsZWdhY3k6IGFzIGZvciBjb21waWxlX2RpcigpIChkZWZhdWx0IEZhbHNlKQogICAgIG9wdGltaXplOiBhcyBmb3IgY29tcGlsZV9kaXIoKSAoZGVmYXVsdCAtMSkKICAgICAiIiIKICAgICBzdWNjZXNzID0gMQogICAgIGZvciBkaXIgaW4gc3lzLnBhdGg6CiAgICAgICAgIGlmIChub3QgZGlyIG9yIGRpciA9PSBvcy5jdXJkaXIpIGFuZCBza2lwX2N1cmRpcjoKLSAgICAgICAgICAgIHByaW50KCdTa2lwcGluZyBjdXJyZW50IGRpcmVjdG9yeScpCisgICAgICAgICAgICBpZiBxdWlldCA8IDI6CisgICAgICAgICAgICAgICAgcHJpbnQoJ1NraXBwaW5nIGN1cnJlbnQgZGlyZWN0b3J5JykKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHN1Y2Nlc3MgPSBzdWNjZXNzIGFuZCBjb21waWxlX2RpcihkaXIsIG1heGxldmVscywgTm9uZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JjZSwgcXVpZXQ9cXVpZXQsCkBAIC0xNjksMTAgKzIwNSwxNSBAQAogICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy1sJywgYWN0aW9uPSdzdG9yZV9jb25zdCcsIGNvbnN0PTAsCiAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0PTEwLCBkZXN0PSdtYXhsZXZlbHMnLAogICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iZG9uJ3QgcmVjdXJzZSBpbnRvIHN1YmRpcmVjdG9yaWVzIikKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctcicsIHR5cGU9aW50LCBkZXN0PSdyZWN1cnNpb24nLAorICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0oJ2NvbnRyb2wgdGhlIG1heGltdW0gcmVjdXJzaW9uIGxldmVsLiAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaWYgYC1sYCBhbmQgYC1yYCBvcHRpb25zIGFyZSBzcGVjaWZpZWQsICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0aGVuIGAtcmAgdGFrZXMgcHJlY2VkZW5jZS4nKSkKICAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctZicsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGRlc3Q9J2ZvcmNlJywKICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J2ZvcmNlIHJlYnVpbGQgZXZlbiBpZiB0aW1lc3RhbXBzIGFyZSB1cCB0byBkYXRlJykKLSAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctcScsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGRlc3Q9J3F1aWV0JywKLSAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J291dHB1dCBvbmx5IGVycm9yIG1lc3NhZ2VzJykKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctcScsIGFjdGlvbj0nY291bnQnLCBkZXN0PSdxdWlldCcsIGRlZmF1bHQ9MCwKKyAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J291dHB1dCBvbmx5IGVycm9yIG1lc3NhZ2VzOyAtcXEgd2lsbCBzdXBwcmVzcyAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0aGUgZXJyb3IgbWVzc2FnZXMgYXMgd2VsbC4nKQogICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy1iJywgYWN0aW9uPSdzdG9yZV90cnVlJywgZGVzdD0nbGVnYWN5JywKICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J3VzZSBsZWdhY3kgKHByZS1QRVAzMTQ3KSBjb21waWxlZCBmaWxlIGxvY2F0aW9ucycpCiAgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLWQnLCBtZXRhdmFyPSdERVNURElSJywgIGRlc3Q9J2RkaXInLCBkZWZhdWx0PU5vbmUsCkBAIC0xOTIsOCArMjMzLDEwIEBACiAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSgnemVybyBvciBtb3JlIGZpbGUgYW5kIGRpcmVjdG9yeSBuYW1lcyAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndG8gY29tcGlsZTsgaWYgbm8gYXJndW1lbnRzIGdpdmVuLCBkZWZhdWx0cyAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndG8gdGhlIGVxdWl2YWxlbnQgb2YgLWwgc3lzLnBhdGgnKSkKLSAgICBhcmdzID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy1qJywgJy0td29ya2VycycsIGRlZmF1bHQ9MSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9aW50LCBoZWxwPSdSdW4gY29tcGlsZWFsbCBjb25jdXJyZW50bHknKQogCisgICAgYXJncyA9IHBhcnNlci5wYXJzZV9hcmdzKCkKICAgICBjb21waWxlX2Rlc3RzID0gYXJncy5jb21waWxlX2Rlc3QKIAogICAgIGlmIChhcmdzLmRkaXIgYW5kIChsZW4oY29tcGlsZV9kZXN0cykgIT0gMQpAQCAtMjAzLDYgKzI0NiwxMiBAQAogICAgICAgICBpbXBvcnQgcmUKICAgICAgICAgYXJncy5yeCA9IHJlLmNvbXBpbGUoYXJncy5yeCkKIAorCisgICAgaWYgYXJncy5yZWN1cnNpb24gaXMgbm90IE5vbmU6CisgICAgICAgIG1heGxldmVscyA9IGFyZ3MucmVjdXJzaW9uCisgICAgZWxzZToKKyAgICAgICAgbWF4bGV2ZWxzID0gYXJncy5tYXhsZXZlbHMKKwogICAgICMgaWYgZmxpc3QgaXMgcHJvdmlkZWQgdGhlbiBsb2FkIGl0CiAgICAgaWYgYXJncy5mbGlzdDoKICAgICAgICAgdHJ5OgpAQCAtMjEwLDkgKzI1OSwxMyBAQAogICAgICAgICAgICAgICAgIGZvciBsaW5lIGluIGY6CiAgICAgICAgICAgICAgICAgICAgIGNvbXBpbGVfZGVzdHMuYXBwZW5kKGxpbmUuc3RyaXAoKSkKICAgICAgICAgZXhjZXB0IE9TRXJyb3I6Ci0gICAgICAgICAgICBwcmludCgiRXJyb3IgcmVhZGluZyBmaWxlIGxpc3Qge30iLmZvcm1hdChhcmdzLmZsaXN0KSkKKyAgICAgICAgICAgIGlmIGFyZ3MucXVpZXQgPCAyOgorICAgICAgICAgICAgICAgIHByaW50KCJFcnJvciByZWFkaW5nIGZpbGUgbGlzdCB7fSIuZm9ybWF0KGFyZ3MuZmxpc3QpKQogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAKKyAgICBpZiBhcmdzLndvcmtlcnMgaXMgbm90IE5vbmU6CisgICAgICAgIGFyZ3Mud29ya2VycyA9IGFyZ3Mud29ya2VycyBvciBOb25lCisKICAgICBzdWNjZXNzID0gVHJ1ZQogICAgIHRyeToKICAgICAgICAgaWYgY29tcGlsZV9kZXN0czoKQEAgLTIyMiwxNiArMjc1LDE3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJncy5xdWlldCwgYXJncy5sZWdhY3kpOgogICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2VzcyA9IEZhbHNlCiAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgaWYgbm90IGNvbXBpbGVfZGlyKGRlc3QsIGFyZ3MubWF4bGV2ZWxzLCBhcmdzLmRkaXIsCisgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBjb21waWxlX2RpcihkZXN0LCBtYXhsZXZlbHMsIGFyZ3MuZGRpciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3MuZm9yY2UsIGFyZ3MucngsIGFyZ3MucXVpZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzLmxlZ2FjeSk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzLmxlZ2FjeSwgd29ya2Vycz1hcmdzLndvcmtlcnMpOgogICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2VzcyA9IEZhbHNlCiAgICAgICAgICAgICByZXR1cm4gc3VjY2VzcwogICAgICAgICBlbHNlOgogICAgICAgICAgICAgcmV0dXJuIGNvbXBpbGVfcGF0aChsZWdhY3k9YXJncy5sZWdhY3ksIGZvcmNlPWFyZ3MuZm9yY2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1aWV0PWFyZ3MucXVpZXQpCiAgICAgZXhjZXB0IEtleWJvYXJkSW50ZXJydXB0OgotICAgICAgICBwcmludCgiXG5baW50ZXJydXB0ZWRdIikKKyAgICAgICAgaWYgYXJncy5xdWlldCA8IDI6CisgICAgICAgICAgICBwcmludCgiXG5baW50ZXJydXB0ZWRdIikKICAgICAgICAgcmV0dXJuIEZhbHNlCiAgICAgcmV0dXJuIFRydWUKIApkaWZmIC0tZ2l0IGEvTGliL2NvbmN1cnJlbnQvZnV0dXJlcy9fYmFzZS5weSBiL0xpYi9jb25jdXJyZW50L2Z1dHVyZXMvX2Jhc2UucHkKaW5kZXggYWNkMDVkMC4uOWU0NDcxMyAxMDA2NDQKLS0tIGEvTGliL2NvbmN1cnJlbnQvZnV0dXJlcy9fYmFzZS5weQorKysgYi9MaWIvY29uY3VycmVudC9mdXR1cmVzL19iYXNlLnB5CkBAIC0zMDIsMTcgKzMwMiwyMCBAQAogICAgICAgICB3aXRoIHNlbGYuX2NvbmRpdGlvbjoKICAgICAgICAgICAgIGlmIHNlbGYuX3N0YXRlID09IEZJTklTSEVEOgogICAgICAgICAgICAgICAgIGlmIHNlbGYuX2V4Y2VwdGlvbjoKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuICc8RnV0dXJlIGF0ICVzIHN0YXRlPSVzIHJhaXNlZCAlcz4nICUgKAotICAgICAgICAgICAgICAgICAgICAgICAgaGV4KGlkKHNlbGYpKSwKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuICc8JXMgYXQgJSN4IHN0YXRlPSVzIHJhaXNlZCAlcz4nICUgKAorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fX2NsYXNzX18uX19uYW1lX18sCisgICAgICAgICAgICAgICAgICAgICAgICBpZChzZWxmKSwKICAgICAgICAgICAgICAgICAgICAgICAgIF9TVEFURV9UT19ERVNDUklQVElPTl9NQVBbc2VsZi5fc3RhdGVdLAogICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fZXhjZXB0aW9uLl9fY2xhc3NfXy5fX25hbWVfXykKICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzxGdXR1cmUgYXQgJXMgc3RhdGU9JXMgcmV0dXJuZWQgJXM+JyAlICgKLSAgICAgICAgICAgICAgICAgICAgICAgIGhleChpZChzZWxmKSksCisgICAgICAgICAgICAgICAgICAgIHJldHVybiAnPCVzIGF0ICUjeCBzdGF0ZT0lcyByZXR1cm5lZCAlcz4nICUgKAorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fX2NsYXNzX18uX19uYW1lX18sCisgICAgICAgICAgICAgICAgICAgICAgICBpZChzZWxmKSwKICAgICAgICAgICAgICAgICAgICAgICAgIF9TVEFURV9UT19ERVNDUklQVElPTl9NQVBbc2VsZi5fc3RhdGVdLAogICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fcmVzdWx0Ll9fY2xhc3NfXy5fX25hbWVfXykKLSAgICAgICAgICAgIHJldHVybiAnPEZ1dHVyZSBhdCAlcyBzdGF0ZT0lcz4nICUgKAotICAgICAgICAgICAgICAgICAgICBoZXgoaWQoc2VsZikpLAorICAgICAgICAgICAgcmV0dXJuICc8JXMgYXQgJSN4IHN0YXRlPSVzPicgJSAoCisgICAgICAgICAgICAgICAgICAgIHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLAorICAgICAgICAgICAgICAgICAgICBpZChzZWxmKSwKICAgICAgICAgICAgICAgICAgICBfU1RBVEVfVE9fREVTQ1JJUFRJT05fTUFQW3NlbGYuX3N0YXRlXSkKIAogICAgIGRlZiBjYW5jZWwoc2VsZik6CkBAIC01MTcsNyArNTIwLDcgQEAKICAgICAgICAgIiIiCiAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoKQogCi0gICAgZGVmIG1hcChzZWxmLCBmbiwgKml0ZXJhYmxlcywgdGltZW91dD1Ob25lKToKKyAgICBkZWYgbWFwKHNlbGYsIGZuLCAqaXRlcmFibGVzLCB0aW1lb3V0PU5vbmUsIGNodW5rc2l6ZT0xKToKICAgICAgICAgIiIiUmV0dXJucyBhIGl0ZXJhdG9yIGVxdWl2YWxlbnQgdG8gbWFwKGZuLCBpdGVyKS4KIAogICAgICAgICBBcmdzOgpAQCAtNTI1LDYgKzUyOCwxMCBAQAogICAgICAgICAgICAgICAgIHBhc3NlZCBpdGVyYWJsZXMuCiAgICAgICAgICAgICB0aW1lb3V0OiBUaGUgbWF4aW11bSBudW1iZXIgb2Ygc2Vjb25kcyB0byB3YWl0LiBJZiBOb25lLCB0aGVuIHRoZXJlCiAgICAgICAgICAgICAgICAgaXMgbm8gbGltaXQgb24gdGhlIHdhaXQgdGltZS4KKyAgICAgICAgICAgIGNodW5rc2l6ZTogVGhlIHNpemUgb2YgdGhlIGNodW5rcyB0aGUgaXRlcmFibGUgd2lsbCBiZSBicm9rZW4gaW50bworICAgICAgICAgICAgICAgIGJlZm9yZSBiZWluZyBwYXNzZWQgdG8gYSBjaGlsZCBwcm9jZXNzLiBUaGlzIGFyZ3VtZW50IGlzIG9ubHkKKyAgICAgICAgICAgICAgICB1c2VkIGJ5IFByb2Nlc3NQb29sRXhlY3V0b3I7IGl0IGlzIGlnbm9yZWQgYnkKKyAgICAgICAgICAgICAgICBUaHJlYWRQb29sRXhlY3V0b3IuCiAKICAgICAgICAgUmV0dXJuczoKICAgICAgICAgICAgIEFuIGl0ZXJhdG9yIGVxdWl2YWxlbnQgdG86IG1hcChmdW5jLCAqaXRlcmFibGVzKSBidXQgdGhlIGNhbGxzIG1heQpkaWZmIC0tZ2l0IGEvTGliL2NvbmN1cnJlbnQvZnV0dXJlcy9wcm9jZXNzLnB5IGIvTGliL2NvbmN1cnJlbnQvZnV0dXJlcy9wcm9jZXNzLnB5CmluZGV4IDA3YjUyMjUuLjNkZDZkYTEgMTAwNjQ0Ci0tLSBhL0xpYi9jb25jdXJyZW50L2Z1dHVyZXMvcHJvY2Vzcy5weQorKysgYi9MaWIvY29uY3VycmVudC9mdXR1cmVzL3Byb2Nlc3MucHkKQEAgLTU1LDYgKzU1LDkgQEAKIGZyb20gbXVsdGlwcm9jZXNzaW5nLmNvbm5lY3Rpb24gaW1wb3J0IHdhaXQKIGltcG9ydCB0aHJlYWRpbmcKIGltcG9ydCB3ZWFrcmVmCitmcm9tIGZ1bmN0b29scyBpbXBvcnQgcGFydGlhbAoraW1wb3J0IGl0ZXJ0b29scworaW1wb3J0IHRyYWNlYmFjawogCiAjIFdvcmtlcnMgYXJlIGNyZWF0ZWQgYXMgZGFlbW9uIHRocmVhZHMgYW5kIHByb2Nlc3Nlcy4gVGhpcyBpcyBkb25lIHRvIGFsbG93IHRoZQogIyBpbnRlcnByZXRlciB0byBleGl0IHdoZW4gdGhlcmUgYXJlIHN0aWxsIGlkbGUgcHJvY2Vzc2VzIGluIGEKQEAgLTg4LDYgKzkxLDI3IEBACiAjIChGdXR1cmVzIGluIHRoZSBjYWxsIHF1ZXVlIGNhbm5vdCBiZSBjYW5jZWxsZWQpLgogRVhUUkFfUVVFVUVEX0NBTExTID0gMQogCisjIEhhY2sgdG8gZW1iZWQgc3RyaW5naWZpY2F0aW9uIG9mIHJlbW90ZSB0cmFjZWJhY2sgaW4gbG9jYWwgdHJhY2ViYWNrCisKK2NsYXNzIF9SZW1vdGVUcmFjZWJhY2soRXhjZXB0aW9uKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgdGIpOgorICAgICAgICBzZWxmLnRiID0gdGIKKyAgICBkZWYgX19zdHJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYudGIKKworY2xhc3MgX0V4Y2VwdGlvbldpdGhUcmFjZWJhY2s6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGV4YywgdGIpOgorICAgICAgICB0YiA9IHRyYWNlYmFjay5mb3JtYXRfZXhjZXB0aW9uKHR5cGUoZXhjKSwgZXhjLCB0YikKKyAgICAgICAgdGIgPSAnJy5qb2luKHRiKQorICAgICAgICBzZWxmLmV4YyA9IGV4YworICAgICAgICBzZWxmLnRiID0gJ1xuIiIiXG4lcyIiIicgJSB0YgorICAgIGRlZiBfX3JlZHVjZV9fKHNlbGYpOgorICAgICAgICByZXR1cm4gX3JlYnVpbGRfZXhjLCAoc2VsZi5leGMsIHNlbGYudGIpCisKK2RlZiBfcmVidWlsZF9leGMoZXhjLCB0Yik6CisgICAgZXhjLl9fY2F1c2VfXyA9IF9SZW1vdGVUcmFjZWJhY2sodGIpCisgICAgcmV0dXJuIGV4YworCiBjbGFzcyBfV29ya0l0ZW0ob2JqZWN0KToKICAgICBkZWYgX19pbml0X18oc2VsZiwgZnV0dXJlLCBmbiwgYXJncywga3dhcmdzKToKICAgICAgICAgc2VsZi5mdXR1cmUgPSBmdXR1cmUKQEAgLTEwOCw2ICsxMzIsMjYgQEAKICAgICAgICAgc2VsZi5hcmdzID0gYXJncwogICAgICAgICBzZWxmLmt3YXJncyA9IGt3YXJncwogCitkZWYgX2dldF9jaHVua3MoKml0ZXJhYmxlcywgY2h1bmtzaXplKToKKyAgICAiIiIgSXRlcmF0ZXMgb3ZlciB6aXAoKWVkIGl0ZXJhYmxlcyBpbiBjaHVua3MuICIiIgorICAgIGl0ID0gemlwKCppdGVyYWJsZXMpCisgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgY2h1bmsgPSB0dXBsZShpdGVydG9vbHMuaXNsaWNlKGl0LCBjaHVua3NpemUpKQorICAgICAgICBpZiBub3QgY2h1bms6CisgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgeWllbGQgY2h1bmsKKworZGVmIF9wcm9jZXNzX2NodW5rKGZuLCBjaHVuayk6CisgICAgIiIiIFByb2Nlc3NlcyBhIGNodW5rIG9mIGFuIGl0ZXJhYmxlIHBhc3NlZCB0byBtYXAuCisKKyAgICBSdW5zIHRoZSBmdW5jdGlvbiBwYXNzZWQgdG8gbWFwKCkgb24gYSBjaHVuayBvZiB0aGUKKyAgICBpdGVyYWJsZSBwYXNzZWQgdG8gbWFwLgorCisgICAgVGhpcyBmdW5jdGlvbiBpcyBydW4gaW4gYSBzZXBhcmF0ZSBwcm9jZXNzLgorCisgICAgIiIiCisgICAgcmV0dXJuIFtmbigqYXJncykgZm9yIGFyZ3MgaW4gY2h1bmtdCisKIGRlZiBfcHJvY2Vzc193b3JrZXIoY2FsbF9xdWV1ZSwgcmVzdWx0X3F1ZXVlKToKICAgICAiIiJFdmFsdWF0ZXMgY2FsbHMgZnJvbSBjYWxsX3F1ZXVlIGFuZCBwbGFjZXMgdGhlIHJlc3VsdHMgaW4gcmVzdWx0X3F1ZXVlLgogCkBAIC0xMzAsOCArMTc0LDggQEAKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgciA9IGNhbGxfaXRlbS5mbigqY2FsbF9pdGVtLmFyZ3MsICoqY2FsbF9pdGVtLmt3YXJncykKICAgICAgICAgZXhjZXB0IEJhc2VFeGNlcHRpb24gYXMgZToKLSAgICAgICAgICAgIHJlc3VsdF9xdWV1ZS5wdXQoX1Jlc3VsdEl0ZW0oY2FsbF9pdGVtLndvcmtfaWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdGlvbj1lKSkKKyAgICAgICAgICAgIGV4YyA9IF9FeGNlcHRpb25XaXRoVHJhY2ViYWNrKGUsIGUuX190cmFjZWJhY2tfXykKKyAgICAgICAgICAgIHJlc3VsdF9xdWV1ZS5wdXQoX1Jlc3VsdEl0ZW0oY2FsbF9pdGVtLndvcmtfaWQsIGV4Y2VwdGlvbj1leGMpKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgcmVzdWx0X3F1ZXVlLnB1dChfUmVzdWx0SXRlbShjYWxsX2l0ZW0ud29ya19pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PXIpKQpAQCAtMzM0LDYgKzM3OCw5IEBACiAgICAgICAgIGlmIG1heF93b3JrZXJzIGlzIE5vbmU6CiAgICAgICAgICAgICBzZWxmLl9tYXhfd29ya2VycyA9IG9zLmNwdV9jb3VudCgpIG9yIDEKICAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGlmIG1heF93b3JrZXJzIDw9IDA6CisgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigibWF4X3dvcmtlcnMgbXVzdCBiZSBncmVhdGVyIHRoYW4gMCIpCisKICAgICAgICAgICAgIHNlbGYuX21heF93b3JrZXJzID0gbWF4X3dvcmtlcnMKIAogICAgICAgICAjIE1ha2UgdGhlIGNhbGwgcXVldWUgc2xpZ2h0bHkgbGFyZ2VyIHRoYW4gdGhlIG51bWJlciBvZiBwcm9jZXNzZXMgdG8KQEAgLTQwOCw2ICs0NTUsMzUgQEAKICAgICAgICAgICAgIHJldHVybiBmCiAgICAgc3VibWl0Ll9fZG9jX18gPSBfYmFzZS5FeGVjdXRvci5zdWJtaXQuX19kb2NfXwogCisgICAgZGVmIG1hcChzZWxmLCBmbiwgKml0ZXJhYmxlcywgdGltZW91dD1Ob25lLCBjaHVua3NpemU9MSk6CisgICAgICAgICIiIlJldHVybnMgYSBpdGVyYXRvciBlcXVpdmFsZW50IHRvIG1hcChmbiwgaXRlcikuCisKKyAgICAgICAgQXJnczoKKyAgICAgICAgICAgIGZuOiBBIGNhbGxhYmxlIHRoYXQgd2lsbCB0YWtlIGFzIG1hbnkgYXJndW1lbnRzIGFzIHRoZXJlIGFyZQorICAgICAgICAgICAgICAgIHBhc3NlZCBpdGVyYWJsZXMuCisgICAgICAgICAgICB0aW1lb3V0OiBUaGUgbWF4aW11bSBudW1iZXIgb2Ygc2Vjb25kcyB0byB3YWl0LiBJZiBOb25lLCB0aGVuIHRoZXJlCisgICAgICAgICAgICAgICAgaXMgbm8gbGltaXQgb24gdGhlIHdhaXQgdGltZS4KKyAgICAgICAgICAgIGNodW5rc2l6ZTogSWYgZ3JlYXRlciB0aGFuIG9uZSwgdGhlIGl0ZXJhYmxlcyB3aWxsIGJlIGNob3BwZWQgaW50bworICAgICAgICAgICAgICAgIGNodW5rcyBvZiBzaXplIGNodW5rc2l6ZSBhbmQgc3VibWl0dGVkIHRvIHRoZSBwcm9jZXNzIHBvb2wuCisgICAgICAgICAgICAgICAgSWYgc2V0IHRvIG9uZSwgdGhlIGl0ZW1zIGluIHRoZSBsaXN0IHdpbGwgYmUgc2VudCBvbmUgYXQgYSB0aW1lLgorCisgICAgICAgIFJldHVybnM6CisgICAgICAgICAgICBBbiBpdGVyYXRvciBlcXVpdmFsZW50IHRvOiBtYXAoZnVuYywgKml0ZXJhYmxlcykgYnV0IHRoZSBjYWxscyBtYXkKKyAgICAgICAgICAgIGJlIGV2YWx1YXRlZCBvdXQtb2Ytb3JkZXIuCisKKyAgICAgICAgUmFpc2VzOgorICAgICAgICAgICAgVGltZW91dEVycm9yOiBJZiB0aGUgZW50aXJlIHJlc3VsdCBpdGVyYXRvciBjb3VsZCBub3QgYmUgZ2VuZXJhdGVkCisgICAgICAgICAgICAgICAgYmVmb3JlIHRoZSBnaXZlbiB0aW1lb3V0LgorICAgICAgICAgICAgRXhjZXB0aW9uOiBJZiBmbigqYXJncykgcmFpc2VzIGZvciBhbnkgdmFsdWVzLgorICAgICAgICAiIiIKKyAgICAgICAgaWYgY2h1bmtzaXplIDwgMToKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoImNodW5rc2l6ZSBtdXN0IGJlID49IDEuIikKKworICAgICAgICByZXN1bHRzID0gc3VwZXIoKS5tYXAocGFydGlhbChfcHJvY2Vzc19jaHVuaywgZm4pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2dldF9jaHVua3MoKml0ZXJhYmxlcywgY2h1bmtzaXplPWNodW5rc2l6ZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lb3V0PXRpbWVvdXQpCisgICAgICAgIHJldHVybiBpdGVydG9vbHMuY2hhaW4uZnJvbV9pdGVyYWJsZShyZXN1bHRzKQorCiAgICAgZGVmIHNodXRkb3duKHNlbGYsIHdhaXQ9VHJ1ZSk6CiAgICAgICAgIHdpdGggc2VsZi5fc2h1dGRvd25fbG9jazoKICAgICAgICAgICAgIHNlbGYuX3NodXRkb3duX3RocmVhZCA9IFRydWUKZGlmZiAtLWdpdCBhL0xpYi9jb25jdXJyZW50L2Z1dHVyZXMvdGhyZWFkLnB5IGIvTGliL2NvbmN1cnJlbnQvZnV0dXJlcy90aHJlYWQucHkKaW5kZXggZjliZWIwZi4uM2FlNDQyZCAxMDA2NDQKLS0tIGEvTGliL2NvbmN1cnJlbnQvZnV0dXJlcy90aHJlYWQucHkKKysrIGIvTGliL2NvbmN1cnJlbnQvZnV0dXJlcy90aHJlYWQucHkKQEAgLTEwLDYgKzEwLDcgQEAKIGltcG9ydCBxdWV1ZQogaW1wb3J0IHRocmVhZGluZwogaW1wb3J0IHdlYWtyZWYKK2ltcG9ydCBvcwogCiAjIFdvcmtlcnMgYXJlIGNyZWF0ZWQgYXMgZGFlbW9uIHRocmVhZHMuIFRoaXMgaXMgZG9uZSB0byBhbGxvdyB0aGUgaW50ZXJwcmV0ZXIKICMgdG8gZXhpdCB3aGVuIHRoZXJlIGFyZSBzdGlsbCBpZGxlIHRocmVhZHMgaW4gYSBUaHJlYWRQb29sRXhlY3V0b3IncyB0aHJlYWQKQEAgLTgwLDEzICs4MSwyMCBAQAogICAgICAgICBfYmFzZS5MT0dHRVIuY3JpdGljYWwoJ0V4Y2VwdGlvbiBpbiB3b3JrZXInLCBleGNfaW5mbz1UcnVlKQogCiBjbGFzcyBUaHJlYWRQb29sRXhlY3V0b3IoX2Jhc2UuRXhlY3V0b3IpOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBtYXhfd29ya2Vycyk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIG1heF93b3JrZXJzPU5vbmUpOgogICAgICAgICAiIiJJbml0aWFsaXplcyBhIG5ldyBUaHJlYWRQb29sRXhlY3V0b3IgaW5zdGFuY2UuCiAKICAgICAgICAgQXJnczoKICAgICAgICAgICAgIG1heF93b3JrZXJzOiBUaGUgbWF4aW11bSBudW1iZXIgb2YgdGhyZWFkcyB0aGF0IGNhbiBiZSB1c2VkIHRvCiAgICAgICAgICAgICAgICAgZXhlY3V0ZSB0aGUgZ2l2ZW4gY2FsbHMuCiAgICAgICAgICIiIgorICAgICAgICBpZiBtYXhfd29ya2VycyBpcyBOb25lOgorICAgICAgICAgICAgIyBVc2UgdGhpcyBudW1iZXIgYmVjYXVzZSBUaHJlYWRQb29sRXhlY3V0b3IgaXMgb2Z0ZW4KKyAgICAgICAgICAgICMgdXNlZCB0byBvdmVybGFwIEkvTyBpbnN0ZWFkIG9mIENQVSB3b3JrLgorICAgICAgICAgICAgbWF4X3dvcmtlcnMgPSAob3MuY3B1X2NvdW50KCkgb3IgMSkgKiA1CisgICAgICAgIGlmIG1heF93b3JrZXJzIDw9IDA6CisgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJtYXhfd29ya2VycyBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAwIikKKwogICAgICAgICBzZWxmLl9tYXhfd29ya2VycyA9IG1heF93b3JrZXJzCiAgICAgICAgIHNlbGYuX3dvcmtfcXVldWUgPSBxdWV1ZS5RdWV1ZSgpCiAgICAgICAgIHNlbGYuX3RocmVhZHMgPSBzZXQoKQpkaWZmIC0tZ2l0IGEvTGliL2NvbmZpZ3BhcnNlci5weSBiL0xpYi9jb25maWdwYXJzZXIucHkKaW5kZXggNGVlODMwNy4uZWNkMDY2MCAxMDA2NDQKLS0tIGEvTGliL2NvbmZpZ3BhcnNlci5weQorKysgYi9MaWIvY29uZmlncGFyc2VyLnB5CkBAIC0xNyw3ICsxNyw4IEBACiAgICAgX19pbml0X18oZGVmYXVsdHM9Tm9uZSwgZGljdF90eXBlPV9kZWZhdWx0X2RpY3QsIGFsbG93X25vX3ZhbHVlPUZhbHNlLAogICAgICAgICAgICAgIGRlbGltaXRlcnM9KCc9JywgJzonKSwgY29tbWVudF9wcmVmaXhlcz0oJyMnLCAnOycpLAogICAgICAgICAgICAgIGlubGluZV9jb21tZW50X3ByZWZpeGVzPU5vbmUsIHN0cmljdD1UcnVlLAotICAgICAgICAgICAgIGVtcHR5X2xpbmVzX2luX3ZhbHVlcz1UcnVlKToKKyAgICAgICAgICAgICBlbXB0eV9saW5lc19pbl92YWx1ZXM9VHJ1ZSwgZGVmYXVsdF9zZWN0aW9uPSdERUZBVUxUJywKKyAgICAgICAgICAgICBpbnRlcnBvbGF0aW9uPTx1bnNldD4sIGNvbnZlcnRlcnM9PHVuc2V0Pik6CiAgICAgICAgIENyZWF0ZSB0aGUgcGFyc2VyLiBXaGVuIGBkZWZhdWx0cycgaXMgZ2l2ZW4sIGl0IGlzIGluaXRpYWxpemVkIGludG8gdGhlCiAgICAgICAgIGRpY3Rpb25hcnkgb3IgaW50cmluc2ljIGRlZmF1bHRzLiBUaGUga2V5cyBtdXN0IGJlIHN0cmluZ3MsIHRoZSB2YWx1ZXMKICAgICAgICAgbXVzdCBiZSBhcHByb3ByaWF0ZSBmb3IgJSgpcyBzdHJpbmcgaW50ZXJwb2xhdGlvbi4KQEAgLTQ3LDYgKzQ4LDI1IEBACiAgICAgICAgIFdoZW4gYGFsbG93X25vX3ZhbHVlJyBpcyBUcnVlIChkZWZhdWx0OiBGYWxzZSksIG9wdGlvbnMgd2l0aG91dAogICAgICAgICB2YWx1ZXMgYXJlIGFjY2VwdGVkOyB0aGUgdmFsdWUgcHJlc2VudGVkIGZvciB0aGVzZSBpcyBOb25lLgogCisgICAgICAgIFdoZW4gYGRlZmF1bHRfc2VjdGlvbicgaXMgZ2l2ZW4sIHRoZSBuYW1lIG9mIHRoZSBzcGVjaWFsIHNlY3Rpb24gaXMKKyAgICAgICAgbmFtZWQgYWNjb3JkaW5nbHkuIEJ5IGRlZmF1bHQgaXQgaXMgY2FsbGVkIGBgIkRFRkFVTFQiYGAgYnV0IHRoaXMgY2FuCisgICAgICAgIGJlIGN1c3RvbWl6ZWQgdG8gcG9pbnQgdG8gYW55IG90aGVyIHZhbGlkIHNlY3Rpb24gbmFtZS4gSXRzIGN1cnJlbnQKKyAgICAgICAgdmFsdWUgY2FuIGJlIHJldHJpZXZlZCB1c2luZyB0aGUgYGBwYXJzZXJfaW5zdGFuY2UuZGVmYXVsdF9zZWN0aW9uYGAKKyAgICAgICAgYXR0cmlidXRlIGFuZCBtYXkgYmUgbW9kaWZpZWQgYXQgcnVudGltZS4KKworICAgICAgICBXaGVuIGBpbnRlcnBvbGF0aW9uYCBpcyBnaXZlbiwgaXQgc2hvdWxkIGJlIGFuIEludGVycG9sYXRpb24gc3ViY2xhc3MKKyAgICAgICAgaW5zdGFuY2UuIEl0IHdpbGwgYmUgdXNlZCBhcyB0aGUgaGFuZGxlciBmb3Igb3B0aW9uIHZhbHVlCisgICAgICAgIHByZS1wcm9jZXNzaW5nIHdoZW4gdXNpbmcgZ2V0dGVycy4gUmF3Q29uZmlnUGFyc2VyIG9iamVjdCBzIGRvbid0IGRvCisgICAgICAgIGFueSBzb3J0IG9mIGludGVycG9sYXRpb24sIHdoZXJlYXMgQ29uZmlnUGFyc2VyIHVzZXMgYW4gaW5zdGFuY2Ugb2YKKyAgICAgICAgQmFzaWNJbnRlcnBvbGF0aW9uLiBUaGUgbGlicmFyeSBhbHNvIHByb3ZpZGVzIGEgYGB6Yy5idWlsZGJvdGBgCisgICAgICAgIGluc3BpcmVkIEV4dGVuZGVkSW50ZXJwb2xhdGlvbiBpbXBsZW1lbnRhdGlvbi4KKworICAgICAgICBXaGVuIGBjb252ZXJ0ZXJzYCBpcyBnaXZlbiwgaXQgc2hvdWxkIGJlIGEgZGljdGlvbmFyeSB3aGVyZSBlYWNoIGtleQorICAgICAgICByZXByZXNlbnRzIHRoZSBuYW1lIG9mIGEgdHlwZSBjb252ZXJ0ZXIgYW5kIGVhY2ggdmFsdWUgaXMgYSBjYWxsYWJsZQorICAgICAgICBpbXBsZW1lbnRpbmcgdGhlIGNvbnZlcnNpb24gZnJvbSBzdHJpbmcgdG8gdGhlIGRlc2lyZWQgZGF0YXR5cGUuIEV2ZXJ5CisgICAgICAgIGNvbnZlcnRlciBnZXRzIGl0cyBjb3JyZXNwb25kaW5nIGdldCooKSBtZXRob2Qgb24gdGhlIHBhcnNlciBvYmplY3QgYW5kCisgICAgICAgIHNlY3Rpb24gcHJveGllcy4KKwogICAgIHNlY3Rpb25zKCkKICAgICAgICAgUmV0dXJuIGFsbCB0aGUgY29uZmlndXJhdGlvbiBzZWN0aW9uIG5hbWVzLCBzYW5zIERFRkFVTFQuCiAKQEAgLTEyOSw5ICsxNDksMTEgQEAKIAogX19hbGxfXyA9IFsiTm9TZWN0aW9uRXJyb3IiLCAiRHVwbGljYXRlT3B0aW9uRXJyb3IiLCAiRHVwbGljYXRlU2VjdGlvbkVycm9yIiwKICAgICAgICAgICAgIk5vT3B0aW9uRXJyb3IiLCAiSW50ZXJwb2xhdGlvbkVycm9yIiwgIkludGVycG9sYXRpb25EZXB0aEVycm9yIiwKLSAgICAgICAgICAgIkludGVycG9sYXRpb25TeW50YXhFcnJvciIsICJQYXJzaW5nRXJyb3IiLAotICAgICAgICAgICAiTWlzc2luZ1NlY3Rpb25IZWFkZXJFcnJvciIsCisgICAgICAgICAgICJJbnRlcnBvbGF0aW9uTWlzc2luZ09wdGlvbkVycm9yIiwgIkludGVycG9sYXRpb25TeW50YXhFcnJvciIsCisgICAgICAgICAgICJQYXJzaW5nRXJyb3IiLCAiTWlzc2luZ1NlY3Rpb25IZWFkZXJFcnJvciIsCiAgICAgICAgICAgICJDb25maWdQYXJzZXIiLCAiU2FmZUNvbmZpZ1BhcnNlciIsICJSYXdDb25maWdQYXJzZXIiLAorICAgICAgICAgICAiSW50ZXJwb2xhdGlvbiIsICJCYXNpY0ludGVycG9sYXRpb24iLCAgIkV4dGVuZGVkSW50ZXJwb2xhdGlvbiIsCisgICAgICAgICAgICJMZWdhY3lJbnRlcnBvbGF0aW9uIiwgIlNlY3Rpb25Qcm94eSIsICJDb252ZXJ0ZXJNYXBwaW5nIiwKICAgICAgICAgICAgIkRFRkFVTFRTRUNUIiwgIk1BWF9JTlRFUlBPTEFUSU9OX0RFUFRIIl0KIAogREVGQVVMVFNFQ1QgPSAiREVGQVVMVCIKQEAgLTQxMCw3ICs0MzIsNyBAQAogICAgICAgICAgICAgICAgICAgICB2ID0gbWFwW3Zhcl0KICAgICAgICAgICAgICAgICBleGNlcHQgS2V5RXJyb3I6CiAgICAgICAgICAgICAgICAgICAgIHJhaXNlIEludGVycG9sYXRpb25NaXNzaW5nT3B0aW9uRXJyb3IoCi0gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb24sIHNlY3Rpb24sIHJlc3QsIHZhcikKKyAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbiwgc2VjdGlvbiwgcmVzdCwgdmFyKSBmcm9tIE5vbmUKICAgICAgICAgICAgICAgICBpZiAiJSIgaW4gdjoKICAgICAgICAgICAgICAgICAgICAgc2VsZi5faW50ZXJwb2xhdGVfc29tZShwYXJzZXIsIG9wdGlvbiwgYWNjdW0sIHYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VjdGlvbiwgbWFwLCBkZXB0aCArIDEpCkBAIC00ODIsNyArNTA0LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTW9yZSB0aGFuIG9uZSAnOicgZm91bmQ6ICVyIiAlIChyZXN0LCkpCiAgICAgICAgICAgICAgICAgZXhjZXB0IChLZXlFcnJvciwgTm9TZWN0aW9uRXJyb3IsIE5vT3B0aW9uRXJyb3IpOgogICAgICAgICAgICAgICAgICAgICByYWlzZSBJbnRlcnBvbGF0aW9uTWlzc2luZ09wdGlvbkVycm9yKAotICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uLCBzZWN0aW9uLCByZXN0LCAiOiIuam9pbihwYXRoKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbiwgc2VjdGlvbiwgcmVzdCwgIjoiLmpvaW4ocGF0aCkpIGZyb20gTm9uZQogICAgICAgICAgICAgICAgIGlmICIkIiBpbiB2OgogICAgICAgICAgICAgICAgICAgICBzZWxmLl9pbnRlcnBvbGF0ZV9zb21lKHBhcnNlciwgb3B0LCBhY2N1bSwgdiwgc2VjdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWN0KHBhcnNlci5pdGVtcyhzZWN0LCByYXc9VHJ1ZSkpLApAQCAtNTE1LDcgKzUzNyw3IEBACiAgICAgICAgICAgICAgICAgICAgIHZhbHVlID0gdmFsdWUgJSB2YXJzCiAgICAgICAgICAgICAgICAgZXhjZXB0IEtleUVycm9yIGFzIGU6CiAgICAgICAgICAgICAgICAgICAgIHJhaXNlIEludGVycG9sYXRpb25NaXNzaW5nT3B0aW9uRXJyb3IoCi0gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb24sIHNlY3Rpb24sIHJhd3ZhbCwgZS5hcmdzWzBdKQorICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uLCBzZWN0aW9uLCByYXd2YWwsIGUuYXJnc1swXSkgZnJvbSBOb25lCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgIGlmIHZhbHVlIGFuZCAiJSgiIGluIHZhbHVlOgpAQCAtNTgwLDExICs2MDIsMTIgQEAKICAgICAgICAgICAgICAgICAgY29tbWVudF9wcmVmaXhlcz0oJyMnLCAnOycpLCBpbmxpbmVfY29tbWVudF9wcmVmaXhlcz1Ob25lLAogICAgICAgICAgICAgICAgICBzdHJpY3Q9VHJ1ZSwgZW1wdHlfbGluZXNfaW5fdmFsdWVzPVRydWUsCiAgICAgICAgICAgICAgICAgIGRlZmF1bHRfc2VjdGlvbj1ERUZBVUxUU0VDVCwKLSAgICAgICAgICAgICAgICAgaW50ZXJwb2xhdGlvbj1fVU5TRVQpOgorICAgICAgICAgICAgICAgICBpbnRlcnBvbGF0aW9uPV9VTlNFVCwgY29udmVydGVycz1fVU5TRVQpOgogCiAgICAgICAgIHNlbGYuX2RpY3QgPSBkaWN0X3R5cGUKICAgICAgICAgc2VsZi5fc2VjdGlvbnMgPSBzZWxmLl9kaWN0KCkKICAgICAgICAgc2VsZi5fZGVmYXVsdHMgPSBzZWxmLl9kaWN0KCkKKyAgICAgICAgc2VsZi5fY29udmVydGVycyA9IENvbnZlcnRlck1hcHBpbmcoc2VsZikKICAgICAgICAgc2VsZi5fcHJveGllcyA9IHNlbGYuX2RpY3QoKQogICAgICAgICBzZWxmLl9wcm94aWVzW2RlZmF1bHRfc2VjdGlvbl0gPSBTZWN0aW9uUHJveHkoc2VsZiwgZGVmYXVsdF9zZWN0aW9uKQogICAgICAgICBpZiBkZWZhdWx0czoKQEAgLTYxMiw2ICs2MzUsOCBAQAogICAgICAgICAgICAgc2VsZi5faW50ZXJwb2xhdGlvbiA9IHNlbGYuX0RFRkFVTFRfSU5URVJQT0xBVElPTgogICAgICAgICBpZiBzZWxmLl9pbnRlcnBvbGF0aW9uIGlzIE5vbmU6CiAgICAgICAgICAgICBzZWxmLl9pbnRlcnBvbGF0aW9uID0gSW50ZXJwb2xhdGlvbigpCisgICAgICAgIGlmIGNvbnZlcnRlcnMgaXMgbm90IF9VTlNFVDoKKyAgICAgICAgICAgIHNlbGYuX2NvbnZlcnRlcnMudXBkYXRlKGNvbnZlcnRlcnMpCiAKICAgICBkZWYgZGVmYXVsdHMoc2VsZik6CiAgICAgICAgIHJldHVybiBzZWxmLl9kZWZhdWx0cwpAQCAtNjQ3LDcgKzY3Miw3IEBACiAgICAgICAgIHRyeToKICAgICAgICAgICAgIG9wdHMgPSBzZWxmLl9zZWN0aW9uc1tzZWN0aW9uXS5jb3B5KCkKICAgICAgICAgZXhjZXB0IEtleUVycm9yOgotICAgICAgICAgICAgcmFpc2UgTm9TZWN0aW9uRXJyb3Ioc2VjdGlvbikKKyAgICAgICAgICAgIHJhaXNlIE5vU2VjdGlvbkVycm9yKHNlY3Rpb24pIGZyb20gTm9uZQogICAgICAgICBvcHRzLnVwZGF0ZShzZWxmLl9kZWZhdWx0cykKICAgICAgICAgcmV0dXJuIGxpc3Qob3B0cy5rZXlzKCkpCiAKQEAgLTc3NSwzNiArODAwLDMxIEBACiAgICAgZGVmIF9nZXQoc2VsZiwgc2VjdGlvbiwgY29udiwgb3B0aW9uLCAqKmt3YXJncyk6CiAgICAgICAgIHJldHVybiBjb252KHNlbGYuZ2V0KHNlY3Rpb24sIG9wdGlvbiwgKiprd2FyZ3MpKQogCi0gICAgZGVmIGdldGludChzZWxmLCBzZWN0aW9uLCBvcHRpb24sICosIHJhdz1GYWxzZSwgdmFycz1Ob25lLAotICAgICAgICAgICAgICAgZmFsbGJhY2s9X1VOU0VUKToKKyAgICBkZWYgX2dldF9jb252KHNlbGYsIHNlY3Rpb24sIG9wdGlvbiwgY29udiwgKiwgcmF3PUZhbHNlLCB2YXJzPU5vbmUsCisgICAgICAgICAgICAgICAgICBmYWxsYmFjaz1fVU5TRVQsICoqa3dhcmdzKToKICAgICAgICAgdHJ5OgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2dldChzZWN0aW9uLCBpbnQsIG9wdGlvbiwgcmF3PXJhdywgdmFycz12YXJzKQorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2dldChzZWN0aW9uLCBjb252LCBvcHRpb24sIHJhdz1yYXcsIHZhcnM9dmFycywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiprd2FyZ3MpCiAgICAgICAgIGV4Y2VwdCAoTm9TZWN0aW9uRXJyb3IsIE5vT3B0aW9uRXJyb3IpOgogICAgICAgICAgICAgaWYgZmFsbGJhY2sgaXMgX1VOU0VUOgogICAgICAgICAgICAgICAgIHJhaXNlCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHJldHVybiBmYWxsYmFjaworICAgICAgICAgICAgcmV0dXJuIGZhbGxiYWNrCisKKyAgICAjIGdldGludCwgZ2V0ZmxvYXQgYW5kIGdldGJvb2xlYW4gcHJvdmlkZWQgZGlyZWN0bHkgZm9yIGJhY2t3YXJkcyBjb21wYXQKKyAgICBkZWYgZ2V0aW50KHNlbGYsIHNlY3Rpb24sIG9wdGlvbiwgKiwgcmF3PUZhbHNlLCB2YXJzPU5vbmUsCisgICAgICAgICAgICAgICBmYWxsYmFjaz1fVU5TRVQsICoqa3dhcmdzKToKKyAgICAgICAgcmV0dXJuIHNlbGYuX2dldF9jb252KHNlY3Rpb24sIG9wdGlvbiwgaW50LCByYXc9cmF3LCB2YXJzPXZhcnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxsYmFjaz1mYWxsYmFjaywgKiprd2FyZ3MpCiAKICAgICBkZWYgZ2V0ZmxvYXQoc2VsZiwgc2VjdGlvbiwgb3B0aW9uLCAqLCByYXc9RmFsc2UsIHZhcnM9Tm9uZSwKLSAgICAgICAgICAgICAgICAgZmFsbGJhY2s9X1VOU0VUKToKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2dldChzZWN0aW9uLCBmbG9hdCwgb3B0aW9uLCByYXc9cmF3LCB2YXJzPXZhcnMpCi0gICAgICAgIGV4Y2VwdCAoTm9TZWN0aW9uRXJyb3IsIE5vT3B0aW9uRXJyb3IpOgotICAgICAgICAgICAgaWYgZmFsbGJhY2sgaXMgX1VOU0VUOgotICAgICAgICAgICAgICAgIHJhaXNlCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHJldHVybiBmYWxsYmFjaworICAgICAgICAgICAgICAgICBmYWxsYmFjaz1fVU5TRVQsICoqa3dhcmdzKToKKyAgICAgICAgcmV0dXJuIHNlbGYuX2dldF9jb252KHNlY3Rpb24sIG9wdGlvbiwgZmxvYXQsIHJhdz1yYXcsIHZhcnM9dmFycywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbGxiYWNrPWZhbGxiYWNrLCAqKmt3YXJncykKIAogICAgIGRlZiBnZXRib29sZWFuKHNlbGYsIHNlY3Rpb24sIG9wdGlvbiwgKiwgcmF3PUZhbHNlLCB2YXJzPU5vbmUsCi0gICAgICAgICAgICAgICAgICAgZmFsbGJhY2s9X1VOU0VUKToKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2dldChzZWN0aW9uLCBzZWxmLl9jb252ZXJ0X3RvX2Jvb2xlYW4sIG9wdGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmF3PXJhdywgdmFycz12YXJzKQotICAgICAgICBleGNlcHQgKE5vU2VjdGlvbkVycm9yLCBOb09wdGlvbkVycm9yKToKLSAgICAgICAgICAgIGlmIGZhbGxiYWNrIGlzIF9VTlNFVDoKLSAgICAgICAgICAgICAgICByYWlzZQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsbGJhY2sKKyAgICAgICAgICAgICAgICAgICBmYWxsYmFjaz1fVU5TRVQsICoqa3dhcmdzKToKKyAgICAgICAgcmV0dXJuIHNlbGYuX2dldF9jb252KHNlY3Rpb24sIG9wdGlvbiwgc2VsZi5fY29udmVydF90b19ib29sZWFuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmF3PXJhdywgdmFycz12YXJzLCBmYWxsYmFjaz1mYWxsYmFjaywgKiprd2FyZ3MpCiAKICAgICBkZWYgaXRlbXMoc2VsZiwgc2VjdGlvbj1fVU5TRVQsIHJhdz1GYWxzZSwgdmFycz1Ob25lKToKICAgICAgICAgIiIiUmV0dXJuIGEgbGlzdCBvZiAobmFtZSwgdmFsdWUpIHR1cGxlcyBmb3IgZWFjaCBvcHRpb24gaW4gYSBzZWN0aW9uLgpAQCAtODc2LDcgKzg5Niw3IEBACiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgc2VjdGRpY3QgPSBzZWxmLl9zZWN0aW9uc1tzZWN0aW9uXQogICAgICAgICAgICAgZXhjZXB0IEtleUVycm9yOgotICAgICAgICAgICAgICAgIHJhaXNlIE5vU2VjdGlvbkVycm9yKHNlY3Rpb24pCisgICAgICAgICAgICAgICAgcmFpc2UgTm9TZWN0aW9uRXJyb3Ioc2VjdGlvbikgZnJvbSBOb25lCiAgICAgICAgIHNlY3RkaWN0W3NlbGYub3B0aW9ueGZvcm0ob3B0aW9uKV0gPSB2YWx1ZQogCiAgICAgZGVmIHdyaXRlKHNlbGYsIGZwLCBzcGFjZV9hcm91bmRfZGVsaW1pdGVycz1UcnVlKToKQEAgLTkxNyw3ICs5MzcsNyBAQAogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIHNlY3RkaWN0ID0gc2VsZi5fc2VjdGlvbnNbc2VjdGlvbl0KICAgICAgICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKLSAgICAgICAgICAgICAgICByYWlzZSBOb1NlY3Rpb25FcnJvcihzZWN0aW9uKQorICAgICAgICAgICAgICAgIHJhaXNlIE5vU2VjdGlvbkVycm9yKHNlY3Rpb24pIGZyb20gTm9uZQogICAgICAgICBvcHRpb24gPSBzZWxmLm9wdGlvbnhmb3JtKG9wdGlvbikKICAgICAgICAgZXhpc3RlZCA9IG9wdGlvbiBpbiBzZWN0ZGljdAogICAgICAgICBpZiBleGlzdGVkOgpAQCAtMTE1NCw2ICsxMTc0LDEwIEBACiAgICAgICAgICAgICBpZiBub3QgaXNpbnN0YW5jZSh2YWx1ZSwgc3RyKToKICAgICAgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoIm9wdGlvbiB2YWx1ZXMgbXVzdCBiZSBzdHJpbmdzIikKIAorICAgIEBwcm9wZXJ0eQorICAgIGRlZiBjb252ZXJ0ZXJzKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5fY29udmVydGVycworCiAKIGNsYXNzIENvbmZpZ1BhcnNlcihSYXdDb25maWdQYXJzZXIpOgogICAgICIiIkNvbmZpZ1BhcnNlciBpbXBsZW1lbnRpbmcgaW50ZXJwb2xhdGlvbi4iIiIKQEAgLTExOTQsNiArMTIxOCwxMCBAQAogICAgICAgICAiIiJDcmVhdGVzIGEgdmlldyBvbiBhIHNlY3Rpb24gb2YgdGhlIHNwZWNpZmllZCBgbmFtZWAgaW4gYHBhcnNlcmAuIiIiCiAgICAgICAgIHNlbGYuX3BhcnNlciA9IHBhcnNlcgogICAgICAgICBzZWxmLl9uYW1lID0gbmFtZQorICAgICAgICBmb3IgY29udiBpbiBwYXJzZXIuY29udmVydGVyczoKKyAgICAgICAgICAgIGtleSA9ICdnZXQnICsgY29udgorICAgICAgICAgICAgZ2V0dGVyID0gZnVuY3Rvb2xzLnBhcnRpYWwoc2VsZi5nZXQsIF9pbXBsPWdldGF0dHIocGFyc2VyLCBrZXkpKQorICAgICAgICAgICAgc2V0YXR0cihzZWxmLCBrZXksIGdldHRlcikKIAogICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKICAgICAgICAgcmV0dXJuICc8U2VjdGlvbjoge30+Jy5mb3JtYXQoc2VsZi5fbmFtZSkKQEAgLTEyMjcsMjIgKzEyNTUsNiBAQAogICAgICAgICBlbHNlOgogICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3BhcnNlci5kZWZhdWx0cygpCiAKLSAgICBkZWYgZ2V0KHNlbGYsIG9wdGlvbiwgZmFsbGJhY2s9Tm9uZSwgKiwgcmF3PUZhbHNlLCB2YXJzPU5vbmUpOgotICAgICAgICByZXR1cm4gc2VsZi5fcGFyc2VyLmdldChzZWxmLl9uYW1lLCBvcHRpb24sIHJhdz1yYXcsIHZhcnM9dmFycywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsbGJhY2s9ZmFsbGJhY2spCi0KLSAgICBkZWYgZ2V0aW50KHNlbGYsIG9wdGlvbiwgZmFsbGJhY2s9Tm9uZSwgKiwgcmF3PUZhbHNlLCB2YXJzPU5vbmUpOgotICAgICAgICByZXR1cm4gc2VsZi5fcGFyc2VyLmdldGludChzZWxmLl9uYW1lLCBvcHRpb24sIHJhdz1yYXcsIHZhcnM9dmFycywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsbGJhY2s9ZmFsbGJhY2spCi0KLSAgICBkZWYgZ2V0ZmxvYXQoc2VsZiwgb3B0aW9uLCBmYWxsYmFjaz1Ob25lLCAqLCByYXc9RmFsc2UsIHZhcnM9Tm9uZSk6Ci0gICAgICAgIHJldHVybiBzZWxmLl9wYXJzZXIuZ2V0ZmxvYXQoc2VsZi5fbmFtZSwgb3B0aW9uLCByYXc9cmF3LCB2YXJzPXZhcnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsbGJhY2s9ZmFsbGJhY2spCi0KLSAgICBkZWYgZ2V0Ym9vbGVhbihzZWxmLCBvcHRpb24sIGZhbGxiYWNrPU5vbmUsICosIHJhdz1GYWxzZSwgdmFycz1Ob25lKToKLSAgICAgICAgcmV0dXJuIHNlbGYuX3BhcnNlci5nZXRib29sZWFuKHNlbGYuX25hbWUsIG9wdGlvbiwgcmF3PXJhdywgdmFycz12YXJzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsbGJhY2s9ZmFsbGJhY2spCi0KICAgICBAcHJvcGVydHkKICAgICBkZWYgcGFyc2VyKHNlbGYpOgogICAgICAgICAjIFRoZSBwYXJzZXIgb2JqZWN0IG9mIHRoZSBwcm94eSBpcyByZWFkLW9ubHkuCkBAIC0xMjUyLDMgKzEyNjQsNzcgQEAKICAgICBkZWYgbmFtZShzZWxmKToKICAgICAgICAgIyBUaGUgbmFtZSBvZiB0aGUgc2VjdGlvbiBvbiBhIHByb3h5IGlzIHJlYWQtb25seS4KICAgICAgICAgcmV0dXJuIHNlbGYuX25hbWUKKworICAgIGRlZiBnZXQoc2VsZiwgb3B0aW9uLCBmYWxsYmFjaz1Ob25lLCAqLCByYXc9RmFsc2UsIHZhcnM9Tm9uZSwKKyAgICAgICAgICAgIF9pbXBsPU5vbmUsICoqa3dhcmdzKToKKyAgICAgICAgIiIiR2V0IGFuIG9wdGlvbiB2YWx1ZS4KKworICAgICAgICBVbmxlc3MgYGZhbGxiYWNrYCBpcyBwcm92aWRlZCwgYE5vbmVgIHdpbGwgYmUgcmV0dXJuZWQgaWYgdGhlIG9wdGlvbgorICAgICAgICBpcyBub3QgZm91bmQuCisKKyAgICAgICAgIiIiCisgICAgICAgICMgSWYgYF9pbXBsYCBpcyBwcm92aWRlZCwgaXQgc2hvdWxkIGJlIGEgZ2V0dGVyIG1ldGhvZCBvbiB0aGUgcGFyc2VyCisgICAgICAgICMgb2JqZWN0IHRoYXQgcHJvdmlkZXMgdGhlIGRlc2lyZWQgdHlwZSBjb252ZXJzaW9uLgorICAgICAgICBpZiBub3QgX2ltcGw6CisgICAgICAgICAgICBfaW1wbCA9IHNlbGYuX3BhcnNlci5nZXQKKyAgICAgICAgcmV0dXJuIF9pbXBsKHNlbGYuX25hbWUsIG9wdGlvbiwgcmF3PXJhdywgdmFycz12YXJzLAorICAgICAgICAgICAgICAgICAgICAgZmFsbGJhY2s9ZmFsbGJhY2ssICoqa3dhcmdzKQorCisKK2NsYXNzIENvbnZlcnRlck1hcHBpbmcoTXV0YWJsZU1hcHBpbmcpOgorICAgICIiIkVuYWJsZXMgcmV1c2Ugb2YgZ2V0KigpIG1ldGhvZHMgYmV0d2VlbiB0aGUgcGFyc2VyIGFuZCBzZWN0aW9uIHByb3hpZXMuCisKKyAgICBJZiBhIHBhcnNlciBjbGFzcyBpbXBsZW1lbnRzIGEgZ2V0dGVyIGRpcmVjdGx5LCB0aGUgdmFsdWUgZm9yIHRoZSBnaXZlbgorICAgIGtleSB3aWxsIGJlIGBgTm9uZWBgLiBUaGUgcHJlc2VuY2Ugb2YgdGhlIGNvbnZlcnRlciBuYW1lIGhlcmUgZW5hYmxlcworICAgIHNlY3Rpb24gcHJveGllcyB0byBmaW5kIGFuZCB1c2UgdGhlIGltcGxlbWVudGF0aW9uIG9uIHRoZSBwYXJzZXIgY2xhc3MuCisgICAgIiIiCisKKyAgICBHRVRURVJDUkUgPSByZS5jb21waWxlKHIiXmdldCg/UDxuYW1lPi4rKSQiKQorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBhcnNlcik6CisgICAgICAgIHNlbGYuX3BhcnNlciA9IHBhcnNlcgorICAgICAgICBzZWxmLl9kYXRhID0ge30KKyAgICAgICAgZm9yIGdldHRlciBpbiBkaXIoc2VsZi5fcGFyc2VyKToKKyAgICAgICAgICAgIG0gPSBzZWxmLkdFVFRFUkNSRS5tYXRjaChnZXR0ZXIpCisgICAgICAgICAgICBpZiBub3QgbSBvciBub3QgY2FsbGFibGUoZ2V0YXR0cihzZWxmLl9wYXJzZXIsIGdldHRlcikpOgorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICBzZWxmLl9kYXRhW20uZ3JvdXAoJ25hbWUnKV0gPSBOb25lICAgIyBTZWUgY2xhc3MgZG9jc3RyaW5nLgorCisgICAgZGVmIF9fZ2V0aXRlbV9fKHNlbGYsIGtleSk6CisgICAgICAgIHJldHVybiBzZWxmLl9kYXRhW2tleV0KKworICAgIGRlZiBfX3NldGl0ZW1fXyhzZWxmLCBrZXksIHZhbHVlKToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgayA9ICdnZXQnICsga2V5CisgICAgICAgIGV4Y2VwdCBUeXBlRXJyb3I6CisgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCdJbmNvbXBhdGlibGUga2V5OiB7fSAodHlwZToge30pJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJy5mb3JtYXQoa2V5LCB0eXBlKGtleSkpKQorICAgICAgICBpZiBrID09ICdnZXQnOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignSW5jb21wYXRpYmxlIGtleTogY2Fubm90IHVzZSAiIiBhcyBhIG5hbWUnKQorICAgICAgICBzZWxmLl9kYXRhW2tleV0gPSB2YWx1ZQorICAgICAgICBmdW5jID0gZnVuY3Rvb2xzLnBhcnRpYWwoc2VsZi5fcGFyc2VyLl9nZXRfY29udiwgY29udj12YWx1ZSkKKyAgICAgICAgZnVuYy5jb252ZXJ0ZXIgPSB2YWx1ZQorICAgICAgICBzZXRhdHRyKHNlbGYuX3BhcnNlciwgaywgZnVuYykKKyAgICAgICAgZm9yIHByb3h5IGluIHNlbGYuX3BhcnNlci52YWx1ZXMoKToKKyAgICAgICAgICAgIGdldHRlciA9IGZ1bmN0b29scy5wYXJ0aWFsKHByb3h5LmdldCwgX2ltcGw9ZnVuYykKKyAgICAgICAgICAgIHNldGF0dHIocHJveHksIGssIGdldHRlcikKKworICAgIGRlZiBfX2RlbGl0ZW1fXyhzZWxmLCBrZXkpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICBrID0gJ2dldCcgKyAoa2V5IG9yIE5vbmUpCisgICAgICAgIGV4Y2VwdCBUeXBlRXJyb3I6CisgICAgICAgICAgICByYWlzZSBLZXlFcnJvcihrZXkpCisgICAgICAgIGRlbCBzZWxmLl9kYXRhW2tleV0KKyAgICAgICAgZm9yIGluc3QgaW4gaXRlcnRvb2xzLmNoYWluKChzZWxmLl9wYXJzZXIsKSwgc2VsZi5fcGFyc2VyLnZhbHVlcygpKToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBkZWxhdHRyKGluc3QsIGspCisgICAgICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisgICAgICAgICAgICAgICAgIyBkb24ndCByYWlzZSBzaW5jZSB0aGUgZW50cnkgd2FzIHByZXNlbnQgaW4gX2RhdGEsIHNpbGVudGx5CisgICAgICAgICAgICAgICAgIyBjbGVhbiB1cAorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisKKyAgICBkZWYgX19pdGVyX18oc2VsZik6CisgICAgICAgIHJldHVybiBpdGVyKHNlbGYuX2RhdGEpCisKKyAgICBkZWYgX19sZW5fXyhzZWxmKToKKyAgICAgICAgcmV0dXJuIGxlbihzZWxmLl9kYXRhKQpkaWZmIC0tZ2l0IGEvTGliL2NvbnRleHRsaWIucHkgYi9MaWIvY29udGV4dGxpYi5weQppbmRleCA4MmVlOTU1Li4yZmJjOTBjIDEwMDY0NAotLS0gYS9MaWIvY29udGV4dGxpYi5weQorKysgYi9MaWIvY29udGV4dGxpYi5weQpAQCAtNSw3ICs1LDcgQEAKIGZyb20gZnVuY3Rvb2xzIGltcG9ydCB3cmFwcwogCiBfX2FsbF9fID0gWyJjb250ZXh0bWFuYWdlciIsICJjbG9zaW5nIiwgIkNvbnRleHREZWNvcmF0b3IiLCAiRXhpdFN0YWNrIiwKLSAgICAgICAgICAgInJlZGlyZWN0X3N0ZG91dCIsICJzdXBwcmVzcyJdCisgICAgICAgICAgICJyZWRpcmVjdF9zdGRvdXQiLCAicmVkaXJlY3Rfc3RkZXJyIiwgInN1cHByZXNzIl0KIAogCiBjbGFzcyBDb250ZXh0RGVjb3JhdG9yKG9iamVjdCk6CkBAIC0xNTEsOCArMTUxLDI3IEBACiAgICAgZGVmIF9fZXhpdF9fKHNlbGYsICpleGNfaW5mbyk6CiAgICAgICAgIHNlbGYudGhpbmcuY2xvc2UoKQogCi1jbGFzcyByZWRpcmVjdF9zdGRvdXQ6Ci0gICAgIiIiQ29udGV4dCBtYW5hZ2VyIGZvciB0ZW1wb3JhcmlseSByZWRpcmVjdGluZyBzdGRvdXQgdG8gYW5vdGhlciBmaWxlCisKK2NsYXNzIF9SZWRpcmVjdFN0cmVhbToKKworICAgIF9zdHJlYW0gPSBOb25lCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbmV3X3RhcmdldCk6CisgICAgICAgIHNlbGYuX25ld190YXJnZXQgPSBuZXdfdGFyZ2V0CisgICAgICAgICMgV2UgdXNlIGEgbGlzdCBvZiBvbGQgdGFyZ2V0cyB0byBtYWtlIHRoaXMgQ00gcmUtZW50cmFudAorICAgICAgICBzZWxmLl9vbGRfdGFyZ2V0cyA9IFtdCisKKyAgICBkZWYgX19lbnRlcl9fKHNlbGYpOgorICAgICAgICBzZWxmLl9vbGRfdGFyZ2V0cy5hcHBlbmQoZ2V0YXR0cihzeXMsIHNlbGYuX3N0cmVhbSkpCisgICAgICAgIHNldGF0dHIoc3lzLCBzZWxmLl9zdHJlYW0sIHNlbGYuX25ld190YXJnZXQpCisgICAgICAgIHJldHVybiBzZWxmLl9uZXdfdGFyZ2V0CisKKyAgICBkZWYgX19leGl0X18oc2VsZiwgZXhjdHlwZSwgZXhjaW5zdCwgZXhjdGIpOgorICAgICAgICBzZXRhdHRyKHN5cywgc2VsZi5fc3RyZWFtLCBzZWxmLl9vbGRfdGFyZ2V0cy5wb3AoKSkKKworCitjbGFzcyByZWRpcmVjdF9zdGRvdXQoX1JlZGlyZWN0U3RyZWFtKToKKyAgICAiIiJDb250ZXh0IG1hbmFnZXIgZm9yIHRlbXBvcmFyaWx5IHJlZGlyZWN0aW5nIHN0ZG91dCB0byBhbm90aGVyIGZpbGUuCiAKICAgICAgICAgIyBIb3cgdG8gc2VuZCBoZWxwKCkgdG8gc3RkZXJyCiAgICAgICAgIHdpdGggcmVkaXJlY3Rfc3Rkb3V0KHN5cy5zdGRlcnIpOgpAQCAtMTY0LDE4ICsxODMsMTMgQEAKICAgICAgICAgICAgICAgICBoZWxwKHBvdykKICAgICAiIiIKIAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBuZXdfdGFyZ2V0KToKLSAgICAgICAgc2VsZi5fbmV3X3RhcmdldCA9IG5ld190YXJnZXQKLSAgICAgICAgIyBXZSB1c2UgYSBsaXN0IG9mIG9sZCB0YXJnZXRzIHRvIG1ha2UgdGhpcyBDTSByZS1lbnRyYW50Ci0gICAgICAgIHNlbGYuX29sZF90YXJnZXRzID0gW10KKyAgICBfc3RyZWFtID0gInN0ZG91dCIKIAotICAgIGRlZiBfX2VudGVyX18oc2VsZik6Ci0gICAgICAgIHNlbGYuX29sZF90YXJnZXRzLmFwcGVuZChzeXMuc3Rkb3V0KQotICAgICAgICBzeXMuc3Rkb3V0ID0gc2VsZi5fbmV3X3RhcmdldAotICAgICAgICByZXR1cm4gc2VsZi5fbmV3X3RhcmdldAogCi0gICAgZGVmIF9fZXhpdF9fKHNlbGYsIGV4Y3R5cGUsIGV4Y2luc3QsIGV4Y3RiKToKLSAgICAgICAgc3lzLnN0ZG91dCA9IHNlbGYuX29sZF90YXJnZXRzLnBvcCgpCitjbGFzcyByZWRpcmVjdF9zdGRlcnIoX1JlZGlyZWN0U3RyZWFtKToKKyAgICAiIiJDb250ZXh0IG1hbmFnZXIgZm9yIHRlbXBvcmFyaWx5IHJlZGlyZWN0aW5nIHN0ZGVyciB0byBhbm90aGVyIGZpbGUuIiIiCisKKyAgICBfc3RyZWFtID0gInN0ZGVyciIKIAogCiBjbGFzcyBzdXBwcmVzczoKZGlmZiAtLWdpdCBhL0xpYi9jb3B5LnB5IGIvTGliL2NvcHkucHkKaW5kZXggYmI4ODQwZS4uMzgzNjA5YiAxMDA2NDQKLS0tIGEvTGliL2NvcHkucHkKKysrIGIvTGliL2NvcHkucHkKQEAgLTIyMSwxNyArMjIxLDE1IEBACiBkW2xpc3RdID0gX2RlZXBjb3B5X2xpc3QKIAogZGVmIF9kZWVwY29weV90dXBsZSh4LCBtZW1vKToKLSAgICB5ID0gW10KLSAgICBmb3IgYSBpbiB4OgotICAgICAgICB5LmFwcGVuZChkZWVwY29weShhLCBtZW1vKSkKKyAgICB5ID0gW2RlZXBjb3B5KGEsIG1lbW8pIGZvciBhIGluIHhdCiAgICAgIyBXZSdyZSBub3QgZ29pbmcgdG8gcHV0IHRoZSB0dXBsZSBpbiB0aGUgbWVtbywgYnV0IGl0J3Mgc3RpbGwgaW1wb3J0YW50IHdlCiAgICAgIyBjaGVjayBmb3IgaXQsIGluIGNhc2UgdGhlIHR1cGxlIGNvbnRhaW5zIHJlY3Vyc2l2ZSBtdXRhYmxlIHN0cnVjdHVyZXMuCiAgICAgdHJ5OgogICAgICAgICByZXR1cm4gbWVtb1tpZCh4KV0KICAgICBleGNlcHQgS2V5RXJyb3I6CiAgICAgICAgIHBhc3MKLSAgICBmb3IgaSBpbiByYW5nZShsZW4oeCkpOgotICAgICAgICBpZiB4W2ldIGlzIG5vdCB5W2ldOgorICAgIGZvciBrLCBqIGluIHppcCh4LCB5KToKKyAgICAgICAgaWYgayBpcyBub3QgajoKICAgICAgICAgICAgIHkgPSB0dXBsZSh5KQogICAgICAgICAgICAgYnJlYWsKICAgICBlbHNlOgpkaWZmIC0tZ2l0IGEvTGliL2N0eXBlcy9fX2luaXRfXy5weSBiL0xpYi9jdHlwZXMvX19pbml0X18ucHkKaW5kZXggNWM4MDNmZi4uMDU1Mjk0YyAxMDA2NDQKLS0tIGEvTGliL2N0eXBlcy9fX2luaXRfXy5weQorKysgYi9MaWIvY3R5cGVzL19faW5pdF9fLnB5CkBAIC0zNTMsNyArMzUzLDcgQEAKICAgICAgICAgICAgIHNlbGYuX2hhbmRsZSA9IGhhbmRsZQogCiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gIjwlcyAnJXMnLCBoYW5kbGUgJXggYXQgJXg+IiAlIFwKKyAgICAgICAgcmV0dXJuICI8JXMgJyVzJywgaGFuZGxlICV4IGF0ICUjeD4iICUgXAogICAgICAgICAgICAgICAgKHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLCBzZWxmLl9uYW1lLAogICAgICAgICAgICAgICAgIChzZWxmLl9oYW5kbGUgJiAoX3N5cy5tYXhzaXplKjIgKyAxKSksCiAgICAgICAgICAgICAgICAgaWQoc2VsZikgJiAoX3N5cy5tYXhzaXplKjIgKyAxKSkKZGlmZiAtLWdpdCBhL0xpYi9jdHlwZXMvX2VuZGlhbi5weSBiL0xpYi9jdHlwZXMvX2VuZGlhbi5weQppbmRleCBkYWU2NWZjLi4zNzQ0NGJkIDEwMDY0NAotLS0gYS9MaWIvY3R5cGVzL19lbmRpYW4ucHkKKysrIGIvTGliL2N0eXBlcy9fZW5kaWFuLnB5CkBAIC00NSw2ICs0NSw3IEBACiAKICAgICBjbGFzcyBCaWdFbmRpYW5TdHJ1Y3R1cmUoU3RydWN0dXJlLCBtZXRhY2xhc3M9X3N3YXBwZWRfbWV0YSk6CiAgICAgICAgICIiIlN0cnVjdHVyZSB3aXRoIGJpZyBlbmRpYW4gYnl0ZSBvcmRlciIiIgorICAgICAgICBfX3Nsb3RzX18gPSAoKQogICAgICAgICBfc3dhcHBlZGJ5dGVzXyA9IE5vbmUKIAogZWxpZiBzeXMuYnl0ZW9yZGVyID09ICJiaWciOgpAQCAtNTMsNiArNTQsNyBAQAogICAgIEJpZ0VuZGlhblN0cnVjdHVyZSA9IFN0cnVjdHVyZQogICAgIGNsYXNzIExpdHRsZUVuZGlhblN0cnVjdHVyZShTdHJ1Y3R1cmUsIG1ldGFjbGFzcz1fc3dhcHBlZF9tZXRhKToKICAgICAgICAgIiIiU3RydWN0dXJlIHdpdGggbGl0dGxlIGVuZGlhbiBieXRlIG9yZGVyIiIiCisgICAgICAgIF9fc2xvdHNfXyA9ICgpCiAgICAgICAgIF9zd2FwcGVkYnl0ZXNfID0gTm9uZQogCiBlbHNlOgpkaWZmIC0tZ2l0IGEvTGliL2N0eXBlcy90ZXN0L3Rlc3RfYnl0ZXN3YXAucHkgYi9MaWIvY3R5cGVzL3Rlc3QvdGVzdF9ieXRlc3dhcC5weQppbmRleCA0MjdiYjhiLi4wMWM5N2U4IDEwMDY0NAotLS0gYS9MaWIvY3R5cGVzL3Rlc3QvdGVzdF9ieXRlc3dhcC5weQorKysgYi9MaWIvY3R5cGVzL3Rlc3QvdGVzdF9ieXRlc3dhcC5weQpAQCAtMjIsNiArMjIsMjYgQEAKICAgICAgICAgICAgIHNldGF0dHIoYml0cywgImklcyIgJSBpLCAxKQogICAgICAgICAgICAgZHVtcChiaXRzKQogCisgICAgZGVmIHRlc3Rfc2xvdHMoc2VsZik6CisgICAgICAgIGNsYXNzIEJpZ1BvaW50KEJpZ0VuZGlhblN0cnVjdHVyZSk6CisgICAgICAgICAgICBfX3Nsb3RzX18gPSAoKQorICAgICAgICAgICAgX2ZpZWxkc18gPSBbKCJ4IiwgY19pbnQpLCAoInkiLCBjX2ludCldCisKKyAgICAgICAgY2xhc3MgTG93UG9pbnQoTGl0dGxlRW5kaWFuU3RydWN0dXJlKToKKyAgICAgICAgICAgIF9fc2xvdHNfXyA9ICgpCisgICAgICAgICAgICBfZmllbGRzXyA9IFsoIngiLCBjX2ludCksICgieSIsIGNfaW50KV0KKworICAgICAgICBiaWcgPSBCaWdQb2ludCgpCisgICAgICAgIGxpdHRsZSA9IExvd1BvaW50KCkKKyAgICAgICAgYmlnLnggPSA0CisgICAgICAgIGJpZy55ID0gMgorICAgICAgICBsaXR0bGUueCA9IDIKKyAgICAgICAgbGl0dGxlLnkgPSA0CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IpOgorICAgICAgICAgICAgYmlnLnogPSA0MgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEF0dHJpYnV0ZUVycm9yKToKKyAgICAgICAgICAgIGxpdHRsZS56ID0gMjQKKwogICAgIGRlZiB0ZXN0X2VuZGlhbl9zaG9ydChzZWxmKToKICAgICAgICAgaWYgc3lzLmJ5dGVvcmRlciA9PSAibGl0dGxlIjoKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMoY19zaG9ydC5fX2N0eXBlX2xlX18sIGNfc2hvcnQpCmRpZmYgLS1naXQgYS9MaWIvY3R5cGVzL3Rlc3QvdGVzdF9wb2ludGVycy5weSBiL0xpYi9jdHlwZXMvdGVzdC90ZXN0X3BvaW50ZXJzLnB5CmluZGV4IDRjZDNhN2EuLjc4ZTMzNTcgMTAwNjQ0Ci0tLSBhL0xpYi9jdHlwZXMvdGVzdC90ZXN0X3BvaW50ZXJzLnB5CisrKyBiL0xpYi9jdHlwZXMvdGVzdC90ZXN0X3BvaW50ZXJzLnB5CkBAIC0yNCw3ICsyNCwxMCBAQAogICAgIGRlZiB0ZXN0X3Bhc3NfcG9pbnRlcnMoc2VsZik6CiAgICAgICAgIGRsbCA9IENETEwoX2N0eXBlc190ZXN0Ll9fZmlsZV9fKQogICAgICAgICBmdW5jID0gZGxsLl90ZXN0ZnVuY19wX3AKLSAgICAgICAgZnVuYy5yZXN0eXBlID0gY19sb25nCisgICAgICAgIGlmIHNpemVvZihjX2xvbmdsb25nKSA9PSBzaXplb2YoY192b2lkX3ApOgorICAgICAgICAgICAgZnVuYy5yZXN0eXBlID0gY19sb25nbG9uZworICAgICAgICBlbHNlOgorICAgICAgICAgICAgZnVuYy5yZXN0eXBlID0gY19sb25nCiAKICAgICAgICAgaSA9IGNfaW50KDEyMzQ1Njc4KQogIyMgICAgICAgIGZ1bmMuYXJndHlwZXMgPSAoUE9JTlRFUihjX2ludCksKQpkaWZmIC0tZ2l0IGEvTGliL2N0eXBlcy90ZXN0L3Rlc3RfcHJvdG90eXBlcy5weSBiL0xpYi9jdHlwZXMvdGVzdC90ZXN0X3Byb3RvdHlwZXMucHkKaW5kZXggODE4YzExMS4uY2QwYzY0OSAxMDA2NDQKLS0tIGEvTGliL2N0eXBlcy90ZXN0L3Rlc3RfcHJvdG90eXBlcy5weQorKysgYi9MaWIvY3R5cGVzL3Rlc3QvdGVzdF9wcm90b3R5cGVzLnB5CkBAIC02OSw3ICs2OSwxMCBAQAogCiAgICAgZGVmIHRlc3RfaW50X3BvaW50ZXJfYXJnKHNlbGYpOgogICAgICAgICBmdW5jID0gdGVzdGRsbC5fdGVzdGZ1bmNfcF9wCi0gICAgICAgIGZ1bmMucmVzdHlwZSA9IGNfbG9uZworICAgICAgICBpZiBzaXplb2YoY19sb25nbG9uZykgPT0gc2l6ZW9mKGNfdm9pZF9wKToKKyAgICAgICAgICAgIGZ1bmMucmVzdHlwZSA9IGNfbG9uZ2xvbmcKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGZ1bmMucmVzdHlwZSA9IGNfbG9uZwogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDAsIGZ1bmMoMCkpCiAKICAgICAgICAgY2kgPSBjX2ludCgwKQpkaWZmIC0tZ2l0IGEvTGliL2N0eXBlcy91dGlsLnB5IGIvTGliL2N0eXBlcy91dGlsLnB5CmluZGV4IDU5NTExM2IuLjljMTk4OTkgMTAwNjQ0Ci0tLSBhL0xpYi9jdHlwZXMvdXRpbC5weQorKysgYi9MaWIvY3R5cGVzL3V0aWwucHkKQEAgLTE5LDYgKzE5LDggQEAKICAgICAgICAgaSA9IGkgKyBsZW4ocHJlZml4KQogICAgICAgICBzLCByZXN0ID0gc3lzLnZlcnNpb25baTpdLnNwbGl0KCIgIiwgMSkKICAgICAgICAgbWFqb3JWZXJzaW9uID0gaW50KHNbOi0yXSkgLSA2CisgICAgICAgIGlmIG1ham9yVmVyc2lvbiA+PSAxMzoKKyAgICAgICAgICAgIG1ham9yVmVyc2lvbiArPSAxCiAgICAgICAgIG1pbm9yVmVyc2lvbiA9IGludChzWzI6M10pIC8gMTAuMAogICAgICAgICAjIEkgZG9uJ3QgdGhpbmsgcGF0aHMgYXJlIGFmZmVjdGVkIGJ5IG1pbm9yIHZlcnNpb24gaW4gdmVyc2lvbiA2CiAgICAgICAgIGlmIG1ham9yVmVyc2lvbiA9PSA2OgpAQCAtMzYsOCArMzgsMTAgQEAKICAgICAgICAgICAgIHJldHVybiBOb25lCiAgICAgICAgIGlmIHZlcnNpb24gPD0gNjoKICAgICAgICAgICAgIGNsaWJuYW1lID0gJ21zdmNydCcKLSAgICAgICAgZWxzZToKKyAgICAgICAgZWxpZiB2ZXJzaW9uIDw9IDEzOgogICAgICAgICAgICAgY2xpYm5hbWUgPSAnbXN2Y3IlZCcgJSAodmVyc2lvbiAqIDEwKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgY2xpYm5hbWUgPSAnYXBwY3J0JWQnICUgKHZlcnNpb24gKiAxMCkKIAogICAgICAgICAjIElmIHB5dGhvbiB3YXMgYnVpbHQgd2l0aCBpbiBkZWJ1ZyBtb2RlCiAgICAgICAgIGltcG9ydCBpbXBvcnRsaWIubWFjaGluZXJ5CmRpZmYgLS1naXQgYS9MaWIvZGF0ZXRpbWUucHkgYi9MaWIvZGF0ZXRpbWUucHkKaW5kZXggMTc4OTcxNC4uNGFmZTlhNSAxMDA2NDQKLS0tIGEvTGliL2RhdGV0aW1lLnB5CisrKyBiL0xpYi9kYXRldGltZS5weQpAQCAtMTIsNyArMTIsNyBAQAogCiBNSU5ZRUFSID0gMQogTUFYWUVBUiA9IDk5OTkKLV9NQVhPUkRJTkFMID0gMzY1MjA1OSAjIGRhdGUubWF4LnRvb3JkaW5hbCgpCitfTUFYT1JESU5BTCA9IDM2NTIwNTkgICMgZGF0ZS5tYXgudG9vcmRpbmFsKCkKIAogIyBVdGlsaXR5IGZ1bmN0aW9ucywgYWRhcHRlZCBmcm9tIFB5dGhvbidzIERlbW8vY2xhc3Nlcy9EYXRlcy5weSwgd2hpY2gKICMgYWxzbyBhc3N1bWVzIHRoZSBjdXJyZW50IEdyZWdvcmlhbiBjYWxlbmRhciBpbmRlZmluaXRlbHkgZXh0ZW5kZWQgaW4KQEAgLTI2LDcgKzI2LDcgQEAKICMgLTEgaXMgYSBwbGFjZWhvbGRlciBmb3IgaW5kZXhpbmcgcHVycG9zZXMuCiBfREFZU19JTl9NT05USCA9IFstMSwgMzEsIDI4LCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMxLCAzMCwgMzEsIDMwLCAzMV0KIAotX0RBWVNfQkVGT1JFX01PTlRIID0gWy0xXSAjIC0xIGlzIGEgcGxhY2Vob2xkZXIgZm9yIGluZGV4aW5nIHB1cnBvc2VzLgorX0RBWVNfQkVGT1JFX01PTlRIID0gWy0xXSAgIyAtMSBpcyBhIHBsYWNlaG9sZGVyIGZvciBpbmRleGluZyBwdXJwb3Nlcy4KIGRibSA9IDAKIGZvciBkaW0gaW4gX0RBWVNfSU5fTU9OVEhbMTpdOgogICAgIF9EQVlTX0JFRk9SRV9NT05USC5hcHBlbmQoZGJtKQpAQCAtMTYyLDkgKzE2Miw5IEBACiAjIENvcnJlY3RseSBzdWJzdGl0dXRlIGZvciAleiBhbmQgJVogZXNjYXBlcyBpbiBzdHJmdGltZSBmb3JtYXRzLgogZGVmIF93cmFwX3N0cmZ0aW1lKG9iamVjdCwgZm9ybWF0LCB0aW1ldHVwbGUpOgogICAgICMgRG9uJ3QgY2FsbCB1dGNvZmZzZXQoKSBvciB0em5hbWUoKSB1bmxlc3MgYWN0dWFsbHkgbmVlZGVkLgotICAgIGZyZXBsYWNlID0gTm9uZSAjIHRoZSBzdHJpbmcgdG8gdXNlIGZvciAlZgotICAgIHpyZXBsYWNlID0gTm9uZSAjIHRoZSBzdHJpbmcgdG8gdXNlIGZvciAlegotICAgIFpyZXBsYWNlID0gTm9uZSAjIHRoZSBzdHJpbmcgdG8gdXNlIGZvciAlWgorICAgIGZyZXBsYWNlID0gTm9uZSAgIyB0aGUgc3RyaW5nIHRvIHVzZSBmb3IgJWYKKyAgICB6cmVwbGFjZSA9IE5vbmUgICMgdGhlIHN0cmluZyB0byB1c2UgZm9yICV6CisgICAgWnJlcGxhY2UgPSBOb25lICAjIHRoZSBzdHJpbmcgdG8gdXNlIGZvciAlWgogCiAgICAgIyBTY2FuIGZvcm1hdCBmb3IgJXogYW5kICVaIGVzY2FwZXMsIHJlcGxhY2luZyBhcyBuZWVkZWQuCiAgICAgbmV3Zm9ybWF0ID0gW10KQEAgLTIxNywxMSArMjE3LDYgQEAKICAgICBuZXdmb3JtYXQgPSAiIi5qb2luKG5ld2Zvcm1hdCkKICAgICByZXR1cm4gX3RpbWUuc3RyZnRpbWUobmV3Zm9ybWF0LCB0aW1ldHVwbGUpCiAKLWRlZiBfY2FsbF90emluZm9fbWV0aG9kKHR6aW5mbywgbWV0aG5hbWUsIHR6aW5mb2FyZyk6Ci0gICAgaWYgdHppbmZvIGlzIE5vbmU6Ci0gICAgICAgIHJldHVybiBOb25lCi0gICAgcmV0dXJuIGdldGF0dHIodHppbmZvLCBtZXRobmFtZSkodHppbmZvYXJnKQotCiAjIEp1c3QgcmFpc2UgVHlwZUVycm9yIGlmIHRoZSBhcmcgaXNuJ3QgTm9uZSBvciBhIHN0cmluZy4KIGRlZiBfY2hlY2tfdHpuYW1lKG5hbWUpOgogICAgIGlmIG5hbWUgaXMgbm90IE5vbmUgYW5kIG5vdCBpc2luc3RhbmNlKG5hbWUsIHN0cik6CkBAIC0yNDUsMTMgKzI0MCwzMSBAQAogICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJ0emluZm8uJXMoKSBtdXN0IHJldHVybiBhIHdob2xlIG51bWJlciAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIm9mIG1pbnV0ZXMsIGdvdCAlcyIgJSAobmFtZSwgb2Zmc2V0KSkKICAgICBpZiBub3QgLXRpbWVkZWx0YSgxKSA8IG9mZnNldCA8IHRpbWVkZWx0YSgxKToKLSAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiJXMoKT0lcywgbXVzdCBiZSBtdXN0IGJlIHN0cmljdGx5IGJldHdlZW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgIiAtdGltZWRlbHRhKGhvdXJzPTI0KSBhbmQgdGltZWRlbHRhKGhvdXJzPTI0KSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAlIChuYW1lLCBvZmZzZXQpKQorICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCIlcygpPSVzLCBtdXN0IGJlIG11c3QgYmUgc3RyaWN0bHkgYmV0d2VlbiAiCisgICAgICAgICAgICAgICAgICAgICAgICAgIi10aW1lZGVsdGEoaG91cnM9MjQpIGFuZCB0aW1lZGVsdGEoaG91cnM9MjQpIiAlCisgICAgICAgICAgICAgICAgICAgICAgICAgKG5hbWUsIG9mZnNldCkpCisKK2RlZiBfY2hlY2tfaW50X2ZpZWxkKHZhbHVlKToKKyAgICBpZiBpc2luc3RhbmNlKHZhbHVlLCBpbnQpOgorICAgICAgICByZXR1cm4gdmFsdWUKKyAgICBpZiBub3QgaXNpbnN0YW5jZSh2YWx1ZSwgZmxvYXQpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICB2YWx1ZSA9IHZhbHVlLl9faW50X18oKQorICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisgICAgICAgICAgICBwYXNzCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBpZiBpc2luc3RhbmNlKHZhbHVlLCBpbnQpOgorICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZQorICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCdfX2ludF9fIHJldHVybmVkIG5vbi1pbnQgKHR5cGUgJXMpJyAlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZSh2YWx1ZSkuX19uYW1lX18pCisgICAgICAgIHJhaXNlIFR5cGVFcnJvcignYW4gaW50ZWdlciBpcyByZXF1aXJlZCAoZ290IHR5cGUgJXMpJyAlCisgICAgICAgICAgICAgICAgICAgICAgICB0eXBlKHZhbHVlKS5fX25hbWVfXykKKyAgICByYWlzZSBUeXBlRXJyb3IoJ2ludGVnZXIgYXJndW1lbnQgZXhwZWN0ZWQsIGdvdCBmbG9hdCcpCiAKIGRlZiBfY2hlY2tfZGF0ZV9maWVsZHMoeWVhciwgbW9udGgsIGRheSk6Ci0gICAgaWYgbm90IGlzaW5zdGFuY2UoeWVhciwgaW50KToKLSAgICAgICAgcmFpc2UgVHlwZUVycm9yKCdpbnQgZXhwZWN0ZWQnKQorICAgIHllYXIgPSBfY2hlY2tfaW50X2ZpZWxkKHllYXIpCisgICAgbW9udGggPSBfY2hlY2tfaW50X2ZpZWxkKG1vbnRoKQorICAgIGRheSA9IF9jaGVja19pbnRfZmllbGQoZGF5KQogICAgIGlmIG5vdCBNSU5ZRUFSIDw9IHllYXIgPD0gTUFYWUVBUjoKICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigneWVhciBtdXN0IGJlIGluICVkLi4lZCcgJSAoTUlOWUVBUiwgTUFYWUVBUiksIHllYXIpCiAgICAgaWYgbm90IDEgPD0gbW9udGggPD0gMTI6CkBAIC0yNTksMTAgKzI3MiwxMyBAQAogICAgIGRpbSA9IF9kYXlzX2luX21vbnRoKHllYXIsIG1vbnRoKQogICAgIGlmIG5vdCAxIDw9IGRheSA8PSBkaW06CiAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ2RheSBtdXN0IGJlIGluIDEuLiVkJyAlIGRpbSwgZGF5KQorICAgIHJldHVybiB5ZWFyLCBtb250aCwgZGF5CiAKIGRlZiBfY2hlY2tfdGltZV9maWVsZHMoaG91ciwgbWludXRlLCBzZWNvbmQsIG1pY3Jvc2Vjb25kKToKLSAgICBpZiBub3QgaXNpbnN0YW5jZShob3VyLCBpbnQpOgotICAgICAgICByYWlzZSBUeXBlRXJyb3IoJ2ludCBleHBlY3RlZCcpCisgICAgaG91ciA9IF9jaGVja19pbnRfZmllbGQoaG91cikKKyAgICBtaW51dGUgPSBfY2hlY2tfaW50X2ZpZWxkKG1pbnV0ZSkKKyAgICBzZWNvbmQgPSBfY2hlY2tfaW50X2ZpZWxkKHNlY29uZCkKKyAgICBtaWNyb3NlY29uZCA9IF9jaGVja19pbnRfZmllbGQobWljcm9zZWNvbmQpCiAgICAgaWYgbm90IDAgPD0gaG91ciA8PSAyMzoKICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignaG91ciBtdXN0IGJlIGluIDAuLjIzJywgaG91cikKICAgICBpZiBub3QgMCA8PSBtaW51dGUgPD0gNTk6CkBAIC0yNzEsNiArMjg3LDcgQEAKICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignc2Vjb25kIG11c3QgYmUgaW4gMC4uNTknLCBzZWNvbmQpCiAgICAgaWYgbm90IDAgPD0gbWljcm9zZWNvbmQgPD0gOTk5OTk5OgogICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCdtaWNyb3NlY29uZCBtdXN0IGJlIGluIDAuLjk5OTk5OScsIG1pY3Jvc2Vjb25kKQorICAgIHJldHVybiBob3VyLCBtaW51dGUsIHNlY29uZCwgbWljcm9zZWNvbmQKIAogZGVmIF9jaGVja190emluZm9fYXJnKHR6KToKICAgICBpZiB0eiBpcyBub3QgTm9uZSBhbmQgbm90IGlzaW5zdGFuY2UodHosIHR6aW5mbyk6CkBAIC0yOTcsNyArMzE0LDcgQEAKICAgICBSZXByZXNlbnRhdGlvbjogKGRheXMsIHNlY29uZHMsIG1pY3Jvc2Vjb25kcykuICBXaHk/ICBCZWNhdXNlIEkKICAgICBmZWx0IGxpa2UgaXQuCiAgICAgIiIiCi0gICAgX19zbG90c19fID0gJ19kYXlzJywgJ19zZWNvbmRzJywgJ19taWNyb3NlY29uZHMnCisgICAgX19zbG90c19fID0gJ19kYXlzJywgJ19zZWNvbmRzJywgJ19taWNyb3NlY29uZHMnLCAnX2hhc2hjb2RlJwogCiAgICAgZGVmIF9fbmV3X18oY2xzLCBkYXlzPTAsIHNlY29uZHM9MCwgbWljcm9zZWNvbmRzPTAsCiAgICAgICAgICAgICAgICAgbWlsbGlzZWNvbmRzPTAsIG1pbnV0ZXM9MCwgaG91cnM9MCwgd2Vla3M9MCk6CkBAIC0zNjMsMzggKzM4MCwyNiBAQAogICAgICAgICAjIHNlY29uZHNmcmFjIGlzbid0IHJlZmVyZW5jZWQgYWdhaW4KIAogICAgICAgICBpZiBpc2luc3RhbmNlKG1pY3Jvc2Vjb25kcywgZmxvYXQpOgotICAgICAgICAgICAgbWljcm9zZWNvbmRzICs9IHVzZG91YmxlCi0gICAgICAgICAgICBtaWNyb3NlY29uZHMgPSByb3VuZChtaWNyb3NlY29uZHMsIDApCi0gICAgICAgICAgICBzZWNvbmRzLCBtaWNyb3NlY29uZHMgPSBkaXZtb2QobWljcm9zZWNvbmRzLCAxZTYpCi0gICAgICAgICAgICBhc3NlcnQgbWljcm9zZWNvbmRzID09IGludChtaWNyb3NlY29uZHMpCi0gICAgICAgICAgICBhc3NlcnQgc2Vjb25kcyA9PSBpbnQoc2Vjb25kcykKLSAgICAgICAgICAgIGRheXMsIHNlY29uZHMgPSBkaXZtb2Qoc2Vjb25kcywgMjQuKjM2MDAuKQotICAgICAgICAgICAgYXNzZXJ0IGRheXMgPT0gaW50KGRheXMpCi0gICAgICAgICAgICBhc3NlcnQgc2Vjb25kcyA9PSBpbnQoc2Vjb25kcykKLSAgICAgICAgICAgIGQgKz0gaW50KGRheXMpCi0gICAgICAgICAgICBzICs9IGludChzZWNvbmRzKSAgICMgY2FuJ3Qgb3ZlcmZsb3cKLSAgICAgICAgICAgIGFzc2VydCBpc2luc3RhbmNlKHMsIGludCkKLSAgICAgICAgICAgIGFzc2VydCBhYnMocykgPD0gMyAqIDI0ICogMzYwMAotICAgICAgICBlbHNlOgorICAgICAgICAgICAgbWljcm9zZWNvbmRzID0gcm91bmQobWljcm9zZWNvbmRzICsgdXNkb3VibGUpCiAgICAgICAgICAgICBzZWNvbmRzLCBtaWNyb3NlY29uZHMgPSBkaXZtb2QobWljcm9zZWNvbmRzLCAxMDAwMDAwKQogICAgICAgICAgICAgZGF5cywgc2Vjb25kcyA9IGRpdm1vZChzZWNvbmRzLCAyNCozNjAwKQogICAgICAgICAgICAgZCArPSBkYXlzCi0gICAgICAgICAgICBzICs9IGludChzZWNvbmRzKSAgICAjIGNhbid0IG92ZXJmbG93Ci0gICAgICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShzLCBpbnQpCi0gICAgICAgICAgICBhc3NlcnQgYWJzKHMpIDw9IDMgKiAyNCAqIDM2MDAKLSAgICAgICAgICAgIG1pY3Jvc2Vjb25kcyA9IGZsb2F0KG1pY3Jvc2Vjb25kcykKLSAgICAgICAgICAgIG1pY3Jvc2Vjb25kcyArPSB1c2RvdWJsZQotICAgICAgICAgICAgbWljcm9zZWNvbmRzID0gcm91bmQobWljcm9zZWNvbmRzLCAwKQorICAgICAgICAgICAgcyArPSBzZWNvbmRzCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBtaWNyb3NlY29uZHMgPSBpbnQobWljcm9zZWNvbmRzKQorICAgICAgICAgICAgc2Vjb25kcywgbWljcm9zZWNvbmRzID0gZGl2bW9kKG1pY3Jvc2Vjb25kcywgMTAwMDAwMCkKKyAgICAgICAgICAgIGRheXMsIHNlY29uZHMgPSBkaXZtb2Qoc2Vjb25kcywgMjQqMzYwMCkKKyAgICAgICAgICAgIGQgKz0gZGF5cworICAgICAgICAgICAgcyArPSBzZWNvbmRzCisgICAgICAgICAgICBtaWNyb3NlY29uZHMgPSByb3VuZChtaWNyb3NlY29uZHMgKyB1c2RvdWJsZSkKKyAgICAgICAgYXNzZXJ0IGlzaW5zdGFuY2UocywgaW50KQorICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShtaWNyb3NlY29uZHMsIGludCkKICAgICAgICAgYXNzZXJ0IGFicyhzKSA8PSAzICogMjQgKiAzNjAwCiAgICAgICAgIGFzc2VydCBhYnMobWljcm9zZWNvbmRzKSA8IDMuMWU2CiAKICAgICAgICAgIyBKdXN0IGEgbGl0dGxlIGJpdCBvZiBjYXJyeWluZyBwb3NzaWJsZSBmb3IgbWljcm9zZWNvbmRzIGFuZCBzZWNvbmRzLgotICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShtaWNyb3NlY29uZHMsIGZsb2F0KQotICAgICAgICBhc3NlcnQgaW50KG1pY3Jvc2Vjb25kcykgPT0gbWljcm9zZWNvbmRzCi0gICAgICAgIHVzID0gaW50KG1pY3Jvc2Vjb25kcykKLSAgICAgICAgc2Vjb25kcywgdXMgPSBkaXZtb2QodXMsIDEwMDAwMDApCi0gICAgICAgIHMgKz0gc2Vjb25kcyAgICAjIGNhbnQndCBvdmVyZmxvdwotICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShzLCBpbnQpCisgICAgICAgIHNlY29uZHMsIHVzID0gZGl2bW9kKG1pY3Jvc2Vjb25kcywgMTAwMDAwMCkKKyAgICAgICAgcyArPSBzZWNvbmRzCiAgICAgICAgIGRheXMsIHMgPSBkaXZtb2QocywgMjQqMzYwMCkKICAgICAgICAgZCArPSBkYXlzCiAKQEAgLTQwMiwyNyArNDA3LDMxIEBACiAgICAgICAgIGFzc2VydCBpc2luc3RhbmNlKHMsIGludCkgYW5kIDAgPD0gcyA8IDI0KjM2MDAKICAgICAgICAgYXNzZXJ0IGlzaW5zdGFuY2UodXMsIGludCkgYW5kIDAgPD0gdXMgPCAxMDAwMDAwCiAKLSAgICAgICAgc2VsZiA9IG9iamVjdC5fX25ld19fKGNscykKLQotICAgICAgICBzZWxmLl9kYXlzID0gZAotICAgICAgICBzZWxmLl9zZWNvbmRzID0gcwotICAgICAgICBzZWxmLl9taWNyb3NlY29uZHMgPSB1cwogICAgICAgICBpZiBhYnMoZCkgPiA5OTk5OTk5OTk6CiAgICAgICAgICAgICByYWlzZSBPdmVyZmxvd0Vycm9yKCJ0aW1lZGVsdGEgIyBvZiBkYXlzIGlzIHRvbyBsYXJnZTogJWQiICUgZCkKIAorICAgICAgICBzZWxmID0gb2JqZWN0Ll9fbmV3X18oY2xzKQorICAgICAgICBzZWxmLl9kYXlzID0gZAorICAgICAgICBzZWxmLl9zZWNvbmRzID0gcworICAgICAgICBzZWxmLl9taWNyb3NlY29uZHMgPSB1cworICAgICAgICBzZWxmLl9oYXNoY29kZSA9IC0xCiAgICAgICAgIHJldHVybiBzZWxmCiAKICAgICBkZWYgX19yZXByX18oc2VsZik6CiAgICAgICAgIGlmIHNlbGYuX21pY3Jvc2Vjb25kczoKLSAgICAgICAgICAgIHJldHVybiAiJXMoJWQsICVkLCAlZCkiICUgKCdkYXRldGltZS4nICsgc2VsZi5fX2NsYXNzX18uX19uYW1lX18sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9kYXlzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fc2Vjb25kcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX21pY3Jvc2Vjb25kcykKKyAgICAgICAgICAgIHJldHVybiAiJXMuJXMoJWQsICVkLCAlZCkiICUgKHNlbGYuX19jbGFzc19fLl9fbW9kdWxlX18sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9fY2xhc3NfXy5fX3F1YWxuYW1lX18sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9kYXlzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fc2Vjb25kcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX21pY3Jvc2Vjb25kcykKICAgICAgICAgaWYgc2VsZi5fc2Vjb25kczoKLSAgICAgICAgICAgIHJldHVybiAiJXMoJWQsICVkKSIgJSAoJ2RhdGV0aW1lLicgKyBzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fZGF5cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fc2Vjb25kcykKLSAgICAgICAgcmV0dXJuICIlcyglZCkiICUgKCdkYXRldGltZS4nICsgc2VsZi5fX2NsYXNzX18uX19uYW1lX18sIHNlbGYuX2RheXMpCisgICAgICAgICAgICByZXR1cm4gIiVzLiVzKCVkLCAlZCkiICUgKHNlbGYuX19jbGFzc19fLl9fbW9kdWxlX18sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX19jbGFzc19fLl9fcXVhbG5hbWVfXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fZGF5cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fc2Vjb25kcykKKyAgICAgICAgcmV0dXJuICIlcy4lcyglZCkiICUgKHNlbGYuX19jbGFzc19fLl9fbW9kdWxlX18sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9fY2xhc3NfXy5fX3F1YWxuYW1lX18sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9kYXlzKQogCiAgICAgZGVmIF9fc3RyX18oc2VsZik6CiAgICAgICAgIG1tLCBzcyA9IGRpdm1vZChzZWxmLl9zZWNvbmRzLCA2MCkKQEAgLTQzOCw3ICs0NDcsNyBAQAogCiAgICAgZGVmIHRvdGFsX3NlY29uZHMoc2VsZik6CiAgICAgICAgICIiIlRvdGFsIHNlY29uZHMgaW4gdGhlIGR1cmF0aW9uLiIiIgotICAgICAgICByZXR1cm4gKChzZWxmLmRheXMgKiA4NjQwMCArIHNlbGYuc2Vjb25kcykqMTAqKjYgKworICAgICAgICByZXR1cm4gKChzZWxmLmRheXMgKiA4NjQwMCArIHNlbGYuc2Vjb25kcykgKiAxMCoqNiArCiAgICAgICAgICAgICAgICAgc2VsZi5taWNyb3NlY29uZHMpIC8gMTAqKjYKIAogICAgICMgUmVhZC1vbmx5IGZpZWxkIGFjY2Vzc29ycwpAQCAtNTU4LDEyICs1NjcsNiBAQAogICAgICAgICBlbHNlOgogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAKLSAgICBkZWYgX19uZV9fKHNlbGYsIG90aGVyKToKLSAgICAgICAgaWYgaXNpbnN0YW5jZShvdGhlciwgdGltZWRlbHRhKToKLSAgICAgICAgICAgIHJldHVybiBzZWxmLl9jbXAob3RoZXIpICE9IDAKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJldHVybiBUcnVlCi0KICAgICBkZWYgX19sZV9fKHNlbGYsIG90aGVyKToKICAgICAgICAgaWYgaXNpbnN0YW5jZShvdGhlciwgdGltZWRlbHRhKToKICAgICAgICAgICAgIHJldHVybiBzZWxmLl9jbXAob3RoZXIpIDw9IDAKQEAgLTU5Myw3ICs1OTYsOSBAQAogICAgICAgICByZXR1cm4gX2NtcChzZWxmLl9nZXRzdGF0ZSgpLCBvdGhlci5fZ2V0c3RhdGUoKSkKIAogICAgIGRlZiBfX2hhc2hfXyhzZWxmKToKLSAgICAgICAgcmV0dXJuIGhhc2goc2VsZi5fZ2V0c3RhdGUoKSkKKyAgICAgICAgaWYgc2VsZi5faGFzaGNvZGUgPT0gLTE6CisgICAgICAgICAgICBzZWxmLl9oYXNoY29kZSA9IGhhc2goc2VsZi5fZ2V0c3RhdGUoKSkKKyAgICAgICAgcmV0dXJuIHNlbGYuX2hhc2hjb2RlCiAKICAgICBkZWYgX19ib29sX18oc2VsZik6CiAgICAgICAgIHJldHVybiAoc2VsZi5fZGF5cyAhPSAwIG9yCkBAIC02NDEsNyArNjQ2LDcgQEAKICAgICBQcm9wZXJ0aWVzIChyZWFkb25seSk6CiAgICAgeWVhciwgbW9udGgsIGRheQogICAgICIiIgotICAgIF9fc2xvdHNfXyA9ICdfeWVhcicsICdfbW9udGgnLCAnX2RheScKKyAgICBfX3Nsb3RzX18gPSAnX3llYXInLCAnX21vbnRoJywgJ19kYXknLCAnX2hhc2hjb2RlJwogCiAgICAgZGVmIF9fbmV3X18oY2xzLCB5ZWFyLCBtb250aD1Ob25lLCBkYXk9Tm9uZSk6CiAgICAgICAgICIiIkNvbnN0cnVjdG9yLgpAQCAtNjUwLDE3ICs2NTUsMTkgQEAKIAogICAgICAgICB5ZWFyLCBtb250aCwgZGF5IChyZXF1aXJlZCwgYmFzZSAxKQogICAgICAgICAiIiIKLSAgICAgICAgaWYgKGlzaW5zdGFuY2UoeWVhciwgYnl0ZXMpIGFuZCBsZW4oeWVhcikgPT0gNCBhbmQKLSAgICAgICAgICAgIDEgPD0geWVhclsyXSA8PSAxMiBhbmQgbW9udGggaXMgTm9uZSk6ICAjIE1vbnRoIGlzIHNhbmUKKyAgICAgICAgaWYgbW9udGggaXMgTm9uZSBhbmQgaXNpbnN0YW5jZSh5ZWFyLCBieXRlcykgYW5kIGxlbih5ZWFyKSA9PSA0IGFuZCBcCisgICAgICAgICAgICAgICAgMSA8PSB5ZWFyWzJdIDw9IDEyOgogICAgICAgICAgICAgIyBQaWNrbGUgc3VwcG9ydAogICAgICAgICAgICAgc2VsZiA9IG9iamVjdC5fX25ld19fKGNscykKICAgICAgICAgICAgIHNlbGYuX19zZXRzdGF0ZSh5ZWFyKQorICAgICAgICAgICAgc2VsZi5faGFzaGNvZGUgPSAtMQogICAgICAgICAgICAgcmV0dXJuIHNlbGYKLSAgICAgICAgX2NoZWNrX2RhdGVfZmllbGRzKHllYXIsIG1vbnRoLCBkYXkpCisgICAgICAgIHllYXIsIG1vbnRoLCBkYXkgPSBfY2hlY2tfZGF0ZV9maWVsZHMoeWVhciwgbW9udGgsIGRheSkKICAgICAgICAgc2VsZiA9IG9iamVjdC5fX25ld19fKGNscykKICAgICAgICAgc2VsZi5feWVhciA9IHllYXIKICAgICAgICAgc2VsZi5fbW9udGggPSBtb250aAogICAgICAgICBzZWxmLl9kYXkgPSBkYXkKKyAgICAgICAgc2VsZi5faGFzaGNvZGUgPSAtMQogICAgICAgICByZXR1cm4gc2VsZgogCiAgICAgIyBBZGRpdGlvbmFsIGNvbnN0cnVjdG9ycwpAQCAtNzAwLDEwICs3MDcsMTEgQEAKICAgICAgICAgPj4+IHJlcHIoZHQpCiAgICAgICAgICdkYXRldGltZS5kYXRldGltZSgyMDEwLCAxLCAxLCAwLCAwLCB0emluZm89ZGF0ZXRpbWUudGltZXpvbmUudXRjKScKICAgICAgICAgIiIiCi0gICAgICAgIHJldHVybiAiJXMoJWQsICVkLCAlZCkiICUgKCdkYXRldGltZS4nICsgc2VsZi5fX2NsYXNzX18uX19uYW1lX18sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3llYXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX21vbnRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9kYXkpCisgICAgICAgIHJldHVybiAiJXMuJXMoJWQsICVkLCAlZCkiICUgKHNlbGYuX19jbGFzc19fLl9fbW9kdWxlX18sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX19jbGFzc19fLl9fcXVhbG5hbWVfXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5feWVhciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fbW9udGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2RheSkKICAgICAjIFhYWCBUaGVzZSBzaG91bGRuJ3QgZGVwZW5kIG9uIHRpbWUubG9jYWx0aW1lKCksIGJlY2F1c2UgdGhhdAogICAgICMgY2xpcHMgdGhlIHVzYWJsZSBkYXRlcyB0byBbMTk3MCAuLiAyMDM4KS4gIEF0IGxlYXN0IGN0aW1lKCkgaXMKICAgICAjIGVhc2lseSBkb25lIHdpdGhvdXQgdXNpbmcgc3RyZnRpbWUoKSAtLSB0aGF0J3MgYmV0dGVyIHRvbyBiZWNhdXNlCkBAIC03MjMsNiArNzMxLDggQEAKICAgICAgICAgcmV0dXJuIF93cmFwX3N0cmZ0aW1lKHNlbGYsIGZtdCwgc2VsZi50aW1ldHVwbGUoKSkKIAogICAgIGRlZiBfX2Zvcm1hdF9fKHNlbGYsIGZtdCk6CisgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGZtdCwgc3RyKToKKyAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigibXVzdCBiZSBzdHIsIG5vdCAlcyIgJSB0eXBlKGZtdCkuX19uYW1lX18pCiAgICAgICAgIGlmIGxlbihmbXQpICE9IDA6CiAgICAgICAgICAgICByZXR1cm4gc2VsZi5zdHJmdGltZShmbXQpCiAgICAgICAgIHJldHVybiBzdHIoc2VsZikKQEAgLTc3OSw3ICs3ODksNiBAQAogICAgICAgICAgICAgbW9udGggPSBzZWxmLl9tb250aAogICAgICAgICBpZiBkYXkgaXMgTm9uZToKICAgICAgICAgICAgIGRheSA9IHNlbGYuX2RheQotICAgICAgICBfY2hlY2tfZGF0ZV9maWVsZHMoeWVhciwgbW9udGgsIGRheSkKICAgICAgICAgcmV0dXJuIGRhdGUoeWVhciwgbW9udGgsIGRheSkKIAogICAgICMgQ29tcGFyaXNvbnMgb2YgZGF0ZSBvYmplY3RzIHdpdGggb3RoZXIuCkBAIC03ODksMTEgKzc5OCw2IEBACiAgICAgICAgICAgICByZXR1cm4gc2VsZi5fY21wKG90aGVyKSA9PSAwCiAgICAgICAgIHJldHVybiBOb3RJbXBsZW1lbnRlZAogCi0gICAgZGVmIF9fbmVfXyhzZWxmLCBvdGhlcik6Ci0gICAgICAgIGlmIGlzaW5zdGFuY2Uob3RoZXIsIGRhdGUpOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2NtcChvdGhlcikgIT0gMAotICAgICAgICByZXR1cm4gTm90SW1wbGVtZW50ZWQKLQogICAgIGRlZiBfX2xlX18oc2VsZiwgb3RoZXIpOgogICAgICAgICBpZiBpc2luc3RhbmNlKG90aGVyLCBkYXRlKToKICAgICAgICAgICAgIHJldHVybiBzZWxmLl9jbXAob3RoZXIpIDw9IDAKQEAgLTgyMiw3ICs4MjYsOSBAQAogCiAgICAgZGVmIF9faGFzaF9fKHNlbGYpOgogICAgICAgICAiSGFzaC4iCi0gICAgICAgIHJldHVybiBoYXNoKHNlbGYuX2dldHN0YXRlKCkpCisgICAgICAgIGlmIHNlbGYuX2hhc2hjb2RlID09IC0xOgorICAgICAgICAgICAgc2VsZi5faGFzaGNvZGUgPSBoYXNoKHNlbGYuX2dldHN0YXRlKCkpCisgICAgICAgIHJldHVybiBzZWxmLl9oYXNoY29kZQogCiAgICAgIyBDb21wdXRhdGlvbnMKIApAQCAtODkyLDggKzg5OCw2IEBACiAgICAgICAgIHJldHVybiBieXRlcyhbeWhpLCB5bG8sIHNlbGYuX21vbnRoLCBzZWxmLl9kYXldKSwKIAogICAgIGRlZiBfX3NldHN0YXRlKHNlbGYsIHN0cmluZyk6Ci0gICAgICAgIGlmIGxlbihzdHJpbmcpICE9IDQgb3Igbm90ICgxIDw9IHN0cmluZ1syXSA8PSAxMik6Ci0gICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoIm5vdCBlbm91Z2ggYXJndW1lbnRzIikKICAgICAgICAgeWhpLCB5bG8sIHNlbGYuX21vbnRoLCBzZWxmLl9kYXkgPSBzdHJpbmcKICAgICAgICAgc2VsZi5feWVhciA9IHloaSAqIDI1NiArIHlsbwogCkBAIC05MTIsNiArOTE2LDcgQEAKICAgICBTdWJjbGFzc2VzIG11c3Qgb3ZlcnJpZGUgdGhlIG5hbWUoKSwgdXRjb2Zmc2V0KCkgYW5kIGRzdCgpIG1ldGhvZHMuCiAgICAgIiIiCiAgICAgX19zbG90c19fID0gKCkKKwogICAgIGRlZiB0em5hbWUoc2VsZiwgZHQpOgogICAgICAgICAiZGF0ZXRpbWUgLT4gc3RyaW5nIG5hbWUgb2YgdGltZSB6b25lLiIKICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcigidHppbmZvIHN1YmNsYXNzIG11c3Qgb3ZlcnJpZGUgdHpuYW1lKCkiKQpAQCAtOTk4LDYgKzEwMDMsNyBAQAogICAgIFByb3BlcnRpZXMgKHJlYWRvbmx5KToKICAgICBob3VyLCBtaW51dGUsIHNlY29uZCwgbWljcm9zZWNvbmQsIHR6aW5mbwogICAgICIiIgorICAgIF9fc2xvdHNfXyA9ICdfaG91cicsICdfbWludXRlJywgJ19zZWNvbmQnLCAnX21pY3Jvc2Vjb25kJywgJ190emluZm8nLCAnX2hhc2hjb2RlJwogCiAgICAgZGVmIF9fbmV3X18oY2xzLCBob3VyPTAsIG1pbnV0ZT0wLCBzZWNvbmQ9MCwgbWljcm9zZWNvbmQ9MCwgdHppbmZvPU5vbmUpOgogICAgICAgICAiIiJDb25zdHJ1Y3Rvci4KQEAgLTEwMDgsMTggKzEwMTQsMjIgQEAKICAgICAgICAgc2Vjb25kLCBtaWNyb3NlY29uZCAoZGVmYXVsdCB0byB6ZXJvKQogICAgICAgICB0emluZm8gKGRlZmF1bHQgdG8gTm9uZSkKICAgICAgICAgIiIiCi0gICAgICAgIHNlbGYgPSBvYmplY3QuX19uZXdfXyhjbHMpCi0gICAgICAgIGlmIGlzaW5zdGFuY2UoaG91ciwgYnl0ZXMpIGFuZCBsZW4oaG91cikgPT0gNjoKKyAgICAgICAgaWYgaXNpbnN0YW5jZShob3VyLCBieXRlcykgYW5kIGxlbihob3VyKSA9PSA2IGFuZCBob3VyWzBdIDwgMjQ6CiAgICAgICAgICAgICAjIFBpY2tsZSBzdXBwb3J0CisgICAgICAgICAgICBzZWxmID0gb2JqZWN0Ll9fbmV3X18oY2xzKQogICAgICAgICAgICAgc2VsZi5fX3NldHN0YXRlKGhvdXIsIG1pbnV0ZSBvciBOb25lKQorICAgICAgICAgICAgc2VsZi5faGFzaGNvZGUgPSAtMQogICAgICAgICAgICAgcmV0dXJuIHNlbGYKKyAgICAgICAgaG91ciwgbWludXRlLCBzZWNvbmQsIG1pY3Jvc2Vjb25kID0gX2NoZWNrX3RpbWVfZmllbGRzKAorICAgICAgICAgICAgaG91ciwgbWludXRlLCBzZWNvbmQsIG1pY3Jvc2Vjb25kKQogICAgICAgICBfY2hlY2tfdHppbmZvX2FyZyh0emluZm8pCi0gICAgICAgIF9jaGVja190aW1lX2ZpZWxkcyhob3VyLCBtaW51dGUsIHNlY29uZCwgbWljcm9zZWNvbmQpCisgICAgICAgIHNlbGYgPSBvYmplY3QuX19uZXdfXyhjbHMpCiAgICAgICAgIHNlbGYuX2hvdXIgPSBob3VyCiAgICAgICAgIHNlbGYuX21pbnV0ZSA9IG1pbnV0ZQogICAgICAgICBzZWxmLl9zZWNvbmQgPSBzZWNvbmQKICAgICAgICAgc2VsZi5fbWljcm9zZWNvbmQgPSBtaWNyb3NlY29uZAogICAgICAgICBzZWxmLl90emluZm8gPSB0emluZm8KKyAgICAgICAgc2VsZi5faGFzaGNvZGUgPSAtMQogICAgICAgICByZXR1cm4gc2VsZgogCiAgICAgIyBSZWFkLW9ubHkgZmllbGQgYWNjZXNzb3JzCkBAIC0xMDU4LDEyICsxMDY4LDYgQEAKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHJldHVybiBGYWxzZQogCi0gICAgZGVmIF9fbmVfXyhzZWxmLCBvdGhlcik6Ci0gICAgICAgIGlmIGlzaW5zdGFuY2Uob3RoZXIsIHRpbWUpOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2NtcChvdGhlciwgYWxsb3dfbWl4ZWQ9VHJ1ZSkgIT0gMAotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmV0dXJuIFRydWUKLQogICAgIGRlZiBfX2xlX18oc2VsZiwgb3RoZXIpOgogICAgICAgICBpZiBpc2luc3RhbmNlKG90aGVyLCB0aW1lKToKICAgICAgICAgICAgIHJldHVybiBzZWxmLl9jbXAob3RoZXIpIDw9IDAKQEAgLTExMDQsOCArMTEwOCw4IEBACiAgICAgICAgIGlmIGJhc2VfY29tcGFyZToKICAgICAgICAgICAgIHJldHVybiBfY21wKChzZWxmLl9ob3VyLCBzZWxmLl9taW51dGUsIHNlbGYuX3NlY29uZCwKICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9taWNyb3NlY29uZCksCi0gICAgICAgICAgICAgICAgICAgICAgIChvdGhlci5faG91ciwgb3RoZXIuX21pbnV0ZSwgb3RoZXIuX3NlY29uZCwKLSAgICAgICAgICAgICAgICAgICAgICAgIG90aGVyLl9taWNyb3NlY29uZCkpCisgICAgICAgICAgICAgICAgICAgICAgICAob3RoZXIuX2hvdXIsIG90aGVyLl9taW51dGUsIG90aGVyLl9zZWNvbmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXIuX21pY3Jvc2Vjb25kKSkKICAgICAgICAgaWYgbXlvZmYgaXMgTm9uZSBvciBvdG9mZiBpcyBOb25lOgogICAgICAgICAgICAgaWYgYWxsb3dfbWl4ZWQ6CiAgICAgICAgICAgICAgICAgcmV0dXJuIDIgIyBhcmJpdHJhcnkgbm9uLXplcm8gdmFsdWUKQEAgLTExMTgsMTYgKzExMjIsMjAgQEAKIAogICAgIGRlZiBfX2hhc2hfXyhzZWxmKToKICAgICAgICAgIiIiSGFzaC4iIiIKLSAgICAgICAgdHpvZmYgPSBzZWxmLnV0Y29mZnNldCgpCi0gICAgICAgIGlmIG5vdCB0em9mZjogIyB6ZXJvIG9yIE5vbmUKLSAgICAgICAgICAgIHJldHVybiBoYXNoKHNlbGYuX2dldHN0YXRlKClbMF0pCi0gICAgICAgIGgsIG0gPSBkaXZtb2QodGltZWRlbHRhKGhvdXJzPXNlbGYuaG91ciwgbWludXRlcz1zZWxmLm1pbnV0ZSkgLSB0em9mZiwKLSAgICAgICAgICAgICAgICAgICAgICB0aW1lZGVsdGEoaG91cnM9MSkpCi0gICAgICAgIGFzc2VydCBub3QgbSAlIHRpbWVkZWx0YShtaW51dGVzPTEpLCAid2hvbGUgbWludXRlIgotICAgICAgICBtIC8vPSB0aW1lZGVsdGEobWludXRlcz0xKQotICAgICAgICBpZiAwIDw9IGggPCAyNDoKLSAgICAgICAgICAgIHJldHVybiBoYXNoKHRpbWUoaCwgbSwgc2VsZi5zZWNvbmQsIHNlbGYubWljcm9zZWNvbmQpKQotICAgICAgICByZXR1cm4gaGFzaCgoaCwgbSwgc2VsZi5zZWNvbmQsIHNlbGYubWljcm9zZWNvbmQpKQorICAgICAgICBpZiBzZWxmLl9oYXNoY29kZSA9PSAtMToKKyAgICAgICAgICAgIHR6b2ZmID0gc2VsZi51dGNvZmZzZXQoKQorICAgICAgICAgICAgaWYgbm90IHR6b2ZmOiAgIyB6ZXJvIG9yIE5vbmUKKyAgICAgICAgICAgICAgICBzZWxmLl9oYXNoY29kZSA9IGhhc2goc2VsZi5fZ2V0c3RhdGUoKVswXSkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgaCwgbSA9IGRpdm1vZCh0aW1lZGVsdGEoaG91cnM9c2VsZi5ob3VyLCBtaW51dGVzPXNlbGYubWludXRlKSAtIHR6b2ZmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZWRlbHRhKGhvdXJzPTEpKQorICAgICAgICAgICAgICAgIGFzc2VydCBub3QgbSAlIHRpbWVkZWx0YShtaW51dGVzPTEpLCAid2hvbGUgbWludXRlIgorICAgICAgICAgICAgICAgIG0gLy89IHRpbWVkZWx0YShtaW51dGVzPTEpCisgICAgICAgICAgICAgICAgaWYgMCA8PSBoIDwgMjQ6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuX2hhc2hjb2RlID0gaGFzaCh0aW1lKGgsIG0sIHNlbGYuc2Vjb25kLCBzZWxmLm1pY3Jvc2Vjb25kKSkKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBzZWxmLl9oYXNoY29kZSA9IGhhc2goKGgsIG0sIHNlbGYuc2Vjb25kLCBzZWxmLm1pY3Jvc2Vjb25kKSkKKyAgICAgICAgcmV0dXJuIHNlbGYuX2hhc2hjb2RlCiAKICAgICAjIENvbnZlcnNpb24gdG8gc3RyaW5nCiAKQEAgLTExNTUsOCArMTE2Myw5IEBACiAgICAgICAgICAgICBzID0gIiwgJWQiICUgc2VsZi5fc2Vjb25kCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBzID0gIiIKLSAgICAgICAgcz0gIiVzKCVkLCAlZCVzKSIgJSAoJ2RhdGV0aW1lLicgKyBzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5faG91ciwgc2VsZi5fbWludXRlLCBzKQorICAgICAgICBzPSAiJXMuJXMoJWQsICVkJXMpIiAlIChzZWxmLl9fY2xhc3NfXy5fX21vZHVsZV9fLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9fY2xhc3NfXy5fX3F1YWxuYW1lX18sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2hvdXIsIHNlbGYuX21pbnV0ZSwgcykKICAgICAgICAgaWYgc2VsZi5fdHppbmZvIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgYXNzZXJ0IHNbLTE6XSA9PSAiKSIKICAgICAgICAgICAgIHMgPSBzWzotMV0gKyAiLCB0emluZm89JXIiICUgc2VsZi5fdHppbmZvICsgIikiCkBAIC0xMTg5LDYgKzExOTgsOCBAQAogICAgICAgICByZXR1cm4gX3dyYXBfc3RyZnRpbWUoc2VsZiwgZm10LCB0aW1ldHVwbGUpCiAKICAgICBkZWYgX19mb3JtYXRfXyhzZWxmLCBmbXQpOgorICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShmbXQsIHN0cik6CisgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoIm11c3QgYmUgc3RyLCBub3QgJXMiICUgdHlwZShmbXQpLl9fbmFtZV9fKQogICAgICAgICBpZiBsZW4oZm10KSAhPSAwOgogICAgICAgICAgICAgcmV0dXJuIHNlbGYuc3RyZnRpbWUoZm10KQogICAgICAgICByZXR1cm4gc3RyKHNlbGYpCkBAIC0xMjQ1LDE2ICsxMjU2LDggQEAKICAgICAgICAgICAgIG1pY3Jvc2Vjb25kID0gc2VsZi5taWNyb3NlY29uZAogICAgICAgICBpZiB0emluZm8gaXMgVHJ1ZToKICAgICAgICAgICAgIHR6aW5mbyA9IHNlbGYudHppbmZvCi0gICAgICAgIF9jaGVja190aW1lX2ZpZWxkcyhob3VyLCBtaW51dGUsIHNlY29uZCwgbWljcm9zZWNvbmQpCi0gICAgICAgIF9jaGVja190emluZm9fYXJnKHR6aW5mbykKICAgICAgICAgcmV0dXJuIHRpbWUoaG91ciwgbWludXRlLCBzZWNvbmQsIG1pY3Jvc2Vjb25kLCB0emluZm8pCiAKLSAgICBkZWYgX19ib29sX18oc2VsZik6Ci0gICAgICAgIGlmIHNlbGYuc2Vjb25kIG9yIHNlbGYubWljcm9zZWNvbmQ6Ci0gICAgICAgICAgICByZXR1cm4gVHJ1ZQotICAgICAgICBvZmZzZXQgPSBzZWxmLnV0Y29mZnNldCgpIG9yIHRpbWVkZWx0YSgwKQotICAgICAgICByZXR1cm4gdGltZWRlbHRhKGhvdXJzPXNlbGYuaG91ciwgbWludXRlcz1zZWxmLm1pbnV0ZSkgIT0gb2Zmc2V0Ci0KICAgICAjIFBpY2tsZSBzdXBwb3J0LgogCiAgICAgZGVmIF9nZXRzdGF0ZShzZWxmKToKQEAgLTEyNjgsMTUgKzEyNzEsMTEgQEAKICAgICAgICAgICAgIHJldHVybiAoYmFzZXN0YXRlLCBzZWxmLl90emluZm8pCiAKICAgICBkZWYgX19zZXRzdGF0ZShzZWxmLCBzdHJpbmcsIHR6aW5mbyk6Ci0gICAgICAgIGlmIGxlbihzdHJpbmcpICE9IDYgb3Igc3RyaW5nWzBdID49IDI0OgotICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJhbiBpbnRlZ2VyIGlzIHJlcXVpcmVkIikKLSAgICAgICAgKHNlbGYuX2hvdXIsIHNlbGYuX21pbnV0ZSwgc2VsZi5fc2Vjb25kLAotICAgICAgICAgdXMxLCB1czIsIHVzMykgPSBzdHJpbmcKKyAgICAgICAgaWYgdHppbmZvIGlzIG5vdCBOb25lIGFuZCBub3QgaXNpbnN0YW5jZSh0emluZm8sIF90emluZm9fY2xhc3MpOgorICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJiYWQgdHppbmZvIHN0YXRlIGFyZyIpCisgICAgICAgIHNlbGYuX2hvdXIsIHNlbGYuX21pbnV0ZSwgc2VsZi5fc2Vjb25kLCB1czEsIHVzMiwgdXMzID0gc3RyaW5nCiAgICAgICAgIHNlbGYuX21pY3Jvc2Vjb25kID0gKCgodXMxIDw8IDgpIHwgdXMyKSA8PCA4KSB8IHVzMwotICAgICAgICBpZiB0emluZm8gaXMgTm9uZSBvciBpc2luc3RhbmNlKHR6aW5mbywgX3R6aW5mb19jbGFzcyk6Ci0gICAgICAgICAgICBzZWxmLl90emluZm8gPSB0emluZm8KLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiYmFkIHR6aW5mbyBzdGF0ZSBhcmcgJXIiICUgdHppbmZvKQorICAgICAgICBzZWxmLl90emluZm8gPSB0emluZm8KIAogICAgIGRlZiBfX3JlZHVjZV9fKHNlbGYpOgogICAgICAgICByZXR1cm4gKHRpbWUsIHNlbGYuX2dldHN0YXRlKCkpCkBAIC0xMjkzLDI1ICsxMjkyLDMwIEBACiAgICAgVGhlIHllYXIsIG1vbnRoIGFuZCBkYXkgYXJndW1lbnRzIGFyZSByZXF1aXJlZC4gdHppbmZvIG1heSBiZSBOb25lLCBvciBhbgogICAgIGluc3RhbmNlIG9mIGEgdHppbmZvIHN1YmNsYXNzLiBUaGUgcmVtYWluaW5nIGFyZ3VtZW50cyBtYXkgYmUgaW50cy4KICAgICAiIiIKKyAgICBfX3Nsb3RzX18gPSBkYXRlLl9fc2xvdHNfXyArIHRpbWUuX19zbG90c19fCiAKLSAgICBfX3Nsb3RzX18gPSBkYXRlLl9fc2xvdHNfXyArICgKLSAgICAgICAgJ19ob3VyJywgJ19taW51dGUnLCAnX3NlY29uZCcsCi0gICAgICAgICdfbWljcm9zZWNvbmQnLCAnX3R6aW5mbycpCiAgICAgZGVmIF9fbmV3X18oY2xzLCB5ZWFyLCBtb250aD1Ob25lLCBkYXk9Tm9uZSwgaG91cj0wLCBtaW51dGU9MCwgc2Vjb25kPTAsCiAgICAgICAgICAgICAgICAgbWljcm9zZWNvbmQ9MCwgdHppbmZvPU5vbmUpOgotICAgICAgICBpZiBpc2luc3RhbmNlKHllYXIsIGJ5dGVzKSBhbmQgbGVuKHllYXIpID09IDEwOgorICAgICAgICBpZiBpc2luc3RhbmNlKHllYXIsIGJ5dGVzKSBhbmQgbGVuKHllYXIpID09IDEwIGFuZCAxIDw9IHllYXJbMl0gPD0gMTI6CiAgICAgICAgICAgICAjIFBpY2tsZSBzdXBwb3J0Ci0gICAgICAgICAgICBzZWxmID0gZGF0ZS5fX25ld19fKGNscywgeWVhcls6NF0pCisgICAgICAgICAgICBzZWxmID0gb2JqZWN0Ll9fbmV3X18oY2xzKQogICAgICAgICAgICAgc2VsZi5fX3NldHN0YXRlKHllYXIsIG1vbnRoKQorICAgICAgICAgICAgc2VsZi5faGFzaGNvZGUgPSAtMQogICAgICAgICAgICAgcmV0dXJuIHNlbGYKKyAgICAgICAgeWVhciwgbW9udGgsIGRheSA9IF9jaGVja19kYXRlX2ZpZWxkcyh5ZWFyLCBtb250aCwgZGF5KQorICAgICAgICBob3VyLCBtaW51dGUsIHNlY29uZCwgbWljcm9zZWNvbmQgPSBfY2hlY2tfdGltZV9maWVsZHMoCisgICAgICAgICAgICBob3VyLCBtaW51dGUsIHNlY29uZCwgbWljcm9zZWNvbmQpCiAgICAgICAgIF9jaGVja190emluZm9fYXJnKHR6aW5mbykKLSAgICAgICAgX2NoZWNrX3RpbWVfZmllbGRzKGhvdXIsIG1pbnV0ZSwgc2Vjb25kLCBtaWNyb3NlY29uZCkKLSAgICAgICAgc2VsZiA9IGRhdGUuX19uZXdfXyhjbHMsIHllYXIsIG1vbnRoLCBkYXkpCisgICAgICAgIHNlbGYgPSBvYmplY3QuX19uZXdfXyhjbHMpCisgICAgICAgIHNlbGYuX3llYXIgPSB5ZWFyCisgICAgICAgIHNlbGYuX21vbnRoID0gbW9udGgKKyAgICAgICAgc2VsZi5fZGF5ID0gZGF5CiAgICAgICAgIHNlbGYuX2hvdXIgPSBob3VyCiAgICAgICAgIHNlbGYuX21pbnV0ZSA9IG1pbnV0ZQogICAgICAgICBzZWxmLl9zZWNvbmQgPSBzZWNvbmQKICAgICAgICAgc2VsZi5fbWljcm9zZWNvbmQgPSBtaWNyb3NlY29uZAogICAgICAgICBzZWxmLl90emluZm8gPSB0emluZm8KKyAgICAgICAgc2VsZi5faGFzaGNvZGUgPSAtMQogICAgICAgICByZXR1cm4gc2VsZgogCiAgICAgIyBSZWFkLW9ubHkgZmllbGQgYWNjZXNzb3JzCkBAIC0xMzQ2LDcgKzEzNTAsNiBAQAogCiAgICAgICAgIEEgdGltZXpvbmUgaW5mbyBvYmplY3QgbWF5IGJlIHBhc3NlZCBpbiBhcyB3ZWxsLgogICAgICAgICAiIiIKLQogICAgICAgICBfY2hlY2tfdHppbmZvX2FyZyh0eikKIAogICAgICAgICBjb252ZXJ0ZXIgPSBfdGltZS5sb2NhbHRpbWUgaWYgdHogaXMgTm9uZSBlbHNlIF90aW1lLmdtdGltZQpAQCAtMTM4NSwxMSArMTM4OCw2IEBACiAgICAgICAgIHNzID0gbWluKHNzLCA1OSkgICAgIyBjbGFtcCBvdXQgbGVhcCBzZWNvbmRzIGlmIHRoZSBwbGF0Zm9ybSBoYXMgdGhlbQogICAgICAgICByZXR1cm4gY2xzKHksIG0sIGQsIGhoLCBtbSwgc3MsIHVzKQogCi0gICAgIyBYWFggVGhpcyBpcyBzdXBwb3NlZCB0byBkbyBiZXR0ZXIgdGhhbiB3ZSAqY2FuKiBkbyBieSB1c2luZyB0aW1lLnRpbWUoKSwKLSAgICAjIFhYWCBpZiB0aGUgcGxhdGZvcm0gc3VwcG9ydHMgYSBtb3JlIGFjY3VyYXRlIHdheS4gIFRoZSBDIGltcGxlbWVudGF0aW9uCi0gICAgIyBYWFggdXNlcyBnZXR0aW1lb2ZkYXkgb24gcGxhdGZvcm1zIHRoYXQgaGF2ZSBpdCwgYnV0IHRoYXQgaXNuJ3QKLSAgICAjIFhYWCBhdmFpbGFibGUgZnJvbSBQeXRob24uICBTbyBub3coKSBtYXkgcmV0dXJuIGRpZmZlcmVudCByZXN1bHRzCi0gICAgIyBYWFggYWNyb3NzIHRoZSBpbXBsZW1lbnRhdGlvbnMuCiAgICAgQGNsYXNzbWV0aG9kCiAgICAgZGVmIG5vdyhjbHMsIHR6PU5vbmUpOgogICAgICAgICAiQ29uc3RydWN0IGEgZGF0ZXRpbWUgZnJvbSB0aW1lLnRpbWUoKSBhbmQgb3B0aW9uYWwgdGltZSB6b25lIGluZm8uIgpAQCAtMTQ3NiwxMSArMTQ3NCw4IEBACiAgICAgICAgICAgICBtaWNyb3NlY29uZCA9IHNlbGYubWljcm9zZWNvbmQKICAgICAgICAgaWYgdHppbmZvIGlzIFRydWU6CiAgICAgICAgICAgICB0emluZm8gPSBzZWxmLnR6aW5mbwotICAgICAgICBfY2hlY2tfZGF0ZV9maWVsZHMoeWVhciwgbW9udGgsIGRheSkKLSAgICAgICAgX2NoZWNrX3RpbWVfZmllbGRzKGhvdXIsIG1pbnV0ZSwgc2Vjb25kLCBtaWNyb3NlY29uZCkKLSAgICAgICAgX2NoZWNrX3R6aW5mb19hcmcodHppbmZvKQotICAgICAgICByZXR1cm4gZGF0ZXRpbWUoeWVhciwgbW9udGgsIGRheSwgaG91ciwgbWludXRlLCBzZWNvbmQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIG1pY3Jvc2Vjb25kLCB0emluZm8pCisgICAgICAgIHJldHVybiBkYXRldGltZSh5ZWFyLCBtb250aCwgZGF5LCBob3VyLCBtaW51dGUsIHNlY29uZCwgbWljcm9zZWNvbmQsCisgICAgICAgICAgICAgICAgICAgICAgICB0emluZm8pCiAKICAgICBkZWYgYXN0aW1lem9uZShzZWxmLCB0ej1Ob25lKToKICAgICAgICAgaWYgdHogaXMgTm9uZToKQEAgLTE1NTAsMTAgKzE1NDUsOSBAQAogICAgICAgICBPcHRpb25hbCBhcmd1bWVudCBzZXAgc3BlY2lmaWVzIHRoZSBzZXBhcmF0b3IgYmV0d2VlbiBkYXRlIGFuZAogICAgICAgICB0aW1lLCBkZWZhdWx0ICdUJy4KICAgICAgICAgIiIiCi0gICAgICAgIHMgPSAoIiUwNGQtJTAyZC0lMDJkJWMiICUgKHNlbGYuX3llYXIsIHNlbGYuX21vbnRoLCBzZWxmLl9kYXksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VwKSArCi0gICAgICAgICAgICAgICAgX2Zvcm1hdF90aW1lKHNlbGYuX2hvdXIsIHNlbGYuX21pbnV0ZSwgc2VsZi5fc2Vjb25kLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9taWNyb3NlY29uZCkpCisgICAgICAgIHMgPSAoIiUwNGQtJTAyZC0lMDJkJWMiICUgKHNlbGYuX3llYXIsIHNlbGYuX21vbnRoLCBzZWxmLl9kYXksIHNlcCkgKworICAgICAgICAgICAgIF9mb3JtYXRfdGltZShzZWxmLl9ob3VyLCBzZWxmLl9taW51dGUsIHNlbGYuX3NlY29uZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fbWljcm9zZWNvbmQpKQogICAgICAgICBvZmYgPSBzZWxmLnV0Y29mZnNldCgpCiAgICAgICAgIGlmIG9mZiBpcyBub3QgTm9uZToKICAgICAgICAgICAgIGlmIG9mZi5kYXlzIDwgMDoKQEAgLTE1NjksMTQgKzE1NjMsMTUgQEAKIAogICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKICAgICAgICAgIiIiQ29udmVydCB0byBmb3JtYWwgc3RyaW5nLCBmb3IgcmVwcigpLiIiIgotICAgICAgICBMID0gW3NlbGYuX3llYXIsIHNlbGYuX21vbnRoLCBzZWxmLl9kYXksICMgVGhlc2UgYXJlIG5ldmVyIHplcm8KKyAgICAgICAgTCA9IFtzZWxmLl95ZWFyLCBzZWxmLl9tb250aCwgc2VsZi5fZGF5LCAgIyBUaGVzZSBhcmUgbmV2ZXIgemVybwogICAgICAgICAgICAgIHNlbGYuX2hvdXIsIHNlbGYuX21pbnV0ZSwgc2VsZi5fc2Vjb25kLCBzZWxmLl9taWNyb3NlY29uZF0KICAgICAgICAgaWYgTFstMV0gPT0gMDoKICAgICAgICAgICAgIGRlbCBMWy0xXQogICAgICAgICBpZiBMWy0xXSA9PSAwOgogICAgICAgICAgICAgZGVsIExbLTFdCi0gICAgICAgIHMgPSAiLCAiLmpvaW4obWFwKHN0ciwgTCkpCi0gICAgICAgIHMgPSAiJXMoJXMpIiAlICgnZGF0ZXRpbWUuJyArIHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLCBzKQorICAgICAgICBzID0gIiVzLiVzKCVzKSIgJSAoc2VsZi5fX2NsYXNzX18uX19tb2R1bGVfXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX19jbGFzc19fLl9fcXVhbG5hbWVfXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICIsICIuam9pbihtYXAoc3RyLCBMKSkpCiAgICAgICAgIGlmIHNlbGYuX3R6aW5mbyBpcyBub3QgTm9uZToKICAgICAgICAgICAgIGFzc2VydCBzWy0xOl0gPT0gIikiCiAgICAgICAgICAgICBzID0gc1s6LTFdICsgIiwgdHppbmZvPSVyIiAlIHNlbGYuX3R6aW5mbyArICIpIgpAQCAtMTYwOCw3ICsxNjAzLDkgQEAKICAgICAgICAgaXQgbWVhbiBhbnl0aGluZyBpbiBwYXJ0aWN1bGFyLiBGb3IgZXhhbXBsZSwgIkdNVCIsICJVVEMiLCAiLTUwMCIsCiAgICAgICAgICItNTowMCIsICJFRFQiLCAiVVMvRWFzdGVybiIsICJBbWVyaWNhL05ldyBZb3JrIiBhcmUgYWxsIHZhbGlkIHJlcGxpZXMuCiAgICAgICAgICIiIgotICAgICAgICBuYW1lID0gX2NhbGxfdHppbmZvX21ldGhvZChzZWxmLl90emluZm8sICJ0em5hbWUiLCBzZWxmKQorICAgICAgICBpZiBzZWxmLl90emluZm8gaXMgTm9uZToKKyAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgIG5hbWUgPSBzZWxmLl90emluZm8udHpuYW1lKHNlbGYpCiAgICAgICAgIF9jaGVja190em5hbWUobmFtZSkKICAgICAgICAgcmV0dXJuIG5hbWUKIApAQCAtMTYzNywxNCArMTYzNCw2IEBACiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICByZXR1cm4gRmFsc2UKIAotICAgIGRlZiBfX25lX18oc2VsZiwgb3RoZXIpOgotICAgICAgICBpZiBpc2luc3RhbmNlKG90aGVyLCBkYXRldGltZSk6Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi5fY21wKG90aGVyLCBhbGxvd19taXhlZD1UcnVlKSAhPSAwCi0gICAgICAgIGVsaWYgbm90IGlzaW5zdGFuY2Uob3RoZXIsIGRhdGUpOgotICAgICAgICAgICAgcmV0dXJuIE5vdEltcGxlbWVudGVkCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gVHJ1ZQotCiAgICAgZGVmIF9fbGVfXyhzZWxmLCBvdGhlcik6CiAgICAgICAgIGlmIGlzaW5zdGFuY2Uob3RoZXIsIGRhdGV0aW1lKToKICAgICAgICAgICAgIHJldHVybiBzZWxmLl9jbXAob3RoZXIpIDw9IDAKQEAgLTE2OTQsOSArMTY4Myw5IEBACiAgICAgICAgICAgICByZXR1cm4gX2NtcCgoc2VsZi5feWVhciwgc2VsZi5fbW9udGgsIHNlbGYuX2RheSwKICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9ob3VyLCBzZWxmLl9taW51dGUsIHNlbGYuX3NlY29uZCwKICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9taWNyb3NlY29uZCksCi0gICAgICAgICAgICAgICAgICAgICAgIChvdGhlci5feWVhciwgb3RoZXIuX21vbnRoLCBvdGhlci5fZGF5LAotICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXIuX2hvdXIsIG90aGVyLl9taW51dGUsIG90aGVyLl9zZWNvbmQsCi0gICAgICAgICAgICAgICAgICAgICAgICBvdGhlci5fbWljcm9zZWNvbmQpKQorICAgICAgICAgICAgICAgICAgICAgICAgKG90aGVyLl95ZWFyLCBvdGhlci5fbW9udGgsIG90aGVyLl9kYXksCisgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXIuX2hvdXIsIG90aGVyLl9taW51dGUsIG90aGVyLl9zZWNvbmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXIuX21pY3Jvc2Vjb25kKSkKICAgICAgICAgaWYgbXlvZmYgaXMgTm9uZSBvciBvdG9mZiBpcyBOb25lOgogICAgICAgICAgICAgaWYgYWxsb3dfbWl4ZWQ6CiAgICAgICAgICAgICAgICAgcmV0dXJuIDIgIyBhcmJpdHJhcnkgbm9uLXplcm8gdmFsdWUKQEAgLTE3NTQsMTIgKzE3NDMsMTUgQEAKICAgICAgICAgcmV0dXJuIGJhc2UgKyBvdG9mZiAtIG15b2ZmCiAKICAgICBkZWYgX19oYXNoX18oc2VsZik6Ci0gICAgICAgIHR6b2ZmID0gc2VsZi51dGNvZmZzZXQoKQotICAgICAgICBpZiB0em9mZiBpcyBOb25lOgotICAgICAgICAgICAgcmV0dXJuIGhhc2goc2VsZi5fZ2V0c3RhdGUoKVswXSkKLSAgICAgICAgZGF5cyA9IF95bWQyb3JkKHNlbGYueWVhciwgc2VsZi5tb250aCwgc2VsZi5kYXkpCi0gICAgICAgIHNlY29uZHMgPSBzZWxmLmhvdXIgKiAzNjAwICsgc2VsZi5taW51dGUgKiA2MCArIHNlbGYuc2Vjb25kCi0gICAgICAgIHJldHVybiBoYXNoKHRpbWVkZWx0YShkYXlzLCBzZWNvbmRzLCBzZWxmLm1pY3Jvc2Vjb25kKSAtIHR6b2ZmKQorICAgICAgICBpZiBzZWxmLl9oYXNoY29kZSA9PSAtMToKKyAgICAgICAgICAgIHR6b2ZmID0gc2VsZi51dGNvZmZzZXQoKQorICAgICAgICAgICAgaWYgdHpvZmYgaXMgTm9uZToKKyAgICAgICAgICAgICAgICBzZWxmLl9oYXNoY29kZSA9IGhhc2goc2VsZi5fZ2V0c3RhdGUoKVswXSkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgZGF5cyA9IF95bWQyb3JkKHNlbGYueWVhciwgc2VsZi5tb250aCwgc2VsZi5kYXkpCisgICAgICAgICAgICAgICAgc2Vjb25kcyA9IHNlbGYuaG91ciAqIDM2MDAgKyBzZWxmLm1pbnV0ZSAqIDYwICsgc2VsZi5zZWNvbmQKKyAgICAgICAgICAgICAgICBzZWxmLl9oYXNoY29kZSA9IGhhc2godGltZWRlbHRhKGRheXMsIHNlY29uZHMsIHNlbGYubWljcm9zZWNvbmQpIC0gdHpvZmYpCisgICAgICAgIHJldHVybiBzZWxmLl9oYXNoY29kZQogCiAgICAgIyBQaWNrbGUgc3VwcG9ydC4KIApAQCAtMTc3NiwxNCArMTc2OCwxMyBAQAogICAgICAgICAgICAgcmV0dXJuIChiYXNlc3RhdGUsIHNlbGYuX3R6aW5mbykKIAogICAgIGRlZiBfX3NldHN0YXRlKHNlbGYsIHN0cmluZywgdHppbmZvKToKKyAgICAgICAgaWYgdHppbmZvIGlzIG5vdCBOb25lIGFuZCBub3QgaXNpbnN0YW5jZSh0emluZm8sIF90emluZm9fY2xhc3MpOgorICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJiYWQgdHppbmZvIHN0YXRlIGFyZyIpCiAgICAgICAgICh5aGksIHlsbywgc2VsZi5fbW9udGgsIHNlbGYuX2RheSwgc2VsZi5faG91ciwKICAgICAgICAgIHNlbGYuX21pbnV0ZSwgc2VsZi5fc2Vjb25kLCB1czEsIHVzMiwgdXMzKSA9IHN0cmluZwogICAgICAgICBzZWxmLl95ZWFyID0geWhpICogMjU2ICsgeWxvCiAgICAgICAgIHNlbGYuX21pY3Jvc2Vjb25kID0gKCgodXMxIDw8IDgpIHwgdXMyKSA8PCA4KSB8IHVzMwotICAgICAgICBpZiB0emluZm8gaXMgTm9uZSBvciBpc2luc3RhbmNlKHR6aW5mbywgX3R6aW5mb19jbGFzcyk6Ci0gICAgICAgICAgICBzZWxmLl90emluZm8gPSB0emluZm8KLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiYmFkIHR6aW5mbyBzdGF0ZSBhcmcgJXIiICUgdHppbmZvKQorICAgICAgICBzZWxmLl90emluZm8gPSB0emluZm8KIAogICAgIGRlZiBfX3JlZHVjZV9fKHNlbGYpOgogICAgICAgICByZXR1cm4gKHNlbGYuX19jbGFzc19fLCBzZWxmLl9nZXRzdGF0ZSgpKQpAQCAtMTc5OSw3ICsxNzkwLDcgQEAKICAgICAjIFhYWCBUaGlzIGNvdWxkIGJlIGRvbmUgbW9yZSBlZmZpY2llbnRseQogICAgIFRIVVJTREFZID0gMwogICAgIGZpcnN0ZGF5ID0gX3ltZDJvcmQoeWVhciwgMSwgMSkKLSAgICBmaXJzdHdlZWtkYXkgPSAoZmlyc3RkYXkgKyA2KSAlIDcgIyBTZWUgd2Vla2RheSgpIGFib3ZlCisgICAgZmlyc3R3ZWVrZGF5ID0gKGZpcnN0ZGF5ICsgNikgJSA3ICAjIFNlZSB3ZWVrZGF5KCkgYWJvdmUKICAgICB3ZWVrMW1vbmRheSA9IGZpcnN0ZGF5IC0gZmlyc3R3ZWVrZGF5CiAgICAgaWYgZmlyc3R3ZWVrZGF5ID4gVEhVUlNEQVk6CiAgICAgICAgIHdlZWsxbW9uZGF5ICs9IDcKQEAgLTE4MjAsMTMgKzE4MTEsMTIgQEAKICAgICAgICAgZWxpZiBub3QgaXNpbnN0YW5jZShuYW1lLCBzdHIpOgogICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJuYW1lIG11c3QgYmUgYSBzdHJpbmciKQogICAgICAgICBpZiBub3QgY2xzLl9taW5vZmZzZXQgPD0gb2Zmc2V0IDw9IGNscy5fbWF4b2Zmc2V0OgotICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigib2Zmc2V0IG11c3QgYmUgYSB0aW1lZGVsdGEiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgc3RyaWN0bHkgYmV0d2VlbiAtdGltZWRlbHRhKGhvdXJzPTI0KSBhbmQiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgdGltZWRlbHRhKGhvdXJzPTI0KS4iKQotICAgICAgICBpZiAob2Zmc2V0Lm1pY3Jvc2Vjb25kcyAhPSAwIG9yCi0gICAgICAgICAgICBvZmZzZXQuc2Vjb25kcyAlIDYwICE9IDApOgotICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigib2Zmc2V0IG11c3QgYmUgYSB0aW1lZGVsdGEiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgcmVwcmVzZW50aW5nIGEgd2hvbGUgbnVtYmVyIG9mIG1pbnV0ZXMiKQorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigib2Zmc2V0IG11c3QgYmUgYSB0aW1lZGVsdGEgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaWN0bHkgYmV0d2VlbiAtdGltZWRlbHRhKGhvdXJzPTI0KSBhbmQgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZWRlbHRhKGhvdXJzPTI0KS4iKQorICAgICAgICBpZiAob2Zmc2V0Lm1pY3Jvc2Vjb25kcyAhPSAwIG9yIG9mZnNldC5zZWNvbmRzICUgNjAgIT0gMCk6CisgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJvZmZzZXQgbXVzdCBiZSBhIHRpbWVkZWx0YSAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXByZXNlbnRpbmcgYSB3aG9sZSBudW1iZXIgb2YgbWludXRlcyIpCiAgICAgICAgIHJldHVybiBjbHMuX2NyZWF0ZShvZmZzZXQsIG5hbWUpCiAKICAgICBAY2xhc3NtZXRob2QKQEAgLTE4NjMsMTAgKzE4NTMsMTIgQEAKICAgICAgICAgaWYgc2VsZiBpcyBzZWxmLnV0YzoKICAgICAgICAgICAgIHJldHVybiAnZGF0ZXRpbWUudGltZXpvbmUudXRjJwogICAgICAgICBpZiBzZWxmLl9uYW1lIGlzIE5vbmU6Ci0gICAgICAgICAgICByZXR1cm4gIiVzKCVyKSIgJSAoJ2RhdGV0aW1lLicgKyBzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9vZmZzZXQpCi0gICAgICAgIHJldHVybiAiJXMoJXIsICVyKSIgJSAoJ2RhdGV0aW1lLicgKyBzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9vZmZzZXQsIHNlbGYuX25hbWUpCisgICAgICAgICAgICByZXR1cm4gIiVzLiVzKCVyKSIgJSAoc2VsZi5fX2NsYXNzX18uX19tb2R1bGVfXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9fY2xhc3NfXy5fX3F1YWxuYW1lX18sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fb2Zmc2V0KQorICAgICAgICByZXR1cm4gIiVzLiVzKCVyLCAlcikiICUgKHNlbGYuX19jbGFzc19fLl9fbW9kdWxlX18sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fX2NsYXNzX18uX19xdWFsbmFtZV9fLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX29mZnNldCwgc2VsZi5fbmFtZSkKIAogICAgIGRlZiBfX3N0cl9fKHNlbGYpOgogICAgICAgICByZXR1cm4gc2VsZi50em5hbWUoTm9uZSkKQEAgLTIxMjEsMTQgKzIxMTMsMTMgQEAKICAgICBwYXNzCiBlbHNlOgogICAgICMgQ2xlYW4gdXAgdW51c2VkIG5hbWVzCi0gICAgZGVsIChfREFZTkFNRVMsIF9EQVlTX0JFRk9SRV9NT05USCwgX0RBWVNfSU5fTU9OVEgsCi0gICAgICAgICBfREkxMDBZLCBfREk0MDBZLCBfREk0WSwgX01BWE9SRElOQUwsIF9NT05USE5BTUVTLAotICAgICAgICAgX2J1aWxkX3N0cnVjdF90aW1lLCBfY2FsbF90emluZm9fbWV0aG9kLCBfY2hlY2tfZGF0ZV9maWVsZHMsCi0gICAgICAgICBfY2hlY2tfdGltZV9maWVsZHMsIF9jaGVja190emluZm9fYXJnLCBfY2hlY2tfdHpuYW1lLAotICAgICAgICAgX2NoZWNrX3V0Y19vZmZzZXQsIF9jbXAsIF9jbXBlcnJvciwgX2RhdGVfY2xhc3MsIF9kYXlzX2JlZm9yZV9tb250aCwKLSAgICAgICAgIF9kYXlzX2JlZm9yZV95ZWFyLCBfZGF5c19pbl9tb250aCwgX2Zvcm1hdF90aW1lLCBfaXNfbGVhcCwKLSAgICAgICAgIF9pc293ZWVrMW1vbmRheSwgX21hdGgsIF9vcmQyeW1kLCBfdGltZSwgX3RpbWVfY2xhc3MsIF90emluZm9fY2xhc3MsCi0gICAgICAgICBfd3JhcF9zdHJmdGltZSwgX3ltZDJvcmQpCisgICAgZGVsIChfREFZTkFNRVMsIF9EQVlTX0JFRk9SRV9NT05USCwgX0RBWVNfSU5fTU9OVEgsIF9ESTEwMFksIF9ESTQwMFksCisgICAgICAgICBfREk0WSwgX0VQT0NILCBfTUFYT1JESU5BTCwgX01PTlRITkFNRVMsIF9idWlsZF9zdHJ1Y3RfdGltZSwKKyAgICAgICAgIF9jaGVja19kYXRlX2ZpZWxkcywgX2NoZWNrX2ludF9maWVsZCwgX2NoZWNrX3RpbWVfZmllbGRzLAorICAgICAgICAgX2NoZWNrX3R6aW5mb19hcmcsIF9jaGVja190em5hbWUsIF9jaGVja191dGNfb2Zmc2V0LCBfY21wLCBfY21wZXJyb3IsCisgICAgICAgICBfZGF0ZV9jbGFzcywgX2RheXNfYmVmb3JlX21vbnRoLCBfZGF5c19iZWZvcmVfeWVhciwgX2RheXNfaW5fbW9udGgsCisgICAgICAgICBfZm9ybWF0X3RpbWUsIF9pc19sZWFwLCBfaXNvd2VlazFtb25kYXksIF9tYXRoLCBfb3JkMnltZCwKKyAgICAgICAgIF90aW1lLCBfdGltZV9jbGFzcywgX3R6aW5mb19jbGFzcywgX3dyYXBfc3RyZnRpbWUsIF95bWQyb3JkKQogICAgICMgWFhYIFNpbmNlIGltcG9ydCAqIGFib3ZlIGV4Y2x1ZGVzIG5hbWVzIHRoYXQgc3RhcnQgd2l0aCBfLAogICAgICMgZG9jc3RyaW5nIGRvZXMgbm90IGdldCBvdmVyd3JpdHRlbi4gSW4gdGhlIGZ1dHVyZSwgaXQgbWF5IGJlCiAgICAgIyBhcHByb3ByaWF0ZSB0byBtYWludGFpbiBhIHNpbmdsZSBtb2R1bGUgbGV2ZWwgZG9jc3RyaW5nIGFuZApkaWZmIC0tZ2l0IGEvTGliL2RibS9kdW1iLnB5IGIvTGliL2RibS9kdW1iLnB5CmluZGV4IDhmNDhhYWQuLmY5NWFiODUgMTAwNjQ0Ci0tLSBhL0xpYi9kYm0vZHVtYi5weQorKysgYi9MaWIvZGJtL2R1bWIucHkKQEAgLTQ0LDcgKzQ0LDcgQEAKICAgICBfb3MgPSBfb3MgICAgICAgIyBmb3IgX2NvbW1pdCgpCiAgICAgX2lvID0gX2lvICAgICAgICMgZm9yIF9jb21taXQoKQogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGZpbGViYXNlbmFtZSwgbW9kZSk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGZpbGViYXNlbmFtZSwgbW9kZSwgZmxhZz0nYycpOgogICAgICAgICBzZWxmLl9tb2RlID0gbW9kZQogCiAgICAgICAgICMgVGhlIGRpcmVjdG9yeSBmaWxlIGlzIGEgdGV4dCBmaWxlLiAgRWFjaCBsaW5lIGxvb2tzIGxpa2UKQEAgLTY0LDYgKzY0LDE3IEBACiAgICAgICAgICMgVGhlIGluZGV4IGlzIGFuIGluLW1lbW9yeSBkaWN0LCBtaXJyb3JpbmcgdGhlIGRpcmVjdG9yeSBmaWxlLgogICAgICAgICBzZWxmLl9pbmRleCA9IE5vbmUgICMgbWFwcyBrZXlzIHRvIChwb3MsIHNpeikgcGFpcnMKIAorICAgICAgICAjIEhhbmRsZSB0aGUgY3JlYXRpb24KKyAgICAgICAgc2VsZi5fY3JlYXRlKGZsYWcpCisgICAgICAgIHNlbGYuX3VwZGF0ZSgpCisKKyAgICBkZWYgX2NyZWF0ZShzZWxmLCBmbGFnKToKKyAgICAgICAgaWYgZmxhZyA9PSAnbic6CisgICAgICAgICAgICBmb3IgZmlsZW5hbWUgaW4gKHNlbGYuX2RhdGZpbGUsIHNlbGYuX2Jha2ZpbGUsIHNlbGYuX2RpcmZpbGUpOgorICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgX29zLnJlbW92ZShmaWxlbmFtZSkKKyAgICAgICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoKKyAgICAgICAgICAgICAgICAgICAgcGFzcwogICAgICAgICAjIE1vZCBieSBKYWNrOiBjcmVhdGUgZGF0YSBmaWxlIGlmIG5lZWRlZAogICAgICAgICB0cnk6CiAgICAgICAgICAgICBmID0gX2lvLm9wZW4oc2VsZi5fZGF0ZmlsZSwgJ3InLCBlbmNvZGluZz0iTGF0aW4tMSIpCkBAIC03Miw3ICs4Myw2IEBACiAgICAgICAgICAgICAgICAgc2VsZi5fY2htb2Qoc2VsZi5fZGF0ZmlsZSkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGYuY2xvc2UoKQotICAgICAgICBzZWxmLl91cGRhdGUoKQogCiAgICAgIyBSZWFkIGRpcmVjdG9yeSBmaWxlIGludG8gdGhlIGluLW1lbW9yeSBpbmRleCBkaWN0LgogICAgIGRlZiBfdXBkYXRlKHNlbGYpOgpAQCAtMjYzLDIwICsyNzMsMjAgQEAKICAgICAgICAgc2VsZi5jbG9zZSgpCiAKIAotZGVmIG9wZW4oZmlsZSwgZmxhZz1Ob25lLCBtb2RlPTBvNjY2KToKK2RlZiBvcGVuKGZpbGUsIGZsYWc9J2MnLCBtb2RlPTBvNjY2KToKICAgICAiIiJPcGVuIHRoZSBkYXRhYmFzZSBmaWxlLCBmaWxlbmFtZSwgYW5kIHJldHVybiBjb3JyZXNwb25kaW5nIG9iamVjdC4KIAogICAgIFRoZSBmbGFnIGFyZ3VtZW50LCB1c2VkIHRvIGNvbnRyb2wgaG93IHRoZSBkYXRhYmFzZSBpcyBvcGVuZWQgaW4gdGhlCi0gICAgb3RoZXIgREJNIGltcGxlbWVudGF0aW9ucywgaXMgaWdub3JlZCBpbiB0aGUgZGJtLmR1bWIgbW9kdWxlOyB0aGUKLSAgICBkYXRhYmFzZSBpcyBhbHdheXMgb3BlbmVkIGZvciB1cGRhdGUsIGFuZCB3aWxsIGJlIGNyZWF0ZWQgaWYgaXQgZG9lcwotICAgIG5vdCBleGlzdC4KKyAgICBvdGhlciBEQk0gaW1wbGVtZW50YXRpb25zLCBzdXBwb3J0cyBvbmx5IHRoZSBzZW1hbnRpY3Mgb2YgJ2MnIGFuZCAnbicKKyAgICB2YWx1ZXMuICBPdGhlciB2YWx1ZXMgd2lsbCBkZWZhdWx0IHRvIHRoZSBzZW1hbnRpY3Mgb2YgJ2MnIHZhbHVlOgorICAgIHRoZSBkYXRhYmFzZSB3aWxsIGFsd2F5cyBvcGVuZWQgZm9yIHVwZGF0ZSBhbmQgd2lsbCBiZSBjcmVhdGVkIGlmIGl0CisgICAgZG9lcyBub3QgZXhpc3QuCiAKICAgICBUaGUgb3B0aW9uYWwgbW9kZSBhcmd1bWVudCBpcyB0aGUgVU5JWCBtb2RlIG9mIHRoZSBmaWxlLCB1c2VkIG9ubHkgd2hlbgogICAgIHRoZSBkYXRhYmFzZSBoYXMgdG8gYmUgY3JlYXRlZC4gIEl0IGRlZmF1bHRzIHRvIG9jdGFsIGNvZGUgMG82NjYgKGFuZAogICAgIHdpbGwgYmUgbW9kaWZpZWQgYnkgdGhlIHByZXZhaWxpbmcgdW1hc2spLgogCiAgICAgIiIiCi0gICAgIyBmbGFnIGFyZ3VtZW50IGlzIGN1cnJlbnRseSBpZ25vcmVkCiAKICAgICAjIE1vZGlmeSBtb2RlIGRlcGVuZGluZyBvbiB0aGUgdW1hc2sKICAgICB0cnk6CkBAIC0yODcsNSArMjk3LDQgQEAKICAgICBlbHNlOgogICAgICAgICAjIFR1cm4gb2ZmIGFueSBiaXRzIHRoYXQgYXJlIHNldCBpbiB0aGUgdW1hc2sKICAgICAgICAgbW9kZSA9IG1vZGUgJiAofnVtKQotCi0gICAgcmV0dXJuIF9EYXRhYmFzZShmaWxlLCBtb2RlKQorICAgIHJldHVybiBfRGF0YWJhc2UoZmlsZSwgbW9kZSwgZmxhZz1mbGFnKQpkaWZmIC0tZ2l0IGEvTGliL2RlY2ltYWwucHkgYi9MaWIvZGVjaW1hbC5weQppbmRleCBiMjU0ZjljLi43NzQ2ZWEyIDEwMDY0NAotLS0gYS9MaWIvZGVjaW1hbC5weQorKysgYi9MaWIvZGVjaW1hbC5weQpAQCAtMSw2NDE0ICsxLDExIEBACi0jIENvcHlyaWdodCAoYykgMjAwNCBQeXRob24gU29mdHdhcmUgRm91bmRhdGlvbi4KLSMgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLQotIyBXcml0dGVuIGJ5IEVyaWMgUHJpY2UgPGVwcmljZSBhdCB0amhzc3QuZWR1PgotIyAgICBhbmQgRmFjdW5kbyBCYXRpc3RhIDxmYWN1bmRvIGF0IHRhbmlxdWV0aWwuY29tLmFyPgotIyAgICBhbmQgUmF5bW9uZCBIZXR0aW5nZXIgPHB5dGhvbiBhdCByY24uY29tPgotIyAgICBhbmQgQWFoeiA8YWFoeiBhdCBwb2JveC5jb20+Ci0jICAgIGFuZCBUaW0gUGV0ZXJzCi0KLSMgVGhpcyBtb2R1bGUgc2hvdWxkIGJlIGtlcHQgaW4gc3luYyB3aXRoIHRoZSBsYXRlc3QgdXBkYXRlcyBvZiB0aGUKLSMgSUJNIHNwZWNpZmljYXRpb24gYXMgaXQgZXZvbHZlcy4gIFRob3NlIHVwZGF0ZXMgd2lsbCBiZSB0cmVhdGVkCi0jIGFzIGJ1ZyBmaXhlcyAoZGV2aWF0aW9uIGZyb20gdGhlIHNwZWMgaXMgYSBjb21wYXRpYmlsaXR5LCB1c2FiaWxpdHkKLSMgYnVnKSBhbmQgd2lsbCBiZSBiYWNrcG9ydGVkLiAgQXQgdGhpcyBwb2ludCB0aGUgc3BlYyBpcyBzdGFiaWxpemluZwotIyBhbmQgdGhlIHVwZGF0ZXMgYXJlIGJlY29taW5nIGZld2VyLCBzbWFsbGVyLCBhbmQgbGVzcyBzaWduaWZpY2FudC4KLQotIiIiCi1UaGlzIGlzIGFuIGltcGxlbWVudGF0aW9uIG9mIGRlY2ltYWwgZmxvYXRpbmcgcG9pbnQgYXJpdGhtZXRpYyBiYXNlZCBvbgotdGhlIEdlbmVyYWwgRGVjaW1hbCBBcml0aG1ldGljIFNwZWNpZmljYXRpb246Ci0KLSAgICBodHRwOi8vc3BlbGVvdHJvdmUuY29tL2RlY2ltYWwvZGVjYXJpdGguaHRtbAotCi1hbmQgSUVFRSBzdGFuZGFyZCA4NTQtMTk4NzoKLQotICAgIGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvSUVFRV84NTQtMTk4NwotCi1EZWNpbWFsIGZsb2F0aW5nIHBvaW50IGhhcyBmaW5pdGUgcHJlY2lzaW9uIHdpdGggYXJiaXRyYXJpbHkgbGFyZ2UgYm91bmRzLgotCi1UaGUgcHVycG9zZSBvZiB0aGlzIG1vZHVsZSBpcyB0byBzdXBwb3J0IGFyaXRobWV0aWMgdXNpbmcgZmFtaWxpYXIKLSJzY2hvb2xob3VzZSIgcnVsZXMgYW5kIHRvIGF2b2lkIHNvbWUgb2YgdGhlIHRyaWNreSByZXByZXNlbnRhdGlvbgotaXNzdWVzIGFzc29jaWF0ZWQgd2l0aCBiaW5hcnkgZmxvYXRpbmcgcG9pbnQuICBUaGUgcGFja2FnZSBpcyBlc3BlY2lhbGx5Ci11c2VmdWwgZm9yIGZpbmFuY2lhbCBhcHBsaWNhdGlvbnMgb3IgZm9yIGNvbnRleHRzIHdoZXJlIHVzZXJzIGhhdmUKLWV4cGVjdGF0aW9ucyB0aGF0IGFyZSBhdCBvZGRzIHdpdGggYmluYXJ5IGZsb2F0aW5nIHBvaW50IChmb3IgaW5zdGFuY2UsCi1pbiBiaW5hcnkgZmxvYXRpbmcgcG9pbnQsIDEuMDAgJSAwLjEgZ2l2ZXMgMC4wOTk5OTk5OTk5OTk5OTk5NSBpbnN0ZWFkCi1vZiAwLjA7IERlY2ltYWwoJzEuMDAnKSAlIERlY2ltYWwoJzAuMScpIHJldHVybnMgdGhlIGV4cGVjdGVkCi1EZWNpbWFsKCcwLjAwJykpLgotCi1IZXJlIGFyZSBzb21lIGV4YW1wbGVzIG9mIHVzaW5nIHRoZSBkZWNpbWFsIG1vZHVsZToKLQotPj4+IGZyb20gZGVjaW1hbCBpbXBvcnQgKgotPj4+IHNldGNvbnRleHQoRXh0ZW5kZWRDb250ZXh0KQotPj4+IERlY2ltYWwoMCkKLURlY2ltYWwoJzAnKQotPj4+IERlY2ltYWwoJzEnKQotRGVjaW1hbCgnMScpCi0+Pj4gRGVjaW1hbCgnLS4wMTIzJykKLURlY2ltYWwoJy0wLjAxMjMnKQotPj4+IERlY2ltYWwoMTIzNDU2KQotRGVjaW1hbCgnMTIzNDU2JykKLT4+PiBEZWNpbWFsKCcxMjMuNDVlMTIzNDU2NzgnKQotRGVjaW1hbCgnMS4yMzQ1RSsxMjM0NTY4MCcpCi0+Pj4gRGVjaW1hbCgnMS4zMycpICsgRGVjaW1hbCgnMS4yNycpCi1EZWNpbWFsKCcyLjYwJykKLT4+PiBEZWNpbWFsKCcxMi4zNCcpICsgRGVjaW1hbCgnMy44NycpIC0gRGVjaW1hbCgnMTguNDEnKQotRGVjaW1hbCgnLTIuMjAnKQotPj4+IGRpZyA9IERlY2ltYWwoMSkKLT4+PiBwcmludChkaWcgLyBEZWNpbWFsKDMpKQotMC4zMzMzMzMzMzMKLT4+PiBnZXRjb250ZXh0KCkucHJlYyA9IDE4Ci0+Pj4gcHJpbnQoZGlnIC8gRGVjaW1hbCgzKSkKLTAuMzMzMzMzMzMzMzMzMzMzMzMzCi0+Pj4gcHJpbnQoZGlnLnNxcnQoKSkKLTEKLT4+PiBwcmludChEZWNpbWFsKDMpLnNxcnQoKSkKLTEuNzMyMDUwODA3NTY4ODc3MjkKLT4+PiBwcmludChEZWNpbWFsKDMpICoqIDEyMykKLTQuODUxOTI3ODA5NzY4OTY0MjdFKzU4Ci0+Pj4gaW5mID0gRGVjaW1hbCgxKSAvIERlY2ltYWwoMCkKLT4+PiBwcmludChpbmYpCi1JbmZpbml0eQotPj4+IG5lZ2luZiA9IERlY2ltYWwoLTEpIC8gRGVjaW1hbCgwKQotPj4+IHByaW50KG5lZ2luZikKLS1JbmZpbml0eQotPj4+IHByaW50KG5lZ2luZiArIGluZikKLU5hTgotPj4+IHByaW50KG5lZ2luZiAqIGluZikKLS1JbmZpbml0eQotPj4+IHByaW50KGRpZyAvIDApCi1JbmZpbml0eQotPj4+IGdldGNvbnRleHQoKS50cmFwc1tEaXZpc2lvbkJ5WmVyb10gPSAxCi0+Pj4gcHJpbnQoZGlnIC8gMCkKLVRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKLSAgLi4uCi0gIC4uLgotICAuLi4KLWRlY2ltYWwuRGl2aXNpb25CeVplcm86IHggLyAwCi0+Pj4gYyA9IENvbnRleHQoKQotPj4+IGMudHJhcHNbSW52YWxpZE9wZXJhdGlvbl0gPSAwCi0+Pj4gcHJpbnQoYy5mbGFnc1tJbnZhbGlkT3BlcmF0aW9uXSkKLTAKLT4+PiBjLmRpdmlkZShEZWNpbWFsKDApLCBEZWNpbWFsKDApKQotRGVjaW1hbCgnTmFOJykKLT4+PiBjLnRyYXBzW0ludmFsaWRPcGVyYXRpb25dID0gMQotPj4+IHByaW50KGMuZmxhZ3NbSW52YWxpZE9wZXJhdGlvbl0pCi0xCi0+Pj4gYy5mbGFnc1tJbnZhbGlkT3BlcmF0aW9uXSA9IDAKLT4+PiBwcmludChjLmZsYWdzW0ludmFsaWRPcGVyYXRpb25dKQotMAotPj4+IHByaW50KGMuZGl2aWRlKERlY2ltYWwoMCksIERlY2ltYWwoMCkpKQotVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgotICAuLi4KLSAgLi4uCi0gIC4uLgotZGVjaW1hbC5JbnZhbGlkT3BlcmF0aW9uOiAwIC8gMAotPj4+IHByaW50KGMuZmxhZ3NbSW52YWxpZE9wZXJhdGlvbl0pCi0xCi0+Pj4gYy5mbGFnc1tJbnZhbGlkT3BlcmF0aW9uXSA9IDAKLT4+PiBjLnRyYXBzW0ludmFsaWRPcGVyYXRpb25dID0gMAotPj4+IHByaW50KGMuZGl2aWRlKERlY2ltYWwoMCksIERlY2ltYWwoMCkpKQotTmFOCi0+Pj4gcHJpbnQoYy5mbGFnc1tJbnZhbGlkT3BlcmF0aW9uXSkKLTEKLT4+PgotIiIiCi0KLV9fYWxsX18gPSBbCi0gICAgIyBUd28gbWFqb3IgY2xhc3NlcwotICAgICdEZWNpbWFsJywgJ0NvbnRleHQnLAotCi0gICAgIyBOYW1lZCB0dXBsZSByZXByZXNlbnRhdGlvbgotICAgICdEZWNpbWFsVHVwbGUnLAotCi0gICAgIyBDb250ZXh0cwotICAgICdEZWZhdWx0Q29udGV4dCcsICdCYXNpY0NvbnRleHQnLCAnRXh0ZW5kZWRDb250ZXh0JywKLQotICAgICMgRXhjZXB0aW9ucwotICAgICdEZWNpbWFsRXhjZXB0aW9uJywgJ0NsYW1wZWQnLCAnSW52YWxpZE9wZXJhdGlvbicsICdEaXZpc2lvbkJ5WmVybycsCi0gICAgJ0luZXhhY3QnLCAnUm91bmRlZCcsICdTdWJub3JtYWwnLCAnT3ZlcmZsb3cnLCAnVW5kZXJmbG93JywKLSAgICAnRmxvYXRPcGVyYXRpb24nLAotCi0gICAgIyBFeGNlcHRpb25hbCBjb25kaXRpb25zIHRoYXQgdHJpZ2dlciBJbnZhbGlkT3BlcmF0aW9uCi0gICAgJ0RpdmlzaW9uSW1wb3NzaWJsZScsICdJbnZhbGlkQ29udGV4dCcsICdDb252ZXJzaW9uU3ludGF4JywgJ0RpdmlzaW9uVW5kZWZpbmVkJywKLQotICAgICMgQ29uc3RhbnRzIGZvciB1c2UgaW4gc2V0dGluZyB1cCBjb250ZXh0cwotICAgICdST1VORF9ET1dOJywgJ1JPVU5EX0hBTEZfVVAnLCAnUk9VTkRfSEFMRl9FVkVOJywgJ1JPVU5EX0NFSUxJTkcnLAotICAgICdST1VORF9GTE9PUicsICdST1VORF9VUCcsICdST1VORF9IQUxGX0RPV04nLCAnUk9VTkRfMDVVUCcsCi0KLSAgICAjIEZ1bmN0aW9ucyBmb3IgbWFuaXB1bGF0aW5nIGNvbnRleHRzCi0gICAgJ3NldGNvbnRleHQnLCAnZ2V0Y29udGV4dCcsICdsb2NhbGNvbnRleHQnLAotCi0gICAgIyBMaW1pdHMgZm9yIHRoZSBDIHZlcnNpb24gZm9yIGNvbXBhdGliaWxpdHkKLSAgICAnTUFYX1BSRUMnLCAgJ01BWF9FTUFYJywgJ01JTl9FTUlOJywgJ01JTl9FVElOWScsCi0KLSAgICAjIEMgdmVyc2lvbjogY29tcGlsZSB0aW1lIGNob2ljZSB0aGF0IGVuYWJsZXMgdGhlIHRocmVhZCBsb2NhbCBjb250ZXh0Ci0gICAgJ0hBVkVfVEhSRUFEUycKLV0KLQotX192ZXJzaW9uX18gPSAnMS43MCcgICAgIyBIaWdoZXN0IHZlcnNpb24gb2YgdGhlIHNwZWMgdGhpcyBjb21wbGllcyB3aXRoCi0gICAgICAgICAgICAgICAgICAgICAgICAjIFNlZSBodHRwOi8vc3BlbGVvdHJvdmUuY29tL2RlY2ltYWwvCi1fX2xpYm1wZGVjX3ZlcnNpb25fXyA9ICIyLjQuMSIgIyBjb21wYXRpYmxlIGxpYm1wZGVjIHZlcnNpb24KLQotaW1wb3J0IG1hdGggYXMgX21hdGgKLWltcG9ydCBudW1iZXJzIGFzIF9udW1iZXJzCi1pbXBvcnQgc3lzCiAKIHRyeToKLSAgICBmcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBuYW1lZHR1cGxlIGFzIF9uYW1lZHR1cGxlCi0gICAgRGVjaW1hbFR1cGxlID0gX25hbWVkdHVwbGUoJ0RlY2ltYWxUdXBsZScsICdzaWduIGRpZ2l0cyBleHBvbmVudCcpCi1leGNlcHQgSW1wb3J0RXJyb3I6Ci0gICAgRGVjaW1hbFR1cGxlID0gbGFtYmRhICphcmdzOiBhcmdzCi0KLSMgUm91bmRpbmcKLVJPVU5EX0RPV04gPSAnUk9VTkRfRE9XTicKLVJPVU5EX0hBTEZfVVAgPSAnUk9VTkRfSEFMRl9VUCcKLVJPVU5EX0hBTEZfRVZFTiA9ICdST1VORF9IQUxGX0VWRU4nCi1ST1VORF9DRUlMSU5HID0gJ1JPVU5EX0NFSUxJTkcnCi1ST1VORF9GTE9PUiA9ICdST1VORF9GTE9PUicKLVJPVU5EX1VQID0gJ1JPVU5EX1VQJwotUk9VTkRfSEFMRl9ET1dOID0gJ1JPVU5EX0hBTEZfRE9XTicKLVJPVU5EXzA1VVAgPSAnUk9VTkRfMDVVUCcKLQotIyBDb21wYXRpYmlsaXR5IHdpdGggdGhlIEMgdmVyc2lvbgotSEFWRV9USFJFQURTID0gVHJ1ZQotaWYgc3lzLm1heHNpemUgPT0gMioqNjMtMToKLSAgICBNQVhfUFJFQyA9IDk5OTk5OTk5OTk5OTk5OTk5OQotICAgIE1BWF9FTUFYID0gOTk5OTk5OTk5OTk5OTk5OTk5Ci0gICAgTUlOX0VNSU4gPSAtOTk5OTk5OTk5OTk5OTk5OTk5Ci1lbHNlOgotICAgIE1BWF9QUkVDID0gNDI1MDAwMDAwCi0gICAgTUFYX0VNQVggPSA0MjUwMDAwMDAKLSAgICBNSU5fRU1JTiA9IC00MjUwMDAwMDAKLQotTUlOX0VUSU5ZID0gTUlOX0VNSU4gLSAoTUFYX1BSRUMtMSkKLQotIyBFcnJvcnMKLQotY2xhc3MgRGVjaW1hbEV4Y2VwdGlvbihBcml0aG1ldGljRXJyb3IpOgotICAgICIiIkJhc2UgZXhjZXB0aW9uIGNsYXNzLgotCi0gICAgVXNlZCBleGNlcHRpb25zIGRlcml2ZSBmcm9tIHRoaXMuCi0gICAgSWYgYW4gZXhjZXB0aW9uIGRlcml2ZXMgZnJvbSBhbm90aGVyIGV4Y2VwdGlvbiBiZXNpZGVzIHRoaXMgKHN1Y2ggYXMKLSAgICBVbmRlcmZsb3cgKEluZXhhY3QsIFJvdW5kZWQsIFN1Ym5vcm1hbCkgdGhhdCBpbmRpY2F0ZXMgdGhhdCBpdCBpcyBvbmx5Ci0gICAgY2FsbGVkIGlmIHRoZSBvdGhlcnMgYXJlIHByZXNlbnQuICBUaGlzIGlzbid0IGFjdHVhbGx5IHVzZWQgZm9yCi0gICAgYW55dGhpbmcsIHRob3VnaC4KLQotICAgIGhhbmRsZSAgLS0gQ2FsbGVkIHdoZW4gY29udGV4dC5fcmFpc2VfZXJyb3IgaXMgY2FsbGVkIGFuZCB0aGUKLSAgICAgICAgICAgICAgIHRyYXBfZW5hYmxlciBpcyBub3Qgc2V0LiAgRmlyc3QgYXJndW1lbnQgaXMgc2VsZiwgc2Vjb25kIGlzIHRoZQotICAgICAgICAgICAgICAgY29udGV4dC4gIE1vcmUgYXJndW1lbnRzIGNhbiBiZSBnaXZlbiwgdGhvc2UgYmVpbmcgYWZ0ZXIKLSAgICAgICAgICAgICAgIHRoZSBleHBsYW5hdGlvbiBpbiBfcmFpc2VfZXJyb3IgKEZvciBleGFtcGxlLAotICAgICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoTmV3RXJyb3IsICcoLXgpIScsIHNlbGYuX3NpZ24pIHdvdWxkCi0gICAgICAgICAgICAgICBjYWxsIE5ld0Vycm9yKCkuaGFuZGxlKGNvbnRleHQsIHNlbGYuX3NpZ24pLikKLQotICAgIFRvIGRlZmluZSBhIG5ldyBleGNlcHRpb24sIGl0IHNob3VsZCBiZSBzdWZmaWNpZW50IHRvIGhhdmUgaXQgZGVyaXZlCi0gICAgZnJvbSBEZWNpbWFsRXhjZXB0aW9uLgotICAgICIiIgotICAgIGRlZiBoYW5kbGUoc2VsZiwgY29udGV4dCwgKmFyZ3MpOgotICAgICAgICBwYXNzCi0KLQotY2xhc3MgQ2xhbXBlZChEZWNpbWFsRXhjZXB0aW9uKToKLSAgICAiIiJFeHBvbmVudCBvZiBhIDAgY2hhbmdlZCB0byBmaXQgYm91bmRzLgotCi0gICAgVGhpcyBvY2N1cnMgYW5kIHNpZ25hbHMgY2xhbXBlZCBpZiB0aGUgZXhwb25lbnQgb2YgYSByZXN1bHQgaGFzIGJlZW4KLSAgICBhbHRlcmVkIGluIG9yZGVyIHRvIGZpdCB0aGUgY29uc3RyYWludHMgb2YgYSBzcGVjaWZpYyBjb25jcmV0ZQotICAgIHJlcHJlc2VudGF0aW9uLiAgVGhpcyBtYXkgb2NjdXIgd2hlbiB0aGUgZXhwb25lbnQgb2YgYSB6ZXJvIHJlc3VsdCB3b3VsZAotICAgIGJlIG91dHNpZGUgdGhlIGJvdW5kcyBvZiBhIHJlcHJlc2VudGF0aW9uLCBvciB3aGVuIGEgbGFyZ2Ugbm9ybWFsCi0gICAgbnVtYmVyIHdvdWxkIGhhdmUgYW4gZW5jb2RlZCBleHBvbmVudCB0aGF0IGNhbm5vdCBiZSByZXByZXNlbnRlZC4gIEluCi0gICAgdGhpcyBsYXR0ZXIgY2FzZSwgdGhlIGV4cG9uZW50IGlzIHJlZHVjZWQgdG8gZml0IGFuZCB0aGUgY29ycmVzcG9uZGluZwotICAgIG51bWJlciBvZiB6ZXJvIGRpZ2l0cyBhcmUgYXBwZW5kZWQgdG8gdGhlIGNvZWZmaWNpZW50ICgiZm9sZC1kb3duIikuCi0gICAgIiIiCi0KLWNsYXNzIEludmFsaWRPcGVyYXRpb24oRGVjaW1hbEV4Y2VwdGlvbik6Ci0gICAgIiIiQW4gaW52YWxpZCBvcGVyYXRpb24gd2FzIHBlcmZvcm1lZC4KLQotICAgIFZhcmlvdXMgYmFkIHRoaW5ncyBjYXVzZSB0aGlzOgotCi0gICAgU29tZXRoaW5nIGNyZWF0ZXMgYSBzaWduYWxpbmcgTmFOCi0gICAgLUlORiArIElORgotICAgIDAgKiAoKy0pSU5GCi0gICAgKCstKUlORiAvICgrLSlJTkYKLSAgICB4ICUgMAotICAgICgrLSlJTkYgJSB4Ci0gICAgeC5fcmVzY2FsZSggbm9uLWludGVnZXIgKQotICAgIHNxcnQoLXgpICwgeCA+IDAKLSAgICAwICoqIDAKLSAgICB4ICoqIChub24taW50ZWdlcikKLSAgICB4ICoqICgrLSlJTkYKLSAgICBBbiBvcGVyYW5kIGlzIGludmFsaWQKLQotICAgIFRoZSByZXN1bHQgb2YgdGhlIG9wZXJhdGlvbiBhZnRlciB0aGVzZSBpcyBhIHF1aWV0IHBvc2l0aXZlIE5hTiwKLSAgICBleGNlcHQgd2hlbiB0aGUgY2F1c2UgaXMgYSBzaWduYWxpbmcgTmFOLCBpbiB3aGljaCBjYXNlIHRoZSByZXN1bHQgaXMKLSAgICBhbHNvIGEgcXVpZXQgTmFOLCBidXQgd2l0aCB0aGUgb3JpZ2luYWwgc2lnbiwgYW5kIGFuIG9wdGlvbmFsCi0gICAgZGlhZ25vc3RpYyBpbmZvcm1hdGlvbi4KLSAgICAiIiIKLSAgICBkZWYgaGFuZGxlKHNlbGYsIGNvbnRleHQsICphcmdzKToKLSAgICAgICAgaWYgYXJnczoKLSAgICAgICAgICAgIGFucyA9IF9kZWNfZnJvbV90cmlwbGUoYXJnc1swXS5fc2lnbiwgYXJnc1swXS5faW50LCAnbicsIFRydWUpCi0gICAgICAgICAgICByZXR1cm4gYW5zLl9maXhfbmFuKGNvbnRleHQpCi0gICAgICAgIHJldHVybiBfTmFOCi0KLWNsYXNzIENvbnZlcnNpb25TeW50YXgoSW52YWxpZE9wZXJhdGlvbik6Ci0gICAgIiIiVHJ5aW5nIHRvIGNvbnZlcnQgYmFkbHkgZm9ybWVkIHN0cmluZy4KLQotICAgIFRoaXMgb2NjdXJzIGFuZCBzaWduYWxzIGludmFsaWQtb3BlcmF0aW9uIGlmIGFuIHN0cmluZyBpcyBiZWluZwotICAgIGNvbnZlcnRlZCB0byBhIG51bWJlciBhbmQgaXQgZG9lcyBub3QgY29uZm9ybSB0byB0aGUgbnVtZXJpYyBzdHJpbmcKLSAgICBzeW50YXguICBUaGUgcmVzdWx0IGlzIFswLHFOYU5dLgotICAgICIiIgotICAgIGRlZiBoYW5kbGUoc2VsZiwgY29udGV4dCwgKmFyZ3MpOgotICAgICAgICByZXR1cm4gX05hTgotCi1jbGFzcyBEaXZpc2lvbkJ5WmVybyhEZWNpbWFsRXhjZXB0aW9uLCBaZXJvRGl2aXNpb25FcnJvcik6Ci0gICAgIiIiRGl2aXNpb24gYnkgMC4KLQotICAgIFRoaXMgb2NjdXJzIGFuZCBzaWduYWxzIGRpdmlzaW9uLWJ5LXplcm8gaWYgZGl2aXNpb24gb2YgYSBmaW5pdGUgbnVtYmVyCi0gICAgYnkgemVybyB3YXMgYXR0ZW1wdGVkIChkdXJpbmcgYSBkaXZpZGUtaW50ZWdlciBvciBkaXZpZGUgb3BlcmF0aW9uLCBvciBhCi0gICAgcG93ZXIgb3BlcmF0aW9uIHdpdGggbmVnYXRpdmUgcmlnaHQtaGFuZCBvcGVyYW5kKSwgYW5kIHRoZSBkaXZpZGVuZCB3YXMKLSAgICBub3QgemVyby4KLQotICAgIFRoZSByZXN1bHQgb2YgdGhlIG9wZXJhdGlvbiBpcyBbc2lnbixpbmZdLCB3aGVyZSBzaWduIGlzIHRoZSBleGNsdXNpdmUKLSAgICBvciBvZiB0aGUgc2lnbnMgb2YgdGhlIG9wZXJhbmRzIGZvciBkaXZpZGUsIG9yIGlzIDEgZm9yIGFuIG9kZCBwb3dlciBvZgotICAgIC0wLCBmb3IgcG93ZXIuCi0gICAgIiIiCi0KLSAgICBkZWYgaGFuZGxlKHNlbGYsIGNvbnRleHQsIHNpZ24sICphcmdzKToKLSAgICAgICAgcmV0dXJuIF9TaWduZWRJbmZpbml0eVtzaWduXQotCi1jbGFzcyBEaXZpc2lvbkltcG9zc2libGUoSW52YWxpZE9wZXJhdGlvbik6Ci0gICAgIiIiQ2Fubm90IHBlcmZvcm0gdGhlIGRpdmlzaW9uIGFkZXF1YXRlbHkuCi0KLSAgICBUaGlzIG9jY3VycyBhbmQgc2lnbmFscyBpbnZhbGlkLW9wZXJhdGlvbiBpZiB0aGUgaW50ZWdlciByZXN1bHQgb2YgYQotICAgIGRpdmlkZS1pbnRlZ2VyIG9yIHJlbWFpbmRlciBvcGVyYXRpb24gaGFkIHRvbyBtYW55IGRpZ2l0cyAod291bGQgYmUKLSAgICBsb25nZXIgdGhhbiBwcmVjaXNpb24pLiAgVGhlIHJlc3VsdCBpcyBbMCxxTmFOXS4KLSAgICAiIiIKLQotICAgIGRlZiBoYW5kbGUoc2VsZiwgY29udGV4dCwgKmFyZ3MpOgotICAgICAgICByZXR1cm4gX05hTgotCi1jbGFzcyBEaXZpc2lvblVuZGVmaW5lZChJbnZhbGlkT3BlcmF0aW9uLCBaZXJvRGl2aXNpb25FcnJvcik6Ci0gICAgIiIiVW5kZWZpbmVkIHJlc3VsdCBvZiBkaXZpc2lvbi4KLQotICAgIFRoaXMgb2NjdXJzIGFuZCBzaWduYWxzIGludmFsaWQtb3BlcmF0aW9uIGlmIGRpdmlzaW9uIGJ5IHplcm8gd2FzCi0gICAgYXR0ZW1wdGVkIChkdXJpbmcgYSBkaXZpZGUtaW50ZWdlciwgZGl2aWRlLCBvciByZW1haW5kZXIgb3BlcmF0aW9uKSwgYW5kCi0gICAgdGhlIGRpdmlkZW5kIGlzIGFsc28gemVyby4gIFRoZSByZXN1bHQgaXMgWzAscU5hTl0uCi0gICAgIiIiCi0KLSAgICBkZWYgaGFuZGxlKHNlbGYsIGNvbnRleHQsICphcmdzKToKLSAgICAgICAgcmV0dXJuIF9OYU4KLQotY2xhc3MgSW5leGFjdChEZWNpbWFsRXhjZXB0aW9uKToKLSAgICAiIiJIYWQgdG8gcm91bmQsIGxvc2luZyBpbmZvcm1hdGlvbi4KLQotICAgIFRoaXMgb2NjdXJzIGFuZCBzaWduYWxzIGluZXhhY3Qgd2hlbmV2ZXIgdGhlIHJlc3VsdCBvZiBhbiBvcGVyYXRpb24gaXMKLSAgICBub3QgZXhhY3QgKHRoYXQgaXMsIGl0IG5lZWRlZCB0byBiZSByb3VuZGVkIGFuZCBhbnkgZGlzY2FyZGVkIGRpZ2l0cwotICAgIHdlcmUgbm9uLXplcm8pLCBvciBpZiBhbiBvdmVyZmxvdyBvciB1bmRlcmZsb3cgY29uZGl0aW9uIG9jY3Vycy4gIFRoZQotICAgIHJlc3VsdCBpbiBhbGwgY2FzZXMgaXMgdW5jaGFuZ2VkLgotCi0gICAgVGhlIGluZXhhY3Qgc2lnbmFsIG1heSBiZSB0ZXN0ZWQgKG9yIHRyYXBwZWQpIHRvIGRldGVybWluZSBpZiBhIGdpdmVuCi0gICAgb3BlcmF0aW9uIChvciBzZXF1ZW5jZSBvZiBvcGVyYXRpb25zKSB3YXMgaW5leGFjdC4KLSAgICAiIiIKLQotY2xhc3MgSW52YWxpZENvbnRleHQoSW52YWxpZE9wZXJhdGlvbik6Ci0gICAgIiIiSW52YWxpZCBjb250ZXh0LiAgVW5rbm93biByb3VuZGluZywgZm9yIGV4YW1wbGUuCi0KLSAgICBUaGlzIG9jY3VycyBhbmQgc2lnbmFscyBpbnZhbGlkLW9wZXJhdGlvbiBpZiBhbiBpbnZhbGlkIGNvbnRleHQgd2FzCi0gICAgZGV0ZWN0ZWQgZHVyaW5nIGFuIG9wZXJhdGlvbi4gIFRoaXMgY2FuIG9jY3VyIGlmIGNvbnRleHRzIGFyZSBub3QgY2hlY2tlZAotICAgIG9uIGNyZWF0aW9uIGFuZCBlaXRoZXIgdGhlIHByZWNpc2lvbiBleGNlZWRzIHRoZSBjYXBhYmlsaXR5IG9mIHRoZQotICAgIHVuZGVybHlpbmcgY29uY3JldGUgcmVwcmVzZW50YXRpb24gb3IgYW4gdW5rbm93biBvciB1bnN1cHBvcnRlZCByb3VuZGluZwotICAgIHdhcyBzcGVjaWZpZWQuICBUaGVzZSBhc3BlY3RzIG9mIHRoZSBjb250ZXh0IG5lZWQgb25seSBiZSBjaGVja2VkIHdoZW4KLSAgICB0aGUgdmFsdWVzIGFyZSByZXF1aXJlZCB0byBiZSB1c2VkLiAgVGhlIHJlc3VsdCBpcyBbMCxxTmFOXS4KLSAgICAiIiIKLQotICAgIGRlZiBoYW5kbGUoc2VsZiwgY29udGV4dCwgKmFyZ3MpOgotICAgICAgICByZXR1cm4gX05hTgotCi1jbGFzcyBSb3VuZGVkKERlY2ltYWxFeGNlcHRpb24pOgotICAgICIiIk51bWJlciBnb3Qgcm91bmRlZCAobm90ICBuZWNlc3NhcmlseSBjaGFuZ2VkIGR1cmluZyByb3VuZGluZykuCi0KLSAgICBUaGlzIG9jY3VycyBhbmQgc2lnbmFscyByb3VuZGVkIHdoZW5ldmVyIHRoZSByZXN1bHQgb2YgYW4gb3BlcmF0aW9uIGlzCi0gICAgcm91bmRlZCAodGhhdCBpcywgc29tZSB6ZXJvIG9yIG5vbi16ZXJvIGRpZ2l0cyB3ZXJlIGRpc2NhcmRlZCBmcm9tIHRoZQotICAgIGNvZWZmaWNpZW50KSwgb3IgaWYgYW4gb3ZlcmZsb3cgb3IgdW5kZXJmbG93IGNvbmRpdGlvbiBvY2N1cnMuICBUaGUKLSAgICByZXN1bHQgaW4gYWxsIGNhc2VzIGlzIHVuY2hhbmdlZC4KLQotICAgIFRoZSByb3VuZGVkIHNpZ25hbCBtYXkgYmUgdGVzdGVkIChvciB0cmFwcGVkKSB0byBkZXRlcm1pbmUgaWYgYSBnaXZlbgotICAgIG9wZXJhdGlvbiAob3Igc2VxdWVuY2Ugb2Ygb3BlcmF0aW9ucykgY2F1c2VkIGEgbG9zcyBvZiBwcmVjaXNpb24uCi0gICAgIiIiCi0KLWNsYXNzIFN1Ym5vcm1hbChEZWNpbWFsRXhjZXB0aW9uKToKLSAgICAiIiJFeHBvbmVudCA8IEVtaW4gYmVmb3JlIHJvdW5kaW5nLgotCi0gICAgVGhpcyBvY2N1cnMgYW5kIHNpZ25hbHMgc3Vibm9ybWFsIHdoZW5ldmVyIHRoZSByZXN1bHQgb2YgYSBjb252ZXJzaW9uIG9yCi0gICAgb3BlcmF0aW9uIGlzIHN1Ym5vcm1hbCAodGhhdCBpcywgaXRzIGFkanVzdGVkIGV4cG9uZW50IGlzIGxlc3MgdGhhbgotICAgIEVtaW4sIGJlZm9yZSBhbnkgcm91bmRpbmcpLiAgVGhlIHJlc3VsdCBpbiBhbGwgY2FzZXMgaXMgdW5jaGFuZ2VkLgotCi0gICAgVGhlIHN1Ym5vcm1hbCBzaWduYWwgbWF5IGJlIHRlc3RlZCAob3IgdHJhcHBlZCkgdG8gZGV0ZXJtaW5lIGlmIGEgZ2l2ZW4KLSAgICBvciBvcGVyYXRpb24gKG9yIHNlcXVlbmNlIG9mIG9wZXJhdGlvbnMpIHlpZWxkZWQgYSBzdWJub3JtYWwgcmVzdWx0LgotICAgICIiIgotCi1jbGFzcyBPdmVyZmxvdyhJbmV4YWN0LCBSb3VuZGVkKToKLSAgICAiIiJOdW1lcmljYWwgb3ZlcmZsb3cuCi0KLSAgICBUaGlzIG9jY3VycyBhbmQgc2lnbmFscyBvdmVyZmxvdyBpZiB0aGUgYWRqdXN0ZWQgZXhwb25lbnQgb2YgYSByZXN1bHQKLSAgICAoZnJvbSBhIGNvbnZlcnNpb24gb3IgZnJvbSBhbiBvcGVyYXRpb24gdGhhdCBpcyBub3QgYW4gYXR0ZW1wdCB0byBkaXZpZGUKLSAgICBieSB6ZXJvKSwgYWZ0ZXIgcm91bmRpbmcsIHdvdWxkIGJlIGdyZWF0ZXIgdGhhbiB0aGUgbGFyZ2VzdCB2YWx1ZSB0aGF0Ci0gICAgY2FuIGJlIGhhbmRsZWQgYnkgdGhlIGltcGxlbWVudGF0aW9uICh0aGUgdmFsdWUgRW1heCkuCi0KLSAgICBUaGUgcmVzdWx0IGRlcGVuZHMgb24gdGhlIHJvdW5kaW5nIG1vZGU6Ci0KLSAgICBGb3Igcm91bmQtaGFsZi11cCBhbmQgcm91bmQtaGFsZi1ldmVuIChhbmQgZm9yIHJvdW5kLWhhbGYtZG93biBhbmQKLSAgICByb3VuZC11cCwgaWYgaW1wbGVtZW50ZWQpLCB0aGUgcmVzdWx0IG9mIHRoZSBvcGVyYXRpb24gaXMgW3NpZ24saW5mXSwKLSAgICB3aGVyZSBzaWduIGlzIHRoZSBzaWduIG9mIHRoZSBpbnRlcm1lZGlhdGUgcmVzdWx0LiAgRm9yIHJvdW5kLWRvd24sIHRoZQotICAgIHJlc3VsdCBpcyB0aGUgbGFyZ2VzdCBmaW5pdGUgbnVtYmVyIHRoYXQgY2FuIGJlIHJlcHJlc2VudGVkIGluIHRoZQotICAgIGN1cnJlbnQgcHJlY2lzaW9uLCB3aXRoIHRoZSBzaWduIG9mIHRoZSBpbnRlcm1lZGlhdGUgcmVzdWx0LiAgRm9yCi0gICAgcm91bmQtY2VpbGluZywgdGhlIHJlc3VsdCBpcyB0aGUgc2FtZSBhcyBmb3Igcm91bmQtZG93biBpZiB0aGUgc2lnbiBvZgotICAgIHRoZSBpbnRlcm1lZGlhdGUgcmVzdWx0IGlzIDEsIG9yIGlzIFswLGluZl0gb3RoZXJ3aXNlLiAgRm9yIHJvdW5kLWZsb29yLAotICAgIHRoZSByZXN1bHQgaXMgdGhlIHNhbWUgYXMgZm9yIHJvdW5kLWRvd24gaWYgdGhlIHNpZ24gb2YgdGhlIGludGVybWVkaWF0ZQotICAgIHJlc3VsdCBpcyAwLCBvciBpcyBbMSxpbmZdIG90aGVyd2lzZS4gIEluIGFsbCBjYXNlcywgSW5leGFjdCBhbmQgUm91bmRlZAotICAgIHdpbGwgYWxzbyBiZSByYWlzZWQuCi0gICAgIiIiCi0KLSAgICBkZWYgaGFuZGxlKHNlbGYsIGNvbnRleHQsIHNpZ24sICphcmdzKToKLSAgICAgICAgaWYgY29udGV4dC5yb3VuZGluZyBpbiAoUk9VTkRfSEFMRl9VUCwgUk9VTkRfSEFMRl9FVkVOLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBST1VORF9IQUxGX0RPV04sIFJPVU5EX1VQKToKLSAgICAgICAgICAgIHJldHVybiBfU2lnbmVkSW5maW5pdHlbc2lnbl0KLSAgICAgICAgaWYgc2lnbiA9PSAwOgotICAgICAgICAgICAgaWYgY29udGV4dC5yb3VuZGluZyA9PSBST1VORF9DRUlMSU5HOgotICAgICAgICAgICAgICAgIHJldHVybiBfU2lnbmVkSW5maW5pdHlbc2lnbl0KLSAgICAgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKHNpZ24sICc5Jypjb250ZXh0LnByZWMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dC5FbWF4LWNvbnRleHQucHJlYysxKQotICAgICAgICBpZiBzaWduID09IDE6Ci0gICAgICAgICAgICBpZiBjb250ZXh0LnJvdW5kaW5nID09IFJPVU5EX0ZMT09SOgotICAgICAgICAgICAgICAgIHJldHVybiBfU2lnbmVkSW5maW5pdHlbc2lnbl0KLSAgICAgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKHNpZ24sICc5Jypjb250ZXh0LnByZWMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQuRW1heC1jb250ZXh0LnByZWMrMSkKLQotCi1jbGFzcyBVbmRlcmZsb3coSW5leGFjdCwgUm91bmRlZCwgU3Vibm9ybWFsKToKLSAgICAiIiJOdW1lcmljYWwgdW5kZXJmbG93IHdpdGggcmVzdWx0IHJvdW5kZWQgdG8gMC4KLQotICAgIFRoaXMgb2NjdXJzIGFuZCBzaWduYWxzIHVuZGVyZmxvdyBpZiBhIHJlc3VsdCBpcyBpbmV4YWN0IGFuZCB0aGUKLSAgICBhZGp1c3RlZCBleHBvbmVudCBvZiB0aGUgcmVzdWx0IHdvdWxkIGJlIHNtYWxsZXIgKG1vcmUgbmVnYXRpdmUpIHRoYW4KLSAgICB0aGUgc21hbGxlc3QgdmFsdWUgdGhhdCBjYW4gYmUgaGFuZGxlZCBieSB0aGUgaW1wbGVtZW50YXRpb24gKHRoZSB2YWx1ZQotICAgIEVtaW4pLiAgVGhhdCBpcywgdGhlIHJlc3VsdCBpcyBib3RoIGluZXhhY3QgYW5kIHN1Ym5vcm1hbC4KLQotICAgIFRoZSByZXN1bHQgYWZ0ZXIgYW4gdW5kZXJmbG93IHdpbGwgYmUgYSBzdWJub3JtYWwgbnVtYmVyIHJvdW5kZWQsIGlmCi0gICAgbmVjZXNzYXJ5LCBzbyB0aGF0IGl0cyBleHBvbmVudCBpcyBub3QgbGVzcyB0aGFuIEV0aW55LiAgVGhpcyBtYXkgcmVzdWx0Ci0gICAgaW4gMCB3aXRoIHRoZSBzaWduIG9mIHRoZSBpbnRlcm1lZGlhdGUgcmVzdWx0IGFuZCBhbiBleHBvbmVudCBvZiBFdGlueS4KLQotICAgIEluIGFsbCBjYXNlcywgSW5leGFjdCwgUm91bmRlZCwgYW5kIFN1Ym5vcm1hbCB3aWxsIGFsc28gYmUgcmFpc2VkLgotICAgICIiIgotCi1jbGFzcyBGbG9hdE9wZXJhdGlvbihEZWNpbWFsRXhjZXB0aW9uLCBUeXBlRXJyb3IpOgotICAgICIiIkVuYWJsZSBzdHJpY3RlciBzZW1hbnRpY3MgZm9yIG1peGluZyBmbG9hdHMgYW5kIERlY2ltYWxzLgotCi0gICAgSWYgdGhlIHNpZ25hbCBpcyBub3QgdHJhcHBlZCAoZGVmYXVsdCksIG1peGluZyBmbG9hdHMgYW5kIERlY2ltYWxzIGlzCi0gICAgcGVybWl0dGVkIGluIHRoZSBEZWNpbWFsKCkgY29uc3RydWN0b3IsIGNvbnRleHQuY3JlYXRlX2RlY2ltYWwoKSBhbmQKLSAgICBhbGwgY29tcGFyaXNvbiBvcGVyYXRvcnMuIEJvdGggY29udmVyc2lvbiBhbmQgY29tcGFyaXNvbnMgYXJlIGV4YWN0LgotICAgIEFueSBvY2N1cnJlbmNlIG9mIGEgbWl4ZWQgb3BlcmF0aW9uIGlzIHNpbGVudGx5IHJlY29yZGVkIGJ5IHNldHRpbmcKLSAgICBGbG9hdE9wZXJhdGlvbiBpbiB0aGUgY29udGV4dCBmbGFncy4gIEV4cGxpY2l0IGNvbnZlcnNpb25zIHdpdGgKLSAgICBEZWNpbWFsLmZyb21fZmxvYXQoKSBvciBjb250ZXh0LmNyZWF0ZV9kZWNpbWFsX2Zyb21fZmxvYXQoKSBkbyBub3QKLSAgICBzZXQgdGhlIGZsYWcuCi0KLSAgICBPdGhlcndpc2UgKHRoZSBzaWduYWwgaXMgdHJhcHBlZCksIG9ubHkgZXF1YWxpdHkgY29tcGFyaXNvbnMgYW5kIGV4cGxpY2l0Ci0gICAgY29udmVyc2lvbnMgYXJlIHNpbGVudC4gQWxsIG90aGVyIG1peGVkIG9wZXJhdGlvbnMgcmFpc2UgRmxvYXRPcGVyYXRpb24uCi0gICAgIiIiCi0KLSMgTGlzdCBvZiBwdWJsaWMgdHJhcHMgYW5kIGZsYWdzCi1fc2lnbmFscyA9IFtDbGFtcGVkLCBEaXZpc2lvbkJ5WmVybywgSW5leGFjdCwgT3ZlcmZsb3csIFJvdW5kZWQsCi0gICAgICAgICAgICBVbmRlcmZsb3csIEludmFsaWRPcGVyYXRpb24sIFN1Ym5vcm1hbCwgRmxvYXRPcGVyYXRpb25dCi0KLSMgTWFwIGNvbmRpdGlvbnMgKHBlciB0aGUgc3BlYykgdG8gc2lnbmFscwotX2NvbmRpdGlvbl9tYXAgPSB7Q29udmVyc2lvblN5bnRheDpJbnZhbGlkT3BlcmF0aW9uLAotICAgICAgICAgICAgICAgICAgRGl2aXNpb25JbXBvc3NpYmxlOkludmFsaWRPcGVyYXRpb24sCi0gICAgICAgICAgICAgICAgICBEaXZpc2lvblVuZGVmaW5lZDpJbnZhbGlkT3BlcmF0aW9uLAotICAgICAgICAgICAgICAgICAgSW52YWxpZENvbnRleHQ6SW52YWxpZE9wZXJhdGlvbn0KLQotIyBWYWxpZCByb3VuZGluZyBtb2RlcwotX3JvdW5kaW5nX21vZGVzID0gKFJPVU5EX0RPV04sIFJPVU5EX0hBTEZfVVAsIFJPVU5EX0hBTEZfRVZFTiwgUk9VTkRfQ0VJTElORywKLSAgICAgICAgICAgICAgICAgICBST1VORF9GTE9PUiwgUk9VTkRfVVAsIFJPVU5EX0hBTEZfRE9XTiwgUk9VTkRfMDVVUCkKLQotIyMjIyMgQ29udGV4dCBGdW5jdGlvbnMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLQotIyBUaGUgZ2V0Y29udGV4dCgpIGFuZCBzZXRjb250ZXh0KCkgZnVuY3Rpb24gbWFuYWdlIGFjY2VzcyB0byBhIHRocmVhZC1sb2NhbAotIyBjdXJyZW50IGNvbnRleHQuICBQeTIuNCBvZmZlcnMgZGlyZWN0IHN1cHBvcnQgZm9yIHRocmVhZCBsb2NhbHMuICBJZiB0aGF0Ci0jIGlzIG5vdCBhdmFpbGFibGUsIHVzZSB0aHJlYWRpbmcuY3VycmVudF90aHJlYWQoKSB3aGljaCBpcyBzbG93ZXIgYnV0IHdpbGwKLSMgd29yayBmb3Igb2xkZXIgUHl0aG9ucy4gIElmIHRocmVhZHMgYXJlIG5vdCBwYXJ0IG9mIHRoZSBidWlsZCwgY3JlYXRlIGEKLSMgbW9jayB0aHJlYWRpbmcgb2JqZWN0IHdpdGggdGhyZWFkaW5nLmxvY2FsKCkgcmV0dXJuaW5nIHRoZSBtb2R1bGUgbmFtZXNwYWNlLgotCi10cnk6Ci0gICAgaW1wb3J0IHRocmVhZGluZwotZXhjZXB0IEltcG9ydEVycm9yOgotICAgICMgUHl0aG9uIHdhcyBjb21waWxlZCB3aXRob3V0IHRocmVhZHM7IGNyZWF0ZSBhIG1vY2sgb2JqZWN0IGluc3RlYWQKLSAgICBjbGFzcyBNb2NrVGhyZWFkaW5nKG9iamVjdCk6Ci0gICAgICAgIGRlZiBsb2NhbChzZWxmLCBzeXM9c3lzKToKLSAgICAgICAgICAgIHJldHVybiBzeXMubW9kdWxlc1tfX25hbWVfX10KLSAgICB0aHJlYWRpbmcgPSBNb2NrVGhyZWFkaW5nKCkKLSAgICBkZWwgTW9ja1RocmVhZGluZwotCi10cnk6Ci0gICAgdGhyZWFkaW5nLmxvY2FsCi0KLWV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKLQotICAgICMgVG8gZml4IHJlbG9hZGluZywgZm9yY2UgaXQgdG8gY3JlYXRlIGEgbmV3IGNvbnRleHQKLSAgICAjIE9sZCBjb250ZXh0cyBoYXZlIGRpZmZlcmVudCBleGNlcHRpb25zIGluIHRoZWlyIGRpY3RzLCBtYWtpbmcgcHJvYmxlbXMuCi0gICAgaWYgaGFzYXR0cih0aHJlYWRpbmcuY3VycmVudF90aHJlYWQoKSwgJ19fZGVjaW1hbF9jb250ZXh0X18nKToKLSAgICAgICAgZGVsIHRocmVhZGluZy5jdXJyZW50X3RocmVhZCgpLl9fZGVjaW1hbF9jb250ZXh0X18KLQotICAgIGRlZiBzZXRjb250ZXh0KGNvbnRleHQpOgotICAgICAgICAiIiJTZXQgdGhpcyB0aHJlYWQncyBjb250ZXh0IHRvIGNvbnRleHQuIiIiCi0gICAgICAgIGlmIGNvbnRleHQgaW4gKERlZmF1bHRDb250ZXh0LCBCYXNpY0NvbnRleHQsIEV4dGVuZGVkQ29udGV4dCk6Ci0gICAgICAgICAgICBjb250ZXh0ID0gY29udGV4dC5jb3B5KCkKLSAgICAgICAgICAgIGNvbnRleHQuY2xlYXJfZmxhZ3MoKQotICAgICAgICB0aHJlYWRpbmcuY3VycmVudF90aHJlYWQoKS5fX2RlY2ltYWxfY29udGV4dF9fID0gY29udGV4dAotCi0gICAgZGVmIGdldGNvbnRleHQoKToKLSAgICAgICAgIiIiUmV0dXJucyB0aGlzIHRocmVhZCdzIGNvbnRleHQuCi0KLSAgICAgICAgSWYgdGhpcyB0aHJlYWQgZG9lcyBub3QgeWV0IGhhdmUgYSBjb250ZXh0LCByZXR1cm5zCi0gICAgICAgIGEgbmV3IGNvbnRleHQgYW5kIHNldHMgdGhpcyB0aHJlYWQncyBjb250ZXh0LgotICAgICAgICBOZXcgY29udGV4dHMgYXJlIGNvcGllcyBvZiBEZWZhdWx0Q29udGV4dC4KLSAgICAgICAgIiIiCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHJldHVybiB0aHJlYWRpbmcuY3VycmVudF90aHJlYWQoKS5fX2RlY2ltYWxfY29udGV4dF9fCi0gICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKLSAgICAgICAgICAgIGNvbnRleHQgPSBDb250ZXh0KCkKLSAgICAgICAgICAgIHRocmVhZGluZy5jdXJyZW50X3RocmVhZCgpLl9fZGVjaW1hbF9jb250ZXh0X18gPSBjb250ZXh0Ci0gICAgICAgICAgICByZXR1cm4gY29udGV4dAotCi1lbHNlOgotCi0gICAgbG9jYWwgPSB0aHJlYWRpbmcubG9jYWwoKQotICAgIGlmIGhhc2F0dHIobG9jYWwsICdfX2RlY2ltYWxfY29udGV4dF9fJyk6Ci0gICAgICAgIGRlbCBsb2NhbC5fX2RlY2ltYWxfY29udGV4dF9fCi0KLSAgICBkZWYgZ2V0Y29udGV4dChfbG9jYWw9bG9jYWwpOgotICAgICAgICAiIiJSZXR1cm5zIHRoaXMgdGhyZWFkJ3MgY29udGV4dC4KLQotICAgICAgICBJZiB0aGlzIHRocmVhZCBkb2VzIG5vdCB5ZXQgaGF2ZSBhIGNvbnRleHQsIHJldHVybnMKLSAgICAgICAgYSBuZXcgY29udGV4dCBhbmQgc2V0cyB0aGlzIHRocmVhZCdzIGNvbnRleHQuCi0gICAgICAgIE5ldyBjb250ZXh0cyBhcmUgY29waWVzIG9mIERlZmF1bHRDb250ZXh0LgotICAgICAgICAiIiIKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgcmV0dXJuIF9sb2NhbC5fX2RlY2ltYWxfY29udGV4dF9fCi0gICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKLSAgICAgICAgICAgIGNvbnRleHQgPSBDb250ZXh0KCkKLSAgICAgICAgICAgIF9sb2NhbC5fX2RlY2ltYWxfY29udGV4dF9fID0gY29udGV4dAotICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQKLQotICAgIGRlZiBzZXRjb250ZXh0KGNvbnRleHQsIF9sb2NhbD1sb2NhbCk6Ci0gICAgICAgICIiIlNldCB0aGlzIHRocmVhZCdzIGNvbnRleHQgdG8gY29udGV4dC4iIiIKLSAgICAgICAgaWYgY29udGV4dCBpbiAoRGVmYXVsdENvbnRleHQsIEJhc2ljQ29udGV4dCwgRXh0ZW5kZWRDb250ZXh0KToKLSAgICAgICAgICAgIGNvbnRleHQgPSBjb250ZXh0LmNvcHkoKQotICAgICAgICAgICAgY29udGV4dC5jbGVhcl9mbGFncygpCi0gICAgICAgIF9sb2NhbC5fX2RlY2ltYWxfY29udGV4dF9fID0gY29udGV4dAotCi0gICAgZGVsIHRocmVhZGluZywgbG9jYWwgICAgICAgICMgRG9uJ3QgY29udGFtaW5hdGUgdGhlIG5hbWVzcGFjZQotCi1kZWYgbG9jYWxjb250ZXh0KGN0eD1Ob25lKToKLSAgICAiIiJSZXR1cm4gYSBjb250ZXh0IG1hbmFnZXIgZm9yIGEgY29weSBvZiB0aGUgc3VwcGxpZWQgY29udGV4dAotCi0gICAgVXNlcyBhIGNvcHkgb2YgdGhlIGN1cnJlbnQgY29udGV4dCBpZiBubyBjb250ZXh0IGlzIHNwZWNpZmllZAotICAgIFRoZSByZXR1cm5lZCBjb250ZXh0IG1hbmFnZXIgY3JlYXRlcyBhIGxvY2FsIGRlY2ltYWwgY29udGV4dAotICAgIGluIGEgd2l0aCBzdGF0ZW1lbnQ6Ci0gICAgICAgIGRlZiBzaW4oeCk6Ci0gICAgICAgICAgICAgd2l0aCBsb2NhbGNvbnRleHQoKSBhcyBjdHg6Ci0gICAgICAgICAgICAgICAgIGN0eC5wcmVjICs9IDIKLSAgICAgICAgICAgICAgICAgIyBSZXN0IG9mIHNpbiBjYWxjdWxhdGlvbiBhbGdvcml0aG0KLSAgICAgICAgICAgICAgICAgIyB1c2VzIGEgcHJlY2lzaW9uIDIgZ3JlYXRlciB0aGFuIG5vcm1hbAotICAgICAgICAgICAgIHJldHVybiArcyAgIyBDb252ZXJ0IHJlc3VsdCB0byBub3JtYWwgcHJlY2lzaW9uCi0KLSAgICAgICAgIGRlZiBzaW4oeCk6Ci0gICAgICAgICAgICAgd2l0aCBsb2NhbGNvbnRleHQoRXh0ZW5kZWRDb250ZXh0KToKLSAgICAgICAgICAgICAgICAgIyBSZXN0IG9mIHNpbiBjYWxjdWxhdGlvbiBhbGdvcml0aG0KLSAgICAgICAgICAgICAgICAgIyB1c2VzIHRoZSBFeHRlbmRlZCBDb250ZXh0IGZyb20gdGhlCi0gICAgICAgICAgICAgICAgICMgR2VuZXJhbCBEZWNpbWFsIEFyaXRobWV0aWMgU3BlY2lmaWNhdGlvbgotICAgICAgICAgICAgIHJldHVybiArcyAgIyBDb252ZXJ0IHJlc3VsdCB0byBub3JtYWwgY29udGV4dAotCi0gICAgPj4+IHNldGNvbnRleHQoRGVmYXVsdENvbnRleHQpCi0gICAgPj4+IHByaW50KGdldGNvbnRleHQoKS5wcmVjKQotICAgIDI4Ci0gICAgPj4+IHdpdGggbG9jYWxjb250ZXh0KCk6Ci0gICAgLi4uICAgICBjdHggPSBnZXRjb250ZXh0KCkKLSAgICAuLi4gICAgIGN0eC5wcmVjICs9IDIKLSAgICAuLi4gICAgIHByaW50KGN0eC5wcmVjKQotICAgIC4uLgotICAgIDMwCi0gICAgPj4+IHdpdGggbG9jYWxjb250ZXh0KEV4dGVuZGVkQ29udGV4dCk6Ci0gICAgLi4uICAgICBwcmludChnZXRjb250ZXh0KCkucHJlYykKLSAgICAuLi4KLSAgICA5Ci0gICAgPj4+IHByaW50KGdldGNvbnRleHQoKS5wcmVjKQotICAgIDI4Ci0gICAgIiIiCi0gICAgaWYgY3R4IGlzIE5vbmU6IGN0eCA9IGdldGNvbnRleHQoKQotICAgIHJldHVybiBfQ29udGV4dE1hbmFnZXIoY3R4KQotCi0KLSMjIyMjIERlY2ltYWwgY2xhc3MgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotCi0jIERvIG5vdCBzdWJjbGFzcyBEZWNpbWFsIGZyb20gbnVtYmVycy5SZWFsIGFuZCBkbyBub3QgcmVnaXN0ZXIgaXQgYXMgc3VjaAotIyAoYmVjYXVzZSBEZWNpbWFscyBhcmUgbm90IGludGVyb3BlcmFibGUgd2l0aCBmbG9hdHMpLiAgU2VlIHRoZSBub3RlcyBpbgotIyBudW1iZXJzLnB5IGZvciBtb3JlIGRldGFpbC4KLQotY2xhc3MgRGVjaW1hbChvYmplY3QpOgotICAgICIiIkZsb2F0aW5nIHBvaW50IGNsYXNzIGZvciBkZWNpbWFsIGFyaXRobWV0aWMuIiIiCi0KLSAgICBfX3Nsb3RzX18gPSAoJ19leHAnLCdfaW50JywnX3NpZ24nLCAnX2lzX3NwZWNpYWwnKQotICAgICMgR2VuZXJhbGx5LCB0aGUgdmFsdWUgb2YgdGhlIERlY2ltYWwgaW5zdGFuY2UgaXMgZ2l2ZW4gYnkKLSAgICAjICAoLTEpKipfc2lnbiAqIF9pbnQgKiAxMCoqX2V4cAotICAgICMgU3BlY2lhbCB2YWx1ZXMgYXJlIHNpZ25pZmllZCBieSBfaXNfc3BlY2lhbCA9PSBUcnVlCi0KLSAgICAjIFdlJ3JlIGltbXV0YWJsZSwgc28gdXNlIF9fbmV3X18gbm90IF9faW5pdF9fCi0gICAgZGVmIF9fbmV3X18oY2xzLCB2YWx1ZT0iMCIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIkNyZWF0ZSBhIGRlY2ltYWwgcG9pbnQgaW5zdGFuY2UuCi0KLSAgICAgICAgPj4+IERlY2ltYWwoJzMuMTQnKSAgICAgICAgICAgICAgIyBzdHJpbmcgaW5wdXQKLSAgICAgICAgRGVjaW1hbCgnMy4xNCcpCi0gICAgICAgID4+PiBEZWNpbWFsKCgwLCAoMywgMSwgNCksIC0yKSkgICMgdHVwbGUgKHNpZ24sIGRpZ2l0X3R1cGxlLCBleHBvbmVudCkKLSAgICAgICAgRGVjaW1hbCgnMy4xNCcpCi0gICAgICAgID4+PiBEZWNpbWFsKDMxNCkgICAgICAgICAgICAgICAgICMgaW50Ci0gICAgICAgIERlY2ltYWwoJzMxNCcpCi0gICAgICAgID4+PiBEZWNpbWFsKERlY2ltYWwoMzE0KSkgICAgICAgICMgYW5vdGhlciBkZWNpbWFsIGluc3RhbmNlCi0gICAgICAgIERlY2ltYWwoJzMxNCcpCi0gICAgICAgID4+PiBEZWNpbWFsKCcgIDMuMTQgIFxcbicpICAgICAgICAjIGxlYWRpbmcgYW5kIHRyYWlsaW5nIHdoaXRlc3BhY2Ugb2theQotICAgICAgICBEZWNpbWFsKCczLjE0JykKLSAgICAgICAgIiIiCi0KLSAgICAgICAgIyBOb3RlIHRoYXQgdGhlIGNvZWZmaWNpZW50LCBzZWxmLl9pbnQsIGlzIGFjdHVhbGx5IHN0b3JlZCBhcwotICAgICAgICAjIGEgc3RyaW5nIHJhdGhlciB0aGFuIGFzIGEgdHVwbGUgb2YgZGlnaXRzLiAgVGhpcyBzcGVlZHMgdXAKLSAgICAgICAgIyB0aGUgImRpZ2l0cyB0byBpbnRlZ2VyIiBhbmQgImludGVnZXIgdG8gZGlnaXRzIiBjb252ZXJzaW9ucwotICAgICAgICAjIHRoYXQgYXJlIHVzZWQgaW4gYWxtb3N0IGV2ZXJ5IGFyaXRobWV0aWMgb3BlcmF0aW9uIG9uCi0gICAgICAgICMgRGVjaW1hbHMuICBUaGlzIGlzIGFuIGludGVybmFsIGRldGFpbDogdGhlIGFzX3R1cGxlIGZ1bmN0aW9uCi0gICAgICAgICMgYW5kIHRoZSBEZWNpbWFsIGNvbnN0cnVjdG9yIHN0aWxsIGRlYWwgd2l0aCB0dXBsZXMgb2YKLSAgICAgICAgIyBkaWdpdHMuCi0KLSAgICAgICAgc2VsZiA9IG9iamVjdC5fX25ld19fKGNscykKLQotICAgICAgICAjIEZyb20gYSBzdHJpbmcKLSAgICAgICAgIyBSRXMgaW5zaXN0IG9uIHJlYWwgc3RyaW5ncywgc28gd2UgY2FuIHRvby4KLSAgICAgICAgaWYgaXNpbnN0YW5jZSh2YWx1ZSwgc3RyKToKLSAgICAgICAgICAgIG0gPSBfcGFyc2VyKHZhbHVlLnN0cmlwKCkpCi0gICAgICAgICAgICBpZiBtIGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgotICAgICAgICAgICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKENvbnZlcnNpb25TeW50YXgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJJbnZhbGlkIGxpdGVyYWwgZm9yIERlY2ltYWw6ICVyIiAlIHZhbHVlKQotCi0gICAgICAgICAgICBpZiBtLmdyb3VwKCdzaWduJykgPT0gIi0iOgotICAgICAgICAgICAgICAgIHNlbGYuX3NpZ24gPSAxCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHNlbGYuX3NpZ24gPSAwCi0gICAgICAgICAgICBpbnRwYXJ0ID0gbS5ncm91cCgnaW50JykKLSAgICAgICAgICAgIGlmIGludHBhcnQgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgIyBmaW5pdGUgbnVtYmVyCi0gICAgICAgICAgICAgICAgZnJhY3BhcnQgPSBtLmdyb3VwKCdmcmFjJykgb3IgJycKLSAgICAgICAgICAgICAgICBleHAgPSBpbnQobS5ncm91cCgnZXhwJykgb3IgJzAnKQotICAgICAgICAgICAgICAgIHNlbGYuX2ludCA9IHN0cihpbnQoaW50cGFydCtmcmFjcGFydCkpCi0gICAgICAgICAgICAgICAgc2VsZi5fZXhwID0gZXhwIC0gbGVuKGZyYWNwYXJ0KQotICAgICAgICAgICAgICAgIHNlbGYuX2lzX3NwZWNpYWwgPSBGYWxzZQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBkaWFnID0gbS5ncm91cCgnZGlhZycpCi0gICAgICAgICAgICAgICAgaWYgZGlhZyBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICAgICAgIyBOYU4KLSAgICAgICAgICAgICAgICAgICAgc2VsZi5faW50ID0gc3RyKGludChkaWFnIG9yICcwJykpLmxzdHJpcCgnMCcpCi0gICAgICAgICAgICAgICAgICAgIGlmIG0uZ3JvdXAoJ3NpZ25hbCcpOgotICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fZXhwID0gJ04nCi0gICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9leHAgPSAnbicKLSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAjIGluZmluaXR5Ci0gICAgICAgICAgICAgICAgICAgIHNlbGYuX2ludCA9ICcwJwotICAgICAgICAgICAgICAgICAgICBzZWxmLl9leHAgPSAnRicKLSAgICAgICAgICAgICAgICBzZWxmLl9pc19zcGVjaWFsID0gVHJ1ZQotICAgICAgICAgICAgcmV0dXJuIHNlbGYKLQotICAgICAgICAjIEZyb20gYW4gaW50ZWdlcgotICAgICAgICBpZiBpc2luc3RhbmNlKHZhbHVlLCBpbnQpOgotICAgICAgICAgICAgaWYgdmFsdWUgPj0gMDoKLSAgICAgICAgICAgICAgICBzZWxmLl9zaWduID0gMAotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBzZWxmLl9zaWduID0gMQotICAgICAgICAgICAgc2VsZi5fZXhwID0gMAotICAgICAgICAgICAgc2VsZi5faW50ID0gc3RyKGFicyh2YWx1ZSkpCi0gICAgICAgICAgICBzZWxmLl9pc19zcGVjaWFsID0gRmFsc2UKLSAgICAgICAgICAgIHJldHVybiBzZWxmCi0KLSAgICAgICAgIyBGcm9tIGFub3RoZXIgZGVjaW1hbAotICAgICAgICBpZiBpc2luc3RhbmNlKHZhbHVlLCBEZWNpbWFsKToKLSAgICAgICAgICAgIHNlbGYuX2V4cCAgPSB2YWx1ZS5fZXhwCi0gICAgICAgICAgICBzZWxmLl9zaWduID0gdmFsdWUuX3NpZ24KLSAgICAgICAgICAgIHNlbGYuX2ludCAgPSB2YWx1ZS5faW50Ci0gICAgICAgICAgICBzZWxmLl9pc19zcGVjaWFsICA9IHZhbHVlLl9pc19zcGVjaWFsCi0gICAgICAgICAgICByZXR1cm4gc2VsZgotCi0gICAgICAgICMgRnJvbSBhbiBpbnRlcm5hbCB3b3JraW5nIHZhbHVlCi0gICAgICAgIGlmIGlzaW5zdGFuY2UodmFsdWUsIF9Xb3JrUmVwKToKLSAgICAgICAgICAgIHNlbGYuX3NpZ24gPSB2YWx1ZS5zaWduCi0gICAgICAgICAgICBzZWxmLl9pbnQgPSBzdHIodmFsdWUuaW50KQotICAgICAgICAgICAgc2VsZi5fZXhwID0gaW50KHZhbHVlLmV4cCkKLSAgICAgICAgICAgIHNlbGYuX2lzX3NwZWNpYWwgPSBGYWxzZQotICAgICAgICAgICAgcmV0dXJuIHNlbGYKLQotICAgICAgICAjIHR1cGxlL2xpc3QgY29udmVyc2lvbiAocG9zc2libHkgZnJvbSBhc190dXBsZSgpKQotICAgICAgICBpZiBpc2luc3RhbmNlKHZhbHVlLCAobGlzdCx0dXBsZSkpOgotICAgICAgICAgICAgaWYgbGVuKHZhbHVlKSAhPSAzOgotICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ0ludmFsaWQgdHVwbGUgc2l6ZSBpbiBjcmVhdGlvbiBvZiBEZWNpbWFsICcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmcm9tIGxpc3Qgb3IgdHVwbGUuICBUaGUgbGlzdCBvciB0dXBsZSAnCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2hvdWxkIGhhdmUgZXhhY3RseSB0aHJlZSBlbGVtZW50cy4nKQotICAgICAgICAgICAgIyBwcm9jZXNzIHNpZ24uICBUaGUgaXNpbnN0YW5jZSB0ZXN0IHJlamVjdHMgZmxvYXRzCi0gICAgICAgICAgICBpZiBub3QgKGlzaW5zdGFuY2UodmFsdWVbMF0sIGludCkgYW5kIHZhbHVlWzBdIGluICgwLDEpKToKLSAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJJbnZhbGlkIHNpZ24uICBUaGUgZmlyc3QgdmFsdWUgaW4gdGhlIHR1cGxlICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaG91bGQgYmUgYW4gaW50ZWdlcjsgZWl0aGVyIDAgZm9yIGEgIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBvc2l0aXZlIG51bWJlciBvciAxIGZvciBhIG5lZ2F0aXZlIG51bWJlci4iKQotICAgICAgICAgICAgc2VsZi5fc2lnbiA9IHZhbHVlWzBdCi0gICAgICAgICAgICBpZiB2YWx1ZVsyXSA9PSAnRic6Ci0gICAgICAgICAgICAgICAgIyBpbmZpbml0eTogdmFsdWVbMV0gaXMgaWdub3JlZAotICAgICAgICAgICAgICAgIHNlbGYuX2ludCA9ICcwJwotICAgICAgICAgICAgICAgIHNlbGYuX2V4cCA9IHZhbHVlWzJdCi0gICAgICAgICAgICAgICAgc2VsZi5faXNfc3BlY2lhbCA9IFRydWUKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgIyBwcm9jZXNzIGFuZCB2YWxpZGF0ZSB0aGUgZGlnaXRzIGluIHZhbHVlWzFdCi0gICAgICAgICAgICAgICAgZGlnaXRzID0gW10KLSAgICAgICAgICAgICAgICBmb3IgZGlnaXQgaW4gdmFsdWVbMV06Ci0gICAgICAgICAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UoZGlnaXQsIGludCkgYW5kIDAgPD0gZGlnaXQgPD0gOToKLSAgICAgICAgICAgICAgICAgICAgICAgICMgc2tpcCBsZWFkaW5nIHplcm9zCi0gICAgICAgICAgICAgICAgICAgICAgICBpZiBkaWdpdHMgb3IgZGlnaXQgIT0gMDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWdpdHMuYXBwZW5kKGRpZ2l0KQotICAgICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiVGhlIHNlY29uZCB2YWx1ZSBpbiB0aGUgdHVwbGUgbXVzdCAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJiZSBjb21wb3NlZCBvZiBpbnRlZ2VycyBpbiB0aGUgcmFuZ2UgIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMCB0aHJvdWdoIDkuIikKLSAgICAgICAgICAgICAgICBpZiB2YWx1ZVsyXSBpbiAoJ24nLCAnTicpOgotICAgICAgICAgICAgICAgICAgICAjIE5hTjogZGlnaXRzIGZvcm0gdGhlIGRpYWdub3N0aWMKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5faW50ID0gJycuam9pbihtYXAoc3RyLCBkaWdpdHMpKQotICAgICAgICAgICAgICAgICAgICBzZWxmLl9leHAgPSB2YWx1ZVsyXQotICAgICAgICAgICAgICAgICAgICBzZWxmLl9pc19zcGVjaWFsID0gVHJ1ZQotICAgICAgICAgICAgICAgIGVsaWYgaXNpbnN0YW5jZSh2YWx1ZVsyXSwgaW50KToKLSAgICAgICAgICAgICAgICAgICAgIyBmaW5pdGUgbnVtYmVyOiBkaWdpdHMgZ2l2ZSB0aGUgY29lZmZpY2llbnQKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5faW50ID0gJycuam9pbihtYXAoc3RyLCBkaWdpdHMgb3IgWzBdKSkKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5fZXhwID0gdmFsdWVbMl0KLSAgICAgICAgICAgICAgICAgICAgc2VsZi5faXNfc3BlY2lhbCA9IEZhbHNlCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiVGhlIHRoaXJkIHZhbHVlIGluIHRoZSB0dXBsZSBtdXN0ICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYmUgYW4gaW50ZWdlciwgb3Igb25lIG9mIHRoZSAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0cmluZ3MgJ0YnLCAnbicsICdOJy4iKQotICAgICAgICAgICAgcmV0dXJuIHNlbGYKLQotICAgICAgICBpZiBpc2luc3RhbmNlKHZhbHVlLCBmbG9hdCk6Ci0gICAgICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoRmxvYXRPcGVyYXRpb24sCi0gICAgICAgICAgICAgICAgInN0cmljdCBzZW1hbnRpY3MgZm9yIG1peGluZyBmbG9hdHMgYW5kIERlY2ltYWxzIGFyZSAiCi0gICAgICAgICAgICAgICAgImVuYWJsZWQiKQotICAgICAgICAgICAgdmFsdWUgPSBEZWNpbWFsLmZyb21fZmxvYXQodmFsdWUpCi0gICAgICAgICAgICBzZWxmLl9leHAgID0gdmFsdWUuX2V4cAotICAgICAgICAgICAgc2VsZi5fc2lnbiA9IHZhbHVlLl9zaWduCi0gICAgICAgICAgICBzZWxmLl9pbnQgID0gdmFsdWUuX2ludAotICAgICAgICAgICAgc2VsZi5faXNfc3BlY2lhbCAgPSB2YWx1ZS5faXNfc3BlY2lhbAotICAgICAgICAgICAgcmV0dXJuIHNlbGYKLQotICAgICAgICByYWlzZSBUeXBlRXJyb3IoIkNhbm5vdCBjb252ZXJ0ICVyIHRvIERlY2ltYWwiICUgdmFsdWUpCi0KLSAgICBAY2xhc3NtZXRob2QKLSAgICBkZWYgZnJvbV9mbG9hdChjbHMsIGYpOgotICAgICAgICAiIiJDb252ZXJ0cyBhIGZsb2F0IHRvIGEgZGVjaW1hbCBudW1iZXIsIGV4YWN0bHkuCi0KLSAgICAgICAgTm90ZSB0aGF0IERlY2ltYWwuZnJvbV9mbG9hdCgwLjEpIGlzIG5vdCB0aGUgc2FtZSBhcyBEZWNpbWFsKCcwLjEnKS4KLSAgICAgICAgU2luY2UgMC4xIGlzIG5vdCBleGFjdGx5IHJlcHJlc2VudGFibGUgaW4gYmluYXJ5IGZsb2F0aW5nIHBvaW50LCB0aGUKLSAgICAgICAgdmFsdWUgaXMgc3RvcmVkIGFzIHRoZSBuZWFyZXN0IHJlcHJlc2VudGFibGUgdmFsdWUgd2hpY2ggaXMKLSAgICAgICAgMHgxLjk5OTk5OTk5OTk5OWFwLTQuICBUaGUgZXhhY3QgZXF1aXZhbGVudCBvZiB0aGUgdmFsdWUgaW4gZGVjaW1hbAotICAgICAgICBpcyAwLjEwMDAwMDAwMDAwMDAwMDAwNTU1MTExNTEyMzEyNTc4MjcwMjExODE1ODM0MDQ1NDEwMTU2MjUuCi0KLSAgICAgICAgPj4+IERlY2ltYWwuZnJvbV9mbG9hdCgwLjEpCi0gICAgICAgIERlY2ltYWwoJzAuMTAwMDAwMDAwMDAwMDAwMDA1NTUxMTE1MTIzMTI1NzgyNzAyMTE4MTU4MzQwNDU0MTAxNTYyNScpCi0gICAgICAgID4+PiBEZWNpbWFsLmZyb21fZmxvYXQoZmxvYXQoJ25hbicpKQotICAgICAgICBEZWNpbWFsKCdOYU4nKQotICAgICAgICA+Pj4gRGVjaW1hbC5mcm9tX2Zsb2F0KGZsb2F0KCdpbmYnKSkKLSAgICAgICAgRGVjaW1hbCgnSW5maW5pdHknKQotICAgICAgICA+Pj4gRGVjaW1hbC5mcm9tX2Zsb2F0KC1mbG9hdCgnaW5mJykpCi0gICAgICAgIERlY2ltYWwoJy1JbmZpbml0eScpCi0gICAgICAgID4+PiBEZWNpbWFsLmZyb21fZmxvYXQoLTAuMCkKLSAgICAgICAgRGVjaW1hbCgnLTAnKQotCi0gICAgICAgICIiIgotICAgICAgICBpZiBpc2luc3RhbmNlKGYsIGludCk6ICAgICAgICAgICAgICAgICMgaGFuZGxlIGludGVnZXIgaW5wdXRzCi0gICAgICAgICAgICByZXR1cm4gY2xzKGYpCi0gICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGYsIGZsb2F0KToKLSAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiYXJndW1lbnQgbXVzdCBiZSBpbnQgb3IgZmxvYXQuIikKLSAgICAgICAgaWYgX21hdGguaXNpbmYoZikgb3IgX21hdGguaXNuYW4oZik6Ci0gICAgICAgICAgICByZXR1cm4gY2xzKHJlcHIoZikpCi0gICAgICAgIGlmIF9tYXRoLmNvcHlzaWduKDEuMCwgZikgPT0gMS4wOgotICAgICAgICAgICAgc2lnbiA9IDAKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNpZ24gPSAxCi0gICAgICAgIG4sIGQgPSBhYnMoZikuYXNfaW50ZWdlcl9yYXRpbygpCi0gICAgICAgIGsgPSBkLmJpdF9sZW5ndGgoKSAtIDEKLSAgICAgICAgcmVzdWx0ID0gX2RlY19mcm9tX3RyaXBsZShzaWduLCBzdHIobio1KiprKSwgLWspCi0gICAgICAgIGlmIGNscyBpcyBEZWNpbWFsOgotICAgICAgICAgICAgcmV0dXJuIHJlc3VsdAotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmV0dXJuIGNscyhyZXN1bHQpCi0KLSAgICBkZWYgX2lzbmFuKHNlbGYpOgotICAgICAgICAiIiJSZXR1cm5zIHdoZXRoZXIgdGhlIG51bWJlciBpcyBub3QgYWN0dWFsbHkgb25lLgotCi0gICAgICAgIDAgaWYgYSBudW1iZXIKLSAgICAgICAgMSBpZiBOYU4KLSAgICAgICAgMiBpZiBzTmFOCi0gICAgICAgICIiIgotICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsOgotICAgICAgICAgICAgZXhwID0gc2VsZi5fZXhwCi0gICAgICAgICAgICBpZiBleHAgPT0gJ24nOgotICAgICAgICAgICAgICAgIHJldHVybiAxCi0gICAgICAgICAgICBlbGlmIGV4cCA9PSAnTic6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIDIKLSAgICAgICAgcmV0dXJuIDAKLQotICAgIGRlZiBfaXNpbmZpbml0eShzZWxmKToKLSAgICAgICAgIiIiUmV0dXJucyB3aGV0aGVyIHRoZSBudW1iZXIgaXMgaW5maW5pdGUKLQotICAgICAgICAwIGlmIGZpbml0ZSBvciBub3QgYSBudW1iZXIKLSAgICAgICAgMSBpZiArSU5GCi0gICAgICAgIC0xIGlmIC1JTkYKLSAgICAgICAgIiIiCi0gICAgICAgIGlmIHNlbGYuX2V4cCA9PSAnRic6Ci0gICAgICAgICAgICBpZiBzZWxmLl9zaWduOgotICAgICAgICAgICAgICAgIHJldHVybiAtMQotICAgICAgICAgICAgcmV0dXJuIDEKLSAgICAgICAgcmV0dXJuIDAKLQotICAgIGRlZiBfY2hlY2tfbmFucyhzZWxmLCBvdGhlcj1Ob25lLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiJSZXR1cm5zIHdoZXRoZXIgdGhlIG51bWJlciBpcyBub3QgYWN0dWFsbHkgb25lLgotCi0gICAgICAgIGlmIHNlbGYsIG90aGVyIGFyZSBzTmFOLCBzaWduYWwKLSAgICAgICAgaWYgc2VsZiwgb3RoZXIgYXJlIE5hTiByZXR1cm4gbmFuCi0gICAgICAgIHJldHVybiAwCi0KLSAgICAgICAgRG9uZSBiZWZvcmUgb3BlcmF0aW9ucy4KLSAgICAgICAgIiIiCi0KLSAgICAgICAgc2VsZl9pc19uYW4gPSBzZWxmLl9pc25hbigpCi0gICAgICAgIGlmIG90aGVyIGlzIE5vbmU6Ci0gICAgICAgICAgICBvdGhlcl9pc19uYW4gPSBGYWxzZQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgb3RoZXJfaXNfbmFuID0gb3RoZXIuX2lzbmFuKCkKLQotICAgICAgICBpZiBzZWxmX2lzX25hbiBvciBvdGhlcl9pc19uYW46Ci0gICAgICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotCi0gICAgICAgICAgICBpZiBzZWxmX2lzX25hbiA9PSAyOgotICAgICAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLCAnc05hTicsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZikKLSAgICAgICAgICAgIGlmIG90aGVyX2lzX25hbiA9PSAyOgotICAgICAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLCAnc05hTicsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXIpCi0gICAgICAgICAgICBpZiBzZWxmX2lzX25hbjoKLSAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5fZml4X25hbihjb250ZXh0KQotCi0gICAgICAgICAgICByZXR1cm4gb3RoZXIuX2ZpeF9uYW4oY29udGV4dCkKLSAgICAgICAgcmV0dXJuIDAKLQotICAgIGRlZiBfY29tcGFyZV9jaGVja19uYW5zKHNlbGYsIG90aGVyLCBjb250ZXh0KToKLSAgICAgICAgIiIiVmVyc2lvbiBvZiBfY2hlY2tfbmFucyB1c2VkIGZvciB0aGUgc2lnbmFsaW5nIGNvbXBhcmlzb25zCi0gICAgICAgIGNvbXBhcmVfc2lnbmFsLCBfX2xlX18sIF9fbHRfXywgX19nZV9fLCBfX2d0X18uCi0KLSAgICAgICAgU2lnbmFsIEludmFsaWRPcGVyYXRpb24gaWYgZWl0aGVyIHNlbGYgb3Igb3RoZXIgaXMgYSAocXVpZXQKLSAgICAgICAgb3Igc2lnbmFsaW5nKSBOYU4uICBTaWduYWxpbmcgTmFOcyB0YWtlIHByZWNlZGVuY2Ugb3ZlciBxdWlldAotICAgICAgICBOYU5zLgotCi0gICAgICAgIFJldHVybiAwIGlmIG5laXRoZXIgb3BlcmFuZCBpcyBhIE5hTi4KLQotICAgICAgICAiIiIKLSAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgotICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotCi0gICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWwgb3Igb3RoZXIuX2lzX3NwZWNpYWw6Ci0gICAgICAgICAgICBpZiBzZWxmLmlzX3NuYW4oKToKLSAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbXBhcmlzb24gaW52b2x2aW5nIHNOYU4nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmKQotICAgICAgICAgICAgZWxpZiBvdGhlci5pc19zbmFuKCk6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb21wYXJpc29uIGludm9sdmluZyBzTmFOJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXIpCi0gICAgICAgICAgICBlbGlmIHNlbGYuaXNfcW5hbigpOgotICAgICAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29tcGFyaXNvbiBpbnZvbHZpbmcgTmFOJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZikKLSAgICAgICAgICAgIGVsaWYgb3RoZXIuaXNfcW5hbigpOgotICAgICAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29tcGFyaXNvbiBpbnZvbHZpbmcgTmFOJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXIpCi0gICAgICAgIHJldHVybiAwCi0KLSAgICBkZWYgX19ib29sX18oc2VsZik6Ci0gICAgICAgICIiIlJldHVybiBUcnVlIGlmIHNlbGYgaXMgbm9uemVybzsgb3RoZXJ3aXNlIHJldHVybiBGYWxzZS4KLQotICAgICAgICBOYU5zIGFuZCBpbmZpbml0aWVzIGFyZSBjb25zaWRlcmVkIG5vbnplcm8uCi0gICAgICAgICIiIgotICAgICAgICByZXR1cm4gc2VsZi5faXNfc3BlY2lhbCBvciBzZWxmLl9pbnQgIT0gJzAnCi0KLSAgICBkZWYgX2NtcChzZWxmLCBvdGhlcik6Ci0gICAgICAgICIiIkNvbXBhcmUgdGhlIHR3byBub24tTmFOIGRlY2ltYWwgaW5zdGFuY2VzIHNlbGYgYW5kIG90aGVyLgotCi0gICAgICAgIFJldHVybnMgLTEgaWYgc2VsZiA8IG90aGVyLCAwIGlmIHNlbGYgPT0gb3RoZXIgYW5kIDEKLSAgICAgICAgaWYgc2VsZiA+IG90aGVyLiAgVGhpcyByb3V0aW5lIGlzIGZvciBpbnRlcm5hbCB1c2Ugb25seS4iIiIKLQotICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsIG9yIG90aGVyLl9pc19zcGVjaWFsOgotICAgICAgICAgICAgc2VsZl9pbmYgPSBzZWxmLl9pc2luZmluaXR5KCkKLSAgICAgICAgICAgIG90aGVyX2luZiA9IG90aGVyLl9pc2luZmluaXR5KCkKLSAgICAgICAgICAgIGlmIHNlbGZfaW5mID09IG90aGVyX2luZjoKLSAgICAgICAgICAgICAgICByZXR1cm4gMAotICAgICAgICAgICAgZWxpZiBzZWxmX2luZiA8IG90aGVyX2luZjoKLSAgICAgICAgICAgICAgICByZXR1cm4gLTEKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIDEKLQotICAgICAgICAjIGNoZWNrIGZvciB6ZXJvczsgIERlY2ltYWwoJzAnKSA9PSBEZWNpbWFsKCctMCcpCi0gICAgICAgIGlmIG5vdCBzZWxmOgotICAgICAgICAgICAgaWYgbm90IG90aGVyOgotICAgICAgICAgICAgICAgIHJldHVybiAwCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHJldHVybiAtKCgtMSkqKm90aGVyLl9zaWduKQotICAgICAgICBpZiBub3Qgb3RoZXI6Ci0gICAgICAgICAgICByZXR1cm4gKC0xKSoqc2VsZi5fc2lnbgotCi0gICAgICAgICMgSWYgZGlmZmVyZW50IHNpZ25zLCBuZWcgb25lIGlzIGxlc3MKLSAgICAgICAgaWYgb3RoZXIuX3NpZ24gPCBzZWxmLl9zaWduOgotICAgICAgICAgICAgcmV0dXJuIC0xCi0gICAgICAgIGlmIHNlbGYuX3NpZ24gPCBvdGhlci5fc2lnbjoKLSAgICAgICAgICAgIHJldHVybiAxCi0KLSAgICAgICAgc2VsZl9hZGp1c3RlZCA9IHNlbGYuYWRqdXN0ZWQoKQotICAgICAgICBvdGhlcl9hZGp1c3RlZCA9IG90aGVyLmFkanVzdGVkKCkKLSAgICAgICAgaWYgc2VsZl9hZGp1c3RlZCA9PSBvdGhlcl9hZGp1c3RlZDoKLSAgICAgICAgICAgIHNlbGZfcGFkZGVkID0gc2VsZi5faW50ICsgJzAnKihzZWxmLl9leHAgLSBvdGhlci5fZXhwKQotICAgICAgICAgICAgb3RoZXJfcGFkZGVkID0gb3RoZXIuX2ludCArICcwJyoob3RoZXIuX2V4cCAtIHNlbGYuX2V4cCkKLSAgICAgICAgICAgIGlmIHNlbGZfcGFkZGVkID09IG90aGVyX3BhZGRlZDoKLSAgICAgICAgICAgICAgICByZXR1cm4gMAotICAgICAgICAgICAgZWxpZiBzZWxmX3BhZGRlZCA8IG90aGVyX3BhZGRlZDoKLSAgICAgICAgICAgICAgICByZXR1cm4gLSgtMSkqKnNlbGYuX3NpZ24KLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmV0dXJuICgtMSkqKnNlbGYuX3NpZ24KLSAgICAgICAgZWxpZiBzZWxmX2FkanVzdGVkID4gb3RoZXJfYWRqdXN0ZWQ6Ci0gICAgICAgICAgICByZXR1cm4gKC0xKSoqc2VsZi5fc2lnbgotICAgICAgICBlbHNlOiAjIHNlbGZfYWRqdXN0ZWQgPCBvdGhlcl9hZGp1c3RlZAotICAgICAgICAgICAgcmV0dXJuIC0oKC0xKSoqc2VsZi5fc2lnbikKLQotICAgICMgTm90ZTogVGhlIERlY2ltYWwgc3RhbmRhcmQgZG9lc24ndCBjb3ZlciByaWNoIGNvbXBhcmlzb25zIGZvcgotICAgICMgRGVjaW1hbHMuICBJbiBwYXJ0aWN1bGFyLCB0aGUgc3BlY2lmaWNhdGlvbiBpcyBzaWxlbnQgb24gdGhlCi0gICAgIyBzdWJqZWN0IG9mIHdoYXQgc2hvdWxkIGhhcHBlbiBmb3IgYSBjb21wYXJpc29uIGludm9sdmluZyBhIE5hTi4KLSAgICAjIFdlIHRha2UgdGhlIGZvbGxvd2luZyBhcHByb2FjaDoKLSAgICAjCi0gICAgIyAgID09IGNvbXBhcmlzb25zIGludm9sdmluZyBhIHF1aWV0IE5hTiBhbHdheXMgcmV0dXJuIEZhbHNlCi0gICAgIyAgICE9IGNvbXBhcmlzb25zIGludm9sdmluZyBhIHF1aWV0IE5hTiBhbHdheXMgcmV0dXJuIFRydWUKLSAgICAjICAgPT0gb3IgIT0gY29tcGFyaXNvbnMgaW52b2x2aW5nIGEgc2lnbmFsaW5nIE5hTiBzaWduYWwKLSAgICAjICAgICAgSW52YWxpZE9wZXJhdGlvbiwgYW5kIHJldHVybiBGYWxzZSBvciBUcnVlIGFzIGFib3ZlIGlmIHRoZQotICAgICMgICAgICBJbnZhbGlkT3BlcmF0aW9uIGlzIG5vdCB0cmFwcGVkLgotICAgICMgICA8LCA+LCA8PSBhbmQgPj0gY29tcGFyaXNvbnMgaW52b2x2aW5nIGEgKHF1aWV0IG9yIHNpZ25hbGluZykKLSAgICAjICAgICAgTmFOIHNpZ25hbCBJbnZhbGlkT3BlcmF0aW9uLCBhbmQgcmV0dXJuIEZhbHNlIGlmIHRoZQotICAgICMgICAgICBJbnZhbGlkT3BlcmF0aW9uIGlzIG5vdCB0cmFwcGVkLgotICAgICMKLSAgICAjIFRoaXMgYmVoYXZpb3IgaXMgZGVzaWduZWQgdG8gY29uZm9ybSBhcyBjbG9zZWx5IGFzIHBvc3NpYmxlIHRvCi0gICAgIyB0aGF0IHNwZWNpZmllZCBieSBJRUVFIDc1NC4KLQotICAgIGRlZiBfX2VxX18oc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgIHNlbGYsIG90aGVyID0gX2NvbnZlcnRfZm9yX2NvbXBhcmlzb24oc2VsZiwgb3RoZXIsIGVxdWFsaXR5X29wPVRydWUpCi0gICAgICAgIGlmIG90aGVyIGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICAgICAgcmV0dXJuIG90aGVyCi0gICAgICAgIGlmIHNlbGYuX2NoZWNrX25hbnMob3RoZXIsIGNvbnRleHQpOgotICAgICAgICAgICAgcmV0dXJuIEZhbHNlCi0gICAgICAgIHJldHVybiBzZWxmLl9jbXAob3RoZXIpID09IDAKLQotICAgIGRlZiBfX25lX18oc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgIHNlbGYsIG90aGVyID0gX2NvbnZlcnRfZm9yX2NvbXBhcmlzb24oc2VsZiwgb3RoZXIsIGVxdWFsaXR5X29wPVRydWUpCi0gICAgICAgIGlmIG90aGVyIGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICAgICAgcmV0dXJuIG90aGVyCi0gICAgICAgIGlmIHNlbGYuX2NoZWNrX25hbnMob3RoZXIsIGNvbnRleHQpOgotICAgICAgICAgICAgcmV0dXJuIFRydWUKLSAgICAgICAgcmV0dXJuIHNlbGYuX2NtcChvdGhlcikgIT0gMAotCi0KLSAgICBkZWYgX19sdF9fKHNlbGYsIG90aGVyLCBjb250ZXh0PU5vbmUpOgotICAgICAgICBzZWxmLCBvdGhlciA9IF9jb252ZXJ0X2Zvcl9jb21wYXJpc29uKHNlbGYsIG90aGVyKQotICAgICAgICBpZiBvdGhlciBpcyBOb3RJbXBsZW1lbnRlZDoKLSAgICAgICAgICAgIHJldHVybiBvdGhlcgotICAgICAgICBhbnMgPSBzZWxmLl9jb21wYXJlX2NoZWNrX25hbnMob3RoZXIsIGNvbnRleHQpCi0gICAgICAgIGlmIGFuczoKLSAgICAgICAgICAgIHJldHVybiBGYWxzZQotICAgICAgICByZXR1cm4gc2VsZi5fY21wKG90aGVyKSA8IDAKLQotICAgIGRlZiBfX2xlX18oc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgIHNlbGYsIG90aGVyID0gX2NvbnZlcnRfZm9yX2NvbXBhcmlzb24oc2VsZiwgb3RoZXIpCi0gICAgICAgIGlmIG90aGVyIGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICAgICAgcmV0dXJuIG90aGVyCi0gICAgICAgIGFucyA9IHNlbGYuX2NvbXBhcmVfY2hlY2tfbmFucyhvdGhlciwgY29udGV4dCkKLSAgICAgICAgaWYgYW5zOgotICAgICAgICAgICAgcmV0dXJuIEZhbHNlCi0gICAgICAgIHJldHVybiBzZWxmLl9jbXAob3RoZXIpIDw9IDAKLQotICAgIGRlZiBfX2d0X18oc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgIHNlbGYsIG90aGVyID0gX2NvbnZlcnRfZm9yX2NvbXBhcmlzb24oc2VsZiwgb3RoZXIpCi0gICAgICAgIGlmIG90aGVyIGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICAgICAgcmV0dXJuIG90aGVyCi0gICAgICAgIGFucyA9IHNlbGYuX2NvbXBhcmVfY2hlY2tfbmFucyhvdGhlciwgY29udGV4dCkKLSAgICAgICAgaWYgYW5zOgotICAgICAgICAgICAgcmV0dXJuIEZhbHNlCi0gICAgICAgIHJldHVybiBzZWxmLl9jbXAob3RoZXIpID4gMAotCi0gICAgZGVmIF9fZ2VfXyhzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKLSAgICAgICAgc2VsZiwgb3RoZXIgPSBfY29udmVydF9mb3JfY29tcGFyaXNvbihzZWxmLCBvdGhlcikKLSAgICAgICAgaWYgb3RoZXIgaXMgTm90SW1wbGVtZW50ZWQ6Ci0gICAgICAgICAgICByZXR1cm4gb3RoZXIKLSAgICAgICAgYW5zID0gc2VsZi5fY29tcGFyZV9jaGVja19uYW5zKG90aGVyLCBjb250ZXh0KQotICAgICAgICBpZiBhbnM6Ci0gICAgICAgICAgICByZXR1cm4gRmFsc2UKLSAgICAgICAgcmV0dXJuIHNlbGYuX2NtcChvdGhlcikgPj0gMAotCi0gICAgZGVmIGNvbXBhcmUoc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIkNvbXBhcmVzIG9uZSB0byBhbm90aGVyLgotCi0gICAgICAgIC0xID0+IGEgPCBiCi0gICAgICAgIDAgID0+IGEgPSBiCi0gICAgICAgIDEgID0+IGEgPiBiCi0gICAgICAgIE5hTiA9PiBvbmUgaXMgTmFOCi0gICAgICAgIExpa2UgX19jbXBfXywgYnV0IHJldHVybnMgRGVjaW1hbCBpbnN0YW5jZXMuCi0gICAgICAgICIiIgotICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyLCByYWlzZWl0PVRydWUpCi0KLSAgICAgICAgIyBDb21wYXJlKE5hTiwgTmFOKSA9IE5hTgotICAgICAgICBpZiAoc2VsZi5faXNfc3BlY2lhbCBvciBvdGhlciBhbmQgb3RoZXIuX2lzX3NwZWNpYWwpOgotICAgICAgICAgICAgYW5zID0gc2VsZi5fY2hlY2tfbmFucyhvdGhlciwgY29udGV4dCkKLSAgICAgICAgICAgIGlmIGFuczoKLSAgICAgICAgICAgICAgICByZXR1cm4gYW5zCi0KLSAgICAgICAgcmV0dXJuIERlY2ltYWwoc2VsZi5fY21wKG90aGVyKSkKLQotICAgIGRlZiBfX2hhc2hfXyhzZWxmKToKLSAgICAgICAgIiIieC5fX2hhc2hfXygpIDw9PT4gaGFzaCh4KSIiIgotCi0gICAgICAgICMgSW4gb3JkZXIgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIGhhc2ggb2YgYSBEZWNpbWFsIGluc3RhbmNlCi0gICAgICAgICMgYWdyZWVzIHdpdGggdGhlIGhhc2ggb2YgYSBudW1lcmljYWxseSBlcXVhbCBpbnRlZ2VyLCBmbG9hdAotICAgICAgICAjIG9yIEZyYWN0aW9uLCB3ZSBmb2xsb3cgdGhlIHJ1bGVzIGZvciBudW1lcmljIGhhc2hlcyBvdXRsaW5lZAotICAgICAgICAjIGluIHRoZSBkb2N1bWVudGF0aW9uLiAgKFNlZSBsaWJyYXJ5IGRvY3MsICdCdWlsdC1pbiBUeXBlcycpLgotICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsOgotICAgICAgICAgICAgaWYgc2VsZi5pc19zbmFuKCk6Ci0gICAgICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCdDYW5ub3QgaGFzaCBhIHNpZ25hbGluZyBOYU4gdmFsdWUuJykKLSAgICAgICAgICAgIGVsaWYgc2VsZi5pc19uYW4oKToKLSAgICAgICAgICAgICAgICByZXR1cm4gX1B5SEFTSF9OQU4KLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgaWYgc2VsZi5fc2lnbjoKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1fUHlIQVNIX0lORgotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBfUHlIQVNIX0lORgotCi0gICAgICAgIGlmIHNlbGYuX2V4cCA+PSAwOgotICAgICAgICAgICAgZXhwX2hhc2ggPSBwb3coMTAsIHNlbGYuX2V4cCwgX1B5SEFTSF9NT0RVTFVTKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgZXhwX2hhc2ggPSBwb3coX1B5SEFTSF8xMElOViwgLXNlbGYuX2V4cCwgX1B5SEFTSF9NT0RVTFVTKQotICAgICAgICBoYXNoXyA9IGludChzZWxmLl9pbnQpICogZXhwX2hhc2ggJSBfUHlIQVNIX01PRFVMVVMKLSAgICAgICAgYW5zID0gaGFzaF8gaWYgc2VsZiA+PSAwIGVsc2UgLWhhc2hfCi0gICAgICAgIHJldHVybiAtMiBpZiBhbnMgPT0gLTEgZWxzZSBhbnMKLQotICAgIGRlZiBhc190dXBsZShzZWxmKToKLSAgICAgICAgIiIiUmVwcmVzZW50cyB0aGUgbnVtYmVyIGFzIGEgdHJpcGxlIHR1cGxlLgotCi0gICAgICAgIFRvIHNob3cgdGhlIGludGVybmFscyBleGFjdGx5IGFzIHRoZXkgYXJlLgotICAgICAgICAiIiIKLSAgICAgICAgcmV0dXJuIERlY2ltYWxUdXBsZShzZWxmLl9zaWduLCB0dXBsZShtYXAoaW50LCBzZWxmLl9pbnQpKSwgc2VsZi5fZXhwKQotCi0gICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICAiIiJSZXByZXNlbnRzIHRoZSBudW1iZXIgYXMgYW4gaW5zdGFuY2Ugb2YgRGVjaW1hbC4iIiIKLSAgICAgICAgIyBJbnZhcmlhbnQ6ICBldmFsKHJlcHIoZCkpID09IGQKLSAgICAgICAgcmV0dXJuICJEZWNpbWFsKCclcycpIiAlIHN0cihzZWxmKQotCi0gICAgZGVmIF9fc3RyX18oc2VsZiwgZW5nPUZhbHNlLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiJSZXR1cm4gc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBudW1iZXIgaW4gc2NpZW50aWZpYyBub3RhdGlvbi4KLQotICAgICAgICBDYXB0dXJlcyBhbGwgb2YgdGhlIGluZm9ybWF0aW9uIGluIHRoZSB1bmRlcmx5aW5nIHJlcHJlc2VudGF0aW9uLgotICAgICAgICAiIiIKLQotICAgICAgICBzaWduID0gWycnLCAnLSddW3NlbGYuX3NpZ25dCi0gICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWw6Ci0gICAgICAgICAgICBpZiBzZWxmLl9leHAgPT0gJ0YnOgotICAgICAgICAgICAgICAgIHJldHVybiBzaWduICsgJ0luZmluaXR5JwotICAgICAgICAgICAgZWxpZiBzZWxmLl9leHAgPT0gJ24nOgotICAgICAgICAgICAgICAgIHJldHVybiBzaWduICsgJ05hTicgKyBzZWxmLl9pbnQKLSAgICAgICAgICAgIGVsc2U6ICMgc2VsZi5fZXhwID09ICdOJwotICAgICAgICAgICAgICAgIHJldHVybiBzaWduICsgJ3NOYU4nICsgc2VsZi5faW50Ci0KLSAgICAgICAgIyBudW1iZXIgb2YgZGlnaXRzIG9mIHNlbGYuX2ludCB0byBsZWZ0IG9mIGRlY2ltYWwgcG9pbnQKLSAgICAgICAgbGVmdGRpZ2l0cyA9IHNlbGYuX2V4cCArIGxlbihzZWxmLl9pbnQpCi0KLSAgICAgICAgIyBkb3RwbGFjZSBpcyBudW1iZXIgb2YgZGlnaXRzIG9mIHNlbGYuX2ludCB0byB0aGUgbGVmdCBvZiB0aGUKLSAgICAgICAgIyBkZWNpbWFsIHBvaW50IGluIHRoZSBtYW50aXNzYSBvZiB0aGUgb3V0cHV0IHN0cmluZyAodGhhdCBpcywKLSAgICAgICAgIyBhZnRlciBhZGp1c3RpbmcgdGhlIGV4cG9uZW50KQotICAgICAgICBpZiBzZWxmLl9leHAgPD0gMCBhbmQgbGVmdGRpZ2l0cyA+IC02OgotICAgICAgICAgICAgIyBubyBleHBvbmVudCByZXF1aXJlZAotICAgICAgICAgICAgZG90cGxhY2UgPSBsZWZ0ZGlnaXRzCi0gICAgICAgIGVsaWYgbm90IGVuZzoKLSAgICAgICAgICAgICMgdXN1YWwgc2NpZW50aWZpYyBub3RhdGlvbjogMSBkaWdpdCBvbiBsZWZ0IG9mIHRoZSBwb2ludAotICAgICAgICAgICAgZG90cGxhY2UgPSAxCi0gICAgICAgIGVsaWYgc2VsZi5faW50ID09ICcwJzoKLSAgICAgICAgICAgICMgZW5naW5lZXJpbmcgbm90YXRpb24sIHplcm8KLSAgICAgICAgICAgIGRvdHBsYWNlID0gKGxlZnRkaWdpdHMgKyAxKSAlIDMgLSAxCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAjIGVuZ2luZWVyaW5nIG5vdGF0aW9uLCBub256ZXJvCi0gICAgICAgICAgICBkb3RwbGFjZSA9IChsZWZ0ZGlnaXRzIC0gMSkgJSAzICsgMQotCi0gICAgICAgIGlmIGRvdHBsYWNlIDw9IDA6Ci0gICAgICAgICAgICBpbnRwYXJ0ID0gJzAnCi0gICAgICAgICAgICBmcmFjcGFydCA9ICcuJyArICcwJyooLWRvdHBsYWNlKSArIHNlbGYuX2ludAotICAgICAgICBlbGlmIGRvdHBsYWNlID49IGxlbihzZWxmLl9pbnQpOgotICAgICAgICAgICAgaW50cGFydCA9IHNlbGYuX2ludCsnMCcqKGRvdHBsYWNlLWxlbihzZWxmLl9pbnQpKQotICAgICAgICAgICAgZnJhY3BhcnQgPSAnJwotICAgICAgICBlbHNlOgotICAgICAgICAgICAgaW50cGFydCA9IHNlbGYuX2ludFs6ZG90cGxhY2VdCi0gICAgICAgICAgICBmcmFjcGFydCA9ICcuJyArIHNlbGYuX2ludFtkb3RwbGFjZTpdCi0gICAgICAgIGlmIGxlZnRkaWdpdHMgPT0gZG90cGxhY2U6Ci0gICAgICAgICAgICBleHAgPSAnJwotICAgICAgICBlbHNlOgotICAgICAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgotICAgICAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKLSAgICAgICAgICAgIGV4cCA9IFsnZScsICdFJ11bY29udGV4dC5jYXBpdGFsc10gKyAiJStkIiAlIChsZWZ0ZGlnaXRzLWRvdHBsYWNlKQotCi0gICAgICAgIHJldHVybiBzaWduICsgaW50cGFydCArIGZyYWNwYXJ0ICsgZXhwCi0KLSAgICBkZWYgdG9fZW5nX3N0cmluZyhzZWxmLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiJDb252ZXJ0IHRvIGVuZ2luZWVyaW5nLXR5cGUgc3RyaW5nLgotCi0gICAgICAgIEVuZ2luZWVyaW5nIG5vdGF0aW9uIGhhcyBhbiBleHBvbmVudCB3aGljaCBpcyBhIG11bHRpcGxlIG9mIDMsIHNvIHRoZXJlCi0gICAgICAgIGFyZSB1cCB0byAzIGRpZ2l0cyBsZWZ0IG9mIHRoZSBkZWNpbWFsIHBsYWNlLgotCi0gICAgICAgIFNhbWUgcnVsZXMgZm9yIHdoZW4gaW4gZXhwb25lbnRpYWwgYW5kIHdoZW4gYXMgYSB2YWx1ZSBhcyBpbiBfX3N0cl9fLgotICAgICAgICAiIiIKLSAgICAgICAgcmV0dXJuIHNlbGYuX19zdHJfXyhlbmc9VHJ1ZSwgY29udGV4dD1jb250ZXh0KQotCi0gICAgZGVmIF9fbmVnX18oc2VsZiwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiUmV0dXJucyBhIGNvcHkgd2l0aCB0aGUgc2lnbiBzd2l0Y2hlZC4KLQotICAgICAgICBSb3VuZHMsIGlmIGl0IGhhcyByZWFzb24uCi0gICAgICAgICIiIgotICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsOgotICAgICAgICAgICAgYW5zID0gc2VsZi5fY2hlY2tfbmFucyhjb250ZXh0PWNvbnRleHQpCi0gICAgICAgICAgICBpZiBhbnM6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGFucwotCi0gICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKLQotICAgICAgICBpZiBub3Qgc2VsZiBhbmQgY29udGV4dC5yb3VuZGluZyAhPSBST1VORF9GTE9PUjoKLSAgICAgICAgICAgICMgLURlY2ltYWwoJzAnKSBpcyBEZWNpbWFsKCcwJyksIG5vdCBEZWNpbWFsKCctMCcpLCBleGNlcHQKLSAgICAgICAgICAgICMgaW4gUk9VTkRfRkxPT1Igcm91bmRpbmcgbW9kZS4KLSAgICAgICAgICAgIGFucyA9IHNlbGYuY29weV9hYnMoKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgYW5zID0gc2VsZi5jb3B5X25lZ2F0ZSgpCi0KLSAgICAgICAgcmV0dXJuIGFucy5fZml4KGNvbnRleHQpCi0KLSAgICBkZWYgX19wb3NfXyhzZWxmLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiJSZXR1cm5zIGEgY29weSwgdW5sZXNzIGl0IGlzIGEgc05hTi4KLQotICAgICAgICBSb3VuZHMgdGhlIG51bWJlciAoaWYgbW9yZSB0aGVuIHByZWNpc2lvbiBkaWdpdHMpCi0gICAgICAgICIiIgotICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsOgotICAgICAgICAgICAgYW5zID0gc2VsZi5fY2hlY2tfbmFucyhjb250ZXh0PWNvbnRleHQpCi0gICAgICAgICAgICBpZiBhbnM6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGFucwotCi0gICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKLQotICAgICAgICBpZiBub3Qgc2VsZiBhbmQgY29udGV4dC5yb3VuZGluZyAhPSBST1VORF9GTE9PUjoKLSAgICAgICAgICAgICMgKyAoLTApID0gMCwgZXhjZXB0IGluIFJPVU5EX0ZMT09SIHJvdW5kaW5nIG1vZGUuCi0gICAgICAgICAgICBhbnMgPSBzZWxmLmNvcHlfYWJzKCkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGFucyA9IERlY2ltYWwoc2VsZikKLQotICAgICAgICByZXR1cm4gYW5zLl9maXgoY29udGV4dCkKLQotICAgIGRlZiBfX2Fic19fKHNlbGYsIHJvdW5kPVRydWUsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIlJldHVybnMgdGhlIGFic29sdXRlIHZhbHVlIG9mIHNlbGYuCi0KLSAgICAgICAgSWYgdGhlIGtleXdvcmQgYXJndW1lbnQgJ3JvdW5kJyBpcyBmYWxzZSwgZG8gbm90IHJvdW5kLiAgVGhlCi0gICAgICAgIGV4cHJlc3Npb24gc2VsZi5fX2Fic19fKHJvdW5kPUZhbHNlKSBpcyBlcXVpdmFsZW50IHRvCi0gICAgICAgIHNlbGYuY29weV9hYnMoKS4KLSAgICAgICAgIiIiCi0gICAgICAgIGlmIG5vdCByb3VuZDoKLSAgICAgICAgICAgIHJldHVybiBzZWxmLmNvcHlfYWJzKCkKLQotICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsOgotICAgICAgICAgICAgYW5zID0gc2VsZi5fY2hlY2tfbmFucyhjb250ZXh0PWNvbnRleHQpCi0gICAgICAgICAgICBpZiBhbnM6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGFucwotCi0gICAgICAgIGlmIHNlbGYuX3NpZ246Ci0gICAgICAgICAgICBhbnMgPSBzZWxmLl9fbmVnX18oY29udGV4dD1jb250ZXh0KQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgYW5zID0gc2VsZi5fX3Bvc19fKGNvbnRleHQ9Y29udGV4dCkKLQotICAgICAgICByZXR1cm4gYW5zCi0KLSAgICBkZWYgX19hZGRfXyhzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiUmV0dXJucyBzZWxmICsgb3RoZXIuCi0KLSAgICAgICAgLUlORiArIElORiAob3IgdGhlIHJldmVyc2UpIGNhdXNlIEludmFsaWRPcGVyYXRpb24gZXJyb3JzLgotICAgICAgICAiIiIKLSAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlcikKLSAgICAgICAgaWYgb3RoZXIgaXMgTm90SW1wbGVtZW50ZWQ6Ci0gICAgICAgICAgICByZXR1cm4gb3RoZXIKLQotICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6Ci0gICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCi0KLSAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbCBvciBvdGhlci5faXNfc3BlY2lhbDoKLSAgICAgICAgICAgIGFucyA9IHNlbGYuX2NoZWNrX25hbnMob3RoZXIsIGNvbnRleHQpCi0gICAgICAgICAgICBpZiBhbnM6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGFucwotCi0gICAgICAgICAgICBpZiBzZWxmLl9pc2luZmluaXR5KCk6Ci0gICAgICAgICAgICAgICAgIyBJZiBib3RoIElORiwgc2FtZSBzaWduID0+IHNhbWUgYXMgYm90aCwgb3Bwb3NpdGUgPT4gZXJyb3IuCi0gICAgICAgICAgICAgICAgaWYgc2VsZi5fc2lnbiAhPSBvdGhlci5fc2lnbiBhbmQgb3RoZXIuX2lzaW5maW5pdHkoKToKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sICctSU5GICsgSU5GJykKLSAgICAgICAgICAgICAgICByZXR1cm4gRGVjaW1hbChzZWxmKQotICAgICAgICAgICAgaWYgb3RoZXIuX2lzaW5maW5pdHkoKToKLSAgICAgICAgICAgICAgICByZXR1cm4gRGVjaW1hbChvdGhlcikgICMgQ2FuJ3QgYm90aCBiZSBpbmZpbml0eSBoZXJlCi0KLSAgICAgICAgZXhwID0gbWluKHNlbGYuX2V4cCwgb3RoZXIuX2V4cCkKLSAgICAgICAgbmVnYXRpdmV6ZXJvID0gMAotICAgICAgICBpZiBjb250ZXh0LnJvdW5kaW5nID09IFJPVU5EX0ZMT09SIGFuZCBzZWxmLl9zaWduICE9IG90aGVyLl9zaWduOgotICAgICAgICAgICAgIyBJZiB0aGUgYW5zd2VyIGlzIDAsIHRoZSBzaWduIHNob3VsZCBiZSBuZWdhdGl2ZSwgaW4gdGhpcyBjYXNlLgotICAgICAgICAgICAgbmVnYXRpdmV6ZXJvID0gMQotCi0gICAgICAgIGlmIG5vdCBzZWxmIGFuZCBub3Qgb3RoZXI6Ci0gICAgICAgICAgICBzaWduID0gbWluKHNlbGYuX3NpZ24sIG90aGVyLl9zaWduKQotICAgICAgICAgICAgaWYgbmVnYXRpdmV6ZXJvOgotICAgICAgICAgICAgICAgIHNpZ24gPSAxCi0gICAgICAgICAgICBhbnMgPSBfZGVjX2Zyb21fdHJpcGxlKHNpZ24sICcwJywgZXhwKQotICAgICAgICAgICAgYW5zID0gYW5zLl9maXgoY29udGV4dCkKLSAgICAgICAgICAgIHJldHVybiBhbnMKLSAgICAgICAgaWYgbm90IHNlbGY6Ci0gICAgICAgICAgICBleHAgPSBtYXgoZXhwLCBvdGhlci5fZXhwIC0gY29udGV4dC5wcmVjLTEpCi0gICAgICAgICAgICBhbnMgPSBvdGhlci5fcmVzY2FsZShleHAsIGNvbnRleHQucm91bmRpbmcpCi0gICAgICAgICAgICBhbnMgPSBhbnMuX2ZpeChjb250ZXh0KQotICAgICAgICAgICAgcmV0dXJuIGFucwotICAgICAgICBpZiBub3Qgb3RoZXI6Ci0gICAgICAgICAgICBleHAgPSBtYXgoZXhwLCBzZWxmLl9leHAgLSBjb250ZXh0LnByZWMtMSkKLSAgICAgICAgICAgIGFucyA9IHNlbGYuX3Jlc2NhbGUoZXhwLCBjb250ZXh0LnJvdW5kaW5nKQotICAgICAgICAgICAgYW5zID0gYW5zLl9maXgoY29udGV4dCkKLSAgICAgICAgICAgIHJldHVybiBhbnMKLQotICAgICAgICBvcDEgPSBfV29ya1JlcChzZWxmKQotICAgICAgICBvcDIgPSBfV29ya1JlcChvdGhlcikKLSAgICAgICAgb3AxLCBvcDIgPSBfbm9ybWFsaXplKG9wMSwgb3AyLCBjb250ZXh0LnByZWMpCi0KLSAgICAgICAgcmVzdWx0ID0gX1dvcmtSZXAoKQotICAgICAgICBpZiBvcDEuc2lnbiAhPSBvcDIuc2lnbjoKLSAgICAgICAgICAgICMgRXF1YWwgYW5kIG9wcG9zaXRlCi0gICAgICAgICAgICBpZiBvcDEuaW50ID09IG9wMi5pbnQ6Ci0gICAgICAgICAgICAgICAgYW5zID0gX2RlY19mcm9tX3RyaXBsZShuZWdhdGl2ZXplcm8sICcwJywgZXhwKQotICAgICAgICAgICAgICAgIGFucyA9IGFucy5fZml4KGNvbnRleHQpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGFucwotICAgICAgICAgICAgaWYgb3AxLmludCA8IG9wMi5pbnQ6Ci0gICAgICAgICAgICAgICAgb3AxLCBvcDIgPSBvcDIsIG9wMQotICAgICAgICAgICAgICAgICMgT0ssIG5vdyBhYnMob3AxKSA+IGFicyhvcDIpCi0gICAgICAgICAgICBpZiBvcDEuc2lnbiA9PSAxOgotICAgICAgICAgICAgICAgIHJlc3VsdC5zaWduID0gMQotICAgICAgICAgICAgICAgIG9wMS5zaWduLCBvcDIuc2lnbiA9IG9wMi5zaWduLCBvcDEuc2lnbgotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICByZXN1bHQuc2lnbiA9IDAKLSAgICAgICAgICAgICAgICAjIFNvIHdlIGtub3cgdGhlIHNpZ24sIGFuZCBvcDEgPiAwLgotICAgICAgICBlbGlmIG9wMS5zaWduID09IDE6Ci0gICAgICAgICAgICByZXN1bHQuc2lnbiA9IDEKLSAgICAgICAgICAgIG9wMS5zaWduLCBvcDIuc2lnbiA9ICgwLCAwKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmVzdWx0LnNpZ24gPSAwCi0gICAgICAgICMgTm93LCBvcDEgPiBhYnMob3AyKSA+IDAKLQotICAgICAgICBpZiBvcDIuc2lnbiA9PSAwOgotICAgICAgICAgICAgcmVzdWx0LmludCA9IG9wMS5pbnQgKyBvcDIuaW50Ci0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXN1bHQuaW50ID0gb3AxLmludCAtIG9wMi5pbnQKLQotICAgICAgICByZXN1bHQuZXhwID0gb3AxLmV4cAotICAgICAgICBhbnMgPSBEZWNpbWFsKHJlc3VsdCkKLSAgICAgICAgYW5zID0gYW5zLl9maXgoY29udGV4dCkKLSAgICAgICAgcmV0dXJuIGFucwotCi0gICAgX19yYWRkX18gPSBfX2FkZF9fCi0KLSAgICBkZWYgX19zdWJfXyhzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiUmV0dXJuIHNlbGYgLSBvdGhlciIiIgotICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyKQotICAgICAgICBpZiBvdGhlciBpcyBOb3RJbXBsZW1lbnRlZDoKLSAgICAgICAgICAgIHJldHVybiBvdGhlcgotCi0gICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWwgb3Igb3RoZXIuX2lzX3NwZWNpYWw6Ci0gICAgICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKG90aGVyLCBjb250ZXh0PWNvbnRleHQpCi0gICAgICAgICAgICBpZiBhbnM6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGFucwotCi0gICAgICAgICMgc2VsZiAtIG90aGVyIGlzIGNvbXB1dGVkIGFzIHNlbGYgKyBvdGhlci5jb3B5X25lZ2F0ZSgpCi0gICAgICAgIHJldHVybiBzZWxmLl9fYWRkX18ob3RoZXIuY29weV9uZWdhdGUoKSwgY29udGV4dD1jb250ZXh0KQotCi0gICAgZGVmIF9fcnN1Yl9fKHNlbGYsIG90aGVyLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiJSZXR1cm4gb3RoZXIgLSBzZWxmIiIiCi0gICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIpCi0gICAgICAgIGlmIG90aGVyIGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICAgICAgcmV0dXJuIG90aGVyCi0KLSAgICAgICAgcmV0dXJuIG90aGVyLl9fc3ViX18oc2VsZiwgY29udGV4dD1jb250ZXh0KQotCi0gICAgZGVmIF9fbXVsX18oc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIlJldHVybiBzZWxmICogb3RoZXIuCi0KLSAgICAgICAgKCstKSBJTkYgKiAwIChvciBpdHMgcmV2ZXJzZSkgcmFpc2UgSW52YWxpZE9wZXJhdGlvbi4KLSAgICAgICAgIiIiCi0gICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIpCi0gICAgICAgIGlmIG90aGVyIGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICAgICAgcmV0dXJuIG90aGVyCi0KLSAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgotICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotCi0gICAgICAgIHJlc3VsdHNpZ24gPSBzZWxmLl9zaWduIF4gb3RoZXIuX3NpZ24KLQotICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsIG9yIG90aGVyLl9pc19zcGVjaWFsOgotICAgICAgICAgICAgYW5zID0gc2VsZi5fY2hlY2tfbmFucyhvdGhlciwgY29udGV4dCkKLSAgICAgICAgICAgIGlmIGFuczoKLSAgICAgICAgICAgICAgICByZXR1cm4gYW5zCi0KLSAgICAgICAgICAgIGlmIHNlbGYuX2lzaW5maW5pdHkoKToKLSAgICAgICAgICAgICAgICBpZiBub3Qgb3RoZXI6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLCAnKCstKUlORiAqIDAnKQotICAgICAgICAgICAgICAgIHJldHVybiBfU2lnbmVkSW5maW5pdHlbcmVzdWx0c2lnbl0KLQotICAgICAgICAgICAgaWYgb3RoZXIuX2lzaW5maW5pdHkoKToKLSAgICAgICAgICAgICAgICBpZiBub3Qgc2VsZjoKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sICcwICogKCstKUlORicpCi0gICAgICAgICAgICAgICAgcmV0dXJuIF9TaWduZWRJbmZpbml0eVtyZXN1bHRzaWduXQotCi0gICAgICAgIHJlc3VsdGV4cCA9IHNlbGYuX2V4cCArIG90aGVyLl9leHAKLQotICAgICAgICAjIFNwZWNpYWwgY2FzZSBmb3IgbXVsdGlwbHlpbmcgYnkgemVybwotICAgICAgICBpZiBub3Qgc2VsZiBvciBub3Qgb3RoZXI6Ci0gICAgICAgICAgICBhbnMgPSBfZGVjX2Zyb21fdHJpcGxlKHJlc3VsdHNpZ24sICcwJywgcmVzdWx0ZXhwKQotICAgICAgICAgICAgIyBGaXhpbmcgaW4gY2FzZSB0aGUgZXhwb25lbnQgaXMgb3V0IG9mIGJvdW5kcwotICAgICAgICAgICAgYW5zID0gYW5zLl9maXgoY29udGV4dCkKLSAgICAgICAgICAgIHJldHVybiBhbnMKLQotICAgICAgICAjIFNwZWNpYWwgY2FzZSBmb3IgbXVsdGlwbHlpbmcgYnkgcG93ZXIgb2YgMTAKLSAgICAgICAgaWYgc2VsZi5faW50ID09ICcxJzoKLSAgICAgICAgICAgIGFucyA9IF9kZWNfZnJvbV90cmlwbGUocmVzdWx0c2lnbiwgb3RoZXIuX2ludCwgcmVzdWx0ZXhwKQotICAgICAgICAgICAgYW5zID0gYW5zLl9maXgoY29udGV4dCkKLSAgICAgICAgICAgIHJldHVybiBhbnMKLSAgICAgICAgaWYgb3RoZXIuX2ludCA9PSAnMSc6Ci0gICAgICAgICAgICBhbnMgPSBfZGVjX2Zyb21fdHJpcGxlKHJlc3VsdHNpZ24sIHNlbGYuX2ludCwgcmVzdWx0ZXhwKQotICAgICAgICAgICAgYW5zID0gYW5zLl9maXgoY29udGV4dCkKLSAgICAgICAgICAgIHJldHVybiBhbnMKLQotICAgICAgICBvcDEgPSBfV29ya1JlcChzZWxmKQotICAgICAgICBvcDIgPSBfV29ya1JlcChvdGhlcikKLQotICAgICAgICBhbnMgPSBfZGVjX2Zyb21fdHJpcGxlKHJlc3VsdHNpZ24sIHN0cihvcDEuaW50ICogb3AyLmludCksIHJlc3VsdGV4cCkKLSAgICAgICAgYW5zID0gYW5zLl9maXgoY29udGV4dCkKLQotICAgICAgICByZXR1cm4gYW5zCi0gICAgX19ybXVsX18gPSBfX211bF9fCi0KLSAgICBkZWYgX190cnVlZGl2X18oc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIlJldHVybiBzZWxmIC8gb3RoZXIuIiIiCi0gICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIpCi0gICAgICAgIGlmIG90aGVyIGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICAgICAgcmV0dXJuIE5vdEltcGxlbWVudGVkCi0KLSAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgotICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotCi0gICAgICAgIHNpZ24gPSBzZWxmLl9zaWduIF4gb3RoZXIuX3NpZ24KLQotICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsIG9yIG90aGVyLl9pc19zcGVjaWFsOgotICAgICAgICAgICAgYW5zID0gc2VsZi5fY2hlY2tfbmFucyhvdGhlciwgY29udGV4dCkKLSAgICAgICAgICAgIGlmIGFuczoKLSAgICAgICAgICAgICAgICByZXR1cm4gYW5zCi0KLSAgICAgICAgICAgIGlmIHNlbGYuX2lzaW5maW5pdHkoKSBhbmQgb3RoZXIuX2lzaW5maW5pdHkoKToKLSAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwgJygrLSlJTkYvKCstKUlORicpCi0KLSAgICAgICAgICAgIGlmIHNlbGYuX2lzaW5maW5pdHkoKToKLSAgICAgICAgICAgICAgICByZXR1cm4gX1NpZ25lZEluZmluaXR5W3NpZ25dCi0KLSAgICAgICAgICAgIGlmIG90aGVyLl9pc2luZmluaXR5KCk6Ci0gICAgICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoQ2xhbXBlZCwgJ0RpdmlzaW9uIGJ5IGluZmluaXR5JykKLSAgICAgICAgICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZShzaWduLCAnMCcsIGNvbnRleHQuRXRpbnkoKSkKLQotICAgICAgICAjIFNwZWNpYWwgY2FzZXMgZm9yIHplcm9lcwotICAgICAgICBpZiBub3Qgb3RoZXI6Ci0gICAgICAgICAgICBpZiBub3Qgc2VsZjoKLSAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoRGl2aXNpb25VbmRlZmluZWQsICcwIC8gMCcpCi0gICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoRGl2aXNpb25CeVplcm8sICd4IC8gMCcsIHNpZ24pCi0KLSAgICAgICAgaWYgbm90IHNlbGY6Ci0gICAgICAgICAgICBleHAgPSBzZWxmLl9leHAgLSBvdGhlci5fZXhwCi0gICAgICAgICAgICBjb2VmZiA9IDAKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgICMgT0ssIHNvIG5laXRoZXIgPSAwLCBJTkYgb3IgTmFOCi0gICAgICAgICAgICBzaGlmdCA9IGxlbihvdGhlci5faW50KSAtIGxlbihzZWxmLl9pbnQpICsgY29udGV4dC5wcmVjICsgMQotICAgICAgICAgICAgZXhwID0gc2VsZi5fZXhwIC0gb3RoZXIuX2V4cCAtIHNoaWZ0Ci0gICAgICAgICAgICBvcDEgPSBfV29ya1JlcChzZWxmKQotICAgICAgICAgICAgb3AyID0gX1dvcmtSZXAob3RoZXIpCi0gICAgICAgICAgICBpZiBzaGlmdCA+PSAwOgotICAgICAgICAgICAgICAgIGNvZWZmLCByZW1haW5kZXIgPSBkaXZtb2Qob3AxLmludCAqIDEwKipzaGlmdCwgb3AyLmludCkKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgY29lZmYsIHJlbWFpbmRlciA9IGRpdm1vZChvcDEuaW50LCBvcDIuaW50ICogMTAqKi1zaGlmdCkKLSAgICAgICAgICAgIGlmIHJlbWFpbmRlcjoKLSAgICAgICAgICAgICAgICAjIHJlc3VsdCBpcyBub3QgZXhhY3Q7IGFkanVzdCB0byBlbnN1cmUgY29ycmVjdCByb3VuZGluZwotICAgICAgICAgICAgICAgIGlmIGNvZWZmICUgNSA9PSAwOgotICAgICAgICAgICAgICAgICAgICBjb2VmZiArPSAxCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICMgcmVzdWx0IGlzIGV4YWN0OyBnZXQgYXMgY2xvc2UgdG8gaWRlYWwgZXhwb25lbnQgYXMgcG9zc2libGUKLSAgICAgICAgICAgICAgICBpZGVhbF9leHAgPSBzZWxmLl9leHAgLSBvdGhlci5fZXhwCi0gICAgICAgICAgICAgICAgd2hpbGUgZXhwIDwgaWRlYWxfZXhwIGFuZCBjb2VmZiAlIDEwID09IDA6Ci0gICAgICAgICAgICAgICAgICAgIGNvZWZmIC8vPSAxMAotICAgICAgICAgICAgICAgICAgICBleHAgKz0gMQotCi0gICAgICAgIGFucyA9IF9kZWNfZnJvbV90cmlwbGUoc2lnbiwgc3RyKGNvZWZmKSwgZXhwKQotICAgICAgICByZXR1cm4gYW5zLl9maXgoY29udGV4dCkKLQotICAgIGRlZiBfZGl2aWRlKHNlbGYsIG90aGVyLCBjb250ZXh0KToKLSAgICAgICAgIiIiUmV0dXJuIChzZWxmIC8vIG90aGVyLCBzZWxmICUgb3RoZXIpLCB0byBjb250ZXh0LnByZWMgcHJlY2lzaW9uLgotCi0gICAgICAgIEFzc3VtZXMgdGhhdCBuZWl0aGVyIHNlbGYgbm9yIG90aGVyIGlzIGEgTmFOLCB0aGF0IHNlbGYgaXMgbm90Ci0gICAgICAgIGluZmluaXRlIGFuZCB0aGF0IG90aGVyIGlzIG5vbnplcm8uCi0gICAgICAgICIiIgotICAgICAgICBzaWduID0gc2VsZi5fc2lnbiBeIG90aGVyLl9zaWduCi0gICAgICAgIGlmIG90aGVyLl9pc2luZmluaXR5KCk6Ci0gICAgICAgICAgICBpZGVhbF9leHAgPSBzZWxmLl9leHAKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGlkZWFsX2V4cCA9IG1pbihzZWxmLl9leHAsIG90aGVyLl9leHApCi0KLSAgICAgICAgZXhwZGlmZiA9IHNlbGYuYWRqdXN0ZWQoKSAtIG90aGVyLmFkanVzdGVkKCkKLSAgICAgICAgaWYgbm90IHNlbGYgb3Igb3RoZXIuX2lzaW5maW5pdHkoKSBvciBleHBkaWZmIDw9IC0yOgotICAgICAgICAgICAgcmV0dXJuIChfZGVjX2Zyb21fdHJpcGxlKHNpZ24sICcwJywgMCksCi0gICAgICAgICAgICAgICAgICAgIHNlbGYuX3Jlc2NhbGUoaWRlYWxfZXhwLCBjb250ZXh0LnJvdW5kaW5nKSkKLSAgICAgICAgaWYgZXhwZGlmZiA8PSBjb250ZXh0LnByZWM6Ci0gICAgICAgICAgICBvcDEgPSBfV29ya1JlcChzZWxmKQotICAgICAgICAgICAgb3AyID0gX1dvcmtSZXAob3RoZXIpCi0gICAgICAgICAgICBpZiBvcDEuZXhwID49IG9wMi5leHA6Ci0gICAgICAgICAgICAgICAgb3AxLmludCAqPSAxMCoqKG9wMS5leHAgLSBvcDIuZXhwKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBvcDIuaW50ICo9IDEwKioob3AyLmV4cCAtIG9wMS5leHApCi0gICAgICAgICAgICBxLCByID0gZGl2bW9kKG9wMS5pbnQsIG9wMi5pbnQpCi0gICAgICAgICAgICBpZiBxIDwgMTAqKmNvbnRleHQucHJlYzoKLSAgICAgICAgICAgICAgICByZXR1cm4gKF9kZWNfZnJvbV90cmlwbGUoc2lnbiwgc3RyKHEpLCAwKSwKLSAgICAgICAgICAgICAgICAgICAgICAgIF9kZWNfZnJvbV90cmlwbGUoc2VsZi5fc2lnbiwgc3RyKHIpLCBpZGVhbF9leHApKQotCi0gICAgICAgICMgSGVyZSB0aGUgcXVvdGllbnQgaXMgdG9vIGxhcmdlIHRvIGJlIHJlcHJlc2VudGFibGUKLSAgICAgICAgYW5zID0gY29udGV4dC5fcmFpc2VfZXJyb3IoRGl2aXNpb25JbXBvc3NpYmxlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncXVvdGllbnQgdG9vIGxhcmdlIGluIC8vLCAlIG9yIGRpdm1vZCcpCi0gICAgICAgIHJldHVybiBhbnMsIGFucwotCi0gICAgZGVmIF9fcnRydWVkaXZfXyhzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiU3dhcHMgc2VsZi9vdGhlciBhbmQgcmV0dXJucyBfX3RydWVkaXZfXy4iIiIKLSAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlcikKLSAgICAgICAgaWYgb3RoZXIgaXMgTm90SW1wbGVtZW50ZWQ6Ci0gICAgICAgICAgICByZXR1cm4gb3RoZXIKLSAgICAgICAgcmV0dXJuIG90aGVyLl9fdHJ1ZWRpdl9fKHNlbGYsIGNvbnRleHQ9Y29udGV4dCkKLQotICAgIGRlZiBfX2Rpdm1vZF9fKHNlbGYsIG90aGVyLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiIKLSAgICAgICAgUmV0dXJuIChzZWxmIC8vIG90aGVyLCBzZWxmICUgb3RoZXIpCi0gICAgICAgICIiIgotICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyKQotICAgICAgICBpZiBvdGhlciBpcyBOb3RJbXBsZW1lbnRlZDoKLSAgICAgICAgICAgIHJldHVybiBvdGhlcgotCi0gICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKLQotICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKG90aGVyLCBjb250ZXh0KQotICAgICAgICBpZiBhbnM6Ci0gICAgICAgICAgICByZXR1cm4gKGFucywgYW5zKQotCi0gICAgICAgIHNpZ24gPSBzZWxmLl9zaWduIF4gb3RoZXIuX3NpZ24KLSAgICAgICAgaWYgc2VsZi5faXNpbmZpbml0eSgpOgotICAgICAgICAgICAgaWYgb3RoZXIuX2lzaW5maW5pdHkoKToKLSAgICAgICAgICAgICAgICBhbnMgPSBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLCAnZGl2bW9kKElORiwgSU5GKScpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGFucywgYW5zCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHJldHVybiAoX1NpZ25lZEluZmluaXR5W3NpZ25dLAotICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwgJ0lORiAlIHgnKSkKLQotICAgICAgICBpZiBub3Qgb3RoZXI6Ci0gICAgICAgICAgICBpZiBub3Qgc2VsZjoKLSAgICAgICAgICAgICAgICBhbnMgPSBjb250ZXh0Ll9yYWlzZV9lcnJvcihEaXZpc2lvblVuZGVmaW5lZCwgJ2Rpdm1vZCgwLCAwKScpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGFucywgYW5zCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHJldHVybiAoY29udGV4dC5fcmFpc2VfZXJyb3IoRGl2aXNpb25CeVplcm8sICd4IC8vIDAnLCBzaWduKSwKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sICd4ICUgMCcpKQotCi0gICAgICAgIHF1b3RpZW50LCByZW1haW5kZXIgPSBzZWxmLl9kaXZpZGUob3RoZXIsIGNvbnRleHQpCi0gICAgICAgIHJlbWFpbmRlciA9IHJlbWFpbmRlci5fZml4KGNvbnRleHQpCi0gICAgICAgIHJldHVybiBxdW90aWVudCwgcmVtYWluZGVyCi0KLSAgICBkZWYgX19yZGl2bW9kX18oc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIlN3YXBzIHNlbGYvb3RoZXIgYW5kIHJldHVybnMgX19kaXZtb2RfXy4iIiIKLSAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlcikKLSAgICAgICAgaWYgb3RoZXIgaXMgTm90SW1wbGVtZW50ZWQ6Ci0gICAgICAgICAgICByZXR1cm4gb3RoZXIKLSAgICAgICAgcmV0dXJuIG90aGVyLl9fZGl2bW9kX18oc2VsZiwgY29udGV4dD1jb250ZXh0KQotCi0gICAgZGVmIF9fbW9kX18oc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIgotICAgICAgICBzZWxmICUgb3RoZXIKLSAgICAgICAgIiIiCi0gICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIpCi0gICAgICAgIGlmIG90aGVyIGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICAgICAgcmV0dXJuIG90aGVyCi0KLSAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgotICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotCi0gICAgICAgIGFucyA9IHNlbGYuX2NoZWNrX25hbnMob3RoZXIsIGNvbnRleHQpCi0gICAgICAgIGlmIGFuczoKLSAgICAgICAgICAgIHJldHVybiBhbnMKLQotICAgICAgICBpZiBzZWxmLl9pc2luZmluaXR5KCk6Ci0gICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwgJ0lORiAlIHgnKQotICAgICAgICBlbGlmIG5vdCBvdGhlcjoKLSAgICAgICAgICAgIGlmIHNlbGY6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sICd4ICUgMCcpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihEaXZpc2lvblVuZGVmaW5lZCwgJzAgJSAwJykKLQotICAgICAgICByZW1haW5kZXIgPSBzZWxmLl9kaXZpZGUob3RoZXIsIGNvbnRleHQpWzFdCi0gICAgICAgIHJlbWFpbmRlciA9IHJlbWFpbmRlci5fZml4KGNvbnRleHQpCi0gICAgICAgIHJldHVybiByZW1haW5kZXIKLQotICAgIGRlZiBfX3Jtb2RfXyhzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiU3dhcHMgc2VsZi9vdGhlciBhbmQgcmV0dXJucyBfX21vZF9fLiIiIgotICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyKQotICAgICAgICBpZiBvdGhlciBpcyBOb3RJbXBsZW1lbnRlZDoKLSAgICAgICAgICAgIHJldHVybiBvdGhlcgotICAgICAgICByZXR1cm4gb3RoZXIuX19tb2RfXyhzZWxmLCBjb250ZXh0PWNvbnRleHQpCi0KLSAgICBkZWYgcmVtYWluZGVyX25lYXIoc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIgotICAgICAgICBSZW1haW5kZXIgbmVhcmVzdCB0byAwLSAgYWJzKHJlbWFpbmRlci1uZWFyKSA8PSBvdGhlci8yCi0gICAgICAgICIiIgotICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6Ci0gICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCi0KLSAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlciwgcmFpc2VpdD1UcnVlKQotCi0gICAgICAgIGFucyA9IHNlbGYuX2NoZWNrX25hbnMob3RoZXIsIGNvbnRleHQpCi0gICAgICAgIGlmIGFuczoKLSAgICAgICAgICAgIHJldHVybiBhbnMKLQotICAgICAgICAjIHNlbGYgPT0gKy8taW5maW5pdHkgLT4gSW52YWxpZE9wZXJhdGlvbgotICAgICAgICBpZiBzZWxmLl9pc2luZmluaXR5KCk6Ci0gICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVtYWluZGVyX25lYXIoaW5maW5pdHksIHgpJykKLQotICAgICAgICAjIG90aGVyID09IDAgLT4gZWl0aGVyIEludmFsaWRPcGVyYXRpb24gb3IgRGl2aXNpb25VbmRlZmluZWQKLSAgICAgICAgaWYgbm90IG90aGVyOgotICAgICAgICAgICAgaWYgc2VsZjoKLSAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlbWFpbmRlcl9uZWFyKHgsIDApJykKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKERpdmlzaW9uVW5kZWZpbmVkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVtYWluZGVyX25lYXIoMCwgMCknKQotCi0gICAgICAgICMgb3RoZXIgPSArLy1pbmZpbml0eSAtPiByZW1haW5kZXIgPSBzZWxmCi0gICAgICAgIGlmIG90aGVyLl9pc2luZmluaXR5KCk6Ci0gICAgICAgICAgICBhbnMgPSBEZWNpbWFsKHNlbGYpCi0gICAgICAgICAgICByZXR1cm4gYW5zLl9maXgoY29udGV4dCkKLQotICAgICAgICAjIHNlbGYgPSAwIC0+IHJlbWFpbmRlciA9IHNlbGYsIHdpdGggaWRlYWwgZXhwb25lbnQKLSAgICAgICAgaWRlYWxfZXhwb25lbnQgPSBtaW4oc2VsZi5fZXhwLCBvdGhlci5fZXhwKQotICAgICAgICBpZiBub3Qgc2VsZjoKLSAgICAgICAgICAgIGFucyA9IF9kZWNfZnJvbV90cmlwbGUoc2VsZi5fc2lnbiwgJzAnLCBpZGVhbF9leHBvbmVudCkKLSAgICAgICAgICAgIHJldHVybiBhbnMuX2ZpeChjb250ZXh0KQotCi0gICAgICAgICMgY2F0Y2ggbW9zdCBjYXNlcyBvZiBsYXJnZSBvciBzbWFsbCBxdW90aWVudAotICAgICAgICBleHBkaWZmID0gc2VsZi5hZGp1c3RlZCgpIC0gb3RoZXIuYWRqdXN0ZWQoKQotICAgICAgICBpZiBleHBkaWZmID49IGNvbnRleHQucHJlYyArIDE6Ci0gICAgICAgICAgICAjIGV4cGRpZmYgPj0gcHJlYysxID0+IGFicyhzZWxmL290aGVyKSA+IDEwKipwcmVjCi0gICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoRGl2aXNpb25JbXBvc3NpYmxlKQotICAgICAgICBpZiBleHBkaWZmIDw9IC0yOgotICAgICAgICAgICAgIyBleHBkaWZmIDw9IC0yID0+IGFicyhzZWxmL290aGVyKSA8IDAuMQotICAgICAgICAgICAgYW5zID0gc2VsZi5fcmVzY2FsZShpZGVhbF9leHBvbmVudCwgY29udGV4dC5yb3VuZGluZykKLSAgICAgICAgICAgIHJldHVybiBhbnMuX2ZpeChjb250ZXh0KQotCi0gICAgICAgICMgYWRqdXN0IGJvdGggYXJndW1lbnRzIHRvIGhhdmUgdGhlIHNhbWUgZXhwb25lbnQsIHRoZW4gZGl2aWRlCi0gICAgICAgIG9wMSA9IF9Xb3JrUmVwKHNlbGYpCi0gICAgICAgIG9wMiA9IF9Xb3JrUmVwKG90aGVyKQotICAgICAgICBpZiBvcDEuZXhwID49IG9wMi5leHA6Ci0gICAgICAgICAgICBvcDEuaW50ICo9IDEwKioob3AxLmV4cCAtIG9wMi5leHApCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBvcDIuaW50ICo9IDEwKioob3AyLmV4cCAtIG9wMS5leHApCi0gICAgICAgIHEsIHIgPSBkaXZtb2Qob3AxLmludCwgb3AyLmludCkKLSAgICAgICAgIyByZW1haW5kZXIgaXMgcioxMCoqaWRlYWxfZXhwb25lbnQ7IG90aGVyIGlzICsvLW9wMi5pbnQgKgotICAgICAgICAjIDEwKippZGVhbF9leHBvbmVudC4gICBBcHBseSBjb3JyZWN0aW9uIHRvIGVuc3VyZSB0aGF0Ci0gICAgICAgICMgYWJzKHJlbWFpbmRlcikgPD0gYWJzKG90aGVyKS8yCi0gICAgICAgIGlmIDIqciArIChxJjEpID4gb3AyLmludDoKLSAgICAgICAgICAgIHIgLT0gb3AyLmludAotICAgICAgICAgICAgcSArPSAxCi0KLSAgICAgICAgaWYgcSA+PSAxMCoqY29udGV4dC5wcmVjOgotICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKERpdmlzaW9uSW1wb3NzaWJsZSkKLQotICAgICAgICAjIHJlc3VsdCBoYXMgc2FtZSBzaWduIGFzIHNlbGYgdW5sZXNzIHIgaXMgbmVnYXRpdmUKLSAgICAgICAgc2lnbiA9IHNlbGYuX3NpZ24KLSAgICAgICAgaWYgciA8IDA6Ci0gICAgICAgICAgICBzaWduID0gMS1zaWduCi0gICAgICAgICAgICByID0gLXIKLQotICAgICAgICBhbnMgPSBfZGVjX2Zyb21fdHJpcGxlKHNpZ24sIHN0cihyKSwgaWRlYWxfZXhwb25lbnQpCi0gICAgICAgIHJldHVybiBhbnMuX2ZpeChjb250ZXh0KQotCi0gICAgZGVmIF9fZmxvb3JkaXZfXyhzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIic2VsZiAvLyBvdGhlciIiIgotICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyKQotICAgICAgICBpZiBvdGhlciBpcyBOb3RJbXBsZW1lbnRlZDoKLSAgICAgICAgICAgIHJldHVybiBvdGhlcgotCi0gICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKLQotICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKG90aGVyLCBjb250ZXh0KQotICAgICAgICBpZiBhbnM6Ci0gICAgICAgICAgICByZXR1cm4gYW5zCi0KLSAgICAgICAgaWYgc2VsZi5faXNpbmZpbml0eSgpOgotICAgICAgICAgICAgaWYgb3RoZXIuX2lzaW5maW5pdHkoKToKLSAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwgJ0lORiAvLyBJTkYnKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICByZXR1cm4gX1NpZ25lZEluZmluaXR5W3NlbGYuX3NpZ24gXiBvdGhlci5fc2lnbl0KLQotICAgICAgICBpZiBub3Qgb3RoZXI6Ci0gICAgICAgICAgICBpZiBzZWxmOgotICAgICAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihEaXZpc2lvbkJ5WmVybywgJ3ggLy8gMCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3NpZ24gXiBvdGhlci5fc2lnbikKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKERpdmlzaW9uVW5kZWZpbmVkLCAnMCAvLyAwJykKLQotICAgICAgICByZXR1cm4gc2VsZi5fZGl2aWRlKG90aGVyLCBjb250ZXh0KVswXQotCi0gICAgZGVmIF9fcmZsb29yZGl2X18oc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIlN3YXBzIHNlbGYvb3RoZXIgYW5kIHJldHVybnMgX19mbG9vcmRpdl9fLiIiIgotICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyKQotICAgICAgICBpZiBvdGhlciBpcyBOb3RJbXBsZW1lbnRlZDoKLSAgICAgICAgICAgIHJldHVybiBvdGhlcgotICAgICAgICByZXR1cm4gb3RoZXIuX19mbG9vcmRpdl9fKHNlbGYsIGNvbnRleHQ9Y29udGV4dCkKLQotICAgIGRlZiBfX2Zsb2F0X18oc2VsZik6Ci0gICAgICAgICIiIkZsb2F0IHJlcHJlc2VudGF0aW9uLiIiIgotICAgICAgICBpZiBzZWxmLl9pc25hbigpOgotICAgICAgICAgICAgaWYgc2VsZi5pc19zbmFuKCk6Ci0gICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiQ2Fubm90IGNvbnZlcnQgc2lnbmFsaW5nIE5hTiB0byBmbG9hdCIpCi0gICAgICAgICAgICBzID0gIi1uYW4iIGlmIHNlbGYuX3NpZ24gZWxzZSAibmFuIgotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcyA9IHN0cihzZWxmKQotICAgICAgICByZXR1cm4gZmxvYXQocykKLQotICAgIGRlZiBfX2ludF9fKHNlbGYpOgotICAgICAgICAiIiJDb252ZXJ0cyBzZWxmIHRvIGFuIGludCwgdHJ1bmNhdGluZyBpZiBuZWNlc3NhcnkuIiIiCi0gICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWw6Ci0gICAgICAgICAgICBpZiBzZWxmLl9pc25hbigpOgotICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkNhbm5vdCBjb252ZXJ0IE5hTiB0byBpbnRlZ2VyIikKLSAgICAgICAgICAgIGVsaWYgc2VsZi5faXNpbmZpbml0eSgpOgotICAgICAgICAgICAgICAgIHJhaXNlIE92ZXJmbG93RXJyb3IoIkNhbm5vdCBjb252ZXJ0IGluZmluaXR5IHRvIGludGVnZXIiKQotICAgICAgICBzID0gKC0xKSoqc2VsZi5fc2lnbgotICAgICAgICBpZiBzZWxmLl9leHAgPj0gMDoKLSAgICAgICAgICAgIHJldHVybiBzKmludChzZWxmLl9pbnQpKjEwKipzZWxmLl9leHAKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJldHVybiBzKmludChzZWxmLl9pbnRbOnNlbGYuX2V4cF0gb3IgJzAnKQotCi0gICAgX190cnVuY19fID0gX19pbnRfXwotCi0gICAgZGVmIHJlYWwoc2VsZik6Ci0gICAgICAgIHJldHVybiBzZWxmCi0gICAgcmVhbCA9IHByb3BlcnR5KHJlYWwpCi0KLSAgICBkZWYgaW1hZyhzZWxmKToKLSAgICAgICAgcmV0dXJuIERlY2ltYWwoMCkKLSAgICBpbWFnID0gcHJvcGVydHkoaW1hZykKLQotICAgIGRlZiBjb25qdWdhdGUoc2VsZik6Ci0gICAgICAgIHJldHVybiBzZWxmCi0KLSAgICBkZWYgX19jb21wbGV4X18oc2VsZik6Ci0gICAgICAgIHJldHVybiBjb21wbGV4KGZsb2F0KHNlbGYpKQotCi0gICAgZGVmIF9maXhfbmFuKHNlbGYsIGNvbnRleHQpOgotICAgICAgICAiIiJEZWNhcGl0YXRlIHRoZSBwYXlsb2FkIG9mIGEgTmFOIHRvIGZpdCB0aGUgY29udGV4dCIiIgotICAgICAgICBwYXlsb2FkID0gc2VsZi5faW50Ci0KLSAgICAgICAgIyBtYXhpbXVtIGxlbmd0aCBvZiBwYXlsb2FkIGlzIHByZWNpc2lvbiBpZiBjbGFtcD0wLAotICAgICAgICAjIHByZWNpc2lvbi0xIGlmIGNsYW1wPTEuCi0gICAgICAgIG1heF9wYXlsb2FkX2xlbiA9IGNvbnRleHQucHJlYyAtIGNvbnRleHQuY2xhbXAKLSAgICAgICAgaWYgbGVuKHBheWxvYWQpID4gbWF4X3BheWxvYWRfbGVuOgotICAgICAgICAgICAgcGF5bG9hZCA9IHBheWxvYWRbbGVuKHBheWxvYWQpLW1heF9wYXlsb2FkX2xlbjpdLmxzdHJpcCgnMCcpCi0gICAgICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZShzZWxmLl9zaWduLCBwYXlsb2FkLCBzZWxmLl9leHAsIFRydWUpCi0gICAgICAgIHJldHVybiBEZWNpbWFsKHNlbGYpCi0KLSAgICBkZWYgX2ZpeChzZWxmLCBjb250ZXh0KToKLSAgICAgICAgIiIiUm91bmQgaWYgaXQgaXMgbmVjZXNzYXJ5IHRvIGtlZXAgc2VsZiB3aXRoaW4gcHJlYyBwcmVjaXNpb24uCi0KLSAgICAgICAgUm91bmRzIGFuZCBmaXhlcyB0aGUgZXhwb25lbnQuICBEb2VzIG5vdCByYWlzZSBvbiBhIHNOYU4uCi0KLSAgICAgICAgQXJndW1lbnRzOgotICAgICAgICBzZWxmIC0gRGVjaW1hbCBpbnN0YW5jZQotICAgICAgICBjb250ZXh0IC0gY29udGV4dCB1c2VkLgotICAgICAgICAiIiIKLQotICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsOgotICAgICAgICAgICAgaWYgc2VsZi5faXNuYW4oKToKLSAgICAgICAgICAgICAgICAjIGRlY2FwaXRhdGUgcGF5bG9hZCBpZiBuZWNlc3NhcnkKLSAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5fZml4X25hbihjb250ZXh0KQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAjIHNlbGYgaXMgKy8tSW5maW5pdHk7IHJldHVybiB1bmFsdGVyZWQKLSAgICAgICAgICAgICAgICByZXR1cm4gRGVjaW1hbChzZWxmKQotCi0gICAgICAgICMgaWYgc2VsZiBpcyB6ZXJvIHRoZW4gZXhwb25lbnQgc2hvdWxkIGJlIGJldHdlZW4gRXRpbnkgYW5kCi0gICAgICAgICMgRW1heCBpZiBjbGFtcD09MCwgYW5kIGJldHdlZW4gRXRpbnkgYW5kIEV0b3AgaWYgY2xhbXA9PTEuCi0gICAgICAgIEV0aW55ID0gY29udGV4dC5FdGlueSgpCi0gICAgICAgIEV0b3AgPSBjb250ZXh0LkV0b3AoKQotICAgICAgICBpZiBub3Qgc2VsZjoKLSAgICAgICAgICAgIGV4cF9tYXggPSBbY29udGV4dC5FbWF4LCBFdG9wXVtjb250ZXh0LmNsYW1wXQotICAgICAgICAgICAgbmV3X2V4cCA9IG1pbihtYXgoc2VsZi5fZXhwLCBFdGlueSksIGV4cF9tYXgpCi0gICAgICAgICAgICBpZiBuZXdfZXhwICE9IHNlbGYuX2V4cDoKLSAgICAgICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihDbGFtcGVkKQotICAgICAgICAgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKHNlbGYuX3NpZ24sICcwJywgbmV3X2V4cCkKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIERlY2ltYWwoc2VsZikKLQotICAgICAgICAjIGV4cF9taW4gaXMgdGhlIHNtYWxsZXN0IGFsbG93YWJsZSBleHBvbmVudCBvZiB0aGUgcmVzdWx0LAotICAgICAgICAjIGVxdWFsIHRvIG1heChzZWxmLmFkanVzdGVkKCktY29udGV4dC5wcmVjKzEsIEV0aW55KQotICAgICAgICBleHBfbWluID0gbGVuKHNlbGYuX2ludCkgKyBzZWxmLl9leHAgLSBjb250ZXh0LnByZWMKLSAgICAgICAgaWYgZXhwX21pbiA+IEV0b3A6Ci0gICAgICAgICAgICAjIG92ZXJmbG93OiBleHBfbWluID4gRXRvcCBpZmYgc2VsZi5hZGp1c3RlZCgpID4gRW1heAotICAgICAgICAgICAgYW5zID0gY29udGV4dC5fcmFpc2VfZXJyb3IoT3ZlcmZsb3csICdhYm92ZSBFbWF4Jywgc2VsZi5fc2lnbikKLSAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKEluZXhhY3QpCi0gICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihSb3VuZGVkKQotICAgICAgICAgICAgcmV0dXJuIGFucwotCi0gICAgICAgIHNlbGZfaXNfc3Vibm9ybWFsID0gZXhwX21pbiA8IEV0aW55Ci0gICAgICAgIGlmIHNlbGZfaXNfc3Vibm9ybWFsOgotICAgICAgICAgICAgZXhwX21pbiA9IEV0aW55Ci0KLSAgICAgICAgIyByb3VuZCBpZiBzZWxmIGhhcyB0b28gbWFueSBkaWdpdHMKLSAgICAgICAgaWYgc2VsZi5fZXhwIDwgZXhwX21pbjoKLSAgICAgICAgICAgIGRpZ2l0cyA9IGxlbihzZWxmLl9pbnQpICsgc2VsZi5fZXhwIC0gZXhwX21pbgotICAgICAgICAgICAgaWYgZGlnaXRzIDwgMDoKLSAgICAgICAgICAgICAgICBzZWxmID0gX2RlY19mcm9tX3RyaXBsZShzZWxmLl9zaWduLCAnMScsIGV4cF9taW4tMSkKLSAgICAgICAgICAgICAgICBkaWdpdHMgPSAwCi0gICAgICAgICAgICByb3VuZGluZ19tZXRob2QgPSBzZWxmLl9waWNrX3JvdW5kaW5nX2Z1bmN0aW9uW2NvbnRleHQucm91bmRpbmddCi0gICAgICAgICAgICBjaGFuZ2VkID0gcm91bmRpbmdfbWV0aG9kKHNlbGYsIGRpZ2l0cykKLSAgICAgICAgICAgIGNvZWZmID0gc2VsZi5faW50WzpkaWdpdHNdIG9yICcwJwotICAgICAgICAgICAgaWYgY2hhbmdlZCA+IDA6Ci0gICAgICAgICAgICAgICAgY29lZmYgPSBzdHIoaW50KGNvZWZmKSsxKQotICAgICAgICAgICAgICAgIGlmIGxlbihjb2VmZikgPiBjb250ZXh0LnByZWM6Ci0gICAgICAgICAgICAgICAgICAgIGNvZWZmID0gY29lZmZbOi0xXQotICAgICAgICAgICAgICAgICAgICBleHBfbWluICs9IDEKLQotICAgICAgICAgICAgIyBjaGVjayB3aGV0aGVyIHRoZSByb3VuZGluZyBwdXNoZWQgdGhlIGV4cG9uZW50IG91dCBvZiByYW5nZQotICAgICAgICAgICAgaWYgZXhwX21pbiA+IEV0b3A6Ci0gICAgICAgICAgICAgICAgYW5zID0gY29udGV4dC5fcmFpc2VfZXJyb3IoT3ZlcmZsb3csICdhYm92ZSBFbWF4Jywgc2VsZi5fc2lnbikKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgYW5zID0gX2RlY19mcm9tX3RyaXBsZShzZWxmLl9zaWduLCBjb2VmZiwgZXhwX21pbikKLQotICAgICAgICAgICAgIyByYWlzZSB0aGUgYXBwcm9wcmlhdGUgc2lnbmFscywgdGFraW5nIGNhcmUgdG8gcmVzcGVjdAotICAgICAgICAgICAgIyB0aGUgcHJlY2VkZW5jZSBkZXNjcmliZWQgaW4gdGhlIHNwZWNpZmljYXRpb24KLSAgICAgICAgICAgIGlmIGNoYW5nZWQgYW5kIHNlbGZfaXNfc3Vibm9ybWFsOgotICAgICAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKFVuZGVyZmxvdykKLSAgICAgICAgICAgIGlmIHNlbGZfaXNfc3Vibm9ybWFsOgotICAgICAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKFN1Ym5vcm1hbCkKLSAgICAgICAgICAgIGlmIGNoYW5nZWQ6Ci0gICAgICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoSW5leGFjdCkKLSAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKFJvdW5kZWQpCi0gICAgICAgICAgICBpZiBub3QgYW5zOgotICAgICAgICAgICAgICAgICMgcmFpc2UgQ2xhbXBlZCBvbiB1bmRlcmZsb3cgdG8gMAotICAgICAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKENsYW1wZWQpCi0gICAgICAgICAgICByZXR1cm4gYW5zCi0KLSAgICAgICAgaWYgc2VsZl9pc19zdWJub3JtYWw6Ci0gICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihTdWJub3JtYWwpCi0KLSAgICAgICAgIyBmb2xkIGRvd24gaWYgY2xhbXAgPT0gMSBhbmQgc2VsZiBoYXMgdG9vIGZldyBkaWdpdHMKLSAgICAgICAgaWYgY29udGV4dC5jbGFtcCA9PSAxIGFuZCBzZWxmLl9leHAgPiBFdG9wOgotICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoQ2xhbXBlZCkKLSAgICAgICAgICAgIHNlbGZfcGFkZGVkID0gc2VsZi5faW50ICsgJzAnKihzZWxmLl9leHAgLSBFdG9wKQotICAgICAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUoc2VsZi5fc2lnbiwgc2VsZl9wYWRkZWQsIEV0b3ApCi0KLSAgICAgICAgIyBoZXJlIHNlbGYgd2FzIHJlcHJlc2VudGFibGUgdG8gYmVnaW4gd2l0aDsgcmV0dXJuIHVuY2hhbmdlZAotICAgICAgICByZXR1cm4gRGVjaW1hbChzZWxmKQotCi0gICAgIyBmb3IgZWFjaCBvZiB0aGUgcm91bmRpbmcgZnVuY3Rpb25zIGJlbG93OgotICAgICMgICBzZWxmIGlzIGEgZmluaXRlLCBub256ZXJvIERlY2ltYWwKLSAgICAjICAgcHJlYyBpcyBhbiBpbnRlZ2VyIHNhdGlzZnlpbmcgMCA8PSBwcmVjIDwgbGVuKHNlbGYuX2ludCkKLSAgICAjCi0gICAgIyBlYWNoIGZ1bmN0aW9uIHJldHVybnMgZWl0aGVyIC0xLCAwLCBvciAxLCBhcyBmb2xsb3dzOgotICAgICMgICAxIGluZGljYXRlcyB0aGF0IHNlbGYgc2hvdWxkIGJlIHJvdW5kZWQgdXAgKGF3YXkgZnJvbSB6ZXJvKQotICAgICMgICAwIGluZGljYXRlcyB0aGF0IHNlbGYgc2hvdWxkIGJlIHRydW5jYXRlZCwgYW5kIHRoYXQgYWxsIHRoZQotICAgICMgICAgIGRpZ2l0cyB0byBiZSB0cnVuY2F0ZWQgYXJlIHplcm9zIChzbyB0aGUgdmFsdWUgaXMgdW5jaGFuZ2VkKQotICAgICMgIC0xIGluZGljYXRlcyB0aGF0IHRoZXJlIGFyZSBub256ZXJvIGRpZ2l0cyB0byBiZSB0cnVuY2F0ZWQKLQotICAgIGRlZiBfcm91bmRfZG93bihzZWxmLCBwcmVjKToKLSAgICAgICAgIiIiQWxzbyBrbm93biBhcyByb3VuZC10b3dhcmRzLTAsIHRydW5jYXRlLiIiIgotICAgICAgICBpZiBfYWxsX3plcm9zKHNlbGYuX2ludCwgcHJlYyk6Ci0gICAgICAgICAgICByZXR1cm4gMAotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmV0dXJuIC0xCi0KLSAgICBkZWYgX3JvdW5kX3VwKHNlbGYsIHByZWMpOgotICAgICAgICAiIiJSb3VuZHMgYXdheSBmcm9tIDAuIiIiCi0gICAgICAgIHJldHVybiAtc2VsZi5fcm91bmRfZG93bihwcmVjKQotCi0gICAgZGVmIF9yb3VuZF9oYWxmX3VwKHNlbGYsIHByZWMpOgotICAgICAgICAiIiJSb3VuZHMgNSB1cCAoYXdheSBmcm9tIDApIiIiCi0gICAgICAgIGlmIHNlbGYuX2ludFtwcmVjXSBpbiAnNTY3ODknOgotICAgICAgICAgICAgcmV0dXJuIDEKLSAgICAgICAgZWxpZiBfYWxsX3plcm9zKHNlbGYuX2ludCwgcHJlYyk6Ci0gICAgICAgICAgICByZXR1cm4gMAotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmV0dXJuIC0xCi0KLSAgICBkZWYgX3JvdW5kX2hhbGZfZG93bihzZWxmLCBwcmVjKToKLSAgICAgICAgIiIiUm91bmQgNSBkb3duIiIiCi0gICAgICAgIGlmIF9leGFjdF9oYWxmKHNlbGYuX2ludCwgcHJlYyk6Ci0gICAgICAgICAgICByZXR1cm4gLTEKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJldHVybiBzZWxmLl9yb3VuZF9oYWxmX3VwKHByZWMpCi0KLSAgICBkZWYgX3JvdW5kX2hhbGZfZXZlbihzZWxmLCBwcmVjKToKLSAgICAgICAgIiIiUm91bmQgNSB0byBldmVuLCByZXN0IHRvIG5lYXJlc3QuIiIiCi0gICAgICAgIGlmIF9leGFjdF9oYWxmKHNlbGYuX2ludCwgcHJlYykgYW5kIFwKLSAgICAgICAgICAgICAgICAocHJlYyA9PSAwIG9yIHNlbGYuX2ludFtwcmVjLTFdIGluICcwMjQ2OCcpOgotICAgICAgICAgICAgcmV0dXJuIC0xCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi5fcm91bmRfaGFsZl91cChwcmVjKQotCi0gICAgZGVmIF9yb3VuZF9jZWlsaW5nKHNlbGYsIHByZWMpOgotICAgICAgICAiIiJSb3VuZHMgdXAgKG5vdCBhd2F5IGZyb20gMCBpZiBuZWdhdGl2ZS4pIiIiCi0gICAgICAgIGlmIHNlbGYuX3NpZ246Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi5fcm91bmRfZG93bihwcmVjKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmV0dXJuIC1zZWxmLl9yb3VuZF9kb3duKHByZWMpCi0KLSAgICBkZWYgX3JvdW5kX2Zsb29yKHNlbGYsIHByZWMpOgotICAgICAgICAiIiJSb3VuZHMgZG93biAobm90IHRvd2FyZHMgMCBpZiBuZWdhdGl2ZSkiIiIKLSAgICAgICAgaWYgbm90IHNlbGYuX3NpZ246Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi5fcm91bmRfZG93bihwcmVjKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmV0dXJuIC1zZWxmLl9yb3VuZF9kb3duKHByZWMpCi0KLSAgICBkZWYgX3JvdW5kXzA1dXAoc2VsZiwgcHJlYyk6Ci0gICAgICAgICIiIlJvdW5kIGRvd24gdW5sZXNzIGRpZ2l0IHByZWMtMSBpcyAwIG9yIDUuIiIiCi0gICAgICAgIGlmIHByZWMgYW5kIHNlbGYuX2ludFtwcmVjLTFdIG5vdCBpbiAnMDUnOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3JvdW5kX2Rvd24ocHJlYykKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJldHVybiAtc2VsZi5fcm91bmRfZG93bihwcmVjKQotCi0gICAgX3BpY2tfcm91bmRpbmdfZnVuY3Rpb24gPSBkaWN0KAotICAgICAgICBST1VORF9ET1dOID0gX3JvdW5kX2Rvd24sCi0gICAgICAgIFJPVU5EX1VQID0gX3JvdW5kX3VwLAotICAgICAgICBST1VORF9IQUxGX1VQID0gX3JvdW5kX2hhbGZfdXAsCi0gICAgICAgIFJPVU5EX0hBTEZfRE9XTiA9IF9yb3VuZF9oYWxmX2Rvd24sCi0gICAgICAgIFJPVU5EX0hBTEZfRVZFTiA9IF9yb3VuZF9oYWxmX2V2ZW4sCi0gICAgICAgIFJPVU5EX0NFSUxJTkcgPSBfcm91bmRfY2VpbGluZywKLSAgICAgICAgUk9VTkRfRkxPT1IgPSBfcm91bmRfZmxvb3IsCi0gICAgICAgIFJPVU5EXzA1VVAgPSBfcm91bmRfMDV1cCwKLSAgICApCi0KLSAgICBkZWYgX19yb3VuZF9fKHNlbGYsIG49Tm9uZSk6Ci0gICAgICAgICIiIlJvdW5kIHNlbGYgdG8gdGhlIG5lYXJlc3QgaW50ZWdlciwgb3IgdG8gYSBnaXZlbiBwcmVjaXNpb24uCi0KLSAgICAgICAgSWYgb25seSBvbmUgYXJndW1lbnQgaXMgc3VwcGxpZWQsIHJvdW5kIGEgZmluaXRlIERlY2ltYWwKLSAgICAgICAgaW5zdGFuY2Ugc2VsZiB0byB0aGUgbmVhcmVzdCBpbnRlZ2VyLiAgSWYgc2VsZiBpcyBpbmZpbml0ZSBvcgotICAgICAgICBhIE5hTiB0aGVuIGEgUHl0aG9uIGV4Y2VwdGlvbiBpcyByYWlzZWQuICBJZiBzZWxmIGlzIGZpbml0ZQotICAgICAgICBhbmQgbGllcyBleGFjdGx5IGhhbGZ3YXkgYmV0d2VlbiB0d28gaW50ZWdlcnMgdGhlbiBpdCBpcwotICAgICAgICByb3VuZGVkIHRvIHRoZSBpbnRlZ2VyIHdpdGggZXZlbiBsYXN0IGRpZ2l0LgotCi0gICAgICAgID4+PiByb3VuZChEZWNpbWFsKCcxMjMuNDU2JykpCi0gICAgICAgIDEyMwotICAgICAgICA+Pj4gcm91bmQoRGVjaW1hbCgnLTQ1Ni43ODknKSkKLSAgICAgICAgLTQ1NwotICAgICAgICA+Pj4gcm91bmQoRGVjaW1hbCgnLTMuMCcpKQotICAgICAgICAtMwotICAgICAgICA+Pj4gcm91bmQoRGVjaW1hbCgnMi41JykpCi0gICAgICAgIDIKLSAgICAgICAgPj4+IHJvdW5kKERlY2ltYWwoJzMuNScpKQotICAgICAgICA0Ci0gICAgICAgID4+PiByb3VuZChEZWNpbWFsKCdJbmYnKSkKLSAgICAgICAgVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgotICAgICAgICAgIC4uLgotICAgICAgICBPdmVyZmxvd0Vycm9yOiBjYW5ub3Qgcm91bmQgYW4gaW5maW5pdHkKLSAgICAgICAgPj4+IHJvdW5kKERlY2ltYWwoJ05hTicpKQotICAgICAgICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6Ci0gICAgICAgICAgLi4uCi0gICAgICAgIFZhbHVlRXJyb3I6IGNhbm5vdCByb3VuZCBhIE5hTgotCi0gICAgICAgIElmIGEgc2Vjb25kIGFyZ3VtZW50IG4gaXMgc3VwcGxpZWQsIHNlbGYgaXMgcm91bmRlZCB0byBuCi0gICAgICAgIGRlY2ltYWwgcGxhY2VzIHVzaW5nIHRoZSByb3VuZGluZyBtb2RlIGZvciB0aGUgY3VycmVudAotICAgICAgICBjb250ZXh0LgotCi0gICAgICAgIEZvciBhbiBpbnRlZ2VyIG4sIHJvdW5kKHNlbGYsIC1uKSBpcyBleGFjdGx5IGVxdWl2YWxlbnQgdG8KLSAgICAgICAgc2VsZi5xdWFudGl6ZShEZWNpbWFsKCcxRW4nKSkuCi0KLSAgICAgICAgPj4+IHJvdW5kKERlY2ltYWwoJzEyMy40NTYnKSwgMCkKLSAgICAgICAgRGVjaW1hbCgnMTIzJykKLSAgICAgICAgPj4+IHJvdW5kKERlY2ltYWwoJzEyMy40NTYnKSwgMikKLSAgICAgICAgRGVjaW1hbCgnMTIzLjQ2JykKLSAgICAgICAgPj4+IHJvdW5kKERlY2ltYWwoJzEyMy40NTYnKSwgLTIpCi0gICAgICAgIERlY2ltYWwoJzFFKzInKQotICAgICAgICA+Pj4gcm91bmQoRGVjaW1hbCgnLUluZmluaXR5JyksIDM3KQotICAgICAgICBEZWNpbWFsKCdOYU4nKQotICAgICAgICA+Pj4gcm91bmQoRGVjaW1hbCgnc05hTjEyMycpLCAwKQotICAgICAgICBEZWNpbWFsKCdOYU4xMjMnKQotCi0gICAgICAgICIiIgotICAgICAgICBpZiBuIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgIyB0d28tYXJndW1lbnQgZm9ybTogdXNlIHRoZSBlcXVpdmFsZW50IHF1YW50aXplIGNhbGwKLSAgICAgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKG4sIGludCk6Ci0gICAgICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCdTZWNvbmQgYXJndW1lbnQgdG8gcm91bmQgc2hvdWxkIGJlIGludGVncmFsJykKLSAgICAgICAgICAgIGV4cCA9IF9kZWNfZnJvbV90cmlwbGUoMCwgJzEnLCAtbikKLSAgICAgICAgICAgIHJldHVybiBzZWxmLnF1YW50aXplKGV4cCkKLQotICAgICAgICAjIG9uZS1hcmd1bWVudCBmb3JtCi0gICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWw6Ci0gICAgICAgICAgICBpZiBzZWxmLmlzX25hbigpOgotICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoImNhbm5vdCByb3VuZCBhIE5hTiIpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHJhaXNlIE92ZXJmbG93RXJyb3IoImNhbm5vdCByb3VuZCBhbiBpbmZpbml0eSIpCi0gICAgICAgIHJldHVybiBpbnQoc2VsZi5fcmVzY2FsZSgwLCBST1VORF9IQUxGX0VWRU4pKQotCi0gICAgZGVmIF9fZmxvb3JfXyhzZWxmKToKLSAgICAgICAgIiIiUmV0dXJuIHRoZSBmbG9vciBvZiBzZWxmLCBhcyBhbiBpbnRlZ2VyLgotCi0gICAgICAgIEZvciBhIGZpbml0ZSBEZWNpbWFsIGluc3RhbmNlIHNlbGYsIHJldHVybiB0aGUgZ3JlYXRlc3QKLSAgICAgICAgaW50ZWdlciBuIHN1Y2ggdGhhdCBuIDw9IHNlbGYuICBJZiBzZWxmIGlzIGluZmluaXRlIG9yIGEgTmFOCi0gICAgICAgIHRoZW4gYSBQeXRob24gZXhjZXB0aW9uIGlzIHJhaXNlZC4KLQotICAgICAgICAiIiIKLSAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbDoKLSAgICAgICAgICAgIGlmIHNlbGYuaXNfbmFuKCk6Ci0gICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiY2Fubm90IHJvdW5kIGEgTmFOIikKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmFpc2UgT3ZlcmZsb3dFcnJvcigiY2Fubm90IHJvdW5kIGFuIGluZmluaXR5IikKLSAgICAgICAgcmV0dXJuIGludChzZWxmLl9yZXNjYWxlKDAsIFJPVU5EX0ZMT09SKSkKLQotICAgIGRlZiBfX2NlaWxfXyhzZWxmKToKLSAgICAgICAgIiIiUmV0dXJuIHRoZSBjZWlsaW5nIG9mIHNlbGYsIGFzIGFuIGludGVnZXIuCi0KLSAgICAgICAgRm9yIGEgZmluaXRlIERlY2ltYWwgaW5zdGFuY2Ugc2VsZiwgcmV0dXJuIHRoZSBsZWFzdCBpbnRlZ2VyIG4KLSAgICAgICAgc3VjaCB0aGF0IG4gPj0gc2VsZi4gIElmIHNlbGYgaXMgaW5maW5pdGUgb3IgYSBOYU4gdGhlbiBhCi0gICAgICAgIFB5dGhvbiBleGNlcHRpb24gaXMgcmFpc2VkLgotCi0gICAgICAgICIiIgotICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsOgotICAgICAgICAgICAgaWYgc2VsZi5pc19uYW4oKToKLSAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJjYW5ub3Qgcm91bmQgYSBOYU4iKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICByYWlzZSBPdmVyZmxvd0Vycm9yKCJjYW5ub3Qgcm91bmQgYW4gaW5maW5pdHkiKQotICAgICAgICByZXR1cm4gaW50KHNlbGYuX3Jlc2NhbGUoMCwgUk9VTkRfQ0VJTElORykpCi0KLSAgICBkZWYgZm1hKHNlbGYsIG90aGVyLCB0aGlyZCwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiRnVzZWQgbXVsdGlwbHktYWRkLgotCi0gICAgICAgIFJldHVybnMgc2VsZipvdGhlcit0aGlyZCB3aXRoIG5vIHJvdW5kaW5nIG9mIHRoZSBpbnRlcm1lZGlhdGUKLSAgICAgICAgcHJvZHVjdCBzZWxmKm90aGVyLgotCi0gICAgICAgIHNlbGYgYW5kIG90aGVyIGFyZSBtdWx0aXBsaWVkIHRvZ2V0aGVyLCB3aXRoIG5vIHJvdW5kaW5nIG9mCi0gICAgICAgIHRoZSByZXN1bHQuICBUaGUgdGhpcmQgb3BlcmFuZCBpcyB0aGVuIGFkZGVkIHRvIHRoZSByZXN1bHQsCi0gICAgICAgIGFuZCBhIHNpbmdsZSBmaW5hbCByb3VuZGluZyBpcyBwZXJmb3JtZWQuCi0gICAgICAgICIiIgotCi0gICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgdGhpcmQgPSBfY29udmVydF9vdGhlcih0aGlyZCwgcmFpc2VpdD1UcnVlKQotCi0gICAgICAgICMgY29tcHV0ZSBwcm9kdWN0OyByYWlzZSBJbnZhbGlkT3BlcmF0aW9uIGlmIGVpdGhlciBvcGVyYW5kIGlzCi0gICAgICAgICMgYSBzaWduYWxpbmcgTmFOIG9yIGlmIHRoZSBwcm9kdWN0IGlzIHplcm8gdGltZXMgaW5maW5pdHkuCi0gICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWwgb3Igb3RoZXIuX2lzX3NwZWNpYWw6Ci0gICAgICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotICAgICAgICAgICAgaWYgc2VsZi5fZXhwID09ICdOJzoKLSAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwgJ3NOYU4nLCBzZWxmKQotICAgICAgICAgICAgaWYgb3RoZXIuX2V4cCA9PSAnTic6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sICdzTmFOJywgb3RoZXIpCi0gICAgICAgICAgICBpZiBzZWxmLl9leHAgPT0gJ24nOgotICAgICAgICAgICAgICAgIHByb2R1Y3QgPSBzZWxmCi0gICAgICAgICAgICBlbGlmIG90aGVyLl9leHAgPT0gJ24nOgotICAgICAgICAgICAgICAgIHByb2R1Y3QgPSBvdGhlcgotICAgICAgICAgICAgZWxpZiBzZWxmLl9leHAgPT0gJ0YnOgotICAgICAgICAgICAgICAgIGlmIG5vdCBvdGhlcjoKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSU5GICogMCBpbiBmbWEnKQotICAgICAgICAgICAgICAgIHByb2R1Y3QgPSBfU2lnbmVkSW5maW5pdHlbc2VsZi5fc2lnbiBeIG90aGVyLl9zaWduXQotICAgICAgICAgICAgZWxpZiBvdGhlci5fZXhwID09ICdGJzoKLSAgICAgICAgICAgICAgICBpZiBub3Qgc2VsZjoKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnMCAqIElORiBpbiBmbWEnKQotICAgICAgICAgICAgICAgIHByb2R1Y3QgPSBfU2lnbmVkSW5maW5pdHlbc2VsZi5fc2lnbiBeIG90aGVyLl9zaWduXQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcHJvZHVjdCA9IF9kZWNfZnJvbV90cmlwbGUoc2VsZi5fc2lnbiBeIG90aGVyLl9zaWduLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyKGludChzZWxmLl9pbnQpICogaW50KG90aGVyLl9pbnQpKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2V4cCArIG90aGVyLl9leHApCi0KLSAgICAgICAgcmV0dXJuIHByb2R1Y3QuX19hZGRfXyh0aGlyZCwgY29udGV4dCkKLQotICAgIGRlZiBfcG93ZXJfbW9kdWxvKHNlbGYsIG90aGVyLCBtb2R1bG8sIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIlRocmVlIGFyZ3VtZW50IHZlcnNpb24gb2YgX19wb3dfXyIiIgotCi0gICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIpCi0gICAgICAgIGlmIG90aGVyIGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICAgICAgcmV0dXJuIG90aGVyCi0gICAgICAgIG1vZHVsbyA9IF9jb252ZXJ0X290aGVyKG1vZHVsbykKLSAgICAgICAgaWYgbW9kdWxvIGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICAgICAgcmV0dXJuIG1vZHVsbwotCi0gICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKLQotICAgICAgICAjIGRlYWwgd2l0aCBOYU5zOiBpZiB0aGVyZSBhcmUgYW55IHNOYU5zIHRoZW4gZmlyc3Qgb25lIHdpbnMsCi0gICAgICAgICMgKGkuZS4gYmVoYXZpb3VyIGZvciBOYU5zIGlzIGlkZW50aWNhbCB0byB0aGF0IG9mIGZtYSkKLSAgICAgICAgc2VsZl9pc19uYW4gPSBzZWxmLl9pc25hbigpCi0gICAgICAgIG90aGVyX2lzX25hbiA9IG90aGVyLl9pc25hbigpCi0gICAgICAgIG1vZHVsb19pc19uYW4gPSBtb2R1bG8uX2lzbmFuKCkKLSAgICAgICAgaWYgc2VsZl9pc19uYW4gb3Igb3RoZXJfaXNfbmFuIG9yIG1vZHVsb19pc19uYW46Ci0gICAgICAgICAgICBpZiBzZWxmX2lzX25hbiA9PSAyOgotICAgICAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLCAnc05hTicsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZikKLSAgICAgICAgICAgIGlmIG90aGVyX2lzX25hbiA9PSAyOgotICAgICAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLCAnc05hTicsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXIpCi0gICAgICAgICAgICBpZiBtb2R1bG9faXNfbmFuID09IDI6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sICdzTmFOJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2R1bG8pCi0gICAgICAgICAgICBpZiBzZWxmX2lzX25hbjoKLSAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5fZml4X25hbihjb250ZXh0KQotICAgICAgICAgICAgaWYgb3RoZXJfaXNfbmFuOgotICAgICAgICAgICAgICAgIHJldHVybiBvdGhlci5fZml4X25hbihjb250ZXh0KQotICAgICAgICAgICAgcmV0dXJuIG1vZHVsby5fZml4X25hbihjb250ZXh0KQotCi0gICAgICAgICMgY2hlY2sgaW5wdXRzOiB3ZSBhcHBseSBzYW1lIHJlc3RyaWN0aW9ucyBhcyBQeXRob24ncyBwb3coKQotICAgICAgICBpZiBub3QgKHNlbGYuX2lzaW50ZWdlcigpIGFuZAotICAgICAgICAgICAgICAgIG90aGVyLl9pc2ludGVnZXIoKSBhbmQKLSAgICAgICAgICAgICAgICBtb2R1bG8uX2lzaW50ZWdlcigpKToKLSAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwb3coKSAzcmQgYXJndW1lbnQgbm90IGFsbG93ZWQgJwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd1bmxlc3MgYWxsIGFyZ3VtZW50cyBhcmUgaW50ZWdlcnMnKQotICAgICAgICBpZiBvdGhlciA8IDA6Ci0gICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncG93KCkgMm5kIGFyZ3VtZW50IGNhbm5vdCBiZSAnCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25lZ2F0aXZlIHdoZW4gM3JkIGFyZ3VtZW50IHNwZWNpZmllZCcpCi0gICAgICAgIGlmIG5vdCBtb2R1bG86Ci0gICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncG93KCkgM3JkIGFyZ3VtZW50IGNhbm5vdCBiZSAwJykKLQotICAgICAgICAjIGFkZGl0aW9uYWwgcmVzdHJpY3Rpb24gZm9yIGRlY2ltYWw6IHRoZSBtb2R1bHVzIG11c3QgYmUgbGVzcwotICAgICAgICAjIHRoYW4gMTAqKnByZWMgaW4gYWJzb2x1dGUgdmFsdWUKLSAgICAgICAgaWYgbW9kdWxvLmFkanVzdGVkKCkgPj0gY29udGV4dC5wcmVjOgotICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2luc3VmZmljaWVudCBwcmVjaXNpb246IHBvdygpIDNyZCAnCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FyZ3VtZW50IG11c3Qgbm90IGhhdmUgbW9yZSB0aGFuICcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJlY2lzaW9uIGRpZ2l0cycpCi0KLSAgICAgICAgIyBkZWZpbmUgMCoqMCA9PSBOYU4sIGZvciBjb25zaXN0ZW5jeSB3aXRoIHR3by1hcmd1bWVudCBwb3cKLSAgICAgICAgIyAoZXZlbiB0aG91Z2ggaXQgaHVydHMhKQotICAgICAgICBpZiBub3Qgb3RoZXIgYW5kIG5vdCBzZWxmOgotICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2F0IGxlYXN0IG9uZSBvZiBwb3coKSAxc3QgYXJndW1lbnQgJwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhbmQgMm5kIGFyZ3VtZW50IG11c3QgYmUgbm9uemVybyA7JwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcwKiowIGlzIG5vdCBkZWZpbmVkJykKLQotICAgICAgICAjIGNvbXB1dGUgc2lnbiBvZiByZXN1bHQKLSAgICAgICAgaWYgb3RoZXIuX2lzZXZlbigpOgotICAgICAgICAgICAgc2lnbiA9IDAKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNpZ24gPSBzZWxmLl9zaWduCi0KLSAgICAgICAgIyBjb252ZXJ0IG1vZHVsbyB0byBhIFB5dGhvbiBpbnRlZ2VyLCBhbmQgc2VsZiBhbmQgb3RoZXIgdG8KLSAgICAgICAgIyBEZWNpbWFsIGludGVnZXJzIChpLmUuIGZvcmNlIHRoZWlyIGV4cG9uZW50cyB0byBiZSA+PSAwKQotICAgICAgICBtb2R1bG8gPSBhYnMoaW50KG1vZHVsbykpCi0gICAgICAgIGJhc2UgPSBfV29ya1JlcChzZWxmLnRvX2ludGVncmFsX3ZhbHVlKCkpCi0gICAgICAgIGV4cG9uZW50ID0gX1dvcmtSZXAob3RoZXIudG9faW50ZWdyYWxfdmFsdWUoKSkKLQotICAgICAgICAjIGNvbXB1dGUgcmVzdWx0IHVzaW5nIGludGVnZXIgcG93KCkKLSAgICAgICAgYmFzZSA9IChiYXNlLmludCAlIG1vZHVsbyAqIHBvdygxMCwgYmFzZS5leHAsIG1vZHVsbykpICUgbW9kdWxvCi0gICAgICAgIGZvciBpIGluIHJhbmdlKGV4cG9uZW50LmV4cCk6Ci0gICAgICAgICAgICBiYXNlID0gcG93KGJhc2UsIDEwLCBtb2R1bG8pCi0gICAgICAgIGJhc2UgPSBwb3coYmFzZSwgZXhwb25lbnQuaW50LCBtb2R1bG8pCi0KLSAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUoc2lnbiwgc3RyKGJhc2UpLCAwKQotCi0gICAgZGVmIF9wb3dlcl9leGFjdChzZWxmLCBvdGhlciwgcCk6Ci0gICAgICAgICIiIkF0dGVtcHQgdG8gY29tcHV0ZSBzZWxmKipvdGhlciBleGFjdGx5LgotCi0gICAgICAgIEdpdmVuIERlY2ltYWxzIHNlbGYgYW5kIG90aGVyIGFuZCBhbiBpbnRlZ2VyIHAsIGF0dGVtcHQgdG8KLSAgICAgICAgY29tcHV0ZSBhbiBleGFjdCByZXN1bHQgZm9yIHRoZSBwb3dlciBzZWxmKipvdGhlciwgd2l0aCBwCi0gICAgICAgIGRpZ2l0cyBvZiBwcmVjaXNpb24uICBSZXR1cm4gTm9uZSBpZiBzZWxmKipvdGhlciBpcyBub3QKLSAgICAgICAgZXhhY3RseSByZXByZXNlbnRhYmxlIGluIHAgZGlnaXRzLgotCi0gICAgICAgIEFzc3VtZXMgdGhhdCBlbGltaW5hdGlvbiBvZiBzcGVjaWFsIGNhc2VzIGhhcyBhbHJlYWR5IGJlZW4KLSAgICAgICAgcGVyZm9ybWVkOiBzZWxmIGFuZCBvdGhlciBtdXN0IGJvdGggYmUgbm9uc3BlY2lhbDsgc2VsZiBtdXN0Ci0gICAgICAgIGJlIHBvc2l0aXZlIGFuZCBub3QgbnVtZXJpY2FsbHkgZXF1YWwgdG8gMTsgb3RoZXIgbXVzdCBiZQotICAgICAgICBub256ZXJvLiAgRm9yIGVmZmljaWVuY3ksIG90aGVyLl9leHAgc2hvdWxkIG5vdCBiZSB0b28gbGFyZ2UsCi0gICAgICAgIHNvIHRoYXQgMTAqKmFicyhvdGhlci5fZXhwKSBpcyBhIGZlYXNpYmxlIGNhbGN1bGF0aW9uLiIiIgotCi0gICAgICAgICMgSW4gdGhlIGNvbW1lbnRzIGJlbG93LCB3ZSB3cml0ZSB4IGZvciB0aGUgdmFsdWUgb2Ygc2VsZiBhbmQgeSBmb3IgdGhlCi0gICAgICAgICMgdmFsdWUgb2Ygb3RoZXIuICBXcml0ZSB4ID0geGMqMTAqKnhlIGFuZCBhYnMoeSkgPSB5YyoxMCoqeWUsIHdpdGggeGMKLSAgICAgICAgIyBhbmQgeWMgcG9zaXRpdmUgaW50ZWdlcnMgbm90IGRpdmlzaWJsZSBieSAxMC4KLQotICAgICAgICAjIFRoZSBtYWluIHB1cnBvc2Ugb2YgdGhpcyBtZXRob2QgaXMgdG8gaWRlbnRpZnkgdGhlICpmYWlsdXJlKgotICAgICAgICAjIG9mIHgqKnkgdG8gYmUgZXhhY3RseSByZXByZXNlbnRhYmxlIHdpdGggYXMgbGl0dGxlIGVmZm9ydCBhcwotICAgICAgICAjIHBvc3NpYmxlLiAgU28gd2UgbG9vayBmb3IgY2hlYXAgYW5kIGVhc3kgdGVzdHMgdGhhdAotICAgICAgICAjIGVsaW1pbmF0ZSB0aGUgcG9zc2liaWxpdHkgb2YgeCoqeSBiZWluZyBleGFjdC4gIE9ubHkgaWYgYWxsCi0gICAgICAgICMgdGhlc2UgdGVzdHMgYXJlIHBhc3NlZCBkbyB3ZSBnbyBvbiB0byBhY3R1YWxseSBjb21wdXRlIHgqKnkuCi0KLSAgICAgICAgIyBIZXJlJ3MgdGhlIG1haW4gaWRlYS4gIEV4cHJlc3MgeSBhcyBhIHJhdGlvbmFsIG51bWJlciBtL24sIHdpdGggbSBhbmQKLSAgICAgICAgIyBuIHJlbGF0aXZlbHkgcHJpbWUgYW5kIG4+MC4gIFRoZW4gZm9yIHgqKnkgdG8gYmUgZXhhY3RseQotICAgICAgICAjIHJlcHJlc2VudGFibGUgKGF0ICphbnkqIHByZWNpc2lvbiksIHhjIG11c3QgYmUgdGhlIG50aCBwb3dlciBvZiBhCi0gICAgICAgICMgcG9zaXRpdmUgaW50ZWdlciBhbmQgeGUgbXVzdCBiZSBkaXZpc2libGUgYnkgbi4gIElmIHkgaXMgbmVnYXRpdmUKLSAgICAgICAgIyB0aGVuIGFkZGl0aW9uYWxseSB4YyBtdXN0IGJlIGEgcG93ZXIgb2YgZWl0aGVyIDIgb3IgNSwgaGVuY2UgYSBwb3dlcgotICAgICAgICAjIG9mIDIqKm4gb3IgNSoqbi4KLSAgICAgICAgIwotICAgICAgICAjIFRoZXJlJ3MgYSBsaW1pdCB0byBob3cgc21hbGwgfHl8IGNhbiBiZTogaWYgeT1tL24gYXMgYWJvdmUKLSAgICAgICAgIyB0aGVuOgotICAgICAgICAjCi0gICAgICAgICMgICgxKSBpZiB4YyAhPSAxIHRoZW4gZm9yIHRoZSByZXN1bHQgdG8gYmUgcmVwcmVzZW50YWJsZSB3ZQotICAgICAgICAjICAgICAgbmVlZCB4YyoqKDEvbikgPj0gMiwgYW5kIGhlbmNlIGFsc28geGMqKnx5fCA+PSAyLiAgU28KLSAgICAgICAgIyAgICAgIGlmIHx5fCA8PSAxL25iaXRzKHhjKSB0aGVuIHhjIDwgMioqbmJpdHMoeGMpIDw9Ci0gICAgICAgICMgICAgICAyKiooMS98eXwpLCBoZW5jZSB4YyoqfHl8IDwgMiBhbmQgdGhlIHJlc3VsdCBpcyBub3QKLSAgICAgICAgIyAgICAgIHJlcHJlc2VudGFibGUuCi0gICAgICAgICMKLSAgICAgICAgIyAgKDIpIGlmIHhlICE9IDAsIHx4ZXwqKDEvbikgPj0gMSwgc28gfHhlfCp8eXwgPj0gMS4gIEhlbmNlIGlmCi0gICAgICAgICMgICAgICB8eXwgPCAxL3x4ZXwgdGhlbiB0aGUgcmVzdWx0IGlzIG5vdCByZXByZXNlbnRhYmxlLgotICAgICAgICAjCi0gICAgICAgICMgTm90ZSB0aGF0IHNpbmNlIHggaXMgbm90IGVxdWFsIHRvIDEsIGF0IGxlYXN0IG9uZSBvZiAoMSkgYW5kCi0gICAgICAgICMgKDIpIG11c3QgYXBwbHkuICBOb3cgfHl8IDwgMS9uYml0cyh4YykgaWZmIHx5Y3wqbmJpdHMoeGMpIDwKLSAgICAgICAgIyAxMCoqLXllIGlmZiBsZW4oc3RyKHx5Y3wqbmJpdHMoeGMpKSA8PSAteWUuCi0gICAgICAgICMKLSAgICAgICAgIyBUaGVyZSdzIGFsc28gYSBsaW1pdCB0byBob3cgbGFyZ2UgeSBjYW4gYmUsIGF0IGxlYXN0IGlmIGl0J3MKLSAgICAgICAgIyBwb3NpdGl2ZTogdGhlIG5vcm1hbGl6ZWQgcmVzdWx0IHdpbGwgaGF2ZSBjb2VmZmljaWVudCB4YyoqeSwKLSAgICAgICAgIyBzbyBpZiBpdCdzIHJlcHJlc2VudGFibGUgdGhlbiB4YyoqeSA8IDEwKipwLCBhbmQgeSA8Ci0gICAgICAgICMgcC9sb2cxMCh4YykuICBIZW5jZSBpZiB5KmxvZzEwKHhjKSA+PSBwIHRoZW4gdGhlIHJlc3VsdCBpcwotICAgICAgICAjIG5vdCBleGFjdGx5IHJlcHJlc2VudGFibGUuCi0KLSAgICAgICAgIyBpZiBsZW4oc3RyKGFicyh5Yyp4ZSkpIDw9IC15ZSB0aGVuIGFicyh5Yyp4ZSkgPCAxMCoqLXllLAotICAgICAgICAjIHNvIHx5fCA8IDEveGUgYW5kIHRoZSByZXN1bHQgaXMgbm90IHJlcHJlc2VudGFibGUuCi0gICAgICAgICMgU2ltaWxhcmx5LCBsZW4oc3RyKGFicyh5YykqeGNfYml0cykpIDw9IC15ZSBpbXBsaWVzIHx5fAotICAgICAgICAjIDwgMS9uYml0cyh4YykuCi0KLSAgICAgICAgeCA9IF9Xb3JrUmVwKHNlbGYpCi0gICAgICAgIHhjLCB4ZSA9IHguaW50LCB4LmV4cAotICAgICAgICB3aGlsZSB4YyAlIDEwID09IDA6Ci0gICAgICAgICAgICB4YyAvLz0gMTAKLSAgICAgICAgICAgIHhlICs9IDEKLQotICAgICAgICB5ID0gX1dvcmtSZXAob3RoZXIpCi0gICAgICAgIHljLCB5ZSA9IHkuaW50LCB5LmV4cAotICAgICAgICB3aGlsZSB5YyAlIDEwID09IDA6Ci0gICAgICAgICAgICB5YyAvLz0gMTAKLSAgICAgICAgICAgIHllICs9IDEKLQotICAgICAgICAjIGNhc2Ugd2hlcmUgeGMgPT0gMTogcmVzdWx0IGlzIDEwKiooeGUqeSksIHdpdGggeGUqeQotICAgICAgICAjIHJlcXVpcmVkIHRvIGJlIGFuIGludGVnZXIKLSAgICAgICAgaWYgeGMgPT0gMToKLSAgICAgICAgICAgIHhlICo9IHljCi0gICAgICAgICAgICAjIHJlc3VsdCBpcyBub3cgMTAqKih4ZSAqIDEwKip5ZSk7ICB4ZSAqIDEwKip5ZSBtdXN0IGJlIGludGVncmFsCi0gICAgICAgICAgICB3aGlsZSB4ZSAlIDEwID09IDA6Ci0gICAgICAgICAgICAgICAgeGUgLy89IDEwCi0gICAgICAgICAgICAgICAgeWUgKz0gMQotICAgICAgICAgICAgaWYgeWUgPCAwOgotICAgICAgICAgICAgICAgIHJldHVybiBOb25lCi0gICAgICAgICAgICBleHBvbmVudCA9IHhlICogMTAqKnllCi0gICAgICAgICAgICBpZiB5LnNpZ24gPT0gMToKLSAgICAgICAgICAgICAgICBleHBvbmVudCA9IC1leHBvbmVudAotICAgICAgICAgICAgIyBpZiBvdGhlciBpcyBhIG5vbm5lZ2F0aXZlIGludGVnZXIsIHVzZSBpZGVhbCBleHBvbmVudAotICAgICAgICAgICAgaWYgb3RoZXIuX2lzaW50ZWdlcigpIGFuZCBvdGhlci5fc2lnbiA9PSAwOgotICAgICAgICAgICAgICAgIGlkZWFsX2V4cG9uZW50ID0gc2VsZi5fZXhwKmludChvdGhlcikKLSAgICAgICAgICAgICAgICB6ZXJvcyA9IG1pbihleHBvbmVudC1pZGVhbF9leHBvbmVudCwgcC0xKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICB6ZXJvcyA9IDAKLSAgICAgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKDAsICcxJyArICcwJyp6ZXJvcywgZXhwb25lbnQtemVyb3MpCi0KLSAgICAgICAgIyBjYXNlIHdoZXJlIHkgaXMgbmVnYXRpdmU6IHhjIG11c3QgYmUgZWl0aGVyIGEgcG93ZXIKLSAgICAgICAgIyBvZiAyIG9yIGEgcG93ZXIgb2YgNS4KLSAgICAgICAgaWYgeS5zaWduID09IDE6Ci0gICAgICAgICAgICBsYXN0X2RpZ2l0ID0geGMgJSAxMAotICAgICAgICAgICAgaWYgbGFzdF9kaWdpdCBpbiAoMiw0LDYsOCk6Ci0gICAgICAgICAgICAgICAgIyBxdWljayB0ZXN0IGZvciBwb3dlciBvZiAyCi0gICAgICAgICAgICAgICAgaWYgeGMgJiAteGMgIT0geGM6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBOb25lCi0gICAgICAgICAgICAgICAgIyBub3cgeGMgaXMgYSBwb3dlciBvZiAyOyBlIGlzIGl0cyBleHBvbmVudAotICAgICAgICAgICAgICAgIGUgPSBfbmJpdHMoeGMpLTEKLQotICAgICAgICAgICAgICAgICMgV2Ugbm93IGhhdmU6Ci0gICAgICAgICAgICAgICAgIwotICAgICAgICAgICAgICAgICMgICB4ID0gMioqZSAqIDEwKip4ZSwgZSA+IDAsIGFuZCB5IDwgMC4KLSAgICAgICAgICAgICAgICAjCi0gICAgICAgICAgICAgICAgIyBUaGUgZXhhY3QgcmVzdWx0IGlzOgotICAgICAgICAgICAgICAgICMKLSAgICAgICAgICAgICAgICAjICAgeCoqeSA9IDUqKigtZSp5KSAqIDEwKiooZSp5ICsgeGUqeSkKLSAgICAgICAgICAgICAgICAjCi0gICAgICAgICAgICAgICAgIyBwcm92aWRlZCB0aGF0IGJvdGggZSp5IGFuZCB4ZSp5IGFyZSBpbnRlZ2Vycy4gIE5vdGUgdGhhdCBpZgotICAgICAgICAgICAgICAgICMgNSoqKC1lKnkpID49IDEwKipwLCB0aGVuIHRoZSByZXN1bHQgY2FuJ3QgYmUgZXhwcmVzc2VkCi0gICAgICAgICAgICAgICAgIyBleGFjdGx5IHdpdGggcCBkaWdpdHMgb2YgcHJlY2lzaW9uLgotICAgICAgICAgICAgICAgICMKLSAgICAgICAgICAgICAgICAjIFVzaW5nIHRoZSBhYm92ZSwgd2UgY2FuIGd1YXJkIGFnYWluc3QgbGFyZ2UgdmFsdWVzIG9mIHllLgotICAgICAgICAgICAgICAgICMgOTMvNjUgaXMgYW4gdXBwZXIgYm91bmQgZm9yIGxvZygxMCkvbG9nKDUpLCBzbyBpZgotICAgICAgICAgICAgICAgICMKLSAgICAgICAgICAgICAgICAjICAgeWUgPj0gbGVuKHN0cig5MypwLy82NSkpCi0gICAgICAgICAgICAgICAgIwotICAgICAgICAgICAgICAgICMgdGhlbgotICAgICAgICAgICAgICAgICMKLSAgICAgICAgICAgICAgICAjICAgLWUqeSA+PSAteSA+PSAxMCoqeWUgPiA5MypwLzY1ID4gcCpsb2coMTApL2xvZyg1KSwKLSAgICAgICAgICAgICAgICAjCi0gICAgICAgICAgICAgICAgIyBzbyA1KiooLWUqeSkgPj0gMTAqKnAsIGFuZCB0aGUgY29lZmZpY2llbnQgb2YgdGhlIHJlc3VsdAotICAgICAgICAgICAgICAgICMgY2FuJ3QgYmUgZXhwcmVzc2VkIGluIHAgZGlnaXRzLgotCi0gICAgICAgICAgICAgICAgIyBlbWF4ID49IGxhcmdlc3QgZSBzdWNoIHRoYXQgNSoqZSA8IDEwKipwLgotICAgICAgICAgICAgICAgIGVtYXggPSBwKjkzLy82NQotICAgICAgICAgICAgICAgIGlmIHllID49IGxlbihzdHIoZW1heCkpOgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQotCi0gICAgICAgICAgICAgICAgIyBGaW5kIC1lKnkgYW5kIC14ZSp5OyBib3RoIG11c3QgYmUgaW50ZWdlcnMKLSAgICAgICAgICAgICAgICBlID0gX2RlY2ltYWxfbHNoaWZ0X2V4YWN0KGUgKiB5YywgeWUpCi0gICAgICAgICAgICAgICAgeGUgPSBfZGVjaW1hbF9sc2hpZnRfZXhhY3QoeGUgKiB5YywgeWUpCi0gICAgICAgICAgICAgICAgaWYgZSBpcyBOb25lIG9yIHhlIGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBOb25lCi0KLSAgICAgICAgICAgICAgICBpZiBlID4gZW1heDoKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKLSAgICAgICAgICAgICAgICB4YyA9IDUqKmUKLQotICAgICAgICAgICAgZWxpZiBsYXN0X2RpZ2l0ID09IDU6Ci0gICAgICAgICAgICAgICAgIyBlID49IGxvZ181KHhjKSBpZiB4YyBpcyBhIHBvd2VyIG9mIDU7IHdlIGhhdmUKLSAgICAgICAgICAgICAgICAjIGVxdWFsaXR5IGFsbCB0aGUgd2F5IHVwIHRvIHhjPTUqKjI2NTgKLSAgICAgICAgICAgICAgICBlID0gX25iaXRzKHhjKSoyOC8vNjUKLSAgICAgICAgICAgICAgICB4YywgcmVtYWluZGVyID0gZGl2bW9kKDUqKmUsIHhjKQotICAgICAgICAgICAgICAgIGlmIHJlbWFpbmRlcjoKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKLSAgICAgICAgICAgICAgICB3aGlsZSB4YyAlIDUgPT0gMDoKLSAgICAgICAgICAgICAgICAgICAgeGMgLy89IDUKLSAgICAgICAgICAgICAgICAgICAgZSAtPSAxCi0KLSAgICAgICAgICAgICAgICAjIEd1YXJkIGFnYWluc3QgbGFyZ2UgdmFsdWVzIG9mIHllLCB1c2luZyB0aGUgc2FtZSBsb2dpYyBhcyBpbgotICAgICAgICAgICAgICAgICMgdGhlICd4YyBpcyBhIHBvd2VyIG9mIDInIGJyYW5jaC4gIDEwLzMgaXMgYW4gdXBwZXIgYm91bmQgZm9yCi0gICAgICAgICAgICAgICAgIyBsb2coMTApL2xvZygyKS4KLSAgICAgICAgICAgICAgICBlbWF4ID0gcCoxMC8vMwotICAgICAgICAgICAgICAgIGlmIHllID49IGxlbihzdHIoZW1heCkpOgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQotCi0gICAgICAgICAgICAgICAgZSA9IF9kZWNpbWFsX2xzaGlmdF9leGFjdChlICogeWMsIHllKQotICAgICAgICAgICAgICAgIHhlID0gX2RlY2ltYWxfbHNoaWZ0X2V4YWN0KHhlICogeWMsIHllKQotICAgICAgICAgICAgICAgIGlmIGUgaXMgTm9uZSBvciB4ZSBpcyBOb25lOgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQotCi0gICAgICAgICAgICAgICAgaWYgZSA+IGVtYXg6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBOb25lCi0gICAgICAgICAgICAgICAgeGMgPSAyKiplCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHJldHVybiBOb25lCi0KLSAgICAgICAgICAgIGlmIHhjID49IDEwKipwOgotICAgICAgICAgICAgICAgIHJldHVybiBOb25lCi0gICAgICAgICAgICB4ZSA9IC1lLXhlCi0gICAgICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZSgwLCBzdHIoeGMpLCB4ZSkKLQotICAgICAgICAjIG5vdyB5IGlzIHBvc2l0aXZlOyBmaW5kIG0gYW5kIG4gc3VjaCB0aGF0IHkgPSBtL24KLSAgICAgICAgaWYgeWUgPj0gMDoKLSAgICAgICAgICAgIG0sIG4gPSB5YyoxMCoqeWUsIDEKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGlmIHhlICE9IDAgYW5kIGxlbihzdHIoYWJzKHljKnhlKSkpIDw9IC15ZToKLSAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQotICAgICAgICAgICAgeGNfYml0cyA9IF9uYml0cyh4YykKLSAgICAgICAgICAgIGlmIHhjICE9IDEgYW5kIGxlbihzdHIoYWJzKHljKSp4Y19iaXRzKSkgPD0gLXllOgotICAgICAgICAgICAgICAgIHJldHVybiBOb25lCi0gICAgICAgICAgICBtLCBuID0geWMsIDEwKiooLXllKQotICAgICAgICAgICAgd2hpbGUgbSAlIDIgPT0gbiAlIDIgPT0gMDoKLSAgICAgICAgICAgICAgICBtIC8vPSAyCi0gICAgICAgICAgICAgICAgbiAvLz0gMgotICAgICAgICAgICAgd2hpbGUgbSAlIDUgPT0gbiAlIDUgPT0gMDoKLSAgICAgICAgICAgICAgICBtIC8vPSA1Ci0gICAgICAgICAgICAgICAgbiAvLz0gNQotCi0gICAgICAgICMgY29tcHV0ZSBudGggcm9vdCBvZiB4YyoxMCoqeGUKLSAgICAgICAgaWYgbiA+IDE6Ci0gICAgICAgICAgICAjIGlmIDEgPCB4YyA8IDIqKm4gdGhlbiB4YyBpc24ndCBhbiBudGggcG93ZXIKLSAgICAgICAgICAgIGlmIHhjICE9IDEgYW5kIHhjX2JpdHMgPD0gbjoKLSAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQotCi0gICAgICAgICAgICB4ZSwgcmVtID0gZGl2bW9kKHhlLCBuKQotICAgICAgICAgICAgaWYgcmVtICE9IDA6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKLQotICAgICAgICAgICAgIyBjb21wdXRlIG50aCByb290IG9mIHhjIHVzaW5nIE5ld3RvbidzIG1ldGhvZAotICAgICAgICAgICAgYSA9IDEgPDwgLSgtX25iaXRzKHhjKS8vbikgIyBpbml0aWFsIGVzdGltYXRlCi0gICAgICAgICAgICB3aGlsZSBUcnVlOgotICAgICAgICAgICAgICAgIHEsIHIgPSBkaXZtb2QoeGMsIGEqKihuLTEpKQotICAgICAgICAgICAgICAgIGlmIGEgPD0gcToKLSAgICAgICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICBhID0gKGEqKG4tMSkgKyBxKS8vbgotICAgICAgICAgICAgaWYgbm90IChhID09IHEgYW5kIHIgPT0gMCk6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKLSAgICAgICAgICAgIHhjID0gYQotCi0gICAgICAgICMgbm93IHhjKjEwKip4ZSBpcyB0aGUgbnRoIHJvb3Qgb2YgdGhlIG9yaWdpbmFsIHhjKjEwKip4ZQotICAgICAgICAjIGNvbXB1dGUgbXRoIHBvd2VyIG9mIHhjKjEwKip4ZQotCi0gICAgICAgICMgaWYgbSA+IHAqMTAwLy9fbG9nMTBfbGIoeGMpIHRoZW4gbSA+IHAvbG9nMTAoeGMpLCBoZW5jZSB4YyoqbSA+Ci0gICAgICAgICMgMTAqKnAgYW5kIHRoZSByZXN1bHQgaXMgbm90IHJlcHJlc2VudGFibGUuCi0gICAgICAgIGlmIHhjID4gMSBhbmQgbSA+IHAqMTAwLy9fbG9nMTBfbGIoeGMpOgotICAgICAgICAgICAgcmV0dXJuIE5vbmUKLSAgICAgICAgeGMgPSB4YyoqbQotICAgICAgICB4ZSAqPSBtCi0gICAgICAgIGlmIHhjID4gMTAqKnA6Ci0gICAgICAgICAgICByZXR1cm4gTm9uZQotCi0gICAgICAgICMgYnkgdGhpcyBwb2ludCB0aGUgcmVzdWx0ICppcyogZXhhY3RseSByZXByZXNlbnRhYmxlCi0gICAgICAgICMgYWRqdXN0IHRoZSBleHBvbmVudCB0byBnZXQgYXMgY2xvc2UgYXMgcG9zc2libGUgdG8gdGhlIGlkZWFsCi0gICAgICAgICMgZXhwb25lbnQsIGlmIG5lY2Vzc2FyeQotICAgICAgICBzdHJfeGMgPSBzdHIoeGMpCi0gICAgICAgIGlmIG90aGVyLl9pc2ludGVnZXIoKSBhbmQgb3RoZXIuX3NpZ24gPT0gMDoKLSAgICAgICAgICAgIGlkZWFsX2V4cG9uZW50ID0gc2VsZi5fZXhwKmludChvdGhlcikKLSAgICAgICAgICAgIHplcm9zID0gbWluKHhlLWlkZWFsX2V4cG9uZW50LCBwLWxlbihzdHJfeGMpKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgemVyb3MgPSAwCi0gICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKDAsIHN0cl94YysnMCcqemVyb3MsIHhlLXplcm9zKQotCi0gICAgZGVmIF9fcG93X18oc2VsZiwgb3RoZXIsIG1vZHVsbz1Ob25lLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiJSZXR1cm4gc2VsZiAqKiBvdGhlciBbICUgbW9kdWxvXS4KLQotICAgICAgICBXaXRoIHR3byBhcmd1bWVudHMsIGNvbXB1dGUgc2VsZioqb3RoZXIuCi0KLSAgICAgICAgV2l0aCB0aHJlZSBhcmd1bWVudHMsIGNvbXB1dGUgKHNlbGYqKm90aGVyKSAlIG1vZHVsby4gIEZvciB0aGUKLSAgICAgICAgdGhyZWUgYXJndW1lbnQgZm9ybSwgdGhlIGZvbGxvd2luZyByZXN0cmljdGlvbnMgb24gdGhlCi0gICAgICAgIGFyZ3VtZW50cyBob2xkOgotCi0gICAgICAgICAtIGFsbCB0aHJlZSBhcmd1bWVudHMgbXVzdCBiZSBpbnRlZ3JhbAotICAgICAgICAgLSBvdGhlciBtdXN0IGJlIG5vbm5lZ2F0aXZlCi0gICAgICAgICAtIGVpdGhlciBzZWxmIG9yIG90aGVyIChvciBib3RoKSBtdXN0IGJlIG5vbnplcm8KLSAgICAgICAgIC0gbW9kdWxvIG11c3QgYmUgbm9uemVybyBhbmQgbXVzdCBoYXZlIGF0IG1vc3QgcCBkaWdpdHMsCi0gICAgICAgICAgIHdoZXJlIHAgaXMgdGhlIGNvbnRleHQgcHJlY2lzaW9uLgotCi0gICAgICAgIElmIGFueSBvZiB0aGVzZSByZXN0cmljdGlvbnMgaXMgdmlvbGF0ZWQgdGhlIEludmFsaWRPcGVyYXRpb24KLSAgICAgICAgZmxhZyBpcyByYWlzZWQuCi0KLSAgICAgICAgVGhlIHJlc3VsdCBvZiBwb3coc2VsZiwgb3RoZXIsIG1vZHVsbykgaXMgaWRlbnRpY2FsIHRvIHRoZQotICAgICAgICByZXN1bHQgdGhhdCB3b3VsZCBiZSBvYnRhaW5lZCBieSBjb21wdXRpbmcgKHNlbGYqKm90aGVyKSAlCi0gICAgICAgIG1vZHVsbyB3aXRoIHVuYm91bmRlZCBwcmVjaXNpb24sIGJ1dCBpcyBjb21wdXRlZCBtb3JlCi0gICAgICAgIGVmZmljaWVudGx5LiAgSXQgaXMgYWx3YXlzIGV4YWN0LgotICAgICAgICAiIiIKLQotICAgICAgICBpZiBtb2R1bG8gaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi5fcG93ZXJfbW9kdWxvKG90aGVyLCBtb2R1bG8sIGNvbnRleHQpCi0KLSAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlcikKLSAgICAgICAgaWYgb3RoZXIgaXMgTm90SW1wbGVtZW50ZWQ6Ci0gICAgICAgICAgICByZXR1cm4gb3RoZXIKLQotICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6Ci0gICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCi0KLSAgICAgICAgIyBlaXRoZXIgYXJndW1lbnQgaXMgYSBOYU4gPT4gcmVzdWx0IGlzIE5hTgotICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKG90aGVyLCBjb250ZXh0KQotICAgICAgICBpZiBhbnM6Ci0gICAgICAgICAgICByZXR1cm4gYW5zCi0KLSAgICAgICAgIyAwKiowID0gTmFOICghKSwgeCoqMCA9IDEgZm9yIG5vbnplcm8geCAoaW5jbHVkaW5nICsvLUluZmluaXR5KQotICAgICAgICBpZiBub3Qgb3RoZXI6Ci0gICAgICAgICAgICBpZiBub3Qgc2VsZjoKLSAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwgJzAgKiogMCcpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHJldHVybiBfT25lCi0KLSAgICAgICAgIyByZXN1bHQgaGFzIHNpZ24gMSBpZmYgc2VsZi5fc2lnbiBpcyAxIGFuZCBvdGhlciBpcyBhbiBvZGQgaW50ZWdlcgotICAgICAgICByZXN1bHRfc2lnbiA9IDAKLSAgICAgICAgaWYgc2VsZi5fc2lnbiA9PSAxOgotICAgICAgICAgICAgaWYgb3RoZXIuX2lzaW50ZWdlcigpOgotICAgICAgICAgICAgICAgIGlmIG5vdCBvdGhlci5faXNldmVuKCk6Ci0gICAgICAgICAgICAgICAgICAgIHJlc3VsdF9zaWduID0gMQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAjIC12ZSoqbm9uaW50ZWdlciA9IE5hTgotICAgICAgICAgICAgICAgICMgKC0wKSoqbm9uaW50ZWdlciA9IDAqKm5vbmludGVnZXIKLSAgICAgICAgICAgICAgICBpZiBzZWxmOgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICd4ICoqIHkgd2l0aCB4IG5lZ2F0aXZlIGFuZCB5IG5vdCBhbiBpbnRlZ2VyJykKLSAgICAgICAgICAgICMgbmVnYXRlIHNlbGYsIHdpdGhvdXQgZG9pbmcgYW55IHVud2FudGVkIHJvdW5kaW5nCi0gICAgICAgICAgICBzZWxmID0gc2VsZi5jb3B5X25lZ2F0ZSgpCi0KLSAgICAgICAgIyAwKiooK3ZlIG9yIEluZik9IDA7IDAqKigtdmUgb3IgLUluZikgPSBJbmZpbml0eQotICAgICAgICBpZiBub3Qgc2VsZjoKLSAgICAgICAgICAgIGlmIG90aGVyLl9zaWduID09IDA6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUocmVzdWx0X3NpZ24sICcwJywgMCkKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIF9TaWduZWRJbmZpbml0eVtyZXN1bHRfc2lnbl0KLQotICAgICAgICAjIEluZioqKCt2ZSBvciBJbmYpID0gSW5mOyBJbmYqKigtdmUgb3IgLUluZikgPSAwCi0gICAgICAgIGlmIHNlbGYuX2lzaW5maW5pdHkoKToKLSAgICAgICAgICAgIGlmIG90aGVyLl9zaWduID09IDA6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIF9TaWduZWRJbmZpbml0eVtyZXN1bHRfc2lnbl0KLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUocmVzdWx0X3NpZ24sICcwJywgMCkKLQotICAgICAgICAjIDEqKm90aGVyID0gMSwgYnV0IHRoZSBjaG9pY2Ugb2YgZXhwb25lbnQgYW5kIHRoZSBmbGFncwotICAgICAgICAjIGRlcGVuZCBvbiB0aGUgZXhwb25lbnQgb2Ygc2VsZiwgYW5kIG9uIHdoZXRoZXIgb3RoZXIgaXMgYQotICAgICAgICAjIHBvc2l0aXZlIGludGVnZXIsIGEgbmVnYXRpdmUgaW50ZWdlciwgb3IgbmVpdGhlcgotICAgICAgICBpZiBzZWxmID09IF9PbmU6Ci0gICAgICAgICAgICBpZiBvdGhlci5faXNpbnRlZ2VyKCk6Ci0gICAgICAgICAgICAgICAgIyBleHAgPSBtYXgoc2VsZi5fZXhwKm1heChpbnQob3RoZXIpLCAwKSwKLSAgICAgICAgICAgICAgICAjIDEtY29udGV4dC5wcmVjKSBidXQgZXZhbHVhdGluZyBpbnQob3RoZXIpIGRpcmVjdGx5Ci0gICAgICAgICAgICAgICAgIyBpcyBkYW5nZXJvdXMgdW50aWwgd2Uga25vdyBvdGhlciBpcyBzbWFsbCAob3RoZXIKLSAgICAgICAgICAgICAgICAjIGNvdWxkIGJlIDFlOTk5OTk5OTk5KQotICAgICAgICAgICAgICAgIGlmIG90aGVyLl9zaWduID09IDE6Ci0gICAgICAgICAgICAgICAgICAgIG11bHRpcGxpZXIgPSAwCi0gICAgICAgICAgICAgICAgZWxpZiBvdGhlciA+IGNvbnRleHQucHJlYzoKLSAgICAgICAgICAgICAgICAgICAgbXVsdGlwbGllciA9IGNvbnRleHQucHJlYwotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIG11bHRpcGxpZXIgPSBpbnQob3RoZXIpCi0KLSAgICAgICAgICAgICAgICBleHAgPSBzZWxmLl9leHAgKiBtdWx0aXBsaWVyCi0gICAgICAgICAgICAgICAgaWYgZXhwIDwgMS1jb250ZXh0LnByZWM6Ci0gICAgICAgICAgICAgICAgICAgIGV4cCA9IDEtY29udGV4dC5wcmVjCi0gICAgICAgICAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKFJvdW5kZWQpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKEluZXhhY3QpCi0gICAgICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoUm91bmRlZCkKLSAgICAgICAgICAgICAgICBleHAgPSAxLWNvbnRleHQucHJlYwotCi0gICAgICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZShyZXN1bHRfc2lnbiwgJzEnKycwJyotZXhwLCBleHApCi0KLSAgICAgICAgIyBjb21wdXRlIGFkanVzdGVkIGV4cG9uZW50IG9mIHNlbGYKLSAgICAgICAgc2VsZl9hZGogPSBzZWxmLmFkanVzdGVkKCkKLQotICAgICAgICAjIHNlbGYgKiogaW5maW5pdHkgaXMgaW5maW5pdHkgaWYgc2VsZiA+IDEsIDAgaWYgc2VsZiA8IDEKLSAgICAgICAgIyBzZWxmICoqIC1pbmZpbml0eSBpcyBpbmZpbml0eSBpZiBzZWxmIDwgMSwgMCBpZiBzZWxmID4gMQotICAgICAgICBpZiBvdGhlci5faXNpbmZpbml0eSgpOgotICAgICAgICAgICAgaWYgKG90aGVyLl9zaWduID09IDApID09IChzZWxmX2FkaiA8IDApOgotICAgICAgICAgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKHJlc3VsdF9zaWduLCAnMCcsIDApCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHJldHVybiBfU2lnbmVkSW5maW5pdHlbcmVzdWx0X3NpZ25dCi0KLSAgICAgICAgIyBmcm9tIGhlcmUgb24sIHRoZSByZXN1bHQgYWx3YXlzIGdvZXMgdGhyb3VnaCB0aGUgY2FsbAotICAgICAgICAjIHRvIF9maXggYXQgdGhlIGVuZCBvZiB0aGlzIGZ1bmN0aW9uLgotICAgICAgICBhbnMgPSBOb25lCi0gICAgICAgIGV4YWN0ID0gRmFsc2UKLQotICAgICAgICAjIGNydWRlIHRlc3QgdG8gY2F0Y2ggY2FzZXMgb2YgZXh0cmVtZSBvdmVyZmxvdy91bmRlcmZsb3cuICBJZgotICAgICAgICAjIGxvZzEwKHNlbGYpKm90aGVyID49IDEwKipib3VuZCBhbmQgYm91bmQgPj0gbGVuKHN0cihFbWF4KSkKLSAgICAgICAgIyB0aGVuIDEwKipib3VuZCA+PSAxMCoqbGVuKHN0cihFbWF4KSkgPj0gRW1heCsxIGFuZCBoZW5jZQotICAgICAgICAjIHNlbGYqKm90aGVyID49IDEwKiooRW1heCsxKSwgc28gb3ZlcmZsb3cgb2NjdXJzLiAgVGhlIHRlc3QKLSAgICAgICAgIyBmb3IgdW5kZXJmbG93IGlzIHNpbWlsYXIuCi0gICAgICAgIGJvdW5kID0gc2VsZi5fbG9nMTBfZXhwX2JvdW5kKCkgKyBvdGhlci5hZGp1c3RlZCgpCi0gICAgICAgIGlmIChzZWxmX2FkaiA+PSAwKSA9PSAob3RoZXIuX3NpZ24gPT0gMCk6Ci0gICAgICAgICAgICAjIHNlbGYgPiAxIGFuZCBvdGhlciArdmUsIG9yIHNlbGYgPCAxIGFuZCBvdGhlciAtdmUKLSAgICAgICAgICAgICMgcG9zc2liaWxpdHkgb2Ygb3ZlcmZsb3cKLSAgICAgICAgICAgIGlmIGJvdW5kID49IGxlbihzdHIoY29udGV4dC5FbWF4KSk6Ci0gICAgICAgICAgICAgICAgYW5zID0gX2RlY19mcm9tX3RyaXBsZShyZXN1bHRfc2lnbiwgJzEnLCBjb250ZXh0LkVtYXgrMSkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgICMgc2VsZiA+IDEgYW5kIG90aGVyIC12ZSwgb3Igc2VsZiA8IDEgYW5kIG90aGVyICt2ZQotICAgICAgICAgICAgIyBwb3NzaWJpbGl0eSBvZiB1bmRlcmZsb3cgdG8gMAotICAgICAgICAgICAgRXRpbnkgPSBjb250ZXh0LkV0aW55KCkKLSAgICAgICAgICAgIGlmIGJvdW5kID49IGxlbihzdHIoLUV0aW55KSk6Ci0gICAgICAgICAgICAgICAgYW5zID0gX2RlY19mcm9tX3RyaXBsZShyZXN1bHRfc2lnbiwgJzEnLCBFdGlueS0xKQotCi0gICAgICAgICMgdHJ5IGZvciBhbiBleGFjdCByZXN1bHQgd2l0aCBwcmVjaXNpb24gKzEKLSAgICAgICAgaWYgYW5zIGlzIE5vbmU6Ci0gICAgICAgICAgICBhbnMgPSBzZWxmLl9wb3dlcl9leGFjdChvdGhlciwgY29udGV4dC5wcmVjICsgMSkKLSAgICAgICAgICAgIGlmIGFucyBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICBpZiByZXN1bHRfc2lnbiA9PSAxOgotICAgICAgICAgICAgICAgICAgICBhbnMgPSBfZGVjX2Zyb21fdHJpcGxlKDEsIGFucy5faW50LCBhbnMuX2V4cCkKLSAgICAgICAgICAgICAgICBleGFjdCA9IFRydWUKLQotICAgICAgICAjIHVzdWFsIGNhc2U6IGluZXhhY3QgcmVzdWx0LCB4Kip5IGNvbXB1dGVkIGRpcmVjdGx5IGFzIGV4cCh5KmxvZyh4KSkKLSAgICAgICAgaWYgYW5zIGlzIE5vbmU6Ci0gICAgICAgICAgICBwID0gY29udGV4dC5wcmVjCi0gICAgICAgICAgICB4ID0gX1dvcmtSZXAoc2VsZikKLSAgICAgICAgICAgIHhjLCB4ZSA9IHguaW50LCB4LmV4cAotICAgICAgICAgICAgeSA9IF9Xb3JrUmVwKG90aGVyKQotICAgICAgICAgICAgeWMsIHllID0geS5pbnQsIHkuZXhwCi0gICAgICAgICAgICBpZiB5LnNpZ24gPT0gMToKLSAgICAgICAgICAgICAgICB5YyA9IC15YwotCi0gICAgICAgICAgICAjIGNvbXB1dGUgY29ycmVjdGx5IHJvdW5kZWQgcmVzdWx0OiAgc3RhcnQgd2l0aCBwcmVjaXNpb24gKzMsCi0gICAgICAgICAgICAjIHRoZW4gaW5jcmVhc2UgcHJlY2lzaW9uIHVudGlsIHJlc3VsdCBpcyB1bmFtYmlndW91c2x5IHJvdW5kYWJsZQotICAgICAgICAgICAgZXh0cmEgPSAzCi0gICAgICAgICAgICB3aGlsZSBUcnVlOgotICAgICAgICAgICAgICAgIGNvZWZmLCBleHAgPSBfZHBvd2VyKHhjLCB4ZSwgeWMsIHllLCBwK2V4dHJhKQotICAgICAgICAgICAgICAgIGlmIGNvZWZmICUgKDUqMTAqKihsZW4oc3RyKGNvZWZmKSktcC0xKSk6Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICAgICAgZXh0cmEgKz0gMwotCi0gICAgICAgICAgICBhbnMgPSBfZGVjX2Zyb21fdHJpcGxlKHJlc3VsdF9zaWduLCBzdHIoY29lZmYpLCBleHApCi0KLSAgICAgICAgIyB1bmxpa2UgZXhwLCBsbiBhbmQgbG9nMTAsIHRoZSBwb3dlciBmdW5jdGlvbiByZXNwZWN0cyB0aGUKLSAgICAgICAgIyByb3VuZGluZyBtb2RlOyBubyBuZWVkIHRvIHN3aXRjaCB0byBST1VORF9IQUxGX0VWRU4gaGVyZQotCi0gICAgICAgICMgVGhlcmUncyBhIGRpZmZpY3VsdHkgaGVyZSB3aGVuICdvdGhlcicgaXMgbm90IGFuIGludGVnZXIgYW5kCi0gICAgICAgICMgdGhlIHJlc3VsdCBpcyBleGFjdC4gIEluIHRoaXMgY2FzZSwgdGhlIHNwZWNpZmljYXRpb24KLSAgICAgICAgIyByZXF1aXJlcyB0aGF0IHRoZSBJbmV4YWN0IGZsYWcgYmUgcmFpc2VkIChpbiBzcGl0ZSBvZgotICAgICAgICAjIGV4YWN0bmVzcyksIGJ1dCBzaW5jZSB0aGUgcmVzdWx0IGlzIGV4YWN0IF9maXggd29uJ3QgZG8gdGhpcwotICAgICAgICAjIGZvciB1cy4gIChDb3JyZXNwb25kaW5nbHksIHRoZSBVbmRlcmZsb3cgc2lnbmFsIHNob3VsZCBhbHNvCi0gICAgICAgICMgYmUgcmFpc2VkIGZvciBzdWJub3JtYWwgcmVzdWx0cy4pICBXZSBjYW4ndCBkaXJlY3RseSByYWlzZQotICAgICAgICAjIHRoZXNlIHNpZ25hbHMgZWl0aGVyIGJlZm9yZSBvciBhZnRlciBjYWxsaW5nIF9maXgsIHNpbmNlCi0gICAgICAgICMgdGhhdCB3b3VsZCB2aW9sYXRlIHRoZSBwcmVjZWRlbmNlIGZvciBzaWduYWxzLiAgU28gd2Ugd3JhcAotICAgICAgICAjIHRoZSAuX2ZpeCBjYWxsIGluIGEgdGVtcG9yYXJ5IGNvbnRleHQsIGFuZCByZXJhaXNlCi0gICAgICAgICMgYWZ0ZXJ3YXJkcy4KLSAgICAgICAgaWYgZXhhY3QgYW5kIG5vdCBvdGhlci5faXNpbnRlZ2VyKCk6Ci0gICAgICAgICAgICAjIHBhZCB3aXRoIHplcm9zIHVwIHRvIGxlbmd0aCBjb250ZXh0LnByZWMrMSBpZiBuZWNlc3Nhcnk7IHRoaXMKLSAgICAgICAgICAgICMgZW5zdXJlcyB0aGF0IHRoZSBSb3VuZGVkIHNpZ25hbCB3aWxsIGJlIHJhaXNlZC4KLSAgICAgICAgICAgIGlmIGxlbihhbnMuX2ludCkgPD0gY29udGV4dC5wcmVjOgotICAgICAgICAgICAgICAgIGV4cGRpZmYgPSBjb250ZXh0LnByZWMgKyAxIC0gbGVuKGFucy5faW50KQotICAgICAgICAgICAgICAgIGFucyA9IF9kZWNfZnJvbV90cmlwbGUoYW5zLl9zaWduLCBhbnMuX2ludCsnMCcqZXhwZGlmZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFucy5fZXhwLWV4cGRpZmYpCi0KLSAgICAgICAgICAgICMgY3JlYXRlIGEgY29weSBvZiB0aGUgY3VycmVudCBjb250ZXh0LCB3aXRoIGNsZWFyZWQgZmxhZ3MvdHJhcHMKLSAgICAgICAgICAgIG5ld2NvbnRleHQgPSBjb250ZXh0LmNvcHkoKQotICAgICAgICAgICAgbmV3Y29udGV4dC5jbGVhcl9mbGFncygpCi0gICAgICAgICAgICBmb3IgZXhjZXB0aW9uIGluIF9zaWduYWxzOgotICAgICAgICAgICAgICAgIG5ld2NvbnRleHQudHJhcHNbZXhjZXB0aW9uXSA9IDAKLQotICAgICAgICAgICAgIyByb3VuZCBpbiB0aGUgbmV3IGNvbnRleHQKLSAgICAgICAgICAgIGFucyA9IGFucy5fZml4KG5ld2NvbnRleHQpCi0KLSAgICAgICAgICAgICMgcmFpc2UgSW5leGFjdCwgYW5kIGlmIG5lY2Vzc2FyeSwgVW5kZXJmbG93Ci0gICAgICAgICAgICBuZXdjb250ZXh0Ll9yYWlzZV9lcnJvcihJbmV4YWN0KQotICAgICAgICAgICAgaWYgbmV3Y29udGV4dC5mbGFnc1tTdWJub3JtYWxdOgotICAgICAgICAgICAgICAgIG5ld2NvbnRleHQuX3JhaXNlX2Vycm9yKFVuZGVyZmxvdykKLQotICAgICAgICAgICAgIyBwcm9wYWdhdGUgc2lnbmFscyB0byB0aGUgb3JpZ2luYWwgY29udGV4dDsgX2ZpeCBjb3VsZAotICAgICAgICAgICAgIyBoYXZlIHJhaXNlZCBhbnkgb2YgT3ZlcmZsb3csIFVuZGVyZmxvdywgU3Vibm9ybWFsLAotICAgICAgICAgICAgIyBJbmV4YWN0LCBSb3VuZGVkLCBDbGFtcGVkLiAgT3ZlcmZsb3cgbmVlZHMgdGhlIGNvcnJlY3QKLSAgICAgICAgICAgICMgYXJndW1lbnRzLiAgTm90ZSB0aGF0IHRoZSBvcmRlciBvZiB0aGUgZXhjZXB0aW9ucyBpcwotICAgICAgICAgICAgIyBpbXBvcnRhbnQgaGVyZS4KLSAgICAgICAgICAgIGlmIG5ld2NvbnRleHQuZmxhZ3NbT3ZlcmZsb3ddOgotICAgICAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKE92ZXJmbG93LCAnYWJvdmUgRW1heCcsIGFucy5fc2lnbikKLSAgICAgICAgICAgIGZvciBleGNlcHRpb24gaW4gVW5kZXJmbG93LCBTdWJub3JtYWwsIEluZXhhY3QsIFJvdW5kZWQsIENsYW1wZWQ6Ci0gICAgICAgICAgICAgICAgaWYgbmV3Y29udGV4dC5mbGFnc1tleGNlcHRpb25dOgotICAgICAgICAgICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihleGNlcHRpb24pCi0KLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGFucyA9IGFucy5fZml4KGNvbnRleHQpCi0KLSAgICAgICAgcmV0dXJuIGFucwotCi0gICAgZGVmIF9fcnBvd19fKHNlbGYsIG90aGVyLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiJTd2FwcyBzZWxmL290aGVyIGFuZCByZXR1cm5zIF9fcG93X18uIiIiCi0gICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIpCi0gICAgICAgIGlmIG90aGVyIGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICAgICAgcmV0dXJuIG90aGVyCi0gICAgICAgIHJldHVybiBvdGhlci5fX3Bvd19fKHNlbGYsIGNvbnRleHQ9Y29udGV4dCkKLQotICAgIGRlZiBub3JtYWxpemUoc2VsZiwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiTm9ybWFsaXplLSBzdHJpcCB0cmFpbGluZyAwcywgY2hhbmdlIGFueXRoaW5nIGVxdWFsIHRvIDAgdG8gMGUwIiIiCi0KLSAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgotICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotCi0gICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWw6Ci0gICAgICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKGNvbnRleHQ9Y29udGV4dCkKLSAgICAgICAgICAgIGlmIGFuczoKLSAgICAgICAgICAgICAgICByZXR1cm4gYW5zCi0KLSAgICAgICAgZHVwID0gc2VsZi5fZml4KGNvbnRleHQpCi0gICAgICAgIGlmIGR1cC5faXNpbmZpbml0eSgpOgotICAgICAgICAgICAgcmV0dXJuIGR1cAotCi0gICAgICAgIGlmIG5vdCBkdXA6Ci0gICAgICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZShkdXAuX3NpZ24sICcwJywgMCkKLSAgICAgICAgZXhwX21heCA9IFtjb250ZXh0LkVtYXgsIGNvbnRleHQuRXRvcCgpXVtjb250ZXh0LmNsYW1wXQotICAgICAgICBlbmQgPSBsZW4oZHVwLl9pbnQpCi0gICAgICAgIGV4cCA9IGR1cC5fZXhwCi0gICAgICAgIHdoaWxlIGR1cC5faW50W2VuZC0xXSA9PSAnMCcgYW5kIGV4cCA8IGV4cF9tYXg6Ci0gICAgICAgICAgICBleHAgKz0gMQotICAgICAgICAgICAgZW5kIC09IDEKLSAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUoZHVwLl9zaWduLCBkdXAuX2ludFs6ZW5kXSwgZXhwKQotCi0gICAgZGVmIHF1YW50aXplKHNlbGYsIGV4cCwgcm91bmRpbmc9Tm9uZSwgY29udGV4dD1Ob25lLCB3YXRjaGV4cD1UcnVlKToKLSAgICAgICAgIiIiUXVhbnRpemUgc2VsZiBzbyBpdHMgZXhwb25lbnQgaXMgdGhlIHNhbWUgYXMgdGhhdCBvZiBleHAuCi0KLSAgICAgICAgU2ltaWxhciB0byBzZWxmLl9yZXNjYWxlKGV4cC5fZXhwKSBidXQgd2l0aCBlcnJvciBjaGVja2luZy4KLSAgICAgICAgIiIiCi0gICAgICAgIGV4cCA9IF9jb252ZXJ0X290aGVyKGV4cCwgcmFpc2VpdD1UcnVlKQotCi0gICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKLSAgICAgICAgaWYgcm91bmRpbmcgaXMgTm9uZToKLSAgICAgICAgICAgIHJvdW5kaW5nID0gY29udGV4dC5yb3VuZGluZwotCi0gICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWwgb3IgZXhwLl9pc19zcGVjaWFsOgotICAgICAgICAgICAgYW5zID0gc2VsZi5fY2hlY2tfbmFucyhleHAsIGNvbnRleHQpCi0gICAgICAgICAgICBpZiBhbnM6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGFucwotCi0gICAgICAgICAgICBpZiBleHAuX2lzaW5maW5pdHkoKSBvciBzZWxmLl9pc2luZmluaXR5KCk6Ci0gICAgICAgICAgICAgICAgaWYgZXhwLl9pc2luZmluaXR5KCkgYW5kIHNlbGYuX2lzaW5maW5pdHkoKToKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIERlY2ltYWwoc2VsZikgICMgaWYgYm90aCBhcmUgaW5mLCBpdCBpcyBPSwotICAgICAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdxdWFudGl6ZSB3aXRoIG9uZSBJTkYnKQotCi0gICAgICAgICMgaWYgd2UncmUgbm90IHdhdGNoaW5nIGV4cG9uZW50cywgZG8gYSBzaW1wbGUgcmVzY2FsZQotICAgICAgICBpZiBub3Qgd2F0Y2hleHA6Ci0gICAgICAgICAgICBhbnMgPSBzZWxmLl9yZXNjYWxlKGV4cC5fZXhwLCByb3VuZGluZykKLSAgICAgICAgICAgICMgcmFpc2UgSW5leGFjdCBhbmQgUm91bmRlZCB3aGVyZSBhcHByb3ByaWF0ZQotICAgICAgICAgICAgaWYgYW5zLl9leHAgPiBzZWxmLl9leHA6Ci0gICAgICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoUm91bmRlZCkKLSAgICAgICAgICAgICAgICBpZiBhbnMgIT0gc2VsZjoKLSAgICAgICAgICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoSW5leGFjdCkKLSAgICAgICAgICAgIHJldHVybiBhbnMKLQotICAgICAgICAjIGV4cC5fZXhwIHNob3VsZCBiZSBiZXR3ZWVuIEV0aW55IGFuZCBFbWF4Ci0gICAgICAgIGlmIG5vdCAoY29udGV4dC5FdGlueSgpIDw9IGV4cC5fZXhwIDw9IGNvbnRleHQuRW1heCk6Ci0gICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwKLSAgICAgICAgICAgICAgICAgICAndGFyZ2V0IGV4cG9uZW50IG91dCBvZiBib3VuZHMgaW4gcXVhbnRpemUnKQotCi0gICAgICAgIGlmIG5vdCBzZWxmOgotICAgICAgICAgICAgYW5zID0gX2RlY19mcm9tX3RyaXBsZShzZWxmLl9zaWduLCAnMCcsIGV4cC5fZXhwKQotICAgICAgICAgICAgcmV0dXJuIGFucy5fZml4KGNvbnRleHQpCi0KLSAgICAgICAgc2VsZl9hZGp1c3RlZCA9IHNlbGYuYWRqdXN0ZWQoKQotICAgICAgICBpZiBzZWxmX2FkanVzdGVkID4gY29udGV4dC5FbWF4OgotICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2V4cG9uZW50IG9mIHF1YW50aXplIHJlc3VsdCB0b28gbGFyZ2UgZm9yIGN1cnJlbnQgY29udGV4dCcpCi0gICAgICAgIGlmIHNlbGZfYWRqdXN0ZWQgLSBleHAuX2V4cCArIDEgPiBjb250ZXh0LnByZWM6Ci0gICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncXVhbnRpemUgcmVzdWx0IGhhcyB0b28gbWFueSBkaWdpdHMgZm9yIGN1cnJlbnQgY29udGV4dCcpCi0KLSAgICAgICAgYW5zID0gc2VsZi5fcmVzY2FsZShleHAuX2V4cCwgcm91bmRpbmcpCi0gICAgICAgIGlmIGFucy5hZGp1c3RlZCgpID4gY29udGV4dC5FbWF4OgotICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2V4cG9uZW50IG9mIHF1YW50aXplIHJlc3VsdCB0b28gbGFyZ2UgZm9yIGN1cnJlbnQgY29udGV4dCcpCi0gICAgICAgIGlmIGxlbihhbnMuX2ludCkgPiBjb250ZXh0LnByZWM6Ci0gICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncXVhbnRpemUgcmVzdWx0IGhhcyB0b28gbWFueSBkaWdpdHMgZm9yIGN1cnJlbnQgY29udGV4dCcpCi0KLSAgICAgICAgIyByYWlzZSBhcHByb3ByaWF0ZSBmbGFncwotICAgICAgICBpZiBhbnMgYW5kIGFucy5hZGp1c3RlZCgpIDwgY29udGV4dC5FbWluOgotICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoU3Vibm9ybWFsKQotICAgICAgICBpZiBhbnMuX2V4cCA+IHNlbGYuX2V4cDoKLSAgICAgICAgICAgIGlmIGFucyAhPSBzZWxmOgotICAgICAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKEluZXhhY3QpCi0gICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihSb3VuZGVkKQotCi0gICAgICAgICMgY2FsbCB0byBmaXggdGFrZXMgY2FyZSBvZiBhbnkgbmVjZXNzYXJ5IGZvbGRkb3duLCBhbmQKLSAgICAgICAgIyBzaWduYWxzIENsYW1wZWQgaWYgbmVjZXNzYXJ5Ci0gICAgICAgIGFucyA9IGFucy5fZml4KGNvbnRleHQpCi0gICAgICAgIHJldHVybiBhbnMKLQotICAgIGRlZiBzYW1lX3F1YW50dW0oc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIlJldHVybiBUcnVlIGlmIHNlbGYgYW5kIG90aGVyIGhhdmUgdGhlIHNhbWUgZXhwb25lbnQ7IG90aGVyd2lzZQotICAgICAgICByZXR1cm4gRmFsc2UuCi0KLSAgICAgICAgSWYgZWl0aGVyIG9wZXJhbmQgaXMgYSBzcGVjaWFsIHZhbHVlLCB0aGUgZm9sbG93aW5nIHJ1bGVzIGFyZSB1c2VkOgotICAgICAgICAgICAqIHJldHVybiBUcnVlIGlmIGJvdGggb3BlcmFuZHMgYXJlIGluZmluaXRpZXMKLSAgICAgICAgICAgKiByZXR1cm4gVHJ1ZSBpZiBib3RoIG9wZXJhbmRzIGFyZSBOYU5zCi0gICAgICAgICAgICogb3RoZXJ3aXNlLCByZXR1cm4gRmFsc2UuCi0gICAgICAgICIiIgotICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyLCByYWlzZWl0PVRydWUpCi0gICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWwgb3Igb3RoZXIuX2lzX3NwZWNpYWw6Ci0gICAgICAgICAgICByZXR1cm4gKHNlbGYuaXNfbmFuKCkgYW5kIG90aGVyLmlzX25hbigpIG9yCi0gICAgICAgICAgICAgICAgICAgIHNlbGYuaXNfaW5maW5pdGUoKSBhbmQgb3RoZXIuaXNfaW5maW5pdGUoKSkKLSAgICAgICAgcmV0dXJuIHNlbGYuX2V4cCA9PSBvdGhlci5fZXhwCi0KLSAgICBkZWYgX3Jlc2NhbGUoc2VsZiwgZXhwLCByb3VuZGluZyk6Ci0gICAgICAgICIiIlJlc2NhbGUgc2VsZiBzbyB0aGF0IHRoZSBleHBvbmVudCBpcyBleHAsIGVpdGhlciBieSBwYWRkaW5nIHdpdGggemVyb3MKLSAgICAgICAgb3IgYnkgdHJ1bmNhdGluZyBkaWdpdHMsIHVzaW5nIHRoZSBnaXZlbiByb3VuZGluZyBtb2RlLgotCi0gICAgICAgIFNwZWNpYWxzIGFyZSByZXR1cm5lZCB3aXRob3V0IGNoYW5nZS4gIFRoaXMgb3BlcmF0aW9uIGlzCi0gICAgICAgIHF1aWV0OiBpdCByYWlzZXMgbm8gZmxhZ3MsIGFuZCB1c2VzIG5vIGluZm9ybWF0aW9uIGZyb20gdGhlCi0gICAgICAgIGNvbnRleHQuCi0KLSAgICAgICAgZXhwID0gZXhwIHRvIHNjYWxlIHRvIChhbiBpbnRlZ2VyKQotICAgICAgICByb3VuZGluZyA9IHJvdW5kaW5nIG1vZGUKLSAgICAgICAgIiIiCi0gICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWw6Ci0gICAgICAgICAgICByZXR1cm4gRGVjaW1hbChzZWxmKQotICAgICAgICBpZiBub3Qgc2VsZjoKLSAgICAgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKHNlbGYuX3NpZ24sICcwJywgZXhwKQotCi0gICAgICAgIGlmIHNlbGYuX2V4cCA+PSBleHA6Ci0gICAgICAgICAgICAjIHBhZCBhbnN3ZXIgd2l0aCB6ZXJvcyBpZiBuZWNlc3NhcnkKLSAgICAgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKHNlbGYuX3NpZ24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5faW50ICsgJzAnKihzZWxmLl9leHAgLSBleHApLCBleHApCi0KLSAgICAgICAgIyB0b28gbWFueSBkaWdpdHM7IHJvdW5kIGFuZCBsb3NlIGRhdGEuICBJZiBzZWxmLmFkanVzdGVkKCkgPAotICAgICAgICAjIGV4cC0xLCByZXBsYWNlIHNlbGYgYnkgMTAqKihleHAtMSkgYmVmb3JlIHJvdW5kaW5nCi0gICAgICAgIGRpZ2l0cyA9IGxlbihzZWxmLl9pbnQpICsgc2VsZi5fZXhwIC0gZXhwCi0gICAgICAgIGlmIGRpZ2l0cyA8IDA6Ci0gICAgICAgICAgICBzZWxmID0gX2RlY19mcm9tX3RyaXBsZShzZWxmLl9zaWduLCAnMScsIGV4cC0xKQotICAgICAgICAgICAgZGlnaXRzID0gMAotICAgICAgICB0aGlzX2Z1bmN0aW9uID0gc2VsZi5fcGlja19yb3VuZGluZ19mdW5jdGlvbltyb3VuZGluZ10KLSAgICAgICAgY2hhbmdlZCA9IHRoaXNfZnVuY3Rpb24oc2VsZiwgZGlnaXRzKQotICAgICAgICBjb2VmZiA9IHNlbGYuX2ludFs6ZGlnaXRzXSBvciAnMCcKLSAgICAgICAgaWYgY2hhbmdlZCA9PSAxOgotICAgICAgICAgICAgY29lZmYgPSBzdHIoaW50KGNvZWZmKSsxKQotICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZShzZWxmLl9zaWduLCBjb2VmZiwgZXhwKQotCi0gICAgZGVmIF9yb3VuZChzZWxmLCBwbGFjZXMsIHJvdW5kaW5nKToKLSAgICAgICAgIiIiUm91bmQgYSBub256ZXJvLCBub25zcGVjaWFsIERlY2ltYWwgdG8gYSBmaXhlZCBudW1iZXIgb2YKLSAgICAgICAgc2lnbmlmaWNhbnQgZmlndXJlcywgdXNpbmcgdGhlIGdpdmVuIHJvdW5kaW5nIG1vZGUuCi0KLSAgICAgICAgSW5maW5pdGllcywgTmFOcyBhbmQgemVyb3MgYXJlIHJldHVybmVkIHVuYWx0ZXJlZC4KLQotICAgICAgICBUaGlzIG9wZXJhdGlvbiBpcyBxdWlldDogaXQgcmFpc2VzIG5vIGZsYWdzLCBhbmQgdXNlcyBubwotICAgICAgICBpbmZvcm1hdGlvbiBmcm9tIHRoZSBjb250ZXh0LgotCi0gICAgICAgICIiIgotICAgICAgICBpZiBwbGFjZXMgPD0gMDoKLSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoImFyZ3VtZW50IHNob3VsZCBiZSBhdCBsZWFzdCAxIGluIF9yb3VuZCIpCi0gICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWwgb3Igbm90IHNlbGY6Ci0gICAgICAgICAgICByZXR1cm4gRGVjaW1hbChzZWxmKQotICAgICAgICBhbnMgPSBzZWxmLl9yZXNjYWxlKHNlbGYuYWRqdXN0ZWQoKSsxLXBsYWNlcywgcm91bmRpbmcpCi0gICAgICAgICMgaXQgY2FuIGhhcHBlbiB0aGF0IHRoZSByZXNjYWxlIGFsdGVycyB0aGUgYWRqdXN0ZWQgZXhwb25lbnQ7Ci0gICAgICAgICMgZm9yIGV4YW1wbGUgd2hlbiByb3VuZGluZyA5OS45NyB0byAzIHNpZ25pZmljYW50IGZpZ3VyZXMuCi0gICAgICAgICMgV2hlbiB0aGlzIGhhcHBlbnMgd2UgZW5kIHVwIHdpdGggYW4gZXh0cmEgMCBhdCB0aGUgZW5kIG9mCi0gICAgICAgICMgdGhlIG51bWJlcjsgYSBzZWNvbmQgcmVzY2FsZSBmaXhlcyB0aGlzLgotICAgICAgICBpZiBhbnMuYWRqdXN0ZWQoKSAhPSBzZWxmLmFkanVzdGVkKCk6Ci0gICAgICAgICAgICBhbnMgPSBhbnMuX3Jlc2NhbGUoYW5zLmFkanVzdGVkKCkrMS1wbGFjZXMsIHJvdW5kaW5nKQotICAgICAgICByZXR1cm4gYW5zCi0KLSAgICBkZWYgdG9faW50ZWdyYWxfZXhhY3Qoc2VsZiwgcm91bmRpbmc9Tm9uZSwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiUm91bmRzIHRvIGEgbmVhcmJ5IGludGVnZXIuCi0KLSAgICAgICAgSWYgbm8gcm91bmRpbmcgbW9kZSBpcyBzcGVjaWZpZWQsIHRha2UgdGhlIHJvdW5kaW5nIG1vZGUgZnJvbQotICAgICAgICB0aGUgY29udGV4dC4gIFRoaXMgbWV0aG9kIHJhaXNlcyB0aGUgUm91bmRlZCBhbmQgSW5leGFjdCBmbGFncwotICAgICAgICB3aGVuIGFwcHJvcHJpYXRlLgotCi0gICAgICAgIFNlZSBhbHNvOiB0b19pbnRlZ3JhbF92YWx1ZSwgd2hpY2ggZG9lcyBleGFjdGx5IHRoZSBzYW1lIGFzCi0gICAgICAgIHRoaXMgbWV0aG9kIGV4Y2VwdCB0aGF0IGl0IGRvZXNuJ3QgcmFpc2UgSW5leGFjdCBvciBSb3VuZGVkLgotICAgICAgICAiIiIKLSAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbDoKLSAgICAgICAgICAgIGFucyA9IHNlbGYuX2NoZWNrX25hbnMoY29udGV4dD1jb250ZXh0KQotICAgICAgICAgICAgaWYgYW5zOgotICAgICAgICAgICAgICAgIHJldHVybiBhbnMKLSAgICAgICAgICAgIHJldHVybiBEZWNpbWFsKHNlbGYpCi0gICAgICAgIGlmIHNlbGYuX2V4cCA+PSAwOgotICAgICAgICAgICAgcmV0dXJuIERlY2ltYWwoc2VsZikKLSAgICAgICAgaWYgbm90IHNlbGY6Ci0gICAgICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZShzZWxmLl9zaWduLCAnMCcsIDApCi0gICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKLSAgICAgICAgaWYgcm91bmRpbmcgaXMgTm9uZToKLSAgICAgICAgICAgIHJvdW5kaW5nID0gY29udGV4dC5yb3VuZGluZwotICAgICAgICBhbnMgPSBzZWxmLl9yZXNjYWxlKDAsIHJvdW5kaW5nKQotICAgICAgICBpZiBhbnMgIT0gc2VsZjoKLSAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKEluZXhhY3QpCi0gICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKFJvdW5kZWQpCi0gICAgICAgIHJldHVybiBhbnMKLQotICAgIGRlZiB0b19pbnRlZ3JhbF92YWx1ZShzZWxmLCByb3VuZGluZz1Ob25lLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiJSb3VuZHMgdG8gdGhlIG5lYXJlc3QgaW50ZWdlciwgd2l0aG91dCByYWlzaW5nIGluZXhhY3QsIHJvdW5kZWQuIiIiCi0gICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKLSAgICAgICAgaWYgcm91bmRpbmcgaXMgTm9uZToKLSAgICAgICAgICAgIHJvdW5kaW5nID0gY29udGV4dC5yb3VuZGluZwotICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsOgotICAgICAgICAgICAgYW5zID0gc2VsZi5fY2hlY2tfbmFucyhjb250ZXh0PWNvbnRleHQpCi0gICAgICAgICAgICBpZiBhbnM6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGFucwotICAgICAgICAgICAgcmV0dXJuIERlY2ltYWwoc2VsZikKLSAgICAgICAgaWYgc2VsZi5fZXhwID49IDA6Ci0gICAgICAgICAgICByZXR1cm4gRGVjaW1hbChzZWxmKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3Jlc2NhbGUoMCwgcm91bmRpbmcpCi0KLSAgICAjIHRoZSBtZXRob2QgbmFtZSBjaGFuZ2VkLCBidXQgd2UgcHJvdmlkZSBhbHNvIHRoZSBvbGQgb25lLCBmb3IgY29tcGF0aWJpbGl0eQotICAgIHRvX2ludGVncmFsID0gdG9faW50ZWdyYWxfdmFsdWUKLQotICAgIGRlZiBzcXJ0KHNlbGYsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIlJldHVybiB0aGUgc3F1YXJlIHJvb3Qgb2Ygc2VsZi4iIiIKLSAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgotICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotCi0gICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWw6Ci0gICAgICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKGNvbnRleHQ9Y29udGV4dCkKLSAgICAgICAgICAgIGlmIGFuczoKLSAgICAgICAgICAgICAgICByZXR1cm4gYW5zCi0KLSAgICAgICAgICAgIGlmIHNlbGYuX2lzaW5maW5pdHkoKSBhbmQgc2VsZi5fc2lnbiA9PSAwOgotICAgICAgICAgICAgICAgIHJldHVybiBEZWNpbWFsKHNlbGYpCi0KLSAgICAgICAgaWYgbm90IHNlbGY6Ci0gICAgICAgICAgICAjIGV4cG9uZW50ID0gc2VsZi5fZXhwIC8vIDIuICBzcXJ0KC0wKSA9IC0wCi0gICAgICAgICAgICBhbnMgPSBfZGVjX2Zyb21fdHJpcGxlKHNlbGYuX3NpZ24sICcwJywgc2VsZi5fZXhwIC8vIDIpCi0gICAgICAgICAgICByZXR1cm4gYW5zLl9maXgoY29udGV4dCkKLQotICAgICAgICBpZiBzZWxmLl9zaWduID09IDE6Ci0gICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwgJ3NxcnQoLXgpLCB4ID4gMCcpCi0KLSAgICAgICAgIyBBdCB0aGlzIHBvaW50IHNlbGYgcmVwcmVzZW50cyBhIHBvc2l0aXZlIG51bWJlci4gIExldCBwIGJlCi0gICAgICAgICMgdGhlIGRlc2lyZWQgcHJlY2lzaW9uIGFuZCBleHByZXNzIHNlbGYgaW4gdGhlIGZvcm0gYyoxMDAqKmUKLSAgICAgICAgIyB3aXRoIGMgYSBwb3NpdGl2ZSByZWFsIG51bWJlciBhbmQgZSBhbiBpbnRlZ2VyLCBjIGFuZCBlCi0gICAgICAgICMgYmVpbmcgY2hvc2VuIHNvIHRoYXQgMTAwKioocC0xKSA8PSBjIDwgMTAwKipwLiAgVGhlbiB0aGUKLSAgICAgICAgIyAoZXhhY3QpIHNxdWFyZSByb290IG9mIHNlbGYgaXMgc3FydChjKSoxMCoqZSwgYW5kIDEwKioocC0xKQotICAgICAgICAjIDw9IHNxcnQoYykgPCAxMCoqcCwgc28gdGhlIGNsb3Nlc3QgcmVwcmVzZW50YWJsZSBEZWNpbWFsIGF0Ci0gICAgICAgICMgcHJlY2lzaW9uIHAgaXMgbioxMCoqZSB3aGVyZSBuID0gcm91bmRfaGFsZl9ldmVuKHNxcnQoYykpLAotICAgICAgICAjIHRoZSBjbG9zZXN0IGludGVnZXIgdG8gc3FydChjKSB3aXRoIHRoZSBldmVuIGludGVnZXIgY2hvc2VuCi0gICAgICAgICMgaW4gdGhlIGNhc2Ugb2YgYSB0aWUuCi0gICAgICAgICMKLSAgICAgICAgIyBUbyBlbnN1cmUgY29ycmVjdCByb3VuZGluZyBpbiBhbGwgY2FzZXMsIHdlIHVzZSB0aGUKLSAgICAgICAgIyBmb2xsb3dpbmcgdHJpY2s6IHdlIGNvbXB1dGUgdGhlIHNxdWFyZSByb290IHRvIGFuIGV4dHJhCi0gICAgICAgICMgcGxhY2UgKHByZWNpc2lvbiBwKzEgaW5zdGVhZCBvZiBwcmVjaXNpb24gcCksIHJvdW5kaW5nIGRvd24uCi0gICAgICAgICMgVGhlbiwgaWYgdGhlIHJlc3VsdCBpcyBpbmV4YWN0IGFuZCBpdHMgbGFzdCBkaWdpdCBpcyAwIG9yIDUsCi0gICAgICAgICMgd2UgaW5jcmVhc2UgdGhlIGxhc3QgZGlnaXQgdG8gMSBvciA2IHJlc3BlY3RpdmVseTsgaWYgaXQncwotICAgICAgICAjIGV4YWN0IHdlIGxlYXZlIHRoZSBsYXN0IGRpZ2l0IGFsb25lLiAgTm93IHRoZSBmaW5hbCByb3VuZCB0bwotICAgICAgICAjIHAgcGxhY2VzIChvciBmZXdlciBpbiB0aGUgY2FzZSBvZiB1bmRlcmZsb3cpIHdpbGwgcm91bmQKLSAgICAgICAgIyBjb3JyZWN0bHkgYW5kIHJhaXNlIHRoZSBhcHByb3ByaWF0ZSBmbGFncy4KLQotICAgICAgICAjIHVzZSBhbiBleHRyYSBkaWdpdCBvZiBwcmVjaXNpb24KLSAgICAgICAgcHJlYyA9IGNvbnRleHQucHJlYysxCi0KLSAgICAgICAgIyB3cml0ZSBhcmd1bWVudCBpbiB0aGUgZm9ybSBjKjEwMCoqZSB3aGVyZSBlID0gc2VsZi5fZXhwLy8yCi0gICAgICAgICMgaXMgdGhlICdpZGVhbCcgZXhwb25lbnQsIHRvIGJlIHVzZWQgaWYgdGhlIHNxdWFyZSByb290IGlzCi0gICAgICAgICMgZXhhY3RseSByZXByZXNlbnRhYmxlLiAgbCBpcyB0aGUgbnVtYmVyIG9mICdkaWdpdHMnIG9mIGMgaW4KLSAgICAgICAgIyBiYXNlIDEwMCwgc28gdGhhdCAxMDAqKihsLTEpIDw9IGMgPCAxMDAqKmwuCi0gICAgICAgIG9wID0gX1dvcmtSZXAoc2VsZikKLSAgICAgICAgZSA9IG9wLmV4cCA+PiAxCi0gICAgICAgIGlmIG9wLmV4cCAmIDE6Ci0gICAgICAgICAgICBjID0gb3AuaW50ICogMTAKLSAgICAgICAgICAgIGwgPSAobGVuKHNlbGYuX2ludCkgPj4gMSkgKyAxCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBjID0gb3AuaW50Ci0gICAgICAgICAgICBsID0gbGVuKHNlbGYuX2ludCkrMSA+PiAxCi0KLSAgICAgICAgIyByZXNjYWxlIHNvIHRoYXQgYyBoYXMgZXhhY3RseSBwcmVjIGJhc2UgMTAwICdkaWdpdHMnCi0gICAgICAgIHNoaWZ0ID0gcHJlYy1sCi0gICAgICAgIGlmIHNoaWZ0ID49IDA6Ci0gICAgICAgICAgICBjICo9IDEwMCoqc2hpZnQKLSAgICAgICAgICAgIGV4YWN0ID0gVHJ1ZQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgYywgcmVtYWluZGVyID0gZGl2bW9kKGMsIDEwMCoqLXNoaWZ0KQotICAgICAgICAgICAgZXhhY3QgPSBub3QgcmVtYWluZGVyCi0gICAgICAgIGUgLT0gc2hpZnQKLQotICAgICAgICAjIGZpbmQgbiA9IGZsb29yKHNxcnQoYykpIHVzaW5nIE5ld3RvbidzIG1ldGhvZAotICAgICAgICBuID0gMTAqKnByZWMKLSAgICAgICAgd2hpbGUgVHJ1ZToKLSAgICAgICAgICAgIHEgPSBjLy9uCi0gICAgICAgICAgICBpZiBuIDw9IHE6Ci0gICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgbiA9IG4gKyBxID4+IDEKLSAgICAgICAgZXhhY3QgPSBleGFjdCBhbmQgbipuID09IGMKLQotICAgICAgICBpZiBleGFjdDoKLSAgICAgICAgICAgICMgcmVzdWx0IGlzIGV4YWN0OyByZXNjYWxlIHRvIHVzZSBpZGVhbCBleHBvbmVudCBlCi0gICAgICAgICAgICBpZiBzaGlmdCA+PSAwOgotICAgICAgICAgICAgICAgICMgYXNzZXJ0IG4gJSAxMCoqc2hpZnQgPT0gMAotICAgICAgICAgICAgICAgIG4gLy89IDEwKipzaGlmdAotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBuICo9IDEwKiotc2hpZnQKLSAgICAgICAgICAgIGUgKz0gc2hpZnQKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgICMgcmVzdWx0IGlzIG5vdCBleGFjdDsgZml4IGxhc3QgZGlnaXQgYXMgZGVzY3JpYmVkIGFib3ZlCi0gICAgICAgICAgICBpZiBuICUgNSA9PSAwOgotICAgICAgICAgICAgICAgIG4gKz0gMQotCi0gICAgICAgIGFucyA9IF9kZWNfZnJvbV90cmlwbGUoMCwgc3RyKG4pLCBlKQotCi0gICAgICAgICMgcm91bmQsIGFuZCBmaXQgdG8gY3VycmVudCBjb250ZXh0Ci0gICAgICAgIGNvbnRleHQgPSBjb250ZXh0Ll9zaGFsbG93X2NvcHkoKQotICAgICAgICByb3VuZGluZyA9IGNvbnRleHQuX3NldF9yb3VuZGluZyhST1VORF9IQUxGX0VWRU4pCi0gICAgICAgIGFucyA9IGFucy5fZml4KGNvbnRleHQpCi0gICAgICAgIGNvbnRleHQucm91bmRpbmcgPSByb3VuZGluZwotCi0gICAgICAgIHJldHVybiBhbnMKLQotICAgIGRlZiBtYXgoc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIlJldHVybnMgdGhlIGxhcmdlciB2YWx1ZS4KLQotICAgICAgICBMaWtlIG1heChzZWxmLCBvdGhlcikgZXhjZXB0IGlmIG9uZSBpcyBub3QgYSBudW1iZXIsIHJldHVybnMKLSAgICAgICAgTmFOIChhbmQgc2lnbmFscyBpZiBvbmUgaXMgc05hTikuICBBbHNvIHJvdW5kcy4KLSAgICAgICAgIiIiCi0gICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIsIHJhaXNlaXQ9VHJ1ZSkKLQotICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6Ci0gICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCi0KLSAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbCBvciBvdGhlci5faXNfc3BlY2lhbDoKLSAgICAgICAgICAgICMgSWYgb25lIG9wZXJhbmQgaXMgYSBxdWlldCBOYU4gYW5kIHRoZSBvdGhlciBpcyBudW1iZXIsIHRoZW4gdGhlCi0gICAgICAgICAgICAjIG51bWJlciBpcyBhbHdheXMgcmV0dXJuZWQKLSAgICAgICAgICAgIHNuID0gc2VsZi5faXNuYW4oKQotICAgICAgICAgICAgb24gPSBvdGhlci5faXNuYW4oKQotICAgICAgICAgICAgaWYgc24gb3Igb246Ci0gICAgICAgICAgICAgICAgaWYgb24gPT0gMSBhbmQgc24gPT0gMDoKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2ZpeChjb250ZXh0KQotICAgICAgICAgICAgICAgIGlmIHNuID09IDEgYW5kIG9uID09IDA6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBvdGhlci5fZml4KGNvbnRleHQpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2NoZWNrX25hbnMob3RoZXIsIGNvbnRleHQpCi0KLSAgICAgICAgYyA9IHNlbGYuX2NtcChvdGhlcikKLSAgICAgICAgaWYgYyA9PSAwOgotICAgICAgICAgICAgIyBJZiBib3RoIG9wZXJhbmRzIGFyZSBmaW5pdGUgYW5kIGVxdWFsIGluIG51bWVyaWNhbCB2YWx1ZQotICAgICAgICAgICAgIyB0aGVuIGFuIG9yZGVyaW5nIGlzIGFwcGxpZWQ6Ci0gICAgICAgICAgICAjCi0gICAgICAgICAgICAjIElmIHRoZSBzaWducyBkaWZmZXIgdGhlbiBtYXggcmV0dXJucyB0aGUgb3BlcmFuZCB3aXRoIHRoZQotICAgICAgICAgICAgIyBwb3NpdGl2ZSBzaWduIGFuZCBtaW4gcmV0dXJucyB0aGUgb3BlcmFuZCB3aXRoIHRoZSBuZWdhdGl2ZSBzaWduCi0gICAgICAgICAgICAjCi0gICAgICAgICAgICAjIElmIHRoZSBzaWducyBhcmUgdGhlIHNhbWUgdGhlbiB0aGUgZXhwb25lbnQgaXMgdXNlZCB0byBzZWxlY3QKLSAgICAgICAgICAgICMgdGhlIHJlc3VsdC4gIFRoaXMgaXMgZXhhY3RseSB0aGUgb3JkZXJpbmcgdXNlZCBpbiBjb21wYXJlX3RvdGFsLgotICAgICAgICAgICAgYyA9IHNlbGYuY29tcGFyZV90b3RhbChvdGhlcikKLQotICAgICAgICBpZiBjID09IC0xOgotICAgICAgICAgICAgYW5zID0gb3RoZXIKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGFucyA9IHNlbGYKLQotICAgICAgICByZXR1cm4gYW5zLl9maXgoY29udGV4dCkKLQotICAgIGRlZiBtaW4oc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIlJldHVybnMgdGhlIHNtYWxsZXIgdmFsdWUuCi0KLSAgICAgICAgTGlrZSBtaW4oc2VsZiwgb3RoZXIpIGV4Y2VwdCBpZiBvbmUgaXMgbm90IGEgbnVtYmVyLCByZXR1cm5zCi0gICAgICAgIE5hTiAoYW5kIHNpZ25hbHMgaWYgb25lIGlzIHNOYU4pLiAgQWxzbyByb3VuZHMuCi0gICAgICAgICIiIgotICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyLCByYWlzZWl0PVRydWUpCi0KLSAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgotICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotCi0gICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWwgb3Igb3RoZXIuX2lzX3NwZWNpYWw6Ci0gICAgICAgICAgICAjIElmIG9uZSBvcGVyYW5kIGlzIGEgcXVpZXQgTmFOIGFuZCB0aGUgb3RoZXIgaXMgbnVtYmVyLCB0aGVuIHRoZQotICAgICAgICAgICAgIyBudW1iZXIgaXMgYWx3YXlzIHJldHVybmVkCi0gICAgICAgICAgICBzbiA9IHNlbGYuX2lzbmFuKCkKLSAgICAgICAgICAgIG9uID0gb3RoZXIuX2lzbmFuKCkKLSAgICAgICAgICAgIGlmIHNuIG9yIG9uOgotICAgICAgICAgICAgICAgIGlmIG9uID09IDEgYW5kIHNuID09IDA6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLl9maXgoY29udGV4dCkKLSAgICAgICAgICAgICAgICBpZiBzbiA9PSAxIGFuZCBvbiA9PSAwOgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3RoZXIuX2ZpeChjb250ZXh0KQotICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLl9jaGVja19uYW5zKG90aGVyLCBjb250ZXh0KQotCi0gICAgICAgIGMgPSBzZWxmLl9jbXAob3RoZXIpCi0gICAgICAgIGlmIGMgPT0gMDoKLSAgICAgICAgICAgIGMgPSBzZWxmLmNvbXBhcmVfdG90YWwob3RoZXIpCi0KLSAgICAgICAgaWYgYyA9PSAtMToKLSAgICAgICAgICAgIGFucyA9IHNlbGYKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGFucyA9IG90aGVyCi0KLSAgICAgICAgcmV0dXJuIGFucy5fZml4KGNvbnRleHQpCi0KLSAgICBkZWYgX2lzaW50ZWdlcihzZWxmKToKLSAgICAgICAgIiIiUmV0dXJucyB3aGV0aGVyIHNlbGYgaXMgYW4gaW50ZWdlciIiIgotICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsOgotICAgICAgICAgICAgcmV0dXJuIEZhbHNlCi0gICAgICAgIGlmIHNlbGYuX2V4cCA+PSAwOgotICAgICAgICAgICAgcmV0dXJuIFRydWUKLSAgICAgICAgcmVzdCA9IHNlbGYuX2ludFtzZWxmLl9leHA6XQotICAgICAgICByZXR1cm4gcmVzdCA9PSAnMCcqbGVuKHJlc3QpCi0KLSAgICBkZWYgX2lzZXZlbihzZWxmKToKLSAgICAgICAgIiIiUmV0dXJucyBUcnVlIGlmIHNlbGYgaXMgZXZlbi4gIEFzc3VtZXMgc2VsZiBpcyBhbiBpbnRlZ2VyLiIiIgotICAgICAgICBpZiBub3Qgc2VsZiBvciBzZWxmLl9leHAgPiAwOgotICAgICAgICAgICAgcmV0dXJuIFRydWUKLSAgICAgICAgcmV0dXJuIHNlbGYuX2ludFstMStzZWxmLl9leHBdIGluICcwMjQ2OCcKLQotICAgIGRlZiBhZGp1c3RlZChzZWxmKToKLSAgICAgICAgIiIiUmV0dXJuIHRoZSBhZGp1c3RlZCBleHBvbmVudCBvZiBzZWxmIiIiCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHJldHVybiBzZWxmLl9leHAgKyBsZW4oc2VsZi5faW50KSAtIDEKLSAgICAgICAgIyBJZiBOYU4gb3IgSW5maW5pdHksIHNlbGYuX2V4cCBpcyBzdHJpbmcKLSAgICAgICAgZXhjZXB0IFR5cGVFcnJvcjoKLSAgICAgICAgICAgIHJldHVybiAwCi0KLSAgICBkZWYgY2Fub25pY2FsKHNlbGYpOgotICAgICAgICAiIiJSZXR1cm5zIHRoZSBzYW1lIERlY2ltYWwgb2JqZWN0LgotCi0gICAgICAgIEFzIHdlIGRvIG5vdCBoYXZlIGRpZmZlcmVudCBlbmNvZGluZ3MgZm9yIHRoZSBzYW1lIG51bWJlciwgdGhlCi0gICAgICAgIHJlY2VpdmVkIG9iamVjdCBhbHJlYWR5IGlzIGluIGl0cyBjYW5vbmljYWwgZm9ybS4KLSAgICAgICAgIiIiCi0gICAgICAgIHJldHVybiBzZWxmCi0KLSAgICBkZWYgY29tcGFyZV9zaWduYWwoc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIkNvbXBhcmVzIHNlbGYgdG8gdGhlIG90aGVyIG9wZXJhbmQgbnVtZXJpY2FsbHkuCi0KLSAgICAgICAgSXQncyBwcmV0dHkgbXVjaCBsaWtlIGNvbXBhcmUoKSwgYnV0IGFsbCBOYU5zIHNpZ25hbCwgd2l0aCBzaWduYWxpbmcKLSAgICAgICAgTmFOcyB0YWtpbmcgcHJlY2VkZW5jZSBvdmVyIHF1aWV0IE5hTnMuCi0gICAgICAgICIiIgotICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyLCByYWlzZWl0ID0gVHJ1ZSkKLSAgICAgICAgYW5zID0gc2VsZi5fY29tcGFyZV9jaGVja19uYW5zKG90aGVyLCBjb250ZXh0KQotICAgICAgICBpZiBhbnM6Ci0gICAgICAgICAgICByZXR1cm4gYW5zCi0gICAgICAgIHJldHVybiBzZWxmLmNvbXBhcmUob3RoZXIsIGNvbnRleHQ9Y29udGV4dCkKLQotICAgIGRlZiBjb21wYXJlX3RvdGFsKHNlbGYsIG90aGVyLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiJDb21wYXJlcyBzZWxmIHRvIG90aGVyIHVzaW5nIHRoZSBhYnN0cmFjdCByZXByZXNlbnRhdGlvbnMuCi0KLSAgICAgICAgVGhpcyBpcyBub3QgbGlrZSB0aGUgc3RhbmRhcmQgY29tcGFyZSwgd2hpY2ggdXNlIHRoZWlyIG51bWVyaWNhbAotICAgICAgICB2YWx1ZS4gTm90ZSB0aGF0IGEgdG90YWwgb3JkZXJpbmcgaXMgZGVmaW5lZCBmb3IgYWxsIHBvc3NpYmxlIGFic3RyYWN0Ci0gICAgICAgIHJlcHJlc2VudGF0aW9ucy4KLSAgICAgICAgIiIiCi0gICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIsIHJhaXNlaXQ9VHJ1ZSkKLQotICAgICAgICAjIGlmIG9uZSBpcyBuZWdhdGl2ZSBhbmQgdGhlIG90aGVyIGlzIHBvc2l0aXZlLCBpdCdzIGVhc3kKLSAgICAgICAgaWYgc2VsZi5fc2lnbiBhbmQgbm90IG90aGVyLl9zaWduOgotICAgICAgICAgICAgcmV0dXJuIF9OZWdhdGl2ZU9uZQotICAgICAgICBpZiBub3Qgc2VsZi5fc2lnbiBhbmQgb3RoZXIuX3NpZ246Ci0gICAgICAgICAgICByZXR1cm4gX09uZQotICAgICAgICBzaWduID0gc2VsZi5fc2lnbgotCi0gICAgICAgICMgbGV0J3MgaGFuZGxlIGJvdGggTmFOIHR5cGVzCi0gICAgICAgIHNlbGZfbmFuID0gc2VsZi5faXNuYW4oKQotICAgICAgICBvdGhlcl9uYW4gPSBvdGhlci5faXNuYW4oKQotICAgICAgICBpZiBzZWxmX25hbiBvciBvdGhlcl9uYW46Ci0gICAgICAgICAgICBpZiBzZWxmX25hbiA9PSBvdGhlcl9uYW46Ci0gICAgICAgICAgICAgICAgIyBjb21wYXJlIHBheWxvYWRzIGFzIHRob3VnaCB0aGV5J3JlIGludGVnZXJzCi0gICAgICAgICAgICAgICAgc2VsZl9rZXkgPSBsZW4oc2VsZi5faW50KSwgc2VsZi5faW50Ci0gICAgICAgICAgICAgICAgb3RoZXJfa2V5ID0gbGVuKG90aGVyLl9pbnQpLCBvdGhlci5faW50Ci0gICAgICAgICAgICAgICAgaWYgc2VsZl9rZXkgPCBvdGhlcl9rZXk6Ci0gICAgICAgICAgICAgICAgICAgIGlmIHNpZ246Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX09uZQotICAgICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9OZWdhdGl2ZU9uZQotICAgICAgICAgICAgICAgIGlmIHNlbGZfa2V5ID4gb3RoZXJfa2V5OgotICAgICAgICAgICAgICAgICAgICBpZiBzaWduOgotICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9OZWdhdGl2ZU9uZQotICAgICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9PbmUKLSAgICAgICAgICAgICAgICByZXR1cm4gX1plcm8KLQotICAgICAgICAgICAgaWYgc2lnbjoKLSAgICAgICAgICAgICAgICBpZiBzZWxmX25hbiA9PSAxOgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gX05lZ2F0aXZlT25lCi0gICAgICAgICAgICAgICAgaWYgb3RoZXJfbmFuID09IDE6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBfT25lCi0gICAgICAgICAgICAgICAgaWYgc2VsZl9uYW4gPT0gMjoKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9OZWdhdGl2ZU9uZQotICAgICAgICAgICAgICAgIGlmIG90aGVyX25hbiA9PSAyOgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gX09uZQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBpZiBzZWxmX25hbiA9PSAxOgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gX09uZQotICAgICAgICAgICAgICAgIGlmIG90aGVyX25hbiA9PSAxOgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gX05lZ2F0aXZlT25lCi0gICAgICAgICAgICAgICAgaWYgc2VsZl9uYW4gPT0gMjoKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9PbmUKLSAgICAgICAgICAgICAgICBpZiBvdGhlcl9uYW4gPT0gMjoKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9OZWdhdGl2ZU9uZQotCi0gICAgICAgIGlmIHNlbGYgPCBvdGhlcjoKLSAgICAgICAgICAgIHJldHVybiBfTmVnYXRpdmVPbmUKLSAgICAgICAgaWYgc2VsZiA+IG90aGVyOgotICAgICAgICAgICAgcmV0dXJuIF9PbmUKLQotICAgICAgICBpZiBzZWxmLl9leHAgPCBvdGhlci5fZXhwOgotICAgICAgICAgICAgaWYgc2lnbjoKLSAgICAgICAgICAgICAgICByZXR1cm4gX09uZQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICByZXR1cm4gX05lZ2F0aXZlT25lCi0gICAgICAgIGlmIHNlbGYuX2V4cCA+IG90aGVyLl9leHA6Ci0gICAgICAgICAgICBpZiBzaWduOgotICAgICAgICAgICAgICAgIHJldHVybiBfTmVnYXRpdmVPbmUKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIF9PbmUKLSAgICAgICAgcmV0dXJuIF9aZXJvCi0KLQotICAgIGRlZiBjb21wYXJlX3RvdGFsX21hZyhzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiQ29tcGFyZXMgc2VsZiB0byBvdGhlciB1c2luZyBhYnN0cmFjdCByZXByLiwgaWdub3Jpbmcgc2lnbi4KLQotICAgICAgICBMaWtlIGNvbXBhcmVfdG90YWwsIGJ1dCB3aXRoIG9wZXJhbmQncyBzaWduIGlnbm9yZWQgYW5kIGFzc3VtZWQgdG8gYmUgMC4KLSAgICAgICAgIiIiCi0gICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIsIHJhaXNlaXQ9VHJ1ZSkKLQotICAgICAgICBzID0gc2VsZi5jb3B5X2FicygpCi0gICAgICAgIG8gPSBvdGhlci5jb3B5X2FicygpCi0gICAgICAgIHJldHVybiBzLmNvbXBhcmVfdG90YWwobykKLQotICAgIGRlZiBjb3B5X2FicyhzZWxmKToKLSAgICAgICAgIiIiUmV0dXJucyBhIGNvcHkgd2l0aCB0aGUgc2lnbiBzZXQgdG8gMC4gIiIiCi0gICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKDAsIHNlbGYuX2ludCwgc2VsZi5fZXhwLCBzZWxmLl9pc19zcGVjaWFsKQotCi0gICAgZGVmIGNvcHlfbmVnYXRlKHNlbGYpOgotICAgICAgICAiIiJSZXR1cm5zIGEgY29weSB3aXRoIHRoZSBzaWduIGludmVydGVkLiIiIgotICAgICAgICBpZiBzZWxmLl9zaWduOgotICAgICAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUoMCwgc2VsZi5faW50LCBzZWxmLl9leHAsIHNlbGYuX2lzX3NwZWNpYWwpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZSgxLCBzZWxmLl9pbnQsIHNlbGYuX2V4cCwgc2VsZi5faXNfc3BlY2lhbCkKLQotICAgIGRlZiBjb3B5X3NpZ24oc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIlJldHVybnMgc2VsZiB3aXRoIHRoZSBzaWduIG9mIG90aGVyLiIiIgotICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyLCByYWlzZWl0PVRydWUpCi0gICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKG90aGVyLl9zaWduLCBzZWxmLl9pbnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2V4cCwgc2VsZi5faXNfc3BlY2lhbCkKLQotICAgIGRlZiBleHAoc2VsZiwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiUmV0dXJucyBlICoqIHNlbGYuIiIiCi0KLSAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgotICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotCi0gICAgICAgICMgZXhwKE5hTikgPSBOYU4KLSAgICAgICAgYW5zID0gc2VsZi5fY2hlY2tfbmFucyhjb250ZXh0PWNvbnRleHQpCi0gICAgICAgIGlmIGFuczoKLSAgICAgICAgICAgIHJldHVybiBhbnMKLQotICAgICAgICAjIGV4cCgtSW5maW5pdHkpID0gMAotICAgICAgICBpZiBzZWxmLl9pc2luZmluaXR5KCkgPT0gLTE6Ci0gICAgICAgICAgICByZXR1cm4gX1plcm8KLQotICAgICAgICAjIGV4cCgwKSA9IDEKLSAgICAgICAgaWYgbm90IHNlbGY6Ci0gICAgICAgICAgICByZXR1cm4gX09uZQotCi0gICAgICAgICMgZXhwKEluZmluaXR5KSA9IEluZmluaXR5Ci0gICAgICAgIGlmIHNlbGYuX2lzaW5maW5pdHkoKSA9PSAxOgotICAgICAgICAgICAgcmV0dXJuIERlY2ltYWwoc2VsZikKLQotICAgICAgICAjIHRoZSByZXN1bHQgaXMgbm93IGd1YXJhbnRlZWQgdG8gYmUgaW5leGFjdCAodGhlIHRydWUKLSAgICAgICAgIyBtYXRoZW1hdGljYWwgcmVzdWx0IGlzIHRyYW5zY2VuZGVudGFsKS4gVGhlcmUncyBubyBuZWVkIHRvCi0gICAgICAgICMgcmFpc2UgUm91bmRlZCBhbmQgSW5leGFjdCBoZXJlLS0tdGhleSdsbCBhbHdheXMgYmUgcmFpc2VkIGFzCi0gICAgICAgICMgYSByZXN1bHQgb2YgdGhlIGNhbGwgdG8gX2ZpeC4KLSAgICAgICAgcCA9IGNvbnRleHQucHJlYwotICAgICAgICBhZGogPSBzZWxmLmFkanVzdGVkKCkKLQotICAgICAgICAjIHdlIG9ubHkgbmVlZCB0byBkbyBhbnkgY29tcHV0YXRpb24gZm9yIHF1aXRlIGEgc21hbGwgcmFuZ2UKLSAgICAgICAgIyBvZiBhZGp1c3RlZCBleHBvbmVudHMtLS1mb3IgZXhhbXBsZSwgLTI5IDw9IGFkaiA8PSAxMCBmb3IKLSAgICAgICAgIyB0aGUgZGVmYXVsdCBjb250ZXh0LiAgRm9yIHNtYWxsZXIgZXhwb25lbnQgdGhlIHJlc3VsdCBpcwotICAgICAgICAjIGluZGlzdGluZ3Vpc2hhYmxlIGZyb20gMSBhdCB0aGUgZ2l2ZW4gcHJlY2lzaW9uLCB3aGlsZSBmb3IKLSAgICAgICAgIyBsYXJnZXIgZXhwb25lbnQgdGhlIHJlc3VsdCBlaXRoZXIgb3ZlcmZsb3dzIG9yIHVuZGVyZmxvd3MuCi0gICAgICAgIGlmIHNlbGYuX3NpZ24gPT0gMCBhbmQgYWRqID4gbGVuKHN0cigoY29udGV4dC5FbWF4KzEpKjMpKToKLSAgICAgICAgICAgICMgb3ZlcmZsb3cKLSAgICAgICAgICAgIGFucyA9IF9kZWNfZnJvbV90cmlwbGUoMCwgJzEnLCBjb250ZXh0LkVtYXgrMSkKLSAgICAgICAgZWxpZiBzZWxmLl9zaWduID09IDEgYW5kIGFkaiA+IGxlbihzdHIoKC1jb250ZXh0LkV0aW55KCkrMSkqMykpOgotICAgICAgICAgICAgIyB1bmRlcmZsb3cgdG8gMAotICAgICAgICAgICAgYW5zID0gX2RlY19mcm9tX3RyaXBsZSgwLCAnMScsIGNvbnRleHQuRXRpbnkoKS0xKQotICAgICAgICBlbGlmIHNlbGYuX3NpZ24gPT0gMCBhbmQgYWRqIDwgLXA6Ci0gICAgICAgICAgICAjIHArMSBkaWdpdHM7IGZpbmFsIHJvdW5kIHdpbGwgcmFpc2UgY29ycmVjdCBmbGFncwotICAgICAgICAgICAgYW5zID0gX2RlY19mcm9tX3RyaXBsZSgwLCAnMScgKyAnMCcqKHAtMSkgKyAnMScsIC1wKQotICAgICAgICBlbGlmIHNlbGYuX3NpZ24gPT0gMSBhbmQgYWRqIDwgLXAtMToKLSAgICAgICAgICAgICMgcCsxIGRpZ2l0czsgZmluYWwgcm91bmQgd2lsbCByYWlzZSBjb3JyZWN0IGZsYWdzCi0gICAgICAgICAgICBhbnMgPSBfZGVjX2Zyb21fdHJpcGxlKDAsICc5JyoocCsxKSwgLXAtMSkKLSAgICAgICAgIyBnZW5lcmFsIGNhc2UKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIG9wID0gX1dvcmtSZXAoc2VsZikKLSAgICAgICAgICAgIGMsIGUgPSBvcC5pbnQsIG9wLmV4cAotICAgICAgICAgICAgaWYgb3Auc2lnbiA9PSAxOgotICAgICAgICAgICAgICAgIGMgPSAtYwotCi0gICAgICAgICAgICAjIGNvbXB1dGUgY29ycmVjdGx5IHJvdW5kZWQgcmVzdWx0OiBpbmNyZWFzZSBwcmVjaXNpb24gYnkKLSAgICAgICAgICAgICMgMyBkaWdpdHMgYXQgYSB0aW1lIHVudGlsIHdlIGdldCBhbiB1bmFtYmlndW91c2x5Ci0gICAgICAgICAgICAjIHJvdW5kYWJsZSByZXN1bHQKLSAgICAgICAgICAgIGV4dHJhID0gMwotICAgICAgICAgICAgd2hpbGUgVHJ1ZToKLSAgICAgICAgICAgICAgICBjb2VmZiwgZXhwID0gX2RleHAoYywgZSwgcCtleHRyYSkKLSAgICAgICAgICAgICAgICBpZiBjb2VmZiAlICg1KjEwKioobGVuKHN0cihjb2VmZikpLXAtMSkpOgotICAgICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgICAgIGV4dHJhICs9IDMKLQotICAgICAgICAgICAgYW5zID0gX2RlY19mcm9tX3RyaXBsZSgwLCBzdHIoY29lZmYpLCBleHApCi0KLSAgICAgICAgIyBhdCB0aGlzIHN0YWdlLCBhbnMgc2hvdWxkIHJvdW5kIGNvcnJlY3RseSB3aXRoICphbnkqCi0gICAgICAgICMgcm91bmRpbmcgbW9kZSwgbm90IGp1c3Qgd2l0aCBST1VORF9IQUxGX0VWRU4KLSAgICAgICAgY29udGV4dCA9IGNvbnRleHQuX3NoYWxsb3dfY29weSgpCi0gICAgICAgIHJvdW5kaW5nID0gY29udGV4dC5fc2V0X3JvdW5kaW5nKFJPVU5EX0hBTEZfRVZFTikKLSAgICAgICAgYW5zID0gYW5zLl9maXgoY29udGV4dCkKLSAgICAgICAgY29udGV4dC5yb3VuZGluZyA9IHJvdW5kaW5nCi0KLSAgICAgICAgcmV0dXJuIGFucwotCi0gICAgZGVmIGlzX2Nhbm9uaWNhbChzZWxmKToKLSAgICAgICAgIiIiUmV0dXJuIFRydWUgaWYgc2VsZiBpcyBjYW5vbmljYWw7IG90aGVyd2lzZSByZXR1cm4gRmFsc2UuCi0KLSAgICAgICAgQ3VycmVudGx5LCB0aGUgZW5jb2Rpbmcgb2YgYSBEZWNpbWFsIGluc3RhbmNlIGlzIGFsd2F5cwotICAgICAgICBjYW5vbmljYWwsIHNvIHRoaXMgbWV0aG9kIHJldHVybnMgVHJ1ZSBmb3IgYW55IERlY2ltYWwuCi0gICAgICAgICIiIgotICAgICAgICByZXR1cm4gVHJ1ZQotCi0gICAgZGVmIGlzX2Zpbml0ZShzZWxmKToKLSAgICAgICAgIiIiUmV0dXJuIFRydWUgaWYgc2VsZiBpcyBmaW5pdGU7IG90aGVyd2lzZSByZXR1cm4gRmFsc2UuCi0KLSAgICAgICAgQSBEZWNpbWFsIGluc3RhbmNlIGlzIGNvbnNpZGVyZWQgZmluaXRlIGlmIGl0IGlzIG5laXRoZXIKLSAgICAgICAgaW5maW5pdGUgbm9yIGEgTmFOLgotICAgICAgICAiIiIKLSAgICAgICAgcmV0dXJuIG5vdCBzZWxmLl9pc19zcGVjaWFsCi0KLSAgICBkZWYgaXNfaW5maW5pdGUoc2VsZik6Ci0gICAgICAgICIiIlJldHVybiBUcnVlIGlmIHNlbGYgaXMgaW5maW5pdGU7IG90aGVyd2lzZSByZXR1cm4gRmFsc2UuIiIiCi0gICAgICAgIHJldHVybiBzZWxmLl9leHAgPT0gJ0YnCi0KLSAgICBkZWYgaXNfbmFuKHNlbGYpOgotICAgICAgICAiIiJSZXR1cm4gVHJ1ZSBpZiBzZWxmIGlzIGEgcU5hTiBvciBzTmFOOyBvdGhlcndpc2UgcmV0dXJuIEZhbHNlLiIiIgotICAgICAgICByZXR1cm4gc2VsZi5fZXhwIGluICgnbicsICdOJykKLQotICAgIGRlZiBpc19ub3JtYWwoc2VsZiwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiUmV0dXJuIFRydWUgaWYgc2VsZiBpcyBhIG5vcm1hbCBudW1iZXI7IG90aGVyd2lzZSByZXR1cm4gRmFsc2UuIiIiCi0gICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWwgb3Igbm90IHNlbGY6Ci0gICAgICAgICAgICByZXR1cm4gRmFsc2UKLSAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgotICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotICAgICAgICByZXR1cm4gY29udGV4dC5FbWluIDw9IHNlbGYuYWRqdXN0ZWQoKQotCi0gICAgZGVmIGlzX3FuYW4oc2VsZik6Ci0gICAgICAgICIiIlJldHVybiBUcnVlIGlmIHNlbGYgaXMgYSBxdWlldCBOYU47IG90aGVyd2lzZSByZXR1cm4gRmFsc2UuIiIiCi0gICAgICAgIHJldHVybiBzZWxmLl9leHAgPT0gJ24nCi0KLSAgICBkZWYgaXNfc2lnbmVkKHNlbGYpOgotICAgICAgICAiIiJSZXR1cm4gVHJ1ZSBpZiBzZWxmIGlzIG5lZ2F0aXZlOyBvdGhlcndpc2UgcmV0dXJuIEZhbHNlLiIiIgotICAgICAgICByZXR1cm4gc2VsZi5fc2lnbiA9PSAxCi0KLSAgICBkZWYgaXNfc25hbihzZWxmKToKLSAgICAgICAgIiIiUmV0dXJuIFRydWUgaWYgc2VsZiBpcyBhIHNpZ25hbGluZyBOYU47IG90aGVyd2lzZSByZXR1cm4gRmFsc2UuIiIiCi0gICAgICAgIHJldHVybiBzZWxmLl9leHAgPT0gJ04nCi0KLSAgICBkZWYgaXNfc3Vibm9ybWFsKHNlbGYsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIlJldHVybiBUcnVlIGlmIHNlbGYgaXMgc3Vibm9ybWFsOyBvdGhlcndpc2UgcmV0dXJuIEZhbHNlLiIiIgotICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsIG9yIG5vdCBzZWxmOgotICAgICAgICAgICAgcmV0dXJuIEZhbHNlCi0gICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKLSAgICAgICAgcmV0dXJuIHNlbGYuYWRqdXN0ZWQoKSA8IGNvbnRleHQuRW1pbgotCi0gICAgZGVmIGlzX3plcm8oc2VsZik6Ci0gICAgICAgICIiIlJldHVybiBUcnVlIGlmIHNlbGYgaXMgYSB6ZXJvOyBvdGhlcndpc2UgcmV0dXJuIEZhbHNlLiIiIgotICAgICAgICByZXR1cm4gbm90IHNlbGYuX2lzX3NwZWNpYWwgYW5kIHNlbGYuX2ludCA9PSAnMCcKLQotICAgIGRlZiBfbG5fZXhwX2JvdW5kKHNlbGYpOgotICAgICAgICAiIiJDb21wdXRlIGEgbG93ZXIgYm91bmQgZm9yIHRoZSBhZGp1c3RlZCBleHBvbmVudCBvZiBzZWxmLmxuKCkuCi0gICAgICAgIEluIG90aGVyIHdvcmRzLCBjb21wdXRlIHIgc3VjaCB0aGF0IHNlbGYubG4oKSA+PSAxMCoqci4gIEFzc3VtZXMKLSAgICAgICAgdGhhdCBzZWxmIGlzIGZpbml0ZSBhbmQgcG9zaXRpdmUgYW5kIHRoYXQgc2VsZiAhPSAxLgotICAgICAgICAiIiIKLQotICAgICAgICAjIGZvciAwLjEgPD0geCA8PSAxMCB3ZSB1c2UgdGhlIGluZXF1YWxpdGllcyAxLTEveCA8PSBsbih4KSA8PSB4LTEKLSAgICAgICAgYWRqID0gc2VsZi5fZXhwICsgbGVuKHNlbGYuX2ludCkgLSAxCi0gICAgICAgIGlmIGFkaiA+PSAxOgotICAgICAgICAgICAgIyBhcmd1bWVudCA+PSAxMDsgd2UgdXNlIDIzLzEwID0gMi4zIGFzIGEgbG93ZXIgYm91bmQgZm9yIGxuKDEwKQotICAgICAgICAgICAgcmV0dXJuIGxlbihzdHIoYWRqKjIzLy8xMCkpIC0gMQotICAgICAgICBpZiBhZGogPD0gLTI6Ci0gICAgICAgICAgICAjIGFyZ3VtZW50IDw9IDAuMQotICAgICAgICAgICAgcmV0dXJuIGxlbihzdHIoKC0xLWFkaikqMjMvLzEwKSkgLSAxCi0gICAgICAgIG9wID0gX1dvcmtSZXAoc2VsZikKLSAgICAgICAgYywgZSA9IG9wLmludCwgb3AuZXhwCi0gICAgICAgIGlmIGFkaiA9PSAwOgotICAgICAgICAgICAgIyAxIDwgc2VsZiA8IDEwCi0gICAgICAgICAgICBudW0gPSBzdHIoYy0xMCoqLWUpCi0gICAgICAgICAgICBkZW4gPSBzdHIoYykKLSAgICAgICAgICAgIHJldHVybiBsZW4obnVtKSAtIGxlbihkZW4pIC0gKG51bSA8IGRlbikKLSAgICAgICAgIyBhZGogPT0gLTEsIDAuMSA8PSBzZWxmIDwgMQotICAgICAgICByZXR1cm4gZSArIGxlbihzdHIoMTAqKi1lIC0gYykpIC0gMQotCi0KLSAgICBkZWYgbG4oc2VsZiwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiUmV0dXJucyB0aGUgbmF0dXJhbCAoYmFzZSBlKSBsb2dhcml0aG0gb2Ygc2VsZi4iIiIKLQotICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6Ci0gICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCi0KLSAgICAgICAgIyBsbihOYU4pID0gTmFOCi0gICAgICAgIGFucyA9IHNlbGYuX2NoZWNrX25hbnMoY29udGV4dD1jb250ZXh0KQotICAgICAgICBpZiBhbnM6Ci0gICAgICAgICAgICByZXR1cm4gYW5zCi0KLSAgICAgICAgIyBsbigwLjApID09IC1JbmZpbml0eQotICAgICAgICBpZiBub3Qgc2VsZjoKLSAgICAgICAgICAgIHJldHVybiBfTmVnYXRpdmVJbmZpbml0eQotCi0gICAgICAgICMgbG4oSW5maW5pdHkpID0gSW5maW5pdHkKLSAgICAgICAgaWYgc2VsZi5faXNpbmZpbml0eSgpID09IDE6Ci0gICAgICAgICAgICByZXR1cm4gX0luZmluaXR5Ci0KLSAgICAgICAgIyBsbigxLjApID09IDAuMAotICAgICAgICBpZiBzZWxmID09IF9PbmU6Ci0gICAgICAgICAgICByZXR1cm4gX1plcm8KLQotICAgICAgICAjIGxuKG5lZ2F0aXZlKSByYWlzZXMgSW52YWxpZE9wZXJhdGlvbgotICAgICAgICBpZiBzZWxmLl9zaWduID09IDE6Ci0gICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbG4gb2YgYSBuZWdhdGl2ZSB2YWx1ZScpCi0KLSAgICAgICAgIyByZXN1bHQgaXMgaXJyYXRpb25hbCwgc28gbmVjZXNzYXJpbHkgaW5leGFjdAotICAgICAgICBvcCA9IF9Xb3JrUmVwKHNlbGYpCi0gICAgICAgIGMsIGUgPSBvcC5pbnQsIG9wLmV4cAotICAgICAgICBwID0gY29udGV4dC5wcmVjCi0KLSAgICAgICAgIyBjb3JyZWN0bHkgcm91bmRlZCByZXN1bHQ6IHJlcGVhdGVkbHkgaW5jcmVhc2UgcHJlY2lzaW9uIGJ5IDMKLSAgICAgICAgIyB1bnRpbCB3ZSBnZXQgYW4gdW5hbWJpZ3VvdXNseSByb3VuZGFibGUgcmVzdWx0Ci0gICAgICAgIHBsYWNlcyA9IHAgLSBzZWxmLl9sbl9leHBfYm91bmQoKSArIDIgIyBhdCBsZWFzdCBwKzMgcGxhY2VzCi0gICAgICAgIHdoaWxlIFRydWU6Ci0gICAgICAgICAgICBjb2VmZiA9IF9kbG9nKGMsIGUsIHBsYWNlcykKLSAgICAgICAgICAgICMgYXNzZXJ0IGxlbihzdHIoYWJzKGNvZWZmKSkpLXAgPj0gMQotICAgICAgICAgICAgaWYgY29lZmYgJSAoNSoxMCoqKGxlbihzdHIoYWJzKGNvZWZmKSkpLXAtMSkpOgotICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICBwbGFjZXMgKz0gMwotICAgICAgICBhbnMgPSBfZGVjX2Zyb21fdHJpcGxlKGludChjb2VmZjwwKSwgc3RyKGFicyhjb2VmZikpLCAtcGxhY2VzKQotCi0gICAgICAgIGNvbnRleHQgPSBjb250ZXh0Ll9zaGFsbG93X2NvcHkoKQotICAgICAgICByb3VuZGluZyA9IGNvbnRleHQuX3NldF9yb3VuZGluZyhST1VORF9IQUxGX0VWRU4pCi0gICAgICAgIGFucyA9IGFucy5fZml4KGNvbnRleHQpCi0gICAgICAgIGNvbnRleHQucm91bmRpbmcgPSByb3VuZGluZwotICAgICAgICByZXR1cm4gYW5zCi0KLSAgICBkZWYgX2xvZzEwX2V4cF9ib3VuZChzZWxmKToKLSAgICAgICAgIiIiQ29tcHV0ZSBhIGxvd2VyIGJvdW5kIGZvciB0aGUgYWRqdXN0ZWQgZXhwb25lbnQgb2Ygc2VsZi5sb2cxMCgpLgotICAgICAgICBJbiBvdGhlciB3b3JkcywgZmluZCByIHN1Y2ggdGhhdCBzZWxmLmxvZzEwKCkgPj0gMTAqKnIuCi0gICAgICAgIEFzc3VtZXMgdGhhdCBzZWxmIGlzIGZpbml0ZSBhbmQgcG9zaXRpdmUgYW5kIHRoYXQgc2VsZiAhPSAxLgotICAgICAgICAiIiIKLQotICAgICAgICAjIEZvciB4ID49IDEwIG9yIHggPCAwLjEgd2Ugb25seSBuZWVkIGEgYm91bmQgb24gdGhlIGludGVnZXIKLSAgICAgICAgIyBwYXJ0IG9mIGxvZzEwKHNlbGYpLCBhbmQgdGhpcyBjb21lcyBkaXJlY3RseSBmcm9tIHRoZQotICAgICAgICAjIGV4cG9uZW50IG9mIHguICBGb3IgMC4xIDw9IHggPD0gMTAgd2UgdXNlIHRoZSBpbmVxdWFsaXRpZXMKLSAgICAgICAgIyAxLTEveCA8PSBsb2coeCkgPD0geC0xLiBJZiB4ID4gMSB3ZSBoYXZlIHxsb2cxMCh4KXwgPgotICAgICAgICAjICgxLTEveCkvMi4zMSA+IDAuICBJZiB4IDwgMSB0aGVuIHxsb2cxMCh4KXwgPiAoMS14KS8yLjMxID4gMAotCi0gICAgICAgIGFkaiA9IHNlbGYuX2V4cCArIGxlbihzZWxmLl9pbnQpIC0gMQotICAgICAgICBpZiBhZGogPj0gMToKLSAgICAgICAgICAgICMgc2VsZiA+PSAxMAotICAgICAgICAgICAgcmV0dXJuIGxlbihzdHIoYWRqKSktMQotICAgICAgICBpZiBhZGogPD0gLTI6Ci0gICAgICAgICAgICAjIHNlbGYgPCAwLjEKLSAgICAgICAgICAgIHJldHVybiBsZW4oc3RyKC0xLWFkaikpLTEKLSAgICAgICAgb3AgPSBfV29ya1JlcChzZWxmKQotICAgICAgICBjLCBlID0gb3AuaW50LCBvcC5leHAKLSAgICAgICAgaWYgYWRqID09IDA6Ci0gICAgICAgICAgICAjIDEgPCBzZWxmIDwgMTAKLSAgICAgICAgICAgIG51bSA9IHN0cihjLTEwKiotZSkKLSAgICAgICAgICAgIGRlbiA9IHN0cigyMzEqYykKLSAgICAgICAgICAgIHJldHVybiBsZW4obnVtKSAtIGxlbihkZW4pIC0gKG51bSA8IGRlbikgKyAyCi0gICAgICAgICMgYWRqID09IC0xLCAwLjEgPD0gc2VsZiA8IDEKLSAgICAgICAgbnVtID0gc3RyKDEwKiotZS1jKQotICAgICAgICByZXR1cm4gbGVuKG51bSkgKyBlIC0gKG51bSA8ICIyMzEiKSAtIDEKLQotICAgIGRlZiBsb2cxMChzZWxmLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiJSZXR1cm5zIHRoZSBiYXNlIDEwIGxvZ2FyaXRobSBvZiBzZWxmLiIiIgotCi0gICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKLQotICAgICAgICAjIGxvZzEwKE5hTikgPSBOYU4KLSAgICAgICAgYW5zID0gc2VsZi5fY2hlY2tfbmFucyhjb250ZXh0PWNvbnRleHQpCi0gICAgICAgIGlmIGFuczoKLSAgICAgICAgICAgIHJldHVybiBhbnMKLQotICAgICAgICAjIGxvZzEwKDAuMCkgPT0gLUluZmluaXR5Ci0gICAgICAgIGlmIG5vdCBzZWxmOgotICAgICAgICAgICAgcmV0dXJuIF9OZWdhdGl2ZUluZmluaXR5Ci0KLSAgICAgICAgIyBsb2cxMChJbmZpbml0eSkgPSBJbmZpbml0eQotICAgICAgICBpZiBzZWxmLl9pc2luZmluaXR5KCkgPT0gMToKLSAgICAgICAgICAgIHJldHVybiBfSW5maW5pdHkKLQotICAgICAgICAjIGxvZzEwKG5lZ2F0aXZlIG9yIC1JbmZpbml0eSkgcmFpc2VzIEludmFsaWRPcGVyYXRpb24KLSAgICAgICAgaWYgc2VsZi5fc2lnbiA9PSAxOgotICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2xvZzEwIG9mIGEgbmVnYXRpdmUgdmFsdWUnKQotCi0gICAgICAgICMgbG9nMTAoMTAqKm4pID0gbgotICAgICAgICBpZiBzZWxmLl9pbnRbMF0gPT0gJzEnIGFuZCBzZWxmLl9pbnRbMTpdID09ICcwJyoobGVuKHNlbGYuX2ludCkgLSAxKToKLSAgICAgICAgICAgICMgYW5zd2VyIG1heSBuZWVkIHJvdW5kaW5nCi0gICAgICAgICAgICBhbnMgPSBEZWNpbWFsKHNlbGYuX2V4cCArIGxlbihzZWxmLl9pbnQpIC0gMSkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgICMgcmVzdWx0IGlzIGlycmF0aW9uYWwsIHNvIG5lY2Vzc2FyaWx5IGluZXhhY3QKLSAgICAgICAgICAgIG9wID0gX1dvcmtSZXAoc2VsZikKLSAgICAgICAgICAgIGMsIGUgPSBvcC5pbnQsIG9wLmV4cAotICAgICAgICAgICAgcCA9IGNvbnRleHQucHJlYwotCi0gICAgICAgICAgICAjIGNvcnJlY3RseSByb3VuZGVkIHJlc3VsdDogcmVwZWF0ZWRseSBpbmNyZWFzZSBwcmVjaXNpb24KLSAgICAgICAgICAgICMgdW50aWwgcmVzdWx0IGlzIHVuYW1iaWd1b3VzbHkgcm91bmRhYmxlCi0gICAgICAgICAgICBwbGFjZXMgPSBwLXNlbGYuX2xvZzEwX2V4cF9ib3VuZCgpKzIKLSAgICAgICAgICAgIHdoaWxlIFRydWU6Ci0gICAgICAgICAgICAgICAgY29lZmYgPSBfZGxvZzEwKGMsIGUsIHBsYWNlcykKLSAgICAgICAgICAgICAgICAjIGFzc2VydCBsZW4oc3RyKGFicyhjb2VmZikpKS1wID49IDEKLSAgICAgICAgICAgICAgICBpZiBjb2VmZiAlICg1KjEwKioobGVuKHN0cihhYnMoY29lZmYpKSktcC0xKSk6Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICAgICAgcGxhY2VzICs9IDMKLSAgICAgICAgICAgIGFucyA9IF9kZWNfZnJvbV90cmlwbGUoaW50KGNvZWZmPDApLCBzdHIoYWJzKGNvZWZmKSksIC1wbGFjZXMpCi0KLSAgICAgICAgY29udGV4dCA9IGNvbnRleHQuX3NoYWxsb3dfY29weSgpCi0gICAgICAgIHJvdW5kaW5nID0gY29udGV4dC5fc2V0X3JvdW5kaW5nKFJPVU5EX0hBTEZfRVZFTikKLSAgICAgICAgYW5zID0gYW5zLl9maXgoY29udGV4dCkKLSAgICAgICAgY29udGV4dC5yb3VuZGluZyA9IHJvdW5kaW5nCi0gICAgICAgIHJldHVybiBhbnMKLQotICAgIGRlZiBsb2diKHNlbGYsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIiBSZXR1cm5zIHRoZSBleHBvbmVudCBvZiB0aGUgbWFnbml0dWRlIG9mIHNlbGYncyBNU0QuCi0KLSAgICAgICAgVGhlIHJlc3VsdCBpcyB0aGUgaW50ZWdlciB3aGljaCBpcyB0aGUgZXhwb25lbnQgb2YgdGhlIG1hZ25pdHVkZQotICAgICAgICBvZiB0aGUgbW9zdCBzaWduaWZpY2FudCBkaWdpdCBvZiBzZWxmIChhcyB0aG91Z2ggaXQgd2VyZSB0cnVuY2F0ZWQKLSAgICAgICAgdG8gYSBzaW5nbGUgZGlnaXQgd2hpbGUgbWFpbnRhaW5pbmcgdGhlIHZhbHVlIG9mIHRoYXQgZGlnaXQgYW5kCi0gICAgICAgIHdpdGhvdXQgbGltaXRpbmcgdGhlIHJlc3VsdGluZyBleHBvbmVudCkuCi0gICAgICAgICIiIgotICAgICAgICAjIGxvZ2IoTmFOKSA9IE5hTgotICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKGNvbnRleHQ9Y29udGV4dCkKLSAgICAgICAgaWYgYW5zOgotICAgICAgICAgICAgcmV0dXJuIGFucwotCi0gICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKLQotICAgICAgICAjIGxvZ2IoKy8tSW5mKSA9ICtJbmYKLSAgICAgICAgaWYgc2VsZi5faXNpbmZpbml0eSgpOgotICAgICAgICAgICAgcmV0dXJuIF9JbmZpbml0eQotCi0gICAgICAgICMgbG9nYigwKSA9IC1JbmYsIERpdmlzaW9uQnlaZXJvCi0gICAgICAgIGlmIG5vdCBzZWxmOgotICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKERpdmlzaW9uQnlaZXJvLCAnbG9nYigwKScsIDEpCi0KLSAgICAgICAgIyBvdGhlcndpc2UsIHNpbXBseSByZXR1cm4gdGhlIGFkanVzdGVkIGV4cG9uZW50IG9mIHNlbGYsIGFzIGEKLSAgICAgICAgIyBEZWNpbWFsLiAgTm90ZSB0aGF0IG5vIGF0dGVtcHQgaXMgbWFkZSB0byBmaXQgdGhlIHJlc3VsdAotICAgICAgICAjIGludG8gdGhlIGN1cnJlbnQgY29udGV4dC4KLSAgICAgICAgYW5zID0gRGVjaW1hbChzZWxmLmFkanVzdGVkKCkpCi0gICAgICAgIHJldHVybiBhbnMuX2ZpeChjb250ZXh0KQotCi0gICAgZGVmIF9pc2xvZ2ljYWwoc2VsZik6Ci0gICAgICAgICIiIlJldHVybiBUcnVlIGlmIHNlbGYgaXMgYSBsb2dpY2FsIG9wZXJhbmQuCi0KLSAgICAgICAgRm9yIGJlaW5nIGxvZ2ljYWwsIGl0IG11c3QgYmUgYSBmaW5pdGUgbnVtYmVyIHdpdGggYSBzaWduIG9mIDAsCi0gICAgICAgIGFuIGV4cG9uZW50IG9mIDAsIGFuZCBhIGNvZWZmaWNpZW50IHdob3NlIGRpZ2l0cyBtdXN0IGFsbCBiZQotICAgICAgICBlaXRoZXIgMCBvciAxLgotICAgICAgICAiIiIKLSAgICAgICAgaWYgc2VsZi5fc2lnbiAhPSAwIG9yIHNlbGYuX2V4cCAhPSAwOgotICAgICAgICAgICAgcmV0dXJuIEZhbHNlCi0gICAgICAgIGZvciBkaWcgaW4gc2VsZi5faW50OgotICAgICAgICAgICAgaWYgZGlnIG5vdCBpbiAnMDEnOgotICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQotICAgICAgICByZXR1cm4gVHJ1ZQotCi0gICAgZGVmIF9maWxsX2xvZ2ljYWwoc2VsZiwgY29udGV4dCwgb3BhLCBvcGIpOgotICAgICAgICBkaWYgPSBjb250ZXh0LnByZWMgLSBsZW4ob3BhKQotICAgICAgICBpZiBkaWYgPiAwOgotICAgICAgICAgICAgb3BhID0gJzAnKmRpZiArIG9wYQotICAgICAgICBlbGlmIGRpZiA8IDA6Ci0gICAgICAgICAgICBvcGEgPSBvcGFbLWNvbnRleHQucHJlYzpdCi0gICAgICAgIGRpZiA9IGNvbnRleHQucHJlYyAtIGxlbihvcGIpCi0gICAgICAgIGlmIGRpZiA+IDA6Ci0gICAgICAgICAgICBvcGIgPSAnMCcqZGlmICsgb3BiCi0gICAgICAgIGVsaWYgZGlmIDwgMDoKLSAgICAgICAgICAgIG9wYiA9IG9wYlstY29udGV4dC5wcmVjOl0KLSAgICAgICAgcmV0dXJuIG9wYSwgb3BiCi0KLSAgICBkZWYgbG9naWNhbF9hbmQoc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIkFwcGxpZXMgYW4gJ2FuZCcgb3BlcmF0aW9uIGJldHdlZW4gc2VsZiBhbmQgb3RoZXIncyBkaWdpdHMuIiIiCi0gICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKLQotICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyLCByYWlzZWl0PVRydWUpCi0KLSAgICAgICAgaWYgbm90IHNlbGYuX2lzbG9naWNhbCgpIG9yIG5vdCBvdGhlci5faXNsb2dpY2FsKCk6Ci0gICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbikKLQotICAgICAgICAjIGZpbGwgdG8gY29udGV4dC5wcmVjCi0gICAgICAgIChvcGEsIG9wYikgPSBzZWxmLl9maWxsX2xvZ2ljYWwoY29udGV4dCwgc2VsZi5faW50LCBvdGhlci5faW50KQotCi0gICAgICAgICMgbWFrZSB0aGUgb3BlcmF0aW9uLCBhbmQgY2xlYW4gc3RhcnRpbmcgemVyb2VzCi0gICAgICAgIHJlc3VsdCA9ICIiLmpvaW4oW3N0cihpbnQoYSkmaW50KGIpKSBmb3IgYSxiIGluIHppcChvcGEsb3BiKV0pCi0gICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKDAsIHJlc3VsdC5sc3RyaXAoJzAnKSBvciAnMCcsIDApCi0KLSAgICBkZWYgbG9naWNhbF9pbnZlcnQoc2VsZiwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiSW52ZXJ0IGFsbCBpdHMgZGlnaXRzLiIiIgotICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6Ci0gICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCi0gICAgICAgIHJldHVybiBzZWxmLmxvZ2ljYWxfeG9yKF9kZWNfZnJvbV90cmlwbGUoMCwnMScqY29udGV4dC5wcmVjLDApLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0KQotCi0gICAgZGVmIGxvZ2ljYWxfb3Ioc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIkFwcGxpZXMgYW4gJ29yJyBvcGVyYXRpb24gYmV0d2VlbiBzZWxmIGFuZCBvdGhlcidzIGRpZ2l0cy4iIiIKLSAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgotICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotCi0gICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIsIHJhaXNlaXQ9VHJ1ZSkKLQotICAgICAgICBpZiBub3Qgc2VsZi5faXNsb2dpY2FsKCkgb3Igbm90IG90aGVyLl9pc2xvZ2ljYWwoKToKLSAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uKQotCi0gICAgICAgICMgZmlsbCB0byBjb250ZXh0LnByZWMKLSAgICAgICAgKG9wYSwgb3BiKSA9IHNlbGYuX2ZpbGxfbG9naWNhbChjb250ZXh0LCBzZWxmLl9pbnQsIG90aGVyLl9pbnQpCi0KLSAgICAgICAgIyBtYWtlIHRoZSBvcGVyYXRpb24sIGFuZCBjbGVhbiBzdGFydGluZyB6ZXJvZXMKLSAgICAgICAgcmVzdWx0ID0gIiIuam9pbihbc3RyKGludChhKXxpbnQoYikpIGZvciBhLGIgaW4gemlwKG9wYSxvcGIpXSkKLSAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUoMCwgcmVzdWx0LmxzdHJpcCgnMCcpIG9yICcwJywgMCkKLQotICAgIGRlZiBsb2dpY2FsX3hvcihzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiQXBwbGllcyBhbiAneG9yJyBvcGVyYXRpb24gYmV0d2VlbiBzZWxmIGFuZCBvdGhlcidzIGRpZ2l0cy4iIiIKLSAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgotICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotCi0gICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIsIHJhaXNlaXQ9VHJ1ZSkKLQotICAgICAgICBpZiBub3Qgc2VsZi5faXNsb2dpY2FsKCkgb3Igbm90IG90aGVyLl9pc2xvZ2ljYWwoKToKLSAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uKQotCi0gICAgICAgICMgZmlsbCB0byBjb250ZXh0LnByZWMKLSAgICAgICAgKG9wYSwgb3BiKSA9IHNlbGYuX2ZpbGxfbG9naWNhbChjb250ZXh0LCBzZWxmLl9pbnQsIG90aGVyLl9pbnQpCi0KLSAgICAgICAgIyBtYWtlIHRoZSBvcGVyYXRpb24sIGFuZCBjbGVhbiBzdGFydGluZyB6ZXJvZXMKLSAgICAgICAgcmVzdWx0ID0gIiIuam9pbihbc3RyKGludChhKV5pbnQoYikpIGZvciBhLGIgaW4gemlwKG9wYSxvcGIpXSkKLSAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUoMCwgcmVzdWx0LmxzdHJpcCgnMCcpIG9yICcwJywgMCkKLQotICAgIGRlZiBtYXhfbWFnKHNlbGYsIG90aGVyLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiJDb21wYXJlcyB0aGUgdmFsdWVzIG51bWVyaWNhbGx5IHdpdGggdGhlaXIgc2lnbiBpZ25vcmVkLiIiIgotICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyLCByYWlzZWl0PVRydWUpCi0KLSAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgotICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotCi0gICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWwgb3Igb3RoZXIuX2lzX3NwZWNpYWw6Ci0gICAgICAgICAgICAjIElmIG9uZSBvcGVyYW5kIGlzIGEgcXVpZXQgTmFOIGFuZCB0aGUgb3RoZXIgaXMgbnVtYmVyLCB0aGVuIHRoZQotICAgICAgICAgICAgIyBudW1iZXIgaXMgYWx3YXlzIHJldHVybmVkCi0gICAgICAgICAgICBzbiA9IHNlbGYuX2lzbmFuKCkKLSAgICAgICAgICAgIG9uID0gb3RoZXIuX2lzbmFuKCkKLSAgICAgICAgICAgIGlmIHNuIG9yIG9uOgotICAgICAgICAgICAgICAgIGlmIG9uID09IDEgYW5kIHNuID09IDA6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLl9maXgoY29udGV4dCkKLSAgICAgICAgICAgICAgICBpZiBzbiA9PSAxIGFuZCBvbiA9PSAwOgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3RoZXIuX2ZpeChjb250ZXh0KQotICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLl9jaGVja19uYW5zKG90aGVyLCBjb250ZXh0KQotCi0gICAgICAgIGMgPSBzZWxmLmNvcHlfYWJzKCkuX2NtcChvdGhlci5jb3B5X2FicygpKQotICAgICAgICBpZiBjID09IDA6Ci0gICAgICAgICAgICBjID0gc2VsZi5jb21wYXJlX3RvdGFsKG90aGVyKQotCi0gICAgICAgIGlmIGMgPT0gLTE6Ci0gICAgICAgICAgICBhbnMgPSBvdGhlcgotICAgICAgICBlbHNlOgotICAgICAgICAgICAgYW5zID0gc2VsZgotCi0gICAgICAgIHJldHVybiBhbnMuX2ZpeChjb250ZXh0KQotCi0gICAgZGVmIG1pbl9tYWcoc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIkNvbXBhcmVzIHRoZSB2YWx1ZXMgbnVtZXJpY2FsbHkgd2l0aCB0aGVpciBzaWduIGlnbm9yZWQuIiIiCi0gICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIsIHJhaXNlaXQ9VHJ1ZSkKLQotICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6Ci0gICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCi0KLSAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbCBvciBvdGhlci5faXNfc3BlY2lhbDoKLSAgICAgICAgICAgICMgSWYgb25lIG9wZXJhbmQgaXMgYSBxdWlldCBOYU4gYW5kIHRoZSBvdGhlciBpcyBudW1iZXIsIHRoZW4gdGhlCi0gICAgICAgICAgICAjIG51bWJlciBpcyBhbHdheXMgcmV0dXJuZWQKLSAgICAgICAgICAgIHNuID0gc2VsZi5faXNuYW4oKQotICAgICAgICAgICAgb24gPSBvdGhlci5faXNuYW4oKQotICAgICAgICAgICAgaWYgc24gb3Igb246Ci0gICAgICAgICAgICAgICAgaWYgb24gPT0gMSBhbmQgc24gPT0gMDoKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2ZpeChjb250ZXh0KQotICAgICAgICAgICAgICAgIGlmIHNuID09IDEgYW5kIG9uID09IDA6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBvdGhlci5fZml4KGNvbnRleHQpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2NoZWNrX25hbnMob3RoZXIsIGNvbnRleHQpCi0KLSAgICAgICAgYyA9IHNlbGYuY29weV9hYnMoKS5fY21wKG90aGVyLmNvcHlfYWJzKCkpCi0gICAgICAgIGlmIGMgPT0gMDoKLSAgICAgICAgICAgIGMgPSBzZWxmLmNvbXBhcmVfdG90YWwob3RoZXIpCi0KLSAgICAgICAgaWYgYyA9PSAtMToKLSAgICAgICAgICAgIGFucyA9IHNlbGYKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGFucyA9IG90aGVyCi0KLSAgICAgICAgcmV0dXJuIGFucy5fZml4KGNvbnRleHQpCi0KLSAgICBkZWYgbmV4dF9taW51cyhzZWxmLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiJSZXR1cm5zIHRoZSBsYXJnZXN0IHJlcHJlc2VudGFibGUgbnVtYmVyIHNtYWxsZXIgdGhhbiBpdHNlbGYuIiIiCi0gICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKLQotICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKGNvbnRleHQ9Y29udGV4dCkKLSAgICAgICAgaWYgYW5zOgotICAgICAgICAgICAgcmV0dXJuIGFucwotCi0gICAgICAgIGlmIHNlbGYuX2lzaW5maW5pdHkoKSA9PSAtMToKLSAgICAgICAgICAgIHJldHVybiBfTmVnYXRpdmVJbmZpbml0eQotICAgICAgICBpZiBzZWxmLl9pc2luZmluaXR5KCkgPT0gMToKLSAgICAgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKDAsICc5Jypjb250ZXh0LnByZWMsIGNvbnRleHQuRXRvcCgpKQotCi0gICAgICAgIGNvbnRleHQgPSBjb250ZXh0LmNvcHkoKQotICAgICAgICBjb250ZXh0Ll9zZXRfcm91bmRpbmcoUk9VTkRfRkxPT1IpCi0gICAgICAgIGNvbnRleHQuX2lnbm9yZV9hbGxfZmxhZ3MoKQotICAgICAgICBuZXdfc2VsZiA9IHNlbGYuX2ZpeChjb250ZXh0KQotICAgICAgICBpZiBuZXdfc2VsZiAhPSBzZWxmOgotICAgICAgICAgICAgcmV0dXJuIG5ld19zZWxmCi0gICAgICAgIHJldHVybiBzZWxmLl9fc3ViX18oX2RlY19mcm9tX3RyaXBsZSgwLCAnMScsIGNvbnRleHQuRXRpbnkoKS0xKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0KQotCi0gICAgZGVmIG5leHRfcGx1cyhzZWxmLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiJSZXR1cm5zIHRoZSBzbWFsbGVzdCByZXByZXNlbnRhYmxlIG51bWJlciBsYXJnZXIgdGhhbiBpdHNlbGYuIiIiCi0gICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKLQotICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKGNvbnRleHQ9Y29udGV4dCkKLSAgICAgICAgaWYgYW5zOgotICAgICAgICAgICAgcmV0dXJuIGFucwotCi0gICAgICAgIGlmIHNlbGYuX2lzaW5maW5pdHkoKSA9PSAxOgotICAgICAgICAgICAgcmV0dXJuIF9JbmZpbml0eQotICAgICAgICBpZiBzZWxmLl9pc2luZmluaXR5KCkgPT0gLTE6Ci0gICAgICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZSgxLCAnOScqY29udGV4dC5wcmVjLCBjb250ZXh0LkV0b3AoKSkKLQotICAgICAgICBjb250ZXh0ID0gY29udGV4dC5jb3B5KCkKLSAgICAgICAgY29udGV4dC5fc2V0X3JvdW5kaW5nKFJPVU5EX0NFSUxJTkcpCi0gICAgICAgIGNvbnRleHQuX2lnbm9yZV9hbGxfZmxhZ3MoKQotICAgICAgICBuZXdfc2VsZiA9IHNlbGYuX2ZpeChjb250ZXh0KQotICAgICAgICBpZiBuZXdfc2VsZiAhPSBzZWxmOgotICAgICAgICAgICAgcmV0dXJuIG5ld19zZWxmCi0gICAgICAgIHJldHVybiBzZWxmLl9fYWRkX18oX2RlY19mcm9tX3RyaXBsZSgwLCAnMScsIGNvbnRleHQuRXRpbnkoKS0xKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0KQotCi0gICAgZGVmIG5leHRfdG93YXJkKHNlbGYsIG90aGVyLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiJSZXR1cm5zIHRoZSBudW1iZXIgY2xvc2VzdCB0byBzZWxmLCBpbiB0aGUgZGlyZWN0aW9uIHRvd2FyZHMgb3RoZXIuCi0KLSAgICAgICAgVGhlIHJlc3VsdCBpcyB0aGUgY2xvc2VzdCByZXByZXNlbnRhYmxlIG51bWJlciB0byBzZWxmCi0gICAgICAgIChleGNsdWRpbmcgc2VsZikgdGhhdCBpcyBpbiB0aGUgZGlyZWN0aW9uIHRvd2FyZHMgb3RoZXIsCi0gICAgICAgIHVubGVzcyBib3RoIGhhdmUgdGhlIHNhbWUgdmFsdWUuICBJZiB0aGUgdHdvIG9wZXJhbmRzIGFyZQotICAgICAgICBudW1lcmljYWxseSBlcXVhbCwgdGhlbiB0aGUgcmVzdWx0IGlzIGEgY29weSBvZiBzZWxmIHdpdGggdGhlCi0gICAgICAgIHNpZ24gc2V0IHRvIGJlIHRoZSBzYW1lIGFzIHRoZSBzaWduIG9mIG90aGVyLgotICAgICAgICAiIiIKLSAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlciwgcmFpc2VpdD1UcnVlKQotCi0gICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKLQotICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKG90aGVyLCBjb250ZXh0KQotICAgICAgICBpZiBhbnM6Ci0gICAgICAgICAgICByZXR1cm4gYW5zCi0KLSAgICAgICAgY29tcGFyaXNvbiA9IHNlbGYuX2NtcChvdGhlcikKLSAgICAgICAgaWYgY29tcGFyaXNvbiA9PSAwOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuY29weV9zaWduKG90aGVyKQotCi0gICAgICAgIGlmIGNvbXBhcmlzb24gPT0gLTE6Ci0gICAgICAgICAgICBhbnMgPSBzZWxmLm5leHRfcGx1cyhjb250ZXh0KQotICAgICAgICBlbHNlOiAjIGNvbXBhcmlzb24gPT0gMQotICAgICAgICAgICAgYW5zID0gc2VsZi5uZXh0X21pbnVzKGNvbnRleHQpCi0KLSAgICAgICAgIyBkZWNpZGUgd2hpY2ggZmxhZ3MgdG8gcmFpc2UgdXNpbmcgdmFsdWUgb2YgYW5zCi0gICAgICAgIGlmIGFucy5faXNpbmZpbml0eSgpOgotICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoT3ZlcmZsb3csCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5maW5pdGUgcmVzdWx0IGZyb20gbmV4dF90b3dhcmQnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5zLl9zaWduKQotICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoSW5leGFjdCkKLSAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKFJvdW5kZWQpCi0gICAgICAgIGVsaWYgYW5zLmFkanVzdGVkKCkgPCBjb250ZXh0LkVtaW46Ci0gICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihVbmRlcmZsb3cpCi0gICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihTdWJub3JtYWwpCi0gICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbmV4YWN0KQotICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoUm91bmRlZCkKLSAgICAgICAgICAgICMgaWYgcHJlY2lzaW9uID09IDEgdGhlbiB3ZSBkb24ndCByYWlzZSBDbGFtcGVkIGZvciBhCi0gICAgICAgICAgICAjIHJlc3VsdCAwRS1FdGlueS4KLSAgICAgICAgICAgIGlmIG5vdCBhbnM6Ci0gICAgICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoQ2xhbXBlZCkKLQotICAgICAgICByZXR1cm4gYW5zCi0KLSAgICBkZWYgbnVtYmVyX2NsYXNzKHNlbGYsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIlJldHVybnMgYW4gaW5kaWNhdGlvbiBvZiB0aGUgY2xhc3Mgb2Ygc2VsZi4KLQotICAgICAgICBUaGUgY2xhc3MgaXMgb25lIG9mIHRoZSBmb2xsb3dpbmcgc3RyaW5nczoKLSAgICAgICAgICBzTmFOCi0gICAgICAgICAgTmFOCi0gICAgICAgICAgLUluZmluaXR5Ci0gICAgICAgICAgLU5vcm1hbAotICAgICAgICAgIC1TdWJub3JtYWwKLSAgICAgICAgICAtWmVybwotICAgICAgICAgICtaZXJvCi0gICAgICAgICAgK1N1Ym5vcm1hbAotICAgICAgICAgICtOb3JtYWwKLSAgICAgICAgICArSW5maW5pdHkKLSAgICAgICAgIiIiCi0gICAgICAgIGlmIHNlbGYuaXNfc25hbigpOgotICAgICAgICAgICAgcmV0dXJuICJzTmFOIgotICAgICAgICBpZiBzZWxmLmlzX3FuYW4oKToKLSAgICAgICAgICAgIHJldHVybiAiTmFOIgotICAgICAgICBpbmYgPSBzZWxmLl9pc2luZmluaXR5KCkKLSAgICAgICAgaWYgaW5mID09IDE6Ci0gICAgICAgICAgICByZXR1cm4gIitJbmZpbml0eSIKLSAgICAgICAgaWYgaW5mID09IC0xOgotICAgICAgICAgICAgcmV0dXJuICItSW5maW5pdHkiCi0gICAgICAgIGlmIHNlbGYuaXNfemVybygpOgotICAgICAgICAgICAgaWYgc2VsZi5fc2lnbjoKLSAgICAgICAgICAgICAgICByZXR1cm4gIi1aZXJvIgotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICByZXR1cm4gIitaZXJvIgotICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6Ci0gICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCi0gICAgICAgIGlmIHNlbGYuaXNfc3Vibm9ybWFsKGNvbnRleHQ9Y29udGV4dCk6Ci0gICAgICAgICAgICBpZiBzZWxmLl9zaWduOgotICAgICAgICAgICAgICAgIHJldHVybiAiLVN1Ym5vcm1hbCIKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmV0dXJuICIrU3Vibm9ybWFsIgotICAgICAgICAjIGp1c3QgYSBub3JtYWwsIHJlZ3VsYXIsIGJvcmluZyBudW1iZXIsIDopCi0gICAgICAgIGlmIHNlbGYuX3NpZ246Ci0gICAgICAgICAgICByZXR1cm4gIi1Ob3JtYWwiCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gIitOb3JtYWwiCi0KLSAgICBkZWYgcmFkaXgoc2VsZik6Ci0gICAgICAgICIiIkp1c3QgcmV0dXJucyAxMCwgYXMgdGhpcyBpcyBEZWNpbWFsLCA6KSIiIgotICAgICAgICByZXR1cm4gRGVjaW1hbCgxMCkKLQotICAgIGRlZiByb3RhdGUoc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIlJldHVybnMgYSByb3RhdGVkIGNvcHkgb2Ygc2VsZiwgdmFsdWUtb2Ytb3RoZXIgdGltZXMuIiIiCi0gICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKLQotICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyLCByYWlzZWl0PVRydWUpCi0KLSAgICAgICAgYW5zID0gc2VsZi5fY2hlY2tfbmFucyhvdGhlciwgY29udGV4dCkKLSAgICAgICAgaWYgYW5zOgotICAgICAgICAgICAgcmV0dXJuIGFucwotCi0gICAgICAgIGlmIG90aGVyLl9leHAgIT0gMDoKLSAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uKQotICAgICAgICBpZiBub3QgKC1jb250ZXh0LnByZWMgPD0gaW50KG90aGVyKSA8PSBjb250ZXh0LnByZWMpOgotICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24pCi0KLSAgICAgICAgaWYgc2VsZi5faXNpbmZpbml0eSgpOgotICAgICAgICAgICAgcmV0dXJuIERlY2ltYWwoc2VsZikKLQotICAgICAgICAjIGdldCB2YWx1ZXMsIHBhZCBpZiBuZWNlc3NhcnkKLSAgICAgICAgdG9yb3QgPSBpbnQob3RoZXIpCi0gICAgICAgIHJvdGRpZyA9IHNlbGYuX2ludAotICAgICAgICB0b3BhZCA9IGNvbnRleHQucHJlYyAtIGxlbihyb3RkaWcpCi0gICAgICAgIGlmIHRvcGFkID4gMDoKLSAgICAgICAgICAgIHJvdGRpZyA9ICcwJyp0b3BhZCArIHJvdGRpZwotICAgICAgICBlbGlmIHRvcGFkIDwgMDoKLSAgICAgICAgICAgIHJvdGRpZyA9IHJvdGRpZ1stdG9wYWQ6XQotCi0gICAgICAgICMgbGV0J3Mgcm90YXRlIQotICAgICAgICByb3RhdGVkID0gcm90ZGlnW3Rvcm90Ol0gKyByb3RkaWdbOnRvcm90XQotICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZShzZWxmLl9zaWduLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3RhdGVkLmxzdHJpcCgnMCcpIG9yICcwJywgc2VsZi5fZXhwKQotCi0gICAgZGVmIHNjYWxlYihzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiUmV0dXJucyBzZWxmIG9wZXJhbmQgYWZ0ZXIgYWRkaW5nIHRoZSBzZWNvbmQgdmFsdWUgdG8gaXRzIGV4cC4iIiIKLSAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgotICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotCi0gICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIsIHJhaXNlaXQ9VHJ1ZSkKLQotICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKG90aGVyLCBjb250ZXh0KQotICAgICAgICBpZiBhbnM6Ci0gICAgICAgICAgICByZXR1cm4gYW5zCi0KLSAgICAgICAgaWYgb3RoZXIuX2V4cCAhPSAwOgotICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24pCi0gICAgICAgIGxpbWluZiA9IC0yICogKGNvbnRleHQuRW1heCArIGNvbnRleHQucHJlYykKLSAgICAgICAgbGltc3VwID0gIDIgKiAoY29udGV4dC5FbWF4ICsgY29udGV4dC5wcmVjKQotICAgICAgICBpZiBub3QgKGxpbWluZiA8PSBpbnQob3RoZXIpIDw9IGxpbXN1cCk6Ci0gICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbikKLQotICAgICAgICBpZiBzZWxmLl9pc2luZmluaXR5KCk6Ci0gICAgICAgICAgICByZXR1cm4gRGVjaW1hbChzZWxmKQotCi0gICAgICAgIGQgPSBfZGVjX2Zyb21fdHJpcGxlKHNlbGYuX3NpZ24sIHNlbGYuX2ludCwgc2VsZi5fZXhwICsgaW50KG90aGVyKSkKLSAgICAgICAgZCA9IGQuX2ZpeChjb250ZXh0KQotICAgICAgICByZXR1cm4gZAotCi0gICAgZGVmIHNoaWZ0KHNlbGYsIG90aGVyLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiJSZXR1cm5zIGEgc2hpZnRlZCBjb3B5IG9mIHNlbGYsIHZhbHVlLW9mLW90aGVyIHRpbWVzLiIiIgotICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6Ci0gICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCi0KLSAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlciwgcmFpc2VpdD1UcnVlKQotCi0gICAgICAgIGFucyA9IHNlbGYuX2NoZWNrX25hbnMob3RoZXIsIGNvbnRleHQpCi0gICAgICAgIGlmIGFuczoKLSAgICAgICAgICAgIHJldHVybiBhbnMKLQotICAgICAgICBpZiBvdGhlci5fZXhwICE9IDA6Ci0gICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbikKLSAgICAgICAgaWYgbm90ICgtY29udGV4dC5wcmVjIDw9IGludChvdGhlcikgPD0gY29udGV4dC5wcmVjKToKLSAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uKQotCi0gICAgICAgIGlmIHNlbGYuX2lzaW5maW5pdHkoKToKLSAgICAgICAgICAgIHJldHVybiBEZWNpbWFsKHNlbGYpCi0KLSAgICAgICAgIyBnZXQgdmFsdWVzLCBwYWQgaWYgbmVjZXNzYXJ5Ci0gICAgICAgIHRvcm90ID0gaW50KG90aGVyKQotICAgICAgICByb3RkaWcgPSBzZWxmLl9pbnQKLSAgICAgICAgdG9wYWQgPSBjb250ZXh0LnByZWMgLSBsZW4ocm90ZGlnKQotICAgICAgICBpZiB0b3BhZCA+IDA6Ci0gICAgICAgICAgICByb3RkaWcgPSAnMCcqdG9wYWQgKyByb3RkaWcKLSAgICAgICAgZWxpZiB0b3BhZCA8IDA6Ci0gICAgICAgICAgICByb3RkaWcgPSByb3RkaWdbLXRvcGFkOl0KLQotICAgICAgICAjIGxldCdzIHNoaWZ0IQotICAgICAgICBpZiB0b3JvdCA8IDA6Ci0gICAgICAgICAgICBzaGlmdGVkID0gcm90ZGlnWzp0b3JvdF0KLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNoaWZ0ZWQgPSByb3RkaWcgKyAnMCcqdG9yb3QKLSAgICAgICAgICAgIHNoaWZ0ZWQgPSBzaGlmdGVkWy1jb250ZXh0LnByZWM6XQotCi0gICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKHNlbGYuX3NpZ24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGlmdGVkLmxzdHJpcCgnMCcpIG9yICcwJywgc2VsZi5fZXhwKQotCi0gICAgIyBTdXBwb3J0IGZvciBwaWNrbGluZywgY29weSwgYW5kIGRlZXBjb3B5Ci0gICAgZGVmIF9fcmVkdWNlX18oc2VsZik6Ci0gICAgICAgIHJldHVybiAoc2VsZi5fX2NsYXNzX18sIChzdHIoc2VsZiksKSkKLQotICAgIGRlZiBfX2NvcHlfXyhzZWxmKToKLSAgICAgICAgaWYgdHlwZShzZWxmKSBpcyBEZWNpbWFsOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYgICAgICMgSSdtIGltbXV0YWJsZTsgdGhlcmVmb3JlIEkgYW0gbXkgb3duIGNsb25lCi0gICAgICAgIHJldHVybiBzZWxmLl9fY2xhc3NfXyhzdHIoc2VsZikpCi0KLSAgICBkZWYgX19kZWVwY29weV9fKHNlbGYsIG1lbW8pOgotICAgICAgICBpZiB0eXBlKHNlbGYpIGlzIERlY2ltYWw6Ci0gICAgICAgICAgICByZXR1cm4gc2VsZiAgICAgIyBNeSBjb21wb25lbnRzIGFyZSBhbHNvIGltbXV0YWJsZQotICAgICAgICByZXR1cm4gc2VsZi5fX2NsYXNzX18oc3RyKHNlbGYpKQotCi0gICAgIyBQRVAgMzEwMSBzdXBwb3J0LiAgdGhlIF9sb2NhbGVjb252IGtleXdvcmQgYXJndW1lbnQgc2hvdWxkIGJlCi0gICAgIyBjb25zaWRlcmVkIHByaXZhdGU6IGl0J3MgcHJvdmlkZWQgZm9yIGVhc2Ugb2YgdGVzdGluZyBvbmx5LgotICAgIGRlZiBfX2Zvcm1hdF9fKHNlbGYsIHNwZWNpZmllciwgY29udGV4dD1Ob25lLCBfbG9jYWxlY29udj1Ob25lKToKLSAgICAgICAgIiIiRm9ybWF0IGEgRGVjaW1hbCBpbnN0YW5jZSBhY2NvcmRpbmcgdG8gdGhlIGdpdmVuIHNwZWNpZmllci4KLQotICAgICAgICBUaGUgc3BlY2lmaWVyIHNob3VsZCBiZSBhIHN0YW5kYXJkIGZvcm1hdCBzcGVjaWZpZXIsIHdpdGggdGhlCi0gICAgICAgIGZvcm0gZGVzY3JpYmVkIGluIFBFUCAzMTAxLiAgRm9ybWF0dGluZyB0eXBlcyAnZScsICdFJywgJ2YnLAotICAgICAgICAnRicsICdnJywgJ0cnLCAnbicgYW5kICclJyBhcmUgc3VwcG9ydGVkLiAgSWYgdGhlIGZvcm1hdHRpbmcKLSAgICAgICAgdHlwZSBpcyBvbWl0dGVkIGl0IGRlZmF1bHRzIHRvICdnJyBvciAnRycsIGRlcGVuZGluZyBvbiB0aGUKLSAgICAgICAgdmFsdWUgb2YgY29udGV4dC5jYXBpdGFscy4KLSAgICAgICAgIiIiCi0KLSAgICAgICAgIyBOb3RlOiBQRVAgMzEwMSBzYXlzIHRoYXQgaWYgdGhlIHR5cGUgaXMgbm90IHByZXNlbnQgdGhlbgotICAgICAgICAjIHRoZXJlIHNob3VsZCBiZSBhdCBsZWFzdCBvbmUgZGlnaXQgYWZ0ZXIgdGhlIGRlY2ltYWwgcG9pbnQuCi0gICAgICAgICMgV2UgdGFrZSB0aGUgbGliZXJ0eSBvZiBpZ25vcmluZyB0aGlzIHJlcXVpcmVtZW50IGZvcgotICAgICAgICAjIERlY2ltYWwtLS1pdCdzIHByZXN1bWFibHkgdGhlcmUgdG8gbWFrZSBzdXJlIHRoYXQKLSAgICAgICAgIyBmb3JtYXQoZmxvYXQsICcnKSBiZWhhdmVzIHNpbWlsYXJseSB0byBzdHIoZmxvYXQpLgotICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6Ci0gICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCi0KLSAgICAgICAgc3BlYyA9IF9wYXJzZV9mb3JtYXRfc3BlY2lmaWVyKHNwZWNpZmllciwgX2xvY2FsZWNvbnY9X2xvY2FsZWNvbnYpCi0KLSAgICAgICAgIyBzcGVjaWFsIHZhbHVlcyBkb24ndCBjYXJlIGFib3V0IHRoZSB0eXBlIG9yIHByZWNpc2lvbgotICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsOgotICAgICAgICAgICAgc2lnbiA9IF9mb3JtYXRfc2lnbihzZWxmLl9zaWduLCBzcGVjKQotICAgICAgICAgICAgYm9keSA9IHN0cihzZWxmLmNvcHlfYWJzKCkpCi0gICAgICAgICAgICBpZiBzcGVjWyd0eXBlJ10gPT0gJyUnOgotICAgICAgICAgICAgICAgIGJvZHkgKz0gJyUnCi0gICAgICAgICAgICByZXR1cm4gX2Zvcm1hdF9hbGlnbihzaWduLCBib2R5LCBzcGVjKQotCi0gICAgICAgICMgYSB0eXBlIG9mIE5vbmUgZGVmYXVsdHMgdG8gJ2cnIG9yICdHJywgZGVwZW5kaW5nIG9uIGNvbnRleHQKLSAgICAgICAgaWYgc3BlY1sndHlwZSddIGlzIE5vbmU6Ci0gICAgICAgICAgICBzcGVjWyd0eXBlJ10gPSBbJ2cnLCAnRyddW2NvbnRleHQuY2FwaXRhbHNdCi0KLSAgICAgICAgIyBpZiB0eXBlIGlzICclJywgYWRqdXN0IGV4cG9uZW50IG9mIHNlbGYgYWNjb3JkaW5nbHkKLSAgICAgICAgaWYgc3BlY1sndHlwZSddID09ICclJzoKLSAgICAgICAgICAgIHNlbGYgPSBfZGVjX2Zyb21fdHJpcGxlKHNlbGYuX3NpZ24sIHNlbGYuX2ludCwgc2VsZi5fZXhwKzIpCi0KLSAgICAgICAgIyByb3VuZCBpZiBuZWNlc3NhcnksIHRha2luZyByb3VuZGluZyBtb2RlIGZyb20gdGhlIGNvbnRleHQKLSAgICAgICAgcm91bmRpbmcgPSBjb250ZXh0LnJvdW5kaW5nCi0gICAgICAgIHByZWNpc2lvbiA9IHNwZWNbJ3ByZWNpc2lvbiddCi0gICAgICAgIGlmIHByZWNpc2lvbiBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIGlmIHNwZWNbJ3R5cGUnXSBpbiAnZUUnOgotICAgICAgICAgICAgICAgIHNlbGYgPSBzZWxmLl9yb3VuZChwcmVjaXNpb24rMSwgcm91bmRpbmcpCi0gICAgICAgICAgICBlbGlmIHNwZWNbJ3R5cGUnXSBpbiAnZkYlJzoKLSAgICAgICAgICAgICAgICBzZWxmID0gc2VsZi5fcmVzY2FsZSgtcHJlY2lzaW9uLCByb3VuZGluZykKLSAgICAgICAgICAgIGVsaWYgc3BlY1sndHlwZSddIGluICdnRycgYW5kIGxlbihzZWxmLl9pbnQpID4gcHJlY2lzaW9uOgotICAgICAgICAgICAgICAgIHNlbGYgPSBzZWxmLl9yb3VuZChwcmVjaXNpb24sIHJvdW5kaW5nKQotICAgICAgICAjIHNwZWNpYWwgY2FzZTogemVyb3Mgd2l0aCBhIHBvc2l0aXZlIGV4cG9uZW50IGNhbid0IGJlCi0gICAgICAgICMgcmVwcmVzZW50ZWQgaW4gZml4ZWQgcG9pbnQ7IHJlc2NhbGUgdGhlbSB0byAwZTAuCi0gICAgICAgIGlmIG5vdCBzZWxmIGFuZCBzZWxmLl9leHAgPiAwIGFuZCBzcGVjWyd0eXBlJ10gaW4gJ2ZGJSc6Ci0gICAgICAgICAgICBzZWxmID0gc2VsZi5fcmVzY2FsZSgwLCByb3VuZGluZykKLQotICAgICAgICAjIGZpZ3VyZSBvdXQgcGxhY2VtZW50IG9mIHRoZSBkZWNpbWFsIHBvaW50Ci0gICAgICAgIGxlZnRkaWdpdHMgPSBzZWxmLl9leHAgKyBsZW4oc2VsZi5faW50KQotICAgICAgICBpZiBzcGVjWyd0eXBlJ10gaW4gJ2VFJzoKLSAgICAgICAgICAgIGlmIG5vdCBzZWxmIGFuZCBwcmVjaXNpb24gaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgZG90cGxhY2UgPSAxIC0gcHJlY2lzaW9uCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGRvdHBsYWNlID0gMQotICAgICAgICBlbGlmIHNwZWNbJ3R5cGUnXSBpbiAnZkYlJzoKLSAgICAgICAgICAgIGRvdHBsYWNlID0gbGVmdGRpZ2l0cwotICAgICAgICBlbGlmIHNwZWNbJ3R5cGUnXSBpbiAnZ0cnOgotICAgICAgICAgICAgaWYgc2VsZi5fZXhwIDw9IDAgYW5kIGxlZnRkaWdpdHMgPiAtNjoKLSAgICAgICAgICAgICAgICBkb3RwbGFjZSA9IGxlZnRkaWdpdHMKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgZG90cGxhY2UgPSAxCi0KLSAgICAgICAgIyBmaW5kIGRpZ2l0cyBiZWZvcmUgYW5kIGFmdGVyIGRlY2ltYWwgcG9pbnQsIGFuZCBnZXQgZXhwb25lbnQKLSAgICAgICAgaWYgZG90cGxhY2UgPCAwOgotICAgICAgICAgICAgaW50cGFydCA9ICcwJwotICAgICAgICAgICAgZnJhY3BhcnQgPSAnMCcqKC1kb3RwbGFjZSkgKyBzZWxmLl9pbnQKLSAgICAgICAgZWxpZiBkb3RwbGFjZSA+IGxlbihzZWxmLl9pbnQpOgotICAgICAgICAgICAgaW50cGFydCA9IHNlbGYuX2ludCArICcwJyooZG90cGxhY2UtbGVuKHNlbGYuX2ludCkpCi0gICAgICAgICAgICBmcmFjcGFydCA9ICcnCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBpbnRwYXJ0ID0gc2VsZi5faW50Wzpkb3RwbGFjZV0gb3IgJzAnCi0gICAgICAgICAgICBmcmFjcGFydCA9IHNlbGYuX2ludFtkb3RwbGFjZTpdCi0gICAgICAgIGV4cCA9IGxlZnRkaWdpdHMtZG90cGxhY2UKLQotICAgICAgICAjIGRvbmUgd2l0aCB0aGUgZGVjaW1hbC1zcGVjaWZpYyBzdHVmZjsgIGhhbmQgb3ZlciB0aGUgcmVzdAotICAgICAgICAjIG9mIHRoZSBmb3JtYXR0aW5nIHRvIHRoZSBfZm9ybWF0X251bWJlciBmdW5jdGlvbgotICAgICAgICByZXR1cm4gX2Zvcm1hdF9udW1iZXIoc2VsZi5fc2lnbiwgaW50cGFydCwgZnJhY3BhcnQsIGV4cCwgc3BlYykKLQotZGVmIF9kZWNfZnJvbV90cmlwbGUoc2lnbiwgY29lZmZpY2llbnQsIGV4cG9uZW50LCBzcGVjaWFsPUZhbHNlKToKLSAgICAiIiJDcmVhdGUgYSBkZWNpbWFsIGluc3RhbmNlIGRpcmVjdGx5LCB3aXRob3V0IGFueSB2YWxpZGF0aW9uLAotICAgIG5vcm1hbGl6YXRpb24gKGUuZy4gcmVtb3ZhbCBvZiBsZWFkaW5nIHplcm9zKSBvciBhcmd1bWVudAotICAgIGNvbnZlcnNpb24uCi0KLSAgICBUaGlzIGZ1bmN0aW9uIGlzIGZvciAqaW50ZXJuYWwgdXNlIG9ubHkqLgotICAgICIiIgotCi0gICAgc2VsZiA9IG9iamVjdC5fX25ld19fKERlY2ltYWwpCi0gICAgc2VsZi5fc2lnbiA9IHNpZ24KLSAgICBzZWxmLl9pbnQgPSBjb2VmZmljaWVudAotICAgIHNlbGYuX2V4cCA9IGV4cG9uZW50Ci0gICAgc2VsZi5faXNfc3BlY2lhbCA9IHNwZWNpYWwKLQotICAgIHJldHVybiBzZWxmCi0KLSMgUmVnaXN0ZXIgRGVjaW1hbCBhcyBhIGtpbmQgb2YgTnVtYmVyIChhbiBhYnN0cmFjdCBiYXNlIGNsYXNzKS4KLSMgSG93ZXZlciwgZG8gbm90IHJlZ2lzdGVyIGl0IGFzIFJlYWwgKGJlY2F1c2UgRGVjaW1hbHMgYXJlIG5vdAotIyBpbnRlcm9wZXJhYmxlIHdpdGggZmxvYXRzKS4KLV9udW1iZXJzLk51bWJlci5yZWdpc3RlcihEZWNpbWFsKQotCi0KLSMjIyMjIENvbnRleHQgY2xhc3MgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotCi1jbGFzcyBfQ29udGV4dE1hbmFnZXIob2JqZWN0KToKLSAgICAiIiJDb250ZXh0IG1hbmFnZXIgY2xhc3MgdG8gc3VwcG9ydCBsb2NhbGNvbnRleHQoKS4KLQotICAgICAgU2V0cyBhIGNvcHkgb2YgdGhlIHN1cHBsaWVkIGNvbnRleHQgaW4gX19lbnRlcl9fKCkgYW5kIHJlc3RvcmVzCi0gICAgICB0aGUgcHJldmlvdXMgZGVjaW1hbCBjb250ZXh0IGluIF9fZXhpdF9fKCkKLSAgICAiIiIKLSAgICBkZWYgX19pbml0X18oc2VsZiwgbmV3X2NvbnRleHQpOgotICAgICAgICBzZWxmLm5ld19jb250ZXh0ID0gbmV3X2NvbnRleHQuY29weSgpCi0gICAgZGVmIF9fZW50ZXJfXyhzZWxmKToKLSAgICAgICAgc2VsZi5zYXZlZF9jb250ZXh0ID0gZ2V0Y29udGV4dCgpCi0gICAgICAgIHNldGNvbnRleHQoc2VsZi5uZXdfY29udGV4dCkKLSAgICAgICAgcmV0dXJuIHNlbGYubmV3X2NvbnRleHQKLSAgICBkZWYgX19leGl0X18oc2VsZiwgdCwgdiwgdGIpOgotICAgICAgICBzZXRjb250ZXh0KHNlbGYuc2F2ZWRfY29udGV4dCkKLQotY2xhc3MgQ29udGV4dChvYmplY3QpOgotICAgICIiIkNvbnRhaW5zIHRoZSBjb250ZXh0IGZvciBhIERlY2ltYWwgaW5zdGFuY2UuCi0KLSAgICBDb250YWluczoKLSAgICBwcmVjIC0gcHJlY2lzaW9uIChmb3IgdXNlIGluIHJvdW5kaW5nLCBkaXZpc2lvbiwgc3F1YXJlIHJvb3RzLi4pCi0gICAgcm91bmRpbmcgLSByb3VuZGluZyB0eXBlIChob3cgeW91IHJvdW5kKQotICAgIHRyYXBzIC0gSWYgdHJhcHNbZXhjZXB0aW9uXSA9IDEsIHRoZW4gdGhlIGV4Y2VwdGlvbiBpcwotICAgICAgICAgICAgICAgICAgICByYWlzZWQgd2hlbiBpdCBpcyBjYXVzZWQuICBPdGhlcndpc2UsIGEgdmFsdWUgaXMKLSAgICAgICAgICAgICAgICAgICAgc3Vic3RpdHV0ZWQgaW4uCi0gICAgZmxhZ3MgIC0gV2hlbiBhbiBleGNlcHRpb24gaXMgY2F1c2VkLCBmbGFnc1tleGNlcHRpb25dIGlzIHNldC4KLSAgICAgICAgICAgICAoV2hldGhlciBvciBub3QgdGhlIHRyYXBfZW5hYmxlciBpcyBzZXQpCi0gICAgICAgICAgICAgU2hvdWxkIGJlIHJlc2V0IGJ5IHVzZXIgb2YgRGVjaW1hbCBpbnN0YW5jZS4KLSAgICBFbWluIC0gICBNaW5pbXVtIGV4cG9uZW50Ci0gICAgRW1heCAtICAgTWF4aW11bSBleHBvbmVudAotICAgIGNhcGl0YWxzIC0gICAgICBJZiAxLCAxKjEwXjEgaXMgcHJpbnRlZCBhcyAxRSsxLgotICAgICAgICAgICAgICAgICAgICBJZiAwLCBwcmludGVkIGFzIDFlMQotICAgIGNsYW1wIC0gIElmIDEsIGNoYW5nZSBleHBvbmVudHMgaWYgdG9vIGhpZ2ggKERlZmF1bHQgMCkKLSAgICAiIiIKLQotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwcmVjPU5vbmUsIHJvdW5kaW5nPU5vbmUsIEVtaW49Tm9uZSwgRW1heD1Ob25lLAotICAgICAgICAgICAgICAgICAgICAgICBjYXBpdGFscz1Ob25lLCBjbGFtcD1Ob25lLCBmbGFncz1Ob25lLCB0cmFwcz1Ob25lLAotICAgICAgICAgICAgICAgICAgICAgICBfaWdub3JlZF9mbGFncz1Ob25lKToKLSAgICAgICAgIyBTZXQgZGVmYXVsdHM7IGZvciBldmVyeXRoaW5nIGV4Y2VwdCBmbGFncyBhbmQgX2lnbm9yZWRfZmxhZ3MsCi0gICAgICAgICMgaW5oZXJpdCBmcm9tIERlZmF1bHRDb250ZXh0LgotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBkYyA9IERlZmF1bHRDb250ZXh0Ci0gICAgICAgIGV4Y2VwdCBOYW1lRXJyb3I6Ci0gICAgICAgICAgICBwYXNzCi0KLSAgICAgICAgc2VsZi5wcmVjID0gcHJlYyBpZiBwcmVjIGlzIG5vdCBOb25lIGVsc2UgZGMucHJlYwotICAgICAgICBzZWxmLnJvdW5kaW5nID0gcm91bmRpbmcgaWYgcm91bmRpbmcgaXMgbm90IE5vbmUgZWxzZSBkYy5yb3VuZGluZwotICAgICAgICBzZWxmLkVtaW4gPSBFbWluIGlmIEVtaW4gaXMgbm90IE5vbmUgZWxzZSBkYy5FbWluCi0gICAgICAgIHNlbGYuRW1heCA9IEVtYXggaWYgRW1heCBpcyBub3QgTm9uZSBlbHNlIGRjLkVtYXgKLSAgICAgICAgc2VsZi5jYXBpdGFscyA9IGNhcGl0YWxzIGlmIGNhcGl0YWxzIGlzIG5vdCBOb25lIGVsc2UgZGMuY2FwaXRhbHMKLSAgICAgICAgc2VsZi5jbGFtcCA9IGNsYW1wIGlmIGNsYW1wIGlzIG5vdCBOb25lIGVsc2UgZGMuY2xhbXAKLQotICAgICAgICBpZiBfaWdub3JlZF9mbGFncyBpcyBOb25lOgotICAgICAgICAgICAgc2VsZi5faWdub3JlZF9mbGFncyA9IFtdCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLl9pZ25vcmVkX2ZsYWdzID0gX2lnbm9yZWRfZmxhZ3MKLQotICAgICAgICBpZiB0cmFwcyBpcyBOb25lOgotICAgICAgICAgICAgc2VsZi50cmFwcyA9IGRjLnRyYXBzLmNvcHkoKQotICAgICAgICBlbGlmIG5vdCBpc2luc3RhbmNlKHRyYXBzLCBkaWN0KToKLSAgICAgICAgICAgIHNlbGYudHJhcHMgPSBkaWN0KChzLCBpbnQocyBpbiB0cmFwcykpIGZvciBzIGluIF9zaWduYWxzICsgdHJhcHMpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLnRyYXBzID0gdHJhcHMKLQotICAgICAgICBpZiBmbGFncyBpcyBOb25lOgotICAgICAgICAgICAgc2VsZi5mbGFncyA9IGRpY3QuZnJvbWtleXMoX3NpZ25hbHMsIDApCi0gICAgICAgIGVsaWYgbm90IGlzaW5zdGFuY2UoZmxhZ3MsIGRpY3QpOgotICAgICAgICAgICAgc2VsZi5mbGFncyA9IGRpY3QoKHMsIGludChzIGluIGZsYWdzKSkgZm9yIHMgaW4gX3NpZ25hbHMgKyBmbGFncykKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYuZmxhZ3MgPSBmbGFncwotCi0gICAgZGVmIF9zZXRfaW50ZWdlcl9jaGVjayhzZWxmLCBuYW1lLCB2YWx1ZSwgdm1pbiwgdm1heCk6Ci0gICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKHZhbHVlLCBpbnQpOgotICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCIlcyBtdXN0IGJlIGFuIGludGVnZXIiICUgbmFtZSkKLSAgICAgICAgaWYgdm1pbiA9PSAnLWluZic6Ci0gICAgICAgICAgICBpZiB2YWx1ZSA+IHZtYXg6Ci0gICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiJXMgbXVzdCBiZSBpbiBbJXMsICVkXS4gZ290OiAlcyIgJSAobmFtZSwgdm1pbiwgdm1heCwgdmFsdWUpKQotICAgICAgICBlbGlmIHZtYXggPT0gJ2luZic6Ci0gICAgICAgICAgICBpZiB2YWx1ZSA8IHZtaW46Ci0gICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiJXMgbXVzdCBiZSBpbiBbJWQsICVzXS4gZ290OiAlcyIgJSAobmFtZSwgdm1pbiwgdm1heCwgdmFsdWUpKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgaWYgdmFsdWUgPCB2bWluIG9yIHZhbHVlID4gdm1heDoKLSAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCIlcyBtdXN0IGJlIGluIFslZCwgJWRdLiBnb3QgJXMiICUgKG5hbWUsIHZtaW4sIHZtYXgsIHZhbHVlKSkKLSAgICAgICAgcmV0dXJuIG9iamVjdC5fX3NldGF0dHJfXyhzZWxmLCBuYW1lLCB2YWx1ZSkKLQotICAgIGRlZiBfc2V0X3NpZ25hbF9kaWN0KHNlbGYsIG5hbWUsIGQpOgotICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShkLCBkaWN0KToKLSAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiJXMgbXVzdCBiZSBhIHNpZ25hbCBkaWN0IiAlIGQpCi0gICAgICAgIGZvciBrZXkgaW4gZDoKLSAgICAgICAgICAgIGlmIG5vdCBrZXkgaW4gX3NpZ25hbHM6Ci0gICAgICAgICAgICAgICAgcmFpc2UgS2V5RXJyb3IoIiVzIGlzIG5vdCBhIHZhbGlkIHNpZ25hbCBkaWN0IiAlIGQpCi0gICAgICAgIGZvciBrZXkgaW4gX3NpZ25hbHM6Ci0gICAgICAgICAgICBpZiBub3Qga2V5IGluIGQ6Ci0gICAgICAgICAgICAgICAgcmFpc2UgS2V5RXJyb3IoIiVzIGlzIG5vdCBhIHZhbGlkIHNpZ25hbCBkaWN0IiAlIGQpCi0gICAgICAgIHJldHVybiBvYmplY3QuX19zZXRhdHRyX18oc2VsZiwgbmFtZSwgZCkKLQotICAgIGRlZiBfX3NldGF0dHJfXyhzZWxmLCBuYW1lLCB2YWx1ZSk6Ci0gICAgICAgIGlmIG5hbWUgPT0gJ3ByZWMnOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3NldF9pbnRlZ2VyX2NoZWNrKG5hbWUsIHZhbHVlLCAxLCAnaW5mJykKLSAgICAgICAgZWxpZiBuYW1lID09ICdFbWluJzoKLSAgICAgICAgICAgIHJldHVybiBzZWxmLl9zZXRfaW50ZWdlcl9jaGVjayhuYW1lLCB2YWx1ZSwgJy1pbmYnLCAwKQotICAgICAgICBlbGlmIG5hbWUgPT0gJ0VtYXgnOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3NldF9pbnRlZ2VyX2NoZWNrKG5hbWUsIHZhbHVlLCAwLCAnaW5mJykKLSAgICAgICAgZWxpZiBuYW1lID09ICdjYXBpdGFscyc6Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi5fc2V0X2ludGVnZXJfY2hlY2sobmFtZSwgdmFsdWUsIDAsIDEpCi0gICAgICAgIGVsaWYgbmFtZSA9PSAnY2xhbXAnOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3NldF9pbnRlZ2VyX2NoZWNrKG5hbWUsIHZhbHVlLCAwLCAxKQotICAgICAgICBlbGlmIG5hbWUgPT0gJ3JvdW5kaW5nJzoKLSAgICAgICAgICAgIGlmIG5vdCB2YWx1ZSBpbiBfcm91bmRpbmdfbW9kZXM6Ci0gICAgICAgICAgICAgICAgIyByYWlzZSBUeXBlRXJyb3IgZXZlbiBmb3Igc3RyaW5ncyB0byBoYXZlIGNvbnNpc3RlbmN5Ci0gICAgICAgICAgICAgICAgIyBhbW9uZyB2YXJpb3VzIGltcGxlbWVudGF0aW9ucy4KLSAgICAgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoIiVzOiBpbnZhbGlkIHJvdW5kaW5nIG1vZGUiICUgdmFsdWUpCi0gICAgICAgICAgICByZXR1cm4gb2JqZWN0Ll9fc2V0YXR0cl9fKHNlbGYsIG5hbWUsIHZhbHVlKQotICAgICAgICBlbGlmIG5hbWUgPT0gJ2ZsYWdzJyBvciBuYW1lID09ICd0cmFwcyc6Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi5fc2V0X3NpZ25hbF9kaWN0KG5hbWUsIHZhbHVlKQotICAgICAgICBlbGlmIG5hbWUgPT0gJ19pZ25vcmVkX2ZsYWdzJzoKLSAgICAgICAgICAgIHJldHVybiBvYmplY3QuX19zZXRhdHRyX18oc2VsZiwgbmFtZSwgdmFsdWUpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByYWlzZSBBdHRyaWJ1dGVFcnJvcigKLSAgICAgICAgICAgICAgICAiJ2RlY2ltYWwuQ29udGV4dCcgb2JqZWN0IGhhcyBubyBhdHRyaWJ1dGUgJyVzJyIgJSBuYW1lKQotCi0gICAgZGVmIF9fZGVsYXR0cl9fKHNlbGYsIG5hbWUpOgotICAgICAgICByYWlzZSBBdHRyaWJ1dGVFcnJvcigiJXMgY2Fubm90IGJlIGRlbGV0ZWQiICUgbmFtZSkKLQotICAgICMgU3VwcG9ydCBmb3IgcGlja2xpbmcsIGNvcHksIGFuZCBkZWVwY29weQotICAgIGRlZiBfX3JlZHVjZV9fKHNlbGYpOgotICAgICAgICBmbGFncyA9IFtzaWcgZm9yIHNpZywgdiBpbiBzZWxmLmZsYWdzLml0ZW1zKCkgaWYgdl0KLSAgICAgICAgdHJhcHMgPSBbc2lnIGZvciBzaWcsIHYgaW4gc2VsZi50cmFwcy5pdGVtcygpIGlmIHZdCi0gICAgICAgIHJldHVybiAoc2VsZi5fX2NsYXNzX18sCi0gICAgICAgICAgICAgICAgKHNlbGYucHJlYywgc2VsZi5yb3VuZGluZywgc2VsZi5FbWluLCBzZWxmLkVtYXgsCi0gICAgICAgICAgICAgICAgIHNlbGYuY2FwaXRhbHMsIHNlbGYuY2xhbXAsIGZsYWdzLCB0cmFwcykpCi0KLSAgICBkZWYgX19yZXByX18oc2VsZik6Ci0gICAgICAgICIiIlNob3cgdGhlIGN1cnJlbnQgY29udGV4dC4iIiIKLSAgICAgICAgcyA9IFtdCi0gICAgICAgIHMuYXBwZW5kKCdDb250ZXh0KHByZWM9JShwcmVjKWQsIHJvdW5kaW5nPSUocm91bmRpbmcpcywgJwotICAgICAgICAgICAgICAgICAnRW1pbj0lKEVtaW4pZCwgRW1heD0lKEVtYXgpZCwgY2FwaXRhbHM9JShjYXBpdGFscylkLCAnCi0gICAgICAgICAgICAgICAgICdjbGFtcD0lKGNsYW1wKWQnCi0gICAgICAgICAgICAgICAgICUgdmFycyhzZWxmKSkKLSAgICAgICAgbmFtZXMgPSBbZi5fX25hbWVfXyBmb3IgZiwgdiBpbiBzZWxmLmZsYWdzLml0ZW1zKCkgaWYgdl0KLSAgICAgICAgcy5hcHBlbmQoJ2ZsYWdzPVsnICsgJywgJy5qb2luKG5hbWVzKSArICddJykKLSAgICAgICAgbmFtZXMgPSBbdC5fX25hbWVfXyBmb3IgdCwgdiBpbiBzZWxmLnRyYXBzLml0ZW1zKCkgaWYgdl0KLSAgICAgICAgcy5hcHBlbmQoJ3RyYXBzPVsnICsgJywgJy5qb2luKG5hbWVzKSArICddJykKLSAgICAgICAgcmV0dXJuICcsICcuam9pbihzKSArICcpJwotCi0gICAgZGVmIGNsZWFyX2ZsYWdzKHNlbGYpOgotICAgICAgICAiIiJSZXNldCBhbGwgZmxhZ3MgdG8gemVybyIiIgotICAgICAgICBmb3IgZmxhZyBpbiBzZWxmLmZsYWdzOgotICAgICAgICAgICAgc2VsZi5mbGFnc1tmbGFnXSA9IDAKLQotICAgIGRlZiBjbGVhcl90cmFwcyhzZWxmKToKLSAgICAgICAgIiIiUmVzZXQgYWxsIHRyYXBzIHRvIHplcm8iIiIKLSAgICAgICAgZm9yIGZsYWcgaW4gc2VsZi50cmFwczoKLSAgICAgICAgICAgIHNlbGYudHJhcHNbZmxhZ10gPSAwCi0KLSAgICBkZWYgX3NoYWxsb3dfY29weShzZWxmKToKLSAgICAgICAgIiIiUmV0dXJucyBhIHNoYWxsb3cgY29weSBmcm9tIHNlbGYuIiIiCi0gICAgICAgIG5jID0gQ29udGV4dChzZWxmLnByZWMsIHNlbGYucm91bmRpbmcsIHNlbGYuRW1pbiwgc2VsZi5FbWF4LAotICAgICAgICAgICAgICAgICAgICAgc2VsZi5jYXBpdGFscywgc2VsZi5jbGFtcCwgc2VsZi5mbGFncywgc2VsZi50cmFwcywKLSAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2lnbm9yZWRfZmxhZ3MpCi0gICAgICAgIHJldHVybiBuYwotCi0gICAgZGVmIGNvcHkoc2VsZik6Ci0gICAgICAgICIiIlJldHVybnMgYSBkZWVwIGNvcHkgZnJvbSBzZWxmLiIiIgotICAgICAgICBuYyA9IENvbnRleHQoc2VsZi5wcmVjLCBzZWxmLnJvdW5kaW5nLCBzZWxmLkVtaW4sIHNlbGYuRW1heCwKLSAgICAgICAgICAgICAgICAgICAgIHNlbGYuY2FwaXRhbHMsIHNlbGYuY2xhbXAsCi0gICAgICAgICAgICAgICAgICAgICBzZWxmLmZsYWdzLmNvcHkoKSwgc2VsZi50cmFwcy5jb3B5KCksCi0gICAgICAgICAgICAgICAgICAgICBzZWxmLl9pZ25vcmVkX2ZsYWdzKQotICAgICAgICByZXR1cm4gbmMKLSAgICBfX2NvcHlfXyA9IGNvcHkKLQotICAgIGRlZiBfcmFpc2VfZXJyb3Ioc2VsZiwgY29uZGl0aW9uLCBleHBsYW5hdGlvbiA9IE5vbmUsICphcmdzKToKLSAgICAgICAgIiIiSGFuZGxlcyBhbiBlcnJvcgotCi0gICAgICAgIElmIHRoZSBmbGFnIGlzIGluIF9pZ25vcmVkX2ZsYWdzLCByZXR1cm5zIHRoZSBkZWZhdWx0IHJlc3BvbnNlLgotICAgICAgICBPdGhlcndpc2UsIGl0IHNldHMgdGhlIGZsYWcsIHRoZW4sIGlmIHRoZSBjb3JyZXNwb25kaW5nCi0gICAgICAgIHRyYXBfZW5hYmxlciBpcyBzZXQsIGl0IHJlcmFpc2VzIHRoZSBleGNlcHRpb24uICBPdGhlcndpc2UsIGl0IHJldHVybnMKLSAgICAgICAgdGhlIGRlZmF1bHQgdmFsdWUgYWZ0ZXIgc2V0dGluZyB0aGUgZmxhZy4KLSAgICAgICAgIiIiCi0gICAgICAgIGVycm9yID0gX2NvbmRpdGlvbl9tYXAuZ2V0KGNvbmRpdGlvbiwgY29uZGl0aW9uKQotICAgICAgICBpZiBlcnJvciBpbiBzZWxmLl9pZ25vcmVkX2ZsYWdzOgotICAgICAgICAgICAgIyBEb24ndCB0b3VjaCB0aGUgZmxhZwotICAgICAgICAgICAgcmV0dXJuIGVycm9yKCkuaGFuZGxlKHNlbGYsICphcmdzKQotCi0gICAgICAgIHNlbGYuZmxhZ3NbZXJyb3JdID0gMQotICAgICAgICBpZiBub3Qgc2VsZi50cmFwc1tlcnJvcl06Ci0gICAgICAgICAgICAjIFRoZSBlcnJvcnMgZGVmaW5lIGhvdyB0byBoYW5kbGUgdGhlbXNlbHZlcy4KLSAgICAgICAgICAgIHJldHVybiBjb25kaXRpb24oKS5oYW5kbGUoc2VsZiwgKmFyZ3MpCi0KLSAgICAgICAgIyBFcnJvcnMgc2hvdWxkIG9ubHkgYmUgcmlza2VkIG9uIGNvcGllcyBvZiB0aGUgY29udGV4dAotICAgICAgICAjIHNlbGYuX2lnbm9yZWRfZmxhZ3MgPSBbXQotICAgICAgICByYWlzZSBlcnJvcihleHBsYW5hdGlvbikKLQotICAgIGRlZiBfaWdub3JlX2FsbF9mbGFncyhzZWxmKToKLSAgICAgICAgIiIiSWdub3JlIGFsbCBmbGFncywgaWYgdGhleSBhcmUgcmFpc2VkIiIiCi0gICAgICAgIHJldHVybiBzZWxmLl9pZ25vcmVfZmxhZ3MoKl9zaWduYWxzKQotCi0gICAgZGVmIF9pZ25vcmVfZmxhZ3Moc2VsZiwgKmZsYWdzKToKLSAgICAgICAgIiIiSWdub3JlIHRoZSBmbGFncywgaWYgdGhleSBhcmUgcmFpc2VkIiIiCi0gICAgICAgICMgRG8gbm90IG11dGF0ZS0tIFRoaXMgd2F5LCBjb3BpZXMgb2YgYSBjb250ZXh0IGxlYXZlIHRoZSBvcmlnaW5hbAotICAgICAgICAjIGFsb25lLgotICAgICAgICBzZWxmLl9pZ25vcmVkX2ZsYWdzID0gKHNlbGYuX2lnbm9yZWRfZmxhZ3MgKyBsaXN0KGZsYWdzKSkKLSAgICAgICAgcmV0dXJuIGxpc3QoZmxhZ3MpCi0KLSAgICBkZWYgX3JlZ2FyZF9mbGFncyhzZWxmLCAqZmxhZ3MpOgotICAgICAgICAiIiJTdG9wIGlnbm9yaW5nIHRoZSBmbGFncywgaWYgdGhleSBhcmUgcmFpc2VkIiIiCi0gICAgICAgIGlmIGZsYWdzIGFuZCBpc2luc3RhbmNlKGZsYWdzWzBdLCAodHVwbGUsbGlzdCkpOgotICAgICAgICAgICAgZmxhZ3MgPSBmbGFnc1swXQotICAgICAgICBmb3IgZmxhZyBpbiBmbGFnczoKLSAgICAgICAgICAgIHNlbGYuX2lnbm9yZWRfZmxhZ3MucmVtb3ZlKGZsYWcpCi0KLSAgICAjIFdlIGluaGVyaXQgb2JqZWN0Ll9faGFzaF9fLCBzbyB3ZSBtdXN0IGRlbnkgdGhpcyBleHBsaWNpdGx5Ci0gICAgX19oYXNoX18gPSBOb25lCi0KLSAgICBkZWYgRXRpbnkoc2VsZik6Ci0gICAgICAgICIiIlJldHVybnMgRXRpbnkgKD0gRW1pbiAtIHByZWMgKyAxKSIiIgotICAgICAgICByZXR1cm4gaW50KHNlbGYuRW1pbiAtIHNlbGYucHJlYyArIDEpCi0KLSAgICBkZWYgRXRvcChzZWxmKToKLSAgICAgICAgIiIiUmV0dXJucyBtYXhpbXVtIGV4cG9uZW50ICg9IEVtYXggLSBwcmVjICsgMSkiIiIKLSAgICAgICAgcmV0dXJuIGludChzZWxmLkVtYXggLSBzZWxmLnByZWMgKyAxKQotCi0gICAgZGVmIF9zZXRfcm91bmRpbmcoc2VsZiwgdHlwZSk6Ci0gICAgICAgICIiIlNldHMgdGhlIHJvdW5kaW5nIHR5cGUuCi0KLSAgICAgICAgU2V0cyB0aGUgcm91bmRpbmcgdHlwZSwgYW5kIHJldHVybnMgdGhlIGN1cnJlbnQgKHByZXZpb3VzKQotICAgICAgICByb3VuZGluZyB0eXBlLiAgT2Z0ZW4gdXNlZCBsaWtlOgotCi0gICAgICAgIGNvbnRleHQgPSBjb250ZXh0LmNvcHkoKQotICAgICAgICAjIHNvIHlvdSBkb24ndCBjaGFuZ2UgdGhlIGNhbGxpbmcgY29udGV4dAotICAgICAgICAjIGlmIGFuIGVycm9yIG9jY3VycyBpbiB0aGUgbWlkZGxlLgotICAgICAgICByb3VuZGluZyA9IGNvbnRleHQuX3NldF9yb3VuZGluZyhST1VORF9VUCkKLSAgICAgICAgdmFsID0gc2VsZi5fX3N1Yl9fKG90aGVyLCBjb250ZXh0PWNvbnRleHQpCi0gICAgICAgIGNvbnRleHQuX3NldF9yb3VuZGluZyhyb3VuZGluZykKLQotICAgICAgICBUaGlzIHdpbGwgbWFrZSBpdCByb3VuZCB1cCBmb3IgdGhhdCBvcGVyYXRpb24uCi0gICAgICAgICIiIgotICAgICAgICByb3VuZGluZyA9IHNlbGYucm91bmRpbmcKLSAgICAgICAgc2VsZi5yb3VuZGluZz0gdHlwZQotICAgICAgICByZXR1cm4gcm91bmRpbmcKLQotICAgIGRlZiBjcmVhdGVfZGVjaW1hbChzZWxmLCBudW09JzAnKToKLSAgICAgICAgIiIiQ3JlYXRlcyBhIG5ldyBEZWNpbWFsIGluc3RhbmNlIGJ1dCB1c2luZyBzZWxmIGFzIGNvbnRleHQuCi0KLSAgICAgICAgVGhpcyBtZXRob2QgaW1wbGVtZW50cyB0aGUgdG8tbnVtYmVyIG9wZXJhdGlvbiBvZiB0aGUKLSAgICAgICAgSUJNIERlY2ltYWwgc3BlY2lmaWNhdGlvbi4iIiIKLQotICAgICAgICBpZiBpc2luc3RhbmNlKG51bSwgc3RyKSBhbmQgbnVtICE9IG51bS5zdHJpcCgpOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3JhaXNlX2Vycm9yKENvbnZlcnNpb25TeW50YXgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5vIHRyYWlsaW5nIG9yIGxlYWRpbmcgd2hpdGVzcGFjZSBpcyAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBlcm1pdHRlZC4iKQotCi0gICAgICAgIGQgPSBEZWNpbWFsKG51bSwgY29udGV4dD1zZWxmKQotICAgICAgICBpZiBkLl9pc25hbigpIGFuZCBsZW4oZC5faW50KSA+IHNlbGYucHJlYyAtIHNlbGYuY2xhbXA6Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi5fcmFpc2VfZXJyb3IoQ29udmVyc2lvblN5bnRheCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlhZ25vc3RpYyBpbmZvIHRvbyBsb25nIGluIE5hTiIpCi0gICAgICAgIHJldHVybiBkLl9maXgoc2VsZikKLQotICAgIGRlZiBjcmVhdGVfZGVjaW1hbF9mcm9tX2Zsb2F0KHNlbGYsIGYpOgotICAgICAgICAiIiJDcmVhdGVzIGEgbmV3IERlY2ltYWwgaW5zdGFuY2UgZnJvbSBhIGZsb2F0IGJ1dCByb3VuZGluZyB1c2luZyBzZWxmCi0gICAgICAgIGFzIHRoZSBjb250ZXh0LgotCi0gICAgICAgID4+PiBjb250ZXh0ID0gQ29udGV4dChwcmVjPTUsIHJvdW5kaW5nPVJPVU5EX0RPV04pCi0gICAgICAgID4+PiBjb250ZXh0LmNyZWF0ZV9kZWNpbWFsX2Zyb21fZmxvYXQoMy4xNDE1OTI2NTM1ODk3OTMyKQotICAgICAgICBEZWNpbWFsKCczLjE0MTUnKQotICAgICAgICA+Pj4gY29udGV4dCA9IENvbnRleHQocHJlYz01LCB0cmFwcz1bSW5leGFjdF0pCi0gICAgICAgID4+PiBjb250ZXh0LmNyZWF0ZV9kZWNpbWFsX2Zyb21fZmxvYXQoMy4xNDE1OTI2NTM1ODk3OTMyKQotICAgICAgICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6Ci0gICAgICAgICAgICAuLi4KLSAgICAgICAgZGVjaW1hbC5JbmV4YWN0OiBOb25lCi0KLSAgICAgICAgIiIiCi0gICAgICAgIGQgPSBEZWNpbWFsLmZyb21fZmxvYXQoZikgICAgICAgIyBBbiBleGFjdCBjb252ZXJzaW9uCi0gICAgICAgIHJldHVybiBkLl9maXgoc2VsZikgICAgICAgICAgICAgIyBBcHBseSB0aGUgY29udGV4dCByb3VuZGluZwotCi0gICAgIyBNZXRob2RzCi0gICAgZGVmIGFicyhzZWxmLCBhKToKLSAgICAgICAgIiIiUmV0dXJucyB0aGUgYWJzb2x1dGUgdmFsdWUgb2YgdGhlIG9wZXJhbmQuCi0KLSAgICAgICAgSWYgdGhlIG9wZXJhbmQgaXMgbmVnYXRpdmUsIHRoZSByZXN1bHQgaXMgdGhlIHNhbWUgYXMgdXNpbmcgdGhlIG1pbnVzCi0gICAgICAgIG9wZXJhdGlvbiBvbiB0aGUgb3BlcmFuZC4gIE90aGVyd2lzZSwgdGhlIHJlc3VsdCBpcyB0aGUgc2FtZSBhcyB1c2luZwotICAgICAgICB0aGUgcGx1cyBvcGVyYXRpb24gb24gdGhlIG9wZXJhbmQuCi0KLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5hYnMoRGVjaW1hbCgnMi4xJykpCi0gICAgICAgIERlY2ltYWwoJzIuMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuYWJzKERlY2ltYWwoJy0xMDAnKSkKLSAgICAgICAgRGVjaW1hbCgnMTAwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5hYnMoRGVjaW1hbCgnMTAxLjUnKSkKLSAgICAgICAgRGVjaW1hbCgnMTAxLjUnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmFicyhEZWNpbWFsKCctMTAxLjUnKSkKLSAgICAgICAgRGVjaW1hbCgnMTAxLjUnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmFicygtMSkKLSAgICAgICAgRGVjaW1hbCgnMScpCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS5fX2Fic19fKGNvbnRleHQ9c2VsZikKLQotICAgIGRlZiBhZGQoc2VsZiwgYSwgYik6Ci0gICAgICAgICIiIlJldHVybiB0aGUgc3VtIG9mIHRoZSB0d28gb3BlcmFuZHMuCi0KLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5hZGQoRGVjaW1hbCgnMTInKSwgRGVjaW1hbCgnNy4wMCcpKQotICAgICAgICBEZWNpbWFsKCcxOS4wMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuYWRkKERlY2ltYWwoJzFFKzInKSwgRGVjaW1hbCgnMS4wMUUrNCcpKQotICAgICAgICBEZWNpbWFsKCcxLjAyRSs0JykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5hZGQoMSwgRGVjaW1hbCgyKSkKLSAgICAgICAgRGVjaW1hbCgnMycpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuYWRkKERlY2ltYWwoOCksIDUpCi0gICAgICAgIERlY2ltYWwoJzEzJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5hZGQoNSwgNSkKLSAgICAgICAgRGVjaW1hbCgnMTAnKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgciA9IGEuX19hZGRfXyhiLCBjb250ZXh0PXNlbGYpCi0gICAgICAgIGlmIHIgaXMgTm90SW1wbGVtZW50ZWQ6Ci0gICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoIlVuYWJsZSB0byBjb252ZXJ0ICVzIHRvIERlY2ltYWwiICUgYikKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJldHVybiByCi0KLSAgICBkZWYgX2FwcGx5KHNlbGYsIGEpOgotICAgICAgICByZXR1cm4gc3RyKGEuX2ZpeChzZWxmKSkKLQotICAgIGRlZiBjYW5vbmljYWwoc2VsZiwgYSk6Ci0gICAgICAgICIiIlJldHVybnMgdGhlIHNhbWUgRGVjaW1hbCBvYmplY3QuCi0KLSAgICAgICAgQXMgd2UgZG8gbm90IGhhdmUgZGlmZmVyZW50IGVuY29kaW5ncyBmb3IgdGhlIHNhbWUgbnVtYmVyLCB0aGUKLSAgICAgICAgcmVjZWl2ZWQgb2JqZWN0IGFscmVhZHkgaXMgaW4gaXRzIGNhbm9uaWNhbCBmb3JtLgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY2Fub25pY2FsKERlY2ltYWwoJzIuNTAnKSkKLSAgICAgICAgRGVjaW1hbCgnMi41MCcpCi0gICAgICAgICIiIgotICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShhLCBEZWNpbWFsKToKLSAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiY2Fub25pY2FsIHJlcXVpcmVzIGEgRGVjaW1hbCBhcyBhbiBhcmd1bWVudC4iKQotICAgICAgICByZXR1cm4gYS5jYW5vbmljYWwoKQotCi0gICAgZGVmIGNvbXBhcmUoc2VsZiwgYSwgYik6Ci0gICAgICAgICIiIkNvbXBhcmVzIHZhbHVlcyBudW1lcmljYWxseS4KLQotICAgICAgICBJZiB0aGUgc2lnbnMgb2YgdGhlIG9wZXJhbmRzIGRpZmZlciwgYSB2YWx1ZSByZXByZXNlbnRpbmcgZWFjaCBvcGVyYW5kCi0gICAgICAgICgnLTEnIGlmIHRoZSBvcGVyYW5kIGlzIGxlc3MgdGhhbiB6ZXJvLCAnMCcgaWYgdGhlIG9wZXJhbmQgaXMgemVybyBvcgotICAgICAgICBuZWdhdGl2ZSB6ZXJvLCBvciAnMScgaWYgdGhlIG9wZXJhbmQgaXMgZ3JlYXRlciB0aGFuIHplcm8pIGlzIHVzZWQgaW4KLSAgICAgICAgcGxhY2Ugb2YgdGhhdCBvcGVyYW5kIGZvciB0aGUgY29tcGFyaXNvbiBpbnN0ZWFkIG9mIHRoZSBhY3R1YWwKLSAgICAgICAgb3BlcmFuZC4KLQotICAgICAgICBUaGUgY29tcGFyaXNvbiBpcyB0aGVuIGVmZmVjdGVkIGJ5IHN1YnRyYWN0aW5nIHRoZSBzZWNvbmQgb3BlcmFuZCBmcm9tCi0gICAgICAgIHRoZSBmaXJzdCBhbmQgdGhlbiByZXR1cm5pbmcgYSB2YWx1ZSBhY2NvcmRpbmcgdG8gdGhlIHJlc3VsdCBvZiB0aGUKLSAgICAgICAgc3VidHJhY3Rpb246ICctMScgaWYgdGhlIHJlc3VsdCBpcyBsZXNzIHRoYW4gemVybywgJzAnIGlmIHRoZSByZXN1bHQgaXMKLSAgICAgICAgemVybyBvciBuZWdhdGl2ZSB6ZXJvLCBvciAnMScgaWYgdGhlIHJlc3VsdCBpcyBncmVhdGVyIHRoYW4gemVyby4KLQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvbXBhcmUoRGVjaW1hbCgnMi4xJyksIERlY2ltYWwoJzMnKSkKLSAgICAgICAgRGVjaW1hbCgnLTEnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvbXBhcmUoRGVjaW1hbCgnMi4xJyksIERlY2ltYWwoJzIuMScpKQotICAgICAgICBEZWNpbWFsKCcwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jb21wYXJlKERlY2ltYWwoJzIuMScpLCBEZWNpbWFsKCcyLjEwJykpCi0gICAgICAgIERlY2ltYWwoJzAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvbXBhcmUoRGVjaW1hbCgnMycpLCBEZWNpbWFsKCcyLjEnKSkKLSAgICAgICAgRGVjaW1hbCgnMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29tcGFyZShEZWNpbWFsKCcyLjEnKSwgRGVjaW1hbCgnLTMnKSkKLSAgICAgICAgRGVjaW1hbCgnMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29tcGFyZShEZWNpbWFsKCctMycpLCBEZWNpbWFsKCcyLjEnKSkKLSAgICAgICAgRGVjaW1hbCgnLTEnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvbXBhcmUoMSwgMikKLSAgICAgICAgRGVjaW1hbCgnLTEnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvbXBhcmUoRGVjaW1hbCgxKSwgMikKLSAgICAgICAgRGVjaW1hbCgnLTEnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvbXBhcmUoMSwgRGVjaW1hbCgyKSkKLSAgICAgICAgRGVjaW1hbCgnLTEnKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEuY29tcGFyZShiLCBjb250ZXh0PXNlbGYpCi0KLSAgICBkZWYgY29tcGFyZV9zaWduYWwoc2VsZiwgYSwgYik6Ci0gICAgICAgICIiIkNvbXBhcmVzIHRoZSB2YWx1ZXMgb2YgdGhlIHR3byBvcGVyYW5kcyBudW1lcmljYWxseS4KLQotICAgICAgICBJdCdzIHByZXR0eSBtdWNoIGxpa2UgY29tcGFyZSgpLCBidXQgYWxsIE5hTnMgc2lnbmFsLCB3aXRoIHNpZ25hbGluZwotICAgICAgICBOYU5zIHRha2luZyBwcmVjZWRlbmNlIG92ZXIgcXVpZXQgTmFOcy4KLQotICAgICAgICA+Pj4gYyA9IEV4dGVuZGVkQ29udGV4dAotICAgICAgICA+Pj4gYy5jb21wYXJlX3NpZ25hbChEZWNpbWFsKCcyLjEnKSwgRGVjaW1hbCgnMycpKQotICAgICAgICBEZWNpbWFsKCctMScpCi0gICAgICAgID4+PiBjLmNvbXBhcmVfc2lnbmFsKERlY2ltYWwoJzIuMScpLCBEZWNpbWFsKCcyLjEnKSkKLSAgICAgICAgRGVjaW1hbCgnMCcpCi0gICAgICAgID4+PiBjLmZsYWdzW0ludmFsaWRPcGVyYXRpb25dID0gMAotICAgICAgICA+Pj4gcHJpbnQoYy5mbGFnc1tJbnZhbGlkT3BlcmF0aW9uXSkKLSAgICAgICAgMAotICAgICAgICA+Pj4gYy5jb21wYXJlX3NpZ25hbChEZWNpbWFsKCdOYU4nKSwgRGVjaW1hbCgnMi4xJykpCi0gICAgICAgIERlY2ltYWwoJ05hTicpCi0gICAgICAgID4+PiBwcmludChjLmZsYWdzW0ludmFsaWRPcGVyYXRpb25dKQotICAgICAgICAxCi0gICAgICAgID4+PiBjLmZsYWdzW0ludmFsaWRPcGVyYXRpb25dID0gMAotICAgICAgICA+Pj4gcHJpbnQoYy5mbGFnc1tJbnZhbGlkT3BlcmF0aW9uXSkKLSAgICAgICAgMAotICAgICAgICA+Pj4gYy5jb21wYXJlX3NpZ25hbChEZWNpbWFsKCdzTmFOJyksIERlY2ltYWwoJzIuMScpKQotICAgICAgICBEZWNpbWFsKCdOYU4nKQotICAgICAgICA+Pj4gcHJpbnQoYy5mbGFnc1tJbnZhbGlkT3BlcmF0aW9uXSkKLSAgICAgICAgMQotICAgICAgICA+Pj4gYy5jb21wYXJlX3NpZ25hbCgtMSwgMikKLSAgICAgICAgRGVjaW1hbCgnLTEnKQotICAgICAgICA+Pj4gYy5jb21wYXJlX3NpZ25hbChEZWNpbWFsKC0xKSwgMikKLSAgICAgICAgRGVjaW1hbCgnLTEnKQotICAgICAgICA+Pj4gYy5jb21wYXJlX3NpZ25hbCgtMSwgRGVjaW1hbCgyKSkKLSAgICAgICAgRGVjaW1hbCgnLTEnKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEuY29tcGFyZV9zaWduYWwoYiwgY29udGV4dD1zZWxmKQotCi0gICAgZGVmIGNvbXBhcmVfdG90YWwoc2VsZiwgYSwgYik6Ci0gICAgICAgICIiIkNvbXBhcmVzIHR3byBvcGVyYW5kcyB1c2luZyB0aGVpciBhYnN0cmFjdCByZXByZXNlbnRhdGlvbi4KLQotICAgICAgICBUaGlzIGlzIG5vdCBsaWtlIHRoZSBzdGFuZGFyZCBjb21wYXJlLCB3aGljaCB1c2UgdGhlaXIgbnVtZXJpY2FsCi0gICAgICAgIHZhbHVlLiBOb3RlIHRoYXQgYSB0b3RhbCBvcmRlcmluZyBpcyBkZWZpbmVkIGZvciBhbGwgcG9zc2libGUgYWJzdHJhY3QKLSAgICAgICAgcmVwcmVzZW50YXRpb25zLgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29tcGFyZV90b3RhbChEZWNpbWFsKCcxMi43MycpLCBEZWNpbWFsKCcxMjcuOScpKQotICAgICAgICBEZWNpbWFsKCctMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29tcGFyZV90b3RhbChEZWNpbWFsKCctMTI3JyksICBEZWNpbWFsKCcxMicpKQotICAgICAgICBEZWNpbWFsKCctMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29tcGFyZV90b3RhbChEZWNpbWFsKCcxMi4zMCcpLCBEZWNpbWFsKCcxMi4zJykpCi0gICAgICAgIERlY2ltYWwoJy0xJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jb21wYXJlX3RvdGFsKERlY2ltYWwoJzEyLjMwJyksIERlY2ltYWwoJzEyLjMwJykpCi0gICAgICAgIERlY2ltYWwoJzAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvbXBhcmVfdG90YWwoRGVjaW1hbCgnMTIuMycpLCAgRGVjaW1hbCgnMTIuMzAwJykpCi0gICAgICAgIERlY2ltYWwoJzEnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvbXBhcmVfdG90YWwoRGVjaW1hbCgnMTIuMycpLCAgRGVjaW1hbCgnTmFOJykpCi0gICAgICAgIERlY2ltYWwoJy0xJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jb21wYXJlX3RvdGFsKDEsIDIpCi0gICAgICAgIERlY2ltYWwoJy0xJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jb21wYXJlX3RvdGFsKERlY2ltYWwoMSksIDIpCi0gICAgICAgIERlY2ltYWwoJy0xJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jb21wYXJlX3RvdGFsKDEsIERlY2ltYWwoMikpCi0gICAgICAgIERlY2ltYWwoJy0xJykKLSAgICAgICAgIiIiCi0gICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCi0gICAgICAgIHJldHVybiBhLmNvbXBhcmVfdG90YWwoYikKLQotICAgIGRlZiBjb21wYXJlX3RvdGFsX21hZyhzZWxmLCBhLCBiKToKLSAgICAgICAgIiIiQ29tcGFyZXMgdHdvIG9wZXJhbmRzIHVzaW5nIHRoZWlyIGFic3RyYWN0IHJlcHJlc2VudGF0aW9uIGlnbm9yaW5nIHNpZ24uCi0KLSAgICAgICAgTGlrZSBjb21wYXJlX3RvdGFsLCBidXQgd2l0aCBvcGVyYW5kJ3Mgc2lnbiBpZ25vcmVkIGFuZCBhc3N1bWVkIHRvIGJlIDAuCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS5jb21wYXJlX3RvdGFsX21hZyhiKQotCi0gICAgZGVmIGNvcHlfYWJzKHNlbGYsIGEpOgotICAgICAgICAiIiJSZXR1cm5zIGEgY29weSBvZiB0aGUgb3BlcmFuZCB3aXRoIHRoZSBzaWduIHNldCB0byAwLgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29weV9hYnMoRGVjaW1hbCgnMi4xJykpCi0gICAgICAgIERlY2ltYWwoJzIuMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29weV9hYnMoRGVjaW1hbCgnLTEwMCcpKQotICAgICAgICBEZWNpbWFsKCcxMDAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvcHlfYWJzKC0xKQotICAgICAgICBEZWNpbWFsKCcxJykKLSAgICAgICAgIiIiCi0gICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCi0gICAgICAgIHJldHVybiBhLmNvcHlfYWJzKCkKLQotICAgIGRlZiBjb3B5X2RlY2ltYWwoc2VsZiwgYSk6Ci0gICAgICAgICIiIlJldHVybnMgYSBjb3B5IG9mIHRoZSBkZWNpbWFsIG9iamVjdC4KLQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvcHlfZGVjaW1hbChEZWNpbWFsKCcyLjEnKSkKLSAgICAgICAgRGVjaW1hbCgnMi4xJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jb3B5X2RlY2ltYWwoRGVjaW1hbCgnLTEuMDAnKSkKLSAgICAgICAgRGVjaW1hbCgnLTEuMDAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvcHlfZGVjaW1hbCgxKQotICAgICAgICBEZWNpbWFsKCcxJykKLSAgICAgICAgIiIiCi0gICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCi0gICAgICAgIHJldHVybiBEZWNpbWFsKGEpCi0KLSAgICBkZWYgY29weV9uZWdhdGUoc2VsZiwgYSk6Ci0gICAgICAgICIiIlJldHVybnMgYSBjb3B5IG9mIHRoZSBvcGVyYW5kIHdpdGggdGhlIHNpZ24gaW52ZXJ0ZWQuCi0KLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jb3B5X25lZ2F0ZShEZWNpbWFsKCcxMDEuNScpKQotICAgICAgICBEZWNpbWFsKCctMTAxLjUnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvcHlfbmVnYXRlKERlY2ltYWwoJy0xMDEuNScpKQotICAgICAgICBEZWNpbWFsKCcxMDEuNScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29weV9uZWdhdGUoMSkKLSAgICAgICAgRGVjaW1hbCgnLTEnKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEuY29weV9uZWdhdGUoKQotCi0gICAgZGVmIGNvcHlfc2lnbihzZWxmLCBhLCBiKToKLSAgICAgICAgIiIiQ29waWVzIHRoZSBzZWNvbmQgb3BlcmFuZCdzIHNpZ24gdG8gdGhlIGZpcnN0IG9uZS4KLQotICAgICAgICBJbiBkZXRhaWwsIGl0IHJldHVybnMgYSBjb3B5IG9mIHRoZSBmaXJzdCBvcGVyYW5kIHdpdGggdGhlIHNpZ24KLSAgICAgICAgZXF1YWwgdG8gdGhlIHNpZ24gb2YgdGhlIHNlY29uZCBvcGVyYW5kLgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29weV9zaWduKERlY2ltYWwoICcxLjUwJyksIERlY2ltYWwoJzcuMzMnKSkKLSAgICAgICAgRGVjaW1hbCgnMS41MCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29weV9zaWduKERlY2ltYWwoJy0xLjUwJyksIERlY2ltYWwoJzcuMzMnKSkKLSAgICAgICAgRGVjaW1hbCgnMS41MCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29weV9zaWduKERlY2ltYWwoICcxLjUwJyksIERlY2ltYWwoJy03LjMzJykpCi0gICAgICAgIERlY2ltYWwoJy0xLjUwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jb3B5X3NpZ24oRGVjaW1hbCgnLTEuNTAnKSwgRGVjaW1hbCgnLTcuMzMnKSkKLSAgICAgICAgRGVjaW1hbCgnLTEuNTAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvcHlfc2lnbigxLCAtMikKLSAgICAgICAgRGVjaW1hbCgnLTEnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvcHlfc2lnbihEZWNpbWFsKDEpLCAtMikKLSAgICAgICAgRGVjaW1hbCgnLTEnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvcHlfc2lnbigxLCBEZWNpbWFsKC0yKSkKLSAgICAgICAgRGVjaW1hbCgnLTEnKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEuY29weV9zaWduKGIpCi0KLSAgICBkZWYgZGl2aWRlKHNlbGYsIGEsIGIpOgotICAgICAgICAiIiJEZWNpbWFsIGRpdmlzaW9uIGluIGEgc3BlY2lmaWVkIGNvbnRleHQuCi0KLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5kaXZpZGUoRGVjaW1hbCgnMScpLCBEZWNpbWFsKCczJykpCi0gICAgICAgIERlY2ltYWwoJzAuMzMzMzMzMzMzJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5kaXZpZGUoRGVjaW1hbCgnMicpLCBEZWNpbWFsKCczJykpCi0gICAgICAgIERlY2ltYWwoJzAuNjY2NjY2NjY3JykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5kaXZpZGUoRGVjaW1hbCgnNScpLCBEZWNpbWFsKCcyJykpCi0gICAgICAgIERlY2ltYWwoJzIuNScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZGl2aWRlKERlY2ltYWwoJzEnKSwgRGVjaW1hbCgnMTAnKSkKLSAgICAgICAgRGVjaW1hbCgnMC4xJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5kaXZpZGUoRGVjaW1hbCgnMTInKSwgRGVjaW1hbCgnMTInKSkKLSAgICAgICAgRGVjaW1hbCgnMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZGl2aWRlKERlY2ltYWwoJzguMDAnKSwgRGVjaW1hbCgnMicpKQotICAgICAgICBEZWNpbWFsKCc0LjAwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5kaXZpZGUoRGVjaW1hbCgnMi40MDAnKSwgRGVjaW1hbCgnMi4wJykpCi0gICAgICAgIERlY2ltYWwoJzEuMjAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmRpdmlkZShEZWNpbWFsKCcxMDAwJyksIERlY2ltYWwoJzEwMCcpKQotICAgICAgICBEZWNpbWFsKCcxMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZGl2aWRlKERlY2ltYWwoJzEwMDAnKSwgRGVjaW1hbCgnMScpKQotICAgICAgICBEZWNpbWFsKCcxMDAwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5kaXZpZGUoRGVjaW1hbCgnMi40MEUrNicpLCBEZWNpbWFsKCcyJykpCi0gICAgICAgIERlY2ltYWwoJzEuMjBFKzYnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmRpdmlkZSg1LCA1KQotICAgICAgICBEZWNpbWFsKCcxJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5kaXZpZGUoRGVjaW1hbCg1KSwgNSkKLSAgICAgICAgRGVjaW1hbCgnMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZGl2aWRlKDUsIERlY2ltYWwoNSkpCi0gICAgICAgIERlY2ltYWwoJzEnKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgciA9IGEuX190cnVlZGl2X18oYiwgY29udGV4dD1zZWxmKQotICAgICAgICBpZiByIGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJVbmFibGUgdG8gY29udmVydCAlcyB0byBEZWNpbWFsIiAlIGIpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gcgotCi0gICAgZGVmIGRpdmlkZV9pbnQoc2VsZiwgYSwgYik6Ci0gICAgICAgICIiIkRpdmlkZXMgdHdvIG51bWJlcnMgYW5kIHJldHVybnMgdGhlIGludGVnZXIgcGFydCBvZiB0aGUgcmVzdWx0LgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZGl2aWRlX2ludChEZWNpbWFsKCcyJyksIERlY2ltYWwoJzMnKSkKLSAgICAgICAgRGVjaW1hbCgnMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZGl2aWRlX2ludChEZWNpbWFsKCcxMCcpLCBEZWNpbWFsKCczJykpCi0gICAgICAgIERlY2ltYWwoJzMnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmRpdmlkZV9pbnQoRGVjaW1hbCgnMScpLCBEZWNpbWFsKCcwLjMnKSkKLSAgICAgICAgRGVjaW1hbCgnMycpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZGl2aWRlX2ludCgxMCwgMykKLSAgICAgICAgRGVjaW1hbCgnMycpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZGl2aWRlX2ludChEZWNpbWFsKDEwKSwgMykKLSAgICAgICAgRGVjaW1hbCgnMycpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZGl2aWRlX2ludCgxMCwgRGVjaW1hbCgzKSkKLSAgICAgICAgRGVjaW1hbCgnMycpCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByID0gYS5fX2Zsb29yZGl2X18oYiwgY29udGV4dD1zZWxmKQotICAgICAgICBpZiByIGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJVbmFibGUgdG8gY29udmVydCAlcyB0byBEZWNpbWFsIiAlIGIpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gcgotCi0gICAgZGVmIGRpdm1vZChzZWxmLCBhLCBiKToKLSAgICAgICAgIiIiUmV0dXJuIChhIC8vIGIsIGEgJSBiKS4KLQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmRpdm1vZChEZWNpbWFsKDgpLCBEZWNpbWFsKDMpKQotICAgICAgICAoRGVjaW1hbCgnMicpLCBEZWNpbWFsKCcyJykpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZGl2bW9kKERlY2ltYWwoOCksIERlY2ltYWwoNCkpCi0gICAgICAgIChEZWNpbWFsKCcyJyksIERlY2ltYWwoJzAnKSkKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5kaXZtb2QoOCwgNCkKLSAgICAgICAgKERlY2ltYWwoJzInKSwgRGVjaW1hbCgnMCcpKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmRpdm1vZChEZWNpbWFsKDgpLCA0KQotICAgICAgICAoRGVjaW1hbCgnMicpLCBEZWNpbWFsKCcwJykpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZGl2bW9kKDgsIERlY2ltYWwoNCkpCi0gICAgICAgIChEZWNpbWFsKCcyJyksIERlY2ltYWwoJzAnKSkKLSAgICAgICAgIiIiCi0gICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCi0gICAgICAgIHIgPSBhLl9fZGl2bW9kX18oYiwgY29udGV4dD1zZWxmKQotICAgICAgICBpZiByIGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJVbmFibGUgdG8gY29udmVydCAlcyB0byBEZWNpbWFsIiAlIGIpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gcgotCi0gICAgZGVmIGV4cChzZWxmLCBhKToKLSAgICAgICAgIiIiUmV0dXJucyBlICoqIGEuCi0KLSAgICAgICAgPj4+IGMgPSBFeHRlbmRlZENvbnRleHQuY29weSgpCi0gICAgICAgID4+PiBjLkVtaW4gPSAtOTk5Ci0gICAgICAgID4+PiBjLkVtYXggPSA5OTkKLSAgICAgICAgPj4+IGMuZXhwKERlY2ltYWwoJy1JbmZpbml0eScpKQotICAgICAgICBEZWNpbWFsKCcwJykKLSAgICAgICAgPj4+IGMuZXhwKERlY2ltYWwoJy0xJykpCi0gICAgICAgIERlY2ltYWwoJzAuMzY3ODc5NDQxJykKLSAgICAgICAgPj4+IGMuZXhwKERlY2ltYWwoJzAnKSkKLSAgICAgICAgRGVjaW1hbCgnMScpCi0gICAgICAgID4+PiBjLmV4cChEZWNpbWFsKCcxJykpCi0gICAgICAgIERlY2ltYWwoJzIuNzE4MjgxODMnKQotICAgICAgICA+Pj4gYy5leHAoRGVjaW1hbCgnMC42OTMxNDcxODEnKSkKLSAgICAgICAgRGVjaW1hbCgnMi4wMDAwMDAwMCcpCi0gICAgICAgID4+PiBjLmV4cChEZWNpbWFsKCcrSW5maW5pdHknKSkKLSAgICAgICAgRGVjaW1hbCgnSW5maW5pdHknKQotICAgICAgICA+Pj4gYy5leHAoMTApCi0gICAgICAgIERlY2ltYWwoJzIyMDI2LjQ2NTgnKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9X2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS5leHAoY29udGV4dD1zZWxmKQotCi0gICAgZGVmIGZtYShzZWxmLCBhLCBiLCBjKToKLSAgICAgICAgIiIiUmV0dXJucyBhIG11bHRpcGxpZWQgYnkgYiwgcGx1cyBjLgotCi0gICAgICAgIFRoZSBmaXJzdCB0d28gb3BlcmFuZHMgYXJlIG11bHRpcGxpZWQgdG9nZXRoZXIsIHVzaW5nIG11bHRpcGx5LAotICAgICAgICB0aGUgdGhpcmQgb3BlcmFuZCBpcyB0aGVuIGFkZGVkIHRvIHRoZSByZXN1bHQgb2YgdGhhdAotICAgICAgICBtdWx0aXBsaWNhdGlvbiwgdXNpbmcgYWRkLCBhbGwgd2l0aCBvbmx5IG9uZSBmaW5hbCByb3VuZGluZy4KLQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmZtYShEZWNpbWFsKCczJyksIERlY2ltYWwoJzUnKSwgRGVjaW1hbCgnNycpKQotICAgICAgICBEZWNpbWFsKCcyMicpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZm1hKERlY2ltYWwoJzMnKSwgRGVjaW1hbCgnLTUnKSwgRGVjaW1hbCgnNycpKQotICAgICAgICBEZWNpbWFsKCctOCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZm1hKERlY2ltYWwoJzg4ODU2NTI5MCcpLCBEZWNpbWFsKCcxNTU3Ljk2OTMwJyksIERlY2ltYWwoJy04NjA4Ny43NTc4JykpCi0gICAgICAgIERlY2ltYWwoJzEuMzg0MzU3MzZFKzEyJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5mbWEoMSwgMywgNCkKLSAgICAgICAgRGVjaW1hbCgnNycpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZm1hKDEsIERlY2ltYWwoMyksIDQpCi0gICAgICAgIERlY2ltYWwoJzcnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmZtYSgxLCAzLCBEZWNpbWFsKDQpKQotICAgICAgICBEZWNpbWFsKCc3JykKLSAgICAgICAgIiIiCi0gICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCi0gICAgICAgIHJldHVybiBhLmZtYShiLCBjLCBjb250ZXh0PXNlbGYpCi0KLSAgICBkZWYgaXNfY2Fub25pY2FsKHNlbGYsIGEpOgotICAgICAgICAiIiJSZXR1cm4gVHJ1ZSBpZiB0aGUgb3BlcmFuZCBpcyBjYW5vbmljYWw7IG90aGVyd2lzZSByZXR1cm4gRmFsc2UuCi0KLSAgICAgICAgQ3VycmVudGx5LCB0aGUgZW5jb2Rpbmcgb2YgYSBEZWNpbWFsIGluc3RhbmNlIGlzIGFsd2F5cwotICAgICAgICBjYW5vbmljYWwsIHNvIHRoaXMgbWV0aG9kIHJldHVybnMgVHJ1ZSBmb3IgYW55IERlY2ltYWwuCi0KLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc19jYW5vbmljYWwoRGVjaW1hbCgnMi41MCcpKQotICAgICAgICBUcnVlCi0gICAgICAgICIiIgotICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShhLCBEZWNpbWFsKToKLSAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiaXNfY2Fub25pY2FsIHJlcXVpcmVzIGEgRGVjaW1hbCBhcyBhbiBhcmd1bWVudC4iKQotICAgICAgICByZXR1cm4gYS5pc19jYW5vbmljYWwoKQotCi0gICAgZGVmIGlzX2Zpbml0ZShzZWxmLCBhKToKLSAgICAgICAgIiIiUmV0dXJuIFRydWUgaWYgdGhlIG9wZXJhbmQgaXMgZmluaXRlOyBvdGhlcndpc2UgcmV0dXJuIEZhbHNlLgotCi0gICAgICAgIEEgRGVjaW1hbCBpbnN0YW5jZSBpcyBjb25zaWRlcmVkIGZpbml0ZSBpZiBpdCBpcyBuZWl0aGVyCi0gICAgICAgIGluZmluaXRlIG5vciBhIE5hTi4KLQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX2Zpbml0ZShEZWNpbWFsKCcyLjUwJykpCi0gICAgICAgIFRydWUKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc19maW5pdGUoRGVjaW1hbCgnLTAuMycpKQotICAgICAgICBUcnVlCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfZmluaXRlKERlY2ltYWwoJzAnKSkKLSAgICAgICAgVHJ1ZQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX2Zpbml0ZShEZWNpbWFsKCdJbmYnKSkKLSAgICAgICAgRmFsc2UKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc19maW5pdGUoRGVjaW1hbCgnTmFOJykpCi0gICAgICAgIEZhbHNlCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfZmluaXRlKDEpCi0gICAgICAgIFRydWUKLSAgICAgICAgIiIiCi0gICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCi0gICAgICAgIHJldHVybiBhLmlzX2Zpbml0ZSgpCi0KLSAgICBkZWYgaXNfaW5maW5pdGUoc2VsZiwgYSk6Ci0gICAgICAgICIiIlJldHVybiBUcnVlIGlmIHRoZSBvcGVyYW5kIGlzIGluZmluaXRlOyBvdGhlcndpc2UgcmV0dXJuIEZhbHNlLgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfaW5maW5pdGUoRGVjaW1hbCgnMi41MCcpKQotICAgICAgICBGYWxzZQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX2luZmluaXRlKERlY2ltYWwoJy1JbmYnKSkKLSAgICAgICAgVHJ1ZQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX2luZmluaXRlKERlY2ltYWwoJ05hTicpKQotICAgICAgICBGYWxzZQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX2luZmluaXRlKDEpCi0gICAgICAgIEZhbHNlCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS5pc19pbmZpbml0ZSgpCi0KLSAgICBkZWYgaXNfbmFuKHNlbGYsIGEpOgotICAgICAgICAiIiJSZXR1cm4gVHJ1ZSBpZiB0aGUgb3BlcmFuZCBpcyBhIHFOYU4gb3Igc05hTjsKLSAgICAgICAgb3RoZXJ3aXNlIHJldHVybiBGYWxzZS4KLQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX25hbihEZWNpbWFsKCcyLjUwJykpCi0gICAgICAgIEZhbHNlCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfbmFuKERlY2ltYWwoJ05hTicpKQotICAgICAgICBUcnVlCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfbmFuKERlY2ltYWwoJy1zTmFOJykpCi0gICAgICAgIFRydWUKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc19uYW4oMSkKLSAgICAgICAgRmFsc2UKLSAgICAgICAgIiIiCi0gICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCi0gICAgICAgIHJldHVybiBhLmlzX25hbigpCi0KLSAgICBkZWYgaXNfbm9ybWFsKHNlbGYsIGEpOgotICAgICAgICAiIiJSZXR1cm4gVHJ1ZSBpZiB0aGUgb3BlcmFuZCBpcyBhIG5vcm1hbCBudW1iZXI7Ci0gICAgICAgIG90aGVyd2lzZSByZXR1cm4gRmFsc2UuCi0KLSAgICAgICAgPj4+IGMgPSBFeHRlbmRlZENvbnRleHQuY29weSgpCi0gICAgICAgID4+PiBjLkVtaW4gPSAtOTk5Ci0gICAgICAgID4+PiBjLkVtYXggPSA5OTkKLSAgICAgICAgPj4+IGMuaXNfbm9ybWFsKERlY2ltYWwoJzIuNTAnKSkKLSAgICAgICAgVHJ1ZQotICAgICAgICA+Pj4gYy5pc19ub3JtYWwoRGVjaW1hbCgnMC4xRS05OTknKSkKLSAgICAgICAgRmFsc2UKLSAgICAgICAgPj4+IGMuaXNfbm9ybWFsKERlY2ltYWwoJzAuMDAnKSkKLSAgICAgICAgRmFsc2UKLSAgICAgICAgPj4+IGMuaXNfbm9ybWFsKERlY2ltYWwoJy1JbmYnKSkKLSAgICAgICAgRmFsc2UKLSAgICAgICAgPj4+IGMuaXNfbm9ybWFsKERlY2ltYWwoJ05hTicpKQotICAgICAgICBGYWxzZQotICAgICAgICA+Pj4gYy5pc19ub3JtYWwoMSkKLSAgICAgICAgVHJ1ZQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEuaXNfbm9ybWFsKGNvbnRleHQ9c2VsZikKLQotICAgIGRlZiBpc19xbmFuKHNlbGYsIGEpOgotICAgICAgICAiIiJSZXR1cm4gVHJ1ZSBpZiB0aGUgb3BlcmFuZCBpcyBhIHF1aWV0IE5hTjsgb3RoZXJ3aXNlIHJldHVybiBGYWxzZS4KLQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX3FuYW4oRGVjaW1hbCgnMi41MCcpKQotICAgICAgICBGYWxzZQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX3FuYW4oRGVjaW1hbCgnTmFOJykpCi0gICAgICAgIFRydWUKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc19xbmFuKERlY2ltYWwoJ3NOYU4nKSkKLSAgICAgICAgRmFsc2UKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc19xbmFuKDEpCi0gICAgICAgIEZhbHNlCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS5pc19xbmFuKCkKLQotICAgIGRlZiBpc19zaWduZWQoc2VsZiwgYSk6Ci0gICAgICAgICIiIlJldHVybiBUcnVlIGlmIHRoZSBvcGVyYW5kIGlzIG5lZ2F0aXZlOyBvdGhlcndpc2UgcmV0dXJuIEZhbHNlLgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfc2lnbmVkKERlY2ltYWwoJzIuNTAnKSkKLSAgICAgICAgRmFsc2UKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc19zaWduZWQoRGVjaW1hbCgnLTEyJykpCi0gICAgICAgIFRydWUKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc19zaWduZWQoRGVjaW1hbCgnLTAnKSkKLSAgICAgICAgVHJ1ZQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX3NpZ25lZCg4KQotICAgICAgICBGYWxzZQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX3NpZ25lZCgtOCkKLSAgICAgICAgVHJ1ZQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEuaXNfc2lnbmVkKCkKLQotICAgIGRlZiBpc19zbmFuKHNlbGYsIGEpOgotICAgICAgICAiIiJSZXR1cm4gVHJ1ZSBpZiB0aGUgb3BlcmFuZCBpcyBhIHNpZ25hbGluZyBOYU47Ci0gICAgICAgIG90aGVyd2lzZSByZXR1cm4gRmFsc2UuCi0KLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc19zbmFuKERlY2ltYWwoJzIuNTAnKSkKLSAgICAgICAgRmFsc2UKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc19zbmFuKERlY2ltYWwoJ05hTicpKQotICAgICAgICBGYWxzZQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX3NuYW4oRGVjaW1hbCgnc05hTicpKQotICAgICAgICBUcnVlCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfc25hbigxKQotICAgICAgICBGYWxzZQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEuaXNfc25hbigpCi0KLSAgICBkZWYgaXNfc3Vibm9ybWFsKHNlbGYsIGEpOgotICAgICAgICAiIiJSZXR1cm4gVHJ1ZSBpZiB0aGUgb3BlcmFuZCBpcyBzdWJub3JtYWw7IG90aGVyd2lzZSByZXR1cm4gRmFsc2UuCi0KLSAgICAgICAgPj4+IGMgPSBFeHRlbmRlZENvbnRleHQuY29weSgpCi0gICAgICAgID4+PiBjLkVtaW4gPSAtOTk5Ci0gICAgICAgID4+PiBjLkVtYXggPSA5OTkKLSAgICAgICAgPj4+IGMuaXNfc3Vibm9ybWFsKERlY2ltYWwoJzIuNTAnKSkKLSAgICAgICAgRmFsc2UKLSAgICAgICAgPj4+IGMuaXNfc3Vibm9ybWFsKERlY2ltYWwoJzAuMUUtOTk5JykpCi0gICAgICAgIFRydWUKLSAgICAgICAgPj4+IGMuaXNfc3Vibm9ybWFsKERlY2ltYWwoJzAuMDAnKSkKLSAgICAgICAgRmFsc2UKLSAgICAgICAgPj4+IGMuaXNfc3Vibm9ybWFsKERlY2ltYWwoJy1JbmYnKSkKLSAgICAgICAgRmFsc2UKLSAgICAgICAgPj4+IGMuaXNfc3Vibm9ybWFsKERlY2ltYWwoJ05hTicpKQotICAgICAgICBGYWxzZQotICAgICAgICA+Pj4gYy5pc19zdWJub3JtYWwoMSkKLSAgICAgICAgRmFsc2UKLSAgICAgICAgIiIiCi0gICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCi0gICAgICAgIHJldHVybiBhLmlzX3N1Ym5vcm1hbChjb250ZXh0PXNlbGYpCi0KLSAgICBkZWYgaXNfemVybyhzZWxmLCBhKToKLSAgICAgICAgIiIiUmV0dXJuIFRydWUgaWYgdGhlIG9wZXJhbmQgaXMgYSB6ZXJvOyBvdGhlcndpc2UgcmV0dXJuIEZhbHNlLgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfemVybyhEZWNpbWFsKCcwJykpCi0gICAgICAgIFRydWUKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc196ZXJvKERlY2ltYWwoJzIuNTAnKSkKLSAgICAgICAgRmFsc2UKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc196ZXJvKERlY2ltYWwoJy0wRSsyJykpCi0gICAgICAgIFRydWUKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc196ZXJvKDEpCi0gICAgICAgIEZhbHNlCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfemVybygwKQotICAgICAgICBUcnVlCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS5pc196ZXJvKCkKLQotICAgIGRlZiBsbihzZWxmLCBhKToKLSAgICAgICAgIiIiUmV0dXJucyB0aGUgbmF0dXJhbCAoYmFzZSBlKSBsb2dhcml0aG0gb2YgdGhlIG9wZXJhbmQuCi0KLSAgICAgICAgPj4+IGMgPSBFeHRlbmRlZENvbnRleHQuY29weSgpCi0gICAgICAgID4+PiBjLkVtaW4gPSAtOTk5Ci0gICAgICAgID4+PiBjLkVtYXggPSA5OTkKLSAgICAgICAgPj4+IGMubG4oRGVjaW1hbCgnMCcpKQotICAgICAgICBEZWNpbWFsKCctSW5maW5pdHknKQotICAgICAgICA+Pj4gYy5sbihEZWNpbWFsKCcxLjAwMCcpKQotICAgICAgICBEZWNpbWFsKCcwJykKLSAgICAgICAgPj4+IGMubG4oRGVjaW1hbCgnMi43MTgyODE4MycpKQotICAgICAgICBEZWNpbWFsKCcxLjAwMDAwMDAwJykKLSAgICAgICAgPj4+IGMubG4oRGVjaW1hbCgnMTAnKSkKLSAgICAgICAgRGVjaW1hbCgnMi4zMDI1ODUwOScpCi0gICAgICAgID4+PiBjLmxuKERlY2ltYWwoJytJbmZpbml0eScpKQotICAgICAgICBEZWNpbWFsKCdJbmZpbml0eScpCi0gICAgICAgID4+PiBjLmxuKDEpCi0gICAgICAgIERlY2ltYWwoJzAnKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEubG4oY29udGV4dD1zZWxmKQotCi0gICAgZGVmIGxvZzEwKHNlbGYsIGEpOgotICAgICAgICAiIiJSZXR1cm5zIHRoZSBiYXNlIDEwIGxvZ2FyaXRobSBvZiB0aGUgb3BlcmFuZC4KLQotICAgICAgICA+Pj4gYyA9IEV4dGVuZGVkQ29udGV4dC5jb3B5KCkKLSAgICAgICAgPj4+IGMuRW1pbiA9IC05OTkKLSAgICAgICAgPj4+IGMuRW1heCA9IDk5OQotICAgICAgICA+Pj4gYy5sb2cxMChEZWNpbWFsKCcwJykpCi0gICAgICAgIERlY2ltYWwoJy1JbmZpbml0eScpCi0gICAgICAgID4+PiBjLmxvZzEwKERlY2ltYWwoJzAuMDAxJykpCi0gICAgICAgIERlY2ltYWwoJy0zJykKLSAgICAgICAgPj4+IGMubG9nMTAoRGVjaW1hbCgnMS4wMDAnKSkKLSAgICAgICAgRGVjaW1hbCgnMCcpCi0gICAgICAgID4+PiBjLmxvZzEwKERlY2ltYWwoJzInKSkKLSAgICAgICAgRGVjaW1hbCgnMC4zMDEwMjk5OTYnKQotICAgICAgICA+Pj4gYy5sb2cxMChEZWNpbWFsKCcxMCcpKQotICAgICAgICBEZWNpbWFsKCcxJykKLSAgICAgICAgPj4+IGMubG9nMTAoRGVjaW1hbCgnNzAnKSkKLSAgICAgICAgRGVjaW1hbCgnMS44NDUwOTgwNCcpCi0gICAgICAgID4+PiBjLmxvZzEwKERlY2ltYWwoJytJbmZpbml0eScpKQotICAgICAgICBEZWNpbWFsKCdJbmZpbml0eScpCi0gICAgICAgID4+PiBjLmxvZzEwKDApCi0gICAgICAgIERlY2ltYWwoJy1JbmZpbml0eScpCi0gICAgICAgID4+PiBjLmxvZzEwKDEpCi0gICAgICAgIERlY2ltYWwoJzAnKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEubG9nMTAoY29udGV4dD1zZWxmKQotCi0gICAgZGVmIGxvZ2Ioc2VsZiwgYSk6Ci0gICAgICAgICIiIiBSZXR1cm5zIHRoZSBleHBvbmVudCBvZiB0aGUgbWFnbml0dWRlIG9mIHRoZSBvcGVyYW5kJ3MgTVNELgotCi0gICAgICAgIFRoZSByZXN1bHQgaXMgdGhlIGludGVnZXIgd2hpY2ggaXMgdGhlIGV4cG9uZW50IG9mIHRoZSBtYWduaXR1ZGUKLSAgICAgICAgb2YgdGhlIG1vc3Qgc2lnbmlmaWNhbnQgZGlnaXQgb2YgdGhlIG9wZXJhbmQgKGFzIHRob3VnaCB0aGUKLSAgICAgICAgb3BlcmFuZCB3ZXJlIHRydW5jYXRlZCB0byBhIHNpbmdsZSBkaWdpdCB3aGlsZSBtYWludGFpbmluZyB0aGUKLSAgICAgICAgdmFsdWUgb2YgdGhhdCBkaWdpdCBhbmQgd2l0aG91dCBsaW1pdGluZyB0aGUgcmVzdWx0aW5nIGV4cG9uZW50KS4KLQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2IoRGVjaW1hbCgnMjUwJykpCi0gICAgICAgIERlY2ltYWwoJzInKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2IoRGVjaW1hbCgnMi41MCcpKQotICAgICAgICBEZWNpbWFsKCcwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2diKERlY2ltYWwoJzAuMDMnKSkKLSAgICAgICAgRGVjaW1hbCgnLTInKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2IoRGVjaW1hbCgnMCcpKQotICAgICAgICBEZWNpbWFsKCctSW5maW5pdHknKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2IoMSkKLSAgICAgICAgRGVjaW1hbCgnMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9nYigxMCkKLSAgICAgICAgRGVjaW1hbCgnMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9nYigxMDApCi0gICAgICAgIERlY2ltYWwoJzInKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEubG9nYihjb250ZXh0PXNlbGYpCi0KLSAgICBkZWYgbG9naWNhbF9hbmQoc2VsZiwgYSwgYik6Ci0gICAgICAgICIiIkFwcGxpZXMgdGhlIGxvZ2ljYWwgb3BlcmF0aW9uICdhbmQnIGJldHdlZW4gZWFjaCBvcGVyYW5kJ3MgZGlnaXRzLgotCi0gICAgICAgIFRoZSBvcGVyYW5kcyBtdXN0IGJlIGJvdGggbG9naWNhbCBudW1iZXJzLgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9hbmQoRGVjaW1hbCgnMCcpLCBEZWNpbWFsKCcwJykpCi0gICAgICAgIERlY2ltYWwoJzAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2ljYWxfYW5kKERlY2ltYWwoJzAnKSwgRGVjaW1hbCgnMScpKQotICAgICAgICBEZWNpbWFsKCcwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX2FuZChEZWNpbWFsKCcxJyksIERlY2ltYWwoJzAnKSkKLSAgICAgICAgRGVjaW1hbCgnMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9hbmQoRGVjaW1hbCgnMScpLCBEZWNpbWFsKCcxJykpCi0gICAgICAgIERlY2ltYWwoJzEnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2ljYWxfYW5kKERlY2ltYWwoJzExMDAnKSwgRGVjaW1hbCgnMTAxMCcpKQotICAgICAgICBEZWNpbWFsKCcxMDAwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX2FuZChEZWNpbWFsKCcxMTExJyksIERlY2ltYWwoJzEwJykpCi0gICAgICAgIERlY2ltYWwoJzEwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX2FuZCgxMTAsIDExMDEpCi0gICAgICAgIERlY2ltYWwoJzEwMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9hbmQoRGVjaW1hbCgxMTApLCAxMTAxKQotICAgICAgICBEZWNpbWFsKCcxMDAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2ljYWxfYW5kKDExMCwgRGVjaW1hbCgxMTAxKSkKLSAgICAgICAgRGVjaW1hbCgnMTAwJykKLSAgICAgICAgIiIiCi0gICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCi0gICAgICAgIHJldHVybiBhLmxvZ2ljYWxfYW5kKGIsIGNvbnRleHQ9c2VsZikKLQotICAgIGRlZiBsb2dpY2FsX2ludmVydChzZWxmLCBhKToKLSAgICAgICAgIiIiSW52ZXJ0IGFsbCB0aGUgZGlnaXRzIGluIHRoZSBvcGVyYW5kLgotCi0gICAgICAgIFRoZSBvcGVyYW5kIG11c3QgYmUgYSBsb2dpY2FsIG51bWJlci4KLQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2ljYWxfaW52ZXJ0KERlY2ltYWwoJzAnKSkKLSAgICAgICAgRGVjaW1hbCgnMTExMTExMTExJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX2ludmVydChEZWNpbWFsKCcxJykpCi0gICAgICAgIERlY2ltYWwoJzExMTExMTExMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9pbnZlcnQoRGVjaW1hbCgnMTExMTExMTExJykpCi0gICAgICAgIERlY2ltYWwoJzAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2ljYWxfaW52ZXJ0KERlY2ltYWwoJzEwMTAxMDEwMScpKQotICAgICAgICBEZWNpbWFsKCcxMDEwMTAxMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9pbnZlcnQoMTEwMSkKLSAgICAgICAgRGVjaW1hbCgnMTExMTEwMDEwJykKLSAgICAgICAgIiIiCi0gICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCi0gICAgICAgIHJldHVybiBhLmxvZ2ljYWxfaW52ZXJ0KGNvbnRleHQ9c2VsZikKLQotICAgIGRlZiBsb2dpY2FsX29yKHNlbGYsIGEsIGIpOgotICAgICAgICAiIiJBcHBsaWVzIHRoZSBsb2dpY2FsIG9wZXJhdGlvbiAnb3InIGJldHdlZW4gZWFjaCBvcGVyYW5kJ3MgZGlnaXRzLgotCi0gICAgICAgIFRoZSBvcGVyYW5kcyBtdXN0IGJlIGJvdGggbG9naWNhbCBudW1iZXJzLgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9vcihEZWNpbWFsKCcwJyksIERlY2ltYWwoJzAnKSkKLSAgICAgICAgRGVjaW1hbCgnMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9vcihEZWNpbWFsKCcwJyksIERlY2ltYWwoJzEnKSkKLSAgICAgICAgRGVjaW1hbCgnMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9vcihEZWNpbWFsKCcxJyksIERlY2ltYWwoJzAnKSkKLSAgICAgICAgRGVjaW1hbCgnMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9vcihEZWNpbWFsKCcxJyksIERlY2ltYWwoJzEnKSkKLSAgICAgICAgRGVjaW1hbCgnMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9vcihEZWNpbWFsKCcxMTAwJyksIERlY2ltYWwoJzEwMTAnKSkKLSAgICAgICAgRGVjaW1hbCgnMTExMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9vcihEZWNpbWFsKCcxMTEwJyksIERlY2ltYWwoJzEwJykpCi0gICAgICAgIERlY2ltYWwoJzExMTAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2ljYWxfb3IoMTEwLCAxMTAxKQotICAgICAgICBEZWNpbWFsKCcxMTExJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX29yKERlY2ltYWwoMTEwKSwgMTEwMSkKLSAgICAgICAgRGVjaW1hbCgnMTExMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9vcigxMTAsIERlY2ltYWwoMTEwMSkpCi0gICAgICAgIERlY2ltYWwoJzExMTEnKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEubG9naWNhbF9vcihiLCBjb250ZXh0PXNlbGYpCi0KLSAgICBkZWYgbG9naWNhbF94b3Ioc2VsZiwgYSwgYik6Ci0gICAgICAgICIiIkFwcGxpZXMgdGhlIGxvZ2ljYWwgb3BlcmF0aW9uICd4b3InIGJldHdlZW4gZWFjaCBvcGVyYW5kJ3MgZGlnaXRzLgotCi0gICAgICAgIFRoZSBvcGVyYW5kcyBtdXN0IGJlIGJvdGggbG9naWNhbCBudW1iZXJzLgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF94b3IoRGVjaW1hbCgnMCcpLCBEZWNpbWFsKCcwJykpCi0gICAgICAgIERlY2ltYWwoJzAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2ljYWxfeG9yKERlY2ltYWwoJzAnKSwgRGVjaW1hbCgnMScpKQotICAgICAgICBEZWNpbWFsKCcxJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX3hvcihEZWNpbWFsKCcxJyksIERlY2ltYWwoJzAnKSkKLSAgICAgICAgRGVjaW1hbCgnMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF94b3IoRGVjaW1hbCgnMScpLCBEZWNpbWFsKCcxJykpCi0gICAgICAgIERlY2ltYWwoJzAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2ljYWxfeG9yKERlY2ltYWwoJzExMDAnKSwgRGVjaW1hbCgnMTAxMCcpKQotICAgICAgICBEZWNpbWFsKCcxMTAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2ljYWxfeG9yKERlY2ltYWwoJzExMTEnKSwgRGVjaW1hbCgnMTAnKSkKLSAgICAgICAgRGVjaW1hbCgnMTEwMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF94b3IoMTEwLCAxMTAxKQotICAgICAgICBEZWNpbWFsKCcxMDExJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX3hvcihEZWNpbWFsKDExMCksIDExMDEpCi0gICAgICAgIERlY2ltYWwoJzEwMTEnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2ljYWxfeG9yKDExMCwgRGVjaW1hbCgxMTAxKSkKLSAgICAgICAgRGVjaW1hbCgnMTAxMScpCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS5sb2dpY2FsX3hvcihiLCBjb250ZXh0PXNlbGYpCi0KLSAgICBkZWYgbWF4KHNlbGYsIGEsIGIpOgotICAgICAgICAiIiJtYXggY29tcGFyZXMgdHdvIHZhbHVlcyBudW1lcmljYWxseSBhbmQgcmV0dXJucyB0aGUgbWF4aW11bS4KLQotICAgICAgICBJZiBlaXRoZXIgb3BlcmFuZCBpcyBhIE5hTiB0aGVuIHRoZSBnZW5lcmFsIHJ1bGVzIGFwcGx5LgotICAgICAgICBPdGhlcndpc2UsIHRoZSBvcGVyYW5kcyBhcmUgY29tcGFyZWQgYXMgdGhvdWdoIGJ5IHRoZSBjb21wYXJlCi0gICAgICAgIG9wZXJhdGlvbi4gIElmIHRoZXkgYXJlIG51bWVyaWNhbGx5IGVxdWFsIHRoZW4gdGhlIGxlZnQtaGFuZCBvcGVyYW5kCi0gICAgICAgIGlzIGNob3NlbiBhcyB0aGUgcmVzdWx0LiAgT3RoZXJ3aXNlIHRoZSBtYXhpbXVtIChjbG9zZXIgdG8gcG9zaXRpdmUKLSAgICAgICAgaW5maW5pdHkpIG9mIHRoZSB0d28gb3BlcmFuZHMgaXMgY2hvc2VuIGFzIHRoZSByZXN1bHQuCi0KLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5tYXgoRGVjaW1hbCgnMycpLCBEZWNpbWFsKCcyJykpCi0gICAgICAgIERlY2ltYWwoJzMnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm1heChEZWNpbWFsKCctMTAnKSwgRGVjaW1hbCgnMycpKQotICAgICAgICBEZWNpbWFsKCczJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5tYXgoRGVjaW1hbCgnMS4wJyksIERlY2ltYWwoJzEnKSkKLSAgICAgICAgRGVjaW1hbCgnMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWF4KERlY2ltYWwoJzcnKSwgRGVjaW1hbCgnTmFOJykpCi0gICAgICAgIERlY2ltYWwoJzcnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm1heCgxLCAyKQotICAgICAgICBEZWNpbWFsKCcyJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5tYXgoRGVjaW1hbCgxKSwgMikKLSAgICAgICAgRGVjaW1hbCgnMicpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWF4KDEsIERlY2ltYWwoMikpCi0gICAgICAgIERlY2ltYWwoJzInKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEubWF4KGIsIGNvbnRleHQ9c2VsZikKLQotICAgIGRlZiBtYXhfbWFnKHNlbGYsIGEsIGIpOgotICAgICAgICAiIiJDb21wYXJlcyB0aGUgdmFsdWVzIG51bWVyaWNhbGx5IHdpdGggdGhlaXIgc2lnbiBpZ25vcmVkLgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWF4X21hZyhEZWNpbWFsKCc3JyksIERlY2ltYWwoJ05hTicpKQotICAgICAgICBEZWNpbWFsKCc3JykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5tYXhfbWFnKERlY2ltYWwoJzcnKSwgRGVjaW1hbCgnLTEwJykpCi0gICAgICAgIERlY2ltYWwoJy0xMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWF4X21hZygxLCAtMikKLSAgICAgICAgRGVjaW1hbCgnLTInKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm1heF9tYWcoRGVjaW1hbCgxKSwgLTIpCi0gICAgICAgIERlY2ltYWwoJy0yJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5tYXhfbWFnKDEsIERlY2ltYWwoLTIpKQotICAgICAgICBEZWNpbWFsKCctMicpCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS5tYXhfbWFnKGIsIGNvbnRleHQ9c2VsZikKLQotICAgIGRlZiBtaW4oc2VsZiwgYSwgYik6Ci0gICAgICAgICIiIm1pbiBjb21wYXJlcyB0d28gdmFsdWVzIG51bWVyaWNhbGx5IGFuZCByZXR1cm5zIHRoZSBtaW5pbXVtLgotCi0gICAgICAgIElmIGVpdGhlciBvcGVyYW5kIGlzIGEgTmFOIHRoZW4gdGhlIGdlbmVyYWwgcnVsZXMgYXBwbHkuCi0gICAgICAgIE90aGVyd2lzZSwgdGhlIG9wZXJhbmRzIGFyZSBjb21wYXJlZCBhcyB0aG91Z2ggYnkgdGhlIGNvbXBhcmUKLSAgICAgICAgb3BlcmF0aW9uLiAgSWYgdGhleSBhcmUgbnVtZXJpY2FsbHkgZXF1YWwgdGhlbiB0aGUgbGVmdC1oYW5kIG9wZXJhbmQKLSAgICAgICAgaXMgY2hvc2VuIGFzIHRoZSByZXN1bHQuICBPdGhlcndpc2UgdGhlIG1pbmltdW0gKGNsb3NlciB0byBuZWdhdGl2ZQotICAgICAgICBpbmZpbml0eSkgb2YgdGhlIHR3byBvcGVyYW5kcyBpcyBjaG9zZW4gYXMgdGhlIHJlc3VsdC4KLQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm1pbihEZWNpbWFsKCczJyksIERlY2ltYWwoJzInKSkKLSAgICAgICAgRGVjaW1hbCgnMicpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWluKERlY2ltYWwoJy0xMCcpLCBEZWNpbWFsKCczJykpCi0gICAgICAgIERlY2ltYWwoJy0xMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWluKERlY2ltYWwoJzEuMCcpLCBEZWNpbWFsKCcxJykpCi0gICAgICAgIERlY2ltYWwoJzEuMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWluKERlY2ltYWwoJzcnKSwgRGVjaW1hbCgnTmFOJykpCi0gICAgICAgIERlY2ltYWwoJzcnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm1pbigxLCAyKQotICAgICAgICBEZWNpbWFsKCcxJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5taW4oRGVjaW1hbCgxKSwgMikKLSAgICAgICAgRGVjaW1hbCgnMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWluKDEsIERlY2ltYWwoMjkpKQotICAgICAgICBEZWNpbWFsKCcxJykKLSAgICAgICAgIiIiCi0gICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCi0gICAgICAgIHJldHVybiBhLm1pbihiLCBjb250ZXh0PXNlbGYpCi0KLSAgICBkZWYgbWluX21hZyhzZWxmLCBhLCBiKToKLSAgICAgICAgIiIiQ29tcGFyZXMgdGhlIHZhbHVlcyBudW1lcmljYWxseSB3aXRoIHRoZWlyIHNpZ24gaWdub3JlZC4KLQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm1pbl9tYWcoRGVjaW1hbCgnMycpLCBEZWNpbWFsKCctMicpKQotICAgICAgICBEZWNpbWFsKCctMicpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWluX21hZyhEZWNpbWFsKCctMycpLCBEZWNpbWFsKCdOYU4nKSkKLSAgICAgICAgRGVjaW1hbCgnLTMnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm1pbl9tYWcoMSwgLTIpCi0gICAgICAgIERlY2ltYWwoJzEnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm1pbl9tYWcoRGVjaW1hbCgxKSwgLTIpCi0gICAgICAgIERlY2ltYWwoJzEnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm1pbl9tYWcoMSwgRGVjaW1hbCgtMikpCi0gICAgICAgIERlY2ltYWwoJzEnKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEubWluX21hZyhiLCBjb250ZXh0PXNlbGYpCi0KLSAgICBkZWYgbWludXMoc2VsZiwgYSk6Ci0gICAgICAgICIiIk1pbnVzIGNvcnJlc3BvbmRzIHRvIHVuYXJ5IHByZWZpeCBtaW51cyBpbiBQeXRob24uCi0KLSAgICAgICAgVGhlIG9wZXJhdGlvbiBpcyBldmFsdWF0ZWQgdXNpbmcgdGhlIHNhbWUgcnVsZXMgYXMgc3VidHJhY3Q7IHRoZQotICAgICAgICBvcGVyYXRpb24gbWludXMoYSkgaXMgY2FsY3VsYXRlZCBhcyBzdWJ0cmFjdCgnMCcsIGEpIHdoZXJlIHRoZSAnMCcKLSAgICAgICAgaGFzIHRoZSBzYW1lIGV4cG9uZW50IGFzIHRoZSBvcGVyYW5kLgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWludXMoRGVjaW1hbCgnMS4zJykpCi0gICAgICAgIERlY2ltYWwoJy0xLjMnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm1pbnVzKERlY2ltYWwoJy0xLjMnKSkKLSAgICAgICAgRGVjaW1hbCgnMS4zJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5taW51cygxKQotICAgICAgICBEZWNpbWFsKCctMScpCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS5fX25lZ19fKGNvbnRleHQ9c2VsZikKLQotICAgIGRlZiBtdWx0aXBseShzZWxmLCBhLCBiKToKLSAgICAgICAgIiIibXVsdGlwbHkgbXVsdGlwbGllcyB0d28gb3BlcmFuZHMuCi0KLSAgICAgICAgSWYgZWl0aGVyIG9wZXJhbmQgaXMgYSBzcGVjaWFsIHZhbHVlIHRoZW4gdGhlIGdlbmVyYWwgcnVsZXMgYXBwbHkuCi0gICAgICAgIE90aGVyd2lzZSwgdGhlIG9wZXJhbmRzIGFyZSBtdWx0aXBsaWVkIHRvZ2V0aGVyCi0gICAgICAgICgnbG9uZyBtdWx0aXBsaWNhdGlvbicpLCByZXN1bHRpbmcgaW4gYSBudW1iZXIgd2hpY2ggbWF5IGJlIGFzIGxvbmcgYXMKLSAgICAgICAgdGhlIHN1bSBvZiB0aGUgbGVuZ3RocyBvZiB0aGUgdHdvIG9wZXJhbmRzLgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubXVsdGlwbHkoRGVjaW1hbCgnMS4yMCcpLCBEZWNpbWFsKCczJykpCi0gICAgICAgIERlY2ltYWwoJzMuNjAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm11bHRpcGx5KERlY2ltYWwoJzcnKSwgRGVjaW1hbCgnMycpKQotICAgICAgICBEZWNpbWFsKCcyMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubXVsdGlwbHkoRGVjaW1hbCgnMC45JyksIERlY2ltYWwoJzAuOCcpKQotICAgICAgICBEZWNpbWFsKCcwLjcyJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5tdWx0aXBseShEZWNpbWFsKCcwLjknKSwgRGVjaW1hbCgnLTAnKSkKLSAgICAgICAgRGVjaW1hbCgnLTAuMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubXVsdGlwbHkoRGVjaW1hbCgnNjU0MzIxJyksIERlY2ltYWwoJzY1NDMyMScpKQotICAgICAgICBEZWNpbWFsKCc0LjI4MTM1OTcxRSsxMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubXVsdGlwbHkoNywgNykKLSAgICAgICAgRGVjaW1hbCgnNDknKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm11bHRpcGx5KERlY2ltYWwoNyksIDcpCi0gICAgICAgIERlY2ltYWwoJzQ5JykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5tdWx0aXBseSg3LCBEZWNpbWFsKDcpKQotICAgICAgICBEZWNpbWFsKCc0OScpCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByID0gYS5fX211bF9fKGIsIGNvbnRleHQ9c2VsZikKLSAgICAgICAgaWYgciBpcyBOb3RJbXBsZW1lbnRlZDoKLSAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiVW5hYmxlIHRvIGNvbnZlcnQgJXMgdG8gRGVjaW1hbCIgJSBiKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmV0dXJuIHIKLQotICAgIGRlZiBuZXh0X21pbnVzKHNlbGYsIGEpOgotICAgICAgICAiIiJSZXR1cm5zIHRoZSBsYXJnZXN0IHJlcHJlc2VudGFibGUgbnVtYmVyIHNtYWxsZXIgdGhhbiBhLgotCi0gICAgICAgID4+PiBjID0gRXh0ZW5kZWRDb250ZXh0LmNvcHkoKQotICAgICAgICA+Pj4gYy5FbWluID0gLTk5OQotICAgICAgICA+Pj4gYy5FbWF4ID0gOTk5Ci0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubmV4dF9taW51cyhEZWNpbWFsKCcxJykpCi0gICAgICAgIERlY2ltYWwoJzAuOTk5OTk5OTk5JykKLSAgICAgICAgPj4+IGMubmV4dF9taW51cyhEZWNpbWFsKCcxRS0xMDA3JykpCi0gICAgICAgIERlY2ltYWwoJzBFLTEwMDcnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm5leHRfbWludXMoRGVjaW1hbCgnLTEuMDAwMDAwMDMnKSkKLSAgICAgICAgRGVjaW1hbCgnLTEuMDAwMDAwMDQnKQotICAgICAgICA+Pj4gYy5uZXh0X21pbnVzKERlY2ltYWwoJ0luZmluaXR5JykpCi0gICAgICAgIERlY2ltYWwoJzkuOTk5OTk5OTlFKzk5OScpCi0gICAgICAgID4+PiBjLm5leHRfbWludXMoMSkKLSAgICAgICAgRGVjaW1hbCgnMC45OTk5OTk5OTknKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEubmV4dF9taW51cyhjb250ZXh0PXNlbGYpCi0KLSAgICBkZWYgbmV4dF9wbHVzKHNlbGYsIGEpOgotICAgICAgICAiIiJSZXR1cm5zIHRoZSBzbWFsbGVzdCByZXByZXNlbnRhYmxlIG51bWJlciBsYXJnZXIgdGhhbiBhLgotCi0gICAgICAgID4+PiBjID0gRXh0ZW5kZWRDb250ZXh0LmNvcHkoKQotICAgICAgICA+Pj4gYy5FbWluID0gLTk5OQotICAgICAgICA+Pj4gYy5FbWF4ID0gOTk5Ci0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubmV4dF9wbHVzKERlY2ltYWwoJzEnKSkKLSAgICAgICAgRGVjaW1hbCgnMS4wMDAwMDAwMScpCi0gICAgICAgID4+PiBjLm5leHRfcGx1cyhEZWNpbWFsKCctMUUtMTAwNycpKQotICAgICAgICBEZWNpbWFsKCctMEUtMTAwNycpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubmV4dF9wbHVzKERlY2ltYWwoJy0xLjAwMDAwMDAzJykpCi0gICAgICAgIERlY2ltYWwoJy0xLjAwMDAwMDAyJykKLSAgICAgICAgPj4+IGMubmV4dF9wbHVzKERlY2ltYWwoJy1JbmZpbml0eScpKQotICAgICAgICBEZWNpbWFsKCctOS45OTk5OTk5OUUrOTk5JykKLSAgICAgICAgPj4+IGMubmV4dF9wbHVzKDEpCi0gICAgICAgIERlY2ltYWwoJzEuMDAwMDAwMDEnKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEubmV4dF9wbHVzKGNvbnRleHQ9c2VsZikKLQotICAgIGRlZiBuZXh0X3Rvd2FyZChzZWxmLCBhLCBiKToKLSAgICAgICAgIiIiUmV0dXJucyB0aGUgbnVtYmVyIGNsb3Nlc3QgdG8gYSwgaW4gZGlyZWN0aW9uIHRvd2FyZHMgYi4KLQotICAgICAgICBUaGUgcmVzdWx0IGlzIHRoZSBjbG9zZXN0IHJlcHJlc2VudGFibGUgbnVtYmVyIGZyb20gdGhlIGZpcnN0Ci0gICAgICAgIG9wZXJhbmQgKGJ1dCBub3QgdGhlIGZpcnN0IG9wZXJhbmQpIHRoYXQgaXMgaW4gdGhlIGRpcmVjdGlvbgotICAgICAgICB0b3dhcmRzIHRoZSBzZWNvbmQgb3BlcmFuZCwgdW5sZXNzIHRoZSBvcGVyYW5kcyBoYXZlIHRoZSBzYW1lCi0gICAgICAgIHZhbHVlLgotCi0gICAgICAgID4+PiBjID0gRXh0ZW5kZWRDb250ZXh0LmNvcHkoKQotICAgICAgICA+Pj4gYy5FbWluID0gLTk5OQotICAgICAgICA+Pj4gYy5FbWF4ID0gOTk5Ci0gICAgICAgID4+PiBjLm5leHRfdG93YXJkKERlY2ltYWwoJzEnKSwgRGVjaW1hbCgnMicpKQotICAgICAgICBEZWNpbWFsKCcxLjAwMDAwMDAxJykKLSAgICAgICAgPj4+IGMubmV4dF90b3dhcmQoRGVjaW1hbCgnLTFFLTEwMDcnKSwgRGVjaW1hbCgnMScpKQotICAgICAgICBEZWNpbWFsKCctMEUtMTAwNycpCi0gICAgICAgID4+PiBjLm5leHRfdG93YXJkKERlY2ltYWwoJy0xLjAwMDAwMDAzJyksIERlY2ltYWwoJzAnKSkKLSAgICAgICAgRGVjaW1hbCgnLTEuMDAwMDAwMDInKQotICAgICAgICA+Pj4gYy5uZXh0X3Rvd2FyZChEZWNpbWFsKCcxJyksIERlY2ltYWwoJzAnKSkKLSAgICAgICAgRGVjaW1hbCgnMC45OTk5OTk5OTknKQotICAgICAgICA+Pj4gYy5uZXh0X3Rvd2FyZChEZWNpbWFsKCcxRS0xMDA3JyksIERlY2ltYWwoJy0xMDAnKSkKLSAgICAgICAgRGVjaW1hbCgnMEUtMTAwNycpCi0gICAgICAgID4+PiBjLm5leHRfdG93YXJkKERlY2ltYWwoJy0xLjAwMDAwMDAzJyksIERlY2ltYWwoJy0xMCcpKQotICAgICAgICBEZWNpbWFsKCctMS4wMDAwMDAwNCcpCi0gICAgICAgID4+PiBjLm5leHRfdG93YXJkKERlY2ltYWwoJzAuMDAnKSwgRGVjaW1hbCgnLTAuMDAwMCcpKQotICAgICAgICBEZWNpbWFsKCctMC4wMCcpCi0gICAgICAgID4+PiBjLm5leHRfdG93YXJkKDAsIDEpCi0gICAgICAgIERlY2ltYWwoJzFFLTEwMDcnKQotICAgICAgICA+Pj4gYy5uZXh0X3Rvd2FyZChEZWNpbWFsKDApLCAxKQotICAgICAgICBEZWNpbWFsKCcxRS0xMDA3JykKLSAgICAgICAgPj4+IGMubmV4dF90b3dhcmQoMCwgRGVjaW1hbCgxKSkKLSAgICAgICAgRGVjaW1hbCgnMUUtMTAwNycpCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS5uZXh0X3Rvd2FyZChiLCBjb250ZXh0PXNlbGYpCi0KLSAgICBkZWYgbm9ybWFsaXplKHNlbGYsIGEpOgotICAgICAgICAiIiJub3JtYWxpemUgcmVkdWNlcyBhbiBvcGVyYW5kIHRvIGl0cyBzaW1wbGVzdCBmb3JtLgotCi0gICAgICAgIEVzc2VudGlhbGx5IGEgcGx1cyBvcGVyYXRpb24gd2l0aCBhbGwgdHJhaWxpbmcgemVyb3MgcmVtb3ZlZCBmcm9tIHRoZQotICAgICAgICByZXN1bHQuCi0KLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5ub3JtYWxpemUoRGVjaW1hbCgnMi4xJykpCi0gICAgICAgIERlY2ltYWwoJzIuMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubm9ybWFsaXplKERlY2ltYWwoJy0yLjAnKSkKLSAgICAgICAgRGVjaW1hbCgnLTInKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm5vcm1hbGl6ZShEZWNpbWFsKCcxLjIwMCcpKQotICAgICAgICBEZWNpbWFsKCcxLjInKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm5vcm1hbGl6ZShEZWNpbWFsKCctMTIwJykpCi0gICAgICAgIERlY2ltYWwoJy0xLjJFKzInKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm5vcm1hbGl6ZShEZWNpbWFsKCcxMjAuMDAnKSkKLSAgICAgICAgRGVjaW1hbCgnMS4yRSsyJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5ub3JtYWxpemUoRGVjaW1hbCgnMC4wMCcpKQotICAgICAgICBEZWNpbWFsKCcwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5ub3JtYWxpemUoNikKLSAgICAgICAgRGVjaW1hbCgnNicpCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS5ub3JtYWxpemUoY29udGV4dD1zZWxmKQotCi0gICAgZGVmIG51bWJlcl9jbGFzcyhzZWxmLCBhKToKLSAgICAgICAgIiIiUmV0dXJucyBhbiBpbmRpY2F0aW9uIG9mIHRoZSBjbGFzcyBvZiB0aGUgb3BlcmFuZC4KLQotICAgICAgICBUaGUgY2xhc3MgaXMgb25lIG9mIHRoZSBmb2xsb3dpbmcgc3RyaW5nczoKLSAgICAgICAgICAtc05hTgotICAgICAgICAgIC1OYU4KLSAgICAgICAgICAtSW5maW5pdHkKLSAgICAgICAgICAtTm9ybWFsCi0gICAgICAgICAgLVN1Ym5vcm1hbAotICAgICAgICAgIC1aZXJvCi0gICAgICAgICAgK1plcm8KLSAgICAgICAgICArU3Vibm9ybWFsCi0gICAgICAgICAgK05vcm1hbAotICAgICAgICAgICtJbmZpbml0eQotCi0gICAgICAgID4+PiBjID0gRXh0ZW5kZWRDb250ZXh0LmNvcHkoKQotICAgICAgICA+Pj4gYy5FbWluID0gLTk5OQotICAgICAgICA+Pj4gYy5FbWF4ID0gOTk5Ci0gICAgICAgID4+PiBjLm51bWJlcl9jbGFzcyhEZWNpbWFsKCdJbmZpbml0eScpKQotICAgICAgICAnK0luZmluaXR5JwotICAgICAgICA+Pj4gYy5udW1iZXJfY2xhc3MoRGVjaW1hbCgnMUUtMTAnKSkKLSAgICAgICAgJytOb3JtYWwnCi0gICAgICAgID4+PiBjLm51bWJlcl9jbGFzcyhEZWNpbWFsKCcyLjUwJykpCi0gICAgICAgICcrTm9ybWFsJwotICAgICAgICA+Pj4gYy5udW1iZXJfY2xhc3MoRGVjaW1hbCgnMC4xRS05OTknKSkKLSAgICAgICAgJytTdWJub3JtYWwnCi0gICAgICAgID4+PiBjLm51bWJlcl9jbGFzcyhEZWNpbWFsKCcwJykpCi0gICAgICAgICcrWmVybycKLSAgICAgICAgPj4+IGMubnVtYmVyX2NsYXNzKERlY2ltYWwoJy0wJykpCi0gICAgICAgICctWmVybycKLSAgICAgICAgPj4+IGMubnVtYmVyX2NsYXNzKERlY2ltYWwoJy0wLjFFLTk5OScpKQotICAgICAgICAnLVN1Ym5vcm1hbCcKLSAgICAgICAgPj4+IGMubnVtYmVyX2NsYXNzKERlY2ltYWwoJy0xRS0xMCcpKQotICAgICAgICAnLU5vcm1hbCcKLSAgICAgICAgPj4+IGMubnVtYmVyX2NsYXNzKERlY2ltYWwoJy0yLjUwJykpCi0gICAgICAgICctTm9ybWFsJwotICAgICAgICA+Pj4gYy5udW1iZXJfY2xhc3MoRGVjaW1hbCgnLUluZmluaXR5JykpCi0gICAgICAgICctSW5maW5pdHknCi0gICAgICAgID4+PiBjLm51bWJlcl9jbGFzcyhEZWNpbWFsKCdOYU4nKSkKLSAgICAgICAgJ05hTicKLSAgICAgICAgPj4+IGMubnVtYmVyX2NsYXNzKERlY2ltYWwoJy1OYU4nKSkKLSAgICAgICAgJ05hTicKLSAgICAgICAgPj4+IGMubnVtYmVyX2NsYXNzKERlY2ltYWwoJ3NOYU4nKSkKLSAgICAgICAgJ3NOYU4nCi0gICAgICAgID4+PiBjLm51bWJlcl9jbGFzcygxMjMpCi0gICAgICAgICcrTm9ybWFsJwotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEubnVtYmVyX2NsYXNzKGNvbnRleHQ9c2VsZikKLQotICAgIGRlZiBwbHVzKHNlbGYsIGEpOgotICAgICAgICAiIiJQbHVzIGNvcnJlc3BvbmRzIHRvIHVuYXJ5IHByZWZpeCBwbHVzIGluIFB5dGhvbi4KLQotICAgICAgICBUaGUgb3BlcmF0aW9uIGlzIGV2YWx1YXRlZCB1c2luZyB0aGUgc2FtZSBydWxlcyBhcyBhZGQ7IHRoZQotICAgICAgICBvcGVyYXRpb24gcGx1cyhhKSBpcyBjYWxjdWxhdGVkIGFzIGFkZCgnMCcsIGEpIHdoZXJlIHRoZSAnMCcKLSAgICAgICAgaGFzIHRoZSBzYW1lIGV4cG9uZW50IGFzIHRoZSBvcGVyYW5kLgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucGx1cyhEZWNpbWFsKCcxLjMnKSkKLSAgICAgICAgRGVjaW1hbCgnMS4zJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5wbHVzKERlY2ltYWwoJy0xLjMnKSkKLSAgICAgICAgRGVjaW1hbCgnLTEuMycpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucGx1cygtMSkKLSAgICAgICAgRGVjaW1hbCgnLTEnKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEuX19wb3NfXyhjb250ZXh0PXNlbGYpCi0KLSAgICBkZWYgcG93ZXIoc2VsZiwgYSwgYiwgbW9kdWxvPU5vbmUpOgotICAgICAgICAiIiJSYWlzZXMgYSB0byB0aGUgcG93ZXIgb2YgYiwgdG8gbW9kdWxvIGlmIGdpdmVuLgotCi0gICAgICAgIFdpdGggdHdvIGFyZ3VtZW50cywgY29tcHV0ZSBhKipiLiAgSWYgYSBpcyBuZWdhdGl2ZSB0aGVuIGIKLSAgICAgICAgbXVzdCBiZSBpbnRlZ3JhbC4gIFRoZSByZXN1bHQgd2lsbCBiZSBpbmV4YWN0IHVubGVzcyBiIGlzCi0gICAgICAgIGludGVncmFsIGFuZCB0aGUgcmVzdWx0IGlzIGZpbml0ZSBhbmQgY2FuIGJlIGV4cHJlc3NlZCBleGFjdGx5Ci0gICAgICAgIGluICdwcmVjaXNpb24nIGRpZ2l0cy4KLQotICAgICAgICBXaXRoIHRocmVlIGFyZ3VtZW50cywgY29tcHV0ZSAoYSoqYikgJSBtb2R1bG8uICBGb3IgdGhlCi0gICAgICAgIHRocmVlIGFyZ3VtZW50IGZvcm0sIHRoZSBmb2xsb3dpbmcgcmVzdHJpY3Rpb25zIG9uIHRoZQotICAgICAgICBhcmd1bWVudHMgaG9sZDoKLQotICAgICAgICAgLSBhbGwgdGhyZWUgYXJndW1lbnRzIG11c3QgYmUgaW50ZWdyYWwKLSAgICAgICAgIC0gYiBtdXN0IGJlIG5vbm5lZ2F0aXZlCi0gICAgICAgICAtIGF0IGxlYXN0IG9uZSBvZiBhIG9yIGIgbXVzdCBiZSBub256ZXJvCi0gICAgICAgICAtIG1vZHVsbyBtdXN0IGJlIG5vbnplcm8gYW5kIGhhdmUgYXQgbW9zdCAncHJlY2lzaW9uJyBkaWdpdHMKLQotICAgICAgICBUaGUgcmVzdWx0IG9mIHBvdyhhLCBiLCBtb2R1bG8pIGlzIGlkZW50aWNhbCB0byB0aGUgcmVzdWx0Ci0gICAgICAgIHRoYXQgd291bGQgYmUgb2J0YWluZWQgYnkgY29tcHV0aW5nIChhKipiKSAlIG1vZHVsbyB3aXRoCi0gICAgICAgIHVuYm91bmRlZCBwcmVjaXNpb24sIGJ1dCBpcyBjb21wdXRlZCBtb3JlIGVmZmljaWVudGx5LiAgSXQgaXMKLSAgICAgICAgYWx3YXlzIGV4YWN0LgotCi0gICAgICAgID4+PiBjID0gRXh0ZW5kZWRDb250ZXh0LmNvcHkoKQotICAgICAgICA+Pj4gYy5FbWluID0gLTk5OQotICAgICAgICA+Pj4gYy5FbWF4ID0gOTk5Ci0gICAgICAgID4+PiBjLnBvd2VyKERlY2ltYWwoJzInKSwgRGVjaW1hbCgnMycpKQotICAgICAgICBEZWNpbWFsKCc4JykKLSAgICAgICAgPj4+IGMucG93ZXIoRGVjaW1hbCgnLTInKSwgRGVjaW1hbCgnMycpKQotICAgICAgICBEZWNpbWFsKCctOCcpCi0gICAgICAgID4+PiBjLnBvd2VyKERlY2ltYWwoJzInKSwgRGVjaW1hbCgnLTMnKSkKLSAgICAgICAgRGVjaW1hbCgnMC4xMjUnKQotICAgICAgICA+Pj4gYy5wb3dlcihEZWNpbWFsKCcxLjcnKSwgRGVjaW1hbCgnOCcpKQotICAgICAgICBEZWNpbWFsKCc2OS43NTc1NzQ0JykKLSAgICAgICAgPj4+IGMucG93ZXIoRGVjaW1hbCgnMTAnKSwgRGVjaW1hbCgnMC4zMDEwMjk5OTYnKSkKLSAgICAgICAgRGVjaW1hbCgnMi4wMDAwMDAwMCcpCi0gICAgICAgID4+PiBjLnBvd2VyKERlY2ltYWwoJ0luZmluaXR5JyksIERlY2ltYWwoJy0xJykpCi0gICAgICAgIERlY2ltYWwoJzAnKQotICAgICAgICA+Pj4gYy5wb3dlcihEZWNpbWFsKCdJbmZpbml0eScpLCBEZWNpbWFsKCcwJykpCi0gICAgICAgIERlY2ltYWwoJzEnKQotICAgICAgICA+Pj4gYy5wb3dlcihEZWNpbWFsKCdJbmZpbml0eScpLCBEZWNpbWFsKCcxJykpCi0gICAgICAgIERlY2ltYWwoJ0luZmluaXR5JykKLSAgICAgICAgPj4+IGMucG93ZXIoRGVjaW1hbCgnLUluZmluaXR5JyksIERlY2ltYWwoJy0xJykpCi0gICAgICAgIERlY2ltYWwoJy0wJykKLSAgICAgICAgPj4+IGMucG93ZXIoRGVjaW1hbCgnLUluZmluaXR5JyksIERlY2ltYWwoJzAnKSkKLSAgICAgICAgRGVjaW1hbCgnMScpCi0gICAgICAgID4+PiBjLnBvd2VyKERlY2ltYWwoJy1JbmZpbml0eScpLCBEZWNpbWFsKCcxJykpCi0gICAgICAgIERlY2ltYWwoJy1JbmZpbml0eScpCi0gICAgICAgID4+PiBjLnBvd2VyKERlY2ltYWwoJy1JbmZpbml0eScpLCBEZWNpbWFsKCcyJykpCi0gICAgICAgIERlY2ltYWwoJ0luZmluaXR5JykKLSAgICAgICAgPj4+IGMucG93ZXIoRGVjaW1hbCgnMCcpLCBEZWNpbWFsKCcwJykpCi0gICAgICAgIERlY2ltYWwoJ05hTicpCi0KLSAgICAgICAgPj4+IGMucG93ZXIoRGVjaW1hbCgnMycpLCBEZWNpbWFsKCc3JyksIERlY2ltYWwoJzE2JykpCi0gICAgICAgIERlY2ltYWwoJzExJykKLSAgICAgICAgPj4+IGMucG93ZXIoRGVjaW1hbCgnLTMnKSwgRGVjaW1hbCgnNycpLCBEZWNpbWFsKCcxNicpKQotICAgICAgICBEZWNpbWFsKCctMTEnKQotICAgICAgICA+Pj4gYy5wb3dlcihEZWNpbWFsKCctMycpLCBEZWNpbWFsKCc4JyksIERlY2ltYWwoJzE2JykpCi0gICAgICAgIERlY2ltYWwoJzEnKQotICAgICAgICA+Pj4gYy5wb3dlcihEZWNpbWFsKCczJyksIERlY2ltYWwoJzcnKSwgRGVjaW1hbCgnLTE2JykpCi0gICAgICAgIERlY2ltYWwoJzExJykKLSAgICAgICAgPj4+IGMucG93ZXIoRGVjaW1hbCgnMjNFMTIzNDUnKSwgRGVjaW1hbCgnNjdFMTg5JyksIERlY2ltYWwoJzEyMzQ1Njc4OScpKQotICAgICAgICBEZWNpbWFsKCcxMTcyOTgzMCcpCi0gICAgICAgID4+PiBjLnBvd2VyKERlY2ltYWwoJy0wJyksIERlY2ltYWwoJzE3JyksIERlY2ltYWwoJzE3MjknKSkKLSAgICAgICAgRGVjaW1hbCgnLTAnKQotICAgICAgICA+Pj4gYy5wb3dlcihEZWNpbWFsKCctMjMnKSwgRGVjaW1hbCgnMCcpLCBEZWNpbWFsKCc2NTUzNycpKQotICAgICAgICBEZWNpbWFsKCcxJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5wb3dlcig3LCA3KQotICAgICAgICBEZWNpbWFsKCc4MjM1NDMnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnBvd2VyKERlY2ltYWwoNyksIDcpCi0gICAgICAgIERlY2ltYWwoJzgyMzU0MycpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucG93ZXIoNywgRGVjaW1hbCg3KSwgMikKLSAgICAgICAgRGVjaW1hbCgnMScpCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByID0gYS5fX3Bvd19fKGIsIG1vZHVsbywgY29udGV4dD1zZWxmKQotICAgICAgICBpZiByIGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJVbmFibGUgdG8gY29udmVydCAlcyB0byBEZWNpbWFsIiAlIGIpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gcgotCi0gICAgZGVmIHF1YW50aXplKHNlbGYsIGEsIGIpOgotICAgICAgICAiIiJSZXR1cm5zIGEgdmFsdWUgZXF1YWwgdG8gJ2EnIChyb3VuZGVkKSwgaGF2aW5nIHRoZSBleHBvbmVudCBvZiAnYicuCi0KLSAgICAgICAgVGhlIGNvZWZmaWNpZW50IG9mIHRoZSByZXN1bHQgaXMgZGVyaXZlZCBmcm9tIHRoYXQgb2YgdGhlIGxlZnQtaGFuZAotICAgICAgICBvcGVyYW5kLiAgSXQgbWF5IGJlIHJvdW5kZWQgdXNpbmcgdGhlIGN1cnJlbnQgcm91bmRpbmcgc2V0dGluZyAoaWYgdGhlCi0gICAgICAgIGV4cG9uZW50IGlzIGJlaW5nIGluY3JlYXNlZCksIG11bHRpcGxpZWQgYnkgYSBwb3NpdGl2ZSBwb3dlciBvZiB0ZW4gKGlmCi0gICAgICAgIHRoZSBleHBvbmVudCBpcyBiZWluZyBkZWNyZWFzZWQpLCBvciBpcyB1bmNoYW5nZWQgKGlmIHRoZSBleHBvbmVudCBpcwotICAgICAgICBhbHJlYWR5IGVxdWFsIHRvIHRoYXQgb2YgdGhlIHJpZ2h0LWhhbmQgb3BlcmFuZCkuCi0KLSAgICAgICAgVW5saWtlIG90aGVyIG9wZXJhdGlvbnMsIGlmIHRoZSBsZW5ndGggb2YgdGhlIGNvZWZmaWNpZW50IGFmdGVyIHRoZQotICAgICAgICBxdWFudGl6ZSBvcGVyYXRpb24gd291bGQgYmUgZ3JlYXRlciB0aGFuIHByZWNpc2lvbiB0aGVuIGFuIEludmFsaWQKLSAgICAgICAgb3BlcmF0aW9uIGNvbmRpdGlvbiBpcyByYWlzZWQuICBUaGlzIGd1YXJhbnRlZXMgdGhhdCwgdW5sZXNzIHRoZXJlIGlzCi0gICAgICAgIGFuIGVycm9yIGNvbmRpdGlvbiwgdGhlIGV4cG9uZW50IG9mIHRoZSByZXN1bHQgb2YgYSBxdWFudGl6ZSBpcyBhbHdheXMKLSAgICAgICAgZXF1YWwgdG8gdGhhdCBvZiB0aGUgcmlnaHQtaGFuZCBvcGVyYW5kLgotCi0gICAgICAgIEFsc28gdW5saWtlIG90aGVyIG9wZXJhdGlvbnMsIHF1YW50aXplIHdpbGwgbmV2ZXIgcmFpc2UgVW5kZXJmbG93LCBldmVuCi0gICAgICAgIGlmIHRoZSByZXN1bHQgaXMgc3Vibm9ybWFsIGFuZCBpbmV4YWN0LgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucXVhbnRpemUoRGVjaW1hbCgnMi4xNycpLCBEZWNpbWFsKCcwLjAwMScpKQotICAgICAgICBEZWNpbWFsKCcyLjE3MCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucXVhbnRpemUoRGVjaW1hbCgnMi4xNycpLCBEZWNpbWFsKCcwLjAxJykpCi0gICAgICAgIERlY2ltYWwoJzIuMTcnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnF1YW50aXplKERlY2ltYWwoJzIuMTcnKSwgRGVjaW1hbCgnMC4xJykpCi0gICAgICAgIERlY2ltYWwoJzIuMicpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucXVhbnRpemUoRGVjaW1hbCgnMi4xNycpLCBEZWNpbWFsKCcxZSswJykpCi0gICAgICAgIERlY2ltYWwoJzInKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnF1YW50aXplKERlY2ltYWwoJzIuMTcnKSwgRGVjaW1hbCgnMWUrMScpKQotICAgICAgICBEZWNpbWFsKCcwRSsxJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5xdWFudGl6ZShEZWNpbWFsKCctSW5mJyksIERlY2ltYWwoJ0luZmluaXR5JykpCi0gICAgICAgIERlY2ltYWwoJy1JbmZpbml0eScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucXVhbnRpemUoRGVjaW1hbCgnMicpLCBEZWNpbWFsKCdJbmZpbml0eScpKQotICAgICAgICBEZWNpbWFsKCdOYU4nKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnF1YW50aXplKERlY2ltYWwoJy0wLjEnKSwgRGVjaW1hbCgnMScpKQotICAgICAgICBEZWNpbWFsKCctMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucXVhbnRpemUoRGVjaW1hbCgnLTAnKSwgRGVjaW1hbCgnMWUrNScpKQotICAgICAgICBEZWNpbWFsKCctMEUrNScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucXVhbnRpemUoRGVjaW1hbCgnKzM1MjM2NDUwLjYnKSwgRGVjaW1hbCgnMWUtMicpKQotICAgICAgICBEZWNpbWFsKCdOYU4nKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnF1YW50aXplKERlY2ltYWwoJy0zNTIzNjQ1MC42JyksIERlY2ltYWwoJzFlLTInKSkKLSAgICAgICAgRGVjaW1hbCgnTmFOJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5xdWFudGl6ZShEZWNpbWFsKCcyMTcnKSwgRGVjaW1hbCgnMWUtMScpKQotICAgICAgICBEZWNpbWFsKCcyMTcuMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucXVhbnRpemUoRGVjaW1hbCgnMjE3JyksIERlY2ltYWwoJzFlLTAnKSkKLSAgICAgICAgRGVjaW1hbCgnMjE3JykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5xdWFudGl6ZShEZWNpbWFsKCcyMTcnKSwgRGVjaW1hbCgnMWUrMScpKQotICAgICAgICBEZWNpbWFsKCcyLjJFKzInKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnF1YW50aXplKERlY2ltYWwoJzIxNycpLCBEZWNpbWFsKCcxZSsyJykpCi0gICAgICAgIERlY2ltYWwoJzJFKzInKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnF1YW50aXplKDEsIDIpCi0gICAgICAgIERlY2ltYWwoJzEnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnF1YW50aXplKERlY2ltYWwoMSksIDIpCi0gICAgICAgIERlY2ltYWwoJzEnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnF1YW50aXplKDEsIERlY2ltYWwoMikpCi0gICAgICAgIERlY2ltYWwoJzEnKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEucXVhbnRpemUoYiwgY29udGV4dD1zZWxmKQotCi0gICAgZGVmIHJhZGl4KHNlbGYpOgotICAgICAgICAiIiJKdXN0IHJldHVybnMgMTAsIGFzIHRoaXMgaXMgRGVjaW1hbCwgOikKLQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnJhZGl4KCkKLSAgICAgICAgRGVjaW1hbCgnMTAnKQotICAgICAgICAiIiIKLSAgICAgICAgcmV0dXJuIERlY2ltYWwoMTApCi0KLSAgICBkZWYgcmVtYWluZGVyKHNlbGYsIGEsIGIpOgotICAgICAgICAiIiJSZXR1cm5zIHRoZSByZW1haW5kZXIgZnJvbSBpbnRlZ2VyIGRpdmlzaW9uLgotCi0gICAgICAgIFRoZSByZXN1bHQgaXMgdGhlIHJlc2lkdWUgb2YgdGhlIGRpdmlkZW5kIGFmdGVyIHRoZSBvcGVyYXRpb24gb2YKLSAgICAgICAgY2FsY3VsYXRpbmcgaW50ZWdlciBkaXZpc2lvbiBhcyBkZXNjcmliZWQgZm9yIGRpdmlkZS1pbnRlZ2VyLCByb3VuZGVkCi0gICAgICAgIHRvIHByZWNpc2lvbiBkaWdpdHMgaWYgbmVjZXNzYXJ5LiAgVGhlIHNpZ24gb2YgdGhlIHJlc3VsdCwgaWYKLSAgICAgICAgbm9uLXplcm8sIGlzIHRoZSBzYW1lIGFzIHRoYXQgb2YgdGhlIG9yaWdpbmFsIGRpdmlkZW5kLgotCi0gICAgICAgIFRoaXMgb3BlcmF0aW9uIHdpbGwgZmFpbCB1bmRlciB0aGUgc2FtZSBjb25kaXRpb25zIGFzIGludGVnZXIgZGl2aXNpb24KLSAgICAgICAgKHRoYXQgaXMsIGlmIGludGVnZXIgZGl2aXNpb24gb24gdGhlIHNhbWUgdHdvIG9wZXJhbmRzIHdvdWxkIGZhaWwsIHRoZQotICAgICAgICByZW1haW5kZXIgY2Fubm90IGJlIGNhbGN1bGF0ZWQpLgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucmVtYWluZGVyKERlY2ltYWwoJzIuMScpLCBEZWNpbWFsKCczJykpCi0gICAgICAgIERlY2ltYWwoJzIuMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucmVtYWluZGVyKERlY2ltYWwoJzEwJyksIERlY2ltYWwoJzMnKSkKLSAgICAgICAgRGVjaW1hbCgnMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucmVtYWluZGVyKERlY2ltYWwoJy0xMCcpLCBEZWNpbWFsKCczJykpCi0gICAgICAgIERlY2ltYWwoJy0xJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yZW1haW5kZXIoRGVjaW1hbCgnMTAuMicpLCBEZWNpbWFsKCcxJykpCi0gICAgICAgIERlY2ltYWwoJzAuMicpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucmVtYWluZGVyKERlY2ltYWwoJzEwJyksIERlY2ltYWwoJzAuMycpKQotICAgICAgICBEZWNpbWFsKCcwLjEnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnJlbWFpbmRlcihEZWNpbWFsKCczLjYnKSwgRGVjaW1hbCgnMS4zJykpCi0gICAgICAgIERlY2ltYWwoJzEuMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucmVtYWluZGVyKDIyLCA2KQotICAgICAgICBEZWNpbWFsKCc0JykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yZW1haW5kZXIoRGVjaW1hbCgyMiksIDYpCi0gICAgICAgIERlY2ltYWwoJzQnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnJlbWFpbmRlcigyMiwgRGVjaW1hbCg2KSkKLSAgICAgICAgRGVjaW1hbCgnNCcpCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByID0gYS5fX21vZF9fKGIsIGNvbnRleHQ9c2VsZikKLSAgICAgICAgaWYgciBpcyBOb3RJbXBsZW1lbnRlZDoKLSAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiVW5hYmxlIHRvIGNvbnZlcnQgJXMgdG8gRGVjaW1hbCIgJSBiKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmV0dXJuIHIKLQotICAgIGRlZiByZW1haW5kZXJfbmVhcihzZWxmLCBhLCBiKToKLSAgICAgICAgIiIiUmV0dXJucyB0byBiZSAiYSAtIGIgKiBuIiwgd2hlcmUgbiBpcyB0aGUgaW50ZWdlciBuZWFyZXN0IHRoZSBleGFjdAotICAgICAgICB2YWx1ZSBvZiAieCAvIGIiIChpZiB0d28gaW50ZWdlcnMgYXJlIGVxdWFsbHkgbmVhciB0aGVuIHRoZSBldmVuIG9uZQotICAgICAgICBpcyBjaG9zZW4pLiAgSWYgdGhlIHJlc3VsdCBpcyBlcXVhbCB0byAwIHRoZW4gaXRzIHNpZ24gd2lsbCBiZSB0aGUKLSAgICAgICAgc2lnbiBvZiBhLgotCi0gICAgICAgIFRoaXMgb3BlcmF0aW9uIHdpbGwgZmFpbCB1bmRlciB0aGUgc2FtZSBjb25kaXRpb25zIGFzIGludGVnZXIgZGl2aXNpb24KLSAgICAgICAgKHRoYXQgaXMsIGlmIGludGVnZXIgZGl2aXNpb24gb24gdGhlIHNhbWUgdHdvIG9wZXJhbmRzIHdvdWxkIGZhaWwsIHRoZQotICAgICAgICByZW1haW5kZXIgY2Fubm90IGJlIGNhbGN1bGF0ZWQpLgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucmVtYWluZGVyX25lYXIoRGVjaW1hbCgnMi4xJyksIERlY2ltYWwoJzMnKSkKLSAgICAgICAgRGVjaW1hbCgnLTAuOScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucmVtYWluZGVyX25lYXIoRGVjaW1hbCgnMTAnKSwgRGVjaW1hbCgnNicpKQotICAgICAgICBEZWNpbWFsKCctMicpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucmVtYWluZGVyX25lYXIoRGVjaW1hbCgnMTAnKSwgRGVjaW1hbCgnMycpKQotICAgICAgICBEZWNpbWFsKCcxJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yZW1haW5kZXJfbmVhcihEZWNpbWFsKCctMTAnKSwgRGVjaW1hbCgnMycpKQotICAgICAgICBEZWNpbWFsKCctMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucmVtYWluZGVyX25lYXIoRGVjaW1hbCgnMTAuMicpLCBEZWNpbWFsKCcxJykpCi0gICAgICAgIERlY2ltYWwoJzAuMicpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucmVtYWluZGVyX25lYXIoRGVjaW1hbCgnMTAnKSwgRGVjaW1hbCgnMC4zJykpCi0gICAgICAgIERlY2ltYWwoJzAuMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucmVtYWluZGVyX25lYXIoRGVjaW1hbCgnMy42JyksIERlY2ltYWwoJzEuMycpKQotICAgICAgICBEZWNpbWFsKCctMC4zJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yZW1haW5kZXJfbmVhcigzLCAxMSkKLSAgICAgICAgRGVjaW1hbCgnMycpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucmVtYWluZGVyX25lYXIoRGVjaW1hbCgzKSwgMTEpCi0gICAgICAgIERlY2ltYWwoJzMnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnJlbWFpbmRlcl9uZWFyKDMsIERlY2ltYWwoMTEpKQotICAgICAgICBEZWNpbWFsKCczJykKLSAgICAgICAgIiIiCi0gICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCi0gICAgICAgIHJldHVybiBhLnJlbWFpbmRlcl9uZWFyKGIsIGNvbnRleHQ9c2VsZikKLQotICAgIGRlZiByb3RhdGUoc2VsZiwgYSwgYik6Ci0gICAgICAgICIiIlJldHVybnMgYSByb3RhdGVkIGNvcHkgb2YgYSwgYiB0aW1lcy4KLQotICAgICAgICBUaGUgY29lZmZpY2llbnQgb2YgdGhlIHJlc3VsdCBpcyBhIHJvdGF0ZWQgY29weSBvZiB0aGUgZGlnaXRzIGluCi0gICAgICAgIHRoZSBjb2VmZmljaWVudCBvZiB0aGUgZmlyc3Qgb3BlcmFuZC4gIFRoZSBudW1iZXIgb2YgcGxhY2VzIG9mCi0gICAgICAgIHJvdGF0aW9uIGlzIHRha2VuIGZyb20gdGhlIGFic29sdXRlIHZhbHVlIG9mIHRoZSBzZWNvbmQgb3BlcmFuZCwKLSAgICAgICAgd2l0aCB0aGUgcm90YXRpb24gYmVpbmcgdG8gdGhlIGxlZnQgaWYgdGhlIHNlY29uZCBvcGVyYW5kIGlzCi0gICAgICAgIHBvc2l0aXZlIG9yIHRvIHRoZSByaWdodCBvdGhlcndpc2UuCi0KLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yb3RhdGUoRGVjaW1hbCgnMzQnKSwgRGVjaW1hbCgnOCcpKQotICAgICAgICBEZWNpbWFsKCc0MDAwMDAwMDMnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnJvdGF0ZShEZWNpbWFsKCcxMicpLCBEZWNpbWFsKCc5JykpCi0gICAgICAgIERlY2ltYWwoJzEyJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yb3RhdGUoRGVjaW1hbCgnMTIzNDU2Nzg5JyksIERlY2ltYWwoJy0yJykpCi0gICAgICAgIERlY2ltYWwoJzg5MTIzNDU2NycpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucm90YXRlKERlY2ltYWwoJzEyMzQ1Njc4OScpLCBEZWNpbWFsKCcwJykpCi0gICAgICAgIERlY2ltYWwoJzEyMzQ1Njc4OScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucm90YXRlKERlY2ltYWwoJzEyMzQ1Njc4OScpLCBEZWNpbWFsKCcrMicpKQotICAgICAgICBEZWNpbWFsKCczNDU2Nzg5MTInKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnJvdGF0ZSgxMzMzMzMzLCAxKQotICAgICAgICBEZWNpbWFsKCcxMzMzMzMzMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucm90YXRlKERlY2ltYWwoMTMzMzMzMyksIDEpCi0gICAgICAgIERlY2ltYWwoJzEzMzMzMzMwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yb3RhdGUoMTMzMzMzMywgRGVjaW1hbCgxKSkKLSAgICAgICAgRGVjaW1hbCgnMTMzMzMzMzAnKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEucm90YXRlKGIsIGNvbnRleHQ9c2VsZikKLQotICAgIGRlZiBzYW1lX3F1YW50dW0oc2VsZiwgYSwgYik6Ci0gICAgICAgICIiIlJldHVybnMgVHJ1ZSBpZiB0aGUgdHdvIG9wZXJhbmRzIGhhdmUgdGhlIHNhbWUgZXhwb25lbnQuCi0KLSAgICAgICAgVGhlIHJlc3VsdCBpcyBuZXZlciBhZmZlY3RlZCBieSBlaXRoZXIgdGhlIHNpZ24gb3IgdGhlIGNvZWZmaWNpZW50IG9mCi0gICAgICAgIGVpdGhlciBvcGVyYW5kLgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc2FtZV9xdWFudHVtKERlY2ltYWwoJzIuMTcnKSwgRGVjaW1hbCgnMC4wMDEnKSkKLSAgICAgICAgRmFsc2UKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zYW1lX3F1YW50dW0oRGVjaW1hbCgnMi4xNycpLCBEZWNpbWFsKCcwLjAxJykpCi0gICAgICAgIFRydWUKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zYW1lX3F1YW50dW0oRGVjaW1hbCgnMi4xNycpLCBEZWNpbWFsKCcxJykpCi0gICAgICAgIEZhbHNlCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc2FtZV9xdWFudHVtKERlY2ltYWwoJ0luZicpLCBEZWNpbWFsKCctSW5mJykpCi0gICAgICAgIFRydWUKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zYW1lX3F1YW50dW0oMTAwMDAsIC0xKQotICAgICAgICBUcnVlCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc2FtZV9xdWFudHVtKERlY2ltYWwoMTAwMDApLCAtMSkKLSAgICAgICAgVHJ1ZQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNhbWVfcXVhbnR1bSgxMDAwMCwgRGVjaW1hbCgtMSkpCi0gICAgICAgIFRydWUKLSAgICAgICAgIiIiCi0gICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCi0gICAgICAgIHJldHVybiBhLnNhbWVfcXVhbnR1bShiKQotCi0gICAgZGVmIHNjYWxlYiAoc2VsZiwgYSwgYik6Ci0gICAgICAgICIiIlJldHVybnMgdGhlIGZpcnN0IG9wZXJhbmQgYWZ0ZXIgYWRkaW5nIHRoZSBzZWNvbmQgdmFsdWUgaXRzIGV4cC4KLQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNjYWxlYihEZWNpbWFsKCc3LjUwJyksIERlY2ltYWwoJy0yJykpCi0gICAgICAgIERlY2ltYWwoJzAuMDc1MCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc2NhbGViKERlY2ltYWwoJzcuNTAnKSwgRGVjaW1hbCgnMCcpKQotICAgICAgICBEZWNpbWFsKCc3LjUwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zY2FsZWIoRGVjaW1hbCgnNy41MCcpLCBEZWNpbWFsKCczJykpCi0gICAgICAgIERlY2ltYWwoJzcuNTBFKzMnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNjYWxlYigxLCA0KQotICAgICAgICBEZWNpbWFsKCcxRSs0JykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zY2FsZWIoRGVjaW1hbCgxKSwgNCkKLSAgICAgICAgRGVjaW1hbCgnMUUrNCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc2NhbGViKDEsIERlY2ltYWwoNCkpCi0gICAgICAgIERlY2ltYWwoJzFFKzQnKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEuc2NhbGViKGIsIGNvbnRleHQ9c2VsZikKLQotICAgIGRlZiBzaGlmdChzZWxmLCBhLCBiKToKLSAgICAgICAgIiIiUmV0dXJucyBhIHNoaWZ0ZWQgY29weSBvZiBhLCBiIHRpbWVzLgotCi0gICAgICAgIFRoZSBjb2VmZmljaWVudCBvZiB0aGUgcmVzdWx0IGlzIGEgc2hpZnRlZCBjb3B5IG9mIHRoZSBkaWdpdHMKLSAgICAgICAgaW4gdGhlIGNvZWZmaWNpZW50IG9mIHRoZSBmaXJzdCBvcGVyYW5kLiAgVGhlIG51bWJlciBvZiBwbGFjZXMKLSAgICAgICAgdG8gc2hpZnQgaXMgdGFrZW4gZnJvbSB0aGUgYWJzb2x1dGUgdmFsdWUgb2YgdGhlIHNlY29uZCBvcGVyYW5kLAotICAgICAgICB3aXRoIHRoZSBzaGlmdCBiZWluZyB0byB0aGUgbGVmdCBpZiB0aGUgc2Vjb25kIG9wZXJhbmQgaXMKLSAgICAgICAgcG9zaXRpdmUgb3IgdG8gdGhlIHJpZ2h0IG90aGVyd2lzZS4gIERpZ2l0cyBzaGlmdGVkIGludG8gdGhlCi0gICAgICAgIGNvZWZmaWNpZW50IGFyZSB6ZXJvcy4KLQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNoaWZ0KERlY2ltYWwoJzM0JyksIERlY2ltYWwoJzgnKSkKLSAgICAgICAgRGVjaW1hbCgnNDAwMDAwMDAwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zaGlmdChEZWNpbWFsKCcxMicpLCBEZWNpbWFsKCc5JykpCi0gICAgICAgIERlY2ltYWwoJzAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNoaWZ0KERlY2ltYWwoJzEyMzQ1Njc4OScpLCBEZWNpbWFsKCctMicpKQotICAgICAgICBEZWNpbWFsKCcxMjM0NTY3JykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zaGlmdChEZWNpbWFsKCcxMjM0NTY3ODknKSwgRGVjaW1hbCgnMCcpKQotICAgICAgICBEZWNpbWFsKCcxMjM0NTY3ODknKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNoaWZ0KERlY2ltYWwoJzEyMzQ1Njc4OScpLCBEZWNpbWFsKCcrMicpKQotICAgICAgICBEZWNpbWFsKCczNDU2Nzg5MDAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNoaWZ0KDg4ODg4ODg4LCAyKQotICAgICAgICBEZWNpbWFsKCc4ODg4ODg4MDAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNoaWZ0KERlY2ltYWwoODg4ODg4ODgpLCAyKQotICAgICAgICBEZWNpbWFsKCc4ODg4ODg4MDAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNoaWZ0KDg4ODg4ODg4LCBEZWNpbWFsKDIpKQotICAgICAgICBEZWNpbWFsKCc4ODg4ODg4MDAnKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEuc2hpZnQoYiwgY29udGV4dD1zZWxmKQotCi0gICAgZGVmIHNxcnQoc2VsZiwgYSk6Ci0gICAgICAgICIiIlNxdWFyZSByb290IG9mIGEgbm9uLW5lZ2F0aXZlIG51bWJlciB0byBjb250ZXh0IHByZWNpc2lvbi4KLQotICAgICAgICBJZiB0aGUgcmVzdWx0IG11c3QgYmUgaW5leGFjdCwgaXQgaXMgcm91bmRlZCB1c2luZyB0aGUgcm91bmQtaGFsZi1ldmVuCi0gICAgICAgIGFsZ29yaXRobS4KLQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNxcnQoRGVjaW1hbCgnMCcpKQotICAgICAgICBEZWNpbWFsKCcwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zcXJ0KERlY2ltYWwoJy0wJykpCi0gICAgICAgIERlY2ltYWwoJy0wJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zcXJ0KERlY2ltYWwoJzAuMzknKSkKLSAgICAgICAgRGVjaW1hbCgnMC42MjQ0OTk4MDAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNxcnQoRGVjaW1hbCgnMTAwJykpCi0gICAgICAgIERlY2ltYWwoJzEwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zcXJ0KERlY2ltYWwoJzEnKSkKLSAgICAgICAgRGVjaW1hbCgnMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc3FydChEZWNpbWFsKCcxLjAnKSkKLSAgICAgICAgRGVjaW1hbCgnMS4wJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zcXJ0KERlY2ltYWwoJzEuMDAnKSkKLSAgICAgICAgRGVjaW1hbCgnMS4wJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zcXJ0KERlY2ltYWwoJzcnKSkKLSAgICAgICAgRGVjaW1hbCgnMi42NDU3NTEzMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc3FydChEZWNpbWFsKCcxMCcpKQotICAgICAgICBEZWNpbWFsKCczLjE2MjI3NzY2JykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zcXJ0KDIpCi0gICAgICAgIERlY2ltYWwoJzEuNDE0MjEzNTYnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnByZWMKLSAgICAgICAgOQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEuc3FydChjb250ZXh0PXNlbGYpCi0KLSAgICBkZWYgc3VidHJhY3Qoc2VsZiwgYSwgYik6Ci0gICAgICAgICIiIlJldHVybiB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSB0d28gb3BlcmFuZHMuCi0KLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zdWJ0cmFjdChEZWNpbWFsKCcxLjMnKSwgRGVjaW1hbCgnMS4wNycpKQotICAgICAgICBEZWNpbWFsKCcwLjIzJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zdWJ0cmFjdChEZWNpbWFsKCcxLjMnKSwgRGVjaW1hbCgnMS4zMCcpKQotICAgICAgICBEZWNpbWFsKCcwLjAwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zdWJ0cmFjdChEZWNpbWFsKCcxLjMnKSwgRGVjaW1hbCgnMi4wNycpKQotICAgICAgICBEZWNpbWFsKCctMC43NycpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc3VidHJhY3QoOCwgNSkKLSAgICAgICAgRGVjaW1hbCgnMycpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc3VidHJhY3QoRGVjaW1hbCg4KSwgNSkKLSAgICAgICAgRGVjaW1hbCgnMycpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc3VidHJhY3QoOCwgRGVjaW1hbCg1KSkKLSAgICAgICAgRGVjaW1hbCgnMycpCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByID0gYS5fX3N1Yl9fKGIsIGNvbnRleHQ9c2VsZikKLSAgICAgICAgaWYgciBpcyBOb3RJbXBsZW1lbnRlZDoKLSAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiVW5hYmxlIHRvIGNvbnZlcnQgJXMgdG8gRGVjaW1hbCIgJSBiKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmV0dXJuIHIKLQotICAgIGRlZiB0b19lbmdfc3RyaW5nKHNlbGYsIGEpOgotICAgICAgICAiIiJDb252ZXJ0cyBhIG51bWJlciB0byBhIHN0cmluZywgdXNpbmcgc2NpZW50aWZpYyBub3RhdGlvbi4KLQotICAgICAgICBUaGUgb3BlcmF0aW9uIGlzIG5vdCBhZmZlY3RlZCBieSB0aGUgY29udGV4dC4KLSAgICAgICAgIiIiCi0gICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCi0gICAgICAgIHJldHVybiBhLnRvX2VuZ19zdHJpbmcoY29udGV4dD1zZWxmKQotCi0gICAgZGVmIHRvX3NjaV9zdHJpbmcoc2VsZiwgYSk6Ci0gICAgICAgICIiIkNvbnZlcnRzIGEgbnVtYmVyIHRvIGEgc3RyaW5nLCB1c2luZyBzY2llbnRpZmljIG5vdGF0aW9uLgotCi0gICAgICAgIFRoZSBvcGVyYXRpb24gaXMgbm90IGFmZmVjdGVkIGJ5IHRoZSBjb250ZXh0LgotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEuX19zdHJfXyhjb250ZXh0PXNlbGYpCi0KLSAgICBkZWYgdG9faW50ZWdyYWxfZXhhY3Qoc2VsZiwgYSk6Ci0gICAgICAgICIiIlJvdW5kcyB0byBhbiBpbnRlZ2VyLgotCi0gICAgICAgIFdoZW4gdGhlIG9wZXJhbmQgaGFzIGEgbmVnYXRpdmUgZXhwb25lbnQsIHRoZSByZXN1bHQgaXMgdGhlIHNhbWUKLSAgICAgICAgYXMgdXNpbmcgdGhlIHF1YW50aXplKCkgb3BlcmF0aW9uIHVzaW5nIHRoZSBnaXZlbiBvcGVyYW5kIGFzIHRoZQotICAgICAgICBsZWZ0LWhhbmQtb3BlcmFuZCwgMUUrMCBhcyB0aGUgcmlnaHQtaGFuZC1vcGVyYW5kLCBhbmQgdGhlIHByZWNpc2lvbgotICAgICAgICBvZiB0aGUgb3BlcmFuZCBhcyB0aGUgcHJlY2lzaW9uIHNldHRpbmc7IEluZXhhY3QgYW5kIFJvdW5kZWQgZmxhZ3MKLSAgICAgICAgYXJlIGFsbG93ZWQgaW4gdGhpcyBvcGVyYXRpb24uICBUaGUgcm91bmRpbmcgbW9kZSBpcyB0YWtlbiBmcm9tIHRoZQotICAgICAgICBjb250ZXh0LgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQudG9faW50ZWdyYWxfZXhhY3QoRGVjaW1hbCgnMi4xJykpCi0gICAgICAgIERlY2ltYWwoJzInKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnRvX2ludGVncmFsX2V4YWN0KERlY2ltYWwoJzEwMCcpKQotICAgICAgICBEZWNpbWFsKCcxMDAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnRvX2ludGVncmFsX2V4YWN0KERlY2ltYWwoJzEwMC4wJykpCi0gICAgICAgIERlY2ltYWwoJzEwMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQudG9faW50ZWdyYWxfZXhhY3QoRGVjaW1hbCgnMTAxLjUnKSkKLSAgICAgICAgRGVjaW1hbCgnMTAyJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC50b19pbnRlZ3JhbF9leGFjdChEZWNpbWFsKCctMTAxLjUnKSkKLSAgICAgICAgRGVjaW1hbCgnLTEwMicpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQudG9faW50ZWdyYWxfZXhhY3QoRGVjaW1hbCgnMTBFKzUnKSkKLSAgICAgICAgRGVjaW1hbCgnMS4wRSs2JykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC50b19pbnRlZ3JhbF9leGFjdChEZWNpbWFsKCc3Ljg5RSs3NycpKQotICAgICAgICBEZWNpbWFsKCc3Ljg5RSs3NycpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQudG9faW50ZWdyYWxfZXhhY3QoRGVjaW1hbCgnLUluZicpKQotICAgICAgICBEZWNpbWFsKCctSW5maW5pdHknKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEudG9faW50ZWdyYWxfZXhhY3QoY29udGV4dD1zZWxmKQotCi0gICAgZGVmIHRvX2ludGVncmFsX3ZhbHVlKHNlbGYsIGEpOgotICAgICAgICAiIiJSb3VuZHMgdG8gYW4gaW50ZWdlci4KLQotICAgICAgICBXaGVuIHRoZSBvcGVyYW5kIGhhcyBhIG5lZ2F0aXZlIGV4cG9uZW50LCB0aGUgcmVzdWx0IGlzIHRoZSBzYW1lCi0gICAgICAgIGFzIHVzaW5nIHRoZSBxdWFudGl6ZSgpIG9wZXJhdGlvbiB1c2luZyB0aGUgZ2l2ZW4gb3BlcmFuZCBhcyB0aGUKLSAgICAgICAgbGVmdC1oYW5kLW9wZXJhbmQsIDFFKzAgYXMgdGhlIHJpZ2h0LWhhbmQtb3BlcmFuZCwgYW5kIHRoZSBwcmVjaXNpb24KLSAgICAgICAgb2YgdGhlIG9wZXJhbmQgYXMgdGhlIHByZWNpc2lvbiBzZXR0aW5nLCBleGNlcHQgdGhhdCBubyBmbGFncyB3aWxsCi0gICAgICAgIGJlIHNldC4gIFRoZSByb3VuZGluZyBtb2RlIGlzIHRha2VuIGZyb20gdGhlIGNvbnRleHQuCi0KLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC50b19pbnRlZ3JhbF92YWx1ZShEZWNpbWFsKCcyLjEnKSkKLSAgICAgICAgRGVjaW1hbCgnMicpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQudG9faW50ZWdyYWxfdmFsdWUoRGVjaW1hbCgnMTAwJykpCi0gICAgICAgIERlY2ltYWwoJzEwMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQudG9faW50ZWdyYWxfdmFsdWUoRGVjaW1hbCgnMTAwLjAnKSkKLSAgICAgICAgRGVjaW1hbCgnMTAwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC50b19pbnRlZ3JhbF92YWx1ZShEZWNpbWFsKCcxMDEuNScpKQotICAgICAgICBEZWNpbWFsKCcxMDInKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnRvX2ludGVncmFsX3ZhbHVlKERlY2ltYWwoJy0xMDEuNScpKQotICAgICAgICBEZWNpbWFsKCctMTAyJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC50b19pbnRlZ3JhbF92YWx1ZShEZWNpbWFsKCcxMEUrNScpKQotICAgICAgICBEZWNpbWFsKCcxLjBFKzYnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnRvX2ludGVncmFsX3ZhbHVlKERlY2ltYWwoJzcuODlFKzc3JykpCi0gICAgICAgIERlY2ltYWwoJzcuODlFKzc3JykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC50b19pbnRlZ3JhbF92YWx1ZShEZWNpbWFsKCctSW5mJykpCi0gICAgICAgIERlY2ltYWwoJy1JbmZpbml0eScpCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS50b19pbnRlZ3JhbF92YWx1ZShjb250ZXh0PXNlbGYpCi0KLSAgICAjIHRoZSBtZXRob2QgbmFtZSBjaGFuZ2VkLCBidXQgd2UgcHJvdmlkZSBhbHNvIHRoZSBvbGQgb25lLCBmb3IgY29tcGF0aWJpbGl0eQotICAgIHRvX2ludGVncmFsID0gdG9faW50ZWdyYWxfdmFsdWUKLQotY2xhc3MgX1dvcmtSZXAob2JqZWN0KToKLSAgICBfX3Nsb3RzX18gPSAoJ3NpZ24nLCdpbnQnLCdleHAnKQotICAgICMgc2lnbjogMCBvciAxCi0gICAgIyBpbnQ6ICBpbnQKLSAgICAjIGV4cDogIE5vbmUsIGludCwgb3Igc3RyaW5nCi0KLSAgICBkZWYgX19pbml0X18oc2VsZiwgdmFsdWU9Tm9uZSk6Ci0gICAgICAgIGlmIHZhbHVlIGlzIE5vbmU6Ci0gICAgICAgICAgICBzZWxmLnNpZ24gPSBOb25lCi0gICAgICAgICAgICBzZWxmLmludCA9IDAKLSAgICAgICAgICAgIHNlbGYuZXhwID0gTm9uZQotICAgICAgICBlbGlmIGlzaW5zdGFuY2UodmFsdWUsIERlY2ltYWwpOgotICAgICAgICAgICAgc2VsZi5zaWduID0gdmFsdWUuX3NpZ24KLSAgICAgICAgICAgIHNlbGYuaW50ID0gaW50KHZhbHVlLl9pbnQpCi0gICAgICAgICAgICBzZWxmLmV4cCA9IHZhbHVlLl9leHAKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgICMgYXNzZXJ0IGlzaW5zdGFuY2UodmFsdWUsIHR1cGxlKQotICAgICAgICAgICAgc2VsZi5zaWduID0gdmFsdWVbMF0KLSAgICAgICAgICAgIHNlbGYuaW50ID0gdmFsdWVbMV0KLSAgICAgICAgICAgIHNlbGYuZXhwID0gdmFsdWVbMl0KLQotICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKLSAgICAgICAgcmV0dXJuICIoJXIsICVyLCAlcikiICUgKHNlbGYuc2lnbiwgc2VsZi5pbnQsIHNlbGYuZXhwKQotCi0gICAgX19zdHJfXyA9IF9fcmVwcl9fCi0KLQotCi1kZWYgX25vcm1hbGl6ZShvcDEsIG9wMiwgcHJlYyA9IDApOgotICAgICIiIk5vcm1hbGl6ZXMgb3AxLCBvcDIgdG8gaGF2ZSB0aGUgc2FtZSBleHAgYW5kIGxlbmd0aCBvZiBjb2VmZmljaWVudC4KLQotICAgIERvbmUgZHVyaW5nIGFkZGl0aW9uLgotICAgICIiIgotICAgIGlmIG9wMS5leHAgPCBvcDIuZXhwOgotICAgICAgICB0bXAgPSBvcDIKLSAgICAgICAgb3RoZXIgPSBvcDEKLSAgICBlbHNlOgotICAgICAgICB0bXAgPSBvcDEKLSAgICAgICAgb3RoZXIgPSBvcDIKLQotICAgICMgTGV0IGV4cCA9IG1pbih0bXAuZXhwIC0gMSwgdG1wLmFkanVzdGVkKCkgLSBwcmVjaXNpb24gLSAxKS4KLSAgICAjIFRoZW4gYWRkaW5nIDEwKipleHAgdG8gdG1wIGhhcyB0aGUgc2FtZSBlZmZlY3QgKGFmdGVyIHJvdW5kaW5nKQotICAgICMgYXMgYWRkaW5nIGFueSBwb3NpdGl2ZSBxdWFudGl0eSBzbWFsbGVyIHRoYW4gMTAqKmV4cDsgc2ltaWxhcmx5Ci0gICAgIyBmb3Igc3VidHJhY3Rpb24uICBTbyBpZiBvdGhlciBpcyBzbWFsbGVyIHRoYW4gMTAqKmV4cCB3ZSByZXBsYWNlCi0gICAgIyBpdCB3aXRoIDEwKipleHAuICBUaGlzIGF2b2lkcyB0bXAuZXhwIC0gb3RoZXIuZXhwIGdldHRpbmcgdG9vIGxhcmdlLgotICAgIHRtcF9sZW4gPSBsZW4oc3RyKHRtcC5pbnQpKQotICAgIG90aGVyX2xlbiA9IGxlbihzdHIob3RoZXIuaW50KSkKLSAgICBleHAgPSB0bXAuZXhwICsgbWluKC0xLCB0bXBfbGVuIC0gcHJlYyAtIDIpCi0gICAgaWYgb3RoZXJfbGVuICsgb3RoZXIuZXhwIC0gMSA8IGV4cDoKLSAgICAgICAgb3RoZXIuaW50ID0gMQotICAgICAgICBvdGhlci5leHAgPSBleHAKLQotICAgIHRtcC5pbnQgKj0gMTAgKiogKHRtcC5leHAgLSBvdGhlci5leHApCi0gICAgdG1wLmV4cCA9IG90aGVyLmV4cAotICAgIHJldHVybiBvcDEsIG9wMgotCi0jIyMjIyBJbnRlZ2VyIGFyaXRobWV0aWMgZnVuY3Rpb25zIHVzZWQgYnkgbG4sIGxvZzEwLCBleHAgYW5kIF9fcG93X18gIyMjIyMKLQotX25iaXRzID0gaW50LmJpdF9sZW5ndGgKLQotZGVmIF9kZWNpbWFsX2xzaGlmdF9leGFjdChuLCBlKToKLSAgICAiIiIgR2l2ZW4gaW50ZWdlcnMgbiBhbmQgZSwgcmV0dXJuIG4gKiAxMCoqZSBpZiBpdCdzIGFuIGludGVnZXIsIGVsc2UgTm9uZS4KLQotICAgIFRoZSBjb21wdXRhdGlvbiBpcyBkZXNpZ25lZCB0byBhdm9pZCBjb21wdXRpbmcgbGFyZ2UgcG93ZXJzIG9mIDEwCi0gICAgdW5uZWNlc3NhcmlseS4KLQotICAgID4+PiBfZGVjaW1hbF9sc2hpZnRfZXhhY3QoMywgNCkKLSAgICAzMDAwMAotICAgID4+PiBfZGVjaW1hbF9sc2hpZnRfZXhhY3QoMzAwLCAtOTk5OTk5OTk5KSAgIyByZXR1cm5zIE5vbmUKLQotICAgICIiIgotICAgIGlmIG4gPT0gMDoKLSAgICAgICAgcmV0dXJuIDAKLSAgICBlbGlmIGUgPj0gMDoKLSAgICAgICAgcmV0dXJuIG4gKiAxMCoqZQotICAgIGVsc2U6Ci0gICAgICAgICMgdmFsX24gPSBsYXJnZXN0IHBvd2VyIG9mIDEwIGRpdmlkaW5nIG4uCi0gICAgICAgIHN0cl9uID0gc3RyKGFicyhuKSkKLSAgICAgICAgdmFsX24gPSBsZW4oc3RyX24pIC0gbGVuKHN0cl9uLnJzdHJpcCgnMCcpKQotICAgICAgICByZXR1cm4gTm9uZSBpZiB2YWxfbiA8IC1lIGVsc2UgbiAvLyAxMCoqLWUKLQotZGVmIF9zcXJ0X25lYXJlc3QobiwgYSk6Ci0gICAgIiIiQ2xvc2VzdCBpbnRlZ2VyIHRvIHRoZSBzcXVhcmUgcm9vdCBvZiB0aGUgcG9zaXRpdmUgaW50ZWdlciBuLiAgYSBpcwotICAgIGFuIGluaXRpYWwgYXBwcm94aW1hdGlvbiB0byB0aGUgc3F1YXJlIHJvb3QuICBBbnkgcG9zaXRpdmUgaW50ZWdlcgotICAgIHdpbGwgZG8gZm9yIGEsIGJ1dCB0aGUgY2xvc2VyIGEgaXMgdG8gdGhlIHNxdWFyZSByb290IG9mIG4gdGhlCi0gICAgZmFzdGVyIGNvbnZlcmdlbmNlIHdpbGwgYmUuCi0KLSAgICAiIiIKLSAgICBpZiBuIDw9IDAgb3IgYSA8PSAwOgotICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJCb3RoIGFyZ3VtZW50cyB0byBfc3FydF9uZWFyZXN0IHNob3VsZCBiZSBwb3NpdGl2ZS4iKQotCi0gICAgYj0wCi0gICAgd2hpbGUgYSAhPSBiOgotICAgICAgICBiLCBhID0gYSwgYS0tbi8vYT4+MQotICAgIHJldHVybiBhCi0KLWRlZiBfcnNoaWZ0X25lYXJlc3QoeCwgc2hpZnQpOgotICAgICIiIkdpdmVuIGFuIGludGVnZXIgeCBhbmQgYSBub25uZWdhdGl2ZSBpbnRlZ2VyIHNoaWZ0LCByZXR1cm4gY2xvc2VzdAotICAgIGludGVnZXIgdG8geCAvIDIqKnNoaWZ0OyB1c2Ugcm91bmQtdG8tZXZlbiBpbiBjYXNlIG9mIGEgdGllLgotCi0gICAgIiIiCi0gICAgYiwgcSA9IDEgPDwgc2hpZnQsIHggPj4gc2hpZnQKLSAgICByZXR1cm4gcSArICgyKih4ICYgKGItMSkpICsgKHEmMSkgPiBiKQotCi1kZWYgX2Rpdl9uZWFyZXN0KGEsIGIpOgotICAgICIiIkNsb3Nlc3QgaW50ZWdlciB0byBhL2IsIGEgYW5kIGIgcG9zaXRpdmUgaW50ZWdlcnM7IHJvdW5kcyB0byBldmVuCi0gICAgaW4gdGhlIGNhc2Ugb2YgYSB0aWUuCi0KLSAgICAiIiIKLSAgICBxLCByID0gZGl2bW9kKGEsIGIpCi0gICAgcmV0dXJuIHEgKyAoMipyICsgKHEmMSkgPiBiKQotCi1kZWYgX2lsb2coeCwgTSwgTCA9IDgpOgotICAgICIiIkludGVnZXIgYXBwcm94aW1hdGlvbiB0byBNKmxvZyh4L00pLCB3aXRoIGFic29sdXRlIGVycm9yIGJvdW5kYWJsZQotICAgIGluIHRlcm1zIG9ubHkgb2YgeC9NLgotCi0gICAgR2l2ZW4gcG9zaXRpdmUgaW50ZWdlcnMgeCBhbmQgTSwgcmV0dXJuIGFuIGludGVnZXIgYXBwcm94aW1hdGlvbiB0bwotICAgIE0gKiBsb2coeC9NKS4gIEZvciBMID0gOCBhbmQgMC4xIDw9IHgvTSA8PSAxMCB0aGUgZGlmZmVyZW5jZQotICAgIGJldHdlZW4gdGhlIGFwcHJveGltYXRpb24gYW5kIHRoZSBleGFjdCByZXN1bHQgaXMgYXQgbW9zdCAyMi4gIEZvcgotICAgIEwgPSA4IGFuZCAxLjAgPD0geC9NIDw9IDEwLjAgdGhlIGRpZmZlcmVuY2UgaXMgYXQgbW9zdCAxNS4gIEluCi0gICAgYm90aCBjYXNlcyB0aGVzZSBhcmUgdXBwZXIgYm91bmRzIG9uIHRoZSBlcnJvcjsgaXQgd2lsbCB1c3VhbGx5IGJlCi0gICAgbXVjaCBzbWFsbGVyLiIiIgotCi0gICAgIyBUaGUgYmFzaWMgYWxnb3JpdGhtIGlzIHRoZSBmb2xsb3dpbmc6IGxldCBsb2cxcCBiZSB0aGUgZnVuY3Rpb24KLSAgICAjIGxvZzFwKHgpID0gbG9nKDEreCkuICBUaGVuIGxvZyh4L00pID0gbG9nMXAoKHgtTSkvTSkuICBXZSB1c2UKLSAgICAjIHRoZSByZWR1Y3Rpb24KLSAgICAjCi0gICAgIyAgICBsb2cxcCh5KSA9IDIqbG9nMXAoeS8oMStzcXJ0KDEreSkpKQotICAgICMKLSAgICAjIHJlcGVhdGVkbHkgdW50aWwgdGhlIGFyZ3VtZW50IHRvIGxvZzFwIGlzIHNtYWxsICg8IDIqKi1MIGluCi0gICAgIyBhYnNvbHV0ZSB2YWx1ZSkuICBGb3Igc21hbGwgeSB3ZSBjYW4gdXNlIHRoZSBUYXlsb3Igc2VyaWVzCi0gICAgIyBleHBhbnNpb24KLSAgICAjCi0gICAgIyAgICBsb2cxcCh5KSB+IHkgLSB5KioyLzIgKyB5KiozLzMgLSAuLi4gLSAoLXkpKipUL1QKLSAgICAjCi0gICAgIyB0cnVuY2F0aW5nIGF0IFQgc3VjaCB0aGF0IHkqKlQgaXMgc21hbGwgZW5vdWdoLiAgVGhlIHdob2xlCi0gICAgIyBjb21wdXRhdGlvbiBpcyBjYXJyaWVkIG91dCBpbiBhIGZvcm0gb2YgZml4ZWQtcG9pbnQgYXJpdGhtZXRpYywKLSAgICAjIHdpdGggYSByZWFsIG51bWJlciB6IGJlaW5nIHJlcHJlc2VudGVkIGJ5IGFuIGludGVnZXIKLSAgICAjIGFwcHJveGltYXRpb24gdG8geipNLiAgVG8gYXZvaWQgbG9zcyBvZiBwcmVjaXNpb24sIHRoZSB5IGJlbG93Ci0gICAgIyBpcyBhY3R1YWxseSBhbiBpbnRlZ2VyIGFwcHJveGltYXRpb24gdG8gMioqUip5Kk0sIHdoZXJlIFIgaXMgdGhlCi0gICAgIyBudW1iZXIgb2YgcmVkdWN0aW9ucyBwZXJmb3JtZWQgc28gZmFyLgotCi0gICAgeSA9IHgtTQotICAgICMgYXJndW1lbnQgcmVkdWN0aW9uOyBSID0gbnVtYmVyIG9mIHJlZHVjdGlvbnMgcGVyZm9ybWVkCi0gICAgUiA9IDAKLSAgICB3aGlsZSAoUiA8PSBMIGFuZCBhYnMoeSkgPDwgTC1SID49IE0gb3IKLSAgICAgICAgICAgUiA+IEwgYW5kIGFicyh5KSA+PiBSLUwgPj0gTSk6Ci0gICAgICAgIHkgPSBfZGl2X25lYXJlc3QoKE0qeSkgPDwgMSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBNICsgX3NxcnRfbmVhcmVzdChNKihNK19yc2hpZnRfbmVhcmVzdCh5LCBSKSksIE0pKQotICAgICAgICBSICs9IDEKLQotICAgICMgVGF5bG9yIHNlcmllcyB3aXRoIFQgdGVybXMKLSAgICBUID0gLWludCgtMTAqbGVuKHN0cihNKSkvLygzKkwpKQotICAgIHlzaGlmdCA9IF9yc2hpZnRfbmVhcmVzdCh5LCBSKQotICAgIHcgPSBfZGl2X25lYXJlc3QoTSwgVCkKLSAgICBmb3IgayBpbiByYW5nZShULTEsIDAsIC0xKToKLSAgICAgICAgdyA9IF9kaXZfbmVhcmVzdChNLCBrKSAtIF9kaXZfbmVhcmVzdCh5c2hpZnQqdywgTSkKLQotICAgIHJldHVybiBfZGl2X25lYXJlc3Qodyp5LCBNKQotCi1kZWYgX2Rsb2cxMChjLCBlLCBwKToKLSAgICAiIiJHaXZlbiBpbnRlZ2VycyBjLCBlIGFuZCBwIHdpdGggYyA+IDAsIHAgPj0gMCwgY29tcHV0ZSBhbiBpbnRlZ2VyCi0gICAgYXBwcm94aW1hdGlvbiB0byAxMCoqcCAqIGxvZzEwKGMqMTAqKmUpLCB3aXRoIGFuIGFic29sdXRlIGVycm9yIG9mCi0gICAgYXQgbW9zdCAxLiAgQXNzdW1lcyB0aGF0IGMqMTAqKmUgaXMgbm90IGV4YWN0bHkgMS4iIiIKLQotICAgICMgaW5jcmVhc2UgcHJlY2lzaW9uIGJ5IDI7IGNvbXBlbnNhdGUgZm9yIHRoaXMgYnkgZGl2aWRpbmcKLSAgICAjIGZpbmFsIHJlc3VsdCBieSAxMDAKLSAgICBwICs9IDIKLQotICAgICMgd3JpdGUgYyoxMCoqZSBhcyBkKjEwKipmIHdpdGggZWl0aGVyOgotICAgICMgICBmID49IDAgYW5kIDEgPD0gZCA8PSAxMCwgb3IKLSAgICAjICAgZiA8PSAwIGFuZCAwLjEgPD0gZCA8PSAxLgotICAgICMgVGh1cyBmb3IgYyoxMCoqZSBjbG9zZSB0byAxLCBmID0gMAotICAgIGwgPSBsZW4oc3RyKGMpKQotICAgIGYgPSBlK2wgLSAoZStsID49IDEpCi0KLSAgICBpZiBwID4gMDoKLSAgICAgICAgTSA9IDEwKipwCi0gICAgICAgIGsgPSBlK3AtZgotICAgICAgICBpZiBrID49IDA6Ci0gICAgICAgICAgICBjICo9IDEwKiprCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBjID0gX2Rpdl9uZWFyZXN0KGMsIDEwKiotaykKLQotICAgICAgICBsb2dfZCA9IF9pbG9nKGMsIE0pICMgZXJyb3IgPCA1ICsgMjIgPSAyNwotICAgICAgICBsb2dfMTAgPSBfbG9nMTBfZGlnaXRzKHApICMgZXJyb3IgPCAxCi0gICAgICAgIGxvZ19kID0gX2Rpdl9uZWFyZXN0KGxvZ19kKk0sIGxvZ18xMCkKLSAgICAgICAgbG9nX3RlbnBvd2VyID0gZipNICMgZXhhY3QKLSAgICBlbHNlOgotICAgICAgICBsb2dfZCA9IDAgICMgZXJyb3IgPCAyLjMxCi0gICAgICAgIGxvZ190ZW5wb3dlciA9IF9kaXZfbmVhcmVzdChmLCAxMCoqLXApICMgZXJyb3IgPCAwLjUKLQotICAgIHJldHVybiBfZGl2X25lYXJlc3QobG9nX3RlbnBvd2VyK2xvZ19kLCAxMDApCi0KLWRlZiBfZGxvZyhjLCBlLCBwKToKLSAgICAiIiJHaXZlbiBpbnRlZ2VycyBjLCBlIGFuZCBwIHdpdGggYyA+IDAsIGNvbXB1dGUgYW4gaW50ZWdlcgotICAgIGFwcHJveGltYXRpb24gdG8gMTAqKnAgKiBsb2coYyoxMCoqZSksIHdpdGggYW4gYWJzb2x1dGUgZXJyb3Igb2YKLSAgICBhdCBtb3N0IDEuICBBc3N1bWVzIHRoYXQgYyoxMCoqZSBpcyBub3QgZXhhY3RseSAxLiIiIgotCi0gICAgIyBJbmNyZWFzZSBwcmVjaXNpb24gYnkgMi4gVGhlIHByZWNpc2lvbiBpbmNyZWFzZSBpcyBjb21wZW5zYXRlZAotICAgICMgZm9yIGF0IHRoZSBlbmQgd2l0aCBhIGRpdmlzaW9uIGJ5IDEwMC4KLSAgICBwICs9IDIKLQotICAgICMgcmV3cml0ZSBjKjEwKiplIGFzIGQqMTAqKmYgd2l0aCBlaXRoZXIgZiA+PSAwIGFuZCAxIDw9IGQgPD0gMTAsCi0gICAgIyBvciBmIDw9IDAgYW5kIDAuMSA8PSBkIDw9IDEuICBUaGVuIHdlIGNhbiBjb21wdXRlIDEwKipwICogbG9nKGMqMTAqKmUpCi0gICAgIyBhcyAxMCoqcCAqIGxvZyhkKSArIDEwKipwKmYgKiBsb2coMTApLgotICAgIGwgPSBsZW4oc3RyKGMpKQotICAgIGYgPSBlK2wgLSAoZStsID49IDEpCi0KLSAgICAjIGNvbXB1dGUgYXBwcm94aW1hdGlvbiB0byAxMCoqcCpsb2coZCksIHdpdGggZXJyb3IgPCAyNwotICAgIGlmIHAgPiAwOgotICAgICAgICBrID0gZStwLWYKLSAgICAgICAgaWYgayA+PSAwOgotICAgICAgICAgICAgYyAqPSAxMCoqawotICAgICAgICBlbHNlOgotICAgICAgICAgICAgYyA9IF9kaXZfbmVhcmVzdChjLCAxMCoqLWspICAjIGVycm9yIG9mIDw9IDAuNSBpbiBjCi0KLSAgICAgICAgIyBfaWxvZyBtYWduaWZpZXMgZXhpc3RpbmcgZXJyb3IgaW4gYyBieSBhIGZhY3RvciBvZiBhdCBtb3N0IDEwCi0gICAgICAgIGxvZ19kID0gX2lsb2coYywgMTAqKnApICMgZXJyb3IgPCA1ICsgMjIgPSAyNwotICAgIGVsc2U6Ci0gICAgICAgICMgcCA8PSAwOiBqdXN0IGFwcHJveGltYXRlIHRoZSB3aG9sZSB0aGluZyBieSAwOyBlcnJvciA8IDIuMzEKLSAgICAgICAgbG9nX2QgPSAwCi0KLSAgICAjIGNvbXB1dGUgYXBwcm94aW1hdGlvbiB0byBmKjEwKipwKmxvZygxMCksIHdpdGggZXJyb3IgPCAxMS4KLSAgICBpZiBmOgotICAgICAgICBleHRyYSA9IGxlbihzdHIoYWJzKGYpKSktMQotICAgICAgICBpZiBwICsgZXh0cmEgPj0gMDoKLSAgICAgICAgICAgICMgZXJyb3IgaW4gZiAqIF9sb2cxMF9kaWdpdHMocCtleHRyYSkgPCB8ZnwgKiAxID0gfGZ8Ci0gICAgICAgICAgICAjIGFmdGVyIGRpdmlzaW9uLCBlcnJvciA8IHxmfC8xMCoqZXh0cmEgKyAwLjUgPCAxMCArIDAuNSA8IDExCi0gICAgICAgICAgICBmX2xvZ190ZW4gPSBfZGl2X25lYXJlc3QoZipfbG9nMTBfZGlnaXRzKHArZXh0cmEpLCAxMCoqZXh0cmEpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBmX2xvZ190ZW4gPSAwCi0gICAgZWxzZToKLSAgICAgICAgZl9sb2dfdGVuID0gMAotCi0gICAgIyBlcnJvciBpbiBzdW0gPCAxMSsyNyA9IDM4OyBlcnJvciBhZnRlciBkaXZpc2lvbiA8IDAuMzggKyAwLjUgPCAxCi0gICAgcmV0dXJuIF9kaXZfbmVhcmVzdChmX2xvZ190ZW4gKyBsb2dfZCwgMTAwKQotCi1jbGFzcyBfTG9nMTBNZW1vaXplKG9iamVjdCk6Ci0gICAgIiIiQ2xhc3MgdG8gY29tcHV0ZSwgc3RvcmUsIGFuZCBhbGxvdyByZXRyaWV2YWwgb2YsIGRpZ2l0cyBvZiB0aGUKLSAgICBjb25zdGFudCBsb2coMTApID0gMi4zMDI1ODUuLi4uICBUaGlzIGNvbnN0YW50IGlzIG5lZWRlZCBieQotICAgIERlY2ltYWwubG4sIERlY2ltYWwubG9nMTAsIERlY2ltYWwuZXhwIGFuZCBEZWNpbWFsLl9fcG93X18uIiIiCi0gICAgZGVmIF9faW5pdF9fKHNlbGYpOgotICAgICAgICBzZWxmLmRpZ2l0cyA9ICIyMzAyNTg1MDkyOTk0MDQ1Njg0MDE3OTkxNDU0Njg0MzY0MjA3NjAxMTAxNDg4NiIKLQotICAgIGRlZiBnZXRkaWdpdHMoc2VsZiwgcCk6Ci0gICAgICAgICIiIkdpdmVuIGFuIGludGVnZXIgcCA+PSAwLCByZXR1cm4gZmxvb3IoMTAqKnApKmxvZygxMCkuCi0KLSAgICAgICAgRm9yIGV4YW1wbGUsIHNlbGYuZ2V0ZGlnaXRzKDMpIHJldHVybnMgMjMwMi4KLSAgICAgICAgIiIiCi0gICAgICAgICMgZGlnaXRzIGFyZSBzdG9yZWQgYXMgYSBzdHJpbmcsIGZvciBxdWljayBjb252ZXJzaW9uIHRvCi0gICAgICAgICMgaW50ZWdlciBpbiB0aGUgY2FzZSB0aGF0IHdlJ3ZlIGFscmVhZHkgY29tcHV0ZWQgZW5vdWdoCi0gICAgICAgICMgZGlnaXRzOyB0aGUgc3RvcmVkIGRpZ2l0cyBzaG91bGQgYWx3YXlzIGJlIGNvcnJlY3QKLSAgICAgICAgIyAodHJ1bmNhdGVkLCBub3Qgcm91bmRlZCB0byBuZWFyZXN0KS4KLSAgICAgICAgaWYgcCA8IDA6Ci0gICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJwIHNob3VsZCBiZSBub25uZWdhdGl2ZSIpCi0KLSAgICAgICAgaWYgcCA+PSBsZW4oc2VsZi5kaWdpdHMpOgotICAgICAgICAgICAgIyBjb21wdXRlIHArMywgcCs2LCBwKzksIC4uLiBkaWdpdHM7IGNvbnRpbnVlIHVudGlsIGF0Ci0gICAgICAgICAgICAjIGxlYXN0IG9uZSBvZiB0aGUgZXh0cmEgZGlnaXRzIGlzIG5vbnplcm8KLSAgICAgICAgICAgIGV4dHJhID0gMwotICAgICAgICAgICAgd2hpbGUgVHJ1ZToKLSAgICAgICAgICAgICAgICAjIGNvbXB1dGUgcCtleHRyYSBkaWdpdHMsIGNvcnJlY3QgdG8gd2l0aGluIDF1bHAKLSAgICAgICAgICAgICAgICBNID0gMTAqKihwK2V4dHJhKzIpCi0gICAgICAgICAgICAgICAgZGlnaXRzID0gc3RyKF9kaXZfbmVhcmVzdChfaWxvZygxMCpNLCBNKSwgMTAwKSkKLSAgICAgICAgICAgICAgICBpZiBkaWdpdHNbLWV4dHJhOl0gIT0gJzAnKmV4dHJhOgotICAgICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgICAgIGV4dHJhICs9IDMKLSAgICAgICAgICAgICMga2VlcCBhbGwgcmVsaWFibGUgZGlnaXRzIHNvIGZhcjsgcmVtb3ZlIHRyYWlsaW5nIHplcm9zCi0gICAgICAgICAgICAjIGFuZCBuZXh0IG5vbnplcm8gZGlnaXQKLSAgICAgICAgICAgIHNlbGYuZGlnaXRzID0gZGlnaXRzLnJzdHJpcCgnMCcpWzotMV0KLSAgICAgICAgcmV0dXJuIGludChzZWxmLmRpZ2l0c1s6cCsxXSkKLQotX2xvZzEwX2RpZ2l0cyA9IF9Mb2cxME1lbW9pemUoKS5nZXRkaWdpdHMKLQotZGVmIF9pZXhwKHgsIE0sIEw9OCk6Ci0gICAgIiIiR2l2ZW4gaW50ZWdlcnMgeCBhbmQgTSwgTSA+IDAsIHN1Y2ggdGhhdCB4L00gaXMgc21hbGwgaW4gYWJzb2x1dGUKLSAgICB2YWx1ZSwgY29tcHV0ZSBhbiBpbnRlZ2VyIGFwcHJveGltYXRpb24gdG8gTSpleHAoeC9NKS4gIEZvciAwIDw9Ci0gICAgeC9NIDw9IDIuNCwgdGhlIGFic29sdXRlIGVycm9yIGluIHRoZSByZXN1bHQgaXMgYm91bmRlZCBieSA2MCAoYW5kCi0gICAgaXMgdXN1YWxseSBtdWNoIHNtYWxsZXIpLiIiIgotCi0gICAgIyBBbGdvcml0aG06IHRvIGNvbXB1dGUgZXhwKHopIGZvciBhIHJlYWwgbnVtYmVyIHosIGZpcnN0IGRpdmlkZSB6Ci0gICAgIyBieSBhIHN1aXRhYmxlIHBvd2VyIFIgb2YgMiBzbyB0aGF0IHx6LzIqKlJ8IDwgMioqLUwuICBUaGVuCi0gICAgIyBjb21wdXRlIGV4cG0xKHovMioqUikgPSBleHAoei8yKipSKSAtIDEgdXNpbmcgdGhlIHVzdWFsIFRheWxvcgotICAgICMgc2VyaWVzCi0gICAgIwotICAgICMgICAgIGV4cG0xKHgpID0geCArIHgqKjIvMiEgKyB4KiozLzMhICsgLi4uCi0gICAgIwotICAgICMgTm93IHVzZSB0aGUgaWRlbnRpdHkKLSAgICAjCi0gICAgIyAgICAgZXhwbTEoMngpID0gZXhwbTEoeCkqKGV4cG0xKHgpKzIpCi0gICAgIwotICAgICMgUiB0aW1lcyB0byBjb21wdXRlIHRoZSBzZXF1ZW5jZSBleHBtMSh6LzIqKlIpLAotICAgICMgZXhwbTEoei8yKiooUi0xKSksIC4uLiAsIGV4cCh6LzIpLCBleHAoeikuCi0KLSAgICAjIEZpbmQgUiBzdWNoIHRoYXQgeC8yKipSL00gPD0gMioqLUwKLSAgICBSID0gX25iaXRzKCh4PDxMKS8vTSkKLQotICAgICMgVGF5bG9yIHNlcmllcy4gICgyKipMKSoqVCA+IE0KLSAgICBUID0gLWludCgtMTAqbGVuKHN0cihNKSkvLygzKkwpKQotICAgIHkgPSBfZGl2X25lYXJlc3QoeCwgVCkKLSAgICBNc2hpZnQgPSBNPDxSCi0gICAgZm9yIGkgaW4gcmFuZ2UoVC0xLCAwLCAtMSk6Ci0gICAgICAgIHkgPSBfZGl2X25lYXJlc3QoeCooTXNoaWZ0ICsgeSksIE1zaGlmdCAqIGkpCi0KLSAgICAjIEV4cGFuc2lvbgotICAgIGZvciBrIGluIHJhbmdlKFItMSwgLTEsIC0xKToKLSAgICAgICAgTXNoaWZ0ID0gTTw8KGsrMikKLSAgICAgICAgeSA9IF9kaXZfbmVhcmVzdCh5Kih5K01zaGlmdCksIE1zaGlmdCkKLQotICAgIHJldHVybiBNK3kKLQotZGVmIF9kZXhwKGMsIGUsIHApOgotICAgICIiIkNvbXB1dGUgYW4gYXBwcm94aW1hdGlvbiB0byBleHAoYyoxMCoqZSksIHdpdGggcCBkZWNpbWFsIHBsYWNlcyBvZgotICAgIHByZWNpc2lvbi4KLQotICAgIFJldHVybnMgaW50ZWdlcnMgZCwgZiBzdWNoIHRoYXQ6Ci0KLSAgICAgIDEwKioocC0xKSA8PSBkIDw9IDEwKipwLCBhbmQKLSAgICAgIChkLTEpKjEwKipmIDwgZXhwKGMqMTAqKmUpIDwgKGQrMSkqMTAqKmYKLQotICAgIEluIG90aGVyIHdvcmRzLCBkKjEwKipmIGlzIGFuIGFwcHJveGltYXRpb24gdG8gZXhwKGMqMTAqKmUpIHdpdGggcAotICAgIGRpZ2l0cyBvZiBwcmVjaXNpb24sIGFuZCB3aXRoIGFuIGVycm9yIGluIGQgb2YgYXQgbW9zdCAxLiAgVGhpcyBpcwotICAgIGFsbW9zdCwgYnV0IG5vdCBxdWl0ZSwgdGhlIHNhbWUgYXMgdGhlIGVycm9yIGJlaW5nIDwgMXVscDogd2hlbiBkCi0gICAgPSAxMCoqKHAtMSkgdGhlIGVycm9yIGNvdWxkIGJlIHVwIHRvIDEwIHVscC4iIiIKLQotICAgICMgd2UnbGwgY2FsbCBpZXhwIHdpdGggTSA9IDEwKioocCsyKSwgZ2l2aW5nIHArMyBkaWdpdHMgb2YgcHJlY2lzaW9uCi0gICAgcCArPSAyCi0KLSAgICAjIGNvbXB1dGUgbG9nKDEwKSB3aXRoIGV4dHJhIHByZWNpc2lvbiA9IGFkanVzdGVkIGV4cG9uZW50IG9mIGMqMTAqKmUKLSAgICBleHRyYSA9IG1heCgwLCBlICsgbGVuKHN0cihjKSkgLSAxKQotICAgIHEgPSBwICsgZXh0cmEKLQotICAgICMgY29tcHV0ZSBxdW90aWVudCBjKjEwKiplLyhsb2coMTApKSA9IGMqMTAqKihlK3EpLyhsb2coMTApKjEwKipxKSwKLSAgICAjIHJvdW5kaW5nIGRvd24KLSAgICBzaGlmdCA9IGUrcQotICAgIGlmIHNoaWZ0ID49IDA6Ci0gICAgICAgIGNzaGlmdCA9IGMqMTAqKnNoaWZ0Ci0gICAgZWxzZToKLSAgICAgICAgY3NoaWZ0ID0gYy8vMTAqKi1zaGlmdAotICAgIHF1b3QsIHJlbSA9IGRpdm1vZChjc2hpZnQsIF9sb2cxMF9kaWdpdHMocSkpCi0KLSAgICAjIHJlZHVjZSByZW1haW5kZXIgYmFjayB0byBvcmlnaW5hbCBwcmVjaXNpb24KLSAgICByZW0gPSBfZGl2X25lYXJlc3QocmVtLCAxMCoqZXh0cmEpCi0KLSAgICAjIGVycm9yIGluIHJlc3VsdCBvZiBfaWV4cCA8IDEyMDsgIGVycm9yIGFmdGVyIGRpdmlzaW9uIDwgMC42MgotICAgIHJldHVybiBfZGl2X25lYXJlc3QoX2lleHAocmVtLCAxMCoqcCksIDEwMDApLCBxdW90IC0gcCArIDMKLQotZGVmIF9kcG93ZXIoeGMsIHhlLCB5YywgeWUsIHApOgotICAgICIiIkdpdmVuIGludGVnZXJzIHhjLCB4ZSwgeWMgYW5kIHllIHJlcHJlc2VudGluZyBEZWNpbWFscyB4ID0geGMqMTAqKnhlIGFuZAotICAgIHkgPSB5YyoxMCoqeWUsIGNvbXB1dGUgeCoqeS4gIFJldHVybnMgYSBwYWlyIG9mIGludGVnZXJzIChjLCBlKSBzdWNoIHRoYXQ6Ci0KLSAgICAgIDEwKioocC0xKSA8PSBjIDw9IDEwKipwLCBhbmQKLSAgICAgIChjLTEpKjEwKiplIDwgeCoqeSA8IChjKzEpKjEwKiplCi0KLSAgICBpbiBvdGhlciB3b3JkcywgYyoxMCoqZSBpcyBhbiBhcHByb3hpbWF0aW9uIHRvIHgqKnkgd2l0aCBwIGRpZ2l0cwotICAgIG9mIHByZWNpc2lvbiwgYW5kIHdpdGggYW4gZXJyb3IgaW4gYyBvZiBhdCBtb3N0IDEuICAoVGhpcyBpcwotICAgIGFsbW9zdCwgYnV0IG5vdCBxdWl0ZSwgdGhlIHNhbWUgYXMgdGhlIGVycm9yIGJlaW5nIDwgMXVscDogd2hlbiBjCi0gICAgPT0gMTAqKihwLTEpIHdlIGNhbiBvbmx5IGd1YXJhbnRlZSBlcnJvciA8IDEwdWxwLikKLQotICAgIFdlIGFzc3VtZSB0aGF0OiB4IGlzIHBvc2l0aXZlIGFuZCBub3QgZXF1YWwgdG8gMSwgYW5kIHkgaXMgbm9uemVyby4KLSAgICAiIiIKLQotICAgICMgRmluZCBiIHN1Y2ggdGhhdCAxMCoqKGItMSkgPD0gfHl8IDw9IDEwKipiCi0gICAgYiA9IGxlbihzdHIoYWJzKHljKSkpICsgeWUKLQotICAgICMgbG9nKHgpID0gbHhjKjEwKiooLXAtYi0xKSwgdG8gcCtiKzEgcGxhY2VzIGFmdGVyIHRoZSBkZWNpbWFsIHBvaW50Ci0gICAgbHhjID0gX2Rsb2coeGMsIHhlLCBwK2IrMSkKLQotICAgICMgY29tcHV0ZSBwcm9kdWN0IHkqbG9nKHgpID0geWMqbHhjKjEwKiooLXAtYi0xK3llKSA9IHBjKjEwKiooLXAtMSkKLSAgICBzaGlmdCA9IHllLWIKLSAgICBpZiBzaGlmdCA+PSAwOgotICAgICAgICBwYyA9IGx4Yyp5YyoxMCoqc2hpZnQKLSAgICBlbHNlOgotICAgICAgICBwYyA9IF9kaXZfbmVhcmVzdChseGMqeWMsIDEwKiotc2hpZnQpCi0KLSAgICBpZiBwYyA9PSAwOgotICAgICAgICAjIHdlIHByZWZlciBhIHJlc3VsdCB0aGF0IGlzbid0IGV4YWN0bHkgMTsgdGhpcyBtYWtlcyBpdAotICAgICAgICAjIGVhc2llciB0byBjb21wdXRlIGEgY29ycmVjdGx5IHJvdW5kZWQgcmVzdWx0IGluIF9fcG93X18KLSAgICAgICAgaWYgKChsZW4oc3RyKHhjKSkgKyB4ZSA+PSAxKSA9PSAoeWMgPiAwKSk6ICMgaWYgeCoqeSA+IDE6Ci0gICAgICAgICAgICBjb2VmZiwgZXhwID0gMTAqKihwLTEpKzEsIDEtcAotICAgICAgICBlbHNlOgotICAgICAgICAgICAgY29lZmYsIGV4cCA9IDEwKipwLTEsIC1wCi0gICAgZWxzZToKLSAgICAgICAgY29lZmYsIGV4cCA9IF9kZXhwKHBjLCAtKHArMSksIHArMSkKLSAgICAgICAgY29lZmYgPSBfZGl2X25lYXJlc3QoY29lZmYsIDEwKQotICAgICAgICBleHAgKz0gMQotCi0gICAgcmV0dXJuIGNvZWZmLCBleHAKLQotZGVmIF9sb2cxMF9sYihjLCBjb3JyZWN0aW9uID0gewotICAgICAgICAnMSc6IDEwMCwgJzInOiA3MCwgJzMnOiA1MywgJzQnOiA0MCwgJzUnOiAzMSwKLSAgICAgICAgJzYnOiAyMywgJzcnOiAxNiwgJzgnOiAxMCwgJzknOiA1fSk6Ci0gICAgIiIiQ29tcHV0ZSBhIGxvd2VyIGJvdW5kIGZvciAxMDAqbG9nMTAoYykgZm9yIGEgcG9zaXRpdmUgaW50ZWdlciBjLiIiIgotICAgIGlmIGMgPD0gMDoKLSAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiVGhlIGFyZ3VtZW50IHRvIF9sb2cxMF9sYiBzaG91bGQgYmUgbm9ubmVnYXRpdmUuIikKLSAgICBzdHJfYyA9IHN0cihjKQotICAgIHJldHVybiAxMDAqbGVuKHN0cl9jKSAtIGNvcnJlY3Rpb25bc3RyX2NbMF1dCi0KLSMjIyMjIEhlbHBlciBGdW5jdGlvbnMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotCi1kZWYgX2NvbnZlcnRfb3RoZXIob3RoZXIsIHJhaXNlaXQ9RmFsc2UsIGFsbG93X2Zsb2F0PUZhbHNlKToKLSAgICAiIiJDb252ZXJ0IG90aGVyIHRvIERlY2ltYWwuCi0KLSAgICBWZXJpZmllcyB0aGF0IGl0J3Mgb2sgdG8gdXNlIGluIGFuIGltcGxpY2l0IGNvbnN0cnVjdGlvbi4KLSAgICBJZiBhbGxvd19mbG9hdCBpcyB0cnVlLCBhbGxvdyBjb252ZXJzaW9uIGZyb20gZmxvYXQ7ICB0aGlzCi0gICAgaXMgdXNlZCBpbiB0aGUgY29tcGFyaXNvbiBtZXRob2RzIChfX2VxX18gYW5kIGZyaWVuZHMpLgotCi0gICAgIiIiCi0gICAgaWYgaXNpbnN0YW5jZShvdGhlciwgRGVjaW1hbCk6Ci0gICAgICAgIHJldHVybiBvdGhlcgotICAgIGlmIGlzaW5zdGFuY2Uob3RoZXIsIGludCk6Ci0gICAgICAgIHJldHVybiBEZWNpbWFsKG90aGVyKQotICAgIGlmIGFsbG93X2Zsb2F0IGFuZCBpc2luc3RhbmNlKG90aGVyLCBmbG9hdCk6Ci0gICAgICAgIHJldHVybiBEZWNpbWFsLmZyb21fZmxvYXQob3RoZXIpCi0KLSAgICBpZiByYWlzZWl0OgotICAgICAgICByYWlzZSBUeXBlRXJyb3IoIlVuYWJsZSB0byBjb252ZXJ0ICVzIHRvIERlY2ltYWwiICUgb3RoZXIpCi0gICAgcmV0dXJuIE5vdEltcGxlbWVudGVkCi0KLWRlZiBfY29udmVydF9mb3JfY29tcGFyaXNvbihzZWxmLCBvdGhlciwgZXF1YWxpdHlfb3A9RmFsc2UpOgotICAgICIiIkdpdmVuIGEgRGVjaW1hbCBpbnN0YW5jZSBzZWxmIGFuZCBhIFB5dGhvbiBvYmplY3Qgb3RoZXIsIHJldHVybgotICAgIGEgcGFpciAocywgbykgb2YgRGVjaW1hbCBpbnN0YW5jZXMgc3VjaCB0aGF0ICJzIG9wIG8iIGlzCi0gICAgZXF1aXZhbGVudCB0byAic2VsZiBvcCBvdGhlciIgZm9yIGFueSBvZiB0aGUgNiBjb21wYXJpc29uCi0gICAgb3BlcmF0b3JzICJvcCIuCi0KLSAgICAiIiIKLSAgICBpZiBpc2luc3RhbmNlKG90aGVyLCBEZWNpbWFsKToKLSAgICAgICAgcmV0dXJuIHNlbGYsIG90aGVyCi0KLSAgICAjIENvbXBhcmlzb24gd2l0aCBhIFJhdGlvbmFsIGluc3RhbmNlIChhbHNvIGluY2x1ZGVzIGludGVnZXJzKToKLSAgICAjIHNlbGYgb3Agbi9kIDw9PiBzZWxmKmQgb3AgbiAoZm9yIG4gYW5kIGQgaW50ZWdlcnMsIGQgcG9zaXRpdmUpLgotICAgICMgQSBOYU4gb3IgaW5maW5pdHkgY2FuIGJlIGxlZnQgdW5jaGFuZ2VkIHdpdGhvdXQgYWZmZWN0aW5nIHRoZQotICAgICMgY29tcGFyaXNvbiByZXN1bHQuCi0gICAgaWYgaXNpbnN0YW5jZShvdGhlciwgX251bWJlcnMuUmF0aW9uYWwpOgotICAgICAgICBpZiBub3Qgc2VsZi5faXNfc3BlY2lhbDoKLSAgICAgICAgICAgIHNlbGYgPSBfZGVjX2Zyb21fdHJpcGxlKHNlbGYuX3NpZ24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIoaW50KHNlbGYuX2ludCkgKiBvdGhlci5kZW5vbWluYXRvciksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9leHApCi0gICAgICAgIHJldHVybiBzZWxmLCBEZWNpbWFsKG90aGVyLm51bWVyYXRvcikKLQotICAgICMgQ29tcGFyaXNvbnMgd2l0aCBmbG9hdCBhbmQgY29tcGxleCB0eXBlcy4gID09IGFuZCAhPSBjb21wYXJpc29ucwotICAgICMgd2l0aCBjb21wbGV4IG51bWJlcnMgc2hvdWxkIHN1Y2NlZWQsIHJldHVybmluZyBlaXRoZXIgVHJ1ZSBvciBGYWxzZQotICAgICMgYXMgYXBwcm9wcmlhdGUuICBPdGhlciBjb21wYXJpc29ucyByZXR1cm4gTm90SW1wbGVtZW50ZWQuCi0gICAgaWYgZXF1YWxpdHlfb3AgYW5kIGlzaW5zdGFuY2Uob3RoZXIsIF9udW1iZXJzLkNvbXBsZXgpIGFuZCBvdGhlci5pbWFnID09IDA6Ci0gICAgICAgIG90aGVyID0gb3RoZXIucmVhbAotICAgIGlmIGlzaW5zdGFuY2Uob3RoZXIsIGZsb2F0KToKLSAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotICAgICAgICBpZiBlcXVhbGl0eV9vcDoKLSAgICAgICAgICAgIGNvbnRleHQuZmxhZ3NbRmxvYXRPcGVyYXRpb25dID0gMQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoRmxvYXRPcGVyYXRpb24sCi0gICAgICAgICAgICAgICAgInN0cmljdCBzZW1hbnRpY3MgZm9yIG1peGluZyBmbG9hdHMgYW5kIERlY2ltYWxzIGFyZSBlbmFibGVkIikKLSAgICAgICAgcmV0dXJuIHNlbGYsIERlY2ltYWwuZnJvbV9mbG9hdChvdGhlcikKLSAgICByZXR1cm4gTm90SW1wbGVtZW50ZWQsIE5vdEltcGxlbWVudGVkCi0KLQotIyMjIyMgU2V0dXAgU3BlY2lmaWMgQ29udGV4dHMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLQotIyBUaGUgZGVmYXVsdCBjb250ZXh0IHByb3RvdHlwZSB1c2VkIGJ5IENvbnRleHQoKQotIyBJcyBtdXRhYmxlLCBzbyB0aGF0IG5ldyBjb250ZXh0cyBjYW4gaGF2ZSBkaWZmZXJlbnQgZGVmYXVsdCB2YWx1ZXMKLQotRGVmYXVsdENvbnRleHQgPSBDb250ZXh0KAotICAgICAgICBwcmVjPTI4LCByb3VuZGluZz1ST1VORF9IQUxGX0VWRU4sCi0gICAgICAgIHRyYXBzPVtEaXZpc2lvbkJ5WmVybywgT3ZlcmZsb3csIEludmFsaWRPcGVyYXRpb25dLAotICAgICAgICBmbGFncz1bXSwKLSAgICAgICAgRW1heD05OTk5OTksCi0gICAgICAgIEVtaW49LTk5OTk5OSwKLSAgICAgICAgY2FwaXRhbHM9MSwKLSAgICAgICAgY2xhbXA9MAotKQotCi0jIFByZS1tYWRlIGFsdGVybmF0ZSBjb250ZXh0cyBvZmZlcmVkIGJ5IHRoZSBzcGVjaWZpY2F0aW9uCi0jIERvbid0IGNoYW5nZSB0aGVzZTsgdGhlIHVzZXIgc2hvdWxkIGJlIGFibGUgdG8gc2VsZWN0IHRoZXNlCi0jIGNvbnRleHRzIGFuZCBiZSBhYmxlIHRvIHJlcHJvZHVjZSByZXN1bHRzIGZyb20gb3RoZXIgaW1wbGVtZW50YXRpb25zCi0jIG9mIHRoZSBzcGVjLgotCi1CYXNpY0NvbnRleHQgPSBDb250ZXh0KAotICAgICAgICBwcmVjPTksIHJvdW5kaW5nPVJPVU5EX0hBTEZfVVAsCi0gICAgICAgIHRyYXBzPVtEaXZpc2lvbkJ5WmVybywgT3ZlcmZsb3csIEludmFsaWRPcGVyYXRpb24sIENsYW1wZWQsIFVuZGVyZmxvd10sCi0gICAgICAgIGZsYWdzPVtdLAotKQotCi1FeHRlbmRlZENvbnRleHQgPSBDb250ZXh0KAotICAgICAgICBwcmVjPTksIHJvdW5kaW5nPVJPVU5EX0hBTEZfRVZFTiwKLSAgICAgICAgdHJhcHM9W10sCi0gICAgICAgIGZsYWdzPVtdLAotKQotCi0KLSMjIyMjIGNydWQgZm9yIHBhcnNpbmcgc3RyaW5ncyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMKLSMgUmVndWxhciBleHByZXNzaW9uIHVzZWQgZm9yIHBhcnNpbmcgbnVtZXJpYyBzdHJpbmdzLiAgQWRkaXRpb25hbAotIyBjb21tZW50czoKLSMKLSMgMS4gVW5jb21tZW50IHRoZSB0d28gJ1xzKicgbGluZXMgdG8gYWxsb3cgbGVhZGluZyBhbmQvb3IgdHJhaWxpbmcKLSMgd2hpdGVzcGFjZS4gIEJ1dCBub3RlIHRoYXQgdGhlIHNwZWNpZmljYXRpb24gZGlzYWxsb3dzIHdoaXRlc3BhY2UgaW4KLSMgYSBudW1lcmljIHN0cmluZy4KLSMKLSMgMi4gRm9yIGZpbml0ZSBudW1iZXJzIChub3QgaW5maW5pdGllcyBhbmQgTmFOcykgdGhlIGJvZHkgb2YgdGhlCi0jIG51bWJlciBiZXR3ZWVuIHRoZSBvcHRpb25hbCBzaWduIGFuZCB0aGUgb3B0aW9uYWwgZXhwb25lbnQgbXVzdCBoYXZlCi0jIGF0IGxlYXN0IG9uZSBkZWNpbWFsIGRpZ2l0LCBwb3NzaWJseSBhZnRlciB0aGUgZGVjaW1hbCBwb2ludC4gIFRoZQotIyBsb29rYWhlYWQgZXhwcmVzc2lvbiAnKD89XGR8XC5cZCknIGNoZWNrcyB0aGlzLgotCi1pbXBvcnQgcmUKLV9wYXJzZXIgPSByZS5jb21waWxlKHIiIiIgICAgICAgICMgQSBudW1lcmljIHN0cmluZyBjb25zaXN0cyBvZjoKLSMgICAgXHMqCi0gICAgKD9QPHNpZ24+Wy0rXSk/ICAgICAgICAgICAgICAjIGFuIG9wdGlvbmFsIHNpZ24sIGZvbGxvd2VkIGJ5IGVpdGhlci4uLgotICAgICgKLSAgICAgICAgKD89XGR8XC5cZCkgICAgICAgICAgICAgICMgLi4uYSBudW1iZXIgKHdpdGggYXQgbGVhc3Qgb25lIGRpZ2l0KQotICAgICAgICAoP1A8aW50PlxkKikgICAgICAgICAgICAgIyBoYXZpbmcgYSAocG9zc2libHkgZW1wdHkpIGludGVnZXIgcGFydAotICAgICAgICAoXC4oP1A8ZnJhYz5cZCopKT8gICAgICAgIyBmb2xsb3dlZCBieSBhbiBvcHRpb25hbCBmcmFjdGlvbmFsIHBhcnQKLSAgICAgICAgKEUoP1A8ZXhwPlstK10/XGQrKSk/ICAgICMgZm9sbG93ZWQgYnkgYW4gb3B0aW9uYWwgZXhwb25lbnQsIG9yLi4uCi0gICAgfAotICAgICAgICBJbmYoaW5pdHkpPyAgICAgICAgICAgICAgIyAuLi5hbiBpbmZpbml0eSwgb3IuLi4KLSAgICB8Ci0gICAgICAgICg/UDxzaWduYWw+cyk/ICAgICAgICAgICAjIC4uLmFuIChvcHRpb25hbGx5IHNpZ25hbGluZykKLSAgICAgICAgTmFOICAgICAgICAgICAgICAgICAgICAgICMgTmFOCi0gICAgICAgICg/UDxkaWFnPlxkKikgICAgICAgICAgICAjIHdpdGggKHBvc3NpYmx5IGVtcHR5KSBkaWFnbm9zdGljIGluZm8uCi0gICAgKQotIyAgICBccyoKLSAgICBcWgotIiIiLCByZS5WRVJCT1NFIHwgcmUuSUdOT1JFQ0FTRSkubWF0Y2gKLQotX2FsbF96ZXJvcyA9IHJlLmNvbXBpbGUoJzAqJCcpLm1hdGNoCi1fZXhhY3RfaGFsZiA9IHJlLmNvbXBpbGUoJzUwKiQnKS5tYXRjaAotCi0jIyMjIyBQRVAzMTAxIHN1cHBvcnQgZnVuY3Rpb25zICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMgVGhlIGZ1bmN0aW9ucyBpbiB0aGlzIHNlY3Rpb24gaGF2ZSBsaXR0bGUgdG8gZG8gd2l0aCB0aGUgRGVjaW1hbAotIyBjbGFzcywgYW5kIGNvdWxkIHBvdGVudGlhbGx5IGJlIHJldXNlZCBvciBhZGFwdGVkIGZvciBvdGhlciBwdXJlCi0jIFB5dGhvbiBudW1lcmljIGNsYXNzZXMgdGhhdCB3YW50IHRvIGltcGxlbWVudCBfX2Zvcm1hdF9fCi0jCi0jIEEgZm9ybWF0IHNwZWNpZmllciBmb3IgRGVjaW1hbCBsb29rcyBsaWtlOgotIwotIyAgIFtbZmlsbF1hbGlnbl1bc2lnbl1bI11bMF1bbWluaW11bXdpZHRoXVssXVsucHJlY2lzaW9uXVt0eXBlXQotCi1fcGFyc2VfZm9ybWF0X3NwZWNpZmllcl9yZWdleCA9IHJlLmNvbXBpbGUociIiIlxBCi0oPzoKLSAgICg/UDxmaWxsPi4pPwotICAgKD9QPGFsaWduPls8Pj1eXSkKLSk/Ci0oP1A8c2lnbj5bLSsgXSk/Ci0oP1A8YWx0PlwjKT8KLSg/UDx6ZXJvcGFkPjApPwotKD9QPG1pbmltdW13aWR0aD4oPyEwKVxkKyk/Ci0oP1A8dGhvdXNhbmRzX3NlcD4sKT8KLSg/OlwuKD9QPHByZWNpc2lvbj4wfCg/ITApXGQrKSk/Ci0oP1A8dHlwZT5bZUVmRmdHbiVdKT8KLVxaCi0iIiIsIHJlLlZFUkJPU0V8cmUuRE9UQUxMKQotCi1kZWwgcmUKLQotIyBUaGUgbG9jYWxlIG1vZHVsZSBpcyBvbmx5IG5lZWRlZCBmb3IgdGhlICduJyBmb3JtYXQgc3BlY2lmaWVyLiAgVGhlCi0jIHJlc3Qgb2YgdGhlIFBFUCAzMTAxIGNvZGUgZnVuY3Rpb25zIHF1aXRlIGhhcHBpbHkgd2l0aG91dCBpdCwgc28gd2UKLSMgZG9uJ3QgY2FyZSB0b28gbXVjaCBpZiBsb2NhbGUgaXNuJ3QgcHJlc2VudC4KLXRyeToKLSAgICBpbXBvcnQgbG9jYWxlIGFzIF9sb2NhbGUKLWV4Y2VwdCBJbXBvcnRFcnJvcjoKLSAgICBwYXNzCi0KLWRlZiBfcGFyc2VfZm9ybWF0X3NwZWNpZmllcihmb3JtYXRfc3BlYywgX2xvY2FsZWNvbnY9Tm9uZSk6Ci0gICAgIiIiUGFyc2UgYW5kIHZhbGlkYXRlIGEgZm9ybWF0IHNwZWNpZmllci4KLQotICAgIFR1cm5zIGEgc3RhbmRhcmQgbnVtZXJpYyBmb3JtYXQgc3BlY2lmaWVyIGludG8gYSBkaWN0LCB3aXRoIHRoZQotICAgIGZvbGxvd2luZyBlbnRyaWVzOgotCi0gICAgICBmaWxsOiBmaWxsIGNoYXJhY3RlciB0byBwYWQgZmllbGQgdG8gbWluaW11bSB3aWR0aAotICAgICAgYWxpZ246IGFsaWdubWVudCB0eXBlLCBlaXRoZXIgJzwnLCAnPicsICc9JyBvciAnXicKLSAgICAgIHNpZ246IGVpdGhlciAnKycsICctJyBvciAnICcKLSAgICAgIG1pbmltdW13aWR0aDogbm9ubmVnYXRpdmUgaW50ZWdlciBnaXZpbmcgbWluaW11bSB3aWR0aAotICAgICAgemVyb3BhZDogYm9vbGVhbiwgaW5kaWNhdGluZyB3aGV0aGVyIHRvIHBhZCB3aXRoIHplcm9zCi0gICAgICB0aG91c2FuZHNfc2VwOiBzdHJpbmcgdG8gdXNlIGFzIHRob3VzYW5kcyBzZXBhcmF0b3IsIG9yICcnCi0gICAgICBncm91cGluZzogZ3JvdXBpbmcgZm9yIHRob3VzYW5kcyBzZXBhcmF0b3JzLCBpbiBmb3JtYXQKLSAgICAgICAgdXNlZCBieSBsb2NhbGVjb252Ci0gICAgICBkZWNpbWFsX3BvaW50OiBzdHJpbmcgdG8gdXNlIGZvciBkZWNpbWFsIHBvaW50Ci0gICAgICBwcmVjaXNpb246IG5vbm5lZ2F0aXZlIGludGVnZXIgZ2l2aW5nIHByZWNpc2lvbiwgb3IgTm9uZQotICAgICAgdHlwZTogb25lIG9mIHRoZSBjaGFyYWN0ZXJzICdlRWZGZ0clJywgb3IgTm9uZQotCi0gICAgIiIiCi0gICAgbSA9IF9wYXJzZV9mb3JtYXRfc3BlY2lmaWVyX3JlZ2V4Lm1hdGNoKGZvcm1hdF9zcGVjKQotICAgIGlmIG0gaXMgTm9uZToKLSAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiSW52YWxpZCBmb3JtYXQgc3BlY2lmaWVyOiAiICsgZm9ybWF0X3NwZWMpCi0KLSAgICAjIGdldCB0aGUgZGljdGlvbmFyeQotICAgIGZvcm1hdF9kaWN0ID0gbS5ncm91cGRpY3QoKQotCi0gICAgIyB6ZXJvcGFkOyBkZWZhdWx0cyBmb3IgZmlsbCBhbmQgYWxpZ25tZW50LiAgSWYgemVybyBwYWRkaW5nCi0gICAgIyBpcyByZXF1ZXN0ZWQsIHRoZSBmaWxsIGFuZCBhbGlnbiBmaWVsZHMgc2hvdWxkIGJlIGFic2VudC4KLSAgICBmaWxsID0gZm9ybWF0X2RpY3RbJ2ZpbGwnXQotICAgIGFsaWduID0gZm9ybWF0X2RpY3RbJ2FsaWduJ10KLSAgICBmb3JtYXRfZGljdFsnemVyb3BhZCddID0gKGZvcm1hdF9kaWN0Wyd6ZXJvcGFkJ10gaXMgbm90IE5vbmUpCi0gICAgaWYgZm9ybWF0X2RpY3RbJ3plcm9wYWQnXToKLSAgICAgICAgaWYgZmlsbCBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkZpbGwgY2hhcmFjdGVyIGNvbmZsaWN0cyB3aXRoICcwJyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiBpbiBmb3JtYXQgc3BlY2lmaWVyOiAiICsgZm9ybWF0X3NwZWMpCi0gICAgICAgIGlmIGFsaWduIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiQWxpZ25tZW50IGNvbmZsaWN0cyB3aXRoICcwJyBpbiAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmb3JtYXQgc3BlY2lmaWVyOiAiICsgZm9ybWF0X3NwZWMpCi0gICAgZm9ybWF0X2RpY3RbJ2ZpbGwnXSA9IGZpbGwgb3IgJyAnCi0gICAgIyBQRVAgMzEwMSBvcmlnaW5hbGx5IHNwZWNpZmllZCB0aGF0IHRoZSBkZWZhdWx0IGFsaWdubWVudCBzaG91bGQKLSAgICAjIGJlIGxlZnQ7ICBpdCB3YXMgbGF0ZXIgYWdyZWVkIHRoYXQgcmlnaHQtYWxpZ25lZCBtYWtlcyBtb3JlIHNlbnNlCi0gICAgIyBmb3IgbnVtZXJpYyB0eXBlcy4gIFNlZSBodHRwOi8vYnVncy5weXRob24ub3JnL2lzc3VlNjg1Ny4KLSAgICBmb3JtYXRfZGljdFsnYWxpZ24nXSA9IGFsaWduIG9yICc+JwotCi0gICAgIyBkZWZhdWx0IHNpZ24gaGFuZGxpbmc6ICctJyBmb3IgbmVnYXRpdmUsICcnIGZvciBwb3NpdGl2ZQotICAgIGlmIGZvcm1hdF9kaWN0WydzaWduJ10gaXMgTm9uZToKLSAgICAgICAgZm9ybWF0X2RpY3RbJ3NpZ24nXSA9ICctJwotCi0gICAgIyBtaW5pbXVtd2lkdGggZGVmYXVsdHMgdG8gMDsgcHJlY2lzaW9uIHJlbWFpbnMgTm9uZSBpZiBub3QgZ2l2ZW4KLSAgICBmb3JtYXRfZGljdFsnbWluaW11bXdpZHRoJ10gPSBpbnQoZm9ybWF0X2RpY3RbJ21pbmltdW13aWR0aCddIG9yICcwJykKLSAgICBpZiBmb3JtYXRfZGljdFsncHJlY2lzaW9uJ10gaXMgbm90IE5vbmU6Ci0gICAgICAgIGZvcm1hdF9kaWN0WydwcmVjaXNpb24nXSA9IGludChmb3JtYXRfZGljdFsncHJlY2lzaW9uJ10pCi0KLSAgICAjIGlmIGZvcm1hdCB0eXBlIGlzICdnJyBvciAnRycgdGhlbiBhIHByZWNpc2lvbiBvZiAwIG1ha2VzIGxpdHRsZQotICAgICMgc2Vuc2U7IGNvbnZlcnQgaXQgdG8gMS4gIFNhbWUgaWYgZm9ybWF0IHR5cGUgaXMgdW5zcGVjaWZpZWQuCi0gICAgaWYgZm9ybWF0X2RpY3RbJ3ByZWNpc2lvbiddID09IDA6Ci0gICAgICAgIGlmIGZvcm1hdF9kaWN0Wyd0eXBlJ10gaXMgTm9uZSBvciBmb3JtYXRfZGljdFsndHlwZSddIGluICdnR24nOgotICAgICAgICAgICAgZm9ybWF0X2RpY3RbJ3ByZWNpc2lvbiddID0gMQotCi0gICAgIyBkZXRlcm1pbmUgdGhvdXNhbmRzIHNlcGFyYXRvciwgZ3JvdXBpbmcsIGFuZCBkZWNpbWFsIHNlcGFyYXRvciwgYW5kCi0gICAgIyBhZGQgYXBwcm9wcmlhdGUgZW50cmllcyB0byBmb3JtYXRfZGljdAotICAgIGlmIGZvcm1hdF9kaWN0Wyd0eXBlJ10gPT0gJ24nOgotICAgICAgICAjIGFwYXJ0IGZyb20gc2VwYXJhdG9ycywgJ24nIGJlaGF2ZXMganVzdCBsaWtlICdnJwotICAgICAgICBmb3JtYXRfZGljdFsndHlwZSddID0gJ2cnCi0gICAgICAgIGlmIF9sb2NhbGVjb252IGlzIE5vbmU6Ci0gICAgICAgICAgICBfbG9jYWxlY29udiA9IF9sb2NhbGUubG9jYWxlY29udigpCi0gICAgICAgIGlmIGZvcm1hdF9kaWN0Wyd0aG91c2FuZHNfc2VwJ10gaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJFeHBsaWNpdCB0aG91c2FuZHMgc2VwYXJhdG9yIGNvbmZsaWN0cyB3aXRoICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiduJyB0eXBlIGluIGZvcm1hdCBzcGVjaWZpZXI6ICIgKyBmb3JtYXRfc3BlYykKLSAgICAgICAgZm9ybWF0X2RpY3RbJ3Rob3VzYW5kc19zZXAnXSA9IF9sb2NhbGVjb252Wyd0aG91c2FuZHNfc2VwJ10KLSAgICAgICAgZm9ybWF0X2RpY3RbJ2dyb3VwaW5nJ10gPSBfbG9jYWxlY29udlsnZ3JvdXBpbmcnXQotICAgICAgICBmb3JtYXRfZGljdFsnZGVjaW1hbF9wb2ludCddID0gX2xvY2FsZWNvbnZbJ2RlY2ltYWxfcG9pbnQnXQotICAgIGVsc2U6Ci0gICAgICAgIGlmIGZvcm1hdF9kaWN0Wyd0aG91c2FuZHNfc2VwJ10gaXMgTm9uZToKLSAgICAgICAgICAgIGZvcm1hdF9kaWN0Wyd0aG91c2FuZHNfc2VwJ10gPSAnJwotICAgICAgICBmb3JtYXRfZGljdFsnZ3JvdXBpbmcnXSA9IFszLCAwXQotICAgICAgICBmb3JtYXRfZGljdFsnZGVjaW1hbF9wb2ludCddID0gJy4nCi0KLSAgICByZXR1cm4gZm9ybWF0X2RpY3QKLQotZGVmIF9mb3JtYXRfYWxpZ24oc2lnbiwgYm9keSwgc3BlYyk6Ci0gICAgIiIiR2l2ZW4gYW4gdW5wYWRkZWQsIG5vbi1hbGlnbmVkIG51bWVyaWMgc3RyaW5nICdib2R5JyBhbmQgc2lnbgotICAgIHN0cmluZyAnc2lnbicsIGFkZCBwYWRkaW5nIGFuZCBhbGlnbm1lbnQgY29uZm9ybWluZyB0byB0aGUgZ2l2ZW4KLSAgICBmb3JtYXQgc3BlY2lmaWVyIGRpY3Rpb25hcnkgJ3NwZWMnIChhcyBwcm9kdWNlZCBieQotICAgIHBhcnNlX2Zvcm1hdF9zcGVjaWZpZXIpLgotCi0gICAgIiIiCi0gICAgIyBob3cgbXVjaCBleHRyYSBzcGFjZSBkbyB3ZSBoYXZlIHRvIHBsYXkgd2l0aD8KLSAgICBtaW5pbXVtd2lkdGggPSBzcGVjWydtaW5pbXVtd2lkdGgnXQotICAgIGZpbGwgPSBzcGVjWydmaWxsJ10KLSAgICBwYWRkaW5nID0gZmlsbCoobWluaW11bXdpZHRoIC0gbGVuKHNpZ24pIC0gbGVuKGJvZHkpKQotCi0gICAgYWxpZ24gPSBzcGVjWydhbGlnbiddCi0gICAgaWYgYWxpZ24gPT0gJzwnOgotICAgICAgICByZXN1bHQgPSBzaWduICsgYm9keSArIHBhZGRpbmcKLSAgICBlbGlmIGFsaWduID09ICc+JzoKLSAgICAgICAgcmVzdWx0ID0gcGFkZGluZyArIHNpZ24gKyBib2R5Ci0gICAgZWxpZiBhbGlnbiA9PSAnPSc6Ci0gICAgICAgIHJlc3VsdCA9IHNpZ24gKyBwYWRkaW5nICsgYm9keQotICAgIGVsaWYgYWxpZ24gPT0gJ14nOgotICAgICAgICBoYWxmID0gbGVuKHBhZGRpbmcpLy8yCi0gICAgICAgIHJlc3VsdCA9IHBhZGRpbmdbOmhhbGZdICsgc2lnbiArIGJvZHkgKyBwYWRkaW5nW2hhbGY6XQotICAgIGVsc2U6Ci0gICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ1VucmVjb2duaXNlZCBhbGlnbm1lbnQgZmllbGQnKQotCi0gICAgcmV0dXJuIHJlc3VsdAotCi1kZWYgX2dyb3VwX2xlbmd0aHMoZ3JvdXBpbmcpOgotICAgICIiIkNvbnZlcnQgYSBsb2NhbGVjb252LXN0eWxlIGdyb3VwaW5nIGludG8gYSAocG9zc2libHkgaW5maW5pdGUpCi0gICAgaXRlcmFibGUgb2YgaW50ZWdlcnMgcmVwcmVzZW50aW5nIGdyb3VwIGxlbmd0aHMuCi0KLSAgICAiIiIKLSAgICAjIFRoZSByZXN1bHQgZnJvbSBsb2NhbGVjb252KClbJ2dyb3VwaW5nJ10sIGFuZCB0aGUgaW5wdXQgdG8gdGhpcwotICAgICMgZnVuY3Rpb24sIHNob3VsZCBiZSBhIGxpc3Qgb2YgaW50ZWdlcnMgaW4gb25lIG9mIHRoZQotICAgICMgZm9sbG93aW5nIHRocmVlIGZvcm1zOgotICAgICMKLSAgICAjICAgKDEpIGFuIGVtcHR5IGxpc3QsIG9yCi0gICAgIyAgICgyKSBub25lbXB0eSBsaXN0IG9mIHBvc2l0aXZlIGludGVnZXJzICsgWzBdCi0gICAgIyAgICgzKSBsaXN0IG9mIHBvc2l0aXZlIGludGVnZXJzICsgW2xvY2FsZS5DSEFSX01BWF0sIG9yCi0KLSAgICBmcm9tIGl0ZXJ0b29scyBpbXBvcnQgY2hhaW4sIHJlcGVhdAotICAgIGlmIG5vdCBncm91cGluZzoKLSAgICAgICAgcmV0dXJuIFtdCi0gICAgZWxpZiBncm91cGluZ1stMV0gPT0gMCBhbmQgbGVuKGdyb3VwaW5nKSA+PSAyOgotICAgICAgICByZXR1cm4gY2hhaW4oZ3JvdXBpbmdbOi0xXSwgcmVwZWF0KGdyb3VwaW5nWy0yXSkpCi0gICAgZWxpZiBncm91cGluZ1stMV0gPT0gX2xvY2FsZS5DSEFSX01BWDoKLSAgICAgICAgcmV0dXJuIGdyb3VwaW5nWzotMV0KLSAgICBlbHNlOgotICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCd1bnJlY29nbmlzZWQgZm9ybWF0IGZvciBncm91cGluZycpCi0KLWRlZiBfaW5zZXJ0X3Rob3VzYW5kc19zZXAoZGlnaXRzLCBzcGVjLCBtaW5fd2lkdGg9MSk6Ci0gICAgIiIiSW5zZXJ0IHRob3VzYW5kcyBzZXBhcmF0b3JzIGludG8gYSBkaWdpdCBzdHJpbmcuCi0KLSAgICBzcGVjIGlzIGEgZGljdGlvbmFyeSB3aG9zZSBrZXlzIHNob3VsZCBpbmNsdWRlICd0aG91c2FuZHNfc2VwJyBhbmQKLSAgICAnZ3JvdXBpbmcnOyB0eXBpY2FsbHkgaXQncyB0aGUgcmVzdWx0IG9mIHBhcnNpbmcgdGhlIGZvcm1hdAotICAgIHNwZWNpZmllciB1c2luZyBfcGFyc2VfZm9ybWF0X3NwZWNpZmllci4KLQotICAgIFRoZSBtaW5fd2lkdGgga2V5d29yZCBhcmd1bWVudCBnaXZlcyB0aGUgbWluaW11bSBsZW5ndGggb2YgdGhlCi0gICAgcmVzdWx0LCB3aGljaCB3aWxsIGJlIHBhZGRlZCBvbiB0aGUgbGVmdCB3aXRoIHplcm9zIGlmIG5lY2Vzc2FyeS4KLQotICAgIElmIG5lY2Vzc2FyeSwgdGhlIHplcm8gcGFkZGluZyBhZGRzIGFuIGV4dHJhICcwJyBvbiB0aGUgbGVmdCB0bwotICAgIGF2b2lkIGEgbGVhZGluZyB0aG91c2FuZHMgc2VwYXJhdG9yLiAgRm9yIGV4YW1wbGUsIGluc2VydGluZwotICAgIGNvbW1hcyBldmVyeSB0aHJlZSBkaWdpdHMgaW4gJzEyMzQ1NicsIHdpdGggbWluX3dpZHRoPTgsIGdpdmVzCi0gICAgJzAsMTIzLDQ1NicsIGV2ZW4gdGhvdWdoIHRoYXQgaGFzIGxlbmd0aCA5LgotCi0gICAgIiIiCi0KLSAgICBzZXAgPSBzcGVjWyd0aG91c2FuZHNfc2VwJ10KLSAgICBncm91cGluZyA9IHNwZWNbJ2dyb3VwaW5nJ10KLQotICAgIGdyb3VwcyA9IFtdCi0gICAgZm9yIGwgaW4gX2dyb3VwX2xlbmd0aHMoZ3JvdXBpbmcpOgotICAgICAgICBpZiBsIDw9IDA6Ci0gICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJncm91cCBsZW5ndGggc2hvdWxkIGJlIHBvc2l0aXZlIikKLSAgICAgICAgIyBtYXgoLi4uLCAxKSBmb3JjZXMgYXQgbGVhc3QgMSBkaWdpdCB0byB0aGUgbGVmdCBvZiBhIHNlcGFyYXRvcgotICAgICAgICBsID0gbWluKG1heChsZW4oZGlnaXRzKSwgbWluX3dpZHRoLCAxKSwgbCkKLSAgICAgICAgZ3JvdXBzLmFwcGVuZCgnMCcqKGwgLSBsZW4oZGlnaXRzKSkgKyBkaWdpdHNbLWw6XSkKLSAgICAgICAgZGlnaXRzID0gZGlnaXRzWzotbF0KLSAgICAgICAgbWluX3dpZHRoIC09IGwKLSAgICAgICAgaWYgbm90IGRpZ2l0cyBhbmQgbWluX3dpZHRoIDw9IDA6Ci0gICAgICAgICAgICBicmVhawotICAgICAgICBtaW5fd2lkdGggLT0gbGVuKHNlcCkKLSAgICBlbHNlOgotICAgICAgICBsID0gbWF4KGxlbihkaWdpdHMpLCBtaW5fd2lkdGgsIDEpCi0gICAgICAgIGdyb3Vwcy5hcHBlbmQoJzAnKihsIC0gbGVuKGRpZ2l0cykpICsgZGlnaXRzWy1sOl0pCi0gICAgcmV0dXJuIHNlcC5qb2luKHJldmVyc2VkKGdyb3VwcykpCi0KLWRlZiBfZm9ybWF0X3NpZ24oaXNfbmVnYXRpdmUsIHNwZWMpOgotICAgICIiIkRldGVybWluZSBzaWduIGNoYXJhY3Rlci4iIiIKLQotICAgIGlmIGlzX25lZ2F0aXZlOgotICAgICAgICByZXR1cm4gJy0nCi0gICAgZWxpZiBzcGVjWydzaWduJ10gaW4gJyArJzoKLSAgICAgICAgcmV0dXJuIHNwZWNbJ3NpZ24nXQotICAgIGVsc2U6Ci0gICAgICAgIHJldHVybiAnJwotCi1kZWYgX2Zvcm1hdF9udW1iZXIoaXNfbmVnYXRpdmUsIGludHBhcnQsIGZyYWNwYXJ0LCBleHAsIHNwZWMpOgotICAgICIiIkZvcm1hdCBhIG51bWJlciwgZ2l2ZW4gdGhlIGZvbGxvd2luZyBkYXRhOgotCi0gICAgaXNfbmVnYXRpdmU6IHRydWUgaWYgdGhlIG51bWJlciBpcyBuZWdhdGl2ZSwgZWxzZSBmYWxzZQotICAgIGludHBhcnQ6IHN0cmluZyBvZiBkaWdpdHMgdGhhdCBtdXN0IGFwcGVhciBiZWZvcmUgdGhlIGRlY2ltYWwgcG9pbnQKLSAgICBmcmFjcGFydDogc3RyaW5nIG9mIGRpZ2l0cyB0aGF0IG11c3QgY29tZSBhZnRlciB0aGUgcG9pbnQKLSAgICBleHA6IGV4cG9uZW50LCBhcyBhbiBpbnRlZ2VyCi0gICAgc3BlYzogZGljdGlvbmFyeSByZXN1bHRpbmcgZnJvbSBwYXJzaW5nIHRoZSBmb3JtYXQgc3BlY2lmaWVyCi0KLSAgICBUaGlzIGZ1bmN0aW9uIHVzZXMgdGhlIGluZm9ybWF0aW9uIGluIHNwZWMgdG86Ci0gICAgICBpbnNlcnQgc2VwYXJhdG9ycyAoZGVjaW1hbCBzZXBhcmF0b3IgYW5kIHRob3VzYW5kcyBzZXBhcmF0b3JzKQotICAgICAgZm9ybWF0IHRoZSBzaWduCi0gICAgICBmb3JtYXQgdGhlIGV4cG9uZW50Ci0gICAgICBhZGQgdHJhaWxpbmcgJyUnIGZvciB0aGUgJyUnIHR5cGUKLSAgICAgIHplcm8tcGFkIGlmIG5lY2Vzc2FyeQotICAgICAgZmlsbCBhbmQgYWxpZ24gaWYgbmVjZXNzYXJ5Ci0gICAgIiIiCi0KLSAgICBzaWduID0gX2Zvcm1hdF9zaWduKGlzX25lZ2F0aXZlLCBzcGVjKQotCi0gICAgaWYgZnJhY3BhcnQgb3Igc3BlY1snYWx0J106Ci0gICAgICAgIGZyYWNwYXJ0ID0gc3BlY1snZGVjaW1hbF9wb2ludCddICsgZnJhY3BhcnQKLQotICAgIGlmIGV4cCAhPSAwIG9yIHNwZWNbJ3R5cGUnXSBpbiAnZUUnOgotICAgICAgICBlY2hhciA9IHsnRSc6ICdFJywgJ2UnOiAnZScsICdHJzogJ0UnLCAnZyc6ICdlJ31bc3BlY1sndHlwZSddXQotICAgICAgICBmcmFjcGFydCArPSAiezB9ezE6K30iLmZvcm1hdChlY2hhciwgZXhwKQotICAgIGlmIHNwZWNbJ3R5cGUnXSA9PSAnJSc6Ci0gICAgICAgIGZyYWNwYXJ0ICs9ICclJwotCi0gICAgaWYgc3BlY1snemVyb3BhZCddOgotICAgICAgICBtaW5fd2lkdGggPSBzcGVjWydtaW5pbXVtd2lkdGgnXSAtIGxlbihmcmFjcGFydCkgLSBsZW4oc2lnbikKLSAgICBlbHNlOgotICAgICAgICBtaW5fd2lkdGggPSAwCi0gICAgaW50cGFydCA9IF9pbnNlcnRfdGhvdXNhbmRzX3NlcChpbnRwYXJ0LCBzcGVjLCBtaW5fd2lkdGgpCi0KLSAgICByZXR1cm4gX2Zvcm1hdF9hbGlnbihzaWduLCBpbnRwYXJ0K2ZyYWNwYXJ0LCBzcGVjKQotCi0KLSMjIyMjIFVzZWZ1bCBDb25zdGFudHMgKGludGVybmFsIHVzZSBvbmx5KSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotCi0jIFJldXNhYmxlIGRlZmF1bHRzCi1fSW5maW5pdHkgPSBEZWNpbWFsKCdJbmYnKQotX05lZ2F0aXZlSW5maW5pdHkgPSBEZWNpbWFsKCctSW5mJykKLV9OYU4gPSBEZWNpbWFsKCdOYU4nKQotX1plcm8gPSBEZWNpbWFsKDApCi1fT25lID0gRGVjaW1hbCgxKQotX05lZ2F0aXZlT25lID0gRGVjaW1hbCgtMSkKLQotIyBfU2lnbmVkSW5maW5pdHlbc2lnbl0gaXMgaW5maW5pdHkgdy8gdGhhdCBzaWduCi1fU2lnbmVkSW5maW5pdHkgPSAoX0luZmluaXR5LCBfTmVnYXRpdmVJbmZpbml0eSkKLQotIyBDb25zdGFudHMgcmVsYXRlZCB0byB0aGUgaGFzaCBpbXBsZW1lbnRhdGlvbjsgIGhhc2goeCkgaXMgYmFzZWQKLSMgb24gdGhlIHJlZHVjdGlvbiBvZiB4IG1vZHVsbyBfUHlIQVNIX01PRFVMVVMKLV9QeUhBU0hfTU9EVUxVUyA9IHN5cy5oYXNoX2luZm8ubW9kdWx1cwotIyBoYXNoIHZhbHVlcyB0byB1c2UgZm9yIHBvc2l0aXZlIGFuZCBuZWdhdGl2ZSBpbmZpbml0aWVzLCBhbmQgbmFucwotX1B5SEFTSF9JTkYgPSBzeXMuaGFzaF9pbmZvLmluZgotX1B5SEFTSF9OQU4gPSBzeXMuaGFzaF9pbmZvLm5hbgotCi0jIF9QeUhBU0hfMTBJTlYgaXMgdGhlIGludmVyc2Ugb2YgMTAgbW9kdWxvIHRoZSBwcmltZSBfUHlIQVNIX01PRFVMVVMKLV9QeUhBU0hfMTBJTlYgPSBwb3coMTAsIF9QeUhBU0hfTU9EVUxVUyAtIDIsIF9QeUhBU0hfTU9EVUxVUykKLWRlbCBzeXMKLQotdHJ5OgotICAgIGltcG9ydCBfZGVjaW1hbAotZXhjZXB0IEltcG9ydEVycm9yOgotICAgIHBhc3MKLWVsc2U6Ci0gICAgczEgPSBzZXQoZGlyKCkpCi0gICAgczIgPSBzZXQoZGlyKF9kZWNpbWFsKSkKLSAgICBmb3IgbmFtZSBpbiBzMSAtIHMyOgotICAgICAgICBkZWwgZ2xvYmFscygpW25hbWVdCi0gICAgZGVsIHMxLCBzMiwgbmFtZQogICAgIGZyb20gX2RlY2ltYWwgaW1wb3J0ICoKLQotaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKLSAgICBpbXBvcnQgZG9jdGVzdCwgZGVjaW1hbAotICAgIGRvY3Rlc3QudGVzdG1vZChkZWNpbWFsKQorICAgIGZyb20gX2RlY2ltYWwgaW1wb3J0IF9fZG9jX18KKyAgICBmcm9tIF9kZWNpbWFsIGltcG9ydCBfX3ZlcnNpb25fXworICAgIGZyb20gX2RlY2ltYWwgaW1wb3J0IF9fbGlibXBkZWNfdmVyc2lvbl9fCitleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgZnJvbSBfcHlkZWNpbWFsIGltcG9ydCAqCisgICAgZnJvbSBfcHlkZWNpbWFsIGltcG9ydCBfX2RvY19fCisgICAgZnJvbSBfcHlkZWNpbWFsIGltcG9ydCBfX3ZlcnNpb25fXworICAgIGZyb20gX3B5ZGVjaW1hbCBpbXBvcnQgX19saWJtcGRlY192ZXJzaW9uX18KZGlmZiAtLWdpdCBhL0xpYi9kaWZmbGliLnB5IGIvTGliL2RpZmZsaWIucHkKaW5kZXggN2ViNDJhOS4uYWUzNDc5ZCAxMDA2NDQKLS0tIGEvTGliL2RpZmZsaWIucHkKKysrIGIvTGliL2RpZmZsaWIucHkKQEAgLTMwLDcgKzMwLDcgQEAKICAgICAgICAgICAgJ0RpZmZlcicsJ0lTX0NIQVJBQ1RFUl9KVU5LJywgJ0lTX0xJTkVfSlVOSycsICdjb250ZXh0X2RpZmYnLAogICAgICAgICAgICAndW5pZmllZF9kaWZmJywgJ0h0bWxEaWZmJywgJ01hdGNoJ10KIAotaW1wb3J0IGhlYXBxCitmcm9tIGhlYXBxIGltcG9ydCBubGFyZ2VzdCBhcyBfbmxhcmdlc3QKIGZyb20gY29sbGVjdGlvbnMgaW1wb3J0IG5hbWVkdHVwbGUgYXMgX25hbWVkdHVwbGUKIAogTWF0Y2ggPSBfbmFtZWR0dXBsZSgnTWF0Y2gnLCAnYSBiIHNpemUnKQpAQCAtNzI5LDcgKzcyOSw3IEBACiAgICAgICAgICAgICByZXN1bHQuYXBwZW5kKChzLnJhdGlvKCksIHgpKQogCiAgICAgIyBNb3ZlIHRoZSBiZXN0IHNjb3JlcnMgdG8gaGVhZCBvZiBsaXN0Ci0gICAgcmVzdWx0ID0gaGVhcHEubmxhcmdlc3QobiwgcmVzdWx0KQorICAgIHJlc3VsdCA9IF9ubGFyZ2VzdChuLCByZXN1bHQpCiAgICAgIyBTdHJpcCBzY29yZXMgZm9yIHRoZSBiZXN0IG4gbWF0Y2hlcwogICAgIHJldHVybiBbeCBmb3Igc2NvcmUsIHggaW4gcmVzdWx0XQogCkBAIC04NTIsMTAgKzg1Miw5IEBACiAgICAgICAgICAgYW5kIHJldHVybiB0cnVlIGlmZiB0aGUgc3RyaW5nIGlzIGp1bmsuIFRoZSBtb2R1bGUtbGV2ZWwgZnVuY3Rpb24KICAgICAgICAgICBgSVNfTElORV9KVU5LYCBtYXkgYmUgdXNlZCB0byBmaWx0ZXIgb3V0IGxpbmVzIHdpdGhvdXQgdmlzaWJsZQogICAgICAgICAgIGNoYXJhY3RlcnMsIGV4Y2VwdCBmb3IgYXQgbW9zdCBvbmUgc3BsYXQgKCcjJykuICBJdCBpcyByZWNvbW1lbmRlZAotICAgICAgICAgIHRvIGxlYXZlIGxpbmVqdW5rIE5vbmU7IGFzIG9mIFB5dGhvbiAyLjMsIHRoZSB1bmRlcmx5aW5nCi0gICAgICAgICAgU2VxdWVuY2VNYXRjaGVyIGNsYXNzIGhhcyBncm93biBhbiBhZGFwdGl2ZSBub3Rpb24gb2YgIm5vaXNlIiBsaW5lcwotICAgICAgICAgIHRoYXQncyBiZXR0ZXIgdGhhbiBhbnkgc3RhdGljIGRlZmluaXRpb24gdGhlIGF1dGhvciBoYXMgZXZlciBiZWVuCi0gICAgICAgICAgYWJsZSB0byBjcmFmdC4KKyAgICAgICAgICB0byBsZWF2ZSBsaW5lanVuayBOb25lOyB0aGUgdW5kZXJseWluZyBTZXF1ZW5jZU1hdGNoZXIgY2xhc3MgaGFzCisgICAgICAgICAgYW4gYWRhcHRpdmUgbm90aW9uIG9mICJub2lzZSIgbGluZXMgdGhhdCdzIGJldHRlciB0aGFuIGFueSBzdGF0aWMKKyAgICAgICAgICBkZWZpbml0aW9uIHRoZSBhdXRob3IgaGFzIGV2ZXIgYmVlbiBhYmxlIHRvIGNyYWZ0LgogCiAgICAgICAgIC0gYGNoYXJqdW5rYDogQSBmdW5jdGlvbiB0aGF0IHNob3VsZCBhY2NlcHQgYSBzdHJpbmcgb2YgbGVuZ3RoIDEuIFRoZQogICAgICAgICAgIG1vZHVsZS1sZXZlbCBmdW5jdGlvbiBgSVNfQ0hBUkFDVEVSX0pVTktgIG1heSBiZSB1c2VkIHRvIGZpbHRlciBvdXQKQEAgLTEyOTgsMTcgKzEyOTcsMTggQEAKICAgICBDb21wYXJlIGBhYCBhbmQgYGJgIChsaXN0cyBvZiBzdHJpbmdzKTsgcmV0dXJuIGEgYERpZmZlcmAtc3R5bGUgZGVsdGEuCiAKICAgICBPcHRpb25hbCBrZXl3b3JkIHBhcmFtZXRlcnMgYGxpbmVqdW5rYCBhbmQgYGNoYXJqdW5rYCBhcmUgZm9yIGZpbHRlcgotICAgIGZ1bmN0aW9ucyAob3IgTm9uZSk6CisgICAgZnVuY3Rpb25zLCBvciBjYW4gYmUgTm9uZToKIAotICAgIC0gbGluZWp1bms6IEEgZnVuY3Rpb24gdGhhdCBzaG91bGQgYWNjZXB0IGEgc2luZ2xlIHN0cmluZyBhcmd1bWVudCwgYW5kCisgICAgLSBsaW5lanVuazogQSBmdW5jdGlvbiB0aGF0IHNob3VsZCBhY2NlcHQgYSBzaW5nbGUgc3RyaW5nIGFyZ3VtZW50IGFuZAogICAgICAgcmV0dXJuIHRydWUgaWZmIHRoZSBzdHJpbmcgaXMganVuay4gIFRoZSBkZWZhdWx0IGlzIE5vbmUsIGFuZCBpcwotICAgICAgcmVjb21tZW5kZWQ7IGFzIG9mIFB5dGhvbiAyLjMsIGFuIGFkYXB0aXZlIG5vdGlvbiBvZiAibm9pc2UiIGxpbmVzIGlzCi0gICAgICB1c2VkIHRoYXQgZG9lcyBhIGdvb2Qgam9iIG9uIGl0cyBvd24uCisgICAgICByZWNvbW1lbmRlZDsgdGhlIHVuZGVybHlpbmcgU2VxdWVuY2VNYXRjaGVyIGNsYXNzIGhhcyBhbiBhZGFwdGl2ZQorICAgICAgbm90aW9uIG9mICJub2lzZSIgbGluZXMuCiAKLSAgICAtIGNoYXJqdW5rOiBBIGZ1bmN0aW9uIHRoYXQgc2hvdWxkIGFjY2VwdCBhIHN0cmluZyBvZiBsZW5ndGggMS4gVGhlCi0gICAgICBkZWZhdWx0IGlzIG1vZHVsZS1sZXZlbCBmdW5jdGlvbiBJU19DSEFSQUNURVJfSlVOSywgd2hpY2ggZmlsdGVycyBvdXQKLSAgICAgIHdoaXRlc3BhY2UgY2hhcmFjdGVycyAoYSBibGFuayBvciB0YWI7IG5vdGU6IGJhZCBpZGVhIHRvIGluY2x1ZGUgbmV3bGluZQotICAgICAgaW4gdGhpcyEpLgorICAgIC0gY2hhcmp1bms6IEEgZnVuY3Rpb24gdGhhdCBhY2NlcHRzIGEgY2hhcmFjdGVyIChzdHJpbmcgb2YgbGVuZ3RoCisgICAgICAxKSwgYW5kIHJldHVybnMgdHJ1ZSBpZmYgdGhlIGNoYXJhY3RlciBpcyBqdW5rLiBUaGUgZGVmYXVsdCBpcworICAgICAgdGhlIG1vZHVsZS1sZXZlbCBmdW5jdGlvbiBJU19DSEFSQUNURVJfSlVOSywgd2hpY2ggZmlsdGVycyBvdXQKKyAgICAgIHdoaXRlc3BhY2UgY2hhcmFjdGVycyAoYSBibGFuayBvciB0YWI7IG5vdGU6IGl0J3MgYSBiYWQgaWRlYSB0bworICAgICAgaW5jbHVkZSBuZXdsaW5lIGluIHRoaXMhKS4KIAogICAgIFRvb2xzL3NjcmlwdHMvbmRpZmYucHkgaXMgYSBjb21tYW5kLWxpbmUgZnJvbnQtZW5kIHRvIHRoaXMgZnVuY3Rpb24uCiAKQEAgLTE0MTAsNyArMTQxMCw3IEBACiAgICAgICAgICAgICBjaGFuZ2VfcmUuc3ViKHJlY29yZF9zdWJfaW5mbyxtYXJrZXJzKQogICAgICAgICAgICAgIyBwcm9jZXNzIGVhY2ggdHVwbGUgaW5zZXJ0aW5nIG91ciBzcGVjaWFsIG1hcmtzIHRoYXQgd29uJ3QgYmUKICAgICAgICAgICAgICMgbm90aWNlZCBieSBhbiB4bWwvaHRtbCBlc2NhcGVyLgotICAgICAgICAgICAgZm9yIGtleSwoYmVnaW4sZW5kKSBpbiBzdWJfaW5mb1s6Oi0xXToKKyAgICAgICAgICAgIGZvciBrZXksKGJlZ2luLGVuZCkgaW4gcmV2ZXJzZWQoc3ViX2luZm8pOgogICAgICAgICAgICAgICAgIHRleHQgPSB0ZXh0WzA6YmVnaW5dKydcMCcra2V5K3RleHRbYmVnaW46ZW5kXSsnXDEnK3RleHRbZW5kOl0KICAgICAgICAgICAgIHRleHQgPSB0ZXh0WzI6XQogICAgICAgICAjIEhhbmRsZSBjYXNlIG9mIGFkZC9kZWxldGUgZW50aXJlIGxpbmUKQEAgLTE0NDgsMTAgKzE0NDgsNyBAQAogICAgICAgICAgICAgIyBhcmUgYSBjb25jYXRlbmF0aW9uIG9mIHRoZSBmaXJzdCBjaGFyYWN0ZXIgb2YgZWFjaCBvZiB0aGUgNCBsaW5lcwogICAgICAgICAgICAgIyBzbyB3ZSBjYW4gZG8gc29tZSB2ZXJ5IHJlYWRhYmxlIGNvbXBhcmlzb25zLgogICAgICAgICAgICAgd2hpbGUgbGVuKGxpbmVzKSA8IDQ6Ci0gICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICBsaW5lcy5hcHBlbmQobmV4dChkaWZmX2xpbmVzX2l0ZXJhdG9yKSkKLSAgICAgICAgICAgICAgICBleGNlcHQgU3RvcEl0ZXJhdGlvbjoKLSAgICAgICAgICAgICAgICAgICAgbGluZXMuYXBwZW5kKCdYJykKKyAgICAgICAgICAgICAgICBsaW5lcy5hcHBlbmQobmV4dChkaWZmX2xpbmVzX2l0ZXJhdG9yLCAnWCcpKQogICAgICAgICAgICAgcyA9ICcnLmpvaW4oW2xpbmVbMF0gZm9yIGxpbmUgaW4gbGluZXNdKQogICAgICAgICAgICAgaWYgcy5zdGFydHN3aXRoKCdYJyk6CiAgICAgICAgICAgICAgICAgIyBXaGVuIG5vIG1vcmUgbGluZXMsIHB1bXAgb3V0IGFueSByZW1haW5pbmcgYmxhbmsgbGluZXMgc28gdGhlCkBAIC0xNTE0LDcgKzE1MTEsNyBAQAogICAgICAgICAgICAgICAgIG51bV9ibGFua3NfdG9feWllbGQgLT0gMQogICAgICAgICAgICAgICAgIHlpZWxkICgnJywnXG4nKSxOb25lLFRydWUKICAgICAgICAgICAgIGlmIHMuc3RhcnRzd2l0aCgnWCcpOgotICAgICAgICAgICAgICAgIHJhaXNlIFN0b3BJdGVyYXRpb24KKyAgICAgICAgICAgICAgICByZXR1cm4KICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgeWllbGQgZnJvbV9saW5lLHRvX2xpbmUsVHJ1ZQogCkBAIC0xNjc5LDcgKzE2NzYsNyBAQAogICAgICAgICB0YWJzaXplIC0tIHRhYiBzdG9wIHNwYWNpbmcsIGRlZmF1bHRzIHRvIDguCiAgICAgICAgIHdyYXBjb2x1bW4gLS0gY29sdW1uIG51bWJlciB3aGVyZSBsaW5lcyBhcmUgYnJva2VuIGFuZCB3cmFwcGVkLAogICAgICAgICAgICAgZGVmYXVsdHMgdG8gTm9uZSB3aGVyZSBsaW5lcyBhcmUgbm90IHdyYXBwZWQuCi0gICAgICAgIGxpbmVqdW5rLGNoYXJqdW5rIC0tIGtleXdvcmQgYXJndW1lbnRzIHBhc3NlZCBpbnRvIG5kaWZmKCkgKHVzZWQgdG8gYnkKKyAgICAgICAgbGluZWp1bmssY2hhcmp1bmsgLS0ga2V5d29yZCBhcmd1bWVudHMgcGFzc2VkIGludG8gbmRpZmYoKSAodXNlZCBieQogICAgICAgICAgICAgSHRtbERpZmYoKSB0byBnZW5lcmF0ZSB0aGUgc2lkZSBieSBzaWRlIEhUTUwgZGlmZmVyZW5jZXMpLiAgU2VlCiAgICAgICAgICAgICBuZGlmZigpIGRvY3VtZW50YXRpb24gZm9yIGFyZ3VtZW50IGRlZmF1bHQgdmFsdWVzIGFuZCBkZXNjcmlwdGlvbnMuCiAgICAgICAgICIiIgpkaWZmIC0tZ2l0IGEvTGliL2Rpcy5weSBiL0xpYi9kaXMucHkKaW5kZXggODFjYmU3Zi4uZDIxNWJjNSAxMDA2NDQKLS0tIGEvTGliL2Rpcy5weQorKysgYi9MaWIvZGlzLnB5CkBAIC0yOSw3ICsyOSw3IEBACiAgICAgcmV0dXJuIGMKIAogZGVmIGRpcyh4PU5vbmUsICosIGZpbGU9Tm9uZSk6Ci0gICAgIiIiRGlzYXNzZW1ibGUgY2xhc3NlcywgbWV0aG9kcywgZnVuY3Rpb25zLCBvciBjb2RlLgorICAgICIiIkRpc2Fzc2VtYmxlIGNsYXNzZXMsIG1ldGhvZHMsIGZ1bmN0aW9ucywgZ2VuZXJhdG9ycywgb3IgY29kZS4KIAogICAgIFdpdGggbm8gYXJndW1lbnQsIGRpc2Fzc2VtYmxlIHRoZSBsYXN0IHRyYWNlYmFjay4KIApAQCAtNDEsNiArNDEsOCBAQAogICAgICAgICB4ID0geC5fX2Z1bmNfXwogICAgIGlmIGhhc2F0dHIoeCwgJ19fY29kZV9fJyk6ICAjIEZ1bmN0aW9uCiAgICAgICAgIHggPSB4Ll9fY29kZV9fCisgICAgaWYgaGFzYXR0cih4LCAnZ2lfY29kZScpOiAgIyBHZW5lcmF0b3IKKyAgICAgICAgeCA9IHguZ2lfY29kZQogICAgIGlmIGhhc2F0dHIoeCwgJ19fZGljdF9fJyk6ICAjIENsYXNzIG9yIG1vZHVsZQogICAgICAgICBpdGVtcyA9IHNvcnRlZCh4Ll9fZGljdF9fLml0ZW1zKCkpCiAgICAgICAgIGZvciBuYW1lLCB4MSBpbiBpdGVtczoKQEAgLTk5LDExICsxMDEsMTMgQEAKICAgICByZXR1cm4gIiwgIi5qb2luKG5hbWVzKQogCiBkZWYgX2dldF9jb2RlX29iamVjdCh4KToKLSAgICAiIiJIZWxwZXIgdG8gaGFuZGxlIG1ldGhvZHMsIGZ1bmN0aW9ucywgc3RyaW5ncyBhbmQgcmF3IGNvZGUgb2JqZWN0cyIiIgorICAgICIiIkhlbHBlciB0byBoYW5kbGUgbWV0aG9kcywgZnVuY3Rpb25zLCBnZW5lcmF0b3JzLCBzdHJpbmdzIGFuZCByYXcgY29kZSBvYmplY3RzIiIiCiAgICAgaWYgaGFzYXR0cih4LCAnX19mdW5jX18nKTogIyBNZXRob2QKICAgICAgICAgeCA9IHguX19mdW5jX18KICAgICBpZiBoYXNhdHRyKHgsICdfX2NvZGVfXycpOiAjIEZ1bmN0aW9uCiAgICAgICAgIHggPSB4Ll9fY29kZV9fCisgICAgaWYgaGFzYXR0cih4LCAnZ2lfY29kZScpOiAgIyBHZW5lcmF0b3IKKyAgICAgICAgeCA9IHguZ2lfY29kZQogICAgIGlmIGlzaW5zdGFuY2UoeCwgc3RyKTogICAgICMgU291cmNlIGNvZGUKICAgICAgICAgeCA9IF90cnlfY29tcGlsZSh4LCAiPGRpc2Fzc2VtYmx5PiIpCiAgICAgaWYgaGFzYXR0cih4LCAnY29fY29kZScpOiAgIyBDb2RlIG9iamVjdApkaWZmIC0tZ2l0IGEvTGliL2Rpc3R1dGlscy9fX2luaXRfXy5weSBiL0xpYi9kaXN0dXRpbHMvX19pbml0X18ucHkKaW5kZXggZTg3ODI4MS4uNjdlYzc4YiAxMDA2NDQKLS0tIGEvTGliL2Rpc3R1dGlscy9fX2luaXRfXy5weQorKysgYi9MaWIvZGlzdHV0aWxzL19faW5pdF9fLnB5CkBAIC0xMyw1ICsxMyw1IEBACiAjIFVwZGF0ZWQgYXV0b21hdGljYWxseSBieSB0aGUgUHl0aG9uIHJlbGVhc2UgcHJvY2Vzcy4KICMKICMtLXN0YXJ0IGNvbnN0YW50cy0tCi1fX3ZlcnNpb25fXyA9ICIzLjQuM3JjMSIKK19fdmVyc2lvbl9fID0gIjMuNS4wYTEiCiAjLS1lbmQgY29uc3RhbnRzLS0KZGlmZiAtLWdpdCBhL0xpYi9kaXN0dXRpbHMvY29tbWFuZC9idWlsZC5weSBiL0xpYi9kaXN0dXRpbHMvY29tbWFuZC9idWlsZC5weQppbmRleCBjZmMxNWNmLi4zMzdkZDBiIDEwMDY0NAotLS0gYS9MaWIvZGlzdHV0aWxzL2NvbW1hbmQvYnVpbGQucHkKKysrIGIvTGliL2Rpc3R1dGlscy9jb21tYW5kL2J1aWxkLnB5CkBAIC0zNiw2ICszNiw4IEBACiAgICAgICAgICAiKGRlZmF1bHQ6ICVzKSIgJSBnZXRfcGxhdGZvcm0oKSksCiAgICAgICAgICgnY29tcGlsZXI9JywgJ2MnLAogICAgICAgICAgInNwZWNpZnkgdGhlIGNvbXBpbGVyIHR5cGUiKSwKKyAgICAgICAgKCdwYXJhbGxlbD0nLCAnaicsCisgICAgICAgICAibnVtYmVyIG9mIHBhcmFsbGVsIGJ1aWxkIGpvYnMiKSwKICAgICAgICAgKCdkZWJ1ZycsICdnJywKICAgICAgICAgICJjb21waWxlIGV4dGVuc2lvbnMgYW5kIGxpYnJhcmllcyB3aXRoIGRlYnVnZ2luZyBpbmZvcm1hdGlvbiIpLAogICAgICAgICAoJ2ZvcmNlJywgJ2YnLApAQCAtNjUsNiArNjcsNyBAQAogICAgICAgICBzZWxmLmRlYnVnID0gTm9uZQogICAgICAgICBzZWxmLmZvcmNlID0gMAogICAgICAgICBzZWxmLmV4ZWN1dGFibGUgPSBOb25lCisgICAgICAgIHNlbGYucGFyYWxsZWwgPSBOb25lCiAKICAgICBkZWYgZmluYWxpemVfb3B0aW9ucyhzZWxmKToKICAgICAgICAgaWYgc2VsZi5wbGF0X25hbWUgaXMgTm9uZToKQEAgLTExNiw2ICsxMTksMTIgQEAKICAgICAgICAgaWYgc2VsZi5leGVjdXRhYmxlIGlzIE5vbmU6CiAgICAgICAgICAgICBzZWxmLmV4ZWN1dGFibGUgPSBvcy5wYXRoLm5vcm1wYXRoKHN5cy5leGVjdXRhYmxlKQogCisgICAgICAgIGlmIGlzaW5zdGFuY2Uoc2VsZi5wYXJhbGxlbCwgc3RyKToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBzZWxmLnBhcmFsbGVsID0gaW50KHNlbGYucGFyYWxsZWwpCisgICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKKyAgICAgICAgICAgICAgICByYWlzZSBEaXN0dXRpbHNPcHRpb25FcnJvcigicGFyYWxsZWwgc2hvdWxkIGJlIGFuIGludGVnZXIiKQorCiAgICAgZGVmIHJ1bihzZWxmKToKICAgICAgICAgIyBSdW4gYWxsIHJlbGV2YW50IHN1Yi1jb21tYW5kcy4gIFRoaXMgd2lsbCBiZSBzb21lIHN1YnNldCBvZjoKICAgICAgICAgIyAgLSBidWlsZF9weSAgICAgIC0gcHVyZSBQeXRob24gbW9kdWxlcwpkaWZmIC0tZ2l0IGEvTGliL2Rpc3R1dGlscy9jb21tYW5kL2J1aWxkX2V4dC5weSBiL0xpYi9kaXN0dXRpbHMvY29tbWFuZC9idWlsZF9leHQucHkKaW5kZXggYWNiZTY0OC4uYzVhM2NlMSAxMDA2NDQKLS0tIGEvTGliL2Rpc3R1dGlscy9jb21tYW5kL2J1aWxkX2V4dC5weQorKysgYi9MaWIvZGlzdHV0aWxzL2NvbW1hbmQvYnVpbGRfZXh0LnB5CkBAIC00LDcgKzQsMTAgQEAKIG1vZHVsZXMgKGN1cnJlbnRseSBsaW1pdGVkIHRvIEMgZXh0ZW5zaW9ucywgc2hvdWxkIGFjY29tbW9kYXRlIEMrKwogZXh0ZW5zaW9ucyBBU0FQKS4iIiIKIAotaW1wb3J0IHN5cywgb3MsIHJlCitpbXBvcnQgY29udGV4dGxpYgoraW1wb3J0IG9zCitpbXBvcnQgcmUKK2ltcG9ydCBzeXMKIGZyb20gZGlzdHV0aWxzLmNvcmUgaW1wb3J0IENvbW1hbmQKIGZyb20gZGlzdHV0aWxzLmVycm9ycyBpbXBvcnQgKgogZnJvbSBkaXN0dXRpbHMuc3lzY29uZmlnIGltcG9ydCBjdXN0b21pemVfY29tcGlsZXIsIGdldF9weXRob25fdmVyc2lvbgpAQCAtODUsNiArODgsOCBAQAogICAgICAgICAgImZvcmNpYmx5IGJ1aWxkIGV2ZXJ5dGhpbmcgKGlnbm9yZSBmaWxlIHRpbWVzdGFtcHMpIiksCiAgICAgICAgICgnY29tcGlsZXI9JywgJ2MnLAogICAgICAgICAgInNwZWNpZnkgdGhlIGNvbXBpbGVyIHR5cGUiKSwKKyAgICAgICAgKCdwYXJhbGxlbD0nLCAnaicsCisgICAgICAgICAibnVtYmVyIG9mIHBhcmFsbGVsIGJ1aWxkIGpvYnMiKSwKICAgICAgICAgKCdzd2lnLWNwcCcsIE5vbmUsCiAgICAgICAgICAibWFrZSBTV0lHIGNyZWF0ZSBDKysgZmlsZXMgKGRlZmF1bHQgaXMgQykiKSwKICAgICAgICAgKCdzd2lnLW9wdHM9JywgTm9uZSwKQEAgLTEyNCw2ICsxMjksNyBAQAogICAgICAgICBzZWxmLnN3aWdfY3BwID0gTm9uZQogICAgICAgICBzZWxmLnN3aWdfb3B0cyA9IE5vbmUKICAgICAgICAgc2VsZi51c2VyID0gTm9uZQorICAgICAgICBzZWxmLnBhcmFsbGVsID0gTm9uZQogCiAgICAgZGVmIGZpbmFsaXplX29wdGlvbnMoc2VsZik6CiAgICAgICAgIGZyb20gZGlzdHV0aWxzIGltcG9ydCBzeXNjb25maWcKQEAgLTEzNCw2ICsxNDAsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJ2NvbXBpbGVyJywgJ2NvbXBpbGVyJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgnZGVidWcnLCAnZGVidWcnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdmb3JjZScsICdmb3JjZScpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJ3BhcmFsbGVsJywgJ3BhcmFsbGVsJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgncGxhdF9uYW1lJywgJ3BsYXRfbmFtZScpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAKQEAgLTIwMiw3ICsyMDksNyBAQAogICAgICAgICAgICAgaWYgTVNWQ19WRVJTSU9OID49IDk6CiAgICAgICAgICAgICAgICAgIyBVc2UgdGhlIC5saWIgZmlsZXMgZm9yIHRoZSBjb3JyZWN0IGFyY2hpdGVjdHVyZQogICAgICAgICAgICAgICAgIGlmIHNlbGYucGxhdF9uYW1lID09ICd3aW4zMic6Ci0gICAgICAgICAgICAgICAgICAgIHN1ZmZpeCA9ICcnCisgICAgICAgICAgICAgICAgICAgIHN1ZmZpeCA9ICd3aW4zMicKICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICAjIHdpbi1hbWQ2NCBvciB3aW4taWE2NAogICAgICAgICAgICAgICAgICAgICBzdWZmaXggPSBzZWxmLnBsYXRfbmFtZVs0Ol0KQEAgLTI3NCw2ICsyODEsMTIgQEAKICAgICAgICAgICAgICAgICBzZWxmLmxpYnJhcnlfZGlycy5hcHBlbmQodXNlcl9saWIpCiAgICAgICAgICAgICAgICAgc2VsZi5ycGF0aC5hcHBlbmQodXNlcl9saWIpCiAKKyAgICAgICAgaWYgaXNpbnN0YW5jZShzZWxmLnBhcmFsbGVsLCBzdHIpOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHNlbGYucGFyYWxsZWwgPSBpbnQoc2VsZi5wYXJhbGxlbCkKKyAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgorICAgICAgICAgICAgICAgIHJhaXNlIERpc3R1dGlsc09wdGlvbkVycm9yKCJwYXJhbGxlbCBzaG91bGQgYmUgYW4gaW50ZWdlciIpCisKICAgICBkZWYgcnVuKHNlbGYpOgogICAgICAgICBmcm9tIGRpc3R1dGlscy5jY29tcGlsZXIgaW1wb3J0IG5ld19jb21waWxlcgogCkBAIC00NDIsMTUgKzQ1NSw0NSBAQAogICAgIGRlZiBidWlsZF9leHRlbnNpb25zKHNlbGYpOgogICAgICAgICAjIEZpcnN0LCBzYW5pdHktY2hlY2sgdGhlICdleHRlbnNpb25zJyBsaXN0CiAgICAgICAgIHNlbGYuY2hlY2tfZXh0ZW5zaW9uc19saXN0KHNlbGYuZXh0ZW5zaW9ucykKKyAgICAgICAgaWYgc2VsZi5wYXJhbGxlbDoKKyAgICAgICAgICAgIHNlbGYuX2J1aWxkX2V4dGVuc2lvbnNfcGFyYWxsZWwoKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5fYnVpbGRfZXh0ZW5zaW9uc19zZXJpYWwoKQogCisgICAgZGVmIF9idWlsZF9leHRlbnNpb25zX3BhcmFsbGVsKHNlbGYpOgorICAgICAgICB3b3JrZXJzID0gc2VsZi5wYXJhbGxlbAorICAgICAgICBpZiBzZWxmLnBhcmFsbGVsIGlzIFRydWU6CisgICAgICAgICAgICB3b3JrZXJzID0gb3MuY3B1X2NvdW50KCkgICMgbWF5IHJldHVybiBOb25lCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGZyb20gY29uY3VycmVudC5mdXR1cmVzIGltcG9ydCBUaHJlYWRQb29sRXhlY3V0b3IKKyAgICAgICAgZXhjZXB0IEltcG9ydEVycm9yOgorICAgICAgICAgICAgd29ya2VycyA9IE5vbmUKKworICAgICAgICBpZiB3b3JrZXJzIGlzIE5vbmU6CisgICAgICAgICAgICBzZWxmLl9idWlsZF9leHRlbnNpb25zX3NlcmlhbCgpCisgICAgICAgICAgICByZXR1cm4KKworICAgICAgICB3aXRoIFRocmVhZFBvb2xFeGVjdXRvcihtYXhfd29ya2Vycz13b3JrZXJzKSBhcyBleGVjdXRvcjoKKyAgICAgICAgICAgIGZ1dHVyZXMgPSBbZXhlY3V0b3Iuc3VibWl0KHNlbGYuYnVpbGRfZXh0ZW5zaW9uLCBleHQpCisgICAgICAgICAgICAgICAgICAgICAgIGZvciBleHQgaW4gc2VsZi5leHRlbnNpb25zXQorICAgICAgICAgICAgZm9yIGV4dCwgZnV0IGluIHppcChzZWxmLmV4dGVuc2lvbnMsIGZ1dHVyZXMpOgorICAgICAgICAgICAgICAgIHdpdGggc2VsZi5fZmlsdGVyX2J1aWxkX2Vycm9ycyhleHQpOgorICAgICAgICAgICAgICAgICAgICBmdXQucmVzdWx0KCkKKworICAgIGRlZiBfYnVpbGRfZXh0ZW5zaW9uc19zZXJpYWwoc2VsZik6CiAgICAgICAgIGZvciBleHQgaW4gc2VsZi5leHRlbnNpb25zOgotICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgd2l0aCBzZWxmLl9maWx0ZXJfYnVpbGRfZXJyb3JzKGV4dCk6CiAgICAgICAgICAgICAgICAgc2VsZi5idWlsZF9leHRlbnNpb24oZXh0KQotICAgICAgICAgICAgZXhjZXB0IChDQ29tcGlsZXJFcnJvciwgRGlzdHV0aWxzRXJyb3IsIENvbXBpbGVFcnJvcikgYXMgZToKLSAgICAgICAgICAgICAgICBpZiBub3QgZXh0Lm9wdGlvbmFsOgotICAgICAgICAgICAgICAgICAgICByYWlzZQotICAgICAgICAgICAgICAgIHNlbGYud2FybignYnVpbGRpbmcgZXh0ZW5zaW9uICIlcyIgZmFpbGVkOiAlcycgJQotICAgICAgICAgICAgICAgICAgICAgICAgICAoZXh0Lm5hbWUsIGUpKQorCisgICAgQGNvbnRleHRsaWIuY29udGV4dG1hbmFnZXIKKyAgICBkZWYgX2ZpbHRlcl9idWlsZF9lcnJvcnMoc2VsZiwgZXh0KToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgeWllbGQKKyAgICAgICAgZXhjZXB0IChDQ29tcGlsZXJFcnJvciwgRGlzdHV0aWxzRXJyb3IsIENvbXBpbGVFcnJvcikgYXMgZToKKyAgICAgICAgICAgIGlmIG5vdCBleHQub3B0aW9uYWw6CisgICAgICAgICAgICAgICAgcmFpc2UKKyAgICAgICAgICAgIHNlbGYud2FybignYnVpbGRpbmcgZXh0ZW5zaW9uICIlcyIgZmFpbGVkOiAlcycgJQorICAgICAgICAgICAgICAgICAgICAgIChleHQubmFtZSwgZSkpCiAKICAgICBkZWYgYnVpbGRfZXh0ZW5zaW9uKHNlbGYsIGV4dCk6CiAgICAgICAgIHNvdXJjZXMgPSBleHQuc291cmNlcwpAQCAtNTAyLDE1ICs1NDUsOCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHRyYV9wb3N0YXJncz1leHRyYV9hcmdzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXBlbmRzPWV4dC5kZXBlbmRzKQogCi0gICAgICAgICMgWFhYIC0tIHRoaXMgaXMgYSBWaWxlIEhBQ0shCi0gICAgICAgICMKLSAgICAgICAgIyBUaGUgc2V0dXAucHkgc2NyaXB0IGZvciBQeXRob24gb24gVW5peCBuZWVkcyB0byBiZSBhYmxlIHRvCi0gICAgICAgICMgZ2V0IHRoaXMgbGlzdCBzbyBpdCBjYW4gcGVyZm9ybSBhbGwgdGhlIGNsZWFuIHVwIG5lZWRlZCB0bwotICAgICAgICAjIGF2b2lkIGtlZXBpbmcgb2JqZWN0IGZpbGVzIGFyb3VuZCB3aGVuIGNsZWFuaW5nIG91dCBhIGZhaWxlZAotICAgICAgICAjIGJ1aWxkIG9mIGFuIGV4dGVuc2lvbiBtb2R1bGUuICBTaW5jZSBEaXN0dXRpbHMgZG9lcyBub3QKLSAgICAgICAgIyB0cmFjayBkZXBlbmRlbmNpZXMsIHdlIGhhdmUgdG8gZ2V0IHJpZCBvZiBpbnRlcm1lZGlhdGVzIHRvCi0gICAgICAgICMgZW5zdXJlIGFsbCB0aGUgaW50ZXJtZWRpYXRlcyB3aWxsIGJlIHByb3Blcmx5IHJlLWJ1aWx0LgotICAgICAgICAjCisgICAgICAgICMgWFhYIG91dGRhdGVkIHZhcmlhYmxlLCBrZXB0IGhlcmUgaW4gY2FzZSB0aGlyZC1wYXJ0IGNvZGUKKyAgICAgICAgIyBuZWVkcyBpdC4KICAgICAgICAgc2VsZi5fYnVpbHRfb2JqZWN0cyA9IG9iamVjdHNbOl0KIAogICAgICAgICAjIE5vdyBsaW5rIHRoZSBvYmplY3QgZmlsZXMgdG9nZXRoZXIgaW50byBhICJzaGFyZWQgb2JqZWN0IiAtLQpAQCAtNjU1LDEwICs2OTEsNyBAQAogICAgICAgICAiIiIKICAgICAgICAgZnJvbSBkaXN0dXRpbHMuc3lzY29uZmlnIGltcG9ydCBnZXRfY29uZmlnX3ZhcgogICAgICAgICBleHRfcGF0aCA9IGV4dF9uYW1lLnNwbGl0KCcuJykKLSAgICAgICAgIyBleHRlbnNpb25zIGluIGRlYnVnX21vZGUgYXJlIG5hbWVkICdtb2R1bGVfZC5weWQnIHVuZGVyIHdpbmRvd3MKICAgICAgICAgZXh0X3N1ZmZpeCA9IGdldF9jb25maWdfdmFyKCdFWFRfU1VGRklYJykKLSAgICAgICAgaWYgb3MubmFtZSA9PSAnbnQnIGFuZCBzZWxmLmRlYnVnOgotICAgICAgICAgICAgcmV0dXJuIG9zLnBhdGguam9pbigqZXh0X3BhdGgpICsgJ19kJyArIGV4dF9zdWZmaXgKICAgICAgICAgcmV0dXJuIG9zLnBhdGguam9pbigqZXh0X3BhdGgpICsgZXh0X3N1ZmZpeAogCiAgICAgZGVmIGdldF9leHBvcnRfc3ltYm9scyhzZWxmLCBleHQpOgpkaWZmIC0tZ2l0IGEvTGliL2Rpc3R1dGlscy9jb21tYW5kL3VwbG9hZC5weSBiL0xpYi9kaXN0dXRpbHMvY29tbWFuZC91cGxvYWQucHkKaW5kZXggMWE5NmUyMi4uMWM0ZmM0OCAxMDA2NDQKLS0tIGEvTGliL2Rpc3R1dGlscy9jb21tYW5kL3VwbG9hZC5weQorKysgYi9MaWIvZGlzdHV0aWxzL2NvbW1hbmQvdXBsb2FkLnB5CkBAIC0xLDExICsxLDE0IEBACi0iIiJkaXN0dXRpbHMuY29tbWFuZC51cGxvYWQKKyIiIgorZGlzdHV0aWxzLmNvbW1hbmQudXBsb2FkCiAKLUltcGxlbWVudHMgdGhlIERpc3R1dGlscyAndXBsb2FkJyBzdWJjb21tYW5kICh1cGxvYWQgcGFja2FnZSB0byBQeVBJKS4iIiIKK0ltcGxlbWVudHMgdGhlIERpc3R1dGlscyAndXBsb2FkJyBzdWJjb21tYW5kICh1cGxvYWQgcGFja2FnZSB0byBhIHBhY2thZ2UKK2luZGV4KS4KKyIiIgogCi1pbXBvcnQgc3lzCi1pbXBvcnQgb3MsIGlvCi1pbXBvcnQgc29ja2V0CitpbXBvcnQgb3MKK2ltcG9ydCBpbwogaW1wb3J0IHBsYXRmb3JtCitpbXBvcnQgaGFzaGxpYgogZnJvbSBiYXNlNjQgaW1wb3J0IHN0YW5kYXJkX2I2NGVuY29kZQogZnJvbSB1cmxsaWIucmVxdWVzdCBpbXBvcnQgdXJsb3BlbiwgUmVxdWVzdCwgSFRUUEVycm9yCiBmcm9tIHVybGxpYi5wYXJzZSBpbXBvcnQgdXJscGFyc2UKQEAgLTE0LDEyICsxNyw2IEBACiBmcm9tIGRpc3R1dGlscy5zcGF3biBpbXBvcnQgc3Bhd24KIGZyb20gZGlzdHV0aWxzIGltcG9ydCBsb2cKIAotIyB0aGlzIGtlZXBzIGNvbXBhdGliaWxpdHkgZm9yIDIuMyBhbmQgMi40Ci1pZiBzeXMudmVyc2lvbiA8ICIyLjUiOgotICAgIGZyb20gbWQ1IGltcG9ydCBtZDUKLWVsc2U6Ci0gICAgZnJvbSBoYXNobGliIGltcG9ydCBtZDUKLQogY2xhc3MgdXBsb2FkKFB5UElSQ0NvbW1hbmQpOgogCiAgICAgZGVzY3JpcHRpb24gPSAidXBsb2FkIGJpbmFyeSBwYWNrYWdlIHRvIFB5UEkiCkBAIC02MCw3ICs1Nyw4IEBACiAKICAgICBkZWYgcnVuKHNlbGYpOgogICAgICAgICBpZiBub3Qgc2VsZi5kaXN0cmlidXRpb24uZGlzdF9maWxlczoKLSAgICAgICAgICAgIHJhaXNlIERpc3R1dGlsc09wdGlvbkVycm9yKCJObyBkaXN0IGZpbGUgY3JlYXRlZCBpbiBlYXJsaWVyIGNvbW1hbmQiKQorICAgICAgICAgICAgbXNnID0gIk5vIGRpc3QgZmlsZSBjcmVhdGVkIGluIGVhcmxpZXIgY29tbWFuZCIKKyAgICAgICAgICAgIHJhaXNlIERpc3R1dGlsc09wdGlvbkVycm9yKG1zZykKICAgICAgICAgZm9yIGNvbW1hbmQsIHB5dmVyc2lvbiwgZmlsZW5hbWUgaW4gc2VsZi5kaXN0cmlidXRpb24uZGlzdF9maWxlczoKICAgICAgICAgICAgIHNlbGYudXBsb2FkX2ZpbGUoY29tbWFuZCwgcHl2ZXJzaW9uLCBmaWxlbmFtZSkKIApAQCAtMTAzLDEwICsxMDEsMTAgQEAKICAgICAgICAgICAgICdjb250ZW50JzogKG9zLnBhdGguYmFzZW5hbWUoZmlsZW5hbWUpLGNvbnRlbnQpLAogICAgICAgICAgICAgJ2ZpbGV0eXBlJzogY29tbWFuZCwKICAgICAgICAgICAgICdweXZlcnNpb24nOiBweXZlcnNpb24sCi0gICAgICAgICAgICAnbWQ1X2RpZ2VzdCc6IG1kNShjb250ZW50KS5oZXhkaWdlc3QoKSwKKyAgICAgICAgICAgICdtZDVfZGlnZXN0JzogaGFzaGxpYi5tZDUoY29udGVudCkuaGV4ZGlnZXN0KCksCiAKICAgICAgICAgICAgICMgYWRkaXRpb25hbCBtZXRhLWRhdGEKLSAgICAgICAgICAgICdtZXRhZGF0YV92ZXJzaW9uJyA6ICcxLjAnLAorICAgICAgICAgICAgJ21ldGFkYXRhX3ZlcnNpb24nOiAnMS4wJywKICAgICAgICAgICAgICdzdW1tYXJ5JzogbWV0YS5nZXRfZGVzY3JpcHRpb24oKSwKICAgICAgICAgICAgICdob21lX3BhZ2UnOiBtZXRhLmdldF91cmwoKSwKICAgICAgICAgICAgICdhdXRob3InOiBtZXRhLmdldF9jb250YWN0KCksCkBAIC0xNDksNyArMTQ3LDcgQEAKICAgICAgICAgZm9yIGtleSwgdmFsdWUgaW4gZGF0YS5pdGVtcygpOgogICAgICAgICAgICAgdGl0bGUgPSAnXHJcbkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iJXMiJyAlIGtleQogICAgICAgICAgICAgIyBoYW5kbGUgbXVsdGlwbGUgZW50cmllcyBmb3IgdGhlIHNhbWUgbmFtZQotICAgICAgICAgICAgaWYgdHlwZSh2YWx1ZSkgIT0gdHlwZShbXSk6CisgICAgICAgICAgICBpZiBub3QgaXNpbnN0YW5jZSh2YWx1ZSwgbGlzdCk6CiAgICAgICAgICAgICAgICAgdmFsdWUgPSBbdmFsdWVdCiAgICAgICAgICAgICBmb3IgdmFsdWUgaW4gdmFsdWU6CiAgICAgICAgICAgICAgICAgaWYgdHlwZSh2YWx1ZSkgaXMgdHVwbGU6CkBAIC0xNjYsMTMgKzE2NCwxNSBAQAogICAgICAgICBib2R5LndyaXRlKGVuZF9ib3VuZGFyeSkKICAgICAgICAgYm9keSA9IGJvZHkuZ2V0dmFsdWUoKQogCi0gICAgICAgIHNlbGYuYW5ub3VuY2UoIlN1Ym1pdHRpbmcgJXMgdG8gJXMiICUgKGZpbGVuYW1lLCBzZWxmLnJlcG9zaXRvcnkpLCBsb2cuSU5GTykKKyAgICAgICAgbXNnID0gIlN1Ym1pdHRpbmcgJXMgdG8gJXMiICUgKGZpbGVuYW1lLCBzZWxmLnJlcG9zaXRvcnkpCisgICAgICAgIHNlbGYuYW5ub3VuY2UobXNnLCBsb2cuSU5GTykKIAogICAgICAgICAjIGJ1aWxkIHRoZSBSZXF1ZXN0Ci0gICAgICAgIGhlYWRlcnMgPSB7J0NvbnRlbnQtdHlwZSc6Ci0gICAgICAgICAgICAgICAgICAgICAgICAnbXVsdGlwYXJ0L2Zvcm0tZGF0YTsgYm91bmRhcnk9JXMnICUgYm91bmRhcnksCi0gICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtbGVuZ3RoJzogc3RyKGxlbihib2R5KSksCi0gICAgICAgICAgICAgICAgICAgJ0F1dGhvcml6YXRpb24nOiBhdXRofQorICAgICAgICBoZWFkZXJzID0geworICAgICAgICAgICAgJ0NvbnRlbnQtdHlwZSc6ICdtdWx0aXBhcnQvZm9ybS1kYXRhOyBib3VuZGFyeT0lcycgJSBib3VuZGFyeSwKKyAgICAgICAgICAgICdDb250ZW50LWxlbmd0aCc6IHN0cihsZW4oYm9keSkpLAorICAgICAgICAgICAgJ0F1dGhvcml6YXRpb24nOiBhdXRoLAorICAgICAgICB9CiAKICAgICAgICAgcmVxdWVzdCA9IFJlcXVlc3Qoc2VsZi5yZXBvc2l0b3J5LCBkYXRhPWJvZHksCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcnM9aGVhZGVycykKZGlmZiAtLWdpdCBhL0xpYi9kaXN0dXRpbHMvY29tbWFuZC93aW5pbnN0LTE0LjAtYW1kNjQuZXhlIGIvTGliL2Rpc3R1dGlscy9jb21tYW5kL3dpbmluc3QtMTQuMC1hbWQ2NC5leGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDNiODViNgotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9kaXN0dXRpbHMvY29tbWFuZC93aW5pbnN0LTE0LjAtYW1kNjQuZXhlCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL0xpYi9kaXN0dXRpbHMvY29tbWFuZC93aW5pbnN0LTE0LjAuZXhlIGIvTGliL2Rpc3R1dGlscy9jb21tYW5kL3dpbmluc3QtMTQuMC5leGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzY0NTI0ZAotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9kaXN0dXRpbHMvY29tbWFuZC93aW5pbnN0LTE0LjAuZXhlCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL0xpYi9kaXN0dXRpbHMvZGlzdC5weSBiL0xpYi9kaXN0dXRpbHMvZGlzdC5weQppbmRleCA3ZWIwNGJjLi5mZmIzM2ZmNiAxMDA2NDQKLS0tIGEvTGliL2Rpc3R1dGlscy9kaXN0LnB5CisrKyBiL0xpYi9kaXN0dXRpbHMvZGlzdC5weQpAQCAtNCw3ICs0LDkgQEAKIGJlaW5nIGJ1aWx0L2luc3RhbGxlZC9kaXN0cmlidXRlZC4KICIiIgogCi1pbXBvcnQgc3lzLCBvcywgcmUKK2ltcG9ydCBzeXMKK2ltcG9ydCBvcworaW1wb3J0IHJlCiBmcm9tIGVtYWlsIGltcG9ydCBtZXNzYWdlX2Zyb21fZmlsZQogCiB0cnk6CkBAIC0yMiw3ICsyNCw3IEBACiAjIHRoZSBzYW1lIGFzIGEgUHl0aG9uIE5BTUUgLS0gSSBkb24ndCBhbGxvdyBsZWFkaW5nIHVuZGVyc2NvcmVzLiAgVGhlIGZhY3QKICMgdGhhdCB0aGV5J3JlIHZlcnkgc2ltaWxhciBpcyBubyBjb2luY2lkZW5jZTsgdGhlIGRlZmF1bHQgbmFtaW5nIHNjaGVtZSBpcwogIyB0byBsb29rIGZvciBhIFB5dGhvbiBtb2R1bGUgbmFtZWQgYWZ0ZXIgdGhlIGNvbW1hbmQuCi1jb21tYW5kX3JlID0gcmUuY29tcGlsZSAocideW2EtekEtWl0oW2EtekEtWjAtOV9dKikkJykKK2NvbW1hbmRfcmUgPSByZS5jb21waWxlKHInXlthLXpBLVpdKFthLXpBLVowLTlfXSopJCcpCiAKIAogY2xhc3MgRGlzdHJpYnV0aW9uOgpAQCAtMzksNyArNDEsNiBAQAogICAgIFNlZSB0aGUgY29kZSBmb3IgJ3NldHVwKCknLCBpbiBjb3JlLnB5LCBmb3IgZGV0YWlscy4KICAgICAiIiIKIAotCiAgICAgIyAnZ2xvYmFsX29wdGlvbnMnIGRlc2NyaWJlcyB0aGUgY29tbWFuZC1saW5lIG9wdGlvbnMgdGhhdCBtYXkgYmUKICAgICAjIHN1cHBsaWVkIHRvIHRoZSBzZXR1cCBzY3JpcHQgcHJpb3IgdG8gYW55IGFjdHVhbCBjb21tYW5kcy4KICAgICAjIEVnLiAiLi9zZXR1cC5weSAtbiIgb3IgIi4vc2V0dXAucHkgLS1xdWlldCIgYm90aCB0YWtlIGFkdmFudGFnZSBvZgpAQCAtNDgsMTIgKzQ5LDEzIEBACiAgICAgIyBkb24ndCB3YW50IHRvIHBvbGx1dGUgdGhlIGNvbW1hbmRzIHdpdGggdG9vIG1hbnkgb3B0aW9ucyB0aGF0IHRoZXkKICAgICAjIGhhdmUgbWluaW1hbCBjb250cm9sIG92ZXIuCiAgICAgIyBUaGUgZm91cnRoIGVudHJ5IGZvciB2ZXJib3NlIG1lYW5zIHRoYXQgaXQgY2FuIGJlIHJlcGVhdGVkLgotICAgIGdsb2JhbF9vcHRpb25zID0gWygndmVyYm9zZScsICd2JywgInJ1biB2ZXJib3NlbHkgKGRlZmF1bHQpIiwgMSksCi0gICAgICAgICAgICAgICAgICAgICAgKCdxdWlldCcsICdxJywgInJ1biBxdWlldGx5ICh0dXJucyB2ZXJib3NpdHkgb2ZmKSIpLAotICAgICAgICAgICAgICAgICAgICAgICgnZHJ5LXJ1bicsICduJywgImRvbid0IGFjdHVhbGx5IGRvIGFueXRoaW5nIiksCi0gICAgICAgICAgICAgICAgICAgICAgKCdoZWxwJywgJ2gnLCAic2hvdyBkZXRhaWxlZCBoZWxwIG1lc3NhZ2UiKSwKLSAgICAgICAgICAgICAgICAgICAgICAoJ25vLXVzZXItY2ZnJywgTm9uZSwKLSAgICAgICAgICAgICAgICAgICAgICAgJ2lnbm9yZSBweWRpc3R1dGlscy5jZmcgaW4geW91ciBob21lIGRpcmVjdG9yeScpLAorICAgIGdsb2JhbF9vcHRpb25zID0gWworICAgICAgICAoJ3ZlcmJvc2UnLCAndicsICJydW4gdmVyYm9zZWx5IChkZWZhdWx0KSIsIDEpLAorICAgICAgICAoJ3F1aWV0JywgJ3EnLCAicnVuIHF1aWV0bHkgKHR1cm5zIHZlcmJvc2l0eSBvZmYpIiksCisgICAgICAgICgnZHJ5LXJ1bicsICduJywgImRvbid0IGFjdHVhbGx5IGRvIGFueXRoaW5nIiksCisgICAgICAgICgnaGVscCcsICdoJywgInNob3cgZGV0YWlsZWQgaGVscCBtZXNzYWdlIiksCisgICAgICAgICgnbm8tdXNlci1jZmcnLCBOb25lLAorICAgICAgICAgICAgJ2lnbm9yZSBweWRpc3R1dGlscy5jZmcgaW4geW91ciBob21lIGRpcmVjdG9yeScpLAogICAgIF0KIAogICAgICMgJ2NvbW1vbl91c2FnZScgaXMgYSBzaG9ydCAoMi0zIGxpbmUpIHN0cmluZyBkZXNjcmliaW5nIHRoZSBjb21tb24KQEAgLTExNSwxMCArMTE3LDkgQEAKICAgICAjIG5lZ2F0aXZlIG9wdGlvbnMgYXJlIG9wdGlvbnMgdGhhdCBleGNsdWRlIG90aGVyIG9wdGlvbnMKICAgICBuZWdhdGl2ZV9vcHQgPSB7J3F1aWV0JzogJ3ZlcmJvc2UnfQogCi0KICAgICAjIC0tIENyZWF0aW9uL2luaXRpYWxpemF0aW9uIG1ldGhvZHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCi0gICAgZGVmIF9faW5pdF9fIChzZWxmLCBhdHRycz1Ob25lKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgYXR0cnM9Tm9uZSk6CiAgICAgICAgICIiIkNvbnN0cnVjdCBhIG5ldyBEaXN0cmlidXRpb24gaW5zdGFuY2U6IGluaXRpYWxpemUgYWxsIHRoZQogICAgICAgICBhdHRyaWJ1dGVzIG9mIGEgRGlzdHJpYnV0aW9uLCBhbmQgdGhlbiB1c2UgJ2F0dHJzJyAoYSBkaWN0aW9uYXJ5CiAgICAgICAgIG1hcHBpbmcgYXR0cmlidXRlIG5hbWVzIHRvIHZhbHVlcykgdG8gYXNzaWduIHNvbWUgb2YgdGhvc2UKQEAgLTUzMiwxNSArNTMzLDE1IEBACiAgICAgICAgICMgdG8gYmUgc3VyZSB0aGF0IHRoZSBiYXNpYyAiY29tbWFuZCIgaW50ZXJmYWNlIGlzIGltcGxlbWVudGVkLgogICAgICAgICBpZiBub3QgaXNzdWJjbGFzcyhjbWRfY2xhc3MsIENvbW1hbmQpOgogICAgICAgICAgICAgcmFpc2UgRGlzdHV0aWxzQ2xhc3NFcnJvcigKLSAgICAgICAgICAgICAgICAgICJjb21tYW5kIGNsYXNzICVzIG11c3Qgc3ViY2xhc3MgQ29tbWFuZCIgJSBjbWRfY2xhc3MpCisgICAgICAgICAgICAgICAgImNvbW1hbmQgY2xhc3MgJXMgbXVzdCBzdWJjbGFzcyBDb21tYW5kIiAlIGNtZF9jbGFzcykKIAogICAgICAgICAjIEFsc28gbWFrZSBzdXJlIHRoYXQgdGhlIGNvbW1hbmQgb2JqZWN0IHByb3ZpZGVzIGEgbGlzdCBvZiBpdHMKICAgICAgICAgIyBrbm93biBvcHRpb25zLgogICAgICAgICBpZiBub3QgKGhhc2F0dHIoY21kX2NsYXNzLCAndXNlcl9vcHRpb25zJykgYW5kCiAgICAgICAgICAgICAgICAgaXNpbnN0YW5jZShjbWRfY2xhc3MudXNlcl9vcHRpb25zLCBsaXN0KSk6Ci0gICAgICAgICAgICByYWlzZSBEaXN0dXRpbHNDbGFzc0Vycm9yKCgiY29tbWFuZCBjbGFzcyAlcyBtdXN0IHByb3ZpZGUgIiArCi0gICAgICAgICAgICAgICAgICAgIid1c2VyX29wdGlvbnMnIGF0dHJpYnV0ZSAoYSBsaXN0IG9mIHR1cGxlcykiKSAlIFwKLSAgICAgICAgICAgICAgICAgIGNtZF9jbGFzcykKKyAgICAgICAgICAgIG1zZyA9ICgiY29tbWFuZCBjbGFzcyAlcyBtdXN0IHByb3ZpZGUgIgorICAgICAgICAgICAgICAgICIndXNlcl9vcHRpb25zJyBhdHRyaWJ1dGUgKGEgbGlzdCBvZiB0dXBsZXMpIikKKyAgICAgICAgICAgIHJhaXNlIERpc3R1dGlsc0NsYXNzRXJyb3IobXNnICUgY21kX2NsYXNzKQogCiAgICAgICAgICMgSWYgdGhlIGNvbW1hbmQgY2xhc3MgaGFzIGEgbGlzdCBvZiBuZWdhdGl2ZSBhbGlhcyBvcHRpb25zLAogICAgICAgICAjIG1lcmdlIGl0IGluIHdpdGggdGhlIGdsb2JhbCBuZWdhdGl2ZSBhbGlhc2VzLgpAQCAtNTUyLDEyICs1NTMsMTEgQEAKICAgICAgICAgIyBDaGVjayBmb3IgaGVscF9vcHRpb25zIGluIGNvbW1hbmQgY2xhc3MuICBUaGV5IGhhdmUgYSBkaWZmZXJlbnQKICAgICAgICAgIyBmb3JtYXQgKHR1cGxlIG9mIGZvdXIpIHNvIHdlIG5lZWQgdG8gcHJlcHJvY2VzcyB0aGVtIGhlcmUuCiAgICAgICAgIGlmIChoYXNhdHRyKGNtZF9jbGFzcywgJ2hlbHBfb3B0aW9ucycpIGFuZAotICAgICAgICAgICAgaXNpbnN0YW5jZShjbWRfY2xhc3MuaGVscF9vcHRpb25zLCBsaXN0KSk6CisgICAgICAgICAgICAgICAgaXNpbnN0YW5jZShjbWRfY2xhc3MuaGVscF9vcHRpb25zLCBsaXN0KSk6CiAgICAgICAgICAgICBoZWxwX29wdGlvbnMgPSBmaXhfaGVscF9vcHRpb25zKGNtZF9jbGFzcy5oZWxwX29wdGlvbnMpCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBoZWxwX29wdGlvbnMgPSBbXQogCi0KICAgICAgICAgIyBBbGwgY29tbWFuZHMgc3VwcG9ydCB0aGUgZ2xvYmFsIG9wdGlvbnMgdG9vLCBqdXN0IGJ5IGFkZGluZwogICAgICAgICAjIGluICdnbG9iYWxfb3B0aW9ucycuCiAgICAgICAgIHBhcnNlci5zZXRfb3B0aW9uX3RhYmxlKHNlbGYuZ2xvYmFsX29wdGlvbnMgKwpAQCAtNTcwLDcgKzU3MCw3IEBACiAgICAgICAgICAgICByZXR1cm4KIAogICAgICAgICBpZiAoaGFzYXR0cihjbWRfY2xhc3MsICdoZWxwX29wdGlvbnMnKSBhbmQKLSAgICAgICAgICAgIGlzaW5zdGFuY2UoY21kX2NsYXNzLmhlbHBfb3B0aW9ucywgbGlzdCkpOgorICAgICAgICAgICAgICAgIGlzaW5zdGFuY2UoY21kX2NsYXNzLmhlbHBfb3B0aW9ucywgbGlzdCkpOgogICAgICAgICAgICAgaGVscF9vcHRpb25fZm91bmQ9MAogICAgICAgICAgICAgZm9yIChoZWxwX29wdGlvbiwgc2hvcnQsIGRlc2MsIGZ1bmMpIGluIGNtZF9jbGFzcy5oZWxwX29wdGlvbnM6CiAgICAgICAgICAgICAgICAgaWYgaGFzYXR0cihvcHRzLCBwYXJzZXIuZ2V0X2F0dHJfbmFtZShoZWxwX29wdGlvbikpOgpAQCAtNjQ3LDcgKzY0Nyw3IEBACiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIGtsYXNzID0gc2VsZi5nZXRfY29tbWFuZF9jbGFzcyhjb21tYW5kKQogICAgICAgICAgICAgaWYgKGhhc2F0dHIoa2xhc3MsICdoZWxwX29wdGlvbnMnKSBhbmQKLSAgICAgICAgICAgICAgICBpc2luc3RhbmNlKGtsYXNzLmhlbHBfb3B0aW9ucywgbGlzdCkpOgorICAgICAgICAgICAgICAgICAgICBpc2luc3RhbmNlKGtsYXNzLmhlbHBfb3B0aW9ucywgbGlzdCkpOgogICAgICAgICAgICAgICAgIHBhcnNlci5zZXRfb3B0aW9uX3RhYmxlKGtsYXNzLnVzZXJfb3B0aW9ucyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZml4X2hlbHBfb3B0aW9ucyhrbGFzcy5oZWxwX29wdGlvbnMpKQogICAgICAgICAgICAgZWxzZToKQEAgLTgxNCw3ICs4MTQsNyBAQAogICAgICAgICAgICAga2xhc3NfbmFtZSA9IGNvbW1hbmQKIAogICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIF9faW1wb3J0X18gKG1vZHVsZV9uYW1lKQorICAgICAgICAgICAgICAgIF9faW1wb3J0X18obW9kdWxlX25hbWUpCiAgICAgICAgICAgICAgICAgbW9kdWxlID0gc3lzLm1vZHVsZXNbbW9kdWxlX25hbWVdCiAgICAgICAgICAgICBleGNlcHQgSW1wb3J0RXJyb3I6CiAgICAgICAgICAgICAgICAgY29udGludWUKQEAgLTgyMyw4ICs4MjMsOCBAQAogICAgICAgICAgICAgICAgIGtsYXNzID0gZ2V0YXR0cihtb2R1bGUsIGtsYXNzX25hbWUpCiAgICAgICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CiAgICAgICAgICAgICAgICAgcmFpc2UgRGlzdHV0aWxzTW9kdWxlRXJyb3IoCi0gICAgICAgICAgICAgICAgICAgICAgImludmFsaWQgY29tbWFuZCAnJXMnIChubyBjbGFzcyAnJXMnIGluIG1vZHVsZSAnJXMnKSIKLSAgICAgICAgICAgICAgICAgICAgICAlIChjb21tYW5kLCBrbGFzc19uYW1lLCBtb2R1bGVfbmFtZSkpCisgICAgICAgICAgICAgICAgICAgICJpbnZhbGlkIGNvbW1hbmQgJyVzJyAobm8gY2xhc3MgJyVzJyBpbiBtb2R1bGUgJyVzJykiCisgICAgICAgICAgICAgICAgICAgICUgKGNvbW1hbmQsIGtsYXNzX25hbWUsIG1vZHVsZV9uYW1lKSkKIAogICAgICAgICAgICAgc2VsZi5jbWRjbGFzc1tjb21tYW5kXSA9IGtsYXNzCiAgICAgICAgICAgICByZXR1cm4ga2xhc3MKQEAgLTg0MCw3ICs4NDAsNyBAQAogICAgICAgICBjbWRfb2JqID0gc2VsZi5jb21tYW5kX29iai5nZXQoY29tbWFuZCkKICAgICAgICAgaWYgbm90IGNtZF9vYmogYW5kIGNyZWF0ZToKICAgICAgICAgICAgIGlmIERFQlVHOgotICAgICAgICAgICAgICAgIHNlbGYuYW5ub3VuY2UoIkRpc3RyaWJ1dGlvbi5nZXRfY29tbWFuZF9vYmooKTogIiBcCisgICAgICAgICAgICAgICAgc2VsZi5hbm5vdW5jZSgiRGlzdHJpYnV0aW9uLmdldF9jb21tYW5kX29iaigpOiAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY3JlYXRpbmcgJyVzJyBjb21tYW5kIG9iamVjdCIgJSBjb21tYW5kKQogCiAgICAgICAgICAgICBrbGFzcyA9IHNlbGYuZ2V0X2NvbW1hbmRfY2xhc3MoY29tbWFuZCkKQEAgLTg5Nyw4ICs4OTcsOCBAQAogICAgICAgICAgICAgICAgICAgICBzZXRhdHRyKGNvbW1hbmRfb2JqLCBvcHRpb24sIHZhbHVlKQogICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgIHJhaXNlIERpc3R1dGlsc09wdGlvbkVycm9yKAotICAgICAgICAgICAgICAgICAgICAgICAgICAiZXJyb3IgaW4gJXM6IGNvbW1hbmQgJyVzJyBoYXMgbm8gc3VjaCBvcHRpb24gJyVzJyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJSAoc291cmNlLCBjb21tYW5kX25hbWUsIG9wdGlvbikpCisgICAgICAgICAgICAgICAgICAgICAgICAiZXJyb3IgaW4gJXM6IGNvbW1hbmQgJyVzJyBoYXMgbm8gc3VjaCBvcHRpb24gJyVzJyIKKyAgICAgICAgICAgICAgICAgICAgICAgICUgKHNvdXJjZSwgY29tbWFuZF9uYW1lLCBvcHRpb24pKQogICAgICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3IgYXMgbXNnOgogICAgICAgICAgICAgICAgIHJhaXNlIERpc3R1dGlsc09wdGlvbkVycm9yKG1zZykKIApAQCAtOTc0LDcgKzk3NCw2IEBACiAgICAgICAgIGNtZF9vYmoucnVuKCkKICAgICAgICAgc2VsZi5oYXZlX3J1bltjb21tYW5kXSA9IDEKIAotCiAgICAgIyAtLSBEaXN0cmlidXRpb24gcXVlcnkgbWV0aG9kcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogICAgIGRlZiBoYXNfcHVyZV9tb2R1bGVzKHNlbGYpOgpAQCAtMTExMiwxNyArMTExMSwxNyBAQAogICAgICAgICAiIiIKICAgICAgICAgdmVyc2lvbiA9ICcxLjAnCiAgICAgICAgIGlmIChzZWxmLnByb3ZpZGVzIG9yIHNlbGYucmVxdWlyZXMgb3Igc2VsZi5vYnNvbGV0ZXMgb3IKLSAgICAgICAgICAgIHNlbGYuY2xhc3NpZmllcnMgb3Igc2VsZi5kb3dubG9hZF91cmwpOgorICAgICAgICAgICAgICAgIHNlbGYuY2xhc3NpZmllcnMgb3Igc2VsZi5kb3dubG9hZF91cmwpOgogICAgICAgICAgICAgdmVyc2lvbiA9ICcxLjEnCiAKICAgICAgICAgZmlsZS53cml0ZSgnTWV0YWRhdGEtVmVyc2lvbjogJXNcbicgJSB2ZXJzaW9uKQotICAgICAgICBmaWxlLndyaXRlKCdOYW1lOiAlc1xuJyAlIHNlbGYuZ2V0X25hbWUoKSApCi0gICAgICAgIGZpbGUud3JpdGUoJ1ZlcnNpb246ICVzXG4nICUgc2VsZi5nZXRfdmVyc2lvbigpICkKLSAgICAgICAgZmlsZS53cml0ZSgnU3VtbWFyeTogJXNcbicgJSBzZWxmLmdldF9kZXNjcmlwdGlvbigpICkKLSAgICAgICAgZmlsZS53cml0ZSgnSG9tZS1wYWdlOiAlc1xuJyAlIHNlbGYuZ2V0X3VybCgpICkKLSAgICAgICAgZmlsZS53cml0ZSgnQXV0aG9yOiAlc1xuJyAlIHNlbGYuZ2V0X2NvbnRhY3QoKSApCi0gICAgICAgIGZpbGUud3JpdGUoJ0F1dGhvci1lbWFpbDogJXNcbicgJSBzZWxmLmdldF9jb250YWN0X2VtYWlsKCkgKQotICAgICAgICBmaWxlLndyaXRlKCdMaWNlbnNlOiAlc1xuJyAlIHNlbGYuZ2V0X2xpY2Vuc2UoKSApCisgICAgICAgIGZpbGUud3JpdGUoJ05hbWU6ICVzXG4nICUgc2VsZi5nZXRfbmFtZSgpKQorICAgICAgICBmaWxlLndyaXRlKCdWZXJzaW9uOiAlc1xuJyAlIHNlbGYuZ2V0X3ZlcnNpb24oKSkKKyAgICAgICAgZmlsZS53cml0ZSgnU3VtbWFyeTogJXNcbicgJSBzZWxmLmdldF9kZXNjcmlwdGlvbigpKQorICAgICAgICBmaWxlLndyaXRlKCdIb21lLXBhZ2U6ICVzXG4nICUgc2VsZi5nZXRfdXJsKCkpCisgICAgICAgIGZpbGUud3JpdGUoJ0F1dGhvcjogJXNcbicgJSBzZWxmLmdldF9jb250YWN0KCkpCisgICAgICAgIGZpbGUud3JpdGUoJ0F1dGhvci1lbWFpbDogJXNcbicgJSBzZWxmLmdldF9jb250YWN0X2VtYWlsKCkpCisgICAgICAgIGZpbGUud3JpdGUoJ0xpY2Vuc2U6ICVzXG4nICUgc2VsZi5nZXRfbGljZW5zZSgpKQogICAgICAgICBpZiBzZWxmLmRvd25sb2FkX3VybDoKICAgICAgICAgICAgIGZpbGUud3JpdGUoJ0Rvd25sb2FkLVVSTDogJXNcbicgJSBzZWxmLmRvd25sb2FkX3VybCkKIApAQCAtMTEzMSw3ICsxMTMwLDcgQEAKIAogICAgICAgICBrZXl3b3JkcyA9ICcsJy5qb2luKHNlbGYuZ2V0X2tleXdvcmRzKCkpCiAgICAgICAgIGlmIGtleXdvcmRzOgotICAgICAgICAgICAgZmlsZS53cml0ZSgnS2V5d29yZHM6ICVzXG4nICUga2V5d29yZHMgKQorICAgICAgICAgICAgZmlsZS53cml0ZSgnS2V5d29yZHM6ICVzXG4nICUga2V5d29yZHMpCiAKICAgICAgICAgc2VsZi5fd3JpdGVfbGlzdChmaWxlLCAnUGxhdGZvcm0nLCBzZWxmLmdldF9wbGF0Zm9ybXMoKSkKICAgICAgICAgc2VsZi5fd3JpdGVfbGlzdChmaWxlLCAnQ2xhc3NpZmllcicsIHNlbGYuZ2V0X2NsYXNzaWZpZXJzKCkpCmRpZmYgLS1naXQgYS9MaWIvZGlzdHV0aWxzL2V4dGVuc2lvbi5weSBiL0xpYi9kaXN0dXRpbHMvZXh0ZW5zaW9uLnB5CmluZGV4IGE5MzY1NWEuLjdlZmJiNzQgMTAwNjQ0Ci0tLSBhL0xpYi9kaXN0dXRpbHMvZXh0ZW5zaW9uLnB5CisrKyBiL0xpYi9kaXN0dXRpbHMvZXh0ZW5zaW9uLnB5CkBAIC0xMzEsNiArMTMxLDE0IEBACiAgICAgICAgICAgICBtc2cgPSAiVW5rbm93biBFeHRlbnNpb24gb3B0aW9uczogJXMiICUgb3B0aW9ucwogICAgICAgICAgICAgd2FybmluZ3Mud2Fybihtc2cpCiAKKyAgICBkZWYgX19yZXByX18oc2VsZik6CisgICAgICAgIHJldHVybiAnPCVzLiVzKCVyKSBhdCAlI3g+JyAlICgKKyAgICAgICAgICAgIHNlbGYuX19jbGFzc19fLl9fbW9kdWxlX18sCisgICAgICAgICAgICBzZWxmLl9fY2xhc3NfXy5fX3F1YWxuYW1lX18sCisgICAgICAgICAgICBzZWxmLm5hbWUsCisgICAgICAgICAgICBpZChzZWxmKSkKKworCiBkZWYgcmVhZF9zZXR1cF9maWxlKGZpbGVuYW1lKToKICAgICAiIiJSZWFkcyBhIFNldHVwIGZpbGUgYW5kIHJldHVybnMgRXh0ZW5zaW9uIGluc3RhbmNlcy4iIiIKICAgICBmcm9tIGRpc3R1dGlscy5zeXNjb25maWcgaW1wb3J0IChwYXJzZV9tYWtlZmlsZSwgZXhwYW5kX21ha2VmaWxlX3ZhcnMsCmRpZmYgLS1naXQgYS9MaWIvZGlzdHV0aWxzL21zdmM5Y29tcGlsZXIucHkgYi9MaWIvZGlzdHV0aWxzL21zdmM5Y29tcGlsZXIucHkKaW5kZXggOTY4OGYyMC4uZDEzNzRlZiAxMDA2NDQKLS0tIGEvTGliL2Rpc3R1dGlscy9tc3ZjOWNvbXBpbGVyLnB5CisrKyBiL0xpYi9kaXN0dXRpbHMvbXN2Yzljb21waWxlci5weQpAQCAtMTc5LDYgKzE3OSw5IEBACiAgICAgaSA9IGkgKyBsZW4ocHJlZml4KQogICAgIHMsIHJlc3QgPSBzeXMudmVyc2lvbltpOl0uc3BsaXQoIiAiLCAxKQogICAgIG1ham9yVmVyc2lvbiA9IGludChzWzotMl0pIC0gNgorICAgIGlmIG1ham9yVmVyc2lvbiA+PSAxMzoKKyAgICAgICAgIyB2MTMgd2FzIHNraXBwZWQgYW5kIHNob3VsZCBiZSB2MTQKKyAgICAgICAgbWFqb3JWZXJzaW9uICs9IDEKICAgICBtaW5vclZlcnNpb24gPSBpbnQoc1syOjNdKSAvIDEwLjAKICAgICAjIEkgZG9uJ3QgdGhpbmsgcGF0aHMgYXJlIGFmZmVjdGVkIGJ5IG1pbm9yIHZlcnNpb24gaW4gdmVyc2lvbiA2CiAgICAgaWYgbWFqb3JWZXJzaW9uID09IDY6CmRpZmYgLS1naXQgYS9MaWIvZGlzdHV0aWxzL21zdmNjb21waWxlci5weSBiL0xpYi9kaXN0dXRpbHMvbXN2Y2NvbXBpbGVyLnB5CmluZGV4IDgxMTY2NTYuLjEwNDhjZDQgMTAwNjQ0Ci0tLSBhL0xpYi9kaXN0dXRpbHMvbXN2Y2NvbXBpbGVyLnB5CisrKyBiL0xpYi9kaXN0dXRpbHMvbXN2Y2NvbXBpbGVyLnB5CkBAIC0xNTcsNiArMTU3LDkgQEAKICAgICBpID0gaSArIGxlbihwcmVmaXgpCiAgICAgcywgcmVzdCA9IHN5cy52ZXJzaW9uW2k6XS5zcGxpdCgiICIsIDEpCiAgICAgbWFqb3JWZXJzaW9uID0gaW50KHNbOi0yXSkgLSA2CisgICAgaWYgbWFqb3JWZXJzaW9uID49IDEzOgorICAgICAgICAjIHYxMyB3YXMgc2tpcHBlZCBhbmQgc2hvdWxkIGJlIHYxNAorICAgICAgICBtYWpvclZlcnNpb24gKz0gMQogICAgIG1pbm9yVmVyc2lvbiA9IGludChzWzI6M10pIC8gMTAuMAogICAgICMgSSBkb24ndCB0aGluayBwYXRocyBhcmUgYWZmZWN0ZWQgYnkgbWlub3IgdmVyc2lvbiBpbiB2ZXJzaW9uIDYKICAgICBpZiBtYWpvclZlcnNpb24gPT0gNjoKZGlmZiAtLWdpdCBhL0xpYi9kaXN0dXRpbHMvc3Bhd24ucHkgYi9MaWIvZGlzdHV0aWxzL3NwYXduLnB5CmluZGV4IDIyZTg3ZTguLjVkZDQxNWEgMTAwNjQ0Ci0tLSBhL0xpYi9kaXN0dXRpbHMvc3Bhd24ucHkKKysrIGIvTGliL2Rpc3R1dGlscy9zcGF3bi5weQpAQCAtMTM3LDkgKzEzNyw2IEBACiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgcGlkLCBzdGF0dXMgPSBvcy53YWl0cGlkKHBpZCwgMCkKICAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGV4YzoKLSAgICAgICAgICAgICAgICBpbXBvcnQgZXJybm8KLSAgICAgICAgICAgICAgICBpZiBleGMuZXJybm8gPT0gZXJybm8uRUlOVFI6Ci0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICAgICAgaWYgbm90IERFQlVHOgogICAgICAgICAgICAgICAgICAgICBjbWQgPSBleGVjdXRhYmxlCiAgICAgICAgICAgICAgICAgcmFpc2UgRGlzdHV0aWxzRXhlY0Vycm9yKApkaWZmIC0tZ2l0IGEvTGliL2Rpc3R1dGlscy9zeXNjb25maWcucHkgYi9MaWIvZGlzdHV0aWxzL3N5c2NvbmZpZy5weQppbmRleCBhMTQ1MmZlLi41NzM3MjRkIDEwMDY0NAotLS0gYS9MaWIvZGlzdHV0aWxzL3N5c2NvbmZpZy5weQorKysgYi9MaWIvZGlzdHV0aWxzL3N5c2NvbmZpZy5weQpAQCAtOSw2ICs5LDcgQEAKIEVtYWlsOiAgICAgICAgPGZkcmFrZUBhY20ub3JnPgogIiIiCiAKK2ltcG9ydCBfaW1wCiBpbXBvcnQgb3MKIGltcG9ydCByZQogaW1wb3J0IHN5cwpAQCAtMjIsMjMgKzIzLDE1IEBACiBCQVNFX0VYRUNfUFJFRklYID0gb3MucGF0aC5ub3JtcGF0aChzeXMuYmFzZV9leGVjX3ByZWZpeCkKIAogIyBQYXRoIHRvIHRoZSBiYXNlIGRpcmVjdG9yeSBvZiB0aGUgcHJvamVjdC4gT24gV2luZG93cyB0aGUgYmluYXJ5IG1heQotIyBsaXZlIGluIHByb2plY3QvUENCdWlsZDkuICBJZiB3ZSdyZSBkZWFsaW5nIHdpdGggYW4geDY0IFdpbmRvd3MgYnVpbGQsCi0jIGl0J2xsIGxpdmUgaW4gcHJvamVjdC9QQ2J1aWxkL2FtZDY0LgorIyBsaXZlIGluIHByb2plY3QvUENCdWlsZC93aW4zMiBvciBwcm9qZWN0L1BDQnVpbGQvYW1kNjQuCiAjIHNldCBmb3IgY3Jvc3MgYnVpbGRzCiBpZiAiX1BZVEhPTl9QUk9KRUNUX0JBU0UiIGluIG9zLmVudmlyb246CiAgICAgcHJvamVjdF9iYXNlID0gb3MucGF0aC5hYnNwYXRoKG9zLmVudmlyb25bIl9QWVRIT05fUFJPSkVDVF9CQVNFIl0pCiBlbHNlOgogICAgIHByb2plY3RfYmFzZSA9IG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmFic3BhdGgoc3lzLmV4ZWN1dGFibGUpKQotaWYgb3MubmFtZSA9PSAibnQiIGFuZCAicGNidWlsZCIgaW4gcHJvamVjdF9iYXNlWy04Ol0ubG93ZXIoKToKLSAgICBwcm9qZWN0X2Jhc2UgPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKHByb2plY3RfYmFzZSwgb3MucGF0aC5wYXJkaXIpKQotIyBQQy9WUzcuMQotaWYgb3MubmFtZSA9PSAibnQiIGFuZCAiXFxwY1xcdiIgaW4gcHJvamVjdF9iYXNlWy0xMDpdLmxvd2VyKCk6Ci0gICAgcHJvamVjdF9iYXNlID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguam9pbihwcm9qZWN0X2Jhc2UsIG9zLnBhdGgucGFyZGlyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3MucGF0aC5wYXJkaXIpKQotIyBQQy9BTUQ2NAotaWYgb3MubmFtZSA9PSAibnQiIGFuZCAiXFxwY2J1aWxkXFxhbWQ2NCIgaW4gcHJvamVjdF9iYXNlWy0xNDpdLmxvd2VyKCk6Ci0gICAgcHJvamVjdF9iYXNlID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguam9pbihwcm9qZWN0X2Jhc2UsIG9zLnBhdGgucGFyZGlyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3MucGF0aC5wYXJkaXIpKQoraWYgKG9zLm5hbWUgPT0gJ250JyBhbmQKKyAgICBwcm9qZWN0X2Jhc2UubG93ZXIoKS5lbmRzd2l0aCgoJ1xccGNidWlsZFxcd2luMzInLCAnXFxwY2J1aWxkXFxhbWQ2NCcpKSk6CisgICAgcHJvamVjdF9iYXNlID0gb3MucGF0aC5kaXJuYW1lKG9zLnBhdGguZGlybmFtZShwcm9qZWN0X2Jhc2UpKQogCiAjIHB5dGhvbl9idWlsZDogKEJvb2xlYW4pIGlmIHRydWUsIHdlJ3JlIGVpdGhlciBidWlsZGluZyBQeXRob24gb3IKICMgYnVpbGRpbmcgYW4gZXh0ZW5zaW9uIHdpdGggYW4gdW4taW5zdGFsbGVkIFB5dGhvbiwgc28gd2UgdXNlCkBAIC01MSwxMSArNDQsOSBAQAogICAgICAgICAgICAgcmV0dXJuIFRydWUKICAgICByZXR1cm4gRmFsc2UKIF9zeXNfaG9tZSA9IGdldGF0dHIoc3lzLCAnX2hvbWUnLCBOb25lKQotaWYgX3N5c19ob21lIGFuZCBvcy5uYW1lID09ICdudCcgYW5kIFwKLSAgICBfc3lzX2hvbWUubG93ZXIoKS5lbmRzd2l0aCgoJ3BjYnVpbGQnLCAncGNidWlsZFxcYW1kNjQnKSk6Ci0gICAgX3N5c19ob21lID0gb3MucGF0aC5kaXJuYW1lKF9zeXNfaG9tZSkKLSAgICBpZiBfc3lzX2hvbWUuZW5kc3dpdGgoJ3BjYnVpbGQnKTogICAjIG11c3QgYmUgYW1kNjQKLSAgICAgICAgX3N5c19ob21lID0gb3MucGF0aC5kaXJuYW1lKF9zeXNfaG9tZSkKK2lmIChfc3lzX2hvbWUgYW5kIG9zLm5hbWUgPT0gJ250JyBhbmQKKyAgICBfc3lzX2hvbWUubG93ZXIoKS5lbmRzd2l0aCgoJ1xccGNidWlsZFxcd2luMzInLCAnXFxwY2J1aWxkXFxhbWQ2NCcpKSk6CisgICAgX3N5c19ob21lID0gb3MucGF0aC5kaXJuYW1lKG9zLnBhdGguZGlybmFtZShfc3lzX2hvbWUpKQogZGVmIF9weXRob25fYnVpbGQoKToKICAgICBpZiBfc3lzX2hvbWU6CiAgICAgICAgIHJldHVybiBfaXNfcHl0aG9uX3NvdXJjZV9kaXIoX3N5c19ob21lKQpAQCAtNDY4LDcgKzQ1OSw3IEBACiAgICAgIyBYWFggaG1tbS4uIGEgbm9ybWFsIGluc3RhbGwgcHV0cyBpbmNsdWRlIGZpbGVzIGhlcmUKICAgICBnWydJTkNMVURFUFknXSA9IGdldF9weXRob25faW5jKHBsYXRfc3BlY2lmaWM9MCkKIAotICAgIGdbJ0VYVF9TVUZGSVgnXSA9ICcucHlkJworICAgIGdbJ0VYVF9TVUZGSVgnXSA9IF9pbXAuZXh0ZW5zaW9uX3N1ZmZpeGVzKClbMF0KICAgICBnWydFWEUnXSA9ICIuZXhlIgogICAgIGdbJ1ZFUlNJT04nXSA9IGdldF9weXRob25fdmVyc2lvbigpLnJlcGxhY2UoIi4iLCAiIikKICAgICBnWydCSU5ESVInXSA9IG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmFic3BhdGgoc3lzLmV4ZWN1dGFibGUpKQpkaWZmIC0tZ2l0IGEvTGliL2Rpc3R1dGlscy90ZXN0cy90ZXN0X2J1aWxkX2V4dC5weSBiL0xpYi9kaXN0dXRpbHMvdGVzdHMvdGVzdF9idWlsZF9leHQucHkKaW5kZXggYjlmNDA3Zi4uMzY2ZmZiZSAxMDA2NDQKLS0tIGEvTGliL2Rpc3R1dGlscy90ZXN0cy90ZXN0X2J1aWxkX2V4dC5weQorKysgYi9MaWIvZGlzdHV0aWxzL3Rlc3RzL3Rlc3RfYnVpbGRfZXh0LnB5CkBAIC0zNyw2ICszNyw5IEBACiAgICAgICAgIGZyb20gZGlzdHV0aWxzLmNvbW1hbmQgaW1wb3J0IGJ1aWxkX2V4dAogICAgICAgICBidWlsZF9leHQuVVNFUl9CQVNFID0gc2l0ZS5VU0VSX0JBU0UKIAorICAgIGRlZiBidWlsZF9leHQoc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgcmV0dXJuIGJ1aWxkX2V4dCgqYXJncywgKiprd2FyZ3MpCisKICAgICBkZWYgdGVzdF9idWlsZF9leHQoc2VsZik6CiAgICAgICAgIGdsb2JhbCBBTFJFQURZX1RFU1RFRAogICAgICAgICBjb3B5X3h4bW9kdWxlX2Moc2VsZi50bXBfZGlyKQpAQCAtNDQsNyArNDcsNyBAQAogICAgICAgICB4eF9leHQgPSBFeHRlbnNpb24oJ3h4JywgW3h4X2NdKQogICAgICAgICBkaXN0ID0gRGlzdHJpYnV0aW9uKHsnbmFtZSc6ICd4eCcsICdleHRfbW9kdWxlcyc6IFt4eF9leHRdfSkKICAgICAgICAgZGlzdC5wYWNrYWdlX2RpciA9IHNlbGYudG1wX2RpcgotICAgICAgICBjbWQgPSBidWlsZF9leHQoZGlzdCkKKyAgICAgICAgY21kID0gc2VsZi5idWlsZF9leHQoZGlzdCkKICAgICAgICAgZml4dXBfYnVpbGRfZXh0KGNtZCkKICAgICAgICAgY21kLmJ1aWxkX2xpYiA9IHNlbGYudG1wX2RpcgogICAgICAgICBjbWQuYnVpbGRfdGVtcCA9IHNlbGYudG1wX2RpcgpAQCAtOTEsNyArOTQsNyBAQAogCiAgICAgZGVmIHRlc3Rfc29sYXJpc19lbmFibGVfc2hhcmVkKHNlbGYpOgogICAgICAgICBkaXN0ID0gRGlzdHJpYnV0aW9uKHsnbmFtZSc6ICd4eCd9KQotICAgICAgICBjbWQgPSBidWlsZF9leHQoZGlzdCkKKyAgICAgICAgY21kID0gc2VsZi5idWlsZF9leHQoZGlzdCkKICAgICAgICAgb2xkID0gc3lzLnBsYXRmb3JtCiAKICAgICAgICAgc3lzLnBsYXRmb3JtID0gJ3N1bm9zJyAjIGZvb2xpbmcgZmluYWxpemVfb3B0aW9ucwpAQCAtMTEzLDcgKzExNiw3IEBACiAgICAgZGVmIHRlc3RfdXNlcl9zaXRlKHNlbGYpOgogICAgICAgICBpbXBvcnQgc2l0ZQogICAgICAgICBkaXN0ID0gRGlzdHJpYnV0aW9uKHsnbmFtZSc6ICd4eCd9KQotICAgICAgICBjbWQgPSBidWlsZF9leHQoZGlzdCkKKyAgICAgICAgY21kID0gc2VsZi5idWlsZF9leHQoZGlzdCkKIAogICAgICAgICAjIG1ha2luZyBzdXJlIHRoZSB1c2VyIG9wdGlvbiBpcyB0aGVyZQogICAgICAgICBvcHRpb25zID0gW25hbWUgZm9yIG5hbWUsIHNob3J0LCBsYWJsZSBpbgpAQCAtMTQ0LDE0ICsxNDcsMTQgQEAKICAgICAgICAgIyB3aXRoIHRoZSBvcHRpb25hbCBhcmd1bWVudC4KICAgICAgICAgbW9kdWxlcyA9IFtFeHRlbnNpb24oJ2ZvbycsIFsneHh4J10sIG9wdGlvbmFsPUZhbHNlKV0KICAgICAgICAgZGlzdCA9IERpc3RyaWJ1dGlvbih7J25hbWUnOiAneHgnLCAnZXh0X21vZHVsZXMnOiBtb2R1bGVzfSkKLSAgICAgICAgY21kID0gYnVpbGRfZXh0KGRpc3QpCisgICAgICAgIGNtZCA9IHNlbGYuYnVpbGRfZXh0KGRpc3QpCiAgICAgICAgIGNtZC5lbnN1cmVfZmluYWxpemVkKCkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoKFVua25vd25GaWxlRXJyb3IsIENvbXBpbGVFcnJvciksCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNtZC5ydW4pICAjIHNob3VsZCByYWlzZSBhbiBlcnJvcgogCiAgICAgICAgIG1vZHVsZXMgPSBbRXh0ZW5zaW9uKCdmb28nLCBbJ3h4eCddLCBvcHRpb25hbD1UcnVlKV0KICAgICAgICAgZGlzdCA9IERpc3RyaWJ1dGlvbih7J25hbWUnOiAneHgnLCAnZXh0X21vZHVsZXMnOiBtb2R1bGVzfSkKLSAgICAgICAgY21kID0gYnVpbGRfZXh0KGRpc3QpCisgICAgICAgIGNtZCA9IHNlbGYuYnVpbGRfZXh0KGRpc3QpCiAgICAgICAgIGNtZC5lbnN1cmVfZmluYWxpemVkKCkKICAgICAgICAgY21kLnJ1bigpICAjIHNob3VsZCBwYXNzCiAKQEAgLTE2MCw3ICsxNjMsNyBAQAogICAgICAgICAjIGV0Yy4pIGFyZSBpbiB0aGUgaW5jbHVkZSBzZWFyY2ggcGF0aC4KICAgICAgICAgbW9kdWxlcyA9IFtFeHRlbnNpb24oJ2ZvbycsIFsneHh4J10sIG9wdGlvbmFsPUZhbHNlKV0KICAgICAgICAgZGlzdCA9IERpc3RyaWJ1dGlvbih7J25hbWUnOiAneHgnLCAnZXh0X21vZHVsZXMnOiBtb2R1bGVzfSkKLSAgICAgICAgY21kID0gYnVpbGRfZXh0KGRpc3QpCisgICAgICAgIGNtZCA9IHNlbGYuYnVpbGRfZXh0KGRpc3QpCiAgICAgICAgIGNtZC5maW5hbGl6ZV9vcHRpb25zKCkKIAogICAgICAgICBmcm9tIGRpc3R1dGlscyBpbXBvcnQgc3lzY29uZmlnCkBAIC0xNzIsMTQgKzE3NSwxNCBAQAogCiAgICAgICAgICMgbWFrZSBzdXJlIGNtZC5saWJyYXJpZXMgaXMgdHVybmVkIGludG8gYSBsaXN0CiAgICAgICAgICMgaWYgaXQncyBhIHN0cmluZwotICAgICAgICBjbWQgPSBidWlsZF9leHQoZGlzdCkKKyAgICAgICAgY21kID0gc2VsZi5idWlsZF9leHQoZGlzdCkKICAgICAgICAgY21kLmxpYnJhcmllcyA9ICdteV9saWIsIG90aGVyX2xpYiBsYXN0bGliJwogICAgICAgICBjbWQuZmluYWxpemVfb3B0aW9ucygpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY21kLmxpYnJhcmllcywgWydteV9saWInLCAnb3RoZXJfbGliJywgJ2xhc3RsaWInXSkKIAogICAgICAgICAjIG1ha2Ugc3VyZSBjbWQubGlicmFyeV9kaXJzIGlzIHR1cm5lZCBpbnRvIGEgbGlzdAogICAgICAgICAjIGlmIGl0J3MgYSBzdHJpbmcKLSAgICAgICAgY21kID0gYnVpbGRfZXh0KGRpc3QpCisgICAgICAgIGNtZCA9IHNlbGYuYnVpbGRfZXh0KGRpc3QpCiAgICAgICAgIGNtZC5saWJyYXJ5X2RpcnMgPSAnbXlfbGliX2RpciVzb3RoZXJfbGliX2RpcicgJSBvcy5wYXRoc2VwCiAgICAgICAgIGNtZC5maW5hbGl6ZV9vcHRpb25zKCkKICAgICAgICAgc2VsZi5hc3NlcnRJbignbXlfbGliX2RpcicsIGNtZC5saWJyYXJ5X2RpcnMpCkBAIC0xODcsNyArMTkwLDcgQEAKIAogICAgICAgICAjIG1ha2Ugc3VyZSBycGF0aCBpcyB0dXJuZWQgaW50byBhIGxpc3QKICAgICAgICAgIyBpZiBpdCdzIGEgc3RyaW5nCi0gICAgICAgIGNtZCA9IGJ1aWxkX2V4dChkaXN0KQorICAgICAgICBjbWQgPSBzZWxmLmJ1aWxkX2V4dChkaXN0KQogICAgICAgICBjbWQucnBhdGggPSAnb25lJXN0d28nICUgb3MucGF0aHNlcAogICAgICAgICBjbWQuZmluYWxpemVfb3B0aW9ucygpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY21kLnJwYXRoLCBbJ29uZScsICd0d28nXSkKQEAgLTE5NiwzMiArMTk5LDMyIEBACiAKICAgICAgICAgIyBtYWtlIHN1cmUgZGVmaW5lIGlzIHR1cm5lZCBpbnRvIDItdHVwbGVzCiAgICAgICAgICMgc3RyaW5ncyBpZiB0aGV5IGFyZSAnLCctc2VwYXJhdGVkIHN0cmluZ3MKLSAgICAgICAgY21kID0gYnVpbGRfZXh0KGRpc3QpCisgICAgICAgIGNtZCA9IHNlbGYuYnVpbGRfZXh0KGRpc3QpCiAgICAgICAgIGNtZC5kZWZpbmUgPSAnb25lLHR3bycKICAgICAgICAgY21kLmZpbmFsaXplX29wdGlvbnMoKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtZC5kZWZpbmUsIFsoJ29uZScsICcxJyksICgndHdvJywgJzEnKV0pCiAKICAgICAgICAgIyBtYWtlIHN1cmUgdW5kZWYgaXMgdHVybmVkIGludG8gYSBsaXN0IG9mCiAgICAgICAgICMgc3RyaW5ncyBpZiB0aGV5IGFyZSAnLCctc2VwYXJhdGVkIHN0cmluZ3MKLSAgICAgICAgY21kID0gYnVpbGRfZXh0KGRpc3QpCisgICAgICAgIGNtZCA9IHNlbGYuYnVpbGRfZXh0KGRpc3QpCiAgICAgICAgIGNtZC51bmRlZiA9ICdvbmUsdHdvJwogICAgICAgICBjbWQuZmluYWxpemVfb3B0aW9ucygpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY21kLnVuZGVmLCBbJ29uZScsICd0d28nXSkKIAogICAgICAgICAjIG1ha2Ugc3VyZSBzd2lnX29wdHMgaXMgdHVybmVkIGludG8gYSBsaXN0Ci0gICAgICAgIGNtZCA9IGJ1aWxkX2V4dChkaXN0KQorICAgICAgICBjbWQgPSBzZWxmLmJ1aWxkX2V4dChkaXN0KQogICAgICAgICBjbWQuc3dpZ19vcHRzID0gTm9uZQogICAgICAgICBjbWQuZmluYWxpemVfb3B0aW9ucygpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY21kLnN3aWdfb3B0cywgW10pCiAKLSAgICAgICAgY21kID0gYnVpbGRfZXh0KGRpc3QpCisgICAgICAgIGNtZCA9IHNlbGYuYnVpbGRfZXh0KGRpc3QpCiAgICAgICAgIGNtZC5zd2lnX29wdHMgPSAnMSAyJwogICAgICAgICBjbWQuZmluYWxpemVfb3B0aW9ucygpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY21kLnN3aWdfb3B0cywgWycxJywgJzInXSkKIAogICAgIGRlZiB0ZXN0X2NoZWNrX2V4dGVuc2lvbnNfbGlzdChzZWxmKToKICAgICAgICAgZGlzdCA9IERpc3RyaWJ1dGlvbigpCi0gICAgICAgIGNtZCA9IGJ1aWxkX2V4dChkaXN0KQorICAgICAgICBjbWQgPSBzZWxmLmJ1aWxkX2V4dChkaXN0KQogICAgICAgICBjbWQuZmluYWxpemVfb3B0aW9ucygpCiAKICAgICAgICAgIydleHRlbnNpb25zJyBvcHRpb24gbXVzdCBiZSBhIGxpc3Qgb2YgRXh0ZW5zaW9uIGluc3RhbmNlcwpAQCAtMjcwLDcgKzI3Myw3IEBACiAgICAgZGVmIHRlc3RfZ2V0X3NvdXJjZV9maWxlcyhzZWxmKToKICAgICAgICAgbW9kdWxlcyA9IFtFeHRlbnNpb24oJ2ZvbycsIFsneHh4J10sIG9wdGlvbmFsPUZhbHNlKV0KICAgICAgICAgZGlzdCA9IERpc3RyaWJ1dGlvbih7J25hbWUnOiAneHgnLCAnZXh0X21vZHVsZXMnOiBtb2R1bGVzfSkKLSAgICAgICAgY21kID0gYnVpbGRfZXh0KGRpc3QpCisgICAgICAgIGNtZCA9IHNlbGYuYnVpbGRfZXh0KGRpc3QpCiAgICAgICAgIGNtZC5lbnN1cmVfZmluYWxpemVkKCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbWQuZ2V0X3NvdXJjZV9maWxlcygpLCBbJ3h4eCddKQogCkBAIC0yNzksNyArMjgyLDcgQEAKICAgICAgICAgIyBzaG91bGQgbm90IGJlIG92ZXJyaWRlbiBieSBhIGNvbXBpbGVyIGluc3RhbmNlCiAgICAgICAgICMgd2hlbiB0aGUgY29tbWFuZCBpcyBydW4KICAgICAgICAgZGlzdCA9IERpc3RyaWJ1dGlvbigpCi0gICAgICAgIGNtZCA9IGJ1aWxkX2V4dChkaXN0KQorICAgICAgICBjbWQgPSBzZWxmLmJ1aWxkX2V4dChkaXN0KQogICAgICAgICBjbWQuY29tcGlsZXIgPSAndW5peCcKICAgICAgICAgY21kLmVuc3VyZV9maW5hbGl6ZWQoKQogICAgICAgICBjbWQucnVuKCkKQEAgLTI5Miw3ICsyOTUsNyBAQAogICAgICAgICBleHQgPSBFeHRlbnNpb24oJ2ZvbycsIFtjX2ZpbGVdLCBvcHRpb25hbD1GYWxzZSkKICAgICAgICAgZGlzdCA9IERpc3RyaWJ1dGlvbih7J25hbWUnOiAneHgnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZXh0X21vZHVsZXMnOiBbZXh0XX0pCi0gICAgICAgIGNtZCA9IGJ1aWxkX2V4dChkaXN0KQorICAgICAgICBjbWQgPSBzZWxmLmJ1aWxkX2V4dChkaXN0KQogICAgICAgICBmaXh1cF9idWlsZF9leHQoY21kKQogICAgICAgICBjbWQuZW5zdXJlX2ZpbmFsaXplZCgpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGNtZC5nZXRfb3V0cHV0cygpKSwgMSkKQEAgLTM1NSw3ICszNTgsNyBAQAogICAgICAgICAjZXRyZWVfZXh0ID0gRXh0ZW5zaW9uKCdseG1sLmV0cmVlJywgW2V0cmVlX2NdKQogICAgICAgICAjZGlzdCA9IERpc3RyaWJ1dGlvbih7J25hbWUnOiAnbHhtbCcsICdleHRfbW9kdWxlcyc6IFtldHJlZV9leHRdfSkKICAgICAgICAgZGlzdCA9IERpc3RyaWJ1dGlvbigpCi0gICAgICAgIGNtZCA9IGJ1aWxkX2V4dChkaXN0KQorICAgICAgICBjbWQgPSBzZWxmLmJ1aWxkX2V4dChkaXN0KQogICAgICAgICBjbWQuaW5wbGFjZSA9IDEKICAgICAgICAgY21kLmRpc3RyaWJ1dGlvbi5wYWNrYWdlX2RpciA9IHsnJzogJ3NyYyd9CiAgICAgICAgIGNtZC5kaXN0cmlidXRpb24ucGFja2FnZXMgPSBbJ2x4bWwnLCAnbHhtbC5odG1sJ10KQEAgLTQ2Miw3ICs0NjUsNyBAQAogICAgICAgICAgICAgJ2V4dF9tb2R1bGVzJzogW2RlcHRhcmdldF9leHRdCiAgICAgICAgIH0pCiAgICAgICAgIGRpc3QucGFja2FnZV9kaXIgPSBzZWxmLnRtcF9kaXIKLSAgICAgICAgY21kID0gYnVpbGRfZXh0KGRpc3QpCisgICAgICAgIGNtZCA9IHNlbGYuYnVpbGRfZXh0KGRpc3QpCiAgICAgICAgIGNtZC5idWlsZF9saWIgPSBzZWxmLnRtcF9kaXIKICAgICAgICAgY21kLmJ1aWxkX3RlbXAgPSBzZWxmLnRtcF9kaXIKIApAQCAtNDgxLDggKzQ4NCwxOSBAQAogICAgICAgICAgICAgc2VsZi5mYWlsKCJXcm9uZyBkZXBsb3ltZW50IHRhcmdldCBkdXJpbmcgY29tcGlsYXRpb24iKQogCiAKK2NsYXNzIFBhcmFsbGVsQnVpbGRFeHRUZXN0Q2FzZShCdWlsZEV4dFRlc3RDYXNlKToKKworICAgIGRlZiBidWlsZF9leHQoc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgYnVpbGRfZXh0ID0gc3VwZXIoKS5idWlsZF9leHQoKmFyZ3MsICoqa3dhcmdzKQorICAgICAgICBidWlsZF9leHQucGFyYWxsZWwgPSBUcnVlCisgICAgICAgIHJldHVybiBidWlsZF9leHQKKworCiBkZWYgdGVzdF9zdWl0ZSgpOgotICAgIHJldHVybiB1bml0dGVzdC5tYWtlU3VpdGUoQnVpbGRFeHRUZXN0Q2FzZSkKKyAgICBzdWl0ZSA9IHVuaXR0ZXN0LlRlc3RTdWl0ZSgpCisgICAgc3VpdGUuYWRkVGVzdCh1bml0dGVzdC5tYWtlU3VpdGUoQnVpbGRFeHRUZXN0Q2FzZSkpCisgICAgc3VpdGUuYWRkVGVzdCh1bml0dGVzdC5tYWtlU3VpdGUoUGFyYWxsZWxCdWlsZEV4dFRlc3RDYXNlKSkKKyAgICByZXR1cm4gc3VpdGUKIAogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKLSAgICBzdXBwb3J0LnJ1bl91bml0dGVzdCh0ZXN0X3N1aXRlKCkpCisgICAgc3VwcG9ydC5ydW5fdW5pdHRlc3QoX19uYW1lX18pCmRpZmYgLS1naXQgYS9MaWIvZGlzdHV0aWxzL3Rlc3RzL3Rlc3RfaW5zdGFsbC5weSBiL0xpYi9kaXN0dXRpbHMvdGVzdHMvdGVzdF9pbnN0YWxsLnB5CmluZGV4IDE4ZTFlNTcuLjkzMTMzMzAgMTAwNjQ0Ci0tLSBhL0xpYi9kaXN0dXRpbHMvdGVzdHMvdGVzdF9pbnN0YWxsLnB5CisrKyBiL0xpYi9kaXN0dXRpbHMvdGVzdHMvdGVzdF9pbnN0YWxsLnB5CkBAIC0yMCw4ICsyMCw2IEBACiAKIAogZGVmIF9tYWtlX2V4dF9uYW1lKG1vZG5hbWUpOgotICAgIGlmIG9zLm5hbWUgPT0gJ250JyBhbmQgc3lzLmV4ZWN1dGFibGUuZW5kc3dpdGgoJ19kLmV4ZScpOgotICAgICAgICBtb2RuYW1lICs9ICdfZCcKICAgICByZXR1cm4gbW9kbmFtZSArIHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcignRVhUX1NVRkZJWCcpCiAKIApkaWZmIC0tZ2l0IGEvTGliL2Rpc3R1dGlscy92ZXJzaW9uLnB5IGIvTGliL2Rpc3R1dGlscy92ZXJzaW9uLnB5CmluZGV4IGViY2FiODQuLmFmMTRjYzEgMTAwNjQ0Ci0tLSBhL0xpYi9kaXN0dXRpbHMvdmVyc2lvbi5weQorKysgYi9MaWIvZGlzdHV0aWxzL3ZlcnNpb24ucHkKQEAgLTQ4LDEyICs0OCw2IEBACiAgICAgICAgICAgICByZXR1cm4gYwogICAgICAgICByZXR1cm4gYyA9PSAwCiAKLSAgICBkZWYgX19uZV9fKHNlbGYsIG90aGVyKToKLSAgICAgICAgYyA9IHNlbGYuX2NtcChvdGhlcikKLSAgICAgICAgaWYgYyBpcyBOb3RJbXBsZW1lbnRlZDoKLSAgICAgICAgICAgIHJldHVybiBjCi0gICAgICAgIHJldHVybiBjICE9IDAKLQogICAgIGRlZiBfX2x0X18oc2VsZiwgb3RoZXIpOgogICAgICAgICBjID0gc2VsZi5fY21wKG90aGVyKQogICAgICAgICBpZiBjIGlzIE5vdEltcGxlbWVudGVkOgpkaWZmIC0tZ2l0IGEvTGliL2RvY3Rlc3QucHkgYi9MaWIvZG9jdGVzdC5weQppbmRleCA2NGU2ZDcxLi43ZDViY2Y0IDEwMDY0NAotLS0gYS9MaWIvZG9jdGVzdC5weQorKysgYi9MaWIvZG9jdGVzdC5weQpAQCAtNTMwLDggKzUzMCw5IEBACiAgICAgICAgICAgICBleGFtcGxlcyA9ICcxIGV4YW1wbGUnCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBleGFtcGxlcyA9ICclZCBleGFtcGxlcycgJSBsZW4oc2VsZi5leGFtcGxlcykKLSAgICAgICAgcmV0dXJuICgnPERvY1Rlc3QgJXMgZnJvbSAlczolcyAoJXMpPicgJQotICAgICAgICAgICAgICAgIChzZWxmLm5hbWUsIHNlbGYuZmlsZW5hbWUsIHNlbGYubGluZW5vLCBleGFtcGxlcykpCisgICAgICAgIHJldHVybiAoJzwlcyAlcyBmcm9tICVzOiVzICglcyk+JyAlCisgICAgICAgICAgICAgICAgKHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLAorICAgICAgICAgICAgICAgICBzZWxmLm5hbWUsIHNlbGYuZmlsZW5hbWUsIHNlbGYubGluZW5vLCBleGFtcGxlcykpCiAKICAgICBkZWYgX19lcV9fKHNlbGYsIG90aGVyKToKICAgICAgICAgaWYgdHlwZShzZWxmKSBpcyBub3QgdHlwZShvdGhlcik6CkBAIC05NzgsNyArOTc5LDggQEAKICAgICAgICAgICAgIGZvciB2YWxuYW1lLCB2YWwgaW4gb2JqLl9fZGljdF9fLml0ZW1zKCk6CiAgICAgICAgICAgICAgICAgdmFsbmFtZSA9ICclcy4lcycgJSAobmFtZSwgdmFsbmFtZSkKICAgICAgICAgICAgICAgICAjIFJlY3Vyc2UgdG8gZnVuY3Rpb25zICYgY2xhc3Nlcy4KLSAgICAgICAgICAgICAgICBpZiAoKGluc3BlY3QuaXNyb3V0aW5lKHZhbCkgb3IgaW5zcGVjdC5pc2NsYXNzKHZhbCkpIGFuZAorICAgICAgICAgICAgICAgIGlmICgoaW5zcGVjdC5pc3JvdXRpbmUoaW5zcGVjdC51bndyYXAodmFsKSkKKyAgICAgICAgICAgICAgICAgICAgIG9yIGluc3BlY3QuaXNjbGFzcyh2YWwpKSBhbmQKICAgICAgICAgICAgICAgICAgICAgc2VsZi5fZnJvbV9tb2R1bGUobW9kdWxlLCB2YWwpKToKICAgICAgICAgICAgICAgICAgICAgc2VsZi5fZmluZCh0ZXN0cywgdmFsLCB2YWxuYW1lLCBtb2R1bGUsIHNvdXJjZV9saW5lcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbG9icywgc2VlbikKQEAgLTIzNjcsMTUgKzIzNjksNiBAQAogICAgICAgICBzdWl0ZSA9IF9Eb2NUZXN0U3VpdGUoKQogICAgICAgICBzdWl0ZS5hZGRUZXN0KFNraXBEb2NUZXN0Q2FzZShtb2R1bGUpKQogICAgICAgICByZXR1cm4gc3VpdGUKLSAgICBlbGlmIG5vdCB0ZXN0czoKLSAgICAgICAgIyBXaHkgZG8gd2Ugd2FudCB0byBkbyB0aGlzPyBCZWNhdXNlIGl0IHJldmVhbHMgYSBidWcgdGhhdCBtaWdodAotICAgICAgICAjIG90aGVyd2lzZSBiZSBoaWRkZW4uCi0gICAgICAgICMgSXQgaXMgcHJvYmFibHkgYSBidWcgdGhhdCB0aGlzIGV4Y2VwdGlvbiBpcyBub3QgYWxzbyByYWlzZWQgaWYgdGhlCi0gICAgICAgICMgbnVtYmVyIG9mIGRvY3Rlc3QgZXhhbXBsZXMgaW4gdGVzdHMgaXMgemVybyAoaS5lLiBpZiBubyBkb2N0ZXN0Ci0gICAgICAgICMgZXhhbXBsZXMgd2VyZSBmb3VuZCkuICBIb3dldmVyLCB3ZSBzaG91bGQgcHJvYmFibHkgbm90IGJlIHJhaXNpbmcKLSAgICAgICAgIyBhbiBleGNlcHRpb24gYXQgYWxsIGhlcmUsIHRob3VnaCBpdCBpcyB0b28gbGF0ZSB0byBtYWtlIHRoaXMgY2hhbmdlCi0gICAgICAgICMgZm9yIGEgbWFpbnRlbmFuY2UgcmVsZWFzZS4gIFNlZSBhbHNvIGlzc3VlICMxNDY0OS4KLSAgICAgICAgcmFpc2UgVmFsdWVFcnJvcihtb2R1bGUsICJoYXMgbm8gZG9jc3RyaW5ncyIpCiAKICAgICB0ZXN0cy5zb3J0KCkKICAgICBzdWl0ZSA9IF9Eb2NUZXN0U3VpdGUoKQpkaWZmIC0tZ2l0IGEvTGliL2VtYWlsL19faW5pdF9fLnB5IGIvTGliL2VtYWlsL19faW5pdF9fLnB5CmluZGV4IGZmMTZmNmEuLmZhZTg3MjQgMTAwNjQ0Ci0tLSBhL0xpYi9lbWFpbC9fX2luaXRfXy5weQorKysgYi9MaWIvZW1haWwvX19pbml0X18ucHkKQEAgLTQsOCArNCw2IEBACiAKICIiIkEgcGFja2FnZSBmb3IgcGFyc2luZywgaGFuZGxpbmcsIGFuZCBnZW5lcmF0aW5nIGVtYWlsIG1lc3NhZ2VzLiIiIgogCi1fX3ZlcnNpb25fXyA9ICc1LjEuMCcKLQogX19hbGxfXyA9IFsKICAgICAnYmFzZTY0bWltZScsCiAgICAgJ2NoYXJzZXQnLApkaWZmIC0tZ2l0IGEvTGliL2VtYWlsL2NoYXJzZXQucHkgYi9MaWIvZW1haWwvY2hhcnNldC5weQppbmRleCBlOTk5NDcyLi5lZTU2NDA0IDEwMDY0NAotLS0gYS9MaWIvZW1haWwvY2hhcnNldC5weQorKysgYi9MaWIvZW1haWwvY2hhcnNldC5weQpAQCAtMjQ5LDkgKzI0OSw2IEBACiAgICAgZGVmIF9fZXFfXyhzZWxmLCBvdGhlcik6CiAgICAgICAgIHJldHVybiBzdHIoc2VsZikgPT0gc3RyKG90aGVyKS5sb3dlcigpCiAKLSAgICBkZWYgX19uZV9fKHNlbGYsIG90aGVyKToKLSAgICAgICAgcmV0dXJuIG5vdCBzZWxmLl9fZXFfXyhvdGhlcikKLQogICAgIGRlZiBnZXRfYm9keV9lbmNvZGluZyhzZWxmKToKICAgICAgICAgIiIiUmV0dXJuIHRoZSBjb250ZW50LXRyYW5zZmVyLWVuY29kaW5nIHVzZWQgZm9yIGJvZHkgZW5jb2RpbmcuCiAKZGlmZiAtLWdpdCBhL0xpYi9lbWFpbC9oZWFkZXIucHkgYi9MaWIvZW1haWwvaGVhZGVyLnB5CmluZGV4IDljODk1ODkuLjY4MjBlYTEgMTAwNjQ0Ci0tLSBhL0xpYi9lbWFpbC9oZWFkZXIucHkKKysrIGIvTGliL2VtYWlsL2hlYWRlci5weQpAQCAtMjYyLDkgKzI2Miw2IEBACiAgICAgICAgICMgYXJncyBhbmQgZG8gYW5vdGhlciBjb21wYXJpc29uLgogICAgICAgICByZXR1cm4gb3RoZXIgPT0gc3RyKHNlbGYpCiAKLSAgICBkZWYgX19uZV9fKHNlbGYsIG90aGVyKToKLSAgICAgICAgcmV0dXJuIG5vdCBzZWxmID09IG90aGVyCi0KICAgICBkZWYgYXBwZW5kKHNlbGYsIHMsIGNoYXJzZXQ9Tm9uZSwgZXJyb3JzPSdzdHJpY3QnKToKICAgICAgICAgIiIiQXBwZW5kIGEgc3RyaW5nIHRvIHRoZSBNSU1FIGhlYWRlci4KIApkaWZmIC0tZ2l0IGEvTGliL2VtYWlsL2hlYWRlcnJlZ2lzdHJ5LnB5IGIvTGliL2VtYWlsL2hlYWRlcnJlZ2lzdHJ5LnB5CmluZGV4IDkxMWEyYWYuLjQ2OGNhOWUgMTAwNjQ0Ci0tLSBhL0xpYi9lbWFpbC9oZWFkZXJyZWdpc3RyeS5weQorKysgYi9MaWIvZW1haWwvaGVhZGVycmVnaXN0cnkucHkKQEAgLTgxLDcgKzgxLDggQEAKICAgICAgICAgcmV0dXJuIGxwCiAKICAgICBkZWYgX19yZXByX18oc2VsZik6Ci0gICAgICAgIHJldHVybiAiQWRkcmVzcyhkaXNwbGF5X25hbWU9eyFyfSwgdXNlcm5hbWU9eyFyfSwgZG9tYWluPXshcn0pIi5mb3JtYXQoCisgICAgICAgIHJldHVybiAie30oZGlzcGxheV9uYW1lPXshcn0sIHVzZXJuYW1lPXshcn0sIGRvbWFpbj17IXJ9KSIuZm9ybWF0KAorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fX2NsYXNzX18uX19uYW1lX18sCiAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmRpc3BsYXlfbmFtZSwgc2VsZi51c2VybmFtZSwgc2VsZi5kb21haW4pCiAKICAgICBkZWYgX19zdHJfXyhzZWxmKToKQEAgLTEzMiw3ICsxMzMsOCBAQAogICAgICAgICByZXR1cm4gc2VsZi5fYWRkcmVzc2VzCiAKICAgICBkZWYgX19yZXByX18oc2VsZik6Ci0gICAgICAgIHJldHVybiAiR3JvdXAoZGlzcGxheV9uYW1lPXshcn0sIGFkZHJlc3Nlcz17IXJ9Ii5mb3JtYXQoCisgICAgICAgIHJldHVybiAie30oZGlzcGxheV9uYW1lPXshcn0sIGFkZHJlc3Nlcz17IXJ9Ii5mb3JtYXQoCisgICAgICAgICAgICAgICAgIHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLAogICAgICAgICAgICAgICAgICBzZWxmLmRpc3BsYXlfbmFtZSwgc2VsZi5hZGRyZXNzZXMpCiAKICAgICBkZWYgX19zdHJfXyhzZWxmKToKZGlmZiAtLWdpdCBhL0xpYi9lbWFpbC9tZXNzYWdlLnB5IGIvTGliL2VtYWlsL21lc3NhZ2UucHkKaW5kZXggMmYzN2RiYi4uM2QzMTM4ZiAxMDA2NDQKLS0tIGEvTGliL2VtYWlsL21lc3NhZ2UucHkKKysrIGIvTGliL2VtYWlsL21lc3NhZ2UucHkKQEAgLTkzMCwxNyArOTMwLDYgQEAKICAgICAjIEkuZS4gZGVmIHdhbGsoc2VsZik6IC4uLgogICAgIGZyb20gZW1haWwuaXRlcmF0b3JzIGltcG9ydCB3YWxrCiAKLSMgWFhYIFN1cHBvcnQgZm9yIHRlbXBvcmFyeSBkZXByZWNhdGlvbiBoYWNrIGZvciBpc19hdHRhY2htZW50IHByb3BlcnR5LgotY2xhc3MgX0lzQXR0YWNobWVudDoKLSAgICBkZWYgX19pbml0X18oc2VsZiwgdmFsdWUpOgotICAgICAgICBzZWxmLnZhbHVlID0gdmFsdWUKLSAgICBkZWYgX19jYWxsX18oc2VsZik6Ci0gICAgICAgIHJldHVybiBzZWxmLnZhbHVlCi0gICAgZGVmIF9fYm9vbF9fKHNlbGYpOgotICAgICAgICB3YXJuaW5ncy53YXJuKCJpc19hdHRhY2htZW50IHdpbGwgYmUgYSBtZXRob2QsIG5vdCBhIHByb3BlcnR5LCBpbiAzLjUiLAotICAgICAgICAgICAgICAgICAgICAgIERlcHJlY2F0aW9uV2FybmluZywKLSAgICAgICAgICAgICAgICAgICAgICBzdGFja2xldmVsPTMpCi0gICAgICAgIHJldHVybiBzZWxmLnZhbHVlCiAKIGNsYXNzIE1JTUVQYXJ0KE1lc3NhZ2UpOgogCkBAIC05NTAsMTIgKzkzOSw5IEBACiAgICAgICAgICAgICBwb2xpY3kgPSBkZWZhdWx0CiAgICAgICAgIE1lc3NhZ2UuX19pbml0X18oc2VsZiwgcG9saWN5KQogCi0gICAgQHByb3BlcnR5CiAgICAgZGVmIGlzX2F0dGFjaG1lbnQoc2VsZik6CiAgICAgICAgIGNfZCA9IHNlbGYuZ2V0KCdjb250ZW50LWRpc3Bvc2l0aW9uJykKLSAgICAgICAgcmVzdWx0ID0gRmFsc2UgaWYgY19kIGlzIE5vbmUgZWxzZSBjX2QuY29udGVudF9kaXNwb3NpdGlvbiA9PSAnYXR0YWNobWVudCcKLSAgICAgICAgIyBYWFggdHJhbnNpdGlvbmFsIGhhY2sgdG8gcmFpc2UgZGVwcmVjYXRpb24gaWYgbm90IGNhbGxlZC4KLSAgICAgICAgcmV0dXJuIF9Jc0F0dGFjaG1lbnQocmVzdWx0KQorICAgICAgICByZXR1cm4gRmFsc2UgaWYgY19kIGlzIE5vbmUgZWxzZSBjX2QuY29udGVudF9kaXNwb3NpdGlvbiA9PSAnYXR0YWNobWVudCcKIAogICAgIGRlZiBfZmluZF9ib2R5KHNlbGYsIHBhcnQsIHByZWZlcmVuY2VsaXN0KToKICAgICAgICAgaWYgcGFydC5pc19hdHRhY2htZW50KCk6CmRpZmYgLS1naXQgYS9MaWIvZW1haWwvbWltZS90ZXh0LnB5IGIvTGliL2VtYWlsL21pbWUvdGV4dC5weQppbmRleCBlYzE4Yjg1Li40Nzk5MjhlIDEwMDY0NAotLS0gYS9MaWIvZW1haWwvbWltZS90ZXh0LnB5CisrKyBiL0xpYi9lbWFpbC9taW1lL3RleHQucHkKQEAgLTYsNiArNiw3IEBACiAKIF9fYWxsX18gPSBbJ01JTUVUZXh0J10KIAorZnJvbSBlbWFpbC5jaGFyc2V0IGltcG9ydCBDaGFyc2V0CiBmcm9tIGVtYWlsLm1pbWUubm9ubXVsdGlwYXJ0IGltcG9ydCBNSU1FTm9uTXVsdGlwYXJ0CiAKIApAQCAtMzQsNiArMzUsOCBAQAogICAgICAgICAgICAgICAgIF9jaGFyc2V0ID0gJ3VzLWFzY2lpJwogICAgICAgICAgICAgZXhjZXB0IFVuaWNvZGVFbmNvZGVFcnJvcjoKICAgICAgICAgICAgICAgICBfY2hhcnNldCA9ICd1dGYtOCcKKyAgICAgICAgaWYgaXNpbnN0YW5jZShfY2hhcnNldCwgQ2hhcnNldCk6CisgICAgICAgICAgICBfY2hhcnNldCA9IHN0cihfY2hhcnNldCkKIAogICAgICAgICBNSU1FTm9uTXVsdGlwYXJ0Ll9faW5pdF9fKHNlbGYsICd0ZXh0JywgX3N1YnR5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKip7J2NoYXJzZXQnOiBfY2hhcnNldH0pCmRpZmYgLS1naXQgYS9MaWIvZW5jb2RpbmdzL2NwNjUwMDEucHkgYi9MaWIvZW5jb2RpbmdzL2NwNjUwMDEucHkKaW5kZXggMjg3ZWI4Ny4uOTVjYjJhZSAxMDA2NDQKLS0tIGEvTGliL2VuY29kaW5ncy9jcDY1MDAxLnB5CisrKyBiL0xpYi9lbmNvZGluZ3MvY3A2NTAwMS5weQpAQCAtMTEsMjAgKzExLDIzIEBACiAjIyMgQ29kZWMgQVBJcwogCiBlbmNvZGUgPSBmdW5jdG9vbHMucGFydGlhbChjb2RlY3MuY29kZV9wYWdlX2VuY29kZSwgNjUwMDEpCi1kZWNvZGUgPSBmdW5jdG9vbHMucGFydGlhbChjb2RlY3MuY29kZV9wYWdlX2RlY29kZSwgNjUwMDEpCitfZGVjb2RlID0gZnVuY3Rvb2xzLnBhcnRpYWwoY29kZWNzLmNvZGVfcGFnZV9kZWNvZGUsIDY1MDAxKQorCitkZWYgZGVjb2RlKGlucHV0LCBlcnJvcnM9J3N0cmljdCcpOgorICAgIHJldHVybiBjb2RlY3MuY29kZV9wYWdlX2RlY29kZSg2NTAwMSwgaW5wdXQsIGVycm9ycywgVHJ1ZSkKIAogY2xhc3MgSW5jcmVtZW50YWxFbmNvZGVyKGNvZGVjcy5JbmNyZW1lbnRhbEVuY29kZXIpOgogICAgIGRlZiBlbmNvZGUoc2VsZiwgaW5wdXQsIGZpbmFsPUZhbHNlKToKICAgICAgICAgcmV0dXJuIGVuY29kZShpbnB1dCwgc2VsZi5lcnJvcnMpWzBdCiAKIGNsYXNzIEluY3JlbWVudGFsRGVjb2Rlcihjb2RlY3MuQnVmZmVyZWRJbmNyZW1lbnRhbERlY29kZXIpOgotICAgIF9idWZmZXJfZGVjb2RlID0gZGVjb2RlCisgICAgX2J1ZmZlcl9kZWNvZGUgPSBfZGVjb2RlCiAKIGNsYXNzIFN0cmVhbVdyaXRlcihjb2RlY3MuU3RyZWFtV3JpdGVyKToKICAgICBlbmNvZGUgPSBlbmNvZGUKIAogY2xhc3MgU3RyZWFtUmVhZGVyKGNvZGVjcy5TdHJlYW1SZWFkZXIpOgotICAgIGRlY29kZSA9IGRlY29kZQorICAgIGRlY29kZSA9IF9kZWNvZGUKIAogIyMjIGVuY29kaW5ncyBtb2R1bGUgQVBJCiAKZGlmZiAtLWdpdCBhL0xpYi9lbnVtLnB5IGIvTGliL2VudW0ucHkKaW5kZXggOWIxOWMxZC4uZDc0NGY4ZiAxMDA2NDQKLS0tIGEvTGliL2VudW0ucHkKKysrIGIvTGliL2VudW0ucHkKQEAgLTE5Myw3ICsxOTMsNyBAQAogICAgICAgICAgICAgZW51bV9jbGFzcy5fX25ld19fID0gRW51bS5fX25ld19fCiAgICAgICAgIHJldHVybiBlbnVtX2NsYXNzCiAKLSAgICBkZWYgX19jYWxsX18oY2xzLCB2YWx1ZSwgbmFtZXM9Tm9uZSwgKiwgbW9kdWxlPU5vbmUsIHF1YWxuYW1lPU5vbmUsIHR5cGU9Tm9uZSk6CisgICAgZGVmIF9fY2FsbF9fKGNscywgdmFsdWUsIG5hbWVzPU5vbmUsICosIG1vZHVsZT1Ob25lLCBxdWFsbmFtZT1Ob25lLCB0eXBlPU5vbmUsIHN0YXJ0PTEpOgogICAgICAgICAiIiJFaXRoZXIgcmV0dXJucyBhbiBleGlzdGluZyBtZW1iZXIsIG9yIGNyZWF0ZXMgYSBuZXcgZW51bSBjbGFzcy4KIAogICAgICAgICBUaGlzIG1ldGhvZCBpcyB1c2VkIGJvdGggd2hlbiBhbiBlbnVtIGNsYXNzIGlzIGdpdmVuIGEgdmFsdWUgdG8gbWF0Y2gKQEAgLTIwNSw3ICsyMDUsNyBAQAogICAgICAgICBgdmFsdWVgIHdpbGwgYmUgdGhlIG5hbWUgb2YgdGhlIG5ldyBjbGFzcy4KIAogICAgICAgICBgbmFtZXNgIHNob3VsZCBiZSBlaXRoZXIgYSBzdHJpbmcgb2Ygd2hpdGUtc3BhY2UvY29tbWEgZGVsaW1pdGVkIG5hbWVzCi0gICAgICAgICh2YWx1ZXMgd2lsbCBzdGFydCBhdCAxKSwgb3IgYW4gaXRlcmF0b3IvbWFwcGluZyBvZiBuYW1lLCB2YWx1ZSBwYWlycy4KKyAgICAgICAgKHZhbHVlcyB3aWxsIHN0YXJ0IGF0IGBzdGFydGApLCBvciBhbiBpdGVyYXRvci9tYXBwaW5nIG9mIG5hbWUsIHZhbHVlIHBhaXJzLgogCiAgICAgICAgIGBtb2R1bGVgIHNob3VsZCBiZSBzZXQgdG8gdGhlIG1vZHVsZSB0aGlzIGNsYXNzIGlzIGJlaW5nIGNyZWF0ZWQgaW47CiAgICAgICAgIGlmIGl0IGlzIG5vdCBzZXQsIGFuIGF0dGVtcHQgdG8gZmluZCB0aGF0IG1vZHVsZSB3aWxsIGJlIG1hZGUsIGJ1dCBpZgpAQCAtMjIxLDcgKzIyMSw3IEBACiAgICAgICAgIGlmIG5hbWVzIGlzIE5vbmU6ICAjIHNpbXBsZSB2YWx1ZSBsb29rdXAKICAgICAgICAgICAgIHJldHVybiBjbHMuX19uZXdfXyhjbHMsIHZhbHVlKQogICAgICAgICAjIG90aGVyd2lzZSwgZnVuY3Rpb25hbCBBUEk6IHdlJ3JlIGNyZWF0aW5nIGEgbmV3IEVudW0gdHlwZQotICAgICAgICByZXR1cm4gY2xzLl9jcmVhdGVfKHZhbHVlLCBuYW1lcywgbW9kdWxlPW1vZHVsZSwgcXVhbG5hbWU9cXVhbG5hbWUsIHR5cGU9dHlwZSkKKyAgICAgICAgcmV0dXJuIGNscy5fY3JlYXRlXyh2YWx1ZSwgbmFtZXMsIG1vZHVsZT1tb2R1bGUsIHF1YWxuYW1lPXF1YWxuYW1lLCB0eXBlPXR5cGUsIHN0YXJ0PXN0YXJ0KQogCiAgICAgZGVmIF9fY29udGFpbnNfXyhjbHMsIG1lbWJlcik6CiAgICAgICAgIHJldHVybiBpc2luc3RhbmNlKG1lbWJlciwgY2xzKSBhbmQgbWVtYmVyLl9uYW1lXyBpbiBjbHMuX21lbWJlcl9tYXBfCkBAIC0yOTIsMTYgKzI5MiwxNiBAQAogICAgICAgICAgICAgcmFpc2UgQXR0cmlidXRlRXJyb3IoJ0Nhbm5vdCByZWFzc2lnbiBtZW1iZXJzLicpCiAgICAgICAgIHN1cGVyKCkuX19zZXRhdHRyX18obmFtZSwgdmFsdWUpCiAKLSAgICBkZWYgX2NyZWF0ZV8oY2xzLCBjbGFzc19uYW1lLCBuYW1lcz1Ob25lLCAqLCBtb2R1bGU9Tm9uZSwgcXVhbG5hbWU9Tm9uZSwgdHlwZT1Ob25lKToKKyAgICBkZWYgX2NyZWF0ZV8oY2xzLCBjbGFzc19uYW1lLCBuYW1lcz1Ob25lLCAqLCBtb2R1bGU9Tm9uZSwgcXVhbG5hbWU9Tm9uZSwgdHlwZT1Ob25lLCBzdGFydD0xKToKICAgICAgICAgIiIiQ29udmVuaWVuY2UgbWV0aG9kIHRvIGNyZWF0ZSBhIG5ldyBFbnVtIGNsYXNzLgogCiAgICAgICAgIGBuYW1lc2AgY2FuIGJlOgogCiAgICAgICAgICogQSBzdHJpbmcgY29udGFpbmluZyBtZW1iZXIgbmFtZXMsIHNlcGFyYXRlZCBlaXRoZXIgd2l0aCBzcGFjZXMgb3IKLSAgICAgICAgICBjb21tYXMuICBWYWx1ZXMgYXJlIGF1dG8tbnVtYmVyZWQgZnJvbSAxLgotICAgICAgICAqIEFuIGl0ZXJhYmxlIG9mIG1lbWJlciBuYW1lcy4gIFZhbHVlcyBhcmUgYXV0by1udW1iZXJlZCBmcm9tIDEuCisgICAgICAgICAgY29tbWFzLiAgVmFsdWVzIGFyZSBpbmNyZW1lbnRlZCBieSAxIGZyb20gYHN0YXJ0YC4KKyAgICAgICAgKiBBbiBpdGVyYWJsZSBvZiBtZW1iZXIgbmFtZXMuICBWYWx1ZXMgYXJlIGluY3JlbWVudGVkIGJ5IDEgZnJvbSBgc3RhcnRgLgogICAgICAgICAqIEFuIGl0ZXJhYmxlIG9mIChtZW1iZXIgbmFtZSwgdmFsdWUpIHBhaXJzLgotICAgICAgICAqIEEgbWFwcGluZyBvZiBtZW1iZXIgbmFtZSAtPiB2YWx1ZS4KKyAgICAgICAgKiBBIG1hcHBpbmcgb2YgbWVtYmVyIG5hbWUgLT4gdmFsdWUgcGFpcnMuCiAKICAgICAgICAgIiIiCiAgICAgICAgIG1ldGFjbHMgPSBjbHMuX19jbGFzc19fCkBAIC0zMTIsNyArMzEyLDcgQEAKICAgICAgICAgaWYgaXNpbnN0YW5jZShuYW1lcywgc3RyKToKICAgICAgICAgICAgIG5hbWVzID0gbmFtZXMucmVwbGFjZSgnLCcsICcgJykuc3BsaXQoKQogICAgICAgICBpZiBpc2luc3RhbmNlKG5hbWVzLCAodHVwbGUsIGxpc3QpKSBhbmQgaXNpbnN0YW5jZShuYW1lc1swXSwgc3RyKToKLSAgICAgICAgICAgIG5hbWVzID0gWyhlLCBpKSBmb3IgKGksIGUpIGluIGVudW1lcmF0ZShuYW1lcywgMSldCisgICAgICAgICAgICBuYW1lcyA9IFsoZSwgaSkgZm9yIChpLCBlKSBpbiBlbnVtZXJhdGUobmFtZXMsIHN0YXJ0KV0KIAogICAgICAgICAjIEhlcmUsIG5hbWVzIGlzIGVpdGhlciBhbiBpdGVyYWJsZSBvZiAobmFtZSwgdmFsdWUpIG9yIGEgbWFwcGluZy4KICAgICAgICAgZm9yIGl0ZW0gaW4gbmFtZXM6CkBAIC00NzAsOCArNDcwLDcgQEAKICAgICAgICAgICAgICAgICBmb3IgbSBpbiBjbHMuX19kaWN0X18KICAgICAgICAgICAgICAgICBpZiBtWzBdICE9ICdfJwogICAgICAgICAgICAgICAgIF0KLSAgICAgICAgcmV0dXJuIChbJ19fY2xhc3NfXycsICdfX2RvY19fJywgJ19fbW9kdWxlX18nLCAnbmFtZScsICd2YWx1ZSddICsKLSAgICAgICAgICAgICAgICBhZGRlZF9iZWhhdmlvcikKKyAgICAgICAgcmV0dXJuIChbJ19fY2xhc3NfXycsICdfX2RvY19fJywgJ19fbW9kdWxlX18nXSArIGFkZGVkX2JlaGF2aW9yKQogCiAgICAgZGVmIF9fZm9ybWF0X18oc2VsZiwgZm9ybWF0X3NwZWMpOgogICAgICAgICAjIG1peGVkLWluIEVudW1zIHNob3VsZCB1c2UgdGhlIG1peGVkLWluIHR5cGUncyBfX2Zvcm1hdF9fLCBvdGhlcndpc2UKZGlmZiAtLWdpdCBhL0xpYi9mb3JtYXR0ZXIucHkgYi9MaWIvZm9ybWF0dGVyLnB5CmluZGV4IDkzMzgyNjEuLmNjMmY0YWQgMTAwNjQ0Ci0tLSBhL0xpYi9mb3JtYXR0ZXIucHkKKysrIGIvTGliL2Zvcm1hdHRlci5weQpAQCAtMjEsNyArMjEsNyBAQAogaW1wb3J0IHN5cwogaW1wb3J0IHdhcm5pbmdzCiB3YXJuaW5ncy53YXJuKCd0aGUgZm9ybWF0dGVyIG1vZHVsZSBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gJwotICAgICAgICAgICAgICAnUHl0aG9uIDMuNicsIFBlbmRpbmdEZXByZWNhdGlvbldhcm5pbmcpCisgICAgICAgICAgICAgICdQeXRob24gMy42JywgRGVwcmVjYXRpb25XYXJuaW5nKQogCiAKIEFTX0lTID0gTm9uZQpkaWZmIC0tZ2l0IGEvTGliL2ZyYWN0aW9ucy5weSBiL0xpYi9mcmFjdGlvbnMucHkKaW5kZXggNzllODNmZi4uNWRkYzg0YyAxMDA2NDQKLS0tIGEvTGliL2ZyYWN0aW9ucy5weQorKysgYi9MaWIvZnJhY3Rpb25zLnB5CkBAIC03MCw3ICs3MCw3IEBACiAgICAgX19zbG90c19fID0gKCdfbnVtZXJhdG9yJywgJ19kZW5vbWluYXRvcicpCiAKICAgICAjIFdlJ3JlIGltbXV0YWJsZSwgc28gdXNlIF9fbmV3X18gbm90IF9faW5pdF9fCi0gICAgZGVmIF9fbmV3X18oY2xzLCBudW1lcmF0b3I9MCwgZGVub21pbmF0b3I9Tm9uZSk6CisgICAgZGVmIF9fbmV3X18oY2xzLCBudW1lcmF0b3I9MCwgZGVub21pbmF0b3I9Tm9uZSwgX25vcm1hbGl6ZT1UcnVlKToKICAgICAgICAgIiIiQ29uc3RydWN0cyBhIFJhdGlvbmFsLgogCiAgICAgICAgIFRha2VzIGEgc3RyaW5nIGxpa2UgJzMvMicgb3IgJzEuNScsIGFub3RoZXIgUmF0aW9uYWwgaW5zdGFuY2UsIGEKQEAgLTEwNCw3ICsxMDQsMTIgQEAKICAgICAgICAgc2VsZiA9IHN1cGVyKEZyYWN0aW9uLCBjbHMpLl9fbmV3X18oY2xzKQogCiAgICAgICAgIGlmIGRlbm9taW5hdG9yIGlzIE5vbmU6Ci0gICAgICAgICAgICBpZiBpc2luc3RhbmNlKG51bWVyYXRvciwgbnVtYmVycy5SYXRpb25hbCk6CisgICAgICAgICAgICBpZiB0eXBlKG51bWVyYXRvcikgaXMgaW50OgorICAgICAgICAgICAgICAgIHNlbGYuX251bWVyYXRvciA9IG51bWVyYXRvcgorICAgICAgICAgICAgICAgIHNlbGYuX2Rlbm9taW5hdG9yID0gMQorICAgICAgICAgICAgICAgIHJldHVybiBzZWxmCisKKyAgICAgICAgICAgIGVsaWYgaXNpbnN0YW5jZShudW1lcmF0b3IsIG51bWJlcnMuUmF0aW9uYWwpOgogICAgICAgICAgICAgICAgIHNlbGYuX251bWVyYXRvciA9IG51bWVyYXRvci5udW1lcmF0b3IKICAgICAgICAgICAgICAgICBzZWxmLl9kZW5vbWluYXRvciA9IG51bWVyYXRvci5kZW5vbWluYXRvcgogICAgICAgICAgICAgICAgIHJldHVybiBzZWxmCkBAIC0xNTMsNiArMTU4LDkgQEAKICAgICAgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoImFyZ3VtZW50IHNob3VsZCBiZSBhIHN0cmluZyAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvciBhIFJhdGlvbmFsIGluc3RhbmNlIikKIAorICAgICAgICBlbGlmIHR5cGUobnVtZXJhdG9yKSBpcyBpbnQgaXMgdHlwZShkZW5vbWluYXRvcik6CisgICAgICAgICAgICBwYXNzICAjICp2ZXJ5KiBub3JtYWwgY2FzZQorCiAgICAgICAgIGVsaWYgKGlzaW5zdGFuY2UobnVtZXJhdG9yLCBudW1iZXJzLlJhdGlvbmFsKSBhbmQKICAgICAgICAgICAgIGlzaW5zdGFuY2UoZGVub21pbmF0b3IsIG51bWJlcnMuUmF0aW9uYWwpKToKICAgICAgICAgICAgIG51bWVyYXRvciwgZGVub21pbmF0b3IgPSAoCkBAIC0xNjUsOSArMTczLDEyIEBACiAKICAgICAgICAgaWYgZGVub21pbmF0b3IgPT0gMDoKICAgICAgICAgICAgIHJhaXNlIFplcm9EaXZpc2lvbkVycm9yKCdGcmFjdGlvbiglcywgMCknICUgbnVtZXJhdG9yKQotICAgICAgICBnID0gZ2NkKG51bWVyYXRvciwgZGVub21pbmF0b3IpCi0gICAgICAgIHNlbGYuX251bWVyYXRvciA9IG51bWVyYXRvciAvLyBnCi0gICAgICAgIHNlbGYuX2Rlbm9taW5hdG9yID0gZGVub21pbmF0b3IgLy8gZworICAgICAgICBpZiBfbm9ybWFsaXplOgorICAgICAgICAgICAgZyA9IGdjZChudW1lcmF0b3IsIGRlbm9taW5hdG9yKQorICAgICAgICAgICAgbnVtZXJhdG9yIC8vPSBnCisgICAgICAgICAgICBkZW5vbWluYXRvciAvLz0gZworICAgICAgICBzZWxmLl9udW1lcmF0b3IgPSBudW1lcmF0b3IKKyAgICAgICAgc2VsZi5fZGVub21pbmF0b3IgPSBkZW5vbWluYXRvcgogICAgICAgICByZXR1cm4gc2VsZgogCiAgICAgQGNsYXNzbWV0aG9kCkBAIC0yNzcsNyArMjg4LDggQEAKIAogICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKICAgICAgICAgIiIicmVwcihzZWxmKSIiIgotICAgICAgICByZXR1cm4gKCdGcmFjdGlvbiglcywgJXMpJyAlIChzZWxmLl9udW1lcmF0b3IsIHNlbGYuX2Rlbm9taW5hdG9yKSkKKyAgICAgICAgcmV0dXJuICclcyglcywgJXMpJyAlIChzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9udW1lcmF0b3IsIHNlbGYuX2Rlbm9taW5hdG9yKQogCiAgICAgZGVmIF9fc3RyX18oc2VsZik6CiAgICAgICAgICIiInN0cihzZWxmKSIiIgpAQCAtMzk1LDE3ICs0MDcsMTcgQEAKIAogICAgIGRlZiBfYWRkKGEsIGIpOgogICAgICAgICAiIiJhICsgYiIiIgotICAgICAgICByZXR1cm4gRnJhY3Rpb24oYS5udW1lcmF0b3IgKiBiLmRlbm9taW5hdG9yICsKLSAgICAgICAgICAgICAgICAgICAgICAgIGIubnVtZXJhdG9yICogYS5kZW5vbWluYXRvciwKLSAgICAgICAgICAgICAgICAgICAgICAgIGEuZGVub21pbmF0b3IgKiBiLmRlbm9taW5hdG9yKQorICAgICAgICBkYSwgZGIgPSBhLmRlbm9taW5hdG9yLCBiLmRlbm9taW5hdG9yCisgICAgICAgIHJldHVybiBGcmFjdGlvbihhLm51bWVyYXRvciAqIGRiICsgYi5udW1lcmF0b3IgKiBkYSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGRhICogZGIpCiAKICAgICBfX2FkZF9fLCBfX3JhZGRfXyA9IF9vcGVyYXRvcl9mYWxsYmFja3MoX2FkZCwgb3BlcmF0b3IuYWRkKQogCiAgICAgZGVmIF9zdWIoYSwgYik6CiAgICAgICAgICIiImEgLSBiIiIiCi0gICAgICAgIHJldHVybiBGcmFjdGlvbihhLm51bWVyYXRvciAqIGIuZGVub21pbmF0b3IgLQotICAgICAgICAgICAgICAgICAgICAgICAgYi5udW1lcmF0b3IgKiBhLmRlbm9taW5hdG9yLAotICAgICAgICAgICAgICAgICAgICAgICAgYS5kZW5vbWluYXRvciAqIGIuZGVub21pbmF0b3IpCisgICAgICAgIGRhLCBkYiA9IGEuZGVub21pbmF0b3IsIGIuZGVub21pbmF0b3IKKyAgICAgICAgcmV0dXJuIEZyYWN0aW9uKGEubnVtZXJhdG9yICogZGIgLSBiLm51bWVyYXRvciAqIGRhLAorICAgICAgICAgICAgICAgICAgICAgICAgZGEgKiBkYikKIAogICAgIF9fc3ViX18sIF9fcnN1Yl9fID0gX29wZXJhdG9yX2ZhbGxiYWNrcyhfc3ViLCBvcGVyYXRvci5zdWIpCiAKQEAgLTQ1MywxMCArNDY1LDEyIEBACiAgICAgICAgICAgICAgICAgcG93ZXIgPSBiLm51bWVyYXRvcgogICAgICAgICAgICAgICAgIGlmIHBvd2VyID49IDA6CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBGcmFjdGlvbihhLl9udW1lcmF0b3IgKiogcG93ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhLl9kZW5vbWluYXRvciAqKiBwb3dlcikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEuX2Rlbm9taW5hdG9yICoqIHBvd2VyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX25vcm1hbGl6ZT1GYWxzZSkKICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICByZXR1cm4gRnJhY3Rpb24oYS5fZGVub21pbmF0b3IgKiogLXBvd2VyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYS5fbnVtZXJhdG9yICoqIC1wb3dlcikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEuX251bWVyYXRvciAqKiAtcG93ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfbm9ybWFsaXplPUZhbHNlKQogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAjIEEgZnJhY3Rpb25hbCBwb3dlciB3aWxsIGdlbmVyYWxseSBwcm9kdWNlIGFuCiAgICAgICAgICAgICAgICAgIyBpcnJhdGlvbmFsIG51bWJlci4KQEAgLTQ4MCwxNSArNDk0LDE1IEBACiAKICAgICBkZWYgX19wb3NfXyhhKToKICAgICAgICAgIiIiK2E6IENvZXJjZXMgYSBzdWJjbGFzcyBpbnN0YW5jZSB0byBGcmFjdGlvbiIiIgotICAgICAgICByZXR1cm4gRnJhY3Rpb24oYS5fbnVtZXJhdG9yLCBhLl9kZW5vbWluYXRvcikKKyAgICAgICAgcmV0dXJuIEZyYWN0aW9uKGEuX251bWVyYXRvciwgYS5fZGVub21pbmF0b3IsIF9ub3JtYWxpemU9RmFsc2UpCiAKICAgICBkZWYgX19uZWdfXyhhKToKICAgICAgICAgIiIiLWEiIiIKLSAgICAgICAgcmV0dXJuIEZyYWN0aW9uKC1hLl9udW1lcmF0b3IsIGEuX2Rlbm9taW5hdG9yKQorICAgICAgICByZXR1cm4gRnJhY3Rpb24oLWEuX251bWVyYXRvciwgYS5fZGVub21pbmF0b3IsIF9ub3JtYWxpemU9RmFsc2UpCiAKICAgICBkZWYgX19hYnNfXyhhKToKICAgICAgICAgIiIiYWJzKGEpIiIiCi0gICAgICAgIHJldHVybiBGcmFjdGlvbihhYnMoYS5fbnVtZXJhdG9yKSwgYS5fZGVub21pbmF0b3IpCisgICAgICAgIHJldHVybiBGcmFjdGlvbihhYnMoYS5fbnVtZXJhdG9yKSwgYS5fZGVub21pbmF0b3IsIF9ub3JtYWxpemU9RmFsc2UpCiAKICAgICBkZWYgX190cnVuY19fKGEpOgogICAgICAgICAiIiJ0cnVuYyhhKSIiIgpAQCAtNTU1LDYgKzU2OSw4IEBACiAKICAgICBkZWYgX19lcV9fKGEsIGIpOgogICAgICAgICAiIiJhID09IGIiIiIKKyAgICAgICAgaWYgdHlwZShiKSBpcyBpbnQ6CisgICAgICAgICAgICByZXR1cm4gYS5fbnVtZXJhdG9yID09IGIgYW5kIGEuX2Rlbm9taW5hdG9yID09IDEKICAgICAgICAgaWYgaXNpbnN0YW5jZShiLCBudW1iZXJzLlJhdGlvbmFsKToKICAgICAgICAgICAgIHJldHVybiAoYS5fbnVtZXJhdG9yID09IGIubnVtZXJhdG9yIGFuZAogICAgICAgICAgICAgICAgICAgICBhLl9kZW5vbWluYXRvciA9PSBiLmRlbm9taW5hdG9yKQpkaWZmIC0tZ2l0IGEvTGliL2Z0cGxpYi5weSBiL0xpYi9mdHBsaWIucHkKaW5kZXggY2Q4YzFhOS4uMTM1ZWM5YyAxMDA2NDQKLS0tIGEvTGliL2Z0cGxpYi5weQorKysgYi9MaWIvZnRwbGliLnB5CkBAIC00Miw3ICs0Miw3IEBACiBpbXBvcnQgd2FybmluZ3MKIGZyb20gc29ja2V0IGltcG9ydCBfR0xPQkFMX0RFRkFVTFRfVElNRU9VVAogCi1fX2FsbF9fID0gWyJGVFAiLCAiTmV0cmMiXQorX19hbGxfXyA9IFsiRlRQIl0KIAogIyBNYWdpYyBudW1iZXIgZnJvbSA8c29ja2V0Lmg+CiBNU0dfT09CID0gMHgxICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBQcm9jZXNzIGRhdGEgb3V0IG9mIGJhbmQKQEAgLTkxOCwxMTUgKzkxOCw2IEBACiAgICAgdGFyZ2V0LnZvaWRyZXNwKCkKIAogCi1jbGFzcyBOZXRyYzoKLSAgICAiIiJDbGFzcyB0byBwYXJzZSAmIHByb3ZpZGUgYWNjZXNzIHRvICduZXRyYycgZm9ybWF0IGZpbGVzLgotCi0gICAgU2VlIHRoZSBuZXRyYyg0KSBtYW4gcGFnZSBmb3IgaW5mb3JtYXRpb24gb24gdGhlIGZpbGUgZm9ybWF0LgotCi0gICAgV0FSTklORzogVGhpcyBjbGFzcyBpcyBvYnNvbGV0ZSAtLSB1c2UgbW9kdWxlIG5ldHJjIGluc3RlYWQuCi0KLSAgICAiIiIKLSAgICBfX2RlZnVzZXIgPSBOb25lCi0gICAgX19kZWZwYXNzd2QgPSBOb25lCi0gICAgX19kZWZhY2N0ID0gTm9uZQotCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGZpbGVuYW1lPU5vbmUpOgotICAgICAgICB3YXJuaW5ncy53YXJuKCJUaGlzIGNsYXNzIGlzIGRlcHJlY2F0ZWQsIHVzZSB0aGUgbmV0cmMgbW9kdWxlIGluc3RlYWQiLAotICAgICAgICAgICAgICAgICAgICAgIERlcHJlY2F0aW9uV2FybmluZywgMikKLSAgICAgICAgaWYgZmlsZW5hbWUgaXMgTm9uZToKLSAgICAgICAgICAgIGlmICJIT01FIiBpbiBvcy5lbnZpcm9uOgotICAgICAgICAgICAgICAgIGZpbGVuYW1lID0gb3MucGF0aC5qb2luKG9zLmVudmlyb25bIkhPTUUiXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLm5ldHJjIikKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmFpc2UgT1NFcnJvcigic3BlY2lmeSBmaWxlIHRvIGxvYWQgb3Igc2V0ICRIT01FIikKLSAgICAgICAgc2VsZi5fX2hvc3RzID0ge30KLSAgICAgICAgc2VsZi5fX21hY3JvcyA9IHt9Ci0gICAgICAgIGZwID0gb3BlbihmaWxlbmFtZSwgInIiKQotICAgICAgICBpbl9tYWNybyA9IDAKLSAgICAgICAgd2hpbGUgMToKLSAgICAgICAgICAgIGxpbmUgPSBmcC5yZWFkbGluZSgpCi0gICAgICAgICAgICBpZiBub3QgbGluZToKLSAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgaWYgaW5fbWFjcm8gYW5kIGxpbmUuc3RyaXAoKToKLSAgICAgICAgICAgICAgICBtYWNyb19saW5lcy5hcHBlbmQobGluZSkKLSAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgZWxpZiBpbl9tYWNybzoKLSAgICAgICAgICAgICAgICBzZWxmLl9fbWFjcm9zW21hY3JvX25hbWVdID0gdHVwbGUobWFjcm9fbGluZXMpCi0gICAgICAgICAgICAgICAgaW5fbWFjcm8gPSAwCi0gICAgICAgICAgICB3b3JkcyA9IGxpbmUuc3BsaXQoKQotICAgICAgICAgICAgaG9zdCA9IHVzZXIgPSBwYXNzd2QgPSBhY2N0ID0gTm9uZQotICAgICAgICAgICAgZGVmYXVsdCA9IDAKLSAgICAgICAgICAgIGkgPSAwCi0gICAgICAgICAgICB3aGlsZSBpIDwgbGVuKHdvcmRzKToKLSAgICAgICAgICAgICAgICB3MSA9IHdvcmRzW2ldCi0gICAgICAgICAgICAgICAgaWYgaSsxIDwgbGVuKHdvcmRzKToKLSAgICAgICAgICAgICAgICAgICAgdzIgPSB3b3Jkc1tpICsgMV0KLSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICB3MiA9IE5vbmUKLSAgICAgICAgICAgICAgICBpZiB3MSA9PSAnZGVmYXVsdCc6Ci0gICAgICAgICAgICAgICAgICAgIGRlZmF1bHQgPSAxCi0gICAgICAgICAgICAgICAgZWxpZiB3MSA9PSAnbWFjaGluZScgYW5kIHcyOgotICAgICAgICAgICAgICAgICAgICBob3N0ID0gdzIubG93ZXIoKQotICAgICAgICAgICAgICAgICAgICBpID0gaSArIDEKLSAgICAgICAgICAgICAgICBlbGlmIHcxID09ICdsb2dpbicgYW5kIHcyOgotICAgICAgICAgICAgICAgICAgICB1c2VyID0gdzIKLSAgICAgICAgICAgICAgICAgICAgaSA9IGkgKyAxCi0gICAgICAgICAgICAgICAgZWxpZiB3MSA9PSAncGFzc3dvcmQnIGFuZCB3MjoKLSAgICAgICAgICAgICAgICAgICAgcGFzc3dkID0gdzIKLSAgICAgICAgICAgICAgICAgICAgaSA9IGkgKyAxCi0gICAgICAgICAgICAgICAgZWxpZiB3MSA9PSAnYWNjb3VudCcgYW5kIHcyOgotICAgICAgICAgICAgICAgICAgICBhY2N0ID0gdzIKLSAgICAgICAgICAgICAgICAgICAgaSA9IGkgKyAxCi0gICAgICAgICAgICAgICAgZWxpZiB3MSA9PSAnbWFjZGVmJyBhbmQgdzI6Ci0gICAgICAgICAgICAgICAgICAgIG1hY3JvX25hbWUgPSB3MgotICAgICAgICAgICAgICAgICAgICBtYWNyb19saW5lcyA9IFtdCi0gICAgICAgICAgICAgICAgICAgIGluX21hY3JvID0gMQotICAgICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgICAgIGkgPSBpICsgMQotICAgICAgICAgICAgaWYgZGVmYXVsdDoKLSAgICAgICAgICAgICAgICBzZWxmLl9fZGVmdXNlciA9IHVzZXIgb3Igc2VsZi5fX2RlZnVzZXIKLSAgICAgICAgICAgICAgICBzZWxmLl9fZGVmcGFzc3dkID0gcGFzc3dkIG9yIHNlbGYuX19kZWZwYXNzd2QKLSAgICAgICAgICAgICAgICBzZWxmLl9fZGVmYWNjdCA9IGFjY3Qgb3Igc2VsZi5fX2RlZmFjY3QKLSAgICAgICAgICAgIGlmIGhvc3Q6Ci0gICAgICAgICAgICAgICAgaWYgaG9zdCBpbiBzZWxmLl9faG9zdHM6Ci0gICAgICAgICAgICAgICAgICAgIG91c2VyLCBvcGFzc3dkLCBvYWNjdCA9IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX19ob3N0c1tob3N0XQotICAgICAgICAgICAgICAgICAgICB1c2VyID0gdXNlciBvciBvdXNlcgotICAgICAgICAgICAgICAgICAgICBwYXNzd2QgPSBwYXNzd2Qgb3Igb3Bhc3N3ZAotICAgICAgICAgICAgICAgICAgICBhY2N0ID0gYWNjdCBvciBvYWNjdAotICAgICAgICAgICAgICAgIHNlbGYuX19ob3N0c1tob3N0XSA9IHVzZXIsIHBhc3N3ZCwgYWNjdAotICAgICAgICBmcC5jbG9zZSgpCi0KLSAgICBkZWYgZ2V0X2hvc3RzKHNlbGYpOgotICAgICAgICAiIiJSZXR1cm4gYSBsaXN0IG9mIGhvc3RzIG1lbnRpb25lZCBpbiB0aGUgLm5ldHJjIGZpbGUuIiIiCi0gICAgICAgIHJldHVybiBzZWxmLl9faG9zdHMua2V5cygpCi0KLSAgICBkZWYgZ2V0X2FjY291bnQoc2VsZiwgaG9zdCk6Ci0gICAgICAgICIiIlJldHVybnMgbG9naW4gaW5mb3JtYXRpb24gZm9yIHRoZSBuYW1lZCBob3N0LgotCi0gICAgICAgIFRoZSByZXR1cm4gdmFsdWUgaXMgYSB0cmlwbGUgY29udGFpbmluZyB1c2VyaWQsCi0gICAgICAgIHBhc3N3b3JkLCBhbmQgdGhlIGFjY291bnRpbmcgZmllbGQuCi0KLSAgICAgICAgIiIiCi0gICAgICAgIGhvc3QgPSBob3N0Lmxvd2VyKCkKLSAgICAgICAgdXNlciA9IHBhc3N3ZCA9IGFjY3QgPSBOb25lCi0gICAgICAgIGlmIGhvc3QgaW4gc2VsZi5fX2hvc3RzOgotICAgICAgICAgICAgdXNlciwgcGFzc3dkLCBhY2N0ID0gc2VsZi5fX2hvc3RzW2hvc3RdCi0gICAgICAgIHVzZXIgPSB1c2VyIG9yIHNlbGYuX19kZWZ1c2VyCi0gICAgICAgIHBhc3N3ZCA9IHBhc3N3ZCBvciBzZWxmLl9fZGVmcGFzc3dkCi0gICAgICAgIGFjY3QgPSBhY2N0IG9yIHNlbGYuX19kZWZhY2N0Ci0gICAgICAgIHJldHVybiB1c2VyLCBwYXNzd2QsIGFjY3QKLQotICAgIGRlZiBnZXRfbWFjcm9zKHNlbGYpOgotICAgICAgICAiIiJSZXR1cm4gYSBsaXN0IG9mIGFsbCBkZWZpbmVkIG1hY3JvIG5hbWVzLiIiIgotICAgICAgICByZXR1cm4gc2VsZi5fX21hY3Jvcy5rZXlzKCkKLQotICAgIGRlZiBnZXRfbWFjcm8oc2VsZiwgbWFjcm8pOgotICAgICAgICAiIiJSZXR1cm4gYSBzZXF1ZW5jZSBvZiBsaW5lcyB3aGljaCBkZWZpbmUgYSBuYW1lZCBtYWNyby4iIiIKLSAgICAgICAgcmV0dXJuIHNlbGYuX19tYWNyb3NbbWFjcm9dCi0KLQotCiBkZWYgdGVzdCgpOgogICAgICcnJ1Rlc3QgcHJvZ3JhbS4KICAgICBVc2FnZTogZnRwIFstZF0gWy1yW2ZpbGVdXSBob3N0IFstbFtkaXJdXSBbLWRbZGlyXV0gWy1wXSBbZmlsZV0gLi4uCkBAIC0xMDQwLDYgKzkzMSw4IEBACiAgICAgICAgIHByaW50KHRlc3QuX19kb2NfXykKICAgICAgICAgc3lzLmV4aXQoMCkKIAorICAgIGltcG9ydCBuZXRyYworCiAgICAgZGVidWdnaW5nID0gMAogICAgIHJjZmlsZSA9IE5vbmUKICAgICB3aGlsZSBzeXMuYXJndlsxXSA9PSAnLWQnOgpAQCAtMTA1NCwxNCArOTQ3LDE0IEBACiAgICAgZnRwLnNldF9kZWJ1Z2xldmVsKGRlYnVnZ2luZykKICAgICB1c2VyaWQgPSBwYXNzd2QgPSBhY2N0ID0gJycKICAgICB0cnk6Ci0gICAgICAgIG5ldHJjID0gTmV0cmMocmNmaWxlKQorICAgICAgICBuZXRyY29iaiA9IG5ldHJjLm5ldHJjKHJjZmlsZSkKICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgaWYgcmNmaWxlIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgiQ291bGQgbm90IG9wZW4gYWNjb3VudCBmaWxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIC0tIHVzaW5nIGFub255bW91cyBsb2dpbi4iKQogICAgIGVsc2U6CiAgICAgICAgIHRyeToKLSAgICAgICAgICAgIHVzZXJpZCwgcGFzc3dkLCBhY2N0ID0gbmV0cmMuZ2V0X2FjY291bnQoaG9zdCkKKyAgICAgICAgICAgIHVzZXJpZCwgYWNjdCwgcGFzc3dkID0gbmV0cmNvYmouYXV0aGVudGljYXRvcnMoaG9zdCkKICAgICAgICAgZXhjZXB0IEtleUVycm9yOgogICAgICAgICAgICAgIyBubyBhY2NvdW50IGZvciBob3N0CiAgICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRlKApkaWZmIC0tZ2l0IGEvTGliL2Z1bmN0b29scy5weSBiL0xpYi9mdW5jdG9vbHMucHkKaW5kZXggM2U5M2EzZC4uMjBhMjZmOSAxMDA2NDQKLS0tIGEvTGliL2Z1bmN0b29scy5weQorKysgYi9MaWIvZnVuY3Rvb2xzLnB5CkBAIC05OCw3ICs5OCw3IEBACiAgICAgJ1JldHVybiBhID4gYi4gIENvbXB1dGVkIGJ5IEB0b3RhbF9vcmRlcmluZyBmcm9tIChub3QgYSA8IGIpIGFuZCAoYSAhPSBiKS4nCiAgICAgb3BfcmVzdWx0ID0gc2VsZi5fX2x0X18ob3RoZXIpCiAgICAgaWYgb3BfcmVzdWx0IGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICByZXR1cm4gTm90SW1wbGVtZW50ZWQKKyAgICAgICAgcmV0dXJuIG9wX3Jlc3VsdAogICAgIHJldHVybiBub3Qgb3BfcmVzdWx0IGFuZCBzZWxmICE9IG90aGVyCiAKIGRlZiBfbGVfZnJvbV9sdChzZWxmLCBvdGhlcik6CkBAIC0xMTAsMzUgKzExMCwzNSBAQAogICAgICdSZXR1cm4gYSA+PSBiLiAgQ29tcHV0ZWQgYnkgQHRvdGFsX29yZGVyaW5nIGZyb20gKG5vdCBhIDwgYikuJwogICAgIG9wX3Jlc3VsdCA9IHNlbGYuX19sdF9fKG90aGVyKQogICAgIGlmIG9wX3Jlc3VsdCBpcyBOb3RJbXBsZW1lbnRlZDoKLSAgICAgICAgcmV0dXJuIE5vdEltcGxlbWVudGVkCisgICAgICAgIHJldHVybiBvcF9yZXN1bHQKICAgICByZXR1cm4gbm90IG9wX3Jlc3VsdAogCiBkZWYgX2dlX2Zyb21fbGUoc2VsZiwgb3RoZXIpOgogICAgICdSZXR1cm4gYSA+PSBiLiAgQ29tcHV0ZWQgYnkgQHRvdGFsX29yZGVyaW5nIGZyb20gKG5vdCBhIDw9IGIpIG9yIChhID09IGIpLicKICAgICBvcF9yZXN1bHQgPSBzZWxmLl9fbGVfXyhvdGhlcikKICAgICBpZiBvcF9yZXN1bHQgaXMgTm90SW1wbGVtZW50ZWQ6Ci0gICAgICAgIHJldHVybiBOb3RJbXBsZW1lbnRlZAorICAgICAgICByZXR1cm4gb3BfcmVzdWx0CiAgICAgcmV0dXJuIG5vdCBvcF9yZXN1bHQgb3Igc2VsZiA9PSBvdGhlcgogCiBkZWYgX2x0X2Zyb21fbGUoc2VsZiwgb3RoZXIpOgogICAgICdSZXR1cm4gYSA8IGIuICBDb21wdXRlZCBieSBAdG90YWxfb3JkZXJpbmcgZnJvbSAoYSA8PSBiKSBhbmQgKGEgIT0gYikuJwogICAgIG9wX3Jlc3VsdCA9IHNlbGYuX19sZV9fKG90aGVyKQogICAgIGlmIG9wX3Jlc3VsdCBpcyBOb3RJbXBsZW1lbnRlZDoKLSAgICAgICAgcmV0dXJuIE5vdEltcGxlbWVudGVkCisgICAgICAgIHJldHVybiBvcF9yZXN1bHQKICAgICByZXR1cm4gb3BfcmVzdWx0IGFuZCBzZWxmICE9IG90aGVyCiAKIGRlZiBfZ3RfZnJvbV9sZShzZWxmLCBvdGhlcik6CiAgICAgJ1JldHVybiBhID4gYi4gIENvbXB1dGVkIGJ5IEB0b3RhbF9vcmRlcmluZyBmcm9tIChub3QgYSA8PSBiKS4nCiAgICAgb3BfcmVzdWx0ID0gc2VsZi5fX2xlX18ob3RoZXIpCiAgICAgaWYgb3BfcmVzdWx0IGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICByZXR1cm4gTm90SW1wbGVtZW50ZWQKKyAgICAgICAgcmV0dXJuIG9wX3Jlc3VsdAogICAgIHJldHVybiBub3Qgb3BfcmVzdWx0CiAKIGRlZiBfbHRfZnJvbV9ndChzZWxmLCBvdGhlcik6CiAgICAgJ1JldHVybiBhIDwgYi4gIENvbXB1dGVkIGJ5IEB0b3RhbF9vcmRlcmluZyBmcm9tIChub3QgYSA+IGIpIGFuZCAoYSAhPSBiKS4nCiAgICAgb3BfcmVzdWx0ID0gc2VsZi5fX2d0X18ob3RoZXIpCiAgICAgaWYgb3BfcmVzdWx0IGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICByZXR1cm4gTm90SW1wbGVtZW50ZWQKKyAgICAgICAgcmV0dXJuIG9wX3Jlc3VsdAogICAgIHJldHVybiBub3Qgb3BfcmVzdWx0IGFuZCBzZWxmICE9IG90aGVyCiAKIGRlZiBfZ2VfZnJvbV9ndChzZWxmLCBvdGhlcik6CkBAIC0xNTAsNTIgKzE1MCw1MyBAQAogICAgICdSZXR1cm4gYSA8PSBiLiAgQ29tcHV0ZWQgYnkgQHRvdGFsX29yZGVyaW5nIGZyb20gKG5vdCBhID4gYikuJwogICAgIG9wX3Jlc3VsdCA9IHNlbGYuX19ndF9fKG90aGVyKQogICAgIGlmIG9wX3Jlc3VsdCBpcyBOb3RJbXBsZW1lbnRlZDoKLSAgICAgICAgcmV0dXJuIE5vdEltcGxlbWVudGVkCisgICAgICAgIHJldHVybiBvcF9yZXN1bHQKICAgICByZXR1cm4gbm90IG9wX3Jlc3VsdAogCiBkZWYgX2xlX2Zyb21fZ2Uoc2VsZiwgb3RoZXIpOgogICAgICdSZXR1cm4gYSA8PSBiLiAgQ29tcHV0ZWQgYnkgQHRvdGFsX29yZGVyaW5nIGZyb20gKG5vdCBhID49IGIpIG9yIChhID09IGIpLicKICAgICBvcF9yZXN1bHQgPSBzZWxmLl9fZ2VfXyhvdGhlcikKICAgICBpZiBvcF9yZXN1bHQgaXMgTm90SW1wbGVtZW50ZWQ6Ci0gICAgICAgIHJldHVybiBOb3RJbXBsZW1lbnRlZAorICAgICAgICByZXR1cm4gb3BfcmVzdWx0CiAgICAgcmV0dXJuIG5vdCBvcF9yZXN1bHQgb3Igc2VsZiA9PSBvdGhlcgogCiBkZWYgX2d0X2Zyb21fZ2Uoc2VsZiwgb3RoZXIpOgogICAgICdSZXR1cm4gYSA+IGIuICBDb21wdXRlZCBieSBAdG90YWxfb3JkZXJpbmcgZnJvbSAoYSA+PSBiKSBhbmQgKGEgIT0gYikuJwogICAgIG9wX3Jlc3VsdCA9IHNlbGYuX19nZV9fKG90aGVyKQogICAgIGlmIG9wX3Jlc3VsdCBpcyBOb3RJbXBsZW1lbnRlZDoKLSAgICAgICAgcmV0dXJuIE5vdEltcGxlbWVudGVkCisgICAgICAgIHJldHVybiBvcF9yZXN1bHQKICAgICByZXR1cm4gb3BfcmVzdWx0IGFuZCBzZWxmICE9IG90aGVyCiAKIGRlZiBfbHRfZnJvbV9nZShzZWxmLCBvdGhlcik6CiAgICAgJ1JldHVybiBhIDwgYi4gIENvbXB1dGVkIGJ5IEB0b3RhbF9vcmRlcmluZyBmcm9tIChub3QgYSA+PSBiKS4nCiAgICAgb3BfcmVzdWx0ID0gc2VsZi5fX2dlX18ob3RoZXIpCiAgICAgaWYgb3BfcmVzdWx0IGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICByZXR1cm4gTm90SW1wbGVtZW50ZWQKKyAgICAgICAgcmV0dXJuIG9wX3Jlc3VsdAogICAgIHJldHVybiBub3Qgb3BfcmVzdWx0CiAKK19jb252ZXJ0ID0geworICAgICdfX2x0X18nOiBbKCdfX2d0X18nLCBfZ3RfZnJvbV9sdCksCisgICAgICAgICAgICAgICAoJ19fbGVfXycsIF9sZV9mcm9tX2x0KSwKKyAgICAgICAgICAgICAgICgnX19nZV9fJywgX2dlX2Zyb21fbHQpXSwKKyAgICAnX19sZV9fJzogWygnX19nZV9fJywgX2dlX2Zyb21fbGUpLAorICAgICAgICAgICAgICAgKCdfX2x0X18nLCBfbHRfZnJvbV9sZSksCisgICAgICAgICAgICAgICAoJ19fZ3RfXycsIF9ndF9mcm9tX2xlKV0sCisgICAgJ19fZ3RfXyc6IFsoJ19fbHRfXycsIF9sdF9mcm9tX2d0KSwKKyAgICAgICAgICAgICAgICgnX19nZV9fJywgX2dlX2Zyb21fZ3QpLAorICAgICAgICAgICAgICAgKCdfX2xlX18nLCBfbGVfZnJvbV9ndCldLAorICAgICdfX2dlX18nOiBbKCdfX2xlX18nLCBfbGVfZnJvbV9nZSksCisgICAgICAgICAgICAgICAoJ19fZ3RfXycsIF9ndF9mcm9tX2dlKSwKKyAgICAgICAgICAgICAgICgnX19sdF9fJywgX2x0X2Zyb21fZ2UpXQorfQorCiBkZWYgdG90YWxfb3JkZXJpbmcoY2xzKToKICAgICAiIiJDbGFzcyBkZWNvcmF0b3IgdGhhdCBmaWxscyBpbiBtaXNzaW5nIG9yZGVyaW5nIG1ldGhvZHMiIiIKLSAgICBjb252ZXJ0ID0gewotICAgICAgICAnX19sdF9fJzogWygnX19ndF9fJywgX2d0X2Zyb21fbHQpLAotICAgICAgICAgICAgICAgICAgICgnX19sZV9fJywgX2xlX2Zyb21fbHQpLAotICAgICAgICAgICAgICAgICAgICgnX19nZV9fJywgX2dlX2Zyb21fbHQpXSwKLSAgICAgICAgJ19fbGVfXyc6IFsoJ19fZ2VfXycsIF9nZV9mcm9tX2xlKSwKLSAgICAgICAgICAgICAgICAgICAoJ19fbHRfXycsIF9sdF9mcm9tX2xlKSwKLSAgICAgICAgICAgICAgICAgICAoJ19fZ3RfXycsIF9ndF9mcm9tX2xlKV0sCi0gICAgICAgICdfX2d0X18nOiBbKCdfX2x0X18nLCBfbHRfZnJvbV9ndCksCi0gICAgICAgICAgICAgICAgICAgKCdfX2dlX18nLCBfZ2VfZnJvbV9ndCksCi0gICAgICAgICAgICAgICAgICAgKCdfX2xlX18nLCBfbGVfZnJvbV9ndCldLAotICAgICAgICAnX19nZV9fJzogWygnX19sZV9fJywgX2xlX2Zyb21fZ2UpLAotICAgICAgICAgICAgICAgICAgICgnX19ndF9fJywgX2d0X2Zyb21fZ2UpLAotICAgICAgICAgICAgICAgICAgICgnX19sdF9fJywgX2x0X2Zyb21fZ2UpXQotICAgIH0KICAgICAjIEZpbmQgdXNlci1kZWZpbmVkIGNvbXBhcmlzb25zIChub3QgdGhvc2UgaW5oZXJpdGVkIGZyb20gb2JqZWN0KS4KLSAgICByb290cyA9IFtvcCBmb3Igb3AgaW4gY29udmVydCBpZiBnZXRhdHRyKGNscywgb3AsIE5vbmUpIGlzIG5vdCBnZXRhdHRyKG9iamVjdCwgb3AsIE5vbmUpXQorICAgIHJvb3RzID0gW29wIGZvciBvcCBpbiBfY29udmVydCBpZiBnZXRhdHRyKGNscywgb3AsIE5vbmUpIGlzIG5vdCBnZXRhdHRyKG9iamVjdCwgb3AsIE5vbmUpXQogICAgIGlmIG5vdCByb290czoKICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignbXVzdCBkZWZpbmUgYXQgbGVhc3Qgb25lIG9yZGVyaW5nIG9wZXJhdGlvbjogPCA+IDw9ID49JykKICAgICByb290ID0gbWF4KHJvb3RzKSAgICAgICAjIHByZWZlciBfX2x0X18gdG8gX19sZV9fIHRvIF9fZ3RfXyB0byBfX2dlX18KLSAgICBmb3Igb3BuYW1lLCBvcGZ1bmMgaW4gY29udmVydFtyb290XToKKyAgICBmb3Igb3BuYW1lLCBvcGZ1bmMgaW4gX2NvbnZlcnRbcm9vdF06CiAgICAgICAgIGlmIG9wbmFtZSBub3QgaW4gcm9vdHM6CiAgICAgICAgICAgICBvcGZ1bmMuX19uYW1lX18gPSBvcG5hbWUKICAgICAgICAgICAgIHNldGF0dHIoY2xzLCBvcG5hbWUsIG9wZnVuYykKQEAgLTIyMiw4ICsyMjMsNiBAQAogICAgICAgICAgICAgcmV0dXJuIG15Y21wKHNlbGYub2JqLCBvdGhlci5vYmopIDw9IDAKICAgICAgICAgZGVmIF9fZ2VfXyhzZWxmLCBvdGhlcik6CiAgICAgICAgICAgICByZXR1cm4gbXljbXAoc2VsZi5vYmosIG90aGVyLm9iaikgPj0gMAotICAgICAgICBkZWYgX19uZV9fKHNlbGYsIG90aGVyKToKLSAgICAgICAgICAgIHJldHVybiBteWNtcChzZWxmLm9iaiwgb3RoZXIub2JqKSAhPSAwCiAgICAgICAgIF9faGFzaF9fID0gTm9uZQogICAgIHJldHVybiBLCiAKQEAgLTI5MSw3ICsyOTAsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGssIHYgaW4gc2VsZi5rZXl3b3Jkcy5pdGVtcygpKQogICAgICAgICBmb3JtYXRfc3RyaW5nID0gInttb2R1bGV9LntjbHN9KHtmdW5jfSwge2FyZ3N9LCB7a2V5d29yZHN9KSIKICAgICAgICAgcmV0dXJuIGZvcm1hdF9zdHJpbmcuZm9ybWF0KG1vZHVsZT1zZWxmLl9fY2xhc3NfXy5fX21vZHVsZV9fLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xzPXNlbGYuX19jbGFzc19fLl9fbmFtZV9fLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xzPXNlbGYuX19jbGFzc19fLl9fcXVhbG5hbWVfXywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmM9c2VsZi5mdW5jLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJncz1hcmdzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5d29yZHM9a2V5d29yZHMpCmRpZmYgLS1naXQgYS9MaWIvZ2VuZXJpY3BhdGgucHkgYi9MaWIvZ2VuZXJpY3BhdGgucHkKaW5kZXggY2E0YTUxMC4uNjcxNDA2MSAxMDA2NDQKLS0tIGEvTGliL2dlbmVyaWNwYXRoLnB5CisrKyBiL0xpYi9nZW5lcmljcGF0aC5weQpAQCAtMTMwLDMgKzEzMCwxNiBAQAogICAgICAgICAgICAgZmlsZW5hbWVJbmRleCArPSAxCiAKICAgICByZXR1cm4gcCwgcFs6MF0KKworZGVmIF9jaGVja19hcmdfdHlwZXMoZnVuY25hbWUsICphcmdzKToKKyAgICBoYXNzdHIgPSBoYXNieXRlcyA9IEZhbHNlCisgICAgZm9yIHMgaW4gYXJnczoKKyAgICAgICAgaWYgaXNpbnN0YW5jZShzLCBzdHIpOgorICAgICAgICAgICAgaGFzc3RyID0gVHJ1ZQorICAgICAgICBlbGlmIGlzaW5zdGFuY2UocywgYnl0ZXMpOgorICAgICAgICAgICAgaGFzYnl0ZXMgPSBUcnVlCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoJyVzKCkgYXJndW1lbnQgbXVzdCBiZSBzdHIgb3IgYnl0ZXMsIG5vdCAlcicgJQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmdW5jbmFtZSwgcy5fX2NsYXNzX18uX19uYW1lX18pKSBmcm9tIE5vbmUKKyAgICBpZiBoYXNzdHIgYW5kIGhhc2J5dGVzOgorICAgICAgICByYWlzZSBUeXBlRXJyb3IoIkNhbid0IG1peCBzdHJpbmdzIGFuZCBieXRlcyBpbiBwYXRoIGNvbXBvbmVudHMiKSBmcm9tIE5vbmUKZGlmZiAtLWdpdCBhL0xpYi9nZXR0ZXh0LnB5IGIvTGliL2dldHRleHQucHkKaW5kZXggMDVkOWMxZS4uMTUzNzhiYyAxMDA2NDQKLS0tIGEvTGliL2dldHRleHQucHkKKysrIGIvTGliL2dldHRleHQucHkKQEAgLTIyNSw2ICsyMjUsMTMgQEAKICAgICBMRV9NQUdJQyA9IDB4OTUwNDEyZGUKICAgICBCRV9NQUdJQyA9IDB4ZGUxMjA0OTUKIAorICAgICMgQWNjZXB0YWJsZSAubW8gdmVyc2lvbnMKKyAgICBWRVJTSU9OUyA9ICgwLCAxKQorCisgICAgZGVmIF9nZXRfdmVyc2lvbnMoc2VsZiwgdmVyc2lvbik6CisgICAgICAgICIiIlJldHVybnMgYSB0dXBsZSBvZiBtYWpvciB2ZXJzaW9uLCBtaW5vciB2ZXJzaW9uIiIiCisgICAgICAgIHJldHVybiAodmVyc2lvbiA+PiAxNiwgdmVyc2lvbiAmIDB4ZmZmZikKKwogICAgIGRlZiBfcGFyc2Uoc2VsZiwgZnApOgogICAgICAgICAiIiJPdmVycmlkZSB0aGlzIG1ldGhvZCB0byBzdXBwb3J0IGFsdGVybmF0aXZlIC5tbyBmb3JtYXRzLiIiIgogICAgICAgICB1bnBhY2sgPSBzdHJ1Y3QudW5wYWNrCkBAIC0yNDUsNiArMjUyLDEyIEBACiAgICAgICAgICAgICBpaSA9ICc+SUknCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICByYWlzZSBPU0Vycm9yKDAsICdCYWQgbWFnaWMgbnVtYmVyJywgZmlsZW5hbWUpCisKKyAgICAgICAgbWFqb3JfdmVyc2lvbiwgbWlub3JfdmVyc2lvbiA9IHNlbGYuX2dldF92ZXJzaW9ucyh2ZXJzaW9uKQorCisgICAgICAgIGlmIG1ham9yX3ZlcnNpb24gbm90IGluIHNlbGYuVkVSU0lPTlM6CisgICAgICAgICAgICByYWlzZSBPU0Vycm9yKDAsICdCYWQgdmVyc2lvbiBudW1iZXIgJyArIHN0cihtYWpvcl92ZXJzaW9uKSwgZmlsZW5hbWUpCisKICAgICAgICAgIyBOb3cgcHV0IGFsbCBtZXNzYWdlcyBmcm9tIHRoZSAubW8gZmlsZSBidWZmZXIgaW50byB0aGUgY2F0YWxvZwogICAgICAgICAjIGRpY3Rpb25hcnkuCiAgICAgICAgIGZvciBpIGluIHJhbmdlKDAsIG1zZ2NvdW50KToKZGlmZiAtLWdpdCBhL0xpYi9nbG9iLnB5IGIvTGliL2dsb2IucHkKaW5kZXggZDZlY2EyNC4uNTZkNjcwNCAxMDA2NDQKLS0tIGEvTGliL2dsb2IucHkKKysrIGIvTGliL2dsb2IucHkKQEAgLTYsNyArNiw3IEBACiAKIF9fYWxsX18gPSBbImdsb2IiLCAiaWdsb2IiXQogCi1kZWYgZ2xvYihwYXRobmFtZSk6CitkZWYgZ2xvYihwYXRobmFtZSwgKiwgcmVjdXJzaXZlPUZhbHNlKToKICAgICAiIiJSZXR1cm4gYSBsaXN0IG9mIHBhdGhzIG1hdGNoaW5nIGEgcGF0aG5hbWUgcGF0dGVybi4KIAogICAgIFRoZSBwYXR0ZXJuIG1heSBjb250YWluIHNpbXBsZSBzaGVsbC1zdHlsZSB3aWxkY2FyZHMgYSBsYQpAQCAtMTQsMTAgKzE0LDEyIEBACiAgICAgZG90IGFyZSBzcGVjaWFsIGNhc2VzIHRoYXQgYXJlIG5vdCBtYXRjaGVkIGJ5ICcqJyBhbmQgJz8nCiAgICAgcGF0dGVybnMuCiAKKyAgICBJZiByZWN1cnNpdmUgaXMgdHJ1ZSwgdGhlIHBhdHRlcm4gJyoqJyB3aWxsIG1hdGNoIGFueSBmaWxlcyBhbmQKKyAgICB6ZXJvIG9yIG1vcmUgZGlyZWN0b3JpZXMgYW5kIHN1YmRpcmVjdG9yaWVzLgogICAgICIiIgotICAgIHJldHVybiBsaXN0KGlnbG9iKHBhdGhuYW1lKSkKKyAgICByZXR1cm4gbGlzdChpZ2xvYihwYXRobmFtZSwgcmVjdXJzaXZlPXJlY3Vyc2l2ZSkpCiAKLWRlZiBpZ2xvYihwYXRobmFtZSk6CitkZWYgaWdsb2IocGF0aG5hbWUsICosIHJlY3Vyc2l2ZT1GYWxzZSk6CiAgICAgIiIiUmV0dXJuIGFuIGl0ZXJhdG9yIHdoaWNoIHlpZWxkcyB0aGUgcGF0aHMgbWF0Y2hpbmcgYSBwYXRobmFtZSBwYXR0ZXJuLgogCiAgICAgVGhlIHBhdHRlcm4gbWF5IGNvbnRhaW4gc2ltcGxlIHNoZWxsLXN0eWxlIHdpbGRjYXJkcyBhIGxhCkBAIC0yNSw2ICsyNyw4IEBACiAgICAgZG90IGFyZSBzcGVjaWFsIGNhc2VzIHRoYXQgYXJlIG5vdCBtYXRjaGVkIGJ5ICcqJyBhbmQgJz8nCiAgICAgcGF0dGVybnMuCiAKKyAgICBJZiByZWN1cnNpdmUgaXMgdHJ1ZSwgdGhlIHBhdHRlcm4gJyoqJyB3aWxsIG1hdGNoIGFueSBmaWxlcyBhbmQKKyAgICB6ZXJvIG9yIG1vcmUgZGlyZWN0b3JpZXMgYW5kIHN1YmRpcmVjdG9yaWVzLgogICAgICIiIgogICAgIGRpcm5hbWUsIGJhc2VuYW1lID0gb3MucGF0aC5zcGxpdChwYXRobmFtZSkKICAgICBpZiBub3QgaGFzX21hZ2ljKHBhdGhuYW1lKToKQEAgLTM3LDE3ICs0MSwyMyBAQAogICAgICAgICAgICAgICAgIHlpZWxkIHBhdGhuYW1lCiAgICAgICAgIHJldHVybgogICAgIGlmIG5vdCBkaXJuYW1lOgotICAgICAgICB5aWVsZCBmcm9tIGdsb2IxKE5vbmUsIGJhc2VuYW1lKQorICAgICAgICBpZiByZWN1cnNpdmUgYW5kIF9pc3JlY3Vyc2l2ZShiYXNlbmFtZSk6CisgICAgICAgICAgICB5aWVsZCBmcm9tIGdsb2IyKGRpcm5hbWUsIGJhc2VuYW1lKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgeWllbGQgZnJvbSBnbG9iMShkaXJuYW1lLCBiYXNlbmFtZSkKICAgICAgICAgcmV0dXJuCiAgICAgIyBgb3MucGF0aC5zcGxpdCgpYCByZXR1cm5zIHRoZSBhcmd1bWVudCBpdHNlbGYgYXMgYSBkaXJuYW1lIGlmIGl0IGlzIGEKICAgICAjIGRyaXZlIG9yIFVOQyBwYXRoLiAgUHJldmVudCBhbiBpbmZpbml0ZSByZWN1cnNpb24gaWYgYSBkcml2ZSBvciBVTkMgcGF0aAogICAgICMgY29udGFpbnMgbWFnaWMgY2hhcmFjdGVycyAoaS5lLiByJ1xcP1xDOicpLgogICAgIGlmIGRpcm5hbWUgIT0gcGF0aG5hbWUgYW5kIGhhc19tYWdpYyhkaXJuYW1lKToKLSAgICAgICAgZGlycyA9IGlnbG9iKGRpcm5hbWUpCisgICAgICAgIGRpcnMgPSBpZ2xvYihkaXJuYW1lLCByZWN1cnNpdmU9cmVjdXJzaXZlKQogICAgIGVsc2U6CiAgICAgICAgIGRpcnMgPSBbZGlybmFtZV0KICAgICBpZiBoYXNfbWFnaWMoYmFzZW5hbWUpOgotICAgICAgICBnbG9iX2luX2RpciA9IGdsb2IxCisgICAgICAgIGlmIHJlY3Vyc2l2ZSBhbmQgX2lzcmVjdXJzaXZlKGJhc2VuYW1lKToKKyAgICAgICAgICAgIGdsb2JfaW5fZGlyID0gZ2xvYjIKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGdsb2JfaW5fZGlyID0gZ2xvYjEKICAgICBlbHNlOgogICAgICAgICBnbG9iX2luX2RpciA9IGdsb2IwCiAgICAgZm9yIGRpcm5hbWUgaW4gZGlyczoKQEAgLTgzLDYgKzkzLDM0IEBACiAgICAgICAgICAgICByZXR1cm4gW2Jhc2VuYW1lXQogICAgIHJldHVybiBbXQogCisjIFRoaXMgaGVscGVyIGZ1bmN0aW9uIHJlY3Vyc2l2ZWx5IHlpZWxkcyByZWxhdGl2ZSBwYXRobmFtZXMgaW5zaWRlIGEgbGl0ZXJhbAorIyBkaXJlY3RvcnkuCisKK2RlZiBnbG9iMihkaXJuYW1lLCBwYXR0ZXJuKToKKyAgICBhc3NlcnQgX2lzcmVjdXJzaXZlKHBhdHRlcm4pCisgICAgaWYgZGlybmFtZToKKyAgICAgICAgeWllbGQgcGF0dGVybls6MF0KKyAgICB5aWVsZCBmcm9tIF9ybGlzdGRpcihkaXJuYW1lKQorCisjIFJlY3Vyc2l2ZWx5IHlpZWxkcyByZWxhdGl2ZSBwYXRobmFtZXMgaW5zaWRlIGEgbGl0ZXJhbCBkaXJlY3RvcnkuCisKK2RlZiBfcmxpc3RkaXIoZGlybmFtZSk6CisgICAgaWYgbm90IGRpcm5hbWU6CisgICAgICAgIGlmIGlzaW5zdGFuY2UoZGlybmFtZSwgYnl0ZXMpOgorICAgICAgICAgICAgZGlybmFtZSA9IGJ5dGVzKG9zLmN1cmRpciwgJ0FTQ0lJJykKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGRpcm5hbWUgPSBvcy5jdXJkaXIKKyAgICB0cnk6CisgICAgICAgIG5hbWVzID0gb3MubGlzdGRpcihkaXJuYW1lKQorICAgIGV4Y2VwdCBvcy5lcnJvcjoKKyAgICAgICAgcmV0dXJuCisgICAgZm9yIHggaW4gbmFtZXM6CisgICAgICAgIGlmIG5vdCBfaXNoaWRkZW4oeCk6CisgICAgICAgICAgICB5aWVsZCB4CisgICAgICAgICAgICBwYXRoID0gb3MucGF0aC5qb2luKGRpcm5hbWUsIHgpIGlmIGRpcm5hbWUgZWxzZSB4CisgICAgICAgICAgICBmb3IgeSBpbiBfcmxpc3RkaXIocGF0aCk6CisgICAgICAgICAgICAgICAgeWllbGQgb3MucGF0aC5qb2luKHgsIHkpCisKIAogbWFnaWNfY2hlY2sgPSByZS5jb21waWxlKCcoWyo/W10pJykKIG1hZ2ljX2NoZWNrX2J5dGVzID0gcmUuY29tcGlsZShiJyhbKj9bXSknKQpAQCAtOTcsNiArMTM1LDEyIEBACiBkZWYgX2lzaGlkZGVuKHBhdGgpOgogICAgIHJldHVybiBwYXRoWzBdIGluICgnLicsIGInLidbMF0pCiAKK2RlZiBfaXNyZWN1cnNpdmUocGF0dGVybik6CisgICAgaWYgaXNpbnN0YW5jZShwYXR0ZXJuLCBieXRlcyk6CisgICAgICAgIHJldHVybiBwYXR0ZXJuID09IGInKionCisgICAgZWxzZToKKyAgICAgICAgcmV0dXJuIHBhdHRlcm4gPT0gJyoqJworCiBkZWYgZXNjYXBlKHBhdGhuYW1lKToKICAgICAiIiJFc2NhcGUgYWxsIHNwZWNpYWwgY2hhcmFjdGVycy4KICAgICAiIiIKZGlmZiAtLWdpdCBhL0xpYi9oZWFwcS5weSBiL0xpYi9oZWFwcS5weQppbmRleCBkNjE1MjM5Li4wN2FmMzdlIDEwMDY0NAotLS0gYS9MaWIvaGVhcHEucHkKKysrIGIvTGliL2hlYXBxLnB5CkBAIC0xMjcsOCArMTI3LDYgQEAKIF9fYWxsX18gPSBbJ2hlYXBwdXNoJywgJ2hlYXBwb3AnLCAnaGVhcGlmeScsICdoZWFwcmVwbGFjZScsICdtZXJnZScsCiAgICAgICAgICAgICdubGFyZ2VzdCcsICduc21hbGxlc3QnLCAnaGVhcHB1c2hwb3AnXQogCi1mcm9tIGl0ZXJ0b29scyBpbXBvcnQgaXNsaWNlLCBjb3VudCwgdGVlLCBjaGFpbgotCiBkZWYgaGVhcHB1c2goaGVhcCwgaXRlbSk6CiAgICAgIiIiUHVzaCBpdGVtIG9udG8gaGVhcCwgbWFpbnRhaW5pbmcgdGhlIGhlYXAgaW52YXJpYW50LiIiIgogICAgIGhlYXAuYXBwZW5kKGl0ZW0pCkBAIC0xNDEsOSArMTM5LDggQEAKICAgICAgICAgcmV0dXJuaXRlbSA9IGhlYXBbMF0KICAgICAgICAgaGVhcFswXSA9IGxhc3RlbHQKICAgICAgICAgX3NpZnR1cChoZWFwLCAwKQotICAgIGVsc2U6Ci0gICAgICAgIHJldHVybml0ZW0gPSBsYXN0ZWx0Ci0gICAgcmV0dXJuIHJldHVybml0ZW0KKyAgICAgICAgcmV0dXJuIHJldHVybml0ZW0KKyAgICByZXR1cm4gbGFzdGVsdAogCiBkZWYgaGVhcHJlcGxhY2UoaGVhcCwgaXRlbSk6CiAgICAgIiIiUG9wIGFuZCByZXR1cm4gdGhlIGN1cnJlbnQgc21hbGxlc3QgdmFsdWUsIGFuZCBhZGQgdGhlIG5ldyBpdGVtLgpAQCAtMTc5LDEyICsxNzYsMjIgQEAKICAgICBmb3IgaSBpbiByZXZlcnNlZChyYW5nZShuLy8yKSk6CiAgICAgICAgIF9zaWZ0dXAoeCwgaSkKIAotZGVmIF9oZWFwcHVzaHBvcF9tYXgoaGVhcCwgaXRlbSk6Ci0gICAgIiIiTWF4aGVhcCB2ZXJzaW9uIG9mIGEgaGVhcHB1c2ggZm9sbG93ZWQgYnkgYSBoZWFwcG9wLiIiIgotICAgIGlmIGhlYXAgYW5kIGl0ZW0gPCBoZWFwWzBdOgotICAgICAgICBpdGVtLCBoZWFwWzBdID0gaGVhcFswXSwgaXRlbQorZGVmIF9oZWFwcG9wX21heChoZWFwKToKKyAgICAiIiJNYXhoZWFwIHZlcnNpb24gb2YgYSBoZWFwcG9wLiIiIgorICAgIGxhc3RlbHQgPSBoZWFwLnBvcCgpICAgICMgcmFpc2VzIGFwcHJvcHJpYXRlIEluZGV4RXJyb3IgaWYgaGVhcCBpcyBlbXB0eQorICAgIGlmIGhlYXA6CisgICAgICAgIHJldHVybml0ZW0gPSBoZWFwWzBdCisgICAgICAgIGhlYXBbMF0gPSBsYXN0ZWx0CiAgICAgICAgIF9zaWZ0dXBfbWF4KGhlYXAsIDApCi0gICAgcmV0dXJuIGl0ZW0KKyAgICAgICAgcmV0dXJuIHJldHVybml0ZW0KKyAgICByZXR1cm4gbGFzdGVsdAorCitkZWYgX2hlYXByZXBsYWNlX21heChoZWFwLCBpdGVtKToKKyAgICAiIiJNYXhoZWFwIHZlcnNpb24gb2YgYSBoZWFwcG9wIGZvbGxvd2VkIGJ5IGEgaGVhcHB1c2guIiIiCisgICAgcmV0dXJuaXRlbSA9IGhlYXBbMF0gICAgIyByYWlzZXMgYXBwcm9wcmlhdGUgSW5kZXhFcnJvciBpZiBoZWFwIGlzIGVtcHR5CisgICAgaGVhcFswXSA9IGl0ZW0KKyAgICBfc2lmdHVwX21heChoZWFwLCAwKQorICAgIHJldHVybiByZXR1cm5pdGVtCiAKIGRlZiBfaGVhcGlmeV9tYXgoeCk6CiAgICAgIiIiVHJhbnNmb3JtIGxpc3QgaW50byBhIG1heGhlYXAsIGluLXBsYWNlLCBpbiBPKGxlbih4KSkgdGltZS4iIiIKQEAgLTE5Miw0MiArMTk5LDYgQEAKICAgICBmb3IgaSBpbiByZXZlcnNlZChyYW5nZShuLy8yKSk6CiAgICAgICAgIF9zaWZ0dXBfbWF4KHgsIGkpCiAKLWRlZiBubGFyZ2VzdChuLCBpdGVyYWJsZSk6Ci0gICAgIiIiRmluZCB0aGUgbiBsYXJnZXN0IGVsZW1lbnRzIGluIGEgZGF0YXNldC4KLQotICAgIEVxdWl2YWxlbnQgdG86ICBzb3J0ZWQoaXRlcmFibGUsIHJldmVyc2U9VHJ1ZSlbOm5dCi0gICAgIiIiCi0gICAgaWYgbiA8IDA6Ci0gICAgICAgIHJldHVybiBbXQotICAgIGl0ID0gaXRlcihpdGVyYWJsZSkKLSAgICByZXN1bHQgPSBsaXN0KGlzbGljZShpdCwgbikpCi0gICAgaWYgbm90IHJlc3VsdDoKLSAgICAgICAgcmV0dXJuIHJlc3VsdAotICAgIGhlYXBpZnkocmVzdWx0KQotICAgIF9oZWFwcHVzaHBvcCA9IGhlYXBwdXNocG9wCi0gICAgZm9yIGVsZW0gaW4gaXQ6Ci0gICAgICAgIF9oZWFwcHVzaHBvcChyZXN1bHQsIGVsZW0pCi0gICAgcmVzdWx0LnNvcnQocmV2ZXJzZT1UcnVlKQotICAgIHJldHVybiByZXN1bHQKLQotZGVmIG5zbWFsbGVzdChuLCBpdGVyYWJsZSk6Ci0gICAgIiIiRmluZCB0aGUgbiBzbWFsbGVzdCBlbGVtZW50cyBpbiBhIGRhdGFzZXQuCi0KLSAgICBFcXVpdmFsZW50IHRvOiAgc29ydGVkKGl0ZXJhYmxlKVs6bl0KLSAgICAiIiIKLSAgICBpZiBuIDwgMDoKLSAgICAgICAgcmV0dXJuIFtdCi0gICAgaXQgPSBpdGVyKGl0ZXJhYmxlKQotICAgIHJlc3VsdCA9IGxpc3QoaXNsaWNlKGl0LCBuKSkKLSAgICBpZiBub3QgcmVzdWx0OgotICAgICAgICByZXR1cm4gcmVzdWx0Ci0gICAgX2hlYXBpZnlfbWF4KHJlc3VsdCkKLSAgICBfaGVhcHB1c2hwb3AgPSBfaGVhcHB1c2hwb3BfbWF4Ci0gICAgZm9yIGVsZW0gaW4gaXQ6Ci0gICAgICAgIF9oZWFwcHVzaHBvcChyZXN1bHQsIGVsZW0pCi0gICAgcmVzdWx0LnNvcnQoKQotICAgIHJldHVybiByZXN1bHQKLQogIyAnaGVhcCcgaXMgYSBoZWFwIGF0IGFsbCBpbmRpY2VzID49IHN0YXJ0cG9zLCBleGNlcHQgcG9zc2libHkgZm9yIHBvcy4gIHBvcwogIyBpcyB0aGUgaW5kZXggb2YgYSBsZWFmIHdpdGggYSBwb3NzaWJseSBvdXQtb2Ytb3JkZXIgdmFsdWUuICBSZXN0b3JlIHRoZQogIyBoZWFwIGludmFyaWFudC4KQEAgLTM0MCwxMyArMzExLDcgQEAKICAgICBoZWFwW3Bvc10gPSBuZXdpdGVtCiAgICAgX3NpZnRkb3duX21heChoZWFwLCBzdGFydHBvcywgcG9zKQogCi0jIElmIGF2YWlsYWJsZSwgdXNlIEMgaW1wbGVtZW50YXRpb24KLXRyeToKLSAgICBmcm9tIF9oZWFwcSBpbXBvcnQgKgotZXhjZXB0IEltcG9ydEVycm9yOgotICAgIHBhc3MKLQotZGVmIG1lcmdlKCppdGVyYWJsZXMpOgorZGVmIG1lcmdlKCppdGVyYWJsZXMsIGtleT1Ob25lLCByZXZlcnNlPUZhbHNlKToKICAgICAnJydNZXJnZSBtdWx0aXBsZSBzb3J0ZWQgaW5wdXRzIGludG8gYSBzaW5nbGUgc29ydGVkIG91dHB1dC4KIAogICAgIFNpbWlsYXIgdG8gc29ydGVkKGl0ZXJ0b29scy5jaGFpbigqaXRlcmFibGVzKSkgYnV0IHJldHVybnMgYSBnZW5lcmF0b3IsCkBAIC0zNTYsNTEgKzMyMSwxNTggQEAKICAgICA+Pj4gbGlzdChtZXJnZShbMSwzLDUsN10sIFswLDIsNCw4XSwgWzUsMTAsMTUsMjBdLCBbXSwgWzI1XSkpCiAgICAgWzAsIDEsIDIsIDMsIDQsIDUsIDUsIDcsIDgsIDEwLCAxNSwgMjAsIDI1XQogCisgICAgSWYgKmtleSogaXMgbm90IE5vbmUsIGFwcGxpZXMgYSBrZXkgZnVuY3Rpb24gdG8gZWFjaCBlbGVtZW50IHRvIGRldGVybWluZQorICAgIGl0cyBzb3J0IG9yZGVyLgorCisgICAgPj4+IGxpc3QobWVyZ2UoWydkb2cnLCAnaG9yc2UnXSwgWydjYXQnLCAnZmlzaCcsICdrYW5nYXJvbyddLCBrZXk9bGVuKSkKKyAgICBbJ2RvZycsICdjYXQnLCAnZmlzaCcsICdob3JzZScsICdrYW5nYXJvbyddCisKICAgICAnJycKLSAgICBfaGVhcHBvcCwgX2hlYXByZXBsYWNlLCBfU3RvcEl0ZXJhdGlvbiA9IGhlYXBwb3AsIGhlYXByZXBsYWNlLCBTdG9wSXRlcmF0aW9uCi0gICAgX2xlbiA9IGxlbgogCiAgICAgaCA9IFtdCiAgICAgaF9hcHBlbmQgPSBoLmFwcGVuZAotICAgIGZvciBpdG51bSwgaXQgaW4gZW51bWVyYXRlKG1hcChpdGVyLCBpdGVyYWJsZXMpKToKKworICAgIGlmIHJldmVyc2U6CisgICAgICAgIF9oZWFwaWZ5ID0gX2hlYXBpZnlfbWF4CisgICAgICAgIF9oZWFwcG9wID0gX2hlYXBwb3BfbWF4CisgICAgICAgIF9oZWFwcmVwbGFjZSA9IF9oZWFwcmVwbGFjZV9tYXgKKyAgICAgICAgZGlyZWN0aW9uID0gLTEKKyAgICBlbHNlOgorICAgICAgICBfaGVhcGlmeSA9IGhlYXBpZnkKKyAgICAgICAgX2hlYXBwb3AgPSBoZWFwcG9wCisgICAgICAgIF9oZWFwcmVwbGFjZSA9IGhlYXByZXBsYWNlCisgICAgICAgIGRpcmVjdGlvbiA9IDEKKworICAgIGlmIGtleSBpcyBOb25lOgorICAgICAgICBmb3Igb3JkZXIsIGl0IGluIGVudW1lcmF0ZShtYXAoaXRlciwgaXRlcmFibGVzKSk6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgbmV4dCA9IGl0Ll9fbmV4dF9fCisgICAgICAgICAgICAgICAgaF9hcHBlbmQoW25leHQoKSwgb3JkZXIgKiBkaXJlY3Rpb24sIG5leHRdKQorICAgICAgICAgICAgZXhjZXB0IFN0b3BJdGVyYXRpb246CisgICAgICAgICAgICAgICAgcGFzcworICAgICAgICBfaGVhcGlmeShoKQorICAgICAgICB3aGlsZSBsZW4oaCkgPiAxOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICAgICAgICAgIHZhbHVlLCBvcmRlciwgbmV4dCA9IHMgPSBoWzBdCisgICAgICAgICAgICAgICAgICAgIHlpZWxkIHZhbHVlCisgICAgICAgICAgICAgICAgICAgIHNbMF0gPSBuZXh0KCkgICAgICAgICAgICMgcmFpc2VzIFN0b3BJdGVyYXRpb24gd2hlbiBleGhhdXN0ZWQKKyAgICAgICAgICAgICAgICAgICAgX2hlYXByZXBsYWNlKGgsIHMpICAgICAgIyByZXN0b3JlIGhlYXAgY29uZGl0aW9uCisgICAgICAgICAgICBleGNlcHQgU3RvcEl0ZXJhdGlvbjoKKyAgICAgICAgICAgICAgICBfaGVhcHBvcChoKSAgICAgICAgICAgICAgICAgIyByZW1vdmUgZW1wdHkgaXRlcmF0b3IKKyAgICAgICAgaWYgaDoKKyAgICAgICAgICAgICMgZmFzdCBjYXNlIHdoZW4gb25seSBhIHNpbmdsZSBpdGVyYXRvciByZW1haW5zCisgICAgICAgICAgICB2YWx1ZSwgb3JkZXIsIG5leHQgPSBoWzBdCisgICAgICAgICAgICB5aWVsZCB2YWx1ZQorICAgICAgICAgICAgeWllbGQgZnJvbSBuZXh0Ll9fc2VsZl9fCisgICAgICAgIHJldHVybgorCisgICAgZm9yIG9yZGVyLCBpdCBpbiBlbnVtZXJhdGUobWFwKGl0ZXIsIGl0ZXJhYmxlcykpOgogICAgICAgICB0cnk6CiAgICAgICAgICAgICBuZXh0ID0gaXQuX19uZXh0X18KLSAgICAgICAgICAgIGhfYXBwZW5kKFtuZXh0KCksIGl0bnVtLCBuZXh0XSkKLSAgICAgICAgZXhjZXB0IF9TdG9wSXRlcmF0aW9uOgorICAgICAgICAgICAgdmFsdWUgPSBuZXh0KCkKKyAgICAgICAgICAgIGhfYXBwZW5kKFtrZXkodmFsdWUpLCBvcmRlciAqIGRpcmVjdGlvbiwgdmFsdWUsIG5leHRdKQorICAgICAgICBleGNlcHQgU3RvcEl0ZXJhdGlvbjoKICAgICAgICAgICAgIHBhc3MKLSAgICBoZWFwaWZ5KGgpCi0KLSAgICB3aGlsZSBfbGVuKGgpID4gMToKKyAgICBfaGVhcGlmeShoKQorICAgIHdoaWxlIGxlbihoKSA+IDE6CiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHdoaWxlIFRydWU6Ci0gICAgICAgICAgICAgICAgdiwgaXRudW0sIG5leHQgPSBzID0gaFswXQotICAgICAgICAgICAgICAgIHlpZWxkIHYKLSAgICAgICAgICAgICAgICBzWzBdID0gbmV4dCgpICAgICAgICAgICAgICAgIyByYWlzZXMgU3RvcEl0ZXJhdGlvbiB3aGVuIGV4aGF1c3RlZAotICAgICAgICAgICAgICAgIF9oZWFwcmVwbGFjZShoLCBzKSAgICAgICAgICAjIHJlc3RvcmUgaGVhcCBjb25kaXRpb24KLSAgICAgICAgZXhjZXB0IF9TdG9wSXRlcmF0aW9uOgotICAgICAgICAgICAgX2hlYXBwb3AoaCkgICAgICAgICAgICAgICAgICAgICAjIHJlbW92ZSBlbXB0eSBpdGVyYXRvcgorICAgICAgICAgICAgICAgIGtleV92YWx1ZSwgb3JkZXIsIHZhbHVlLCBuZXh0ID0gcyA9IGhbMF0KKyAgICAgICAgICAgICAgICB5aWVsZCB2YWx1ZQorICAgICAgICAgICAgICAgIHZhbHVlID0gbmV4dCgpCisgICAgICAgICAgICAgICAgc1swXSA9IGtleSh2YWx1ZSkKKyAgICAgICAgICAgICAgICBzWzJdID0gdmFsdWUKKyAgICAgICAgICAgICAgICBfaGVhcHJlcGxhY2UoaCwgcykKKyAgICAgICAgZXhjZXB0IFN0b3BJdGVyYXRpb246CisgICAgICAgICAgICBfaGVhcHBvcChoKQogICAgIGlmIGg6Ci0gICAgICAgICMgZmFzdCBjYXNlIHdoZW4gb25seSBhIHNpbmdsZSBpdGVyYXRvciByZW1haW5zCi0gICAgICAgIHYsIGl0bnVtLCBuZXh0ID0gaFswXQotICAgICAgICB5aWVsZCB2CisgICAgICAgIGtleV92YWx1ZSwgb3JkZXIsIHZhbHVlLCBuZXh0ID0gaFswXQorICAgICAgICB5aWVsZCB2YWx1ZQogICAgICAgICB5aWVsZCBmcm9tIG5leHQuX19zZWxmX18KIAotIyBFeHRlbmQgdGhlIGltcGxlbWVudGF0aW9ucyBvZiBuc21hbGxlc3QgYW5kIG5sYXJnZXN0IHRvIHVzZSBhIGtleT0gYXJndW1lbnQKLV9uc21hbGxlc3QgPSBuc21hbGxlc3QKKworIyBBbGdvcml0aG0gbm90ZXMgZm9yIG5sYXJnZXN0KCkgYW5kIG5zbWFsbGVzdCgpCisjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyMKKyMgTWFrZSBhIHNpbmdsZSBwYXNzIG92ZXIgdGhlIGRhdGEgd2hpbGUga2VlcGluZyB0aGUgayBtb3N0IGV4dHJlbWUgdmFsdWVzCisjIGluIGEgaGVhcC4gIE1lbW9yeSBjb25zdW1wdGlvbiBpcyBsaW1pdGVkIHRvIGtlZXBpbmcgayB2YWx1ZXMgaW4gYSBsaXN0LgorIworIyBNZWFzdXJlZCBwZXJmb3JtYW5jZSBmb3IgcmFuZG9tIGlucHV0czoKKyMKKyMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bWJlciBvZiBjb21wYXJpc29ucworIyAgICBuIGlucHV0cyAgICAgay1leHRyZW1lIHZhbHVlcyAgKGF2ZXJhZ2Ugb2YgNSB0cmlhbHMpICAgJSBtb3JlIHRoYW4gbWluKCkKKyMgLS0tLS0tLS0tLS0tLSAgIC0tLS0tLS0tLS0tLS0tLS0gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgIC0tLS0tLS0tLS0tLS0tLS0tCisjICAgICAgMSwwMDAgICAgICAgICAgIDEwMCAgICAgICAgICAgICAgICAgIDMsMzE3ICAgICAgICAgICAgICAgMjMxLjclCisjICAgICAxMCwwMDAgICAgICAgICAgIDEwMCAgICAgICAgICAgICAgICAgMTQsMDQ2ICAgICAgICAgICAgICAgIDQwLjUlCisjICAgIDEwMCwwMDAgICAgICAgICAgIDEwMCAgICAgICAgICAgICAgICAxMDUsNzQ5ICAgICAgICAgICAgICAgICA1LjclCisjICAxLDAwMCwwMDAgICAgICAgICAgIDEwMCAgICAgICAgICAgICAgMSwwMDcsNzUxICAgICAgICAgICAgICAgICAwLjglCisjIDEwLDAwMCwwMDAgICAgICAgICAgIDEwMCAgICAgICAgICAgICAxMCwwMDksNDAxICAgICAgICAgICAgICAgICAwLjElCisjCisjIFRoZW9yZXRpY2FsIG51bWJlciBvZiBjb21wYXJpc29ucyBmb3IgayBzbWFsbGVzdCBvZiBuIHJhbmRvbSBpbnB1dHM6CisjCisjIFN0ZXAgICBDb21wYXJpc29ucyAgICAgICAgICAgICAgICAgIEFjdGlvbgorIyAtLS0tICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgIDEgICAgIDEuNjYgKiBrICAgICAgICAgICAgICAgICAgICAgaGVhcGlmeSB0aGUgZmlyc3Qgay1pbnB1dHMKKyMgIDIgICAgIG4gLSBrICAgICAgICAgICAgICAgICAgICAgICAgY29tcGFyZSByZW1haW5pbmcgZWxlbWVudHMgdG8gdG9wIG9mIGhlYXAKKyMgIDMgICAgIGsgKiAoMSArIGxnMihrKSkgKiBsbihuL2spICAgcmVwbGFjZSB0aGUgdG9wbW9zdCB2YWx1ZSBvbiB0aGUgaGVhcAorIyAgNCAgICAgayAqIGxnMihrKSAtIChrLzIpICAgICAgICAgICBmaW5hbCBzb3J0IG9mIHRoZSBrIG1vc3QgZXh0cmVtZSB2YWx1ZXMKKyMKKyMgQ29tYmluaW5nIGFuZCBzaW1wbGlmeWluZyBmb3IgYSByb3VnaCBlc3RpbWF0ZSBnaXZlczoKKyMKKyMgICAgICAgIGNvbXBhcmlzb25zID0gbiArIGsgKiAobG9nKGssIDIpICogbG9nKG4vaykgKyBsb2coaywgMikgKyBsb2cobi9rKSkKKyMKKyMgQ29tcHV0aW5nIHRoZSBudW1iZXIgb2YgY29tcGFyaXNvbnMgZm9yIHN0ZXAgMzoKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgKiBGb3IgdGhlIGktdGggbmV3IHZhbHVlIGZyb20gdGhlIGl0ZXJhYmxlLCB0aGUgcHJvYmFiaWxpdHkgb2YgYmVpbmcgaW4gdGhlCisjICAgayBtb3N0IGV4dHJlbWUgdmFsdWVzIGlzIGsvaS4gIEZvciBleGFtcGxlLCB0aGUgcHJvYmFiaWxpdHkgb2YgdGhlIDEwMXN0CisjICAgdmFsdWUgc2VlbiBiZWluZyBpbiB0aGUgMTAwIG1vc3QgZXh0cmVtZSB2YWx1ZXMgaXMgMTAwLzEwMS4KKyMgKiBJZiB0aGUgdmFsdWUgaXMgYSBuZXcgZXh0cmVtZSB2YWx1ZSwgdGhlIGNvc3Qgb2YgaW5zZXJ0aW5nIGl0IGludG8gdGhlCisjICAgaGVhcCBpcyAxICsgbG9nKGssIDIpLgorIyAqIFRoZSBwcm9iYWJpbGl0eSB0aW1lcyB0aGUgY29zdCBnaXZlczoKKyMgICAgICAgICAgICAoay9pKSAqICgxICsgbG9nKGssIDIpKQorIyAqIFN1bW1pbmcgYWNyb3NzIHRoZSByZW1haW5pbmcgbi1rIGVsZW1lbnRzIGdpdmVzOgorIyAgICAgICAgICAgIHN1bSgoay9pKSAqICgxICsgbG9nKGssIDIpKSBmb3IgaSBpbiByYW5nZShrKzEsIG4rMSkpCisjICogVGhpcyByZWR1Y2VzIHRvOgorIyAgICAgICAgICAgIChIKG4pIC0gSChrKSkgKiBrICogKDEgKyBsb2coaywgMikpCisjICogV2hlcmUgSChuKSBpcyB0aGUgbi10aCBoYXJtb25pYyBudW1iZXIgZXN0aW1hdGVkIGJ5OgorIyAgICAgICAgICAgIGdhbW1hID0gMC41NzcyMTU2NjQ5CisjICAgICAgICAgICAgSChuKSA9IGxvZyhuLCBlKSArIGdhbW1hICsgMSAvICgyICogbikKKyMgICBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0hhcm1vbmljX3Nlcmllc18obWF0aGVtYXRpY3MpI1JhdGVfb2ZfZGl2ZXJnZW5jZQorIyAqIFN1YnN0aXR1dGluZyB0aGUgSChuKSBmb3JtdWxhOgorIyAgICAgICAgICAgIGNvbXBhcmlzb25zID0gayAqICgxICsgbG9nKGssIDIpKSAqIChsb2cobi9rLCBlKSArICgxL24gLSAxL2spIC8gMikKKyMKKyMgV29yc3QtY2FzZSBmb3Igc3RlcCAzOgorIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEluIHRoZSB3b3JzdCBjYXNlLCB0aGUgaW5wdXQgZGF0YSBpcyByZXZlcnNlZCBzb3J0ZWQgc28gdGhhdCBldmVyeSBuZXcgZWxlbWVudAorIyBtdXN0IGJlIGluc2VydGVkIGluIHRoZSBoZWFwOgorIworIyAgICAgICAgICAgICBjb21wYXJpc29ucyA9IDEuNjYgKiBrICsgbG9nKGssIDIpICogKG4gLSBrKQorIworIyBBbHRlcm5hdGl2ZSBBbGdvcml0aG1zCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgT3RoZXIgYWxnb3JpdGhtcyB3ZXJlIG5vdCB1c2VkIGJlY2F1c2UgdGhleToKKyMgMSkgVG9vayBtdWNoIG1vcmUgYXV4aWxpYXJ5IG1lbW9yeSwKKyMgMikgTWFkZSBtdWx0aXBsZSBwYXNzZXMgb3ZlciB0aGUgZGF0YS4KKyMgMykgTWFkZSBtb3JlIGNvbXBhcmlzb25zIGluIGNvbW1vbiBjYXNlcyAoc21hbGwgaywgbGFyZ2Ugbiwgc2VtaS1yYW5kb20gaW5wdXQpLgorIyBTZWUgdGhlIG1vcmUgZGV0YWlsZWQgY29tcGFyaXNvbiBvZiBhcHByb2FjaCBhdDoKKyMgaHR0cDovL2NvZGUuYWN0aXZlc3RhdGUuY29tL3JlY2lwZXMvNTc3NTczLWNvbXBhcmUtYWxnb3JpdGhtcy1mb3ItaGVhcHFzbWFsbGVzdAorCiBkZWYgbnNtYWxsZXN0KG4sIGl0ZXJhYmxlLCBrZXk9Tm9uZSk6CiAgICAgIiIiRmluZCB0aGUgbiBzbWFsbGVzdCBlbGVtZW50cyBpbiBhIGRhdGFzZXQuCiAKICAgICBFcXVpdmFsZW50IHRvOiAgc29ydGVkKGl0ZXJhYmxlLCBrZXk9a2V5KVs6bl0KICAgICAiIiIKLSAgICAjIFNob3J0LWN1dCBmb3Igbj09MSBpcyB0byB1c2UgbWluKCkgd2hlbiBsZW4oaXRlcmFibGUpPjAKKworICAgICMgU2hvcnQtY3V0IGZvciBuPT0xIGlzIHRvIHVzZSBtaW4oKQogICAgIGlmIG4gPT0gMToKICAgICAgICAgaXQgPSBpdGVyKGl0ZXJhYmxlKQotICAgICAgICBoZWFkID0gbGlzdChpc2xpY2UoaXQsIDEpKQotICAgICAgICBpZiBub3QgaGVhZDoKLSAgICAgICAgICAgIHJldHVybiBbXQorICAgICAgICBzZW50aW5lbCA9IG9iamVjdCgpCiAgICAgICAgIGlmIGtleSBpcyBOb25lOgotICAgICAgICAgICAgcmV0dXJuIFttaW4oY2hhaW4oaGVhZCwgaXQpKV0KLSAgICAgICAgcmV0dXJuIFttaW4oY2hhaW4oaGVhZCwgaXQpLCBrZXk9a2V5KV0KKyAgICAgICAgICAgIHJlc3VsdCA9IG1pbihpdCwgZGVmYXVsdD1zZW50aW5lbCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJlc3VsdCA9IG1pbihpdCwgZGVmYXVsdD1zZW50aW5lbCwga2V5PWtleSkKKyAgICAgICAgcmV0dXJuIFtdIGlmIHJlc3VsdCBpcyBzZW50aW5lbCBlbHNlIFtyZXN1bHRdCiAKICAgICAjIFdoZW4gbj49c2l6ZSwgaXQncyBmYXN0ZXIgdG8gdXNlIHNvcnRlZCgpCiAgICAgdHJ5OgpAQCAtNDEzLDMyICs0ODUsNTcgQEAKIAogICAgICMgV2hlbiBrZXkgaXMgbm9uZSwgdXNlIHNpbXBsZXIgZGVjb3JhdGlvbgogICAgIGlmIGtleSBpcyBOb25lOgotICAgICAgICBpdCA9IHppcChpdGVyYWJsZSwgY291bnQoKSkgICAgICAgICAgICAgICAgICAgICAgICAgIyBkZWNvcmF0ZQotICAgICAgICByZXN1bHQgPSBfbnNtYWxsZXN0KG4sIGl0KQotICAgICAgICByZXR1cm4gW3JbMF0gZm9yIHIgaW4gcmVzdWx0XSAgICAgICAgICAgICAgICAgICAgICAgIyB1bmRlY29yYXRlCisgICAgICAgIGl0ID0gaXRlcihpdGVyYWJsZSkKKyAgICAgICAgIyBwdXQgdGhlIHJhbmdlKG4pIGZpcnN0IHNvIHRoYXQgemlwKCkgZG9lc24ndAorICAgICAgICAjIGNvbnN1bWUgb25lIHRvbyBtYW55IGVsZW1lbnRzIGZyb20gdGhlIGl0ZXJhdG9yCisgICAgICAgIHJlc3VsdCA9IFsoZWxlbSwgaSkgZm9yIGksIGVsZW0gaW4gemlwKHJhbmdlKG4pLCBpdCldCisgICAgICAgIGlmIG5vdCByZXN1bHQ6CisgICAgICAgICAgICByZXR1cm4gcmVzdWx0CisgICAgICAgIF9oZWFwaWZ5X21heChyZXN1bHQpCisgICAgICAgIHRvcCA9IHJlc3VsdFswXVswXQorICAgICAgICBvcmRlciA9IG4KKyAgICAgICAgX2hlYXByZXBsYWNlID0gX2hlYXByZXBsYWNlX21heAorICAgICAgICBmb3IgZWxlbSBpbiBpdDoKKyAgICAgICAgICAgIGlmIGVsZW0gPCB0b3A6CisgICAgICAgICAgICAgICAgX2hlYXByZXBsYWNlKHJlc3VsdCwgKGVsZW0sIG9yZGVyKSkKKyAgICAgICAgICAgICAgICB0b3AgPSByZXN1bHRbMF1bMF0KKyAgICAgICAgICAgICAgICBvcmRlciArPSAxCisgICAgICAgIHJlc3VsdC5zb3J0KCkKKyAgICAgICAgcmV0dXJuIFtyWzBdIGZvciByIGluIHJlc3VsdF0KIAogICAgICMgR2VuZXJhbCBjYXNlLCBzbG93ZXN0IG1ldGhvZAotICAgIGluMSwgaW4yID0gdGVlKGl0ZXJhYmxlKQotICAgIGl0ID0gemlwKG1hcChrZXksIGluMSksIGNvdW50KCksIGluMikgICAgICAgICAgICAgICAgICAgIyBkZWNvcmF0ZQotICAgIHJlc3VsdCA9IF9uc21hbGxlc3QobiwgaXQpCi0gICAgcmV0dXJuIFtyWzJdIGZvciByIGluIHJlc3VsdF0gICAgICAgICAgICAgICAgICAgICAgICAgICAjIHVuZGVjb3JhdGUKKyAgICBpdCA9IGl0ZXIoaXRlcmFibGUpCisgICAgcmVzdWx0ID0gWyhrZXkoZWxlbSksIGksIGVsZW0pIGZvciBpLCBlbGVtIGluIHppcChyYW5nZShuKSwgaXQpXQorICAgIGlmIG5vdCByZXN1bHQ6CisgICAgICAgIHJldHVybiByZXN1bHQKKyAgICBfaGVhcGlmeV9tYXgocmVzdWx0KQorICAgIHRvcCA9IHJlc3VsdFswXVswXQorICAgIG9yZGVyID0gbgorICAgIF9oZWFwcmVwbGFjZSA9IF9oZWFwcmVwbGFjZV9tYXgKKyAgICBmb3IgZWxlbSBpbiBpdDoKKyAgICAgICAgayA9IGtleShlbGVtKQorICAgICAgICBpZiBrIDwgdG9wOgorICAgICAgICAgICAgX2hlYXByZXBsYWNlKHJlc3VsdCwgKGssIG9yZGVyLCBlbGVtKSkKKyAgICAgICAgICAgIHRvcCA9IHJlc3VsdFswXVswXQorICAgICAgICAgICAgb3JkZXIgKz0gMQorICAgIHJlc3VsdC5zb3J0KCkKKyAgICByZXR1cm4gW3JbMl0gZm9yIHIgaW4gcmVzdWx0XQogCi1fbmxhcmdlc3QgPSBubGFyZ2VzdAogZGVmIG5sYXJnZXN0KG4sIGl0ZXJhYmxlLCBrZXk9Tm9uZSk6CiAgICAgIiIiRmluZCB0aGUgbiBsYXJnZXN0IGVsZW1lbnRzIGluIGEgZGF0YXNldC4KIAogICAgIEVxdWl2YWxlbnQgdG86ICBzb3J0ZWQoaXRlcmFibGUsIGtleT1rZXksIHJldmVyc2U9VHJ1ZSlbOm5dCiAgICAgIiIiCiAKLSAgICAjIFNob3J0LWN1dCBmb3Igbj09MSBpcyB0byB1c2UgbWF4KCkgd2hlbiBsZW4oaXRlcmFibGUpPjAKKyAgICAjIFNob3J0LWN1dCBmb3Igbj09MSBpcyB0byB1c2UgbWF4KCkKICAgICBpZiBuID09IDE6CiAgICAgICAgIGl0ID0gaXRlcihpdGVyYWJsZSkKLSAgICAgICAgaGVhZCA9IGxpc3QoaXNsaWNlKGl0LCAxKSkKLSAgICAgICAgaWYgbm90IGhlYWQ6Ci0gICAgICAgICAgICByZXR1cm4gW10KKyAgICAgICAgc2VudGluZWwgPSBvYmplY3QoKQogICAgICAgICBpZiBrZXkgaXMgTm9uZToKLSAgICAgICAgICAgIHJldHVybiBbbWF4KGNoYWluKGhlYWQsIGl0KSldCi0gICAgICAgIHJldHVybiBbbWF4KGNoYWluKGhlYWQsIGl0KSwga2V5PWtleSldCisgICAgICAgICAgICByZXN1bHQgPSBtYXgoaXQsIGRlZmF1bHQ9c2VudGluZWwpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXN1bHQgPSBtYXgoaXQsIGRlZmF1bHQ9c2VudGluZWwsIGtleT1rZXkpCisgICAgICAgIHJldHVybiBbXSBpZiByZXN1bHQgaXMgc2VudGluZWwgZWxzZSBbcmVzdWx0XQogCiAgICAgIyBXaGVuIG4+PXNpemUsIGl0J3MgZmFzdGVyIHRvIHVzZSBzb3J0ZWQoKQogICAgIHRyeToKQEAgLTQ1MSwyNiArNTQ4LDYwIEBACiAKICAgICAjIFdoZW4ga2V5IGlzIG5vbmUsIHVzZSBzaW1wbGVyIGRlY29yYXRpb24KICAgICBpZiBrZXkgaXMgTm9uZToKLSAgICAgICAgaXQgPSB6aXAoaXRlcmFibGUsIGNvdW50KDAsLTEpKSAgICAgICAgICAgICAgICAgICAgICMgZGVjb3JhdGUKLSAgICAgICAgcmVzdWx0ID0gX25sYXJnZXN0KG4sIGl0KQotICAgICAgICByZXR1cm4gW3JbMF0gZm9yIHIgaW4gcmVzdWx0XSAgICAgICAgICAgICAgICAgICAgICAgIyB1bmRlY29yYXRlCisgICAgICAgIGl0ID0gaXRlcihpdGVyYWJsZSkKKyAgICAgICAgcmVzdWx0ID0gWyhlbGVtLCBpKSBmb3IgaSwgZWxlbSBpbiB6aXAocmFuZ2UoMCwgLW4sIC0xKSwgaXQpXQorICAgICAgICBpZiBub3QgcmVzdWx0OgorICAgICAgICAgICAgcmV0dXJuIHJlc3VsdAorICAgICAgICBoZWFwaWZ5KHJlc3VsdCkKKyAgICAgICAgdG9wID0gcmVzdWx0WzBdWzBdCisgICAgICAgIG9yZGVyID0gLW4KKyAgICAgICAgX2hlYXByZXBsYWNlID0gaGVhcHJlcGxhY2UKKyAgICAgICAgZm9yIGVsZW0gaW4gaXQ6CisgICAgICAgICAgICBpZiB0b3AgPCBlbGVtOgorICAgICAgICAgICAgICAgIF9oZWFwcmVwbGFjZShyZXN1bHQsIChlbGVtLCBvcmRlcikpCisgICAgICAgICAgICAgICAgdG9wID0gcmVzdWx0WzBdWzBdCisgICAgICAgICAgICAgICAgb3JkZXIgLT0gMQorICAgICAgICByZXN1bHQuc29ydChyZXZlcnNlPVRydWUpCisgICAgICAgIHJldHVybiBbclswXSBmb3IgciBpbiByZXN1bHRdCiAKICAgICAjIEdlbmVyYWwgY2FzZSwgc2xvd2VzdCBtZXRob2QKLSAgICBpbjEsIGluMiA9IHRlZShpdGVyYWJsZSkKLSAgICBpdCA9IHppcChtYXAoa2V5LCBpbjEpLCBjb3VudCgwLC0xKSwgaW4yKSAgICAgICAgICAgICAgICMgZGVjb3JhdGUKLSAgICByZXN1bHQgPSBfbmxhcmdlc3QobiwgaXQpCi0gICAgcmV0dXJuIFtyWzJdIGZvciByIGluIHJlc3VsdF0gICAgICAgICAgICAgICAgICAgICAgICAgICAjIHVuZGVjb3JhdGUKKyAgICBpdCA9IGl0ZXIoaXRlcmFibGUpCisgICAgcmVzdWx0ID0gWyhrZXkoZWxlbSksIGksIGVsZW0pIGZvciBpLCBlbGVtIGluIHppcChyYW5nZSgwLCAtbiwgLTEpLCBpdCldCisgICAgaWYgbm90IHJlc3VsdDoKKyAgICAgICAgcmV0dXJuIHJlc3VsdAorICAgIGhlYXBpZnkocmVzdWx0KQorICAgIHRvcCA9IHJlc3VsdFswXVswXQorICAgIG9yZGVyID0gLW4KKyAgICBfaGVhcHJlcGxhY2UgPSBoZWFwcmVwbGFjZQorICAgIGZvciBlbGVtIGluIGl0OgorICAgICAgICBrID0ga2V5KGVsZW0pCisgICAgICAgIGlmIHRvcCA8IGs6CisgICAgICAgICAgICBfaGVhcHJlcGxhY2UocmVzdWx0LCAoaywgb3JkZXIsIGVsZW0pKQorICAgICAgICAgICAgdG9wID0gcmVzdWx0WzBdWzBdCisgICAgICAgICAgICBvcmRlciAtPSAxCisgICAgcmVzdWx0LnNvcnQocmV2ZXJzZT1UcnVlKQorICAgIHJldHVybiBbclsyXSBmb3IgciBpbiByZXN1bHRdCisKKyMgSWYgYXZhaWxhYmxlLCB1c2UgQyBpbXBsZW1lbnRhdGlvbgordHJ5OgorICAgIGZyb20gX2hlYXBxIGltcG9ydCAqCitleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgcGFzcwordHJ5OgorICAgIGZyb20gX2hlYXBxIGltcG9ydCBfaGVhcHJlcGxhY2VfbWF4CitleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgcGFzcwordHJ5OgorICAgIGZyb20gX2hlYXBxIGltcG9ydCBfaGVhcGlmeV9tYXgKK2V4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICBwYXNzCit0cnk6CisgICAgZnJvbSBfaGVhcHEgaW1wb3J0IF9oZWFwcG9wX21heAorZXhjZXB0IEltcG9ydEVycm9yOgorICAgIHBhc3MKKwogCiBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgotICAgICMgU2ltcGxlIHNhbml0eSB0ZXN0Ci0gICAgaGVhcCA9IFtdCi0gICAgZGF0YSA9IFsxLCAzLCA1LCA3LCA5LCAyLCA0LCA2LCA4LCAwXQotICAgIGZvciBpdGVtIGluIGRhdGE6Ci0gICAgICAgIGhlYXBwdXNoKGhlYXAsIGl0ZW0pCi0gICAgc29ydCA9IFtdCi0gICAgd2hpbGUgaGVhcDoKLSAgICAgICAgc29ydC5hcHBlbmQoaGVhcHBvcChoZWFwKSkKLSAgICBwcmludChzb3J0KQogCiAgICAgaW1wb3J0IGRvY3Rlc3QKLSAgICBkb2N0ZXN0LnRlc3Rtb2QoKQorICAgIHByaW50KGRvY3Rlc3QudGVzdG1vZCgpKQpkaWZmIC0tZ2l0IGEvTGliL2h0bWwvZW50aXRpZXMucHkgYi9MaWIvaHRtbC9lbnRpdGllcy5weQppbmRleCBmN2RlYWU2Li4zZTE3NzhiIDEwMDY0NAotLS0gYS9MaWIvaHRtbC9lbnRpdGllcy5weQorKysgYi9MaWIvaHRtbC9lbnRpdGllcy5weQpAQCAtMSw1ICsxLDggQEAKICIiIkhUTUwgY2hhcmFjdGVyIGVudGl0eSByZWZlcmVuY2VzLiIiIgogCitfX2FsbF9fID0gWydodG1sNScsICduYW1lMmNvZGVwb2ludCcsICdjb2RlcG9pbnQybmFtZScsICdlbnRpdHlkZWZzJ10KKworCiAjIG1hcHMgdGhlIEhUTUwgZW50aXR5IG5hbWUgdG8gdGhlIFVuaWNvZGUgY29kZSBwb2ludAogbmFtZTJjb2RlcG9pbnQgPSB7CiAgICAgJ0FFbGlnJzogICAgMHgwMGM2LCAjIGxhdGluIGNhcGl0YWwgbGV0dGVyIEFFID0gbGF0aW4gY2FwaXRhbCBsaWdhdHVyZSBBRSwgVSswMEM2IElTT2xhdDEKZGlmZiAtLWdpdCBhL0xpYi9odG1sL3BhcnNlci5weSBiL0xpYi9odG1sL3BhcnNlci5weQppbmRleCBhNjUwZDVlLi4zOTBkNGNjIDEwMDY0NAotLS0gYS9MaWIvaHRtbC9wYXJzZXIucHkKKysrIGIvTGliL2h0bWwvcGFyc2VyLnB5CkBAIC0yOSwzNSArMjksMTUgQEAKIHBpY2xvc2UgPSByZS5jb21waWxlKCc+JykKIGNvbW1lbnRjbG9zZSA9IHJlLmNvbXBpbGUocictLVxzKj4nKQogIyBOb3RlOgotIyAgMSkgdGhlIHN0cmljdCBhdHRyZmluZCBpc24ndCByZWFsbHkgc3RyaWN0LCBidXQgd2UgY2FuJ3QgbWFrZSBpdAotIyAgICAgY29ycmVjdGx5IHN0cmljdCB3aXRob3V0IGJyZWFraW5nIGJhY2t3YXJkIGNvbXBhdGliaWxpdHk7Ci0jICAyKSBpZiB5b3UgY2hhbmdlIHRhZ2ZpbmQvYXR0cmZpbmQgcmVtZW1iZXIgdG8gdXBkYXRlIGxvY2F0ZXN0YXJ0dGFnZW5kIHRvbzsKLSMgIDMpIGlmIHlvdSBjaGFuZ2UgdGFnZmluZC9hdHRyZmluZCBhbmQvb3IgbG9jYXRlc3RhcnR0YWdlbmQgdGhlIHBhcnNlciB3aWxsCisjICAxKSBpZiB5b3UgY2hhbmdlIHRhZ2ZpbmQvYXR0cmZpbmQgcmVtZW1iZXIgdG8gdXBkYXRlIGxvY2F0ZXN0YXJ0dGFnZW5kIHRvbzsKKyMgIDIpIGlmIHlvdSBjaGFuZ2UgdGFnZmluZC9hdHRyZmluZCBhbmQvb3IgbG9jYXRlc3RhcnR0YWdlbmQgdGhlIHBhcnNlciB3aWxsCiAjICAgICBleHBsb2RlLCBzbyBkb24ndCBkbyBpdC4KLXRhZ2ZpbmQgPSByZS5jb21waWxlKCcoW2EtekEtWl1bLS5hLXpBLVowLTk6X10qKSg/OlxzfC8oPyE+KSkqJykKICMgc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw1L3Rva2VuaXphdGlvbi5odG1sI3RhZy1vcGVuLXN0YXRlCiAjIGFuZCBodHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNS90b2tlbml6YXRpb24uaHRtbCN0YWctbmFtZS1zdGF0ZQogdGFnZmluZF90b2xlcmFudCA9IHJlLmNvbXBpbGUoJyhbYS16QS1aXVteXHRcblxyXGYgLz5ceDAwXSopKD86XHN8Lyg/IT4pKSonKQotYXR0cmZpbmQgPSByZS5jb21waWxlKAotICAgIHInXHMqKFthLXpBLVpfXVstLjphLXpBLVpfMC05XSopKFxzKj1ccyonCi0gICAgcicoXCdbXlwnXSpcJ3wiW14iXSoifFteXHMiXCc9PD5gXSopKT8nKQogYXR0cmZpbmRfdG9sZXJhbnQgPSByZS5jb21waWxlKAogICAgIHInKCg/PD1bXCciXHMvXSlbXlxzLz5dW15ccy89Pl0qKShccyo9K1xzKicKICAgICByJyhcJ1teXCddKlwnfCJbXiJdKiJ8KD8hW1wnIl0pW14+XHNdKikpPyg/OlxzfC8oPyE+KSkqJykKLWxvY2F0ZXN0YXJ0dGFnZW5kID0gcmUuY29tcGlsZShyIiIiCi0gIDxbYS16QS1aXVstLmEtekEtWjAtOTpfXSogICAgICAgICAgIyB0YWcgbmFtZQotICAoPzpccysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgd2hpdGVzcGFjZSBiZWZvcmUgYXR0cmlidXRlIG5hbWUKLSAgICAoPzpbYS16QS1aX11bLS46YS16QS1aMC05X10qICAgICAjIGF0dHJpYnV0ZSBuYW1lCi0gICAgICAoPzpccyo9XHMqICAgICAgICAgICAgICAgICAgICAgIyB2YWx1ZSBpbmRpY2F0b3IKLSAgICAgICAgKD86J1teJ10qJyAgICAgICAgICAgICAgICAgICAjIExJVEEtZW5jbG9zZWQgdmFsdWUKLSAgICAgICAgICB8XCJbXlwiXSpcIiAgICAgICAgICAgICAgICAjIExJVC1lbmNsb3NlZCB2YWx1ZQotICAgICAgICAgIHxbXidcIj5cc10rICAgICAgICAgICAgICAgICMgYmFyZSB2YWx1ZQotICAgICAgICAgKQotICAgICAgICk/Ci0gICAgICkKLSAgICkqCi0gIFxzKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyB0cmFpbGluZyB3aGl0ZXNwYWNlCi0iIiIsIHJlLlZFUkJPU0UpCiBsb2NhdGVzdGFydHRhZ2VuZF90b2xlcmFudCA9IHJlLmNvbXBpbGUociIiIgogICA8W2EtekEtWl1bXlx0XG5cclxmIC8+XHgwMF0qICAgICAgICMgdGFnIG5hbWUKICAgKD86W1xzL10qICAgICAgICAgICAgICAgICAgICAgICAgICAjIG9wdGlvbmFsIHdoaXRlc3BhY2UgYmVmb3JlIGF0dHJpYnV0ZSBuYW1lCkBAIC03OSwyNSArNTksNiBAQAogZW5kdGFnZmluZCA9IHJlLmNvbXBpbGUoJzwvXHMqKFthLXpBLVpdWy0uYS16QS1aMC05Ol9dKilccyo+JykKIAogCi1jbGFzcyBIVE1MUGFyc2VFcnJvcihFeGNlcHRpb24pOgotICAgICIiIkV4Y2VwdGlvbiByYWlzZWQgZm9yIGFsbCBwYXJzZSBlcnJvcnMuIiIiCi0KLSAgICBkZWYgX19pbml0X18oc2VsZiwgbXNnLCBwb3NpdGlvbj0oTm9uZSwgTm9uZSkpOgotICAgICAgICBhc3NlcnQgbXNnCi0gICAgICAgIHNlbGYubXNnID0gbXNnCi0gICAgICAgIHNlbGYubGluZW5vID0gcG9zaXRpb25bMF0KLSAgICAgICAgc2VsZi5vZmZzZXQgPSBwb3NpdGlvblsxXQotCi0gICAgZGVmIF9fc3RyX18oc2VsZik6Ci0gICAgICAgIHJlc3VsdCA9IHNlbGYubXNnCi0gICAgICAgIGlmIHNlbGYubGluZW5vIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgcmVzdWx0ID0gcmVzdWx0ICsgIiwgYXQgbGluZSAlZCIgJSBzZWxmLmxpbmVubwotICAgICAgICBpZiBzZWxmLm9mZnNldCBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdCArICIsIGNvbHVtbiAlZCIgJSAoc2VsZi5vZmZzZXQgKyAxKQotICAgICAgICByZXR1cm4gcmVzdWx0Ci0KLQotX2RlZmF1bHRfc2VudGluZWwgPSBvYmplY3QoKQogCiBjbGFzcyBIVE1MUGFyc2VyKF9tYXJrdXBiYXNlLlBhcnNlckJhc2UpOgogICAgICIiIkZpbmQgdGFncyBhbmQgb3RoZXIgbWFya3VwIGFuZCBjYWxsIGhhbmRsZXIgZnVuY3Rpb25zLgpAQCAtMTIzLDI3ICs4NCwxMiBAQAogCiAgICAgQ0RBVEFfQ09OVEVOVF9FTEVNRU5UUyA9ICgic2NyaXB0IiwgInN0eWxlIikKIAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBzdHJpY3Q9X2RlZmF1bHRfc2VudGluZWwsICosCi0gICAgICAgICAgICAgICAgIGNvbnZlcnRfY2hhcnJlZnM9X2RlZmF1bHRfc2VudGluZWwpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCAqLCBjb252ZXJ0X2NoYXJyZWZzPVRydWUpOgogICAgICAgICAiIiJJbml0aWFsaXplIGFuZCByZXNldCB0aGlzIGluc3RhbmNlLgogCi0gICAgICAgIElmIGNvbnZlcnRfY2hhcnJlZnMgaXMgVHJ1ZSAoZGVmYXVsdDogRmFsc2UpLCBhbGwgY2hhcmFjdGVyIHJlZmVyZW5jZXMKKyAgICAgICAgSWYgY29udmVydF9jaGFycmVmcyBpcyBUcnVlICh0aGUgZGVmYXVsdCksIGFsbCBjaGFyYWN0ZXIgcmVmZXJlbmNlcwogICAgICAgICBhcmUgYXV0b21hdGljYWxseSBjb252ZXJ0ZWQgdG8gdGhlIGNvcnJlc3BvbmRpbmcgVW5pY29kZSBjaGFyYWN0ZXJzLgotICAgICAgICBJZiBzdHJpY3QgaXMgc2V0IHRvIEZhbHNlICh0aGUgZGVmYXVsdCkgdGhlIHBhcnNlciB3aWxsIHBhcnNlIGludmFsaWQKLSAgICAgICAgbWFya3VwLCBvdGhlcndpc2UgaXQgd2lsbCByYWlzZSBhbiBlcnJvci4gIE5vdGUgdGhhdCB0aGUgc3RyaWN0IG1vZGUKLSAgICAgICAgYW5kIGFyZ3VtZW50IGFyZSBkZXByZWNhdGVkLgogICAgICAgICAiIiIKLSAgICAgICAgaWYgc3RyaWN0IGlzIG5vdCBfZGVmYXVsdF9zZW50aW5lbDoKLSAgICAgICAgICAgIHdhcm5pbmdzLndhcm4oIlRoZSBzdHJpY3QgYXJndW1lbnQgYW5kIG1vZGUgYXJlIGRlcHJlY2F0ZWQuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgRGVwcmVjYXRpb25XYXJuaW5nLCBzdGFja2xldmVsPTIpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzdHJpY3QgPSBGYWxzZSAgIyBkZWZhdWx0Ci0gICAgICAgIHNlbGYuc3RyaWN0ID0gc3RyaWN0Ci0gICAgICAgIGlmIGNvbnZlcnRfY2hhcnJlZnMgaXMgX2RlZmF1bHRfc2VudGluZWw6Ci0gICAgICAgICAgICBjb252ZXJ0X2NoYXJyZWZzID0gRmFsc2UgICMgZGVmYXVsdAotICAgICAgICAgICAgd2FybmluZ3Mud2FybigiVGhlIHZhbHVlIG9mIGNvbnZlcnRfY2hhcnJlZnMgd2lsbCBiZWNvbWUgVHJ1ZSBpbiAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICIzLjUuIFlvdSBhcmUgZW5jb3VyYWdlZCB0byBzZXQgdGhlIHZhbHVlIGV4cGxpY2l0bHkuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgRGVwcmVjYXRpb25XYXJuaW5nLCBzdGFja2xldmVsPTIpCiAgICAgICAgIHNlbGYuY29udmVydF9jaGFycmVmcyA9IGNvbnZlcnRfY2hhcnJlZnMKICAgICAgICAgc2VsZi5yZXNldCgpCiAKQEAgLTE2OCwxMSArMTE0LDYgQEAKICAgICAgICAgIiIiSGFuZGxlIGFueSBidWZmZXJlZCBkYXRhLiIiIgogICAgICAgICBzZWxmLmdvYWhlYWQoMSkKIAotICAgIGRlZiBlcnJvcihzZWxmLCBtZXNzYWdlKToKLSAgICAgICAgd2FybmluZ3Mud2FybigiVGhlICdlcnJvcicgbWV0aG9kIGlzIGRlcHJlY2F0ZWQuIiwKLSAgICAgICAgICAgICAgICAgICAgICBEZXByZWNhdGlvbldhcm5pbmcsIHN0YWNrbGV2ZWw9MikKLSAgICAgICAgcmFpc2UgSFRNTFBhcnNlRXJyb3IobWVzc2FnZSwgc2VsZi5nZXRwb3MoKSkKLQogICAgIF9fc3RhcnR0YWdfdGV4dCA9IE5vbmUKIAogICAgIGRlZiBnZXRfc3RhcnR0YWdfdGV4dChzZWxmKToKQEAgLTIyNywxMCArMTY4LDcgQEAKICAgICAgICAgICAgICAgICBlbGlmIHN0YXJ0c3dpdGgoIjw/IiwgaSk6CiAgICAgICAgICAgICAgICAgICAgIGsgPSBzZWxmLnBhcnNlX3BpKGkpCiAgICAgICAgICAgICAgICAgZWxpZiBzdGFydHN3aXRoKCI8ISIsIGkpOgotICAgICAgICAgICAgICAgICAgICBpZiBzZWxmLnN0cmljdDoKLSAgICAgICAgICAgICAgICAgICAgICAgIGsgPSBzZWxmLnBhcnNlX2RlY2xhcmF0aW9uKGkpCi0gICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICBrID0gc2VsZi5wYXJzZV9odG1sX2RlY2xhcmF0aW9uKGkpCisgICAgICAgICAgICAgICAgICAgIGsgPSBzZWxmLnBhcnNlX2h0bWxfZGVjbGFyYXRpb24oaSkKICAgICAgICAgICAgICAgICBlbGlmIChpICsgMSkgPCBuOgogICAgICAgICAgICAgICAgICAgICBzZWxmLmhhbmRsZV9kYXRhKCI8IikKICAgICAgICAgICAgICAgICAgICAgayA9IGkgKyAxCkBAIC0yMzksOCArMTc3LDYgQEAKICAgICAgICAgICAgICAgICBpZiBrIDwgMDoKICAgICAgICAgICAgICAgICAgICAgaWYgbm90IGVuZDoKICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICAgICAgICAgIGlmIHNlbGYuc3RyaWN0OgotICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5lcnJvcigiRU9GIGluIG1pZGRsZSBvZiBjb25zdHJ1Y3QiKQogICAgICAgICAgICAgICAgICAgICBrID0gcmF3ZGF0YS5maW5kKCc+JywgaSArIDEpCiAgICAgICAgICAgICAgICAgICAgIGlmIGsgPCAwOgogICAgICAgICAgICAgICAgICAgICAgICAgayA9IHJhd2RhdGEuZmluZCgnPCcsIGkgKyAxKQpAQCAtMjgyLDEzICsyMTgsMTAgQEAKICAgICAgICAgICAgICAgICBpZiBtYXRjaDoKICAgICAgICAgICAgICAgICAgICAgIyBtYXRjaC5ncm91cCgpIHdpbGwgY29udGFpbiBhdCBsZWFzdCAyIGNoYXJzCiAgICAgICAgICAgICAgICAgICAgIGlmIGVuZCBhbmQgbWF0Y2guZ3JvdXAoKSA9PSByYXdkYXRhW2k6XToKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIHNlbGYuc3RyaWN0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZXJyb3IoIkVPRiBpbiBtaWRkbGUgb2YgZW50aXR5IG9yIGNoYXIgcmVmIikKLSAgICAgICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgayA9IG1hdGNoLmVuZCgpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgayA8PSBpOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrID0gbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkgPSBzZWxmLnVwZGF0ZXBvcyhpLCBpICsgMSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGsgPSBtYXRjaC5lbmQoKQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgayA8PSBpOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGsgPSBuCisgICAgICAgICAgICAgICAgICAgICAgICBpID0gc2VsZi51cGRhdGVwb3MoaSwgaSArIDEpCiAgICAgICAgICAgICAgICAgICAgICMgaW5jb21wbGV0ZQogICAgICAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICAgICAgIGVsaWYgKGkgKyAxKSA8IG46CkBAIC0zNjcsMTggKzMwMCwxMiBAQAogCiAgICAgICAgICMgTm93IHBhcnNlIHRoZSBkYXRhIGJldHdlZW4gaSsxIGFuZCBqIGludG8gYSB0YWcgYW5kIGF0dHJzCiAgICAgICAgIGF0dHJzID0gW10KLSAgICAgICAgaWYgc2VsZi5zdHJpY3Q6Ci0gICAgICAgICAgICBtYXRjaCA9IHRhZ2ZpbmQubWF0Y2gocmF3ZGF0YSwgaSsxKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgbWF0Y2ggPSB0YWdmaW5kX3RvbGVyYW50Lm1hdGNoKHJhd2RhdGEsIGkrMSkKKyAgICAgICAgbWF0Y2ggPSB0YWdmaW5kX3RvbGVyYW50Lm1hdGNoKHJhd2RhdGEsIGkrMSkKICAgICAgICAgYXNzZXJ0IG1hdGNoLCAndW5leHBlY3RlZCBjYWxsIHRvIHBhcnNlX3N0YXJ0dGFnKCknCiAgICAgICAgIGsgPSBtYXRjaC5lbmQoKQogICAgICAgICBzZWxmLmxhc3R0YWcgPSB0YWcgPSBtYXRjaC5ncm91cCgxKS5sb3dlcigpCiAgICAgICAgIHdoaWxlIGsgPCBlbmRwb3M6Ci0gICAgICAgICAgICBpZiBzZWxmLnN0cmljdDoKLSAgICAgICAgICAgICAgICBtID0gYXR0cmZpbmQubWF0Y2gocmF3ZGF0YSwgaykKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgbSA9IGF0dHJmaW5kX3RvbGVyYW50Lm1hdGNoKHJhd2RhdGEsIGspCisgICAgICAgICAgICBtID0gYXR0cmZpbmRfdG9sZXJhbnQubWF0Y2gocmF3ZGF0YSwgaykKICAgICAgICAgICAgIGlmIG5vdCBtOgogICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgICBhdHRybmFtZSwgcmVzdCwgYXR0cnZhbHVlID0gbS5ncm91cCgxLCAyLCAzKQpAQCAtNDAxLDkgKzMyOCw2IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBzZWxmLl9fc3RhcnR0YWdfdGV4dC5yZmluZCgiXG4iKQogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBvZmZzZXQgPSBvZmZzZXQgKyBsZW4oc2VsZi5fX3N0YXJ0dGFnX3RleHQpCi0gICAgICAgICAgICBpZiBzZWxmLnN0cmljdDoKLSAgICAgICAgICAgICAgICBzZWxmLmVycm9yKCJqdW5rIGNoYXJhY3RlcnMgaW4gc3RhcnQgdGFnOiAlciIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICUgKHJhd2RhdGFbazplbmRwb3NdWzoyMF0sKSkKICAgICAgICAgICAgIHNlbGYuaGFuZGxlX2RhdGEocmF3ZGF0YVtpOmVuZHBvc10pCiAgICAgICAgICAgICByZXR1cm4gZW5kcG9zCiAgICAgICAgIGlmIGVuZC5lbmRzd2l0aCgnLz4nKToKQEAgLTQxOSwxMCArMzQzLDcgQEAKICAgICAjIG9yIC0xIGlmIGluY29tcGxldGUuCiAgICAgZGVmIGNoZWNrX2Zvcl93aG9sZV9zdGFydF90YWcoc2VsZiwgaSk6CiAgICAgICAgIHJhd2RhdGEgPSBzZWxmLnJhd2RhdGEKLSAgICAgICAgaWYgc2VsZi5zdHJpY3Q6Ci0gICAgICAgICAgICBtID0gbG9jYXRlc3RhcnR0YWdlbmQubWF0Y2gocmF3ZGF0YSwgaSkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIG0gPSBsb2NhdGVzdGFydHRhZ2VuZF90b2xlcmFudC5tYXRjaChyYXdkYXRhLCBpKQorICAgICAgICBtID0gbG9jYXRlc3RhcnR0YWdlbmRfdG9sZXJhbnQubWF0Y2gocmF3ZGF0YSwgaSkKICAgICAgICAgaWYgbToKICAgICAgICAgICAgIGogPSBtLmVuZCgpCiAgICAgICAgICAgICBuZXh0ID0gcmF3ZGF0YVtqOmorMV0KQEAgLTQzNSw5ICszNTYsNiBAQAogICAgICAgICAgICAgICAgICAgICAjIGJ1ZmZlciBib3VuZGFyeQogICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTEKICAgICAgICAgICAgICAgICAjIGVsc2UgYm9ndXMgaW5wdXQKLSAgICAgICAgICAgICAgICBpZiBzZWxmLnN0cmljdDoKLSAgICAgICAgICAgICAgICAgICAgc2VsZi51cGRhdGVwb3MoaSwgaiArIDEpCi0gICAgICAgICAgICAgICAgICAgIHNlbGYuZXJyb3IoIm1hbGZvcm1lZCBlbXB0eSBzdGFydCB0YWciKQogICAgICAgICAgICAgICAgIGlmIGogPiBpOgogICAgICAgICAgICAgICAgICAgICByZXR1cm4gagogICAgICAgICAgICAgICAgIGVsc2U6CkBAIC00NTAsOSArMzY4LDYgQEAKICAgICAgICAgICAgICAgICAjIGVuZCBvZiBpbnB1dCBpbiBvciBiZWZvcmUgYXR0cmlidXRlIHZhbHVlLCBvciB3ZSBoYXZlIHRoZQogICAgICAgICAgICAgICAgICMgJy8nIGZyb20gYSAnLz4nIGVuZGluZwogICAgICAgICAgICAgICAgIHJldHVybiAtMQotICAgICAgICAgICAgaWYgc2VsZi5zdHJpY3Q6Ci0gICAgICAgICAgICAgICAgc2VsZi51cGRhdGVwb3MoaSwgaikKLSAgICAgICAgICAgICAgICBzZWxmLmVycm9yKCJtYWxmb3JtZWQgc3RhcnQgdGFnIikKICAgICAgICAgICAgIGlmIGogPiBpOgogICAgICAgICAgICAgICAgIHJldHVybiBqCiAgICAgICAgICAgICBlbHNlOgpAQCAtNDcyLDggKzM4Nyw2IEBACiAgICAgICAgICAgICBpZiBzZWxmLmNkYXRhX2VsZW0gaXMgbm90IE5vbmU6CiAgICAgICAgICAgICAgICAgc2VsZi5oYW5kbGVfZGF0YShyYXdkYXRhW2k6Z3Rwb3NdKQogICAgICAgICAgICAgICAgIHJldHVybiBndHBvcwotICAgICAgICAgICAgaWYgc2VsZi5zdHJpY3Q6Ci0gICAgICAgICAgICAgICAgc2VsZi5lcnJvcigiYmFkIGVuZCB0YWc6ICVyIiAlIChyYXdkYXRhW2k6Z3Rwb3NdLCkpCiAgICAgICAgICAgICAjIGZpbmQgdGhlIG5hbWU6IHczLm9yZy9UUi9odG1sNS90b2tlbml6YXRpb24uaHRtbCN0YWctbmFtZS1zdGF0ZQogICAgICAgICAgICAgbmFtZW1hdGNoID0gdGFnZmluZF90b2xlcmFudC5tYXRjaChyYXdkYXRhLCBpKzIpCiAgICAgICAgICAgICBpZiBub3QgbmFtZW1hdGNoOgpAQCAtNTM5LDggKzQ1Miw3IEBACiAgICAgICAgIHBhc3MKIAogICAgIGRlZiB1bmtub3duX2RlY2woc2VsZiwgZGF0YSk6Ci0gICAgICAgIGlmIHNlbGYuc3RyaWN0OgotICAgICAgICAgICAgc2VsZi5lcnJvcigidW5rbm93biBkZWNsYXJhdGlvbjogJXIiICUgKGRhdGEsKSkKKyAgICAgICAgcGFzcwogCiAgICAgIyBJbnRlcm5hbCAtLSBoZWxwZXIgdG8gcmVtb3ZlIHNwZWNpYWwgY2hhcmFjdGVyIHF1b3RpbmcKICAgICBkZWYgdW5lc2NhcGUoc2VsZiwgcyk6CmRpZmYgLS1naXQgYS9MaWIvaHR0cC9fX2luaXRfXy5weSBiL0xpYi9odHRwL19faW5pdF9fLnB5CmluZGV4IDE5NmQzNzguLjQ3NWYxYzAgMTAwNjQ0Ci0tLSBhL0xpYi9odHRwL19faW5pdF9fLnB5CisrKyBiL0xpYi9odHRwL19faW5pdF9fLnB5CkBAIC0xICsxLDEzNCBAQAotIyBUaGlzIGRpcmVjdG9yeSBpcyBhIFB5dGhvbiBwYWNrYWdlLgorZnJvbSBlbnVtIGltcG9ydCBJbnRFbnVtCisKK19fYWxsX18gPSBbJ0hUVFBTdGF0dXMnXQorCitjbGFzcyBIVFRQU3RhdHVzKEludEVudW0pOgorICAgICIiIkhUVFAgc3RhdHVzIGNvZGVzIGFuZCByZWFzb24gcGhyYXNlcworCisgICAgU3RhdHVzIGNvZGVzIGZyb20gdGhlIGZvbGxvd2luZyBSRkNzIGFyZSBhbGwgb2JzZXJ2ZWQ6CisKKyAgICAgICAgKiBSRkMgNzIzMTogSHlwZXJ0ZXh0IFRyYW5zZmVyIFByb3RvY29sIChIVFRQLzEuMSksIG9ic29sZXRlcyAyNjE2CisgICAgICAgICogUkZDIDY1ODU6IEFkZGl0aW9uYWwgSFRUUCBTdGF0dXMgQ29kZXMKKyAgICAgICAgKiBSRkMgMzIyOTogRGVsdGEgZW5jb2RpbmcgaW4gSFRUUAorICAgICAgICAqIFJGQyA0OTE4OiBIVFRQIEV4dGVuc2lvbnMgZm9yIFdlYkRBViwgb2Jzb2xldGVzIDI1MTgKKyAgICAgICAgKiBSRkMgNTg0MjogQmluZGluZyBFeHRlbnNpb25zIHRvIFdlYkRBVgorICAgICAgICAqIFJGQyA3MjM4OiBQZXJtYW5lbnQgUmVkaXJlY3QKKyAgICAgICAgKiBSRkMgMjI5NTogVHJhbnNwYXJlbnQgQ29udGVudCBOZWdvdGlhdGlvbiBpbiBIVFRQCisgICAgICAgICogUkZDIDI3NzQ6IEFuIEhUVFAgRXh0ZW5zaW9uIEZyYW1ld29yaworICAgICIiIgorICAgIGRlZiBfX25ld19fKGNscywgdmFsdWUsIHBocmFzZSwgZGVzY3JpcHRpb249JycpOgorICAgICAgICBvYmogPSBpbnQuX19uZXdfXyhjbHMsIHZhbHVlKQorICAgICAgICBvYmouX3ZhbHVlXyA9IHZhbHVlCisKKyAgICAgICAgb2JqLnBocmFzZSA9IHBocmFzZQorICAgICAgICBvYmouZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvbgorICAgICAgICByZXR1cm4gb2JqCisKKyAgICAjIGluZm9ybWF0aW9uYWwKKyAgICBDT05USU5VRSA9IDEwMCwgJ0NvbnRpbnVlJywgJ1JlcXVlc3QgcmVjZWl2ZWQsIHBsZWFzZSBjb250aW51ZScKKyAgICBTV0lUQ0hJTkdfUFJPVE9DT0xTID0gKDEwMSwgJ1N3aXRjaGluZyBQcm90b2NvbHMnLAorICAgICAgICAgICAgJ1N3aXRjaGluZyB0byBuZXcgcHJvdG9jb2w7IG9iZXkgVXBncmFkZSBoZWFkZXInKQorICAgIFBST0NFU1NJTkcgPSAxMDIsICdQcm9jZXNzaW5nJworCisgICAgIyBzdWNjZXNzCisgICAgT0sgPSAyMDAsICdPSycsICdSZXF1ZXN0IGZ1bGZpbGxlZCwgZG9jdW1lbnQgZm9sbG93cycKKyAgICBDUkVBVEVEID0gMjAxLCAnQ3JlYXRlZCcsICdEb2N1bWVudCBjcmVhdGVkLCBVUkwgZm9sbG93cycKKyAgICBBQ0NFUFRFRCA9ICgyMDIsICdBY2NlcHRlZCcsCisgICAgICAgICdSZXF1ZXN0IGFjY2VwdGVkLCBwcm9jZXNzaW5nIGNvbnRpbnVlcyBvZmYtbGluZScpCisgICAgTk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04gPSAoMjAzLAorICAgICAgICAnTm9uLUF1dGhvcml0YXRpdmUgSW5mb3JtYXRpb24nLCAnUmVxdWVzdCBmdWxmaWxsZWQgZnJvbSBjYWNoZScpCisgICAgTk9fQ09OVEVOVCA9IDIwNCwgJ05vIENvbnRlbnQnLCAnUmVxdWVzdCBmdWxmaWxsZWQsIG5vdGhpbmcgZm9sbG93cycKKyAgICBSRVNFVF9DT05URU5UID0gMjA1LCAnUmVzZXQgQ29udGVudCcsICdDbGVhciBpbnB1dCBmb3JtIGZvciBmdXJ0aGVyIGlucHV0JworICAgIFBBUlRJQUxfQ09OVEVOVCA9IDIwNiwgJ1BhcnRpYWwgQ29udGVudCcsICdQYXJ0aWFsIGNvbnRlbnQgZm9sbG93cycKKyAgICBNVUxUSV9TVEFUVVMgPSAyMDcsICdNdWx0aS1TdGF0dXMnCisgICAgQUxSRUFEWV9SRVBPUlRFRCA9IDIwOCwgJ0FscmVhZHkgUmVwb3J0ZWQnCisgICAgSU1fVVNFRCA9IDIyNiwgJ0lNIFVzZWQnCisKKyAgICAjIHJlZGlyZWN0aW9uCisgICAgTVVMVElQTEVfQ0hPSUNFUyA9ICgzMDAsICdNdWx0aXBsZSBDaG9pY2VzJywKKyAgICAgICAgJ09iamVjdCBoYXMgc2V2ZXJhbCByZXNvdXJjZXMgLS0gc2VlIFVSSSBsaXN0JykKKyAgICBNT1ZFRF9QRVJNQU5FTlRMWSA9ICgzMDEsICdNb3ZlZCBQZXJtYW5lbnRseScsCisgICAgICAgICdPYmplY3QgbW92ZWQgcGVybWFuZW50bHkgLS0gc2VlIFVSSSBsaXN0JykKKyAgICBGT1VORCA9IDMwMiwgJ0ZvdW5kJywgJ09iamVjdCBtb3ZlZCB0ZW1wb3JhcmlseSAtLSBzZWUgVVJJIGxpc3QnCisgICAgU0VFX09USEVSID0gMzAzLCAnU2VlIE90aGVyJywgJ09iamVjdCBtb3ZlZCAtLSBzZWUgTWV0aG9kIGFuZCBVUkwgbGlzdCcKKyAgICBOT1RfTU9ESUZJRUQgPSAoMzA0LCAnTm90IE1vZGlmaWVkJywKKyAgICAgICAgJ0RvY3VtZW50IGhhcyBub3QgY2hhbmdlZCBzaW5jZSBnaXZlbiB0aW1lJykKKyAgICBVU0VfUFJPWFkgPSAoMzA1LCAnVXNlIFByb3h5JywKKyAgICAgICAgJ1lvdSBtdXN0IHVzZSBwcm94eSBzcGVjaWZpZWQgaW4gTG9jYXRpb24gdG8gYWNjZXNzIHRoaXMgcmVzb3VyY2UnKQorICAgIFRFTVBPUkFSWV9SRURJUkVDVCA9ICgzMDcsICdUZW1wb3JhcnkgUmVkaXJlY3QnLAorICAgICAgICAnT2JqZWN0IG1vdmVkIHRlbXBvcmFyaWx5IC0tIHNlZSBVUkkgbGlzdCcpCisgICAgUEVSTUFORU5UX1JFRElSRUNUID0gKDMwOCwgJ1Blcm1hbmVudCBSZWRpcmVjdCcsCisgICAgICAgICdPYmplY3QgbW92ZWQgdGVtcG9yYXJpbHkgLS0gc2VlIFVSSSBsaXN0JykKKworICAgICMgY2xpZW50IGVycm9yCisgICAgQkFEX1JFUVVFU1QgPSAoNDAwLCAnQmFkIFJlcXVlc3QnLAorICAgICAgICAnQmFkIHJlcXVlc3Qgc3ludGF4IG9yIHVuc3VwcG9ydGVkIG1ldGhvZCcpCisgICAgVU5BVVRIT1JJWkVEID0gKDQwMSwgJ1VuYXV0aG9yaXplZCcsCisgICAgICAgICdObyBwZXJtaXNzaW9uIC0tIHNlZSBhdXRob3JpemF0aW9uIHNjaGVtZXMnKQorICAgIFBBWU1FTlRfUkVRVUlSRUQgPSAoNDAyLCAnUGF5bWVudCBSZXF1aXJlZCcsCisgICAgICAgICdObyBwYXltZW50IC0tIHNlZSBjaGFyZ2luZyBzY2hlbWVzJykKKyAgICBGT1JCSURERU4gPSAoNDAzLCAnRm9yYmlkZGVuJywKKyAgICAgICAgJ1JlcXVlc3QgZm9yYmlkZGVuIC0tIGF1dGhvcml6YXRpb24gd2lsbCBub3QgaGVscCcpCisgICAgTk9UX0ZPVU5EID0gKDQwNCwgJ05vdCBGb3VuZCcsCisgICAgICAgICdOb3RoaW5nIG1hdGNoZXMgdGhlIGdpdmVuIFVSSScpCisgICAgTUVUSE9EX05PVF9BTExPV0VEID0gKDQwNSwgJ01ldGhvZCBOb3QgQWxsb3dlZCcsCisgICAgICAgICdTcGVjaWZpZWQgbWV0aG9kIGlzIGludmFsaWQgZm9yIHRoaXMgcmVzb3VyY2UnKQorICAgIE5PVF9BQ0NFUFRBQkxFID0gKDQwNiwgJ05vdCBBY2NlcHRhYmxlJywKKyAgICAgICAgJ1VSSSBub3QgYXZhaWxhYmxlIGluIHByZWZlcnJlZCBmb3JtYXQnKQorICAgIFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEID0gKDQwNywKKyAgICAgICAgJ1Byb3h5IEF1dGhlbnRpY2F0aW9uIFJlcXVpcmVkJywKKyAgICAgICAgJ1lvdSBtdXN0IGF1dGhlbnRpY2F0ZSB3aXRoIHRoaXMgcHJveHkgYmVmb3JlIHByb2NlZWRpbmcnKQorICAgIFJFUVVFU1RfVElNRU9VVCA9ICg0MDgsICdSZXF1ZXN0IFRpbWVvdXQnLAorICAgICAgICAnUmVxdWVzdCB0aW1lZCBvdXQ7IHRyeSBhZ2FpbiBsYXRlcicpCisgICAgQ09ORkxJQ1QgPSA0MDksICdDb25mbGljdCcsICdSZXF1ZXN0IGNvbmZsaWN0JworICAgIEdPTkUgPSAoNDEwLCAnR29uZScsCisgICAgICAgICdVUkkgbm8gbG9uZ2VyIGV4aXN0cyBhbmQgaGFzIGJlZW4gcGVybWFuZW50bHkgcmVtb3ZlZCcpCisgICAgTEVOR1RIX1JFUVVJUkVEID0gKDQxMSwgJ0xlbmd0aCBSZXF1aXJlZCcsCisgICAgICAgICdDbGllbnQgbXVzdCBzcGVjaWZ5IENvbnRlbnQtTGVuZ3RoJykKKyAgICBQUkVDT05ESVRJT05fRkFJTEVEID0gKDQxMiwgJ1ByZWNvbmRpdGlvbiBGYWlsZWQnLAorICAgICAgICAnUHJlY29uZGl0aW9uIGluIGhlYWRlcnMgaXMgZmFsc2UnKQorICAgIFJFUVVFU1RfRU5USVRZX1RPT19MQVJHRSA9ICg0MTMsICdSZXF1ZXN0IEVudGl0eSBUb28gTGFyZ2UnLAorICAgICAgICAnRW50aXR5IGlzIHRvbyBsYXJnZScpCisgICAgUkVRVUVTVF9VUklfVE9PX0xPTkcgPSAoNDE0LCAnUmVxdWVzdC1VUkkgVG9vIExvbmcnLAorICAgICAgICAnVVJJIGlzIHRvbyBsb25nJykKKyAgICBVTlNVUFBPUlRFRF9NRURJQV9UWVBFID0gKDQxNSwgJ1Vuc3VwcG9ydGVkIE1lZGlhIFR5cGUnLAorICAgICAgICAnRW50aXR5IGJvZHkgaW4gdW5zdXBwb3J0ZWQgZm9ybWF0JykKKyAgICBSRVFVRVNUX1JBTkdFX05PVF9TQVRJU0ZJQUJMRSA9ICg0MTYsCisgICAgICAgICdSZXF1ZXN0IFJhbmdlIE5vdCBTYXRpc2ZpYWJsZScsCisgICAgICAgICdDYW5ub3Qgc2F0aXNmeSByZXF1ZXN0IHJhbmdlJykKKyAgICBFWFBFQ1RBVElPTl9GQUlMRUQgPSAoNDE3LCAnRXhwZWN0YXRpb24gRmFpbGVkJywKKyAgICAgICAgJ0V4cGVjdCBjb25kaXRpb24gY291bGQgbm90IGJlIHNhdGlzZmllZCcpCisgICAgVU5QUk9DRVNTQUJMRV9FTlRJVFkgPSA0MjIsICdVbnByb2Nlc3NhYmxlIEVudGl0eScKKyAgICBMT0NLRUQgPSA0MjMsICdMb2NrZWQnCisgICAgRkFJTEVEX0RFUEVOREVOQ1kgPSA0MjQsICdGYWlsZWQgRGVwZW5kZW5jeScKKyAgICBVUEdSQURFX1JFUVVJUkVEID0gNDI2LCAnVXBncmFkZSBSZXF1aXJlZCcKKyAgICBQUkVDT05ESVRJT05fUkVRVUlSRUQgPSAoNDI4LCAnUHJlY29uZGl0aW9uIFJlcXVpcmVkJywKKyAgICAgICAgJ1RoZSBvcmlnaW4gc2VydmVyIHJlcXVpcmVzIHRoZSByZXF1ZXN0IHRvIGJlIGNvbmRpdGlvbmFsJykKKyAgICBUT09fTUFOWV9SRVFVRVNUUyA9ICg0MjksICdUb28gTWFueSBSZXF1ZXN0cycsCisgICAgICAgICdUaGUgdXNlciBoYXMgc2VudCB0b28gbWFueSByZXF1ZXN0cyBpbiAnCisgICAgICAgICdhIGdpdmVuIGFtb3VudCBvZiB0aW1lICgicmF0ZSBsaW1pdGluZyIpJykKKyAgICBSRVFVRVNUX0hFQURFUl9GSUVMRF9UT09fTEFSR0UgPSAoNDMxLAorICAgICAgICAnUmVxdWVzdCBIZWFkZXIgRmllbGQgVG9vIExhcmdlJywKKyAgICAgICAgJ1RoZSBzZXJ2ZXIgaXMgdW53aWxsaW5nIHRvIHByb2Nlc3MgdGhlIHJlcXVlc3QgYmVjYXVzZSBpdHMgaGVhZGVyICcKKyAgICAgICAgJ2ZpZWxkcyBhcmUgdG9vIGxhcmdlJykKKworICAgICMgc2VydmVyIGVycm9ycworICAgIElOVEVSTkFMX1NFUlZFUl9FUlJPUiA9ICg1MDAsICdJbnRlcm5hbCBTZXJ2ZXIgRXJyb3InLAorICAgICAgICAnU2VydmVyIGdvdCBpdHNlbGYgaW4gdHJvdWJsZScpCisgICAgTk9UX0lNUExFTUVOVEVEID0gKDUwMSwgJ05vdCBJbXBsZW1lbnRlZCcsCisgICAgICAgICdTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCB0aGlzIG9wZXJhdGlvbicpCisgICAgQkFEX0dBVEVXQVkgPSAoNTAyLCAnQmFkIEdhdGV3YXknLAorICAgICAgICAnSW52YWxpZCByZXNwb25zZXMgZnJvbSBhbm90aGVyIHNlcnZlci9wcm94eScpCisgICAgU0VSVklDRV9VTkFWQUlMQUJMRSA9ICg1MDMsICdTZXJ2aWNlIFVuYXZhaWxhYmxlJywKKyAgICAgICAgJ1RoZSBzZXJ2ZXIgY2Fubm90IHByb2Nlc3MgdGhlIHJlcXVlc3QgZHVlIHRvIGEgaGlnaCBsb2FkJykKKyAgICBHQVRFV0FZX1RJTUVPVVQgPSAoNTA0LCAnR2F0ZXdheSBUaW1lb3V0JywKKyAgICAgICAgJ1RoZSBnYXRld2F5IHNlcnZlciBkaWQgbm90IHJlY2VpdmUgYSB0aW1lbHkgcmVzcG9uc2UnKQorICAgIEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEID0gKDUwNSwgJ0hUVFAgVmVyc2lvbiBOb3QgU3VwcG9ydGVkJywKKyAgICAgICAgJ0Nhbm5vdCBmdWxmaWxsIHJlcXVlc3QnKQorICAgIFZBUklBTlRfQUxTT19ORUdPVElBVEVTID0gNTA2LCAnVmFyaWFudCBBbHNvIE5lZ290aWF0ZXMnCisgICAgSU5TVUZGSUNJRU5UX1NUT1JBR0UgPSA1MDcsICdJbnN1ZmZpY2llbnQgU3RvcmFnZScKKyAgICBMT09QX0RFVEVDVEVEID0gNTA4LCAnTG9vcCBEZXRlY3RlZCcKKyAgICBOT1RfRVhURU5ERUQgPSA1MTAsICdOb3QgRXh0ZW5kZWQnCisgICAgTkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRCA9ICg1MTEsCisgICAgICAgICdOZXR3b3JrIEF1dGhlbnRpY2F0aW9uIFJlcXVpcmVkJywKKyAgICAgICAgJ1RoZSBjbGllbnQgbmVlZHMgdG8gYXV0aGVudGljYXRlIHRvIGdhaW4gbmV0d29yayBhY2Nlc3MnKQpkaWZmIC0tZ2l0IGEvTGliL2h0dHAvY2xpZW50LnB5IGIvTGliL2h0dHAvY2xpZW50LnB5CmluZGV4IDZkZTRiMGUuLmE3N2U1MDEgMTAwNjQ0Ci0tLSBhL0xpYi9odHRwL2NsaWVudC5weQorKysgYi9MaWIvaHR0cC9jbGllbnQucHkKQEAgLTY4LDYgKzY4LDcgQEAKIAogaW1wb3J0IGVtYWlsLnBhcnNlcgogaW1wb3J0IGVtYWlsLm1lc3NhZ2UKK2ltcG9ydCBodHRwCiBpbXBvcnQgaW8KIGltcG9ydCBvcwogaW1wb3J0IHNvY2tldApAQCAtOTEsMTIyICs5MiwxMyBAQAogX0NTX1JFUV9TVEFSVEVEID0gJ1JlcXVlc3Qtc3RhcnRlZCcKIF9DU19SRVFfU0VOVCA9ICdSZXF1ZXN0LXNlbnQnCiAKLSMgc3RhdHVzIGNvZGVzCi0jIGluZm9ybWF0aW9uYWwKLUNPTlRJTlVFID0gMTAwCi1TV0lUQ0hJTkdfUFJPVE9DT0xTID0gMTAxCi1QUk9DRVNTSU5HID0gMTAyCiAKLSMgc3VjY2Vzc2Z1bAotT0sgPSAyMDAKLUNSRUFURUQgPSAyMDEKLUFDQ0VQVEVEID0gMjAyCi1OT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTiA9IDIwMwotTk9fQ09OVEVOVCA9IDIwNAotUkVTRVRfQ09OVEVOVCA9IDIwNQotUEFSVElBTF9DT05URU5UID0gMjA2Ci1NVUxUSV9TVEFUVVMgPSAyMDcKLUlNX1VTRUQgPSAyMjYKKyMgaGFjayB0byBtYWludGFpbiBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eQorZ2xvYmFscygpLnVwZGF0ZShodHRwLkhUVFBTdGF0dXMuX19tZW1iZXJzX18pCiAKLSMgcmVkaXJlY3Rpb24KLU1VTFRJUExFX0NIT0lDRVMgPSAzMDAKLU1PVkVEX1BFUk1BTkVOVExZID0gMzAxCi1GT1VORCA9IDMwMgotU0VFX09USEVSID0gMzAzCi1OT1RfTU9ESUZJRUQgPSAzMDQKLVVTRV9QUk9YWSA9IDMwNQotVEVNUE9SQVJZX1JFRElSRUNUID0gMzA3Ci0KLSMgY2xpZW50IGVycm9yCi1CQURfUkVRVUVTVCA9IDQwMAotVU5BVVRIT1JJWkVEID0gNDAxCi1QQVlNRU5UX1JFUVVJUkVEID0gNDAyCi1GT1JCSURERU4gPSA0MDMKLU5PVF9GT1VORCA9IDQwNAotTUVUSE9EX05PVF9BTExPV0VEID0gNDA1Ci1OT1RfQUNDRVBUQUJMRSA9IDQwNgotUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQgPSA0MDcKLVJFUVVFU1RfVElNRU9VVCA9IDQwOAotQ09ORkxJQ1QgPSA0MDkKLUdPTkUgPSA0MTAKLUxFTkdUSF9SRVFVSVJFRCA9IDQxMQotUFJFQ09ORElUSU9OX0ZBSUxFRCA9IDQxMgotUkVRVUVTVF9FTlRJVFlfVE9PX0xBUkdFID0gNDEzCi1SRVFVRVNUX1VSSV9UT09fTE9ORyA9IDQxNAotVU5TVVBQT1JURURfTUVESUFfVFlQRSA9IDQxNQotUkVRVUVTVEVEX1JBTkdFX05PVF9TQVRJU0ZJQUJMRSA9IDQxNgotRVhQRUNUQVRJT05fRkFJTEVEID0gNDE3Ci1VTlBST0NFU1NBQkxFX0VOVElUWSA9IDQyMgotTE9DS0VEID0gNDIzCi1GQUlMRURfREVQRU5ERU5DWSA9IDQyNAotVVBHUkFERV9SRVFVSVJFRCA9IDQyNgotUFJFQ09ORElUSU9OX1JFUVVJUkVEID0gNDI4Ci1UT09fTUFOWV9SRVFVRVNUUyA9IDQyOQotUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRSA9IDQzMQotCi0jIHNlcnZlciBlcnJvcgotSU5URVJOQUxfU0VSVkVSX0VSUk9SID0gNTAwCi1OT1RfSU1QTEVNRU5URUQgPSA1MDEKLUJBRF9HQVRFV0FZID0gNTAyCi1TRVJWSUNFX1VOQVZBSUxBQkxFID0gNTAzCi1HQVRFV0FZX1RJTUVPVVQgPSA1MDQKLUhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEID0gNTA1Ci1JTlNVRkZJQ0lFTlRfU1RPUkFHRSA9IDUwNwotTk9UX0VYVEVOREVEID0gNTEwCi1ORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEID0gNTExCi0KKyMgYW5vdGhlciBoYWNrIHRvIG1haW50YWluIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5CiAjIE1hcHBpbmcgc3RhdHVzIGNvZGVzIHRvIG9mZmljaWFsIFczQyBuYW1lcwotcmVzcG9uc2VzID0gewotICAgIDEwMDogJ0NvbnRpbnVlJywKLSAgICAxMDE6ICdTd2l0Y2hpbmcgUHJvdG9jb2xzJywKLQotICAgIDIwMDogJ09LJywKLSAgICAyMDE6ICdDcmVhdGVkJywKLSAgICAyMDI6ICdBY2NlcHRlZCcsCi0gICAgMjAzOiAnTm9uLUF1dGhvcml0YXRpdmUgSW5mb3JtYXRpb24nLAotICAgIDIwNDogJ05vIENvbnRlbnQnLAotICAgIDIwNTogJ1Jlc2V0IENvbnRlbnQnLAotICAgIDIwNjogJ1BhcnRpYWwgQ29udGVudCcsCi0KLSAgICAzMDA6ICdNdWx0aXBsZSBDaG9pY2VzJywKLSAgICAzMDE6ICdNb3ZlZCBQZXJtYW5lbnRseScsCi0gICAgMzAyOiAnRm91bmQnLAotICAgIDMwMzogJ1NlZSBPdGhlcicsCi0gICAgMzA0OiAnTm90IE1vZGlmaWVkJywKLSAgICAzMDU6ICdVc2UgUHJveHknLAotICAgIDMwNjogJyhVbnVzZWQpJywKLSAgICAzMDc6ICdUZW1wb3JhcnkgUmVkaXJlY3QnLAotCi0gICAgNDAwOiAnQmFkIFJlcXVlc3QnLAotICAgIDQwMTogJ1VuYXV0aG9yaXplZCcsCi0gICAgNDAyOiAnUGF5bWVudCBSZXF1aXJlZCcsCi0gICAgNDAzOiAnRm9yYmlkZGVuJywKLSAgICA0MDQ6ICdOb3QgRm91bmQnLAotICAgIDQwNTogJ01ldGhvZCBOb3QgQWxsb3dlZCcsCi0gICAgNDA2OiAnTm90IEFjY2VwdGFibGUnLAotICAgIDQwNzogJ1Byb3h5IEF1dGhlbnRpY2F0aW9uIFJlcXVpcmVkJywKLSAgICA0MDg6ICdSZXF1ZXN0IFRpbWVvdXQnLAotICAgIDQwOTogJ0NvbmZsaWN0JywKLSAgICA0MTA6ICdHb25lJywKLSAgICA0MTE6ICdMZW5ndGggUmVxdWlyZWQnLAotICAgIDQxMjogJ1ByZWNvbmRpdGlvbiBGYWlsZWQnLAotICAgIDQxMzogJ1JlcXVlc3QgRW50aXR5IFRvbyBMYXJnZScsCi0gICAgNDE0OiAnUmVxdWVzdC1VUkkgVG9vIExvbmcnLAotICAgIDQxNTogJ1Vuc3VwcG9ydGVkIE1lZGlhIFR5cGUnLAotICAgIDQxNjogJ1JlcXVlc3RlZCBSYW5nZSBOb3QgU2F0aXNmaWFibGUnLAotICAgIDQxNzogJ0V4cGVjdGF0aW9uIEZhaWxlZCcsCi0gICAgNDI4OiAnUHJlY29uZGl0aW9uIFJlcXVpcmVkJywKLSAgICA0Mjk6ICdUb28gTWFueSBSZXF1ZXN0cycsCi0gICAgNDMxOiAnUmVxdWVzdCBIZWFkZXIgRmllbGRzIFRvbyBMYXJnZScsCi0KLSAgICA1MDA6ICdJbnRlcm5hbCBTZXJ2ZXIgRXJyb3InLAotICAgIDUwMTogJ05vdCBJbXBsZW1lbnRlZCcsCi0gICAgNTAyOiAnQmFkIEdhdGV3YXknLAotICAgIDUwMzogJ1NlcnZpY2UgVW5hdmFpbGFibGUnLAotICAgIDUwNDogJ0dhdGV3YXkgVGltZW91dCcsCi0gICAgNTA1OiAnSFRUUCBWZXJzaW9uIE5vdCBTdXBwb3J0ZWQnLAotICAgIDUxMTogJ05ldHdvcmsgQXV0aGVudGljYXRpb24gUmVxdWlyZWQnLAotfQorcmVzcG9uc2VzID0ge3Y6IHYucGhyYXNlIGZvciB2IGluIGh0dHAuSFRUUFN0YXR1cy5fX21lbWJlcnNfXy52YWx1ZXMoKX0KIAogIyBtYXhpbWFsIGFtb3VudCBvZiBkYXRhIHRvIHJlYWQgYXQgb25lIHRpbWUgaW4gX3NhZmVfcmVhZAogTUFYQU1PVU5UID0gMTA0ODU3NgpAQCAtMjcwLDcgKzE2Miw3IEBACiAgICAgcmV0dXJuIGVtYWlsLnBhcnNlci5QYXJzZXIoX2NsYXNzPV9jbGFzcykucGFyc2VzdHIoaHN0cmluZykKIAogCi1jbGFzcyBIVFRQUmVzcG9uc2UoaW8uUmF3SU9CYXNlKToKK2NsYXNzIEhUVFBSZXNwb25zZShpby5CdWZmZXJlZElPQmFzZSk6CiAKICAgICAjIFNlZSBSRkMgMjYxNiBzZWMgMTkuNiBhbmQgUkZDIDE5NDUgc2VjIDYgZm9yIGRldGFpbHMuCiAKQEAgLTQ5NSw5ICszODcsMTAgQEAKICAgICAgICAgICAgIHJldHVybiBiIiIKIAogICAgICAgICBpZiBhbXQgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAjIEFtb3VudCBpcyBnaXZlbiwgc28gY2FsbCBiYXNlIGNsYXNzIHZlcnNpb24KLSAgICAgICAgICAgICMgKHdoaWNoIGlzIGltcGxlbWVudGVkIGluIHRlcm1zIG9mIHNlbGYucmVhZGludG8pCi0gICAgICAgICAgICByZXR1cm4gc3VwZXIoSFRUUFJlc3BvbnNlLCBzZWxmKS5yZWFkKGFtdCkKKyAgICAgICAgICAgICMgQW1vdW50IGlzIGdpdmVuLCBpbXBsZW1lbnQgdXNpbmcgcmVhZGludG8KKyAgICAgICAgICAgIGIgPSBieXRlYXJyYXkoYW10KQorICAgICAgICAgICAgbiA9IHNlbGYucmVhZGludG8oYikKKyAgICAgICAgICAgIHJldHVybiBtZW1vcnl2aWV3KGIpWzpuXS50b2J5dGVzKCkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgICMgQW1vdW50IGlzIG5vdCBnaXZlbiAodW5ib3VuZGVkIHJlYWQpIHNvIHdlIG11c3QgY2hlY2sgc2VsZi5sZW5ndGgKICAgICAgICAgICAgICMgYW5kIHNlbGYuY2h1bmtlZApAQCAtNTc3LDcxICs0NzAsNjcgQEAKICAgICAgICAgICAgIGlmIGxpbmUgaW4gKGInXHJcbicsIGInXG4nLCBiJycpOgogICAgICAgICAgICAgICAgIGJyZWFrCiAKKyAgICBkZWYgX2dldF9jaHVua19sZWZ0KHNlbGYpOgorICAgICAgICAjIHJldHVybiBzZWxmLmNodW5rX2xlZnQsIHJlYWRpbmcgYSBuZXcgY2h1bmsgaWYgbmVjZXNzYXJ5LgorICAgICAgICAjIGNodW5rX2xlZnQgPT0gMDogYXQgdGhlIGVuZCBvZiB0aGUgY3VycmVudCBjaHVuaywgbmVlZCB0byBjbG9zZSBpdAorICAgICAgICAjIGNodW5rX2xlZnQgPT0gTm9uZTogTm8gY3VycmVudCBjaHVuaywgc2hvdWxkIHJlYWQgbmV4dC4KKyAgICAgICAgIyBUaGlzIGZ1bmN0aW9uIHJldHVybnMgbm9uLXplcm8gb3IgTm9uZSBpZiB0aGUgbGFzdCBjaHVuayBoYXMKKyAgICAgICAgIyBiZWVuIHJlYWQuCisgICAgICAgIGNodW5rX2xlZnQgPSBzZWxmLmNodW5rX2xlZnQKKyAgICAgICAgaWYgbm90IGNodW5rX2xlZnQ6ICMgQ2FuIGJlIDAgb3IgTm9uZQorICAgICAgICAgICAgaWYgY2h1bmtfbGVmdCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICAjIFdlIGFyZSBhdCB0aGUgZW5kIG9mIGNodW5rLiBkaWNhcmQgY2h1bmsgZW5kCisgICAgICAgICAgICAgICAgc2VsZi5fc2FmZV9yZWFkKDIpICAjIHRvc3MgdGhlIENSTEYgYXQgdGhlIGVuZCBvZiB0aGUgY2h1bmsKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBjaHVua19sZWZ0ID0gc2VsZi5fcmVhZF9uZXh0X2NodW5rX3NpemUoKQorICAgICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CisgICAgICAgICAgICAgICAgcmFpc2UgSW5jb21wbGV0ZVJlYWQoYicnKQorICAgICAgICAgICAgaWYgY2h1bmtfbGVmdCA9PSAwOgorICAgICAgICAgICAgICAgICMgbGFzdCBjaHVuazogMSooIjAiKSBbIGNodW5rLWV4dGVuc2lvbiBdIENSTEYKKyAgICAgICAgICAgICAgICBzZWxmLl9yZWFkX2FuZF9kaXNjYXJkX3RyYWlsZXIoKQorICAgICAgICAgICAgICAgICMgd2UgcmVhZCBldmVyeXRoaW5nOyBjbG9zZSB0aGUgImZpbGUiCisgICAgICAgICAgICAgICAgc2VsZi5fY2xvc2VfY29ubigpCisgICAgICAgICAgICAgICAgY2h1bmtfbGVmdCA9IE5vbmUKKyAgICAgICAgICAgIHNlbGYuY2h1bmtfbGVmdCA9IGNodW5rX2xlZnQKKyAgICAgICAgcmV0dXJuIGNodW5rX2xlZnQKKwogICAgIGRlZiBfcmVhZGFsbF9jaHVua2VkKHNlbGYpOgogICAgICAgICBhc3NlcnQgc2VsZi5jaHVua2VkICE9IF9VTktOT1dOCi0gICAgICAgIGNodW5rX2xlZnQgPSBzZWxmLmNodW5rX2xlZnQKICAgICAgICAgdmFsdWUgPSBbXQotICAgICAgICB3aGlsZSBUcnVlOgotICAgICAgICAgICAgaWYgY2h1bmtfbGVmdCBpcyBOb25lOgotICAgICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgICAgY2h1bmtfbGVmdCA9IHNlbGYuX3JlYWRfbmV4dF9jaHVua19zaXplKCkKLSAgICAgICAgICAgICAgICAgICAgaWYgY2h1bmtfbGVmdCA9PSAwOgotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKLSAgICAgICAgICAgICAgICAgICAgcmFpc2UgSW5jb21wbGV0ZVJlYWQoYicnLmpvaW4odmFsdWUpKQotICAgICAgICAgICAgdmFsdWUuYXBwZW5kKHNlbGYuX3NhZmVfcmVhZChjaHVua19sZWZ0KSkKLQotICAgICAgICAgICAgIyB3ZSByZWFkIHRoZSB3aG9sZSBjaHVuaywgZ2V0IGFub3RoZXIKLSAgICAgICAgICAgIHNlbGYuX3NhZmVfcmVhZCgyKSAgICAgICMgdG9zcyB0aGUgQ1JMRiBhdCB0aGUgZW5kIG9mIHRoZSBjaHVuawotICAgICAgICAgICAgY2h1bmtfbGVmdCA9IE5vbmUKLQotICAgICAgICBzZWxmLl9yZWFkX2FuZF9kaXNjYXJkX3RyYWlsZXIoKQotCi0gICAgICAgICMgd2UgcmVhZCBldmVyeXRoaW5nOyBjbG9zZSB0aGUgImZpbGUiCi0gICAgICAgIHNlbGYuX2Nsb3NlX2Nvbm4oKQotCi0gICAgICAgIHJldHVybiBiJycuam9pbih2YWx1ZSkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgICAgICBjaHVua19sZWZ0ID0gc2VsZi5fZ2V0X2NodW5rX2xlZnQoKQorICAgICAgICAgICAgICAgIGlmIGNodW5rX2xlZnQgaXMgTm9uZToKKyAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgICAgICB2YWx1ZS5hcHBlbmQoc2VsZi5fc2FmZV9yZWFkKGNodW5rX2xlZnQpKQorICAgICAgICAgICAgICAgIHNlbGYuY2h1bmtfbGVmdCA9IDAKKyAgICAgICAgICAgIHJldHVybiBiJycuam9pbih2YWx1ZSkKKyAgICAgICAgZXhjZXB0IEluY29tcGxldGVSZWFkOgorICAgICAgICAgICAgcmFpc2UgSW5jb21wbGV0ZVJlYWQoYicnLmpvaW4odmFsdWUpKQogCiAgICAgZGVmIF9yZWFkaW50b19jaHVua2VkKHNlbGYsIGIpOgogICAgICAgICBhc3NlcnQgc2VsZi5jaHVua2VkICE9IF9VTktOT1dOCi0gICAgICAgIGNodW5rX2xlZnQgPSBzZWxmLmNodW5rX2xlZnQKLQogICAgICAgICB0b3RhbF9ieXRlcyA9IDAKICAgICAgICAgbXZiID0gbWVtb3J5dmlldyhiKQotICAgICAgICB3aGlsZSBUcnVlOgotICAgICAgICAgICAgaWYgY2h1bmtfbGVmdCBpcyBOb25lOgotICAgICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgICAgY2h1bmtfbGVmdCA9IHNlbGYuX3JlYWRfbmV4dF9jaHVua19zaXplKCkKLSAgICAgICAgICAgICAgICAgICAgaWYgY2h1bmtfbGVmdCA9PSAwOgotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKLSAgICAgICAgICAgICAgICAgICAgcmFpc2UgSW5jb21wbGV0ZVJlYWQoYnl0ZXMoYlswOnRvdGFsX2J5dGVzXSkpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICAgICAgY2h1bmtfbGVmdCA9IHNlbGYuX2dldF9jaHVua19sZWZ0KCkKKyAgICAgICAgICAgICAgICBpZiBjaHVua19sZWZ0IGlzIE5vbmU6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiB0b3RhbF9ieXRlcwogCi0gICAgICAgICAgICBpZiBsZW4obXZiKSA8IGNodW5rX2xlZnQ6Ci0gICAgICAgICAgICAgICAgbiA9IHNlbGYuX3NhZmVfcmVhZGludG8obXZiKQotICAgICAgICAgICAgICAgIHNlbGYuY2h1bmtfbGVmdCA9IGNodW5rX2xlZnQgLSBuCi0gICAgICAgICAgICAgICAgcmV0dXJuIHRvdGFsX2J5dGVzICsgbgotICAgICAgICAgICAgZWxpZiBsZW4obXZiKSA9PSBjaHVua19sZWZ0OgotICAgICAgICAgICAgICAgIG4gPSBzZWxmLl9zYWZlX3JlYWRpbnRvKG12YikKLSAgICAgICAgICAgICAgICBzZWxmLl9zYWZlX3JlYWQoMikgICMgdG9zcyB0aGUgQ1JMRiBhdCB0aGUgZW5kIG9mIHRoZSBjaHVuawotICAgICAgICAgICAgICAgIHNlbGYuY2h1bmtfbGVmdCA9IE5vbmUKLSAgICAgICAgICAgICAgICByZXR1cm4gdG90YWxfYnl0ZXMgKyBuCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHRlbXBfbXZiID0gbXZiWzA6Y2h1bmtfbGVmdF0KKyAgICAgICAgICAgICAgICBpZiBsZW4obXZiKSA8PSBjaHVua19sZWZ0OgorICAgICAgICAgICAgICAgICAgICBuID0gc2VsZi5fc2FmZV9yZWFkaW50byhtdmIpCisgICAgICAgICAgICAgICAgICAgIHNlbGYuY2h1bmtfbGVmdCA9IGNodW5rX2xlZnQgLSBuCisgICAgICAgICAgICAgICAgICAgIHJldHVybiB0b3RhbF9ieXRlcyArIG4KKworICAgICAgICAgICAgICAgIHRlbXBfbXZiID0gbXZiWzpjaHVua19sZWZ0XQogICAgICAgICAgICAgICAgIG4gPSBzZWxmLl9zYWZlX3JlYWRpbnRvKHRlbXBfbXZiKQogICAgICAgICAgICAgICAgIG12YiA9IG12YltuOl0KICAgICAgICAgICAgICAgICB0b3RhbF9ieXRlcyArPSBuCisgICAgICAgICAgICAgICAgc2VsZi5jaHVua19sZWZ0ID0gMAogCi0gICAgICAgICAgICAjIHdlIHJlYWQgdGhlIHdob2xlIGNodW5rLCBnZXQgYW5vdGhlcgotICAgICAgICAgICAgc2VsZi5fc2FmZV9yZWFkKDIpICAgICAgIyB0b3NzIHRoZSBDUkxGIGF0IHRoZSBlbmQgb2YgdGhlIGNodW5rCi0gICAgICAgICAgICBjaHVua19sZWZ0ID0gTm9uZQotCi0gICAgICAgIHNlbGYuX3JlYWRfYW5kX2Rpc2NhcmRfdHJhaWxlcigpCi0KLSAgICAgICAgIyB3ZSByZWFkIGV2ZXJ5dGhpbmc7IGNsb3NlIHRoZSAiZmlsZSIKLSAgICAgICAgc2VsZi5fY2xvc2VfY29ubigpCi0KLSAgICAgICAgcmV0dXJuIHRvdGFsX2J5dGVzCisgICAgICAgIGV4Y2VwdCBJbmNvbXBsZXRlUmVhZDoKKyAgICAgICAgICAgIHJhaXNlIEluY29tcGxldGVSZWFkKGJ5dGVzKGJbMDp0b3RhbF9ieXRlc10pKQogCiAgICAgZGVmIF9zYWZlX3JlYWQoc2VsZiwgYW10KToKICAgICAgICAgIiIiUmVhZCB0aGUgbnVtYmVyIG9mIGJ5dGVzIHJlcXVlc3RlZCwgY29tcGVuc2F0aW5nIGZvciBwYXJ0aWFsIHJlYWRzLgpAQCAtNjgyLDYgKzU3MSw3MyBAQAogICAgICAgICAgICAgdG90YWxfYnl0ZXMgKz0gbgogICAgICAgICByZXR1cm4gdG90YWxfYnl0ZXMKIAorICAgIGRlZiByZWFkMShzZWxmLCBuPS0xKToKKyAgICAgICAgIiIiUmVhZCB3aXRoIGF0IG1vc3Qgb25lIHVuZGVybHlpbmcgc3lzdGVtIGNhbGwuICBJZiBhdCBsZWFzdCBvbmUKKyAgICAgICAgYnl0ZSBpcyBidWZmZXJlZCwgcmV0dXJuIHRoYXQgaW5zdGVhZC4KKyAgICAgICAgIiIiCisgICAgICAgIGlmIHNlbGYuZnAgaXMgTm9uZSBvciBzZWxmLl9tZXRob2QgPT0gIkhFQUQiOgorICAgICAgICAgICAgcmV0dXJuIGIiIgorICAgICAgICBpZiBzZWxmLmNodW5rZWQ6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fcmVhZDFfY2h1bmtlZChuKQorICAgICAgICB0cnk6CisgICAgICAgICAgICByZXN1bHQgPSBzZWxmLmZwLnJlYWQxKG4pCisgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgorICAgICAgICAgICAgaWYgbiA+PSAwOgorICAgICAgICAgICAgICAgIHJhaXNlCisgICAgICAgICAgICAjIHNvbWUgaW1wbGVtZW50YXRpb25zLCBsaWtlIEJ1ZmZlcmVkUmVhZGVyLCBkb24ndCBzdXBwb3J0IC0xCisgICAgICAgICAgICAjIFJlYWQgYW4gYXJiaXRyYXJpbHkgc2VsZWN0ZWQgbGFyZ2Vpc2ggY2h1bmsuCisgICAgICAgICAgICByZXN1bHQgPSBzZWxmLmZwLnJlYWQxKDE2KjEwMjQpCisgICAgICAgIGlmIG5vdCByZXN1bHQgYW5kIG46CisgICAgICAgICAgICBzZWxmLl9jbG9zZV9jb25uKCkKKyAgICAgICAgcmV0dXJuIHJlc3VsdAorCisgICAgZGVmIHBlZWsoc2VsZiwgbj0tMSk6CisgICAgICAgICMgSGF2aW5nIHRoaXMgZW5hYmxlcyBJT0Jhc2UucmVhZGxpbmUoKSB0byByZWFkIG1vcmUgdGhhbiBvbmUKKyAgICAgICAgIyBieXRlIGF0IGEgdGltZQorICAgICAgICBpZiBzZWxmLmZwIGlzIE5vbmUgb3Igc2VsZi5fbWV0aG9kID09ICJIRUFEIjoKKyAgICAgICAgICAgIHJldHVybiBiIiIKKyAgICAgICAgaWYgc2VsZi5jaHVua2VkOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3BlZWtfY2h1bmtlZChuKQorICAgICAgICByZXR1cm4gc2VsZi5mcC5wZWVrKG4pCisKKyAgICBkZWYgcmVhZGxpbmUoc2VsZiwgbGltaXQ9LTEpOgorICAgICAgICBpZiBzZWxmLmZwIGlzIE5vbmUgb3Igc2VsZi5fbWV0aG9kID09ICJIRUFEIjoKKyAgICAgICAgICAgIHJldHVybiBiIiIKKyAgICAgICAgaWYgc2VsZi5jaHVua2VkOgorICAgICAgICAgICAgIyBGYWxsYmFjayB0byBJT0Jhc2UgcmVhZGxpbmUgd2hpY2ggdXNlcyBwZWVrKCkgYW5kIHJlYWQoKQorICAgICAgICAgICAgcmV0dXJuIHN1cGVyKCkucmVhZGxpbmUobGltaXQpCisgICAgICAgIHJlc3VsdCA9IHNlbGYuZnAucmVhZGxpbmUobGltaXQpCisgICAgICAgIGlmIG5vdCByZXN1bHQgYW5kIGxpbWl0OgorICAgICAgICAgICAgc2VsZi5fY2xvc2VfY29ubigpCisgICAgICAgIHJldHVybiByZXN1bHQKKworICAgIGRlZiBfcmVhZDFfY2h1bmtlZChzZWxmLCBuKToKKyAgICAgICAgIyBTdHJpY3RseSBzcGVha2luZywgX2dldF9jaHVua19sZWZ0KCkgbWF5IGNhdXNlIG1vcmUgdGhhbiBvbmUgcmVhZCwKKyAgICAgICAgIyBidXQgdGhhdCBpcyBvaywgc2luY2UgdGhhdCBpcyB0byBzYXRpc2Z5IHRoZSBjaHVua2VkIHByb3RvY29sLgorICAgICAgICBjaHVua19sZWZ0ID0gc2VsZi5fZ2V0X2NodW5rX2xlZnQoKQorICAgICAgICBpZiBjaHVua19sZWZ0IGlzIE5vbmUgb3IgbiA9PSAwOgorICAgICAgICAgICAgcmV0dXJuIGInJworICAgICAgICBpZiBub3QgKDAgPD0gbiA8PSBjaHVua19sZWZ0KToKKyAgICAgICAgICAgIG4gPSBjaHVua19sZWZ0ICMgaWYgbiBpcyBuZWdhdGl2ZSBvciBsYXJnZXIgdGhhbiBjaHVua19sZWZ0CisgICAgICAgIHJlYWQgPSBzZWxmLmZwLnJlYWQxKG4pCisgICAgICAgIHNlbGYuY2h1bmtfbGVmdCAtPSBsZW4ocmVhZCkKKyAgICAgICAgaWYgbm90IHJlYWQ6CisgICAgICAgICAgICByYWlzZSBJbmNvbXBsZXRlUmVhZChiIiIpCisgICAgICAgIHJldHVybiByZWFkCisKKyAgICBkZWYgX3BlZWtfY2h1bmtlZChzZWxmLCBuKToKKyAgICAgICAgIyBTdHJpY3RseSBzcGVha2luZywgX2dldF9jaHVua19sZWZ0KCkgbWF5IGNhdXNlIG1vcmUgdGhhbiBvbmUgcmVhZCwKKyAgICAgICAgIyBidXQgdGhhdCBpcyBvaywgc2luY2UgdGhhdCBpcyB0byBzYXRpc2Z5IHRoZSBjaHVua2VkIHByb3RvY29sLgorICAgICAgICB0cnk6CisgICAgICAgICAgICBjaHVua19sZWZ0ID0gc2VsZi5fZ2V0X2NodW5rX2xlZnQoKQorICAgICAgICBleGNlcHQgSW5jb21wbGV0ZVJlYWQ6CisgICAgICAgICAgICByZXR1cm4gYicnICMgcGVlayBkb2Vzbid0IHdvcnJ5IGFib3V0IHByb3RvY29sCisgICAgICAgIGlmIGNodW5rX2xlZnQgaXMgTm9uZToKKyAgICAgICAgICAgIHJldHVybiBiJycgIyBlb2YKKyAgICAgICAgIyBwZWVrIGlzIGFsbG93ZWQgdG8gcmV0dXJuIG1vcmUgdGhhbiByZXF1ZXN0ZWQuICBKdXN0IHJlcXVlc3QgdGhlCisgICAgICAgICMgZW50aXJlIGNodW5rLCBhbmQgdHJ1bmNhdGUgd2hhdCB3ZSBnZXQuCisgICAgICAgIHJldHVybiBzZWxmLmZwLnBlZWsoY2h1bmtfbGVmdClbOmNodW5rX2xlZnRdCisKICAgICBkZWYgZmlsZW5vKHNlbGYpOgogICAgICAgICByZXR1cm4gc2VsZi5mcC5maWxlbm8oKQogCkBAIC03MjUsMTQgKzY4MSw2IEBACiAgICAgZGVmYXVsdF9wb3J0ID0gSFRUUF9QT1JUCiAgICAgYXV0b19vcGVuID0gMQogICAgIGRlYnVnbGV2ZWwgPSAwCi0gICAgIyBUQ1AgTWF4aW11bSBTZWdtZW50IFNpemUgKE1TUykgaXMgZGV0ZXJtaW5lZCBieSB0aGUgVENQIHN0YWNrIG9uCi0gICAgIyBhIHBlci1jb25uZWN0aW9uIGJhc2lzLiAgVGhlcmUgaXMgbm8gc2ltcGxlIGFuZCBlZmZpY2llbnQKLSAgICAjIHBsYXRmb3JtIGluZGVwZW5kZW50IG1lY2hhbmlzbSBmb3IgZGV0ZXJtaW5pbmcgdGhlIE1TUywgc28KLSAgICAjIGluc3RlYWQgYSByZWFzb25hYmxlIGVzdGltYXRlIGlzIGNob3Nlbi4gIFRoZSBnZXRzb2Nrb3B0KCkKLSAgICAjIGludGVyZmFjZSB1c2luZyB0aGUgVENQX01BWFNFRyBwYXJhbWV0ZXIgbWF5IGJlIGEgc3VpdGFibGUKLSAgICAjIGFwcHJvYWNoIG9uIHNvbWUgb3BlcmF0aW5nIHN5c3RlbXMuIEEgdmFsdWUgb2YgMTZLaUIgaXMgY2hvc2VuCi0gICAgIyBhcyBhIHJlYXNvbmFibGUgZXN0aW1hdGUgb2YgdGhlIG1heGltdW0gTVNTLgotICAgIG1zcyA9IDE2Mzg0CiAKICAgICBkZWYgX19pbml0X18oc2VsZiwgaG9zdCwgcG9ydD1Ob25lLCB0aW1lb3V0PXNvY2tldC5fR0xPQkFMX0RFRkFVTFRfVElNRU9VVCwKICAgICAgICAgICAgICAgICAgc291cmNlX2FkZHJlc3M9Tm9uZSk6CkBAIC04MTQsNyArNzYyLDcgQEAKICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnJlc3BvbnNlX2NsYXNzKHNlbGYuc29jaywgbWV0aG9kPXNlbGYuX21ldGhvZCkKICAgICAgICAgKHZlcnNpb24sIGNvZGUsIG1lc3NhZ2UpID0gcmVzcG9uc2UuX3JlYWRfc3RhdHVzKCkKIAotICAgICAgICBpZiBjb2RlICE9IDIwMDoKKyAgICAgICAgaWYgY29kZSAhPSBodHRwLkhUVFBTdGF0dXMuT0s6CiAgICAgICAgICAgICBzZWxmLmNsb3NlKCkKICAgICAgICAgICAgIHJhaXNlIE9TRXJyb3IoIlR1bm5lbCBjb25uZWN0aW9uIGZhaWxlZDogJWQgJXMiICUgKGNvZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlLnN0cmlwKCkpKQpAQCAtODI4LDEwICs3NzYsMTQgQEAKICAgICAgICAgICAgIGlmIGxpbmUgaW4gKGInXHJcbicsIGInXG4nLCBiJycpOgogICAgICAgICAgICAgICAgIGJyZWFrCiAKKyAgICAgICAgICAgIGlmIHNlbGYuZGVidWdsZXZlbCA+IDA6CisgICAgICAgICAgICAgICAgcHJpbnQoJ2hlYWRlcjonLCBsaW5lLmRlY29kZSgpKQorCiAgICAgZGVmIGNvbm5lY3Qoc2VsZik6CiAgICAgICAgICIiIkNvbm5lY3QgdG8gdGhlIGhvc3QgYW5kIHBvcnQgc3BlY2lmaWVkIGluIF9faW5pdF9fLiIiIgotICAgICAgICBzZWxmLnNvY2sgPSBzZWxmLl9jcmVhdGVfY29ubmVjdGlvbigoc2VsZi5ob3N0LHNlbGYucG9ydCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYudGltZW91dCwgc2VsZi5zb3VyY2VfYWRkcmVzcykKKyAgICAgICAgc2VsZi5zb2NrID0gc2VsZi5fY3JlYXRlX2Nvbm5lY3Rpb24oCisgICAgICAgICAgICAoc2VsZi5ob3N0LHNlbGYucG9ydCksIHNlbGYudGltZW91dCwgc2VsZi5zb3VyY2VfYWRkcmVzcykKKyAgICAgICAgc2VsZi5zb2NrLnNldHNvY2tvcHQoc29ja2V0LklQUFJPVE9fVENQLCBzb2NrZXQuVENQX05PREVMQVksIDEpCiAKICAgICAgICAgaWYgc2VsZi5fdHVubmVsX2hvc3Q6CiAgICAgICAgICAgICBzZWxmLl90dW5uZWwoKQpAQCAtOTEwLDE5ICs4NjIsOSBAQAogICAgICAgICBzZWxmLl9idWZmZXIuZXh0ZW5kKChiIiIsIGIiIikpCiAgICAgICAgIG1zZyA9IGIiXHJcbiIuam9pbihzZWxmLl9idWZmZXIpCiAgICAgICAgIGRlbCBzZWxmLl9idWZmZXJbOl0KLSAgICAgICAgIyBJZiBtc2cgYW5kIG1lc3NhZ2VfYm9keSBhcmUgc2VudCBpbiBhIHNpbmdsZSBzZW5kKCkgY2FsbCwKLSAgICAgICAgIyBpdCB3aWxsIGF2b2lkIHBlcmZvcm1hbmNlIHByb2JsZW1zIGNhdXNlZCBieSB0aGUgaW50ZXJhY3Rpb24KLSAgICAgICAgIyBiZXR3ZWVuIGRlbGF5ZWQgYWNrIGFuZCB0aGUgTmFnbGUgYWxnb3JpdGhtLiBIb3dldmVyLAotICAgICAgICAjIHRoZXJlIGlzIG5vIHBlcmZvcm1hbmNlIGdhaW4gaWYgdGhlIG1lc3NhZ2UgaXMgbGFyZ2VyCi0gICAgICAgICMgdGhhbiBNU1MgKGFuZCB0aGVyZSBpcyBhIG1lbW9yeSBwZW5hbHR5IGZvciB0aGUgbWVzc2FnZQotICAgICAgICAjIGNvcHkpLgotICAgICAgICBpZiBpc2luc3RhbmNlKG1lc3NhZ2VfYm9keSwgYnl0ZXMpIGFuZCBsZW4obWVzc2FnZV9ib2R5KSA8IHNlbGYubXNzOgotICAgICAgICAgICAgbXNnICs9IG1lc3NhZ2VfYm9keQotICAgICAgICAgICAgbWVzc2FnZV9ib2R5ID0gTm9uZQorCiAgICAgICAgIHNlbGYuc2VuZChtc2cpCiAgICAgICAgIGlmIG1lc3NhZ2VfYm9keSBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICMgbWVzc2FnZV9ib2R5IHdhcyBub3QgYSBzdHJpbmcgKGkuZS4gaXQgaXMgYSBmaWxlKSwgYW5kCi0gICAgICAgICAgICAjIHdlIG11c3QgcnVuIHRoZSByaXNrIG9mIE5hZ2xlLgogICAgICAgICAgICAgc2VsZi5zZW5kKG1lc3NhZ2VfYm9keSkKIAogICAgIGRlZiBwdXRyZXF1ZXN0KHNlbGYsIG1ldGhvZCwgdXJsLCBza2lwX2hvc3Q9MCwgc2tpcF9hY2NlcHRfZW5jb2Rpbmc9MCk6CkBAIC0xMjcxLDcgKzEyMTMsOCBAQAogICAgICAgICAgICAgZSA9ICcsICVpIG1vcmUgZXhwZWN0ZWQnICUgc2VsZi5leHBlY3RlZAogICAgICAgICBlbHNlOgogICAgICAgICAgICAgZSA9ICcnCi0gICAgICAgIHJldHVybiAnSW5jb21wbGV0ZVJlYWQoJWkgYnl0ZXMgcmVhZCVzKScgJSAobGVuKHNlbGYucGFydGlhbCksIGUpCisgICAgICAgIHJldHVybiAnJXMoJWkgYnl0ZXMgcmVhZCVzKScgJSAoc2VsZi5fX2NsYXNzX18uX19uYW1lX18sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuKHNlbGYucGFydGlhbCksIGUpCiAgICAgZGVmIF9fc3RyX18oc2VsZik6CiAgICAgICAgIHJldHVybiByZXByKHNlbGYpCiAKZGlmZiAtLWdpdCBhL0xpYi9odHRwL2Nvb2tpZWphci5weSBiL0xpYi9odHRwL2Nvb2tpZWphci5weQppbmRleCA3ZTQ5ODJmLi4yMmYyODMzIDEwMDY0NAotLS0gYS9MaWIvaHR0cC9jb29raWVqYXIucHkKKysrIGIvTGliL2h0dHAvY29va2llamFyLnB5CkBAIC00NzgsNyArNDc4LDcgQEAKICAgICAgICAgICAgIGlmICI9IiBub3QgaW4gcGFyYW06CiAgICAgICAgICAgICAgICAgaywgdiA9IHBhcmFtLCBOb25lCiAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGssIHYgPSByZS5zcGxpdChyIlxzKj1ccyoiLCBwYXJhbSwgMSkKKyAgICAgICAgICAgICAgICBrLCB2ID0gcmUuc3BsaXQociJccyo9XHMqIiwgcGFyYW0sIG1heHNwbGl0PTEpCiAgICAgICAgICAgICAgICAgayA9IGsubHN0cmlwKCkKICAgICAgICAgICAgIGlmIGlpICE9IDA6CiAgICAgICAgICAgICAgICAgbGMgPSBrLmxvd2VyKCkKQEAgLTgwNSw3ICs4MDUsNyBAQAogICAgICAgICAgICAgYXJncy5hcHBlbmQoIiVzPSVzIiAlIChuYW1lLCByZXByKGF0dHIpKSkKICAgICAgICAgYXJncy5hcHBlbmQoInJlc3Q9JXMiICUgcmVwcihzZWxmLl9yZXN0KSkKICAgICAgICAgYXJncy5hcHBlbmQoInJmYzIxMDk9JXMiICUgcmVwcihzZWxmLnJmYzIxMDkpKQotICAgICAgICByZXR1cm4gIkNvb2tpZSglcykiICUgIiwgIi5qb2luKGFyZ3MpCisgICAgICAgIHJldHVybiAiJXMoJXMpIiAlIChzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywgIiwgIi5qb2luKGFyZ3MpKQogCiAKIGNsYXNzIENvb2tpZVBvbGljeToKZGlmZiAtLWdpdCBhL0xpYi9odHRwL2Nvb2tpZXMucHkgYi9MaWIvaHR0cC9jb29raWVzLnB5CmluZGV4IDNlMWFiZDcuLjczYWNiYzcgMTAwNjQ0Ci0tLSBhL0xpYi9odHRwL2Nvb2tpZXMucHkKKysrIGIvTGliL2h0dHAvY29va2llcy5weQpAQCAtNTMzLDEwICs1MzMsMTcgQEAKICAgICAgICAgcmV0dXJuCiAKICAgICBkZWYgX19wYXJzZV9zdHJpbmcoc2VsZiwgc3RyLCBwYXR0PV9Db29raWVQYXR0ZXJuKToKLSAgICAgICAgaSA9IDAgICAgICAgICAgICAjIE91ciBzdGFydGluZyBwb2ludAotICAgICAgICBuID0gbGVuKHN0cikgICAgICMgTGVuZ3RoIG9mIHN0cmluZwotICAgICAgICBNID0gTm9uZSAgICAgICAgICMgY3VycmVudCBtb3JzZWwKKyAgICAgICAgaSA9IDAgICAgICAgICAgICAgICAgICMgT3VyIHN0YXJ0aW5nIHBvaW50CisgICAgICAgIG4gPSBsZW4oc3RyKSAgICAgICAgICAjIExlbmd0aCBvZiBzdHJpbmcKKyAgICAgICAgcGFyc2VkX2l0ZW1zID0gW10gICAgICMgUGFyc2VkICh0eXBlLCBrZXksIHZhbHVlKSB0cmlwbGVzCisgICAgICAgIG1vcnNlbF9zZWVuID0gRmFsc2UgICAjIEEga2V5PXZhbHVlIHBhaXIgd2FzIHByZXZpb3VzbHkgZW5jb3VudGVyZWQKIAorICAgICAgICBUWVBFX0FUVFJJQlVURSA9IDEKKyAgICAgICAgVFlQRV9LRVlWQUxVRSA9IDIKKworICAgICAgICAjIFdlIGZpcnN0IHBhcnNlIHRoZSB3aG9sZSBjb29raWUgc3RyaW5nIGFuZCByZWplY3QgaXQgaWYgaXQncworICAgICAgICAjIHN5bnRhY3RpY2FsbHkgaW52YWxpZCAodGhpcyBoZWxwcyBhdm9pZCBzb21lIGNsYXNzZXMgb2YgaW5qZWN0aW9uCisgICAgICAgICMgYXR0YWNrcykuCiAgICAgICAgIHdoaWxlIDAgPD0gaSA8IG46CiAgICAgICAgICAgICAjIFN0YXJ0IGxvb2tpbmcgZm9yIGEgY29va2llCiAgICAgICAgICAgICBtYXRjaCA9IHBhdHQubWF0Y2goc3RyLCBpKQpAQCAtNTQ3LDIyICs1NTQsNDEgQEAKICAgICAgICAgICAgIGtleSwgdmFsdWUgPSBtYXRjaC5ncm91cCgia2V5IiksIG1hdGNoLmdyb3VwKCJ2YWwiKQogICAgICAgICAgICAgaSA9IG1hdGNoLmVuZCgwKQogCi0gICAgICAgICAgICAjIFBhcnNlIHRoZSBrZXksIHZhbHVlIGluIGNhc2UgaXQncyBtZXRhaW5mbwogICAgICAgICAgICAgaWYga2V5WzBdID09ICIkIjoKLSAgICAgICAgICAgICAgICAjIFdlIGlnbm9yZSBhdHRyaWJ1dGVzIHdoaWNoIHBlcnRhaW4gdG8gdGhlIGNvb2tpZQotICAgICAgICAgICAgICAgICMgbWVjaGFuaXNtIGFzIGEgd2hvbGUuICBTZWUgUkZDIDIxMDkuCi0gICAgICAgICAgICAgICAgIyAoRG9lcyBhbnlvbmUgY2FyZT8pCi0gICAgICAgICAgICAgICAgaWYgTToKLSAgICAgICAgICAgICAgICAgICAgTVtrZXlbMTpdXSA9IHZhbHVlCisgICAgICAgICAgICAgICAgaWYgbm90IG1vcnNlbF9zZWVuOgorICAgICAgICAgICAgICAgICAgICAjIFdlIGlnbm9yZSBhdHRyaWJ1dGVzIHdoaWNoIHBlcnRhaW4gdG8gdGhlIGNvb2tpZQorICAgICAgICAgICAgICAgICAgICAjIG1lY2hhbmlzbSBhcyBhIHdob2xlLCBzdWNoIGFzICIkVmVyc2lvbiIuCisgICAgICAgICAgICAgICAgICAgICMgU2VlIFJGQyAyOTY1LiAoRG9lcyBhbnlvbmUgY2FyZT8pCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgICAgcGFyc2VkX2l0ZW1zLmFwcGVuZCgoVFlQRV9BVFRSSUJVVEUsIGtleVsxOl0sIHZhbHVlKSkKICAgICAgICAgICAgIGVsaWYga2V5Lmxvd2VyKCkgaW4gTW9yc2VsLl9yZXNlcnZlZDoKLSAgICAgICAgICAgICAgICBpZiBNOgotICAgICAgICAgICAgICAgICAgICBpZiB2YWx1ZSBpcyBOb25lOgotICAgICAgICAgICAgICAgICAgICAgICAgaWYga2V5Lmxvd2VyKCkgaW4gTW9yc2VsLl9mbGFnczoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBNW2tleV0gPSBUcnVlCisgICAgICAgICAgICAgICAgaWYgbm90IG1vcnNlbF9zZWVuOgorICAgICAgICAgICAgICAgICAgICAjIEludmFsaWQgY29va2llIHN0cmluZworICAgICAgICAgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgICAgICAgICBpZiB2YWx1ZSBpcyBOb25lOgorICAgICAgICAgICAgICAgICAgICBpZiBrZXkubG93ZXIoKSBpbiBNb3JzZWwuX2ZsYWdzOgorICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VkX2l0ZW1zLmFwcGVuZCgoVFlQRV9BVFRSSUJVVEUsIGtleSwgVHJ1ZSkpCiAgICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICBNW2tleV0gPSBfdW5xdW90ZSh2YWx1ZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICMgSW52YWxpZCBjb29raWUgc3RyaW5nCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBwYXJzZWRfaXRlbXMuYXBwZW5kKChUWVBFX0FUVFJJQlVURSwga2V5LCBfdW5xdW90ZSh2YWx1ZSkpKQogICAgICAgICAgICAgZWxpZiB2YWx1ZSBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICBydmFsLCBjdmFsID0gc2VsZi52YWx1ZV9kZWNvZGUodmFsdWUpCisgICAgICAgICAgICAgICAgcGFyc2VkX2l0ZW1zLmFwcGVuZCgoVFlQRV9LRVlWQUxVRSwga2V5LCBzZWxmLnZhbHVlX2RlY29kZSh2YWx1ZSkpKQorICAgICAgICAgICAgICAgIG1vcnNlbF9zZWVuID0gVHJ1ZQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAjIEludmFsaWQgY29va2llIHN0cmluZworICAgICAgICAgICAgICAgIHJldHVybgorCisgICAgICAgICMgVGhlIGNvb2tpZSBzdHJpbmcgaXMgdmFsaWQsIGFwcGx5IGl0LgorICAgICAgICBNID0gTm9uZSAgICAgICAgICMgY3VycmVudCBtb3JzZWwKKyAgICAgICAgZm9yIHRwLCBrZXksIHZhbHVlIGluIHBhcnNlZF9pdGVtczoKKyAgICAgICAgICAgIGlmIHRwID09IFRZUEVfQVRUUklCVVRFOgorICAgICAgICAgICAgICAgIGFzc2VydCBNIGlzIG5vdCBOb25lCisgICAgICAgICAgICAgICAgTVtrZXldID0gdmFsdWUKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgYXNzZXJ0IHRwID09IFRZUEVfS0VZVkFMVUUKKyAgICAgICAgICAgICAgICBydmFsLCBjdmFsID0gdmFsdWUKICAgICAgICAgICAgICAgICBzZWxmLl9fc2V0KGtleSwgcnZhbCwgY3ZhbCkKICAgICAgICAgICAgICAgICBNID0gc2VsZltrZXldCiAKZGlmZiAtLWdpdCBhL0xpYi9odHRwL3NlcnZlci5weSBiL0xpYi9odHRwL3NlcnZlci5weQppbmRleCBjZmEyOWY0Li5hYzUzNTUwIDEwMDY0NAotLS0gYS9MaWIvaHR0cC9zZXJ2ZXIucHkKKysrIGIvTGliL2h0dHAvc2VydmVyLnB5CkBAIC0xMDAsNiArMTAwLDggQEAKIGltcG9ydCBjb3B5CiBpbXBvcnQgYXJncGFyc2UKIAorZnJvbSBodHRwIGltcG9ydCBIVFRQU3RhdHVzCisKIAogIyBEZWZhdWx0IGVycm9yIG1lc3NhZ2UgdGVtcGxhdGUKIERFRkFVTFRfRVJST1JfTUVTU0FHRSA9ICIiIlwKQEAgLTI3OCw3ICsyODAsOSBAQAogICAgICAgICBpZiBsZW4od29yZHMpID09IDM6CiAgICAgICAgICAgICBjb21tYW5kLCBwYXRoLCB2ZXJzaW9uID0gd29yZHMKICAgICAgICAgICAgIGlmIHZlcnNpb25bOjVdICE9ICdIVFRQLyc6Ci0gICAgICAgICAgICAgICAgc2VsZi5zZW5kX2Vycm9yKDQwMCwgIkJhZCByZXF1ZXN0IHZlcnNpb24gKCVyKSIgJSB2ZXJzaW9uKQorICAgICAgICAgICAgICAgIHNlbGYuc2VuZF9lcnJvcigKKyAgICAgICAgICAgICAgICAgICAgSFRUUFN0YXR1cy5CQURfUkVRVUVTVCwKKyAgICAgICAgICAgICAgICAgICAgIkJhZCByZXF1ZXN0IHZlcnNpb24gKCVyKSIgJSB2ZXJzaW9uKQogICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIGJhc2VfdmVyc2lvbl9udW1iZXIgPSB2ZXJzaW9uLnNwbGl0KCcvJywgMSlbMV0KQEAgLTI5MywyNSArMjk3LDMxIEBACiAgICAgICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IKICAgICAgICAgICAgICAgICB2ZXJzaW9uX251bWJlciA9IGludCh2ZXJzaW9uX251bWJlclswXSksIGludCh2ZXJzaW9uX251bWJlclsxXSkKICAgICAgICAgICAgIGV4Y2VwdCAoVmFsdWVFcnJvciwgSW5kZXhFcnJvcik6Ci0gICAgICAgICAgICAgICAgc2VsZi5zZW5kX2Vycm9yKDQwMCwgIkJhZCByZXF1ZXN0IHZlcnNpb24gKCVyKSIgJSB2ZXJzaW9uKQorICAgICAgICAgICAgICAgIHNlbGYuc2VuZF9lcnJvcigKKyAgICAgICAgICAgICAgICAgICAgSFRUUFN0YXR1cy5CQURfUkVRVUVTVCwKKyAgICAgICAgICAgICAgICAgICAgIkJhZCByZXF1ZXN0IHZlcnNpb24gKCVyKSIgJSB2ZXJzaW9uKQogICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQogICAgICAgICAgICAgaWYgdmVyc2lvbl9udW1iZXIgPj0gKDEsIDEpIGFuZCBzZWxmLnByb3RvY29sX3ZlcnNpb24gPj0gIkhUVFAvMS4xIjoKICAgICAgICAgICAgICAgICBzZWxmLmNsb3NlX2Nvbm5lY3Rpb24gPSAwCiAgICAgICAgICAgICBpZiB2ZXJzaW9uX251bWJlciA+PSAoMiwgMCk6Ci0gICAgICAgICAgICAgICAgc2VsZi5zZW5kX2Vycm9yKDUwNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIkludmFsaWQgSFRUUCBWZXJzaW9uICglcykiICUgYmFzZV92ZXJzaW9uX251bWJlcikKKyAgICAgICAgICAgICAgICBzZWxmLnNlbmRfZXJyb3IoCisgICAgICAgICAgICAgICAgICAgIEhUVFBTdGF0dXMuSFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQsCisgICAgICAgICAgICAgICAgICAgICJJbnZhbGlkIEhUVFAgVmVyc2lvbiAoJXMpIiAlIGJhc2VfdmVyc2lvbl9udW1iZXIpCiAgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAgICAgICAgIGVsaWYgbGVuKHdvcmRzKSA9PSAyOgogICAgICAgICAgICAgY29tbWFuZCwgcGF0aCA9IHdvcmRzCiAgICAgICAgICAgICBzZWxmLmNsb3NlX2Nvbm5lY3Rpb24gPSAxCiAgICAgICAgICAgICBpZiBjb21tYW5kICE9ICdHRVQnOgotICAgICAgICAgICAgICAgIHNlbGYuc2VuZF9lcnJvcig0MDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJCYWQgSFRUUC8wLjkgcmVxdWVzdCB0eXBlICglcikiICUgY29tbWFuZCkKKyAgICAgICAgICAgICAgICBzZWxmLnNlbmRfZXJyb3IoCisgICAgICAgICAgICAgICAgICAgIEhUVFBTdGF0dXMuQkFEX1JFUVVFU1QsCisgICAgICAgICAgICAgICAgICAgICJCYWQgSFRUUC8wLjkgcmVxdWVzdCB0eXBlICglcikiICUgY29tbWFuZCkKICAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKICAgICAgICAgZWxpZiBub3Qgd29yZHM6CiAgICAgICAgICAgICByZXR1cm4gRmFsc2UKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYuc2VuZF9lcnJvcig0MDAsICJCYWQgcmVxdWVzdCBzeW50YXggKCVyKSIgJSByZXF1ZXN0bGluZSkKKyAgICAgICAgICAgIHNlbGYuc2VuZF9lcnJvcigKKyAgICAgICAgICAgICAgICBIVFRQU3RhdHVzLkJBRF9SRVFVRVNULAorICAgICAgICAgICAgICAgICJCYWQgcmVxdWVzdCBzeW50YXggKCVyKSIgJSByZXF1ZXN0bGluZSkKICAgICAgICAgICAgIHJldHVybiBGYWxzZQogICAgICAgICBzZWxmLmNvbW1hbmQsIHNlbGYucGF0aCwgc2VsZi5yZXF1ZXN0X3ZlcnNpb24gPSBjb21tYW5kLCBwYXRoLCB2ZXJzaW9uCiAKQEAgLTMyMCw3ICszMzAsOSBAQAogICAgICAgICAgICAgc2VsZi5oZWFkZXJzID0gaHR0cC5jbGllbnQucGFyc2VfaGVhZGVycyhzZWxmLnJmaWxlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfY2xhc3M9c2VsZi5NZXNzYWdlQ2xhc3MpCiAgICAgICAgIGV4Y2VwdCBodHRwLmNsaWVudC5MaW5lVG9vTG9uZzoKLSAgICAgICAgICAgIHNlbGYuc2VuZF9lcnJvcig0MDAsICJMaW5lIHRvbyBsb25nIikKKyAgICAgICAgICAgIHNlbGYuc2VuZF9lcnJvcigKKyAgICAgICAgICAgICAgICBIVFRQU3RhdHVzLkJBRF9SRVFVRVNULAorICAgICAgICAgICAgICAgICJMaW5lIHRvbyBsb25nIikKICAgICAgICAgICAgIHJldHVybiBGYWxzZQogCiAgICAgICAgIGNvbm50eXBlID0gc2VsZi5oZWFkZXJzLmdldCgnQ29ubmVjdGlvbicsICIiKQpAQCAtMzUyLDcgKzM2NCw3IEBACiAgICAgICAgIEZhbHNlLgogCiAgICAgICAgICIiIgotICAgICAgICBzZWxmLnNlbmRfcmVzcG9uc2Vfb25seSgxMDApCisgICAgICAgIHNlbGYuc2VuZF9yZXNwb25zZV9vbmx5KEhUVFBTdGF0dXMuQ09OVElOVUUpCiAgICAgICAgIHNlbGYuZW5kX2hlYWRlcnMoKQogICAgICAgICByZXR1cm4gVHJ1ZQogCkBAIC0zNzAsNyArMzgyLDcgQEAKICAgICAgICAgICAgICAgICBzZWxmLnJlcXVlc3RsaW5lID0gJycKICAgICAgICAgICAgICAgICBzZWxmLnJlcXVlc3RfdmVyc2lvbiA9ICcnCiAgICAgICAgICAgICAgICAgc2VsZi5jb21tYW5kID0gJycKLSAgICAgICAgICAgICAgICBzZWxmLnNlbmRfZXJyb3IoNDE0KQorICAgICAgICAgICAgICAgIHNlbGYuc2VuZF9lcnJvcihIVFRQU3RhdHVzLlJFUVVFU1RfVVJJX1RPT19MT05HKQogICAgICAgICAgICAgICAgIHJldHVybgogICAgICAgICAgICAgaWYgbm90IHNlbGYucmF3X3JlcXVlc3RsaW5lOgogICAgICAgICAgICAgICAgIHNlbGYuY2xvc2VfY29ubmVjdGlvbiA9IDEKQEAgLTM4MCw3ICszOTIsOSBAQAogICAgICAgICAgICAgICAgIHJldHVybgogICAgICAgICAgICAgbW5hbWUgPSAnZG9fJyArIHNlbGYuY29tbWFuZAogICAgICAgICAgICAgaWYgbm90IGhhc2F0dHIoc2VsZiwgbW5hbWUpOgotICAgICAgICAgICAgICAgIHNlbGYuc2VuZF9lcnJvcig1MDEsICJVbnN1cHBvcnRlZCBtZXRob2QgKCVyKSIgJSBzZWxmLmNvbW1hbmQpCisgICAgICAgICAgICAgICAgc2VsZi5zZW5kX2Vycm9yKAorICAgICAgICAgICAgICAgICAgICBIVFRQU3RhdHVzLk5PVF9JTVBMRU1FTlRFRCwKKyAgICAgICAgICAgICAgICAgICAgIlVuc3VwcG9ydGVkIG1ldGhvZCAoJXIpIiAlIHNlbGYuY29tbWFuZCkKICAgICAgICAgICAgICAgICByZXR1cm4KICAgICAgICAgICAgIG1ldGhvZCA9IGdldGF0dHIoc2VsZiwgbW5hbWUpCiAgICAgICAgICAgICBtZXRob2QoKQpAQCAtNDM1LDcgKzQ0OSwxMSBAQAogICAgICAgICBzZWxmLnNlbmRfaGVhZGVyKCdDb25uZWN0aW9uJywgJ2Nsb3NlJykKICAgICAgICAgc2VsZi5zZW5kX2hlYWRlcignQ29udGVudC1MZW5ndGgnLCBpbnQobGVuKGJvZHkpKSkKICAgICAgICAgc2VsZi5lbmRfaGVhZGVycygpCi0gICAgICAgIGlmIHNlbGYuY29tbWFuZCAhPSAnSEVBRCcgYW5kIGNvZGUgPj0gMjAwIGFuZCBjb2RlIG5vdCBpbiAoMjA0LCAzMDQpOgorCisgICAgICAgIGlmIChzZWxmLmNvbW1hbmQgIT0gJ0hFQUQnIGFuZAorICAgICAgICAgICAgICAgIGNvZGUgPj0gMjAwIGFuZAorICAgICAgICAgICAgICAgIGNvZGUgbm90IGluICgKKyAgICAgICAgICAgICAgICAgICAgSFRUUFN0YXR1cy5OT19DT05URU5ULCBIVFRQU3RhdHVzLk5PVF9NT0RJRklFRCkpOgogICAgICAgICAgICAgc2VsZi53ZmlsZS53cml0ZShib2R5KQogCiAgICAgZGVmIHNlbmRfcmVzcG9uc2Uoc2VsZiwgY29kZSwgbWVzc2FnZT1Ob25lKToKQEAgLTU3OSw4MiArNTk3LDExIEBACiAgICAgIyBNZXNzYWdlQ2xhc3MgdXNlZCB0byBwYXJzZSBoZWFkZXJzCiAgICAgTWVzc2FnZUNsYXNzID0gaHR0cC5jbGllbnQuSFRUUE1lc3NhZ2UKIAotICAgICMgVGFibGUgbWFwcGluZyByZXNwb25zZSBjb2RlcyB0byBtZXNzYWdlczsgZW50cmllcyBoYXZlIHRoZQotICAgICMgZm9ybSB7Y29kZTogKHNob3J0bWVzc2FnZSwgbG9uZ21lc3NhZ2UpfS4KLSAgICAjIFNlZSBSRkMgMjYxNiBhbmQgNjU4NS4KKyAgICAjIGhhY2sgdG8gbWFpbnRhaW4gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkKICAgICByZXNwb25zZXMgPSB7Ci0gICAgICAgIDEwMDogKCdDb250aW51ZScsICdSZXF1ZXN0IHJlY2VpdmVkLCBwbGVhc2UgY29udGludWUnKSwKLSAgICAgICAgMTAxOiAoJ1N3aXRjaGluZyBQcm90b2NvbHMnLAotICAgICAgICAgICAgICAnU3dpdGNoaW5nIHRvIG5ldyBwcm90b2NvbDsgb2JleSBVcGdyYWRlIGhlYWRlcicpLAotCi0gICAgICAgIDIwMDogKCdPSycsICdSZXF1ZXN0IGZ1bGZpbGxlZCwgZG9jdW1lbnQgZm9sbG93cycpLAotICAgICAgICAyMDE6ICgnQ3JlYXRlZCcsICdEb2N1bWVudCBjcmVhdGVkLCBVUkwgZm9sbG93cycpLAotICAgICAgICAyMDI6ICgnQWNjZXB0ZWQnLAotICAgICAgICAgICAgICAnUmVxdWVzdCBhY2NlcHRlZCwgcHJvY2Vzc2luZyBjb250aW51ZXMgb2ZmLWxpbmUnKSwKLSAgICAgICAgMjAzOiAoJ05vbi1BdXRob3JpdGF0aXZlIEluZm9ybWF0aW9uJywgJ1JlcXVlc3QgZnVsZmlsbGVkIGZyb20gY2FjaGUnKSwKLSAgICAgICAgMjA0OiAoJ05vIENvbnRlbnQnLCAnUmVxdWVzdCBmdWxmaWxsZWQsIG5vdGhpbmcgZm9sbG93cycpLAotICAgICAgICAyMDU6ICgnUmVzZXQgQ29udGVudCcsICdDbGVhciBpbnB1dCBmb3JtIGZvciBmdXJ0aGVyIGlucHV0LicpLAotICAgICAgICAyMDY6ICgnUGFydGlhbCBDb250ZW50JywgJ1BhcnRpYWwgY29udGVudCBmb2xsb3dzLicpLAotCi0gICAgICAgIDMwMDogKCdNdWx0aXBsZSBDaG9pY2VzJywKLSAgICAgICAgICAgICAgJ09iamVjdCBoYXMgc2V2ZXJhbCByZXNvdXJjZXMgLS0gc2VlIFVSSSBsaXN0JyksCi0gICAgICAgIDMwMTogKCdNb3ZlZCBQZXJtYW5lbnRseScsICdPYmplY3QgbW92ZWQgcGVybWFuZW50bHkgLS0gc2VlIFVSSSBsaXN0JyksCi0gICAgICAgIDMwMjogKCdGb3VuZCcsICdPYmplY3QgbW92ZWQgdGVtcG9yYXJpbHkgLS0gc2VlIFVSSSBsaXN0JyksCi0gICAgICAgIDMwMzogKCdTZWUgT3RoZXInLCAnT2JqZWN0IG1vdmVkIC0tIHNlZSBNZXRob2QgYW5kIFVSTCBsaXN0JyksCi0gICAgICAgIDMwNDogKCdOb3QgTW9kaWZpZWQnLAotICAgICAgICAgICAgICAnRG9jdW1lbnQgaGFzIG5vdCBjaGFuZ2VkIHNpbmNlIGdpdmVuIHRpbWUnKSwKLSAgICAgICAgMzA1OiAoJ1VzZSBQcm94eScsCi0gICAgICAgICAgICAgICdZb3UgbXVzdCB1c2UgcHJveHkgc3BlY2lmaWVkIGluIExvY2F0aW9uIHRvIGFjY2VzcyB0aGlzICcKLSAgICAgICAgICAgICAgJ3Jlc291cmNlLicpLAotICAgICAgICAzMDc6ICgnVGVtcG9yYXJ5IFJlZGlyZWN0JywKLSAgICAgICAgICAgICAgJ09iamVjdCBtb3ZlZCB0ZW1wb3JhcmlseSAtLSBzZWUgVVJJIGxpc3QnKSwKLQotICAgICAgICA0MDA6ICgnQmFkIFJlcXVlc3QnLAotICAgICAgICAgICAgICAnQmFkIHJlcXVlc3Qgc3ludGF4IG9yIHVuc3VwcG9ydGVkIG1ldGhvZCcpLAotICAgICAgICA0MDE6ICgnVW5hdXRob3JpemVkJywKLSAgICAgICAgICAgICAgJ05vIHBlcm1pc3Npb24gLS0gc2VlIGF1dGhvcml6YXRpb24gc2NoZW1lcycpLAotICAgICAgICA0MDI6ICgnUGF5bWVudCBSZXF1aXJlZCcsCi0gICAgICAgICAgICAgICdObyBwYXltZW50IC0tIHNlZSBjaGFyZ2luZyBzY2hlbWVzJyksCi0gICAgICAgIDQwMzogKCdGb3JiaWRkZW4nLAotICAgICAgICAgICAgICAnUmVxdWVzdCBmb3JiaWRkZW4gLS0gYXV0aG9yaXphdGlvbiB3aWxsIG5vdCBoZWxwJyksCi0gICAgICAgIDQwNDogKCdOb3QgRm91bmQnLCAnTm90aGluZyBtYXRjaGVzIHRoZSBnaXZlbiBVUkknKSwKLSAgICAgICAgNDA1OiAoJ01ldGhvZCBOb3QgQWxsb3dlZCcsCi0gICAgICAgICAgICAgICdTcGVjaWZpZWQgbWV0aG9kIGlzIGludmFsaWQgZm9yIHRoaXMgcmVzb3VyY2UuJyksCi0gICAgICAgIDQwNjogKCdOb3QgQWNjZXB0YWJsZScsICdVUkkgbm90IGF2YWlsYWJsZSBpbiBwcmVmZXJyZWQgZm9ybWF0LicpLAotICAgICAgICA0MDc6ICgnUHJveHkgQXV0aGVudGljYXRpb24gUmVxdWlyZWQnLCAnWW91IG11c3QgYXV0aGVudGljYXRlIHdpdGggJwotICAgICAgICAgICAgICAndGhpcyBwcm94eSBiZWZvcmUgcHJvY2VlZGluZy4nKSwKLSAgICAgICAgNDA4OiAoJ1JlcXVlc3QgVGltZW91dCcsICdSZXF1ZXN0IHRpbWVkIG91dDsgdHJ5IGFnYWluIGxhdGVyLicpLAotICAgICAgICA0MDk6ICgnQ29uZmxpY3QnLCAnUmVxdWVzdCBjb25mbGljdC4nKSwKLSAgICAgICAgNDEwOiAoJ0dvbmUnLAotICAgICAgICAgICAgICAnVVJJIG5vIGxvbmdlciBleGlzdHMgYW5kIGhhcyBiZWVuIHBlcm1hbmVudGx5IHJlbW92ZWQuJyksCi0gICAgICAgIDQxMTogKCdMZW5ndGggUmVxdWlyZWQnLCAnQ2xpZW50IG11c3Qgc3BlY2lmeSBDb250ZW50LUxlbmd0aC4nKSwKLSAgICAgICAgNDEyOiAoJ1ByZWNvbmRpdGlvbiBGYWlsZWQnLCAnUHJlY29uZGl0aW9uIGluIGhlYWRlcnMgaXMgZmFsc2UuJyksCi0gICAgICAgIDQxMzogKCdSZXF1ZXN0IEVudGl0eSBUb28gTGFyZ2UnLCAnRW50aXR5IGlzIHRvbyBsYXJnZS4nKSwKLSAgICAgICAgNDE0OiAoJ1JlcXVlc3QtVVJJIFRvbyBMb25nJywgJ1VSSSBpcyB0b28gbG9uZy4nKSwKLSAgICAgICAgNDE1OiAoJ1Vuc3VwcG9ydGVkIE1lZGlhIFR5cGUnLCAnRW50aXR5IGJvZHkgaW4gdW5zdXBwb3J0ZWQgZm9ybWF0LicpLAotICAgICAgICA0MTY6ICgnUmVxdWVzdGVkIFJhbmdlIE5vdCBTYXRpc2ZpYWJsZScsCi0gICAgICAgICAgICAgICdDYW5ub3Qgc2F0aXNmeSByZXF1ZXN0IHJhbmdlLicpLAotICAgICAgICA0MTc6ICgnRXhwZWN0YXRpb24gRmFpbGVkJywKLSAgICAgICAgICAgICAgJ0V4cGVjdCBjb25kaXRpb24gY291bGQgbm90IGJlIHNhdGlzZmllZC4nKSwKLSAgICAgICAgNDI4OiAoJ1ByZWNvbmRpdGlvbiBSZXF1aXJlZCcsCi0gICAgICAgICAgICAgICdUaGUgb3JpZ2luIHNlcnZlciByZXF1aXJlcyB0aGUgcmVxdWVzdCB0byBiZSBjb25kaXRpb25hbC4nKSwKLSAgICAgICAgNDI5OiAoJ1RvbyBNYW55IFJlcXVlc3RzJywgJ1RoZSB1c2VyIGhhcyBzZW50IHRvbyBtYW55IHJlcXVlc3RzICcKLSAgICAgICAgICAgICAgJ2luIGEgZ2l2ZW4gYW1vdW50IG9mIHRpbWUgKCJyYXRlIGxpbWl0aW5nIikuJyksCi0gICAgICAgIDQzMTogKCdSZXF1ZXN0IEhlYWRlciBGaWVsZHMgVG9vIExhcmdlJywgJ1RoZSBzZXJ2ZXIgaXMgdW53aWxsaW5nIHRvICcKLSAgICAgICAgICAgICAgJ3Byb2Nlc3MgdGhlIHJlcXVlc3QgYmVjYXVzZSBpdHMgaGVhZGVyIGZpZWxkcyBhcmUgdG9vIGxhcmdlLicpLAotCi0gICAgICAgIDUwMDogKCdJbnRlcm5hbCBTZXJ2ZXIgRXJyb3InLCAnU2VydmVyIGdvdCBpdHNlbGYgaW4gdHJvdWJsZScpLAotICAgICAgICA1MDE6ICgnTm90IEltcGxlbWVudGVkJywKLSAgICAgICAgICAgICAgJ1NlcnZlciBkb2VzIG5vdCBzdXBwb3J0IHRoaXMgb3BlcmF0aW9uJyksCi0gICAgICAgIDUwMjogKCdCYWQgR2F0ZXdheScsICdJbnZhbGlkIHJlc3BvbnNlcyBmcm9tIGFub3RoZXIgc2VydmVyL3Byb3h5LicpLAotICAgICAgICA1MDM6ICgnU2VydmljZSBVbmF2YWlsYWJsZScsCi0gICAgICAgICAgICAgICdUaGUgc2VydmVyIGNhbm5vdCBwcm9jZXNzIHRoZSByZXF1ZXN0IGR1ZSB0byBhIGhpZ2ggbG9hZCcpLAotICAgICAgICA1MDQ6ICgnR2F0ZXdheSBUaW1lb3V0JywKLSAgICAgICAgICAgICAgJ1RoZSBnYXRld2F5IHNlcnZlciBkaWQgbm90IHJlY2VpdmUgYSB0aW1lbHkgcmVzcG9uc2UnKSwKLSAgICAgICAgNTA1OiAoJ0hUVFAgVmVyc2lvbiBOb3QgU3VwcG9ydGVkJywgJ0Nhbm5vdCBmdWxmaWxsIHJlcXVlc3QuJyksCi0gICAgICAgIDUxMTogKCdOZXR3b3JrIEF1dGhlbnRpY2F0aW9uIFJlcXVpcmVkJywKLSAgICAgICAgICAgICAgJ1RoZSBjbGllbnQgbmVlZHMgdG8gYXV0aGVudGljYXRlIHRvIGdhaW4gbmV0d29yayBhY2Nlc3MuJyksCi0gICAgICAgIH0KKyAgICAgICAgdjogKHYucGhyYXNlLCB2LmRlc2NyaXB0aW9uKQorICAgICAgICBmb3IgdiBpbiBIVFRQU3RhdHVzLl9fbWVtYmVyc19fLnZhbHVlcygpCisgICAgfQogCiAKIGNsYXNzIFNpbXBsZUhUVFBSZXF1ZXN0SGFuZGxlcihCYXNlSFRUUFJlcXVlc3RIYW5kbGVyKToKQEAgLTcwNCw3ICs2NTEsNyBAQAogICAgICAgICAgICAgcGFydHMgPSB1cmxsaWIucGFyc2UudXJsc3BsaXQoc2VsZi5wYXRoKQogICAgICAgICAgICAgaWYgbm90IHBhcnRzLnBhdGguZW5kc3dpdGgoJy8nKToKICAgICAgICAgICAgICAgICAjIHJlZGlyZWN0IGJyb3dzZXIgLSBkb2luZyBiYXNpY2FsbHkgd2hhdCBhcGFjaGUgZG9lcwotICAgICAgICAgICAgICAgIHNlbGYuc2VuZF9yZXNwb25zZSgzMDEpCisgICAgICAgICAgICAgICAgc2VsZi5zZW5kX3Jlc3BvbnNlKEhUVFBTdGF0dXMuTU9WRURfUEVSTUFORU5UTFkpCiAgICAgICAgICAgICAgICAgbmV3X3BhcnRzID0gKHBhcnRzWzBdLCBwYXJ0c1sxXSwgcGFydHNbMl0gKyAnLycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnRzWzNdLCBwYXJ0c1s0XSkKICAgICAgICAgICAgICAgICBuZXdfdXJsID0gdXJsbGliLnBhcnNlLnVybHVuc3BsaXQobmV3X3BhcnRzKQpAQCAtNzIyLDEwICs2NjksMTAgQEAKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgZiA9IG9wZW4ocGF0aCwgJ3JiJykKICAgICAgICAgZXhjZXB0IE9TRXJyb3I6Ci0gICAgICAgICAgICBzZWxmLnNlbmRfZXJyb3IoNDA0LCAiRmlsZSBub3QgZm91bmQiKQorICAgICAgICAgICAgc2VsZi5zZW5kX2Vycm9yKEhUVFBTdGF0dXMuTk9UX0ZPVU5ELCAiRmlsZSBub3QgZm91bmQiKQogICAgICAgICAgICAgcmV0dXJuIE5vbmUKICAgICAgICAgdHJ5OgotICAgICAgICAgICAgc2VsZi5zZW5kX3Jlc3BvbnNlKDIwMCkKKyAgICAgICAgICAgIHNlbGYuc2VuZF9yZXNwb25zZShIVFRQU3RhdHVzLk9LKQogICAgICAgICAgICAgc2VsZi5zZW5kX2hlYWRlcigiQ29udGVudC10eXBlIiwgY3R5cGUpCiAgICAgICAgICAgICBmcyA9IG9zLmZzdGF0KGYuZmlsZW5vKCkpCiAgICAgICAgICAgICBzZWxmLnNlbmRfaGVhZGVyKCJDb250ZW50LUxlbmd0aCIsIHN0cihmc1s2XSkpCkBAIC03NDcsNyArNjk0LDkgQEAKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgbGlzdCA9IG9zLmxpc3RkaXIocGF0aCkKICAgICAgICAgZXhjZXB0IE9TRXJyb3I6Ci0gICAgICAgICAgICBzZWxmLnNlbmRfZXJyb3IoNDA0LCAiTm8gcGVybWlzc2lvbiB0byBsaXN0IGRpcmVjdG9yeSIpCisgICAgICAgICAgICBzZWxmLnNlbmRfZXJyb3IoCisgICAgICAgICAgICAgICAgSFRUUFN0YXR1cy5OT1RfRk9VTkQsCisgICAgICAgICAgICAgICAgIk5vIHBlcm1pc3Npb24gdG8gbGlzdCBkaXJlY3RvcnkiKQogICAgICAgICAgICAgcmV0dXJuIE5vbmUKICAgICAgICAgbGlzdC5zb3J0KGtleT1sYW1iZGEgYTogYS5sb3dlcigpKQogICAgICAgICByID0gW10KQEAgLTc4Niw3ICs3MzUsNyBAQAogICAgICAgICBmID0gaW8uQnl0ZXNJTygpCiAgICAgICAgIGYud3JpdGUoZW5jb2RlZCkKICAgICAgICAgZi5zZWVrKDApCi0gICAgICAgIHNlbGYuc2VuZF9yZXNwb25zZSgyMDApCisgICAgICAgIHNlbGYuc2VuZF9yZXNwb25zZShIVFRQU3RhdHVzLk9LKQogICAgICAgICBzZWxmLnNlbmRfaGVhZGVyKCJDb250ZW50LXR5cGUiLCAidGV4dC9odG1sOyBjaGFyc2V0PSVzIiAlIGVuYykKICAgICAgICAgc2VsZi5zZW5kX2hlYWRlcigiQ29udGVudC1MZW5ndGgiLCBzdHIobGVuKGVuY29kZWQpKSkKICAgICAgICAgc2VsZi5lbmRfaGVhZGVycygpCkBAIC05NjgsNyArOTE3LDkgQEAKICAgICAgICAgaWYgc2VsZi5pc19jZ2koKToKICAgICAgICAgICAgIHNlbGYucnVuX2NnaSgpCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLnNlbmRfZXJyb3IoNTAxLCAiQ2FuIG9ubHkgUE9TVCB0byBDR0kgc2NyaXB0cyIpCisgICAgICAgICAgICBzZWxmLnNlbmRfZXJyb3IoCisgICAgICAgICAgICAgICAgSFRUUFN0YXR1cy5OT1RfSU1QTEVNRU5URUQsCisgICAgICAgICAgICAgICAgIkNhbiBvbmx5IFBPU1QgdG8gQ0dJIHNjcmlwdHMiKQogCiAgICAgZGVmIHNlbmRfaGVhZChzZWxmKToKICAgICAgICAgIiIiVmVyc2lvbiBvZiBzZW5kX2hlYWQgdGhhdCBzdXBwb3J0IENHSSBzY3JpcHRzIiIiCkBAIC0xMDQ2LDE3ICs5OTcsMjEgQEAKICAgICAgICAgc2NyaXB0bmFtZSA9IGRpciArICcvJyArIHNjcmlwdAogICAgICAgICBzY3JpcHRmaWxlID0gc2VsZi50cmFuc2xhdGVfcGF0aChzY3JpcHRuYW1lKQogICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoc2NyaXB0ZmlsZSk6Ci0gICAgICAgICAgICBzZWxmLnNlbmRfZXJyb3IoNDA0LCAiTm8gc3VjaCBDR0kgc2NyaXB0ICglcikiICUgc2NyaXB0bmFtZSkKKyAgICAgICAgICAgIHNlbGYuc2VuZF9lcnJvcigKKyAgICAgICAgICAgICAgICBIVFRQU3RhdHVzLk5PVF9GT1VORCwKKyAgICAgICAgICAgICAgICAiTm8gc3VjaCBDR0kgc2NyaXB0ICglcikiICUgc2NyaXB0bmFtZSkKICAgICAgICAgICAgIHJldHVybgogICAgICAgICBpZiBub3Qgb3MucGF0aC5pc2ZpbGUoc2NyaXB0ZmlsZSk6Ci0gICAgICAgICAgICBzZWxmLnNlbmRfZXJyb3IoNDAzLCAiQ0dJIHNjcmlwdCBpcyBub3QgYSBwbGFpbiBmaWxlICglcikiICUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JpcHRuYW1lKQorICAgICAgICAgICAgc2VsZi5zZW5kX2Vycm9yKAorICAgICAgICAgICAgICAgIEhUVFBTdGF0dXMuRk9SQklEREVOLAorICAgICAgICAgICAgICAgICJDR0kgc2NyaXB0IGlzIG5vdCBhIHBsYWluIGZpbGUgKCVyKSIgJSBzY3JpcHRuYW1lKQogICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgIGlzcHkgPSBzZWxmLmlzX3B5dGhvbihzY3JpcHRuYW1lKQogICAgICAgICBpZiBzZWxmLmhhdmVfZm9yayBvciBub3QgaXNweToKICAgICAgICAgICAgIGlmIG5vdCBzZWxmLmlzX2V4ZWN1dGFibGUoc2NyaXB0ZmlsZSk6Ci0gICAgICAgICAgICAgICAgc2VsZi5zZW5kX2Vycm9yKDQwMywgIkNHSSBzY3JpcHQgaXMgbm90IGV4ZWN1dGFibGUgKCVyKSIgJQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JpcHRuYW1lKQorICAgICAgICAgICAgICAgIHNlbGYuc2VuZF9lcnJvcigKKyAgICAgICAgICAgICAgICAgICAgSFRUUFN0YXR1cy5GT1JCSURERU4sCisgICAgICAgICAgICAgICAgICAgICJDR0kgc2NyaXB0IGlzIG5vdCBleGVjdXRhYmxlICglcikiICUgc2NyaXB0bmFtZSkKICAgICAgICAgICAgICAgICByZXR1cm4KIAogICAgICAgICAjIFJlZmVyZW5jZTogaHR0cDovL2hvb2hvby5uY3NhLnVpdWMuZWR1L2NnaS9lbnYuaHRtbApAQCAtMTEyNCw3ICsxMDc5LDcgQEAKICAgICAgICAgICAgICAgICAgICdIVFRQX1VTRVJfQUdFTlQnLCAnSFRUUF9DT09LSUUnLCAnSFRUUF9SRUZFUkVSJyk6CiAgICAgICAgICAgICBlbnYuc2V0ZGVmYXVsdChrLCAiIikKIAotICAgICAgICBzZWxmLnNlbmRfcmVzcG9uc2UoMjAwLCAiU2NyaXB0IG91dHB1dCBmb2xsb3dzIikKKyAgICAgICAgc2VsZi5zZW5kX3Jlc3BvbnNlKEhUVFBTdGF0dXMuT0ssICJTY3JpcHQgb3V0cHV0IGZvbGxvd3MiKQogICAgICAgICBzZWxmLmZsdXNoX2hlYWRlcnMoKQogCiAgICAgICAgIGRlY29kZWRfcXVlcnkgPSBxdWVyeS5yZXBsYWNlKCcrJywgJyAnKQpkaWZmIC0tZ2l0IGEvTGliL2lkbGVsaWIvTkVXUy50eHQgYi9MaWIvaWRsZWxpYi9ORVdTLnR4dAppbmRleCBhM2E4ZmJmLi44MjgxNDJjIDEwMDY0NAotLS0gYS9MaWIvaWRsZWxpYi9ORVdTLnR4dAorKysgYi9MaWIvaWRsZWxpYi9ORVdTLnR4dApAQCAtMSw0ICsxLDQgQEAKLVdoYXQncyBOZXcgaW4gSWRsZSAzLjQuMz8KK1doYXQncyBOZXcgaW4gSURMRSAzLjUuMD8KID09PT09PT09PT09PT09PT09PT09PT09PT0KIAogLSBJc3N1ZSAjMTY4OTM6IFVwZGF0ZSBJZGxlIGRvYyBjaGFwdGVyIHRvIG1hdGNoIGN1cnJlbnQgSWRsZSBhbmQgYWRkIG5ldwpAQCAtMjEsMTAgKzIxLDYgQEAKIC0gSXNzdWUgIzIxOTg2OiBDb2RlIG9iamVjdHMgYXJlIG5vdCBub3JtYWxseSBwaWNrbGVkIGJ5IHRoZSBwaWNrbGUgbW9kdWxlLgogICBUbyBtYXRjaCB0aGlzLCB0aGV5IGFyZSBubyBsb25nZXIgcGlja2xlZCB3aGVuIHJ1bm5pbmcgdW5kZXIgSWRsZS4KIAotCi1XaGF0J3MgTmV3IGluIElETEUgMy40LjI/Ci09PT09PT09PT09PT09PT09PT09PT09PT09Ci0KIC0gSXNzdWUgIzE3MzkwOiBBZGp1c3QgRWRpdG9yIHdpbmRvdyB0aXRsZTsgcmVtb3ZlICdQeXRob24nLAogICBtb3ZlIHZlcnNpb24gdG8gZW5kLgogCkBAIC01OSwxMyArNTUsOCBAQAogCiAtIElzc3VlICMxODQwOTogQWRkIHVuaXR0ZXN0IGZvciBBdXRvQ29tcGxldGUuIFBhdGNoIGJ5IFBoaWwgV2Vic3Rlci4KIAotLSBJc3N1ZSAjMTgxMDQ6IEFkZCBpZGxlbGliL2lkbGVfdGVzdC9odGVzdC5weSB3aXRoIGEgZmV3IHNhbXBsZSB0ZXN0cyB0byBiZWdpbgotICBjb25zb2xpZGF0aW5nIGFuZCBpbXByb3ZpbmcgaHVtYW4tdmFsaWRhdGVkIHRlc3RzIG9mIElkbGUuIENoYW5nZSBvdGhlciBmaWxlcwotICBhcyBuZWVkZWQgdG8gd29yayB3aXRoIGh0ZXN0LiAgUnVubmluZyB0aGUgbW9kdWxlIGFzIF9fbWFpbl9fIHJ1bnMgYWxsIHRlc3RzLgotCi0KLVdoYXQncyBOZXcgaW4gSURMRSAzLjQuMT8KLT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0gSXNzdWUgIzIxNDc3OiBodGVzdC5weSAtIEltcHJvdmUgZnJhbWV3b3JrLCBjb21wbGV0ZSBzZXQgb2YgdGVzdHMuCisgIFBhdGNoZXMgYnkgU2FpbWFkaGF2IEhlYmxpa2FyCiAKIC0gSXNzdWUgIzE4MTA0OiBBZGQgaWRsZWxpYi9pZGxlX3Rlc3QvaHRlc3QucHkgd2l0aCBhIGZldyBzYW1wbGUgdGVzdHMgdG8gYmVnaW4KICAgY29uc29saWRhdGluZyBhbmQgaW1wcm92aW5nIGh1bWFuLXZhbGlkYXRlZCB0ZXN0cyBvZiBJZGxlLiBDaGFuZ2Ugb3RoZXIgZmlsZXMKZGlmZiAtLWdpdCBhL0xpYi9pZGxlbGliL1dpZGdldFJlZGlyZWN0b3IucHkgYi9MaWIvaWRsZWxpYi9XaWRnZXRSZWRpcmVjdG9yLnB5CmluZGV4IGIzZDdiZmEuLjY3ZDdmNjEgMTAwNjQ0Ci0tLSBhL0xpYi9pZGxlbGliL1dpZGdldFJlZGlyZWN0b3IucHkKKysrIGIvTGliL2lkbGVsaWIvV2lkZ2V0UmVkaXJlY3Rvci5weQpAQCAtNDcsOCArNDcsOSBAQAogICAgICAgICB0ay5jcmVhdGVjb21tYW5kKHcsIHNlbGYuZGlzcGF0Y2gpCiAKICAgICBkZWYgX19yZXByX18oc2VsZik6Ci0gICAgICAgIHJldHVybiAiV2lkZ2V0UmVkaXJlY3Rvciglczwlcz4pIiAlIChzZWxmLndpZGdldC5fX2NsYXNzX18uX19uYW1lX18sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLndpZGdldC5fdykKKyAgICAgICAgcmV0dXJuICIlcyglczwlcz4pIiAlIChzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLndpZGdldC5fX2NsYXNzX18uX19uYW1lX18sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi53aWRnZXQuX3cpCiAKICAgICBkZWYgY2xvc2Uoc2VsZik6CiAgICAgICAgICJVbnJlZ2lzdGVyIG9wZXJhdGlvbnMgYW5kIHJldmVydCByZWRpcmVjdGlvbiBjcmVhdGVkIGJ5IC5fX2luaXRfXy4iCkBAIC0xNDIsNyArMTQzLDggQEAKICAgICAgICAgc2VsZi5vcmlnX2FuZF9vcGVyYXRpb24gPSAocmVkaXIub3JpZywgb3BlcmF0aW9uKQogCiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gIk9yaWdpbmFsQ29tbWFuZCglciwgJXIpIiAlIChzZWxmLnJlZGlyLCBzZWxmLm9wZXJhdGlvbikKKyAgICAgICAgcmV0dXJuICIlcyglciwgJXIpIiAlIChzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnJlZGlyLCBzZWxmLm9wZXJhdGlvbikKIAogICAgIGRlZiBfX2NhbGxfXyhzZWxmLCAqYXJncyk6CiAgICAgICAgIHJldHVybiBzZWxmLnRrX2NhbGwoc2VsZi5vcmlnX2FuZF9vcGVyYXRpb24gKyBhcmdzKQpkaWZmIC0tZ2l0IGEvTGliL2lkbGVsaWIvaWRsZV90ZXN0L3Rlc3Rfc2VhcmNoZW5naW5lLnB5IGIvTGliL2lkbGVsaWIvaWRsZV90ZXN0L3Rlc3Rfc2VhcmNoZW5naW5lLnB5CmluZGV4IDEyOWE1YTMuLjJjMTA0NjEgMTAwNjQ0Ci0tLSBhL0xpYi9pZGxlbGliL2lkbGVfdGVzdC90ZXN0X3NlYXJjaGVuZ2luZS5weQorKysgYi9MaWIvaWRsZWxpYi9pZGxlX3Rlc3QvdGVzdF9zZWFyY2hlbmdpbmUucHkKQEAgLTE3OCw3ICsxNzgsNyBAQAogICAgICAgICBlbmdpbmUucmV2YXIuc2V0KDEpCiAgICAgICAgIEVxdWFsKGVuZ2luZS5nZXRwcm9nKCksIE5vbmUpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoTWJveC5zaG93ZXJyb3IubWVzc2FnZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Vycm9yOiBub3RoaW5nIHRvIHJlcGVhdFxuUGF0dGVybjogKycpCisgICAgICAgICAgICAgICAgICAgICAgICAgJ0Vycm9yOiBub3RoaW5nIHRvIHJlcGVhdCBhdCBwb3NpdGlvbiAwXG5QYXR0ZXJuOiArJykKIAogICAgIGRlZiB0ZXN0X3JlcG9ydF9lcnJvcihzZWxmKToKICAgICAgICAgc2hvd2Vycm9yID0gTWJveC5zaG93ZXJyb3IKZGlmZiAtLWdpdCBhL0xpYi9pZGxlbGliL2lkbGV2ZXIucHkgYi9MaWIvaWRsZWxpYi9pZGxldmVyLnB5CmluZGV4IDg3ZDg0ZmMuLjFmZmJjNzYgMTAwNjQ0Ci0tLSBhL0xpYi9pZGxlbGliL2lkbGV2ZXIucHkKKysrIGIvTGliL2lkbGVsaWIvaWRsZXZlci5weQpAQCAtMSArMSBAQAotSURMRV9WRVJTSU9OID0gIjMuNC4zcmMxIgorSURMRV9WRVJTSU9OID0gIjMuNS4wYTEiCmRpZmYgLS1naXQgYS9MaWIvaW1hcGxpYi5weSBiL0xpYi9pbWFwbGliLnB5CmluZGV4IDcyYWI1ZDcuLjQ5ZWUzOWQgMTAwNjQ0Ci0tLSBhL0xpYi9pbWFwbGliLnB5CisrKyBiL0xpYi9pbWFwbGliLnB5CkBAIC0yMzgsNiArMjM4LDE0IEBACiAgICAgICAgICAgICByZXR1cm4gZ2V0YXR0cihzZWxmLCBhdHRyLmxvd2VyKCkpCiAgICAgICAgIHJhaXNlIEF0dHJpYnV0ZUVycm9yKCJVbmtub3duIElNQVA0IGNvbW1hbmQ6ICclcyciICUgYXR0cikKIAorICAgIGRlZiBfX2VudGVyX18oc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmCisKKyAgICBkZWYgX19leGl0X18oc2VsZiwgKmFyZ3MpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICBzZWxmLmxvZ291dCgpCisgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgorICAgICAgICAgICAgcGFzcwogCiAKICAgICAjICAgICAgIE92ZXJyaWRhYmxlIG1ldGhvZHMKZGlmZiAtLWdpdCBhL0xpYi9pbWdoZHIucHkgYi9MaWIvaW1naGRyLnB5CmluZGV4IGFkZDJlYTguLmIyNjc5MjUgMTAwNjQ0Ci0tLSBhL0xpYi9pbWdoZHIucHkKKysrIGIvTGliL2ltZ2hkci5weQpAQCAtMTEwLDYgKzExMCwxOCBAQAogCiB0ZXN0cy5hcHBlbmQodGVzdF9ibXApCiAKK2RlZiB0ZXN0X3dlYnAoaCwgZik6CisgICAgaWYgaC5zdGFydHN3aXRoKGInUklGRicpIGFuZCBoWzg6MTJdID09IGInV0VCUCc6CisgICAgICAgIHJldHVybiAnd2VicCcKKwordGVzdHMuYXBwZW5kKHRlc3Rfd2VicCkKKworZGVmIHRlc3RfZXhyKGgsIGYpOgorICAgIGlmIGguc3RhcnRzd2l0aChiJ1x4NzZceDJmXHgzMVx4MDEnKToKKyAgICAgICAgcmV0dXJuICdleHInCisKK3Rlc3RzLmFwcGVuZCh0ZXN0X2V4cikKKwogIy0tLS0tLS0tLS0tLS0tLS0tLS0tIwogIyBTbWFsbCB0ZXN0IHByb2dyYW0gIwogIy0tLS0tLS0tLS0tLS0tLS0tLS0tIwpkaWZmIC0tZ2l0IGEvTGliL2ltcC5weSBiL0xpYi9pbXAucHkKaW5kZXggYzg0NDljNi4uNTljZTQxYyAxMDA2NDQKLS0tIGEvTGliL2ltcC5weQorKysgYi9MaWIvaW1wLnB5CkBAIC0xNiw3ICsxNiw3IEBACiAgICAgIyBQbGF0Zm9ybSBkb2Vzbid0IHN1cHBvcnQgZHluYW1pYyBsb2FkaW5nLgogICAgIGxvYWRfZHluYW1pYyA9IE5vbmUKIAotZnJvbSBpbXBvcnRsaWIuX2Jvb3RzdHJhcCBpbXBvcnQgU291cmNlbGVzc0ZpbGVMb2FkZXIsIF9FUlJfTVNHLCBfU3BlY01ldGhvZHMKK2Zyb20gaW1wb3J0bGliLl9ib290c3RyYXAgaW1wb3J0IFNvdXJjZWxlc3NGaWxlTG9hZGVyLCBfRVJSX01TRywgX2V4ZWMsIF9sb2FkCiAKIGZyb20gaW1wb3J0bGliIGltcG9ydCBtYWNoaW5lcnkKIGZyb20gaW1wb3J0bGliIGltcG9ydCB1dGlsCkBAIC0xNjQsMTEgKzE2NCwxMCBAQAogZGVmIGxvYWRfc291cmNlKG5hbWUsIHBhdGhuYW1lLCBmaWxlPU5vbmUpOgogICAgIGxvYWRlciA9IF9Mb2FkU291cmNlQ29tcGF0aWJpbGl0eShuYW1lLCBwYXRobmFtZSwgZmlsZSkKICAgICBzcGVjID0gdXRpbC5zcGVjX2Zyb21fZmlsZV9sb2NhdGlvbihuYW1lLCBwYXRobmFtZSwgbG9hZGVyPWxvYWRlcikKLSAgICBtZXRob2RzID0gX1NwZWNNZXRob2RzKHNwZWMpCiAgICAgaWYgbmFtZSBpbiBzeXMubW9kdWxlczoKLSAgICAgICAgbW9kdWxlID0gbWV0aG9kcy5leGVjKHN5cy5tb2R1bGVzW25hbWVdKQorICAgICAgICBtb2R1bGUgPSBfZXhlYyhzcGVjLCBzeXMubW9kdWxlc1tuYW1lXSkKICAgICBlbHNlOgotICAgICAgICBtb2R1bGUgPSBtZXRob2RzLmxvYWQoKQorICAgICAgICBtb2R1bGUgPSBfbG9hZChzcGVjKQogICAgICMgVG8gYWxsb3cgcmVsb2FkaW5nIHRvIHBvdGVudGlhbGx5IHdvcmssIHVzZSBhIG5vbi1oYWNrZWQgbG9hZGVyIHdoaWNoCiAgICAgIyB3b24ndCByZWx5IG9uIGEgbm93LWNsb3NlZCBmaWxlIG9iamVjdC4KICAgICBtb2R1bGUuX19sb2FkZXJfXyA9IG1hY2hpbmVyeS5Tb3VyY2VGaWxlTG9hZGVyKG5hbWUsIHBhdGhuYW1lKQpAQCAtMTg1LDExICsxODQsMTAgQEAKICAgICAiIiIqKkRFUFJFQ0FURUQqKiIiIgogICAgIGxvYWRlciA9IF9Mb2FkQ29tcGlsZWRDb21wYXRpYmlsaXR5KG5hbWUsIHBhdGhuYW1lLCBmaWxlKQogICAgIHNwZWMgPSB1dGlsLnNwZWNfZnJvbV9maWxlX2xvY2F0aW9uKG5hbWUsIHBhdGhuYW1lLCBsb2FkZXI9bG9hZGVyKQotICAgIG1ldGhvZHMgPSBfU3BlY01ldGhvZHMoc3BlYykKICAgICBpZiBuYW1lIGluIHN5cy5tb2R1bGVzOgotICAgICAgICBtb2R1bGUgPSBtZXRob2RzLmV4ZWMoc3lzLm1vZHVsZXNbbmFtZV0pCisgICAgICAgIG1vZHVsZSA9IF9leGVjKHNwZWMsIHN5cy5tb2R1bGVzW25hbWVdKQogICAgIGVsc2U6Ci0gICAgICAgIG1vZHVsZSA9IG1ldGhvZHMubG9hZCgpCisgICAgICAgIG1vZHVsZSA9IF9sb2FkKHNwZWMpCiAgICAgIyBUbyBhbGxvdyByZWxvYWRpbmcgdG8gcG90ZW50aWFsbHkgd29yaywgdXNlIGEgbm9uLWhhY2tlZCBsb2FkZXIgd2hpY2gKICAgICAjIHdvbid0IHJlbHkgb24gYSBub3ctY2xvc2VkIGZpbGUgb2JqZWN0LgogICAgIG1vZHVsZS5fX2xvYWRlcl9fID0gU291cmNlbGVzc0ZpbGVMb2FkZXIobmFtZSwgcGF0aG5hbWUpCkBAIC0yMTAsMTEgKzIwOCwxMCBAQAogICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigneyFyfSBpcyBub3QgYSBwYWNrYWdlJy5mb3JtYXQocGF0aCkpCiAgICAgc3BlYyA9IHV0aWwuc3BlY19mcm9tX2ZpbGVfbG9jYXRpb24obmFtZSwgcGF0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJtb2R1bGVfc2VhcmNoX2xvY2F0aW9ucz1bXSkKLSAgICBtZXRob2RzID0gX1NwZWNNZXRob2RzKHNwZWMpCiAgICAgaWYgbmFtZSBpbiBzeXMubW9kdWxlczoKLSAgICAgICAgcmV0dXJuIG1ldGhvZHMuZXhlYyhzeXMubW9kdWxlc1tuYW1lXSkKKyAgICAgICAgcmV0dXJuIF9leGVjKHNwZWMsIHN5cy5tb2R1bGVzW25hbWVdKQogICAgIGVsc2U6Ci0gICAgICAgIHJldHVybiBtZXRob2RzLmxvYWQoKQorICAgICAgICByZXR1cm4gX2xvYWQoc3BlYykKIAogCiBkZWYgbG9hZF9tb2R1bGUobmFtZSwgZmlsZSwgZmlsZW5hbWUsIGRldGFpbHMpOgpkaWZmIC0tZ2l0IGEvTGliL2ltcG9ydGxpYi9fX2luaXRfXy5weSBiL0xpYi9pbXBvcnRsaWIvX19pbml0X18ucHkKaW5kZXggMWJjOTk0Ny4uZTk5ZjUwZSAxMDA2NDQKLS0tIGEvTGliL2ltcG9ydGxpYi9fX2luaXRfXy5weQorKysgYi9MaWIvaW1wb3J0bGliL19faW5pdF9fLnB5CkBAIC03Myw3ICs3Myw3IEBACiAgICAgZXhjZXB0IEtleUVycm9yOgogICAgICAgICBwYXNzCiAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgotICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCd7fS5fX2xvYWRlcl9fIGlzIG5vdCBzZXQnLmZvcm1hdChuYW1lKSkKKyAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigne30uX19sb2FkZXJfXyBpcyBub3Qgc2V0Jy5mb3JtYXQobmFtZSkpIGZyb20gTm9uZQogCiAgICAgc3BlYyA9IF9ib290c3RyYXAuX2ZpbmRfc3BlYyhuYW1lLCBwYXRoKQogICAgICMgV2Ugd29uJ3Qgd29ycnkgYWJvdXQgbWFsZm9ybWVkIHNwZWNzIChtaXNzaW5nIGF0dHJpYnV0ZXMpLgpAQCAtMTM4LDE1ICsxMzgsMTUgQEAKICAgICAgICAgICAgICAgICBwYXJlbnQgPSBzeXMubW9kdWxlc1twYXJlbnRfbmFtZV0KICAgICAgICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKICAgICAgICAgICAgICAgICBtc2cgPSAicGFyZW50IHshcn0gbm90IGluIHN5cy5tb2R1bGVzIgotICAgICAgICAgICAgICAgIHJhaXNlIEltcG9ydEVycm9yKG1zZy5mb3JtYXQocGFyZW50X25hbWUpLCBuYW1lPXBhcmVudF9uYW1lKQorICAgICAgICAgICAgICAgIHJhaXNlIEltcG9ydEVycm9yKG1zZy5mb3JtYXQocGFyZW50X25hbWUpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9cGFyZW50X25hbWUpIGZyb20gTm9uZQogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBwa2dwYXRoID0gcGFyZW50Ll9fcGF0aF9fCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBwa2dwYXRoID0gTm9uZQogICAgICAgICB0YXJnZXQgPSBtb2R1bGUKICAgICAgICAgc3BlYyA9IG1vZHVsZS5fX3NwZWNfXyA9IF9ib290c3RyYXAuX2ZpbmRfc3BlYyhuYW1lLCBwa2dwYXRoLCB0YXJnZXQpCi0gICAgICAgIG1ldGhvZHMgPSBfYm9vdHN0cmFwLl9TcGVjTWV0aG9kcyhzcGVjKQotICAgICAgICBtZXRob2RzLmV4ZWMobW9kdWxlKQorICAgICAgICBfYm9vdHN0cmFwLl9leGVjKHNwZWMsIG1vZHVsZSkKICAgICAgICAgIyBUaGUgbW9kdWxlIG1heSBoYXZlIHJlcGxhY2VkIGl0c2VsZiBpbiBzeXMubW9kdWxlcyEKICAgICAgICAgcmV0dXJuIHN5cy5tb2R1bGVzW25hbWVdCiAgICAgZmluYWxseToKZGlmZiAtLWdpdCBhL0xpYi9pbXBvcnRsaWIvX2Jvb3RzdHJhcC5weSBiL0xpYi9pbXBvcnRsaWIvX2Jvb3RzdHJhcC5weQppbmRleCA1YjkxYzA1Li4wZWQ3Y2M2IDEwMDY0NAotLS0gYS9MaWIvaW1wb3J0bGliL19ib290c3RyYXAucHkKKysrIGIvTGliL2ltcG9ydGxpYi9fYm9vdHN0cmFwLnB5CkBAIC05LDcgKzksNyBAQAogIwogIyBJTVBPUlRBTlQ6IFdoZW5ldmVyIG1ha2luZyBjaGFuZ2VzIHRvIHRoaXMgbW9kdWxlLCBiZSBzdXJlIHRvIHJ1bgogIyBhIHRvcC1sZXZlbCBtYWtlIGluIG9yZGVyIHRvIGdldCB0aGUgZnJvemVuIHZlcnNpb24gb2YgdGhlIG1vZHVsZQotIyB1cGRhdGUuIE5vdCBkb2luZyBzbyB3aWxsIHJlc3VsdCBpbiB0aGUgTWFrZWZpbGUgdG8gZmFpbCBmb3IKKyMgdXBkYXRlZC4gTm90IGRvaW5nIHNvIHdpbGwgcmVzdWx0IGluIHRoZSBNYWtlZmlsZSB0byBmYWlsIGZvcgogIyBhbGwgb3RoZXJzIHdobyBkb24ndCBoYXZlIGEgLi9weXRob24gYXJvdW5kIHRvIGZyZWV6ZSB0aGUgbW9kdWxlCiAjIGluIHRoZSBlYXJseSBzdGFnZXMgb2YgY29tcGlsYXRpb24uCiAjCkBAIC00MTksMTIgKzQxOSwxMyBAQAogIyAgICAgUHl0aG9uIDMuNGE0ICAzMjkwIChjaGFuZ2VzIHRvIF9fcXVhbG5hbWVfXyBjb21wdXRhdGlvbikKICMgICAgIFB5dGhvbiAzLjRhNCAgMzMwMCAobW9yZSBjaGFuZ2VzIHRvIF9fcXVhbG5hbWVfXyBjb21wdXRhdGlvbikKICMgICAgIFB5dGhvbiAzLjRyYzIgMzMxMCAoYWx0ZXIgX19xdWFsbmFtZV9fIGNvbXB1dGF0aW9uKQorIyAgICAgUHl0aG9uIDMuNWEwICAzMzIwIChtYXRyaXggbXVsdGlwbGljYXRpb24gb3BlcmF0b3IpCiAjCiAjIE1BR0lDIG11c3QgY2hhbmdlIHdoZW5ldmVyIHRoZSBieXRlY29kZSBlbWl0dGVkIGJ5IHRoZSBjb21waWxlciBtYXkgbm8KICMgbG9uZ2VyIGJlIHVuZGVyc3Rvb2QgYnkgb2xkZXIgaW1wbGVtZW50YXRpb25zIG9mIHRoZSBldmFsIGxvb3AgKHVzdWFsbHkKICMgZHVlIHRvIHRoZSBhZGRpdGlvbiBvZiBuZXcgb3Bjb2RlcykuCiAKLU1BR0lDX05VTUJFUiA9ICgzMzEwKS50b19ieXRlcygyLCAnbGl0dGxlJykgKyBiJ1xyXG4nCitNQUdJQ19OVU1CRVIgPSAoMzMyMCkudG9fYnl0ZXMoMiwgJ2xpdHRsZScpICsgYidcclxuJwogX1JBV19NQUdJQ19OVU1CRVIgPSBpbnQuZnJvbV9ieXRlcyhNQUdJQ19OVU1CRVIsICdsaXR0bGUnKSAgIyBGb3IgaW1wb3J0LmMKIAogX1BZQ0FDSEUgPSAnX19weWNhY2hlX18nCkBAIC01ODAsNiArNTgxLDcgQEAKICAgICByZXR1cm4gbG9hZGVyCiAKIAorIyBUeXBpY2FsbHkgdXNlZCBieSBsb2FkZXIgY2xhc3NlcyBhcyBhIG1ldGhvZCByZXBsYWNlbWVudC4KIGRlZiBfbG9hZF9tb2R1bGVfc2hpbShzZWxmLCBmdWxsbmFtZSk6CiAgICAgIiIiTG9hZCB0aGUgc3BlY2lmaWVkIG1vZHVsZSBpbnRvIHN5cy5tb2R1bGVzIGFuZCByZXR1cm4gaXQuCiAKQEAgLTU4NywxMyArNTg5LDEyIEBACiAKICAgICAiIiIKICAgICBzcGVjID0gc3BlY19mcm9tX2xvYWRlcihmdWxsbmFtZSwgc2VsZikKLSAgICBtZXRob2RzID0gX1NwZWNNZXRob2RzKHNwZWMpCiAgICAgaWYgZnVsbG5hbWUgaW4gc3lzLm1vZHVsZXM6CiAgICAgICAgIG1vZHVsZSA9IHN5cy5tb2R1bGVzW2Z1bGxuYW1lXQotICAgICAgICBtZXRob2RzLmV4ZWMobW9kdWxlKQorICAgICAgICBfZXhlYyhzcGVjLCBtb2R1bGUpCiAgICAgICAgIHJldHVybiBzeXMubW9kdWxlc1tmdWxsbmFtZV0KICAgICBlbHNlOgotICAgICAgICByZXR1cm4gbWV0aG9kcy5sb2FkKCkKKyAgICAgICAgcmV0dXJuIF9sb2FkKHNwZWMpCiAKIAogZGVmIF92YWxpZGF0ZV9ieXRlY29kZV9oZWFkZXIoZGF0YSwgc291cmNlX3N0YXRzPU5vbmUsIG5hbWU9Tm9uZSwgcGF0aD1Ob25lKToKQEAgLTcwNCw3ICs3MDUsNyBAQAogICAgICAgICBwYXNzCiAgICAgZWxzZToKICAgICAgICAgaWYgc3BlYyBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIHJldHVybiBfU3BlY01ldGhvZHMoc3BlYykubW9kdWxlX3JlcHIoKQorICAgICAgICAgICAgcmV0dXJuIF9tb2R1bGVfcmVwcl9mcm9tX3NwZWMoc3BlYykKIAogICAgICMgV2UgY291bGQgdXNlIG1vZHVsZS5fX2NsYXNzX18uX19uYW1lX18gaW5zdGVhZCBvZiAnbW9kdWxlJyBpbiB0aGUKICAgICAjIHZhcmlvdXMgcmVwciBwZXJtdXRhdGlvbnMuCkBAIC05OTAsMjM0ICs5OTEsMTg2IEBACiAgICAgcmV0dXJuIHNwZWMKIAogCi1jbGFzcyBfU3BlY01ldGhvZHM6CitkZWYgX2luaXRfbW9kdWxlX2F0dHJzKHNwZWMsIG1vZHVsZSwgKiwgb3ZlcnJpZGU9RmFsc2UpOgorICAgICMgVGhlIHBhc3NlZC1pbiBtb2R1bGUgbWF5IGJlIG5vdCBzdXBwb3J0IGF0dHJpYnV0ZSBhc3NpZ25tZW50LAorICAgICMgaW4gd2hpY2ggY2FzZSB3ZSBzaW1wbHkgZG9uJ3Qgc2V0IHRoZSBhdHRyaWJ1dGVzLgorICAgICMgX19uYW1lX18KKyAgICBpZiAob3ZlcnJpZGUgb3IgZ2V0YXR0cihtb2R1bGUsICdfX25hbWVfXycsIE5vbmUpIGlzIE5vbmUpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICBtb2R1bGUuX19uYW1lX18gPSBzcGVjLm5hbWUKKyAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgorICAgICAgICAgICAgcGFzcworICAgICMgX19sb2FkZXJfXworICAgIGlmIG92ZXJyaWRlIG9yIGdldGF0dHIobW9kdWxlLCAnX19sb2FkZXJfXycsIE5vbmUpIGlzIE5vbmU6CisgICAgICAgIGxvYWRlciA9IHNwZWMubG9hZGVyCisgICAgICAgIGlmIGxvYWRlciBpcyBOb25lOgorICAgICAgICAgICAgIyBBIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgaGFjay4KKyAgICAgICAgICAgIGlmIHNwZWMuc3VibW9kdWxlX3NlYXJjaF9sb2NhdGlvbnMgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgbG9hZGVyID0gX05hbWVzcGFjZUxvYWRlci5fX25ld19fKF9OYW1lc3BhY2VMb2FkZXIpCisgICAgICAgICAgICAgICAgbG9hZGVyLl9wYXRoID0gc3BlYy5zdWJtb2R1bGVfc2VhcmNoX2xvY2F0aW9ucworICAgICAgICB0cnk6CisgICAgICAgICAgICBtb2R1bGUuX19sb2FkZXJfXyA9IGxvYWRlcgorICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisgICAgICAgICAgICBwYXNzCisgICAgIyBfX3BhY2thZ2VfXworICAgIGlmIG92ZXJyaWRlIG9yIGdldGF0dHIobW9kdWxlLCAnX19wYWNrYWdlX18nLCBOb25lKSBpcyBOb25lOgorICAgICAgICB0cnk6CisgICAgICAgICAgICBtb2R1bGUuX19wYWNrYWdlX18gPSBzcGVjLnBhcmVudAorICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisgICAgICAgICAgICBwYXNzCisgICAgIyBfX3NwZWNfXworICAgIHRyeToKKyAgICAgICAgbW9kdWxlLl9fc3BlY19fID0gc3BlYworICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKKyAgICAgICAgcGFzcworICAgICMgX19wYXRoX18KKyAgICBpZiBvdmVycmlkZSBvciBnZXRhdHRyKG1vZHVsZSwgJ19fcGF0aF9fJywgTm9uZSkgaXMgTm9uZToKKyAgICAgICAgaWYgc3BlYy5zdWJtb2R1bGVfc2VhcmNoX2xvY2F0aW9ucyBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBtb2R1bGUuX19wYXRoX18gPSBzcGVjLnN1Ym1vZHVsZV9zZWFyY2hfbG9jYXRpb25zCisgICAgICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisgICAgICAgICAgICAgICAgcGFzcworICAgICMgX19maWxlX18vX19jYWNoZWRfXworICAgIGlmIHNwZWMuaGFzX2xvY2F0aW9uOgorICAgICAgICBpZiBvdmVycmlkZSBvciBnZXRhdHRyKG1vZHVsZSwgJ19fZmlsZV9fJywgTm9uZSkgaXMgTm9uZToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBtb2R1bGUuX19maWxlX18gPSBzcGVjLm9yaWdpbgorICAgICAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgorICAgICAgICAgICAgICAgIHBhc3MKIAotICAgICIiIkNvbnZlbmllbmNlIHdyYXBwZXIgYXJvdW5kIHNwZWMgb2JqZWN0cyB0byBwcm92aWRlIHNwZWMtc3BlY2lmaWMKLSAgICBtZXRob2RzLiIiIgorICAgICAgICBpZiBvdmVycmlkZSBvciBnZXRhdHRyKG1vZHVsZSwgJ19fY2FjaGVkX18nLCBOb25lKSBpcyBOb25lOgorICAgICAgICAgICAgaWYgc3BlYy5jYWNoZWQgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICBtb2R1bGUuX19jYWNoZWRfXyA9IHNwZWMuY2FjaGVkCisgICAgICAgICAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgorICAgICAgICAgICAgICAgICAgICBwYXNzCisgICAgcmV0dXJuIG1vZHVsZQogCi0gICAgIyBUaGUgdmFyaW91cyBzcGVjX2Zyb21fKiBmdW5jdGlvbnMgY291bGQgYmUgbWFkZSBmYWN0b3J5IG1ldGhvZHMgaGVyZS4KIAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBzcGVjKToKLSAgICAgICAgc2VsZi5zcGVjID0gc3BlYworZGVmIG1vZHVsZV9mcm9tX3NwZWMoc3BlYyk6CisgICAgIiIiQ3JlYXRlIGEgbW9kdWxlIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBzcGVjLiIiIgorICAgICMgVHlwaWNhbGx5IGxvYWRlcnMgd2lsbCBub3QgaW1wbGVtZW50IGNyZWF0ZV9tb2R1bGUoKS4KKyAgICBtb2R1bGUgPSBOb25lCisgICAgaWYgaGFzYXR0cihzcGVjLmxvYWRlciwgJ2NyZWF0ZV9tb2R1bGUnKToKKyAgICAgICAgIyBJZiBjcmVhdGVfbW9kdWxlKCkgcmV0dXJucyBgTm9uZWAgdGhlbiBpdCBtZWFucyBkZWZhdWx0CisgICAgICAgICMgbW9kdWxlIGNyZWF0aW9uIHNob3VsZCBiZSB1c2VkLgorICAgICAgICBtb2R1bGUgPSBzcGVjLmxvYWRlci5jcmVhdGVfbW9kdWxlKHNwZWMpCisgICAgZWxpZiBoYXNhdHRyKHNwZWMubG9hZGVyLCAnZXhlY19tb2R1bGUnKToKKyAgICAgICAgX3dhcm5pbmdzLndhcm4oJ3N0YXJ0aW5nIGluIFB5dGhvbiAzLjYsIGxvYWRlcnMgZGVmaW5pbmcgZXhlY19tb2R1bGUoKSAnCisgICAgICAgICAgICAgICAgICAgICAgICdtdXN0IGFsc28gZGVmaW5lIGNyZWF0ZV9tb2R1bGUoKScsCisgICAgICAgICAgICAgICAgICAgICAgIERlcHJlY2F0aW9uV2FybmluZywgc3RhY2tsZXZlbD0yKQorICAgIGlmIG1vZHVsZSBpcyBOb25lOgorICAgICAgICBtb2R1bGUgPSBfbmV3X21vZHVsZShzcGVjLm5hbWUpCisgICAgX2luaXRfbW9kdWxlX2F0dHJzKHNwZWMsIG1vZHVsZSkKKyAgICByZXR1cm4gbW9kdWxlCiAKLSAgICBkZWYgbW9kdWxlX3JlcHIoc2VsZik6Ci0gICAgICAgICIiIlJldHVybiB0aGUgcmVwciB0byB1c2UgZm9yIHRoZSBtb2R1bGUuIiIiCi0gICAgICAgICMgV2UgbW9zdGx5IHJlcGxpY2F0ZSBfbW9kdWxlX3JlcHIoKSB1c2luZyB0aGUgc3BlYyBhdHRyaWJ1dGVzLgotICAgICAgICBzcGVjID0gc2VsZi5zcGVjCi0gICAgICAgIG5hbWUgPSAnPycgaWYgc3BlYy5uYW1lIGlzIE5vbmUgZWxzZSBzcGVjLm5hbWUKLSAgICAgICAgaWYgc3BlYy5vcmlnaW4gaXMgTm9uZToKLSAgICAgICAgICAgIGlmIHNwZWMubG9hZGVyIGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgcmV0dXJuICc8bW9kdWxlIHshcn0+Jy5mb3JtYXQobmFtZSkKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmV0dXJuICc8bW9kdWxlIHshcn0gKHshcn0pPicuZm9ybWF0KG5hbWUsIHNwZWMubG9hZGVyKQorCitkZWYgX21vZHVsZV9yZXByX2Zyb21fc3BlYyhzcGVjKToKKyAgICAiIiJSZXR1cm4gdGhlIHJlcHIgdG8gdXNlIGZvciB0aGUgbW9kdWxlLiIiIgorICAgICMgV2UgbW9zdGx5IHJlcGxpY2F0ZSBfbW9kdWxlX3JlcHIoKSB1c2luZyB0aGUgc3BlYyBhdHRyaWJ1dGVzLgorICAgIG5hbWUgPSAnPycgaWYgc3BlYy5uYW1lIGlzIE5vbmUgZWxzZSBzcGVjLm5hbWUKKyAgICBpZiBzcGVjLm9yaWdpbiBpcyBOb25lOgorICAgICAgICBpZiBzcGVjLmxvYWRlciBpcyBOb25lOgorICAgICAgICAgICAgcmV0dXJuICc8bW9kdWxlIHshcn0+Jy5mb3JtYXQobmFtZSkKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGlmIHNwZWMuaGFzX2xvY2F0aW9uOgotICAgICAgICAgICAgICAgIHJldHVybiAnPG1vZHVsZSB7IXJ9IGZyb20geyFyfT4nLmZvcm1hdChuYW1lLCBzcGVjLm9yaWdpbikKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmV0dXJuICc8bW9kdWxlIHshcn0gKHt9KT4nLmZvcm1hdChzcGVjLm5hbWUsIHNwZWMub3JpZ2luKQorICAgICAgICAgICAgcmV0dXJuICc8bW9kdWxlIHshcn0gKHshcn0pPicuZm9ybWF0KG5hbWUsIHNwZWMubG9hZGVyKQorICAgIGVsc2U6CisgICAgICAgIGlmIHNwZWMuaGFzX2xvY2F0aW9uOgorICAgICAgICAgICAgcmV0dXJuICc8bW9kdWxlIHshcn0gZnJvbSB7IXJ9PicuZm9ybWF0KG5hbWUsIHNwZWMub3JpZ2luKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmV0dXJuICc8bW9kdWxlIHshcn0gKHt9KT4nLmZvcm1hdChzcGVjLm5hbWUsIHNwZWMub3JpZ2luKQogCi0gICAgZGVmIGluaXRfbW9kdWxlX2F0dHJzKHNlbGYsIG1vZHVsZSwgKiwgX292ZXJyaWRlPUZhbHNlLCBfZm9yY2VfbmFtZT1UcnVlKToKLSAgICAgICAgIiIiU2V0IHRoZSBtb2R1bGUncyBhdHRyaWJ1dGVzLgogCi0gICAgICAgIEFsbCBtaXNzaW5nIGltcG9ydC1yZWxhdGVkIG1vZHVsZSBhdHRyaWJ1dGVzIHdpbGwgYmUgc2V0LiAgSGVyZQotICAgICAgICBpcyBob3cgdGhlIHNwZWMgYXR0cmlidXRlcyBtYXAgb250byB0aGUgbW9kdWxlOgorIyBVc2VkIGJ5IGltcG9ydGxpYi5yZWxvYWQoKSBhbmQgX2xvYWRfbW9kdWxlX3NoaW0oKS4KK2RlZiBfZXhlYyhzcGVjLCBtb2R1bGUpOgorICAgICIiIkV4ZWN1dGUgdGhlIHNwZWMgaW4gYW4gZXhpc3RpbmcgbW9kdWxlJ3MgbmFtZXNwYWNlLiIiIgorICAgIG5hbWUgPSBzcGVjLm5hbWUKKyAgICBfaW1wLmFjcXVpcmVfbG9jaygpCisgICAgd2l0aCBfTW9kdWxlTG9ja01hbmFnZXIobmFtZSk6CisgICAgICAgIGlmIHN5cy5tb2R1bGVzLmdldChuYW1lKSBpcyBub3QgbW9kdWxlOgorICAgICAgICAgICAgbXNnID0gJ21vZHVsZSB7IXJ9IG5vdCBpbiBzeXMubW9kdWxlcycuZm9ybWF0KG5hbWUpCisgICAgICAgICAgICByYWlzZSBJbXBvcnRFcnJvcihtc2csIG5hbWU9bmFtZSkKKyAgICAgICAgaWYgc3BlYy5sb2FkZXIgaXMgTm9uZToKKyAgICAgICAgICAgIGlmIHNwZWMuc3VibW9kdWxlX3NlYXJjaF9sb2NhdGlvbnMgaXMgTm9uZToKKyAgICAgICAgICAgICAgICByYWlzZSBJbXBvcnRFcnJvcignbWlzc2luZyBsb2FkZXInLCBuYW1lPXNwZWMubmFtZSkKKyAgICAgICAgICAgICMgbmFtZXNwYWNlIHBhY2thZ2UKKyAgICAgICAgICAgIF9pbml0X21vZHVsZV9hdHRycyhzcGVjLCBtb2R1bGUsIG92ZXJyaWRlPVRydWUpCisgICAgICAgICAgICByZXR1cm4gbW9kdWxlCisgICAgICAgIF9pbml0X21vZHVsZV9hdHRycyhzcGVjLCBtb2R1bGUsIG92ZXJyaWRlPVRydWUpCisgICAgICAgIGlmIG5vdCBoYXNhdHRyKHNwZWMubG9hZGVyLCAnZXhlY19tb2R1bGUnKToKKyAgICAgICAgICAgICMgKGlzc3VlMTk3MTMpIE9uY2UgQnVpbHRpbkltcG9ydGVyIGFuZCBFeHRlbnNpb25GaWxlTG9hZGVyCisgICAgICAgICAgICAjIGhhdmUgZXhlY19tb2R1bGUoKSBpbXBsZW1lbnRlZCwgd2UgY2FuIGFkZCBhIGRlcHJlY2F0aW9uCisgICAgICAgICAgICAjIHdhcm5pbmcgaGVyZS4KKyAgICAgICAgICAgIHNwZWMubG9hZGVyLmxvYWRfbW9kdWxlKG5hbWUpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzcGVjLmxvYWRlci5leGVjX21vZHVsZShtb2R1bGUpCisgICAgcmV0dXJuIHN5cy5tb2R1bGVzW25hbWVdCiAKLSAgICAgICAgc3BlYy5uYW1lIC0+IG1vZHVsZS5fX25hbWVfXwotICAgICAgICBzcGVjLmxvYWRlciAtPiBtb2R1bGUuX19sb2FkZXJfXwotICAgICAgICBzcGVjLnBhcmVudCAtPiBtb2R1bGUuX19wYWNrYWdlX18KLSAgICAgICAgc3BlYyAtPiBtb2R1bGUuX19zcGVjX18KIAotICAgICAgICBPcHRpb25hbDoKLSAgICAgICAgc3BlYy5vcmlnaW4gLT4gbW9kdWxlLl9fZmlsZV9fIChpZiBzcGVjLnNldF9maWxlYXR0ciBpcyB0cnVlKQotICAgICAgICBzcGVjLmNhY2hlZCAtPiBtb2R1bGUuX19jYWNoZWRfXyAoaWYgX19maWxlX18gYWxzbyBzZXQpCi0gICAgICAgIHNwZWMuc3VibW9kdWxlX3NlYXJjaF9sb2NhdGlvbnMgLT4gbW9kdWxlLl9fcGF0aF9fIChpZiBzZXQpCi0KLSAgICAgICAgIiIiCi0gICAgICAgIHNwZWMgPSBzZWxmLnNwZWMKLQotICAgICAgICAjIFRoZSBwYXNzZWQgaW4gbW9kdWxlIG1heSBiZSBub3Qgc3VwcG9ydCBhdHRyaWJ1dGUgYXNzaWdubWVudCwKLSAgICAgICAgIyBpbiB3aGljaCBjYXNlIHdlIHNpbXBseSBkb24ndCBzZXQgdGhlIGF0dHJpYnV0ZXMuCi0KLSAgICAgICAgIyBfX25hbWVfXwotICAgICAgICBpZiAoX292ZXJyaWRlIG9yIF9mb3JjZV9uYW1lIG9yCi0gICAgICAgICAgICBnZXRhdHRyKG1vZHVsZSwgJ19fbmFtZV9fJywgTm9uZSkgaXMgTm9uZSk6Ci0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgbW9kdWxlLl9fbmFtZV9fID0gc3BlYy5uYW1lCi0gICAgICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6Ci0gICAgICAgICAgICAgICAgcGFzcwotCi0gICAgICAgICMgX19sb2FkZXJfXwotICAgICAgICBpZiBfb3ZlcnJpZGUgb3IgZ2V0YXR0cihtb2R1bGUsICdfX2xvYWRlcl9fJywgTm9uZSkgaXMgTm9uZToKLSAgICAgICAgICAgIGxvYWRlciA9IHNwZWMubG9hZGVyCi0gICAgICAgICAgICBpZiBsb2FkZXIgaXMgTm9uZToKLSAgICAgICAgICAgICAgICAjIEEgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBoYWNrLgotICAgICAgICAgICAgICAgIGlmIHNwZWMuc3VibW9kdWxlX3NlYXJjaF9sb2NhdGlvbnMgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgIGxvYWRlciA9IF9OYW1lc3BhY2VMb2FkZXIuX19uZXdfXyhfTmFtZXNwYWNlTG9hZGVyKQotICAgICAgICAgICAgICAgICAgICBsb2FkZXIuX3BhdGggPSBzcGVjLnN1Ym1vZHVsZV9zZWFyY2hfbG9jYXRpb25zCi0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgbW9kdWxlLl9fbG9hZGVyX18gPSBsb2FkZXIKLSAgICAgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKLSAgICAgICAgICAgICAgICBwYXNzCi0KLSAgICAgICAgIyBfX3BhY2thZ2VfXwotICAgICAgICBpZiBfb3ZlcnJpZGUgb3IgZ2V0YXR0cihtb2R1bGUsICdfX3BhY2thZ2VfXycsIE5vbmUpIGlzIE5vbmU6Ci0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgbW9kdWxlLl9fcGFja2FnZV9fID0gc3BlYy5wYXJlbnQKLSAgICAgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKLSAgICAgICAgICAgICAgICBwYXNzCi0KLSAgICAgICAgIyBfX3NwZWNfXworZGVmIF9sb2FkX2JhY2t3YXJkX2NvbXBhdGlibGUoc3BlYyk6CisgICAgIyAoaXNzdWUxOTcxMykgT25jZSBCdWlsdGluSW1wb3J0ZXIgYW5kIEV4dGVuc2lvbkZpbGVMb2FkZXIKKyAgICAjIGhhdmUgZXhlY19tb2R1bGUoKSBpbXBsZW1lbnRlZCwgd2UgY2FuIGFkZCBhIGRlcHJlY2F0aW9uCisgICAgIyB3YXJuaW5nIGhlcmUuCisgICAgc3BlYy5sb2FkZXIubG9hZF9tb2R1bGUoc3BlYy5uYW1lKQorICAgICMgVGhlIG1vZHVsZSBtdXN0IGJlIGluIHN5cy5tb2R1bGVzIGF0IHRoaXMgcG9pbnQhCisgICAgbW9kdWxlID0gc3lzLm1vZHVsZXNbc3BlYy5uYW1lXQorICAgIGlmIGdldGF0dHIobW9kdWxlLCAnX19sb2FkZXJfXycsIE5vbmUpIGlzIE5vbmU6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIG1vZHVsZS5fX2xvYWRlcl9fID0gc3BlYy5sb2FkZXIKKyAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgorICAgICAgICAgICAgcGFzcworICAgIGlmIGdldGF0dHIobW9kdWxlLCAnX19wYWNrYWdlX18nLCBOb25lKSBpcyBOb25lOgorICAgICAgICB0cnk6CisgICAgICAgICAgICAjIFNpbmNlIG1vZHVsZS5fX3BhdGhfXyBtYXkgbm90IGxpbmUgdXAgd2l0aAorICAgICAgICAgICAgIyBzcGVjLnN1Ym1vZHVsZV9zZWFyY2hfcGF0aHMsIHdlIGNhbid0IG5lY2Vzc2FyaWx5IHJlbHkKKyAgICAgICAgICAgICMgb24gc3BlYy5wYXJlbnQgaGVyZS4KKyAgICAgICAgICAgIG1vZHVsZS5fX3BhY2thZ2VfXyA9IG1vZHVsZS5fX25hbWVfXworICAgICAgICAgICAgaWYgbm90IGhhc2F0dHIobW9kdWxlLCAnX19wYXRoX18nKToKKyAgICAgICAgICAgICAgICBtb2R1bGUuX19wYWNrYWdlX18gPSBzcGVjLm5hbWUucnBhcnRpdGlvbignLicpWzBdCisgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKKyAgICAgICAgICAgIHBhc3MKKyAgICBpZiBnZXRhdHRyKG1vZHVsZSwgJ19fc3BlY19fJywgTm9uZSkgaXMgTm9uZToKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgbW9kdWxlLl9fc3BlY19fID0gc3BlYwogICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CiAgICAgICAgICAgICBwYXNzCisgICAgcmV0dXJuIG1vZHVsZQogCi0gICAgICAgICMgX19wYXRoX18KLSAgICAgICAgaWYgX292ZXJyaWRlIG9yIGdldGF0dHIobW9kdWxlLCAnX19wYXRoX18nLCBOb25lKSBpcyBOb25lOgotICAgICAgICAgICAgaWYgc3BlYy5zdWJtb2R1bGVfc2VhcmNoX2xvY2F0aW9ucyBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgICAgIG1vZHVsZS5fX3BhdGhfXyA9IHNwZWMuc3VibW9kdWxlX3NlYXJjaF9sb2NhdGlvbnMKLSAgICAgICAgICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6Ci0gICAgICAgICAgICAgICAgICAgIHBhc3MKK2RlZiBfbG9hZF91bmxvY2tlZChzcGVjKToKKyAgICAjIEEgaGVscGVyIGZvciBkaXJlY3QgdXNlIGJ5IHRoZSBpbXBvcnQgc3lzdGVtLgorICAgIGlmIHNwZWMubG9hZGVyIGlzIG5vdCBOb25lOgorICAgICAgICAjIG5vdCBhIG5hbWVzcGFjZSBwYWNrYWdlCisgICAgICAgIGlmIG5vdCBoYXNhdHRyKHNwZWMubG9hZGVyLCAnZXhlY19tb2R1bGUnKToKKyAgICAgICAgICAgIHJldHVybiBfbG9hZF9iYWNrd2FyZF9jb21wYXRpYmxlKHNwZWMpCiAKLSAgICAgICAgaWYgc3BlYy5oYXNfbG9jYXRpb246Ci0gICAgICAgICAgICAjIF9fZmlsZV9fCi0gICAgICAgICAgICBpZiBfb3ZlcnJpZGUgb3IgZ2V0YXR0cihtb2R1bGUsICdfX2ZpbGVfXycsIE5vbmUpIGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICBtb2R1bGUuX19maWxlX18gPSBzcGVjLm9yaWdpbgotICAgICAgICAgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKLSAgICAgICAgICAgICAgICAgICAgcGFzcwotCi0gICAgICAgICAgICAjIF9fY2FjaGVkX18KLSAgICAgICAgICAgIGlmIF9vdmVycmlkZSBvciBnZXRhdHRyKG1vZHVsZSwgJ19fY2FjaGVkX18nLCBOb25lKSBpcyBOb25lOgotICAgICAgICAgICAgICAgIGlmIHNwZWMuY2FjaGVkIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgICAgICAgICBtb2R1bGUuX19jYWNoZWRfXyA9IHNwZWMuY2FjaGVkCi0gICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgIHBhc3MKLQotICAgIGRlZiBjcmVhdGUoc2VsZik6Ci0gICAgICAgICIiIlJldHVybiBhIG5ldyBtb2R1bGUgdG8gYmUgbG9hZGVkLgotCi0gICAgICAgIFRoZSBpbXBvcnQtcmVsYXRlZCBtb2R1bGUgYXR0cmlidXRlcyBhcmUgYWxzbyBzZXQgd2l0aCB0aGUKLSAgICAgICAgYXBwcm9wcmlhdGUgdmFsdWVzIGZyb20gdGhlIHNwZWMuCi0KLSAgICAgICAgIiIiCi0gICAgICAgIHNwZWMgPSBzZWxmLnNwZWMKLSAgICAgICAgIyBUeXBpY2FsbHkgbG9hZGVycyB3aWxsIG5vdCBpbXBsZW1lbnQgY3JlYXRlX21vZHVsZSgpLgotICAgICAgICBpZiBoYXNhdHRyKHNwZWMubG9hZGVyLCAnY3JlYXRlX21vZHVsZScpOgotICAgICAgICAgICAgIyBJZiBjcmVhdGVfbW9kdWxlKCkgcmV0dXJucyBgTm9uZWAgaXQgbWVhbnMgdGhlIGRlZmF1bHQKLSAgICAgICAgICAgICMgbW9kdWxlIGNyZWF0aW9uIHNob3VsZCBiZSB1c2VkLgotICAgICAgICAgICAgbW9kdWxlID0gc3BlYy5sb2FkZXIuY3JlYXRlX21vZHVsZShzcGVjKQorICAgIG1vZHVsZSA9IG1vZHVsZV9mcm9tX3NwZWMoc3BlYykKKyAgICB3aXRoIF9pbnN0YWxsZWRfc2FmZWx5KG1vZHVsZSk6CisgICAgICAgIGlmIHNwZWMubG9hZGVyIGlzIE5vbmU6CisgICAgICAgICAgICBpZiBzcGVjLnN1Ym1vZHVsZV9zZWFyY2hfbG9jYXRpb25zIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgcmFpc2UgSW1wb3J0RXJyb3IoJ21pc3NpbmcgbG9hZGVyJywgbmFtZT1zcGVjLm5hbWUpCisgICAgICAgICAgICAjIEEgbmFtZXNwYWNlIHBhY2thZ2Ugc28gZG8gbm90aGluZy4KICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIG1vZHVsZSA9IE5vbmUKLSAgICAgICAgaWYgbW9kdWxlIGlzIE5vbmU6Ci0gICAgICAgICAgICAjIFRoaXMgbXVzdCBiZSBkb25lIGJlZm9yZSBvcGVuKCkgaXMgZXZlciBjYWxsZWQgYXMgdGhlICdpbycKLSAgICAgICAgICAgICMgbW9kdWxlIGltcGxpY2l0bHkgaW1wb3J0cyAnbG9jYWxlJyBhbmQgd291bGQgb3RoZXJ3aXNlCi0gICAgICAgICAgICAjIHRyaWdnZXIgYW4gaW5maW5pdGUgbG9vcC4KLSAgICAgICAgICAgIG1vZHVsZSA9IF9uZXdfbW9kdWxlKHNwZWMubmFtZSkKLSAgICAgICAgc2VsZi5pbml0X21vZHVsZV9hdHRycyhtb2R1bGUpCi0gICAgICAgIHJldHVybiBtb2R1bGUKKyAgICAgICAgICAgIHNwZWMubG9hZGVyLmV4ZWNfbW9kdWxlKG1vZHVsZSkKIAotICAgIGRlZiBfZXhlYyhzZWxmLCBtb2R1bGUpOgotICAgICAgICAiIiJEbyBldmVyeXRoaW5nIG5lY2Vzc2FyeSB0byBleGVjdXRlIHRoZSBtb2R1bGUuCisgICAgIyBXZSBkb24ndCBlbnN1cmUgdGhhdCB0aGUgaW1wb3J0LXJlbGF0ZWQgbW9kdWxlIGF0dHJpYnV0ZXMgZ2V0CisgICAgIyBzZXQgaW4gdGhlIHN5cy5tb2R1bGVzIHJlcGxhY2VtZW50IGNhc2UuICBTdWNoIG1vZHVsZXMgYXJlIG9uCisgICAgIyB0aGVpciBvd24uCisgICAgcmV0dXJuIHN5cy5tb2R1bGVzW3NwZWMubmFtZV0KIAotICAgICAgICBUaGUgbmFtZXNwYWNlIG9mIGBtb2R1bGVgIGlzIHVzZWQgYXMgdGhlIHRhcmdldCBvZiBleGVjdXRpb24uCi0gICAgICAgIFRoaXMgbWV0aG9kIHVzZXMgdGhlIGxvYWRlcidzIGBleGVjX21vZHVsZSgpYCBtZXRob2QuCisjIEEgbWV0aG9kIHVzZWQgZHVyaW5nIHRlc3Rpbmcgb2YgX2xvYWRfdW5sb2NrZWQoKSBhbmQgYnkKKyMgX2xvYWRfbW9kdWxlX3NoaW0oKS4KK2RlZiBfbG9hZChzcGVjKToKKyAgICAiIiJSZXR1cm4gYSBuZXcgbW9kdWxlIG9iamVjdCwgbG9hZGVkIGJ5IHRoZSBzcGVjJ3MgbG9hZGVyLgogCi0gICAgICAgICIiIgotICAgICAgICBzZWxmLnNwZWMubG9hZGVyLmV4ZWNfbW9kdWxlKG1vZHVsZSkKKyAgICBUaGUgbW9kdWxlIGlzIG5vdCBhZGRlZCB0byBpdHMgcGFyZW50LgogCi0gICAgIyBVc2VkIGJ5IGltcG9ydGxpYi5yZWxvYWQoKSBhbmQgX2xvYWRfbW9kdWxlX3NoaW0oKS4KLSAgICBkZWYgZXhlYyhzZWxmLCBtb2R1bGUpOgotICAgICAgICAiIiJFeGVjdXRlIHRoZSBzcGVjIGluIGFuIGV4aXN0aW5nIG1vZHVsZSdzIG5hbWVzcGFjZS4iIiIKLSAgICAgICAgbmFtZSA9IHNlbGYuc3BlYy5uYW1lCi0gICAgICAgIF9pbXAuYWNxdWlyZV9sb2NrKCkKLSAgICAgICAgd2l0aCBfTW9kdWxlTG9ja01hbmFnZXIobmFtZSk6Ci0gICAgICAgICAgICBpZiBzeXMubW9kdWxlcy5nZXQobmFtZSkgaXMgbm90IG1vZHVsZToKLSAgICAgICAgICAgICAgICBtc2cgPSAnbW9kdWxlIHshcn0gbm90IGluIHN5cy5tb2R1bGVzJy5mb3JtYXQobmFtZSkKLSAgICAgICAgICAgICAgICByYWlzZSBJbXBvcnRFcnJvcihtc2csIG5hbWU9bmFtZSkKLSAgICAgICAgICAgIGlmIHNlbGYuc3BlYy5sb2FkZXIgaXMgTm9uZToKLSAgICAgICAgICAgICAgICBpZiBzZWxmLnNwZWMuc3VibW9kdWxlX3NlYXJjaF9sb2NhdGlvbnMgaXMgTm9uZToKLSAgICAgICAgICAgICAgICAgICAgcmFpc2UgSW1wb3J0RXJyb3IoJ21pc3NpbmcgbG9hZGVyJywgbmFtZT1zZWxmLnNwZWMubmFtZSkKLSAgICAgICAgICAgICAgICAjIG5hbWVzcGFjZSBwYWNrYWdlCi0gICAgICAgICAgICAgICAgc2VsZi5pbml0X21vZHVsZV9hdHRycyhtb2R1bGUsIF9vdmVycmlkZT1UcnVlKQotICAgICAgICAgICAgICAgIHJldHVybiBtb2R1bGUKLSAgICAgICAgICAgIHNlbGYuaW5pdF9tb2R1bGVfYXR0cnMobW9kdWxlLCBfb3ZlcnJpZGU9VHJ1ZSkKLSAgICAgICAgICAgIGlmIG5vdCBoYXNhdHRyKHNlbGYuc3BlYy5sb2FkZXIsICdleGVjX21vZHVsZScpOgotICAgICAgICAgICAgICAgICMgKGlzc3VlMTk3MTMpIE9uY2UgQnVpbHRpbkltcG9ydGVyIGFuZCBFeHRlbnNpb25GaWxlTG9hZGVyCi0gICAgICAgICAgICAgICAgIyBoYXZlIGV4ZWNfbW9kdWxlKCkgaW1wbGVtZW50ZWQsIHdlIGNhbiBhZGQgYSBkZXByZWNhdGlvbgotICAgICAgICAgICAgICAgICMgd2FybmluZyBoZXJlLgotICAgICAgICAgICAgICAgIHNlbGYuc3BlYy5sb2FkZXIubG9hZF9tb2R1bGUobmFtZSkKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgc2VsZi5fZXhlYyhtb2R1bGUpCi0gICAgICAgIHJldHVybiBzeXMubW9kdWxlc1tuYW1lXQorICAgIElmIGEgbW9kdWxlIGlzIGFscmVhZHkgaW4gc3lzLm1vZHVsZXMsIHRoYXQgZXhpc3RpbmcgbW9kdWxlIGdldHMKKyAgICBjbG9iYmVyZWQuCiAKLSAgICBkZWYgX2xvYWRfYmFja3dhcmRfY29tcGF0aWJsZShzZWxmKToKLSAgICAgICAgIyAoaXNzdWUxOTcxMykgT25jZSBCdWlsdGluSW1wb3J0ZXIgYW5kIEV4dGVuc2lvbkZpbGVMb2FkZXIKLSAgICAgICAgIyBoYXZlIGV4ZWNfbW9kdWxlKCkgaW1wbGVtZW50ZWQsIHdlIGNhbiBhZGQgYSBkZXByZWNhdGlvbgotICAgICAgICAjIHdhcm5pbmcgaGVyZS4KLSAgICAgICAgc3BlYyA9IHNlbGYuc3BlYwotICAgICAgICBzcGVjLmxvYWRlci5sb2FkX21vZHVsZShzcGVjLm5hbWUpCi0gICAgICAgICMgVGhlIG1vZHVsZSBtdXN0IGJlIGluIHN5cy5tb2R1bGVzIGF0IHRoaXMgcG9pbnQhCi0gICAgICAgIG1vZHVsZSA9IHN5cy5tb2R1bGVzW3NwZWMubmFtZV0KLSAgICAgICAgaWYgZ2V0YXR0cihtb2R1bGUsICdfX2xvYWRlcl9fJywgTm9uZSkgaXMgTm9uZToKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBtb2R1bGUuX19sb2FkZXJfXyA9IHNwZWMubG9hZGVyCi0gICAgICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6Ci0gICAgICAgICAgICAgICAgcGFzcwotICAgICAgICBpZiBnZXRhdHRyKG1vZHVsZSwgJ19fcGFja2FnZV9fJywgTm9uZSkgaXMgTm9uZToKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAjIFNpbmNlIG1vZHVsZS5fX3BhdGhfXyBtYXkgbm90IGxpbmUgdXAgd2l0aAotICAgICAgICAgICAgICAgICMgc3BlYy5zdWJtb2R1bGVfc2VhcmNoX3BhdGhzLCB3ZSBjYW4ndCBuZWNlc3NhcmlseSByZWx5Ci0gICAgICAgICAgICAgICAgIyBvbiBzcGVjLnBhcmVudCBoZXJlLgotICAgICAgICAgICAgICAgIG1vZHVsZS5fX3BhY2thZ2VfXyA9IG1vZHVsZS5fX25hbWVfXwotICAgICAgICAgICAgICAgIGlmIG5vdCBoYXNhdHRyKG1vZHVsZSwgJ19fcGF0aF9fJyk6Ci0gICAgICAgICAgICAgICAgICAgIG1vZHVsZS5fX3BhY2thZ2VfXyA9IHNwZWMubmFtZS5ycGFydGl0aW9uKCcuJylbMF0KLSAgICAgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKLSAgICAgICAgICAgICAgICBwYXNzCi0gICAgICAgIGlmIGdldGF0dHIobW9kdWxlLCAnX19zcGVjX18nLCBOb25lKSBpcyBOb25lOgotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIG1vZHVsZS5fX3NwZWNfXyA9IHNwZWMKLSAgICAgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKLSAgICAgICAgICAgICAgICBwYXNzCi0gICAgICAgIHJldHVybiBtb2R1bGUKLQotICAgIGRlZiBfbG9hZF91bmxvY2tlZChzZWxmKToKLSAgICAgICAgIyBBIGhlbHBlciBmb3IgZGlyZWN0IHVzZSBieSB0aGUgaW1wb3J0IHN5c3RlbS4KLSAgICAgICAgaWYgc2VsZi5zcGVjLmxvYWRlciBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICMgbm90IGEgbmFtZXNwYWNlIHBhY2thZ2UKLSAgICAgICAgICAgIGlmIG5vdCBoYXNhdHRyKHNlbGYuc3BlYy5sb2FkZXIsICdleGVjX21vZHVsZScpOgotICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLl9sb2FkX2JhY2t3YXJkX2NvbXBhdGlibGUoKQotCi0gICAgICAgIG1vZHVsZSA9IHNlbGYuY3JlYXRlKCkKLSAgICAgICAgd2l0aCBfaW5zdGFsbGVkX3NhZmVseShtb2R1bGUpOgotICAgICAgICAgICAgaWYgc2VsZi5zcGVjLmxvYWRlciBpcyBOb25lOgotICAgICAgICAgICAgICAgIGlmIHNlbGYuc3BlYy5zdWJtb2R1bGVfc2VhcmNoX2xvY2F0aW9ucyBpcyBOb25lOgotICAgICAgICAgICAgICAgICAgICByYWlzZSBJbXBvcnRFcnJvcignbWlzc2luZyBsb2FkZXInLCBuYW1lPXNlbGYuc3BlYy5uYW1lKQotICAgICAgICAgICAgICAgICMgQSBuYW1lc3BhY2UgcGFja2FnZSBzbyBkbyBub3RoaW5nLgotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBzZWxmLl9leGVjKG1vZHVsZSkKLQotICAgICAgICAjIFdlIGRvbid0IGVuc3VyZSB0aGF0IHRoZSBpbXBvcnQtcmVsYXRlZCBtb2R1bGUgYXR0cmlidXRlcyBnZXQKLSAgICAgICAgIyBzZXQgaW4gdGhlIHN5cy5tb2R1bGVzIHJlcGxhY2VtZW50IGNhc2UuICBTdWNoIG1vZHVsZXMgYXJlIG9uCi0gICAgICAgICMgdGhlaXIgb3duLgotICAgICAgICByZXR1cm4gc3lzLm1vZHVsZXNbc2VsZi5zcGVjLm5hbWVdCi0KLSAgICAjIEEgbWV0aG9kIHVzZWQgZHVyaW5nIHRlc3Rpbmcgb2YgX2xvYWRfdW5sb2NrZWQoKSBhbmQgYnkKLSAgICAjIF9sb2FkX21vZHVsZV9zaGltKCkuCi0gICAgZGVmIGxvYWQoc2VsZik6Ci0gICAgICAgICIiIlJldHVybiBhIG5ldyBtb2R1bGUgb2JqZWN0LCBsb2FkZWQgYnkgdGhlIHNwZWMncyBsb2FkZXIuCi0KLSAgICAgICAgVGhlIG1vZHVsZSBpcyBub3QgYWRkZWQgdG8gaXRzIHBhcmVudC4KLQotICAgICAgICBJZiBhIG1vZHVsZSBpcyBhbHJlYWR5IGluIHN5cy5tb2R1bGVzLCB0aGF0IGV4aXN0aW5nIG1vZHVsZSBnZXRzCi0gICAgICAgIGNsb2JiZXJlZC4KLQotICAgICAgICAiIiIKLSAgICAgICAgX2ltcC5hY3F1aXJlX2xvY2soKQotICAgICAgICB3aXRoIF9Nb2R1bGVMb2NrTWFuYWdlcihzZWxmLnNwZWMubmFtZSk6Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi5fbG9hZF91bmxvY2tlZCgpCisgICAgIiIiCisgICAgX2ltcC5hY3F1aXJlX2xvY2soKQorICAgIHdpdGggX01vZHVsZUxvY2tNYW5hZ2VyKHNwZWMubmFtZSk6CisgICAgICAgIHJldHVybiBfbG9hZF91bmxvY2tlZChzcGVjKQogCiAKIGRlZiBfZml4X3VwX21vZHVsZShucywgbmFtZSwgcGF0aG5hbWUsIGNwYXRobmFtZT1Ob25lKToKQEAgLTEzNDksNiArMTMwMiwxMCBAQAogICAgICAgICAiIiIKICAgICAgICAgcmV0dXJuIGNscyBpZiBfaW1wLmlzX2Zyb3plbihmdWxsbmFtZSkgZWxzZSBOb25lCiAKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgY3JlYXRlX21vZHVsZShjbHMsIHNwZWMpOgorICAgICAgICAiIiJVc2UgZGVmYXVsdCBzZW1hbnRpY3MgZm9yIG1vZHVsZSBjcmVhdGlvbi4iIiIKKwogICAgIEBzdGF0aWNtZXRob2QKICAgICBkZWYgZXhlY19tb2R1bGUobW9kdWxlKToKICAgICAgICAgbmFtZSA9IG1vZHVsZS5fX3NwZWNfXy5uYW1lCkBAIC0xNDYyLDYgKzE0MTksOSBAQAogICAgICAgICB0YWlsX25hbWUgPSBmdWxsbmFtZS5ycGFydGl0aW9uKCcuJylbMl0KICAgICAgICAgcmV0dXJuIGZpbGVuYW1lX2Jhc2UgPT0gJ19faW5pdF9fJyBhbmQgdGFpbF9uYW1lICE9ICdfX2luaXRfXycKIAorICAgIGRlZiBjcmVhdGVfbW9kdWxlKHNlbGYsIHNwZWMpOgorICAgICAgICAiIiJVc2UgZGVmYXVsdCBzZW1hbnRpY3MgZm9yIG1vZHVsZSBjcmVhdGlvbi4iIiIKKwogICAgIGRlZiBleGVjX21vZHVsZShzZWxmLCBtb2R1bGUpOgogICAgICAgICAiIiJFeGVjdXRlIHRoZSBtb2R1bGUuIiIiCiAgICAgICAgIGNvZGUgPSBzZWxmLmdldF9jb2RlKG1vZHVsZS5fX25hbWVfXykKQEAgLTE3OTksNyArMTc1OSw3IEBACiAgICAgICAgIHNlbGYuX3BhdGguYXBwZW5kKGl0ZW0pCiAKIAotIyBXZSB1c2UgdGhpcyBleGNsdXNpdmVseSBpbiBpbml0X21vZHVsZV9hdHRycygpIGZvciBiYWNrd2FyZC1jb21wYXRpYmlsaXR5LgorIyBXZSB1c2UgdGhpcyBleGNsdXNpdmVseSBpbiBtb2R1bGVfZnJvbV9zcGVjKCkgZm9yIGJhY2t3YXJkLWNvbXBhdGliaWxpdHkuCiBjbGFzcyBfTmFtZXNwYWNlTG9hZGVyOgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBuYW1lLCBwYXRoLCBwYXRoX2ZpbmRlcik6CiAgICAgICAgIHNlbGYuX3BhdGggPSBfTmFtZXNwYWNlUGF0aChuYW1lLCBwYXRoLCBwYXRoX2ZpbmRlcikKQEAgLTE4MjIsNiArMTc4Miw5IEBACiAgICAgZGVmIGdldF9jb2RlKHNlbGYsIGZ1bGxuYW1lKToKICAgICAgICAgcmV0dXJuIGNvbXBpbGUoJycsICc8c3RyaW5nPicsICdleGVjJywgZG9udF9pbmhlcml0PVRydWUpCiAKKyAgICBkZWYgY3JlYXRlX21vZHVsZShzZWxmLCBzcGVjKToKKyAgICAgICAgIiIiVXNlIGRlZmF1bHQgc2VtYW50aWNzIGZvciBtb2R1bGUgY3JlYXRpb24uIiIiCisKICAgICBkZWYgZXhlY19tb2R1bGUoc2VsZiwgbW9kdWxlKToKICAgICAgICAgcGFzcwogCkBAIC0xODU3LDcgKzE4MjAsNyBAQAogICAgICAgICBJZiAnaG9va3MnIGlzIGZhbHNlIHRoZW4gdXNlIHN5cy5wYXRoX2hvb2tzLgogCiAgICAgICAgICIiIgotICAgICAgICBpZiBub3Qgc3lzLnBhdGhfaG9va3M6CisgICAgICAgIGlmIHN5cy5wYXRoX2hvb2tzIGlzIG5vdCBOb25lIGFuZCBub3Qgc3lzLnBhdGhfaG9va3M6CiAgICAgICAgICAgICBfd2FybmluZ3Mud2Fybignc3lzLnBhdGhfaG9va3MgaXMgZW1wdHknLCBJbXBvcnRXYXJuaW5nKQogICAgICAgICBmb3IgaG9vayBpbiBzeXMucGF0aF9ob29rczoKICAgICAgICAgICAgIHRyeToKQEAgLTE4NzYsNyArMTgzOSwxMiBAQAogCiAgICAgICAgICIiIgogICAgICAgICBpZiBwYXRoID09ICcnOgotICAgICAgICAgICAgcGF0aCA9IF9vcy5nZXRjd2QoKQorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHBhdGggPSBfb3MuZ2V0Y3dkKCkKKyAgICAgICAgICAgIGV4Y2VwdCBGaWxlTm90Rm91bmRFcnJvcjoKKyAgICAgICAgICAgICAgICAjIERvbid0IGNhY2hlIHRoZSBmYWlsdXJlIGFzIHRoZSBjd2QgY2FuIGVhc2lseSBjaGFuZ2UgdG8KKyAgICAgICAgICAgICAgICAjIGEgdmFsaWQgZGlyZWN0b3J5IGxhdGVyIG9uLgorICAgICAgICAgICAgICAgIHJldHVybiBOb25lCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGZpbmRlciA9IHN5cy5wYXRoX2ltcG9ydGVyX2NhY2hlW3BhdGhdCiAgICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKQEAgLTIxNDYsNyArMjExNCw3IEBACiAKIGRlZiBfZmluZF9zcGVjKG5hbWUsIHBhdGgsIHRhcmdldD1Ob25lKToKICAgICAiIiJGaW5kIGEgbW9kdWxlJ3MgbG9hZGVyLiIiIgotICAgIGlmIG5vdCBzeXMubWV0YV9wYXRoOgorICAgIGlmIHN5cy5tZXRhX3BhdGggaXMgbm90IE5vbmUgYW5kIG5vdCBzeXMubWV0YV9wYXRoOgogICAgICAgICBfd2FybmluZ3Mud2Fybignc3lzLm1ldGFfcGF0aCBpcyBlbXB0eScsIEltcG9ydFdhcm5pbmcpCiAgICAgIyBXZSBjaGVjayBzeXMubW9kdWxlcyBoZXJlIGZvciB0aGUgcmVsb2FkIGNhc2UuICBXaGlsZSBhIHBhc3NlZC1pbgogICAgICMgdGFyZ2V0IHdpbGwgdXN1YWxseSBpbmRpY2F0ZSBhIHJlbG9hZCB0aGVyZSBpcyBubyBndWFyYW50ZWUsIHdoZXJlYXMKQEAgLTIyMTgsMTIgKzIxODYsMTIgQEAKICAgICAgICAgICAgIHBhdGggPSBwYXJlbnRfbW9kdWxlLl9fcGF0aF9fCiAgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKICAgICAgICAgICAgIG1zZyA9IChfRVJSX01TRyArICc7IHshcn0gaXMgbm90IGEgcGFja2FnZScpLmZvcm1hdChuYW1lLCBwYXJlbnQpCi0gICAgICAgICAgICByYWlzZSBJbXBvcnRFcnJvcihtc2csIG5hbWU9bmFtZSkKKyAgICAgICAgICAgIHJhaXNlIEltcG9ydEVycm9yKG1zZywgbmFtZT1uYW1lKSBmcm9tIE5vbmUKICAgICBzcGVjID0gX2ZpbmRfc3BlYyhuYW1lLCBwYXRoKQogICAgIGlmIHNwZWMgaXMgTm9uZToKICAgICAgICAgcmFpc2UgSW1wb3J0RXJyb3IoX0VSUl9NU0cuZm9ybWF0KG5hbWUpLCBuYW1lPW5hbWUpCiAgICAgZWxzZToKLSAgICAgICAgbW9kdWxlID0gX1NwZWNNZXRob2RzKHNwZWMpLl9sb2FkX3VubG9ja2VkKCkKKyAgICAgICAgbW9kdWxlID0gX2xvYWRfdW5sb2NrZWQoc3BlYykKICAgICBpZiBwYXJlbnQ6CiAgICAgICAgICMgU2V0IHRoZSBtb2R1bGUgYXMgYW4gYXR0cmlidXRlIG9uIGl0cyBwYXJlbnQuCiAgICAgICAgIHBhcmVudF9tb2R1bGUgPSBzeXMubW9kdWxlc1twYXJlbnRdCkBAIC0yMzU4LDggKzIzMjYsNyBAQAogICAgIHNwZWMgPSBCdWlsdGluSW1wb3J0ZXIuZmluZF9zcGVjKG5hbWUpCiAgICAgaWYgc3BlYyBpcyBOb25lOgogICAgICAgICByYWlzZSBJbXBvcnRFcnJvcignbm8gYnVpbHQtaW4gbW9kdWxlIG5hbWVkICcgKyBuYW1lKQotICAgIG1ldGhvZHMgPSBfU3BlY01ldGhvZHMoc3BlYykKLSAgICByZXR1cm4gbWV0aG9kcy5fbG9hZF91bmxvY2tlZCgpCisgICAgcmV0dXJuIF9sb2FkX3VubG9ja2VkKHNwZWMpCiAKIAogZGVmIF9zZXR1cChzeXNfbW9kdWxlLCBfaW1wX21vZHVsZSk6CkBAIC0yMzkwLDggKzIzNTcsNyBAQAogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgc3BlYyA9IF9zcGVjX2Zyb21fbW9kdWxlKG1vZHVsZSwgbG9hZGVyKQotICAgICAgICAgICAgbWV0aG9kcyA9IF9TcGVjTWV0aG9kcyhzcGVjKQotICAgICAgICAgICAgbWV0aG9kcy5pbml0X21vZHVsZV9hdHRycyhtb2R1bGUpCisgICAgICAgICAgICBfaW5pdF9tb2R1bGVfYXR0cnMoc3BlYywgbW9kdWxlKQogCiAgICAgIyBEaXJlY3RseSBsb2FkIGJ1aWx0LWluIG1vZHVsZXMgbmVlZGVkIGR1cmluZyBib290c3RyYXAuCiAgICAgc2VsZl9tb2R1bGUgPSBzeXMubW9kdWxlc1tfX25hbWVfX10KZGlmZiAtLWdpdCBhL0xpYi9pbXBvcnRsaWIvYWJjLnB5IGIvTGliL2ltcG9ydGxpYi9hYmMucHkKaW5kZXggNTU4YWJkMy4uMjg3ODQ4OCAxMDA2NDQKLS0tIGEvTGliL2ltcG9ydGxpYi9hYmMucHkKKysrIGIvTGliL2ltcG9ydGxpYi9hYmMucHkKQEAgLTEyMiwxMSArMTIyLDggQEAKICAgICAgICAgVGhpcyBtZXRob2Qgc2hvdWxkIHJhaXNlIEltcG9ydEVycm9yIGlmIGFueXRoaW5nIHByZXZlbnRzIGl0CiAgICAgICAgIGZyb20gY3JlYXRpbmcgYSBuZXcgbW9kdWxlLiAgSXQgbWF5IHJldHVybiBOb25lIHRvIGluZGljYXRlCiAgICAgICAgIHRoYXQgdGhlIHNwZWMgc2hvdWxkIGNyZWF0ZSB0aGUgbmV3IG1vZHVsZS4KLQotICAgICAgICBjcmVhdGVfbW9kdWxlKCkgaXMgb3B0aW9uYWwuCi0KICAgICAgICAgIiIiCi0gICAgICAgICMgQnkgZGVmYXVsdCwgZGVmZXIgdG8gX1NwZWNNZXRob2RzLmNyZWF0ZSgpIGZvciB0aGUgbmV3IG1vZHVsZS4KKyAgICAgICAgIyBCeSBkZWZhdWx0LCBkZWZlciB0byBkZWZhdWx0IHNlbWFudGljcyBmb3IgdGhlIG5ldyBtb2R1bGUuCiAgICAgICAgIHJldHVybiBOb25lCiAKICAgICAjIFdlIGRvbid0IGRlZmluZSBleGVjX21vZHVsZSgpIGhlcmUgc2luY2UgdGhhdCB3b3VsZCBicmVhawpAQCAtMjE3LDcgKzIxNCw4IEBACiAgICAgICAgICIiIgogICAgICAgICByYWlzZSBJbXBvcnRFcnJvcgogCi0gICAgZGVmIHNvdXJjZV90b19jb2RlKHNlbGYsIGRhdGEsIHBhdGg9JzxzdHJpbmc+Jyk6CisgICAgQHN0YXRpY21ldGhvZAorICAgIGRlZiBzb3VyY2VfdG9fY29kZShkYXRhLCBwYXRoPSc8c3RyaW5nPicpOgogICAgICAgICAiIiJDb21waWxlICdkYXRhJyBpbnRvIGEgY29kZSBvYmplY3QuCiAKICAgICAgICAgVGhlICdkYXRhJyBhcmd1bWVudCBjYW4gYmUgYW55dGhpbmcgdGhhdCBjb21waWxlKCkgY2FuIGhhbmRsZS4gVGhlJ3BhdGgnCmRpZmYgLS1naXQgYS9MaWIvaW1wb3J0bGliL3V0aWwucHkgYi9MaWIvaW1wb3J0bGliL3V0aWwucHkKaW5kZXggNmQ3M2IxZC4uYzQyZWYxNCAxMDA2NDQKLS0tIGEvTGliL2ltcG9ydGxpYi91dGlsLnB5CisrKyBiL0xpYi9pbXBvcnRsaWIvdXRpbC5weQpAQCAtMSw4ICsxLDkgQEAKICIiIlV0aWxpdHkgY29kZSBmb3IgY29uc3RydWN0aW5nIGltcG9ydGVycywgZXRjLiIiIgotCitmcm9tIC4gaW1wb3J0IGFiYwogZnJvbSAuX2Jvb3RzdHJhcCBpbXBvcnQgTUFHSUNfTlVNQkVSCiBmcm9tIC5fYm9vdHN0cmFwIGltcG9ydCBjYWNoZV9mcm9tX3NvdXJjZQogZnJvbSAuX2Jvb3RzdHJhcCBpbXBvcnQgZGVjb2RlX3NvdXJjZQorZnJvbSAuX2Jvb3RzdHJhcCBpbXBvcnQgbW9kdWxlX2Zyb21fc3BlYwogZnJvbSAuX2Jvb3RzdHJhcCBpbXBvcnQgc291cmNlX2Zyb21fY2FjaGUKIGZyb20gLl9ib290c3RyYXAgaW1wb3J0IHNwZWNfZnJvbV9sb2FkZXIKIGZyb20gLl9ib290c3RyYXAgaW1wb3J0IHNwZWNfZnJvbV9maWxlX2xvY2F0aW9uCkBAIC0xMiw2ICsxMyw3IEBACiBmcm9tIGNvbnRleHRsaWIgaW1wb3J0IGNvbnRleHRtYW5hZ2VyCiBpbXBvcnQgZnVuY3Rvb2xzCiBpbXBvcnQgc3lzCitpbXBvcnQgdHlwZXMKIGltcG9ydCB3YXJuaW5ncwogCiAKQEAgLTU0LDcgKzU2LDcgQEAKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgc3BlYyA9IG1vZHVsZS5fX3NwZWNfXwogICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6Ci0gICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCd7fS5fX3NwZWNfXyBpcyBub3Qgc2V0Jy5mb3JtYXQobmFtZSkpCisgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCd7fS5fX3NwZWNfXyBpcyBub3Qgc2V0Jy5mb3JtYXQobmFtZSkpIGZyb20gTm9uZQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgaWYgc3BlYyBpcyBOb25lOgogICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ3t9Ll9fc3BlY19fIGlzIE5vbmUnLmZvcm1hdChuYW1lKSkKQEAgLTk0LDcgKzk2LDcgQEAKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgc3BlYyA9IG1vZHVsZS5fX3NwZWNfXwogICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6Ci0gICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCd7fS5fX3NwZWNfXyBpcyBub3Qgc2V0Jy5mb3JtYXQobmFtZSkpCisgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCd7fS5fX3NwZWNfXyBpcyBub3Qgc2V0Jy5mb3JtYXQobmFtZSkpIGZyb20gTm9uZQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgaWYgc3BlYyBpcyBOb25lOgogICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ3t9Ll9fc3BlY19fIGlzIE5vbmUnLmZvcm1hdChuYW1lKSkKQEAgLTIwMCwzICsyMDIsOTQgQEAKICAgICAgICAgICAgIHJldHVybiBmeG4oc2VsZiwgbW9kdWxlLCAqYXJncywgKiprd2FyZ3MpCiAKICAgICByZXR1cm4gbW9kdWxlX2Zvcl9sb2FkZXJfd3JhcHBlcgorCisKK2NsYXNzIF9Nb2R1bGUodHlwZXMuTW9kdWxlVHlwZSk6CisKKyAgICAiIiJBIHN1YmNsYXNzIG9mIHRoZSBtb2R1bGUgdHlwZSB0byBhbGxvdyBfX2NsYXNzX18gbWFuaXB1bGF0aW9uLiIiIgorCisKK2NsYXNzIF9MYXp5TW9kdWxlKHR5cGVzLk1vZHVsZVR5cGUpOgorCisgICAgIiIiQSBzdWJjbGFzcyBvZiB0aGUgbW9kdWxlIHR5cGUgd2hpY2ggdHJpZ2dlcnMgbG9hZGluZyB1cG9uIGF0dHJpYnV0ZSBhY2Nlc3MuIiIiCisKKyAgICBkZWYgX19nZXRhdHRyaWJ1dGVfXyhzZWxmLCBhdHRyKToKKyAgICAgICAgIiIiVHJpZ2dlciB0aGUgbG9hZCBvZiB0aGUgbW9kdWxlIGFuZCByZXR1cm4gdGhlIGF0dHJpYnV0ZS4iIiIKKyAgICAgICAgIyBBbGwgbW9kdWxlIG1ldGFkYXRhIG11c3QgYmUgZ2FybmVyZWQgZnJvbSBfX3NwZWNfXyBpbiBvcmRlciB0byBhdm9pZAorICAgICAgICAjIHVzaW5nIG11dGF0ZWQgdmFsdWVzLgorICAgICAgICAjIFN0b3AgdHJpZ2dlcmluZyB0aGlzIG1ldGhvZC4KKyAgICAgICAgc2VsZi5fX2NsYXNzX18gPSBfTW9kdWxlCisgICAgICAgICMgR2V0IHRoZSBvcmlnaW5hbCBuYW1lIHRvIG1ha2Ugc3VyZSBubyBvYmplY3Qgc3Vic3RpdHV0aW9uIG9jY3VycmVkCisgICAgICAgICMgaW4gc3lzLm1vZHVsZXMuCisgICAgICAgIG9yaWdpbmFsX25hbWUgPSBzZWxmLl9fc3BlY19fLm5hbWUKKyAgICAgICAgIyBGaWd1cmUgb3V0IGV4YWN0bHkgd2hhdCBhdHRyaWJ1dGVzIHdlcmUgbXV0YXRlZCBiZXR3ZWVuIHRoZSBjcmVhdGlvbgorICAgICAgICAjIG9mIHRoZSBtb2R1bGUgYW5kIG5vdy4KKyAgICAgICAgYXR0cnNfdGhlbiA9IHNlbGYuX19zcGVjX18ubG9hZGVyX3N0YXRlCisgICAgICAgIGF0dHJzX25vdyA9IHNlbGYuX19kaWN0X18KKyAgICAgICAgYXR0cnNfdXBkYXRlZCA9IHt9CisgICAgICAgIGZvciBrZXksIHZhbHVlIGluIGF0dHJzX25vdy5pdGVtcygpOgorICAgICAgICAgICAgIyBDb2RlIHRoYXQgc2V0IHRoZSBhdHRyaWJ1dGUgbWF5IGhhdmUga2VwdCBhIHJlZmVyZW5jZSB0byB0aGUKKyAgICAgICAgICAgICMgYXNzaWduZWQgb2JqZWN0LCBtYWtpbmcgaWRlbnRpdHkgbW9yZSBpbXBvcnRhbnQgdGhhbiBlcXVhbGl0eS4KKyAgICAgICAgICAgIGlmIGtleSBub3QgaW4gYXR0cnNfdGhlbjoKKyAgICAgICAgICAgICAgICBhdHRyc191cGRhdGVkW2tleV0gPSB2YWx1ZQorICAgICAgICAgICAgZWxpZiBpZChhdHRyc19ub3dba2V5XSkgIT0gaWQoYXR0cnNfdGhlbltrZXldKToKKyAgICAgICAgICAgICAgICBhdHRyc191cGRhdGVkW2tleV0gPSB2YWx1ZQorICAgICAgICBzZWxmLl9fc3BlY19fLmxvYWRlci5leGVjX21vZHVsZShzZWxmKQorICAgICAgICAjIElmIGV4ZWNfbW9kdWxlKCkgd2FzIHVzZWQgZGlyZWN0bHkgdGhlcmUgaXMgbm8gZ3VhcmFudGVlIHRoZSBtb2R1bGUKKyAgICAgICAgIyBvYmplY3Qgd2FzIHB1dCBpbnRvIHN5cy5tb2R1bGVzLgorICAgICAgICBpZiBvcmlnaW5hbF9uYW1lIGluIHN5cy5tb2R1bGVzOgorICAgICAgICAgICAgaWYgaWQoc2VsZikgIT0gaWQoc3lzLm1vZHVsZXNbb3JpZ2luYWxfbmFtZV0pOgorICAgICAgICAgICAgICAgIG1zZyA9ICgnbW9kdWxlIG9iamVjdCBmb3IgeyFyfSBzdWJzdGl0dXRlZCBpbiBzeXMubW9kdWxlcyAnCisgICAgICAgICAgICAgICAgICAgICAgICdkdXJpbmcgYSBsYXp5IGxvYWQnKQorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcihtc2cuZm9ybWF0KG9yaWdpbmFsX25hbWUpKQorICAgICAgICAjIFVwZGF0ZSBhZnRlciBsb2FkaW5nIHNpbmNlIHRoYXQncyB3aGF0IHdvdWxkIGhhcHBlbiBpbiBhbiBlYWdlcgorICAgICAgICAjIGxvYWRpbmcgc2l0dWF0aW9uLgorICAgICAgICBzZWxmLl9fZGljdF9fLnVwZGF0ZShhdHRyc191cGRhdGVkKQorICAgICAgICByZXR1cm4gZ2V0YXR0cihzZWxmLCBhdHRyKQorCisgICAgZGVmIF9fZGVsYXR0cl9fKHNlbGYsIGF0dHIpOgorICAgICAgICAiIiJUcmlnZ2VyIHRoZSBsb2FkIGFuZCB0aGVuIHBlcmZvcm0gdGhlIGRlbGV0aW9uLiIiIgorICAgICAgICAjIFRvIHRyaWdnZXIgdGhlIGxvYWQgYW5kIHJhaXNlIGFuIGV4Y2VwdGlvbiBpZiB0aGUgYXR0cmlidXRlCisgICAgICAgICMgZG9lc24ndCBleGlzdC4KKyAgICAgICAgc2VsZi5fX2dldGF0dHJpYnV0ZV9fKGF0dHIpCisgICAgICAgIGRlbGF0dHIoc2VsZiwgYXR0cikKKworCitjbGFzcyBMYXp5TG9hZGVyKGFiYy5Mb2FkZXIpOgorCisgICAgIiIiQSBsb2FkZXIgdGhhdCBjcmVhdGVzIGEgbW9kdWxlIHdoaWNoIGRlZmVycyBsb2FkaW5nIHVudGlsIGF0dHJpYnV0ZSBhY2Nlc3MuIiIiCisKKyAgICBAc3RhdGljbWV0aG9kCisgICAgZGVmIF9fY2hlY2tfZWFnZXJfbG9hZGVyKGxvYWRlcik6CisgICAgICAgIGlmIG5vdCBoYXNhdHRyKGxvYWRlciwgJ2V4ZWNfbW9kdWxlJyk6CisgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoJ2xvYWRlciBtdXN0IGRlZmluZSBleGVjX21vZHVsZSgpJykKKyAgICAgICAgZWxpZiBoYXNhdHRyKGxvYWRlci5fX2NsYXNzX18sICdjcmVhdGVfbW9kdWxlJyk6CisgICAgICAgICAgICBpZiBhYmMuTG9hZGVyLmNyZWF0ZV9tb2R1bGUgIT0gbG9hZGVyLl9fY2xhc3NfXy5jcmVhdGVfbW9kdWxlOgorICAgICAgICAgICAgICAgICMgT25seSBjYXJlIGlmIGNyZWF0ZV9tb2R1bGUoKSBpcyBvdmVycmlkZGVuIGluIGEgc3ViY2xhc3Mgb2YKKyAgICAgICAgICAgICAgICAjIGltcG9ydGxpYi5hYmMuTG9hZGVyLgorICAgICAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcignbG9hZGVyIGNhbm5vdCBkZWZpbmUgY3JlYXRlX21vZHVsZSgpJykKKworICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBmYWN0b3J5KGNscywgbG9hZGVyKToKKyAgICAgICAgIiIiQ29uc3RydWN0IGEgY2FsbGFibGUgd2hpY2ggcmV0dXJucyB0aGUgZWFnZXIgbG9hZGVyIG1hZGUgbGF6eS4iIiIKKyAgICAgICAgY2xzLl9fY2hlY2tfZWFnZXJfbG9hZGVyKGxvYWRlcikKKyAgICAgICAgcmV0dXJuIGxhbWJkYSAqYXJncywgKiprd2FyZ3M6IGNscyhsb2FkZXIoKmFyZ3MsICoqa3dhcmdzKSkKKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCBsb2FkZXIpOgorICAgICAgICBzZWxmLl9fY2hlY2tfZWFnZXJfbG9hZGVyKGxvYWRlcikKKyAgICAgICAgc2VsZi5sb2FkZXIgPSBsb2FkZXIKKworICAgIGRlZiBjcmVhdGVfbW9kdWxlKHNlbGYsIHNwZWMpOgorICAgICAgICAiIiJDcmVhdGUgYSBtb2R1bGUgd2hpY2ggY2FuIGhhdmUgaXRzIF9fY2xhc3NfXyBtYW5pcHVsYXRlZC4iIiIKKyAgICAgICAgcmV0dXJuIF9Nb2R1bGUoc3BlYy5uYW1lKQorCisgICAgZGVmIGV4ZWNfbW9kdWxlKHNlbGYsIG1vZHVsZSk6CisgICAgICAgICIiIk1ha2UgdGhlIG1vZHVsZSBsb2FkIGxhemlseS4iIiIKKyAgICAgICAgbW9kdWxlLl9fc3BlY19fLmxvYWRlciA9IHNlbGYubG9hZGVyCisgICAgICAgIG1vZHVsZS5fX2xvYWRlcl9fID0gc2VsZi5sb2FkZXIKKyAgICAgICAgIyBEb24ndCBuZWVkIHRvIHdvcnJ5IGFib3V0IGRlZXAtY29weWluZyBhcyB0cnlpbmcgdG8gc2V0IGFuIGF0dHJpYnV0ZQorICAgICAgICAjIG9uIGFuIG9iamVjdCB3b3VsZCBoYXZlIHRyaWdnZXJlZCB0aGUgbG9hZCwKKyAgICAgICAgIyBlLmcuIGBgbW9kdWxlLl9fc3BlY19fLmxvYWRlciA9IE5vbmVgYCB3b3VsZCB0cmlnZ2VyIGEgbG9hZCBmcm9tCisgICAgICAgICMgdHJ5aW5nIHRvIGFjY2VzcyBtb2R1bGUuX19zcGVjX18uCisgICAgICAgIG1vZHVsZS5fX3NwZWNfXy5sb2FkZXJfc3RhdGUgPSBtb2R1bGUuX19kaWN0X18uY29weSgpCisgICAgICAgIG1vZHVsZS5fX2NsYXNzX18gPSBfTGF6eU1vZHVsZQpkaWZmIC0tZ2l0IGEvTGliL2luc3BlY3QucHkgYi9MaWIvaW5zcGVjdC5weQppbmRleCAxNjQxODI0Li45OGQ2NjVkIDEwMDY0NAotLS0gYS9MaWIvaW5zcGVjdC5weQorKysgYi9MaWIvaW5zcGVjdC5weQpAQCAtMTcsNyArMTcsNyBAQAogICAgIGdldGNsYXNzdHJlZSgpIC0gYXJyYW5nZSBjbGFzc2VzIHNvIGFzIHRvIHJlcHJlc2VudCB0aGVpciBoaWVyYXJjaHkKIAogICAgIGdldGFyZ3NwZWMoKSwgZ2V0YXJndmFsdWVzKCksIGdldGNhbGxhcmdzKCkgLSBnZXQgaW5mbyBhYm91dCBmdW5jdGlvbiBhcmd1bWVudHMKLSAgICBnZXRmdWxsYXJnc3BlYygpIC0gc2FtZSwgd2l0aCBzdXBwb3J0IGZvciBQeXRob24tMzAwMCBmZWF0dXJlcworICAgIGdldGZ1bGxhcmdzcGVjKCkgLSBzYW1lLCB3aXRoIHN1cHBvcnQgZm9yIFB5dGhvbiAzIGZlYXR1cmVzCiAgICAgZm9ybWF0YXJnc3BlYygpLCBmb3JtYXRhcmd2YWx1ZXMoKSAtIGZvcm1hdCBhbiBhcmd1bWVudCBzcGVjCiAgICAgZ2V0b3V0ZXJmcmFtZXMoKSwgZ2V0aW5uZXJmcmFtZXMoKSAtIGdldCBpbmZvIGFib3V0IGZyYW1lcwogICAgIGN1cnJlbnRmcmFtZSgpIC0gZ2V0IHRoZSBjdXJyZW50IHN0YWNrIGZyYW1lCkBAIC0zMiw2ICszMiw3IEBACiAgICAgICAgICAgICAgICdZdXJ5IFNlbGl2YW5vdiA8eXNlbGl2YW5vdkBzcHJ5bWl4LmNvbT4nKQogCiBpbXBvcnQgYXN0CitpbXBvcnQgZW51bQogaW1wb3J0IGltcG9ydGxpYi5tYWNoaW5lcnkKIGltcG9ydCBpdGVydG9vbHMKIGltcG9ydCBsaW5lY2FjaGUKQEAgLTgyMiw2ICs4MjMsNyBAQAogICAgIGNvcnJlc3BvbmRpbmcgdG8gdGhlIG9iamVjdCBhbmQgdGhlIGxpbmUgbnVtYmVyIGluZGljYXRlcyB3aGVyZSBpbiB0aGUKICAgICBvcmlnaW5hbCBzb3VyY2UgZmlsZSB0aGUgZmlyc3QgbGluZSBvZiBjb2RlIHdhcyBmb3VuZC4gIEFuIE9TRXJyb3IgaXMKICAgICByYWlzZWQgaWYgdGhlIHNvdXJjZSBjb2RlIGNhbm5vdCBiZSByZXRyaWV2ZWQuIiIiCisgICAgb2JqZWN0ID0gdW53cmFwKG9iamVjdCkKICAgICBsaW5lcywgbG51bSA9IGZpbmRzb3VyY2Uob2JqZWN0KQogCiAgICAgaWYgaXNtb2R1bGUob2JqZWN0KTogcmV0dXJuIGxpbmVzLCAwCkBAIC05MTksMTMgKzkyMSwxMiBAQAogZGVmIGdldGFyZ3NwZWMoZnVuYyk6CiAgICAgIiIiR2V0IHRoZSBuYW1lcyBhbmQgZGVmYXVsdCB2YWx1ZXMgb2YgYSBmdW5jdGlvbidzIGFyZ3VtZW50cy4KIAotICAgIEEgdHVwbGUgb2YgZm91ciB0aGluZ3MgaXMgcmV0dXJuZWQ6IChhcmdzLCB2YXJhcmdzLCB2YXJrdywgZGVmYXVsdHMpLgotICAgICdhcmdzJyBpcyBhIGxpc3Qgb2YgdGhlIGFyZ3VtZW50IG5hbWVzLgotICAgICdhcmdzJyB3aWxsIGluY2x1ZGUga2V5d29yZC1vbmx5IGFyZ3VtZW50IG5hbWVzLgotICAgICd2YXJhcmdzJyBhbmQgJ3Zhcmt3JyBhcmUgdGhlIG5hbWVzIG9mIHRoZSAqIGFuZCAqKiBhcmd1bWVudHMgb3IgTm9uZS4KKyAgICBBIHR1cGxlIG9mIGZvdXIgdGhpbmdzIGlzIHJldHVybmVkOiAoYXJncywgdmFyYXJncywga2V5d29yZHMsIGRlZmF1bHRzKS4KKyAgICAnYXJncycgaXMgYSBsaXN0IG9mIHRoZSBhcmd1bWVudCBuYW1lcywgaW5jbHVkaW5nIGtleXdvcmQtb25seSBhcmd1bWVudCBuYW1lcy4KKyAgICAndmFyYXJncycgYW5kICdrZXl3b3JkcycgYXJlIHRoZSBuYW1lcyBvZiB0aGUgKiBhbmQgKiogYXJndW1lbnRzIG9yIE5vbmUuCiAgICAgJ2RlZmF1bHRzJyBpcyBhbiBuLXR1cGxlIG9mIHRoZSBkZWZhdWx0IHZhbHVlcyBvZiB0aGUgbGFzdCBuIGFyZ3VtZW50cy4KIAotICAgIFVzZSB0aGUgZ2V0ZnVsbGFyZ3NwZWMoKSBBUEkgZm9yIFB5dGhvbi0zMDAwIGNvZGUsIGFzIGFubm90YXRpb25zCisgICAgVXNlIHRoZSBnZXRmdWxsYXJnc3BlYygpIEFQSSBmb3IgUHl0aG9uIDMgY29kZSwgYXMgYW5ub3RhdGlvbnMKICAgICBhbmQga2V5d29yZCBhcmd1bWVudHMgYXJlIHN1cHBvcnRlZC4gZ2V0YXJnc3BlYygpIHdpbGwgcmFpc2UgVmFsdWVFcnJvcgogICAgIGlmIHRoZSBmdW5jIGhhcyBlaXRoZXIgYW5ub3RhdGlvbnMgb3Iga2V5d29yZCBhcmd1bWVudHMuCiAgICAgIiIiCkBAIC05NzIsOSArOTczLDEwIEBACiAgICAgICAgICMgZ2V0ZnVsbGFyZ3NwZWMoKSBoaXN0b3JpY2FsbHkgaWdub3JlZCBfX3dyYXBwZWRfXyBhdHRyaWJ1dGVzLAogICAgICAgICAjIHNvIHdlIGVuc3VyZSB0aGF0IHJlbWFpbnMgdGhlIGNhc2UgaW4gMy4zKwogCi0gICAgICAgIHNpZyA9IF9zaWduYXR1cmVfaW50ZXJuYWwoZnVuYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dfd3JhcHBlcl9jaGFpbnM9RmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2tpcF9ib3VuZF9hcmc9RmFsc2UpCisgICAgICAgIHNpZyA9IF9zaWduYXR1cmVfZnJvbV9jYWxsYWJsZShmdW5jLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93X3dyYXBwZXJfY2hhaW5zPUZhbHNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2tpcF9ib3VuZF9hcmc9RmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaWdjbHM9U2lnbmF0dXJlKQogICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZXg6CiAgICAgICAgICMgTW9zdCBvZiB0aGUgdGltZXMgJ3NpZ25hdHVyZScgd2lsbCByYWlzZSBWYWx1ZUVycm9yLgogICAgICAgICAjIEJ1dCwgaXQgY2FuIGFsc28gcmFpc2UgQXR0cmlidXRlRXJyb3IsIGFuZCwgbWF5YmUgc29tZXRoaW5nCkBAIC0xMDQzLDggKzEwNDUsOCBAQAogZGVmIGZvcm1hdGFubm90YXRpb24oYW5ub3RhdGlvbiwgYmFzZV9tb2R1bGU9Tm9uZSk6CiAgICAgaWYgaXNpbnN0YW5jZShhbm5vdGF0aW9uLCB0eXBlKToKICAgICAgICAgaWYgYW5ub3RhdGlvbi5fX21vZHVsZV9fIGluICgnYnVpbHRpbnMnLCBiYXNlX21vZHVsZSk6Ci0gICAgICAgICAgICByZXR1cm4gYW5ub3RhdGlvbi5fX25hbWVfXwotICAgICAgICByZXR1cm4gYW5ub3RhdGlvbi5fX21vZHVsZV9fKycuJythbm5vdGF0aW9uLl9fbmFtZV9fCisgICAgICAgICAgICByZXR1cm4gYW5ub3RhdGlvbi5fX3F1YWxuYW1lX18KKyAgICAgICAgcmV0dXJuIGFubm90YXRpb24uX19tb2R1bGVfXysnLicrYW5ub3RhdGlvbi5fX3F1YWxuYW1lX18KICAgICByZXR1cm4gcmVwcihhbm5vdGF0aW9uKQogCiBkZWYgZm9ybWF0YW5ub3RhdGlvbnJlbGF0aXZldG8ob2JqZWN0KToKQEAgLTEzMTcsNiArMTMxOSw4IEBACiAgICAgIyBGcmFtZVR5cGUuZl9saW5lbm8gaXMgbm93IGEgZGVzY3JpcHRvciB0aGF0IGdyb3ZlbHMgY29fbG5vdGFiCiAgICAgcmV0dXJuIGZyYW1lLmZfbGluZW5vCiAKK0ZyYW1lSW5mbyA9IG5hbWVkdHVwbGUoJ0ZyYW1lSW5mbycsICgnZnJhbWUnLCkgKyBUcmFjZWJhY2suX2ZpZWxkcykKKwogZGVmIGdldG91dGVyZnJhbWVzKGZyYW1lLCBjb250ZXh0PTEpOgogICAgICIiIkdldCBhIGxpc3Qgb2YgcmVjb3JkcyBmb3IgYSBmcmFtZSBhbmQgYWxsIGhpZ2hlciAoY2FsbGluZykgZnJhbWVzLgogCkBAIC0xMzI0LDcgKzEzMjgsOCBAQAogICAgIG5hbWUsIGEgbGlzdCBvZiBsaW5lcyBvZiBjb250ZXh0LCBhbmQgaW5kZXggd2l0aGluIHRoZSBjb250ZXh0LiIiIgogICAgIGZyYW1lbGlzdCA9IFtdCiAgICAgd2hpbGUgZnJhbWU6Ci0gICAgICAgIGZyYW1lbGlzdC5hcHBlbmQoKGZyYW1lLCkgKyBnZXRmcmFtZWluZm8oZnJhbWUsIGNvbnRleHQpKQorICAgICAgICBmcmFtZWluZm8gPSAoZnJhbWUsKSArIGdldGZyYW1laW5mbyhmcmFtZSwgY29udGV4dCkKKyAgICAgICAgZnJhbWVsaXN0LmFwcGVuZChGcmFtZUluZm8oKmZyYW1laW5mbykpCiAgICAgICAgIGZyYW1lID0gZnJhbWUuZl9iYWNrCiAgICAgcmV0dXJuIGZyYW1lbGlzdAogCkBAIC0xMzM1LDcgKzEzNDAsOCBAQAogICAgIG5hbWUsIGEgbGlzdCBvZiBsaW5lcyBvZiBjb250ZXh0LCBhbmQgaW5kZXggd2l0aGluIHRoZSBjb250ZXh0LiIiIgogICAgIGZyYW1lbGlzdCA9IFtdCiAgICAgd2hpbGUgdGI6Ci0gICAgICAgIGZyYW1lbGlzdC5hcHBlbmQoKHRiLnRiX2ZyYW1lLCkgKyBnZXRmcmFtZWluZm8odGIsIGNvbnRleHQpKQorICAgICAgICBmcmFtZWluZm8gPSAodGIudGJfZnJhbWUsKSArIGdldGZyYW1laW5mbyh0YiwgY29udGV4dCkKKyAgICAgICAgZnJhbWVsaXN0LmFwcGVuZChGcmFtZUluZm8oKmZyYW1laW5mbykpCiAgICAgICAgIHRiID0gdGIudGJfbmV4dAogICAgIHJldHVybiBmcmFtZWxpc3QKIApAQCAtMTUwMSw2ICsxNTA3LDEwIEBACiAKIAogZGVmIF9zaWduYXR1cmVfZ2V0X3VzZXJfZGVmaW5lZF9tZXRob2QoY2xzLCBtZXRob2RfbmFtZSk6CisgICAgIiIiUHJpdmF0ZSBoZWxwZXIuIENoZWNrcyBpZiBgYGNsc2BgIGhhcyBhbiBhdHRyaWJ1dGUKKyAgICBuYW1lZCBgYG1ldGhvZF9uYW1lYGAgYW5kIHJldHVybnMgaXQgb25seSBpZiBpdCBpcyBhCisgICAgcHVyZSBweXRob24gZnVuY3Rpb24uCisgICAgIiIiCiAgICAgdHJ5OgogICAgICAgICBtZXRoID0gZ2V0YXR0cihjbHMsIG1ldGhvZF9uYW1lKQogICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKQEAgLTE1MTMsOSArMTUyMywxMCBAQAogCiAKIGRlZiBfc2lnbmF0dXJlX2dldF9wYXJ0aWFsKHdyYXBwZWRfc2lnLCBwYXJ0aWFsLCBleHRyYV9hcmdzPSgpKToKLSAgICAjIEludGVybmFsIGhlbHBlciB0byBjYWxjdWxhdGUgaG93ICd3cmFwcGVkX3NpZycgc2lnbmF0dXJlIHdpbGwKLSAgICAjIGxvb2sgbGlrZSBhZnRlciBhcHBseWluZyBhICdmdW5jdG9vbHMucGFydGlhbCcgb2JqZWN0IChvciBhbGlrZSkKLSAgICAjIG9uIGl0LgorICAgICIiIlByaXZhdGUgaGVscGVyIHRvIGNhbGN1bGF0ZSBob3cgJ3dyYXBwZWRfc2lnJyBzaWduYXR1cmUgd2lsbAorICAgIGxvb2sgbGlrZSBhZnRlciBhcHBseWluZyBhICdmdW5jdG9vbHMucGFydGlhbCcgb2JqZWN0IChvciBhbGlrZSkKKyAgICBvbiBpdC4KKyAgICAiIiIKIAogICAgIG9sZF9wYXJhbXMgPSB3cmFwcGVkX3NpZy5wYXJhbWV0ZXJzCiAgICAgbmV3X3BhcmFtcyA9IE9yZGVyZWREaWN0KG9sZF9wYXJhbXMuaXRlbXMoKSkKQEAgLTE1ODgsOCArMTU5OSw5IEBACiAKIAogZGVmIF9zaWduYXR1cmVfYm91bmRfbWV0aG9kKHNpZyk6Ci0gICAgIyBJbnRlcm5hbCBoZWxwZXIgdG8gdHJhbnNmb3JtIHNpZ25hdHVyZXMgZm9yIHVuYm91bmQKLSAgICAjIGZ1bmN0aW9ucyB0byBib3VuZCBtZXRob2RzCisgICAgIiIiUHJpdmF0ZSBoZWxwZXIgdG8gdHJhbnNmb3JtIHNpZ25hdHVyZXMgZm9yIHVuYm91bmQKKyAgICBmdW5jdGlvbnMgdG8gYm91bmQgbWV0aG9kcy4KKyAgICAiIiIKIAogICAgIHBhcmFtcyA9IHR1cGxlKHNpZy5wYXJhbWV0ZXJzLnZhbHVlcygpKQogCkBAIC0xNjEzLDggKzE2MjUsOSBAQAogCiAKIGRlZiBfc2lnbmF0dXJlX2lzX2J1aWx0aW4ob2JqKToKLSAgICAjIEludGVybmFsIGhlbHBlciB0byB0ZXN0IGlmIGBvYmpgIGlzIGEgY2FsbGFibGUgdGhhdCBtaWdodAotICAgICMgc3VwcG9ydCBBcmd1bWVudCBDbGluaWMncyBfX3RleHRfc2lnbmF0dXJlX18gcHJvdG9jb2wuCisgICAgIiIiUHJpdmF0ZSBoZWxwZXIgdG8gdGVzdCBpZiBgb2JqYCBpcyBhIGNhbGxhYmxlIHRoYXQgbWlnaHQKKyAgICBzdXBwb3J0IEFyZ3VtZW50IENsaW5pYydzIF9fdGV4dF9zaWduYXR1cmVfXyBwcm90b2NvbC4KKyAgICAiIiIKICAgICByZXR1cm4gKGlzYnVpbHRpbihvYmopIG9yCiAgICAgICAgICAgICBpc21ldGhvZGRlc2NyaXB0b3Iob2JqKSBvcgogICAgICAgICAgICAgaXNpbnN0YW5jZShvYmosIF9Ob25Vc2VyRGVmaW5lZENhbGxhYmxlcykgb3IKQEAgLTE2MjQsMTAgKzE2MzcsMTEgQEAKIAogCiBkZWYgX3NpZ25hdHVyZV9pc19mdW5jdGlvbmxpa2Uob2JqKToKLSAgICAjIEludGVybmFsIGhlbHBlciB0byB0ZXN0IGlmIGBvYmpgIGlzIGEgZHVjayB0eXBlIG9mIEZ1bmN0aW9uVHlwZS4KLSAgICAjIEEgZ29vZCBleGFtcGxlIG9mIHN1Y2ggb2JqZWN0cyBhcmUgZnVuY3Rpb25zIGNvbXBpbGVkIHdpdGgKLSAgICAjIEN5dGhvbiwgd2hpY2ggaGF2ZSBhbGwgYXR0cmlidXRlcyB0aGF0IGEgcHVyZSBQeXRob24gZnVuY3Rpb24KLSAgICAjIHdvdWxkIGhhdmUsIGJ1dCBoYXZlIHRoZWlyIGNvZGUgc3RhdGljYWxseSBjb21waWxlZC4KKyAgICAiIiJQcml2YXRlIGhlbHBlciB0byB0ZXN0IGlmIGBvYmpgIGlzIGEgZHVjayB0eXBlIG9mIEZ1bmN0aW9uVHlwZS4KKyAgICBBIGdvb2QgZXhhbXBsZSBvZiBzdWNoIG9iamVjdHMgYXJlIGZ1bmN0aW9ucyBjb21waWxlZCB3aXRoCisgICAgQ3l0aG9uLCB3aGljaCBoYXZlIGFsbCBhdHRyaWJ1dGVzIHRoYXQgYSBwdXJlIFB5dGhvbiBmdW5jdGlvbgorICAgIHdvdWxkIGhhdmUsIGJ1dCBoYXZlIHRoZWlyIGNvZGUgc3RhdGljYWxseSBjb21waWxlZC4KKyAgICAiIiIKIAogICAgIGlmIG5vdCBjYWxsYWJsZShvYmopIG9yIGlzY2xhc3Mob2JqKToKICAgICAgICAgIyBBbGwgZnVuY3Rpb24tbGlrZSBvYmplY3RzIGFyZSBvYnZpb3VzbHkgY2FsbGFibGVzLApAQCAtMTY0OCwxMSArMTY2MiwxMiBAQAogCiAKIGRlZiBfc2lnbmF0dXJlX2dldF9ib3VuZF9wYXJhbShzcGVjKToKLSAgICAjIEludGVybmFsIGhlbHBlciB0byBnZXQgZmlyc3QgcGFyYW1ldGVyIG5hbWUgZnJvbSBhCi0gICAgIyBfX3RleHRfc2lnbmF0dXJlX18gb2YgYSBidWlsdGluIG1ldGhvZCwgd2hpY2ggc2hvdWxkCi0gICAgIyBiZSBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDogJygkcGFyYW0xLCAuLi4pJy4KLSAgICAjIEFzc3VtcHRpb25zIGFyZSB0aGF0IHRoZSBmaXJzdCBhcmd1bWVudCB3b24ndCBoYXZlCi0gICAgIyBhIGRlZmF1bHQgdmFsdWUgb3IgYW4gYW5ub3RhdGlvbi4KKyAgICAiIiIgUHJpdmF0ZSBoZWxwZXIgdG8gZ2V0IGZpcnN0IHBhcmFtZXRlciBuYW1lIGZyb20gYQorICAgIF9fdGV4dF9zaWduYXR1cmVfXyBvZiBhIGJ1aWx0aW4gbWV0aG9kLCB3aGljaCBzaG91bGQKKyAgICBiZSBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDogJygkcGFyYW0xLCAuLi4pJy4KKyAgICBBc3N1bXB0aW9ucyBhcmUgdGhhdCB0aGUgZmlyc3QgYXJndW1lbnQgd29uJ3QgaGF2ZQorICAgIGEgZGVmYXVsdCB2YWx1ZSBvciBhbiBhbm5vdGF0aW9uLgorICAgICIiIgogCiAgICAgYXNzZXJ0IHNwZWMuc3RhcnRzd2l0aCgnKCQnKQogCkBAIC0xNjcxLDcgKzE2ODYsOSBAQAogCiBkZWYgX3NpZ25hdHVyZV9zdHJpcF9ub25fcHl0aG9uX3N5bnRheChzaWduYXR1cmUpOgogICAgICIiIgotICAgIFRha2VzIGEgc2lnbmF0dXJlIGluIEFyZ3VtZW50IENsaW5pYydzIGV4dGVuZGVkIHNpZ25hdHVyZSBmb3JtYXQuCisgICAgUHJpdmF0ZSBoZWxwZXIgZnVuY3Rpb24uIFRha2VzIGEgc2lnbmF0dXJlIGluIEFyZ3VtZW50IENsaW5pYydzCisgICAgZXh0ZW5kZWQgc2lnbmF0dXJlIGZvcm1hdC4KKwogICAgIFJldHVybnMgYSB0dXBsZSBvZiB0aHJlZSB0aGluZ3M6CiAgICAgICAqIHRoYXQgc2lnbmF0dXJlIHJlLXJlbmRlcmVkIGluIHN0YW5kYXJkIFB5dGhvbiBzeW50YXgsCiAgICAgICAqIHRoZSBpbmRleCBvZiB0aGUgInNlbGYiIHBhcmFtZXRlciAoZ2VuZXJhbGx5IDApLCBvciBOb25lIGlmCkBAIC0xNzQwLDggKzE3NTcsMTAgQEAKIAogCiBkZWYgX3NpZ25hdHVyZV9mcm9tc3RyKGNscywgb2JqLCBzLCBza2lwX2JvdW5kX2FyZz1UcnVlKToKLSAgICAjIEludGVybmFsIGhlbHBlciB0byBwYXJzZSBjb250ZW50IG9mICdfX3RleHRfc2lnbmF0dXJlX18nCi0gICAgIyBhbmQgcmV0dXJuIGEgU2lnbmF0dXJlIGJhc2VkIG9uIGl0CisgICAgIiIiUHJpdmF0ZSBoZWxwZXIgdG8gcGFyc2UgY29udGVudCBvZiAnX190ZXh0X3NpZ25hdHVyZV9fJworICAgIGFuZCByZXR1cm4gYSBTaWduYXR1cmUgYmFzZWQgb24gaXQuCisgICAgIiIiCisKICAgICBQYXJhbWV0ZXIgPSBjbHMuX3BhcmFtZXRlcl9jbHMKIAogICAgIGNsZWFuX3NpZ25hdHVyZSwgc2VsZl9wYXJhbWV0ZXIsIGxhc3RfcG9zaXRpb25hbF9vbmx5ID0gXApAQCAtMTg3OSw4ICsxODk4LDEwIEBACiAKIAogZGVmIF9zaWduYXR1cmVfZnJvbV9idWlsdGluKGNscywgZnVuYywgc2tpcF9ib3VuZF9hcmc9VHJ1ZSk6Ci0gICAgIyBJbnRlcm5hbCBoZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHNpZ25hdHVyZSBmb3IKLSAgICAjIGJ1aWx0aW4gY2FsbGFibGVzCisgICAgIiIiUHJpdmF0ZSBoZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHNpZ25hdHVyZSBmb3IKKyAgICBidWlsdGluIGNhbGxhYmxlcy4KKyAgICAiIiIKKwogICAgIGlmIG5vdCBfc2lnbmF0dXJlX2lzX2J1aWx0aW4oZnVuYyk6CiAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigieyFyfSBpcyBub3QgYSBQeXRob24gYnVpbHRpbiAiCiAgICAgICAgICAgICAgICAgICAgICAgICAiZnVuY3Rpb24iLmZvcm1hdChmdW5jKSkKQEAgLTE4OTIsNyArMTkxMywxNCBAQAogICAgIHJldHVybiBfc2lnbmF0dXJlX2Zyb21zdHIoY2xzLCBmdW5jLCBzLCBza2lwX2JvdW5kX2FyZykKIAogCi1kZWYgX3NpZ25hdHVyZV9pbnRlcm5hbChvYmosIGZvbGxvd193cmFwcGVyX2NoYWlucz1UcnVlLCBza2lwX2JvdW5kX2FyZz1UcnVlKToKK2RlZiBfc2lnbmF0dXJlX2Zyb21fY2FsbGFibGUob2JqLCAqLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dfd3JhcHBlcl9jaGFpbnM9VHJ1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2tpcF9ib3VuZF9hcmc9VHJ1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2lnY2xzKToKKworICAgICIiIlByaXZhdGUgaGVscGVyIGZ1bmN0aW9uIHRvIGdldCBzaWduYXR1cmUgZm9yIGFyYml0cmFyeQorICAgIGNhbGxhYmxlIG9iamVjdHMuCisgICAgIiIiCiAKICAgICBpZiBub3QgY2FsbGFibGUob2JqKToKICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCd7IXJ9IGlzIG5vdCBhIGNhbGxhYmxlIG9iamVjdCcuZm9ybWF0KG9iaikpCkBAIC0xOTAwLDkgKzE5MjgsMTIgQEAKICAgICBpZiBpc2luc3RhbmNlKG9iaiwgdHlwZXMuTWV0aG9kVHlwZSk6CiAgICAgICAgICMgSW4gdGhpcyBjYXNlIHdlIHNraXAgdGhlIGZpcnN0IHBhcmFtZXRlciBvZiB0aGUgdW5kZXJseWluZwogICAgICAgICAjIGZ1bmN0aW9uICh1c3VhbGx5IGBzZWxmYCBvciBgY2xzYCkuCi0gICAgICAgIHNpZyA9IF9zaWduYXR1cmVfaW50ZXJuYWwob2JqLl9fZnVuY19fLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd193cmFwcGVyX2NoYWlucywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBza2lwX2JvdW5kX2FyZykKKyAgICAgICAgc2lnID0gX3NpZ25hdHVyZV9mcm9tX2NhbGxhYmxlKAorICAgICAgICAgICAgb2JqLl9fZnVuY19fLAorICAgICAgICAgICAgZm9sbG93X3dyYXBwZXJfY2hhaW5zPWZvbGxvd193cmFwcGVyX2NoYWlucywKKyAgICAgICAgICAgIHNraXBfYm91bmRfYXJnPXNraXBfYm91bmRfYXJnLAorICAgICAgICAgICAgc2lnY2xzPXNpZ2NscykKKwogICAgICAgICBpZiBza2lwX2JvdW5kX2FyZzoKICAgICAgICAgICAgIHJldHVybiBfc2lnbmF0dXJlX2JvdW5kX21ldGhvZChzaWcpCiAgICAgICAgIGVsc2U6CkBAIC0xOTM3LDkgKzE5NjgsMTIgQEAKICAgICAgICAgICAgICMgKHVzdWFsbHkgYHNlbGZgLCBvciBgY2xzYCkgd2lsbCBub3QgYmUgcGFzc2VkCiAgICAgICAgICAgICAjIGF1dG9tYXRpY2FsbHkgKGFzIGZvciBib3VuZG1ldGhvZHMpCiAKLSAgICAgICAgICAgIHdyYXBwZWRfc2lnID0gX3NpZ25hdHVyZV9pbnRlcm5hbChwYXJ0aWFsbWV0aG9kLmZ1bmMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93X3dyYXBwZXJfY2hhaW5zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNraXBfYm91bmRfYXJnKQorICAgICAgICAgICAgd3JhcHBlZF9zaWcgPSBfc2lnbmF0dXJlX2Zyb21fY2FsbGFibGUoCisgICAgICAgICAgICAgICAgcGFydGlhbG1ldGhvZC5mdW5jLAorICAgICAgICAgICAgICAgIGZvbGxvd193cmFwcGVyX2NoYWlucz1mb2xsb3dfd3JhcHBlcl9jaGFpbnMsCisgICAgICAgICAgICAgICAgc2tpcF9ib3VuZF9hcmc9c2tpcF9ib3VuZF9hcmcsCisgICAgICAgICAgICAgICAgc2lnY2xzPXNpZ2NscykKKwogICAgICAgICAgICAgc2lnID0gX3NpZ25hdHVyZV9nZXRfcGFydGlhbCh3cmFwcGVkX3NpZywgcGFydGlhbG1ldGhvZCwgKE5vbmUsKSkKIAogICAgICAgICAgICAgZmlyc3Rfd3JhcHBlZF9wYXJhbSA9IHR1cGxlKHdyYXBwZWRfc2lnLnBhcmFtZXRlcnMudmFsdWVzKCkpWzBdCkBAIC0xOTUwLDE2ICsxOTg0LDE4IEBACiAgICAgaWYgaXNmdW5jdGlvbihvYmopIG9yIF9zaWduYXR1cmVfaXNfZnVuY3Rpb25saWtlKG9iaik6CiAgICAgICAgICMgSWYgaXQncyBhIHB1cmUgUHl0aG9uIGZ1bmN0aW9uLCBvciBhbiBvYmplY3QgdGhhdCBpcyBkdWNrIHR5cGUKICAgICAgICAgIyBvZiBhIFB5dGhvbiBmdW5jdGlvbiAoQ3l0aG9uIGZ1bmN0aW9ucywgZm9yIGluc3RhbmNlKSwgdGhlbjoKLSAgICAgICAgcmV0dXJuIFNpZ25hdHVyZS5mcm9tX2Z1bmN0aW9uKG9iaikKKyAgICAgICAgcmV0dXJuIHNpZ2Nscy5mcm9tX2Z1bmN0aW9uKG9iaikKIAogICAgIGlmIF9zaWduYXR1cmVfaXNfYnVpbHRpbihvYmopOgotICAgICAgICByZXR1cm4gX3NpZ25hdHVyZV9mcm9tX2J1aWx0aW4oU2lnbmF0dXJlLCBvYmosCisgICAgICAgIHJldHVybiBfc2lnbmF0dXJlX2Zyb21fYnVpbHRpbihzaWdjbHMsIG9iaiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNraXBfYm91bmRfYXJnPXNraXBfYm91bmRfYXJnKQogCiAgICAgaWYgaXNpbnN0YW5jZShvYmosIGZ1bmN0b29scy5wYXJ0aWFsKToKLSAgICAgICAgd3JhcHBlZF9zaWcgPSBfc2lnbmF0dXJlX2ludGVybmFsKG9iai5mdW5jLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93X3dyYXBwZXJfY2hhaW5zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2tpcF9ib3VuZF9hcmcpCisgICAgICAgIHdyYXBwZWRfc2lnID0gX3NpZ25hdHVyZV9mcm9tX2NhbGxhYmxlKAorICAgICAgICAgICAgb2JqLmZ1bmMsCisgICAgICAgICAgICBmb2xsb3dfd3JhcHBlcl9jaGFpbnM9Zm9sbG93X3dyYXBwZXJfY2hhaW5zLAorICAgICAgICAgICAgc2tpcF9ib3VuZF9hcmc9c2tpcF9ib3VuZF9hcmcsCisgICAgICAgICAgICBzaWdjbHM9c2lnY2xzKQogICAgICAgICByZXR1cm4gX3NpZ25hdHVyZV9nZXRfcGFydGlhbCh3cmFwcGVkX3NpZywgb2JqKQogCiAgICAgc2lnID0gTm9uZQpAQCAtMTk3MCwyMyArMjAwNiwyOSBAQAogICAgICAgICAjIGluIGl0cyBtZXRhY2xhc3MKICAgICAgICAgY2FsbCA9IF9zaWduYXR1cmVfZ2V0X3VzZXJfZGVmaW5lZF9tZXRob2QodHlwZShvYmopLCAnX19jYWxsX18nKQogICAgICAgICBpZiBjYWxsIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgc2lnID0gX3NpZ25hdHVyZV9pbnRlcm5hbChjYWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dfd3JhcHBlcl9jaGFpbnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNraXBfYm91bmRfYXJnKQorICAgICAgICAgICAgc2lnID0gX3NpZ25hdHVyZV9mcm9tX2NhbGxhYmxlKAorICAgICAgICAgICAgICAgIGNhbGwsCisgICAgICAgICAgICAgICAgZm9sbG93X3dyYXBwZXJfY2hhaW5zPWZvbGxvd193cmFwcGVyX2NoYWlucywKKyAgICAgICAgICAgICAgICBza2lwX2JvdW5kX2FyZz1za2lwX2JvdW5kX2FyZywKKyAgICAgICAgICAgICAgICBzaWdjbHM9c2lnY2xzKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgIyBOb3cgd2UgY2hlY2sgaWYgdGhlICdvYmonIGNsYXNzIGhhcyBhICdfX25ld19fJyBtZXRob2QKICAgICAgICAgICAgIG5ldyA9IF9zaWduYXR1cmVfZ2V0X3VzZXJfZGVmaW5lZF9tZXRob2Qob2JqLCAnX19uZXdfXycpCiAgICAgICAgICAgICBpZiBuZXcgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgc2lnID0gX3NpZ25hdHVyZV9pbnRlcm5hbChuZXcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dfd3JhcHBlcl9jaGFpbnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBza2lwX2JvdW5kX2FyZykKKyAgICAgICAgICAgICAgICBzaWcgPSBfc2lnbmF0dXJlX2Zyb21fY2FsbGFibGUoCisgICAgICAgICAgICAgICAgICAgIG5ldywKKyAgICAgICAgICAgICAgICAgICAgZm9sbG93X3dyYXBwZXJfY2hhaW5zPWZvbGxvd193cmFwcGVyX2NoYWlucywKKyAgICAgICAgICAgICAgICAgICAgc2tpcF9ib3VuZF9hcmc9c2tpcF9ib3VuZF9hcmcsCisgICAgICAgICAgICAgICAgICAgIHNpZ2Nscz1zaWdjbHMpCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICMgRmluYWxseSwgd2Ugc2hvdWxkIGhhdmUgYXQgbGVhc3QgX19pbml0X18gaW1wbGVtZW50ZWQKICAgICAgICAgICAgICAgICBpbml0ID0gX3NpZ25hdHVyZV9nZXRfdXNlcl9kZWZpbmVkX21ldGhvZChvYmosICdfX2luaXRfXycpCiAgICAgICAgICAgICAgICAgaWYgaW5pdCBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICAgICAgc2lnID0gX3NpZ25hdHVyZV9pbnRlcm5hbChpbml0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd193cmFwcGVyX2NoYWlucywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBza2lwX2JvdW5kX2FyZykKKyAgICAgICAgICAgICAgICAgICAgc2lnID0gX3NpZ25hdHVyZV9mcm9tX2NhbGxhYmxlKAorICAgICAgICAgICAgICAgICAgICAgICAgaW5pdCwKKyAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd193cmFwcGVyX2NoYWlucz1mb2xsb3dfd3JhcHBlcl9jaGFpbnMsCisgICAgICAgICAgICAgICAgICAgICAgICBza2lwX2JvdW5kX2FyZz1za2lwX2JvdW5kX2FyZywKKyAgICAgICAgICAgICAgICAgICAgICAgIHNpZ2Nscz1zaWdjbHMpCiAKICAgICAgICAgaWYgc2lnIGlzIE5vbmU6CiAgICAgICAgICAgICAjIEF0IHRoaXMgcG9pbnQgd2Uga25vdywgdGhhdCBgb2JqYCBpcyBhIGNsYXNzLCB3aXRoIG5vIHVzZXItCkBAIC0yMDA4LDcgKzIwNTAsNyBAQAogICAgICAgICAgICAgICAgICAgICBpZiB0ZXh0X3NpZzoKICAgICAgICAgICAgICAgICAgICAgICAgICMgSWYgJ29iaicgY2xhc3MgaGFzIGEgX190ZXh0X3NpZ25hdHVyZV9fIGF0dHJpYnV0ZToKICAgICAgICAgICAgICAgICAgICAgICAgICMgcmV0dXJuIGEgc2lnbmF0dXJlIGJhc2VkIG9uIGl0Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3NpZ25hdHVyZV9mcm9tc3RyKFNpZ25hdHVyZSwgb2JqLCB0ZXh0X3NpZykKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfc2lnbmF0dXJlX2Zyb21zdHIoc2lnY2xzLCBvYmosIHRleHRfc2lnKQogCiAgICAgICAgICAgICAjIE5vICdfX3RleHRfc2lnbmF0dXJlX18nIHdhcyBmb3VuZCBmb3IgdGhlICdvYmonIGNsYXNzLgogICAgICAgICAgICAgIyBMYXN0IG9wdGlvbiBpcyB0byBjaGVjayBpZiBpdHMgJ19faW5pdF9fJyBpcwpAQCAtMjAyOCw5ICsyMDcwLDExIEBACiAgICAgICAgIGNhbGwgPSBfc2lnbmF0dXJlX2dldF91c2VyX2RlZmluZWRfbWV0aG9kKHR5cGUob2JqKSwgJ19fY2FsbF9fJykKICAgICAgICAgaWYgY2FsbCBpcyBub3QgTm9uZToKICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBzaWcgPSBfc2lnbmF0dXJlX2ludGVybmFsKGNhbGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dfd3JhcHBlcl9jaGFpbnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBza2lwX2JvdW5kX2FyZykKKyAgICAgICAgICAgICAgICBzaWcgPSBfc2lnbmF0dXJlX2Zyb21fY2FsbGFibGUoCisgICAgICAgICAgICAgICAgICAgIGNhbGwsCisgICAgICAgICAgICAgICAgICAgIGZvbGxvd193cmFwcGVyX2NoYWlucz1mb2xsb3dfd3JhcHBlcl9jaGFpbnMsCisgICAgICAgICAgICAgICAgICAgIHNraXBfYm91bmRfYXJnPXNraXBfYm91bmRfYXJnLAorICAgICAgICAgICAgICAgICAgICBzaWdjbHM9c2lnY2xzKQogICAgICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3IgYXMgZXg6CiAgICAgICAgICAgICAgICAgbXNnID0gJ25vIHNpZ25hdHVyZSBmb3VuZCBmb3IgeyFyfScuZm9ybWF0KG9iaikKICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKG1zZykgZnJvbSBleApAQCAtMjA1MCw0MSArMjA5NCwzNSBAQAogCiAgICAgcmFpc2UgVmFsdWVFcnJvcignY2FsbGFibGUgeyFyfSBpcyBub3Qgc3VwcG9ydGVkIGJ5IHNpZ25hdHVyZScuZm9ybWF0KG9iaikpCiAKLWRlZiBzaWduYXR1cmUob2JqKToKLSAgICAnJydHZXQgYSBzaWduYXR1cmUgb2JqZWN0IGZvciB0aGUgcGFzc2VkIGNhbGxhYmxlLicnJwotICAgIHJldHVybiBfc2lnbmF0dXJlX2ludGVybmFsKG9iaikKLQogCiBjbGFzcyBfdm9pZDoKLSAgICAnJydBIHByaXZhdGUgbWFya2VyIC0gdXNlZCBpbiBQYXJhbWV0ZXIgJiBTaWduYXR1cmUnJycKKyAgICAiIiJBIHByaXZhdGUgbWFya2VyIC0gdXNlZCBpbiBQYXJhbWV0ZXIgJiBTaWduYXR1cmUuIiIiCiAKIAogY2xhc3MgX2VtcHR5OgotICAgIHBhc3MKKyAgICAiIiJNYXJrZXIgb2JqZWN0IGZvciBTaWduYXR1cmUuZW1wdHkgYW5kIFBhcmFtZXRlci5lbXB0eS4iIiIKIAogCi1jbGFzcyBfUGFyYW1ldGVyS2luZChpbnQpOgotICAgIGRlZiBfX25ld19fKHNlbGYsICphcmdzLCBuYW1lKToKLSAgICAgICAgb2JqID0gaW50Ll9fbmV3X18oc2VsZiwgKmFyZ3MpCi0gICAgICAgIG9iai5fbmFtZSA9IG5hbWUKLSAgICAgICAgcmV0dXJuIG9iagorY2xhc3MgX1BhcmFtZXRlcktpbmQoZW51bS5JbnRFbnVtKToKKyAgICBQT1NJVElPTkFMX09OTFkgPSAwCisgICAgUE9TSVRJT05BTF9PUl9LRVlXT1JEID0gMQorICAgIFZBUl9QT1NJVElPTkFMID0gMgorICAgIEtFWVdPUkRfT05MWSA9IDMKKyAgICBWQVJfS0VZV09SRCA9IDQKIAogICAgIGRlZiBfX3N0cl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gc2VsZi5fbmFtZQotCi0gICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gJzxfUGFyYW1ldGVyS2luZDogeyFyfT4nLmZvcm1hdChzZWxmLl9uYW1lKQorICAgICAgICByZXR1cm4gc2VsZi5fbmFtZV8KIAogCi1fUE9TSVRJT05BTF9PTkxZICAgICAgICA9IF9QYXJhbWV0ZXJLaW5kKDAsIG5hbWU9J1BPU0lUSU9OQUxfT05MWScpCi1fUE9TSVRJT05BTF9PUl9LRVlXT1JEICA9IF9QYXJhbWV0ZXJLaW5kKDEsIG5hbWU9J1BPU0lUSU9OQUxfT1JfS0VZV09SRCcpCi1fVkFSX1BPU0lUSU9OQUwgICAgICAgICA9IF9QYXJhbWV0ZXJLaW5kKDIsIG5hbWU9J1ZBUl9QT1NJVElPTkFMJykKLV9LRVlXT1JEX09OTFkgICAgICAgICAgID0gX1BhcmFtZXRlcktpbmQoMywgbmFtZT0nS0VZV09SRF9PTkxZJykKLV9WQVJfS0VZV09SRCAgICAgICAgICAgID0gX1BhcmFtZXRlcktpbmQoNCwgbmFtZT0nVkFSX0tFWVdPUkQnKQorX1BPU0lUSU9OQUxfT05MWSAgICAgICAgID0gX1BhcmFtZXRlcktpbmQuUE9TSVRJT05BTF9PTkxZCitfUE9TSVRJT05BTF9PUl9LRVlXT1JEICAgPSBfUGFyYW1ldGVyS2luZC5QT1NJVElPTkFMX09SX0tFWVdPUkQKK19WQVJfUE9TSVRJT05BTCAgICAgICAgICA9IF9QYXJhbWV0ZXJLaW5kLlZBUl9QT1NJVElPTkFMCitfS0VZV09SRF9PTkxZICAgICAgICAgICAgPSBfUGFyYW1ldGVyS2luZC5LRVlXT1JEX09OTFkKK19WQVJfS0VZV09SRCAgICAgICAgICAgICA9IF9QYXJhbWV0ZXJLaW5kLlZBUl9LRVlXT1JECiAKIAogY2xhc3MgUGFyYW1ldGVyOgotICAgICcnJ1JlcHJlc2VudHMgYSBwYXJhbWV0ZXIgaW4gYSBmdW5jdGlvbiBzaWduYXR1cmUuCisgICAgIiIiUmVwcmVzZW50cyBhIHBhcmFtZXRlciBpbiBhIGZ1bmN0aW9uIHNpZ25hdHVyZS4KIAogICAgIEhhcyB0aGUgZm9sbG93aW5nIHB1YmxpYyBhdHRyaWJ1dGVzOgogCkBAIC0yMTAzLDcgKzIxNDEsNyBAQAogICAgICAgICBQb3NzaWJsZSB2YWx1ZXM6IGBQYXJhbWV0ZXIuUE9TSVRJT05BTF9PTkxZYCwKICAgICAgICAgYFBhcmFtZXRlci5QT1NJVElPTkFMX09SX0tFWVdPUkRgLCBgUGFyYW1ldGVyLlZBUl9QT1NJVElPTkFMYCwKICAgICAgICAgYFBhcmFtZXRlci5LRVlXT1JEX09OTFlgLCBgUGFyYW1ldGVyLlZBUl9LRVlXT1JEYC4KLSAgICAnJycKKyAgICAiIiIKIAogICAgIF9fc2xvdHNfXyA9ICgnX25hbWUnLCAnX2tpbmQnLCAnX2RlZmF1bHQnLCAnX2Fubm90YXRpb24nKQogCkBAIC0yMTQwLDYgKzIxNzgsMTYgQEAKIAogICAgICAgICBzZWxmLl9uYW1lID0gbmFtZQogCisgICAgZGVmIF9fcmVkdWNlX18oc2VsZik6CisgICAgICAgIHJldHVybiAodHlwZShzZWxmKSwKKyAgICAgICAgICAgICAgICAoc2VsZi5fbmFtZSwgc2VsZi5fa2luZCksCisgICAgICAgICAgICAgICAgeydfZGVmYXVsdCc6IHNlbGYuX2RlZmF1bHQsCisgICAgICAgICAgICAgICAgICdfYW5ub3RhdGlvbic6IHNlbGYuX2Fubm90YXRpb259KQorCisgICAgZGVmIF9fc2V0c3RhdGVfXyhzZWxmLCBzdGF0ZSk6CisgICAgICAgIHNlbGYuX2RlZmF1bHQgPSBzdGF0ZVsnX2RlZmF1bHQnXQorICAgICAgICBzZWxmLl9hbm5vdGF0aW9uID0gc3RhdGVbJ19hbm5vdGF0aW9uJ10KKwogICAgIEBwcm9wZXJ0eQogICAgIGRlZiBuYW1lKHNlbGYpOgogICAgICAgICByZXR1cm4gc2VsZi5fbmFtZQpAQCAtMjE1OCw3ICsyMjA2LDcgQEAKIAogICAgIGRlZiByZXBsYWNlKHNlbGYsICosIG5hbWU9X3ZvaWQsIGtpbmQ9X3ZvaWQsCiAgICAgICAgICAgICAgICAgYW5ub3RhdGlvbj1fdm9pZCwgZGVmYXVsdD1fdm9pZCk6Ci0gICAgICAgICcnJ0NyZWF0ZXMgYSBjdXN0b21pemVkIGNvcHkgb2YgdGhlIFBhcmFtZXRlci4nJycKKyAgICAgICAgIiIiQ3JlYXRlcyBhIGN1c3RvbWl6ZWQgY29weSBvZiB0aGUgUGFyYW1ldGVyLiIiIgogCiAgICAgICAgIGlmIG5hbWUgaXMgX3ZvaWQ6CiAgICAgICAgICAgICBuYW1lID0gc2VsZi5fbmFtZQpAQCAtMjE5NCw4ICsyMjQyLDExIEBACiAgICAgICAgIHJldHVybiBmb3JtYXR0ZWQKIAogICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKLSAgICAgICAgcmV0dXJuICc8e30gYXQgezojeH0geyFyfT4nLmZvcm1hdChzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZChzZWxmKSwgc2VsZi5uYW1lKQorICAgICAgICByZXR1cm4gJzx7fSBhdCB7OiN4fSAie30iPicuZm9ybWF0KHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkKHNlbGYpLCBzZWxmKQorCisgICAgZGVmIF9faGFzaF9fKHNlbGYpOgorICAgICAgICByZXR1cm4gaGFzaCgoc2VsZi5uYW1lLCBzZWxmLmtpbmQsIHNlbGYuYW5ub3RhdGlvbiwgc2VsZi5kZWZhdWx0KSkKIAogICAgIGRlZiBfX2VxX18oc2VsZiwgb3RoZXIpOgogICAgICAgICByZXR1cm4gKGlzc3ViY2xhc3Mob3RoZXIuX19jbGFzc19fLCBQYXJhbWV0ZXIpIGFuZApAQCAtMjIwNCwxMiArMjI1NSw5IEBACiAgICAgICAgICAgICAgICAgc2VsZi5fZGVmYXVsdCA9PSBvdGhlci5fZGVmYXVsdCBhbmQKICAgICAgICAgICAgICAgICBzZWxmLl9hbm5vdGF0aW9uID09IG90aGVyLl9hbm5vdGF0aW9uKQogCi0gICAgZGVmIF9fbmVfXyhzZWxmLCBvdGhlcik6Ci0gICAgICAgIHJldHVybiBub3Qgc2VsZi5fX2VxX18ob3RoZXIpCi0KIAogY2xhc3MgQm91bmRBcmd1bWVudHM6Ci0gICAgJycnUmVzdWx0IG9mIGBTaWduYXR1cmUuYmluZGAgY2FsbC4gIEhvbGRzIHRoZSBtYXBwaW5nIG9mIGFyZ3VtZW50cworICAgICIiIlJlc3VsdCBvZiBgU2lnbmF0dXJlLmJpbmRgIGNhbGwuICBIb2xkcyB0aGUgbWFwcGluZyBvZiBhcmd1bWVudHMKICAgICB0byB0aGUgZnVuY3Rpb24ncyBwYXJhbWV0ZXJzLgogCiAgICAgSGFzIHRoZSBmb2xsb3dpbmcgcHVibGljIGF0dHJpYnV0ZXM6CkBAIC0yMjIzLDcgKzIyNzEsNyBAQAogICAgICAgICBUdXBsZSBvZiBwb3NpdGlvbmFsIGFyZ3VtZW50cyB2YWx1ZXMuCiAgICAgKiBrd2FyZ3MgOiBkaWN0CiAgICAgICAgIERpY3Qgb2Yga2V5d29yZCBhcmd1bWVudHMgdmFsdWVzLgotICAgICcnJworICAgICIiIgogCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHNpZ25hdHVyZSwgYXJndW1lbnRzKToKICAgICAgICAgc2VsZi5hcmd1bWVudHMgPSBhcmd1bWVudHMKQEAgLTIyOTEsMTIgKzIzMzksOSBAQAogICAgICAgICAgICAgICAgIHNlbGYuc2lnbmF0dXJlID09IG90aGVyLnNpZ25hdHVyZSBhbmQKICAgICAgICAgICAgICAgICBzZWxmLmFyZ3VtZW50cyA9PSBvdGhlci5hcmd1bWVudHMpCiAKLSAgICBkZWYgX19uZV9fKHNlbGYsIG90aGVyKToKLSAgICAgICAgcmV0dXJuIG5vdCBzZWxmLl9fZXFfXyhvdGhlcikKLQogCiBjbGFzcyBTaWduYXR1cmU6Ci0gICAgJycnQSBTaWduYXR1cmUgb2JqZWN0IHJlcHJlc2VudHMgdGhlIG92ZXJhbGwgc2lnbmF0dXJlIG9mIGEgZnVuY3Rpb24uCisgICAgIiIiQSBTaWduYXR1cmUgb2JqZWN0IHJlcHJlc2VudHMgdGhlIG92ZXJhbGwgc2lnbmF0dXJlIG9mIGEgZnVuY3Rpb24uCiAgICAgSXQgc3RvcmVzIGEgUGFyYW1ldGVyIG9iamVjdCBmb3IgZWFjaCBwYXJhbWV0ZXIgYWNjZXB0ZWQgYnkgdGhlCiAgICAgZnVuY3Rpb24sIGFzIHdlbGwgYXMgaW5mb3JtYXRpb24gc3BlY2lmaWMgdG8gdGhlIGZ1bmN0aW9uIGl0c2VsZi4KIApAQCAtMjMxNiw3ICsyMzYxLDcgQEAKICAgICAqIGJpbmRfcGFydGlhbCgqYXJncywgKiprd2FyZ3MpIC0+IEJvdW5kQXJndW1lbnRzCiAgICAgICAgIENyZWF0ZXMgYSBwYXJ0aWFsIG1hcHBpbmcgZnJvbSBwb3NpdGlvbmFsIGFuZCBrZXl3b3JkIGFyZ3VtZW50cwogICAgICAgICB0byBwYXJhbWV0ZXJzIChzaW11bGF0aW5nICdmdW5jdG9vbHMucGFydGlhbCcgYmVoYXZpb3IuKQotICAgICcnJworICAgICIiIgogCiAgICAgX19zbG90c19fID0gKCdfcmV0dXJuX2Fubm90YXRpb24nLCAnX3BhcmFtZXRlcnMnKQogCkBAIC0yMzI3LDkgKzIzNzIsOSBAQAogCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBhcmFtZXRlcnM9Tm9uZSwgKiwgcmV0dXJuX2Fubm90YXRpb249X2VtcHR5LAogICAgICAgICAgICAgICAgICBfX3ZhbGlkYXRlX3BhcmFtZXRlcnNfXz1UcnVlKToKLSAgICAgICAgJycnQ29uc3RydWN0cyBTaWduYXR1cmUgZnJvbSB0aGUgZ2l2ZW4gbGlzdCBvZiBQYXJhbWV0ZXIKKyAgICAgICAgIiIiQ29uc3RydWN0cyBTaWduYXR1cmUgZnJvbSB0aGUgZ2l2ZW4gbGlzdCBvZiBQYXJhbWV0ZXIKICAgICAgICAgb2JqZWN0cyBhbmQgJ3JldHVybl9hbm5vdGF0aW9uJy4gIEFsbCBhcmd1bWVudHMgYXJlIG9wdGlvbmFsLgotICAgICAgICAnJycKKyAgICAgICAgIiIiCiAKICAgICAgICAgaWYgcGFyYW1ldGVycyBpcyBOb25lOgogICAgICAgICAgICAgcGFyYW1zID0gT3JkZXJlZERpY3QoKQpAQCAtMjM3OCw3ICsyNDIzLDcgQEAKIAogICAgIEBjbGFzc21ldGhvZAogICAgIGRlZiBmcm9tX2Z1bmN0aW9uKGNscywgZnVuYyk6Ci0gICAgICAgICcnJ0NvbnN0cnVjdHMgU2lnbmF0dXJlIGZvciB0aGUgZ2l2ZW4gcHl0aG9uIGZ1bmN0aW9uJycnCisgICAgICAgICIiIkNvbnN0cnVjdHMgU2lnbmF0dXJlIGZvciB0aGUgZ2l2ZW4gcHl0aG9uIGZ1bmN0aW9uLiIiIgogCiAgICAgICAgIGlzX2R1Y2tfZnVuY3Rpb24gPSBGYWxzZQogICAgICAgICBpZiBub3QgaXNmdW5jdGlvbihmdW5jKToKQEAgLTI0NTksOCArMjUwNCwxNCBAQAogCiAgICAgQGNsYXNzbWV0aG9kCiAgICAgZGVmIGZyb21fYnVpbHRpbihjbHMsIGZ1bmMpOgorICAgICAgICAiIiJDb25zdHJ1Y3RzIFNpZ25hdHVyZSBmb3IgdGhlIGdpdmVuIGJ1aWx0aW4gZnVuY3Rpb24uIiIiCiAgICAgICAgIHJldHVybiBfc2lnbmF0dXJlX2Zyb21fYnVpbHRpbihjbHMsIGZ1bmMpCiAKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgZnJvbV9jYWxsYWJsZShjbHMsIG9iaik6CisgICAgICAgICIiIkNvbnN0cnVjdHMgU2lnbmF0dXJlIGZvciB0aGUgZ2l2ZW4gY2FsbGFibGUgb2JqZWN0LiIiIgorICAgICAgICByZXR1cm4gX3NpZ25hdHVyZV9mcm9tX2NhbGxhYmxlKG9iaiwgc2lnY2xzPWNscykKKwogICAgIEBwcm9wZXJ0eQogICAgIGRlZiBwYXJhbWV0ZXJzKHNlbGYpOgogICAgICAgICByZXR1cm4gc2VsZi5fcGFyYW1ldGVycwpAQCAtMjQ3MCwxMCArMjUyMSwxMCBAQAogICAgICAgICByZXR1cm4gc2VsZi5fcmV0dXJuX2Fubm90YXRpb24KIAogICAgIGRlZiByZXBsYWNlKHNlbGYsICosIHBhcmFtZXRlcnM9X3ZvaWQsIHJldHVybl9hbm5vdGF0aW9uPV92b2lkKToKLSAgICAgICAgJycnQ3JlYXRlcyBhIGN1c3RvbWl6ZWQgY29weSBvZiB0aGUgU2lnbmF0dXJlLgorICAgICAgICAiIiJDcmVhdGVzIGEgY3VzdG9taXplZCBjb3B5IG9mIHRoZSBTaWduYXR1cmUuCiAgICAgICAgIFBhc3MgJ3BhcmFtZXRlcnMnIGFuZC9vciAncmV0dXJuX2Fubm90YXRpb24nIGFyZ3VtZW50cwogICAgICAgICB0byBvdmVycmlkZSB0aGVtIGluIHRoZSBuZXcgY29weS4KLSAgICAgICAgJycnCisgICAgICAgICIiIgogCiAgICAgICAgIGlmIHBhcmFtZXRlcnMgaXMgX3ZvaWQ6CiAgICAgICAgICAgICBwYXJhbWV0ZXJzID0gc2VsZi5wYXJhbWV0ZXJzLnZhbHVlcygpCkBAIC0yNDg0LDQxICsyNTM1LDI2IEBACiAgICAgICAgIHJldHVybiB0eXBlKHNlbGYpKHBhcmFtZXRlcnMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybl9hbm5vdGF0aW9uPXJldHVybl9hbm5vdGF0aW9uKQogCisgICAgZGVmIF9oYXNoX2Jhc2lzKHNlbGYpOgorICAgICAgICBwYXJhbXMgPSB0dXBsZShwYXJhbSBmb3IgcGFyYW0gaW4gc2VsZi5wYXJhbWV0ZXJzLnZhbHVlcygpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIHBhcmFtLmtpbmQgIT0gX0tFWVdPUkRfT05MWSkKKworICAgICAgICBrd29fcGFyYW1zID0ge3BhcmFtLm5hbWU6IHBhcmFtIGZvciBwYXJhbSBpbiBzZWxmLnBhcmFtZXRlcnMudmFsdWVzKCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBwYXJhbS5raW5kID09IF9LRVlXT1JEX09OTFl9CisKKyAgICAgICAgcmV0dXJuIHBhcmFtcywga3dvX3BhcmFtcywgc2VsZi5yZXR1cm5fYW5ub3RhdGlvbgorCisgICAgZGVmIF9faGFzaF9fKHNlbGYpOgorICAgICAgICBwYXJhbXMsIGt3b19wYXJhbXMsIHJldHVybl9hbm5vdGF0aW9uID0gc2VsZi5faGFzaF9iYXNpcygpCisgICAgICAgIGt3b19wYXJhbXMgPSBmcm96ZW5zZXQoa3dvX3BhcmFtcy52YWx1ZXMoKSkKKyAgICAgICAgcmV0dXJuIGhhc2goKHBhcmFtcywga3dvX3BhcmFtcywgcmV0dXJuX2Fubm90YXRpb24pKQorCiAgICAgZGVmIF9fZXFfXyhzZWxmLCBvdGhlcik6Ci0gICAgICAgIGlmIChub3QgaXNzdWJjbGFzcyh0eXBlKG90aGVyKSwgU2lnbmF0dXJlKSBvcgotICAgICAgICAgICAgICAgICAgICBzZWxmLnJldHVybl9hbm5vdGF0aW9uICE9IG90aGVyLnJldHVybl9hbm5vdGF0aW9uIG9yCi0gICAgICAgICAgICAgICAgICAgIGxlbihzZWxmLnBhcmFtZXRlcnMpICE9IGxlbihvdGhlci5wYXJhbWV0ZXJzKSk6Ci0gICAgICAgICAgICByZXR1cm4gRmFsc2UKLQotICAgICAgICBvdGhlcl9wb3NpdGlvbnMgPSB7cGFyYW06IGlkeAotICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGlkeCwgcGFyYW0gaW4gZW51bWVyYXRlKG90aGVyLnBhcmFtZXRlcnMua2V5cygpKX0KLQotICAgICAgICBmb3IgaWR4LCAocGFyYW1fbmFtZSwgcGFyYW0pIGluIGVudW1lcmF0ZShzZWxmLnBhcmFtZXRlcnMuaXRlbXMoKSk6Ci0gICAgICAgICAgICBpZiBwYXJhbS5raW5kID09IF9LRVlXT1JEX09OTFk6Ci0gICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICBvdGhlcl9wYXJhbSA9IG90aGVyLnBhcmFtZXRlcnNbcGFyYW1fbmFtZV0KLSAgICAgICAgICAgICAgICBleGNlcHQgS2V5RXJyb3I6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIGlmIHBhcmFtICE9IG90aGVyX3BhcmFtOgotICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgICAgb3RoZXJfaWR4ID0gb3RoZXJfcG9zaXRpb25zW3BhcmFtX25hbWVdCi0gICAgICAgICAgICAgICAgZXhjZXB0IEtleUVycm9yOgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKLSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICBpZiAoaWR4ICE9IG90aGVyX2lkeCBvcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW0gIT0gb3RoZXIucGFyYW1ldGVyc1twYXJhbV9uYW1lXSk6Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKLQotICAgICAgICByZXR1cm4gVHJ1ZQotCi0gICAgZGVmIF9fbmVfXyhzZWxmLCBvdGhlcik6Ci0gICAgICAgIHJldHVybiBub3Qgc2VsZi5fX2VxX18ob3RoZXIpCisgICAgICAgIHJldHVybiAoaXNpbnN0YW5jZShvdGhlciwgU2lnbmF0dXJlKSBhbmQKKyAgICAgICAgICAgICAgICBzZWxmLl9oYXNoX2Jhc2lzKCkgPT0gb3RoZXIuX2hhc2hfYmFzaXMoKSkKIAogICAgIGRlZiBfYmluZChzZWxmLCBhcmdzLCBrd2FyZ3MsICosIHBhcnRpYWw9RmFsc2UpOgotICAgICAgICAnJydQcml2YXRlIG1ldGhvZC4gIERvbid0IHVzZSBkaXJlY3RseS4nJycKKyAgICAgICAgIiIiUHJpdmF0ZSBtZXRob2QuIERvbid0IHVzZSBkaXJlY3RseS4iIiIKIAogICAgICAgICBhcmd1bWVudHMgPSBPcmRlcmVkRGljdCgpCiAKQEAgLTI2NDUsMTkgKzI2ODEsMzEgQEAKICAgICAgICAgcmV0dXJuIHNlbGYuX2JvdW5kX2FyZ3VtZW50c19jbHMoc2VsZiwgYXJndW1lbnRzKQogCiAgICAgZGVmIGJpbmQoKmFyZ3MsICoqa3dhcmdzKToKLSAgICAgICAgJycnR2V0IGEgQm91bmRBcmd1bWVudHMgb2JqZWN0LCB0aGF0IG1hcHMgdGhlIHBhc3NlZCBgYXJnc2AKKyAgICAgICAgIiIiR2V0IGEgQm91bmRBcmd1bWVudHMgb2JqZWN0LCB0aGF0IG1hcHMgdGhlIHBhc3NlZCBgYXJnc2AKICAgICAgICAgYW5kIGBrd2FyZ3NgIHRvIHRoZSBmdW5jdGlvbidzIHNpZ25hdHVyZS4gIFJhaXNlcyBgVHlwZUVycm9yYAogICAgICAgICBpZiB0aGUgcGFzc2VkIGFyZ3VtZW50cyBjYW4gbm90IGJlIGJvdW5kLgotICAgICAgICAnJycKKyAgICAgICAgIiIiCiAgICAgICAgIHJldHVybiBhcmdzWzBdLl9iaW5kKGFyZ3NbMTpdLCBrd2FyZ3MpCiAKICAgICBkZWYgYmluZF9wYXJ0aWFsKCphcmdzLCAqKmt3YXJncyk6Ci0gICAgICAgICcnJ0dldCBhIEJvdW5kQXJndW1lbnRzIG9iamVjdCwgdGhhdCBwYXJ0aWFsbHkgbWFwcyB0aGUKKyAgICAgICAgIiIiR2V0IGEgQm91bmRBcmd1bWVudHMgb2JqZWN0LCB0aGF0IHBhcnRpYWxseSBtYXBzIHRoZQogICAgICAgICBwYXNzZWQgYGFyZ3NgIGFuZCBga3dhcmdzYCB0byB0aGUgZnVuY3Rpb24ncyBzaWduYXR1cmUuCiAgICAgICAgIFJhaXNlcyBgVHlwZUVycm9yYCBpZiB0aGUgcGFzc2VkIGFyZ3VtZW50cyBjYW4gbm90IGJlIGJvdW5kLgotICAgICAgICAnJycKKyAgICAgICAgIiIiCiAgICAgICAgIHJldHVybiBhcmdzWzBdLl9iaW5kKGFyZ3NbMTpdLCBrd2FyZ3MsIHBhcnRpYWw9VHJ1ZSkKIAorICAgIGRlZiBfX3JlZHVjZV9fKHNlbGYpOgorICAgICAgICByZXR1cm4gKHR5cGUoc2VsZiksCisgICAgICAgICAgICAgICAgKHR1cGxlKHNlbGYuX3BhcmFtZXRlcnMudmFsdWVzKCkpLCksCisgICAgICAgICAgICAgICAgeydfcmV0dXJuX2Fubm90YXRpb24nOiBzZWxmLl9yZXR1cm5fYW5ub3RhdGlvbn0pCisKKyAgICBkZWYgX19zZXRzdGF0ZV9fKHNlbGYsIHN0YXRlKToKKyAgICAgICAgc2VsZi5fcmV0dXJuX2Fubm90YXRpb24gPSBzdGF0ZVsnX3JldHVybl9hbm5vdGF0aW9uJ10KKworICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuICc8e30gYXQgezojeH0gInt9Ij4nLmZvcm1hdChzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZChzZWxmKSwgc2VsZikKKwogICAgIGRlZiBfX3N0cl9fKHNlbGYpOgogICAgICAgICByZXN1bHQgPSBbXQogICAgICAgICByZW5kZXJfcG9zX29ubHlfc2VwYXJhdG9yID0gRmFsc2UKQEAgLTI3MDMsNiArMjc1MSwxMiBAQAogCiAgICAgICAgIHJldHVybiByZW5kZXJlZAogCisKK2RlZiBzaWduYXR1cmUob2JqKToKKyAgICAiIiJHZXQgYSBzaWduYXR1cmUgb2JqZWN0IGZvciB0aGUgcGFzc2VkIGNhbGxhYmxlLiIiIgorICAgIHJldHVybiBTaWduYXR1cmUuZnJvbV9jYWxsYWJsZShvYmopCisKKwogZGVmIF9tYWluKCk6CiAgICAgIiIiIExvZ2ljIGZvciBpbnNwZWN0aW5nIGFuIG9iamVjdCBnaXZlbiBhdCBjb21tYW5kIGxpbmUgIiIiCiAgICAgaW1wb3J0IGFyZ3BhcnNlCmRpZmYgLS1naXQgYS9MaWIvaXBhZGRyZXNzLnB5IGIvTGliL2lwYWRkcmVzcy5weQppbmRleCBhYzAzYzM2Li42YzIyNWYzIDEwMDY0NAotLS0gYS9MaWIvaXBhZGRyZXNzLnB5CisrKyBiL0xpYi9pcGFkZHJlc3MucHkKQEAgLTE2NCwyMiArMTY0LDIzIEBACiAKIAogZGVmIF9maW5kX2FkZHJlc3NfcmFuZ2UoYWRkcmVzc2VzKToKLSAgICAiIiJGaW5kIGEgc2VxdWVuY2Ugb2YgSVB2I0FkZHJlc3MuCisgICAgIiIiRmluZCBhIHNlcXVlbmNlIG9mIHNvcnRlZCBkZWR1cGxpY2F0ZWQgSVB2I0FkZHJlc3MuCiAKICAgICBBcmdzOgogICAgICAgICBhZGRyZXNzZXM6IGEgbGlzdCBvZiBJUHYjQWRkcmVzcyBvYmplY3RzLgogCi0gICAgUmV0dXJuczoKKyAgICBZaWVsZHM6CiAgICAgICAgIEEgdHVwbGUgY29udGFpbmluZyB0aGUgZmlyc3QgYW5kIGxhc3QgSVAgYWRkcmVzc2VzIGluIHRoZSBzZXF1ZW5jZS4KIAogICAgICIiIgotICAgIGZpcnN0ID0gbGFzdCA9IGFkZHJlc3Nlc1swXQotICAgIGZvciBpcCBpbiBhZGRyZXNzZXNbMTpdOgotICAgICAgICBpZiBpcC5faXAgPT0gbGFzdC5faXAgKyAxOgotICAgICAgICAgICAgbGFzdCA9IGlwCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBicmVhawotICAgIHJldHVybiAoZmlyc3QsIGxhc3QpCisgICAgaXQgPSBpdGVyKGFkZHJlc3NlcykKKyAgICBmaXJzdCA9IGxhc3QgPSBuZXh0KGl0KQorICAgIGZvciBpcCBpbiBpdDoKKyAgICAgICAgaWYgaXAuX2lwICE9IGxhc3QuX2lwICsgMToKKyAgICAgICAgICAgIHlpZWxkIGZpcnN0LCBsYXN0CisgICAgICAgICAgICBmaXJzdCA9IGlwCisgICAgICAgIGxhc3QgPSBpcAorICAgIHlpZWxkIGZpcnN0LCBsYXN0CiAKIAogZGVmIF9jb3VudF9yaWdodGhhbmRfemVyb19iaXRzKG51bWJlciwgYml0cyk6CkBAIC0xOTUsMTEgKzE5Niw3IEBACiAgICAgIiIiCiAgICAgaWYgbnVtYmVyID09IDA6CiAgICAgICAgIHJldHVybiBiaXRzCi0gICAgZm9yIGkgaW4gcmFuZ2UoYml0cyk6Ci0gICAgICAgIGlmIChudW1iZXIgPj4gaSkgJiAxOgotICAgICAgICAgICAgcmV0dXJuIGkKLSAgICAjIEFsbCBiaXRzIG9mIGludGVyZXN0IHdlcmUgemVybywgZXZlbiBpZiB0aGVyZSBhcmUgbW9yZSBpbiB0aGUgbnVtYmVyCi0gICAgcmV0dXJuIGJpdHMKKyAgICByZXR1cm4gbWluKGJpdHMsICh+bnVtYmVyICYgKG51bWJlci0xKSkuYml0X2xlbmd0aCgpKQogCiAKIGRlZiBzdW1tYXJpemVfYWRkcmVzc19yYW5nZShmaXJzdCwgbGFzdCk6CkBAIC0yNTAsMTUgKzI0NywxNCBAQAogICAgIHdoaWxlIGZpcnN0X2ludCA8PSBsYXN0X2ludDoKICAgICAgICAgbmJpdHMgPSBtaW4oX2NvdW50X3JpZ2h0aGFuZF96ZXJvX2JpdHMoZmlyc3RfaW50LCBpcF9iaXRzKSwKICAgICAgICAgICAgICAgICAgICAgKGxhc3RfaW50IC0gZmlyc3RfaW50ICsgMSkuYml0X2xlbmd0aCgpIC0gMSkKLSAgICAgICAgbmV0ID0gaXAoJyVzLyVkJyAlIChmaXJzdCwgaXBfYml0cyAtIG5iaXRzKSkKKyAgICAgICAgbmV0ID0gaXAoKGZpcnN0X2ludCwgaXBfYml0cyAtIG5iaXRzKSkKICAgICAgICAgeWllbGQgbmV0CiAgICAgICAgIGZpcnN0X2ludCArPSAxIDw8IG5iaXRzCiAgICAgICAgIGlmIGZpcnN0X2ludCAtIDEgPT0gaXAuX0FMTF9PTkVTOgogICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgZmlyc3QgPSBmaXJzdC5fX2NsYXNzX18oZmlyc3RfaW50KQogCiAKLWRlZiBfY29sbGFwc2VfYWRkcmVzc2VzX3JlY3Vyc2l2ZShhZGRyZXNzZXMpOgorZGVmIF9jb2xsYXBzZV9hZGRyZXNzZXNfaW50ZXJuYWwoYWRkcmVzc2VzKToKICAgICAiIiJMb29wcyB0aHJvdWdoIHRoZSBhZGRyZXNzZXMsIGNvbGxhcHNpbmcgY29uY3VycmVudCBuZXRibG9ja3MuCiAKICAgICBFeGFtcGxlOgpAQCAtMjY4LDcgKzI2NCw3IEBACiAgICAgICAgIGlwMyA9IElQdjROZXR3b3JrKCcxOTIuMC4yLjEyOC8yNicpCiAgICAgICAgIGlwNCA9IElQdjROZXR3b3JrKCcxOTIuMC4yLjE5Mi8yNicpCiAKLSAgICAgICAgX2NvbGxhcHNlX2FkZHJlc3Nlc19yZWN1cnNpdmUoW2lwMSwgaXAyLCBpcDMsIGlwNF0pIC0+CisgICAgICAgIF9jb2xsYXBzZV9hZGRyZXNzZXNfaW50ZXJuYWwoW2lwMSwgaXAyLCBpcDMsIGlwNF0pIC0+CiAgICAgICAgICAgW0lQdjROZXR3b3JrKCcxOTIuMC4yLjAvMjQnKV0KIAogICAgICAgICBUaGlzIHNob3VsZG4ndCBiZSBjYWxsZWQgZGlyZWN0bHk7IGl0IGlzIGNhbGxlZCB2aWEKQEAgLTI4MiwyOCArMjc4LDI5IEBACiAgICAgICAgIHBhc3NlZC4KIAogICAgICIiIgotICAgIHdoaWxlIFRydWU6Ci0gICAgICAgIGxhc3RfYWRkciA9IE5vbmUKLSAgICAgICAgcmV0X2FycmF5ID0gW10KLSAgICAgICAgb3B0aW1pemVkID0gRmFsc2UKLQotICAgICAgICBmb3IgY3VyX2FkZHIgaW4gYWRkcmVzc2VzOgotICAgICAgICAgICAgaWYgbm90IHJldF9hcnJheToKLSAgICAgICAgICAgICAgICBsYXN0X2FkZHIgPSBjdXJfYWRkcgotICAgICAgICAgICAgICAgIHJldF9hcnJheS5hcHBlbmQoY3VyX2FkZHIpCi0gICAgICAgICAgICBlbGlmIChjdXJfYWRkci5uZXR3b3JrX2FkZHJlc3MgPj0gbGFzdF9hZGRyLm5ldHdvcmtfYWRkcmVzcyBhbmQKLSAgICAgICAgICAgICAgICBjdXJfYWRkci5icm9hZGNhc3RfYWRkcmVzcyA8PSBsYXN0X2FkZHIuYnJvYWRjYXN0X2FkZHJlc3MpOgotICAgICAgICAgICAgICAgIG9wdGltaXplZCA9IFRydWUKLSAgICAgICAgICAgIGVsaWYgY3VyX2FkZHIgPT0gbGlzdChsYXN0X2FkZHIuc3VwZXJuZXQoKS5zdWJuZXRzKCkpWzFdOgotICAgICAgICAgICAgICAgIHJldF9hcnJheVstMV0gPSBsYXN0X2FkZHIgPSBsYXN0X2FkZHIuc3VwZXJuZXQoKQotICAgICAgICAgICAgICAgIG9wdGltaXplZCA9IFRydWUKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgbGFzdF9hZGRyID0gY3VyX2FkZHIKLSAgICAgICAgICAgICAgICByZXRfYXJyYXkuYXBwZW5kKGN1cl9hZGRyKQotCi0gICAgICAgIGFkZHJlc3NlcyA9IHJldF9hcnJheQotICAgICAgICBpZiBub3Qgb3B0aW1pemVkOgotICAgICAgICAgICAgcmV0dXJuIGFkZHJlc3NlcworICAgICMgRmlyc3QgbWVyZ2UKKyAgICB0b19tZXJnZSA9IGxpc3QoYWRkcmVzc2VzKQorICAgIHN1Ym5ldHMgPSB7fQorICAgIHdoaWxlIHRvX21lcmdlOgorICAgICAgICBuZXQgPSB0b19tZXJnZS5wb3AoKQorICAgICAgICBzdXBlcm5ldCA9IG5ldC5zdXBlcm5ldCgpCisgICAgICAgIGV4aXN0aW5nID0gc3VibmV0cy5nZXQoc3VwZXJuZXQpCisgICAgICAgIGlmIGV4aXN0aW5nIGlzIE5vbmU6CisgICAgICAgICAgICBzdWJuZXRzW3N1cGVybmV0XSA9IG5ldAorICAgICAgICBlbGlmIGV4aXN0aW5nICE9IG5ldDoKKyAgICAgICAgICAgICMgTWVyZ2UgY29uc2VjdXRpdmUgc3VibmV0cworICAgICAgICAgICAgZGVsIHN1Ym5ldHNbc3VwZXJuZXRdCisgICAgICAgICAgICB0b19tZXJnZS5hcHBlbmQoc3VwZXJuZXQpCisgICAgIyBUaGVuIGl0ZXJhdGUgb3ZlciByZXN1bHRpbmcgbmV0d29ya3MsIHNraXBwaW5nIHN1YnN1bWVkIHN1Ym5ldHMKKyAgICBsYXN0ID0gTm9uZQorICAgIGZvciBuZXQgaW4gc29ydGVkKHN1Ym5ldHMudmFsdWVzKCkpOgorICAgICAgICBpZiBsYXN0IGlzIG5vdCBOb25lOgorICAgICAgICAgICAgIyBTaW5jZSB0aGV5IGFyZSBzb3J0ZWQsIGxhc3QubmV0d29ya19hZGRyZXNzIDw9IG5ldC5uZXR3b3JrX2FkZHJlc3MKKyAgICAgICAgICAgICMgaXMgYSBnaXZlbi4KKyAgICAgICAgICAgIGlmIGxhc3QuYnJvYWRjYXN0X2FkZHJlc3MgPj0gbmV0LmJyb2FkY2FzdF9hZGRyZXNzOgorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgIHlpZWxkIG5ldAorICAgICAgICBsYXN0ID0gbmV0CiAKIAogZGVmIGNvbGxhcHNlX2FkZHJlc3NlcyhhZGRyZXNzZXMpOgpAQCAtMzI0LDcgKzMyMSw2IEBACiAgICAgICAgIFR5cGVFcnJvcjogSWYgcGFzc2VkIGEgbGlzdCBvZiBtaXhlZCB2ZXJzaW9uIG9iamVjdHMuCiAKICAgICAiIiIKLSAgICBpID0gMAogICAgIGFkZHJzID0gW10KICAgICBpcHMgPSBbXQogICAgIG5ldHMgPSBbXQpAQCAtMzUyLDE1ICszNDgsMTMgQEAKIAogICAgICMgc29ydCBhbmQgZGVkdXAKICAgICBpcHMgPSBzb3J0ZWQoc2V0KGlwcykpCi0gICAgbmV0cyA9IHNvcnRlZChzZXQobmV0cykpCiAKLSAgICB3aGlsZSBpIDwgbGVuKGlwcyk6Ci0gICAgICAgIChmaXJzdCwgbGFzdCkgPSBfZmluZF9hZGRyZXNzX3JhbmdlKGlwc1tpOl0pCi0gICAgICAgIGkgPSBpcHMuaW5kZXgobGFzdCkgKyAxCi0gICAgICAgIGFkZHJzLmV4dGVuZChzdW1tYXJpemVfYWRkcmVzc19yYW5nZShmaXJzdCwgbGFzdCkpCisgICAgIyBmaW5kIGNvbnNlY3V0aXZlIGFkZHJlc3MgcmFuZ2VzIGluIHRoZSBzb3J0ZWQgc2VxdWVuY2UgYW5kIHN1bW1hcml6ZSB0aGVtCisgICAgaWYgaXBzOgorICAgICAgICBmb3IgZmlyc3QsIGxhc3QgaW4gX2ZpbmRfYWRkcmVzc19yYW5nZShpcHMpOgorICAgICAgICAgICAgYWRkcnMuZXh0ZW5kKHN1bW1hcml6ZV9hZGRyZXNzX3JhbmdlKGZpcnN0LCBsYXN0KSkKIAotICAgIHJldHVybiBpdGVyKF9jb2xsYXBzZV9hZGRyZXNzZXNfcmVjdXJzaXZlKHNvcnRlZCgKLSAgICAgICAgYWRkcnMgKyBuZXRzLCBrZXk9X0Jhc2VOZXR3b3JrLl9nZXRfbmV0d29ya3Nfa2V5KSkpCisgICAgcmV0dXJuIF9jb2xsYXBzZV9hZGRyZXNzZXNfaW50ZXJuYWwoYWRkcnMgKyBuZXRzKQogCiAKIGRlZiBnZXRfbWl4ZWRfdHlwZV9rZXkob2JqKToKQEAgLTQwMyw2ICszOTcsMTcgQEAKICAgICAgICAgcmV0dXJuIHN0cihzZWxmKQogCiAgICAgQHByb3BlcnR5CisgICAgZGVmIHJldmVyc2VfcG9pbnRlcihzZWxmKToKKyAgICAgICAgIiIiVGhlIG5hbWUgb2YgdGhlIHJldmVyc2UgRE5TIHBvaW50ZXIgZm9yIHRoZSBJUCBhZGRyZXNzLCBlLmcuOgorICAgICAgICAgICAgPj4+IGlwYWRkcmVzcy5pcF9hZGRyZXNzKCIxMjcuMC4wLjEiKS5yZXZlcnNlX3BvaW50ZXIKKyAgICAgICAgICAgICcxLjAuMC4xMjcuaW4tYWRkci5hcnBhJworICAgICAgICAgICAgPj4+IGlwYWRkcmVzcy5pcF9hZGRyZXNzKCIyMDAxOmRiODo6MSIpLnJldmVyc2VfcG9pbnRlcgorICAgICAgICAgICAgJzEuMC4wLjAuMC4wLjAuMC4wLjAuMC4wLjAuMC4wLjAuMC4wLjAuMC4wLjAuMC4wLjguYi5kLjAuMS4wLjAuMi5pcDYuYXJwYScKKworICAgICAgICAiIiIKKyAgICAgICAgcmV0dXJuIHNlbGYuX3JldmVyc2VfcG9pbnRlcigpCisKKyAgICBAcHJvcGVydHkKICAgICBkZWYgdmVyc2lvbihzZWxmKToKICAgICAgICAgbXNnID0gJyUyMDBzIGhhcyBubyB2ZXJzaW9uIHNwZWNpZmllZCcgJSAodHlwZShzZWxmKSwpCiAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IobXNnKQpAQCAtNDIzLDcgKzQyOCw4IEBACiAgICAgICAgICAgICByYWlzZSBBZGRyZXNzVmFsdWVFcnJvcihtc2cgJSAoYWRkcmVzcywgYWRkcmVzc19sZW4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWRfbGVuLCBzZWxmLl92ZXJzaW9uKSkKIAotICAgIGRlZiBfaXBfaW50X2Zyb21fcHJlZml4KHNlbGYsIHByZWZpeGxlbik6CisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIF9pcF9pbnRfZnJvbV9wcmVmaXgoY2xzLCBwcmVmaXhsZW4pOgogICAgICAgICAiIiJUdXJuIHRoZSBwcmVmaXggbGVuZ3RoIGludG8gYSBiaXR3aXNlIG5ldG1hc2sKIAogICAgICAgICBBcmdzOgpAQCAtNDMzLDkgKzQzOSwxMCBAQAogICAgICAgICAgICAgQW4gaW50ZWdlci4KIAogICAgICAgICAiIiIKLSAgICAgICAgcmV0dXJuIHNlbGYuX0FMTF9PTkVTIF4gKHNlbGYuX0FMTF9PTkVTID4+IHByZWZpeGxlbikKKyAgICAgICAgcmV0dXJuIGNscy5fQUxMX09ORVMgXiAoY2xzLl9BTExfT05FUyA+PiBwcmVmaXhsZW4pCiAKLSAgICBkZWYgX3ByZWZpeF9mcm9tX2lwX2ludChzZWxmLCBpcF9pbnQpOgorICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBfcHJlZml4X2Zyb21faXBfaW50KGNscywgaXBfaW50KToKICAgICAgICAgIiIiUmV0dXJuIHByZWZpeCBsZW5ndGggZnJvbSB0aGUgYml0d2lzZSBuZXRtYXNrLgogCiAgICAgICAgIEFyZ3M6CkBAIC00NDgsMjIgKzQ1NSwyNCBAQAogICAgICAgICAgICAgVmFsdWVFcnJvcjogSWYgdGhlIGlucHV0IGludGVybWluZ2xlcyB6ZXJvZXMgJiBvbmVzCiAgICAgICAgICIiIgogICAgICAgICB0cmFpbGluZ196ZXJvZXMgPSBfY291bnRfcmlnaHRoYW5kX3plcm9fYml0cyhpcF9pbnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX21heF9wcmVmaXhsZW4pCi0gICAgICAgIHByZWZpeGxlbiA9IHNlbGYuX21heF9wcmVmaXhsZW4gLSB0cmFpbGluZ196ZXJvZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xzLl9tYXhfcHJlZml4bGVuKQorICAgICAgICBwcmVmaXhsZW4gPSBjbHMuX21heF9wcmVmaXhsZW4gLSB0cmFpbGluZ196ZXJvZXMKICAgICAgICAgbGVhZGluZ19vbmVzID0gaXBfaW50ID4+IHRyYWlsaW5nX3plcm9lcwogICAgICAgICBhbGxfb25lcyA9ICgxIDw8IHByZWZpeGxlbikgLSAxCiAgICAgICAgIGlmIGxlYWRpbmdfb25lcyAhPSBhbGxfb25lczoKLSAgICAgICAgICAgIGJ5dGVzbGVuID0gc2VsZi5fbWF4X3ByZWZpeGxlbiAvLyA4CisgICAgICAgICAgICBieXRlc2xlbiA9IGNscy5fbWF4X3ByZWZpeGxlbiAvLyA4CiAgICAgICAgICAgICBkZXRhaWxzID0gaXBfaW50LnRvX2J5dGVzKGJ5dGVzbGVuLCAnYmlnJykKICAgICAgICAgICAgIG1zZyA9ICdOZXRtYXNrIHBhdHRlcm4gJXIgbWl4ZXMgemVyb2VzICYgb25lcycKICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IobXNnICUgZGV0YWlscykKICAgICAgICAgcmV0dXJuIHByZWZpeGxlbgogCi0gICAgZGVmIF9yZXBvcnRfaW52YWxpZF9uZXRtYXNrKHNlbGYsIG5ldG1hc2tfc3RyKToKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgX3JlcG9ydF9pbnZhbGlkX25ldG1hc2soY2xzLCBuZXRtYXNrX3N0cik6CiAgICAgICAgIG1zZyA9ICclciBpcyBub3QgYSB2YWxpZCBuZXRtYXNrJyAlIG5ldG1hc2tfc3RyCiAgICAgICAgIHJhaXNlIE5ldG1hc2tWYWx1ZUVycm9yKG1zZykgZnJvbSBOb25lCiAKLSAgICBkZWYgX3ByZWZpeF9mcm9tX3ByZWZpeF9zdHJpbmcoc2VsZiwgcHJlZml4bGVuX3N0cik6CisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIF9wcmVmaXhfZnJvbV9wcmVmaXhfc3RyaW5nKGNscywgcHJlZml4bGVuX3N0cik6CiAgICAgICAgICIiIlJldHVybiBwcmVmaXggbGVuZ3RoIGZyb20gYSBudW1lcmljIHN0cmluZwogCiAgICAgICAgIEFyZ3M6CkBAIC00NzgsMTYgKzQ4NywxNyBAQAogICAgICAgICAjIGludCBhbGxvd3MgYSBsZWFkaW5nICsvLSBhcyB3ZWxsIGFzIHN1cnJvdW5kaW5nIHdoaXRlc3BhY2UsCiAgICAgICAgICMgc28gd2UgZW5zdXJlIHRoYXQgaXNuJ3QgdGhlIGNhc2UKICAgICAgICAgaWYgbm90IF9CYXNlVjQuX0RFQ0lNQUxfRElHSVRTLmlzc3VwZXJzZXQocHJlZml4bGVuX3N0cik6Ci0gICAgICAgICAgICBzZWxmLl9yZXBvcnRfaW52YWxpZF9uZXRtYXNrKHByZWZpeGxlbl9zdHIpCisgICAgICAgICAgICBjbHMuX3JlcG9ydF9pbnZhbGlkX25ldG1hc2socHJlZml4bGVuX3N0cikKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgcHJlZml4bGVuID0gaW50KHByZWZpeGxlbl9zdHIpCiAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgotICAgICAgICAgICAgc2VsZi5fcmVwb3J0X2ludmFsaWRfbmV0bWFzayhwcmVmaXhsZW5fc3RyKQotICAgICAgICBpZiBub3QgKDAgPD0gcHJlZml4bGVuIDw9IHNlbGYuX21heF9wcmVmaXhsZW4pOgotICAgICAgICAgICAgc2VsZi5fcmVwb3J0X2ludmFsaWRfbmV0bWFzayhwcmVmaXhsZW5fc3RyKQorICAgICAgICAgICAgY2xzLl9yZXBvcnRfaW52YWxpZF9uZXRtYXNrKHByZWZpeGxlbl9zdHIpCisgICAgICAgIGlmIG5vdCAoMCA8PSBwcmVmaXhsZW4gPD0gY2xzLl9tYXhfcHJlZml4bGVuKToKKyAgICAgICAgICAgIGNscy5fcmVwb3J0X2ludmFsaWRfbmV0bWFzayhwcmVmaXhsZW5fc3RyKQogICAgICAgICByZXR1cm4gcHJlZml4bGVuCiAKLSAgICBkZWYgX3ByZWZpeF9mcm9tX2lwX3N0cmluZyhzZWxmLCBpcF9zdHIpOgorICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBfcHJlZml4X2Zyb21faXBfc3RyaW5nKGNscywgaXBfc3RyKToKICAgICAgICAgIiIiVHVybiBhIG5ldG1hc2svaG9zdG1hc2sgc3RyaW5nIGludG8gYSBwcmVmaXggbGVuZ3RoCiAKICAgICAgICAgQXJnczoKQEAgLTUwMSwyNCArNTExLDI3IEBACiAgICAgICAgICIiIgogICAgICAgICAjIFBhcnNlIHRoZSBuZXRtYXNrL2hvc3RtYXNrIGxpa2UgYW4gSVAgYWRkcmVzcy4KICAgICAgICAgdHJ5OgotICAgICAgICAgICAgaXBfaW50ID0gc2VsZi5faXBfaW50X2Zyb21fc3RyaW5nKGlwX3N0cikKKyAgICAgICAgICAgIGlwX2ludCA9IGNscy5faXBfaW50X2Zyb21fc3RyaW5nKGlwX3N0cikKICAgICAgICAgZXhjZXB0IEFkZHJlc3NWYWx1ZUVycm9yOgotICAgICAgICAgICAgc2VsZi5fcmVwb3J0X2ludmFsaWRfbmV0bWFzayhpcF9zdHIpCisgICAgICAgICAgICBjbHMuX3JlcG9ydF9pbnZhbGlkX25ldG1hc2soaXBfc3RyKQogCiAgICAgICAgICMgVHJ5IG1hdGNoaW5nIGEgbmV0bWFzayAodGhpcyB3b3VsZCBiZSAvMSowKi8gYXMgYSBiaXR3aXNlIHJlZ2V4cCkuCiAgICAgICAgICMgTm90ZSB0aGF0IHRoZSB0d28gYW1iaWd1b3VzIGNhc2VzIChhbGwtb25lcyBhbmQgYWxsLXplcm9lcykgYXJlCiAgICAgICAgICMgdHJlYXRlZCBhcyBuZXRtYXNrcy4KICAgICAgICAgdHJ5OgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3ByZWZpeF9mcm9tX2lwX2ludChpcF9pbnQpCisgICAgICAgICAgICByZXR1cm4gY2xzLl9wcmVmaXhfZnJvbV9pcF9pbnQoaXBfaW50KQogICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKICAgICAgICAgICAgIHBhc3MKIAogICAgICAgICAjIEludmVydCB0aGUgYml0cywgYW5kIHRyeSBtYXRjaGluZyBhIC8wKzErLyBob3N0bWFzayBpbnN0ZWFkLgotICAgICAgICBpcF9pbnQgXj0gc2VsZi5fQUxMX09ORVMKKyAgICAgICAgaXBfaW50IF49IGNscy5fQUxMX09ORVMKICAgICAgICAgdHJ5OgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3ByZWZpeF9mcm9tX2lwX2ludChpcF9pbnQpCisgICAgICAgICAgICByZXR1cm4gY2xzLl9wcmVmaXhfZnJvbV9pcF9pbnQoaXBfaW50KQogICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKLSAgICAgICAgICAgIHNlbGYuX3JlcG9ydF9pbnZhbGlkX25ldG1hc2soaXBfc3RyKQorICAgICAgICAgICAgY2xzLl9yZXBvcnRfaW52YWxpZF9uZXRtYXNrKGlwX3N0cikKKworICAgIGRlZiBfX3JlZHVjZV9fKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5fX2NsYXNzX18sIChzdHIoc2VsZiksKQogCiAKIEBmdW5jdG9vbHMudG90YWxfb3JkZXJpbmcKQEAgLTUzMCwxMSArNTQzLDYgQEAKICAgICB1c2VkIGJ5IHNpbmdsZSBJUCBhZGRyZXNzZXMuCiAgICAgIiIiCiAKLSAgICBkZWYgX19pbml0X18oc2VsZiwgYWRkcmVzcyk6Ci0gICAgICAgIGlmIChub3QgaXNpbnN0YW5jZShhZGRyZXNzLCBieXRlcykKLSAgICAgICAgICAgIGFuZCAnLycgaW4gc3RyKGFkZHJlc3MpKToKLSAgICAgICAgICAgIHJhaXNlIEFkZHJlc3NWYWx1ZUVycm9yKCJVbmV4cGVjdGVkICcvJyBpbiAlciIgJSBhZGRyZXNzKQotCiAgICAgZGVmIF9faW50X18oc2VsZik6CiAgICAgICAgIHJldHVybiBzZWxmLl9pcAogCkBAIC01NzksNiArNTg3LDkgQEAKICAgICBkZWYgX2dldF9hZGRyZXNzX2tleShzZWxmKToKICAgICAgICAgcmV0dXJuIChzZWxmLl92ZXJzaW9uLCBzZWxmKQogCisgICAgZGVmIF9fcmVkdWNlX18oc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLl9fY2xhc3NfXywgKHNlbGYuX2lwLCkKKwogCiBAZnVuY3Rvb2xzLnRvdGFsX29yZGVyaW5nCiBjbGFzcyBfQmFzZU5ldHdvcmsoX0lQQWRkcmVzc0Jhc2UpOgpAQCAtNzY1LDcgKzc3Niw3IEBACiAgICAgICAgICAgICAgICAgb3RoZXIuYnJvYWRjYXN0X2FkZHJlc3MgPD0gc2VsZi5icm9hZGNhc3RfYWRkcmVzcyk6CiAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCclcyBub3QgY29udGFpbmVkIGluICVzJyAlIChvdGhlciwgc2VsZikpCiAgICAgICAgIGlmIG90aGVyID09IHNlbGY6Ci0gICAgICAgICAgICByYWlzZSBTdG9wSXRlcmF0aW9uCisgICAgICAgICAgICByZXR1cm4KIAogICAgICAgICAjIE1ha2Ugc3VyZSB3ZSdyZSBjb21wYXJpbmcgdGhlIG5ldHdvcmsgb2Ygb3RoZXIuCiAgICAgICAgIG90aGVyID0gb3RoZXIuX19jbGFzc19fKCclcy8lcycgJSAob3RoZXIubmV0d29ya19hZGRyZXNzLApAQCAtOTAwLDIwICs5MTEsMTEgQEAKICAgICAgICAgICAgICAgICAncHJlZml4IGxlbmd0aCBkaWZmICVkIGlzIGludmFsaWQgZm9yIG5ldGJsb2NrICVzJyAlICgKICAgICAgICAgICAgICAgICAgICAgbmV3X3ByZWZpeGxlbiwgc2VsZikpCiAKLSAgICAgICAgZmlyc3QgPSBzZWxmLl9fY2xhc3NfXygnJXMvJXMnICUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZWxmLm5ldHdvcmtfYWRkcmVzcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9wcmVmaXhsZW4gKyBwcmVmaXhsZW5fZGlmZikpCi0KLSAgICAgICAgeWllbGQgZmlyc3QKLSAgICAgICAgY3VycmVudCA9IGZpcnN0Ci0gICAgICAgIHdoaWxlIFRydWU6Ci0gICAgICAgICAgICBicm9hZGNhc3QgPSBjdXJyZW50LmJyb2FkY2FzdF9hZGRyZXNzCi0gICAgICAgICAgICBpZiBicm9hZGNhc3QgPT0gc2VsZi5icm9hZGNhc3RfYWRkcmVzczoKLSAgICAgICAgICAgICAgICByZXR1cm4KLSAgICAgICAgICAgIG5ld19hZGRyID0gc2VsZi5fYWRkcmVzc19jbGFzcyhpbnQoYnJvYWRjYXN0KSArIDEpCi0gICAgICAgICAgICBjdXJyZW50ID0gc2VsZi5fX2NsYXNzX18oJyVzLyVzJyAlIChuZXdfYWRkciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19wcmVmaXhsZW4pKQotCisgICAgICAgIHN0YXJ0ID0gaW50KHNlbGYubmV0d29ya19hZGRyZXNzKQorICAgICAgICBlbmQgPSBpbnQoc2VsZi5icm9hZGNhc3RfYWRkcmVzcykKKyAgICAgICAgc3RlcCA9IChpbnQoc2VsZi5ob3N0bWFzaykgKyAxKSA+PiBwcmVmaXhsZW5fZGlmZgorICAgICAgICBmb3IgbmV3X2FkZHIgaW4gcmFuZ2Uoc3RhcnQsIGVuZCwgc3RlcCk6CisgICAgICAgICAgICBjdXJyZW50ID0gc2VsZi5fX2NsYXNzX18oKG5ld19hZGRyLCBuZXdfcHJlZml4bGVuKSkKICAgICAgICAgICAgIHlpZWxkIGN1cnJlbnQKIAogICAgIGRlZiBzdXBlcm5ldChzZWxmLCBwcmVmaXhsZW5fZGlmZj0xLCBuZXdfcHJlZml4PU5vbmUpOgpAQCAtOTQ3LDE1ICs5NDksMTUgQEAKICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCdjYW5ub3Qgc2V0IHByZWZpeGxlbl9kaWZmIGFuZCBuZXdfcHJlZml4JykKICAgICAgICAgICAgIHByZWZpeGxlbl9kaWZmID0gc2VsZi5fcHJlZml4bGVuIC0gbmV3X3ByZWZpeAogCi0gICAgICAgIGlmIHNlbGYucHJlZml4bGVuIC0gcHJlZml4bGVuX2RpZmYgPCAwOgorICAgICAgICBuZXdfcHJlZml4bGVuID0gc2VsZi5wcmVmaXhsZW4gLSBwcmVmaXhsZW5fZGlmZgorICAgICAgICBpZiBuZXdfcHJlZml4bGVuIDwgMDoKICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoCiAgICAgICAgICAgICAgICAgJ2N1cnJlbnQgcHJlZml4bGVuIGlzICVkLCBjYW5ub3QgaGF2ZSBhIHByZWZpeGxlbl9kaWZmIG9mICVkJyAlCiAgICAgICAgICAgICAgICAgKHNlbGYucHJlZml4bGVuLCBwcmVmaXhsZW5fZGlmZikpCi0gICAgICAgICMgVE9ETyAocG1vb2R5KTogb3B0aW1pemUgdGhpcy4KLSAgICAgICAgdCA9IHNlbGYuX19jbGFzc19fKCclcy8lZCcgJSAoc2VsZi5uZXR3b3JrX2FkZHJlc3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYucHJlZml4bGVuIC0gcHJlZml4bGVuX2RpZmYpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmljdD1GYWxzZSkKLSAgICAgICAgcmV0dXJuIHQuX19jbGFzc19fKCclcy8lZCcgJSAodC5uZXR3b3JrX2FkZHJlc3MsIHQucHJlZml4bGVuKSkKKyAgICAgICAgcmV0dXJuIHNlbGYuX19jbGFzc19fKCgKKyAgICAgICAgICAgIGludChzZWxmLm5ldHdvcmtfYWRkcmVzcykgJiAoaW50KHNlbGYubmV0bWFzaykgPDwgcHJlZml4bGVuX2RpZmYpLAorICAgICAgICAgICAgbmV3X3ByZWZpeGxlbgorICAgICAgICAgICAgKSkKIAogICAgIEBwcm9wZXJ0eQogICAgIGRlZiBpc19tdWx0aWNhc3Qoc2VsZik6CkBAIC0xMDU0LDE2ICsxMDU2LDQ1IEBACiAgICAgX0RFQ0lNQUxfRElHSVRTID0gZnJvemVuc2V0KCcwMTIzNDU2Nzg5JykKIAogICAgICMgdGhlIHZhbGlkIG9jdGV0cyBmb3IgaG9zdCBhbmQgbmV0bWFza3MuIG9ubHkgdXNlZnVsIGZvciBJUHY0LgotICAgIF92YWxpZF9tYXNrX29jdGV0cyA9IGZyb3plbnNldCgoMjU1LCAyNTQsIDI1MiwgMjQ4LCAyNDAsIDIyNCwgMTkyLCAxMjgsIDApKQorICAgIF92YWxpZF9tYXNrX29jdGV0cyA9IGZyb3plbnNldCh7MjU1LCAyNTQsIDI1MiwgMjQ4LCAyNDAsIDIyNCwgMTkyLCAxMjgsIDB9KQorCisgICAgX21heF9wcmVmaXhsZW4gPSBJUFY0TEVOR1RICisgICAgIyBUaGVyZSBhcmUgb25seSBhIGhhbmRmdWwgb2YgdmFsaWQgdjQgbmV0bWFza3MsIHNvIHdlIGNhY2hlIHRoZW0gYWxsCisgICAgIyB3aGVuIGNvbnN0cnVjdGVkIChzZWUgX21ha2VfbmV0bWFzaygpKS4KKyAgICBfbmV0bWFza19jYWNoZSA9IHt9CiAKICAgICBkZWYgX19pbml0X18oc2VsZiwgYWRkcmVzcyk6CiAgICAgICAgIHNlbGYuX3ZlcnNpb24gPSA0Ci0gICAgICAgIHNlbGYuX21heF9wcmVmaXhsZW4gPSBJUFY0TEVOR1RICiAKICAgICBkZWYgX2V4cGxvZGVfc2hvcnRoYW5kX2lwX3N0cmluZyhzZWxmKToKICAgICAgICAgcmV0dXJuIHN0cihzZWxmKQogCi0gICAgZGVmIF9pcF9pbnRfZnJvbV9zdHJpbmcoc2VsZiwgaXBfc3RyKToKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgX21ha2VfbmV0bWFzayhjbHMsIGFyZyk6CisgICAgICAgICIiIk1ha2UgYSAobmV0bWFzaywgcHJlZml4X2xlbikgdHVwbGUgZnJvbSB0aGUgZ2l2ZW4gYXJndW1lbnQuCisKKyAgICAgICAgQXJndW1lbnQgY2FuIGJlOgorICAgICAgICAtIGFuIGludGVnZXIgKHRoZSBwcmVmaXggbGVuZ3RoKQorICAgICAgICAtIGEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgcHJlZml4IGxlbmd0aCAoZS5nLiAiMjQiKQorICAgICAgICAtIGEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgcHJlZml4IG5ldG1hc2sgKGUuZy4gIjI1NS4yNTUuMjU1LjAiKQorICAgICAgICAiIiIKKyAgICAgICAgaWYgYXJnIG5vdCBpbiBjbHMuX25ldG1hc2tfY2FjaGU6CisgICAgICAgICAgICBpZiBpc2luc3RhbmNlKGFyZywgaW50KToKKyAgICAgICAgICAgICAgICBwcmVmaXhsZW4gPSBhcmcKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICAjIENoZWNrIGZvciBhIG5ldG1hc2sgaW4gcHJlZml4IGxlbmd0aCBmb3JtCisgICAgICAgICAgICAgICAgICAgIHByZWZpeGxlbiA9IGNscy5fcHJlZml4X2Zyb21fcHJlZml4X3N0cmluZyhhcmcpCisgICAgICAgICAgICAgICAgZXhjZXB0IE5ldG1hc2tWYWx1ZUVycm9yOgorICAgICAgICAgICAgICAgICAgICAjIENoZWNrIGZvciBhIG5ldG1hc2sgb3IgaG9zdG1hc2sgaW4gZG90dGVkLXF1YWQgZm9ybS4KKyAgICAgICAgICAgICAgICAgICAgIyBUaGlzIG1heSByYWlzZSBOZXRtYXNrVmFsdWVFcnJvci4KKyAgICAgICAgICAgICAgICAgICAgcHJlZml4bGVuID0gY2xzLl9wcmVmaXhfZnJvbV9pcF9zdHJpbmcoYXJnKQorICAgICAgICAgICAgbmV0bWFzayA9IElQdjRBZGRyZXNzKGNscy5faXBfaW50X2Zyb21fcHJlZml4KHByZWZpeGxlbikpCisgICAgICAgICAgICBjbHMuX25ldG1hc2tfY2FjaGVbYXJnXSA9IG5ldG1hc2ssIHByZWZpeGxlbgorICAgICAgICByZXR1cm4gY2xzLl9uZXRtYXNrX2NhY2hlW2FyZ10KKworICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBfaXBfaW50X2Zyb21fc3RyaW5nKGNscywgaXBfc3RyKToKICAgICAgICAgIiIiVHVybiB0aGUgZ2l2ZW4gSVAgc3RyaW5nIGludG8gYW4gaW50ZWdlciBmb3IgY29tcGFyaXNvbi4KIAogICAgICAgICBBcmdzOgpAQCAtMTA4NCwxMSArMTExNSwxMiBAQAogICAgICAgICAgICAgcmFpc2UgQWRkcmVzc1ZhbHVlRXJyb3IoIkV4cGVjdGVkIDQgb2N0ZXRzIGluICVyIiAlIGlwX3N0cikKIAogICAgICAgICB0cnk6Ci0gICAgICAgICAgICByZXR1cm4gaW50LmZyb21fYnl0ZXMobWFwKHNlbGYuX3BhcnNlX29jdGV0LCBvY3RldHMpLCAnYmlnJykKKyAgICAgICAgICAgIHJldHVybiBpbnQuZnJvbV9ieXRlcyhtYXAoY2xzLl9wYXJzZV9vY3RldCwgb2N0ZXRzKSwgJ2JpZycpCiAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yIGFzIGV4YzoKICAgICAgICAgICAgIHJhaXNlIEFkZHJlc3NWYWx1ZUVycm9yKCIlcyBpbiAlciIgJSAoZXhjLCBpcF9zdHIpKSBmcm9tIE5vbmUKIAotICAgIGRlZiBfcGFyc2Vfb2N0ZXQoc2VsZiwgb2N0ZXRfc3RyKToKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgX3BhcnNlX29jdGV0KGNscywgb2N0ZXRfc3RyKToKICAgICAgICAgIiIiQ29udmVydCBhIGRlY2ltYWwgb2N0ZXQgaW50byBhbiBpbnRlZ2VyLgogCiAgICAgICAgIEFyZ3M6CkBAIC0xMTA0LDcgKzExMzYsNyBAQAogICAgICAgICBpZiBub3Qgb2N0ZXRfc3RyOgogICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiRW1wdHkgb2N0ZXQgbm90IHBlcm1pdHRlZCIpCiAgICAgICAgICMgV2hpdGVsaXN0IHRoZSBjaGFyYWN0ZXJzLCBzaW5jZSBpbnQoKSBhbGxvd3MgYSBsb3Qgb2YgYml6YXJyZSBzdHVmZi4KLSAgICAgICAgaWYgbm90IHNlbGYuX0RFQ0lNQUxfRElHSVRTLmlzc3VwZXJzZXQob2N0ZXRfc3RyKToKKyAgICAgICAgaWYgbm90IGNscy5fREVDSU1BTF9ESUdJVFMuaXNzdXBlcnNldChvY3RldF9zdHIpOgogICAgICAgICAgICAgbXNnID0gIk9ubHkgZGVjaW1hbCBkaWdpdHMgcGVybWl0dGVkIGluICVyIgogICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcihtc2cgJSBvY3RldF9zdHIpCiAgICAgICAgICMgV2UgZG8gdGhlIGxlbmd0aCBjaGVjayBzZWNvbmQsIHNpbmNlIHRoZSBpbnZhbGlkIGNoYXJhY3RlciBlcnJvcgpAQCAtMTEyNCw3ICsxMTU2LDggQEAKICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIk9jdGV0ICVkICg+IDI1NSkgbm90IHBlcm1pdHRlZCIgJSBvY3RldF9pbnQpCiAgICAgICAgIHJldHVybiBvY3RldF9pbnQKIAotICAgIGRlZiBfc3RyaW5nX2Zyb21faXBfaW50KHNlbGYsIGlwX2ludCk6CisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIF9zdHJpbmdfZnJvbV9pcF9pbnQoY2xzLCBpcF9pbnQpOgogICAgICAgICAiIiJUdXJucyBhIDMyLWJpdCBpbnRlZ2VyIGludG8gZG90dGVkIGRlY2ltYWwgbm90YXRpb24uCiAKICAgICAgICAgQXJnczoKQEAgLTExODgsNiArMTIyMSwxNSBAQAogICAgICAgICAgICAgcmV0dXJuIFRydWUKICAgICAgICAgcmV0dXJuIEZhbHNlCiAKKyAgICBkZWYgX3JldmVyc2VfcG9pbnRlcihzZWxmKToKKyAgICAgICAgIiIiUmV0dXJuIHRoZSByZXZlcnNlIEROUyBwb2ludGVyIG5hbWUgZm9yIHRoZSBJUHY0IGFkZHJlc3MuCisKKyAgICAgICAgVGhpcyBpbXBsZW1lbnRzIHRoZSBtZXRob2QgZGVzY3JpYmVkIGluIFJGQzEwMzUgMy41LgorCisgICAgICAgICIiIgorICAgICAgICByZXZlcnNlX29jdGV0cyA9IHN0cihzZWxmKS5zcGxpdCgnLicpWzo6LTFdCisgICAgICAgIHJldHVybiAnLicuam9pbihyZXZlcnNlX29jdGV0cykgKyAnLmluLWFkZHIuYXJwYScKKwogICAgIEBwcm9wZXJ0eQogICAgIGRlZiBtYXhfcHJlZml4bGVuKHNlbGYpOgogICAgICAgICByZXR1cm4gc2VsZi5fbWF4X3ByZWZpeGxlbgpAQCAtMTIxNyw3ICsxMjU5LDYgQEAKICAgICAgICAgICAgIEFkZHJlc3NWYWx1ZUVycm9yOiBJZiBpcGFkZHJlc3MgaXNuJ3QgYSB2YWxpZCBJUHY0IGFkZHJlc3MuCiAKICAgICAgICAgIiIiCi0gICAgICAgIF9CYXNlQWRkcmVzcy5fX2luaXRfXyhzZWxmLCBhZGRyZXNzKQogICAgICAgICBfQmFzZVY0Ll9faW5pdF9fKHNlbGYsIGFkZHJlc3MpCiAKICAgICAgICAgIyBFZmZpY2llbnQgY29uc3RydWN0b3IgZnJvbSBpbnRlZ2VyLgpAQCAtMTIzNSw2ICsxMjc2LDggQEAKICAgICAgICAgIyBBc3N1bWUgaW5wdXQgYXJndW1lbnQgdG8gYmUgc3RyaW5nIG9yIGFueSBvYmplY3QgcmVwcmVzZW50YXRpb24KICAgICAgICAgIyB3aGljaCBjb252ZXJ0cyBpbnRvIGEgZm9ybWF0dGVkIElQIHN0cmluZy4KICAgICAgICAgYWRkcl9zdHIgPSBzdHIoYWRkcmVzcykKKyAgICAgICAgaWYgJy8nIGluIGFkZHJfc3RyOgorICAgICAgICAgICAgcmFpc2UgQWRkcmVzc1ZhbHVlRXJyb3IoIlVuZXhwZWN0ZWQgJy8nIGluICVyIiAlIGFkZHJlc3MpCiAgICAgICAgIHNlbGYuX2lwID0gc2VsZi5faXBfaW50X2Zyb21fc3RyaW5nKGFkZHJfc3RyKQogCiAgICAgQHByb3BlcnR5CkBAIC0xMjUxLDggKzEyOTQsNyBAQAogICAgICAgICAgICAgIHJlc2VydmVkIElQdjQgTmV0d29yayByYW5nZS4KIAogICAgICAgICAiIiIKLSAgICAgICAgcmVzZXJ2ZWRfbmV0d29yayA9IElQdjROZXR3b3JrKCcyNDAuMC4wLjAvNCcpCi0gICAgICAgIHJldHVybiBzZWxmIGluIHJlc2VydmVkX25ldHdvcmsKKyAgICAgICAgcmV0dXJuIHNlbGYgaW4gc2VsZi5fY29uc3RhbnRzLl9yZXNlcnZlZF9uZXR3b3JrCiAKICAgICBAcHJvcGVydHkKICAgICBAZnVuY3Rvb2xzLmxydV9jYWNoZSgpCkBAIC0xMjY0LDIxICsxMzA2LDcgQEAKICAgICAgICAgICAgIGlhbmEtaXB2NC1zcGVjaWFsLXJlZ2lzdHJ5LgogCiAgICAgICAgICIiIgotICAgICAgICByZXR1cm4gKHNlbGYgaW4gSVB2NE5ldHdvcmsoJzAuMC4wLjAvOCcpIG9yCi0gICAgICAgICAgICAgICAgc2VsZiBpbiBJUHY0TmV0d29yaygnMTAuMC4wLjAvOCcpIG9yCi0gICAgICAgICAgICAgICAgc2VsZiBpbiBJUHY0TmV0d29yaygnMTI3LjAuMC4wLzgnKSBvcgotICAgICAgICAgICAgICAgIHNlbGYgaW4gSVB2NE5ldHdvcmsoJzE2OS4yNTQuMC4wLzE2Jykgb3IKLSAgICAgICAgICAgICAgICBzZWxmIGluIElQdjROZXR3b3JrKCcxNzIuMTYuMC4wLzEyJykgb3IKLSAgICAgICAgICAgICAgICBzZWxmIGluIElQdjROZXR3b3JrKCcxOTIuMC4wLjAvMjknKSBvcgotICAgICAgICAgICAgICAgIHNlbGYgaW4gSVB2NE5ldHdvcmsoJzE5Mi4wLjAuMTcwLzMxJykgb3IKLSAgICAgICAgICAgICAgICBzZWxmIGluIElQdjROZXR3b3JrKCcxOTIuMC4yLjAvMjQnKSBvcgotICAgICAgICAgICAgICAgIHNlbGYgaW4gSVB2NE5ldHdvcmsoJzE5Mi4xNjguMC4wLzE2Jykgb3IKLSAgICAgICAgICAgICAgICBzZWxmIGluIElQdjROZXR3b3JrKCcxOTguMTguMC4wLzE1Jykgb3IKLSAgICAgICAgICAgICAgICBzZWxmIGluIElQdjROZXR3b3JrKCcxOTguNTEuMTAwLjAvMjQnKSBvcgotICAgICAgICAgICAgICAgIHNlbGYgaW4gSVB2NE5ldHdvcmsoJzIwMy4wLjExMy4wLzI0Jykgb3IKLSAgICAgICAgICAgICAgICBzZWxmIGluIElQdjROZXR3b3JrKCcyNDAuMC4wLjAvNCcpIG9yCi0gICAgICAgICAgICAgICAgc2VsZiBpbiBJUHY0TmV0d29yaygnMjU1LjI1NS4yNTUuMjU1LzMyJykpCi0KKyAgICAgICAgcmV0dXJuIGFueShzZWxmIGluIG5ldCBmb3IgbmV0IGluIHNlbGYuX2NvbnN0YW50cy5fcHJpdmF0ZV9uZXR3b3JrcykKIAogICAgIEBwcm9wZXJ0eQogICAgIGRlZiBpc19tdWx0aWNhc3Qoc2VsZik6CkBAIC0xMjg5LDggKzEzMTcsNyBAQAogICAgICAgICAgICAgU2VlIFJGQyAzMTcxIGZvciBkZXRhaWxzLgogCiAgICAgICAgICIiIgotICAgICAgICBtdWx0aWNhc3RfbmV0d29yayA9IElQdjROZXR3b3JrKCcyMjQuMC4wLjAvNCcpCi0gICAgICAgIHJldHVybiBzZWxmIGluIG11bHRpY2FzdF9uZXR3b3JrCisgICAgICAgIHJldHVybiBzZWxmIGluIHNlbGYuX2NvbnN0YW50cy5fbXVsdGljYXN0X25ldHdvcmsKIAogICAgIEBwcm9wZXJ0eQogICAgIGRlZiBpc191bnNwZWNpZmllZChzZWxmKToKQEAgLTEzMDEsOCArMTMyOCw3IEBACiAgICAgICAgICAgICBSRkMgNTczNSAzLgogCiAgICAgICAgICIiIgotICAgICAgICB1bnNwZWNpZmllZF9hZGRyZXNzID0gSVB2NEFkZHJlc3MoJzAuMC4wLjAnKQotICAgICAgICByZXR1cm4gc2VsZiA9PSB1bnNwZWNpZmllZF9hZGRyZXNzCisgICAgICAgIHJldHVybiBzZWxmID09IHNlbGYuX2NvbnN0YW50cy5fdW5zcGVjaWZpZWRfYWRkcmVzcwogCiAgICAgQHByb3BlcnR5CiAgICAgZGVmIGlzX2xvb3BiYWNrKHNlbGYpOgpAQCAtMTMxMiw4ICsxMzM4LDcgQEAKICAgICAgICAgICAgIEEgYm9vbGVhbiwgVHJ1ZSBpZiB0aGUgYWRkcmVzcyBpcyBhIGxvb3BiYWNrIHBlciBSRkMgMzMzMC4KIAogICAgICAgICAiIiIKLSAgICAgICAgbG9vcGJhY2tfbmV0d29yayA9IElQdjROZXR3b3JrKCcxMjcuMC4wLjAvOCcpCi0gICAgICAgIHJldHVybiBzZWxmIGluIGxvb3BiYWNrX25ldHdvcmsKKyAgICAgICAgcmV0dXJuIHNlbGYgaW4gc2VsZi5fY29uc3RhbnRzLl9sb29wYmFja19uZXR3b3JrCiAKICAgICBAcHJvcGVydHkKICAgICBkZWYgaXNfbGlua19sb2NhbChzZWxmKToKQEAgLTEzMjMsOCArMTM0OCw3IEBACiAgICAgICAgICAgICBBIGJvb2xlYW4sIFRydWUgaWYgdGhlIGFkZHJlc3MgaXMgbGluay1sb2NhbCBwZXIgUkZDIDM5MjcuCiAKICAgICAgICAgIiIiCi0gICAgICAgIGxpbmtsb2NhbF9uZXR3b3JrID0gSVB2NE5ldHdvcmsoJzE2OS4yNTQuMC4wLzE2JykKLSAgICAgICAgcmV0dXJuIHNlbGYgaW4gbGlua2xvY2FsX25ldHdvcmsKKyAgICAgICAgcmV0dXJuIHNlbGYgaW4gc2VsZi5fY29uc3RhbnRzLl9saW5rbG9jYWxfbmV0d29yawogCiAKIGNsYXNzIElQdjRJbnRlcmZhY2UoSVB2NEFkZHJlc3MpOgpAQCAtMTMzNiw2ICsxMzYwLDE4IEBACiAgICAgICAgICAgICBzZWxmLl9wcmVmaXhsZW4gPSBzZWxmLl9tYXhfcHJlZml4bGVuCiAgICAgICAgICAgICByZXR1cm4KIAorICAgICAgICBpZiBpc2luc3RhbmNlKGFkZHJlc3MsIHR1cGxlKToKKyAgICAgICAgICAgIElQdjRBZGRyZXNzLl9faW5pdF9fKHNlbGYsIGFkZHJlc3NbMF0pCisgICAgICAgICAgICBpZiBsZW4oYWRkcmVzcykgPiAxOgorICAgICAgICAgICAgICAgIHNlbGYuX3ByZWZpeGxlbiA9IGludChhZGRyZXNzWzFdKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBzZWxmLl9wcmVmaXhsZW4gPSBzZWxmLl9tYXhfcHJlZml4bGVuCisKKyAgICAgICAgICAgIHNlbGYubmV0d29yayA9IElQdjROZXR3b3JrKGFkZHJlc3MsIHN0cmljdD1GYWxzZSkKKyAgICAgICAgICAgIHNlbGYubmV0bWFzayA9IHNlbGYubmV0d29yay5uZXRtYXNrCisgICAgICAgICAgICBzZWxmLmhvc3RtYXNrID0gc2VsZi5uZXR3b3JrLmhvc3RtYXNrCisgICAgICAgICAgICByZXR1cm4KKwogICAgICAgICBhZGRyID0gX3NwbGl0X29wdGlvbmFsX25ldG1hc2soYWRkcmVzcykKICAgICAgICAgSVB2NEFkZHJlc3MuX19pbml0X18oc2VsZiwgYWRkclswXSkKIApAQCAtMTM3NSw2ICsxNDExLDggQEAKICAgICBkZWYgX19oYXNoX18oc2VsZik6CiAgICAgICAgIHJldHVybiBzZWxmLl9pcCBeIHNlbGYuX3ByZWZpeGxlbiBeIGludChzZWxmLm5ldHdvcmsubmV0d29ya19hZGRyZXNzKQogCisgICAgX19yZWR1Y2VfXyA9IF9JUEFkZHJlc3NCYXNlLl9fcmVkdWNlX18KKwogICAgIEBwcm9wZXJ0eQogICAgIGRlZiBpcChzZWxmKToKICAgICAgICAgcmV0dXJuIElQdjRBZGRyZXNzKHNlbGYuX2lwKQpAQCAtMTQ1MSwyMCArMTQ4OSwyOCBAQAogICAgICAgICBfQmFzZVY0Ll9faW5pdF9fKHNlbGYsIGFkZHJlc3MpCiAgICAgICAgIF9CYXNlTmV0d29yay5fX2luaXRfXyhzZWxmLCBhZGRyZXNzKQogCi0gICAgICAgICMgQ29uc3RydWN0aW5nIGZyb20gYSBwYWNrZWQgYWRkcmVzcwotICAgICAgICBpZiBpc2luc3RhbmNlKGFkZHJlc3MsIGJ5dGVzKToKKyAgICAgICAgIyBDb25zdHJ1Y3RpbmcgZnJvbSBhIHBhY2tlZCBhZGRyZXNzIG9yIGludGVnZXIKKyAgICAgICAgaWYgaXNpbnN0YW5jZShhZGRyZXNzLCAoaW50LCBieXRlcykpOgogICAgICAgICAgICAgc2VsZi5uZXR3b3JrX2FkZHJlc3MgPSBJUHY0QWRkcmVzcyhhZGRyZXNzKQotICAgICAgICAgICAgc2VsZi5fcHJlZml4bGVuID0gc2VsZi5fbWF4X3ByZWZpeGxlbgotICAgICAgICAgICAgc2VsZi5uZXRtYXNrID0gSVB2NEFkZHJlc3Moc2VsZi5fQUxMX09ORVMpCi0gICAgICAgICAgICAjZml4bWU6IGFkZHJlc3MvbmV0d29yayB0ZXN0IGhlcmUKKyAgICAgICAgICAgIHNlbGYubmV0bWFzaywgc2VsZi5fcHJlZml4bGVuID0gc2VsZi5fbWFrZV9uZXRtYXNrKHNlbGYuX21heF9wcmVmaXhsZW4pCisgICAgICAgICAgICAjZml4bWU6IGFkZHJlc3MvbmV0d29yayB0ZXN0IGhlcmUuCiAgICAgICAgICAgICByZXR1cm4KIAotICAgICAgICAjIEVmZmljaWVudCBjb25zdHJ1Y3RvciBmcm9tIGludGVnZXIuCi0gICAgICAgIGlmIGlzaW5zdGFuY2UoYWRkcmVzcywgaW50KToKLSAgICAgICAgICAgIHNlbGYubmV0d29ya19hZGRyZXNzID0gSVB2NEFkZHJlc3MoYWRkcmVzcykKLSAgICAgICAgICAgIHNlbGYuX3ByZWZpeGxlbiA9IHNlbGYuX21heF9wcmVmaXhsZW4KLSAgICAgICAgICAgIHNlbGYubmV0bWFzayA9IElQdjRBZGRyZXNzKHNlbGYuX0FMTF9PTkVTKQotICAgICAgICAgICAgI2ZpeG1lOiBhZGRyZXNzL25ldHdvcmsgdGVzdCBoZXJlLgorICAgICAgICBpZiBpc2luc3RhbmNlKGFkZHJlc3MsIHR1cGxlKToKKyAgICAgICAgICAgIGlmIGxlbihhZGRyZXNzKSA+IDE6CisgICAgICAgICAgICAgICAgYXJnID0gYWRkcmVzc1sxXQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAjIFdlIHdlcmVuJ3QgZ2l2ZW4gYW4gYWRkcmVzc1sxXQorICAgICAgICAgICAgICAgIGFyZyA9IHNlbGYuX21heF9wcmVmaXhsZW4KKyAgICAgICAgICAgIHNlbGYubmV0d29ya19hZGRyZXNzID0gSVB2NEFkZHJlc3MoYWRkcmVzc1swXSkKKyAgICAgICAgICAgIHNlbGYubmV0bWFzaywgc2VsZi5fcHJlZml4bGVuID0gc2VsZi5fbWFrZV9uZXRtYXNrKGFyZykKKyAgICAgICAgICAgIHBhY2tlZCA9IGludChzZWxmLm5ldHdvcmtfYWRkcmVzcykKKyAgICAgICAgICAgIGlmIHBhY2tlZCAmIGludChzZWxmLm5ldG1hc2spICE9IHBhY2tlZDoKKyAgICAgICAgICAgICAgICBpZiBzdHJpY3Q6CisgICAgICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJyVzIGhhcyBob3N0IGJpdHMgc2V0JyAlIHNlbGYpCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5uZXR3b3JrX2FkZHJlc3MgPSBJUHY0QWRkcmVzcyhwYWNrZWQgJgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludChzZWxmLm5ldG1hc2spKQogICAgICAgICAgICAgcmV0dXJuCiAKICAgICAgICAgIyBBc3N1bWUgaW5wdXQgYXJndW1lbnQgdG8gYmUgc3RyaW5nIG9yIGFueSBvYmplY3QgcmVwcmVzZW50YXRpb24KQEAgLTE0NzMsMTYgKzE1MTksMTAgQEAKICAgICAgICAgc2VsZi5uZXR3b3JrX2FkZHJlc3MgPSBJUHY0QWRkcmVzcyhzZWxmLl9pcF9pbnRfZnJvbV9zdHJpbmcoYWRkclswXSkpCiAKICAgICAgICAgaWYgbGVuKGFkZHIpID09IDI6Ci0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgIyBDaGVjayBmb3IgYSBuZXRtYXNrIGluIHByZWZpeCBsZW5ndGggZm9ybQotICAgICAgICAgICAgICAgIHNlbGYuX3ByZWZpeGxlbiA9IHNlbGYuX3ByZWZpeF9mcm9tX3ByZWZpeF9zdHJpbmcoYWRkclsxXSkKLSAgICAgICAgICAgIGV4Y2VwdCBOZXRtYXNrVmFsdWVFcnJvcjoKLSAgICAgICAgICAgICAgICAjIENoZWNrIGZvciBhIG5ldG1hc2sgb3IgaG9zdG1hc2sgaW4gZG90dGVkLXF1YWQgZm9ybS4KLSAgICAgICAgICAgICAgICAjIFRoaXMgbWF5IHJhaXNlIE5ldG1hc2tWYWx1ZUVycm9yLgotICAgICAgICAgICAgICAgIHNlbGYuX3ByZWZpeGxlbiA9IHNlbGYuX3ByZWZpeF9mcm9tX2lwX3N0cmluZyhhZGRyWzFdKQorICAgICAgICAgICAgYXJnID0gYWRkclsxXQogICAgICAgICBlbHNlOgotICAgICAgICAgICAgc2VsZi5fcHJlZml4bGVuID0gc2VsZi5fbWF4X3ByZWZpeGxlbgotICAgICAgICBzZWxmLm5ldG1hc2sgPSBJUHY0QWRkcmVzcyhzZWxmLl9pcF9pbnRfZnJvbV9wcmVmaXgoc2VsZi5fcHJlZml4bGVuKSkKKyAgICAgICAgICAgIGFyZyA9IHNlbGYuX21heF9wcmVmaXhsZW4KKyAgICAgICAgc2VsZi5uZXRtYXNrLCBzZWxmLl9wcmVmaXhsZW4gPSBzZWxmLl9tYWtlX25ldG1hc2soYXJnKQogCiAgICAgICAgIGlmIHN0cmljdDoKICAgICAgICAgICAgIGlmIChJUHY0QWRkcmVzcyhpbnQoc2VsZi5uZXR3b3JrX2FkZHJlc3MpICYgaW50KHNlbGYubmV0bWFzaykpICE9CkBAIC0xNTA5LDYgKzE1NDksMzcgQEAKICAgICAgICAgICAgICAgICBub3Qgc2VsZi5pc19wcml2YXRlKQogCiAKK2NsYXNzIF9JUHY0Q29uc3RhbnRzOgorICAgIF9saW5rbG9jYWxfbmV0d29yayA9IElQdjROZXR3b3JrKCcxNjkuMjU0LjAuMC8xNicpCisKKyAgICBfbG9vcGJhY2tfbmV0d29yayA9IElQdjROZXR3b3JrKCcxMjcuMC4wLjAvOCcpCisKKyAgICBfbXVsdGljYXN0X25ldHdvcmsgPSBJUHY0TmV0d29yaygnMjI0LjAuMC4wLzQnKQorCisgICAgX3ByaXZhdGVfbmV0d29ya3MgPSBbCisgICAgICAgIElQdjROZXR3b3JrKCcwLjAuMC4wLzgnKSwKKyAgICAgICAgSVB2NE5ldHdvcmsoJzEwLjAuMC4wLzgnKSwKKyAgICAgICAgSVB2NE5ldHdvcmsoJzEyNy4wLjAuMC84JyksCisgICAgICAgIElQdjROZXR3b3JrKCcxNjkuMjU0LjAuMC8xNicpLAorICAgICAgICBJUHY0TmV0d29yaygnMTcyLjE2LjAuMC8xMicpLAorICAgICAgICBJUHY0TmV0d29yaygnMTkyLjAuMC4wLzI5JyksCisgICAgICAgIElQdjROZXR3b3JrKCcxOTIuMC4wLjE3MC8zMScpLAorICAgICAgICBJUHY0TmV0d29yaygnMTkyLjAuMi4wLzI0JyksCisgICAgICAgIElQdjROZXR3b3JrKCcxOTIuMTY4LjAuMC8xNicpLAorICAgICAgICBJUHY0TmV0d29yaygnMTk4LjE4LjAuMC8xNScpLAorICAgICAgICBJUHY0TmV0d29yaygnMTk4LjUxLjEwMC4wLzI0JyksCisgICAgICAgIElQdjROZXR3b3JrKCcyMDMuMC4xMTMuMC8yNCcpLAorICAgICAgICBJUHY0TmV0d29yaygnMjQwLjAuMC4wLzQnKSwKKyAgICAgICAgSVB2NE5ldHdvcmsoJzI1NS4yNTUuMjU1LjI1NS8zMicpLAorICAgICAgICBdCisKKyAgICBfcmVzZXJ2ZWRfbmV0d29yayA9IElQdjROZXR3b3JrKCcyNDAuMC4wLjAvNCcpCisKKyAgICBfdW5zcGVjaWZpZWRfYWRkcmVzcyA9IElQdjRBZGRyZXNzKCcwLjAuMC4wJykKKworCitJUHY0QWRkcmVzcy5fY29uc3RhbnRzID0gX0lQdjRDb25zdGFudHMKKwogCiBjbGFzcyBfQmFzZVY2OgogCkBAIC0xNTIyLDEyICsxNTkzLDM1IEBACiAgICAgX0FMTF9PTkVTID0gKDIqKklQVjZMRU5HVEgpIC0gMQogICAgIF9IRVhURVRfQ09VTlQgPSA4CiAgICAgX0hFWF9ESUdJVFMgPSBmcm96ZW5zZXQoJzAxMjM0NTY3ODlBQkNERUZhYmNkZWYnKQorICAgIF9tYXhfcHJlZml4bGVuID0gSVBWNkxFTkdUSAorCisgICAgIyBUaGVyZSBhcmUgb25seSBhIGJ1bmNoIG9mIHZhbGlkIHY2IG5ldG1hc2tzLCBzbyB3ZSBjYWNoZSB0aGVtIGFsbAorICAgICMgd2hlbiBjb25zdHJ1Y3RlZCAoc2VlIF9tYWtlX25ldG1hc2soKSkuCisgICAgX25ldG1hc2tfY2FjaGUgPSB7fQogCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGFkZHJlc3MpOgogICAgICAgICBzZWxmLl92ZXJzaW9uID0gNgotICAgICAgICBzZWxmLl9tYXhfcHJlZml4bGVuID0gSVBWNkxFTkdUSAogCi0gICAgZGVmIF9pcF9pbnRfZnJvbV9zdHJpbmcoc2VsZiwgaXBfc3RyKToKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgX21ha2VfbmV0bWFzayhjbHMsIGFyZyk6CisgICAgICAgICIiIk1ha2UgYSAobmV0bWFzaywgcHJlZml4X2xlbikgdHVwbGUgZnJvbSB0aGUgZ2l2ZW4gYXJndW1lbnQuCisKKyAgICAgICAgQXJndW1lbnQgY2FuIGJlOgorICAgICAgICAtIGFuIGludGVnZXIgKHRoZSBwcmVmaXggbGVuZ3RoKQorICAgICAgICAtIGEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgcHJlZml4IGxlbmd0aCAoZS5nLiAiMjQiKQorICAgICAgICAtIGEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgcHJlZml4IG5ldG1hc2sgKGUuZy4gIjI1NS4yNTUuMjU1LjAiKQorICAgICAgICAiIiIKKyAgICAgICAgaWYgYXJnIG5vdCBpbiBjbHMuX25ldG1hc2tfY2FjaGU6CisgICAgICAgICAgICBpZiBpc2luc3RhbmNlKGFyZywgaW50KToKKyAgICAgICAgICAgICAgICBwcmVmaXhsZW4gPSBhcmcKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgcHJlZml4bGVuID0gY2xzLl9wcmVmaXhfZnJvbV9wcmVmaXhfc3RyaW5nKGFyZykKKyAgICAgICAgICAgIG5ldG1hc2sgPSBJUHY2QWRkcmVzcyhjbHMuX2lwX2ludF9mcm9tX3ByZWZpeChwcmVmaXhsZW4pKQorICAgICAgICAgICAgY2xzLl9uZXRtYXNrX2NhY2hlW2FyZ10gPSBuZXRtYXNrLCBwcmVmaXhsZW4KKyAgICAgICAgcmV0dXJuIGNscy5fbmV0bWFza19jYWNoZVthcmddCisKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgX2lwX2ludF9mcm9tX3N0cmluZyhjbHMsIGlwX3N0cik6CiAgICAgICAgICIiIlR1cm4gYW4gSVB2NiBpcF9zdHIgaW50byBhbiBpbnRlZ2VyLgogCiAgICAgICAgIEFyZ3M6CkBAIC0xNTYzLDcgKzE2NTcsNyBAQAogICAgICAgICAjIEFuIElQdjYgYWRkcmVzcyBjYW4ndCBoYXZlIG1vcmUgdGhhbiA4IGNvbG9ucyAoOSBwYXJ0cykuCiAgICAgICAgICMgVGhlIGV4dHJhIGNvbG9uIGNvbWVzIGZyb20gdXNpbmcgdGhlICI6OiIgbm90YXRpb24gZm9yIGEgc2luZ2xlCiAgICAgICAgICMgbGVhZGluZyBvciB0cmFpbGluZyB6ZXJvIHBhcnQuCi0gICAgICAgIF9tYXhfcGFydHMgPSBzZWxmLl9IRVhURVRfQ09VTlQgKyAxCisgICAgICAgIF9tYXhfcGFydHMgPSBjbHMuX0hFWFRFVF9DT1VOVCArIDEKICAgICAgICAgaWYgbGVuKHBhcnRzKSA+IF9tYXhfcGFydHM6CiAgICAgICAgICAgICBtc2cgPSAiQXQgbW9zdCAlZCBjb2xvbnMgcGVybWl0dGVkIGluICVyIiAlIChfbWF4X3BhcnRzLTEsIGlwX3N0cikKICAgICAgICAgICAgIHJhaXNlIEFkZHJlc3NWYWx1ZUVycm9yKG1zZykKQEAgLTE1OTUsMTcgKzE2ODksMTcgQEAKICAgICAgICAgICAgICAgICBpZiBwYXJ0c19sbzoKICAgICAgICAgICAgICAgICAgICAgbXNnID0gIlRyYWlsaW5nICc6JyBvbmx5IHBlcm1pdHRlZCBhcyBwYXJ0IG9mICc6OicgaW4gJXIiCiAgICAgICAgICAgICAgICAgICAgIHJhaXNlIEFkZHJlc3NWYWx1ZUVycm9yKG1zZyAlIGlwX3N0cikgICMgOiQgcmVxdWlyZXMgOjokCi0gICAgICAgICAgICBwYXJ0c19za2lwcGVkID0gc2VsZi5fSEVYVEVUX0NPVU5UIC0gKHBhcnRzX2hpICsgcGFydHNfbG8pCisgICAgICAgICAgICBwYXJ0c19za2lwcGVkID0gY2xzLl9IRVhURVRfQ09VTlQgLSAocGFydHNfaGkgKyBwYXJ0c19sbykKICAgICAgICAgICAgIGlmIHBhcnRzX3NraXBwZWQgPCAxOgogICAgICAgICAgICAgICAgIG1zZyA9ICJFeHBlY3RlZCBhdCBtb3N0ICVkIG90aGVyIHBhcnRzIHdpdGggJzo6JyBpbiAlciIKLSAgICAgICAgICAgICAgICByYWlzZSBBZGRyZXNzVmFsdWVFcnJvcihtc2cgJSAoc2VsZi5fSEVYVEVUX0NPVU5ULTEsIGlwX3N0cikpCisgICAgICAgICAgICAgICAgcmFpc2UgQWRkcmVzc1ZhbHVlRXJyb3IobXNnICUgKGNscy5fSEVYVEVUX0NPVU5ULTEsIGlwX3N0cikpCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAjIE90aGVyd2lzZSwgYWxsb2NhdGUgdGhlIGVudGlyZSBhZGRyZXNzIHRvIHBhcnRzX2hpLiAgVGhlCiAgICAgICAgICAgICAjIGVuZHBvaW50cyBjb3VsZCBzdGlsbCBiZSBlbXB0eSwgYnV0IF9wYXJzZV9oZXh0ZXQoKSB3aWxsIGNoZWNrCiAgICAgICAgICAgICAjIGZvciB0aGF0LgotICAgICAgICAgICAgaWYgbGVuKHBhcnRzKSAhPSBzZWxmLl9IRVhURVRfQ09VTlQ6CisgICAgICAgICAgICBpZiBsZW4ocGFydHMpICE9IGNscy5fSEVYVEVUX0NPVU5UOgogICAgICAgICAgICAgICAgIG1zZyA9ICJFeGFjdGx5ICVkIHBhcnRzIGV4cGVjdGVkIHdpdGhvdXQgJzo6JyBpbiAlciIKLSAgICAgICAgICAgICAgICByYWlzZSBBZGRyZXNzVmFsdWVFcnJvcihtc2cgJSAoc2VsZi5fSEVYVEVUX0NPVU5ULCBpcF9zdHIpKQorICAgICAgICAgICAgICAgIHJhaXNlIEFkZHJlc3NWYWx1ZUVycm9yKG1zZyAlIChjbHMuX0hFWFRFVF9DT1VOVCwgaXBfc3RyKSkKICAgICAgICAgICAgIGlmIG5vdCBwYXJ0c1swXToKICAgICAgICAgICAgICAgICBtc2cgPSAiTGVhZGluZyAnOicgb25seSBwZXJtaXR0ZWQgYXMgcGFydCBvZiAnOjonIGluICVyIgogICAgICAgICAgICAgICAgIHJhaXNlIEFkZHJlc3NWYWx1ZUVycm9yKG1zZyAlIGlwX3N0cikgICMgXjogcmVxdWlyZXMgXjo6CkBAIC0xNjIxLDE2ICsxNzE1LDE3IEBACiAgICAgICAgICAgICBpcF9pbnQgPSAwCiAgICAgICAgICAgICBmb3IgaSBpbiByYW5nZShwYXJ0c19oaSk6CiAgICAgICAgICAgICAgICAgaXBfaW50IDw8PSAxNgotICAgICAgICAgICAgICAgIGlwX2ludCB8PSBzZWxmLl9wYXJzZV9oZXh0ZXQocGFydHNbaV0pCisgICAgICAgICAgICAgICAgaXBfaW50IHw9IGNscy5fcGFyc2VfaGV4dGV0KHBhcnRzW2ldKQogICAgICAgICAgICAgaXBfaW50IDw8PSAxNiAqIHBhcnRzX3NraXBwZWQKICAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKC1wYXJ0c19sbywgMCk6CiAgICAgICAgICAgICAgICAgaXBfaW50IDw8PSAxNgotICAgICAgICAgICAgICAgIGlwX2ludCB8PSBzZWxmLl9wYXJzZV9oZXh0ZXQocGFydHNbaV0pCisgICAgICAgICAgICAgICAgaXBfaW50IHw9IGNscy5fcGFyc2VfaGV4dGV0KHBhcnRzW2ldKQogICAgICAgICAgICAgcmV0dXJuIGlwX2ludAogICAgICAgICBleGNlcHQgVmFsdWVFcnJvciBhcyBleGM6CiAgICAgICAgICAgICByYWlzZSBBZGRyZXNzVmFsdWVFcnJvcigiJXMgaW4gJXIiICUgKGV4YywgaXBfc3RyKSkgZnJvbSBOb25lCiAKLSAgICBkZWYgX3BhcnNlX2hleHRldChzZWxmLCBoZXh0ZXRfc3RyKToKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgX3BhcnNlX2hleHRldChjbHMsIGhleHRldF9zdHIpOgogICAgICAgICAiIiJDb252ZXJ0IGFuIElQdjYgaGV4dGV0IHN0cmluZyBpbnRvIGFuIGludGVnZXIuCiAKICAgICAgICAgQXJnczoKQEAgLTE2NDUsNyArMTc0MCw3IEBACiAKICAgICAgICAgIiIiCiAgICAgICAgICMgV2hpdGVsaXN0IHRoZSBjaGFyYWN0ZXJzLCBzaW5jZSBpbnQoKSBhbGxvd3MgYSBsb3Qgb2YgYml6YXJyZSBzdHVmZi4KLSAgICAgICAgaWYgbm90IHNlbGYuX0hFWF9ESUdJVFMuaXNzdXBlcnNldChoZXh0ZXRfc3RyKToKKyAgICAgICAgaWYgbm90IGNscy5fSEVYX0RJR0lUUy5pc3N1cGVyc2V0KGhleHRldF9zdHIpOgogICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiT25seSBoZXggZGlnaXRzIHBlcm1pdHRlZCBpbiAlciIgJSBoZXh0ZXRfc3RyKQogICAgICAgICAjIFdlIGRvIHRoZSBsZW5ndGggY2hlY2sgc2Vjb25kLCBzaW5jZSB0aGUgaW52YWxpZCBjaGFyYWN0ZXIgZXJyb3IKICAgICAgICAgIyBpcyBsaWtlbHkgdG8gYmUgbW9yZSBpbmZvcm1hdGl2ZSBmb3IgdGhlIHVzZXIKQEAgLTE2NTUsNyArMTc1MCw4IEBACiAgICAgICAgICMgTGVuZ3RoIGNoZWNrIG1lYW5zIHdlIGNhbiBza2lwIGNoZWNraW5nIHRoZSBpbnRlZ2VyIHZhbHVlCiAgICAgICAgIHJldHVybiBpbnQoaGV4dGV0X3N0ciwgMTYpCiAKLSAgICBkZWYgX2NvbXByZXNzX2hleHRldHMoc2VsZiwgaGV4dGV0cyk6CisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIF9jb21wcmVzc19oZXh0ZXRzKGNscywgaGV4dGV0cyk6CiAgICAgICAgICIiIkNvbXByZXNzZXMgYSBsaXN0IG9mIGhleHRldHMuCiAKICAgICAgICAgQ29tcHJlc3NlcyBhIGxpc3Qgb2Ygc3RyaW5ncywgcmVwbGFjaW5nIHRoZSBsb25nZXN0IGNvbnRpbnVvdXMKQEAgLTE3MDIsNyArMTc5OCw4IEBACiAKICAgICAgICAgcmV0dXJuIGhleHRldHMKIAotICAgIGRlZiBfc3RyaW5nX2Zyb21faXBfaW50KHNlbGYsIGlwX2ludD1Ob25lKToKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgX3N0cmluZ19mcm9tX2lwX2ludChjbHMsIGlwX2ludD1Ob25lKToKICAgICAgICAgIiIiVHVybnMgYSAxMjgtYml0IGludGVnZXIgaW50byBoZXhhZGVjaW1hbCBub3RhdGlvbi4KIAogICAgICAgICBBcmdzOgpAQCAtMTcxNiwxNSArMTgxMywxNSBAQAogCiAgICAgICAgICIiIgogICAgICAgICBpZiBpcF9pbnQgaXMgTm9uZToKLSAgICAgICAgICAgIGlwX2ludCA9IGludChzZWxmLl9pcCkKKyAgICAgICAgICAgIGlwX2ludCA9IGludChjbHMuX2lwKQogCi0gICAgICAgIGlmIGlwX2ludCA+IHNlbGYuX0FMTF9PTkVTOgorICAgICAgICBpZiBpcF9pbnQgPiBjbHMuX0FMTF9PTkVTOgogICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignSVB2NiBhZGRyZXNzIGlzIHRvbyBsYXJnZScpCiAKICAgICAgICAgaGV4X3N0ciA9ICclMDMyeCcgJSBpcF9pbnQKICAgICAgICAgaGV4dGV0cyA9IFsnJXgnICUgaW50KGhleF9zdHJbeDp4KzRdLCAxNikgZm9yIHggaW4gcmFuZ2UoMCwgMzIsIDQpXQogCi0gICAgICAgIGhleHRldHMgPSBzZWxmLl9jb21wcmVzc19oZXh0ZXRzKGhleHRldHMpCisgICAgICAgIGhleHRldHMgPSBjbHMuX2NvbXByZXNzX2hleHRldHMoaGV4dGV0cykKICAgICAgICAgcmV0dXJuICc6Jy5qb2luKGhleHRldHMpCiAKICAgICBkZWYgX2V4cGxvZGVfc2hvcnRoYW5kX2lwX3N0cmluZyhzZWxmKToKQEAgLTE3NTEsNiArMTg0OCwxNSBAQAogICAgICAgICAgICAgcmV0dXJuICclcy8lZCcgJSAoJzonLmpvaW4ocGFydHMpLCBzZWxmLl9wcmVmaXhsZW4pCiAgICAgICAgIHJldHVybiAnOicuam9pbihwYXJ0cykKIAorICAgIGRlZiBfcmV2ZXJzZV9wb2ludGVyKHNlbGYpOgorICAgICAgICAiIiJSZXR1cm4gdGhlIHJldmVyc2UgRE5TIHBvaW50ZXIgbmFtZSBmb3IgdGhlIElQdjYgYWRkcmVzcy4KKworICAgICAgICBUaGlzIGltcGxlbWVudHMgdGhlIG1ldGhvZCBkZXNjcmliZWQgaW4gUkZDMzU5NiAyLjUuCisKKyAgICAgICAgIiIiCisgICAgICAgIHJldmVyc2VfY2hhcnMgPSBzZWxmLmV4cGxvZGVkWzo6LTFdLnJlcGxhY2UoJzonLCAnJykKKyAgICAgICAgcmV0dXJuICcuJy5qb2luKHJldmVyc2VfY2hhcnMpICsgJy5pcDYuYXJwYScKKwogICAgIEBwcm9wZXJ0eQogICAgIGRlZiBtYXhfcHJlZml4bGVuKHNlbGYpOgogICAgICAgICByZXR1cm4gc2VsZi5fbWF4X3ByZWZpeGxlbgpAQCAtMTc4MSw3ICsxODg3LDYgQEAKICAgICAgICAgICAgIEFkZHJlc3NWYWx1ZUVycm9yOiBJZiBhZGRyZXNzIGlzbid0IGEgdmFsaWQgSVB2NiBhZGRyZXNzLgogCiAgICAgICAgICIiIgotICAgICAgICBfQmFzZUFkZHJlc3MuX19pbml0X18oc2VsZiwgYWRkcmVzcykKICAgICAgICAgX0Jhc2VWNi5fX2luaXRfXyhzZWxmLCBhZGRyZXNzKQogCiAgICAgICAgICMgRWZmaWNpZW50IGNvbnN0cnVjdG9yIGZyb20gaW50ZWdlci4KQEAgLTE3OTksNiArMTkwNCw4IEBACiAgICAgICAgICMgQXNzdW1lIGlucHV0IGFyZ3VtZW50IHRvIGJlIHN0cmluZyBvciBhbnkgb2JqZWN0IHJlcHJlc2VudGF0aW9uCiAgICAgICAgICMgd2hpY2ggY29udmVydHMgaW50byBhIGZvcm1hdHRlZCBJUCBzdHJpbmcuCiAgICAgICAgIGFkZHJfc3RyID0gc3RyKGFkZHJlc3MpCisgICAgICAgIGlmICcvJyBpbiBhZGRyX3N0cjoKKyAgICAgICAgICAgIHJhaXNlIEFkZHJlc3NWYWx1ZUVycm9yKCJVbmV4cGVjdGVkICcvJyBpbiAlciIgJSBhZGRyZXNzKQogICAgICAgICBzZWxmLl9pcCA9IHNlbGYuX2lwX2ludF9mcm9tX3N0cmluZyhhZGRyX3N0cikKIAogICAgIEBwcm9wZXJ0eQpAQCAtMTgxNSw4ICsxOTIyLDcgQEAKICAgICAgICAgICAgIFNlZSBSRkMgMjM3MyAyLjcgZm9yIGRldGFpbHMuCiAKICAgICAgICAgIiIiCi0gICAgICAgIG11bHRpY2FzdF9uZXR3b3JrID0gSVB2Nk5ldHdvcmsoJ2ZmMDA6Oi84JykKLSAgICAgICAgcmV0dXJuIHNlbGYgaW4gbXVsdGljYXN0X25ldHdvcmsKKyAgICAgICAgcmV0dXJuIHNlbGYgaW4gc2VsZi5fY29uc3RhbnRzLl9tdWx0aWNhc3RfbmV0d29yawogCiAgICAgQHByb3BlcnR5CiAgICAgZGVmIGlzX3Jlc2VydmVkKHNlbGYpOgpAQCAtMTgyNywxNiArMTkzMyw3IEBACiAgICAgICAgICAgICByZXNlcnZlZCBJUHY2IE5ldHdvcmsgcmFuZ2VzLgogCiAgICAgICAgICIiIgotICAgICAgICByZXNlcnZlZF9uZXR3b3JrcyA9IFtJUHY2TmV0d29yaygnOjovOCcpLCBJUHY2TmV0d29yaygnMTAwOjovOCcpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUHY2TmV0d29yaygnMjAwOjovNycpLCBJUHY2TmV0d29yaygnNDAwOjovNicpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUHY2TmV0d29yaygnODAwOjovNScpLCBJUHY2TmV0d29yaygnMTAwMDo6LzQnKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVB2Nk5ldHdvcmsoJzQwMDA6Oi8zJyksIElQdjZOZXR3b3JrKCc2MDAwOjovMycpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUHY2TmV0d29yaygnODAwMDo6LzMnKSwgSVB2Nk5ldHdvcmsoJ0EwMDA6Oi8zJyksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIElQdjZOZXR3b3JrKCdDMDAwOjovMycpLCBJUHY2TmV0d29yaygnRTAwMDo6LzQnKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVB2Nk5ldHdvcmsoJ0YwMDA6Oi81JyksIElQdjZOZXR3b3JrKCdGODAwOjovNicpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUHY2TmV0d29yaygnRkUwMDo6LzknKV0KLQotICAgICAgICByZXR1cm4gYW55KHNlbGYgaW4geCBmb3IgeCBpbiByZXNlcnZlZF9uZXR3b3JrcykKKyAgICAgICAgcmV0dXJuIGFueShzZWxmIGluIHggZm9yIHggaW4gc2VsZi5fY29uc3RhbnRzLl9yZXNlcnZlZF9uZXR3b3JrcykKIAogICAgIEBwcm9wZXJ0eQogICAgIGRlZiBpc19saW5rX2xvY2FsKHNlbGYpOgpAQCAtMTg0Niw4ICsxOTQzLDcgQEAKICAgICAgICAgICAgIEEgYm9vbGVhbiwgVHJ1ZSBpZiB0aGUgYWRkcmVzcyBpcyByZXNlcnZlZCBwZXIgUkZDIDQyOTEuCiAKICAgICAgICAgIiIiCi0gICAgICAgIGxpbmtsb2NhbF9uZXR3b3JrID0gSVB2Nk5ldHdvcmsoJ2ZlODA6Oi8xMCcpCi0gICAgICAgIHJldHVybiBzZWxmIGluIGxpbmtsb2NhbF9uZXR3b3JrCisgICAgICAgIHJldHVybiBzZWxmIGluIHNlbGYuX2NvbnN0YW50cy5fbGlua2xvY2FsX25ldHdvcmsKIAogICAgIEBwcm9wZXJ0eQogICAgIGRlZiBpc19zaXRlX2xvY2FsKHNlbGYpOgpAQCAtMTg2MSw4ICsxOTU3LDcgQEAKICAgICAgICAgICAgIEEgYm9vbGVhbiwgVHJ1ZSBpZiB0aGUgYWRkcmVzcyBpcyByZXNlcnZlZCBwZXIgUkZDIDM1MTMgMi41LjYuCiAKICAgICAgICAgIiIiCi0gICAgICAgIHNpdGVsb2NhbF9uZXR3b3JrID0gSVB2Nk5ldHdvcmsoJ2ZlYzA6Oi8xMCcpCi0gICAgICAgIHJldHVybiBzZWxmIGluIHNpdGVsb2NhbF9uZXR3b3JrCisgICAgICAgIHJldHVybiBzZWxmIGluIHNlbGYuX2NvbnN0YW50cy5fc2l0ZWxvY2FsX25ldHdvcmsKIAogICAgIEBwcm9wZXJ0eQogICAgIEBmdW5jdG9vbHMubHJ1X2NhY2hlKCkKQEAgLTE4NzQsMTYgKzE5NjksNyBAQAogICAgICAgICAgICAgaWFuYS1pcHY2LXNwZWNpYWwtcmVnaXN0cnkuCiAKICAgICAgICAgIiIiCi0gICAgICAgIHJldHVybiAoc2VsZiBpbiBJUHY2TmV0d29yaygnOjoxLzEyOCcpIG9yCi0gICAgICAgICAgICAgICAgc2VsZiBpbiBJUHY2TmV0d29yaygnOjovMTI4Jykgb3IKLSAgICAgICAgICAgICAgICBzZWxmIGluIElQdjZOZXR3b3JrKCc6OmZmZmY6MDowLzk2Jykgb3IKLSAgICAgICAgICAgICAgICBzZWxmIGluIElQdjZOZXR3b3JrKCcxMDA6Oi82NCcpIG9yCi0gICAgICAgICAgICAgICAgc2VsZiBpbiBJUHY2TmV0d29yaygnMjAwMTo6LzIzJykgb3IKLSAgICAgICAgICAgICAgICBzZWxmIGluIElQdjZOZXR3b3JrKCcyMDAxOjI6Oi80OCcpIG9yCi0gICAgICAgICAgICAgICAgc2VsZiBpbiBJUHY2TmV0d29yaygnMjAwMTpkYjg6Oi8zMicpIG9yCi0gICAgICAgICAgICAgICAgc2VsZiBpbiBJUHY2TmV0d29yaygnMjAwMToxMDo6LzI4Jykgb3IKLSAgICAgICAgICAgICAgICBzZWxmIGluIElQdjZOZXR3b3JrKCdmYzAwOjovNycpIG9yCi0gICAgICAgICAgICAgICAgc2VsZiBpbiBJUHY2TmV0d29yaygnZmU4MDo6LzEwJykpCisgICAgICAgIHJldHVybiBhbnkoc2VsZiBpbiBuZXQgZm9yIG5ldCBpbiBzZWxmLl9jb25zdGFudHMuX3ByaXZhdGVfbmV0d29ya3MpCiAKICAgICBAcHJvcGVydHkKICAgICBkZWYgaXNfZ2xvYmFsKHNlbGYpOgpAQCAtMTk2OCw2ICsyMDU0LDE2IEBACiAgICAgICAgICAgICBzZWxmLm5ldHdvcmsgPSBJUHY2TmV0d29yayhzZWxmLl9pcCkKICAgICAgICAgICAgIHNlbGYuX3ByZWZpeGxlbiA9IHNlbGYuX21heF9wcmVmaXhsZW4KICAgICAgICAgICAgIHJldHVybgorICAgICAgICBpZiBpc2luc3RhbmNlKGFkZHJlc3MsIHR1cGxlKToKKyAgICAgICAgICAgIElQdjZBZGRyZXNzLl9faW5pdF9fKHNlbGYsIGFkZHJlc3NbMF0pCisgICAgICAgICAgICBpZiBsZW4oYWRkcmVzcykgPiAxOgorICAgICAgICAgICAgICAgIHNlbGYuX3ByZWZpeGxlbiA9IGludChhZGRyZXNzWzFdKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBzZWxmLl9wcmVmaXhsZW4gPSBzZWxmLl9tYXhfcHJlZml4bGVuCisgICAgICAgICAgICBzZWxmLm5ldHdvcmsgPSBJUHY2TmV0d29yayhhZGRyZXNzLCBzdHJpY3Q9RmFsc2UpCisgICAgICAgICAgICBzZWxmLm5ldG1hc2sgPSBzZWxmLm5ldHdvcmsubmV0bWFzaworICAgICAgICAgICAgc2VsZi5ob3N0bWFzayA9IHNlbGYubmV0d29yay5ob3N0bWFzaworICAgICAgICAgICAgcmV0dXJuCiAKICAgICAgICAgYWRkciA9IF9zcGxpdF9vcHRpb25hbF9uZXRtYXNrKGFkZHJlc3MpCiAgICAgICAgIElQdjZBZGRyZXNzLl9faW5pdF9fKHNlbGYsIGFkZHJbMF0pCkBAIC0yMDA2LDYgKzIxMDIsOCBAQAogICAgIGRlZiBfX2hhc2hfXyhzZWxmKToKICAgICAgICAgcmV0dXJuIHNlbGYuX2lwIF4gc2VsZi5fcHJlZml4bGVuIF4gaW50KHNlbGYubmV0d29yay5uZXR3b3JrX2FkZHJlc3MpCiAKKyAgICBfX3JlZHVjZV9fID0gX0lQQWRkcmVzc0Jhc2UuX19yZWR1Y2VfXworCiAgICAgQHByb3BlcnR5CiAgICAgZGVmIGlwKHNlbGYpOgogICAgICAgICByZXR1cm4gSVB2NkFkZHJlc3Moc2VsZi5faXApCkBAIC0yMDg1LDE4ICsyMTgzLDI2IEBACiAgICAgICAgIF9CYXNlVjYuX19pbml0X18oc2VsZiwgYWRkcmVzcykKICAgICAgICAgX0Jhc2VOZXR3b3JrLl9faW5pdF9fKHNlbGYsIGFkZHJlc3MpCiAKLSAgICAgICAgIyBFZmZpY2llbnQgY29uc3RydWN0b3IgZnJvbSBpbnRlZ2VyLgotICAgICAgICBpZiBpc2luc3RhbmNlKGFkZHJlc3MsIGludCk6CisgICAgICAgICMgRWZmaWNpZW50IGNvbnN0cnVjdG9yIGZyb20gaW50ZWdlciBvciBwYWNrZWQgYWRkcmVzcworICAgICAgICBpZiBpc2luc3RhbmNlKGFkZHJlc3MsIChieXRlcywgaW50KSk6CiAgICAgICAgICAgICBzZWxmLm5ldHdvcmtfYWRkcmVzcyA9IElQdjZBZGRyZXNzKGFkZHJlc3MpCi0gICAgICAgICAgICBzZWxmLl9wcmVmaXhsZW4gPSBzZWxmLl9tYXhfcHJlZml4bGVuCi0gICAgICAgICAgICBzZWxmLm5ldG1hc2sgPSBJUHY2QWRkcmVzcyhzZWxmLl9BTExfT05FUykKKyAgICAgICAgICAgIHNlbGYubmV0bWFzaywgc2VsZi5fcHJlZml4bGVuID0gc2VsZi5fbWFrZV9uZXRtYXNrKHNlbGYuX21heF9wcmVmaXhsZW4pCiAgICAgICAgICAgICByZXR1cm4KIAotICAgICAgICAjIENvbnN0cnVjdGluZyBmcm9tIGEgcGFja2VkIGFkZHJlc3MKLSAgICAgICAgaWYgaXNpbnN0YW5jZShhZGRyZXNzLCBieXRlcyk6Ci0gICAgICAgICAgICBzZWxmLm5ldHdvcmtfYWRkcmVzcyA9IElQdjZBZGRyZXNzKGFkZHJlc3MpCi0gICAgICAgICAgICBzZWxmLl9wcmVmaXhsZW4gPSBzZWxmLl9tYXhfcHJlZml4bGVuCi0gICAgICAgICAgICBzZWxmLm5ldG1hc2sgPSBJUHY2QWRkcmVzcyhzZWxmLl9BTExfT05FUykKKyAgICAgICAgaWYgaXNpbnN0YW5jZShhZGRyZXNzLCB0dXBsZSk6CisgICAgICAgICAgICBpZiBsZW4oYWRkcmVzcykgPiAxOgorICAgICAgICAgICAgICAgIGFyZyA9IGFkZHJlc3NbMV0KKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgYXJnID0gc2VsZi5fbWF4X3ByZWZpeGxlbgorICAgICAgICAgICAgc2VsZi5uZXRtYXNrLCBzZWxmLl9wcmVmaXhsZW4gPSBzZWxmLl9tYWtlX25ldG1hc2soYXJnKQorICAgICAgICAgICAgc2VsZi5uZXR3b3JrX2FkZHJlc3MgPSBJUHY2QWRkcmVzcyhhZGRyZXNzWzBdKQorICAgICAgICAgICAgcGFja2VkID0gaW50KHNlbGYubmV0d29ya19hZGRyZXNzKQorICAgICAgICAgICAgaWYgcGFja2VkICYgaW50KHNlbGYubmV0bWFzaykgIT0gcGFja2VkOgorICAgICAgICAgICAgICAgIGlmIHN0cmljdDoKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignJXMgaGFzIGhvc3QgYml0cyBzZXQnICUgc2VsZikKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBzZWxmLm5ldHdvcmtfYWRkcmVzcyA9IElQdjZBZGRyZXNzKHBhY2tlZCAmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50KHNlbGYubmV0bWFzaykpCiAgICAgICAgICAgICByZXR1cm4KIAogICAgICAgICAjIEFzc3VtZSBpbnB1dCBhcmd1bWVudCB0byBiZSBzdHJpbmcgb3IgYW55IG9iamVjdCByZXByZXNlbnRhdGlvbgpAQCAtMjEwNiwxMiArMjIxMiwxMSBAQAogICAgICAgICBzZWxmLm5ldHdvcmtfYWRkcmVzcyA9IElQdjZBZGRyZXNzKHNlbGYuX2lwX2ludF9mcm9tX3N0cmluZyhhZGRyWzBdKSkKIAogICAgICAgICBpZiBsZW4oYWRkcikgPT0gMjoKLSAgICAgICAgICAgICMgVGhpcyBtYXkgcmFpc2UgTmV0bWFza1ZhbHVlRXJyb3IKLSAgICAgICAgICAgIHNlbGYuX3ByZWZpeGxlbiA9IHNlbGYuX3ByZWZpeF9mcm9tX3ByZWZpeF9zdHJpbmcoYWRkclsxXSkKKyAgICAgICAgICAgIGFyZyA9IGFkZHJbMV0KICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYuX3ByZWZpeGxlbiA9IHNlbGYuX21heF9wcmVmaXhsZW4KKyAgICAgICAgICAgIGFyZyA9IHNlbGYuX21heF9wcmVmaXhsZW4KKyAgICAgICAgc2VsZi5uZXRtYXNrLCBzZWxmLl9wcmVmaXhsZW4gPSBzZWxmLl9tYWtlX25ldG1hc2soYXJnKQogCi0gICAgICAgIHNlbGYubmV0bWFzayA9IElQdjZBZGRyZXNzKHNlbGYuX2lwX2ludF9mcm9tX3ByZWZpeChzZWxmLl9wcmVmaXhsZW4pKQogICAgICAgICBpZiBzdHJpY3Q6CiAgICAgICAgICAgICBpZiAoSVB2NkFkZHJlc3MoaW50KHNlbGYubmV0d29ya19hZGRyZXNzKSAmIGludChzZWxmLm5ldG1hc2spKSAhPQogICAgICAgICAgICAgICAgIHNlbGYubmV0d29ya19hZGRyZXNzKToKQEAgLTIxNDgsMyArMjI1MywzOSBAQAogICAgICAgICAiIiIKICAgICAgICAgcmV0dXJuIChzZWxmLm5ldHdvcmtfYWRkcmVzcy5pc19zaXRlX2xvY2FsIGFuZAogICAgICAgICAgICAgICAgIHNlbGYuYnJvYWRjYXN0X2FkZHJlc3MuaXNfc2l0ZV9sb2NhbCkKKworCitjbGFzcyBfSVB2NkNvbnN0YW50czoKKworICAgIF9saW5rbG9jYWxfbmV0d29yayA9IElQdjZOZXR3b3JrKCdmZTgwOjovMTAnKQorCisgICAgX211bHRpY2FzdF9uZXR3b3JrID0gSVB2Nk5ldHdvcmsoJ2ZmMDA6Oi84JykKKworICAgIF9wcml2YXRlX25ldHdvcmtzID0gWworICAgICAgICBJUHY2TmV0d29yaygnOjoxLzEyOCcpLAorICAgICAgICBJUHY2TmV0d29yaygnOjovMTI4JyksCisgICAgICAgIElQdjZOZXR3b3JrKCc6OmZmZmY6MDowLzk2JyksCisgICAgICAgIElQdjZOZXR3b3JrKCcxMDA6Oi82NCcpLAorICAgICAgICBJUHY2TmV0d29yaygnMjAwMTo6LzIzJyksCisgICAgICAgIElQdjZOZXR3b3JrKCcyMDAxOjI6Oi80OCcpLAorICAgICAgICBJUHY2TmV0d29yaygnMjAwMTpkYjg6Oi8zMicpLAorICAgICAgICBJUHY2TmV0d29yaygnMjAwMToxMDo6LzI4JyksCisgICAgICAgIElQdjZOZXR3b3JrKCdmYzAwOjovNycpLAorICAgICAgICBJUHY2TmV0d29yaygnZmU4MDo6LzEwJyksCisgICAgICAgIF0KKworICAgIF9yZXNlcnZlZF9uZXR3b3JrcyA9IFsKKyAgICAgICAgSVB2Nk5ldHdvcmsoJzo6LzgnKSwgSVB2Nk5ldHdvcmsoJzEwMDo6LzgnKSwKKyAgICAgICAgSVB2Nk5ldHdvcmsoJzIwMDo6LzcnKSwgSVB2Nk5ldHdvcmsoJzQwMDo6LzYnKSwKKyAgICAgICAgSVB2Nk5ldHdvcmsoJzgwMDo6LzUnKSwgSVB2Nk5ldHdvcmsoJzEwMDA6Oi80JyksCisgICAgICAgIElQdjZOZXR3b3JrKCc0MDAwOjovMycpLCBJUHY2TmV0d29yaygnNjAwMDo6LzMnKSwKKyAgICAgICAgSVB2Nk5ldHdvcmsoJzgwMDA6Oi8zJyksIElQdjZOZXR3b3JrKCdBMDAwOjovMycpLAorICAgICAgICBJUHY2TmV0d29yaygnQzAwMDo6LzMnKSwgSVB2Nk5ldHdvcmsoJ0UwMDA6Oi80JyksCisgICAgICAgIElQdjZOZXR3b3JrKCdGMDAwOjovNScpLCBJUHY2TmV0d29yaygnRjgwMDo6LzYnKSwKKyAgICAgICAgSVB2Nk5ldHdvcmsoJ0ZFMDA6Oi85JyksCisgICAgXQorCisgICAgX3NpdGVsb2NhbF9uZXR3b3JrID0gSVB2Nk5ldHdvcmsoJ2ZlYzA6Oi8xMCcpCisKKworSVB2NkFkZHJlc3MuX2NvbnN0YW50cyA9IF9JUHY2Q29uc3RhbnRzCmRpZmYgLS1naXQgYS9MaWIvanNvbi9fX2luaXRfXy5weSBiL0xpYi9qc29uL19faW5pdF9fLnB5CmluZGV4IDk0ZjdkOGMuLjZjZTk4ODAgMTAwNjQ0Ci0tLSBhL0xpYi9qc29uL19faW5pdF9fLnB5CisrKyBiL0xpYi9qc29uL19faW5pdF9fLnB5CkBAIC05OCwxMiArOTgsMTIgQEAKIF9fdmVyc2lvbl9fID0gJzIuMC45JwogX19hbGxfXyA9IFsKICAgICAnZHVtcCcsICdkdW1wcycsICdsb2FkJywgJ2xvYWRzJywKLSAgICAnSlNPTkRlY29kZXInLCAnSlNPTkVuY29kZXInLAorICAgICdKU09ORGVjb2RlcicsICdKU09ORGVjb2RlRXJyb3InLCAnSlNPTkVuY29kZXInLAogXQogCiBfX2F1dGhvcl9fID0gJ0JvYiBJcHBvbGl0byA8Ym9iQHJlZGl2aS5jb20+JwogCi1mcm9tIC5kZWNvZGVyIGltcG9ydCBKU09ORGVjb2RlcgorZnJvbSAuZGVjb2RlciBpbXBvcnQgSlNPTkRlY29kZXIsIEpTT05EZWNvZGVFcnJvcgogZnJvbSAuZW5jb2RlciBpbXBvcnQgSlNPTkVuY29kZXIKIAogX2RlZmF1bHRfZW5jb2RlciA9IEpTT05FbmNvZGVyKApAQCAtMzExLDcgKzMxMSw4IEBACiAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigndGhlIEpTT04gb2JqZWN0IG11c3QgYmUgc3RyLCBub3QgeyFyfScuZm9ybWF0KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMuX19jbGFzc19fLl9fbmFtZV9fKSkKICAgICBpZiBzLnN0YXJ0c3dpdGgodSdcdWZlZmYnKToKLSAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiVW5leHBlY3RlZCBVVEYtOCBCT00gKGRlY29kZSB1c2luZyB1dGYtOC1zaWcpIikKKyAgICAgICAgcmFpc2UgSlNPTkRlY29kZUVycm9yKCJVbmV4cGVjdGVkIFVURi04IEJPTSAoZGVjb2RlIHVzaW5nIHV0Zi04LXNpZykiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcywgMCkKICAgICBpZiAoY2xzIGlzIE5vbmUgYW5kIG9iamVjdF9ob29rIGlzIE5vbmUgYW5kCiAgICAgICAgICAgICBwYXJzZV9pbnQgaXMgTm9uZSBhbmQgcGFyc2VfZmxvYXQgaXMgTm9uZSBhbmQKICAgICAgICAgICAgIHBhcnNlX2NvbnN0YW50IGlzIE5vbmUgYW5kIG9iamVjdF9wYWlyc19ob29rIGlzIE5vbmUgYW5kIG5vdCBrdyk6CmRpZmYgLS1naXQgYS9MaWIvanNvbi9kZWNvZGVyLnB5IGIvTGliL2pzb24vZGVjb2Rlci5weQppbmRleCA1OWU1ZjQxLi4wZjAzZjIwIDEwMDY0NAotLS0gYS9MaWIvanNvbi9kZWNvZGVyLnB5CisrKyBiL0xpYi9qc29uL2RlY29kZXIucHkKQEAgLTgsNyArOCw3IEBACiBleGNlcHQgSW1wb3J0RXJyb3I6CiAgICAgY19zY2Fuc3RyaW5nID0gTm9uZQogCi1fX2FsbF9fID0gWydKU09ORGVjb2RlciddCitfX2FsbF9fID0gWydKU09ORGVjb2RlcicsICdKU09ORGVjb2RlRXJyb3InXQogCiBGTEFHUyA9IHJlLlZFUkJPU0UgfCByZS5NVUxUSUxJTkUgfCByZS5ET1RBTEwKIApAQCAtMTcsMzIgKzE3LDMwIEBACiBOZWdJbmYgPSBmbG9hdCgnLWluZicpCiAKIAotZGVmIGxpbmVjb2woZG9jLCBwb3MpOgotICAgIGlmIGlzaW5zdGFuY2UoZG9jLCBieXRlcyk6Ci0gICAgICAgIG5ld2xpbmUgPSBiJ1xuJwotICAgIGVsc2U6Ci0gICAgICAgIG5ld2xpbmUgPSAnXG4nCi0gICAgbGluZW5vID0gZG9jLmNvdW50KG5ld2xpbmUsIDAsIHBvcykgKyAxCi0gICAgaWYgbGluZW5vID09IDE6Ci0gICAgICAgIGNvbG5vID0gcG9zICsgMQotICAgIGVsc2U6Ci0gICAgICAgIGNvbG5vID0gcG9zIC0gZG9jLnJpbmRleChuZXdsaW5lLCAwLCBwb3MpCi0gICAgcmV0dXJuIGxpbmVubywgY29sbm8KK2NsYXNzIEpTT05EZWNvZGVFcnJvcihWYWx1ZUVycm9yKToKKyAgICAiIiJTdWJjbGFzcyBvZiBWYWx1ZUVycm9yIHdpdGggdGhlIGZvbGxvd2luZyBhZGRpdGlvbmFsIHByb3BlcnRpZXM6CiAKKyAgICBtc2c6IFRoZSB1bmZvcm1hdHRlZCBlcnJvciBtZXNzYWdlCisgICAgZG9jOiBUaGUgSlNPTiBkb2N1bWVudCBiZWluZyBwYXJzZWQKKyAgICBwb3M6IFRoZSBzdGFydCBpbmRleCBvZiBkb2Mgd2hlcmUgcGFyc2luZyBmYWlsZWQKKyAgICBsaW5lbm86IFRoZSBsaW5lIGNvcnJlc3BvbmRpbmcgdG8gcG9zCisgICAgY29sbm86IFRoZSBjb2x1bW4gY29ycmVzcG9uZGluZyB0byBwb3MKIAotZGVmIGVycm1zZyhtc2csIGRvYywgcG9zLCBlbmQ9Tm9uZSk6Ci0gICAgIyBOb3RlIHRoYXQgdGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgZnJvbSBfanNvbgotICAgIGxpbmVubywgY29sbm8gPSBsaW5lY29sKGRvYywgcG9zKQotICAgIGlmIGVuZCBpcyBOb25lOgotICAgICAgICBmbXQgPSAnezB9OiBsaW5lIHsxfSBjb2x1bW4gezJ9IChjaGFyIHszfSknCi0gICAgICAgIHJldHVybiBmbXQuZm9ybWF0KG1zZywgbGluZW5vLCBjb2xubywgcG9zKQotICAgICAgICAjZm10ID0gJyVzOiBsaW5lICVkIGNvbHVtbiAlZCAoY2hhciAlZCknCi0gICAgICAgICNyZXR1cm4gZm10ICUgKG1zZywgbGluZW5vLCBjb2xubywgcG9zKQotICAgIGVuZGxpbmVubywgZW5kY29sbm8gPSBsaW5lY29sKGRvYywgZW5kKQotICAgIGZtdCA9ICd7MH06IGxpbmUgezF9IGNvbHVtbiB7Mn0gLSBsaW5lIHszfSBjb2x1bW4gezR9IChjaGFyIHs1fSAtIHs2fSknCi0gICAgcmV0dXJuIGZtdC5mb3JtYXQobXNnLCBsaW5lbm8sIGNvbG5vLCBlbmRsaW5lbm8sIGVuZGNvbG5vLCBwb3MsIGVuZCkKLSAgICAjZm10ID0gJyVzOiBsaW5lICVkIGNvbHVtbiAlZCAtIGxpbmUgJWQgY29sdW1uICVkIChjaGFyICVkIC0gJWQpJwotICAgICNyZXR1cm4gZm10ICUgKG1zZywgbGluZW5vLCBjb2xubywgZW5kbGluZW5vLCBlbmRjb2xubywgcG9zLCBlbmQpCisgICAgIiIiCisgICAgIyBOb3RlIHRoYXQgdGhpcyBleGNlcHRpb24gaXMgdXNlZCBmcm9tIF9qc29uCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIG1zZywgZG9jLCBwb3MpOgorICAgICAgICBsaW5lbm8gPSBkb2MuY291bnQoJ1xuJywgMCwgcG9zKSArIDEKKyAgICAgICAgY29sbm8gPSBwb3MgLSBkb2MucmZpbmQoJ1xuJywgMCwgcG9zKQorICAgICAgICBlcnJtc2cgPSAnJXM6IGxpbmUgJWQgY29sdW1uICVkIChjaGFyICVkKScgJSAobXNnLCBsaW5lbm8sIGNvbG5vLCBwb3MpCisgICAgICAgIFZhbHVlRXJyb3IuX19pbml0X18oc2VsZiwgZXJybXNnKQorICAgICAgICBzZWxmLm1zZyA9IG1zZworICAgICAgICBzZWxmLmRvYyA9IGRvYworICAgICAgICBzZWxmLnBvcyA9IHBvcworICAgICAgICBzZWxmLmxpbmVubyA9IGxpbmVubworICAgICAgICBzZWxmLmNvbG5vID0gY29sbm8KKworICAgIGRlZiBfX3JlZHVjZV9fKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5fX2NsYXNzX18sIChzZWxmLm1zZywgc2VsZi5kb2MsIHNlbGYucG9zKQogCiAKIF9DT05TVEFOVFMgPSB7CkBAIC02Niw3ICs2NCw3IEBACiAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgogICAgICAgICAgICAgcGFzcwogICAgIG1zZyA9ICJJbnZhbGlkIFxcdVhYWFggZXNjYXBlIgotICAgIHJhaXNlIFZhbHVlRXJyb3IoZXJybXNnKG1zZywgcywgcG9zKSkKKyAgICByYWlzZSBKU09ORGVjb2RlRXJyb3IobXNnLCBzLCBwb3MpCiAKIGRlZiBweV9zY2Fuc3RyaW5nKHMsIGVuZCwgc3RyaWN0PVRydWUsCiAgICAgICAgIF9iPUJBQ0tTTEFTSCwgX209U1RSSU5HQ0hVTksubWF0Y2gpOgpAQCAtODQsOCArODIsNyBAQAogICAgIHdoaWxlIDE6CiAgICAgICAgIGNodW5rID0gX20ocywgZW5kKQogICAgICAgICBpZiBjaHVuayBpcyBOb25lOgotICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigKLSAgICAgICAgICAgICAgICBlcnJtc2coIlVudGVybWluYXRlZCBzdHJpbmcgc3RhcnRpbmcgYXQiLCBzLCBiZWdpbikpCisgICAgICAgICAgICByYWlzZSBKU09ORGVjb2RlRXJyb3IoIlVudGVybWluYXRlZCBzdHJpbmcgc3RhcnRpbmcgYXQiLCBzLCBiZWdpbikKICAgICAgICAgZW5kID0gY2h1bmsuZW5kKCkKICAgICAgICAgY29udGVudCwgdGVybWluYXRvciA9IGNodW5rLmdyb3VwcygpCiAgICAgICAgICMgQ29udGVudCBpcyBjb250YWlucyB6ZXJvIG9yIG1vcmUgdW5lc2NhcGVkIHN0cmluZyBjaGFyYWN0ZXJzCkBAIC05OSwyMiArOTYsMjEgQEAKICAgICAgICAgICAgIGlmIHN0cmljdDoKICAgICAgICAgICAgICAgICAjbXNnID0gIkludmFsaWQgY29udHJvbCBjaGFyYWN0ZXIgJXIgYXQiICUgKHRlcm1pbmF0b3IsKQogICAgICAgICAgICAgICAgIG1zZyA9ICJJbnZhbGlkIGNvbnRyb2wgY2hhcmFjdGVyIHswIXJ9IGF0Ii5mb3JtYXQodGVybWluYXRvcikKLSAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKGVycm1zZyhtc2csIHMsIGVuZCkpCisgICAgICAgICAgICAgICAgcmFpc2UgSlNPTkRlY29kZUVycm9yKG1zZywgcywgZW5kKQogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBfYXBwZW5kKHRlcm1pbmF0b3IpCiAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgZXNjID0gc1tlbmRdCiAgICAgICAgIGV4Y2VwdCBJbmRleEVycm9yOgotICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigKLSAgICAgICAgICAgICAgICBlcnJtc2coIlVudGVybWluYXRlZCBzdHJpbmcgc3RhcnRpbmcgYXQiLCBzLCBiZWdpbikpCisgICAgICAgICAgICByYWlzZSBKU09ORGVjb2RlRXJyb3IoIlVudGVybWluYXRlZCBzdHJpbmcgc3RhcnRpbmcgYXQiLCBzLCBiZWdpbikKICAgICAgICAgIyBJZiBub3QgYSB1bmljb2RlIGVzY2FwZSBzZXF1ZW5jZSwgbXVzdCBiZSBpbiB0aGUgbG9va3VwIHRhYmxlCiAgICAgICAgIGlmIGVzYyAhPSAndSc6CiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgY2hhciA9IF9iW2VzY10KICAgICAgICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKICAgICAgICAgICAgICAgICBtc2cgPSAiSW52YWxpZCBcXGVzY2FwZTogezAhcn0iLmZvcm1hdChlc2MpCi0gICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcihlcnJtc2cobXNnLCBzLCBlbmQpKQorICAgICAgICAgICAgICAgIHJhaXNlIEpTT05EZWNvZGVFcnJvcihtc2csIHMsIGVuZCkKICAgICAgICAgICAgIGVuZCArPSAxCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICB1bmkgPSBfZGVjb2RlX3VYWFhYKHMsIGVuZCkKQEAgLTE2Myw4ICsxNTksOCBAQAogICAgICAgICAgICAgICAgIHBhaXJzID0gb2JqZWN0X2hvb2socGFpcnMpCiAgICAgICAgICAgICByZXR1cm4gcGFpcnMsIGVuZCArIDEKICAgICAgICAgZWxpZiBuZXh0Y2hhciAhPSAnIic6Ci0gICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKGVycm1zZygKLSAgICAgICAgICAgICAgICAiRXhwZWN0aW5nIHByb3BlcnR5IG5hbWUgZW5jbG9zZWQgaW4gZG91YmxlIHF1b3RlcyIsIHMsIGVuZCkpCisgICAgICAgICAgICByYWlzZSBKU09ORGVjb2RlRXJyb3IoCisgICAgICAgICAgICAgICAgIkV4cGVjdGluZyBwcm9wZXJ0eSBuYW1lIGVuY2xvc2VkIGluIGRvdWJsZSBxdW90ZXMiLCBzLCBlbmQpCiAgICAgZW5kICs9IDEKICAgICB3aGlsZSBUcnVlOgogICAgICAgICBrZXksIGVuZCA9IHNjYW5zdHJpbmcocywgZW5kLCBzdHJpY3QpCkBAIC0xNzQsNyArMTcwLDcgQEAKICAgICAgICAgaWYgc1tlbmQ6ZW5kICsgMV0gIT0gJzonOgogICAgICAgICAgICAgZW5kID0gX3cocywgZW5kKS5lbmQoKQogICAgICAgICAgICAgaWYgc1tlbmQ6ZW5kICsgMV0gIT0gJzonOgotICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoZXJybXNnKCJFeHBlY3RpbmcgJzonIGRlbGltaXRlciIsIHMsIGVuZCkpCisgICAgICAgICAgICAgICAgcmFpc2UgSlNPTkRlY29kZUVycm9yKCJFeHBlY3RpbmcgJzonIGRlbGltaXRlciIsIHMsIGVuZCkKICAgICAgICAgZW5kICs9IDEKIAogICAgICAgICB0cnk6CkBAIC0xODgsNyArMTg0LDcgQEAKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgdmFsdWUsIGVuZCA9IHNjYW5fb25jZShzLCBlbmQpCiAgICAgICAgIGV4Y2VwdCBTdG9wSXRlcmF0aW9uIGFzIGVycjoKLSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoZXJybXNnKCJFeHBlY3RpbmcgdmFsdWUiLCBzLCBlcnIudmFsdWUpKSBmcm9tIE5vbmUKKyAgICAgICAgICAgIHJhaXNlIEpTT05EZWNvZGVFcnJvcigiRXhwZWN0aW5nIHZhbHVlIiwgcywgZXJyLnZhbHVlKSBmcm9tIE5vbmUKICAgICAgICAgcGFpcnNfYXBwZW5kKChrZXksIHZhbHVlKSkKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgbmV4dGNoYXIgPSBzW2VuZF0KQEAgLTIwMiwxMyArMTk4LDEzIEBACiAgICAgICAgIGlmIG5leHRjaGFyID09ICd9JzoKICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgIGVsaWYgbmV4dGNoYXIgIT0gJywnOgotICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcihlcnJtc2coIkV4cGVjdGluZyAnLCcgZGVsaW1pdGVyIiwgcywgZW5kIC0gMSkpCisgICAgICAgICAgICByYWlzZSBKU09ORGVjb2RlRXJyb3IoIkV4cGVjdGluZyAnLCcgZGVsaW1pdGVyIiwgcywgZW5kIC0gMSkKICAgICAgICAgZW5kID0gX3cocywgZW5kKS5lbmQoKQogICAgICAgICBuZXh0Y2hhciA9IHNbZW5kOmVuZCArIDFdCiAgICAgICAgIGVuZCArPSAxCiAgICAgICAgIGlmIG5leHRjaGFyICE9ICciJzoKLSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoZXJybXNnKAotICAgICAgICAgICAgICAgICJFeHBlY3RpbmcgcHJvcGVydHkgbmFtZSBlbmNsb3NlZCBpbiBkb3VibGUgcXVvdGVzIiwgcywgZW5kIC0gMSkpCisgICAgICAgICAgICByYWlzZSBKU09ORGVjb2RlRXJyb3IoCisgICAgICAgICAgICAgICAgIkV4cGVjdGluZyBwcm9wZXJ0eSBuYW1lIGVuY2xvc2VkIGluIGRvdWJsZSBxdW90ZXMiLCBzLCBlbmQgLSAxKQogICAgIGlmIG9iamVjdF9wYWlyc19ob29rIGlzIG5vdCBOb25lOgogICAgICAgICByZXN1bHQgPSBvYmplY3RfcGFpcnNfaG9vayhwYWlycykKICAgICAgICAgcmV0dXJuIHJlc3VsdCwgZW5kCkBAIC0yMzIsNyArMjI4LDcgQEAKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgdmFsdWUsIGVuZCA9IHNjYW5fb25jZShzLCBlbmQpCiAgICAgICAgIGV4Y2VwdCBTdG9wSXRlcmF0aW9uIGFzIGVycjoKLSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoZXJybXNnKCJFeHBlY3RpbmcgdmFsdWUiLCBzLCBlcnIudmFsdWUpKSBmcm9tIE5vbmUKKyAgICAgICAgICAgIHJhaXNlIEpTT05EZWNvZGVFcnJvcigiRXhwZWN0aW5nIHZhbHVlIiwgcywgZXJyLnZhbHVlKSBmcm9tIE5vbmUKICAgICAgICAgX2FwcGVuZCh2YWx1ZSkKICAgICAgICAgbmV4dGNoYXIgPSBzW2VuZDplbmQgKyAxXQogICAgICAgICBpZiBuZXh0Y2hhciBpbiBfd3M6CkBAIC0yNDIsNyArMjM4LDcgQEAKICAgICAgICAgaWYgbmV4dGNoYXIgPT0gJ10nOgogICAgICAgICAgICAgYnJlYWsKICAgICAgICAgZWxpZiBuZXh0Y2hhciAhPSAnLCc6Ci0gICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKGVycm1zZygiRXhwZWN0aW5nICcsJyBkZWxpbWl0ZXIiLCBzLCBlbmQgLSAxKSkKKyAgICAgICAgICAgIHJhaXNlIEpTT05EZWNvZGVFcnJvcigiRXhwZWN0aW5nICcsJyBkZWxpbWl0ZXIiLCBzLCBlbmQgLSAxKQogICAgICAgICB0cnk6CiAgICAgICAgICAgICBpZiBzW2VuZF0gaW4gX3dzOgogICAgICAgICAgICAgICAgIGVuZCArPSAxCkBAIC0zNDMsNyArMzM5LDcgQEAKICAgICAgICAgb2JqLCBlbmQgPSBzZWxmLnJhd19kZWNvZGUocywgaWR4PV93KHMsIDApLmVuZCgpKQogICAgICAgICBlbmQgPSBfdyhzLCBlbmQpLmVuZCgpCiAgICAgICAgIGlmIGVuZCAhPSBsZW4ocyk6Ci0gICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKGVycm1zZygiRXh0cmEgZGF0YSIsIHMsIGVuZCwgbGVuKHMpKSkKKyAgICAgICAgICAgIHJhaXNlIEpTT05EZWNvZGVFcnJvcigiRXh0cmEgZGF0YSIsIHMsIGVuZCkKICAgICAgICAgcmV0dXJuIG9iagogCiAgICAgZGVmIHJhd19kZWNvZGUoc2VsZiwgcywgaWR4PTApOgpAQCAtMzU4LDUgKzM1NCw1IEBACiAgICAgICAgIHRyeToKICAgICAgICAgICAgIG9iaiwgZW5kID0gc2VsZi5zY2FuX29uY2UocywgaWR4KQogICAgICAgICBleGNlcHQgU3RvcEl0ZXJhdGlvbiBhcyBlcnI6Ci0gICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKGVycm1zZygiRXhwZWN0aW5nIHZhbHVlIiwgcywgZXJyLnZhbHVlKSkgZnJvbSBOb25lCisgICAgICAgICAgICByYWlzZSBKU09ORGVjb2RlRXJyb3IoIkV4cGVjdGluZyB2YWx1ZSIsIHMsIGVyci52YWx1ZSkgZnJvbSBOb25lCiAgICAgICAgIHJldHVybiBvYmosIGVuZApkaWZmIC0tZ2l0IGEvTGliL2pzb24vZW5jb2Rlci5weSBiL0xpYi9qc29uL2VuY29kZXIucHkKaW5kZXggMDUxMzgzOC4uMjZlOWViMiAxMDA2NDQKLS0tIGEvTGliL2pzb24vZW5jb2Rlci5weQorKysgYi9MaWIvanNvbi9lbmNvZGVyLnB5CkBAIC03LDYgKzcsMTAgQEAKIGV4Y2VwdCBJbXBvcnRFcnJvcjoKICAgICBjX2VuY29kZV9iYXNlc3RyaW5nX2FzY2lpID0gTm9uZQogdHJ5OgorICAgIGZyb20gX2pzb24gaW1wb3J0IGVuY29kZV9iYXNlc3RyaW5nIGFzIGNfZW5jb2RlX2Jhc2VzdHJpbmcKK2V4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICBjX2VuY29kZV9iYXNlc3RyaW5nID0gTm9uZQordHJ5OgogICAgIGZyb20gX2pzb24gaW1wb3J0IG1ha2VfZW5jb2RlciBhcyBjX21ha2VfZW5jb2RlcgogZXhjZXB0IEltcG9ydEVycm9yOgogICAgIGNfbWFrZV9lbmNvZGVyID0gTm9uZQpAQCAtMzAsNyArMzQsNyBAQAogSU5GSU5JVFkgPSBmbG9hdCgnaW5mJykKIEZMT0FUX1JFUFIgPSByZXByCiAKLWRlZiBlbmNvZGVfYmFzZXN0cmluZyhzKToKK2RlZiBweV9lbmNvZGVfYmFzZXN0cmluZyhzKToKICAgICAiIiJSZXR1cm4gYSBKU09OIHJlcHJlc2VudGF0aW9uIG9mIGEgUHl0aG9uIHN0cmluZwogCiAgICAgIiIiCkBAIC0zOSw2ICs0Myw5IEBACiAgICAgcmV0dXJuICciJyArIEVTQ0FQRS5zdWIocmVwbGFjZSwgcykgKyAnIicKIAogCitlbmNvZGVfYmFzZXN0cmluZyA9IChjX2VuY29kZV9iYXNlc3RyaW5nIG9yIHB5X2VuY29kZV9iYXNlc3RyaW5nKQorCisKIGRlZiBweV9lbmNvZGVfYmFzZXN0cmluZ19hc2NpaShzKToKICAgICAiIiJSZXR1cm4gYW4gQVNDSUktb25seSBKU09OIHJlcHJlc2VudGF0aW9uIG9mIGEgUHl0aG9uIHN0cmluZwogCmRpZmYgLS1naXQgYS9MaWIvanNvbi90b29sLnB5IGIvTGliL2pzb24vdG9vbC5weQppbmRleCA3ZGI0NTI4Li40ZjMxODJjIDEwMDY0NAotLS0gYS9MaWIvanNvbi90b29sLnB5CisrKyBiL0xpYi9qc29uL3Rvb2wucHkKQEAgLTEwLDI4ICsxMCwzOSBAQAogICAgIEV4cGVjdGluZyBwcm9wZXJ0eSBuYW1lIGVuY2xvc2VkIGluIGRvdWJsZSBxdW90ZXM6IGxpbmUgMSBjb2x1bW4gMyAoY2hhciAyKQogCiAiIiIKLWltcG9ydCBzeXMKK2ltcG9ydCBhcmdwYXJzZQoraW1wb3J0IGNvbGxlY3Rpb25zCiBpbXBvcnQganNvbgoraW1wb3J0IHN5cworCiAKIGRlZiBtYWluKCk6Ci0gICAgaWYgbGVuKHN5cy5hcmd2KSA9PSAxOgotICAgICAgICBpbmZpbGUgPSBzeXMuc3RkaW4KLSAgICAgICAgb3V0ZmlsZSA9IHN5cy5zdGRvdXQKLSAgICBlbGlmIGxlbihzeXMuYXJndikgPT0gMjoKLSAgICAgICAgaW5maWxlID0gb3BlbihzeXMuYXJndlsxXSwgJ3InKQotICAgICAgICBvdXRmaWxlID0gc3lzLnN0ZG91dAotICAgIGVsaWYgbGVuKHN5cy5hcmd2KSA9PSAzOgotICAgICAgICBpbmZpbGUgPSBvcGVuKHN5cy5hcmd2WzFdLCAncicpCi0gICAgICAgIG91dGZpbGUgPSBvcGVuKHN5cy5hcmd2WzJdLCAndycpCi0gICAgZWxzZToKLSAgICAgICAgcmFpc2UgU3lzdGVtRXhpdChzeXMuYXJndlswXSArICIgW2luZmlsZSBbb3V0ZmlsZV1dIikKKyAgICBwcm9nID0gJ3B5dGhvbiAtbSBqc29uLnRvb2wnCisgICAgZGVzY3JpcHRpb24gPSAoJ0Egc2ltcGxlIGNvbW1hbmQgbGluZSBpbnRlcmZhY2UgZm9yIGpzb24gbW9kdWxlICcKKyAgICAgICAgICAgICAgICAgICAndG8gdmFsaWRhdGUgYW5kIHByZXR0eS1wcmludCBKU09OIG9iamVjdHMuJykKKyAgICBwYXJzZXIgPSBhcmdwYXJzZS5Bcmd1bWVudFBhcnNlcihwcm9nPXByb2csIGRlc2NyaXB0aW9uPWRlc2NyaXB0aW9uKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJ2luZmlsZScsIG5hcmdzPSc/JywgdHlwZT1hcmdwYXJzZS5GaWxlVHlwZSgpLAorICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nYSBKU09OIGZpbGUgdG8gYmUgdmFsaWRhdGVkIG9yIHByZXR0eS1wcmludGVkJykKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCdvdXRmaWxlJywgbmFyZ3M9Jz8nLCB0eXBlPWFyZ3BhcnNlLkZpbGVUeXBlKCd3JyksCisgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSd3cml0ZSB0aGUgb3V0cHV0IG9mIGluZmlsZSB0byBvdXRmaWxlJykKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLXNvcnQta2V5cycsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGRlZmF1bHQ9RmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdzb3J0IHRoZSBvdXRwdXQgb2YgZGljdGlvbmFyaWVzIGFscGhhYmV0aWNhbGx5IGJ5IGtleScpCisgICAgb3B0aW9ucyA9IHBhcnNlci5wYXJzZV9hcmdzKCkKKworICAgIGluZmlsZSA9IG9wdGlvbnMuaW5maWxlIG9yIHN5cy5zdGRpbgorICAgIG91dGZpbGUgPSBvcHRpb25zLm91dGZpbGUgb3Igc3lzLnN0ZG91dAorICAgIHNvcnRfa2V5cyA9IG9wdGlvbnMuc29ydF9rZXlzCiAgICAgd2l0aCBpbmZpbGU6CiAgICAgICAgIHRyeToKLSAgICAgICAgICAgIG9iaiA9IGpzb24ubG9hZChpbmZpbGUpCisgICAgICAgICAgICBpZiBzb3J0X2tleXM6CisgICAgICAgICAgICAgICAgb2JqID0ganNvbi5sb2FkKGluZmlsZSkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgb2JqID0ganNvbi5sb2FkKGluZmlsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0X3BhaXJzX2hvb2s9Y29sbGVjdGlvbnMuT3JkZXJlZERpY3QpCiAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yIGFzIGU6CiAgICAgICAgICAgICByYWlzZSBTeXN0ZW1FeGl0KGUpCiAgICAgd2l0aCBvdXRmaWxlOgotICAgICAgICBqc29uLmR1bXAob2JqLCBvdXRmaWxlLCBzb3J0X2tleXM9VHJ1ZSwgaW5kZW50PTQpCisgICAgICAgIGpzb24uZHVtcChvYmosIG91dGZpbGUsIHNvcnRfa2V5cz1zb3J0X2tleXMsIGluZGVudD00KQogICAgICAgICBvdXRmaWxlLndyaXRlKCdcbicpCiAKIApkaWZmIC0tZ2l0IGEvTGliL2xvY2FsZS5weSBiL0xpYi9sb2NhbGUucHkKaW5kZXggN2ZmNDM1Ni4uNmI5ZWIzYSAxMDA2NDQKLS0tIGEvTGliL2xvY2FsZS5weQorKysgYi9MaWIvbG9jYWxlLnB5CkBAIC0zMDEsOCArMzAxLDggQEAKICAgICAiIiJDb252ZXJ0IGZsb2F0IHRvIGludGVnZXIsIHRha2luZyB0aGUgbG9jYWxlIGludG8gYWNjb3VudC4iIiIKICAgICByZXR1cm4gZm9ybWF0KCIlLjEyZyIsIHZhbCkKIAotZGVmIGF0b2Yoc3RyaW5nLCBmdW5jPWZsb2F0KToKLSAgICAiUGFyc2VzIGEgc3RyaW5nIGFzIGEgZmxvYXQgYWNjb3JkaW5nIHRvIHRoZSBsb2NhbGUgc2V0dGluZ3MuIgorZGVmIGRlbG9jYWxpemUoc3RyaW5nKToKKyAgICAiUGFyc2VzIGEgc3RyaW5nIGFzIGEgbm9ybWFsaXplZCBudW1iZXIgYWNjb3JkaW5nIHRvIHRoZSBsb2NhbGUgc2V0dGluZ3MuIgogICAgICNGaXJzdCwgZ2V0IHJpZCBvZiB0aGUgZ3JvdXBpbmcKICAgICB0cyA9IGxvY2FsZWNvbnYoKVsndGhvdXNhbmRzX3NlcCddCiAgICAgaWYgdHM6CkBAIC0zMTEsMTIgKzMxMSwxNSBAQAogICAgIGRkID0gbG9jYWxlY29udigpWydkZWNpbWFsX3BvaW50J10KICAgICBpZiBkZDoKICAgICAgICAgc3RyaW5nID0gc3RyaW5nLnJlcGxhY2UoZGQsICcuJykKLSAgICAjZmluYWxseSwgcGFyc2UgdGhlIHN0cmluZwotICAgIHJldHVybiBmdW5jKHN0cmluZykKKyAgICByZXR1cm4gc3RyaW5nCiAKLWRlZiBhdG9pKHN0cik6CitkZWYgYXRvZihzdHJpbmcsIGZ1bmM9ZmxvYXQpOgorICAgICJQYXJzZXMgYSBzdHJpbmcgYXMgYSBmbG9hdCBhY2NvcmRpbmcgdG8gdGhlIGxvY2FsZSBzZXR0aW5ncy4iCisgICAgcmV0dXJuIGZ1bmMoZGVsb2NhbGl6ZShzdHJpbmcpKQorCitkZWYgYXRvaShzdHJpbmcpOgogICAgICJDb252ZXJ0cyBhIHN0cmluZyB0byBhbiBpbnRlZ2VyIGFjY29yZGluZyB0byB0aGUgbG9jYWxlIHNldHRpbmdzLiIKLSAgICByZXR1cm4gYXRvZihzdHIsIGludCkKKyAgICByZXR1cm4gaW50KGRlbG9jYWxpemUoc3RyaW5nKSkKIAogZGVmIF90ZXN0KCk6CiAgICAgc2V0bG9jYWxlKExDX0FMTCwgIiIpCmRpZmYgLS1naXQgYS9MaWIvbG9nZ2luZy9fX2luaXRfXy5weSBiL0xpYi9sb2dnaW5nL19faW5pdF9fLnB5CmluZGV4IDlhODY4NWIuLmIxZGMzMTkgMTAwNjQ0Ci0tLSBhL0xpYi9sb2dnaW5nL19faW5pdF9fLnB5CisrKyBiL0xpYi9sb2dnaW5nL19faW5pdF9fLnB5CkBAIC0xLDQgKzEsNCBAQAotIyBDb3B5cmlnaHQgMjAwMS0yMDE0IGJ5IFZpbmF5IFNhamlwLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorIyBDb3B5cmlnaHQgMjAwMS0yMDE1IGJ5IFZpbmF5IFNhamlwLiBBbGwgUmlnaHRzIFJlc2VydmVkLgogIwogIyBQZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGFuZCBpdHMKICMgZG9jdW1lbnRhdGlvbiBmb3IgYW55IHB1cnBvc2UgYW5kIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLApAQCAtMTgsNyArMTgsNyBAQAogTG9nZ2luZyBwYWNrYWdlIGZvciBQeXRob24uIEJhc2VkIG9uIFBFUCAyODIgYW5kIGNvbW1lbnRzIHRoZXJldG8gaW4KIGNvbXAubGFuZy5weXRob24uCiAKLUNvcHlyaWdodCAoQykgMjAwMS0yMDE0IFZpbmF5IFNhamlwLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorQ29weXJpZ2h0IChDKSAyMDAxLTIwMTUgVmluYXkgU2FqaXAuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAKIFRvIHVzZSwgc2ltcGx5ICdpbXBvcnQgbG9nZ2luZycgYW5kIGxvZyBhd2F5IQogIiIiCkBAIC0zMTYsNiArMzE2LDggQEAKICAgICAgICAgcmV0dXJuICc8TG9nUmVjb3JkOiAlcywgJXMsICVzLCAlcywgIiVzIj4nJShzZWxmLm5hbWUsIHNlbGYubGV2ZWxubywKICAgICAgICAgICAgIHNlbGYucGF0aG5hbWUsIHNlbGYubGluZW5vLCBzZWxmLm1zZykKIAorICAgIF9fcmVwcl9fID0gX19zdHJfXworCiAgICAgZGVmIGdldE1lc3NhZ2Uoc2VsZik6CiAgICAgICAgICIiIgogICAgICAgICBSZXR1cm4gdGhlIG1lc3NhZ2UgZm9yIHRoaXMgTG9nUmVjb3JkLgpAQCAtMTA4Niw3ICsxMDg4LDYgQEAKICMKICMgICBEZXRlcm1pbmUgd2hpY2ggY2xhc3MgdG8gdXNlIHdoZW4gaW5zdGFudGlhdGluZyBsb2dnZXJzLgogIwotX2xvZ2dlckNsYXNzID0gTm9uZQogCiBkZWYgc2V0TG9nZ2VyQ2xhc3Moa2xhc3MpOgogICAgICIiIgpAQCAtMTEwNSw3ICsxMTA2LDYgQEAKICAgICAiIiIKICAgICBSZXR1cm4gdGhlIGNsYXNzIHRvIGJlIHVzZWQgd2hlbiBpbnN0YW50aWF0aW5nIGEgbG9nZ2VyLgogICAgICIiIgotCiAgICAgcmV0dXJuIF9sb2dnZXJDbGFzcwogCiBjbGFzcyBNYW5hZ2VyKG9iamVjdCk6CkBAIC0xMzAyLDEyICsxMzAyLDExIEBACiAgICAgICAgIGlmIHNlbGYuaXNFbmFibGVkRm9yKEVSUk9SKToKICAgICAgICAgICAgIHNlbGYuX2xvZyhFUlJPUiwgbXNnLCBhcmdzLCAqKmt3YXJncykKIAotICAgIGRlZiBleGNlcHRpb24oc2VsZiwgbXNnLCAqYXJncywgKiprd2FyZ3MpOgorICAgIGRlZiBleGNlcHRpb24oc2VsZiwgbXNnLCAqYXJncywgZXhjX2luZm89VHJ1ZSwgKiprd2FyZ3MpOgogICAgICAgICAiIiIKICAgICAgICAgQ29udmVuaWVuY2UgbWV0aG9kIGZvciBsb2dnaW5nIGFuIEVSUk9SIHdpdGggZXhjZXB0aW9uIGluZm9ybWF0aW9uLgogICAgICAgICAiIiIKLSAgICAgICAga3dhcmdzWydleGNfaW5mbyddID0gVHJ1ZQotICAgICAgICBzZWxmLmVycm9yKG1zZywgKmFyZ3MsICoqa3dhcmdzKQorICAgICAgICBzZWxmLmVycm9yKG1zZywgKmFyZ3MsIGV4Y19pbmZvPWV4Y19pbmZvLCAqKmt3YXJncykKIAogICAgIGRlZiBjcml0aWNhbChzZWxmLCBtc2csICphcmdzLCAqKmt3YXJncyk6CiAgICAgICAgICIiIgpAQCAtMTQwMiw3ICsxNDAxLDkgQEAKICAgICAgICAgZWxzZTogIyBwcmFnbWE6IG5vIGNvdmVyCiAgICAgICAgICAgICBmbiwgbG5vLCBmdW5jID0gIih1bmtub3duIGZpbGUpIiwgMCwgIih1bmtub3duIGZ1bmN0aW9uKSIKICAgICAgICAgaWYgZXhjX2luZm86Ci0gICAgICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShleGNfaW5mbywgdHVwbGUpOgorICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShleGNfaW5mbywgQmFzZUV4Y2VwdGlvbik6CisgICAgICAgICAgICAgICAgZXhjX2luZm8gPSAodHlwZShleGNfaW5mbyksIGV4Y19pbmZvLCBleGNfaW5mby5fX3RyYWNlYmFja19fKQorICAgICAgICAgICAgZWxpZiBub3QgaXNpbnN0YW5jZShleGNfaW5mbywgdHVwbGUpOgogICAgICAgICAgICAgICAgIGV4Y19pbmZvID0gc3lzLmV4Y19pbmZvKCkKICAgICAgICAgcmVjb3JkID0gc2VsZi5tYWtlUmVjb3JkKHNlbGYubmFtZSwgbGV2ZWwsIGZuLCBsbm8sIG1zZywgYXJncywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4Y19pbmZvLCBmdW5jLCBleHRyYSwgc2luZm8pCkBAIC0xNjEyLDEyICsxNjEzLDExIEBACiAgICAgICAgICIiIgogICAgICAgICBzZWxmLmxvZyhFUlJPUiwgbXNnLCAqYXJncywgKiprd2FyZ3MpCiAKLSAgICBkZWYgZXhjZXB0aW9uKHNlbGYsIG1zZywgKmFyZ3MsICoqa3dhcmdzKToKKyAgICBkZWYgZXhjZXB0aW9uKHNlbGYsIG1zZywgKmFyZ3MsIGV4Y19pbmZvPVRydWUsICoqa3dhcmdzKToKICAgICAgICAgIiIiCiAgICAgICAgIERlbGVnYXRlIGFuIGV4Y2VwdGlvbiBjYWxsIHRvIHRoZSB1bmRlcmx5aW5nIGxvZ2dlci4KICAgICAgICAgIiIiCi0gICAgICAgIGt3YXJnc1siZXhjX2luZm8iXSA9IFRydWUKLSAgICAgICAgc2VsZi5sb2coRVJST1IsIG1zZywgKmFyZ3MsICoqa3dhcmdzKQorICAgICAgICBzZWxmLmxvZyhFUlJPUiwgbXNnLCAqYXJncywgZXhjX2luZm89ZXhjX2luZm8sICoqa3dhcmdzKQogCiAgICAgZGVmIGNyaXRpY2FsKHNlbGYsIG1zZywgKmFyZ3MsICoqa3dhcmdzKToKICAgICAgICAgIiIiCkBAIC0xNzk5LDE0ICsxNzk5LDEzIEBACiAgICAgICAgIGJhc2ljQ29uZmlnKCkKICAgICByb290LmVycm9yKG1zZywgKmFyZ3MsICoqa3dhcmdzKQogCi1kZWYgZXhjZXB0aW9uKG1zZywgKmFyZ3MsICoqa3dhcmdzKToKK2RlZiBleGNlcHRpb24obXNnLCAqYXJncywgZXhjX2luZm89VHJ1ZSwgKiprd2FyZ3MpOgogICAgICIiIgogICAgIExvZyBhIG1lc3NhZ2Ugd2l0aCBzZXZlcml0eSAnRVJST1InIG9uIHRoZSByb290IGxvZ2dlciwgd2l0aCBleGNlcHRpb24KICAgICBpbmZvcm1hdGlvbi4gSWYgdGhlIGxvZ2dlciBoYXMgbm8gaGFuZGxlcnMsIGJhc2ljQ29uZmlnKCkgaXMgY2FsbGVkIHRvIGFkZAogICAgIGEgY29uc29sZSBoYW5kbGVyIHdpdGggYSBwcmUtZGVmaW5lZCBmb3JtYXQuCiAgICAgIiIiCi0gICAga3dhcmdzWydleGNfaW5mbyddID0gVHJ1ZQotICAgIGVycm9yKG1zZywgKmFyZ3MsICoqa3dhcmdzKQorICAgIGVycm9yKG1zZywgKmFyZ3MsIGV4Y19pbmZvPWV4Y19pbmZvLCAqKmt3YXJncykKIAogZGVmIHdhcm5pbmcobXNnLCAqYXJncywgKiprd2FyZ3MpOgogICAgICIiIgpkaWZmIC0tZ2l0IGEvTGliL2xvZ2dpbmcvY29uZmlnLnB5IGIvTGliL2xvZ2dpbmcvY29uZmlnLnB5CmluZGV4IDg5NWZiMjYuLjhhOTk5MjMgMTAwNjQ0Ci0tLSBhL0xpYi9sb2dnaW5nL2NvbmZpZy5weQorKysgYi9MaWIvbG9nZ2luZy9jb25maWcucHkKQEAgLTExNiwxMSArMTE2LDEyIEBACiAgICAgICAgIHNlY3RuYW1lID0gImZvcm1hdHRlcl8lcyIgJSBmb3JtCiAgICAgICAgIGZzID0gY3AuZ2V0KHNlY3RuYW1lLCAiZm9ybWF0IiwgcmF3PVRydWUsIGZhbGxiYWNrPU5vbmUpCiAgICAgICAgIGRmcyA9IGNwLmdldChzZWN0bmFtZSwgImRhdGVmbXQiLCByYXc9VHJ1ZSwgZmFsbGJhY2s9Tm9uZSkKKyAgICAgICAgc3RsID0gY3AuZ2V0KHNlY3RuYW1lLCAic3R5bGUiLCByYXc9VHJ1ZSwgZmFsbGJhY2s9JyUnKQogICAgICAgICBjID0gbG9nZ2luZy5Gb3JtYXR0ZXIKICAgICAgICAgY2xhc3NfbmFtZSA9IGNwW3NlY3RuYW1lXS5nZXQoImNsYXNzIikKICAgICAgICAgaWYgY2xhc3NfbmFtZToKICAgICAgICAgICAgIGMgPSBfcmVzb2x2ZShjbGFzc19uYW1lKQotICAgICAgICBmID0gYyhmcywgZGZzKQorICAgICAgICBmID0gYyhmcywgZGZzLCBzdGwpCiAgICAgICAgIGZvcm1hdHRlcnNbZm9ybV0gPSBmCiAgICAgcmV0dXJuIGZvcm1hdHRlcnMKIApAQCAtNjYwLDcgKzY2MSwxMiBAQAogICAgICAgICAgICAgZm10ID0gY29uZmlnLmdldCgnZm9ybWF0JywgTm9uZSkKICAgICAgICAgICAgIGRmbXQgPSBjb25maWcuZ2V0KCdkYXRlZm10JywgTm9uZSkKICAgICAgICAgICAgIHN0eWxlID0gY29uZmlnLmdldCgnc3R5bGUnLCAnJScpCi0gICAgICAgICAgICByZXN1bHQgPSBsb2dnaW5nLkZvcm1hdHRlcihmbXQsIGRmbXQsIHN0eWxlKQorICAgICAgICAgICAgY25hbWUgPSBjb25maWcuZ2V0KCdjbGFzcycsIE5vbmUpCisgICAgICAgICAgICBpZiBub3QgY25hbWU6CisgICAgICAgICAgICAgICAgYyA9IGxvZ2dpbmcuRm9ybWF0dGVyCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGMgPSBfcmVzb2x2ZShjbmFtZSkKKyAgICAgICAgICAgIHJlc3VsdCA9IGMoZm10LCBkZm10LCBzdHlsZSkKICAgICAgICAgcmV0dXJuIHJlc3VsdAogCiAgICAgZGVmIGNvbmZpZ3VyZV9maWx0ZXIoc2VsZiwgY29uZmlnKToKZGlmZiAtLWdpdCBhL0xpYi9tYWNwYXRoLnB5IGIvTGliL21hY3BhdGgucHkKaW5kZXggNWNhMDA5Ny4uZGJjZjM2OCAxMDA2NDQKLS0tIGEvTGliL21hY3BhdGgucHkKKysrIGIvTGliL21hY3BhdGgucHkKQEAgLTUwLDIwICs1MCwyNCBAQAogCiAKIGRlZiBqb2luKHMsICpwKToKLSAgICBjb2xvbiA9IF9nZXRfY29sb24ocykKLSAgICBwYXRoID0gcwotICAgIGZvciB0IGluIHA6Ci0gICAgICAgIGlmIChub3QgcGF0aCkgb3IgaXNhYnModCk6Ci0gICAgICAgICAgICBwYXRoID0gdAotICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgaWYgdFs6MV0gPT0gY29sb246Ci0gICAgICAgICAgICB0ID0gdFsxOl0KLSAgICAgICAgaWYgY29sb24gbm90IGluIHBhdGg6Ci0gICAgICAgICAgICBwYXRoID0gY29sb24gKyBwYXRoCi0gICAgICAgIGlmIHBhdGhbLTE6XSAhPSBjb2xvbjoKLSAgICAgICAgICAgIHBhdGggPSBwYXRoICsgY29sb24KLSAgICAgICAgcGF0aCA9IHBhdGggKyB0Ci0gICAgcmV0dXJuIHBhdGgKKyAgICB0cnk6CisgICAgICAgIGNvbG9uID0gX2dldF9jb2xvbihzKQorICAgICAgICBwYXRoID0gcworICAgICAgICBmb3IgdCBpbiBwOgorICAgICAgICAgICAgaWYgKG5vdCBwYXRoKSBvciBpc2Ficyh0KToKKyAgICAgICAgICAgICAgICBwYXRoID0gdAorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICBpZiB0WzoxXSA9PSBjb2xvbjoKKyAgICAgICAgICAgICAgICB0ID0gdFsxOl0KKyAgICAgICAgICAgIGlmIGNvbG9uIG5vdCBpbiBwYXRoOgorICAgICAgICAgICAgICAgIHBhdGggPSBjb2xvbiArIHBhdGgKKyAgICAgICAgICAgIGlmIHBhdGhbLTE6XSAhPSBjb2xvbjoKKyAgICAgICAgICAgICAgICBwYXRoID0gcGF0aCArIGNvbG9uCisgICAgICAgICAgICBwYXRoID0gcGF0aCArIHQKKyAgICAgICAgcmV0dXJuIHBhdGgKKyAgICBleGNlcHQgKFR5cGVFcnJvciwgQXR0cmlidXRlRXJyb3IsIEJ5dGVzV2FybmluZyk6CisgICAgICAgIGdlbmVyaWNwYXRoLl9jaGVja19hcmdfdHlwZXMoJ2pvaW4nLCBzLCAqcCkKKyAgICAgICAgcmFpc2UKIAogCiBkZWYgc3BsaXQocyk6CmRpZmYgLS1naXQgYS9MaWIvbWFpbGJveC5weSBiL0xpYi9tYWlsYm94LnB5CmluZGV4IDJlZWU3NmMuLmU3ZjMxZGYgMTAwNjQ0Ci0tLSBhL0xpYi9tYWlsYm94LnB5CisrKyBiL0xpYi9tYWlsYm94LnB5CkBAIC0xMjMwLDggKzEyMzAsOCBAQAogY2xhc3MgQmFieWwoX3NpbmdsZWZpbGVNYWlsYm94KToKICAgICAiIiJBbiBSbWFpbC1zdHlsZSBCYWJ5bCBtYWlsYm94LiIiIgogCi0gICAgX3NwZWNpYWxfbGFiZWxzID0gZnJvemVuc2V0KCgndW5zZWVuJywgJ2RlbGV0ZWQnLCAnZmlsZWQnLCAnYW5zd2VyZWQnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvcndhcmRlZCcsICdlZGl0ZWQnLCAncmVzZW50JykpCisgICAgX3NwZWNpYWxfbGFiZWxzID0gZnJvemVuc2V0KHsndW5zZWVuJywgJ2RlbGV0ZWQnLCAnZmlsZWQnLCAnYW5zd2VyZWQnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvcndhcmRlZCcsICdlZGl0ZWQnLCAncmVzZW50J30pCiAKICAgICBkZWYgX19pbml0X18oc2VsZiwgcGF0aCwgZmFjdG9yeT1Ob25lLCBjcmVhdGU9VHJ1ZSk6CiAgICAgICAgICIiIkluaXRpYWxpemUgYSBCYWJ5bCBtYWlsYm94LiIiIgpAQCAtMTk0OSw3ICsxOTQ5LDcgQEAKICAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgIGxpbmUgPSBzZWxmLnJlYWRsaW5lKCkKICAgICAgICAgICAgIGlmIG5vdCBsaW5lOgotICAgICAgICAgICAgICAgIHJhaXNlIFN0b3BJdGVyYXRpb24KKyAgICAgICAgICAgICAgICByZXR1cm4KICAgICAgICAgICAgIHlpZWxkIGxpbmUKIAogICAgIGRlZiB0ZWxsKHNlbGYpOgpkaWZmIC0tZ2l0IGEvTGliL211bHRpcHJvY2Vzc2luZy9jb25uZWN0aW9uLnB5IGIvTGliL211bHRpcHJvY2Vzc2luZy9jb25uZWN0aW9uLnB5CmluZGV4IDg3MTE3ZDkuLjlhOGFlMjkgMTAwNjQ0Ci0tLSBhL0xpYi9tdWx0aXByb2Nlc3NpbmcvY29ubmVjdGlvbi5weQorKysgYi9MaWIvbXVsdGlwcm9jZXNzaW5nL2Nvbm5lY3Rpb24ucHkKQEAgLTM2NSwxMCArMzY1LDcgQEAKICAgICBkZWYgX3NlbmQoc2VsZiwgYnVmLCB3cml0ZT1fd3JpdGUpOgogICAgICAgICByZW1haW5pbmcgPSBsZW4oYnVmKQogICAgICAgICB3aGlsZSBUcnVlOgotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIG4gPSB3cml0ZShzZWxmLl9oYW5kbGUsIGJ1ZikKLSAgICAgICAgICAgIGV4Y2VwdCBJbnRlcnJ1cHRlZEVycm9yOgotICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICBuID0gd3JpdGUoc2VsZi5faGFuZGxlLCBidWYpCiAgICAgICAgICAgICByZW1haW5pbmcgLT0gbgogICAgICAgICAgICAgaWYgcmVtYWluaW5nID09IDA6CiAgICAgICAgICAgICAgICAgYnJlYWsKQEAgLTM3OSwxMCArMzc2LDcgQEAKICAgICAgICAgaGFuZGxlID0gc2VsZi5faGFuZGxlCiAgICAgICAgIHJlbWFpbmluZyA9IHNpemUKICAgICAgICAgd2hpbGUgcmVtYWluaW5nID4gMDoKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBjaHVuayA9IHJlYWQoaGFuZGxlLCByZW1haW5pbmcpCi0gICAgICAgICAgICBleGNlcHQgSW50ZXJydXB0ZWRFcnJvcjoKLSAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgY2h1bmsgPSByZWFkKGhhbmRsZSwgcmVtYWluaW5nKQogICAgICAgICAgICAgbiA9IGxlbihjaHVuaykKICAgICAgICAgICAgIGlmIG4gPT0gMDoKICAgICAgICAgICAgICAgICBpZiByZW1haW5pbmcgPT0gc2l6ZToKQEAgLTQwMCwxNyArMzk0LDE0IEBACiAgICAgICAgIGlmIG4gPiAxNjM4NDoKICAgICAgICAgICAgICMgVGhlIHBheWxvYWQgaXMgbGFyZ2Ugc28gTmFnbGUncyBhbGdvcml0aG0gd29uJ3QgYmUgdHJpZ2dlcmVkCiAgICAgICAgICAgICAjIGFuZCB3ZSdkIGJldHRlciBhdm9pZCB0aGUgY29zdCBvZiBjb25jYXRlbmF0aW9uLgotICAgICAgICAgICAgY2h1bmtzID0gW2hlYWRlciwgYnVmXQotICAgICAgICBlbGlmIG4gPiAwOgorICAgICAgICAgICAgc2VsZi5fc2VuZChoZWFkZXIpCisgICAgICAgICAgICBzZWxmLl9zZW5kKGJ1ZikKKyAgICAgICAgZWxzZToKICAgICAgICAgICAgICMgSXNzdWUgI+KArzIwNTQwOiBjb25jYXRlbmF0ZSBiZWZvcmUgc2VuZGluZywgdG8gYXZvaWQgZGVsYXlzIGR1ZQogICAgICAgICAgICAgIyB0byBOYWdsZSdzIGFsZ29yaXRobSBvbiBhIFRDUCBzb2NrZXQuCi0gICAgICAgICAgICBjaHVua3MgPSBbaGVhZGVyICsgYnVmXQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgIyBUaGlzIGNvZGUgcGF0aCBpcyBuZWNlc3NhcnkgdG8gYXZvaWQgImJyb2tlbiBwaXBlIiBlcnJvcnMKLSAgICAgICAgICAgICMgd2hlbiBzZW5kaW5nIGEgMC1sZW5ndGggYnVmZmVyIGlmIHRoZSBvdGhlciBlbmQgY2xvc2VkIHRoZSBwaXBlLgotICAgICAgICAgICAgY2h1bmtzID0gW2hlYWRlcl0KLSAgICAgICAgZm9yIGNodW5rIGluIGNodW5rczoKLSAgICAgICAgICAgIHNlbGYuX3NlbmQoY2h1bmspCisgICAgICAgICAgICAjIEFsc28gbm90ZSB3ZSB3YW50IHRvIGF2b2lkIHNlbmRpbmcgYSAwLWxlbmd0aCBidWZmZXIgc2VwYXJhdGVseSwKKyAgICAgICAgICAgICMgdG8gYXZvaWQgImJyb2tlbiBwaXBlIiBlcnJvcnMgaWYgdGhlIG90aGVyIGVuZCBjbG9zZWQgdGhlIHBpcGUuCisgICAgICAgICAgICBzZWxmLl9zZW5kKGhlYWRlciArIGJ1ZikKIAogICAgIGRlZiBfcmVjdl9ieXRlcyhzZWxmLCBtYXhzaXplPU5vbmUpOgogICAgICAgICBidWYgPSBzZWxmLl9yZWN2KDQpCkBAIC01OTgsMTMgKzU4OSw3IEBACiAgICAgICAgICAgICBzZWxmLl91bmxpbmsgPSBOb25lCiAKICAgICBkZWYgYWNjZXB0KHNlbGYpOgotICAgICAgICB3aGlsZSBUcnVlOgotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIHMsIHNlbGYuX2xhc3RfYWNjZXB0ZWQgPSBzZWxmLl9zb2NrZXQuYWNjZXB0KCkKLSAgICAgICAgICAgIGV4Y2VwdCBJbnRlcnJ1cHRlZEVycm9yOgotICAgICAgICAgICAgICAgIHBhc3MKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgcywgc2VsZi5fbGFzdF9hY2NlcHRlZCA9IHNlbGYuX3NvY2tldC5hY2NlcHQoKQogICAgICAgICBzLnNldGJsb2NraW5nKFRydWUpCiAgICAgICAgIHJldHVybiBDb25uZWN0aW9uKHMuZGV0YWNoKCkpCiAKZGlmZiAtLWdpdCBhL0xpYi9tdWx0aXByb2Nlc3NpbmcvZHVtbXkvX19pbml0X18ucHkgYi9MaWIvbXVsdGlwcm9jZXNzaW5nL2R1bW15L19faW5pdF9fLnB5CmluZGV4IDEzNWRiN2YuLjFhYmVhNjQgMTAwNjQ0Ci0tLSBhL0xpYi9tdWx0aXByb2Nlc3NpbmcvZHVtbXkvX19pbml0X18ucHkKKysrIGIvTGliL211bHRpcHJvY2Vzc2luZy9kdW1teS9fX2luaXRfXy5weQpAQCAtODYsNyArODYsNyBAQAogICAgICAgICAgICAgaWYgbm90IG5hbWUuc3RhcnRzd2l0aCgnXycpOgogICAgICAgICAgICAgICAgIHRlbXAuYXBwZW5kKCclcz0lcicgJSAobmFtZSwgdmFsdWUpKQogICAgICAgICB0ZW1wLnNvcnQoKQotICAgICAgICByZXR1cm4gJ05hbWVzcGFjZSglcyknICUgc3RyLmpvaW4oJywgJywgdGVtcCkKKyAgICAgICAgcmV0dXJuICclcyglcyknICUgKHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLCAnLCAnLmpvaW4odGVtcCkpCiAKIGRpY3QgPSBkaWN0CiBsaXN0ID0gbGlzdApkaWZmIC0tZ2l0IGEvTGliL211bHRpcHJvY2Vzc2luZy9kdW1teS9jb25uZWN0aW9uLnB5IGIvTGliL211bHRpcHJvY2Vzc2luZy9kdW1teS9jb25uZWN0aW9uLnB5CmluZGV4IDY5NGVmOTYuLjE5ODQzNzUgMTAwNjQ0Ci0tLSBhL0xpYi9tdWx0aXByb2Nlc3NpbmcvZHVtbXkvY29ubmVjdGlvbi5weQorKysgYi9MaWIvbXVsdGlwcm9jZXNzaW5nL2R1bW15L2Nvbm5lY3Rpb24ucHkKQEAgLTU5LDkgKzU5LDggQEAKICAgICAgICAgICAgIHJldHVybiBUcnVlCiAgICAgICAgIGlmIHRpbWVvdXQgPD0gMC4wOgogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCi0gICAgICAgIHNlbGYuX2luLm5vdF9lbXB0eS5hY3F1aXJlKCkKLSAgICAgICAgc2VsZi5faW4ubm90X2VtcHR5LndhaXQodGltZW91dCkKLSAgICAgICAgc2VsZi5faW4ubm90X2VtcHR5LnJlbGVhc2UoKQorICAgICAgICB3aXRoIHNlbGYuX2luLm5vdF9lbXB0eToKKyAgICAgICAgICAgIHNlbGYuX2luLm5vdF9lbXB0eS53YWl0KHRpbWVvdXQpCiAgICAgICAgIHJldHVybiBzZWxmLl9pbi5xc2l6ZSgpID4gMAogCiAgICAgZGVmIGNsb3NlKHNlbGYpOgpkaWZmIC0tZ2l0IGEvTGliL211bHRpcHJvY2Vzc2luZy9mb3Jrc2VydmVyLnB5IGIvTGliL211bHRpcHJvY2Vzc2luZy9mb3Jrc2VydmVyLnB5CmluZGV4IDM4NzUxN2UuLmIyN2NiYTUgMTAwNjQ0Ci0tLSBhL0xpYi9tdWx0aXByb2Nlc3NpbmcvZm9ya3NlcnZlci5weQorKysgYi9MaWIvbXVsdGlwcm9jZXNzaW5nL2ZvcmtzZXJ2ZXIucHkKQEAgLTEwNyw3ICsxMDcsNyBAQAogICAgICAgICAgICAgICAgIGFkZHJlc3MgPSBjb25uZWN0aW9uLmFyYml0cmFyeV9hZGRyZXNzKCdBRl9VTklYJykKICAgICAgICAgICAgICAgICBsaXN0ZW5lci5iaW5kKGFkZHJlc3MpCiAgICAgICAgICAgICAgICAgb3MuY2htb2QoYWRkcmVzcywgMG82MDApCi0gICAgICAgICAgICAgICAgbGlzdGVuZXIubGlzdGVuKDEwMCkKKyAgICAgICAgICAgICAgICBsaXN0ZW5lci5saXN0ZW4oKQogCiAgICAgICAgICAgICAgICAgIyBhbGwgY2xpZW50IHByb2Nlc3NlcyBvd24gdGhlIHdyaXRlIGVuZCBvZiB0aGUgImFsaXZlIiBwaXBlOwogICAgICAgICAgICAgICAgICMgd2hlbiB0aGV5IGFsbCB0ZXJtaW5hdGUgdGhlIHJlYWQgZW5kIGJlY29tZXMgcmVhZHkuCkBAIC0xODgsOCArMTg4LDYgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3MuX2V4aXQoY29kZSkKIAotICAgICAgICAgICAgZXhjZXB0IEludGVycnVwdGVkRXJyb3I6Ci0gICAgICAgICAgICAgICAgcGFzcwogICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKICAgICAgICAgICAgICAgICBpZiBlLmVycm5vICE9IGVycm5vLkVDT05OQUJPUlRFRDoKICAgICAgICAgICAgICAgICAgICAgcmFpc2UKQEAgLTIzMCwxMyArMjI4LDcgQEAKICAgICBkYXRhID0gYicnCiAgICAgbGVuZ3RoID0gVU5TSUdORURfU1RSVUNULnNpemUKICAgICB3aGlsZSBsZW4oZGF0YSkgPCBsZW5ndGg6Ci0gICAgICAgIHdoaWxlIFRydWU6Ci0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgcyA9IG9zLnJlYWQoZmQsIGxlbmd0aCAtIGxlbihkYXRhKSkKLSAgICAgICAgICAgIGV4Y2VwdCBJbnRlcnJ1cHRlZEVycm9yOgotICAgICAgICAgICAgICAgIHBhc3MKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgcyA9IG9zLnJlYWQoZmQsIGxlbmd0aCAtIGxlbihkYXRhKSkKICAgICAgICAgaWYgbm90IHM6CiAgICAgICAgICAgICByYWlzZSBFT0ZFcnJvcigndW5leHBlY3RlZCBFT0YnKQogICAgICAgICBkYXRhICs9IHMKQEAgLTI0NSwxMyArMjM3LDcgQEAKIGRlZiB3cml0ZV91bnNpZ25lZChmZCwgbik6CiAgICAgbXNnID0gVU5TSUdORURfU1RSVUNULnBhY2sobikKICAgICB3aGlsZSBtc2c6Ci0gICAgICAgIHdoaWxlIFRydWU6Ci0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgbmJ5dGVzID0gb3Mud3JpdGUoZmQsIG1zZykKLSAgICAgICAgICAgIGV4Y2VwdCBJbnRlcnJ1cHRlZEVycm9yOgotICAgICAgICAgICAgICAgIHBhc3MKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgbmJ5dGVzID0gb3Mud3JpdGUoZmQsIG1zZykKICAgICAgICAgaWYgbmJ5dGVzID09IDA6CiAgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoJ3Nob3VsZCBub3QgZ2V0IGhlcmUnKQogICAgICAgICBtc2cgPSBtc2dbbmJ5dGVzOl0KZGlmZiAtLWdpdCBhL0xpYi9tdWx0aXByb2Nlc3NpbmcvaGVhcC5weSBiL0xpYi9tdWx0aXByb2Nlc3NpbmcvaGVhcC5weQppbmRleCAzNDRhNDVmLi4zMzNiM2JhIDEwMDY0NAotLS0gYS9MaWIvbXVsdGlwcm9jZXNzaW5nL2hlYXAucHkKKysrIGIvTGliL211bHRpcHJvY2Vzc2luZy9oZWFwLnB5CkBAIC01NCw3ICs1NCw5IEBACiAgICAgICAgIGRlZiBfX3NldHN0YXRlX18oc2VsZiwgc3RhdGUpOgogICAgICAgICAgICAgc2VsZi5zaXplLCBzZWxmLm5hbWUgPSBzZWxmLl9zdGF0ZSA9IHN0YXRlCiAgICAgICAgICAgICBzZWxmLmJ1ZmZlciA9IG1tYXAubW1hcCgtMSwgc2VsZi5zaXplLCB0YWduYW1lPXNlbGYubmFtZSkKLSAgICAgICAgICAgIGFzc2VydCBfd2luYXBpLkdldExhc3RFcnJvcigpID09IF93aW5hcGkuRVJST1JfQUxSRUFEWV9FWElTVFMKKyAgICAgICAgICAgICMgWFhYIFRlbXBvcmFyaWx5IHByZXZlbnRpbmcgYnVpbGRib3QgZmFpbHVyZXMgd2hpbGUgZGV0ZXJtaW5pbmcKKyAgICAgICAgICAgICMgWFhYIHRoZSBjb3JyZWN0IGxvbmctdGVybSBmaXguIFNlZSBpc3N1ZSAyMzA2MAorICAgICAgICAgICAgI2Fzc2VydCBfd2luYXBpLkdldExhc3RFcnJvcigpID09IF93aW5hcGkuRVJST1JfQUxSRUFEWV9FWElTVFMKIAogZWxzZToKIApAQCAtMjE2LDkgKzIxOCw4IEBACiAgICAgICAgIGFzc2VydCAwIDw9IHNpemUgPCBzeXMubWF4c2l6ZQogICAgICAgICBpZiBvcy5nZXRwaWQoKSAhPSBzZWxmLl9sYXN0cGlkOgogICAgICAgICAgICAgc2VsZi5fX2luaXRfXygpICAgICAgICAgICAgICAgICAgICAgIyByZWluaXRpYWxpemUgYWZ0ZXIgZm9yawotICAgICAgICBzZWxmLl9sb2NrLmFjcXVpcmUoKQotICAgICAgICBzZWxmLl9mcmVlX3BlbmRpbmdfYmxvY2tzKCkKLSAgICAgICAgdHJ5OgorICAgICAgICB3aXRoIHNlbGYuX2xvY2s6CisgICAgICAgICAgICBzZWxmLl9mcmVlX3BlbmRpbmdfYmxvY2tzKCkKICAgICAgICAgICAgIHNpemUgPSBzZWxmLl9yb3VuZHVwKG1heChzaXplLDEpLCBzZWxmLl9hbGlnbm1lbnQpCiAgICAgICAgICAgICAoYXJlbmEsIHN0YXJ0LCBzdG9wKSA9IHNlbGYuX21hbGxvYyhzaXplKQogICAgICAgICAgICAgbmV3X3N0b3AgPSBzdGFydCArIHNpemUKQEAgLTIyNyw4ICsyMjgsNiBAQAogICAgICAgICAgICAgYmxvY2sgPSAoYXJlbmEsIHN0YXJ0LCBuZXdfc3RvcCkKICAgICAgICAgICAgIHNlbGYuX2FsbG9jYXRlZF9ibG9ja3MuYWRkKGJsb2NrKQogICAgICAgICAgICAgcmV0dXJuIGJsb2NrCi0gICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICBzZWxmLl9sb2NrLnJlbGVhc2UoKQogCiAjCiAjIENsYXNzIHJlcHJlc2VudGluZyBhIGNodW5rIG9mIGFuIG1tYXAgLS0gY2FuIGJlIGluaGVyaXRlZCBieSBjaGlsZCBwcm9jZXNzCmRpZmYgLS1naXQgYS9MaWIvbXVsdGlwcm9jZXNzaW5nL21hbmFnZXJzLnB5IGIvTGliL211bHRpcHJvY2Vzc2luZy9tYW5hZ2Vycy5weQppbmRleCA2NmQ0NmZjLi43NzY2NTZlIDEwMDY0NAotLS0gYS9MaWIvbXVsdGlwcm9jZXNzaW5nL21hbmFnZXJzLnB5CisrKyBiL0xpYi9tdWx0aXByb2Nlc3NpbmcvbWFuYWdlcnMucHkKQEAgLTY1LDggKzY1LDggQEAKICAgICAgICAgKHNlbGYudHlwZWlkLCBzZWxmLmFkZHJlc3MsIHNlbGYuaWQpID0gc3RhdGUKIAogICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKLSAgICAgICAgcmV0dXJuICdUb2tlbih0eXBlaWQ9JXIsIGFkZHJlc3M9JXIsIGlkPSVyKScgJSBcCi0gICAgICAgICAgICAgICAoc2VsZi50eXBlaWQsIHNlbGYuYWRkcmVzcywgc2VsZi5pZCkKKyAgICAgICAgcmV0dXJuICclcyh0eXBlaWQ9JXIsIGFkZHJlc3M9JXIsIGlkPSVyKScgJSBcCisgICAgICAgICAgICAgICAoc2VsZi5fX2NsYXNzX18uX19uYW1lX18sIHNlbGYudHlwZWlkLCBzZWxmLmFkZHJlc3MsIHNlbGYuaWQpCiAKICMKICMgRnVuY3Rpb24gZm9yIGNvbW11bmljYXRpb24gd2l0aCBhIG1hbmFnZXIncyBzZXJ2ZXIgcHJvY2VzcwpAQCAtMzA2LDggKzMwNiw3IEBACiAgICAgICAgICcnJwogICAgICAgICBSZXR1cm4gc29tZSBpbmZvIC0tLSB1c2VmdWwgdG8gc3BvdCBwcm9ibGVtcyB3aXRoIHJlZmNvdW50aW5nCiAgICAgICAgICcnJwotICAgICAgICBzZWxmLm11dGV4LmFjcXVpcmUoKQotICAgICAgICB0cnk6CisgICAgICAgIHdpdGggc2VsZi5tdXRleDoKICAgICAgICAgICAgIHJlc3VsdCA9IFtdCiAgICAgICAgICAgICBrZXlzID0gbGlzdChzZWxmLmlkX3RvX29iai5rZXlzKCkpCiAgICAgICAgICAgICBrZXlzLnNvcnQoKQpAQCAtMzE3LDggKzMxNiw2IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlkZW50LCBzZWxmLmlkX3RvX3JlZmNvdW50W2lkZW50XSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyKHNlbGYuaWRfdG9fb2JqW2lkZW50XVswXSlbOjc1XSkpCiAgICAgICAgICAgICByZXR1cm4gJ1xuJy5qb2luKHJlc3VsdCkKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIHNlbGYubXV0ZXgucmVsZWFzZSgpCiAKICAgICBkZWYgbnVtYmVyX29mX29iamVjdHMoc2VsZiwgYyk6CiAgICAgICAgICcnJwpAQCAtMzQzLDggKzM0MCw3IEBACiAgICAgICAgICcnJwogICAgICAgICBDcmVhdGUgYSBuZXcgc2hhcmVkIG9iamVjdCBhbmQgcmV0dXJuIGl0cyBpZAogICAgICAgICAnJycKLSAgICAgICAgc2VsZi5tdXRleC5hY3F1aXJlKCkKLSAgICAgICAgdHJ5OgorICAgICAgICB3aXRoIHNlbGYubXV0ZXg6CiAgICAgICAgICAgICBjYWxsYWJsZSwgZXhwb3NlZCwgbWV0aG9kX3RvX3R5cGVpZCwgcHJveHl0eXBlID0gXAogICAgICAgICAgICAgICAgICAgICAgIHNlbGYucmVnaXN0cnlbdHlwZWlkXQogCkBAIC0zNzQsOCArMzcwLDYgQEAKICAgICAgICAgICAgICMgaGFzIGJlZW4gY3JlYXRlZC4KICAgICAgICAgICAgIHNlbGYuaW5jcmVmKGMsIGlkZW50KQogICAgICAgICAgICAgcmV0dXJuIGlkZW50LCB0dXBsZShleHBvc2VkKQotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgc2VsZi5tdXRleC5yZWxlYXNlKCkKIAogICAgIGRlZiBnZXRfbWV0aG9kcyhzZWxmLCBjLCB0b2tlbik6CiAgICAgICAgICcnJwpAQCAtMzkyLDIyICszODYsMTYgQEAKICAgICAgICAgc2VsZi5zZXJ2ZV9jbGllbnQoYykKIAogICAgIGRlZiBpbmNyZWYoc2VsZiwgYywgaWRlbnQpOgotICAgICAgICBzZWxmLm11dGV4LmFjcXVpcmUoKQotICAgICAgICB0cnk6CisgICAgICAgIHdpdGggc2VsZi5tdXRleDoKICAgICAgICAgICAgIHNlbGYuaWRfdG9fcmVmY291bnRbaWRlbnRdICs9IDEKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIHNlbGYubXV0ZXgucmVsZWFzZSgpCiAKICAgICBkZWYgZGVjcmVmKHNlbGYsIGMsIGlkZW50KToKLSAgICAgICAgc2VsZi5tdXRleC5hY3F1aXJlKCkKLSAgICAgICAgdHJ5OgorICAgICAgICB3aXRoIHNlbGYubXV0ZXg6CiAgICAgICAgICAgICBhc3NlcnQgc2VsZi5pZF90b19yZWZjb3VudFtpZGVudF0gPj0gMQogICAgICAgICAgICAgc2VsZi5pZF90b19yZWZjb3VudFtpZGVudF0gLT0gMQogICAgICAgICAgICAgaWYgc2VsZi5pZF90b19yZWZjb3VudFtpZGVudF0gPT0gMDoKICAgICAgICAgICAgICAgICBkZWwgc2VsZi5pZF90b19vYmpbaWRlbnRdLCBzZWxmLmlkX3RvX3JlZmNvdW50W2lkZW50XQogICAgICAgICAgICAgICAgIHV0aWwuZGVidWcoJ2Rpc3Bvc2luZyBvZiBvYmogd2l0aCBpZCAlcicsIGlkZW50KQotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgc2VsZi5tdXRleC5yZWxlYXNlKCkKIAogIwogIyBDbGFzcyB0byByZXByZXNlbnQgc3RhdGUgb2YgYSBtYW5hZ2VyCkBAIC02NzEsMTQgKzY1OSwxMSBAQAogCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHRva2VuLCBzZXJpYWxpemVyLCBtYW5hZ2VyPU5vbmUsCiAgICAgICAgICAgICAgICAgIGF1dGhrZXk9Tm9uZSwgZXhwb3NlZD1Ob25lLCBpbmNyZWY9VHJ1ZSk6Ci0gICAgICAgIEJhc2VQcm94eS5fbXV0ZXguYWNxdWlyZSgpCi0gICAgICAgIHRyeToKKyAgICAgICAgd2l0aCBCYXNlUHJveHkuX211dGV4OgogICAgICAgICAgICAgdGxzX2lkc2V0ID0gQmFzZVByb3h5Ll9hZGRyZXNzX3RvX2xvY2FsLmdldCh0b2tlbi5hZGRyZXNzLCBOb25lKQogICAgICAgICAgICAgaWYgdGxzX2lkc2V0IGlzIE5vbmU6CiAgICAgICAgICAgICAgICAgdGxzX2lkc2V0ID0gdXRpbC5Gb3JrQXdhcmVMb2NhbCgpLCBQcm9jZXNzTG9jYWxTZXQoKQogICAgICAgICAgICAgICAgIEJhc2VQcm94eS5fYWRkcmVzc190b19sb2NhbFt0b2tlbi5hZGRyZXNzXSA9IHRsc19pZHNldAotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgQmFzZVByb3h5Ll9tdXRleC5yZWxlYXNlKCkKIAogICAgICAgICAjIHNlbGYuX3RscyBpcyB1c2VkIHRvIHJlY29yZCB0aGUgY29ubmVjdGlvbiB1c2VkIGJ5IHRoaXMKICAgICAgICAgIyB0aHJlYWQgdG8gY29tbXVuaWNhdGUgd2l0aCB0aGUgbWFuYWdlciBhdCB0b2tlbi5hZGRyZXNzCkBAIC04MTgsOCArODAzLDggQEAKICAgICAgICAgcmV0dXJuIHNlbGYuX2dldHZhbHVlKCkKIAogICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKLSAgICAgICAgcmV0dXJuICc8JXMgb2JqZWN0LCB0eXBlaWQgJXIgYXQgJXM+JyAlIFwKLSAgICAgICAgICAgICAgICh0eXBlKHNlbGYpLl9fbmFtZV9fLCBzZWxmLl90b2tlbi50eXBlaWQsICcweCV4JyAlIGlkKHNlbGYpKQorICAgICAgICByZXR1cm4gJzwlcyBvYmplY3QsIHR5cGVpZCAlciBhdCAlI3g+JyAlIFwKKyAgICAgICAgICAgICAgICh0eXBlKHNlbGYpLl9fbmFtZV9fLCBzZWxmLl90b2tlbi50eXBlaWQsIGlkKHNlbGYpKQogCiAgICAgZGVmIF9fc3RyX18oc2VsZik6CiAgICAgICAgICcnJwpAQCAtOTE2LDcgKzkwMSw3IEBACiAgICAgICAgICAgICBpZiBub3QgbmFtZS5zdGFydHN3aXRoKCdfJyk6CiAgICAgICAgICAgICAgICAgdGVtcC5hcHBlbmQoJyVzPSVyJyAlIChuYW1lLCB2YWx1ZSkpCiAgICAgICAgIHRlbXAuc29ydCgpCi0gICAgICAgIHJldHVybiAnTmFtZXNwYWNlKCVzKScgJSBzdHIuam9pbignLCAnLCB0ZW1wKQorICAgICAgICByZXR1cm4gJyVzKCVzKScgJSAoc2VsZi5fX2NsYXNzX18uX19uYW1lX18sICcsICcuam9pbih0ZW1wKSkKIAogY2xhc3MgVmFsdWUob2JqZWN0KToKICAgICBkZWYgX19pbml0X18oc2VsZiwgdHlwZWNvZGUsIHZhbHVlLCBsb2NrPVRydWUpOgpkaWZmIC0tZ2l0IGEvTGliL211bHRpcHJvY2Vzc2luZy9wb29sLnB5IGIvTGliL211bHRpcHJvY2Vzc2luZy9wb29sLnB5CmluZGV4IDg4MzJhNWMuLjc1YTc2YTQgMTAwNjQ0Ci0tLSBhL0xpYi9tdWx0aXByb2Nlc3NpbmcvcG9vbC5weQorKysgYi9MaWIvbXVsdGlwcm9jZXNzaW5nL3Bvb2wucHkKQEAgLTg3LDcgKzg3LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmV4YykKIAogICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKLSAgICAgICAgcmV0dXJuICI8TWF5YmVFbmNvZGluZ0Vycm9yOiAlcz4iICUgc3RyKHNlbGYpCisgICAgICAgIHJldHVybiAiPCVzOiAlcz4iICUgKHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLCBzZWxmKQogCiAKIGRlZiB3b3JrZXIoaW5xdWV1ZSwgb3V0cXVldWUsIGluaXRpYWxpemVyPU5vbmUsIGluaXRhcmdzPSgpLCBtYXh0YXNrcz1Ob25lLApAQCAtNjY2LDggKzY2Niw3IEBACiAgICAgICAgIHJldHVybiBzZWxmCiAKICAgICBkZWYgbmV4dChzZWxmLCB0aW1lb3V0PU5vbmUpOgotICAgICAgICBzZWxmLl9jb25kLmFjcXVpcmUoKQotICAgICAgICB0cnk6CisgICAgICAgIHdpdGggc2VsZi5fY29uZDoKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBpdGVtID0gc2VsZi5faXRlbXMucG9wbGVmdCgpCiAgICAgICAgICAgICBleGNlcHQgSW5kZXhFcnJvcjoKQEAgLTY4MCw4ICs2NzksNiBAQAogICAgICAgICAgICAgICAgICAgICBpZiBzZWxmLl9pbmRleCA9PSBzZWxmLl9sZW5ndGg6CiAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBTdG9wSXRlcmF0aW9uCiAgICAgICAgICAgICAgICAgICAgIHJhaXNlIFRpbWVvdXRFcnJvcgotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgc2VsZi5fY29uZC5yZWxlYXNlKCkKIAogICAgICAgICBzdWNjZXNzLCB2YWx1ZSA9IGl0ZW0KICAgICAgICAgaWYgc3VjY2VzczoKQEAgLTY5MSw4ICs2ODgsNyBAQAogICAgIF9fbmV4dF9fID0gbmV4dCAgICAgICAgICAgICAgICAgICAgIyBYWFgKIAogICAgIGRlZiBfc2V0KHNlbGYsIGksIG9iaik6Ci0gICAgICAgIHNlbGYuX2NvbmQuYWNxdWlyZSgpCi0gICAgICAgIHRyeToKKyAgICAgICAgd2l0aCBzZWxmLl9jb25kOgogICAgICAgICAgICAgaWYgc2VsZi5faW5kZXggPT0gaToKICAgICAgICAgICAgICAgICBzZWxmLl9pdGVtcy5hcHBlbmQob2JqKQogICAgICAgICAgICAgICAgIHNlbGYuX2luZGV4ICs9IDEKQEAgLTcwNiwxOCArNzAyLDEzIEBACiAKICAgICAgICAgICAgIGlmIHNlbGYuX2luZGV4ID09IHNlbGYuX2xlbmd0aDoKICAgICAgICAgICAgICAgICBkZWwgc2VsZi5fY2FjaGVbc2VsZi5fam9iXQotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgc2VsZi5fY29uZC5yZWxlYXNlKCkKIAogICAgIGRlZiBfc2V0X2xlbmd0aChzZWxmLCBsZW5ndGgpOgotICAgICAgICBzZWxmLl9jb25kLmFjcXVpcmUoKQotICAgICAgICB0cnk6CisgICAgICAgIHdpdGggc2VsZi5fY29uZDoKICAgICAgICAgICAgIHNlbGYuX2xlbmd0aCA9IGxlbmd0aAogICAgICAgICAgICAgaWYgc2VsZi5faW5kZXggPT0gc2VsZi5fbGVuZ3RoOgogICAgICAgICAgICAgICAgIHNlbGYuX2NvbmQubm90aWZ5KCkKICAgICAgICAgICAgICAgICBkZWwgc2VsZi5fY2FjaGVbc2VsZi5fam9iXQotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgc2VsZi5fY29uZC5yZWxlYXNlKCkKIAogIwogIyBDbGFzcyB3aG9zZSBpbnN0YW5jZXMgYXJlIHJldHVybmVkIGJ5IGBQb29sLmltYXBfdW5vcmRlcmVkKClgCkBAIC03MjYsMTUgKzcxNywxMiBAQAogY2xhc3MgSU1hcFVub3JkZXJlZEl0ZXJhdG9yKElNYXBJdGVyYXRvcik6CiAKICAgICBkZWYgX3NldChzZWxmLCBpLCBvYmopOgotICAgICAgICBzZWxmLl9jb25kLmFjcXVpcmUoKQotICAgICAgICB0cnk6CisgICAgICAgIHdpdGggc2VsZi5fY29uZDoKICAgICAgICAgICAgIHNlbGYuX2l0ZW1zLmFwcGVuZChvYmopCiAgICAgICAgICAgICBzZWxmLl9pbmRleCArPSAxCiAgICAgICAgICAgICBzZWxmLl9jb25kLm5vdGlmeSgpCiAgICAgICAgICAgICBpZiBzZWxmLl9pbmRleCA9PSBzZWxmLl9sZW5ndGg6CiAgICAgICAgICAgICAgICAgZGVsIHNlbGYuX2NhY2hlW3NlbGYuX2pvYl0KLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIHNlbGYuX2NvbmQucmVsZWFzZSgpCiAKICMKICMKQEAgLTc2MCwxMCArNzQ4LDcgQEAKICAgICBAc3RhdGljbWV0aG9kCiAgICAgZGVmIF9oZWxwX3N0dWZmX2ZpbmlzaChpbnF1ZXVlLCB0YXNrX2hhbmRsZXIsIHNpemUpOgogICAgICAgICAjIHB1dCBzZW50aW5lbHMgYXQgaGVhZCBvZiBpbnF1ZXVlIHRvIG1ha2Ugd29ya2VycyBmaW5pc2gKLSAgICAgICAgaW5xdWV1ZS5ub3RfZW1wdHkuYWNxdWlyZSgpCi0gICAgICAgIHRyeToKKyAgICAgICAgd2l0aCBpbnF1ZXVlLm5vdF9lbXB0eToKICAgICAgICAgICAgIGlucXVldWUucXVldWUuY2xlYXIoKQogICAgICAgICAgICAgaW5xdWV1ZS5xdWV1ZS5leHRlbmQoW05vbmVdICogc2l6ZSkKICAgICAgICAgICAgIGlucXVldWUubm90X2VtcHR5Lm5vdGlmeV9hbGwoKQotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgaW5xdWV1ZS5ub3RfZW1wdHkucmVsZWFzZSgpCmRpZmYgLS1naXQgYS9MaWIvbXVsdGlwcm9jZXNzaW5nL3BvcGVuX2ZvcmsucHkgYi9MaWIvbXVsdGlwcm9jZXNzaW5nL3BvcGVuX2ZvcmsucHkKaW5kZXggMzY3ZTcyZS4uZDJlYmQ3YyAxMDA2NDQKLS0tIGEvTGliL211bHRpcHJvY2Vzc2luZy9wb3Blbl9mb3JrLnB5CisrKyBiL0xpYi9tdWx0aXByb2Nlc3NpbmcvcG9wZW5fZm9yay5weQpAQCAtMSw3ICsxLDYgQEAKIGltcG9ydCBvcwogaW1wb3J0IHN5cwogaW1wb3J0IHNpZ25hbAotaW1wb3J0IGVycm5vCiAKIGZyb20gLiBpbXBvcnQgdXRpbAogCkBAIC0yOSw4ICsyOCw2IEBACiAgICAgICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgICAgICBwaWQsIHN0cyA9IG9zLndhaXRwaWQoc2VsZi5waWQsIGZsYWcpCiAgICAgICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKLSAgICAgICAgICAgICAgICAgICAgaWYgZS5lcnJubyA9PSBlcnJuby5FSU5UUjoKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICAgICAgICAgICMgQ2hpbGQgcHJvY2VzcyBub3QgeWV0IGNyZWF0ZWQuIFNlZSAjMTczMTcxNwogICAgICAgICAgICAgICAgICAgICAjIGUuZXJybm8gPT0gZXJybm8uRUNISUxEID09IDEwCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBOb25lCmRpZmYgLS1naXQgYS9MaWIvbXVsdGlwcm9jZXNzaW5nL3F1ZXVlcy5weSBiL0xpYi9tdWx0aXByb2Nlc3NpbmcvcXVldWVzLnB5CmluZGV4IGY2NTA3NzEuLmMwN2FkNDAgMTAwNjQ0Ci0tLSBhL0xpYi9tdWx0aXByb2Nlc3NpbmcvcXVldWVzLnB5CisrKyBiL0xpYi9tdWx0aXByb2Nlc3NpbmcvcXVldWVzLnB5CkBAIC04MSwxNCArODEsMTEgQEAKICAgICAgICAgaWYgbm90IHNlbGYuX3NlbS5hY3F1aXJlKGJsb2NrLCB0aW1lb3V0KToKICAgICAgICAgICAgIHJhaXNlIEZ1bGwKIAotICAgICAgICBzZWxmLl9ub3RlbXB0eS5hY3F1aXJlKCkKLSAgICAgICAgdHJ5OgorICAgICAgICB3aXRoIHNlbGYuX25vdGVtcHR5OgogICAgICAgICAgICAgaWYgc2VsZi5fdGhyZWFkIGlzIE5vbmU6CiAgICAgICAgICAgICAgICAgc2VsZi5fc3RhcnRfdGhyZWFkKCkKICAgICAgICAgICAgIHNlbGYuX2J1ZmZlci5hcHBlbmQob2JqKQogICAgICAgICAgICAgc2VsZi5fbm90ZW1wdHkubm90aWZ5KCkKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIHNlbGYuX25vdGVtcHR5LnJlbGVhc2UoKQogCiAgICAgZGVmIGdldChzZWxmLCBibG9jaz1UcnVlLCB0aW1lb3V0PU5vbmUpOgogICAgICAgICBpZiBibG9jayBhbmQgdGltZW91dCBpcyBOb25lOgpAQCAtMjAxLDEyICsxOTgsOSBAQAogICAgIEBzdGF0aWNtZXRob2QKICAgICBkZWYgX2ZpbmFsaXplX2Nsb3NlKGJ1ZmZlciwgbm90ZW1wdHkpOgogICAgICAgICBkZWJ1ZygndGVsbGluZyBxdWV1ZSB0aHJlYWQgdG8gcXVpdCcpCi0gICAgICAgIG5vdGVtcHR5LmFjcXVpcmUoKQotICAgICAgICB0cnk6CisgICAgICAgIHdpdGggbm90ZW1wdHk6CiAgICAgICAgICAgICBidWZmZXIuYXBwZW5kKF9zZW50aW5lbCkKICAgICAgICAgICAgIG5vdGVtcHR5Lm5vdGlmeSgpCi0gICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICBub3RlbXB0eS5yZWxlYXNlKCkKIAogICAgIEBzdGF0aWNtZXRob2QKICAgICBkZWYgX2ZlZWQoYnVmZmVyLCBub3RlbXB0eSwgc2VuZF9ieXRlcywgd3JpdGVsb2NrLCBjbG9zZSwgaWdub3JlX2VwaXBlKToKQEAgLTI5NSwzNSArMjg5LDI0IEBACiAgICAgICAgIGlmIG5vdCBzZWxmLl9zZW0uYWNxdWlyZShibG9jaywgdGltZW91dCk6CiAgICAgICAgICAgICByYWlzZSBGdWxsCiAKLSAgICAgICAgc2VsZi5fbm90ZW1wdHkuYWNxdWlyZSgpCi0gICAgICAgIHNlbGYuX2NvbmQuYWNxdWlyZSgpCi0gICAgICAgIHRyeToKKyAgICAgICAgd2l0aCBzZWxmLl9ub3RlbXB0eSwgc2VsZi5fY29uZDoKICAgICAgICAgICAgIGlmIHNlbGYuX3RocmVhZCBpcyBOb25lOgogICAgICAgICAgICAgICAgIHNlbGYuX3N0YXJ0X3RocmVhZCgpCiAgICAgICAgICAgICBzZWxmLl9idWZmZXIuYXBwZW5kKG9iaikKICAgICAgICAgICAgIHNlbGYuX3VuZmluaXNoZWRfdGFza3MucmVsZWFzZSgpCiAgICAgICAgICAgICBzZWxmLl9ub3RlbXB0eS5ub3RpZnkoKQotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgc2VsZi5fY29uZC5yZWxlYXNlKCkKLSAgICAgICAgICAgIHNlbGYuX25vdGVtcHR5LnJlbGVhc2UoKQogCiAgICAgZGVmIHRhc2tfZG9uZShzZWxmKToKLSAgICAgICAgc2VsZi5fY29uZC5hY3F1aXJlKCkKLSAgICAgICAgdHJ5OgorICAgICAgICB3aXRoIHNlbGYuX2NvbmQ6CiAgICAgICAgICAgICBpZiBub3Qgc2VsZi5fdW5maW5pc2hlZF90YXNrcy5hY3F1aXJlKEZhbHNlKToKICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCd0YXNrX2RvbmUoKSBjYWxsZWQgdG9vIG1hbnkgdGltZXMnKQogICAgICAgICAgICAgaWYgc2VsZi5fdW5maW5pc2hlZF90YXNrcy5fc2VtbG9jay5faXNfemVybygpOgogICAgICAgICAgICAgICAgIHNlbGYuX2NvbmQubm90aWZ5X2FsbCgpCi0gICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICBzZWxmLl9jb25kLnJlbGVhc2UoKQogCiAgICAgZGVmIGpvaW4oc2VsZik6Ci0gICAgICAgIHNlbGYuX2NvbmQuYWNxdWlyZSgpCi0gICAgICAgIHRyeToKKyAgICAgICAgd2l0aCBzZWxmLl9jb25kOgogICAgICAgICAgICAgaWYgbm90IHNlbGYuX3VuZmluaXNoZWRfdGFza3MuX3NlbWxvY2suX2lzX3plcm8oKToKICAgICAgICAgICAgICAgICBzZWxmLl9jb25kLndhaXQoKQotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgc2VsZi5fY29uZC5yZWxlYXNlKCkKIAogIwogIyBTaW1wbGlmaWVkIFF1ZXVlIHR5cGUgLS0gcmVhbGx5IGp1c3QgYSBsb2NrZWQgcGlwZQpkaWZmIC0tZ2l0IGEvTGliL211bHRpcHJvY2Vzc2luZy9zaGFyZWRjdHlwZXMucHkgYi9MaWIvbXVsdGlwcm9jZXNzaW5nL3NoYXJlZGN0eXBlcy5weQppbmRleCAwYzE3ODI1Li40MjU4ZjU5IDEwMDY0NAotLS0gYS9MaWIvbXVsdGlwcm9jZXNzaW5nL3NoYXJlZGN0eXBlcy5weQorKysgYi9MaWIvbXVsdGlwcm9jZXNzaW5nL3NoYXJlZGN0eXBlcy5weQpAQCAtMTg4LDYgKzE4OCwxMiBAQAogICAgICAgICBzZWxmLmFjcXVpcmUgPSBzZWxmLl9sb2NrLmFjcXVpcmUKICAgICAgICAgc2VsZi5yZWxlYXNlID0gc2VsZi5fbG9jay5yZWxlYXNlCiAKKyAgICBkZWYgX19lbnRlcl9fKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5fbG9jay5fX2VudGVyX18oKQorCisgICAgZGVmIF9fZXhpdF9fKHNlbGYsICphcmdzKToKKyAgICAgICAgcmV0dXJuIHNlbGYuX2xvY2suX19leGl0X18oKmFyZ3MpCisKICAgICBkZWYgX19yZWR1Y2VfXyhzZWxmKToKICAgICAgICAgYXNzZXJ0X3NwYXduaW5nKHNlbGYpCiAgICAgICAgIHJldHVybiBzeW5jaHJvbml6ZWQsIChzZWxmLl9vYmosIHNlbGYuX2xvY2spCkBAIC0yMTIsMzIgKzIxOCwyMCBAQAogICAgICAgICByZXR1cm4gbGVuKHNlbGYuX29iaikKIAogICAgIGRlZiBfX2dldGl0ZW1fXyhzZWxmLCBpKToKLSAgICAgICAgc2VsZi5hY3F1aXJlKCkKLSAgICAgICAgdHJ5OgorICAgICAgICB3aXRoIHNlbGY6CiAgICAgICAgICAgICByZXR1cm4gc2VsZi5fb2JqW2ldCi0gICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICBzZWxmLnJlbGVhc2UoKQogCiAgICAgZGVmIF9fc2V0aXRlbV9fKHNlbGYsIGksIHZhbHVlKToKLSAgICAgICAgc2VsZi5hY3F1aXJlKCkKLSAgICAgICAgdHJ5OgorICAgICAgICB3aXRoIHNlbGY6CiAgICAgICAgICAgICBzZWxmLl9vYmpbaV0gPSB2YWx1ZQotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgc2VsZi5yZWxlYXNlKCkKIAogICAgIGRlZiBfX2dldHNsaWNlX18oc2VsZiwgc3RhcnQsIHN0b3ApOgotICAgICAgICBzZWxmLmFjcXVpcmUoKQotICAgICAgICB0cnk6CisgICAgICAgIHdpdGggc2VsZjoKICAgICAgICAgICAgIHJldHVybiBzZWxmLl9vYmpbc3RhcnQ6c3RvcF0KLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIHNlbGYucmVsZWFzZSgpCiAKICAgICBkZWYgX19zZXRzbGljZV9fKHNlbGYsIHN0YXJ0LCBzdG9wLCB2YWx1ZXMpOgotICAgICAgICBzZWxmLmFjcXVpcmUoKQotICAgICAgICB0cnk6CisgICAgICAgIHdpdGggc2VsZjoKICAgICAgICAgICAgIHNlbGYuX29ialtzdGFydDpzdG9wXSA9IHZhbHVlcwotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgc2VsZi5yZWxlYXNlKCkKIAogCiBjbGFzcyBTeW5jaHJvbml6ZWRTdHJpbmcoU3luY2hyb25pemVkQXJyYXkpOgpkaWZmIC0tZ2l0IGEvTGliL211bHRpcHJvY2Vzc2luZy9zeW5jaHJvbml6ZS5weSBiL0xpYi9tdWx0aXByb2Nlc3Npbmcvc3luY2hyb25pemUucHkKaW5kZXggZGVhMWNiZC4uZDRiZGYwZSAxMDA2NDQKLS0tIGEvTGliL211bHRpcHJvY2Vzc2luZy9zeW5jaHJvbml6ZS5weQorKysgYi9MaWIvbXVsdGlwcm9jZXNzaW5nL3N5bmNocm9uaXplLnB5CkBAIC0xMzQsNyArMTM0LDcgQEAKICAgICAgICAgICAgIHZhbHVlID0gc2VsZi5fc2VtbG9jay5fZ2V0X3ZhbHVlKCkKICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKICAgICAgICAgICAgIHZhbHVlID0gJ3Vua25vd24nCi0gICAgICAgIHJldHVybiAnPFNlbWFwaG9yZSh2YWx1ZT0lcyk+JyAlIHZhbHVlCisgICAgICAgIHJldHVybiAnPCVzKHZhbHVlPSVzKT4nICUgKHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLCB2YWx1ZSkKIAogIwogIyBCb3VuZGVkIHNlbWFwaG9yZQpAQCAtMTUwLDggKzE1MCw4IEBACiAgICAgICAgICAgICB2YWx1ZSA9IHNlbGYuX3NlbWxvY2suX2dldF92YWx1ZSgpCiAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246CiAgICAgICAgICAgICB2YWx1ZSA9ICd1bmtub3duJwotICAgICAgICByZXR1cm4gJzxCb3VuZGVkU2VtYXBob3JlKHZhbHVlPSVzLCBtYXh2YWx1ZT0lcyk+JyAlIFwKLSAgICAgICAgICAgICAgICh2YWx1ZSwgc2VsZi5fc2VtbG9jay5tYXh2YWx1ZSkKKyAgICAgICAgcmV0dXJuICc8JXModmFsdWU9JXMsIG1heHZhbHVlPSVzKT4nICUgXAorICAgICAgICAgICAgICAgKHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLCB2YWx1ZSwgc2VsZi5fc2VtbG9jay5tYXh2YWx1ZSkKIAogIwogIyBOb24tcmVjdXJzaXZlIGxvY2sKQEAgLTE3Niw3ICsxNzYsNyBAQAogICAgICAgICAgICAgICAgIG5hbWUgPSAnU29tZU90aGVyUHJvY2VzcycKICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKICAgICAgICAgICAgIG5hbWUgPSAndW5rbm93bicKLSAgICAgICAgcmV0dXJuICc8TG9jayhvd25lcj0lcyk+JyAlIG5hbWUKKyAgICAgICAgcmV0dXJuICc8JXMob3duZXI9JXMpPicgJSAoc2VsZi5fX2NsYXNzX18uX19uYW1lX18sIG5hbWUpCiAKICMKICMgUmVjdXJzaXZlIGxvY2sKQEAgLTIwMiw3ICsyMDIsNyBAQAogICAgICAgICAgICAgICAgIG5hbWUsIGNvdW50ID0gJ1NvbWVPdGhlclByb2Nlc3MnLCAnbm9uemVybycKICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKICAgICAgICAgICAgIG5hbWUsIGNvdW50ID0gJ3Vua25vd24nLCAndW5rbm93bicKLSAgICAgICAgcmV0dXJuICc8UkxvY2soJXMsICVzKT4nICUgKG5hbWUsIGNvdW50KQorICAgICAgICByZXR1cm4gJzwlcyglcywgJXMpPicgJSAoc2VsZi5fX2NsYXNzX18uX19uYW1lX18sIG5hbWUsIGNvdW50KQogCiAjCiAjIENvbmRpdGlvbiB2YXJpYWJsZQpAQCAtMjQzLDcgKzI0Myw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl93b2tlbl9jb3VudC5fc2VtbG9jay5fZ2V0X3ZhbHVlKCkpCiAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246CiAgICAgICAgICAgICBudW1fd2FpdGVycyA9ICd1bmtub3duJwotICAgICAgICByZXR1cm4gJzxDb25kaXRpb24oJXMsICVzKT4nICUgKHNlbGYuX2xvY2ssIG51bV93YWl0ZXJzKQorICAgICAgICByZXR1cm4gJzwlcyglcywgJXMpPicgJSAoc2VsZi5fX2NsYXNzX18uX19uYW1lX18sIHNlbGYuX2xvY2ssIG51bV93YWl0ZXJzKQogCiAgICAgZGVmIHdhaXQoc2VsZiwgdGltZW91dD1Ob25lKToKICAgICAgICAgYXNzZXJ0IHNlbGYuX2xvY2suX3NlbWxvY2suX2lzX21pbmUoKSwgXApAQCAtMzM3LDM0ICszMzcsMjQgQEAKICAgICAgICAgc2VsZi5fZmxhZyA9IGN0eC5TZW1hcGhvcmUoMCkKIAogICAgIGRlZiBpc19zZXQoc2VsZik6Ci0gICAgICAgIHNlbGYuX2NvbmQuYWNxdWlyZSgpCi0gICAgICAgIHRyeToKKyAgICAgICAgd2l0aCBzZWxmLl9jb25kOgogICAgICAgICAgICAgaWYgc2VsZi5fZmxhZy5hY3F1aXJlKEZhbHNlKToKICAgICAgICAgICAgICAgICBzZWxmLl9mbGFnLnJlbGVhc2UoKQogICAgICAgICAgICAgICAgIHJldHVybiBUcnVlCiAgICAgICAgICAgICByZXR1cm4gRmFsc2UKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIHNlbGYuX2NvbmQucmVsZWFzZSgpCiAKICAgICBkZWYgc2V0KHNlbGYpOgotICAgICAgICBzZWxmLl9jb25kLmFjcXVpcmUoKQotICAgICAgICB0cnk6CisgICAgICAgIHdpdGggc2VsZi5fY29uZDoKICAgICAgICAgICAgIHNlbGYuX2ZsYWcuYWNxdWlyZShGYWxzZSkKICAgICAgICAgICAgIHNlbGYuX2ZsYWcucmVsZWFzZSgpCiAgICAgICAgICAgICBzZWxmLl9jb25kLm5vdGlmeV9hbGwoKQotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgc2VsZi5fY29uZC5yZWxlYXNlKCkKIAogICAgIGRlZiBjbGVhcihzZWxmKToKLSAgICAgICAgc2VsZi5fY29uZC5hY3F1aXJlKCkKLSAgICAgICAgdHJ5OgorICAgICAgICB3aXRoIHNlbGYuX2NvbmQ6CiAgICAgICAgICAgICBzZWxmLl9mbGFnLmFjcXVpcmUoRmFsc2UpCi0gICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICBzZWxmLl9jb25kLnJlbGVhc2UoKQogCiAgICAgZGVmIHdhaXQoc2VsZiwgdGltZW91dD1Ob25lKToKLSAgICAgICAgc2VsZi5fY29uZC5hY3F1aXJlKCkKLSAgICAgICAgdHJ5OgorICAgICAgICB3aXRoIHNlbGYuX2NvbmQ6CiAgICAgICAgICAgICBpZiBzZWxmLl9mbGFnLmFjcXVpcmUoRmFsc2UpOgogICAgICAgICAgICAgICAgIHNlbGYuX2ZsYWcucmVsZWFzZSgpCiAgICAgICAgICAgICBlbHNlOgpAQCAtMzc0LDggKzM2NCw2IEBACiAgICAgICAgICAgICAgICAgc2VsZi5fZmxhZy5yZWxlYXNlKCkKICAgICAgICAgICAgICAgICByZXR1cm4gVHJ1ZQogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCi0gICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICBzZWxmLl9jb25kLnJlbGVhc2UoKQogCiAjCiAjIEJhcnJpZXIKZGlmZiAtLWdpdCBhL0xpYi9tdWx0aXByb2Nlc3NpbmcvdXRpbC5weSBiL0xpYi9tdWx0aXByb2Nlc3NpbmcvdXRpbC5weQppbmRleCAwYjY5NWU0Li5lYTU0NDNkIDEwMDY0NAotLS0gYS9MaWIvbXVsdGlwcm9jZXNzaW5nL3V0aWwucHkKKysrIGIvTGliL211bHRpcHJvY2Vzc2luZy91dGlsLnB5CkBAIC0yMTIsMTAgKzIxMiwxMSBAQAogICAgICAgICAgICAgb2JqID0gTm9uZQogCiAgICAgICAgIGlmIG9iaiBpcyBOb25lOgotICAgICAgICAgICAgcmV0dXJuICc8RmluYWxpemUgb2JqZWN0LCBkZWFkPicKKyAgICAgICAgICAgIHJldHVybiAnPCVzIG9iamVjdCwgZGVhZD4nICUgc2VsZi5fX2NsYXNzX18uX19uYW1lX18KIAotICAgICAgICB4ID0gJzxGaW5hbGl6ZSBvYmplY3QsIGNhbGxiYWNrPSVzJyAlIFwKLSAgICAgICAgICAgIGdldGF0dHIoc2VsZi5fY2FsbGJhY2ssICdfX25hbWVfXycsIHNlbGYuX2NhbGxiYWNrKQorICAgICAgICB4ID0gJzwlcyBvYmplY3QsIGNhbGxiYWNrPSVzJyAlICgKKyAgICAgICAgICAgICAgICBzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywKKyAgICAgICAgICAgICAgICBnZXRhdHRyKHNlbGYuX2NhbGxiYWNrLCAnX19uYW1lX18nLCBzZWxmLl9jYWxsYmFjaykpCiAgICAgICAgIGlmIHNlbGYuX2FyZ3M6CiAgICAgICAgICAgICB4ICs9ICcsIGFyZ3M9JyArIHN0cihzZWxmLl9hcmdzKQogICAgICAgICBpZiBzZWxmLl9rd2FyZ3M6CkBAIC0zMjcsNiArMzI4LDEzIEBACiAgICAgICAgIHNlbGYuYWNxdWlyZSA9IHNlbGYuX2xvY2suYWNxdWlyZQogICAgICAgICBzZWxmLnJlbGVhc2UgPSBzZWxmLl9sb2NrLnJlbGVhc2UKIAorICAgIGRlZiBfX2VudGVyX18oc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLl9sb2NrLl9fZW50ZXJfXygpCisKKyAgICBkZWYgX19leGl0X18oc2VsZiwgKmFyZ3MpOgorICAgICAgICByZXR1cm4gc2VsZi5fbG9jay5fX2V4aXRfXygqYXJncykKKworCiBjbGFzcyBGb3JrQXdhcmVMb2NhbCh0aHJlYWRpbmcubG9jYWwpOgogICAgIGRlZiBfX2luaXRfXyhzZWxmKToKICAgICAgICAgcmVnaXN0ZXJfYWZ0ZXJfZm9yayhzZWxmLCBsYW1iZGEgb2JqIDogb2JqLl9fZGljdF9fLmNsZWFyKCkpCmRpZmYgLS1naXQgYS9MaWIvbnRwYXRoLnB5IGIvTGliL250cGF0aC5weQppbmRleCBhZjNmYjg3Li5lZTFhMjE1IDEwMDY0NAotLS0gYS9MaWIvbnRwYXRoLnB5CisrKyBiL0xpYi9udHBhdGgucHkKQEAgLTMyLDQ4ICszMiwxMiBAQAogICAgIGRlZnBhdGggPSAnXFxXaW5kb3dzJwogZGV2bnVsbCA9ICdudWwnCiAKLWRlZiBfZ2V0X2VtcHR5KHBhdGgpOgotICAgIGlmIGlzaW5zdGFuY2UocGF0aCwgYnl0ZXMpOgotICAgICAgICByZXR1cm4gYicnCi0gICAgZWxzZToKLSAgICAgICAgcmV0dXJuICcnCi0KLWRlZiBfZ2V0X3NlcChwYXRoKToKLSAgICBpZiBpc2luc3RhbmNlKHBhdGgsIGJ5dGVzKToKLSAgICAgICAgcmV0dXJuIGInXFwnCi0gICAgZWxzZToKLSAgICAgICAgcmV0dXJuICdcXCcKLQotZGVmIF9nZXRfYWx0c2VwKHBhdGgpOgotICAgIGlmIGlzaW5zdGFuY2UocGF0aCwgYnl0ZXMpOgotICAgICAgICByZXR1cm4gYicvJwotICAgIGVsc2U6Ci0gICAgICAgIHJldHVybiAnLycKLQogZGVmIF9nZXRfYm90aHNlcHMocGF0aCk6CiAgICAgaWYgaXNpbnN0YW5jZShwYXRoLCBieXRlcyk6CiAgICAgICAgIHJldHVybiBiJ1xcLycKICAgICBlbHNlOgogICAgICAgICByZXR1cm4gJ1xcLycKIAotZGVmIF9nZXRfZG90KHBhdGgpOgotICAgIGlmIGlzaW5zdGFuY2UocGF0aCwgYnl0ZXMpOgotICAgICAgICByZXR1cm4gYicuJwotICAgIGVsc2U6Ci0gICAgICAgIHJldHVybiAnLicKLQotZGVmIF9nZXRfY29sb24ocGF0aCk6Ci0gICAgaWYgaXNpbnN0YW5jZShwYXRoLCBieXRlcyk6Ci0gICAgICAgIHJldHVybiBiJzonCi0gICAgZWxzZToKLSAgICAgICAgcmV0dXJuICc6JwotCi1kZWYgX2dldF9zcGVjaWFsKHBhdGgpOgotICAgIGlmIGlzaW5zdGFuY2UocGF0aCwgYnl0ZXMpOgotICAgICAgICByZXR1cm4gKGInXFxcXC5cXCcsIGInXFxcXD9cXCcpCi0gICAgZWxzZToKLSAgICAgICAgcmV0dXJuICgnXFxcXC5cXCcsICdcXFxcP1xcJykKLQogIyBOb3JtYWxpemUgdGhlIGNhc2Ugb2YgYSBwYXRobmFtZSBhbmQgbWFwIHNsYXNoZXMgdG8gYmFja3NsYXNoZXMuCiAjIE90aGVyIG5vcm1hbGl6YXRpb25zIChzdWNoIGFzIG9wdGltaXppbmcgJy4uLycgYXdheSkgYXJlIG5vdCBkb25lCiAjICh0aGlzIGlzIGRvbmUgYnkgbm9ybXBhdGgpLgpAQCAtODIsMTAgKzQ2LDE2IEBACiAgICAgIiIiTm9ybWFsaXplIGNhc2Ugb2YgcGF0aG5hbWUuCiAKICAgICBNYWtlcyBhbGwgY2hhcmFjdGVycyBsb3dlcmNhc2UgYW5kIGFsbCBzbGFzaGVzIGludG8gYmFja3NsYXNoZXMuIiIiCi0gICAgaWYgbm90IGlzaW5zdGFuY2UocywgKGJ5dGVzLCBzdHIpKToKLSAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJub3JtY2FzZSgpIGFyZ3VtZW50IG11c3QgYmUgc3RyIG9yIGJ5dGVzLCAiCi0gICAgICAgICAgICAgICAgICAgICAgICAibm90ICd7fSciLmZvcm1hdChzLl9fY2xhc3NfXy5fX25hbWVfXykpCi0gICAgcmV0dXJuIHMucmVwbGFjZShfZ2V0X2FsdHNlcChzKSwgX2dldF9zZXAocykpLmxvd2VyKCkKKyAgICB0cnk6CisgICAgICAgIGlmIGlzaW5zdGFuY2UocywgYnl0ZXMpOgorICAgICAgICAgICAgcmV0dXJuIHMucmVwbGFjZShiJy8nLCBiJ1xcJykubG93ZXIoKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmV0dXJuIHMucmVwbGFjZSgnLycsICdcXCcpLmxvd2VyKCkKKyAgICBleGNlcHQgKFR5cGVFcnJvciwgQXR0cmlidXRlRXJyb3IpOgorICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShzLCAoYnl0ZXMsIHN0cikpOgorICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJub3JtY2FzZSgpIGFyZ3VtZW50IG11c3QgYmUgc3RyIG9yIGJ5dGVzLCAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5vdCAlciIgJSBzLl9fY2xhc3NfXy5fX25hbWVfXykgZnJvbSBOb25lCisgICAgICAgIHJhaXNlCiAKIAogIyBSZXR1cm4gd2hldGhlciBhIHBhdGggaXMgYWJzb2x1dGUuCkBAIC05Nyw0MCArNjcsNDkgQEAKIGRlZiBpc2FicyhzKToKICAgICAiIiJUZXN0IHdoZXRoZXIgYSBwYXRoIGlzIGFic29sdXRlIiIiCiAgICAgcyA9IHNwbGl0ZHJpdmUocylbMV0KLSAgICByZXR1cm4gbGVuKHMpID4gMCBhbmQgc1s6MV0gaW4gX2dldF9ib3Roc2VwcyhzKQorICAgIHJldHVybiBsZW4ocykgPiAwIGFuZCBzWzBdIGluIF9nZXRfYm90aHNlcHMocykKIAogCiAjIEpvaW4gdHdvIChvciBtb3JlKSBwYXRocy4KIGRlZiBqb2luKHBhdGgsICpwYXRocyk6Ci0gICAgc2VwID0gX2dldF9zZXAocGF0aCkKLSAgICBzZXBzID0gX2dldF9ib3Roc2VwcyhwYXRoKQotICAgIGNvbG9uID0gX2dldF9jb2xvbihwYXRoKQotICAgIHJlc3VsdF9kcml2ZSwgcmVzdWx0X3BhdGggPSBzcGxpdGRyaXZlKHBhdGgpCi0gICAgZm9yIHAgaW4gcGF0aHM6Ci0gICAgICAgIHBfZHJpdmUsIHBfcGF0aCA9IHNwbGl0ZHJpdmUocCkKLSAgICAgICAgaWYgcF9wYXRoIGFuZCBwX3BhdGhbMF0gaW4gc2VwczoKLSAgICAgICAgICAgICMgU2Vjb25kIHBhdGggaXMgYWJzb2x1dGUKLSAgICAgICAgICAgIGlmIHBfZHJpdmUgb3Igbm90IHJlc3VsdF9kcml2ZToKLSAgICAgICAgICAgICAgICByZXN1bHRfZHJpdmUgPSBwX2RyaXZlCi0gICAgICAgICAgICByZXN1bHRfcGF0aCA9IHBfcGF0aAotICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgZWxpZiBwX2RyaXZlIGFuZCBwX2RyaXZlICE9IHJlc3VsdF9kcml2ZToKLSAgICAgICAgICAgIGlmIHBfZHJpdmUubG93ZXIoKSAhPSByZXN1bHRfZHJpdmUubG93ZXIoKToKLSAgICAgICAgICAgICAgICAjIERpZmZlcmVudCBkcml2ZXMgPT4gaWdub3JlIHRoZSBmaXJzdCBwYXRoIGVudGlyZWx5Ci0gICAgICAgICAgICAgICAgcmVzdWx0X2RyaXZlID0gcF9kcml2ZQorICAgIGlmIGlzaW5zdGFuY2UocGF0aCwgYnl0ZXMpOgorICAgICAgICBzZXAgPSBiJ1xcJworICAgICAgICBzZXBzID0gYidcXC8nCisgICAgICAgIGNvbG9uID0gYic6JworICAgIGVsc2U6CisgICAgICAgIHNlcCA9ICdcXCcKKyAgICAgICAgc2VwcyA9ICdcXC8nCisgICAgICAgIGNvbG9uID0gJzonCisgICAgdHJ5OgorICAgICAgICByZXN1bHRfZHJpdmUsIHJlc3VsdF9wYXRoID0gc3BsaXRkcml2ZShwYXRoKQorICAgICAgICBmb3IgcCBpbiBwYXRoczoKKyAgICAgICAgICAgIHBfZHJpdmUsIHBfcGF0aCA9IHNwbGl0ZHJpdmUocCkKKyAgICAgICAgICAgIGlmIHBfcGF0aCBhbmQgcF9wYXRoWzBdIGluIHNlcHM6CisgICAgICAgICAgICAgICAgIyBTZWNvbmQgcGF0aCBpcyBhYnNvbHV0ZQorICAgICAgICAgICAgICAgIGlmIHBfZHJpdmUgb3Igbm90IHJlc3VsdF9kcml2ZToKKyAgICAgICAgICAgICAgICAgICAgcmVzdWx0X2RyaXZlID0gcF9kcml2ZQogICAgICAgICAgICAgICAgIHJlc3VsdF9wYXRoID0gcF9wYXRoCiAgICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgICMgU2FtZSBkcml2ZSBpbiBkaWZmZXJlbnQgY2FzZQotICAgICAgICAgICAgcmVzdWx0X2RyaXZlID0gcF9kcml2ZQotICAgICAgICAjIFNlY29uZCBwYXRoIGlzIHJlbGF0aXZlIHRvIHRoZSBmaXJzdAotICAgICAgICBpZiByZXN1bHRfcGF0aCBhbmQgcmVzdWx0X3BhdGhbLTFdIG5vdCBpbiBzZXBzOgotICAgICAgICAgICAgcmVzdWx0X3BhdGggPSByZXN1bHRfcGF0aCArIHNlcAotICAgICAgICByZXN1bHRfcGF0aCA9IHJlc3VsdF9wYXRoICsgcF9wYXRoCi0gICAgIyMgYWRkIHNlcGFyYXRvciBiZXR3ZWVuIFVOQyBhbmQgbm9uLWFic29sdXRlIHBhdGgKLSAgICBpZiAocmVzdWx0X3BhdGggYW5kIHJlc3VsdF9wYXRoWzBdIG5vdCBpbiBzZXBzIGFuZAotICAgICAgICByZXN1bHRfZHJpdmUgYW5kIHJlc3VsdF9kcml2ZVstMTpdICE9IGNvbG9uKToKLSAgICAgICAgcmV0dXJuIHJlc3VsdF9kcml2ZSArIHNlcCArIHJlc3VsdF9wYXRoCi0gICAgcmV0dXJuIHJlc3VsdF9kcml2ZSArIHJlc3VsdF9wYXRoCisgICAgICAgICAgICBlbGlmIHBfZHJpdmUgYW5kIHBfZHJpdmUgIT0gcmVzdWx0X2RyaXZlOgorICAgICAgICAgICAgICAgIGlmIHBfZHJpdmUubG93ZXIoKSAhPSByZXN1bHRfZHJpdmUubG93ZXIoKToKKyAgICAgICAgICAgICAgICAgICAgIyBEaWZmZXJlbnQgZHJpdmVzID0+IGlnbm9yZSB0aGUgZmlyc3QgcGF0aCBlbnRpcmVseQorICAgICAgICAgICAgICAgICAgICByZXN1bHRfZHJpdmUgPSBwX2RyaXZlCisgICAgICAgICAgICAgICAgICAgIHJlc3VsdF9wYXRoID0gcF9wYXRoCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgICAgIyBTYW1lIGRyaXZlIGluIGRpZmZlcmVudCBjYXNlCisgICAgICAgICAgICAgICAgcmVzdWx0X2RyaXZlID0gcF9kcml2ZQorICAgICAgICAgICAgIyBTZWNvbmQgcGF0aCBpcyByZWxhdGl2ZSB0byB0aGUgZmlyc3QKKyAgICAgICAgICAgIGlmIHJlc3VsdF9wYXRoIGFuZCByZXN1bHRfcGF0aFstMV0gbm90IGluIHNlcHM6CisgICAgICAgICAgICAgICAgcmVzdWx0X3BhdGggPSByZXN1bHRfcGF0aCArIHNlcAorICAgICAgICAgICAgcmVzdWx0X3BhdGggPSByZXN1bHRfcGF0aCArIHBfcGF0aAorICAgICAgICAjIyBhZGQgc2VwYXJhdG9yIGJldHdlZW4gVU5DIGFuZCBub24tYWJzb2x1dGUgcGF0aAorICAgICAgICBpZiAocmVzdWx0X3BhdGggYW5kIHJlc3VsdF9wYXRoWzBdIG5vdCBpbiBzZXBzIGFuZAorICAgICAgICAgICAgcmVzdWx0X2RyaXZlIGFuZCByZXN1bHRfZHJpdmVbLTE6XSAhPSBjb2xvbik6CisgICAgICAgICAgICByZXR1cm4gcmVzdWx0X2RyaXZlICsgc2VwICsgcmVzdWx0X3BhdGgKKyAgICAgICAgcmV0dXJuIHJlc3VsdF9kcml2ZSArIHJlc3VsdF9wYXRoCisgICAgZXhjZXB0IChUeXBlRXJyb3IsIEF0dHJpYnV0ZUVycm9yLCBCeXRlc1dhcm5pbmcpOgorICAgICAgICBnZW5lcmljcGF0aC5fY2hlY2tfYXJnX3R5cGVzKCdqb2luJywgcGF0aCwgKnBhdGhzKQorICAgICAgICByYWlzZQogCiAKICMgU3BsaXQgYSBwYXRoIGluIGEgZHJpdmUgc3BlY2lmaWNhdGlvbiAoYSBkcml2ZSBsZXR0ZXIgZm9sbG93ZWQgYnkgYQpAQCAtMTU1LDEwICsxMzQsMTYgQEAKICAgICBQYXRocyBjYW5ub3QgY29udGFpbiBib3RoIGEgZHJpdmUgbGV0dGVyIGFuZCBhIFVOQyBwYXRoLgogCiAgICAgIiIiCi0gICAgZW1wdHkgPSBfZ2V0X2VtcHR5KHApCi0gICAgaWYgbGVuKHApID4gMToKLSAgICAgICAgc2VwID0gX2dldF9zZXAocCkKLSAgICAgICAgbm9ybXAgPSBwLnJlcGxhY2UoX2dldF9hbHRzZXAocCksIHNlcCkKKyAgICBpZiBsZW4ocCkgPj0gMjoKKyAgICAgICAgaWYgaXNpbnN0YW5jZShwLCBieXRlcyk6CisgICAgICAgICAgICBzZXAgPSBiJ1xcJworICAgICAgICAgICAgYWx0c2VwID0gYicvJworICAgICAgICAgICAgY29sb24gPSBiJzonCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZXAgPSAnXFwnCisgICAgICAgICAgICBhbHRzZXAgPSAnLycKKyAgICAgICAgICAgIGNvbG9uID0gJzonCisgICAgICAgIG5vcm1wID0gcC5yZXBsYWNlKGFsdHNlcCwgc2VwKQogICAgICAgICBpZiAobm9ybXBbMDoyXSA9PSBzZXAqMikgYW5kIChub3JtcFsyOjNdICE9IHNlcCk6CiAgICAgICAgICAgICAjIGlzIGEgVU5DIHBhdGg6CiAgICAgICAgICAgICAjIHZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2IGRyaXZlIGxldHRlciBvciBVTkMgcGF0aApAQCAtMTY2LDE4ICsxNTEsMTggQEAKICAgICAgICAgICAgICMgICAgICAgICAgIGRpcmVjdG9yeSBeXl5eXl5eXl5eXl5eXl4KICAgICAgICAgICAgIGluZGV4ID0gbm9ybXAuZmluZChzZXAsIDIpCiAgICAgICAgICAgICBpZiBpbmRleCA9PSAtMToKLSAgICAgICAgICAgICAgICByZXR1cm4gZW1wdHksIHAKKyAgICAgICAgICAgICAgICByZXR1cm4gcFs6MF0sIHAKICAgICAgICAgICAgIGluZGV4MiA9IG5vcm1wLmZpbmQoc2VwLCBpbmRleCArIDEpCiAgICAgICAgICAgICAjIGEgVU5DIHBhdGggY2FuJ3QgaGF2ZSB0d28gc2xhc2hlcyBpbiBhIHJvdwogICAgICAgICAgICAgIyAoYWZ0ZXIgdGhlIGluaXRpYWwgdHdvKQogICAgICAgICAgICAgaWYgaW5kZXgyID09IGluZGV4ICsgMToKLSAgICAgICAgICAgICAgICByZXR1cm4gZW1wdHksIHAKKyAgICAgICAgICAgICAgICByZXR1cm4gcFs6MF0sIHAKICAgICAgICAgICAgIGlmIGluZGV4MiA9PSAtMToKICAgICAgICAgICAgICAgICBpbmRleDIgPSBsZW4ocCkKICAgICAgICAgICAgIHJldHVybiBwWzppbmRleDJdLCBwW2luZGV4MjpdCi0gICAgICAgIGlmIG5vcm1wWzE6Ml0gPT0gX2dldF9jb2xvbihwKToKKyAgICAgICAgaWYgbm9ybXBbMToyXSA9PSBjb2xvbjoKICAgICAgICAgICAgIHJldHVybiBwWzoyXSwgcFsyOl0KLSAgICByZXR1cm4gZW1wdHksIHAKKyAgICByZXR1cm4gcFs6MF0sIHAKIAogCiAjIFBhcnNlIFVOQyBwYXRocwpAQCAtMjIxLDEwICsyMDYsNyBAQAogICAgICAgICBpIC09IDEKICAgICBoZWFkLCB0YWlsID0gcFs6aV0sIHBbaTpdICAjIG5vdyB0YWlsIGhhcyBubyBzbGFzaGVzCiAgICAgIyByZW1vdmUgdHJhaWxpbmcgc2xhc2hlcyBmcm9tIGhlYWQsIHVubGVzcyBpdCdzIGFsbCBzbGFzaGVzCi0gICAgaGVhZDIgPSBoZWFkCi0gICAgd2hpbGUgaGVhZDIgYW5kIGhlYWQyWy0xOl0gaW4gc2VwczoKLSAgICAgICAgaGVhZDIgPSBoZWFkMls6LTFdCi0gICAgaGVhZCA9IGhlYWQyIG9yIGhlYWQKKyAgICBoZWFkID0gaGVhZC5yc3RyaXAoc2Vwcykgb3IgaGVhZAogICAgIHJldHVybiBkICsgaGVhZCwgdGFpbAogCiAKQEAgLTIzNCw4ICsyMTYsMTAgQEAKICMgSXQgaXMgYWx3YXlzIHRydWUgdGhhdCByb290ICsgZXh0ID09IHAuCiAKIGRlZiBzcGxpdGV4dChwKToKLSAgICByZXR1cm4gZ2VuZXJpY3BhdGguX3NwbGl0ZXh0KHAsIF9nZXRfc2VwKHApLCBfZ2V0X2FsdHNlcChwKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9nZXRfZG90KHApKQorICAgIGlmIGlzaW5zdGFuY2UocCwgYnl0ZXMpOgorICAgICAgICByZXR1cm4gZ2VuZXJpY3BhdGguX3NwbGl0ZXh0KHAsIGInXFwnLCBiJy8nLCBiJy4nKQorICAgIGVsc2U6CisgICAgICAgIHJldHVybiBnZW5lcmljcGF0aC5fc3BsaXRleHQocCwgJ1xcJywgJy8nLCAnLicpCiBzcGxpdGV4dC5fX2RvY19fID0gZ2VuZXJpY3BhdGguX3NwbGl0ZXh0Ll9fZG9jX18KIAogCkBAIC0zNDMsNyArMzI3LDcgQEAKICAgICAgICAgdXNlcmhvbWUgPSBqb2luKGRyaXZlLCBvcy5lbnZpcm9uWydIT01FUEFUSCddKQogCiAgICAgaWYgaXNpbnN0YW5jZShwYXRoLCBieXRlcyk6Ci0gICAgICAgIHVzZXJob21lID0gdXNlcmhvbWUuZW5jb2RlKHN5cy5nZXRmaWxlc3lzdGVtZW5jb2RpbmcoKSkKKyAgICAgICAgdXNlcmhvbWUgPSBvcy5mc2VuY29kZSh1c2VyaG9tZSkKIAogICAgIGlmIGkgIT0gMTogI351c2VyCiAgICAgICAgIHVzZXJob21lID0gam9pbihkaXJuYW1lKHVzZXJob21lKSwgcGF0aFsxOmldKQpAQCAtMzY5LDEzICszNTMsMTQgQEAKIAogICAgIFVua25vd24gdmFyaWFibGVzIGFyZSBsZWZ0IHVuY2hhbmdlZC4iIiIKICAgICBpZiBpc2luc3RhbmNlKHBhdGgsIGJ5dGVzKToKLSAgICAgICAgaWYgb3JkKCckJykgbm90IGluIHBhdGggYW5kIG9yZCgnJScpIG5vdCBpbiBwYXRoOgorICAgICAgICBpZiBiJyQnIG5vdCBpbiBwYXRoIGFuZCBiJyUnIG5vdCBpbiBwYXRoOgogICAgICAgICAgICAgcmV0dXJuIHBhdGgKICAgICAgICAgaW1wb3J0IHN0cmluZwogICAgICAgICB2YXJjaGFycyA9IGJ5dGVzKHN0cmluZy5hc2NpaV9sZXR0ZXJzICsgc3RyaW5nLmRpZ2l0cyArICdfLScsICdhc2NpaScpCiAgICAgICAgIHF1b3RlID0gYidcJycKICAgICAgICAgcGVyY2VudCA9IGInJScKICAgICAgICAgYnJhY2UgPSBiJ3snCisgICAgICAgIHJicmFjZSA9IGInfScKICAgICAgICAgZG9sbGFyID0gYickJwogICAgICAgICBlbnZpcm9uID0gZ2V0YXR0cihvcywgJ2Vudmlyb25iJywgTm9uZSkKICAgICBlbHNlOgpAQCAtMzg2LDYgKzM3MSw3IEBACiAgICAgICAgIHF1b3RlID0gJ1wnJwogICAgICAgICBwZXJjZW50ID0gJyUnCiAgICAgICAgIGJyYWNlID0gJ3snCisgICAgICAgIHJicmFjZSA9ICd9JwogICAgICAgICBkb2xsYXIgPSAnJCcKICAgICAgICAgZW52aXJvbiA9IG9zLmVudmlyb24KICAgICByZXMgPSBwYXRoWzowXQpAQCAtNDMyLDE1ICs0MTgsOSBAQAogICAgICAgICAgICAgICAgIHBhdGggPSBwYXRoW2luZGV4KzI6XQogICAgICAgICAgICAgICAgIHBhdGhsZW4gPSBsZW4ocGF0aCkKICAgICAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UocGF0aCwgYnl0ZXMpOgotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXggPSBwYXRoLmluZGV4KGInfScpCi0gICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICBpbmRleCA9IHBhdGguaW5kZXgoJ30nKQorICAgICAgICAgICAgICAgICAgICBpbmRleCA9IHBhdGguaW5kZXgocmJyYWNlKQogICAgICAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgotICAgICAgICAgICAgICAgICAgICBpZiBpc2luc3RhbmNlKHBhdGgsIGJ5dGVzKToKLSAgICAgICAgICAgICAgICAgICAgICAgIHJlcyArPSBiJyR7JyArIHBhdGgKLSAgICAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgICAgIHJlcyArPSAnJHsnICsgcGF0aAorICAgICAgICAgICAgICAgICAgICByZXMgKz0gZG9sbGFyICsgYnJhY2UgKyBwYXRoCiAgICAgICAgICAgICAgICAgICAgIGluZGV4ID0gcGF0aGxlbiAtIDEKICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICB2YXIgPSBwYXRoWzppbmRleF0KQEAgLTQ1MCwxMCArNDMwLDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSBlbnZpcm9uW3Zhcl0KICAgICAgICAgICAgICAgICAgICAgZXhjZXB0IEtleUVycm9yOgotICAgICAgICAgICAgICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShwYXRoLCBieXRlcyk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSBiJyR7JyArIHZhciArIGInfScKLSAgICAgICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSAnJHsnICsgdmFyICsgJ30nCisgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IGRvbGxhciArIGJyYWNlICsgdmFyICsgcmJyYWNlCiAgICAgICAgICAgICAgICAgICAgIHJlcyArPSB2YWx1ZQogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICB2YXIgPSBwYXRoWzowXQpAQCAtNDg1LDE2ICs0NjIsMjUgQEAKIAogZGVmIG5vcm1wYXRoKHBhdGgpOgogICAgICIiIk5vcm1hbGl6ZSBwYXRoLCBlbGltaW5hdGluZyBkb3VibGUgc2xhc2hlcywgZXRjLiIiIgotICAgIHNlcCA9IF9nZXRfc2VwKHBhdGgpCi0gICAgZG90ZG90ID0gX2dldF9kb3QocGF0aCkgKiAyCi0gICAgc3BlY2lhbF9wcmVmaXhlcyA9IF9nZXRfc3BlY2lhbChwYXRoKQorICAgIGlmIGlzaW5zdGFuY2UocGF0aCwgYnl0ZXMpOgorICAgICAgICBzZXAgPSBiJ1xcJworICAgICAgICBhbHRzZXAgPSBiJy8nCisgICAgICAgIGN1cmRpciA9IGInLicKKyAgICAgICAgcGFyZGlyID0gYicuLicKKyAgICAgICAgc3BlY2lhbF9wcmVmaXhlcyA9IChiJ1xcXFwuXFwnLCBiJ1xcXFw/XFwnKQorICAgIGVsc2U6CisgICAgICAgIHNlcCA9ICdcXCcKKyAgICAgICAgYWx0c2VwID0gJy8nCisgICAgICAgIGN1cmRpciA9ICcuJworICAgICAgICBwYXJkaXIgPSAnLi4nCisgICAgICAgIHNwZWNpYWxfcHJlZml4ZXMgPSAoJ1xcXFwuXFwnLCAnXFxcXD9cXCcpCiAgICAgaWYgcGF0aC5zdGFydHN3aXRoKHNwZWNpYWxfcHJlZml4ZXMpOgogICAgICAgICAjIGluIHRoZSBjYXNlIG9mIHBhdGhzIHdpdGggdGhlc2UgcHJlZml4ZXM6CiAgICAgICAgICMgXFwuXCAtPiBkZXZpY2UgbmFtZXMKICAgICAgICAgIyBcXD9cIC0+IGxpdGVyYWwgcGF0aHMKICAgICAgICAgIyBkbyBub3QgZG8gYW55IG5vcm1hbGl6YXRpb24sIGJ1dCByZXR1cm4gdGhlIHBhdGggdW5jaGFuZ2VkCiAgICAgICAgIHJldHVybiBwYXRoCi0gICAgcGF0aCA9IHBhdGgucmVwbGFjZShfZ2V0X2FsdHNlcChwYXRoKSwgc2VwKQorICAgIHBhdGggPSBwYXRoLnJlcGxhY2UoYWx0c2VwLCBzZXApCiAgICAgcHJlZml4LCBwYXRoID0gc3BsaXRkcml2ZShwYXRoKQogCiAgICAgIyBjb2xsYXBzZSBpbml0aWFsIGJhY2tzbGFzaGVzCkBAIC01MDUsMTMgKzQ5MSwxMyBAQAogICAgIGNvbXBzID0gcGF0aC5zcGxpdChzZXApCiAgICAgaSA9IDAKICAgICB3aGlsZSBpIDwgbGVuKGNvbXBzKToKLSAgICAgICAgaWYgbm90IGNvbXBzW2ldIG9yIGNvbXBzW2ldID09IF9nZXRfZG90KHBhdGgpOgorICAgICAgICBpZiBub3QgY29tcHNbaV0gb3IgY29tcHNbaV0gPT0gY3VyZGlyOgogICAgICAgICAgICAgZGVsIGNvbXBzW2ldCi0gICAgICAgIGVsaWYgY29tcHNbaV0gPT0gZG90ZG90OgotICAgICAgICAgICAgaWYgaSA+IDAgYW5kIGNvbXBzW2ktMV0gIT0gZG90ZG90OgorICAgICAgICBlbGlmIGNvbXBzW2ldID09IHBhcmRpcjoKKyAgICAgICAgICAgIGlmIGkgPiAwIGFuZCBjb21wc1tpLTFdICE9IHBhcmRpcjoKICAgICAgICAgICAgICAgICBkZWwgY29tcHNbaS0xOmkrMV0KICAgICAgICAgICAgICAgICBpIC09IDEKLSAgICAgICAgICAgIGVsaWYgaSA9PSAwIGFuZCBwcmVmaXguZW5kc3dpdGgoX2dldF9zZXAocGF0aCkpOgorICAgICAgICAgICAgZWxpZiBpID09IDAgYW5kIHByZWZpeC5lbmRzd2l0aChzZXApOgogICAgICAgICAgICAgICAgIGRlbCBjb21wc1tpXQogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBpICs9IDEKQEAgLTUxOSw3ICs1MDUsNyBAQAogICAgICAgICAgICAgaSArPSAxCiAgICAgIyBJZiB0aGUgcGF0aCBpcyBub3cgZW1wdHksIHN1YnN0aXR1dGUgJy4nCiAgICAgaWYgbm90IHByZWZpeCBhbmQgbm90IGNvbXBzOgotICAgICAgICBjb21wcy5hcHBlbmQoX2dldF9kb3QocGF0aCkpCisgICAgICAgIGNvbXBzLmFwcGVuZChjdXJkaXIpCiAgICAgcmV0dXJuIHByZWZpeCArIHNlcC5qb2luKGNvbXBzKQogCiAKQEAgLTU1OSw0MiArNTQ1LDQ4IEBACiBzdXBwb3J0c191bmljb2RlX2ZpbGVuYW1lcyA9IChoYXNhdHRyKHN5cywgImdldHdpbmRvd3N2ZXJzaW9uIikgYW5kCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeXMuZ2V0d2luZG93c3ZlcnNpb24oKVszXSA+PSAyKQogCi1kZWYgcmVscGF0aChwYXRoLCBzdGFydD1jdXJkaXIpOgorZGVmIHJlbHBhdGgocGF0aCwgc3RhcnQ9Tm9uZSk6CiAgICAgIiIiUmV0dXJuIGEgcmVsYXRpdmUgdmVyc2lvbiBvZiBhIHBhdGgiIiIKLSAgICBzZXAgPSBfZ2V0X3NlcChwYXRoKQorICAgIGlmIGlzaW5zdGFuY2UocGF0aCwgYnl0ZXMpOgorICAgICAgICBzZXAgPSBiJ1xcJworICAgICAgICBjdXJkaXIgPSBiJy4nCisgICAgICAgIHBhcmRpciA9IGInLi4nCisgICAgZWxzZToKKyAgICAgICAgc2VwID0gJ1xcJworICAgICAgICBjdXJkaXIgPSAnLicKKyAgICAgICAgcGFyZGlyID0gJy4uJwogCi0gICAgaWYgc3RhcnQgaXMgY3VyZGlyOgotICAgICAgICBzdGFydCA9IF9nZXRfZG90KHBhdGgpCisgICAgaWYgc3RhcnQgaXMgTm9uZToKKyAgICAgICAgc3RhcnQgPSBjdXJkaXIKIAogICAgIGlmIG5vdCBwYXRoOgogICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJubyBwYXRoIHNwZWNpZmllZCIpCiAKLSAgICBzdGFydF9hYnMgPSBhYnNwYXRoKG5vcm1wYXRoKHN0YXJ0KSkKLSAgICBwYXRoX2FicyA9IGFic3BhdGgobm9ybXBhdGgocGF0aCkpCi0gICAgc3RhcnRfZHJpdmUsIHN0YXJ0X3Jlc3QgPSBzcGxpdGRyaXZlKHN0YXJ0X2FicykKLSAgICBwYXRoX2RyaXZlLCBwYXRoX3Jlc3QgPSBzcGxpdGRyaXZlKHBhdGhfYWJzKQotICAgIGlmIG5vcm1jYXNlKHN0YXJ0X2RyaXZlKSAhPSBub3JtY2FzZShwYXRoX2RyaXZlKToKLSAgICAgICAgZXJyb3IgPSAicGF0aCBpcyBvbiBtb3VudCAnezB9Jywgc3RhcnQgb24gbW91bnQgJ3sxfSciLmZvcm1hdCgKLSAgICAgICAgICAgIHBhdGhfZHJpdmUsIHN0YXJ0X2RyaXZlKQotICAgICAgICByYWlzZSBWYWx1ZUVycm9yKGVycm9yKQorICAgIHRyeToKKyAgICAgICAgc3RhcnRfYWJzID0gYWJzcGF0aChub3JtcGF0aChzdGFydCkpCisgICAgICAgIHBhdGhfYWJzID0gYWJzcGF0aChub3JtcGF0aChwYXRoKSkKKyAgICAgICAgc3RhcnRfZHJpdmUsIHN0YXJ0X3Jlc3QgPSBzcGxpdGRyaXZlKHN0YXJ0X2FicykKKyAgICAgICAgcGF0aF9kcml2ZSwgcGF0aF9yZXN0ID0gc3BsaXRkcml2ZShwYXRoX2FicykKKyAgICAgICAgaWYgbm9ybWNhc2Uoc3RhcnRfZHJpdmUpICE9IG5vcm1jYXNlKHBhdGhfZHJpdmUpOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigicGF0aCBpcyBvbiBtb3VudCAlciwgc3RhcnQgb24gbW91bnQgJXIiICUgKAorICAgICAgICAgICAgICAgIHBhdGhfZHJpdmUsIHN0YXJ0X2RyaXZlKSkKIAotICAgIHN0YXJ0X2xpc3QgPSBbeCBmb3IgeCBpbiBzdGFydF9yZXN0LnNwbGl0KHNlcCkgaWYgeF0KLSAgICBwYXRoX2xpc3QgPSBbeCBmb3IgeCBpbiBwYXRoX3Jlc3Quc3BsaXQoc2VwKSBpZiB4XQotICAgICMgV29yayBvdXQgaG93IG11Y2ggb2YgdGhlIGZpbGVwYXRoIGlzIHNoYXJlZCBieSBzdGFydCBhbmQgcGF0aC4KLSAgICBpID0gMAotICAgIGZvciBlMSwgZTIgaW4gemlwKHN0YXJ0X2xpc3QsIHBhdGhfbGlzdCk6Ci0gICAgICAgIGlmIG5vcm1jYXNlKGUxKSAhPSBub3JtY2FzZShlMik6Ci0gICAgICAgICAgICBicmVhawotICAgICAgICBpICs9IDEKKyAgICAgICAgc3RhcnRfbGlzdCA9IFt4IGZvciB4IGluIHN0YXJ0X3Jlc3Quc3BsaXQoc2VwKSBpZiB4XQorICAgICAgICBwYXRoX2xpc3QgPSBbeCBmb3IgeCBpbiBwYXRoX3Jlc3Quc3BsaXQoc2VwKSBpZiB4XQorICAgICAgICAjIFdvcmsgb3V0IGhvdyBtdWNoIG9mIHRoZSBmaWxlcGF0aCBpcyBzaGFyZWQgYnkgc3RhcnQgYW5kIHBhdGguCisgICAgICAgIGkgPSAwCisgICAgICAgIGZvciBlMSwgZTIgaW4gemlwKHN0YXJ0X2xpc3QsIHBhdGhfbGlzdCk6CisgICAgICAgICAgICBpZiBub3JtY2FzZShlMSkgIT0gbm9ybWNhc2UoZTIpOgorICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICBpICs9IDEKIAotICAgIGlmIGlzaW5zdGFuY2UocGF0aCwgYnl0ZXMpOgotICAgICAgICBwYXJkaXIgPSBiJy4uJwotICAgIGVsc2U6Ci0gICAgICAgIHBhcmRpciA9ICcuLicKLSAgICByZWxfbGlzdCA9IFtwYXJkaXJdICogKGxlbihzdGFydF9saXN0KS1pKSArIHBhdGhfbGlzdFtpOl0KLSAgICBpZiBub3QgcmVsX2xpc3Q6Ci0gICAgICAgIHJldHVybiBfZ2V0X2RvdChwYXRoKQotICAgIHJldHVybiBqb2luKCpyZWxfbGlzdCkKKyAgICAgICAgcmVsX2xpc3QgPSBbcGFyZGlyXSAqIChsZW4oc3RhcnRfbGlzdCktaSkgKyBwYXRoX2xpc3RbaTpdCisgICAgICAgIGlmIG5vdCByZWxfbGlzdDoKKyAgICAgICAgICAgIHJldHVybiBjdXJkaXIKKyAgICAgICAgcmV0dXJuIGpvaW4oKnJlbF9saXN0KQorICAgIGV4Y2VwdCAoVHlwZUVycm9yLCBWYWx1ZUVycm9yLCBBdHRyaWJ1dGVFcnJvciwgQnl0ZXNXYXJuaW5nLCBEZXByZWNhdGlvbldhcm5pbmcpOgorICAgICAgICBnZW5lcmljcGF0aC5fY2hlY2tfYXJnX3R5cGVzKCdyZWxwYXRoJywgcGF0aCwgc3RhcnQpCisgICAgICAgIHJhaXNlCiAKIAogIyBkZXRlcm1pbmUgaWYgdHdvIGZpbGVzIGFyZSBpbiBmYWN0IHRoZSBzYW1lIGZpbGUKZGlmZiAtLWdpdCBhL0xpYi9vcGNvZGUucHkgYi9MaWIvb3Bjb2RlLnB5CmluZGV4IDBiZDFlZTYuLmJmZDNjNGQgMTAwNjQ0Ci0tLSBhL0xpYi9vcGNvZGUucHkKKysrIGIvTGliL29wY29kZS5weQpAQCAtNzAsNiArNzAsOSBAQAogCiBkZWZfb3AoJ1VOQVJZX0lOVkVSVCcsIDE1KQogCitkZWZfb3AoJ0JJTkFSWV9NQVRSSVhfTVVMVElQTFknLCAxNikKK2RlZl9vcCgnSU5QTEFDRV9NQVRSSVhfTVVMVElQTFknLCAxNykKKwogZGVmX29wKCdCSU5BUllfUE9XRVInLCAxOSkKIGRlZl9vcCgnQklOQVJZX01VTFRJUExZJywgMjApCiAKZGlmZiAtLWdpdCBhL0xpYi9vcGVyYXRvci5weSBiL0xpYi9vcGVyYXRvci5weQppbmRleCBiNjAzNDlmLi44NTYwMzZkIDEwMDY0NAotLS0gYS9MaWIvb3BlcmF0b3IucHkKKysrIGIvTGliL29wZXJhdG9yLnB5CkBAIC0xMDUsNiArMTA1LDEwIEBACiAgICAgIlNhbWUgYXMgYSAqIGIuIgogICAgIHJldHVybiBhICogYgogCitkZWYgbWF0bXVsKGEsIGIpOgorICAgICJTYW1lIGFzIGEgQCBiLiIKKyAgICByZXR1cm4gYSBAIGIKKwogZGVmIG5lZyhhKToKICAgICAiU2FtZSBhcyAtYS4iCiAgICAgcmV0dXJuIC1hCkBAIC0zMjYsNiArMzMwLDExIEBACiAgICAgYSAqPSBiCiAgICAgcmV0dXJuIGEKIAorZGVmIGltYXRtdWwoYSwgYik6CisgICAgIlNhbWUgYXMgYSBAPSBiLiIKKyAgICBhIEA9IGIKKyAgICByZXR1cm4gYQorCiBkZWYgaW9yKGEsIGIpOgogICAgICJTYW1lIGFzIGEgfD0gYi4iCiAgICAgYSB8PSBiCkBAIC0zODMsNiArMzkyLDcgQEAKIF9fbHNoaWZ0X18gPSBsc2hpZnQKIF9fbW9kX18gPSBtb2QKIF9fbXVsX18gPSBtdWwKK19fbWF0bXVsX18gPSBtYXRtdWwKIF9fbmVnX18gPSBuZWcKIF9fb3JfXyA9IG9yXwogX19wb3NfXyA9IHBvcwpAQCAtNDAzLDYgKzQxMyw3IEBACiBfX2lsc2hpZnRfXyA9IGlsc2hpZnQKIF9faW1vZF9fID0gaW1vZAogX19pbXVsX18gPSBpbXVsCitfX2ltYXRtdWxfXyA9IGltYXRtdWwKIF9faW9yX18gPSBpb3IKIF9faXBvd19fID0gaXBvdwogX19pcnNoaWZ0X18gPSBpcnNoaWZ0CmRpZmYgLS1naXQgYS9MaWIvb3MucHkgYi9MaWIvb3MucHkKaW5kZXggNTU2ZjU5Mi4uM2JiMGY0ZSAxMDA2NDQKLS0tIGEvTGliL29zLnB5CisrKyBiL0xpYi9vcy5weQpAQCAtNjEsNiArNjEsMTAgQEAKICAgICBleGNlcHQgSW1wb3J0RXJyb3I6CiAgICAgICAgIHBhc3MKIAorICAgIGltcG9ydCBwb3NpeAorICAgIF9fYWxsX18uZXh0ZW5kKF9nZXRfZXhwb3J0c19saXN0KHBvc2l4KSkKKyAgICBkZWwgcG9zaXgKKwogZWxpZiAnbnQnIGluIF9uYW1lczoKICAgICBuYW1lID0gJ250JwogICAgIGxpbmVzZXAgPSAnXHJcbicKZGlmZiAtLWdpdCBhL0xpYi9wYXRobGliLnB5IGIvTGliL3BhdGhsaWIucHkKaW5kZXggNzNmZDQzMi4uZTFiMDdjYSAxMDA2NDQKLS0tIGEvTGliL3BhdGhsaWIucHkKKysrIGIvTGliL3BhdGhsaWIucHkKQEAgLTIyMSw2ICsyMjEsMzYgQEAKICAgICAgICAgICAgICMgSXQncyBhIHBhdGggb24gYSBuZXR3b3JrIGRyaXZlID0+ICdmaWxlOi8vaG9zdC9zaGFyZS9hL2InCiAgICAgICAgICAgICByZXR1cm4gJ2ZpbGU6JyArIHVybHF1b3RlX2Zyb21fYnl0ZXMocGF0aC5hc19wb3NpeCgpLmVuY29kZSgndXRmLTgnKSkKIAorICAgIGRlZiBnZXRob21lZGlyKHNlbGYsIHVzZXJuYW1lKToKKyAgICAgICAgaWYgJ0hPTUUnIGluIG9zLmVudmlyb246CisgICAgICAgICAgICB1c2VyaG9tZSA9IG9zLmVudmlyb25bJ0hPTUUnXQorICAgICAgICBlbGlmICdVU0VSUFJPRklMRScgaW4gb3MuZW52aXJvbjoKKyAgICAgICAgICAgIHVzZXJob21lID0gb3MuZW52aXJvblsnVVNFUlBST0ZJTEUnXQorICAgICAgICBlbGlmICdIT01FUEFUSCcgaW4gb3MuZW52aXJvbjoKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBkcnYgPSBvcy5lbnZpcm9uWydIT01FRFJJVkUnXQorICAgICAgICAgICAgZXhjZXB0IEtleUVycm9yOgorICAgICAgICAgICAgICAgIGRydiA9ICcnCisgICAgICAgICAgICB1c2VyaG9tZSA9IGRydiArIG9zLmVudmlyb25bJ0hPTUVQQVRIJ10KKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcigiQ2FuJ3QgZGV0ZXJtaW5lIGhvbWUgZGlyZWN0b3J5IikKKworICAgICAgICBpZiB1c2VybmFtZToKKyAgICAgICAgICAgICMgVHJ5IHRvIGd1ZXNzIHVzZXIgaG9tZSBkaXJlY3RvcnkuICBCeSBkZWZhdWx0IGFsbCB1c2VycworICAgICAgICAgICAgIyBkaXJlY3RvcmllcyBhcmUgbG9jYXRlZCBpbiB0aGUgc2FtZSBwbGFjZSBhbmQgYXJlIG5hbWVkIGJ5CisgICAgICAgICAgICAjIGNvcnJlc3BvbmRpbmcgdXNlcm5hbWVzLiAgSWYgY3VycmVudCB1c2VyIGhvbWUgZGlyZWN0b3J5IHBvaW50cworICAgICAgICAgICAgIyB0byBub25zdGFuZGFyZCBwbGFjZSwgdGhpcyBndWVzcyBpcyBsaWtlbHkgd3JvbmcuCisgICAgICAgICAgICBpZiBvcy5lbnZpcm9uWydVU0VSTkFNRSddICE9IHVzZXJuYW1lOgorICAgICAgICAgICAgICAgIGRydiwgcm9vdCwgcGFydHMgPSBzZWxmLnBhcnNlX3BhcnRzKCh1c2VyaG9tZSwpKQorICAgICAgICAgICAgICAgIGlmIHBhcnRzWy0xXSAhPSBvcy5lbnZpcm9uWydVU0VSTkFNRSddOgorICAgICAgICAgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoIkNhbid0IGRldGVybWluZSBob21lIGRpcmVjdG9yeSAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZm9yICVyIiAlIHVzZXJuYW1lKQorICAgICAgICAgICAgICAgIHBhcnRzWy0xXSA9IHVzZXJuYW1lCisgICAgICAgICAgICAgICAgaWYgZHJ2IG9yIHJvb3Q6CisgICAgICAgICAgICAgICAgICAgIHVzZXJob21lID0gZHJ2ICsgcm9vdCArIHNlbGYuam9pbihwYXJ0c1sxOl0pCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgdXNlcmhvbWUgPSBzZWxmLmpvaW4ocGFydHMpCisgICAgICAgIHJldHVybiB1c2VyaG9tZQogCiBjbGFzcyBfUG9zaXhGbGF2b3VyKF9GbGF2b3VyKToKICAgICBzZXAgPSAnLycKQEAgLTMwNCw2ICszMzQsMjEgQEAKICAgICAgICAgYnBhdGggPSBieXRlcyhwYXRoKQogICAgICAgICByZXR1cm4gJ2ZpbGU6Ly8nICsgdXJscXVvdGVfZnJvbV9ieXRlcyhicGF0aCkKIAorICAgIGRlZiBnZXRob21lZGlyKHNlbGYsIHVzZXJuYW1lKToKKyAgICAgICAgaWYgbm90IHVzZXJuYW1lOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHJldHVybiBvcy5lbnZpcm9uWydIT01FJ10KKyAgICAgICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKKyAgICAgICAgICAgICAgICBpbXBvcnQgcHdkCisgICAgICAgICAgICAgICAgcmV0dXJuIHB3ZC5nZXRwd3VpZChvcy5nZXR1aWQoKSkucHdfZGlyCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBpbXBvcnQgcHdkCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgcmV0dXJuIHB3ZC5nZXRwd25hbSh1c2VybmFtZSkucHdfZGlyCisgICAgICAgICAgICBleGNlcHQgS2V5RXJyb3I6CisgICAgICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCJDYW4ndCBkZXRlcm1pbmUgaG9tZSBkaXJlY3RvcnkgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZm9yICVyIiAlIHVzZXJuYW1lKQorCiAKIF93aW5kb3dzX2ZsYXZvdXIgPSBfV2luZG93c0ZsYXZvdXIoKQogX3Bvc2l4X2ZsYXZvdXIgPSBfUG9zaXhGbGF2b3VyKCkKQEAgLTk2MCw2ICsxMDA1LDI0IEBACiAgICAgICAgICIiIgogICAgICAgICByZXR1cm4gY2xzKG9zLmdldGN3ZCgpKQogCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIGhvbWUoY2xzKToKKyAgICAgICAgIiIiUmV0dXJuIGEgbmV3IHBhdGggcG9pbnRpbmcgdG8gdGhlIHVzZXIncyBob21lIGRpcmVjdG9yeSAoYXMKKyAgICAgICAgcmV0dXJuZWQgYnkgb3MucGF0aC5leHBhbmR1c2VyKCd+JykpLgorICAgICAgICAiIiIKKyAgICAgICAgcmV0dXJuIGNscyhjbHMoKS5fZmxhdm91ci5nZXRob21lZGlyKE5vbmUpKQorCisgICAgZGVmIHNhbWVmaWxlKHNlbGYsIG90aGVyX3BhdGgpOgorICAgICAgICAiIiJSZXR1cm4gd2hldGhlciBgb3RoZXJfZmlsZWAgaXMgdGhlIHNhbWUgb3Igbm90IGFzIHRoaXMgZmlsZS4KKyAgICAgICAgKGFzIHJldHVybmVkIGJ5IG9zLnBhdGguc2FtZWZpbGUoZmlsZSwgb3RoZXJfZmlsZSkpLgorICAgICAgICAiIiIKKyAgICAgICAgc3QgPSBzZWxmLnN0YXQoKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBvdGhlcl9zdCA9IG90aGVyX3BhdGguc3RhdCgpCisgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKKyAgICAgICAgICAgIG90aGVyX3N0ID0gb3Muc3RhdChvdGhlcl9wYXRoKQorICAgICAgICByZXR1cm4gb3MucGF0aC5zYW1lc3RhdChzdCwgb3RoZXJfc3QpCisKICAgICBkZWYgaXRlcmRpcihzZWxmKToKICAgICAgICAgIiIiSXRlcmF0ZSBvdmVyIHRoZSBmaWxlcyBpbiB0aGlzIGRpcmVjdG9yeS4gIERvZXMgbm90IHlpZWxkIGFueQogICAgICAgICByZXN1bHQgZm9yIHRoZSBzcGVjaWFsIHBhdGhzICcuJyBhbmQgJy4uJy4KQEAgLTEwNjgsNiArMTEzMSwzOSBAQAogICAgICAgICByZXR1cm4gaW8ub3BlbihzdHIoc2VsZiksIG1vZGUsIGJ1ZmZlcmluZywgZW5jb2RpbmcsIGVycm9ycywgbmV3bGluZSwKICAgICAgICAgICAgICAgICAgICAgICAgb3BlbmVyPXNlbGYuX29wZW5lcikKIAorICAgIGRlZiByZWFkX2J5dGVzKHNlbGYpOgorICAgICAgICAiIiIKKyAgICAgICAgT3BlbiB0aGUgZmlsZSBpbiBieXRlcyBtb2RlLCByZWFkIGl0LCBhbmQgY2xvc2UgdGhlIGZpbGUuCisgICAgICAgICIiIgorICAgICAgICB3aXRoIHNlbGYub3Blbihtb2RlPSdyYicpIGFzIGY6CisgICAgICAgICAgICByZXR1cm4gZi5yZWFkKCkKKworICAgIGRlZiByZWFkX3RleHQoc2VsZiwgZW5jb2Rpbmc9Tm9uZSwgZXJyb3JzPU5vbmUpOgorICAgICAgICAiIiIKKyAgICAgICAgT3BlbiB0aGUgZmlsZSBpbiB0ZXh0IG1vZGUsIHJlYWQgaXQsIGFuZCBjbG9zZSB0aGUgZmlsZS4KKyAgICAgICAgIiIiCisgICAgICAgIHdpdGggc2VsZi5vcGVuKG1vZGU9J3InLCBlbmNvZGluZz1lbmNvZGluZywgZXJyb3JzPWVycm9ycykgYXMgZjoKKyAgICAgICAgICAgIHJldHVybiBmLnJlYWQoKQorCisgICAgZGVmIHdyaXRlX2J5dGVzKHNlbGYsIGRhdGEpOgorICAgICAgICAiIiIKKyAgICAgICAgT3BlbiB0aGUgZmlsZSBpbiBieXRlcyBtb2RlLCB3cml0ZSB0byBpdCwgYW5kIGNsb3NlIHRoZSBmaWxlLgorICAgICAgICAiIiIKKyAgICAgICAgIyB0eXBlLWNoZWNrIGZvciB0aGUgYnVmZmVyIGludGVyZmFjZSBiZWZvcmUgdHJ1bmNhdGluZyB0aGUgZmlsZQorICAgICAgICB2aWV3ID0gbWVtb3J5dmlldyhkYXRhKQorICAgICAgICB3aXRoIHNlbGYub3Blbihtb2RlPSd3YicpIGFzIGY6CisgICAgICAgICAgICByZXR1cm4gZi53cml0ZSh2aWV3KQorCisgICAgZGVmIHdyaXRlX3RleHQoc2VsZiwgZGF0YSwgZW5jb2Rpbmc9Tm9uZSwgZXJyb3JzPU5vbmUpOgorICAgICAgICAiIiIKKyAgICAgICAgT3BlbiB0aGUgZmlsZSBpbiB0ZXh0IG1vZGUsIHdyaXRlIHRvIGl0LCBhbmQgY2xvc2UgdGhlIGZpbGUuCisgICAgICAgICIiIgorICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShkYXRhLCBzdHIpOgorICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCdkYXRhIG11c3QgYmUgc3RyLCBub3QgJXMnICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLl9fY2xhc3NfXy5fX25hbWVfXykKKyAgICAgICAgd2l0aCBzZWxmLm9wZW4obW9kZT0ndycsIGVuY29kaW5nPWVuY29kaW5nLCBlcnJvcnM9ZXJyb3JzKSBhcyBmOgorICAgICAgICAgICAgcmV0dXJuIGYud3JpdGUoZGF0YSkKKwogICAgIGRlZiB0b3VjaChzZWxmLCBtb2RlPTBvNjY2LCBleGlzdF9vaz1UcnVlKToKICAgICAgICAgIiIiCiAgICAgICAgIENyZWF0ZSB0aGlzIGZpbGUgd2l0aCB0aGUgZ2l2ZW4gYWNjZXNzIG1vZGUsIGlmIGl0IGRvZXNuJ3QgZXhpc3QuCkBAIC0xMDkxLDE0ICsxMTg3LDIxIEBACiAgICAgICAgIGZkID0gc2VsZi5fcmF3X29wZW4oZmxhZ3MsIG1vZGUpCiAgICAgICAgIG9zLmNsb3NlKGZkKQogCi0gICAgZGVmIG1rZGlyKHNlbGYsIG1vZGU9MG83NzcsIHBhcmVudHM9RmFsc2UpOgorICAgIGRlZiBta2RpcihzZWxmLCBtb2RlPTBvNzc3LCBwYXJlbnRzPUZhbHNlLCBleGlzdF9vaz1GYWxzZSk6CiAgICAgICAgIGlmIHNlbGYuX2Nsb3NlZDoKICAgICAgICAgICAgIHNlbGYuX3JhaXNlX2Nsb3NlZCgpCiAgICAgICAgIGlmIG5vdCBwYXJlbnRzOgotICAgICAgICAgICAgc2VsZi5fYWNjZXNzb3IubWtkaXIoc2VsZiwgbW9kZSkKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBzZWxmLl9hY2Nlc3Nvci5ta2RpcihzZWxmLCBtb2RlKQorICAgICAgICAgICAgZXhjZXB0IEZpbGVFeGlzdHNFcnJvcjoKKyAgICAgICAgICAgICAgICBpZiBub3QgZXhpc3Rfb2sgb3Igbm90IHNlbGYuaXNfZGlyKCk6CisgICAgICAgICAgICAgICAgICAgIHJhaXNlCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgc2VsZi5fYWNjZXNzb3IubWtkaXIoc2VsZiwgbW9kZSkKKyAgICAgICAgICAgIGV4Y2VwdCBGaWxlRXhpc3RzRXJyb3I6CisgICAgICAgICAgICAgICAgaWYgbm90IGV4aXN0X29rIG9yIG5vdCBzZWxmLmlzX2RpcigpOgorICAgICAgICAgICAgICAgICAgICByYWlzZQogICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKICAgICAgICAgICAgICAgICBpZiBlLmVycm5vICE9IEVOT0VOVDoKICAgICAgICAgICAgICAgICAgICAgcmFpc2UKQEAgLTEyNzksNiArMTM4MiwxNyBAQAogICAgICAgICAgICAgIyAoc2VlIGh0dHBzOi8vYml0YnVja2V0Lm9yZy9waXRyb3UvcGF0aGxpYi9pc3N1ZS8xMi8pCiAgICAgICAgICAgICByZXR1cm4gRmFsc2UKIAorICAgIGRlZiBleHBhbmR1c2VyKHNlbGYpOgorICAgICAgICAiIiIgUmV0dXJuIGEgbmV3IHBhdGggd2l0aCBleHBhbmRlZCB+IGFuZCB+dXNlciBjb25zdHJ1Y3RzCisgICAgICAgIChhcyByZXR1cm5lZCBieSBvcy5wYXRoLmV4cGFuZHVzZXIpCisgICAgICAgICIiIgorICAgICAgICBpZiAobm90IChzZWxmLl9kcnYgb3Igc2VsZi5fcm9vdCkgYW5kCisgICAgICAgICAgICBzZWxmLl9wYXJ0cyBhbmQgc2VsZi5fcGFydHNbMF1bOjFdID09ICd+Jyk6CisgICAgICAgICAgICBob21lZGlyID0gc2VsZi5fZmxhdm91ci5nZXRob21lZGlyKHNlbGYuX3BhcnRzWzBdWzE6XSkKKyAgICAgICAgICAgIHJldHVybiBzZWxmLl9mcm9tX3BhcnRzKFtob21lZGlyXSArIHNlbGYuX3BhcnRzWzE6XSkKKworICAgICAgICByZXR1cm4gc2VsZgorCiAKIGNsYXNzIFBvc2l4UGF0aChQYXRoLCBQdXJlUG9zaXhQYXRoKToKICAgICBfX3Nsb3RzX18gPSAoKQpkaWZmIC0tZ2l0IGEvTGliL3BkYi5weSBiL0xpYi9wZGIucHkKaW5kZXggZTI4NTY0Yi4uY2YyZWRiZiAxMDA3NTUKLS0tIGEvTGliL3BkYi5weQorKysgYi9MaWIvcGRiLnB5CkBAIC0xMzE2LDcgKzEzMTYsNyBAQAogICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgICMgSXMgaXQgYSBjbGFzcz8KICAgICAgICAgaWYgdmFsdWUuX19jbGFzc19fIGlzIHR5cGU6Ci0gICAgICAgICAgICBzZWxmLm1lc3NhZ2UoJ0NsYXNzICVzLiVzJyAlICh2YWx1ZS5fX21vZHVsZV9fLCB2YWx1ZS5fX25hbWVfXykpCisgICAgICAgICAgICBzZWxmLm1lc3NhZ2UoJ0NsYXNzICVzLiVzJyAlICh2YWx1ZS5fX21vZHVsZV9fLCB2YWx1ZS5fX3F1YWxuYW1lX18pKQogICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgICMgTm9uZSBvZiB0aGUgYWJvdmUuLi4KICAgICAgICAgc2VsZi5tZXNzYWdlKHR5cGUodmFsdWUpKQpkaWZmIC0tZ2l0IGEvTGliL3BrZ3V0aWwucHkgYi9MaWIvcGtndXRpbC5weQppbmRleCBhNTRlOTQ3Li5mYzRhMDc0IDEwMDY0NAotLS0gYS9MaWIvcGtndXRpbC5weQorKysgYi9MaWIvcGtndXRpbC5weQpAQCAtNjE2LDcgKzYxNiw3IEBACiAgICAgICAgIHJldHVybiBOb25lCiAgICAgIyBYWFggbmVlZHMgdGVzdAogICAgIG1vZCA9IChzeXMubW9kdWxlcy5nZXQocGFja2FnZSkgb3IKLSAgICAgICAgICAgaW1wb3J0bGliLl9ib290c3RyYXAuX1NwZWNNZXRob2RzKHNwZWMpLmxvYWQoKSkKKyAgICAgICAgICAgaW1wb3J0bGliLl9ib290c3RyYXAuX2xvYWQoc3BlYykpCiAgICAgaWYgbW9kIGlzIE5vbmUgb3Igbm90IGhhc2F0dHIobW9kLCAnX19maWxlX18nKToKICAgICAgICAgcmV0dXJuIE5vbmUKIApkaWZmIC0tZ2l0IGEvTGliL3Bvc2l4cGF0aC5weSBiL0xpYi9wb3NpeHBhdGgucHkKaW5kZXggMGFhNTNmZS4uNDRlZDgzOCAxMDA2NDQKLS0tIGEvTGliL3Bvc2l4cGF0aC5weQorKysgYi9MaWIvcG9zaXhwYXRoLnB5CkBAIC04MiwxMSArODIsOCBAQAogICAgICAgICAgICAgICAgIHBhdGggKz0gYgogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBwYXRoICs9IHNlcCArIGIKLSAgICBleGNlcHQgVHlwZUVycm9yOgotICAgICAgICBpZiBhbGwoaXNpbnN0YW5jZShzLCAoc3RyLCBieXRlcykpIGZvciBzIGluIChhLCkgKyBwKToKLSAgICAgICAgICAgICMgTXVzdCBoYXZlIGEgbWl4dHVyZSBvZiB0ZXh0IGFuZCBiaW5hcnkgZGF0YQotICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJDYW4ndCBtaXggc3RyaW5ncyBhbmQgYnl0ZXMgaW4gcGF0aCAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbXBvbmVudHMiKSBmcm9tIE5vbmUKKyAgICBleGNlcHQgKFR5cGVFcnJvciwgQXR0cmlidXRlRXJyb3IsIEJ5dGVzV2FybmluZyk6CisgICAgICAgIGdlbmVyaWNwYXRoLl9jaGVja19hcmdfdHlwZXMoJ2pvaW4nLCBhLCAqcCkKICAgICAgICAgcmFpc2UKICAgICByZXR1cm4gcGF0aAogCkBAIC00NDUsMTMgKzQ0MiwxNiBAQAogICAgIGlmIHN0YXJ0IGlzIE5vbmU6CiAgICAgICAgIHN0YXJ0ID0gY3VyZGlyCiAKLSAgICBzdGFydF9saXN0ID0gW3ggZm9yIHggaW4gYWJzcGF0aChzdGFydCkuc3BsaXQoc2VwKSBpZiB4XQotICAgIHBhdGhfbGlzdCA9IFt4IGZvciB4IGluIGFic3BhdGgocGF0aCkuc3BsaXQoc2VwKSBpZiB4XQorICAgIHRyeToKKyAgICAgICAgc3RhcnRfbGlzdCA9IFt4IGZvciB4IGluIGFic3BhdGgoc3RhcnQpLnNwbGl0KHNlcCkgaWYgeF0KKyAgICAgICAgcGF0aF9saXN0ID0gW3ggZm9yIHggaW4gYWJzcGF0aChwYXRoKS5zcGxpdChzZXApIGlmIHhdCisgICAgICAgICMgV29yayBvdXQgaG93IG11Y2ggb2YgdGhlIGZpbGVwYXRoIGlzIHNoYXJlZCBieSBzdGFydCBhbmQgcGF0aC4KKyAgICAgICAgaSA9IGxlbihjb21tb25wcmVmaXgoW3N0YXJ0X2xpc3QsIHBhdGhfbGlzdF0pKQogCi0gICAgIyBXb3JrIG91dCBob3cgbXVjaCBvZiB0aGUgZmlsZXBhdGggaXMgc2hhcmVkIGJ5IHN0YXJ0IGFuZCBwYXRoLgotICAgIGkgPSBsZW4oY29tbW9ucHJlZml4KFtzdGFydF9saXN0LCBwYXRoX2xpc3RdKSkKLQotICAgIHJlbF9saXN0ID0gW3BhcmRpcl0gKiAobGVuKHN0YXJ0X2xpc3QpLWkpICsgcGF0aF9saXN0W2k6XQotICAgIGlmIG5vdCByZWxfbGlzdDoKLSAgICAgICAgcmV0dXJuIGN1cmRpcgotICAgIHJldHVybiBqb2luKCpyZWxfbGlzdCkKKyAgICAgICAgcmVsX2xpc3QgPSBbcGFyZGlyXSAqIChsZW4oc3RhcnRfbGlzdCktaSkgKyBwYXRoX2xpc3RbaTpdCisgICAgICAgIGlmIG5vdCByZWxfbGlzdDoKKyAgICAgICAgICAgIHJldHVybiBjdXJkaXIKKyAgICAgICAgcmV0dXJuIGpvaW4oKnJlbF9saXN0KQorICAgIGV4Y2VwdCAoVHlwZUVycm9yLCBBdHRyaWJ1dGVFcnJvciwgQnl0ZXNXYXJuaW5nLCBEZXByZWNhdGlvbldhcm5pbmcpOgorICAgICAgICBnZW5lcmljcGF0aC5fY2hlY2tfYXJnX3R5cGVzKCdyZWxwYXRoJywgcGF0aCwgc3RhcnQpCisgICAgICAgIHJhaXNlCmRpZmYgLS1naXQgYS9MaWIvcHlkb2MucHkgYi9MaWIvcHlkb2MucHkKaW5kZXggZDUzYTFiNC4uNjBiMGE5ZTUgMTAwNzU1Ci0tLSBhL0xpYi9weWRvYy5weQorKysgYi9MaWIvcHlkb2MucHkKQEAgLTI2NCw5ICsyNjQsOCBAQAogICAgICAgICAgICAgIyBYWFggV2UgcHJvYmFibHkgZG9uJ3QgbmVlZCB0byBwYXNzIGluIHRoZSBsb2FkZXIgaGVyZS4KICAgICAgICAgICAgIHNwZWMgPSBpbXBvcnRsaWIudXRpbC5zcGVjX2Zyb21fZmlsZV9sb2NhdGlvbignX190ZW1wX18nLCBmaWxlbmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkZXI9bG9hZGVyKQotICAgICAgICAgICAgX3NwZWMgPSBpbXBvcnRsaWIuX2Jvb3RzdHJhcC5fU3BlY01ldGhvZHMoc3BlYykKICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBtb2R1bGUgPSBfc3BlYy5sb2FkKCkKKyAgICAgICAgICAgICAgICBtb2R1bGUgPSBpbXBvcnRsaWIuX2Jvb3RzdHJhcC5fbG9hZChzcGVjKQogICAgICAgICAgICAgZXhjZXB0OgogICAgICAgICAgICAgICAgIHJldHVybiBOb25lCiAgICAgICAgICAgICBkZWwgc3lzLm1vZHVsZXNbJ19fdGVtcF9fJ10KQEAgLTI5OCw5ICsyOTcsOCBAQAogICAgICAgICBsb2FkZXIgPSBpbXBvcnRsaWIuX2Jvb3RzdHJhcC5Tb3VyY2VGaWxlTG9hZGVyKG5hbWUsIHBhdGgpCiAgICAgIyBYWFggV2UgcHJvYmFibHkgZG9uJ3QgbmVlZCB0byBwYXNzIGluIHRoZSBsb2FkZXIgaGVyZS4KICAgICBzcGVjID0gaW1wb3J0bGliLnV0aWwuc3BlY19mcm9tX2ZpbGVfbG9jYXRpb24obmFtZSwgcGF0aCwgbG9hZGVyPWxvYWRlcikKLSAgICBfc3BlYyA9IGltcG9ydGxpYi5fYm9vdHN0cmFwLl9TcGVjTWV0aG9kcyhzcGVjKQogICAgIHRyeToKLSAgICAgICAgcmV0dXJuIF9zcGVjLmxvYWQoKQorICAgICAgICByZXR1cm4gaW1wb3J0bGliLl9ib290c3RyYXAuX2xvYWQoc3BlYykKICAgICBleGNlcHQ6CiAgICAgICAgIHJhaXNlIEVycm9yRHVyaW5nSW1wb3J0KHBhdGgsIHN5cy5leGNfaW5mbygpKQogCkBAIC0xODE5LDcgKzE4MTcsOCBAQAogICAgICAgICBpZiBpbnNwZWN0LnN0YWNrKClbMV1bM10gPT0gJz8nOgogICAgICAgICAgICAgc2VsZigpCiAgICAgICAgICAgICByZXR1cm4gJycKLSAgICAgICAgcmV0dXJuICc8cHlkb2MuSGVscGVyIGluc3RhbmNlPicKKyAgICAgICAgcmV0dXJuICc8JXMuJXMgaW5zdGFuY2U+JyAlIChzZWxmLl9fY2xhc3NfXy5fX21vZHVsZV9fLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX19jbGFzc19fLl9fcXVhbG5hbWVfXykKIAogICAgIF9Hb0ludGVyYWN0aXZlID0gb2JqZWN0KCkKICAgICBkZWYgX19jYWxsX18oc2VsZiwgcmVxdWVzdD1fR29JbnRlcmFjdGl2ZSk6CkBAIC0yMDY4LDkgKzIwNjcsOCBAQAogICAgICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICAgICAgcGF0aCA9IE5vbmUKICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICBfc3BlYyA9IGltcG9ydGxpYi5fYm9vdHN0cmFwLl9TcGVjTWV0aG9kcyhzcGVjKQogICAgICAgICAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgICAgICAgICBtb2R1bGUgPSBfc3BlYy5sb2FkKCkKKyAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZSA9IGltcG9ydGxpYi5fYm9vdHN0cmFwLl9sb2FkKHNwZWMpCiAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjoKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIG9uZXJyb3I6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25lcnJvcihtb2RuYW1lKQpkaWZmIC0tZ2l0IGEvTGliL3B5ZG9jX2RhdGEvdG9waWNzLnB5IGIvTGliL3B5ZG9jX2RhdGEvdG9waWNzLnB5CmluZGV4IDhjMjBlZWIuLjQ4OTI1OWUgMTAwNjQ0Ci0tLSBhL0xpYi9weWRvY19kYXRhL3RvcGljcy5weQorKysgYi9MaWIvcHlkb2NfZGF0YS90b3BpY3MucHkKQEAgLTEsMTMgKzEsMTMgQEAKICMgLSotIGNvZGluZzogdXRmLTggLSotCi0jIEF1dG9nZW5lcmF0ZWQgYnkgU3BoaW54IG9uIFNhdCBGZWIgIDcgMTU6NTM6NDkgMjAxNQorIyBBdXRvZ2VuZXJhdGVkIGJ5IFNwaGlueCBvbiBTYXQgRmViICA3IDE1OjUzOjU2IDIwMTUKIHRvcGljcyA9IHsnYXNzZXJ0JzogdSdcblRoZSAiYXNzZXJ0IiBzdGF0ZW1lbnRcbioqKioqKioqKioqKioqKioqKioqKipcblxuQXNzZXJ0IHN0YXRlbWVudHMgYXJlIGEgY29udmVuaWVudCB3YXkgdG8gaW5zZXJ0IGRlYnVnZ2luZyBhc3NlcnRpb25zXG5pbnRvIGEgcHJvZ3JhbTpcblxuICAgYXNzZXJ0X3N0bXQgOjo9ICJhc3NlcnQiIGV4cHJlc3Npb24gWyIsIiBleHByZXNzaW9uXVxuXG5UaGUgc2ltcGxlIGZvcm0sICJhc3NlcnQgZXhwcmVzc2lvbiIsIGlzIGVxdWl2YWxlbnQgdG9cblxuICAgaWYgX19kZWJ1Z19fOlxuICAgICAgaWYgbm90IGV4cHJlc3Npb246IHJhaXNlIEFzc2VydGlvbkVycm9yXG5cblRoZSBleHRlbmRlZCBmb3JtLCAiYXNzZXJ0IGV4cHJlc3Npb24xLCBleHByZXNzaW9uMiIsIGlzIGVxdWl2YWxlbnQgdG9cblxuICAgaWYgX19kZWJ1Z19fOlxuICAgICAgaWYgbm90IGV4cHJlc3Npb24xOiByYWlzZSBBc3NlcnRpb25FcnJvcihleHByZXNzaW9uMilcblxuVGhlc2UgZXF1aXZhbGVuY2VzIGFzc3VtZSB0aGF0ICJfX2RlYnVnX18iIGFuZCAiQXNzZXJ0aW9uRXJyb3IiIHJlZmVyXG50byB0aGUgYnVpbHQtaW4gdmFyaWFibGVzIHdpdGggdGhvc2UgbmFtZXMuICBJbiB0aGUgY3VycmVudFxuaW1wbGVtZW50YXRpb24sIHRoZSBidWlsdC1pbiB2YXJpYWJsZSAiX19kZWJ1Z19fIiBpcyAiVHJ1ZSIgdW5kZXJcbm5vcm1hbCBjaXJjdW1zdGFuY2VzLCAiRmFsc2UiIHdoZW4gb3B0aW1pemF0aW9uIGlzIHJlcXVlc3RlZCAoY29tbWFuZFxubGluZSBvcHRpb24gLU8pLiAgVGhlIGN1cnJlbnQgY29kZSBnZW5lcmF0b3IgZW1pdHMgbm8gY29kZSBmb3IgYW5cbmFzc2VydCBzdGF0ZW1lbnQgd2hlbiBvcHRpbWl6YXRpb24gaXMgcmVxdWVzdGVkIGF0IGNvbXBpbGUgdGltZS4gIE5vdGVcbnRoYXQgaXQgaXMgdW5uZWNlc3NhcnkgdG8gaW5jbHVkZSB0aGUgc291cmNlIGNvZGUgZm9yIHRoZSBleHByZXNzaW9uXG50aGF0IGZhaWxlZCBpbiB0aGUgZXJyb3IgbWVzc2FnZTsgaXQgd2lsbCBiZSBkaXNwbGF5ZWQgYXMgcGFydCBvZiB0aGVcbnN0YWNrIHRyYWNlLlxuXG5Bc3NpZ25tZW50cyB0byAiX19kZWJ1Z19fIiBhcmUgaWxsZWdhbC4gIFRoZSB2YWx1ZSBmb3IgdGhlIGJ1aWx0LWluXG52YXJpYWJsZSBpcyBkZXRlcm1pbmVkIHdoZW4gdGhlIGludGVycHJldGVyIHN0YXJ0cy5cbicsCi0gJ2Fzc2lnbm1lbnQnOiB1J1xuQXNzaWdubWVudCBzdGF0ZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKipcblxuQXNzaWdubWVudCBzdGF0ZW1lbnRzIGFyZSB1c2VkIHRvIChyZSliaW5kIG5hbWVzIHRvIHZhbHVlcyBhbmQgdG9cbm1vZGlmeSBhdHRyaWJ1dGVzIG9yIGl0ZW1zIG9mIG11dGFibGUgb2JqZWN0czpcblxuICAgYXNzaWdubWVudF9zdG10IDo6PSAodGFyZ2V0X2xpc3QgIj0iKSsgKGV4cHJlc3Npb25fbGlzdCB8IHlpZWxkX2V4cHJlc3Npb24pXG4gICB0YXJnZXRfbGlzdCAgICAgOjo9IHRhcmdldCAoIiwiIHRhcmdldCkqIFsiLCJdXG4gICB0YXJnZXQgICAgICAgICAgOjo9IGlkZW50aWZpZXJcbiAgICAgICAgICAgICAgfCAiKCIgdGFyZ2V0X2xpc3QgIikiXG4gICAgICAgICAgICAgIHwgIlsiIHRhcmdldF9saXN0ICJdIlxuICAgICAgICAgICAgICB8IGF0dHJpYnV0ZXJlZlxuICAgICAgICAgICAgICB8IHN1YnNjcmlwdGlvblxuICAgICAgICAgICAgICB8IHNsaWNpbmdcbiAgICAgICAgICAgICAgfCAiKiIgdGFyZ2V0XG5cbihTZWUgc2VjdGlvbiAqUHJpbWFyaWVzKiBmb3IgdGhlIHN5bnRheCBkZWZpbml0aW9ucyBmb3JcbiphdHRyaWJ1dGVyZWYqLCAqc3Vic2NyaXB0aW9uKiwgYW5kICpzbGljaW5nKi4pXG5cbkFuIGFzc2lnbm1lbnQgc3RhdGVtZW50IGV2YWx1YXRlcyB0aGUgZXhwcmVzc2lvbiBsaXN0IChyZW1lbWJlciB0aGF0XG50aGlzIGNhbiBiZSBhIHNpbmdsZSBleHByZXNzaW9uIG9yIGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIHRoZSBsYXR0ZXJcbnlpZWxkaW5nIGEgdHVwbGUpIGFuZCBhc3NpZ25zIHRoZSBzaW5nbGUgcmVzdWx0aW5nIG9iamVjdCB0byBlYWNoIG9mXG50aGUgdGFyZ2V0IGxpc3RzLCBmcm9tIGxlZnQgdG8gcmlnaHQuXG5cbkFzc2lnbm1lbnQgaXMgZGVmaW5lZCByZWN1cnNpdmVseSBkZXBlbmRpbmcgb24gdGhlIGZvcm0gb2YgdGhlIHRhcmdldFxuKGxpc3QpLiBXaGVuIGEgdGFyZ2V0IGlzIHBhcnQgb2YgYSBtdXRhYmxlIG9iamVjdCAoYW4gYXR0cmlidXRlXG5yZWZlcmVuY2UsIHN1YnNjcmlwdGlvbiBvciBzbGljaW5nKSwgdGhlIG11dGFibGUgb2JqZWN0IG11c3RcbnVsdGltYXRlbHkgcGVyZm9ybSB0aGUgYXNzaWdubWVudCBhbmQgZGVjaWRlIGFib3V0IGl0cyB2YWxpZGl0eSwgYW5kXG5tYXkgcmFpc2UgYW4gZXhjZXB0aW9uIGlmIHRoZSBhc3NpZ25tZW50IGlzIHVuYWNjZXB0YWJsZS4gIFRoZSBydWxlc1xub2JzZXJ2ZWQgYnkgdmFyaW91cyB0eXBlcyBhbmQgdGhlIGV4Y2VwdGlvbnMgcmFpc2VkIGFyZSBnaXZlbiB3aXRoIHRoZVxuZGVmaW5pdGlvbiBvZiB0aGUgb2JqZWN0IHR5cGVzIChzZWUgc2VjdGlvbiAqVGhlIHN0YW5kYXJkIHR5cGVcbmhpZXJhcmNoeSopLlxuXG5Bc3NpZ25tZW50IG9mIGFuIG9iamVjdCB0byBhIHRhcmdldCBsaXN0LCBvcHRpb25hbGx5IGVuY2xvc2VkIGluXG5wYXJlbnRoZXNlcyBvciBzcXVhcmUgYnJhY2tldHMsIGlzIHJlY3Vyc2l2ZWx5IGRlZmluZWQgYXMgZm9sbG93cy5cblxuKiBJZiB0aGUgdGFyZ2V0IGxpc3QgaXMgYSBzaW5nbGUgdGFyZ2V0OiBUaGUgb2JqZWN0IGlzIGFzc2lnbmVkIHRvXG4gIHRoYXQgdGFyZ2V0LlxuXG4qIElmIHRoZSB0YXJnZXQgbGlzdCBpcyBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHRhcmdldHM6IFRoZVxuICBvYmplY3QgbXVzdCBiZSBhbiBpdGVyYWJsZSB3aXRoIHRoZSBzYW1lIG51bWJlciBvZiBpdGVtcyBhcyB0aGVyZVxuICBhcmUgdGFyZ2V0cyBpbiB0aGUgdGFyZ2V0IGxpc3QsIGFuZCB0aGUgaXRlbXMgYXJlIGFzc2lnbmVkLCBmcm9tXG4gIGxlZnQgdG8gcmlnaHQsIHRvIHRoZSBjb3JyZXNwb25kaW5nIHRhcmdldHMuXG5cbiAgKiBJZiB0aGUgdGFyZ2V0IGxpc3QgY29udGFpbnMgb25lIHRhcmdldCBwcmVmaXhlZCB3aXRoIGFuXG4gICAgYXN0ZXJpc2ssIGNhbGxlZCBhICJzdGFycmVkIiB0YXJnZXQ6IFRoZSBvYmplY3QgbXVzdCBiZSBhIHNlcXVlbmNlXG4gICAgd2l0aCBhdCBsZWFzdCBhcyBtYW55IGl0ZW1zIGFzIHRoZXJlIGFyZSB0YXJnZXRzIGluIHRoZSB0YXJnZXRcbiAgICBsaXN0LCBtaW51cyBvbmUuICBUaGUgZmlyc3QgaXRlbXMgb2YgdGhlIHNlcXVlbmNlIGFyZSBhc3NpZ25lZCxcbiAgICBmcm9tIGxlZnQgdG8gcmlnaHQsIHRvIHRoZSB0YXJnZXRzIGJlZm9yZSB0aGUgc3RhcnJlZCB0YXJnZXQuICBUaGVcbiAgICBmaW5hbCBpdGVtcyBvZiB0aGUgc2VxdWVuY2UgYXJlIGFzc2lnbmVkIHRvIHRoZSB0YXJnZXRzIGFmdGVyIHRoZVxuICAgIHN0YXJyZWQgdGFyZ2V0LiAgQSBsaXN0IG9mIHRoZSByZW1haW5pbmcgaXRlbXMgaW4gdGhlIHNlcXVlbmNlIGlzXG4gICAgdGhlbiBhc3NpZ25lZCB0byB0aGUgc3RhcnJlZCB0YXJnZXQgKHRoZSBsaXN0IGNhbiBiZSBlbXB0eSkuXG5cbiAgKiBFbHNlOiBUaGUgb2JqZWN0IG11c3QgYmUgYSBzZXF1ZW5jZSB3aXRoIHRoZSBzYW1lIG51bWJlciBvZlxuICAgIGl0ZW1zIGFzIHRoZXJlIGFyZSB0YXJnZXRzIGluIHRoZSB0YXJnZXQgbGlzdCwgYW5kIHRoZSBpdGVtcyBhcmVcbiAgICBhc3NpZ25lZCwgZnJvbSBsZWZ0IHRvIHJpZ2h0LCB0byB0aGUgY29ycmVzcG9uZGluZyB0YXJnZXRzLlxuXG5Bc3NpZ25tZW50IG9mIGFuIG9iamVjdCB0byBhIHNpbmdsZSB0YXJnZXQgaXMgcmVjdXJzaXZlbHkgZGVmaW5lZCBhc1xuZm9sbG93cy5cblxuKiBJZiB0aGUgdGFyZ2V0IGlzIGFuIGlkZW50aWZpZXIgKG5hbWUpOlxuXG4gICogSWYgdGhlIG5hbWUgZG9lcyBub3Qgb2NjdXIgaW4gYSAiZ2xvYmFsIiBvciAibm9ubG9jYWwiIHN0YXRlbWVudFxuICAgIGluIHRoZSBjdXJyZW50IGNvZGUgYmxvY2s6IHRoZSBuYW1lIGlzIGJvdW5kIHRvIHRoZSBvYmplY3QgaW4gdGhlXG4gICAgY3VycmVudCBsb2NhbCBuYW1lc3BhY2UuXG5cbiAgKiBPdGhlcndpc2U6IHRoZSBuYW1lIGlzIGJvdW5kIHRvIHRoZSBvYmplY3QgaW4gdGhlIGdsb2JhbFxuICAgIG5hbWVzcGFjZSBvciB0aGUgb3V0ZXIgbmFtZXNwYWNlIGRldGVybWluZWQgYnkgIm5vbmxvY2FsIixcbiAgICByZXNwZWN0aXZlbHkuXG5cbiAgVGhlIG5hbWUgaXMgcmVib3VuZCBpZiBpdCB3YXMgYWxyZWFkeSBib3VuZC4gIFRoaXMgbWF5IGNhdXNlIHRoZVxuICByZWZlcmVuY2UgY291bnQgZm9yIHRoZSBvYmplY3QgcHJldmlvdXNseSBib3VuZCB0byB0aGUgbmFtZSB0byByZWFjaFxuICB6ZXJvLCBjYXVzaW5nIHRoZSBvYmplY3QgdG8gYmUgZGVhbGxvY2F0ZWQgYW5kIGl0cyBkZXN0cnVjdG9yIChpZiBpdFxuICBoYXMgb25lKSB0byBiZSBjYWxsZWQuXG5cbiogSWYgdGhlIHRhcmdldCBpcyBhIHRhcmdldCBsaXN0IGVuY2xvc2VkIGluIHBhcmVudGhlc2VzIG9yIGluXG4gIHNxdWFyZSBicmFja2V0czogVGhlIG9iamVjdCBtdXN0IGJlIGFuIGl0ZXJhYmxlIHdpdGggdGhlIHNhbWUgbnVtYmVyXG4gIG9mIGl0ZW1zIGFzIHRoZXJlIGFyZSB0YXJnZXRzIGluIHRoZSB0YXJnZXQgbGlzdCwgYW5kIGl0cyBpdGVtcyBhcmVcbiAgYXNzaWduZWQsIGZyb20gbGVmdCB0byByaWdodCwgdG8gdGhlIGNvcnJlc3BvbmRpbmcgdGFyZ2V0cy5cblxuKiBJZiB0aGUgdGFyZ2V0IGlzIGFuIGF0dHJpYnV0ZSByZWZlcmVuY2U6IFRoZSBwcmltYXJ5IGV4cHJlc3Npb24gaW5cbiAgdGhlIHJlZmVyZW5jZSBpcyBldmFsdWF0ZWQuICBJdCBzaG91bGQgeWllbGQgYW4gb2JqZWN0IHdpdGhcbiAgYXNzaWduYWJsZSBhdHRyaWJ1dGVzOyBpZiB0aGlzIGlzIG5vdCB0aGUgY2FzZSwgIlR5cGVFcnJvciIgaXNcbiAgcmFpc2VkLiAgVGhhdCBvYmplY3QgaXMgdGhlbiBhc2tlZCB0byBhc3NpZ24gdGhlIGFzc2lnbmVkIG9iamVjdCB0b1xuICB0aGUgZ2l2ZW4gYXR0cmlidXRlOyBpZiBpdCBjYW5ub3QgcGVyZm9ybSB0aGUgYXNzaWdubWVudCwgaXQgcmFpc2VzXG4gIGFuIGV4Y2VwdGlvbiAodXN1YWxseSBidXQgbm90IG5lY2Vzc2FyaWx5ICJBdHRyaWJ1dGVFcnJvciIpLlxuXG4gIE5vdGU6IElmIHRoZSBvYmplY3QgaXMgYSBjbGFzcyBpbnN0YW5jZSBhbmQgdGhlIGF0dHJpYnV0ZSByZWZlcmVuY2VcbiAgb2NjdXJzIG9uIGJvdGggc2lkZXMgb2YgdGhlIGFzc2lnbm1lbnQgb3BlcmF0b3IsIHRoZSBSSFMgZXhwcmVzc2lvbixcbiAgImEueCIgY2FuIGFjY2VzcyBlaXRoZXIgYW4gaW5zdGFuY2UgYXR0cmlidXRlIG9yIChpZiBubyBpbnN0YW5jZVxuICBhdHRyaWJ1dGUgZXhpc3RzKSBhIGNsYXNzIGF0dHJpYnV0ZS4gIFRoZSBMSFMgdGFyZ2V0ICJhLngiIGlzIGFsd2F5c1xuICBzZXQgYXMgYW4gaW5zdGFuY2UgYXR0cmlidXRlLCBjcmVhdGluZyBpdCBpZiBuZWNlc3NhcnkuICBUaHVzLCB0aGVcbiAgdHdvIG9jY3VycmVuY2VzIG9mICJhLngiIGRvIG5vdCBuZWNlc3NhcmlseSByZWZlciB0byB0aGUgc2FtZVxuICBhdHRyaWJ1dGU6IGlmIHRoZSBSSFMgZXhwcmVzc2lvbiByZWZlcnMgdG8gYSBjbGFzcyBhdHRyaWJ1dGUsIHRoZVxuICBMSFMgY3JlYXRlcyBhIG5ldyBpbnN0YW5jZSBhdHRyaWJ1dGUgYXMgdGhlIHRhcmdldCBvZiB0aGVcbiAgYXNzaWdubWVudDpcblxuICAgICBjbGFzcyBDbHM6XG4gICAgICAgICB4ID0gMyAgICAgICAgICAgICAjIGNsYXNzIHZhcmlhYmxlXG4gICAgIGluc3QgPSBDbHMoKVxuICAgICBpbnN0LnggPSBpbnN0LnggKyAxICAgIyB3cml0ZXMgaW5zdC54IGFzIDQgbGVhdmluZyBDbHMueCBhcyAzXG5cbiAgVGhpcyBkZXNjcmlwdGlvbiBkb2VzIG5vdCBuZWNlc3NhcmlseSBhcHBseSB0byBkZXNjcmlwdG9yXG4gIGF0dHJpYnV0ZXMsIHN1Y2ggYXMgcHJvcGVydGllcyBjcmVhdGVkIHdpdGggInByb3BlcnR5KCkiLlxuXG4qIElmIHRoZSB0YXJnZXQgaXMgYSBzdWJzY3JpcHRpb246IFRoZSBwcmltYXJ5IGV4cHJlc3Npb24gaW4gdGhlXG4gIHJlZmVyZW5jZSBpcyBldmFsdWF0ZWQuICBJdCBzaG91bGQgeWllbGQgZWl0aGVyIGEgbXV0YWJsZSBzZXF1ZW5jZVxuICBvYmplY3QgKHN1Y2ggYXMgYSBsaXN0KSBvciBhIG1hcHBpbmcgb2JqZWN0IChzdWNoIGFzIGEgZGljdGlvbmFyeSkuXG4gIE5leHQsIHRoZSBzdWJzY3JpcHQgZXhwcmVzc2lvbiBpcyBldmFsdWF0ZWQuXG5cbiAgSWYgdGhlIHByaW1hcnkgaXMgYSBtdXRhYmxlIHNlcXVlbmNlIG9iamVjdCAoc3VjaCBhcyBhIGxpc3QpLCB0aGVcbiAgc3Vic2NyaXB0IG11c3QgeWllbGQgYW4gaW50ZWdlci4gIElmIGl0IGlzIG5lZ2F0aXZlLCB0aGUgc2VxdWVuY2VcJ3NcbiAgbGVuZ3RoIGlzIGFkZGVkIHRvIGl0LiAgVGhlIHJlc3VsdGluZyB2YWx1ZSBtdXN0IGJlIGEgbm9ubmVnYXRpdmVcbiAgaW50ZWdlciBsZXNzIHRoYW4gdGhlIHNlcXVlbmNlXCdzIGxlbmd0aCwgYW5kIHRoZSBzZXF1ZW5jZSBpcyBhc2tlZFxuICB0byBhc3NpZ24gdGhlIGFzc2lnbmVkIG9iamVjdCB0byBpdHMgaXRlbSB3aXRoIHRoYXQgaW5kZXguICBJZiB0aGVcbiAgaW5kZXggaXMgb3V0IG9mIHJhbmdlLCAiSW5kZXhFcnJvciIgaXMgcmFpc2VkIChhc3NpZ25tZW50IHRvIGFcbiAgc3Vic2NyaXB0ZWQgc2VxdWVuY2UgY2Fubm90IGFkZCBuZXcgaXRlbXMgdG8gYSBsaXN0KS5cblxuICBJZiB0aGUgcHJpbWFyeSBpcyBhIG1hcHBpbmcgb2JqZWN0IChzdWNoIGFzIGEgZGljdGlvbmFyeSksIHRoZVxuICBzdWJzY3JpcHQgbXVzdCBoYXZlIGEgdHlwZSBjb21wYXRpYmxlIHdpdGggdGhlIG1hcHBpbmdcJ3Mga2V5IHR5cGUsXG4gIGFuZCB0aGUgbWFwcGluZyBpcyB0aGVuIGFza2VkIHRvIGNyZWF0ZSBhIGtleS9kYXR1bSBwYWlyIHdoaWNoIG1hcHNcbiAgdGhlIHN1YnNjcmlwdCB0byB0aGUgYXNzaWduZWQgb2JqZWN0LiAgVGhpcyBjYW4gZWl0aGVyIHJlcGxhY2UgYW5cbiAgZXhpc3Rpbmcga2V5L3ZhbHVlIHBhaXIgd2l0aCB0aGUgc2FtZSBrZXkgdmFsdWUsIG9yIGluc2VydCBhIG5ld1xuICBrZXkvdmFsdWUgcGFpciAoaWYgbm8ga2V5IHdpdGggdGhlIHNhbWUgdmFsdWUgZXhpc3RlZCkuXG5cbiAgRm9yIHVzZXItZGVmaW5lZCBvYmplY3RzLCB0aGUgIl9fc2V0aXRlbV9fKCkiIG1ldGhvZCBpcyBjYWxsZWQgd2l0aFxuICBhcHByb3ByaWF0ZSBhcmd1bWVudHMuXG5cbiogSWYgdGhlIHRhcmdldCBpcyBhIHNsaWNpbmc6IFRoZSBwcmltYXJ5IGV4cHJlc3Npb24gaW4gdGhlXG4gIHJlZmVyZW5jZSBpcyBldmFsdWF0ZWQuICBJdCBzaG91bGQgeWllbGQgYSBtdXRhYmxlIHNlcXVlbmNlIG9iamVjdFxuICAoc3VjaCBhcyBhIGxpc3QpLiAgVGhlIGFzc2lnbmVkIG9iamVjdCBzaG91bGQgYmUgYSBzZXF1ZW5jZSBvYmplY3RcbiAgb2YgdGhlIHNhbWUgdHlwZS4gIE5leHQsIHRoZSBsb3dlciBhbmQgdXBwZXIgYm91bmQgZXhwcmVzc2lvbnMgYXJlXG4gIGV2YWx1YXRlZCwgaW5zb2ZhciB0aGV5IGFyZSBwcmVzZW50OyBkZWZhdWx0cyBhcmUgemVybyBhbmQgdGhlXG4gIHNlcXVlbmNlXCdzIGxlbmd0aC4gIFRoZSBib3VuZHMgc2hvdWxkIGV2YWx1YXRlIHRvIGludGVnZXJzLiBJZlxuICBlaXRoZXIgYm91bmQgaXMgbmVnYXRpdmUsIHRoZSBzZXF1ZW5jZVwncyBsZW5ndGggaXMgYWRkZWQgdG8gaXQuICBUaGVcbiAgcmVzdWx0aW5nIGJvdW5kcyBhcmUgY2xpcHBlZCB0byBsaWUgYmV0d2VlbiB6ZXJvIGFuZCB0aGUgc2VxdWVuY2VcJ3NcbiAgbGVuZ3RoLCBpbmNsdXNpdmUuICBGaW5hbGx5LCB0aGUgc2VxdWVuY2Ugb2JqZWN0IGlzIGFza2VkIHRvIHJlcGxhY2VcbiAgdGhlIHNsaWNlIHdpdGggdGhlIGl0ZW1zIG9mIHRoZSBhc3NpZ25lZCBzZXF1ZW5jZS4gIFRoZSBsZW5ndGggb2ZcbiAgdGhlIHNsaWNlIG1heSBiZSBkaWZmZXJlbnQgZnJvbSB0aGUgbGVuZ3RoIG9mIHRoZSBhc3NpZ25lZCBzZXF1ZW5jZSxcbiAgdGh1cyBjaGFuZ2luZyB0aGUgbGVuZ3RoIG9mIHRoZSB0YXJnZXQgc2VxdWVuY2UsIGlmIHRoZSB0YXJnZXRcbiAgc2VxdWVuY2UgYWxsb3dzIGl0LlxuXG4qKkNQeXRob24gaW1wbGVtZW50YXRpb24gZGV0YWlsOioqIEluIHRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uLCB0aGVcbnN5bnRheCBmb3IgdGFyZ2V0cyBpcyB0YWtlbiB0byBiZSB0aGUgc2FtZSBhcyBmb3IgZXhwcmVzc2lvbnMsIGFuZFxuaW52YWxpZCBzeW50YXggaXMgcmVqZWN0ZWQgZHVyaW5nIHRoZSBjb2RlIGdlbmVyYXRpb24gcGhhc2UsIGNhdXNpbmdcbmxlc3MgZGV0YWlsZWQgZXJyb3IgbWVzc2FnZXMuXG5cbkFsdGhvdWdoIHRoZSBkZWZpbml0aW9uIG9mIGFzc2lnbm1lbnQgaW1wbGllcyB0aGF0IG92ZXJsYXBzIGJldHdlZW5cbnRoZSBsZWZ0LWhhbmQgc2lkZSBhbmQgdGhlIHJpZ2h0LWhhbmQgc2lkZSBhcmUgXCdzaW11bHRhbmVub3VzXCcgKGZvclxuZXhhbXBsZSAiYSwgYiA9IGIsIGEiIHN3YXBzIHR3byB2YXJpYWJsZXMpLCBvdmVybGFwcyAqd2l0aGluKiB0aGVcbmNvbGxlY3Rpb24gb2YgYXNzaWduZWQtdG8gdmFyaWFibGVzIG9jY3VyIGxlZnQtdG8tcmlnaHQsIHNvbWV0aW1lc1xucmVzdWx0aW5nIGluIGNvbmZ1c2lvbi4gIEZvciBpbnN0YW5jZSwgdGhlIGZvbGxvd2luZyBwcm9ncmFtIHByaW50c1xuIlswLCAyXSI6XG5cbiAgIHggPSBbMCwgMV1cbiAgIGkgPSAwXG4gICBpLCB4W2ldID0gMSwgMiAgICAgICAgICMgaSBpcyB1cGRhdGVkLCB0aGVuIHhbaV0gaXMgdXBkYXRlZFxuICAgcHJpbnQoeClcblxuU2VlIGFsc286ICoqUEVQIDMxMzIqKiAtIEV4dGVuZGVkIEl0ZXJhYmxlIFVucGFja2luZ1xuXG4gICAgIFRoZSBzcGVjaWZpY2F0aW9uIGZvciB0aGUgIip0YXJnZXQiIGZlYXR1cmUuXG5cblxuQXVnbWVudGVkIGFzc2lnbm1lbnQgc3RhdGVtZW50c1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5BdWdtZW50ZWQgYXNzaWdubWVudCBpcyB0aGUgY29tYmluYXRpb24sIGluIGEgc2luZ2xlIHN0YXRlbWVudCwgb2YgYVxuYmluYXJ5IG9wZXJhdGlvbiBhbmQgYW4gYXNzaWdubWVudCBzdGF0ZW1lbnQ6XG5cbiAgIGF1Z21lbnRlZF9hc3NpZ25tZW50X3N0bXQgOjo9IGF1Z3RhcmdldCBhdWdvcCAoZXhwcmVzc2lvbl9saXN0IHwgeWllbGRfZXhwcmVzc2lvbilcbiAgIGF1Z3RhcmdldCAgICAgICAgICAgICAgICAgOjo9IGlkZW50aWZpZXIgfCBhdHRyaWJ1dGVyZWYgfCBzdWJzY3JpcHRpb24gfCBzbGljaW5nXG4gICBhdWdvcCAgICAgICAgICAgICAgICAgICAgIDo6PSAiKz0iIHwgIi09IiB8ICIqPSIgfCAiLz0iIHwgIi8vPSIgfCAiJT0iIHwgIioqPSJcbiAgICAgICAgICAgICB8ICI+Pj0iIHwgIjw8PSIgfCAiJj0iIHwgIl49IiB8ICJ8PSJcblxuKFNlZSBzZWN0aW9uICpQcmltYXJpZXMqIGZvciB0aGUgc3ludGF4IGRlZmluaXRpb25zIG9mIHRoZSBsYXN0IHRocmVlXG5zeW1ib2xzLilcblxuQW4gYXVnbWVudGVkIGFzc2lnbm1lbnQgZXZhbHVhdGVzIHRoZSB0YXJnZXQgKHdoaWNoLCB1bmxpa2Ugbm9ybWFsXG5hc3NpZ25tZW50IHN0YXRlbWVudHMsIGNhbm5vdCBiZSBhbiB1bnBhY2tpbmcpIGFuZCB0aGUgZXhwcmVzc2lvblxubGlzdCwgcGVyZm9ybXMgdGhlIGJpbmFyeSBvcGVyYXRpb24gc3BlY2lmaWMgdG8gdGhlIHR5cGUgb2YgYXNzaWdubWVudFxub24gdGhlIHR3byBvcGVyYW5kcywgYW5kIGFzc2lnbnMgdGhlIHJlc3VsdCB0byB0aGUgb3JpZ2luYWwgdGFyZ2V0LlxuVGhlIHRhcmdldCBpcyBvbmx5IGV2YWx1YXRlZCBvbmNlLlxuXG5BbiBhdWdtZW50ZWQgYXNzaWdubWVudCBleHByZXNzaW9uIGxpa2UgInggKz0gMSIgY2FuIGJlIHJld3JpdHRlbiBhc1xuInggPSB4ICsgMSIgdG8gYWNoaWV2ZSBhIHNpbWlsYXIsIGJ1dCBub3QgZXhhY3RseSBlcXVhbCBlZmZlY3QuIEluIHRoZVxuYXVnbWVudGVkIHZlcnNpb24sICJ4IiBpcyBvbmx5IGV2YWx1YXRlZCBvbmNlLiBBbHNvLCB3aGVuIHBvc3NpYmxlLFxudGhlIGFjdHVhbCBvcGVyYXRpb24gaXMgcGVyZm9ybWVkICppbi1wbGFjZSosIG1lYW5pbmcgdGhhdCByYXRoZXIgdGhhblxuY3JlYXRpbmcgYSBuZXcgb2JqZWN0IGFuZCBhc3NpZ25pbmcgdGhhdCB0byB0aGUgdGFyZ2V0LCB0aGUgb2xkIG9iamVjdFxuaXMgbW9kaWZpZWQgaW5zdGVhZC5cblxuVW5saWtlIG5vcm1hbCBhc3NpZ25tZW50cywgYXVnbWVudGVkIGFzc2lnbm1lbnRzIGV2YWx1YXRlIHRoZSBsZWZ0LVxuaGFuZCBzaWRlICpiZWZvcmUqIGV2YWx1YXRpbmcgdGhlIHJpZ2h0LWhhbmQgc2lkZS4gIEZvciBleGFtcGxlLCAiYVtpXVxuKz0gZih4KSIgZmlyc3QgbG9va3MtdXAgImFbaV0iLCB0aGVuIGl0IGV2YWx1YXRlcyAiZih4KSIgYW5kIHBlcmZvcm1zXG50aGUgYWRkaXRpb24sIGFuZCBsYXN0bHksIGl0IHdyaXRlcyB0aGUgcmVzdWx0IGJhY2sgdG8gImFbaV0iLlxuXG5XaXRoIHRoZSBleGNlcHRpb24gb2YgYXNzaWduaW5nIHRvIHR1cGxlcyBhbmQgbXVsdGlwbGUgdGFyZ2V0cyBpbiBhXG5zaW5nbGUgc3RhdGVtZW50LCB0aGUgYXNzaWdubWVudCBkb25lIGJ5IGF1Z21lbnRlZCBhc3NpZ25tZW50XG5zdGF0ZW1lbnRzIGlzIGhhbmRsZWQgdGhlIHNhbWUgd2F5IGFzIG5vcm1hbCBhc3NpZ25tZW50cy4gU2ltaWxhcmx5LFxud2l0aCB0aGUgZXhjZXB0aW9uIG9mIHRoZSBwb3NzaWJsZSAqaW4tcGxhY2UqIGJlaGF2aW9yLCB0aGUgYmluYXJ5XG5vcGVyYXRpb24gcGVyZm9ybWVkIGJ5IGF1Z21lbnRlZCBhc3NpZ25tZW50IGlzIHRoZSBzYW1lIGFzIHRoZSBub3JtYWxcbmJpbmFyeSBvcGVyYXRpb25zLlxuXG5Gb3IgdGFyZ2V0cyB3aGljaCBhcmUgYXR0cmlidXRlIHJlZmVyZW5jZXMsIHRoZSBzYW1lICpjYXZlYXQgYWJvdXRcbmNsYXNzIGFuZCBpbnN0YW5jZSBhdHRyaWJ1dGVzKiBhcHBsaWVzIGFzIGZvciByZWd1bGFyIGFzc2lnbm1lbnRzLlxuJywKKyAnYXNzaWdubWVudCc6IHUnXG5Bc3NpZ25tZW50IHN0YXRlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKlxuXG5Bc3NpZ25tZW50IHN0YXRlbWVudHMgYXJlIHVzZWQgdG8gKHJlKWJpbmQgbmFtZXMgdG8gdmFsdWVzIGFuZCB0b1xubW9kaWZ5IGF0dHJpYnV0ZXMgb3IgaXRlbXMgb2YgbXV0YWJsZSBvYmplY3RzOlxuXG4gICBhc3NpZ25tZW50X3N0bXQgOjo9ICh0YXJnZXRfbGlzdCAiPSIpKyAoZXhwcmVzc2lvbl9saXN0IHwgeWllbGRfZXhwcmVzc2lvbilcbiAgIHRhcmdldF9saXN0ICAgICA6Oj0gdGFyZ2V0ICgiLCIgdGFyZ2V0KSogWyIsIl1cbiAgIHRhcmdldCAgICAgICAgICA6Oj0gaWRlbnRpZmllclxuICAgICAgICAgICAgICB8ICIoIiB0YXJnZXRfbGlzdCAiKSJcbiAgICAgICAgICAgICAgfCAiWyIgdGFyZ2V0X2xpc3QgIl0iXG4gICAgICAgICAgICAgIHwgYXR0cmlidXRlcmVmXG4gICAgICAgICAgICAgIHwgc3Vic2NyaXB0aW9uXG4gICAgICAgICAgICAgIHwgc2xpY2luZ1xuICAgICAgICAgICAgICB8ICIqIiB0YXJnZXRcblxuKFNlZSBzZWN0aW9uICpQcmltYXJpZXMqIGZvciB0aGUgc3ludGF4IGRlZmluaXRpb25zIGZvclxuKmF0dHJpYnV0ZXJlZiosICpzdWJzY3JpcHRpb24qLCBhbmQgKnNsaWNpbmcqLilcblxuQW4gYXNzaWdubWVudCBzdGF0ZW1lbnQgZXZhbHVhdGVzIHRoZSBleHByZXNzaW9uIGxpc3QgKHJlbWVtYmVyIHRoYXRcbnRoaXMgY2FuIGJlIGEgc2luZ2xlIGV4cHJlc3Npb24gb3IgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgdGhlIGxhdHRlclxueWllbGRpbmcgYSB0dXBsZSkgYW5kIGFzc2lnbnMgdGhlIHNpbmdsZSByZXN1bHRpbmcgb2JqZWN0IHRvIGVhY2ggb2ZcbnRoZSB0YXJnZXQgbGlzdHMsIGZyb20gbGVmdCB0byByaWdodC5cblxuQXNzaWdubWVudCBpcyBkZWZpbmVkIHJlY3Vyc2l2ZWx5IGRlcGVuZGluZyBvbiB0aGUgZm9ybSBvZiB0aGUgdGFyZ2V0XG4obGlzdCkuIFdoZW4gYSB0YXJnZXQgaXMgcGFydCBvZiBhIG11dGFibGUgb2JqZWN0IChhbiBhdHRyaWJ1dGVcbnJlZmVyZW5jZSwgc3Vic2NyaXB0aW9uIG9yIHNsaWNpbmcpLCB0aGUgbXV0YWJsZSBvYmplY3QgbXVzdFxudWx0aW1hdGVseSBwZXJmb3JtIHRoZSBhc3NpZ25tZW50IGFuZCBkZWNpZGUgYWJvdXQgaXRzIHZhbGlkaXR5LCBhbmRcbm1heSByYWlzZSBhbiBleGNlcHRpb24gaWYgdGhlIGFzc2lnbm1lbnQgaXMgdW5hY2NlcHRhYmxlLiAgVGhlIHJ1bGVzXG5vYnNlcnZlZCBieSB2YXJpb3VzIHR5cGVzIGFuZCB0aGUgZXhjZXB0aW9ucyByYWlzZWQgYXJlIGdpdmVuIHdpdGggdGhlXG5kZWZpbml0aW9uIG9mIHRoZSBvYmplY3QgdHlwZXMgKHNlZSBzZWN0aW9uICpUaGUgc3RhbmRhcmQgdHlwZVxuaGllcmFyY2h5KikuXG5cbkFzc2lnbm1lbnQgb2YgYW4gb2JqZWN0IHRvIGEgdGFyZ2V0IGxpc3QsIG9wdGlvbmFsbHkgZW5jbG9zZWQgaW5cbnBhcmVudGhlc2VzIG9yIHNxdWFyZSBicmFja2V0cywgaXMgcmVjdXJzaXZlbHkgZGVmaW5lZCBhcyBmb2xsb3dzLlxuXG4qIElmIHRoZSB0YXJnZXQgbGlzdCBpcyBhIHNpbmdsZSB0YXJnZXQ6IFRoZSBvYmplY3QgaXMgYXNzaWduZWQgdG9cbiAgdGhhdCB0YXJnZXQuXG5cbiogSWYgdGhlIHRhcmdldCBsaXN0IGlzIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgdGFyZ2V0czogVGhlXG4gIG9iamVjdCBtdXN0IGJlIGFuIGl0ZXJhYmxlIHdpdGggdGhlIHNhbWUgbnVtYmVyIG9mIGl0ZW1zIGFzIHRoZXJlXG4gIGFyZSB0YXJnZXRzIGluIHRoZSB0YXJnZXQgbGlzdCwgYW5kIHRoZSBpdGVtcyBhcmUgYXNzaWduZWQsIGZyb21cbiAgbGVmdCB0byByaWdodCwgdG8gdGhlIGNvcnJlc3BvbmRpbmcgdGFyZ2V0cy5cblxuICAqIElmIHRoZSB0YXJnZXQgbGlzdCBjb250YWlucyBvbmUgdGFyZ2V0IHByZWZpeGVkIHdpdGggYW5cbiAgICBhc3RlcmlzaywgY2FsbGVkIGEgInN0YXJyZWQiIHRhcmdldDogVGhlIG9iamVjdCBtdXN0IGJlIGEgc2VxdWVuY2VcbiAgICB3aXRoIGF0IGxlYXN0IGFzIG1hbnkgaXRlbXMgYXMgdGhlcmUgYXJlIHRhcmdldHMgaW4gdGhlIHRhcmdldFxuICAgIGxpc3QsIG1pbnVzIG9uZS4gIFRoZSBmaXJzdCBpdGVtcyBvZiB0aGUgc2VxdWVuY2UgYXJlIGFzc2lnbmVkLFxuICAgIGZyb20gbGVmdCB0byByaWdodCwgdG8gdGhlIHRhcmdldHMgYmVmb3JlIHRoZSBzdGFycmVkIHRhcmdldC4gIFRoZVxuICAgIGZpbmFsIGl0ZW1zIG9mIHRoZSBzZXF1ZW5jZSBhcmUgYXNzaWduZWQgdG8gdGhlIHRhcmdldHMgYWZ0ZXIgdGhlXG4gICAgc3RhcnJlZCB0YXJnZXQuICBBIGxpc3Qgb2YgdGhlIHJlbWFpbmluZyBpdGVtcyBpbiB0aGUgc2VxdWVuY2UgaXNcbiAgICB0aGVuIGFzc2lnbmVkIHRvIHRoZSBzdGFycmVkIHRhcmdldCAodGhlIGxpc3QgY2FuIGJlIGVtcHR5KS5cblxuICAqIEVsc2U6IFRoZSBvYmplY3QgbXVzdCBiZSBhIHNlcXVlbmNlIHdpdGggdGhlIHNhbWUgbnVtYmVyIG9mXG4gICAgaXRlbXMgYXMgdGhlcmUgYXJlIHRhcmdldHMgaW4gdGhlIHRhcmdldCBsaXN0LCBhbmQgdGhlIGl0ZW1zIGFyZVxuICAgIGFzc2lnbmVkLCBmcm9tIGxlZnQgdG8gcmlnaHQsIHRvIHRoZSBjb3JyZXNwb25kaW5nIHRhcmdldHMuXG5cbkFzc2lnbm1lbnQgb2YgYW4gb2JqZWN0IHRvIGEgc2luZ2xlIHRhcmdldCBpcyByZWN1cnNpdmVseSBkZWZpbmVkIGFzXG5mb2xsb3dzLlxuXG4qIElmIHRoZSB0YXJnZXQgaXMgYW4gaWRlbnRpZmllciAobmFtZSk6XG5cbiAgKiBJZiB0aGUgbmFtZSBkb2VzIG5vdCBvY2N1ciBpbiBhICJnbG9iYWwiIG9yICJub25sb2NhbCIgc3RhdGVtZW50XG4gICAgaW4gdGhlIGN1cnJlbnQgY29kZSBibG9jazogdGhlIG5hbWUgaXMgYm91bmQgdG8gdGhlIG9iamVjdCBpbiB0aGVcbiAgICBjdXJyZW50IGxvY2FsIG5hbWVzcGFjZS5cblxuICAqIE90aGVyd2lzZTogdGhlIG5hbWUgaXMgYm91bmQgdG8gdGhlIG9iamVjdCBpbiB0aGUgZ2xvYmFsXG4gICAgbmFtZXNwYWNlIG9yIHRoZSBvdXRlciBuYW1lc3BhY2UgZGV0ZXJtaW5lZCBieSAibm9ubG9jYWwiLFxuICAgIHJlc3BlY3RpdmVseS5cblxuICBUaGUgbmFtZSBpcyByZWJvdW5kIGlmIGl0IHdhcyBhbHJlYWR5IGJvdW5kLiAgVGhpcyBtYXkgY2F1c2UgdGhlXG4gIHJlZmVyZW5jZSBjb3VudCBmb3IgdGhlIG9iamVjdCBwcmV2aW91c2x5IGJvdW5kIHRvIHRoZSBuYW1lIHRvIHJlYWNoXG4gIHplcm8sIGNhdXNpbmcgdGhlIG9iamVjdCB0byBiZSBkZWFsbG9jYXRlZCBhbmQgaXRzIGRlc3RydWN0b3IgKGlmIGl0XG4gIGhhcyBvbmUpIHRvIGJlIGNhbGxlZC5cblxuKiBJZiB0aGUgdGFyZ2V0IGlzIGEgdGFyZ2V0IGxpc3QgZW5jbG9zZWQgaW4gcGFyZW50aGVzZXMgb3IgaW5cbiAgc3F1YXJlIGJyYWNrZXRzOiBUaGUgb2JqZWN0IG11c3QgYmUgYW4gaXRlcmFibGUgd2l0aCB0aGUgc2FtZSBudW1iZXJcbiAgb2YgaXRlbXMgYXMgdGhlcmUgYXJlIHRhcmdldHMgaW4gdGhlIHRhcmdldCBsaXN0LCBhbmQgaXRzIGl0ZW1zIGFyZVxuICBhc3NpZ25lZCwgZnJvbSBsZWZ0IHRvIHJpZ2h0LCB0byB0aGUgY29ycmVzcG9uZGluZyB0YXJnZXRzLlxuXG4qIElmIHRoZSB0YXJnZXQgaXMgYW4gYXR0cmlidXRlIHJlZmVyZW5jZTogVGhlIHByaW1hcnkgZXhwcmVzc2lvbiBpblxuICB0aGUgcmVmZXJlbmNlIGlzIGV2YWx1YXRlZC4gIEl0IHNob3VsZCB5aWVsZCBhbiBvYmplY3Qgd2l0aFxuICBhc3NpZ25hYmxlIGF0dHJpYnV0ZXM7IGlmIHRoaXMgaXMgbm90IHRoZSBjYXNlLCAiVHlwZUVycm9yIiBpc1xuICByYWlzZWQuICBUaGF0IG9iamVjdCBpcyB0aGVuIGFza2VkIHRvIGFzc2lnbiB0aGUgYXNzaWduZWQgb2JqZWN0IHRvXG4gIHRoZSBnaXZlbiBhdHRyaWJ1dGU7IGlmIGl0IGNhbm5vdCBwZXJmb3JtIHRoZSBhc3NpZ25tZW50LCBpdCByYWlzZXNcbiAgYW4gZXhjZXB0aW9uICh1c3VhbGx5IGJ1dCBub3QgbmVjZXNzYXJpbHkgIkF0dHJpYnV0ZUVycm9yIikuXG5cbiAgTm90ZTogSWYgdGhlIG9iamVjdCBpcyBhIGNsYXNzIGluc3RhbmNlIGFuZCB0aGUgYXR0cmlidXRlIHJlZmVyZW5jZVxuICBvY2N1cnMgb24gYm90aCBzaWRlcyBvZiB0aGUgYXNzaWdubWVudCBvcGVyYXRvciwgdGhlIFJIUyBleHByZXNzaW9uLFxuICAiYS54IiBjYW4gYWNjZXNzIGVpdGhlciBhbiBpbnN0YW5jZSBhdHRyaWJ1dGUgb3IgKGlmIG5vIGluc3RhbmNlXG4gIGF0dHJpYnV0ZSBleGlzdHMpIGEgY2xhc3MgYXR0cmlidXRlLiAgVGhlIExIUyB0YXJnZXQgImEueCIgaXMgYWx3YXlzXG4gIHNldCBhcyBhbiBpbnN0YW5jZSBhdHRyaWJ1dGUsIGNyZWF0aW5nIGl0IGlmIG5lY2Vzc2FyeS4gIFRodXMsIHRoZVxuICB0d28gb2NjdXJyZW5jZXMgb2YgImEueCIgZG8gbm90IG5lY2Vzc2FyaWx5IHJlZmVyIHRvIHRoZSBzYW1lXG4gIGF0dHJpYnV0ZTogaWYgdGhlIFJIUyBleHByZXNzaW9uIHJlZmVycyB0byBhIGNsYXNzIGF0dHJpYnV0ZSwgdGhlXG4gIExIUyBjcmVhdGVzIGEgbmV3IGluc3RhbmNlIGF0dHJpYnV0ZSBhcyB0aGUgdGFyZ2V0IG9mIHRoZVxuICBhc3NpZ25tZW50OlxuXG4gICAgIGNsYXNzIENsczpcbiAgICAgICAgIHggPSAzICAgICAgICAgICAgICMgY2xhc3MgdmFyaWFibGVcbiAgICAgaW5zdCA9IENscygpXG4gICAgIGluc3QueCA9IGluc3QueCArIDEgICAjIHdyaXRlcyBpbnN0LnggYXMgNCBsZWF2aW5nIENscy54IGFzIDNcblxuICBUaGlzIGRlc2NyaXB0aW9uIGRvZXMgbm90IG5lY2Vzc2FyaWx5IGFwcGx5IHRvIGRlc2NyaXB0b3JcbiAgYXR0cmlidXRlcywgc3VjaCBhcyBwcm9wZXJ0aWVzIGNyZWF0ZWQgd2l0aCAicHJvcGVydHkoKSIuXG5cbiogSWYgdGhlIHRhcmdldCBpcyBhIHN1YnNjcmlwdGlvbjogVGhlIHByaW1hcnkgZXhwcmVzc2lvbiBpbiB0aGVcbiAgcmVmZXJlbmNlIGlzIGV2YWx1YXRlZC4gIEl0IHNob3VsZCB5aWVsZCBlaXRoZXIgYSBtdXRhYmxlIHNlcXVlbmNlXG4gIG9iamVjdCAoc3VjaCBhcyBhIGxpc3QpIG9yIGEgbWFwcGluZyBvYmplY3QgKHN1Y2ggYXMgYSBkaWN0aW9uYXJ5KS5cbiAgTmV4dCwgdGhlIHN1YnNjcmlwdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZC5cblxuICBJZiB0aGUgcHJpbWFyeSBpcyBhIG11dGFibGUgc2VxdWVuY2Ugb2JqZWN0IChzdWNoIGFzIGEgbGlzdCksIHRoZVxuICBzdWJzY3JpcHQgbXVzdCB5aWVsZCBhbiBpbnRlZ2VyLiAgSWYgaXQgaXMgbmVnYXRpdmUsIHRoZSBzZXF1ZW5jZVwnc1xuICBsZW5ndGggaXMgYWRkZWQgdG8gaXQuICBUaGUgcmVzdWx0aW5nIHZhbHVlIG11c3QgYmUgYSBub25uZWdhdGl2ZVxuICBpbnRlZ2VyIGxlc3MgdGhhbiB0aGUgc2VxdWVuY2VcJ3MgbGVuZ3RoLCBhbmQgdGhlIHNlcXVlbmNlIGlzIGFza2VkXG4gIHRvIGFzc2lnbiB0aGUgYXNzaWduZWQgb2JqZWN0IHRvIGl0cyBpdGVtIHdpdGggdGhhdCBpbmRleC4gIElmIHRoZVxuICBpbmRleCBpcyBvdXQgb2YgcmFuZ2UsICJJbmRleEVycm9yIiBpcyByYWlzZWQgKGFzc2lnbm1lbnQgdG8gYVxuICBzdWJzY3JpcHRlZCBzZXF1ZW5jZSBjYW5ub3QgYWRkIG5ldyBpdGVtcyB0byBhIGxpc3QpLlxuXG4gIElmIHRoZSBwcmltYXJ5IGlzIGEgbWFwcGluZyBvYmplY3QgKHN1Y2ggYXMgYSBkaWN0aW9uYXJ5KSwgdGhlXG4gIHN1YnNjcmlwdCBtdXN0IGhhdmUgYSB0eXBlIGNvbXBhdGlibGUgd2l0aCB0aGUgbWFwcGluZ1wncyBrZXkgdHlwZSxcbiAgYW5kIHRoZSBtYXBwaW5nIGlzIHRoZW4gYXNrZWQgdG8gY3JlYXRlIGEga2V5L2RhdHVtIHBhaXIgd2hpY2ggbWFwc1xuICB0aGUgc3Vic2NyaXB0IHRvIHRoZSBhc3NpZ25lZCBvYmplY3QuICBUaGlzIGNhbiBlaXRoZXIgcmVwbGFjZSBhblxuICBleGlzdGluZyBrZXkvdmFsdWUgcGFpciB3aXRoIHRoZSBzYW1lIGtleSB2YWx1ZSwgb3IgaW5zZXJ0IGEgbmV3XG4gIGtleS92YWx1ZSBwYWlyIChpZiBubyBrZXkgd2l0aCB0aGUgc2FtZSB2YWx1ZSBleGlzdGVkKS5cblxuICBGb3IgdXNlci1kZWZpbmVkIG9iamVjdHMsIHRoZSAiX19zZXRpdGVtX18oKSIgbWV0aG9kIGlzIGNhbGxlZCB3aXRoXG4gIGFwcHJvcHJpYXRlIGFyZ3VtZW50cy5cblxuKiBJZiB0aGUgdGFyZ2V0IGlzIGEgc2xpY2luZzogVGhlIHByaW1hcnkgZXhwcmVzc2lvbiBpbiB0aGVcbiAgcmVmZXJlbmNlIGlzIGV2YWx1YXRlZC4gIEl0IHNob3VsZCB5aWVsZCBhIG11dGFibGUgc2VxdWVuY2Ugb2JqZWN0XG4gIChzdWNoIGFzIGEgbGlzdCkuICBUaGUgYXNzaWduZWQgb2JqZWN0IHNob3VsZCBiZSBhIHNlcXVlbmNlIG9iamVjdFxuICBvZiB0aGUgc2FtZSB0eXBlLiAgTmV4dCwgdGhlIGxvd2VyIGFuZCB1cHBlciBib3VuZCBleHByZXNzaW9ucyBhcmVcbiAgZXZhbHVhdGVkLCBpbnNvZmFyIHRoZXkgYXJlIHByZXNlbnQ7IGRlZmF1bHRzIGFyZSB6ZXJvIGFuZCB0aGVcbiAgc2VxdWVuY2VcJ3MgbGVuZ3RoLiAgVGhlIGJvdW5kcyBzaG91bGQgZXZhbHVhdGUgdG8gaW50ZWdlcnMuIElmXG4gIGVpdGhlciBib3VuZCBpcyBuZWdhdGl2ZSwgdGhlIHNlcXVlbmNlXCdzIGxlbmd0aCBpcyBhZGRlZCB0byBpdC4gIFRoZVxuICByZXN1bHRpbmcgYm91bmRzIGFyZSBjbGlwcGVkIHRvIGxpZSBiZXR3ZWVuIHplcm8gYW5kIHRoZSBzZXF1ZW5jZVwnc1xuICBsZW5ndGgsIGluY2x1c2l2ZS4gIEZpbmFsbHksIHRoZSBzZXF1ZW5jZSBvYmplY3QgaXMgYXNrZWQgdG8gcmVwbGFjZVxuICB0aGUgc2xpY2Ugd2l0aCB0aGUgaXRlbXMgb2YgdGhlIGFzc2lnbmVkIHNlcXVlbmNlLiAgVGhlIGxlbmd0aCBvZlxuICB0aGUgc2xpY2UgbWF5IGJlIGRpZmZlcmVudCBmcm9tIHRoZSBsZW5ndGggb2YgdGhlIGFzc2lnbmVkIHNlcXVlbmNlLFxuICB0aHVzIGNoYW5naW5nIHRoZSBsZW5ndGggb2YgdGhlIHRhcmdldCBzZXF1ZW5jZSwgaWYgdGhlIHRhcmdldFxuICBzZXF1ZW5jZSBhbGxvd3MgaXQuXG5cbioqQ1B5dGhvbiBpbXBsZW1lbnRhdGlvbiBkZXRhaWw6KiogSW4gdGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24sIHRoZVxuc3ludGF4IGZvciB0YXJnZXRzIGlzIHRha2VuIHRvIGJlIHRoZSBzYW1lIGFzIGZvciBleHByZXNzaW9ucywgYW5kXG5pbnZhbGlkIHN5bnRheCBpcyByZWplY3RlZCBkdXJpbmcgdGhlIGNvZGUgZ2VuZXJhdGlvbiBwaGFzZSwgY2F1c2luZ1xubGVzcyBkZXRhaWxlZCBlcnJvciBtZXNzYWdlcy5cblxuQWx0aG91Z2ggdGhlIGRlZmluaXRpb24gb2YgYXNzaWdubWVudCBpbXBsaWVzIHRoYXQgb3ZlcmxhcHMgYmV0d2VlblxudGhlIGxlZnQtaGFuZCBzaWRlIGFuZCB0aGUgcmlnaHQtaGFuZCBzaWRlIGFyZSBcJ3NpbXVsdGFuZW5vdXNcJyAoZm9yXG5leGFtcGxlICJhLCBiID0gYiwgYSIgc3dhcHMgdHdvIHZhcmlhYmxlcyksIG92ZXJsYXBzICp3aXRoaW4qIHRoZVxuY29sbGVjdGlvbiBvZiBhc3NpZ25lZC10byB2YXJpYWJsZXMgb2NjdXIgbGVmdC10by1yaWdodCwgc29tZXRpbWVzXG5yZXN1bHRpbmcgaW4gY29uZnVzaW9uLiAgRm9yIGluc3RhbmNlLCB0aGUgZm9sbG93aW5nIHByb2dyYW0gcHJpbnRzXG4iWzAsIDJdIjpcblxuICAgeCA9IFswLCAxXVxuICAgaSA9IDBcbiAgIGksIHhbaV0gPSAxLCAyICAgICAgICAgIyBpIGlzIHVwZGF0ZWQsIHRoZW4geFtpXSBpcyB1cGRhdGVkXG4gICBwcmludCh4KVxuXG5TZWUgYWxzbzogKipQRVAgMzEzMioqIC0gRXh0ZW5kZWQgSXRlcmFibGUgVW5wYWNraW5nXG5cbiAgICAgVGhlIHNwZWNpZmljYXRpb24gZm9yIHRoZSAiKnRhcmdldCIgZmVhdHVyZS5cblxuXG5BdWdtZW50ZWQgYXNzaWdubWVudCBzdGF0ZW1lbnRzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkF1Z21lbnRlZCBhc3NpZ25tZW50IGlzIHRoZSBjb21iaW5hdGlvbiwgaW4gYSBzaW5nbGUgc3RhdGVtZW50LCBvZiBhXG5iaW5hcnkgb3BlcmF0aW9uIGFuZCBhbiBhc3NpZ25tZW50IHN0YXRlbWVudDpcblxuICAgYXVnbWVudGVkX2Fzc2lnbm1lbnRfc3RtdCA6Oj0gYXVndGFyZ2V0IGF1Z29wIChleHByZXNzaW9uX2xpc3QgfCB5aWVsZF9leHByZXNzaW9uKVxuICAgYXVndGFyZ2V0ICAgICAgICAgICAgICAgICA6Oj0gaWRlbnRpZmllciB8IGF0dHJpYnV0ZXJlZiB8IHN1YnNjcmlwdGlvbiB8IHNsaWNpbmdcbiAgIGF1Z29wICAgICAgICAgICAgICAgICAgICAgOjo9ICIrPSIgfCAiLT0iIHwgIio9IiB8ICJAPSIgfCAiLz0iIHwgIi8vPSIgfCAiJT0iIHwgIioqPSJcbiAgICAgICAgICAgICB8ICI+Pj0iIHwgIjw8PSIgfCAiJj0iIHwgIl49IiB8ICJ8PSJcblxuKFNlZSBzZWN0aW9uICpQcmltYXJpZXMqIGZvciB0aGUgc3ludGF4IGRlZmluaXRpb25zIG9mIHRoZSBsYXN0IHRocmVlXG5zeW1ib2xzLilcblxuQW4gYXVnbWVudGVkIGFzc2lnbm1lbnQgZXZhbHVhdGVzIHRoZSB0YXJnZXQgKHdoaWNoLCB1bmxpa2Ugbm9ybWFsXG5hc3NpZ25tZW50IHN0YXRlbWVudHMsIGNhbm5vdCBiZSBhbiB1bnBhY2tpbmcpIGFuZCB0aGUgZXhwcmVzc2lvblxubGlzdCwgcGVyZm9ybXMgdGhlIGJpbmFyeSBvcGVyYXRpb24gc3BlY2lmaWMgdG8gdGhlIHR5cGUgb2YgYXNzaWdubWVudFxub24gdGhlIHR3byBvcGVyYW5kcywgYW5kIGFzc2lnbnMgdGhlIHJlc3VsdCB0byB0aGUgb3JpZ2luYWwgdGFyZ2V0LlxuVGhlIHRhcmdldCBpcyBvbmx5IGV2YWx1YXRlZCBvbmNlLlxuXG5BbiBhdWdtZW50ZWQgYXNzaWdubWVudCBleHByZXNzaW9uIGxpa2UgInggKz0gMSIgY2FuIGJlIHJld3JpdHRlbiBhc1xuInggPSB4ICsgMSIgdG8gYWNoaWV2ZSBhIHNpbWlsYXIsIGJ1dCBub3QgZXhhY3RseSBlcXVhbCBlZmZlY3QuIEluIHRoZVxuYXVnbWVudGVkIHZlcnNpb24sICJ4IiBpcyBvbmx5IGV2YWx1YXRlZCBvbmNlLiBBbHNvLCB3aGVuIHBvc3NpYmxlLFxudGhlIGFjdHVhbCBvcGVyYXRpb24gaXMgcGVyZm9ybWVkICppbi1wbGFjZSosIG1lYW5pbmcgdGhhdCByYXRoZXIgdGhhblxuY3JlYXRpbmcgYSBuZXcgb2JqZWN0IGFuZCBhc3NpZ25pbmcgdGhhdCB0byB0aGUgdGFyZ2V0LCB0aGUgb2xkIG9iamVjdFxuaXMgbW9kaWZpZWQgaW5zdGVhZC5cblxuVW5saWtlIG5vcm1hbCBhc3NpZ25tZW50cywgYXVnbWVudGVkIGFzc2lnbm1lbnRzIGV2YWx1YXRlIHRoZSBsZWZ0LVxuaGFuZCBzaWRlICpiZWZvcmUqIGV2YWx1YXRpbmcgdGhlIHJpZ2h0LWhhbmQgc2lkZS4gIEZvciBleGFtcGxlLCAiYVtpXVxuKz0gZih4KSIgZmlyc3QgbG9va3MtdXAgImFbaV0iLCB0aGVuIGl0IGV2YWx1YXRlcyAiZih4KSIgYW5kIHBlcmZvcm1zXG50aGUgYWRkaXRpb24sIGFuZCBsYXN0bHksIGl0IHdyaXRlcyB0aGUgcmVzdWx0IGJhY2sgdG8gImFbaV0iLlxuXG5XaXRoIHRoZSBleGNlcHRpb24gb2YgYXNzaWduaW5nIHRvIHR1cGxlcyBhbmQgbXVsdGlwbGUgdGFyZ2V0cyBpbiBhXG5zaW5nbGUgc3RhdGVtZW50LCB0aGUgYXNzaWdubWVudCBkb25lIGJ5IGF1Z21lbnRlZCBhc3NpZ25tZW50XG5zdGF0ZW1lbnRzIGlzIGhhbmRsZWQgdGhlIHNhbWUgd2F5IGFzIG5vcm1hbCBhc3NpZ25tZW50cy4gU2ltaWxhcmx5LFxud2l0aCB0aGUgZXhjZXB0aW9uIG9mIHRoZSBwb3NzaWJsZSAqaW4tcGxhY2UqIGJlaGF2aW9yLCB0aGUgYmluYXJ5XG5vcGVyYXRpb24gcGVyZm9ybWVkIGJ5IGF1Z21lbnRlZCBhc3NpZ25tZW50IGlzIHRoZSBzYW1lIGFzIHRoZSBub3JtYWxcbmJpbmFyeSBvcGVyYXRpb25zLlxuXG5Gb3IgdGFyZ2V0cyB3aGljaCBhcmUgYXR0cmlidXRlIHJlZmVyZW5jZXMsIHRoZSBzYW1lICpjYXZlYXQgYWJvdXRcbmNsYXNzIGFuZCBpbnN0YW5jZSBhdHRyaWJ1dGVzKiBhcHBsaWVzIGFzIGZvciByZWd1bGFyIGFzc2lnbm1lbnRzLlxuJywKICAnYXRvbS1pZGVudGlmaWVycyc6IHUnXG5JZGVudGlmaWVycyAoTmFtZXMpXG4qKioqKioqKioqKioqKioqKioqXG5cbkFuIGlkZW50aWZpZXIgb2NjdXJyaW5nIGFzIGFuIGF0b20gaXMgYSBuYW1lLiAgU2VlIHNlY3Rpb25cbipJZGVudGlmaWVycyBhbmQga2V5d29yZHMqIGZvciBsZXhpY2FsIGRlZmluaXRpb24gYW5kIHNlY3Rpb24gKk5hbWluZ1xuYW5kIGJpbmRpbmcqIGZvciBkb2N1bWVudGF0aW9uIG9mIG5hbWluZyBhbmQgYmluZGluZy5cblxuV2hlbiB0aGUgbmFtZSBpcyBib3VuZCB0byBhbiBvYmplY3QsIGV2YWx1YXRpb24gb2YgdGhlIGF0b20geWllbGRzXG50aGF0IG9iamVjdC4gV2hlbiBhIG5hbWUgaXMgbm90IGJvdW5kLCBhbiBhdHRlbXB0IHRvIGV2YWx1YXRlIGl0XG5yYWlzZXMgYSAiTmFtZUVycm9yIiBleGNlcHRpb24uXG5cbioqUHJpdmF0ZSBuYW1lIG1hbmdsaW5nOioqIFdoZW4gYW4gaWRlbnRpZmllciB0aGF0IHRleHR1YWxseSBvY2N1cnMgaW5cbmEgY2xhc3MgZGVmaW5pdGlvbiBiZWdpbnMgd2l0aCB0d28gb3IgbW9yZSB1bmRlcnNjb3JlIGNoYXJhY3RlcnMgYW5kXG5kb2VzIG5vdCBlbmQgaW4gdHdvIG9yIG1vcmUgdW5kZXJzY29yZXMsIGl0IGlzIGNvbnNpZGVyZWQgYSAqcHJpdmF0ZVxubmFtZSogb2YgdGhhdCBjbGFzcy4gUHJpdmF0ZSBuYW1lcyBhcmUgdHJhbnNmb3JtZWQgdG8gYSBsb25nZXIgZm9ybVxuYmVmb3JlIGNvZGUgaXMgZ2VuZXJhdGVkIGZvciB0aGVtLiAgVGhlIHRyYW5zZm9ybWF0aW9uIGluc2VydHMgdGhlXG5jbGFzcyBuYW1lLCB3aXRoIGxlYWRpbmcgdW5kZXJzY29yZXMgcmVtb3ZlZCBhbmQgYSBzaW5nbGUgdW5kZXJzY29yZVxuaW5zZXJ0ZWQsIGluIGZyb250IG9mIHRoZSBuYW1lLiAgRm9yIGV4YW1wbGUsIHRoZSBpZGVudGlmaWVyICJfX3NwYW0iXG5vY2N1cnJpbmcgaW4gYSBjbGFzcyBuYW1lZCAiSGFtIiB3aWxsIGJlIHRyYW5zZm9ybWVkIHRvICJfSGFtX19zcGFtIi5cblRoaXMgdHJhbnNmb3JtYXRpb24gaXMgaW5kZXBlbmRlbnQgb2YgdGhlIHN5bnRhY3RpY2FsIGNvbnRleHQgaW4gd2hpY2hcbnRoZSBpZGVudGlmaWVyIGlzIHVzZWQuICBJZiB0aGUgdHJhbnNmb3JtZWQgbmFtZSBpcyBleHRyZW1lbHkgbG9uZ1xuKGxvbmdlciB0aGFuIDI1NSBjaGFyYWN0ZXJzKSwgaW1wbGVtZW50YXRpb24gZGVmaW5lZCB0cnVuY2F0aW9uIG1heVxuaGFwcGVuLiBJZiB0aGUgY2xhc3MgbmFtZSBjb25zaXN0cyBvbmx5IG9mIHVuZGVyc2NvcmVzLCBub1xudHJhbnNmb3JtYXRpb24gaXMgZG9uZS5cbicsCiAgJ2F0b20tbGl0ZXJhbHMnOiB1IlxuTGl0ZXJhbHNcbioqKioqKioqXG5cblB5dGhvbiBzdXBwb3J0cyBzdHJpbmcgYW5kIGJ5dGVzIGxpdGVyYWxzIGFuZCB2YXJpb3VzIG51bWVyaWNcbmxpdGVyYWxzOlxuXG4gICBsaXRlcmFsIDo6PSBzdHJpbmdsaXRlcmFsIHwgYnl0ZXNsaXRlcmFsXG4gICAgICAgICAgICAgICB8IGludGVnZXIgfCBmbG9hdG51bWJlciB8IGltYWdudW1iZXJcblxuRXZhbHVhdGlvbiBvZiBhIGxpdGVyYWwgeWllbGRzIGFuIG9iamVjdCBvZiB0aGUgZ2l2ZW4gdHlwZSAoc3RyaW5nLFxuYnl0ZXMsIGludGVnZXIsIGZsb2F0aW5nIHBvaW50IG51bWJlciwgY29tcGxleCBudW1iZXIpIHdpdGggdGhlIGdpdmVuXG52YWx1ZS4gIFRoZSB2YWx1ZSBtYXkgYmUgYXBwcm94aW1hdGVkIGluIHRoZSBjYXNlIG9mIGZsb2F0aW5nIHBvaW50XG5hbmQgaW1hZ2luYXJ5IChjb21wbGV4KSBsaXRlcmFscy4gIFNlZSBzZWN0aW9uICpMaXRlcmFscyogZm9yIGRldGFpbHMuXG5cbkFsbCBsaXRlcmFscyBjb3JyZXNwb25kIHRvIGltbXV0YWJsZSBkYXRhIHR5cGVzLCBhbmQgaGVuY2UgdGhlXG5vYmplY3QncyBpZGVudGl0eSBpcyBsZXNzIGltcG9ydGFudCB0aGFuIGl0cyB2YWx1ZS4gIE11bHRpcGxlXG5ldmFsdWF0aW9ucyBvZiBsaXRlcmFscyB3aXRoIHRoZSBzYW1lIHZhbHVlIChlaXRoZXIgdGhlIHNhbWVcbm9jY3VycmVuY2UgaW4gdGhlIHByb2dyYW0gdGV4dCBvciBhIGRpZmZlcmVudCBvY2N1cnJlbmNlKSBtYXkgb2J0YWluXG50aGUgc2FtZSBvYmplY3Qgb3IgYSBkaWZmZXJlbnQgb2JqZWN0IHdpdGggdGhlIHNhbWUgdmFsdWUuXG4iLAogICdhdHRyaWJ1dGUtYWNjZXNzJzogdSdcbkN1c3RvbWl6aW5nIGF0dHJpYnV0ZSBhY2Nlc3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuVGhlIGZvbGxvd2luZyBtZXRob2RzIGNhbiBiZSBkZWZpbmVkIHRvIGN1c3RvbWl6ZSB0aGUgbWVhbmluZyBvZlxuYXR0cmlidXRlIGFjY2VzcyAodXNlIG9mLCBhc3NpZ25tZW50IHRvLCBvciBkZWxldGlvbiBvZiAieC5uYW1lIikgZm9yXG5jbGFzcyBpbnN0YW5jZXMuXG5cbm9iamVjdC5fX2dldGF0dHJfXyhzZWxmLCBuYW1lKVxuXG4gICBDYWxsZWQgd2hlbiBhbiBhdHRyaWJ1dGUgbG9va3VwIGhhcyBub3QgZm91bmQgdGhlIGF0dHJpYnV0ZSBpbiB0aGVcbiAgIHVzdWFsIHBsYWNlcyAoaS5lLiBpdCBpcyBub3QgYW4gaW5zdGFuY2UgYXR0cmlidXRlIG5vciBpcyBpdCBmb3VuZFxuICAgaW4gdGhlIGNsYXNzIHRyZWUgZm9yICJzZWxmIikuICAibmFtZSIgaXMgdGhlIGF0dHJpYnV0ZSBuYW1lLiBUaGlzXG4gICBtZXRob2Qgc2hvdWxkIHJldHVybiB0aGUgKGNvbXB1dGVkKSBhdHRyaWJ1dGUgdmFsdWUgb3IgcmFpc2UgYW5cbiAgICJBdHRyaWJ1dGVFcnJvciIgZXhjZXB0aW9uLlxuXG4gICBOb3RlIHRoYXQgaWYgdGhlIGF0dHJpYnV0ZSBpcyBmb3VuZCB0aHJvdWdoIHRoZSBub3JtYWwgbWVjaGFuaXNtLFxuICAgIl9fZ2V0YXR0cl9fKCkiIGlzIG5vdCBjYWxsZWQuICAoVGhpcyBpcyBhbiBpbnRlbnRpb25hbCBhc3ltbWV0cnlcbiAgIGJldHdlZW4gIl9fZ2V0YXR0cl9fKCkiIGFuZCAiX19zZXRhdHRyX18oKSIuKSBUaGlzIGlzIGRvbmUgYm90aCBmb3JcbiAgIGVmZmljaWVuY3kgcmVhc29ucyBhbmQgYmVjYXVzZSBvdGhlcndpc2UgIl9fZ2V0YXR0cl9fKCkiIHdvdWxkIGhhdmVcbiAgIG5vIHdheSB0byBhY2Nlc3Mgb3RoZXIgYXR0cmlidXRlcyBvZiB0aGUgaW5zdGFuY2UuICBOb3RlIHRoYXQgYXRcbiAgIGxlYXN0IGZvciBpbnN0YW5jZSB2YXJpYWJsZXMsIHlvdSBjYW4gZmFrZSB0b3RhbCBjb250cm9sIGJ5IG5vdFxuICAgaW5zZXJ0aW5nIGFueSB2YWx1ZXMgaW4gdGhlIGluc3RhbmNlIGF0dHJpYnV0ZSBkaWN0aW9uYXJ5IChidXRcbiAgIGluc3RlYWQgaW5zZXJ0aW5nIHRoZW0gaW4gYW5vdGhlciBvYmplY3QpLiAgU2VlIHRoZVxuICAgIl9fZ2V0YXR0cmlidXRlX18oKSIgbWV0aG9kIGJlbG93IGZvciBhIHdheSB0byBhY3R1YWxseSBnZXQgdG90YWxcbiAgIGNvbnRyb2wgb3ZlciBhdHRyaWJ1dGUgYWNjZXNzLlxuXG5vYmplY3QuX19nZXRhdHRyaWJ1dGVfXyhzZWxmLCBuYW1lKVxuXG4gICBDYWxsZWQgdW5jb25kaXRpb25hbGx5IHRvIGltcGxlbWVudCBhdHRyaWJ1dGUgYWNjZXNzZXMgZm9yXG4gICBpbnN0YW5jZXMgb2YgdGhlIGNsYXNzLiBJZiB0aGUgY2xhc3MgYWxzbyBkZWZpbmVzICJfX2dldGF0dHJfXygpIixcbiAgIHRoZSBsYXR0ZXIgd2lsbCBub3QgYmUgY2FsbGVkIHVubGVzcyAiX19nZXRhdHRyaWJ1dGVfXygpIiBlaXRoZXJcbiAgIGNhbGxzIGl0IGV4cGxpY2l0bHkgb3IgcmFpc2VzIGFuICJBdHRyaWJ1dGVFcnJvciIuIFRoaXMgbWV0aG9kXG4gICBzaG91bGQgcmV0dXJuIHRoZSAoY29tcHV0ZWQpIGF0dHJpYnV0ZSB2YWx1ZSBvciByYWlzZSBhblxuICAgIkF0dHJpYnV0ZUVycm9yIiBleGNlcHRpb24uIEluIG9yZGVyIHRvIGF2b2lkIGluZmluaXRlIHJlY3Vyc2lvbiBpblxuICAgdGhpcyBtZXRob2QsIGl0cyBpbXBsZW1lbnRhdGlvbiBzaG91bGQgYWx3YXlzIGNhbGwgdGhlIGJhc2UgY2xhc3NcbiAgIG1ldGhvZCB3aXRoIHRoZSBzYW1lIG5hbWUgdG8gYWNjZXNzIGFueSBhdHRyaWJ1dGVzIGl0IG5lZWRzLCBmb3JcbiAgIGV4YW1wbGUsICJvYmplY3QuX19nZXRhdHRyaWJ1dGVfXyhzZWxmLCBuYW1lKSIuXG5cbiAgIE5vdGU6IFRoaXMgbWV0aG9kIG1heSBzdGlsbCBiZSBieXBhc3NlZCB3aGVuIGxvb2tpbmcgdXAgc3BlY2lhbFxuICAgICBtZXRob2RzIGFzIHRoZSByZXN1bHQgb2YgaW1wbGljaXQgaW52b2NhdGlvbiB2aWEgbGFuZ3VhZ2Ugc3ludGF4XG4gICAgIG9yIGJ1aWx0LWluIGZ1bmN0aW9ucy4gU2VlICpTcGVjaWFsIG1ldGhvZCBsb29rdXAqLlxuXG5vYmplY3QuX19zZXRhdHRyX18oc2VsZiwgbmFtZSwgdmFsdWUpXG5cbiAgIENhbGxlZCB3aGVuIGFuIGF0dHJpYnV0ZSBhc3NpZ25tZW50IGlzIGF0dGVtcHRlZC4gIFRoaXMgaXMgY2FsbGVkXG4gICBpbnN0ZWFkIG9mIHRoZSBub3JtYWwgbWVjaGFuaXNtIChpLmUuIHN0b3JlIHRoZSB2YWx1ZSBpbiB0aGVcbiAgIGluc3RhbmNlIGRpY3Rpb25hcnkpLiAqbmFtZSogaXMgdGhlIGF0dHJpYnV0ZSBuYW1lLCAqdmFsdWUqIGlzIHRoZVxuICAgdmFsdWUgdG8gYmUgYXNzaWduZWQgdG8gaXQuXG5cbiAgIElmICJfX3NldGF0dHJfXygpIiB3YW50cyB0byBhc3NpZ24gdG8gYW4gaW5zdGFuY2UgYXR0cmlidXRlLCBpdFxuICAgc2hvdWxkIGNhbGwgdGhlIGJhc2UgY2xhc3MgbWV0aG9kIHdpdGggdGhlIHNhbWUgbmFtZSwgZm9yIGV4YW1wbGUsXG4gICAib2JqZWN0Ll9fc2V0YXR0cl9fKHNlbGYsIG5hbWUsIHZhbHVlKSIuXG5cbm9iamVjdC5fX2RlbGF0dHJfXyhzZWxmLCBuYW1lKVxuXG4gICBMaWtlICJfX3NldGF0dHJfXygpIiBidXQgZm9yIGF0dHJpYnV0ZSBkZWxldGlvbiBpbnN0ZWFkIG9mXG4gICBhc3NpZ25tZW50LiAgVGhpcyBzaG91bGQgb25seSBiZSBpbXBsZW1lbnRlZCBpZiAiZGVsIG9iai5uYW1lIiBpc1xuICAgbWVhbmluZ2Z1bCBmb3IgdGhlIG9iamVjdC5cblxub2JqZWN0Ll9fZGlyX18oc2VsZilcblxuICAgQ2FsbGVkIHdoZW4gImRpcigpIiBpcyBjYWxsZWQgb24gdGhlIG9iamVjdC4gQSBzZXF1ZW5jZSBtdXN0IGJlXG4gICByZXR1cm5lZC4gImRpcigpIiBjb252ZXJ0cyB0aGUgcmV0dXJuZWQgc2VxdWVuY2UgdG8gYSBsaXN0IGFuZFxuICAgc29ydHMgaXQuXG5cblxuSW1wbGVtZW50aW5nIERlc2NyaXB0b3JzXG49PT09PT09PT09PT09PT09PT09PT09PT1cblxuVGhlIGZvbGxvd2luZyBtZXRob2RzIG9ubHkgYXBwbHkgd2hlbiBhbiBpbnN0YW5jZSBvZiB0aGUgY2xhc3NcbmNvbnRhaW5pbmcgdGhlIG1ldGhvZCAoYSBzby1jYWxsZWQgKmRlc2NyaXB0b3IqIGNsYXNzKSBhcHBlYXJzIGluIGFuXG4qb3duZXIqIGNsYXNzICh0aGUgZGVzY3JpcHRvciBtdXN0IGJlIGluIGVpdGhlciB0aGUgb3duZXJcJ3MgY2xhc3NcbmRpY3Rpb25hcnkgb3IgaW4gdGhlIGNsYXNzIGRpY3Rpb25hcnkgZm9yIG9uZSBvZiBpdHMgcGFyZW50cykuICBJbiB0aGVcbmV4YW1wbGVzIGJlbG93LCAidGhlIGF0dHJpYnV0ZSIgcmVmZXJzIHRvIHRoZSBhdHRyaWJ1dGUgd2hvc2UgbmFtZSBpc1xudGhlIGtleSBvZiB0aGUgcHJvcGVydHkgaW4gdGhlIG93bmVyIGNsYXNzXCcgIl9fZGljdF9fIi5cblxub2JqZWN0Ll9fZ2V0X18oc2VsZiwgaW5zdGFuY2UsIG93bmVyKVxuXG4gICBDYWxsZWQgdG8gZ2V0IHRoZSBhdHRyaWJ1dGUgb2YgdGhlIG93bmVyIGNsYXNzIChjbGFzcyBhdHRyaWJ1dGVcbiAgIGFjY2Vzcykgb3Igb2YgYW4gaW5zdGFuY2Ugb2YgdGhhdCBjbGFzcyAoaW5zdGFuY2UgYXR0cmlidXRlXG4gICBhY2Nlc3MpLiAqb3duZXIqIGlzIGFsd2F5cyB0aGUgb3duZXIgY2xhc3MsIHdoaWxlICppbnN0YW5jZSogaXMgdGhlXG4gICBpbnN0YW5jZSB0aGF0IHRoZSBhdHRyaWJ1dGUgd2FzIGFjY2Vzc2VkIHRocm91Z2gsIG9yICJOb25lIiB3aGVuXG4gICB0aGUgYXR0cmlidXRlIGlzIGFjY2Vzc2VkIHRocm91Z2ggdGhlICpvd25lciouICBUaGlzIG1ldGhvZCBzaG91bGRcbiAgIHJldHVybiB0aGUgKGNvbXB1dGVkKSBhdHRyaWJ1dGUgdmFsdWUgb3IgcmFpc2UgYW4gIkF0dHJpYnV0ZUVycm9yIlxuICAgZXhjZXB0aW9uLlxuXG5vYmplY3QuX19zZXRfXyhzZWxmLCBpbnN0YW5jZSwgdmFsdWUpXG5cbiAgIENhbGxlZCB0byBzZXQgdGhlIGF0dHJpYnV0ZSBvbiBhbiBpbnN0YW5jZSAqaW5zdGFuY2UqIG9mIHRoZSBvd25lclxuICAgY2xhc3MgdG8gYSBuZXcgdmFsdWUsICp2YWx1ZSouXG5cbm9iamVjdC5fX2RlbGV0ZV9fKHNlbGYsIGluc3RhbmNlKVxuXG4gICBDYWxsZWQgdG8gZGVsZXRlIHRoZSBhdHRyaWJ1dGUgb24gYW4gaW5zdGFuY2UgKmluc3RhbmNlKiBvZiB0aGVcbiAgIG93bmVyIGNsYXNzLlxuXG5UaGUgYXR0cmlidXRlICJfX29iamNsYXNzX18iIGlzIGludGVycHJldGVkIGJ5IHRoZSAiaW5zcGVjdCIgbW9kdWxlIGFzXG5zcGVjaWZ5aW5nIHRoZSBjbGFzcyB3aGVyZSB0aGlzIG9iamVjdCB3YXMgZGVmaW5lZCAoc2V0dGluZyB0aGlzXG5hcHByb3ByaWF0ZWx5IGNhbiBhc3Npc3QgaW4gcnVudGltZSBpbnRyb3NwZWN0aW9uIG9mIGR5bmFtaWMgY2xhc3NcbmF0dHJpYnV0ZXMpLiBGb3IgY2FsbGFibGVzLCBpdCBtYXkgaW5kaWNhdGUgdGhhdCBhbiBpbnN0YW5jZSBvZiB0aGVcbmdpdmVuIHR5cGUgKG9yIGEgc3ViY2xhc3MpIGlzIGV4cGVjdGVkIG9yIHJlcXVpcmVkIGFzIHRoZSBmaXJzdFxucG9zaXRpb25hbCBhcmd1bWVudCAoZm9yIGV4YW1wbGUsIENQeXRob24gc2V0cyB0aGlzIGF0dHJpYnV0ZSBmb3JcbnVuYm91bmQgbWV0aG9kcyB0aGF0IGFyZSBpbXBsZW1lbnRlZCBpbiBDKS5cblxuXG5JbnZva2luZyBEZXNjcmlwdG9yc1xuPT09PT09PT09PT09PT09PT09PT1cblxuSW4gZ2VuZXJhbCwgYSBkZXNjcmlwdG9yIGlzIGFuIG9iamVjdCBhdHRyaWJ1dGUgd2l0aCAiYmluZGluZ1xuYmVoYXZpb3IiLCBvbmUgd2hvc2UgYXR0cmlidXRlIGFjY2VzcyBoYXMgYmVlbiBvdmVycmlkZGVuIGJ5IG1ldGhvZHNcbmluIHRoZSBkZXNjcmlwdG9yIHByb3RvY29sOiAgIl9fZ2V0X18oKSIsICJfX3NldF9fKCkiLCBhbmRcbiJfX2RlbGV0ZV9fKCkiLiBJZiBhbnkgb2YgdGhvc2UgbWV0aG9kcyBhcmUgZGVmaW5lZCBmb3IgYW4gb2JqZWN0LCBpdFxuaXMgc2FpZCB0byBiZSBhIGRlc2NyaXB0b3IuXG5cblRoZSBkZWZhdWx0IGJlaGF2aW9yIGZvciBhdHRyaWJ1dGUgYWNjZXNzIGlzIHRvIGdldCwgc2V0LCBvciBkZWxldGVcbnRoZSBhdHRyaWJ1dGUgZnJvbSBhbiBvYmplY3RcJ3MgZGljdGlvbmFyeS4gRm9yIGluc3RhbmNlLCAiYS54IiBoYXMgYVxubG9va3VwIGNoYWluIHN0YXJ0aW5nIHdpdGggImEuX19kaWN0X19bXCd4XCddIiwgdGhlblxuInR5cGUoYSkuX19kaWN0X19bXCd4XCddIiwgYW5kIGNvbnRpbnVpbmcgdGhyb3VnaCB0aGUgYmFzZSBjbGFzc2VzIG9mXG4idHlwZShhKSIgZXhjbHVkaW5nIG1ldGFjbGFzc2VzLlxuXG5Ib3dldmVyLCBpZiB0aGUgbG9va2VkLXVwIHZhbHVlIGlzIGFuIG9iamVjdCBkZWZpbmluZyBvbmUgb2YgdGhlXG5kZXNjcmlwdG9yIG1ldGhvZHMsIHRoZW4gUHl0aG9uIG1heSBvdmVycmlkZSB0aGUgZGVmYXVsdCBiZWhhdmlvciBhbmRcbmludm9rZSB0aGUgZGVzY3JpcHRvciBtZXRob2QgaW5zdGVhZC4gIFdoZXJlIHRoaXMgb2NjdXJzIGluIHRoZVxucHJlY2VkZW5jZSBjaGFpbiBkZXBlbmRzIG9uIHdoaWNoIGRlc2NyaXB0b3IgbWV0aG9kcyB3ZXJlIGRlZmluZWQgYW5kXG5ob3cgdGhleSB3ZXJlIGNhbGxlZC5cblxuVGhlIHN0YXJ0aW5nIHBvaW50IGZvciBkZXNjcmlwdG9yIGludm9jYXRpb24gaXMgYSBiaW5kaW5nLCAiYS54Ii4gSG93XG50aGUgYXJndW1lbnRzIGFyZSBhc3NlbWJsZWQgZGVwZW5kcyBvbiAiYSI6XG5cbkRpcmVjdCBDYWxsXG4gICBUaGUgc2ltcGxlc3QgYW5kIGxlYXN0IGNvbW1vbiBjYWxsIGlzIHdoZW4gdXNlciBjb2RlIGRpcmVjdGx5XG4gICBpbnZva2VzIGEgZGVzY3JpcHRvciBtZXRob2Q6ICAgICJ4Ll9fZ2V0X18oYSkiLlxuXG5JbnN0YW5jZSBCaW5kaW5nXG4gICBJZiBiaW5kaW5nIHRvIGFuIG9iamVjdCBpbnN0YW5jZSwgImEueCIgaXMgdHJhbnNmb3JtZWQgaW50byB0aGVcbiAgIGNhbGw6ICJ0eXBlKGEpLl9fZGljdF9fW1wneFwnXS5fX2dldF9fKGEsIHR5cGUoYSkpIi5cblxuQ2xhc3MgQmluZGluZ1xuICAgSWYgYmluZGluZyB0byBhIGNsYXNzLCAiQS54IiBpcyB0cmFuc2Zvcm1lZCBpbnRvIHRoZSBjYWxsOlxuICAgIkEuX19kaWN0X19bXCd4XCddLl9fZ2V0X18oTm9uZSwgQSkiLlxuXG5TdXBlciBCaW5kaW5nXG4gICBJZiAiYSIgaXMgYW4gaW5zdGFuY2Ugb2YgInN1cGVyIiwgdGhlbiB0aGUgYmluZGluZyAic3VwZXIoQixcbiAgIG9iaikubSgpIiBzZWFyY2hlcyAib2JqLl9fY2xhc3NfXy5fX21yb19fIiBmb3IgdGhlIGJhc2UgY2xhc3MgIkEiXG4gICBpbW1lZGlhdGVseSBwcmVjZWRpbmcgIkIiIGFuZCB0aGVuIGludm9rZXMgdGhlIGRlc2NyaXB0b3Igd2l0aCB0aGVcbiAgIGNhbGw6ICJBLl9fZGljdF9fW1wnbVwnXS5fX2dldF9fKG9iaiwgb2JqLl9fY2xhc3NfXykiLlxuXG5Gb3IgaW5zdGFuY2UgYmluZGluZ3MsIHRoZSBwcmVjZWRlbmNlIG9mIGRlc2NyaXB0b3IgaW52b2NhdGlvbiBkZXBlbmRzXG5vbiB0aGUgd2hpY2ggZGVzY3JpcHRvciBtZXRob2RzIGFyZSBkZWZpbmVkLiAgQSBkZXNjcmlwdG9yIGNhbiBkZWZpbmVcbmFueSBjb21iaW5hdGlvbiBvZiAiX19nZXRfXygpIiwgIl9fc2V0X18oKSIgYW5kICJfX2RlbGV0ZV9fKCkiLiAgSWYgaXRcbmRvZXMgbm90IGRlZmluZSAiX19nZXRfXygpIiwgdGhlbiBhY2Nlc3NpbmcgdGhlIGF0dHJpYnV0ZSB3aWxsIHJldHVyblxudGhlIGRlc2NyaXB0b3Igb2JqZWN0IGl0c2VsZiB1bmxlc3MgdGhlcmUgaXMgYSB2YWx1ZSBpbiB0aGUgb2JqZWN0XCdzXG5pbnN0YW5jZSBkaWN0aW9uYXJ5LiAgSWYgdGhlIGRlc2NyaXB0b3IgZGVmaW5lcyAiX19zZXRfXygpIiBhbmQvb3JcbiJfX2RlbGV0ZV9fKCkiLCBpdCBpcyBhIGRhdGEgZGVzY3JpcHRvcjsgaWYgaXQgZGVmaW5lcyBuZWl0aGVyLCBpdCBpc1xuYSBub24tZGF0YSBkZXNjcmlwdG9yLiAgTm9ybWFsbHksIGRhdGEgZGVzY3JpcHRvcnMgZGVmaW5lIGJvdGhcbiJfX2dldF9fKCkiIGFuZCAiX19zZXRfXygpIiwgd2hpbGUgbm9uLWRhdGEgZGVzY3JpcHRvcnMgaGF2ZSBqdXN0IHRoZVxuIl9fZ2V0X18oKSIgbWV0aG9kLiAgRGF0YSBkZXNjcmlwdG9ycyB3aXRoICJfX3NldF9fKCkiIGFuZCAiX19nZXRfXygpIlxuZGVmaW5lZCBhbHdheXMgb3ZlcnJpZGUgYSByZWRlZmluaXRpb24gaW4gYW4gaW5zdGFuY2UgZGljdGlvbmFyeS4gIEluXG5jb250cmFzdCwgbm9uLWRhdGEgZGVzY3JpcHRvcnMgY2FuIGJlIG92ZXJyaWRkZW4gYnkgaW5zdGFuY2VzLlxuXG5QeXRob24gbWV0aG9kcyAoaW5jbHVkaW5nICJzdGF0aWNtZXRob2QoKSIgYW5kICJjbGFzc21ldGhvZCgpIikgYXJlXG5pbXBsZW1lbnRlZCBhcyBub24tZGF0YSBkZXNjcmlwdG9ycy4gIEFjY29yZGluZ2x5LCBpbnN0YW5jZXMgY2FuXG5yZWRlZmluZSBhbmQgb3ZlcnJpZGUgbWV0aG9kcy4gIFRoaXMgYWxsb3dzIGluZGl2aWR1YWwgaW5zdGFuY2VzIHRvXG5hY3F1aXJlIGJlaGF2aW9ycyB0aGF0IGRpZmZlciBmcm9tIG90aGVyIGluc3RhbmNlcyBvZiB0aGUgc2FtZSBjbGFzcy5cblxuVGhlICJwcm9wZXJ0eSgpIiBmdW5jdGlvbiBpcyBpbXBsZW1lbnRlZCBhcyBhIGRhdGEgZGVzY3JpcHRvci5cbkFjY29yZGluZ2x5LCBpbnN0YW5jZXMgY2Fubm90IG92ZXJyaWRlIHRoZSBiZWhhdmlvciBvZiBhIHByb3BlcnR5LlxuXG5cbl9fc2xvdHNfX1xuPT09PT09PT09XG5cbkJ5IGRlZmF1bHQsIGluc3RhbmNlcyBvZiBjbGFzc2VzIGhhdmUgYSBkaWN0aW9uYXJ5IGZvciBhdHRyaWJ1dGVcbnN0b3JhZ2UuICBUaGlzIHdhc3RlcyBzcGFjZSBmb3Igb2JqZWN0cyBoYXZpbmcgdmVyeSBmZXcgaW5zdGFuY2VcbnZhcmlhYmxlcy4gIFRoZSBzcGFjZSBjb25zdW1wdGlvbiBjYW4gYmVjb21lIGFjdXRlIHdoZW4gY3JlYXRpbmcgbGFyZ2Vcbm51bWJlcnMgb2YgaW5zdGFuY2VzLlxuXG5UaGUgZGVmYXVsdCBjYW4gYmUgb3ZlcnJpZGRlbiBieSBkZWZpbmluZyAqX19zbG90c19fKiBpbiBhIGNsYXNzXG5kZWZpbml0aW9uLiBUaGUgKl9fc2xvdHNfXyogZGVjbGFyYXRpb24gdGFrZXMgYSBzZXF1ZW5jZSBvZiBpbnN0YW5jZVxudmFyaWFibGVzIGFuZCByZXNlcnZlcyBqdXN0IGVub3VnaCBzcGFjZSBpbiBlYWNoIGluc3RhbmNlIHRvIGhvbGQgYVxudmFsdWUgZm9yIGVhY2ggdmFyaWFibGUuICBTcGFjZSBpcyBzYXZlZCBiZWNhdXNlICpfX2RpY3RfXyogaXMgbm90XG5jcmVhdGVkIGZvciBlYWNoIGluc3RhbmNlLlxuXG5vYmplY3QuX19zbG90c19fXG5cbiAgIFRoaXMgY2xhc3MgdmFyaWFibGUgY2FuIGJlIGFzc2lnbmVkIGEgc3RyaW5nLCBpdGVyYWJsZSwgb3Igc2VxdWVuY2VcbiAgIG9mIHN0cmluZ3Mgd2l0aCB2YXJpYWJsZSBuYW1lcyB1c2VkIGJ5IGluc3RhbmNlcy4gICpfX3Nsb3RzX18qXG4gICByZXNlcnZlcyBzcGFjZSBmb3IgdGhlIGRlY2xhcmVkIHZhcmlhYmxlcyBhbmQgcHJldmVudHMgdGhlXG4gICBhdXRvbWF0aWMgY3JlYXRpb24gb2YgKl9fZGljdF9fKiBhbmQgKl9fd2Vha3JlZl9fKiBmb3IgZWFjaFxuICAgaW5zdGFuY2UuXG5cblxuTm90ZXMgb24gdXNpbmcgKl9fc2xvdHNfXypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiogV2hlbiBpbmhlcml0aW5nIGZyb20gYSBjbGFzcyB3aXRob3V0ICpfX3Nsb3RzX18qLCB0aGUgKl9fZGljdF9fKlxuICBhdHRyaWJ1dGUgb2YgdGhhdCBjbGFzcyB3aWxsIGFsd2F5cyBiZSBhY2Nlc3NpYmxlLCBzbyBhICpfX3Nsb3RzX18qXG4gIGRlZmluaXRpb24gaW4gdGhlIHN1YmNsYXNzIGlzIG1lYW5pbmdsZXNzLlxuXG4qIFdpdGhvdXQgYSAqX19kaWN0X18qIHZhcmlhYmxlLCBpbnN0YW5jZXMgY2Fubm90IGJlIGFzc2lnbmVkIG5ld1xuICB2YXJpYWJsZXMgbm90IGxpc3RlZCBpbiB0aGUgKl9fc2xvdHNfXyogZGVmaW5pdGlvbi4gIEF0dGVtcHRzIHRvXG4gIGFzc2lnbiB0byBhbiB1bmxpc3RlZCB2YXJpYWJsZSBuYW1lIHJhaXNlcyAiQXR0cmlidXRlRXJyb3IiLiBJZlxuICBkeW5hbWljIGFzc2lnbm1lbnQgb2YgbmV3IHZhcmlhYmxlcyBpcyBkZXNpcmVkLCB0aGVuIGFkZFxuICAiXCdfX2RpY3RfX1wnIiB0byB0aGUgc2VxdWVuY2Ugb2Ygc3RyaW5ncyBpbiB0aGUgKl9fc2xvdHNfXypcbiAgZGVjbGFyYXRpb24uXG5cbiogV2l0aG91dCBhICpfX3dlYWtyZWZfXyogdmFyaWFibGUgZm9yIGVhY2ggaW5zdGFuY2UsIGNsYXNzZXNcbiAgZGVmaW5pbmcgKl9fc2xvdHNfXyogZG8gbm90IHN1cHBvcnQgd2VhayByZWZlcmVuY2VzIHRvIGl0c1xuICBpbnN0YW5jZXMuIElmIHdlYWsgcmVmZXJlbmNlIHN1cHBvcnQgaXMgbmVlZGVkLCB0aGVuIGFkZFxuICAiXCdfX3dlYWtyZWZfX1wnIiB0byB0aGUgc2VxdWVuY2Ugb2Ygc3RyaW5ncyBpbiB0aGUgKl9fc2xvdHNfXypcbiAgZGVjbGFyYXRpb24uXG5cbiogKl9fc2xvdHNfXyogYXJlIGltcGxlbWVudGVkIGF0IHRoZSBjbGFzcyBsZXZlbCBieSBjcmVhdGluZ1xuICBkZXNjcmlwdG9ycyAoKkltcGxlbWVudGluZyBEZXNjcmlwdG9ycyopIGZvciBlYWNoIHZhcmlhYmxlIG5hbWUuICBBc1xuICBhIHJlc3VsdCwgY2xhc3MgYXR0cmlidXRlcyBjYW5ub3QgYmUgdXNlZCB0byBzZXQgZGVmYXVsdCB2YWx1ZXMgZm9yXG4gIGluc3RhbmNlIHZhcmlhYmxlcyBkZWZpbmVkIGJ5ICpfX3Nsb3RzX18qOyBvdGhlcndpc2UsIHRoZSBjbGFzc1xuICBhdHRyaWJ1dGUgd291bGQgb3ZlcndyaXRlIHRoZSBkZXNjcmlwdG9yIGFzc2lnbm1lbnQuXG5cbiogVGhlIGFjdGlvbiBvZiBhICpfX3Nsb3RzX18qIGRlY2xhcmF0aW9uIGlzIGxpbWl0ZWQgdG8gdGhlIGNsYXNzXG4gIHdoZXJlIGl0IGlzIGRlZmluZWQuICBBcyBhIHJlc3VsdCwgc3ViY2xhc3NlcyB3aWxsIGhhdmUgYSAqX19kaWN0X18qXG4gIHVubGVzcyB0aGV5IGFsc28gZGVmaW5lICpfX3Nsb3RzX18qICh3aGljaCBtdXN0IG9ubHkgY29udGFpbiBuYW1lc1xuICBvZiBhbnkgKmFkZGl0aW9uYWwqIHNsb3RzKS5cblxuKiBJZiBhIGNsYXNzIGRlZmluZXMgYSBzbG90IGFsc28gZGVmaW5lZCBpbiBhIGJhc2UgY2xhc3MsIHRoZVxuICBpbnN0YW5jZSB2YXJpYWJsZSBkZWZpbmVkIGJ5IHRoZSBiYXNlIGNsYXNzIHNsb3QgaXMgaW5hY2Nlc3NpYmxlXG4gIChleGNlcHQgYnkgcmV0cmlldmluZyBpdHMgZGVzY3JpcHRvciBkaXJlY3RseSBmcm9tIHRoZSBiYXNlIGNsYXNzKS5cbiAgVGhpcyByZW5kZXJzIHRoZSBtZWFuaW5nIG9mIHRoZSBwcm9ncmFtIHVuZGVmaW5lZC4gIEluIHRoZSBmdXR1cmUsIGFcbiAgY2hlY2sgbWF5IGJlIGFkZGVkIHRvIHByZXZlbnQgdGhpcy5cblxuKiBOb25lbXB0eSAqX19zbG90c19fKiBkb2VzIG5vdCB3b3JrIGZvciBjbGFzc2VzIGRlcml2ZWQgZnJvbVxuICAidmFyaWFibGUtbGVuZ3RoIiBidWlsdC1pbiB0eXBlcyBzdWNoIGFzICJpbnQiLCAiYnl0ZXMiIGFuZCAidHVwbGUiLlxuXG4qIEFueSBub24tc3RyaW5nIGl0ZXJhYmxlIG1heSBiZSBhc3NpZ25lZCB0byAqX19zbG90c19fKi4gTWFwcGluZ3NcbiAgbWF5IGFsc28gYmUgdXNlZDsgaG93ZXZlciwgaW4gdGhlIGZ1dHVyZSwgc3BlY2lhbCBtZWFuaW5nIG1heSBiZVxuICBhc3NpZ25lZCB0byB0aGUgdmFsdWVzIGNvcnJlc3BvbmRpbmcgdG8gZWFjaCBrZXkuXG5cbiogKl9fY2xhc3NfXyogYXNzaWdubWVudCB3b3JrcyBvbmx5IGlmIGJvdGggY2xhc3NlcyBoYXZlIHRoZSBzYW1lXG4gICpfX3Nsb3RzX18qLlxuJywKICAnYXR0cmlidXRlLXJlZmVyZW5jZXMnOiB1J1xuQXR0cmlidXRlIHJlZmVyZW5jZXNcbioqKioqKioqKioqKioqKioqKioqXG5cbkFuIGF0dHJpYnV0ZSByZWZlcmVuY2UgaXMgYSBwcmltYXJ5IGZvbGxvd2VkIGJ5IGEgcGVyaW9kIGFuZCBhIG5hbWU6XG5cbiAgIGF0dHJpYnV0ZXJlZiA6Oj0gcHJpbWFyeSAiLiIgaWRlbnRpZmllclxuXG5UaGUgcHJpbWFyeSBtdXN0IGV2YWx1YXRlIHRvIGFuIG9iamVjdCBvZiBhIHR5cGUgdGhhdCBzdXBwb3J0c1xuYXR0cmlidXRlIHJlZmVyZW5jZXMsIHdoaWNoIG1vc3Qgb2JqZWN0cyBkby4gIFRoaXMgb2JqZWN0IGlzIHRoZW5cbmFza2VkIHRvIHByb2R1Y2UgdGhlIGF0dHJpYnV0ZSB3aG9zZSBuYW1lIGlzIHRoZSBpZGVudGlmaWVyLiAgVGhpc1xucHJvZHVjdGlvbiBjYW4gYmUgY3VzdG9taXplZCBieSBvdmVycmlkaW5nIHRoZSAiX19nZXRhdHRyX18oKSIgbWV0aG9kLlxuSWYgdGhpcyBhdHRyaWJ1dGUgaXMgbm90IGF2YWlsYWJsZSwgdGhlIGV4Y2VwdGlvbiAiQXR0cmlidXRlRXJyb3IiIGlzXG5yYWlzZWQuICBPdGhlcndpc2UsIHRoZSB0eXBlIGFuZCB2YWx1ZSBvZiB0aGUgb2JqZWN0IHByb2R1Y2VkIGlzXG5kZXRlcm1pbmVkIGJ5IHRoZSBvYmplY3QuICBNdWx0aXBsZSBldmFsdWF0aW9ucyBvZiB0aGUgc2FtZSBhdHRyaWJ1dGVcbnJlZmVyZW5jZSBtYXkgeWllbGQgZGlmZmVyZW50IG9iamVjdHMuXG4nLAotICdhdWdhc3NpZ24nOiB1J1xuQXVnbWVudGVkIGFzc2lnbm1lbnQgc3RhdGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG5BdWdtZW50ZWQgYXNzaWdubWVudCBpcyB0aGUgY29tYmluYXRpb24sIGluIGEgc2luZ2xlIHN0YXRlbWVudCwgb2YgYVxuYmluYXJ5IG9wZXJhdGlvbiBhbmQgYW4gYXNzaWdubWVudCBzdGF0ZW1lbnQ6XG5cbiAgIGF1Z21lbnRlZF9hc3NpZ25tZW50X3N0bXQgOjo9IGF1Z3RhcmdldCBhdWdvcCAoZXhwcmVzc2lvbl9saXN0IHwgeWllbGRfZXhwcmVzc2lvbilcbiAgIGF1Z3RhcmdldCAgICAgICAgICAgICAgICAgOjo9IGlkZW50aWZpZXIgfCBhdHRyaWJ1dGVyZWYgfCBzdWJzY3JpcHRpb24gfCBzbGljaW5nXG4gICBhdWdvcCAgICAgICAgICAgICAgICAgICAgIDo6PSAiKz0iIHwgIi09IiB8ICIqPSIgfCAiLz0iIHwgIi8vPSIgfCAiJT0iIHwgIioqPSJcbiAgICAgICAgICAgICB8ICI+Pj0iIHwgIjw8PSIgfCAiJj0iIHwgIl49IiB8ICJ8PSJcblxuKFNlZSBzZWN0aW9uICpQcmltYXJpZXMqIGZvciB0aGUgc3ludGF4IGRlZmluaXRpb25zIG9mIHRoZSBsYXN0IHRocmVlXG5zeW1ib2xzLilcblxuQW4gYXVnbWVudGVkIGFzc2lnbm1lbnQgZXZhbHVhdGVzIHRoZSB0YXJnZXQgKHdoaWNoLCB1bmxpa2Ugbm9ybWFsXG5hc3NpZ25tZW50IHN0YXRlbWVudHMsIGNhbm5vdCBiZSBhbiB1bnBhY2tpbmcpIGFuZCB0aGUgZXhwcmVzc2lvblxubGlzdCwgcGVyZm9ybXMgdGhlIGJpbmFyeSBvcGVyYXRpb24gc3BlY2lmaWMgdG8gdGhlIHR5cGUgb2YgYXNzaWdubWVudFxub24gdGhlIHR3byBvcGVyYW5kcywgYW5kIGFzc2lnbnMgdGhlIHJlc3VsdCB0byB0aGUgb3JpZ2luYWwgdGFyZ2V0LlxuVGhlIHRhcmdldCBpcyBvbmx5IGV2YWx1YXRlZCBvbmNlLlxuXG5BbiBhdWdtZW50ZWQgYXNzaWdubWVudCBleHByZXNzaW9uIGxpa2UgInggKz0gMSIgY2FuIGJlIHJld3JpdHRlbiBhc1xuInggPSB4ICsgMSIgdG8gYWNoaWV2ZSBhIHNpbWlsYXIsIGJ1dCBub3QgZXhhY3RseSBlcXVhbCBlZmZlY3QuIEluIHRoZVxuYXVnbWVudGVkIHZlcnNpb24sICJ4IiBpcyBvbmx5IGV2YWx1YXRlZCBvbmNlLiBBbHNvLCB3aGVuIHBvc3NpYmxlLFxudGhlIGFjdHVhbCBvcGVyYXRpb24gaXMgcGVyZm9ybWVkICppbi1wbGFjZSosIG1lYW5pbmcgdGhhdCByYXRoZXIgdGhhblxuY3JlYXRpbmcgYSBuZXcgb2JqZWN0IGFuZCBhc3NpZ25pbmcgdGhhdCB0byB0aGUgdGFyZ2V0LCB0aGUgb2xkIG9iamVjdFxuaXMgbW9kaWZpZWQgaW5zdGVhZC5cblxuVW5saWtlIG5vcm1hbCBhc3NpZ25tZW50cywgYXVnbWVudGVkIGFzc2lnbm1lbnRzIGV2YWx1YXRlIHRoZSBsZWZ0LVxuaGFuZCBzaWRlICpiZWZvcmUqIGV2YWx1YXRpbmcgdGhlIHJpZ2h0LWhhbmQgc2lkZS4gIEZvciBleGFtcGxlLCAiYVtpXVxuKz0gZih4KSIgZmlyc3QgbG9va3MtdXAgImFbaV0iLCB0aGVuIGl0IGV2YWx1YXRlcyAiZih4KSIgYW5kIHBlcmZvcm1zXG50aGUgYWRkaXRpb24sIGFuZCBsYXN0bHksIGl0IHdyaXRlcyB0aGUgcmVzdWx0IGJhY2sgdG8gImFbaV0iLlxuXG5XaXRoIHRoZSBleGNlcHRpb24gb2YgYXNzaWduaW5nIHRvIHR1cGxlcyBhbmQgbXVsdGlwbGUgdGFyZ2V0cyBpbiBhXG5zaW5nbGUgc3RhdGVtZW50LCB0aGUgYXNzaWdubWVudCBkb25lIGJ5IGF1Z21lbnRlZCBhc3NpZ25tZW50XG5zdGF0ZW1lbnRzIGlzIGhhbmRsZWQgdGhlIHNhbWUgd2F5IGFzIG5vcm1hbCBhc3NpZ25tZW50cy4gU2ltaWxhcmx5LFxud2l0aCB0aGUgZXhjZXB0aW9uIG9mIHRoZSBwb3NzaWJsZSAqaW4tcGxhY2UqIGJlaGF2aW9yLCB0aGUgYmluYXJ5XG5vcGVyYXRpb24gcGVyZm9ybWVkIGJ5IGF1Z21lbnRlZCBhc3NpZ25tZW50IGlzIHRoZSBzYW1lIGFzIHRoZSBub3JtYWxcbmJpbmFyeSBvcGVyYXRpb25zLlxuXG5Gb3IgdGFyZ2V0cyB3aGljaCBhcmUgYXR0cmlidXRlIHJlZmVyZW5jZXMsIHRoZSBzYW1lICpjYXZlYXQgYWJvdXRcbmNsYXNzIGFuZCBpbnN0YW5jZSBhdHRyaWJ1dGVzKiBhcHBsaWVzIGFzIGZvciByZWd1bGFyIGFzc2lnbm1lbnRzLlxuJywKLSAnYmluYXJ5JzogdSdcbkJpbmFyeSBhcml0aG1ldGljIG9wZXJhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuVGhlIGJpbmFyeSBhcml0aG1ldGljIG9wZXJhdGlvbnMgaGF2ZSB0aGUgY29udmVudGlvbmFsIHByaW9yaXR5XG5sZXZlbHMuICBOb3RlIHRoYXQgc29tZSBvZiB0aGVzZSBvcGVyYXRpb25zIGFsc28gYXBwbHkgdG8gY2VydGFpbiBub24tXG5udW1lcmljIHR5cGVzLiAgQXBhcnQgZnJvbSB0aGUgcG93ZXIgb3BlcmF0b3IsIHRoZXJlIGFyZSBvbmx5IHR3b1xubGV2ZWxzLCBvbmUgZm9yIG11bHRpcGxpY2F0aXZlIG9wZXJhdG9ycyBhbmQgb25lIGZvciBhZGRpdGl2ZVxub3BlcmF0b3JzOlxuXG4gICBtX2V4cHIgOjo9IHVfZXhwciB8IG1fZXhwciAiKiIgdV9leHByIHwgbV9leHByICIvLyIgdV9leHByIHwgbV9leHByICIvIiB1X2V4cHJcbiAgICAgICAgICAgICAgfCBtX2V4cHIgIiUiIHVfZXhwclxuICAgYV9leHByIDo6PSBtX2V4cHIgfCBhX2V4cHIgIisiIG1fZXhwciB8IGFfZXhwciAiLSIgbV9leHByXG5cblRoZSAiKiIgKG11bHRpcGxpY2F0aW9uKSBvcGVyYXRvciB5aWVsZHMgdGhlIHByb2R1Y3Qgb2YgaXRzIGFyZ3VtZW50cy5cblRoZSBhcmd1bWVudHMgbXVzdCBlaXRoZXIgYm90aCBiZSBudW1iZXJzLCBvciBvbmUgYXJndW1lbnQgbXVzdCBiZSBhblxuaW50ZWdlciBhbmQgdGhlIG90aGVyIG11c3QgYmUgYSBzZXF1ZW5jZS4gSW4gdGhlIGZvcm1lciBjYXNlLCB0aGVcbm51bWJlcnMgYXJlIGNvbnZlcnRlZCB0byBhIGNvbW1vbiB0eXBlIGFuZCB0aGVuIG11bHRpcGxpZWQgdG9nZXRoZXIuXG5JbiB0aGUgbGF0dGVyIGNhc2UsIHNlcXVlbmNlIHJlcGV0aXRpb24gaXMgcGVyZm9ybWVkOyBhIG5lZ2F0aXZlXG5yZXBldGl0aW9uIGZhY3RvciB5aWVsZHMgYW4gZW1wdHkgc2VxdWVuY2UuXG5cblRoZSAiLyIgKGRpdmlzaW9uKSBhbmQgIi8vIiAoZmxvb3IgZGl2aXNpb24pIG9wZXJhdG9ycyB5aWVsZCB0aGVcbnF1b3RpZW50IG9mIHRoZWlyIGFyZ3VtZW50cy4gIFRoZSBudW1lcmljIGFyZ3VtZW50cyBhcmUgZmlyc3RcbmNvbnZlcnRlZCB0byBhIGNvbW1vbiB0eXBlLiBEaXZpc2lvbiBvZiBpbnRlZ2VycyB5aWVsZHMgYSBmbG9hdCwgd2hpbGVcbmZsb29yIGRpdmlzaW9uIG9mIGludGVnZXJzIHJlc3VsdHMgaW4gYW4gaW50ZWdlcjsgdGhlIHJlc3VsdCBpcyB0aGF0XG5vZiBtYXRoZW1hdGljYWwgZGl2aXNpb24gd2l0aCB0aGUgXCdmbG9vclwnIGZ1bmN0aW9uIGFwcGxpZWQgdG8gdGhlXG5yZXN1bHQuICBEaXZpc2lvbiBieSB6ZXJvIHJhaXNlcyB0aGUgIlplcm9EaXZpc2lvbkVycm9yIiBleGNlcHRpb24uXG5cblRoZSAiJSIgKG1vZHVsbykgb3BlcmF0b3IgeWllbGRzIHRoZSByZW1haW5kZXIgZnJvbSB0aGUgZGl2aXNpb24gb2ZcbnRoZSBmaXJzdCBhcmd1bWVudCBieSB0aGUgc2Vjb25kLiAgVGhlIG51bWVyaWMgYXJndW1lbnRzIGFyZSBmaXJzdFxuY29udmVydGVkIHRvIGEgY29tbW9uIHR5cGUuICBBIHplcm8gcmlnaHQgYXJndW1lbnQgcmFpc2VzIHRoZVxuIlplcm9EaXZpc2lvbkVycm9yIiBleGNlcHRpb24uICBUaGUgYXJndW1lbnRzIG1heSBiZSBmbG9hdGluZyBwb2ludFxubnVtYmVycywgZS5nLiwgIjMuMTQlMC43IiBlcXVhbHMgIjAuMzQiIChzaW5jZSAiMy4xNCIgZXF1YWxzICI0KjAuNyArXG4wLjM0Ii4pICBUaGUgbW9kdWxvIG9wZXJhdG9yIGFsd2F5cyB5aWVsZHMgYSByZXN1bHQgd2l0aCB0aGUgc2FtZSBzaWduXG5hcyBpdHMgc2Vjb25kIG9wZXJhbmQgKG9yIHplcm8pOyB0aGUgYWJzb2x1dGUgdmFsdWUgb2YgdGhlIHJlc3VsdCBpc1xuc3RyaWN0bHkgc21hbGxlciB0aGFuIHRoZSBhYnNvbHV0ZSB2YWx1ZSBvZiB0aGUgc2Vjb25kIG9wZXJhbmQgWzFdLlxuXG5UaGUgZmxvb3IgZGl2aXNpb24gYW5kIG1vZHVsbyBvcGVyYXRvcnMgYXJlIGNvbm5lY3RlZCBieSB0aGUgZm9sbG93aW5nXG5pZGVudGl0eTogInggPT0gKHgvL3kpKnkgKyAoeCV5KSIuICBGbG9vciBkaXZpc2lvbiBhbmQgbW9kdWxvIGFyZSBhbHNvXG5jb25uZWN0ZWQgd2l0aCB0aGUgYnVpbHQtaW4gZnVuY3Rpb24gImRpdm1vZCgpIjogImRpdm1vZCh4LCB5KSA9PVxuKHgvL3ksIHgleSkiLiBbMl0uXG5cbkluIGFkZGl0aW9uIHRvIHBlcmZvcm1pbmcgdGhlIG1vZHVsbyBvcGVyYXRpb24gb24gbnVtYmVycywgdGhlICIlIlxub3BlcmF0b3IgaXMgYWxzbyBvdmVybG9hZGVkIGJ5IHN0cmluZyBvYmplY3RzIHRvIHBlcmZvcm0gb2xkLXN0eWxlXG5zdHJpbmcgZm9ybWF0dGluZyAoYWxzbyBrbm93biBhcyBpbnRlcnBvbGF0aW9uKS4gIFRoZSBzeW50YXggZm9yXG5zdHJpbmcgZm9ybWF0dGluZyBpcyBkZXNjcmliZWQgaW4gdGhlIFB5dGhvbiBMaWJyYXJ5IFJlZmVyZW5jZSxcbnNlY3Rpb24gKnByaW50Zi1zdHlsZSBTdHJpbmcgRm9ybWF0dGluZyouXG5cblRoZSBmbG9vciBkaXZpc2lvbiBvcGVyYXRvciwgdGhlIG1vZHVsbyBvcGVyYXRvciwgYW5kIHRoZSAiZGl2bW9kKCkiXG5mdW5jdGlvbiBhcmUgbm90IGRlZmluZWQgZm9yIGNvbXBsZXggbnVtYmVycy4gIEluc3RlYWQsIGNvbnZlcnQgdG8gYVxuZmxvYXRpbmcgcG9pbnQgbnVtYmVyIHVzaW5nIHRoZSAiYWJzKCkiIGZ1bmN0aW9uIGlmIGFwcHJvcHJpYXRlLlxuXG5UaGUgIisiIChhZGRpdGlvbikgb3BlcmF0b3IgeWllbGRzIHRoZSBzdW0gb2YgaXRzIGFyZ3VtZW50cy4gIFRoZVxuYXJndW1lbnRzIG11c3QgZWl0aGVyIGJvdGggYmUgbnVtYmVycyBvciBib3RoIGJlIHNlcXVlbmNlcyBvZiB0aGUgc2FtZVxudHlwZS4gIEluIHRoZSBmb3JtZXIgY2FzZSwgdGhlIG51bWJlcnMgYXJlIGNvbnZlcnRlZCB0byBhIGNvbW1vbiB0eXBlXG5hbmQgdGhlbiBhZGRlZCB0b2dldGhlci4gSW4gdGhlIGxhdHRlciBjYXNlLCB0aGUgc2VxdWVuY2VzIGFyZVxuY29uY2F0ZW5hdGVkLlxuXG5UaGUgIi0iIChzdWJ0cmFjdGlvbikgb3BlcmF0b3IgeWllbGRzIHRoZSBkaWZmZXJlbmNlIG9mIGl0cyBhcmd1bWVudHMuXG5UaGUgbnVtZXJpYyBhcmd1bWVudHMgYXJlIGZpcnN0IGNvbnZlcnRlZCB0byBhIGNvbW1vbiB0eXBlLlxuJywKKyAnYXVnYXNzaWduJzogdSdcbkF1Z21lbnRlZCBhc3NpZ25tZW50IHN0YXRlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuQXVnbWVudGVkIGFzc2lnbm1lbnQgaXMgdGhlIGNvbWJpbmF0aW9uLCBpbiBhIHNpbmdsZSBzdGF0ZW1lbnQsIG9mIGFcbmJpbmFyeSBvcGVyYXRpb24gYW5kIGFuIGFzc2lnbm1lbnQgc3RhdGVtZW50OlxuXG4gICBhdWdtZW50ZWRfYXNzaWdubWVudF9zdG10IDo6PSBhdWd0YXJnZXQgYXVnb3AgKGV4cHJlc3Npb25fbGlzdCB8IHlpZWxkX2V4cHJlc3Npb24pXG4gICBhdWd0YXJnZXQgICAgICAgICAgICAgICAgIDo6PSBpZGVudGlmaWVyIHwgYXR0cmlidXRlcmVmIHwgc3Vic2NyaXB0aW9uIHwgc2xpY2luZ1xuICAgYXVnb3AgICAgICAgICAgICAgICAgICAgICA6Oj0gIis9IiB8ICItPSIgfCAiKj0iIHwgIkA9IiB8ICIvPSIgfCAiLy89IiB8ICIlPSIgfCAiKio9IlxuICAgICAgICAgICAgIHwgIj4+PSIgfCAiPDw9IiB8ICImPSIgfCAiXj0iIHwgInw9IlxuXG4oU2VlIHNlY3Rpb24gKlByaW1hcmllcyogZm9yIHRoZSBzeW50YXggZGVmaW5pdGlvbnMgb2YgdGhlIGxhc3QgdGhyZWVcbnN5bWJvbHMuKVxuXG5BbiBhdWdtZW50ZWQgYXNzaWdubWVudCBldmFsdWF0ZXMgdGhlIHRhcmdldCAod2hpY2gsIHVubGlrZSBub3JtYWxcbmFzc2lnbm1lbnQgc3RhdGVtZW50cywgY2Fubm90IGJlIGFuIHVucGFja2luZykgYW5kIHRoZSBleHByZXNzaW9uXG5saXN0LCBwZXJmb3JtcyB0aGUgYmluYXJ5IG9wZXJhdGlvbiBzcGVjaWZpYyB0byB0aGUgdHlwZSBvZiBhc3NpZ25tZW50XG5vbiB0aGUgdHdvIG9wZXJhbmRzLCBhbmQgYXNzaWducyB0aGUgcmVzdWx0IHRvIHRoZSBvcmlnaW5hbCB0YXJnZXQuXG5UaGUgdGFyZ2V0IGlzIG9ubHkgZXZhbHVhdGVkIG9uY2UuXG5cbkFuIGF1Z21lbnRlZCBhc3NpZ25tZW50IGV4cHJlc3Npb24gbGlrZSAieCArPSAxIiBjYW4gYmUgcmV3cml0dGVuIGFzXG4ieCA9IHggKyAxIiB0byBhY2hpZXZlIGEgc2ltaWxhciwgYnV0IG5vdCBleGFjdGx5IGVxdWFsIGVmZmVjdC4gSW4gdGhlXG5hdWdtZW50ZWQgdmVyc2lvbiwgIngiIGlzIG9ubHkgZXZhbHVhdGVkIG9uY2UuIEFsc28sIHdoZW4gcG9zc2libGUsXG50aGUgYWN0dWFsIG9wZXJhdGlvbiBpcyBwZXJmb3JtZWQgKmluLXBsYWNlKiwgbWVhbmluZyB0aGF0IHJhdGhlciB0aGFuXG5jcmVhdGluZyBhIG5ldyBvYmplY3QgYW5kIGFzc2lnbmluZyB0aGF0IHRvIHRoZSB0YXJnZXQsIHRoZSBvbGQgb2JqZWN0XG5pcyBtb2RpZmllZCBpbnN0ZWFkLlxuXG5Vbmxpa2Ugbm9ybWFsIGFzc2lnbm1lbnRzLCBhdWdtZW50ZWQgYXNzaWdubWVudHMgZXZhbHVhdGUgdGhlIGxlZnQtXG5oYW5kIHNpZGUgKmJlZm9yZSogZXZhbHVhdGluZyB0aGUgcmlnaHQtaGFuZCBzaWRlLiAgRm9yIGV4YW1wbGUsICJhW2ldXG4rPSBmKHgpIiBmaXJzdCBsb29rcy11cCAiYVtpXSIsIHRoZW4gaXQgZXZhbHVhdGVzICJmKHgpIiBhbmQgcGVyZm9ybXNcbnRoZSBhZGRpdGlvbiwgYW5kIGxhc3RseSwgaXQgd3JpdGVzIHRoZSByZXN1bHQgYmFjayB0byAiYVtpXSIuXG5cbldpdGggdGhlIGV4Y2VwdGlvbiBvZiBhc3NpZ25pbmcgdG8gdHVwbGVzIGFuZCBtdWx0aXBsZSB0YXJnZXRzIGluIGFcbnNpbmdsZSBzdGF0ZW1lbnQsIHRoZSBhc3NpZ25tZW50IGRvbmUgYnkgYXVnbWVudGVkIGFzc2lnbm1lbnRcbnN0YXRlbWVudHMgaXMgaGFuZGxlZCB0aGUgc2FtZSB3YXkgYXMgbm9ybWFsIGFzc2lnbm1lbnRzLiBTaW1pbGFybHksXG53aXRoIHRoZSBleGNlcHRpb24gb2YgdGhlIHBvc3NpYmxlICppbi1wbGFjZSogYmVoYXZpb3IsIHRoZSBiaW5hcnlcbm9wZXJhdGlvbiBwZXJmb3JtZWQgYnkgYXVnbWVudGVkIGFzc2lnbm1lbnQgaXMgdGhlIHNhbWUgYXMgdGhlIG5vcm1hbFxuYmluYXJ5IG9wZXJhdGlvbnMuXG5cbkZvciB0YXJnZXRzIHdoaWNoIGFyZSBhdHRyaWJ1dGUgcmVmZXJlbmNlcywgdGhlIHNhbWUgKmNhdmVhdCBhYm91dFxuY2xhc3MgYW5kIGluc3RhbmNlIGF0dHJpYnV0ZXMqIGFwcGxpZXMgYXMgZm9yIHJlZ3VsYXIgYXNzaWdubWVudHMuXG4nLAorICdiaW5hcnknOiB1J1xuQmluYXJ5IGFyaXRobWV0aWMgb3BlcmF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG5UaGUgYmluYXJ5IGFyaXRobWV0aWMgb3BlcmF0aW9ucyBoYXZlIHRoZSBjb252ZW50aW9uYWwgcHJpb3JpdHlcbmxldmVscy4gIE5vdGUgdGhhdCBzb21lIG9mIHRoZXNlIG9wZXJhdGlvbnMgYWxzbyBhcHBseSB0byBjZXJ0YWluIG5vbi1cbm51bWVyaWMgdHlwZXMuICBBcGFydCBmcm9tIHRoZSBwb3dlciBvcGVyYXRvciwgdGhlcmUgYXJlIG9ubHkgdHdvXG5sZXZlbHMsIG9uZSBmb3IgbXVsdGlwbGljYXRpdmUgb3BlcmF0b3JzIGFuZCBvbmUgZm9yIGFkZGl0aXZlXG5vcGVyYXRvcnM6XG5cbiAgIG1fZXhwciA6Oj0gdV9leHByIHwgbV9leHByICIqIiB1X2V4cHIgfCBtX2V4cHIgIkAiIG1fZXhwciB8XG4gICAgICAgICAgICAgIG1fZXhwciAiLy8iIHVfZXhwcnwgbV9leHByICIvIiB1X2V4cHIgfFxuICAgICAgICAgICAgICBtX2V4cHIgIiUiIHVfZXhwclxuICAgYV9leHByIDo6PSBtX2V4cHIgfCBhX2V4cHIgIisiIG1fZXhwciB8IGFfZXhwciAiLSIgbV9leHByXG5cblRoZSAiKiIgKG11bHRpcGxpY2F0aW9uKSBvcGVyYXRvciB5aWVsZHMgdGhlIHByb2R1Y3Qgb2YgaXRzIGFyZ3VtZW50cy5cblRoZSBhcmd1bWVudHMgbXVzdCBlaXRoZXIgYm90aCBiZSBudW1iZXJzLCBvciBvbmUgYXJndW1lbnQgbXVzdCBiZSBhblxuaW50ZWdlciBhbmQgdGhlIG90aGVyIG11c3QgYmUgYSBzZXF1ZW5jZS4gSW4gdGhlIGZvcm1lciBjYXNlLCB0aGVcbm51bWJlcnMgYXJlIGNvbnZlcnRlZCB0byBhIGNvbW1vbiB0eXBlIGFuZCB0aGVuIG11bHRpcGxpZWQgdG9nZXRoZXIuXG5JbiB0aGUgbGF0dGVyIGNhc2UsIHNlcXVlbmNlIHJlcGV0aXRpb24gaXMgcGVyZm9ybWVkOyBhIG5lZ2F0aXZlXG5yZXBldGl0aW9uIGZhY3RvciB5aWVsZHMgYW4gZW1wdHkgc2VxdWVuY2UuXG5cblRoZSAiQCIgKGF0KSBvcGVyYXRvciBpcyBpbnRlbmRlZCB0byBiZSB1c2VkIGZvciBtYXRyaXhcbm11bHRpcGxpY2F0aW9uLiAgTm8gYnVpbHRpbiBQeXRob24gdHlwZXMgaW1wbGVtZW50IHRoaXMgb3BlcmF0b3IuXG5cbk5ldyBpbiB2ZXJzaW9uIDMuNS5cblxuVGhlICIvIiAoZGl2aXNpb24pIGFuZCAiLy8iIChmbG9vciBkaXZpc2lvbikgb3BlcmF0b3JzIHlpZWxkIHRoZVxucXVvdGllbnQgb2YgdGhlaXIgYXJndW1lbnRzLiAgVGhlIG51bWVyaWMgYXJndW1lbnRzIGFyZSBmaXJzdFxuY29udmVydGVkIHRvIGEgY29tbW9uIHR5cGUuIERpdmlzaW9uIG9mIGludGVnZXJzIHlpZWxkcyBhIGZsb2F0LCB3aGlsZVxuZmxvb3IgZGl2aXNpb24gb2YgaW50ZWdlcnMgcmVzdWx0cyBpbiBhbiBpbnRlZ2VyOyB0aGUgcmVzdWx0IGlzIHRoYXRcbm9mIG1hdGhlbWF0aWNhbCBkaXZpc2lvbiB3aXRoIHRoZSBcJ2Zsb29yXCcgZnVuY3Rpb24gYXBwbGllZCB0byB0aGVcbnJlc3VsdC4gIERpdmlzaW9uIGJ5IHplcm8gcmFpc2VzIHRoZSAiWmVyb0RpdmlzaW9uRXJyb3IiIGV4Y2VwdGlvbi5cblxuVGhlICIlIiAobW9kdWxvKSBvcGVyYXRvciB5aWVsZHMgdGhlIHJlbWFpbmRlciBmcm9tIHRoZSBkaXZpc2lvbiBvZlxudGhlIGZpcnN0IGFyZ3VtZW50IGJ5IHRoZSBzZWNvbmQuICBUaGUgbnVtZXJpYyBhcmd1bWVudHMgYXJlIGZpcnN0XG5jb252ZXJ0ZWQgdG8gYSBjb21tb24gdHlwZS4gIEEgemVybyByaWdodCBhcmd1bWVudCByYWlzZXMgdGhlXG4iWmVyb0RpdmlzaW9uRXJyb3IiIGV4Y2VwdGlvbi4gIFRoZSBhcmd1bWVudHMgbWF5IGJlIGZsb2F0aW5nIHBvaW50XG5udW1iZXJzLCBlLmcuLCAiMy4xNCUwLjciIGVxdWFscyAiMC4zNCIgKHNpbmNlICIzLjE0IiBlcXVhbHMgIjQqMC43ICtcbjAuMzQiLikgIFRoZSBtb2R1bG8gb3BlcmF0b3IgYWx3YXlzIHlpZWxkcyBhIHJlc3VsdCB3aXRoIHRoZSBzYW1lIHNpZ25cbmFzIGl0cyBzZWNvbmQgb3BlcmFuZCAob3IgemVybyk7IHRoZSBhYnNvbHV0ZSB2YWx1ZSBvZiB0aGUgcmVzdWx0IGlzXG5zdHJpY3RseSBzbWFsbGVyIHRoYW4gdGhlIGFic29sdXRlIHZhbHVlIG9mIHRoZSBzZWNvbmQgb3BlcmFuZCBbMV0uXG5cblRoZSBmbG9vciBkaXZpc2lvbiBhbmQgbW9kdWxvIG9wZXJhdG9ycyBhcmUgY29ubmVjdGVkIGJ5IHRoZSBmb2xsb3dpbmdcbmlkZW50aXR5OiAieCA9PSAoeC8veSkqeSArICh4JXkpIi4gIEZsb29yIGRpdmlzaW9uIGFuZCBtb2R1bG8gYXJlIGFsc29cbmNvbm5lY3RlZCB3aXRoIHRoZSBidWlsdC1pbiBmdW5jdGlvbiAiZGl2bW9kKCkiOiAiZGl2bW9kKHgsIHkpID09XG4oeC8veSwgeCV5KSIuIFsyXS5cblxuSW4gYWRkaXRpb24gdG8gcGVyZm9ybWluZyB0aGUgbW9kdWxvIG9wZXJhdGlvbiBvbiBudW1iZXJzLCB0aGUgIiUiXG5vcGVyYXRvciBpcyBhbHNvIG92ZXJsb2FkZWQgYnkgc3RyaW5nIG9iamVjdHMgdG8gcGVyZm9ybSBvbGQtc3R5bGVcbnN0cmluZyBmb3JtYXR0aW5nIChhbHNvIGtub3duIGFzIGludGVycG9sYXRpb24pLiAgVGhlIHN5bnRheCBmb3JcbnN0cmluZyBmb3JtYXR0aW5nIGlzIGRlc2NyaWJlZCBpbiB0aGUgUHl0aG9uIExpYnJhcnkgUmVmZXJlbmNlLFxuc2VjdGlvbiAqcHJpbnRmLXN0eWxlIFN0cmluZyBGb3JtYXR0aW5nKi5cblxuVGhlIGZsb29yIGRpdmlzaW9uIG9wZXJhdG9yLCB0aGUgbW9kdWxvIG9wZXJhdG9yLCBhbmQgdGhlICJkaXZtb2QoKSJcbmZ1bmN0aW9uIGFyZSBub3QgZGVmaW5lZCBmb3IgY29tcGxleCBudW1iZXJzLiAgSW5zdGVhZCwgY29udmVydCB0byBhXG5mbG9hdGluZyBwb2ludCBudW1iZXIgdXNpbmcgdGhlICJhYnMoKSIgZnVuY3Rpb24gaWYgYXBwcm9wcmlhdGUuXG5cblRoZSAiKyIgKGFkZGl0aW9uKSBvcGVyYXRvciB5aWVsZHMgdGhlIHN1bSBvZiBpdHMgYXJndW1lbnRzLiAgVGhlXG5hcmd1bWVudHMgbXVzdCBlaXRoZXIgYm90aCBiZSBudW1iZXJzIG9yIGJvdGggYmUgc2VxdWVuY2VzIG9mIHRoZSBzYW1lXG50eXBlLiAgSW4gdGhlIGZvcm1lciBjYXNlLCB0aGUgbnVtYmVycyBhcmUgY29udmVydGVkIHRvIGEgY29tbW9uIHR5cGVcbmFuZCB0aGVuIGFkZGVkIHRvZ2V0aGVyLiBJbiB0aGUgbGF0dGVyIGNhc2UsIHRoZSBzZXF1ZW5jZXMgYXJlXG5jb25jYXRlbmF0ZWQuXG5cblRoZSAiLSIgKHN1YnRyYWN0aW9uKSBvcGVyYXRvciB5aWVsZHMgdGhlIGRpZmZlcmVuY2Ugb2YgaXRzIGFyZ3VtZW50cy5cblRoZSBudW1lcmljIGFyZ3VtZW50cyBhcmUgZmlyc3QgY29udmVydGVkIHRvIGEgY29tbW9uIHR5cGUuXG4nLAogICdiaXR3aXNlJzogdSdcbkJpbmFyeSBiaXR3aXNlIG9wZXJhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKipcblxuRWFjaCBvZiB0aGUgdGhyZWUgYml0d2lzZSBvcGVyYXRpb25zIGhhcyBhIGRpZmZlcmVudCBwcmlvcml0eSBsZXZlbDpcblxuICAgYW5kX2V4cHIgOjo9IHNoaWZ0X2V4cHIgfCBhbmRfZXhwciAiJiIgc2hpZnRfZXhwclxuICAgeG9yX2V4cHIgOjo9IGFuZF9leHByIHwgeG9yX2V4cHIgIl4iIGFuZF9leHByXG4gICBvcl9leHByICA6Oj0geG9yX2V4cHIgfCBvcl9leHByICJ8IiB4b3JfZXhwclxuXG5UaGUgIiYiIG9wZXJhdG9yIHlpZWxkcyB0aGUgYml0d2lzZSBBTkQgb2YgaXRzIGFyZ3VtZW50cywgd2hpY2ggbXVzdFxuYmUgaW50ZWdlcnMuXG5cblRoZSAiXiIgb3BlcmF0b3IgeWllbGRzIHRoZSBiaXR3aXNlIFhPUiAoZXhjbHVzaXZlIE9SKSBvZiBpdHNcbmFyZ3VtZW50cywgd2hpY2ggbXVzdCBiZSBpbnRlZ2Vycy5cblxuVGhlICJ8IiBvcGVyYXRvciB5aWVsZHMgdGhlIGJpdHdpc2UgKGluY2x1c2l2ZSkgT1Igb2YgaXRzIGFyZ3VtZW50cyxcbndoaWNoIG11c3QgYmUgaW50ZWdlcnMuXG4nLAogICdibHRpbi1jb2RlLW9iamVjdHMnOiB1J1xuQ29kZSBPYmplY3RzXG4qKioqKioqKioqKipcblxuQ29kZSBvYmplY3RzIGFyZSB1c2VkIGJ5IHRoZSBpbXBsZW1lbnRhdGlvbiB0byByZXByZXNlbnQgInBzZXVkby1cbmNvbXBpbGVkIiBleGVjdXRhYmxlIFB5dGhvbiBjb2RlIHN1Y2ggYXMgYSBmdW5jdGlvbiBib2R5LiBUaGV5IGRpZmZlclxuZnJvbSBmdW5jdGlvbiBvYmplY3RzIGJlY2F1c2UgdGhleSBkb25cJ3QgY29udGFpbiBhIHJlZmVyZW5jZSB0byB0aGVpclxuZ2xvYmFsIGV4ZWN1dGlvbiBlbnZpcm9ubWVudC4gIENvZGUgb2JqZWN0cyBhcmUgcmV0dXJuZWQgYnkgdGhlIGJ1aWx0LVxuaW4gImNvbXBpbGUoKSIgZnVuY3Rpb24gYW5kIGNhbiBiZSBleHRyYWN0ZWQgZnJvbSBmdW5jdGlvbiBvYmplY3RzXG50aHJvdWdoIHRoZWlyICJfX2NvZGVfXyIgYXR0cmlidXRlLiBTZWUgYWxzbyB0aGUgImNvZGUiIG1vZHVsZS5cblxuQSBjb2RlIG9iamVjdCBjYW4gYmUgZXhlY3V0ZWQgb3IgZXZhbHVhdGVkIGJ5IHBhc3NpbmcgaXQgKGluc3RlYWQgb2YgYVxuc291cmNlIHN0cmluZykgdG8gdGhlICJleGVjKCkiIG9yICJldmFsKCkiICBidWlsdC1pbiBmdW5jdGlvbnMuXG5cblNlZSAqVGhlIHN0YW5kYXJkIHR5cGUgaGllcmFyY2h5KiBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbicsCiAgJ2JsdGluLWVsbGlwc2lzLW9iamVjdCc6IHUnXG5UaGUgRWxsaXBzaXMgT2JqZWN0XG4qKioqKioqKioqKioqKioqKioqXG5cblRoaXMgb2JqZWN0IGlzIGNvbW1vbmx5IHVzZWQgYnkgc2xpY2luZyAoc2VlICpTbGljaW5ncyopLiAgSXQgc3VwcG9ydHNcbm5vIHNwZWNpYWwgb3BlcmF0aW9ucy4gIFRoZXJlIGlzIGV4YWN0bHkgb25lIGVsbGlwc2lzIG9iamVjdCwgbmFtZWRcbiJFbGxpcHNpcyIgKGEgYnVpbHQtaW4gbmFtZSkuICAidHlwZShFbGxpcHNpcykoKSIgcHJvZHVjZXMgdGhlXG4iRWxsaXBzaXMiIHNpbmdsZXRvbi5cblxuSXQgaXMgd3JpdHRlbiBhcyAiRWxsaXBzaXMiIG9yICIuLi4iLlxuJywKQEAgLTQ5LDkgKzQ5LDkgQEAKICAnbmFtaW5nJzogdSdcbk5hbWluZyBhbmQgYmluZGluZ1xuKioqKioqKioqKioqKioqKioqXG5cbipOYW1lcyogcmVmZXIgdG8gb2JqZWN0cy4gIE5hbWVzIGFyZSBpbnRyb2R1Y2VkIGJ5IG5hbWUgYmluZGluZ1xub3BlcmF0aW9ucy4gRWFjaCBvY2N1cnJlbmNlIG9mIGEgbmFtZSBpbiB0aGUgcHJvZ3JhbSB0ZXh0IHJlZmVycyB0b1xudGhlICpiaW5kaW5nKiBvZiB0aGF0IG5hbWUgZXN0YWJsaXNoZWQgaW4gdGhlIGlubmVybW9zdCBmdW5jdGlvbiBibG9ja1xuY29udGFpbmluZyB0aGUgdXNlLlxuXG5BICpibG9jayogaXMgYSBwaWVjZSBvZiBQeXRob24gcHJvZ3JhbSB0ZXh0IHRoYXQgaXMgZXhlY3V0ZWQgYXMgYVxudW5pdC4gVGhlIGZvbGxvd2luZyBhcmUgYmxvY2tzOiBhIG1vZHVsZSwgYSBmdW5jdGlvbiBib2R5LCBhbmQgYSBjbGFzc1xuZGVmaW5pdGlvbi4gRWFjaCBjb21tYW5kIHR5cGVkIGludGVyYWN0aXZlbHkgaXMgYSBibG9jay4gIEEgc2NyaXB0XG5maWxlIChhIGZpbGUgZ2l2ZW4gYXMgc3RhbmRhcmQgaW5wdXQgdG8gdGhlIGludGVycHJldGVyIG9yIHNwZWNpZmllZFxuYXMgYSBjb21tYW5kIGxpbmUgYXJndW1lbnQgdG8gdGhlIGludGVycHJldGVyKSBpcyBhIGNvZGUgYmxvY2suICBBXG5zY3JpcHQgY29tbWFuZCAoYSBjb21tYW5kIHNwZWNpZmllZCBvbiB0aGUgaW50ZXJwcmV0ZXIgY29tbWFuZCBsaW5lXG53aXRoIHRoZSBcJyoqLWMqKlwnIG9wdGlvbikgaXMgYSBjb2RlIGJsb2NrLiAgVGhlIHN0cmluZyBhcmd1bWVudCBwYXNzZWRcbnRvIHRoZSBidWlsdC1pbiBmdW5jdGlvbnMgImV2YWwoKSIgYW5kICJleGVjKCkiIGlzIGEgY29kZSBibG9jay5cblxuQSBjb2RlIGJsb2NrIGlzIGV4ZWN1dGVkIGluIGFuICpleGVjdXRpb24gZnJhbWUqLiAgQSBmcmFtZSBjb250YWluc1xuc29tZSBhZG1pbmlzdHJhdGl2ZSBpbmZvcm1hdGlvbiAodXNlZCBmb3IgZGVidWdnaW5nKSBhbmQgZGV0ZXJtaW5lc1xud2hlcmUgYW5kIGhvdyBleGVjdXRpb24gY29udGludWVzIGFmdGVyIHRoZSBjb2RlIGJsb2NrXCdzIGV4ZWN1dGlvbiBoYXNcbmNvbXBsZXRlZC5cblxuQSAqc2NvcGUqIGRlZmluZXMgdGhlIHZpc2liaWxpdHkgb2YgYSBuYW1lIHdpdGhpbiBhIGJsb2NrLiAgSWYgYSBsb2NhbFxudmFyaWFibGUgaXMgZGVmaW5lZCBpbiBhIGJsb2NrLCBpdHMgc2NvcGUgaW5jbHVkZXMgdGhhdCBibG9jay4gIElmIHRoZVxuZGVmaW5pdGlvbiBvY2N1cnMgaW4gYSBmdW5jdGlvbiBibG9jaywgdGhlIHNjb3BlIGV4dGVuZHMgdG8gYW55IGJsb2Nrc1xuY29udGFpbmVkIHdpdGhpbiB0aGUgZGVmaW5pbmcgb25lLCB1bmxlc3MgYSBjb250YWluZWQgYmxvY2sgaW50cm9kdWNlc1xuYSBkaWZmZXJlbnQgYmluZGluZyBmb3IgdGhlIG5hbWUuICBUaGUgc2NvcGUgb2YgbmFtZXMgZGVmaW5lZCBpbiBhXG5jbGFzcyBibG9jayBpcyBsaW1pdGVkIHRvIHRoZSBjbGFzcyBibG9jazsgaXQgZG9lcyBub3QgZXh0ZW5kIHRvIHRoZVxuY29kZSBibG9ja3Mgb2YgbWV0aG9kcyAtLSB0aGlzIGluY2x1ZGVzIGNvbXByZWhlbnNpb25zIGFuZCBnZW5lcmF0b3JcbmV4cHJlc3Npb25zIHNpbmNlIHRoZXkgYXJlIGltcGxlbWVudGVkIHVzaW5nIGEgZnVuY3Rpb24gc2NvcGUuICBUaGlzXG5tZWFucyB0aGF0IHRoZSBmb2xsb3dpbmcgd2lsbCBmYWlsOlxuXG4gICBjbGFzcyBBOlxuICAgICAgIGEgPSA0MlxuICAgICAgIGIgPSBsaXN0KGEgKyBpIGZvciBpIGluIHJhbmdlKDEwKSlcblxuV2hlbiBhIG5hbWUgaXMgdXNlZCBpbiBhIGNvZGUgYmxvY2ssIGl0IGlzIHJlc29sdmVkIHVzaW5nIHRoZSBuZWFyZXN0XG5lbmNsb3Npbmcgc2NvcGUuICBUaGUgc2V0IG9mIGFsbCBzdWNoIHNjb3BlcyB2aXNpYmxlIHRvIGEgY29kZSBibG9ja1xuaXMgY2FsbGVkIHRoZSBibG9ja1wncyAqZW52aXJvbm1lbnQqLlxuXG5JZiBhIG5hbWUgaXMgYm91bmQgaW4gYSBibG9jaywgaXQgaXMgYSBsb2NhbCB2YXJpYWJsZSBvZiB0aGF0IGJsb2NrLFxudW5sZXNzIGRlY2xhcmVkIGFzICJub25sb2NhbCIuICBJZiBhIG5hbWUgaXMgYm91bmQgYXQgdGhlIG1vZHVsZVxubGV2ZWwsIGl0IGlzIGEgZ2xvYmFsIHZhcmlhYmxlLiAgKFRoZSB2YXJpYWJsZXMgb2YgdGhlIG1vZHVsZSBjb2RlXG5ibG9jayBhcmUgbG9jYWwgYW5kIGdsb2JhbC4pICBJZiBhIHZhcmlhYmxlIGlzIHVzZWQgaW4gYSBjb2RlIGJsb2NrXG5idXQgbm90IGRlZmluZWQgdGhlcmUsIGl0IGlzIGEgKmZyZWUgdmFyaWFibGUqLlxuXG5XaGVuIGEgbmFtZSBpcyBub3QgZm91bmQgYXQgYWxsLCBhICJOYW1lRXJyb3IiIGV4Y2VwdGlvbiBpcyByYWlzZWQuXG5JZiB0aGUgbmFtZSByZWZlcnMgdG8gYSBsb2NhbCB2YXJpYWJsZSB0aGF0IGhhcyBub3QgYmVlbiBib3VuZCwgYW5cbiJVbmJvdW5kTG9jYWxFcnJvciIgZXhjZXB0aW9uIGlzIHJhaXNlZC4gICJVbmJvdW5kTG9jYWxFcnJvciIgaXMgYVxuc3ViY2xhc3Mgb2YgIk5hbWVFcnJvciIuXG5cblRoZSBmb2xsb3dpbmcgY29uc3RydWN0cyBiaW5kIG5hbWVzOiBmb3JtYWwgcGFyYW1ldGVycyB0byBmdW5jdGlvbnMsXG4iaW1wb3J0IiBzdGF0ZW1lbnRzLCBjbGFzcyBhbmQgZnVuY3Rpb24gZGVmaW5pdGlvbnMgKHRoZXNlIGJpbmQgdGhlXG5jbGFzcyBvciBmdW5jdGlvbiBuYW1lIGluIHRoZSBkZWZpbmluZyBibG9jayksIGFuZCB0YXJnZXRzIHRoYXQgYXJlXG5pZGVudGlmaWVycyBpZiBvY2N1cnJpbmcgaW4gYW4gYXNzaWdubWVudCwgImZvciIgbG9vcCBoZWFkZXIsIG9yIGFmdGVyXG4iYXMiIGluIGEgIndpdGgiIHN0YXRlbWVudCBvciAiZXhjZXB0IiBjbGF1c2UuIFRoZSAiaW1wb3J0IiBzdGF0ZW1lbnRcbm9mIHRoZSBmb3JtICJmcm9tIC4uLiBpbXBvcnQgKiIgYmluZHMgYWxsIG5hbWVzIGRlZmluZWQgaW4gdGhlXG5pbXBvcnRlZCBtb2R1bGUsIGV4Y2VwdCB0aG9zZSBiZWdpbm5pbmcgd2l0aCBhbiB1bmRlcnNjb3JlLiAgVGhpcyBmb3JtXG5tYXkgb25seSBiZSB1c2VkIGF0IHRoZSBtb2R1bGUgbGV2ZWwuXG5cbkEgdGFyZ2V0IG9jY3VycmluZyBpbiBhICJkZWwiIHN0YXRlbWVudCBpcyBhbHNvIGNvbnNpZGVyZWQgYm91bmQgZm9yXG50aGlzIHB1cnBvc2UgKHRob3VnaCB0aGUgYWN0dWFsIHNlbWFudGljcyBhcmUgdG8gdW5iaW5kIHRoZSBuYW1lKS5cblxuRWFjaCBhc3NpZ25tZW50IG9yIGltcG9ydCBzdGF0ZW1lbnQgb2NjdXJzIHdpdGhpbiBhIGJsb2NrIGRlZmluZWQgYnkgYVxuY2xhc3Mgb3IgZnVuY3Rpb24gZGVmaW5pdGlvbiBvciBhdCB0aGUgbW9kdWxlIGxldmVsICh0aGUgdG9wLWxldmVsXG5jb2RlIGJsb2NrKS5cblxuSWYgYSBuYW1lIGJpbmRpbmcgb3BlcmF0aW9uIG9jY3VycyBhbnl3aGVyZSB3aXRoaW4gYSBjb2RlIGJsb2NrLCBhbGxcbnVzZXMgb2YgdGhlIG5hbWUgd2l0aGluIHRoZSBibG9jayBhcmUgdHJlYXRlZCBhcyByZWZlcmVuY2VzIHRvIHRoZVxuY3VycmVudCBibG9jay4gIFRoaXMgY2FuIGxlYWQgdG8gZXJyb3JzIHdoZW4gYSBuYW1lIGlzIHVzZWQgd2l0aGluIGFcbmJsb2NrIGJlZm9yZSBpdCBpcyBib3VuZC4gIFRoaXMgcnVsZSBpcyBzdWJ0bGUuICBQeXRob24gbGFja3NcbmRlY2xhcmF0aW9ucyBhbmQgYWxsb3dzIG5hbWUgYmluZGluZyBvcGVyYXRpb25zIHRvIG9jY3VyIGFueXdoZXJlXG53aXRoaW4gYSBjb2RlIGJsb2NrLiAgVGhlIGxvY2FsIHZhcmlhYmxlcyBvZiBhIGNvZGUgYmxvY2sgY2FuIGJlXG5kZXRlcm1pbmVkIGJ5IHNjYW5uaW5nIHRoZSBlbnRpcmUgdGV4dCBvZiB0aGUgYmxvY2sgZm9yIG5hbWUgYmluZGluZ1xub3BlcmF0aW9ucy5cblxuSWYgdGhlICJnbG9iYWwiIHN0YXRlbWVudCBvY2N1cnMgd2l0aGluIGEgYmxvY2ssIGFsbCB1c2VzIG9mIHRoZSBuYW1lXG5zcGVjaWZpZWQgaW4gdGhlIHN0YXRlbWVudCByZWZlciB0byB0aGUgYmluZGluZyBvZiB0aGF0IG5hbWUgaW4gdGhlXG50b3AtbGV2ZWwgbmFtZXNwYWNlLiAgTmFtZXMgYXJlIHJlc29sdmVkIGluIHRoZSB0b3AtbGV2ZWwgbmFtZXNwYWNlIGJ5XG5zZWFyY2hpbmcgdGhlIGdsb2JhbCBuYW1lc3BhY2UsIGkuZS4gdGhlIG5hbWVzcGFjZSBvZiB0aGUgbW9kdWxlXG5jb250YWluaW5nIHRoZSBjb2RlIGJsb2NrLCBhbmQgdGhlIGJ1aWx0aW5zIG5hbWVzcGFjZSwgdGhlIG5hbWVzcGFjZVxub2YgdGhlIG1vZHVsZSAiYnVpbHRpbnMiLiAgVGhlIGdsb2JhbCBuYW1lc3BhY2UgaXMgc2VhcmNoZWQgZmlyc3QuICBJZlxudGhlIG5hbWUgaXMgbm90IGZvdW5kIHRoZXJlLCB0aGUgYnVpbHRpbnMgbmFtZXNwYWNlIGlzIHNlYXJjaGVkLiAgVGhlXG4iZ2xvYmFsIiBzdGF0ZW1lbnQgbXVzdCBwcmVjZWRlIGFsbCB1c2VzIG9mIHRoZSBuYW1lLlxuXG5UaGUgYnVpbHRpbnMgbmFtZXNwYWNlIGFzc29jaWF0ZWQgd2l0aCB0aGUgZXhlY3V0aW9uIG9mIGEgY29kZSBibG9ja1xuaXMgYWN0dWFsbHkgZm91bmQgYnkgbG9va2luZyB1cCB0aGUgbmFtZSAiX19idWlsdGluc19fIiBpbiBpdHMgZ2xvYmFsXG5uYW1lc3BhY2U7IHRoaXMgc2hvdWxkIGJlIGEgZGljdGlvbmFyeSBvciBhIG1vZHVsZSAoaW4gdGhlIGxhdHRlciBjYXNlXG50aGUgbW9kdWxlXCdzIGRpY3Rpb25hcnkgaXMgdXNlZCkuICBCeSBkZWZhdWx0LCB3aGVuIGluIHRoZSAiX19tYWluX18iXG5tb2R1bGUsICJfX2J1aWx0aW5zX18iIGlzIHRoZSBidWlsdC1pbiBtb2R1bGUgImJ1aWx0aW5zIjsgd2hlbiBpbiBhbnlcbm90aGVyIG1vZHVsZSwgIl9fYnVpbHRpbnNfXyIgaXMgYW4gYWxpYXMgZm9yIHRoZSBkaWN0aW9uYXJ5IG9mIHRoZVxuImJ1aWx0aW5zIiBtb2R1bGUgaXRzZWxmLiAgIl9fYnVpbHRpbnNfXyIgY2FuIGJlIHNldCB0byBhIHVzZXItY3JlYXRlZFxuZGljdGlvbmFyeSB0byBjcmVhdGUgYSB3ZWFrIGZvcm0gb2YgcmVzdHJpY3RlZCBleGVjdXRpb24uXG5cbioqQ1B5dGhvbiBpbXBsZW1lbnRhdGlvbiBkZXRhaWw6KiogVXNlcnMgc2hvdWxkIG5vdCB0b3VjaFxuIl9fYnVpbHRpbnNfXyI7IGl0IGlzIHN0cmljdGx5IGFuIGltcGxlbWVudGF0aW9uIGRldGFpbC4gIFVzZXJzXG53YW50aW5nIHRvIG92ZXJyaWRlIHZhbHVlcyBpbiB0aGUgYnVpbHRpbnMgbmFtZXNwYWNlIHNob3VsZCAiaW1wb3J0IlxudGhlICJidWlsdGlucyIgbW9kdWxlIGFuZCBtb2RpZnkgaXRzIGF0dHJpYnV0ZXMgYXBwcm9wcmlhdGVseS5cblxuVGhlIG5hbWVzcGFjZSBmb3IgYSBtb2R1bGUgaXMgYXV0b21hdGljYWxseSBjcmVhdGVkIHRoZSBmaXJzdCB0aW1lIGFcbm1vZHVsZSBpcyBpbXBvcnRlZC4gIFRoZSBtYWluIG1vZHVsZSBmb3IgYSBzY3JpcHQgaXMgYWx3YXlzIGNhbGxlZFxuIl9fbWFpbl9fIi5cblxuVGhlICJnbG9iYWwiIHN0YXRlbWVudCBoYXMgdGhlIHNhbWUgc2NvcGUgYXMgYSBuYW1lIGJpbmRpbmcgb3BlcmF0aW9uXG5pbiB0aGUgc2FtZSBibG9jay4gIElmIHRoZSBuZWFyZXN0IGVuY2xvc2luZyBzY29wZSBmb3IgYSBmcmVlIHZhcmlhYmxlXG5jb250YWlucyBhIGdsb2JhbCBzdGF0ZW1lbnQsIHRoZSBmcmVlIHZhcmlhYmxlIGlzIHRyZWF0ZWQgYXMgYSBnbG9iYWwuXG5cbkEgY2xhc3MgZGVmaW5pdGlvbiBpcyBhbiBleGVjdXRhYmxlIHN0YXRlbWVudCB0aGF0IG1heSB1c2UgYW5kIGRlZmluZVxubmFtZXMuIFRoZXNlIHJlZmVyZW5jZXMgZm9sbG93IHRoZSBub3JtYWwgcnVsZXMgZm9yIG5hbWUgcmVzb2x1dGlvbi5cblRoZSBuYW1lc3BhY2Ugb2YgdGhlIGNsYXNzIGRlZmluaXRpb24gYmVjb21lcyB0aGUgYXR0cmlidXRlIGRpY3Rpb25hcnlcbm9mIHRoZSBjbGFzcy4gIE5hbWVzIGRlZmluZWQgYXQgdGhlIGNsYXNzIHNjb3BlIGFyZSBub3QgdmlzaWJsZSBpblxubWV0aG9kcy5cblxuXG5JbnRlcmFjdGlvbiB3aXRoIGR5bmFtaWMgZmVhdHVyZXNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5UaGVyZSBhcmUgc2V2ZXJhbCBjYXNlcyB3aGVyZSBQeXRob24gc3RhdGVtZW50cyBhcmUgaWxsZWdhbCB3aGVuIHVzZWRcbmluIGNvbmp1bmN0aW9uIHdpdGggbmVzdGVkIHNjb3BlcyB0aGF0IGNvbnRhaW4gZnJlZSB2YXJpYWJsZXMuXG5cbklmIGEgdmFyaWFibGUgaXMgcmVmZXJlbmNlZCBpbiBhbiBlbmNsb3Npbmcgc2NvcGUsIGl0IGlzIGlsbGVnYWwgdG9cbmRlbGV0ZSB0aGUgbmFtZS4gIEFuIGVycm9yIHdpbGwgYmUgcmVwb3J0ZWQgYXQgY29tcGlsZSB0aW1lLlxuXG5JZiB0aGUgd2lsZCBjYXJkIGZvcm0gb2YgaW1wb3J0IC0tLSAiaW1wb3J0ICoiIC0tLSBpcyB1c2VkIGluIGFcbmZ1bmN0aW9uIGFuZCB0aGUgZnVuY3Rpb24gY29udGFpbnMgb3IgaXMgYSBuZXN0ZWQgYmxvY2sgd2l0aCBmcmVlXG52YXJpYWJsZXMsIHRoZSBjb21waWxlciB3aWxsIHJhaXNlIGEgIlN5bnRheEVycm9yIi5cblxuVGhlICJldmFsKCkiIGFuZCAiZXhlYygpIiBmdW5jdGlvbnMgZG8gbm90IGhhdmUgYWNjZXNzIHRvIHRoZSBmdWxsXG5lbnZpcm9ubWVudCBmb3IgcmVzb2x2aW5nIG5hbWVzLiAgTmFtZXMgbWF5IGJlIHJlc29sdmVkIGluIHRoZSBsb2NhbFxuYW5kIGdsb2JhbCBuYW1lc3BhY2VzIG9mIHRoZSBjYWxsZXIuICBGcmVlIHZhcmlhYmxlcyBhcmUgbm90IHJlc29sdmVkXG5pbiB0aGUgbmVhcmVzdCBlbmNsb3NpbmcgbmFtZXNwYWNlLCBidXQgaW4gdGhlIGdsb2JhbCBuYW1lc3BhY2UuICBbMV1cblRoZSAiZXhlYygpIiBhbmQgImV2YWwoKSIgZnVuY3Rpb25zIGhhdmUgb3B0aW9uYWwgYXJndW1lbnRzIHRvXG5vdmVycmlkZSB0aGUgZ2xvYmFsIGFuZCBsb2NhbCBuYW1lc3BhY2UuICBJZiBvbmx5IG9uZSBuYW1lc3BhY2UgaXNcbnNwZWNpZmllZCwgaXQgaXMgdXNlZCBmb3IgYm90aC5cbicsCiAgJ25vbmxvY2FsJzogdSdcblRoZSAibm9ubG9jYWwiIHN0YXRlbWVudFxuKioqKioqKioqKioqKioqKioqKioqKioqXG5cbiAgIG5vbmxvY2FsX3N0bXQgOjo9ICJub25sb2NhbCIgaWRlbnRpZmllciAoIiwiIGlkZW50aWZpZXIpKlxuXG5UaGUgIm5vbmxvY2FsIiBzdGF0ZW1lbnQgY2F1c2VzIHRoZSBsaXN0ZWQgaWRlbnRpZmllcnMgdG8gcmVmZXIgdG9cbnByZXZpb3VzbHkgYm91bmQgdmFyaWFibGVzIGluIHRoZSBuZWFyZXN0IGVuY2xvc2luZyBzY29wZSBleGNsdWRpbmdcbmdsb2JhbHMuIFRoaXMgaXMgaW1wb3J0YW50IGJlY2F1c2UgdGhlIGRlZmF1bHQgYmVoYXZpb3IgZm9yIGJpbmRpbmcgaXNcbnRvIHNlYXJjaCB0aGUgbG9jYWwgbmFtZXNwYWNlIGZpcnN0LiAgVGhlIHN0YXRlbWVudCBhbGxvd3NcbmVuY2Fwc3VsYXRlZCBjb2RlIHRvIHJlYmluZCB2YXJpYWJsZXMgb3V0c2lkZSBvZiB0aGUgbG9jYWwgc2NvcGVcbmJlc2lkZXMgdGhlIGdsb2JhbCAobW9kdWxlKSBzY29wZS5cblxuTmFtZXMgbGlzdGVkIGluIGEgIm5vbmxvY2FsIiBzdGF0ZW1lbnQsIHVubGlrZSB0aG9zZSBsaXN0ZWQgaW4gYVxuImdsb2JhbCIgc3RhdGVtZW50LCBtdXN0IHJlZmVyIHRvIHByZS1leGlzdGluZyBiaW5kaW5ncyBpbiBhblxuZW5jbG9zaW5nIHNjb3BlICh0aGUgc2NvcGUgaW4gd2hpY2ggYSBuZXcgYmluZGluZyBzaG91bGQgYmUgY3JlYXRlZFxuY2Fubm90IGJlIGRldGVybWluZWQgdW5hbWJpZ3VvdXNseSkuXG5cbk5hbWVzIGxpc3RlZCBpbiBhICJub25sb2NhbCIgc3RhdGVtZW50IG11c3Qgbm90IGNvbGxpZGUgd2l0aCBwcmUtXG5leGlzdGluZyBiaW5kaW5ncyBpbiB0aGUgbG9jYWwgc2NvcGUuXG5cblNlZSBhbHNvOiAqKlBFUCAzMTA0KiogLSBBY2Nlc3MgdG8gTmFtZXMgaW4gT3V0ZXIgU2NvcGVzXG5cbiAgICAgVGhlIHNwZWNpZmljYXRpb24gZm9yIHRoZSAibm9ubG9jYWwiIHN0YXRlbWVudC5cbicsCiAgJ251bWJlcnMnOiB1J1xuTnVtZXJpYyBsaXRlcmFsc1xuKioqKioqKioqKioqKioqKlxuXG5UaGVyZSBhcmUgdGhyZWUgdHlwZXMgb2YgbnVtZXJpYyBsaXRlcmFsczogaW50ZWdlcnMsIGZsb2F0aW5nIHBvaW50XG5udW1iZXJzLCBhbmQgaW1hZ2luYXJ5IG51bWJlcnMuICBUaGVyZSBhcmUgbm8gY29tcGxleCBsaXRlcmFsc1xuKGNvbXBsZXggbnVtYmVycyBjYW4gYmUgZm9ybWVkIGJ5IGFkZGluZyBhIHJlYWwgbnVtYmVyIGFuZCBhblxuaW1hZ2luYXJ5IG51bWJlcikuXG5cbk5vdGUgdGhhdCBudW1lcmljIGxpdGVyYWxzIGRvIG5vdCBpbmNsdWRlIGEgc2lnbjsgYSBwaHJhc2UgbGlrZSAiLTEiXG5pcyBhY3R1YWxseSBhbiBleHByZXNzaW9uIGNvbXBvc2VkIG9mIHRoZSB1bmFyeSBvcGVyYXRvciBcJyItIlwnIGFuZCB0aGVcbmxpdGVyYWwgIjEiLlxuJywKLSAnbnVtZXJpYy10eXBlcyc6IHUnXG5FbXVsYXRpbmcgbnVtZXJpYyB0eXBlc1xuKioqKioqKioqKioqKioqKioqKioqKipcblxuVGhlIGZvbGxvd2luZyBtZXRob2RzIGNhbiBiZSBkZWZpbmVkIHRvIGVtdWxhdGUgbnVtZXJpYyBvYmplY3RzLlxuTWV0aG9kcyBjb3JyZXNwb25kaW5nIHRvIG9wZXJhdGlvbnMgdGhhdCBhcmUgbm90IHN1cHBvcnRlZCBieSB0aGVcbnBhcnRpY3VsYXIga2luZCBvZiBudW1iZXIgaW1wbGVtZW50ZWQgKGUuZy4sIGJpdHdpc2Ugb3BlcmF0aW9ucyBmb3Jcbm5vbi1pbnRlZ3JhbCBudW1iZXJzKSBzaG91bGQgYmUgbGVmdCB1bmRlZmluZWQuXG5cbm9iamVjdC5fX2FkZF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fc3ViX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19tdWxfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3RydWVkaXZfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX2Zsb29yZGl2X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19tb2RfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX2Rpdm1vZF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fcG93X18oc2VsZiwgb3RoZXJbLCBtb2R1bG9dKVxub2JqZWN0Ll9fbHNoaWZ0X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19yc2hpZnRfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX2FuZF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9feG9yX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19vcl9fKHNlbGYsIG90aGVyKVxuXG4gICBUaGVzZSBtZXRob2RzIGFyZSBjYWxsZWQgdG8gaW1wbGVtZW50IHRoZSBiaW5hcnkgYXJpdGhtZXRpY1xuICAgb3BlcmF0aW9ucyAoIisiLCAiLSIsICIqIiwgIi8iLCAiLy8iLCAiJSIsICJkaXZtb2QoKSIsICJwb3coKSIsXG4gICAiKioiLCAiPDwiLCAiPj4iLCAiJiIsICJeIiwgInwiKS4gIEZvciBpbnN0YW5jZSwgdG8gZXZhbHVhdGUgdGhlXG4gICBleHByZXNzaW9uICJ4ICsgeSIsIHdoZXJlICp4KiBpcyBhbiBpbnN0YW5jZSBvZiBhIGNsYXNzIHRoYXQgaGFzIGFuXG4gICAiX19hZGRfXygpIiBtZXRob2QsICJ4Ll9fYWRkX18oeSkiIGlzIGNhbGxlZC4gIFRoZSAiX19kaXZtb2RfXygpIlxuICAgbWV0aG9kIHNob3VsZCBiZSB0aGUgZXF1aXZhbGVudCB0byB1c2luZyAiX19mbG9vcmRpdl9fKCkiIGFuZFxuICAgIl9fbW9kX18oKSI7IGl0IHNob3VsZCBub3QgYmUgcmVsYXRlZCB0byAiX190cnVlZGl2X18oKSIuICBOb3RlXG4gICB0aGF0ICJfX3Bvd19fKCkiIHNob3VsZCBiZSBkZWZpbmVkIHRvIGFjY2VwdCBhbiBvcHRpb25hbCB0aGlyZFxuICAgYXJndW1lbnQgaWYgdGhlIHRlcm5hcnkgdmVyc2lvbiBvZiB0aGUgYnVpbHQtaW4gInBvdygpIiBmdW5jdGlvbiBpc1xuICAgdG8gYmUgc3VwcG9ydGVkLlxuXG4gICBJZiBvbmUgb2YgdGhvc2UgbWV0aG9kcyBkb2VzIG5vdCBzdXBwb3J0IHRoZSBvcGVyYXRpb24gd2l0aCB0aGVcbiAgIHN1cHBsaWVkIGFyZ3VtZW50cywgaXQgc2hvdWxkIHJldHVybiAiTm90SW1wbGVtZW50ZWQiLlxuXG5vYmplY3QuX19yYWRkX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19yc3ViX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19ybXVsX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19ydHJ1ZWRpdl9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fcmZsb29yZGl2X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19ybW9kX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19yZGl2bW9kX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19ycG93X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19ybHNoaWZ0X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19ycnNoaWZ0X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19yYW5kX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19yeG9yX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19yb3JfXyhzZWxmLCBvdGhlcilcblxuICAgVGhlc2UgbWV0aG9kcyBhcmUgY2FsbGVkIHRvIGltcGxlbWVudCB0aGUgYmluYXJ5IGFyaXRobWV0aWNcbiAgIG9wZXJhdGlvbnMgKCIrIiwgIi0iLCAiKiIsICIvIiwgIi8vIiwgIiUiLCAiZGl2bW9kKCkiLCAicG93KCkiLFxuICAgIioqIiwgIjw8IiwgIj4+IiwgIiYiLCAiXiIsICJ8Iikgd2l0aCByZWZsZWN0ZWQgKHN3YXBwZWQpIG9wZXJhbmRzLlxuICAgVGhlc2UgZnVuY3Rpb25zIGFyZSBvbmx5IGNhbGxlZCBpZiB0aGUgbGVmdCBvcGVyYW5kIGRvZXMgbm90XG4gICBzdXBwb3J0IHRoZSBjb3JyZXNwb25kaW5nIG9wZXJhdGlvbiBhbmQgdGhlIG9wZXJhbmRzIGFyZSBvZlxuICAgZGlmZmVyZW50IHR5cGVzLiBbMl0gIEZvciBpbnN0YW5jZSwgdG8gZXZhbHVhdGUgdGhlIGV4cHJlc3Npb24gInggLVxuICAgeSIsIHdoZXJlICp5KiBpcyBhbiBpbnN0YW5jZSBvZiBhIGNsYXNzIHRoYXQgaGFzIGFuICJfX3JzdWJfXygpIlxuICAgbWV0aG9kLCAieS5fX3JzdWJfXyh4KSIgaXMgY2FsbGVkIGlmICJ4Ll9fc3ViX18oeSkiIHJldHVybnNcbiAgICpOb3RJbXBsZW1lbnRlZCouXG5cbiAgIE5vdGUgdGhhdCB0ZXJuYXJ5ICJwb3coKSIgd2lsbCBub3QgdHJ5IGNhbGxpbmcgIl9fcnBvd19fKCkiICh0aGVcbiAgIGNvZXJjaW9uIHJ1bGVzIHdvdWxkIGJlY29tZSB0b28gY29tcGxpY2F0ZWQpLlxuXG4gICBOb3RlOiBJZiB0aGUgcmlnaHQgb3BlcmFuZFwncyB0eXBlIGlzIGEgc3ViY2xhc3Mgb2YgdGhlIGxlZnRcbiAgICAgb3BlcmFuZFwncyB0eXBlIGFuZCB0aGF0IHN1YmNsYXNzIHByb3ZpZGVzIHRoZSByZWZsZWN0ZWQgbWV0aG9kXG4gICAgIGZvciB0aGUgb3BlcmF0aW9uLCB0aGlzIG1ldGhvZCB3aWxsIGJlIGNhbGxlZCBiZWZvcmUgdGhlIGxlZnRcbiAgICAgb3BlcmFuZFwncyBub24tcmVmbGVjdGVkIG1ldGhvZC4gIFRoaXMgYmVoYXZpb3IgYWxsb3dzIHN1YmNsYXNzZXNcbiAgICAgdG8gb3ZlcnJpZGUgdGhlaXIgYW5jZXN0b3JzXCcgb3BlcmF0aW9ucy5cblxub2JqZWN0Ll9faWFkZF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9faXN1Yl9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9faW11bF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9faXRydWVkaXZfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX2lmbG9vcmRpdl9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9faW1vZF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9faXBvd19fKHNlbGYsIG90aGVyWywgbW9kdWxvXSlcbm9iamVjdC5fX2lsc2hpZnRfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX2lyc2hpZnRfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX2lhbmRfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX2l4b3JfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX2lvcl9fKHNlbGYsIG90aGVyKVxuXG4gICBUaGVzZSBtZXRob2RzIGFyZSBjYWxsZWQgdG8gaW1wbGVtZW50IHRoZSBhdWdtZW50ZWQgYXJpdGhtZXRpY1xuICAgYXNzaWdubWVudHMgKCIrPSIsICItPSIsICIqPSIsICIvPSIsICIvLz0iLCAiJT0iLCAiKio9IiwgIjw8PSIsXG4gICAiPj49IiwgIiY9IiwgIl49IiwgInw9IikuICBUaGVzZSBtZXRob2RzIHNob3VsZCBhdHRlbXB0IHRvIGRvIHRoZVxuICAgb3BlcmF0aW9uIGluLXBsYWNlIChtb2RpZnlpbmcgKnNlbGYqKSBhbmQgcmV0dXJuIHRoZSByZXN1bHQgKHdoaWNoXG4gICBjb3VsZCBiZSwgYnV0IGRvZXMgbm90IGhhdmUgdG8gYmUsICpzZWxmKikuICBJZiBhIHNwZWNpZmljIG1ldGhvZFxuICAgaXMgbm90IGRlZmluZWQsIHRoZSBhdWdtZW50ZWQgYXNzaWdubWVudCBmYWxscyBiYWNrIHRvIHRoZSBub3JtYWxcbiAgIG1ldGhvZHMuICBGb3IgaW5zdGFuY2UsIGlmICp4KiBpcyBhbiBpbnN0YW5jZSBvZiBhIGNsYXNzIHdpdGggYW5cbiAgICJfX2lhZGRfXygpIiBtZXRob2QsICJ4ICs9IHkiIGlzIGVxdWl2YWxlbnQgdG8gInggPSB4Ll9faWFkZF9fKHkpIlxuICAgLiBPdGhlcndpc2UsICJ4Ll9fYWRkX18oeSkiIGFuZCAieS5fX3JhZGRfXyh4KSIgYXJlIGNvbnNpZGVyZWQsIGFzXG4gICB3aXRoIHRoZSBldmFsdWF0aW9uIG9mICJ4ICsgeSIuIEluIGNlcnRhaW4gc2l0dWF0aW9ucywgYXVnbWVudGVkXG4gICBhc3NpZ25tZW50IGNhbiByZXN1bHQgaW4gdW5leHBlY3RlZCBlcnJvcnMgKHNlZSAqV2h5IGRvZXNcbiAgIGFfdHVwbGVbaV0gKz0gW1wnaXRlbVwnXSByYWlzZSBhbiBleGNlcHRpb24gd2hlbiB0aGUgYWRkaXRpb25cbiAgIHdvcmtzPyopLCBidXQgdGhpcyBiZWhhdmlvciBpcyBpbiBmYWN0IHBhcnQgb2YgdGhlIGRhdGEgbW9kZWwuXG5cbm9iamVjdC5fX25lZ19fKHNlbGYpXG5vYmplY3QuX19wb3NfXyhzZWxmKVxub2JqZWN0Ll9fYWJzX18oc2VsZilcbm9iamVjdC5fX2ludmVydF9fKHNlbGYpXG5cbiAgIENhbGxlZCB0byBpbXBsZW1lbnQgdGhlIHVuYXJ5IGFyaXRobWV0aWMgb3BlcmF0aW9ucyAoIi0iLCAiKyIsXG4gICAiYWJzKCkiIGFuZCAifiIpLlxuXG5vYmplY3QuX19jb21wbGV4X18oc2VsZilcbm9iamVjdC5fX2ludF9fKHNlbGYpXG5vYmplY3QuX19mbG9hdF9fKHNlbGYpXG5vYmplY3QuX19yb3VuZF9fKHNlbGZbLCBuXSlcblxuICAgQ2FsbGVkIHRvIGltcGxlbWVudCB0aGUgYnVpbHQtaW4gZnVuY3Rpb25zICJjb21wbGV4KCkiLCAiaW50KCkiLFxuICAgImZsb2F0KCkiIGFuZCAicm91bmQoKSIuICBTaG91bGQgcmV0dXJuIGEgdmFsdWUgb2YgdGhlIGFwcHJvcHJpYXRlXG4gICB0eXBlLlxuXG5vYmplY3QuX19pbmRleF9fKHNlbGYpXG5cbiAgIENhbGxlZCB0byBpbXBsZW1lbnQgIm9wZXJhdG9yLmluZGV4KCkiLCBhbmQgd2hlbmV2ZXIgUHl0aG9uIG5lZWRzXG4gICB0byBsb3NzbGVzc2x5IGNvbnZlcnQgdGhlIG51bWVyaWMgb2JqZWN0IHRvIGFuIGludGVnZXIgb2JqZWN0IChzdWNoXG4gICBhcyBpbiBzbGljaW5nLCBvciBpbiB0aGUgYnVpbHQtaW4gImJpbigpIiwgImhleCgpIiBhbmQgIm9jdCgpIlxuICAgZnVuY3Rpb25zKS4gUHJlc2VuY2Ugb2YgdGhpcyBtZXRob2QgaW5kaWNhdGVzIHRoYXQgdGhlIG51bWVyaWNcbiAgIG9iamVjdCBpcyBhbiBpbnRlZ2VyIHR5cGUuICBNdXN0IHJldHVybiBhbiBpbnRlZ2VyLlxuXG4gICBOb3RlOiBJbiBvcmRlciB0byBoYXZlIGEgY29oZXJlbnQgaW50ZWdlciB0eXBlIGNsYXNzLCB3aGVuXG4gICAgICJfX2luZGV4X18oKSIgaXMgZGVmaW5lZCAiX19pbnRfXygpIiBzaG91bGQgYWxzbyBiZSBkZWZpbmVkLCBhbmRcbiAgICAgYm90aCBzaG91bGQgcmV0dXJuIHRoZSBzYW1lIHZhbHVlLlxuJywKKyAnbnVtZXJpYy10eXBlcyc6IHUnXG5FbXVsYXRpbmcgbnVtZXJpYyB0eXBlc1xuKioqKioqKioqKioqKioqKioqKioqKipcblxuVGhlIGZvbGxvd2luZyBtZXRob2RzIGNhbiBiZSBkZWZpbmVkIHRvIGVtdWxhdGUgbnVtZXJpYyBvYmplY3RzLlxuTWV0aG9kcyBjb3JyZXNwb25kaW5nIHRvIG9wZXJhdGlvbnMgdGhhdCBhcmUgbm90IHN1cHBvcnRlZCBieSB0aGVcbnBhcnRpY3VsYXIga2luZCBvZiBudW1iZXIgaW1wbGVtZW50ZWQgKGUuZy4sIGJpdHdpc2Ugb3BlcmF0aW9ucyBmb3Jcbm5vbi1pbnRlZ3JhbCBudW1iZXJzKSBzaG91bGQgYmUgbGVmdCB1bmRlZmluZWQuXG5cbm9iamVjdC5fX2FkZF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fc3ViX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19tdWxfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX21hdG11bF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fdHJ1ZWRpdl9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fZmxvb3JkaXZfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX21vZF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fZGl2bW9kX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19wb3dfXyhzZWxmLCBvdGhlclssIG1vZHVsb10pXG5vYmplY3QuX19sc2hpZnRfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3JzaGlmdF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fYW5kX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX194b3JfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX29yX18oc2VsZiwgb3RoZXIpXG5cbiAgIFRoZXNlIG1ldGhvZHMgYXJlIGNhbGxlZCB0byBpbXBsZW1lbnQgdGhlIGJpbmFyeSBhcml0aG1ldGljXG4gICBvcGVyYXRpb25zICgiKyIsICItIiwgIioiLCAiQCIsICIvIiwgIi8vIiwgIiUiLCAiZGl2bW9kKCkiLFxuICAgInBvdygpIiwgIioqIiwgIjw8IiwgIj4+IiwgIiYiLCAiXiIsICJ8IikuICBGb3IgaW5zdGFuY2UsIHRvXG4gICBldmFsdWF0ZSB0aGUgZXhwcmVzc2lvbiAieCArIHkiLCB3aGVyZSAqeCogaXMgYW4gaW5zdGFuY2Ugb2YgYVxuICAgY2xhc3MgdGhhdCBoYXMgYW4gIl9fYWRkX18oKSIgbWV0aG9kLCAieC5fX2FkZF9fKHkpIiBpcyBjYWxsZWQuXG4gICBUaGUgIl9fZGl2bW9kX18oKSIgbWV0aG9kIHNob3VsZCBiZSB0aGUgZXF1aXZhbGVudCB0byB1c2luZ1xuICAgIl9fZmxvb3JkaXZfXygpIiBhbmQgIl9fbW9kX18oKSI7IGl0IHNob3VsZCBub3QgYmUgcmVsYXRlZCB0b1xuICAgIl9fdHJ1ZWRpdl9fKCkiLiAgTm90ZSB0aGF0ICJfX3Bvd19fKCkiIHNob3VsZCBiZSBkZWZpbmVkIHRvIGFjY2VwdFxuICAgYW4gb3B0aW9uYWwgdGhpcmQgYXJndW1lbnQgaWYgdGhlIHRlcm5hcnkgdmVyc2lvbiBvZiB0aGUgYnVpbHQtaW5cbiAgICJwb3coKSIgZnVuY3Rpb24gaXMgdG8gYmUgc3VwcG9ydGVkLlxuXG4gICBJZiBvbmUgb2YgdGhvc2UgbWV0aG9kcyBkb2VzIG5vdCBzdXBwb3J0IHRoZSBvcGVyYXRpb24gd2l0aCB0aGVcbiAgIHN1cHBsaWVkIGFyZ3VtZW50cywgaXQgc2hvdWxkIHJldHVybiAiTm90SW1wbGVtZW50ZWQiLlxuXG5vYmplY3QuX19yYWRkX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19yc3ViX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19ybXVsX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19ybWF0bXVsX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19ydHJ1ZWRpdl9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fcmZsb29yZGl2X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19ybW9kX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19yZGl2bW9kX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19ycG93X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19ybHNoaWZ0X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19ycnNoaWZ0X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19yYW5kX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19yeG9yX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19yb3JfXyhzZWxmLCBvdGhlcilcblxuICAgVGhlc2UgbWV0aG9kcyBhcmUgY2FsbGVkIHRvIGltcGxlbWVudCB0aGUgYmluYXJ5IGFyaXRobWV0aWNcbiAgIG9wZXJhdGlvbnMgKCIrIiwgIi0iLCAiKiIsICJAIiwgIi8iLCAiLy8iLCAiJSIsICJkaXZtb2QoKSIsXG4gICAicG93KCkiLCAiKioiLCAiPDwiLCAiPj4iLCAiJiIsICJeIiwgInwiKSB3aXRoIHJlZmxlY3RlZCAoc3dhcHBlZClcbiAgIG9wZXJhbmRzLiAgVGhlc2UgZnVuY3Rpb25zIGFyZSBvbmx5IGNhbGxlZCBpZiB0aGUgbGVmdCBvcGVyYW5kIGRvZXNcbiAgIG5vdCBzdXBwb3J0IHRoZSBjb3JyZXNwb25kaW5nIG9wZXJhdGlvbiBhbmQgdGhlIG9wZXJhbmRzIGFyZSBvZlxuICAgZGlmZmVyZW50IHR5cGVzLiBbMl0gRm9yIGluc3RhbmNlLCB0byBldmFsdWF0ZSB0aGUgZXhwcmVzc2lvbiAieCAtXG4gICB5Iiwgd2hlcmUgKnkqIGlzIGFuIGluc3RhbmNlIG9mIGEgY2xhc3MgdGhhdCBoYXMgYW4gIl9fcnN1Yl9fKCkiXG4gICBtZXRob2QsICJ5Ll9fcnN1Yl9fKHgpIiBpcyBjYWxsZWQgaWYgInguX19zdWJfXyh5KSIgcmV0dXJuc1xuICAgKk5vdEltcGxlbWVudGVkKi5cblxuICAgTm90ZSB0aGF0IHRlcm5hcnkgInBvdygpIiB3aWxsIG5vdCB0cnkgY2FsbGluZyAiX19ycG93X18oKSIgKHRoZVxuICAgY29lcmNpb24gcnVsZXMgd291bGQgYmVjb21lIHRvbyBjb21wbGljYXRlZCkuXG5cbiAgIE5vdGU6IElmIHRoZSByaWdodCBvcGVyYW5kXCdzIHR5cGUgaXMgYSBzdWJjbGFzcyBvZiB0aGUgbGVmdFxuICAgICBvcGVyYW5kXCdzIHR5cGUgYW5kIHRoYXQgc3ViY2xhc3MgcHJvdmlkZXMgdGhlIHJlZmxlY3RlZCBtZXRob2RcbiAgICAgZm9yIHRoZSBvcGVyYXRpb24sIHRoaXMgbWV0aG9kIHdpbGwgYmUgY2FsbGVkIGJlZm9yZSB0aGUgbGVmdFxuICAgICBvcGVyYW5kXCdzIG5vbi1yZWZsZWN0ZWQgbWV0aG9kLiAgVGhpcyBiZWhhdmlvciBhbGxvd3Mgc3ViY2xhc3Nlc1xuICAgICB0byBvdmVycmlkZSB0aGVpciBhbmNlc3RvcnNcJyBvcGVyYXRpb25zLlxuXG5vYmplY3QuX19pYWRkX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19pc3ViX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19pbXVsX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19pbWF0bXVsX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19pdHJ1ZWRpdl9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9faWZsb29yZGl2X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19pbW9kX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19pcG93X18oc2VsZiwgb3RoZXJbLCBtb2R1bG9dKVxub2JqZWN0Ll9faWxzaGlmdF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9faXJzaGlmdF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9faWFuZF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9faXhvcl9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9faW9yX18oc2VsZiwgb3RoZXIpXG5cbiAgIFRoZXNlIG1ldGhvZHMgYXJlIGNhbGxlZCB0byBpbXBsZW1lbnQgdGhlIGF1Z21lbnRlZCBhcml0aG1ldGljXG4gICBhc3NpZ25tZW50cyAoIis9IiwgIi09IiwgIio9IiwgIkA9IiwgIi89IiwgIi8vPSIsICIlPSIsICIqKj0iLFxuICAgIjw8PSIsICI+Pj0iLCAiJj0iLCAiXj0iLCAifD0iKS4gIFRoZXNlIG1ldGhvZHMgc2hvdWxkIGF0dGVtcHQgdG9cbiAgIGRvIHRoZSBvcGVyYXRpb24gaW4tcGxhY2UgKG1vZGlmeWluZyAqc2VsZiopIGFuZCByZXR1cm4gdGhlIHJlc3VsdFxuICAgKHdoaWNoIGNvdWxkIGJlLCBidXQgZG9lcyBub3QgaGF2ZSB0byBiZSwgKnNlbGYqKS4gIElmIGEgc3BlY2lmaWNcbiAgIG1ldGhvZCBpcyBub3QgZGVmaW5lZCwgdGhlIGF1Z21lbnRlZCBhc3NpZ25tZW50IGZhbGxzIGJhY2sgdG8gdGhlXG4gICBub3JtYWwgbWV0aG9kcy4gIEZvciBpbnN0YW5jZSwgaWYgKngqIGlzIGFuIGluc3RhbmNlIG9mIGEgY2xhc3NcbiAgIHdpdGggYW4gIl9faWFkZF9fKCkiIG1ldGhvZCwgInggKz0geSIgaXMgZXF1aXZhbGVudCB0byAieCA9XG4gICB4Ll9faWFkZF9fKHkpIiAuIE90aGVyd2lzZSwgInguX19hZGRfXyh5KSIgYW5kICJ5Ll9fcmFkZF9fKHgpIiBhcmVcbiAgIGNvbnNpZGVyZWQsIGFzIHdpdGggdGhlIGV2YWx1YXRpb24gb2YgInggKyB5Ii4gSW4gY2VydGFpblxuICAgc2l0dWF0aW9ucywgYXVnbWVudGVkIGFzc2lnbm1lbnQgY2FuIHJlc3VsdCBpbiB1bmV4cGVjdGVkIGVycm9yc1xuICAgKHNlZSAqV2h5IGRvZXMgYV90dXBsZVtpXSArPSBbXCdpdGVtXCddIHJhaXNlIGFuIGV4Y2VwdGlvbiB3aGVuIHRoZVxuICAgYWRkaXRpb24gd29ya3M/KiksIGJ1dCB0aGlzIGJlaGF2aW9yIGlzIGluIGZhY3QgcGFydCBvZiB0aGUgZGF0YVxuICAgbW9kZWwuXG5cbm9iamVjdC5fX25lZ19fKHNlbGYpXG5vYmplY3QuX19wb3NfXyhzZWxmKVxub2JqZWN0Ll9fYWJzX18oc2VsZilcbm9iamVjdC5fX2ludmVydF9fKHNlbGYpXG5cbiAgIENhbGxlZCB0byBpbXBsZW1lbnQgdGhlIHVuYXJ5IGFyaXRobWV0aWMgb3BlcmF0aW9ucyAoIi0iLCAiKyIsXG4gICAiYWJzKCkiIGFuZCAifiIpLlxuXG5vYmplY3QuX19jb21wbGV4X18oc2VsZilcbm9iamVjdC5fX2ludF9fKHNlbGYpXG5vYmplY3QuX19mbG9hdF9fKHNlbGYpXG5vYmplY3QuX19yb3VuZF9fKHNlbGZbLCBuXSlcblxuICAgQ2FsbGVkIHRvIGltcGxlbWVudCB0aGUgYnVpbHQtaW4gZnVuY3Rpb25zICJjb21wbGV4KCkiLCAiaW50KCkiLFxuICAgImZsb2F0KCkiIGFuZCAicm91bmQoKSIuICBTaG91bGQgcmV0dXJuIGEgdmFsdWUgb2YgdGhlIGFwcHJvcHJpYXRlXG4gICB0eXBlLlxuXG5vYmplY3QuX19pbmRleF9fKHNlbGYpXG5cbiAgIENhbGxlZCB0byBpbXBsZW1lbnQgIm9wZXJhdG9yLmluZGV4KCkiLCBhbmQgd2hlbmV2ZXIgUHl0aG9uIG5lZWRzXG4gICB0byBsb3NzbGVzc2x5IGNvbnZlcnQgdGhlIG51bWVyaWMgb2JqZWN0IHRvIGFuIGludGVnZXIgb2JqZWN0IChzdWNoXG4gICBhcyBpbiBzbGljaW5nLCBvciBpbiB0aGUgYnVpbHQtaW4gImJpbigpIiwgImhleCgpIiBhbmQgIm9jdCgpIlxuICAgZnVuY3Rpb25zKS4gUHJlc2VuY2Ugb2YgdGhpcyBtZXRob2QgaW5kaWNhdGVzIHRoYXQgdGhlIG51bWVyaWNcbiAgIG9iamVjdCBpcyBhbiBpbnRlZ2VyIHR5cGUuICBNdXN0IHJldHVybiBhbiBpbnRlZ2VyLlxuXG4gICBOb3RlOiBJbiBvcmRlciB0byBoYXZlIGEgY29oZXJlbnQgaW50ZWdlciB0eXBlIGNsYXNzLCB3aGVuXG4gICAgICJfX2luZGV4X18oKSIgaXMgZGVmaW5lZCAiX19pbnRfXygpIiBzaG91bGQgYWxzbyBiZSBkZWZpbmVkLCBhbmRcbiAgICAgYm90aCBzaG91bGQgcmV0dXJuIHRoZSBzYW1lIHZhbHVlLlxuJywKICAnb2JqZWN0cyc6IHUnXG5PYmplY3RzLCB2YWx1ZXMgYW5kIHR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqXG5cbipPYmplY3RzKiBhcmUgUHl0aG9uXCdzIGFic3RyYWN0aW9uIGZvciBkYXRhLiAgQWxsIGRhdGEgaW4gYSBQeXRob25cbnByb2dyYW0gaXMgcmVwcmVzZW50ZWQgYnkgb2JqZWN0cyBvciBieSByZWxhdGlvbnMgYmV0d2VlbiBvYmplY3RzLiAoSW5cbmEgc2Vuc2UsIGFuZCBpbiBjb25mb3JtYW5jZSB0byBWb24gTmV1bWFublwncyBtb2RlbCBvZiBhICJzdG9yZWRcbnByb2dyYW0gY29tcHV0ZXIsIiBjb2RlIGlzIGFsc28gcmVwcmVzZW50ZWQgYnkgb2JqZWN0cy4pXG5cbkV2ZXJ5IG9iamVjdCBoYXMgYW4gaWRlbnRpdHksIGEgdHlwZSBhbmQgYSB2YWx1ZS4gIEFuIG9iamVjdFwnc1xuKmlkZW50aXR5KiBuZXZlciBjaGFuZ2VzIG9uY2UgaXQgaGFzIGJlZW4gY3JlYXRlZDsgeW91IG1heSB0aGluayBvZiBpdFxuYXMgdGhlIG9iamVjdFwncyBhZGRyZXNzIGluIG1lbW9yeS4gIFRoZSBcJyJpcyJcJyBvcGVyYXRvciBjb21wYXJlcyB0aGVcbmlkZW50aXR5IG9mIHR3byBvYmplY3RzOyB0aGUgImlkKCkiIGZ1bmN0aW9uIHJldHVybnMgYW4gaW50ZWdlclxucmVwcmVzZW50aW5nIGl0cyBpZGVudGl0eS5cblxuKipDUHl0aG9uIGltcGxlbWVudGF0aW9uIGRldGFpbDoqKiBGb3IgQ1B5dGhvbiwgImlkKHgpIiBpcyB0aGUgbWVtb3J5XG5hZGRyZXNzIHdoZXJlICJ4IiBpcyBzdG9yZWQuXG5cbkFuIG9iamVjdFwncyB0eXBlIGRldGVybWluZXMgdGhlIG9wZXJhdGlvbnMgdGhhdCB0aGUgb2JqZWN0IHN1cHBvcnRzXG4oZS5nLiwgImRvZXMgaXQgaGF2ZSBhIGxlbmd0aD8iKSBhbmQgYWxzbyBkZWZpbmVzIHRoZSBwb3NzaWJsZSB2YWx1ZXNcbmZvciBvYmplY3RzIG9mIHRoYXQgdHlwZS4gIFRoZSAidHlwZSgpIiBmdW5jdGlvbiByZXR1cm5zIGFuIG9iamVjdFwnc1xudHlwZSAod2hpY2ggaXMgYW4gb2JqZWN0IGl0c2VsZikuICBMaWtlIGl0cyBpZGVudGl0eSwgYW4gb2JqZWN0XCdzXG4qdHlwZSogaXMgYWxzbyB1bmNoYW5nZWFibGUuIFsxXVxuXG5UaGUgKnZhbHVlKiBvZiBzb21lIG9iamVjdHMgY2FuIGNoYW5nZS4gIE9iamVjdHMgd2hvc2UgdmFsdWUgY2FuXG5jaGFuZ2UgYXJlIHNhaWQgdG8gYmUgKm11dGFibGUqOyBvYmplY3RzIHdob3NlIHZhbHVlIGlzIHVuY2hhbmdlYWJsZVxub25jZSB0aGV5IGFyZSBjcmVhdGVkIGFyZSBjYWxsZWQgKmltbXV0YWJsZSouIChUaGUgdmFsdWUgb2YgYW5cbmltbXV0YWJsZSBjb250YWluZXIgb2JqZWN0IHRoYXQgY29udGFpbnMgYSByZWZlcmVuY2UgdG8gYSBtdXRhYmxlXG5vYmplY3QgY2FuIGNoYW5nZSB3aGVuIHRoZSBsYXR0ZXJcJ3MgdmFsdWUgaXMgY2hhbmdlZDsgaG93ZXZlciB0aGVcbmNvbnRhaW5lciBpcyBzdGlsbCBjb25zaWRlcmVkIGltbXV0YWJsZSwgYmVjYXVzZSB0aGUgY29sbGVjdGlvbiBvZlxub2JqZWN0cyBpdCBjb250YWlucyBjYW5ub3QgYmUgY2hhbmdlZC4gIFNvLCBpbW11dGFiaWxpdHkgaXMgbm90XG5zdHJpY3RseSB0aGUgc2FtZSBhcyBoYXZpbmcgYW4gdW5jaGFuZ2VhYmxlIHZhbHVlLCBpdCBpcyBtb3JlIHN1YnRsZS4pXG5BbiBvYmplY3RcJ3MgbXV0YWJpbGl0eSBpcyBkZXRlcm1pbmVkIGJ5IGl0cyB0eXBlOyBmb3IgaW5zdGFuY2UsXG5udW1iZXJzLCBzdHJpbmdzIGFuZCB0dXBsZXMgYXJlIGltbXV0YWJsZSwgd2hpbGUgZGljdGlvbmFyaWVzIGFuZFxubGlzdHMgYXJlIG11dGFibGUuXG5cbk9iamVjdHMgYXJlIG5ldmVyIGV4cGxpY2l0bHkgZGVzdHJveWVkOyBob3dldmVyLCB3aGVuIHRoZXkgYmVjb21lXG51bnJlYWNoYWJsZSB0aGV5IG1heSBiZSBnYXJiYWdlLWNvbGxlY3RlZC4gIEFuIGltcGxlbWVudGF0aW9uIGlzXG5hbGxvd2VkIHRvIHBvc3Rwb25lIGdhcmJhZ2UgY29sbGVjdGlvbiBvciBvbWl0IGl0IGFsdG9nZXRoZXIgLS0tIGl0IGlzXG5hIG1hdHRlciBvZiBpbXBsZW1lbnRhdGlvbiBxdWFsaXR5IGhvdyBnYXJiYWdlIGNvbGxlY3Rpb24gaXNcbmltcGxlbWVudGVkLCBhcyBsb25nIGFzIG5vIG9iamVjdHMgYXJlIGNvbGxlY3RlZCB0aGF0IGFyZSBzdGlsbFxucmVhY2hhYmxlLlxuXG4qKkNQeXRob24gaW1wbGVtZW50YXRpb24gZGV0YWlsOioqIENQeXRob24gY3VycmVudGx5IHVzZXMgYSByZWZlcmVuY2UtXG5jb3VudGluZyBzY2hlbWUgd2l0aCAob3B0aW9uYWwpIGRlbGF5ZWQgZGV0ZWN0aW9uIG9mIGN5Y2xpY2FsbHkgbGlua2VkXG5nYXJiYWdlLCB3aGljaCBjb2xsZWN0cyBtb3N0IG9iamVjdHMgYXMgc29vbiBhcyB0aGV5IGJlY29tZVxudW5yZWFjaGFibGUsIGJ1dCBpcyBub3QgZ3VhcmFudGVlZCB0byBjb2xsZWN0IGdhcmJhZ2UgY29udGFpbmluZ1xuY2lyY3VsYXIgcmVmZXJlbmNlcy4gIFNlZSB0aGUgZG9jdW1lbnRhdGlvbiBvZiB0aGUgImdjIiBtb2R1bGUgZm9yXG5pbmZvcm1hdGlvbiBvbiBjb250cm9sbGluZyB0aGUgY29sbGVjdGlvbiBvZiBjeWNsaWMgZ2FyYmFnZS4gT3RoZXJcbmltcGxlbWVudGF0aW9ucyBhY3QgZGlmZmVyZW50bHkgYW5kIENQeXRob24gbWF5IGNoYW5nZS4gRG8gbm90IGRlcGVuZFxub24gaW1tZWRpYXRlIGZpbmFsaXphdGlvbiBvZiBvYmplY3RzIHdoZW4gdGhleSBiZWNvbWUgdW5yZWFjaGFibGUgKHNvXG55b3Ugc2hvdWxkIGFsd2F5cyBjbG9zZSBmaWxlcyBleHBsaWNpdGx5KS5cblxuTm90ZSB0aGF0IHRoZSB1c2Ugb2YgdGhlIGltcGxlbWVudGF0aW9uXCdzIHRyYWNpbmcgb3IgZGVidWdnaW5nXG5mYWNpbGl0aWVzIG1heSBrZWVwIG9iamVjdHMgYWxpdmUgdGhhdCB3b3VsZCBub3JtYWxseSBiZSBjb2xsZWN0YWJsZS5cbkFsc28gbm90ZSB0aGF0IGNhdGNoaW5nIGFuIGV4Y2VwdGlvbiB3aXRoIGEgXCcidHJ5Ii4uLiJleGNlcHQiXCdcbnN0YXRlbWVudCBtYXkga2VlcCBvYmplY3RzIGFsaXZlLlxuXG5Tb21lIG9iamVjdHMgY29udGFpbiByZWZlcmVuY2VzIHRvICJleHRlcm5hbCIgcmVzb3VyY2VzIHN1Y2ggYXMgb3BlblxuZmlsZXMgb3Igd2luZG93cy4gIEl0IGlzIHVuZGVyc3Rvb2QgdGhhdCB0aGVzZSByZXNvdXJjZXMgYXJlIGZyZWVkXG53aGVuIHRoZSBvYmplY3QgaXMgZ2FyYmFnZS1jb2xsZWN0ZWQsIGJ1dCBzaW5jZSBnYXJiYWdlIGNvbGxlY3Rpb24gaXNcbm5vdCBndWFyYW50ZWVkIHRvIGhhcHBlbiwgc3VjaCBvYmplY3RzIGFsc28gcHJvdmlkZSBhbiBleHBsaWNpdCB3YXkgdG9cbnJlbGVhc2UgdGhlIGV4dGVybmFsIHJlc291cmNlLCB1c3VhbGx5IGEgImNsb3NlKCkiIG1ldGhvZC4gUHJvZ3JhbXNcbmFyZSBzdHJvbmdseSByZWNvbW1lbmRlZCB0byBleHBsaWNpdGx5IGNsb3NlIHN1Y2ggb2JqZWN0cy4gIFRoZVxuXCcidHJ5Ii4uLiJmaW5hbGx5IlwnIHN0YXRlbWVudCBhbmQgdGhlIFwnIndpdGgiXCcgc3RhdGVtZW50IHByb3ZpZGVcbmNvbnZlbmllbnQgd2F5cyB0byBkbyB0aGlzLlxuXG5Tb21lIG9iamVjdHMgY29udGFpbiByZWZlcmVuY2VzIHRvIG90aGVyIG9iamVjdHM7IHRoZXNlIGFyZSBjYWxsZWRcbipjb250YWluZXJzKi4gRXhhbXBsZXMgb2YgY29udGFpbmVycyBhcmUgdHVwbGVzLCBsaXN0cyBhbmRcbmRpY3Rpb25hcmllcy4gIFRoZSByZWZlcmVuY2VzIGFyZSBwYXJ0IG9mIGEgY29udGFpbmVyXCdzIHZhbHVlLiAgSW5cbm1vc3QgY2FzZXMsIHdoZW4gd2UgdGFsayBhYm91dCB0aGUgdmFsdWUgb2YgYSBjb250YWluZXIsIHdlIGltcGx5IHRoZVxudmFsdWVzLCBub3QgdGhlIGlkZW50aXRpZXMgb2YgdGhlIGNvbnRhaW5lZCBvYmplY3RzOyBob3dldmVyLCB3aGVuIHdlXG50YWxrIGFib3V0IHRoZSBtdXRhYmlsaXR5IG9mIGEgY29udGFpbmVyLCBvbmx5IHRoZSBpZGVudGl0aWVzIG9mIHRoZVxuaW1tZWRpYXRlbHkgY29udGFpbmVkIG9iamVjdHMgYXJlIGltcGxpZWQuICBTbywgaWYgYW4gaW1tdXRhYmxlXG5jb250YWluZXIgKGxpa2UgYSB0dXBsZSkgY29udGFpbnMgYSByZWZlcmVuY2UgdG8gYSBtdXRhYmxlIG9iamVjdCwgaXRzXG52YWx1ZSBjaGFuZ2VzIGlmIHRoYXQgbXV0YWJsZSBvYmplY3QgaXMgY2hhbmdlZC5cblxuVHlwZXMgYWZmZWN0IGFsbW9zdCBhbGwgYXNwZWN0cyBvZiBvYmplY3QgYmVoYXZpb3IuICBFdmVuIHRoZVxuaW1wb3J0YW5jZSBvZiBvYmplY3QgaWRlbnRpdHkgaXMgYWZmZWN0ZWQgaW4gc29tZSBzZW5zZTogZm9yIGltbXV0YWJsZVxudHlwZXMsIG9wZXJhdGlvbnMgdGhhdCBjb21wdXRlIG5ldyB2YWx1ZXMgbWF5IGFjdHVhbGx5IHJldHVybiBhXG5yZWZlcmVuY2UgdG8gYW55IGV4aXN0aW5nIG9iamVjdCB3aXRoIHRoZSBzYW1lIHR5cGUgYW5kIHZhbHVlLCB3aGlsZVxuZm9yIG11dGFibGUgb2JqZWN0cyB0aGlzIGlzIG5vdCBhbGxvd2VkLiAgRS5nLiwgYWZ0ZXIgImEgPSAxOyBiID0gMSIsXG4iYSIgYW5kICJiIiBtYXkgb3IgbWF5IG5vdCByZWZlciB0byB0aGUgc2FtZSBvYmplY3Qgd2l0aCB0aGUgdmFsdWVcbm9uZSwgZGVwZW5kaW5nIG9uIHRoZSBpbXBsZW1lbnRhdGlvbiwgYnV0IGFmdGVyICJjID0gW107IGQgPSBbXSIsICJjIlxuYW5kICJkIiBhcmUgZ3VhcmFudGVlZCB0byByZWZlciB0byB0d28gZGlmZmVyZW50LCB1bmlxdWUsIG5ld2x5XG5jcmVhdGVkIGVtcHR5IGxpc3RzLiAoTm90ZSB0aGF0ICJjID0gZCA9IFtdIiBhc3NpZ25zIHRoZSBzYW1lIG9iamVjdFxudG8gYm90aCAiYyIgYW5kICJkIi4pXG4nLAotICdvcGVyYXRvci1zdW1tYXJ5JzogdSdcbk9wZXJhdG9yIHByZWNlZGVuY2VcbioqKioqKioqKioqKioqKioqKipcblxuVGhlIGZvbGxvd2luZyB0YWJsZSBzdW1tYXJpemVzIHRoZSBvcGVyYXRvciBwcmVjZWRlbmNlIGluIFB5dGhvbiwgZnJvbVxubG93ZXN0IHByZWNlZGVuY2UgKGxlYXN0IGJpbmRpbmcpIHRvIGhpZ2hlc3QgcHJlY2VkZW5jZSAobW9zdFxuYmluZGluZykuICBPcGVyYXRvcnMgaW4gdGhlIHNhbWUgYm94IGhhdmUgdGhlIHNhbWUgcHJlY2VkZW5jZS4gIFVubGVzc1xudGhlIHN5bnRheCBpcyBleHBsaWNpdGx5IGdpdmVuLCBvcGVyYXRvcnMgYXJlIGJpbmFyeS4gIE9wZXJhdG9ycyBpblxudGhlIHNhbWUgYm94IGdyb3VwIGxlZnQgdG8gcmlnaHQgKGV4Y2VwdCBmb3IgZXhwb25lbnRpYXRpb24sIHdoaWNoXG5ncm91cHMgZnJvbSByaWdodCB0byBsZWZ0KS5cblxuTm90ZSB0aGF0IGNvbXBhcmlzb25zLCBtZW1iZXJzaGlwIHRlc3RzLCBhbmQgaWRlbnRpdHkgdGVzdHMsIGFsbCBoYXZlXG50aGUgc2FtZSBwcmVjZWRlbmNlIGFuZCBoYXZlIGEgbGVmdC10by1yaWdodCBjaGFpbmluZyBmZWF0dXJlIGFzXG5kZXNjcmliZWQgaW4gdGhlICpDb21wYXJpc29ucyogc2VjdGlvbi5cblxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xufCBPcGVyYXRvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IERlc2NyaXB0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09K1xufCAibGFtYmRhIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IExhbWJkYSBleHByZXNzaW9uICAgICAgICAgICAgICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xufCAiaWYiIC0tICJlbHNlIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IENvbmRpdGlvbmFsIGV4cHJlc3Npb24gICAgICAgICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xufCAib3IiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IEJvb2xlYW4gT1IgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xufCAiYW5kIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IEJvb2xlYW4gQU5EICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xufCAibm90IiAieCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IEJvb2xlYW4gTk9UICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xufCAiaW4iLCAibm90IGluIiwgImlzIiwgImlzIG5vdCIsICI8IiwgIjw9IiwgIj4iLCB8IENvbXBhcmlzb25zLCBpbmNsdWRpbmcgbWVtYmVyc2hpcCAgICAgfFxufCAiPj0iLCAiIT0iLCAiPT0iICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHRlc3RzIGFuZCBpZGVudGl0eSB0ZXN0cyAgICAgICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xufCAifCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IEJpdHdpc2UgT1IgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xufCAiXiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IEJpdHdpc2UgWE9SICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xufCAiJiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IEJpdHdpc2UgQU5EICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xufCAiPDwiLCAiPj4iICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFNoaWZ0cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xufCAiKyIsICItIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IEFkZGl0aW9uIGFuZCBzdWJ0cmFjdGlvbiAgICAgICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xufCAiKiIsICIvIiwgIi8vIiwgIiUiICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IE11bHRpcGxpY2F0aW9uLCBkaXZpc2lvbiwgcmVtYWluZGVyICAgfFxufCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFs1XSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xufCAiK3giLCAiLXgiLCAifngiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFBvc2l0aXZlLCBuZWdhdGl2ZSwgYml0d2lzZSBOT1QgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xufCAiKioiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IEV4cG9uZW50aWF0aW9uIFs2XSAgICAgICAgICAgICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xufCAieFtpbmRleF0iLCAieFtpbmRleDppbmRleF0iLCAgICAgICAgICAgICAgICAgICB8IFN1YnNjcmlwdGlvbiwgc2xpY2luZywgY2FsbCwgICAgICAgICAgfFxufCAieChhcmd1bWVudHMuLi4pIiwgInguYXR0cmlidXRlIiAgICAgICAgICAgICAgICB8IGF0dHJpYnV0ZSByZWZlcmVuY2UgICAgICAgICAgICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xufCAiKGV4cHJlc3Npb25zLi4uKSIsICJbZXhwcmVzc2lvbnMuLi5dIiwgIntrZXk6ICB8IEJpbmRpbmcgb3IgdHVwbGUgZGlzcGxheSwgbGlzdCAgICAgICAgfFxufCB2YWx1ZS4uLn0iLCAie2V4cHJlc3Npb25zLi4ufSIgICAgICAgICAgICAgICAgICB8IGRpc3BsYXksIGRpY3Rpb25hcnkgZGlzcGxheSwgc2V0ICAgICAgfFxufCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGRpc3BsYXkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xuXG4tWyBGb290bm90ZXMgXS1cblxuWzFdIFdoaWxlICJhYnMoeCV5KSA8IGFicyh5KSIgaXMgdHJ1ZSBtYXRoZW1hdGljYWxseSwgZm9yIGZsb2F0c1xuICAgIGl0IG1heSBub3QgYmUgdHJ1ZSBudW1lcmljYWxseSBkdWUgdG8gcm91bmRvZmYuICBGb3IgZXhhbXBsZSwgYW5kXG4gICAgYXNzdW1pbmcgYSBwbGF0Zm9ybSBvbiB3aGljaCBhIFB5dGhvbiBmbG9hdCBpcyBhbiBJRUVFIDc1NCBkb3VibGUtXG4gICAgcHJlY2lzaW9uIG51bWJlciwgaW4gb3JkZXIgdGhhdCAiLTFlLTEwMCAlIDFlMTAwIiBoYXZlIHRoZSBzYW1lXG4gICAgc2lnbiBhcyAiMWUxMDAiLCB0aGUgY29tcHV0ZWQgcmVzdWx0IGlzICItMWUtMTAwICsgMWUxMDAiLCB3aGljaFxuICAgIGlzIG51bWVyaWNhbGx5IGV4YWN0bHkgZXF1YWwgdG8gIjFlMTAwIi4gIFRoZSBmdW5jdGlvblxuICAgICJtYXRoLmZtb2QoKSIgcmV0dXJucyBhIHJlc3VsdCB3aG9zZSBzaWduIG1hdGNoZXMgdGhlIHNpZ24gb2YgdGhlXG4gICAgZmlyc3QgYXJndW1lbnQgaW5zdGVhZCwgYW5kIHNvIHJldHVybnMgIi0xZS0xMDAiIGluIHRoaXMgY2FzZS5cbiAgICBXaGljaCBhcHByb2FjaCBpcyBtb3JlIGFwcHJvcHJpYXRlIGRlcGVuZHMgb24gdGhlIGFwcGxpY2F0aW9uLlxuXG5bMl0gSWYgeCBpcyB2ZXJ5IGNsb3NlIHRvIGFuIGV4YWN0IGludGVnZXIgbXVsdGlwbGUgb2YgeSwgaXRcJ3NcbiAgICBwb3NzaWJsZSBmb3IgIngvL3kiIHRvIGJlIG9uZSBsYXJnZXIgdGhhbiAiKHgteCV5KS8veSIgZHVlIHRvXG4gICAgcm91bmRpbmcuICBJbiBzdWNoIGNhc2VzLCBQeXRob24gcmV0dXJucyB0aGUgbGF0dGVyIHJlc3VsdCwgaW5cbiAgICBvcmRlciB0byBwcmVzZXJ2ZSB0aGF0ICJkaXZtb2QoeCx5KVswXSAqIHkgKyB4ICUgeSIgYmUgdmVyeSBjbG9zZVxuICAgIHRvICJ4Ii5cblxuWzNdIFdoaWxlIGNvbXBhcmlzb25zIGJldHdlZW4gc3RyaW5ncyBtYWtlIHNlbnNlIGF0IHRoZSBieXRlXG4gICAgbGV2ZWwsIHRoZXkgbWF5IGJlIGNvdW50ZXItaW50dWl0aXZlIHRvIHVzZXJzLiAgRm9yIGV4YW1wbGUsIHRoZVxuICAgIHN0cmluZ3MgIiJcXHUwMEM3IiIgYW5kICIiXFx1MDMyN1xcdTAwNDMiIiBjb21wYXJlIGRpZmZlcmVudGx5LCBldmVuXG4gICAgdGhvdWdoIHRoZXkgYm90aCByZXByZXNlbnQgdGhlIHNhbWUgdW5pY29kZSBjaGFyYWN0ZXIgKExBVElOXG4gICAgQ0FQSVRBTCBMRVRURVIgQyBXSVRIIENFRElMTEEpLiAgVG8gY29tcGFyZSBzdHJpbmdzIGluIGEgaHVtYW5cbiAgICByZWNvZ25pemFibGUgd2F5LCBjb21wYXJlIHVzaW5nICJ1bmljb2RlZGF0YS5ub3JtYWxpemUoKSIuXG5cbls0XSBEdWUgdG8gYXV0b21hdGljIGdhcmJhZ2UtY29sbGVjdGlvbiwgZnJlZSBsaXN0cywgYW5kIHRoZVxuICAgIGR5bmFtaWMgbmF0dXJlIG9mIGRlc2NyaXB0b3JzLCB5b3UgbWF5IG5vdGljZSBzZWVtaW5nbHkgdW51c3VhbFxuICAgIGJlaGF2aW91ciBpbiBjZXJ0YWluIHVzZXMgb2YgdGhlICJpcyIgb3BlcmF0b3IsIGxpa2UgdGhvc2VcbiAgICBpbnZvbHZpbmcgY29tcGFyaXNvbnMgYmV0d2VlbiBpbnN0YW5jZSBtZXRob2RzLCBvciBjb25zdGFudHMuXG4gICAgQ2hlY2sgdGhlaXIgZG9jdW1lbnRhdGlvbiBmb3IgbW9yZSBpbmZvLlxuXG5bNV0gVGhlICIlIiBvcGVyYXRvciBpcyBhbHNvIHVzZWQgZm9yIHN0cmluZyBmb3JtYXR0aW5nOyB0aGUgc2FtZVxuICAgIHByZWNlZGVuY2UgYXBwbGllcy5cblxuWzZdIFRoZSBwb3dlciBvcGVyYXRvciAiKioiIGJpbmRzIGxlc3MgdGlnaHRseSB0aGFuIGFuIGFyaXRobWV0aWNcbiAgICBvciBiaXR3aXNlIHVuYXJ5IG9wZXJhdG9yIG9uIGl0cyByaWdodCwgdGhhdCBpcywgIjIqKi0xIiBpcyAiMC41Ii5cbicsCisgJ29wZXJhdG9yLXN1bW1hcnknOiB1J1xuT3BlcmF0b3IgcHJlY2VkZW5jZVxuKioqKioqKioqKioqKioqKioqKlxuXG5UaGUgZm9sbG93aW5nIHRhYmxlIHN1bW1hcml6ZXMgdGhlIG9wZXJhdG9yIHByZWNlZGVuY2UgaW4gUHl0aG9uLCBmcm9tXG5sb3dlc3QgcHJlY2VkZW5jZSAobGVhc3QgYmluZGluZykgdG8gaGlnaGVzdCBwcmVjZWRlbmNlIChtb3N0XG5iaW5kaW5nKS4gIE9wZXJhdG9ycyBpbiB0aGUgc2FtZSBib3ggaGF2ZSB0aGUgc2FtZSBwcmVjZWRlbmNlLiAgVW5sZXNzXG50aGUgc3ludGF4IGlzIGV4cGxpY2l0bHkgZ2l2ZW4sIG9wZXJhdG9ycyBhcmUgYmluYXJ5LiAgT3BlcmF0b3JzIGluXG50aGUgc2FtZSBib3ggZ3JvdXAgbGVmdCB0byByaWdodCAoZXhjZXB0IGZvciBleHBvbmVudGlhdGlvbiwgd2hpY2hcbmdyb3VwcyBmcm9tIHJpZ2h0IHRvIGxlZnQpLlxuXG5Ob3RlIHRoYXQgY29tcGFyaXNvbnMsIG1lbWJlcnNoaXAgdGVzdHMsIGFuZCBpZGVudGl0eSB0ZXN0cywgYWxsIGhhdmVcbnRoZSBzYW1lIHByZWNlZGVuY2UgYW5kIGhhdmUgYSBsZWZ0LXRvLXJpZ2h0IGNoYWluaW5nIGZlYXR1cmUgYXNcbmRlc2NyaWJlZCBpbiB0aGUgKkNvbXBhcmlzb25zKiBzZWN0aW9uLlxuXG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58IE9wZXJhdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgRGVzY3JpcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4rPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rXG58ICJsYW1iZGEiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgTGFtYmRhIGV4cHJlc3Npb24gICAgICAgICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58ICJpZiIgLS0gImVsc2UiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgQ29uZGl0aW9uYWwgZXhwcmVzc2lvbiAgICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58ICJvciIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgQm9vbGVhbiBPUiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58ICJhbmQiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgQm9vbGVhbiBBTkQgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58ICJub3QiICJ4IiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgQm9vbGVhbiBOT1QgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58ICJpbiIsICJub3QgaW4iLCAiaXMiLCAiaXMgbm90IiwgIjwiLCAiPD0iLCAiPiIsIHwgQ29tcGFyaXNvbnMsIGluY2x1ZGluZyBtZW1iZXJzaGlwICAgICB8XG58ICI+PSIsICIhPSIsICI9PSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgdGVzdHMgYW5kIGlkZW50aXR5IHRlc3RzICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58ICJ8IiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgQml0d2lzZSBPUiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58ICJeIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgQml0d2lzZSBYT1IgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58ICImIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgQml0d2lzZSBBTkQgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58ICI8PCIsICI+PiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgU2hpZnRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58ICIrIiwgIi0iICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgQWRkaXRpb24gYW5kIHN1YnRyYWN0aW9uICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58ICIqIiwgIkAiLCAiLyIsICIvLyIsICIlIiAgICAgICAgICAgICAgICAgICAgICAgIHwgTXVsdGlwbGljYXRpb24sIG1hdHJpeCBtdWx0aXBsaWNhdGlvbiB8XG58ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZGl2aXNpb24sIHJlbWFpbmRlciBbNV0gICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58ICIreCIsICIteCIsICJ+eCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgUG9zaXRpdmUsIG5lZ2F0aXZlLCBiaXR3aXNlIE5PVCAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58ICIqKiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgRXhwb25lbnRpYXRpb24gWzZdICAgICAgICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58ICJ4W2luZGV4XSIsICJ4W2luZGV4OmluZGV4XSIsICAgICAgICAgICAgICAgICAgIHwgU3Vic2NyaXB0aW9uLCBzbGljaW5nLCBjYWxsLCAgICAgICAgICB8XG58ICJ4KGFyZ3VtZW50cy4uLikiLCAieC5hdHRyaWJ1dGUiICAgICAgICAgICAgICAgIHwgYXR0cmlidXRlIHJlZmVyZW5jZSAgICAgICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58ICIoZXhwcmVzc2lvbnMuLi4pIiwgIltleHByZXNzaW9ucy4uLl0iLCAie2tleTogIHwgQmluZGluZyBvciB0dXBsZSBkaXNwbGF5LCBsaXN0ICAgICAgICB8XG58IHZhbHVlLi4ufSIsICJ7ZXhwcmVzc2lvbnMuLi59IiAgICAgICAgICAgICAgICAgIHwgZGlzcGxheSwgZGljdGlvbmFyeSBkaXNwbGF5LCBzZXQgICAgICB8XG58ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZGlzcGxheSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG5cbi1bIEZvb3Rub3RlcyBdLVxuXG5bMV0gV2hpbGUgImFicyh4JXkpIDwgYWJzKHkpIiBpcyB0cnVlIG1hdGhlbWF0aWNhbGx5LCBmb3IgZmxvYXRzXG4gICAgaXQgbWF5IG5vdCBiZSB0cnVlIG51bWVyaWNhbGx5IGR1ZSB0byByb3VuZG9mZi4gIEZvciBleGFtcGxlLCBhbmRcbiAgICBhc3N1bWluZyBhIHBsYXRmb3JtIG9uIHdoaWNoIGEgUHl0aG9uIGZsb2F0IGlzIGFuIElFRUUgNzU0IGRvdWJsZS1cbiAgICBwcmVjaXNpb24gbnVtYmVyLCBpbiBvcmRlciB0aGF0ICItMWUtMTAwICUgMWUxMDAiIGhhdmUgdGhlIHNhbWVcbiAgICBzaWduIGFzICIxZTEwMCIsIHRoZSBjb21wdXRlZCByZXN1bHQgaXMgIi0xZS0xMDAgKyAxZTEwMCIsIHdoaWNoXG4gICAgaXMgbnVtZXJpY2FsbHkgZXhhY3RseSBlcXVhbCB0byAiMWUxMDAiLiAgVGhlIGZ1bmN0aW9uXG4gICAgIm1hdGguZm1vZCgpIiByZXR1cm5zIGEgcmVzdWx0IHdob3NlIHNpZ24gbWF0Y2hlcyB0aGUgc2lnbiBvZiB0aGVcbiAgICBmaXJzdCBhcmd1bWVudCBpbnN0ZWFkLCBhbmQgc28gcmV0dXJucyAiLTFlLTEwMCIgaW4gdGhpcyBjYXNlLlxuICAgIFdoaWNoIGFwcHJvYWNoIGlzIG1vcmUgYXBwcm9wcmlhdGUgZGVwZW5kcyBvbiB0aGUgYXBwbGljYXRpb24uXG5cblsyXSBJZiB4IGlzIHZlcnkgY2xvc2UgdG8gYW4gZXhhY3QgaW50ZWdlciBtdWx0aXBsZSBvZiB5LCBpdFwnc1xuICAgIHBvc3NpYmxlIGZvciAieC8veSIgdG8gYmUgb25lIGxhcmdlciB0aGFuICIoeC14JXkpLy95IiBkdWUgdG9cbiAgICByb3VuZGluZy4gIEluIHN1Y2ggY2FzZXMsIFB5dGhvbiByZXR1cm5zIHRoZSBsYXR0ZXIgcmVzdWx0LCBpblxuICAgIG9yZGVyIHRvIHByZXNlcnZlIHRoYXQgImRpdm1vZCh4LHkpWzBdICogeSArIHggJSB5IiBiZSB2ZXJ5IGNsb3NlXG4gICAgdG8gIngiLlxuXG5bM10gV2hpbGUgY29tcGFyaXNvbnMgYmV0d2VlbiBzdHJpbmdzIG1ha2Ugc2Vuc2UgYXQgdGhlIGJ5dGVcbiAgICBsZXZlbCwgdGhleSBtYXkgYmUgY291bnRlci1pbnR1aXRpdmUgdG8gdXNlcnMuICBGb3IgZXhhbXBsZSwgdGhlXG4gICAgc3RyaW5ncyAiIlxcdTAwQzciIiBhbmQgIiJcXHUwMzI3XFx1MDA0MyIiIGNvbXBhcmUgZGlmZmVyZW50bHksIGV2ZW5cbiAgICB0aG91Z2ggdGhleSBib3RoIHJlcHJlc2VudCB0aGUgc2FtZSB1bmljb2RlIGNoYXJhY3RlciAoTEFUSU5cbiAgICBDQVBJVEFMIExFVFRFUiBDIFdJVEggQ0VESUxMQSkuICBUbyBjb21wYXJlIHN0cmluZ3MgaW4gYSBodW1hblxuICAgIHJlY29nbml6YWJsZSB3YXksIGNvbXBhcmUgdXNpbmcgInVuaWNvZGVkYXRhLm5vcm1hbGl6ZSgpIi5cblxuWzRdIER1ZSB0byBhdXRvbWF0aWMgZ2FyYmFnZS1jb2xsZWN0aW9uLCBmcmVlIGxpc3RzLCBhbmQgdGhlXG4gICAgZHluYW1pYyBuYXR1cmUgb2YgZGVzY3JpcHRvcnMsIHlvdSBtYXkgbm90aWNlIHNlZW1pbmdseSB1bnVzdWFsXG4gICAgYmVoYXZpb3VyIGluIGNlcnRhaW4gdXNlcyBvZiB0aGUgImlzIiBvcGVyYXRvciwgbGlrZSB0aG9zZVxuICAgIGludm9sdmluZyBjb21wYXJpc29ucyBiZXR3ZWVuIGluc3RhbmNlIG1ldGhvZHMsIG9yIGNvbnN0YW50cy5cbiAgICBDaGVjayB0aGVpciBkb2N1bWVudGF0aW9uIGZvciBtb3JlIGluZm8uXG5cbls1XSBUaGUgIiUiIG9wZXJhdG9yIGlzIGFsc28gdXNlZCBmb3Igc3RyaW5nIGZvcm1hdHRpbmc7IHRoZSBzYW1lXG4gICAgcHJlY2VkZW5jZSBhcHBsaWVzLlxuXG5bNl0gVGhlIHBvd2VyIG9wZXJhdG9yICIqKiIgYmluZHMgbGVzcyB0aWdodGx5IHRoYW4gYW4gYXJpdGhtZXRpY1xuICAgIG9yIGJpdHdpc2UgdW5hcnkgb3BlcmF0b3Igb24gaXRzIHJpZ2h0LCB0aGF0IGlzLCAiMioqLTEiIGlzICIwLjUiLlxuJywKICAncGFzcyc6IHUnXG5UaGUgInBhc3MiIHN0YXRlbWVudFxuKioqKioqKioqKioqKioqKioqKipcblxuICAgcGFzc19zdG10IDo6PSAicGFzcyJcblxuInBhc3MiIGlzIGEgbnVsbCBvcGVyYXRpb24gLS0tIHdoZW4gaXQgaXMgZXhlY3V0ZWQsIG5vdGhpbmcgaGFwcGVucy5cbkl0IGlzIHVzZWZ1bCBhcyBhIHBsYWNlaG9sZGVyIHdoZW4gYSBzdGF0ZW1lbnQgaXMgcmVxdWlyZWRcbnN5bnRhY3RpY2FsbHksIGJ1dCBubyBjb2RlIG5lZWRzIHRvIGJlIGV4ZWN1dGVkLCBmb3IgZXhhbXBsZTpcblxuICAgZGVmIGYoYXJnKTogcGFzcyAgICAjIGEgZnVuY3Rpb24gdGhhdCBkb2VzIG5vdGhpbmcgKHlldClcblxuICAgY2xhc3MgQzogcGFzcyAgICAgICAjIGEgY2xhc3Mgd2l0aCBubyBtZXRob2RzICh5ZXQpXG4nLAogICdwb3dlcic6IHUnXG5UaGUgcG93ZXIgb3BlcmF0b3JcbioqKioqKioqKioqKioqKioqKlxuXG5UaGUgcG93ZXIgb3BlcmF0b3IgYmluZHMgbW9yZSB0aWdodGx5IHRoYW4gdW5hcnkgb3BlcmF0b3JzIG9uIGl0c1xubGVmdDsgaXQgYmluZHMgbGVzcyB0aWdodGx5IHRoYW4gdW5hcnkgb3BlcmF0b3JzIG9uIGl0cyByaWdodC4gIFRoZVxuc3ludGF4IGlzOlxuXG4gICBwb3dlciA6Oj0gcHJpbWFyeSBbIioqIiB1X2V4cHJdXG5cblRodXMsIGluIGFuIHVucGFyZW50aGVzaXplZCBzZXF1ZW5jZSBvZiBwb3dlciBhbmQgdW5hcnkgb3BlcmF0b3JzLCB0aGVcbm9wZXJhdG9ycyBhcmUgZXZhbHVhdGVkIGZyb20gcmlnaHQgdG8gbGVmdCAodGhpcyBkb2VzIG5vdCBjb25zdHJhaW5cbnRoZSBldmFsdWF0aW9uIG9yZGVyIGZvciB0aGUgb3BlcmFuZHMpOiAiLTEqKjIiIHJlc3VsdHMgaW4gIi0xIi5cblxuVGhlIHBvd2VyIG9wZXJhdG9yIGhhcyB0aGUgc2FtZSBzZW1hbnRpY3MgYXMgdGhlIGJ1aWx0LWluICJwb3coKSJcbmZ1bmN0aW9uLCB3aGVuIGNhbGxlZCB3aXRoIHR3byBhcmd1bWVudHM6IGl0IHlpZWxkcyBpdHMgbGVmdCBhcmd1bWVudFxucmFpc2VkIHRvIHRoZSBwb3dlciBvZiBpdHMgcmlnaHQgYXJndW1lbnQuICBUaGUgbnVtZXJpYyBhcmd1bWVudHMgYXJlXG5maXJzdCBjb252ZXJ0ZWQgdG8gYSBjb21tb24gdHlwZSwgYW5kIHRoZSByZXN1bHQgaXMgb2YgdGhhdCB0eXBlLlxuXG5Gb3IgaW50IG9wZXJhbmRzLCB0aGUgcmVzdWx0IGhhcyB0aGUgc2FtZSB0eXBlIGFzIHRoZSBvcGVyYW5kcyB1bmxlc3NcbnRoZSBzZWNvbmQgYXJndW1lbnQgaXMgbmVnYXRpdmU7IGluIHRoYXQgY2FzZSwgYWxsIGFyZ3VtZW50cyBhcmVcbmNvbnZlcnRlZCB0byBmbG9hdCBhbmQgYSBmbG9hdCByZXN1bHQgaXMgZGVsaXZlcmVkLiBGb3IgZXhhbXBsZSxcbiIxMCoqMiIgcmV0dXJucyAiMTAwIiwgYnV0ICIxMCoqLTIiIHJldHVybnMgIjAuMDEiLlxuXG5SYWlzaW5nICIwLjAiIHRvIGEgbmVnYXRpdmUgcG93ZXIgcmVzdWx0cyBpbiBhICJaZXJvRGl2aXNpb25FcnJvciIuXG5SYWlzaW5nIGEgbmVnYXRpdmUgbnVtYmVyIHRvIGEgZnJhY3Rpb25hbCBwb3dlciByZXN1bHRzIGluIGEgImNvbXBsZXgiXG5udW1iZXIuIChJbiBlYXJsaWVyIHZlcnNpb25zIGl0IHJhaXNlZCBhICJWYWx1ZUVycm9yIi4pXG4nLAogICdyYWlzZSc6IHUnXG5UaGUgInJhaXNlIiBzdGF0ZW1lbnRcbioqKioqKioqKioqKioqKioqKioqKlxuXG4gICByYWlzZV9zdG10IDo6PSAicmFpc2UiIFtleHByZXNzaW9uIFsiZnJvbSIgZXhwcmVzc2lvbl1dXG5cbklmIG5vIGV4cHJlc3Npb25zIGFyZSBwcmVzZW50LCAicmFpc2UiIHJlLXJhaXNlcyB0aGUgbGFzdCBleGNlcHRpb25cbnRoYXQgd2FzIGFjdGl2ZSBpbiB0aGUgY3VycmVudCBzY29wZS4gIElmIG5vIGV4Y2VwdGlvbiBpcyBhY3RpdmUgaW5cbnRoZSBjdXJyZW50IHNjb3BlLCBhICJSdW50aW1lRXJyb3IiIGV4Y2VwdGlvbiBpcyByYWlzZWQgaW5kaWNhdGluZ1xudGhhdCB0aGlzIGlzIGFuIGVycm9yLlxuXG5PdGhlcndpc2UsICJyYWlzZSIgZXZhbHVhdGVzIHRoZSBmaXJzdCBleHByZXNzaW9uIGFzIHRoZSBleGNlcHRpb25cbm9iamVjdC4gIEl0IG11c3QgYmUgZWl0aGVyIGEgc3ViY2xhc3Mgb3IgYW4gaW5zdGFuY2Ugb2ZcbiJCYXNlRXhjZXB0aW9uIi4gSWYgaXQgaXMgYSBjbGFzcywgdGhlIGV4Y2VwdGlvbiBpbnN0YW5jZSB3aWxsIGJlXG5vYnRhaW5lZCB3aGVuIG5lZWRlZCBieSBpbnN0YW50aWF0aW5nIHRoZSBjbGFzcyB3aXRoIG5vIGFyZ3VtZW50cy5cblxuVGhlICp0eXBlKiBvZiB0aGUgZXhjZXB0aW9uIGlzIHRoZSBleGNlcHRpb24gaW5zdGFuY2VcJ3MgY2xhc3MsIHRoZVxuKnZhbHVlKiBpcyB0aGUgaW5zdGFuY2UgaXRzZWxmLlxuXG5BIHRyYWNlYmFjayBvYmplY3QgaXMgbm9ybWFsbHkgY3JlYXRlZCBhdXRvbWF0aWNhbGx5IHdoZW4gYW4gZXhjZXB0aW9uXG5pcyByYWlzZWQgYW5kIGF0dGFjaGVkIHRvIGl0IGFzIHRoZSAiX190cmFjZWJhY2tfXyIgYXR0cmlidXRlLCB3aGljaFxuaXMgd3JpdGFibGUuIFlvdSBjYW4gY3JlYXRlIGFuIGV4Y2VwdGlvbiBhbmQgc2V0IHlvdXIgb3duIHRyYWNlYmFjayBpblxub25lIHN0ZXAgdXNpbmcgdGhlICJ3aXRoX3RyYWNlYmFjaygpIiBleGNlcHRpb24gbWV0aG9kICh3aGljaCByZXR1cm5zXG50aGUgc2FtZSBleGNlcHRpb24gaW5zdGFuY2UsIHdpdGggaXRzIHRyYWNlYmFjayBzZXQgdG8gaXRzIGFyZ3VtZW50KSxcbmxpa2Ugc286XG5cbiAgIHJhaXNlIEV4Y2VwdGlvbigiZm9vIG9jY3VycmVkIikud2l0aF90cmFjZWJhY2sodHJhY2ViYWNrb2JqKVxuXG5UaGUgImZyb20iIGNsYXVzZSBpcyB1c2VkIGZvciBleGNlcHRpb24gY2hhaW5pbmc6IGlmIGdpdmVuLCB0aGUgc2Vjb25kXG4qZXhwcmVzc2lvbiogbXVzdCBiZSBhbm90aGVyIGV4Y2VwdGlvbiBjbGFzcyBvciBpbnN0YW5jZSwgd2hpY2ggd2lsbFxudGhlbiBiZSBhdHRhY2hlZCB0byB0aGUgcmFpc2VkIGV4Y2VwdGlvbiBhcyB0aGUgIl9fY2F1c2VfXyIgYXR0cmlidXRlXG4od2hpY2ggaXMgd3JpdGFibGUpLiAgSWYgdGhlIHJhaXNlZCBleGNlcHRpb24gaXMgbm90IGhhbmRsZWQsIGJvdGhcbmV4Y2VwdGlvbnMgd2lsbCBiZSBwcmludGVkOlxuXG4gICA+Pj4gdHJ5OlxuICAgLi4uICAgICBwcmludCgxIC8gMClcbiAgIC4uLiBleGNlcHQgRXhjZXB0aW9uIGFzIGV4YzpcbiAgIC4uLiAgICAgcmFpc2UgUnVudGltZUVycm9yKCJTb21ldGhpbmcgYmFkIGhhcHBlbmVkIikgZnJvbSBleGNcbiAgIC4uLlxuICAgVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOlxuICAgICBGaWxlICI8c3RkaW4+IiwgbGluZSAyLCBpbiA8bW9kdWxlPlxuICAgWmVyb0RpdmlzaW9uRXJyb3I6IGludCBkaXZpc2lvbiBvciBtb2R1bG8gYnkgemVyb1xuXG4gICBUaGUgYWJvdmUgZXhjZXB0aW9uIHdhcyB0aGUgZGlyZWN0IGNhdXNlIG9mIHRoZSBmb2xsb3dpbmcgZXhjZXB0aW9uOlxuXG4gICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6XG4gICAgIEZpbGUgIjxzdGRpbj4iLCBsaW5lIDQsIGluIDxtb2R1bGU+XG4gICBSdW50aW1lRXJyb3I6IFNvbWV0aGluZyBiYWQgaGFwcGVuZWRcblxuQSBzaW1pbGFyIG1lY2hhbmlzbSB3b3JrcyBpbXBsaWNpdGx5IGlmIGFuIGV4Y2VwdGlvbiBpcyByYWlzZWQgaW5zaWRlXG5hbiBleGNlcHRpb24gaGFuZGxlciBvciBhICJmaW5hbGx5IiBjbGF1c2U6IHRoZSBwcmV2aW91cyBleGNlcHRpb24gaXNcbnRoZW4gYXR0YWNoZWQgYXMgdGhlIG5ldyBleGNlcHRpb25cJ3MgIl9fY29udGV4dF9fIiBhdHRyaWJ1dGU6XG5cbiAgID4+PiB0cnk6XG4gICAuLi4gICAgIHByaW50KDEgLyAwKVxuICAgLi4uIGV4Y2VwdDpcbiAgIC4uLiAgICAgcmFpc2UgUnVudGltZUVycm9yKCJTb21ldGhpbmcgYmFkIGhhcHBlbmVkIilcbiAgIC4uLlxuICAgVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOlxuICAgICBGaWxlICI8c3RkaW4+IiwgbGluZSAyLCBpbiA8bW9kdWxlPlxuICAgWmVyb0RpdmlzaW9uRXJyb3I6IGludCBkaXZpc2lvbiBvciBtb2R1bG8gYnkgemVyb1xuXG4gICBEdXJpbmcgaGFuZGxpbmcgb2YgdGhlIGFib3ZlIGV4Y2VwdGlvbiwgYW5vdGhlciBleGNlcHRpb24gb2NjdXJyZWQ6XG5cbiAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KTpcbiAgICAgRmlsZSAiPHN0ZGluPiIsIGxpbmUgNCwgaW4gPG1vZHVsZT5cbiAgIFJ1bnRpbWVFcnJvcjogU29tZXRoaW5nIGJhZCBoYXBwZW5lZFxuXG5BZGRpdGlvbmFsIGluZm9ybWF0aW9uIG9uIGV4Y2VwdGlvbnMgY2FuIGJlIGZvdW5kIGluIHNlY3Rpb25cbipFeGNlcHRpb25zKiwgYW5kIGluZm9ybWF0aW9uIGFib3V0IGhhbmRsaW5nIGV4Y2VwdGlvbnMgaXMgaW4gc2VjdGlvblxuKlRoZSB0cnkgc3RhdGVtZW50Ki5cbicsCkBAIC02MCw3ICs2MCw3IEBACiAgJ3NoaWZ0aW5nJzogdSdcblNoaWZ0aW5nIG9wZXJhdGlvbnNcbioqKioqKioqKioqKioqKioqKipcblxuVGhlIHNoaWZ0aW5nIG9wZXJhdGlvbnMgaGF2ZSBsb3dlciBwcmlvcml0eSB0aGFuIHRoZSBhcml0aG1ldGljXG5vcGVyYXRpb25zOlxuXG4gICBzaGlmdF9leHByIDo6PSBhX2V4cHIgfCBzaGlmdF9leHByICggIjw8IiB8ICI+PiIgKSBhX2V4cHJcblxuVGhlc2Ugb3BlcmF0b3JzIGFjY2VwdCBpbnRlZ2VycyBhcyBhcmd1bWVudHMuICBUaGV5IHNoaWZ0IHRoZSBmaXJzdFxuYXJndW1lbnQgdG8gdGhlIGxlZnQgb3IgcmlnaHQgYnkgdGhlIG51bWJlciBvZiBiaXRzIGdpdmVuIGJ5IHRoZVxuc2Vjb25kIGFyZ3VtZW50LlxuXG5BIHJpZ2h0IHNoaWZ0IGJ5ICpuKiBiaXRzIGlzIGRlZmluZWQgYXMgZmxvb3IgZGl2aXNpb24gYnkgInBvdygyLG4pIi5cbkEgbGVmdCBzaGlmdCBieSAqbiogYml0cyBpcyBkZWZpbmVkIGFzIG11bHRpcGxpY2F0aW9uIHdpdGggInBvdygyLG4pIi5cblxuTm90ZTogSW4gdGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24sIHRoZSByaWdodC1oYW5kIG9wZXJhbmQgaXNcbiAgcmVxdWlyZWQgdG8gYmUgYXQgbW9zdCAic3lzLm1heHNpemUiLiAgSWYgdGhlIHJpZ2h0LWhhbmQgb3BlcmFuZCBpc1xuICBsYXJnZXIgdGhhbiAic3lzLm1heHNpemUiIGFuICJPdmVyZmxvd0Vycm9yIiBleGNlcHRpb24gaXMgcmFpc2VkLlxuJywKICAnc2xpY2luZ3MnOiB1J1xuU2xpY2luZ3NcbioqKioqKioqXG5cbkEgc2xpY2luZyBzZWxlY3RzIGEgcmFuZ2Ugb2YgaXRlbXMgaW4gYSBzZXF1ZW5jZSBvYmplY3QgKGUuZy4sIGFcbnN0cmluZywgdHVwbGUgb3IgbGlzdCkuICBTbGljaW5ncyBtYXkgYmUgdXNlZCBhcyBleHByZXNzaW9ucyBvciBhc1xudGFyZ2V0cyBpbiBhc3NpZ25tZW50IG9yICJkZWwiIHN0YXRlbWVudHMuICBUaGUgc3ludGF4IGZvciBhIHNsaWNpbmc6XG5cbiAgIHNsaWNpbmcgICAgICA6Oj0gcHJpbWFyeSAiWyIgc2xpY2VfbGlzdCAiXSJcbiAgIHNsaWNlX2xpc3QgICA6Oj0gc2xpY2VfaXRlbSAoIiwiIHNsaWNlX2l0ZW0pKiBbIiwiXVxuICAgc2xpY2VfaXRlbSAgIDo6PSBleHByZXNzaW9uIHwgcHJvcGVyX3NsaWNlXG4gICBwcm9wZXJfc2xpY2UgOjo9IFtsb3dlcl9ib3VuZF0gIjoiIFt1cHBlcl9ib3VuZF0gWyAiOiIgW3N0cmlkZV0gXVxuICAgbG93ZXJfYm91bmQgIDo6PSBleHByZXNzaW9uXG4gICB1cHBlcl9ib3VuZCAgOjo9IGV4cHJlc3Npb25cbiAgIHN0cmlkZSAgICAgICA6Oj0gZXhwcmVzc2lvblxuXG5UaGVyZSBpcyBhbWJpZ3VpdHkgaW4gdGhlIGZvcm1hbCBzeW50YXggaGVyZTogYW55dGhpbmcgdGhhdCBsb29rcyBsaWtlXG5hbiBleHByZXNzaW9uIGxpc3QgYWxzbyBsb29rcyBsaWtlIGEgc2xpY2UgbGlzdCwgc28gYW55IHN1YnNjcmlwdGlvblxuY2FuIGJlIGludGVycHJldGVkIGFzIGEgc2xpY2luZy4gIFJhdGhlciB0aGFuIGZ1cnRoZXIgY29tcGxpY2F0aW5nIHRoZVxuc3ludGF4LCB0aGlzIGlzIGRpc2FtYmlndWF0ZWQgYnkgZGVmaW5pbmcgdGhhdCBpbiB0aGlzIGNhc2UgdGhlXG5pbnRlcnByZXRhdGlvbiBhcyBhIHN1YnNjcmlwdGlvbiB0YWtlcyBwcmlvcml0eSBvdmVyIHRoZVxuaW50ZXJwcmV0YXRpb24gYXMgYSBzbGljaW5nICh0aGlzIGlzIHRoZSBjYXNlIGlmIHRoZSBzbGljZSBsaXN0XG5jb250YWlucyBubyBwcm9wZXIgc2xpY2UpLlxuXG5UaGUgc2VtYW50aWNzIGZvciBhIHNsaWNpbmcgYXJlIGFzIGZvbGxvd3MuICBUaGUgcHJpbWFyeSBpcyBpbmRleGVkXG4odXNpbmcgdGhlIHNhbWUgIl9fZ2V0aXRlbV9fKCkiIG1ldGhvZCBhcyBub3JtYWwgc3Vic2NyaXB0aW9uKSB3aXRoIGFcbmtleSB0aGF0IGlzIGNvbnN0cnVjdGVkIGZyb20gdGhlIHNsaWNlIGxpc3QsIGFzIGZvbGxvd3MuICBJZiB0aGUgc2xpY2Vcbmxpc3QgY29udGFpbnMgYXQgbGVhc3Qgb25lIGNvbW1hLCB0aGUga2V5IGlzIGEgdHVwbGUgY29udGFpbmluZyB0aGVcbmNvbnZlcnNpb24gb2YgdGhlIHNsaWNlIGl0ZW1zOyBvdGhlcndpc2UsIHRoZSBjb252ZXJzaW9uIG9mIHRoZSBsb25lXG5zbGljZSBpdGVtIGlzIHRoZSBrZXkuICBUaGUgY29udmVyc2lvbiBvZiBhIHNsaWNlIGl0ZW0gdGhhdCBpcyBhblxuZXhwcmVzc2lvbiBpcyB0aGF0IGV4cHJlc3Npb24uICBUaGUgY29udmVyc2lvbiBvZiBhIHByb3BlciBzbGljZSBpcyBhXG5zbGljZSBvYmplY3QgKHNlZSBzZWN0aW9uICpUaGUgc3RhbmRhcmQgdHlwZSBoaWVyYXJjaHkqKSB3aG9zZVxuInN0YXJ0IiwgInN0b3AiIGFuZCAic3RlcCIgYXR0cmlidXRlcyBhcmUgdGhlIHZhbHVlcyBvZiB0aGVcbmV4cHJlc3Npb25zIGdpdmVuIGFzIGxvd2VyIGJvdW5kLCB1cHBlciBib3VuZCBhbmQgc3RyaWRlLFxucmVzcGVjdGl2ZWx5LCBzdWJzdGl0dXRpbmcgIk5vbmUiIGZvciBtaXNzaW5nIGV4cHJlc3Npb25zLlxuJywKICAnc3BlY2lhbGF0dHJzJzogdSdcblNwZWNpYWwgQXR0cmlidXRlc1xuKioqKioqKioqKioqKioqKioqXG5cblRoZSBpbXBsZW1lbnRhdGlvbiBhZGRzIGEgZmV3IHNwZWNpYWwgcmVhZC1vbmx5IGF0dHJpYnV0ZXMgdG8gc2V2ZXJhbFxub2JqZWN0IHR5cGVzLCB3aGVyZSB0aGV5IGFyZSByZWxldmFudC4gIFNvbWUgb2YgdGhlc2UgYXJlIG5vdCByZXBvcnRlZFxuYnkgdGhlICJkaXIoKSIgYnVpbHQtaW4gZnVuY3Rpb24uXG5cbm9iamVjdC5fX2RpY3RfX1xuXG4gICBBIGRpY3Rpb25hcnkgb3Igb3RoZXIgbWFwcGluZyBvYmplY3QgdXNlZCB0byBzdG9yZSBhbiBvYmplY3RcJ3NcbiAgICh3cml0YWJsZSkgYXR0cmlidXRlcy5cblxuaW5zdGFuY2UuX19jbGFzc19fXG5cbiAgIFRoZSBjbGFzcyB0byB3aGljaCBhIGNsYXNzIGluc3RhbmNlIGJlbG9uZ3MuXG5cbmNsYXNzLl9fYmFzZXNfX1xuXG4gICBUaGUgdHVwbGUgb2YgYmFzZSBjbGFzc2VzIG9mIGEgY2xhc3Mgb2JqZWN0LlxuXG5jbGFzcy5fX25hbWVfX1xuXG4gICBUaGUgbmFtZSBvZiB0aGUgY2xhc3Mgb3IgdHlwZS5cblxuY2xhc3MuX19xdWFsbmFtZV9fXG5cbiAgIFRoZSAqcXVhbGlmaWVkIG5hbWUqIG9mIHRoZSBjbGFzcyBvciB0eXBlLlxuXG4gICBOZXcgaW4gdmVyc2lvbiAzLjMuXG5cbmNsYXNzLl9fbXJvX19cblxuICAgVGhpcyBhdHRyaWJ1dGUgaXMgYSB0dXBsZSBvZiBjbGFzc2VzIHRoYXQgYXJlIGNvbnNpZGVyZWQgd2hlblxuICAgbG9va2luZyBmb3IgYmFzZSBjbGFzc2VzIGR1cmluZyBtZXRob2QgcmVzb2x1dGlvbi5cblxuY2xhc3MubXJvKClcblxuICAgVGhpcyBtZXRob2QgY2FuIGJlIG92ZXJyaWRkZW4gYnkgYSBtZXRhY2xhc3MgdG8gY3VzdG9taXplIHRoZVxuICAgbWV0aG9kIHJlc29sdXRpb24gb3JkZXIgZm9yIGl0cyBpbnN0YW5jZXMuICBJdCBpcyBjYWxsZWQgYXQgY2xhc3NcbiAgIGluc3RhbnRpYXRpb24sIGFuZCBpdHMgcmVzdWx0IGlzIHN0b3JlZCBpbiAiX19tcm9fXyIuXG5cbmNsYXNzLl9fc3ViY2xhc3Nlc19fKClcblxuICAgRWFjaCBjbGFzcyBrZWVwcyBhIGxpc3Qgb2Ygd2VhayByZWZlcmVuY2VzIHRvIGl0cyBpbW1lZGlhdGVcbiAgIHN1YmNsYXNzZXMuICBUaGlzIG1ldGhvZCByZXR1cm5zIGEgbGlzdCBvZiBhbGwgdGhvc2UgcmVmZXJlbmNlc1xuICAgc3RpbGwgYWxpdmUuIEV4YW1wbGU6XG5cbiAgICAgID4+PiBpbnQuX19zdWJjbGFzc2VzX18oKVxuICAgICAgWzxjbGFzcyBcJ2Jvb2xcJz5dXG5cbi1bIEZvb3Rub3RlcyBdLVxuXG5bMV0gQWRkaXRpb25hbCBpbmZvcm1hdGlvbiBvbiB0aGVzZSBzcGVjaWFsIG1ldGhvZHMgbWF5IGJlIGZvdW5kXG4gICAgaW4gdGhlIFB5dGhvbiBSZWZlcmVuY2UgTWFudWFsICgqQmFzaWMgY3VzdG9taXphdGlvbiopLlxuXG5bMl0gQXMgYSBjb25zZXF1ZW5jZSwgdGhlIGxpc3QgIlsxLCAyXSIgaXMgY29uc2lkZXJlZCBlcXVhbCB0b1xuICAgICJbMS4wLCAyLjBdIiwgYW5kIHNpbWlsYXJseSBmb3IgdHVwbGVzLlxuXG5bM10gVGhleSBtdXN0IGhhdmUgc2luY2UgdGhlIHBhcnNlciBjYW5cJ3QgdGVsbCB0aGUgdHlwZSBvZiB0aGVcbiAgICBvcGVyYW5kcy5cblxuWzRdIENhc2VkIGNoYXJhY3RlcnMgYXJlIHRob3NlIHdpdGggZ2VuZXJhbCBjYXRlZ29yeSBwcm9wZXJ0eVxuICAgIGJlaW5nIG9uZSBvZiAiTHUiIChMZXR0ZXIsIHVwcGVyY2FzZSksICJMbCIgKExldHRlciwgbG93ZXJjYXNlKSxcbiAgICBvciAiTHQiIChMZXR0ZXIsIHRpdGxlY2FzZSkuXG5cbls1XSBUbyBmb3JtYXQgb25seSBhIHR1cGxlIHlvdSBzaG91bGQgdGhlcmVmb3JlIHByb3ZpZGUgYVxuICAgIHNpbmdsZXRvbiB0dXBsZSB3aG9zZSBvbmx5IGVsZW1lbnQgaXMgdGhlIHR1cGxlIHRvIGJlIGZvcm1hdHRlZC5cbicsCi0gJ3NwZWNpYWxuYW1lcyc6IHUnXG5TcGVjaWFsIG1ldGhvZCBuYW1lc1xuKioqKioqKioqKioqKioqKioqKipcblxuQSBjbGFzcyBjYW4gaW1wbGVtZW50IGNlcnRhaW4gb3BlcmF0aW9ucyB0aGF0IGFyZSBpbnZva2VkIGJ5IHNwZWNpYWxcbnN5bnRheCAoc3VjaCBhcyBhcml0aG1ldGljIG9wZXJhdGlvbnMgb3Igc3Vic2NyaXB0aW5nIGFuZCBzbGljaW5nKSBieVxuZGVmaW5pbmcgbWV0aG9kcyB3aXRoIHNwZWNpYWwgbmFtZXMuIFRoaXMgaXMgUHl0aG9uXCdzIGFwcHJvYWNoIHRvXG4qb3BlcmF0b3Igb3ZlcmxvYWRpbmcqLCBhbGxvd2luZyBjbGFzc2VzIHRvIGRlZmluZSB0aGVpciBvd24gYmVoYXZpb3JcbndpdGggcmVzcGVjdCB0byBsYW5ndWFnZSBvcGVyYXRvcnMuICBGb3IgaW5zdGFuY2UsIGlmIGEgY2xhc3MgZGVmaW5lc1xuYSBtZXRob2QgbmFtZWQgIl9fZ2V0aXRlbV9fKCkiLCBhbmQgIngiIGlzIGFuIGluc3RhbmNlIG9mIHRoaXMgY2xhc3MsXG50aGVuICJ4W2ldIiBpcyByb3VnaGx5IGVxdWl2YWxlbnQgdG8gInR5cGUoeCkuX19nZXRpdGVtX18oeCwgaSkiLlxuRXhjZXB0IHdoZXJlIG1lbnRpb25lZCwgYXR0ZW1wdHMgdG8gZXhlY3V0ZSBhbiBvcGVyYXRpb24gcmFpc2UgYW5cbmV4Y2VwdGlvbiB3aGVuIG5vIGFwcHJvcHJpYXRlIG1ldGhvZCBpcyBkZWZpbmVkICh0eXBpY2FsbHlcbiJBdHRyaWJ1dGVFcnJvciIgb3IgIlR5cGVFcnJvciIpLlxuXG5XaGVuIGltcGxlbWVudGluZyBhIGNsYXNzIHRoYXQgZW11bGF0ZXMgYW55IGJ1aWx0LWluIHR5cGUsIGl0IGlzXG5pbXBvcnRhbnQgdGhhdCB0aGUgZW11bGF0aW9uIG9ubHkgYmUgaW1wbGVtZW50ZWQgdG8gdGhlIGRlZ3JlZSB0aGF0IGl0XG5tYWtlcyBzZW5zZSBmb3IgdGhlIG9iamVjdCBiZWluZyBtb2RlbGxlZC4gIEZvciBleGFtcGxlLCBzb21lXG5zZXF1ZW5jZXMgbWF5IHdvcmsgd2VsbCB3aXRoIHJldHJpZXZhbCBvZiBpbmRpdmlkdWFsIGVsZW1lbnRzLCBidXRcbmV4dHJhY3RpbmcgYSBzbGljZSBtYXkgbm90IG1ha2Ugc2Vuc2UuICAoT25lIGV4YW1wbGUgb2YgdGhpcyBpcyB0aGVcbiJOb2RlTGlzdCIgaW50ZXJmYWNlIGluIHRoZSBXM0NcJ3MgRG9jdW1lbnQgT2JqZWN0IE1vZGVsLilcblxuXG5CYXNpYyBjdXN0b21pemF0aW9uXG49PT09PT09PT09PT09PT09PT09XG5cbm9iamVjdC5fX25ld19fKGNsc1ssIC4uLl0pXG5cbiAgIENhbGxlZCB0byBjcmVhdGUgYSBuZXcgaW5zdGFuY2Ugb2YgY2xhc3MgKmNscyouICAiX19uZXdfXygpIiBpcyBhXG4gICBzdGF0aWMgbWV0aG9kIChzcGVjaWFsLWNhc2VkIHNvIHlvdSBuZWVkIG5vdCBkZWNsYXJlIGl0IGFzIHN1Y2gpXG4gICB0aGF0IHRha2VzIHRoZSBjbGFzcyBvZiB3aGljaCBhbiBpbnN0YW5jZSB3YXMgcmVxdWVzdGVkIGFzIGl0c1xuICAgZmlyc3QgYXJndW1lbnQuICBUaGUgcmVtYWluaW5nIGFyZ3VtZW50cyBhcmUgdGhvc2UgcGFzc2VkIHRvIHRoZVxuICAgb2JqZWN0IGNvbnN0cnVjdG9yIGV4cHJlc3Npb24gKHRoZSBjYWxsIHRvIHRoZSBjbGFzcykuICBUaGUgcmV0dXJuXG4gICB2YWx1ZSBvZiAiX19uZXdfXygpIiBzaG91bGQgYmUgdGhlIG5ldyBvYmplY3QgaW5zdGFuY2UgKHVzdWFsbHkgYW5cbiAgIGluc3RhbmNlIG9mICpjbHMqKS5cblxuICAgVHlwaWNhbCBpbXBsZW1lbnRhdGlvbnMgY3JlYXRlIGEgbmV3IGluc3RhbmNlIG9mIHRoZSBjbGFzcyBieVxuICAgaW52b2tpbmcgdGhlIHN1cGVyY2xhc3NcJ3MgIl9fbmV3X18oKSIgbWV0aG9kIHVzaW5nXG4gICAic3VwZXIoY3VycmVudGNsYXNzLCBjbHMpLl9fbmV3X18oY2xzWywgLi4uXSkiIHdpdGggYXBwcm9wcmlhdGVcbiAgIGFyZ3VtZW50cyBhbmQgdGhlbiBtb2RpZnlpbmcgdGhlIG5ld2x5LWNyZWF0ZWQgaW5zdGFuY2UgYXNcbiAgIG5lY2Vzc2FyeSBiZWZvcmUgcmV0dXJuaW5nIGl0LlxuXG4gICBJZiAiX19uZXdfXygpIiByZXR1cm5zIGFuIGluc3RhbmNlIG9mICpjbHMqLCB0aGVuIHRoZSBuZXdcbiAgIGluc3RhbmNlXCdzICJfX2luaXRfXygpIiBtZXRob2Qgd2lsbCBiZSBpbnZva2VkIGxpa2VcbiAgICJfX2luaXRfXyhzZWxmWywgLi4uXSkiLCB3aGVyZSAqc2VsZiogaXMgdGhlIG5ldyBpbnN0YW5jZSBhbmQgdGhlXG4gICByZW1haW5pbmcgYXJndW1lbnRzIGFyZSB0aGUgc2FtZSBhcyB3ZXJlIHBhc3NlZCB0byAiX19uZXdfXygpIi5cblxuICAgSWYgIl9fbmV3X18oKSIgZG9lcyBub3QgcmV0dXJuIGFuIGluc3RhbmNlIG9mICpjbHMqLCB0aGVuIHRoZSBuZXdcbiAgIGluc3RhbmNlXCdzICJfX2luaXRfXygpIiBtZXRob2Qgd2lsbCBub3QgYmUgaW52b2tlZC5cblxuICAgIl9fbmV3X18oKSIgaXMgaW50ZW5kZWQgbWFpbmx5IHRvIGFsbG93IHN1YmNsYXNzZXMgb2YgaW1tdXRhYmxlXG4gICB0eXBlcyAobGlrZSBpbnQsIHN0ciwgb3IgdHVwbGUpIHRvIGN1c3RvbWl6ZSBpbnN0YW5jZSBjcmVhdGlvbi4gIEl0XG4gICBpcyBhbHNvIGNvbW1vbmx5IG92ZXJyaWRkZW4gaW4gY3VzdG9tIG1ldGFjbGFzc2VzIGluIG9yZGVyIHRvXG4gICBjdXN0b21pemUgY2xhc3MgY3JlYXRpb24uXG5cbm9iamVjdC5fX2luaXRfXyhzZWxmWywgLi4uXSlcblxuICAgQ2FsbGVkIGFmdGVyIHRoZSBpbnN0YW5jZSBoYXMgYmVlbiBjcmVhdGVkIChieSAiX19uZXdfXygpIiksIGJ1dFxuICAgYmVmb3JlIGl0IGlzIHJldHVybmVkIHRvIHRoZSBjYWxsZXIuICBUaGUgYXJndW1lbnRzIGFyZSB0aG9zZVxuICAgcGFzc2VkIHRvIHRoZSBjbGFzcyBjb25zdHJ1Y3RvciBleHByZXNzaW9uLiAgSWYgYSBiYXNlIGNsYXNzIGhhcyBhblxuICAgIl9faW5pdF9fKCkiIG1ldGhvZCwgdGhlIGRlcml2ZWQgY2xhc3NcJ3MgIl9faW5pdF9fKCkiIG1ldGhvZCwgaWZcbiAgIGFueSwgbXVzdCBleHBsaWNpdGx5IGNhbGwgaXQgdG8gZW5zdXJlIHByb3BlciBpbml0aWFsaXphdGlvbiBvZiB0aGVcbiAgIGJhc2UgY2xhc3MgcGFydCBvZiB0aGUgaW5zdGFuY2U7IGZvciBleGFtcGxlOlxuICAgIkJhc2VDbGFzcy5fX2luaXRfXyhzZWxmLCBbYXJncy4uLl0pIi5cblxuICAgQmVjYXVzZSAiX19uZXdfXygpIiBhbmQgIl9faW5pdF9fKCkiIHdvcmsgdG9nZXRoZXIgaW4gY29uc3RydWN0aW5nXG4gICBvYmplY3RzICgiX19uZXdfXygpIiB0byBjcmVhdGUgaXQsIGFuZCAiX19pbml0X18oKSIgdG8gY3VzdG9taXNlXG4gICBpdCksIG5vIG5vbi0iTm9uZSIgdmFsdWUgbWF5IGJlIHJldHVybmVkIGJ5ICJfX2luaXRfXygpIjsgZG9pbmcgc29cbiAgIHdpbGwgY2F1c2UgYSAiVHlwZUVycm9yIiB0byBiZSByYWlzZWQgYXQgcnVudGltZS5cblxub2JqZWN0Ll9fZGVsX18oc2VsZilcblxuICAgQ2FsbGVkIHdoZW4gdGhlIGluc3RhbmNlIGlzIGFib3V0IHRvIGJlIGRlc3Ryb3llZC4gIFRoaXMgaXMgYWxzb1xuICAgY2FsbGVkIGEgZGVzdHJ1Y3Rvci4gIElmIGEgYmFzZSBjbGFzcyBoYXMgYSAiX19kZWxfXygpIiBtZXRob2QsIHRoZVxuICAgZGVyaXZlZCBjbGFzc1wncyAiX19kZWxfXygpIiBtZXRob2QsIGlmIGFueSwgbXVzdCBleHBsaWNpdGx5IGNhbGwgaXRcbiAgIHRvIGVuc3VyZSBwcm9wZXIgZGVsZXRpb24gb2YgdGhlIGJhc2UgY2xhc3MgcGFydCBvZiB0aGUgaW5zdGFuY2UuXG4gICBOb3RlIHRoYXQgaXQgaXMgcG9zc2libGUgKHRob3VnaCBub3QgcmVjb21tZW5kZWQhKSBmb3IgdGhlXG4gICAiX19kZWxfXygpIiBtZXRob2QgdG8gcG9zdHBvbmUgZGVzdHJ1Y3Rpb24gb2YgdGhlIGluc3RhbmNlIGJ5XG4gICBjcmVhdGluZyBhIG5ldyByZWZlcmVuY2UgdG8gaXQuICBJdCBtYXkgdGhlbiBiZSBjYWxsZWQgYXQgYSBsYXRlclxuICAgdGltZSB3aGVuIHRoaXMgbmV3IHJlZmVyZW5jZSBpcyBkZWxldGVkLiAgSXQgaXMgbm90IGd1YXJhbnRlZWQgdGhhdFxuICAgIl9fZGVsX18oKSIgbWV0aG9kcyBhcmUgY2FsbGVkIGZvciBvYmplY3RzIHRoYXQgc3RpbGwgZXhpc3Qgd2hlblxuICAgdGhlIGludGVycHJldGVyIGV4aXRzLlxuXG4gICBOb3RlOiAiZGVsIHgiIGRvZXNuXCd0IGRpcmVjdGx5IGNhbGwgInguX19kZWxfXygpIiAtLS0gdGhlIGZvcm1lclxuICAgICBkZWNyZW1lbnRzIHRoZSByZWZlcmVuY2UgY291bnQgZm9yICJ4IiBieSBvbmUsIGFuZCB0aGUgbGF0dGVyIGlzXG4gICAgIG9ubHkgY2FsbGVkIHdoZW4gIngiXCdzIHJlZmVyZW5jZSBjb3VudCByZWFjaGVzIHplcm8uICBTb21lIGNvbW1vblxuICAgICBzaXR1YXRpb25zIHRoYXQgbWF5IHByZXZlbnQgdGhlIHJlZmVyZW5jZSBjb3VudCBvZiBhbiBvYmplY3QgZnJvbVxuICAgICBnb2luZyB0byB6ZXJvIGluY2x1ZGU6IGNpcmN1bGFyIHJlZmVyZW5jZXMgYmV0d2VlbiBvYmplY3RzIChlLmcuLFxuICAgICBhIGRvdWJseS1saW5rZWQgbGlzdCBvciBhIHRyZWUgZGF0YSBzdHJ1Y3R1cmUgd2l0aCBwYXJlbnQgYW5kXG4gICAgIGNoaWxkIHBvaW50ZXJzKTsgYSByZWZlcmVuY2UgdG8gdGhlIG9iamVjdCBvbiB0aGUgc3RhY2sgZnJhbWUgb2ZcbiAgICAgYSBmdW5jdGlvbiB0aGF0IGNhdWdodCBhbiBleGNlcHRpb24gKHRoZSB0cmFjZWJhY2sgc3RvcmVkIGluXG4gICAgICJzeXMuZXhjX2luZm8oKVsyXSIga2VlcHMgdGhlIHN0YWNrIGZyYW1lIGFsaXZlKTsgb3IgYSByZWZlcmVuY2VcbiAgICAgdG8gdGhlIG9iamVjdCBvbiB0aGUgc3RhY2sgZnJhbWUgdGhhdCByYWlzZWQgYW4gdW5oYW5kbGVkXG4gICAgIGV4Y2VwdGlvbiBpbiBpbnRlcmFjdGl2ZSBtb2RlICh0aGUgdHJhY2ViYWNrIHN0b3JlZCBpblxuICAgICAic3lzLmxhc3RfdHJhY2ViYWNrIiBrZWVwcyB0aGUgc3RhY2sgZnJhbWUgYWxpdmUpLiAgVGhlIGZpcnN0XG4gICAgIHNpdHVhdGlvbiBjYW4gb25seSBiZSByZW1lZGllZCBieSBleHBsaWNpdGx5IGJyZWFraW5nIHRoZSBjeWNsZXM7XG4gICAgIHRoZSBzZWNvbmQgY2FuIGJlIHJlc29sdmVkIGJ5IGZyZWVpbmcgdGhlIHJlZmVyZW5jZSB0byB0aGVcbiAgICAgdHJhY2ViYWNrIG9iamVjdCB3aGVuIGl0IGlzIG5vIGxvbmdlciB1c2VmdWwsIGFuZCB0aGUgdGhpcmQgY2FuXG4gICAgIGJlIHJlc29sdmVkIGJ5IHN0b3JpbmcgIk5vbmUiIGluICJzeXMubGFzdF90cmFjZWJhY2siLiBDaXJjdWxhclxuICAgICByZWZlcmVuY2VzIHdoaWNoIGFyZSBnYXJiYWdlIGFyZSBkZXRlY3RlZCBhbmQgY2xlYW5lZCB1cCB3aGVuIHRoZVxuICAgICBjeWNsaWMgZ2FyYmFnZSBjb2xsZWN0b3IgaXMgZW5hYmxlZCAoaXRcJ3Mgb24gYnkgZGVmYXVsdCkuIFJlZmVyXG4gICAgIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgImdjIiBtb2R1bGUgZm9yIG1vcmUgaW5mb3JtYXRpb25cbiAgICAgYWJvdXQgdGhpcyB0b3BpYy5cblxuICAgV2FybmluZzogRHVlIHRvIHRoZSBwcmVjYXJpb3VzIGNpcmN1bXN0YW5jZXMgdW5kZXIgd2hpY2hcbiAgICAgIl9fZGVsX18oKSIgbWV0aG9kcyBhcmUgaW52b2tlZCwgZXhjZXB0aW9ucyB0aGF0IG9jY3VyIGR1cmluZ1xuICAgICB0aGVpciBleGVjdXRpb24gYXJlIGlnbm9yZWQsIGFuZCBhIHdhcm5pbmcgaXMgcHJpbnRlZCB0b1xuICAgICAic3lzLnN0ZGVyciIgaW5zdGVhZC4gQWxzbywgd2hlbiAiX19kZWxfXygpIiBpcyBpbnZva2VkIGluXG4gICAgIHJlc3BvbnNlIHRvIGEgbW9kdWxlIGJlaW5nIGRlbGV0ZWQgKGUuZy4sIHdoZW4gZXhlY3V0aW9uIG9mIHRoZVxuICAgICBwcm9ncmFtIGlzIGRvbmUpLCBvdGhlciBnbG9iYWxzIHJlZmVyZW5jZWQgYnkgdGhlICJfX2RlbF9fKCkiXG4gICAgIG1ldGhvZCBtYXkgYWxyZWFkeSBoYXZlIGJlZW4gZGVsZXRlZCBvciBpbiB0aGUgcHJvY2VzcyBvZiBiZWluZ1xuICAgICB0b3JuIGRvd24gKGUuZy4gdGhlIGltcG9ydCBtYWNoaW5lcnkgc2h1dHRpbmcgZG93bikuICBGb3IgdGhpc1xuICAgICByZWFzb24sICJfX2RlbF9fKCkiIG1ldGhvZHMgc2hvdWxkIGRvIHRoZSBhYnNvbHV0ZSBtaW5pbXVtIG5lZWRlZFxuICAgICB0byBtYWludGFpbiBleHRlcm5hbCBpbnZhcmlhbnRzLiAgU3RhcnRpbmcgd2l0aCB2ZXJzaW9uIDEuNSxcbiAgICAgUHl0aG9uIGd1YXJhbnRlZXMgdGhhdCBnbG9iYWxzIHdob3NlIG5hbWUgYmVnaW5zIHdpdGggYSBzaW5nbGVcbiAgICAgdW5kZXJzY29yZSBhcmUgZGVsZXRlZCBmcm9tIHRoZWlyIG1vZHVsZSBiZWZvcmUgb3RoZXIgZ2xvYmFscyBhcmVcbiAgICAgZGVsZXRlZDsgaWYgbm8gb3RoZXIgcmVmZXJlbmNlcyB0byBzdWNoIGdsb2JhbHMgZXhpc3QsIHRoaXMgbWF5XG4gICAgIGhlbHAgaW4gYXNzdXJpbmcgdGhhdCBpbXBvcnRlZCBtb2R1bGVzIGFyZSBzdGlsbCBhdmFpbGFibGUgYXQgdGhlXG4gICAgIHRpbWUgd2hlbiB0aGUgIl9fZGVsX18oKSIgbWV0aG9kIGlzIGNhbGxlZC5cblxub2JqZWN0Ll9fcmVwcl9fKHNlbGYpXG5cbiAgIENhbGxlZCBieSB0aGUgInJlcHIoKSIgYnVpbHQtaW4gZnVuY3Rpb24gdG8gY29tcHV0ZSB0aGUgIm9mZmljaWFsIlxuICAgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIGFuIG9iamVjdC4gIElmIGF0IGFsbCBwb3NzaWJsZSwgdGhpc1xuICAgc2hvdWxkIGxvb2sgbGlrZSBhIHZhbGlkIFB5dGhvbiBleHByZXNzaW9uIHRoYXQgY291bGQgYmUgdXNlZCB0b1xuICAgcmVjcmVhdGUgYW4gb2JqZWN0IHdpdGggdGhlIHNhbWUgdmFsdWUgKGdpdmVuIGFuIGFwcHJvcHJpYXRlXG4gICBlbnZpcm9ubWVudCkuICBJZiB0aGlzIGlzIG5vdCBwb3NzaWJsZSwgYSBzdHJpbmcgb2YgdGhlIGZvcm1cbiAgICI8Li4uc29tZSB1c2VmdWwgZGVzY3JpcHRpb24uLi4+IiBzaG91bGQgYmUgcmV0dXJuZWQuIFRoZSByZXR1cm5cbiAgIHZhbHVlIG11c3QgYmUgYSBzdHJpbmcgb2JqZWN0LiBJZiBhIGNsYXNzIGRlZmluZXMgIl9fcmVwcl9fKCkiIGJ1dFxuICAgbm90ICJfX3N0cl9fKCkiLCB0aGVuICJfX3JlcHJfXygpIiBpcyBhbHNvIHVzZWQgd2hlbiBhbiAiaW5mb3JtYWwiXG4gICBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgaW5zdGFuY2VzIG9mIHRoYXQgY2xhc3MgaXMgcmVxdWlyZWQuXG5cbiAgIFRoaXMgaXMgdHlwaWNhbGx5IHVzZWQgZm9yIGRlYnVnZ2luZywgc28gaXQgaXMgaW1wb3J0YW50IHRoYXQgdGhlXG4gICByZXByZXNlbnRhdGlvbiBpcyBpbmZvcm1hdGlvbi1yaWNoIGFuZCB1bmFtYmlndW91cy5cblxub2JqZWN0Ll9fc3RyX18oc2VsZilcblxuICAgQ2FsbGVkIGJ5ICJzdHIob2JqZWN0KSIgYW5kIHRoZSBidWlsdC1pbiBmdW5jdGlvbnMgImZvcm1hdCgpIiBhbmRcbiAgICJwcmludCgpIiB0byBjb21wdXRlIHRoZSAiaW5mb3JtYWwiIG9yIG5pY2VseSBwcmludGFibGUgc3RyaW5nXG4gICByZXByZXNlbnRhdGlvbiBvZiBhbiBvYmplY3QuICBUaGUgcmV0dXJuIHZhbHVlIG11c3QgYmUgYSAqc3RyaW5nKlxuICAgb2JqZWN0LlxuXG4gICBUaGlzIG1ldGhvZCBkaWZmZXJzIGZyb20gIm9iamVjdC5fX3JlcHJfXygpIiBpbiB0aGF0IHRoZXJlIGlzIG5vXG4gICBleHBlY3RhdGlvbiB0aGF0ICJfX3N0cl9fKCkiIHJldHVybiBhIHZhbGlkIFB5dGhvbiBleHByZXNzaW9uOiBhXG4gICBtb3JlIGNvbnZlbmllbnQgb3IgY29uY2lzZSByZXByZXNlbnRhdGlvbiBjYW4gYmUgdXNlZC5cblxuICAgVGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gZGVmaW5lZCBieSB0aGUgYnVpbHQtaW4gdHlwZSAib2JqZWN0IlxuICAgY2FsbHMgIm9iamVjdC5fX3JlcHJfXygpIi5cblxub2JqZWN0Ll9fYnl0ZXNfXyhzZWxmKVxuXG4gICBDYWxsZWQgYnkgImJ5dGVzKCkiIHRvIGNvbXB1dGUgYSBieXRlLXN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhblxuICAgb2JqZWN0LiBUaGlzIHNob3VsZCByZXR1cm4gYSAiYnl0ZXMiIG9iamVjdC5cblxub2JqZWN0Ll9fZm9ybWF0X18oc2VsZiwgZm9ybWF0X3NwZWMpXG5cbiAgIENhbGxlZCBieSB0aGUgImZvcm1hdCgpIiBidWlsdC1pbiBmdW5jdGlvbiAoYW5kIGJ5IGV4dGVuc2lvbiwgdGhlXG4gICAic3RyLmZvcm1hdCgpIiBtZXRob2Qgb2YgY2xhc3MgInN0ciIpIHRvIHByb2R1Y2UgYSAiZm9ybWF0dGVkIlxuICAgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIGFuIG9iamVjdC4gVGhlICJmb3JtYXRfc3BlYyIgYXJndW1lbnQgaXMgYVxuICAgc3RyaW5nIHRoYXQgY29udGFpbnMgYSBkZXNjcmlwdGlvbiBvZiB0aGUgZm9ybWF0dGluZyBvcHRpb25zXG4gICBkZXNpcmVkLiBUaGUgaW50ZXJwcmV0YXRpb24gb2YgdGhlICJmb3JtYXRfc3BlYyIgYXJndW1lbnQgaXMgdXAgdG9cbiAgIHRoZSB0eXBlIGltcGxlbWVudGluZyAiX19mb3JtYXRfXygpIiwgaG93ZXZlciBtb3N0IGNsYXNzZXMgd2lsbFxuICAgZWl0aGVyIGRlbGVnYXRlIGZvcm1hdHRpbmcgdG8gb25lIG9mIHRoZSBidWlsdC1pbiB0eXBlcywgb3IgdXNlIGFcbiAgIHNpbWlsYXIgZm9ybWF0dGluZyBvcHRpb24gc3ludGF4LlxuXG4gICBTZWUgKkZvcm1hdCBTcGVjaWZpY2F0aW9uIE1pbmktTGFuZ3VhZ2UqIGZvciBhIGRlc2NyaXB0aW9uIG9mIHRoZVxuICAgc3RhbmRhcmQgZm9ybWF0dGluZyBzeW50YXguXG5cbiAgIFRoZSByZXR1cm4gdmFsdWUgbXVzdCBiZSBhIHN0cmluZyBvYmplY3QuXG5cbiAgIENoYW5nZWQgaW4gdmVyc2lvbiAzLjQ6IFRoZSBfX2Zvcm1hdF9fIG1ldGhvZCBvZiAib2JqZWN0IiBpdHNlbGZcbiAgIHJhaXNlcyBhICJUeXBlRXJyb3IiIGlmIHBhc3NlZCBhbnkgbm9uLWVtcHR5IHN0cmluZy5cblxub2JqZWN0Ll9fbHRfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX2xlX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19lcV9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fbmVfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX2d0X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19nZV9fKHNlbGYsIG90aGVyKVxuXG4gICBUaGVzZSBhcmUgdGhlIHNvLWNhbGxlZCAicmljaCBjb21wYXJpc29uIiBtZXRob2RzLiBUaGVcbiAgIGNvcnJlc3BvbmRlbmNlIGJldHdlZW4gb3BlcmF0b3Igc3ltYm9scyBhbmQgbWV0aG9kIG5hbWVzIGlzIGFzXG4gICBmb2xsb3dzOiAieDx5IiBjYWxscyAieC5fX2x0X18oeSkiLCAieDw9eSIgY2FsbHMgInguX19sZV9fKHkpIixcbiAgICJ4PT15IiBjYWxscyAieC5fX2VxX18oeSkiLCAieCE9eSIgY2FsbHMgInguX19uZV9fKHkpIiwgIng+eSIgY2FsbHNcbiAgICJ4Ll9fZ3RfXyh5KSIsIGFuZCAieD49eSIgY2FsbHMgInguX19nZV9fKHkpIi5cblxuICAgQSByaWNoIGNvbXBhcmlzb24gbWV0aG9kIG1heSByZXR1cm4gdGhlIHNpbmdsZXRvbiAiTm90SW1wbGVtZW50ZWQiXG4gICBpZiBpdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIG9wZXJhdGlvbiBmb3IgYSBnaXZlbiBwYWlyIG9mXG4gICBhcmd1bWVudHMuIEJ5IGNvbnZlbnRpb24sICJGYWxzZSIgYW5kICJUcnVlIiBhcmUgcmV0dXJuZWQgZm9yIGFcbiAgIHN1Y2Nlc3NmdWwgY29tcGFyaXNvbi4gSG93ZXZlciwgdGhlc2UgbWV0aG9kcyBjYW4gcmV0dXJuIGFueSB2YWx1ZSxcbiAgIHNvIGlmIHRoZSBjb21wYXJpc29uIG9wZXJhdG9yIGlzIHVzZWQgaW4gYSBCb29sZWFuIGNvbnRleHQgKGUuZy4sXG4gICBpbiB0aGUgY29uZGl0aW9uIG9mIGFuICJpZiIgc3RhdGVtZW50KSwgUHl0aG9uIHdpbGwgY2FsbCAiYm9vbCgpIlxuICAgb24gdGhlIHZhbHVlIHRvIGRldGVybWluZSBpZiB0aGUgcmVzdWx0IGlzIHRydWUgb3IgZmFsc2UuXG5cbiAgIFRoZXJlIGFyZSBubyBpbXBsaWVkIHJlbGF0aW9uc2hpcHMgYW1vbmcgdGhlIGNvbXBhcmlzb24gb3BlcmF0b3JzLlxuICAgVGhlIHRydXRoIG9mICJ4PT15IiBkb2VzIG5vdCBpbXBseSB0aGF0ICJ4IT15IiBpcyBmYWxzZS5cbiAgIEFjY29yZGluZ2x5LCB3aGVuIGRlZmluaW5nICJfX2VxX18oKSIsIG9uZSBzaG91bGQgYWxzbyBkZWZpbmVcbiAgICJfX25lX18oKSIgc28gdGhhdCB0aGUgb3BlcmF0b3JzIHdpbGwgYmVoYXZlIGFzIGV4cGVjdGVkLiAgU2VlIHRoZVxuICAgcGFyYWdyYXBoIG9uICJfX2hhc2hfXygpIiBmb3Igc29tZSBpbXBvcnRhbnQgbm90ZXMgb24gY3JlYXRpbmdcbiAgICpoYXNoYWJsZSogb2JqZWN0cyB3aGljaCBzdXBwb3J0IGN1c3RvbSBjb21wYXJpc29uIG9wZXJhdGlvbnMgYW5kXG4gICBhcmUgdXNhYmxlIGFzIGRpY3Rpb25hcnkga2V5cy5cblxuICAgVGhlcmUgYXJlIG5vIHN3YXBwZWQtYXJndW1lbnQgdmVyc2lvbnMgb2YgdGhlc2UgbWV0aG9kcyAodG8gYmUgdXNlZFxuICAgd2hlbiB0aGUgbGVmdCBhcmd1bWVudCBkb2VzIG5vdCBzdXBwb3J0IHRoZSBvcGVyYXRpb24gYnV0IHRoZSByaWdodFxuICAgYXJndW1lbnQgZG9lcyk7IHJhdGhlciwgIl9fbHRfXygpIiBhbmQgIl9fZ3RfXygpIiBhcmUgZWFjaCBvdGhlclwnc1xuICAgcmVmbGVjdGlvbiwgIl9fbGVfXygpIiBhbmQgIl9fZ2VfXygpIiBhcmUgZWFjaCBvdGhlclwncyByZWZsZWN0aW9uLFxuICAgYW5kICJfX2VxX18oKSIgYW5kICJfX25lX18oKSIgYXJlIHRoZWlyIG93biByZWZsZWN0aW9uLlxuXG4gICBBcmd1bWVudHMgdG8gcmljaCBjb21wYXJpc29uIG1ldGhvZHMgYXJlIG5ldmVyIGNvZXJjZWQuXG5cbiAgIFRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgb3JkZXJpbmcgb3BlcmF0aW9ucyBmcm9tIGEgc2luZ2xlIHJvb3RcbiAgIG9wZXJhdGlvbiwgc2VlICJmdW5jdG9vbHMudG90YWxfb3JkZXJpbmcoKSIuXG5cbm9iamVjdC5fX2hhc2hfXyhzZWxmKVxuXG4gICBDYWxsZWQgYnkgYnVpbHQtaW4gZnVuY3Rpb24gImhhc2goKSIgYW5kIGZvciBvcGVyYXRpb25zIG9uIG1lbWJlcnNcbiAgIG9mIGhhc2hlZCBjb2xsZWN0aW9ucyBpbmNsdWRpbmcgInNldCIsICJmcm96ZW5zZXQiLCBhbmQgImRpY3QiLlxuICAgIl9faGFzaF9fKCkiIHNob3VsZCByZXR1cm4gYW4gaW50ZWdlci4gIFRoZSBvbmx5IHJlcXVpcmVkIHByb3BlcnR5XG4gICBpcyB0aGF0IG9iamVjdHMgd2hpY2ggY29tcGFyZSBlcXVhbCBoYXZlIHRoZSBzYW1lIGhhc2ggdmFsdWU7IGl0IGlzXG4gICBhZHZpc2VkIHRvIHNvbWVob3cgbWl4IHRvZ2V0aGVyIChlLmcuIHVzaW5nIGV4Y2x1c2l2ZSBvcikgdGhlIGhhc2hcbiAgIHZhbHVlcyBmb3IgdGhlIGNvbXBvbmVudHMgb2YgdGhlIG9iamVjdCB0aGF0IGFsc28gcGxheSBhIHBhcnQgaW5cbiAgIGNvbXBhcmlzb24gb2Ygb2JqZWN0cy5cblxuICAgTm90ZTogImhhc2goKSIgdHJ1bmNhdGVzIHRoZSB2YWx1ZSByZXR1cm5lZCBmcm9tIGFuIG9iamVjdFwnc1xuICAgICBjdXN0b20gIl9faGFzaF9fKCkiIG1ldGhvZCB0byB0aGUgc2l6ZSBvZiBhICJQeV9zc2l6ZV90Ii4gIFRoaXNcbiAgICAgaXMgdHlwaWNhbGx5IDggYnl0ZXMgb24gNjQtYml0IGJ1aWxkcyBhbmQgNCBieXRlcyBvbiAzMi1iaXRcbiAgICAgYnVpbGRzLiBJZiBhbiBvYmplY3RcJ3MgICAiX19oYXNoX18oKSIgbXVzdCBpbnRlcm9wZXJhdGUgb24gYnVpbGRzXG4gICAgIG9mIGRpZmZlcmVudCBiaXQgc2l6ZXMsIGJlIHN1cmUgdG8gY2hlY2sgdGhlIHdpZHRoIG9uIGFsbFxuICAgICBzdXBwb3J0ZWQgYnVpbGRzLiAgQW4gZWFzeSB3YXkgdG8gZG8gdGhpcyBpcyB3aXRoICJweXRob24gLWNcbiAgICAgImltcG9ydCBzeXM7IHByaW50KHN5cy5oYXNoX2luZm8ud2lkdGgpIiJcblxuICAgSWYgYSBjbGFzcyBkb2VzIG5vdCBkZWZpbmUgYW4gIl9fZXFfXygpIiBtZXRob2QgaXQgc2hvdWxkIG5vdFxuICAgZGVmaW5lIGEgIl9faGFzaF9fKCkiIG9wZXJhdGlvbiBlaXRoZXI7IGlmIGl0IGRlZmluZXMgIl9fZXFfXygpIlxuICAgYnV0IG5vdCAiX19oYXNoX18oKSIsIGl0cyBpbnN0YW5jZXMgd2lsbCBub3QgYmUgdXNhYmxlIGFzIGl0ZW1zIGluXG4gICBoYXNoYWJsZSBjb2xsZWN0aW9ucy4gIElmIGEgY2xhc3MgZGVmaW5lcyBtdXRhYmxlIG9iamVjdHMgYW5kXG4gICBpbXBsZW1lbnRzIGFuICJfX2VxX18oKSIgbWV0aG9kLCBpdCBzaG91bGQgbm90IGltcGxlbWVudFxuICAgIl9faGFzaF9fKCkiLCBzaW5jZSB0aGUgaW1wbGVtZW50YXRpb24gb2YgaGFzaGFibGUgY29sbGVjdGlvbnNcbiAgIHJlcXVpcmVzIHRoYXQgYSBrZXlcJ3MgaGFzaCB2YWx1ZSBpcyBpbW11dGFibGUgKGlmIHRoZSBvYmplY3RcJ3MgaGFzaFxuICAgdmFsdWUgY2hhbmdlcywgaXQgd2lsbCBiZSBpbiB0aGUgd3JvbmcgaGFzaCBidWNrZXQpLlxuXG4gICBVc2VyLWRlZmluZWQgY2xhc3NlcyBoYXZlICJfX2VxX18oKSIgYW5kICJfX2hhc2hfXygpIiBtZXRob2RzIGJ5XG4gICBkZWZhdWx0OyB3aXRoIHRoZW0sIGFsbCBvYmplY3RzIGNvbXBhcmUgdW5lcXVhbCAoZXhjZXB0IHdpdGhcbiAgIHRoZW1zZWx2ZXMpIGFuZCAieC5fX2hhc2hfXygpIiByZXR1cm5zIGFuIGFwcHJvcHJpYXRlIHZhbHVlIHN1Y2hcbiAgIHRoYXQgInggPT0geSIgaW1wbGllcyBib3RoIHRoYXQgInggaXMgeSIgYW5kICJoYXNoKHgpID09IGhhc2goeSkiLlxuXG4gICBBIGNsYXNzIHRoYXQgb3ZlcnJpZGVzICJfX2VxX18oKSIgYW5kIGRvZXMgbm90IGRlZmluZSAiX19oYXNoX18oKSJcbiAgIHdpbGwgaGF2ZSBpdHMgIl9faGFzaF9fKCkiIGltcGxpY2l0bHkgc2V0IHRvICJOb25lIi4gIFdoZW4gdGhlXG4gICAiX19oYXNoX18oKSIgbWV0aG9kIG9mIGEgY2xhc3MgaXMgIk5vbmUiLCBpbnN0YW5jZXMgb2YgdGhlIGNsYXNzXG4gICB3aWxsIHJhaXNlIGFuIGFwcHJvcHJpYXRlICJUeXBlRXJyb3IiIHdoZW4gYSBwcm9ncmFtIGF0dGVtcHRzIHRvXG4gICByZXRyaWV2ZSB0aGVpciBoYXNoIHZhbHVlLCBhbmQgd2lsbCBhbHNvIGJlIGNvcnJlY3RseSBpZGVudGlmaWVkIGFzXG4gICB1bmhhc2hhYmxlIHdoZW4gY2hlY2tpbmcgImlzaW5zdGFuY2Uob2JqLCBjb2xsZWN0aW9ucy5IYXNoYWJsZSIpLlxuXG4gICBJZiBhIGNsYXNzIHRoYXQgb3ZlcnJpZGVzICJfX2VxX18oKSIgbmVlZHMgdG8gcmV0YWluIHRoZVxuICAgaW1wbGVtZW50YXRpb24gb2YgIl9faGFzaF9fKCkiIGZyb20gYSBwYXJlbnQgY2xhc3MsIHRoZSBpbnRlcnByZXRlclxuICAgbXVzdCBiZSB0b2xkIHRoaXMgZXhwbGljaXRseSBieSBzZXR0aW5nICJfX2hhc2hfXyA9XG4gICA8UGFyZW50Q2xhc3M+Ll9faGFzaF9fIi5cblxuICAgSWYgYSBjbGFzcyB0aGF0IGRvZXMgbm90IG92ZXJyaWRlICJfX2VxX18oKSIgd2lzaGVzIHRvIHN1cHByZXNzXG4gICBoYXNoIHN1cHBvcnQsIGl0IHNob3VsZCBpbmNsdWRlICJfX2hhc2hfXyA9IE5vbmUiIGluIHRoZSBjbGFzc1xuICAgZGVmaW5pdGlvbi4gQSBjbGFzcyB3aGljaCBkZWZpbmVzIGl0cyBvd24gIl9faGFzaF9fKCkiIHRoYXRcbiAgIGV4cGxpY2l0bHkgcmFpc2VzIGEgIlR5cGVFcnJvciIgd291bGQgYmUgaW5jb3JyZWN0bHkgaWRlbnRpZmllZCBhc1xuICAgaGFzaGFibGUgYnkgYW4gImlzaW5zdGFuY2Uob2JqLCBjb2xsZWN0aW9ucy5IYXNoYWJsZSkiIGNhbGwuXG5cbiAgIE5vdGU6IEJ5IGRlZmF1bHQsIHRoZSAiX19oYXNoX18oKSIgdmFsdWVzIG9mIHN0ciwgYnl0ZXMgYW5kXG4gICAgIGRhdGV0aW1lIG9iamVjdHMgYXJlICJzYWx0ZWQiIHdpdGggYW4gdW5wcmVkaWN0YWJsZSByYW5kb20gdmFsdWUuXG4gICAgIEFsdGhvdWdoIHRoZXkgcmVtYWluIGNvbnN0YW50IHdpdGhpbiBhbiBpbmRpdmlkdWFsIFB5dGhvblxuICAgICBwcm9jZXNzLCB0aGV5IGFyZSBub3QgcHJlZGljdGFibGUgYmV0d2VlbiByZXBlYXRlZCBpbnZvY2F0aW9ucyBvZlxuICAgICBQeXRob24uVGhpcyBpcyBpbnRlbmRlZCB0byBwcm92aWRlIHByb3RlY3Rpb24gYWdhaW5zdCBhIGRlbmlhbC1cbiAgICAgb2Ytc2VydmljZSBjYXVzZWQgYnkgY2FyZWZ1bGx5LWNob3NlbiBpbnB1dHMgdGhhdCBleHBsb2l0IHRoZVxuICAgICB3b3JzdCBjYXNlIHBlcmZvcm1hbmNlIG9mIGEgZGljdCBpbnNlcnRpb24sIE8obl4yKSBjb21wbGV4aXR5LlxuICAgICBTZWUgaHR0cDovL3d3dy5vY2VydC5vcmcvYWR2aXNvcmllcy9vY2VydC0yMDExLTAwMy5odG1sIGZvclxuICAgICBkZXRhaWxzLkNoYW5naW5nIGhhc2ggdmFsdWVzIGFmZmVjdHMgdGhlIGl0ZXJhdGlvbiBvcmRlciBvZlxuICAgICBkaWN0cywgc2V0cyBhbmQgb3RoZXIgbWFwcGluZ3MuICBQeXRob24gaGFzIG5ldmVyIG1hZGUgZ3VhcmFudGVlc1xuICAgICBhYm91dCB0aGlzIG9yZGVyaW5nIChhbmQgaXQgdHlwaWNhbGx5IHZhcmllcyBiZXR3ZWVuIDMyLWJpdCBhbmRcbiAgICAgNjQtYml0IGJ1aWxkcykuU2VlIGFsc28gIlBZVEhPTkhBU0hTRUVEIi5cblxuICAgQ2hhbmdlZCBpbiB2ZXJzaW9uIDMuMzogSGFzaCByYW5kb21pemF0aW9uIGlzIGVuYWJsZWQgYnkgZGVmYXVsdC5cblxub2JqZWN0Ll9fYm9vbF9fKHNlbGYpXG5cbiAgIENhbGxlZCB0byBpbXBsZW1lbnQgdHJ1dGggdmFsdWUgdGVzdGluZyBhbmQgdGhlIGJ1aWx0LWluIG9wZXJhdGlvblxuICAgImJvb2woKSI7IHNob3VsZCByZXR1cm4gIkZhbHNlIiBvciAiVHJ1ZSIuICBXaGVuIHRoaXMgbWV0aG9kIGlzIG5vdFxuICAgZGVmaW5lZCwgIl9fbGVuX18oKSIgaXMgY2FsbGVkLCBpZiBpdCBpcyBkZWZpbmVkLCBhbmQgdGhlIG9iamVjdCBpc1xuICAgY29uc2lkZXJlZCB0cnVlIGlmIGl0cyByZXN1bHQgaXMgbm9uemVyby4gIElmIGEgY2xhc3MgZGVmaW5lc1xuICAgbmVpdGhlciAiX19sZW5fXygpIiBub3IgIl9fYm9vbF9fKCkiLCBhbGwgaXRzIGluc3RhbmNlcyBhcmVcbiAgIGNvbnNpZGVyZWQgdHJ1ZS5cblxuXG5DdXN0b21pemluZyBhdHRyaWJ1dGUgYWNjZXNzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblRoZSBmb2xsb3dpbmcgbWV0aG9kcyBjYW4gYmUgZGVmaW5lZCB0byBjdXN0b21pemUgdGhlIG1lYW5pbmcgb2ZcbmF0dHJpYnV0ZSBhY2Nlc3MgKHVzZSBvZiwgYXNzaWdubWVudCB0bywgb3IgZGVsZXRpb24gb2YgIngubmFtZSIpIGZvclxuY2xhc3MgaW5zdGFuY2VzLlxuXG5vYmplY3QuX19nZXRhdHRyX18oc2VsZiwgbmFtZSlcblxuICAgQ2FsbGVkIHdoZW4gYW4gYXR0cmlidXRlIGxvb2t1cCBoYXMgbm90IGZvdW5kIHRoZSBhdHRyaWJ1dGUgaW4gdGhlXG4gICB1c3VhbCBwbGFjZXMgKGkuZS4gaXQgaXMgbm90IGFuIGluc3RhbmNlIGF0dHJpYnV0ZSBub3IgaXMgaXQgZm91bmRcbiAgIGluIHRoZSBjbGFzcyB0cmVlIGZvciAic2VsZiIpLiAgIm5hbWUiIGlzIHRoZSBhdHRyaWJ1dGUgbmFtZS4gVGhpc1xuICAgbWV0aG9kIHNob3VsZCByZXR1cm4gdGhlIChjb21wdXRlZCkgYXR0cmlidXRlIHZhbHVlIG9yIHJhaXNlIGFuXG4gICAiQXR0cmlidXRlRXJyb3IiIGV4Y2VwdGlvbi5cblxuICAgTm90ZSB0aGF0IGlmIHRoZSBhdHRyaWJ1dGUgaXMgZm91bmQgdGhyb3VnaCB0aGUgbm9ybWFsIG1lY2hhbmlzbSxcbiAgICJfX2dldGF0dHJfXygpIiBpcyBub3QgY2FsbGVkLiAgKFRoaXMgaXMgYW4gaW50ZW50aW9uYWwgYXN5bW1ldHJ5XG4gICBiZXR3ZWVuICJfX2dldGF0dHJfXygpIiBhbmQgIl9fc2V0YXR0cl9fKCkiLikgVGhpcyBpcyBkb25lIGJvdGggZm9yXG4gICBlZmZpY2llbmN5IHJlYXNvbnMgYW5kIGJlY2F1c2Ugb3RoZXJ3aXNlICJfX2dldGF0dHJfXygpIiB3b3VsZCBoYXZlXG4gICBubyB3YXkgdG8gYWNjZXNzIG90aGVyIGF0dHJpYnV0ZXMgb2YgdGhlIGluc3RhbmNlLiAgTm90ZSB0aGF0IGF0XG4gICBsZWFzdCBmb3IgaW5zdGFuY2UgdmFyaWFibGVzLCB5b3UgY2FuIGZha2UgdG90YWwgY29udHJvbCBieSBub3RcbiAgIGluc2VydGluZyBhbnkgdmFsdWVzIGluIHRoZSBpbnN0YW5jZSBhdHRyaWJ1dGUgZGljdGlvbmFyeSAoYnV0XG4gICBpbnN0ZWFkIGluc2VydGluZyB0aGVtIGluIGFub3RoZXIgb2JqZWN0KS4gIFNlZSB0aGVcbiAgICJfX2dldGF0dHJpYnV0ZV9fKCkiIG1ldGhvZCBiZWxvdyBmb3IgYSB3YXkgdG8gYWN0dWFsbHkgZ2V0IHRvdGFsXG4gICBjb250cm9sIG92ZXIgYXR0cmlidXRlIGFjY2Vzcy5cblxub2JqZWN0Ll9fZ2V0YXR0cmlidXRlX18oc2VsZiwgbmFtZSlcblxuICAgQ2FsbGVkIHVuY29uZGl0aW9uYWxseSB0byBpbXBsZW1lbnQgYXR0cmlidXRlIGFjY2Vzc2VzIGZvclxuICAgaW5zdGFuY2VzIG9mIHRoZSBjbGFzcy4gSWYgdGhlIGNsYXNzIGFsc28gZGVmaW5lcyAiX19nZXRhdHRyX18oKSIsXG4gICB0aGUgbGF0dGVyIHdpbGwgbm90IGJlIGNhbGxlZCB1bmxlc3MgIl9fZ2V0YXR0cmlidXRlX18oKSIgZWl0aGVyXG4gICBjYWxscyBpdCBleHBsaWNpdGx5IG9yIHJhaXNlcyBhbiAiQXR0cmlidXRlRXJyb3IiLiBUaGlzIG1ldGhvZFxuICAgc2hvdWxkIHJldHVybiB0aGUgKGNvbXB1dGVkKSBhdHRyaWJ1dGUgdmFsdWUgb3IgcmFpc2UgYW5cbiAgICJBdHRyaWJ1dGVFcnJvciIgZXhjZXB0aW9uLiBJbiBvcmRlciB0byBhdm9pZCBpbmZpbml0ZSByZWN1cnNpb24gaW5cbiAgIHRoaXMgbWV0aG9kLCBpdHMgaW1wbGVtZW50YXRpb24gc2hvdWxkIGFsd2F5cyBjYWxsIHRoZSBiYXNlIGNsYXNzXG4gICBtZXRob2Qgd2l0aCB0aGUgc2FtZSBuYW1lIHRvIGFjY2VzcyBhbnkgYXR0cmlidXRlcyBpdCBuZWVkcywgZm9yXG4gICBleGFtcGxlLCAib2JqZWN0Ll9fZ2V0YXR0cmlidXRlX18oc2VsZiwgbmFtZSkiLlxuXG4gICBOb3RlOiBUaGlzIG1ldGhvZCBtYXkgc3RpbGwgYmUgYnlwYXNzZWQgd2hlbiBsb29raW5nIHVwIHNwZWNpYWxcbiAgICAgbWV0aG9kcyBhcyB0aGUgcmVzdWx0IG9mIGltcGxpY2l0IGludm9jYXRpb24gdmlhIGxhbmd1YWdlIHN5bnRheFxuICAgICBvciBidWlsdC1pbiBmdW5jdGlvbnMuIFNlZSAqU3BlY2lhbCBtZXRob2QgbG9va3VwKi5cblxub2JqZWN0Ll9fc2V0YXR0cl9fKHNlbGYsIG5hbWUsIHZhbHVlKVxuXG4gICBDYWxsZWQgd2hlbiBhbiBhdHRyaWJ1dGUgYXNzaWdubWVudCBpcyBhdHRlbXB0ZWQuICBUaGlzIGlzIGNhbGxlZFxuICAgaW5zdGVhZCBvZiB0aGUgbm9ybWFsIG1lY2hhbmlzbSAoaS5lLiBzdG9yZSB0aGUgdmFsdWUgaW4gdGhlXG4gICBpbnN0YW5jZSBkaWN0aW9uYXJ5KS4gKm5hbWUqIGlzIHRoZSBhdHRyaWJ1dGUgbmFtZSwgKnZhbHVlKiBpcyB0aGVcbiAgIHZhbHVlIHRvIGJlIGFzc2lnbmVkIHRvIGl0LlxuXG4gICBJZiAiX19zZXRhdHRyX18oKSIgd2FudHMgdG8gYXNzaWduIHRvIGFuIGluc3RhbmNlIGF0dHJpYnV0ZSwgaXRcbiAgIHNob3VsZCBjYWxsIHRoZSBiYXNlIGNsYXNzIG1ldGhvZCB3aXRoIHRoZSBzYW1lIG5hbWUsIGZvciBleGFtcGxlLFxuICAgIm9iamVjdC5fX3NldGF0dHJfXyhzZWxmLCBuYW1lLCB2YWx1ZSkiLlxuXG5vYmplY3QuX19kZWxhdHRyX18oc2VsZiwgbmFtZSlcblxuICAgTGlrZSAiX19zZXRhdHRyX18oKSIgYnV0IGZvciBhdHRyaWJ1dGUgZGVsZXRpb24gaW5zdGVhZCBvZlxuICAgYXNzaWdubWVudC4gIFRoaXMgc2hvdWxkIG9ubHkgYmUgaW1wbGVtZW50ZWQgaWYgImRlbCBvYmoubmFtZSIgaXNcbiAgIG1lYW5pbmdmdWwgZm9yIHRoZSBvYmplY3QuXG5cbm9iamVjdC5fX2Rpcl9fKHNlbGYpXG5cbiAgIENhbGxlZCB3aGVuICJkaXIoKSIgaXMgY2FsbGVkIG9uIHRoZSBvYmplY3QuIEEgc2VxdWVuY2UgbXVzdCBiZVxuICAgcmV0dXJuZWQuICJkaXIoKSIgY29udmVydHMgdGhlIHJldHVybmVkIHNlcXVlbmNlIHRvIGEgbGlzdCBhbmRcbiAgIHNvcnRzIGl0LlxuXG5cbkltcGxlbWVudGluZyBEZXNjcmlwdG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblRoZSBmb2xsb3dpbmcgbWV0aG9kcyBvbmx5IGFwcGx5IHdoZW4gYW4gaW5zdGFuY2Ugb2YgdGhlIGNsYXNzXG5jb250YWluaW5nIHRoZSBtZXRob2QgKGEgc28tY2FsbGVkICpkZXNjcmlwdG9yKiBjbGFzcykgYXBwZWFycyBpbiBhblxuKm93bmVyKiBjbGFzcyAodGhlIGRlc2NyaXB0b3IgbXVzdCBiZSBpbiBlaXRoZXIgdGhlIG93bmVyXCdzIGNsYXNzXG5kaWN0aW9uYXJ5IG9yIGluIHRoZSBjbGFzcyBkaWN0aW9uYXJ5IGZvciBvbmUgb2YgaXRzIHBhcmVudHMpLiAgSW4gdGhlXG5leGFtcGxlcyBiZWxvdywgInRoZSBhdHRyaWJ1dGUiIHJlZmVycyB0byB0aGUgYXR0cmlidXRlIHdob3NlIG5hbWUgaXNcbnRoZSBrZXkgb2YgdGhlIHByb3BlcnR5IGluIHRoZSBvd25lciBjbGFzc1wnICJfX2RpY3RfXyIuXG5cbm9iamVjdC5fX2dldF9fKHNlbGYsIGluc3RhbmNlLCBvd25lcilcblxuICAgQ2FsbGVkIHRvIGdldCB0aGUgYXR0cmlidXRlIG9mIHRoZSBvd25lciBjbGFzcyAoY2xhc3MgYXR0cmlidXRlXG4gICBhY2Nlc3MpIG9yIG9mIGFuIGluc3RhbmNlIG9mIHRoYXQgY2xhc3MgKGluc3RhbmNlIGF0dHJpYnV0ZVxuICAgYWNjZXNzKS4gKm93bmVyKiBpcyBhbHdheXMgdGhlIG93bmVyIGNsYXNzLCB3aGlsZSAqaW5zdGFuY2UqIGlzIHRoZVxuICAgaW5zdGFuY2UgdGhhdCB0aGUgYXR0cmlidXRlIHdhcyBhY2Nlc3NlZCB0aHJvdWdoLCBvciAiTm9uZSIgd2hlblxuICAgdGhlIGF0dHJpYnV0ZSBpcyBhY2Nlc3NlZCB0aHJvdWdoIHRoZSAqb3duZXIqLiAgVGhpcyBtZXRob2Qgc2hvdWxkXG4gICByZXR1cm4gdGhlIChjb21wdXRlZCkgYXR0cmlidXRlIHZhbHVlIG9yIHJhaXNlIGFuICJBdHRyaWJ1dGVFcnJvciJcbiAgIGV4Y2VwdGlvbi5cblxub2JqZWN0Ll9fc2V0X18oc2VsZiwgaW5zdGFuY2UsIHZhbHVlKVxuXG4gICBDYWxsZWQgdG8gc2V0IHRoZSBhdHRyaWJ1dGUgb24gYW4gaW5zdGFuY2UgKmluc3RhbmNlKiBvZiB0aGUgb3duZXJcbiAgIGNsYXNzIHRvIGEgbmV3IHZhbHVlLCAqdmFsdWUqLlxuXG5vYmplY3QuX19kZWxldGVfXyhzZWxmLCBpbnN0YW5jZSlcblxuICAgQ2FsbGVkIHRvIGRlbGV0ZSB0aGUgYXR0cmlidXRlIG9uIGFuIGluc3RhbmNlICppbnN0YW5jZSogb2YgdGhlXG4gICBvd25lciBjbGFzcy5cblxuVGhlIGF0dHJpYnV0ZSAiX19vYmpjbGFzc19fIiBpcyBpbnRlcnByZXRlZCBieSB0aGUgImluc3BlY3QiIG1vZHVsZSBhc1xuc3BlY2lmeWluZyB0aGUgY2xhc3Mgd2hlcmUgdGhpcyBvYmplY3Qgd2FzIGRlZmluZWQgKHNldHRpbmcgdGhpc1xuYXBwcm9wcmlhdGVseSBjYW4gYXNzaXN0IGluIHJ1bnRpbWUgaW50cm9zcGVjdGlvbiBvZiBkeW5hbWljIGNsYXNzXG5hdHRyaWJ1dGVzKS4gRm9yIGNhbGxhYmxlcywgaXQgbWF5IGluZGljYXRlIHRoYXQgYW4gaW5zdGFuY2Ugb2YgdGhlXG5naXZlbiB0eXBlIChvciBhIHN1YmNsYXNzKSBpcyBleHBlY3RlZCBvciByZXF1aXJlZCBhcyB0aGUgZmlyc3RcbnBvc2l0aW9uYWwgYXJndW1lbnQgKGZvciBleGFtcGxlLCBDUHl0aG9uIHNldHMgdGhpcyBhdHRyaWJ1dGUgZm9yXG51bmJvdW5kIG1ldGhvZHMgdGhhdCBhcmUgaW1wbGVtZW50ZWQgaW4gQykuXG5cblxuSW52b2tpbmcgRGVzY3JpcHRvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkluIGdlbmVyYWwsIGEgZGVzY3JpcHRvciBpcyBhbiBvYmplY3QgYXR0cmlidXRlIHdpdGggImJpbmRpbmdcbmJlaGF2aW9yIiwgb25lIHdob3NlIGF0dHJpYnV0ZSBhY2Nlc3MgaGFzIGJlZW4gb3ZlcnJpZGRlbiBieSBtZXRob2RzXG5pbiB0aGUgZGVzY3JpcHRvciBwcm90b2NvbDogICJfX2dldF9fKCkiLCAiX19zZXRfXygpIiwgYW5kXG4iX19kZWxldGVfXygpIi4gSWYgYW55IG9mIHRob3NlIG1ldGhvZHMgYXJlIGRlZmluZWQgZm9yIGFuIG9iamVjdCwgaXRcbmlzIHNhaWQgdG8gYmUgYSBkZXNjcmlwdG9yLlxuXG5UaGUgZGVmYXVsdCBiZWhhdmlvciBmb3IgYXR0cmlidXRlIGFjY2VzcyBpcyB0byBnZXQsIHNldCwgb3IgZGVsZXRlXG50aGUgYXR0cmlidXRlIGZyb20gYW4gb2JqZWN0XCdzIGRpY3Rpb25hcnkuIEZvciBpbnN0YW5jZSwgImEueCIgaGFzIGFcbmxvb2t1cCBjaGFpbiBzdGFydGluZyB3aXRoICJhLl9fZGljdF9fW1wneFwnXSIsIHRoZW5cbiJ0eXBlKGEpLl9fZGljdF9fW1wneFwnXSIsIGFuZCBjb250aW51aW5nIHRocm91Z2ggdGhlIGJhc2UgY2xhc3NlcyBvZlxuInR5cGUoYSkiIGV4Y2x1ZGluZyBtZXRhY2xhc3Nlcy5cblxuSG93ZXZlciwgaWYgdGhlIGxvb2tlZC11cCB2YWx1ZSBpcyBhbiBvYmplY3QgZGVmaW5pbmcgb25lIG9mIHRoZVxuZGVzY3JpcHRvciBtZXRob2RzLCB0aGVuIFB5dGhvbiBtYXkgb3ZlcnJpZGUgdGhlIGRlZmF1bHQgYmVoYXZpb3IgYW5kXG5pbnZva2UgdGhlIGRlc2NyaXB0b3IgbWV0aG9kIGluc3RlYWQuICBXaGVyZSB0aGlzIG9jY3VycyBpbiB0aGVcbnByZWNlZGVuY2UgY2hhaW4gZGVwZW5kcyBvbiB3aGljaCBkZXNjcmlwdG9yIG1ldGhvZHMgd2VyZSBkZWZpbmVkIGFuZFxuaG93IHRoZXkgd2VyZSBjYWxsZWQuXG5cblRoZSBzdGFydGluZyBwb2ludCBmb3IgZGVzY3JpcHRvciBpbnZvY2F0aW9uIGlzIGEgYmluZGluZywgImEueCIuIEhvd1xudGhlIGFyZ3VtZW50cyBhcmUgYXNzZW1ibGVkIGRlcGVuZHMgb24gImEiOlxuXG5EaXJlY3QgQ2FsbFxuICAgVGhlIHNpbXBsZXN0IGFuZCBsZWFzdCBjb21tb24gY2FsbCBpcyB3aGVuIHVzZXIgY29kZSBkaXJlY3RseVxuICAgaW52b2tlcyBhIGRlc2NyaXB0b3IgbWV0aG9kOiAgICAieC5fX2dldF9fKGEpIi5cblxuSW5zdGFuY2UgQmluZGluZ1xuICAgSWYgYmluZGluZyB0byBhbiBvYmplY3QgaW5zdGFuY2UsICJhLngiIGlzIHRyYW5zZm9ybWVkIGludG8gdGhlXG4gICBjYWxsOiAidHlwZShhKS5fX2RpY3RfX1tcJ3hcJ10uX19nZXRfXyhhLCB0eXBlKGEpKSIuXG5cbkNsYXNzIEJpbmRpbmdcbiAgIElmIGJpbmRpbmcgdG8gYSBjbGFzcywgIkEueCIgaXMgdHJhbnNmb3JtZWQgaW50byB0aGUgY2FsbDpcbiAgICJBLl9fZGljdF9fW1wneFwnXS5fX2dldF9fKE5vbmUsIEEpIi5cblxuU3VwZXIgQmluZGluZ1xuICAgSWYgImEiIGlzIGFuIGluc3RhbmNlIG9mICJzdXBlciIsIHRoZW4gdGhlIGJpbmRpbmcgInN1cGVyKEIsXG4gICBvYmopLm0oKSIgc2VhcmNoZXMgIm9iai5fX2NsYXNzX18uX19tcm9fXyIgZm9yIHRoZSBiYXNlIGNsYXNzICJBIlxuICAgaW1tZWRpYXRlbHkgcHJlY2VkaW5nICJCIiBhbmQgdGhlbiBpbnZva2VzIHRoZSBkZXNjcmlwdG9yIHdpdGggdGhlXG4gICBjYWxsOiAiQS5fX2RpY3RfX1tcJ21cJ10uX19nZXRfXyhvYmosIG9iai5fX2NsYXNzX18pIi5cblxuRm9yIGluc3RhbmNlIGJpbmRpbmdzLCB0aGUgcHJlY2VkZW5jZSBvZiBkZXNjcmlwdG9yIGludm9jYXRpb24gZGVwZW5kc1xub24gdGhlIHdoaWNoIGRlc2NyaXB0b3IgbWV0aG9kcyBhcmUgZGVmaW5lZC4gIEEgZGVzY3JpcHRvciBjYW4gZGVmaW5lXG5hbnkgY29tYmluYXRpb24gb2YgIl9fZ2V0X18oKSIsICJfX3NldF9fKCkiIGFuZCAiX19kZWxldGVfXygpIi4gIElmIGl0XG5kb2VzIG5vdCBkZWZpbmUgIl9fZ2V0X18oKSIsIHRoZW4gYWNjZXNzaW5nIHRoZSBhdHRyaWJ1dGUgd2lsbCByZXR1cm5cbnRoZSBkZXNjcmlwdG9yIG9iamVjdCBpdHNlbGYgdW5sZXNzIHRoZXJlIGlzIGEgdmFsdWUgaW4gdGhlIG9iamVjdFwnc1xuaW5zdGFuY2UgZGljdGlvbmFyeS4gIElmIHRoZSBkZXNjcmlwdG9yIGRlZmluZXMgIl9fc2V0X18oKSIgYW5kL29yXG4iX19kZWxldGVfXygpIiwgaXQgaXMgYSBkYXRhIGRlc2NyaXB0b3I7IGlmIGl0IGRlZmluZXMgbmVpdGhlciwgaXQgaXNcbmEgbm9uLWRhdGEgZGVzY3JpcHRvci4gIE5vcm1hbGx5LCBkYXRhIGRlc2NyaXB0b3JzIGRlZmluZSBib3RoXG4iX19nZXRfXygpIiBhbmQgIl9fc2V0X18oKSIsIHdoaWxlIG5vbi1kYXRhIGRlc2NyaXB0b3JzIGhhdmUganVzdCB0aGVcbiJfX2dldF9fKCkiIG1ldGhvZC4gIERhdGEgZGVzY3JpcHRvcnMgd2l0aCAiX19zZXRfXygpIiBhbmQgIl9fZ2V0X18oKSJcbmRlZmluZWQgYWx3YXlzIG92ZXJyaWRlIGEgcmVkZWZpbml0aW9uIGluIGFuIGluc3RhbmNlIGRpY3Rpb25hcnkuICBJblxuY29udHJhc3QsIG5vbi1kYXRhIGRlc2NyaXB0b3JzIGNhbiBiZSBvdmVycmlkZGVuIGJ5IGluc3RhbmNlcy5cblxuUHl0aG9uIG1ldGhvZHMgKGluY2x1ZGluZyAic3RhdGljbWV0aG9kKCkiIGFuZCAiY2xhc3NtZXRob2QoKSIpIGFyZVxuaW1wbGVtZW50ZWQgYXMgbm9uLWRhdGEgZGVzY3JpcHRvcnMuICBBY2NvcmRpbmdseSwgaW5zdGFuY2VzIGNhblxucmVkZWZpbmUgYW5kIG92ZXJyaWRlIG1ldGhvZHMuICBUaGlzIGFsbG93cyBpbmRpdmlkdWFsIGluc3RhbmNlcyB0b1xuYWNxdWlyZSBiZWhhdmlvcnMgdGhhdCBkaWZmZXIgZnJvbSBvdGhlciBpbnN0YW5jZXMgb2YgdGhlIHNhbWUgY2xhc3MuXG5cblRoZSAicHJvcGVydHkoKSIgZnVuY3Rpb24gaXMgaW1wbGVtZW50ZWQgYXMgYSBkYXRhIGRlc2NyaXB0b3IuXG5BY2NvcmRpbmdseSwgaW5zdGFuY2VzIGNhbm5vdCBvdmVycmlkZSB0aGUgYmVoYXZpb3Igb2YgYSBwcm9wZXJ0eS5cblxuXG5fX3Nsb3RzX19cbi0tLS0tLS0tLVxuXG5CeSBkZWZhdWx0LCBpbnN0YW5jZXMgb2YgY2xhc3NlcyBoYXZlIGEgZGljdGlvbmFyeSBmb3IgYXR0cmlidXRlXG5zdG9yYWdlLiAgVGhpcyB3YXN0ZXMgc3BhY2UgZm9yIG9iamVjdHMgaGF2aW5nIHZlcnkgZmV3IGluc3RhbmNlXG52YXJpYWJsZXMuICBUaGUgc3BhY2UgY29uc3VtcHRpb24gY2FuIGJlY29tZSBhY3V0ZSB3aGVuIGNyZWF0aW5nIGxhcmdlXG5udW1iZXJzIG9mIGluc3RhbmNlcy5cblxuVGhlIGRlZmF1bHQgY2FuIGJlIG92ZXJyaWRkZW4gYnkgZGVmaW5pbmcgKl9fc2xvdHNfXyogaW4gYSBjbGFzc1xuZGVmaW5pdGlvbi4gVGhlICpfX3Nsb3RzX18qIGRlY2xhcmF0aW9uIHRha2VzIGEgc2VxdWVuY2Ugb2YgaW5zdGFuY2VcbnZhcmlhYmxlcyBhbmQgcmVzZXJ2ZXMganVzdCBlbm91Z2ggc3BhY2UgaW4gZWFjaCBpbnN0YW5jZSB0byBob2xkIGFcbnZhbHVlIGZvciBlYWNoIHZhcmlhYmxlLiAgU3BhY2UgaXMgc2F2ZWQgYmVjYXVzZSAqX19kaWN0X18qIGlzIG5vdFxuY3JlYXRlZCBmb3IgZWFjaCBpbnN0YW5jZS5cblxub2JqZWN0Ll9fc2xvdHNfX1xuXG4gICBUaGlzIGNsYXNzIHZhcmlhYmxlIGNhbiBiZSBhc3NpZ25lZCBhIHN0cmluZywgaXRlcmFibGUsIG9yIHNlcXVlbmNlXG4gICBvZiBzdHJpbmdzIHdpdGggdmFyaWFibGUgbmFtZXMgdXNlZCBieSBpbnN0YW5jZXMuICAqX19zbG90c19fKlxuICAgcmVzZXJ2ZXMgc3BhY2UgZm9yIHRoZSBkZWNsYXJlZCB2YXJpYWJsZXMgYW5kIHByZXZlbnRzIHRoZVxuICAgYXV0b21hdGljIGNyZWF0aW9uIG9mICpfX2RpY3RfXyogYW5kICpfX3dlYWtyZWZfXyogZm9yIGVhY2hcbiAgIGluc3RhbmNlLlxuXG5cbk5vdGVzIG9uIHVzaW5nICpfX3Nsb3RzX18qXG5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+flxuXG4qIFdoZW4gaW5oZXJpdGluZyBmcm9tIGEgY2xhc3Mgd2l0aG91dCAqX19zbG90c19fKiwgdGhlICpfX2RpY3RfXypcbiAgYXR0cmlidXRlIG9mIHRoYXQgY2xhc3Mgd2lsbCBhbHdheXMgYmUgYWNjZXNzaWJsZSwgc28gYSAqX19zbG90c19fKlxuICBkZWZpbml0aW9uIGluIHRoZSBzdWJjbGFzcyBpcyBtZWFuaW5nbGVzcy5cblxuKiBXaXRob3V0IGEgKl9fZGljdF9fKiB2YXJpYWJsZSwgaW5zdGFuY2VzIGNhbm5vdCBiZSBhc3NpZ25lZCBuZXdcbiAgdmFyaWFibGVzIG5vdCBsaXN0ZWQgaW4gdGhlICpfX3Nsb3RzX18qIGRlZmluaXRpb24uICBBdHRlbXB0cyB0b1xuICBhc3NpZ24gdG8gYW4gdW5saXN0ZWQgdmFyaWFibGUgbmFtZSByYWlzZXMgIkF0dHJpYnV0ZUVycm9yIi4gSWZcbiAgZHluYW1pYyBhc3NpZ25tZW50IG9mIG5ldyB2YXJpYWJsZXMgaXMgZGVzaXJlZCwgdGhlbiBhZGRcbiAgIlwnX19kaWN0X19cJyIgdG8gdGhlIHNlcXVlbmNlIG9mIHN0cmluZ3MgaW4gdGhlICpfX3Nsb3RzX18qXG4gIGRlY2xhcmF0aW9uLlxuXG4qIFdpdGhvdXQgYSAqX193ZWFrcmVmX18qIHZhcmlhYmxlIGZvciBlYWNoIGluc3RhbmNlLCBjbGFzc2VzXG4gIGRlZmluaW5nICpfX3Nsb3RzX18qIGRvIG5vdCBzdXBwb3J0IHdlYWsgcmVmZXJlbmNlcyB0byBpdHNcbiAgaW5zdGFuY2VzLiBJZiB3ZWFrIHJlZmVyZW5jZSBzdXBwb3J0IGlzIG5lZWRlZCwgdGhlbiBhZGRcbiAgIlwnX193ZWFrcmVmX19cJyIgdG8gdGhlIHNlcXVlbmNlIG9mIHN0cmluZ3MgaW4gdGhlICpfX3Nsb3RzX18qXG4gIGRlY2xhcmF0aW9uLlxuXG4qICpfX3Nsb3RzX18qIGFyZSBpbXBsZW1lbnRlZCBhdCB0aGUgY2xhc3MgbGV2ZWwgYnkgY3JlYXRpbmdcbiAgZGVzY3JpcHRvcnMgKCpJbXBsZW1lbnRpbmcgRGVzY3JpcHRvcnMqKSBmb3IgZWFjaCB2YXJpYWJsZSBuYW1lLiAgQXNcbiAgYSByZXN1bHQsIGNsYXNzIGF0dHJpYnV0ZXMgY2Fubm90IGJlIHVzZWQgdG8gc2V0IGRlZmF1bHQgdmFsdWVzIGZvclxuICBpbnN0YW5jZSB2YXJpYWJsZXMgZGVmaW5lZCBieSAqX19zbG90c19fKjsgb3RoZXJ3aXNlLCB0aGUgY2xhc3NcbiAgYXR0cmlidXRlIHdvdWxkIG92ZXJ3cml0ZSB0aGUgZGVzY3JpcHRvciBhc3NpZ25tZW50LlxuXG4qIFRoZSBhY3Rpb24gb2YgYSAqX19zbG90c19fKiBkZWNsYXJhdGlvbiBpcyBsaW1pdGVkIHRvIHRoZSBjbGFzc1xuICB3aGVyZSBpdCBpcyBkZWZpbmVkLiAgQXMgYSByZXN1bHQsIHN1YmNsYXNzZXMgd2lsbCBoYXZlIGEgKl9fZGljdF9fKlxuICB1bmxlc3MgdGhleSBhbHNvIGRlZmluZSAqX19zbG90c19fKiAod2hpY2ggbXVzdCBvbmx5IGNvbnRhaW4gbmFtZXNcbiAgb2YgYW55ICphZGRpdGlvbmFsKiBzbG90cykuXG5cbiogSWYgYSBjbGFzcyBkZWZpbmVzIGEgc2xvdCBhbHNvIGRlZmluZWQgaW4gYSBiYXNlIGNsYXNzLCB0aGVcbiAgaW5zdGFuY2UgdmFyaWFibGUgZGVmaW5lZCBieSB0aGUgYmFzZSBjbGFzcyBzbG90IGlzIGluYWNjZXNzaWJsZVxuICAoZXhjZXB0IGJ5IHJldHJpZXZpbmcgaXRzIGRlc2NyaXB0b3IgZGlyZWN0bHkgZnJvbSB0aGUgYmFzZSBjbGFzcykuXG4gIFRoaXMgcmVuZGVycyB0aGUgbWVhbmluZyBvZiB0aGUgcHJvZ3JhbSB1bmRlZmluZWQuICBJbiB0aGUgZnV0dXJlLCBhXG4gIGNoZWNrIG1heSBiZSBhZGRlZCB0byBwcmV2ZW50IHRoaXMuXG5cbiogTm9uZW1wdHkgKl9fc2xvdHNfXyogZG9lcyBub3Qgd29yayBmb3IgY2xhc3NlcyBkZXJpdmVkIGZyb21cbiAgInZhcmlhYmxlLWxlbmd0aCIgYnVpbHQtaW4gdHlwZXMgc3VjaCBhcyAiaW50IiwgImJ5dGVzIiBhbmQgInR1cGxlIi5cblxuKiBBbnkgbm9uLXN0cmluZyBpdGVyYWJsZSBtYXkgYmUgYXNzaWduZWQgdG8gKl9fc2xvdHNfXyouIE1hcHBpbmdzXG4gIG1heSBhbHNvIGJlIHVzZWQ7IGhvd2V2ZXIsIGluIHRoZSBmdXR1cmUsIHNwZWNpYWwgbWVhbmluZyBtYXkgYmVcbiAgYXNzaWduZWQgdG8gdGhlIHZhbHVlcyBjb3JyZXNwb25kaW5nIHRvIGVhY2gga2V5LlxuXG4qICpfX2NsYXNzX18qIGFzc2lnbm1lbnQgd29ya3Mgb25seSBpZiBib3RoIGNsYXNzZXMgaGF2ZSB0aGUgc2FtZVxuICAqX19zbG90c19fKi5cblxuXG5DdXN0b21pemluZyBjbGFzcyBjcmVhdGlvblxuPT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQnkgZGVmYXVsdCwgY2xhc3NlcyBhcmUgY29uc3RydWN0ZWQgdXNpbmcgInR5cGUoKSIuIFRoZSBjbGFzcyBib2R5IGlzXG5leGVjdXRlZCBpbiBhIG5ldyBuYW1lc3BhY2UgYW5kIHRoZSBjbGFzcyBuYW1lIGlzIGJvdW5kIGxvY2FsbHkgdG8gdGhlXG5yZXN1bHQgb2YgInR5cGUobmFtZSwgYmFzZXMsIG5hbWVzcGFjZSkiLlxuXG5UaGUgY2xhc3MgY3JlYXRpb24gcHJvY2VzcyBjYW4gYmUgY3VzdG9taXNlZCBieSBwYXNzaW5nIHRoZVxuIm1ldGFjbGFzcyIga2V5d29yZCBhcmd1bWVudCBpbiB0aGUgY2xhc3MgZGVmaW5pdGlvbiBsaW5lLCBvciBieVxuaW5oZXJpdGluZyBmcm9tIGFuIGV4aXN0aW5nIGNsYXNzIHRoYXQgaW5jbHVkZWQgc3VjaCBhbiBhcmd1bWVudC4gSW5cbnRoZSBmb2xsb3dpbmcgZXhhbXBsZSwgYm90aCAiTXlDbGFzcyIgYW5kICJNeVN1YmNsYXNzIiBhcmUgaW5zdGFuY2VzXG5vZiAiTWV0YSI6XG5cbiAgIGNsYXNzIE1ldGEodHlwZSk6XG4gICAgICAgcGFzc1xuXG4gICBjbGFzcyBNeUNsYXNzKG1ldGFjbGFzcz1NZXRhKTpcbiAgICAgICBwYXNzXG5cbiAgIGNsYXNzIE15U3ViY2xhc3MoTXlDbGFzcyk6XG4gICAgICAgcGFzc1xuXG5Bbnkgb3RoZXIga2V5d29yZCBhcmd1bWVudHMgdGhhdCBhcmUgc3BlY2lmaWVkIGluIHRoZSBjbGFzcyBkZWZpbml0aW9uXG5hcmUgcGFzc2VkIHRocm91Z2ggdG8gYWxsIG1ldGFjbGFzcyBvcGVyYXRpb25zIGRlc2NyaWJlZCBiZWxvdy5cblxuV2hlbiBhIGNsYXNzIGRlZmluaXRpb24gaXMgZXhlY3V0ZWQsIHRoZSBmb2xsb3dpbmcgc3RlcHMgb2NjdXI6XG5cbiogdGhlIGFwcHJvcHJpYXRlIG1ldGFjbGFzcyBpcyBkZXRlcm1pbmVkXG5cbiogdGhlIGNsYXNzIG5hbWVzcGFjZSBpcyBwcmVwYXJlZFxuXG4qIHRoZSBjbGFzcyBib2R5IGlzIGV4ZWN1dGVkXG5cbiogdGhlIGNsYXNzIG9iamVjdCBpcyBjcmVhdGVkXG5cblxuRGV0ZXJtaW5pbmcgdGhlIGFwcHJvcHJpYXRlIG1ldGFjbGFzc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5UaGUgYXBwcm9wcmlhdGUgbWV0YWNsYXNzIGZvciBhIGNsYXNzIGRlZmluaXRpb24gaXMgZGV0ZXJtaW5lZCBhc1xuZm9sbG93czpcblxuKiBpZiBubyBiYXNlcyBhbmQgbm8gZXhwbGljaXQgbWV0YWNsYXNzIGFyZSBnaXZlbiwgdGhlbiAidHlwZSgpIiBpc1xuICB1c2VkXG5cbiogaWYgYW4gZXhwbGljaXQgbWV0YWNsYXNzIGlzIGdpdmVuIGFuZCBpdCBpcyAqbm90KiBhbiBpbnN0YW5jZSBvZlxuICAidHlwZSgpIiwgdGhlbiBpdCBpcyB1c2VkIGRpcmVjdGx5IGFzIHRoZSBtZXRhY2xhc3NcblxuKiBpZiBhbiBpbnN0YW5jZSBvZiAidHlwZSgpIiBpcyBnaXZlbiBhcyB0aGUgZXhwbGljaXQgbWV0YWNsYXNzLCBvclxuICBiYXNlcyBhcmUgZGVmaW5lZCwgdGhlbiB0aGUgbW9zdCBkZXJpdmVkIG1ldGFjbGFzcyBpcyB1c2VkXG5cblRoZSBtb3N0IGRlcml2ZWQgbWV0YWNsYXNzIGlzIHNlbGVjdGVkIGZyb20gdGhlIGV4cGxpY2l0bHkgc3BlY2lmaWVkXG5tZXRhY2xhc3MgKGlmIGFueSkgYW5kIHRoZSBtZXRhY2xhc3NlcyAoaS5lLiAidHlwZShjbHMpIikgb2YgYWxsXG5zcGVjaWZpZWQgYmFzZSBjbGFzc2VzLiBUaGUgbW9zdCBkZXJpdmVkIG1ldGFjbGFzcyBpcyBvbmUgd2hpY2ggaXMgYVxuc3VidHlwZSBvZiAqYWxsKiBvZiB0aGVzZSBjYW5kaWRhdGUgbWV0YWNsYXNzZXMuIElmIG5vbmUgb2YgdGhlXG5jYW5kaWRhdGUgbWV0YWNsYXNzZXMgbWVldHMgdGhhdCBjcml0ZXJpb24sIHRoZW4gdGhlIGNsYXNzIGRlZmluaXRpb25cbndpbGwgZmFpbCB3aXRoICJUeXBlRXJyb3IiLlxuXG5cblByZXBhcmluZyB0aGUgY2xhc3MgbmFtZXNwYWNlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5PbmNlIHRoZSBhcHByb3ByaWF0ZSBtZXRhY2xhc3MgaGFzIGJlZW4gaWRlbnRpZmllZCwgdGhlbiB0aGUgY2xhc3Ncbm5hbWVzcGFjZSBpcyBwcmVwYXJlZC4gSWYgdGhlIG1ldGFjbGFzcyBoYXMgYSAiX19wcmVwYXJlX18iIGF0dHJpYnV0ZSxcbml0IGlzIGNhbGxlZCBhcyAibmFtZXNwYWNlID0gbWV0YWNsYXNzLl9fcHJlcGFyZV9fKG5hbWUsIGJhc2VzLFxuKiprd2RzKSIgKHdoZXJlIHRoZSBhZGRpdGlvbmFsIGtleXdvcmQgYXJndW1lbnRzLCBpZiBhbnksIGNvbWUgZnJvbVxudGhlIGNsYXNzIGRlZmluaXRpb24pLlxuXG5JZiB0aGUgbWV0YWNsYXNzIGhhcyBubyAiX19wcmVwYXJlX18iIGF0dHJpYnV0ZSwgdGhlbiB0aGUgY2xhc3Ncbm5hbWVzcGFjZSBpcyBpbml0aWFsaXNlZCBhcyBhbiBlbXB0eSAiZGljdCgpIiBpbnN0YW5jZS5cblxuU2VlIGFsc286ICoqUEVQIDMxMTUqKiAtIE1ldGFjbGFzc2VzIGluIFB5dGhvbiAzMDAwXG5cbiAgICAgSW50cm9kdWNlZCB0aGUgIl9fcHJlcGFyZV9fIiBuYW1lc3BhY2UgaG9va1xuXG5cbkV4ZWN1dGluZyB0aGUgY2xhc3MgYm9keVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblRoZSBjbGFzcyBib2R5IGlzIGV4ZWN1dGVkIChhcHByb3hpbWF0ZWx5KSBhcyAiZXhlYyhib2R5LCBnbG9iYWxzKCksXG5uYW1lc3BhY2UpIi4gVGhlIGtleSBkaWZmZXJlbmNlIGZyb20gYSBub3JtYWwgY2FsbCB0byAiZXhlYygpIiBpcyB0aGF0XG5sZXhpY2FsIHNjb3BpbmcgYWxsb3dzIHRoZSBjbGFzcyBib2R5IChpbmNsdWRpbmcgYW55IG1ldGhvZHMpIHRvXG5yZWZlcmVuY2UgbmFtZXMgZnJvbSB0aGUgY3VycmVudCBhbmQgb3V0ZXIgc2NvcGVzIHdoZW4gdGhlIGNsYXNzXG5kZWZpbml0aW9uIG9jY3VycyBpbnNpZGUgYSBmdW5jdGlvbi5cblxuSG93ZXZlciwgZXZlbiB3aGVuIHRoZSBjbGFzcyBkZWZpbml0aW9uIG9jY3VycyBpbnNpZGUgdGhlIGZ1bmN0aW9uLFxubWV0aG9kcyBkZWZpbmVkIGluc2lkZSB0aGUgY2xhc3Mgc3RpbGwgY2Fubm90IHNlZSBuYW1lcyBkZWZpbmVkIGF0IHRoZVxuY2xhc3Mgc2NvcGUuIENsYXNzIHZhcmlhYmxlcyBtdXN0IGJlIGFjY2Vzc2VkIHRocm91Z2ggdGhlIGZpcnN0XG5wYXJhbWV0ZXIgb2YgaW5zdGFuY2Ugb3IgY2xhc3MgbWV0aG9kcywgYW5kIGNhbm5vdCBiZSBhY2Nlc3NlZCBhdCBhbGxcbmZyb20gc3RhdGljIG1ldGhvZHMuXG5cblxuQ3JlYXRpbmcgdGhlIGNsYXNzIG9iamVjdFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5PbmNlIHRoZSBjbGFzcyBuYW1lc3BhY2UgaGFzIGJlZW4gcG9wdWxhdGVkIGJ5IGV4ZWN1dGluZyB0aGUgY2xhc3NcbmJvZHksIHRoZSBjbGFzcyBvYmplY3QgaXMgY3JlYXRlZCBieSBjYWxsaW5nICJtZXRhY2xhc3MobmFtZSwgYmFzZXMsXG5uYW1lc3BhY2UsICoqa3dkcykiICh0aGUgYWRkaXRpb25hbCBrZXl3b3JkcyBwYXNzZWQgaGVyZSBhcmUgdGhlIHNhbWVcbmFzIHRob3NlIHBhc3NlZCB0byAiX19wcmVwYXJlX18iKS5cblxuVGhpcyBjbGFzcyBvYmplY3QgaXMgdGhlIG9uZSB0aGF0IHdpbGwgYmUgcmVmZXJlbmNlZCBieSB0aGUgemVyby1cbmFyZ3VtZW50IGZvcm0gb2YgInN1cGVyKCkiLiAiX19jbGFzc19fIiBpcyBhbiBpbXBsaWNpdCBjbG9zdXJlXG5yZWZlcmVuY2UgY3JlYXRlZCBieSB0aGUgY29tcGlsZXIgaWYgYW55IG1ldGhvZHMgaW4gYSBjbGFzcyBib2R5IHJlZmVyXG50byBlaXRoZXIgIl9fY2xhc3NfXyIgb3IgInN1cGVyIi4gVGhpcyBhbGxvd3MgdGhlIHplcm8gYXJndW1lbnQgZm9ybVxub2YgInN1cGVyKCkiIHRvIGNvcnJlY3RseSBpZGVudGlmeSB0aGUgY2xhc3MgYmVpbmcgZGVmaW5lZCBiYXNlZCBvblxubGV4aWNhbCBzY29waW5nLCB3aGlsZSB0aGUgY2xhc3Mgb3IgaW5zdGFuY2UgdGhhdCB3YXMgdXNlZCB0byBtYWtlIHRoZVxuY3VycmVudCBjYWxsIGlzIGlkZW50aWZpZWQgYmFzZWQgb24gdGhlIGZpcnN0IGFyZ3VtZW50IHBhc3NlZCB0byB0aGVcbm1ldGhvZC5cblxuQWZ0ZXIgdGhlIGNsYXNzIG9iamVjdCBpcyBjcmVhdGVkLCBpdCBpcyBwYXNzZWQgdG8gdGhlIGNsYXNzXG5kZWNvcmF0b3JzIGluY2x1ZGVkIGluIHRoZSBjbGFzcyBkZWZpbml0aW9uIChpZiBhbnkpIGFuZCB0aGUgcmVzdWx0aW5nXG5vYmplY3QgaXMgYm91bmQgaW4gdGhlIGxvY2FsIG5hbWVzcGFjZSBhcyB0aGUgZGVmaW5lZCBjbGFzcy5cblxuU2VlIGFsc286ICoqUEVQIDMxMzUqKiAtIE5ldyBzdXBlclxuXG4gICAgIERlc2NyaWJlcyB0aGUgaW1wbGljaXQgIl9fY2xhc3NfXyIgY2xvc3VyZSByZWZlcmVuY2VcblxuXG5NZXRhY2xhc3MgZXhhbXBsZVxuLS0tLS0tLS0tLS0tLS0tLS1cblxuVGhlIHBvdGVudGlhbCB1c2VzIGZvciBtZXRhY2xhc3NlcyBhcmUgYm91bmRsZXNzLiBTb21lIGlkZWFzIHRoYXQgaGF2ZVxuYmVlbiBleHBsb3JlZCBpbmNsdWRlIGxvZ2dpbmcsIGludGVyZmFjZSBjaGVja2luZywgYXV0b21hdGljXG5kZWxlZ2F0aW9uLCBhdXRvbWF0aWMgcHJvcGVydHkgY3JlYXRpb24sIHByb3hpZXMsIGZyYW1ld29ya3MsIGFuZFxuYXV0b21hdGljIHJlc291cmNlIGxvY2tpbmcvc3luY2hyb25pemF0aW9uLlxuXG5IZXJlIGlzIGFuIGV4YW1wbGUgb2YgYSBtZXRhY2xhc3MgdGhhdCB1c2VzIGFuXG4iY29sbGVjdGlvbnMuT3JkZXJlZERpY3QiIHRvIHJlbWVtYmVyIHRoZSBvcmRlciB0aGF0IGNsYXNzIHZhcmlhYmxlc1xuYXJlIGRlZmluZWQ6XG5cbiAgIGNsYXNzIE9yZGVyZWRDbGFzcyh0eXBlKTpcblxuICAgICAgICBAY2xhc3NtZXRob2RcbiAgICAgICAgZGVmIF9fcHJlcGFyZV9fKG1ldGFjbHMsIG5hbWUsIGJhc2VzLCAqKmt3ZHMpOlxuICAgICAgICAgICByZXR1cm4gY29sbGVjdGlvbnMuT3JkZXJlZERpY3QoKVxuXG4gICAgICAgIGRlZiBfX25ld19fKGNscywgbmFtZSwgYmFzZXMsIG5hbWVzcGFjZSwgKiprd2RzKTpcbiAgICAgICAgICAgcmVzdWx0ID0gdHlwZS5fX25ld19fKGNscywgbmFtZSwgYmFzZXMsIGRpY3QobmFtZXNwYWNlKSlcbiAgICAgICAgICAgcmVzdWx0Lm1lbWJlcnMgPSB0dXBsZShuYW1lc3BhY2UpXG4gICAgICAgICAgIHJldHVybiByZXN1bHRcblxuICAgY2xhc3MgQShtZXRhY2xhc3M9T3JkZXJlZENsYXNzKTpcbiAgICAgICBkZWYgb25lKHNlbGYpOiBwYXNzXG4gICAgICAgZGVmIHR3byhzZWxmKTogcGFzc1xuICAgICAgIGRlZiB0aHJlZShzZWxmKTogcGFzc1xuICAgICAgIGRlZiBmb3VyKHNlbGYpOiBwYXNzXG5cbiAgID4+PiBBLm1lbWJlcnNcbiAgIChcJ19fbW9kdWxlX19cJywgXCdvbmVcJywgXCd0d29cJywgXCd0aHJlZVwnLCBcJ2ZvdXJcJylcblxuV2hlbiB0aGUgY2xhc3MgZGVmaW5pdGlvbiBmb3IgKkEqIGdldHMgZXhlY3V0ZWQsIHRoZSBwcm9jZXNzIGJlZ2luc1xud2l0aCBjYWxsaW5nIHRoZSBtZXRhY2xhc3NcJ3MgIl9fcHJlcGFyZV9fKCkiIG1ldGhvZCB3aGljaCByZXR1cm5zIGFuXG5lbXB0eSAiY29sbGVjdGlvbnMuT3JkZXJlZERpY3QiLiAgVGhhdCBtYXBwaW5nIHJlY29yZHMgdGhlIG1ldGhvZHMgYW5kXG5hdHRyaWJ1dGVzIG9mICpBKiBhcyB0aGV5IGFyZSBkZWZpbmVkIHdpdGhpbiB0aGUgYm9keSBvZiB0aGUgY2xhc3NcbnN0YXRlbWVudC4gT25jZSB0aG9zZSBkZWZpbml0aW9ucyBhcmUgZXhlY3V0ZWQsIHRoZSBvcmRlcmVkIGRpY3Rpb25hcnlcbmlzIGZ1bGx5IHBvcHVsYXRlZCBhbmQgdGhlIG1ldGFjbGFzc1wncyAiX19uZXdfXygpIiBtZXRob2QgZ2V0c1xuaW52b2tlZC4gIFRoYXQgbWV0aG9kIGJ1aWxkcyB0aGUgbmV3IHR5cGUgYW5kIGl0IHNhdmVzIHRoZSBvcmRlcmVkXG5kaWN0aW9uYXJ5IGtleXMgaW4gYW4gYXR0cmlidXRlIGNhbGxlZCAibWVtYmVycyIuXG5cblxuQ3VzdG9taXppbmcgaW5zdGFuY2UgYW5kIHN1YmNsYXNzIGNoZWNrc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5UaGUgZm9sbG93aW5nIG1ldGhvZHMgYXJlIHVzZWQgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgdGhlXG4iaXNpbnN0YW5jZSgpIiBhbmQgImlzc3ViY2xhc3MoKSIgYnVpbHQtaW4gZnVuY3Rpb25zLlxuXG5JbiBwYXJ0aWN1bGFyLCB0aGUgbWV0YWNsYXNzICJhYmMuQUJDTWV0YSIgaW1wbGVtZW50cyB0aGVzZSBtZXRob2RzIGluXG5vcmRlciB0byBhbGxvdyB0aGUgYWRkaXRpb24gb2YgQWJzdHJhY3QgQmFzZSBDbGFzc2VzIChBQkNzKSBhc1xuInZpcnR1YWwgYmFzZSBjbGFzc2VzIiB0byBhbnkgY2xhc3Mgb3IgdHlwZSAoaW5jbHVkaW5nIGJ1aWx0LWluXG50eXBlcyksIGluY2x1ZGluZyBvdGhlciBBQkNzLlxuXG5jbGFzcy5fX2luc3RhbmNlY2hlY2tfXyhzZWxmLCBpbnN0YW5jZSlcblxuICAgUmV0dXJuIHRydWUgaWYgKmluc3RhbmNlKiBzaG91bGQgYmUgY29uc2lkZXJlZCBhIChkaXJlY3Qgb3JcbiAgIGluZGlyZWN0KSBpbnN0YW5jZSBvZiAqY2xhc3MqLiBJZiBkZWZpbmVkLCBjYWxsZWQgdG8gaW1wbGVtZW50XG4gICAiaXNpbnN0YW5jZShpbnN0YW5jZSwgY2xhc3MpIi5cblxuY2xhc3MuX19zdWJjbGFzc2NoZWNrX18oc2VsZiwgc3ViY2xhc3MpXG5cbiAgIFJldHVybiB0cnVlIGlmICpzdWJjbGFzcyogc2hvdWxkIGJlIGNvbnNpZGVyZWQgYSAoZGlyZWN0IG9yXG4gICBpbmRpcmVjdCkgc3ViY2xhc3Mgb2YgKmNsYXNzKi4gIElmIGRlZmluZWQsIGNhbGxlZCB0byBpbXBsZW1lbnRcbiAgICJpc3N1YmNsYXNzKHN1YmNsYXNzLCBjbGFzcykiLlxuXG5Ob3RlIHRoYXQgdGhlc2UgbWV0aG9kcyBhcmUgbG9va2VkIHVwIG9uIHRoZSB0eXBlIChtZXRhY2xhc3MpIG9mIGFcbmNsYXNzLiAgVGhleSBjYW5ub3QgYmUgZGVmaW5lZCBhcyBjbGFzcyBtZXRob2RzIGluIHRoZSBhY3R1YWwgY2xhc3MuXG5UaGlzIGlzIGNvbnNpc3RlbnQgd2l0aCB0aGUgbG9va3VwIG9mIHNwZWNpYWwgbWV0aG9kcyB0aGF0IGFyZSBjYWxsZWRcbm9uIGluc3RhbmNlcywgb25seSBpbiB0aGlzIGNhc2UgdGhlIGluc3RhbmNlIGlzIGl0c2VsZiBhIGNsYXNzLlxuXG5TZWUgYWxzbzogKipQRVAgMzExOSoqIC0gSW50cm9kdWNpbmcgQWJzdHJhY3QgQmFzZSBDbGFzc2VzXG5cbiAgICAgSW5jbHVkZXMgdGhlIHNwZWNpZmljYXRpb24gZm9yIGN1c3RvbWl6aW5nICJpc2luc3RhbmNlKCkiIGFuZFxuICAgICAiaXNzdWJjbGFzcygpIiBiZWhhdmlvciB0aHJvdWdoICJfX2luc3RhbmNlY2hlY2tfXygpIiBhbmRcbiAgICAgIl9fc3ViY2xhc3NjaGVja19fKCkiLCB3aXRoIG1vdGl2YXRpb24gZm9yIHRoaXMgZnVuY3Rpb25hbGl0eSBpblxuICAgICB0aGUgY29udGV4dCBvZiBhZGRpbmcgQWJzdHJhY3QgQmFzZSBDbGFzc2VzIChzZWUgdGhlICJhYmMiXG4gICAgIG1vZHVsZSkgdG8gdGhlIGxhbmd1YWdlLlxuXG5cbkVtdWxhdGluZyBjYWxsYWJsZSBvYmplY3RzXG49PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5vYmplY3QuX19jYWxsX18oc2VsZlssIGFyZ3MuLi5dKVxuXG4gICBDYWxsZWQgd2hlbiB0aGUgaW5zdGFuY2UgaXMgImNhbGxlZCIgYXMgYSBmdW5jdGlvbjsgaWYgdGhpcyBtZXRob2RcbiAgIGlzIGRlZmluZWQsICJ4KGFyZzEsIGFyZzIsIC4uLikiIGlzIGEgc2hvcnRoYW5kIGZvclxuICAgInguX19jYWxsX18oYXJnMSwgYXJnMiwgLi4uKSIuXG5cblxuRW11bGF0aW5nIGNvbnRhaW5lciB0eXBlc1xuPT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5UaGUgZm9sbG93aW5nIG1ldGhvZHMgY2FuIGJlIGRlZmluZWQgdG8gaW1wbGVtZW50IGNvbnRhaW5lciBvYmplY3RzLlxuQ29udGFpbmVycyB1c3VhbGx5IGFyZSBzZXF1ZW5jZXMgKHN1Y2ggYXMgbGlzdHMgb3IgdHVwbGVzKSBvciBtYXBwaW5nc1xuKGxpa2UgZGljdGlvbmFyaWVzKSwgYnV0IGNhbiByZXByZXNlbnQgb3RoZXIgY29udGFpbmVycyBhcyB3ZWxsLiAgVGhlXG5maXJzdCBzZXQgb2YgbWV0aG9kcyBpcyB1c2VkIGVpdGhlciB0byBlbXVsYXRlIGEgc2VxdWVuY2Ugb3IgdG9cbmVtdWxhdGUgYSBtYXBwaW5nOyB0aGUgZGlmZmVyZW5jZSBpcyB0aGF0IGZvciBhIHNlcXVlbmNlLCB0aGVcbmFsbG93YWJsZSBrZXlzIHNob3VsZCBiZSB0aGUgaW50ZWdlcnMgKmsqIGZvciB3aGljaCAiMCA8PSBrIDwgTiIgd2hlcmVcbipOKiBpcyB0aGUgbGVuZ3RoIG9mIHRoZSBzZXF1ZW5jZSwgb3Igc2xpY2Ugb2JqZWN0cywgd2hpY2ggZGVmaW5lIGFcbnJhbmdlIG9mIGl0ZW1zLiAgSXQgaXMgYWxzbyByZWNvbW1lbmRlZCB0aGF0IG1hcHBpbmdzIHByb3ZpZGUgdGhlXG5tZXRob2RzICJrZXlzKCkiLCAidmFsdWVzKCkiLCAiaXRlbXMoKSIsICJnZXQoKSIsICJjbGVhcigpIixcbiJzZXRkZWZhdWx0KCkiLCAicG9wKCkiLCAicG9waXRlbSgpIiwgImNvcHkoKSIsIGFuZCAidXBkYXRlKCkiXG5iZWhhdmluZyBzaW1pbGFyIHRvIHRob3NlIGZvciBQeXRob25cJ3Mgc3RhbmRhcmQgZGljdGlvbmFyeSBvYmplY3RzLlxuVGhlICJjb2xsZWN0aW9ucyIgbW9kdWxlIHByb3ZpZGVzIGEgIk11dGFibGVNYXBwaW5nIiBhYnN0cmFjdCBiYXNlXG5jbGFzcyB0byBoZWxwIGNyZWF0ZSB0aG9zZSBtZXRob2RzIGZyb20gYSBiYXNlIHNldCBvZiAiX19nZXRpdGVtX18oKSIsXG4iX19zZXRpdGVtX18oKSIsICJfX2RlbGl0ZW1fXygpIiwgYW5kICJrZXlzKCkiLiBNdXRhYmxlIHNlcXVlbmNlc1xuc2hvdWxkIHByb3ZpZGUgbWV0aG9kcyAiYXBwZW5kKCkiLCAiY291bnQoKSIsICJpbmRleCgpIiwgImV4dGVuZCgpIixcbiJpbnNlcnQoKSIsICJwb3AoKSIsICJyZW1vdmUoKSIsICJyZXZlcnNlKCkiIGFuZCAic29ydCgpIiwgbGlrZSBQeXRob25cbnN0YW5kYXJkIGxpc3Qgb2JqZWN0cy4gIEZpbmFsbHksIHNlcXVlbmNlIHR5cGVzIHNob3VsZCBpbXBsZW1lbnRcbmFkZGl0aW9uIChtZWFuaW5nIGNvbmNhdGVuYXRpb24pIGFuZCBtdWx0aXBsaWNhdGlvbiAobWVhbmluZ1xucmVwZXRpdGlvbikgYnkgZGVmaW5pbmcgdGhlIG1ldGhvZHMgIl9fYWRkX18oKSIsICJfX3JhZGRfXygpIixcbiJfX2lhZGRfXygpIiwgIl9fbXVsX18oKSIsICJfX3JtdWxfXygpIiBhbmQgIl9faW11bF9fKCkiIGRlc2NyaWJlZFxuYmVsb3c7IHRoZXkgc2hvdWxkIG5vdCBkZWZpbmUgb3RoZXIgbnVtZXJpY2FsIG9wZXJhdG9ycy4gIEl0IGlzXG5yZWNvbW1lbmRlZCB0aGF0IGJvdGggbWFwcGluZ3MgYW5kIHNlcXVlbmNlcyBpbXBsZW1lbnQgdGhlXG4iX19jb250YWluc19fKCkiIG1ldGhvZCB0byBhbGxvdyBlZmZpY2llbnQgdXNlIG9mIHRoZSAiaW4iIG9wZXJhdG9yO1xuZm9yIG1hcHBpbmdzLCAiaW4iIHNob3VsZCBzZWFyY2ggdGhlIG1hcHBpbmdcJ3Mga2V5czsgZm9yIHNlcXVlbmNlcywgaXRcbnNob3VsZCBzZWFyY2ggdGhyb3VnaCB0aGUgdmFsdWVzLiAgSXQgaXMgZnVydGhlciByZWNvbW1lbmRlZCB0aGF0IGJvdGhcbm1hcHBpbmdzIGFuZCBzZXF1ZW5jZXMgaW1wbGVtZW50IHRoZSAiX19pdGVyX18oKSIgbWV0aG9kIHRvIGFsbG93XG5lZmZpY2llbnQgaXRlcmF0aW9uIHRocm91Z2ggdGhlIGNvbnRhaW5lcjsgZm9yIG1hcHBpbmdzLCAiX19pdGVyX18oKSJcbnNob3VsZCBiZSB0aGUgc2FtZSBhcyAia2V5cygpIjsgZm9yIHNlcXVlbmNlcywgaXQgc2hvdWxkIGl0ZXJhdGVcbnRocm91Z2ggdGhlIHZhbHVlcy5cblxub2JqZWN0Ll9fbGVuX18oc2VsZilcblxuICAgQ2FsbGVkIHRvIGltcGxlbWVudCB0aGUgYnVpbHQtaW4gZnVuY3Rpb24gImxlbigpIi4gIFNob3VsZCByZXR1cm5cbiAgIHRoZSBsZW5ndGggb2YgdGhlIG9iamVjdCwgYW4gaW50ZWdlciAiPj0iIDAuICBBbHNvLCBhbiBvYmplY3QgdGhhdFxuICAgZG9lc25cJ3QgZGVmaW5lIGEgIl9fYm9vbF9fKCkiIG1ldGhvZCBhbmQgd2hvc2UgIl9fbGVuX18oKSIgbWV0aG9kXG4gICByZXR1cm5zIHplcm8gaXMgY29uc2lkZXJlZCB0byBiZSBmYWxzZSBpbiBhIEJvb2xlYW4gY29udGV4dC5cblxub2JqZWN0Ll9fbGVuZ3RoX2hpbnRfXyhzZWxmKVxuXG4gICBDYWxsZWQgdG8gaW1wbGVtZW50ICJvcGVyYXRvci5sZW5ndGhfaGludCgpIi4gU2hvdWxkIHJldHVybiBhblxuICAgZXN0aW1hdGVkIGxlbmd0aCBmb3IgdGhlIG9iamVjdCAod2hpY2ggbWF5IGJlIGdyZWF0ZXIgb3IgbGVzcyB0aGFuXG4gICB0aGUgYWN0dWFsIGxlbmd0aCkuIFRoZSBsZW5ndGggbXVzdCBiZSBhbiBpbnRlZ2VyICI+PSIgMC4gVGhpc1xuICAgbWV0aG9kIGlzIHB1cmVseSBhbiBvcHRpbWl6YXRpb24gYW5kIGlzIG5ldmVyIHJlcXVpcmVkIGZvclxuICAgY29ycmVjdG5lc3MuXG5cbiAgIE5ldyBpbiB2ZXJzaW9uIDMuNC5cblxuTm90ZTogU2xpY2luZyBpcyBkb25lIGV4Y2x1c2l2ZWx5IHdpdGggdGhlIGZvbGxvd2luZyB0aHJlZSBtZXRob2RzLlxuICBBIGNhbGwgbGlrZVxuXG4gICAgIGFbMToyXSA9IGJcblxuICBpcyB0cmFuc2xhdGVkIHRvXG5cbiAgICAgYVtzbGljZSgxLCAyLCBOb25lKV0gPSBiXG5cbiAgYW5kIHNvIGZvcnRoLiAgTWlzc2luZyBzbGljZSBpdGVtcyBhcmUgYWx3YXlzIGZpbGxlZCBpbiB3aXRoICJOb25lIi5cblxub2JqZWN0Ll9fZ2V0aXRlbV9fKHNlbGYsIGtleSlcblxuICAgQ2FsbGVkIHRvIGltcGxlbWVudCBldmFsdWF0aW9uIG9mICJzZWxmW2tleV0iLiBGb3Igc2VxdWVuY2UgdHlwZXMsXG4gICB0aGUgYWNjZXB0ZWQga2V5cyBzaG91bGQgYmUgaW50ZWdlcnMgYW5kIHNsaWNlIG9iamVjdHMuICBOb3RlIHRoYXRcbiAgIHRoZSBzcGVjaWFsIGludGVycHJldGF0aW9uIG9mIG5lZ2F0aXZlIGluZGV4ZXMgKGlmIHRoZSBjbGFzcyB3aXNoZXNcbiAgIHRvIGVtdWxhdGUgYSBzZXF1ZW5jZSB0eXBlKSBpcyB1cCB0byB0aGUgIl9fZ2V0aXRlbV9fKCkiIG1ldGhvZC4gSWZcbiAgICprZXkqIGlzIG9mIGFuIGluYXBwcm9wcmlhdGUgdHlwZSwgIlR5cGVFcnJvciIgbWF5IGJlIHJhaXNlZDsgaWYgb2ZcbiAgIGEgdmFsdWUgb3V0c2lkZSB0aGUgc2V0IG9mIGluZGV4ZXMgZm9yIHRoZSBzZXF1ZW5jZSAoYWZ0ZXIgYW55XG4gICBzcGVjaWFsIGludGVycHJldGF0aW9uIG9mIG5lZ2F0aXZlIHZhbHVlcyksICJJbmRleEVycm9yIiBzaG91bGQgYmVcbiAgIHJhaXNlZC4gRm9yIG1hcHBpbmcgdHlwZXMsIGlmICprZXkqIGlzIG1pc3NpbmcgKG5vdCBpbiB0aGVcbiAgIGNvbnRhaW5lciksICJLZXlFcnJvciIgc2hvdWxkIGJlIHJhaXNlZC5cblxuICAgTm90ZTogImZvciIgbG9vcHMgZXhwZWN0IHRoYXQgYW4gIkluZGV4RXJyb3IiIHdpbGwgYmUgcmFpc2VkIGZvclxuICAgICBpbGxlZ2FsIGluZGV4ZXMgdG8gYWxsb3cgcHJvcGVyIGRldGVjdGlvbiBvZiB0aGUgZW5kIG9mIHRoZVxuICAgICBzZXF1ZW5jZS5cblxub2JqZWN0Ll9fbWlzc2luZ19fKHNlbGYsIGtleSlcblxuICAgQ2FsbGVkIGJ5ICJkaWN0Ii4iX19nZXRpdGVtX18oKSIgdG8gaW1wbGVtZW50ICJzZWxmW2tleV0iIGZvciBkaWN0XG4gICBzdWJjbGFzc2VzIHdoZW4ga2V5IGlzIG5vdCBpbiB0aGUgZGljdGlvbmFyeS5cblxub2JqZWN0Ll9fc2V0aXRlbV9fKHNlbGYsIGtleSwgdmFsdWUpXG5cbiAgIENhbGxlZCB0byBpbXBsZW1lbnQgYXNzaWdubWVudCB0byAic2VsZltrZXldIi4gIFNhbWUgbm90ZSBhcyBmb3JcbiAgICJfX2dldGl0ZW1fXygpIi4gIFRoaXMgc2hvdWxkIG9ubHkgYmUgaW1wbGVtZW50ZWQgZm9yIG1hcHBpbmdzIGlmXG4gICB0aGUgb2JqZWN0cyBzdXBwb3J0IGNoYW5nZXMgdG8gdGhlIHZhbHVlcyBmb3Iga2V5cywgb3IgaWYgbmV3IGtleXNcbiAgIGNhbiBiZSBhZGRlZCwgb3IgZm9yIHNlcXVlbmNlcyBpZiBlbGVtZW50cyBjYW4gYmUgcmVwbGFjZWQuICBUaGVcbiAgIHNhbWUgZXhjZXB0aW9ucyBzaG91bGQgYmUgcmFpc2VkIGZvciBpbXByb3BlciAqa2V5KiB2YWx1ZXMgYXMgZm9yXG4gICB0aGUgIl9fZ2V0aXRlbV9fKCkiIG1ldGhvZC5cblxub2JqZWN0Ll9fZGVsaXRlbV9fKHNlbGYsIGtleSlcblxuICAgQ2FsbGVkIHRvIGltcGxlbWVudCBkZWxldGlvbiBvZiAic2VsZltrZXldIi4gIFNhbWUgbm90ZSBhcyBmb3JcbiAgICJfX2dldGl0ZW1fXygpIi4gIFRoaXMgc2hvdWxkIG9ubHkgYmUgaW1wbGVtZW50ZWQgZm9yIG1hcHBpbmdzIGlmXG4gICB0aGUgb2JqZWN0cyBzdXBwb3J0IHJlbW92YWwgb2Yga2V5cywgb3IgZm9yIHNlcXVlbmNlcyBpZiBlbGVtZW50c1xuICAgY2FuIGJlIHJlbW92ZWQgZnJvbSB0aGUgc2VxdWVuY2UuICBUaGUgc2FtZSBleGNlcHRpb25zIHNob3VsZCBiZVxuICAgcmFpc2VkIGZvciBpbXByb3BlciAqa2V5KiB2YWx1ZXMgYXMgZm9yIHRoZSAiX19nZXRpdGVtX18oKSIgbWV0aG9kLlxuXG5vYmplY3QuX19pdGVyX18oc2VsZilcblxuICAgVGhpcyBtZXRob2QgaXMgY2FsbGVkIHdoZW4gYW4gaXRlcmF0b3IgaXMgcmVxdWlyZWQgZm9yIGEgY29udGFpbmVyLlxuICAgVGhpcyBtZXRob2Qgc2hvdWxkIHJldHVybiBhIG5ldyBpdGVyYXRvciBvYmplY3QgdGhhdCBjYW4gaXRlcmF0ZVxuICAgb3ZlciBhbGwgdGhlIG9iamVjdHMgaW4gdGhlIGNvbnRhaW5lci4gIEZvciBtYXBwaW5ncywgaXQgc2hvdWxkXG4gICBpdGVyYXRlIG92ZXIgdGhlIGtleXMgb2YgdGhlIGNvbnRhaW5lci5cblxuICAgSXRlcmF0b3Igb2JqZWN0cyBhbHNvIG5lZWQgdG8gaW1wbGVtZW50IHRoaXMgbWV0aG9kOyB0aGV5IGFyZVxuICAgcmVxdWlyZWQgdG8gcmV0dXJuIHRoZW1zZWx2ZXMuICBGb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBpdGVyYXRvclxuICAgb2JqZWN0cywgc2VlICpJdGVyYXRvciBUeXBlcyouXG5cbm9iamVjdC5fX3JldmVyc2VkX18oc2VsZilcblxuICAgQ2FsbGVkIChpZiBwcmVzZW50KSBieSB0aGUgInJldmVyc2VkKCkiIGJ1aWx0LWluIHRvIGltcGxlbWVudFxuICAgcmV2ZXJzZSBpdGVyYXRpb24uICBJdCBzaG91bGQgcmV0dXJuIGEgbmV3IGl0ZXJhdG9yIG9iamVjdCB0aGF0XG4gICBpdGVyYXRlcyBvdmVyIGFsbCB0aGUgb2JqZWN0cyBpbiB0aGUgY29udGFpbmVyIGluIHJldmVyc2Ugb3JkZXIuXG5cbiAgIElmIHRoZSAiX19yZXZlcnNlZF9fKCkiIG1ldGhvZCBpcyBub3QgcHJvdmlkZWQsIHRoZSAicmV2ZXJzZWQoKSJcbiAgIGJ1aWx0LWluIHdpbGwgZmFsbCBiYWNrIHRvIHVzaW5nIHRoZSBzZXF1ZW5jZSBwcm90b2NvbCAoIl9fbGVuX18oKSJcbiAgIGFuZCAiX19nZXRpdGVtX18oKSIpLiAgT2JqZWN0cyB0aGF0IHN1cHBvcnQgdGhlIHNlcXVlbmNlIHByb3RvY29sXG4gICBzaG91bGQgb25seSBwcm92aWRlICJfX3JldmVyc2VkX18oKSIgaWYgdGhleSBjYW4gcHJvdmlkZSBhblxuICAgaW1wbGVtZW50YXRpb24gdGhhdCBpcyBtb3JlIGVmZmljaWVudCB0aGFuIHRoZSBvbmUgcHJvdmlkZWQgYnlcbiAgICJyZXZlcnNlZCgpIi5cblxuVGhlIG1lbWJlcnNoaXAgdGVzdCBvcGVyYXRvcnMgKCJpbiIgYW5kICJub3QgaW4iKSBhcmUgbm9ybWFsbHlcbmltcGxlbWVudGVkIGFzIGFuIGl0ZXJhdGlvbiB0aHJvdWdoIGEgc2VxdWVuY2UuICBIb3dldmVyLCBjb250YWluZXJcbm9iamVjdHMgY2FuIHN1cHBseSB0aGUgZm9sbG93aW5nIHNwZWNpYWwgbWV0aG9kIHdpdGggYSBtb3JlIGVmZmljaWVudFxuaW1wbGVtZW50YXRpb24sIHdoaWNoIGFsc28gZG9lcyBub3QgcmVxdWlyZSB0aGUgb2JqZWN0IGJlIGEgc2VxdWVuY2UuXG5cbm9iamVjdC5fX2NvbnRhaW5zX18oc2VsZiwgaXRlbSlcblxuICAgQ2FsbGVkIHRvIGltcGxlbWVudCBtZW1iZXJzaGlwIHRlc3Qgb3BlcmF0b3JzLiAgU2hvdWxkIHJldHVybiB0cnVlXG4gICBpZiAqaXRlbSogaXMgaW4gKnNlbGYqLCBmYWxzZSBvdGhlcndpc2UuICBGb3IgbWFwcGluZyBvYmplY3RzLCB0aGlzXG4gICBzaG91bGQgY29uc2lkZXIgdGhlIGtleXMgb2YgdGhlIG1hcHBpbmcgcmF0aGVyIHRoYW4gdGhlIHZhbHVlcyBvclxuICAgdGhlIGtleS1pdGVtIHBhaXJzLlxuXG4gICBGb3Igb2JqZWN0cyB0aGF0IGRvblwndCBkZWZpbmUgIl9fY29udGFpbnNfXygpIiwgdGhlIG1lbWJlcnNoaXAgdGVzdFxuICAgZmlyc3QgdHJpZXMgaXRlcmF0aW9uIHZpYSAiX19pdGVyX18oKSIsIHRoZW4gdGhlIG9sZCBzZXF1ZW5jZVxuICAgaXRlcmF0aW9uIHByb3RvY29sIHZpYSAiX19nZXRpdGVtX18oKSIsIHNlZSAqdGhpcyBzZWN0aW9uIGluIHRoZVxuICAgbGFuZ3VhZ2UgcmVmZXJlbmNlKi5cblxuXG5FbXVsYXRpbmcgbnVtZXJpYyB0eXBlc1xuPT09PT09PT09PT09PT09PT09PT09PT1cblxuVGhlIGZvbGxvd2luZyBtZXRob2RzIGNhbiBiZSBkZWZpbmVkIHRvIGVtdWxhdGUgbnVtZXJpYyBvYmplY3RzLlxuTWV0aG9kcyBjb3JyZXNwb25kaW5nIHRvIG9wZXJhdGlvbnMgdGhhdCBhcmUgbm90IHN1cHBvcnRlZCBieSB0aGVcbnBhcnRpY3VsYXIga2luZCBvZiBudW1iZXIgaW1wbGVtZW50ZWQgKGUuZy4sIGJpdHdpc2Ugb3BlcmF0aW9ucyBmb3Jcbm5vbi1pbnRlZ3JhbCBudW1iZXJzKSBzaG91bGQgYmUgbGVmdCB1bmRlZmluZWQuXG5cbm9iamVjdC5fX2FkZF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fc3ViX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19tdWxfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3RydWVkaXZfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX2Zsb29yZGl2X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19tb2RfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX2Rpdm1vZF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fcG93X18oc2VsZiwgb3RoZXJbLCBtb2R1bG9dKVxub2JqZWN0Ll9fbHNoaWZ0X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19yc2hpZnRfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX2FuZF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9feG9yX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19vcl9fKHNlbGYsIG90aGVyKVxuXG4gICBUaGVzZSBtZXRob2RzIGFyZSBjYWxsZWQgdG8gaW1wbGVtZW50IHRoZSBiaW5hcnkgYXJpdGhtZXRpY1xuICAgb3BlcmF0aW9ucyAoIisiLCAiLSIsICIqIiwgIi8iLCAiLy8iLCAiJSIsICJkaXZtb2QoKSIsICJwb3coKSIsXG4gICAiKioiLCAiPDwiLCAiPj4iLCAiJiIsICJeIiwgInwiKS4gIEZvciBpbnN0YW5jZSwgdG8gZXZhbHVhdGUgdGhlXG4gICBleHByZXNzaW9uICJ4ICsgeSIsIHdoZXJlICp4KiBpcyBhbiBpbnN0YW5jZSBvZiBhIGNsYXNzIHRoYXQgaGFzIGFuXG4gICAiX19hZGRfXygpIiBtZXRob2QsICJ4Ll9fYWRkX18oeSkiIGlzIGNhbGxlZC4gIFRoZSAiX19kaXZtb2RfXygpIlxuICAgbWV0aG9kIHNob3VsZCBiZSB0aGUgZXF1aXZhbGVudCB0byB1c2luZyAiX19mbG9vcmRpdl9fKCkiIGFuZFxuICAgIl9fbW9kX18oKSI7IGl0IHNob3VsZCBub3QgYmUgcmVsYXRlZCB0byAiX190cnVlZGl2X18oKSIuICBOb3RlXG4gICB0aGF0ICJfX3Bvd19fKCkiIHNob3VsZCBiZSBkZWZpbmVkIHRvIGFjY2VwdCBhbiBvcHRpb25hbCB0aGlyZFxuICAgYXJndW1lbnQgaWYgdGhlIHRlcm5hcnkgdmVyc2lvbiBvZiB0aGUgYnVpbHQtaW4gInBvdygpIiBmdW5jdGlvbiBpc1xuICAgdG8gYmUgc3VwcG9ydGVkLlxuXG4gICBJZiBvbmUgb2YgdGhvc2UgbWV0aG9kcyBkb2VzIG5vdCBzdXBwb3J0IHRoZSBvcGVyYXRpb24gd2l0aCB0aGVcbiAgIHN1cHBsaWVkIGFyZ3VtZW50cywgaXQgc2hvdWxkIHJldHVybiAiTm90SW1wbGVtZW50ZWQiLlxuXG5vYmplY3QuX19yYWRkX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19yc3ViX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19ybXVsX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19ydHJ1ZWRpdl9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fcmZsb29yZGl2X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19ybW9kX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19yZGl2bW9kX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19ycG93X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19ybHNoaWZ0X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19ycnNoaWZ0X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19yYW5kX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19yeG9yX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19yb3JfXyhzZWxmLCBvdGhlcilcblxuICAgVGhlc2UgbWV0aG9kcyBhcmUgY2FsbGVkIHRvIGltcGxlbWVudCB0aGUgYmluYXJ5IGFyaXRobWV0aWNcbiAgIG9wZXJhdGlvbnMgKCIrIiwgIi0iLCAiKiIsICIvIiwgIi8vIiwgIiUiLCAiZGl2bW9kKCkiLCAicG93KCkiLFxuICAgIioqIiwgIjw8IiwgIj4+IiwgIiYiLCAiXiIsICJ8Iikgd2l0aCByZWZsZWN0ZWQgKHN3YXBwZWQpIG9wZXJhbmRzLlxuICAgVGhlc2UgZnVuY3Rpb25zIGFyZSBvbmx5IGNhbGxlZCBpZiB0aGUgbGVmdCBvcGVyYW5kIGRvZXMgbm90XG4gICBzdXBwb3J0IHRoZSBjb3JyZXNwb25kaW5nIG9wZXJhdGlvbiBhbmQgdGhlIG9wZXJhbmRzIGFyZSBvZlxuICAgZGlmZmVyZW50IHR5cGVzLiBbMl0gIEZvciBpbnN0YW5jZSwgdG8gZXZhbHVhdGUgdGhlIGV4cHJlc3Npb24gInggLVxuICAgeSIsIHdoZXJlICp5KiBpcyBhbiBpbnN0YW5jZSBvZiBhIGNsYXNzIHRoYXQgaGFzIGFuICJfX3JzdWJfXygpIlxuICAgbWV0aG9kLCAieS5fX3JzdWJfXyh4KSIgaXMgY2FsbGVkIGlmICJ4Ll9fc3ViX18oeSkiIHJldHVybnNcbiAgICpOb3RJbXBsZW1lbnRlZCouXG5cbiAgIE5vdGUgdGhhdCB0ZXJuYXJ5ICJwb3coKSIgd2lsbCBub3QgdHJ5IGNhbGxpbmcgIl9fcnBvd19fKCkiICh0aGVcbiAgIGNvZXJjaW9uIHJ1bGVzIHdvdWxkIGJlY29tZSB0b28gY29tcGxpY2F0ZWQpLlxuXG4gICBOb3RlOiBJZiB0aGUgcmlnaHQgb3BlcmFuZFwncyB0eXBlIGlzIGEgc3ViY2xhc3Mgb2YgdGhlIGxlZnRcbiAgICAgb3BlcmFuZFwncyB0eXBlIGFuZCB0aGF0IHN1YmNsYXNzIHByb3ZpZGVzIHRoZSByZWZsZWN0ZWQgbWV0aG9kXG4gICAgIGZvciB0aGUgb3BlcmF0aW9uLCB0aGlzIG1ldGhvZCB3aWxsIGJlIGNhbGxlZCBiZWZvcmUgdGhlIGxlZnRcbiAgICAgb3BlcmFuZFwncyBub24tcmVmbGVjdGVkIG1ldGhvZC4gIFRoaXMgYmVoYXZpb3IgYWxsb3dzIHN1YmNsYXNzZXNcbiAgICAgdG8gb3ZlcnJpZGUgdGhlaXIgYW5jZXN0b3JzXCcgb3BlcmF0aW9ucy5cblxub2JqZWN0Ll9faWFkZF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9faXN1Yl9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9faW11bF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9faXRydWVkaXZfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX2lmbG9vcmRpdl9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9faW1vZF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9faXBvd19fKHNlbGYsIG90aGVyWywgbW9kdWxvXSlcbm9iamVjdC5fX2lsc2hpZnRfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX2lyc2hpZnRfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX2lhbmRfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX2l4b3JfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX2lvcl9fKHNlbGYsIG90aGVyKVxuXG4gICBUaGVzZSBtZXRob2RzIGFyZSBjYWxsZWQgdG8gaW1wbGVtZW50IHRoZSBhdWdtZW50ZWQgYXJpdGhtZXRpY1xuICAgYXNzaWdubWVudHMgKCIrPSIsICItPSIsICIqPSIsICIvPSIsICIvLz0iLCAiJT0iLCAiKio9IiwgIjw8PSIsXG4gICAiPj49IiwgIiY9IiwgIl49IiwgInw9IikuICBUaGVzZSBtZXRob2RzIHNob3VsZCBhdHRlbXB0IHRvIGRvIHRoZVxuICAgb3BlcmF0aW9uIGluLXBsYWNlIChtb2RpZnlpbmcgKnNlbGYqKSBhbmQgcmV0dXJuIHRoZSByZXN1bHQgKHdoaWNoXG4gICBjb3VsZCBiZSwgYnV0IGRvZXMgbm90IGhhdmUgdG8gYmUsICpzZWxmKikuICBJZiBhIHNwZWNpZmljIG1ldGhvZFxuICAgaXMgbm90IGRlZmluZWQsIHRoZSBhdWdtZW50ZWQgYXNzaWdubWVudCBmYWxscyBiYWNrIHRvIHRoZSBub3JtYWxcbiAgIG1ldGhvZHMuICBGb3IgaW5zdGFuY2UsIGlmICp4KiBpcyBhbiBpbnN0YW5jZSBvZiBhIGNsYXNzIHdpdGggYW5cbiAgICJfX2lhZGRfXygpIiBtZXRob2QsICJ4ICs9IHkiIGlzIGVxdWl2YWxlbnQgdG8gInggPSB4Ll9faWFkZF9fKHkpIlxuICAgLiBPdGhlcndpc2UsICJ4Ll9fYWRkX18oeSkiIGFuZCAieS5fX3JhZGRfXyh4KSIgYXJlIGNvbnNpZGVyZWQsIGFzXG4gICB3aXRoIHRoZSBldmFsdWF0aW9uIG9mICJ4ICsgeSIuIEluIGNlcnRhaW4gc2l0dWF0aW9ucywgYXVnbWVudGVkXG4gICBhc3NpZ25tZW50IGNhbiByZXN1bHQgaW4gdW5leHBlY3RlZCBlcnJvcnMgKHNlZSAqV2h5IGRvZXNcbiAgIGFfdHVwbGVbaV0gKz0gW1wnaXRlbVwnXSByYWlzZSBhbiBleGNlcHRpb24gd2hlbiB0aGUgYWRkaXRpb25cbiAgIHdvcmtzPyopLCBidXQgdGhpcyBiZWhhdmlvciBpcyBpbiBmYWN0IHBhcnQgb2YgdGhlIGRhdGEgbW9kZWwuXG5cbm9iamVjdC5fX25lZ19fKHNlbGYpXG5vYmplY3QuX19wb3NfXyhzZWxmKVxub2JqZWN0Ll9fYWJzX18oc2VsZilcbm9iamVjdC5fX2ludmVydF9fKHNlbGYpXG5cbiAgIENhbGxlZCB0byBpbXBsZW1lbnQgdGhlIHVuYXJ5IGFyaXRobWV0aWMgb3BlcmF0aW9ucyAoIi0iLCAiKyIsXG4gICAiYWJzKCkiIGFuZCAifiIpLlxuXG5vYmplY3QuX19jb21wbGV4X18oc2VsZilcbm9iamVjdC5fX2ludF9fKHNlbGYpXG5vYmplY3QuX19mbG9hdF9fKHNlbGYpXG5vYmplY3QuX19yb3VuZF9fKHNlbGZbLCBuXSlcblxuICAgQ2FsbGVkIHRvIGltcGxlbWVudCB0aGUgYnVpbHQtaW4gZnVuY3Rpb25zICJjb21wbGV4KCkiLCAiaW50KCkiLFxuICAgImZsb2F0KCkiIGFuZCAicm91bmQoKSIuICBTaG91bGQgcmV0dXJuIGEgdmFsdWUgb2YgdGhlIGFwcHJvcHJpYXRlXG4gICB0eXBlLlxuXG5vYmplY3QuX19pbmRleF9fKHNlbGYpXG5cbiAgIENhbGxlZCB0byBpbXBsZW1lbnQgIm9wZXJhdG9yLmluZGV4KCkiLCBhbmQgd2hlbmV2ZXIgUHl0aG9uIG5lZWRzXG4gICB0byBsb3NzbGVzc2x5IGNvbnZlcnQgdGhlIG51bWVyaWMgb2JqZWN0IHRvIGFuIGludGVnZXIgb2JqZWN0IChzdWNoXG4gICBhcyBpbiBzbGljaW5nLCBvciBpbiB0aGUgYnVpbHQtaW4gImJpbigpIiwgImhleCgpIiBhbmQgIm9jdCgpIlxuICAgZnVuY3Rpb25zKS4gUHJlc2VuY2Ugb2YgdGhpcyBtZXRob2QgaW5kaWNhdGVzIHRoYXQgdGhlIG51bWVyaWNcbiAgIG9iamVjdCBpcyBhbiBpbnRlZ2VyIHR5cGUuICBNdXN0IHJldHVybiBhbiBpbnRlZ2VyLlxuXG4gICBOb3RlOiBJbiBvcmRlciB0byBoYXZlIGEgY29oZXJlbnQgaW50ZWdlciB0eXBlIGNsYXNzLCB3aGVuXG4gICAgICJfX2luZGV4X18oKSIgaXMgZGVmaW5lZCAiX19pbnRfXygpIiBzaG91bGQgYWxzbyBiZSBkZWZpbmVkLCBhbmRcbiAgICAgYm90aCBzaG91bGQgcmV0dXJuIHRoZSBzYW1lIHZhbHVlLlxuXG5cbldpdGggU3RhdGVtZW50IENvbnRleHQgTWFuYWdlcnNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQSAqY29udGV4dCBtYW5hZ2VyKiBpcyBhbiBvYmplY3QgdGhhdCBkZWZpbmVzIHRoZSBydW50aW1lIGNvbnRleHQgdG9cbmJlIGVzdGFibGlzaGVkIHdoZW4gZXhlY3V0aW5nIGEgIndpdGgiIHN0YXRlbWVudC4gVGhlIGNvbnRleHQgbWFuYWdlclxuaGFuZGxlcyB0aGUgZW50cnkgaW50bywgYW5kIHRoZSBleGl0IGZyb20sIHRoZSBkZXNpcmVkIHJ1bnRpbWUgY29udGV4dFxuZm9yIHRoZSBleGVjdXRpb24gb2YgdGhlIGJsb2NrIG9mIGNvZGUuICBDb250ZXh0IG1hbmFnZXJzIGFyZSBub3JtYWxseVxuaW52b2tlZCB1c2luZyB0aGUgIndpdGgiIHN0YXRlbWVudCAoZGVzY3JpYmVkIGluIHNlY3Rpb24gKlRoZSB3aXRoXG5zdGF0ZW1lbnQqKSwgYnV0IGNhbiBhbHNvIGJlIHVzZWQgYnkgZGlyZWN0bHkgaW52b2tpbmcgdGhlaXIgbWV0aG9kcy5cblxuVHlwaWNhbCB1c2VzIG9mIGNvbnRleHQgbWFuYWdlcnMgaW5jbHVkZSBzYXZpbmcgYW5kIHJlc3RvcmluZyB2YXJpb3VzXG5raW5kcyBvZiBnbG9iYWwgc3RhdGUsIGxvY2tpbmcgYW5kIHVubG9ja2luZyByZXNvdXJjZXMsIGNsb3Npbmcgb3BlbmVkXG5maWxlcywgZXRjLlxuXG5Gb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBjb250ZXh0IG1hbmFnZXJzLCBzZWUgKkNvbnRleHQgTWFuYWdlciBUeXBlcyouXG5cbm9iamVjdC5fX2VudGVyX18oc2VsZilcblxuICAgRW50ZXIgdGhlIHJ1bnRpbWUgY29udGV4dCByZWxhdGVkIHRvIHRoaXMgb2JqZWN0LiBUaGUgIndpdGgiXG4gICBzdGF0ZW1lbnQgd2lsbCBiaW5kIHRoaXMgbWV0aG9kXCdzIHJldHVybiB2YWx1ZSB0byB0aGUgdGFyZ2V0KHMpXG4gICBzcGVjaWZpZWQgaW4gdGhlICJhcyIgY2xhdXNlIG9mIHRoZSBzdGF0ZW1lbnQsIGlmIGFueS5cblxub2JqZWN0Ll9fZXhpdF9fKHNlbGYsIGV4Y190eXBlLCBleGNfdmFsdWUsIHRyYWNlYmFjaylcblxuICAgRXhpdCB0aGUgcnVudGltZSBjb250ZXh0IHJlbGF0ZWQgdG8gdGhpcyBvYmplY3QuIFRoZSBwYXJhbWV0ZXJzXG4gICBkZXNjcmliZSB0aGUgZXhjZXB0aW9uIHRoYXQgY2F1c2VkIHRoZSBjb250ZXh0IHRvIGJlIGV4aXRlZC4gSWYgdGhlXG4gICBjb250ZXh0IHdhcyBleGl0ZWQgd2l0aG91dCBhbiBleGNlcHRpb24sIGFsbCB0aHJlZSBhcmd1bWVudHMgd2lsbFxuICAgYmUgIk5vbmUiLlxuXG4gICBJZiBhbiBleGNlcHRpb24gaXMgc3VwcGxpZWQsIGFuZCB0aGUgbWV0aG9kIHdpc2hlcyB0byBzdXBwcmVzcyB0aGVcbiAgIGV4Y2VwdGlvbiAoaS5lLiwgcHJldmVudCBpdCBmcm9tIGJlaW5nIHByb3BhZ2F0ZWQpLCBpdCBzaG91bGRcbiAgIHJldHVybiBhIHRydWUgdmFsdWUuIE90aGVyd2lzZSwgdGhlIGV4Y2VwdGlvbiB3aWxsIGJlIHByb2Nlc3NlZFxuICAgbm9ybWFsbHkgdXBvbiBleGl0IGZyb20gdGhpcyBtZXRob2QuXG5cbiAgIE5vdGUgdGhhdCAiX19leGl0X18oKSIgbWV0aG9kcyBzaG91bGQgbm90IHJlcmFpc2UgdGhlIHBhc3NlZC1pblxuICAgZXhjZXB0aW9uOyB0aGlzIGlzIHRoZSBjYWxsZXJcJ3MgcmVzcG9uc2liaWxpdHkuXG5cblNlZSBhbHNvOiAqKlBFUCAwMzQzKiogLSBUaGUgIndpdGgiIHN0YXRlbWVudFxuXG4gICAgIFRoZSBzcGVjaWZpY2F0aW9uLCBiYWNrZ3JvdW5kLCBhbmQgZXhhbXBsZXMgZm9yIHRoZSBQeXRob24gIndpdGgiXG4gICAgIHN0YXRlbWVudC5cblxuXG5TcGVjaWFsIG1ldGhvZCBsb29rdXBcbj09PT09PT09PT09PT09PT09PT09PVxuXG5Gb3IgY3VzdG9tIGNsYXNzZXMsIGltcGxpY2l0IGludm9jYXRpb25zIG9mIHNwZWNpYWwgbWV0aG9kcyBhcmUgb25seVxuZ3VhcmFudGVlZCB0byB3b3JrIGNvcnJlY3RseSBpZiBkZWZpbmVkIG9uIGFuIG9iamVjdFwncyB0eXBlLCBub3QgaW5cbnRoZSBvYmplY3RcJ3MgaW5zdGFuY2UgZGljdGlvbmFyeS4gIFRoYXQgYmVoYXZpb3VyIGlzIHRoZSByZWFzb24gd2h5XG50aGUgZm9sbG93aW5nIGNvZGUgcmFpc2VzIGFuIGV4Y2VwdGlvbjpcblxuICAgPj4+IGNsYXNzIEM6XG4gICAuLi4gICAgIHBhc3NcbiAgIC4uLlxuICAgPj4+IGMgPSBDKClcbiAgID4+PiBjLl9fbGVuX18gPSBsYW1iZGE6IDVcbiAgID4+PiBsZW4oYylcbiAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KTpcbiAgICAgRmlsZSAiPHN0ZGluPiIsIGxpbmUgMSwgaW4gPG1vZHVsZT5cbiAgIFR5cGVFcnJvcjogb2JqZWN0IG9mIHR5cGUgXCdDXCcgaGFzIG5vIGxlbigpXG5cblRoZSByYXRpb25hbGUgYmVoaW5kIHRoaXMgYmVoYXZpb3VyIGxpZXMgd2l0aCBhIG51bWJlciBvZiBzcGVjaWFsXG5tZXRob2RzIHN1Y2ggYXMgIl9faGFzaF9fKCkiIGFuZCAiX19yZXByX18oKSIgdGhhdCBhcmUgaW1wbGVtZW50ZWQgYnlcbmFsbCBvYmplY3RzLCBpbmNsdWRpbmcgdHlwZSBvYmplY3RzLiBJZiB0aGUgaW1wbGljaXQgbG9va3VwIG9mIHRoZXNlXG5tZXRob2RzIHVzZWQgdGhlIGNvbnZlbnRpb25hbCBsb29rdXAgcHJvY2VzcywgdGhleSB3b3VsZCBmYWlsIHdoZW5cbmludm9rZWQgb24gdGhlIHR5cGUgb2JqZWN0IGl0c2VsZjpcblxuICAgPj4+IDEgLl9faGFzaF9fKCkgPT0gaGFzaCgxKVxuICAgVHJ1ZVxuICAgPj4+IGludC5fX2hhc2hfXygpID09IGhhc2goaW50KVxuICAgVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOlxuICAgICBGaWxlICI8c3RkaW4+IiwgbGluZSAxLCBpbiA8bW9kdWxlPlxuICAgVHlwZUVycm9yOiBkZXNjcmlwdG9yIFwnX19oYXNoX19cJyBvZiBcJ2ludFwnIG9iamVjdCBuZWVkcyBhbiBhcmd1bWVudFxuXG5JbmNvcnJlY3RseSBhdHRlbXB0aW5nIHRvIGludm9rZSBhbiB1bmJvdW5kIG1ldGhvZCBvZiBhIGNsYXNzIGluIHRoaXNcbndheSBpcyBzb21ldGltZXMgcmVmZXJyZWQgdG8gYXMgXCdtZXRhY2xhc3MgY29uZnVzaW9uXCcsIGFuZCBpcyBhdm9pZGVkXG5ieSBieXBhc3NpbmcgdGhlIGluc3RhbmNlIHdoZW4gbG9va2luZyB1cCBzcGVjaWFsIG1ldGhvZHM6XG5cbiAgID4+PiB0eXBlKDEpLl9faGFzaF9fKDEpID09IGhhc2goMSlcbiAgIFRydWVcbiAgID4+PiB0eXBlKGludCkuX19oYXNoX18oaW50KSA9PSBoYXNoKGludClcbiAgIFRydWVcblxuSW4gYWRkaXRpb24gdG8gYnlwYXNzaW5nIGFueSBpbnN0YW5jZSBhdHRyaWJ1dGVzIGluIHRoZSBpbnRlcmVzdCBvZlxuY29ycmVjdG5lc3MsIGltcGxpY2l0IHNwZWNpYWwgbWV0aG9kIGxvb2t1cCBnZW5lcmFsbHkgYWxzbyBieXBhc3Nlc1xudGhlICJfX2dldGF0dHJpYnV0ZV9fKCkiIG1ldGhvZCBldmVuIG9mIHRoZSBvYmplY3RcJ3MgbWV0YWNsYXNzOlxuXG4gICA+Pj4gY2xhc3MgTWV0YSh0eXBlKTpcbiAgIC4uLiAgICBkZWYgX19nZXRhdHRyaWJ1dGVfXygqYXJncyk6XG4gICAuLi4gICAgICAgcHJpbnQoIk1ldGFjbGFzcyBnZXRhdHRyaWJ1dGUgaW52b2tlZCIpXG4gICAuLi4gICAgICAgcmV0dXJuIHR5cGUuX19nZXRhdHRyaWJ1dGVfXygqYXJncylcbiAgIC4uLlxuICAgPj4+IGNsYXNzIEMob2JqZWN0LCBtZXRhY2xhc3M9TWV0YSk6XG4gICAuLi4gICAgIGRlZiBfX2xlbl9fKHNlbGYpOlxuICAgLi4uICAgICAgICAgcmV0dXJuIDEwXG4gICAuLi4gICAgIGRlZiBfX2dldGF0dHJpYnV0ZV9fKCphcmdzKTpcbiAgIC4uLiAgICAgICAgIHByaW50KCJDbGFzcyBnZXRhdHRyaWJ1dGUgaW52b2tlZCIpXG4gICAuLi4gICAgICAgICByZXR1cm4gb2JqZWN0Ll9fZ2V0YXR0cmlidXRlX18oKmFyZ3MpXG4gICAuLi5cbiAgID4+PiBjID0gQygpXG4gICA+Pj4gYy5fX2xlbl9fKCkgICAgICAgICAgICAgICAgICMgRXhwbGljaXQgbG9va3VwIHZpYSBpbnN0YW5jZVxuICAgQ2xhc3MgZ2V0YXR0cmlidXRlIGludm9rZWRcbiAgIDEwXG4gICA+Pj4gdHlwZShjKS5fX2xlbl9fKGMpICAgICAgICAgICMgRXhwbGljaXQgbG9va3VwIHZpYSB0eXBlXG4gICBNZXRhY2xhc3MgZ2V0YXR0cmlidXRlIGludm9rZWRcbiAgIDEwXG4gICA+Pj4gbGVuKGMpICAgICAgICAgICAgICAgICAgICAgICMgSW1wbGljaXQgbG9va3VwXG4gICAxMFxuXG5CeXBhc3NpbmcgdGhlICJfX2dldGF0dHJpYnV0ZV9fKCkiIG1hY2hpbmVyeSBpbiB0aGlzIGZhc2hpb24gcHJvdmlkZXNcbnNpZ25pZmljYW50IHNjb3BlIGZvciBzcGVlZCBvcHRpbWlzYXRpb25zIHdpdGhpbiB0aGUgaW50ZXJwcmV0ZXIsIGF0XG50aGUgY29zdCBvZiBzb21lIGZsZXhpYmlsaXR5IGluIHRoZSBoYW5kbGluZyBvZiBzcGVjaWFsIG1ldGhvZHMgKHRoZVxuc3BlY2lhbCBtZXRob2QgKm11c3QqIGJlIHNldCBvbiB0aGUgY2xhc3Mgb2JqZWN0IGl0c2VsZiBpbiBvcmRlciB0byBiZVxuY29uc2lzdGVudGx5IGludm9rZWQgYnkgdGhlIGludGVycHJldGVyKS5cblxuLVsgRm9vdG5vdGVzIF0tXG5cblsxXSBJdCAqaXMqIHBvc3NpYmxlIGluIHNvbWUgY2FzZXMgdG8gY2hhbmdlIGFuIG9iamVjdFwncyB0eXBlLFxuICAgIHVuZGVyIGNlcnRhaW4gY29udHJvbGxlZCBjb25kaXRpb25zLiBJdCBnZW5lcmFsbHkgaXNuXCd0IGEgZ29vZFxuICAgIGlkZWEgdGhvdWdoLCBzaW5jZSBpdCBjYW4gbGVhZCB0byBzb21lIHZlcnkgc3RyYW5nZSBiZWhhdmlvdXIgaWZcbiAgICBpdCBpcyBoYW5kbGVkIGluY29ycmVjdGx5LlxuXG5bMl0gRm9yIG9wZXJhbmRzIG9mIHRoZSBzYW1lIHR5cGUsIGl0IGlzIGFzc3VtZWQgdGhhdCBpZiB0aGUgbm9uLVxuICAgIHJlZmxlY3RlZCBtZXRob2QgKHN1Y2ggYXMgIl9fYWRkX18oKSIpIGZhaWxzIHRoZSBvcGVyYXRpb24gaXMgbm90XG4gICAgc3VwcG9ydGVkLCB3aGljaCBpcyB3aHkgdGhlIHJlZmxlY3RlZCBtZXRob2QgaXMgbm90IGNhbGxlZC5cbicsCisgJ3NwZWNpYWxuYW1lcyc6IHUnXG5TcGVjaWFsIG1ldGhvZCBuYW1lc1xuKioqKioqKioqKioqKioqKioqKipcblxuQSBjbGFzcyBjYW4gaW1wbGVtZW50IGNlcnRhaW4gb3BlcmF0aW9ucyB0aGF0IGFyZSBpbnZva2VkIGJ5IHNwZWNpYWxcbnN5bnRheCAoc3VjaCBhcyBhcml0aG1ldGljIG9wZXJhdGlvbnMgb3Igc3Vic2NyaXB0aW5nIGFuZCBzbGljaW5nKSBieVxuZGVmaW5pbmcgbWV0aG9kcyB3aXRoIHNwZWNpYWwgbmFtZXMuIFRoaXMgaXMgUHl0aG9uXCdzIGFwcHJvYWNoIHRvXG4qb3BlcmF0b3Igb3ZlcmxvYWRpbmcqLCBhbGxvd2luZyBjbGFzc2VzIHRvIGRlZmluZSB0aGVpciBvd24gYmVoYXZpb3JcbndpdGggcmVzcGVjdCB0byBsYW5ndWFnZSBvcGVyYXRvcnMuICBGb3IgaW5zdGFuY2UsIGlmIGEgY2xhc3MgZGVmaW5lc1xuYSBtZXRob2QgbmFtZWQgIl9fZ2V0aXRlbV9fKCkiLCBhbmQgIngiIGlzIGFuIGluc3RhbmNlIG9mIHRoaXMgY2xhc3MsXG50aGVuICJ4W2ldIiBpcyByb3VnaGx5IGVxdWl2YWxlbnQgdG8gInR5cGUoeCkuX19nZXRpdGVtX18oeCwgaSkiLlxuRXhjZXB0IHdoZXJlIG1lbnRpb25lZCwgYXR0ZW1wdHMgdG8gZXhlY3V0ZSBhbiBvcGVyYXRpb24gcmFpc2UgYW5cbmV4Y2VwdGlvbiB3aGVuIG5vIGFwcHJvcHJpYXRlIG1ldGhvZCBpcyBkZWZpbmVkICh0eXBpY2FsbHlcbiJBdHRyaWJ1dGVFcnJvciIgb3IgIlR5cGVFcnJvciIpLlxuXG5XaGVuIGltcGxlbWVudGluZyBhIGNsYXNzIHRoYXQgZW11bGF0ZXMgYW55IGJ1aWx0LWluIHR5cGUsIGl0IGlzXG5pbXBvcnRhbnQgdGhhdCB0aGUgZW11bGF0aW9uIG9ubHkgYmUgaW1wbGVtZW50ZWQgdG8gdGhlIGRlZ3JlZSB0aGF0IGl0XG5tYWtlcyBzZW5zZSBmb3IgdGhlIG9iamVjdCBiZWluZyBtb2RlbGxlZC4gIEZvciBleGFtcGxlLCBzb21lXG5zZXF1ZW5jZXMgbWF5IHdvcmsgd2VsbCB3aXRoIHJldHJpZXZhbCBvZiBpbmRpdmlkdWFsIGVsZW1lbnRzLCBidXRcbmV4dHJhY3RpbmcgYSBzbGljZSBtYXkgbm90IG1ha2Ugc2Vuc2UuICAoT25lIGV4YW1wbGUgb2YgdGhpcyBpcyB0aGVcbiJOb2RlTGlzdCIgaW50ZXJmYWNlIGluIHRoZSBXM0NcJ3MgRG9jdW1lbnQgT2JqZWN0IE1vZGVsLilcblxuXG5CYXNpYyBjdXN0b21pemF0aW9uXG49PT09PT09PT09PT09PT09PT09XG5cbm9iamVjdC5fX25ld19fKGNsc1ssIC4uLl0pXG5cbiAgIENhbGxlZCB0byBjcmVhdGUgYSBuZXcgaW5zdGFuY2Ugb2YgY2xhc3MgKmNscyouICAiX19uZXdfXygpIiBpcyBhXG4gICBzdGF0aWMgbWV0aG9kIChzcGVjaWFsLWNhc2VkIHNvIHlvdSBuZWVkIG5vdCBkZWNsYXJlIGl0IGFzIHN1Y2gpXG4gICB0aGF0IHRha2VzIHRoZSBjbGFzcyBvZiB3aGljaCBhbiBpbnN0YW5jZSB3YXMgcmVxdWVzdGVkIGFzIGl0c1xuICAgZmlyc3QgYXJndW1lbnQuICBUaGUgcmVtYWluaW5nIGFyZ3VtZW50cyBhcmUgdGhvc2UgcGFzc2VkIHRvIHRoZVxuICAgb2JqZWN0IGNvbnN0cnVjdG9yIGV4cHJlc3Npb24gKHRoZSBjYWxsIHRvIHRoZSBjbGFzcykuICBUaGUgcmV0dXJuXG4gICB2YWx1ZSBvZiAiX19uZXdfXygpIiBzaG91bGQgYmUgdGhlIG5ldyBvYmplY3QgaW5zdGFuY2UgKHVzdWFsbHkgYW5cbiAgIGluc3RhbmNlIG9mICpjbHMqKS5cblxuICAgVHlwaWNhbCBpbXBsZW1lbnRhdGlvbnMgY3JlYXRlIGEgbmV3IGluc3RhbmNlIG9mIHRoZSBjbGFzcyBieVxuICAgaW52b2tpbmcgdGhlIHN1cGVyY2xhc3NcJ3MgIl9fbmV3X18oKSIgbWV0aG9kIHVzaW5nXG4gICAic3VwZXIoY3VycmVudGNsYXNzLCBjbHMpLl9fbmV3X18oY2xzWywgLi4uXSkiIHdpdGggYXBwcm9wcmlhdGVcbiAgIGFyZ3VtZW50cyBhbmQgdGhlbiBtb2RpZnlpbmcgdGhlIG5ld2x5LWNyZWF0ZWQgaW5zdGFuY2UgYXNcbiAgIG5lY2Vzc2FyeSBiZWZvcmUgcmV0dXJuaW5nIGl0LlxuXG4gICBJZiAiX19uZXdfXygpIiByZXR1cm5zIGFuIGluc3RhbmNlIG9mICpjbHMqLCB0aGVuIHRoZSBuZXdcbiAgIGluc3RhbmNlXCdzICJfX2luaXRfXygpIiBtZXRob2Qgd2lsbCBiZSBpbnZva2VkIGxpa2VcbiAgICJfX2luaXRfXyhzZWxmWywgLi4uXSkiLCB3aGVyZSAqc2VsZiogaXMgdGhlIG5ldyBpbnN0YW5jZSBhbmQgdGhlXG4gICByZW1haW5pbmcgYXJndW1lbnRzIGFyZSB0aGUgc2FtZSBhcyB3ZXJlIHBhc3NlZCB0byAiX19uZXdfXygpIi5cblxuICAgSWYgIl9fbmV3X18oKSIgZG9lcyBub3QgcmV0dXJuIGFuIGluc3RhbmNlIG9mICpjbHMqLCB0aGVuIHRoZSBuZXdcbiAgIGluc3RhbmNlXCdzICJfX2luaXRfXygpIiBtZXRob2Qgd2lsbCBub3QgYmUgaW52b2tlZC5cblxuICAgIl9fbmV3X18oKSIgaXMgaW50ZW5kZWQgbWFpbmx5IHRvIGFsbG93IHN1YmNsYXNzZXMgb2YgaW1tdXRhYmxlXG4gICB0eXBlcyAobGlrZSBpbnQsIHN0ciwgb3IgdHVwbGUpIHRvIGN1c3RvbWl6ZSBpbnN0YW5jZSBjcmVhdGlvbi4gIEl0XG4gICBpcyBhbHNvIGNvbW1vbmx5IG92ZXJyaWRkZW4gaW4gY3VzdG9tIG1ldGFjbGFzc2VzIGluIG9yZGVyIHRvXG4gICBjdXN0b21pemUgY2xhc3MgY3JlYXRpb24uXG5cbm9iamVjdC5fX2luaXRfXyhzZWxmWywgLi4uXSlcblxuICAgQ2FsbGVkIGFmdGVyIHRoZSBpbnN0YW5jZSBoYXMgYmVlbiBjcmVhdGVkIChieSAiX19uZXdfXygpIiksIGJ1dFxuICAgYmVmb3JlIGl0IGlzIHJldHVybmVkIHRvIHRoZSBjYWxsZXIuICBUaGUgYXJndW1lbnRzIGFyZSB0aG9zZVxuICAgcGFzc2VkIHRvIHRoZSBjbGFzcyBjb25zdHJ1Y3RvciBleHByZXNzaW9uLiAgSWYgYSBiYXNlIGNsYXNzIGhhcyBhblxuICAgIl9faW5pdF9fKCkiIG1ldGhvZCwgdGhlIGRlcml2ZWQgY2xhc3NcJ3MgIl9faW5pdF9fKCkiIG1ldGhvZCwgaWZcbiAgIGFueSwgbXVzdCBleHBsaWNpdGx5IGNhbGwgaXQgdG8gZW5zdXJlIHByb3BlciBpbml0aWFsaXphdGlvbiBvZiB0aGVcbiAgIGJhc2UgY2xhc3MgcGFydCBvZiB0aGUgaW5zdGFuY2U7IGZvciBleGFtcGxlOlxuICAgIkJhc2VDbGFzcy5fX2luaXRfXyhzZWxmLCBbYXJncy4uLl0pIi5cblxuICAgQmVjYXVzZSAiX19uZXdfXygpIiBhbmQgIl9faW5pdF9fKCkiIHdvcmsgdG9nZXRoZXIgaW4gY29uc3RydWN0aW5nXG4gICBvYmplY3RzICgiX19uZXdfXygpIiB0byBjcmVhdGUgaXQsIGFuZCAiX19pbml0X18oKSIgdG8gY3VzdG9taXNlXG4gICBpdCksIG5vIG5vbi0iTm9uZSIgdmFsdWUgbWF5IGJlIHJldHVybmVkIGJ5ICJfX2luaXRfXygpIjsgZG9pbmcgc29cbiAgIHdpbGwgY2F1c2UgYSAiVHlwZUVycm9yIiB0byBiZSByYWlzZWQgYXQgcnVudGltZS5cblxub2JqZWN0Ll9fZGVsX18oc2VsZilcblxuICAgQ2FsbGVkIHdoZW4gdGhlIGluc3RhbmNlIGlzIGFib3V0IHRvIGJlIGRlc3Ryb3llZC4gIFRoaXMgaXMgYWxzb1xuICAgY2FsbGVkIGEgZGVzdHJ1Y3Rvci4gIElmIGEgYmFzZSBjbGFzcyBoYXMgYSAiX19kZWxfXygpIiBtZXRob2QsIHRoZVxuICAgZGVyaXZlZCBjbGFzc1wncyAiX19kZWxfXygpIiBtZXRob2QsIGlmIGFueSwgbXVzdCBleHBsaWNpdGx5IGNhbGwgaXRcbiAgIHRvIGVuc3VyZSBwcm9wZXIgZGVsZXRpb24gb2YgdGhlIGJhc2UgY2xhc3MgcGFydCBvZiB0aGUgaW5zdGFuY2UuXG4gICBOb3RlIHRoYXQgaXQgaXMgcG9zc2libGUgKHRob3VnaCBub3QgcmVjb21tZW5kZWQhKSBmb3IgdGhlXG4gICAiX19kZWxfXygpIiBtZXRob2QgdG8gcG9zdHBvbmUgZGVzdHJ1Y3Rpb24gb2YgdGhlIGluc3RhbmNlIGJ5XG4gICBjcmVhdGluZyBhIG5ldyByZWZlcmVuY2UgdG8gaXQuICBJdCBtYXkgdGhlbiBiZSBjYWxsZWQgYXQgYSBsYXRlclxuICAgdGltZSB3aGVuIHRoaXMgbmV3IHJlZmVyZW5jZSBpcyBkZWxldGVkLiAgSXQgaXMgbm90IGd1YXJhbnRlZWQgdGhhdFxuICAgIl9fZGVsX18oKSIgbWV0aG9kcyBhcmUgY2FsbGVkIGZvciBvYmplY3RzIHRoYXQgc3RpbGwgZXhpc3Qgd2hlblxuICAgdGhlIGludGVycHJldGVyIGV4aXRzLlxuXG4gICBOb3RlOiAiZGVsIHgiIGRvZXNuXCd0IGRpcmVjdGx5IGNhbGwgInguX19kZWxfXygpIiAtLS0gdGhlIGZvcm1lclxuICAgICBkZWNyZW1lbnRzIHRoZSByZWZlcmVuY2UgY291bnQgZm9yICJ4IiBieSBvbmUsIGFuZCB0aGUgbGF0dGVyIGlzXG4gICAgIG9ubHkgY2FsbGVkIHdoZW4gIngiXCdzIHJlZmVyZW5jZSBjb3VudCByZWFjaGVzIHplcm8uICBTb21lIGNvbW1vblxuICAgICBzaXR1YXRpb25zIHRoYXQgbWF5IHByZXZlbnQgdGhlIHJlZmVyZW5jZSBjb3VudCBvZiBhbiBvYmplY3QgZnJvbVxuICAgICBnb2luZyB0byB6ZXJvIGluY2x1ZGU6IGNpcmN1bGFyIHJlZmVyZW5jZXMgYmV0d2VlbiBvYmplY3RzIChlLmcuLFxuICAgICBhIGRvdWJseS1saW5rZWQgbGlzdCBvciBhIHRyZWUgZGF0YSBzdHJ1Y3R1cmUgd2l0aCBwYXJlbnQgYW5kXG4gICAgIGNoaWxkIHBvaW50ZXJzKTsgYSByZWZlcmVuY2UgdG8gdGhlIG9iamVjdCBvbiB0aGUgc3RhY2sgZnJhbWUgb2ZcbiAgICAgYSBmdW5jdGlvbiB0aGF0IGNhdWdodCBhbiBleGNlcHRpb24gKHRoZSB0cmFjZWJhY2sgc3RvcmVkIGluXG4gICAgICJzeXMuZXhjX2luZm8oKVsyXSIga2VlcHMgdGhlIHN0YWNrIGZyYW1lIGFsaXZlKTsgb3IgYSByZWZlcmVuY2VcbiAgICAgdG8gdGhlIG9iamVjdCBvbiB0aGUgc3RhY2sgZnJhbWUgdGhhdCByYWlzZWQgYW4gdW5oYW5kbGVkXG4gICAgIGV4Y2VwdGlvbiBpbiBpbnRlcmFjdGl2ZSBtb2RlICh0aGUgdHJhY2ViYWNrIHN0b3JlZCBpblxuICAgICAic3lzLmxhc3RfdHJhY2ViYWNrIiBrZWVwcyB0aGUgc3RhY2sgZnJhbWUgYWxpdmUpLiAgVGhlIGZpcnN0XG4gICAgIHNpdHVhdGlvbiBjYW4gb25seSBiZSByZW1lZGllZCBieSBleHBsaWNpdGx5IGJyZWFraW5nIHRoZSBjeWNsZXM7XG4gICAgIHRoZSBzZWNvbmQgY2FuIGJlIHJlc29sdmVkIGJ5IGZyZWVpbmcgdGhlIHJlZmVyZW5jZSB0byB0aGVcbiAgICAgdHJhY2ViYWNrIG9iamVjdCB3aGVuIGl0IGlzIG5vIGxvbmdlciB1c2VmdWwsIGFuZCB0aGUgdGhpcmQgY2FuXG4gICAgIGJlIHJlc29sdmVkIGJ5IHN0b3JpbmcgIk5vbmUiIGluICJzeXMubGFzdF90cmFjZWJhY2siLiBDaXJjdWxhclxuICAgICByZWZlcmVuY2VzIHdoaWNoIGFyZSBnYXJiYWdlIGFyZSBkZXRlY3RlZCBhbmQgY2xlYW5lZCB1cCB3aGVuIHRoZVxuICAgICBjeWNsaWMgZ2FyYmFnZSBjb2xsZWN0b3IgaXMgZW5hYmxlZCAoaXRcJ3Mgb24gYnkgZGVmYXVsdCkuIFJlZmVyXG4gICAgIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgImdjIiBtb2R1bGUgZm9yIG1vcmUgaW5mb3JtYXRpb25cbiAgICAgYWJvdXQgdGhpcyB0b3BpYy5cblxuICAgV2FybmluZzogRHVlIHRvIHRoZSBwcmVjYXJpb3VzIGNpcmN1bXN0YW5jZXMgdW5kZXIgd2hpY2hcbiAgICAgIl9fZGVsX18oKSIgbWV0aG9kcyBhcmUgaW52b2tlZCwgZXhjZXB0aW9ucyB0aGF0IG9jY3VyIGR1cmluZ1xuICAgICB0aGVpciBleGVjdXRpb24gYXJlIGlnbm9yZWQsIGFuZCBhIHdhcm5pbmcgaXMgcHJpbnRlZCB0b1xuICAgICAic3lzLnN0ZGVyciIgaW5zdGVhZC4gQWxzbywgd2hlbiAiX19kZWxfXygpIiBpcyBpbnZva2VkIGluXG4gICAgIHJlc3BvbnNlIHRvIGEgbW9kdWxlIGJlaW5nIGRlbGV0ZWQgKGUuZy4sIHdoZW4gZXhlY3V0aW9uIG9mIHRoZVxuICAgICBwcm9ncmFtIGlzIGRvbmUpLCBvdGhlciBnbG9iYWxzIHJlZmVyZW5jZWQgYnkgdGhlICJfX2RlbF9fKCkiXG4gICAgIG1ldGhvZCBtYXkgYWxyZWFkeSBoYXZlIGJlZW4gZGVsZXRlZCBvciBpbiB0aGUgcHJvY2VzcyBvZiBiZWluZ1xuICAgICB0b3JuIGRvd24gKGUuZy4gdGhlIGltcG9ydCBtYWNoaW5lcnkgc2h1dHRpbmcgZG93bikuICBGb3IgdGhpc1xuICAgICByZWFzb24sICJfX2RlbF9fKCkiIG1ldGhvZHMgc2hvdWxkIGRvIHRoZSBhYnNvbHV0ZSBtaW5pbXVtIG5lZWRlZFxuICAgICB0byBtYWludGFpbiBleHRlcm5hbCBpbnZhcmlhbnRzLiAgU3RhcnRpbmcgd2l0aCB2ZXJzaW9uIDEuNSxcbiAgICAgUHl0aG9uIGd1YXJhbnRlZXMgdGhhdCBnbG9iYWxzIHdob3NlIG5hbWUgYmVnaW5zIHdpdGggYSBzaW5nbGVcbiAgICAgdW5kZXJzY29yZSBhcmUgZGVsZXRlZCBmcm9tIHRoZWlyIG1vZHVsZSBiZWZvcmUgb3RoZXIgZ2xvYmFscyBhcmVcbiAgICAgZGVsZXRlZDsgaWYgbm8gb3RoZXIgcmVmZXJlbmNlcyB0byBzdWNoIGdsb2JhbHMgZXhpc3QsIHRoaXMgbWF5XG4gICAgIGhlbHAgaW4gYXNzdXJpbmcgdGhhdCBpbXBvcnRlZCBtb2R1bGVzIGFyZSBzdGlsbCBhdmFpbGFibGUgYXQgdGhlXG4gICAgIHRpbWUgd2hlbiB0aGUgIl9fZGVsX18oKSIgbWV0aG9kIGlzIGNhbGxlZC5cblxub2JqZWN0Ll9fcmVwcl9fKHNlbGYpXG5cbiAgIENhbGxlZCBieSB0aGUgInJlcHIoKSIgYnVpbHQtaW4gZnVuY3Rpb24gdG8gY29tcHV0ZSB0aGUgIm9mZmljaWFsIlxuICAgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIGFuIG9iamVjdC4gIElmIGF0IGFsbCBwb3NzaWJsZSwgdGhpc1xuICAgc2hvdWxkIGxvb2sgbGlrZSBhIHZhbGlkIFB5dGhvbiBleHByZXNzaW9uIHRoYXQgY291bGQgYmUgdXNlZCB0b1xuICAgcmVjcmVhdGUgYW4gb2JqZWN0IHdpdGggdGhlIHNhbWUgdmFsdWUgKGdpdmVuIGFuIGFwcHJvcHJpYXRlXG4gICBlbnZpcm9ubWVudCkuICBJZiB0aGlzIGlzIG5vdCBwb3NzaWJsZSwgYSBzdHJpbmcgb2YgdGhlIGZvcm1cbiAgICI8Li4uc29tZSB1c2VmdWwgZGVzY3JpcHRpb24uLi4+IiBzaG91bGQgYmUgcmV0dXJuZWQuIFRoZSByZXR1cm5cbiAgIHZhbHVlIG11c3QgYmUgYSBzdHJpbmcgb2JqZWN0LiBJZiBhIGNsYXNzIGRlZmluZXMgIl9fcmVwcl9fKCkiIGJ1dFxuICAgbm90ICJfX3N0cl9fKCkiLCB0aGVuICJfX3JlcHJfXygpIiBpcyBhbHNvIHVzZWQgd2hlbiBhbiAiaW5mb3JtYWwiXG4gICBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgaW5zdGFuY2VzIG9mIHRoYXQgY2xhc3MgaXMgcmVxdWlyZWQuXG5cbiAgIFRoaXMgaXMgdHlwaWNhbGx5IHVzZWQgZm9yIGRlYnVnZ2luZywgc28gaXQgaXMgaW1wb3J0YW50IHRoYXQgdGhlXG4gICByZXByZXNlbnRhdGlvbiBpcyBpbmZvcm1hdGlvbi1yaWNoIGFuZCB1bmFtYmlndW91cy5cblxub2JqZWN0Ll9fc3RyX18oc2VsZilcblxuICAgQ2FsbGVkIGJ5ICJzdHIob2JqZWN0KSIgYW5kIHRoZSBidWlsdC1pbiBmdW5jdGlvbnMgImZvcm1hdCgpIiBhbmRcbiAgICJwcmludCgpIiB0byBjb21wdXRlIHRoZSAiaW5mb3JtYWwiIG9yIG5pY2VseSBwcmludGFibGUgc3RyaW5nXG4gICByZXByZXNlbnRhdGlvbiBvZiBhbiBvYmplY3QuICBUaGUgcmV0dXJuIHZhbHVlIG11c3QgYmUgYSAqc3RyaW5nKlxuICAgb2JqZWN0LlxuXG4gICBUaGlzIG1ldGhvZCBkaWZmZXJzIGZyb20gIm9iamVjdC5fX3JlcHJfXygpIiBpbiB0aGF0IHRoZXJlIGlzIG5vXG4gICBleHBlY3RhdGlvbiB0aGF0ICJfX3N0cl9fKCkiIHJldHVybiBhIHZhbGlkIFB5dGhvbiBleHByZXNzaW9uOiBhXG4gICBtb3JlIGNvbnZlbmllbnQgb3IgY29uY2lzZSByZXByZXNlbnRhdGlvbiBjYW4gYmUgdXNlZC5cblxuICAgVGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gZGVmaW5lZCBieSB0aGUgYnVpbHQtaW4gdHlwZSAib2JqZWN0IlxuICAgY2FsbHMgIm9iamVjdC5fX3JlcHJfXygpIi5cblxub2JqZWN0Ll9fYnl0ZXNfXyhzZWxmKVxuXG4gICBDYWxsZWQgYnkgImJ5dGVzKCkiIHRvIGNvbXB1dGUgYSBieXRlLXN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhblxuICAgb2JqZWN0LiBUaGlzIHNob3VsZCByZXR1cm4gYSAiYnl0ZXMiIG9iamVjdC5cblxub2JqZWN0Ll9fZm9ybWF0X18oc2VsZiwgZm9ybWF0X3NwZWMpXG5cbiAgIENhbGxlZCBieSB0aGUgImZvcm1hdCgpIiBidWlsdC1pbiBmdW5jdGlvbiAoYW5kIGJ5IGV4dGVuc2lvbiwgdGhlXG4gICAic3RyLmZvcm1hdCgpIiBtZXRob2Qgb2YgY2xhc3MgInN0ciIpIHRvIHByb2R1Y2UgYSAiZm9ybWF0dGVkIlxuICAgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIGFuIG9iamVjdC4gVGhlICJmb3JtYXRfc3BlYyIgYXJndW1lbnQgaXMgYVxuICAgc3RyaW5nIHRoYXQgY29udGFpbnMgYSBkZXNjcmlwdGlvbiBvZiB0aGUgZm9ybWF0dGluZyBvcHRpb25zXG4gICBkZXNpcmVkLiBUaGUgaW50ZXJwcmV0YXRpb24gb2YgdGhlICJmb3JtYXRfc3BlYyIgYXJndW1lbnQgaXMgdXAgdG9cbiAgIHRoZSB0eXBlIGltcGxlbWVudGluZyAiX19mb3JtYXRfXygpIiwgaG93ZXZlciBtb3N0IGNsYXNzZXMgd2lsbFxuICAgZWl0aGVyIGRlbGVnYXRlIGZvcm1hdHRpbmcgdG8gb25lIG9mIHRoZSBidWlsdC1pbiB0eXBlcywgb3IgdXNlIGFcbiAgIHNpbWlsYXIgZm9ybWF0dGluZyBvcHRpb24gc3ludGF4LlxuXG4gICBTZWUgKkZvcm1hdCBTcGVjaWZpY2F0aW9uIE1pbmktTGFuZ3VhZ2UqIGZvciBhIGRlc2NyaXB0aW9uIG9mIHRoZVxuICAgc3RhbmRhcmQgZm9ybWF0dGluZyBzeW50YXguXG5cbiAgIFRoZSByZXR1cm4gdmFsdWUgbXVzdCBiZSBhIHN0cmluZyBvYmplY3QuXG5cbiAgIENoYW5nZWQgaW4gdmVyc2lvbiAzLjQ6IFRoZSBfX2Zvcm1hdF9fIG1ldGhvZCBvZiAib2JqZWN0IiBpdHNlbGZcbiAgIHJhaXNlcyBhICJUeXBlRXJyb3IiIGlmIHBhc3NlZCBhbnkgbm9uLWVtcHR5IHN0cmluZy5cblxub2JqZWN0Ll9fbHRfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX2xlX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19lcV9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fbmVfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX2d0X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19nZV9fKHNlbGYsIG90aGVyKVxuXG4gICBUaGVzZSBhcmUgdGhlIHNvLWNhbGxlZCAicmljaCBjb21wYXJpc29uIiBtZXRob2RzLiBUaGVcbiAgIGNvcnJlc3BvbmRlbmNlIGJldHdlZW4gb3BlcmF0b3Igc3ltYm9scyBhbmQgbWV0aG9kIG5hbWVzIGlzIGFzXG4gICBmb2xsb3dzOiAieDx5IiBjYWxscyAieC5fX2x0X18oeSkiLCAieDw9eSIgY2FsbHMgInguX19sZV9fKHkpIixcbiAgICJ4PT15IiBjYWxscyAieC5fX2VxX18oeSkiLCAieCE9eSIgY2FsbHMgInguX19uZV9fKHkpIiwgIng+eSIgY2FsbHNcbiAgICJ4Ll9fZ3RfXyh5KSIsIGFuZCAieD49eSIgY2FsbHMgInguX19nZV9fKHkpIi5cblxuICAgQSByaWNoIGNvbXBhcmlzb24gbWV0aG9kIG1heSByZXR1cm4gdGhlIHNpbmdsZXRvbiAiTm90SW1wbGVtZW50ZWQiXG4gICBpZiBpdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIG9wZXJhdGlvbiBmb3IgYSBnaXZlbiBwYWlyIG9mXG4gICBhcmd1bWVudHMuIEJ5IGNvbnZlbnRpb24sICJGYWxzZSIgYW5kICJUcnVlIiBhcmUgcmV0dXJuZWQgZm9yIGFcbiAgIHN1Y2Nlc3NmdWwgY29tcGFyaXNvbi4gSG93ZXZlciwgdGhlc2UgbWV0aG9kcyBjYW4gcmV0dXJuIGFueSB2YWx1ZSxcbiAgIHNvIGlmIHRoZSBjb21wYXJpc29uIG9wZXJhdG9yIGlzIHVzZWQgaW4gYSBCb29sZWFuIGNvbnRleHQgKGUuZy4sXG4gICBpbiB0aGUgY29uZGl0aW9uIG9mIGFuICJpZiIgc3RhdGVtZW50KSwgUHl0aG9uIHdpbGwgY2FsbCAiYm9vbCgpIlxuICAgb24gdGhlIHZhbHVlIHRvIGRldGVybWluZSBpZiB0aGUgcmVzdWx0IGlzIHRydWUgb3IgZmFsc2UuXG5cbiAgIFRoZXJlIGFyZSBubyBpbXBsaWVkIHJlbGF0aW9uc2hpcHMgYW1vbmcgdGhlIGNvbXBhcmlzb24gb3BlcmF0b3JzLlxuICAgVGhlIHRydXRoIG9mICJ4PT15IiBkb2VzIG5vdCBpbXBseSB0aGF0ICJ4IT15IiBpcyBmYWxzZS5cbiAgIEFjY29yZGluZ2x5LCB3aGVuIGRlZmluaW5nICJfX2VxX18oKSIsIG9uZSBzaG91bGQgYWxzbyBkZWZpbmVcbiAgICJfX25lX18oKSIgc28gdGhhdCB0aGUgb3BlcmF0b3JzIHdpbGwgYmVoYXZlIGFzIGV4cGVjdGVkLiAgU2VlIHRoZVxuICAgcGFyYWdyYXBoIG9uICJfX2hhc2hfXygpIiBmb3Igc29tZSBpbXBvcnRhbnQgbm90ZXMgb24gY3JlYXRpbmdcbiAgICpoYXNoYWJsZSogb2JqZWN0cyB3aGljaCBzdXBwb3J0IGN1c3RvbSBjb21wYXJpc29uIG9wZXJhdGlvbnMgYW5kXG4gICBhcmUgdXNhYmxlIGFzIGRpY3Rpb25hcnkga2V5cy5cblxuICAgVGhlcmUgYXJlIG5vIHN3YXBwZWQtYXJndW1lbnQgdmVyc2lvbnMgb2YgdGhlc2UgbWV0aG9kcyAodG8gYmUgdXNlZFxuICAgd2hlbiB0aGUgbGVmdCBhcmd1bWVudCBkb2VzIG5vdCBzdXBwb3J0IHRoZSBvcGVyYXRpb24gYnV0IHRoZSByaWdodFxuICAgYXJndW1lbnQgZG9lcyk7IHJhdGhlciwgIl9fbHRfXygpIiBhbmQgIl9fZ3RfXygpIiBhcmUgZWFjaCBvdGhlclwnc1xuICAgcmVmbGVjdGlvbiwgIl9fbGVfXygpIiBhbmQgIl9fZ2VfXygpIiBhcmUgZWFjaCBvdGhlclwncyByZWZsZWN0aW9uLFxuICAgYW5kICJfX2VxX18oKSIgYW5kICJfX25lX18oKSIgYXJlIHRoZWlyIG93biByZWZsZWN0aW9uLlxuXG4gICBBcmd1bWVudHMgdG8gcmljaCBjb21wYXJpc29uIG1ldGhvZHMgYXJlIG5ldmVyIGNvZXJjZWQuXG5cbiAgIFRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgb3JkZXJpbmcgb3BlcmF0aW9ucyBmcm9tIGEgc2luZ2xlIHJvb3RcbiAgIG9wZXJhdGlvbiwgc2VlICJmdW5jdG9vbHMudG90YWxfb3JkZXJpbmcoKSIuXG5cbm9iamVjdC5fX2hhc2hfXyhzZWxmKVxuXG4gICBDYWxsZWQgYnkgYnVpbHQtaW4gZnVuY3Rpb24gImhhc2goKSIgYW5kIGZvciBvcGVyYXRpb25zIG9uIG1lbWJlcnNcbiAgIG9mIGhhc2hlZCBjb2xsZWN0aW9ucyBpbmNsdWRpbmcgInNldCIsICJmcm96ZW5zZXQiLCBhbmQgImRpY3QiLlxuICAgIl9faGFzaF9fKCkiIHNob3VsZCByZXR1cm4gYW4gaW50ZWdlci4gIFRoZSBvbmx5IHJlcXVpcmVkIHByb3BlcnR5XG4gICBpcyB0aGF0IG9iamVjdHMgd2hpY2ggY29tcGFyZSBlcXVhbCBoYXZlIHRoZSBzYW1lIGhhc2ggdmFsdWU7IGl0IGlzXG4gICBhZHZpc2VkIHRvIHNvbWVob3cgbWl4IHRvZ2V0aGVyIChlLmcuIHVzaW5nIGV4Y2x1c2l2ZSBvcikgdGhlIGhhc2hcbiAgIHZhbHVlcyBmb3IgdGhlIGNvbXBvbmVudHMgb2YgdGhlIG9iamVjdCB0aGF0IGFsc28gcGxheSBhIHBhcnQgaW5cbiAgIGNvbXBhcmlzb24gb2Ygb2JqZWN0cy5cblxuICAgTm90ZTogImhhc2goKSIgdHJ1bmNhdGVzIHRoZSB2YWx1ZSByZXR1cm5lZCBmcm9tIGFuIG9iamVjdFwnc1xuICAgICBjdXN0b20gIl9faGFzaF9fKCkiIG1ldGhvZCB0byB0aGUgc2l6ZSBvZiBhICJQeV9zc2l6ZV90Ii4gIFRoaXNcbiAgICAgaXMgdHlwaWNhbGx5IDggYnl0ZXMgb24gNjQtYml0IGJ1aWxkcyBhbmQgNCBieXRlcyBvbiAzMi1iaXRcbiAgICAgYnVpbGRzLiBJZiBhbiBvYmplY3RcJ3MgICAiX19oYXNoX18oKSIgbXVzdCBpbnRlcm9wZXJhdGUgb24gYnVpbGRzXG4gICAgIG9mIGRpZmZlcmVudCBiaXQgc2l6ZXMsIGJlIHN1cmUgdG8gY2hlY2sgdGhlIHdpZHRoIG9uIGFsbFxuICAgICBzdXBwb3J0ZWQgYnVpbGRzLiAgQW4gZWFzeSB3YXkgdG8gZG8gdGhpcyBpcyB3aXRoICJweXRob24gLWNcbiAgICAgImltcG9ydCBzeXM7IHByaW50KHN5cy5oYXNoX2luZm8ud2lkdGgpIiJcblxuICAgSWYgYSBjbGFzcyBkb2VzIG5vdCBkZWZpbmUgYW4gIl9fZXFfXygpIiBtZXRob2QgaXQgc2hvdWxkIG5vdFxuICAgZGVmaW5lIGEgIl9faGFzaF9fKCkiIG9wZXJhdGlvbiBlaXRoZXI7IGlmIGl0IGRlZmluZXMgIl9fZXFfXygpIlxuICAgYnV0IG5vdCAiX19oYXNoX18oKSIsIGl0cyBpbnN0YW5jZXMgd2lsbCBub3QgYmUgdXNhYmxlIGFzIGl0ZW1zIGluXG4gICBoYXNoYWJsZSBjb2xsZWN0aW9ucy4gIElmIGEgY2xhc3MgZGVmaW5lcyBtdXRhYmxlIG9iamVjdHMgYW5kXG4gICBpbXBsZW1lbnRzIGFuICJfX2VxX18oKSIgbWV0aG9kLCBpdCBzaG91bGQgbm90IGltcGxlbWVudFxuICAgIl9faGFzaF9fKCkiLCBzaW5jZSB0aGUgaW1wbGVtZW50YXRpb24gb2YgaGFzaGFibGUgY29sbGVjdGlvbnNcbiAgIHJlcXVpcmVzIHRoYXQgYSBrZXlcJ3MgaGFzaCB2YWx1ZSBpcyBpbW11dGFibGUgKGlmIHRoZSBvYmplY3RcJ3MgaGFzaFxuICAgdmFsdWUgY2hhbmdlcywgaXQgd2lsbCBiZSBpbiB0aGUgd3JvbmcgaGFzaCBidWNrZXQpLlxuXG4gICBVc2VyLWRlZmluZWQgY2xhc3NlcyBoYXZlICJfX2VxX18oKSIgYW5kICJfX2hhc2hfXygpIiBtZXRob2RzIGJ5XG4gICBkZWZhdWx0OyB3aXRoIHRoZW0sIGFsbCBvYmplY3RzIGNvbXBhcmUgdW5lcXVhbCAoZXhjZXB0IHdpdGhcbiAgIHRoZW1zZWx2ZXMpIGFuZCAieC5fX2hhc2hfXygpIiByZXR1cm5zIGFuIGFwcHJvcHJpYXRlIHZhbHVlIHN1Y2hcbiAgIHRoYXQgInggPT0geSIgaW1wbGllcyBib3RoIHRoYXQgInggaXMgeSIgYW5kICJoYXNoKHgpID09IGhhc2goeSkiLlxuXG4gICBBIGNsYXNzIHRoYXQgb3ZlcnJpZGVzICJfX2VxX18oKSIgYW5kIGRvZXMgbm90IGRlZmluZSAiX19oYXNoX18oKSJcbiAgIHdpbGwgaGF2ZSBpdHMgIl9faGFzaF9fKCkiIGltcGxpY2l0bHkgc2V0IHRvICJOb25lIi4gIFdoZW4gdGhlXG4gICAiX19oYXNoX18oKSIgbWV0aG9kIG9mIGEgY2xhc3MgaXMgIk5vbmUiLCBpbnN0YW5jZXMgb2YgdGhlIGNsYXNzXG4gICB3aWxsIHJhaXNlIGFuIGFwcHJvcHJpYXRlICJUeXBlRXJyb3IiIHdoZW4gYSBwcm9ncmFtIGF0dGVtcHRzIHRvXG4gICByZXRyaWV2ZSB0aGVpciBoYXNoIHZhbHVlLCBhbmQgd2lsbCBhbHNvIGJlIGNvcnJlY3RseSBpZGVudGlmaWVkIGFzXG4gICB1bmhhc2hhYmxlIHdoZW4gY2hlY2tpbmcgImlzaW5zdGFuY2Uob2JqLCBjb2xsZWN0aW9ucy5IYXNoYWJsZSIpLlxuXG4gICBJZiBhIGNsYXNzIHRoYXQgb3ZlcnJpZGVzICJfX2VxX18oKSIgbmVlZHMgdG8gcmV0YWluIHRoZVxuICAgaW1wbGVtZW50YXRpb24gb2YgIl9faGFzaF9fKCkiIGZyb20gYSBwYXJlbnQgY2xhc3MsIHRoZSBpbnRlcnByZXRlclxuICAgbXVzdCBiZSB0b2xkIHRoaXMgZXhwbGljaXRseSBieSBzZXR0aW5nICJfX2hhc2hfXyA9XG4gICA8UGFyZW50Q2xhc3M+Ll9faGFzaF9fIi5cblxuICAgSWYgYSBjbGFzcyB0aGF0IGRvZXMgbm90IG92ZXJyaWRlICJfX2VxX18oKSIgd2lzaGVzIHRvIHN1cHByZXNzXG4gICBoYXNoIHN1cHBvcnQsIGl0IHNob3VsZCBpbmNsdWRlICJfX2hhc2hfXyA9IE5vbmUiIGluIHRoZSBjbGFzc1xuICAgZGVmaW5pdGlvbi4gQSBjbGFzcyB3aGljaCBkZWZpbmVzIGl0cyBvd24gIl9faGFzaF9fKCkiIHRoYXRcbiAgIGV4cGxpY2l0bHkgcmFpc2VzIGEgIlR5cGVFcnJvciIgd291bGQgYmUgaW5jb3JyZWN0bHkgaWRlbnRpZmllZCBhc1xuICAgaGFzaGFibGUgYnkgYW4gImlzaW5zdGFuY2Uob2JqLCBjb2xsZWN0aW9ucy5IYXNoYWJsZSkiIGNhbGwuXG5cbiAgIE5vdGU6IEJ5IGRlZmF1bHQsIHRoZSAiX19oYXNoX18oKSIgdmFsdWVzIG9mIHN0ciwgYnl0ZXMgYW5kXG4gICAgIGRhdGV0aW1lIG9iamVjdHMgYXJlICJzYWx0ZWQiIHdpdGggYW4gdW5wcmVkaWN0YWJsZSByYW5kb20gdmFsdWUuXG4gICAgIEFsdGhvdWdoIHRoZXkgcmVtYWluIGNvbnN0YW50IHdpdGhpbiBhbiBpbmRpdmlkdWFsIFB5dGhvblxuICAgICBwcm9jZXNzLCB0aGV5IGFyZSBub3QgcHJlZGljdGFibGUgYmV0d2VlbiByZXBlYXRlZCBpbnZvY2F0aW9ucyBvZlxuICAgICBQeXRob24uVGhpcyBpcyBpbnRlbmRlZCB0byBwcm92aWRlIHByb3RlY3Rpb24gYWdhaW5zdCBhIGRlbmlhbC1cbiAgICAgb2Ytc2VydmljZSBjYXVzZWQgYnkgY2FyZWZ1bGx5LWNob3NlbiBpbnB1dHMgdGhhdCBleHBsb2l0IHRoZVxuICAgICB3b3JzdCBjYXNlIHBlcmZvcm1hbmNlIG9mIGEgZGljdCBpbnNlcnRpb24sIE8obl4yKSBjb21wbGV4aXR5LlxuICAgICBTZWUgaHR0cDovL3d3dy5vY2VydC5vcmcvYWR2aXNvcmllcy9vY2VydC0yMDExLTAwMy5odG1sIGZvclxuICAgICBkZXRhaWxzLkNoYW5naW5nIGhhc2ggdmFsdWVzIGFmZmVjdHMgdGhlIGl0ZXJhdGlvbiBvcmRlciBvZlxuICAgICBkaWN0cywgc2V0cyBhbmQgb3RoZXIgbWFwcGluZ3MuICBQeXRob24gaGFzIG5ldmVyIG1hZGUgZ3VhcmFudGVlc1xuICAgICBhYm91dCB0aGlzIG9yZGVyaW5nIChhbmQgaXQgdHlwaWNhbGx5IHZhcmllcyBiZXR3ZWVuIDMyLWJpdCBhbmRcbiAgICAgNjQtYml0IGJ1aWxkcykuU2VlIGFsc28gIlBZVEhPTkhBU0hTRUVEIi5cblxuICAgQ2hhbmdlZCBpbiB2ZXJzaW9uIDMuMzogSGFzaCByYW5kb21pemF0aW9uIGlzIGVuYWJsZWQgYnkgZGVmYXVsdC5cblxub2JqZWN0Ll9fYm9vbF9fKHNlbGYpXG5cbiAgIENhbGxlZCB0byBpbXBsZW1lbnQgdHJ1dGggdmFsdWUgdGVzdGluZyBhbmQgdGhlIGJ1aWx0LWluIG9wZXJhdGlvblxuICAgImJvb2woKSI7IHNob3VsZCByZXR1cm4gIkZhbHNlIiBvciAiVHJ1ZSIuICBXaGVuIHRoaXMgbWV0aG9kIGlzIG5vdFxuICAgZGVmaW5lZCwgIl9fbGVuX18oKSIgaXMgY2FsbGVkLCBpZiBpdCBpcyBkZWZpbmVkLCBhbmQgdGhlIG9iamVjdCBpc1xuICAgY29uc2lkZXJlZCB0cnVlIGlmIGl0cyByZXN1bHQgaXMgbm9uemVyby4gIElmIGEgY2xhc3MgZGVmaW5lc1xuICAgbmVpdGhlciAiX19sZW5fXygpIiBub3IgIl9fYm9vbF9fKCkiLCBhbGwgaXRzIGluc3RhbmNlcyBhcmVcbiAgIGNvbnNpZGVyZWQgdHJ1ZS5cblxuXG5DdXN0b21pemluZyBhdHRyaWJ1dGUgYWNjZXNzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblRoZSBmb2xsb3dpbmcgbWV0aG9kcyBjYW4gYmUgZGVmaW5lZCB0byBjdXN0b21pemUgdGhlIG1lYW5pbmcgb2ZcbmF0dHJpYnV0ZSBhY2Nlc3MgKHVzZSBvZiwgYXNzaWdubWVudCB0bywgb3IgZGVsZXRpb24gb2YgIngubmFtZSIpIGZvclxuY2xhc3MgaW5zdGFuY2VzLlxuXG5vYmplY3QuX19nZXRhdHRyX18oc2VsZiwgbmFtZSlcblxuICAgQ2FsbGVkIHdoZW4gYW4gYXR0cmlidXRlIGxvb2t1cCBoYXMgbm90IGZvdW5kIHRoZSBhdHRyaWJ1dGUgaW4gdGhlXG4gICB1c3VhbCBwbGFjZXMgKGkuZS4gaXQgaXMgbm90IGFuIGluc3RhbmNlIGF0dHJpYnV0ZSBub3IgaXMgaXQgZm91bmRcbiAgIGluIHRoZSBjbGFzcyB0cmVlIGZvciAic2VsZiIpLiAgIm5hbWUiIGlzIHRoZSBhdHRyaWJ1dGUgbmFtZS4gVGhpc1xuICAgbWV0aG9kIHNob3VsZCByZXR1cm4gdGhlIChjb21wdXRlZCkgYXR0cmlidXRlIHZhbHVlIG9yIHJhaXNlIGFuXG4gICAiQXR0cmlidXRlRXJyb3IiIGV4Y2VwdGlvbi5cblxuICAgTm90ZSB0aGF0IGlmIHRoZSBhdHRyaWJ1dGUgaXMgZm91bmQgdGhyb3VnaCB0aGUgbm9ybWFsIG1lY2hhbmlzbSxcbiAgICJfX2dldGF0dHJfXygpIiBpcyBub3QgY2FsbGVkLiAgKFRoaXMgaXMgYW4gaW50ZW50aW9uYWwgYXN5bW1ldHJ5XG4gICBiZXR3ZWVuICJfX2dldGF0dHJfXygpIiBhbmQgIl9fc2V0YXR0cl9fKCkiLikgVGhpcyBpcyBkb25lIGJvdGggZm9yXG4gICBlZmZpY2llbmN5IHJlYXNvbnMgYW5kIGJlY2F1c2Ugb3RoZXJ3aXNlICJfX2dldGF0dHJfXygpIiB3b3VsZCBoYXZlXG4gICBubyB3YXkgdG8gYWNjZXNzIG90aGVyIGF0dHJpYnV0ZXMgb2YgdGhlIGluc3RhbmNlLiAgTm90ZSB0aGF0IGF0XG4gICBsZWFzdCBmb3IgaW5zdGFuY2UgdmFyaWFibGVzLCB5b3UgY2FuIGZha2UgdG90YWwgY29udHJvbCBieSBub3RcbiAgIGluc2VydGluZyBhbnkgdmFsdWVzIGluIHRoZSBpbnN0YW5jZSBhdHRyaWJ1dGUgZGljdGlvbmFyeSAoYnV0XG4gICBpbnN0ZWFkIGluc2VydGluZyB0aGVtIGluIGFub3RoZXIgb2JqZWN0KS4gIFNlZSB0aGVcbiAgICJfX2dldGF0dHJpYnV0ZV9fKCkiIG1ldGhvZCBiZWxvdyBmb3IgYSB3YXkgdG8gYWN0dWFsbHkgZ2V0IHRvdGFsXG4gICBjb250cm9sIG92ZXIgYXR0cmlidXRlIGFjY2Vzcy5cblxub2JqZWN0Ll9fZ2V0YXR0cmlidXRlX18oc2VsZiwgbmFtZSlcblxuICAgQ2FsbGVkIHVuY29uZGl0aW9uYWxseSB0byBpbXBsZW1lbnQgYXR0cmlidXRlIGFjY2Vzc2VzIGZvclxuICAgaW5zdGFuY2VzIG9mIHRoZSBjbGFzcy4gSWYgdGhlIGNsYXNzIGFsc28gZGVmaW5lcyAiX19nZXRhdHRyX18oKSIsXG4gICB0aGUgbGF0dGVyIHdpbGwgbm90IGJlIGNhbGxlZCB1bmxlc3MgIl9fZ2V0YXR0cmlidXRlX18oKSIgZWl0aGVyXG4gICBjYWxscyBpdCBleHBsaWNpdGx5IG9yIHJhaXNlcyBhbiAiQXR0cmlidXRlRXJyb3IiLiBUaGlzIG1ldGhvZFxuICAgc2hvdWxkIHJldHVybiB0aGUgKGNvbXB1dGVkKSBhdHRyaWJ1dGUgdmFsdWUgb3IgcmFpc2UgYW5cbiAgICJBdHRyaWJ1dGVFcnJvciIgZXhjZXB0aW9uLiBJbiBvcmRlciB0byBhdm9pZCBpbmZpbml0ZSByZWN1cnNpb24gaW5cbiAgIHRoaXMgbWV0aG9kLCBpdHMgaW1wbGVtZW50YXRpb24gc2hvdWxkIGFsd2F5cyBjYWxsIHRoZSBiYXNlIGNsYXNzXG4gICBtZXRob2Qgd2l0aCB0aGUgc2FtZSBuYW1lIHRvIGFjY2VzcyBhbnkgYXR0cmlidXRlcyBpdCBuZWVkcywgZm9yXG4gICBleGFtcGxlLCAib2JqZWN0Ll9fZ2V0YXR0cmlidXRlX18oc2VsZiwgbmFtZSkiLlxuXG4gICBOb3RlOiBUaGlzIG1ldGhvZCBtYXkgc3RpbGwgYmUgYnlwYXNzZWQgd2hlbiBsb29raW5nIHVwIHNwZWNpYWxcbiAgICAgbWV0aG9kcyBhcyB0aGUgcmVzdWx0IG9mIGltcGxpY2l0IGludm9jYXRpb24gdmlhIGxhbmd1YWdlIHN5bnRheFxuICAgICBvciBidWlsdC1pbiBmdW5jdGlvbnMuIFNlZSAqU3BlY2lhbCBtZXRob2QgbG9va3VwKi5cblxub2JqZWN0Ll9fc2V0YXR0cl9fKHNlbGYsIG5hbWUsIHZhbHVlKVxuXG4gICBDYWxsZWQgd2hlbiBhbiBhdHRyaWJ1dGUgYXNzaWdubWVudCBpcyBhdHRlbXB0ZWQuICBUaGlzIGlzIGNhbGxlZFxuICAgaW5zdGVhZCBvZiB0aGUgbm9ybWFsIG1lY2hhbmlzbSAoaS5lLiBzdG9yZSB0aGUgdmFsdWUgaW4gdGhlXG4gICBpbnN0YW5jZSBkaWN0aW9uYXJ5KS4gKm5hbWUqIGlzIHRoZSBhdHRyaWJ1dGUgbmFtZSwgKnZhbHVlKiBpcyB0aGVcbiAgIHZhbHVlIHRvIGJlIGFzc2lnbmVkIHRvIGl0LlxuXG4gICBJZiAiX19zZXRhdHRyX18oKSIgd2FudHMgdG8gYXNzaWduIHRvIGFuIGluc3RhbmNlIGF0dHJpYnV0ZSwgaXRcbiAgIHNob3VsZCBjYWxsIHRoZSBiYXNlIGNsYXNzIG1ldGhvZCB3aXRoIHRoZSBzYW1lIG5hbWUsIGZvciBleGFtcGxlLFxuICAgIm9iamVjdC5fX3NldGF0dHJfXyhzZWxmLCBuYW1lLCB2YWx1ZSkiLlxuXG5vYmplY3QuX19kZWxhdHRyX18oc2VsZiwgbmFtZSlcblxuICAgTGlrZSAiX19zZXRhdHRyX18oKSIgYnV0IGZvciBhdHRyaWJ1dGUgZGVsZXRpb24gaW5zdGVhZCBvZlxuICAgYXNzaWdubWVudC4gIFRoaXMgc2hvdWxkIG9ubHkgYmUgaW1wbGVtZW50ZWQgaWYgImRlbCBvYmoubmFtZSIgaXNcbiAgIG1lYW5pbmdmdWwgZm9yIHRoZSBvYmplY3QuXG5cbm9iamVjdC5fX2Rpcl9fKHNlbGYpXG5cbiAgIENhbGxlZCB3aGVuICJkaXIoKSIgaXMgY2FsbGVkIG9uIHRoZSBvYmplY3QuIEEgc2VxdWVuY2UgbXVzdCBiZVxuICAgcmV0dXJuZWQuICJkaXIoKSIgY29udmVydHMgdGhlIHJldHVybmVkIHNlcXVlbmNlIHRvIGEgbGlzdCBhbmRcbiAgIHNvcnRzIGl0LlxuXG5cbkltcGxlbWVudGluZyBEZXNjcmlwdG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblRoZSBmb2xsb3dpbmcgbWV0aG9kcyBvbmx5IGFwcGx5IHdoZW4gYW4gaW5zdGFuY2Ugb2YgdGhlIGNsYXNzXG5jb250YWluaW5nIHRoZSBtZXRob2QgKGEgc28tY2FsbGVkICpkZXNjcmlwdG9yKiBjbGFzcykgYXBwZWFycyBpbiBhblxuKm93bmVyKiBjbGFzcyAodGhlIGRlc2NyaXB0b3IgbXVzdCBiZSBpbiBlaXRoZXIgdGhlIG93bmVyXCdzIGNsYXNzXG5kaWN0aW9uYXJ5IG9yIGluIHRoZSBjbGFzcyBkaWN0aW9uYXJ5IGZvciBvbmUgb2YgaXRzIHBhcmVudHMpLiAgSW4gdGhlXG5leGFtcGxlcyBiZWxvdywgInRoZSBhdHRyaWJ1dGUiIHJlZmVycyB0byB0aGUgYXR0cmlidXRlIHdob3NlIG5hbWUgaXNcbnRoZSBrZXkgb2YgdGhlIHByb3BlcnR5IGluIHRoZSBvd25lciBjbGFzc1wnICJfX2RpY3RfXyIuXG5cbm9iamVjdC5fX2dldF9fKHNlbGYsIGluc3RhbmNlLCBvd25lcilcblxuICAgQ2FsbGVkIHRvIGdldCB0aGUgYXR0cmlidXRlIG9mIHRoZSBvd25lciBjbGFzcyAoY2xhc3MgYXR0cmlidXRlXG4gICBhY2Nlc3MpIG9yIG9mIGFuIGluc3RhbmNlIG9mIHRoYXQgY2xhc3MgKGluc3RhbmNlIGF0dHJpYnV0ZVxuICAgYWNjZXNzKS4gKm93bmVyKiBpcyBhbHdheXMgdGhlIG93bmVyIGNsYXNzLCB3aGlsZSAqaW5zdGFuY2UqIGlzIHRoZVxuICAgaW5zdGFuY2UgdGhhdCB0aGUgYXR0cmlidXRlIHdhcyBhY2Nlc3NlZCB0aHJvdWdoLCBvciAiTm9uZSIgd2hlblxuICAgdGhlIGF0dHJpYnV0ZSBpcyBhY2Nlc3NlZCB0aHJvdWdoIHRoZSAqb3duZXIqLiAgVGhpcyBtZXRob2Qgc2hvdWxkXG4gICByZXR1cm4gdGhlIChjb21wdXRlZCkgYXR0cmlidXRlIHZhbHVlIG9yIHJhaXNlIGFuICJBdHRyaWJ1dGVFcnJvciJcbiAgIGV4Y2VwdGlvbi5cblxub2JqZWN0Ll9fc2V0X18oc2VsZiwgaW5zdGFuY2UsIHZhbHVlKVxuXG4gICBDYWxsZWQgdG8gc2V0IHRoZSBhdHRyaWJ1dGUgb24gYW4gaW5zdGFuY2UgKmluc3RhbmNlKiBvZiB0aGUgb3duZXJcbiAgIGNsYXNzIHRvIGEgbmV3IHZhbHVlLCAqdmFsdWUqLlxuXG5vYmplY3QuX19kZWxldGVfXyhzZWxmLCBpbnN0YW5jZSlcblxuICAgQ2FsbGVkIHRvIGRlbGV0ZSB0aGUgYXR0cmlidXRlIG9uIGFuIGluc3RhbmNlICppbnN0YW5jZSogb2YgdGhlXG4gICBvd25lciBjbGFzcy5cblxuVGhlIGF0dHJpYnV0ZSAiX19vYmpjbGFzc19fIiBpcyBpbnRlcnByZXRlZCBieSB0aGUgImluc3BlY3QiIG1vZHVsZSBhc1xuc3BlY2lmeWluZyB0aGUgY2xhc3Mgd2hlcmUgdGhpcyBvYmplY3Qgd2FzIGRlZmluZWQgKHNldHRpbmcgdGhpc1xuYXBwcm9wcmlhdGVseSBjYW4gYXNzaXN0IGluIHJ1bnRpbWUgaW50cm9zcGVjdGlvbiBvZiBkeW5hbWljIGNsYXNzXG5hdHRyaWJ1dGVzKS4gRm9yIGNhbGxhYmxlcywgaXQgbWF5IGluZGljYXRlIHRoYXQgYW4gaW5zdGFuY2Ugb2YgdGhlXG5naXZlbiB0eXBlIChvciBhIHN1YmNsYXNzKSBpcyBleHBlY3RlZCBvciByZXF1aXJlZCBhcyB0aGUgZmlyc3RcbnBvc2l0aW9uYWwgYXJndW1lbnQgKGZvciBleGFtcGxlLCBDUHl0aG9uIHNldHMgdGhpcyBhdHRyaWJ1dGUgZm9yXG51bmJvdW5kIG1ldGhvZHMgdGhhdCBhcmUgaW1wbGVtZW50ZWQgaW4gQykuXG5cblxuSW52b2tpbmcgRGVzY3JpcHRvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkluIGdlbmVyYWwsIGEgZGVzY3JpcHRvciBpcyBhbiBvYmplY3QgYXR0cmlidXRlIHdpdGggImJpbmRpbmdcbmJlaGF2aW9yIiwgb25lIHdob3NlIGF0dHJpYnV0ZSBhY2Nlc3MgaGFzIGJlZW4gb3ZlcnJpZGRlbiBieSBtZXRob2RzXG5pbiB0aGUgZGVzY3JpcHRvciBwcm90b2NvbDogICJfX2dldF9fKCkiLCAiX19zZXRfXygpIiwgYW5kXG4iX19kZWxldGVfXygpIi4gSWYgYW55IG9mIHRob3NlIG1ldGhvZHMgYXJlIGRlZmluZWQgZm9yIGFuIG9iamVjdCwgaXRcbmlzIHNhaWQgdG8gYmUgYSBkZXNjcmlwdG9yLlxuXG5UaGUgZGVmYXVsdCBiZWhhdmlvciBmb3IgYXR0cmlidXRlIGFjY2VzcyBpcyB0byBnZXQsIHNldCwgb3IgZGVsZXRlXG50aGUgYXR0cmlidXRlIGZyb20gYW4gb2JqZWN0XCdzIGRpY3Rpb25hcnkuIEZvciBpbnN0YW5jZSwgImEueCIgaGFzIGFcbmxvb2t1cCBjaGFpbiBzdGFydGluZyB3aXRoICJhLl9fZGljdF9fW1wneFwnXSIsIHRoZW5cbiJ0eXBlKGEpLl9fZGljdF9fW1wneFwnXSIsIGFuZCBjb250aW51aW5nIHRocm91Z2ggdGhlIGJhc2UgY2xhc3NlcyBvZlxuInR5cGUoYSkiIGV4Y2x1ZGluZyBtZXRhY2xhc3Nlcy5cblxuSG93ZXZlciwgaWYgdGhlIGxvb2tlZC11cCB2YWx1ZSBpcyBhbiBvYmplY3QgZGVmaW5pbmcgb25lIG9mIHRoZVxuZGVzY3JpcHRvciBtZXRob2RzLCB0aGVuIFB5dGhvbiBtYXkgb3ZlcnJpZGUgdGhlIGRlZmF1bHQgYmVoYXZpb3IgYW5kXG5pbnZva2UgdGhlIGRlc2NyaXB0b3IgbWV0aG9kIGluc3RlYWQuICBXaGVyZSB0aGlzIG9jY3VycyBpbiB0aGVcbnByZWNlZGVuY2UgY2hhaW4gZGVwZW5kcyBvbiB3aGljaCBkZXNjcmlwdG9yIG1ldGhvZHMgd2VyZSBkZWZpbmVkIGFuZFxuaG93IHRoZXkgd2VyZSBjYWxsZWQuXG5cblRoZSBzdGFydGluZyBwb2ludCBmb3IgZGVzY3JpcHRvciBpbnZvY2F0aW9uIGlzIGEgYmluZGluZywgImEueCIuIEhvd1xudGhlIGFyZ3VtZW50cyBhcmUgYXNzZW1ibGVkIGRlcGVuZHMgb24gImEiOlxuXG5EaXJlY3QgQ2FsbFxuICAgVGhlIHNpbXBsZXN0IGFuZCBsZWFzdCBjb21tb24gY2FsbCBpcyB3aGVuIHVzZXIgY29kZSBkaXJlY3RseVxuICAgaW52b2tlcyBhIGRlc2NyaXB0b3IgbWV0aG9kOiAgICAieC5fX2dldF9fKGEpIi5cblxuSW5zdGFuY2UgQmluZGluZ1xuICAgSWYgYmluZGluZyB0byBhbiBvYmplY3QgaW5zdGFuY2UsICJhLngiIGlzIHRyYW5zZm9ybWVkIGludG8gdGhlXG4gICBjYWxsOiAidHlwZShhKS5fX2RpY3RfX1tcJ3hcJ10uX19nZXRfXyhhLCB0eXBlKGEpKSIuXG5cbkNsYXNzIEJpbmRpbmdcbiAgIElmIGJpbmRpbmcgdG8gYSBjbGFzcywgIkEueCIgaXMgdHJhbnNmb3JtZWQgaW50byB0aGUgY2FsbDpcbiAgICJBLl9fZGljdF9fW1wneFwnXS5fX2dldF9fKE5vbmUsIEEpIi5cblxuU3VwZXIgQmluZGluZ1xuICAgSWYgImEiIGlzIGFuIGluc3RhbmNlIG9mICJzdXBlciIsIHRoZW4gdGhlIGJpbmRpbmcgInN1cGVyKEIsXG4gICBvYmopLm0oKSIgc2VhcmNoZXMgIm9iai5fX2NsYXNzX18uX19tcm9fXyIgZm9yIHRoZSBiYXNlIGNsYXNzICJBIlxuICAgaW1tZWRpYXRlbHkgcHJlY2VkaW5nICJCIiBhbmQgdGhlbiBpbnZva2VzIHRoZSBkZXNjcmlwdG9yIHdpdGggdGhlXG4gICBjYWxsOiAiQS5fX2RpY3RfX1tcJ21cJ10uX19nZXRfXyhvYmosIG9iai5fX2NsYXNzX18pIi5cblxuRm9yIGluc3RhbmNlIGJpbmRpbmdzLCB0aGUgcHJlY2VkZW5jZSBvZiBkZXNjcmlwdG9yIGludm9jYXRpb24gZGVwZW5kc1xub24gdGhlIHdoaWNoIGRlc2NyaXB0b3IgbWV0aG9kcyBhcmUgZGVmaW5lZC4gIEEgZGVzY3JpcHRvciBjYW4gZGVmaW5lXG5hbnkgY29tYmluYXRpb24gb2YgIl9fZ2V0X18oKSIsICJfX3NldF9fKCkiIGFuZCAiX19kZWxldGVfXygpIi4gIElmIGl0XG5kb2VzIG5vdCBkZWZpbmUgIl9fZ2V0X18oKSIsIHRoZW4gYWNjZXNzaW5nIHRoZSBhdHRyaWJ1dGUgd2lsbCByZXR1cm5cbnRoZSBkZXNjcmlwdG9yIG9iamVjdCBpdHNlbGYgdW5sZXNzIHRoZXJlIGlzIGEgdmFsdWUgaW4gdGhlIG9iamVjdFwnc1xuaW5zdGFuY2UgZGljdGlvbmFyeS4gIElmIHRoZSBkZXNjcmlwdG9yIGRlZmluZXMgIl9fc2V0X18oKSIgYW5kL29yXG4iX19kZWxldGVfXygpIiwgaXQgaXMgYSBkYXRhIGRlc2NyaXB0b3I7IGlmIGl0IGRlZmluZXMgbmVpdGhlciwgaXQgaXNcbmEgbm9uLWRhdGEgZGVzY3JpcHRvci4gIE5vcm1hbGx5LCBkYXRhIGRlc2NyaXB0b3JzIGRlZmluZSBib3RoXG4iX19nZXRfXygpIiBhbmQgIl9fc2V0X18oKSIsIHdoaWxlIG5vbi1kYXRhIGRlc2NyaXB0b3JzIGhhdmUganVzdCB0aGVcbiJfX2dldF9fKCkiIG1ldGhvZC4gIERhdGEgZGVzY3JpcHRvcnMgd2l0aCAiX19zZXRfXygpIiBhbmQgIl9fZ2V0X18oKSJcbmRlZmluZWQgYWx3YXlzIG92ZXJyaWRlIGEgcmVkZWZpbml0aW9uIGluIGFuIGluc3RhbmNlIGRpY3Rpb25hcnkuICBJblxuY29udHJhc3QsIG5vbi1kYXRhIGRlc2NyaXB0b3JzIGNhbiBiZSBvdmVycmlkZGVuIGJ5IGluc3RhbmNlcy5cblxuUHl0aG9uIG1ldGhvZHMgKGluY2x1ZGluZyAic3RhdGljbWV0aG9kKCkiIGFuZCAiY2xhc3NtZXRob2QoKSIpIGFyZVxuaW1wbGVtZW50ZWQgYXMgbm9uLWRhdGEgZGVzY3JpcHRvcnMuICBBY2NvcmRpbmdseSwgaW5zdGFuY2VzIGNhblxucmVkZWZpbmUgYW5kIG92ZXJyaWRlIG1ldGhvZHMuICBUaGlzIGFsbG93cyBpbmRpdmlkdWFsIGluc3RhbmNlcyB0b1xuYWNxdWlyZSBiZWhhdmlvcnMgdGhhdCBkaWZmZXIgZnJvbSBvdGhlciBpbnN0YW5jZXMgb2YgdGhlIHNhbWUgY2xhc3MuXG5cblRoZSAicHJvcGVydHkoKSIgZnVuY3Rpb24gaXMgaW1wbGVtZW50ZWQgYXMgYSBkYXRhIGRlc2NyaXB0b3IuXG5BY2NvcmRpbmdseSwgaW5zdGFuY2VzIGNhbm5vdCBvdmVycmlkZSB0aGUgYmVoYXZpb3Igb2YgYSBwcm9wZXJ0eS5cblxuXG5fX3Nsb3RzX19cbi0tLS0tLS0tLVxuXG5CeSBkZWZhdWx0LCBpbnN0YW5jZXMgb2YgY2xhc3NlcyBoYXZlIGEgZGljdGlvbmFyeSBmb3IgYXR0cmlidXRlXG5zdG9yYWdlLiAgVGhpcyB3YXN0ZXMgc3BhY2UgZm9yIG9iamVjdHMgaGF2aW5nIHZlcnkgZmV3IGluc3RhbmNlXG52YXJpYWJsZXMuICBUaGUgc3BhY2UgY29uc3VtcHRpb24gY2FuIGJlY29tZSBhY3V0ZSB3aGVuIGNyZWF0aW5nIGxhcmdlXG5udW1iZXJzIG9mIGluc3RhbmNlcy5cblxuVGhlIGRlZmF1bHQgY2FuIGJlIG92ZXJyaWRkZW4gYnkgZGVmaW5pbmcgKl9fc2xvdHNfXyogaW4gYSBjbGFzc1xuZGVmaW5pdGlvbi4gVGhlICpfX3Nsb3RzX18qIGRlY2xhcmF0aW9uIHRha2VzIGEgc2VxdWVuY2Ugb2YgaW5zdGFuY2VcbnZhcmlhYmxlcyBhbmQgcmVzZXJ2ZXMganVzdCBlbm91Z2ggc3BhY2UgaW4gZWFjaCBpbnN0YW5jZSB0byBob2xkIGFcbnZhbHVlIGZvciBlYWNoIHZhcmlhYmxlLiAgU3BhY2UgaXMgc2F2ZWQgYmVjYXVzZSAqX19kaWN0X18qIGlzIG5vdFxuY3JlYXRlZCBmb3IgZWFjaCBpbnN0YW5jZS5cblxub2JqZWN0Ll9fc2xvdHNfX1xuXG4gICBUaGlzIGNsYXNzIHZhcmlhYmxlIGNhbiBiZSBhc3NpZ25lZCBhIHN0cmluZywgaXRlcmFibGUsIG9yIHNlcXVlbmNlXG4gICBvZiBzdHJpbmdzIHdpdGggdmFyaWFibGUgbmFtZXMgdXNlZCBieSBpbnN0YW5jZXMuICAqX19zbG90c19fKlxuICAgcmVzZXJ2ZXMgc3BhY2UgZm9yIHRoZSBkZWNsYXJlZCB2YXJpYWJsZXMgYW5kIHByZXZlbnRzIHRoZVxuICAgYXV0b21hdGljIGNyZWF0aW9uIG9mICpfX2RpY3RfXyogYW5kICpfX3dlYWtyZWZfXyogZm9yIGVhY2hcbiAgIGluc3RhbmNlLlxuXG5cbk5vdGVzIG9uIHVzaW5nICpfX3Nsb3RzX18qXG5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+flxuXG4qIFdoZW4gaW5oZXJpdGluZyBmcm9tIGEgY2xhc3Mgd2l0aG91dCAqX19zbG90c19fKiwgdGhlICpfX2RpY3RfXypcbiAgYXR0cmlidXRlIG9mIHRoYXQgY2xhc3Mgd2lsbCBhbHdheXMgYmUgYWNjZXNzaWJsZSwgc28gYSAqX19zbG90c19fKlxuICBkZWZpbml0aW9uIGluIHRoZSBzdWJjbGFzcyBpcyBtZWFuaW5nbGVzcy5cblxuKiBXaXRob3V0IGEgKl9fZGljdF9fKiB2YXJpYWJsZSwgaW5zdGFuY2VzIGNhbm5vdCBiZSBhc3NpZ25lZCBuZXdcbiAgdmFyaWFibGVzIG5vdCBsaXN0ZWQgaW4gdGhlICpfX3Nsb3RzX18qIGRlZmluaXRpb24uICBBdHRlbXB0cyB0b1xuICBhc3NpZ24gdG8gYW4gdW5saXN0ZWQgdmFyaWFibGUgbmFtZSByYWlzZXMgIkF0dHJpYnV0ZUVycm9yIi4gSWZcbiAgZHluYW1pYyBhc3NpZ25tZW50IG9mIG5ldyB2YXJpYWJsZXMgaXMgZGVzaXJlZCwgdGhlbiBhZGRcbiAgIlwnX19kaWN0X19cJyIgdG8gdGhlIHNlcXVlbmNlIG9mIHN0cmluZ3MgaW4gdGhlICpfX3Nsb3RzX18qXG4gIGRlY2xhcmF0aW9uLlxuXG4qIFdpdGhvdXQgYSAqX193ZWFrcmVmX18qIHZhcmlhYmxlIGZvciBlYWNoIGluc3RhbmNlLCBjbGFzc2VzXG4gIGRlZmluaW5nICpfX3Nsb3RzX18qIGRvIG5vdCBzdXBwb3J0IHdlYWsgcmVmZXJlbmNlcyB0byBpdHNcbiAgaW5zdGFuY2VzLiBJZiB3ZWFrIHJlZmVyZW5jZSBzdXBwb3J0IGlzIG5lZWRlZCwgdGhlbiBhZGRcbiAgIlwnX193ZWFrcmVmX19cJyIgdG8gdGhlIHNlcXVlbmNlIG9mIHN0cmluZ3MgaW4gdGhlICpfX3Nsb3RzX18qXG4gIGRlY2xhcmF0aW9uLlxuXG4qICpfX3Nsb3RzX18qIGFyZSBpbXBsZW1lbnRlZCBhdCB0aGUgY2xhc3MgbGV2ZWwgYnkgY3JlYXRpbmdcbiAgZGVzY3JpcHRvcnMgKCpJbXBsZW1lbnRpbmcgRGVzY3JpcHRvcnMqKSBmb3IgZWFjaCB2YXJpYWJsZSBuYW1lLiAgQXNcbiAgYSByZXN1bHQsIGNsYXNzIGF0dHJpYnV0ZXMgY2Fubm90IGJlIHVzZWQgdG8gc2V0IGRlZmF1bHQgdmFsdWVzIGZvclxuICBpbnN0YW5jZSB2YXJpYWJsZXMgZGVmaW5lZCBieSAqX19zbG90c19fKjsgb3RoZXJ3aXNlLCB0aGUgY2xhc3NcbiAgYXR0cmlidXRlIHdvdWxkIG92ZXJ3cml0ZSB0aGUgZGVzY3JpcHRvciBhc3NpZ25tZW50LlxuXG4qIFRoZSBhY3Rpb24gb2YgYSAqX19zbG90c19fKiBkZWNsYXJhdGlvbiBpcyBsaW1pdGVkIHRvIHRoZSBjbGFzc1xuICB3aGVyZSBpdCBpcyBkZWZpbmVkLiAgQXMgYSByZXN1bHQsIHN1YmNsYXNzZXMgd2lsbCBoYXZlIGEgKl9fZGljdF9fKlxuICB1bmxlc3MgdGhleSBhbHNvIGRlZmluZSAqX19zbG90c19fKiAod2hpY2ggbXVzdCBvbmx5IGNvbnRhaW4gbmFtZXNcbiAgb2YgYW55ICphZGRpdGlvbmFsKiBzbG90cykuXG5cbiogSWYgYSBjbGFzcyBkZWZpbmVzIGEgc2xvdCBhbHNvIGRlZmluZWQgaW4gYSBiYXNlIGNsYXNzLCB0aGVcbiAgaW5zdGFuY2UgdmFyaWFibGUgZGVmaW5lZCBieSB0aGUgYmFzZSBjbGFzcyBzbG90IGlzIGluYWNjZXNzaWJsZVxuICAoZXhjZXB0IGJ5IHJldHJpZXZpbmcgaXRzIGRlc2NyaXB0b3IgZGlyZWN0bHkgZnJvbSB0aGUgYmFzZSBjbGFzcykuXG4gIFRoaXMgcmVuZGVycyB0aGUgbWVhbmluZyBvZiB0aGUgcHJvZ3JhbSB1bmRlZmluZWQuICBJbiB0aGUgZnV0dXJlLCBhXG4gIGNoZWNrIG1heSBiZSBhZGRlZCB0byBwcmV2ZW50IHRoaXMuXG5cbiogTm9uZW1wdHkgKl9fc2xvdHNfXyogZG9lcyBub3Qgd29yayBmb3IgY2xhc3NlcyBkZXJpdmVkIGZyb21cbiAgInZhcmlhYmxlLWxlbmd0aCIgYnVpbHQtaW4gdHlwZXMgc3VjaCBhcyAiaW50IiwgImJ5dGVzIiBhbmQgInR1cGxlIi5cblxuKiBBbnkgbm9uLXN0cmluZyBpdGVyYWJsZSBtYXkgYmUgYXNzaWduZWQgdG8gKl9fc2xvdHNfXyouIE1hcHBpbmdzXG4gIG1heSBhbHNvIGJlIHVzZWQ7IGhvd2V2ZXIsIGluIHRoZSBmdXR1cmUsIHNwZWNpYWwgbWVhbmluZyBtYXkgYmVcbiAgYXNzaWduZWQgdG8gdGhlIHZhbHVlcyBjb3JyZXNwb25kaW5nIHRvIGVhY2gga2V5LlxuXG4qICpfX2NsYXNzX18qIGFzc2lnbm1lbnQgd29ya3Mgb25seSBpZiBib3RoIGNsYXNzZXMgaGF2ZSB0aGUgc2FtZVxuICAqX19zbG90c19fKi5cblxuXG5DdXN0b21pemluZyBjbGFzcyBjcmVhdGlvblxuPT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQnkgZGVmYXVsdCwgY2xhc3NlcyBhcmUgY29uc3RydWN0ZWQgdXNpbmcgInR5cGUoKSIuIFRoZSBjbGFzcyBib2R5IGlzXG5leGVjdXRlZCBpbiBhIG5ldyBuYW1lc3BhY2UgYW5kIHRoZSBjbGFzcyBuYW1lIGlzIGJvdW5kIGxvY2FsbHkgdG8gdGhlXG5yZXN1bHQgb2YgInR5cGUobmFtZSwgYmFzZXMsIG5hbWVzcGFjZSkiLlxuXG5UaGUgY2xhc3MgY3JlYXRpb24gcHJvY2VzcyBjYW4gYmUgY3VzdG9taXNlZCBieSBwYXNzaW5nIHRoZVxuIm1ldGFjbGFzcyIga2V5d29yZCBhcmd1bWVudCBpbiB0aGUgY2xhc3MgZGVmaW5pdGlvbiBsaW5lLCBvciBieVxuaW5oZXJpdGluZyBmcm9tIGFuIGV4aXN0aW5nIGNsYXNzIHRoYXQgaW5jbHVkZWQgc3VjaCBhbiBhcmd1bWVudC4gSW5cbnRoZSBmb2xsb3dpbmcgZXhhbXBsZSwgYm90aCAiTXlDbGFzcyIgYW5kICJNeVN1YmNsYXNzIiBhcmUgaW5zdGFuY2VzXG5vZiAiTWV0YSI6XG5cbiAgIGNsYXNzIE1ldGEodHlwZSk6XG4gICAgICAgcGFzc1xuXG4gICBjbGFzcyBNeUNsYXNzKG1ldGFjbGFzcz1NZXRhKTpcbiAgICAgICBwYXNzXG5cbiAgIGNsYXNzIE15U3ViY2xhc3MoTXlDbGFzcyk6XG4gICAgICAgcGFzc1xuXG5Bbnkgb3RoZXIga2V5d29yZCBhcmd1bWVudHMgdGhhdCBhcmUgc3BlY2lmaWVkIGluIHRoZSBjbGFzcyBkZWZpbml0aW9uXG5hcmUgcGFzc2VkIHRocm91Z2ggdG8gYWxsIG1ldGFjbGFzcyBvcGVyYXRpb25zIGRlc2NyaWJlZCBiZWxvdy5cblxuV2hlbiBhIGNsYXNzIGRlZmluaXRpb24gaXMgZXhlY3V0ZWQsIHRoZSBmb2xsb3dpbmcgc3RlcHMgb2NjdXI6XG5cbiogdGhlIGFwcHJvcHJpYXRlIG1ldGFjbGFzcyBpcyBkZXRlcm1pbmVkXG5cbiogdGhlIGNsYXNzIG5hbWVzcGFjZSBpcyBwcmVwYXJlZFxuXG4qIHRoZSBjbGFzcyBib2R5IGlzIGV4ZWN1dGVkXG5cbiogdGhlIGNsYXNzIG9iamVjdCBpcyBjcmVhdGVkXG5cblxuRGV0ZXJtaW5pbmcgdGhlIGFwcHJvcHJpYXRlIG1ldGFjbGFzc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5UaGUgYXBwcm9wcmlhdGUgbWV0YWNsYXNzIGZvciBhIGNsYXNzIGRlZmluaXRpb24gaXMgZGV0ZXJtaW5lZCBhc1xuZm9sbG93czpcblxuKiBpZiBubyBiYXNlcyBhbmQgbm8gZXhwbGljaXQgbWV0YWNsYXNzIGFyZSBnaXZlbiwgdGhlbiAidHlwZSgpIiBpc1xuICB1c2VkXG5cbiogaWYgYW4gZXhwbGljaXQgbWV0YWNsYXNzIGlzIGdpdmVuIGFuZCBpdCBpcyAqbm90KiBhbiBpbnN0YW5jZSBvZlxuICAidHlwZSgpIiwgdGhlbiBpdCBpcyB1c2VkIGRpcmVjdGx5IGFzIHRoZSBtZXRhY2xhc3NcblxuKiBpZiBhbiBpbnN0YW5jZSBvZiAidHlwZSgpIiBpcyBnaXZlbiBhcyB0aGUgZXhwbGljaXQgbWV0YWNsYXNzLCBvclxuICBiYXNlcyBhcmUgZGVmaW5lZCwgdGhlbiB0aGUgbW9zdCBkZXJpdmVkIG1ldGFjbGFzcyBpcyB1c2VkXG5cblRoZSBtb3N0IGRlcml2ZWQgbWV0YWNsYXNzIGlzIHNlbGVjdGVkIGZyb20gdGhlIGV4cGxpY2l0bHkgc3BlY2lmaWVkXG5tZXRhY2xhc3MgKGlmIGFueSkgYW5kIHRoZSBtZXRhY2xhc3NlcyAoaS5lLiAidHlwZShjbHMpIikgb2YgYWxsXG5zcGVjaWZpZWQgYmFzZSBjbGFzc2VzLiBUaGUgbW9zdCBkZXJpdmVkIG1ldGFjbGFzcyBpcyBvbmUgd2hpY2ggaXMgYVxuc3VidHlwZSBvZiAqYWxsKiBvZiB0aGVzZSBjYW5kaWRhdGUgbWV0YWNsYXNzZXMuIElmIG5vbmUgb2YgdGhlXG5jYW5kaWRhdGUgbWV0YWNsYXNzZXMgbWVldHMgdGhhdCBjcml0ZXJpb24sIHRoZW4gdGhlIGNsYXNzIGRlZmluaXRpb25cbndpbGwgZmFpbCB3aXRoICJUeXBlRXJyb3IiLlxuXG5cblByZXBhcmluZyB0aGUgY2xhc3MgbmFtZXNwYWNlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5PbmNlIHRoZSBhcHByb3ByaWF0ZSBtZXRhY2xhc3MgaGFzIGJlZW4gaWRlbnRpZmllZCwgdGhlbiB0aGUgY2xhc3Ncbm5hbWVzcGFjZSBpcyBwcmVwYXJlZC4gSWYgdGhlIG1ldGFjbGFzcyBoYXMgYSAiX19wcmVwYXJlX18iIGF0dHJpYnV0ZSxcbml0IGlzIGNhbGxlZCBhcyAibmFtZXNwYWNlID0gbWV0YWNsYXNzLl9fcHJlcGFyZV9fKG5hbWUsIGJhc2VzLFxuKiprd2RzKSIgKHdoZXJlIHRoZSBhZGRpdGlvbmFsIGtleXdvcmQgYXJndW1lbnRzLCBpZiBhbnksIGNvbWUgZnJvbVxudGhlIGNsYXNzIGRlZmluaXRpb24pLlxuXG5JZiB0aGUgbWV0YWNsYXNzIGhhcyBubyAiX19wcmVwYXJlX18iIGF0dHJpYnV0ZSwgdGhlbiB0aGUgY2xhc3Ncbm5hbWVzcGFjZSBpcyBpbml0aWFsaXNlZCBhcyBhbiBlbXB0eSAiZGljdCgpIiBpbnN0YW5jZS5cblxuU2VlIGFsc286ICoqUEVQIDMxMTUqKiAtIE1ldGFjbGFzc2VzIGluIFB5dGhvbiAzMDAwXG5cbiAgICAgSW50cm9kdWNlZCB0aGUgIl9fcHJlcGFyZV9fIiBuYW1lc3BhY2UgaG9va1xuXG5cbkV4ZWN1dGluZyB0aGUgY2xhc3MgYm9keVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblRoZSBjbGFzcyBib2R5IGlzIGV4ZWN1dGVkIChhcHByb3hpbWF0ZWx5KSBhcyAiZXhlYyhib2R5LCBnbG9iYWxzKCksXG5uYW1lc3BhY2UpIi4gVGhlIGtleSBkaWZmZXJlbmNlIGZyb20gYSBub3JtYWwgY2FsbCB0byAiZXhlYygpIiBpcyB0aGF0XG5sZXhpY2FsIHNjb3BpbmcgYWxsb3dzIHRoZSBjbGFzcyBib2R5IChpbmNsdWRpbmcgYW55IG1ldGhvZHMpIHRvXG5yZWZlcmVuY2UgbmFtZXMgZnJvbSB0aGUgY3VycmVudCBhbmQgb3V0ZXIgc2NvcGVzIHdoZW4gdGhlIGNsYXNzXG5kZWZpbml0aW9uIG9jY3VycyBpbnNpZGUgYSBmdW5jdGlvbi5cblxuSG93ZXZlciwgZXZlbiB3aGVuIHRoZSBjbGFzcyBkZWZpbml0aW9uIG9jY3VycyBpbnNpZGUgdGhlIGZ1bmN0aW9uLFxubWV0aG9kcyBkZWZpbmVkIGluc2lkZSB0aGUgY2xhc3Mgc3RpbGwgY2Fubm90IHNlZSBuYW1lcyBkZWZpbmVkIGF0IHRoZVxuY2xhc3Mgc2NvcGUuIENsYXNzIHZhcmlhYmxlcyBtdXN0IGJlIGFjY2Vzc2VkIHRocm91Z2ggdGhlIGZpcnN0XG5wYXJhbWV0ZXIgb2YgaW5zdGFuY2Ugb3IgY2xhc3MgbWV0aG9kcywgYW5kIGNhbm5vdCBiZSBhY2Nlc3NlZCBhdCBhbGxcbmZyb20gc3RhdGljIG1ldGhvZHMuXG5cblxuQ3JlYXRpbmcgdGhlIGNsYXNzIG9iamVjdFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5PbmNlIHRoZSBjbGFzcyBuYW1lc3BhY2UgaGFzIGJlZW4gcG9wdWxhdGVkIGJ5IGV4ZWN1dGluZyB0aGUgY2xhc3NcbmJvZHksIHRoZSBjbGFzcyBvYmplY3QgaXMgY3JlYXRlZCBieSBjYWxsaW5nICJtZXRhY2xhc3MobmFtZSwgYmFzZXMsXG5uYW1lc3BhY2UsICoqa3dkcykiICh0aGUgYWRkaXRpb25hbCBrZXl3b3JkcyBwYXNzZWQgaGVyZSBhcmUgdGhlIHNhbWVcbmFzIHRob3NlIHBhc3NlZCB0byAiX19wcmVwYXJlX18iKS5cblxuVGhpcyBjbGFzcyBvYmplY3QgaXMgdGhlIG9uZSB0aGF0IHdpbGwgYmUgcmVmZXJlbmNlZCBieSB0aGUgemVyby1cbmFyZ3VtZW50IGZvcm0gb2YgInN1cGVyKCkiLiAiX19jbGFzc19fIiBpcyBhbiBpbXBsaWNpdCBjbG9zdXJlXG5yZWZlcmVuY2UgY3JlYXRlZCBieSB0aGUgY29tcGlsZXIgaWYgYW55IG1ldGhvZHMgaW4gYSBjbGFzcyBib2R5IHJlZmVyXG50byBlaXRoZXIgIl9fY2xhc3NfXyIgb3IgInN1cGVyIi4gVGhpcyBhbGxvd3MgdGhlIHplcm8gYXJndW1lbnQgZm9ybVxub2YgInN1cGVyKCkiIHRvIGNvcnJlY3RseSBpZGVudGlmeSB0aGUgY2xhc3MgYmVpbmcgZGVmaW5lZCBiYXNlZCBvblxubGV4aWNhbCBzY29waW5nLCB3aGlsZSB0aGUgY2xhc3Mgb3IgaW5zdGFuY2UgdGhhdCB3YXMgdXNlZCB0byBtYWtlIHRoZVxuY3VycmVudCBjYWxsIGlzIGlkZW50aWZpZWQgYmFzZWQgb24gdGhlIGZpcnN0IGFyZ3VtZW50IHBhc3NlZCB0byB0aGVcbm1ldGhvZC5cblxuQWZ0ZXIgdGhlIGNsYXNzIG9iamVjdCBpcyBjcmVhdGVkLCBpdCBpcyBwYXNzZWQgdG8gdGhlIGNsYXNzXG5kZWNvcmF0b3JzIGluY2x1ZGVkIGluIHRoZSBjbGFzcyBkZWZpbml0aW9uIChpZiBhbnkpIGFuZCB0aGUgcmVzdWx0aW5nXG5vYmplY3QgaXMgYm91bmQgaW4gdGhlIGxvY2FsIG5hbWVzcGFjZSBhcyB0aGUgZGVmaW5lZCBjbGFzcy5cblxuU2VlIGFsc286ICoqUEVQIDMxMzUqKiAtIE5ldyBzdXBlclxuXG4gICAgIERlc2NyaWJlcyB0aGUgaW1wbGljaXQgIl9fY2xhc3NfXyIgY2xvc3VyZSByZWZlcmVuY2VcblxuXG5NZXRhY2xhc3MgZXhhbXBsZVxuLS0tLS0tLS0tLS0tLS0tLS1cblxuVGhlIHBvdGVudGlhbCB1c2VzIGZvciBtZXRhY2xhc3NlcyBhcmUgYm91bmRsZXNzLiBTb21lIGlkZWFzIHRoYXQgaGF2ZVxuYmVlbiBleHBsb3JlZCBpbmNsdWRlIGxvZ2dpbmcsIGludGVyZmFjZSBjaGVja2luZywgYXV0b21hdGljXG5kZWxlZ2F0aW9uLCBhdXRvbWF0aWMgcHJvcGVydHkgY3JlYXRpb24sIHByb3hpZXMsIGZyYW1ld29ya3MsIGFuZFxuYXV0b21hdGljIHJlc291cmNlIGxvY2tpbmcvc3luY2hyb25pemF0aW9uLlxuXG5IZXJlIGlzIGFuIGV4YW1wbGUgb2YgYSBtZXRhY2xhc3MgdGhhdCB1c2VzIGFuXG4iY29sbGVjdGlvbnMuT3JkZXJlZERpY3QiIHRvIHJlbWVtYmVyIHRoZSBvcmRlciB0aGF0IGNsYXNzIHZhcmlhYmxlc1xuYXJlIGRlZmluZWQ6XG5cbiAgIGNsYXNzIE9yZGVyZWRDbGFzcyh0eXBlKTpcblxuICAgICAgICBAY2xhc3NtZXRob2RcbiAgICAgICAgZGVmIF9fcHJlcGFyZV9fKG1ldGFjbHMsIG5hbWUsIGJhc2VzLCAqKmt3ZHMpOlxuICAgICAgICAgICByZXR1cm4gY29sbGVjdGlvbnMuT3JkZXJlZERpY3QoKVxuXG4gICAgICAgIGRlZiBfX25ld19fKGNscywgbmFtZSwgYmFzZXMsIG5hbWVzcGFjZSwgKiprd2RzKTpcbiAgICAgICAgICAgcmVzdWx0ID0gdHlwZS5fX25ld19fKGNscywgbmFtZSwgYmFzZXMsIGRpY3QobmFtZXNwYWNlKSlcbiAgICAgICAgICAgcmVzdWx0Lm1lbWJlcnMgPSB0dXBsZShuYW1lc3BhY2UpXG4gICAgICAgICAgIHJldHVybiByZXN1bHRcblxuICAgY2xhc3MgQShtZXRhY2xhc3M9T3JkZXJlZENsYXNzKTpcbiAgICAgICBkZWYgb25lKHNlbGYpOiBwYXNzXG4gICAgICAgZGVmIHR3byhzZWxmKTogcGFzc1xuICAgICAgIGRlZiB0aHJlZShzZWxmKTogcGFzc1xuICAgICAgIGRlZiBmb3VyKHNlbGYpOiBwYXNzXG5cbiAgID4+PiBBLm1lbWJlcnNcbiAgIChcJ19fbW9kdWxlX19cJywgXCdvbmVcJywgXCd0d29cJywgXCd0aHJlZVwnLCBcJ2ZvdXJcJylcblxuV2hlbiB0aGUgY2xhc3MgZGVmaW5pdGlvbiBmb3IgKkEqIGdldHMgZXhlY3V0ZWQsIHRoZSBwcm9jZXNzIGJlZ2luc1xud2l0aCBjYWxsaW5nIHRoZSBtZXRhY2xhc3NcJ3MgIl9fcHJlcGFyZV9fKCkiIG1ldGhvZCB3aGljaCByZXR1cm5zIGFuXG5lbXB0eSAiY29sbGVjdGlvbnMuT3JkZXJlZERpY3QiLiAgVGhhdCBtYXBwaW5nIHJlY29yZHMgdGhlIG1ldGhvZHMgYW5kXG5hdHRyaWJ1dGVzIG9mICpBKiBhcyB0aGV5IGFyZSBkZWZpbmVkIHdpdGhpbiB0aGUgYm9keSBvZiB0aGUgY2xhc3NcbnN0YXRlbWVudC4gT25jZSB0aG9zZSBkZWZpbml0aW9ucyBhcmUgZXhlY3V0ZWQsIHRoZSBvcmRlcmVkIGRpY3Rpb25hcnlcbmlzIGZ1bGx5IHBvcHVsYXRlZCBhbmQgdGhlIG1ldGFjbGFzc1wncyAiX19uZXdfXygpIiBtZXRob2QgZ2V0c1xuaW52b2tlZC4gIFRoYXQgbWV0aG9kIGJ1aWxkcyB0aGUgbmV3IHR5cGUgYW5kIGl0IHNhdmVzIHRoZSBvcmRlcmVkXG5kaWN0aW9uYXJ5IGtleXMgaW4gYW4gYXR0cmlidXRlIGNhbGxlZCAibWVtYmVycyIuXG5cblxuQ3VzdG9taXppbmcgaW5zdGFuY2UgYW5kIHN1YmNsYXNzIGNoZWNrc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5UaGUgZm9sbG93aW5nIG1ldGhvZHMgYXJlIHVzZWQgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgdGhlXG4iaXNpbnN0YW5jZSgpIiBhbmQgImlzc3ViY2xhc3MoKSIgYnVpbHQtaW4gZnVuY3Rpb25zLlxuXG5JbiBwYXJ0aWN1bGFyLCB0aGUgbWV0YWNsYXNzICJhYmMuQUJDTWV0YSIgaW1wbGVtZW50cyB0aGVzZSBtZXRob2RzIGluXG5vcmRlciB0byBhbGxvdyB0aGUgYWRkaXRpb24gb2YgQWJzdHJhY3QgQmFzZSBDbGFzc2VzIChBQkNzKSBhc1xuInZpcnR1YWwgYmFzZSBjbGFzc2VzIiB0byBhbnkgY2xhc3Mgb3IgdHlwZSAoaW5jbHVkaW5nIGJ1aWx0LWluXG50eXBlcyksIGluY2x1ZGluZyBvdGhlciBBQkNzLlxuXG5jbGFzcy5fX2luc3RhbmNlY2hlY2tfXyhzZWxmLCBpbnN0YW5jZSlcblxuICAgUmV0dXJuIHRydWUgaWYgKmluc3RhbmNlKiBzaG91bGQgYmUgY29uc2lkZXJlZCBhIChkaXJlY3Qgb3JcbiAgIGluZGlyZWN0KSBpbnN0YW5jZSBvZiAqY2xhc3MqLiBJZiBkZWZpbmVkLCBjYWxsZWQgdG8gaW1wbGVtZW50XG4gICAiaXNpbnN0YW5jZShpbnN0YW5jZSwgY2xhc3MpIi5cblxuY2xhc3MuX19zdWJjbGFzc2NoZWNrX18oc2VsZiwgc3ViY2xhc3MpXG5cbiAgIFJldHVybiB0cnVlIGlmICpzdWJjbGFzcyogc2hvdWxkIGJlIGNvbnNpZGVyZWQgYSAoZGlyZWN0IG9yXG4gICBpbmRpcmVjdCkgc3ViY2xhc3Mgb2YgKmNsYXNzKi4gIElmIGRlZmluZWQsIGNhbGxlZCB0byBpbXBsZW1lbnRcbiAgICJpc3N1YmNsYXNzKHN1YmNsYXNzLCBjbGFzcykiLlxuXG5Ob3RlIHRoYXQgdGhlc2UgbWV0aG9kcyBhcmUgbG9va2VkIHVwIG9uIHRoZSB0eXBlIChtZXRhY2xhc3MpIG9mIGFcbmNsYXNzLiAgVGhleSBjYW5ub3QgYmUgZGVmaW5lZCBhcyBjbGFzcyBtZXRob2RzIGluIHRoZSBhY3R1YWwgY2xhc3MuXG5UaGlzIGlzIGNvbnNpc3RlbnQgd2l0aCB0aGUgbG9va3VwIG9mIHNwZWNpYWwgbWV0aG9kcyB0aGF0IGFyZSBjYWxsZWRcbm9uIGluc3RhbmNlcywgb25seSBpbiB0aGlzIGNhc2UgdGhlIGluc3RhbmNlIGlzIGl0c2VsZiBhIGNsYXNzLlxuXG5TZWUgYWxzbzogKipQRVAgMzExOSoqIC0gSW50cm9kdWNpbmcgQWJzdHJhY3QgQmFzZSBDbGFzc2VzXG5cbiAgICAgSW5jbHVkZXMgdGhlIHNwZWNpZmljYXRpb24gZm9yIGN1c3RvbWl6aW5nICJpc2luc3RhbmNlKCkiIGFuZFxuICAgICAiaXNzdWJjbGFzcygpIiBiZWhhdmlvciB0aHJvdWdoICJfX2luc3RhbmNlY2hlY2tfXygpIiBhbmRcbiAgICAgIl9fc3ViY2xhc3NjaGVja19fKCkiLCB3aXRoIG1vdGl2YXRpb24gZm9yIHRoaXMgZnVuY3Rpb25hbGl0eSBpblxuICAgICB0aGUgY29udGV4dCBvZiBhZGRpbmcgQWJzdHJhY3QgQmFzZSBDbGFzc2VzIChzZWUgdGhlICJhYmMiXG4gICAgIG1vZHVsZSkgdG8gdGhlIGxhbmd1YWdlLlxuXG5cbkVtdWxhdGluZyBjYWxsYWJsZSBvYmplY3RzXG49PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5vYmplY3QuX19jYWxsX18oc2VsZlssIGFyZ3MuLi5dKVxuXG4gICBDYWxsZWQgd2hlbiB0aGUgaW5zdGFuY2UgaXMgImNhbGxlZCIgYXMgYSBmdW5jdGlvbjsgaWYgdGhpcyBtZXRob2RcbiAgIGlzIGRlZmluZWQsICJ4KGFyZzEsIGFyZzIsIC4uLikiIGlzIGEgc2hvcnRoYW5kIGZvclxuICAgInguX19jYWxsX18oYXJnMSwgYXJnMiwgLi4uKSIuXG5cblxuRW11bGF0aW5nIGNvbnRhaW5lciB0eXBlc1xuPT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5UaGUgZm9sbG93aW5nIG1ldGhvZHMgY2FuIGJlIGRlZmluZWQgdG8gaW1wbGVtZW50IGNvbnRhaW5lciBvYmplY3RzLlxuQ29udGFpbmVycyB1c3VhbGx5IGFyZSBzZXF1ZW5jZXMgKHN1Y2ggYXMgbGlzdHMgb3IgdHVwbGVzKSBvciBtYXBwaW5nc1xuKGxpa2UgZGljdGlvbmFyaWVzKSwgYnV0IGNhbiByZXByZXNlbnQgb3RoZXIgY29udGFpbmVycyBhcyB3ZWxsLiAgVGhlXG5maXJzdCBzZXQgb2YgbWV0aG9kcyBpcyB1c2VkIGVpdGhlciB0byBlbXVsYXRlIGEgc2VxdWVuY2Ugb3IgdG9cbmVtdWxhdGUgYSBtYXBwaW5nOyB0aGUgZGlmZmVyZW5jZSBpcyB0aGF0IGZvciBhIHNlcXVlbmNlLCB0aGVcbmFsbG93YWJsZSBrZXlzIHNob3VsZCBiZSB0aGUgaW50ZWdlcnMgKmsqIGZvciB3aGljaCAiMCA8PSBrIDwgTiIgd2hlcmVcbipOKiBpcyB0aGUgbGVuZ3RoIG9mIHRoZSBzZXF1ZW5jZSwgb3Igc2xpY2Ugb2JqZWN0cywgd2hpY2ggZGVmaW5lIGFcbnJhbmdlIG9mIGl0ZW1zLiAgSXQgaXMgYWxzbyByZWNvbW1lbmRlZCB0aGF0IG1hcHBpbmdzIHByb3ZpZGUgdGhlXG5tZXRob2RzICJrZXlzKCkiLCAidmFsdWVzKCkiLCAiaXRlbXMoKSIsICJnZXQoKSIsICJjbGVhcigpIixcbiJzZXRkZWZhdWx0KCkiLCAicG9wKCkiLCAicG9waXRlbSgpIiwgImNvcHkoKSIsIGFuZCAidXBkYXRlKCkiXG5iZWhhdmluZyBzaW1pbGFyIHRvIHRob3NlIGZvciBQeXRob25cJ3Mgc3RhbmRhcmQgZGljdGlvbmFyeSBvYmplY3RzLlxuVGhlICJjb2xsZWN0aW9ucyIgbW9kdWxlIHByb3ZpZGVzIGEgIk11dGFibGVNYXBwaW5nIiBhYnN0cmFjdCBiYXNlXG5jbGFzcyB0byBoZWxwIGNyZWF0ZSB0aG9zZSBtZXRob2RzIGZyb20gYSBiYXNlIHNldCBvZiAiX19nZXRpdGVtX18oKSIsXG4iX19zZXRpdGVtX18oKSIsICJfX2RlbGl0ZW1fXygpIiwgYW5kICJrZXlzKCkiLiBNdXRhYmxlIHNlcXVlbmNlc1xuc2hvdWxkIHByb3ZpZGUgbWV0aG9kcyAiYXBwZW5kKCkiLCAiY291bnQoKSIsICJpbmRleCgpIiwgImV4dGVuZCgpIixcbiJpbnNlcnQoKSIsICJwb3AoKSIsICJyZW1vdmUoKSIsICJyZXZlcnNlKCkiIGFuZCAic29ydCgpIiwgbGlrZSBQeXRob25cbnN0YW5kYXJkIGxpc3Qgb2JqZWN0cy4gIEZpbmFsbHksIHNlcXVlbmNlIHR5cGVzIHNob3VsZCBpbXBsZW1lbnRcbmFkZGl0aW9uIChtZWFuaW5nIGNvbmNhdGVuYXRpb24pIGFuZCBtdWx0aXBsaWNhdGlvbiAobWVhbmluZ1xucmVwZXRpdGlvbikgYnkgZGVmaW5pbmcgdGhlIG1ldGhvZHMgIl9fYWRkX18oKSIsICJfX3JhZGRfXygpIixcbiJfX2lhZGRfXygpIiwgIl9fbXVsX18oKSIsICJfX3JtdWxfXygpIiBhbmQgIl9faW11bF9fKCkiIGRlc2NyaWJlZFxuYmVsb3c7IHRoZXkgc2hvdWxkIG5vdCBkZWZpbmUgb3RoZXIgbnVtZXJpY2FsIG9wZXJhdG9ycy4gIEl0IGlzXG5yZWNvbW1lbmRlZCB0aGF0IGJvdGggbWFwcGluZ3MgYW5kIHNlcXVlbmNlcyBpbXBsZW1lbnQgdGhlXG4iX19jb250YWluc19fKCkiIG1ldGhvZCB0byBhbGxvdyBlZmZpY2llbnQgdXNlIG9mIHRoZSAiaW4iIG9wZXJhdG9yO1xuZm9yIG1hcHBpbmdzLCAiaW4iIHNob3VsZCBzZWFyY2ggdGhlIG1hcHBpbmdcJ3Mga2V5czsgZm9yIHNlcXVlbmNlcywgaXRcbnNob3VsZCBzZWFyY2ggdGhyb3VnaCB0aGUgdmFsdWVzLiAgSXQgaXMgZnVydGhlciByZWNvbW1lbmRlZCB0aGF0IGJvdGhcbm1hcHBpbmdzIGFuZCBzZXF1ZW5jZXMgaW1wbGVtZW50IHRoZSAiX19pdGVyX18oKSIgbWV0aG9kIHRvIGFsbG93XG5lZmZpY2llbnQgaXRlcmF0aW9uIHRocm91Z2ggdGhlIGNvbnRhaW5lcjsgZm9yIG1hcHBpbmdzLCAiX19pdGVyX18oKSJcbnNob3VsZCBiZSB0aGUgc2FtZSBhcyAia2V5cygpIjsgZm9yIHNlcXVlbmNlcywgaXQgc2hvdWxkIGl0ZXJhdGVcbnRocm91Z2ggdGhlIHZhbHVlcy5cblxub2JqZWN0Ll9fbGVuX18oc2VsZilcblxuICAgQ2FsbGVkIHRvIGltcGxlbWVudCB0aGUgYnVpbHQtaW4gZnVuY3Rpb24gImxlbigpIi4gIFNob3VsZCByZXR1cm5cbiAgIHRoZSBsZW5ndGggb2YgdGhlIG9iamVjdCwgYW4gaW50ZWdlciAiPj0iIDAuICBBbHNvLCBhbiBvYmplY3QgdGhhdFxuICAgZG9lc25cJ3QgZGVmaW5lIGEgIl9fYm9vbF9fKCkiIG1ldGhvZCBhbmQgd2hvc2UgIl9fbGVuX18oKSIgbWV0aG9kXG4gICByZXR1cm5zIHplcm8gaXMgY29uc2lkZXJlZCB0byBiZSBmYWxzZSBpbiBhIEJvb2xlYW4gY29udGV4dC5cblxub2JqZWN0Ll9fbGVuZ3RoX2hpbnRfXyhzZWxmKVxuXG4gICBDYWxsZWQgdG8gaW1wbGVtZW50ICJvcGVyYXRvci5sZW5ndGhfaGludCgpIi4gU2hvdWxkIHJldHVybiBhblxuICAgZXN0aW1hdGVkIGxlbmd0aCBmb3IgdGhlIG9iamVjdCAod2hpY2ggbWF5IGJlIGdyZWF0ZXIgb3IgbGVzcyB0aGFuXG4gICB0aGUgYWN0dWFsIGxlbmd0aCkuIFRoZSBsZW5ndGggbXVzdCBiZSBhbiBpbnRlZ2VyICI+PSIgMC4gVGhpc1xuICAgbWV0aG9kIGlzIHB1cmVseSBhbiBvcHRpbWl6YXRpb24gYW5kIGlzIG5ldmVyIHJlcXVpcmVkIGZvclxuICAgY29ycmVjdG5lc3MuXG5cbiAgIE5ldyBpbiB2ZXJzaW9uIDMuNC5cblxuTm90ZTogU2xpY2luZyBpcyBkb25lIGV4Y2x1c2l2ZWx5IHdpdGggdGhlIGZvbGxvd2luZyB0aHJlZSBtZXRob2RzLlxuICBBIGNhbGwgbGlrZVxuXG4gICAgIGFbMToyXSA9IGJcblxuICBpcyB0cmFuc2xhdGVkIHRvXG5cbiAgICAgYVtzbGljZSgxLCAyLCBOb25lKV0gPSBiXG5cbiAgYW5kIHNvIGZvcnRoLiAgTWlzc2luZyBzbGljZSBpdGVtcyBhcmUgYWx3YXlzIGZpbGxlZCBpbiB3aXRoICJOb25lIi5cblxub2JqZWN0Ll9fZ2V0aXRlbV9fKHNlbGYsIGtleSlcblxuICAgQ2FsbGVkIHRvIGltcGxlbWVudCBldmFsdWF0aW9uIG9mICJzZWxmW2tleV0iLiBGb3Igc2VxdWVuY2UgdHlwZXMsXG4gICB0aGUgYWNjZXB0ZWQga2V5cyBzaG91bGQgYmUgaW50ZWdlcnMgYW5kIHNsaWNlIG9iamVjdHMuICBOb3RlIHRoYXRcbiAgIHRoZSBzcGVjaWFsIGludGVycHJldGF0aW9uIG9mIG5lZ2F0aXZlIGluZGV4ZXMgKGlmIHRoZSBjbGFzcyB3aXNoZXNcbiAgIHRvIGVtdWxhdGUgYSBzZXF1ZW5jZSB0eXBlKSBpcyB1cCB0byB0aGUgIl9fZ2V0aXRlbV9fKCkiIG1ldGhvZC4gSWZcbiAgICprZXkqIGlzIG9mIGFuIGluYXBwcm9wcmlhdGUgdHlwZSwgIlR5cGVFcnJvciIgbWF5IGJlIHJhaXNlZDsgaWYgb2ZcbiAgIGEgdmFsdWUgb3V0c2lkZSB0aGUgc2V0IG9mIGluZGV4ZXMgZm9yIHRoZSBzZXF1ZW5jZSAoYWZ0ZXIgYW55XG4gICBzcGVjaWFsIGludGVycHJldGF0aW9uIG9mIG5lZ2F0aXZlIHZhbHVlcyksICJJbmRleEVycm9yIiBzaG91bGQgYmVcbiAgIHJhaXNlZC4gRm9yIG1hcHBpbmcgdHlwZXMsIGlmICprZXkqIGlzIG1pc3NpbmcgKG5vdCBpbiB0aGVcbiAgIGNvbnRhaW5lciksICJLZXlFcnJvciIgc2hvdWxkIGJlIHJhaXNlZC5cblxuICAgTm90ZTogImZvciIgbG9vcHMgZXhwZWN0IHRoYXQgYW4gIkluZGV4RXJyb3IiIHdpbGwgYmUgcmFpc2VkIGZvclxuICAgICBpbGxlZ2FsIGluZGV4ZXMgdG8gYWxsb3cgcHJvcGVyIGRldGVjdGlvbiBvZiB0aGUgZW5kIG9mIHRoZVxuICAgICBzZXF1ZW5jZS5cblxub2JqZWN0Ll9fbWlzc2luZ19fKHNlbGYsIGtleSlcblxuICAgQ2FsbGVkIGJ5ICJkaWN0Ii4iX19nZXRpdGVtX18oKSIgdG8gaW1wbGVtZW50ICJzZWxmW2tleV0iIGZvciBkaWN0XG4gICBzdWJjbGFzc2VzIHdoZW4ga2V5IGlzIG5vdCBpbiB0aGUgZGljdGlvbmFyeS5cblxub2JqZWN0Ll9fc2V0aXRlbV9fKHNlbGYsIGtleSwgdmFsdWUpXG5cbiAgIENhbGxlZCB0byBpbXBsZW1lbnQgYXNzaWdubWVudCB0byAic2VsZltrZXldIi4gIFNhbWUgbm90ZSBhcyBmb3JcbiAgICJfX2dldGl0ZW1fXygpIi4gIFRoaXMgc2hvdWxkIG9ubHkgYmUgaW1wbGVtZW50ZWQgZm9yIG1hcHBpbmdzIGlmXG4gICB0aGUgb2JqZWN0cyBzdXBwb3J0IGNoYW5nZXMgdG8gdGhlIHZhbHVlcyBmb3Iga2V5cywgb3IgaWYgbmV3IGtleXNcbiAgIGNhbiBiZSBhZGRlZCwgb3IgZm9yIHNlcXVlbmNlcyBpZiBlbGVtZW50cyBjYW4gYmUgcmVwbGFjZWQuICBUaGVcbiAgIHNhbWUgZXhjZXB0aW9ucyBzaG91bGQgYmUgcmFpc2VkIGZvciBpbXByb3BlciAqa2V5KiB2YWx1ZXMgYXMgZm9yXG4gICB0aGUgIl9fZ2V0aXRlbV9fKCkiIG1ldGhvZC5cblxub2JqZWN0Ll9fZGVsaXRlbV9fKHNlbGYsIGtleSlcblxuICAgQ2FsbGVkIHRvIGltcGxlbWVudCBkZWxldGlvbiBvZiAic2VsZltrZXldIi4gIFNhbWUgbm90ZSBhcyBmb3JcbiAgICJfX2dldGl0ZW1fXygpIi4gIFRoaXMgc2hvdWxkIG9ubHkgYmUgaW1wbGVtZW50ZWQgZm9yIG1hcHBpbmdzIGlmXG4gICB0aGUgb2JqZWN0cyBzdXBwb3J0IHJlbW92YWwgb2Yga2V5cywgb3IgZm9yIHNlcXVlbmNlcyBpZiBlbGVtZW50c1xuICAgY2FuIGJlIHJlbW92ZWQgZnJvbSB0aGUgc2VxdWVuY2UuICBUaGUgc2FtZSBleGNlcHRpb25zIHNob3VsZCBiZVxuICAgcmFpc2VkIGZvciBpbXByb3BlciAqa2V5KiB2YWx1ZXMgYXMgZm9yIHRoZSAiX19nZXRpdGVtX18oKSIgbWV0aG9kLlxuXG5vYmplY3QuX19pdGVyX18oc2VsZilcblxuICAgVGhpcyBtZXRob2QgaXMgY2FsbGVkIHdoZW4gYW4gaXRlcmF0b3IgaXMgcmVxdWlyZWQgZm9yIGEgY29udGFpbmVyLlxuICAgVGhpcyBtZXRob2Qgc2hvdWxkIHJldHVybiBhIG5ldyBpdGVyYXRvciBvYmplY3QgdGhhdCBjYW4gaXRlcmF0ZVxuICAgb3ZlciBhbGwgdGhlIG9iamVjdHMgaW4gdGhlIGNvbnRhaW5lci4gIEZvciBtYXBwaW5ncywgaXQgc2hvdWxkXG4gICBpdGVyYXRlIG92ZXIgdGhlIGtleXMgb2YgdGhlIGNvbnRhaW5lci5cblxuICAgSXRlcmF0b3Igb2JqZWN0cyBhbHNvIG5lZWQgdG8gaW1wbGVtZW50IHRoaXMgbWV0aG9kOyB0aGV5IGFyZVxuICAgcmVxdWlyZWQgdG8gcmV0dXJuIHRoZW1zZWx2ZXMuICBGb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBpdGVyYXRvclxuICAgb2JqZWN0cywgc2VlICpJdGVyYXRvciBUeXBlcyouXG5cbm9iamVjdC5fX3JldmVyc2VkX18oc2VsZilcblxuICAgQ2FsbGVkIChpZiBwcmVzZW50KSBieSB0aGUgInJldmVyc2VkKCkiIGJ1aWx0LWluIHRvIGltcGxlbWVudFxuICAgcmV2ZXJzZSBpdGVyYXRpb24uICBJdCBzaG91bGQgcmV0dXJuIGEgbmV3IGl0ZXJhdG9yIG9iamVjdCB0aGF0XG4gICBpdGVyYXRlcyBvdmVyIGFsbCB0aGUgb2JqZWN0cyBpbiB0aGUgY29udGFpbmVyIGluIHJldmVyc2Ugb3JkZXIuXG5cbiAgIElmIHRoZSAiX19yZXZlcnNlZF9fKCkiIG1ldGhvZCBpcyBub3QgcHJvdmlkZWQsIHRoZSAicmV2ZXJzZWQoKSJcbiAgIGJ1aWx0LWluIHdpbGwgZmFsbCBiYWNrIHRvIHVzaW5nIHRoZSBzZXF1ZW5jZSBwcm90b2NvbCAoIl9fbGVuX18oKSJcbiAgIGFuZCAiX19nZXRpdGVtX18oKSIpLiAgT2JqZWN0cyB0aGF0IHN1cHBvcnQgdGhlIHNlcXVlbmNlIHByb3RvY29sXG4gICBzaG91bGQgb25seSBwcm92aWRlICJfX3JldmVyc2VkX18oKSIgaWYgdGhleSBjYW4gcHJvdmlkZSBhblxuICAgaW1wbGVtZW50YXRpb24gdGhhdCBpcyBtb3JlIGVmZmljaWVudCB0aGFuIHRoZSBvbmUgcHJvdmlkZWQgYnlcbiAgICJyZXZlcnNlZCgpIi5cblxuVGhlIG1lbWJlcnNoaXAgdGVzdCBvcGVyYXRvcnMgKCJpbiIgYW5kICJub3QgaW4iKSBhcmUgbm9ybWFsbHlcbmltcGxlbWVudGVkIGFzIGFuIGl0ZXJhdGlvbiB0aHJvdWdoIGEgc2VxdWVuY2UuICBIb3dldmVyLCBjb250YWluZXJcbm9iamVjdHMgY2FuIHN1cHBseSB0aGUgZm9sbG93aW5nIHNwZWNpYWwgbWV0aG9kIHdpdGggYSBtb3JlIGVmZmljaWVudFxuaW1wbGVtZW50YXRpb24sIHdoaWNoIGFsc28gZG9lcyBub3QgcmVxdWlyZSB0aGUgb2JqZWN0IGJlIGEgc2VxdWVuY2UuXG5cbm9iamVjdC5fX2NvbnRhaW5zX18oc2VsZiwgaXRlbSlcblxuICAgQ2FsbGVkIHRvIGltcGxlbWVudCBtZW1iZXJzaGlwIHRlc3Qgb3BlcmF0b3JzLiAgU2hvdWxkIHJldHVybiB0cnVlXG4gICBpZiAqaXRlbSogaXMgaW4gKnNlbGYqLCBmYWxzZSBvdGhlcndpc2UuICBGb3IgbWFwcGluZyBvYmplY3RzLCB0aGlzXG4gICBzaG91bGQgY29uc2lkZXIgdGhlIGtleXMgb2YgdGhlIG1hcHBpbmcgcmF0aGVyIHRoYW4gdGhlIHZhbHVlcyBvclxuICAgdGhlIGtleS1pdGVtIHBhaXJzLlxuXG4gICBGb3Igb2JqZWN0cyB0aGF0IGRvblwndCBkZWZpbmUgIl9fY29udGFpbnNfXygpIiwgdGhlIG1lbWJlcnNoaXAgdGVzdFxuICAgZmlyc3QgdHJpZXMgaXRlcmF0aW9uIHZpYSAiX19pdGVyX18oKSIsIHRoZW4gdGhlIG9sZCBzZXF1ZW5jZVxuICAgaXRlcmF0aW9uIHByb3RvY29sIHZpYSAiX19nZXRpdGVtX18oKSIsIHNlZSAqdGhpcyBzZWN0aW9uIGluIHRoZVxuICAgbGFuZ3VhZ2UgcmVmZXJlbmNlKi5cblxuXG5FbXVsYXRpbmcgbnVtZXJpYyB0eXBlc1xuPT09PT09PT09PT09PT09PT09PT09PT1cblxuVGhlIGZvbGxvd2luZyBtZXRob2RzIGNhbiBiZSBkZWZpbmVkIHRvIGVtdWxhdGUgbnVtZXJpYyBvYmplY3RzLlxuTWV0aG9kcyBjb3JyZXNwb25kaW5nIHRvIG9wZXJhdGlvbnMgdGhhdCBhcmUgbm90IHN1cHBvcnRlZCBieSB0aGVcbnBhcnRpY3VsYXIga2luZCBvZiBudW1iZXIgaW1wbGVtZW50ZWQgKGUuZy4sIGJpdHdpc2Ugb3BlcmF0aW9ucyBmb3Jcbm5vbi1pbnRlZ3JhbCBudW1iZXJzKSBzaG91bGQgYmUgbGVmdCB1bmRlZmluZWQuXG5cbm9iamVjdC5fX2FkZF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fc3ViX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19tdWxfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX21hdG11bF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fdHJ1ZWRpdl9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fZmxvb3JkaXZfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX21vZF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fZGl2bW9kX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19wb3dfXyhzZWxmLCBvdGhlclssIG1vZHVsb10pXG5vYmplY3QuX19sc2hpZnRfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3JzaGlmdF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fYW5kX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX194b3JfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX29yX18oc2VsZiwgb3RoZXIpXG5cbiAgIFRoZXNlIG1ldGhvZHMgYXJlIGNhbGxlZCB0byBpbXBsZW1lbnQgdGhlIGJpbmFyeSBhcml0aG1ldGljXG4gICBvcGVyYXRpb25zICgiKyIsICItIiwgIioiLCAiQCIsICIvIiwgIi8vIiwgIiUiLCAiZGl2bW9kKCkiLFxuICAgInBvdygpIiwgIioqIiwgIjw8IiwgIj4+IiwgIiYiLCAiXiIsICJ8IikuICBGb3IgaW5zdGFuY2UsIHRvXG4gICBldmFsdWF0ZSB0aGUgZXhwcmVzc2lvbiAieCArIHkiLCB3aGVyZSAqeCogaXMgYW4gaW5zdGFuY2Ugb2YgYVxuICAgY2xhc3MgdGhhdCBoYXMgYW4gIl9fYWRkX18oKSIgbWV0aG9kLCAieC5fX2FkZF9fKHkpIiBpcyBjYWxsZWQuXG4gICBUaGUgIl9fZGl2bW9kX18oKSIgbWV0aG9kIHNob3VsZCBiZSB0aGUgZXF1aXZhbGVudCB0byB1c2luZ1xuICAgIl9fZmxvb3JkaXZfXygpIiBhbmQgIl9fbW9kX18oKSI7IGl0IHNob3VsZCBub3QgYmUgcmVsYXRlZCB0b1xuICAgIl9fdHJ1ZWRpdl9fKCkiLiAgTm90ZSB0aGF0ICJfX3Bvd19fKCkiIHNob3VsZCBiZSBkZWZpbmVkIHRvIGFjY2VwdFxuICAgYW4gb3B0aW9uYWwgdGhpcmQgYXJndW1lbnQgaWYgdGhlIHRlcm5hcnkgdmVyc2lvbiBvZiB0aGUgYnVpbHQtaW5cbiAgICJwb3coKSIgZnVuY3Rpb24gaXMgdG8gYmUgc3VwcG9ydGVkLlxuXG4gICBJZiBvbmUgb2YgdGhvc2UgbWV0aG9kcyBkb2VzIG5vdCBzdXBwb3J0IHRoZSBvcGVyYXRpb24gd2l0aCB0aGVcbiAgIHN1cHBsaWVkIGFyZ3VtZW50cywgaXQgc2hvdWxkIHJldHVybiAiTm90SW1wbGVtZW50ZWQiLlxuXG5vYmplY3QuX19yYWRkX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19yc3ViX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19ybXVsX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19ybWF0bXVsX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19ydHJ1ZWRpdl9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fcmZsb29yZGl2X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19ybW9kX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19yZGl2bW9kX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19ycG93X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19ybHNoaWZ0X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19ycnNoaWZ0X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19yYW5kX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19yeG9yX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19yb3JfXyhzZWxmLCBvdGhlcilcblxuICAgVGhlc2UgbWV0aG9kcyBhcmUgY2FsbGVkIHRvIGltcGxlbWVudCB0aGUgYmluYXJ5IGFyaXRobWV0aWNcbiAgIG9wZXJhdGlvbnMgKCIrIiwgIi0iLCAiKiIsICJAIiwgIi8iLCAiLy8iLCAiJSIsICJkaXZtb2QoKSIsXG4gICAicG93KCkiLCAiKioiLCAiPDwiLCAiPj4iLCAiJiIsICJeIiwgInwiKSB3aXRoIHJlZmxlY3RlZCAoc3dhcHBlZClcbiAgIG9wZXJhbmRzLiAgVGhlc2UgZnVuY3Rpb25zIGFyZSBvbmx5IGNhbGxlZCBpZiB0aGUgbGVmdCBvcGVyYW5kIGRvZXNcbiAgIG5vdCBzdXBwb3J0IHRoZSBjb3JyZXNwb25kaW5nIG9wZXJhdGlvbiBhbmQgdGhlIG9wZXJhbmRzIGFyZSBvZlxuICAgZGlmZmVyZW50IHR5cGVzLiBbMl0gRm9yIGluc3RhbmNlLCB0byBldmFsdWF0ZSB0aGUgZXhwcmVzc2lvbiAieCAtXG4gICB5Iiwgd2hlcmUgKnkqIGlzIGFuIGluc3RhbmNlIG9mIGEgY2xhc3MgdGhhdCBoYXMgYW4gIl9fcnN1Yl9fKCkiXG4gICBtZXRob2QsICJ5Ll9fcnN1Yl9fKHgpIiBpcyBjYWxsZWQgaWYgInguX19zdWJfXyh5KSIgcmV0dXJuc1xuICAgKk5vdEltcGxlbWVudGVkKi5cblxuICAgTm90ZSB0aGF0IHRlcm5hcnkgInBvdygpIiB3aWxsIG5vdCB0cnkgY2FsbGluZyAiX19ycG93X18oKSIgKHRoZVxuICAgY29lcmNpb24gcnVsZXMgd291bGQgYmVjb21lIHRvbyBjb21wbGljYXRlZCkuXG5cbiAgIE5vdGU6IElmIHRoZSByaWdodCBvcGVyYW5kXCdzIHR5cGUgaXMgYSBzdWJjbGFzcyBvZiB0aGUgbGVmdFxuICAgICBvcGVyYW5kXCdzIHR5cGUgYW5kIHRoYXQgc3ViY2xhc3MgcHJvdmlkZXMgdGhlIHJlZmxlY3RlZCBtZXRob2RcbiAgICAgZm9yIHRoZSBvcGVyYXRpb24sIHRoaXMgbWV0aG9kIHdpbGwgYmUgY2FsbGVkIGJlZm9yZSB0aGUgbGVmdFxuICAgICBvcGVyYW5kXCdzIG5vbi1yZWZsZWN0ZWQgbWV0aG9kLiAgVGhpcyBiZWhhdmlvciBhbGxvd3Mgc3ViY2xhc3Nlc1xuICAgICB0byBvdmVycmlkZSB0aGVpciBhbmNlc3RvcnNcJyBvcGVyYXRpb25zLlxuXG5vYmplY3QuX19pYWRkX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19pc3ViX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19pbXVsX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19pbWF0bXVsX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19pdHJ1ZWRpdl9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9faWZsb29yZGl2X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19pbW9kX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19pcG93X18oc2VsZiwgb3RoZXJbLCBtb2R1bG9dKVxub2JqZWN0Ll9faWxzaGlmdF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9faXJzaGlmdF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9faWFuZF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9faXhvcl9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9faW9yX18oc2VsZiwgb3RoZXIpXG5cbiAgIFRoZXNlIG1ldGhvZHMgYXJlIGNhbGxlZCB0byBpbXBsZW1lbnQgdGhlIGF1Z21lbnRlZCBhcml0aG1ldGljXG4gICBhc3NpZ25tZW50cyAoIis9IiwgIi09IiwgIio9IiwgIkA9IiwgIi89IiwgIi8vPSIsICIlPSIsICIqKj0iLFxuICAgIjw8PSIsICI+Pj0iLCAiJj0iLCAiXj0iLCAifD0iKS4gIFRoZXNlIG1ldGhvZHMgc2hvdWxkIGF0dGVtcHQgdG9cbiAgIGRvIHRoZSBvcGVyYXRpb24gaW4tcGxhY2UgKG1vZGlmeWluZyAqc2VsZiopIGFuZCByZXR1cm4gdGhlIHJlc3VsdFxuICAgKHdoaWNoIGNvdWxkIGJlLCBidXQgZG9lcyBub3QgaGF2ZSB0byBiZSwgKnNlbGYqKS4gIElmIGEgc3BlY2lmaWNcbiAgIG1ldGhvZCBpcyBub3QgZGVmaW5lZCwgdGhlIGF1Z21lbnRlZCBhc3NpZ25tZW50IGZhbGxzIGJhY2sgdG8gdGhlXG4gICBub3JtYWwgbWV0aG9kcy4gIEZvciBpbnN0YW5jZSwgaWYgKngqIGlzIGFuIGluc3RhbmNlIG9mIGEgY2xhc3NcbiAgIHdpdGggYW4gIl9faWFkZF9fKCkiIG1ldGhvZCwgInggKz0geSIgaXMgZXF1aXZhbGVudCB0byAieCA9XG4gICB4Ll9faWFkZF9fKHkpIiAuIE90aGVyd2lzZSwgInguX19hZGRfXyh5KSIgYW5kICJ5Ll9fcmFkZF9fKHgpIiBhcmVcbiAgIGNvbnNpZGVyZWQsIGFzIHdpdGggdGhlIGV2YWx1YXRpb24gb2YgInggKyB5Ii4gSW4gY2VydGFpblxuICAgc2l0dWF0aW9ucywgYXVnbWVudGVkIGFzc2lnbm1lbnQgY2FuIHJlc3VsdCBpbiB1bmV4cGVjdGVkIGVycm9yc1xuICAgKHNlZSAqV2h5IGRvZXMgYV90dXBsZVtpXSArPSBbXCdpdGVtXCddIHJhaXNlIGFuIGV4Y2VwdGlvbiB3aGVuIHRoZVxuICAgYWRkaXRpb24gd29ya3M/KiksIGJ1dCB0aGlzIGJlaGF2aW9yIGlzIGluIGZhY3QgcGFydCBvZiB0aGUgZGF0YVxuICAgbW9kZWwuXG5cbm9iamVjdC5fX25lZ19fKHNlbGYpXG5vYmplY3QuX19wb3NfXyhzZWxmKVxub2JqZWN0Ll9fYWJzX18oc2VsZilcbm9iamVjdC5fX2ludmVydF9fKHNlbGYpXG5cbiAgIENhbGxlZCB0byBpbXBsZW1lbnQgdGhlIHVuYXJ5IGFyaXRobWV0aWMgb3BlcmF0aW9ucyAoIi0iLCAiKyIsXG4gICAiYWJzKCkiIGFuZCAifiIpLlxuXG5vYmplY3QuX19jb21wbGV4X18oc2VsZilcbm9iamVjdC5fX2ludF9fKHNlbGYpXG5vYmplY3QuX19mbG9hdF9fKHNlbGYpXG5vYmplY3QuX19yb3VuZF9fKHNlbGZbLCBuXSlcblxuICAgQ2FsbGVkIHRvIGltcGxlbWVudCB0aGUgYnVpbHQtaW4gZnVuY3Rpb25zICJjb21wbGV4KCkiLCAiaW50KCkiLFxuICAgImZsb2F0KCkiIGFuZCAicm91bmQoKSIuICBTaG91bGQgcmV0dXJuIGEgdmFsdWUgb2YgdGhlIGFwcHJvcHJpYXRlXG4gICB0eXBlLlxuXG5vYmplY3QuX19pbmRleF9fKHNlbGYpXG5cbiAgIENhbGxlZCB0byBpbXBsZW1lbnQgIm9wZXJhdG9yLmluZGV4KCkiLCBhbmQgd2hlbmV2ZXIgUHl0aG9uIG5lZWRzXG4gICB0byBsb3NzbGVzc2x5IGNvbnZlcnQgdGhlIG51bWVyaWMgb2JqZWN0IHRvIGFuIGludGVnZXIgb2JqZWN0IChzdWNoXG4gICBhcyBpbiBzbGljaW5nLCBvciBpbiB0aGUgYnVpbHQtaW4gImJpbigpIiwgImhleCgpIiBhbmQgIm9jdCgpIlxuICAgZnVuY3Rpb25zKS4gUHJlc2VuY2Ugb2YgdGhpcyBtZXRob2QgaW5kaWNhdGVzIHRoYXQgdGhlIG51bWVyaWNcbiAgIG9iamVjdCBpcyBhbiBpbnRlZ2VyIHR5cGUuICBNdXN0IHJldHVybiBhbiBpbnRlZ2VyLlxuXG4gICBOb3RlOiBJbiBvcmRlciB0byBoYXZlIGEgY29oZXJlbnQgaW50ZWdlciB0eXBlIGNsYXNzLCB3aGVuXG4gICAgICJfX2luZGV4X18oKSIgaXMgZGVmaW5lZCAiX19pbnRfXygpIiBzaG91bGQgYWxzbyBiZSBkZWZpbmVkLCBhbmRcbiAgICAgYm90aCBzaG91bGQgcmV0dXJuIHRoZSBzYW1lIHZhbHVlLlxuXG5cbldpdGggU3RhdGVtZW50IENvbnRleHQgTWFuYWdlcnNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQSAqY29udGV4dCBtYW5hZ2VyKiBpcyBhbiBvYmplY3QgdGhhdCBkZWZpbmVzIHRoZSBydW50aW1lIGNvbnRleHQgdG9cbmJlIGVzdGFibGlzaGVkIHdoZW4gZXhlY3V0aW5nIGEgIndpdGgiIHN0YXRlbWVudC4gVGhlIGNvbnRleHQgbWFuYWdlclxuaGFuZGxlcyB0aGUgZW50cnkgaW50bywgYW5kIHRoZSBleGl0IGZyb20sIHRoZSBkZXNpcmVkIHJ1bnRpbWUgY29udGV4dFxuZm9yIHRoZSBleGVjdXRpb24gb2YgdGhlIGJsb2NrIG9mIGNvZGUuICBDb250ZXh0IG1hbmFnZXJzIGFyZSBub3JtYWxseVxuaW52b2tlZCB1c2luZyB0aGUgIndpdGgiIHN0YXRlbWVudCAoZGVzY3JpYmVkIGluIHNlY3Rpb24gKlRoZSB3aXRoXG5zdGF0ZW1lbnQqKSwgYnV0IGNhbiBhbHNvIGJlIHVzZWQgYnkgZGlyZWN0bHkgaW52b2tpbmcgdGhlaXIgbWV0aG9kcy5cblxuVHlwaWNhbCB1c2VzIG9mIGNvbnRleHQgbWFuYWdlcnMgaW5jbHVkZSBzYXZpbmcgYW5kIHJlc3RvcmluZyB2YXJpb3VzXG5raW5kcyBvZiBnbG9iYWwgc3RhdGUsIGxvY2tpbmcgYW5kIHVubG9ja2luZyByZXNvdXJjZXMsIGNsb3Npbmcgb3BlbmVkXG5maWxlcywgZXRjLlxuXG5Gb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBjb250ZXh0IG1hbmFnZXJzLCBzZWUgKkNvbnRleHQgTWFuYWdlciBUeXBlcyouXG5cbm9iamVjdC5fX2VudGVyX18oc2VsZilcblxuICAgRW50ZXIgdGhlIHJ1bnRpbWUgY29udGV4dCByZWxhdGVkIHRvIHRoaXMgb2JqZWN0LiBUaGUgIndpdGgiXG4gICBzdGF0ZW1lbnQgd2lsbCBiaW5kIHRoaXMgbWV0aG9kXCdzIHJldHVybiB2YWx1ZSB0byB0aGUgdGFyZ2V0KHMpXG4gICBzcGVjaWZpZWQgaW4gdGhlICJhcyIgY2xhdXNlIG9mIHRoZSBzdGF0ZW1lbnQsIGlmIGFueS5cblxub2JqZWN0Ll9fZXhpdF9fKHNlbGYsIGV4Y190eXBlLCBleGNfdmFsdWUsIHRyYWNlYmFjaylcblxuICAgRXhpdCB0aGUgcnVudGltZSBjb250ZXh0IHJlbGF0ZWQgdG8gdGhpcyBvYmplY3QuIFRoZSBwYXJhbWV0ZXJzXG4gICBkZXNjcmliZSB0aGUgZXhjZXB0aW9uIHRoYXQgY2F1c2VkIHRoZSBjb250ZXh0IHRvIGJlIGV4aXRlZC4gSWYgdGhlXG4gICBjb250ZXh0IHdhcyBleGl0ZWQgd2l0aG91dCBhbiBleGNlcHRpb24sIGFsbCB0aHJlZSBhcmd1bWVudHMgd2lsbFxuICAgYmUgIk5vbmUiLlxuXG4gICBJZiBhbiBleGNlcHRpb24gaXMgc3VwcGxpZWQsIGFuZCB0aGUgbWV0aG9kIHdpc2hlcyB0byBzdXBwcmVzcyB0aGVcbiAgIGV4Y2VwdGlvbiAoaS5lLiwgcHJldmVudCBpdCBmcm9tIGJlaW5nIHByb3BhZ2F0ZWQpLCBpdCBzaG91bGRcbiAgIHJldHVybiBhIHRydWUgdmFsdWUuIE90aGVyd2lzZSwgdGhlIGV4Y2VwdGlvbiB3aWxsIGJlIHByb2Nlc3NlZFxuICAgbm9ybWFsbHkgdXBvbiBleGl0IGZyb20gdGhpcyBtZXRob2QuXG5cbiAgIE5vdGUgdGhhdCAiX19leGl0X18oKSIgbWV0aG9kcyBzaG91bGQgbm90IHJlcmFpc2UgdGhlIHBhc3NlZC1pblxuICAgZXhjZXB0aW9uOyB0aGlzIGlzIHRoZSBjYWxsZXJcJ3MgcmVzcG9uc2liaWxpdHkuXG5cblNlZSBhbHNvOiAqKlBFUCAwMzQzKiogLSBUaGUgIndpdGgiIHN0YXRlbWVudFxuXG4gICAgIFRoZSBzcGVjaWZpY2F0aW9uLCBiYWNrZ3JvdW5kLCBhbmQgZXhhbXBsZXMgZm9yIHRoZSBQeXRob24gIndpdGgiXG4gICAgIHN0YXRlbWVudC5cblxuXG5TcGVjaWFsIG1ldGhvZCBsb29rdXBcbj09PT09PT09PT09PT09PT09PT09PVxuXG5Gb3IgY3VzdG9tIGNsYXNzZXMsIGltcGxpY2l0IGludm9jYXRpb25zIG9mIHNwZWNpYWwgbWV0aG9kcyBhcmUgb25seVxuZ3VhcmFudGVlZCB0byB3b3JrIGNvcnJlY3RseSBpZiBkZWZpbmVkIG9uIGFuIG9iamVjdFwncyB0eXBlLCBub3QgaW5cbnRoZSBvYmplY3RcJ3MgaW5zdGFuY2UgZGljdGlvbmFyeS4gIFRoYXQgYmVoYXZpb3VyIGlzIHRoZSByZWFzb24gd2h5XG50aGUgZm9sbG93aW5nIGNvZGUgcmFpc2VzIGFuIGV4Y2VwdGlvbjpcblxuICAgPj4+IGNsYXNzIEM6XG4gICAuLi4gICAgIHBhc3NcbiAgIC4uLlxuICAgPj4+IGMgPSBDKClcbiAgID4+PiBjLl9fbGVuX18gPSBsYW1iZGE6IDVcbiAgID4+PiBsZW4oYylcbiAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KTpcbiAgICAgRmlsZSAiPHN0ZGluPiIsIGxpbmUgMSwgaW4gPG1vZHVsZT5cbiAgIFR5cGVFcnJvcjogb2JqZWN0IG9mIHR5cGUgXCdDXCcgaGFzIG5vIGxlbigpXG5cblRoZSByYXRpb25hbGUgYmVoaW5kIHRoaXMgYmVoYXZpb3VyIGxpZXMgd2l0aCBhIG51bWJlciBvZiBzcGVjaWFsXG5tZXRob2RzIHN1Y2ggYXMgIl9faGFzaF9fKCkiIGFuZCAiX19yZXByX18oKSIgdGhhdCBhcmUgaW1wbGVtZW50ZWQgYnlcbmFsbCBvYmplY3RzLCBpbmNsdWRpbmcgdHlwZSBvYmplY3RzLiBJZiB0aGUgaW1wbGljaXQgbG9va3VwIG9mIHRoZXNlXG5tZXRob2RzIHVzZWQgdGhlIGNvbnZlbnRpb25hbCBsb29rdXAgcHJvY2VzcywgdGhleSB3b3VsZCBmYWlsIHdoZW5cbmludm9rZWQgb24gdGhlIHR5cGUgb2JqZWN0IGl0c2VsZjpcblxuICAgPj4+IDEgLl9faGFzaF9fKCkgPT0gaGFzaCgxKVxuICAgVHJ1ZVxuICAgPj4+IGludC5fX2hhc2hfXygpID09IGhhc2goaW50KVxuICAgVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOlxuICAgICBGaWxlICI8c3RkaW4+IiwgbGluZSAxLCBpbiA8bW9kdWxlPlxuICAgVHlwZUVycm9yOiBkZXNjcmlwdG9yIFwnX19oYXNoX19cJyBvZiBcJ2ludFwnIG9iamVjdCBuZWVkcyBhbiBhcmd1bWVudFxuXG5JbmNvcnJlY3RseSBhdHRlbXB0aW5nIHRvIGludm9rZSBhbiB1bmJvdW5kIG1ldGhvZCBvZiBhIGNsYXNzIGluIHRoaXNcbndheSBpcyBzb21ldGltZXMgcmVmZXJyZWQgdG8gYXMgXCdtZXRhY2xhc3MgY29uZnVzaW9uXCcsIGFuZCBpcyBhdm9pZGVkXG5ieSBieXBhc3NpbmcgdGhlIGluc3RhbmNlIHdoZW4gbG9va2luZyB1cCBzcGVjaWFsIG1ldGhvZHM6XG5cbiAgID4+PiB0eXBlKDEpLl9faGFzaF9fKDEpID09IGhhc2goMSlcbiAgIFRydWVcbiAgID4+PiB0eXBlKGludCkuX19oYXNoX18oaW50KSA9PSBoYXNoKGludClcbiAgIFRydWVcblxuSW4gYWRkaXRpb24gdG8gYnlwYXNzaW5nIGFueSBpbnN0YW5jZSBhdHRyaWJ1dGVzIGluIHRoZSBpbnRlcmVzdCBvZlxuY29ycmVjdG5lc3MsIGltcGxpY2l0IHNwZWNpYWwgbWV0aG9kIGxvb2t1cCBnZW5lcmFsbHkgYWxzbyBieXBhc3Nlc1xudGhlICJfX2dldGF0dHJpYnV0ZV9fKCkiIG1ldGhvZCBldmVuIG9mIHRoZSBvYmplY3RcJ3MgbWV0YWNsYXNzOlxuXG4gICA+Pj4gY2xhc3MgTWV0YSh0eXBlKTpcbiAgIC4uLiAgICBkZWYgX19nZXRhdHRyaWJ1dGVfXygqYXJncyk6XG4gICAuLi4gICAgICAgcHJpbnQoIk1ldGFjbGFzcyBnZXRhdHRyaWJ1dGUgaW52b2tlZCIpXG4gICAuLi4gICAgICAgcmV0dXJuIHR5cGUuX19nZXRhdHRyaWJ1dGVfXygqYXJncylcbiAgIC4uLlxuICAgPj4+IGNsYXNzIEMob2JqZWN0LCBtZXRhY2xhc3M9TWV0YSk6XG4gICAuLi4gICAgIGRlZiBfX2xlbl9fKHNlbGYpOlxuICAgLi4uICAgICAgICAgcmV0dXJuIDEwXG4gICAuLi4gICAgIGRlZiBfX2dldGF0dHJpYnV0ZV9fKCphcmdzKTpcbiAgIC4uLiAgICAgICAgIHByaW50KCJDbGFzcyBnZXRhdHRyaWJ1dGUgaW52b2tlZCIpXG4gICAuLi4gICAgICAgICByZXR1cm4gb2JqZWN0Ll9fZ2V0YXR0cmlidXRlX18oKmFyZ3MpXG4gICAuLi5cbiAgID4+PiBjID0gQygpXG4gICA+Pj4gYy5fX2xlbl9fKCkgICAgICAgICAgICAgICAgICMgRXhwbGljaXQgbG9va3VwIHZpYSBpbnN0YW5jZVxuICAgQ2xhc3MgZ2V0YXR0cmlidXRlIGludm9rZWRcbiAgIDEwXG4gICA+Pj4gdHlwZShjKS5fX2xlbl9fKGMpICAgICAgICAgICMgRXhwbGljaXQgbG9va3VwIHZpYSB0eXBlXG4gICBNZXRhY2xhc3MgZ2V0YXR0cmlidXRlIGludm9rZWRcbiAgIDEwXG4gICA+Pj4gbGVuKGMpICAgICAgICAgICAgICAgICAgICAgICMgSW1wbGljaXQgbG9va3VwXG4gICAxMFxuXG5CeXBhc3NpbmcgdGhlICJfX2dldGF0dHJpYnV0ZV9fKCkiIG1hY2hpbmVyeSBpbiB0aGlzIGZhc2hpb24gcHJvdmlkZXNcbnNpZ25pZmljYW50IHNjb3BlIGZvciBzcGVlZCBvcHRpbWlzYXRpb25zIHdpdGhpbiB0aGUgaW50ZXJwcmV0ZXIsIGF0XG50aGUgY29zdCBvZiBzb21lIGZsZXhpYmlsaXR5IGluIHRoZSBoYW5kbGluZyBvZiBzcGVjaWFsIG1ldGhvZHMgKHRoZVxuc3BlY2lhbCBtZXRob2QgKm11c3QqIGJlIHNldCBvbiB0aGUgY2xhc3Mgb2JqZWN0IGl0c2VsZiBpbiBvcmRlciB0byBiZVxuY29uc2lzdGVudGx5IGludm9rZWQgYnkgdGhlIGludGVycHJldGVyKS5cblxuLVsgRm9vdG5vdGVzIF0tXG5cblsxXSBJdCAqaXMqIHBvc3NpYmxlIGluIHNvbWUgY2FzZXMgdG8gY2hhbmdlIGFuIG9iamVjdFwncyB0eXBlLFxuICAgIHVuZGVyIGNlcnRhaW4gY29udHJvbGxlZCBjb25kaXRpb25zLiBJdCBnZW5lcmFsbHkgaXNuXCd0IGEgZ29vZFxuICAgIGlkZWEgdGhvdWdoLCBzaW5jZSBpdCBjYW4gbGVhZCB0byBzb21lIHZlcnkgc3RyYW5nZSBiZWhhdmlvdXIgaWZcbiAgICBpdCBpcyBoYW5kbGVkIGluY29ycmVjdGx5LlxuXG5bMl0gRm9yIG9wZXJhbmRzIG9mIHRoZSBzYW1lIHR5cGUsIGl0IGlzIGFzc3VtZWQgdGhhdCBpZiB0aGUgbm9uLVxuICAgIHJlZmxlY3RlZCBtZXRob2QgKHN1Y2ggYXMgIl9fYWRkX18oKSIpIGZhaWxzIHRoZSBvcGVyYXRpb24gaXMgbm90XG4gICAgc3VwcG9ydGVkLCB3aGljaCBpcyB3aHkgdGhlIHJlZmxlY3RlZCBtZXRob2QgaXMgbm90IGNhbGxlZC5cbicsCiAgJ3N0cmluZy1tZXRob2RzJzogdSdcblN0cmluZyBNZXRob2RzXG4qKioqKioqKioqKioqKlxuXG5TdHJpbmdzIGltcGxlbWVudCBhbGwgb2YgdGhlICpjb21tb24qIHNlcXVlbmNlIG9wZXJhdGlvbnMsIGFsb25nIHdpdGhcbnRoZSBhZGRpdGlvbmFsIG1ldGhvZHMgZGVzY3JpYmVkIGJlbG93LlxuXG5TdHJpbmdzIGFsc28gc3VwcG9ydCB0d28gc3R5bGVzIG9mIHN0cmluZyBmb3JtYXR0aW5nLCBvbmUgcHJvdmlkaW5nIGFcbmxhcmdlIGRlZ3JlZSBvZiBmbGV4aWJpbGl0eSBhbmQgY3VzdG9taXphdGlvbiAoc2VlICJzdHIuZm9ybWF0KCkiLFxuKkZvcm1hdCBTdHJpbmcgU3ludGF4KiBhbmQgKlN0cmluZyBGb3JtYXR0aW5nKikgYW5kIHRoZSBvdGhlciBiYXNlZCBvblxuQyAicHJpbnRmIiBzdHlsZSBmb3JtYXR0aW5nIHRoYXQgaGFuZGxlcyBhIG5hcnJvd2VyIHJhbmdlIG9mIHR5cGVzIGFuZFxuaXMgc2xpZ2h0bHkgaGFyZGVyIHRvIHVzZSBjb3JyZWN0bHksIGJ1dCBpcyBvZnRlbiBmYXN0ZXIgZm9yIHRoZSBjYXNlc1xuaXQgY2FuIGhhbmRsZSAoKnByaW50Zi1zdHlsZSBTdHJpbmcgRm9ybWF0dGluZyopLlxuXG5UaGUgKlRleHQgUHJvY2Vzc2luZyBTZXJ2aWNlcyogc2VjdGlvbiBvZiB0aGUgc3RhbmRhcmQgbGlicmFyeSBjb3ZlcnNcbmEgbnVtYmVyIG9mIG90aGVyIG1vZHVsZXMgdGhhdCBwcm92aWRlIHZhcmlvdXMgdGV4dCByZWxhdGVkIHV0aWxpdGllc1xuKGluY2x1ZGluZyByZWd1bGFyIGV4cHJlc3Npb24gc3VwcG9ydCBpbiB0aGUgInJlIiBtb2R1bGUpLlxuXG5zdHIuY2FwaXRhbGl6ZSgpXG5cbiAgIFJldHVybiBhIGNvcHkgb2YgdGhlIHN0cmluZyB3aXRoIGl0cyBmaXJzdCBjaGFyYWN0ZXIgY2FwaXRhbGl6ZWRcbiAgIGFuZCB0aGUgcmVzdCBsb3dlcmNhc2VkLlxuXG5zdHIuY2FzZWZvbGQoKVxuXG4gICBSZXR1cm4gYSBjYXNlZm9sZGVkIGNvcHkgb2YgdGhlIHN0cmluZy4gQ2FzZWZvbGRlZCBzdHJpbmdzIG1heSBiZVxuICAgdXNlZCBmb3IgY2FzZWxlc3MgbWF0Y2hpbmcuXG5cbiAgIENhc2Vmb2xkaW5nIGlzIHNpbWlsYXIgdG8gbG93ZXJjYXNpbmcgYnV0IG1vcmUgYWdncmVzc2l2ZSBiZWNhdXNlXG4gICBpdCBpcyBpbnRlbmRlZCB0byByZW1vdmUgYWxsIGNhc2UgZGlzdGluY3Rpb25zIGluIGEgc3RyaW5nLiBGb3JcbiAgIGV4YW1wbGUsIHRoZSBHZXJtYW4gbG93ZXJjYXNlIGxldHRlciAiXCdceGRmXCciIGlzIGVxdWl2YWxlbnQgdG8gIiJzcyIiLlxuICAgU2luY2UgaXQgaXMgYWxyZWFkeSBsb3dlcmNhc2UsICJsb3dlcigpIiB3b3VsZCBkbyBub3RoaW5nIHRvICJcJ1x4ZGZcJyI7XG4gICAiY2FzZWZvbGQoKSIgY29udmVydHMgaXQgdG8gIiJzcyIiLlxuXG4gICBUaGUgY2FzZWZvbGRpbmcgYWxnb3JpdGhtIGlzIGRlc2NyaWJlZCBpbiBzZWN0aW9uIDMuMTMgb2YgdGhlXG4gICBVbmljb2RlIFN0YW5kYXJkLlxuXG4gICBOZXcgaW4gdmVyc2lvbiAzLjMuXG5cbnN0ci5jZW50ZXIod2lkdGhbLCBmaWxsY2hhcl0pXG5cbiAgIFJldHVybiBjZW50ZXJlZCBpbiBhIHN0cmluZyBvZiBsZW5ndGggKndpZHRoKi4gUGFkZGluZyBpcyBkb25lXG4gICB1c2luZyB0aGUgc3BlY2lmaWVkICpmaWxsY2hhciogKGRlZmF1bHQgaXMgYW4gQVNDSUkgc3BhY2UpLiBUaGVcbiAgIG9yaWdpbmFsIHN0cmluZyBpcyByZXR1cm5lZCBpZiAqd2lkdGgqIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0b1xuICAgImxlbihzKSIuXG5cbnN0ci5jb3VudChzdWJbLCBzdGFydFssIGVuZF1dKVxuXG4gICBSZXR1cm4gdGhlIG51bWJlciBvZiBub24tb3ZlcmxhcHBpbmcgb2NjdXJyZW5jZXMgb2Ygc3Vic3RyaW5nICpzdWIqXG4gICBpbiB0aGUgcmFuZ2UgWypzdGFydCosICplbmQqXS4gIE9wdGlvbmFsIGFyZ3VtZW50cyAqc3RhcnQqIGFuZFxuICAgKmVuZCogYXJlIGludGVycHJldGVkIGFzIGluIHNsaWNlIG5vdGF0aW9uLlxuXG5zdHIuZW5jb2RlKGVuY29kaW5nPSJ1dGYtOCIsIGVycm9ycz0ic3RyaWN0IilcblxuICAgUmV0dXJuIGFuIGVuY29kZWQgdmVyc2lvbiBvZiB0aGUgc3RyaW5nIGFzIGEgYnl0ZXMgb2JqZWN0LiBEZWZhdWx0XG4gICBlbmNvZGluZyBpcyAiXCd1dGYtOFwnIi4gKmVycm9ycyogbWF5IGJlIGdpdmVuIHRvIHNldCBhIGRpZmZlcmVudFxuICAgZXJyb3IgaGFuZGxpbmcgc2NoZW1lLiBUaGUgZGVmYXVsdCBmb3IgKmVycm9ycyogaXMgIlwnc3RyaWN0XCciLFxuICAgbWVhbmluZyB0aGF0IGVuY29kaW5nIGVycm9ycyByYWlzZSBhICJVbmljb2RlRXJyb3IiLiBPdGhlciBwb3NzaWJsZVxuICAgdmFsdWVzIGFyZSAiXCdpZ25vcmVcJyIsICJcJ3JlcGxhY2VcJyIsICJcJ3htbGNoYXJyZWZyZXBsYWNlXCciLFxuICAgIlwnYmFja3NsYXNocmVwbGFjZVwnIiBhbmQgYW55IG90aGVyIG5hbWUgcmVnaXN0ZXJlZCB2aWFcbiAgICJjb2RlY3MucmVnaXN0ZXJfZXJyb3IoKSIsIHNlZSBzZWN0aW9uICpFcnJvciBIYW5kbGVycyouIEZvciBhIGxpc3RcbiAgIG9mIHBvc3NpYmxlIGVuY29kaW5ncywgc2VlIHNlY3Rpb24gKlN0YW5kYXJkIEVuY29kaW5ncyouXG5cbiAgIENoYW5nZWQgaW4gdmVyc2lvbiAzLjE6IFN1cHBvcnQgZm9yIGtleXdvcmQgYXJndW1lbnRzIGFkZGVkLlxuXG5zdHIuZW5kc3dpdGgoc3VmZml4Wywgc3RhcnRbLCBlbmRdXSlcblxuICAgUmV0dXJuICJUcnVlIiBpZiB0aGUgc3RyaW5nIGVuZHMgd2l0aCB0aGUgc3BlY2lmaWVkICpzdWZmaXgqLFxuICAgb3RoZXJ3aXNlIHJldHVybiAiRmFsc2UiLiAgKnN1ZmZpeCogY2FuIGFsc28gYmUgYSB0dXBsZSBvZiBzdWZmaXhlc1xuICAgdG8gbG9vayBmb3IuICBXaXRoIG9wdGlvbmFsICpzdGFydCosIHRlc3QgYmVnaW5uaW5nIGF0IHRoYXRcbiAgIHBvc2l0aW9uLiAgV2l0aCBvcHRpb25hbCAqZW5kKiwgc3RvcCBjb21wYXJpbmcgYXQgdGhhdCBwb3NpdGlvbi5cblxuc3RyLmV4cGFuZHRhYnModGFic2l6ZT04KVxuXG4gICBSZXR1cm4gYSBjb3B5IG9mIHRoZSBzdHJpbmcgd2hlcmUgYWxsIHRhYiBjaGFyYWN0ZXJzIGFyZSByZXBsYWNlZFxuICAgYnkgb25lIG9yIG1vcmUgc3BhY2VzLCBkZXBlbmRpbmcgb24gdGhlIGN1cnJlbnQgY29sdW1uIGFuZCB0aGVcbiAgIGdpdmVuIHRhYiBzaXplLiAgVGFiIHBvc2l0aW9ucyBvY2N1ciBldmVyeSAqdGFic2l6ZSogY2hhcmFjdGVyc1xuICAgKGRlZmF1bHQgaXMgOCwgZ2l2aW5nIHRhYiBwb3NpdGlvbnMgYXQgY29sdW1ucyAwLCA4LCAxNiBhbmQgc28gb24pLlxuICAgVG8gZXhwYW5kIHRoZSBzdHJpbmcsIHRoZSBjdXJyZW50IGNvbHVtbiBpcyBzZXQgdG8gemVybyBhbmQgdGhlXG4gICBzdHJpbmcgaXMgZXhhbWluZWQgY2hhcmFjdGVyIGJ5IGNoYXJhY3Rlci4gIElmIHRoZSBjaGFyYWN0ZXIgaXMgYVxuICAgdGFiICgiXFx0IiksIG9uZSBvciBtb3JlIHNwYWNlIGNoYXJhY3RlcnMgYXJlIGluc2VydGVkIGluIHRoZSByZXN1bHRcbiAgIHVudGlsIHRoZSBjdXJyZW50IGNvbHVtbiBpcyBlcXVhbCB0byB0aGUgbmV4dCB0YWIgcG9zaXRpb24uIChUaGVcbiAgIHRhYiBjaGFyYWN0ZXIgaXRzZWxmIGlzIG5vdCBjb3BpZWQuKSAgSWYgdGhlIGNoYXJhY3RlciBpcyBhIG5ld2xpbmVcbiAgICgiXFxuIikgb3IgcmV0dXJuICgiXFxyIiksIGl0IGlzIGNvcGllZCBhbmQgdGhlIGN1cnJlbnQgY29sdW1uIGlzXG4gICByZXNldCB0byB6ZXJvLiAgQW55IG90aGVyIGNoYXJhY3RlciBpcyBjb3BpZWQgdW5jaGFuZ2VkIGFuZCB0aGVcbiAgIGN1cnJlbnQgY29sdW1uIGlzIGluY3JlbWVudGVkIGJ5IG9uZSByZWdhcmRsZXNzIG9mIGhvdyB0aGVcbiAgIGNoYXJhY3RlciBpcyByZXByZXNlbnRlZCB3aGVuIHByaW50ZWQuXG5cbiAgID4+PiBcJzAxXFx0MDEyXFx0MDEyM1xcdDAxMjM0XCcuZXhwYW5kdGFicygpXG4gICBcJzAxICAgICAgMDEyICAgICAwMTIzICAgIDAxMjM0XCdcbiAgID4+PiBcJzAxXFx0MDEyXFx0MDEyM1xcdDAxMjM0XCcuZXhwYW5kdGFicyg0KVxuICAgXCcwMSAgMDEyIDAxMjMgICAgMDEyMzRcJ1xuXG5zdHIuZmluZChzdWJbLCBzdGFydFssIGVuZF1dKVxuXG4gICBSZXR1cm4gdGhlIGxvd2VzdCBpbmRleCBpbiB0aGUgc3RyaW5nIHdoZXJlIHN1YnN0cmluZyAqc3ViKiBpc1xuICAgZm91bmQsIHN1Y2ggdGhhdCAqc3ViKiBpcyBjb250YWluZWQgaW4gdGhlIHNsaWNlICJzW3N0YXJ0OmVuZF0iLlxuICAgT3B0aW9uYWwgYXJndW1lbnRzICpzdGFydCogYW5kICplbmQqIGFyZSBpbnRlcnByZXRlZCBhcyBpbiBzbGljZVxuICAgbm90YXRpb24uICBSZXR1cm4gIi0xIiBpZiAqc3ViKiBpcyBub3QgZm91bmQuXG5cbiAgIE5vdGU6IFRoZSAiZmluZCgpIiBtZXRob2Qgc2hvdWxkIGJlIHVzZWQgb25seSBpZiB5b3UgbmVlZCB0byBrbm93XG4gICAgIHRoZSBwb3NpdGlvbiBvZiAqc3ViKi4gIFRvIGNoZWNrIGlmICpzdWIqIGlzIGEgc3Vic3RyaW5nIG9yIG5vdCxcbiAgICAgdXNlIHRoZSAiaW4iIG9wZXJhdG9yOlxuXG4gICAgICAgID4+PiBcJ1B5XCcgaW4gXCdQeXRob25cJ1xuICAgICAgICBUcnVlXG5cbnN0ci5mb3JtYXQoKmFyZ3MsICoqa3dhcmdzKVxuXG4gICBQZXJmb3JtIGEgc3RyaW5nIGZvcm1hdHRpbmcgb3BlcmF0aW9uLiAgVGhlIHN0cmluZyBvbiB3aGljaCB0aGlzXG4gICBtZXRob2QgaXMgY2FsbGVkIGNhbiBjb250YWluIGxpdGVyYWwgdGV4dCBvciByZXBsYWNlbWVudCBmaWVsZHNcbiAgIGRlbGltaXRlZCBieSBicmFjZXMgInt9Ii4gIEVhY2ggcmVwbGFjZW1lbnQgZmllbGQgY29udGFpbnMgZWl0aGVyXG4gICB0aGUgbnVtZXJpYyBpbmRleCBvZiBhIHBvc2l0aW9uYWwgYXJndW1lbnQsIG9yIHRoZSBuYW1lIG9mIGFcbiAgIGtleXdvcmQgYXJndW1lbnQuICBSZXR1cm5zIGEgY29weSBvZiB0aGUgc3RyaW5nIHdoZXJlIGVhY2hcbiAgIHJlcGxhY2VtZW50IGZpZWxkIGlzIHJlcGxhY2VkIHdpdGggdGhlIHN0cmluZyB2YWx1ZSBvZiB0aGVcbiAgIGNvcnJlc3BvbmRpbmcgYXJndW1lbnQuXG5cbiAgID4+PiAiVGhlIHN1bSBvZiAxICsgMiBpcyB7MH0iLmZvcm1hdCgxKzIpXG4gICBcJ1RoZSBzdW0gb2YgMSArIDIgaXMgM1wnXG5cbiAgIFNlZSAqRm9ybWF0IFN0cmluZyBTeW50YXgqIGZvciBhIGRlc2NyaXB0aW9uIG9mIHRoZSB2YXJpb3VzXG4gICBmb3JtYXR0aW5nIG9wdGlvbnMgdGhhdCBjYW4gYmUgc3BlY2lmaWVkIGluIGZvcm1hdCBzdHJpbmdzLlxuXG5zdHIuZm9ybWF0X21hcChtYXBwaW5nKVxuXG4gICBTaW1pbGFyIHRvICJzdHIuZm9ybWF0KCoqbWFwcGluZykiLCBleGNlcHQgdGhhdCAibWFwcGluZyIgaXMgdXNlZFxuICAgZGlyZWN0bHkgYW5kIG5vdCBjb3BpZWQgdG8gYSAiZGljdCIuICBUaGlzIGlzIHVzZWZ1bCBpZiBmb3IgZXhhbXBsZVxuICAgIm1hcHBpbmciIGlzIGEgZGljdCBzdWJjbGFzczpcblxuICAgPj4+IGNsYXNzIERlZmF1bHQoZGljdCk6XG4gICAuLi4gICAgIGRlZiBfX21pc3NpbmdfXyhzZWxmLCBrZXkpOlxuICAgLi4uICAgICAgICAgcmV0dXJuIGtleVxuICAgLi4uXG4gICA+Pj4gXCd7bmFtZX0gd2FzIGJvcm4gaW4ge2NvdW50cnl9XCcuZm9ybWF0X21hcChEZWZhdWx0KG5hbWU9XCdHdWlkb1wnKSlcbiAgIFwnR3VpZG8gd2FzIGJvcm4gaW4gY291bnRyeVwnXG5cbiAgIE5ldyBpbiB2ZXJzaW9uIDMuMi5cblxuc3RyLmluZGV4KHN1YlssIHN0YXJ0WywgZW5kXV0pXG5cbiAgIExpa2UgImZpbmQoKSIsIGJ1dCByYWlzZSAiVmFsdWVFcnJvciIgd2hlbiB0aGUgc3Vic3RyaW5nIGlzIG5vdFxuICAgZm91bmQuXG5cbnN0ci5pc2FsbnVtKClcblxuICAgUmV0dXJuIHRydWUgaWYgYWxsIGNoYXJhY3RlcnMgaW4gdGhlIHN0cmluZyBhcmUgYWxwaGFudW1lcmljIGFuZFxuICAgdGhlcmUgaXMgYXQgbGVhc3Qgb25lIGNoYXJhY3RlciwgZmFsc2Ugb3RoZXJ3aXNlLiAgQSBjaGFyYWN0ZXIgImMiXG4gICBpcyBhbHBoYW51bWVyaWMgaWYgb25lIG9mIHRoZSBmb2xsb3dpbmcgcmV0dXJucyAiVHJ1ZSI6XG4gICAiYy5pc2FscGhhKCkiLCAiYy5pc2RlY2ltYWwoKSIsICJjLmlzZGlnaXQoKSIsIG9yICJjLmlzbnVtZXJpYygpIi5cblxuc3RyLmlzYWxwaGEoKVxuXG4gICBSZXR1cm4gdHJ1ZSBpZiBhbGwgY2hhcmFjdGVycyBpbiB0aGUgc3RyaW5nIGFyZSBhbHBoYWJldGljIGFuZFxuICAgdGhlcmUgaXMgYXQgbGVhc3Qgb25lIGNoYXJhY3RlciwgZmFsc2Ugb3RoZXJ3aXNlLiAgQWxwaGFiZXRpY1xuICAgY2hhcmFjdGVycyBhcmUgdGhvc2UgY2hhcmFjdGVycyBkZWZpbmVkIGluIHRoZSBVbmljb2RlIGNoYXJhY3RlclxuICAgZGF0YWJhc2UgYXMgIkxldHRlciIsIGkuZS4sIHRob3NlIHdpdGggZ2VuZXJhbCBjYXRlZ29yeSBwcm9wZXJ0eVxuICAgYmVpbmcgb25lIG9mICJMbSIsICJMdCIsICJMdSIsICJMbCIsIG9yICJMbyIuICBOb3RlIHRoYXQgdGhpcyBpc1xuICAgZGlmZmVyZW50IGZyb20gdGhlICJBbHBoYWJldGljIiBwcm9wZXJ0eSBkZWZpbmVkIGluIHRoZSBVbmljb2RlXG4gICBTdGFuZGFyZC5cblxuc3RyLmlzZGVjaW1hbCgpXG5cbiAgIFJldHVybiB0cnVlIGlmIGFsbCBjaGFyYWN0ZXJzIGluIHRoZSBzdHJpbmcgYXJlIGRlY2ltYWwgY2hhcmFjdGVyc1xuICAgYW5kIHRoZXJlIGlzIGF0IGxlYXN0IG9uZSBjaGFyYWN0ZXIsIGZhbHNlIG90aGVyd2lzZS4gRGVjaW1hbFxuICAgY2hhcmFjdGVycyBhcmUgdGhvc2UgZnJvbSBnZW5lcmFsIGNhdGVnb3J5ICJOZCIuIFRoaXMgY2F0ZWdvcnlcbiAgIGluY2x1ZGVzIGRpZ2l0IGNoYXJhY3RlcnMsIGFuZCBhbGwgY2hhcmFjdGVycyB0aGF0IGNhbiBiZSB1c2VkIHRvXG4gICBmb3JtIGRlY2ltYWwtcmFkaXggbnVtYmVycywgZS5nLiBVKzA2NjAsIEFSQUJJQy1JTkRJQyBESUdJVCBaRVJPLlxuXG5zdHIuaXNkaWdpdCgpXG5cbiAgIFJldHVybiB0cnVlIGlmIGFsbCBjaGFyYWN0ZXJzIGluIHRoZSBzdHJpbmcgYXJlIGRpZ2l0cyBhbmQgdGhlcmUgaXNcbiAgIGF0IGxlYXN0IG9uZSBjaGFyYWN0ZXIsIGZhbHNlIG90aGVyd2lzZS4gIERpZ2l0cyBpbmNsdWRlIGRlY2ltYWxcbiAgIGNoYXJhY3RlcnMgYW5kIGRpZ2l0cyB0aGF0IG5lZWQgc3BlY2lhbCBoYW5kbGluZywgc3VjaCBhcyB0aGVcbiAgIGNvbXBhdGliaWxpdHkgc3VwZXJzY3JpcHQgZGlnaXRzLiAgRm9ybWFsbHksIGEgZGlnaXQgaXMgYSBjaGFyYWN0ZXJcbiAgIHRoYXQgaGFzIHRoZSBwcm9wZXJ0eSB2YWx1ZSBOdW1lcmljX1R5cGU9RGlnaXQgb3JcbiAgIE51bWVyaWNfVHlwZT1EZWNpbWFsLlxuXG5zdHIuaXNpZGVudGlmaWVyKClcblxuICAgUmV0dXJuIHRydWUgaWYgdGhlIHN0cmluZyBpcyBhIHZhbGlkIGlkZW50aWZpZXIgYWNjb3JkaW5nIHRvIHRoZVxuICAgbGFuZ3VhZ2UgZGVmaW5pdGlvbiwgc2VjdGlvbiAqSWRlbnRpZmllcnMgYW5kIGtleXdvcmRzKi5cblxuICAgVXNlICJrZXl3b3JkLmlza2V5d29yZCgpIiB0byB0ZXN0IGZvciByZXNlcnZlZCBpZGVudGlmaWVycyBzdWNoIGFzXG4gICAiZGVmIiBhbmQgImNsYXNzIi5cblxuc3RyLmlzbG93ZXIoKVxuXG4gICBSZXR1cm4gdHJ1ZSBpZiBhbGwgY2FzZWQgY2hhcmFjdGVycyBbNF0gaW4gdGhlIHN0cmluZyBhcmUgbG93ZXJjYXNlXG4gICBhbmQgdGhlcmUgaXMgYXQgbGVhc3Qgb25lIGNhc2VkIGNoYXJhY3RlciwgZmFsc2Ugb3RoZXJ3aXNlLlxuXG5zdHIuaXNudW1lcmljKClcblxuICAgUmV0dXJuIHRydWUgaWYgYWxsIGNoYXJhY3RlcnMgaW4gdGhlIHN0cmluZyBhcmUgbnVtZXJpYyBjaGFyYWN0ZXJzLFxuICAgYW5kIHRoZXJlIGlzIGF0IGxlYXN0IG9uZSBjaGFyYWN0ZXIsIGZhbHNlIG90aGVyd2lzZS4gTnVtZXJpY1xuICAgY2hhcmFjdGVycyBpbmNsdWRlIGRpZ2l0IGNoYXJhY3RlcnMsIGFuZCBhbGwgY2hhcmFjdGVycyB0aGF0IGhhdmVcbiAgIHRoZSBVbmljb2RlIG51bWVyaWMgdmFsdWUgcHJvcGVydHksIGUuZy4gVSsyMTU1LCBWVUxHQVIgRlJBQ1RJT05cbiAgIE9ORSBGSUZUSC4gIEZvcm1hbGx5LCBudW1lcmljIGNoYXJhY3RlcnMgYXJlIHRob3NlIHdpdGggdGhlXG4gICBwcm9wZXJ0eSB2YWx1ZSBOdW1lcmljX1R5cGU9RGlnaXQsIE51bWVyaWNfVHlwZT1EZWNpbWFsIG9yXG4gICBOdW1lcmljX1R5cGU9TnVtZXJpYy5cblxuc3RyLmlzcHJpbnRhYmxlKClcblxuICAgUmV0dXJuIHRydWUgaWYgYWxsIGNoYXJhY3RlcnMgaW4gdGhlIHN0cmluZyBhcmUgcHJpbnRhYmxlIG9yIHRoZVxuICAgc3RyaW5nIGlzIGVtcHR5LCBmYWxzZSBvdGhlcndpc2UuICBOb25wcmludGFibGUgY2hhcmFjdGVycyBhcmVcbiAgIHRob3NlIGNoYXJhY3RlcnMgZGVmaW5lZCBpbiB0aGUgVW5pY29kZSBjaGFyYWN0ZXIgZGF0YWJhc2UgYXNcbiAgICJPdGhlciIgb3IgIlNlcGFyYXRvciIsIGV4Y2VwdGluZyB0aGUgQVNDSUkgc3BhY2UgKDB4MjApIHdoaWNoIGlzXG4gICBjb25zaWRlcmVkIHByaW50YWJsZS4gIChOb3RlIHRoYXQgcHJpbnRhYmxlIGNoYXJhY3RlcnMgaW4gdGhpc1xuICAgY29udGV4dCBhcmUgdGhvc2Ugd2hpY2ggc2hvdWxkIG5vdCBiZSBlc2NhcGVkIHdoZW4gInJlcHIoKSIgaXNcbiAgIGludm9rZWQgb24gYSBzdHJpbmcuICBJdCBoYXMgbm8gYmVhcmluZyBvbiB0aGUgaGFuZGxpbmcgb2Ygc3RyaW5nc1xuICAgd3JpdHRlbiB0byAic3lzLnN0ZG91dCIgb3IgInN5cy5zdGRlcnIiLilcblxuc3RyLmlzc3BhY2UoKVxuXG4gICBSZXR1cm4gdHJ1ZSBpZiB0aGVyZSBhcmUgb25seSB3aGl0ZXNwYWNlIGNoYXJhY3RlcnMgaW4gdGhlIHN0cmluZ1xuICAgYW5kIHRoZXJlIGlzIGF0IGxlYXN0IG9uZSBjaGFyYWN0ZXIsIGZhbHNlIG90aGVyd2lzZS4gIFdoaXRlc3BhY2VcbiAgIGNoYXJhY3RlcnMgIGFyZSB0aG9zZSBjaGFyYWN0ZXJzIGRlZmluZWQgaW4gdGhlIFVuaWNvZGUgY2hhcmFjdGVyXG4gICBkYXRhYmFzZSBhcyAiT3RoZXIiIG9yICJTZXBhcmF0b3IiIGFuZCB0aG9zZSB3aXRoIGJpZGlyZWN0aW9uYWxcbiAgIHByb3BlcnR5IGJlaW5nIG9uZSBvZiAiV1MiLCAiQiIsIG9yICJTIi5cblxuc3RyLmlzdGl0bGUoKVxuXG4gICBSZXR1cm4gdHJ1ZSBpZiB0aGUgc3RyaW5nIGlzIGEgdGl0bGVjYXNlZCBzdHJpbmcgYW5kIHRoZXJlIGlzIGF0XG4gICBsZWFzdCBvbmUgY2hhcmFjdGVyLCBmb3IgZXhhbXBsZSB1cHBlcmNhc2UgY2hhcmFjdGVycyBtYXkgb25seVxuICAgZm9sbG93IHVuY2FzZWQgY2hhcmFjdGVycyBhbmQgbG93ZXJjYXNlIGNoYXJhY3RlcnMgb25seSBjYXNlZCBvbmVzLlxuICAgUmV0dXJuIGZhbHNlIG90aGVyd2lzZS5cblxuc3RyLmlzdXBwZXIoKVxuXG4gICBSZXR1cm4gdHJ1ZSBpZiBhbGwgY2FzZWQgY2hhcmFjdGVycyBbNF0gaW4gdGhlIHN0cmluZyBhcmUgdXBwZXJjYXNlXG4gICBhbmQgdGhlcmUgaXMgYXQgbGVhc3Qgb25lIGNhc2VkIGNoYXJhY3RlciwgZmFsc2Ugb3RoZXJ3aXNlLlxuXG5zdHIuam9pbihpdGVyYWJsZSlcblxuICAgUmV0dXJuIGEgc3RyaW5nIHdoaWNoIGlzIHRoZSBjb25jYXRlbmF0aW9uIG9mIHRoZSBzdHJpbmdzIGluIHRoZVxuICAgKml0ZXJhYmxlKiAqaXRlcmFibGUqLiAgQSAiVHlwZUVycm9yIiB3aWxsIGJlIHJhaXNlZCBpZiB0aGVyZSBhcmVcbiAgIGFueSBub24tc3RyaW5nIHZhbHVlcyBpbiAqaXRlcmFibGUqLCBpbmNsdWRpbmcgImJ5dGVzIiBvYmplY3RzLlxuICAgVGhlIHNlcGFyYXRvciBiZXR3ZWVuIGVsZW1lbnRzIGlzIHRoZSBzdHJpbmcgcHJvdmlkaW5nIHRoaXMgbWV0aG9kLlxuXG5zdHIubGp1c3Qod2lkdGhbLCBmaWxsY2hhcl0pXG5cbiAgIFJldHVybiB0aGUgc3RyaW5nIGxlZnQganVzdGlmaWVkIGluIGEgc3RyaW5nIG9mIGxlbmd0aCAqd2lkdGgqLlxuICAgUGFkZGluZyBpcyBkb25lIHVzaW5nIHRoZSBzcGVjaWZpZWQgKmZpbGxjaGFyKiAoZGVmYXVsdCBpcyBhbiBBU0NJSVxuICAgc3BhY2UpLiBUaGUgb3JpZ2luYWwgc3RyaW5nIGlzIHJldHVybmVkIGlmICp3aWR0aCogaXMgbGVzcyB0aGFuIG9yXG4gICBlcXVhbCB0byAibGVuKHMpIi5cblxuc3RyLmxvd2VyKClcblxuICAgUmV0dXJuIGEgY29weSBvZiB0aGUgc3RyaW5nIHdpdGggYWxsIHRoZSBjYXNlZCBjaGFyYWN0ZXJzIFs0XVxuICAgY29udmVydGVkIHRvIGxvd2VyY2FzZS5cblxuICAgVGhlIGxvd2VyY2FzaW5nIGFsZ29yaXRobSB1c2VkIGlzIGRlc2NyaWJlZCBpbiBzZWN0aW9uIDMuMTMgb2YgdGhlXG4gICBVbmljb2RlIFN0YW5kYXJkLlxuXG5zdHIubHN0cmlwKFtjaGFyc10pXG5cbiAgIFJldHVybiBhIGNvcHkgb2YgdGhlIHN0cmluZyB3aXRoIGxlYWRpbmcgY2hhcmFjdGVycyByZW1vdmVkLiAgVGhlXG4gICAqY2hhcnMqIGFyZ3VtZW50IGlzIGEgc3RyaW5nIHNwZWNpZnlpbmcgdGhlIHNldCBvZiBjaGFyYWN0ZXJzIHRvIGJlXG4gICByZW1vdmVkLiAgSWYgb21pdHRlZCBvciAiTm9uZSIsIHRoZSAqY2hhcnMqIGFyZ3VtZW50IGRlZmF1bHRzIHRvXG4gICByZW1vdmluZyB3aGl0ZXNwYWNlLiAgVGhlICpjaGFycyogYXJndW1lbnQgaXMgbm90IGEgcHJlZml4OyByYXRoZXIsXG4gICBhbGwgY29tYmluYXRpb25zIG9mIGl0cyB2YWx1ZXMgYXJlIHN0cmlwcGVkOlxuXG4gICAgICA+Pj4gXCcgICBzcGFjaW91cyAgIFwnLmxzdHJpcCgpXG4gICAgICBcJ3NwYWNpb3VzICAgXCdcbiAgICAgID4+PiBcJ3d3dy5leGFtcGxlLmNvbVwnLmxzdHJpcChcJ2Ntb3d6LlwnKVxuICAgICAgXCdleGFtcGxlLmNvbVwnXG5cbnN0YXRpYyBzdHIubWFrZXRyYW5zKHhbLCB5Wywgel1dKVxuXG4gICBUaGlzIHN0YXRpYyBtZXRob2QgcmV0dXJucyBhIHRyYW5zbGF0aW9uIHRhYmxlIHVzYWJsZSBmb3JcbiAgICJzdHIudHJhbnNsYXRlKCkiLlxuXG4gICBJZiB0aGVyZSBpcyBvbmx5IG9uZSBhcmd1bWVudCwgaXQgbXVzdCBiZSBhIGRpY3Rpb25hcnkgbWFwcGluZ1xuICAgVW5pY29kZSBvcmRpbmFscyAoaW50ZWdlcnMpIG9yIGNoYXJhY3RlcnMgKHN0cmluZ3Mgb2YgbGVuZ3RoIDEpIHRvXG4gICBVbmljb2RlIG9yZGluYWxzLCBzdHJpbmdzIChvZiBhcmJpdHJhcnkgbGVuZ3Rocykgb3IgTm9uZS5cbiAgIENoYXJhY3RlciBrZXlzIHdpbGwgdGhlbiBiZSBjb252ZXJ0ZWQgdG8gb3JkaW5hbHMuXG5cbiAgIElmIHRoZXJlIGFyZSB0d28gYXJndW1lbnRzLCB0aGV5IG11c3QgYmUgc3RyaW5ncyBvZiBlcXVhbCBsZW5ndGgsXG4gICBhbmQgaW4gdGhlIHJlc3VsdGluZyBkaWN0aW9uYXJ5LCBlYWNoIGNoYXJhY3RlciBpbiB4IHdpbGwgYmUgbWFwcGVkXG4gICB0byB0aGUgY2hhcmFjdGVyIGF0IHRoZSBzYW1lIHBvc2l0aW9uIGluIHkuICBJZiB0aGVyZSBpcyBhIHRoaXJkXG4gICBhcmd1bWVudCwgaXQgbXVzdCBiZSBhIHN0cmluZywgd2hvc2UgY2hhcmFjdGVycyB3aWxsIGJlIG1hcHBlZCB0b1xuICAgTm9uZSBpbiB0aGUgcmVzdWx0LlxuXG5zdHIucGFydGl0aW9uKHNlcClcblxuICAgU3BsaXQgdGhlIHN0cmluZyBhdCB0aGUgZmlyc3Qgb2NjdXJyZW5jZSBvZiAqc2VwKiwgYW5kIHJldHVybiBhXG4gICAzLXR1cGxlIGNvbnRhaW5pbmcgdGhlIHBhcnQgYmVmb3JlIHRoZSBzZXBhcmF0b3IsIHRoZSBzZXBhcmF0b3JcbiAgIGl0c2VsZiwgYW5kIHRoZSBwYXJ0IGFmdGVyIHRoZSBzZXBhcmF0b3IuICBJZiB0aGUgc2VwYXJhdG9yIGlzIG5vdFxuICAgZm91bmQsIHJldHVybiBhIDMtdHVwbGUgY29udGFpbmluZyB0aGUgc3RyaW5nIGl0c2VsZiwgZm9sbG93ZWQgYnlcbiAgIHR3byBlbXB0eSBzdHJpbmdzLlxuXG5zdHIucmVwbGFjZShvbGQsIG5ld1ssIGNvdW50XSlcblxuICAgUmV0dXJuIGEgY29weSBvZiB0aGUgc3RyaW5nIHdpdGggYWxsIG9jY3VycmVuY2VzIG9mIHN1YnN0cmluZyAqb2xkKlxuICAgcmVwbGFjZWQgYnkgKm5ldyouICBJZiB0aGUgb3B0aW9uYWwgYXJndW1lbnQgKmNvdW50KiBpcyBnaXZlbiwgb25seVxuICAgdGhlIGZpcnN0ICpjb3VudCogb2NjdXJyZW5jZXMgYXJlIHJlcGxhY2VkLlxuXG5zdHIucmZpbmQoc3ViWywgc3RhcnRbLCBlbmRdXSlcblxuICAgUmV0dXJuIHRoZSBoaWdoZXN0IGluZGV4IGluIHRoZSBzdHJpbmcgd2hlcmUgc3Vic3RyaW5nICpzdWIqIGlzXG4gICBmb3VuZCwgc3VjaCB0aGF0ICpzdWIqIGlzIGNvbnRhaW5lZCB3aXRoaW4gInNbc3RhcnQ6ZW5kXSIuXG4gICBPcHRpb25hbCBhcmd1bWVudHMgKnN0YXJ0KiBhbmQgKmVuZCogYXJlIGludGVycHJldGVkIGFzIGluIHNsaWNlXG4gICBub3RhdGlvbi4gIFJldHVybiAiLTEiIG9uIGZhaWx1cmUuXG5cbnN0ci5yaW5kZXgoc3ViWywgc3RhcnRbLCBlbmRdXSlcblxuICAgTGlrZSAicmZpbmQoKSIgYnV0IHJhaXNlcyAiVmFsdWVFcnJvciIgd2hlbiB0aGUgc3Vic3RyaW5nICpzdWIqIGlzXG4gICBub3QgZm91bmQuXG5cbnN0ci5yanVzdCh3aWR0aFssIGZpbGxjaGFyXSlcblxuICAgUmV0dXJuIHRoZSBzdHJpbmcgcmlnaHQganVzdGlmaWVkIGluIGEgc3RyaW5nIG9mIGxlbmd0aCAqd2lkdGgqLlxuICAgUGFkZGluZyBpcyBkb25lIHVzaW5nIHRoZSBzcGVjaWZpZWQgKmZpbGxjaGFyKiAoZGVmYXVsdCBpcyBhbiBBU0NJSVxuICAgc3BhY2UpLiBUaGUgb3JpZ2luYWwgc3RyaW5nIGlzIHJldHVybmVkIGlmICp3aWR0aCogaXMgbGVzcyB0aGFuIG9yXG4gICBlcXVhbCB0byAibGVuKHMpIi5cblxuc3RyLnJwYXJ0aXRpb24oc2VwKVxuXG4gICBTcGxpdCB0aGUgc3RyaW5nIGF0IHRoZSBsYXN0IG9jY3VycmVuY2Ugb2YgKnNlcCosIGFuZCByZXR1cm4gYVxuICAgMy10dXBsZSBjb250YWluaW5nIHRoZSBwYXJ0IGJlZm9yZSB0aGUgc2VwYXJhdG9yLCB0aGUgc2VwYXJhdG9yXG4gICBpdHNlbGYsIGFuZCB0aGUgcGFydCBhZnRlciB0aGUgc2VwYXJhdG9yLiAgSWYgdGhlIHNlcGFyYXRvciBpcyBub3RcbiAgIGZvdW5kLCByZXR1cm4gYSAzLXR1cGxlIGNvbnRhaW5pbmcgdHdvIGVtcHR5IHN0cmluZ3MsIGZvbGxvd2VkIGJ5XG4gICB0aGUgc3RyaW5nIGl0c2VsZi5cblxuc3RyLnJzcGxpdChzZXA9Tm9uZSwgbWF4c3BsaXQ9LTEpXG5cbiAgIFJldHVybiBhIGxpc3Qgb2YgdGhlIHdvcmRzIGluIHRoZSBzdHJpbmcsIHVzaW5nICpzZXAqIGFzIHRoZVxuICAgZGVsaW1pdGVyIHN0cmluZy4gSWYgKm1heHNwbGl0KiBpcyBnaXZlbiwgYXQgbW9zdCAqbWF4c3BsaXQqIHNwbGl0c1xuICAgYXJlIGRvbmUsIHRoZSAqcmlnaHRtb3N0KiBvbmVzLiAgSWYgKnNlcCogaXMgbm90IHNwZWNpZmllZCBvclxuICAgIk5vbmUiLCBhbnkgd2hpdGVzcGFjZSBzdHJpbmcgaXMgYSBzZXBhcmF0b3IuICBFeGNlcHQgZm9yIHNwbGl0dGluZ1xuICAgZnJvbSB0aGUgcmlnaHQsICJyc3BsaXQoKSIgYmVoYXZlcyBsaWtlICJzcGxpdCgpIiB3aGljaCBpc1xuICAgZGVzY3JpYmVkIGluIGRldGFpbCBiZWxvdy5cblxuc3RyLnJzdHJpcChbY2hhcnNdKVxuXG4gICBSZXR1cm4gYSBjb3B5IG9mIHRoZSBzdHJpbmcgd2l0aCB0cmFpbGluZyBjaGFyYWN0ZXJzIHJlbW92ZWQuICBUaGVcbiAgICpjaGFycyogYXJndW1lbnQgaXMgYSBzdHJpbmcgc3BlY2lmeWluZyB0aGUgc2V0IG9mIGNoYXJhY3RlcnMgdG8gYmVcbiAgIHJlbW92ZWQuICBJZiBvbWl0dGVkIG9yICJOb25lIiwgdGhlICpjaGFycyogYXJndW1lbnQgZGVmYXVsdHMgdG9cbiAgIHJlbW92aW5nIHdoaXRlc3BhY2UuICBUaGUgKmNoYXJzKiBhcmd1bWVudCBpcyBub3QgYSBzdWZmaXg7IHJhdGhlcixcbiAgIGFsbCBjb21iaW5hdGlvbnMgb2YgaXRzIHZhbHVlcyBhcmUgc3RyaXBwZWQ6XG5cbiAgICAgID4+PiBcJyAgIHNwYWNpb3VzICAgXCcucnN0cmlwKClcbiAgICAgIFwnICAgc3BhY2lvdXNcJ1xuICAgICAgPj4+IFwnbWlzc2lzc2lwcGlcJy5yc3RyaXAoXCdpcHpcJylcbiAgICAgIFwnbWlzc2lzc1wnXG5cbnN0ci5zcGxpdChzZXA9Tm9uZSwgbWF4c3BsaXQ9LTEpXG5cbiAgIFJldHVybiBhIGxpc3Qgb2YgdGhlIHdvcmRzIGluIHRoZSBzdHJpbmcsIHVzaW5nICpzZXAqIGFzIHRoZVxuICAgZGVsaW1pdGVyIHN0cmluZy4gIElmICptYXhzcGxpdCogaXMgZ2l2ZW4sIGF0IG1vc3QgKm1heHNwbGl0KlxuICAgc3BsaXRzIGFyZSBkb25lICh0aHVzLCB0aGUgbGlzdCB3aWxsIGhhdmUgYXQgbW9zdCAibWF4c3BsaXQrMSJcbiAgIGVsZW1lbnRzKS4gIElmICptYXhzcGxpdCogaXMgbm90IHNwZWNpZmllZCBvciAiLTEiLCB0aGVuIHRoZXJlIGlzXG4gICBubyBsaW1pdCBvbiB0aGUgbnVtYmVyIG9mIHNwbGl0cyAoYWxsIHBvc3NpYmxlIHNwbGl0cyBhcmUgbWFkZSkuXG5cbiAgIElmICpzZXAqIGlzIGdpdmVuLCBjb25zZWN1dGl2ZSBkZWxpbWl0ZXJzIGFyZSBub3QgZ3JvdXBlZCB0b2dldGhlclxuICAgYW5kIGFyZSBkZWVtZWQgdG8gZGVsaW1pdCBlbXB0eSBzdHJpbmdzIChmb3IgZXhhbXBsZSxcbiAgICJcJzEsLDJcJy5zcGxpdChcJyxcJykiIHJldHVybnMgIltcJzFcJywgXCdcJywgXCcyXCddIikuICBUaGUgKnNlcCogYXJndW1lbnRcbiAgIG1heSBjb25zaXN0IG9mIG11bHRpcGxlIGNoYXJhY3RlcnMgKGZvciBleGFtcGxlLFxuICAgIlwnMTw+Mjw+M1wnLnNwbGl0KFwnPD5cJykiIHJldHVybnMgIltcJzFcJywgXCcyXCcsIFwnM1wnXSIpLiBTcGxpdHRpbmcgYW5cbiAgIGVtcHR5IHN0cmluZyB3aXRoIGEgc3BlY2lmaWVkIHNlcGFyYXRvciByZXR1cm5zICJbXCdcJ10iLlxuXG4gICBGb3IgZXhhbXBsZTpcblxuICAgICAgPj4+IFwnMSwyLDNcJy5zcGxpdChcJyxcJylcbiAgICAgIFtcJzFcJywgXCcyXCcsIFwnM1wnXVxuICAgICAgPj4+IFwnMSwyLDNcJy5zcGxpdChcJyxcJywgbWF4c3BsaXQ9MSlcbiAgICAgIFtcJzFcJywgXCcyLDNcJ11cbiAgICAgID4+PiBcJzEsMiwsMyxcJy5zcGxpdChcJyxcJylcbiAgICAgIFtcJzFcJywgXCcyXCcsIFwnXCcsIFwnM1wnLCBcJ1wnXVxuXG4gICBJZiAqc2VwKiBpcyBub3Qgc3BlY2lmaWVkIG9yIGlzICJOb25lIiwgYSBkaWZmZXJlbnQgc3BsaXR0aW5nXG4gICBhbGdvcml0aG0gaXMgYXBwbGllZDogcnVucyBvZiBjb25zZWN1dGl2ZSB3aGl0ZXNwYWNlIGFyZSByZWdhcmRlZFxuICAgYXMgYSBzaW5nbGUgc2VwYXJhdG9yLCBhbmQgdGhlIHJlc3VsdCB3aWxsIGNvbnRhaW4gbm8gZW1wdHkgc3RyaW5nc1xuICAgYXQgdGhlIHN0YXJ0IG9yIGVuZCBpZiB0aGUgc3RyaW5nIGhhcyBsZWFkaW5nIG9yIHRyYWlsaW5nXG4gICB3aGl0ZXNwYWNlLiAgQ29uc2VxdWVudGx5LCBzcGxpdHRpbmcgYW4gZW1wdHkgc3RyaW5nIG9yIGEgc3RyaW5nXG4gICBjb25zaXN0aW5nIG9mIGp1c3Qgd2hpdGVzcGFjZSB3aXRoIGEgIk5vbmUiIHNlcGFyYXRvciByZXR1cm5zICJbXSIuXG5cbiAgIEZvciBleGFtcGxlOlxuXG4gICAgICA+Pj4gXCcxIDIgM1wnLnNwbGl0KClcbiAgICAgIFtcJzFcJywgXCcyXCcsIFwnM1wnXVxuICAgICAgPj4+IFwnMSAyIDNcJy5zcGxpdChtYXhzcGxpdD0xKVxuICAgICAgW1wnMVwnLCBcJzIgM1wnXVxuICAgICAgPj4+IFwnICAgMSAgIDIgICAzICAgXCcuc3BsaXQoKVxuICAgICAgW1wnMVwnLCBcJzJcJywgXCczXCddXG5cbnN0ci5zcGxpdGxpbmVzKFtrZWVwZW5kc10pXG5cbiAgIFJldHVybiBhIGxpc3Qgb2YgdGhlIGxpbmVzIGluIHRoZSBzdHJpbmcsIGJyZWFraW5nIGF0IGxpbmVcbiAgIGJvdW5kYXJpZXMuIFRoaXMgbWV0aG9kIHVzZXMgdGhlICp1bml2ZXJzYWwgbmV3bGluZXMqIGFwcHJvYWNoIHRvXG4gICBzcGxpdHRpbmcgbGluZXMuIExpbmUgYnJlYWtzIGFyZSBub3QgaW5jbHVkZWQgaW4gdGhlIHJlc3VsdGluZyBsaXN0XG4gICB1bmxlc3MgKmtlZXBlbmRzKiBpcyBnaXZlbiBhbmQgdHJ1ZS5cblxuICAgRm9yIGV4YW1wbGU6XG5cbiAgICAgID4+PiBcJ2FiIGNcXG5cXG5kZSBmZ1xccmtsXFxyXFxuXCcuc3BsaXRsaW5lcygpXG4gICAgICBbXCdhYiBjXCcsIFwnXCcsIFwnZGUgZmdcJywgXCdrbFwnXVxuICAgICAgPj4+IFwnYWIgY1xcblxcbmRlIGZnXFxya2xcXHJcXG5cJy5zcGxpdGxpbmVzKGtlZXBlbmRzPVRydWUpXG4gICAgICBbXCdhYiBjXFxuXCcsIFwnXFxuXCcsIFwnZGUgZmdcXHJcJywgXCdrbFxcclxcblwnXVxuXG4gICBVbmxpa2UgInNwbGl0KCkiIHdoZW4gYSBkZWxpbWl0ZXIgc3RyaW5nICpzZXAqIGlzIGdpdmVuLCB0aGlzXG4gICBtZXRob2QgcmV0dXJucyBhbiBlbXB0eSBsaXN0IGZvciB0aGUgZW1wdHkgc3RyaW5nLCBhbmQgYSB0ZXJtaW5hbFxuICAgbGluZSBicmVhayBkb2VzIG5vdCByZXN1bHQgaW4gYW4gZXh0cmEgbGluZTpcblxuICAgICAgPj4+ICIiLnNwbGl0bGluZXMoKVxuICAgICAgW11cbiAgICAgID4+PiAiT25lIGxpbmVcXG4iLnNwbGl0bGluZXMoKVxuICAgICAgW1wnT25lIGxpbmVcJ11cblxuICAgRm9yIGNvbXBhcmlzb24sICJzcGxpdChcJ1xcblwnKSIgZ2l2ZXM6XG5cbiAgICAgID4+PiBcJ1wnLnNwbGl0KFwnXFxuXCcpXG4gICAgICBbXCdcJ11cbiAgICAgID4+PiBcJ1R3byBsaW5lc1xcblwnLnNwbGl0KFwnXFxuXCcpXG4gICAgICBbXCdUd28gbGluZXNcJywgXCdcJ11cblxuc3RyLnN0YXJ0c3dpdGgocHJlZml4Wywgc3RhcnRbLCBlbmRdXSlcblxuICAgUmV0dXJuICJUcnVlIiBpZiBzdHJpbmcgc3RhcnRzIHdpdGggdGhlICpwcmVmaXgqLCBvdGhlcndpc2UgcmV0dXJuXG4gICAiRmFsc2UiLiAqcHJlZml4KiBjYW4gYWxzbyBiZSBhIHR1cGxlIG9mIHByZWZpeGVzIHRvIGxvb2sgZm9yLlxuICAgV2l0aCBvcHRpb25hbCAqc3RhcnQqLCB0ZXN0IHN0cmluZyBiZWdpbm5pbmcgYXQgdGhhdCBwb3NpdGlvbi5cbiAgIFdpdGggb3B0aW9uYWwgKmVuZCosIHN0b3AgY29tcGFyaW5nIHN0cmluZyBhdCB0aGF0IHBvc2l0aW9uLlxuXG5zdHIuc3RyaXAoW2NoYXJzXSlcblxuICAgUmV0dXJuIGEgY29weSBvZiB0aGUgc3RyaW5nIHdpdGggdGhlIGxlYWRpbmcgYW5kIHRyYWlsaW5nXG4gICBjaGFyYWN0ZXJzIHJlbW92ZWQuIFRoZSAqY2hhcnMqIGFyZ3VtZW50IGlzIGEgc3RyaW5nIHNwZWNpZnlpbmcgdGhlXG4gICBzZXQgb2YgY2hhcmFjdGVycyB0byBiZSByZW1vdmVkLiBJZiBvbWl0dGVkIG9yICJOb25lIiwgdGhlICpjaGFycypcbiAgIGFyZ3VtZW50IGRlZmF1bHRzIHRvIHJlbW92aW5nIHdoaXRlc3BhY2UuIFRoZSAqY2hhcnMqIGFyZ3VtZW50IGlzXG4gICBub3QgYSBwcmVmaXggb3Igc3VmZml4OyByYXRoZXIsIGFsbCBjb21iaW5hdGlvbnMgb2YgaXRzIHZhbHVlcyBhcmVcbiAgIHN0cmlwcGVkOlxuXG4gICAgICA+Pj4gXCcgICBzcGFjaW91cyAgIFwnLnN0cmlwKClcbiAgICAgIFwnc3BhY2lvdXNcJ1xuICAgICAgPj4+IFwnd3d3LmV4YW1wbGUuY29tXCcuc3RyaXAoXCdjbW93ei5cJylcbiAgICAgIFwnZXhhbXBsZVwnXG5cbnN0ci5zd2FwY2FzZSgpXG5cbiAgIFJldHVybiBhIGNvcHkgb2YgdGhlIHN0cmluZyB3aXRoIHVwcGVyY2FzZSBjaGFyYWN0ZXJzIGNvbnZlcnRlZCB0b1xuICAgbG93ZXJjYXNlIGFuZCB2aWNlIHZlcnNhLiBOb3RlIHRoYXQgaXQgaXMgbm90IG5lY2Vzc2FyaWx5IHRydWUgdGhhdFxuICAgInMuc3dhcGNhc2UoKS5zd2FwY2FzZSgpID09IHMiLlxuXG5zdHIudGl0bGUoKVxuXG4gICBSZXR1cm4gYSB0aXRsZWNhc2VkIHZlcnNpb24gb2YgdGhlIHN0cmluZyB3aGVyZSB3b3JkcyBzdGFydCB3aXRoIGFuXG4gICB1cHBlcmNhc2UgY2hhcmFjdGVyIGFuZCB0aGUgcmVtYWluaW5nIGNoYXJhY3RlcnMgYXJlIGxvd2VyY2FzZS5cblxuICAgRm9yIGV4YW1wbGU6XG5cbiAgICAgID4+PiBcJ0hlbGxvIHdvcmxkXCcudGl0bGUoKVxuICAgICAgXCdIZWxsbyBXb3JsZFwnXG5cbiAgIFRoZSBhbGdvcml0aG0gdXNlcyBhIHNpbXBsZSBsYW5ndWFnZS1pbmRlcGVuZGVudCBkZWZpbml0aW9uIG9mIGFcbiAgIHdvcmQgYXMgZ3JvdXBzIG9mIGNvbnNlY3V0aXZlIGxldHRlcnMuICBUaGUgZGVmaW5pdGlvbiB3b3JrcyBpblxuICAgbWFueSBjb250ZXh0cyBidXQgaXQgbWVhbnMgdGhhdCBhcG9zdHJvcGhlcyBpbiBjb250cmFjdGlvbnMgYW5kXG4gICBwb3NzZXNzaXZlcyBmb3JtIHdvcmQgYm91bmRhcmllcywgd2hpY2ggbWF5IG5vdCBiZSB0aGUgZGVzaXJlZFxuICAgcmVzdWx0OlxuXG4gICAgICA+Pj4gInRoZXlcJ3JlIGJpbGxcJ3MgZnJpZW5kcyBmcm9tIHRoZSBVSyIudGl0bGUoKVxuICAgICAgIlRoZXlcJ1JlIEJpbGxcJ1MgRnJpZW5kcyBGcm9tIFRoZSBVayJcblxuICAgQSB3b3JrYXJvdW5kIGZvciBhcG9zdHJvcGhlcyBjYW4gYmUgY29uc3RydWN0ZWQgdXNpbmcgcmVndWxhclxuICAgZXhwcmVzc2lvbnM6XG5cbiAgICAgID4+PiBpbXBvcnQgcmVcbiAgICAgID4+PiBkZWYgdGl0bGVjYXNlKHMpOlxuICAgICAgLi4uICAgICByZXR1cm4gcmUuc3ViKHIiW0EtWmEtel0rKFwnW0EtWmEtel0rKT8iLFxuICAgICAgLi4uICAgICAgICAgICAgICAgICAgIGxhbWJkYSBtbzogbW8uZ3JvdXAoMClbMF0udXBwZXIoKSArXG4gICAgICAuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtby5ncm91cCgwKVsxOl0ubG93ZXIoKSxcbiAgICAgIC4uLiAgICAgICAgICAgICAgICAgICBzKVxuICAgICAgLi4uXG4gICAgICA+Pj4gdGl0bGVjYXNlKCJ0aGV5XCdyZSBiaWxsXCdzIGZyaWVuZHMuIilcbiAgICAgICJUaGV5XCdyZSBCaWxsXCdzIEZyaWVuZHMuIlxuXG5zdHIudHJhbnNsYXRlKG1hcClcblxuICAgUmV0dXJuIGEgY29weSBvZiB0aGUgKnMqIHdoZXJlIGFsbCBjaGFyYWN0ZXJzIGhhdmUgYmVlbiBtYXBwZWRcbiAgIHRocm91Z2ggdGhlICptYXAqIHdoaWNoIG11c3QgYmUgYSBkaWN0aW9uYXJ5IG9mIFVuaWNvZGUgb3JkaW5hbHNcbiAgIChpbnRlZ2VycykgdG8gVW5pY29kZSBvcmRpbmFscywgc3RyaW5ncyBvciAiTm9uZSIuICBVbm1hcHBlZFxuICAgY2hhcmFjdGVycyBhcmUgbGVmdCB1bnRvdWNoZWQuIENoYXJhY3RlcnMgbWFwcGVkIHRvICJOb25lIiBhcmVcbiAgIGRlbGV0ZWQuXG5cbiAgIFlvdSBjYW4gdXNlICJzdHIubWFrZXRyYW5zKCkiIHRvIGNyZWF0ZSBhIHRyYW5zbGF0aW9uIG1hcCBmcm9tXG4gICBjaGFyYWN0ZXItdG8tY2hhcmFjdGVyIG1hcHBpbmdzIGluIGRpZmZlcmVudCBmb3JtYXRzLlxuXG4gICBOb3RlOiBBbiBldmVuIG1vcmUgZmxleGlibGUgYXBwcm9hY2ggaXMgdG8gY3JlYXRlIGEgY3VzdG9tXG4gICAgIGNoYXJhY3RlciBtYXBwaW5nIGNvZGVjIHVzaW5nIHRoZSAiY29kZWNzIiBtb2R1bGUgKHNlZVxuICAgICAiZW5jb2RpbmdzLmNwMTI1MSIgZm9yIGFuIGV4YW1wbGUpLlxuXG5zdHIudXBwZXIoKVxuXG4gICBSZXR1cm4gYSBjb3B5IG9mIHRoZSBzdHJpbmcgd2l0aCBhbGwgdGhlIGNhc2VkIGNoYXJhY3RlcnMgWzRdXG4gICBjb252ZXJ0ZWQgdG8gdXBwZXJjYXNlLiAgTm90ZSB0aGF0ICJzdHIudXBwZXIoKS5pc3VwcGVyKCkiIG1pZ2h0IGJlXG4gICAiRmFsc2UiIGlmICJzIiBjb250YWlucyB1bmNhc2VkIGNoYXJhY3RlcnMgb3IgaWYgdGhlIFVuaWNvZGVcbiAgIGNhdGVnb3J5IG9mIHRoZSByZXN1bHRpbmcgY2hhcmFjdGVyKHMpIGlzIG5vdCAiTHUiIChMZXR0ZXIsXG4gICB1cHBlcmNhc2UpLCBidXQgZS5nLiAiTHQiIChMZXR0ZXIsIHRpdGxlY2FzZSkuXG5cbiAgIFRoZSB1cHBlcmNhc2luZyBhbGdvcml0aG0gdXNlZCBpcyBkZXNjcmliZWQgaW4gc2VjdGlvbiAzLjEzIG9mIHRoZVxuICAgVW5pY29kZSBTdGFuZGFyZC5cblxuc3RyLnpmaWxsKHdpZHRoKVxuXG4gICBSZXR1cm4gYSBjb3B5IG9mIHRoZSBzdHJpbmcgbGVmdCBmaWxsZWQgd2l0aCBBU0NJSSAiXCcwXCciIGRpZ2l0cyB0b1xuICAgbWFrZSBhIHN0cmluZyBvZiBsZW5ndGggKndpZHRoKi4gQSBsZWFkaW5nIHNpZ24gcHJlZml4ICgiXCcrXCciLyJcJy1cJyJcbiAgIGlzIGhhbmRsZWQgYnkgaW5zZXJ0aW5nIHRoZSBwYWRkaW5nICphZnRlciogdGhlIHNpZ24gY2hhcmFjdGVyXG4gICByYXRoZXIgdGhhbiBiZWZvcmUuIFRoZSBvcmlnaW5hbCBzdHJpbmcgaXMgcmV0dXJuZWQgaWYgKndpZHRoKiBpc1xuICAgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICJsZW4ocykiLlxuXG4gICBGb3IgZXhhbXBsZTpcblxuICAgICAgPj4+ICI0MiIuemZpbGwoNSlcbiAgICAgIFwnMDAwNDJcJ1xuICAgICAgPj4+ICItNDIiLnpmaWxsKDUpXG4gICAgICBcJy0wMDQyXCdcbicsCiAgJ3N0cmluZ3MnOiB1J1xuU3RyaW5nIGFuZCBCeXRlcyBsaXRlcmFsc1xuKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG5TdHJpbmcgbGl0ZXJhbHMgYXJlIGRlc2NyaWJlZCBieSB0aGUgZm9sbG93aW5nIGxleGljYWwgZGVmaW5pdGlvbnM6XG5cbiAgIHN0cmluZ2xpdGVyYWwgICA6Oj0gW3N0cmluZ3ByZWZpeF0oc2hvcnRzdHJpbmcgfCBsb25nc3RyaW5nKVxuICAgc3RyaW5ncHJlZml4ICAgIDo6PSAiciIgfCAidSIgfCAiUiIgfCAiVSJcbiAgIHNob3J0c3RyaW5nICAgICA6Oj0gIlwnIiBzaG9ydHN0cmluZ2l0ZW0qICJcJyIgfCBcJyJcJyBzaG9ydHN0cmluZ2l0ZW0qIFwnIlwnXG4gICBsb25nc3RyaW5nICAgICAgOjo9ICJcJ1wnXCciIGxvbmdzdHJpbmdpdGVtKiAiXCdcJ1wnIiB8IFwnIiIiXCcgbG9uZ3N0cmluZ2l0ZW0qIFwnIiIiXCdcbiAgIHNob3J0c3RyaW5naXRlbSA6Oj0gc2hvcnRzdHJpbmdjaGFyIHwgc3RyaW5nZXNjYXBlc2VxXG4gICBsb25nc3RyaW5naXRlbSAgOjo9IGxvbmdzdHJpbmdjaGFyIHwgc3RyaW5nZXNjYXBlc2VxXG4gICBzaG9ydHN0cmluZ2NoYXIgOjo9IDxhbnkgc291cmNlIGNoYXJhY3RlciBleGNlcHQgIlxcIiBvciBuZXdsaW5lIG9yIHRoZSBxdW90ZT5cbiAgIGxvbmdzdHJpbmdjaGFyICA6Oj0gPGFueSBzb3VyY2UgY2hhcmFjdGVyIGV4Y2VwdCAiXFwiPlxuICAgc3RyaW5nZXNjYXBlc2VxIDo6PSAiXFwiIDxhbnkgc291cmNlIGNoYXJhY3Rlcj5cblxuICAgYnl0ZXNsaXRlcmFsICAgOjo9IGJ5dGVzcHJlZml4KHNob3J0Ynl0ZXMgfCBsb25nYnl0ZXMpXG4gICBieXRlc3ByZWZpeCAgICA6Oj0gImIiIHwgIkIiIHwgImJyIiB8ICJCciIgfCAiYlIiIHwgIkJSIiB8ICJyYiIgfCAickIiIHwgIlJiIiB8ICJSQiJcbiAgIHNob3J0Ynl0ZXMgICAgIDo6PSAiXCciIHNob3J0Ynl0ZXNpdGVtKiAiXCciIHwgXCciXCcgc2hvcnRieXRlc2l0ZW0qIFwnIlwnXG4gICBsb25nYnl0ZXMgICAgICA6Oj0gIlwnXCdcJyIgbG9uZ2J5dGVzaXRlbSogIlwnXCdcJyIgfCBcJyIiIlwnIGxvbmdieXRlc2l0ZW0qIFwnIiIiXCdcbiAgIHNob3J0Ynl0ZXNpdGVtIDo6PSBzaG9ydGJ5dGVzY2hhciB8IGJ5dGVzZXNjYXBlc2VxXG4gICBsb25nYnl0ZXNpdGVtICA6Oj0gbG9uZ2J5dGVzY2hhciB8IGJ5dGVzZXNjYXBlc2VxXG4gICBzaG9ydGJ5dGVzY2hhciA6Oj0gPGFueSBBU0NJSSBjaGFyYWN0ZXIgZXhjZXB0ICJcXCIgb3IgbmV3bGluZSBvciB0aGUgcXVvdGU+XG4gICBsb25nYnl0ZXNjaGFyICA6Oj0gPGFueSBBU0NJSSBjaGFyYWN0ZXIgZXhjZXB0ICJcXCI+XG4gICBieXRlc2VzY2FwZXNlcSA6Oj0gIlxcIiA8YW55IEFTQ0lJIGNoYXJhY3Rlcj5cblxuT25lIHN5bnRhY3RpYyByZXN0cmljdGlvbiBub3QgaW5kaWNhdGVkIGJ5IHRoZXNlIHByb2R1Y3Rpb25zIGlzIHRoYXRcbndoaXRlc3BhY2UgaXMgbm90IGFsbG93ZWQgYmV0d2VlbiB0aGUgInN0cmluZ3ByZWZpeCIgb3IgImJ5dGVzcHJlZml4IlxuYW5kIHRoZSByZXN0IG9mIHRoZSBsaXRlcmFsLiBUaGUgc291cmNlIGNoYXJhY3RlciBzZXQgaXMgZGVmaW5lZCBieVxudGhlIGVuY29kaW5nIGRlY2xhcmF0aW9uOyBpdCBpcyBVVEYtOCBpZiBubyBlbmNvZGluZyBkZWNsYXJhdGlvbiBpc1xuZ2l2ZW4gaW4gdGhlIHNvdXJjZSBmaWxlOyBzZWUgc2VjdGlvbiAqRW5jb2RpbmcgZGVjbGFyYXRpb25zKi5cblxuSW4gcGxhaW4gRW5nbGlzaDogQm90aCB0eXBlcyBvZiBsaXRlcmFscyBjYW4gYmUgZW5jbG9zZWQgaW4gbWF0Y2hpbmdcbnNpbmdsZSBxdW90ZXMgKCJcJyIpIG9yIGRvdWJsZSBxdW90ZXMgKCIiIikuICBUaGV5IGNhbiBhbHNvIGJlIGVuY2xvc2VkXG5pbiBtYXRjaGluZyBncm91cHMgb2YgdGhyZWUgc2luZ2xlIG9yIGRvdWJsZSBxdW90ZXMgKHRoZXNlIGFyZVxuZ2VuZXJhbGx5IHJlZmVycmVkIHRvIGFzICp0cmlwbGUtcXVvdGVkIHN0cmluZ3MqKS4gIFRoZSBiYWNrc2xhc2hcbigiXFwiKSBjaGFyYWN0ZXIgaXMgdXNlZCB0byBlc2NhcGUgY2hhcmFjdGVycyB0aGF0IG90aGVyd2lzZSBoYXZlIGFcbnNwZWNpYWwgbWVhbmluZywgc3VjaCBhcyBuZXdsaW5lLCBiYWNrc2xhc2ggaXRzZWxmLCBvciB0aGUgcXVvdGVcbmNoYXJhY3Rlci5cblxuQnl0ZXMgbGl0ZXJhbHMgYXJlIGFsd2F5cyBwcmVmaXhlZCB3aXRoICJcJ2JcJyIgb3IgIlwnQlwnIjsgdGhleSBwcm9kdWNlXG5hbiBpbnN0YW5jZSBvZiB0aGUgImJ5dGVzIiB0eXBlIGluc3RlYWQgb2YgdGhlICJzdHIiIHR5cGUuICBUaGV5IG1heVxub25seSBjb250YWluIEFTQ0lJIGNoYXJhY3RlcnM7IGJ5dGVzIHdpdGggYSBudW1lcmljIHZhbHVlIG9mIDEyOCBvclxuZ3JlYXRlciBtdXN0IGJlIGV4cHJlc3NlZCB3aXRoIGVzY2FwZXMuXG5cbkFzIG9mIFB5dGhvbiAzLjMgaXQgaXMgcG9zc2libGUgYWdhaW4gdG8gcHJlZml4IHN0cmluZyBsaXRlcmFscyB3aXRoIGFcbiJ1IiBwcmVmaXggdG8gc2ltcGxpZnkgbWFpbnRlbmFuY2Ugb2YgZHVhbCAyLnggYW5kIDMueCBjb2RlYmFzZXMuXG5cbkJvdGggc3RyaW5nIGFuZCBieXRlcyBsaXRlcmFscyBtYXkgb3B0aW9uYWxseSBiZSBwcmVmaXhlZCB3aXRoIGFcbmxldHRlciAiXCdyXCciIG9yICJcJ1JcJyI7IHN1Y2ggc3RyaW5ncyBhcmUgY2FsbGVkICpyYXcgc3RyaW5ncyogYW5kIHRyZWF0XG5iYWNrc2xhc2hlcyBhcyBsaXRlcmFsIGNoYXJhY3RlcnMuICBBcyBhIHJlc3VsdCwgaW4gc3RyaW5nIGxpdGVyYWxzLFxuIlwnXFxVXCciIGFuZCAiXCdcXHVcJyIgZXNjYXBlcyBpbiByYXcgc3RyaW5ncyBhcmUgbm90IHRyZWF0ZWQgc3BlY2lhbGx5LlxuR2l2ZW4gdGhhdCBQeXRob24gMi54XCdzIHJhdyB1bmljb2RlIGxpdGVyYWxzIGJlaGF2ZSBkaWZmZXJlbnRseSB0aGFuXG5QeXRob24gMy54XCdzIHRoZSAiXCd1clwnIiBzeW50YXggaXMgbm90IHN1cHBvcnRlZC5cblxuTmV3IGluIHZlcnNpb24gMy4zOiBUaGUgIlwncmJcJyIgcHJlZml4IG9mIHJhdyBieXRlcyBsaXRlcmFscyBoYXMgYmVlblxuYWRkZWQgYXMgYSBzeW5vbnltIG9mICJcJ2JyXCciLlxuXG5OZXcgaW4gdmVyc2lvbiAzLjM6IFN1cHBvcnQgZm9yIHRoZSB1bmljb2RlIGxlZ2FjeSBsaXRlcmFsXG4oInVcJ3ZhbHVlXCciKSB3YXMgcmVpbnRyb2R1Y2VkIHRvIHNpbXBsaWZ5IHRoZSBtYWludGVuYW5jZSBvZiBkdWFsXG5QeXRob24gMi54IGFuZCAzLnggY29kZWJhc2VzLiBTZWUgKipQRVAgNDE0KiogZm9yIG1vcmUgaW5mb3JtYXRpb24uXG5cbkluIHRyaXBsZS1xdW90ZWQgbGl0ZXJhbHMsIHVuZXNjYXBlZCBuZXdsaW5lcyBhbmQgcXVvdGVzIGFyZSBhbGxvd2VkXG4oYW5kIGFyZSByZXRhaW5lZCksIGV4Y2VwdCB0aGF0IHRocmVlIHVuZXNjYXBlZCBxdW90ZXMgaW4gYSByb3dcbnRlcm1pbmF0ZSB0aGUgbGl0ZXJhbC4gIChBICJxdW90ZSIgaXMgdGhlIGNoYXJhY3RlciB1c2VkIHRvIG9wZW4gdGhlXG5saXRlcmFsLCBpLmUuIGVpdGhlciAiXCciIG9yICIiIi4pXG5cblVubGVzcyBhbiAiXCdyXCciIG9yICJcJ1JcJyIgcHJlZml4IGlzIHByZXNlbnQsIGVzY2FwZSBzZXF1ZW5jZXMgaW4gc3RyaW5nXG5hbmQgYnl0ZXMgbGl0ZXJhbHMgYXJlIGludGVycHJldGVkIGFjY29yZGluZyB0byBydWxlcyBzaW1pbGFyIHRvIHRob3NlXG51c2VkIGJ5IFN0YW5kYXJkIEMuICBUaGUgcmVjb2duaXplZCBlc2NhcGUgc2VxdWVuY2VzIGFyZTpcblxuKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tK1xufCBFc2NhcGUgU2VxdWVuY2UgICB8IE1lYW5pbmcgICAgICAgICAgICAgICAgICAgICAgICAgICB8IE5vdGVzICAgfFxuKz09PT09PT09PT09PT09PT09PT0rPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rPT09PT09PT09K1xufCAiXFxuZXdsaW5lIiAgICAgICAgfCBCYWNrc2xhc2ggYW5kIG5ld2xpbmUgaWdub3JlZCAgICAgfCAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLStcbnwgIlxcXFwiICAgICAgICAgICAgICB8IEJhY2tzbGFzaCAoIlxcIikgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLStcbnwgIlxcXCciICAgICAgICAgICAgICB8IFNpbmdsZSBxdW90ZSAoIlwnIikgICAgICAgICAgICAgICAgfCAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLStcbnwgIlxcIiIgICAgICAgICAgICAgIHwgRG91YmxlIHF1b3RlICgiIiIpICAgICAgICAgICAgICAgIHwgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rXG58ICJcXGEiICAgICAgICAgICAgICB8IEFTQ0lJIEJlbGwgKEJFTCkgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tK1xufCAiXFxiIiAgICAgICAgICAgICAgfCBBU0NJSSBCYWNrc3BhY2UgKEJTKSAgICAgICAgICAgICAgfCAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLStcbnwgIlxcZiIgICAgICAgICAgICAgIHwgQVNDSUkgRm9ybWZlZWQgKEZGKSAgICAgICAgICAgICAgIHwgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rXG58ICJcXG4iICAgICAgICAgICAgICB8IEFTQ0lJIExpbmVmZWVkIChMRikgICAgICAgICAgICAgICB8ICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tK1xufCAiXFxyIiAgICAgICAgICAgICAgfCBBU0NJSSBDYXJyaWFnZSBSZXR1cm4gKENSKSAgICAgICAgfCAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLStcbnwgIlxcdCIgICAgICAgICAgICAgIHwgQVNDSUkgSG9yaXpvbnRhbCBUYWIgKFRBQikgICAgICAgIHwgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rXG58ICJcXHYiICAgICAgICAgICAgICB8IEFTQ0lJIFZlcnRpY2FsIFRhYiAoVlQpICAgICAgICAgICB8ICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tK1xufCAiXFxvb28iICAgICAgICAgICAgfCBDaGFyYWN0ZXIgd2l0aCBvY3RhbCB2YWx1ZSAqb29vKiAgfCAoMSwzKSAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLStcbnwgIlxceGhoIiAgICAgICAgICAgIHwgQ2hhcmFjdGVyIHdpdGggaGV4IHZhbHVlICpoaCogICAgIHwgKDIsMykgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rXG5cbkVzY2FwZSBzZXF1ZW5jZXMgb25seSByZWNvZ25pemVkIGluIHN0cmluZyBsaXRlcmFscyBhcmU6XG5cbistLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLStcbnwgRXNjYXBlIFNlcXVlbmNlICAgfCBNZWFuaW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBOb3RlcyAgIHxcbis9PT09PT09PT09PT09PT09PT09Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kz09PT09PT09PStcbnwgIlxcTntuYW1lfSIgICAgICAgIHwgQ2hhcmFjdGVyIG5hbWVkICpuYW1lKiBpbiB0aGUgICAgIHwgKDQpICAgICB8XG58ICAgICAgICAgICAgICAgICAgIHwgVW5pY29kZSBkYXRhYmFzZSAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rXG58ICJcXHV4eHh4IiAgICAgICAgICB8IENoYXJhY3RlciB3aXRoIDE2LWJpdCBoZXggdmFsdWUgICB8ICg1KSAgICAgfFxufCAgICAgICAgICAgICAgICAgICB8ICp4eHh4KiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tK1xufCAiXFxVeHh4eHh4eHgiICAgICAgfCBDaGFyYWN0ZXIgd2l0aCAzMi1iaXQgaGV4IHZhbHVlICAgfCAoNikgICAgIHxcbnwgICAgICAgICAgICAgICAgICAgfCAqeHh4eHh4eHgqICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLStcblxuTm90ZXM6XG5cbjEuIEFzIGluIFN0YW5kYXJkIEMsIHVwIHRvIHRocmVlIG9jdGFsIGRpZ2l0cyBhcmUgYWNjZXB0ZWQuXG5cbjIuIFVubGlrZSBpbiBTdGFuZGFyZCBDLCBleGFjdGx5IHR3byBoZXggZGlnaXRzIGFyZSByZXF1aXJlZC5cblxuMy4gSW4gYSBieXRlcyBsaXRlcmFsLCBoZXhhZGVjaW1hbCBhbmQgb2N0YWwgZXNjYXBlcyBkZW5vdGUgdGhlXG4gICBieXRlIHdpdGggdGhlIGdpdmVuIHZhbHVlLiBJbiBhIHN0cmluZyBsaXRlcmFsLCB0aGVzZSBlc2NhcGVzXG4gICBkZW5vdGUgYSBVbmljb2RlIGNoYXJhY3RlciB3aXRoIHRoZSBnaXZlbiB2YWx1ZS5cblxuNC4gQ2hhbmdlZCBpbiB2ZXJzaW9uIDMuMzogU3VwcG9ydCBmb3IgbmFtZSBhbGlhc2VzIFsxXSBoYXMgYmVlblxuICAgYWRkZWQuXG5cbjUuIEluZGl2aWR1YWwgY29kZSB1bml0cyB3aGljaCBmb3JtIHBhcnRzIG9mIGEgc3Vycm9nYXRlIHBhaXIgY2FuXG4gICBiZSBlbmNvZGVkIHVzaW5nIHRoaXMgZXNjYXBlIHNlcXVlbmNlLiAgRXhhY3RseSBmb3VyIGhleCBkaWdpdHMgYXJlXG4gICByZXF1aXJlZC5cblxuNi4gQW55IFVuaWNvZGUgY2hhcmFjdGVyIGNhbiBiZSBlbmNvZGVkIHRoaXMgd2F5LiAgRXhhY3RseSBlaWdodFxuICAgaGV4IGRpZ2l0cyBhcmUgcmVxdWlyZWQuXG5cblVubGlrZSBTdGFuZGFyZCBDLCBhbGwgdW5yZWNvZ25pemVkIGVzY2FwZSBzZXF1ZW5jZXMgYXJlIGxlZnQgaW4gdGhlXG5zdHJpbmcgdW5jaGFuZ2VkLCBpLmUuLCAqdGhlIGJhY2tzbGFzaCBpcyBsZWZ0IGluIHRoZSByZXN1bHQqLiAgKFRoaXNcbmJlaGF2aW9yIGlzIHVzZWZ1bCB3aGVuIGRlYnVnZ2luZzogaWYgYW4gZXNjYXBlIHNlcXVlbmNlIGlzIG1pc3R5cGVkLFxudGhlIHJlc3VsdGluZyBvdXRwdXQgaXMgbW9yZSBlYXNpbHkgcmVjb2duaXplZCBhcyBicm9rZW4uKSAgSXQgaXMgYWxzb1xuaW1wb3J0YW50IHRvIG5vdGUgdGhhdCB0aGUgZXNjYXBlIHNlcXVlbmNlcyBvbmx5IHJlY29nbml6ZWQgaW4gc3RyaW5nXG5saXRlcmFscyBmYWxsIGludG8gdGhlIGNhdGVnb3J5IG9mIHVucmVjb2duaXplZCBlc2NhcGVzIGZvciBieXRlc1xubGl0ZXJhbHMuXG5cbkV2ZW4gaW4gYSByYXcgbGl0ZXJhbCwgcXVvdGVzIGNhbiBiZSBlc2NhcGVkIHdpdGggYSBiYWNrc2xhc2gsIGJ1dCB0aGVcbmJhY2tzbGFzaCByZW1haW5zIGluIHRoZSByZXN1bHQ7IGZvciBleGFtcGxlLCAiciJcXCIiIiBpcyBhIHZhbGlkXG5zdHJpbmcgbGl0ZXJhbCBjb25zaXN0aW5nIG9mIHR3byBjaGFyYWN0ZXJzOiBhIGJhY2tzbGFzaCBhbmQgYSBkb3VibGVcbnF1b3RlOyAiciJcXCIiIGlzIG5vdCBhIHZhbGlkIHN0cmluZyBsaXRlcmFsIChldmVuIGEgcmF3IHN0cmluZyBjYW5ub3RcbmVuZCBpbiBhbiBvZGQgbnVtYmVyIG9mIGJhY2tzbGFzaGVzKS4gIFNwZWNpZmljYWxseSwgKmEgcmF3IGxpdGVyYWxcbmNhbm5vdCBlbmQgaW4gYSBzaW5nbGUgYmFja3NsYXNoKiAoc2luY2UgdGhlIGJhY2tzbGFzaCB3b3VsZCBlc2NhcGVcbnRoZSBmb2xsb3dpbmcgcXVvdGUgY2hhcmFjdGVyKS4gIE5vdGUgYWxzbyB0aGF0IGEgc2luZ2xlIGJhY2tzbGFzaFxuZm9sbG93ZWQgYnkgYSBuZXdsaW5lIGlzIGludGVycHJldGVkIGFzIHRob3NlIHR3byBjaGFyYWN0ZXJzIGFzIHBhcnRcbm9mIHRoZSBsaXRlcmFsLCAqbm90KiBhcyBhIGxpbmUgY29udGludWF0aW9uLlxuJywKICAnc3Vic2NyaXB0aW9ucyc6IHUnXG5TdWJzY3JpcHRpb25zXG4qKioqKioqKioqKioqXG5cbkEgc3Vic2NyaXB0aW9uIHNlbGVjdHMgYW4gaXRlbSBvZiBhIHNlcXVlbmNlIChzdHJpbmcsIHR1cGxlIG9yIGxpc3QpXG5vciBtYXBwaW5nIChkaWN0aW9uYXJ5KSBvYmplY3Q6XG5cbiAgIHN1YnNjcmlwdGlvbiA6Oj0gcHJpbWFyeSAiWyIgZXhwcmVzc2lvbl9saXN0ICJdIlxuXG5UaGUgcHJpbWFyeSBtdXN0IGV2YWx1YXRlIHRvIGFuIG9iamVjdCB0aGF0IHN1cHBvcnRzIHN1YnNjcmlwdGlvblxuKGxpc3RzIG9yIGRpY3Rpb25hcmllcyBmb3IgZXhhbXBsZSkuICBVc2VyLWRlZmluZWQgb2JqZWN0cyBjYW4gc3VwcG9ydFxuc3Vic2NyaXB0aW9uIGJ5IGRlZmluaW5nIGEgIl9fZ2V0aXRlbV9fKCkiIG1ldGhvZC5cblxuRm9yIGJ1aWx0LWluIG9iamVjdHMsIHRoZXJlIGFyZSB0d28gdHlwZXMgb2Ygb2JqZWN0cyB0aGF0IHN1cHBvcnRcbnN1YnNjcmlwdGlvbjpcblxuSWYgdGhlIHByaW1hcnkgaXMgYSBtYXBwaW5nLCB0aGUgZXhwcmVzc2lvbiBsaXN0IG11c3QgZXZhbHVhdGUgdG8gYW5cbm9iamVjdCB3aG9zZSB2YWx1ZSBpcyBvbmUgb2YgdGhlIGtleXMgb2YgdGhlIG1hcHBpbmcsIGFuZCB0aGVcbnN1YnNjcmlwdGlvbiBzZWxlY3RzIHRoZSB2YWx1ZSBpbiB0aGUgbWFwcGluZyB0aGF0IGNvcnJlc3BvbmRzIHRvIHRoYXRcbmtleS4gIChUaGUgZXhwcmVzc2lvbiBsaXN0IGlzIGEgdHVwbGUgZXhjZXB0IGlmIGl0IGhhcyBleGFjdGx5IG9uZVxuaXRlbS4pXG5cbklmIHRoZSBwcmltYXJ5IGlzIGEgc2VxdWVuY2UsIHRoZSBleHByZXNzaW9uIChsaXN0KSBtdXN0IGV2YWx1YXRlIHRvXG5hbiBpbnRlZ2VyIG9yIGEgc2xpY2UgKGFzIGRpc2N1c3NlZCBpbiB0aGUgZm9sbG93aW5nIHNlY3Rpb24pLlxuXG5UaGUgZm9ybWFsIHN5bnRheCBtYWtlcyBubyBzcGVjaWFsIHByb3Zpc2lvbiBmb3IgbmVnYXRpdmUgaW5kaWNlcyBpblxuc2VxdWVuY2VzOyBob3dldmVyLCBidWlsdC1pbiBzZXF1ZW5jZXMgYWxsIHByb3ZpZGUgYSAiX19nZXRpdGVtX18oKSJcbm1ldGhvZCB0aGF0IGludGVycHJldHMgbmVnYXRpdmUgaW5kaWNlcyBieSBhZGRpbmcgdGhlIGxlbmd0aCBvZiB0aGVcbnNlcXVlbmNlIHRvIHRoZSBpbmRleCAoc28gdGhhdCAieFstMV0iIHNlbGVjdHMgdGhlIGxhc3QgaXRlbSBvZiAieCIpLlxuVGhlIHJlc3VsdGluZyB2YWx1ZSBtdXN0IGJlIGEgbm9ubmVnYXRpdmUgaW50ZWdlciBsZXNzIHRoYW4gdGhlIG51bWJlclxub2YgaXRlbXMgaW4gdGhlIHNlcXVlbmNlLCBhbmQgdGhlIHN1YnNjcmlwdGlvbiBzZWxlY3RzIHRoZSBpdGVtIHdob3NlXG5pbmRleCBpcyB0aGF0IHZhbHVlIChjb3VudGluZyBmcm9tIHplcm8pLiBTaW5jZSB0aGUgc3VwcG9ydCBmb3Jcbm5lZ2F0aXZlIGluZGljZXMgYW5kIHNsaWNpbmcgb2NjdXJzIGluIHRoZSBvYmplY3RcJ3MgIl9fZ2V0aXRlbV9fKCkiXG5tZXRob2QsIHN1YmNsYXNzZXMgb3ZlcnJpZGluZyB0aGlzIG1ldGhvZCB3aWxsIG5lZWQgdG8gZXhwbGljaXRseSBhZGRcbnRoYXQgc3VwcG9ydC5cblxuQSBzdHJpbmdcJ3MgaXRlbXMgYXJlIGNoYXJhY3RlcnMuICBBIGNoYXJhY3RlciBpcyBub3QgYSBzZXBhcmF0ZSBkYXRhXG50eXBlIGJ1dCBhIHN0cmluZyBvZiBleGFjdGx5IG9uZSBjaGFyYWN0ZXIuXG4nLApkaWZmIC0tZ2l0IGEvTGliL3F1ZXVlLnB5IGIvTGliL3F1ZXVlLnB5CmluZGV4IDNjZWUzNmIuLjU3MjQyNWUgMTAwNjQ0Ci0tLSBhL0xpYi9xdWV1ZS5weQorKysgYi9MaWIvcXVldWUucHkKQEAgLTYsMTAgKzYsNyBAQAogICAgIGltcG9ydCBkdW1teV90aHJlYWRpbmcgYXMgdGhyZWFkaW5nCiBmcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBkZXF1ZQogZnJvbSBoZWFwcSBpbXBvcnQgaGVhcHB1c2gsIGhlYXBwb3AKLXRyeToKLSAgICBmcm9tIHRpbWUgaW1wb3J0IG1vbm90b25pYyBhcyB0aW1lCi1leGNlcHQgSW1wb3J0RXJyb3I6Ci0gICAgZnJvbSB0aW1lIGltcG9ydCB0aW1lCitmcm9tIHRpbWUgaW1wb3J0IG1vbm90b25pYyBhcyB0aW1lCiAKIF9fYWxsX18gPSBbJ0VtcHR5JywgJ0Z1bGwnLCAnUXVldWUnLCAnUHJpb3JpdHlRdWV1ZScsICdMaWZvUXVldWUnXQogCmRpZmYgLS1naXQgYS9MaWIvcmFuZG9tLnB5IGIvTGliL3JhbmRvbS5weQppbmRleCA0NjQyOTI4Li4xZjViZTQ1IDEwMDY0NAotLS0gYS9MaWIvcmFuZG9tLnB5CisrKyBiL0xpYi9yYW5kb20ucHkKQEAgLTY4Nyw3ICs2ODcsNyBAQAogICAgIHByaW50KHJvdW5kKHQxLXQwLCAzKSwgJ3NlYywnLCBlbmQ9JyAnKQogICAgIGF2ZyA9IHRvdGFsL24KICAgICBzdGRkZXYgPSBfc3FydChzcXN1bS9uIC0gYXZnKmF2ZykKLSAgICBwcmludCgnYXZnICVnLCBzdGRkZXYgJWcsIG1pbiAlZywgbWF4ICVnJyAlIFwKKyAgICBwcmludCgnYXZnICVnLCBzdGRkZXYgJWcsIG1pbiAlZywgbWF4ICVnXG4nICUgXAogICAgICAgICAgICAgICAoYXZnLCBzdGRkZXYsIHNtYWxsZXN0LCBsYXJnZXN0KSkKIAogCmRpZmYgLS1naXQgYS9MaWIvcmUucHkgYi9MaWIvcmUucHkKaW5kZXggMTk5YWZlZS4uYmMzMDU2ZiAxMDA2NDQKLS0tIGEvTGliL3JlLnB5CisrKyBiL0xpYi9yZS5weQpAQCAtMTI4LDEwICsxMjgsMTMgQEAKICAgICBfbG9jYWxlID0gTm9uZQogCiAjIHB1YmxpYyBzeW1ib2xzCi1fX2FsbF9fID0gWyAibWF0Y2giLCAiZnVsbG1hdGNoIiwgInNlYXJjaCIsICJzdWIiLCAic3VibiIsICJzcGxpdCIsICJmaW5kYWxsIiwKLSAgICAiY29tcGlsZSIsICJwdXJnZSIsICJ0ZW1wbGF0ZSIsICJlc2NhcGUiLCAiQSIsICJJIiwgIkwiLCAiTSIsICJTIiwgIlgiLAotICAgICJVIiwgIkFTQ0lJIiwgIklHTk9SRUNBU0UiLCAiTE9DQUxFIiwgIk1VTFRJTElORSIsICJET1RBTEwiLCAiVkVSQk9TRSIsCi0gICAgIlVOSUNPREUiLCAiZXJyb3IiIF0KK19fYWxsX18gPSBbCisgICAgIm1hdGNoIiwgImZ1bGxtYXRjaCIsICJzZWFyY2giLCAic3ViIiwgInN1Ym4iLCAic3BsaXQiLAorICAgICJmaW5kYWxsIiwgImZpbmRpdGVyIiwgImNvbXBpbGUiLCAicHVyZ2UiLCAidGVtcGxhdGUiLCAiZXNjYXBlIiwKKyAgICAiZXJyb3IiLCAiQSIsICJJIiwgIkwiLCAiTSIsICJTIiwgIlgiLCAiVSIsCisgICAgIkFTQ0lJIiwgIklHTk9SRUNBU0UiLCAiTE9DQUxFIiwgIk1VTFRJTElORSIsICJET1RBTEwiLCAiVkVSQk9TRSIsCisgICAgIlVOSUNPREUiLAorXQogCiBfX3ZlcnNpb25fXyA9ICIyLjIuMSIKIApAQCAtMjA5LDE0ICsyMTIsMTIgQEAKICAgICBFbXB0eSBtYXRjaGVzIGFyZSBpbmNsdWRlZCBpbiB0aGUgcmVzdWx0LiIiIgogICAgIHJldHVybiBfY29tcGlsZShwYXR0ZXJuLCBmbGFncykuZmluZGFsbChzdHJpbmcpCiAKLWlmIHN5cy5oZXh2ZXJzaW9uID49IDB4MDIwMjAwMDA6Ci0gICAgX19hbGxfXy5hcHBlbmQoImZpbmRpdGVyIikKLSAgICBkZWYgZmluZGl0ZXIocGF0dGVybiwgc3RyaW5nLCBmbGFncz0wKToKLSAgICAgICAgIiIiUmV0dXJuIGFuIGl0ZXJhdG9yIG92ZXIgYWxsIG5vbi1vdmVybGFwcGluZyBtYXRjaGVzIGluIHRoZQotICAgICAgICBzdHJpbmcuICBGb3IgZWFjaCBtYXRjaCwgdGhlIGl0ZXJhdG9yIHJldHVybnMgYSBtYXRjaCBvYmplY3QuCitkZWYgZmluZGl0ZXIocGF0dGVybiwgc3RyaW5nLCBmbGFncz0wKToKKyAgICAiIiJSZXR1cm4gYW4gaXRlcmF0b3Igb3ZlciBhbGwgbm9uLW92ZXJsYXBwaW5nIG1hdGNoZXMgaW4gdGhlCisgICAgc3RyaW5nLiAgRm9yIGVhY2ggbWF0Y2gsIHRoZSBpdGVyYXRvciByZXR1cm5zIGEgbWF0Y2ggb2JqZWN0LgogCi0gICAgICAgIEVtcHR5IG1hdGNoZXMgYXJlIGluY2x1ZGVkIGluIHRoZSByZXN1bHQuIiIiCi0gICAgICAgIHJldHVybiBfY29tcGlsZShwYXR0ZXJuLCBmbGFncykuZmluZGl0ZXIoc3RyaW5nKQorICAgIEVtcHR5IG1hdGNoZXMgYXJlIGluY2x1ZGVkIGluIHRoZSByZXN1bHQuIiIiCisgICAgcmV0dXJuIF9jb21waWxlKHBhdHRlcm4sIGZsYWdzKS5maW5kaXRlcihzdHJpbmcpCiAKIGRlZiBjb21waWxlKHBhdHRlcm4sIGZsYWdzPTApOgogICAgICJDb21waWxlIGEgcmVndWxhciBleHByZXNzaW9uIHBhdHRlcm4sIHJldHVybmluZyBhIHBhdHRlcm4gb2JqZWN0LiIKQEAgLTI3NiwxNCArMjc3LDEyIEBACiBfTUFYQ0FDSEUgPSA1MTIKIGRlZiBfY29tcGlsZShwYXR0ZXJuLCBmbGFncyk6CiAgICAgIyBpbnRlcm5hbDogY29tcGlsZSBwYXR0ZXJuCi0gICAgYnlwYXNzX2NhY2hlID0gZmxhZ3MgJiBERUJVRwotICAgIGlmIG5vdCBieXBhc3NfY2FjaGU6Ci0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHAsIGxvYyA9IF9jYWNoZVt0eXBlKHBhdHRlcm4pLCBwYXR0ZXJuLCBmbGFnc10KLSAgICAgICAgICAgIGlmIGxvYyBpcyBOb25lIG9yIGxvYyA9PSBfbG9jYWxlLnNldGxvY2FsZShfbG9jYWxlLkxDX0NUWVBFKToKLSAgICAgICAgICAgICAgICByZXR1cm4gcAotICAgICAgICBleGNlcHQgS2V5RXJyb3I6Ci0gICAgICAgICAgICBwYXNzCisgICAgdHJ5OgorICAgICAgICBwLCBsb2MgPSBfY2FjaGVbdHlwZShwYXR0ZXJuKSwgcGF0dGVybiwgZmxhZ3NdCisgICAgICAgIGlmIGxvYyBpcyBOb25lIG9yIGxvYyA9PSBfbG9jYWxlLnNldGxvY2FsZShfbG9jYWxlLkxDX0NUWVBFKToKKyAgICAgICAgICAgIHJldHVybiBwCisgICAgZXhjZXB0IEtleUVycm9yOgorICAgICAgICBwYXNzCiAgICAgaWYgaXNpbnN0YW5jZShwYXR0ZXJuLCBfcGF0dGVybl90eXBlKToKICAgICAgICAgaWYgZmxhZ3M6CiAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKApAQCAtMjkyLDcgKzI5MSw3IEBACiAgICAgaWYgbm90IHNyZV9jb21waWxlLmlzc3RyaW5nKHBhdHRlcm4pOgogICAgICAgICByYWlzZSBUeXBlRXJyb3IoImZpcnN0IGFyZ3VtZW50IG11c3QgYmUgc3RyaW5nIG9yIGNvbXBpbGVkIHBhdHRlcm4iKQogICAgIHAgPSBzcmVfY29tcGlsZS5jb21waWxlKHBhdHRlcm4sIGZsYWdzKQotICAgIGlmIG5vdCBieXBhc3NfY2FjaGU6CisgICAgaWYgbm90IChmbGFncyAmIERFQlVHKToKICAgICAgICAgaWYgbGVuKF9jYWNoZSkgPj0gX01BWENBQ0hFOgogICAgICAgICAgICAgX2NhY2hlLmNsZWFyKCkKICAgICAgICAgaWYgcC5mbGFncyAmIExPQ0FMRToKQEAgLTM2Myw3ICszNjIsNyBAQAogICAgICAgICBhcHBlbmQgPSByZXN1bHQuYXBwZW5kCiAgICAgICAgIG1hdGNoID0gc2VsZi5zY2FubmVyLnNjYW5uZXIoc3RyaW5nKS5tYXRjaAogICAgICAgICBpID0gMAotICAgICAgICB3aGlsZSAxOgorICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICAgbSA9IG1hdGNoKCkKICAgICAgICAgICAgIGlmIG5vdCBtOgogICAgICAgICAgICAgICAgIGJyZWFrCmRpZmYgLS1naXQgYS9MaWIvcmVwcmxpYi5weSBiL0xpYi9yZXBybGliLnB5CmluZGV4IGY4MDMzNjAuLmVjYmQyY2MgMTAwNjQ0Ci0tLSBhL0xpYi9yZXBybGliLnB5CisrKyBiL0xpYi9yZXBybGliLnB5CkBAIC04MywxNiArODMsMjIgQEAKICAgICAgICAgcmV0dXJuIHNlbGYuX3JlcHJfaXRlcmFibGUoeCwgbGV2ZWwsICdbJywgJ10nLCBzZWxmLm1heGxpc3QpCiAKICAgICBkZWYgcmVwcl9hcnJheShzZWxmLCB4LCBsZXZlbCk6CisgICAgICAgIGlmIG5vdCB4OgorICAgICAgICAgICAgcmV0dXJuICJhcnJheSgnJXMnKSIgJSB4LnR5cGVjb2RlCiAgICAgICAgIGhlYWRlciA9ICJhcnJheSgnJXMnLCBbIiAlIHgudHlwZWNvZGUKICAgICAgICAgcmV0dXJuIHNlbGYuX3JlcHJfaXRlcmFibGUoeCwgbGV2ZWwsIGhlYWRlciwgJ10pJywgc2VsZi5tYXhhcnJheSkKIAogICAgIGRlZiByZXByX3NldChzZWxmLCB4LCBsZXZlbCk6CisgICAgICAgIGlmIG5vdCB4OgorICAgICAgICAgICAgcmV0dXJuICdzZXQoKScKICAgICAgICAgeCA9IF9wb3NzaWJseV9zb3J0ZWQoeCkKLSAgICAgICAgcmV0dXJuIHNlbGYuX3JlcHJfaXRlcmFibGUoeCwgbGV2ZWwsICdzZXQoWycsICddKScsIHNlbGYubWF4c2V0KQorICAgICAgICByZXR1cm4gc2VsZi5fcmVwcl9pdGVyYWJsZSh4LCBsZXZlbCwgJ3snLCAnfScsIHNlbGYubWF4c2V0KQogCiAgICAgZGVmIHJlcHJfZnJvemVuc2V0KHNlbGYsIHgsIGxldmVsKToKKyAgICAgICAgaWYgbm90IHg6CisgICAgICAgICAgICByZXR1cm4gJ2Zyb3plbnNldCgpJwogICAgICAgICB4ID0gX3Bvc3NpYmx5X3NvcnRlZCh4KQotICAgICAgICByZXR1cm4gc2VsZi5fcmVwcl9pdGVyYWJsZSh4LCBsZXZlbCwgJ2Zyb3plbnNldChbJywgJ10pJywKKyAgICAgICAgcmV0dXJuIHNlbGYuX3JlcHJfaXRlcmFibGUoeCwgbGV2ZWwsICdmcm96ZW5zZXQoeycsICd9KScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubWF4ZnJvemVuc2V0KQogCiAgICAgZGVmIHJlcHJfZGVxdWUoc2VsZiwgeCwgbGV2ZWwpOgpAQCAtMTM2LDcgKzE0Miw3IEBACiAgICAgICAgICAgICAjIEJ1Z3MgaW4geC5fX3JlcHJfXygpIGNhbiBjYXVzZSBhcmJpdHJhcnkKICAgICAgICAgICAgICMgZXhjZXB0aW9ucyAtLSB0aGVuIG1ha2UgdXAgc29tZXRoaW5nCiAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246Ci0gICAgICAgICAgICByZXR1cm4gJzwlcyBpbnN0YW5jZSBhdCAleD4nICUgKHguX19jbGFzc19fLl9fbmFtZV9fLCBpZCh4KSkKKyAgICAgICAgICAgIHJldHVybiAnPCVzIGluc3RhbmNlIGF0ICUjeD4nICUgKHguX19jbGFzc19fLl9fbmFtZV9fLCBpZCh4KSkKICAgICAgICAgaWYgbGVuKHMpID4gc2VsZi5tYXhvdGhlcjoKICAgICAgICAgICAgIGkgPSBtYXgoMCwgKHNlbGYubWF4b3RoZXItMykvLzIpCiAgICAgICAgICAgICBqID0gbWF4KDAsIHNlbGYubWF4b3RoZXItMy1pKQpkaWZmIC0tZ2l0IGEvTGliL3J1bnB5LnB5IGIvTGliL3J1bnB5LnB5CmluZGV4IDBiYjU3ZDcuLmQ5YzY0M2QgMTAwNjQ0Ci0tLSBhL0xpYi9ydW5weS5weQorKysgYi9MaWIvcnVucHkucHkKQEAgLTU4LDcgKzU4LDcgQEAKICAgICAgICAgc2VsZi52YWx1ZSA9IHNlbGYuX3NlbnRpbmVsCiAgICAgICAgIHN5cy5hcmd2WzBdID0gc2VsZi5fc2F2ZWRfdmFsdWUKIAotIyBUT0RPOiBSZXBsYWNlIHRoZXNlIGhlbHBlcnMgd2l0aCBpbXBvcnRsaWIuX2Jvb3RzdHJhcC5fU3BlY01ldGhvZHMKKyMgVE9ETzogUmVwbGFjZSB0aGVzZSBoZWxwZXJzIHdpdGggaW1wb3J0bGliLl9ib290c3RyYXAgZnVuY3Rpb25zCiBkZWYgX3J1bl9jb2RlKGNvZGUsIHJ1bl9nbG9iYWxzLCBpbml0X2dsb2JhbHM9Tm9uZSwKICAgICAgICAgICAgICAgbW9kX25hbWU9Tm9uZSwgbW9kX3NwZWM9Tm9uZSwKICAgICAgICAgICAgICAgcGtnX25hbWU9Tm9uZSwgc2NyaXB0X25hbWU9Tm9uZSk6CmRpZmYgLS1naXQgYS9MaWIvc2NoZWQucHkgYi9MaWIvc2NoZWQucHkKaW5kZXggMmU2YjAwYS4uYjQ3NjQ4ZCAxMDA2NDQKLS0tIGEvTGliL3NjaGVkLnB5CisrKyBiL0xpYi9zY2hlZC5weQpAQCAtMzUsMTYgKzM1LDEyIEBACiAgICAgaW1wb3J0IHRocmVhZGluZwogZXhjZXB0IEltcG9ydEVycm9yOgogICAgIGltcG9ydCBkdW1teV90aHJlYWRpbmcgYXMgdGhyZWFkaW5nCi10cnk6Ci0gICAgZnJvbSB0aW1lIGltcG9ydCBtb25vdG9uaWMgYXMgX3RpbWUKLWV4Y2VwdCBJbXBvcnRFcnJvcjoKLSAgICBmcm9tIHRpbWUgaW1wb3J0IHRpbWUgYXMgX3RpbWUKK2Zyb20gdGltZSBpbXBvcnQgbW9ub3RvbmljIGFzIF90aW1lCiAKIF9fYWxsX18gPSBbInNjaGVkdWxlciJdCiAKIGNsYXNzIEV2ZW50KG5hbWVkdHVwbGUoJ0V2ZW50JywgJ3RpbWUsIHByaW9yaXR5LCBhY3Rpb24sIGFyZ3VtZW50LCBrd2FyZ3MnKSk6CiAgICAgZGVmIF9fZXFfXyhzLCBvKTogcmV0dXJuIChzLnRpbWUsIHMucHJpb3JpdHkpID09IChvLnRpbWUsIG8ucHJpb3JpdHkpCi0gICAgZGVmIF9fbmVfXyhzLCBvKTogcmV0dXJuIChzLnRpbWUsIHMucHJpb3JpdHkpICE9IChvLnRpbWUsIG8ucHJpb3JpdHkpCiAgICAgZGVmIF9fbHRfXyhzLCBvKTogcmV0dXJuIChzLnRpbWUsIHMucHJpb3JpdHkpIDwgIChvLnRpbWUsIG8ucHJpb3JpdHkpCiAgICAgZGVmIF9fbGVfXyhzLCBvKTogcmV0dXJuIChzLnRpbWUsIHMucHJpb3JpdHkpIDw9IChvLnRpbWUsIG8ucHJpb3JpdHkpCiAgICAgZGVmIF9fZ3RfXyhzLCBvKTogcmV0dXJuIChzLnRpbWUsIHMucHJpb3JpdHkpID4gIChvLnRpbWUsIG8ucHJpb3JpdHkpCmRpZmYgLS1naXQgYS9MaWIvc2VsZWN0b3JzLnB5IGIvTGliL3NlbGVjdG9ycy5weQppbmRleCBiZWI3ZWY3Li42ZDU2OWMzIDEwMDY0NAotLS0gYS9MaWIvc2VsZWN0b3JzLnB5CisrKyBiL0xpYi9zZWxlY3RvcnMucHkKQEAgLTE3NCw5ICsxNzQsOSBAQAogICAgICAgICBTZWxlY3RvcktleSBmb3IgdGhpcyBmaWxlIG9iamVjdAogICAgICAgICAiIiIKICAgICAgICAgbWFwcGluZyA9IHNlbGYuZ2V0X21hcCgpCisgICAgICAgIGlmIG1hcHBpbmcgaXMgTm9uZToKKyAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcignU2VsZWN0b3IgaXMgY2xvc2VkJykKICAgICAgICAgdHJ5OgotICAgICAgICAgICAgaWYgbWFwcGluZyBpcyBOb25lOgotICAgICAgICAgICAgICAgIHJhaXNlIEtleUVycm9yCiAgICAgICAgICAgICByZXR1cm4gbWFwcGluZ1tmaWxlb2JqXQogICAgICAgICBleGNlcHQgS2V5RXJyb3I6CiAgICAgICAgICAgICByYWlzZSBLZXlFcnJvcigieyFyfSBpcyBub3QgcmVnaXN0ZXJlZCIuZm9ybWF0KGZpbGVvYmopKSBmcm9tIE5vbmUKQEAgLTQ0OSw2ICs0NDksNjQgQEAKICAgICAgICAgICAgIHN1cGVyKCkuY2xvc2UoKQogCiAKK2lmIGhhc2F0dHIoc2VsZWN0LCAnZGV2cG9sbCcpOgorCisgICAgY2xhc3MgRGV2cG9sbFNlbGVjdG9yKF9CYXNlU2VsZWN0b3JJbXBsKToKKyAgICAgICAgIiIiU29sYXJpcyAvZGV2L3BvbGwgc2VsZWN0b3IuIiIiCisKKyAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYpOgorICAgICAgICAgICAgc3VwZXIoKS5fX2luaXRfXygpCisgICAgICAgICAgICBzZWxmLl9kZXZwb2xsID0gc2VsZWN0LmRldnBvbGwoKQorCisgICAgICAgIGRlZiBmaWxlbm8oc2VsZik6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fZGV2cG9sbC5maWxlbm8oKQorCisgICAgICAgIGRlZiByZWdpc3RlcihzZWxmLCBmaWxlb2JqLCBldmVudHMsIGRhdGE9Tm9uZSk6CisgICAgICAgICAgICBrZXkgPSBzdXBlcigpLnJlZ2lzdGVyKGZpbGVvYmosIGV2ZW50cywgZGF0YSkKKyAgICAgICAgICAgIHBvbGxfZXZlbnRzID0gMAorICAgICAgICAgICAgaWYgZXZlbnRzICYgRVZFTlRfUkVBRDoKKyAgICAgICAgICAgICAgICBwb2xsX2V2ZW50cyB8PSBzZWxlY3QuUE9MTElOCisgICAgICAgICAgICBpZiBldmVudHMgJiBFVkVOVF9XUklURToKKyAgICAgICAgICAgICAgICBwb2xsX2V2ZW50cyB8PSBzZWxlY3QuUE9MTE9VVAorICAgICAgICAgICAgc2VsZi5fZGV2cG9sbC5yZWdpc3RlcihrZXkuZmQsIHBvbGxfZXZlbnRzKQorICAgICAgICAgICAgcmV0dXJuIGtleQorCisgICAgICAgIGRlZiB1bnJlZ2lzdGVyKHNlbGYsIGZpbGVvYmopOgorICAgICAgICAgICAga2V5ID0gc3VwZXIoKS51bnJlZ2lzdGVyKGZpbGVvYmopCisgICAgICAgICAgICBzZWxmLl9kZXZwb2xsLnVucmVnaXN0ZXIoa2V5LmZkKQorICAgICAgICAgICAgcmV0dXJuIGtleQorCisgICAgICAgIGRlZiBzZWxlY3Qoc2VsZiwgdGltZW91dD1Ob25lKToKKyAgICAgICAgICAgIGlmIHRpbWVvdXQgaXMgTm9uZToKKyAgICAgICAgICAgICAgICB0aW1lb3V0ID0gTm9uZQorICAgICAgICAgICAgZWxpZiB0aW1lb3V0IDw9IDA6CisgICAgICAgICAgICAgICAgdGltZW91dCA9IDAKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgIyBkZXZwb2xsKCkgaGFzIGEgcmVzb2x1dGlvbiBvZiAxIG1pbGxpc2Vjb25kLCByb3VuZCBhd2F5IGZyb20KKyAgICAgICAgICAgICAgICAjIHplcm8gdG8gd2FpdCAqYXQgbGVhc3QqIHRpbWVvdXQgc2Vjb25kcy4KKyAgICAgICAgICAgICAgICB0aW1lb3V0ID0gbWF0aC5jZWlsKHRpbWVvdXQgKiAxZTMpCisgICAgICAgICAgICByZWFkeSA9IFtdCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgZmRfZXZlbnRfbGlzdCA9IHNlbGYuX2RldnBvbGwucG9sbCh0aW1lb3V0KQorICAgICAgICAgICAgZXhjZXB0IEludGVycnVwdGVkRXJyb3I6CisgICAgICAgICAgICAgICAgcmV0dXJuIHJlYWR5CisgICAgICAgICAgICBmb3IgZmQsIGV2ZW50IGluIGZkX2V2ZW50X2xpc3Q6CisgICAgICAgICAgICAgICAgZXZlbnRzID0gMAorICAgICAgICAgICAgICAgIGlmIGV2ZW50ICYgfnNlbGVjdC5QT0xMSU46CisgICAgICAgICAgICAgICAgICAgIGV2ZW50cyB8PSBFVkVOVF9XUklURQorICAgICAgICAgICAgICAgIGlmIGV2ZW50ICYgfnNlbGVjdC5QT0xMT1VUOgorICAgICAgICAgICAgICAgICAgICBldmVudHMgfD0gRVZFTlRfUkVBRAorCisgICAgICAgICAgICAgICAga2V5ID0gc2VsZi5fa2V5X2Zyb21fZmQoZmQpCisgICAgICAgICAgICAgICAgaWYga2V5OgorICAgICAgICAgICAgICAgICAgICByZWFkeS5hcHBlbmQoKGtleSwgZXZlbnRzICYga2V5LmV2ZW50cykpCisgICAgICAgICAgICByZXR1cm4gcmVhZHkKKworICAgICAgICBkZWYgY2xvc2Uoc2VsZik6CisgICAgICAgICAgICBzZWxmLl9kZXZwb2xsLmNsb3NlKCkKKyAgICAgICAgICAgIHN1cGVyKCkuY2xvc2UoKQorCisKIGlmIGhhc2F0dHIoc2VsZWN0LCAna3F1ZXVlJyk6CiAKICAgICBjbGFzcyBLcXVldWVTZWxlY3RvcihfQmFzZVNlbGVjdG9ySW1wbCk6CkBAIC01MjEsMTIgKzU3OSwxNSBAQAogICAgICAgICAgICAgc3VwZXIoKS5jbG9zZSgpCiAKIAotIyBDaG9vc2UgdGhlIGJlc3QgaW1wbGVtZW50YXRpb246IHJvdWdobHksIGVwb2xsfGtxdWV1ZSA+IHBvbGwgPiBzZWxlY3QuCisjIENob29zZSB0aGUgYmVzdCBpbXBsZW1lbnRhdGlvbiwgcm91Z2hseToKKyMgICAgZXBvbGx8a3F1ZXVlfGRldnBvbGwgPiBwb2xsID4gc2VsZWN0LgogIyBzZWxlY3QoKSBhbHNvIGNhbid0IGFjY2VwdCBhIEZEID4gRkRfU0VUU0laRSAodXN1YWxseSBhcm91bmQgMTAyNCkKIGlmICdLcXVldWVTZWxlY3RvcicgaW4gZ2xvYmFscygpOgogICAgIERlZmF1bHRTZWxlY3RvciA9IEtxdWV1ZVNlbGVjdG9yCiBlbGlmICdFcG9sbFNlbGVjdG9yJyBpbiBnbG9iYWxzKCk6CiAgICAgRGVmYXVsdFNlbGVjdG9yID0gRXBvbGxTZWxlY3RvcgorZWxpZiAnRGV2cG9sbFNlbGVjdG9yJyBpbiBnbG9iYWxzKCk6CisgICAgRGVmYXVsdFNlbGVjdG9yID0gRGV2cG9sbFNlbGVjdG9yCiBlbGlmICdQb2xsU2VsZWN0b3InIGluIGdsb2JhbHMoKToKICAgICBEZWZhdWx0U2VsZWN0b3IgPSBQb2xsU2VsZWN0b3IKIGVsc2U6CmRpZmYgLS1naXQgYS9MaWIvc2h1dGlsLnB5IGIvTGliL3NodXRpbC5weQppbmRleCBhYzA2YWU1Li42MWRjODA0IDEwMDY0NAotLS0gYS9MaWIvc2h1dGlsLnB5CisrKyBiL0xpYi9zaHV0aWwucHkKQEAgLTcsNyArNyw2IEBACiBpbXBvcnQgb3MKIGltcG9ydCBzeXMKIGltcG9ydCBzdGF0Ci1mcm9tIG9zLnBhdGggaW1wb3J0IGFic3BhdGgKIGltcG9ydCBmbm1hdGNoCiBpbXBvcnQgY29sbGVjdGlvbnMKIGltcG9ydCBlcnJubwpAQCAtMjEsNiArMjAsMTMgQEAKICAgICBfQloyX1NVUFBPUlRFRCA9IEZhbHNlCiAKIHRyeToKKyAgICBpbXBvcnQgbHptYQorICAgIGRlbCBsem1hCisgICAgX0xaTUFfU1VQUE9SVEVEID0gVHJ1ZQorZXhjZXB0IEltcG9ydEVycm9yOgorICAgIF9MWk1BX1NVUFBPUlRFRCA9IEZhbHNlCisKK3RyeToKICAgICBmcm9tIHB3ZCBpbXBvcnQgZ2V0cHduYW0KIGV4Y2VwdCBJbXBvcnRFcnJvcjoKICAgICBnZXRwd25hbSA9IE5vbmUKQEAgLTQ4Nyw3ICs0OTMsNyBAQAogICAgIHNlcCA9IG9zLnBhdGguc2VwICsgKG9zLnBhdGguYWx0c2VwIG9yICcnKQogICAgIHJldHVybiBvcy5wYXRoLmJhc2VuYW1lKHBhdGgucnN0cmlwKHNlcCkpCiAKLWRlZiBtb3ZlKHNyYywgZHN0KToKK2RlZiBtb3ZlKHNyYywgZHN0LCBjb3B5X2Z1bmN0aW9uPWNvcHkyKToKICAgICAiIiJSZWN1cnNpdmVseSBtb3ZlIGEgZmlsZSBvciBkaXJlY3RvcnkgdG8gYW5vdGhlciBsb2NhdGlvbi4gVGhpcyBpcwogICAgIHNpbWlsYXIgdG8gdGhlIFVuaXggIm12IiBjb21tYW5kLiBSZXR1cm4gdGhlIGZpbGUgb3IgZGlyZWN0b3J5J3MKICAgICBkZXN0aW5hdGlvbi4KQEAgLTUwNCw2ICs1MTAsMTEgQEAKICAgICByZWNyZWF0ZWQgdW5kZXIgdGhlIG5ldyBuYW1lIGlmIG9zLnJlbmFtZSgpIGZhaWxzIGJlY2F1c2Ugb2YgY3Jvc3MKICAgICBmaWxlc3lzdGVtIHJlbmFtZXMuCiAKKyAgICBUaGUgb3B0aW9uYWwgYGNvcHlfZnVuY3Rpb25gIGFyZ3VtZW50IGlzIGEgY2FsbGFibGUgdGhhdCB3aWxsIGJlIHVzZWQKKyAgICB0byBjb3B5IHRoZSBzb3VyY2Ugb3IgaXQgd2lsbCBiZSBkZWxlZ2F0ZWQgdG8gYGNvcHl0cmVlYC4KKyAgICBCeSBkZWZhdWx0LCBjb3B5MigpIGlzIHVzZWQsIGJ1dCBhbnkgZnVuY3Rpb24gdGhhdCBzdXBwb3J0cyB0aGUgc2FtZQorICAgIHNpZ25hdHVyZSAobGlrZSBjb3B5KCkpIGNhbiBiZSB1c2VkLgorCiAgICAgQSBsb3QgbW9yZSBjb3VsZCBiZSBkb25lIGhlcmUuLi4gIEEgbG9vayBhdCBhIG12LmMgc2hvd3MgYSBsb3Qgb2YKICAgICB0aGUgaXNzdWVzIHRoaXMgaW1wbGVtZW50YXRpb24gZ2xvc3NlcyBvdmVyLgogCkBAIC01MjgsMTcgKzUzOSwxOSBAQAogICAgICAgICAgICAgb3MudW5saW5rKHNyYykKICAgICAgICAgZWxpZiBvcy5wYXRoLmlzZGlyKHNyYyk6CiAgICAgICAgICAgICBpZiBfZGVzdGluc3JjKHNyYywgZHN0KToKLSAgICAgICAgICAgICAgICByYWlzZSBFcnJvcigiQ2Fubm90IG1vdmUgYSBkaXJlY3RvcnkgJyVzJyBpbnRvIGl0c2VsZiAnJXMnLiIgJSAoc3JjLCBkc3QpKQotICAgICAgICAgICAgY29weXRyZWUoc3JjLCByZWFsX2RzdCwgc3ltbGlua3M9VHJ1ZSkKKyAgICAgICAgICAgICAgICByYWlzZSBFcnJvcigiQ2Fubm90IG1vdmUgYSBkaXJlY3RvcnkgJyVzJyBpbnRvIGl0c2VsZiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiICclcycuIiAlIChzcmMsIGRzdCkpCisgICAgICAgICAgICBjb3B5dHJlZShzcmMsIHJlYWxfZHN0LCBjb3B5X2Z1bmN0aW9uPWNvcHlfZnVuY3Rpb24sCisgICAgICAgICAgICAgICAgICAgICBzeW1saW5rcz1UcnVlKQogICAgICAgICAgICAgcm10cmVlKHNyYykKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGNvcHkyKHNyYywgcmVhbF9kc3QpCisgICAgICAgICAgICBjb3B5X2Z1bmN0aW9uKHNyYywgcmVhbF9kc3QpCiAgICAgICAgICAgICBvcy51bmxpbmsoc3JjKQogICAgIHJldHVybiByZWFsX2RzdAogCiBkZWYgX2Rlc3RpbnNyYyhzcmMsIGRzdCk6Ci0gICAgc3JjID0gYWJzcGF0aChzcmMpCi0gICAgZHN0ID0gYWJzcGF0aChkc3QpCisgICAgc3JjID0gb3MucGF0aC5hYnNwYXRoKHNyYykKKyAgICBkc3QgPSBvcy5wYXRoLmFic3BhdGgoZHN0KQogICAgIGlmIG5vdCBzcmMuZW5kc3dpdGgob3MucGF0aC5zZXApOgogICAgICAgICBzcmMgKz0gb3MucGF0aC5zZXAKICAgICBpZiBub3QgZHN0LmVuZHN3aXRoKG9zLnBhdGguc2VwKToKQEAgLTU3NCwxNCArNTg3LDE0IEBACiAgICAgIiIiQ3JlYXRlIGEgKHBvc3NpYmx5IGNvbXByZXNzZWQpIHRhciBmaWxlIGZyb20gYWxsIHRoZSBmaWxlcyB1bmRlcgogICAgICdiYXNlX2RpcicuCiAKLSAgICAnY29tcHJlc3MnIG11c3QgYmUgImd6aXAiICh0aGUgZGVmYXVsdCksICJiemlwMiIsIG9yIE5vbmUuCisgICAgJ2NvbXByZXNzJyBtdXN0IGJlICJnemlwIiAodGhlIGRlZmF1bHQpLCAiYnppcDIiLCAieHoiLCBvciBOb25lLgogCiAgICAgJ293bmVyJyBhbmQgJ2dyb3VwJyBjYW4gYmUgdXNlZCB0byBkZWZpbmUgYW4gb3duZXIgYW5kIGEgZ3JvdXAgZm9yIHRoZQogICAgIGFyY2hpdmUgdGhhdCBpcyBiZWluZyBidWlsdC4gSWYgbm90IHByb3ZpZGVkLCB0aGUgY3VycmVudCBvd25lciBhbmQgZ3JvdXAKICAgICB3aWxsIGJlIHVzZWQuCiAKICAgICBUaGUgb3V0cHV0IHRhciBmaWxlIHdpbGwgYmUgbmFtZWQgJ2Jhc2VfbmFtZScgKyAgIi50YXIiLCBwb3NzaWJseSBwbHVzCi0gICAgdGhlIGFwcHJvcHJpYXRlIGNvbXByZXNzaW9uIGV4dGVuc2lvbiAoIi5neiIsIG9yICIuYnoyIikuCisgICAgdGhlIGFwcHJvcHJpYXRlIGNvbXByZXNzaW9uIGV4dGVuc2lvbiAoIi5neiIsICIuYnoyIiwgb3IgIi54eiIpLgogCiAgICAgUmV0dXJucyB0aGUgb3V0cHV0IGZpbGVuYW1lLgogICAgICIiIgpAQCAtNTkyLDYgKzYwNSwxMCBAQAogICAgICAgICB0YXJfY29tcHJlc3Npb25bJ2J6aXAyJ10gPSAnYnoyJwogICAgICAgICBjb21wcmVzc19leHRbJ2J6aXAyJ10gPSAnLmJ6MicKIAorICAgIGlmIF9MWk1BX1NVUFBPUlRFRDoKKyAgICAgICAgdGFyX2NvbXByZXNzaW9uWyd4eiddID0gJ3h6JworICAgICAgICBjb21wcmVzc19leHRbJ3h6J10gPSAnLnh6JworCiAgICAgIyBmbGFncyBmb3IgY29tcHJlc3Npb24gcHJvZ3JhbSwgZWFjaCBlbGVtZW50IG9mIGxpc3Qgd2lsbCBiZSBhbiBhcmd1bWVudAogICAgIGlmIGNvbXByZXNzIGlzIG5vdCBOb25lIGFuZCBjb21wcmVzcyBub3QgaW4gY29tcHJlc3NfZXh0OgogICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJiYWQgdmFsdWUgZm9yICdjb21wcmVzcycsIG9yIGNvbXByZXNzaW9uIGZvcm1hdCBub3QgIgpAQCAtNjMxLDIzICs2NDgsNiBAQAogCiAgICAgcmV0dXJuIGFyY2hpdmVfbmFtZQogCi1kZWYgX2NhbGxfZXh0ZXJuYWxfemlwKGJhc2VfZGlyLCB6aXBfZmlsZW5hbWUsIHZlcmJvc2U9RmFsc2UsIGRyeV9ydW49RmFsc2UpOgotICAgICMgWFhYIHNlZSBpZiB3ZSB3YW50IHRvIGtlZXAgYW4gZXh0ZXJuYWwgY2FsbCBoZXJlCi0gICAgaWYgdmVyYm9zZToKLSAgICAgICAgemlwb3B0aW9ucyA9ICItciIKLSAgICBlbHNlOgotICAgICAgICB6aXBvcHRpb25zID0gIi1ycSIKLSAgICBmcm9tIGRpc3R1dGlscy5lcnJvcnMgaW1wb3J0IERpc3R1dGlsc0V4ZWNFcnJvcgotICAgIGZyb20gZGlzdHV0aWxzLnNwYXduIGltcG9ydCBzcGF3bgotICAgIHRyeToKLSAgICAgICAgc3Bhd24oWyJ6aXAiLCB6aXBvcHRpb25zLCB6aXBfZmlsZW5hbWUsIGJhc2VfZGlyXSwgZHJ5X3J1bj1kcnlfcnVuKQotICAgIGV4Y2VwdCBEaXN0dXRpbHNFeGVjRXJyb3I6Ci0gICAgICAgICMgWFhYIHJlYWxseSBzaG91bGQgZGlzdGluZ3Vpc2ggYmV0d2VlbiAiY291bGRuJ3QgZmluZAotICAgICAgICAjIGV4dGVybmFsICd6aXAnIGNvbW1hbmQiIGFuZCAiemlwIGZhaWxlZCIuCi0gICAgICAgIHJhaXNlIEV4ZWNFcnJvcigidW5hYmxlIHRvIGNyZWF0ZSB6aXAgZmlsZSAnJXMnOiAiCi0gICAgICAgICAgICAiY291bGQgbmVpdGhlciBpbXBvcnQgdGhlICd6aXBmaWxlJyBtb2R1bGUgbm9yICIKLSAgICAgICAgICAgICJmaW5kIGEgc3RhbmRhbG9uZSB6aXAgdXRpbGl0eSIpICUgemlwX2ZpbGVuYW1lCi0KIGRlZiBfbWFrZV96aXBmaWxlKGJhc2VfbmFtZSwgYmFzZV9kaXIsIHZlcmJvc2U9MCwgZHJ5X3J1bj0wLCBsb2dnZXI9Tm9uZSk6CiAgICAgIiIiQ3JlYXRlIGEgemlwIGZpbGUgZnJvbSBhbGwgdGhlIGZpbGVzIHVuZGVyICdiYXNlX2RpcicuCiAKQEAgLTY1Nyw2ICs2NTcsOCBAQAogICAgIGF2YWlsYWJsZSwgcmFpc2VzIEV4ZWNFcnJvci4gIFJldHVybnMgdGhlIG5hbWUgb2YgdGhlIG91dHB1dCB6aXAKICAgICBmaWxlLgogICAgICIiIgorICAgIGltcG9ydCB6aXBmaWxlCisKICAgICB6aXBfZmlsZW5hbWUgPSBiYXNlX25hbWUgKyAiLnppcCIKICAgICBhcmNoaXZlX2RpciA9IG9zLnBhdGguZGlybmFtZShiYXNlX25hbWUpCiAKQEAgLTY2NiwzMCArNjY4LDIwIEBACiAgICAgICAgIGlmIG5vdCBkcnlfcnVuOgogICAgICAgICAgICAgb3MubWFrZWRpcnMoYXJjaGl2ZV9kaXIpCiAKLSAgICAjIElmIHppcGZpbGUgbW9kdWxlIGlzIG5vdCBhdmFpbGFibGUsIHRyeSBzcGF3bmluZyBhbiBleHRlcm5hbCAnemlwJwotICAgICMgY29tbWFuZC4KLSAgICB0cnk6Ci0gICAgICAgIGltcG9ydCB6aXBmaWxlCi0gICAgZXhjZXB0IEltcG9ydEVycm9yOgotICAgICAgICB6aXBmaWxlID0gTm9uZQorICAgIGlmIGxvZ2dlciBpcyBub3QgTm9uZToKKyAgICAgICAgbG9nZ2VyLmluZm8oImNyZWF0aW5nICclcycgYW5kIGFkZGluZyAnJXMnIHRvIGl0IiwKKyAgICAgICAgICAgICAgICAgICAgemlwX2ZpbGVuYW1lLCBiYXNlX2RpcikKIAotICAgIGlmIHppcGZpbGUgaXMgTm9uZToKLSAgICAgICAgX2NhbGxfZXh0ZXJuYWxfemlwKGJhc2VfZGlyLCB6aXBfZmlsZW5hbWUsIHZlcmJvc2UsIGRyeV9ydW4pCi0gICAgZWxzZToKLSAgICAgICAgaWYgbG9nZ2VyIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgbG9nZ2VyLmluZm8oImNyZWF0aW5nICclcycgYW5kIGFkZGluZyAnJXMnIHRvIGl0IiwKLSAgICAgICAgICAgICAgICAgICAgICAgIHppcF9maWxlbmFtZSwgYmFzZV9kaXIpCi0KLSAgICAgICAgaWYgbm90IGRyeV9ydW46Ci0gICAgICAgICAgICB3aXRoIHppcGZpbGUuWmlwRmlsZSh6aXBfZmlsZW5hbWUsICJ3IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXByZXNzaW9uPXppcGZpbGUuWklQX0RFRkxBVEVEKSBhcyB6ZjoKLSAgICAgICAgICAgICAgICBmb3IgZGlycGF0aCwgZGlybmFtZXMsIGZpbGVuYW1lcyBpbiBvcy53YWxrKGJhc2VfZGlyKToKLSAgICAgICAgICAgICAgICAgICAgZm9yIG5hbWUgaW4gZmlsZW5hbWVzOgotICAgICAgICAgICAgICAgICAgICAgICAgcGF0aCA9IG9zLnBhdGgubm9ybXBhdGgob3MucGF0aC5qb2luKGRpcnBhdGgsIG5hbWUpKQotICAgICAgICAgICAgICAgICAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUocGF0aCk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgemYud3JpdGUocGF0aCwgcGF0aCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBsb2dnZXIgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ2dlci5pbmZvKCJhZGRpbmcgJyVzJyIsIHBhdGgpCisgICAgaWYgbm90IGRyeV9ydW46CisgICAgICAgIHdpdGggemlwZmlsZS5aaXBGaWxlKHppcF9maWxlbmFtZSwgInciLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wcmVzc2lvbj16aXBmaWxlLlpJUF9ERUZMQVRFRCkgYXMgemY6CisgICAgICAgICAgICBmb3IgZGlycGF0aCwgZGlybmFtZXMsIGZpbGVuYW1lcyBpbiBvcy53YWxrKGJhc2VfZGlyKToKKyAgICAgICAgICAgICAgICBmb3IgbmFtZSBpbiBmaWxlbmFtZXM6CisgICAgICAgICAgICAgICAgICAgIHBhdGggPSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbihkaXJwYXRoLCBuYW1lKSkKKyAgICAgICAgICAgICAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUocGF0aCk6CisgICAgICAgICAgICAgICAgICAgICAgICB6Zi53cml0ZShwYXRoLCBwYXRoKQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgbG9nZ2VyIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ2dlci5pbmZvKCJhZGRpbmcgJyVzJyIsIHBhdGgpCiAKICAgICByZXR1cm4gemlwX2ZpbGVuYW1lCiAKQEAgLTcwMyw2ICs2OTUsMTAgQEAKICAgICBfQVJDSElWRV9GT1JNQVRTWydienRhciddID0gKF9tYWtlX3RhcmJhbGwsIFsoJ2NvbXByZXNzJywgJ2J6aXAyJyldLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYnppcDInZWQgdGFyLWZpbGUiKQogCitpZiBfTFpNQV9TVVBQT1JURUQ6CisgICAgX0FSQ0hJVkVfRk9STUFUU1sneHp0YXInXSA9IChfbWFrZV90YXJiYWxsLCBbKCdjb21wcmVzcycsICd4eicpXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInh6J2VkIHRhci1maWxlIikKKwogZGVmIGdldF9hcmNoaXZlX2Zvcm1hdHMoKToKICAgICAiIiJSZXR1cm5zIGEgbGlzdCBvZiBzdXBwb3J0ZWQgZm9ybWF0cyBmb3IgYXJjaGl2aW5nIGFuZCB1bmFyY2hpdmluZy4KIApAQCAtODkxLDcgKzg4Nyw3IEBACiAgICAgICAgIHppcC5jbG9zZSgpCiAKIGRlZiBfdW5wYWNrX3RhcmZpbGUoZmlsZW5hbWUsIGV4dHJhY3RfZGlyKToKLSAgICAiIiJVbnBhY2sgdGFyL3Rhci5nei90YXIuYnoyIGBmaWxlbmFtZWAgdG8gYGV4dHJhY3RfZGlyYAorICAgICIiIlVucGFjayB0YXIvdGFyLmd6L3Rhci5iejIvdGFyLnh6IGBmaWxlbmFtZWAgdG8gYGV4dHJhY3RfZGlyYAogICAgICIiIgogICAgIHRyeToKICAgICAgICAgdGFyb2JqID0gdGFyZmlsZS5vcGVuKGZpbGVuYW1lKQpAQCAtOTEwLDkgKzkwNiwxMyBAQAogICAgIH0KIAogaWYgX0JaMl9TVVBQT1JURUQ6Ci0gICAgX1VOUEFDS19GT1JNQVRTWydienRhciddID0gKFsnLmJ6MiddLCBfdW5wYWNrX3RhcmZpbGUsIFtdLAorICAgIF9VTlBBQ0tfRk9STUFUU1snYnp0YXInXSA9IChbJy50YXIuYnoyJywgJy50YnoyJ10sIF91bnBhY2tfdGFyZmlsZSwgW10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJiemlwMidlZCB0YXItZmlsZSIpCiAKK2lmIF9MWk1BX1NVUFBPUlRFRDoKKyAgICBfVU5QQUNLX0ZPUk1BVFNbJ3h6dGFyJ10gPSAoWycudGFyLnh6JywgJy50eHonXSwgX3VucGFja190YXJmaWxlLCBbXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInh6J2VkIHRhci1maWxlIikKKwogZGVmIF9maW5kX3VucGFja19mb3JtYXQoZmlsZW5hbWUpOgogICAgIGZvciBuYW1lLCBpbmZvIGluIF9VTlBBQ0tfRk9STUFUUy5pdGVtcygpOgogICAgICAgICBmb3IgZXh0ZW5zaW9uIGluIGluZm9bMF06CmRpZmYgLS1naXQgYS9MaWIvc2lnbmFsLnB5IGIvTGliL3NpZ25hbC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZGIzZGY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGliL3NpZ25hbC5weQpAQCAtMCwwICsxLDg1IEBACitpbXBvcnQgX3NpZ25hbAorZnJvbSBfc2lnbmFsIGltcG9ydCAqCitmcm9tIGZ1bmN0b29scyBpbXBvcnQgd3JhcHMgYXMgX3dyYXBzCitmcm9tIGVudW0gaW1wb3J0IEludEVudW0gYXMgX0ludEVudW0KKworX2dsb2JhbHMgPSBnbG9iYWxzKCkKKworU2lnbmFscyA9IF9JbnRFbnVtKAorICAgICdTaWduYWxzJywKKyAgICB7bmFtZTogdmFsdWUgZm9yIG5hbWUsIHZhbHVlIGluIF9nbG9iYWxzLml0ZW1zKCkKKyAgICAgaWYgbmFtZS5pc3VwcGVyKCkKKyAgICAgICAgYW5kIChuYW1lLnN0YXJ0c3dpdGgoJ1NJRycpIGFuZCBub3QgbmFtZS5zdGFydHN3aXRoKCdTSUdfJykpCisgICAgICAgIG9yIG5hbWUuc3RhcnRzd2l0aCgnQ1RSTF8nKX0pCisKK2NsYXNzIEhhbmRsZXJzKF9JbnRFbnVtKToKKyAgICBTSUdfREZMID0gX3NpZ25hbC5TSUdfREZMCisgICAgU0lHX0lHTiA9IF9zaWduYWwuU0lHX0lHTgorCitfZ2xvYmFscy51cGRhdGUoU2lnbmFscy5fX21lbWJlcnNfXykKK19nbG9iYWxzLnVwZGF0ZShIYW5kbGVycy5fX21lbWJlcnNfXykKKworaWYgJ3B0aHJlYWRfc2lnbWFzaycgaW4gX2dsb2JhbHM6CisgICAgY2xhc3MgU2lnbWFza3MoX0ludEVudW0pOgorICAgICAgICBTSUdfQkxPQ0sgPSBfc2lnbmFsLlNJR19CTE9DSworICAgICAgICBTSUdfVU5CTE9DSyA9IF9zaWduYWwuU0lHX1VOQkxPQ0sKKyAgICAgICAgU0lHX1NFVE1BU0sgPSBfc2lnbmFsLlNJR19TRVRNQVNLCisKKyAgICBfZ2xvYmFscy51cGRhdGUoU2lnbWFza3MuX19tZW1iZXJzX18pCisKKworZGVmIF9pbnRfdG9fZW51bSh2YWx1ZSwgZW51bV9rbGFzcyk6CisgICAgIiIiQ29udmVydCBhIG51bWVyaWMgdmFsdWUgdG8gYW4gSW50RW51bSBtZW1iZXIuCisgICAgSWYgaXQncyBub3QgYSBrbm93biBtZW1iZXIsIHJldHVybiB0aGUgbnVtZXJpYyB2YWx1ZSBpdHNlbGYuCisgICAgIiIiCisgICAgdHJ5OgorICAgICAgICByZXR1cm4gZW51bV9rbGFzcyh2YWx1ZSkKKyAgICBleGNlcHQgVmFsdWVFcnJvcjoKKyAgICAgICAgcmV0dXJuIHZhbHVlCisKKworZGVmIF9lbnVtX3RvX2ludCh2YWx1ZSk6CisgICAgIiIiQ29udmVydCBhbiBJbnRFbnVtIG1lbWJlciB0byBhIG51bWVyaWMgdmFsdWUuCisgICAgSWYgaXQncyBub3QgYSBJbnRFbnVtIG1lbWJlciByZXR1cm4gdGhlIHZhbHVlIGl0c2VsZi4KKyAgICAiIiIKKyAgICB0cnk6CisgICAgICAgIHJldHVybiBpbnQodmFsdWUpCisgICAgZXhjZXB0IChWYWx1ZUVycm9yLCBUeXBlRXJyb3IpOgorICAgICAgICByZXR1cm4gdmFsdWUKKworCitAX3dyYXBzKF9zaWduYWwuc2lnbmFsKQorZGVmIHNpZ25hbChzaWduYWxudW0sIGhhbmRsZXIpOgorICAgIGhhbmRsZXIgPSBfc2lnbmFsLnNpZ25hbChfZW51bV90b19pbnQoc2lnbmFsbnVtKSwgX2VudW1fdG9faW50KGhhbmRsZXIpKQorICAgIHJldHVybiBfaW50X3RvX2VudW0oaGFuZGxlciwgSGFuZGxlcnMpCisKKworQF93cmFwcyhfc2lnbmFsLmdldHNpZ25hbCkKK2RlZiBnZXRzaWduYWwoc2lnbmFsbnVtKToKKyAgICBoYW5kbGVyID0gX3NpZ25hbC5nZXRzaWduYWwoc2lnbmFsbnVtKQorICAgIHJldHVybiBfaW50X3RvX2VudW0oaGFuZGxlciwgSGFuZGxlcnMpCisKKworaWYgJ3B0aHJlYWRfc2lnbWFzaycgaW4gX2dsb2JhbHM6CisgICAgQF93cmFwcyhfc2lnbmFsLnB0aHJlYWRfc2lnbWFzaykKKyAgICBkZWYgcHRocmVhZF9zaWdtYXNrKGhvdywgbWFzayk6CisgICAgICAgIHNpZ3Nfc2V0ID0gX3NpZ25hbC5wdGhyZWFkX3NpZ21hc2soaG93LCBtYXNrKQorICAgICAgICByZXR1cm4gc2V0KF9pbnRfdG9fZW51bSh4LCBTaWduYWxzKSBmb3IgeCBpbiBzaWdzX3NldCkKKyAgICBwdGhyZWFkX3NpZ21hc2suX19kb2NfXyA9IF9zaWduYWwucHRocmVhZF9zaWdtYXNrLl9fZG9jX18KKworCitpZiAnc2lncGVuZGluZycgaW4gX2dsb2JhbHM6CisgICAgQF93cmFwcyhfc2lnbmFsLnNpZ3BlbmRpbmcpCisgICAgZGVmIHNpZ3BlbmRpbmcoKToKKyAgICAgICAgc2lncyA9IF9zaWduYWwuc2lncGVuZGluZygpCisgICAgICAgIHJldHVybiBzZXQoX2ludF90b19lbnVtKHgsIFNpZ25hbHMpIGZvciB4IGluIHNpZ3MpCisKKworaWYgJ3NpZ3dhaXQnIGluIF9nbG9iYWxzOgorICAgIEBfd3JhcHMoX3NpZ25hbC5zaWd3YWl0KQorICAgIGRlZiBzaWd3YWl0KHNpZ3NldCk6CisgICAgICAgIHJldHNpZyA9IF9zaWduYWwuc2lnd2FpdChzaWdzZXQpCisgICAgICAgIHJldHVybiBfaW50X3RvX2VudW0ocmV0c2lnLCBTaWduYWxzKQorICAgIHNpZ3dhaXQuX19kb2NfXyA9IF9zaWduYWwuc2lnd2FpdAorCitkZWwgX2dsb2JhbHMsIF93cmFwcwpkaWZmIC0tZ2l0IGEvTGliL3NpdGUucHkgYi9MaWIvc2l0ZS5weQppbmRleCBhZDVkMTM2Li40OTU5Y2ZjIDEwMDY0NAotLS0gYS9MaWIvc2l0ZS5weQorKysgYi9MaWIvc2l0ZS5weQpAQCAtNyw3ICs3LDcgQEAKIFRoaXMgd2lsbCBhcHBlbmQgc2l0ZS1zcGVjaWZpYyBwYXRocyB0byB0aGUgbW9kdWxlIHNlYXJjaCBwYXRoLiAgT24KIFVuaXggKGluY2x1ZGluZyBNYWMgT1NYKSwgaXQgc3RhcnRzIHdpdGggc3lzLnByZWZpeCBhbmQKIHN5cy5leGVjX3ByZWZpeCAoaWYgZGlmZmVyZW50KSBhbmQgYXBwZW5kcwotbGliL3B5dGhvbjx2ZXJzaW9uPi9zaXRlLXBhY2thZ2VzIGFzIHdlbGwgYXMgbGliL3NpdGUtcHl0aG9uLgorbGliL3B5dGhvbjx2ZXJzaW9uPi9zaXRlLXBhY2thZ2VzLgogT24gb3RoZXIgcGxhdGZvcm1zIChzdWNoIGFzIFdpbmRvd3MpLCBpdCB0cmllcyBlYWNoIG9mIHRoZQogcHJlZml4ZXMgZGlyZWN0bHksIGFzIHdlbGwgYXMgd2l0aCBsaWIvc2l0ZS1wYWNrYWdlcyBhcHBlbmRlZC4gIFRoZQogcmVzdWx0aW5nIGRpcmVjdG9yaWVzLCBpZiB0aGV5IGV4aXN0LCBhcmUgYXBwZW5kZWQgdG8gc3lzLnBhdGgsIGFuZApAQCAtMTUsNyArMTUsNyBAQAogCiBJZiBhIGZpbGUgbmFtZWQgInB5dmVudi5jZmciIGV4aXN0cyBvbmUgZGlyZWN0b3J5IGFib3ZlIHN5cy5leGVjdXRhYmxlLAogc3lzLnByZWZpeCBhbmQgc3lzLmV4ZWNfcHJlZml4IGFyZSBzZXQgdG8gdGhhdCBkaXJlY3RvcnkgYW5kCi1pdCBpcyBhbHNvIGNoZWNrZWQgZm9yIHNpdGUtcGFja2FnZXMgYW5kIHNpdGUtcHl0aG9uIChzeXMuYmFzZV9wcmVmaXggYW5kCitpdCBpcyBhbHNvIGNoZWNrZWQgZm9yIHNpdGUtcGFja2FnZXMgKHN5cy5iYXNlX3ByZWZpeCBhbmQKIHN5cy5iYXNlX2V4ZWNfcHJlZml4IHdpbGwgYWx3YXlzIGJlIHRoZSAicmVhbCIgcHJlZml4ZXMgb2YgdGhlIFB5dGhvbgogaW5zdGFsbGF0aW9uKS4gSWYgInB5dmVudi5jZmciIChhIGJvb3RzdHJhcCBjb25maWd1cmF0aW9uIGZpbGUpIGNvbnRhaW5zCiB0aGUga2V5ICJpbmNsdWRlLXN5c3RlbS1zaXRlLXBhY2thZ2VzIiBzZXQgdG8gYW55dGhpbmcgb3RoZXIgdGhhbiAiZmFsc2UiCkBAIC0yODUsOCArMjg1LDcgQEAKICAgICByZXR1cm4ga25vd25fcGF0aHMKIAogZGVmIGdldHNpdGVwYWNrYWdlcyhwcmVmaXhlcz1Ob25lKToKLSAgICAiIiJSZXR1cm5zIGEgbGlzdCBjb250YWluaW5nIGFsbCBnbG9iYWwgc2l0ZS1wYWNrYWdlcyBkaXJlY3RvcmllcwotICAgIChhbmQgcG9zc2libHkgc2l0ZS1weXRob24pLgorICAgICIiIlJldHVybnMgYSBsaXN0IGNvbnRhaW5pbmcgYWxsIGdsb2JhbCBzaXRlLXBhY2thZ2VzIGRpcmVjdG9yaWVzLgogCiAgICAgRm9yIGVhY2ggZGlyZWN0b3J5IHByZXNlbnQgaW4gYGBwcmVmaXhlc2BgIChvciB0aGUgZ2xvYmFsIGBgUFJFRklYRVNgYCksCiAgICAgdGhpcyBmdW5jdGlvbiB3aWxsIGZpbmQgaXRzIGBzaXRlLXBhY2thZ2VzYCBzdWJkaXJlY3RvcnkgZGVwZW5kaW5nIG9uIHRoZQpAQCAtMzA3LDcgKzMwNiw2IEBACiAgICAgICAgICAgICBzaXRlcGFja2FnZXMuYXBwZW5kKG9zLnBhdGguam9pbihwcmVmaXgsICJsaWIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJweXRob24iICsgc3lzLnZlcnNpb25bOjNdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaXRlLXBhY2thZ2VzIikpCi0gICAgICAgICAgICBzaXRlcGFja2FnZXMuYXBwZW5kKG9zLnBhdGguam9pbihwcmVmaXgsICJsaWIiLCAic2l0ZS1weXRob24iKSkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHNpdGVwYWNrYWdlcy5hcHBlbmQocHJlZml4KQogICAgICAgICAgICAgc2l0ZXBhY2thZ2VzLmFwcGVuZChvcy5wYXRoLmpvaW4ocHJlZml4LCAibGliIiwgInNpdGUtcGFja2FnZXMiKSkKQEAgLTMyMywxNCArMzIxLDkgQEAKICAgICByZXR1cm4gc2l0ZXBhY2thZ2VzCiAKIGRlZiBhZGRzaXRlcGFja2FnZXMoa25vd25fcGF0aHMsIHByZWZpeGVzPU5vbmUpOgotICAgICIiIkFkZCBzaXRlLXBhY2thZ2VzIChhbmQgcG9zc2libHkgc2l0ZS1weXRob24pIHRvIHN5cy5wYXRoIiIiCisgICAgIiIiQWRkIHNpdGUtcGFja2FnZXMgdG8gc3lzLnBhdGgiIiIKICAgICBmb3Igc2l0ZWRpciBpbiBnZXRzaXRlcGFja2FnZXMocHJlZml4ZXMpOgogICAgICAgICBpZiBvcy5wYXRoLmlzZGlyKHNpdGVkaXIpOgotICAgICAgICAgICAgaWYgInNpdGUtcHl0aG9uIiBpbiBzaXRlZGlyOgotICAgICAgICAgICAgICAgIGltcG9ydCB3YXJuaW5ncwotICAgICAgICAgICAgICAgIHdhcm5pbmdzLndhcm4oJyJzaXRlLXB5dGhvbiIgZGlyZWN0b3JpZXMgd2lsbCBub3QgYmUgJwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N1cHBvcnRlZCBpbiAzLjUgYW55bW9yZScsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXByZWNhdGlvbldhcm5pbmcpCiAgICAgICAgICAgICBhZGRzaXRlZGlyKHNpdGVkaXIsIGtub3duX3BhdGhzKQogCiAgICAgcmV0dXJuIGtub3duX3BhdGhzCmRpZmYgLS1naXQgYS9MaWIvc210cGQucHkgYi9MaWIvc210cGQucHkKaW5kZXggMWZhMTU3YS4uMzM2NTNkNCAxMDA3NTUKLS0tIGEvTGliL3NtdHBkLnB5CisrKyBiL0xpYi9zbXRwZC5weQpAQCAtMSw1ICsxLDUgQEAKICMhIC91c3IvYmluL2VudiBweXRob24zCi0iIiJBbiBSRkMgNTMyMSBzbXRwIHByb3h5LgorIiIiQW4gUkZDIDUzMjEgc210cCBwcm94eSB3aXRoIG9wdGlvbmFsIFJGQyAxODcwIGFuZCBSRkMgNjUzMSBleHRlbnNpb25zLgogCiBVc2FnZTogJShwcm9ncmFtKXMgW29wdGlvbnNdIFtsb2NhbGhvc3Q6bG9jYWxwb3J0IFtyZW1vdGVob3N0OnJlbW90ZXBvcnRdXQogCkBAIC0yNSw2ICsyNSwxMCBAQAogICAgICAgICBSZXN0cmljdCB0aGUgdG90YWwgc2l6ZSBvZiB0aGUgaW5jb21pbmcgbWVzc2FnZSB0byAibGltaXQiIG51bWJlciBvZgogICAgICAgICBieXRlcyB2aWEgdGhlIFJGQyAxODcwIFNJWkUgZXh0ZW5zaW9uLiAgRGVmYXVsdHMgdG8gMzM1NTQ0MzIgYnl0ZXMuCiAKKyAgICAtLXNtdHB1dGY4CisgICAgLXUKKyAgICAgICAgRW5hYmxlIHRoZSBTTVRQVVRGOCBleHRlbnNpb24gYW5kIGJlaGF2ZSBhcyBhbiBSRkMgNjUzMSBzbXRwIHByb3h5LgorCiAgICAgLS1kZWJ1ZwogICAgIC1kCiAgICAgICAgIFR1cm4gb24gZGVidWdnaW5nIHByaW50cy4KQEAgLTk4LDcgKzEwMiw2IEBACiAKIERFQlVHU1RSRUFNID0gRGV2bnVsbCgpCiBORVdMSU5FID0gJ1xuJwotRU1QVFlTVFJJTkcgPSAnJwogQ09NTUFTUEFDRSA9ICcsICcKIERBVEFfU0laRV9ERUZBVUxUID0gMzM1NTQ0MzIKIApAQCAtMTE2LDI2ICsxMTksNDggQEAKIAogICAgIGNvbW1hbmRfc2l6ZV9saW1pdCA9IDUxMgogICAgIGNvbW1hbmRfc2l6ZV9saW1pdHMgPSBjb2xsZWN0aW9ucy5kZWZhdWx0ZGljdChsYW1iZGEgeD1jb21tYW5kX3NpemVfbGltaXQ6IHgpCi0gICAgY29tbWFuZF9zaXplX2xpbWl0cy51cGRhdGUoewotICAgICAgICAnTUFJTCc6IGNvbW1hbmRfc2l6ZV9saW1pdCArIDI2LAotICAgICAgICB9KQotICAgIG1heF9jb21tYW5kX3NpemVfbGltaXQgPSBtYXgoY29tbWFuZF9zaXplX2xpbWl0cy52YWx1ZXMoKSkKKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiBtYXhfY29tbWFuZF9zaXplX2xpbWl0KHNlbGYpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICByZXR1cm4gbWF4KHNlbGYuY29tbWFuZF9zaXplX2xpbWl0cy52YWx1ZXMoKSkKKyAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5jb21tYW5kX3NpemVfbGltaXQKIAogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBzZXJ2ZXIsIGNvbm4sIGFkZHIsIGRhdGFfc2l6ZV9saW1pdD1EQVRBX1NJWkVfREVGQVVMVCwKLSAgICAgICAgICAgICAgICAgbWFwPU5vbmUpOgorICAgICAgICAgICAgICAgICBtYXA9Tm9uZSwgZW5hYmxlX1NNVFBVVEY4PUZhbHNlLCBkZWNvZGVfZGF0YT1Ob25lKToKICAgICAgICAgYXN5bmNoYXQuYXN5bmNfY2hhdC5fX2luaXRfXyhzZWxmLCBjb25uLCBtYXA9bWFwKQogICAgICAgICBzZWxmLnNtdHBfc2VydmVyID0gc2VydmVyCiAgICAgICAgIHNlbGYuY29ubiA9IGNvbm4KICAgICAgICAgc2VsZi5hZGRyID0gYWRkcgogICAgICAgICBzZWxmLmRhdGFfc2l6ZV9saW1pdCA9IGRhdGFfc2l6ZV9saW1pdAotICAgICAgICBzZWxmLnJlY2VpdmVkX2xpbmVzID0gW10KLSAgICAgICAgc2VsZi5zbXRwX3N0YXRlID0gc2VsZi5DT01NQU5ECisgICAgICAgIHNlbGYuZW5hYmxlX1NNVFBVVEY4ID0gZW5hYmxlX1NNVFBVVEY4CisgICAgICAgIGlmIGVuYWJsZV9TTVRQVVRGODoKKyAgICAgICAgICAgIGlmIGRlY29kZV9kYXRhOgorICAgICAgICAgICAgICAgIFZhbHVlRXJyb3IoImRlY29kZV9kYXRhIGFuZCBlbmFibGVfU01UUFVURjggY2Fubm90IGJlIHNldCB0byIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICIgVHJ1ZSBhdCB0aGUgc2FtZSB0aW1lIikKKyAgICAgICAgICAgIGRlY29kZV9kYXRhID0gRmFsc2UKKyAgICAgICAgaWYgZGVjb2RlX2RhdGEgaXMgTm9uZToKKyAgICAgICAgICAgIHdhcm4oIlRoZSBkZWNvZGVfZGF0YSBkZWZhdWx0IG9mIFRydWUgd2lsbCBjaGFuZ2UgdG8gRmFsc2UgaW4gMy42OyIKKyAgICAgICAgICAgICAgICAgIiBzcGVjaWZ5IGFuIGV4cGxpY2l0IHZhbHVlIGZvciB0aGlzIGtleXdvcmQiLAorICAgICAgICAgICAgICAgICBEZXByZWNhdGlvbldhcm5pbmcsIDIpCisgICAgICAgICAgICBkZWNvZGVfZGF0YSA9IFRydWUKKyAgICAgICAgc2VsZi5fZGVjb2RlX2RhdGEgPSBkZWNvZGVfZGF0YQorICAgICAgICBpZiBkZWNvZGVfZGF0YToKKyAgICAgICAgICAgIHNlbGYuX2VtcHR5c3RyaW5nID0gJycKKyAgICAgICAgICAgIHNlbGYuX2xpbmVzZXAgPSAnXHJcbicKKyAgICAgICAgICAgIHNlbGYuX2RvdHNlcCA9ICcuJworICAgICAgICAgICAgc2VsZi5fbmV3bGluZSA9IE5FV0xJTkUKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuX2VtcHR5c3RyaW5nID0gYicnCisgICAgICAgICAgICBzZWxmLl9saW5lc2VwID0gYidcclxuJworICAgICAgICAgICAgc2VsZi5fZG90c2VwID0gYicuJworICAgICAgICAgICAgc2VsZi5fbmV3bGluZSA9IGInXG4nCisgICAgICAgIHNlbGYuX3NldF9yc2V0X3N0YXRlKCkKICAgICAgICAgc2VsZi5zZWVuX2dyZWV0aW5nID0gJycKLSAgICAgICAgc2VsZi5tYWlsZnJvbSA9IE5vbmUKLSAgICAgICAgc2VsZi5yY3B0dG9zID0gW10KLSAgICAgICAgc2VsZi5yZWNlaXZlZF9kYXRhID0gJycKKyAgICAgICAgc2VsZi5leHRlbmRlZF9zbXRwID0gRmFsc2UKKyAgICAgICAgc2VsZi5jb21tYW5kX3NpemVfbGltaXRzLmNsZWFyKCkKICAgICAgICAgc2VsZi5mcWRuID0gc29ja2V0LmdldGZxZG4oKQotICAgICAgICBzZWxmLm51bV9ieXRlcyA9IDAKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgc2VsZi5wZWVyID0gY29ubi5nZXRwZWVybmFtZSgpCiAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGVycjoKQEAgLTE0Nyw4ICsxNzIsMjIgQEAKICAgICAgICAgICAgIHJldHVybgogICAgICAgICBwcmludCgnUGVlcjonLCByZXByKHNlbGYucGVlciksIGZpbGU9REVCVUdTVFJFQU0pCiAgICAgICAgIHNlbGYucHVzaCgnMjIwICVzICVzJyAlIChzZWxmLmZxZG4sIF9fdmVyc2lvbl9fKSkKKworICAgIGRlZiBfc2V0X3Bvc3RfZGF0YV9zdGF0ZShzZWxmKToKKyAgICAgICAgIiIiUmVzZXQgc3RhdGUgdmFyaWFibGVzIHRvIHRoZWlyIHBvc3QtREFUQSBzdGF0ZS4iIiIKKyAgICAgICAgc2VsZi5zbXRwX3N0YXRlID0gc2VsZi5DT01NQU5ECisgICAgICAgIHNlbGYubWFpbGZyb20gPSBOb25lCisgICAgICAgIHNlbGYucmNwdHRvcyA9IFtdCisgICAgICAgIHNlbGYucmVxdWlyZV9TTVRQVVRGOCA9IEZhbHNlCisgICAgICAgIHNlbGYubnVtX2J5dGVzID0gMAogICAgICAgICBzZWxmLnNldF90ZXJtaW5hdG9yKGInXHJcbicpCi0gICAgICAgIHNlbGYuZXh0ZW5kZWRfc210cCA9IEZhbHNlCisKKyAgICBkZWYgX3NldF9yc2V0X3N0YXRlKHNlbGYpOgorICAgICAgICAiIiJSZXNldCBhbGwgc3RhdGUgdmFyaWFibGVzIGV4Y2VwdCB0aGUgZ3JlZXRpbmcuIiIiCisgICAgICAgIHNlbGYuX3NldF9wb3N0X2RhdGFfc3RhdGUoKQorICAgICAgICBzZWxmLnJlY2VpdmVkX2RhdGEgPSAnJworICAgICAgICBzZWxmLnJlY2VpdmVkX2xpbmVzID0gW10KKwogCiAgICAgIyBwcm9wZXJ0aWVzIGZvciBiYWNrd2FyZHMtY29tcGF0aWJpbGl0eQogICAgIEBwcm9wZXJ0eQpAQCAtMjcyLDkgKzMxMSwxMCBAQAogICAgICAgICAgICAgInNldCAnYWRkcicgaW5zdGVhZCIsIERlcHJlY2F0aW9uV2FybmluZywgMikKICAgICAgICAgc2VsZi5hZGRyID0gdmFsdWUKIAotICAgICMgT3ZlcnJpZGVzIGJhc2UgY2xhc3MgZm9yIGNvbnZlbmllbmNlCisgICAgIyBPdmVycmlkZXMgYmFzZSBjbGFzcyBmb3IgY29udmVuaWVuY2UuCiAgICAgZGVmIHB1c2goc2VsZiwgbXNnKToKLSAgICAgICAgYXN5bmNoYXQuYXN5bmNfY2hhdC5wdXNoKHNlbGYsIGJ5dGVzKG1zZyArICdcclxuJywgJ2FzY2lpJykpCisgICAgICAgIGFzeW5jaGF0LmFzeW5jX2NoYXQucHVzaChzZWxmLCBieXRlcygKKyAgICAgICAgICAgIG1zZyArICdcclxuJywgJ3V0Zi04JyBpZiBzZWxmLnJlcXVpcmVfU01UUFVURjggZWxzZSAnYXNjaWknKSkKIAogICAgICMgSW1wbGVtZW50YXRpb24gb2YgYmFzZSBjbGFzcyBhYnN0cmFjdCBtZXRob2QKICAgICBkZWYgY29sbGVjdF9pbmNvbWluZ19kYXRhKHNlbGYsIGRhdGEpOgpAQCAtMjg3LDExICszMjcsMTQgQEAKICAgICAgICAgICAgIHJldHVybgogICAgICAgICBlbGlmIGxpbWl0OgogICAgICAgICAgICAgc2VsZi5udW1fYnl0ZXMgKz0gbGVuKGRhdGEpCi0gICAgICAgIHNlbGYucmVjZWl2ZWRfbGluZXMuYXBwZW5kKHN0cihkYXRhLCAidXRmLTgiKSkKKyAgICAgICAgaWYgc2VsZi5fZGVjb2RlX2RhdGE6CisgICAgICAgICAgICBzZWxmLnJlY2VpdmVkX2xpbmVzLmFwcGVuZChzdHIoZGF0YSwgJ3V0Zi04JykpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLnJlY2VpdmVkX2xpbmVzLmFwcGVuZChkYXRhKQogCiAgICAgIyBJbXBsZW1lbnRhdGlvbiBvZiBiYXNlIGNsYXNzIGFic3RyYWN0IG1ldGhvZAogICAgIGRlZiBmb3VuZF90ZXJtaW5hdG9yKHNlbGYpOgotICAgICAgICBsaW5lID0gRU1QVFlTVFJJTkcuam9pbihzZWxmLnJlY2VpdmVkX2xpbmVzKQorICAgICAgICBsaW5lID0gc2VsZi5fZW1wdHlzdHJpbmcuam9pbihzZWxmLnJlY2VpdmVkX2xpbmVzKQogICAgICAgICBwcmludCgnRGF0YTonLCByZXByKGxpbmUpLCBmaWxlPURFQlVHU1RSRUFNKQogICAgICAgICBzZWxmLnJlY2VpdmVkX2xpbmVzID0gW10KICAgICAgICAgaWYgc2VsZi5zbXRwX3N0YXRlID09IHNlbGYuQ09NTUFORDoKQEAgLTI5OSw3ICszNDIsOCBAQAogICAgICAgICAgICAgaWYgbm90IGxpbmU6CiAgICAgICAgICAgICAgICAgc2VsZi5wdXNoKCc1MDAgRXJyb3I6IGJhZCBzeW50YXgnKQogICAgICAgICAgICAgICAgIHJldHVybgotICAgICAgICAgICAgbWV0aG9kID0gTm9uZQorICAgICAgICAgICAgaWYgbm90IHNlbGYuX2RlY29kZV9kYXRhOgorICAgICAgICAgICAgICAgIGxpbmUgPSBzdHIobGluZSwgJ3V0Zi04JykKICAgICAgICAgICAgIGkgPSBsaW5lLmZpbmQoJyAnKQogICAgICAgICAgICAgaWYgaSA8IDA6CiAgICAgICAgICAgICAgICAgY29tbWFuZCA9IGxpbmUudXBwZXIoKQpAQCAtMzMwLDIxICszNzQsMTggQEAKICAgICAgICAgICAgICMgUmVtb3ZlIGV4dHJhbmVvdXMgY2FycmlhZ2UgcmV0dXJucyBhbmQgZGUtdHJhbnNwYXJlbmN5IGFjY29yZGluZwogICAgICAgICAgICAgIyB0byBSRkMgNTMyMSwgU2VjdGlvbiA0LjUuMi4KICAgICAgICAgICAgIGRhdGEgPSBbXQotICAgICAgICAgICAgZm9yIHRleHQgaW4gbGluZS5zcGxpdCgnXHJcbicpOgotICAgICAgICAgICAgICAgIGlmIHRleHQgYW5kIHRleHRbMF0gPT0gJy4nOgorICAgICAgICAgICAgZm9yIHRleHQgaW4gbGluZS5zcGxpdChzZWxmLl9saW5lc2VwKToKKyAgICAgICAgICAgICAgICBpZiB0ZXh0IGFuZCB0ZXh0WzBdID09IHNlbGYuX2RvdHNlcDoKICAgICAgICAgICAgICAgICAgICAgZGF0YS5hcHBlbmQodGV4dFsxOl0pCiAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgZGF0YS5hcHBlbmQodGV4dCkKLSAgICAgICAgICAgIHNlbGYucmVjZWl2ZWRfZGF0YSA9IE5FV0xJTkUuam9pbihkYXRhKQotICAgICAgICAgICAgc3RhdHVzID0gc2VsZi5zbXRwX3NlcnZlci5wcm9jZXNzX21lc3NhZ2Uoc2VsZi5wZWVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5tYWlsZnJvbSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYucmNwdHRvcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYucmVjZWl2ZWRfZGF0YSkKLSAgICAgICAgICAgIHNlbGYucmNwdHRvcyA9IFtdCi0gICAgICAgICAgICBzZWxmLm1haWxmcm9tID0gTm9uZQotICAgICAgICAgICAgc2VsZi5zbXRwX3N0YXRlID0gc2VsZi5DT01NQU5ECi0gICAgICAgICAgICBzZWxmLm51bV9ieXRlcyA9IDAKLSAgICAgICAgICAgIHNlbGYuc2V0X3Rlcm1pbmF0b3IoYidcclxuJykKKyAgICAgICAgICAgIHNlbGYucmVjZWl2ZWRfZGF0YSA9IHNlbGYuX25ld2xpbmUuam9pbihkYXRhKQorICAgICAgICAgICAgYXJncyA9IChzZWxmLnBlZXIsIHNlbGYubWFpbGZyb20sIHNlbGYucmNwdHRvcywgc2VsZi5yZWNlaXZlZF9kYXRhKQorICAgICAgICAgICAgaWYgc2VsZi5yZXF1aXJlX1NNVFBVVEY4OgorICAgICAgICAgICAgICAgIHN0YXR1cyA9IHNlbGYuc210cF9zZXJ2ZXIucHJvY2Vzc19zbXRwdXRmOF9tZXNzYWdlKCphcmdzKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBzdGF0dXMgPSBzZWxmLnNtdHBfc2VydmVyLnByb2Nlc3NfbWVzc2FnZSgqYXJncykKKyAgICAgICAgICAgIHNlbGYuX3NldF9wb3N0X2RhdGFfc3RhdGUoKQogICAgICAgICAgICAgaWYgbm90IHN0YXR1czoKICAgICAgICAgICAgICAgICBzZWxmLnB1c2goJzI1MCBPSycpCiAgICAgICAgICAgICBlbHNlOgpAQCAtMzU1LDI2ICszOTYsMzQgQEAKICAgICAgICAgaWYgbm90IGFyZzoKICAgICAgICAgICAgIHNlbGYucHVzaCgnNTAxIFN5bnRheDogSEVMTyBob3N0bmFtZScpCiAgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgIyBTZWUgaXNzdWUgIzIxNzgzIGZvciBhIGRpc2N1c3Npb24gb2YgdGhpcyBiZWhhdmlvci4KICAgICAgICAgaWYgc2VsZi5zZWVuX2dyZWV0aW5nOgogICAgICAgICAgICAgc2VsZi5wdXNoKCc1MDMgRHVwbGljYXRlIEhFTE8vRUhMTycpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLnNlZW5fZ3JlZXRpbmcgPSBhcmcKLSAgICAgICAgICAgIHNlbGYuZXh0ZW5kZWRfc210cCA9IEZhbHNlCi0gICAgICAgICAgICBzZWxmLnB1c2goJzI1MCAlcycgJSBzZWxmLmZxZG4pCisgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgc2VsZi5fc2V0X3JzZXRfc3RhdGUoKQorICAgICAgICBzZWxmLnNlZW5fZ3JlZXRpbmcgPSBhcmcKKyAgICAgICAgc2VsZi5wdXNoKCcyNTAgJXMnICUgc2VsZi5mcWRuKQogCiAgICAgZGVmIHNtdHBfRUhMTyhzZWxmLCBhcmcpOgogICAgICAgICBpZiBub3QgYXJnOgogICAgICAgICAgICAgc2VsZi5wdXNoKCc1MDEgU3ludGF4OiBFSExPIGhvc3RuYW1lJykKICAgICAgICAgICAgIHJldHVybgorICAgICAgICAjIFNlZSBpc3N1ZSAjMjE3ODMgZm9yIGEgZGlzY3Vzc2lvbiBvZiB0aGlzIGJlaGF2aW9yLgogICAgICAgICBpZiBzZWxmLnNlZW5fZ3JlZXRpbmc6CiAgICAgICAgICAgICBzZWxmLnB1c2goJzUwMyBEdXBsaWNhdGUgSEVMTy9FSExPJykKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYuc2Vlbl9ncmVldGluZyA9IGFyZwotICAgICAgICAgICAgc2VsZi5leHRlbmRlZF9zbXRwID0gVHJ1ZQotICAgICAgICAgICAgc2VsZi5wdXNoKCcyNTAtJXMnICUgc2VsZi5mcWRuKQotICAgICAgICAgICAgaWYgc2VsZi5kYXRhX3NpemVfbGltaXQ6Ci0gICAgICAgICAgICAgICAgc2VsZi5wdXNoKCcyNTAtU0laRSAlcycgJSBzZWxmLmRhdGFfc2l6ZV9saW1pdCkKLSAgICAgICAgICAgIHNlbGYucHVzaCgnMjUwIEhFTFAnKQorICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIHNlbGYuX3NldF9yc2V0X3N0YXRlKCkKKyAgICAgICAgc2VsZi5zZWVuX2dyZWV0aW5nID0gYXJnCisgICAgICAgIHNlbGYuZXh0ZW5kZWRfc210cCA9IFRydWUKKyAgICAgICAgc2VsZi5wdXNoKCcyNTAtJXMnICUgc2VsZi5mcWRuKQorICAgICAgICBpZiBzZWxmLmRhdGFfc2l6ZV9saW1pdDoKKyAgICAgICAgICAgIHNlbGYucHVzaCgnMjUwLVNJWkUgJXMnICUgc2VsZi5kYXRhX3NpemVfbGltaXQpCisgICAgICAgICAgICBzZWxmLmNvbW1hbmRfc2l6ZV9saW1pdHNbJ01BSUwnXSArPSAyNgorICAgICAgICBpZiBzZWxmLmVuYWJsZV9TTVRQVVRGODoKKyAgICAgICAgICAgIHNlbGYucHVzaCgnMjUwLThCSVRNSU1FJykKKyAgICAgICAgICAgIHNlbGYucHVzaCgnMjUwLVNNVFBVVEY4JykKKyAgICAgICAgICAgIHNlbGYuY29tbWFuZF9zaXplX2xpbWl0c1snTUFJTCddICs9IDEwCisgICAgICAgIHNlbGYucHVzaCgnMjUwIEhFTFAnKQogCiAgICAgZGVmIHNtdHBfTk9PUChzZWxmLCBhcmcpOgogICAgICAgICBpZiBhcmc6CkBAIC00MDcsOCArNDU2LDggQEAKICAgICBkZWYgX2dldHBhcmFtcyhzZWxmLCBwYXJhbXMpOgogICAgICAgICAjIFJldHVybiBhbnkgcGFyYW1ldGVycyB0aGF0IGFwcGVhciB0byBiZSBzeW50YWN0aWNhbGx5IHZhbGlkIGFjY29yZGluZwogICAgICAgICAjIHRvIFJGQyAxODY5LCBpZ25vcmUgYWxsIG90aGVycy4gIChQb3N0ZWwgcnVsZTogYWNjZXB0IHdoYXQgd2UgY2FuLikKLSAgICAgICAgcGFyYW1zID0gW3BhcmFtLnNwbGl0KCc9JywgMSkgZm9yIHBhcmFtIGluIHBhcmFtcy5zcGxpdCgpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICc9JyBpbiBwYXJhbV0KKyAgICAgICAgcGFyYW1zID0gW3BhcmFtLnNwbGl0KCc9JywgMSkgaWYgJz0nIGluIHBhcmFtIGVsc2UgKHBhcmFtLCBUcnVlKQorICAgICAgICAgICAgICAgICAgZm9yIHBhcmFtIGluIHBhcmFtcy5zcGxpdCgpXQogICAgICAgICByZXR1cm4ge2s6IHYgZm9yIGssIHYgaW4gcGFyYW1zIGlmIGsuaXNhbG51bSgpfQogCiAgICAgZGVmIHNtdHBfSEVMUChzZWxmLCBhcmcpOgpAQCAtNDg2LDYgKzUzNSwxNCBAQAogICAgICAgICBpZiBwYXJhbXMgaXMgTm9uZToKICAgICAgICAgICAgIHNlbGYucHVzaChzeW50YXhlcnIpCiAgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgYm9keSA9IHBhcmFtcy5wb3AoJ0JPRFknLCAnN0JJVCcpCisgICAgICAgIGlmIHNlbGYuZW5hYmxlX1NNVFBVVEY4IGFuZCBwYXJhbXMucG9wKCdTTVRQVVRGOCcsIEZhbHNlKToKKyAgICAgICAgICAgIGlmIGJvZHkgIT0gJzhCSVRNSU1FJzoKKyAgICAgICAgICAgICAgICBzZWxmLnB1c2goJzUwMSBTeW50YXg6IE1BSUwgRlJPTTogPGFkZHJlc3M+JworICAgICAgICAgICAgICAgICAgICAgICAgICAnIFtCT0RZPThCSVRNSU1FIFNNVFBVVEY4XScpCisgICAgICAgICAgICAgICAgcmV0dXJuCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHNlbGYucmVxdWlyZV9TTVRQVVRGOCA9IFRydWUKICAgICAgICAgc2l6ZSA9IHBhcmFtcy5wb3AoJ1NJWkUnLCBOb25lKQogICAgICAgICBpZiBzaXplOgogICAgICAgICAgICAgaWYgbm90IHNpemUuaXNkaWdpdCgpOgpAQCAtNTQ2LDExICs2MDMsNyBAQAogICAgICAgICBpZiBhcmc6CiAgICAgICAgICAgICBzZWxmLnB1c2goJzUwMSBTeW50YXg6IFJTRVQnKQogICAgICAgICAgICAgcmV0dXJuCi0gICAgICAgICMgUmVzZXRzIHRoZSBzZW5kZXIsIHJlY2lwaWVudHMsIGFuZCBkYXRhLCBidXQgbm90IHRoZSBncmVldGluZwotICAgICAgICBzZWxmLm1haWxmcm9tID0gTm9uZQotICAgICAgICBzZWxmLnJjcHR0b3MgPSBbXQotICAgICAgICBzZWxmLnJlY2VpdmVkX2RhdGEgPSAnJwotICAgICAgICBzZWxmLnNtdHBfc3RhdGUgPSBzZWxmLkNPTU1BTkQKKyAgICAgICAgc2VsZi5fc2V0X3JzZXRfc3RhdGUoKQogICAgICAgICBzZWxmLnB1c2goJzI1MCBPSycpCiAKICAgICBkZWYgc210cF9EQVRBKHNlbGYsIGFyZyk6CkBAIC01NzcsMTMgKzYzMCwyOSBAQAogICAgIGNoYW5uZWxfY2xhc3MgPSBTTVRQQ2hhbm5lbAogCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGxvY2FsYWRkciwgcmVtb3RlYWRkciwKLSAgICAgICAgICAgICAgICAgZGF0YV9zaXplX2xpbWl0PURBVEFfU0laRV9ERUZBVUxULCBtYXA9Tm9uZSk6CisgICAgICAgICAgICAgICAgIGRhdGFfc2l6ZV9saW1pdD1EQVRBX1NJWkVfREVGQVVMVCwgbWFwPU5vbmUsCisgICAgICAgICAgICAgICAgIGVuYWJsZV9TTVRQVVRGOD1GYWxzZSwgZGVjb2RlX2RhdGE9Tm9uZSk6CiAgICAgICAgIHNlbGYuX2xvY2FsYWRkciA9IGxvY2FsYWRkcgogICAgICAgICBzZWxmLl9yZW1vdGVhZGRyID0gcmVtb3RlYWRkcgogICAgICAgICBzZWxmLmRhdGFfc2l6ZV9saW1pdCA9IGRhdGFfc2l6ZV9saW1pdAorICAgICAgICBzZWxmLmVuYWJsZV9TTVRQVVRGOCA9IGVuYWJsZV9TTVRQVVRGOAorICAgICAgICBpZiBlbmFibGVfU01UUFVURjg6CisgICAgICAgICAgICBpZiBkZWNvZGVfZGF0YToKKyAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJUaGUgZGVjb2RlX2RhdGEgYW5kIGVuYWJsZV9TTVRQVVRGOCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgcGFyYW1ldGVycyBjYW5ub3QgYmUgc2V0IHRvIFRydWUgYXQgdGhlIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiBzYW1lIHRpbWUuIikKKyAgICAgICAgICAgIGRlY29kZV9kYXRhID0gRmFsc2UKKyAgICAgICAgaWYgZGVjb2RlX2RhdGEgaXMgTm9uZToKKyAgICAgICAgICAgIHdhcm4oIlRoZSBkZWNvZGVfZGF0YSBkZWZhdWx0IG9mIFRydWUgd2lsbCBjaGFuZ2UgdG8gRmFsc2UgaW4gMy42OyIKKyAgICAgICAgICAgICAgICAgIiBzcGVjaWZ5IGFuIGV4cGxpY2l0IHZhbHVlIGZvciB0aGlzIGtleXdvcmQiLAorICAgICAgICAgICAgICAgICBEZXByZWNhdGlvbldhcm5pbmcsIDIpCisgICAgICAgICAgICBkZWNvZGVfZGF0YSA9IFRydWUKKyAgICAgICAgc2VsZi5fZGVjb2RlX2RhdGEgPSBkZWNvZGVfZGF0YQogICAgICAgICBhc3luY29yZS5kaXNwYXRjaGVyLl9faW5pdF9fKHNlbGYsIG1hcD1tYXApCiAgICAgICAgIHRyeToKLSAgICAgICAgICAgIHNlbGYuY3JlYXRlX3NvY2tldChzb2NrZXQuQUZfSU5FVCwgc29ja2V0LlNPQ0tfU1RSRUFNKQorICAgICAgICAgICAgZ2FpX3Jlc3VsdHMgPSBzb2NrZXQuZ2V0YWRkcmluZm8oKmxvY2FsYWRkciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9c29ja2V0LlNPQ0tfU1RSRUFNKQorICAgICAgICAgICAgc2VsZi5jcmVhdGVfc29ja2V0KGdhaV9yZXN1bHRzWzBdWzBdLCBnYWlfcmVzdWx0c1swXVsxXSkKICAgICAgICAgICAgICMgdHJ5IHRvIHJlLXVzZSBhIHNlcnZlciBwb3J0IGlmIHBvc3NpYmxlCiAgICAgICAgICAgICBzZWxmLnNldF9yZXVzZV9hZGRyKCkKICAgICAgICAgICAgIHNlbGYuYmluZChsb2NhbGFkZHIpCkBAIC01OTgsOCArNjY3LDEzIEBACiAKICAgICBkZWYgaGFuZGxlX2FjY2VwdGVkKHNlbGYsIGNvbm4sIGFkZHIpOgogICAgICAgICBwcmludCgnSW5jb21pbmcgY29ubmVjdGlvbiBmcm9tICVzJyAlIHJlcHIoYWRkciksIGZpbGU9REVCVUdTVFJFQU0pCi0gICAgICAgIGNoYW5uZWwgPSBzZWxmLmNoYW5uZWxfY2xhc3Moc2VsZiwgY29ubiwgYWRkciwgc2VsZi5kYXRhX3NpemVfbGltaXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fbWFwKQorICAgICAgICBjaGFubmVsID0gc2VsZi5jaGFubmVsX2NsYXNzKHNlbGYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29ubiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZGF0YV9zaXplX2xpbWl0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX21hcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmVuYWJsZV9TTVRQVVRGOCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9kZWNvZGVfZGF0YSkKIAogICAgICMgQVBJIGZvciAiZG9pbmcgc29tZXRoaW5nIHVzZWZ1bCB3aXRoIHRoZSBtZXNzYWdlIgogICAgIGRlZiBwcm9jZXNzX21lc3NhZ2Uoc2VsZiwgcGVlciwgbWFpbGZyb20sIHJjcHR0b3MsIGRhdGEpOgpAQCAtNjIwLDI5ICs2OTQsNjMgQEAKICAgICAgICAgY29udGFpbmluZyBhIGAuJyBmb2xsb3dlZCBieSBvdGhlciB0ZXh0IGhhcyBoYWQgdGhlIGxlYWRpbmcgZG90CiAgICAgICAgIHJlbW92ZWQuCiAKLSAgICAgICAgVGhpcyBmdW5jdGlvbiBzaG91bGQgcmV0dXJuIE5vbmUsIGZvciBhIG5vcm1hbCBgMjUwIE9rJyByZXNwb25zZTsKLSAgICAgICAgb3RoZXJ3aXNlIGl0IHJldHVybnMgdGhlIGRlc2lyZWQgcmVzcG9uc2Ugc3RyaW5nIGluIFJGQyA4MjEgZm9ybWF0LgorICAgICAgICBUaGlzIGZ1bmN0aW9uIHNob3VsZCByZXR1cm4gTm9uZSBmb3IgYSBub3JtYWwgYDI1MCBPaycgcmVzcG9uc2U7CisgICAgICAgIG90aGVyd2lzZSwgaXQgc2hvdWxkIHJldHVybiB0aGUgZGVzaXJlZCByZXNwb25zZSBzdHJpbmcgaW4gUkZDIDgyMQorICAgICAgICBmb3JtYXQuCisKKyAgICAgICAgIiIiCisgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IKKworICAgICMgQVBJIGZvciBwcm9jZXNzaW5nIG1lc3NlZ2VzIG5lZWRpbmcgVW5pY29kZSBzdXBwb3J0IChSRkMgNjUzMSwgUkZDIDY1MzIpLgorICAgIGRlZiBwcm9jZXNzX3NtdHB1dGY4X21lc3NhZ2Uoc2VsZiwgcGVlciwgbWFpbGZyb20sIHJjcHR0b3MsIGRhdGEpOgorICAgICAgICAiIiJTYW1lIGFzIGBgcHJvY2Vzc19tZXNzYWdlYGAgYnV0IGZvciBtZXNzYWdlcyBmb3Igd2hpY2ggdGhlIGNsaWVudAorICAgICAgICBoYXMgc2VudCB0aGUgU01UUFVURjggcGFyYW1ldGVyIHdpdGggdGhlIE1BSUwgY29tbWFuZCAoc2VlIHRoZQorICAgICAgICBlbmFibGVfU01UUFVURjggcGFyYW1ldGVyIG9mIHRoZSBjb25zdHJ1Y3RvcikuCisKKyAgICAgICAgVGhpcyBmdW5jdGlvbiBzaG91bGQgcmV0dXJuIE5vbmUgZm9yIGEgbm9ybWFsIGAyNTAgT2snIHJlc3BvbnNlOworICAgICAgICBvdGhlcndpc2UsIGl0IHNob3VsZCByZXR1cm4gdGhlIGRlc2lyZWQgcmVzcG9uc2Ugc3RyaW5nIGluIFJGQyA2NTMxCisgICAgICAgIGZvcm1hdC4KIAogICAgICAgICAiIiIKICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcgogCiAKIGNsYXNzIERlYnVnZ2luZ1NlcnZlcihTTVRQU2VydmVyKToKLSAgICAjIERvIHNvbWV0aGluZyB3aXRoIHRoZSBnYXRoZXJlZCBtZXNzYWdlCi0gICAgZGVmIHByb2Nlc3NfbWVzc2FnZShzZWxmLCBwZWVyLCBtYWlsZnJvbSwgcmNwdHRvcywgZGF0YSk6CisKKyAgICBkZWYgX3ByaW50X21lc3NhZ2VfY29udGVudChzZWxmLCBwZWVyLCBkYXRhKToKICAgICAgICAgaW5oZWFkZXJzID0gMQotICAgICAgICBsaW5lcyA9IGRhdGEuc3BsaXQoJ1xuJykKLSAgICAgICAgcHJpbnQoJy0tLS0tLS0tLS0gTUVTU0FHRSBGT0xMT1dTIC0tLS0tLS0tLS0nKQorICAgICAgICBsaW5lcyA9IGRhdGEuc3BsaXRsaW5lcygpCiAgICAgICAgIGZvciBsaW5lIGluIGxpbmVzOgogICAgICAgICAgICAgIyBoZWFkZXJzIGZpcnN0CiAgICAgICAgICAgICBpZiBpbmhlYWRlcnMgYW5kIG5vdCBsaW5lOgotICAgICAgICAgICAgICAgIHByaW50KCdYLVBlZXI6JywgcGVlclswXSkKKyAgICAgICAgICAgICAgICBwZWVyaGVhZGVyID0gJ1gtUGVlcjogJyArIHBlZXJbMF0KKyAgICAgICAgICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShkYXRhLCBzdHIpOgorICAgICAgICAgICAgICAgICAgICAjIGRlY29kZWRfZGF0YT1mYWxzZTsgbWFrZSBoZWFkZXIgbWF0Y2ggb3RoZXIgYmluYXJ5IG91dHB1dAorICAgICAgICAgICAgICAgICAgICBwZWVyaGVhZGVyID0gcmVwcihwZWVyaGVhZGVyLmVuY29kZSgndXRmLTgnKSkKKyAgICAgICAgICAgICAgICBwcmludChwZWVyaGVhZGVyKQogICAgICAgICAgICAgICAgIGluaGVhZGVycyA9IDAKKyAgICAgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGRhdGEsIHN0cik6CisgICAgICAgICAgICAgICAgIyBBdm9pZCBzcHVyaW91cyAnc3RyIG9uIGJ5dGVzIGluc3RhbmNlJyB3YXJuaW5nLgorICAgICAgICAgICAgICAgIGxpbmUgPSByZXByKGxpbmUpCiAgICAgICAgICAgICBwcmludChsaW5lKQorCisgICAgZGVmIHByb2Nlc3NfbWVzc2FnZShzZWxmLCBwZWVyLCBtYWlsZnJvbSwgcmNwdHRvcywgZGF0YSk6CisgICAgICAgIHByaW50KCctLS0tLS0tLS0tIE1FU1NBR0UgRk9MTE9XUyAtLS0tLS0tLS0tJykKKyAgICAgICAgc2VsZi5fcHJpbnRfbWVzc2FnZV9jb250ZW50KHBlZXIsIGRhdGEpCisgICAgICAgIHByaW50KCctLS0tLS0tLS0tLS0gRU5EIE1FU1NBR0UgLS0tLS0tLS0tLS0tJykKKworICAgIGRlZiBwcm9jZXNzX3NtdHB1dGY4X21lc3NhZ2Uoc2VsZiwgcGVlciwgbWFpbGZyb20sIHJjcHR0b3MsIGRhdGEpOgorICAgICAgICBwcmludCgnLS0tLS0gU01UUFVURjggTUVTU0FHRSBGT0xMT1dTIC0tLS0tLScpCisgICAgICAgIHNlbGYuX3ByaW50X21lc3NhZ2VfY29udGVudChwZWVyLCBkYXRhKQogICAgICAgICBwcmludCgnLS0tLS0tLS0tLS0tIEVORCBNRVNTQUdFIC0tLS0tLS0tLS0tLScpCiAKIAogY2xhc3MgUHVyZVByb3h5KFNNVFBTZXJ2ZXIpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICBpZiAnZW5hYmxlX1NNVFBVVEY4JyBpbiBrd2FyZ3MgYW5kIGt3YXJnc1snZW5hYmxlX1NNVFBVVEY4J106CisgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJQdXJlUHJveHkgZG9lcyBub3Qgc3VwcG9ydCBTTVRQVVRGOC4iKQorICAgICAgICBzdXBlcihQdXJlUHJveHksIHNlbGYpLl9faW5pdF9fKCphcmdzLCAqKmt3YXJncykKKwogICAgIGRlZiBwcm9jZXNzX21lc3NhZ2Uoc2VsZiwgcGVlciwgbWFpbGZyb20sIHJjcHR0b3MsIGRhdGEpOgogICAgICAgICBsaW5lcyA9IGRhdGEuc3BsaXQoJ1xuJykKICAgICAgICAgIyBMb29rIGZvciB0aGUgbGFzdCBoZWFkZXIKQEAgLTY4Myw2ICs3OTEsMTEgQEAKIAogCiBjbGFzcyBNYWlsbWFuUHJveHkoUHVyZVByb3h5KToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgaWYgJ2VuYWJsZV9TTVRQVVRGOCcgaW4ga3dhcmdzIGFuZCBrd2FyZ3NbJ2VuYWJsZV9TTVRQVVRGOCddOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiTWFpbG1hblByb3h5IGRvZXMgbm90IHN1cHBvcnQgU01UUFVURjguIikKKyAgICAgICAgc3VwZXIoUHVyZVByb3h5LCBzZWxmKS5fX2luaXRfXygqYXJncywgKiprd2FyZ3MpCisKICAgICBkZWYgcHJvY2Vzc19tZXNzYWdlKHNlbGYsIHBlZXIsIG1haWxmcm9tLCByY3B0dG9zLCBkYXRhKToKICAgICAgICAgZnJvbSBpbyBpbXBvcnQgU3RyaW5nSU8KICAgICAgICAgZnJvbSBNYWlsbWFuIGltcG9ydCBVdGlscwpAQCAtNzYxLDE3ICs4NzQsMTkgQEAKIAogCiBjbGFzcyBPcHRpb25zOgotICAgIHNldHVpZCA9IDEKKyAgICBzZXR1aWQgPSBUcnVlCiAgICAgY2xhc3NuYW1lID0gJ1B1cmVQcm94eScKICAgICBzaXplX2xpbWl0ID0gTm9uZQorICAgIGVuYWJsZV9TTVRQVVRGOCA9IEZhbHNlCiAKIAogZGVmIHBhcnNlYXJncygpOgogICAgIGdsb2JhbCBERUJVR1NUUkVBTQogICAgIHRyeToKICAgICAgICAgb3B0cywgYXJncyA9IGdldG9wdC5nZXRvcHQoCi0gICAgICAgICAgICBzeXMuYXJndlsxOl0sICduVmhjOnM6ZCcsCi0gICAgICAgICAgICBbJ2NsYXNzPScsICdub3NldHVpZCcsICd2ZXJzaW9uJywgJ2hlbHAnLCAnc2l6ZT0nLCAnZGVidWcnXSkKKyAgICAgICAgICAgIHN5cy5hcmd2WzE6XSwgJ25WaGM6czpkdScsCisgICAgICAgICAgICBbJ2NsYXNzPScsICdub3NldHVpZCcsICd2ZXJzaW9uJywgJ2hlbHAnLCAnc2l6ZT0nLCAnZGVidWcnLAorICAgICAgICAgICAgICdzbXRwdXRmOCddKQogICAgIGV4Y2VwdCBnZXRvcHQuZXJyb3IgYXMgZToKICAgICAgICAgdXNhZ2UoMSwgZSkKIApAQCAtNzgzLDExICs4OTgsMTMgQEAKICAgICAgICAgICAgIHByaW50KF9fdmVyc2lvbl9fKQogICAgICAgICAgICAgc3lzLmV4aXQoMCkKICAgICAgICAgZWxpZiBvcHQgaW4gKCctbicsICctLW5vc2V0dWlkJyk6Ci0gICAgICAgICAgICBvcHRpb25zLnNldHVpZCA9IDAKKyAgICAgICAgICAgIG9wdGlvbnMuc2V0dWlkID0gRmFsc2UKICAgICAgICAgZWxpZiBvcHQgaW4gKCctYycsICctLWNsYXNzJyk6CiAgICAgICAgICAgICBvcHRpb25zLmNsYXNzbmFtZSA9IGFyZwogICAgICAgICBlbGlmIG9wdCBpbiAoJy1kJywgJy0tZGVidWcnKToKICAgICAgICAgICAgIERFQlVHU1RSRUFNID0gc3lzLnN0ZGVycgorICAgICAgICBlbGlmIG9wdCBpbiAoJy11JywgJy0tc210cHV0ZjgnKToKKyAgICAgICAgICAgIG9wdGlvbnMuZW5hYmxlX1NNVFBVVEY4ID0gVHJ1ZQogICAgICAgICBlbGlmIG9wdCBpbiAoJy1zJywgJy0tc2l6ZScpOgogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIGludF9zaXplID0gaW50KGFyZykKQEAgLTg0Miw3ICs5NTksNyBAQAogICAgIGNsYXNzXyA9IGdldGF0dHIobW9kLCBjbGFzc25hbWUpCiAgICAgcHJveHkgPSBjbGFzc18oKG9wdGlvbnMubG9jYWxob3N0LCBvcHRpb25zLmxvY2FscG9ydCksCiAgICAgICAgICAgICAgICAgICAgKG9wdGlvbnMucmVtb3RlaG9zdCwgb3B0aW9ucy5yZW1vdGVwb3J0KSwKLSAgICAgICAgICAgICAgICAgICBvcHRpb25zLnNpemVfbGltaXQpCisgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5zaXplX2xpbWl0LCBlbmFibGVfU01UUFVURjg9b3B0aW9ucy5lbmFibGVfU01UUFVURjgpCiAgICAgaWYgb3B0aW9ucy5zZXR1aWQ6CiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGltcG9ydCBwd2QKZGlmZiAtLWdpdCBhL0xpYi9zbXRwbGliLnB5IGIvTGliL3NtdHBsaWIucHkKaW5kZXggZmE3ZjllNi4uMzI3YTQ1NCAxMDA3NTUKLS0tIGEvTGliL3NtdHBsaWIucHkKKysrIGIvTGliL3NtdHBsaWIucHkKQEAgLTU3MSwxMiArNTcxLDYwIEBACiAgICAgICAgICAgICAgICAgaWYgbm90ICgyMDAgPD0gY29kZSA8PSAyOTkpOgogICAgICAgICAgICAgICAgICAgICByYWlzZSBTTVRQSGVsb0Vycm9yKGNvZGUsIHJlc3ApCiAKKyAgICBkZWYgYXV0aChzZWxmLCBtZWNoYW5pc20sIGF1dGhvYmplY3QpOgorICAgICAgICAiIiJBdXRoZW50aWNhdGlvbiBjb21tYW5kIC0gcmVxdWlyZXMgcmVzcG9uc2UgcHJvY2Vzc2luZy4KKworICAgICAgICAnbWVjaGFuaXNtJyBzcGVjaWZpZXMgd2hpY2ggYXV0aGVudGljYXRpb24gbWVjaGFuaXNtIGlzIHRvCisgICAgICAgIGJlIHVzZWQgLSB0aGUgdmFsaWQgdmFsdWVzIGFyZSB0aG9zZSBsaXN0ZWQgaW4gdGhlICdhdXRoJworICAgICAgICBlbGVtZW50IG9mICdlc210cF9mZWF0dXJlcycuCisKKyAgICAgICAgJ2F1dGhvYmplY3QnIG11c3QgYmUgYSBjYWxsYWJsZSBvYmplY3QgdGFraW5nIGEgc2luZ2xlIGFyZ3VtZW50OgorCisgICAgICAgICAgICAgICAgZGF0YSA9IGF1dGhvYmplY3QoY2hhbGxlbmdlKQorCisgICAgICAgIEl0IHdpbGwgYmUgY2FsbGVkIHRvIHByb2Nlc3MgdGhlIHNlcnZlcidzIGNoYWxsZW5nZSByZXNwb25zZTsgdGhlCisgICAgICAgIGNoYWxsZW5nZSBhcmd1bWVudCBpdCBpcyBwYXNzZWQgd2lsbCBiZSBhIGJ5dGVzLiAgSXQgc2hvdWxkIHJldHVybgorICAgICAgICBieXRlcyBkYXRhIHRoYXQgd2lsbCBiZSBiYXNlNjQgZW5jb2RlZCBhbmQgc2VudCB0byB0aGUgc2VydmVyLgorICAgICAgICAiIiIKKworICAgICAgICBtZWNoYW5pc20gPSBtZWNoYW5pc20udXBwZXIoKQorICAgICAgICAoY29kZSwgcmVzcCkgPSBzZWxmLmRvY21kKCJBVVRIIiwgbWVjaGFuaXNtKQorICAgICAgICAjIFNlcnZlciByZXBsaWVzIHdpdGggMzM0IChjaGFsbGVuZ2UpIG9yIDUzNSAobm90IHN1cHBvcnRlZCkKKyAgICAgICAgaWYgY29kZSA9PSAzMzQ6CisgICAgICAgICAgICBjaGFsbGVuZ2UgPSBiYXNlNjQuZGVjb2RlYnl0ZXMocmVzcCkKKyAgICAgICAgICAgIHJlc3BvbnNlID0gZW5jb2RlX2Jhc2U2NCgKKyAgICAgICAgICAgICAgICBhdXRob2JqZWN0KGNoYWxsZW5nZSkuZW5jb2RlKCdhc2NpaScpLCBlb2w9JycpCisgICAgICAgICAgICAoY29kZSwgcmVzcCkgPSBzZWxmLmRvY21kKHJlc3BvbnNlKQorICAgICAgICAgICAgaWYgY29kZSBpbiAoMjM1LCA1MDMpOgorICAgICAgICAgICAgICAgIHJldHVybiAoY29kZSwgcmVzcCkKKyAgICAgICAgcmFpc2UgU01UUEF1dGhlbnRpY2F0aW9uRXJyb3IoY29kZSwgcmVzcCkKKworICAgIGRlZiBhdXRoX2NyYW1fbWQ1KHNlbGYsIGNoYWxsZW5nZSk6CisgICAgICAgICIiIiBBdXRob2JqZWN0IHRvIHVzZSB3aXRoIENSQU0tTUQ1IGF1dGhlbnRpY2F0aW9uLiBSZXF1aXJlcyBzZWxmLnVzZXIKKyAgICAgICAgYW5kIHNlbGYucGFzc3dvcmQgdG8gYmUgc2V0LiIiIgorICAgICAgICByZXR1cm4gc2VsZi51c2VyICsgIiAiICsgaG1hYy5ITUFDKAorICAgICAgICAgICAgc2VsZi5wYXNzd29yZC5lbmNvZGUoJ2FzY2lpJyksIGNoYWxsZW5nZSwgJ21kNScpLmhleGRpZ2VzdCgpCisKKyAgICBkZWYgYXV0aF9wbGFpbihzZWxmLCBjaGFsbGVuZ2UpOgorICAgICAgICAiIiIgQXV0aG9iamVjdCB0byB1c2Ugd2l0aCBQTEFJTiBhdXRoZW50aWNhdGlvbi4gUmVxdWlyZXMgc2VsZi51c2VyIGFuZAorICAgICAgICBzZWxmLnBhc3N3b3JkIHRvIGJlIHNldC4iIiIKKyAgICAgICAgcmV0dXJuICJcMCVzXDAlcyIgJSAoc2VsZi51c2VyLCBzZWxmLnBhc3N3b3JkKQorCisgICAgZGVmIGF1dGhfbG9naW4oc2VsZiwgY2hhbGxlbmdlKToKKyAgICAgICAgIiIiIEF1dGhvYmplY3QgdG8gdXNlIHdpdGggTE9HSU4gYXV0aGVudGljYXRpb24uIFJlcXVpcmVzIHNlbGYudXNlciBhbmQKKyAgICAgICAgc2VsZi5wYXNzd29yZCB0byBiZSBzZXQuIiIiCisgICAgICAgIChjb2RlLCByZXNwKSA9IHNlbGYuZG9jbWQoCisgICAgICAgICAgICBlbmNvZGVfYmFzZTY0KHNlbGYudXNlci5lbmNvZGUoJ2FzY2lpJyksIGVvbD0nJykpCisgICAgICAgIGlmIGNvZGUgPT0gMzM0OgorICAgICAgICAgICAgcmV0dXJuIHNlbGYucGFzc3dvcmQKKyAgICAgICAgcmFpc2UgU01UUEF1dGhlbnRpY2F0aW9uRXJyb3IoY29kZSwgcmVzcCkKKwogICAgIGRlZiBsb2dpbihzZWxmLCB1c2VyLCBwYXNzd29yZCk6CiAgICAgICAgICIiIkxvZyBpbiBvbiBhbiBTTVRQIHNlcnZlciB0aGF0IHJlcXVpcmVzIGF1dGhlbnRpY2F0aW9uLgogCiAgICAgICAgIFRoZSBhcmd1bWVudHMgYXJlOgotICAgICAgICAgICAgLSB1c2VyOiAgICAgVGhlIHVzZXIgbmFtZSB0byBhdXRoZW50aWNhdGUgd2l0aC4KLSAgICAgICAgICAgIC0gcGFzc3dvcmQ6IFRoZSBwYXNzd29yZCBmb3IgdGhlIGF1dGhlbnRpY2F0aW9uLgorICAgICAgICAgICAgLSB1c2VyOiAgICAgICAgIFRoZSB1c2VyIG5hbWUgdG8gYXV0aGVudGljYXRlIHdpdGguCisgICAgICAgICAgICAtIHBhc3N3b3JkOiAgICAgVGhlIHBhc3N3b3JkIGZvciB0aGUgYXV0aGVudGljYXRpb24uCiAKICAgICAgICAgSWYgdGhlcmUgaGFzIGJlZW4gbm8gcHJldmlvdXMgRUhMTyBvciBIRUxPIGNvbW1hbmQgdGhpcyBzZXNzaW9uLCB0aGlzCiAgICAgICAgIG1ldGhvZCB0cmllcyBFU01UUCBFSExPIGZpcnN0LgpAQCAtNTkzLDYzICs2NDEsNDAgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3VuZC4KICAgICAgICAgIiIiCiAKLSAgICAgICAgZGVmIGVuY29kZV9jcmFtX21kNShjaGFsbGVuZ2UsIHVzZXIsIHBhc3N3b3JkKToKLSAgICAgICAgICAgIGNoYWxsZW5nZSA9IGJhc2U2NC5kZWNvZGVieXRlcyhjaGFsbGVuZ2UpCi0gICAgICAgICAgICByZXNwb25zZSA9IHVzZXIgKyAiICIgKyBobWFjLkhNQUMocGFzc3dvcmQuZW5jb2RlKCdhc2NpaScpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYWxsZW5nZSwgJ21kNScpLmhleGRpZ2VzdCgpCi0gICAgICAgICAgICByZXR1cm4gZW5jb2RlX2Jhc2U2NChyZXNwb25zZS5lbmNvZGUoJ2FzY2lpJyksIGVvbD0nJykKLQotICAgICAgICBkZWYgZW5jb2RlX3BsYWluKHVzZXIsIHBhc3N3b3JkKToKLSAgICAgICAgICAgIHMgPSAiXDAlc1wwJXMiICUgKHVzZXIsIHBhc3N3b3JkKQotICAgICAgICAgICAgcmV0dXJuIGVuY29kZV9iYXNlNjQocy5lbmNvZGUoJ2FzY2lpJyksIGVvbD0nJykKLQotICAgICAgICBBVVRIX1BMQUlOID0gIlBMQUlOIgotICAgICAgICBBVVRIX0NSQU1fTUQ1ID0gIkNSQU0tTUQ1IgotICAgICAgICBBVVRIX0xPR0lOID0gIkxPR0lOIgotCiAgICAgICAgIHNlbGYuZWhsb19vcl9oZWxvX2lmX25lZWRlZCgpCi0KICAgICAgICAgaWYgbm90IHNlbGYuaGFzX2V4dG4oImF1dGgiKToKICAgICAgICAgICAgIHJhaXNlIFNNVFBFeGNlcHRpb24oIlNNVFAgQVVUSCBleHRlbnNpb24gbm90IHN1cHBvcnRlZCBieSBzZXJ2ZXIuIikKIAogICAgICAgICAjIEF1dGhlbnRpY2F0aW9uIG1ldGhvZHMgdGhlIHNlcnZlciBjbGFpbXMgdG8gc3VwcG9ydAogICAgICAgICBhZHZlcnRpc2VkX2F1dGhsaXN0ID0gc2VsZi5lc210cF9mZWF0dXJlc1siYXV0aCJdLnNwbGl0KCkKIAotICAgICAgICAjIExpc3Qgb2YgYXV0aGVudGljYXRpb24gbWV0aG9kcyB3ZSBzdXBwb3J0OiBmcm9tIHByZWZlcnJlZCB0bwotICAgICAgICAjIGxlc3MgcHJlZmVycmVkIG1ldGhvZHMuIEV4Y2VwdCBmb3IgdGhlIHB1cnBvc2Ugb2YgdGVzdGluZyB0aGUgd2Vha2VyCi0gICAgICAgICMgb25lcywgd2UgcHJlZmVyIHN0cm9uZ2VyIG1ldGhvZHMgbGlrZSBDUkFNLU1ENToKLSAgICAgICAgcHJlZmVycmVkX2F1dGhzID0gW0FVVEhfQ1JBTV9NRDUsIEFVVEhfUExBSU4sIEFVVEhfTE9HSU5dCisgICAgICAgICMgQXV0aGVudGljYXRpb24gbWV0aG9kcyB3ZSBjYW4gaGFuZGxlIGluIG91ciBwcmVmZXJyZWQgb3JkZXI6CisgICAgICAgIHByZWZlcnJlZF9hdXRocyA9IFsnQ1JBTS1NRDUnLCAnUExBSU4nLCAnTE9HSU4nXQogCi0gICAgICAgICMgV2UgdHJ5IHRoZSBhdXRoZW50aWNhdGlvbiBtZXRob2RzIHRoZSBzZXJ2ZXIgYWR2ZXJ0aXNlcywgYnV0IG9ubHkgdGhlCi0gICAgICAgICMgb25lcyAqd2UqIHN1cHBvcnQuIEFuZCBpbiBvdXIgcHJlZmVycmVkIG9yZGVyLgotICAgICAgICBhdXRobGlzdCA9IFthdXRoIGZvciBhdXRoIGluIHByZWZlcnJlZF9hdXRocyBpZiBhdXRoIGluIGFkdmVydGlzZWRfYXV0aGxpc3RdCisgICAgICAgICMgV2UgdHJ5IHRoZSBzdXBwb3J0ZWQgYXV0aGVudGljYXRpb25zIGluIG91ciBwcmVmZXJyZWQgb3JkZXIsIGlmCisgICAgICAgICMgdGhlIHNlcnZlciBzdXBwb3J0cyB0aGVtLgorICAgICAgICBhdXRobGlzdCA9IFthdXRoIGZvciBhdXRoIGluIHByZWZlcnJlZF9hdXRocworICAgICAgICAgICAgICAgICAgICBpZiBhdXRoIGluIGFkdmVydGlzZWRfYXV0aGxpc3RdCiAgICAgICAgIGlmIG5vdCBhdXRobGlzdDoKICAgICAgICAgICAgIHJhaXNlIFNNVFBFeGNlcHRpb24oIk5vIHN1aXRhYmxlIGF1dGhlbnRpY2F0aW9uIG1ldGhvZCBmb3VuZC4iKQogCiAgICAgICAgICMgU29tZSBzZXJ2ZXJzIGFkdmVydGlzZSBhdXRoZW50aWNhdGlvbiBtZXRob2RzIHRoZXkgZG9uJ3QgcmVhbGx5CiAgICAgICAgICMgc3VwcG9ydCwgc28gaWYgYXV0aGVudGljYXRpb24gZmFpbHMsIHdlIGNvbnRpbnVlIHVudGlsIHdlJ3ZlIHRyaWVkCiAgICAgICAgICMgYWxsIG1ldGhvZHMuCisgICAgICAgIHNlbGYudXNlciwgc2VsZi5wYXNzd29yZCA9IHVzZXIsIHBhc3N3b3JkCiAgICAgICAgIGZvciBhdXRobWV0aG9kIGluIGF1dGhsaXN0OgotICAgICAgICAgICAgaWYgYXV0aG1ldGhvZCA9PSBBVVRIX0NSQU1fTUQ1OgotICAgICAgICAgICAgICAgIChjb2RlLCByZXNwKSA9IHNlbGYuZG9jbWQoIkFVVEgiLCBBVVRIX0NSQU1fTUQ1KQotICAgICAgICAgICAgICAgIGlmIGNvZGUgPT0gMzM0OgotICAgICAgICAgICAgICAgICAgICAoY29kZSwgcmVzcCkgPSBzZWxmLmRvY21kKGVuY29kZV9jcmFtX21kNShyZXNwLCB1c2VyLCBwYXNzd29yZCkpCi0gICAgICAgICAgICBlbGlmIGF1dGhtZXRob2QgPT0gQVVUSF9QTEFJTjoKLSAgICAgICAgICAgICAgICAoY29kZSwgcmVzcCkgPSBzZWxmLmRvY21kKCJBVVRIIiwKLSAgICAgICAgICAgICAgICAgICAgQVVUSF9QTEFJTiArICIgIiArIGVuY29kZV9wbGFpbih1c2VyLCBwYXNzd29yZCkpCi0gICAgICAgICAgICBlbGlmIGF1dGhtZXRob2QgPT0gQVVUSF9MT0dJTjoKLSAgICAgICAgICAgICAgICAoY29kZSwgcmVzcCkgPSBzZWxmLmRvY21kKCJBVVRIIiwKLSAgICAgICAgICAgICAgICAgICAgIiVzICVzIiAlIChBVVRIX0xPR0lOLCBlbmNvZGVfYmFzZTY0KHVzZXIuZW5jb2RlKCdhc2NpaScpLCBlb2w9JycpKSkKLSAgICAgICAgICAgICAgICBpZiBjb2RlID09IDMzNDoKLSAgICAgICAgICAgICAgICAgICAgKGNvZGUsIHJlc3ApID0gc2VsZi5kb2NtZChlbmNvZGVfYmFzZTY0KHBhc3N3b3JkLmVuY29kZSgnYXNjaWknKSwgZW9sPScnKSkKKyAgICAgICAgICAgIG1ldGhvZF9uYW1lID0gJ2F1dGhfJyArIGF1dGhtZXRob2QubG93ZXIoKS5yZXBsYWNlKCctJywgJ18nKQorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIChjb2RlLCByZXNwKSA9IHNlbGYuYXV0aChhdXRobWV0aG9kLCBnZXRhdHRyKHNlbGYsIG1ldGhvZF9uYW1lKSkKKyAgICAgICAgICAgICAgICAjIDIzNSA9PSAnQXV0aGVudGljYXRpb24gc3VjY2Vzc2Z1bCcKKyAgICAgICAgICAgICAgICAjIDUwMyA9PSAnRXJyb3I6IGFscmVhZHkgYXV0aGVudGljYXRlZCcKKyAgICAgICAgICAgICAgICBpZiBjb2RlIGluICgyMzUsIDUwMyk6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiAoY29kZSwgcmVzcCkKKyAgICAgICAgICAgIGV4Y2VwdCBTTVRQQXV0aGVudGljYXRpb25FcnJvciBhcyBlOgorICAgICAgICAgICAgICAgIGxhc3RfZXhjZXB0aW9uID0gZQogCi0gICAgICAgICAgICAjIDIzNSA9PSAnQXV0aGVudGljYXRpb24gc3VjY2Vzc2Z1bCcKLSAgICAgICAgICAgICMgNTAzID09ICdFcnJvcjogYWxyZWFkeSBhdXRoZW50aWNhdGVkJwotICAgICAgICAgICAgaWYgY29kZSBpbiAoMjM1LCA1MDMpOgotICAgICAgICAgICAgICAgIHJldHVybiAoY29kZSwgcmVzcCkKLQotICAgICAgICAjIFdlIGNvdWxkIG5vdCBsb2dpbiBzdWNlc3NmdWxseS4gUmV0dXJuIHJlc3VsdCBvZiBsYXN0IGF0dGVtcHQuCi0gICAgICAgIHJhaXNlIFNNVFBBdXRoZW50aWNhdGlvbkVycm9yKGNvZGUsIHJlc3ApCisgICAgICAgICMgV2UgY291bGQgbm90IGxvZ2luIHN1Y2Nlc3NmdWxseS4gIFJldHVybiByZXN1bHQgb2YgbGFzdCBhdHRlbXB0LgorICAgICAgICByYWlzZSBsYXN0X2V4Y2VwdGlvbgogCiAgICAgZGVmIHN0YXJ0dGxzKHNlbGYsIGtleWZpbGU9Tm9uZSwgY2VydGZpbGU9Tm9uZSwgY29udGV4dD1Ob25lKToKICAgICAgICAgIiIiUHV0cyB0aGUgY29ubmVjdGlvbiB0byB0aGUgU01UUCBzZXJ2ZXIgaW50byBUTFMgbW9kZS4KZGlmZiAtLWdpdCBhL0xpYi9zbmRoZHIucHkgYi9MaWIvc25kaGRyLnB5CmluZGV4IDI0MGU1MDcuLmU1OTAxZWMgMTAwNjQ0Ci0tLSBhL0xpYi9zbmRoZHIucHkKKysrIGIvTGliL3NuZGhkci5weQpAQCAtMzIsNiArMzIsMTEgQEAKIAogX19hbGxfXyA9IFsnd2hhdCcsICd3aGF0aGRyJ10KIAorZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgbmFtZWR0dXBsZQorCitTbmRIZWFkZXJzID0gbmFtZWR0dXBsZSgnU25kSGVhZGVycycsCisgICAgICAgICAgICAgICAgICAgICAgICAnZmlsZXR5cGUgZnJhbWVyYXRlIG5jaGFubmVscyBuZnJhbWVzIHNhbXB3aWR0aCcpCisKIGRlZiB3aGF0KGZpbGVuYW1lKToKICAgICAiIiJHdWVzcyB0aGUgdHlwZSBvZiBhIHNvdW5kIGZpbGUuIiIiCiAgICAgcmVzID0gd2hhdGhkcihmaWxlbmFtZSkKQEAgLTQ1LDcgKzUwLDcgQEAKICAgICAgICAgZm9yIHRmIGluIHRlc3RzOgogICAgICAgICAgICAgcmVzID0gdGYoaCwgZikKICAgICAgICAgICAgIGlmIHJlczoKLSAgICAgICAgICAgICAgICByZXR1cm4gcmVzCisgICAgICAgICAgICAgICAgcmV0dXJuIFNuZEhlYWRlcnMoKnJlcykKICAgICAgICAgcmV0dXJuIE5vbmUKIAogCmRpZmYgLS1naXQgYS9MaWIvc29ja2V0LnB5IGIvTGliL3NvY2tldC5weQppbmRleCA4ZWZkNzYwLi45YzM5YzY5IDEwMDY0NAotLS0gYS9MaWIvc29ja2V0LnB5CisrKyBiL0xpYi9zb2NrZXQucHkKQEAgLTQ5LDcgKzQ5LDcgQEAKIGltcG9ydCBfc29ja2V0CiBmcm9tIF9zb2NrZXQgaW1wb3J0ICoKIAotaW1wb3J0IG9zLCBzeXMsIGlvCitpbXBvcnQgb3MsIHN5cywgaW8sIHNlbGVjdG9ycwogZnJvbSBlbnVtIGltcG9ydCBJbnRFbnVtCiAKIHRyeToKQEAgLTc5LDYgKzc5LDExIEBACiAgICAgICAgICAgICAgICAgICAgICAgaWYgbmFtZS5pc3VwcGVyKCkgYW5kIG5hbWUuc3RhcnRzd2l0aCgnU09DS18nKX0pCiBnbG9iYWxzKCkudXBkYXRlKFNvY2tldEtpbmQuX19tZW1iZXJzX18pCiAKKworX0xPQ0FMSE9TVCAgICA9ICcxMjcuMC4wLjEnCitfTE9DQUxIT1NUX1Y2ID0gJzo6MScKKworCiBkZWYgX2ludGVudW1fY29udmVydGVyKHZhbHVlLCBlbnVtX2tsYXNzKToKICAgICAiIiJDb252ZXJ0IGEgbnVtZXJpYyBmYW1pbHkgdmFsdWUgdG8gYW4gSW50RW51bSBtZW1iZXIuCiAKQEAgLTExMiw2ICsxMTcsOSBAQAogICAgIF9fYWxsX18uYXBwZW5kKCJlcnJvclRhYiIpCiAKIAorY2xhc3MgX0dpdmV1cE9uU2VuZGZpbGUoRXhjZXB0aW9uKTogcGFzcworCisKIGNsYXNzIHNvY2tldChfc29ja2V0LnNvY2tldCk6CiAKICAgICAiIiJBIHN1YmNsYXNzIG9mIF9zb2NrZXQuc29ja2V0IGFkZGluZyB0aGUgbWFrZWZpbGUoKSBtZXRob2QuIiIiCkBAIC0xNDEsNyArMTQ5LDcgQEAKICAgICAgICAgY2xvc2VkID0gZ2V0YXR0cihzZWxmLCAnX2Nsb3NlZCcsIEZhbHNlKQogICAgICAgICBzID0gIjwlcy4lcyVzIGZkPSVpLCBmYW1pbHk9JXMsIHR5cGU9JXMsIHByb3RvPSVpIiBcCiAgICAgICAgICAgICAlIChzZWxmLl9fY2xhc3NfXy5fX21vZHVsZV9fLAotICAgICAgICAgICAgICAgc2VsZi5fX2NsYXNzX18uX19uYW1lX18sCisgICAgICAgICAgICAgICBzZWxmLl9fY2xhc3NfXy5fX3F1YWxuYW1lX18sCiAgICAgICAgICAgICAgICAiIFtjbG9zZWRdIiBpZiBjbG9zZWQgZWxzZSAiIiwKICAgICAgICAgICAgICAgIHNlbGYuZmlsZW5vKCksCiAgICAgICAgICAgICAgICBzZWxmLmZhbWlseSwKQEAgLTIzNSw2ICsyNDMsMTQ5IEBACiAgICAgICAgIHRleHQubW9kZSA9IG1vZGUKICAgICAgICAgcmV0dXJuIHRleHQKIAorICAgIGlmIGhhc2F0dHIob3MsICdzZW5kZmlsZScpOgorCisgICAgICAgIGRlZiBfc2VuZGZpbGVfdXNlX3NlbmRmaWxlKHNlbGYsIGZpbGUsIG9mZnNldD0wLCBjb3VudD1Ob25lKToKKyAgICAgICAgICAgIHNlbGYuX2NoZWNrX3NlbmRmaWxlX3BhcmFtcyhmaWxlLCBvZmZzZXQsIGNvdW50KQorICAgICAgICAgICAgc29ja25vID0gc2VsZi5maWxlbm8oKQorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIGZpbGVubyA9IGZpbGUuZmlsZW5vKCkKKyAgICAgICAgICAgIGV4Y2VwdCAoQXR0cmlidXRlRXJyb3IsIGlvLlVuc3VwcG9ydGVkT3BlcmF0aW9uKSBhcyBlcnI6CisgICAgICAgICAgICAgICAgcmFpc2UgX0dpdmV1cE9uU2VuZGZpbGUoZXJyKSAgIyBub3QgYSByZWd1bGFyIGZpbGUKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBmc2l6ZSA9IG9zLmZzdGF0KGZpbGVubykuc3Rfc2l6ZQorICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3I6CisgICAgICAgICAgICAgICAgcmFpc2UgX0dpdmV1cE9uU2VuZGZpbGUoZXJyKSAgIyBub3QgYSByZWd1bGFyIGZpbGUKKyAgICAgICAgICAgIGlmIG5vdCBmc2l6ZToKKyAgICAgICAgICAgICAgICByZXR1cm4gMCAgIyBlbXB0eSBmaWxlCisgICAgICAgICAgICBibG9ja3NpemUgPSBmc2l6ZSBpZiBub3QgY291bnQgZWxzZSBjb3VudAorCisgICAgICAgICAgICB0aW1lb3V0ID0gc2VsZi5nZXR0aW1lb3V0KCkKKyAgICAgICAgICAgIGlmIHRpbWVvdXQgPT0gMDoKKyAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJub24tYmxvY2tpbmcgc29ja2V0cyBhcmUgbm90IHN1cHBvcnRlZCIpCisgICAgICAgICAgICAjIHBvbGwvc2VsZWN0IGhhdmUgdGhlIGFkdmFudGFnZSBvZiBub3QgcmVxdWlyaW5nIGFueQorICAgICAgICAgICAgIyBleHRyYSBmaWxlIGRlc2NyaXB0b3IsIGNvbnRyYXJpbHkgdG8gZXBvbGwva3F1ZXVlCisgICAgICAgICAgICAjIChhbHNvLCB0aGV5IHJlcXVpcmUgYSBzaW5nbGUgc3lzY2FsbCkuCisgICAgICAgICAgICBpZiBoYXNhdHRyKHNlbGVjdG9ycywgJ1BvbGxTZWxlY3RvcicpOgorICAgICAgICAgICAgICAgIHNlbGVjdG9yID0gc2VsZWN0b3JzLlBvbGxTZWxlY3RvcigpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHNlbGVjdG9yID0gc2VsZWN0b3JzLlNlbGVjdFNlbGVjdG9yKCkKKyAgICAgICAgICAgIHNlbGVjdG9yLnJlZ2lzdGVyKHNvY2tubywgc2VsZWN0b3JzLkVWRU5UX1dSSVRFKQorCisgICAgICAgICAgICB0b3RhbF9zZW50ID0gMAorICAgICAgICAgICAgIyBsb2NhbGl6ZSB2YXJpYWJsZSBhY2Nlc3MgdG8gbWluaW1pemUgb3ZlcmhlYWQKKyAgICAgICAgICAgIHNlbGVjdG9yX3NlbGVjdCA9IHNlbGVjdG9yLnNlbGVjdAorICAgICAgICAgICAgb3Nfc2VuZGZpbGUgPSBvcy5zZW5kZmlsZQorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICAgICAgICAgIGlmIHRpbWVvdXQgYW5kIG5vdCBzZWxlY3Rvcl9zZWxlY3QodGltZW91dCk6CisgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBfc29ja2V0LnRpbWVvdXQoJ3RpbWVkIG91dCcpCisgICAgICAgICAgICAgICAgICAgIGlmIGNvdW50OgorICAgICAgICAgICAgICAgICAgICAgICAgYmxvY2tzaXplID0gY291bnQgLSB0b3RhbF9zZW50CisgICAgICAgICAgICAgICAgICAgICAgICBpZiBibG9ja3NpemUgPD0gMDoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgICAgICBzZW50ID0gb3Nfc2VuZGZpbGUoc29ja25vLCBmaWxlbm8sIG9mZnNldCwgYmxvY2tzaXplKQorICAgICAgICAgICAgICAgICAgICBleGNlcHQgQmxvY2tpbmdJT0Vycm9yOgorICAgICAgICAgICAgICAgICAgICAgICAgaWYgbm90IHRpbWVvdXQ6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBCbG9jayB1bnRpbCB0aGUgc29ja2V0IGlzIHJlYWR5IHRvIHNlbmQgc29tZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgZGF0YTsgYXZvaWRzIGhvZ2dpbmcgQ1BVIHJlc291cmNlcy4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Rvcl9zZWxlY3QoKQorICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZXJyOgorICAgICAgICAgICAgICAgICAgICAgICAgaWYgdG90YWxfc2VudCA9PSAwOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgV2UgY2FuIGdldCBoZXJlIGZvciBkaWZmZXJlbnQgcmVhc29ucywgdGhlIG1haW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIG9uZSBiZWluZyAnZmlsZScgaXMgbm90IGEgcmVndWxhciBtbWFwKDIpLWxpa2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGZpbGUsIGluIHdoaWNoIGNhc2Ugd2UnbGwgZmFsbCBiYWNrIG9uIHVzaW5nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBwbGFpbiBzZW5kKCkuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgX0dpdmV1cE9uU2VuZGZpbGUoZXJyKQorICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgZXJyIGZyb20gTm9uZQorICAgICAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAgICAgaWYgc2VudCA9PSAwOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrICAjIEVPRgorICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0ICs9IHNlbnQKKyAgICAgICAgICAgICAgICAgICAgICAgIHRvdGFsX3NlbnQgKz0gc2VudAorICAgICAgICAgICAgICAgIHJldHVybiB0b3RhbF9zZW50CisgICAgICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgICAgIGlmIHRvdGFsX3NlbnQgPiAwIGFuZCBoYXNhdHRyKGZpbGUsICdzZWVrJyk6CisgICAgICAgICAgICAgICAgICAgIGZpbGUuc2VlayhvZmZzZXQpCisgICAgZWxzZToKKyAgICAgICAgZGVmIF9zZW5kZmlsZV91c2Vfc2VuZGZpbGUoc2VsZiwgZmlsZSwgb2Zmc2V0PTAsIGNvdW50PU5vbmUpOgorICAgICAgICAgICAgcmFpc2UgX0dpdmV1cE9uU2VuZGZpbGUoCisgICAgICAgICAgICAgICAgIm9zLnNlbmRmaWxlKCkgbm90IGF2YWlsYWJsZSBvbiB0aGlzIHBsYXRmb3JtIikKKworICAgIGRlZiBfc2VuZGZpbGVfdXNlX3NlbmQoc2VsZiwgZmlsZSwgb2Zmc2V0PTAsIGNvdW50PU5vbmUpOgorICAgICAgICBzZWxmLl9jaGVja19zZW5kZmlsZV9wYXJhbXMoZmlsZSwgb2Zmc2V0LCBjb3VudCkKKyAgICAgICAgaWYgc2VsZi5nZXR0aW1lb3V0KCkgPT0gMDoKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIm5vbi1ibG9ja2luZyBzb2NrZXRzIGFyZSBub3Qgc3VwcG9ydGVkIikKKyAgICAgICAgaWYgb2Zmc2V0OgorICAgICAgICAgICAgZmlsZS5zZWVrKG9mZnNldCkKKyAgICAgICAgYmxvY2tzaXplID0gbWluKGNvdW50LCA4MTkyKSBpZiBjb3VudCBlbHNlIDgxOTIKKyAgICAgICAgdG90YWxfc2VudCA9IDAKKyAgICAgICAgIyBsb2NhbGl6ZSB2YXJpYWJsZSBhY2Nlc3MgdG8gbWluaW1pemUgb3ZlcmhlYWQKKyAgICAgICAgZmlsZV9yZWFkID0gZmlsZS5yZWFkCisgICAgICAgIHNvY2tfc2VuZCA9IHNlbGYuc2VuZAorICAgICAgICB0cnk6CisgICAgICAgICAgICB3aGlsZSBUcnVlOgorICAgICAgICAgICAgICAgIGlmIGNvdW50OgorICAgICAgICAgICAgICAgICAgICBibG9ja3NpemUgPSBtaW4oY291bnQgLSB0b3RhbF9zZW50LCBibG9ja3NpemUpCisgICAgICAgICAgICAgICAgICAgIGlmIGJsb2Nrc2l6ZSA8PSAwOgorICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgICAgICBkYXRhID0gbWVtb3J5dmlldyhmaWxlX3JlYWQoYmxvY2tzaXplKSkKKyAgICAgICAgICAgICAgICBpZiBub3QgZGF0YToKKyAgICAgICAgICAgICAgICAgICAgYnJlYWsgICMgRU9GCisgICAgICAgICAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICAgICAgc2VudCA9IHNvY2tfc2VuZChkYXRhKQorICAgICAgICAgICAgICAgICAgICBleGNlcHQgQmxvY2tpbmdJT0Vycm9yOgorICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgIHRvdGFsX3NlbnQgKz0gc2VudAorICAgICAgICAgICAgICAgICAgICAgICAgaWYgc2VudCA8IGxlbihkYXRhKToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhID0gZGF0YVtzZW50Ol0KKyAgICAgICAgICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgIHJldHVybiB0b3RhbF9zZW50CisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBpZiB0b3RhbF9zZW50ID4gMCBhbmQgaGFzYXR0cihmaWxlLCAnc2VlaycpOgorICAgICAgICAgICAgICAgIGZpbGUuc2VlayhvZmZzZXQgKyB0b3RhbF9zZW50KQorCisgICAgZGVmIF9jaGVja19zZW5kZmlsZV9wYXJhbXMoc2VsZiwgZmlsZSwgb2Zmc2V0LCBjb3VudCk6CisgICAgICAgIGlmICdiJyBub3QgaW4gZ2V0YXR0cihmaWxlLCAnbW9kZScsICdiJyk6CisgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJmaWxlIHNob3VsZCBiZSBvcGVuZWQgaW4gYmluYXJ5IG1vZGUiKQorICAgICAgICBpZiBub3Qgc2VsZi50eXBlICYgU09DS19TVFJFQU06CisgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJvbmx5IFNPQ0tfU1RSRUFNIHR5cGUgc29ja2V0cyBhcmUgc3VwcG9ydGVkIikKKyAgICAgICAgaWYgY291bnQgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShjb3VudCwgaW50KToKKyAgICAgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoCisgICAgICAgICAgICAgICAgICAgICJjb3VudCBtdXN0IGJlIGEgcG9zaXRpdmUgaW50ZWdlciAoZ290IHshcn0pIi5mb3JtYXQoY291bnQpKQorICAgICAgICAgICAgaWYgY291bnQgPD0gMDoKKyAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKAorICAgICAgICAgICAgICAgICAgICAiY291bnQgbXVzdCBiZSBhIHBvc2l0aXZlIGludGVnZXIgKGdvdCB7IXJ9KSIuZm9ybWF0KGNvdW50KSkKKworICAgIGRlZiBzZW5kZmlsZShzZWxmLCBmaWxlLCBvZmZzZXQ9MCwgY291bnQ9Tm9uZSk6CisgICAgICAgICIiInNlbmRmaWxlKGZpbGVbLCBvZmZzZXRbLCBjb3VudF1dKSAtPiBzZW50CisKKyAgICAgICAgU2VuZCBhIGZpbGUgdW50aWwgRU9GIGlzIHJlYWNoZWQgYnkgdXNpbmcgaGlnaC1wZXJmb3JtYW5jZQorICAgICAgICBvcy5zZW5kZmlsZSgpIGFuZCByZXR1cm4gdGhlIHRvdGFsIG51bWJlciBvZiBieXRlcyB3aGljaAorICAgICAgICB3ZXJlIHNlbnQuCisgICAgICAgICpmaWxlKiBtdXN0IGJlIGEgcmVndWxhciBmaWxlIG9iamVjdCBvcGVuZWQgaW4gYmluYXJ5IG1vZGUuCisgICAgICAgIElmIG9zLnNlbmRmaWxlKCkgaXMgbm90IGF2YWlsYWJsZSAoZS5nLiBXaW5kb3dzKSBvciBmaWxlIGlzCisgICAgICAgIG5vdCBhIHJlZ3VsYXIgZmlsZSBzb2NrZXQuc2VuZCgpIHdpbGwgYmUgdXNlZCBpbnN0ZWFkLgorICAgICAgICAqb2Zmc2V0KiB0ZWxscyBmcm9tIHdoZXJlIHRvIHN0YXJ0IHJlYWRpbmcgdGhlIGZpbGUuCisgICAgICAgIElmIHNwZWNpZmllZCwgKmNvdW50KiBpcyB0aGUgdG90YWwgbnVtYmVyIG9mIGJ5dGVzIHRvIHRyYW5zbWl0CisgICAgICAgIGFzIG9wcG9zZWQgdG8gc2VuZGluZyB0aGUgZmlsZSB1bnRpbCBFT0YgaXMgcmVhY2hlZC4KKyAgICAgICAgRmlsZSBwb3NpdGlvbiBpcyB1cGRhdGVkIG9uIHJldHVybiBvciBhbHNvIGluIGNhc2Ugb2YgZXJyb3IgaW4KKyAgICAgICAgd2hpY2ggY2FzZSBmaWxlLnRlbGwoKSBjYW4gYmUgdXNlZCB0byBmaWd1cmUgb3V0IHRoZSBudW1iZXIgb2YKKyAgICAgICAgYnl0ZXMgd2hpY2ggd2VyZSBzZW50LgorICAgICAgICBUaGUgc29ja2V0IG11c3QgYmUgb2YgU09DS19TVFJFQU0gdHlwZS4KKyAgICAgICAgTm9uLWJsb2NraW5nIHNvY2tldHMgYXJlIG5vdCBzdXBwb3J0ZWQuCisgICAgICAgICIiIgorICAgICAgICB0cnk6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fc2VuZGZpbGVfdXNlX3NlbmRmaWxlKGZpbGUsIG9mZnNldCwgY291bnQpCisgICAgICAgIGV4Y2VwdCBfR2l2ZXVwT25TZW5kZmlsZToKKyAgICAgICAgICAgIHJldHVybiBzZWxmLl9zZW5kZmlsZV91c2Vfc2VuZChmaWxlLCBvZmZzZXQsIGNvdW50KQorCiAgICAgZGVmIF9kZWNyZWZfc29ja2V0aW9zKHNlbGYpOgogICAgICAgICBpZiBzZWxmLl9pb19yZWZzID4gMDoKICAgICAgICAgICAgIHNlbGYuX2lvX3JlZnMgLT0gMQpAQCAtMzI1LDYgKzQ3Niw1MiBAQAogICAgICAgICBiID0gc29ja2V0KGZhbWlseSwgdHlwZSwgcHJvdG8sIGIuZGV0YWNoKCkpCiAgICAgICAgIHJldHVybiBhLCBiCiAKK2Vsc2U6CisKKyAgICAjIE9yaWdpbjogaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vNDMyNTc4MywgYnkgR2VlcnQgSmFuc2VuLiAgUHVibGljIGRvbWFpbi4KKyAgICBkZWYgc29ja2V0cGFpcihmYW1pbHk9QUZfSU5FVCwgdHlwZT1TT0NLX1NUUkVBTSwgcHJvdG89MCk6CisgICAgICAgIGlmIGZhbWlseSA9PSBBRl9JTkVUOgorICAgICAgICAgICAgaG9zdCA9IF9MT0NBTEhPU1QKKyAgICAgICAgZWxpZiBmYW1pbHkgPT0gQUZfSU5FVDY6CisgICAgICAgICAgICBob3N0ID0gX0xPQ0FMSE9TVF9WNgorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiT25seSBBRl9JTkVUIGFuZCBBRl9JTkVUNiBzb2NrZXQgYWRkcmVzcyBmYW1pbGllcyAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhcmUgc3VwcG9ydGVkIikKKyAgICAgICAgaWYgdHlwZSAhPSBTT0NLX1NUUkVBTToKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIk9ubHkgU09DS19TVFJFQU0gc29ja2V0IHR5cGUgaXMgc3VwcG9ydGVkIikKKyAgICAgICAgaWYgcHJvdG8gIT0gMDoKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIk9ubHkgcHJvdG9jb2wgemVybyBpcyBzdXBwb3J0ZWQiKQorCisgICAgICAgICMgV2UgY3JlYXRlIGEgY29ubmVjdGVkIFRDUCBzb2NrZXQuIE5vdGUgdGhlIHRyaWNrIHdpdGgKKyAgICAgICAgIyBzZXRibG9ja2luZyhGYWxzZSkgdGhhdCBwcmV2ZW50cyB1cyBmcm9tIGhhdmluZyB0byBjcmVhdGUgYSB0aHJlYWQuCisgICAgICAgIGxzb2NrID0gc29ja2V0KGZhbWlseSwgdHlwZSwgcHJvdG8pCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGxzb2NrLmJpbmQoKGhvc3QsIDApKQorICAgICAgICAgICAgbHNvY2subGlzdGVuKCkKKyAgICAgICAgICAgICMgT24gSVB2NiwgaWdub3JlIGZsb3dfaW5mbyBhbmQgc2NvcGVfaWQKKyAgICAgICAgICAgIGFkZHIsIHBvcnQgPSBsc29jay5nZXRzb2NrbmFtZSgpWzoyXQorICAgICAgICAgICAgY3NvY2sgPSBzb2NrZXQoZmFtaWx5LCB0eXBlLCBwcm90bykKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBjc29jay5zZXRibG9ja2luZyhGYWxzZSkKKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgIGNzb2NrLmNvbm5lY3QoKGFkZHIsIHBvcnQpKQorICAgICAgICAgICAgICAgIGV4Y2VwdCAoQmxvY2tpbmdJT0Vycm9yLCBJbnRlcnJ1cHRlZEVycm9yKToKKyAgICAgICAgICAgICAgICAgICAgcGFzcworICAgICAgICAgICAgICAgIGNzb2NrLnNldGJsb2NraW5nKFRydWUpCisgICAgICAgICAgICAgICAgc3NvY2ssIF8gPSBsc29jay5hY2NlcHQoKQorICAgICAgICAgICAgZXhjZXB0OgorICAgICAgICAgICAgICAgIGNzb2NrLmNsb3NlKCkKKyAgICAgICAgICAgICAgICByYWlzZQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgbHNvY2suY2xvc2UoKQorICAgICAgICByZXR1cm4gKHNzb2NrLCBjc29jaykKKworc29ja2V0cGFpci5fX2RvY19fID0gIiIic29ja2V0cGFpcihbZmFtaWx5WywgdHlwZVssIHByb3RvXV1dKSAtPiAoc29ja2V0IG9iamVjdCwgc29ja2V0IG9iamVjdCkKK0NyZWF0ZSBhIHBhaXIgb2Ygc29ja2V0IG9iamVjdHMgZnJvbSB0aGUgc29ja2V0cyByZXR1cm5lZCBieSB0aGUgcGxhdGZvcm0KK3NvY2tldHBhaXIoKSBmdW5jdGlvbi4KK1RoZSBhcmd1bWVudHMgYXJlIHRoZSBzYW1lIGFzIGZvciBzb2NrZXQoKSBleGNlcHQgdGhlIGRlZmF1bHQgZmFtaWx5IGlzIEFGX1VOSVgKK2lmIGRlZmluZWQgb24gdGhlIHBsYXRmb3JtOyBvdGhlcndpc2UsIHRoZSBkZWZhdWx0IGlzIEFGX0lORVQuCisiIiIKIAogX2Jsb2NraW5nX2Vycm5vcyA9IHsgRUFHQUlOLCBFV09VTERCTE9DSyB9CiAKQEAgLTM3NSw4ICs1NzIsNiBAQAogICAgICAgICAgICAgZXhjZXB0IHRpbWVvdXQ6CiAgICAgICAgICAgICAgICAgc2VsZi5fdGltZW91dF9vY2N1cnJlZCA9IFRydWUKICAgICAgICAgICAgICAgICByYWlzZQotICAgICAgICAgICAgZXhjZXB0IEludGVycnVwdGVkRXJyb3I6Ci0gICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgIGV4Y2VwdCBlcnJvciBhcyBlOgogICAgICAgICAgICAgICAgIGlmIGUuYXJnc1swXSBpbiBfYmxvY2tpbmdfZXJybm9zOgogICAgICAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQpkaWZmIC0tZ2l0IGEvTGliL3NvY2tldHNlcnZlci5weSBiL0xpYi9zb2NrZXRzZXJ2ZXIucHkKaW5kZXggNWNiODliZS4uMGNlOGU4MSAxMDA2NDQKLS0tIGEvTGliL3NvY2tldHNlcnZlci5weQorKysgYi9MaWIvc29ja2V0c2VydmVyLnB5CkBAIC05NCw3ICs5NCw3IEBACiBBbm90aGVyIGFwcHJvYWNoIHRvIGhhbmRsaW5nIG11bHRpcGxlIHNpbXVsdGFuZW91cyByZXF1ZXN0cyBpbiBhbgogZW52aXJvbm1lbnQgdGhhdCBzdXBwb3J0cyBuZWl0aGVyIHRocmVhZHMgbm9yIGZvcmsgKG9yIHdoZXJlIHRoZXNlIGFyZQogdG9vIGV4cGVuc2l2ZSBvciBpbmFwcHJvcHJpYXRlIGZvciB0aGUgc2VydmljZSkgaXMgdG8gbWFpbnRhaW4gYW4KLWV4cGxpY2l0IHRhYmxlIG9mIHBhcnRpYWxseSBmaW5pc2hlZCByZXF1ZXN0cyBhbmQgdG8gdXNlIHNlbGVjdCgpIHRvCitleHBsaWNpdCB0YWJsZSBvZiBwYXJ0aWFsbHkgZmluaXNoZWQgcmVxdWVzdHMgYW5kIHRvIHVzZSBhIHNlbGVjdG9yIHRvCiBkZWNpZGUgd2hpY2ggcmVxdWVzdCB0byB3b3JrIG9uIG5leHQgKG9yIHdoZXRoZXIgdG8gaGFuZGxlIGEgbmV3CiBpbmNvbWluZyByZXF1ZXN0KS4gIFRoaXMgaXMgcGFydGljdWxhcmx5IGltcG9ydGFudCBmb3Igc3RyZWFtIHNlcnZpY2VzCiB3aGVyZSBlYWNoIGNsaWVudCBjYW4gcG90ZW50aWFsbHkgYmUgY29ubmVjdGVkIGZvciBhIGxvbmcgdGltZSAoaWYKQEAgLTEwNCw3ICsxMDQsNiBAQAogLSBTdGFuZGFyZCBjbGFzc2VzIGZvciBTdW4gUlBDICh3aGljaCB1c2VzIGVpdGhlciBVRFAgb3IgVENQKQogLSBTdGFuZGFyZCBtaXgtaW4gY2xhc3NlcyB0byBpbXBsZW1lbnQgdmFyaW91cyBhdXRoZW50aWNhdGlvbgogICBhbmQgZW5jcnlwdGlvbiBzY2hlbWVzCi0tIFN0YW5kYXJkIGZyYW1ld29yayBmb3Igc2VsZWN0LWJhc2VkIG11bHRpcGxleGluZwogCiBYWFggT3BlbiBwcm9ibGVtczoKIC0gV2hhdCB0byBkbyB3aXRoIG91dC1vZi1iYW5kIGRhdGE/CkBAIC0xMzAsMTMgKzEyOSwxNCBAQAogCiAKIGltcG9ydCBzb2NrZXQKLWltcG9ydCBzZWxlY3QKK2ltcG9ydCBzZWxlY3RvcnMKIGltcG9ydCBvcwogaW1wb3J0IGVycm5vCiB0cnk6CiAgICAgaW1wb3J0IHRocmVhZGluZwogZXhjZXB0IEltcG9ydEVycm9yOgogICAgIGltcG9ydCBkdW1teV90aHJlYWRpbmcgYXMgdGhyZWFkaW5nCitmcm9tIHRpbWUgaW1wb3J0IG1vbm90b25pYyBhcyB0aW1lCiAKIF9fYWxsX18gPSBbIkJhc2VTZXJ2ZXIiLCAiVENQU2VydmVyIiwgIlVEUFNlcnZlciIsICJGb3JraW5nVURQU2VydmVyIiwKICAgICAgICAgICAgIkZvcmtpbmdUQ1BTZXJ2ZXIiLCAiVGhyZWFkaW5nVURQU2VydmVyIiwgIlRocmVhZGluZ1RDUFNlcnZlciIsCkBAIC0xNDcsMTQgKzE0NywxMyBAQAogICAgICAgICAgICAgICAgICAgICAiVGhyZWFkaW5nVW5peFN0cmVhbVNlcnZlciIsCiAgICAgICAgICAgICAgICAgICAgICJUaHJlYWRpbmdVbml4RGF0YWdyYW1TZXJ2ZXIiXSkKIAotZGVmIF9laW50cl9yZXRyeShmdW5jLCAqYXJncyk6Ci0gICAgIiIicmVzdGFydCBhIHN5c3RlbSBjYWxsIGludGVycnVwdGVkIGJ5IEVJTlRSIiIiCi0gICAgd2hpbGUgVHJ1ZToKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgcmV0dXJuIGZ1bmMoKmFyZ3MpCi0gICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6Ci0gICAgICAgICAgICBpZiBlLmVycm5vICE9IGVycm5vLkVJTlRSOgotICAgICAgICAgICAgICAgIHJhaXNlCisjIHBvbGwvc2VsZWN0IGhhdmUgdGhlIGFkdmFudGFnZSBvZiBub3QgcmVxdWlyaW5nIGFueSBleHRyYSBmaWxlIGRlc2NyaXB0b3IsCisjIGNvbnRyYXJpbHkgdG8gZXBvbGwva3F1ZXVlIChhbHNvLCB0aGV5IHJlcXVpcmUgYSBzaW5nbGUgc3lzY2FsbCkuCitpZiBoYXNhdHRyKHNlbGVjdG9ycywgJ1BvbGxTZWxlY3RvcicpOgorICAgIF9TZXJ2ZXJTZWxlY3RvciA9IHNlbGVjdG9ycy5Qb2xsU2VsZWN0b3IKK2Vsc2U6CisgICAgX1NlcnZlclNlbGVjdG9yID0gc2VsZWN0b3JzLlNlbGVjdFNlbGVjdG9yCisKIAogY2xhc3MgQmFzZVNlcnZlcjoKIApAQCAtMTY2LDcgKzE2NSw3IEBACiAgICAgLSBzZXJ2ZV9mb3JldmVyKHBvbGxfaW50ZXJ2YWw9MC41KQogICAgIC0gc2h1dGRvd24oKQogICAgIC0gaGFuZGxlX3JlcXVlc3QoKSAgIyBpZiB5b3UgZG8gbm90IHVzZSBzZXJ2ZV9mb3JldmVyKCkKLSAgICAtIGZpbGVubygpIC0+IGludCAgICMgZm9yIHNlbGVjdCgpCisgICAgLSBmaWxlbm8oKSAtPiBpbnQgICAjIGZvciBzZWxlY3RvcgogCiAgICAgTWV0aG9kcyB0aGF0IG1heSBiZSBvdmVycmlkZGVuOgogCkBAIC0yMjcsMTcgKzIyNiwxOSBAQAogICAgICAgICAiIiIKICAgICAgICAgc2VsZi5fX2lzX3NodXRfZG93bi5jbGVhcigpCiAgICAgICAgIHRyeToKLSAgICAgICAgICAgIHdoaWxlIG5vdCBzZWxmLl9fc2h1dGRvd25fcmVxdWVzdDoKLSAgICAgICAgICAgICAgICAjIFhYWDogQ29uc2lkZXIgdXNpbmcgYW5vdGhlciBmaWxlIGRlc2NyaXB0b3Igb3IKLSAgICAgICAgICAgICAgICAjIGNvbm5lY3RpbmcgdG8gdGhlIHNvY2tldCB0byB3YWtlIHRoaXMgdXAgaW5zdGVhZCBvZgotICAgICAgICAgICAgICAgICMgcG9sbGluZy4gUG9sbGluZyByZWR1Y2VzIG91ciByZXNwb25zaXZlbmVzcyB0byBhCi0gICAgICAgICAgICAgICAgIyBzaHV0ZG93biByZXF1ZXN0IGFuZCB3YXN0ZXMgY3B1IGF0IGFsbCBvdGhlciB0aW1lcy4KLSAgICAgICAgICAgICAgICByLCB3LCBlID0gX2VpbnRyX3JldHJ5KHNlbGVjdC5zZWxlY3QsIFtzZWxmXSwgW10sIFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9sbF9pbnRlcnZhbCkKLSAgICAgICAgICAgICAgICBpZiBzZWxmIGluIHI6Ci0gICAgICAgICAgICAgICAgICAgIHNlbGYuX2hhbmRsZV9yZXF1ZXN0X25vYmxvY2soKQorICAgICAgICAgICAgIyBYWFg6IENvbnNpZGVyIHVzaW5nIGFub3RoZXIgZmlsZSBkZXNjcmlwdG9yIG9yIGNvbm5lY3RpbmcgdG8gdGhlCisgICAgICAgICAgICAjIHNvY2tldCB0byB3YWtlIHRoaXMgdXAgaW5zdGVhZCBvZiBwb2xsaW5nLiBQb2xsaW5nIHJlZHVjZXMgb3VyCisgICAgICAgICAgICAjIHJlc3BvbnNpdmVuZXNzIHRvIGEgc2h1dGRvd24gcmVxdWVzdCBhbmQgd2FzdGVzIGNwdSBhdCBhbGwgb3RoZXIKKyAgICAgICAgICAgICMgdGltZXMuCisgICAgICAgICAgICB3aXRoIF9TZXJ2ZXJTZWxlY3RvcigpIGFzIHNlbGVjdG9yOgorICAgICAgICAgICAgICAgIHNlbGVjdG9yLnJlZ2lzdGVyKHNlbGYsIHNlbGVjdG9ycy5FVkVOVF9SRUFEKQogCi0gICAgICAgICAgICAgICAgc2VsZi5zZXJ2aWNlX2FjdGlvbnMoKQorICAgICAgICAgICAgICAgIHdoaWxlIG5vdCBzZWxmLl9fc2h1dGRvd25fcmVxdWVzdDoKKyAgICAgICAgICAgICAgICAgICAgcmVhZHkgPSBzZWxlY3Rvci5zZWxlY3QocG9sbF9pbnRlcnZhbCkKKyAgICAgICAgICAgICAgICAgICAgaWYgcmVhZHk6CisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9oYW5kbGVfcmVxdWVzdF9ub2Jsb2NrKCkKKworICAgICAgICAgICAgICAgICAgICBzZWxmLnNlcnZpY2VfYWN0aW9ucygpCiAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICBzZWxmLl9fc2h1dGRvd25fcmVxdWVzdCA9IEZhbHNlCiAgICAgICAgICAgICBzZWxmLl9faXNfc2h1dF9kb3duLnNldCgpCkBAIC0yNjAsMTYgKzI2MSwxNiBAQAogICAgICAgICAiIiIKICAgICAgICAgcGFzcwogCi0gICAgIyBUaGUgZGlzdGluY3Rpb24gYmV0d2VlbiBoYW5kbGluZywgZ2V0dGluZywgcHJvY2Vzc2luZyBhbmQKLSAgICAjIGZpbmlzaGluZyBhIHJlcXVlc3QgaXMgZmFpcmx5IGFyYml0cmFyeS4gIFJlbWVtYmVyOgorICAgICMgVGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gaGFuZGxpbmcsIGdldHRpbmcsIHByb2Nlc3NpbmcgYW5kIGZpbmlzaGluZyBhCisgICAgIyByZXF1ZXN0IGlzIGZhaXJseSBhcmJpdHJhcnkuICBSZW1lbWJlcjoKICAgICAjCi0gICAgIyAtIGhhbmRsZV9yZXF1ZXN0KCkgaXMgdGhlIHRvcC1sZXZlbCBjYWxsLiAgSXQgY2FsbHMKLSAgICAjICAgc2VsZWN0LCBnZXRfcmVxdWVzdCgpLCB2ZXJpZnlfcmVxdWVzdCgpIGFuZCBwcm9jZXNzX3JlcXVlc3QoKQorICAgICMgLSBoYW5kbGVfcmVxdWVzdCgpIGlzIHRoZSB0b3AtbGV2ZWwgY2FsbC4gIEl0IGNhbGxzIHNlbGVjdG9yLnNlbGVjdCgpLAorICAgICMgICBnZXRfcmVxdWVzdCgpLCB2ZXJpZnlfcmVxdWVzdCgpIGFuZCBwcm9jZXNzX3JlcXVlc3QoKQogICAgICMgLSBnZXRfcmVxdWVzdCgpIGlzIGRpZmZlcmVudCBmb3Igc3RyZWFtIG9yIGRhdGFncmFtIHNvY2tldHMKLSAgICAjIC0gcHJvY2Vzc19yZXF1ZXN0KCkgaXMgdGhlIHBsYWNlIHRoYXQgbWF5IGZvcmsgYSBuZXcgcHJvY2VzcwotICAgICMgICBvciBjcmVhdGUgYSBuZXcgdGhyZWFkIHRvIGZpbmlzaCB0aGUgcmVxdWVzdAotICAgICMgLSBmaW5pc2hfcmVxdWVzdCgpIGluc3RhbnRpYXRlcyB0aGUgcmVxdWVzdCBoYW5kbGVyIGNsYXNzOwotICAgICMgICB0aGlzIGNvbnN0cnVjdG9yIHdpbGwgaGFuZGxlIHRoZSByZXF1ZXN0IGFsbCBieSBpdHNlbGYKKyAgICAjIC0gcHJvY2Vzc19yZXF1ZXN0KCkgaXMgdGhlIHBsYWNlIHRoYXQgbWF5IGZvcmsgYSBuZXcgcHJvY2VzcyBvciBjcmVhdGUgYQorICAgICMgICBuZXcgdGhyZWFkIHRvIGZpbmlzaCB0aGUgcmVxdWVzdAorICAgICMgLSBmaW5pc2hfcmVxdWVzdCgpIGluc3RhbnRpYXRlcyB0aGUgcmVxdWVzdCBoYW5kbGVyIGNsYXNzOyB0aGlzCisgICAgIyAgIGNvbnN0cnVjdG9yIHdpbGwgaGFuZGxlIHRoZSByZXF1ZXN0IGFsbCBieSBpdHNlbGYKIAogICAgIGRlZiBoYW5kbGVfcmVxdWVzdChzZWxmKToKICAgICAgICAgIiIiSGFuZGxlIG9uZSByZXF1ZXN0LCBwb3NzaWJseSBibG9ja2luZy4KQEAgLTI4MywxOCArMjg0LDMwIEBACiAgICAgICAgICAgICB0aW1lb3V0ID0gc2VsZi50aW1lb3V0CiAgICAgICAgIGVsaWYgc2VsZi50aW1lb3V0IGlzIG5vdCBOb25lOgogICAgICAgICAgICAgdGltZW91dCA9IG1pbih0aW1lb3V0LCBzZWxmLnRpbWVvdXQpCi0gICAgICAgIGZkX3NldHMgPSBfZWludHJfcmV0cnkoc2VsZWN0LnNlbGVjdCwgW3NlbGZdLCBbXSwgW10sIHRpbWVvdXQpCi0gICAgICAgIGlmIG5vdCBmZF9zZXRzWzBdOgotICAgICAgICAgICAgc2VsZi5oYW5kbGVfdGltZW91dCgpCi0gICAgICAgICAgICByZXR1cm4KLSAgICAgICAgc2VsZi5faGFuZGxlX3JlcXVlc3Rfbm9ibG9jaygpCisgICAgICAgIGlmIHRpbWVvdXQgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBkZWFkbGluZSA9IHRpbWUoKSArIHRpbWVvdXQKKworICAgICAgICAjIFdhaXQgdW50aWwgYSByZXF1ZXN0IGFycml2ZXMgb3IgdGhlIHRpbWVvdXQgZXhwaXJlcyAtIHRoZSBsb29wIGlzCisgICAgICAgICMgbmVjZXNzYXJ5IHRvIGFjY29tbW9kYXRlIGVhcmx5IHdha2V1cHMgZHVlIHRvIEVJTlRSLgorICAgICAgICB3aXRoIF9TZXJ2ZXJTZWxlY3RvcigpIGFzIHNlbGVjdG9yOgorICAgICAgICAgICAgc2VsZWN0b3IucmVnaXN0ZXIoc2VsZiwgc2VsZWN0b3JzLkVWRU5UX1JFQUQpCisKKyAgICAgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICAgICAgcmVhZHkgPSBzZWxlY3Rvci5zZWxlY3QodGltZW91dCkKKyAgICAgICAgICAgICAgICBpZiByZWFkeToKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2hhbmRsZV9yZXF1ZXN0X25vYmxvY2soKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIGlmIHRpbWVvdXQgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgICAgICAgICB0aW1lb3V0ID0gZGVhZGxpbmUgLSB0aW1lKCkKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIHRpbWVvdXQgPCAwOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLmhhbmRsZV90aW1lb3V0KCkKIAogICAgIGRlZiBfaGFuZGxlX3JlcXVlc3Rfbm9ibG9jayhzZWxmKToKICAgICAgICAgIiIiSGFuZGxlIG9uZSByZXF1ZXN0LCB3aXRob3V0IGJsb2NraW5nLgogCi0gICAgICAgIEkgYXNzdW1lIHRoYXQgc2VsZWN0LnNlbGVjdCBoYXMgcmV0dXJuZWQgdGhhdCB0aGUgc29ja2V0IGlzCi0gICAgICAgIHJlYWRhYmxlIGJlZm9yZSB0aGlzIGZ1bmN0aW9uIHdhcyBjYWxsZWQsIHNvIHRoZXJlIHNob3VsZCBiZQotICAgICAgICBubyByaXNrIG9mIGJsb2NraW5nIGluIGdldF9yZXF1ZXN0KCkuCisgICAgICAgIEkgYXNzdW1lIHRoYXQgc2VsZWN0b3Iuc2VsZWN0KCkgaGFzIHJldHVybmVkIHRoYXQgdGhlIHNvY2tldCBpcworICAgICAgICByZWFkYWJsZSBiZWZvcmUgdGhpcyBmdW5jdGlvbiB3YXMgY2FsbGVkLCBzbyB0aGVyZSBzaG91bGQgYmUgbm8gcmlzayBvZgorICAgICAgICBibG9ja2luZyBpbiBnZXRfcmVxdWVzdCgpLgogICAgICAgICAiIiIKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgcmVxdWVzdCwgY2xpZW50X2FkZHJlc3MgPSBzZWxmLmdldF9yZXF1ZXN0KCkKQEAgLTM3Nyw3ICszOTAsNyBAQAogICAgIC0gc2VydmVfZm9yZXZlcihwb2xsX2ludGVydmFsPTAuNSkKICAgICAtIHNodXRkb3duKCkKICAgICAtIGhhbmRsZV9yZXF1ZXN0KCkgICMgaWYgeW91IGRvbid0IHVzZSBzZXJ2ZV9mb3JldmVyKCkKLSAgICAtIGZpbGVubygpIC0+IGludCAgICMgZm9yIHNlbGVjdCgpCisgICAgLSBmaWxlbm8oKSAtPiBpbnQgICAjIGZvciBzZWxlY3RvcgogCiAgICAgTWV0aG9kcyB0aGF0IG1heSBiZSBvdmVycmlkZGVuOgogCkBAIC00NjMsNyArNDc2LDcgQEAKICAgICBkZWYgZmlsZW5vKHNlbGYpOgogICAgICAgICAiIiJSZXR1cm4gc29ja2V0IGZpbGUgbnVtYmVyLgogCi0gICAgICAgIEludGVyZmFjZSByZXF1aXJlZCBieSBzZWxlY3QoKS4KKyAgICAgICAgSW50ZXJmYWNlIHJlcXVpcmVkIGJ5IHNlbGVjdG9yLgogCiAgICAgICAgICIiIgogICAgICAgICByZXR1cm4gc2VsZi5zb2NrZXQuZmlsZW5vKCkKQEAgLTU0MCw4ICs1NTMsNiBAQAogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIHBpZCwgXyA9IG9zLndhaXRwaWQoLTEsIDApCiAgICAgICAgICAgICAgICAgc2VsZi5hY3RpdmVfY2hpbGRyZW4uZGlzY2FyZChwaWQpCi0gICAgICAgICAgICBleGNlcHQgSW50ZXJydXB0ZWRFcnJvcjoKLSAgICAgICAgICAgICAgICBwYXNzCiAgICAgICAgICAgICBleGNlcHQgQ2hpbGRQcm9jZXNzRXJyb3I6CiAgICAgICAgICAgICAgICAgIyB3ZSBkb24ndCBoYXZlIGFueSBjaGlsZHJlbiwgd2UncmUgZG9uZQogICAgICAgICAgICAgICAgIHNlbGYuYWN0aXZlX2NoaWxkcmVuLmNsZWFyKCkKZGlmZiAtLWdpdCBhL0xpYi9zcmVfY29tcGlsZS5weSBiL0xpYi9zcmVfY29tcGlsZS5weQppbmRleCA1NTBlYTE1Li4zMGE1ZmFlIDEwMDY0NAotLS0gYS9MaWIvc3JlX2NvbXBpbGUucHkKKysrIGIvTGliL3NyZV9jb21waWxlLnB5CkBAIC0xMywxOSArMTMsMTMgQEAKIGltcG9ydCBfc3JlCiBpbXBvcnQgc3JlX3BhcnNlCiBmcm9tIHNyZV9jb25zdGFudHMgaW1wb3J0ICoKLWZyb20gX3NyZSBpbXBvcnQgTUFYUkVQRUFUCiAKIGFzc2VydCBfc3JlLk1BR0lDID09IE1BR0lDLCAiU1JFIG1vZHVsZSBtaXNtYXRjaCIKIAotaWYgX3NyZS5DT0RFU0laRSA9PSAyOgotICAgIE1BWENPREUgPSA2NTUzNQotZWxzZToKLSAgICBNQVhDT0RFID0gMHhGRkZGRkZGRgotCi1fTElURVJBTF9DT0RFUyA9IHNldChbTElURVJBTCwgTk9UX0xJVEVSQUxdKQotX1JFUEVBVElOR19DT0RFUyA9IHNldChbUkVQRUFULCBNSU5fUkVQRUFULCBNQVhfUkVQRUFUXSkKLV9TVUNDRVNTX0NPREVTID0gc2V0KFtTVUNDRVNTLCBGQUlMVVJFXSkKLV9BU1NFUlRfQ09ERVMgPSBzZXQoW0FTU0VSVCwgQVNTRVJUX05PVF0pCitfTElURVJBTF9DT0RFUyA9IHtMSVRFUkFMLCBOT1RfTElURVJBTH0KK19SRVBFQVRJTkdfQ09ERVMgPSB7UkVQRUFULCBNSU5fUkVQRUFULCBNQVhfUkVQRUFUfQorX1NVQ0NFU1NfQ09ERVMgPSB7U1VDQ0VTUywgRkFJTFVSRX0KK19BU1NFUlRfQ09ERVMgPSB7QVNTRVJULCBBU1NFUlRfTk9UfQogCiAjIFNldHMgb2YgbG93ZXJjYXNlIGNoYXJhY3RlcnMgd2hpY2ggaGF2ZSB0aGUgc2FtZSB1cHBlcmNhc2UuCiBfZXF1aXZhbGVuY2VzID0gKApAQCAtODYsNzUgKzgwLDc1IEBACiAgICAgICAgICAgICBpZiBmbGFncyAmIFNSRV9GTEFHX0lHTk9SRUNBU0U6CiAgICAgICAgICAgICAgICAgbG8gPSBfc3JlLmdldGxvd2VyKGF2LCBmbGFncykKICAgICAgICAgICAgICAgICBpZiBmaXhlcyBhbmQgbG8gaW4gZml4ZXM6Ci0gICAgICAgICAgICAgICAgICAgIGVtaXQoT1BDT0RFU1tJTl9JR05PUkVdKQorICAgICAgICAgICAgICAgICAgICBlbWl0KElOX0lHTk9SRSkKICAgICAgICAgICAgICAgICAgICAgc2tpcCA9IF9sZW4oY29kZSk7IGVtaXQoMCkKICAgICAgICAgICAgICAgICAgICAgaWYgb3AgaXMgTk9UX0xJVEVSQUw6Ci0gICAgICAgICAgICAgICAgICAgICAgICBlbWl0KE9QQ09ERVNbTkVHQVRFXSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGVtaXQoTkVHQVRFKQogICAgICAgICAgICAgICAgICAgICBmb3IgayBpbiAobG8sKSArIGZpeGVzW2xvXToKLSAgICAgICAgICAgICAgICAgICAgICAgIGVtaXQoT1BDT0RFU1tMSVRFUkFMXSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGVtaXQoTElURVJBTCkKICAgICAgICAgICAgICAgICAgICAgICAgIGVtaXQoaykKLSAgICAgICAgICAgICAgICAgICAgZW1pdChPUENPREVTW0ZBSUxVUkVdKQorICAgICAgICAgICAgICAgICAgICBlbWl0KEZBSUxVUkUpCiAgICAgICAgICAgICAgICAgICAgIGNvZGVbc2tpcF0gPSBfbGVuKGNvZGUpIC0gc2tpcAogICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIGVtaXQoT1BDT0RFU1tPUF9JR05PUkVbb3BdXSkKKyAgICAgICAgICAgICAgICAgICAgZW1pdChPUF9JR05PUkVbb3BdKQogICAgICAgICAgICAgICAgICAgICBlbWl0KGxvKQogICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBlbWl0KE9QQ09ERVNbb3BdKQorICAgICAgICAgICAgICAgIGVtaXQob3ApCiAgICAgICAgICAgICAgICAgZW1pdChhdikKICAgICAgICAgZWxpZiBvcCBpcyBJTjoKICAgICAgICAgICAgIGlmIGZsYWdzICYgU1JFX0ZMQUdfSUdOT1JFQ0FTRToKLSAgICAgICAgICAgICAgICBlbWl0KE9QQ09ERVNbT1BfSUdOT1JFW29wXV0pCisgICAgICAgICAgICAgICAgZW1pdChPUF9JR05PUkVbb3BdKQogICAgICAgICAgICAgICAgIGRlZiBmaXh1cChsaXRlcmFsLCBmbGFncz1mbGFncyk6CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfc3JlLmdldGxvd2VyKGxpdGVyYWwsIGZsYWdzKQogICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBlbWl0KE9QQ09ERVNbb3BdKQorICAgICAgICAgICAgICAgIGVtaXQob3ApCiAgICAgICAgICAgICAgICAgZml4dXAgPSBOb25lCiAgICAgICAgICAgICBza2lwID0gX2xlbihjb2RlKTsgZW1pdCgwKQogICAgICAgICAgICAgX2NvbXBpbGVfY2hhcnNldChhdiwgZmxhZ3MsIGNvZGUsIGZpeHVwLCBmaXhlcykKICAgICAgICAgICAgIGNvZGVbc2tpcF0gPSBfbGVuKGNvZGUpIC0gc2tpcAogICAgICAgICBlbGlmIG9wIGlzIEFOWToKICAgICAgICAgICAgIGlmIGZsYWdzICYgU1JFX0ZMQUdfRE9UQUxMOgotICAgICAgICAgICAgICAgIGVtaXQoT1BDT0RFU1tBTllfQUxMXSkKKyAgICAgICAgICAgICAgICBlbWl0KEFOWV9BTEwpCiAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGVtaXQoT1BDT0RFU1tBTlldKQorICAgICAgICAgICAgICAgIGVtaXQoQU5ZKQogICAgICAgICBlbGlmIG9wIGluIFJFUEVBVElOR19DT0RFUzoKICAgICAgICAgICAgIGlmIGZsYWdzICYgU1JFX0ZMQUdfVEVNUExBVEU6CiAgICAgICAgICAgICAgICAgcmFpc2UgZXJyb3IoImludGVybmFsOiB1bnN1cHBvcnRlZCB0ZW1wbGF0ZSBvcGVyYXRvciIpCiAgICAgICAgICAgICBlbGlmIF9zaW1wbGUoYXYpIGFuZCBvcCBpcyBub3QgUkVQRUFUOgogICAgICAgICAgICAgICAgIGlmIG9wIGlzIE1BWF9SRVBFQVQ6Ci0gICAgICAgICAgICAgICAgICAgIGVtaXQoT1BDT0RFU1tSRVBFQVRfT05FXSkKKyAgICAgICAgICAgICAgICAgICAgZW1pdChSRVBFQVRfT05FKQogICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIGVtaXQoT1BDT0RFU1tNSU5fUkVQRUFUX09ORV0pCisgICAgICAgICAgICAgICAgICAgIGVtaXQoTUlOX1JFUEVBVF9PTkUpCiAgICAgICAgICAgICAgICAgc2tpcCA9IF9sZW4oY29kZSk7IGVtaXQoMCkKICAgICAgICAgICAgICAgICBlbWl0KGF2WzBdKQogICAgICAgICAgICAgICAgIGVtaXQoYXZbMV0pCiAgICAgICAgICAgICAgICAgX2NvbXBpbGUoY29kZSwgYXZbMl0sIGZsYWdzKQotICAgICAgICAgICAgICAgIGVtaXQoT1BDT0RFU1tTVUNDRVNTXSkKKyAgICAgICAgICAgICAgICBlbWl0KFNVQ0NFU1MpCiAgICAgICAgICAgICAgICAgY29kZVtza2lwXSA9IF9sZW4oY29kZSkgLSBza2lwCiAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGVtaXQoT1BDT0RFU1tSRVBFQVRdKQorICAgICAgICAgICAgICAgIGVtaXQoUkVQRUFUKQogICAgICAgICAgICAgICAgIHNraXAgPSBfbGVuKGNvZGUpOyBlbWl0KDApCiAgICAgICAgICAgICAgICAgZW1pdChhdlswXSkKICAgICAgICAgICAgICAgICBlbWl0KGF2WzFdKQogICAgICAgICAgICAgICAgIF9jb21waWxlKGNvZGUsIGF2WzJdLCBmbGFncykKICAgICAgICAgICAgICAgICBjb2RlW3NraXBdID0gX2xlbihjb2RlKSAtIHNraXAKICAgICAgICAgICAgICAgICBpZiBvcCBpcyBNQVhfUkVQRUFUOgotICAgICAgICAgICAgICAgICAgICBlbWl0KE9QQ09ERVNbTUFYX1VOVElMXSkKKyAgICAgICAgICAgICAgICAgICAgZW1pdChNQVhfVU5USUwpCiAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgZW1pdChPUENPREVTW01JTl9VTlRJTF0pCisgICAgICAgICAgICAgICAgICAgIGVtaXQoTUlOX1VOVElMKQogICAgICAgICBlbGlmIG9wIGlzIFNVQlBBVFRFUk46CiAgICAgICAgICAgICBpZiBhdlswXToKLSAgICAgICAgICAgICAgICBlbWl0KE9QQ09ERVNbTUFSS10pCisgICAgICAgICAgICAgICAgZW1pdChNQVJLKQogICAgICAgICAgICAgICAgIGVtaXQoKGF2WzBdLTEpKjIpCiAgICAgICAgICAgICAjIF9jb21waWxlX2luZm8oY29kZSwgYXZbMV0sIGZsYWdzKQogICAgICAgICAgICAgX2NvbXBpbGUoY29kZSwgYXZbMV0sIGZsYWdzKQogICAgICAgICAgICAgaWYgYXZbMF06Ci0gICAgICAgICAgICAgICAgZW1pdChPUENPREVTW01BUktdKQorICAgICAgICAgICAgICAgIGVtaXQoTUFSSykKICAgICAgICAgICAgICAgICBlbWl0KChhdlswXS0xKSoyKzEpCiAgICAgICAgIGVsaWYgb3AgaW4gU1VDQ0VTU19DT0RFUzoKLSAgICAgICAgICAgIGVtaXQoT1BDT0RFU1tvcF0pCisgICAgICAgICAgICBlbWl0KG9wKQogICAgICAgICBlbGlmIG9wIGluIEFTU0VSVF9DT0RFUzoKLSAgICAgICAgICAgIGVtaXQoT1BDT0RFU1tvcF0pCisgICAgICAgICAgICBlbWl0KG9wKQogICAgICAgICAgICAgc2tpcCA9IF9sZW4oY29kZSk7IGVtaXQoMCkKICAgICAgICAgICAgIGlmIGF2WzBdID49IDA6CiAgICAgICAgICAgICAgICAgZW1pdCgwKSAjIGxvb2sgYWhlYWQKQEAgLTE2NCw1NyArMTU4LDU3IEBACiAgICAgICAgICAgICAgICAgICAgIHJhaXNlIGVycm9yKCJsb29rLWJlaGluZCByZXF1aXJlcyBmaXhlZC13aWR0aCBwYXR0ZXJuIikKICAgICAgICAgICAgICAgICBlbWl0KGxvKSAjIGxvb2sgYmVoaW5kCiAgICAgICAgICAgICBfY29tcGlsZShjb2RlLCBhdlsxXSwgZmxhZ3MpCi0gICAgICAgICAgICBlbWl0KE9QQ09ERVNbU1VDQ0VTU10pCisgICAgICAgICAgICBlbWl0KFNVQ0NFU1MpCiAgICAgICAgICAgICBjb2RlW3NraXBdID0gX2xlbihjb2RlKSAtIHNraXAKICAgICAgICAgZWxpZiBvcCBpcyBDQUxMOgotICAgICAgICAgICAgZW1pdChPUENPREVTW29wXSkKKyAgICAgICAgICAgIGVtaXQob3ApCiAgICAgICAgICAgICBza2lwID0gX2xlbihjb2RlKTsgZW1pdCgwKQogICAgICAgICAgICAgX2NvbXBpbGUoY29kZSwgYXYsIGZsYWdzKQotICAgICAgICAgICAgZW1pdChPUENPREVTW1NVQ0NFU1NdKQorICAgICAgICAgICAgZW1pdChTVUNDRVNTKQogICAgICAgICAgICAgY29kZVtza2lwXSA9IF9sZW4oY29kZSkgLSBza2lwCiAgICAgICAgIGVsaWYgb3AgaXMgQVQ6Ci0gICAgICAgICAgICBlbWl0KE9QQ09ERVNbb3BdKQorICAgICAgICAgICAgZW1pdChvcCkKICAgICAgICAgICAgIGlmIGZsYWdzICYgU1JFX0ZMQUdfTVVMVElMSU5FOgogICAgICAgICAgICAgICAgIGF2ID0gQVRfTVVMVElMSU5FLmdldChhdiwgYXYpCiAgICAgICAgICAgICBpZiBmbGFncyAmIFNSRV9GTEFHX0xPQ0FMRToKICAgICAgICAgICAgICAgICBhdiA9IEFUX0xPQ0FMRS5nZXQoYXYsIGF2KQogICAgICAgICAgICAgZWxpZiBmbGFncyAmIFNSRV9GTEFHX1VOSUNPREU6CiAgICAgICAgICAgICAgICAgYXYgPSBBVF9VTklDT0RFLmdldChhdiwgYXYpCi0gICAgICAgICAgICBlbWl0KEFUQ09ERVNbYXZdKQorICAgICAgICAgICAgZW1pdChhdikKICAgICAgICAgZWxpZiBvcCBpcyBCUkFOQ0g6Ci0gICAgICAgICAgICBlbWl0KE9QQ09ERVNbb3BdKQorICAgICAgICAgICAgZW1pdChvcCkKICAgICAgICAgICAgIHRhaWwgPSBbXQogICAgICAgICAgICAgdGFpbGFwcGVuZCA9IHRhaWwuYXBwZW5kCiAgICAgICAgICAgICBmb3IgYXYgaW4gYXZbMV06CiAgICAgICAgICAgICAgICAgc2tpcCA9IF9sZW4oY29kZSk7IGVtaXQoMCkKICAgICAgICAgICAgICAgICAjIF9jb21waWxlX2luZm8oY29kZSwgYXYsIGZsYWdzKQogICAgICAgICAgICAgICAgIF9jb21waWxlKGNvZGUsIGF2LCBmbGFncykKLSAgICAgICAgICAgICAgICBlbWl0KE9QQ09ERVNbSlVNUF0pCisgICAgICAgICAgICAgICAgZW1pdChKVU1QKQogICAgICAgICAgICAgICAgIHRhaWxhcHBlbmQoX2xlbihjb2RlKSk7IGVtaXQoMCkKICAgICAgICAgICAgICAgICBjb2RlW3NraXBdID0gX2xlbihjb2RlKSAtIHNraXAKLSAgICAgICAgICAgIGVtaXQoMCkgIyBlbmQgb2YgYnJhbmNoCisgICAgICAgICAgICBlbWl0KEZBSUxVUkUpICMgZW5kIG9mIGJyYW5jaAogICAgICAgICAgICAgZm9yIHRhaWwgaW4gdGFpbDoKICAgICAgICAgICAgICAgICBjb2RlW3RhaWxdID0gX2xlbihjb2RlKSAtIHRhaWwKICAgICAgICAgZWxpZiBvcCBpcyBDQVRFR09SWToKLSAgICAgICAgICAgIGVtaXQoT1BDT0RFU1tvcF0pCisgICAgICAgICAgICBlbWl0KG9wKQogICAgICAgICAgICAgaWYgZmxhZ3MgJiBTUkVfRkxBR19MT0NBTEU6CiAgICAgICAgICAgICAgICAgYXYgPSBDSF9MT0NBTEVbYXZdCiAgICAgICAgICAgICBlbGlmIGZsYWdzICYgU1JFX0ZMQUdfVU5JQ09ERToKICAgICAgICAgICAgICAgICBhdiA9IENIX1VOSUNPREVbYXZdCi0gICAgICAgICAgICBlbWl0KENIQ09ERVNbYXZdKQorICAgICAgICAgICAgZW1pdChhdikKICAgICAgICAgZWxpZiBvcCBpcyBHUk9VUFJFRjoKICAgICAgICAgICAgIGlmIGZsYWdzICYgU1JFX0ZMQUdfSUdOT1JFQ0FTRToKLSAgICAgICAgICAgICAgICBlbWl0KE9QQ09ERVNbT1BfSUdOT1JFW29wXV0pCisgICAgICAgICAgICAgICAgZW1pdChPUF9JR05PUkVbb3BdKQogICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBlbWl0KE9QQ09ERVNbb3BdKQorICAgICAgICAgICAgICAgIGVtaXQob3ApCiAgICAgICAgICAgICBlbWl0KGF2LTEpCiAgICAgICAgIGVsaWYgb3AgaXMgR1JPVVBSRUZfRVhJU1RTOgotICAgICAgICAgICAgZW1pdChPUENPREVTW29wXSkKKyAgICAgICAgICAgIGVtaXQob3ApCiAgICAgICAgICAgICBlbWl0KGF2WzBdLTEpCiAgICAgICAgICAgICBza2lweWVzID0gX2xlbihjb2RlKTsgZW1pdCgwKQogICAgICAgICAgICAgX2NvbXBpbGUoY29kZSwgYXZbMV0sIGZsYWdzKQogICAgICAgICAgICAgaWYgYXZbMl06Ci0gICAgICAgICAgICAgICAgZW1pdChPUENPREVTW0pVTVBdKQorICAgICAgICAgICAgICAgIGVtaXQoSlVNUCkKICAgICAgICAgICAgICAgICBza2lwbm8gPSBfbGVuKGNvZGUpOyBlbWl0KDApCiAgICAgICAgICAgICAgICAgY29kZVtza2lweWVzXSA9IF9sZW4oY29kZSkgLSBza2lweWVzICsgMQogICAgICAgICAgICAgICAgIF9jb21waWxlKGNvZGUsIGF2WzJdLCBmbGFncykKQEAgLTIyNywxNCArMjIxLDEzIEBACiBkZWYgX2NvbXBpbGVfY2hhcnNldChjaGFyc2V0LCBmbGFncywgY29kZSwgZml4dXA9Tm9uZSwgZml4ZXM9Tm9uZSk6CiAgICAgIyBjb21waWxlIGNoYXJzZXQgc3VicHJvZ3JhbQogICAgIGVtaXQgPSBjb2RlLmFwcGVuZAotICAgIGZvciBvcCwgYXYgaW4gX29wdGltaXplX2NoYXJzZXQoY2hhcnNldCwgZml4dXAsIGZpeGVzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ3MgJiBTUkVfRkxBR19VTklDT0RFKToKLSAgICAgICAgZW1pdChPUENPREVTW29wXSkKKyAgICBmb3Igb3AsIGF2IGluIF9vcHRpbWl6ZV9jaGFyc2V0KGNoYXJzZXQsIGZpeHVwLCBmaXhlcyk6CisgICAgICAgIGVtaXQob3ApCiAgICAgICAgIGlmIG9wIGlzIE5FR0FURToKICAgICAgICAgICAgIHBhc3MKICAgICAgICAgZWxpZiBvcCBpcyBMSVRFUkFMOgogICAgICAgICAgICAgZW1pdChhdikKLSAgICAgICAgZWxpZiBvcCBpcyBSQU5HRToKKyAgICAgICAgZWxpZiBvcCBpcyBSQU5HRSBvciBvcCBpcyBSQU5HRV9JR05PUkU6CiAgICAgICAgICAgICBlbWl0KGF2WzBdKQogICAgICAgICAgICAgZW1pdChhdlsxXSkKICAgICAgICAgZWxpZiBvcCBpcyBDSEFSU0VUOgpAQCAtMjQzLDE2ICsyMzYsMTYgQEAKICAgICAgICAgICAgIGNvZGUuZXh0ZW5kKGF2KQogICAgICAgICBlbGlmIG9wIGlzIENBVEVHT1JZOgogICAgICAgICAgICAgaWYgZmxhZ3MgJiBTUkVfRkxBR19MT0NBTEU6Ci0gICAgICAgICAgICAgICAgZW1pdChDSENPREVTW0NIX0xPQ0FMRVthdl1dKQorICAgICAgICAgICAgICAgIGVtaXQoQ0hfTE9DQUxFW2F2XSkKICAgICAgICAgICAgIGVsaWYgZmxhZ3MgJiBTUkVfRkxBR19VTklDT0RFOgotICAgICAgICAgICAgICAgIGVtaXQoQ0hDT0RFU1tDSF9VTklDT0RFW2F2XV0pCisgICAgICAgICAgICAgICAgZW1pdChDSF9VTklDT0RFW2F2XSkKICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgZW1pdChDSENPREVTW2F2XSkKKyAgICAgICAgICAgICAgICBlbWl0KGF2KQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgcmFpc2UgZXJyb3IoImludGVybmFsOiB1bnN1cHBvcnRlZCBzZXQgb3BlcmF0b3IiKQotICAgIGVtaXQoT1BDT0RFU1tGQUlMVVJFXSkKKyAgICBlbWl0KEZBSUxVUkUpCiAKLWRlZiBfb3B0aW1pemVfY2hhcnNldChjaGFyc2V0LCBmaXh1cCwgZml4ZXMsIGlzdW5pY29kZSk6CitkZWYgX29wdGltaXplX2NoYXJzZXQoY2hhcnNldCwgZml4dXAsIGZpeGVzKToKICAgICAjIGludGVybmFsOiBvcHRpbWl6ZSBjaGFyYWN0ZXIgc2V0CiAgICAgb3V0ID0gW10KICAgICB0YWlsID0gW10KQEAgLTI2MiwxMCArMjU1LDEwIEBACiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgaWYgb3AgaXMgTElURVJBTDoKICAgICAgICAgICAgICAgICAgICAgaWYgZml4dXA6Ci0gICAgICAgICAgICAgICAgICAgICAgICBpID0gZml4dXAoYXYpCi0gICAgICAgICAgICAgICAgICAgICAgICBjaGFybWFwW2ldID0gMQotICAgICAgICAgICAgICAgICAgICAgICAgaWYgZml4ZXMgYW5kIGkgaW4gZml4ZXM6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGsgaW4gZml4ZXNbaV06CisgICAgICAgICAgICAgICAgICAgICAgICBsbyA9IGZpeHVwKGF2KQorICAgICAgICAgICAgICAgICAgICAgICAgY2hhcm1hcFtsb10gPSAxCisgICAgICAgICAgICAgICAgICAgICAgICBpZiBmaXhlcyBhbmQgbG8gaW4gZml4ZXM6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGsgaW4gZml4ZXNbbG9dOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFybWFwW2tdID0gMQogICAgICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICAgICAgY2hhcm1hcFthdl0gPSAxCkBAIC0yOTEsMjEgKzI4NCwxMyBAQAogICAgICAgICAgICAgICAgICAgICAjIGNoYXJhY3RlciBzZXQgY29udGFpbnMgbm9uLVVDUzEgY2hhcmFjdGVyIGNvZGVzCiAgICAgICAgICAgICAgICAgICAgIGNoYXJtYXAgKz0gYidcMCcgKiAweGZmMDAKICAgICAgICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgICAgICAjIGNoYXJhY3RlciBzZXQgY29udGFpbnMgbm9uLUJNUCBjaGFyYWN0ZXIgY29kZXMKLSAgICAgICAgICAgICAgICBpZiBmaXh1cCBhbmQgaXN1bmljb2RlIGFuZCBvcCBpcyBSQU5HRToKLSAgICAgICAgICAgICAgICAgICAgbG8sIGhpID0gYXYKLSAgICAgICAgICAgICAgICAgICAgcmFuZ2VzID0gW2F2XQotICAgICAgICAgICAgICAgICAgICAjIFRoZXJlIGFyZSBvbmx5IHR3byByYW5nZXMgb2YgY2FzZWQgYXN0cmFsIGNoYXJhY3RlcnM6Ci0gICAgICAgICAgICAgICAgICAgICMgMTA0MDAtMTA0NEYgKERlc2VyZXQpIGFuZCAxMThBMC0xMThERiAoV2FyYW5nIENpdGkpLgotICAgICAgICAgICAgICAgICAgICBfZml4dXBfcmFuZ2UobWF4KDB4MTAwMDAsIGxvKSwgbWluKDB4MTFmZmYsIGhpKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhbmdlcywgZml4dXApCi0gICAgICAgICAgICAgICAgICAgIGZvciBsbywgaGkgaW4gcmFuZ2VzOgotICAgICAgICAgICAgICAgICAgICAgICAgaWYgbG8gPT0gaGk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFpbC5hcHBlbmQoKExJVEVSQUwsIGhpKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFpbC5hcHBlbmQoKFJBTkdFLCAobG8sIGhpKSkpCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgdGFpbC5hcHBlbmQoKG9wLCBhdikpCisgICAgICAgICAgICAgICAgIyBDaGFyYWN0ZXIgc2V0IGNvbnRhaW5zIG5vbi1CTVAgY2hhcmFjdGVyIGNvZGVzLgorICAgICAgICAgICAgICAgICMgVGhlcmUgYXJlIG9ubHkgdHdvIHJhbmdlcyBvZiBjYXNlZCBub24tQk1QIGNoYXJhY3RlcnM6CisgICAgICAgICAgICAgICAgIyAxMDQwMC0xMDQ0RiAoRGVzZXJldCkgYW5kIDExOEEwLTExOERGIChXYXJhbmcgQ2l0aSksCisgICAgICAgICAgICAgICAgIyBhbmQgZm9yIGJvdGggcmFuZ2VzIFJBTkdFX0lHTk9SRSB3b3Jrcy4KKyAgICAgICAgICAgICAgICBpZiBmaXh1cCBhbmQgb3AgaXMgUkFOR0U6CisgICAgICAgICAgICAgICAgICAgIG9wID0gUkFOR0VfSUdOT1JFCisgICAgICAgICAgICAgICAgdGFpbC5hcHBlbmQoKG9wLCBhdikpCiAgICAgICAgICAgICBicmVhawogCiAgICAgIyBjb21wcmVzcyBjaGFyYWN0ZXIgbWFwCkBAIC0zODMsMjUgKzM2OCw4IEBACiAgICAgb3V0ICs9IHRhaWwKICAgICByZXR1cm4gb3V0CiAKLWRlZiBfZml4dXBfcmFuZ2UobG8sIGhpLCByYW5nZXMsIGZpeHVwKToKLSAgICBmb3IgaSBpbiBtYXAoZml4dXAsIHJhbmdlKGxvLCBoaSsxKSk6Ci0gICAgICAgIGZvciBrLCAobG8sIGhpKSBpbiBlbnVtZXJhdGUocmFuZ2VzKToKLSAgICAgICAgICAgIGlmIGkgPCBsbzoKLSAgICAgICAgICAgICAgICBpZiBsID09IGxvIC0gMToKLSAgICAgICAgICAgICAgICAgICAgcmFuZ2VzW2tdID0gKGksIGhpKQotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIHJhbmdlcy5pbnNlcnQoaywgKGksIGkpKQotICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICBlbGlmIGkgPiBoaToKLSAgICAgICAgICAgICAgICBpZiBpID09IGhpICsgMToKLSAgICAgICAgICAgICAgICAgICAgcmFuZ2VzW2tdID0gKGxvLCBpKQotICAgICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBicmVhawotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmFuZ2VzLmFwcGVuZCgoaSwgaSkpCi0KIF9DT0RFQklUUyA9IF9zcmUuQ09ERVNJWkUgKiA4CitNQVhDT0RFID0gKDEgPDwgX0NPREVCSVRTKSAtIDEKIF9CSVRTX1RSQU5TID0gYicwJyArIGInMScgKiAyNTUKIGRlZiBfbWtfYml0bWFwKGJpdHMsIF9DT0RFQklUUz1fQ09ERUJJVFMsIF9pbnQ9aW50KToKICAgICBzID0gYml0cy50cmFuc2xhdGUoX0JJVFNfVFJBTlMpWzo6LTFdCkBAIC00NDYsOCArNDE0LDExIEBACiAgICAgIyB0aGlzIGNvbnRhaW5zIG1pbi9tYXggcGF0dGVybiB3aWR0aCwgYW5kIGFuIG9wdGlvbmFsIGxpdGVyYWwKICAgICAjIHByZWZpeCBvciBhIGNoYXJhY3RlciBtYXAKICAgICBsbywgaGkgPSBwYXR0ZXJuLmdldHdpZHRoKCkKKyAgICBpZiBoaSA+IE1BWENPREU6CisgICAgICAgIGhpID0gTUFYQ09ERQogICAgIGlmIGxvID09IDA6Ci0gICAgICAgIHJldHVybiAjIG5vdCB3b3J0aCBpdAorICAgICAgICBjb2RlLmV4dGVuZChbSU5GTywgNCwgMCwgbG8sIGhpXSkKKyAgICAgICAgcmV0dXJuCiAgICAgIyBsb29rIGZvciBhIGxpdGVyYWwgcHJlZml4CiAgICAgcHJlZml4ID0gW10KICAgICBwcmVmaXhhcHBlbmQgPSBwcmVmaXguYXBwZW5kCkBAIC01MDUsMjEgKzQ3NiwyMSBAQAogICAgICAgICAgICAgZWxpZiBvcCBpcyBJTjoKICAgICAgICAgICAgICAgICBjaGFyc2V0ID0gYXYKICMjICAgICBpZiBwcmVmaXg6Ci0jIyAgICAgICAgIHByaW50ICIqKiogUFJFRklYIiwgcHJlZml4LCBwcmVmaXhfc2tpcAorIyMgICAgICAgICBwcmludCgiKioqIFBSRUZJWCIsIHByZWZpeCwgcHJlZml4X3NraXApCiAjIyAgICAgaWYgY2hhcnNldDoKLSMjICAgICAgICAgcHJpbnQgIioqKiBDSEFSU0VUIiwgY2hhcnNldAorIyMgICAgICAgICBwcmludCgiKioqIENIQVJTRVQiLCBjaGFyc2V0KQogICAgICMgYWRkIGFuIGluZm8gYmxvY2sKICAgICBlbWl0ID0gY29kZS5hcHBlbmQKLSAgICBlbWl0KE9QQ09ERVNbSU5GT10pCisgICAgZW1pdChJTkZPKQogICAgIHNraXAgPSBsZW4oY29kZSk7IGVtaXQoMCkKICAgICAjIGxpdGVyYWwgZmxhZwogICAgIG1hc2sgPSAwCiAgICAgaWYgcHJlZml4OgogICAgICAgICBtYXNrID0gU1JFX0lORk9fUFJFRklYCiAgICAgICAgIGlmIGxlbihwcmVmaXgpID09IHByZWZpeF9za2lwID09IGxlbihwYXR0ZXJuLmRhdGEpOgotICAgICAgICAgICAgbWFzayA9IG1hc2sgKyBTUkVfSU5GT19MSVRFUkFMCisgICAgICAgICAgICBtYXNrID0gbWFzayB8IFNSRV9JTkZPX0xJVEVSQUwKICAgICBlbGlmIGNoYXJzZXQ6Ci0gICAgICAgIG1hc2sgPSBtYXNrICsgU1JFX0lORk9fQ0hBUlNFVAorICAgICAgICBtYXNrID0gbWFzayB8IFNSRV9JTkZPX0NIQVJTRVQKICAgICBlbWl0KG1hc2spCiAgICAgIyBwYXR0ZXJuIGxlbmd0aAogICAgIGlmIGxvIDwgTUFYQ09ERToKQEAgLTUyNywxMCArNDk4LDcgQEAKICAgICBlbHNlOgogICAgICAgICBlbWl0KE1BWENPREUpCiAgICAgICAgIHByZWZpeCA9IHByZWZpeFs6TUFYQ09ERV0KLSAgICBpZiBoaSA8IE1BWENPREU6Ci0gICAgICAgIGVtaXQoaGkpCi0gICAgZWxzZToKLSAgICAgICAgZW1pdCgwKQorICAgIGVtaXQobWluKGhpLCBNQVhDT0RFKSkKICAgICAjIGFkZCBsaXRlcmFsIHByZWZpeAogICAgIGlmIHByZWZpeDoKICAgICAgICAgZW1pdChsZW4ocHJlZml4KSkgIyBsZW5ndGgKQEAgLTU1Niw3ICs1MjQsNyBAQAogICAgICMgY29tcGlsZSB0aGUgcGF0dGVybgogICAgIF9jb21waWxlKGNvZGUsIHAuZGF0YSwgZmxhZ3MpCiAKLSAgICBjb2RlLmFwcGVuZChPUENPREVTW1NVQ0NFU1NdKQorICAgIGNvZGUuYXBwZW5kKFNVQ0NFU1MpCiAKICAgICByZXR1cm4gY29kZQogCkBAIC01NzEsMTMgKzUzOSw3IEBACiAKICAgICBjb2RlID0gX2NvZGUocCwgZmxhZ3MpCiAKLSAgICAjIHByaW50IGNvZGUKLQotICAgICMgWFhYOiA8Zmw+IGdldCByaWQgb2YgdGhpcyBsaW1pdGF0aW9uIQotICAgIGlmIHAucGF0dGVybi5ncm91cHMgPiAxMDA6Ci0gICAgICAgIHJhaXNlIEFzc2VydGlvbkVycm9yKAotICAgICAgICAgICAgInNvcnJ5LCBidXQgdGhpcyB2ZXJzaW9uIG9ubHkgc3VwcG9ydHMgMTAwIG5hbWVkIGdyb3VwcyIKLSAgICAgICAgICAgICkKKyAgICAjIHByaW50KGNvZGUpCiAKICAgICAjIG1hcCBpbiBlaXRoZXIgZGlyZWN0aW9uCiAgICAgZ3JvdXBpbmRleCA9IHAucGF0dGVybi5ncm91cGRpY3QKZGlmZiAtLWdpdCBhL0xpYi9zcmVfY29uc3RhbnRzLnB5IGIvTGliL3NyZV9jb25zdGFudHMucHkKaW5kZXggMjNlMzUxNi4uOGI2YmJmYSAxMDA2NDQKLS0tIGEvTGliL3NyZV9jb25zdGFudHMucHkKKysrIGIvTGliL3NyZV9jb25zdGFudHMucHkKQEAgLTEzLDE1MyArMTMsMTE1IEBACiAKICMgdXBkYXRlIHdoZW4gY29uc3RhbnRzIGFyZSBhZGRlZCBvciByZW1vdmVkCiAKLU1BR0lDID0gMjAwMzEwMTcKK01BR0lDID0gMjAxNDA5MTcKIAotZnJvbSBfc3JlIGltcG9ydCBNQVhSRVBFQVQKK2Zyb20gX3NyZSBpbXBvcnQgTUFYUkVQRUFULCBNQVhHUk9VUFMKIAogIyBTUkUgc3RhbmRhcmQgZXhjZXB0aW9uIChhY2Nlc3MgYXMgc3JlLmVycm9yKQogIyBzaG91bGQgdGhpcyByZWFsbHkgYmUgaGVyZT8KIAogY2xhc3MgZXJyb3IoRXhjZXB0aW9uKToKLSAgICBwYXNzCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIG1zZywgcGF0dGVybj1Ob25lLCBwb3M9Tm9uZSk6CisgICAgICAgIHNlbGYubXNnID0gbXNnCisgICAgICAgIHNlbGYucGF0dGVybiA9IHBhdHRlcm4KKyAgICAgICAgc2VsZi5wb3MgPSBwb3MKKyAgICAgICAgaWYgcGF0dGVybiBpcyBub3QgTm9uZSBhbmQgcG9zIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgbXNnID0gJyVzIGF0IHBvc2l0aW9uICVkJyAlIChtc2csIHBvcykKKyAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UocGF0dGVybiwgc3RyKToKKyAgICAgICAgICAgICAgICBuZXdsaW5lID0gJ1xuJworICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBuZXdsaW5lID0gYidcbicKKyAgICAgICAgICAgIHNlbGYubGluZW5vID0gcGF0dGVybi5jb3VudChuZXdsaW5lLCAwLCBwb3MpICsgMQorICAgICAgICAgICAgc2VsZi5jb2xubyA9IHBvcyAtIHBhdHRlcm4ucmZpbmQobmV3bGluZSwgMCwgcG9zKQorICAgICAgICAgICAgaWYgbmV3bGluZSBpbiBwYXR0ZXJuOgorICAgICAgICAgICAgICAgIG1zZyA9ICclcyAobGluZSAlZCwgY29sdW1uICVkKScgJSAobXNnLCBzZWxmLmxpbmVubywgc2VsZi5jb2xubykKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYubGluZW5vID0gc2VsZi5jb2xubyA9IE5vbmUKKyAgICAgICAgc3VwZXIoKS5fX2luaXRfXyhtc2cpCisKKworY2xhc3MgX05hbWVkSW50Q29uc3RhbnQoaW50KToKKyAgICBkZWYgX19uZXdfXyhjbHMsIHZhbHVlLCBuYW1lKToKKyAgICAgICAgc2VsZiA9IHN1cGVyKF9OYW1lZEludENvbnN0YW50LCBjbHMpLl9fbmV3X18oY2xzLCB2YWx1ZSkKKyAgICAgICAgc2VsZi5uYW1lID0gbmFtZQorICAgICAgICByZXR1cm4gc2VsZgorCisgICAgZGVmIF9fc3RyX18oc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLm5hbWUKKworICAgIF9fcmVwcl9fID0gX19zdHJfXworCitNQVhSRVBFQVQgPSBfTmFtZWRJbnRDb25zdGFudChNQVhSRVBFQVQsICdNQVhSRVBFQVQnKQorCitkZWYgX21ha2Vjb2RlcyhuYW1lcyk6CisgICAgbmFtZXMgPSBuYW1lcy5zdHJpcCgpLnNwbGl0KCkKKyAgICBpdGVtcyA9IFtfTmFtZWRJbnRDb25zdGFudChpLCBuYW1lKSBmb3IgaSwgbmFtZSBpbiBlbnVtZXJhdGUobmFtZXMpXQorICAgIGdsb2JhbHMoKS51cGRhdGUoe2l0ZW0ubmFtZTogaXRlbSBmb3IgaXRlbSBpbiBpdGVtc30pCisgICAgcmV0dXJuIGl0ZW1zCiAKICMgb3BlcmF0b3JzCisjIGZhaWx1cmU9MCBzdWNjZXNzPTEgKGp1c3QgYmVjYXVzZSBpdCBsb29rcyBiZXR0ZXIgdGhhdCB3YXkgOi0pCitPUENPREVTID0gX21ha2Vjb2RlcygiIiIKKyAgICBGQUlMVVJFIFNVQ0NFU1MKIAotRkFJTFVSRSA9ICJmYWlsdXJlIgotU1VDQ0VTUyA9ICJzdWNjZXNzIgorICAgIEFOWSBBTllfQUxMCisgICAgQVNTRVJUIEFTU0VSVF9OT1QKKyAgICBBVAorICAgIEJSQU5DSAorICAgIENBTEwKKyAgICBDQVRFR09SWQorICAgIENIQVJTRVQgQklHQ0hBUlNFVAorICAgIEdST1VQUkVGIEdST1VQUkVGX0VYSVNUUyBHUk9VUFJFRl9JR05PUkUKKyAgICBJTiBJTl9JR05PUkUKKyAgICBJTkZPCisgICAgSlVNUAorICAgIExJVEVSQUwgTElURVJBTF9JR05PUkUKKyAgICBNQVJLCisgICAgTUFYX1VOVElMCisgICAgTUlOX1VOVElMCisgICAgTk9UX0xJVEVSQUwgTk9UX0xJVEVSQUxfSUdOT1JFCisgICAgTkVHQVRFCisgICAgUkFOR0UKKyAgICBSRVBFQVQKKyAgICBSRVBFQVRfT05FCisgICAgU1VCUEFUVEVSTgorICAgIE1JTl9SRVBFQVRfT05FCisgICAgUkFOR0VfSUdOT1JFCiAKLUFOWSA9ICJhbnkiCi1BTllfQUxMID0gImFueV9hbGwiCi1BU1NFUlQgPSAiYXNzZXJ0IgotQVNTRVJUX05PVCA9ICJhc3NlcnRfbm90IgotQVQgPSAiYXQiCi1CSUdDSEFSU0VUID0gImJpZ2NoYXJzZXQiCi1CUkFOQ0ggPSAiYnJhbmNoIgotQ0FMTCA9ICJjYWxsIgotQ0FURUdPUlkgPSAiY2F0ZWdvcnkiCi1DSEFSU0VUID0gImNoYXJzZXQiCi1HUk9VUFJFRiA9ICJncm91cHJlZiIKLUdST1VQUkVGX0lHTk9SRSA9ICJncm91cHJlZl9pZ25vcmUiCi1HUk9VUFJFRl9FWElTVFMgPSAiZ3JvdXByZWZfZXhpc3RzIgotSU4gPSAiaW4iCi1JTl9JR05PUkUgPSAiaW5faWdub3JlIgotSU5GTyA9ICJpbmZvIgotSlVNUCA9ICJqdW1wIgotTElURVJBTCA9ICJsaXRlcmFsIgotTElURVJBTF9JR05PUkUgPSAibGl0ZXJhbF9pZ25vcmUiCi1NQVJLID0gIm1hcmsiCi1NQVhfUkVQRUFUID0gIm1heF9yZXBlYXQiCi1NQVhfVU5USUwgPSAibWF4X3VudGlsIgotTUlOX1JFUEVBVCA9ICJtaW5fcmVwZWF0IgotTUlOX1VOVElMID0gIm1pbl91bnRpbCIKLU5FR0FURSA9ICJuZWdhdGUiCi1OT1RfTElURVJBTCA9ICJub3RfbGl0ZXJhbCIKLU5PVF9MSVRFUkFMX0lHTk9SRSA9ICJub3RfbGl0ZXJhbF9pZ25vcmUiCi1SQU5HRSA9ICJyYW5nZSIKLVJFUEVBVCA9ICJyZXBlYXQiCi1SRVBFQVRfT05FID0gInJlcGVhdF9vbmUiCi1TVUJQQVRURVJOID0gInN1YnBhdHRlcm4iCi1NSU5fUkVQRUFUX09ORSA9ICJtaW5fcmVwZWF0X29uZSIKKyAgICBNSU5fUkVQRUFUIE1BWF9SRVBFQVQKKyIiIikKK2RlbCBPUENPREVTWy0yOl0gIyByZW1vdmUgTUlOX1JFUEVBVCBhbmQgTUFYX1JFUEVBVAogCiAjIHBvc2l0aW9ucwotQVRfQkVHSU5OSU5HID0gImF0X2JlZ2lubmluZyIKLUFUX0JFR0lOTklOR19MSU5FID0gImF0X2JlZ2lubmluZ19saW5lIgotQVRfQkVHSU5OSU5HX1NUUklORyA9ICJhdF9iZWdpbm5pbmdfc3RyaW5nIgotQVRfQk9VTkRBUlkgPSAiYXRfYm91bmRhcnkiCi1BVF9OT05fQk9VTkRBUlkgPSAiYXRfbm9uX2JvdW5kYXJ5IgotQVRfRU5EID0gImF0X2VuZCIKLUFUX0VORF9MSU5FID0gImF0X2VuZF9saW5lIgotQVRfRU5EX1NUUklORyA9ICJhdF9lbmRfc3RyaW5nIgotQVRfTE9DX0JPVU5EQVJZID0gImF0X2xvY19ib3VuZGFyeSIKLUFUX0xPQ19OT05fQk9VTkRBUlkgPSAiYXRfbG9jX25vbl9ib3VuZGFyeSIKLUFUX1VOSV9CT1VOREFSWSA9ICJhdF91bmlfYm91bmRhcnkiCi1BVF9VTklfTk9OX0JPVU5EQVJZID0gImF0X3VuaV9ub25fYm91bmRhcnkiCitBVENPREVTID0gX21ha2Vjb2RlcygiIiIKKyAgICBBVF9CRUdJTk5JTkcgQVRfQkVHSU5OSU5HX0xJTkUgQVRfQkVHSU5OSU5HX1NUUklORworICAgIEFUX0JPVU5EQVJZIEFUX05PTl9CT1VOREFSWQorICAgIEFUX0VORCBBVF9FTkRfTElORSBBVF9FTkRfU1RSSU5HCisgICAgQVRfTE9DX0JPVU5EQVJZIEFUX0xPQ19OT05fQk9VTkRBUlkKKyAgICBBVF9VTklfQk9VTkRBUlkgQVRfVU5JX05PTl9CT1VOREFSWQorIiIiKQogCiAjIGNhdGVnb3JpZXMKLUNBVEVHT1JZX0RJR0lUID0gImNhdGVnb3J5X2RpZ2l0IgotQ0FURUdPUllfTk9UX0RJR0lUID0gImNhdGVnb3J5X25vdF9kaWdpdCIKLUNBVEVHT1JZX1NQQUNFID0gImNhdGVnb3J5X3NwYWNlIgotQ0FURUdPUllfTk9UX1NQQUNFID0gImNhdGVnb3J5X25vdF9zcGFjZSIKLUNBVEVHT1JZX1dPUkQgPSAiY2F0ZWdvcnlfd29yZCIKLUNBVEVHT1JZX05PVF9XT1JEID0gImNhdGVnb3J5X25vdF93b3JkIgotQ0FURUdPUllfTElORUJSRUFLID0gImNhdGVnb3J5X2xpbmVicmVhayIKLUNBVEVHT1JZX05PVF9MSU5FQlJFQUsgPSAiY2F0ZWdvcnlfbm90X2xpbmVicmVhayIKLUNBVEVHT1JZX0xPQ19XT1JEID0gImNhdGVnb3J5X2xvY193b3JkIgotQ0FURUdPUllfTE9DX05PVF9XT1JEID0gImNhdGVnb3J5X2xvY19ub3Rfd29yZCIKLUNBVEVHT1JZX1VOSV9ESUdJVCA9ICJjYXRlZ29yeV91bmlfZGlnaXQiCi1DQVRFR09SWV9VTklfTk9UX0RJR0lUID0gImNhdGVnb3J5X3VuaV9ub3RfZGlnaXQiCi1DQVRFR09SWV9VTklfU1BBQ0UgPSAiY2F0ZWdvcnlfdW5pX3NwYWNlIgotQ0FURUdPUllfVU5JX05PVF9TUEFDRSA9ICJjYXRlZ29yeV91bmlfbm90X3NwYWNlIgotQ0FURUdPUllfVU5JX1dPUkQgPSAiY2F0ZWdvcnlfdW5pX3dvcmQiCi1DQVRFR09SWV9VTklfTk9UX1dPUkQgPSAiY2F0ZWdvcnlfdW5pX25vdF93b3JkIgotQ0FURUdPUllfVU5JX0xJTkVCUkVBSyA9ICJjYXRlZ29yeV91bmlfbGluZWJyZWFrIgotQ0FURUdPUllfVU5JX05PVF9MSU5FQlJFQUsgPSAiY2F0ZWdvcnlfdW5pX25vdF9saW5lYnJlYWsiCitDSENPREVTID0gX21ha2Vjb2RlcygiIiIKKyAgICBDQVRFR09SWV9ESUdJVCBDQVRFR09SWV9OT1RfRElHSVQKKyAgICBDQVRFR09SWV9TUEFDRSBDQVRFR09SWV9OT1RfU1BBQ0UKKyAgICBDQVRFR09SWV9XT1JEIENBVEVHT1JZX05PVF9XT1JECisgICAgQ0FURUdPUllfTElORUJSRUFLIENBVEVHT1JZX05PVF9MSU5FQlJFQUsKKyAgICBDQVRFR09SWV9MT0NfV09SRCBDQVRFR09SWV9MT0NfTk9UX1dPUkQKKyAgICBDQVRFR09SWV9VTklfRElHSVQgQ0FURUdPUllfVU5JX05PVF9ESUdJVAorICAgIENBVEVHT1JZX1VOSV9TUEFDRSBDQVRFR09SWV9VTklfTk9UX1NQQUNFCisgICAgQ0FURUdPUllfVU5JX1dPUkQgQ0FURUdPUllfVU5JX05PVF9XT1JECisgICAgQ0FURUdPUllfVU5JX0xJTkVCUkVBSyBDQVRFR09SWV9VTklfTk9UX0xJTkVCUkVBSworIiIiKQogCi1PUENPREVTID0gWwotCi0gICAgIyBmYWlsdXJlPTAgc3VjY2Vzcz0xIChqdXN0IGJlY2F1c2UgaXQgbG9va3MgYmV0dGVyIHRoYXQgd2F5IDotKQotICAgIEZBSUxVUkUsIFNVQ0NFU1MsCi0KLSAgICBBTlksIEFOWV9BTEwsCi0gICAgQVNTRVJULCBBU1NFUlRfTk9ULAotICAgIEFULAotICAgIEJSQU5DSCwKLSAgICBDQUxMLAotICAgIENBVEVHT1JZLAotICAgIENIQVJTRVQsIEJJR0NIQVJTRVQsCi0gICAgR1JPVVBSRUYsIEdST1VQUkVGX0VYSVNUUywgR1JPVVBSRUZfSUdOT1JFLAotICAgIElOLCBJTl9JR05PUkUsCi0gICAgSU5GTywKLSAgICBKVU1QLAotICAgIExJVEVSQUwsIExJVEVSQUxfSUdOT1JFLAotICAgIE1BUkssCi0gICAgTUFYX1VOVElMLAotICAgIE1JTl9VTlRJTCwKLSAgICBOT1RfTElURVJBTCwgTk9UX0xJVEVSQUxfSUdOT1JFLAotICAgIE5FR0FURSwKLSAgICBSQU5HRSwKLSAgICBSRVBFQVQsCi0gICAgUkVQRUFUX09ORSwKLSAgICBTVUJQQVRURVJOLAotICAgIE1JTl9SRVBFQVRfT05FCi0KLV0KLQotQVRDT0RFUyA9IFsKLSAgICBBVF9CRUdJTk5JTkcsIEFUX0JFR0lOTklOR19MSU5FLCBBVF9CRUdJTk5JTkdfU1RSSU5HLCBBVF9CT1VOREFSWSwKLSAgICBBVF9OT05fQk9VTkRBUlksIEFUX0VORCwgQVRfRU5EX0xJTkUsIEFUX0VORF9TVFJJTkcsCi0gICAgQVRfTE9DX0JPVU5EQVJZLCBBVF9MT0NfTk9OX0JPVU5EQVJZLCBBVF9VTklfQk9VTkRBUlksCi0gICAgQVRfVU5JX05PTl9CT1VOREFSWQotXQotCi1DSENPREVTID0gWwotICAgIENBVEVHT1JZX0RJR0lULCBDQVRFR09SWV9OT1RfRElHSVQsIENBVEVHT1JZX1NQQUNFLAotICAgIENBVEVHT1JZX05PVF9TUEFDRSwgQ0FURUdPUllfV09SRCwgQ0FURUdPUllfTk9UX1dPUkQsCi0gICAgQ0FURUdPUllfTElORUJSRUFLLCBDQVRFR09SWV9OT1RfTElORUJSRUFLLCBDQVRFR09SWV9MT0NfV09SRCwKLSAgICBDQVRFR09SWV9MT0NfTk9UX1dPUkQsIENBVEVHT1JZX1VOSV9ESUdJVCwgQ0FURUdPUllfVU5JX05PVF9ESUdJVCwKLSAgICBDQVRFR09SWV9VTklfU1BBQ0UsIENBVEVHT1JZX1VOSV9OT1RfU1BBQ0UsIENBVEVHT1JZX1VOSV9XT1JELAotICAgIENBVEVHT1JZX1VOSV9OT1RfV09SRCwgQ0FURUdPUllfVU5JX0xJTkVCUkVBSywKLSAgICBDQVRFR09SWV9VTklfTk9UX0xJTkVCUkVBSwotXQotCi1kZWYgbWFrZWRpY3QobGlzdCk6Ci0gICAgZCA9IHt9Ci0gICAgaSA9IDAKLSAgICBmb3IgaXRlbSBpbiBsaXN0OgotICAgICAgICBkW2l0ZW1dID0gaQotICAgICAgICBpID0gaSArIDEKLSAgICByZXR1cm4gZAotCi1PUENPREVTID0gbWFrZWRpY3QoT1BDT0RFUykKLUFUQ09ERVMgPSBtYWtlZGljdChBVENPREVTKQotQ0hDT0RFUyA9IG1ha2VkaWN0KENIQ09ERVMpCiAKICMgcmVwbGFjZW1lbnQgb3BlcmF0aW9ucyBmb3IgImlnbm9yZSBjYXNlIiBtb2RlCiBPUF9JR05PUkUgPSB7CiAgICAgR1JPVVBSRUY6IEdST1VQUkVGX0lHTk9SRSwKICAgICBJTjogSU5fSUdOT1JFLAogICAgIExJVEVSQUw6IExJVEVSQUxfSUdOT1JFLAotICAgIE5PVF9MSVRFUkFMOiBOT1RfTElURVJBTF9JR05PUkUKKyAgICBOT1RfTElURVJBTDogTk9UX0xJVEVSQUxfSUdOT1JFLAorICAgIFJBTkdFOiBSQU5HRV9JR05PUkUsCiB9CiAKIEFUX01VTFRJTElORSA9IHsKQEAgLTIxNyw5ICsxNzksOSBAQAogCiBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgogICAgIGRlZiBkdW1wKGYsIGQsIHByZWZpeCk6Ci0gICAgICAgIGl0ZW1zID0gc29ydGVkKGQuaXRlbXMoKSwga2V5PWxhbWJkYSBhOiBhWzFdKQotICAgICAgICBmb3IgaywgdiBpbiBpdGVtczoKLSAgICAgICAgICAgIGYud3JpdGUoIiNkZWZpbmUgJXNfJXMgJXNcbiIgJSAocHJlZml4LCBrLnVwcGVyKCksIHYpKQorICAgICAgICBpdGVtcyA9IHNvcnRlZChkKQorICAgICAgICBmb3IgaXRlbSBpbiBpdGVtczoKKyAgICAgICAgICAgIGYud3JpdGUoIiNkZWZpbmUgJXNfJXMgJWRcbiIgJSAocHJlZml4LCBpdGVtLCBpdGVtKSkKICAgICBmID0gb3Blbigic3JlX2NvbnN0YW50cy5oIiwgInciKQogICAgIGYud3JpdGUoIiIiXAogLyoKZGlmZiAtLWdpdCBhL0xpYi9zcmVfcGFyc2UucHkgYi9MaWIvc3JlX3BhcnNlLnB5CmluZGV4IGI1NmQ0MzcuLjFhN2QzMTYgMTAwNjQ0Ci0tLSBhL0xpYi9zcmVfcGFyc2UucHkKKysrIGIvTGliL3NyZV9wYXJzZS5weQpAQCAtMTMsMTcgKzEzLDE5IEBACiAjIFhYWDogc2hvdyBzdHJpbmcgb2Zmc2V0IGFuZCBvZmZlbmRpbmcgY2hhcmFjdGVyIGZvciBhbGwgZXJyb3JzCiAKIGZyb20gc3JlX2NvbnN0YW50cyBpbXBvcnQgKgotZnJvbSBfc3JlIGltcG9ydCBNQVhSRVBFQVQKIAogU1BFQ0lBTF9DSEFSUyA9ICIuXFxbeygpKis/XiR8IgogUkVQRUFUX0NIQVJTID0gIiorP3siCiAKLURJR0lUUyA9IHNldCgiMDEyMzQ1Njc4OSIpCitESUdJVFMgPSBmcm96ZW5zZXQoIjAxMjM0NTY3ODkiKQogCi1PQ1RESUdJVFMgPSBzZXQoIjAxMjM0NTY3IikKLUhFWERJR0lUUyA9IHNldCgiMDEyMzQ1Njc4OWFiY2RlZkFCQ0RFRiIpCitPQ1RESUdJVFMgPSBmcm96ZW5zZXQoIjAxMjM0NTY3IikKK0hFWERJR0lUUyA9IGZyb3plbnNldCgiMDEyMzQ1Njc4OWFiY2RlZkFCQ0RFRiIpCiAKLVdISVRFU1BBQ0UgPSBzZXQoIiBcdFxuXHJcdlxmIikKK1dISVRFU1BBQ0UgPSBmcm96ZW5zZXQoIiBcdFxuXHJcdlxmIikKKworX1JFUEVBVENPREVTID0gZnJvemVuc2V0KHtNSU5fUkVQRUFULCBNQVhfUkVQRUFUfSkKK19VTklUQ09ERVMgPSBmcm96ZW5zZXQoe0FOWSwgUkFOR0UsIElOLCBMSVRFUkFMLCBOT1RfTElURVJBTCwgQ0FURUdPUll9KQogCiBFU0NBUEVTID0gewogICAgIHIiXGEiOiAoTElURVJBTCwgb3JkKCJcYSIpKSwKQEAgLTcyLDExICs3NCwxMyBAQAogICAgIGRlZiBvcGVuZ3JvdXAoc2VsZiwgbmFtZT1Ob25lKToKICAgICAgICAgZ2lkID0gc2VsZi5ncm91cHMKICAgICAgICAgc2VsZi5ncm91cHMgPSBnaWQgKyAxCisgICAgICAgIGlmIHNlbGYuZ3JvdXBzID4gTUFYR1JPVVBTOgorICAgICAgICAgICAgcmFpc2UgZXJyb3IoImdyb3VwcyBudW1iZXIgaXMgdG9vIGxhcmdlIikKICAgICAgICAgaWYgbmFtZSBpcyBub3QgTm9uZToKICAgICAgICAgICAgIG9naWQgPSBzZWxmLmdyb3VwZGljdC5nZXQobmFtZSwgTm9uZSkKICAgICAgICAgICAgIGlmIG9naWQgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgcmFpc2UgZXJyb3IoInJlZGVmaW5pdGlvbiBvZiBncm91cCBuYW1lICVzIGFzIGdyb3VwICVkOyAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIndhcyBncm91cCAlZCIgJSAocmVwcihuYW1lKSwgZ2lkLCAgb2dpZCkpCisgICAgICAgICAgICAgICAgcmFpc2UgZXJyb3IoInJlZGVmaW5pdGlvbiBvZiBncm91cCBuYW1lICVyIGFzIGdyb3VwICVkOyAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIndhcyBncm91cCAlZCIgJSAobmFtZSwgZ2lkLCAgb2dpZCkpCiAgICAgICAgICAgICBzZWxmLmdyb3VwZGljdFtuYW1lXSA9IGdpZAogICAgICAgICBzZWxmLm9wZW4uYXBwZW5kKGdpZCkKICAgICAgICAgcmV0dXJuIGdpZApAQCAtOTcsMjQgKzEwMSwyNCBAQAogICAgICAgICBubCA9IFRydWUKICAgICAgICAgc2VxdHlwZXMgPSAodHVwbGUsIGxpc3QpCiAgICAgICAgIGZvciBvcCwgYXYgaW4gc2VsZi5kYXRhOgotICAgICAgICAgICAgcHJpbnQobGV2ZWwqIiAgIiArIG9wLCBlbmQ9JycpCi0gICAgICAgICAgICBpZiBvcCA9PSBJTjoKKyAgICAgICAgICAgIHByaW50KGxldmVsKiIgICIgKyBzdHIob3ApLCBlbmQ9JycpCisgICAgICAgICAgICBpZiBvcCBpcyBJTjoKICAgICAgICAgICAgICAgICAjIG1lbWJlciBzdWJsYW5ndWFnZQogICAgICAgICAgICAgICAgIHByaW50KCkKICAgICAgICAgICAgICAgICBmb3Igb3AsIGEgaW4gYXY6Ci0gICAgICAgICAgICAgICAgICAgIHByaW50KChsZXZlbCsxKSoiICAiICsgb3AsIGEpCi0gICAgICAgICAgICBlbGlmIG9wID09IEJSQU5DSDoKKyAgICAgICAgICAgICAgICAgICAgcHJpbnQoKGxldmVsKzEpKiIgICIgKyBzdHIob3ApLCBhKQorICAgICAgICAgICAgZWxpZiBvcCBpcyBCUkFOQ0g6CiAgICAgICAgICAgICAgICAgcHJpbnQoKQogICAgICAgICAgICAgICAgIGZvciBpLCBhIGluIGVudW1lcmF0ZShhdlsxXSk6CiAgICAgICAgICAgICAgICAgICAgIGlmIGk6Ci0gICAgICAgICAgICAgICAgICAgICAgICBwcmludChsZXZlbCoiICAiICsgIm9yIikKKyAgICAgICAgICAgICAgICAgICAgICAgIHByaW50KGxldmVsKiIgICIgKyAiT1IiKQogICAgICAgICAgICAgICAgICAgICBhLmR1bXAobGV2ZWwrMSkKLSAgICAgICAgICAgIGVsaWYgb3AgPT0gR1JPVVBSRUZfRVhJU1RTOgorICAgICAgICAgICAgZWxpZiBvcCBpcyBHUk9VUFJFRl9FWElTVFM6CiAgICAgICAgICAgICAgICAgY29uZGdyb3VwLCBpdGVtX3llcywgaXRlbV9ubyA9IGF2CiAgICAgICAgICAgICAgICAgcHJpbnQoJycsIGNvbmRncm91cCkKICAgICAgICAgICAgICAgICBpdGVtX3llcy5kdW1wKGxldmVsKzEpCiAgICAgICAgICAgICAgICAgaWYgaXRlbV9ubzoKLSAgICAgICAgICAgICAgICAgICAgcHJpbnQobGV2ZWwqIiAgIiArICJlbHNlIikKKyAgICAgICAgICAgICAgICAgICAgcHJpbnQobGV2ZWwqIiAgIiArICJFTFNFIikKICAgICAgICAgICAgICAgICAgICAgaXRlbV9uby5kdW1wKGxldmVsKzEpCiAgICAgICAgICAgICBlbGlmIGlzaW5zdGFuY2UoYXYsIHNlcXR5cGVzKToKICAgICAgICAgICAgICAgICBubCA9IEZhbHNlCkBAIC0xNTEsMTEgKzE1NSw5IEBACiAgICAgICAgIHNlbGYuZGF0YS5hcHBlbmQoY29kZSkKICAgICBkZWYgZ2V0d2lkdGgoc2VsZik6CiAgICAgICAgICMgZGV0ZXJtaW5lIHRoZSB3aWR0aCAobWluLCBtYXgpIGZvciB0aGlzIHN1YnBhdHRlcm4KLSAgICAgICAgaWYgc2VsZi53aWR0aDoKKyAgICAgICAgaWYgc2VsZi53aWR0aCBpcyBub3QgTm9uZToKICAgICAgICAgICAgIHJldHVybiBzZWxmLndpZHRoCiAgICAgICAgIGxvID0gaGkgPSAwCi0gICAgICAgIFVOSVRDT0RFUyA9IChBTlksIFJBTkdFLCBJTiwgTElURVJBTCwgTk9UX0xJVEVSQUwsIENBVEVHT1JZKQotICAgICAgICBSRVBFQVRDT0RFUyA9IChNSU5fUkVQRUFULCBNQVhfUkVQRUFUKQogICAgICAgICBmb3Igb3AsIGF2IGluIHNlbGYuZGF0YToKICAgICAgICAgICAgIGlmIG9wIGlzIEJSQU5DSDoKICAgICAgICAgICAgICAgICBpID0gTUFYUkVQRUFUIC0gMQpAQCAtMTc0LDExICsxNzYsMTEgQEAKICAgICAgICAgICAgICAgICBpLCBqID0gYXZbMV0uZ2V0d2lkdGgoKQogICAgICAgICAgICAgICAgIGxvID0gbG8gKyBpCiAgICAgICAgICAgICAgICAgaGkgPSBoaSArIGoKLSAgICAgICAgICAgIGVsaWYgb3AgaW4gUkVQRUFUQ09ERVM6CisgICAgICAgICAgICBlbGlmIG9wIGluIF9SRVBFQVRDT0RFUzoKICAgICAgICAgICAgICAgICBpLCBqID0gYXZbMl0uZ2V0d2lkdGgoKQogICAgICAgICAgICAgICAgIGxvID0gbG8gKyBpICogYXZbMF0KICAgICAgICAgICAgICAgICBoaSA9IGhpICsgaiAqIGF2WzFdCi0gICAgICAgICAgICBlbGlmIG9wIGluIFVOSVRDT0RFUzoKKyAgICAgICAgICAgIGVsaWYgb3AgaW4gX1VOSVRDT0RFUzoKICAgICAgICAgICAgICAgICBsbyA9IGxvICsgMQogICAgICAgICAgICAgICAgIGhpID0gaGkgKyAxCiAgICAgICAgICAgICBlbGlmIG9wID09IFNVQ0NFU1M6CkBAIC0xOTAsMzMgKzE5MiwzMyBAQAogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBzdHJpbmcpOgogICAgICAgICBzZWxmLmlzdGV4dCA9IGlzaW5zdGFuY2Uoc3RyaW5nLCBzdHIpCiAgICAgICAgIHNlbGYuc3RyaW5nID0gc3RyaW5nCisgICAgICAgIGlmIG5vdCBzZWxmLmlzdGV4dDoKKyAgICAgICAgICAgIHN0cmluZyA9IHN0cihzdHJpbmcsICdsYXRpbjEnKQorICAgICAgICBzZWxmLmRlY29kZWRfc3RyaW5nID0gc3RyaW5nCiAgICAgICAgIHNlbGYuaW5kZXggPSAwCisgICAgICAgIHNlbGYubmV4dCA9IE5vbmUKICAgICAgICAgc2VsZi5fX25leHQoKQogICAgIGRlZiBfX25leHQoc2VsZik6Ci0gICAgICAgIGlmIHNlbGYuaW5kZXggPj0gbGVuKHNlbGYuc3RyaW5nKToKKyAgICAgICAgaW5kZXggPSBzZWxmLmluZGV4CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGNoYXIgPSBzZWxmLmRlY29kZWRfc3RyaW5nW2luZGV4XQorICAgICAgICBleGNlcHQgSW5kZXhFcnJvcjoKICAgICAgICAgICAgIHNlbGYubmV4dCA9IE5vbmUKICAgICAgICAgICAgIHJldHVybgotICAgICAgICBjaGFyID0gc2VsZi5zdHJpbmdbc2VsZi5pbmRleDpzZWxmLmluZGV4KzFdCi0gICAgICAgICMgU3BlY2lhbCBjYXNlIGZvciB0aGUgc3RyOCwgc2luY2UgaW5kZXhpbmcgcmV0dXJucyBhIGludGVnZXIKLSAgICAgICAgIyBYWFggVGhpcyBpcyBvbmx5IG5lZWRlZCBmb3IgdGVzdF9idWdfOTI2MDc1IGluIHRlc3RfcmUucHkKLSAgICAgICAgaWYgY2hhciBhbmQgbm90IHNlbGYuaXN0ZXh0OgotICAgICAgICAgICAgY2hhciA9IGNocihjaGFyWzBdKQogICAgICAgICBpZiBjaGFyID09ICJcXCI6CisgICAgICAgICAgICBpbmRleCArPSAxCiAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgYyA9IHNlbGYuc3RyaW5nW3NlbGYuaW5kZXggKyAxXQorICAgICAgICAgICAgICAgIGNoYXIgKz0gc2VsZi5kZWNvZGVkX3N0cmluZ1tpbmRleF0KICAgICAgICAgICAgIGV4Y2VwdCBJbmRleEVycm9yOgotICAgICAgICAgICAgICAgIHJhaXNlIGVycm9yKCJib2d1cyBlc2NhcGUgKGVuZCBvZiBsaW5lKSIpCi0gICAgICAgICAgICBpZiBub3Qgc2VsZi5pc3RleHQ6Ci0gICAgICAgICAgICAgICAgYyA9IGNocihjKQotICAgICAgICAgICAgY2hhciA9IGNoYXIgKyBjCi0gICAgICAgIHNlbGYuaW5kZXggPSBzZWxmLmluZGV4ICsgbGVuKGNoYXIpCisgICAgICAgICAgICAgICAgcmFpc2UgZXJyb3IoImJvZ3VzIGVzY2FwZSAoZW5kIG9mIGxpbmUpIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnN0cmluZywgbGVuKHNlbGYuc3RyaW5nKSAtIDEpIGZyb20gTm9uZQorICAgICAgICBzZWxmLmluZGV4ID0gaW5kZXggKyAxCiAgICAgICAgIHNlbGYubmV4dCA9IGNoYXIKLSAgICBkZWYgbWF0Y2goc2VsZiwgY2hhciwgc2tpcD0xKToKKyAgICBkZWYgbWF0Y2goc2VsZiwgY2hhcik6CiAgICAgICAgIGlmIGNoYXIgPT0gc2VsZi5uZXh0OgotICAgICAgICAgICAgaWYgc2tpcDoKLSAgICAgICAgICAgICAgICBzZWxmLl9fbmV4dCgpCi0gICAgICAgICAgICByZXR1cm4gMQotICAgICAgICByZXR1cm4gMAorICAgICAgICAgICAgc2VsZi5fX25leHQoKQorICAgICAgICAgICAgcmV0dXJuIFRydWUKKyAgICAgICAgcmV0dXJuIEZhbHNlCiAgICAgZGVmIGdldChzZWxmKToKICAgICAgICAgdGhpcyA9IHNlbGYubmV4dAogICAgICAgICBzZWxmLl9fbmV4dCgpCkBAIC0yMzAsMTAgKzIzMiwyNSBAQAogICAgICAgICAgICAgcmVzdWx0ICs9IGMKICAgICAgICAgICAgIHNlbGYuX19uZXh0KCkKICAgICAgICAgcmV0dXJuIHJlc3VsdAorICAgIGRlZiBnZXR1bnRpbChzZWxmLCB0ZXJtaW5hdG9yKToKKyAgICAgICAgcmVzdWx0ID0gJycKKyAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgIGMgPSBzZWxmLm5leHQKKyAgICAgICAgICAgIHNlbGYuX19uZXh0KCkKKyAgICAgICAgICAgIGlmIGMgaXMgTm9uZToKKyAgICAgICAgICAgICAgICByYWlzZSBzZWxmLmVycm9yKCJ1bnRlcm1pbmF0ZWQgbmFtZSIpCisgICAgICAgICAgICBpZiBjID09IHRlcm1pbmF0b3I6CisgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgIHJlc3VsdCArPSBjCisgICAgICAgIHJldHVybiByZXN1bHQKICAgICBkZWYgdGVsbChzZWxmKToKLSAgICAgICAgcmV0dXJuIHNlbGYuaW5kZXgsIHNlbGYubmV4dAorICAgICAgICByZXR1cm4gc2VsZi5pbmRleCAtIGxlbihzZWxmLm5leHQgb3IgJycpCiAgICAgZGVmIHNlZWsoc2VsZiwgaW5kZXgpOgotICAgICAgICBzZWxmLmluZGV4LCBzZWxmLm5leHQgPSBpbmRleAorICAgICAgICBzZWxmLmluZGV4ID0gaW5kZXgKKyAgICAgICAgc2VsZi5fX25leHQoKQorCisgICAgZGVmIGVycm9yKHNlbGYsIG1zZywgb2Zmc2V0PTApOgorICAgICAgICByZXR1cm4gZXJyb3IobXNnLCBzZWxmLnN0cmluZywgc2VsZi50ZWxsKCkgLSBvZmZzZXQpCiAKICMgVGhlIGZvbGxvd2luZyB0aHJlZSBmdW5jdGlvbnMgYXJlIG5vdCB1c2VkIGluIHRoaXMgbW9kdWxlIGFueW1vcmUsIGJ1dCB3ZSBrZWVwCiAjIHRoZW0gaGVyZSAod2l0aCBEZXByZWNhdGlvbldhcm5pbmdzKSBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuCkBAIC0yNjgsNyArMjg1LDcgQEAKICAgICBpZiBjb2RlOgogICAgICAgICByZXR1cm4gY29kZQogICAgIGNvZGUgPSBDQVRFR09SSUVTLmdldChlc2NhcGUpCi0gICAgaWYgY29kZSBhbmQgY29kZVswXSA9PSBJTjoKKyAgICBpZiBjb2RlIGFuZCBjb2RlWzBdIGlzIElOOgogICAgICAgICByZXR1cm4gY29kZQogICAgIHRyeToKICAgICAgICAgYyA9IGVzY2FwZVsxOjJdCkBAIC0yNzcsNyArMjk0LDcgQEAKICAgICAgICAgICAgIGVzY2FwZSArPSBzb3VyY2UuZ2V0d2hpbGUoMiwgSEVYRElHSVRTKQogICAgICAgICAgICAgaWYgbGVuKGVzY2FwZSkgIT0gNDoKICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yCi0gICAgICAgICAgICByZXR1cm4gTElURVJBTCwgaW50KGVzY2FwZVsyOl0sIDE2KSAmIDB4ZmYKKyAgICAgICAgICAgIHJldHVybiBMSVRFUkFMLCBpbnQoZXNjYXBlWzI6XSwgMTYpCiAgICAgICAgIGVsaWYgYyA9PSAidSIgYW5kIHNvdXJjZS5pc3RleHQ6CiAgICAgICAgICAgICAjIHVuaWNvZGUgZXNjYXBlIChleGFjdGx5IGZvdXIgZGlnaXRzKQogICAgICAgICAgICAgZXNjYXBlICs9IHNvdXJjZS5nZXR3aGlsZSg0LCBIRVhESUdJVFMpCkBAIC0yOTUsMTQgKzMxMiwxOCBAQAogICAgICAgICBlbGlmIGMgaW4gT0NURElHSVRTOgogICAgICAgICAgICAgIyBvY3RhbCBlc2NhcGUgKHVwIHRvIHRocmVlIGRpZ2l0cykKICAgICAgICAgICAgIGVzY2FwZSArPSBzb3VyY2UuZ2V0d2hpbGUoMiwgT0NURElHSVRTKQotICAgICAgICAgICAgcmV0dXJuIExJVEVSQUwsIGludChlc2NhcGVbMTpdLCA4KSAmIDB4ZmYKKyAgICAgICAgICAgIGMgPSBpbnQoZXNjYXBlWzE6XSwgOCkKKyAgICAgICAgICAgIGlmIGMgPiAwbzM3NzoKKyAgICAgICAgICAgICAgICByYWlzZSBzb3VyY2UuZXJyb3IoJ29jdGFsIGVzY2FwZSB2YWx1ZSAlciBvdXRzaWRlIG9mICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JhbmdlIDAtMG8zNzcnICUgZXNjYXBlLCBsZW4oZXNjYXBlKSkKKyAgICAgICAgICAgIHJldHVybiBMSVRFUkFMLCBjCiAgICAgICAgIGVsaWYgYyBpbiBESUdJVFM6CiAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yCiAgICAgICAgIGlmIGxlbihlc2NhcGUpID09IDI6CiAgICAgICAgICAgICByZXR1cm4gTElURVJBTCwgb3JkKGVzY2FwZVsxXSkKICAgICBleGNlcHQgVmFsdWVFcnJvcjoKICAgICAgICAgcGFzcwotICAgIHJhaXNlIGVycm9yKCJib2d1cyBlc2NhcGU6ICVzIiAlIHJlcHIoZXNjYXBlKSkKKyAgICByYWlzZSBzb3VyY2UuZXJyb3IoImJvZ3VzIGVzY2FwZTogJXIiICUgZXNjYXBlLCBsZW4oZXNjYXBlKSkKIAogZGVmIF9lc2NhcGUoc291cmNlLCBlc2NhcGUsIHN0YXRlKToKICAgICAjIGhhbmRsZSBlc2NhcGUgY29kZSBpbiBleHByZXNzaW9uCkBAIC0zMTksNyArMzQwLDcgQEAKICAgICAgICAgICAgIGVzY2FwZSArPSBzb3VyY2UuZ2V0d2hpbGUoMiwgSEVYRElHSVRTKQogICAgICAgICAgICAgaWYgbGVuKGVzY2FwZSkgIT0gNDoKICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yCi0gICAgICAgICAgICByZXR1cm4gTElURVJBTCwgaW50KGVzY2FwZVsyOl0sIDE2KSAmIDB4ZmYKKyAgICAgICAgICAgIHJldHVybiBMSVRFUkFMLCBpbnQoZXNjYXBlWzI6XSwgMTYpCiAgICAgICAgIGVsaWYgYyA9PSAidSIgYW5kIHNvdXJjZS5pc3RleHQ6CiAgICAgICAgICAgICAjIHVuaWNvZGUgZXNjYXBlIChleGFjdGx5IGZvdXIgZGlnaXRzKQogICAgICAgICAgICAgZXNjYXBlICs9IHNvdXJjZS5nZXR3aGlsZSg0LCBIRVhESUdJVFMpCkBAIC0zMzcsNDUgKzM1OCw0NyBAQAogICAgICAgICBlbGlmIGMgPT0gIjAiOgogICAgICAgICAgICAgIyBvY3RhbCBlc2NhcGUKICAgICAgICAgICAgIGVzY2FwZSArPSBzb3VyY2UuZ2V0d2hpbGUoMiwgT0NURElHSVRTKQotICAgICAgICAgICAgcmV0dXJuIExJVEVSQUwsIGludChlc2NhcGVbMTpdLCA4KSAmIDB4ZmYKKyAgICAgICAgICAgIHJldHVybiBMSVRFUkFMLCBpbnQoZXNjYXBlWzE6XSwgOCkKICAgICAgICAgZWxpZiBjIGluIERJR0lUUzoKICAgICAgICAgICAgICMgb2N0YWwgZXNjYXBlICpvciogZGVjaW1hbCBncm91cCByZWZlcmVuY2UgKHNpZ2gpCiAgICAgICAgICAgICBpZiBzb3VyY2UubmV4dCBpbiBESUdJVFM6Ci0gICAgICAgICAgICAgICAgZXNjYXBlID0gZXNjYXBlICsgc291cmNlLmdldCgpCisgICAgICAgICAgICAgICAgZXNjYXBlICs9IHNvdXJjZS5nZXQoKQogICAgICAgICAgICAgICAgIGlmIChlc2NhcGVbMV0gaW4gT0NURElHSVRTIGFuZCBlc2NhcGVbMl0gaW4gT0NURElHSVRTIGFuZAogICAgICAgICAgICAgICAgICAgICBzb3VyY2UubmV4dCBpbiBPQ1RESUdJVFMpOgogICAgICAgICAgICAgICAgICAgICAjIGdvdCB0aHJlZSBvY3RhbCBkaWdpdHM7IHRoaXMgaXMgYW4gb2N0YWwgZXNjYXBlCi0gICAgICAgICAgICAgICAgICAgIGVzY2FwZSA9IGVzY2FwZSArIHNvdXJjZS5nZXQoKQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gTElURVJBTCwgaW50KGVzY2FwZVsxOl0sIDgpICYgMHhmZgorICAgICAgICAgICAgICAgICAgICBlc2NhcGUgKz0gc291cmNlLmdldCgpCisgICAgICAgICAgICAgICAgICAgIGMgPSBpbnQoZXNjYXBlWzE6XSwgOCkKKyAgICAgICAgICAgICAgICAgICAgaWYgYyA+IDBvMzc3OgorICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2Ugc291cmNlLmVycm9yKCdvY3RhbCBlc2NhcGUgdmFsdWUgJXIgb3V0c2lkZSBvZiAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JhbmdlIDAtMG8zNzcnICUgZXNjYXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbihlc2NhcGUpKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gTElURVJBTCwgYwogICAgICAgICAgICAgIyBub3QgYW4gb2N0YWwgZXNjYXBlLCBzbyB0aGlzIGlzIGEgZ3JvdXAgcmVmZXJlbmNlCiAgICAgICAgICAgICBncm91cCA9IGludChlc2NhcGVbMTpdKQogICAgICAgICAgICAgaWYgZ3JvdXAgPCBzdGF0ZS5ncm91cHM6CiAgICAgICAgICAgICAgICAgaWYgbm90IHN0YXRlLmNoZWNrZ3JvdXAoZ3JvdXApOgotICAgICAgICAgICAgICAgICAgICByYWlzZSBlcnJvcigiY2Fubm90IHJlZmVyIHRvIG9wZW4gZ3JvdXAiKQorICAgICAgICAgICAgICAgICAgICByYWlzZSBzb3VyY2UuZXJyb3IoImNhbm5vdCByZWZlciB0byBvcGVuIGdyb3VwIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbihlc2NhcGUpKQogICAgICAgICAgICAgICAgIHJldHVybiBHUk9VUFJFRiwgZ3JvdXAKICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IKICAgICAgICAgaWYgbGVuKGVzY2FwZSkgPT0gMjoKICAgICAgICAgICAgIHJldHVybiBMSVRFUkFMLCBvcmQoZXNjYXBlWzFdKQogICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgogICAgICAgICBwYXNzCi0gICAgcmFpc2UgZXJyb3IoImJvZ3VzIGVzY2FwZTogJXMiICUgcmVwcihlc2NhcGUpKQorICAgIHJhaXNlIHNvdXJjZS5lcnJvcigiYm9ndXMgZXNjYXBlOiAlciIgJSBlc2NhcGUsIGxlbihlc2NhcGUpKQogCi1kZWYgX3BhcnNlX3N1Yihzb3VyY2UsIHN0YXRlLCBuZXN0ZWQ9MSk6CitkZWYgX3BhcnNlX3N1Yihzb3VyY2UsIHN0YXRlLCBuZXN0ZWQ9VHJ1ZSk6CiAgICAgIyBwYXJzZSBhbiBhbHRlcm5hdGlvbjogYXxifGMKIAogICAgIGl0ZW1zID0gW10KICAgICBpdGVtc2FwcGVuZCA9IGl0ZW1zLmFwcGVuZAogICAgIHNvdXJjZW1hdGNoID0gc291cmNlLm1hdGNoCi0gICAgd2hpbGUgMToKKyAgICB3aGlsZSBUcnVlOgogICAgICAgICBpdGVtc2FwcGVuZChfcGFyc2Uoc291cmNlLCBzdGF0ZSkpCi0gICAgICAgIGlmIHNvdXJjZW1hdGNoKCJ8Iik6Ci0gICAgICAgICAgICBjb250aW51ZQotICAgICAgICBpZiBub3QgbmVzdGVkOgorICAgICAgICBpZiBub3Qgc291cmNlbWF0Y2goInwiKToKICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgIGlmIG5vdCBzb3VyY2UubmV4dCBvciBzb3VyY2VtYXRjaCgiKSIsIDApOgotICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJhaXNlIGVycm9yKCJwYXR0ZXJuIG5vdCBwcm9wZXJseSBjbG9zZWQiKQorICAgIGlmIG5lc3RlZCBhbmQgc291cmNlLm5leHQgaXMgbm90IE5vbmUgYW5kIHNvdXJjZS5uZXh0ICE9ICIpIjoKKyAgICAgICAgcmFpc2Ugc291cmNlLmVycm9yKCJwYXR0ZXJuIG5vdCBwcm9wZXJseSBjbG9zZWQiKQogCiAgICAgaWYgbGVuKGl0ZW1zKSA9PSAxOgogICAgICAgICByZXR1cm4gaXRlbXNbMF0KQEAgLTM4NCw3ICs0MDcsNyBAQAogICAgIHN1YnBhdHRlcm5hcHBlbmQgPSBzdWJwYXR0ZXJuLmFwcGVuZAogCiAgICAgIyBjaGVjayBpZiBhbGwgaXRlbXMgc2hhcmUgYSBjb21tb24gcHJlZml4Ci0gICAgd2hpbGUgMToKKyAgICB3aGlsZSBUcnVlOgogICAgICAgICBwcmVmaXggPSBOb25lCiAgICAgICAgIGZvciBpdGVtIGluIGl0ZW1zOgogICAgICAgICAgICAgaWYgbm90IGl0ZW06CkBAIC00MDQsMTYgKzQyNywxMiBAQAogCiAgICAgIyBjaGVjayBpZiB0aGUgYnJhbmNoIGNhbiBiZSByZXBsYWNlZCBieSBhIGNoYXJhY3RlciBzZXQKICAgICBmb3IgaXRlbSBpbiBpdGVtczoKLSAgICAgICAgaWYgbGVuKGl0ZW0pICE9IDEgb3IgaXRlbVswXVswXSAhPSBMSVRFUkFMOgorICAgICAgICBpZiBsZW4oaXRlbSkgIT0gMSBvciBpdGVtWzBdWzBdIGlzIG5vdCBMSVRFUkFMOgogICAgICAgICAgICAgYnJlYWsKICAgICBlbHNlOgogICAgICAgICAjIHdlIGNhbiBzdG9yZSB0aGlzIGFzIGEgY2hhcmFjdGVyIHNldCBpbnN0ZWFkIG9mIGEKICAgICAgICAgIyBicmFuY2ggKHRoZSBjb21waWxlciBtYXkgb3B0aW1pemUgdGhpcyBldmVuIG1vcmUpCi0gICAgICAgIHNldCA9IFtdCi0gICAgICAgIHNldGFwcGVuZCA9IHNldC5hcHBlbmQKLSAgICAgICAgZm9yIGl0ZW0gaW4gaXRlbXM6Ci0gICAgICAgICAgICBzZXRhcHBlbmQoaXRlbVswXSkKLSAgICAgICAgc3VicGF0dGVybmFwcGVuZCgoSU4sIHNldCkpCisgICAgICAgIHN1YnBhdHRlcm5hcHBlbmQoKElOLCBbaXRlbVswXSBmb3IgaXRlbSBpbiBpdGVtc10pKQogICAgICAgICByZXR1cm4gc3VicGF0dGVybgogCiAgICAgc3VicGF0dGVybi5hcHBlbmQoKEJSQU5DSCwgKE5vbmUsIGl0ZW1zKSkpCkBAIC00MjMsMjEgKzQ0MiwxNiBAQAogICAgIGl0ZW1feWVzID0gX3BhcnNlKHNvdXJjZSwgc3RhdGUpCiAgICAgaWYgc291cmNlLm1hdGNoKCJ8Iik6CiAgICAgICAgIGl0ZW1fbm8gPSBfcGFyc2Uoc291cmNlLCBzdGF0ZSkKLSAgICAgICAgaWYgc291cmNlLm1hdGNoKCJ8Iik6Ci0gICAgICAgICAgICByYWlzZSBlcnJvcigiY29uZGl0aW9uYWwgYmFja3JlZiB3aXRoIG1vcmUgdGhhbiB0d28gYnJhbmNoZXMiKQorICAgICAgICBpZiBzb3VyY2UubmV4dCA9PSAifCI6CisgICAgICAgICAgICByYWlzZSBzb3VyY2UuZXJyb3IoImNvbmRpdGlvbmFsIGJhY2tyZWYgd2l0aCBtb3JlIHRoYW4gdHdvIGJyYW5jaGVzIikKICAgICBlbHNlOgogICAgICAgICBpdGVtX25vID0gTm9uZQotICAgIGlmIHNvdXJjZS5uZXh0IGFuZCBub3Qgc291cmNlLm1hdGNoKCIpIiwgMCk6Ci0gICAgICAgIHJhaXNlIGVycm9yKCJwYXR0ZXJuIG5vdCBwcm9wZXJseSBjbG9zZWQiKQorICAgIGlmIHNvdXJjZS5uZXh0IGlzIG5vdCBOb25lIGFuZCBzb3VyY2UubmV4dCAhPSAiKSI6CisgICAgICAgIHJhaXNlIHNvdXJjZS5lcnJvcigicGF0dGVybiBub3QgcHJvcGVybHkgY2xvc2VkIikKICAgICBzdWJwYXR0ZXJuID0gU3ViUGF0dGVybihzdGF0ZSkKICAgICBzdWJwYXR0ZXJuLmFwcGVuZCgoR1JPVVBSRUZfRVhJU1RTLCAoY29uZGdyb3VwLCBpdGVtX3llcywgaXRlbV9ubykpKQogICAgIHJldHVybiBzdWJwYXR0ZXJuCiAKLV9QQVRURVJORU5ERVJTID0gc2V0KCJ8KSIpCi1fQVNTRVJUQ0hBUlMgPSBzZXQoIj0hPCIpCi1fTE9PS0JFSElOREFTU0VSVENIQVJTID0gc2V0KCI9ISIpCi1fUkVQRUFUQ09ERVMgPSBzZXQoW01JTl9SRVBFQVQsIE1BWF9SRVBFQVRdKQotCiBkZWYgX3BhcnNlKHNvdXJjZSwgc3RhdGUpOgogICAgICMgcGFyc2UgYSBzaW1wbGUgcGF0dGVybgogICAgIHN1YnBhdHRlcm4gPSBTdWJQYXR0ZXJuKHN0YXRlKQpAQCAtNDQ3LDMyICs0NjEsMzUgQEAKICAgICBzb3VyY2VnZXQgPSBzb3VyY2UuZ2V0CiAgICAgc291cmNlbWF0Y2ggPSBzb3VyY2UubWF0Y2gKICAgICBfbGVuID0gbGVuCi0gICAgUEFUVEVSTkVOREVSUyA9IF9QQVRURVJORU5ERVJTCi0gICAgQVNTRVJUQ0hBUlMgPSBfQVNTRVJUQ0hBUlMKLSAgICBMT09LQkVISU5EQVNTRVJUQ0hBUlMgPSBfTE9PS0JFSElOREFTU0VSVENIQVJTCi0gICAgUkVQRUFUQ09ERVMgPSBfUkVQRUFUQ09ERVMKKyAgICBfb3JkID0gb3JkCisgICAgdmVyYm9zZSA9IHN0YXRlLmZsYWdzICYgU1JFX0ZMQUdfVkVSQk9TRQogCi0gICAgd2hpbGUgMToKKyAgICB3aGlsZSBUcnVlOgogCi0gICAgICAgIGlmIHNvdXJjZS5uZXh0IGluIFBBVFRFUk5FTkRFUlM6Ci0gICAgICAgICAgICBicmVhayAjIGVuZCBvZiBzdWJwYXR0ZXJuCi0gICAgICAgIHRoaXMgPSBzb3VyY2VnZXQoKQorICAgICAgICB0aGlzID0gc291cmNlLm5leHQKICAgICAgICAgaWYgdGhpcyBpcyBOb25lOgogICAgICAgICAgICAgYnJlYWsgIyBlbmQgb2YgcGF0dGVybgorICAgICAgICBpZiB0aGlzIGluICJ8KSI6CisgICAgICAgICAgICBicmVhayAjIGVuZCBvZiBzdWJwYXR0ZXJuCisgICAgICAgIHNvdXJjZWdldCgpCiAKLSAgICAgICAgaWYgc3RhdGUuZmxhZ3MgJiBTUkVfRkxBR19WRVJCT1NFOgorICAgICAgICBpZiB2ZXJib3NlOgogICAgICAgICAgICAgIyBza2lwIHdoaXRlc3BhY2UgYW5kIGNvbW1lbnRzCiAgICAgICAgICAgICBpZiB0aGlzIGluIFdISVRFU1BBQ0U6CiAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgIGlmIHRoaXMgPT0gIiMiOgotICAgICAgICAgICAgICAgIHdoaWxlIDE6CisgICAgICAgICAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgICAgICAgICAgdGhpcyA9IHNvdXJjZWdldCgpCi0gICAgICAgICAgICAgICAgICAgIGlmIHRoaXMgaW4gKE5vbmUsICJcbiIpOgorICAgICAgICAgICAgICAgICAgICBpZiB0aGlzIGlzIE5vbmUgb3IgdGhpcyA9PSAiXG4iOgogICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgICAgICBjb250aW51ZQogCi0gICAgICAgIGlmIHRoaXMgYW5kIHRoaXNbMF0gbm90IGluIFNQRUNJQUxfQ0hBUlM6Ci0gICAgICAgICAgICBzdWJwYXR0ZXJuYXBwZW5kKChMSVRFUkFMLCBvcmQodGhpcykpKQorICAgICAgICBpZiB0aGlzWzBdID09ICJcXCI6CisgICAgICAgICAgICBjb2RlID0gX2VzY2FwZShzb3VyY2UsIHRoaXMsIHN0YXRlKQorICAgICAgICAgICAgc3VicGF0dGVybmFwcGVuZChjb2RlKQorCisgICAgICAgIGVsaWYgdGhpcyBub3QgaW4gU1BFQ0lBTF9DSEFSUzoKKyAgICAgICAgICAgIHN1YnBhdHRlcm5hcHBlbmQoKExJVEVSQUwsIF9vcmQodGhpcykpKQogCiAgICAgICAgIGVsaWYgdGhpcyA9PSAiWyI6CiAgICAgICAgICAgICAjIGNoYXJhY3RlciBzZXQKQEAgLTQ4NCwzOSArNTAxLDM4IEBACiAgICAgICAgICAgICAgICAgc2V0YXBwZW5kKChORUdBVEUsIE5vbmUpKQogICAgICAgICAgICAgIyBjaGVjayByZW1haW5pbmcgY2hhcmFjdGVycwogICAgICAgICAgICAgc3RhcnQgPSBzZXRbOl0KLSAgICAgICAgICAgIHdoaWxlIDE6CisgICAgICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICAgICAgIHRoaXMgPSBzb3VyY2VnZXQoKQorICAgICAgICAgICAgICAgIGlmIHRoaXMgaXMgTm9uZToKKyAgICAgICAgICAgICAgICAgICAgcmFpc2Ugc291cmNlLmVycm9yKCJ1bmV4cGVjdGVkIGVuZCBvZiByZWd1bGFyIGV4cHJlc3Npb24iKQogICAgICAgICAgICAgICAgIGlmIHRoaXMgPT0gIl0iIGFuZCBzZXQgIT0gc3RhcnQ6CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICAgICAgZWxpZiB0aGlzIGFuZCB0aGlzWzBdID09ICJcXCI6CisgICAgICAgICAgICAgICAgZWxpZiB0aGlzWzBdID09ICJcXCI6CiAgICAgICAgICAgICAgICAgICAgIGNvZGUxID0gX2NsYXNzX2VzY2FwZShzb3VyY2UsIHRoaXMpCi0gICAgICAgICAgICAgICAgZWxpZiB0aGlzOgotICAgICAgICAgICAgICAgICAgICBjb2RlMSA9IExJVEVSQUwsIG9yZCh0aGlzKQogICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIHJhaXNlIGVycm9yKCJ1bmV4cGVjdGVkIGVuZCBvZiByZWd1bGFyIGV4cHJlc3Npb24iKQorICAgICAgICAgICAgICAgICAgICBjb2RlMSA9IExJVEVSQUwsIF9vcmQodGhpcykKICAgICAgICAgICAgICAgICBpZiBzb3VyY2VtYXRjaCgiLSIpOgogICAgICAgICAgICAgICAgICAgICAjIHBvdGVudGlhbCByYW5nZQogICAgICAgICAgICAgICAgICAgICB0aGlzID0gc291cmNlZ2V0KCkKKyAgICAgICAgICAgICAgICAgICAgaWYgdGhpcyBpcyBOb25lOgorICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2Ugc291cmNlLmVycm9yKCJ1bmV4cGVjdGVkIGVuZCBvZiByZWd1bGFyIGV4cHJlc3Npb24iKQogICAgICAgICAgICAgICAgICAgICBpZiB0aGlzID09ICJdIjoKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIGNvZGUxWzBdIGlzIElOOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvZGUxID0gY29kZTFbMV1bMF0KICAgICAgICAgICAgICAgICAgICAgICAgIHNldGFwcGVuZChjb2RlMSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHNldGFwcGVuZCgoTElURVJBTCwgb3JkKCItIikpKQorICAgICAgICAgICAgICAgICAgICAgICAgc2V0YXBwZW5kKChMSVRFUkFMLCBfb3JkKCItIikpKQogICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgICAgICAgICAgZWxpZiB0aGlzOgotICAgICAgICAgICAgICAgICAgICAgICAgaWYgdGhpc1swXSA9PSAiXFwiOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvZGUyID0gX2NsYXNzX2VzY2FwZShzb3VyY2UsIHRoaXMpCi0gICAgICAgICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvZGUyID0gTElURVJBTCwgb3JkKHRoaXMpCi0gICAgICAgICAgICAgICAgICAgICAgICBpZiBjb2RlMVswXSAhPSBMSVRFUkFMIG9yIGNvZGUyWzBdICE9IExJVEVSQUw6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgZXJyb3IoImJhZCBjaGFyYWN0ZXIgcmFuZ2UiKQotICAgICAgICAgICAgICAgICAgICAgICAgbG8gPSBjb2RlMVsxXQotICAgICAgICAgICAgICAgICAgICAgICAgaGkgPSBjb2RlMlsxXQotICAgICAgICAgICAgICAgICAgICAgICAgaWYgaGkgPCBsbzoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBlcnJvcigiYmFkIGNoYXJhY3RlciByYW5nZSIpCi0gICAgICAgICAgICAgICAgICAgICAgICBzZXRhcHBlbmQoKFJBTkdFLCAobG8sIGhpKSkpCisgICAgICAgICAgICAgICAgICAgIGlmIHRoaXNbMF0gPT0gIlxcIjoKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvZGUyID0gX2NsYXNzX2VzY2FwZShzb3VyY2UsIHRoaXMpCiAgICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBlcnJvcigidW5leHBlY3RlZCBlbmQgb2YgcmVndWxhciBleHByZXNzaW9uIikKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvZGUyID0gTElURVJBTCwgX29yZCh0aGlzKQorICAgICAgICAgICAgICAgICAgICBpZiBjb2RlMVswXSAhPSBMSVRFUkFMIG9yIGNvZGUyWzBdICE9IExJVEVSQUw6CisgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBzb3VyY2UuZXJyb3IoImJhZCBjaGFyYWN0ZXIgcmFuZ2UiLCBsZW4odGhpcykpCisgICAgICAgICAgICAgICAgICAgIGxvID0gY29kZTFbMV0KKyAgICAgICAgICAgICAgICAgICAgaGkgPSBjb2RlMlsxXQorICAgICAgICAgICAgICAgICAgICBpZiBoaSA8IGxvOgorICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2Ugc291cmNlLmVycm9yKCJiYWQgY2hhcmFjdGVyIHJhbmdlIiwgbGVuKHRoaXMpKQorICAgICAgICAgICAgICAgICAgICBzZXRhcHBlbmQoKFJBTkdFLCAobG8sIGhpKSkpCiAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgaWYgY29kZTFbMF0gaXMgSU46CiAgICAgICAgICAgICAgICAgICAgICAgICBjb2RlMSA9IGNvZGUxWzFdWzBdCkBAIC01MzEsOCArNTQ3LDkgQEAKICAgICAgICAgICAgICAgICAjIFhYWDogPGZsPiBzaG91bGQgYWRkIGNoYXJtYXAgb3B0aW1pemF0aW9uIGhlcmUKICAgICAgICAgICAgICAgICBzdWJwYXR0ZXJuYXBwZW5kKChJTiwgc2V0KSkKIAotICAgICAgICBlbGlmIHRoaXMgYW5kIHRoaXNbMF0gaW4gUkVQRUFUX0NIQVJTOgorICAgICAgICBlbGlmIHRoaXMgaW4gUkVQRUFUX0NIQVJTOgogICAgICAgICAgICAgIyByZXBlYXQgcHJldmlvdXMgaXRlbQorICAgICAgICAgICAgaGVyZSA9IHNvdXJjZS50ZWxsKCkKICAgICAgICAgICAgIGlmIHRoaXMgPT0gIj8iOgogICAgICAgICAgICAgICAgIG1pbiwgbWF4ID0gMCwgMQogICAgICAgICAgICAgZWxpZiB0aGlzID09ICIqIjoKQEAgLTU0MiwyMCArNTU5LDE5IEBACiAgICAgICAgICAgICAgICAgbWluLCBtYXggPSAxLCBNQVhSRVBFQVQKICAgICAgICAgICAgIGVsaWYgdGhpcyA9PSAieyI6CiAgICAgICAgICAgICAgICAgaWYgc291cmNlLm5leHQgPT0gIn0iOgotICAgICAgICAgICAgICAgICAgICBzdWJwYXR0ZXJuYXBwZW5kKChMSVRFUkFMLCBvcmQodGhpcykpKQorICAgICAgICAgICAgICAgICAgICBzdWJwYXR0ZXJuYXBwZW5kKChMSVRFUkFMLCBfb3JkKHRoaXMpKSkKICAgICAgICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgICAgICBoZXJlID0gc291cmNlLnRlbGwoKQogICAgICAgICAgICAgICAgIG1pbiwgbWF4ID0gMCwgTUFYUkVQRUFUCiAgICAgICAgICAgICAgICAgbG8gPSBoaSA9ICIiCiAgICAgICAgICAgICAgICAgd2hpbGUgc291cmNlLm5leHQgaW4gRElHSVRTOgotICAgICAgICAgICAgICAgICAgICBsbyA9IGxvICsgc291cmNlLmdldCgpCisgICAgICAgICAgICAgICAgICAgIGxvICs9IHNvdXJjZWdldCgpCiAgICAgICAgICAgICAgICAgaWYgc291cmNlbWF0Y2goIiwiKToKICAgICAgICAgICAgICAgICAgICAgd2hpbGUgc291cmNlLm5leHQgaW4gRElHSVRTOgotICAgICAgICAgICAgICAgICAgICAgICAgaGkgPSBoaSArIHNvdXJjZWdldCgpCisgICAgICAgICAgICAgICAgICAgICAgICBoaSArPSBzb3VyY2VnZXQoKQogICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgIGhpID0gbG8KICAgICAgICAgICAgICAgICBpZiBub3Qgc291cmNlbWF0Y2goIn0iKToKLSAgICAgICAgICAgICAgICAgICAgc3VicGF0dGVybmFwcGVuZCgoTElURVJBTCwgb3JkKHRoaXMpKSkKKyAgICAgICAgICAgICAgICAgICAgc3VicGF0dGVybmFwcGVuZCgoTElURVJBTCwgX29yZCh0aGlzKSkpCiAgICAgICAgICAgICAgICAgICAgIHNvdXJjZS5zZWVrKGhlcmUpCiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICAgICAgaWYgbG86CkBAIC01NjcsMTggKzU4MywyMSBAQAogICAgICAgICAgICAgICAgICAgICBpZiBtYXggPj0gTUFYUkVQRUFUOgogICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgT3ZlcmZsb3dFcnJvcigidGhlIHJlcGV0aXRpb24gbnVtYmVyIGlzIHRvbyBsYXJnZSIpCiAgICAgICAgICAgICAgICAgICAgIGlmIG1heCA8IG1pbjoKLSAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIGVycm9yKCJiYWQgcmVwZWF0IGludGVydmFsIikKKyAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIHNvdXJjZS5lcnJvcigiYmFkIHJlcGVhdCBpbnRlcnZhbCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlLnRlbGwoKSAtIGhlcmUpCiAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHJhaXNlIGVycm9yKCJub3Qgc3VwcG9ydGVkIikKKyAgICAgICAgICAgICAgICByYWlzZSBzb3VyY2UuZXJyb3IoIm5vdCBzdXBwb3J0ZWQiLCBsZW4odGhpcykpCiAgICAgICAgICAgICAjIGZpZ3VyZSBvdXQgd2hpY2ggaXRlbSB0byByZXBlYXQKICAgICAgICAgICAgIGlmIHN1YnBhdHRlcm46CiAgICAgICAgICAgICAgICAgaXRlbSA9IHN1YnBhdHRlcm5bLTE6XQogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBpdGVtID0gTm9uZQotICAgICAgICAgICAgaWYgbm90IGl0ZW0gb3IgKF9sZW4oaXRlbSkgPT0gMSBhbmQgaXRlbVswXVswXSA9PSBBVCk6Ci0gICAgICAgICAgICAgICAgcmFpc2UgZXJyb3IoIm5vdGhpbmcgdG8gcmVwZWF0IikKLSAgICAgICAgICAgIGlmIGl0ZW1bMF1bMF0gaW4gUkVQRUFUQ09ERVM6Ci0gICAgICAgICAgICAgICAgcmFpc2UgZXJyb3IoIm11bHRpcGxlIHJlcGVhdCIpCisgICAgICAgICAgICBpZiBub3QgaXRlbSBvciAoX2xlbihpdGVtKSA9PSAxIGFuZCBpdGVtWzBdWzBdIGlzIEFUKToKKyAgICAgICAgICAgICAgICByYWlzZSBzb3VyY2UuZXJyb3IoIm5vdGhpbmcgdG8gcmVwZWF0IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlLnRlbGwoKSAtIGhlcmUgKyBsZW4odGhpcykpCisgICAgICAgICAgICBpZiBpdGVtWzBdWzBdIGluIF9SRVBFQVRDT0RFUzoKKyAgICAgICAgICAgICAgICByYWlzZSBzb3VyY2UuZXJyb3IoIm11bHRpcGxlIHJlcGVhdCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZS50ZWxsKCkgLSBoZXJlICsgbGVuKHRoaXMpKQogICAgICAgICAgICAgaWYgc291cmNlbWF0Y2goIj8iKToKICAgICAgICAgICAgICAgICBzdWJwYXR0ZXJuWy0xXSA9IChNSU5fUkVQRUFULCAobWluLCBtYXgsIGl0ZW0pKQogICAgICAgICAgICAgZWxzZToKQEAgLTU5NCwxMzEgKzYxMywxMjkgQEAKICAgICAgICAgICAgIGlmIHNvdXJjZW1hdGNoKCI/Iik6CiAgICAgICAgICAgICAgICAgZ3JvdXAgPSAwCiAgICAgICAgICAgICAgICAgIyBvcHRpb25zCi0gICAgICAgICAgICAgICAgaWYgc291cmNlbWF0Y2goIlAiKToKKyAgICAgICAgICAgICAgICBjaGFyID0gc291cmNlZ2V0KCkKKyAgICAgICAgICAgICAgICBpZiBjaGFyIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgICAgIHJhaXNlIHNlbGYuZXJyb3IoInVuZXhwZWN0ZWQgZW5kIG9mIHBhdHRlcm4iKQorICAgICAgICAgICAgICAgIGlmIGNoYXIgPT0gIlAiOgogICAgICAgICAgICAgICAgICAgICAjIHB5dGhvbiBleHRlbnNpb25zCiAgICAgICAgICAgICAgICAgICAgIGlmIHNvdXJjZW1hdGNoKCI8Iik6CiAgICAgICAgICAgICAgICAgICAgICAgICAjIG5hbWVkIGdyb3VwOiBza2lwIGZvcndhcmQgdG8gZW5kIG9mIG5hbWUKLSAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUgPSAiIgotICAgICAgICAgICAgICAgICAgICAgICAgd2hpbGUgMToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyID0gc291cmNlZ2V0KCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBjaGFyIGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIGVycm9yKCJ1bnRlcm1pbmF0ZWQgbmFtZSIpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgY2hhciA9PSAiPiI6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSA9IG5hbWUgKyBjaGFyCisgICAgICAgICAgICAgICAgICAgICAgICBuYW1lID0gc291cmNlLmdldHVudGlsKCI+IikKICAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VwID0gMQogICAgICAgICAgICAgICAgICAgICAgICAgaWYgbm90IG5hbWU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgZXJyb3IoIm1pc3NpbmcgZ3JvdXAgbmFtZSIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2Ugc291cmNlLmVycm9yKCJtaXNzaW5nIGdyb3VwIG5hbWUiLCAxKQogICAgICAgICAgICAgICAgICAgICAgICAgaWYgbm90IG5hbWUuaXNpZGVudGlmaWVyKCk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgZXJyb3IoImJhZCBjaGFyYWN0ZXIgaW4gZ3JvdXAgbmFtZSAlciIgJSBuYW1lKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIHNvdXJjZS5lcnJvcigiYmFkIGNoYXJhY3RlciBpbiBncm91cCBuYW1lICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVyIiAlIG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbihuYW1lKSArIDEpCiAgICAgICAgICAgICAgICAgICAgIGVsaWYgc291cmNlbWF0Y2goIj0iKToKICAgICAgICAgICAgICAgICAgICAgICAgICMgbmFtZWQgYmFja3JlZmVyZW5jZQotICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSA9ICIiCi0gICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAxOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgPSBzb3VyY2VnZXQoKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIGNoYXIgaXMgTm9uZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgZXJyb3IoInVudGVybWluYXRlZCBuYW1lIikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBjaGFyID09ICIpIjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lID0gbmFtZSArIGNoYXIKKyAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUgPSBzb3VyY2UuZ2V0dW50aWwoIikiKQogICAgICAgICAgICAgICAgICAgICAgICAgaWYgbm90IG5hbWU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgZXJyb3IoIm1pc3NpbmcgZ3JvdXAgbmFtZSIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2Ugc291cmNlLmVycm9yKCJtaXNzaW5nIGdyb3VwIG5hbWUiLCAxKQogICAgICAgICAgICAgICAgICAgICAgICAgaWYgbm90IG5hbWUuaXNpZGVudGlmaWVyKCk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgZXJyb3IoImJhZCBjaGFyYWN0ZXIgaW4gYmFja3JlZiBncm91cCBuYW1lICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXIiICUgbmFtZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBzb3VyY2UuZXJyb3IoImJhZCBjaGFyYWN0ZXIgaW4gYmFja3JlZiAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJncm91cCBuYW1lICVyIiAlIG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbihuYW1lKSArIDEpCiAgICAgICAgICAgICAgICAgICAgICAgICBnaWQgPSBzdGF0ZS5ncm91cGRpY3QuZ2V0KG5hbWUpCiAgICAgICAgICAgICAgICAgICAgICAgICBpZiBnaWQgaXMgTm9uZToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2cgPSAidW5rbm93biBncm91cCBuYW1lOiB7MCFyfSIuZm9ybWF0KG5hbWUpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgZXJyb3IobXNnKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIHNvdXJjZS5lcnJvcihtc2csIGxlbihuYW1lKSArIDEpCiAgICAgICAgICAgICAgICAgICAgICAgICBzdWJwYXR0ZXJuYXBwZW5kKChHUk9VUFJFRiwgZ2lkKSkKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyID0gc291cmNlZ2V0KCkKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIGNoYXIgaXMgTm9uZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBlcnJvcigidW5leHBlY3RlZCBlbmQgb2YgcGF0dGVybiIpCi0gICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBlcnJvcigidW5rbm93biBzcGVjaWZpZXI6ID9QJXMiICUgY2hhcikKLSAgICAgICAgICAgICAgICBlbGlmIHNvdXJjZW1hdGNoKCI6Iik6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2Ugc291cmNlLmVycm9yKCJ1bmV4cGVjdGVkIGVuZCBvZiBwYXR0ZXJuIikKKyAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIHNvdXJjZS5lcnJvcigidW5rbm93biBzcGVjaWZpZXI6ID9QJXMiICUgY2hhciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4oY2hhcikpCisgICAgICAgICAgICAgICAgZWxpZiBjaGFyID09ICI6IjoKICAgICAgICAgICAgICAgICAgICAgIyBub24tY2FwdHVyaW5nIGdyb3VwCiAgICAgICAgICAgICAgICAgICAgIGdyb3VwID0gMgotICAgICAgICAgICAgICAgIGVsaWYgc291cmNlbWF0Y2goIiMiKToKKyAgICAgICAgICAgICAgICBlbGlmIGNoYXIgPT0gIiMiOgogICAgICAgICAgICAgICAgICAgICAjIGNvbW1lbnQKLSAgICAgICAgICAgICAgICAgICAgd2hpbGUgMToKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIHNvdXJjZS5uZXh0IGlzIE5vbmUgb3Igc291cmNlLm5leHQgPT0gIikiOgorICAgICAgICAgICAgICAgICAgICB3aGlsZSBUcnVlOgorICAgICAgICAgICAgICAgICAgICAgICAgaWYgc291cmNlLm5leHQgaXMgTm9uZToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBzb3VyY2UuZXJyb3IoInVuYmFsYW5jZWQgcGFyZW50aGVzaXMiKQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgc291cmNlZ2V0KCkgPT0gIikiOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VnZXQoKQotICAgICAgICAgICAgICAgICAgICBpZiBub3Qgc291cmNlbWF0Y2goIikiKToKLSAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIGVycm9yKCJ1bmJhbGFuY2VkIHBhcmVudGhlc2lzIikKICAgICAgICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgICAgICBlbGlmIHNvdXJjZS5uZXh0IGluIEFTU0VSVENIQVJTOgorICAgICAgICAgICAgICAgIGVsaWYgY2hhciBpbiAiPSE8IjoKICAgICAgICAgICAgICAgICAgICAgIyBsb29rYWhlYWQgYXNzZXJ0aW9ucwotICAgICAgICAgICAgICAgICAgICBjaGFyID0gc291cmNlZ2V0KCkKICAgICAgICAgICAgICAgICAgICAgZGlyID0gMQogICAgICAgICAgICAgICAgICAgICBpZiBjaGFyID09ICI8IjoKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIHNvdXJjZS5uZXh0IG5vdCBpbiBMT09LQkVISU5EQVNTRVJUQ0hBUlM6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgZXJyb3IoInN5bnRheCBlcnJvciIpCi0gICAgICAgICAgICAgICAgICAgICAgICBkaXIgPSAtMSAjIGxvb2tiZWhpbmQKICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgPSBzb3VyY2VnZXQoKQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgY2hhciBpcyBOb25lIG9yIGNoYXIgbm90IGluICI9ISI6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2Ugc291cmNlLmVycm9yKCJzeW50YXggZXJyb3IiKQorICAgICAgICAgICAgICAgICAgICAgICAgZGlyID0gLTEgIyBsb29rYmVoaW5kCiAgICAgICAgICAgICAgICAgICAgIHAgPSBfcGFyc2Vfc3ViKHNvdXJjZSwgc3RhdGUpCiAgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBzb3VyY2VtYXRjaCgiKSIpOgotICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgZXJyb3IoInVuYmFsYW5jZWQgcGFyZW50aGVzaXMiKQorICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2Ugc291cmNlLmVycm9yKCJ1bmJhbGFuY2VkIHBhcmVudGhlc2lzIikKICAgICAgICAgICAgICAgICAgICAgaWYgY2hhciA9PSAiPSI6CiAgICAgICAgICAgICAgICAgICAgICAgICBzdWJwYXR0ZXJuYXBwZW5kKChBU1NFUlQsIChkaXIsIHApKSkKICAgICAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgICAgIHN1YnBhdHRlcm5hcHBlbmQoKEFTU0VSVF9OT1QsIChkaXIsIHApKSkKICAgICAgICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgICAgICBlbGlmIHNvdXJjZW1hdGNoKCIoIik6CisgICAgICAgICAgICAgICAgZWxpZiBjaGFyID09ICIoIjoKICAgICAgICAgICAgICAgICAgICAgIyBjb25kaXRpb25hbCBiYWNrcmVmZXJlbmNlIGdyb3VwCi0gICAgICAgICAgICAgICAgICAgIGNvbmRuYW1lID0gIiIKLSAgICAgICAgICAgICAgICAgICAgd2hpbGUgMToKLSAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgPSBzb3VyY2VnZXQoKQotICAgICAgICAgICAgICAgICAgICAgICAgaWYgY2hhciBpcyBOb25lOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIGVycm9yKCJ1bnRlcm1pbmF0ZWQgbmFtZSIpCi0gICAgICAgICAgICAgICAgICAgICAgICBpZiBjaGFyID09ICIpIjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgICAgICAgICAgICAgY29uZG5hbWUgPSBjb25kbmFtZSArIGNoYXIKKyAgICAgICAgICAgICAgICAgICAgY29uZG5hbWUgPSBzb3VyY2UuZ2V0dW50aWwoIikiKQogICAgICAgICAgICAgICAgICAgICBncm91cCA9IDIKICAgICAgICAgICAgICAgICAgICAgaWYgbm90IGNvbmRuYW1lOgotICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgZXJyb3IoIm1pc3NpbmcgZ3JvdXAgbmFtZSIpCisgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBzb3VyY2UuZXJyb3IoIm1pc3NpbmcgZ3JvdXAgbmFtZSIsIDEpCiAgICAgICAgICAgICAgICAgICAgIGlmIGNvbmRuYW1lLmlzaWRlbnRpZmllcigpOgogICAgICAgICAgICAgICAgICAgICAgICAgY29uZGdyb3VwID0gc3RhdGUuZ3JvdXBkaWN0LmdldChjb25kbmFtZSkKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIGNvbmRncm91cCBpcyBOb25lOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZyA9ICJ1bmtub3duIGdyb3VwIG5hbWU6IHswIXJ9Ii5mb3JtYXQoY29uZG5hbWUpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgZXJyb3IobXNnKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIHNvdXJjZS5lcnJvcihtc2csIGxlbihjb25kbmFtZSkgKyAxKQogICAgICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmRncm91cCA9IGludChjb25kbmFtZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBjb25kZ3JvdXAgPCAwOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yCiAgICAgICAgICAgICAgICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBlcnJvcigiYmFkIGNoYXJhY3RlciBpbiBncm91cCBuYW1lIikKLSAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIHNvdXJjZS5lcnJvcigiYmFkIGNoYXJhY3RlciBpbiBncm91cCBuYW1lIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuKGNvbmRuYW1lKSArIDEpCisgICAgICAgICAgICAgICAgICAgICAgICBpZiBub3QgY29uZGdyb3VwOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIHNvdXJjZS5lcnJvcigiYmFkIGdyb3VwIG51bWJlciIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbihjb25kbmFtZSkgKyAxKQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgY29uZGdyb3VwID49IE1BWEdST1VQUzoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBzb3VyY2UuZXJyb3IoInRoZSBncm91cCBudW1iZXIgaXMgdG9vIGxhcmdlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuKGNvbmRuYW1lKSArIDEpCisgICAgICAgICAgICAgICAgZWxpZiBjaGFyIGluIEZMQUdTOgogICAgICAgICAgICAgICAgICAgICAjIGZsYWdzCi0gICAgICAgICAgICAgICAgICAgIGlmIG5vdCBzb3VyY2UubmV4dCBpbiBGTEFHUzoKLSAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIGVycm9yKCJ1bmV4cGVjdGVkIGVuZCBvZiBwYXR0ZXJuIikKKyAgICAgICAgICAgICAgICAgICAgc3RhdGUuZmxhZ3MgfD0gRkxBR1NbY2hhcl0KICAgICAgICAgICAgICAgICAgICAgd2hpbGUgc291cmNlLm5leHQgaW4gRkxBR1M6Ci0gICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZS5mbGFncyA9IHN0YXRlLmZsYWdzIHwgRkxBR1Nbc291cmNlZ2V0KCldCisgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZS5mbGFncyB8PSBGTEFHU1tzb3VyY2VnZXQoKV0KKyAgICAgICAgICAgICAgICAgICAgdmVyYm9zZSA9IHN0YXRlLmZsYWdzICYgU1JFX0ZMQUdfVkVSQk9TRQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIHJhaXNlIHNvdXJjZS5lcnJvcigidW5leHBlY3RlZCBlbmQgb2YgcGF0dGVybiIpCiAgICAgICAgICAgICBpZiBncm91cDoKICAgICAgICAgICAgICAgICAjIHBhcnNlIGdyb3VwIGNvbnRlbnRzCiAgICAgICAgICAgICAgICAgaWYgZ3JvdXAgPT0gMjoKICAgICAgICAgICAgICAgICAgICAgIyBhbm9ueW1vdXMgZ3JvdXAKICAgICAgICAgICAgICAgICAgICAgZ3JvdXAgPSBOb25lCiAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgZ3JvdXAgPSBzdGF0ZS5vcGVuZ3JvdXAobmFtZSkKKyAgICAgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXAgPSBzdGF0ZS5vcGVuZ3JvdXAobmFtZSkKKyAgICAgICAgICAgICAgICAgICAgZXhjZXB0IGVycm9yIGFzIGVycjoKKyAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIHNvdXJjZS5lcnJvcihlcnIubXNnLCBsZW4obmFtZSkgKyAxKQogICAgICAgICAgICAgICAgIGlmIGNvbmRncm91cDoKICAgICAgICAgICAgICAgICAgICAgcCA9IF9wYXJzZV9zdWJfY29uZChzb3VyY2UsIHN0YXRlLCBjb25kZ3JvdXApCiAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgcCA9IF9wYXJzZV9zdWIoc291cmNlLCBzdGF0ZSkKICAgICAgICAgICAgICAgICBpZiBub3Qgc291cmNlbWF0Y2goIikiKToKLSAgICAgICAgICAgICAgICAgICAgcmFpc2UgZXJyb3IoInVuYmFsYW5jZWQgcGFyZW50aGVzaXMiKQorICAgICAgICAgICAgICAgICAgICByYWlzZSBzb3VyY2UuZXJyb3IoInVuYmFsYW5jZWQgcGFyZW50aGVzaXMiKQogICAgICAgICAgICAgICAgIGlmIGdyb3VwIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgICAgICAgICBzdGF0ZS5jbG9zZWdyb3VwKGdyb3VwKQogICAgICAgICAgICAgICAgIHN1YnBhdHRlcm5hcHBlbmQoKFNVQlBBVFRFUk4sIChncm91cCwgcCkpKQogICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICB3aGlsZSAxOgorICAgICAgICAgICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgICAgICAgICAgIGNoYXIgPSBzb3VyY2VnZXQoKQogICAgICAgICAgICAgICAgICAgICBpZiBjaGFyIGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBlcnJvcigidW5leHBlY3RlZCBlbmQgb2YgcGF0dGVybiIpCisgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBzb3VyY2UuZXJyb3IoInVuZXhwZWN0ZWQgZW5kIG9mIHBhdHRlcm4iKQogICAgICAgICAgICAgICAgICAgICBpZiBjaGFyID09ICIpIjoKICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICAgICAgICAgIHJhaXNlIGVycm9yKCJ1bmtub3duIGV4dGVuc2lvbiIpCisgICAgICAgICAgICAgICAgICAgIHJhaXNlIHNvdXJjZS5lcnJvcigidW5rbm93biBleHRlbnNpb24iLCBsZW4oY2hhcikpCiAKICAgICAgICAgZWxpZiB0aGlzID09ICJeIjoKICAgICAgICAgICAgIHN1YnBhdHRlcm5hcHBlbmQoKEFULCBBVF9CRUdJTk5JTkcpKQpAQCAtNzI2LDE4ICs3NDMsMTkgQEAKICAgICAgICAgZWxpZiB0aGlzID09ICIkIjoKICAgICAgICAgICAgIHN1YnBhdHRlcm4uYXBwZW5kKChBVCwgQVRfRU5EKSkKIAotICAgICAgICBlbGlmIHRoaXMgYW5kIHRoaXNbMF0gPT0gIlxcIjoKLSAgICAgICAgICAgIGNvZGUgPSBfZXNjYXBlKHNvdXJjZSwgdGhpcywgc3RhdGUpCi0gICAgICAgICAgICBzdWJwYXR0ZXJuYXBwZW5kKGNvZGUpCi0KICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJhaXNlIGVycm9yKCJwYXJzZXIgZXJyb3IiKQorICAgICAgICAgICAgcmFpc2Ugc291cmNlLmVycm9yKCJwYXJzZXIgZXJyb3IiLCBsZW4odGhpcykpCiAKICAgICByZXR1cm4gc3VicGF0dGVybgogCiBkZWYgZml4X2ZsYWdzKHNyYywgZmxhZ3MpOgogICAgICMgQ2hlY2sgYW5kIGZpeCBmbGFncyBhY2NvcmRpbmcgdG8gdGhlIHR5cGUgb2YgcGF0dGVybiAoc3RyIG9yIGJ5dGVzKQogICAgIGlmIGlzaW5zdGFuY2Uoc3JjLCBzdHIpOgorICAgICAgICBpZiBmbGFncyAmIFNSRV9GTEFHX0xPQ0FMRToKKyAgICAgICAgICAgIGltcG9ydCB3YXJuaW5ncworICAgICAgICAgICAgd2FybmluZ3Mud2FybigiTE9DQUxFIGZsYWcgd2l0aCBhIHN0ciBwYXR0ZXJuIGlzIGRlcHJlY2F0ZWQuICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIldpbGwgYmUgYW4gZXJyb3IgaW4gMy42IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgRGVwcmVjYXRpb25XYXJuaW5nLCBzdGFja2xldmVsPTYpCiAgICAgICAgIGlmIG5vdCBmbGFncyAmIFNSRV9GTEFHX0FTQ0lJOgogICAgICAgICAgICAgZmxhZ3MgfD0gU1JFX0ZMQUdfVU5JQ09ERQogICAgICAgICBlbGlmIGZsYWdzICYgU1JFX0ZMQUdfVU5JQ09ERToKQEAgLTc0NSw2ICs3NjMsMTEgQEAKICAgICBlbHNlOgogICAgICAgICBpZiBmbGFncyAmIFNSRV9GTEFHX1VOSUNPREU6CiAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJjYW4ndCB1c2UgVU5JQ09ERSBmbGFnIHdpdGggYSBieXRlcyBwYXR0ZXJuIikKKyAgICAgICAgaWYgZmxhZ3MgJiBTUkVfRkxBR19MT0NBTEUgYW5kIGZsYWdzICYgU1JFX0ZMQUdfQVNDSUk6CisgICAgICAgICAgICBpbXBvcnQgd2FybmluZ3MKKyAgICAgICAgICAgIHdhcm5pbmdzLndhcm4oIkFTQ0lJIGFuZCBMT0NBTEUgZmxhZ3MgYXJlIGluY29tcGF0aWJsZS4gIgorICAgICAgICAgICAgICAgICAgICAgICAgICAiV2lsbCBiZSBhbiBlcnJvciBpbiAzLjYiLAorICAgICAgICAgICAgICAgICAgICAgICAgICBEZXByZWNhdGlvbldhcm5pbmcsIHN0YWNrbGV2ZWw9NikKICAgICByZXR1cm4gZmxhZ3MKIAogZGVmIHBhcnNlKHN0ciwgZmxhZ3M9MCwgcGF0dGVybj1Ob25lKToKQEAgLTc2MCwxMSArNzgzLDEyIEBACiAgICAgcCA9IF9wYXJzZV9zdWIoc291cmNlLCBwYXR0ZXJuLCAwKQogICAgIHAucGF0dGVybi5mbGFncyA9IGZpeF9mbGFncyhzdHIsIHAucGF0dGVybi5mbGFncykKIAotICAgIHRhaWwgPSBzb3VyY2UuZ2V0KCkKLSAgICBpZiB0YWlsID09ICIpIjoKLSAgICAgICAgcmFpc2UgZXJyb3IoInVuYmFsYW5jZWQgcGFyZW50aGVzaXMiKQotICAgIGVsaWYgdGFpbDoKLSAgICAgICAgcmFpc2UgZXJyb3IoImJvZ3VzIGNoYXJhY3RlcnMgYXQgZW5kIG9mIHJlZ3VsYXIgZXhwcmVzc2lvbiIpCisgICAgaWYgc291cmNlLm5leHQgaXMgbm90IE5vbmU6CisgICAgICAgIGlmIHNvdXJjZS5uZXh0ID09ICIpIjoKKyAgICAgICAgICAgIHJhaXNlIHNvdXJjZS5lcnJvcigidW5iYWxhbmNlZCBwYXJlbnRoZXNpcyIpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByYWlzZSBzb3VyY2UuZXJyb3IoImJvZ3VzIGNoYXJhY3RlcnMgYXQgZW5kIG9mIHJlZ3VsYXIgZXhwcmVzc2lvbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuKHRhaWwpKQogCiAgICAgaWYgZmxhZ3MgJiBTUkVfRkxBR19ERUJVRzoKICAgICAgICAgcC5kdW1wKCkKQEAgLTgwMSwyMiArODI1LDIwIEBACiAgICAgICAgICAgICBpZiBjID09ICJnIjoKICAgICAgICAgICAgICAgICBuYW1lID0gIiIKICAgICAgICAgICAgICAgICBpZiBzLm1hdGNoKCI8Iik6Ci0gICAgICAgICAgICAgICAgICAgIHdoaWxlIFRydWU6Ci0gICAgICAgICAgICAgICAgICAgICAgICBjaGFyID0gc2dldCgpCi0gICAgICAgICAgICAgICAgICAgICAgICBpZiBjaGFyIGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgZXJyb3IoInVudGVybWluYXRlZCBncm91cCBuYW1lIikKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIGNoYXIgPT0gIj4iOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICAgICAgICAgICAgICBuYW1lICs9IGNoYXIKKyAgICAgICAgICAgICAgICAgICAgbmFtZSA9IHMuZ2V0dW50aWwoIj4iKQogICAgICAgICAgICAgICAgIGlmIG5vdCBuYW1lOgotICAgICAgICAgICAgICAgICAgICByYWlzZSBlcnJvcigibWlzc2luZyBncm91cCBuYW1lIikKKyAgICAgICAgICAgICAgICAgICAgcmFpc2Ugcy5lcnJvcigibWlzc2luZyBncm91cCBuYW1lIiwgMSkKICAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgIGluZGV4ID0gaW50KG5hbWUpCiAgICAgICAgICAgICAgICAgICAgIGlmIGluZGV4IDwgMDoKLSAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIGVycm9yKCJuZWdhdGl2ZSBncm91cCBudW1iZXIiKQorICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2Ugcy5lcnJvcigibmVnYXRpdmUgZ3JvdXAgbnVtYmVyIiwgbGVuKG5hbWUpICsgMSkKKyAgICAgICAgICAgICAgICAgICAgaWYgaW5kZXggPj0gTUFYR1JPVVBTOgorICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2Ugcy5lcnJvcigidGhlIGdyb3VwIG51bWJlciBpcyB0b28gbGFyZ2UiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4obmFtZSkgKyAxKQogICAgICAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgogICAgICAgICAgICAgICAgICAgICBpZiBub3QgbmFtZS5pc2lkZW50aWZpZXIoKToKLSAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIGVycm9yKCJiYWQgY2hhcmFjdGVyIGluIGdyb3VwIG5hbWUiKQorICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2Ugcy5lcnJvcigiYmFkIGNoYXJhY3RlciBpbiBncm91cCBuYW1lIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuKG5hbWUpICsgMSkKICAgICAgICAgICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXggPSBwYXR0ZXJuLmdyb3VwaW5kZXhbbmFtZV0KICAgICAgICAgICAgICAgICAgICAgZXhjZXB0IEtleUVycm9yOgpAQCAtODM3LDcgKzg1OSwxMSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgcy5uZXh0IGluIE9DVERJR0lUUyk6CiAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzICs9IHNnZXQoKQogICAgICAgICAgICAgICAgICAgICAgICAgaXNvY3RhbCA9IFRydWUKLSAgICAgICAgICAgICAgICAgICAgICAgIGxhcHBlbmQoY2hyKGludCh0aGlzWzE6XSwgOCkgJiAweGZmKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGMgPSBpbnQodGhpc1sxOl0sIDgpCisgICAgICAgICAgICAgICAgICAgICAgICBpZiBjID4gMG8zNzc6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2Ugcy5lcnJvcignb2N0YWwgZXNjYXBlIHZhbHVlICVyIG91dHNpZGUgb2YgJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JhbmdlIDAtMG8zNzcnICUgdGhpcywgbGVuKHRoaXMpKQorICAgICAgICAgICAgICAgICAgICAgICAgbGFwcGVuZChjaHIoYykpCiAgICAgICAgICAgICAgICAgaWYgbm90IGlzb2N0YWw6CiAgICAgICAgICAgICAgICAgICAgIGFkZGdyb3VwKGludCh0aGlzWzE6XSkpCiAgICAgICAgICAgICBlbHNlOgpAQCAtODU4LDE0ICs4ODQsMTIgQEAKIAogZGVmIGV4cGFuZF90ZW1wbGF0ZSh0ZW1wbGF0ZSwgbWF0Y2gpOgogICAgIGcgPSBtYXRjaC5ncm91cAotICAgIHNlcCA9IG1hdGNoLnN0cmluZ1s6MF0KKyAgICBlbXB0eSA9IG1hdGNoLnN0cmluZ1s6MF0KICAgICBncm91cHMsIGxpdGVyYWxzID0gdGVtcGxhdGUKICAgICBsaXRlcmFscyA9IGxpdGVyYWxzWzpdCiAgICAgdHJ5OgogICAgICAgICBmb3IgaW5kZXgsIGdyb3VwIGluIGdyb3VwczoKLSAgICAgICAgICAgIGxpdGVyYWxzW2luZGV4XSA9IHMgPSBnKGdyb3VwKQotICAgICAgICAgICAgaWYgcyBpcyBOb25lOgotICAgICAgICAgICAgICAgIHJhaXNlIGVycm9yKCJ1bm1hdGNoZWQgZ3JvdXAiKQorICAgICAgICAgICAgbGl0ZXJhbHNbaW5kZXhdID0gZyhncm91cCkgb3IgZW1wdHkKICAgICBleGNlcHQgSW5kZXhFcnJvcjoKICAgICAgICAgcmFpc2UgZXJyb3IoImludmFsaWQgZ3JvdXAgcmVmZXJlbmNlIikKLSAgICByZXR1cm4gc2VwLmpvaW4obGl0ZXJhbHMpCisgICAgcmV0dXJuIGVtcHR5LmpvaW4obGl0ZXJhbHMpCmRpZmYgLS1naXQgYS9MaWIvc3NsLnB5IGIvTGliL3NzbC5weQppbmRleCA4Yzc1ZjAwLi44MDdlOWYyIDEwMDY0NAotLS0gYS9MaWIvc3NsLnB5CisrKyBiL0xpYi9zc2wucHkKQEAgLTkyLDEyICs5MiwxMiBAQAogaW1wb3J0IHN5cwogaW1wb3J0IG9zCiBmcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBuYW1lZHR1cGxlCi1mcm9tIGVudW0gaW1wb3J0IEVudW0gYXMgX0VudW0KK2Zyb20gZW51bSBpbXBvcnQgRW51bSBhcyBfRW51bSwgSW50RW51bSBhcyBfSW50RW51bQogCiBpbXBvcnQgX3NzbCAgICAgICAgICAgICAjIGlmIHdlIGNhbid0IGltcG9ydCBpdCwgbGV0IHRoZSBlcnJvciBwcm9wYWdhdGUKIAogZnJvbSBfc3NsIGltcG9ydCBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSLCBPUEVOU1NMX1ZFUlNJT05fSU5GTywgT1BFTlNTTF9WRVJTSU9OCi1mcm9tIF9zc2wgaW1wb3J0IF9TU0xDb250ZXh0Citmcm9tIF9zc2wgaW1wb3J0IF9TU0xDb250ZXh0LCBNZW1vcnlCSU8KIGZyb20gX3NzbCBpbXBvcnQgKAogICAgIFNTTEVycm9yLCBTU0xaZXJvUmV0dXJuRXJyb3IsIFNTTFdhbnRSZWFkRXJyb3IsIFNTTFdhbnRXcml0ZUVycm9yLAogICAgIFNTTFN5c2NhbGxFcnJvciwgU1NMRU9GRXJyb3IsCkBAIC0xMjEsMjkgKzEyMSwyMiBAQAogX2ltcG9ydF9zeW1ib2xzKCdPUF8nKQogX2ltcG9ydF9zeW1ib2xzKCdBTEVSVF9ERVNDUklQVElPTl8nKQogX2ltcG9ydF9zeW1ib2xzKCdTU0xfRVJST1JfJykKLV9pbXBvcnRfc3ltYm9scygnUFJPVE9DT0xfJykKIAotZnJvbSBfc3NsIGltcG9ydCBIQVNfU05JLCBIQVNfRUNESCwgSEFTX05QTgorZnJvbSBfc3NsIGltcG9ydCBIQVNfU05JLCBIQVNfRUNESCwgSEFTX05QTiwgSEFTX0FMUE4KIAogZnJvbSBfc3NsIGltcG9ydCBfT1BFTlNTTF9BUElfVkVSU0lPTgogCitfU1NMTWV0aG9kID0gX0ludEVudW0oJ19TU0xNZXRob2QnLAorICAgICAgICAgICAgICAgICAgICAgIHtuYW1lOiB2YWx1ZSBmb3IgbmFtZSwgdmFsdWUgaW4gdmFycyhfc3NsKS5pdGVtcygpCisgICAgICAgICAgICAgICAgICAgICAgIGlmIG5hbWUuc3RhcnRzd2l0aCgnUFJPVE9DT0xfJyl9KQorZ2xvYmFscygpLnVwZGF0ZShfU1NMTWV0aG9kLl9fbWVtYmVyc19fKQogCi1fUFJPVE9DT0xfTkFNRVMgPSB7dmFsdWU6IG5hbWUgZm9yIG5hbWUsIHZhbHVlIGluIGdsb2JhbHMoKS5pdGVtcygpIGlmIG5hbWUuc3RhcnRzd2l0aCgnUFJPVE9DT0xfJyl9CitfUFJPVE9DT0xfTkFNRVMgPSB7dmFsdWU6IG5hbWUgZm9yIG5hbWUsIHZhbHVlIGluIF9TU0xNZXRob2QuX19tZW1iZXJzX18uaXRlbXMoKX0KKwogdHJ5OgotICAgIGZyb20gX3NzbCBpbXBvcnQgUFJPVE9DT0xfU1NMdjIKICAgICBfU1NMdjJfSUZfRVhJU1RTID0gUFJPVE9DT0xfU1NMdjIKLWV4Y2VwdCBJbXBvcnRFcnJvcjoKK2V4Y2VwdCBOYW1lRXJyb3I6CiAgICAgX1NTTHYyX0lGX0VYSVNUUyA9IE5vbmUKLWVsc2U6Ci0gICAgX1BST1RPQ09MX05BTUVTW1BST1RPQ09MX1NTTHYyXSA9ICJTU0x2MiIKLQotdHJ5OgotICAgIGZyb20gX3NzbCBpbXBvcnQgUFJPVE9DT0xfVExTdjFfMSwgUFJPVE9DT0xfVExTdjFfMgotZXhjZXB0IEltcG9ydEVycm9yOgotICAgIHBhc3MKLWVsc2U6Ci0gICAgX1BST1RPQ09MX05BTUVTW1BST1RPQ09MX1RMU3YxXzFdID0gIlRMU3YxLjEiCi0gICAgX1BST1RPQ09MX05BTUVTW1BST1RPQ09MX1RMU3YxXzJdID0gIlRMU3YxLjIiCiAKIGlmIHN5cy5wbGF0Zm9ybSA9PSAid2luMzIiOgogICAgIGZyb20gX3NzbCBpbXBvcnQgZW51bV9jZXJ0aWZpY2F0ZXMsIGVudW1fY3JscwpAQCAtMzY0LDYgKzM1NywxMiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlcl9ob3N0bmFtZT1zZXJ2ZXJfaG9zdG5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgX2NvbnRleHQ9c2VsZikKIAorICAgIGRlZiB3cmFwX2JpbyhzZWxmLCBpbmNvbWluZywgb3V0Z29pbmcsIHNlcnZlcl9zaWRlPUZhbHNlLAorICAgICAgICAgICAgICAgICBzZXJ2ZXJfaG9zdG5hbWU9Tm9uZSk6CisgICAgICAgIHNzbG9iaiA9IHNlbGYuX3dyYXBfYmlvKGluY29taW5nLCBvdXRnb2luZywgc2VydmVyX3NpZGU9c2VydmVyX3NpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlcl9ob3N0bmFtZT1zZXJ2ZXJfaG9zdG5hbWUpCisgICAgICAgIHJldHVybiBTU0xPYmplY3Qoc3Nsb2JqKQorCiAgICAgZGVmIHNldF9ucG5fcHJvdG9jb2xzKHNlbGYsIG5wbl9wcm90b2NvbHMpOgogICAgICAgICBwcm90b3MgPSBieXRlYXJyYXkoKQogICAgICAgICBmb3IgcHJvdG9jb2wgaW4gbnBuX3Byb3RvY29sczoKQEAgLTM3NSw2ICszNzQsMTcgQEAKIAogICAgICAgICBzZWxmLl9zZXRfbnBuX3Byb3RvY29scyhwcm90b3MpCiAKKyAgICBkZWYgc2V0X2FscG5fcHJvdG9jb2xzKHNlbGYsIGFscG5fcHJvdG9jb2xzKToKKyAgICAgICAgcHJvdG9zID0gYnl0ZWFycmF5KCkKKyAgICAgICAgZm9yIHByb3RvY29sIGluIGFscG5fcHJvdG9jb2xzOgorICAgICAgICAgICAgYiA9IGJ5dGVzKHByb3RvY29sLCAnYXNjaWknKQorICAgICAgICAgICAgaWYgbGVuKGIpID09IDAgb3IgbGVuKGIpID4gMjU1OgorICAgICAgICAgICAgICAgIHJhaXNlIFNTTEVycm9yKCdBTFBOIHByb3RvY29scyBtdXN0IGJlIDEgdG8gMjU1IGluIGxlbmd0aCcpCisgICAgICAgICAgICBwcm90b3MuYXBwZW5kKGxlbihiKSkKKyAgICAgICAgICAgIHByb3Rvcy5leHRlbmQoYikKKworICAgICAgICBzZWxmLl9zZXRfYWxwbl9wcm90b2NvbHMocHJvdG9zKQorCiAgICAgZGVmIF9sb2FkX3dpbmRvd3Nfc3RvcmVfY2VydHMoc2VsZiwgc3RvcmVuYW1lLCBwdXJwb3NlKToKICAgICAgICAgY2VydHMgPSBieXRlYXJyYXkoKQogICAgICAgICBmb3IgY2VydCwgZW5jb2RpbmcsIHRydXN0IGluIGVudW1fY2VydGlmaWNhdGVzKHN0b3JlbmFtZSk6CkBAIC00OTEsNiArNTAxLDE0MSBAQAogX2NyZWF0ZV9zdGRsaWJfY29udGV4dCA9IF9jcmVhdGVfdW52ZXJpZmllZF9jb250ZXh0CiAKIAorY2xhc3MgU1NMT2JqZWN0OgorICAgICIiIlRoaXMgY2xhc3MgaW1wbGVtZW50cyBhbiBpbnRlcmZhY2Ugb24gdG9wIG9mIGEgbG93LWxldmVsIFNTTCBvYmplY3QgYXMKKyAgICBpbXBsZW1lbnRlZCBieSBPcGVuU1NMLiBUaGlzIG9iamVjdCBjYXB0dXJlcyB0aGUgc3RhdGUgb2YgYW4gU1NMIGNvbm5lY3Rpb24KKyAgICBidXQgZG9lcyBub3QgcHJvdmlkZSBhbnkgbmV0d29yayBJTyBpdHNlbGYuIElPIG5lZWRzIHRvIGJlIHBlcmZvcm1lZAorICAgIHRocm91Z2ggc2VwYXJhdGUgIkJJTyIgb2JqZWN0cyB3aGljaCBhcmUgT3BlblNTTCdzIElPIGFic3RyYWN0aW9uIGxheWVyLgorCisgICAgVGhpcyBjbGFzcyBkb2VzIG5vdCBoYXZlIGEgcHVibGljIGNvbnN0cnVjdG9yLiBJbnN0YW5jZXMgYXJlIHJldHVybmVkIGJ5CisgICAgYGBTU0xDb250ZXh0LndyYXBfYmlvYGAuIFRoaXMgY2xhc3MgaXMgdHlwaWNhbGx5IHVzZWQgYnkgZnJhbWV3b3JrIGF1dGhvcnMKKyAgICB0aGF0IHdhbnQgdG8gaW1wbGVtZW50IGFzeW5jaHJvbm91cyBJTyBmb3IgU1NMIHRocm91Z2ggbWVtb3J5IGJ1ZmZlcnMuCisKKyAgICBXaGVuIGNvbXBhcmVkIHRvIGBgU1NMU29ja2V0YGAsIHRoaXMgb2JqZWN0IGxhY2tzIHRoZSBmb2xsb3dpbmcgZmVhdHVyZXM6CisKKyAgICAgKiBBbnkgZm9ybSBvZiBuZXR3b3JrIElPIGluY2x1Z2luZyBtZXRob2RzIHN1Y2ggYXMgYGByZWN2YGAgYW5kIGBgc2VuZGBgLgorICAgICAqIFRoZSBgYGRvX2hhbmRzaGFrZV9vbl9jb25uZWN0YGAgYW5kIGBgc3VwcHJlc3NfcmFnZ2VkX2VvZnNgYCBtYWNoaW5lcnkuCisgICAgIiIiCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgc3Nsb2JqLCBvd25lcj1Ob25lKToKKyAgICAgICAgc2VsZi5fc3Nsb2JqID0gc3Nsb2JqCisgICAgICAgICMgTm90ZTogX3NzbG9iaiB0YWtlcyBhIHdlYWsgcmVmZXJlbmNlIHRvIG93bmVyCisgICAgICAgIHNlbGYuX3NzbG9iai5vd25lciA9IG93bmVyIG9yIHNlbGYKKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiBjb250ZXh0KHNlbGYpOgorICAgICAgICAiIiJUaGUgU1NMQ29udGV4dCB0aGF0IGlzIGN1cnJlbnRseSBpbiB1c2UuIiIiCisgICAgICAgIHJldHVybiBzZWxmLl9zc2xvYmouY29udGV4dAorCisgICAgQGNvbnRleHQuc2V0dGVyCisgICAgZGVmIGNvbnRleHQoc2VsZiwgY3R4KToKKyAgICAgICAgc2VsZi5fc3Nsb2JqLmNvbnRleHQgPSBjdHgKKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiBzZXJ2ZXJfc2lkZShzZWxmKToKKyAgICAgICAgIiIiV2hldGhlciB0aGlzIGlzIGEgc2VydmVyLXNpZGUgc29ja2V0LiIiIgorICAgICAgICByZXR1cm4gc2VsZi5fc3Nsb2JqLnNlcnZlcl9zaWRlCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgc2VydmVyX2hvc3RuYW1lKHNlbGYpOgorICAgICAgICAiIiJUaGUgY3VycmVudGx5IHNldCBzZXJ2ZXIgaG9zdG5hbWUgKGZvciBTTkkpLCBvciBgYE5vbmVgYCBpZiBubworICAgICAgICBzZXJ2ZXIgaG9zdGFtZSBpcyBzZXQuIiIiCisgICAgICAgIHJldHVybiBzZWxmLl9zc2xvYmouc2VydmVyX2hvc3RuYW1lCisKKyAgICBkZWYgcmVhZChzZWxmLCBsZW49MCwgYnVmZmVyPU5vbmUpOgorICAgICAgICAiIiJSZWFkIHVwIHRvICdsZW4nIGJ5dGVzIGZyb20gdGhlIFNTTCBvYmplY3QgYW5kIHJldHVybiB0aGVtLgorCisgICAgICAgIElmICdidWZmZXInIGlzIHByb3ZpZGVkLCByZWFkIGludG8gdGhpcyBidWZmZXIgYW5kIHJldHVybiB0aGUgbnVtYmVyIG9mCisgICAgICAgIGJ5dGVzIHJlYWQuCisgICAgICAgICIiIgorICAgICAgICBpZiBidWZmZXIgaXMgbm90IE5vbmU6CisgICAgICAgICAgICB2ID0gc2VsZi5fc3Nsb2JqLnJlYWQobGVuLCBidWZmZXIpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICB2ID0gc2VsZi5fc3Nsb2JqLnJlYWQobGVuIG9yIDEwMjQpCisgICAgICAgIHJldHVybiB2CisKKyAgICBkZWYgd3JpdGUoc2VsZiwgZGF0YSk6CisgICAgICAgICIiIldyaXRlICdkYXRhJyB0byB0aGUgU1NMIG9iamVjdCBhbmQgcmV0dXJuIHRoZSBudW1iZXIgb2YgYnl0ZXMKKyAgICAgICAgd3JpdHRlbi4KKworICAgICAgICBUaGUgJ2RhdGEnIGFyZ3VtZW50IG11c3Qgc3VwcG9ydCB0aGUgYnVmZmVyIGludGVyZmFjZS4KKyAgICAgICAgIiIiCisgICAgICAgIHJldHVybiBzZWxmLl9zc2xvYmoud3JpdGUoZGF0YSkKKworICAgIGRlZiBnZXRwZWVyY2VydChzZWxmLCBiaW5hcnlfZm9ybT1GYWxzZSk6CisgICAgICAgICIiIlJldHVybnMgYSBmb3JtYXR0ZWQgdmVyc2lvbiBvZiB0aGUgZGF0YSBpbiB0aGUgY2VydGlmaWNhdGUgcHJvdmlkZWQKKyAgICAgICAgYnkgdGhlIG90aGVyIGVuZCBvZiB0aGUgU1NMIGNoYW5uZWwuCisKKyAgICAgICAgUmV0dXJuIE5vbmUgaWYgbm8gY2VydGlmaWNhdGUgd2FzIHByb3ZpZGVkLCB7fSBpZiBhIGNlcnRpZmljYXRlIHdhcworICAgICAgICBwcm92aWRlZCwgYnV0IG5vdCB2YWxpZGF0ZWQuCisgICAgICAgICIiIgorICAgICAgICByZXR1cm4gc2VsZi5fc3Nsb2JqLnBlZXJfY2VydGlmaWNhdGUoYmluYXJ5X2Zvcm0pCisKKyAgICBkZWYgc2VsZWN0ZWRfbnBuX3Byb3RvY29sKHNlbGYpOgorICAgICAgICAiIiJSZXR1cm4gdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBOUE4gcHJvdG9jb2wgYXMgYSBzdHJpbmcsIG9yIGBgTm9uZWBgCisgICAgICAgIGlmIGEgbmV4dCBwcm90b2NvbCB3YXMgbm90IG5lZ290aWF0ZWQgb3IgaWYgTlBOIGlzIG5vdCBzdXBwb3J0ZWQgYnkgb25lCisgICAgICAgIG9mIHRoZSBwZWVycy4iIiIKKyAgICAgICAgaWYgX3NzbC5IQVNfTlBOOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3NzbG9iai5zZWxlY3RlZF9ucG5fcHJvdG9jb2woKQorCisgICAgZGVmIHNlbGVjdGVkX2FscG5fcHJvdG9jb2woc2VsZik6CisgICAgICAgICIiIlJldHVybiB0aGUgY3VycmVudGx5IHNlbGVjdGVkIEFMUE4gcHJvdG9jb2wgYXMgYSBzdHJpbmcsIG9yIGBgTm9uZWBgCisgICAgICAgIGlmIGEgbmV4dCBwcm90b2NvbCB3YXMgbm90IG5lZ290aWF0ZWQgb3IgaWYgQUxQTiBpcyBub3Qgc3VwcG9ydGVkIGJ5IG9uZQorICAgICAgICBvZiB0aGUgcGVlcnMuIiIiCisgICAgICAgIGlmIF9zc2wuSEFTX0FMUE46CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fc3Nsb2JqLnNlbGVjdGVkX2FscG5fcHJvdG9jb2woKQorCisgICAgZGVmIGNpcGhlcihzZWxmKToKKyAgICAgICAgIiIiUmV0dXJuIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgY2lwaGVyIGFzIGEgMy10dXBsZSBgYChuYW1lLAorICAgICAgICBzc2xfdmVyc2lvbiwgc2VjcmV0X2JpdHMpYGAuIiIiCisgICAgICAgIHJldHVybiBzZWxmLl9zc2xvYmouY2lwaGVyKCkKKworICAgIGRlZiBzaGFyZWRfY2lwaGVycyhzZWxmKToKKyAgICAgICAgIiIiUmV0dXJuIGEgbGlzdCBvZiBjaXBoZXJzIHNoYXJlZCBieSB0aGUgY2xpZW50IGR1cmluZyB0aGUgaGFuZHNoYWtlIG9yCisgICAgICAgIE5vbmUgaWYgdGhpcyBpcyBub3QgYSB2YWxpZCBzZXJ2ZXIgY29ubmVjdGlvbi4KKyAgICAgICAgIiIiCisgICAgICAgIHJldHVybiBzZWxmLl9zc2xvYmouc2hhcmVkX2NpcGhlcnMoKQorCisgICAgZGVmIGNvbXByZXNzaW9uKHNlbGYpOgorICAgICAgICAiIiJSZXR1cm4gdGhlIGN1cnJlbnQgY29tcHJlc3Npb24gYWxnb3JpdGhtIGluIHVzZSwgb3IgYGBOb25lYGAgaWYKKyAgICAgICAgY29tcHJlc3Npb24gd2FzIG5vdCBuZWdvdGlhdGVkIG9yIG5vdCBzdXBwb3J0ZWQgYnkgb25lIG9mIHRoZSBwZWVycy4iIiIKKyAgICAgICAgcmV0dXJuIHNlbGYuX3NzbG9iai5jb21wcmVzc2lvbigpCisKKyAgICBkZWYgcGVuZGluZyhzZWxmKToKKyAgICAgICAgIiIiUmV0dXJuIHRoZSBudW1iZXIgb2YgYnl0ZXMgdGhhdCBjYW4gYmUgcmVhZCBpbW1lZGlhdGVseS4iIiIKKyAgICAgICAgcmV0dXJuIHNlbGYuX3NzbG9iai5wZW5kaW5nKCkKKworICAgIGRlZiBkb19oYW5kc2hha2Uoc2VsZik6CisgICAgICAgICIiIlN0YXJ0IHRoZSBTU0wvVExTIGhhbmRzaGFrZS4iIiIKKyAgICAgICAgc2VsZi5fc3Nsb2JqLmRvX2hhbmRzaGFrZSgpCisgICAgICAgIGlmIHNlbGYuY29udGV4dC5jaGVja19ob3N0bmFtZToKKyAgICAgICAgICAgIGlmIG5vdCBzZWxmLnNlcnZlcl9ob3N0bmFtZToKKyAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJjaGVja19ob3N0bmFtZSBuZWVkcyBzZXJ2ZXJfaG9zdG5hbWUgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFyZ3VtZW50IikKKyAgICAgICAgICAgIG1hdGNoX2hvc3RuYW1lKHNlbGYuZ2V0cGVlcmNlcnQoKSwgc2VsZi5zZXJ2ZXJfaG9zdG5hbWUpCisKKyAgICBkZWYgdW53cmFwKHNlbGYpOgorICAgICAgICAiIiJTdGFydCB0aGUgU1NMIHNodXRkb3duIGhhbmRzaGFrZS4iIiIKKyAgICAgICAgcmV0dXJuIHNlbGYuX3NzbG9iai5zaHV0ZG93bigpCisKKyAgICBkZWYgZ2V0X2NoYW5uZWxfYmluZGluZyhzZWxmLCBjYl90eXBlPSJ0bHMtdW5pcXVlIik6CisgICAgICAgICIiIkdldCBjaGFubmVsIGJpbmRpbmcgZGF0YSBmb3IgY3VycmVudCBjb25uZWN0aW9uLiAgUmFpc2UgVmFsdWVFcnJvcgorICAgICAgICBpZiB0aGUgcmVxdWVzdGVkIGBjYl90eXBlYCBpcyBub3Qgc3VwcG9ydGVkLiAgUmV0dXJuIGJ5dGVzIG9mIHRoZSBkYXRhCisgICAgICAgIG9yIE5vbmUgaWYgdGhlIGRhdGEgaXMgbm90IGF2YWlsYWJsZSAoZS5nLiBiZWZvcmUgdGhlIGhhbmRzaGFrZSkuIiIiCisgICAgICAgIGlmIGNiX3R5cGUgbm90IGluIENIQU5ORUxfQklORElOR19UWVBFUzoKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIlVuc3VwcG9ydGVkIGNoYW5uZWwgYmluZGluZyB0eXBlIikKKyAgICAgICAgaWYgY2JfdHlwZSAhPSAidGxzLXVuaXF1ZSI6CisgICAgICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ7MH0gY2hhbm5lbCBiaW5kaW5nIHR5cGUgbm90IGltcGxlbWVudGVkIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5mb3JtYXQoY2JfdHlwZSkpCisgICAgICAgIHJldHVybiBzZWxmLl9zc2xvYmoudGxzX3VuaXF1ZV9jYigpCisKKyAgICBkZWYgdmVyc2lvbihzZWxmKToKKyAgICAgICAgIiIiUmV0dXJuIGEgc3RyaW5nIGlkZW50aWZ5aW5nIHRoZSBwcm90b2NvbCB2ZXJzaW9uIHVzZWQgYnkgdGhlCisgICAgICAgIGN1cnJlbnQgU1NMIGNoYW5uZWwuICIiIgorICAgICAgICByZXR1cm4gc2VsZi5fc3Nsb2JqLnZlcnNpb24oKQorCisKIGNsYXNzIFNTTFNvY2tldChzb2NrZXQpOgogICAgICIiIlRoaXMgY2xhc3MgaW1wbGVtZW50cyBhIHN1YnR5cGUgb2Ygc29ja2V0LnNvY2tldCB0aGF0IHdyYXBzCiAgICAgdGhlIHVuZGVybHlpbmcgT1Mgc29ja2V0IGluIGFuIFNTTCBjb250ZXh0IHdoZW4gbmVjZXNzYXJ5LCBhbmQKQEAgLTU3Myw4ICs3MTgsOSBAQAogICAgICAgICBpZiBjb25uZWN0ZWQ6CiAgICAgICAgICAgICAjIGNyZWF0ZSB0aGUgU1NMIG9iamVjdAogICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIHNlbGYuX3NzbG9iaiA9IHNlbGYuX2NvbnRleHQuX3dyYXBfc29ja2V0KHNlbGYsIHNlcnZlcl9zaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyX2hvc3RuYW1lKQorICAgICAgICAgICAgICAgIHNzbG9iaiA9IHNlbGYuX2NvbnRleHQuX3dyYXBfc29ja2V0KHNlbGYsIHNlcnZlcl9zaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlcl9ob3N0bmFtZSkKKyAgICAgICAgICAgICAgICBzZWxmLl9zc2xvYmogPSBTU0xPYmplY3Qoc3Nsb2JqLCBvd25lcj1zZWxmKQogICAgICAgICAgICAgICAgIGlmIGRvX2hhbmRzaGFrZV9vbl9jb25uZWN0OgogICAgICAgICAgICAgICAgICAgICB0aW1lb3V0ID0gc2VsZi5nZXR0aW1lb3V0KCkKICAgICAgICAgICAgICAgICAgICAgaWYgdGltZW91dCA9PSAwLjA6CkBAIC02MTksMTEgKzc2NSw3IEBACiAgICAgICAgIGlmIG5vdCBzZWxmLl9zc2xvYmo6CiAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJSZWFkIG9uIGNsb3NlZCBvciB1bndyYXBwZWQgU1NMIHNvY2tldC4iKQogICAgICAgICB0cnk6Ci0gICAgICAgICAgICBpZiBidWZmZXIgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgdiA9IHNlbGYuX3NzbG9iai5yZWFkKGxlbiwgYnVmZmVyKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICB2ID0gc2VsZi5fc3Nsb2JqLnJlYWQobGVuIG9yIDEwMjQpCi0gICAgICAgICAgICByZXR1cm4gdgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3NzbG9iai5yZWFkKGxlbiwgYnVmZmVyKQogICAgICAgICBleGNlcHQgU1NMRXJyb3IgYXMgeDoKICAgICAgICAgICAgIGlmIHguYXJnc1swXSA9PSBTU0xfRVJST1JfRU9GIGFuZCBzZWxmLnN1cHByZXNzX3JhZ2dlZF9lb2ZzOgogICAgICAgICAgICAgICAgIGlmIGJ1ZmZlciBpcyBub3QgTm9uZToKQEAgLTY1MCw3ICs3OTIsNyBAQAogCiAgICAgICAgIHNlbGYuX2NoZWNrQ2xvc2VkKCkKICAgICAgICAgc2VsZi5fY2hlY2tfY29ubmVjdGVkKCkKLSAgICAgICAgcmV0dXJuIHNlbGYuX3NzbG9iai5wZWVyX2NlcnRpZmljYXRlKGJpbmFyeV9mb3JtKQorICAgICAgICByZXR1cm4gc2VsZi5fc3Nsb2JqLmdldHBlZXJjZXJ0KGJpbmFyeV9mb3JtKQogCiAgICAgZGVmIHNlbGVjdGVkX25wbl9wcm90b2NvbChzZWxmKToKICAgICAgICAgc2VsZi5fY2hlY2tDbG9zZWQoKQpAQCAtNjU5LDYgKzgwMSwxMyBAQAogICAgICAgICBlbHNlOgogICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3NzbG9iai5zZWxlY3RlZF9ucG5fcHJvdG9jb2woKQogCisgICAgZGVmIHNlbGVjdGVkX2FscG5fcHJvdG9jb2woc2VsZik6CisgICAgICAgIHNlbGYuX2NoZWNrQ2xvc2VkKCkKKyAgICAgICAgaWYgbm90IHNlbGYuX3NzbG9iaiBvciBub3QgX3NzbC5IQVNfQUxQTjoKKyAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fc3Nsb2JqLnNlbGVjdGVkX2FscG5fcHJvdG9jb2woKQorCiAgICAgZGVmIGNpcGhlcihzZWxmKToKICAgICAgICAgc2VsZi5fY2hlY2tDbG9zZWQoKQogICAgICAgICBpZiBub3Qgc2VsZi5fc3Nsb2JqOgpAQCAtNjY2LDYgKzgxNSwxMiBAQAogICAgICAgICBlbHNlOgogICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3NzbG9iai5jaXBoZXIoKQogCisgICAgZGVmIHNoYXJlZF9jaXBoZXJzKHNlbGYpOgorICAgICAgICBzZWxmLl9jaGVja0Nsb3NlZCgpCisgICAgICAgIGlmIG5vdCBzZWxmLl9zc2xvYmo6CisgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICByZXR1cm4gc2VsZi5fc3Nsb2JqLnNoYXJlZF9jaXBoZXJzKCkKKwogICAgIGRlZiBjb21wcmVzc2lvbihzZWxmKToKICAgICAgICAgc2VsZi5fY2hlY2tDbG9zZWQoKQogICAgICAgICBpZiBub3Qgc2VsZi5fc3Nsb2JqOgpAQCAtNjgwLDE3ICs4MzUsNyBAQAogICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoCiAgICAgICAgICAgICAgICAgICAgICJub24temVybyBmbGFncyBub3QgYWxsb3dlZCBpbiBjYWxscyB0byBzZW5kKCkgb24gJXMiICUKICAgICAgICAgICAgICAgICAgICAgc2VsZi5fX2NsYXNzX18pCi0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgdiA9IHNlbGYuX3NzbG9iai53cml0ZShkYXRhKQotICAgICAgICAgICAgZXhjZXB0IFNTTEVycm9yIGFzIHg6Ci0gICAgICAgICAgICAgICAgaWYgeC5hcmdzWzBdID09IFNTTF9FUlJPUl9XQU5UX1JFQUQ6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiAwCi0gICAgICAgICAgICAgICAgZWxpZiB4LmFyZ3NbMF0gPT0gU1NMX0VSUk9SX1dBTlRfV1JJVEU6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiAwCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgcmFpc2UKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHYKKyAgICAgICAgICAgIHJldHVybiBzZWxmLl9zc2xvYmoud3JpdGUoZGF0YSkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHJldHVybiBzb2NrZXQuc2VuZChzZWxmLCBkYXRhLCBmbGFncykKIApAQCAtNzI2LDYgKzg3MSwxNiBAQAogICAgICAgICBlbHNlOgogICAgICAgICAgICAgcmV0dXJuIHNvY2tldC5zZW5kYWxsKHNlbGYsIGRhdGEsIGZsYWdzKQogCisgICAgZGVmIHNlbmRmaWxlKHNlbGYsIGZpbGUsIG9mZnNldD0wLCBjb3VudD1Ob25lKToKKyAgICAgICAgIiIiU2VuZCBhIGZpbGUsIHBvc3NpYmx5IGJ5IHVzaW5nIG9zLnNlbmRmaWxlKCkgaWYgdGhpcyBpcyBhCisgICAgICAgIGNsZWFyLXRleHQgc29ja2V0LiAgUmV0dXJuIHRoZSB0b3RhbCBudW1iZXIgb2YgYnl0ZXMgc2VudC4KKyAgICAgICAgIiIiCisgICAgICAgIGlmIHNlbGYuX3NzbG9iaiBpcyBOb25lOgorICAgICAgICAgICAgIyBvcy5zZW5kZmlsZSgpIHdvcmtzIHdpdGggcGxhaW4gc29ja2V0cyBvbmx5CisgICAgICAgICAgICByZXR1cm4gc3VwZXIoKS5zZW5kZmlsZShmaWxlLCBvZmZzZXQsIGNvdW50KQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3NlbmRmaWxlX3VzZV9zZW5kKGZpbGUsIG9mZnNldCwgY291bnQpCisKICAgICBkZWYgcmVjdihzZWxmLCBidWZsZW49MTAyNCwgZmxhZ3M9MCk6CiAgICAgICAgIHNlbGYuX2NoZWNrQ2xvc2VkKCkKICAgICAgICAgaWYgc2VsZi5fc3Nsb2JqOgpAQCAtNzkwLDcgKzk0NSw3IEBACiAKICAgICBkZWYgdW53cmFwKHNlbGYpOgogICAgICAgICBpZiBzZWxmLl9zc2xvYmo6Ci0gICAgICAgICAgICBzID0gc2VsZi5fc3Nsb2JqLnNodXRkb3duKCkKKyAgICAgICAgICAgIHMgPSBzZWxmLl9zc2xvYmoudW53cmFwKCkKICAgICAgICAgICAgIHNlbGYuX3NzbG9iaiA9IE5vbmUKICAgICAgICAgICAgIHJldHVybiBzCiAgICAgICAgIGVsc2U6CkBAIC04MTEsMTIgKzk2Niw2IEBACiAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICBzZWxmLnNldHRpbWVvdXQodGltZW91dCkKIAotICAgICAgICBpZiBzZWxmLmNvbnRleHQuY2hlY2tfaG9zdG5hbWU6Ci0gICAgICAgICAgICBpZiBub3Qgc2VsZi5zZXJ2ZXJfaG9zdG5hbWU6Ci0gICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiY2hlY2tfaG9zdG5hbWUgbmVlZHMgc2VydmVyX2hvc3RuYW1lICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhcmd1bWVudCIpCi0gICAgICAgICAgICBtYXRjaF9ob3N0bmFtZShzZWxmLmdldHBlZXJjZXJ0KCksIHNlbGYuc2VydmVyX2hvc3RuYW1lKQotCiAgICAgZGVmIF9yZWFsX2Nvbm5lY3Qoc2VsZiwgYWRkciwgY29ubmVjdF9leCk6CiAgICAgICAgIGlmIHNlbGYuc2VydmVyX3NpZGU6CiAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJjYW4ndCBjb25uZWN0IGluIHNlcnZlci1zaWRlIG1vZGUiKQpAQCAtODI0LDcgKzk3Myw4IEBACiAgICAgICAgICMgY29ubmVjdGVkIGF0IHRoZSB0aW1lIG9mIHRoZSBjYWxsLiAgV2UgY29ubmVjdCBpdCwgdGhlbiB3cmFwIGl0LgogICAgICAgICBpZiBzZWxmLl9jb25uZWN0ZWQ6CiAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJhdHRlbXB0IHRvIGNvbm5lY3QgYWxyZWFkeS1jb25uZWN0ZWQgU1NMU29ja2V0ISIpCi0gICAgICAgIHNlbGYuX3NzbG9iaiA9IHNlbGYuY29udGV4dC5fd3JhcF9zb2NrZXQoc2VsZiwgRmFsc2UsIHNlbGYuc2VydmVyX2hvc3RuYW1lKQorICAgICAgICBzc2xvYmogPSBzZWxmLmNvbnRleHQuX3dyYXBfc29ja2V0KHNlbGYsIEZhbHNlLCBzZWxmLnNlcnZlcl9ob3N0bmFtZSkKKyAgICAgICAgc2VsZi5fc3Nsb2JqID0gU1NMT2JqZWN0KHNzbG9iaiwgb3duZXI9c2VsZikKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgaWYgY29ubmVjdF9leDoKICAgICAgICAgICAgICAgICByYyA9IHNvY2tldC5jb25uZWN0X2V4KHNlbGYsIGFkZHIpCkBAIC04NjcsMTUgKzEwMTcsMTggQEAKICAgICAgICAgaWYgdGhlIHJlcXVlc3RlZCBgY2JfdHlwZWAgaXMgbm90IHN1cHBvcnRlZC4gIFJldHVybiBieXRlcyBvZiB0aGUgZGF0YQogICAgICAgICBvciBOb25lIGlmIHRoZSBkYXRhIGlzIG5vdCBhdmFpbGFibGUgKGUuZy4gYmVmb3JlIHRoZSBoYW5kc2hha2UpLgogICAgICAgICAiIiIKLSAgICAgICAgaWYgY2JfdHlwZSBub3QgaW4gQ0hBTk5FTF9CSU5ESU5HX1RZUEVTOgotICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiVW5zdXBwb3J0ZWQgY2hhbm5lbCBiaW5kaW5nIHR5cGUiKQotICAgICAgICBpZiBjYl90eXBlICE9ICJ0bHMtdW5pcXVlIjoKLSAgICAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInswfSBjaGFubmVsIGJpbmRpbmcgdHlwZSBub3QgaW1wbGVtZW50ZWQiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZvcm1hdChjYl90eXBlKSkKICAgICAgICAgaWYgc2VsZi5fc3Nsb2JqIGlzIE5vbmU6CiAgICAgICAgICAgICByZXR1cm4gTm9uZQotICAgICAgICByZXR1cm4gc2VsZi5fc3Nsb2JqLnRsc191bmlxdWVfY2IoKQorICAgICAgICByZXR1cm4gc2VsZi5fc3Nsb2JqLmdldF9jaGFubmVsX2JpbmRpbmcoY2JfdHlwZSkKKworICAgIGRlZiB2ZXJzaW9uKHNlbGYpOgorICAgICAgICAiIiIKKyAgICAgICAgUmV0dXJuIGEgc3RyaW5nIGlkZW50aWZ5aW5nIHRoZSBwcm90b2NvbCB2ZXJzaW9uIHVzZWQgYnkgdGhlCisgICAgICAgIGN1cnJlbnQgU1NMIGNoYW5uZWwsIG9yIE5vbmUgaWYgdGhlcmUgaXMgbm8gZXN0YWJsaXNoZWQgY2hhbm5lbC4KKyAgICAgICAgIiIiCisgICAgICAgIGlmIHNlbGYuX3NzbG9iaiBpcyBOb25lOgorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgcmV0dXJuIHNlbGYuX3NzbG9iai52ZXJzaW9uKCkKIAogCiBkZWYgd3JhcF9zb2NrZXQoc29jaywga2V5ZmlsZT1Ob25lLCBjZXJ0ZmlsZT1Ob25lLApAQCAtODk1LDEyICsxMDQ4LDM0IEBACiAjIHNvbWUgdXRpbGl0eSBmdW5jdGlvbnMKIAogZGVmIGNlcnRfdGltZV90b19zZWNvbmRzKGNlcnRfdGltZSk6Ci0gICAgIiIiVGFrZXMgYSBkYXRlLXRpbWUgc3RyaW5nIGluIHN0YW5kYXJkIEFTTjFfcHJpbnQgZm9ybQotICAgICgiTU9OIERBWSAyNEhPVVI6TUlOVVRFOlNFQyBZRUFSIFRJTUVaT05FIikgYW5kIHJldHVybgotICAgIGEgUHl0aG9uIHRpbWUgdmFsdWUgaW4gc2Vjb25kcyBwYXN0IHRoZSBlcG9jaC4iIiIKKyAgICAiIiJSZXR1cm4gdGhlIHRpbWUgaW4gc2Vjb25kcyBzaW5jZSB0aGUgRXBvY2gsIGdpdmVuIHRoZSB0aW1lc3RyaW5nCisgICAgcmVwcmVzZW50aW5nIHRoZSAibm90QmVmb3JlIiBvciAibm90QWZ0ZXIiIGRhdGUgZnJvbSBhIGNlcnRpZmljYXRlCisgICAgaW4gYGAiJWIgJWQgJUg6JU06JVMgJVkgJVoiYGAgc3RycHRpbWUgZm9ybWF0IChDIGxvY2FsZSkuCiAKLSAgICBpbXBvcnQgdGltZQotICAgIHJldHVybiB0aW1lLm1rdGltZSh0aW1lLnN0cnB0aW1lKGNlcnRfdGltZSwgIiViICVkICVIOiVNOiVTICVZIEdNVCIpKQorICAgICJub3RCZWZvcmUiIG9yICJub3RBZnRlciIgZGF0ZXMgbXVzdCB1c2UgVVRDIChSRkMgNTI4MCkuCisKKyAgICBNb250aCBpcyBvbmUgb2Y6IEphbiBGZWIgTWFyIEFwciBNYXkgSnVuIEp1bCBBdWcgU2VwIE9jdCBOb3YgRGVjCisgICAgVVRDIHNob3VsZCBiZSBzcGVjaWZpZWQgYXMgR01UIChzZWUgQVNOMV9USU1FX3ByaW50KCkpCisgICAgIiIiCisgICAgZnJvbSB0aW1lIGltcG9ydCBzdHJwdGltZQorICAgIGZyb20gY2FsZW5kYXIgaW1wb3J0IHRpbWVnbQorCisgICAgbW9udGhzID0gKAorICAgICAgICAiSmFuIiwiRmViIiwiTWFyIiwiQXByIiwiTWF5IiwiSnVuIiwKKyAgICAgICAgIkp1bCIsIkF1ZyIsIlNlcCIsIk9jdCIsIk5vdiIsIkRlYyIKKyAgICApCisgICAgdGltZV9mb3JtYXQgPSAnICVkICVIOiVNOiVTICVZIEdNVCcgIyBOT1RFOiBubyBtb250aCwgZml4ZWQgR01UCisgICAgdHJ5OgorICAgICAgICBtb250aF9udW1iZXIgPSBtb250aHMuaW5kZXgoY2VydF90aW1lWzozXS50aXRsZSgpKSArIDEKKyAgICBleGNlcHQgVmFsdWVFcnJvcjoKKyAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigndGltZSBkYXRhICVyIGRvZXMgbm90IG1hdGNoICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAnZm9ybWF0ICIlJWIlcyInICUgKGNlcnRfdGltZSwgdGltZV9mb3JtYXQpKQorICAgIGVsc2U6CisgICAgICAgICMgZm91bmQgdmFsaWQgbW9udGgKKyAgICAgICAgdHQgPSBzdHJwdGltZShjZXJ0X3RpbWVbMzpdLCB0aW1lX2Zvcm1hdCkKKyAgICAgICAgIyByZXR1cm4gYW4gaW50ZWdlciwgdGhlIHByZXZpb3VzIG1rdGltZSgpLWJhc2VkIGltcGxlbWVudGF0aW9uCisgICAgICAgICMgcmV0dXJuZWQgYSBmbG9hdCAoZnJhY3Rpb25hbCBzZWNvbmRzIGFyZSBhbHdheXMgemVybyBoZXJlKS4KKyAgICAgICAgcmV0dXJuIHRpbWVnbSgodHRbMF0sIG1vbnRoX251bWJlcikgKyB0dFsyOjZdKQogCiBQRU1fSEVBREVSID0gIi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLSIKIFBFTV9GT09URVIgPSAiLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLSIKZGlmZiAtLWdpdCBhL0xpYi9zdGF0LnB5IGIvTGliL3N0YXQucHkKaW5kZXggM2VlY2MzZS4uNDY4MzdjMCAxMDA2NDQKLS0tIGEvTGliL3N0YXQucHkKKysrIGIvTGliL3N0YXQucHkKQEAgLTE0OCw2ICsxNDgsMjkgQEAKICAgICAgICAgICAgIHBlcm0uYXBwZW5kKCItIikKICAgICByZXR1cm4gIiIuam9pbihwZXJtKQogCisKKyMgV2luZG93cyBGSUxFX0FUVFJJQlVURSBjb25zdGFudHMgZm9yIGludGVycHJldGluZyBvcy5zdGF0KCkncworIyAic3RfZmlsZV9hdHRyaWJ1dGVzIiBtZW1iZXIKKworRklMRV9BVFRSSUJVVEVfQVJDSElWRSA9IDMyCitGSUxFX0FUVFJJQlVURV9DT01QUkVTU0VEID0gMjA0OAorRklMRV9BVFRSSUJVVEVfREVWSUNFID0gNjQKK0ZJTEVfQVRUUklCVVRFX0RJUkVDVE9SWSA9IDE2CitGSUxFX0FUVFJJQlVURV9FTkNSWVBURUQgPSAxNjM4NAorRklMRV9BVFRSSUJVVEVfSElEREVOID0gMgorRklMRV9BVFRSSUJVVEVfSU5URUdSSVRZX1NUUkVBTSA9IDMyNzY4CitGSUxFX0FUVFJJQlVURV9OT1JNQUwgPSAxMjgKK0ZJTEVfQVRUUklCVVRFX05PVF9DT05URU5UX0lOREVYRUQgPSA4MTkyCitGSUxFX0FUVFJJQlVURV9OT19TQ1JVQl9EQVRBID0gMTMxMDcyCitGSUxFX0FUVFJJQlVURV9PRkZMSU5FID0gNDA5NgorRklMRV9BVFRSSUJVVEVfUkVBRE9OTFkgPSAxCitGSUxFX0FUVFJJQlVURV9SRVBBUlNFX1BPSU5UID0gMTAyNAorRklMRV9BVFRSSUJVVEVfU1BBUlNFX0ZJTEUgPSA1MTIKK0ZJTEVfQVRUUklCVVRFX1NZU1RFTSA9IDQKK0ZJTEVfQVRUUklCVVRFX1RFTVBPUkFSWSA9IDI1NgorRklMRV9BVFRSSUJVVEVfVklSVFVBTCA9IDY1NTM2CisKKwogIyBJZiBhdmFpbGFibGUsIHVzZSBDIGltcGxlbWVudGF0aW9uCiB0cnk6CiAgICAgZnJvbSBfc3RhdCBpbXBvcnQgKgpkaWZmIC0tZ2l0IGEvTGliL3N0YXRpc3RpY3MucHkgYi9MaWIvc3RhdGlzdGljcy5weQppbmRleCAyNWEyNmQ0Li4zOTcyZWQyIDEwMDY0NAotLS0gYS9MaWIvc3RhdGlzdGljcy5weQorKysgYi9MaWIvc3RhdGlzdGljcy5weQpAQCAtMTUwLDcgKzE1MCw3IEBACiAgICAgIyBXZSBmYWlsIGFzIHNvb24gYXMgd2UgcmVhY2ggYSB2YWx1ZSB0aGF0IGlzIG5vdCBhbiBpbnQgb3IgdGhlIHR5cGUgb2YKICAgICAjIHRoZSBmaXJzdCB2YWx1ZSB3aGljaCBpcyBub3QgYW4gaW50LiBFLmcuIF9zdW0oW2ludCwgaW50LCBmbG9hdCwgaW50XSkKICAgICAjIGlzIG9rYXksIGJ1dCBzdW0oW2ludCwgaW50LCBmbG9hdCwgRnJhY3Rpb25dKSBpcyBub3QuCi0gICAgYWxsb3dlZF90eXBlcyA9IHNldChbaW50LCB0eXBlKHN0YXJ0KV0pCisgICAgYWxsb3dlZF90eXBlcyA9IHtpbnQsIHR5cGUoc3RhcnQpfQogICAgIG4sIGQgPSBfZXhhY3RfcmF0aW8oc3RhcnQpCiAgICAgcGFydGlhbHMgPSB7ZDogbn0gICMgbWFwIHtkZW5vbWluYXRvcjogc3VtIG9mIG51bWVyYXRvcnN9CiAgICAgIyBNaWNyby1vcHRpbWl6YXRpb25zLgpAQCAtMTY4LDcgKzE2OCw3IEBACiAgICAgICAgIGFzc2VydCBhbGxvd2VkX3R5cGVzLnBvcCgpIGlzIGludAogICAgICAgICBUID0gaW50CiAgICAgZWxzZToKLSAgICAgICAgVCA9IChhbGxvd2VkX3R5cGVzIC0gc2V0KFtpbnRdKSkucG9wKCkKKyAgICAgICAgVCA9IChhbGxvd2VkX3R5cGVzIC0ge2ludH0pLnBvcCgpCiAgICAgaWYgTm9uZSBpbiBwYXJ0aWFsczoKICAgICAgICAgYXNzZXJ0IGlzc3ViY2xhc3MoVCwgKGZsb2F0LCBEZWNpbWFsKSkKICAgICAgICAgYXNzZXJ0IG5vdCBtYXRoLmlzZmluaXRlKHBhcnRpYWxzW05vbmVdKQpkaWZmIC0tZ2l0IGEvTGliL3N1YnByb2Nlc3MucHkgYi9MaWIvc3VicHJvY2Vzcy5weQppbmRleCBiYzBlZjBiLi4yNWZmZWZmIDEwMDY0NAotLS0gYS9MaWIvc3VicHJvY2Vzcy5weQorKysgYi9MaWIvc3VicHJvY2Vzcy5weQpAQCAtMTA0LDE3ICsxMDQsMjEgQEAKIElmIGVudiBpcyBub3QgTm9uZSwgaXQgZGVmaW5lcyB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGVzIGZvciB0aGUgbmV3CiBwcm9jZXNzLgogCi1JZiB1bml2ZXJzYWxfbmV3bGluZXMgaXMgZmFsc2UsIHRoZSBmaWxlIG9iamVjdHMgc3RkaW4sIHN0ZG91dCBhbmQgc3RkZXJyCitJZiB1bml2ZXJzYWxfbmV3bGluZXMgaXMgRmFsc2UsIHRoZSBmaWxlIG9iamVjdHMgc3RkaW4sIHN0ZG91dCBhbmQgc3RkZXJyCiBhcmUgb3BlbmVkIGFzIGJpbmFyeSBmaWxlcywgYW5kIG5vIGxpbmUgZW5kaW5nIGNvbnZlcnNpb24gaXMgZG9uZS4KIAotSWYgdW5pdmVyc2FsX25ld2xpbmVzIGlzIHRydWUsIHRoZSBmaWxlIG9iamVjdHMgc3Rkb3V0IGFuZCBzdGRlcnIgYXJlCi1vcGVuZWQgYXMgYSB0ZXh0IGZpbGVzLCBidXQgbGluZXMgbWF5IGJlIHRlcm1pbmF0ZWQgYnkgYW55IG9mICdcbicsCitJZiB1bml2ZXJzYWxfbmV3bGluZXMgaXMgVHJ1ZSwgdGhlIGZpbGUgb2JqZWN0cyBzdGRvdXQgYW5kIHN0ZGVyciBhcmUKK29wZW5lZCBhcyBhIHRleHQgZmlsZSwgYnV0IGxpbmVzIG1heSBiZSB0ZXJtaW5hdGVkIGJ5IGFueSBvZiAnXG4nLAogdGhlIFVuaXggZW5kLW9mLWxpbmUgY29udmVudGlvbiwgJ1xyJywgdGhlIG9sZCBNYWNpbnRvc2ggY29udmVudGlvbiBvcgogJ1xyXG4nLCB0aGUgV2luZG93cyBjb252ZW50aW9uLiAgQWxsIG9mIHRoZXNlIGV4dGVybmFsIHJlcHJlc2VudGF0aW9ucwogYXJlIHNlZW4gYXMgJ1xuJyBieSB0aGUgUHl0aG9uIHByb2dyYW0uICBBbHNvLCB0aGUgbmV3bGluZXMgYXR0cmlidXRlCiBvZiB0aGUgZmlsZSBvYmplY3RzIHN0ZG91dCwgc3RkaW4gYW5kIHN0ZGVyciBhcmUgbm90IHVwZGF0ZWQgYnkgdGhlCiBjb21tdW5pY2F0ZSgpIG1ldGhvZC4KIAorSW4gZWl0aGVyIGNhc2UsIHRoZSBwcm9jZXNzIGJlaW5nIGNvbW11bmljYXRlZCB3aXRoIHNob3VsZCBzdGFydCB1cAorZXhwZWN0aW5nIHRvIHJlY2VpdmUgYnl0ZXMgb24gaXRzIHN0YW5kYXJkIGlucHV0IGFuZCBkZWNvZGUgdGhlbSB3aXRoCit0aGUgc2FtZSBlbmNvZGluZyB0aGV5IGFyZSBzZW50IGluLgorCiBUaGUgc3RhcnR1cGluZm8gYW5kIGNyZWF0aW9uZmxhZ3MsIGlmIGdpdmVuLCB3aWxsIGJlIHBhc3NlZCB0byB0aGUKIHVuZGVybHlpbmcgQ3JlYXRlUHJvY2VzcygpIGZ1bmN0aW9uLiAgVGhleSBjYW4gc3BlY2lmeSB0aGluZ3Mgc3VjaCBhcwogYXBwZWFyYW5jZSBvZiB0aGUgbWFpbiB3aW5kb3cgYW5kIHByaW9yaXR5IGZvciB0aGUgbmV3IHByb2Nlc3MuCkBAIC0xODQsNiArMTg4LDkgQEAKICAgICBwYXNzIGEgc3RyaW5nIHRvIHRoZSBzdWJwcm9jZXNzJ3Mgc3RkaW4uICBJZiB5b3UgdXNlIHRoaXMgYXJndW1lbnQKICAgICB5b3UgbWF5IG5vdCBhbHNvIHVzZSB0aGUgUG9wZW4gY29uc3RydWN0b3IncyAic3RkaW4iIGFyZ3VtZW50LgogCisgICAgSWYgdW5pdmVyc2FsX25ld2xpbmVzIGlzIHNldCB0byBUcnVlLCB0aGUgImlucHV0IiBhcmd1bWVudCBtdXN0CisgICAgYmUgYSBzdHJpbmcgcmF0aGVyIHRoYW4gYnl0ZXMsIGFuZCB0aGUgcmV0dXJuIHZhbHVlIHdpbGwgYmUgYSBzdHJpbmcuCisKIEV4Y2VwdGlvbnMKIC0tLS0tLS0tLS0KIEV4Y2VwdGlvbnMgcmFpc2VkIGluIHRoZSBjaGlsZCBwcm9jZXNzLCBiZWZvcmUgdGhlIG5ldyBwcm9ncmFtIGhhcwpAQCAtMjI1LDkgKzIzMiwxMyBAQAogY29tbXVuaWNhdGUoaW5wdXQ9Tm9uZSkKICAgICBJbnRlcmFjdCB3aXRoIHByb2Nlc3M6IFNlbmQgZGF0YSB0byBzdGRpbi4gIFJlYWQgZGF0YSBmcm9tIHN0ZG91dAogICAgIGFuZCBzdGRlcnIsIHVudGlsIGVuZC1vZi1maWxlIGlzIHJlYWNoZWQuICBXYWl0IGZvciBwcm9jZXNzIHRvCi0gICAgdGVybWluYXRlLiAgVGhlIG9wdGlvbmFsIGlucHV0IGFyZ3VtZW50IHNob3VsZCBiZSBhIHN0cmluZyB0byBiZQorICAgIHRlcm1pbmF0ZS4gIFRoZSBvcHRpb25hbCBpbnB1dCBhcmd1bWVudCBzaG91bGQgYmUgZGF0YSB0byBiZQogICAgIHNlbnQgdG8gdGhlIGNoaWxkIHByb2Nlc3MsIG9yIE5vbmUsIGlmIG5vIGRhdGEgc2hvdWxkIGJlIHNlbnQgdG8KLSAgICB0aGUgY2hpbGQuCisgICAgdGhlIGNoaWxkLiBJZiB0aGUgUG9wZW4gaW5zdGFuY2Ugd2FzIGNvbnN0cnVjdGVkIHdpdGggdW5pdmVyc2FsX25ld2xpbmVzCisgICAgc2V0IHRvIFRydWUsIHRoZSBpbnB1dCBhcmd1bWVudCBzaG91bGQgYmUgYSBzdHJpbmcgYW5kIHdpbGwgYmUgZW5jb2RlZAorICAgIHVzaW5nIHRoZSBwcmVmZXJyZWQgc3lzdGVtIGVuY29kaW5nIChzZWUgbG9jYWxlLmdldHByZWZlcnJlZGVuY29kaW5nKTsKKyAgICBpZiB1bml2ZXJzYWxfbmV3bGluZXMgaXMgRmFsc2UsIHRoZSBpbnB1dCBhcmd1bWVudCBzaG91bGQgYmUgYQorICAgIGJ5dGUgc3RyaW5nLgogCiAgICAgY29tbXVuaWNhdGUoKSByZXR1cm5zIGEgdHVwbGUgKHN0ZG91dCwgc3RkZXJyKS4KIApAQCAtMzU0LDEwICszNjUsNyBAQAogaW1wb3J0IGJ1aWx0aW5zCiBpbXBvcnQgd2FybmluZ3MKIGltcG9ydCBlcnJubwotdHJ5OgotICAgIGZyb20gdGltZSBpbXBvcnQgbW9ub3RvbmljIGFzIF90aW1lCi1leGNlcHQgSW1wb3J0RXJyb3I6Ci0gICAgZnJvbSB0aW1lIGltcG9ydCB0aW1lIGFzIF90aW1lCitmcm9tIHRpbWUgaW1wb3J0IG1vbm90b25pYyBhcyBfdGltZQogCiAjIEV4Y2VwdGlvbiBjbGFzc2VzIHVzZWQgYnkgdGhpcyBtb2R1bGUuCiBjbGFzcyBTdWJwcm9jZXNzRXJyb3IoRXhjZXB0aW9uKTogcGFzcwpAQCAtNDUzLDE1ICs0NjEsMTEgQEAKICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoImFscmVhZHkgY2xvc2VkIikKIAogICAgICAgICBkZWYgX19yZXByX18oc2VsZik6Ci0gICAgICAgICAgICByZXR1cm4gIkhhbmRsZSglZCkiICUgaW50KHNlbGYpCisgICAgICAgICAgICByZXR1cm4gIiVzKCVkKSIgJSAoc2VsZi5fX2NsYXNzX18uX19uYW1lX18sIGludChzZWxmKSkKIAogICAgICAgICBfX2RlbF9fID0gQ2xvc2UKICAgICAgICAgX19zdHJfXyA9IF9fcmVwcl9fCiAKLXRyeToKLSAgICBNQVhGRCA9IG9zLnN5c2NvbmYoIlNDX09QRU5fTUFYIikKLWV4Y2VwdDoKLSAgICBNQVhGRCA9IDI1NgogCiAjIFRoaXMgbGlzdHMgaG9sZHMgUG9wZW4gaW5zdGFuY2VzIGZvciB3aGljaCB0aGUgdW5kZXJseWluZyBwcm9jZXNzIGhhZCBub3QKICMgZXhpdGVkIGF0IHRoZSB0aW1lIGl0cyBfX2RlbF9fIG1ldGhvZCBnb3QgY2FsbGVkOiB0aG9zZSBwcm9jZXNzZXMgYXJlIHdhaXQoKWVkCkBAIC00ODUsMTQgKzQ4OSw2IEBACiBERVZOVUxMID0gLTMKIAogCi1kZWYgX2VpbnRyX3JldHJ5X2NhbGwoZnVuYywgKmFyZ3MpOgotICAgIHdoaWxlIFRydWU6Ci0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHJldHVybiBmdW5jKCphcmdzKQotICAgICAgICBleGNlcHQgSW50ZXJydXB0ZWRFcnJvcjoKLSAgICAgICAgICAgIGNvbnRpbnVlCi0KLQogIyBYWFggVGhpcyBmdW5jdGlvbiBpcyBvbmx5IHVzZWQgYnkgbXVsdGlwcm9jZXNzaW5nIGFuZCB0aGUgdGVzdCBzdWl0ZSwKICMgYnV0IGl0J3MgaGVyZSBzbyB0aGF0IGl0IGNhbiBiZSBpbXBvcnRlZCB3aGVuIFB5dGhvbiBpcyBjb21waWxlZCB3aXRob3V0CiAjIHRocmVhZHMuCkBAIC01OTEsOCArNTg3LDggQEAKICAgICAuLi4gICAgICAgICAgICAgIGlucHV0PWIid2hlbiBpbiB0aGUgY291cnNlIG9mIGZvb21hbiBldmVudHNcbiIpCiAgICAgYid3aGVuIGluIHRoZSBjb3Vyc2Ugb2YgYmFybWFuIGV2ZW50c1xuJwogCi0gICAgSWYgdW5pdmVyc2FsX25ld2xpbmVzPVRydWUgaXMgcGFzc2VkLCB0aGUgcmV0dXJuIHZhbHVlIHdpbGwgYmUgYQotICAgIHN0cmluZyByYXRoZXIgdGhhbiBieXRlcy4KKyAgICBJZiB1bml2ZXJzYWxfbmV3bGluZXM9VHJ1ZSBpcyBwYXNzZWQsIHRoZSAiaW5wdXQiIGFyZ3VtZW50IG11c3QgYmUgYQorICAgIHN0cmluZyBhbmQgdGhlIHJldHVybiB2YWx1ZSB3aWxsIGJlIGEgc3RyaW5nIHJhdGhlciB0aGFuIGJ5dGVzLgogICAgICIiIgogICAgIGlmICdzdGRvdXQnIGluIGt3YXJnczoKICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignc3Rkb3V0IGFyZ3VtZW50IG5vdCBhbGxvd2VkLCBpdCB3aWxsIGJlIG92ZXJyaWRkZW4uJykKQEAgLTkxNiwxNCArOTEyLDM1IEBACiAgICAgICAgICAgICBzZWxmLl9kZXZudWxsID0gb3Mub3Blbihvcy5kZXZudWxsLCBvcy5PX1JEV1IpCiAgICAgICAgIHJldHVybiBzZWxmLl9kZXZudWxsCiAKKyAgICBkZWYgX3N0ZGluX3dyaXRlKHNlbGYsIGlucHV0KToKKyAgICAgICAgaWYgaW5wdXQ6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgc2VsZi5zdGRpbi53cml0ZShpbnB1dCkKKyAgICAgICAgICAgIGV4Y2VwdCBCcm9rZW5QaXBlRXJyb3I6CisgICAgICAgICAgICAgICAgIyBjb21tdW5pY2F0ZSgpIG11c3QgaWdub3JlIGJyb2tlbiBwaXBlIGVycm9yCisgICAgICAgICAgICAgICAgcGFzcworICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKKyAgICAgICAgICAgICAgICBpZiBlLmVycm5vID09IGVycm5vLkVJTlZBTCBhbmQgc2VsZi5wb2xsKCkgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgICAgICMgSXNzdWUgIzE5NjEyOiBPbiBXaW5kb3dzLCBzdGRpbi53cml0ZSgpIGZhaWxzIHdpdGggRUlOVkFMCisgICAgICAgICAgICAgICAgICAgICMgaWYgdGhlIHByb2Nlc3MgYWxyZWFkeSBleGl0ZWQgYmVmb3JlIHRoZSB3cml0ZQorICAgICAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UKKyAgICAgICAgc2VsZi5zdGRpbi5jbG9zZSgpCisKICAgICBkZWYgY29tbXVuaWNhdGUoc2VsZiwgaW5wdXQ9Tm9uZSwgdGltZW91dD1Ob25lKToKICAgICAgICAgIiIiSW50ZXJhY3Qgd2l0aCBwcm9jZXNzOiBTZW5kIGRhdGEgdG8gc3RkaW4uICBSZWFkIGRhdGEgZnJvbQogICAgICAgICBzdGRvdXQgYW5kIHN0ZGVyciwgdW50aWwgZW5kLW9mLWZpbGUgaXMgcmVhY2hlZC4gIFdhaXQgZm9yCi0gICAgICAgIHByb2Nlc3MgdG8gdGVybWluYXRlLiAgVGhlIG9wdGlvbmFsIGlucHV0IGFyZ3VtZW50IHNob3VsZCBiZQotICAgICAgICBieXRlcyB0byBiZSBzZW50IHRvIHRoZSBjaGlsZCBwcm9jZXNzLCBvciBOb25lLCBpZiBubyBkYXRhCi0gICAgICAgIHNob3VsZCBiZSBzZW50IHRvIHRoZSBjaGlsZC4KKyAgICAgICAgcHJvY2VzcyB0byB0ZXJtaW5hdGUuCiAKLSAgICAgICAgY29tbXVuaWNhdGUoKSByZXR1cm5zIGEgdHVwbGUgKHN0ZG91dCwgc3RkZXJyKS4iIiIKKyAgICAgICAgVGhlIG9wdGlvbmFsICJpbnB1dCIgYXJndW1lbnQgc2hvdWxkIGJlIGRhdGEgdG8gYmUgc2VudCB0byB0aGUKKyAgICAgICAgY2hpbGQgcHJvY2VzcyAoaWYgc2VsZi51bml2ZXJzYWxfbmV3bGluZXMgaXMgVHJ1ZSwgdGhpcyBzaG91bGQKKyAgICAgICAgYmUgYSBzdHJpbmc7IGlmIGl0IGlzIEZhbHNlLCAiaW5wdXQiIHNob3VsZCBiZSBieXRlcyksIG9yCisgICAgICAgIE5vbmUsIGlmIG5vIGRhdGEgc2hvdWxkIGJlIHNlbnQgdG8gdGhlIGNoaWxkLgorCisgICAgICAgIGNvbW11bmljYXRlKCkgcmV0dXJucyBhIHR1cGxlIChzdGRvdXQsIHN0ZGVycikuICBUaGVzZSB3aWxsIGJlCisgICAgICAgIGJ5dGVzIG9yLCBpZiBzZWxmLnVuaXZlcnNhbF9uZXdsaW5lcyB3YXMgVHJ1ZSwgYSBzdHJpbmcuCisgICAgICAgICIiIgogCiAgICAgICAgIGlmIHNlbGYuX2NvbW11bmljYXRpb25fc3RhcnRlZCBhbmQgaW5wdXQ6CiAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJDYW5ub3Qgc2VuZCBpbnB1dCBhZnRlciBzdGFydGluZyBjb21tdW5pY2F0aW9uIikKQEAgLTkzNiwxOCArOTUzLDEyIEBACiAgICAgICAgICAgICBzdGRvdXQgPSBOb25lCiAgICAgICAgICAgICBzdGRlcnIgPSBOb25lCiAgICAgICAgICAgICBpZiBzZWxmLnN0ZGluOgotICAgICAgICAgICAgICAgIGlmIGlucHV0OgotICAgICAgICAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnN0ZGluLndyaXRlKGlucHV0KQotICAgICAgICAgICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgotICAgICAgICAgICAgICAgICAgICAgICAgaWYgZS5lcnJubyAhPSBlcnJuby5FUElQRSBhbmQgZS5lcnJubyAhPSBlcnJuby5FSU5WQUw6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UKLSAgICAgICAgICAgICAgICBzZWxmLnN0ZGluLmNsb3NlKCkKKyAgICAgICAgICAgICAgICBzZWxmLl9zdGRpbl93cml0ZShpbnB1dCkKICAgICAgICAgICAgIGVsaWYgc2VsZi5zdGRvdXQ6Ci0gICAgICAgICAgICAgICAgc3Rkb3V0ID0gX2VpbnRyX3JldHJ5X2NhbGwoc2VsZi5zdGRvdXQucmVhZCkKKyAgICAgICAgICAgICAgICBzdGRvdXQgPSBzZWxmLnN0ZG91dC5yZWFkKCkKICAgICAgICAgICAgICAgICBzZWxmLnN0ZG91dC5jbG9zZSgpCiAgICAgICAgICAgICBlbGlmIHNlbGYuc3RkZXJyOgotICAgICAgICAgICAgICAgIHN0ZGVyciA9IF9laW50cl9yZXRyeV9jYWxsKHNlbGYuc3RkZXJyLnJlYWQpCisgICAgICAgICAgICAgICAgc3RkZXJyID0gc2VsZi5zdGRlcnIucmVhZCgpCiAgICAgICAgICAgICAgICAgc2VsZi5zdGRlcnIuY2xvc2UoKQogICAgICAgICAgICAgc2VsZi53YWl0KCkKICAgICAgICAgZWxzZToKQEAgLTExOTEsMjEgKzEyMDIsNyBAQAogICAgICAgICAgICAgICAgIHNlbGYuc3RkZXJyX3RocmVhZC5zdGFydCgpCiAKICAgICAgICAgICAgIGlmIHNlbGYuc3RkaW46Ci0gICAgICAgICAgICAgICAgaWYgaW5wdXQgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc3RkaW4ud3JpdGUoaW5wdXQpCi0gICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiBlLmVycm5vID09IGVycm5vLkVQSVBFOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgY29tbXVuaWNhdGUoKSBzaG91bGQgaWdub3JlIHBpcGUgZnVsbCBlcnJvcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhc3MKLSAgICAgICAgICAgICAgICAgICAgICAgIGVsaWYgKGUuZXJybm8gPT0gZXJybm8uRUlOVkFMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgc2VsZi5wb2xsKCkgaXMgbm90IE5vbmUpOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgSXNzdWUgIzE5NjEyOiBzdGRpbi53cml0ZSgpIGZhaWxzIHdpdGggRUlOVkFMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBpZiB0aGUgcHJvY2VzcyBhbHJlYWR5IGV4aXRlZCBiZWZvcmUgdGhlIHdyaXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzcwotICAgICAgICAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZQotICAgICAgICAgICAgICAgIHNlbGYuc3RkaW4uY2xvc2UoKQorICAgICAgICAgICAgICAgIHNlbGYuX3N0ZGluX3dyaXRlKGlucHV0KQogCiAgICAgICAgICAgICAjIFdhaXQgZm9yIHRoZSByZWFkZXIgdGhyZWFkcywgb3IgdGltZSBvdXQuICBJZiB3ZSB0aW1lIG91dCwgdGhlCiAgICAgICAgICAgICAjIHRocmVhZHMgcmVtYWluIHJlYWRpbmcgYW5kIHRoZSBmZHMgbGVmdCBvcGVuIGluIGNhc2UgdGhlIHVzZXIKQEAgLTEzMjAsMTYgKzEzMTcsNiBAQAogICAgICAgICAgICAgICAgICAgICBlcnJyZWFkLCBlcnJ3cml0ZSkKIAogCi0gICAgICAgIGRlZiBfY2xvc2VfZmRzKHNlbGYsIGZkc190b19rZWVwKToKLSAgICAgICAgICAgIHN0YXJ0X2ZkID0gMwotICAgICAgICAgICAgZm9yIGZkIGluIHNvcnRlZChmZHNfdG9fa2VlcCk6Ci0gICAgICAgICAgICAgICAgaWYgZmQgPj0gc3RhcnRfZmQ6Ci0gICAgICAgICAgICAgICAgICAgIG9zLmNsb3NlcmFuZ2Uoc3RhcnRfZmQsIGZkKQotICAgICAgICAgICAgICAgICAgICBzdGFydF9mZCA9IGZkICsgMQotICAgICAgICAgICAgaWYgc3RhcnRfZmQgPD0gTUFYRkQ6Ci0gICAgICAgICAgICAgICAgb3MuY2xvc2VyYW5nZShzdGFydF9mZCwgTUFYRkQpCi0KLQogICAgICAgICBkZWYgX2V4ZWN1dGVfY2hpbGQoc2VsZiwgYXJncywgZXhlY3V0YWJsZSwgcHJlZXhlY19mbiwgY2xvc2VfZmRzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzc19mZHMsIGN3ZCwgZW52LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnR1cGluZm8sIGNyZWF0aW9uZmxhZ3MsIHNoZWxsLApAQCAtMTQxNSw3ICsxNDAyLDcgQEAKICAgICAgICAgICAgICAgICAjIGV4Y2VwdGlvbiAobGltaXRlZCBpbiBzaXplKQogICAgICAgICAgICAgICAgIGVycnBpcGVfZGF0YSA9IGJ5dGVhcnJheSgpCiAgICAgICAgICAgICAgICAgd2hpbGUgVHJ1ZToKLSAgICAgICAgICAgICAgICAgICAgcGFydCA9IF9laW50cl9yZXRyeV9jYWxsKG9zLnJlYWQsIGVycnBpcGVfcmVhZCwgNTAwMDApCisgICAgICAgICAgICAgICAgICAgIHBhcnQgPSBvcy5yZWFkKGVycnBpcGVfcmVhZCwgNTAwMDApCiAgICAgICAgICAgICAgICAgICAgIGVycnBpcGVfZGF0YSArPSBwYXJ0CiAgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBwYXJ0IG9yIGxlbihlcnJwaXBlX2RhdGEpID4gNTAwMDA6CiAgICAgICAgICAgICAgICAgICAgICAgICBicmVhawpAQCAtMTQyNSwxMCArMTQxMiw5IEBACiAKICAgICAgICAgICAgIGlmIGVycnBpcGVfZGF0YToKICAgICAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgICAgIF9laW50cl9yZXRyeV9jYWxsKG9zLndhaXRwaWQsIHNlbGYucGlkLCAwKQotICAgICAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6Ci0gICAgICAgICAgICAgICAgICAgIGlmIGUuZXJybm8gIT0gZXJybm8uRUNISUxEOgotICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UKKyAgICAgICAgICAgICAgICAgICAgb3Mud2FpdHBpZChzZWxmLnBpZCwgMCkKKyAgICAgICAgICAgICAgICBleGNlcHQgQ2hpbGRQcm9jZXNzRXJyb3I6CisgICAgICAgICAgICAgICAgICAgIHBhc3MKICAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdGlvbl9uYW1lLCBoZXhfZXJybm8sIGVycl9tc2cgPSAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJycGlwZV9kYXRhLnNwbGl0KGInOicsIDIpKQpAQCAtMTUxMSwxMCArMTQ5Nyw4IEBACiAgICAgICAgIGRlZiBfdHJ5X3dhaXQoc2VsZiwgd2FpdF9mbGFncyk6CiAgICAgICAgICAgICAiIiJBbGwgY2FsbGVycyB0byB0aGlzIGZ1bmN0aW9uIE1VU1QgaG9sZCBzZWxmLl93YWl0cGlkX2xvY2suIiIiCiAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgKHBpZCwgc3RzKSA9IF9laW50cl9yZXRyeV9jYWxsKG9zLndhaXRwaWQsIHNlbGYucGlkLCB3YWl0X2ZsYWdzKQotICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKLSAgICAgICAgICAgICAgICBpZiBlLmVycm5vICE9IGVycm5vLkVDSElMRDoKLSAgICAgICAgICAgICAgICAgICAgcmFpc2UKKyAgICAgICAgICAgICAgICAocGlkLCBzdHMpID0gb3Mud2FpdHBpZChzZWxmLnBpZCwgd2FpdF9mbGFncykKKyAgICAgICAgICAgIGV4Y2VwdCBDaGlsZFByb2Nlc3NFcnJvcjoKICAgICAgICAgICAgICAgICAjIFRoaXMgaGFwcGVucyBpZiBTSUdDTEQgaXMgc2V0IHRvIGJlIGlnbm9yZWQgb3Igd2FpdGluZwogICAgICAgICAgICAgICAgICMgZm9yIGNoaWxkIHByb2Nlc3NlcyBoYXMgb3RoZXJ3aXNlIGJlZW4gZGlzYWJsZWQgZm9yIG91cgogICAgICAgICAgICAgICAgICMgcHJvY2Vzcy4gIFRoaXMgY2hpbGQgaXMgZGVhZCwgd2UgY2FuJ3QgZ2V0IHRoZSBzdGF0dXMuCkBAIC0xNjI2LDEyICsxNjEwLDkgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5faW5wdXRfb2Zmc2V0ICsgX1BJUEVfQlVGXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5faW5wdXRfb2Zmc2V0ICs9IG9zLndyaXRlKGtleS5mZCwgY2h1bmspCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgZS5lcnJubyA9PSBlcnJuby5FUElQRToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdG9yLnVucmVnaXN0ZXIoa2V5LmZpbGVvYmopCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXkuZmlsZW9iai5jbG9zZSgpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBCcm9rZW5QaXBlRXJyb3I6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdG9yLnVucmVnaXN0ZXIoa2V5LmZpbGVvYmopCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleS5maWxlb2JqLmNsb3NlKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBzZWxmLl9pbnB1dF9vZmZzZXQgPj0gbGVuKHNlbGYuX2lucHV0KToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdG9yLnVucmVnaXN0ZXIoa2V5LmZpbGVvYmopCmRpZmYgLS1naXQgYS9MaWIvc3lzY29uZmlnLnB5IGIvTGliL3N5c2NvbmZpZy5weQppbmRleCBkYmY3NzY3Li5jNWY1NDFiIDEwMDY0NAotLS0gYS9MaWIvc3lzY29uZmlnLnB5CisrKyBiL0xpYi9zeXNjb25maWcucHkKQEAgLTEwOSwxMyArMTA5LDggQEAKICAgICAjIHVuYWJsZSB0byByZXRyaWV2ZSB0aGUgcmVhbCBwcm9ncmFtIG5hbWUKICAgICBfUFJPSkVDVF9CQVNFID0gX3NhZmVfcmVhbHBhdGgob3MuZ2V0Y3dkKCkpCiAKLWlmIG9zLm5hbWUgPT0gIm50IiBhbmQgInBjYnVpbGQiIGluIF9QUk9KRUNUX0JBU0VbLTg6XS5sb3dlcigpOgotICAgIF9QUk9KRUNUX0JBU0UgPSBfc2FmZV9yZWFscGF0aChvcy5wYXRoLmpvaW4oX1BST0pFQ1RfQkFTRSwgcGFyZGlyKSkKLSMgUEMvVlM3LjEKLWlmIG9zLm5hbWUgPT0gIm50IiBhbmQgIlxccGNcXHYiIGluIF9QUk9KRUNUX0JBU0VbLTEwOl0ubG93ZXIoKToKLSAgICBfUFJPSkVDVF9CQVNFID0gX3NhZmVfcmVhbHBhdGgob3MucGF0aC5qb2luKF9QUk9KRUNUX0JBU0UsIHBhcmRpciwgcGFyZGlyKSkKLSMgUEMvQU1ENjQKLWlmIG9zLm5hbWUgPT0gIm50IiBhbmQgIlxccGNidWlsZFxcYW1kNjQiIGluIF9QUk9KRUNUX0JBU0VbLTE0Ol0ubG93ZXIoKToKK2lmIChvcy5uYW1lID09ICdudCcgYW5kCisgICAgX1BST0pFQ1RfQkFTRS5sb3dlcigpLmVuZHN3aXRoKCgnXFxwY2J1aWxkXFx3aW4zMicsICdcXHBjYnVpbGRcXGFtZDY0JykpKToKICAgICBfUFJPSkVDVF9CQVNFID0gX3NhZmVfcmVhbHBhdGgob3MucGF0aC5qb2luKF9QUk9KRUNUX0JBU0UsIHBhcmRpciwgcGFyZGlyKSkKIAogIyBzZXQgZm9yIGNyb3NzIGJ1aWxkcwpAQCAtMTI5LDExICsxMjQsOSBAQAogICAgIHJldHVybiBGYWxzZQogCiBfc3lzX2hvbWUgPSBnZXRhdHRyKHN5cywgJ19ob21lJywgTm9uZSkKLWlmIF9zeXNfaG9tZSBhbmQgb3MubmFtZSA9PSAnbnQnIGFuZCBcCi0gICAgX3N5c19ob21lLmxvd2VyKCkuZW5kc3dpdGgoKCdwY2J1aWxkJywgJ3BjYnVpbGRcXGFtZDY0JykpOgotICAgIF9zeXNfaG9tZSA9IG9zLnBhdGguZGlybmFtZShfc3lzX2hvbWUpCi0gICAgaWYgX3N5c19ob21lLmVuZHN3aXRoKCdwY2J1aWxkJyk6ICAgIyBtdXN0IGJlIGFtZDY0Ci0gICAgICAgIF9zeXNfaG9tZSA9IG9zLnBhdGguZGlybmFtZShfc3lzX2hvbWUpCitpZiAoX3N5c19ob21lIGFuZCBvcy5uYW1lID09ICdudCcgYW5kCisgICAgX3N5c19ob21lLmxvd2VyKCkuZW5kc3dpdGgoKCdcXHBjYnVpbGRcXHdpbjMyJywgJ1xccGNidWlsZFxcYW1kNjQnKSkpOgorICAgIF9zeXNfaG9tZSA9IG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmRpcm5hbWUoX3N5c19ob21lKSkKIGRlZiBpc19weXRob25fYnVpbGQoY2hlY2tfaG9tZT1GYWxzZSk6CiAgICAgaWYgY2hlY2tfaG9tZSBhbmQgX3N5c19ob21lOgogICAgICAgICByZXR1cm4gX2lzX3B5dGhvbl9zb3VyY2VfZGlyKF9zeXNfaG9tZSkKZGlmZiAtLWdpdCBhL0xpYi90YXJmaWxlLnB5IGIvTGliL3RhcmZpbGUucHkKaW5kZXggOWUyOTFjMi4uNGI0ZTBkMyAxMDA3NTUKLS0tIGEvTGliL3RhcmZpbGUucHkKKysrIGIvTGliL3RhcmZpbGUucHkKQEAgLTE4NDIsMTQgKzE4NDIsMTcgQEAKICAgICAgICAgICAgICAgICB0YXJpbmZvLmRldm1pbm9yID0gb3MubWlub3Ioc3RhdHJlcy5zdF9yZGV2KQogICAgICAgICByZXR1cm4gdGFyaW5mbwogCi0gICAgZGVmIGxpc3Qoc2VsZiwgdmVyYm9zZT1UcnVlKToKKyAgICBkZWYgbGlzdChzZWxmLCB2ZXJib3NlPVRydWUsICosIG1lbWJlcnM9Tm9uZSk6CiAgICAgICAgICIiIlByaW50IGEgdGFibGUgb2YgY29udGVudHMgdG8gc3lzLnN0ZG91dC4gSWYgYHZlcmJvc2UnIGlzIEZhbHNlLCBvbmx5CiAgICAgICAgICAgIHRoZSBuYW1lcyBvZiB0aGUgbWVtYmVycyBhcmUgcHJpbnRlZC4gSWYgaXQgaXMgVHJ1ZSwgYW4gYGxzIC1sJy1saWtlCi0gICAgICAgICAgIG91dHB1dCBpcyBwcm9kdWNlZC4KKyAgICAgICAgICAgb3V0cHV0IGlzIHByb2R1Y2VkLiBgbWVtYmVycycgaXMgb3B0aW9uYWwgYW5kIG11c3QgYmUgYSBzdWJzZXQgb2YgdGhlCisgICAgICAgICAgIGxpc3QgcmV0dXJuZWQgYnkgZ2V0bWVtYmVycygpLgogICAgICAgICAiIiIKICAgICAgICAgc2VsZi5fY2hlY2soKQogCi0gICAgICAgIGZvciB0YXJpbmZvIGluIHNlbGY6CisgICAgICAgIGlmIG1lbWJlcnMgaXMgTm9uZToKKyAgICAgICAgICAgIG1lbWJlcnMgPSBzZWxmCisgICAgICAgIGZvciB0YXJpbmZvIGluIG1lbWJlcnM6CiAgICAgICAgICAgICBpZiB2ZXJib3NlOgogICAgICAgICAgICAgICAgIF9zYWZlX3ByaW50KHN0YXQuZmlsZW1vZGUodGFyaW5mby5tb2RlKSkKICAgICAgICAgICAgICAgICBfc2FmZV9wcmludCgiJXMvJXMiICUgKHRhcmluZm8udW5hbWUgb3IgdGFyaW5mby51aWQsCmRpZmYgLS1naXQgYS9MaWIvdGVsbmV0bGliLnB5IGIvTGliL3RlbG5ldGxpYi5weQppbmRleCAwY2FjYWM4Li5lZWJiOTUyIDEwMDY0NAotLS0gYS9MaWIvdGVsbmV0bGliLnB5CisrKyBiL0xpYi90ZWxuZXRsaWIucHkKQEAgLTM2LDEwICszNiw3IEBACiBpbXBvcnQgc3lzCiBpbXBvcnQgc29ja2V0CiBpbXBvcnQgc2VsZWN0b3JzCi10cnk6Ci0gICAgZnJvbSB0aW1lIGltcG9ydCBtb25vdG9uaWMgYXMgX3RpbWUKLWV4Y2VwdCBJbXBvcnRFcnJvcjoKLSAgICBmcm9tIHRpbWUgaW1wb3J0IHRpbWUgYXMgX3RpbWUKK2Zyb20gdGltZSBpbXBvcnQgbW9ub3RvbmljIGFzIF90aW1lCiAKIF9fYWxsX18gPSBbIlRlbG5ldCJdCiAKZGlmZiAtLWdpdCBhL0xpYi90ZW1wZmlsZS5weSBiL0xpYi90ZW1wZmlsZS5weQppbmRleCBiNmVlY2EzLi4wNTIyYzc5IDEwMDY0NAotLS0gYS9MaWIvdGVtcGZpbGUucHkKKysrIGIvTGliL3RlbXBmaWxlLnB5CkBAIC00NzMsNiArNDczLDExIEBACiAgICAgVGVtcG9yYXJ5RmlsZSA9IE5hbWVkVGVtcG9yYXJ5RmlsZQogCiBlbHNlOgorICAgICMgSXMgdGhlIE9fVE1QRklMRSBmbGFnIGF2YWlsYWJsZSBhbmQgZG9lcyBpdCB3b3JrPworICAgICMgVGhlIGZsYWcgaXMgc2V0IHRvIEZhbHNlIGlmIG9zLm9wZW4oZGlyLCBvcy5PX1RNUEZJTEUpIHJhaXNlcyBhbgorICAgICMgSXNBRGlyZWN0b3J5RXJyb3IgZXhjZXB0aW9uCisgICAgX09fVE1QRklMRV9XT1JLUyA9IGhhc2F0dHIoX29zLCAnT19UTVBGSUxFJykKKwogICAgIGRlZiBUZW1wb3JhcnlGaWxlKG1vZGU9J3crYicsIGJ1ZmZlcmluZz0tMSwgZW5jb2Rpbmc9Tm9uZSwKICAgICAgICAgICAgICAgICAgICAgICBuZXdsaW5lPU5vbmUsIHN1ZmZpeD0iIiwgcHJlZml4PXRlbXBsYXRlLAogICAgICAgICAgICAgICAgICAgICAgIGRpcj1Ob25lKToKQEAgLTQ4OCwxMSArNDkzLDMyIEBACiAgICAgICAgIFJldHVybnMgYW4gb2JqZWN0IHdpdGggYSBmaWxlLWxpa2UgaW50ZXJmYWNlLiAgVGhlIGZpbGUgaGFzIG5vCiAgICAgICAgIG5hbWUsIGFuZCB3aWxsIGNlYXNlIHRvIGV4aXN0IHdoZW4gaXQgaXMgY2xvc2VkLgogICAgICAgICAiIiIKKyAgICAgICAgZ2xvYmFsIF9PX1RNUEZJTEVfV09SS1MKIAogICAgICAgICBpZiBkaXIgaXMgTm9uZToKICAgICAgICAgICAgIGRpciA9IGdldHRlbXBkaXIoKQogCiAgICAgICAgIGZsYWdzID0gX2Jpbl9vcGVuZmxhZ3MKKyAgICAgICAgaWYgX09fVE1QRklMRV9XT1JLUzoKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBmbGFnczIgPSAoZmxhZ3MgfCBfb3MuT19UTVBGSUxFKSAmIH5fb3MuT19DUkVBVAorICAgICAgICAgICAgICAgIGZkID0gX29zLm9wZW4oZGlyLCBmbGFnczIsIDBvNjAwKQorICAgICAgICAgICAgZXhjZXB0IElzQURpcmVjdG9yeUVycm9yOgorICAgICAgICAgICAgICAgICMgTGludXgga2VybmVsIG9sZGVyIHRoYW4gMy4xMSBpZ25vcmVzIE9fVE1QRklMRSBmbGFnLgorICAgICAgICAgICAgICAgICMgU2V0IGZsYWcgdG8gRmFsc2UgdG8gbm90IHRyeSBhZ2Fpbi4KKyAgICAgICAgICAgICAgICBfT19UTVBGSUxFX1dPUktTID0gRmFsc2UKKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgorICAgICAgICAgICAgICAgICMgVGhlIGZpbGVzeXN0ZW0gb2YgdGhlIGRpcmVjdG9yeSBkb2VzIG5vdCBzdXBwb3J0IE9fVE1QRklMRS4KKyAgICAgICAgICAgICAgICAjIEZvciBleGFtcGxlLCBPU0Vycm9yKDk1LCAnT3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQnKS4KKyAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9pby5vcGVuKGZkLCBtb2RlLCBidWZmZXJpbmc9YnVmZmVyaW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3bGluZT1uZXdsaW5lLCBlbmNvZGluZz1lbmNvZGluZykKKyAgICAgICAgICAgICAgICBleGNlcHQ6CisgICAgICAgICAgICAgICAgICAgIF9vcy5jbG9zZShmZCkKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UKKyAgICAgICAgICAgICMgRmFsbGJhY2sgdG8gX21rc3RlbXBfaW5uZXIoKS4KIAogICAgICAgICAoZmQsIG5hbWUpID0gX21rc3RlbXBfaW5uZXIoZGlyLCBwcmVmaXgsIHN1ZmZpeCwgZmxhZ3MpCiAgICAgICAgIHRyeToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L190ZXN0X211bHRpcHJvY2Vzc2luZy5weSBiL0xpYi90ZXN0L190ZXN0X211bHRpcHJvY2Vzc2luZy5weQppbmRleCAyZDQzOTVlLi41MjU5OGIzIDEwMDY0NAotLS0gYS9MaWIvdGVzdC9fdGVzdF9tdWx0aXByb2Nlc3NpbmcucHkKKysrIGIvTGliL3Rlc3QvX3Rlc3RfbXVsdGlwcm9jZXNzaW5nLnB5CkBAIC0yNTQ1LDcgKzI1NDUsNyBAQAogCiAgICAgICAgIGwgPSBzb2NrZXQuc29ja2V0KCkKICAgICAgICAgbC5iaW5kKCh0ZXN0LnN1cHBvcnQuSE9TVCwgMCkpCi0gICAgICAgIGwubGlzdGVuKDEpCisgICAgICAgIGwubGlzdGVuKCkKICAgICAgICAgY29ubi5zZW5kKGwuZ2V0c29ja25hbWUoKSkKICAgICAgICAgbmV3X2Nvbm4sIGFkZHIgPSBsLmFjY2VwdCgpCiAgICAgICAgIGNvbm4uc2VuZChuZXdfY29ubikKQEAgLTMxOTIsNyArMzE5Miw3IEBACiAgICAgICAgIGZyb20gbXVsdGlwcm9jZXNzaW5nLmNvbm5lY3Rpb24gaW1wb3J0IHdhaXQKICAgICAgICAgbCA9IHNvY2tldC5zb2NrZXQoKQogICAgICAgICBsLmJpbmQoKHRlc3Quc3VwcG9ydC5IT1NULCAwKSkKLSAgICAgICAgbC5saXN0ZW4oNCkKKyAgICAgICAgbC5saXN0ZW4oKQogICAgICAgICBhZGRyID0gbC5nZXRzb2NrbmFtZSgpCiAgICAgICAgIHJlYWRlcnMgPSBbXQogICAgICAgICBwcm9jcyA9IFtdCmRpZmYgLS1naXQgYS9MaWIvdGVzdC9kYXRldGltZXRlc3Rlci5weSBiL0xpYi90ZXN0L2RhdGV0aW1ldGVzdGVyLnB5CmluZGV4IGY0MmIwZjkuLjc5MzVjZjIgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L2RhdGV0aW1ldGVzdGVyLnB5CisrKyBiL0xpYi90ZXN0L2RhdGV0aW1ldGVzdGVyLnB5CkBAIC0zLDYgKzMsNyBAQAogU2VlIGh0dHA6Ly93d3cuem9wZS5vcmcvTWVtYmVycy9mZHJha2UvRGF0ZVRpbWVXaWtpL1Rlc3RDYXNlcwogIiIiCiAKK2ltcG9ydCBkZWNpbWFsCiBpbXBvcnQgc3lzCiBpbXBvcnQgcGlja2xlCiBpbXBvcnQgcmFuZG9tCkBAIC01MCw2ICs1MSwxNyBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRhdGV0aW1lLk1JTllFQVIsIDEpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0ZXRpbWUuTUFYWUVBUiwgOTk5OSkKIAorICAgIGRlZiB0ZXN0X25hbWVfY2xlYW51cChzZWxmKToKKyAgICAgICAgaWYgJ19GYXN0JyBub3QgaW4gc3RyKHNlbGYpOgorICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIGRhdGV0aW1lID0gZGF0ZXRpbWVfbW9kdWxlCisgICAgICAgIG5hbWVzID0gc2V0KG5hbWUgZm9yIG5hbWUgaW4gZGlyKGRhdGV0aW1lKQorICAgICAgICAgICAgICAgICAgICBpZiBub3QgbmFtZS5zdGFydHN3aXRoKCdfXycpIGFuZCBub3QgbmFtZS5lbmRzd2l0aCgnX18nKSkKKyAgICAgICAgYWxsb3dlZCA9IHNldChbJ01BWFlFQVInLCAnTUlOWUVBUicsICdkYXRlJywgJ2RhdGV0aW1lJywKKyAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGV0aW1lX0NBUEknLCAndGltZScsICd0aW1lZGVsdGEnLCAndGltZXpvbmUnLAorICAgICAgICAgICAgICAgICAgICAgICAndHppbmZvJ10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobmFtZXMgLSBhbGxvd2VkLCBzZXQoW10pKQorCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIyB0emluZm8gdGVzdHMKIApAQCAtNjE2LDggKzYyOCwxMiBAQAogICAgICAgICAjIFNpbmdsZS1maWVsZCByb3VuZGluZy4KICAgICAgICAgZXEodGQobWlsbGlzZWNvbmRzPTAuNC8xMDAwKSwgdGQoMCkpICAgICMgcm91bmRzIHRvIDAKICAgICAgICAgZXEodGQobWlsbGlzZWNvbmRzPS0wLjQvMTAwMCksIHRkKDApKSAgICAjIHJvdW5kcyB0byAwCisgICAgICAgIGVxKHRkKG1pbGxpc2Vjb25kcz0wLjUvMTAwMCksIHRkKG1pY3Jvc2Vjb25kcz0wKSkKKyAgICAgICAgZXEodGQobWlsbGlzZWNvbmRzPS0wLjUvMTAwMCksIHRkKG1pY3Jvc2Vjb25kcz0wKSkKICAgICAgICAgZXEodGQobWlsbGlzZWNvbmRzPTAuNi8xMDAwKSwgdGQobWljcm9zZWNvbmRzPTEpKQogICAgICAgICBlcSh0ZChtaWxsaXNlY29uZHM9LTAuNi8xMDAwKSwgdGQobWljcm9zZWNvbmRzPS0xKSkKKyAgICAgICAgZXEodGQoc2Vjb25kcz0wLjUvMTAqKjYpLCB0ZChtaWNyb3NlY29uZHM9MCkpCisgICAgICAgIGVxKHRkKHNlY29uZHM9LTAuNS8xMCoqNiksIHRkKG1pY3Jvc2Vjb25kcz0wKSkKIAogICAgICAgICAjIFJvdW5kaW5nIGR1ZSB0byBjb250cmlidXRpb25zIGZyb20gbW9yZSB0aGFuIG9uZSBmaWVsZC4KICAgICAgICAgdXNfcGVyX2hvdXIgPSAzNjAwZTYKQEAgLTExMzEsMTEgKzExNDcsMTMgQEAKICAgICAgICAgI2NoZWNrIHRoYXQgdGhpcyBzdGFuZGFyZCBleHRlbnNpb24gd29ya3MKICAgICAgICAgdC5zdHJmdGltZSgiJWYiKQogCi0KICAgICBkZWYgdGVzdF9mb3JtYXQoc2VsZik6CiAgICAgICAgIGR0ID0gc2VsZi50aGVjbGFzcygyMDA3LCA5LCAxMCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkdC5fX2Zvcm1hdF9fKCcnKSwgc3RyKGR0KSkKIAorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVHlwZUVycm9yLCAnXm11c3QgYmUgc3RyLCBub3QgaW50JCcpOgorICAgICAgICAgICAgZHQuX19mb3JtYXRfXygxMjMpCisKICAgICAgICAgIyBjaGVjayB0aGF0IGEgZGVyaXZlZCBjbGFzcydzIF9fc3RyX18oKSBnZXRzIGNhbGxlZAogICAgICAgICBjbGFzcyBBKHNlbGYudGhlY2xhc3MpOgogICAgICAgICAgICAgZGVmIF9fc3RyX18oc2VsZik6CkBAIC0xMjg3LDggKzEzMDUsNiBAQAogICAgICAgICAgICAgICAgIHJldHVybiBpc2luc3RhbmNlKG90aGVyLCBMYXJnZXJUaGFuQW55dGhpbmcpCiAgICAgICAgICAgICBkZWYgX19lcV9fKHNlbGYsIG90aGVyKToKICAgICAgICAgICAgICAgICByZXR1cm4gaXNpbnN0YW5jZShvdGhlciwgTGFyZ2VyVGhhbkFueXRoaW5nKQotICAgICAgICAgICAgZGVmIF9fbmVfXyhzZWxmLCBvdGhlcik6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIG5vdCBpc2luc3RhbmNlKG90aGVyLCBMYXJnZXJUaGFuQW55dGhpbmcpCiAgICAgICAgICAgICBkZWYgX19ndF9fKHNlbGYsIG90aGVyKToKICAgICAgICAgICAgICAgICByZXR1cm4gbm90IGlzaW5zdGFuY2Uob3RoZXIsIExhcmdlclRoYW5Bbnl0aGluZykKICAgICAgICAgICAgIGRlZiBfX2dlX18oc2VsZiwgb3RoZXIpOgpAQCAtMTM5MSw5ICsxNDA3LDEwIEBACiAgICAgICAgIGZvciBtb250aF9ieXRlIGluIGInOScsIGInXDAnLCBiJ1xyJywgYidceGZmJzoKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgc2VsZi50aGVjbGFzcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFzZVs6Ml0gKyBtb250aF9ieXRlICsgYmFzZVszOl0pCi0gICAgICAgICMgR29vZCBieXRlcywgYnV0IGJhZCB0emluZm86Ci0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgc2VsZi50aGVjbGFzcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgYnl0ZXMoWzFdICogbGVuKGJhc2UpKSwgJ0VTVCcpCisgICAgICAgIGlmIGlzc3ViY2xhc3Moc2VsZi50aGVjbGFzcywgZGF0ZXRpbWUpOgorICAgICAgICAgICAgIyBHb29kIGJ5dGVzLCBidXQgYmFkIHR6aW5mbzoKKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXNSZWdleChUeXBlRXJyb3IsICdeYmFkIHR6aW5mbyBzdGF0ZSBhcmckJyk6CisgICAgICAgICAgICAgICAgc2VsZi50aGVjbGFzcyhieXRlcyhbMV0gKiBsZW4oYmFzZSkpLCAnRVNUJykKIAogICAgICAgICBmb3Igb3JkX2J5dGUgaW4gcmFuZ2UoMSwgMTMpOgogICAgICAgICAgICAgIyBUaGlzIHNob3VsZG4ndCBibG93IHVwIGJlY2F1c2Ugb2YgdGhlIG1vbnRoIGJ5dGUgYWxvbmUuICBJZgpAQCAtMTQ2OSw2ICsxNDg2LDkgQEAKICAgICAgICAgZHQgPSBzZWxmLnRoZWNsYXNzKDIwMDcsIDksIDEwLCA0LCA1LCAxLCAxMjMpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZHQuX19mb3JtYXRfXygnJyksIHN0cihkdCkpCiAKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFR5cGVFcnJvciwgJ15tdXN0IGJlIHN0ciwgbm90IGludCQnKToKKyAgICAgICAgICAgIGR0Ll9fZm9ybWF0X18oMTIzKQorCiAgICAgICAgICMgY2hlY2sgdGhhdCBhIGRlcml2ZWQgY2xhc3MncyBfX3N0cl9fKCkgZ2V0cyBjYWxsZWQKICAgICAgICAgY2xhc3MgQShzZWxmLnRoZWNsYXNzKToKICAgICAgICAgICAgIGRlZiBfX3N0cl9fKHNlbGYpOgpAQCAtMTc5MCw2ICsxODEwLDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgdHppbmZvPXRpbWV6b25lKHRpbWVkZWx0YShob3Vycz0tNSksICdFU1QnKSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0LnRpbWVzdGFtcCgpLAogICAgICAgICAgICAgICAgICAgICAgICAgIDE4MDAwICsgMzYwMCArIDIqNjAgKyAzICsgNCoxZS02KQorCiAgICAgZGVmIHRlc3RfbWljcm9zZWNvbmRfcm91bmRpbmcoc2VsZik6CiAgICAgICAgIGZvciBmdHMgaW4gW3NlbGYudGhlY2xhc3MuZnJvbXRpbWVzdGFtcCwKICAgICAgICAgICAgICAgICAgICAgc2VsZi50aGVjbGFzcy51dGNmcm9tdGltZXN0YW1wXToKQEAgLTE4NDAsNiArMTg2MSw3IEBACiAgICAgICAgIGZvciBpbnNhbmUgaW4gLTFlMjAwLCAxZTIwMDoKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE92ZXJmbG93RXJyb3IsIHNlbGYudGhlY2xhc3MudXRjZnJvbXRpbWVzdGFtcCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc2FuZSkKKwogICAgIEB1bml0dGVzdC5za2lwSWYoc3lzLnBsYXRmb3JtID09ICJ3aW4zMiIsICJXaW5kb3dzIGRvZXNuJ3QgYWNjZXB0IG5lZ2F0aXZlIHRpbWVzdGFtcHMiKQogICAgIGRlZiB0ZXN0X25lZ2F0aXZlX2Zsb2F0X2Zyb210aW1lc3RhbXAoc2VsZik6CiAgICAgICAgICMgVGhlIHJlc3VsdCBpcyB0ei1kZXBlbmRlbnQ7IGF0IGxlYXN0IHRlc3QgdGhhdCB0aGlzIGRvZXNuJ3QKQEAgLTIyMTksNiArMjI0MSw5IEBACiAgICAgICAgIHQgPSBzZWxmLnRoZWNsYXNzKDEsIDIsIDMsIDQpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodC5fX2Zvcm1hdF9fKCcnKSwgc3RyKHQpKQogCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXNSZWdleChUeXBlRXJyb3IsICdebXVzdCBiZSBzdHIsIG5vdCBpbnQkJyk6CisgICAgICAgICAgICB0Ll9fZm9ybWF0X18oMTIzKQorCiAgICAgICAgICMgY2hlY2sgdGhhdCBhIGRlcml2ZWQgY2xhc3MncyBfX3N0cl9fKCkgZ2V0cyBjYWxsZWQKICAgICAgICAgY2xhc3MgQShzZWxmLnRoZWNsYXNzKToKICAgICAgICAgICAgIGRlZiBfX3N0cl9fKHNlbGYpOgpAQCAtMjI4MiwxMyArMjMwNywxNCBAQAogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvcmlnLCBkZXJpdmVkKQogCiAgICAgZGVmIHRlc3RfYm9vbChzZWxmKToKKyAgICAgICAgIyB0aW1lIGlzIGFsd2F5cyBUcnVlLgogICAgICAgICBjbHMgPSBzZWxmLnRoZWNsYXNzCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjbHMoMSkpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjbHMoMCwgMSkpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjbHMoMCwgMCwgMSkpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjbHMoMCwgMCwgMCwgMSkpCi0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoY2xzKDApKQotICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGNscygpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoY2xzKDApKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoY2xzKCkpCiAKICAgICBkZWYgdGVzdF9yZXBsYWNlKHNlbGYpOgogICAgICAgICBjbHMgPSBzZWxmLnRoZWNsYXNzCkBAIC0yMzQ3LDYgKzIzNzMsOSBAQAogICAgICAgICBmb3IgaG91cl9ieXRlIGluICcgJywgJzknLCBjaHIoMjQpLCAnXHhmZic6CiAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHNlbGYudGhlY2xhc3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhvdXJfYnl0ZSArIGJhc2VbMTpdKQorICAgICAgICAjIEdvb2QgYnl0ZXMsIGJ1dCBiYWQgdHppbmZvOgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVHlwZUVycm9yLCAnXmJhZCB0emluZm8gc3RhdGUgYXJnJCcpOgorICAgICAgICAgICAgc2VsZi50aGVjbGFzcyhieXRlcyhbMV0gKiBsZW4oYmFzZSkpLCAnRVNUJykKIAogIyBBIG1peGluIGZvciBjbGFzc2VzIHdpdGggYSB0emluZm89IGFyZ3VtZW50LiAgU3ViY2xhc3NlcyBtdXN0IGRlZmluZQogIyB0aGVjbGFzcyBhcyBhIGNsYXNzIGF0cmlidXRlLCBhbmQgdGhlY2xhc3MoMSwgMSwgMSwgdHppbmZvPXdoYXRldmVyKQpAQCAtMjYwNiw3ICsyNjM1LDcgQEAKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCB0LnN0cmZ0aW1lLCAiJVoiKQogCiAgICAgICAgICMgSXNzdWUgIzY2OTc6Ci0gICAgICAgIGlmICdfRmFzdCcgaW4gc3RyKHR5cGUoc2VsZikpOgorICAgICAgICBpZiAnX0Zhc3QnIGluIHN0cihzZWxmKToKICAgICAgICAgICAgIEJhZHR6bmFtZS50eiA9ICdcdWQ4MDAnCiAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCB0LnN0cmZ0aW1lLCAiJVoiKQogCkBAIC0yNjQxLDcgKzI2NzAsNyBAQAogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkZXJpdmVkLnR6bmFtZSgpLCAnY29va2llJykKIAogICAgIGRlZiB0ZXN0X21vcmVfYm9vbChzZWxmKToKLSAgICAgICAgIyBUZXN0IGNhc2VzIHdpdGggbm9uLU5vbmUgdHppbmZvLgorICAgICAgICAjIHRpbWUgaXMgYWx3YXlzIFRydWUuCiAgICAgICAgIGNscyA9IHNlbGYudGhlY2xhc3MKIAogICAgICAgICB0ID0gY2xzKDAsIHR6aW5mbz1GaXhlZE9mZnNldCgtMzAwLCAiIikpCkBAIC0yNjUxLDIyICsyNjgwLDEwIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh0KQogCiAgICAgICAgIHQgPSBjbHMoNSwgdHppbmZvPUZpeGVkT2Zmc2V0KDMwMCwgIiIpKQotICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHQpCi0KLSAgICAgICAgdCA9IGNscygyMywgNTksIHR6aW5mbz1GaXhlZE9mZnNldCgyMyo2MCArIDU5LCAiIikpCi0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UodCkKLQotICAgICAgICAjIE1vc3RseSBlbnN1cmluZyB0aGlzIGRvZXNuJ3Qgb3ZlcmZsb3cgaW50ZXJuYWxseS4KLSAgICAgICAgdCA9IGNscygwLCB0emluZm89Rml4ZWRPZmZzZXQoMjMqNjAgKyA1OSwgIiIpKQogICAgICAgICBzZWxmLmFzc2VydFRydWUodCkKIAotICAgICAgICAjIEJ1dCB0aGlzIHNob3VsZCB5aWVsZCBhIHZhbHVlIGVycm9yIC0tIHRoZSB1dGNvZmZzZXQgaXMgYm9ndXMuCi0gICAgICAgIHQgPSBjbHMoMCwgdHppbmZvPUZpeGVkT2Zmc2V0KDI0KjYwLCAiIikpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGxhbWJkYTogYm9vbCh0KSkKLQotICAgICAgICAjIExpa2V3aXNlLgotICAgICAgICB0ID0gY2xzKDAsIHR6aW5mbz1GaXhlZE9mZnNldCgtMjQqNjAsICIiKSkKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgbGFtYmRhOiBib29sKHQpKQorICAgICAgICB0ID0gY2xzKDIzLCA1OSwgdHppbmZvPUZpeGVkT2Zmc2V0KDIzKjYwICsgNTksICIiKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHQpCiAKICAgICBkZWYgdGVzdF9yZXBsYWNlKHNlbGYpOgogICAgICAgICBjbHMgPSBzZWxmLnRoZWNsYXNzCkBAIC0zNzgwLDYgKzM3OTcsNjAgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhc19kYXRldGltZSwgZGF0ZXRpbWVfc2MpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0ZXRpbWVfc2MsIGFzX2RhdGV0aW1lKQogCisgICAgZGVmIHRlc3RfZXh0cmFfYXR0cmlidXRlcyhzZWxmKToKKyAgICAgICAgZm9yIHggaW4gW2RhdGUudG9kYXkoKSwKKyAgICAgICAgICAgICAgICAgIHRpbWUoKSwKKyAgICAgICAgICAgICAgICAgIGRhdGV0aW1lLnV0Y25vdygpLAorICAgICAgICAgICAgICAgICAgdGltZWRlbHRhKCksCisgICAgICAgICAgICAgICAgICB0emluZm8oKSwKKyAgICAgICAgICAgICAgICAgIHRpbWV6b25lKHRpbWVkZWx0YSgpKV06CisgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEF0dHJpYnV0ZUVycm9yKToKKyAgICAgICAgICAgICAgICB4LmFiYyA9IDEKKworICAgIGRlZiB0ZXN0X2NoZWNrX2FyZ190eXBlcyhzZWxmKToKKyAgICAgICAgY2xhc3MgTnVtYmVyOgorICAgICAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHZhbHVlKToKKyAgICAgICAgICAgICAgICBzZWxmLnZhbHVlID0gdmFsdWUKKyAgICAgICAgICAgIGRlZiBfX2ludF9fKHNlbGYpOgorICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLnZhbHVlCisKKyAgICAgICAgZm9yIHh4IGluIFtkZWNpbWFsLkRlY2ltYWwoMTApLAorICAgICAgICAgICAgICAgICAgIGRlY2ltYWwuRGVjaW1hbCgnMTAuOScpLAorICAgICAgICAgICAgICAgICAgIE51bWJlcigxMCldOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRldGltZSgxMCwgMTAsIDEwLCAxMCwgMTAsIDEwLCAxMCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGV0aW1lKHh4LCB4eCwgeHgsIHh4LCB4eCwgeHgsIHh4KSkKKworICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVHlwZUVycm9yLCAnXmFuIGludGVnZXIgaXMgcmVxdWlyZWQgJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnXChnb3QgdHlwZSBzdHJcKSQnKToKKyAgICAgICAgICAgIGRhdGV0aW1lKDEwLCAxMCwgJzEwJykKKworICAgICAgICBmMTAgPSBOdW1iZXIoMTAuOSkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFR5cGVFcnJvciwgJ15fX2ludF9fIHJldHVybmVkIG5vbi1pbnQgJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnXCh0eXBlIGZsb2F0XCkkJyk6CisgICAgICAgICAgICBkYXRldGltZSgxMCwgMTAsIGYxMCkKKworICAgICAgICBjbGFzcyBGbG9hdChmbG9hdCk6CisgICAgICAgICAgICBwYXNzCisgICAgICAgIHMxMCA9IEZsb2F0KDEwLjkpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXNSZWdleChUeXBlRXJyb3IsICdeaW50ZWdlciBhcmd1bWVudCBleHBlY3RlZCwgJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZ290IGZsb2F0JCcpOgorICAgICAgICAgICAgZGF0ZXRpbWUoMTAsIDEwLCBzMTApCisKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpOgorICAgICAgICAgICAgZGF0ZXRpbWUoMTAuLCAxMCwgMTApCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yKToKKyAgICAgICAgICAgIGRhdGV0aW1lKDEwLCAxMC4sIDEwKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvcik6CisgICAgICAgICAgICBkYXRldGltZSgxMCwgMTAsIDEwLikKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpOgorICAgICAgICAgICAgZGF0ZXRpbWUoMTAsIDEwLCAxMCwgMTAuKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvcik6CisgICAgICAgICAgICBkYXRldGltZSgxMCwgMTAsIDEwLCAxMCwgMTAuKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvcik6CisgICAgICAgICAgICBkYXRldGltZSgxMCwgMTAsIDEwLCAxMCwgMTAsIDEwLikKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpOgorICAgICAgICAgICAgZGF0ZXRpbWUoMTAsIDEwLCAxMCwgMTAsIDEwLCAxMCwgMTAuKQorCiBkZWYgdGVzdF9tYWluKCk6CiAgICAgc3VwcG9ydC5ydW5fdW5pdHRlc3QoX19uYW1lX18pCiAKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L2VpbnRyZGF0YS9laW50cl90ZXN0ZXIucHkgYi9MaWIvdGVzdC9laW50cmRhdGEvZWludHJfdGVzdGVyLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQwZGNhODQKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvdGVzdC9laW50cmRhdGEvZWludHJfdGVzdGVyLnB5CkBAIC0wLDAgKzEsMjYwIEBACisiIiIKK1RoaXMgdGVzdCBzdWl0ZSBleGVyY2lzZXMgc29tZSBzeXN0ZW0gY2FsbHMgc3ViamVjdCB0byBpbnRlcnJ1cHRpb24gd2l0aCBFSU5UUiwKK3RvIGNoZWNrIHRoYXQgaXQgaXMgYWN0dWFsbHkgaGFuZGxlZCB0cmFuc3BhcmVudGx5LgorSXQgaXMgaW50ZW5kZWQgdG8gYmUgcnVuIGJ5IHRoZSBtYWluIHRlc3Qgc3VpdGUgd2l0aGluIGEgY2hpbGQgcHJvY2VzcywgdG8KK2Vuc3VyZSB0aGVyZSBpcyBubyBiYWNrZ3JvdW5kIHRocmVhZCBydW5uaW5nIChzbyB0aGF0IHNpZ25hbHMgYXJlIGRlbGl2ZXJlZCB0bwordGhlIGNvcnJlY3QgdGhyZWFkKS4KK1NpZ25hbHMgYXJlIGdlbmVyYXRlZCBpbi1wcm9jZXNzIHVzaW5nIHNldGl0aW1lcihJVElNRVJfUkVBTCksIHdoaWNoIGFsbG93cworc3ViLXNlY29uZCBwZXJpb2RpY2l0eSAoY29udHJhcmlseSB0byBzaWduYWwoKSkuCisiIiIKKworaW1wb3J0IGlvCitpbXBvcnQgb3MKK2ltcG9ydCBzaWduYWwKK2ltcG9ydCBzb2NrZXQKK2ltcG9ydCB0aW1lCitpbXBvcnQgdW5pdHRlc3QKKworZnJvbSB0ZXN0IGltcG9ydCBzdXBwb3J0CisKKworQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihzaWduYWwsICJzZXRpdGltZXIiKSwgInJlcXVpcmVzIHNldGl0aW1lcigpIikKK2NsYXNzIEVJTlRSQmFzZVRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgorICAgICIiIiBCYXNlIGNsYXNzIGZvciBFSU5UUiB0ZXN0cy4gIiIiCisKKyAgICAjIGRlbGF5IGZvciBpbml0aWFsIHNpZ25hbCBkZWxpdmVyeQorICAgIHNpZ25hbF9kZWxheSA9IDAuMQorICAgICMgc2lnbmFsIGRlbGl2ZXJ5IHBlcmlvZGljaXR5CisgICAgc2lnbmFsX3BlcmlvZCA9IDAuMQorICAgICMgZGVmYXVsdCBzbGVlcCB0aW1lIGZvciB0ZXN0cyAtIHNob3VsZCBvYnZpb3VzbHkgaGF2ZToKKyAgICAjwqBzbGVlcF90aW1lID4gc2lnbmFsX3BlcmlvZAorICAgIHNsZWVwX3RpbWUgPSAwLjIKKworICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBzZXRVcENsYXNzKGNscyk6CisgICAgICAgIGNscy5vcmlnX2hhbmRsZXIgPSBzaWduYWwuc2lnbmFsKHNpZ25hbC5TSUdBTFJNLCBsYW1iZGEgKmFyZ3M6IE5vbmUpCisgICAgICAgIHNpZ25hbC5zZXRpdGltZXIoc2lnbmFsLklUSU1FUl9SRUFMLCBjbHMuc2lnbmFsX2RlbGF5LAorICAgICAgICAgICAgICAgICAgICAgICAgIGNscy5zaWduYWxfcGVyaW9kKQorCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIHRlYXJEb3duQ2xhc3MoY2xzKToKKyAgICAgICAgc2lnbmFsLnNldGl0aW1lcihzaWduYWwuSVRJTUVSX1JFQUwsIDAsIDApCisgICAgICAgIHNpZ25hbC5zaWduYWwoc2lnbmFsLlNJR0FMUk0sIGNscy5vcmlnX2hhbmRsZXIpCisKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgX3NsZWVwKGNscyk6CisgICAgICAgICMgZGVmYXVsdCBzbGVlcCB0aW1lCisgICAgICAgIHRpbWUuc2xlZXAoY2xzLnNsZWVwX3RpbWUpCisKKworQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihzaWduYWwsICJzZXRpdGltZXIiKSwgInJlcXVpcmVzIHNldGl0aW1lcigpIikKK2NsYXNzIE9TRUlOVFJUZXN0KEVJTlRSQmFzZVRlc3QpOgorICAgICIiIiBFSU5UUiB0ZXN0cyBmb3IgdGhlIG9zIG1vZHVsZS4gIiIiCisKKyAgICBkZWYgX3Rlc3Rfd2FpdF9tdWx0aXBsZShzZWxmLCB3YWl0X2Z1bmMpOgorICAgICAgICBudW0gPSAzCisgICAgICAgIGZvciBfIGluIHJhbmdlKG51bSk6CisgICAgICAgICAgICBwaWQgPSBvcy5mb3JrKCkKKyAgICAgICAgICAgIGlmIHBpZCA9PSAwOgorICAgICAgICAgICAgICAgIHNlbGYuX3NsZWVwKCkKKyAgICAgICAgICAgICAgICBvcy5fZXhpdCgwKQorICAgICAgICBmb3IgXyBpbiByYW5nZShudW0pOgorICAgICAgICAgICAgd2FpdF9mdW5jKCkKKworICAgIGRlZiB0ZXN0X3dhaXQoc2VsZik6CisgICAgICAgIHNlbGYuX3Rlc3Rfd2FpdF9tdWx0aXBsZShvcy53YWl0KQorCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihvcywgJ3dhaXQzJyksICdyZXF1aXJlcyB3YWl0MygpJykKKyAgICBkZWYgdGVzdF93YWl0MyhzZWxmKToKKyAgICAgICAgc2VsZi5fdGVzdF93YWl0X211bHRpcGxlKGxhbWJkYTogb3Mud2FpdDMoMCkpCisKKyAgICBkZWYgX3Rlc3Rfd2FpdF9zaW5nbGUoc2VsZiwgd2FpdF9mdW5jKToKKyAgICAgICAgcGlkID0gb3MuZm9yaygpCisgICAgICAgIGlmIHBpZCA9PSAwOgorICAgICAgICAgICAgc2VsZi5fc2xlZXAoKQorICAgICAgICAgICAgb3MuX2V4aXQoMCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHdhaXRfZnVuYyhwaWQpCisKKyAgICBkZWYgdGVzdF93YWl0cGlkKHNlbGYpOgorICAgICAgICBzZWxmLl90ZXN0X3dhaXRfc2luZ2xlKGxhbWJkYSBwaWQ6IG9zLndhaXRwaWQocGlkLCAwKSkKKworICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKGhhc2F0dHIob3MsICd3YWl0NCcpLCAncmVxdWlyZXMgd2FpdDQoKScpCisgICAgZGVmIHRlc3Rfd2FpdDQoc2VsZik6CisgICAgICAgIHNlbGYuX3Rlc3Rfd2FpdF9zaW5nbGUobGFtYmRhIHBpZDogb3Mud2FpdDQocGlkLCAwKSkKKworICAgIGRlZiB0ZXN0X3JlYWQoc2VsZik6CisgICAgICAgIHJkLCB3ciA9IG9zLnBpcGUoKQorICAgICAgICBzZWxmLmFkZENsZWFudXAob3MuY2xvc2UsIHJkKQorICAgICAgICAjIHdyIGNsb3NlZCBleHBsaWNpdGx5IGJ5IHBhcmVudAorCisgICAgICAgICMgdGhlIHBheWxvYWQgYmVsb3cgYXJlIHNtYWxsZXIgdGhhbiBQSVBFX0JVRiwgaGVuY2UgdGhlIHdyaXRlcyB3aWxsIGJlCisgICAgICAgICMgYXRvbWljCisgICAgICAgIGRhdGFzID0gW2IiaGVsbG8iLCBiIndvcmxkIiwgYiJzcGFtIl0KKworICAgICAgICBwaWQgPSBvcy5mb3JrKCkKKyAgICAgICAgaWYgcGlkID09IDA6CisgICAgICAgICAgICBvcy5jbG9zZShyZCkKKyAgICAgICAgICAgIGZvciBkYXRhIGluIGRhdGFzOgorICAgICAgICAgICAgICAgICMgbGV0IHRoZSBwYXJlbnQgYmxvY2sgb24gcmVhZCgpCisgICAgICAgICAgICAgICAgc2VsZi5fc2xlZXAoKQorICAgICAgICAgICAgICAgIG9zLndyaXRlKHdyLCBkYXRhKQorICAgICAgICAgICAgb3MuX2V4aXQoMCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuYWRkQ2xlYW51cChvcy53YWl0cGlkLCBwaWQsIDApCisgICAgICAgICAgICBvcy5jbG9zZSh3cikKKyAgICAgICAgICAgIGZvciBkYXRhIGluIGRhdGFzOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YSwgb3MucmVhZChyZCwgbGVuKGRhdGEpKSkKKworICAgIGRlZiB0ZXN0X3dyaXRlKHNlbGYpOgorICAgICAgICByZCwgd3IgPSBvcy5waXBlKCkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKG9zLmNsb3NlLCB3cikKKyAgICAgICAgIyByZCBjbG9zZWQgZXhwbGljaXRseSBieSBwYXJlbnQKKworICAgICAgICAjIHdlIG11c3Qgd3JpdGUgZW5vdWdoIGRhdGEgZm9yIHRoZSB3cml0ZSgpIHRvIGJsb2NrCisgICAgICAgIGRhdGEgPSBiInh5eiIgKiBzdXBwb3J0LlBJUEVfTUFYX1NJWkUKKworICAgICAgICBwaWQgPSBvcy5mb3JrKCkKKyAgICAgICAgaWYgcGlkID09IDA6CisgICAgICAgICAgICBvcy5jbG9zZSh3cikKKyAgICAgICAgICAgIHJlYWRfZGF0YSA9IGlvLkJ5dGVzSU8oKQorICAgICAgICAgICAgIyBsZXQgdGhlIHBhcmVudCBibG9jayBvbiB3cml0ZSgpCisgICAgICAgICAgICBzZWxmLl9zbGVlcCgpCisgICAgICAgICAgICB3aGlsZSBsZW4ocmVhZF9kYXRhLmdldHZhbHVlKCkpIDwgbGVuKGRhdGEpOgorICAgICAgICAgICAgICAgIGNodW5rID0gb3MucmVhZChyZCwgMiAqIGxlbihkYXRhKSkKKyAgICAgICAgICAgICAgICByZWFkX2RhdGEud3JpdGUoY2h1bmspCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlYWRfZGF0YS5nZXR2YWx1ZSgpLCBkYXRhKQorICAgICAgICAgICAgb3MuX2V4aXQoMCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIG9zLmNsb3NlKHJkKQorICAgICAgICAgICAgd3JpdHRlbiA9IDAKKyAgICAgICAgICAgIHdoaWxlIHdyaXR0ZW4gPCBsZW4oZGF0YSk6CisgICAgICAgICAgICAgICAgd3JpdHRlbiArPSBvcy53cml0ZSh3ciwgbWVtb3J5dmlldyhkYXRhKVt3cml0dGVuOl0pCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDAsIG9zLndhaXRwaWQocGlkLCAwKVsxXSkKKworCitAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKHNpZ25hbCwgInNldGl0aW1lciIpLCAicmVxdWlyZXMgc2V0aXRpbWVyKCkiKQorY2xhc3MgU29ja2V0RUlOVFJUZXN0KEVJTlRSQmFzZVRlc3QpOgorICAgICIiIiBFSU5UUiB0ZXN0cyBmb3IgdGhlIHNvY2tldCBtb2R1bGUuICIiIgorCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihzb2NrZXQsICdzb2NrZXRwYWlyJyksICduZWVkcyBzb2NrZXRwYWlyKCknKQorICAgIGRlZiBfdGVzdF9yZWN2KHNlbGYsIHJlY3ZfZnVuYyk6CisgICAgICAgIHJkLCB3ciA9IHNvY2tldC5zb2NrZXRwYWlyKCkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHJkLmNsb3NlKQorICAgICAgICAjIHdyIGNsb3NlZCBleHBsaWNpdGx5IGJ5IHBhcmVudAorCisgICAgICAgICMgc2luZ2xlLWJ5dGUgcGF5bG9hZCBndWFyZCB1cyBhZ2FpbnN0IHBhcnRpYWwgcmVjdgorICAgICAgICBkYXRhcyA9IFtiIngiLCBiInkiLCBiInoiXQorCisgICAgICAgIHBpZCA9IG9zLmZvcmsoKQorICAgICAgICBpZiBwaWQgPT0gMDoKKyAgICAgICAgICAgIHJkLmNsb3NlKCkKKyAgICAgICAgICAgIGZvciBkYXRhIGluIGRhdGFzOgorICAgICAgICAgICAgICAgICMgbGV0IHRoZSBwYXJlbnQgYmxvY2sgb24gcmVjdigpCisgICAgICAgICAgICAgICAgc2VsZi5fc2xlZXAoKQorICAgICAgICAgICAgICAgIHdyLnNlbmRhbGwoZGF0YSkKKyAgICAgICAgICAgIG9zLl9leGl0KDApCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLmFkZENsZWFudXAob3Mud2FpdHBpZCwgcGlkLCAwKQorICAgICAgICAgICAgd3IuY2xvc2UoKQorICAgICAgICAgICAgZm9yIGRhdGEgaW4gZGF0YXM6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRhLCByZWN2X2Z1bmMocmQsIGxlbihkYXRhKSkpCisKKyAgICBkZWYgdGVzdF9yZWN2KHNlbGYpOgorICAgICAgICBzZWxmLl90ZXN0X3JlY3Yoc29ja2V0LnNvY2tldC5yZWN2KQorCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihzb2NrZXQuc29ja2V0LCAncmVjdm1zZycpLCAnbmVlZHMgcmVjdm1zZygpJykKKyAgICBkZWYgdGVzdF9yZWN2bXNnKHNlbGYpOgorICAgICAgICBzZWxmLl90ZXN0X3JlY3YobGFtYmRhIHNvY2ssIGRhdGE6IHNvY2sucmVjdm1zZyhkYXRhKVswXSkKKworICAgIGRlZiBfdGVzdF9zZW5kKHNlbGYsIHNlbmRfZnVuYyk6CisgICAgICAgIHJkLCB3ciA9IHNvY2tldC5zb2NrZXRwYWlyKCkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHdyLmNsb3NlKQorICAgICAgICAjIHJkIGNsb3NlZCBleHBsaWNpdGx5IGJ5IHBhcmVudAorCisgICAgICAgICMgd2UgbXVzdCBzZW5kIGVub3VnaCBkYXRhIGZvciB0aGUgc2VuZCgpIHRvIGJsb2NrCisgICAgICAgIGRhdGEgPSBiInh5eiIgKiAoc3VwcG9ydC5TT0NLX01BWF9TSVpFIC8vIDMpCisKKyAgICAgICAgcGlkID0gb3MuZm9yaygpCisgICAgICAgIGlmIHBpZCA9PSAwOgorICAgICAgICAgICAgd3IuY2xvc2UoKQorICAgICAgICAgICAgIyBsZXQgdGhlIHBhcmVudCBibG9jayBvbiBzZW5kKCkKKyAgICAgICAgICAgIHNlbGYuX3NsZWVwKCkKKyAgICAgICAgICAgIHJlY2VpdmVkX2RhdGEgPSBieXRlYXJyYXkobGVuKGRhdGEpKQorICAgICAgICAgICAgbiA9IDAKKyAgICAgICAgICAgIHdoaWxlIG4gPCBsZW4oZGF0YSk6CisgICAgICAgICAgICAgICAgbiArPSByZC5yZWN2X2ludG8obWVtb3J5dmlldyhyZWNlaXZlZF9kYXRhKVtuOl0pCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlY2VpdmVkX2RhdGEsIGRhdGEpCisgICAgICAgICAgICBvcy5fZXhpdCgwKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmQuY2xvc2UoKQorICAgICAgICAgICAgd3JpdHRlbiA9IDAKKyAgICAgICAgICAgIHdoaWxlIHdyaXR0ZW4gPCBsZW4oZGF0YSk6CisgICAgICAgICAgICAgICAgc2VudCA9IHNlbmRfZnVuYyh3ciwgbWVtb3J5dmlldyhkYXRhKVt3cml0dGVuOl0pCisgICAgICAgICAgICAgICAgIyBzZW5kYWxsKCkgcmV0dXJucyBOb25lCisgICAgICAgICAgICAgICAgd3JpdHRlbiArPSBsZW4oZGF0YSkgaWYgc2VudCBpcyBOb25lIGVsc2Ugc2VudAorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgwLCBvcy53YWl0cGlkKHBpZCwgMClbMV0pCisKKyAgICBkZWYgdGVzdF9zZW5kKHNlbGYpOgorICAgICAgICBzZWxmLl90ZXN0X3NlbmQoc29ja2V0LnNvY2tldC5zZW5kKQorCisgICAgZGVmIHRlc3Rfc2VuZGFsbChzZWxmKToKKyAgICAgICAgc2VsZi5fdGVzdF9zZW5kKHNvY2tldC5zb2NrZXQuc2VuZGFsbCkKKworICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKGhhc2F0dHIoc29ja2V0LnNvY2tldCwgJ3NlbmRtc2cnKSwgJ25lZWRzIHNlbmRtc2coKScpCisgICAgZGVmIHRlc3Rfc2VuZG1zZyhzZWxmKToKKyAgICAgICAgc2VsZi5fdGVzdF9zZW5kKGxhbWJkYSBzb2NrLCBkYXRhOiBzb2NrLnNlbmRtc2coW2RhdGFdKSkKKworICAgIGRlZiB0ZXN0X2FjY2VwdChzZWxmKToKKyAgICAgICAgc29jayA9IHNvY2tldC5zb2NrZXQoc29ja2V0LkFGX0lORVQsIHNvY2tldC5TT0NLX1NUUkVBTSkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHNvY2suY2xvc2UpCisKKyAgICAgICAgc29jay5iaW5kKChzdXBwb3J0LkhPU1QsIDApKQorICAgICAgICBfLCBwb3J0ID0gc29jay5nZXRzb2NrbmFtZSgpCisgICAgICAgIHNvY2subGlzdGVuKCkKKworICAgICAgICBwaWQgPSBvcy5mb3JrKCkKKyAgICAgICAgaWYgcGlkID09IDA6CisgICAgICAgICAgICAjIGxldCBwYXJlbnQgYmxvY2sgb24gYWNjZXB0KCkKKyAgICAgICAgICAgIHNlbGYuX3NsZWVwKCkKKyAgICAgICAgICAgIHdpdGggc29ja2V0LmNyZWF0ZV9jb25uZWN0aW9uKChzdXBwb3J0LkhPU1QsIHBvcnQpKToKKyAgICAgICAgICAgICAgICBzZWxmLl9zbGVlcCgpCisgICAgICAgICAgICBvcy5fZXhpdCgwKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5hZGRDbGVhbnVwKG9zLndhaXRwaWQsIHBpZCwgMCkKKyAgICAgICAgICAgIGNsaWVudF9zb2NrLCBfID0gc29jay5hY2NlcHQoKQorICAgICAgICAgICAgY2xpZW50X3NvY2suY2xvc2UoKQorCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihvcywgJ21rZmlmbycpLCAnbmVlZHMgbWtmaWZvKCknKQorICAgIGRlZiBfdGVzdF9vcGVuKHNlbGYsIGRvX29wZW5fY2xvc2VfcmVhZGVyLCBkb19vcGVuX2Nsb3NlX3dyaXRlcik6CisgICAgICAgICMgVXNlIGEgZmlmbzogdW50aWwgdGhlIGNoaWxkIG9wZW5zIGl0IGZvciByZWFkaW5nLCB0aGUgcGFyZW50IHdpbGwKKyAgICAgICAgIyBibG9jayB3aGVuIHRyeWluZyB0byBvcGVuIGl0IGZvciB3cml0aW5nLgorICAgICAgICBzdXBwb3J0LnVubGluayhzdXBwb3J0LlRFU1RGTikKKyAgICAgICAgb3MubWtmaWZvKHN1cHBvcnQuVEVTVEZOKQorICAgICAgICBzZWxmLmFkZENsZWFudXAoc3VwcG9ydC51bmxpbmssIHN1cHBvcnQuVEVTVEZOKQorCisgICAgICAgIHBpZCA9IG9zLmZvcmsoKQorICAgICAgICBpZiBwaWQgPT0gMDoKKyAgICAgICAgICAgICMgbGV0IHRoZSBwYXJlbnQgYmxvY2sKKyAgICAgICAgICAgIHNlbGYuX3NsZWVwKCkKKyAgICAgICAgICAgIGRvX29wZW5fY2xvc2VfcmVhZGVyKHN1cHBvcnQuVEVTVEZOKQorICAgICAgICAgICAgb3MuX2V4aXQoMCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuYWRkQ2xlYW51cChvcy53YWl0cGlkLCBwaWQsIDApCisgICAgICAgICAgICBkb19vcGVuX2Nsb3NlX3dyaXRlcihzdXBwb3J0LlRFU1RGTikKKworICAgIGRlZiB0ZXN0X29wZW4oc2VsZik6CisgICAgICAgIHNlbGYuX3Rlc3Rfb3BlbihsYW1iZGEgcGF0aDogb3BlbihwYXRoLCAncicpLmNsb3NlKCksCisgICAgICAgICAgICAgICAgICAgICAgICBsYW1iZGEgcGF0aDogb3BlbihwYXRoLCAndycpLmNsb3NlKCkpCisKKyAgICBkZWYgdGVzdF9vc19vcGVuKHNlbGYpOgorICAgICAgICBzZWxmLl90ZXN0X29wZW4obGFtYmRhIHBhdGg6IG9zLmNsb3NlKG9zLm9wZW4ocGF0aCwgb3MuT19SRE9OTFkpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGxhbWJkYSBwYXRoOiBvcy5jbG9zZShvcy5vcGVuKHBhdGgsIG9zLk9fV1JPTkxZKSkpCisKKworZGVmIHRlc3RfbWFpbigpOgorICAgIHN1cHBvcnQucnVuX3VuaXR0ZXN0KE9TRUlOVFJUZXN0LCBTb2NrZXRFSU5UUlRlc3QpCisKKworaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKKyAgICB0ZXN0X21haW4oKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvZm9ya193YWl0LnB5IGIvTGliL3Rlc3QvZm9ya193YWl0LnB5CmluZGV4IDE5YjU0ZWMuLjcxMzAzOWQgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L2Zvcmtfd2FpdC5weQorKysgYi9MaWIvdGVzdC9mb3JrX3dhaXQucHkKQEAgLTQ4LDcgKzQ4LDEyIEBACiAgICAgICAgIGZvciBpIGluIHJhbmdlKE5VTV9USFJFQURTKToKICAgICAgICAgICAgIF90aHJlYWQuc3RhcnRfbmV3KHNlbGYuZiwgKGksKSkKIAotICAgICAgICB0aW1lLnNsZWVwKExPTkdTTEVFUCkKKyAgICAgICAgIyBidXN5LWxvb3AgdG8gd2FpdCBmb3IgdGhyZWFkcworICAgICAgICBkZWFkbGluZSA9IHRpbWUubW9ub3RvbmljKCkgKyAxMC4wCisgICAgICAgIHdoaWxlIGxlbihzZWxmLmFsaXZlKSA8IE5VTV9USFJFQURTOgorICAgICAgICAgICAgdGltZS5zbGVlcCgwLjEpCisgICAgICAgICAgICBpZiBkZWFkbGluZSA8IHRpbWUubW9ub3RvbmljKCk6CisgICAgICAgICAgICAgICAgYnJlYWsKIAogICAgICAgICBhID0gc29ydGVkKHNlbGYuYWxpdmUua2V5cygpKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGEsIGxpc3QocmFuZ2UoTlVNX1RIUkVBRFMpKSkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L2ltZ2hkcmRhdGEvcHl0aG9uLmV4ciBiL0xpYi90ZXN0L2ltZ2hkcmRhdGEvcHl0aG9uLmV4cgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NzNjODFlCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3Rlc3QvaW1naGRyZGF0YS9weXRob24uZXhyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L2ltZ2hkcmRhdGEvcHl0aG9uLndlYnAgYi9MaWIvdGVzdC9pbWdoZHJkYXRhL3B5dGhvbi53ZWJwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU4MjRlYzcKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvdGVzdC9pbWdoZHJkYXRhL3B5dGhvbi53ZWJwCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L2luc3BlY3RfZm9kZGVyMi5weSBiL0xpYi90ZXN0L2luc3BlY3RfZm9kZGVyMi5weQppbmRleCBiZDcxMDZmLi5lNDUyMjM1IDEwMDY0NAotLS0gYS9MaWIvdGVzdC9pbnNwZWN0X2ZvZGRlcjIucHkKKysrIGIvTGliL3Rlc3QvaW5zcGVjdF9mb2RkZXIyLnB5CkBAIC0xMDksMyArMTA5LDE2IEBACiAjbGluZSAxMDkKIGRlZiBrZXl3b3JkX29ubHlfYXJnKCosIGFyZyk6CiAgICAgcGFzcworCitmcm9tIGZ1bmN0b29scyBpbXBvcnQgd3JhcHMKKworZGVmIGRlY29yYXRvcihmdW5jKToKKyAgICBAd3JhcHMoZnVuYykKKyAgICBkZWYgZmFrZSgpOgorICAgICAgICByZXR1cm4gNDIKKyAgICByZXR1cm4gZmFrZQorCisjbGluZSAxMjEKK0BkZWNvcmF0b3IKK2RlZiByZWFsKCk6CisgICAgcmV0dXJuIDIwCmRpZmYgLS1naXQgYS9MaWIvdGVzdC9saXN0X3Rlc3RzLnB5IGIvTGliL3Rlc3QvbGlzdF90ZXN0cy5weQppbmRleCA0MmUxMThiLi45MDY5MzM3IDEwMDY0NAotLS0gYS9MaWIvdGVzdC9saXN0X3Rlc3RzLnB5CisrKyBiL0xpYi90ZXN0L2xpc3RfdGVzdHMucHkKQEAgLTMwLDYgKzMwLDEyIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoaWQoYSksIGlkKGIpKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGEsIGIpCiAKKyAgICBkZWYgdGVzdF9nZXRpdGVtX2Vycm9yKHNlbGYpOgorICAgICAgICBtc2cgPSAibGlzdCBpbmRpY2VzIG11c3QgYmUgaW50ZWdlcnMgb3Igc2xpY2VzIgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVHlwZUVycm9yLCBtc2cpOgorICAgICAgICAgICAgYSA9IFtdCisgICAgICAgICAgICBhWydhJ10gPSAicHl0aG9uIgorCiAgICAgZGVmIHRlc3RfcmVwcihzZWxmKToKICAgICAgICAgbDAgPSBbXQogICAgICAgICBsMiA9IFswLCAxLCAyXQpAQCAtMTIwLDYgKzEyNiwxMCBAQAogICAgICAgICBhWy0xXSA9IDkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhLCBzZWxmLnR5cGUydGVzdChbNSw2LDcsOCw5XSkpCiAKKyAgICAgICAgbXNnID0gImxpc3QgaW5kaWNlcyBtdXN0IGJlIGludGVnZXJzIG9yIHNsaWNlcyIKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFR5cGVFcnJvciwgbXNnKToKKyAgICAgICAgICAgIGFbJ2EnXSA9ICJweXRob24iCisKICAgICBkZWYgdGVzdF9kZWxpdGVtKHNlbGYpOgogICAgICAgICBhID0gc2VsZi50eXBlMnRlc3QoWzAsIDFdKQogICAgICAgICBkZWwgYVsxXQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvbG9ja190ZXN0cy5weSBiL0xpYi90ZXN0L2xvY2tfdGVzdHMucHkKaW5kZXggMWNiY2VhMi4uMTM2ZjFjMyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvbG9ja190ZXN0cy5weQorKysgYi9MaWIvdGVzdC9sb2NrX3Rlc3RzLnB5CkBAIC04Miw3ICs4MiwxMyBAQAogCiAgICAgZGVmIHRlc3RfcmVwcihzZWxmKToKICAgICAgICAgbG9jayA9IHNlbGYubG9ja3R5cGUoKQotICAgICAgICByZXByKGxvY2spCisgICAgICAgIHNlbGYuYXNzZXJ0UmVnZXgocmVwcihsb2NrKSwgIjx1bmxvY2tlZCAuKiBvYmplY3QgKC4qKT9hdCAuKj4iKQorICAgICAgICBkZWwgbG9jaworCisgICAgZGVmIHRlc3RfbG9ja2VkX3JlcHIoc2VsZik6CisgICAgICAgIGxvY2sgPSBzZWxmLmxvY2t0eXBlKCkKKyAgICAgICAgbG9jay5hY3F1aXJlKCkKKyAgICAgICAgc2VsZi5hc3NlcnRSZWdleChyZXByKGxvY2spLCAiPGxvY2tlZCAuKiBvYmplY3QgKC4qKT9hdCAuKj4iKQogICAgICAgICBkZWwgbG9jawogCiAgICAgZGVmIHRlc3RfYWNxdWlyZV9kZXN0cm95KHNlbGYpOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvbW9ja19zb2NrZXQucHkgYi9MaWIvdGVzdC9tb2NrX3NvY2tldC5weQppbmRleCBlMzY3MjRmLi5iMjhjNDczIDEwMDY0NAotLS0gYS9MaWIvdGVzdC9tb2NrX3NvY2tldC5weQorKysgYi9MaWIvdGVzdC9tb2NrX3NvY2tldC5weQpAQCAtMzUsOCArMzUsOSBAQAogY2xhc3MgTW9ja1NvY2tldDoKICAgICAiIiJNb2NrIHNvY2tldCBvYmplY3QgdXNlZCBieSBzbXRwZCBhbmQgc210cGxpYiB0ZXN0cy4KICAgICAiIiIKLSAgICBkZWYgX19pbml0X18oc2VsZik6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGZhbWlseT1Ob25lKToKICAgICAgICAgZ2xvYmFsIF9yZXBseV9kYXRhCisgICAgICAgIHNlbGYuZmFtaWx5ID0gZmFtaWx5CiAgICAgICAgIHNlbGYub3V0cHV0ID0gW10KICAgICAgICAgc2VsZi5saW5lcyA9IFtdCiAgICAgICAgIGlmIF9yZXBseV9kYXRhOgpAQCAtMTAxLDE1ICsxMDIsMTQgQEAKICAgICAgICAgcmV0dXJuIGxlbihkYXRhKQogCiAgICAgZGVmIGdldHBlZXJuYW1lKHNlbGYpOgotICAgICAgICByZXR1cm4gJ3BlZXInCisgICAgICAgIHJldHVybiAoJ3BlZXItYWRkcmVzcycsICdwZWVyLXBvcnQnKQogCiAgICAgZGVmIGNsb3NlKHNlbGYpOgogICAgICAgICBwYXNzCiAKIAogZGVmIHNvY2tldChmYW1pbHk9Tm9uZSwgdHlwZT1Ob25lLCBwcm90bz1Ob25lKToKLSAgICByZXR1cm4gTW9ja1NvY2tldCgpCi0KKyAgICByZXR1cm4gTW9ja1NvY2tldChmYW1pbHkpCiAKIGRlZiBjcmVhdGVfY29ubmVjdGlvbihhZGRyZXNzLCB0aW1lb3V0PXNvY2tldF9tb2R1bGUuX0dMT0JBTF9ERUZBVUxUX1RJTUVPVVQsCiAgICAgICAgICAgICAgICAgICAgICAgc291cmNlX2FkZHJlc3M9Tm9uZSk6CkBAIC0xNDQsMTMgKzE0NCwxNiBAQAogZGVmIGdldGhvc3RieW5hbWUobmFtZSk6CiAgICAgcmV0dXJuICIiCiAKK2RlZiBnZXRhZGRyaW5mbygqYXJncywgKiprdyk6CisgICAgcmV0dXJuIHNvY2tldF9tb2R1bGUuZ2V0YWRkcmluZm8oKmFyZ3MsICoqa3cpCiAKIGdhaWVycm9yID0gc29ja2V0X21vZHVsZS5nYWllcnJvcgogZXJyb3IgPSBzb2NrZXRfbW9kdWxlLmVycm9yCiAKIAogIyBDb25zdGFudHMKLUFGX0lORVQgPSBOb25lCi1TT0NLX1NUUkVBTSA9IE5vbmUKK0FGX0lORVQgPSBzb2NrZXRfbW9kdWxlLkFGX0lORVQKK0FGX0lORVQ2ID0gc29ja2V0X21vZHVsZS5BRl9JTkVUNgorU09DS19TVFJFQU0gPSBzb2NrZXRfbW9kdWxlLlNPQ0tfU1RSRUFNCiBTT0xfU09DS0VUID0gTm9uZQogU09fUkVVU0VBRERSID0gTm9uZQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvcGlja2xldGVzdGVyLnB5IGIvTGliL3Rlc3QvcGlja2xldGVzdGVyLnB5CmluZGV4IGJkYzdiYWQuLjVjZDA4ZDkgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3BpY2tsZXRlc3Rlci5weQorKysgYi9MaWIvdGVzdC9waWNrbGV0ZXN0ZXIucHkKQEAgLTExNTMsMTYgKzExNTMsNjIgQEAKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEdyZWF0ZXJFcXVhbChudW1fYWRkaXRlbXMsIDIpCiAKICAgICBkZWYgdGVzdF9zaW1wbGVfbmV3b2JqKHNlbGYpOgotICAgICAgICB4ID0gb2JqZWN0Ll9fbmV3X18oU2ltcGxlTmV3T2JqKSAgIyBhdm9pZCBfX2luaXRfXworICAgICAgICB4ID0gU2ltcGxlTmV3T2JqLl9fbmV3X18oU2ltcGxlTmV3T2JqLCAweGZhY2UpICAjIGF2b2lkIF9faW5pdF9fCiAgICAgICAgIHguYWJjID0gNjY2CiAgICAgICAgIGZvciBwcm90byBpbiBwcm90b2NvbHM6Ci0gICAgICAgICAgICBzID0gc2VsZi5kdW1wcyh4LCBwcm90bykKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3Bjb2RlX2luX3BpY2tsZShwaWNrbGUuTkVXT0JKLCBzKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMiA8PSBwcm90byA8IDQpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9wY29kZV9pbl9waWNrbGUocGlja2xlLk5FV09CSl9FWCwgcyksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RvID49IDQpCi0gICAgICAgICAgICB5ID0gc2VsZi5sb2FkcyhzKSAgICMgd2lsbCByYWlzZSBUeXBlRXJyb3IgaWYgX19pbml0X18gY2FsbGVkCi0gICAgICAgICAgICBzZWxmLmFzc2VydF9pc19jb3B5KHgsIHkpCisgICAgICAgICAgICB3aXRoIHNlbGYuc3ViVGVzdChwcm90bz1wcm90byk6CisgICAgICAgICAgICAgICAgcyA9IHNlbGYuZHVtcHMoeCwgcHJvdG8pCisgICAgICAgICAgICAgICAgaWYgcHJvdG8gPCAxOgorICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEluKGInXG5MNjQyMDYnLCBzKSAgIyBMT05HCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJbihiJ01ceGNlXHhmYScsIHMpICAjIEJJTklOVDIKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9wY29kZV9pbl9waWNrbGUocGlja2xlLk5FV09CSiwgcyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyIDw9IHByb3RvKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uob3Bjb2RlX2luX3BpY2tsZShwaWNrbGUuTkVXT0JKX0VYLCBzKSkKKyAgICAgICAgICAgICAgICB5ID0gc2VsZi5sb2FkcyhzKSAgICMgd2lsbCByYWlzZSBUeXBlRXJyb3IgaWYgX19pbml0X18gY2FsbGVkCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRfaXNfY29weSh4LCB5KQorCisgICAgZGVmIHRlc3RfY29tcGxleF9uZXdvYmooc2VsZik6CisgICAgICAgIHggPSBDb21wbGV4TmV3T2JqLl9fbmV3X18oQ29tcGxleE5ld09iaiwgMHhmYWNlKSAgIyBhdm9pZCBfX2luaXRfXworICAgICAgICB4LmFiYyA9IDY2NgorICAgICAgICBmb3IgcHJvdG8gaW4gcHJvdG9jb2xzOgorICAgICAgICAgICAgd2l0aCBzZWxmLnN1YlRlc3QocHJvdG89cHJvdG8pOgorICAgICAgICAgICAgICAgIHMgPSBzZWxmLmR1bXBzKHgsIHByb3RvKQorICAgICAgICAgICAgICAgIGlmIHByb3RvIDwgMToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJbihiJ1xuTDY0MjA2JywgcykgICMgTE9ORworICAgICAgICAgICAgICAgIGVsaWYgcHJvdG8gPCAyOgorICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEluKGInTVx4Y2VceGZhJywgcykgICMgQklOSU5UMgorICAgICAgICAgICAgICAgIGVsaWYgcHJvdG8gPCA0OgorICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEluKGInWFx4MDRceDAwXHgwMFx4MDBGQUNFJywgcykgICMgQklOVU5JQ09ERQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oYidceDhjXHgwNEZBQ0UnLCBzKSAgIyBTSE9SVF9CSU5VTklDT0RFCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvcGNvZGVfaW5fcGlja2xlKHBpY2tsZS5ORVdPQkosIHMpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMiA8PSBwcm90bykKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG9wY29kZV9pbl9waWNrbGUocGlja2xlLk5FV09CSl9FWCwgcykpCisgICAgICAgICAgICAgICAgeSA9IHNlbGYubG9hZHMocykgICAjIHdpbGwgcmFpc2UgVHlwZUVycm9yIGlmIF9faW5pdF9fIGNhbGxlZAorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0X2lzX2NvcHkoeCwgeSkKKworICAgIGRlZiB0ZXN0X2NvbXBsZXhfbmV3b2JqX2V4KHNlbGYpOgorICAgICAgICB4ID0gQ29tcGxleE5ld09iakV4Ll9fbmV3X18oQ29tcGxleE5ld09iakV4LCAweGZhY2UpICAjIGF2b2lkIF9faW5pdF9fCisgICAgICAgIHguYWJjID0gNjY2CisgICAgICAgIGZvciBwcm90byBpbiBwcm90b2NvbHM6CisgICAgICAgICAgICB3aXRoIHNlbGYuc3ViVGVzdChwcm90bz1wcm90byk6CisgICAgICAgICAgICAgICAgaWYgMiA8PSBwcm90byA8IDQ6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIHNlbGYuZHVtcHMsIHgsIHByb3RvKQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgICAgIHMgPSBzZWxmLmR1bXBzKHgsIHByb3RvKQorICAgICAgICAgICAgICAgIGlmIHByb3RvIDwgMToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJbihiJ1xuTDY0MjA2JywgcykgICMgTE9ORworICAgICAgICAgICAgICAgIGVsaWYgcHJvdG8gPCAyOgorICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEluKGInTVx4Y2VceGZhJywgcykgICMgQklOSU5UMgorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIGFzc2VydCBwcm90byA+PSA0CisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oYidceDhjXHgwNEZBQ0UnLCBzKSAgIyBTSE9SVF9CSU5VTklDT0RFCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShvcGNvZGVfaW5fcGlja2xlKHBpY2tsZS5ORVdPQkosIHMpKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3Bjb2RlX2luX3BpY2tsZShwaWNrbGUuTkVXT0JKX0VYLCBzKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQgPD0gcHJvdG8pCisgICAgICAgICAgICAgICAgeSA9IHNlbGYubG9hZHMocykgICAjIHdpbGwgcmFpc2UgVHlwZUVycm9yIGlmIF9faW5pdF9fIGNhbGxlZAorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0X2lzX2NvcHkoeCwgeSkKIAogICAgIGRlZiB0ZXN0X25ld29ial9saXN0X3Nsb3RzKHNlbGYpOgogICAgICAgICB4ID0gU2xvdExpc3QoWzEsIDIsIDNdKQpAQCAtMTY0NCw2ICsxNjkwLDI3IEBACiAgICAgICAgICAgICAgICAgICAgIHVucGlja2xlZCA9IHNlbGYubG9hZHMoc2VsZi5kdW1wcyhtZXRob2QsIHByb3RvKSkKICAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtZXRob2QoKmFyZ3MpLCB1bnBpY2tsZWQoKmFyZ3MpKQogCisgICAgZGVmIHRlc3RfbG9jYWxfbG9va3VwX2Vycm9yKHNlbGYpOgorICAgICAgICAjIFRlc3QgdGhhdCB3aGljaG1vZHVsZSgpIGVycm9ycyBvdXQgY2xlYW5seSB3aGVuIGxvb2tpbmcgdXAKKyAgICAgICAgIyBhbiBhc3N1bWVkIGdsb2JhbGx5LXJlYWNoYWJsZSBvYmplY3QgZmFpbHMuCisgICAgICAgIGRlZiBmKCk6CisgICAgICAgICAgICBwYXNzCisgICAgICAgICMgU2luY2UgdGhlIGZ1bmN0aW9uIGlzIGxvY2FsLCBsb29rdXAgd2lsbCBmYWlsCisgICAgICAgIGZvciBwcm90byBpbiByYW5nZSgwLCBwaWNrbGUuSElHSEVTVF9QUk9UT0NPTCArIDEpOgorICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcygoQXR0cmlidXRlRXJyb3IsIHBpY2tsZS5QaWNrbGluZ0Vycm9yKSk6CisgICAgICAgICAgICAgICAgcGlja2xldG9vbHMuZGlzKHNlbGYuZHVtcHMoZiwgcHJvdG8pKQorICAgICAgICAjIFNhbWUgd2l0aG91dCBhIF9fbW9kdWxlX18gYXR0cmlidXRlIChleGVyY2lzZXMgYSBkaWZmZXJlbnQgcGF0aAorICAgICAgICAjIGluIF9waWNrbGUuYykuCisgICAgICAgIGRlbCBmLl9fbW9kdWxlX18KKyAgICAgICAgZm9yIHByb3RvIGluIHJhbmdlKDAsIHBpY2tsZS5ISUdIRVNUX1BST1RPQ09MICsgMSk6CisgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKChBdHRyaWJ1dGVFcnJvciwgcGlja2xlLlBpY2tsaW5nRXJyb3IpKToKKyAgICAgICAgICAgICAgICBwaWNrbGV0b29scy5kaXMoc2VsZi5kdW1wcyhmLCBwcm90bykpCisgICAgICAgICMgWWV0IGEgZGlmZmVyZW50IHBhdGguCisgICAgICAgIGYuX19uYW1lX18gPSBmLl9fcXVhbG5hbWVfXworICAgICAgICBmb3IgcHJvdG8gaW4gcmFuZ2UoMCwgcGlja2xlLkhJR0hFU1RfUFJPVE9DT0wgKyAxKToKKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoKEF0dHJpYnV0ZUVycm9yLCBwaWNrbGUuUGlja2xpbmdFcnJvcikpOgorICAgICAgICAgICAgICAgIHBpY2tsZXRvb2xzLmRpcyhzZWxmLmR1bXBzKGYsIHByb3RvKSkKKwogCiBjbGFzcyBCaWdtZW1QaWNrbGVUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKQEAgLTE4NzgsMTIgKzE5NDUsMjAgQEAKIGNsYXNzIFNsb3RMaXN0KE15TGlzdCk6CiAgICAgX19zbG90c19fID0gWyJmb28iXQogCi1jbGFzcyBTaW1wbGVOZXdPYmoob2JqZWN0KToKLSAgICBkZWYgX19pbml0X18oc2VsZiwgYSwgYiwgYyk6CitjbGFzcyBTaW1wbGVOZXdPYmooaW50KToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKICAgICAgICAgIyByYWlzZSBhbiBlcnJvciwgdG8gbWFrZSBzdXJlIHRoaXMgaXNuJ3QgY2FsbGVkCiAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiU2ltcGxlTmV3T2JqLl9faW5pdF9fKCkgZGlkbid0IGV4cGVjdCB0byBnZXQgY2FsbGVkIikKICAgICBkZWYgX19lcV9fKHNlbGYsIG90aGVyKToKLSAgICAgICAgcmV0dXJuIHNlbGYuX19kaWN0X18gPT0gb3RoZXIuX19kaWN0X18KKyAgICAgICAgcmV0dXJuIGludChzZWxmKSA9PSBpbnQob3RoZXIpIGFuZCBzZWxmLl9fZGljdF9fID09IG90aGVyLl9fZGljdF9fCisKK2NsYXNzIENvbXBsZXhOZXdPYmooU2ltcGxlTmV3T2JqKToKKyAgICBkZWYgX19nZXRuZXdhcmdzX18oc2VsZik6CisgICAgICAgIHJldHVybiAoJyVYJyAlIHNlbGYsIDE2KQorCitjbGFzcyBDb21wbGV4TmV3T2JqRXgoU2ltcGxlTmV3T2JqKToKKyAgICBkZWYgX19nZXRuZXdhcmdzX2V4X18oc2VsZik6CisgICAgICAgIHJldHVybiAoJyVYJyAlIHNlbGYsKSwgeydiYXNlJzogMTZ9CiAKIGNsYXNzIEJhZEdldGF0dHI6CiAgICAgZGVmIF9fZ2V0YXR0cl9fKHNlbGYsIGtleSk6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC9weXN0b25lLnB5IGIvTGliL3Rlc3QvcHlzdG9uZS5weQppbmRleCBhNDFmMWU1Li4xZjY3ZTY2IDEwMDc1NQotLS0gYS9MaWIvdGVzdC9weXN0b25lLnB5CisrKyBiL0xpYi90ZXN0L3B5c3RvbmUucHkKQEAgLTQxLDcgKzQxLDcgQEAKIAogTE9PUFMgPSA1MDAwMAogCi1mcm9tIHRpbWUgaW1wb3J0IGNsb2NrCitmcm9tIHRpbWUgaW1wb3J0IHRpbWUKIAogX192ZXJzaW9uX18gPSAiMS4yIgogCkBAIC05MywxMCArOTMsMTAgQEAKICAgICBnbG9iYWwgUHRyR2xiCiAgICAgZ2xvYmFsIFB0ckdsYk5leHQKIAotICAgIHN0YXJ0dGltZSA9IGNsb2NrKCkKKyAgICBzdGFydHRpbWUgPSB0aW1lKCkKICAgICBmb3IgaSBpbiByYW5nZShsb29wcyk6CiAgICAgICAgIHBhc3MKLSAgICBudWxsdGltZSA9IGNsb2NrKCkgLSBzdGFydHRpbWUKKyAgICBudWxsdGltZSA9IHRpbWUoKSAtIHN0YXJ0dGltZQogCiAgICAgUHRyR2xiTmV4dCA9IFJlY29yZCgpCiAgICAgUHRyR2xiID0gUmVjb3JkKCkKQEAgLTEwOCw3ICsxMDgsNyBAQAogICAgIFN0cmluZzFMb2MgPSAiREhSWVNUT05FIFBST0dSQU0sIDEnU1QgU1RSSU5HIgogICAgIEFycmF5Mkdsb2JbOF1bN10gPSAxMAogCi0gICAgc3RhcnR0aW1lID0gY2xvY2soKQorICAgIHN0YXJ0dGltZSA9IHRpbWUoKQogCiAgICAgZm9yIGkgaW4gcmFuZ2UobG9vcHMpOgogICAgICAgICBQcm9jNSgpCkBAIC0xMzQsNyArMTM0LDcgQEAKICAgICAgICAgSW50TG9jMiA9IDcgKiAoSW50TG9jMyAtIEludExvYzIpIC0gSW50TG9jMQogICAgICAgICBJbnRMb2MxID0gUHJvYzIoSW50TG9jMSkKIAotICAgIGJlbmNodGltZSA9IGNsb2NrKCkgLSBzdGFydHRpbWUgLSBudWxsdGltZQorICAgIGJlbmNodGltZSA9IHRpbWUoKSAtIHN0YXJ0dGltZSAtIG51bGx0aW1lCiAgICAgaWYgYmVuY2h0aW1lID09IDAuMDoKICAgICAgICAgbG9vcHNQZXJCZW5jaHRpbWUgPSAwLjAKICAgICBlbHNlOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvcmVncnRlc3QucHkgYi9MaWIvdGVzdC9yZWdydGVzdC5weQppbmRleCBiNjMzNjMxLi5lYTEyODdkIDEwMDc1NQotLS0gYS9MaWIvdGVzdC9yZWdydGVzdC5weQorKysgYi9MaWIvdGVzdC9yZWdydGVzdC5weQpAQCAtMTI3Niw2ICsxMjc2LDEwIEBACiAgICAgICAgICAgICAgICAgZGVmIHRlc3RfcnVubmVyKCk6CiAgICAgICAgICAgICAgICAgICAgIGxvYWRlciA9IHVuaXR0ZXN0LlRlc3RMb2FkZXIoKQogICAgICAgICAgICAgICAgICAgICB0ZXN0cyA9IGxvYWRlci5sb2FkVGVzdHNGcm9tTW9kdWxlKHRoZV9tb2R1bGUpCisgICAgICAgICAgICAgICAgICAgIGZvciBlcnJvciBpbiBsb2FkZXIuZXJyb3JzOgorICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnQoZXJyb3IsIGZpbGU9c3lzLnN0ZGVycikKKyAgICAgICAgICAgICAgICAgICAgaWYgbG9hZGVyLmVycm9yczoKKyAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiZXJyb3JzIHdoaWxlIGxvYWRpbmcgdGVzdHMiKQogICAgICAgICAgICAgICAgICAgICBzdXBwb3J0LnJ1bl91bml0dGVzdCh0ZXN0cykKICAgICAgICAgICAgIHRlc3RfcnVubmVyKCkKICAgICAgICAgICAgIGlmIGh1bnRybGVha3M6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC9zY3JpcHRfaGVscGVyLnB5IGIvTGliL3Rlc3Qvc2NyaXB0X2hlbHBlci5weQppbmRleCA4YzU5OWQxLi41NTMxYTM0IDEwMDY0NAotLS0gYS9MaWIvdGVzdC9zY3JpcHRfaGVscGVyLnB5CisrKyBiL0xpYi90ZXN0L3NjcmlwdF9oZWxwZXIucHkKQEAgLTE5LDcgKzE5LDcgQEAKICMgQ2FjaGVkIHJlc3VsdCBvZiB0aGUgZXhwZW5zaXZlIHRlc3QgcGVyZm9ybWVkIGluIHRoZSBmdW5jdGlvbiBiZWxvdy4KIF9fY2FjaGVkX2ludGVycF9yZXF1aXJlc19lbnZpcm9ubWVudCA9IE5vbmUKIAotZGVmIF9pbnRlcnByZXRlcl9yZXF1aXJlc19lbnZpcm9ubWVudCgpOgorZGVmIGludGVycHJldGVyX3JlcXVpcmVzX2Vudmlyb25tZW50KCk6CiAgICAgIiIiCiAgICAgUmV0dXJucyBUcnVlIGlmIG91ciBzeXMuZXhlY3V0YWJsZSBpbnRlcnByZXRlciByZXF1aXJlcyBlbnZpcm9ubWVudAogICAgIHZhcmlhYmxlcyBpbiBvcmRlciB0byBiZSBhYmxlIHRvIHJ1biBhdCBhbGwuCkBAIC01Miw3ICs1Miw3IEBACiAKICMgRXhlY3V0aW5nIHRoZSBpbnRlcnByZXRlciBpbiBhIHN1YnByb2Nlc3MKIGRlZiBfYXNzZXJ0X3B5dGhvbihleHBlY3RlZF9zdWNjZXNzLCAqYXJncywgKiplbnZfdmFycyk6Ci0gICAgZW52X3JlcXVpcmVkID0gX2ludGVycHJldGVyX3JlcXVpcmVzX2Vudmlyb25tZW50KCkKKyAgICBlbnZfcmVxdWlyZWQgPSBpbnRlcnByZXRlcl9yZXF1aXJlc19lbnZpcm9ubWVudCgpCiAgICAgaWYgJ19faXNvbGF0ZWQnIGluIGVudl92YXJzOgogICAgICAgICBpc29sYXRlZCA9IGVudl92YXJzLnBvcCgnX19pc29sYXRlZCcpCiAgICAgZWxzZToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3NzbF9zZXJ2ZXJzLnB5IGIvTGliL3Rlc3Qvc3NsX3NlcnZlcnMucHkKaW5kZXggNzU5YjNmNC4uZjlkMzBjZiAxMDA2NDQKLS0tIGEvTGliL3Rlc3Qvc3NsX3NlcnZlcnMucHkKKysrIGIvTGliL3Rlc3Qvc3NsX3NlcnZlcnMucHkKQEAgLTE1MCw3ICsxNTAsNyBAQAogZGVmIG1ha2VfaHR0cHNfc2VydmVyKGNhc2UsICosIGNvbnRleHQ9Tm9uZSwgY2VydGZpbGU9Q0VSVEZJTEUsCiAgICAgICAgICAgICAgICAgICAgICAgaG9zdD1IT1NULCBoYW5kbGVyX2NsYXNzPU5vbmUpOgogICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgY29udGV4dCA9IHNzbC5TU0xDb250ZXh0KHNzbC5QUk9UT0NPTF9TU0x2MjMpCisgICAgICAgIGNvbnRleHQgPSBzc2wuY3JlYXRlX2RlZmF1bHRfY29udGV4dChzc2wuUHVycG9zZS5DTElFTlRfQVVUSCkKICAgICAjIFdlIGFzc3VtZSB0aGUgY2VydGZpbGUgY29udGFpbnMgYm90aCBwcml2YXRlIGtleSBhbmQgY2VydGlmaWNhdGUKICAgICBjb250ZXh0LmxvYWRfY2VydF9jaGFpbihjZXJ0ZmlsZSkKICAgICBzZXJ2ZXIgPSBIVFRQU1NlcnZlclRocmVhZChjb250ZXh0LCBob3N0LCBoYW5kbGVyX2NsYXNzKQpAQCAtMTgyLDYgKzE4Miw4IEBACiAgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1jdXJ2ZS1uYW1lJywgZGVzdD0nY3VydmVfbmFtZScsIHR5cGU9c3RyLAogICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSdzdG9yZScsCiAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdjdXJ2ZSBuYW1lIGZvciBFQy1iYXNlZCBEaWZmaWUtSGVsbG1hbicpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1jaXBoZXJzJywgZGVzdD0nY2lwaGVycycsIHR5cGU9c3RyLAorICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nYWxsb3dlZCBjaXBoZXIgbGlzdCcpCiAgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1kaCcsIGRlc3Q9J2RoX2ZpbGUnLCB0eXBlPXN0ciwgYWN0aW9uPSdzdG9yZScsCiAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdQRU0gZmlsZSBjb250YWluaW5nIERIIHBhcmFtZXRlcnMnKQogICAgIGFyZ3MgPSBwYXJzZXIucGFyc2VfYXJncygpCkBAIC0xOTIsMTIgKzE5NCwxNCBAQAogICAgIGVsc2U6CiAgICAgICAgIGhhbmRsZXJfY2xhc3MgPSBSb290ZWRIVFRQUmVxdWVzdEhhbmRsZXIKICAgICAgICAgaGFuZGxlcl9jbGFzcy5yb290ID0gb3MuZ2V0Y3dkKCkKLSAgICBjb250ZXh0ID0gc3NsLlNTTENvbnRleHQoc3NsLlBST1RPQ09MX1RMU3YxKQorICAgIGNvbnRleHQgPSBzc2wuY3JlYXRlX2RlZmF1bHRfY29udGV4dChzc2wuUHVycG9zZS5DTElFTlRfQVVUSCkKICAgICBjb250ZXh0LmxvYWRfY2VydF9jaGFpbihDRVJURklMRSkKICAgICBpZiBhcmdzLmN1cnZlX25hbWU6CiAgICAgICAgIGNvbnRleHQuc2V0X2VjZGhfY3VydmUoYXJncy5jdXJ2ZV9uYW1lKQogICAgIGlmIGFyZ3MuZGhfZmlsZToKICAgICAgICAgY29udGV4dC5sb2FkX2RoX3BhcmFtcyhhcmdzLmRoX2ZpbGUpCisgICAgaWYgYXJncy5jaXBoZXJzOgorICAgICAgICBjb250ZXh0LnNldF9jaXBoZXJzKGFyZ3MuY2lwaGVycykKIAogICAgIHNlcnZlciA9IEhUVFBTU2VydmVyKCgiIiwgYXJncy5wb3J0KSwgaGFuZGxlcl9jbGFzcywgY29udGV4dCkKICAgICBpZiBhcmdzLnZlcmJvc2U6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC9zdHJpbmdfdGVzdHMucHkgYi9MaWIvdGVzdC9zdHJpbmdfdGVzdHMucHkKaW5kZXggMjQyYTkzMS4uNmUyNjQ3NCAxMDA2NDQKLS0tIGEvTGliL3Rlc3Qvc3RyaW5nX3Rlc3RzLnB5CisrKyBiL0xpYi90ZXN0L3N0cmluZ190ZXN0cy5weQpAQCAtMTE3Niw4ICsxMTc2LDcgQEAKICAgICAgICAgc2VsZi5jaGVja3JhaXNlcyhUeXBlRXJyb3IsICdhYmMnLCAnX19tb2RfXycpCiAgICAgICAgIHNlbGYuY2hlY2tyYWlzZXMoVHlwZUVycm9yLCAnJShmb28pcycsICdfX21vZF9fJywgNDIpCiAgICAgICAgIHNlbGYuY2hlY2tyYWlzZXMoVHlwZUVycm9yLCAnJXMlcycsICdfX21vZF9fJywgKDQyLCkpCi0gICAgICAgIHdpdGggc2VsZi5hc3NlcnRXYXJucyhEZXByZWNhdGlvbldhcm5pbmcpOgotICAgICAgICAgICAgc2VsZi5jaGVja3JhaXNlcyhUeXBlRXJyb3IsICclYycsICdfX21vZF9fJywgKE5vbmUsKSkKKyAgICAgICAgc2VsZi5jaGVja3JhaXNlcyhUeXBlRXJyb3IsICclYycsICdfX21vZF9fJywgKE5vbmUsKSkKICAgICAgICAgc2VsZi5jaGVja3JhaXNlcyhWYWx1ZUVycm9yLCAnJShmb28nLCAnX19tb2RfXycsIHt9KQogICAgICAgICBzZWxmLmNoZWNrcmFpc2VzKFR5cGVFcnJvciwgJyUoZm9vKXMgJShiYXIpcycsICdfX21vZF9fJywgKCdmb28nLCA0MikpCiAgICAgICAgIHNlbGYuY2hlY2tyYWlzZXMoVHlwZUVycm9yLCAnJWQnLCAnX19tb2RfXycsICI0MiIpICMgbm90IG51bWVyaWMKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3N1cHBvcnQvX19pbml0X18ucHkgYi9MaWIvdGVzdC9zdXBwb3J0L19faW5pdF9fLnB5CmluZGV4IGQ5ODA2OGMuLjIwNWM0N2MgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3N1cHBvcnQvX19pbml0X18ucHkKKysrIGIvTGliL3Rlc3Qvc3VwcG9ydC9fX2luaXRfXy5weQpAQCAtMTA0MCw3ICsxMDQwLDggQEAKICAgICAjIFZlcmlmeSB0aGUgcmVxdWlyZW1lbnQgYmVmb3JlIGRvd25sb2FkaW5nIHRoZSBmaWxlCiAgICAgcmVxdWlyZXMoJ3VybGZldGNoJykKIAotICAgIHByaW50KCdcdGZldGNoaW5nICVzIC4uLicgJSB1cmwsIGZpbGU9Z2V0X29yaWdpbmFsX3N0ZG91dCgpKQorICAgIGlmIHZlcmJvc2U6CisgICAgICAgIHByaW50KCdcdGZldGNoaW5nICVzIC4uLicgJSB1cmwsIGZpbGU9Z2V0X29yaWdpbmFsX3N0ZG91dCgpKQogICAgIG9wZW5lciA9IHVybGxpYi5yZXF1ZXN0LmJ1aWxkX29wZW5lcigpCiAgICAgaWYgZ3ppcDoKICAgICAgICAgb3BlbmVyLmFkZGhlYWRlcnMuYXBwZW5kKCgnQWNjZXB0LUVuY29kaW5nJywgJ2d6aXAnKSkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfYXJncGFyc2UucHkgYi9MaWIvdGVzdC90ZXN0X2FyZ3BhcnNlLnB5CmluZGV4IDExNjRmM2YuLmEwYjkxNjIgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfYXJncGFyc2UucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9hcmdwYXJzZS5weQpAQCAtMjAsMTUgKzIwLDYgQEAKIAogY2xhc3MgVGVzdENhc2UodW5pdHRlc3QuVGVzdENhc2UpOgogCi0gICAgZGVmIGFzc2VydEVxdWFsKHNlbGYsIG9iajEsIG9iajIpOgotICAgICAgICBpZiBvYmoxICE9IG9iajI6Ci0gICAgICAgICAgICBwcmludCgnJykKLSAgICAgICAgICAgIHByaW50KHJlcHIob2JqMSkpCi0gICAgICAgICAgICBwcmludChyZXByKG9iajIpKQotICAgICAgICAgICAgcHJpbnQob2JqMSkKLSAgICAgICAgICAgIHByaW50KG9iajIpCi0gICAgICAgIHN1cGVyKFRlc3RDYXNlLCBzZWxmKS5hc3NlcnRFcXVhbChvYmoxLCBvYmoyKQotCiAgICAgZGVmIHNldFVwKHNlbGYpOgogICAgICAgICAjIFRoZSB0ZXN0cyBhc3N1bWUgdGhhdCBsaW5lIHdyYXBwaW5nIG9jY3VycyBhdCA4MCBjb2x1bW5zLCBidXQgdGhpcwogICAgICAgICAjIGJlaGF2aW91ciBjYW4gYmUgb3ZlcnJpZGRlbiBieSBzZXR0aW5nIHRoZSBDT0xVTU5TIGVudmlyb25tZW50CkBAIC03OCw5ICs2OSw2IEBACiAgICAgZGVmIF9fZXFfXyhzZWxmLCBvdGhlcik6CiAgICAgICAgIHJldHVybiB2YXJzKHNlbGYpID09IHZhcnMob3RoZXIpCiAKLSAgICBkZWYgX19uZV9fKHNlbGYsIG90aGVyKToKLSAgICAgICAgcmV0dXJuIG5vdCAoc2VsZiA9PSBvdGhlcikKLQogCiBjbGFzcyBBcmd1bWVudFBhcnNlckVycm9yKEV4Y2VwdGlvbik6CiAKQEAgLTE5OTMsMTQgKzE5ODEsOSBAQAogICAgICAgICAgICAgJycnKSkKIAogICAgIGRlZiBfdGVzdF9zdWJwYXJzZXJfaGVscChzZWxmLCBhcmdzX3N0ciwgZXhwZWN0ZWRfaGVscCk6Ci0gICAgICAgIHRyeToKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhBcmd1bWVudFBhcnNlckVycm9yKSBhcyBjbToKICAgICAgICAgICAgIHNlbGYucGFyc2VyLnBhcnNlX2FyZ3MoYXJnc19zdHIuc3BsaXQoKSkKLSAgICAgICAgZXhjZXB0IEFyZ3VtZW50UGFyc2VyRXJyb3I6Ci0gICAgICAgICAgICBlcnIgPSBzeXMuZXhjX2luZm8oKVsxXQotICAgICAgICAgICAgaWYgZXJyLnN0ZG91dCAhPSBleHBlY3RlZF9oZWxwOgotICAgICAgICAgICAgICAgIHByaW50KHJlcHIoZXhwZWN0ZWRfaGVscCkpCi0gICAgICAgICAgICAgICAgcHJpbnQocmVwcihlcnIuc3Rkb3V0KSkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXJyLnN0ZG91dCwgZXhwZWN0ZWRfaGVscCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3RlZF9oZWxwLCBjbS5leGNlcHRpb24uc3Rkb3V0KQogCiAgICAgZGVmIHRlc3Rfc3VicGFyc2VyMV9oZWxwKHNlbGYpOgogICAgICAgICBzZWxmLl90ZXN0X3N1YnBhcnNlcl9oZWxwKCc1LjAgMSAtaCcsIHRleHR3cmFwLmRlZGVudCgnJydcCkBAIC0yODQ2LDE1ICsyODI5LDE1IEBACiAKICAgICBkZWYgdGVzdF9nZXRfZGVmYXVsdChzZWxmKToKICAgICAgICAgcGFyc2VyID0gRXJyb3JSYWlzaW5nQXJndW1lbnRQYXJzZXIoKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKE5vbmUsIHBhcnNlci5nZXRfZGVmYXVsdCgiZm9vIikpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoTm9uZSwgcGFyc2VyLmdldF9kZWZhdWx0KCJiYXIiKSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUocGFyc2VyLmdldF9kZWZhdWx0KCJmb28iKSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUocGFyc2VyLmdldF9kZWZhdWx0KCJiYXIiKSkKIAogICAgICAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCItLWZvbyIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoTm9uZSwgcGFyc2VyLmdldF9kZWZhdWx0KCJmb28iKSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChOb25lLCBwYXJzZXIuZ2V0X2RlZmF1bHQoImJhciIpKQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShwYXJzZXIuZ2V0X2RlZmF1bHQoImZvbyIpKQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShwYXJzZXIuZ2V0X2RlZmF1bHQoImJhciIpKQogCiAgICAgICAgIHBhcnNlci5hZGRfYXJndW1lbnQoIi0tYmFyIiwgdHlwZT1pbnQsIGRlZmF1bHQ9NDIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoTm9uZSwgcGFyc2VyLmdldF9kZWZhdWx0KCJmb28iKSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUocGFyc2VyLmdldF9kZWZhdWx0KCJmb28iKSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCg0MiwgcGFyc2VyLmdldF9kZWZhdWx0KCJiYXIiKSkKIAogICAgICAgICBwYXJzZXIuc2V0X2RlZmF1bHRzKGZvbz0iYmFkZ2VyIikKQEAgLTI4NjksMTggKzI4NTIsMTYgQEAKIAogICAgIGRlZiB0ZXN0X2VtcHR5KHNlbGYpOgogICAgICAgICBucyA9IGFyZ3BhcnNlLk5hbWVzcGFjZSgpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJycgaW4gbnMsIEZhbHNlKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCcnIG5vdCBpbiBucywgVHJ1ZSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgneCcgaW4gbnMsIEZhbHNlKQorICAgICAgICBzZWxmLmFzc2VydE5vdEluKCcnLCBucykKKyAgICAgICAgc2VsZi5hc3NlcnROb3RJbigneCcsIG5zKQogCiAgICAgZGVmIHRlc3Rfbm9uX2VtcHR5KHNlbGYpOgogICAgICAgICBucyA9IGFyZ3BhcnNlLk5hbWVzcGFjZSh4PTEsIHk9MikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgneCcgaW4gbnMsIFRydWUpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ3gnIG5vdCBpbiBucywgRmFsc2UpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ3knIGluIG5zLCBUcnVlKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCcnIGluIG5zLCBGYWxzZSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgneHgnIGluIG5zLCBGYWxzZSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgneicgaW4gbnMsIEZhbHNlKQorICAgICAgICBzZWxmLmFzc2VydE5vdEluKCcnLCBucykKKyAgICAgICAgc2VsZi5hc3NlcnRJbigneCcsIG5zKQorICAgICAgICBzZWxmLmFzc2VydEluKCd5JywgbnMpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90SW4oJ3h4JywgbnMpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90SW4oJ3onLCBucykKIAogIyA9PT09PT09PT09PT09PT09PT09PT0KICMgSGVscCBmb3JtYXR0aW5nIHRlc3RzCkBAIC0yOTM2LDEzICsyOTE3LDYgQEAKICAgICAgICAgICAgIGRlZiBfdGVzdChzZWxmLCB0ZXN0ZXIsIHBhcnNlcl90ZXh0KToKICAgICAgICAgICAgICAgICBleHBlY3RlZF90ZXh0ID0gZ2V0YXR0cih0ZXN0ZXIsIHNlbGYuZnVuY19zdWZmaXgpCiAgICAgICAgICAgICAgICAgZXhwZWN0ZWRfdGV4dCA9IHRleHR3cmFwLmRlZGVudChleHBlY3RlZF90ZXh0KQotICAgICAgICAgICAgICAgIGlmIGV4cGVjdGVkX3RleHQgIT0gcGFyc2VyX3RleHQ6Ci0gICAgICAgICAgICAgICAgICAgIHByaW50KHJlcHIoZXhwZWN0ZWRfdGV4dCkpCi0gICAgICAgICAgICAgICAgICAgIHByaW50KHJlcHIocGFyc2VyX3RleHQpKQotICAgICAgICAgICAgICAgICAgICBmb3IgY2hhcjEsIGNoYXIyIGluIHppcChleHBlY3RlZF90ZXh0LCBwYXJzZXJfdGV4dCk6Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiBjaGFyMSAhPSBjaGFyMjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmludCgnZmlyc3QgZGlmZjogJXIgJXInICUgKGNoYXIxLCBjaGFyMikpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgICAgICB0ZXN0ZXIuYXNzZXJ0RXF1YWwoZXhwZWN0ZWRfdGV4dCwgcGFyc2VyX3RleHQpCiAKICAgICAgICAgICAgIGRlZiB0ZXN0X2Zvcm1hdChzZWxmLCB0ZXN0ZXIpOgpAQCAtNDIyMywyNCArNDE5NywxNyBAQAogICAgICAgICBzZWxmLmFzc2VydFZhbHVlRXJyb3IoJ2ZvbycsIGFjdGlvbj0nYmF6JykKICAgICAgICAgc2VsZi5hc3NlcnRWYWx1ZUVycm9yKCctLWZvbycsIGFjdGlvbj0oJ3N0b3JlJywgJ2FwcGVuZCcpKQogICAgICAgICBwYXJzZXIgPSBhcmdwYXJzZS5Bcmd1bWVudFBhcnNlcigpCi0gICAgICAgIHRyeToKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yKSBhcyBjbToKICAgICAgICAgICAgIHBhcnNlci5hZGRfYXJndW1lbnQoIi0tZm9vIiwgYWN0aW9uPSJzdG9yZS10cnVlIikKLSAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6Ci0gICAgICAgICAgICBlID0gc3lzLmV4Y19pbmZvKClbMV0KLSAgICAgICAgICAgIGV4cGVjdGVkID0gJ3Vua25vd24gYWN0aW9uJwotICAgICAgICAgICAgbXNnID0gJ2V4cGVjdGVkICVyLCBmb3VuZCAlcicgJSAoZXhwZWN0ZWQsIGUpCi0gICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoZXhwZWN0ZWQgaW4gc3RyKGUpLCBtc2cpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ3Vua25vd24gYWN0aW9uJywgc3RyKGNtLmV4Y2VwdGlvbikpCiAKICAgICBkZWYgdGVzdF9tdWx0aXBsZV9kZXN0KHNlbGYpOgogICAgICAgICBwYXJzZXIgPSBhcmdwYXJzZS5Bcmd1bWVudFBhcnNlcigpCiAgICAgICAgIHBhcnNlci5hZGRfYXJndW1lbnQoZGVzdD0nZm9vJykKLSAgICAgICAgdHJ5OgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpIGFzIGNtOgogICAgICAgICAgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnYmFyJywgZGVzdD0nYmF6JykKLSAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6Ci0gICAgICAgICAgICBlID0gc3lzLmV4Y19pbmZvKClbMV0KLSAgICAgICAgICAgIGV4cGVjdGVkID0gJ2Rlc3Qgc3VwcGxpZWQgdHdpY2UgZm9yIHBvc2l0aW9uYWwgYXJndW1lbnQnCi0gICAgICAgICAgICBtc2cgPSAnZXhwZWN0ZWQgJXIsIGZvdW5kICVyJyAlIChleHBlY3RlZCwgZSkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShleHBlY3RlZCBpbiBzdHIoZSksIG1zZykKKyAgICAgICAgc2VsZi5hc3NlcnRJbignZGVzdCBzdXBwbGllZCB0d2ljZSBmb3IgcG9zaXRpb25hbCBhcmd1bWVudCcsCisgICAgICAgICAgICAgICAgICAgICAgc3RyKGNtLmV4Y2VwdGlvbikpCiAKICAgICBkZWYgdGVzdF9ub19hcmd1bWVudF9hY3Rpb25zKHNlbGYpOgogICAgICAgICBmb3IgYWN0aW9uIGluIFsnc3RvcmVfY29uc3QnLCAnc3RvcmVfdHJ1ZScsICdzdG9yZV9mYWxzZScsCkBAIC00Mzk3LDE4ICs0MzY0LDEwIEBACiBjbGFzcyBUZXN0T3B0aW9uYWxzSGVscFZlcnNpb25BY3Rpb25zKFRlc3RDYXNlKToKICAgICAiIiJUZXN0IHRoZSBoZWxwIGFuZCB2ZXJzaW9uIGFjdGlvbnMiIiIKIAotICAgIGRlZiBfZ2V0X2Vycm9yKHNlbGYsIGZ1bmMsICphcmdzLCAqKmt3YXJncyk6Ci0gICAgICAgIHRyeToKLSAgICAgICAgICAgIGZ1bmMoKmFyZ3MsICoqa3dhcmdzKQotICAgICAgICBleGNlcHQgQXJndW1lbnRQYXJzZXJFcnJvcjoKLSAgICAgICAgICAgIHJldHVybiBzeXMuZXhjX2luZm8oKVsxXQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXJndW1lbnRQYXJzZXJFcnJvciwgZnVuYywgKmFyZ3MsICoqa3dhcmdzKQotCiAgICAgZGVmIGFzc2VydFByaW50SGVscEV4aXQoc2VsZiwgcGFyc2VyLCBhcmdzX3N0cik6Ci0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCi0gICAgICAgICAgICBwYXJzZXIuZm9ybWF0X2hlbHAoKSwKLSAgICAgICAgICAgIHNlbGYuX2dldF9lcnJvcihwYXJzZXIucGFyc2VfYXJncywgYXJnc19zdHIuc3BsaXQoKSkuc3Rkb3V0KQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEFyZ3VtZW50UGFyc2VyRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgcGFyc2VyLnBhcnNlX2FyZ3MoYXJnc19zdHIuc3BsaXQoKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwYXJzZXIuZm9ybWF0X2hlbHAoKSwgY20uZXhjZXB0aW9uLnN0ZG91dCkKIAogICAgIGRlZiBhc3NlcnRBcmd1bWVudFBhcnNlckVycm9yKHNlbGYsIHBhcnNlciwgKmFyZ3MpOgogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhBcmd1bWVudFBhcnNlckVycm9yLCBwYXJzZXIucGFyc2VfYXJncywgYXJncykKQEAgLTQ0MjMsOCArNDM4Miw5IEBACiAgICAgZGVmIHRlc3RfdmVyc2lvbl9mb3JtYXQoc2VsZik6CiAgICAgICAgIHBhcnNlciA9IEVycm9yUmFpc2luZ0FyZ3VtZW50UGFyc2VyKHByb2c9J1BQUCcpCiAgICAgICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy12JywgJy0tdmVyc2lvbicsIGFjdGlvbj0ndmVyc2lvbicsIHZlcnNpb249JyUocHJvZylzIDMuNScpCi0gICAgICAgIG1zZyA9IHNlbGYuX2dldF9lcnJvcihwYXJzZXIucGFyc2VfYXJncywgWyctdiddKS5zdGRvdXQKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnUFBQIDMuNVxuJywgbXNnKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEFyZ3VtZW50UGFyc2VyRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgcGFyc2VyLnBhcnNlX2FyZ3MoWyctdiddKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdQUFAgMy41XG4nLCBjbS5leGNlcHRpb24uc3Rkb3V0KQogCiAgICAgZGVmIHRlc3RfdmVyc2lvbl9ub19oZWxwKHNlbGYpOgogICAgICAgICBwYXJzZXIgPSBFcnJvclJhaXNpbmdBcmd1bWVudFBhcnNlcihhZGRfaGVscD1GYWxzZSkKQEAgLTQ0MzYsOCArNDM5Niw5IEBACiAgICAgZGVmIHRlc3RfdmVyc2lvbl9hY3Rpb24oc2VsZik6CiAgICAgICAgIHBhcnNlciA9IEVycm9yUmFpc2luZ0FyZ3VtZW50UGFyc2VyKHByb2c9J1hYWCcpCiAgICAgICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy1WJywgYWN0aW9uPSd2ZXJzaW9uJywgdmVyc2lvbj0nJShwcm9nKXMgMy43JykKLSAgICAgICAgbXNnID0gc2VsZi5fZ2V0X2Vycm9yKHBhcnNlci5wYXJzZV9hcmdzLCBbJy1WJ10pLnN0ZG91dAotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdYWFggMy43XG4nLCBtc2cpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoQXJndW1lbnRQYXJzZXJFcnJvcikgYXMgY206CisgICAgICAgICAgICBwYXJzZXIucGFyc2VfYXJncyhbJy1WJ10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ1hYWCAzLjdcbicsIGNtLmV4Y2VwdGlvbi5zdGRvdXQpCiAKICAgICBkZWYgdGVzdF9ub19oZWxwKHNlbGYpOgogICAgICAgICBwYXJzZXIgPSBFcnJvclJhaXNpbmdBcmd1bWVudFBhcnNlcihhZGRfaGVscD1GYWxzZSkKQEAgLTQ2MDcsMTQgKzQ1NjgsMTAgQEAKIAogICAgICAgICBwYXJzZXIgPSBFcnJvclJhaXNpbmdBcmd1bWVudFBhcnNlcihwcm9nPSdQUk9HJywgYWRkX2hlbHA9RmFsc2UpCiAgICAgICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJ3gnLCB0eXBlPXNwYW0pCi0gICAgICAgIHRyeToKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhBcmd1bWVudFBhcnNlckVycm9yKSBhcyBjbToKICAgICAgICAgICAgIHBhcnNlci5wYXJzZV9hcmdzKFsnWFhYJ10pCi0gICAgICAgIGV4Y2VwdCBBcmd1bWVudFBhcnNlckVycm9yOgotICAgICAgICAgICAgZXhwZWN0ZWQgPSAndXNhZ2U6IFBST0cgeFxuUFJPRzogZXJyb3I6IGFyZ3VtZW50IHg6IHNwYW0hXG4nCi0gICAgICAgICAgICBtc2cgPSBzeXMuZXhjX2luZm8oKVsxXS5zdGRlcnIKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0ZWQsIG1zZykKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYuZmFpbCgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ3VzYWdlOiBQUk9HIHhcblBST0c6IGVycm9yOiBhcmd1bWVudCB4OiBzcGFtIVxuJywKKyAgICAgICAgICAgICAgICAgICAgICAgICBjbS5leGNlcHRpb24uc3RkZXJyKQogCiAjID09PT09PT09PT09PT09PT09PT09PT09PT0KICMgTWVzc2FnZUNvbnRlbnRFcnJvciB0ZXN0cwpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9hcnJheS5weSBiL0xpYi90ZXN0L3Rlc3RfYXJyYXkucHkKaW5kZXggMDdjOWJmOS4uMTBkOTk0NiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9hcnJheS5weQorKysgYi9MaWIvdGVzdC90ZXN0X2FycmF5LnB5CkBAIC0zOTQsNyArMzk0LDkgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhLCBiKQogCiAgICAgZGVmIHRlc3RfdG9mcm9tc3RyaW5nKHNlbGYpOgotICAgICAgICBuYl93YXJuaW5ncyA9IDQKKyAgICAgICAgIyBXYXJuaW5ncyBub3QgcmFpc2VkIHdoZW4gYXJndW1lbnRzIGFyZSBpbmNvcnJlY3QgYXMgQXJndW1lbnQgQ2xpbmljCisgICAgICAgICMgaGFuZGxlcyB0aGF0IGJlZm9yZSB0aGUgd2FybmluZyBjYW4gYmUgcmFpc2VkLgorICAgICAgICBuYl93YXJuaW5ncyA9IDIKICAgICAgICAgd2l0aCB3YXJuaW5ncy5jYXRjaF93YXJuaW5ncyhyZWNvcmQ9VHJ1ZSkgYXMgcjoKICAgICAgICAgICAgIHdhcm5pbmdzLmZpbHRlcndhcm5pbmdzKCJhbHdheXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZT1yIih0b3xmcm9tKXN0cmluZ1woXCkgaXMgZGVwcmVjYXRlZCIsCkBAIC0xMDM5LDYgKzEwNDEsMTEgQEAKICAgICAgICAgICAgIGEgPSBhcnJheS5hcnJheShzZWxmLnR5cGVjb2RlLCAiZm9vIikKICAgICAgICAgICAgIGEgPSBhcnJheS5hcnJheShzZWxmLnR5cGVjb2RlLCBhcnJheS5hcnJheSgndScsICdmb28nKSkKIAorICAgIEBzdXBwb3J0LmNweXRob25fb25seQorICAgIGRlZiB0ZXN0X29ic29sZXRlX3dyaXRlX2xvY2soc2VsZik6CisgICAgICAgIGZyb20gX3Rlc3RjYXBpIGltcG9ydCBnZXRidWZmZXJfd2l0aF9udWxsX3ZpZXcKKyAgICAgICAgYSA9IGFycmF5LmFycmF5KCdCJywgYiIiKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhCdWZmZXJFcnJvciwgZ2V0YnVmZmVyX3dpdGhfbnVsbF92aWV3LCBhKQogCiBjbGFzcyBTdHJpbmdUZXN0KEJhc2VUZXN0KToKIApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9hc2RsX3BhcnNlci5weSBiL0xpYi90ZXN0L3Rlc3RfYXNkbF9wYXJzZXIucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2E2NDI2YQotLS0gL2Rldi9udWxsCisrKyBiL0xpYi90ZXN0L3Rlc3RfYXNkbF9wYXJzZXIucHkKQEAgLTAsMCArMSwxMjIgQEAKKyIiIlRlc3RzIGZvciB0aGUgYXNkbCBwYXJzZXIgaW4gUGFyc2VyL2FzZGwucHkiIiIKKworaW1wb3J0IGltcG9ydGxpYi5tYWNoaW5lcnkKK2ltcG9ydCBvcworZnJvbSBvcy5wYXRoIGltcG9ydCBkaXJuYW1lCitpbXBvcnQgc3lzCitpbXBvcnQgc3lzY29uZmlnCitpbXBvcnQgdW5pdHRlc3QKKworCisjIFRoaXMgdGVzdCBpcyBvbmx5IHJlbGV2YW50IGZvciBmcm9tLXNvdXJjZSBidWlsZHMgb2YgUHl0aG9uLgoraWYgbm90IHN5c2NvbmZpZy5pc19weXRob25fYnVpbGQoKToKKyAgICByYWlzZSB1bml0dGVzdC5Ta2lwVGVzdCgndGVzdCBpcnJlbGV2YW50IGZvciBhbiBpbnN0YWxsZWQgUHl0aG9uJykKKworc3JjX2Jhc2UgPSBkaXJuYW1lKGRpcm5hbWUoZGlybmFtZShfX2ZpbGVfXykpKQorcGFyc2VyX2RpciA9IG9zLnBhdGguam9pbihzcmNfYmFzZSwgJ1BhcnNlcicpCisKKworY2xhc3MgVGVzdEFzZGxQYXJzZXIodW5pdHRlc3QuVGVzdENhc2UpOgorICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBzZXRVcENsYXNzKGNscyk6CisgICAgICAgICMgTG9hZHMgdGhlIGFzZGwgbW9kdWxlIGR5bmFtaWNhbGx5LCBzaW5jZSBpdCdzIG5vdCBpbiBhIHJlYWwgaW1wb3J0YWJsZQorICAgICAgICAjIHBhY2thZ2UuCisgICAgICAgICMgUGFyc2VzIFB5dGhvbi5hc2RsIGludG8gYSBhc3QuTW9kdWxlIGFuZCBydW4gdGhlIGNoZWNrIG9uIGl0LgorICAgICAgICAjIFRoZXJlJ3Mgbm8gbmVlZCB0byBkbyB0aGlzIGZvciBlYWNoIHRlc3QgbWV0aG9kLCBoZW5jZSBzZXRVcENsYXNzLgorICAgICAgICBzeXMucGF0aC5pbnNlcnQoMCwgcGFyc2VyX2RpcikKKyAgICAgICAgbG9hZGVyID0gaW1wb3J0bGliLm1hY2hpbmVyeS5Tb3VyY2VGaWxlTG9hZGVyKAorICAgICAgICAgICAgICAgICdhc2RsJywgb3MucGF0aC5qb2luKHBhcnNlcl9kaXIsICdhc2RsLnB5JykpCisgICAgICAgIGNscy5hc2RsID0gbG9hZGVyLmxvYWRfbW9kdWxlKCkKKyAgICAgICAgY2xzLm1vZCA9IGNscy5hc2RsLnBhcnNlKG9zLnBhdGguam9pbihwYXJzZXJfZGlyLCAnUHl0aG9uLmFzZGwnKSkKKyAgICAgICAgY2xzLmFzc2VydFRydWUoY2xzLmFzZGwuY2hlY2soY2xzLm1vZCksICdNb2R1bGUgdmFsaWRhdGlvbiBmYWlsZWQnKQorCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIHRlYXJEb3duQ2xhc3MoY2xzKToKKyAgICAgICAgZGVsIHN5cy5wYXRoWzBdCisKKyAgICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAgICMgYWxpYXMgc3R1ZmYgZnJvbSB0aGUgY2xhc3MsIGZvciBjb252ZW5pZW5jZQorICAgICAgICBzZWxmLmFzZGwgPSBUZXN0QXNkbFBhcnNlci5hc2RsCisgICAgICAgIHNlbGYubW9kID0gVGVzdEFzZGxQYXJzZXIubW9kCisgICAgICAgIHNlbGYudHlwZXMgPSBzZWxmLm1vZC50eXBlcworCisgICAgZGVmIHRlc3RfbW9kdWxlKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYubW9kLm5hbWUsICdQeXRob24nKQorICAgICAgICBzZWxmLmFzc2VydEluKCdzdG10Jywgc2VsZi50eXBlcykKKyAgICAgICAgc2VsZi5hc3NlcnRJbignZXhwcicsIHNlbGYudHlwZXMpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ21vZCcsIHNlbGYudHlwZXMpCisKKyAgICBkZWYgdGVzdF9kZWZpbml0aW9ucyhzZWxmKToKKyAgICAgICAgZGVmcyA9IHNlbGYubW9kLmRmbnMKKyAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKGRlZnNbMF0sIHNlbGYuYXNkbC5UeXBlKQorICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UoZGVmc1swXS52YWx1ZSwgc2VsZi5hc2RsLlN1bSkKKworICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2Uoc2VsZi50eXBlc1snd2l0aGl0ZW0nXSwgc2VsZi5hc2RsLlByb2R1Y3QpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShzZWxmLnR5cGVzWydhbGlhcyddLCBzZWxmLmFzZGwuUHJvZHVjdCkKKworICAgIGRlZiB0ZXN0X3Byb2R1Y3Qoc2VsZik6CisgICAgICAgIGFsaWFzID0gc2VsZi50eXBlc1snYWxpYXMnXQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgc3RyKGFsaWFzKSwKKyAgICAgICAgICAgICdQcm9kdWN0KFtGaWVsZChpZGVudGlmaWVyLCBuYW1lKSwgRmllbGQoaWRlbnRpZmllciwgYXNuYW1lLCBvcHQ9VHJ1ZSldKScpCisKKyAgICBkZWYgdGVzdF9hdHRyaWJ1dGVzKHNlbGYpOgorICAgICAgICBzdG10ID0gc2VsZi50eXBlc1snc3RtdCddCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHN0bXQuYXR0cmlidXRlcyksIDIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKHN0bXQuYXR0cmlidXRlc1swXSksICdGaWVsZChpbnQsIGxpbmVubyknKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cihzdG10LmF0dHJpYnV0ZXNbMV0pLCAnRmllbGQoaW50LCBjb2xfb2Zmc2V0KScpCisKKyAgICBkZWYgdGVzdF9jb25zdHJ1Y3Rvcl9maWVsZHMoc2VsZik6CisgICAgICAgIGVoYW5kbGVyID0gc2VsZi50eXBlc1snZXhjZXB0aGFuZGxlciddCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGVoYW5kbGVyLnR5cGVzKSwgMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oZWhhbmRsZXIuYXR0cmlidXRlcyksIDIpCisKKyAgICAgICAgY29ucyA9IGVoYW5kbGVyLnR5cGVzWzBdCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShjb25zLCBzZWxmLmFzZGwuQ29uc3RydWN0b3IpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGNvbnMuZmllbGRzKSwgMykKKworICAgICAgICBmMCA9IGNvbnMuZmllbGRzWzBdCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZjAudHlwZSwgJ2V4cHInKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYwLm5hbWUsICd0eXBlJykKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGYwLm9wdCkKKworICAgICAgICBmMSA9IGNvbnMuZmllbGRzWzFdCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZjEudHlwZSwgJ2lkZW50aWZpZXInKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYxLm5hbWUsICduYW1lJykKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGYxLm9wdCkKKworICAgICAgICBmMiA9IGNvbnMuZmllbGRzWzJdCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZjIudHlwZSwgJ3N0bXQnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYyLm5hbWUsICdib2R5JykKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShmMi5vcHQpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShmMi5zZXEpCisKKyAgICBkZWYgdGVzdF92aXNpdG9yKHNlbGYpOgorICAgICAgICBjbGFzcyBDdXN0b21WaXNpdG9yKHNlbGYuYXNkbC5WaXNpdG9yQmFzZSk6CisgICAgICAgICAgICBkZWYgX19pbml0X18oc2VsZik6CisgICAgICAgICAgICAgICAgc3VwZXIoKS5fX2luaXRfXygpCisgICAgICAgICAgICAgICAgc2VsZi5uYW1lc193aXRoX3NlcSA9IFtdCisKKyAgICAgICAgICAgIGRlZiB2aXNpdE1vZHVsZShzZWxmLCBtb2QpOgorICAgICAgICAgICAgICAgIGZvciBkZm4gaW4gbW9kLmRmbnM6CisgICAgICAgICAgICAgICAgICAgIHNlbGYudmlzaXQoZGZuKQorCisgICAgICAgICAgICBkZWYgdmlzaXRUeXBlKHNlbGYsIHR5cGUpOgorICAgICAgICAgICAgICAgIHNlbGYudmlzaXQodHlwZS52YWx1ZSkKKworICAgICAgICAgICAgZGVmIHZpc2l0U3VtKHNlbGYsIHN1bSk6CisgICAgICAgICAgICAgICAgZm9yIHQgaW4gc3VtLnR5cGVzOgorICAgICAgICAgICAgICAgICAgICBzZWxmLnZpc2l0KHQpCisKKyAgICAgICAgICAgIGRlZiB2aXNpdENvbnN0cnVjdG9yKHNlbGYsIGNvbnMpOgorICAgICAgICAgICAgICAgIGZvciBmIGluIGNvbnMuZmllbGRzOgorICAgICAgICAgICAgICAgICAgICBpZiBmLnNlcToKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubmFtZXNfd2l0aF9zZXEuYXBwZW5kKGNvbnMubmFtZSkKKworICAgICAgICB2ID0gQ3VzdG9tVmlzaXRvcigpCisgICAgICAgIHYudmlzaXQoc2VsZi50eXBlc1snbW9kJ10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodi5uYW1lc193aXRoX3NlcSwgWydNb2R1bGUnLCAnSW50ZXJhY3RpdmUnLCAnU3VpdGUnXSkKKworCitpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorICAgIHVuaXR0ZXN0Lm1haW4oKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9hc3luY2hhdC5weSBiL0xpYi90ZXN0L3Rlc3RfYXN5bmNoYXQucHkKaW5kZXggMmRjOWQwYy4uM2EzM2ZjOCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9hc3luY2hhdC5weQorKysgYi9MaWIvdGVzdC90ZXN0X2FzeW5jaGF0LnB5CkBAIC0xMiw2ICsxMiw3IEBACiBpbXBvcnQgc3lzCiBpbXBvcnQgdGltZQogaW1wb3J0IHVuaXR0ZXN0CitpbXBvcnQgd2FybmluZ3MKIGltcG9ydCB1bml0dGVzdC5tb2NrCiB0cnk6CiAgICAgaW1wb3J0IHRocmVhZGluZwpAQCAtMzgsNyArMzksNyBAQAogICAgICAgICAgICAgc2VsZi5zdGFydF9yZXNlbmRfZXZlbnQgPSBOb25lCiAKICAgICAgICAgZGVmIHJ1bihzZWxmKToKLSAgICAgICAgICAgIHNlbGYuc29jay5saXN0ZW4oMSkKKyAgICAgICAgICAgIHNlbGYuc29jay5saXN0ZW4oKQogICAgICAgICAgICAgc2VsZi5ldmVudC5zZXQoKQogICAgICAgICAgICAgY29ubiwgY2xpZW50ID0gc2VsZi5zb2NrLmFjY2VwdCgpCiAgICAgICAgICAgICBzZWxmLmJ1ZmZlciA9IGIiIgpAQCAtMjk4LDcgKzI5OSwxMCBAQAogCiBjbGFzcyBUZXN0Rmlmbyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIHRlc3RfYmFzaWMoc2VsZik6Ci0gICAgICAgIGYgPSBhc3luY2hhdC5maWZvKCkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFdhcm5zKERlcHJlY2F0aW9uV2FybmluZykgYXMgY206CisgICAgICAgICAgICBmID0gYXN5bmNoYXQuZmlmbygpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGNtLndhcm5pbmcpLAorICAgICAgICAgICAgICAgICAgICAgICAgICJmaWZvIGNsYXNzIHdpbGwgYmUgcmVtb3ZlZCBpbiBQeXRob24gMy42IikKICAgICAgICAgZi5wdXNoKDcpCiAgICAgICAgIGYucHVzaChiJ2EnKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihmKSwgMikKQEAgLTMxMyw3ICszMTcsMTAgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmLnBvcCgpLCAoMCwgTm9uZSkpCiAKICAgICBkZWYgdGVzdF9naXZlbl9saXN0KHNlbGYpOgotICAgICAgICBmID0gYXN5bmNoYXQuZmlmbyhbYid4JywgMTcsIDNdKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0V2FybnMoRGVwcmVjYXRpb25XYXJuaW5nKSBhcyBjbToKKyAgICAgICAgICAgIGYgPSBhc3luY2hhdC5maWZvKFtiJ3gnLCAxNywgM10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGNtLndhcm5pbmcpLAorICAgICAgICAgICAgICAgICAgICAgICAgICJmaWZvIGNsYXNzIHdpbGwgYmUgcmVtb3ZlZCBpbiBQeXRob24gMy42IikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oZiksIDMpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZi5wb3AoKSwgKDEsIGIneCcpKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYucG9wKCksICgxLCAxNykpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2FzeW5jb3JlLnB5IGIvTGliL3Rlc3QvdGVzdF9hc3luY29yZS5weQppbmRleCBkNDQ3MjZkLi4zODU3OTE2IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2FzeW5jb3JlLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfYXN5bmNvcmUucHkKQEAgLTcsNyArNyw2IEBACiBpbXBvcnQgdGltZQogaW1wb3J0IGVycm5vCiBpbXBvcnQgc3RydWN0Ci1pbXBvcnQgd2FybmluZ3MKIAogZnJvbSB0ZXN0IGltcG9ydCBzdXBwb3J0CiBmcm9tIGlvIGltcG9ydCBCeXRlc0lPCkBAIC02NSw3ICs2NCw3IEBACiAjIHVzZWQgd2hlbiB0ZXN0aW5nIHNlbmRlcnM7IGp1c3QgY29sbGVjdHMgd2hhdCBpdCBnZXRzIHVudGlsIG5ld2xpbmUgaXMgc2VudAogZGVmIGNhcHR1cmVfc2VydmVyKGV2dCwgYnVmLCBzZXJ2KToKICAgICB0cnk6Ci0gICAgICAgIHNlcnYubGlzdGVuKDUpCisgICAgICAgIHNlcnYubGlzdGVuKCkKICAgICAgICAgY29ubiwgYWRkciA9IHNlcnYuYWNjZXB0KCkKICAgICBleGNlcHQgc29ja2V0LnRpbWVvdXQ6CiAgICAgICAgIHBhc3MKQEAgLTI5OCwyMyArMjk3LDYgQEAKICAgICAgICAgICAgICAgICAgICAgJ3dhcm5pbmc6IHVuaGFuZGxlZCBjb25uZWN0IGV2ZW50J10KICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaW5lcywgZXhwZWN0ZWQpCiAKLSAgICBkZWYgdGVzdF9pc3N1ZV84NTk0KHNlbGYpOgotICAgICAgICAjIFhYWCAtIHRoaXMgdGVzdCBpcyBzdXBwb3NlZCB0byBiZSByZW1vdmVkIGluIG5leHQgbWFqb3IgUHl0aG9uCi0gICAgICAgICMgdmVyc2lvbgotICAgICAgICBkID0gYXN5bmNvcmUuZGlzcGF0Y2hlcihzb2NrZXQuc29ja2V0KCkpCi0gICAgICAgICMgbWFrZSBzdXJlIHRoZSBlcnJvciBtZXNzYWdlIG5vIGxvbmdlciByZWZlcnMgdG8gdGhlIHNvY2tldAotICAgICAgICAjIG9iamVjdCBidXQgdGhlIGRpc3BhdGNoZXIgaW5zdGFuY2UgaW5zdGVhZAotICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KEF0dHJpYnV0ZUVycm9yLCAnZGlzcGF0Y2hlciBpbnN0YW5jZScsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0YXR0ciwgZCwgJ2ZvbycpCi0gICAgICAgICMgY2hlYXAgaW5oZXJpdGFuY2Ugd2l0aCB0aGUgdW5kZXJseWluZyBzb2NrZXQgaXMgc3VwcG9zZWQKLSAgICAgICAgIyB0byBzdGlsbCB3b3JrIGJ1dCBhIERlcHJlY2F0aW9uV2FybmluZyBpcyBleHBlY3RlZAotICAgICAgICB3aXRoIHdhcm5pbmdzLmNhdGNoX3dhcm5pbmdzKHJlY29yZD1UcnVlKSBhcyB3OgotICAgICAgICAgICAgd2FybmluZ3Muc2ltcGxlZmlsdGVyKCJhbHdheXMiKQotICAgICAgICAgICAgZmFtaWx5ID0gZC5mYW1pbHkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZmFtaWx5LCBzb2NrZXQuQUZfSU5FVCkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHcpLCAxKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzc3ViY2xhc3Mod1swXS5jYXRlZ29yeSwgRGVwcmVjYXRpb25XYXJuaW5nKSkKLQogICAgIGRlZiB0ZXN0X3N0cmVycm9yKHNlbGYpOgogICAgICAgICAjIHJlZmVycyB0byBidWcgIzg1NzMKICAgICAgICAgZXJyID0gYXN5bmNvcmUuX3N0cmVycm9yKGVycm5vLkVQRVJNKQpAQCAtMzMxLDkgKzMxMyw4IEBACiAgICAgZGVmIGhhbmRsZV9jb25uZWN0KHNlbGYpOgogICAgICAgICBwYXNzCiAKLWNsYXNzIERpc3BhdGNoZXJXaXRoU2VuZFRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICB1c2Vwb2xsID0gRmFsc2UKIAorY2xhc3MgRGlzcGF0Y2hlcldpdGhTZW5kVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGRlZiBzZXRVcChzZWxmKToKICAgICAgICAgcGFzcwogCkBAIC0zODMsMTAgKzM2NCw2IEBACiAgICAgICAgICAgICAgICAgc2VsZi5mYWlsKCJqb2luKCkgdGltZWQgb3V0IikKIAogCi0KLWNsYXNzIERpc3BhdGNoZXJXaXRoU2VuZFRlc3RzX1VzZVBvbGwoRGlzcGF0Y2hlcldpdGhTZW5kVGVzdHMpOgotICAgIHVzZXBvbGwgPSBUcnVlCi0KIEB1bml0dGVzdC5za2lwVW5sZXNzKGhhc2F0dHIoYXN5bmNvcmUsICdmaWxlX3dyYXBwZXInKSwKICAgICAgICAgICAgICAgICAgICAgICdhc3luY29yZS5maWxlX3dyYXBwZXIgcmVxdWlyZWQnKQogY2xhc3MgRmlsZVdyYXBwZXJUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfYXVnYXNzaWduLnB5IGIvTGliL3Rlc3QvdGVzdF9hdWdhc3NpZ24ucHkKaW5kZXggOWE1OWM1OC4uMTliNzY4NyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9hdWdhc3NpZ24ucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9hdWdhc3NpZ24ucHkKQEAgLTEzNiw2ICsxMzYsMTQgQEAKICAgICAgICAgICAgICAgICBvdXRwdXQuYXBwZW5kKCJfX2ltdWxfXyBjYWxsZWQiKQogICAgICAgICAgICAgICAgIHJldHVybiBzZWxmCiAKKyAgICAgICAgICAgIGRlZiBfX21hdG11bF9fKHNlbGYsIHZhbCk6CisgICAgICAgICAgICAgICAgb3V0cHV0LmFwcGVuZCgiX19tYXRtdWxfXyBjYWxsZWQiKQorICAgICAgICAgICAgZGVmIF9fcm1hdG11bF9fKHNlbGYsIHZhbCk6CisgICAgICAgICAgICAgICAgb3V0cHV0LmFwcGVuZCgiX19ybWF0bXVsX18gY2FsbGVkIikKKyAgICAgICAgICAgIGRlZiBfX2ltYXRtdWxfXyhzZWxmLCB2YWwpOgorICAgICAgICAgICAgICAgIG91dHB1dC5hcHBlbmQoIl9faW1hdG11bF9fIGNhbGxlZCIpCisgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYKKwogICAgICAgICAgICAgZGVmIF9fZGl2X18oc2VsZiwgdmFsKToKICAgICAgICAgICAgICAgICBvdXRwdXQuYXBwZW5kKCJfX2Rpdl9fIGNhbGxlZCIpCiAgICAgICAgICAgICBkZWYgX19yZGl2X18oc2VsZiwgdmFsKToKQEAgLTIzMyw2ICsyNDEsMTAgQEAKICAgICAgICAgMSAqIHgKICAgICAgICAgeCAqPSAxCiAKKyAgICAgICAgeCBAIDEKKyAgICAgICAgMSBAIHgKKyAgICAgICAgeCBAPSAxCisKICAgICAgICAgeCAvIDEKICAgICAgICAgMSAvIHgKICAgICAgICAgeCAvPSAxCkBAIC0yNzksNiArMjkxLDkgQEAKIF9fbXVsX18gY2FsbGVkCiBfX3JtdWxfXyBjYWxsZWQKIF9faW11bF9fIGNhbGxlZAorX19tYXRtdWxfXyBjYWxsZWQKK19fcm1hdG11bF9fIGNhbGxlZAorX19pbWF0bXVsX18gY2FsbGVkCiBfX3RydWVkaXZfXyBjYWxsZWQKIF9fcnRydWVkaXZfXyBjYWxsZWQKIF9faXRydWVkaXZfXyBjYWxsZWQKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfYnVmZmVyLnB5IGIvTGliL3Rlc3QvdGVzdF9idWZmZXIucHkKaW5kZXggMTY2Nzg0Ny4uMDk3NmZhOSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9idWZmZXIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9idWZmZXIucHkKQEAgLTIxNiw3ICsyMTYsNyBAQAogICAgIGZvciB0IGluIGl0ZXJfbW9kZShuaXRlbXMsIHRlc3RvYmopOgogICAgICAgICB5aWVsZCB0CiAgICAgaWYgdGVzdG9iaiAhPSAnbmRhcnJheSc6Ci0gICAgICAgIHJhaXNlIFN0b3BJdGVyYXRpb24KKyAgICAgICAgcmV0dXJuCiAgICAgeWllbGQgc3RydWN0X2l0ZW1zKG5pdGVtcywgdGVzdG9iaikKIAogCkBAIC0xMDA3LDYgKzEwMDcsNyBAQAogICAgICAgICAjIHNoYXBlLCBzdHJpZGVzLCBvZmZzZXQKICAgICAgICAgc3RydWN0dXJlID0gKAogICAgICAgICAgICAgKFtdLCBbXSwgMCksCisgICAgICAgICAgICAoWzEsMywxXSwgW10sIDApLAogICAgICAgICAgICAgKFsxMl0sIFtdLCAwKSwKICAgICAgICAgICAgIChbMTJdLCBbLTFdLCAxMSksCiAgICAgICAgICAgICAoWzZdLCBbMl0sIDApLApAQCAtMTA3OCw2ICsxMDc5LDE4IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEJ1ZmZlckVycm9yLCBuZGFycmF5LCBleCwgZ2V0YnVmPVB5QlVGX0FOWV9DT05USUdVT1VTKQogICAgICAgICBuZCA9IG5kYXJyYXkoZXgsIGdldGJ1Zj1QeUJVRl9TSU1QTEUpCiAKKyAgICAgICAgIyBJc3N1ZSAjMjI0NDU6IE5ldyBwcmVjaXNlIGNvbnRpZ3VpdHkgZGVmaW5pdGlvbi4KKyAgICAgICAgZm9yIHNoYXBlIGluIFsxLDEyLDFdLCBbNywwLDddOgorICAgICAgICAgICAgZm9yIG9yZGVyIGluIDAsIE5EX0ZPUlRSQU46CisgICAgICAgICAgICAgICAgZXggPSBuZGFycmF5KGl0ZW1zLCBzaGFwZT1zaGFwZSwgZmxhZ3M9b3JkZXJ8TkRfV1JJVEFCTEUpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzX2NvbnRpZ3VvdXMoZXgsICdGJykpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzX2NvbnRpZ3VvdXMoZXgsICdDJykpCisKKyAgICAgICAgICAgICAgICBmb3IgZmxhZ3MgaW4gcmVxdWVzdHM6CisgICAgICAgICAgICAgICAgICAgIG5kID0gbmRhcnJheShleCwgZ2V0YnVmPWZsYWdzKQorICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoaXNfY29udGlndW91cyhuZCwgJ0YnKSkKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzX2NvbnRpZ3VvdXMobmQsICdDJykpCisKICAgICBkZWYgdGVzdF9uZGFycmF5X2V4Y2VwdGlvbnMoc2VsZik6CiAgICAgICAgIG5kID0gbmRhcnJheShbOV0sIFsxXSkKICAgICAgICAgbmRtID0gbmRhcnJheShbOV0sIFsxXSwgZmxhZ3M9TkRfVkFSRVhQT1JUKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9idWlsdGluLnB5IGIvTGliL3Rlc3QvdGVzdF9idWlsdGluLnB5CmluZGV4IDE0MzY2YzYuLjYxNjZkYTUgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfYnVpbHRpbi5weQorKysgYi9MaWIvdGVzdC90ZXN0X2J1aWx0aW4ucHkKQEAgLTMxMiwxMSArMzEyLDExIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgY29tcGlsZSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgY29tcGlsZSwgJ3ByaW50KDQyKVxuJywgJzxzdHJpbmc+JywgJ2JhZG1vZGUnKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBjb21waWxlLCAncHJpbnQoNDIpXG4nLCAnPHN0cmluZz4nLCAnc2luZ2xlJywgMHhmZikKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBjb21waWxlLCBjaHIoMCksICdmJywgJ2V4ZWMnKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBjb21waWxlLCBjaHIoMCksICdmJywgJ2V4ZWMnKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGNvbXBpbGUsICdwYXNzJywgJz8nLCAnZXhlYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGU9J2V2YWwnLCBzb3VyY2U9JzAnLCBmaWxlbmFtZT0ndG1wJykKICAgICAgICAgY29tcGlsZSgncHJpbnQoIlx4ZTUiKVxuJywgJycsICdleGVjJykKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBjb21waWxlLCBjaHIoMCksICdmJywgJ2V4ZWMnKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBjb21waWxlLCBjaHIoMCksICdmJywgJ2V4ZWMnKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBjb21waWxlLCBzdHIoJ2EgPSAxJyksICdmJywgJ2JhZCcpCiAKICAgICAgICAgIyB0ZXN0IHRoZSBvcHRpbWl6ZSBhcmd1bWVudApAQCAtMTA5NCw3ICsxMDk0LDcgQEAKICAgICAgICAgc2VsZi5hc3NlcnRBbG1vc3RFcXVhbChwb3coLTEsIDAuNSksIDFqKQogICAgICAgICBzZWxmLmFzc2VydEFsbW9zdEVxdWFsKHBvdygtMSwgMS8zKSwgMC41ICsgMC44NjYwMjU0MDM3ODQ0Mzg2aikKIAotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHBvdywgLTEsIC0yLCAzKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBwb3csIC0xLCAtMiwgMykKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgcG93LCAxLCAyLCAwKQogCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgcG93KQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9ieXRlcy5weSBiL0xpYi90ZXN0L3Rlc3RfYnl0ZXMucHkKaW5kZXggZTE1ODA3ZS4uYTlmNjRhMCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9ieXRlcy5weQorKysgYi9MaWIvdGVzdC90ZXN0X2J5dGVzLnB5CkBAIC00NjEsNiArNDYxLDI4IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYi5yaW5kZXgoaSwgMywgOSksIDcpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGIucmluZGV4LCB3LCAxLCAzKQogCisgICAgZGVmIHRlc3RfbW9kKHNlbGYpOgorICAgICAgICBiID0gYidoZWxsbywgJWIhJworICAgICAgICBvcmlnID0gYgorICAgICAgICBiID0gYiAlIGInd29ybGQnCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYiwgYidoZWxsbywgd29ybGQhJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvcmlnLCBiJ2hlbGxvLCAlYiEnKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGIgaXMgb3JpZykKKyAgICAgICAgYiA9IGInJXMgLyAxMDAgPSAlZCUlJworICAgICAgICBhID0gYiAlIChiJ3NldmVudHktbmluZScsIDc5KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGEsIGInc2V2ZW50eS1uaW5lIC8gMTAwID0gNzklJykKKworICAgIGRlZiB0ZXN0X2ltb2Qoc2VsZik6CisgICAgICAgIGIgPSBiJ2hlbGxvLCAlYiEnCisgICAgICAgIG9yaWcgPSBiCisgICAgICAgIGIgJT0gYid3b3JsZCcKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiLCBiJ2hlbGxvLCB3b3JsZCEnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9yaWcsIGInaGVsbG8sICViIScpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoYiBpcyBvcmlnKQorICAgICAgICBiID0gYiclcyAvIDEwMCA9ICVkJSUnCisgICAgICAgIGIgJT0gKGInc2V2ZW50eS1uaW5lJywgNzkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYiwgYidzZXZlbnR5LW5pbmUgLyAxMDAgPSA3OSUnKQorCiAgICAgZGVmIHRlc3RfcmVwbGFjZShzZWxmKToKICAgICAgICAgYiA9IHNlbGYudHlwZTJ0ZXN0KGInbWlzc2lzc2lwcGknKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGIucmVwbGFjZShiJ2knLCBiJ2EnKSwgYidtYXNzYXNzYXBwYScpCkBAIC03MjIsNiArNzQ0LDExIEBACiBjbGFzcyBCeXRlc1Rlc3QoQmFzZUJ5dGVzVGVzdCwgdW5pdHRlc3QuVGVzdENhc2UpOgogICAgIHR5cGUydGVzdCA9IGJ5dGVzCiAKKyAgICBkZWYgdGVzdF9nZXRpdGVtX2Vycm9yKHNlbGYpOgorICAgICAgICBtc2cgPSAiYnl0ZSBpbmRpY2VzIG11c3QgYmUgaW50ZWdlcnMgb3Igc2xpY2VzIgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVHlwZUVycm9yLCBtc2cpOgorICAgICAgICAgICAgYidweXRob24nWydhJ10KKwogICAgIGRlZiB0ZXN0X2J1ZmZlcl9pc19yZWFkb25seShzZWxmKToKICAgICAgICAgZmQgPSBvcy5vcGVuKF9fZmlsZV9fLCBvcy5PX1JET05MWSkKICAgICAgICAgd2l0aCBvcGVuKGZkLCAicmIiLCBidWZmZXJpbmc9MCkgYXMgZjoKQEAgLTc3Niw2ICs4MDMsMTcgQEAKIGNsYXNzIEJ5dGVBcnJheVRlc3QoQmFzZUJ5dGVzVGVzdCwgdW5pdHRlc3QuVGVzdENhc2UpOgogICAgIHR5cGUydGVzdCA9IGJ5dGVhcnJheQogCisgICAgZGVmIHRlc3RfZ2V0aXRlbV9lcnJvcihzZWxmKToKKyAgICAgICAgbXNnID0gImJ5dGVhcnJheSBpbmRpY2VzIG11c3QgYmUgaW50ZWdlcnMgb3Igc2xpY2VzIgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVHlwZUVycm9yLCBtc2cpOgorICAgICAgICAgICAgYnl0ZWFycmF5KGIncHl0aG9uJylbJ2EnXQorCisgICAgZGVmIHRlc3Rfc2V0aXRlbV9lcnJvcihzZWxmKToKKyAgICAgICAgbXNnID0gImJ5dGVhcnJheSBpbmRpY2VzIG11c3QgYmUgaW50ZWdlcnMgb3Igc2xpY2VzIgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVHlwZUVycm9yLCBtc2cpOgorICAgICAgICAgICAgYiA9IGJ5dGVhcnJheShiJ3B5dGhvbicpCisgICAgICAgICAgICBiWydhJ10gPSAicHl0aG9uIgorCiAgICAgZGVmIHRlc3Rfbm9oYXNoKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGhhc2gsIGJ5dGVhcnJheSgpKQogCkBAIC05NzQsNiArMTAxMiwyOCBAQAogICAgICAgICBiWzg6XSA9IGIKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiLCBieXRlYXJyYXkobGlzdChyYW5nZSg4KSkgKyBsaXN0KHJhbmdlKDI1NikpKSkKIAorICAgIGRlZiB0ZXN0X21vZChzZWxmKToKKyAgICAgICAgYiA9IGJ5dGVhcnJheShiJ2hlbGxvLCAlYiEnKQorICAgICAgICBvcmlnID0gYgorICAgICAgICBiID0gYiAlIGInd29ybGQnCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYiwgYidoZWxsbywgd29ybGQhJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvcmlnLCBieXRlYXJyYXkoYidoZWxsbywgJWIhJykpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoYiBpcyBvcmlnKQorICAgICAgICBiID0gYnl0ZWFycmF5KGInJXMgLyAxMDAgPSAlZCUlJykKKyAgICAgICAgYSA9IGIgJSAoYidzZXZlbnR5LW5pbmUnLCA3OSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhLCBieXRlYXJyYXkoYidzZXZlbnR5LW5pbmUgLyAxMDAgPSA3OSUnKSkKKworICAgIGRlZiB0ZXN0X2ltb2Qoc2VsZik6CisgICAgICAgIGIgPSBieXRlYXJyYXkoYidoZWxsbywgJWIhJykKKyAgICAgICAgb3JpZyA9IGIKKyAgICAgICAgYiAlPSBiJ3dvcmxkJworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGIsIGInaGVsbG8sIHdvcmxkIScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3JpZywgYnl0ZWFycmF5KGInaGVsbG8sICViIScpKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGIgaXMgb3JpZykKKyAgICAgICAgYiA9IGJ5dGVhcnJheShiJyVzIC8gMTAwID0gJWQlJScpCisgICAgICAgIGIgJT0gKGInc2V2ZW50eS1uaW5lJywgNzkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYiwgYnl0ZWFycmF5KGInc2V2ZW50eS1uaW5lIC8gMTAwID0gNzklJykpCisKICAgICBkZWYgdGVzdF9pY29uY2F0KHNlbGYpOgogICAgICAgICBiID0gYnl0ZWFycmF5KGIiYWJjIikKICAgICAgICAgYjEgPSBiCkBAIC0xMTY0LDYgKzEyMjQsMTAgQEAKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQnVmZmVyRXJyb3IsIGRlbHNsaWNlKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGIsIG9yaWcpCiAKKyAgICBAdGVzdC5zdXBwb3J0LmNweXRob25fb25seQorICAgIGRlZiB0ZXN0X29ic29sZXRlX3dyaXRlX2xvY2soc2VsZik6CisgICAgICAgIGZyb20gX3Rlc3RjYXBpIGltcG9ydCBnZXRidWZmZXJfd2l0aF9udWxsX3ZpZXcKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQnVmZmVyRXJyb3IsIGdldGJ1ZmZlcl93aXRoX251bGxfdmlldywgYnl0ZWFycmF5KCkpCiAKIGNsYXNzIEFzc29ydGVkQnl0ZXNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAjCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2NhcGkucHkgYi9MaWIvdGVzdC90ZXN0X2NhcGkucHkKaW5kZXggYmE3YzM4ZC4uZGU4ZDY1YSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9jYXBpLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfY2FwaS5weQpAQCAtMTUwLDYgKzE1MCwyMyBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKF90ZXN0Y2FwaS5kb2NzdHJpbmdfd2l0aF9zaWduYXR1cmVfYW5kX2V4dHJhX25ld2xpbmVzLl9fdGV4dF9zaWduYXR1cmVfXywKICAgICAgICAgICAgICIoJG1vZHVsZSwgLywgcGFyYW1ldGVyKSIpCiAKKyAgICBkZWYgdGVzdF9jX3R5cGVfd2l0aF9tYXRyaXhfbXVsdGlwbGljYXRpb24oc2VsZik6CisgICAgICAgIE0gPSBfdGVzdGNhcGkubWF0bXVsVHlwZQorICAgICAgICBtMSA9IE0oKQorICAgICAgICBtMiA9IE0oKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG0xIEAgbTIsICgibWF0bXVsIiwgbTEsIG0yKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtMSBAIDQyLCAoIm1hdG11bCIsIG0xLCA0MikpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoNDIgQCBtMSwgKCJtYXRtdWwiLCA0MiwgbTEpKQorICAgICAgICBvID0gbTEKKyAgICAgICAgbyBAPSBtMgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG8sICgiaW1hdG11bCIsIG0xLCBtMikpCisgICAgICAgIG8gPSBtMQorICAgICAgICBvIEA9IDQyCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobywgKCJpbWF0bXVsIiwgbTEsIDQyKSkKKyAgICAgICAgbyA9IDQyCisgICAgICAgIG8gQD0gbTEKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvLCAoIm1hdG11bCIsIDQyLCBtMSkpCisKIAogQHVuaXR0ZXN0LnNraXBVbmxlc3ModGhyZWFkaW5nLCAnVGhyZWFkaW5nIHJlcXVpcmVkIGZvciB0aGlzIHRlc3QuJykKIGNsYXNzIFRlc3RQZW5kaW5nQ2FsbHModW5pdHRlc3QuVGVzdENhc2UpOgpAQCAtMjY4LDcgKzI4NSw3IEBACiAgICAgICAgICAgICBleGVuYW1lICs9IGV4dAogICAgICAgICAgICAgZXhlcGF0aCA9IG9zLnBhdGguZGlybmFtZShzeXMuZXhlY3V0YWJsZSkKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGV4ZXBhdGggPSBvcy5wYXRoLmpvaW4oYmFzZXBhdGgsICJNb2R1bGVzIikKKyAgICAgICAgICAgIGV4ZXBhdGggPSBvcy5wYXRoLmpvaW4oYmFzZXBhdGgsICJQcm9ncmFtcyIpCiAgICAgICAgIHNlbGYudGVzdF9leGUgPSBleGUgPSBvcy5wYXRoLmpvaW4oZXhlcGF0aCwgZXhlbmFtZSkKICAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKGV4ZSk6CiAgICAgICAgICAgICBzZWxmLnNraXBUZXN0KCIlciBkb2Vzbid0IGV4aXN0IiAlIGV4ZSkKQEAgLTI4NywxMiArMzA0LDEzIEBACiAgICAgICAgIGNtZC5leHRlbmQoYXJncykKICAgICAgICAgcCA9IHN1YnByb2Nlc3MuUG9wZW4oY21kLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRlcnI9c3VicHJvY2Vzcy5QSVBFKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRlcnI9c3VicHJvY2Vzcy5QSVBFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bml2ZXJzYWxfbmV3bGluZXM9VHJ1ZSkKICAgICAgICAgKG91dCwgZXJyKSA9IHAuY29tbXVuaWNhdGUoKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHAucmV0dXJuY29kZSwgMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAiYmFkIHJldHVybmNvZGUgJWQsIHN0ZGVyciBpcyAlciIgJQogICAgICAgICAgICAgICAgICAgICAgICAgIChwLnJldHVybmNvZGUsIGVycikpCi0gICAgICAgIHJldHVybiBvdXQuZGVjb2RlKCJsYXRpbjEiKSwgZXJyLmRlY29kZSgibGF0aW4xIikKKyAgICAgICAgcmV0dXJuIG91dCwgZXJyCiAKICAgICBkZWYgdGVzdF9zdWJpbnRlcnBzKHNlbGYpOgogICAgICAgICAjIFRoaXMgaXMganVzdCBhICJkb24ndCBjcmFzaCIgdGVzdApAQCAtMzE5LDM0ICszMzcsMzggQEAKICAgICAgICAgICAgIHByaW50KCkKICAgICAgICAgICAgIHByaW50KG91dCkKICAgICAgICAgICAgIHByaW50KGVycikKKyAgICAgICAgZXhwZWN0ZWRfZXJyb3JzID0gc3lzLl9fc3Rkb3V0X18uZXJyb3JzCiAgICAgICAgIGV4cGVjdGVkX3N0ZGluX2VuY29kaW5nID0gc3lzLl9fc3RkaW5fXy5lbmNvZGluZwogICAgICAgICBleHBlY3RlZF9waXBlX2VuY29kaW5nID0gc2VsZi5fZ2V0X2RlZmF1bHRfcGlwZV9lbmNvZGluZygpCi0gICAgICAgIGV4cGVjdGVkX291dHB1dCA9IG9zLmxpbmVzZXAuam9pbihbCisgICAgICAgIGV4cGVjdGVkX291dHB1dCA9ICdcbicuam9pbihbCiAgICAgICAgICItLS0gVXNlIGRlZmF1bHRzIC0tLSIsCiAgICAgICAgICJFeHBlY3RlZCBlbmNvZGluZzogZGVmYXVsdCIsCiAgICAgICAgICJFeHBlY3RlZCBlcnJvcnM6IGRlZmF1bHQiLAotICAgICAgICAic3RkaW46IHswfTpzdHJpY3QiLAotICAgICAgICAic3Rkb3V0OiB7MX06c3RyaWN0IiwKLSAgICAgICAgInN0ZGVycjogezF9OmJhY2tzbGFzaHJlcGxhY2UiLAorICAgICAgICAic3RkaW46IHtpbl9lbmNvZGluZ306e2Vycm9yc30iLAorICAgICAgICAic3Rkb3V0OiB7b3V0X2VuY29kaW5nfTp7ZXJyb3JzfSIsCisgICAgICAgICJzdGRlcnI6IHtvdXRfZW5jb2Rpbmd9OmJhY2tzbGFzaHJlcGxhY2UiLAogICAgICAgICAiLS0tIFNldCBlcnJvcnMgb25seSAtLS0iLAogICAgICAgICAiRXhwZWN0ZWQgZW5jb2Rpbmc6IGRlZmF1bHQiLAotICAgICAgICAiRXhwZWN0ZWQgZXJyb3JzOiBzdXJyb2dhdGVlc2NhcGUiLAotICAgICAgICAic3RkaW46IHswfTpzdXJyb2dhdGVlc2NhcGUiLAotICAgICAgICAic3Rkb3V0OiB7MX06c3Vycm9nYXRlZXNjYXBlIiwKLSAgICAgICAgInN0ZGVycjogezF9OmJhY2tzbGFzaHJlcGxhY2UiLAorICAgICAgICAiRXhwZWN0ZWQgZXJyb3JzOiBpZ25vcmUiLAorICAgICAgICAic3RkaW46IHtpbl9lbmNvZGluZ306aWdub3JlIiwKKyAgICAgICAgInN0ZG91dDoge291dF9lbmNvZGluZ306aWdub3JlIiwKKyAgICAgICAgInN0ZGVycjoge291dF9lbmNvZGluZ306YmFja3NsYXNocmVwbGFjZSIsCiAgICAgICAgICItLS0gU2V0IGVuY29kaW5nIG9ubHkgLS0tIiwKICAgICAgICAgIkV4cGVjdGVkIGVuY29kaW5nOiBsYXRpbi0xIiwKICAgICAgICAgIkV4cGVjdGVkIGVycm9yczogZGVmYXVsdCIsCi0gICAgICAgICJzdGRpbjogbGF0aW4tMTpzdHJpY3QiLAotICAgICAgICAic3Rkb3V0OiBsYXRpbi0xOnN0cmljdCIsCisgICAgICAgICJzdGRpbjogbGF0aW4tMTp7ZXJyb3JzfSIsCisgICAgICAgICJzdGRvdXQ6IGxhdGluLTE6e2Vycm9yc30iLAogICAgICAgICAic3RkZXJyOiBsYXRpbi0xOmJhY2tzbGFzaHJlcGxhY2UiLAogICAgICAgICAiLS0tIFNldCBlbmNvZGluZyBhbmQgZXJyb3JzIC0tLSIsCiAgICAgICAgICJFeHBlY3RlZCBlbmNvZGluZzogbGF0aW4tMSIsCi0gICAgICAgICJFeHBlY3RlZCBlcnJvcnM6IHN1cnJvZ2F0ZWVzY2FwZSIsCi0gICAgICAgICJzdGRpbjogbGF0aW4tMTpzdXJyb2dhdGVlc2NhcGUiLAotICAgICAgICAic3Rkb3V0OiBsYXRpbi0xOnN1cnJvZ2F0ZWVzY2FwZSIsCi0gICAgICAgICJzdGRlcnI6IGxhdGluLTE6YmFja3NsYXNocmVwbGFjZSJdKS5mb3JtYXQoZXhwZWN0ZWRfc3RkaW5fZW5jb2RpbmcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWRfcGlwZV9lbmNvZGluZykKKyAgICAgICAgIkV4cGVjdGVkIGVycm9yczogcmVwbGFjZSIsCisgICAgICAgICJzdGRpbjogbGF0aW4tMTpyZXBsYWNlIiwKKyAgICAgICAgInN0ZG91dDogbGF0aW4tMTpyZXBsYWNlIiwKKyAgICAgICAgInN0ZGVycjogbGF0aW4tMTpiYWNrc2xhc2hyZXBsYWNlIl0pCisgICAgICAgIGV4cGVjdGVkX291dHB1dCA9IGV4cGVjdGVkX291dHB1dC5mb3JtYXQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluX2VuY29kaW5nPWV4cGVjdGVkX3N0ZGluX2VuY29kaW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRfZW5jb2Rpbmc9ZXhwZWN0ZWRfcGlwZV9lbmNvZGluZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JzPWV4cGVjdGVkX2Vycm9ycykKICAgICAgICAgIyBUaGlzIGlzIHVzZWZ1bCBpZiB3ZSBldmVyIHRyaXAgb3ZlciBvZGQgcGxhdGZvcm0gYmVoYXZpb3VyCiAgICAgICAgIHNlbGYubWF4RGlmZiA9IE5vbmUKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvdXQuc3RyaXAoKSwgZXhwZWN0ZWRfb3V0cHV0KQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9jZ2kucHkgYi9MaWIvdGVzdC90ZXN0X2NnaS5weQppbmRleCA4NmUxZjNhLi44OWE2ZTg0IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2NnaS5weQorKysgYi9MaWIvdGVzdC90ZXN0X2NnaS5weQpAQCAtMSw0ICsxLDQgQEAKLWZyb20gdGVzdC5zdXBwb3J0IGltcG9ydCBydW5fdW5pdHRlc3QsIGNoZWNrX3dhcm5pbmdzCitmcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgY2hlY2tfd2FybmluZ3MKIGltcG9ydCBjZ2kKIGltcG9ydCBvcwogaW1wb3J0IHN5cwpAQCAtMzA3LDYgKzMwNywxNyBAQAogICAgICAgICAgICAgICAgIGdvdCA9IGdldGF0dHIoZmlsZXNbeF0sIGspCiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChnb3QsIGV4cCkKIAorICAgIGRlZiB0ZXN0X2ZpZWxkc3RvcmFnZV9hc19jb250ZXh0X21hbmFnZXIoc2VsZik6CisgICAgICAgIGZwID0gQnl0ZXNJTyhiJ3gnICogMTApCisgICAgICAgIGVudiA9IHsnUkVRVUVTVF9NRVRIT0QnOiAnUFVUJ30KKyAgICAgICAgd2l0aCBjZ2kuRmllbGRTdG9yYWdlKGZwPWZwLCBlbnZpcm9uPWVudikgYXMgZnM6CisgICAgICAgICAgICBjb250ZW50ID0gZnMuZmlsZS5yZWFkKCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoZnMuZmlsZS5jbG9zZWQpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShmcy5maWxlLmNsb3NlZCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb250ZW50LCAneCcgKiAxMCkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFZhbHVlRXJyb3IsICdJL08gb3BlcmF0aW9uIG9uIGNsb3NlZCBmaWxlJyk6CisgICAgICAgICAgICBmcy5maWxlLnJlYWQoKQorCiAgICAgX3FzX3Jlc3VsdCA9IHsKICAgICAgICAgJ2tleTEnOiAndmFsdWUxJywKICAgICAgICAgJ2tleTInOiBbJ3ZhbHVlMngnLCAndmFsdWUyeSddLApAQCAtNDgxLDkgKzQ5Miw1IEBACiAtLUFhQjAzeC0tCiAiIiIKIAotCi1kZWYgdGVzdF9tYWluKCk6Ci0gICAgcnVuX3VuaXR0ZXN0KENnaVRlc3RzKQotCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgotICAgIHRlc3RfbWFpbigpCisgICAgdW5pdHRlc3QubWFpbigpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2NtZF9saW5lLnB5IGIvTGliL3Rlc3QvdGVzdF9jbWRfbGluZS5weQppbmRleCAzNjgzYTQ4Li5lYmU1NTdlIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2NtZF9saW5lLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfY21kX2xpbmUucHkKQEAgLTQ0MCw3ICs0NDAsNyBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVyci5zcGxpdGxpbmVzKCkuY291bnQoYidVbmtub3duIG9wdGlvbjogLWEnKSwgMSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiJycsIG91dCkKIAotICAgIEB1bml0dGVzdC5za2lwSWYoc2NyaXB0X2hlbHBlci5faW50ZXJwcmV0ZXJfcmVxdWlyZXNfZW52aXJvbm1lbnQoKSwKKyAgICBAdW5pdHRlc3Quc2tpcElmKHNjcmlwdF9oZWxwZXIuaW50ZXJwcmV0ZXJfcmVxdWlyZXNfZW52aXJvbm1lbnQoKSwKICAgICAgICAgICAgICAgICAgICAgICdDYW5ub3QgcnVuIC1JIHRlc3RzIHdoZW4gUFlUSE9OIGVudiB2YXJzIGFyZSByZXF1aXJlZC4nKQogICAgIGRlZiB0ZXN0X2lzb2xhdGVkbW9kZShzZWxmKToKICAgICAgICAgc2VsZi52ZXJpZnlfdmFsaWRfZmxhZygnLUknKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9jb2RlX21vZHVsZS5weSBiL0xpYi90ZXN0L3Rlc3RfY29kZV9tb2R1bGUucHkKaW5kZXggN2E4MGE4MC4uOWIxNzc2NyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9jb2RlX21vZHVsZS5weQorKysgYi9MaWIvdGVzdC90ZXN0X2NvZGVfbW9kdWxlLnB5CkBAIC0xLDYgKzEsNyBAQAogIlRlc3QgSW50ZXJhY3RpdmVDb25zb2xlIGFuZCBJbnRlcmFjdGl2ZUludGVycHJldGVyIGZyb20gY29kZSBtb2R1bGUiCiBpbXBvcnQgc3lzCiBpbXBvcnQgdW5pdHRlc3QKK2Zyb20gdGV4dHdyYXAgaW1wb3J0IGRlZGVudAogZnJvbSBjb250ZXh0bGliIGltcG9ydCBFeGl0U3RhY2sKIGZyb20gdW5pdHRlc3QgaW1wb3J0IG1vY2sKIGZyb20gdGVzdCBpbXBvcnQgc3VwcG9ydApAQCAtNzgsNiArNzksNDAgQEAKICAgICAgICAgc2VsZi5jb25zb2xlLmludGVyYWN0KGJhbm5lcj0nJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oc2VsZi5zdGRlcnIubWV0aG9kX2NhbGxzKSwgMSkKIAorICAgIGRlZiB0ZXN0X2NhdXNlX3RiKHNlbGYpOgorICAgICAgICBzZWxmLmluZnVuYy5zaWRlX2VmZmVjdCA9IFsicmFpc2UgVmFsdWVFcnJvcignJykgZnJvbSBBdHRyaWJ1dGVFcnJvciIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFT0ZFcnJvcignRmluaXNoZWQnKV0KKyAgICAgICAgc2VsZi5jb25zb2xlLmludGVyYWN0KCkKKyAgICAgICAgb3V0cHV0ID0gJycuam9pbignJy5qb2luKGNhbGxbMV0pIGZvciBjYWxsIGluIHNlbGYuc3RkZXJyLm1ldGhvZF9jYWxscykKKyAgICAgICAgZXhwZWN0ZWQgPSBkZWRlbnQoIiIiCisgICAgICAgIEF0dHJpYnV0ZUVycm9yCisKKyAgICAgICAgVGhlIGFib3ZlIGV4Y2VwdGlvbiB3YXMgdGhlIGRpcmVjdCBjYXVzZSBvZiB0aGUgZm9sbG93aW5nIGV4Y2VwdGlvbjoKKworICAgICAgICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CisgICAgICAgICAgRmlsZSAiPGNvbnNvbGU+IiwgbGluZSAxLCBpbiA8bW9kdWxlPgorICAgICAgICBWYWx1ZUVycm9yCisgICAgICAgICIiIikKKyAgICAgICAgc2VsZi5hc3NlcnRJbihleHBlY3RlZCwgb3V0cHV0KQorCisgICAgZGVmIHRlc3RfY29udGV4dF90YihzZWxmKToKKyAgICAgICAgc2VsZi5pbmZ1bmMuc2lkZV9lZmZlY3QgPSBbInRyeTogaGFtXG5leGNlcHQ6IGVnZ3NcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFT0ZFcnJvcignRmluaXNoZWQnKV0KKyAgICAgICAgc2VsZi5jb25zb2xlLmludGVyYWN0KCkKKyAgICAgICAgb3V0cHV0ID0gJycuam9pbignJy5qb2luKGNhbGxbMV0pIGZvciBjYWxsIGluIHNlbGYuc3RkZXJyLm1ldGhvZF9jYWxscykKKyAgICAgICAgZXhwZWN0ZWQgPSBkZWRlbnQoIiIiCisgICAgICAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKKyAgICAgICAgICBGaWxlICI8Y29uc29sZT4iLCBsaW5lIDEsIGluIDxtb2R1bGU+CisgICAgICAgIE5hbWVFcnJvcjogbmFtZSAnaGFtJyBpcyBub3QgZGVmaW5lZAorCisgICAgICAgIER1cmluZyBoYW5kbGluZyBvZiB0aGUgYWJvdmUgZXhjZXB0aW9uLCBhbm90aGVyIGV4Y2VwdGlvbiBvY2N1cnJlZDoKKworICAgICAgICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CisgICAgICAgICAgRmlsZSAiPGNvbnNvbGU+IiwgbGluZSAyLCBpbiA8bW9kdWxlPgorICAgICAgICBOYW1lRXJyb3I6IG5hbWUgJ2VnZ3MnIGlzIG5vdCBkZWZpbmVkCisgICAgICAgICIiIikKKyAgICAgICAgc2VsZi5hc3NlcnRJbihleHBlY3RlZCwgb3V0cHV0KQorCiAKIGRlZiB0ZXN0X21haW4oKToKICAgICBzdXBwb3J0LnJ1bl91bml0dGVzdChUZXN0SW50ZXJhY3RpdmVDb25zb2xlKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9jb2RlY2NhbGxiYWNrcy5weSBiL0xpYi90ZXN0L3Rlc3RfY29kZWNjYWxsYmFja3MucHkKaW5kZXggODQ4MDRiYi4uZTI5YWM1MyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9jb2RlY2NhbGxiYWNrcy5weQorKysgYi9MaWIvdGVzdC90ZXN0X2NvZGVjY2FsbGJhY2tzLnB5CkBAIC0xNTgsNiArMTU4LDIyIEBACiAgICAgICAgIHNvdXQgPSBiImFceGFjXFx1MTIzNFx4YTRcXHU4MDAwXFxVMDAxMGZmZmYiCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2luLmVuY29kZSgiaXNvLTg4NTktMTUiLCAiYmFja3NsYXNocmVwbGFjZSIpLCBzb3V0KQogCisgICAgZGVmIHRlc3RfbmFtZWVzY2FwZShzZWxmKToKKyAgICAgICAgIyBEb2VzIHRoZSBzYW1lIGFzIGJhY2tzbGFzaGVzY2FwZSwgYnV0IHByZWZlcnMgYGBcTnsuLi59YGAgZXNjYXBlCisgICAgICAgICMgc2VxdWVuY2VzLgorICAgICAgICBzaW4gPSAiYVx4YWNcdTEyMzRcdTIwYWNcdTgwMDBcVTAwMTBmZmZmIgorICAgICAgICBzb3V0ID0gKGInYVxcTntOT1QgU0lHTn1cXE57RVRISU9QSUMgU1lMTEFCTEUgU0VFfVxcTntFVVJPIFNJR059JworICAgICAgICAgICAgICAgIGInXFxOe0NKSyBVTklGSUVEIElERU9HUkFQSC04MDAwfVxcVTAwMTBmZmZmJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzaW4uZW5jb2RlKCJhc2NpaSIsICJuYW1lcmVwbGFjZSIpLCBzb3V0KQorCisgICAgICAgIHNvdXQgPSAoYidhXHhhY1xcTntFVEhJT1BJQyBTWUxMQUJMRSBTRUV9XFxOe0VVUk8gU0lHTn0nCisgICAgICAgICAgICAgICAgYidcXE57Q0pLIFVOSUZJRUQgSURFT0dSQVBILTgwMDB9XFxVMDAxMGZmZmYnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNpbi5lbmNvZGUoImxhdGluLTEiLCAibmFtZXJlcGxhY2UiKSwgc291dCkKKworICAgICAgICBzb3V0ID0gKGInYVx4YWNcXE57RVRISU9QSUMgU1lMTEFCTEUgU0VFfVx4YTQnCisgICAgICAgICAgICAgICAgYidcXE57Q0pLIFVOSUZJRUQgSURFT0dSQVBILTgwMDB9XFxVMDAxMGZmZmYnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNpbi5lbmNvZGUoImlzby04ODU5LTE1IiwgIm5hbWVyZXBsYWNlIiksIHNvdXQpCisKICAgICBkZWYgdGVzdF9kZWNvZGluZ19jYWxsYmFja3Moc2VsZik6CiAgICAgICAgICMgVGhpcyBpcyBhIHRlc3QgZm9yIGEgZGVjb2RpbmcgY2FsbGJhY2sgaGFuZGxlcgogICAgICAgICAjIHRoYXQgYWxsb3dzIHRoZSBkZWNvZGluZyBvZiB0aGUgaW52YWxpZCBzZXF1ZW5jZQpAQCAtMjMwLDYgKzI0NiwxMSBAQAogICAgICAgICAgICAgICAgICAgICAiXHUwMDAwXHVmZmZkIgogICAgICAgICAgICAgICAgICkKIAorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICAgICAgICAgIGIiXHgwMFx4MDBceDAwXHgwMFx4MDAiLmRlY29kZSgidW5pY29kZS1pbnRlcm5hbCIsICJiYWNrc2xhc2hyZXBsYWNlIiksCisgICAgICAgICAgICAgICAgICAgICJcdTAwMDBcXHgwMCIKKyAgICAgICAgICAgICAgICApCisKICAgICAgICAgICAgICAgICBjb2RlY3MucmVnaXN0ZXJfZXJyb3IoInRlc3QuaHVpIiwgaGFuZGxlcl91bmljb2RlaW50ZXJuYWwpCiAKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKApAQCAtMjk3LDcgKzMxOCw3IEBACiAgICAgZGVmIHRlc3RfbG9uZ3N0cmluZ3Moc2VsZik6CiAgICAgICAgICMgdGVzdCBsb25nIHN0cmluZ3MgdG8gY2hlY2sgZm9yIG1lbW9yeSBvdmVyZmxvdyBwcm9ibGVtcwogICAgICAgICBlcnJvcnMgPSBbICJzdHJpY3QiLCAiaWdub3JlIiwgInJlcGxhY2UiLCAieG1sY2hhcnJlZnJlcGxhY2UiLAotICAgICAgICAgICAgICAgICAgICJiYWNrc2xhc2hyZXBsYWNlIl0KKyAgICAgICAgICAgICAgICAgICAiYmFja3NsYXNocmVwbGFjZSIsICJuYW1lcmVwbGFjZSJdCiAgICAgICAgICMgcmVnaXN0ZXIgdGhlIGhhbmRsZXJzIHVuZGVyIGRpZmZlcmVudCBuYW1lcywKICAgICAgICAgIyB0byBwcmV2ZW50IHRoZSBjb2RlYyBmcm9tIHJlY29nbml6aW5nIHRoZSBuYW1lCiAgICAgICAgIGZvciBlcnIgaW4gZXJyb3JzOgpAQCAtNTQ5LDE3ICs1NzAsNiBAQAogICAgICAgICAgICBjb2RlY3MuYmFja3NsYXNocmVwbGFjZV9lcnJvcnMsCiAgICAgICAgICAgIFVuaWNvZGVFcnJvcigib3VjaCIpCiAgICAgICAgICkKLSAgICAgICAgIyAiYmFja3NsYXNocmVwbGFjZSIgY2FuIG9ubHkgYmUgdXNlZCBmb3IgZW5jb2RpbmcKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoCi0gICAgICAgICAgICBUeXBlRXJyb3IsCi0gICAgICAgICAgICBjb2RlY3MuYmFja3NsYXNocmVwbGFjZV9lcnJvcnMsCi0gICAgICAgICAgICBVbmljb2RlRGVjb2RlRXJyb3IoImFzY2lpIiwgYnl0ZWFycmF5KGIiXHhmZiIpLCAwLCAxLCAib3VjaCIpCi0gICAgICAgICkKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoCi0gICAgICAgICAgICBUeXBlRXJyb3IsCi0gICAgICAgICAgICBjb2RlY3MuYmFja3NsYXNocmVwbGFjZV9lcnJvcnMsCi0gICAgICAgICAgICBVbmljb2RlVHJhbnNsYXRlRXJyb3IoIlx1MzA0MiIsIDAsIDEsICJvdWNoIikKLSAgICAgICAgKQogICAgICAgICAjIFVzZSB0aGUgY29ycmVjdCBleGNlcHRpb24KICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKICAgICAgICAgICAgIGNvZGVjcy5iYWNrc2xhc2hyZXBsYWNlX2Vycm9ycygKQEAgLTYxMSw2ICs2MjEsOTEgQEAKICAgICAgICAgICAgICAgICAoIlxcdWRmZmYiLCAxKQogICAgICAgICAgICAgKQogCisgICAgZGVmIHRlc3RfYmFkYW5kZ29vZG5hbWVyZXBsYWNlZXhjZXB0aW9ucyhzZWxmKToKKyAgICAgICAgIyAibmFtZXJlcGxhY2UiIGNvbXBsYWlucyBhYm91dCBhIG5vbi1leGNlcHRpb24gcGFzc2VkIGluCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKAorICAgICAgICAgICBUeXBlRXJyb3IsCisgICAgICAgICAgIGNvZGVjcy5uYW1lcmVwbGFjZV9lcnJvcnMsCisgICAgICAgICAgIDQyCisgICAgICAgICkKKyAgICAgICAgIyAibmFtZXJlcGxhY2UiIGNvbXBsYWlucyBhYm91dCB0aGUgd3JvbmcgZXhjZXB0aW9uIHR5cGVzCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKAorICAgICAgICAgICBUeXBlRXJyb3IsCisgICAgICAgICAgIGNvZGVjcy5uYW1lcmVwbGFjZV9lcnJvcnMsCisgICAgICAgICAgIFVuaWNvZGVFcnJvcigib3VjaCIpCisgICAgICAgICkKKyAgICAgICAgIyAibmFtZXJlcGxhY2UiIGNhbiBvbmx5IGJlIHVzZWQgZm9yIGVuY29kaW5nCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKAorICAgICAgICAgICAgVHlwZUVycm9yLAorICAgICAgICAgICAgY29kZWNzLm5hbWVyZXBsYWNlX2Vycm9ycywKKyAgICAgICAgICAgIFVuaWNvZGVEZWNvZGVFcnJvcigiYXNjaWkiLCBieXRlYXJyYXkoYiJceGZmIiksIDAsIDEsICJvdWNoIikKKyAgICAgICAgKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcygKKyAgICAgICAgICAgIFR5cGVFcnJvciwKKyAgICAgICAgICAgIGNvZGVjcy5uYW1lcmVwbGFjZV9lcnJvcnMsCisgICAgICAgICAgICBVbmljb2RlVHJhbnNsYXRlRXJyb3IoIlx1MzA0MiIsIDAsIDEsICJvdWNoIikKKyAgICAgICAgKQorICAgICAgICAjIFVzZSB0aGUgY29ycmVjdCBleGNlcHRpb24KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIGNvZGVjcy5uYW1lcmVwbGFjZV9lcnJvcnMoCisgICAgICAgICAgICAgICAgVW5pY29kZUVuY29kZUVycm9yKCJhc2NpaSIsICJcdTMwNDIiLCAwLCAxLCAib3VjaCIpKSwKKyAgICAgICAgICAgICgiXFxOe0hJUkFHQU5BIExFVFRFUiBBfSIsIDEpCisgICAgICAgICkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIGNvZGVjcy5uYW1lcmVwbGFjZV9lcnJvcnMoCisgICAgICAgICAgICAgICAgVW5pY29kZUVuY29kZUVycm9yKCJhc2NpaSIsICJceDAwIiwgMCwgMSwgIm91Y2giKSksCisgICAgICAgICAgICAoIlxceDAwIiwgMSkKKyAgICAgICAgKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgY29kZWNzLm5hbWVyZXBsYWNlX2Vycm9ycygKKyAgICAgICAgICAgICAgICBVbmljb2RlRW5jb2RlRXJyb3IoImFzY2lpIiwgIlx4ZmYiLCAwLCAxLCAib3VjaCIpKSwKKyAgICAgICAgICAgICgiXFxOe0xBVElOIFNNQUxMIExFVFRFUiBZIFdJVEggRElBRVJFU0lTfSIsIDEpCisgICAgICAgICkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIGNvZGVjcy5uYW1lcmVwbGFjZV9lcnJvcnMoCisgICAgICAgICAgICAgICAgVW5pY29kZUVuY29kZUVycm9yKCJhc2NpaSIsICJcdTAxMDAiLCAwLCAxLCAib3VjaCIpKSwKKyAgICAgICAgICAgICgiXFxOe0xBVElOIENBUElUQUwgTEVUVEVSIEEgV0lUSCBNQUNST059IiwgMSkKKyAgICAgICAgKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgY29kZWNzLm5hbWVyZXBsYWNlX2Vycm9ycygKKyAgICAgICAgICAgICAgICBVbmljb2RlRW5jb2RlRXJyb3IoImFzY2lpIiwgIlx1ZmZmZiIsIDAsIDEsICJvdWNoIikpLAorICAgICAgICAgICAgKCJcXHVmZmZmIiwgMSkKKyAgICAgICAgKQorICAgICAgICBpZiBTSVpFT0ZfV0NIQVJfVCA+IDA6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgICAgIGNvZGVjcy5uYW1lcmVwbGFjZV9lcnJvcnMoCisgICAgICAgICAgICAgICAgICAgIFVuaWNvZGVFbmNvZGVFcnJvcigiYXNjaWkiLCAiXFUwMDAxMDAwMCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAxLCAib3VjaCIpKSwKKyAgICAgICAgICAgICAgICAoIlxcTntMSU5FQVIgQiBTWUxMQUJMRSBCMDA4IEF9IiwgMSkKKyAgICAgICAgICAgICkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICAgICAgY29kZWNzLm5hbWVyZXBsYWNlX2Vycm9ycygKKyAgICAgICAgICAgICAgICAgICAgVW5pY29kZUVuY29kZUVycm9yKCJhc2NpaSIsICJcVTAwMTBmZmZmIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIDEsICJvdWNoIikpLAorICAgICAgICAgICAgICAgICgiXFxVMDAxMGZmZmYiLCAxKQorICAgICAgICAgICAgKQorICAgICAgICAgICAgIyBMb25lIHN1cnJvZ2F0ZXMgKHJlZ2FyZGxlc3Mgb2YgdW5pY29kZSB3aWR0aCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICAgICAgY29kZWNzLm5hbWVyZXBsYWNlX2Vycm9ycygKKyAgICAgICAgICAgICAgICAgICAgVW5pY29kZUVuY29kZUVycm9yKCJhc2NpaSIsICJcdWQ4MDAiLCAwLCAxLCAib3VjaCIpKSwKKyAgICAgICAgICAgICAgICAoIlxcdWQ4MDAiLCAxKQorICAgICAgICAgICAgKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgICAgICBjb2RlY3MubmFtZXJlcGxhY2VfZXJyb3JzKAorICAgICAgICAgICAgICAgICAgICBVbmljb2RlRW5jb2RlRXJyb3IoImFzY2lpIiwgIlx1ZGZmZiIsIDAsIDEsICJvdWNoIikpLAorICAgICAgICAgICAgICAgICgiXFx1ZGZmZiIsIDEpCisgICAgICAgICAgICApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBjb2RlY3MuYmFja3NsYXNocmVwbGFjZV9lcnJvcnMoCisgICAgICAgICAgICAgICAgVW5pY29kZURlY29kZUVycm9yKCJhc2NpaSIsIGJ5dGVhcnJheShiIlx4ZmYiKSwgMCwgMSwgIm91Y2giKSksCisgICAgICAgICAgICAoIlxceGZmIiwgMSkKKyAgICAgICAgKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgY29kZWNzLmJhY2tzbGFzaHJlcGxhY2VfZXJyb3JzKAorICAgICAgICAgICAgICAgIFVuaWNvZGVUcmFuc2xhdGVFcnJvcigiXHUzMDQyIiwgMCwgMSwgIm91Y2giKSksCisgICAgICAgICAgICAoIlxcdTMwNDIiLCAxKQorICAgICAgICApCisKICAgICBkZWYgdGVzdF9iYWRoYW5kbGVycmVzdWx0cyhzZWxmKToKICAgICAgICAgcmVzdWx0cyA9ICggNDIsICJmb28iLCAoMSwyLDMpLCAoImZvbyIsIDEsIDMpLCAoImZvbyIsIE5vbmUpLCAoImZvbyIsKSwgKCJmb28iLCAxLCAzKSwgKCJmb28iLCBOb25lKSwgKCJmb28iLCkgKQogICAgICAgICBlbmNzID0gKCJhc2NpaSIsICJsYXRpbi0xIiwgImlzby04ODU5LTEiLCAiaXNvLTg4NTktMTUiKQpAQCAtNjUxLDYgKzc0NiwxMCBAQAogICAgICAgICAgICAgY29kZWNzLmJhY2tzbGFzaHJlcGxhY2VfZXJyb3JzLAogICAgICAgICAgICAgY29kZWNzLmxvb2t1cF9lcnJvcigiYmFja3NsYXNocmVwbGFjZSIpCiAgICAgICAgICkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIGNvZGVjcy5uYW1lcmVwbGFjZV9lcnJvcnMsCisgICAgICAgICAgICBjb2RlY3MubG9va3VwX2Vycm9yKCJuYW1lcmVwbGFjZSIpCisgICAgICAgICkKIAogICAgIGRlZiB0ZXN0X3VuZW5jb2RhYmxlcmVwbGFjZW1lbnQoc2VsZik6CiAgICAgICAgIGRlZiB1bmVuY3JlcGwoZXhjKToKQEAgLTgwNCw3ICs5MDMsOCBAQAogICAgICAgICBjbGFzcyBEKGRpY3QpOgogICAgICAgICAgICAgZGVmIF9fZ2V0aXRlbV9fKHNlbGYsIGtleSk6CiAgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcgotICAgICAgICBmb3IgZXJyIGluICgic3RyaWN0IiwgInJlcGxhY2UiLCAieG1sY2hhcnJlZnJlcGxhY2UiLCAiYmFja3NsYXNocmVwbGFjZSIsICJ0ZXN0LnBvc3JldHVybiIpOgorICAgICAgICBmb3IgZXJyIGluICgic3RyaWN0IiwgInJlcGxhY2UiLCAieG1sY2hhcnJlZnJlcGxhY2UiLAorICAgICAgICAgICAgICAgICAgICAiYmFja3NsYXNocmVwbGFjZSIsICJuYW1lcmVwbGFjZSIsICJ0ZXN0LnBvc3JldHVybiIpOgogICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVW5pY29kZUVycm9yLCBjb2RlY3MuY2hhcm1hcF9lbmNvZGUsICJceGZmIiwgZXJyLCB7MHhmZjogTm9uZX0pCiAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBjb2RlY3MuY2hhcm1hcF9lbmNvZGUsICJceGZmIiwgZXJyLCBEKCkpCiAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGNvZGVjcy5jaGFybWFwX2VuY29kZSwgIlx4ZmYiLCBlcnIsIHsweGZmOiAzMDB9KQpAQCAtODE5LDcgKzkxOSw3IEBACiAgICAgICAgICAgICBkZWYgX19nZXRpdGVtX18oc2VsZiwga2V5KToKICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yCiAgICAgICAgICNzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCAiXHhmZiIudHJhbnNsYXRlLCBEKCkpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgIlx4ZmYiLnRyYW5zbGF0ZSwgezB4ZmY6IHN5cy5tYXh1bmljb2RlKzF9KQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCAiXHhmZiIudHJhbnNsYXRlLCB7MHhmZjogc3lzLm1heHVuaWNvZGUrMX0pCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgIlx4ZmYiLnRyYW5zbGF0ZSwgezB4ZmY6ICgpfSkKIAogICAgIGRlZiB0ZXN0X2J1ZzgyODczNyhzZWxmKToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfY29kZWNzLnB5IGIvTGliL3Rlc3QvdGVzdF9jb2RlY3MucHkKaW5kZXggNjYyOWNjZC4uNGQ1ZDdiYiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9jb2RlY3MucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9jb2RlY3MucHkKQEAgLTM0OSw2ICszNDksOCBAQAogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhVbmljb2RlRW5jb2RlRXJyb3IsICJcdWQ4MDAiLmVuY29kZSwgc2VsZi5lbmNvZGluZykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiW1x1REM4MF0iLmVuY29kZShzZWxmLmVuY29kaW5nLCAiYmFja3NsYXNocmVwbGFjZSIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICJbXFx1ZGM4MF0iLmVuY29kZShzZWxmLmVuY29kaW5nKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiW1x1REM4MF0iLmVuY29kZShzZWxmLmVuY29kaW5nLCAibmFtZXJlcGxhY2UiKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiW1xcdWRjODBdIi5lbmNvZGUoc2VsZi5lbmNvZGluZykpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoIltcdURDODBdIi5lbmNvZGUoc2VsZi5lbmNvZGluZywgInhtbGNoYXJyZWZyZXBsYWNlIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgIlsmIzU2NDQ4O10iLmVuY29kZShzZWxmLmVuY29kaW5nKSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiW1x1REM4MF0iLmVuY29kZShzZWxmLmVuY29kaW5nLCAiaWdub3JlIiksCkBAIC0zNzYsNiArMzc4LDEwIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlZm9yZSArIGFmdGVyKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0ZXN0X3NlcXVlbmNlLmRlY29kZShzZWxmLmVuY29kaW5nLCAicmVwbGFjZSIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgKyBzZWxmLmlsbF9mb3JtZWRfc2VxdWVuY2VfcmVwbGFjZSArIGFmdGVyKQorICAgICAgICAgICAgYmFja3NsYXNocmVwbGFjZSA9ICcnLmpvaW4oJ1xceCUwMngnICUgYgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGIgaW4gc2VsZi5pbGxfZm9ybWVkX3NlcXVlbmNlKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0ZXN0X3NlcXVlbmNlLmRlY29kZShzZWxmLmVuY29kaW5nLCAiYmFja3NsYXNocmVwbGFjZSIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgKyBiYWNrc2xhc2hyZXBsYWNlICsgYWZ0ZXIpCiAKIGNsYXNzIFVURjMyVGVzdChSZWFkVGVzdCwgdW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGVuY29kaW5nID0gInV0Zi0zMiIKQEAgLTgwOCw2ICs4MTQsNyBAQAogICAgICAgICAgICAgICAgICgnXHVkYzgwJywgJ2lnbm9yZScsIGInJyksCiAgICAgICAgICAgICAgICAgKCdcdWRjODAnLCAncmVwbGFjZScsIGInPycpLAogICAgICAgICAgICAgICAgICgnXHVkYzgwJywgJ2JhY2tzbGFzaHJlcGxhY2UnLCBiJ1xcdWRjODAnKSwKKyAgICAgICAgICAgICAgICAoJ1x1ZGM4MCcsICduYW1lcmVwbGFjZScsIGInXFx1ZGM4MCcpLAogICAgICAgICAgICAgICAgICgnXHVkYzgwJywgJ3N1cnJvZ2F0ZXBhc3MnLCBiJ1x4ZWRceGIyXHg4MCcpLAogICAgICAgICAgICAgKSkKICAgICAgICAgZWxzZToKQEAgLTg2OSw2ICs4NzYsOCBAQAogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhVbmljb2RlRGVjb2RlRXJyb3IsIGIiXHhlZFx4YTBceDgwIi5kZWNvZGUsICJjcDY1MDAxIikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiW1x1REM4MF0iLmVuY29kZSgiY3A2NTAwMSIsICJiYWNrc2xhc2hyZXBsYWNlIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgYidbXFx1ZGM4MF0nKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJbXHVEQzgwXSIuZW5jb2RlKCJjcDY1MDAxIiwgIm5hbWVyZXBsYWNlIiksCisgICAgICAgICAgICAgICAgICAgICAgICAgYidbXFx1ZGM4MF0nKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJbXHVEQzgwXSIuZW5jb2RlKCJjcDY1MDAxIiwgInhtbGNoYXJyZWZyZXBsYWNlIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgYidbJiM1NjQ0ODtdJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiW1x1REM4MF0iLmVuY29kZSgiY3A2NTAwMSIsICJzdXJyb2dhdGVlc2NhcGUiKSwKQEAgLTg5MCwxMCArODk5LDYgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAiXFUwMDAxMGZmZlx1RDgwMCIpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjb2RlY3MubG9va3VwX2Vycm9yKCJzdXJyb2dhdGVwYXNzIikpCiAKLSAgICBkZWYgdGVzdF9yZWFkbGluZShzZWxmKToKLSAgICAgICAgc2VsZi5za2lwVGVzdCgiaXNzdWUgIzIwNTcxOiBjb2RlIHBhZ2UgNjUwMDEgY29kZWMgZG9lcyBub3QgIgotICAgICAgICAgICAgICAgICAgICAgICJzdXBwb3J0IHBhcnRpYWwgZGVjb2RlciB5ZXQiKQotCiAKIGNsYXNzIFVURjdUZXN0KFJlYWRUZXN0LCB1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZW5jb2RpbmcgPSAidXRmLTciCkBAIC0xMjk5LDE0ICsxMzA0LDE5IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaWNvZGVfaW50ZXJuYWwiKQogICAgICAgICBpZiBzeXMuYnl0ZW9yZGVyID09ICJsaXR0bGUiOgogICAgICAgICAgICAgaW52YWxpZCA9IGIiXHgwMFx4MDBceDExXHgwMCIKKyAgICAgICAgICAgIGludmFsaWRfYmFja3NsYXNocmVwbGFjZSA9IHIiXHgwMFx4MDBceDExXHgwMCIKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGludmFsaWQgPSBiIlx4MDBceDExXHgwMFx4MDAiCisgICAgICAgICAgICBpbnZhbGlkX2JhY2tzbGFzaHJlcGxhY2UgPSByIlx4MDBceDExXHgwMFx4MDAiCiAgICAgICAgIHdpdGggc3VwcG9ydC5jaGVja193YXJuaW5ncygpOgogICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVW5pY29kZURlY29kZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW52YWxpZC5kZWNvZGUsICJ1bmljb2RlX2ludGVybmFsIikKICAgICAgICAgd2l0aCBzdXBwb3J0LmNoZWNrX3dhcm5pbmdzKCk6CiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGludmFsaWQuZGVjb2RlKCJ1bmljb2RlX2ludGVybmFsIiwgInJlcGxhY2UiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1x1ZmZmZCcpCisgICAgICAgIHdpdGggc3VwcG9ydC5jaGVja193YXJuaW5ncygpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpbnZhbGlkLmRlY29kZSgidW5pY29kZV9pbnRlcm5hbCIsICJiYWNrc2xhc2hyZXBsYWNlIiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludmFsaWRfYmFja3NsYXNocmVwbGFjZSkKIAogICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKFNJWkVPRl9XQ0hBUl9UID09IDQsICdzcGVjaWZpYyB0byAzMi1iaXQgd2NoYXJfdCcpCiAgICAgZGVmIHRlc3RfZGVjb2RlX2Vycm9yX2F0dHJpYnV0ZXMoc2VsZik6CkBAIC0xNjEyLDYgKzE2MjIsMTIgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb2RlY3MuZGVjb2RlKGInYWJjJyksICdhYmMnKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhVbmljb2RlRGVjb2RlRXJyb3IsIGNvZGVjcy5kZWNvZGUsIGInXHhmZicsICdhc2NpaScpCiAKKyAgICAgICAgIyB0ZXN0IGtleXdvcmRzCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY29kZWNzLmRlY29kZShvYmo9YidceGU0XHhmNlx4ZmMnLCBlbmNvZGluZz0nbGF0aW4tMScpLAorICAgICAgICAgICAgICAgICAgICAgICAgICdceGU0XHhmNlx4ZmMnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNvZGVjcy5kZWNvZGUoYidbXHhmZl0nLCAnYXNjaWknLCBlcnJvcnM9J2lnbm9yZScpLAorICAgICAgICAgICAgICAgICAgICAgICAgICdbXScpCisKICAgICBkZWYgdGVzdF9lbmNvZGUoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY29kZWNzLmVuY29kZSgnXHhlNFx4ZjZceGZjJywgJ2xhdGluLTEnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICBiJ1x4ZTRceGY2XHhmYycpCkBAIC0xNjIwLDYgKzE2MzYsMTIgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb2RlY3MuZW5jb2RlKCdhYmMnKSwgYidhYmMnKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhVbmljb2RlRW5jb2RlRXJyb3IsIGNvZGVjcy5lbmNvZGUsICdceGZmZmYnLCAnYXNjaWknKQogCisgICAgICAgICMgdGVzdCBrZXl3b3JkcworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNvZGVjcy5lbmNvZGUob2JqPSdceGU0XHhmNlx4ZmMnLCBlbmNvZGluZz0nbGF0aW4tMScpLAorICAgICAgICAgICAgICAgICAgICAgICAgIGInXHhlNFx4ZjZceGZjJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb2RlY3MuZW5jb2RlKCdbXHhmZl0nLCAnYXNjaWknLCBlcnJvcnM9J2lnbm9yZScpLAorICAgICAgICAgICAgICAgICAgICAgICAgIGInW10nKQorCiAgICAgZGVmIHRlc3RfcmVnaXN0ZXIoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgY29kZWNzLnJlZ2lzdGVyKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGNvZGVjcy5yZWdpc3RlciwgNDIpCkBAIC0xNjY4LDYgKzE2OTAsNyBAQAogICAgICAgICAgICAgInJlZ2lzdGVyX2Vycm9yIiwgImxvb2t1cF9lcnJvciIsCiAgICAgICAgICAgICAic3RyaWN0X2Vycm9ycyIsICJyZXBsYWNlX2Vycm9ycyIsICJpZ25vcmVfZXJyb3JzIiwKICAgICAgICAgICAgICJ4bWxjaGFycmVmcmVwbGFjZV9lcnJvcnMiLCAiYmFja3NsYXNocmVwbGFjZV9lcnJvcnMiLAorICAgICAgICAgICAgIm5hbWVyZXBsYWNlX2Vycm9ycyIsCiAgICAgICAgICAgICAib3BlbiIsICJFbmNvZGVkRmlsZSIsCiAgICAgICAgICAgICAiaXRlcmVuY29kZSIsICJpdGVyZGVjb2RlIiwKICAgICAgICAgICAgICJCT00iLCAiQk9NX0JFIiwgIkJPTV9MRSIsCkBAIC0yMDI5LDYgKzIwNTIsMTYgQEAKICAgICAgICAgKQogCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBjb2RlY3MuY2hhcm1hcF9kZWNvZGUoYiJceDAwXHgwMVx4MDIiLCAiYmFja3NsYXNocmVwbGFjZSIsICJhYiIpLAorICAgICAgICAgICAgKCJhYlxceDAyIiwgMykKKyAgICAgICAgKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBjb2RlY3MuY2hhcm1hcF9kZWNvZGUoYiJceDAwXHgwMVx4MDIiLCAiYmFja3NsYXNocmVwbGFjZSIsICJhYlx1ZmZmZSIpLAorICAgICAgICAgICAgKCJhYlxceDAyIiwgMykKKyAgICAgICAgKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCiAgICAgICAgICAgICBjb2RlY3MuY2hhcm1hcF9kZWNvZGUoYiJceDAwXHgwMVx4MDIiLCAiaWdub3JlIiwgImFiIiksCiAgICAgICAgICAgICAoImFiIiwgMykKICAgICAgICAgKQpAQCAtMjEwNSw2ICsyMTM4LDI1IEBACiAgICAgICAgICkKIAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgY29kZWNzLmNoYXJtYXBfZGVjb2RlKGIiXHgwMFx4MDFceDAyIiwgImJhY2tzbGFzaHJlcGxhY2UiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHswOiAnYScsIDE6ICdiJ30pLAorICAgICAgICAgICAgKCJhYlxceDAyIiwgMykKKyAgICAgICAgKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBjb2RlY3MuY2hhcm1hcF9kZWNvZGUoYiJceDAwXHgwMVx4MDIiLCAiYmFja3NsYXNocmVwbGFjZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgezA6ICdhJywgMTogJ2InLCAyOiBOb25lfSksCisgICAgICAgICAgICAoImFiXFx4MDIiLCAzKQorICAgICAgICApCisKKyAgICAgICAgIyBJc3N1ZSAjMTQ4NTAKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIGNvZGVjcy5jaGFybWFwX2RlY29kZShiIlx4MDBceDAxXHgwMiIsICJiYWNrc2xhc2hyZXBsYWNlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7MDogJ2EnLCAxOiAnYicsIDI6ICdcdWZmZmUnfSksCisgICAgICAgICAgICAoImFiXFx4MDIiLCAzKQorICAgICAgICApCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKICAgICAgICAgICAgIGNvZGVjcy5jaGFybWFwX2RlY29kZShiIlx4MDBceDAxXHgwMiIsICJpZ25vcmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHswOiAnYScsIDE6ICdiJ30pLAogICAgICAgICAgICAgKCJhYiIsIDMpCkBAIC0yMTgxLDYgKzIyMzMsMTggQEAKICAgICAgICAgKQogCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBjb2RlY3MuY2hhcm1hcF9kZWNvZGUoYiJceDAwXHgwMVx4MDIiLCAiYmFja3NsYXNocmVwbGFjZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgezA6IGEsIDE6IGJ9KSwKKyAgICAgICAgICAgICgiYWJcXHgwMiIsIDMpCisgICAgICAgICkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgY29kZWNzLmNoYXJtYXBfZGVjb2RlKGIiXHgwMFx4MDFceDAyIiwgImJhY2tzbGFzaHJlcGxhY2UiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHswOiBhLCAxOiBiLCAyOiAweEZGRkV9KSwKKyAgICAgICAgICAgICgiYWJcXHgwMiIsIDMpCisgICAgICAgICkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAogICAgICAgICAgICAgY29kZWNzLmNoYXJtYXBfZGVjb2RlKGIiXHgwMFx4MDFceDAyIiwgImlnbm9yZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgezA6IGEsIDE6IGJ9KSwKICAgICAgICAgICAgICgiYWIiLCAzKQpAQCAtMjIzOSw5ICsyMzAzLDEzIEBACiAKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVW5pY29kZURlY29kZUVycm9yLCBjb2RlY3MudW5pY29kZV9lc2NhcGVfZGVjb2RlLCBiciJcVTAwMTEwMDAwIikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb2RlY3MudW5pY29kZV9lc2NhcGVfZGVjb2RlKHIiXFUwMDExMDAwMCIsICJyZXBsYWNlIiksICgiXHVmZmZkIiwgMTApKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNvZGVjcy51bmljb2RlX2VzY2FwZV9kZWNvZGUociJcVTAwMTEwMDAwIiwgImJhY2tzbGFzaHJlcGxhY2UiKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAociJceDVjXHg1NVx4MzBceDMwXHgzMVx4MzFceDMwXHgzMFx4MzBceDMwIiwgMTApKQogCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFVuaWNvZGVEZWNvZGVFcnJvciwgY29kZWNzLnJhd191bmljb2RlX2VzY2FwZV9kZWNvZGUsIGJyIlxVMDAxMTAwMDAiKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNvZGVjcy5yYXdfdW5pY29kZV9lc2NhcGVfZGVjb2RlKHIiXFUwMDExMDAwMCIsICJyZXBsYWNlIiksICgiXHVmZmZkIiwgMTApKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNvZGVjcy5yYXdfdW5pY29kZV9lc2NhcGVfZGVjb2RlKHIiXFUwMDExMDAwMCIsICJiYWNrc2xhc2hyZXBsYWNlIiksCisgICAgICAgICAgICAgICAgICAgICAgICAgKHIiXHg1Y1x4NTVceDMwXHgzMFx4MzFceDMxXHgzMFx4MzBceDMwXHgzMCIsIDEwKSkKIAogCiBjbGFzcyBVbmljb2RlRXNjYXBlVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CkBAIC0yODE4LDE1ICsyODg2LDE1IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVW5pY29kZUVuY29kZUVycm9yLCAnY3A5MzInLAogICAgICAgICAgICAgY29kZWNzLmNvZGVfcGFnZV9lbmNvZGUsIDkzMiwgJ1x4ZmYnKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFVuaWNvZGVEZWNvZGVFcnJvciwgJ2NwOTMyJywKLSAgICAgICAgICAgIGNvZGVjcy5jb2RlX3BhZ2VfZGVjb2RlLCA5MzIsIGInXHg4MVx4MDAnKQorICAgICAgICAgICAgY29kZWNzLmNvZGVfcGFnZV9kZWNvZGUsIDkzMiwgYidceDgxXHgwMCcsICdzdHJpY3QnLCBUcnVlKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFVuaWNvZGVEZWNvZGVFcnJvciwgJ0NQX1VURjgnLAotICAgICAgICAgICAgY29kZWNzLmNvZGVfcGFnZV9kZWNvZGUsIHNlbGYuQ1BfVVRGOCwgYidceGZmJykKKyAgICAgICAgICAgIGNvZGVjcy5jb2RlX3BhZ2VfZGVjb2RlLCBzZWxmLkNQX1VURjgsIGInXHhmZicsICdzdHJpY3QnLCBUcnVlKQogCiAgICAgZGVmIGNoZWNrX2RlY29kZShzZWxmLCBjcCwgdGVzdHMpOgogICAgICAgICBmb3IgcmF3LCBlcnJvcnMsIGV4cGVjdGVkIGluIHRlc3RzOgogICAgICAgICAgICAgaWYgZXhwZWN0ZWQgaXMgbm90IE5vbmU6CiAgICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICBkZWNvZGVkID0gY29kZWNzLmNvZGVfcGFnZV9kZWNvZGUoY3AsIHJhdywgZXJyb3JzKQorICAgICAgICAgICAgICAgICAgICBkZWNvZGVkID0gY29kZWNzLmNvZGVfcGFnZV9kZWNvZGUoY3AsIHJhdywgZXJyb3JzLCBUcnVlKQogICAgICAgICAgICAgICAgIGV4Y2VwdCBVbmljb2RlRGVjb2RlRXJyb3IgYXMgZXJyOgogICAgICAgICAgICAgICAgICAgICBzZWxmLmZhaWwoJ1VuYWJsZSB0byBkZWNvZGUgJWEgZnJvbSAiY3AlcyIgd2l0aCAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZXJyb3JzPSVyOiAlcycgJSAocmF3LCBjcCwgZXJyb3JzLCBlcnIpKQpAQCAtMjgzOCw3ICsyOTA2LDcgQEAKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydExlc3NFcXVhbChkZWNvZGVkWzFdLCBsZW4ocmF3KSkKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVW5pY29kZURlY29kZUVycm9yLAotICAgICAgICAgICAgICAgICAgICBjb2RlY3MuY29kZV9wYWdlX2RlY29kZSwgY3AsIHJhdywgZXJyb3JzKQorICAgICAgICAgICAgICAgICAgICBjb2RlY3MuY29kZV9wYWdlX2RlY29kZSwgY3AsIHJhdywgZXJyb3JzLCBUcnVlKQogCiAgICAgZGVmIGNoZWNrX2VuY29kZShzZWxmLCBjcCwgdGVzdHMpOgogICAgICAgICBmb3IgdGV4dCwgZXJyb3JzLCBleHBlY3RlZCBpbiB0ZXN0czoKQEAgLTI4NjYsNyArMjkzNCwxMiBAQAogICAgICAgICAgICAgKCdbXHhmZl0nLCAncmVwbGFjZScsIGInW3ldJyksCiAgICAgICAgICAgICAoJ1tcdTIwYWNdJywgJ3JlcGxhY2UnLCBiJ1s/XScpLAogICAgICAgICAgICAgKCdbXHhmZl0nLCAnYmFja3NsYXNocmVwbGFjZScsIGInW1xceGZmXScpLAorICAgICAgICAgICAgKCdbXHhmZl0nLCAnbmFtZXJlcGxhY2UnLAorICAgICAgICAgICAgIGInW1xcTntMQVRJTiBTTUFMTCBMRVRURVIgWSBXSVRIIERJQUVSRVNJU31dJyksCiAgICAgICAgICAgICAoJ1tceGZmXScsICd4bWxjaGFycmVmcmVwbGFjZScsIGInWyYjMjU1O10nKSwKKyAgICAgICAgICAgICgnXHVkY2ZmJywgJ3N0cmljdCcsIE5vbmUpLAorICAgICAgICAgICAgKCdbXHVkY2ZmXScsICdzdXJyb2dhdGVlc2NhcGUnLCBiJ1tceGZmXScpLAorICAgICAgICAgICAgKCdbXHVkY2ZmXScsICdzdXJyb2dhdGVwYXNzJywgTm9uZSksCiAgICAgICAgICkpCiAgICAgICAgIHNlbGYuY2hlY2tfZGVjb2RlKDkzMiwgKAogICAgICAgICAgICAgKGInYWJjJywgJ3N0cmljdCcsICdhYmMnKSwKQEAgLTI4NzUsMTAgKzI5NDgsMTMgQEAKICAgICAgICAgICAgIChiJ1tceGZmXScsICdzdHJpY3QnLCBOb25lKSwKICAgICAgICAgICAgIChiJ1tceGZmXScsICdpZ25vcmUnLCAnW10nKSwKICAgICAgICAgICAgIChiJ1tceGZmXScsICdyZXBsYWNlJywgJ1tcdWZmZmRdJyksCisgICAgICAgICAgICAoYidbXHhmZl0nLCAnYmFja3NsYXNocmVwbGFjZScsICdbXFx4ZmZdJyksCiAgICAgICAgICAgICAoYidbXHhmZl0nLCAnc3Vycm9nYXRlZXNjYXBlJywgJ1tcdWRjZmZdJyksCisgICAgICAgICAgICAoYidbXHhmZl0nLCAnc3Vycm9nYXRlcGFzcycsIE5vbmUpLAogICAgICAgICAgICAgKGInXHg4MVx4MDBhYmMnLCAnc3RyaWN0JywgTm9uZSksCiAgICAgICAgICAgICAoYidceDgxXHgwMGFiYycsICdpZ25vcmUnLCAnXHgwMGFiYycpLAogICAgICAgICAgICAgKGInXHg4MVx4MDBhYmMnLCAncmVwbGFjZScsICdcdWZmZmRceDAwYWJjJyksCisgICAgICAgICAgICAoYidceDgxXHgwMGFiYycsICdiYWNrc2xhc2hyZXBsYWNlJywgJ1xceDgxXHgwMGFiYycpLAogICAgICAgICApKQogCiAgICAgZGVmIHRlc3RfY3AxMjUyKHNlbGYpOgpAQCAtMjg4Niw5ICsyOTYyLDEyIEBACiAgICAgICAgICAgICAoJ2FiYycsICdzdHJpY3QnLCBiJ2FiYycpLAogICAgICAgICAgICAgKCdceGU5XHUyMGFjJywgJ3N0cmljdCcsICBiJ1x4ZTlceDgwJyksCiAgICAgICAgICAgICAoJ1x4ZmYnLCAnc3RyaWN0JywgYidceGZmJyksCisgICAgICAgICAgICAjIHRlc3QgZXJyb3IgaGFuZGxlcnMKICAgICAgICAgICAgICgnXHUwMTQxJywgJ3N0cmljdCcsIE5vbmUpLAogICAgICAgICAgICAgKCdcdTAxNDEnLCAnaWdub3JlJywgYicnKSwKICAgICAgICAgICAgICgnXHUwMTQxJywgJ3JlcGxhY2UnLCBiJ0wnKSwKKyAgICAgICAgICAgICgnXHVkYzk4JywgJ3N1cnJvZ2F0ZWVzY2FwZScsIGInXHg5OCcpLAorICAgICAgICAgICAgKCdcdWRjOTgnLCAnc3Vycm9nYXRlcGFzcycsIE5vbmUpLAogICAgICAgICApKQogICAgICAgICBzZWxmLmNoZWNrX2RlY29kZSgxMjUyLCAoCiAgICAgICAgICAgICAoYidhYmMnLCAnc3RyaWN0JywgJ2FiYycpLApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9jb2xsZWN0aW9ucy5weSBiL0xpYi90ZXN0L3Rlc3RfY29sbGVjdGlvbnMucHkKaW5kZXggZGYxYzYzYy4uYTk0YjVkYSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9jb2xsZWN0aW9ucy5weQorKysgYi9MaWIvdGVzdC90ZXN0X2NvbGxlY3Rpb25zLnB5CkBAIC01MTgsNyArNTE4LDcgQEAKICAgICAgICAgY2xhc3MgTmV4dE9ubHk6CiAgICAgICAgICAgICBkZWYgX19uZXh0X18oc2VsZik6CiAgICAgICAgICAgICAgICAgeWllbGQgMQotICAgICAgICAgICAgICAgIHJhaXNlIFN0b3BJdGVyYXRpb24KKyAgICAgICAgICAgICAgICByZXR1cm4KICAgICAgICAgc2VsZi5hc3NlcnROb3RJc0luc3RhbmNlKE5leHRPbmx5KCksIEl0ZXJhdG9yKQogCiAgICAgZGVmIHRlc3RfU2l6ZWQoc2VsZik6CkBAIC02NDcsNiArNjQ3LDU5IEBACiAgICAgICAgIGEsIGIgPSBPbmVUd29UaHJlZVNldCgpLCBPbmVUd29UaHJlZVNldCgpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShoYXNoKGEpID09IGhhc2goYikpCiAKKyAgICBkZWYgdGVzdF9pc2Rpc2pvaW50X1NldChzZWxmKToKKyAgICAgICAgY2xhc3MgTXlTZXQoU2V0KToKKyAgICAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBpdHIpOgorICAgICAgICAgICAgICAgIHNlbGYuY29udGVudHMgPSBpdHIKKyAgICAgICAgICAgIGRlZiBfX2NvbnRhaW5zX18oc2VsZiwgeCk6CisgICAgICAgICAgICAgICAgcmV0dXJuIHggaW4gc2VsZi5jb250ZW50cworICAgICAgICAgICAgZGVmIF9faXRlcl9fKHNlbGYpOgorICAgICAgICAgICAgICAgIHJldHVybiBpdGVyKHNlbGYuY29udGVudHMpCisgICAgICAgICAgICBkZWYgX19sZW5fXyhzZWxmKToKKyAgICAgICAgICAgICAgICByZXR1cm4gbGVuKFt4IGZvciB4IGluIHNlbGYuY29udGVudHNdKQorICAgICAgICBzMSA9IE15U2V0KCgxLCAyLCAzKSkKKyAgICAgICAgczIgPSBNeVNldCgoNCwgNSwgNikpCisgICAgICAgIHMzID0gTXlTZXQoKDEsIDUsIDYpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoczEuaXNkaXNqb2ludChzMikpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoczEuaXNkaXNqb2ludChzMykpCisKKyAgICBkZWYgdGVzdF9lcXVhbGl0eV9TZXQoc2VsZik6CisgICAgICAgIGNsYXNzIE15U2V0KFNldCk6CisgICAgICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgaXRyKToKKyAgICAgICAgICAgICAgICBzZWxmLmNvbnRlbnRzID0gaXRyCisgICAgICAgICAgICBkZWYgX19jb250YWluc19fKHNlbGYsIHgpOgorICAgICAgICAgICAgICAgIHJldHVybiB4IGluIHNlbGYuY29udGVudHMKKyAgICAgICAgICAgIGRlZiBfX2l0ZXJfXyhzZWxmKToKKyAgICAgICAgICAgICAgICByZXR1cm4gaXRlcihzZWxmLmNvbnRlbnRzKQorICAgICAgICAgICAgZGVmIF9fbGVuX18oc2VsZik6CisgICAgICAgICAgICAgICAgcmV0dXJuIGxlbihbeCBmb3IgeCBpbiBzZWxmLmNvbnRlbnRzXSkKKyAgICAgICAgczEgPSBNeVNldCgoMSwpKQorICAgICAgICBzMiA9IE15U2V0KCgxLCAyKSkKKyAgICAgICAgczMgPSBNeVNldCgoMywgNCkpCisgICAgICAgIHM0ID0gTXlTZXQoKDMsIDQpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoczIgPiBzMSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHMxIDwgczIpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoczIgPD0gczEpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoczIgPD0gczMpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoczEgPj0gczIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoczMsIHM0KQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKHMyLCBzMykKKworICAgIGRlZiB0ZXN0X2FyaXRobWV0aWNfU2V0KHNlbGYpOgorICAgICAgICBjbGFzcyBNeVNldChTZXQpOgorICAgICAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGl0cik6CisgICAgICAgICAgICAgICAgc2VsZi5jb250ZW50cyA9IGl0cgorICAgICAgICAgICAgZGVmIF9fY29udGFpbnNfXyhzZWxmLCB4KToKKyAgICAgICAgICAgICAgICByZXR1cm4geCBpbiBzZWxmLmNvbnRlbnRzCisgICAgICAgICAgICBkZWYgX19pdGVyX18oc2VsZik6CisgICAgICAgICAgICAgICAgcmV0dXJuIGl0ZXIoc2VsZi5jb250ZW50cykKKyAgICAgICAgICAgIGRlZiBfX2xlbl9fKHNlbGYpOgorICAgICAgICAgICAgICAgIHJldHVybiBsZW4oW3ggZm9yIHggaW4gc2VsZi5jb250ZW50c10pCisgICAgICAgIHMxID0gTXlTZXQoKDEsIDIsIDMpKQorICAgICAgICBzMiA9IE15U2V0KCgzLCA0LCA1KSkKKyAgICAgICAgczMgPSBzMSAmIHMyCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoczMsIE15U2V0KCgzLCkpKQorCiAgICAgZGVmIHRlc3RfTXV0YWJsZVNldChzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKHNldCgpLCBNdXRhYmxlU2V0KQogICAgICAgICBzZWxmLmFzc2VydFRydWUoaXNzdWJjbGFzcyhzZXQsIE11dGFibGVTZXQpKQpAQCAtMTM3OCw2ICsxNDMxLDIxIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlzdChvZC5pdGVtcygpKSwgcGFpcnMpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlzdChyZXZlcnNlZChvZCkpLAogICAgICAgICAgICAgICAgICAgICAgICAgIFt0WzBdIGZvciB0IGluIHJldmVyc2VkKHBhaXJzKV0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlzdChyZXZlcnNlZChvZC5rZXlzKCkpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBbdFswXSBmb3IgdCBpbiByZXZlcnNlZChwYWlycyldKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpc3QocmV2ZXJzZWQob2QudmFsdWVzKCkpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBbdFsxXSBmb3IgdCBpbiByZXZlcnNlZChwYWlycyldKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpc3QocmV2ZXJzZWQob2QuaXRlbXMoKSkpLCBsaXN0KHJldmVyc2VkKHBhaXJzKSkpCisKKyAgICBkZWYgdGVzdF9kZXRlY3RfZGVsZXRpb25fZHVyaW5nX2l0ZXJhdGlvbihzZWxmKToKKyAgICAgICAgb2QgPSBPcmRlcmVkRGljdC5mcm9ta2V5cygnYWJjJykKKyAgICAgICAgaXQgPSBpdGVyKG9kKQorICAgICAgICBrZXkgPSBuZXh0KGl0KQorICAgICAgICBkZWwgb2Rba2V5XQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEV4Y2VwdGlvbik6CisgICAgICAgICAgICAjIE5vdGUsIHRoZSBleGFjdCBleGNlcHRpb24gcmFpc2VkIGlzIG5vdCBndWFyYW50ZWVkCisgICAgICAgICAgICAjIFRoZSBvbmx5IGd1YXJhbnRlZSB0aGF0IHRoZSBuZXh0KCkgd2lsbCBub3Qgc3VjY2VlZAorICAgICAgICAgICAgbmV4dChpdCkKIAogICAgIGRlZiB0ZXN0X3BvcGl0ZW0oc2VsZik6CiAgICAgICAgIHBhaXJzID0gWygnYycsIDEpLCAoJ2InLCAyKSwgKCdhJywgMyksICgnZCcsIDQpLCAoJ2UnLCA1KSwgKCdmJywgNildCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2NvbXBpbGVhbGwucHkgYi9MaWIvdGVzdC90ZXN0X2NvbXBpbGVhbGwucHkKaW5kZXggMmE0MjIzOC4uNzUwNmM3MCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9jb21waWxlYWxsLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfY29tcGlsZWFsbC5weQpAQCAtMTAsNiArMTAsMTMgQEAKIGltcG9ydCB1bml0dGVzdAogaW1wb3J0IGlvCiAKK2Zyb20gdW5pdHRlc3QgaW1wb3J0IG1vY2ssIHNraXBVbmxlc3MKK3RyeToKKyAgICBmcm9tIGNvbmN1cnJlbnQuZnV0dXJlcyBpbXBvcnQgUHJvY2Vzc1Bvb2xFeGVjdXRvcgorICAgIF9oYXZlX211bHRpcHJvY2Vzc2luZyA9IFRydWUKK2V4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICBfaGF2ZV9tdWx0aXByb2Nlc3NpbmcgPSBGYWxzZQorCiBmcm9tIHRlc3QgaW1wb3J0IHN1cHBvcnQsIHNjcmlwdF9oZWxwZXIKIAogY2xhc3MgQ29tcGlsZWFsbFRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKQEAgLTEwNiw2ICsxMTMsMzMgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnX292ZXJyaWRlPW5vdCBvcHRpbWl6ZSkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguaXNmaWxlKGNhY2hlZDMpKQogCisgICAgQG1vY2sucGF0Y2goJ2NvbXBpbGVhbGwuUHJvY2Vzc1Bvb2xFeGVjdXRvcicpCisgICAgZGVmIHRlc3RfY29tcGlsZV9wb29sX2NhbGxlZChzZWxmLCBwb29sX21vY2spOgorICAgICAgICBjb21waWxlYWxsLmNvbXBpbGVfZGlyKHNlbGYuZGlyZWN0b3J5LCBxdWlldD1UcnVlLCB3b3JrZXJzPTUpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShwb29sX21vY2suY2FsbGVkKQorCisgICAgZGVmIHRlc3RfY29tcGlsZV93b3JrZXJzX25vbl9wb3NpdGl2ZShzZWxmKToKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAid29ya2VycyBtdXN0IGJlIGdyZWF0ZXIgb3IgZXF1YWwgdG8gMCIpOgorICAgICAgICAgICAgY29tcGlsZWFsbC5jb21waWxlX2RpcihzZWxmLmRpcmVjdG9yeSwgd29ya2Vycz0tMSkKKworICAgIEBtb2NrLnBhdGNoKCdjb21waWxlYWxsLlByb2Nlc3NQb29sRXhlY3V0b3InKQorICAgIGRlZiB0ZXN0X2NvbXBpbGVfd29ya2Vyc19jcHVfY291bnQoc2VsZiwgcG9vbF9tb2NrKToKKyAgICAgICAgY29tcGlsZWFsbC5jb21waWxlX2RpcihzZWxmLmRpcmVjdG9yeSwgcXVpZXQ9VHJ1ZSwgd29ya2Vycz0wKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBvb2xfbW9jay5jYWxsX2FyZ3NbMV1bJ21heF93b3JrZXJzJ10sIE5vbmUpCisKKyAgICBAbW9jay5wYXRjaCgnY29tcGlsZWFsbC5Qcm9jZXNzUG9vbEV4ZWN1dG9yJykKKyAgICBAbW9jay5wYXRjaCgnY29tcGlsZWFsbC5jb21waWxlX2ZpbGUnKQorICAgIGRlZiB0ZXN0X2NvbXBpbGVfb25lX3dvcmtlcihzZWxmLCBjb21waWxlX2ZpbGVfbW9jaywgcG9vbF9tb2NrKToKKyAgICAgICAgY29tcGlsZWFsbC5jb21waWxlX2RpcihzZWxmLmRpcmVjdG9yeSwgcXVpZXQ9VHJ1ZSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShwb29sX21vY2suY2FsbGVkKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoY29tcGlsZV9maWxlX21vY2suY2FsbGVkKQorCisgICAgQG1vY2sucGF0Y2goJ2NvbXBpbGVhbGwuUHJvY2Vzc1Bvb2xFeGVjdXRvcicsIG5ldz1Ob25lKQorICAgIGRlZiB0ZXN0X2NvbXBpbGVfbWlzc2luZ19tdWx0aXByb2Nlc3Npbmcoc2VsZik6CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXNSZWdleChOb3RJbXBsZW1lbnRlZEVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm11bHRpcHJvY2Vzc2luZyBzdXBwb3J0IG5vdCBhdmFpbGFibGUiKToKKyAgICAgICAgICAgIGNvbXBpbGVhbGwuY29tcGlsZV9kaXIoc2VsZi5kaXJlY3RvcnksIHF1aWV0PVRydWUsIHdvcmtlcnM9NSkKIAogY2xhc3MgRW5jb2RpbmdUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAiIiJJc3N1ZSA2NzE2OiBjb21waWxlYWxsIHNob3VsZCBlc2NhcGUgc291cmNlIGNvZGUgd2hlbiBwcmludGluZyBlcnJvcnMKQEAgLTI3MywxMiArMzA3LDUzIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0Q29tcGlsZWQoc3ViaW5pdGZuKQogICAgICAgICBzZWxmLmFzc2VydENvbXBpbGVkKGhhbWZuKQogCisgICAgZGVmIHRlc3RfcmVjdXJzaW9uX2xpbWl0KHNlbGYpOgorICAgICAgICBzdWJwYWNrYWdlID0gb3MucGF0aC5qb2luKHNlbGYucGtnZGlyLCAnc3BhbScpCisgICAgICAgIHN1YnBhY2thZ2UyID0gb3MucGF0aC5qb2luKHN1YnBhY2thZ2UsICdoYW0nKQorICAgICAgICBzdWJwYWNrYWdlMyA9IG9zLnBhdGguam9pbihzdWJwYWNrYWdlMiwgJ2VnZ3MnKQorICAgICAgICBmb3IgcGtnIGluIChzdWJwYWNrYWdlLCBzdWJwYWNrYWdlMiwgc3VicGFja2FnZTMpOgorICAgICAgICAgICAgc2NyaXB0X2hlbHBlci5tYWtlX3BrZyhwa2cpCisKKyAgICAgICAgc3ViaW5pdGZuID0gb3MucGF0aC5qb2luKHN1YnBhY2thZ2UsICdfX2luaXRfXy5weScpCisgICAgICAgIGhhbWZuID0gc2NyaXB0X2hlbHBlci5tYWtlX3NjcmlwdChzdWJwYWNrYWdlLCAnaGFtJywgJycpCisgICAgICAgIHNwYW1mbiA9IHNjcmlwdF9oZWxwZXIubWFrZV9zY3JpcHQoc3VicGFja2FnZTIsICdzcGFtJywgJycpCisgICAgICAgIGVnZ2ZuID0gc2NyaXB0X2hlbHBlci5tYWtlX3NjcmlwdChzdWJwYWNrYWdlMywgJ2VnZycsICcnKQorCisgICAgICAgIHNlbGYuYXNzZXJ0UnVuT0soJy1xJywgJy1yIDAnLCBzZWxmLnBrZ2RpcikKKyAgICAgICAgc2VsZi5hc3NlcnROb3RDb21waWxlZChzdWJpbml0Zm4pCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoCisgICAgICAgICAgICBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4oc3VicGFja2FnZSwgJ19fcHljYWNoZV9fJykpKQorCisgICAgICAgIHNlbGYuYXNzZXJ0UnVuT0soJy1xJywgJy1yIDEnLCBzZWxmLnBrZ2RpcikKKyAgICAgICAgc2VsZi5hc3NlcnRDb21waWxlZChzdWJpbml0Zm4pCisgICAgICAgIHNlbGYuYXNzZXJ0Q29tcGlsZWQoaGFtZm4pCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90Q29tcGlsZWQoc3BhbWZuKQorCisgICAgICAgIHNlbGYuYXNzZXJ0UnVuT0soJy1xJywgJy1yIDInLCBzZWxmLnBrZ2RpcikKKyAgICAgICAgc2VsZi5hc3NlcnRDb21waWxlZChzdWJpbml0Zm4pCisgICAgICAgIHNlbGYuYXNzZXJ0Q29tcGlsZWQoaGFtZm4pCisgICAgICAgIHNlbGYuYXNzZXJ0Q29tcGlsZWQoc3BhbWZuKQorICAgICAgICBzZWxmLmFzc2VydE5vdENvbXBpbGVkKGVnZ2ZuKQorCisgICAgICAgIHNlbGYuYXNzZXJ0UnVuT0soJy1xJywgJy1yIDUnLCBzZWxmLnBrZ2RpcikKKyAgICAgICAgc2VsZi5hc3NlcnRDb21waWxlZChzdWJpbml0Zm4pCisgICAgICAgIHNlbGYuYXNzZXJ0Q29tcGlsZWQoaGFtZm4pCisgICAgICAgIHNlbGYuYXNzZXJ0Q29tcGlsZWQoc3BhbWZuKQorICAgICAgICBzZWxmLmFzc2VydENvbXBpbGVkKGVnZ2ZuKQorCiAgICAgZGVmIHRlc3RfcXVpZXQoc2VsZik6CiAgICAgICAgIG5vaXN5ID0gc2VsZi5hc3NlcnRSdW5PSyhzZWxmLnBrZ2RpcikKICAgICAgICAgcXVpZXQgPSBzZWxmLmFzc2VydFJ1bk9LKCctcScsIHNlbGYucGtnZGlyKQogICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKGInJywgbm9pc3kpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYicnLCBxdWlldCkKIAorICAgIGRlZiB0ZXN0X3NpbGVudChzZWxmKToKKyAgICAgICAgc2NyaXB0X2hlbHBlci5tYWtlX3NjcmlwdChzZWxmLnBrZ2RpciwgJ2NydW5jaHlmcm9nJywgJ2JhZChzeW50YXgnKQorICAgICAgICBfLCBxdWlldCwgXyA9IHNlbGYuYXNzZXJ0UnVuTm90T0soJy1xJywgc2VsZi5wa2dkaXIpCisgICAgICAgIF8sIHNpbGVudCwgXyA9IHNlbGYuYXNzZXJ0UnVuTm90T0soJy1xcScsIHNlbGYucGtnZGlyKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKGInJywgcXVpZXQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYicnLCBzaWxlbnQpCisKICAgICBkZWYgdGVzdF9yZWdleHAoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0UnVuT0soJy1xJywgJy14JywgcidiYVteXFwvXSokJywgc2VsZi5wa2dkaXIpCiAgICAgICAgIHNlbGYuYXNzZXJ0Tm90Q29tcGlsZWQoc2VsZi5iYXJmbikKQEAgLTM3OSw2ICs0NTQsMjkgQEAKICAgICAgICAgb3V0ID0gc2VsZi5hc3NlcnRSdW5PSygnYmFkZmlsZW5hbWUnKQogICAgICAgICBzZWxmLmFzc2VydFJlZ2V4KG91dCwgYiJDYW4ndCBsaXN0ICdiYWRmaWxlbmFtZSciKQogCisgICAgQHNraXBVbmxlc3MoX2hhdmVfbXVsdGlwcm9jZXNzaW5nLCAicmVxdWlyZXMgbXVsdGlwcm9jZXNzaW5nIikKKyAgICBkZWYgdGVzdF93b3JrZXJzKHNlbGYpOgorICAgICAgICBiYXIyZm4gPSBzY3JpcHRfaGVscGVyLm1ha2Vfc2NyaXB0KHNlbGYuZGlyZWN0b3J5LCAnYmFyMicsICcnKQorICAgICAgICBmaWxlcyA9IFtdCisgICAgICAgIGZvciBzdWZmaXggaW4gcmFuZ2UoNSk6CisgICAgICAgICAgICBwa2dkaXIgPSBvcy5wYXRoLmpvaW4oc2VsZi5kaXJlY3RvcnksICdmb297fScuZm9ybWF0KHN1ZmZpeCkpCisgICAgICAgICAgICBvcy5ta2Rpcihwa2dkaXIpCisgICAgICAgICAgICBmbiA9IHNjcmlwdF9oZWxwZXIubWFrZV9zY3JpcHQocGtnZGlyLCAnX19pbml0X18nLCAnJykKKyAgICAgICAgICAgIGZpbGVzLmFwcGVuZChzY3JpcHRfaGVscGVyLm1ha2Vfc2NyaXB0KHBrZ2RpciwgJ2JhcjInLCAnJykpCisKKyAgICAgICAgc2VsZi5hc3NlcnRSdW5PSyhzZWxmLmRpcmVjdG9yeSwgJy1qJywgJzAnKQorICAgICAgICBzZWxmLmFzc2VydENvbXBpbGVkKGJhcjJmbikKKyAgICAgICAgZm9yIGZpbGUgaW4gZmlsZXM6CisgICAgICAgICAgICBzZWxmLmFzc2VydENvbXBpbGVkKGZpbGUpCisKKyAgICBAbW9jay5wYXRjaCgnY29tcGlsZWFsbC5jb21waWxlX2RpcicpCisgICAgZGVmIHRlc3Rfd29ya2Vyc19hdmFpbGFibGVfY29yZXMoc2VsZiwgY29tcGlsZV9kaXIpOgorICAgICAgICB3aXRoIG1vY2sucGF0Y2goInN5cy5hcmd2IiwKKyAgICAgICAgICAgICAgICAgICAgICAgIG5ldz1bc3lzLmV4ZWN1dGFibGUsIHNlbGYuZGlyZWN0b3J5LCAiLWowIl0pOgorICAgICAgICAgICAgY29tcGlsZWFsbC5tYWluKCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjb21waWxlX2Rpci5jYWxsZWQpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNvbXBpbGVfZGlyLmNhbGxfYXJnc1stMV1bJ3dvcmtlcnMnXSwgTm9uZSkKKwogCiBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgogICAgIHVuaXR0ZXN0Lm1haW4oKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9jb25jdXJyZW50X2Z1dHVyZXMucHkgYi9MaWIvdGVzdC90ZXN0X2NvbmN1cnJlbnRfZnV0dXJlcy5weQppbmRleCBjNzRiMmNhLi44NjgwMmMyIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2NvbmN1cnJlbnRfZnV0dXJlcy5weQorKysgYi9MaWIvdGVzdC90ZXN0X2NvbmN1cnJlbnRfZnV0dXJlcy5weQpAQCAtMTEsNiArMTEsNyBAQAogCiBmcm9tIHRlc3Quc2NyaXB0X2hlbHBlciBpbXBvcnQgYXNzZXJ0X3B5dGhvbl9vawogCitpbXBvcnQgb3MKIGltcG9ydCBzeXMKIGltcG9ydCB0aHJlYWRpbmcKIGltcG9ydCB0aW1lCkBAIC00MjUsNiArNDI2LDEzIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjb2xsZWN0ZWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAiU3RhbGUgcmVmZXJlbmNlIG5vdCBjb2xsZWN0ZWQgd2l0aGluIHRpbWVvdXQuIikKIAorICAgIGRlZiB0ZXN0X21heF93b3JrZXJzX25lZ2F0aXZlKHNlbGYpOgorICAgICAgICBmb3IgbnVtYmVyIGluICgwLCAtMSk6CisgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVmFsdWVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWF4X3dvcmtlcnMgbXVzdCBiZSBncmVhdGVyICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGhhbiAwIik6CisgICAgICAgICAgICAgICAgc2VsZi5leGVjdXRvcl90eXBlKG1heF93b3JrZXJzPW51bWJlcikKKwogCiBjbGFzcyBUaHJlYWRQb29sRXhlY3V0b3JUZXN0KFRocmVhZFBvb2xNaXhpbiwgRXhlY3V0b3JUZXN0LCB1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIHRlc3RfbWFwX3N1Ym1pdHNfd2l0aG91dF9pdGVyYXRpb24oc2VsZik6CkBAIC00MzcsNiArNDQ1LDExIEBACiAgICAgICAgIHNlbGYuZXhlY3V0b3Iuc2h1dGRvd24od2FpdD1UcnVlKQogICAgICAgICBzZWxmLmFzc2VydENvdW50RXF1YWwoZmluaXNoZWQsIHJhbmdlKDEwKSkKIAorICAgIGRlZiB0ZXN0X2RlZmF1bHRfd29ya2VycyhzZWxmKToKKyAgICAgICAgZXhlY3V0b3IgPSBzZWxmLmV4ZWN1dG9yX3R5cGUoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4ZWN1dG9yLl9tYXhfd29ya2VycywKKyAgICAgICAgICAgICAgICAgICAgICAgICAob3MuY3B1X2NvdW50KCkgb3IgMSkgKiA1KQorCiAKIGNsYXNzIFByb2Nlc3NQb29sRXhlY3V0b3JUZXN0KFByb2Nlc3NQb29sTWl4aW4sIEV4ZWN1dG9yVGVzdCwgdW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGRlZiB0ZXN0X2tpbGxlZF9jaGlsZChzZWxmKToKQEAgLTQ1MSw2ICs0NjQsNDggQEAKICAgICAgICAgIyBTdWJtaXR0aW5nIG90aGVyIGpvYnMgZmFpbHMgYXMgd2VsbC4KICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQnJva2VuUHJvY2Vzc1Bvb2wsIHNlbGYuZXhlY3V0b3Iuc3VibWl0LCBwb3csIDIsIDgpCiAKKyAgICBkZWYgdGVzdF9tYXBfY2h1bmtzaXplKHNlbGYpOgorICAgICAgICBkZWYgYmFkX21hcCgpOgorICAgICAgICAgICAgbGlzdChzZWxmLmV4ZWN1dG9yLm1hcChwb3csIHJhbmdlKDQwKSwgcmFuZ2UoNDApLCBjaHVua3NpemU9LTEpKQorCisgICAgICAgIHJlZiA9IGxpc3QobWFwKHBvdywgcmFuZ2UoNDApLCByYW5nZSg0MCkpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgbGlzdChzZWxmLmV4ZWN1dG9yLm1hcChwb3csIHJhbmdlKDQwKSwgcmFuZ2UoNDApLCBjaHVua3NpemU9NikpLAorICAgICAgICAgICAgcmVmKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgbGlzdChzZWxmLmV4ZWN1dG9yLm1hcChwb3csIHJhbmdlKDQwKSwgcmFuZ2UoNDApLCBjaHVua3NpemU9NTApKSwKKyAgICAgICAgICAgIHJlZikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIGxpc3Qoc2VsZi5leGVjdXRvci5tYXAocG93LCByYW5nZSg0MCksIHJhbmdlKDQwKSwgY2h1bmtzaXplPTQwKSksCisgICAgICAgICAgICByZWYpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGJhZF9tYXApCisKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgX3Rlc3RfdHJhY2ViYWNrKGNscyk6CisgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcigxMjMpICMgc29tZSBjb21tZW50CisKKyAgICBkZWYgdGVzdF90cmFjZWJhY2soc2VsZik6CisgICAgICAgICMgV2Ugd2FudCBlbnN1cmUgdGhhdCB0aGUgdHJhY2ViYWNrIGZyb20gdGhlIGNoaWxkIHByb2Nlc3MgaXMKKyAgICAgICAgIyBjb250YWluZWQgaW4gdGhlIHRyYWNlYmFjayByYWlzZWQgaW4gdGhlIG1haW4gcHJvY2Vzcy4KKyAgICAgICAgZnV0dXJlID0gc2VsZi5leGVjdXRvci5zdWJtaXQoc2VsZi5fdGVzdF90cmFjZWJhY2spCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoRXhjZXB0aW9uKSBhcyBjbToKKyAgICAgICAgICAgIGZ1dHVyZS5yZXN1bHQoKQorCisgICAgICAgIGV4YyA9IGNtLmV4Y2VwdGlvbgorICAgICAgICBzZWxmLmFzc2VydElzKHR5cGUoZXhjKSwgUnVudGltZUVycm9yKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4Yy5hcmdzLCAoMTIzLCkpCisgICAgICAgIGNhdXNlID0gZXhjLl9fY2F1c2VfXworICAgICAgICBzZWxmLmFzc2VydElzKHR5cGUoY2F1c2UpLCBmdXR1cmVzLnByb2Nlc3MuX1JlbW90ZVRyYWNlYmFjaykKKyAgICAgICAgc2VsZi5hc3NlcnRJbigncmFpc2UgUnVudGltZUVycm9yKDEyMykgIyBzb21lIGNvbW1lbnQnLCBjYXVzZS50YikKKworICAgICAgICB3aXRoIHRlc3Quc3VwcG9ydC5jYXB0dXJlZF9zdGRlcnIoKSBhcyBmMToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICByYWlzZSBleGMKKyAgICAgICAgICAgIGV4Y2VwdCBSdW50aW1lRXJyb3I6CisgICAgICAgICAgICAgICAgc3lzLmV4Y2VwdGhvb2soKnN5cy5leGNfaW5mbygpKQorICAgICAgICBzZWxmLmFzc2VydEluKCdyYWlzZSBSdW50aW1lRXJyb3IoMTIzKSAjIHNvbWUgY29tbWVudCcsCisgICAgICAgICAgICAgICAgICAgICAgZjEuZ2V0dmFsdWUoKSkKKwogCiBjbGFzcyBGdXR1cmVUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIHRlc3RfZG9uZV9jYWxsYmFja193aXRoX3Jlc3VsdChzZWxmKToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfY29uZmlncGFyc2VyLnB5IGIvTGliL3Rlc3QvdGVzdF9jb25maWdwYXJzZXIucHkKaW5kZXggMDljMjI5YS4uNDcwZDJjZCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9jb25maWdwYXJzZXIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9jb25maWdwYXJzZXIucHkKQEAgLTU3OSw3ICs1NzksNyBAQAogICAgICAgICAgICAgcmV0dXJuIGUKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHNlbGYuZmFpbCgiZXhwZWN0ZWQgZXhjZXB0aW9uIHR5cGUgJXMuJXMiCi0gICAgICAgICAgICAgICAgICAgICAgJSAoZXhjLl9fbW9kdWxlX18sIGV4Yy5fX25hbWVfXykpCisgICAgICAgICAgICAgICAgICAgICAgJSAoZXhjLl9fbW9kdWxlX18sIGV4Yy5fX3F1YWxuYW1lX18pKQogCiAgICAgZGVmIHRlc3RfYm9vbGVhbihzZWxmKToKICAgICAgICAgY2YgPSBzZWxmLmZyb21zdHJpbmcoCkBAIC0xNTg0LDYgKzE1ODQsMzQgQEAKICAgICAgICAgIiIiKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcHIocGFyc2VyWydzZWN0aW9uJ10pLCAnPFNlY3Rpb246IHNlY3Rpb24+JykKIAorICAgIGRlZiB0ZXN0X2luY29uc2lzdGVudF9jb252ZXJ0ZXJzX3N0YXRlKHNlbGYpOgorICAgICAgICBwYXJzZXIgPSBjb25maWdwYXJzZXIuQ29uZmlnUGFyc2VyKCkKKyAgICAgICAgaW1wb3J0IGRlY2ltYWwKKyAgICAgICAgcGFyc2VyLmNvbnZlcnRlcnNbJ2RlY2ltYWwnXSA9IGRlY2ltYWwuRGVjaW1hbAorICAgICAgICBwYXJzZXIucmVhZF9zdHJpbmcoIiIiCisgICAgICAgICAgICBbczFdCisgICAgICAgICAgICBvbmUgPSAxCisgICAgICAgICAgICBbczJdCisgICAgICAgICAgICB0d28gPSAyCisgICAgICAgICIiIikKKyAgICAgICAgc2VsZi5hc3NlcnRJbignZGVjaW1hbCcsIHBhcnNlci5jb252ZXJ0ZXJzKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBhcnNlci5nZXRkZWNpbWFsKCdzMScsICdvbmUnKSwgMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwYXJzZXIuZ2V0ZGVjaW1hbCgnczInLCAndHdvJyksIDIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocGFyc2VyWydzMSddLmdldGRlY2ltYWwoJ29uZScpLCAxKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBhcnNlclsnczInXS5nZXRkZWNpbWFsKCd0d28nKSwgMikKKyAgICAgICAgZGVsIHBhcnNlci5nZXRkZWNpbWFsCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IpOgorICAgICAgICAgICAgcGFyc2VyLmdldGRlY2ltYWwoJ3MxJywgJ29uZScpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ2RlY2ltYWwnLCBwYXJzZXIuY29udmVydGVycykKKyAgICAgICAgZGVsIHBhcnNlci5jb252ZXJ0ZXJzWydkZWNpbWFsJ10KKyAgICAgICAgc2VsZi5hc3NlcnROb3RJbignZGVjaW1hbCcsIHBhcnNlci5jb252ZXJ0ZXJzKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEF0dHJpYnV0ZUVycm9yKToKKyAgICAgICAgICAgIHBhcnNlci5nZXRkZWNpbWFsKCdzMScsICdvbmUnKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEF0dHJpYnV0ZUVycm9yKToKKyAgICAgICAgICAgIHBhcnNlclsnczEnXS5nZXRkZWNpbWFsKCdvbmUnKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEF0dHJpYnV0ZUVycm9yKToKKyAgICAgICAgICAgIHBhcnNlclsnczInXS5nZXRkZWNpbWFsKCd0d28nKQorCiAKIGNsYXNzIEV4Y2VwdGlvblBpY2tsaW5nVGVzdENhc2UodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICIiIlRlc3RzIGZvciBpc3N1ZSAjMTM3NjA6IENvbmZpZ1BhcnNlciBleGNlcHRpb25zIGFyZSBub3QgcGlja2xhYmxlLiIiIgpAQCAtMTc3Niw1ICsxODA0LDI1MiBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNbJ2szJ10sICd2MzsjLy9zdGlsbCB2MyMgYW5kIHN0aWxsIHYzJykKIAogCitjbGFzcyBFeGNlcHRpb25Db250ZXh0VGVzdENhc2UodW5pdHRlc3QuVGVzdENhc2UpOgorICAgICIiIiBUZXN0IHRoYXQgaW1wbGVtZW50YXRpb24gZGV0YWlscyBkb2Vzbid0IGxlYWsKKyAgICB0aHJvdWdoIHJhaXNpbmcgZXhjZXB0aW9ucy4gIiIiCisKKyAgICBkZWYgdGVzdF9nZXRfYmFzaWNfaW50ZXJwb2xhdGlvbihzZWxmKToKKyAgICAgICAgcGFyc2VyID0gY29uZmlncGFyc2VyLkNvbmZpZ1BhcnNlcigpCisgICAgICAgIHBhcnNlci5yZWFkX3N0cmluZygiIiIKKyAgICAgICAgW1BhdGhzXQorICAgICAgICBob21lX2RpcjogL1VzZXJzCisgICAgICAgIG15X2RpcjogJShob21lX2RpcjEpcy9sdW1iZXJqYWNrCisgICAgICAgIG15X3BpY3R1cmVzOiAlKG15X2RpcilzL1BpY3R1cmVzCisgICAgICAgICIiIikKKyAgICAgICAgY20gPSBzZWxmLmFzc2VydFJhaXNlcyhjb25maWdwYXJzZXIuSW50ZXJwb2xhdGlvbk1pc3NpbmdPcHRpb25FcnJvcikKKyAgICAgICAgd2l0aCBjbToKKyAgICAgICAgICAgIHBhcnNlci5nZXQoJ1BhdGhzJywgJ215X2RpcicpCisgICAgICAgIHNlbGYuYXNzZXJ0SXMoY20uZXhjZXB0aW9uLl9fc3VwcHJlc3NfY29udGV4dF9fLCBUcnVlKQorCisgICAgZGVmIHRlc3RfZ2V0X2V4dGVuZGVkX2ludGVycG9sYXRpb24oc2VsZik6CisgICAgICAgIHBhcnNlciA9IGNvbmZpZ3BhcnNlci5Db25maWdQYXJzZXIoCisgICAgICAgICAgaW50ZXJwb2xhdGlvbj1jb25maWdwYXJzZXIuRXh0ZW5kZWRJbnRlcnBvbGF0aW9uKCkpCisgICAgICAgIHBhcnNlci5yZWFkX3N0cmluZygiIiIKKyAgICAgICAgW1BhdGhzXQorICAgICAgICBob21lX2RpcjogL1VzZXJzCisgICAgICAgIG15X2RpcjogJHtob21lX2RpcjF9L2x1bWJlcmphY2sKKyAgICAgICAgbXlfcGljdHVyZXM6ICR7bXlfZGlyfS9QaWN0dXJlcworICAgICAgICAiIiIpCisgICAgICAgIGNtID0gc2VsZi5hc3NlcnRSYWlzZXMoY29uZmlncGFyc2VyLkludGVycG9sYXRpb25NaXNzaW5nT3B0aW9uRXJyb3IpCisgICAgICAgIHdpdGggY206CisgICAgICAgICAgICBwYXJzZXIuZ2V0KCdQYXRocycsICdteV9kaXInKQorICAgICAgICBzZWxmLmFzc2VydElzKGNtLmV4Y2VwdGlvbi5fX3N1cHByZXNzX2NvbnRleHRfXywgVHJ1ZSkKKworICAgIGRlZiB0ZXN0X21pc3Npbmdfb3B0aW9ucyhzZWxmKToKKyAgICAgICAgcGFyc2VyID0gY29uZmlncGFyc2VyLkNvbmZpZ1BhcnNlcigpCisgICAgICAgIHBhcnNlci5yZWFkX3N0cmluZygiIiIKKyAgICAgICAgW1BhdGhzXQorICAgICAgICBob21lX2RpcjogL1VzZXJzCisgICAgICAgICIiIikKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhjb25maWdwYXJzZXIuTm9TZWN0aW9uRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgcGFyc2VyLm9wdGlvbnMoJ3Rlc3QnKQorICAgICAgICBzZWxmLmFzc2VydElzKGNtLmV4Y2VwdGlvbi5fX3N1cHByZXNzX2NvbnRleHRfXywgVHJ1ZSkKKworICAgIGRlZiB0ZXN0X21pc3Npbmdfc2VjdGlvbihzZWxmKToKKyAgICAgICAgY29uZmlnID0gY29uZmlncGFyc2VyLkNvbmZpZ1BhcnNlcigpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoY29uZmlncGFyc2VyLk5vU2VjdGlvbkVycm9yKSBhcyBjbToKKyAgICAgICAgICAgIGNvbmZpZy5zZXQoJ1NlY3Rpb24xJywgJ2FuX2ludCcsICcxNScpCisgICAgICAgIHNlbGYuYXNzZXJ0SXMoY20uZXhjZXB0aW9uLl9fc3VwcHJlc3NfY29udGV4dF9fLCBUcnVlKQorCisgICAgZGVmIHRlc3RfcmVtb3ZlX29wdGlvbihzZWxmKToKKyAgICAgICAgY29uZmlnID0gY29uZmlncGFyc2VyLkNvbmZpZ1BhcnNlcigpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoY29uZmlncGFyc2VyLk5vU2VjdGlvbkVycm9yKSBhcyBjbToKKyAgICAgICAgICAgIGNvbmZpZy5yZW1vdmVfb3B0aW9uKCdTZWN0aW9uMScsICdhbl9pbnQnKQorICAgICAgICBzZWxmLmFzc2VydElzKGNtLmV4Y2VwdGlvbi5fX3N1cHByZXNzX2NvbnRleHRfXywgVHJ1ZSkKKworCitjbGFzcyBDb252ZXJ0ZXJzVGVzdENhc2UoQmFzaWNUZXN0Q2FzZSwgdW5pdHRlc3QuVGVzdENhc2UpOgorICAgICIiIkludHJvZHVjZWQgaW4gMy41LCBpc3N1ZSAjMTgxNTkuIiIiCisKKyAgICBjb25maWdfY2xhc3MgPSBjb25maWdwYXJzZXIuQ29uZmlnUGFyc2VyCisKKyAgICBkZWYgbmV3Y29uZmlnKHNlbGYsIGRlZmF1bHRzPU5vbmUpOgorICAgICAgICBpbnN0YW5jZSA9IHN1cGVyKCkubmV3Y29uZmlnKGRlZmF1bHRzPWRlZmF1bHRzKQorICAgICAgICBpbnN0YW5jZS5jb252ZXJ0ZXJzWydsaXN0J10gPSBsYW1iZGEgdjogW2Uuc3RyaXAoKSBmb3IgZSBpbiB2LnNwbGl0KCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBlLnN0cmlwKCldCisgICAgICAgIHJldHVybiBpbnN0YW5jZQorCisgICAgZGVmIHRlc3RfY29udmVydGVycyhzZWxmKToKKyAgICAgICAgY2ZnID0gc2VsZi5uZXdjb25maWcoKQorICAgICAgICBzZWxmLmFzc2VydEluKCdib29sZWFuJywgY2ZnLmNvbnZlcnRlcnMpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ2xpc3QnLCBjZmcuY29udmVydGVycykKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoY2ZnLmNvbnZlcnRlcnNbJ2ludCddKQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShjZmcuY29udmVydGVyc1snZmxvYXQnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoY2ZnLmNvbnZlcnRlcnNbJ2Jvb2xlYW4nXSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vdE5vbmUoY2ZnLmNvbnZlcnRlcnNbJ2xpc3QnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oY2ZnLmNvbnZlcnRlcnMpLCA0KQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgorICAgICAgICAgICAgY2ZnLmNvbnZlcnRlcnNbJyddID0gbGFtYmRhIHY6IHYKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yKToKKyAgICAgICAgICAgIGNmZy5jb252ZXJ0ZXJzW05vbmVdID0gbGFtYmRhIHY6IHYKKyAgICAgICAgY2ZnLnJlYWRfc3RyaW5nKCIiIgorICAgICAgICBbc10KKyAgICAgICAgc3RyID0gc3RyaW5nCisgICAgICAgIGludCA9IDEKKyAgICAgICAgZmxvYXQgPSAwLjUKKyAgICAgICAgbGlzdCA9IGEgYiBjIGQgZSBmIGcKKyAgICAgICAgYm9vbCA9IHllcworICAgICAgICAiIiIpCisgICAgICAgIHMgPSBjZmdbJ3MnXQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNbJ3N0ciddLCAnc3RyaW5nJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzWydpbnQnXSwgJzEnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNbJ2Zsb2F0J10sICcwLjUnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNbJ2xpc3QnXSwgJ2EgYiBjIGQgZSBmIGcnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNbJ2Jvb2wnXSwgJ3llcycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2ZnLmdldCgncycsICdzdHInKSwgJ3N0cmluZycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2ZnLmdldCgncycsICdpbnQnKSwgJzEnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNmZy5nZXQoJ3MnLCAnZmxvYXQnKSwgJzAuNScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2ZnLmdldCgncycsICdsaXN0JyksICdhIGIgYyBkIGUgZiBnJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjZmcuZ2V0KCdzJywgJ2Jvb2wnKSwgJ3llcycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2ZnLmdldCgncycsICdzdHInKSwgJ3N0cmluZycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2ZnLmdldGludCgncycsICdpbnQnKSwgMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjZmcuZ2V0ZmxvYXQoJ3MnLCAnZmxvYXQnKSwgMC41KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNmZy5nZXRsaXN0KCdzJywgJ2xpc3QnKSwgWydhJywgJ2InLCAnYycsICdkJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZScsICdmJywgJ2cnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjZmcuZ2V0Ym9vbGVhbigncycsICdib29sJyksIFRydWUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocy5nZXQoJ3N0cicpLCAnc3RyaW5nJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzLmdldGludCgnaW50JyksIDEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocy5nZXRmbG9hdCgnZmxvYXQnKSwgMC41KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHMuZ2V0bGlzdCgnbGlzdCcpLCBbJ2EnLCAnYicsICdjJywgJ2QnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2UnLCAnZicsICdnJ10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocy5nZXRib29sZWFuKCdib29sJyksIFRydWUpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IpOgorICAgICAgICAgICAgY2ZnLmdldGRlY2ltYWwoJ3MnLCAnZmxvYXQnKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEF0dHJpYnV0ZUVycm9yKToKKyAgICAgICAgICAgIHMuZ2V0ZGVjaW1hbCgnZmxvYXQnKQorICAgICAgICBpbXBvcnQgZGVjaW1hbAorICAgICAgICBjZmcuY29udmVydGVyc1snZGVjaW1hbCddID0gZGVjaW1hbC5EZWNpbWFsCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ2RlY2ltYWwnLCBjZmcuY29udmVydGVycykKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vdE5vbmUoY2ZnLmNvbnZlcnRlcnNbJ2RlY2ltYWwnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oY2ZnLmNvbnZlcnRlcnMpLCA1KQorICAgICAgICBkZWMwXzUgPSBkZWNpbWFsLkRlY2ltYWwoJzAuNScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2ZnLmdldGRlY2ltYWwoJ3MnLCAnZmxvYXQnKSwgZGVjMF81KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHMuZ2V0ZGVjaW1hbCgnZmxvYXQnKSwgZGVjMF81KQorICAgICAgICBkZWwgY2ZnLmNvbnZlcnRlcnNbJ2RlY2ltYWwnXQorICAgICAgICBzZWxmLmFzc2VydE5vdEluKCdkZWNpbWFsJywgY2ZnLmNvbnZlcnRlcnMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGNmZy5jb252ZXJ0ZXJzKSwgNCkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhBdHRyaWJ1dGVFcnJvcik6CisgICAgICAgICAgICBjZmcuZ2V0ZGVjaW1hbCgncycsICdmbG9hdCcpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IpOgorICAgICAgICAgICAgcy5nZXRkZWNpbWFsKCdmbG9hdCcpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoS2V5RXJyb3IpOgorICAgICAgICAgICAgZGVsIGNmZy5jb252ZXJ0ZXJzWydkZWNpbWFsJ10KKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhLZXlFcnJvcik6CisgICAgICAgICAgICBkZWwgY2ZnLmNvbnZlcnRlcnNbJyddCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoS2V5RXJyb3IpOgorICAgICAgICAgICAgZGVsIGNmZy5jb252ZXJ0ZXJzW05vbmVdCisKKworY2xhc3MgQmxhdGFudE92ZXJyaWRlQ29udmVydGVyc1Rlc3RDYXNlKHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICAiIiJXaGF0IGlmIHNvbWVib2R5IG92ZXJyb2RlIGEgZ2V0Ym9vbGVhbigpPyBXZSB3YW50IHRvIG1ha2Ugc3VyZSB0aGF0IGluCisgICAgdGhpcyBjYXNlIHRoZSBhdXRvbWF0aWMgY29udmVydGVycyBkbyBub3Qga2ljayBpbi4iIiIKKworICAgIGNvbmZpZyA9ICIiIgorICAgICAgICBbb25lXQorICAgICAgICBvbmUgPSBmYWxzZQorICAgICAgICB0d28gPSBmYWxzZQorICAgICAgICB0aHJlZSA9IGxvbmcgc3Rvcnkgc2hvcnQKKworICAgICAgICBbdHdvXQorICAgICAgICBvbmUgPSBmYWxzZQorICAgICAgICB0d28gPSBmYWxzZQorICAgICAgICB0aHJlZSA9IGZvdXIKKyAgICAiIiIKKworICAgIGRlZiB0ZXN0X2NvbnZlcnRlcnNfYXRfaW5pdChzZWxmKToKKyAgICAgICAgY2ZnID0gY29uZmlncGFyc2VyLkNvbmZpZ1BhcnNlcihjb252ZXJ0ZXJzPXsnbGVuJzogbGVufSkKKyAgICAgICAgY2ZnLnJlYWRfc3RyaW5nKHNlbGYuY29uZmlnKQorICAgICAgICBzZWxmLl90ZXN0X2xlbihjZmcpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb3ROb25lKGNmZy5jb252ZXJ0ZXJzWydsZW4nXSkKKworICAgIGRlZiB0ZXN0X2luaGVyaXRhbmNlKHNlbGYpOgorICAgICAgICBjbGFzcyBTdHJhbmdlQ29uZmlnUGFyc2VyKGNvbmZpZ3BhcnNlci5Db25maWdQYXJzZXIpOgorICAgICAgICAgICAgZ2V0dHlzYnVyZyA9ICdhIGhpc3RvcmljIGJvcm91Z2ggaW4gc291dGggY2VudHJhbCBQZW5uc3lsdmFuaWEnCisKKyAgICAgICAgICAgIGRlZiBnZXRib29sZWFuKHNlbGYsIHNlY3Rpb24sIG9wdGlvbiwgKiwgcmF3PUZhbHNlLCB2YXJzPU5vbmUsCisgICAgICAgICAgICAgICAgICAgICAgICBmYWxsYmFjaz1jb25maWdwYXJzZXIuX1VOU0VUKToKKyAgICAgICAgICAgICAgICBpZiBzZWN0aW9uID09IG9wdGlvbjoKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKKyAgICAgICAgICAgICAgICByZXR1cm4gc3VwZXIoKS5nZXRib29sZWFuKHNlY3Rpb24sIG9wdGlvbiwgcmF3PXJhdywgdmFycz12YXJzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsbGJhY2s9ZmFsbGJhY2spCisgICAgICAgICAgICBkZWYgZ2V0bGVuKHNlbGYsIHNlY3Rpb24sIG9wdGlvbiwgKiwgcmF3PUZhbHNlLCB2YXJzPU5vbmUsCisgICAgICAgICAgICAgICAgICAgICAgIGZhbGxiYWNrPWNvbmZpZ3BhcnNlci5fVU5TRVQpOgorICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLl9nZXRfY29udihzZWN0aW9uLCBvcHRpb24sIGxlbiwgcmF3PXJhdywgdmFycz12YXJzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxsYmFjaz1mYWxsYmFjaykKKworICAgICAgICBjZmcgPSBTdHJhbmdlQ29uZmlnUGFyc2VyKCkKKyAgICAgICAgY2ZnLnJlYWRfc3RyaW5nKHNlbGYuY29uZmlnKQorICAgICAgICBzZWxmLl90ZXN0X2xlbihjZmcpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKGNmZy5jb252ZXJ0ZXJzWydsZW4nXSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGNmZy5nZXRib29sZWFuKCdvbmUnLCAnb25lJykpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjZmcuZ2V0Ym9vbGVhbigndHdvJywgJ3R3bycpKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGNmZy5nZXRib29sZWFuKCdvbmUnLCAndHdvJykpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoY2ZnLmdldGJvb2xlYW4oJ3R3bycsICdvbmUnKSkKKyAgICAgICAgY2ZnLmNvbnZlcnRlcnNbJ2Jvb2xlYW4nXSA9IGNmZy5fY29udmVydF90b19ib29sZWFuCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoY2ZnLmdldGJvb2xlYW4oJ29uZScsICdvbmUnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShjZmcuZ2V0Ym9vbGVhbigndHdvJywgJ3R3bycpKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGNmZy5nZXRib29sZWFuKCdvbmUnLCAndHdvJykpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoY2ZnLmdldGJvb2xlYW4oJ3R3bycsICdvbmUnKSkKKworICAgIGRlZiBfdGVzdF9sZW4oc2VsZiwgY2ZnKToKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oY2ZnLmNvbnZlcnRlcnMpLCA0KQorICAgICAgICBzZWxmLmFzc2VydEluKCdib29sZWFuJywgY2ZnLmNvbnZlcnRlcnMpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ2xlbicsIGNmZy5jb252ZXJ0ZXJzKQorICAgICAgICBzZWxmLmFzc2VydE5vdEluKCd0eXNidXJnJywgY2ZnLmNvbnZlcnRlcnMpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKGNmZy5jb252ZXJ0ZXJzWydpbnQnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoY2ZnLmNvbnZlcnRlcnNbJ2Zsb2F0J10pCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKGNmZy5jb252ZXJ0ZXJzWydib29sZWFuJ10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2ZnLmdldGxlbignb25lJywgJ29uZScpLCA1KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNmZy5nZXRsZW4oJ29uZScsICd0d28nKSwgNSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjZmcuZ2V0bGVuKCdvbmUnLCAndGhyZWUnKSwgMTYpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2ZnLmdldGxlbigndHdvJywgJ29uZScpLCA1KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNmZy5nZXRsZW4oJ3R3bycsICd0d28nKSwgNSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjZmcuZ2V0bGVuKCd0d28nLCAndGhyZWUnKSwgNCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjZmcuZ2V0bGVuKCd0d28nLCAnZm91cicsIGZhbGxiYWNrPTApLCAwKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKGNvbmZpZ3BhcnNlci5Ob09wdGlvbkVycm9yKToKKyAgICAgICAgICAgIGNmZy5nZXRsZW4oJ3R3bycsICdmb3VyJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjZmdbJ29uZSddLmdldGxlbignb25lJyksIDUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2ZnWydvbmUnXS5nZXRsZW4oJ3R3bycpLCA1KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNmZ1snb25lJ10uZ2V0bGVuKCd0aHJlZScpLCAxNikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjZmdbJ3R3byddLmdldGxlbignb25lJyksIDUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2ZnWyd0d28nXS5nZXRsZW4oJ3R3bycpLCA1KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNmZ1sndHdvJ10uZ2V0bGVuKCd0aHJlZScpLCA0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNmZ1sndHdvJ10uZ2V0bGVuKCdmb3VyJywgMCksIDApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2ZnWyd0d28nXS5nZXRsZW4oJ2ZvdXInKSwgTm9uZSkKKworICAgIGRlZiB0ZXN0X2luc3RhbmNlX2Fzc2lnbm1lbnQoc2VsZik6CisgICAgICAgIGNmZyA9IGNvbmZpZ3BhcnNlci5Db25maWdQYXJzZXIoKQorICAgICAgICBjZmcuZ2V0Ym9vbGVhbiA9IGxhbWJkYSBzZWN0aW9uLCBvcHRpb246IFRydWUKKyAgICAgICAgY2ZnLmdldGxlbiA9IGxhbWJkYSBzZWN0aW9uLCBvcHRpb246IGxlbihjZmdbc2VjdGlvbl1bb3B0aW9uXSkKKyAgICAgICAgY2ZnLnJlYWRfc3RyaW5nKHNlbGYuY29uZmlnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihjZmcuY29udmVydGVycyksIDMpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ2Jvb2xlYW4nLCBjZmcuY29udmVydGVycykKKyAgICAgICAgc2VsZi5hc3NlcnROb3RJbignbGVuJywgY2ZnLmNvbnZlcnRlcnMpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKGNmZy5jb252ZXJ0ZXJzWydpbnQnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoY2ZnLmNvbnZlcnRlcnNbJ2Zsb2F0J10pCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKGNmZy5jb252ZXJ0ZXJzWydib29sZWFuJ10pCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjZmcuZ2V0Ym9vbGVhbignb25lJywgJ29uZScpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoY2ZnLmdldGJvb2xlYW4oJ3R3bycsICd0d28nKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGNmZy5nZXRib29sZWFuKCdvbmUnLCAndHdvJykpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjZmcuZ2V0Ym9vbGVhbigndHdvJywgJ29uZScpKQorICAgICAgICBjZmcuY29udmVydGVyc1snYm9vbGVhbiddID0gY2ZnLl9jb252ZXJ0X3RvX2Jvb2xlYW4KKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShjZmcuZ2V0Ym9vbGVhbignb25lJywgJ29uZScpKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGNmZy5nZXRib29sZWFuKCd0d28nLCAndHdvJykpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoY2ZnLmdldGJvb2xlYW4oJ29uZScsICd0d28nKSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShjZmcuZ2V0Ym9vbGVhbigndHdvJywgJ29uZScpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNmZy5nZXRsZW4oJ29uZScsICdvbmUnKSwgNSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjZmcuZ2V0bGVuKCdvbmUnLCAndHdvJyksIDUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2ZnLmdldGxlbignb25lJywgJ3RocmVlJyksIDE2KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNmZy5nZXRsZW4oJ3R3bycsICdvbmUnKSwgNSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjZmcuZ2V0bGVuKCd0d28nLCAndHdvJyksIDUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2ZnLmdldGxlbigndHdvJywgJ3RocmVlJyksIDQpCisgICAgICAgICMgSWYgYSBnZXR0ZXIgaW1wbCBpcyBhc3NpZ25lZCBzdHJhaWdodCB0byB0aGUgaW5zdGFuY2UsIGl0IHdvbid0CisgICAgICAgICMgYmUgYXZhaWxhYmxlIG9uIHRoZSBzZWN0aW9uIHByb3hpZXMuCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjZmdbJ29uZSddLmdldGxlbignb25lJyksIDUpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjZmdbJ3R3byddLmdldGxlbignb25lJyksIDUpCisKKwogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKICAgICB1bml0dGVzdC5tYWluKCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfY29udGV4dGxpYi5weSBiL0xpYi90ZXN0L3Rlc3RfY29udGV4dGxpYi5weQppbmRleCAzOWNjNzc2Li5jNTIwNjZiIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2NvbnRleHRsaWIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9jb250ZXh0bGliLnB5CkBAIC03MTgsNjAgKzcxOCw3NiBAQAogICAgICAgICBzdGFjay5wdXNoKGNtKQogICAgICAgICBzZWxmLmFzc2VydElzKHN0YWNrLl9leGl0X2NhbGxiYWNrc1stMV0sIGNtKQogCi1jbGFzcyBUZXN0UmVkaXJlY3RTdGRvdXQodW5pdHRlc3QuVGVzdENhc2UpOgorCitjbGFzcyBUZXN0UmVkaXJlY3RTdHJlYW06CisKKyAgICByZWRpcmVjdF9zdHJlYW0gPSBOb25lCisgICAgb3JpZ19zdHJlYW0gPSBOb25lCiAKICAgICBAc3VwcG9ydC5yZXF1aXJlc19kb2NzdHJpbmdzCiAgICAgZGVmIHRlc3RfaW5zdGFuY2VfZG9jcyhzZWxmKToKICAgICAgICAgIyBJc3N1ZSAxOTMzMDogZW5zdXJlIGNvbnRleHQgbWFuYWdlciBpbnN0YW5jZXMgaGF2ZSBnb29kIGRvY3N0cmluZ3MKLSAgICAgICAgY21fZG9jc3RyaW5nID0gcmVkaXJlY3Rfc3Rkb3V0Ll9fZG9jX18KLSAgICAgICAgb2JqID0gcmVkaXJlY3Rfc3Rkb3V0KE5vbmUpCisgICAgICAgIGNtX2RvY3N0cmluZyA9IHNlbGYucmVkaXJlY3Rfc3RyZWFtLl9fZG9jX18KKyAgICAgICAgb2JqID0gc2VsZi5yZWRpcmVjdF9zdHJlYW0oTm9uZSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvYmouX19kb2NfXywgY21fZG9jc3RyaW5nKQogCiAgICAgZGVmIHRlc3Rfbm9fcmVkaXJlY3RfaW5faW5pdChzZWxmKToKLSAgICAgICAgb3JpZ19zdGRvdXQgPSBzeXMuc3Rkb3V0Ci0gICAgICAgIHJlZGlyZWN0X3N0ZG91dChOb25lKQotICAgICAgICBzZWxmLmFzc2VydElzKHN5cy5zdGRvdXQsIG9yaWdfc3Rkb3V0KQorICAgICAgICBvcmlnX3N0ZG91dCA9IGdldGF0dHIoc3lzLCBzZWxmLm9yaWdfc3RyZWFtKQorICAgICAgICBzZWxmLnJlZGlyZWN0X3N0cmVhbShOb25lKQorICAgICAgICBzZWxmLmFzc2VydElzKGdldGF0dHIoc3lzLCBzZWxmLm9yaWdfc3RyZWFtKSwgb3JpZ19zdGRvdXQpCiAKICAgICBkZWYgdGVzdF9yZWRpcmVjdF90b19zdHJpbmdfaW8oc2VsZik6CiAgICAgICAgIGYgPSBpby5TdHJpbmdJTygpCiAgICAgICAgIG1zZyA9ICJDb25zaWRlciBhbiBBUEkgbGlrZSBoZWxwKCksIHdoaWNoIHByaW50cyBkaXJlY3RseSB0byBzdGRvdXQiCi0gICAgICAgIG9yaWdfc3Rkb3V0ID0gc3lzLnN0ZG91dAotICAgICAgICB3aXRoIHJlZGlyZWN0X3N0ZG91dChmKToKLSAgICAgICAgICAgIHByaW50KG1zZykKLSAgICAgICAgc2VsZi5hc3NlcnRJcyhzeXMuc3Rkb3V0LCBvcmlnX3N0ZG91dCkKKyAgICAgICAgb3JpZ19zdGRvdXQgPSBnZXRhdHRyKHN5cywgc2VsZi5vcmlnX3N0cmVhbSkKKyAgICAgICAgd2l0aCBzZWxmLnJlZGlyZWN0X3N0cmVhbShmKToKKyAgICAgICAgICAgIHByaW50KG1zZywgZmlsZT1nZXRhdHRyKHN5cywgc2VsZi5vcmlnX3N0cmVhbSkpCisgICAgICAgIHNlbGYuYXNzZXJ0SXMoZ2V0YXR0cihzeXMsIHNlbGYub3JpZ19zdHJlYW0pLCBvcmlnX3N0ZG91dCkKICAgICAgICAgcyA9IGYuZ2V0dmFsdWUoKS5zdHJpcCgpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocywgbXNnKQogCiAgICAgZGVmIHRlc3RfZW50ZXJfcmVzdWx0X2lzX3RhcmdldChzZWxmKToKICAgICAgICAgZiA9IGlvLlN0cmluZ0lPKCkKLSAgICAgICAgd2l0aCByZWRpcmVjdF9zdGRvdXQoZikgYXMgZW50ZXJfcmVzdWx0OgorICAgICAgICB3aXRoIHNlbGYucmVkaXJlY3Rfc3RyZWFtKGYpIGFzIGVudGVyX3Jlc3VsdDoKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMoZW50ZXJfcmVzdWx0LCBmKQogCiAgICAgZGVmIHRlc3RfY21faXNfcmV1c2FibGUoc2VsZik6CiAgICAgICAgIGYgPSBpby5TdHJpbmdJTygpCi0gICAgICAgIHdyaXRlX3RvX2YgPSByZWRpcmVjdF9zdGRvdXQoZikKLSAgICAgICAgb3JpZ19zdGRvdXQgPSBzeXMuc3Rkb3V0CisgICAgICAgIHdyaXRlX3RvX2YgPSBzZWxmLnJlZGlyZWN0X3N0cmVhbShmKQorICAgICAgICBvcmlnX3N0ZG91dCA9IGdldGF0dHIoc3lzLCBzZWxmLm9yaWdfc3RyZWFtKQogICAgICAgICB3aXRoIHdyaXRlX3RvX2Y6Ci0gICAgICAgICAgICBwcmludCgiSGVsbG8iLCBlbmQ9IiAiKQorICAgICAgICAgICAgcHJpbnQoIkhlbGxvIiwgZW5kPSIgIiwgZmlsZT1nZXRhdHRyKHN5cywgc2VsZi5vcmlnX3N0cmVhbSkpCiAgICAgICAgIHdpdGggd3JpdGVfdG9fZjoKLSAgICAgICAgICAgIHByaW50KCJXb3JsZCEiKQotICAgICAgICBzZWxmLmFzc2VydElzKHN5cy5zdGRvdXQsIG9yaWdfc3Rkb3V0KQorICAgICAgICAgICAgcHJpbnQoIldvcmxkISIsIGZpbGU9Z2V0YXR0cihzeXMsIHNlbGYub3JpZ19zdHJlYW0pKQorICAgICAgICBzZWxmLmFzc2VydElzKGdldGF0dHIoc3lzLCBzZWxmLm9yaWdfc3RyZWFtKSwgb3JpZ19zdGRvdXQpCiAgICAgICAgIHMgPSBmLmdldHZhbHVlKCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzLCAiSGVsbG8gV29ybGQhXG4iKQogCiAgICAgZGVmIHRlc3RfY21faXNfcmVlbnRyYW50KHNlbGYpOgogICAgICAgICBmID0gaW8uU3RyaW5nSU8oKQotICAgICAgICB3cml0ZV90b19mID0gcmVkaXJlY3Rfc3Rkb3V0KGYpCi0gICAgICAgIG9yaWdfc3Rkb3V0ID0gc3lzLnN0ZG91dAorICAgICAgICB3cml0ZV90b19mID0gc2VsZi5yZWRpcmVjdF9zdHJlYW0oZikKKyAgICAgICAgb3JpZ19zdGRvdXQgPSBnZXRhdHRyKHN5cywgc2VsZi5vcmlnX3N0cmVhbSkKICAgICAgICAgd2l0aCB3cml0ZV90b19mOgotICAgICAgICAgICAgcHJpbnQoIkhlbGxvIiwgZW5kPSIgIikKKyAgICAgICAgICAgIHByaW50KCJIZWxsbyIsIGVuZD0iICIsIGZpbGU9Z2V0YXR0cihzeXMsIHNlbGYub3JpZ19zdHJlYW0pKQogICAgICAgICAgICAgd2l0aCB3cml0ZV90b19mOgotICAgICAgICAgICAgICAgIHByaW50KCJXb3JsZCEiKQotICAgICAgICBzZWxmLmFzc2VydElzKHN5cy5zdGRvdXQsIG9yaWdfc3Rkb3V0KQorICAgICAgICAgICAgICAgIHByaW50KCJXb3JsZCEiLCBmaWxlPWdldGF0dHIoc3lzLCBzZWxmLm9yaWdfc3RyZWFtKSkKKyAgICAgICAgc2VsZi5hc3NlcnRJcyhnZXRhdHRyKHN5cywgc2VsZi5vcmlnX3N0cmVhbSksIG9yaWdfc3Rkb3V0KQogICAgICAgICBzID0gZi5nZXR2YWx1ZSgpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocywgIkhlbGxvIFdvcmxkIVxuIikKIAogCitjbGFzcyBUZXN0UmVkaXJlY3RTdGRvdXQoVGVzdFJlZGlyZWN0U3RyZWFtLCB1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICByZWRpcmVjdF9zdHJlYW0gPSByZWRpcmVjdF9zdGRvdXQKKyAgICBvcmlnX3N0cmVhbSA9ICJzdGRvdXQiCisKKworY2xhc3MgVGVzdFJlZGlyZWN0U3RkZXJyKFRlc3RSZWRpcmVjdFN0cmVhbSwgdW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgcmVkaXJlY3Rfc3RyZWFtID0gcmVkaXJlY3Rfc3RkZXJyCisgICAgb3JpZ19zdHJlYW0gPSAic3RkZXJyIgorCisKIGNsYXNzIFRlc3RTdXBwcmVzcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICBAc3VwcG9ydC5yZXF1aXJlc19kb2NzdHJpbmdzCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2Nwcm9maWxlLnB5IGIvTGliL3Rlc3QvdGVzdF9jcHJvZmlsZS5weQppbmRleCBjZTVkMjdlLi5mMTg5ODNmIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2Nwcm9maWxlLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfY3Byb2ZpbGUucHkKQEAgLTExLDcgKzExLDcgQEAKIGNsYXNzIENQcm9maWxlVGVzdChQcm9maWxlVGVzdCk6CiAgICAgcHJvZmlsZXJjbGFzcyA9IGNQcm9maWxlLlByb2ZpbGUKICAgICBwcm9maWxlcm1vZHVsZSA9IGNQcm9maWxlCi0gICAgZXhwZWN0ZWRfbWF4X291dHB1dCA9ICJ7YnVpbHQtaW4gbWV0aG9kIG1heH0iCisgICAgZXhwZWN0ZWRfbWF4X291dHB1dCA9ICJ7YnVpbHQtaW4gbWV0aG9kIGJ1aWx0aW5zLm1heH0iCiAKICAgICBkZWYgZ2V0X2V4cGVjdGVkX291dHB1dChzZWxmKToKICAgICAgICAgcmV0dXJuIF9Qcm9maWxlT3V0cHV0CkBAIC03Miw5ICs3Miw5IEBACiBwcm9maWxlZS5weTo4OChoZWxwZXIyKSAgICAgICAgICAgICAgICAgICAgICAgICAgIDwtICAgICAgIDYgICAgMC4yMzQgICAgMC4zMDAgIHByb2ZpbGVlLnB5OjU1KGhlbHBlcikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMiAgICAwLjA3OCAgICAwLjEwMCAgcHJvZmlsZWUucHk6ODQoaGVscGVyMl9pbmRpcmVjdCkKIHByb2ZpbGVlLnB5Ojk4KHN1YmhlbHBlcikgICAgICAgICAgICAgICAgICAgICAgICAgPC0gICAgICAgOCAgICAwLjA2NCAgICAwLjA4MCAgcHJvZmlsZWUucHk6ODgoaGVscGVyMikKLXtidWlsdC1pbiBtZXRob2QgZXhjX2luZm99ICAgICAgICAgICAgICAgICAgICAgICAgPC0gICAgICAgNCAgICAwLjAwMCAgICAwLjAwMCAgcHJvZmlsZWUucHk6NzMoaGVscGVyMSkKLXtidWlsdC1pbiBtZXRob2QgaGFzYXR0cn0gICAgICAgICAgICAgICAgICAgICAgICAgPC0gICAgICAgNCAgICAwLjAwMCAgICAwLjAwNCAgcHJvZmlsZWUucHk6NzMoaGVscGVyMSkKK3tidWlsdC1pbiBtZXRob2QgYnVpbHRpbnMuaGFzYXR0cn0gICAgICAgICAgICAgICAgPC0gICAgICAgNCAgICAwLjAwMCAgICAwLjAwNCAgcHJvZmlsZWUucHk6NzMoaGVscGVyMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOCAgICAwLjAwMCAgICAwLjAwOCAgcHJvZmlsZWUucHk6ODgoaGVscGVyMikKK3tidWlsdC1pbiBtZXRob2Qgc3lzLmV4Y19pbmZvfSAgICAgICAgICAgICAgICAgICAgPC0gICAgICAgNCAgICAwLjAwMCAgICAwLjAwMCAgcHJvZmlsZWUucHk6NzMoaGVscGVyMSkKIHttZXRob2QgJ2FwcGVuZCcgb2YgJ2xpc3QnIG9iamVjdHN9ICAgICAgICAgICAgICAgPC0gICAgICAgNCAgICAwLjAwMCAgICAwLjAwMCAgcHJvZmlsZWUucHk6NzMoaGVscGVyMSkiIiIKIF9Qcm9maWxlT3V0cHV0WydwcmludF9jYWxsZWVzJ10gPSAiIiJcCiA8c3RyaW5nPjoxKDxtb2R1bGU+KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICAgICAgIDEgICAgMC4yNzAgICAgMS4wMDAgIHByb2ZpbGVlLnB5OjI1KHRlc3RmdW5jKQpAQCAtODcsMTIgKzg3LDEyIEBACiBwcm9maWxlZS5weTo1NShoZWxwZXIpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICAgICAgIDQgICAgMC4xMTYgICAgMC4xMjAgIHByb2ZpbGVlLnB5OjczKGhlbHBlcjEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIgICAgMC4wMDAgICAgMC4xNDAgIHByb2ZpbGVlLnB5Ojg0KGhlbHBlcjJfaW5kaXJlY3QpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDYgICAgMC4yMzQgICAgMC4zMDAgIHByb2ZpbGVlLnB5Ojg4KGhlbHBlcjIpCi1wcm9maWxlZS5weTo3MyhoZWxwZXIxKSAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICAgICAgIDQgICAgMC4wMDAgICAgMC4wMDAgIHtidWlsdC1pbiBtZXRob2QgZXhjX2luZm99Citwcm9maWxlZS5weTo3MyhoZWxwZXIxKSAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICAgICAgIDQgICAgMC4wMDAgICAgMC4wMDQgIHtidWlsdC1pbiBtZXRob2QgYnVpbHRpbnMuaGFzYXR0cn0KIHByb2ZpbGVlLnB5Ojg0KGhlbHBlcjJfaW5kaXJlY3QpICAgICAgICAgICAgICAgICAgLT4gICAgICAgMiAgICAwLjAwNiAgICAwLjA0MCAgcHJvZmlsZWUucHk6MzUoZmFjdG9yaWFsKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyICAgIDAuMDc4ICAgIDAuMTAwICBwcm9maWxlZS5weTo4OChoZWxwZXIyKQogcHJvZmlsZWUucHk6ODgoaGVscGVyMikgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgICAgICA4ICAgIDAuMDY0ICAgIDAuMDgwICBwcm9maWxlZS5weTo5OChzdWJoZWxwZXIpCiBwcm9maWxlZS5weTo5OChzdWJoZWxwZXIpICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICAgICAgMTYgICAgMC4wMTYgICAgMC4wMTYgIHByb2ZpbGVlLnB5OjExMChfX2dldGF0dHJfXykKLXtidWlsdC1pbiBtZXRob2QgaGFzYXR0cn0gICAgICAgICAgICAgICAgICAgICAgICAgLT4gICAgICAxMiAgICAwLjAxMiAgICAwLjAxMiAgcHJvZmlsZWUucHk6MTEwKF9fZ2V0YXR0cl9fKSIiIgore2J1aWx0LWluIG1ldGhvZCBidWlsdGlucy5oYXNhdHRyfSAgICAgICAgICAgICAgICAtPiAgICAgIDEyICAgIDAuMDEyICAgIDAuMDEyICBwcm9maWxlZS5weToxMTAoX19nZXRhdHRyX18pIiIiCiAKIGlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CiAgICAgbWFpbigpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2Nzdi5weSBiL0xpYi90ZXN0L3Rlc3RfY3N2LnB5CmluZGV4IDdlMjQ4NWYuLjNmM2YzMjggMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfY3N2LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfY3N2LnB5CkBAIC01NzUsNiArNTc1LDE2IEBACiAgICAgICAgICAgICBmaWxlb2JqLnJlYWRsaW5lKCkgIyBoZWFkZXIKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZmlsZW9iai5yZWFkKCksICIxMCwsYWJjXHJcbiIpCiAKKyAgICBkZWYgdGVzdF93cml0ZV9tdWx0aXBsZV9kaWN0X3Jvd3Moc2VsZik6CisgICAgICAgIGZpbGVvYmogPSBTdHJpbmdJTygpCisgICAgICAgIHdyaXRlciA9IGNzdi5EaWN0V3JpdGVyKGZpbGVvYmosIGZpZWxkbmFtZXM9WyJmMSIsICJmMiIsICJmMyJdKQorICAgICAgICB3cml0ZXIud3JpdGVoZWFkZXIoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZpbGVvYmouZ2V0dmFsdWUoKSwgImYxLGYyLGYzXHJcbiIpCisgICAgICAgIHdyaXRlci53cml0ZXJvd3MoW3siZjEiOiAxLCAiZjIiOiAiYWJjIiwgImYzIjogImYifSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgeyJmMSI6IDIsICJmMiI6IDUsICJmMyI6ICJ4eXoifV0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZmlsZW9iai5nZXR2YWx1ZSgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICJmMSxmMixmM1xyXG4xLGFiYyxmXHJcbjIsNSx4eXpcclxuIikKKwogICAgIGRlZiB0ZXN0X3dyaXRlX25vX2ZpZWxkcyhzZWxmKToKICAgICAgICAgZmlsZW9iaiA9IFN0cmluZ0lPKCkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBjc3YuRGljdFdyaXRlciwgZmlsZW9iaikKQEAgLTc3Myw3ICs3ODMsNyBAQAogICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKGNzdi5FcnJvcikgYXMgY206CiAgICAgICAgICAgICBteWRpYWxlY3QoKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cihjbS5leGNlcHRpb24pLAotICAgICAgICAgICAgICAgICAgICAgICAgICcicXVvdGVjaGFyIiBtdXN0IGJlIGFuIDEtY2hhcmFjdGVyIHN0cmluZycpCisgICAgICAgICAgICAgICAgICAgICAgICAgJyJxdW90ZWNoYXIiIG11c3QgYmUgYSAxLWNoYXJhY3RlciBzdHJpbmcnKQogCiAgICAgICAgIG15ZGlhbGVjdC5xdW90ZWNoYXIgPSA0CiAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoY3N2LkVycm9yKSBhcyBjbToKQEAgLTc5NiwxMyArODA2LDEzIEBACiAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoY3N2LkVycm9yKSBhcyBjbToKICAgICAgICAgICAgIG15ZGlhbGVjdCgpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGNtLmV4Y2VwdGlvbiksCi0gICAgICAgICAgICAgICAgICAgICAgICAgJyJkZWxpbWl0ZXIiIG11c3QgYmUgYW4gMS1jaGFyYWN0ZXIgc3RyaW5nJykKKyAgICAgICAgICAgICAgICAgICAgICAgICAnImRlbGltaXRlciIgbXVzdCBiZSBhIDEtY2hhcmFjdGVyIHN0cmluZycpCiAKICAgICAgICAgbXlkaWFsZWN0LmRlbGltaXRlciA9ICIiCiAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoY3N2LkVycm9yKSBhcyBjbToKICAgICAgICAgICAgIG15ZGlhbGVjdCgpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGNtLmV4Y2VwdGlvbiksCi0gICAgICAgICAgICAgICAgICAgICAgICAgJyJkZWxpbWl0ZXIiIG11c3QgYmUgYW4gMS1jaGFyYWN0ZXIgc3RyaW5nJykKKyAgICAgICAgICAgICAgICAgICAgICAgICAnImRlbGltaXRlciIgbXVzdCBiZSBhIDEtY2hhcmFjdGVyIHN0cmluZycpCiAKICAgICAgICAgbXlkaWFsZWN0LmRlbGltaXRlciA9IGIiLCIKICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhjc3YuRXJyb3IpIGFzIGNtOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9kYXRldGltZS5weSBiL0xpYi90ZXN0L3Rlc3RfZGF0ZXRpbWUucHkKaW5kZXggZDlkZGIzMi4uMmQ0ZWI1MiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9kYXRldGltZS5weQorKysgYi9MaWIvdGVzdC90ZXN0X2RhdGV0aW1lLnB5CkBAIC0xLDIwICsxLDIwIEBACiBpbXBvcnQgdW5pdHRlc3QKIGltcG9ydCBzeXMKKwogZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IGltcG9ydF9mcmVzaF9tb2R1bGUsIHJ1bl91bml0dGVzdAogCiBURVNUUyA9ICd0ZXN0LmRhdGV0aW1ldGVzdGVyJwogCi0jIFhYWDogaW1wb3J0X2ZyZXNoX21vZHVsZSgpIGlzIHN1cHBvc2VkIHRvIGxlYXZlIHN5cy5tb2R1bGUgY2FjaGUgdW50b3VjaGVkLAotIyBYWFg6IGJ1dCBpdCBkb2VzIG5vdCwgc28gd2UgaGF2ZSB0byBzYXZlIGFuZCByZXN0b3JlIGl0IG91cnNlbHZlcy4KLXNhdmVfc3lzX21vZHVsZXMgPSBzeXMubW9kdWxlcy5jb3B5KCkKIHRyeToKICAgICBwdXJlX3Rlc3RzID0gaW1wb3J0X2ZyZXNoX21vZHVsZShURVNUUywgZnJlc2g9WydkYXRldGltZScsICdfc3RycHRpbWUnXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibG9ja2VkPVsnX2RhdGV0aW1lJ10pCiAgICAgZmFzdF90ZXN0cyA9IGltcG9ydF9mcmVzaF9tb2R1bGUoVEVTVFMsIGZyZXNoPVsnZGF0ZXRpbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19kYXRldGltZScsICdfc3RycHRpbWUnXSkKIGZpbmFsbHk6Ci0gICAgc3lzLm1vZHVsZXMuY2xlYXIoKQotICAgIHN5cy5tb2R1bGVzLnVwZGF0ZShzYXZlX3N5c19tb2R1bGVzKQorICAgICMgWFhYOiBpbXBvcnRfZnJlc2hfbW9kdWxlKCkgaXMgc3VwcG9zZWQgdG8gbGVhdmUgc3lzLm1vZHVsZSBjYWNoZSB1bnRvdWNoZWQsCisgICAgIyBYWFg6IGJ1dCBpdCBkb2VzIG5vdCwgc28gd2UgaGF2ZSB0byBjbGVhbnVwIG91cnNlbHZlcy4KKyAgICBmb3IgbW9kbmFtZSBpbiBbJ2RhdGV0aW1lJywgJ19kYXRldGltZScsICdfc3RycHRpbWUnXToKKyAgICAgICAgc3lzLm1vZHVsZXMucG9wKG1vZG5hbWUsIE5vbmUpCiB0ZXN0X21vZHVsZXMgPSBbcHVyZV90ZXN0cywgZmFzdF90ZXN0c10KIHRlc3Rfc3VmZml4ZXMgPSBbIl9QdXJlIiwgIl9GYXN0Il0KICMgWFhYKGdiKSBGaXJzdCBydW4gYWxsIHRoZSBfUHVyZSB0ZXN0cywgdGhlbiBhbGwgdGhlIF9GYXN0IHRlc3RzLiAgWW91IG1pZ2h0CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2RibV9kdW1iLnB5IGIvTGliL3Rlc3QvdGVzdF9kYm1fZHVtYi5weQppbmRleCAyOWY0OGEzLi5lZTVhMzJmIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2RibV9kdW1iLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfZGJtX2R1bWIucHkKQEAgLTIxNyw2ICsyMTcsMTQgQEAKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGNtLmV4Y2VwdGlvbiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJEQk0gb2JqZWN0IGhhcyBhbHJlYWR5IGJlZW4gY2xvc2VkIikKIAorICAgIGRlZiB0ZXN0X2NyZWF0ZV9uZXcoc2VsZik6CisgICAgICAgIHdpdGggZHVtYmRibS5vcGVuKF9mbmFtZSwgJ24nKSBhcyBmOgorICAgICAgICAgICAgZm9yIGsgaW4gc2VsZi5fZGljdDoKKyAgICAgICAgICAgICAgICBmW2tdID0gc2VsZi5fZGljdFtrXQorCisgICAgICAgIHdpdGggZHVtYmRibS5vcGVuKF9mbmFtZSwgJ24nKSBhcyBmOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmLmtleXMoKSwgW10pCisKICAgICBkZWYgdGVhckRvd24oc2VsZik6CiAgICAgICAgIF9kZWxldGVfZmlsZXMoKQogCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2RlY2ltYWwucHkgYi9MaWIvdGVzdC90ZXN0X2RlY2ltYWwucHkKaW5kZXggYTE3OGY2Zi4uMTM3YWFhNSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9kZWNpbWFsLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfZGVjaW1hbC5weQpAQCAtMzMsMTIgKzMzLDEzIEBACiBpbXBvcnQgbnVtYmVycwogaW1wb3J0IGxvY2FsZQogZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IChydW5fdW5pdHRlc3QsIHJ1bl9kb2N0ZXN0LCBpc19yZXNvdXJjZV9lbmFibGVkLAotICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlc19JRUVFXzc1NCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZXNfSUVFRV83NTQsIHJlcXVpcmVzX2RvY3N0cmluZ3MpCiBmcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgKGNoZWNrX3dhcm5pbmdzLCBpbXBvcnRfZnJlc2hfbW9kdWxlLCBUZXN0RmFpbGVkLAogICAgICAgICAgICAgICAgICAgICAgICAgICBydW5fd2l0aF9sb2NhbGUsIGNweXRob25fb25seSkKIGltcG9ydCByYW5kb20KIGltcG9ydCB0aW1lCiBpbXBvcnQgd2FybmluZ3MKK2ltcG9ydCBpbnNwZWN0CiB0cnk6CiAgICAgaW1wb3J0IHRocmVhZGluZwogZXhjZXB0IEltcG9ydEVycm9yOgpAQCAtNDE3NCw5ICs0MTc1LDcgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChDLl9fdmVyc2lvbl9fLCBQLl9fdmVyc2lvbl9fKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEMuX19saWJtcGRlY192ZXJzaW9uX18sIFAuX19saWJtcGRlY192ZXJzaW9uX18pCiAKLSAgICAgICAgeCA9IGRpcihDKQotICAgICAgICB5ID0gW3MgZm9yIHMgaW4gZGlyKFApIGlmICdfXycgaW4gcyBvciBub3Qgcy5zdGFydHN3aXRoKCdfJyldCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2V0KHgpIC0gc2V0KHkpLCBzZXQoKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkaXIoQyksIGRpcihQKSkKIAogICAgIGRlZiB0ZXN0X2NvbnRleHRfYXR0cmlidXRlcyhzZWxmKToKIApAQCAtNDQ1NSwxOCArNDQ1NCw2IEBACiBjbGFzcyBQeUZ1bmN0aW9uYWxpdHkodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICIiIkV4dHJhIGZ1bmN0aW9uYWxpdHkgaW4gZGVjaW1hbC5weSIiIgogCi0gICAgZGVmIHRlc3RfcHlfcXVhbnRpemVfd2F0Y2hleHAoc2VsZik6Ci0gICAgICAgICMgd2F0Y2hleHAgZnVuY3Rpb25hbGl0eQotICAgICAgICBEZWNpbWFsID0gUC5EZWNpbWFsCi0gICAgICAgIGxvY2FsY29udGV4dCA9IFAubG9jYWxjb250ZXh0Ci0KLSAgICAgICAgd2l0aCBsb2NhbGNvbnRleHQoKSBhcyBjOgotICAgICAgICAgICAgYy5wcmVjID0gMQotICAgICAgICAgICAgYy5FbWF4ID0gMQotICAgICAgICAgICAgYy5FbWluID0gLTEKLSAgICAgICAgICAgIHggPSBEZWNpbWFsKDk5OTk5KS5xdWFudGl6ZShEZWNpbWFsKCIxZTMiKSwgd2F0Y2hleHA9RmFsc2UpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHgsIERlY2ltYWwoJzEuMDBFKzUnKSkKLQogICAgIGRlZiB0ZXN0X3B5X2FsdGVybmF0ZV9mb3JtYXR0aW5nKHNlbGYpOgogICAgICAgICAjIHRyaXBsZXMgZ2l2aW5nIGEgZm9ybWF0LCBhIERlY2ltYWwsIGFuZCB0aGUgZXhwZWN0ZWQgcmVzdWx0CiAgICAgICAgIERlY2ltYWwgPSBQLkRlY2ltYWwKQEAgLTU0MDksNiArNTM5NiwxNDMgQEAKICAgICAgICAgICAgIHkgPSBEZWNpbWFsKDEwKiooOSoyNSkpLl9fc2l6ZW9mX18oKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh5LCB4KzQpCiAKK0ByZXF1aXJlc19kb2NzdHJpbmdzCitAdW5pdHRlc3Quc2tpcFVubGVzcyhDLCAidGVzdCByZXF1aXJlcyBDIHZlcnNpb24iKQorY2xhc3MgU2lnbmF0dXJlVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgIiIiRnVuY3Rpb24gc2lnbmF0dXJlcyIiIgorCisgICAgZGVmIHRlc3RfaW5zcGVjdF9tb2R1bGUoc2VsZik6CisgICAgICAgIGZvciBhdHRyIGluIGRpcihQKToKKyAgICAgICAgICAgIGlmIGF0dHIuc3RhcnRzd2l0aCgnXycpOgorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICBwX2Z1bmMgPSBnZXRhdHRyKFAsIGF0dHIpCisgICAgICAgICAgICBjX2Z1bmMgPSBnZXRhdHRyKEMsIGF0dHIpCisgICAgICAgICAgICBpZiAoYXR0ciA9PSAnRGVjaW1hbCcgb3IgYXR0ciA9PSAnQ29udGV4dCcgb3IKKyAgICAgICAgICAgICAgICBpbnNwZWN0LmlzZnVuY3Rpb24ocF9mdW5jKSk6CisgICAgICAgICAgICAgICAgcF9zaWcgPSBpbnNwZWN0LnNpZ25hdHVyZShwX2Z1bmMpCisgICAgICAgICAgICAgICAgY19zaWcgPSBpbnNwZWN0LnNpZ25hdHVyZShjX2Z1bmMpCisKKyAgICAgICAgICAgICAgICAjIHBhcmFtZXRlciBuYW1lczoKKyAgICAgICAgICAgICAgICBjX25hbWVzID0gbGlzdChjX3NpZy5wYXJhbWV0ZXJzLmtleXMoKSkKKyAgICAgICAgICAgICAgICBwX25hbWVzID0gW3ggZm9yIHggaW4gcF9zaWcucGFyYW1ldGVycy5rZXlzKCkgaWYgbm90CisgICAgICAgICAgICAgICAgICAgICAgICAgICB4LnN0YXJ0c3dpdGgoJ18nKV0KKworICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY19uYW1lcywgcF9uYW1lcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZz0icGFyYW1ldGVyIG5hbWUgbWlzbWF0Y2ggaW4gJXMiICUgcF9mdW5jKQorCisgICAgICAgICAgICAgICAgY19raW5kID0gW3gua2luZCBmb3IgeCBpbiBjX3NpZy5wYXJhbWV0ZXJzLnZhbHVlcygpXQorICAgICAgICAgICAgICAgIHBfa2luZCA9IFt4WzFdLmtpbmQgZm9yIHggaW4gcF9zaWcucGFyYW1ldGVycy5pdGVtcygpIGlmIG5vdAorICAgICAgICAgICAgICAgICAgICAgICAgICB4WzBdLnN0YXJ0c3dpdGgoJ18nKV0KKworICAgICAgICAgICAgICAgICMgcGFyYW1ldGVyczoKKyAgICAgICAgICAgICAgICBpZiBhdHRyICE9ICdzZXRjb250ZXh0JzoKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjX2tpbmQsIHBfa2luZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2c9InBhcmFtZXRlciBraW5kIG1pc21hdGNoIGluICVzIiAlIHBfZnVuYykKKworICAgIGRlZiB0ZXN0X2luc3BlY3RfdHlwZXMoc2VsZik6CisKKyAgICAgICAgUE9TID0gaW5zcGVjdC5fUGFyYW1ldGVyS2luZC5QT1NJVElPTkFMX09OTFkKKyAgICAgICAgUE9TX0tXRCA9IGluc3BlY3QuX1BhcmFtZXRlcktpbmQuUE9TSVRJT05BTF9PUl9LRVlXT1JECisKKyAgICAgICAgIyBUeXBlIGhldXJpc3RpYyAodHlwZSBhbm5vdGF0aW9ucyB3b3VsZCBoZWxwISk6CisgICAgICAgIHBkaWN0ID0ge0M6IHsnb3RoZXInOiBDLkRlY2ltYWwoMSksCisgICAgICAgICAgICAgICAgICAgICAndGhpcmQnOiBDLkRlY2ltYWwoMSksCisgICAgICAgICAgICAgICAgICAgICAneCc6IEMuRGVjaW1hbCgxKSwKKyAgICAgICAgICAgICAgICAgICAgICd5JzogQy5EZWNpbWFsKDEpLAorICAgICAgICAgICAgICAgICAgICAgJ3onOiBDLkRlY2ltYWwoMSksCisgICAgICAgICAgICAgICAgICAgICAnYSc6IEMuRGVjaW1hbCgxKSwKKyAgICAgICAgICAgICAgICAgICAgICdiJzogQy5EZWNpbWFsKDEpLAorICAgICAgICAgICAgICAgICAgICAgJ2MnOiBDLkRlY2ltYWwoMSksCisgICAgICAgICAgICAgICAgICAgICAnZXhwJzogQy5EZWNpbWFsKDEpLAorICAgICAgICAgICAgICAgICAgICAgJ21vZHVsbyc6IEMuRGVjaW1hbCgxKSwKKyAgICAgICAgICAgICAgICAgICAgICdudW0nOiAiMSIsCisgICAgICAgICAgICAgICAgICAgICAnZic6IDEuMCwKKyAgICAgICAgICAgICAgICAgICAgICdyb3VuZGluZyc6IEMuUk9VTkRfSEFMRl9VUCwKKyAgICAgICAgICAgICAgICAgICAgICdjb250ZXh0JzogQy5nZXRjb250ZXh0KCl9LAorICAgICAgICAgICAgICAgICBQOiB7J290aGVyJzogUC5EZWNpbWFsKDEpLAorICAgICAgICAgICAgICAgICAgICAgJ3RoaXJkJzogUC5EZWNpbWFsKDEpLAorICAgICAgICAgICAgICAgICAgICAgJ2EnOiBQLkRlY2ltYWwoMSksCisgICAgICAgICAgICAgICAgICAgICAnYic6IFAuRGVjaW1hbCgxKSwKKyAgICAgICAgICAgICAgICAgICAgICdjJzogUC5EZWNpbWFsKDEpLAorICAgICAgICAgICAgICAgICAgICAgJ2V4cCc6IFAuRGVjaW1hbCgxKSwKKyAgICAgICAgICAgICAgICAgICAgICdtb2R1bG8nOiBQLkRlY2ltYWwoMSksCisgICAgICAgICAgICAgICAgICAgICAnbnVtJzogIjEiLAorICAgICAgICAgICAgICAgICAgICAgJ2YnOiAxLjAsCisgICAgICAgICAgICAgICAgICAgICAncm91bmRpbmcnOiBQLlJPVU5EX0hBTEZfVVAsCisgICAgICAgICAgICAgICAgICAgICAnY29udGV4dCc6IFAuZ2V0Y29udGV4dCgpfX0KKworICAgICAgICBkZWYgbWthcmdzKG1vZHVsZSwgc2lnKToKKyAgICAgICAgICAgIGFyZ3MgPSBbXQorICAgICAgICAgICAga3dhcmdzID0ge30KKyAgICAgICAgICAgIGZvciBuYW1lLCBwYXJhbSBpbiBzaWcucGFyYW1ldGVycy5pdGVtcygpOgorICAgICAgICAgICAgICAgIGlmIG5hbWUgPT0gJ3NlbGYnOiBjb250aW51ZQorICAgICAgICAgICAgICAgIGlmIHBhcmFtLmtpbmQgPT0gUE9TOgorICAgICAgICAgICAgICAgICAgICBhcmdzLmFwcGVuZChwZGljdFttb2R1bGVdW25hbWVdKQorICAgICAgICAgICAgICAgIGVsaWYgcGFyYW0ua2luZCA9PSBQT1NfS1dEOgorICAgICAgICAgICAgICAgICAgICBrd2FyZ3NbbmFtZV0gPSBwZGljdFttb2R1bGVdW25hbWVdCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgVGVzdEZhaWxlZCgidW5leHBlY3RlZCBwYXJhbWV0ZXIga2luZCIpCisgICAgICAgICAgICByZXR1cm4gYXJncywga3dhcmdzCisKKyAgICAgICAgZGVmIHRyKHMpOgorICAgICAgICAgICAgIiIiVGhlIEMgQ29udGV4dCBkb2NzdHJpbmdzIHVzZSAneCcgaW4gb3JkZXIgdG8gcHJldmVudCBjb25mdXNpb24KKyAgICAgICAgICAgICAgIHdpdGggdGhlIGFydGljbGUgJ2EnIGluIHRoZSBkZXNjcmlwdGlvbnMuIiIiCisgICAgICAgICAgICBpZiBzID09ICd4JzogcmV0dXJuICdhJworICAgICAgICAgICAgaWYgcyA9PSAneSc6IHJldHVybiAnYicKKyAgICAgICAgICAgIGlmIHMgPT0gJ3onOiByZXR1cm4gJ2MnCisgICAgICAgICAgICByZXR1cm4gcworCisgICAgICAgIGRlZiBkb2l0KHR5KToKKyAgICAgICAgICAgIHBfdHlwZSA9IGdldGF0dHIoUCwgdHkpCisgICAgICAgICAgICBjX3R5cGUgPSBnZXRhdHRyKEMsIHR5KQorICAgICAgICAgICAgZm9yIGF0dHIgaW4gZGlyKHBfdHlwZSk6CisgICAgICAgICAgICAgICAgaWYgYXR0ci5zdGFydHN3aXRoKCdfJyk6CisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgICAgcF9mdW5jID0gZ2V0YXR0cihwX3R5cGUsIGF0dHIpCisgICAgICAgICAgICAgICAgY19mdW5jID0gZ2V0YXR0cihjX3R5cGUsIGF0dHIpCisgICAgICAgICAgICAgICAgaWYgaW5zcGVjdC5pc2Z1bmN0aW9uKHBfZnVuYyk6CisgICAgICAgICAgICAgICAgICAgIHBfc2lnID0gaW5zcGVjdC5zaWduYXR1cmUocF9mdW5jKQorICAgICAgICAgICAgICAgICAgICBjX3NpZyA9IGluc3BlY3Quc2lnbmF0dXJlKGNfZnVuYykKKworICAgICAgICAgICAgICAgICAgICAjIHBhcmFtZXRlciBuYW1lczoKKyAgICAgICAgICAgICAgICAgICAgcF9uYW1lcyA9IGxpc3QocF9zaWcucGFyYW1ldGVycy5rZXlzKCkpCisgICAgICAgICAgICAgICAgICAgIGNfbmFtZXMgPSBbdHIoeCkgZm9yIHggaW4gY19zaWcucGFyYW1ldGVycy5rZXlzKCldCisKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjX25hbWVzLCBwX25hbWVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZz0icGFyYW1ldGVyIG5hbWUgbWlzbWF0Y2ggaW4gJXMiICUgcF9mdW5jKQorCisgICAgICAgICAgICAgICAgICAgIHBfa2luZCA9IFt4LmtpbmQgZm9yIHggaW4gcF9zaWcucGFyYW1ldGVycy52YWx1ZXMoKV0KKyAgICAgICAgICAgICAgICAgICAgY19raW5kID0gW3gua2luZCBmb3IgeCBpbiBjX3NpZy5wYXJhbWV0ZXJzLnZhbHVlcygpXQorCisgICAgICAgICAgICAgICAgICAgICMgJ3NlbGYnIHBhcmFtZXRlcjoKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhwX2tpbmRbMF0sIFBPU19LV0QpCisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMoY19raW5kWzBdLCBQT1MpCisKKyAgICAgICAgICAgICAgICAgICAgIyByZW1haW5pbmcgcGFyYW1ldGVyczoKKyAgICAgICAgICAgICAgICAgICAgaWYgdHkgPT0gJ0RlY2ltYWwnOgorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjX2tpbmRbMTpdLCBwX2tpbmRbMTpdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2c9InBhcmFtZXRlciBraW5kIG1pc21hdGNoIGluICVzIiAlIHBfZnVuYykKKyAgICAgICAgICAgICAgICAgICAgZWxzZTogIyBDb250ZXh0IG1ldGhvZHMgYXJlIHBvc2l0aW9uYWwgb25seSBpbiB0aGUgQyB2ZXJzaW9uLgorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oY19raW5kKSwgbGVuKHBfa2luZCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZz0icGFyYW1ldGVyIGtpbmQgbWlzbWF0Y2ggaW4gJXMiICUgcF9mdW5jKQorCisgICAgICAgICAgICAgICAgICAgICMgUnVuIHRoZSBmdW5jdGlvbjoKKyAgICAgICAgICAgICAgICAgICAgYXJncywga3dkcyA9IG1rYXJncyhDLCBjX3NpZykKKyAgICAgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICAgICAgZ2V0YXR0cihjX3R5cGUoOSksIGF0dHIpKCphcmdzLCAqKmt3ZHMpCisgICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZXJyOgorICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgVGVzdEZhaWxlZCgiaW52YWxpZCBzaWduYXR1cmUgZm9yICVzOiAlcyAlcyIgJSAoY19mdW5jLCBhcmdzLCBrd2RzKSkKKworICAgICAgICAgICAgICAgICAgICBhcmdzLCBrd2RzID0gbWthcmdzKFAsIHBfc2lnKQorICAgICAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgICAgICBnZXRhdHRyKHBfdHlwZSg5KSwgYXR0cikoKmFyZ3MsICoqa3dkcykKKyAgICAgICAgICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlcnI6CisgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBUZXN0RmFpbGVkKCJpbnZhbGlkIHNpZ25hdHVyZSBmb3IgJXM6ICVzICVzIiAlIChwX2Z1bmMsIGFyZ3MsIGt3ZHMpKQorCisgICAgICAgIGRvaXQoJ0RlY2ltYWwnKQorICAgICAgICBkb2l0KCdDb250ZXh0JykKKworCiBhbGxfdGVzdHMgPSBbCiAgIENFeHBsaWNpdENvbnN0cnVjdGlvblRlc3QsIFB5RXhwbGljaXRDb25zdHJ1Y3Rpb25UZXN0LAogICBDSW1wbGljaXRDb25zdHJ1Y3Rpb25UZXN0LCBQeUltcGxpY2l0Q29uc3RydWN0aW9uVGVzdCwKQEAgLTU0MzQsNiArNTU1OCw3IEBACiAgICAgYWxsX3Rlc3RzID0gYWxsX3Rlc3RzWzE6OjJdCiBlbHNlOgogICAgIGFsbF90ZXN0cy5pbnNlcnQoMCwgQ2hlY2tBdHRyaWJ1dGVzKQorICAgIGFsbF90ZXN0cy5pbnNlcnQoMSwgU2lnbmF0dXJlVGVzdCkKIAogCiBkZWYgdGVzdF9tYWluKGFyaXRoPU5vbmUsIHZlcmJvc2U9Tm9uZSwgdG9kb190ZXN0cz1Ob25lLCBkZWJ1Zz1Ob25lKToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfZGVmYXVsdGRpY3QucHkgYi9MaWIvdGVzdC90ZXN0X2RlZmF1bHRkaWN0LnB5CmluZGV4IDUzMmQ1MzUuLjQ4ZDFjYjUgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfZGVmYXVsdGRpY3QucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9kZWZhdWx0ZGljdC5weQpAQCAtMTU3LDggKzE1Nyw5IEBACiAgICAgICAgICAgICBkZWYgX2ZhY3Rvcnkoc2VsZik6CiAgICAgICAgICAgICAgICAgcmV0dXJuIFtdCiAgICAgICAgIGQgPSBzdWIoKQotICAgICAgICBzZWxmLmFzc2VydFRydWUocmVwcihkKS5zdGFydHN3aXRoKAotICAgICAgICAgICAgImRlZmF1bHRkaWN0KDxib3VuZCBtZXRob2Qgc3ViLl9mYWN0b3J5IG9mIGRlZmF1bHRkaWN0KC4uLiIpKQorICAgICAgICBzZWxmLmFzc2VydFJlZ2V4KHJlcHIoZCksCisgICAgICAgICAgICByImRlZmF1bHRkaWN0XCg8Ym91bmQgbWV0aG9kIC4qc3ViXC5fZmFjdG9yeSAiCisgICAgICAgICAgICByIm9mIGRlZmF1bHRkaWN0XChcLlwuXC4sIFx7XH1cKT4sIFx7XH1cKSIpCiAKICAgICAgICAgIyBOT1RFOiBwcmludGluZyBhIHN1YmNsYXNzIG9mIGEgYnVpbHRpbiB0eXBlIGRvZXMgbm90IGNhbGwgaXRzCiAgICAgICAgICMgdHBfcHJpbnQgc2xvdC4gU28gdGhpcyBwYXJ0IGlzIGVzc2VudGlhbGx5IHRoZSBzYW1lIHRlc3QgYXMgYWJvdmUuCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2RlcXVlLnB5IGIvTGliL3Rlc3QvdGVzdF9kZXF1ZS5weQppbmRleCA1ZWNiYzczLi5lMzM2ZTVhIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2RlcXVlLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfZGVxdWUucHkKQEAgLTUwOCw2ICs1MDgsMTEgQEAKICAgICAgICAgZm9yIHMgaW4gKCdhYmNkJywgcmFuZ2UoMjAwMCkpOgogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaXN0KHJldmVyc2VkKGRlcXVlKHMpKSksIGxpc3QocmV2ZXJzZWQocykpKQogCisgICAgZGVmIHRlc3RfcmV2ZXJzZWRfbmV3KHNlbGYpOgorICAgICAgICBrbGFzcyA9IHR5cGUocmV2ZXJzZWQoZGVxdWUoKSkpCisgICAgICAgIGZvciBzIGluICgnYWJjZCcsIHJhbmdlKDIwMDApKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlzdChrbGFzcyhkZXF1ZShzKSkpLCBsaXN0KHJldmVyc2VkKHMpKSkKKwogICAgIGRlZiB0ZXN0X2djX2RvZXNudF9ibG93dXAoc2VsZik6CiAgICAgICAgIGltcG9ydCBnYwogICAgICAgICAjIFRoaXMgdXNlZCB0byBhc3NlcnQtZmFpbCBpbiBkZXF1ZV90cmF2ZXJzZSgpIHVuZGVyIGEgZGVidWcKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfZGVzY3IucHkgYi9MaWIvdGVzdC90ZXN0X2Rlc2NyLnB5CmluZGV4IDFkZTJhOTkuLjhkNjIwNWEgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfZGVzY3IucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9kZXNjci5weQpAQCAtMTAyNiw2ICsxMDI2LDIyIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoeC5mb28sIDEpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoeC5fX2RpY3RfXywgeydmb28nOiAxfSkKIAorICAgIGRlZiB0ZXN0X29iamVjdF9jbGFzc19hc3NpZ25tZW50X2JldHdlZW5faGVhcHR5cGVzX2FuZF9ub25oZWFwdHlwZXMoc2VsZik6CisgICAgICAgIGNsYXNzIFN1YlR5cGUodHlwZXMuTW9kdWxlVHlwZSk6CisgICAgICAgICAgICBhID0gMQorCisgICAgICAgIG0gPSB0eXBlcy5Nb2R1bGVUeXBlKCJtIikKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG0uX19jbGFzc19fIGlzIHR5cGVzLk1vZHVsZVR5cGUpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaGFzYXR0cihtLCAiYSIpKQorCisgICAgICAgIG0uX19jbGFzc19fID0gU3ViVHlwZQorICAgICAgICBzZWxmLmFzc2VydFRydWUobS5fX2NsYXNzX18gaXMgU3ViVHlwZSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGhhc2F0dHIobSwgImEiKSkKKworICAgICAgICBtLl9fY2xhc3NfXyA9IHR5cGVzLk1vZHVsZVR5cGUKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG0uX19jbGFzc19fIGlzIHR5cGVzLk1vZHVsZVR5cGUpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaGFzYXR0cihtLCAiYSIpKQorCiAgICAgZGVmIHRlc3Rfc2xvdHMoc2VsZik6CiAgICAgICAgICMgVGVzdGluZyBfX3Nsb3RzX18uLi4KICAgICAgICAgY2xhc3MgQzAob2JqZWN0KToKQEAgLTQxNjAsNiArNDE3Niw3IEBACiAgICAgICAgICAgICAgICAgKCdfX2FkZF9fJywgICAgICAneCArIHknLCAgICAgICAgICAgICAgICAgICAneCArPSB5JyksCiAgICAgICAgICAgICAgICAgKCdfX3N1Yl9fJywgICAgICAneCAtIHknLCAgICAgICAgICAgICAgICAgICAneCAtPSB5JyksCiAgICAgICAgICAgICAgICAgKCdfX211bF9fJywgICAgICAneCAqIHknLCAgICAgICAgICAgICAgICAgICAneCAqPSB5JyksCisgICAgICAgICAgICAgICAgKCdfX21hdG11bF9fJywgICAneCBAIHknLCAgICAgICAgICAgICAgICAgICAneCBAPSB5JyksCiAgICAgICAgICAgICAgICAgKCdfX3RydWVkaXZfXycsICAnb3BlcmF0b3IudHJ1ZWRpdih4LCB5KScsICBOb25lKSwKICAgICAgICAgICAgICAgICAoJ19fZmxvb3JkaXZfXycsICdvcGVyYXRvci5mbG9vcmRpdih4LCB5KScsIE5vbmUpLAogICAgICAgICAgICAgICAgICgnX19kaXZfXycsICAgICAgJ3ggLyB5JywgICAgICAgICAgICAgICAgICAgJ3ggLz0geScpLApAQCAtNDQyMiw2ICs0NDM5LDYxIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0SW4oIl9fZGljdF9fIiwgQmFzZS5fX2RpY3RfXykKICAgICAgICAgc2VsZi5hc3NlcnROb3RJbigiX19kaWN0X18iLCBTdWIuX19kaWN0X18pCiAKKyAgICBkZWYgdGVzdF9ib3VuZF9tZXRob2RfcmVwcihzZWxmKToKKyAgICAgICAgY2xhc3MgRm9vOgorICAgICAgICAgICAgZGVmIG1ldGhvZChzZWxmKToKKyAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgIHNlbGYuYXNzZXJ0UmVnZXgocmVwcihGb28oKS5tZXRob2QpLAorICAgICAgICAgICAgciI8Ym91bmQgbWV0aG9kIC4qRm9vXC5tZXRob2Qgb2YgPC4qRm9vIG9iamVjdCBhdCAuKj4+IikKKworCisgICAgICAgIGNsYXNzIEJhc2U6CisgICAgICAgICAgICBkZWYgbWV0aG9kKHNlbGYpOgorICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgY2xhc3MgRGVyaXZlZDEoQmFzZSk6CisgICAgICAgICAgICBwYXNzCisgICAgICAgIGNsYXNzIERlcml2ZWQyKEJhc2UpOgorICAgICAgICAgICAgZGVmIG1ldGhvZChzZWxmKToKKyAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgIGJhc2UgPSBCYXNlKCkKKyAgICAgICAgZGVyaXZlZDEgPSBEZXJpdmVkMSgpCisgICAgICAgIGRlcml2ZWQyID0gRGVyaXZlZDIoKQorICAgICAgICBzdXBlcl9kMiA9IHN1cGVyKERlcml2ZWQyLCBkZXJpdmVkMikKKyAgICAgICAgc2VsZi5hc3NlcnRSZWdleChyZXByKGJhc2UubWV0aG9kKSwKKyAgICAgICAgICAgIHIiPGJvdW5kIG1ldGhvZCAuKkJhc2VcLm1ldGhvZCBvZiA8LipCYXNlIG9iamVjdCBhdCAuKj4+IikKKyAgICAgICAgc2VsZi5hc3NlcnRSZWdleChyZXByKGRlcml2ZWQxLm1ldGhvZCksCisgICAgICAgICAgICByIjxib3VuZCBtZXRob2QgLipCYXNlXC5tZXRob2Qgb2YgPC4qRGVyaXZlZDEgb2JqZWN0IGF0IC4qPj4iKQorICAgICAgICBzZWxmLmFzc2VydFJlZ2V4KHJlcHIoZGVyaXZlZDIubWV0aG9kKSwKKyAgICAgICAgICAgIHIiPGJvdW5kIG1ldGhvZCAuKkRlcml2ZWQyXC5tZXRob2Qgb2YgPC4qRGVyaXZlZDIgb2JqZWN0IGF0IC4qPj4iKQorICAgICAgICBzZWxmLmFzc2VydFJlZ2V4KHJlcHIoc3VwZXJfZDIubWV0aG9kKSwKKyAgICAgICAgICAgIHIiPGJvdW5kIG1ldGhvZCAuKkJhc2VcLm1ldGhvZCBvZiA8LipEZXJpdmVkMiBvYmplY3QgYXQgLio+PiIpCisKKyAgICAgICAgY2xhc3MgRm9vOgorICAgICAgICAgICAgQGNsYXNzbWV0aG9kCisgICAgICAgICAgICBkZWYgbWV0aG9kKGNscyk6CisgICAgICAgICAgICAgICAgcGFzcworICAgICAgICBmb28gPSBGb28oKQorICAgICAgICBzZWxmLmFzc2VydFJlZ2V4KHJlcHIoZm9vLm1ldGhvZCksICMgYWNjZXNzIHZpYSBpbnN0YW5jZQorICAgICAgICAgICAgciI8Ym91bmQgbWV0aG9kIC4qRm9vXC5tZXRob2Qgb2YgPGNsYXNzICcuKkZvbyc+PiIpCisgICAgICAgIHNlbGYuYXNzZXJ0UmVnZXgocmVwcihGb28ubWV0aG9kKSwgIyBhY2Nlc3MgdmlhIHRoZSBjbGFzcworICAgICAgICAgICAgciI8Ym91bmQgbWV0aG9kIC4qRm9vXC5tZXRob2Qgb2YgPGNsYXNzICcuKkZvbyc+PiIpCisKKworICAgICAgICBjbGFzcyBNeUNhbGxhYmxlOgorICAgICAgICAgICAgZGVmIF9fY2FsbF9fKHNlbGYsIGFyZyk6CisgICAgICAgICAgICAgICAgcGFzcworICAgICAgICBmdW5jID0gTXlDYWxsYWJsZSgpICMgZnVuYyBoYXMgbm8gX19uYW1lX18gb3IgX19xdWFsbmFtZV9fIGF0dHJpYnV0ZXMKKyAgICAgICAgaW5zdGFuY2UgPSBvYmplY3QoKQorICAgICAgICBtZXRob2QgPSB0eXBlcy5NZXRob2RUeXBlKGZ1bmMsIGluc3RhbmNlKQorICAgICAgICBzZWxmLmFzc2VydFJlZ2V4KHJlcHIobWV0aG9kKSwKKyAgICAgICAgICAgIHIiPGJvdW5kIG1ldGhvZCBcPyBvZiA8b2JqZWN0IG9iamVjdCBhdCAuKj4+IikKKyAgICAgICAgZnVuYy5fX25hbWVfXyA9ICJuYW1lIgorICAgICAgICBzZWxmLmFzc2VydFJlZ2V4KHJlcHIobWV0aG9kKSwKKyAgICAgICAgICAgIHIiPGJvdW5kIG1ldGhvZCBuYW1lIG9mIDxvYmplY3Qgb2JqZWN0IGF0IC4qPj4iKQorICAgICAgICBmdW5jLl9fcXVhbG5hbWVfXyA9ICJxdWFsbmFtZSIKKyAgICAgICAgc2VsZi5hc3NlcnRSZWdleChyZXByKG1ldGhvZCksCisgICAgICAgICAgICByIjxib3VuZCBtZXRob2QgcXVhbG5hbWUgb2YgPG9iamVjdCBvYmplY3QgYXQgLio+PiIpCisKIAogY2xhc3MgRGljdFByb3h5VGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGRlZiBzZXRVcChzZWxmKToKQEAgLTQ1MzYsMjYgKzQ2MDgsMTUgQEAKIAogICAgIGRlZiBfY2hlY2tfcmVkdWNlKHNlbGYsIHByb3RvLCBvYmosIGFyZ3M9KCksIGt3YXJncz17fSwgc3RhdGU9Tm9uZSwKICAgICAgICAgICAgICAgICAgICAgICBsaXN0aXRlbXM9Tm9uZSwgZGljdGl0ZW1zPU5vbmUpOgotICAgICAgICBpZiBwcm90byA+PSA0OgorICAgICAgICBpZiBwcm90byA+PSAyOgogICAgICAgICAgICAgcmVkdWNlX3ZhbHVlID0gb2JqLl9fcmVkdWNlX2V4X18ocHJvdG8pCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlZHVjZV92YWx1ZVs6M10sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb3B5cmVnLl9fbmV3b2JqX2V4X18sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodHlwZShvYmopLCBhcmdzLCBrd2FyZ3MpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUpKQotICAgICAgICAgICAgaWYgbGlzdGl0ZW1zIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0TGlzdEVxdWFsKGxpc3QocmVkdWNlX3ZhbHVlWzNdKSwgbGlzdGl0ZW1zKQorICAgICAgICAgICAgaWYga3dhcmdzOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVkdWNlX3ZhbHVlWzBdLCBjb3B5cmVnLl9fbmV3b2JqX2V4X18pCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZWR1Y2VfdmFsdWVbMV0sICh0eXBlKG9iaiksIGFyZ3MsIGt3YXJncykpCiAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHJlZHVjZV92YWx1ZVszXSkKLSAgICAgICAgICAgIGlmIGRpY3RpdGVtcyBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICBzZWxmLmFzc2VydERpY3RFcXVhbChkaWN0KHJlZHVjZV92YWx1ZVs0XSksIGRpY3RpdGVtcykKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUocmVkdWNlX3ZhbHVlWzRdKQotICAgICAgICBlbGlmIHByb3RvID49IDI6Ci0gICAgICAgICAgICByZWR1Y2VfdmFsdWUgPSBvYmouX19yZWR1Y2VfZXhfXyhwcm90bykKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVkdWNlX3ZhbHVlWzozXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvcHlyZWcuX19uZXdvYmpfXywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh0eXBlKG9iaiksKSArIGFyZ3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZSkpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZWR1Y2VfdmFsdWVbMF0sIGNvcHlyZWcuX19uZXdvYmpfXykKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlZHVjZV92YWx1ZVsxXSwgKHR5cGUob2JqKSwpICsgYXJncykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVkdWNlX3ZhbHVlWzJdLCBzdGF0ZSkKICAgICAgICAgICAgIGlmIGxpc3RpdGVtcyBpcyBub3QgTm9uZToKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydExpc3RFcXVhbChsaXN0KHJlZHVjZV92YWx1ZVszXSksIGxpc3RpdGVtcykKICAgICAgICAgICAgIGVsc2U6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2Rpcy5weSBiL0xpYi90ZXN0L3Rlc3RfZGlzLnB5CmluZGV4IGI4ZGFmZjcuLjRmMzAxODMgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfZGlzLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfZGlzLnB5CkBAIC0yMzAsNiArMjMwLDkgQEAKICAgICAgICBUUkFDRUJBQ0tfQ09ERS5jb19maXJzdGxpbmVubyArIDQsCiAgICAgICAgVFJBQ0VCQUNLX0NPREUuY29fZmlyc3RsaW5lbm8gKyA1KQogCitkZWYgX2coeCk6CisgICAgeWllbGQgeAorCiBjbGFzcyBEaXNUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICBkZWYgZ2V0X2Rpc2Fzc2VtYmx5KHNlbGYsIGZ1bmMsIGxhc3RpPS0xLCB3cmFwcGVyPVRydWUpOgpAQCAtMzE1LDYgKzMxOCwxMSBAQAogICAgICAgICBtZXRob2RfYnl0ZWNvZGUgPSBfQygxKS5fX2luaXRfXy5fX2NvZGVfXy5jb19jb2RlCiAgICAgICAgIHNlbGYuZG9fZGlzYXNzZW1ibHlfdGVzdChtZXRob2RfYnl0ZWNvZGUsIGRpc19jX2luc3RhbmNlX21ldGhvZF9ieXRlcykKIAorICAgIGRlZiB0ZXN0X2Rpc2Fzc2VtYmxlX2dlbmVyYXRvcihzZWxmKToKKyAgICAgICAgZ2VuX2Z1bmNfZGlzYXMgPSBzZWxmLmdldF9kaXNhc3NlbWJseShfZykgICMgRGlzYXNzZW1ibGUgZ2VuZXJhdG9yIGZ1bmN0aW9uCisgICAgICAgIGdlbl9kaXNhcyA9IHNlbGYuZ2V0X2Rpc2Fzc2VtYmx5KF9nKDEpKSAgIyBEaXNhc3NlbWJsZSBnZW5lcmF0b3IgaXRzZWxmCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2VuX2Rpc2FzLCBnZW5fZnVuY19kaXNhcykKKwogICAgIGRlZiB0ZXN0X2Rpc19ub25lKHNlbGYpOgogICAgICAgICB0cnk6CiAgICAgICAgICAgICBkZWwgc3lzLmxhc3RfdHJhY2ViYWNrCkBAIC01NjEsMTAgKzU2OSwxMCBAQAogI19pbnN0cnVjdGlvbnMgPSBkaXMuZ2V0X2luc3RydWN0aW9ucyhvdXRlciwgZmlyc3RfbGluZT1leHBlY3RlZF9vdXRlcl9saW5lKQogI3ByaW50KCdleHBlY3RlZF9vcGluZm9fb3V0ZXIgPSBbXG4gICcsCiAgICAgICAjJyxcbiAgJy5qb2luKG1hcChzdHIsIF9pbnN0cnVjdGlvbnMpKSwgJyxcbl0nLCBzZXA9JycpCi0jX2luc3RydWN0aW9ucyA9IGRpcy5nZXRfaW5zdHJ1Y3Rpb25zKG91dGVyKCksIGZpcnN0X2xpbmU9ZXhwZWN0ZWRfb3V0ZXJfbGluZSkKKyNfaW5zdHJ1Y3Rpb25zID0gZGlzLmdldF9pbnN0cnVjdGlvbnMob3V0ZXIoKSwgZmlyc3RfbGluZT1leHBlY3RlZF9mX2xpbmUpCiAjcHJpbnQoJ2V4cGVjdGVkX29waW5mb19mID0gW1xuICAnLAogICAgICAgIycsXG4gICcuam9pbihtYXAoc3RyLCBfaW5zdHJ1Y3Rpb25zKSksICcsXG5dJywgc2VwPScnKQotI19pbnN0cnVjdGlvbnMgPSBkaXMuZ2V0X2luc3RydWN0aW9ucyhvdXRlcigpKCksIGZpcnN0X2xpbmU9ZXhwZWN0ZWRfb3V0ZXJfbGluZSkKKyNfaW5zdHJ1Y3Rpb25zID0gZGlzLmdldF9pbnN0cnVjdGlvbnMob3V0ZXIoKSgpLCBmaXJzdF9saW5lPWV4cGVjdGVkX2lubmVyX2xpbmUpCiAjcHJpbnQoJ2V4cGVjdGVkX29waW5mb19pbm5lciA9IFtcbiAgJywKICAgICAgICMnLFxuICAnLmpvaW4obWFwKHN0ciwgX2luc3RydWN0aW9ucykpLCAnLFxuXScsIHNlcD0nJykKICNfaW5zdHJ1Y3Rpb25zID0gZGlzLmdldF9pbnN0cnVjdGlvbnMoanVtcHksIGZpcnN0X2xpbmU9ZXhwZWN0ZWRfanVtcHlfbGluZSkKQEAgLTYzNSwxMiArNjQzLDEyIEBACiBdCiAKIGV4cGVjdGVkX29waW5mb19qdW1weSA9IFsKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdTRVRVUF9MT09QJywgb3Bjb2RlPTEyMCwgYXJnPTc0LCBhcmd2YWw9NzcsIGFyZ3JlcHI9J3RvIDc3Jywgb2Zmc2V0PTAsIHN0YXJ0c19saW5lPTMsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdTRVRVUF9MT09QJywgb3Bjb2RlPTEyMCwgYXJnPTY4LCBhcmd2YWw9NzEsIGFyZ3JlcHI9J3RvIDcxJywgb2Zmc2V0PTAsIHN0YXJ0c19saW5lPTMsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKICAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdMT0FEX0dMT0JBTCcsIG9wY29kZT0xMTYsIGFyZz0wLCBhcmd2YWw9J3JhbmdlJywgYXJncmVwcj0ncmFuZ2UnLCBvZmZzZXQ9Mywgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAogICBJbnN0cnVjdGlvbihvcG5hbWU9J0xPQURfQ09OU1QnLCBvcGNvZGU9MTAwLCBhcmc9MSwgYXJndmFsPTEwLCBhcmdyZXByPScxMCcsIG9mZnNldD02LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCiAgIEluc3RydWN0aW9uKG9wbmFtZT0nQ0FMTF9GVU5DVElPTicsIG9wY29kZT0xMzEsIGFyZz0xLCBhcmd2YWw9MSwgYXJncmVwcj0nMSBwb3NpdGlvbmFsLCAwIGtleXdvcmQgcGFpcicsIG9mZnNldD05LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCiAgIEluc3RydWN0aW9uKG9wbmFtZT0nR0VUX0lURVInLCBvcGNvZGU9NjgsIGFyZz1Ob25lLCBhcmd2YWw9Tm9uZSwgYXJncmVwcj0nJywgb2Zmc2V0PTEyLCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nRk9SX0lURVInLCBvcGNvZGU9OTMsIGFyZz01MCwgYXJndmFsPTY2LCBhcmdyZXByPSd0byA2NicsIG9mZnNldD0xMywgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9VHJ1ZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nRk9SX0lURVInLCBvcGNvZGU9OTMsIGFyZz00NCwgYXJndmFsPTYwLCBhcmdyZXByPSd0byA2MCcsIG9mZnNldD0xMywgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9VHJ1ZSksCiAgIEluc3RydWN0aW9uKG9wbmFtZT0nU1RPUkVfRkFTVCcsIG9wY29kZT0xMjUsIGFyZz0wLCBhcmd2YWw9J2knLCBhcmdyZXByPSdpJywgb2Zmc2V0PTE2LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCiAgIEluc3RydWN0aW9uKG9wbmFtZT0nTE9BRF9HTE9CQUwnLCBvcGNvZGU9MTE2LCBhcmc9MSwgYXJndmFsPSdwcmludCcsIGFyZ3JlcHI9J3ByaW50Jywgb2Zmc2V0PTE5LCBzdGFydHNfbGluZT00LCBpc19qdW1wX3RhcmdldD1GYWxzZSksCiAgIEluc3RydWN0aW9uKG9wbmFtZT0nTE9BRF9GQVNUJywgb3Bjb2RlPTEyNCwgYXJnPTAsIGFyZ3ZhbD0naScsIGFyZ3JlcHI9J2knLCBvZmZzZXQ9MjIsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKQEAgLTY0OSw5MiArNjU3LDg4IEBACiAgIEluc3RydWN0aW9uKG9wbmFtZT0nTE9BRF9GQVNUJywgb3Bjb2RlPTEyNCwgYXJnPTAsIGFyZ3ZhbD0naScsIGFyZ3JlcHI9J2knLCBvZmZzZXQ9MjksIHN0YXJ0c19saW5lPTUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKICAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdMT0FEX0NPTlNUJywgb3Bjb2RlPTEwMCwgYXJnPTIsIGFyZ3ZhbD00LCBhcmdyZXByPSc0Jywgb2Zmc2V0PTMyLCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCiAgIEluc3RydWN0aW9uKG9wbmFtZT0nQ09NUEFSRV9PUCcsIG9wY29kZT0xMDcsIGFyZz0wLCBhcmd2YWw9JzwnLCBhcmdyZXByPSc8Jywgb2Zmc2V0PTM1LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nUE9QX0pVTVBfSUZfRkFMU0UnLCBvcGNvZGU9MTE0LCBhcmc9NDcsIGFyZ3ZhbD00NywgYXJncmVwcj0nJywgb2Zmc2V0PTM4LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nUE9QX0pVTVBfSUZfRkFMU0UnLCBvcGNvZGU9MTE0LCBhcmc9NDQsIGFyZ3ZhbD00NCwgYXJncmVwcj0nJywgb2Zmc2V0PTM4LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCiAgIEluc3RydWN0aW9uKG9wbmFtZT0nSlVNUF9BQlNPTFVURScsIG9wY29kZT0xMTMsIGFyZz0xMywgYXJndmFsPTEzLCBhcmdyZXByPScnLCBvZmZzZXQ9NDEsIHN0YXJ0c19saW5lPTYsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdKVU1QX0ZPUldBUkQnLCBvcGNvZGU9MTEwLCBhcmc9MCwgYXJndmFsPTQ3LCBhcmdyZXByPSd0byA0NycsIG9mZnNldD00NCwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J0xPQURfRkFTVCcsIG9wY29kZT0xMjQsIGFyZz0wLCBhcmd2YWw9J2knLCBhcmdyZXByPSdpJywgb2Zmc2V0PTQ3LCBzdGFydHNfbGluZT03LCBpc19qdW1wX3RhcmdldD1UcnVlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdMT0FEX0NPTlNUJywgb3Bjb2RlPTEwMCwgYXJnPTMsIGFyZ3ZhbD02LCBhcmdyZXByPSc2Jywgb2Zmc2V0PTUwLCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nQ09NUEFSRV9PUCcsIG9wY29kZT0xMDcsIGFyZz00LCBhcmd2YWw9Jz4nLCBhcmdyZXByPSc+Jywgb2Zmc2V0PTUzLCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nUE9QX0pVTVBfSUZfRkFMU0UnLCBvcGNvZGU9MTE0LCBhcmc9MTMsIGFyZ3ZhbD0xMywgYXJncmVwcj0nJywgb2Zmc2V0PTU2LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nQlJFQUtfTE9PUCcsIG9wY29kZT04MCwgYXJnPU5vbmUsIGFyZ3ZhbD1Ob25lLCBhcmdyZXByPScnLCBvZmZzZXQ9NTksIHN0YXJ0c19saW5lPTgsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdKVU1QX0FCU09MVVRFJywgb3Bjb2RlPTExMywgYXJnPTEzLCBhcmd2YWw9MTMsIGFyZ3JlcHI9JycsIG9mZnNldD02MCwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J0pVTVBfQUJTT0xVVEUnLCBvcGNvZGU9MTEzLCBhcmc9MTMsIGFyZ3ZhbD0xMywgYXJncmVwcj0nJywgb2Zmc2V0PTYzLCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nUE9QX0JMT0NLJywgb3Bjb2RlPTg3LCBhcmc9Tm9uZSwgYXJndmFsPU5vbmUsIGFyZ3JlcHI9JycsIG9mZnNldD02Niwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9VHJ1ZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nTE9BRF9HTE9CQUwnLCBvcGNvZGU9MTE2LCBhcmc9MSwgYXJndmFsPSdwcmludCcsIGFyZ3JlcHI9J3ByaW50Jywgb2Zmc2V0PTY3LCBzdGFydHNfbGluZT0xMCwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J0xPQURfQ09OU1QnLCBvcGNvZGU9MTAwLCBhcmc9NCwgYXJndmFsPSdJIGNhbiBoYXogZWxzZSBjbGF1c2U/JywgYXJncmVwcj0iJ0kgY2FuIGhheiBlbHNlIGNsYXVzZT8nIiwgb2Zmc2V0PTcwLCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nQ0FMTF9GVU5DVElPTicsIG9wY29kZT0xMzEsIGFyZz0xLCBhcmd2YWw9MSwgYXJncmVwcj0nMSBwb3NpdGlvbmFsLCAwIGtleXdvcmQgcGFpcicsIG9mZnNldD03Mywgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J1BPUF9UT1AnLCBvcGNvZGU9MSwgYXJnPU5vbmUsIGFyZ3ZhbD1Ob25lLCBhcmdyZXByPScnLCBvZmZzZXQ9NzYsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdTRVRVUF9MT09QJywgb3Bjb2RlPTEyMCwgYXJnPTc0LCBhcmd2YWw9MTU0LCBhcmdyZXByPSd0byAxNTQnLCBvZmZzZXQ9NzcsIHN0YXJ0c19saW5lPTExLCBpc19qdW1wX3RhcmdldD1UcnVlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdMT0FEX0ZBU1QnLCBvcGNvZGU9MTI0LCBhcmc9MCwgYXJndmFsPSdpJywgYXJncmVwcj0naScsIG9mZnNldD04MCwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9VHJ1ZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nUE9QX0pVTVBfSUZfRkFMU0UnLCBvcGNvZGU9MTE0LCBhcmc9MTQzLCBhcmd2YWw9MTQzLCBhcmdyZXByPScnLCBvZmZzZXQ9ODMsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdMT0FEX0dMT0JBTCcsIG9wY29kZT0xMTYsIGFyZz0xLCBhcmd2YWw9J3ByaW50JywgYXJncmVwcj0ncHJpbnQnLCBvZmZzZXQ9ODYsIHN0YXJ0c19saW5lPTEyLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nTE9BRF9GQVNUJywgb3Bjb2RlPTEyNCwgYXJnPTAsIGFyZ3ZhbD0naScsIGFyZ3JlcHI9J2knLCBvZmZzZXQ9ODksIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdDQUxMX0ZVTkNUSU9OJywgb3Bjb2RlPTEzMSwgYXJnPTEsIGFyZ3ZhbD0xLCBhcmdyZXByPScxIHBvc2l0aW9uYWwsIDAga2V5d29yZCBwYWlyJywgb2Zmc2V0PTkyLCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nUE9QX1RPUCcsIG9wY29kZT0xLCBhcmc9Tm9uZSwgYXJndmFsPU5vbmUsIGFyZ3JlcHI9JycsIG9mZnNldD05NSwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J0xPQURfRkFTVCcsIG9wY29kZT0xMjQsIGFyZz0wLCBhcmd2YWw9J2knLCBhcmdyZXByPSdpJywgb2Zmc2V0PTk2LCBzdGFydHNfbGluZT0xMywgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J0xPQURfQ09OU1QnLCBvcGNvZGU9MTAwLCBhcmc9NSwgYXJndmFsPTEsIGFyZ3JlcHI9JzEnLCBvZmZzZXQ9OTksIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdJTlBMQUNFX1NVQlRSQUNUJywgb3Bjb2RlPTU2LCBhcmc9Tm9uZSwgYXJndmFsPU5vbmUsIGFyZ3JlcHI9JycsIG9mZnNldD0xMDIsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdTVE9SRV9GQVNUJywgb3Bjb2RlPTEyNSwgYXJnPTAsIGFyZ3ZhbD0naScsIGFyZ3JlcHI9J2knLCBvZmZzZXQ9MTAzLCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nTE9BRF9GQVNUJywgb3Bjb2RlPTEyNCwgYXJnPTAsIGFyZ3ZhbD0naScsIGFyZ3JlcHI9J2knLCBvZmZzZXQ9MTA2LCBzdGFydHNfbGluZT0xNCwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J0xPQURfQ09OU1QnLCBvcGNvZGU9MTAwLCBhcmc9MywgYXJndmFsPTYsIGFyZ3JlcHI9JzYnLCBvZmZzZXQ9MTA5LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nQ09NUEFSRV9PUCcsIG9wY29kZT0xMDcsIGFyZz00LCBhcmd2YWw9Jz4nLCBhcmdyZXByPSc+Jywgb2Zmc2V0PTExMiwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J1BPUF9KVU1QX0lGX0ZBTFNFJywgb3Bjb2RlPTExNCwgYXJnPTEyNCwgYXJndmFsPTEyNCwgYXJncmVwcj0nJywgb2Zmc2V0PTExNSwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J0pVTVBfQUJTT0xVVEUnLCBvcGNvZGU9MTEzLCBhcmc9ODAsIGFyZ3ZhbD04MCwgYXJncmVwcj0nJywgb2Zmc2V0PTExOCwgc3RhcnRzX2xpbmU9MTUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdKVU1QX0ZPUldBUkQnLCBvcGNvZGU9MTEwLCBhcmc9MCwgYXJndmFsPTEyNCwgYXJncmVwcj0ndG8gMTI0Jywgb2Zmc2V0PTEyMSwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J0xPQURfRkFTVCcsIG9wY29kZT0xMjQsIGFyZz0wLCBhcmd2YWw9J2knLCBhcmdyZXByPSdpJywgb2Zmc2V0PTEyNCwgc3RhcnRzX2xpbmU9MTYsIGlzX2p1bXBfdGFyZ2V0PVRydWUpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J0xPQURfQ09OU1QnLCBvcGNvZGU9MTAwLCBhcmc9MiwgYXJndmFsPTQsIGFyZ3JlcHI9JzQnLCBvZmZzZXQ9MTI3LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nQ09NUEFSRV9PUCcsIG9wY29kZT0xMDcsIGFyZz0wLCBhcmd2YWw9JzwnLCBhcmdyZXByPSc8Jywgb2Zmc2V0PTEzMCwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J1BPUF9KVU1QX0lGX0ZBTFNFJywgb3Bjb2RlPTExNCwgYXJnPTgwLCBhcmd2YWw9ODAsIGFyZ3JlcHI9JycsIG9mZnNldD0xMzMsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdCUkVBS19MT09QJywgb3Bjb2RlPTgwLCBhcmc9Tm9uZSwgYXJndmFsPU5vbmUsIGFyZ3JlcHI9JycsIG9mZnNldD0xMzYsIHN0YXJ0c19saW5lPTE3LCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nSlVNUF9BQlNPTFVURScsIG9wY29kZT0xMTMsIGFyZz04MCwgYXJndmFsPTgwLCBhcmdyZXByPScnLCBvZmZzZXQ9MTM3LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nSlVNUF9BQlNPTFVURScsIG9wY29kZT0xMTMsIGFyZz04MCwgYXJndmFsPTgwLCBhcmdyZXByPScnLCBvZmZzZXQ9MTQwLCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nUE9QX0JMT0NLJywgb3Bjb2RlPTg3LCBhcmc9Tm9uZSwgYXJndmFsPU5vbmUsIGFyZ3JlcHI9JycsIG9mZnNldD0xNDMsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PVRydWUpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J0xPQURfR0xPQkFMJywgb3Bjb2RlPTExNiwgYXJnPTEsIGFyZ3ZhbD0ncHJpbnQnLCBhcmdyZXByPSdwcmludCcsIG9mZnNldD0xNDQsIHN0YXJ0c19saW5lPTE5LCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nTE9BRF9DT05TVCcsIG9wY29kZT0xMDAsIGFyZz02LCBhcmd2YWw9J1dobyBsZXQgbG9sY2F0eiBpbnRvIHRoaXMgdGVzdCBzdWl0ZT8nLCBhcmdyZXByPSInV2hvIGxldCBsb2xjYXR6IGludG8gdGhpcyB0ZXN0IHN1aXRlPyciLCBvZmZzZXQ9MTQ3LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nQ0FMTF9GVU5DVElPTicsIG9wY29kZT0xMzEsIGFyZz0xLCBhcmd2YWw9MSwgYXJncmVwcj0nMSBwb3NpdGlvbmFsLCAwIGtleXdvcmQgcGFpcicsIG9mZnNldD0xNTAsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdQT1BfVE9QJywgb3Bjb2RlPTEsIGFyZz1Ob25lLCBhcmd2YWw9Tm9uZSwgYXJncmVwcj0nJywgb2Zmc2V0PTE1Mywgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J1NFVFVQX0ZJTkFMTFknLCBvcGNvZGU9MTIyLCBhcmc9NzIsIGFyZ3ZhbD0yMjksIGFyZ3JlcHI9J3RvIDIyOScsIG9mZnNldD0xNTQsIHN0YXJ0c19saW5lPTIwLCBpc19qdW1wX3RhcmdldD1UcnVlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdTRVRVUF9FWENFUFQnLCBvcGNvZGU9MTIxLCBhcmc9MTIsIGFyZ3ZhbD0xNzIsIGFyZ3JlcHI9J3RvIDE3MicsIG9mZnNldD0xNTcsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdMT0FEX0NPTlNUJywgb3Bjb2RlPTEwMCwgYXJnPTUsIGFyZ3ZhbD0xLCBhcmdyZXByPScxJywgb2Zmc2V0PTE2MCwgc3RhcnRzX2xpbmU9MjEsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdMT0FEX0NPTlNUJywgb3Bjb2RlPTEwMCwgYXJnPTcsIGFyZ3ZhbD0wLCBhcmdyZXByPScwJywgb2Zmc2V0PTE2Mywgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J0JJTkFSWV9UUlVFX0RJVklERScsIG9wY29kZT0yNywgYXJnPU5vbmUsIGFyZ3ZhbD1Ob25lLCBhcmdyZXByPScnLCBvZmZzZXQ9MTY2LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nUE9QX1RPUCcsIG9wY29kZT0xLCBhcmc9Tm9uZSwgYXJndmFsPU5vbmUsIGFyZ3JlcHI9JycsIG9mZnNldD0xNjcsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdQT1BfQkxPQ0snLCBvcGNvZGU9ODcsIGFyZz1Ob25lLCBhcmd2YWw9Tm9uZSwgYXJncmVwcj0nJywgb2Zmc2V0PTE2OCwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J0pVTVBfRk9SV0FSRCcsIG9wY29kZT0xMTAsIGFyZz0yOCwgYXJndmFsPTIwMCwgYXJncmVwcj0ndG8gMjAwJywgb2Zmc2V0PTE2OSwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J0RVUF9UT1AnLCBvcGNvZGU9NCwgYXJnPU5vbmUsIGFyZ3ZhbD1Ob25lLCBhcmdyZXByPScnLCBvZmZzZXQ9MTcyLCBzdGFydHNfbGluZT0yMiwgaXNfanVtcF90YXJnZXQ9VHJ1ZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nTE9BRF9HTE9CQUwnLCBvcGNvZGU9MTE2LCBhcmc9MiwgYXJndmFsPSdaZXJvRGl2aXNpb25FcnJvcicsIGFyZ3JlcHI9J1plcm9EaXZpc2lvbkVycm9yJywgb2Zmc2V0PTE3Mywgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J0NPTVBBUkVfT1AnLCBvcGNvZGU9MTA3LCBhcmc9MTAsIGFyZ3ZhbD0nZXhjZXB0aW9uIG1hdGNoJywgYXJncmVwcj0nZXhjZXB0aW9uIG1hdGNoJywgb2Zmc2V0PTE3Niwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J1BPUF9KVU1QX0lGX0ZBTFNFJywgb3Bjb2RlPTExNCwgYXJnPTE5OSwgYXJndmFsPTE5OSwgYXJncmVwcj0nJywgb2Zmc2V0PTE3OSwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J0xPQURfRkFTVCcsIG9wY29kZT0xMjQsIGFyZz0wLCBhcmd2YWw9J2knLCBhcmdyZXByPSdpJywgb2Zmc2V0PTQ0LCBzdGFydHNfbGluZT03LCBpc19qdW1wX3RhcmdldD1UcnVlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdMT0FEX0NPTlNUJywgb3Bjb2RlPTEwMCwgYXJnPTMsIGFyZ3ZhbD02LCBhcmdyZXByPSc2Jywgb2Zmc2V0PTQ3LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nQ09NUEFSRV9PUCcsIG9wY29kZT0xMDcsIGFyZz00LCBhcmd2YWw9Jz4nLCBhcmdyZXByPSc+Jywgb2Zmc2V0PTUwLCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nUE9QX0pVTVBfSUZfRkFMU0UnLCBvcGNvZGU9MTE0LCBhcmc9MTMsIGFyZ3ZhbD0xMywgYXJncmVwcj0nJywgb2Zmc2V0PTUzLCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nQlJFQUtfTE9PUCcsIG9wY29kZT04MCwgYXJnPU5vbmUsIGFyZ3ZhbD1Ob25lLCBhcmdyZXByPScnLCBvZmZzZXQ9NTYsIHN0YXJ0c19saW5lPTgsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdKVU1QX0FCU09MVVRFJywgb3Bjb2RlPTExMywgYXJnPTEzLCBhcmd2YWw9MTMsIGFyZ3JlcHI9JycsIG9mZnNldD01Nywgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J1BPUF9CTE9DSycsIG9wY29kZT04NywgYXJnPU5vbmUsIGFyZ3ZhbD1Ob25lLCBhcmdyZXByPScnLCBvZmZzZXQ9NjAsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PVRydWUpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J0xPQURfR0xPQkFMJywgb3Bjb2RlPTExNiwgYXJnPTEsIGFyZ3ZhbD0ncHJpbnQnLCBhcmdyZXByPSdwcmludCcsIG9mZnNldD02MSwgc3RhcnRzX2xpbmU9MTAsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdMT0FEX0NPTlNUJywgb3Bjb2RlPTEwMCwgYXJnPTQsIGFyZ3ZhbD0nSSBjYW4gaGF6IGVsc2UgY2xhdXNlPycsIGFyZ3JlcHI9IidJIGNhbiBoYXogZWxzZSBjbGF1c2U/JyIsIG9mZnNldD02NCwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J0NBTExfRlVOQ1RJT04nLCBvcGNvZGU9MTMxLCBhcmc9MSwgYXJndmFsPTEsIGFyZ3JlcHI9JzEgcG9zaXRpb25hbCwgMCBrZXl3b3JkIHBhaXInLCBvZmZzZXQ9NjcsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdQT1BfVE9QJywgb3Bjb2RlPTEsIGFyZz1Ob25lLCBhcmd2YWw9Tm9uZSwgYXJncmVwcj0nJywgb2Zmc2V0PTcwLCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nU0VUVVBfTE9PUCcsIG9wY29kZT0xMjAsIGFyZz02OCwgYXJndmFsPTE0MiwgYXJncmVwcj0ndG8gMTQyJywgb2Zmc2V0PTcxLCBzdGFydHNfbGluZT0xMSwgaXNfanVtcF90YXJnZXQ9VHJ1ZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nTE9BRF9GQVNUJywgb3Bjb2RlPTEyNCwgYXJnPTAsIGFyZ3ZhbD0naScsIGFyZ3JlcHI9J2knLCBvZmZzZXQ9NzQsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PVRydWUpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J1BPUF9KVU1QX0lGX0ZBTFNFJywgb3Bjb2RlPTExNCwgYXJnPTEzMSwgYXJndmFsPTEzMSwgYXJncmVwcj0nJywgb2Zmc2V0PTc3LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nTE9BRF9HTE9CQUwnLCBvcGNvZGU9MTE2LCBhcmc9MSwgYXJndmFsPSdwcmludCcsIGFyZ3JlcHI9J3ByaW50Jywgb2Zmc2V0PTgwLCBzdGFydHNfbGluZT0xMiwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J0xPQURfRkFTVCcsIG9wY29kZT0xMjQsIGFyZz0wLCBhcmd2YWw9J2knLCBhcmdyZXByPSdpJywgb2Zmc2V0PTgzLCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nQ0FMTF9GVU5DVElPTicsIG9wY29kZT0xMzEsIGFyZz0xLCBhcmd2YWw9MSwgYXJncmVwcj0nMSBwb3NpdGlvbmFsLCAwIGtleXdvcmQgcGFpcicsIG9mZnNldD04Niwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J1BPUF9UT1AnLCBvcGNvZGU9MSwgYXJnPU5vbmUsIGFyZ3ZhbD1Ob25lLCBhcmdyZXByPScnLCBvZmZzZXQ9ODksIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdMT0FEX0ZBU1QnLCBvcGNvZGU9MTI0LCBhcmc9MCwgYXJndmFsPSdpJywgYXJncmVwcj0naScsIG9mZnNldD05MCwgc3RhcnRzX2xpbmU9MTMsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdMT0FEX0NPTlNUJywgb3Bjb2RlPTEwMCwgYXJnPTUsIGFyZ3ZhbD0xLCBhcmdyZXByPScxJywgb2Zmc2V0PTkzLCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nSU5QTEFDRV9TVUJUUkFDVCcsIG9wY29kZT01NiwgYXJnPU5vbmUsIGFyZ3ZhbD1Ob25lLCBhcmdyZXByPScnLCBvZmZzZXQ9OTYsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdTVE9SRV9GQVNUJywgb3Bjb2RlPTEyNSwgYXJnPTAsIGFyZ3ZhbD0naScsIGFyZ3JlcHI9J2knLCBvZmZzZXQ9OTcsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdMT0FEX0ZBU1QnLCBvcGNvZGU9MTI0LCBhcmc9MCwgYXJndmFsPSdpJywgYXJncmVwcj0naScsIG9mZnNldD0xMDAsIHN0YXJ0c19saW5lPTE0LCBpc19qdW1wX3RhcmdldD1GYWxzZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nTE9BRF9DT05TVCcsIG9wY29kZT0xMDAsIGFyZz0zLCBhcmd2YWw9NiwgYXJncmVwcj0nNicsIG9mZnNldD0xMDMsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdDT01QQVJFX09QJywgb3Bjb2RlPTEwNywgYXJnPTQsIGFyZ3ZhbD0nPicsIGFyZ3JlcHI9Jz4nLCBvZmZzZXQ9MTA2LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nUE9QX0pVTVBfSUZfRkFMU0UnLCBvcGNvZGU9MTE0LCBhcmc9MTE1LCBhcmd2YWw9MTE1LCBhcmdyZXByPScnLCBvZmZzZXQ9MTA5LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nSlVNUF9BQlNPTFVURScsIG9wY29kZT0xMTMsIGFyZz03NCwgYXJndmFsPTc0LCBhcmdyZXByPScnLCBvZmZzZXQ9MTEyLCBzdGFydHNfbGluZT0xNSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J0xPQURfRkFTVCcsIG9wY29kZT0xMjQsIGFyZz0wLCBhcmd2YWw9J2knLCBhcmdyZXByPSdpJywgb2Zmc2V0PTExNSwgc3RhcnRzX2xpbmU9MTYsIGlzX2p1bXBfdGFyZ2V0PVRydWUpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J0xPQURfQ09OU1QnLCBvcGNvZGU9MTAwLCBhcmc9MiwgYXJndmFsPTQsIGFyZ3JlcHI9JzQnLCBvZmZzZXQ9MTE4LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nQ09NUEFSRV9PUCcsIG9wY29kZT0xMDcsIGFyZz0wLCBhcmd2YWw9JzwnLCBhcmdyZXByPSc8Jywgb2Zmc2V0PTEyMSwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J1BPUF9KVU1QX0lGX0ZBTFNFJywgb3Bjb2RlPTExNCwgYXJnPTc0LCBhcmd2YWw9NzQsIGFyZ3JlcHI9JycsIG9mZnNldD0xMjQsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdCUkVBS19MT09QJywgb3Bjb2RlPTgwLCBhcmc9Tm9uZSwgYXJndmFsPU5vbmUsIGFyZ3JlcHI9JycsIG9mZnNldD0xMjcsIHN0YXJ0c19saW5lPTE3LCBpc19qdW1wX3RhcmdldD1GYWxzZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nSlVNUF9BQlNPTFVURScsIG9wY29kZT0xMTMsIGFyZz03NCwgYXJndmFsPTc0LCBhcmdyZXByPScnLCBvZmZzZXQ9MTI4LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nUE9QX0JMT0NLJywgb3Bjb2RlPTg3LCBhcmc9Tm9uZSwgYXJndmFsPU5vbmUsIGFyZ3JlcHI9JycsIG9mZnNldD0xMzEsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PVRydWUpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J0xPQURfR0xPQkFMJywgb3Bjb2RlPTExNiwgYXJnPTEsIGFyZ3ZhbD0ncHJpbnQnLCBhcmdyZXByPSdwcmludCcsIG9mZnNldD0xMzIsIHN0YXJ0c19saW5lPTE5LCBpc19qdW1wX3RhcmdldD1GYWxzZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nTE9BRF9DT05TVCcsIG9wY29kZT0xMDAsIGFyZz02LCBhcmd2YWw9J1dobyBsZXQgbG9sY2F0eiBpbnRvIHRoaXMgdGVzdCBzdWl0ZT8nLCBhcmdyZXByPSInV2hvIGxldCBsb2xjYXR6IGludG8gdGhpcyB0ZXN0IHN1aXRlPyciLCBvZmZzZXQ9MTM1LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nQ0FMTF9GVU5DVElPTicsIG9wY29kZT0xMzEsIGFyZz0xLCBhcmd2YWw9MSwgYXJncmVwcj0nMSBwb3NpdGlvbmFsLCAwIGtleXdvcmQgcGFpcicsIG9mZnNldD0xMzgsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdQT1BfVE9QJywgb3Bjb2RlPTEsIGFyZz1Ob25lLCBhcmd2YWw9Tm9uZSwgYXJncmVwcj0nJywgb2Zmc2V0PTE0MSwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J1NFVFVQX0ZJTkFMTFknLCBvcGNvZGU9MTIyLCBhcmc9NzIsIGFyZ3ZhbD0yMTcsIGFyZ3JlcHI9J3RvIDIxNycsIG9mZnNldD0xNDIsIHN0YXJ0c19saW5lPTIwLCBpc19qdW1wX3RhcmdldD1UcnVlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdTRVRVUF9FWENFUFQnLCBvcGNvZGU9MTIxLCBhcmc9MTIsIGFyZ3ZhbD0xNjAsIGFyZ3JlcHI9J3RvIDE2MCcsIG9mZnNldD0xNDUsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdMT0FEX0NPTlNUJywgb3Bjb2RlPTEwMCwgYXJnPTUsIGFyZ3ZhbD0xLCBhcmdyZXByPScxJywgb2Zmc2V0PTE0OCwgc3RhcnRzX2xpbmU9MjEsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdMT0FEX0NPTlNUJywgb3Bjb2RlPTEwMCwgYXJnPTcsIGFyZ3ZhbD0wLCBhcmdyZXByPScwJywgb2Zmc2V0PTE1MSwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J0JJTkFSWV9UUlVFX0RJVklERScsIG9wY29kZT0yNywgYXJnPU5vbmUsIGFyZ3ZhbD1Ob25lLCBhcmdyZXByPScnLCBvZmZzZXQ9MTU0LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nUE9QX1RPUCcsIG9wY29kZT0xLCBhcmc9Tm9uZSwgYXJndmFsPU5vbmUsIGFyZ3JlcHI9JycsIG9mZnNldD0xNTUsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdQT1BfQkxPQ0snLCBvcGNvZGU9ODcsIGFyZz1Ob25lLCBhcmd2YWw9Tm9uZSwgYXJncmVwcj0nJywgb2Zmc2V0PTE1Niwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J0pVTVBfRk9SV0FSRCcsIG9wY29kZT0xMTAsIGFyZz0yOCwgYXJndmFsPTE4OCwgYXJncmVwcj0ndG8gMTg4Jywgb2Zmc2V0PTE1Nywgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J0RVUF9UT1AnLCBvcGNvZGU9NCwgYXJnPU5vbmUsIGFyZ3ZhbD1Ob25lLCBhcmdyZXByPScnLCBvZmZzZXQ9MTYwLCBzdGFydHNfbGluZT0yMiwgaXNfanVtcF90YXJnZXQ9VHJ1ZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nTE9BRF9HTE9CQUwnLCBvcGNvZGU9MTE2LCBhcmc9MiwgYXJndmFsPSdaZXJvRGl2aXNpb25FcnJvcicsIGFyZ3JlcHI9J1plcm9EaXZpc2lvbkVycm9yJywgb2Zmc2V0PTE2MSwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J0NPTVBBUkVfT1AnLCBvcGNvZGU9MTA3LCBhcmc9MTAsIGFyZ3ZhbD0nZXhjZXB0aW9uIG1hdGNoJywgYXJncmVwcj0nZXhjZXB0aW9uIG1hdGNoJywgb2Zmc2V0PTE2NCwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J1BPUF9KVU1QX0lGX0ZBTFNFJywgb3Bjb2RlPTExNCwgYXJnPTE4NywgYXJndmFsPTE4NywgYXJncmVwcj0nJywgb2Zmc2V0PTE2Nywgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J1BPUF9UT1AnLCBvcGNvZGU9MSwgYXJnPU5vbmUsIGFyZ3ZhbD1Ob25lLCBhcmdyZXByPScnLCBvZmZzZXQ9MTcwLCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nUE9QX1RPUCcsIG9wY29kZT0xLCBhcmc9Tm9uZSwgYXJndmFsPU5vbmUsIGFyZ3JlcHI9JycsIG9mZnNldD0xNzEsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdQT1BfVE9QJywgb3Bjb2RlPTEsIGFyZz1Ob25lLCBhcmd2YWw9Tm9uZSwgYXJncmVwcj0nJywgb2Zmc2V0PTE3Miwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J0xPQURfR0xPQkFMJywgb3Bjb2RlPTExNiwgYXJnPTEsIGFyZ3ZhbD0ncHJpbnQnLCBhcmdyZXByPSdwcmludCcsIG9mZnNldD0xNzMsIHN0YXJ0c19saW5lPTIzLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nTE9BRF9DT05TVCcsIG9wY29kZT0xMDAsIGFyZz04LCBhcmd2YWw9J0hlcmUgd2UgZ28sIGhlcmUgd2UgZ28sIGhlcmUgd2UgZ28uLi4nLCBhcmdyZXByPSInSGVyZSB3ZSBnbywgaGVyZSB3ZSBnbywgaGVyZSB3ZSBnby4uLiciLCBvZmZzZXQ9MTc2LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nQ0FMTF9GVU5DVElPTicsIG9wY29kZT0xMzEsIGFyZz0xLCBhcmd2YWw9MSwgYXJncmVwcj0nMSBwb3NpdGlvbmFsLCAwIGtleXdvcmQgcGFpcicsIG9mZnNldD0xNzksIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKICAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdQT1BfVE9QJywgb3Bjb2RlPTEsIGFyZz1Ob25lLCBhcmd2YWw9Tm9uZSwgYXJncmVwcj0nJywgb2Zmc2V0PTE4Miwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J1BPUF9UT1AnLCBvcGNvZGU9MSwgYXJnPU5vbmUsIGFyZ3ZhbD1Ob25lLCBhcmdyZXByPScnLCBvZmZzZXQ9MTgzLCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nUE9QX1RPUCcsIG9wY29kZT0xLCBhcmc9Tm9uZSwgYXJndmFsPU5vbmUsIGFyZ3JlcHI9JycsIG9mZnNldD0xODQsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdMT0FEX0dMT0JBTCcsIG9wY29kZT0xMTYsIGFyZz0xLCBhcmd2YWw9J3ByaW50JywgYXJncmVwcj0ncHJpbnQnLCBvZmZzZXQ9MTg1LCBzdGFydHNfbGluZT0yMywgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J0xPQURfQ09OU1QnLCBvcGNvZGU9MTAwLCBhcmc9OCwgYXJndmFsPSdIZXJlIHdlIGdvLCBoZXJlIHdlIGdvLCBoZXJlIHdlIGdvLi4uJywgYXJncmVwcj0iJ0hlcmUgd2UgZ28sIGhlcmUgd2UgZ28sIGhlcmUgd2UgZ28uLi4nIiwgb2Zmc2V0PTE4OCwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J0NBTExfRlVOQ1RJT04nLCBvcGNvZGU9MTMxLCBhcmc9MSwgYXJndmFsPTEsIGFyZ3JlcHI9JzEgcG9zaXRpb25hbCwgMCBrZXl3b3JkIHBhaXInLCBvZmZzZXQ9MTkxLCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nUE9QX1RPUCcsIG9wY29kZT0xLCBhcmc9Tm9uZSwgYXJndmFsPU5vbmUsIGFyZ3JlcHI9JycsIG9mZnNldD0xOTQsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdQT1BfRVhDRVBUJywgb3Bjb2RlPTg5LCBhcmc9Tm9uZSwgYXJndmFsPU5vbmUsIGFyZ3JlcHI9JycsIG9mZnNldD0xOTUsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdKVU1QX0ZPUldBUkQnLCBvcGNvZGU9MTEwLCBhcmc9MjYsIGFyZ3ZhbD0yMjUsIGFyZ3JlcHI9J3RvIDIyNScsIG9mZnNldD0xOTYsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdFTkRfRklOQUxMWScsIG9wY29kZT04OCwgYXJnPU5vbmUsIGFyZ3ZhbD1Ob25lLCBhcmdyZXByPScnLCBvZmZzZXQ9MTk5LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1UcnVlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdMT0FEX0ZBU1QnLCBvcGNvZGU9MTI0LCBhcmc9MCwgYXJndmFsPSdpJywgYXJncmVwcj0naScsIG9mZnNldD0yMDAsIHN0YXJ0c19saW5lPTI1LCBpc19qdW1wX3RhcmdldD1UcnVlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdTRVRVUF9XSVRIJywgb3Bjb2RlPTE0MywgYXJnPTE3LCBhcmd2YWw9MjIzLCBhcmdyZXByPSd0byAyMjMnLCBvZmZzZXQ9MjAzLCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nU1RPUkVfRkFTVCcsIG9wY29kZT0xMjUsIGFyZz0xLCBhcmd2YWw9J2RvZGd5JywgYXJncmVwcj0nZG9kZ3knLCBvZmZzZXQ9MjA2LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nTE9BRF9HTE9CQUwnLCBvcGNvZGU9MTE2LCBhcmc9MSwgYXJndmFsPSdwcmludCcsIGFyZ3JlcHI9J3ByaW50Jywgb2Zmc2V0PTIwOSwgc3RhcnRzX2xpbmU9MjYsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdMT0FEX0NPTlNUJywgb3Bjb2RlPTEwMCwgYXJnPTksIGFyZ3ZhbD0nTmV2ZXIgcmVhY2ggdGhpcycsIGFyZ3JlcHI9IidOZXZlciByZWFjaCB0aGlzJyIsIG9mZnNldD0yMTIsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdDQUxMX0ZVTkNUSU9OJywgb3Bjb2RlPTEzMSwgYXJnPTEsIGFyZ3ZhbD0xLCBhcmdyZXByPScxIHBvc2l0aW9uYWwsIDAga2V5d29yZCBwYWlyJywgb2Zmc2V0PTIxNSwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J1BPUF9UT1AnLCBvcGNvZGU9MSwgYXJnPU5vbmUsIGFyZ3ZhbD1Ob25lLCBhcmdyZXByPScnLCBvZmZzZXQ9MjE4LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nUE9QX0JMT0NLJywgb3Bjb2RlPTg3LCBhcmc9Tm9uZSwgYXJndmFsPU5vbmUsIGFyZ3JlcHI9JycsIG9mZnNldD0yMTksIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdMT0FEX0NPTlNUJywgb3Bjb2RlPTEwMCwgYXJnPTAsIGFyZ3ZhbD1Ob25lLCBhcmdyZXByPSdOb25lJywgb2Zmc2V0PTIyMCwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J1dJVEhfQ0xFQU5VUCcsIG9wY29kZT04MSwgYXJnPU5vbmUsIGFyZ3ZhbD1Ob25lLCBhcmdyZXByPScnLCBvZmZzZXQ9MjIzLCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1UcnVlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdFTkRfRklOQUxMWScsIG9wY29kZT04OCwgYXJnPU5vbmUsIGFyZ3ZhbD1Ob25lLCBhcmdyZXByPScnLCBvZmZzZXQ9MjI0LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nUE9QX0JMT0NLJywgb3Bjb2RlPTg3LCBhcmc9Tm9uZSwgYXJndmFsPU5vbmUsIGFyZ3JlcHI9JycsIG9mZnNldD0yMjUsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PVRydWUpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J0xPQURfQ09OU1QnLCBvcGNvZGU9MTAwLCBhcmc9MCwgYXJndmFsPU5vbmUsIGFyZ3JlcHI9J05vbmUnLCBvZmZzZXQ9MjI2LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nTE9BRF9HTE9CQUwnLCBvcGNvZGU9MTE2LCBhcmc9MSwgYXJndmFsPSdwcmludCcsIGFyZ3JlcHI9J3ByaW50Jywgb2Zmc2V0PTIyOSwgc3RhcnRzX2xpbmU9MjgsIGlzX2p1bXBfdGFyZ2V0PVRydWUpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J0xPQURfQ09OU1QnLCBvcGNvZGU9MTAwLCBhcmc9MTAsIGFyZ3ZhbD0iT0ssIG5vdyB3ZSdyZSBkb25lIiwgYXJncmVwcj0nIk9LLCBub3cgd2VcJ3JlIGRvbmUiJywgb2Zmc2V0PTIzMiwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J0NBTExfRlVOQ1RJT04nLCBvcGNvZGU9MTMxLCBhcmc9MSwgYXJndmFsPTEsIGFyZ3JlcHI9JzEgcG9zaXRpb25hbCwgMCBrZXl3b3JkIHBhaXInLCBvZmZzZXQ9MjM1LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nUE9QX1RPUCcsIG9wY29kZT0xLCBhcmc9Tm9uZSwgYXJndmFsPU5vbmUsIGFyZ3JlcHI9JycsIG9mZnNldD0yMzgsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdFTkRfRklOQUxMWScsIG9wY29kZT04OCwgYXJnPU5vbmUsIGFyZ3ZhbD1Ob25lLCBhcmdyZXByPScnLCBvZmZzZXQ9MjM5LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nTE9BRF9DT05TVCcsIG9wY29kZT0xMDAsIGFyZz0wLCBhcmd2YWw9Tm9uZSwgYXJncmVwcj0nTm9uZScsIG9mZnNldD0yNDAsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdSRVRVUk5fVkFMVUUnLCBvcGNvZGU9ODMsIGFyZz1Ob25lLCBhcmd2YWw9Tm9uZSwgYXJncmVwcj0nJywgb2Zmc2V0PTI0Mywgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J1BPUF9FWENFUFQnLCBvcGNvZGU9ODksIGFyZz1Ob25lLCBhcmd2YWw9Tm9uZSwgYXJncmVwcj0nJywgb2Zmc2V0PTE4Mywgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J0pVTVBfRk9SV0FSRCcsIG9wY29kZT0xMTAsIGFyZz0yNiwgYXJndmFsPTIxMywgYXJncmVwcj0ndG8gMjEzJywgb2Zmc2V0PTE4NCwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J0VORF9GSU5BTExZJywgb3Bjb2RlPTg4LCBhcmc9Tm9uZSwgYXJndmFsPU5vbmUsIGFyZ3JlcHI9JycsIG9mZnNldD0xODcsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PVRydWUpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J0xPQURfRkFTVCcsIG9wY29kZT0xMjQsIGFyZz0wLCBhcmd2YWw9J2knLCBhcmdyZXByPSdpJywgb2Zmc2V0PTE4OCwgc3RhcnRzX2xpbmU9MjUsIGlzX2p1bXBfdGFyZ2V0PVRydWUpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J1NFVFVQX1dJVEgnLCBvcGNvZGU9MTQzLCBhcmc9MTcsIGFyZ3ZhbD0yMTEsIGFyZ3JlcHI9J3RvIDIxMScsIG9mZnNldD0xOTEsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdTVE9SRV9GQVNUJywgb3Bjb2RlPTEyNSwgYXJnPTEsIGFyZ3ZhbD0nZG9kZ3knLCBhcmdyZXByPSdkb2RneScsIG9mZnNldD0xOTQsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdMT0FEX0dMT0JBTCcsIG9wY29kZT0xMTYsIGFyZz0xLCBhcmd2YWw9J3ByaW50JywgYXJncmVwcj0ncHJpbnQnLCBvZmZzZXQ9MTk3LCBzdGFydHNfbGluZT0yNiwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J0xPQURfQ09OU1QnLCBvcGNvZGU9MTAwLCBhcmc9OSwgYXJndmFsPSdOZXZlciByZWFjaCB0aGlzJywgYXJncmVwcj0iJ05ldmVyIHJlYWNoIHRoaXMnIiwgb2Zmc2V0PTIwMCwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J0NBTExfRlVOQ1RJT04nLCBvcGNvZGU9MTMxLCBhcmc9MSwgYXJndmFsPTEsIGFyZ3JlcHI9JzEgcG9zaXRpb25hbCwgMCBrZXl3b3JkIHBhaXInLCBvZmZzZXQ9MjAzLCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nUE9QX1RPUCcsIG9wY29kZT0xLCBhcmc9Tm9uZSwgYXJndmFsPU5vbmUsIGFyZ3JlcHI9JycsIG9mZnNldD0yMDYsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdQT1BfQkxPQ0snLCBvcGNvZGU9ODcsIGFyZz1Ob25lLCBhcmd2YWw9Tm9uZSwgYXJncmVwcj0nJywgb2Zmc2V0PTIwNywgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J0xPQURfQ09OU1QnLCBvcGNvZGU9MTAwLCBhcmc9MCwgYXJndmFsPU5vbmUsIGFyZ3JlcHI9J05vbmUnLCBvZmZzZXQ9MjA4LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nV0lUSF9DTEVBTlVQJywgb3Bjb2RlPTgxLCBhcmc9Tm9uZSwgYXJndmFsPU5vbmUsIGFyZ3JlcHI9JycsIG9mZnNldD0yMTEsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PVRydWUpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J0VORF9GSU5BTExZJywgb3Bjb2RlPTg4LCBhcmc9Tm9uZSwgYXJndmFsPU5vbmUsIGFyZ3JlcHI9JycsIG9mZnNldD0yMTIsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdQT1BfQkxPQ0snLCBvcGNvZGU9ODcsIGFyZz1Ob25lLCBhcmd2YWw9Tm9uZSwgYXJncmVwcj0nJywgb2Zmc2V0PTIxMywgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9VHJ1ZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nTE9BRF9DT05TVCcsIG9wY29kZT0xMDAsIGFyZz0wLCBhcmd2YWw9Tm9uZSwgYXJncmVwcj0nTm9uZScsIG9mZnNldD0yMTQsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdMT0FEX0dMT0JBTCcsIG9wY29kZT0xMTYsIGFyZz0xLCBhcmd2YWw9J3ByaW50JywgYXJncmVwcj0ncHJpbnQnLCBvZmZzZXQ9MjE3LCBzdGFydHNfbGluZT0yOCwgaXNfanVtcF90YXJnZXQ9VHJ1ZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nTE9BRF9DT05TVCcsIG9wY29kZT0xMDAsIGFyZz0xMCwgYXJndmFsPSJPSywgbm93IHdlJ3JlIGRvbmUiLCBhcmdyZXByPSciT0ssIG5vdyB3ZVwncmUgZG9uZSInLCBvZmZzZXQ9MjIwLCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nQ0FMTF9GVU5DVElPTicsIG9wY29kZT0xMzEsIGFyZz0xLCBhcmd2YWw9MSwgYXJncmVwcj0nMSBwb3NpdGlvbmFsLCAwIGtleXdvcmQgcGFpcicsIG9mZnNldD0yMjMsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdQT1BfVE9QJywgb3Bjb2RlPTEsIGFyZz1Ob25lLCBhcmd2YWw9Tm9uZSwgYXJncmVwcj0nJywgb2Zmc2V0PTIyNiwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J0VORF9GSU5BTExZJywgb3Bjb2RlPTg4LCBhcmc9Tm9uZSwgYXJndmFsPU5vbmUsIGFyZ3JlcHI9JycsIG9mZnNldD0yMjcsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdMT0FEX0NPTlNUJywgb3Bjb2RlPTEwMCwgYXJnPTAsIGFyZ3ZhbD1Ob25lLCBhcmdyZXByPSdOb25lJywgb2Zmc2V0PTIyOCwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J1JFVFVSTl9WQUxVRScsIG9wY29kZT04MywgYXJnPU5vbmUsIGFyZ3ZhbD1Ob25lLCBhcmdyZXByPScnLCBvZmZzZXQ9MjMxLCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCiBdCiAKICMgT25lIGxhc3QgcGllY2Ugb2YgaW5zcGVjdCBmb2RkZXIgdG8gY2hlY2sgdGhlIGRlZmF1bHQgbGluZSBudW1iZXIgaGFuZGxpbmcKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfZG9jdGVzdC5weSBiL0xpYi90ZXN0L3Rlc3RfZG9jdGVzdC5weQppbmRleCA0MTM3ZDVhLi45NTcwMGEzIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2RvY3Rlc3QucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9kb2N0ZXN0LnB5CkBAIC00LDYgKzQsNyBAQAogCiBmcm9tIHRlc3QgaW1wb3J0IHN1cHBvcnQKIGltcG9ydCBkb2N0ZXN0CitpbXBvcnQgZnVuY3Rvb2xzCiBpbXBvcnQgb3MKIGltcG9ydCBzeXMKIApAQCAtNDM0LDcgKzQzNSw3IEBACiAgICAgPj4+IHRlc3RzID0gZmluZGVyLmZpbmQoc2FtcGxlX2Z1bmMpCiAKICAgICA+Pj4gcHJpbnQodGVzdHMpICAjIGRvY3Rlc3Q6ICtFTExJUFNJUwotICAgIFs8RG9jVGVzdCBzYW1wbGVfZnVuYyBmcm9tIC4uLjoxOCAoMSBleGFtcGxlKT5dCisgICAgWzxEb2NUZXN0IHNhbXBsZV9mdW5jIGZyb20gLi4uOjE5ICgxIGV4YW1wbGUpPl0KIAogVGhlIGV4YWN0IG5hbWUgZGVwZW5kcyBvbiBob3cgdGVzdF9kb2N0ZXN0IHdhcyBpbnZva2VkLCBzbyBhbGxvdyBmb3IKIGxlYWRpbmcgcGF0aCBjb21wb25lbnRzLgpAQCAtMjA5NiwyMiArMjA5Nyw5IEBACiAgICAgICAgICA+Pj4gc3VpdGUucnVuKHVuaXR0ZXN0LlRlc3RSZXN1bHQoKSkKICAgICAgICAgIDx1bml0dGVzdC5yZXN1bHQuVGVzdFJlc3VsdCBydW49MCBlcnJvcnM9MCBmYWlsdXJlcz0wPgogCi0gICAgICAgSG93ZXZlciwgaWYgRG9jVGVzdFN1aXRlIGZpbmRzIG5vIGRvY3N0cmluZ3MsIGl0IHJhaXNlcyBhbiBlcnJvcjoKKyAgICAgICBUaGUgbW9kdWxlIG5lZWQgbm90IGNvbnRhaW4gYW55IGRvY3N0cmluZ3MgZWl0aGVyOgogCi0gICAgICAgICA+Pj4gdHJ5OgotICAgICAgICAgLi4uICAgICBkb2N0ZXN0LkRvY1Rlc3RTdWl0ZSgndGVzdC5zYW1wbGVfZG9jdGVzdF9ub19kb2NzdHJpbmdzJykKLSAgICAgICAgIC4uLiBleGNlcHQgVmFsdWVFcnJvciBhcyBlOgotICAgICAgICAgLi4uICAgICBlcnJvciA9IGUKLQotICAgICAgICAgPj4+IHByaW50KGVycm9yLmFyZ3NbMV0pCi0gICAgICAgICBoYXMgbm8gZG9jc3RyaW5ncwotCi0gICAgICAgWW91IGNhbiBwcmV2ZW50IHRoaXMgZXJyb3IgYnkgcGFzc2luZyBhIERvY1Rlc3RGaW5kZXIgaW5zdGFuY2Ugd2l0aAotICAgICAgIHRoZSBgZXhjbHVkZV9lbXB0eWAga2V5d29yZCBhcmd1bWVudCBzZXQgdG8gRmFsc2U6Ci0KLSAgICAgICAgID4+PiBmaW5kZXIgPSBkb2N0ZXN0LkRvY1Rlc3RGaW5kZXIoZXhjbHVkZV9lbXB0eT1GYWxzZSkKLSAgICAgICAgID4+PiBzdWl0ZSA9IGRvY3Rlc3QuRG9jVGVzdFN1aXRlKCd0ZXN0LnNhbXBsZV9kb2N0ZXN0X25vX2RvY3N0cmluZ3MnLAotICAgICAgICAgLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF9maW5kZXI9ZmluZGVyKQorICAgICAgICAgPj4+IHN1aXRlID0gZG9jdGVzdC5Eb2NUZXN0U3VpdGUoJ3Rlc3Quc2FtcGxlX2RvY3Rlc3Rfbm9fZG9jc3RyaW5ncycpCiAgICAgICAgICA+Pj4gc3VpdGUucnVuKHVuaXR0ZXN0LlRlc3RSZXN1bHQoKSkKICAgICAgICAgIDx1bml0dGVzdC5yZXN1bHQuVGVzdFJlc3VsdCBydW49MCBlcnJvcnM9MCBmYWlsdXJlcz0wPgogCkBAIC0yMTIxLDYgKzIxMDksMjIgQEAKICAgICAgICAgID4+PiBzdWl0ZS5ydW4odW5pdHRlc3QuVGVzdFJlc3VsdCgpKQogICAgICAgICAgPHVuaXR0ZXN0LnJlc3VsdC5UZXN0UmVzdWx0IHJ1bj05IGVycm9ycz0wIGZhaWx1cmVzPTQ+CiAKKyAgICAgICBXZSBjYW4gYWxzbyBwcm92aWRlIGEgRG9jVGVzdEZpbmRlcjoKKworICAgICAgICAgPj4+IGZpbmRlciA9IGRvY3Rlc3QuRG9jVGVzdEZpbmRlcigpCisgICAgICAgICA+Pj4gc3VpdGUgPSBkb2N0ZXN0LkRvY1Rlc3RTdWl0ZSgndGVzdC5zYW1wbGVfZG9jdGVzdCcsCisgICAgICAgICAuLi4gICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfZmluZGVyPWZpbmRlcikKKyAgICAgICAgID4+PiBzdWl0ZS5ydW4odW5pdHRlc3QuVGVzdFJlc3VsdCgpKQorICAgICAgICAgPHVuaXR0ZXN0LnJlc3VsdC5UZXN0UmVzdWx0IHJ1bj05IGVycm9ycz0wIGZhaWx1cmVzPTQ+CisKKyAgICAgICBUaGUgRG9jVGVzdEZpbmRlciBuZWVkIG5vdCByZXR1cm4gYW55IHRlc3RzOgorCisgICAgICAgICA+Pj4gZmluZGVyID0gZG9jdGVzdC5Eb2NUZXN0RmluZGVyKCkKKyAgICAgICAgID4+PiBzdWl0ZSA9IGRvY3Rlc3QuRG9jVGVzdFN1aXRlKCd0ZXN0LnNhbXBsZV9kb2N0ZXN0X25vX2RvY3N0cmluZ3MnLAorICAgICAgICAgLi4uICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X2ZpbmRlcj1maW5kZXIpCisgICAgICAgICA+Pj4gc3VpdGUucnVuKHVuaXR0ZXN0LlRlc3RSZXN1bHQoKSkKKyAgICAgICAgIDx1bml0dGVzdC5yZXN1bHQuVGVzdFJlc3VsdCBydW49MCBlcnJvcnM9MCBmYWlsdXJlcz0wPgorCiAgICAgICAgV2UgY2FuIHN1cHBseSBnbG9iYWwgdmFyaWFibGVzLiAgSWYgd2UgcGFzcyBnbG9icywgdGhleSB3aWxsIGJlCiAgICAgICAgdXNlZCBpbnN0ZWFkIG9mIHRoZSBtb2R1bGUgZ2xvYmFscy4gIEhlcmUgd2UnbGwgcGFzcyBhbiBlbXB0eQogICAgICAgIGdsb2JhbHMsIHRyaWdnZXJpbmcgYW4gZXh0cmEgZXJyb3I6CkBAIC0yMTY4LDcgKzIxNzIsNyBAQAogICAgICAgICAgPj4+IHRlc3QudGVzdF9kb2N0ZXN0LnNpbGx5U2V0dXAKICAgICAgICAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKICAgICAgICAgIC4uLgotICAgICAgICAgQXR0cmlidXRlRXJyb3I6ICdtb2R1bGUnIG9iamVjdCBoYXMgbm8gYXR0cmlidXRlICdzaWxseVNldHVwJworICAgICAgICAgQXR0cmlidXRlRXJyb3I6IG1vZHVsZSAndGVzdC50ZXN0X2RvY3Rlc3QnIGhhcyBubyBhdHRyaWJ1dGUgJ3NpbGx5U2V0dXAnCiAKICAgICAgICBUaGUgc2V0VXAgYW5kIHRlYXJEb3duIGZ1bnRpb25zIGFyZSBwYXNzZWQgdGVzdCBvYmplY3RzLiBIZXJlCiAgICAgICAgd2UnbGwgdXNlIHRoZSBzZXRVcCBmdW5jdGlvbiB0byBzdXBwbHkgdGhlIG1pc3NpbmcgdmFyaWFibGUgeToKQEAgLTIzMTQsNyArMjMxOCw3IEBACiAgICAgICAgICA+Pj4gdGVzdC50ZXN0X2RvY3Rlc3Quc2lsbHlTZXR1cAogICAgICAgICAgVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgogICAgICAgICAgLi4uCi0gICAgICAgICBBdHRyaWJ1dGVFcnJvcjogJ21vZHVsZScgb2JqZWN0IGhhcyBubyBhdHRyaWJ1dGUgJ3NpbGx5U2V0dXAnCisgICAgICAgICBBdHRyaWJ1dGVFcnJvcjogbW9kdWxlICd0ZXN0LnRlc3RfZG9jdGVzdCcgaGFzIG5vIGF0dHJpYnV0ZSAnc2lsbHlTZXR1cCcKIAogICAgICAgIFRoZSBzZXRVcCBhbmQgdGVhckRvd24gZnVudGlvbnMgYXJlIHBhc3NlZCB0ZXN0IG9iamVjdHMuCiAgICAgICAgSGVyZSwgd2UnbGwgdXNlIGEgc2V0VXAgZnVuY3Rpb24gdG8gc2V0IHRoZSBmYXZvcml0ZSBjb2xvciBpbgpAQCAtMjM2MSw2ICsyMzY1LDIyIEBACiAgICAgICBmb28gXG4KICAgICAiIiIKIAorY2xhc3MgV3JhcHBlcjoKKyAgICBkZWYgX19pbml0X18oc2VsZiwgZnVuYyk6CisgICAgICAgIHNlbGYuZnVuYyA9IGZ1bmMKKyAgICAgICAgZnVuY3Rvb2xzLnVwZGF0ZV93cmFwcGVyKHNlbGYsIGZ1bmMpCisKKyAgICBkZWYgX19jYWxsX18oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgc2VsZi5mdW5jKCphcmdzLCAqKmt3YXJncykKKworQFdyYXBwZXIKK2RlZiB0ZXN0X2xvb2tfaW5fdW53cmFwcGVkKCk6CisgICAgIiIiCisgICAgRG9jc3RyaW5ncyBpbiB3cmFwcGVkIGZ1bmN0aW9ucyBtdXN0IGJlIGRldGVjdGVkIGFzIHdlbGwuCisKKyAgICA+Pj4gJ29uZSBvdGhlciB0ZXN0JworICAgICdvbmUgb3RoZXIgdGVzdCcKKyAgICAiIiIKIAogZGVmIHRlc3RfdW5pdHRlc3RfcmVwb3J0ZmxhZ3MoKToKICAgICAiIiJEZWZhdWx0IHVuaXR0ZXN0IHJlcG9ydGluZyBmbGFncyBjYW4gYmUgc2V0IHRvIGNvbnRyb2wgcmVwb3J0aW5nCkBAIC0yOTI3LDcgKzI5NDcsNyBAQAogCiBkZWYgdGVzdF9tYWluKCk6CiAgICAgIyBDaGVjayB0aGUgZG9jdGVzdCBjYXNlcyBpbiBkb2N0ZXN0IGl0c2VsZjoKLSAgICBzdXBwb3J0LnJ1bl9kb2N0ZXN0KGRvY3Rlc3QsIHZlcmJvc2l0eT1UcnVlKQorICAgIHJldCA9IHN1cHBvcnQucnVuX2RvY3Rlc3QoZG9jdGVzdCwgdmVyYm9zaXR5PVRydWUpCiAgICAgIyBDaGVjayB0aGUgZG9jdGVzdCBjYXNlcyBkZWZpbmVkIGhlcmU6CiAgICAgZnJvbSB0ZXN0IGltcG9ydCB0ZXN0X2RvY3Rlc3QKICAgICBzdXBwb3J0LnJ1bl9kb2N0ZXN0KHRlc3RfZG9jdGVzdCwgdmVyYm9zaXR5PVRydWUpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2RvY3htbHJwYy5weSBiL0xpYi90ZXN0L3Rlc3RfZG9jeG1scnBjLnB5CmluZGV4IDA2MTYxZjIuLmQ5ZmQ5MTcgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfZG9jeG1scnBjLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfZG9jeG1scnBjLnB5CkBAIC04NywxMCArODcsMTEgQEAKICAgICAgICAgdGhyZWFkaW5nLlRocmVhZCh0YXJnZXQ9c2VydmVyLCBhcmdzPShzZWxmLmV2dCwgMSkpLnN0YXJ0KCkKIAogICAgICAgICAjIHdhaXQgZm9yIHBvcnQgdG8gYmUgYXNzaWduZWQKLSAgICAgICAgbiA9IDEwMDAKLSAgICAgICAgd2hpbGUgbiA+IDAgYW5kIFBPUlQgaXMgTm9uZToKLSAgICAgICAgICAgIHRpbWUuc2xlZXAoMC4wMDEpCi0gICAgICAgICAgICBuIC09IDEKKyAgICAgICAgZGVhZGxpbmUgPSB0aW1lLm1vbm90b25pYygpICsgMTAuMAorICAgICAgICB3aGlsZSBQT1JUIGlzIE5vbmU6CisgICAgICAgICAgICB0aW1lLnNsZWVwKDAuMDEwKQorICAgICAgICAgICAgaWYgdGltZS5tb25vdG9uaWMoKSA+IGRlYWRsaW5lOgorICAgICAgICAgICAgICAgIGJyZWFrCiAKICAgICAgICAgc2VsZi5jbGllbnQgPSBodHRwLmNsaWVudC5IVFRQQ29ubmVjdGlvbigibG9jYWxob3N0OiVkIiAlIFBPUlQpCiAKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfZWludHIucHkgYi9MaWIvdGVzdC90ZXN0X2VpbnRyLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhiNWY1MDcKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvdGVzdC90ZXN0X2VpbnRyLnB5CkBAIC0wLDAgKzEsMjAgQEAKK2ltcG9ydCBvcworaW1wb3J0IHNpZ25hbAoraW1wb3J0IHVuaXR0ZXN0CisKK2Zyb20gdGVzdCBpbXBvcnQgc2NyaXB0X2hlbHBlciwgc3VwcG9ydAorCisKK0B1bml0dGVzdC5za2lwVW5sZXNzKG9zLm5hbWUgPT0gInBvc2l4IiwgIm9ubHkgc3VwcG9ydGVkIG9uIFVuaXgiKQorY2xhc3MgRUlOVFJUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKHNpZ25hbCwgInNldGl0aW1lciIpLCAicmVxdWlyZXMgc2V0aXRpbWVyKCkiKQorICAgIGRlZiB0ZXN0X2FsbChzZWxmKToKKyAgICAgICAgIyBSdW4gdGhlIHRlc3RlciBpbiBhIHN1Yi1wcm9jZXNzLCB0byBtYWtlIHN1cmUgdGhlcmUgaXMgb25seSBvbmUKKyAgICAgICAgIyB0aHJlYWQgKGZvciByZWxpYWJsZSBzaWduYWwgZGVsaXZlcnkpLgorICAgICAgICB0ZXN0ZXIgPSBzdXBwb3J0LmZpbmRmaWxlKCJlaW50cl90ZXN0ZXIucHkiLCBzdWJkaXI9ImVpbnRyZGF0YSIpCisgICAgICAgIHNjcmlwdF9oZWxwZXIuYXNzZXJ0X3B5dGhvbl9vayh0ZXN0ZXIpCisKKworaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKKyAgICB1bml0dGVzdC5tYWluKCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfZW1haWwvdGVzdF9lbWFpbC5weSBiL0xpYi90ZXN0L3Rlc3RfZW1haWwvdGVzdF9lbWFpbC5weQppbmRleCAyMjcxMTBmLi4yMThjZTBjIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2VtYWlsL3Rlc3RfZW1haWwucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9lbWFpbC90ZXN0X2VtYWlsLnB5CkBAIC0xNjM2LDYgKzE2MzYsMTAgQEAKICAgICAgICAgbXNnID0gTUlNRVRleHQoJ2hlbGxvIHRoZXJlJywgX2NoYXJzZXQ9J3VzLWFzY2lpJykKICAgICAgICAgZXEobXNnLmdldF9jaGFyc2V0KCkuaW5wdXRfY2hhcnNldCwgJ3VzLWFzY2lpJykKICAgICAgICAgZXEobXNnWydjb250ZW50LXR5cGUnXSwgJ3RleHQvcGxhaW47IGNoYXJzZXQ9InVzLWFzY2lpIicpCisgICAgICAgICMgQWxzbyBhY2NlcHQgYSBDaGFyc2V0IGluc3RhbmNlCisgICAgICAgIG1zZyA9IE1JTUVUZXh0KCdoZWxsbyB0aGVyZScsIF9jaGFyc2V0PUNoYXJzZXQoJ3V0Zi04JykpCisgICAgICAgIGVxKG1zZy5nZXRfY2hhcnNldCgpLmlucHV0X2NoYXJzZXQsICd1dGYtOCcpCisgICAgICAgIGVxKG1zZ1snY29udGVudC10eXBlJ10sICd0ZXh0L3BsYWluOyBjaGFyc2V0PSJ1dGYtOCInKQogCiAgICAgZGVmIHRlc3RfN2JpdF9pbnB1dChzZWxmKToKICAgICAgICAgZXEgPSBzZWxmLmFzc2VydEVxdWFsCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2VtYWlsL3Rlc3RfbWVzc2FnZS5weSBiL0xpYi90ZXN0L3Rlc3RfZW1haWwvdGVzdF9tZXNzYWdlLnB5CmluZGV4IDUwZTFhNjMuLmQ3ODA0OWUgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfZW1haWwvdGVzdF9tZXNzYWdlLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfZW1haWwvdGVzdF9tZXNzYWdlLnB5CkBAIC03MjMsMjQgKzcyMywxNCBAQAogICAgIGRlZiB0ZXN0X2lzX2F0dGFjaG1lbnQoc2VsZik6CiAgICAgICAgIG0gPSBzZWxmLl9tYWtlX21lc3NhZ2UoKQogICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG0uaXNfYXR0YWNobWVudCgpKQotICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0V2FybnMoRGVwcmVjYXRpb25XYXJuaW5nKToKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UobS5pc19hdHRhY2htZW50KQogICAgICAgICBtWydDb250ZW50LURpc3Bvc2l0aW9uJ10gPSAnaW5saW5lJwogICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG0uaXNfYXR0YWNobWVudCgpKQotICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0V2FybnMoRGVwcmVjYXRpb25XYXJuaW5nKToKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UobS5pc19hdHRhY2htZW50KQogICAgICAgICBtLnJlcGxhY2VfaGVhZGVyKCdDb250ZW50LURpc3Bvc2l0aW9uJywgJ2F0dGFjaG1lbnQnKQogICAgICAgICBzZWxmLmFzc2VydFRydWUobS5pc19hdHRhY2htZW50KCkpCi0gICAgICAgIHdpdGggc2VsZi5hc3NlcnRXYXJucyhEZXByZWNhdGlvbldhcm5pbmcpOgotICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG0uaXNfYXR0YWNobWVudCkKICAgICAgICAgbS5yZXBsYWNlX2hlYWRlcignQ29udGVudC1EaXNwb3NpdGlvbicsICdBdFRhY2hNZW50JykKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG0uaXNfYXR0YWNobWVudCgpKQotICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0V2FybnMoRGVwcmVjYXRpb25XYXJuaW5nKToKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShtLmlzX2F0dGFjaG1lbnQpCiAgICAgICAgIG0uc2V0X3BhcmFtKCdmaWxlbmFtZScsICdhYmMucG5nJywgJ0NvbnRlbnQtRGlzcG9zaXRpb24nKQogICAgICAgICBzZWxmLmFzc2VydFRydWUobS5pc19hdHRhY2htZW50KCkpCi0gICAgICAgIHdpdGggc2VsZi5hc3NlcnRXYXJucyhEZXByZWNhdGlvbldhcm5pbmcpOgotICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG0uaXNfYXR0YWNobWVudCkKIAogCiBjbGFzcyBUZXN0RW1haWxNZXNzYWdlKFRlc3RFbWFpbE1lc3NhZ2VCYXNlLCBUZXN0RW1haWxCYXNlKToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfZW51bS5weSBiL0xpYi90ZXN0L3Rlc3RfZW51bS5weQppbmRleCBkY2NhYTRmLi43ZDE3MmM4IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2VudW0ucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9lbnVtLnB5CkBAIC02NDYsNiArNjQ2LDIzIEBACiAgICAgICAgICAgICBzZWxmLmFzc2VydEluKGUsIFN1bW1lck1vbnRoKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyh0eXBlKGUpLCBTdW1tZXJNb250aCkKIAorICAgIGRlZiB0ZXN0X3Byb2dyYW1hdGljX2Z1bmN0aW9uX3N0cmluZ193aXRoX3N0YXJ0KHNlbGYpOgorICAgICAgICBTdW1tZXJNb250aCA9IEVudW0oJ1N1bW1lck1vbnRoJywgJ2p1bmUganVseSBhdWd1c3QnLCBzdGFydD0xMCkKKyAgICAgICAgbHN0ID0gbGlzdChTdW1tZXJNb250aCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4obHN0KSwgbGVuKFN1bW1lck1vbnRoKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oU3VtbWVyTW9udGgpLCAzLCBTdW1tZXJNb250aCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgICAgICBbU3VtbWVyTW9udGguanVuZSwgU3VtbWVyTW9udGguanVseSwgU3VtbWVyTW9udGguYXVndXN0XSwKKyAgICAgICAgICAgICAgICBsc3QsCisgICAgICAgICAgICAgICAgKQorICAgICAgICBmb3IgaSwgbW9udGggaW4gZW51bWVyYXRlKCdqdW5lIGp1bHkgYXVndXN0Jy5zcGxpdCgpLCAxMCk6CisgICAgICAgICAgICBlID0gU3VtbWVyTW9udGgoaSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaW50KGUudmFsdWUpLCBpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChlLCBpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlLm5hbWUsIG1vbnRoKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJbihlLCBTdW1tZXJNb250aCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXModHlwZShlKSwgU3VtbWVyTW9udGgpCisKICAgICBkZWYgdGVzdF9wcm9ncmFtYXRpY19mdW5jdGlvbl9zdHJpbmdfbGlzdChzZWxmKToKICAgICAgICAgU3VtbWVyTW9udGggPSBFbnVtKCdTdW1tZXJNb250aCcsIFsnanVuZScsICdqdWx5JywgJ2F1Z3VzdCddKQogICAgICAgICBsc3QgPSBsaXN0KFN1bW1lck1vbnRoKQpAQCAtNjYzLDYgKzY4MCwyMyBAQAogICAgICAgICAgICAgc2VsZi5hc3NlcnRJbihlLCBTdW1tZXJNb250aCkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXModHlwZShlKSwgU3VtbWVyTW9udGgpCiAKKyAgICBkZWYgdGVzdF9wcm9ncmFtYXRpY19mdW5jdGlvbl9zdHJpbmdfbGlzdF93aXRoX3N0YXJ0KHNlbGYpOgorICAgICAgICBTdW1tZXJNb250aCA9IEVudW0oJ1N1bW1lck1vbnRoJywgWydqdW5lJywgJ2p1bHknLCAnYXVndXN0J10sIHN0YXJ0PTIwKQorICAgICAgICBsc3QgPSBsaXN0KFN1bW1lck1vbnRoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihsc3QpLCBsZW4oU3VtbWVyTW9udGgpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihTdW1tZXJNb250aCksIDMsIFN1bW1lck1vbnRoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgICAgIFtTdW1tZXJNb250aC5qdW5lLCBTdW1tZXJNb250aC5qdWx5LCBTdW1tZXJNb250aC5hdWd1c3RdLAorICAgICAgICAgICAgICAgIGxzdCwKKyAgICAgICAgICAgICAgICApCisgICAgICAgIGZvciBpLCBtb250aCBpbiBlbnVtZXJhdGUoJ2p1bmUganVseSBhdWd1c3QnLnNwbGl0KCksIDIwKToKKyAgICAgICAgICAgIGUgPSBTdW1tZXJNb250aChpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpbnQoZS52YWx1ZSksIGkpCisgICAgICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKGUsIGkpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGUubmFtZSwgbW9udGgpCisgICAgICAgICAgICBzZWxmLmFzc2VydEluKGUsIFN1bW1lck1vbnRoKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyh0eXBlKGUpLCBTdW1tZXJNb250aCkKKwogICAgIGRlZiB0ZXN0X3Byb2dyYW1hdGljX2Z1bmN0aW9uX2l0ZXJhYmxlKHNlbGYpOgogICAgICAgICBTdW1tZXJNb250aCA9IEVudW0oCiAgICAgICAgICAgICAgICAgJ1N1bW1lck1vbnRoJywKQEAgLTcxOSw2ICs3NTMsMjIgQEAKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oZSwgU3VtbWVyTW9udGgpCiAgICAgICAgICAgICBzZWxmLmFzc2VydElzKHR5cGUoZSksIFN1bW1lck1vbnRoKQogCisgICAgZGVmIHRlc3RfcHJvZ3JhbWF0aWNfZnVuY3Rpb25fdHlwZV93aXRoX3N0YXJ0KHNlbGYpOgorICAgICAgICBTdW1tZXJNb250aCA9IEVudW0oJ1N1bW1lck1vbnRoJywgJ2p1bmUganVseSBhdWd1c3QnLCB0eXBlPWludCwgc3RhcnQ9MzApCisgICAgICAgIGxzdCA9IGxpc3QoU3VtbWVyTW9udGgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGxzdCksIGxlbihTdW1tZXJNb250aCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKFN1bW1lck1vbnRoKSwgMywgU3VtbWVyTW9udGgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICAgICAgW1N1bW1lck1vbnRoLmp1bmUsIFN1bW1lck1vbnRoLmp1bHksIFN1bW1lck1vbnRoLmF1Z3VzdF0sCisgICAgICAgICAgICAgICAgbHN0LAorICAgICAgICAgICAgICAgICkKKyAgICAgICAgZm9yIGksIG1vbnRoIGluIGVudW1lcmF0ZSgnanVuZSBqdWx5IGF1Z3VzdCcuc3BsaXQoKSwgMzApOgorICAgICAgICAgICAgZSA9IFN1bW1lck1vbnRoKGkpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGUsIGkpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGUubmFtZSwgbW9udGgpCisgICAgICAgICAgICBzZWxmLmFzc2VydEluKGUsIFN1bW1lck1vbnRoKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyh0eXBlKGUpLCBTdW1tZXJNb250aCkKKwogICAgIGRlZiB0ZXN0X3Byb2dyYW1hdGljX2Z1bmN0aW9uX3R5cGVfZnJvbV9zdWJjbGFzcyhzZWxmKToKICAgICAgICAgU3VtbWVyTW9udGggPSBJbnRFbnVtKCdTdW1tZXJNb250aCcsICdqdW5lIGp1bHkgYXVndXN0JykKICAgICAgICAgbHN0ID0gbGlzdChTdW1tZXJNb250aCkKQEAgLTczNSw2ICs3ODUsMjIgQEAKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oZSwgU3VtbWVyTW9udGgpCiAgICAgICAgICAgICBzZWxmLmFzc2VydElzKHR5cGUoZSksIFN1bW1lck1vbnRoKQogCisgICAgZGVmIHRlc3RfcHJvZ3JhbWF0aWNfZnVuY3Rpb25fdHlwZV9mcm9tX3N1YmNsYXNzX3dpdGhfc3RhcnQoc2VsZik6CisgICAgICAgIFN1bW1lck1vbnRoID0gSW50RW51bSgnU3VtbWVyTW9udGgnLCAnanVuZSBqdWx5IGF1Z3VzdCcsIHN0YXJ0PTQwKQorICAgICAgICBsc3QgPSBsaXN0KFN1bW1lck1vbnRoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihsc3QpLCBsZW4oU3VtbWVyTW9udGgpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihTdW1tZXJNb250aCksIDMsIFN1bW1lck1vbnRoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgICAgIFtTdW1tZXJNb250aC5qdW5lLCBTdW1tZXJNb250aC5qdWx5LCBTdW1tZXJNb250aC5hdWd1c3RdLAorICAgICAgICAgICAgICAgIGxzdCwKKyAgICAgICAgICAgICAgICApCisgICAgICAgIGZvciBpLCBtb250aCBpbiBlbnVtZXJhdGUoJ2p1bmUganVseSBhdWd1c3QnLnNwbGl0KCksIDQwKToKKyAgICAgICAgICAgIGUgPSBTdW1tZXJNb250aChpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlLCBpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlLm5hbWUsIG1vbnRoKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJbihlLCBTdW1tZXJNb250aCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXModHlwZShlKSwgU3VtbWVyTW9udGgpCisKICAgICBkZWYgdGVzdF9zdWJjbGFzc2luZyhzZWxmKToKICAgICAgICAgaWYgaXNpbnN0YW5jZShOYW1lLCBFeGNlcHRpb24pOgogICAgICAgICAgICAgcmFpc2UgTmFtZQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9lcG9sbC5weSBiL0xpYi90ZXN0L3Rlc3RfZXBvbGwucHkKaW5kZXggYjM3ZjAzMy4uZDcyNzQwMyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9lcG9sbC5weQorKysgYi9MaWIvdGVzdC90ZXN0X2Vwb2xsLnB5CkBAIC00NCw3ICs0NCw3IEBACiAgICAgZGVmIHNldFVwKHNlbGYpOgogICAgICAgICBzZWxmLnNlcnZlclNvY2tldCA9IHNvY2tldC5zb2NrZXQoKQogICAgICAgICBzZWxmLnNlcnZlclNvY2tldC5iaW5kKCgnMTI3LjAuMC4xJywgMCkpCi0gICAgICAgIHNlbGYuc2VydmVyU29ja2V0Lmxpc3RlbigxKQorICAgICAgICBzZWxmLnNlcnZlclNvY2tldC5saXN0ZW4oKQogICAgICAgICBzZWxmLmNvbm5lY3Rpb25zID0gW3NlbGYuc2VydmVyU29ja2V0XQogCiAgICAgZGVmIHRlYXJEb3duKHNlbGYpOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9mYXVsdGhhbmRsZXIucHkgYi9MaWIvdGVzdC90ZXN0X2ZhdWx0aGFuZGxlci5weQppbmRleCBlNjhhMDllLi4zNTEyOWI2IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2ZhdWx0aGFuZGxlci5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ZhdWx0aGFuZGxlci5weQpAQCAtMTcsNiArMTcsMTAgQEAKICAgICBIQVZFX1RIUkVBRFMgPSBUcnVlCiBleGNlcHQgSW1wb3J0RXJyb3I6CiAgICAgSEFWRV9USFJFQURTID0gRmFsc2UKK3RyeToKKyAgICBpbXBvcnQgX3Rlc3RjYXBpCitleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgX3Rlc3RjYXBpID0gTm9uZQogCiBUSU1FT1VUID0gMC41CiAKQEAgLTEzNSwyNiArMTM5LDMyIEBACiAgICAgICAgICAgICAzLAogICAgICAgICAgICAgJ0Zsb2F0aW5nIHBvaW50IGV4Y2VwdGlvbicpCiAKLSAgICBAdW5pdHRlc3Quc2tpcElmKG5vdCBoYXNhdHRyKGZhdWx0aGFuZGxlciwgJ19zaWdidXMnKSwKLSAgICAgICAgICAgICAgICAgICAgICJuZWVkIGZhdWx0aGFuZGxlci5fc2lnYnVzKCkiKQorICAgIEB1bml0dGVzdC5za2lwSWYoX3Rlc3RjYXBpIGlzIE5vbmUsICduZWVkIF90ZXN0Y2FwaScpCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihzaWduYWwsICdTSUdCVVMnKSwgJ25lZWQgc2lnbmFsLlNJR0JVUycpCiAgICAgZGVmIHRlc3Rfc2lnYnVzKHNlbGYpOgogICAgICAgICBzZWxmLmNoZWNrX2ZhdGFsX2Vycm9yKCIiIgorICAgICAgICAgICAgaW1wb3J0IF90ZXN0Y2FwaQogICAgICAgICAgICAgaW1wb3J0IGZhdWx0aGFuZGxlcgorICAgICAgICAgICAgaW1wb3J0IHNpZ25hbAorCiAgICAgICAgICAgICBmYXVsdGhhbmRsZXIuZW5hYmxlKCkKLSAgICAgICAgICAgIGZhdWx0aGFuZGxlci5fc2lnYnVzKCkKKyAgICAgICAgICAgIF90ZXN0Y2FwaS5yYWlzZV9zaWduYWwoc2lnbmFsLlNJR0JVUykKICAgICAgICAgICAgICIiIiwKLSAgICAgICAgICAgIDMsCisgICAgICAgICAgICA2LAogICAgICAgICAgICAgJ0J1cyBlcnJvcicpCiAKLSAgICBAdW5pdHRlc3Quc2tpcElmKG5vdCBoYXNhdHRyKGZhdWx0aGFuZGxlciwgJ19zaWdpbGwnKSwKLSAgICAgICAgICAgICAgICAgICAgICJuZWVkIGZhdWx0aGFuZGxlci5fc2lnaWxsKCkiKQorICAgIEB1bml0dGVzdC5za2lwSWYoX3Rlc3RjYXBpIGlzIE5vbmUsICduZWVkIF90ZXN0Y2FwaScpCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihzaWduYWwsICdTSUdJTEwnKSwgJ25lZWQgc2lnbmFsLlNJR0lMTCcpCiAgICAgZGVmIHRlc3Rfc2lnaWxsKHNlbGYpOgogICAgICAgICBzZWxmLmNoZWNrX2ZhdGFsX2Vycm9yKCIiIgorICAgICAgICAgICAgaW1wb3J0IF90ZXN0Y2FwaQogICAgICAgICAgICAgaW1wb3J0IGZhdWx0aGFuZGxlcgorICAgICAgICAgICAgaW1wb3J0IHNpZ25hbAorCiAgICAgICAgICAgICBmYXVsdGhhbmRsZXIuZW5hYmxlKCkKLSAgICAgICAgICAgIGZhdWx0aGFuZGxlci5fc2lnaWxsKCkKKyAgICAgICAgICAgIF90ZXN0Y2FwaS5yYWlzZV9zaWduYWwoc2lnbmFsLlNJR0lMTCkKICAgICAgICAgICAgICIiIiwKLSAgICAgICAgICAgIDMsCisgICAgICAgICAgICA2LAogICAgICAgICAgICAgJ0lsbGVnYWwgaW5zdHJ1Y3Rpb24nKQogCiAgICAgZGVmIHRlc3RfZmF0YWxfZXJyb3Ioc2VsZik6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ZpbGVpby5weSBiL0xpYi90ZXN0L3Rlc3RfZmlsZWlvLnB5CmluZGV4IGMzNzQ4MmUuLjc0M2NhNWMgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfZmlsZWlvLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfZmlsZWlvLnB5CkBAIC02MCw2ICs2MCwxNSBAQAogICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoKEF0dHJpYnV0ZUVycm9yLCBUeXBlRXJyb3IpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0YXR0ciwgZiwgYXR0ciwgJ29vcHMnKQogCisgICAgZGVmIHRlc3RCbGtzaXplKHNlbGYpOgorICAgICAgICAjIHRlc3QgcHJpdmF0ZSBfYmxrc2l6ZSBhdHRyaWJ1dGUKKyAgICAgICAgYmxrc2l6ZSA9IGlvLkRFRkFVTFRfQlVGRkVSX1NJWkUKKyAgICAgICAgIyB0cnkgdG8gZ2V0IHByZWZlcnJlZCBibGtzaXplIGZyb20gc3RhdC5zdF9ibGtzaXplLCBpZiBhdmFpbGFibGUKKyAgICAgICAgaWYgaGFzYXR0cihvcywgJ2ZzdGF0Jyk6CisgICAgICAgICAgICBmc3QgPSBvcy5mc3RhdChzZWxmLmYuZmlsZW5vKCkpCisgICAgICAgICAgICBibGtzaXplID0gZ2V0YXR0cihmc3QsICdzdF9ibGtzaXplJywgYmxrc2l6ZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmYuX2Jsa3NpemUsIGJsa3NpemUpCisKICAgICBkZWYgdGVzdFJlYWRpbnRvKHNlbGYpOgogICAgICAgICAjIHZlcmlmeSByZWFkaW50bwogICAgICAgICBzZWxmLmYud3JpdGUoYnl0ZXMoWzEsIDJdKSkKQEAgLTEwMywxNCArMTEyLDI2IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgc2VsZi5mLndyaXRlLCAiSGVsbG8hIikKIAogICAgIGRlZiB0ZXN0UmVwcihzZWxmKToKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXByKHNlbGYuZiksICI8X2lvLkZpbGVJTyBuYW1lPSVyIG1vZGU9JXI+IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgKHNlbGYuZi5uYW1lLCBzZWxmLmYubW9kZSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICByZXByKHNlbGYuZiksICI8X2lvLkZpbGVJTyBuYW1lPSVyIG1vZGU9JXIgY2xvc2VmZD1UcnVlPiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJSAoc2VsZi5mLm5hbWUsIHNlbGYuZi5tb2RlKSkKICAgICAgICAgZGVsIHNlbGYuZi5uYW1lCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVwcihzZWxmLmYpLCAiPF9pby5GaWxlSU8gZmQ9JXIgbW9kZT0lcj4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJSAoc2VsZi5mLmZpbGVubygpLCBzZWxmLmYubW9kZSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICByZXByKHNlbGYuZiksICI8X2lvLkZpbGVJTyBmZD0lciBtb2RlPSVyIGNsb3NlZmQ9VHJ1ZT4iCisgICAgICAgICAgICAgICAgICAgICAgICAgICUgKHNlbGYuZi5maWxlbm8oKSwgc2VsZi5mLm1vZGUpKQogICAgICAgICBzZWxmLmYuY2xvc2UoKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcHIoc2VsZi5mKSwgIjxfaW8uRmlsZUlPIFtjbG9zZWRdPiIpCiAKKyAgICBkZWYgdGVzdFJlcHJOb0Nsb3NlRkQoc2VsZik6CisgICAgICAgIGZkID0gb3Mub3BlbihURVNURk4sIG9zLk9fUkRPTkxZKQorICAgICAgICB0cnk6CisgICAgICAgICAgICB3aXRoIF9GaWxlSU8oZmQsICdyJywgY2xvc2VmZD1GYWxzZSkgYXMgZjoKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcHIoZiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiPF9pby5GaWxlSU8gbmFtZT0lciBtb2RlPSVyIGNsb3NlZmQ9RmFsc2U+IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJSAoZi5uYW1lLCBmLm1vZGUpKQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgb3MuY2xvc2UoZmQpCisKICAgICBkZWYgdGVzdEVycm9ycyhzZWxmKToKICAgICAgICAgZiA9IHNlbGYuZgogICAgICAgICBzZWxmLmFzc2VydFRydWUobm90IGYuaXNhdHR5KCkpCkBAIC0xNDEsNyArMTYyLDcgQEAKICAgICBkZWYgdGVzdE9wZW5kaXIoc2VsZik6CiAgICAgICAgICMgSXNzdWUgMzcwMzogb3BlbmluZyBhIGRpcmVjdG9yeSBzaG91bGQgZmlsbCB0aGUgZXJybm8KICAgICAgICAgIyBXaW5kb3dzIGFsd2F5cyByZXR1cm5zICJbRXJybm8gMTNdOiBQZXJtaXNzaW9uIGRlbmllZAotICAgICAgICAjIFVuaXggY2FsbHMgZGlyY2hlY2soKSBhbmQgcmV0dXJucyAiW0Vycm5vIDIxXTogSXMgYSBkaXJlY3RvcnkiCisgICAgICAgICMgVW5peCB1c2VzIGZzdGF0IGFuZCByZXR1cm5zICJbRXJybm8gMjFdOiBJcyBhIGRpcmVjdG9yeSIKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgX0ZpbGVJTygnLicsICdyJykKICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKQEAgLTM1Miw4ICszNzMsOCBAQAogCiAgICAgZGVmIHRlc3RDb25zdHJ1Y3RvckhhbmRsZXNOVUxDaGFycyhzZWxmKToKICAgICAgICAgZm5fd2l0aF9OVUwgPSAnZm9vXDBiYXInCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgX0ZpbGVJTywgZm5fd2l0aF9OVUwsICd3JykKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBfRmlsZUlPLCBieXRlcyhmbl93aXRoX05VTCwgJ2FzY2lpJyksICd3JykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgX0ZpbGVJTywgZm5fd2l0aF9OVUwsICd3JykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgX0ZpbGVJTywgYnl0ZXMoZm5fd2l0aF9OVUwsICdhc2NpaScpLCAndycpCiAKICAgICBkZWYgdGVzdEludmFsaWRGZChzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgX0ZpbGVJTywgLTEwKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9mb3JrMS5weSBiL0xpYi90ZXN0L3Rlc3RfZm9yazEucHkKaW5kZXggZTA2MjZkZi4uOGJjYmQ0NiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9mb3JrMS5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ZvcmsxLnB5CkBAIC0xOCwxMyArMTgsMTQgQEAKIAogY2xhc3MgRm9ya1Rlc3QoRm9ya1dhaXQpOgogICAgIGRlZiB3YWl0X2ltcGwoc2VsZiwgY3BpZCk6Ci0gICAgICAgIGZvciBpIGluIHJhbmdlKDEwKToKKyAgICAgICAgZGVhZGxpbmUgPSB0aW1lLm1vbm90b25pYygpICsgMTAuMAorICAgICAgICB3aGlsZSB0aW1lLm1vbm90b25pYygpIDw9IGRlYWRsaW5lOgogICAgICAgICAgICAgIyB3YWl0cGlkKCkgc2hvdWxkbid0IGhhbmcsIGJ1dCBzb21lIG9mIHRoZSBidWlsZGJvdHMgc2VlbSB0byBoYW5nCiAgICAgICAgICAgICAjIGluIHRoZSBmb3JraW5nIHRlc3RzLiAgVGhpcyBpcyBhbiBhdHRlbXB0IHRvIGZpeCB0aGUgcHJvYmxlbS4KICAgICAgICAgICAgIHNwaWQsIHN0YXR1cyA9IG9zLndhaXRwaWQoY3BpZCwgb3MuV05PSEFORykKICAgICAgICAgICAgIGlmIHNwaWQgPT0gY3BpZDoKICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgdGltZS5zbGVlcCgxLjApCisgICAgICAgICAgICB0aW1lLnNsZWVwKDAuMSkKIAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNwaWQsIGNwaWQpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RhdHVzLCAwLCAiY2F1c2UgPSAlZCwgZXhpdCA9ICVkIiAlIChzdGF0dXMmMHhmZiwgc3RhdHVzPj44KSkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfZm9ybWF0LnB5IGIvTGliL3Rlc3QvdGVzdF9mb3JtYXQucHkKaW5kZXggZmM3MWU0OC4uOWQxZjVkMyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9mb3JtYXQucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9mb3JtYXQucHkKQEAgLTksNyArOSw3IEBACiAjIHRlc3Qgc3RyaW5nIGZvcm1hdHRpbmcgb3BlcmF0b3IgKEkgYW0gbm90IHN1cmUgaWYgdGhpcyBpcyBiZWluZyB0ZXN0ZWQKICMgZWxzZXdoZXJlIGJ1dCwgc3VyZWx5LCBzb21lIG9mIHRoZSBnaXZlbiBjYXNlcyBhcmUgKm5vdCogdGVzdGVkIGJlY2F1c2UKICMgdGhleSBjcmFzaCBweXRob24pCi0jIHRlc3Qgb24gdW5pY29kZSBzdHJpbmdzIGFzIHdlbGwKKyMgdGVzdCBvbiBieXRlcyBvYmplY3QgYXMgd2VsbAogCiBkZWYgdGVzdGZvcm1hdChmb3JtYXRzdHIsIGFyZ3MsIG91dHB1dD1Ob25lLCBsaW1pdD1Ob25lLCBvdmVyZmxvd29rPUZhbHNlKToKICAgICBpZiB2ZXJib3NlOgpAQCAtNDYsMTkxICs0NiwyMDkgQEAKICAgICAgICAgICAgIGlmIHZlcmJvc2U6CiAgICAgICAgICAgICAgICAgcHJpbnQoJ3llcycpCiAKK2RlZiB0ZXN0Y29tbW9uKGZvcm1hdHN0ciwgYXJncywgb3V0cHV0PU5vbmUsIGxpbWl0PU5vbmUsIG92ZXJmbG93b2s9RmFsc2UpOgorICAgICMgaWYgZm9ybWF0c3RyIGlzIGEgc3RyLCB0ZXN0IHN0ciwgYnl0ZXMsIGFuZCBieXRlYXJyYXk7CisgICAgIyBvdGhlcndpc2UsIHRlc3QgYnl0ZXMgYW5kIGJ5dGVhcnJ5CisgICAgaWYgaXNpbnN0YW5jZShmb3JtYXRzdHIsIHN0cik6CisgICAgICAgIHRlc3Rmb3JtYXQoZm9ybWF0c3RyLCBhcmdzLCBvdXRwdXQsIGxpbWl0LCBvdmVyZmxvd29rKQorICAgICAgICBiX2Zvcm1hdCA9IGZvcm1hdHN0ci5lbmNvZGUoJ2FzY2lpJykKKyAgICBlbHNlOgorICAgICAgICBiX2Zvcm1hdCA9IGZvcm1hdHN0cgorICAgIGJhX2Zvcm1hdCA9IGJ5dGVhcnJheShiX2Zvcm1hdCkKKyAgICBiX2FyZ3MgPSBbXQorICAgIGlmIG5vdCBpc2luc3RhbmNlKGFyZ3MsIHR1cGxlKToKKyAgICAgICAgYXJncyA9IChhcmdzLCApCisgICAgYl9hcmdzID0gdHVwbGUoYXJncykKKyAgICBpZiBvdXRwdXQgaXMgTm9uZToKKyAgICAgICAgYl9vdXRwdXQgPSBiYV9vdXRwdXQgPSBOb25lCisgICAgZWxzZToKKyAgICAgICAgaWYgaXNpbnN0YW5jZShvdXRwdXQsIHN0cik6CisgICAgICAgICAgICBiX291dHB1dCA9IG91dHB1dC5lbmNvZGUoJ2FzY2lpJykKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGJfb3V0cHV0ID0gb3V0cHV0CisgICAgICAgIGJhX291dHB1dCA9IGJ5dGVhcnJheShiX291dHB1dCkKKyAgICB0ZXN0Zm9ybWF0KGJfZm9ybWF0LCBiX2FyZ3MsIGJfb3V0cHV0LCBsaW1pdCwgb3ZlcmZsb3dvaykKKyAgICB0ZXN0Zm9ybWF0KGJhX2Zvcm1hdCwgYl9hcmdzLCBiYV9vdXRwdXQsIGxpbWl0LCBvdmVyZmxvd29rKQorCiAKIGNsYXNzIEZvcm1hdFRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgotICAgIGRlZiB0ZXN0X2Zvcm1hdChzZWxmKToKLSAgICAgICAgdGVzdGZvcm1hdCgiJS4xZCIsICgxLCksICIxIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJS4qZCIsIChzeXMubWF4c2l6ZSwxKSwgb3ZlcmZsb3dvaz1UcnVlKSAgIyBleHBlY3Qgb3ZlcmZsb3cKLSAgICAgICAgdGVzdGZvcm1hdCgiJS4xMDBkIiwgKDEsKSwgJzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJworCisgICAgZGVmIHRlc3RfY29tbW9uX2Zvcm1hdChzZWxmKToKKyAgICAgICAgIyB0ZXN0IHRoZSBmb3JtYXQgaWRlbnRpZmllcnMgdGhhdCB3b3JrIHRoZSBzYW1lIGFjcm9zcworICAgICAgICAjIHN0ciwgYnl0ZXMsIGFuZCBieXRlYXJyYXlzIChpbnRlZ2VyLCBmbG9hdCwgb2N0LCBoZXgpCisgICAgICAgIHRlc3Rjb21tb24oIiUuMWQiLCAoMSwpLCAiMSIpCisgICAgICAgIHRlc3Rjb21tb24oIiUuKmQiLCAoc3lzLm1heHNpemUsMSksIG92ZXJmbG93b2s9VHJ1ZSkgICMgZXhwZWN0IG92ZXJmbG93CisgICAgICAgIHRlc3Rjb21tb24oIiUuMTAwZCIsICgxLCksICcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCcKICAgICAgICAgICAgICAgICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCcKICAgICAgICAgICAgICAgICAgJzAwMDAwMDAxJywgb3ZlcmZsb3dvaz1UcnVlKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlIy4xMTd4IiwgKDEsKSwgJzB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnCisgICAgICAgIHRlc3Rjb21tb24oIiUjLjExN3giLCAoMSwpLCAnMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCcKICAgICAgICAgICAgICAgICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCcKICAgICAgICAgICAgICAgICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEnLAogICAgICAgICAgICAgICAgICBvdmVyZmxvd29rPVRydWUpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUjLjExOHgiLCAoMSwpLCAnMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCcKKyAgICAgICAgdGVzdGNvbW1vbigiJSMuMTE4eCIsICgxLCksICcweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJwogICAgICAgICAgICAgICAgICAnMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJwogICAgICAgICAgICAgICAgICAnMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEnLAogICAgICAgICAgICAgICAgICBvdmVyZmxvd29rPVRydWUpCiAKLSAgICAgICAgdGVzdGZvcm1hdCgiJWYiLCAoMS4wLCksICIxLjAwMDAwMCIpCisgICAgICAgIHRlc3Rjb21tb24oIiVmIiwgKDEuMCwpLCAiMS4wMDAwMDAiKQogICAgICAgICAjIHRoZXNlIGFyZSB0cnlpbmcgdG8gdGVzdCB0aGUgbGltaXRzIG9mIHRoZSBpbnRlcm5hbCBtYWdpYy1udW1iZXItbGVuZ3RoCiAgICAgICAgICMgZm9ybWF0dGluZyBidWZmZXIsIGlmIHRoYXQgbnVtYmVyIGNoYW5nZXMgdGhlbiB0aGVzZSB0ZXN0cyBhcmUgbGVzcwogICAgICAgICAjIGVmZmVjdGl2ZQotICAgICAgICB0ZXN0Zm9ybWF0KCIlIy4qZyIsICgxMDksIC0xLmUrNDkvMy4pKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlIy4qZyIsICgxMTAsIC0xLmUrNDkvMy4pKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlIy4qZyIsICgxMTAsIC0xLmUrMTAwLzMuKSkKKyAgICAgICAgdGVzdGNvbW1vbigiJSMuKmciLCAoMTA5LCAtMS5lKzQ5LzMuKSkKKyAgICAgICAgdGVzdGNvbW1vbigiJSMuKmciLCAoMTEwLCAtMS5lKzQ5LzMuKSkKKyAgICAgICAgdGVzdGNvbW1vbigiJSMuKmciLCAoMTEwLCAtMS5lKzEwMC8zLikpCiAgICAgICAgICMgdGVzdCBzb21lIHJpZGljdWxvdXNseSBsYXJnZSBwcmVjaXNpb24sIGV4cGVjdCBvdmVyZmxvdwotICAgICAgICB0ZXN0Zm9ybWF0KCclMTIuKmYnLCAoMTIzNDU2LCAxLjApKQorICAgICAgICB0ZXN0Y29tbW9uKCclMTIuKmYnLCAoMTIzNDU2LCAxLjApKQogCiAgICAgICAgICMgY2hlY2sgZm9yIGludGVybmFsIG92ZXJmbG93IHZhbGlkYXRpb24gb24gbGVuZ3RoIG9mIHByZWNpc2lvbgogICAgICAgICAjIHRoZXNlIHRlc3RzIHNob3VsZCBubyBsb25nZXIgY2F1c2Ugb3ZlcmZsb3cgaW4gUHl0aG9uCiAgICAgICAgICMgMi43LzMuMSBhbmQgbGF0ZXIuCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUjLipnIiwgKDExMCwgLTEuZSsxMDAvMy4pKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlIy4qRyIsICgxMTAsIC0xLmUrMTAwLzMuKSkKLSAgICAgICAgdGVzdGZvcm1hdCgiJSMuKmYiLCAoMTEwLCAtMS5lKzEwMC8zLikpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUjLipGIiwgKDExMCwgLTEuZSsxMDAvMy4pKQorICAgICAgICB0ZXN0Y29tbW9uKCIlIy4qZyIsICgxMTAsIC0xLmUrMTAwLzMuKSkKKyAgICAgICAgdGVzdGNvbW1vbigiJSMuKkciLCAoMTEwLCAtMS5lKzEwMC8zLikpCisgICAgICAgIHRlc3Rjb21tb24oIiUjLipmIiwgKDExMCwgLTEuZSsxMDAvMy4pKQorICAgICAgICB0ZXN0Y29tbW9uKCIlIy4qRiIsICgxMTAsIC0xLmUrMTAwLzMuKSkKICAgICAgICAgIyBGb3JtYXR0aW5nIG9mIGludGVnZXJzLiBPdmVyZmxvdyBpcyBub3Qgb2sKLSAgICAgICAgdGVzdGZvcm1hdCgiJXgiLCAxMCwgImEiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIleCIsIDEwMDAwMDAwMDAwMCwgIjE3NDg3NmU4MDAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlbyIsIDEwLCAiMTIiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlbyIsIDEwMDAwMDAwMDAwMCwgIjEzNTEwMzU1NjQwMDAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlZCIsIDEwLCAiMTAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlZCIsIDEwMDAwMDAwMDAwMCwgIjEwMDAwMDAwMDAwMCIpCisgICAgICAgIHRlc3Rjb21tb24oIiV4IiwgMTAsICJhIikKKyAgICAgICAgdGVzdGNvbW1vbigiJXgiLCAxMDAwMDAwMDAwMDAsICIxNzQ4NzZlODAwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJW8iLCAxMCwgIjEyIikKKyAgICAgICAgdGVzdGNvbW1vbigiJW8iLCAxMDAwMDAwMDAwMDAsICIxMzUxMDM1NTY0MDAwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJWQiLCAxMCwgIjEwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJWQiLCAxMDAwMDAwMDAwMDAsICIxMDAwMDAwMDAwMDAiKQogICAgICAgICBiaWcgPSAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAKLSAgICAgICAgdGVzdGZvcm1hdCgiJWQiLCBiaWcsICIxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlZCIsIC1iaWcsICItMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJTVkIiwgLWJpZywgIi0xMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlMzFkIiwgLWJpZywgIi0xMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlMzJkIiwgLWJpZywgIiAtMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJS0zMmQiLCAtYmlnLCAiLTEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlMDMyZCIsIC1iaWcsICItMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUtMDMyZCIsIC1iaWcsICItMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwICIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUwMzRkIiwgLWJpZywgIi0wMDAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlMDM0ZCIsIGJpZywgIjAwMDAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlMCszNGQiLCBiaWcsICIrMDAwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJSszNGQiLCBiaWcsICIgICArMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJTM0ZCIsIGJpZywgIiAgICAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlLjJkIiwgYmlnLCAiMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJS4zMGQiLCBiaWcsICIxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlLjMxZCIsIGJpZywgIjAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlMzIuMzFkIiwgYmlnLCAiIDAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlZCIsIGZsb2F0KGJpZyksICIxMjM0NTZfX19fX19fX19fX19fX19fX19fX19fX18iLCA2KQorICAgICAgICB0ZXN0Y29tbW9uKCIlZCIsIGJpZywgIjEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiVkIiwgLWJpZywgIi0xMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlNWQiLCAtYmlnLCAiLTEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiUzMWQiLCAtYmlnLCAiLTEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiUzMmQiLCAtYmlnLCAiIC0xMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlLTMyZCIsIC1iaWcsICItMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwICIpCisgICAgICAgIHRlc3Rjb21tb24oIiUwMzJkIiwgLWJpZywgIi0wMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJS0wMzJkIiwgLWJpZywgIi0xMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAgIikKKyAgICAgICAgdGVzdGNvbW1vbigiJTAzNGQiLCAtYmlnLCAiLTAwMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiUwMzRkIiwgYmlnLCAiMDAwMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiUwKzM0ZCIsIGJpZywgIiswMDAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlKzM0ZCIsIGJpZywgIiAgICsxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlMzRkIiwgYmlnLCAiICAgIDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiUuMmQiLCBiaWcsICIxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlLjMwZCIsIGJpZywgIjEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiUuMzFkIiwgYmlnLCAiMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiUzMi4zMWQiLCBiaWcsICIgMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiVkIiwgZmxvYXQoYmlnKSwgIjEyMzQ1Nl9fX19fX19fX19fX19fX19fX19fX19fXyIsIDYpCiAgICAgICAgIGJpZyA9IDB4MTIzNDU2Nzg5MGFiY2RlZjEyMzQ1ICAjIDIxIGhleCBkaWdpdHMKLSAgICAgICAgdGVzdGZvcm1hdCgiJXgiLCBiaWcsICIxMjM0NTY3ODkwYWJjZGVmMTIzNDUiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIleCIsIC1iaWcsICItMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1IikKLSAgICAgICAgdGVzdGZvcm1hdCgiJTV4IiwgLWJpZywgIi0xMjM0NTY3ODkwYWJjZGVmMTIzNDUiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlMjJ4IiwgLWJpZywgIi0xMjM0NTY3ODkwYWJjZGVmMTIzNDUiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlMjN4IiwgLWJpZywgIiAtMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1IikKLSAgICAgICAgdGVzdGZvcm1hdCgiJS0yM3giLCAtYmlnLCAiLTEyMzQ1Njc4OTBhYmNkZWYxMjM0NSAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlMDIzeCIsIC1iaWcsICItMDEyMzQ1Njc4OTBhYmNkZWYxMjM0NSIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUtMDIzeCIsIC1iaWcsICItMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1ICIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUwMjV4IiwgLWJpZywgIi0wMDAxMjM0NTY3ODkwYWJjZGVmMTIzNDUiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlMDI1eCIsIGJpZywgIjAwMDAxMjM0NTY3ODkwYWJjZGVmMTIzNDUiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlMCsyNXgiLCBiaWcsICIrMDAwMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1IikKLSAgICAgICAgdGVzdGZvcm1hdCgiJSsyNXgiLCBiaWcsICIgICArMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1IikKLSAgICAgICAgdGVzdGZvcm1hdCgiJTI1eCIsIGJpZywgIiAgICAxMjM0NTY3ODkwYWJjZGVmMTIzNDUiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlLjJ4IiwgYmlnLCAiMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1IikKLSAgICAgICAgdGVzdGZvcm1hdCgiJS4yMXgiLCBiaWcsICIxMjM0NTY3ODkwYWJjZGVmMTIzNDUiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlLjIyeCIsIGJpZywgIjAxMjM0NTY3ODkwYWJjZGVmMTIzNDUiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlMjMuMjJ4IiwgYmlnLCAiIDAxMjM0NTY3ODkwYWJjZGVmMTIzNDUiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlLTIzLjIyeCIsIGJpZywgIjAxMjM0NTY3ODkwYWJjZGVmMTIzNDUgIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJVgiLCBiaWcsICIxMjM0NTY3ODkwQUJDREVGMTIzNDUiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlI1giLCBiaWcsICIwWDEyMzQ1Njc4OTBBQkNERUYxMjM0NSIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUjeCIsIGJpZywgIjB4MTIzNDU2Nzg5MGFiY2RlZjEyMzQ1IikKLSAgICAgICAgdGVzdGZvcm1hdCgiJSN4IiwgLWJpZywgIi0weDEyMzQ1Njc4OTBhYmNkZWYxMjM0NSIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUjLjIzeCIsIC1iaWcsICItMHgwMDEyMzQ1Njc4OTBhYmNkZWYxMjM0NSIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUjKy4yM3giLCBiaWcsICIrMHgwMDEyMzQ1Njc4OTBhYmNkZWYxMjM0NSIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUjIC4yM3giLCBiaWcsICIgMHgwMDEyMzQ1Njc4OTBhYmNkZWYxMjM0NSIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUjKy4yM1giLCBiaWcsICIrMFgwMDEyMzQ1Njc4OTBBQkNERUYxMjM0NSIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUjLSsuMjNYIiwgYmlnLCAiKzBYMDAxMjM0NTY3ODkwQUJDREVGMTIzNDUiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlIy0rMjYuMjNYIiwgYmlnLCAiKzBYMDAxMjM0NTY3ODkwQUJDREVGMTIzNDUiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlIy0rMjcuMjNYIiwgYmlnLCAiKzBYMDAxMjM0NTY3ODkwQUJDREVGMTIzNDUgIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJSMrMjcuMjNYIiwgYmlnLCAiICswWDAwMTIzNDU2Nzg5MEFCQ0RFRjEyMzQ1IikKKyAgICAgICAgdGVzdGNvbW1vbigiJXgiLCBiaWcsICIxMjM0NTY3ODkwYWJjZGVmMTIzNDUiKQorICAgICAgICB0ZXN0Y29tbW9uKCIleCIsIC1iaWcsICItMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1IikKKyAgICAgICAgdGVzdGNvbW1vbigiJTV4IiwgLWJpZywgIi0xMjM0NTY3ODkwYWJjZGVmMTIzNDUiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlMjJ4IiwgLWJpZywgIi0xMjM0NTY3ODkwYWJjZGVmMTIzNDUiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlMjN4IiwgLWJpZywgIiAtMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1IikKKyAgICAgICAgdGVzdGNvbW1vbigiJS0yM3giLCAtYmlnLCAiLTEyMzQ1Njc4OTBhYmNkZWYxMjM0NSAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlMDIzeCIsIC1iaWcsICItMDEyMzQ1Njc4OTBhYmNkZWYxMjM0NSIpCisgICAgICAgIHRlc3Rjb21tb24oIiUtMDIzeCIsIC1iaWcsICItMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1ICIpCisgICAgICAgIHRlc3Rjb21tb24oIiUwMjV4IiwgLWJpZywgIi0wMDAxMjM0NTY3ODkwYWJjZGVmMTIzNDUiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlMDI1eCIsIGJpZywgIjAwMDAxMjM0NTY3ODkwYWJjZGVmMTIzNDUiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlMCsyNXgiLCBiaWcsICIrMDAwMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1IikKKyAgICAgICAgdGVzdGNvbW1vbigiJSsyNXgiLCBiaWcsICIgICArMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1IikKKyAgICAgICAgdGVzdGNvbW1vbigiJTI1eCIsIGJpZywgIiAgICAxMjM0NTY3ODkwYWJjZGVmMTIzNDUiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlLjJ4IiwgYmlnLCAiMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1IikKKyAgICAgICAgdGVzdGNvbW1vbigiJS4yMXgiLCBiaWcsICIxMjM0NTY3ODkwYWJjZGVmMTIzNDUiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlLjIyeCIsIGJpZywgIjAxMjM0NTY3ODkwYWJjZGVmMTIzNDUiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlMjMuMjJ4IiwgYmlnLCAiIDAxMjM0NTY3ODkwYWJjZGVmMTIzNDUiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlLTIzLjIyeCIsIGJpZywgIjAxMjM0NTY3ODkwYWJjZGVmMTIzNDUgIikKKyAgICAgICAgdGVzdGNvbW1vbigiJVgiLCBiaWcsICIxMjM0NTY3ODkwQUJDREVGMTIzNDUiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlI1giLCBiaWcsICIwWDEyMzQ1Njc4OTBBQkNERUYxMjM0NSIpCisgICAgICAgIHRlc3Rjb21tb24oIiUjeCIsIGJpZywgIjB4MTIzNDU2Nzg5MGFiY2RlZjEyMzQ1IikKKyAgICAgICAgdGVzdGNvbW1vbigiJSN4IiwgLWJpZywgIi0weDEyMzQ1Njc4OTBhYmNkZWYxMjM0NSIpCisgICAgICAgIHRlc3Rjb21tb24oIiUjLjIzeCIsIC1iaWcsICItMHgwMDEyMzQ1Njc4OTBhYmNkZWYxMjM0NSIpCisgICAgICAgIHRlc3Rjb21tb24oIiUjKy4yM3giLCBiaWcsICIrMHgwMDEyMzQ1Njc4OTBhYmNkZWYxMjM0NSIpCisgICAgICAgIHRlc3Rjb21tb24oIiUjIC4yM3giLCBiaWcsICIgMHgwMDEyMzQ1Njc4OTBhYmNkZWYxMjM0NSIpCisgICAgICAgIHRlc3Rjb21tb24oIiUjKy4yM1giLCBiaWcsICIrMFgwMDEyMzQ1Njc4OTBBQkNERUYxMjM0NSIpCisgICAgICAgIHRlc3Rjb21tb24oIiUjLSsuMjNYIiwgYmlnLCAiKzBYMDAxMjM0NTY3ODkwQUJDREVGMTIzNDUiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlIy0rMjYuMjNYIiwgYmlnLCAiKzBYMDAxMjM0NTY3ODkwQUJDREVGMTIzNDUiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlIy0rMjcuMjNYIiwgYmlnLCAiKzBYMDAxMjM0NTY3ODkwQUJDREVGMTIzNDUgIikKKyAgICAgICAgdGVzdGNvbW1vbigiJSMrMjcuMjNYIiwgYmlnLCAiICswWDAwMTIzNDU2Nzg5MEFCQ0RFRjEyMzQ1IikKICAgICAgICAgIyBuZXh0IG9uZSBnZXRzIHR3byBsZWFkaW5nIHplcm9lcyBmcm9tIHByZWNpc2lvbiwgYW5kIGFub3RoZXIgZnJvbSB0aGUKICAgICAgICAgIyAwIGZsYWcgYW5kIHRoZSB3aWR0aAotICAgICAgICB0ZXN0Zm9ybWF0KCIlIyswMjcuMjNYIiwgYmlnLCAiKzBYMDAwMTIzNDU2Nzg5MEFCQ0RFRjEyMzQ1IikKKyAgICAgICAgdGVzdGNvbW1vbigiJSMrMDI3LjIzWCIsIGJpZywgIiswWDAwMDEyMzQ1Njc4OTBBQkNERUYxMjM0NSIpCiAgICAgICAgICMgc2FtZSwgZXhjZXB0IG5vIDAgZmxhZwotICAgICAgICB0ZXN0Zm9ybWF0KCIlIysyNy4yM1giLCBiaWcsICIgKzBYMDAxMjM0NTY3ODkwQUJDREVGMTIzNDUiKQotICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0V2FybnMoRGVwcmVjYXRpb25XYXJuaW5nKToKLSAgICAgICAgICAgIHRlc3Rmb3JtYXQoIiV4IiwgZmxvYXQoYmlnKSwgIjEyMzQ1Nl9fX19fX19fX19fX19fXyIsIDYpCisgICAgICAgIHRlc3Rjb21tb24oIiUjKzI3LjIzWCIsIGJpZywgIiArMFgwMDEyMzQ1Njc4OTBBQkNERUYxMjM0NSIpCiAgICAgICAgIGJpZyA9IDBvMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAgICMgMzIgb2N0YWwgZGlnaXRzCi0gICAgICAgIHRlc3Rmb3JtYXQoIiVvIiwgYmlnLCAiMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlbyIsIC1iaWcsICItMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlNW8iLCAtYmlnLCAiLTEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJTMzbyIsIC1iaWcsICItMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlMzRvIiwgLWJpZywgIiAtMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlLTM0byIsIC1iaWcsICItMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAgIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJTAzNG8iLCAtYmlnLCAiLTAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUtMDM0byIsIC1iaWcsICItMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAgIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJTAzNm8iLCAtYmlnLCAiLTAwMDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJTAzNm8iLCBiaWcsICIwMDAwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlMCszNm8iLCBiaWcsICIrMDAwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlKzM2byIsIGJpZywgIiAgICsxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUzNm8iLCBiaWcsICIgICAgMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlLjJvIiwgYmlnLCAiMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlLjMybyIsIGJpZywgIjEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJS4zM28iLCBiaWcsICIwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlMzQuMzNvIiwgYmlnLCAiIDAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUtMzQuMzNvIiwgYmlnLCAiMDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwICIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiVvIiwgYmlnLCAiMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlI28iLCBiaWcsICIwbzEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJSNvIiwgLWJpZywgIi0wbzEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJSMuMzRvIiwgLWJpZywgIi0wbzAwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlIysuMzRvIiwgYmlnLCAiKzBvMDAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUjIC4zNG8iLCBiaWcsICIgMG8wMDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJSMrLjM0byIsIGJpZywgIiswbzAwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlIy0rLjM0byIsIGJpZywgIiswbzAwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlIy0rMzcuMzRvIiwgYmlnLCAiKzBvMDAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUjKzM3LjM0byIsIGJpZywgIiswbzAwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlbyIsIGJpZywgIjEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJW8iLCAtYmlnLCAiLTEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJTVvIiwgLWJpZywgIi0xMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiUzM28iLCAtYmlnLCAiLTEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJTM0byIsIC1iaWcsICIgLTEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJS0zNG8iLCAtYmlnLCAiLTEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwICIpCisgICAgICAgIHRlc3Rjb21tb24oIiUwMzRvIiwgLWJpZywgIi0wMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlLTAzNG8iLCAtYmlnLCAiLTEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwICIpCisgICAgICAgIHRlc3Rjb21tb24oIiUwMzZvIiwgLWJpZywgIi0wMDAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiUwMzZvIiwgYmlnLCAiMDAwMDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJTArMzZvIiwgYmlnLCAiKzAwMDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJSszNm8iLCBiaWcsICIgICArMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlMzZvIiwgYmlnLCAiICAgIDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJS4ybyIsIGJpZywgIjEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJS4zMm8iLCBiaWcsICIxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiUuMzNvIiwgYmlnLCAiMDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJTM0LjMzbyIsIGJpZywgIiAwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlLTM0LjMzbyIsIGJpZywgIjAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlbyIsIGJpZywgIjEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJSNvIiwgYmlnLCAiMG8xMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiUjbyIsIC1iaWcsICItMG8xMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiUjLjM0byIsIC1iaWcsICItMG8wMDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJSMrLjM0byIsIGJpZywgIiswbzAwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlIyAuMzRvIiwgYmlnLCAiIDBvMDAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiUjKy4zNG8iLCBiaWcsICIrMG8wMDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJSMtKy4zNG8iLCBiaWcsICIrMG8wMDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJSMtKzM3LjM0byIsIGJpZywgIiswbzAwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlIyszNy4zNG8iLCBiaWcsICIrMG8wMDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKICAgICAgICAgIyBuZXh0IG9uZSBnZXRzIG9uZSBsZWFkaW5nIHplcm8gZnJvbSBwcmVjaXNpb24KLSAgICAgICAgdGVzdGZvcm1hdCgiJS4zM28iLCBiaWcsICIwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlLjMzbyIsIGJpZywgIjAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCiAgICAgICAgICMgYmFzZSBtYXJrZXIgc2hvdWxkbid0IGNoYW5nZSB0aGF0LCBzaW5jZSAiMCIgaXMgcmVkdW5kYW50Ci0gICAgICAgIHRlc3Rmb3JtYXQoIiUjLjMzbyIsIGJpZywgIjBvMDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJSMuMzNvIiwgYmlnLCAiMG8wMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQogICAgICAgICAjIGJ1dCByZWR1Y2UgcHJlY2lzaW9uLCBhbmQgYmFzZSBtYXJrZXIgc2hvdWxkIGFkZCBhIHplcm8KLSAgICAgICAgdGVzdGZvcm1hdCgiJSMuMzJvIiwgYmlnLCAiMG8xMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiUjLjMybyIsIGJpZywgIjBvMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQogICAgICAgICAjIG9uZSBsZWFkaW5nIHplcm8gZnJvbSBwcmVjaXNpb24sIGFuZCBhbm90aGVyIGZyb20gIjAiIGZsYWcgJiB3aWR0aAotICAgICAgICB0ZXN0Zm9ybWF0KCIlMDM0LjMzbyIsIGJpZywgIjAwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlMDM0LjMzbyIsIGJpZywgIjAwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQogICAgICAgICAjIGJhc2UgbWFya2VyIHNob3VsZG4ndCBjaGFuZ2UgdGhhdAotICAgICAgICB0ZXN0Zm9ybWF0KCIlMCMzNC4zM28iLCBiaWcsICIwbzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCi0gICAgICAgIHdpdGggc2VsZi5hc3NlcnRXYXJucyhEZXByZWNhdGlvbldhcm5pbmcpOgotICAgICAgICAgICAgdGVzdGZvcm1hdCgiJW8iLCBmbG9hdChiaWcpLCAiMTIzNDU2X19fX19fX19fX19fX19fX19fX19fX19fX18iLCA2KQorICAgICAgICB0ZXN0Y29tbW9uKCIlMCMzNC4zM28iLCBiaWcsICIwbzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCiAgICAgICAgICMgU29tZSBzbWFsbCBpbnRzLCBpbiBib3RoIFB5dGhvbiBpbnQgYW5kIGZsYXZvcnMpLgotICAgICAgICB0ZXN0Zm9ybWF0KCIlZCIsIDQyLCAiNDIiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlZCIsIC00MiwgIi00MiIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiVkIiwgNDIsICI0MiIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiVkIiwgLTQyLCAiLTQyIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJWQiLCA0Mi4wLCAiNDIiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlI3giLCAxLCAiMHgxIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJSN4IiwgMSwgIjB4MSIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUjWCIsIDEsICIwWDEiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlI1giLCAxLCAiMFgxIikKLSAgICAgICAgd2l0aCBzZWxmLmFzc2VydFdhcm5zKERlcHJlY2F0aW9uV2FybmluZyk6Ci0gICAgICAgICAgICB0ZXN0Zm9ybWF0KCIlI3giLCAxLjAsICIweDEiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlI28iLCAxLCAiMG8xIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJSNvIiwgMSwgIjBvMSIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUjbyIsIDAsICIwbzAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlI28iLCAwLCAiMG8wIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJW8iLCAwLCAiMCIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiVvIiwgMCwgIjAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlZCIsIDAsICIwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJWQiLCAwLCAiMCIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUjeCIsIDAsICIweDAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlI3giLCAwLCAiMHgwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJSNYIiwgMCwgIjBYMCIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUjWCIsIDAsICIwWDAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIleCIsIDB4NDIsICI0MiIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiV4IiwgLTB4NDIsICItNDIiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIleCIsIDB4NDIsICI0MiIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiV4IiwgLTB4NDIsICItNDIiKQotICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0V2FybnMoRGVwcmVjYXRpb25XYXJuaW5nKToKLSAgICAgICAgICAgIHRlc3Rmb3JtYXQoIiV4IiwgZmxvYXQoMHg0MiksICI0MiIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiVvIiwgMG80MiwgIjQyIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJW8iLCAtMG80MiwgIi00MiIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiVvIiwgMG80MiwgIjQyIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJW8iLCAtMG80MiwgIi00MiIpCi0gICAgICAgIHdpdGggc2VsZi5hc3NlcnRXYXJucyhEZXByZWNhdGlvbldhcm5pbmcpOgotICAgICAgICAgICAgdGVzdGZvcm1hdCgiJW8iLCBmbG9hdCgwbzQyKSwgIjQyIikKKyAgICAgICAgdGVzdGNvbW1vbigiJWQiLCA0MiwgIjQyIikKKyAgICAgICAgdGVzdGNvbW1vbigiJWQiLCAtNDIsICItNDIiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlZCIsIDQyLCAiNDIiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlZCIsIC00MiwgIi00MiIpCisgICAgICAgIHRlc3Rjb21tb24oIiVkIiwgNDIuMCwgIjQyIikKKyAgICAgICAgdGVzdGNvbW1vbigiJSN4IiwgMSwgIjB4MSIpCisgICAgICAgIHRlc3Rjb21tb24oIiUjeCIsIDEsICIweDEiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlI1giLCAxLCAiMFgxIikKKyAgICAgICAgdGVzdGNvbW1vbigiJSNYIiwgMSwgIjBYMSIpCisgICAgICAgIHRlc3Rjb21tb24oIiUjbyIsIDEsICIwbzEiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlI28iLCAxLCAiMG8xIikKKyAgICAgICAgdGVzdGNvbW1vbigiJSNvIiwgMCwgIjBvMCIpCisgICAgICAgIHRlc3Rjb21tb24oIiUjbyIsIDAsICIwbzAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlbyIsIDAsICIwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJW8iLCAwLCAiMCIpCisgICAgICAgIHRlc3Rjb21tb24oIiVkIiwgMCwgIjAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlZCIsIDAsICIwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJSN4IiwgMCwgIjB4MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiUjeCIsIDAsICIweDAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlI1giLCAwLCAiMFgwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJSNYIiwgMCwgIjBYMCIpCisgICAgICAgIHRlc3Rjb21tb24oIiV4IiwgMHg0MiwgIjQyIikKKyAgICAgICAgdGVzdGNvbW1vbigiJXgiLCAtMHg0MiwgIi00MiIpCisgICAgICAgIHRlc3Rjb21tb24oIiV4IiwgMHg0MiwgIjQyIikKKyAgICAgICAgdGVzdGNvbW1vbigiJXgiLCAtMHg0MiwgIi00MiIpCisgICAgICAgIHRlc3Rjb21tb24oIiVvIiwgMG80MiwgIjQyIikKKyAgICAgICAgdGVzdGNvbW1vbigiJW8iLCAtMG80MiwgIi00MiIpCisgICAgICAgIHRlc3Rjb21tb24oIiVvIiwgMG80MiwgIjQyIikKKyAgICAgICAgdGVzdGNvbW1vbigiJW8iLCAtMG80MiwgIi00MiIpCisgICAgICAgICMgYWx0ZXJuYXRlIGZsb2F0IGZvcm1hdHRpbmcKKyAgICAgICAgdGVzdGNvbW1vbignJWcnLCAxLjEsICcxLjEnKQorICAgICAgICB0ZXN0Y29tbW9uKCclI2cnLCAxLjEsICcxLjEwMDAwJykKKworICAgIGRlZiB0ZXN0X3N0cl9mb3JtYXQoc2VsZik6CiAgICAgICAgIHRlc3Rmb3JtYXQoIiVyIiwgIlx1MDM3OCIsICInXFx1MDM3OCciKSAgIyBub24gcHJpbnRhYmxlCiAgICAgICAgIHRlc3Rmb3JtYXQoIiVhIiwgIlx1MDM3OCIsICInXFx1MDM3OCciKSAgIyBub24gcHJpbnRhYmxlCiAgICAgICAgIHRlc3Rmb3JtYXQoIiVyIiwgIlx1MDM3NCIsICInXHUwMzc0JyIpICAgIyBwcmludGFibGUKICAgICAgICAgdGVzdGZvcm1hdCgiJWEiLCAiXHUwMzc0IiwgIidcXHUwMzc0JyIpICAjIHByaW50YWJsZQogCi0gICAgICAgICMgYWx0ZXJuYXRlIGZsb2F0IGZvcm1hdHRpbmcKLSAgICAgICAgdGVzdGZvcm1hdCgnJWcnLCAxLjEsICcxLjEnKQotICAgICAgICB0ZXN0Zm9ybWF0KCclI2cnLCAxLjEsICcxLjEwMDAwJykKLQotICAgICAgICAjIFRlc3QgZXhjZXB0aW9uIGZvciB1bmtub3duIGZvcm1hdCBjaGFyYWN0ZXJzCisgICAgICAgICMgVGVzdCBleGNlcHRpb24gZm9yIHVua25vd24gZm9ybWF0IGNoYXJhY3RlcnMsIGV0Yy4KICAgICAgICAgaWYgdmVyYm9zZToKICAgICAgICAgICAgIHByaW50KCdUZXN0aW5nIGV4Y2VwdGlvbnMnKQogICAgICAgICBkZWYgdGVzdF9leGMoZm9ybWF0c3RyLCBhcmdzLCBleGNlcHRpb24sIGV4Y21zZyk6CkBAIC0yNTcsOCArMjc1LDgzIEBACiAgICAgICAgIHRlc3RfZXhjKCclZycsICcxJywgVHlwZUVycm9yLCAiYSBmbG9hdCBpcyByZXF1aXJlZCIpCiAgICAgICAgIHRlc3RfZXhjKCdubyBmb3JtYXQnLCAnMScsIFR5cGVFcnJvciwKICAgICAgICAgICAgICAgICAgIm5vdCBhbGwgYXJndW1lbnRzIGNvbnZlcnRlZCBkdXJpbmcgc3RyaW5nIGZvcm1hdHRpbmciKQotICAgICAgICB0ZXN0X2V4Yygnbm8gZm9ybWF0JywgJzEnLCBUeXBlRXJyb3IsCi0gICAgICAgICAgICAgICAgICJub3QgYWxsIGFyZ3VtZW50cyBjb252ZXJ0ZWQgZHVyaW5nIHN0cmluZyBmb3JtYXR0aW5nIikKKworICAgICAgICBpZiBtYXhzaXplID09IDIqKjMxLTE6CisgICAgICAgICAgICAjIGNyYXNoZXMgMi4yLjEgYW5kIGVhcmxpZXI6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgIiUqZCIlKG1heHNpemUsIC0xMjcpCisgICAgICAgICAgICBleGNlcHQgTWVtb3J5RXJyb3I6CisgICAgICAgICAgICAgICAgcGFzcworICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICByYWlzZSBUZXN0RmFpbGVkKCciJSpkIiUobWF4c2l6ZSwgLTEyNykgc2hvdWxkIGZhaWwnKQorCisgICAgZGVmIHRlc3RfYnl0ZXNfYW5kX2J5dGVhcnJheV9mb3JtYXQoc2VsZik6CisgICAgICAgICMgJWMgd2lsbCBpbnNlcnQgYSBzaW5nbGUgYnl0ZSwgZWl0aGVyIGZyb20gYW4gaW50IGluIHJhbmdlKDI1NiksIG9yCisgICAgICAgICMgZnJvbSBhIGJ5dGVzIGFyZ3VtZW50IG9mIGxlbmd0aCAxLCBub3QgZnJvbSBhIHN0ci4KKyAgICAgICAgdGVzdGNvbW1vbihiIiVjIiwgNywgYiJceDA3IikKKyAgICAgICAgdGVzdGNvbW1vbihiIiVjIiwgYiJaIiwgYiJaIikKKyAgICAgICAgdGVzdGNvbW1vbihiIiVjIiwgYnl0ZWFycmF5KGIiWiIpLCBiIloiKQorICAgICAgICAjICViIHdpbGwgaW5zZXJ0IGEgc2VyaWVzIG9mIGJ5dGVzLCBlaXRoZXIgZnJvbSBhIHR5cGUgdGhhdCBzdXBwb3J0cworICAgICAgICAjIHRoZSBQeV9idWZmZXIgcHJvdG9jb2wsIG9yIHNvbWV0aGluZyB0aGF0IGhhcyBhIF9fYnl0ZXNfXyBtZXRob2QKKyAgICAgICAgY2xhc3MgRmFrZUJ5dGVzKG9iamVjdCk6CisgICAgICAgICAgICBkZWYgX19ieXRlc19fKHNlbGYpOgorICAgICAgICAgICAgICAgIHJldHVybiBiJzEyMycKKyAgICAgICAgZmIgPSBGYWtlQnl0ZXMoKQorICAgICAgICB0ZXN0Y29tbW9uKGIiJWIiLCBiImFiYyIsIGIiYWJjIikKKyAgICAgICAgdGVzdGNvbW1vbihiIiViIiwgYnl0ZWFycmF5KGIiZGVmIiksIGIiZGVmIikKKyAgICAgICAgdGVzdGNvbW1vbihiIiViIiwgZmIsIGIiMTIzIikKKyAgICAgICAgIyAjICVzIGlzIGFuIGFsaWFzIGZvciAlYiAtLSBzaG91bGQgb25seSBiZSB1c2VkIGZvciBQeTIvMyBjb2RlCisgICAgICAgIHRlc3Rjb21tb24oYiIlcyIsIGIiYWJjIiwgYiJhYmMiKQorICAgICAgICB0ZXN0Y29tbW9uKGIiJXMiLCBieXRlYXJyYXkoYiJkZWYiKSwgYiJkZWYiKQorICAgICAgICB0ZXN0Y29tbW9uKGIiJXMiLCBmYiwgYiIxMjMiKQorICAgICAgICAjICVhIHdpbGwgZ2l2ZSB0aGUgZXF1aXZhbGVudCBvZgorICAgICAgICAjIHJlcHIoc29tZV9vYmopLmVuY29kZSgnYXNjaWknLCAnYmFja3NsYXNocmVwbGFjZScpCisgICAgICAgIHRlc3Rjb21tb24oYiIlYSIsIDMuMTQsIGIiMy4xNCIpCisgICAgICAgIHRlc3Rjb21tb24oYiIlYSIsIGIiZ2hpIiwgYiJiJ2doaSciKQorICAgICAgICB0ZXN0Y29tbW9uKGIiJWEiLCAiamtsIiwgYiInamtsJyIpCisgICAgICAgIHRlc3Rjb21tb24oYiIlYSIsICJcdTA1NDQiLCBiIidcXHUwNTQ0JyIpCisKKyAgICAgICAgIyBUZXN0IGV4Y2VwdGlvbiBmb3IgdW5rbm93biBmb3JtYXQgY2hhcmFjdGVycywgZXRjLgorICAgICAgICBpZiB2ZXJib3NlOgorICAgICAgICAgICAgcHJpbnQoJ1Rlc3RpbmcgZXhjZXB0aW9ucycpCisgICAgICAgIGRlZiB0ZXN0X2V4Yyhmb3JtYXRzdHIsIGFyZ3MsIGV4Y2VwdGlvbiwgZXhjbXNnKToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICB0ZXN0Zm9ybWF0KGZvcm1hdHN0ciwgYXJncykKKyAgICAgICAgICAgIGV4Y2VwdCBleGNlcHRpb24gYXMgZXhjOgorICAgICAgICAgICAgICAgIGlmIHN0cihleGMpID09IGV4Y21zZzoKKyAgICAgICAgICAgICAgICAgICAgaWYgdmVyYm9zZToKKyAgICAgICAgICAgICAgICAgICAgICAgIHByaW50KCJ5ZXMiKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIGlmIHZlcmJvc2U6IHByaW50KCdubycpCisgICAgICAgICAgICAgICAgICAgIHByaW50KCdVbmV4cGVjdGVkICcsIGV4Y2VwdGlvbiwgJzonLCByZXByKHN0cihleGMpKSkKKyAgICAgICAgICAgIGV4Y2VwdDoKKyAgICAgICAgICAgICAgICBpZiB2ZXJib3NlOiBwcmludCgnbm8nKQorICAgICAgICAgICAgICAgIHByaW50KCdVbmV4cGVjdGVkIGV4Y2VwdGlvbicpCisgICAgICAgICAgICAgICAgcmFpc2UKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgcmFpc2UgVGVzdEZhaWxlZCgnZGlkIG5vdCBnZXQgZXhwZWN0ZWQgZXhjZXB0aW9uOiAlcycgJSBleGNtc2cpCisgICAgICAgIHRlc3RfZXhjKGInJWQnLCAnMScsIFR5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAiJWQgZm9ybWF0OiBhIG51bWJlciBpcyByZXF1aXJlZCwgbm90IHN0ciIpCisgICAgICAgIHRlc3RfZXhjKGInJWQnLCBiJzEnLCBUeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgIiVkIGZvcm1hdDogYSBudW1iZXIgaXMgcmVxdWlyZWQsIG5vdCBieXRlcyIpCisgICAgICAgIHRlc3RfZXhjKGInJWcnLCAnMScsIFR5cGVFcnJvciwgImZsb2F0IGFyZ3VtZW50IHJlcXVpcmVkLCBub3Qgc3RyIikKKyAgICAgICAgdGVzdF9leGMoYiclZycsIGInMScsIFR5cGVFcnJvciwgImZsb2F0IGFyZ3VtZW50IHJlcXVpcmVkLCBub3QgYnl0ZXMiKQorICAgICAgICB0ZXN0X2V4YyhiJ25vIGZvcm1hdCcsIDcsIFR5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgIm5vdCBhbGwgYXJndW1lbnRzIGNvbnZlcnRlZCBkdXJpbmcgYnl0ZXMgZm9ybWF0dGluZyIpCisgICAgICAgIHRlc3RfZXhjKGInbm8gZm9ybWF0JywgYicxJywgVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICAibm90IGFsbCBhcmd1bWVudHMgY29udmVydGVkIGR1cmluZyBieXRlcyBmb3JtYXR0aW5nIikKKyAgICAgICAgdGVzdF9leGMoYidubyBmb3JtYXQnLCBieXRlYXJyYXkoYicxJyksIFR5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgIm5vdCBhbGwgYXJndW1lbnRzIGNvbnZlcnRlZCBkdXJpbmcgYnl0ZXMgZm9ybWF0dGluZyIpCisgICAgICAgIHRlc3RfZXhjKGIiJWMiLCAyNTYsIFR5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAiJWMgcmVxdWlyZXMgYW4gaW50ZWdlciBpbiByYW5nZSgyNTYpIG9yIGEgc2luZ2xlIGJ5dGUiKQorICAgICAgICB0ZXN0X2V4YyhiIiVjIiwgYiJaYSIsIFR5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAiJWMgcmVxdWlyZXMgYW4gaW50ZWdlciBpbiByYW5nZSgyNTYpIG9yIGEgc2luZ2xlIGJ5dGUiKQorICAgICAgICB0ZXN0X2V4YyhiIiVjIiwgIlliIiwgVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICIlYyByZXF1aXJlcyBhbiBpbnRlZ2VyIGluIHJhbmdlKDI1Nikgb3IgYSBzaW5nbGUgYnl0ZSIpCisgICAgICAgIHRlc3RfZXhjKGIiJWIiLCAiWGMiLCBUeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgIiViIHJlcXVpcmVzIGJ5dGVzLCBvciBhbiBvYmplY3QgdGhhdCBpbXBsZW1lbnRzIF9fYnl0ZXNfXywgbm90ICdzdHInIikKKyAgICAgICAgdGVzdF9leGMoYiIlcyIsICJXZCIsIFR5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAiJWIgcmVxdWlyZXMgYnl0ZXMsIG9yIGFuIG9iamVjdCB0aGF0IGltcGxlbWVudHMgX19ieXRlc19fLCBub3QgJ3N0ciciKQogCiAgICAgICAgIGlmIG1heHNpemUgPT0gMioqMzEtMToKICAgICAgICAgICAgICMgY3Jhc2hlcyAyLjIuMSBhbmQgZWFybGllcjoKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfZnJhY3Rpb25zLnB5IGIvTGliL3Rlc3QvdGVzdF9mcmFjdGlvbnMucHkKaW5kZXggMzMzNjUzMi4uZTg2ZDVjZSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9mcmFjdGlvbnMucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9mcmFjdGlvbnMucHkKQEAgLTMzMCw3ICszMzAsNiBAQAogICAgICAgICBzZWxmLmFzc2VydFR5cGVkRXF1YWxzKEYoLTIsIDEwKSwgcm91bmQoRigtMTUsIDEwMCksIDEpKQogICAgICAgICBzZWxmLmFzc2VydFR5cGVkRXF1YWxzKEYoLTIsIDEwKSwgcm91bmQoRigtMjUsIDEwMCksIDEpKQogCi0KICAgICBkZWYgdGVzdEFyaXRobWV0aWMoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRigxLCAyKSwgRigxLCAxMCkgKyBGKDIsIDUpKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEYoLTMsIDEwKSwgRigxLCAxMCkgLSBGKDIsIDUpKQpAQCAtNDAyLDYgKzQwMSw4IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0VHlwZWRFcXVhbHMoMi4wICwgNCAqKiBGKDEsIDIpKQogICAgICAgICBzZWxmLmFzc2VydFR5cGVkRXF1YWxzKDAuMjUsIDIuMCAqKiBGKC0yLCAxKSkKICAgICAgICAgc2VsZi5hc3NlcnRUeXBlZEVxdWFscygxLjAgKyAwaiwgKDEuMCArIDBqKSAqKiBGKDEsIDEwKSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoWmVyb0RpdmlzaW9uRXJyb3IsIG9wZXJhdG9yLnBvdywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgRigwLCAxKSwgLTIpCiAKICAgICBkZWYgdGVzdE1peGluZ1dpdGhEZWNpbWFsKHNlbGYpOgogICAgICAgICAjIERlY2ltYWwgcmVmdXNlcyBtaXhlZCBhcml0aG1ldGljIChidXQgbm90IG1peGVkIGNvbXBhcmlzb25zKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9mdHBsaWIucHkgYi9MaWIvdGVzdC90ZXN0X2Z0cGxpYi5weQppbmRleCBkM2JlN2Q2Li5hZWY2NmRhIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2Z0cGxpYi5weQorKysgYi9MaWIvdGVzdC90ZXN0X2Z0cGxpYi5weQpAQCAtNzMsNyArNzMsNyBAQAogICAgICAgICBzdXBlcihEdW1teURUUEhhbmRsZXIsIHNlbGYpLnB1c2god2hhdC5lbmNvZGUoJ2FzY2lpJykpCiAKICAgICBkZWYgaGFuZGxlX2Vycm9yKHNlbGYpOgotICAgICAgICByYWlzZQorICAgICAgICByYWlzZSBFeGNlcHRpb24KIAogCiBjbGFzcyBEdW1teUZUUEhhbmRsZXIoYXN5bmNoYXQuYXN5bmNfY2hhdCk6CkBAIC0xMTgsNyArMTE4LDcgQEAKICAgICAgICAgICAgIHNlbGYucHVzaCgnNTUwIGNvbW1hbmQgIiVzIiBub3QgdW5kZXJzdG9vZC4nICVjbWQpCiAKICAgICBkZWYgaGFuZGxlX2Vycm9yKHNlbGYpOgotICAgICAgICByYWlzZQorICAgICAgICByYWlzZSBFeGNlcHRpb24KIAogICAgIGRlZiBwdXNoKHNlbGYsIGRhdGEpOgogICAgICAgICBhc3luY2hhdC5hc3luY19jaGF0LnB1c2goc2VsZiwgZGF0YS5lbmNvZGUoJ2FzY2lpJykgKyBiJ1xyXG4nKQpAQCAtMTM0LDcgKzEzNCw3IEBACiAgICAgZGVmIGNtZF9wYXN2KHNlbGYsIGFyZyk6CiAgICAgICAgIHdpdGggc29ja2V0LnNvY2tldCgpIGFzIHNvY2s6CiAgICAgICAgICAgICBzb2NrLmJpbmQoKHNlbGYuc29ja2V0LmdldHNvY2tuYW1lKClbMF0sIDApKQotICAgICAgICAgICAgc29jay5saXN0ZW4oNSkKKyAgICAgICAgICAgIHNvY2subGlzdGVuKCkKICAgICAgICAgICAgIHNvY2suc2V0dGltZW91dChUSU1FT1VUKQogICAgICAgICAgICAgaXAsIHBvcnQgPSBzb2NrLmdldHNvY2tuYW1lKClbOjJdCiAgICAgICAgICAgICBpcCA9IGlwLnJlcGxhY2UoJy4nLCAnLCcpOyBwMSA9IHBvcnQgLyAyNTY7IHAyID0gcG9ydCAlIDI1NgpAQCAtMTUyLDcgKzE1Miw3IEBACiAgICAgZGVmIGNtZF9lcHN2KHNlbGYsIGFyZyk6CiAgICAgICAgIHdpdGggc29ja2V0LnNvY2tldChzb2NrZXQuQUZfSU5FVDYpIGFzIHNvY2s6CiAgICAgICAgICAgICBzb2NrLmJpbmQoKHNlbGYuc29ja2V0LmdldHNvY2tuYW1lKClbMF0sIDApKQotICAgICAgICAgICAgc29jay5saXN0ZW4oNSkKKyAgICAgICAgICAgIHNvY2subGlzdGVuKCkKICAgICAgICAgICAgIHNvY2suc2V0dGltZW91dChUSU1FT1VUKQogICAgICAgICAgICAgcG9ydCA9IHNvY2suZ2V0c29ja25hbWUoKVsxXQogICAgICAgICAgICAgc2VsZi5wdXNoKCcyMjkgZW50ZXJpbmcgZXh0ZW5kZWQgcGFzc2l2ZSBtb2RlICh8fHwlZHwpJyAlcG9ydCkKQEAgLTI5Niw3ICsyOTYsNyBAQAogICAgICAgICByZXR1cm4gMAogCiAgICAgZGVmIGhhbmRsZV9lcnJvcihzZWxmKToKLSAgICAgICAgcmFpc2UKKyAgICAgICAgcmFpc2UgRXhjZXB0aW9uCiAKIAogaWYgc3NsIGlzIG5vdCBOb25lOgpAQCAtMzk0LDcgKzM5NCw3IEBACiAgICAgICAgICAgICAgICAgcmFpc2UKIAogICAgICAgICBkZWYgaGFuZGxlX2Vycm9yKHNlbGYpOgotICAgICAgICAgICAgcmFpc2UKKyAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbgogCiAgICAgICAgIGRlZiBjbG9zZShzZWxmKToKICAgICAgICAgICAgIGlmIChpc2luc3RhbmNlKHNlbGYuc29ja2V0LCBzc2wuU1NMU29ja2V0KSBhbmQKQEAgLTY3MCw3ICs2NzAsNyBAQAogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhTdG9wSXRlcmF0aW9uLCBuZXh0LCBzZWxmLmNsaWVudC5tbHNkKCkpCiAgICAgICAgIHNldF9kYXRhKCcnKQogICAgICAgICBmb3IgeCBpbiBzZWxmLmNsaWVudC5tbHNkKCk6Ci0gICAgICAgICAgICBzZWxmLmZhaWwoInVuZXhwZWN0ZWQgZGF0YSAlcyIgJSBkYXRhKQorICAgICAgICAgICAgc2VsZi5mYWlsKCJ1bmV4cGVjdGVkIGRhdGEgJXMiICUgeCkKIAogICAgIGRlZiB0ZXN0X21ha2Vwb3J0KHNlbGYpOgogICAgICAgICB3aXRoIHNlbGYuY2xpZW50Lm1ha2Vwb3J0KCk6CkBAIC05NzksNyArOTc5LDcgQEAKICAgICAgICAgIyAgMSkgd2hlbiB0aGUgY29ubmVjdGlvbiBpcyByZWFkeSB0byBiZSBhY2NlcHRlZC4KICAgICAgICAgIyAgMikgd2hlbiBpdCBpcyBzYWZlIGZvciB0aGUgY2FsbGVyIHRvIGNsb3NlIHRoZSBjb25uZWN0aW9uCiAgICAgICAgICMgIDMpIHdoZW4gd2UgaGF2ZSBjbG9zZWQgdGhlIHNvY2tldAotICAgICAgICBzZWxmLnNvY2subGlzdGVuKDUpCisgICAgICAgIHNlbGYuc29jay5saXN0ZW4oKQogICAgICAgICAjICgxKSBTaWduYWwgdGhlIGNhbGxlciB0aGF0IHdlIGFyZSByZWFkeSB0byBhY2NlcHQgdGhlIGNvbm5lY3Rpb24uCiAgICAgICAgIHNlbGYuZXZ0LnNldCgpCiAgICAgICAgIHRyeToKQEAgLTEwNDksMTkgKzEwNDksOCBAQAogICAgICAgICBmdHAuY2xvc2UoKQogCiAKLWNsYXNzIFRlc3ROZXRyY0RlcHJlY2F0aW9uKFRlc3RDYXNlKToKLQotICAgIGRlZiB0ZXN0X2RlcHJlY2F0aW9uKHNlbGYpOgotICAgICAgICB3aXRoIHN1cHBvcnQudGVtcF9jd2QoKSwgc3VwcG9ydC5FbnZpcm9ubWVudFZhckd1YXJkKCkgYXMgZW52OgotICAgICAgICAgICAgZW52WydIT01FJ10gPSBvcy5nZXRjd2QoKQotICAgICAgICAgICAgb3BlbignLm5ldHJjJywgJ3cnKS5jbG9zZSgpCi0gICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0V2FybnMoRGVwcmVjYXRpb25XYXJuaW5nKToKLSAgICAgICAgICAgICAgICBmdHBsaWIuTmV0cmMoKQotCi0KLQogZGVmIHRlc3RfbWFpbigpOgotICAgIHRlc3RzID0gW1Rlc3RGVFBDbGFzcywgVGVzdFRpbWVvdXRzLCBUZXN0TmV0cmNEZXByZWNhdGlvbiwKKyAgICB0ZXN0cyA9IFtUZXN0RlRQQ2xhc3MsIFRlc3RUaW1lb3V0cywKICAgICAgICAgICAgICBUZXN0SVB2NkVudmlyb25tZW50LAogICAgICAgICAgICAgIFRlc3RUTFNfRlRQQ2xhc3NNaXhpbiwgVGVzdFRMU19GVFBDbGFzc10KIApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9mdW5jdG9vbHMucHkgYi9MaWIvdGVzdC90ZXN0X2Z1bmN0b29scy5weQppbmRleCAxMDEyMDUzLi5mYmI0M2U0IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2Z1bmN0b29scy5weQorKysgYi9MaWIvdGVzdC90ZXN0X2Z1bmN0b29scy5weQpAQCAtODgwLDYgKzg4MCwyNCBAQAogICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpOgogICAgICAgICAgICAgICAgIGEgPD0gYgogCisgICAgZGVmIHRlc3RfcGlja2xlKHNlbGYpOgorICAgICAgICBmb3IgcHJvdG8gaW4gcmFuZ2UoNCwgcGlja2xlLkhJR0hFU1RfUFJPVE9DT0wgKyAxKToKKyAgICAgICAgICAgIGZvciBuYW1lIGluICdfX2x0X18nLCAnX19ndF9fJywgJ19fbGVfXycsICdfX2dlX18nOgorICAgICAgICAgICAgICAgIHdpdGggc2VsZi5zdWJUZXN0KG1ldGhvZD1uYW1lLCBwcm90bz1wcm90byk6CisgICAgICAgICAgICAgICAgICAgIG1ldGhvZCA9IGdldGF0dHIoT3JkZXJhYmxlX0xULCBuYW1lKQorICAgICAgICAgICAgICAgICAgICBtZXRob2RfY29weSA9IHBpY2tsZS5sb2FkcyhwaWNrbGUuZHVtcHMobWV0aG9kLCBwcm90bykpCisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMobWV0aG9kX2NvcHksIG1ldGhvZCkKKworQGZ1bmN0b29scy50b3RhbF9vcmRlcmluZworY2xhc3MgT3JkZXJhYmxlX0xUOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCB2YWx1ZSk6CisgICAgICAgIHNlbGYudmFsdWUgPSB2YWx1ZQorICAgIGRlZiBfX2x0X18oc2VsZiwgb3RoZXIpOgorICAgICAgICByZXR1cm4gc2VsZi52YWx1ZSA8IG90aGVyLnZhbHVlCisgICAgZGVmIF9fZXFfXyhzZWxmLCBvdGhlcik6CisgICAgICAgIHJldHVybiBzZWxmLnZhbHVlID09IG90aGVyLnZhbHVlCisKKwogY2xhc3MgVGVzdExSVSh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICBkZWYgdGVzdF9scnUoc2VsZik6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2dlbmVyYXRvcnMucHkgYi9MaWIvdGVzdC90ZXN0X2dlbmVyYXRvcnMucHkKaW5kZXggNzgyNWE3Ny4uOWU2MTAxMyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9nZW5lcmF0b3JzLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfZ2VuZXJhdG9ycy5weQpAQCAtNTAsNiArNTAsNDUgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChnYy5nYXJiYWdlLCBvbGRfZ2FyYmFnZSkKIAogCitjbGFzcyBHZW5lcmF0b3JUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiB0ZXN0X25hbWUoc2VsZik6CisgICAgICAgIGRlZiBmdW5jKCk6CisgICAgICAgICAgICB5aWVsZCAxCisKKyAgICAgICAgIyBjaGVjayBnZW5lcmF0b3IgbmFtZXMKKyAgICAgICAgZ2VuID0gZnVuYygpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2VuLl9fbmFtZV9fLCAiZnVuYyIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2VuLl9fcXVhbG5hbWVfXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAiR2VuZXJhdG9yVGVzdC50ZXN0X25hbWUuPGxvY2Fscz4uZnVuYyIpCisKKyAgICAgICAgIyBtb2RpZnkgZ2VuZXJhdG9yIG5hbWVzCisgICAgICAgIGdlbi5fX25hbWVfXyA9ICJuYW1lIgorICAgICAgICBnZW4uX19xdWFsbmFtZV9fID0gInF1YWxuYW1lIgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdlbi5fX25hbWVfXywgIm5hbWUiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdlbi5fX3F1YWxuYW1lX18sICJxdWFsbmFtZSIpCisKKyAgICAgICAgIyBnZW5lcmF0b3IgbmFtZXMgbXVzdCBiZSBhIHN0cmluZyBhbmQgY2Fubm90IGJlIGRlbGV0ZWQKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBzZXRhdHRyLCBnZW4sICdfX25hbWVfXycsIDEyMykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBzZXRhdHRyLCBnZW4sICdfX3F1YWxuYW1lX18nLCAxMjMpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgZGVsYXR0ciwgZ2VuLCAnX19uYW1lX18nKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGRlbGF0dHIsIGdlbiwgJ19fcXVhbG5hbWVfXycpCisKKyAgICAgICAgIyBtb2RpZnkgbmFtZXMgb2YgdGhlIGZ1bmN0aW9uIGNyZWF0aW5nIHRoZSBnZW5lcmF0b3IKKyAgICAgICAgZnVuYy5fX3F1YWxuYW1lX18gPSAiZnVuY19xdWFsbmFtZSIKKyAgICAgICAgZnVuYy5fX25hbWVfXyA9ICJmdW5jX25hbWUiCisgICAgICAgIGdlbiA9IGZ1bmMoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdlbi5fX25hbWVfXywgImZ1bmNfbmFtZSIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2VuLl9fcXVhbG5hbWVfXywgImZ1bmNfcXVhbG5hbWUiKQorCisgICAgICAgICMgdW5uYW1lZCBnZW5lcmF0b3IKKyAgICAgICAgZ2VuID0gKHggZm9yIHggaW4gcmFuZ2UoMTApKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdlbi5fX25hbWVfXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAiPGdlbmV4cHI+IikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChnZW4uX19xdWFsbmFtZV9fLAorICAgICAgICAgICAgICAgICAgICAgICAgICJHZW5lcmF0b3JUZXN0LnRlc3RfbmFtZS48bG9jYWxzPi48Z2VuZXhwcj4iKQorCisKIGNsYXNzIEV4Y2VwdGlvblRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICMgVGVzdHMgZm9yIHRoZSBpc3N1ZSAjMjMzNTM6IGNoZWNrIHRoYXQgdGhlIGN1cnJlbnRseSBoYW5kbGVkIGV4Y2VwdGlvbgogICAgICMgaXMgY29ycmVjdGx5IHNhdmVkL3Jlc3RvcmVkIGluIFB5RXZhbF9FdmFsRnJhbWVFeCgpLgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9nZW5lcmljcGF0aC5weSBiL0xpYi90ZXN0L3Rlc3RfZ2VuZXJpY3BhdGgucHkKaW5kZXggZTU5ZWQ0ZC4uZjI3MjJiYyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9nZW5lcmljcGF0aC5weQorKysgYi9MaWIvdGVzdC90ZXN0X2dlbmVyaWNwYXRoLnB5CkBAIC00MzQsNiArNDM0LDQwIEBACiAgICAgICAgICAgICB3aXRoIHN1cHBvcnQudGVtcF9jd2QobmFtZSk6CiAgICAgICAgICAgICAgICAgc2VsZi50ZXN0X2Fic3BhdGgoKQogCisgICAgZGVmIHRlc3Rfam9pbl9lcnJvcnMoc2VsZik6CisgICAgICAgICMgQ2hlY2sgam9pbigpIHJhaXNlcyBmcmllbmRseSBUeXBlRXJyb3JzLgorICAgICAgICB3aXRoIHN1cHBvcnQuY2hlY2tfd2FybmluZ3MoKCcnLCBCeXRlc1dhcm5pbmcpLCBxdWlldD1UcnVlKToKKyAgICAgICAgICAgIGVycm1zZyA9ICJDYW4ndCBtaXggc3RyaW5ncyBhbmQgYnl0ZXMgaW4gcGF0aCBjb21wb25lbnRzIgorICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFR5cGVFcnJvciwgZXJybXNnKToKKyAgICAgICAgICAgICAgICBzZWxmLnBhdGhtb2R1bGUuam9pbihiJ2J5dGVzJywgJ3N0cicpCisgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVHlwZUVycm9yLCBlcnJtc2cpOgorICAgICAgICAgICAgICAgIHNlbGYucGF0aG1vZHVsZS5qb2luKCdzdHInLCBiJ2J5dGVzJykKKyAgICAgICAgICAgICMgcmVncmVzc2lvbiwgc2VlICMxNTM3NworICAgICAgICAgICAgZXJybXNnID0gcidqb2luXChcKSBhcmd1bWVudCBtdXN0IGJlIHN0ciBvciBieXRlcywgbm90ICVyJworICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFR5cGVFcnJvciwgZXJybXNnICUgJ2ludCcpOgorICAgICAgICAgICAgICAgIHNlbGYucGF0aG1vZHVsZS5qb2luKDQyLCAnc3RyJykKKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXNSZWdleChUeXBlRXJyb3IsIGVycm1zZyAlICdpbnQnKToKKyAgICAgICAgICAgICAgICBzZWxmLnBhdGhtb2R1bGUuam9pbignc3RyJywgNDIpCisgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVHlwZUVycm9yLCBlcnJtc2cgJSAnYnl0ZWFycmF5Jyk6CisgICAgICAgICAgICAgICAgc2VsZi5wYXRobW9kdWxlLmpvaW4oYnl0ZWFycmF5KGInZm9vJyksIGJ5dGVhcnJheShiJ2JhcicpKQorCisgICAgZGVmIHRlc3RfcmVscGF0aF9lcnJvcnMoc2VsZik6CisgICAgICAgICMgQ2hlY2sgcmVscGF0aCgpIHJhaXNlcyBmcmllbmRseSBUeXBlRXJyb3JzLgorICAgICAgICB3aXRoIHN1cHBvcnQuY2hlY2tfd2FybmluZ3MoKCcnLCAoQnl0ZXNXYXJuaW5nLCBEZXByZWNhdGlvbldhcm5pbmcpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1aWV0PVRydWUpOgorICAgICAgICAgICAgZXJybXNnID0gIkNhbid0IG1peCBzdHJpbmdzIGFuZCBieXRlcyBpbiBwYXRoIGNvbXBvbmVudHMiCisgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVHlwZUVycm9yLCBlcnJtc2cpOgorICAgICAgICAgICAgICAgIHNlbGYucGF0aG1vZHVsZS5yZWxwYXRoKGInYnl0ZXMnLCAnc3RyJykKKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXNSZWdleChUeXBlRXJyb3IsIGVycm1zZyk6CisgICAgICAgICAgICAgICAgc2VsZi5wYXRobW9kdWxlLnJlbHBhdGgoJ3N0cicsIGInYnl0ZXMnKQorICAgICAgICAgICAgZXJybXNnID0gcidyZWxwYXRoXChcKSBhcmd1bWVudCBtdXN0IGJlIHN0ciBvciBieXRlcywgbm90ICVyJworICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFR5cGVFcnJvciwgZXJybXNnICUgJ2ludCcpOgorICAgICAgICAgICAgICAgIHNlbGYucGF0aG1vZHVsZS5yZWxwYXRoKDQyLCAnc3RyJykKKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXNSZWdleChUeXBlRXJyb3IsIGVycm1zZyAlICdpbnQnKToKKyAgICAgICAgICAgICAgICBzZWxmLnBhdGhtb2R1bGUucmVscGF0aCgnc3RyJywgNDIpCisgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVHlwZUVycm9yLCBlcnJtc2cgJSAnYnl0ZWFycmF5Jyk6CisgICAgICAgICAgICAgICAgc2VsZi5wYXRobW9kdWxlLnJlbHBhdGgoYnl0ZWFycmF5KGInZm9vJyksIGJ5dGVhcnJheShiJ2JhcicpKQorCiAKIGlmIF9fbmFtZV9fPT0iX19tYWluX18iOgogICAgIHVuaXR0ZXN0Lm1haW4oKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9nZXRhcmdzMi5weSBiL0xpYi90ZXN0L3Rlc3RfZ2V0YXJnczIucHkKaW5kZXggMTg1M2EyZC4uY2YxMjc5ZCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9nZXRhcmdzMi5weQorKysgYi9MaWIvdGVzdC90ZXN0X2dldGFyZ3MyLnB5CkBAIC00ODIsNyArNDgyLDcgQEAKICAgICBkZWYgdGVzdF9zKHNlbGYpOgogICAgICAgICBmcm9tIF90ZXN0Y2FwaSBpbXBvcnQgZ2V0YXJnc19zCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2V0YXJnc19zKCdhYmNceGU5JyksIGInYWJjXHhjM1x4YTknKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGdldGFyZ3NfcywgJ251bDpcMCcpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGdldGFyZ3NfcywgJ251bDpcMCcpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgZ2V0YXJnc19zLCBiJ2J5dGVzJykKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBnZXRhcmdzX3MsIGJ5dGVhcnJheShiJ2J5dGVhcnJheScpKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGdldGFyZ3NfcywgbWVtb3J5dmlldyhiJ21lbW9yeXZpZXcnKSkKQEAgLTUwOSw3ICs1MDksNyBAQAogICAgIGRlZiB0ZXN0X3ooc2VsZik6CiAgICAgICAgIGZyb20gX3Rlc3RjYXBpIGltcG9ydCBnZXRhcmdzX3oKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChnZXRhcmdzX3ooJ2FiY1x4ZTknKSwgYidhYmNceGMzXHhhOScpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgZ2V0YXJnc196LCAnbnVsOlwwJykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgZ2V0YXJnc196LCAnbnVsOlwwJykKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBnZXRhcmdzX3osIGInYnl0ZXMnKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGdldGFyZ3NfeiwgYnl0ZWFycmF5KGInYnl0ZWFycmF5JykpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgZ2V0YXJnc196LCBtZW1vcnl2aWV3KGInbWVtb3J5dmlldycpKQpAQCAtNTM3LDcgKzUzNyw3IEBACiAgICAgICAgIGZyb20gX3Rlc3RjYXBpIGltcG9ydCBnZXRhcmdzX3kKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBnZXRhcmdzX3ksICdhYmNceGU5JykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChnZXRhcmdzX3koYidieXRlcycpLCBiJ2J5dGVzJykKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBnZXRhcmdzX3ksIGInbnVsOlwwJykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgZ2V0YXJnc195LCBiJ251bDpcMCcpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgZ2V0YXJnc195LCBieXRlYXJyYXkoYidieXRlYXJyYXknKSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBnZXRhcmdzX3ksIG1lbW9yeXZpZXcoYidtZW1vcnl2aWV3JykpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgZ2V0YXJnc195LCBOb25lKQpAQCAtNTc3LDcgKzU3Nyw3IEBACiAgICAgZGVmIHRlc3RfdShzZWxmKToKICAgICAgICAgZnJvbSBfdGVzdGNhcGkgaW1wb3J0IGdldGFyZ3NfdQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdldGFyZ3NfdSgnYWJjXHhlOScpLCAnYWJjXHhlOScpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgZ2V0YXJnc191LCAnbnVsOlwwJykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgZ2V0YXJnc191LCAnbnVsOlwwJykKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBnZXRhcmdzX3UsIGInYnl0ZXMnKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGdldGFyZ3NfdSwgYnl0ZWFycmF5KGInYnl0ZWFycmF5JykpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgZ2V0YXJnc191LCBtZW1vcnl2aWV3KGInbWVtb3J5dmlldycpKQpAQCAtNTk1LDcgKzU5NSw3IEBACiAgICAgZGVmIHRlc3RfWihzZWxmKToKICAgICAgICAgZnJvbSBfdGVzdGNhcGkgaW1wb3J0IGdldGFyZ3NfWgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdldGFyZ3NfWignYWJjXHhlOScpLCAnYWJjXHhlOScpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgZ2V0YXJnc19aLCAnbnVsOlwwJykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgZ2V0YXJnc19aLCAnbnVsOlwwJykKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBnZXRhcmdzX1osIGInYnl0ZXMnKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGdldGFyZ3NfWiwgYnl0ZWFycmF5KGInYnl0ZWFycmF5JykpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgZ2V0YXJnc19aLCBtZW1vcnl2aWV3KGInbWVtb3J5dmlldycpKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9nZXR0ZXh0LnB5IGIvTGliL3Rlc3QvdGVzdF9nZXR0ZXh0LnB5CmluZGV4IGFiYjMxMmYuLmM3Y2ViM2YgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfZ2V0dGV4dC5weQorKysgYi9MaWIvdGVzdC90ZXN0X2dldHRleHQucHkKQEAgLTMzLDYgKzMzLDU1IEBACiBjaUJVUVVnS2RISm5aM0pyWnlCNmNtWm1iblJ5SUhCdVoyNTVZblFnZVhadlpXNWxiQzRBWW1GamIyNEFkMmx1YXlCM2FXNXJBQT09CiAnJycKIAorIyBUaGlzIGRhdGEgY29udGFpbnMgYW4gaW52YWxpZCBtYWpvciB2ZXJzaW9uIG51bWJlciAoNSkKKyMgQW4gdW5leHBlY3RlZCBtYWpvciB2ZXJzaW9uIG51bWJlciBzaG91bGQgYmUgdHJlYXRlZCBhcyBhbiBlcnJvciB3aGVuCisjIHBhcnNpbmcgYSAubW8gZmlsZQorCitHTlVfTU9fREFUQV9CQURfTUFKT1JfVkVSU0lPTiA9IGInJydcCiszaElFbFFBQUJRQUdBQUFBSEFBQUFFd0FBQUFMQUFBQWZBQUFBQUFBQUFDb0FBQUFGUUFBQUtrQUFBQWpBQUFBdndBQUFLRUFBQURqCitBQUFBQndBQUFJVUJBQUFMQUFBQWpRRUFBRVVCQUFDWkFRQUFGZ0FBQU44Q0FBQWVBQUFBOWdJQUFLRUFBQUFWQXdBQUJRQUFBTGNECitBQUFKQUFBQXZRTUFBQUVBQUFBREFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFBQUJRQUFBQVlBQUFBQ0FBQUFBRkpoCitlVzF2Ym1RZ1RIVjRkWEo1SUZsaFkyZ3RkQUJVYUdWeVpTQnBjeUFsY3lCbWFXeGxBRlJvWlhKbElHRnlaU0FsY3lCbWFXeGxjd0JVCithR2x6SUcxdlpIVnNaU0J3Y205MmFXUmxjeUJwYm5SbGNtNWhkR2x2Ym1Gc2FYcGhkR2x2YmlCaGJtUWdiRzlqWVd4cGVtRjBhVzl1CitDbk4xY0hCdmNuUWdabTl5SUhsdmRYSWdVSGwwYUc5dUlIQnliMmR5WVcxeklHSjVJSEJ5YjNacFpHbHVaeUJoYmlCcGJuUmxjbVpoCitZMlVnZEc4Z2RHaGxJRWRPVlFwblpYUjBaWGgwSUcxbGMzTmhaMlVnWTJGMFlXeHZaeUJzYVdKeVlYSjVMZ0J0ZFd4c2RYTnJBRzUxCitaR2RsSUc1MVpHZGxBRkJ5YjJwbFkzUXRTV1F0Vm1WeWMybHZiam9nTWk0d0NsQlBMVkpsZG1semFXOXVMVVJoZEdVNklESXdNREF0CitNRGd0TWprZ01USTZNVGt0TURRNk1EQUtUR0Z6ZEMxVWNtRnVjMnhoZEc5eU9pQktMaUJFWVhacFpDQkpZc09odzdGbGVpQThhaTFrCitZWFpwWkVCdWIyOXpMbVp5UGdwTVlXNW5kV0ZuWlMxVVpXRnRPaUJZV0NBOGNIbDBhRzl1TFdSbGRrQndlWFJvYjI0dWIzSm5QZ3BOCitTVTFGTFZabGNuTnBiMjQ2SURFdU1BcERiMjUwWlc1MExWUjVjR1U2SUhSbGVIUXZjR3hoYVc0N0lHTm9ZWEp6WlhROWFYTnZMVGc0CitOVGt0TVFwRGIyNTBaVzUwTFZSeVlXNXpabVZ5TFVWdVkyOWthVzVuT2lCdWIyNWxDa2RsYm1WeVlYUmxaQzFDZVRvZ2NIbG5aWFIwCitaWGgwTG5CNUlERXVNUXBRYkhWeVlXd3RSbTl5YlhNNklHNXdiSFZ5WVd4elBUSTdJSEJzZFhKaGJEMXVJVDB4T3dvQVZHaHliMkYwCitkMjlpWW14bGNpQk5ZVzVuY205MlpRQklZWGtnSlhNZ1ptbGphR1Z5YndCSVlYa2dKWE1nWm1samFHVnliM01BUjNWMlppQjZZbkZvCitlWElnWTJWaWFYWnhjbVlnZG1GbmNtVmhibWQyWW1GdWVYWnRibWQyWW1FZ2JtRnhJSGxpY0c1NWRtMXVaM1ppWVFwbWFHTmpZbVZuCitJSE5pWlNCc1ltaGxJRU5zWjNWaVlTQmpaV0owWlc1NlppQnZiQ0JqWldKcGRuRjJZWFFnYm1FZ2RtRm5jbVZ6Ym5CeUlHZGlJR2QxCitjaUJVUVVnS2RISm5aM0pyWnlCNmNtWm1iblJ5SUhCdVoyNTVZblFnZVhadlpXNWxiQzRBWW1GamIyNEFkMmx1YXlCM2FXNXJBQT09CisnJycKKworIyBUaGlzIGRhdGEgY29udGFpbnMgYW4gaW52YWxpZCBtaW5vciB2ZXJzaW9uIG51bWJlciAoNykKKyMgQW4gdW5leHBlY3RlZCBtaW5vciB2ZXJzaW9uIG51bWJlciBvbmx5IGluZGljYXRlcyB0aGF0IHNvbWUgb2YgdGhlIGZpbGUncworIyBjb250ZW50cyBtYXkgbm90IGJlIGFibGUgdG8gYmUgcmVhZC4gSXQgZG9lcyBub3QgaW5kaWNhdGUgYW4gZXJyb3IuCisKK0dOVV9NT19EQVRBX0JBRF9NSU5PUl9WRVJTSU9OID0gYicnJ1wKKzNoSUVsUWNBQUFBR0FBQUFIQUFBQUV3QUFBQUxBQUFBZkFBQUFBQUFBQUNvQUFBQUZRQUFBS2tBQUFBakFBQUF2d0FBQUtFQUFBRGoKK0FBQUFCd0FBQUlVQkFBQUxBQUFBalFFQUFFVUJBQUNaQVFBQUZnQUFBTjhDQUFBZUFBQUE5Z0lBQUtFQUFBQVZBd0FBQlFBQUFMY0QKK0FBQUpBQUFBdlFNQUFBRUFBQUFEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVBQUFBQlFBQUFBWUFBQUFDQUFBQUFGSmgKK2VXMXZibVFnVEhWNGRYSjVJRmxoWTJndGRBQlVhR1Z5WlNCcGN5QWxjeUJtYVd4bEFGUm9aWEpsSUdGeVpTQWxjeUJtYVd4bGN3QlUKK2FHbHpJRzF2WkhWc1pTQndjbTkyYVdSbGN5QnBiblJsY201aGRHbHZibUZzYVhwaGRHbHZiaUJoYm1RZ2JHOWpZV3hwZW1GMGFXOXUKK0NuTjFjSEJ2Y25RZ1ptOXlJSGx2ZFhJZ1VIbDBhRzl1SUhCeWIyZHlZVzF6SUdKNUlIQnliM1pwWkdsdVp5QmhiaUJwYm5SbGNtWmgKK1kyVWdkRzhnZEdobElFZE9WUXBuWlhSMFpYaDBJRzFsYzNOaFoyVWdZMkYwWVd4dlp5QnNhV0p5WVhKNUxnQnRkV3hzZFhOckFHNTEKK1pHZGxJRzUxWkdkbEFGQnliMnBsWTNRdFNXUXRWbVZ5YzJsdmJqb2dNaTR3Q2xCUExWSmxkbWx6YVc5dUxVUmhkR1U2SURJd01EQXQKK01EZ3RNamtnTVRJNk1Ua3RNRFE2TURBS1RHRnpkQzFVY21GdWMyeGhkRzl5T2lCS0xpQkVZWFpwWkNCSllzT2h3N0ZsZWlBOGFpMWsKK1lYWnBaRUJ1YjI5ekxtWnlQZ3BNWVc1bmRXRm5aUzFVWldGdE9pQllXQ0E4Y0hsMGFHOXVMV1JsZGtCd2VYUm9iMjR1YjNKblBncE4KK1NVMUZMVlpsY25OcGIyNDZJREV1TUFwRGIyNTBaVzUwTFZSNWNHVTZJSFJsZUhRdmNHeGhhVzQ3SUdOb1lYSnpaWFE5YVhOdkxUZzQKK05Ua3RNUXBEYjI1MFpXNTBMVlJ5WVc1elptVnlMVVZ1WTI5a2FXNW5PaUJ1YjI1bENrZGxibVZ5WVhSbFpDMUNlVG9nY0hsblpYUjAKK1pYaDBMbkI1SURFdU1RcFFiSFZ5WVd3dFJtOXliWE02SUc1d2JIVnlZV3h6UFRJN0lIQnNkWEpoYkQxdUlUMHhPd29BVkdoeWIyRjAKK2QyOWlZbXhsY2lCTllXNW5jbTkyWlFCSVlYa2dKWE1nWm1samFHVnlid0JJWVhrZ0pYTWdabWxqYUdWeWIzTUFSM1YyWmlCNlluRm8KK2VYSWdZMlZpYVhaeGNtWWdkbUZuY21WaGJtZDJZbUZ1ZVhadGJtZDJZbUVnYm1GeElIbGljRzU1ZG0xdVozWmlZUXBtYUdOalltVm4KK0lITmlaU0JzWW1obElFTnNaM1ZpWVNCalpXSjBaVzU2WmlCdmJDQmpaV0pwZG5GMllYUWdibUVnZG1GbmNtVnpibkJ5SUdkaUlHZDEKK2NpQlVRVWdLZEhKblozSnJaeUI2Y21abWJuUnlJSEJ1WjI1NVluUWdlWFp2Wlc1bGJDNEFZbUZqYjI0QWQybHVheUIzYVc1ckFBPT0KKycnJworCisKIFVNT19EQVRBID0gYicnJ1wKIDNoSUVsUUFBQUFBQ0FBQUFIQUFBQUN3QUFBQUZBQUFBUEFBQUFBQUFBQUJRQUFBQUJBQUFBRkVBQUFBUEFRQUFWZ0FBQUFRQUFBQm0KIEFRQUFBUUFBQUFJQUFBQUFBQUFBQUFBQUFBQUFBQUFBWVdMRG5nQlFjbTlxWldOMExVbGtMVlpsY25OcGIyNDZJREl1TUFwUVR5MVMKQEAgLTU2LDYgKzEwNSw4IEBACiAKIExPQ0FMRURJUiA9IG9zLnBhdGguam9pbigneHgnLCAnTENfTUVTU0FHRVMnKQogTU9GSUxFID0gb3MucGF0aC5qb2luKExPQ0FMRURJUiwgJ2dldHRleHQubW8nKQorTU9GSUxFX0JBRF9NQUpPUl9WRVJTSU9OID0gb3MucGF0aC5qb2luKExPQ0FMRURJUiwgJ2dldHRleHRfYmFkX21ham9yX3ZlcnNpb24ubW8nKQorTU9GSUxFX0JBRF9NSU5PUl9WRVJTSU9OID0gb3MucGF0aC5qb2luKExPQ0FMRURJUiwgJ2dldHRleHRfYmFkX21pbm9yX3ZlcnNpb24ubW8nKQogVU1PRklMRSA9IG9zLnBhdGguam9pbihMT0NBTEVESVIsICd1Z2V0dGV4dC5tbycpCiBNTU9GSUxFID0gb3MucGF0aC5qb2luKExPQ0FMRURJUiwgJ21ldGFkYXRhLm1vJykKIApAQCAtNjYsNiArMTE3LDEwIEBACiAgICAgICAgICAgICBvcy5tYWtlZGlycyhMT0NBTEVESVIpCiAgICAgICAgIHdpdGggb3BlbihNT0ZJTEUsICd3YicpIGFzIGZwOgogICAgICAgICAgICAgZnAud3JpdGUoYmFzZTY0LmRlY29kZWJ5dGVzKEdOVV9NT19EQVRBKSkKKyAgICAgICAgd2l0aCBvcGVuKE1PRklMRV9CQURfTUFKT1JfVkVSU0lPTiwgJ3diJykgYXMgZnA6CisgICAgICAgICAgICBmcC53cml0ZShiYXNlNjQuZGVjb2RlYnl0ZXMoR05VX01PX0RBVEFfQkFEX01BSk9SX1ZFUlNJT04pKQorICAgICAgICB3aXRoIG9wZW4oTU9GSUxFX0JBRF9NSU5PUl9WRVJTSU9OLCAnd2InKSBhcyBmcDoKKyAgICAgICAgICAgIGZwLndyaXRlKGJhc2U2NC5kZWNvZGVieXRlcyhHTlVfTU9fREFUQV9CQURfTUlOT1JfVkVSU0lPTikpCiAgICAgICAgIHdpdGggb3BlbihVTU9GSUxFLCAnd2InKSBhcyBmcDoKICAgICAgICAgICAgIGZwLndyaXRlKGJhc2U2NC5kZWNvZGVieXRlcyhVTU9fREFUQSkpCiAgICAgICAgIHdpdGggb3BlbihNTU9GSUxFLCAnd2InKSBhcyBmcDoKQEAgLTE2Niw2ICsyMjEsMjEgQEAKICAgICBkZWYgdGVzdF90ZXh0ZG9tYWluKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdldHRleHQudGV4dGRvbWFpbigpLCAnZ2V0dGV4dCcpCiAKKyAgICBkZWYgdGVzdF9iYWRfbWFqb3JfdmVyc2lvbihzZWxmKToKKyAgICAgICAgd2l0aCBvcGVuKE1PRklMRV9CQURfTUFKT1JfVkVSU0lPTiwgJ3JiJykgYXMgZnA6CisgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgICAgIGdldHRleHQuR05VVHJhbnNsYXRpb25zKGZwKQorCisgICAgICAgICAgICBleGNlcHRpb24gPSBjbS5leGNlcHRpb24KKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhjZXB0aW9uLmVycm5vLCAwKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleGNlcHRpb24uc3RyZXJyb3IsICJCYWQgdmVyc2lvbiBudW1iZXIgNSIpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4Y2VwdGlvbi5maWxlbmFtZSwgTU9GSUxFX0JBRF9NQUpPUl9WRVJTSU9OKQorCisgICAgZGVmIHRlc3RfYmFkX21pbm9yX3ZlcnNpb24oc2VsZik6CisgICAgICAgIHdpdGggb3BlbihNT0ZJTEVfQkFEX01JTk9SX1ZFUlNJT04sICdyYicpIGFzIGZwOgorICAgICAgICAgICAgIyBDaGVjayB0aGF0IG5vIGVycm9yIGlzIHRocm93biB3aXRoIGEgYmFkIG1pbm9yIHZlcnNpb24gbnVtYmVyCisgICAgICAgICAgICBnZXR0ZXh0LkdOVVRyYW5zbGF0aW9ucyhmcCkKKwogICAgIGRlZiB0ZXN0X3NvbWVfdHJhbnNsYXRpb25zKHNlbGYpOgogICAgICAgICBlcSA9IHNlbGYuYXNzZXJ0RXF1YWwKICAgICAgICAgIyB0ZXN0IHNvbWUgdHJhbnNsYXRpb25zCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2dsb2IucHkgYi9MaWIvdGVzdC90ZXN0X2dsb2IucHkKaW5kZXggYTVhYjhkNi4uMjFiMDE1MyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9nbG9iLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfZ2xvYi5weQpAQCAtNCw4ICs0LDggQEAKIGltcG9ydCBzeXMKIGltcG9ydCB1bml0dGVzdAogCi1mcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgKHJ1bl91bml0dGVzdCwgVEVTVEZOLCBza2lwX3VubGVzc19zeW1saW5rLAotICAgICAgICAgICAgICAgICAgICAgICAgICBjYW5fc3ltbGluaywgY3JlYXRlX2VtcHR5X2ZpbGUpCitmcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgKFRFU1RGTiwgc2tpcF91bmxlc3Nfc3ltbGluaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY2FuX3N5bWxpbmssIGNyZWF0ZV9lbXB0eV9maWxlLCBjaGFuZ2VfY3dkKQogCiAKIGNsYXNzIEdsb2JUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CkBAIC0xMyw2ICsxMyw5IEBACiAgICAgZGVmIG5vcm0oc2VsZiwgKnBhcnRzKToKICAgICAgICAgcmV0dXJuIG9zLnBhdGgubm9ybXBhdGgob3MucGF0aC5qb2luKHNlbGYudGVtcGRpciwgKnBhcnRzKSkKIAorICAgIGRlZiBqb2lucyhzZWxmLCAqdHVwbGVzKToKKyAgICAgICAgcmV0dXJuIFtvcy5wYXRoLmpvaW4oc2VsZi50ZW1wZGlyLCAqcGFydHMpIGZvciBwYXJ0cyBpbiB0dXBsZXNdCisKICAgICBkZWYgbWt0ZW1wKHNlbGYsICpwYXJ0cyk6CiAgICAgICAgIGZpbGVuYW1lID0gc2VsZi5ub3JtKCpwYXJ0cykKICAgICAgICAgYmFzZSwgZmlsZSA9IG9zLnBhdGguc3BsaXQoZmlsZW5hbWUpCkBAIC0zOCwxNyArNDEsMTcgQEAKICAgICBkZWYgdGVhckRvd24oc2VsZik6CiAgICAgICAgIHNodXRpbC5ybXRyZWUoc2VsZi50ZW1wZGlyKQogCi0gICAgZGVmIGdsb2Ioc2VsZiwgKnBhcnRzKToKKyAgICBkZWYgZ2xvYihzZWxmLCAqcGFydHMsICoqa3dhcmdzKToKICAgICAgICAgaWYgbGVuKHBhcnRzKSA9PSAxOgogICAgICAgICAgICAgcGF0dGVybiA9IHBhcnRzWzBdCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBwYXR0ZXJuID0gb3MucGF0aC5qb2luKCpwYXJ0cykKICAgICAgICAgcCA9IG9zLnBhdGguam9pbihzZWxmLnRlbXBkaXIsIHBhdHRlcm4pCi0gICAgICAgIHJlcyA9IGdsb2IuZ2xvYihwKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpc3QoZ2xvYi5pZ2xvYihwKSksIHJlcykKKyAgICAgICAgcmVzID0gZ2xvYi5nbG9iKHAsICoqa3dhcmdzKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpc3QoZ2xvYi5pZ2xvYihwLCAqKmt3YXJncykpLCByZXMpCiAgICAgICAgIGJyZXMgPSBbb3MuZnNlbmNvZGUoeCkgZm9yIHggaW4gcmVzXQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdsb2IuZ2xvYihvcy5mc2VuY29kZShwKSksIGJyZXMpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlzdChnbG9iLmlnbG9iKG9zLmZzZW5jb2RlKHApKSksIGJyZXMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2xvYi5nbG9iKG9zLmZzZW5jb2RlKHApLCAqKmt3YXJncyksIGJyZXMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlzdChnbG9iLmlnbG9iKG9zLmZzZW5jb2RlKHApLCAqKmt3YXJncykpLCBicmVzKQogICAgICAgICByZXR1cm4gcmVzCiAKICAgICBkZWYgYXNzZXJ0U2VxdWVuY2VzRXF1YWxfbm9vcmRlcihzZWxmLCBsMSwgbDIpOgpAQCAtMTkyLDkgKzE5NSwxMTggQEAKICAgICAgICAgY2hlY2soJy8vPy9jOi8/JywgJy8vPy9jOi9bP10nKQogICAgICAgICBjaGVjaygnLy8qLyovKicsICcvLyovKi9bKl0nKQogCi1kZWYgdGVzdF9tYWluKCk6Ci0gICAgcnVuX3VuaXR0ZXN0KEdsb2JUZXN0cykKKyAgICBkZWYgcmdsb2Ioc2VsZiwgKnBhcnRzLCAqKmt3YXJncyk6CisgICAgICAgIHJldHVybiBzZWxmLmdsb2IoKnBhcnRzLCByZWN1cnNpdmU9VHJ1ZSwgKiprd2FyZ3MpCisKKyAgICBkZWYgdGVzdF9yZWN1cnNpdmVfZ2xvYihzZWxmKToKKyAgICAgICAgZXEgPSBzZWxmLmFzc2VydFNlcXVlbmNlc0VxdWFsX25vb3JkZXIKKyAgICAgICAgZnVsbCA9IFsoJ1paWicsKSwKKyAgICAgICAgICAgICAgICAoJ2EnLCksICgnYScsICdEJyksCisgICAgICAgICAgICAgICAgKCdhJywgJ2JjZCcpLAorICAgICAgICAgICAgICAgICgnYScsICdiY2QnLCAnRUYnKSwKKyAgICAgICAgICAgICAgICAoJ2EnLCAnYmNkJywgJ2VmZycpLAorICAgICAgICAgICAgICAgICgnYScsICdiY2QnLCAnZWZnJywgJ2hhJyksCisgICAgICAgICAgICAgICAgKCdhYWEnLCksICgnYWFhJywgJ3p6ekYnKSwKKyAgICAgICAgICAgICAgICAoJ2FhYicsKSwgKCdhYWInLCAnRicpLAorICAgICAgICAgICAgICAgXQorICAgICAgICBpZiBjYW5fc3ltbGluaygpOgorICAgICAgICAgICAgZnVsbCArPSBbKCdzeW0xJywpLCAoJ3N5bTInLCksCisgICAgICAgICAgICAgICAgICAgICAoJ3N5bTMnLCksCisgICAgICAgICAgICAgICAgICAgICAoJ3N5bTMnLCAnRUYnKSwKKyAgICAgICAgICAgICAgICAgICAgICgnc3ltMycsICdlZmcnKSwKKyAgICAgICAgICAgICAgICAgICAgICgnc3ltMycsICdlZmcnLCAnaGEnKSwKKyAgICAgICAgICAgICAgICAgICAgXQorICAgICAgICBlcShzZWxmLnJnbG9iKCcqKicpLCBzZWxmLmpvaW5zKCgnJywpLCAqZnVsbCkpCisgICAgICAgIGVxKHNlbGYucmdsb2IoJy4nLCAnKionKSwgc2VsZi5qb2lucygoJy4nLCcnKSwKKyAgICAgICAgICAgICooKCcuJywpICsgaSBmb3IgaSBpbiBmdWxsKSkpCisgICAgICAgIGRpcnMgPSBbKCdhJywgJycpLCAoJ2EnLCAnYmNkJywgJycpLCAoJ2EnLCAnYmNkJywgJ2VmZycsICcnKSwKKyAgICAgICAgICAgICAgICAoJ2FhYScsICcnKSwgKCdhYWInLCAnJyldCisgICAgICAgIGlmIGNhbl9zeW1saW5rKCk6CisgICAgICAgICAgICBkaXJzICs9IFsoJ3N5bTMnLCAnJyksICgnc3ltMycsICdlZmcnLCAnJyldCisgICAgICAgIGVxKHNlbGYucmdsb2IoJyoqJywgJycpLCBzZWxmLmpvaW5zKCgnJywpLCAqZGlycykpCisKKyAgICAgICAgZXEoc2VsZi5yZ2xvYignYScsICcqKicpLCBzZWxmLmpvaW5zKAorICAgICAgICAgICAgKCdhJywgJycpLCAoJ2EnLCAnRCcpLCAoJ2EnLCAnYmNkJyksICgnYScsICdiY2QnLCAnRUYnKSwKKyAgICAgICAgICAgICgnYScsICdiY2QnLCAnZWZnJyksICgnYScsICdiY2QnLCAnZWZnJywgJ2hhJykpKQorICAgICAgICBlcShzZWxmLnJnbG9iKCdhKionKSwgc2VsZi5qb2lucygoJ2EnLCksICgnYWFhJywpLCAoJ2FhYicsKSkpCisgICAgICAgIGV4cGVjdCA9IFsoJ2EnLCAnYmNkJywgJ0VGJyldCisgICAgICAgIGlmIGNhbl9zeW1saW5rKCk6CisgICAgICAgICAgICBleHBlY3QgKz0gWygnc3ltMycsICdFRicpXQorICAgICAgICBlcShzZWxmLnJnbG9iKCcqKicsICdFRicpLCBzZWxmLmpvaW5zKCpleHBlY3QpKQorICAgICAgICBleHBlY3QgPSBbKCdhJywgJ2JjZCcsICdFRicpLCAoJ2FhYScsICd6enpGJyksICgnYWFiJywgJ0YnKV0KKyAgICAgICAgaWYgY2FuX3N5bWxpbmsoKToKKyAgICAgICAgICAgIGV4cGVjdCArPSBbKCdzeW0zJywgJ0VGJyldCisgICAgICAgIGVxKHNlbGYucmdsb2IoJyoqJywgJypGJyksIHNlbGYuam9pbnMoKmV4cGVjdCkpCisgICAgICAgIGVxKHNlbGYucmdsb2IoJyoqJywgJypGJywgJycpLCBbXSkKKyAgICAgICAgZXEoc2VsZi5yZ2xvYignKionLCAnYmNkJywgJyonKSwgc2VsZi5qb2lucygKKyAgICAgICAgICAgICgnYScsICdiY2QnLCAnRUYnKSwgKCdhJywgJ2JjZCcsICdlZmcnKSkpCisgICAgICAgIGVxKHNlbGYucmdsb2IoJ2EnLCAnKionLCAnYmNkJyksIHNlbGYuam9pbnMoKCdhJywgJ2JjZCcpKSkKKworICAgICAgICBwcmVkaXIgPSBvcy5wYXRoLmFic3BhdGgob3MuY3VyZGlyKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBvcy5jaGRpcihzZWxmLnRlbXBkaXIpCisgICAgICAgICAgICBqb2luID0gb3MucGF0aC5qb2luCisgICAgICAgICAgICBlcShnbG9iLmdsb2IoJyoqJywgcmVjdXJzaXZlPVRydWUpLCBbam9pbigqaSkgZm9yIGkgaW4gZnVsbF0pCisgICAgICAgICAgICBlcShnbG9iLmdsb2Ioam9pbignKionLCAnJyksIHJlY3Vyc2l2ZT1UcnVlKSwKKyAgICAgICAgICAgICAgICBbam9pbigqaSkgZm9yIGkgaW4gZGlyc10pCisgICAgICAgICAgICBlcShnbG9iLmdsb2Ioam9pbignKionLCd6eipGJyksIHJlY3Vyc2l2ZT1UcnVlKSwKKyAgICAgICAgICAgICAgICBbam9pbignYWFhJywgJ3p6ekYnKV0pCisgICAgICAgICAgICBlcShnbG9iLmdsb2IoJyoqenoqRicsIHJlY3Vyc2l2ZT1UcnVlKSwgW10pCisgICAgICAgICAgICBleHBlY3QgPSBbam9pbignYScsICdiY2QnLCAnRUYnKV0KKyAgICAgICAgICAgIGlmIGNhbl9zeW1saW5rKCk6CisgICAgICAgICAgICAgICAgZXhwZWN0ICs9IFtqb2luKCdzeW0zJywgJ0VGJyldCisgICAgICAgICAgICBlcShnbG9iLmdsb2Ioam9pbignKionLCAnRUYnKSwgcmVjdXJzaXZlPVRydWUpLCBleHBlY3QpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBvcy5jaGRpcihwcmVkaXIpCisKKworQHNraXBfdW5sZXNzX3N5bWxpbmsKK2NsYXNzIFN5bWxpbmtMb29wR2xvYlRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiB0ZXN0X3NlbGZsaW5rKHNlbGYpOgorICAgICAgICB0ZW1wZGlyID0gVEVTVEZOICsgIl9kaXIiCisgICAgICAgIG9zLm1ha2VkaXJzKHRlbXBkaXIpCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChzaHV0aWwucm10cmVlLCB0ZW1wZGlyKQorICAgICAgICB3aXRoIGNoYW5nZV9jd2QodGVtcGRpcik6CisgICAgICAgICAgICBvcy5tYWtlZGlycygnZGlyJykKKyAgICAgICAgICAgIGNyZWF0ZV9lbXB0eV9maWxlKG9zLnBhdGguam9pbignZGlyJywgJ2ZpbGUnKSkKKyAgICAgICAgICAgIG9zLnN5bWxpbmsob3MuY3VyZGlyLCBvcy5wYXRoLmpvaW4oJ2RpcicsICdsaW5rJykpCisKKyAgICAgICAgICAgIHJlc3VsdHMgPSBnbG9iLmdsb2IoJyoqJywgcmVjdXJzaXZlPVRydWUpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihyZXN1bHRzKSwgbGVuKHNldChyZXN1bHRzKSkpCisgICAgICAgICAgICByZXN1bHRzID0gc2V0KHJlc3VsdHMpCisgICAgICAgICAgICBkZXB0aCA9IDAKKyAgICAgICAgICAgIHdoaWxlIHJlc3VsdHM6CisgICAgICAgICAgICAgICAgcGF0aCA9IG9zLnBhdGguam9pbigqKFsnZGlyJ10gKyBbJ2xpbmsnXSAqIGRlcHRoKSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEluKHBhdGgsIHJlc3VsdHMpCisgICAgICAgICAgICAgICAgcmVzdWx0cy5yZW1vdmUocGF0aCkKKyAgICAgICAgICAgICAgICBpZiBub3QgcmVzdWx0czoKKyAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgICAgICBwYXRoID0gb3MucGF0aC5qb2luKHBhdGgsICdmaWxlJykKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEluKHBhdGgsIHJlc3VsdHMpCisgICAgICAgICAgICAgICAgcmVzdWx0cy5yZW1vdmUocGF0aCkKKyAgICAgICAgICAgICAgICBkZXB0aCArPSAxCisKKyAgICAgICAgICAgIHJlc3VsdHMgPSBnbG9iLmdsb2Iob3MucGF0aC5qb2luKCcqKicsICdmaWxlJyksIHJlY3Vyc2l2ZT1UcnVlKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4ocmVzdWx0cyksIGxlbihzZXQocmVzdWx0cykpKQorICAgICAgICAgICAgcmVzdWx0cyA9IHNldChyZXN1bHRzKQorICAgICAgICAgICAgZGVwdGggPSAwCisgICAgICAgICAgICB3aGlsZSByZXN1bHRzOgorICAgICAgICAgICAgICAgIHBhdGggPSBvcy5wYXRoLmpvaW4oKihbJ2RpciddICsgWydsaW5rJ10gKiBkZXB0aCArIFsnZmlsZSddKSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEluKHBhdGgsIHJlc3VsdHMpCisgICAgICAgICAgICAgICAgcmVzdWx0cy5yZW1vdmUocGF0aCkKKyAgICAgICAgICAgICAgICBkZXB0aCArPSAxCisKKyAgICAgICAgICAgIHJlc3VsdHMgPSBnbG9iLmdsb2Iob3MucGF0aC5qb2luKCcqKicsICcnKSwgcmVjdXJzaXZlPVRydWUpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihyZXN1bHRzKSwgbGVuKHNldChyZXN1bHRzKSkpCisgICAgICAgICAgICByZXN1bHRzID0gc2V0KHJlc3VsdHMpCisgICAgICAgICAgICBkZXB0aCA9IDAKKyAgICAgICAgICAgIHdoaWxlIHJlc3VsdHM6CisgICAgICAgICAgICAgICAgcGF0aCA9IG9zLnBhdGguam9pbigqKFsnZGlyJ10gKyBbJ2xpbmsnXSAqIGRlcHRoICsgWycnXSkpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJbihwYXRoLCByZXN1bHRzKQorICAgICAgICAgICAgICAgIHJlc3VsdHMucmVtb3ZlKHBhdGgpCisgICAgICAgICAgICAgICAgZGVwdGggKz0gMQogCiAKIGlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6Ci0gICAgdGVzdF9tYWluKCkKKyAgICB1bml0dGVzdC5tYWluKCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfZ3JhbW1hci5weSBiL0xpYi90ZXN0L3Rlc3RfZ3JhbW1hci5weQppbmRleCA3MGQ4NWIxLi43MDY5ZmI5IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2dyYW1tYXIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9ncmFtbWFyLnB5CkBAIC0xMDE2LDYgKzEwMTYsMjAgQEAKICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZSgoRmFsc2UgaXMgMikgaXMgMykKICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShGYWxzZSBpcyAyIGlzIDMpCiAKKyAgICBkZWYgdGVzdF9tYXRyaXhfbXVsKHNlbGYpOgorICAgICAgICAjIFRoaXMgaXMgbm90IGludGVuZGVkIHRvIGJlIGEgY29tcHJlaGVuc2l2ZSB0ZXN0LCByYXRoZXIganVzdCB0byBiZSBmZXcKKyAgICAgICAgIyBzYW1wbGVzIG9mIHRoZSBAIG9wZXJhdG9yIGluIHRlc3RfZ3JhbW1hci5weS4KKyAgICAgICAgY2xhc3MgTToKKyAgICAgICAgICAgIGRlZiBfX21hdG11bF9fKHNlbGYsIG8pOgorICAgICAgICAgICAgICAgIHJldHVybiA0CisgICAgICAgICAgICBkZWYgX19pbWF0bXVsX18oc2VsZiwgbyk6CisgICAgICAgICAgICAgICAgc2VsZi5vdGhlciA9IG8KKyAgICAgICAgICAgICAgICByZXR1cm4gc2VsZgorICAgICAgICBtID0gTSgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobSBAIG0sIDQpCisgICAgICAgIG0gQD0gNDIKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtLm90aGVyLCA0MikKKwogCiBkZWYgdGVzdF9tYWluKCk6CiAgICAgcnVuX3VuaXR0ZXN0KFRva2VuVGVzdHMsIEdyYW1tYXJUZXN0cykKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaGVhcHEucHkgYi9MaWIvdGVzdC90ZXN0X2hlYXBxLnB5CmluZGV4IGI1YTJmZDguLjBkY2Q4YzUgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaGVhcHEucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9oZWFwcS5weQpAQCAtNiwxNCArNiwxNSBAQAogCiBmcm9tIHRlc3QgaW1wb3J0IHN1cHBvcnQKIGZyb20gdW5pdHRlc3QgaW1wb3J0IFRlc3RDYXNlLCBza2lwVW5sZXNzCitmcm9tIG9wZXJhdG9yIGltcG9ydCBpdGVtZ2V0dGVyCiAKIHB5X2hlYXBxID0gc3VwcG9ydC5pbXBvcnRfZnJlc2hfbW9kdWxlKCdoZWFwcScsIGJsb2NrZWQ9WydfaGVhcHEnXSkKIGNfaGVhcHEgPSBzdXBwb3J0LmltcG9ydF9mcmVzaF9tb2R1bGUoJ2hlYXBxJywgZnJlc2g9WydfaGVhcHEnXSkKIAogIyBfaGVhcHEubmxhcmdlc3QvbnNtYWxsZXN0IGFyZSBzYXZlZCBpbiBoZWFwcS5fbmxhcmdlc3QvX3NtYWxsZXN0IHdoZW4KICMgX2hlYXBxIGlzIGltcG9ydGVkLCBzbyBjaGVjayB0aGVtIHRoZXJlCi1mdW5jX25hbWVzID0gWydoZWFwaWZ5JywgJ2hlYXBwb3AnLCAnaGVhcHB1c2gnLCAnaGVhcHB1c2hwb3AnLAotICAgICAgICAgICAgICAnaGVhcHJlcGxhY2UnLCAnX25sYXJnZXN0JywgJ19uc21hbGxlc3QnXQorZnVuY19uYW1lcyA9IFsnaGVhcGlmeScsICdoZWFwcG9wJywgJ2hlYXBwdXNoJywgJ2hlYXBwdXNocG9wJywgJ2hlYXByZXBsYWNlJywKKyAgICAgICAgICAgICAgJ19oZWFwcG9wX21heCcsICdfaGVhcHJlcGxhY2VfbWF4JywgJ19oZWFwaWZ5X21heCddCiAKIGNsYXNzIFRlc3RNb2R1bGVzKFRlc3RDYXNlKToKICAgICBkZWYgdGVzdF9weV9mdW5jdGlvbnMoc2VsZik6CkBAIC0xNTIsMTEgKzE1MywyMSBAQAogCiAgICAgZGVmIHRlc3RfbWVyZ2Uoc2VsZik6CiAgICAgICAgIGlucHV0cyA9IFtdCi0gICAgICAgIGZvciBpIGluIHJhbmdlKHJhbmRvbS5yYW5kcmFuZ2UoNSkpOgotICAgICAgICAgICAgcm93ID0gc29ydGVkKHJhbmRvbS5yYW5kcmFuZ2UoMTAwMCkgZm9yIGogaW4gcmFuZ2UocmFuZG9tLnJhbmRyYW5nZSgxMCkpKQorICAgICAgICBmb3IgaSBpbiByYW5nZShyYW5kb20ucmFuZHJhbmdlKDI1KSk6CisgICAgICAgICAgICByb3cgPSBbXQorICAgICAgICAgICAgZm9yIGogaW4gcmFuZ2UocmFuZG9tLnJhbmRyYW5nZSgxMDApKToKKyAgICAgICAgICAgICAgICB0dXAgPSByYW5kb20uY2hvaWNlKCdBQkMnKSwgcmFuZG9tLnJhbmRyYW5nZSgtNTAwLCA1MDApCisgICAgICAgICAgICAgICAgcm93LmFwcGVuZCh0dXApCiAgICAgICAgICAgICBpbnB1dHMuYXBwZW5kKHJvdykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzb3J0ZWQoY2hhaW4oKmlucHV0cykpLCBsaXN0KHNlbGYubW9kdWxlLm1lcmdlKCppbnB1dHMpKSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaXN0KHNlbGYubW9kdWxlLm1lcmdlKCkpLCBbXSkKKworICAgICAgICBmb3Iga2V5IGluIFtOb25lLCBpdGVtZ2V0dGVyKDApLCBpdGVtZ2V0dGVyKDEpLCBpdGVtZ2V0dGVyKDEsIDApXToKKyAgICAgICAgICAgIGZvciByZXZlcnNlIGluIFtGYWxzZSwgVHJ1ZV06CisgICAgICAgICAgICAgICAgc2VxcyA9IFtdCisgICAgICAgICAgICAgICAgZm9yIHNlcSBpbiBpbnB1dHM6CisgICAgICAgICAgICAgICAgICAgIHNlcXMuYXBwZW5kKHNvcnRlZChzZXEsIGtleT1rZXksIHJldmVyc2U9cmV2ZXJzZSkpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzb3J0ZWQoY2hhaW4oKmlucHV0cyksIGtleT1rZXksIHJldmVyc2U9cmV2ZXJzZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0KHNlbGYubW9kdWxlLm1lcmdlKCpzZXFzLCBrZXk9a2V5LCByZXZlcnNlPXJldmVyc2UpKSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpc3Qoc2VsZi5tb2R1bGUubWVyZ2UoKSksIFtdKQogCiAgICAgZGVmIHRlc3RfbWVyZ2VfZG9lc19ub3Rfc3VwcHJlc3NfaW5kZXhfZXJyb3Ioc2VsZik6CiAgICAgICAgICMgSXNzdWUgMTkwMTg6IEhlYXBxLm1lcmdlIHN1cHByZXNzZXMgSW5kZXhFcnJvciBmcm9tIHVzZXIgZ2VuZXJhdG9yCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2h0bWxwYXJzZXIucHkgYi9MaWIvdGVzdC90ZXN0X2h0bWxwYXJzZXIucHkKaW5kZXggMmQ3NzFhMi4uZGU4ZjNlOCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9odG1scGFyc2VyLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfaHRtbHBhcnNlci5weQpAQCAtODUsNyArODUsNyBAQAogY2xhc3MgVGVzdENhc2VCYXNlKHVuaXR0ZXN0LlRlc3RDYXNlKToKIAogICAgIGRlZiBnZXRfY29sbGVjdG9yKHNlbGYpOgotICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yCisgICAgICAgIHJldHVybiBFdmVudENvbGxlY3Rvcihjb252ZXJ0X2NoYXJyZWZzPUZhbHNlKQogCiAgICAgZGVmIF9ydW5fY2hlY2soc2VsZiwgc291cmNlLCBleHBlY3RlZF9ldmVudHMsIGNvbGxlY3Rvcj1Ob25lKToKICAgICAgICAgaWYgY29sbGVjdG9yIGlzIE5vbmU6CkBAIC0xMDUsMjEgKzEwNSw4IEBACiAgICAgICAgIHNlbGYuX3J1bl9jaGVjayhzb3VyY2UsIGV2ZW50cywKICAgICAgICAgICAgICAgICAgICAgICAgIEV2ZW50Q29sbGVjdG9yRXh0cmEoY29udmVydF9jaGFycmVmcz1GYWxzZSkpCiAKLSAgICBkZWYgX3BhcnNlX2Vycm9yKHNlbGYsIHNvdXJjZSk6Ci0gICAgICAgIGRlZiBwYXJzZShzb3VyY2U9c291cmNlKToKLSAgICAgICAgICAgIHBhcnNlciA9IHNlbGYuZ2V0X2NvbGxlY3RvcigpCi0gICAgICAgICAgICBwYXJzZXIuZmVlZChzb3VyY2UpCi0gICAgICAgICAgICBwYXJzZXIuY2xvc2UoKQotICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKGh0bWwucGFyc2VyLkhUTUxQYXJzZUVycm9yKToKLSAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRXYXJucyhEZXByZWNhdGlvbldhcm5pbmcpOgotICAgICAgICAgICAgICAgIHBhcnNlKCkKIAotCi1jbGFzcyBIVE1MUGFyc2VyU3RyaWN0VGVzdENhc2UoVGVzdENhc2VCYXNlKToKLQotICAgIGRlZiBnZXRfY29sbGVjdG9yKHNlbGYpOgotICAgICAgICB3aXRoIHN1cHBvcnQuY2hlY2tfd2FybmluZ3MoKCIiLCBEZXByZWNhdGlvbldhcm5pbmcpLCBxdWl0ZT1GYWxzZSk6Ci0gICAgICAgICAgICByZXR1cm4gRXZlbnRDb2xsZWN0b3Ioc3RyaWN0PVRydWUsIGNvbnZlcnRfY2hhcnJlZnM9RmFsc2UpCitjbGFzcyBIVE1MUGFyc2VyVGVzdENhc2UoVGVzdENhc2VCYXNlKToKIAogICAgIGRlZiB0ZXN0X3Byb2Nlc3NpbmdfaW5zdHJ1Y3Rpb25fb25seShzZWxmKToKICAgICAgICAgc2VsZi5fcnVuX2NoZWNrKCI8P3Byb2Nlc3NpbmcgaW5zdHJ1Y3Rpb24+IiwgWwpAQCAtMjAxLDkgKzE4OCw2IEBACiAgICAgICAgICAgICAoImRhdGEiLCAidGhpcyA8IHRleHQgPiBjb250YWlucyA8IGJhcmU+cG9pbnR5PCBicmFja2V0cyIpLAogICAgICAgICAgICAgXSkKIAotICAgIGRlZiB0ZXN0X2lsbGVnYWxfZGVjbGFyYXRpb25zKHNlbGYpOgotICAgICAgICBzZWxmLl9wYXJzZV9lcnJvcignPCFzcGFjZXIgdHlwZT0iYmxvY2siIGhlaWdodD0iMjUiPicpCi0KICAgICBkZWYgdGVzdF9zdGFydHRhZ19lbmRfYm91bmRhcnkoc2VsZik6CiAgICAgICAgIHNlbGYuX3J1bl9jaGVjaygiIiI8YSBiPSc8Jz4iIiIsIFsoInN0YXJ0dGFnIiwgImEiLCBbKCJiIiwgIjwiKV0pXSkKICAgICAgICAgc2VsZi5fcnVuX2NoZWNrKCIiIjxhIGI9Jz4nPiIiIiwgWygic3RhcnR0YWciLCAiYSIsIFsoImIiLCAiPiIpXSldKQpAQCAtMjM4LDI1ICsyMjIsNiBAQAogICAgICAgICBzZWxmLl9ydW5fY2hlY2soWyI8IS0tYWJjLS0iLCAiPiJdLCBvdXRwdXQpCiAgICAgICAgIHNlbGYuX3J1bl9jaGVjayhbIjwhLS1hYmMtLT4iLCAiIl0sIG91dHB1dCkKIAotICAgIGRlZiB0ZXN0X3N0YXJ0dGFnX2p1bmtfY2hhcnMoc2VsZik6Ci0gICAgICAgIHNlbGYuX3BhcnNlX2Vycm9yKCI8Lz4iKQotICAgICAgICBzZWxmLl9wYXJzZV9lcnJvcigiPC8kPiIpCi0gICAgICAgIHNlbGYuX3BhcnNlX2Vycm9yKCI8LyIpCi0gICAgICAgIHNlbGYuX3BhcnNlX2Vycm9yKCI8L2EiKQotICAgICAgICBzZWxmLl9wYXJzZV9lcnJvcigiPGE8YT4iKQotICAgICAgICBzZWxmLl9wYXJzZV9lcnJvcigiPC9hPGE+IikKLSAgICAgICAgc2VsZi5fcGFyc2VfZXJyb3IoIjwhIikKLSAgICAgICAgc2VsZi5fcGFyc2VfZXJyb3IoIjxhIikKLSAgICAgICAgc2VsZi5fcGFyc2VfZXJyb3IoIjxhIGZvbz0nYmFyJyIpCi0gICAgICAgIHNlbGYuX3BhcnNlX2Vycm9yKCI8YSBmb289J2JhciIpCi0gICAgICAgIHNlbGYuX3BhcnNlX2Vycm9yKCI8YSBmb289Jz4nIikKLSAgICAgICAgc2VsZi5fcGFyc2VfZXJyb3IoIjxhIGZvbz0nPiIpCi0gICAgICAgIHNlbGYuX3BhcnNlX2Vycm9yKCI8YSQ+IikKLSAgICAgICAgc2VsZi5fcGFyc2VfZXJyb3IoIjxhJGI+IikKLSAgICAgICAgc2VsZi5fcGFyc2VfZXJyb3IoIjxhJGIvPiIpCi0gICAgICAgIHNlbGYuX3BhcnNlX2Vycm9yKCI8YSRiICA+IikKLSAgICAgICAgc2VsZi5fcGFyc2VfZXJyb3IoIjxhJGIgIC8+IikKLQogICAgIGRlZiB0ZXN0X3ZhbGlkX2RvY3R5cGVzKHNlbGYpOgogICAgICAgICAjIGZyb20gaHR0cDovL3d3dy53My5vcmcvUUEvMjAwMi8wNC92YWxpZC1kdGQtbGlzdC5odG1sCiAgICAgICAgIGR0ZHMgPSBbJ0hUTUwnLCAgIyBIVE1MNSBkb2N0eXBlCkBAIC0yODEsOSArMjQ2LDYgQEAKICAgICAgICAgICAgIHNlbGYuX3J1bl9jaGVjaygiPCFET0NUWVBFICVzPiIgJSBkdGQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWygnZGVjbCcsICdET0NUWVBFICcgKyBkdGQpXSkKIAotICAgIGRlZiB0ZXN0X2RlY2xhcmF0aW9uX2p1bmtfY2hhcnMoc2VsZik6Ci0gICAgICAgIHNlbGYuX3BhcnNlX2Vycm9yKCI8IURPQ1RZUEUgZm9vICQgPiIpCi0KICAgICBkZWYgdGVzdF9zdGFydGVuZHRhZyhzZWxmKToKICAgICAgICAgc2VsZi5fcnVuX2NoZWNrKCI8cC8+IiwgWwogICAgICAgICAgICAgKCJzdGFydGVuZHRhZyIsICJwIiwgW10pLApAQCAtMzg0LDcgKzM0Niw4IEBACiAgICAgICAgIHNlbGYuX3J1bl9jaGVjayhodG1sLCBleHBlY3RlZCkKIAogICAgIGRlZiB0ZXN0X2NvbnZlcnRfY2hhcnJlZnMoc2VsZik6Ci0gICAgICAgIGNvbGxlY3RvciA9IGxhbWJkYTogRXZlbnRDb2xsZWN0b3JDaGFycmVmcyhjb252ZXJ0X2NoYXJyZWZzPVRydWUpCisgICAgICAgICMgZGVmYXVsdCB2YWx1ZSBmb3IgY29udmVydF9jaGFycmVmcyBpcyBub3cgVHJ1ZQorICAgICAgICBjb2xsZWN0b3IgPSBsYW1iZGE6IEV2ZW50Q29sbGVjdG9yQ2hhcnJlZnMoKQogICAgICAgICBzZWxmLmFzc2VydFRydWUoY29sbGVjdG9yKCkuY29udmVydF9jaGFycmVmcykKICAgICAgICAgY2hhcnJlZnMgPSBbJyZxdW90OycsICcmIzM0OycsICcmI3gyMjsnLCAnJnF1b3QnLCAnJiMzNCcsICcmI3gyMiddCiAgICAgICAgICMgY2hlY2sgY2hhcnJlZnMgaW4gdGhlIG1pZGRsZSBvZiB0aGUgdGV4dC9hdHRyaWJ1dGVzCkBAIC00MjEsMjMgKzM4NCw4IEBACiAgICAgICAgIHNlbGYuX3J1bl9jaGVjaygnbm8gY2hhcnJlZnMgaGVyZScsIFsoJ2RhdGEnLCAnbm8gY2hhcnJlZnMgaGVyZScpXSwKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbGxlY3Rvcj1jb2xsZWN0b3IoKSkKIAotCi1jbGFzcyBIVE1MUGFyc2VyVG9sZXJhbnRUZXN0Q2FzZShIVE1MUGFyc2VyU3RyaWN0VGVzdENhc2UpOgotCi0gICAgZGVmIGdldF9jb2xsZWN0b3Ioc2VsZik6Ci0gICAgICAgIHJldHVybiBFdmVudENvbGxlY3Rvcihjb252ZXJ0X2NoYXJyZWZzPUZhbHNlKQotCi0gICAgZGVmIHRlc3RfZGVwcmVjYXRpb25fd2FybmluZ3Moc2VsZik6Ci0gICAgICAgIHdpdGggc2VsZi5hc3NlcnRXYXJucyhEZXByZWNhdGlvbldhcm5pbmcpOgotICAgICAgICAgICAgRXZlbnRDb2xsZWN0b3IoKSAgIyBjb252ZXJ0X2NoYXJyZWZzIG5vdCBwYXNzZWQgZXhwbGljaXRseQotICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0V2FybnMoRGVwcmVjYXRpb25XYXJuaW5nKToKLSAgICAgICAgICAgIEV2ZW50Q29sbGVjdG9yKHN0cmljdD1UcnVlKQotICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0V2FybnMoRGVwcmVjYXRpb25XYXJuaW5nKToKLSAgICAgICAgICAgIEV2ZW50Q29sbGVjdG9yKHN0cmljdD1GYWxzZSkKLSAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhodG1sLnBhcnNlci5IVE1MUGFyc2VFcnJvcik6Ci0gICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0V2FybnMoRGVwcmVjYXRpb25XYXJuaW5nKToKLSAgICAgICAgICAgICAgICBFdmVudENvbGxlY3RvcigpLmVycm9yKCd0ZXN0JykKLQorICAgICMgdGhlIHJlbWFpbmluZyB0ZXN0cyB3ZXJlIGZvciB0aGUgInRvbGVyYW50IiBwYXJzZXIgKHdoaWNoIGlzIG5vdworICAgICMgdGhlIGRlZmF1bHQpLCBhbmQgY2hlY2sgdmFyaW91cyBraW5kIG9mIGJyb2tlbiBtYXJrdXAKICAgICBkZWYgdGVzdF90b2xlcmFudF9wYXJzaW5nKHNlbGYpOgogICAgICAgICBzZWxmLl9ydW5fY2hlY2soJzxodG1sIDxodG1sPnRlPj54dCZhPDxiYzwvYT48L2h0bWw+XG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAnPGltZyBzcmM9IlVSTD48Ly9pbWc+PC9odG1sPC9odG1sPicsIFsKQEAgLTY4NiwxMSArNjM0LDcgQEAKICAgICAgICAgc2VsZi5fcnVuX2NoZWNrKGh0bWwsIGV4cGVjdGVkKQogCiAKLWNsYXNzIEF0dHJpYnV0ZXNTdHJpY3RUZXN0Q2FzZShUZXN0Q2FzZUJhc2UpOgotCi0gICAgZGVmIGdldF9jb2xsZWN0b3Ioc2VsZik6Ci0gICAgICAgIHdpdGggc3VwcG9ydC5jaGVja193YXJuaW5ncygoIiIsIERlcHJlY2F0aW9uV2FybmluZyksIHF1aXRlPUZhbHNlKToKLSAgICAgICAgICAgIHJldHVybiBFdmVudENvbGxlY3RvcihzdHJpY3Q9VHJ1ZSwgY29udmVydF9jaGFycmVmcz1GYWxzZSkKK2NsYXNzIEF0dHJpYnV0ZXNUZXN0Q2FzZShUZXN0Q2FzZUJhc2UpOgogCiAgICAgZGVmIHRlc3RfYXR0cl9zeW50YXgoc2VsZik6CiAgICAgICAgIG91dHB1dCA9IFsKQEAgLTc0NywxMiArNjkxLDYgQEAKICAgICAgICAgICAgIFsoInN0YXJ0dGFnIiwgImh0bWwiLCBbKCJmb28iLCAiXHUyMEFDJmFhJnVuc3VwcG9ydGVkOyIpXSldKQogCiAKLQotY2xhc3MgQXR0cmlidXRlc1RvbGVyYW50VGVzdENhc2UoQXR0cmlidXRlc1N0cmljdFRlc3RDYXNlKToKLQotICAgIGRlZiBnZXRfY29sbGVjdG9yKHNlbGYpOgotICAgICAgICByZXR1cm4gRXZlbnRDb2xsZWN0b3IoY29udmVydF9jaGFycmVmcz1GYWxzZSkKLQogICAgIGRlZiB0ZXN0X2F0dHJfZnVua3lfbmFtZXMyKHNlbGYpOgogICAgICAgICBzZWxmLl9ydW5fY2hlY2soCiAgICAgICAgICAgICAiPGEgJD48YiAkPSU+PGMgXD0vPiIsCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2h0dHBfY29va2llcy5weSBiL0xpYi90ZXN0L3Rlc3RfaHR0cF9jb29raWVzLnB5CmluZGV4IGU5ODQyNTIuLmVlMzBmMTcgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaHR0cF9jb29raWVzLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfaHR0cF9jb29raWVzLnB5CkBAIC0xNDEsMTMgKzE0MSw2IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoQ1snZWdncyddWydodHRwb25seSddLCAnZm9vJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChDWydlZ2dzJ11bJ3NlY3VyZSddLCAnYmFyJykKIAotICAgIGRlZiB0ZXN0X2JhZF9hdHRycyhzZWxmKToKLSAgICAgICAgIyBpc3N1ZSAxNjYxMTogbWFrZSBzdXJlIHdlIGRvbid0IGJyZWFrIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkuCi0gICAgICAgIEMgPSBjb29raWVzLlNpbXBsZUNvb2tpZSgpCi0gICAgICAgIEMubG9hZCgnY29va2llPXdpdGg7IGludmFsaWQ7IHZlcnNpb247IHNlY29uZD1jb29raWU7JykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChDLm91dHB1dCgpLAotICAgICAgICAgICAgJ1NldC1Db29raWU6IGNvb2tpZT13aXRoXHJcblNldC1Db29raWU6IHNlY29uZD1jb29raWUnKQotCiAgICAgZGVmIHRlc3RfZXh0cmFfc3BhY2VzKHNlbGYpOgogICAgICAgICBDID0gY29va2llcy5TaW1wbGVDb29raWUoKQogICAgICAgICBDLmxvYWQoJ2VnZ3MgID0gIHNjcmFtYmxlZCAgOyAgc2VjdXJlICA7ICBwYXRoICA9ICBiYXIgICA7IGZvbz1mb28gICAnKQpAQCAtMTgyLDcgKzE3NSwxMCBAQAogICAgIGRlZiB0ZXN0X2ludmFsaWRfY29va2llcyhzZWxmKToKICAgICAgICAgIyBBY2NlcHRpbmcgdGhlc2UgY291bGQgYmUgYSBzZWN1cml0eSBpc3N1ZQogICAgICAgICBDID0gY29va2llcy5TaW1wbGVDb29raWUoKQotICAgICAgICBmb3IgcyBpbiAoJ11mb289eCcsICdbZm9vPXgnLCAnYmxhaF1mb289eCcsICdibGFoW2Zvbz14Jyk6CisgICAgICAgIGZvciBzIGluICgnXWZvbz14JywgJ1tmb289eCcsICdibGFoXWZvbz14JywgJ2JsYWhbZm9vPXgnLAorICAgICAgICAgICAgICAgICAgJ1NldC1Db29raWU6IGZvbz1iYXInLCAnU2V0LUNvb2tpZTogZm9vJywKKyAgICAgICAgICAgICAgICAgICdmb289YmFyOyBiYXonLCAnYmF6OyBmb289YmFyJywKKyAgICAgICAgICAgICAgICAgICdzZWN1cmU7Zm9vPWJhcicsICdWZXJzaW9uPTE7Zm9vPWJhcicpOgogICAgICAgICAgICAgQy5sb2FkKHMpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRpY3QoQyksIHt9KQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChDLm91dHB1dCgpLCAnJykKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaHR0cGxpYi5weSBiL0xpYi90ZXN0L3Rlc3RfaHR0cGxpYi5weQppbmRleCAzZmMzNDY2Li40MGVmMjUwIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2h0dHBsaWIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9odHRwbGliLnB5CkBAIC0xOCw2ICsxOCwyNiBAQAogIyBTZWxmLXNpZ25lZCBjZXJ0IGZpbGUgZm9yIHNlbGYtc2lnbmVkLnB5dGhvbnRlc3QubmV0CiBDRVJUX3NlbGZzaWduZWRfcHl0aG9udGVzdGRvdG5ldCA9IG9zLnBhdGguam9pbihoZXJlLCAnc2VsZnNpZ25lZF9weXRob250ZXN0ZG90bmV0LnBlbScpCiAKKyMgY29uc3RhbnRzIGZvciB0ZXN0aW5nIGNodW5rZWQgZW5jb2RpbmcKK2NodW5rZWRfc3RhcnQgPSAoCisgICAgJ0hUVFAvMS4xIDIwMCBPS1xyXG4nCisgICAgJ1RyYW5zZmVyLUVuY29kaW5nOiBjaHVua2VkXHJcblxyXG4nCisgICAgJ2FcclxuJworICAgICdoZWxsbyB3b3JsXHJcbicKKyAgICAnM1xyXG4nCisgICAgJ2QhIFxyXG4nCisgICAgJzhcclxuJworICAgICdhbmQgbm93IFxyXG4nCisgICAgJzIyXHJcbicKKyAgICAnZm9yIHNvbWV0aGluZyBjb21wbGV0ZWx5IGRpZmZlcmVudFxyXG4nCispCitjaHVua2VkX2V4cGVjdGVkID0gYidoZWxsbyB3b3JsZCEgYW5kIG5vdyBmb3Igc29tZXRoaW5nIGNvbXBsZXRlbHkgZGlmZmVyZW50JworY2h1bmtfZXh0ZW5zaW9uID0gIjtmb289YmFyIgorbGFzdF9jaHVuayA9ICIwXHJcbiIKK2xhc3RfY2h1bmtfZXh0ZW5kZWQgPSAiMCIgKyBjaHVua19leHRlbnNpb24gKyAiXHJcbiIKK3RyYWlsZXJzID0gIlgtRHVtbXk6IGZvb1xyXG5YLUR1bW0yOiBiYXJcclxuIgorY2h1bmtlZF9lbmQgPSAiXHJcbiIKKwogSE9TVCA9IHN1cHBvcnQuSE9TVAogCiBjbGFzcyBGYWtlU29ja2V0OgpAQCAtNTAsNiArNzAsOSBAQAogICAgIGRlZiBjbG9zZShzZWxmKToKICAgICAgICAgcGFzcwogCisgICAgZGVmIHNldHNvY2tvcHQoc2VsZiwgbGV2ZWwsIG9wdG5hbWUsIHZhbHVlKToKKyAgICAgICAgcGFzcworCiBjbGFzcyBFUGlwZVNvY2tldChGYWtlU29ja2V0KToKIAogICAgIGRlZiBfX2luaXRfXyhzZWxmLCB0ZXh0LCBwaXBlX3RyaWdnZXIpOgpAQCAtNDUyLDIwICs0NzUsOCBAQAogICAgICAgICAgICAgY29ubi5yZXF1ZXN0KCdQT1NUJywgJ3Rlc3QnLCBjb25uKQogCiAgICAgZGVmIHRlc3RfY2h1bmtlZChzZWxmKToKLSAgICAgICAgY2h1bmtlZF9zdGFydCA9ICgKLSAgICAgICAgICAgICdIVFRQLzEuMSAyMDAgT0tcclxuJwotICAgICAgICAgICAgJ1RyYW5zZmVyLUVuY29kaW5nOiBjaHVua2VkXHJcblxyXG4nCi0gICAgICAgICAgICAnYVxyXG4nCi0gICAgICAgICAgICAnaGVsbG8gd29ybFxyXG4nCi0gICAgICAgICAgICAnM1xyXG4nCi0gICAgICAgICAgICAnZCEgXHJcbicKLSAgICAgICAgICAgICc4XHJcbicKLSAgICAgICAgICAgICdhbmQgbm93IFxyXG4nCi0gICAgICAgICAgICAnMjJcclxuJwotICAgICAgICAgICAgJ2ZvciBzb21ldGhpbmcgY29tcGxldGVseSBkaWZmZXJlbnRcclxuJwotICAgICAgICApCi0gICAgICAgIGV4cGVjdGVkID0gYidoZWxsbyB3b3JsZCEgYW5kIG5vdyBmb3Igc29tZXRoaW5nIGNvbXBsZXRlbHkgZGlmZmVyZW50JwotICAgICAgICBzb2NrID0gRmFrZVNvY2tldChjaHVua2VkX3N0YXJ0ICsgJzBcclxuJykKKyAgICAgICAgZXhwZWN0ZWQgPSBjaHVua2VkX2V4cGVjdGVkCisgICAgICAgIHNvY2sgPSBGYWtlU29ja2V0KGNodW5rZWRfc3RhcnQgKyBsYXN0X2NodW5rICsgY2h1bmtlZF9lbmQpCiAgICAgICAgIHJlc3AgPSBjbGllbnQuSFRUUFJlc3BvbnNlKHNvY2ssIG1ldGhvZD0iR0VUIikKICAgICAgICAgcmVzcC5iZWdpbigpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzcC5yZWFkKCksIGV4cGVjdGVkKQpAQCAtNDczLDcgKzQ4NCw3IEBACiAKICAgICAgICAgIyBWYXJpb3VzIHJlYWQgc2l6ZXMKICAgICAgICAgZm9yIG4gaW4gcmFuZ2UoMSwgMTIpOgotICAgICAgICAgICAgc29jayA9IEZha2VTb2NrZXQoY2h1bmtlZF9zdGFydCArICcwXHJcbicpCisgICAgICAgICAgICBzb2NrID0gRmFrZVNvY2tldChjaHVua2VkX3N0YXJ0ICsgbGFzdF9jaHVuayArIGNodW5rZWRfZW5kKQogICAgICAgICAgICAgcmVzcCA9IGNsaWVudC5IVFRQUmVzcG9uc2Uoc29jaywgbWV0aG9kPSJHRVQiKQogICAgICAgICAgICAgcmVzcC5iZWdpbigpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3AucmVhZChuKSArIHJlc3AucmVhZChuKSArIHJlc3AucmVhZCgpLCBleHBlY3RlZCkKQEAgLTQ5NiwyMyArNTA3LDEyIEBACiAgICAgICAgICAgICAgICAgcmVzcC5jbG9zZSgpCiAKICAgICBkZWYgdGVzdF9yZWFkaW50b19jaHVua2VkKHNlbGYpOgotICAgICAgICBjaHVua2VkX3N0YXJ0ID0gKAotICAgICAgICAgICAgJ0hUVFAvMS4xIDIwMCBPS1xyXG4nCi0gICAgICAgICAgICAnVHJhbnNmZXItRW5jb2Rpbmc6IGNodW5rZWRcclxuXHJcbicKLSAgICAgICAgICAgICdhXHJcbicKLSAgICAgICAgICAgICdoZWxsbyB3b3JsXHJcbicKLSAgICAgICAgICAgICczXHJcbicKLSAgICAgICAgICAgICdkISBcclxuJwotICAgICAgICAgICAgJzhcclxuJwotICAgICAgICAgICAgJ2FuZCBub3cgXHJcbicKLSAgICAgICAgICAgICcyMlxyXG4nCi0gICAgICAgICAgICAnZm9yIHNvbWV0aGluZyBjb21wbGV0ZWx5IGRpZmZlcmVudFxyXG4nCi0gICAgICAgICkKLSAgICAgICAgZXhwZWN0ZWQgPSBiJ2hlbGxvIHdvcmxkISBhbmQgbm93IGZvciBzb21ldGhpbmcgY29tcGxldGVseSBkaWZmZXJlbnQnCisKKyAgICAgICAgZXhwZWN0ZWQgPSBjaHVua2VkX2V4cGVjdGVkCiAgICAgICAgIG5leHBlY3RlZCA9IGxlbihleHBlY3RlZCkKICAgICAgICAgYiA9IGJ5dGVhcnJheSgxMjgpCiAKLSAgICAgICAgc29jayA9IEZha2VTb2NrZXQoY2h1bmtlZF9zdGFydCArICcwXHJcbicpCisgICAgICAgIHNvY2sgPSBGYWtlU29ja2V0KGNodW5rZWRfc3RhcnQgKyBsYXN0X2NodW5rICsgY2h1bmtlZF9lbmQpCiAgICAgICAgIHJlc3AgPSBjbGllbnQuSFRUUFJlc3BvbnNlKHNvY2ssIG1ldGhvZD0iR0VUIikKICAgICAgICAgcmVzcC5iZWdpbigpCiAgICAgICAgIG4gPSByZXNwLnJlYWRpbnRvKGIpCkBAIC01MjIsNyArNTIyLDcgQEAKIAogICAgICAgICAjIFZhcmlvdXMgcmVhZCBzaXplcwogICAgICAgICBmb3IgbiBpbiByYW5nZSgxLCAxMik6Ci0gICAgICAgICAgICBzb2NrID0gRmFrZVNvY2tldChjaHVua2VkX3N0YXJ0ICsgJzBcclxuJykKKyAgICAgICAgICAgIHNvY2sgPSBGYWtlU29ja2V0KGNodW5rZWRfc3RhcnQgKyBsYXN0X2NodW5rICsgY2h1bmtlZF9lbmQpCiAgICAgICAgICAgICByZXNwID0gY2xpZW50LkhUVFBSZXNwb25zZShzb2NrLCBtZXRob2Q9IkdFVCIpCiAgICAgICAgICAgICByZXNwLmJlZ2luKCkKICAgICAgICAgICAgIG0gPSBtZW1vcnl2aWV3KGIpCkBAIC01NTgsNyArNTU4LDcgQEAKICAgICAgICAgICAgICcxXHJcbicKICAgICAgICAgICAgICdkXHJcbicKICAgICAgICAgKQotICAgICAgICBzb2NrID0gRmFrZVNvY2tldChjaHVua2VkX3N0YXJ0ICsgJzBcclxuJykKKyAgICAgICAgc29jayA9IEZha2VTb2NrZXQoY2h1bmtlZF9zdGFydCArIGxhc3RfY2h1bmsgKyBjaHVua2VkX2VuZCkKICAgICAgICAgcmVzcCA9IGNsaWVudC5IVFRQUmVzcG9uc2Uoc29jaywgbWV0aG9kPSJIRUFEIikKICAgICAgICAgcmVzcC5iZWdpbigpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzcC5yZWFkKCksIGInJykKQEAgLTU3OCw3ICs1NzgsNyBAQAogICAgICAgICAgICAgJzFcclxuJwogICAgICAgICAgICAgJ2RcclxuJwogICAgICAgICApCi0gICAgICAgIHNvY2sgPSBGYWtlU29ja2V0KGNodW5rZWRfc3RhcnQgKyAnMFxyXG4nKQorICAgICAgICBzb2NrID0gRmFrZVNvY2tldChjaHVua2VkX3N0YXJ0ICsgbGFzdF9jaHVuayArIGNodW5rZWRfZW5kKQogICAgICAgICByZXNwID0gY2xpZW50LkhUVFBSZXNwb25zZShzb2NrLCBtZXRob2Q9IkhFQUQiKQogICAgICAgICByZXNwLmJlZ2luKCkKICAgICAgICAgYiA9IGJ5dGVhcnJheSg1KQpAQCAtNjUzLDYgKzY1Myw3IEBACiAgICAgICAgICAgICArICcwJyAqIDY1NTM2ICsgJ2FcclxuJwogICAgICAgICAgICAgJ2hlbGxvIHdvcmxkXHJcbicKICAgICAgICAgICAgICcwXHJcbicKKyAgICAgICAgICAgICdcclxuJwogICAgICAgICApCiAgICAgICAgIHJlc3AgPSBjbGllbnQuSFRUUFJlc3BvbnNlKEZha2VTb2NrZXQoYm9keSkpCiAgICAgICAgIHJlc3AuYmVnaW4oKQpAQCAtNjcwLDI4ICs2NzEsNiBAQAogICAgICAgICByZXNwLmNsb3NlKCkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlc3AuY2xvc2VkKQogCi0gICAgZGVmIHRlc3RfZGVsYXllZF9hY2tfb3B0KHNlbGYpOgotICAgICAgICAjIFRlc3QgdGhhdCBOYWdsZS9kZWxheWVkX2FjayBvcHRpbWlzdGFpb24gd29ya3MgY29ycmVjdGx5LgotCi0gICAgICAgICMgRm9yIHNtYWxsIHBheWxvYWRzLCBpdCBzaG91bGQgY29hbGVzY2UgdGhlIGJvZHkgd2l0aAotICAgICAgICAjIGhlYWRlcnMsIHJlc3VsdGluZyBpbiBhIHNpbmdsZSBzZW5kYWxsKCkgY2FsbAotICAgICAgICBjb25uID0gY2xpZW50LkhUVFBDb25uZWN0aW9uKCdleGFtcGxlLmNvbScpCi0gICAgICAgIHNvY2sgPSBGYWtlU29ja2V0KE5vbmUpCi0gICAgICAgIGNvbm4uc29jayA9IHNvY2sKLSAgICAgICAgYm9keSA9IGIneCcgKiAoY29ubi5tc3MgLSAxKQotICAgICAgICBjb25uLnJlcXVlc3QoJ1BPU1QnLCAnLycsIGJvZHkpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc29jay5zZW5kYWxsX2NhbGxzLCAxKQotCi0gICAgICAgICMgRm9yIGxhcmdlIHBheWxvYWRzLCBpdCBzaG91bGQgc2VuZCB0aGUgaGVhZGVycyBhbmQKLSAgICAgICAgIyB0aGVuIHRoZSBib2R5LCByZXN1bHRpbmcgaW4gbW9yZSB0aGFuIG9uZSBzZW5kYWxsKCkKLSAgICAgICAgIyBjYWxsCi0gICAgICAgIGNvbm4gPSBjbGllbnQuSFRUUENvbm5lY3Rpb24oJ2V4YW1wbGUuY29tJykKLSAgICAgICAgc29jayA9IEZha2VTb2NrZXQoTm9uZSkKLSAgICAgICAgY29ubi5zb2NrID0gc29jawotICAgICAgICBib2R5ID0gYid4JyAqIGNvbm4ubXNzCi0gICAgICAgIGNvbm4ucmVxdWVzdCgnUE9TVCcsICcvJywgYm9keSkKLSAgICAgICAgc2VsZi5hc3NlcnRHcmVhdGVyKHNvY2suc2VuZGFsbF9jYWxscywgMSkKLQogICAgIGRlZiB0ZXN0X2Vycm9yX2xlYWsoc2VsZik6CiAgICAgICAgICMgVGVzdCB0aGF0IHRoZSBzb2NrZXQgaXMgbm90IGxlYWtlZCBpZiBnZXRyZXNwb25zZSgpIGZhaWxzCiAgICAgICAgIGNvbm4gPSBjbGllbnQuSFRUUENvbm5lY3Rpb24oJ2V4YW1wbGUuY29tJykKQEAgLTcwOCw2ICs2ODcsMjM5IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZXNwb25zZS5jbG9zZWQpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjb25uLnNvY2suZmlsZV9jbG9zZWQpCiAKKyAgICBkZWYgdGVzdF9jaHVua2VkX2V4dGVuc2lvbihzZWxmKToKKyAgICAgICAgZXh0cmEgPSAnMztmb289YmFyXHJcbicgKyAnYWJjXHJcbicKKyAgICAgICAgZXhwZWN0ZWQgPSBjaHVua2VkX2V4cGVjdGVkICsgYidhYmMnCisKKyAgICAgICAgc29jayA9IEZha2VTb2NrZXQoY2h1bmtlZF9zdGFydCArIGV4dHJhICsgbGFzdF9jaHVua19leHRlbmRlZCArIGNodW5rZWRfZW5kKQorICAgICAgICByZXNwID0gY2xpZW50LkhUVFBSZXNwb25zZShzb2NrLCBtZXRob2Q9IkdFVCIpCisgICAgICAgIHJlc3AuYmVnaW4oKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3AucmVhZCgpLCBleHBlY3RlZCkKKyAgICAgICAgcmVzcC5jbG9zZSgpCisKKyAgICBkZWYgdGVzdF9jaHVua2VkX21pc3NpbmdfZW5kKHNlbGYpOgorICAgICAgICAiIiJzb21lIHNlcnZlcnMgbWF5IHNlcnZlIHVwIGEgc2hvcnQgY2h1bmtlZCBlbmNvZGluZyBzdHJlYW0iIiIKKyAgICAgICAgZXhwZWN0ZWQgPSBjaHVua2VkX2V4cGVjdGVkCisgICAgICAgIHNvY2sgPSBGYWtlU29ja2V0KGNodW5rZWRfc3RhcnQgKyBsYXN0X2NodW5rKSAgI25vIHRlcm1pbmF0aW5nIGNybGYKKyAgICAgICAgcmVzcCA9IGNsaWVudC5IVFRQUmVzcG9uc2Uoc29jaywgbWV0aG9kPSJHRVQiKQorICAgICAgICByZXNwLmJlZ2luKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXNwLnJlYWQoKSwgZXhwZWN0ZWQpCisgICAgICAgIHJlc3AuY2xvc2UoKQorCisgICAgZGVmIHRlc3RfY2h1bmtlZF90cmFpbGVycyhzZWxmKToKKyAgICAgICAgIiIiU2VlIHRoYXQgdHJhaWxlcnMgYXJlIHJlYWQgYW5kIGlnbm9yZWQiIiIKKyAgICAgICAgZXhwZWN0ZWQgPSBjaHVua2VkX2V4cGVjdGVkCisgICAgICAgIHNvY2sgPSBGYWtlU29ja2V0KGNodW5rZWRfc3RhcnQgKyBsYXN0X2NodW5rICsgdHJhaWxlcnMgKyBjaHVua2VkX2VuZCkKKyAgICAgICAgcmVzcCA9IGNsaWVudC5IVFRQUmVzcG9uc2Uoc29jaywgbWV0aG9kPSJHRVQiKQorICAgICAgICByZXNwLmJlZ2luKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXNwLnJlYWQoKSwgZXhwZWN0ZWQpCisgICAgICAgICMgd2Ugc2hvdWxkIGhhdmUgcmVhY2hlZCB0aGUgZW5kIG9mIHRoZSBmaWxlCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc29jay5maWxlLnJlYWQoMTAwKSwgYiIiKSAjd2UgcmVhZCB0byB0aGUgZW5kCisgICAgICAgIHJlc3AuY2xvc2UoKQorCisgICAgZGVmIHRlc3RfY2h1bmtlZF9zeW5jKHNlbGYpOgorICAgICAgICAiIiJDaGVjayB0aGF0IHdlIGRvbid0IHJlYWQgcGFzdCB0aGUgZW5kIG9mIHRoZSBjaHVua2VkLWVuY29kaW5nIHN0cmVhbSIiIgorICAgICAgICBleHBlY3RlZCA9IGNodW5rZWRfZXhwZWN0ZWQKKyAgICAgICAgZXh0cmFkYXRhID0gImV4dHJhZGF0YSIKKyAgICAgICAgc29jayA9IEZha2VTb2NrZXQoY2h1bmtlZF9zdGFydCArIGxhc3RfY2h1bmsgKyB0cmFpbGVycyArIGNodW5rZWRfZW5kICsgZXh0cmFkYXRhKQorICAgICAgICByZXNwID0gY2xpZW50LkhUVFBSZXNwb25zZShzb2NrLCBtZXRob2Q9IkdFVCIpCisgICAgICAgIHJlc3AuYmVnaW4oKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3AucmVhZCgpLCBleHBlY3RlZCkKKyAgICAgICAgIyB0aGUgZmlsZSBzaG91bGQgbm93IGhhdmUgb3VyIGV4dHJhZGF0YSByZWFkeSB0byBiZSByZWFkCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc29jay5maWxlLnJlYWQoMTAwKSwgZXh0cmFkYXRhLmVuY29kZSgiYXNjaWkiKSkgI3dlIHJlYWQgdG8gdGhlIGVuZAorICAgICAgICByZXNwLmNsb3NlKCkKKworICAgIGRlZiB0ZXN0X2NvbnRlbnRfbGVuZ3RoX3N5bmMoc2VsZik6CisgICAgICAgICIiIkNoZWNrIHRoYXQgd2UgZG9uJ3QgcmVhZCBwYXN0IHRoZSBlbmQgb2YgdGhlIENvbnRlbnQtTGVuZ3RoIHN0cmVhbSIiIgorICAgICAgICBleHRyYWRhdGEgPSAiZXh0cmFkYXRhIgorICAgICAgICBleHBlY3RlZCA9IGIiSGVsbG8xMjNcclxuIgorICAgICAgICBzb2NrID0gRmFrZVNvY2tldCgnSFRUUC8xLjEgMjAwIE9LXHJcbkNvbnRlbnQtTGVuZ3RoOiAxMFxyXG5cclxuSGVsbG8xMjNcclxuJyArIGV4dHJhZGF0YSkKKyAgICAgICAgcmVzcCA9IGNsaWVudC5IVFRQUmVzcG9uc2Uoc29jaywgbWV0aG9kPSJHRVQiKQorICAgICAgICByZXNwLmJlZ2luKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXNwLnJlYWQoKSwgZXhwZWN0ZWQpCisgICAgICAgICMgdGhlIGZpbGUgc2hvdWxkIG5vdyBoYXZlIG91ciBleHRyYWRhdGEgcmVhZHkgdG8gYmUgcmVhZAorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNvY2suZmlsZS5yZWFkKDEwMCksIGV4dHJhZGF0YS5lbmNvZGUoImFzY2lpIikpICN3ZSByZWFkIHRvIHRoZSBlbmQKKyAgICAgICAgcmVzcC5jbG9zZSgpCisKK2NsYXNzIEV4dGVuZGVkUmVhZFRlc3QoVGVzdENhc2UpOgorICAgICIiIgorICAgIFRlc3QgcGVlaygpLCByZWFkMSgpLCByZWFkbGluZSgpCisgICAgIiIiCisgICAgbGluZXMgPSAoCisgICAgICAgICdIVFRQLzEuMSAyMDAgT0tcclxuJworICAgICAgICAnXHJcbicKKyAgICAgICAgJ2hlbGxvIHdvcmxkIVxuJworICAgICAgICAnYW5kIG5vdyBcbicKKyAgICAgICAgJ2ZvciBzb21ldGhpbmcgY29tcGxldGVseSBkaWZmZXJlbnRcbicKKyAgICAgICAgJ2ZvbycKKyAgICAgICAgKQorICAgIGxpbmVzX2V4cGVjdGVkID0gbGluZXNbbGluZXMuZmluZCgnaGVsbG8nKTpdLmVuY29kZSgiYXNjaWkiKQorICAgIGxpbmVzX2NodW5rZWQgPSAoCisgICAgICAgICdIVFRQLzEuMSAyMDAgT0tcclxuJworICAgICAgICAnVHJhbnNmZXItRW5jb2Rpbmc6IGNodW5rZWRcclxuXHJcbicKKyAgICAgICAgJ2FcclxuJworICAgICAgICAnaGVsbG8gd29ybFxyXG4nCisgICAgICAgICczXHJcbicKKyAgICAgICAgJ2QhXG5cclxuJworICAgICAgICAnOVxyXG4nCisgICAgICAgICdhbmQgbm93IFxuXHJcbicKKyAgICAgICAgJzIzXHJcbicKKyAgICAgICAgJ2ZvciBzb21ldGhpbmcgY29tcGxldGVseSBkaWZmZXJlbnRcblxyXG4nCisgICAgICAgICczXHJcbicKKyAgICAgICAgJ2Zvb1xyXG4nCisgICAgICAgICcwXHJcbicgIyB0ZXJtaW5hdGluZyBjaHVuaworICAgICAgICAnXHJcbicgICMgZW5kIG9mIHRyYWlsZXJzCisgICAgKQorCisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzb2NrID0gRmFrZVNvY2tldChzZWxmLmxpbmVzKQorICAgICAgICByZXNwID0gY2xpZW50LkhUVFBSZXNwb25zZShzb2NrLCBtZXRob2Q9IkdFVCIpCisgICAgICAgIHJlc3AuYmVnaW4oKQorICAgICAgICByZXNwLmZwID0gaW8uQnVmZmVyZWRSZWFkZXIocmVzcC5mcCkKKyAgICAgICAgc2VsZi5yZXNwID0gcmVzcAorCisKKworICAgIGRlZiB0ZXN0X3BlZWsoc2VsZik6CisgICAgICAgIHJlc3AgPSBzZWxmLnJlc3AKKyAgICAgICAgIyBwYXRjaCB1cCB0aGUgYnVmZmVyZWQgcGVlayBzbyB0aGF0IGl0IHJldHVybnMgbm90IHRvbyBtdWNoIHN0dWZmCisgICAgICAgIG9sZHBlZWsgPSByZXNwLmZwLnBlZWsKKyAgICAgICAgZGVmIG15cGVlayhuPS0xKToKKyAgICAgICAgICAgIHAgPSBvbGRwZWVrKG4pCisgICAgICAgICAgICBpZiBuID49IDA6CisgICAgICAgICAgICAgICAgcmV0dXJuIHBbOm5dCisgICAgICAgICAgICByZXR1cm4gcFs6MTBdCisgICAgICAgIHJlc3AuZnAucGVlayA9IG15cGVlaworCisgICAgICAgIGFsbCA9IFtdCisgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICAjIHRyeSBhIHNob3J0IHBlZWsKKyAgICAgICAgICAgIHAgPSByZXNwLnBlZWsoMykKKyAgICAgICAgICAgIGlmIHA6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRHcmVhdGVyKGxlbihwKSwgMCkKKyAgICAgICAgICAgICAgICAjIHRoZW4gdW5ib3VuZGVkIHBlZWsKKyAgICAgICAgICAgICAgICBwMiA9IHJlc3AucGVlaygpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRHcmVhdGVyRXF1YWwobGVuKHAyKSwgbGVuKHApKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShwMi5zdGFydHN3aXRoKHApKQorICAgICAgICAgICAgICAgIG5leHQgPSByZXNwLnJlYWQobGVuKHAyKSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG5leHQsIHAyKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBuZXh0ID0gcmVzcC5yZWFkKCkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG5leHQpCisgICAgICAgICAgICBhbGwuYXBwZW5kKG5leHQpCisgICAgICAgICAgICBpZiBub3QgbmV4dDoKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGIiIi5qb2luKGFsbCksIHNlbGYubGluZXNfZXhwZWN0ZWQpCisKKyAgICBkZWYgdGVzdF9yZWFkbGluZShzZWxmKToKKyAgICAgICAgcmVzcCA9IHNlbGYucmVzcAorICAgICAgICBzZWxmLl92ZXJpZnlfcmVhZGxpbmUoc2VsZi5yZXNwLnJlYWRsaW5lLCBzZWxmLmxpbmVzX2V4cGVjdGVkKQorCisgICAgZGVmIF92ZXJpZnlfcmVhZGxpbmUoc2VsZiwgcmVhZGxpbmUsIGV4cGVjdGVkKToKKyAgICAgICAgYWxsID0gW10KKyAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgICMgc2hvcnQgcmVhZGxpbmVzCisgICAgICAgICAgICBsaW5lID0gcmVhZGxpbmUoNSkKKyAgICAgICAgICAgIGlmIGxpbmUgYW5kIGxpbmUgIT0gYiJmb28iOgorICAgICAgICAgICAgICAgIGlmIGxlbihsaW5lKSA8IDU6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShsaW5lLmVuZHN3aXRoKGIiXG4iKSkKKyAgICAgICAgICAgIGFsbC5hcHBlbmQobGluZSkKKyAgICAgICAgICAgIGlmIG5vdCBsaW5lOgorICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYiIiLmpvaW4oYWxsKSwgZXhwZWN0ZWQpCisKKyAgICBkZWYgdGVzdF9yZWFkMShzZWxmKToKKyAgICAgICAgcmVzcCA9IHNlbGYucmVzcAorICAgICAgICBkZWYgcigpOgorICAgICAgICAgICAgcmVzID0gcmVzcC5yZWFkMSg0KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRMZXNzRXF1YWwobGVuKHJlcyksIDQpCisgICAgICAgICAgICByZXR1cm4gcmVzCisgICAgICAgIHJlYWRsaW5lciA9IFJlYWRsaW5lcihyKQorICAgICAgICBzZWxmLl92ZXJpZnlfcmVhZGxpbmUocmVhZGxpbmVyLnJlYWRsaW5lLCBzZWxmLmxpbmVzX2V4cGVjdGVkKQorCisgICAgZGVmIHRlc3RfcmVhZDFfdW5ib3VuZGVkKHNlbGYpOgorICAgICAgICByZXNwID0gc2VsZi5yZXNwCisgICAgICAgIGFsbCA9IFtdCisgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICBkYXRhID0gcmVzcC5yZWFkMSgpCisgICAgICAgICAgICBpZiBub3QgZGF0YToKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgYWxsLmFwcGVuZChkYXRhKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGIiIi5qb2luKGFsbCksIHNlbGYubGluZXNfZXhwZWN0ZWQpCisKKyAgICBkZWYgdGVzdF9yZWFkMV9ib3VuZGVkKHNlbGYpOgorICAgICAgICByZXNwID0gc2VsZi5yZXNwCisgICAgICAgIGFsbCA9IFtdCisgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICBkYXRhID0gcmVzcC5yZWFkMSgxMCkKKyAgICAgICAgICAgIGlmIG5vdCBkYXRhOgorICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICBzZWxmLmFzc2VydExlc3NFcXVhbChsZW4oZGF0YSksIDEwKQorICAgICAgICAgICAgYWxsLmFwcGVuZChkYXRhKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGIiIi5qb2luKGFsbCksIHNlbGYubGluZXNfZXhwZWN0ZWQpCisKKyAgICBkZWYgdGVzdF9yZWFkMV8wKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYucmVzcC5yZWFkMSgwKSwgYiIiKQorCisgICAgZGVmIHRlc3RfcGVla18wKHNlbGYpOgorICAgICAgICBwID0gc2VsZi5yZXNwLnBlZWsoMCkKKyAgICAgICAgc2VsZi5hc3NlcnRMZXNzRXF1YWwoMCwgbGVuKHApKQorCitjbGFzcyBFeHRlbmRlZFJlYWRUZXN0Q2h1bmtlZChFeHRlbmRlZFJlYWRUZXN0KToKKyAgICAiIiIKKyAgICBUZXN0IHBlZWsoKSwgcmVhZDEoKSwgcmVhZGxpbmUoKSBpbiBjaHVua2VkIG1vZGUKKyAgICAiIiIKKyAgICBsaW5lcyA9ICgKKyAgICAgICAgJ0hUVFAvMS4xIDIwMCBPS1xyXG4nCisgICAgICAgICdUcmFuc2Zlci1FbmNvZGluZzogY2h1bmtlZFxyXG5cclxuJworICAgICAgICAnYVxyXG4nCisgICAgICAgICdoZWxsbyB3b3JsXHJcbicKKyAgICAgICAgJzNcclxuJworICAgICAgICAnZCFcblxyXG4nCisgICAgICAgICc5XHJcbicKKyAgICAgICAgJ2FuZCBub3cgXG5cclxuJworICAgICAgICAnMjNcclxuJworICAgICAgICAnZm9yIHNvbWV0aGluZyBjb21wbGV0ZWx5IGRpZmZlcmVudFxuXHJcbicKKyAgICAgICAgJzNcclxuJworICAgICAgICAnZm9vXHJcbicKKyAgICAgICAgJzBcclxuJyAjIHRlcm1pbmF0aW5nIGNodW5rCisgICAgICAgICdcclxuJyAgIyBlbmQgb2YgdHJhaWxlcnMKKyAgICApCisKKworY2xhc3MgUmVhZGxpbmVyOgorICAgICIiIgorICAgIGEgc2ltcGxlIHJlYWRsaW5lIGNsYXNzIHRoYXQgdXNlcyBhbiBhcmJpdHJhcnkgcmVhZCBmdW5jdGlvbiBhbmQgYnVmZmVyaW5nCisgICAgIiIiCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHJlYWRmdW5jKToKKyAgICAgICAgc2VsZi5yZWFkZnVuYyA9IHJlYWRmdW5jCisgICAgICAgIHNlbGYucmVtYWluZGVyID0gYiIiCisKKyAgICBkZWYgcmVhZGxpbmUoc2VsZiwgbGltaXQpOgorICAgICAgICBkYXRhID0gW10KKyAgICAgICAgZGF0YWxlbiA9IDAKKyAgICAgICAgcmVhZCA9IHNlbGYucmVtYWluZGVyCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICAgICAgaWR4ID0gcmVhZC5maW5kKGInXG4nKQorICAgICAgICAgICAgICAgIGlmIGlkeCAhPSAtMToKKyAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgICAgICBpZiBkYXRhbGVuICsgbGVuKHJlYWQpID49IGxpbWl0OgorICAgICAgICAgICAgICAgICAgICBpZHggPSBsaW1pdCAtIGRhdGFsZW4gLSAxCisgICAgICAgICAgICAgICAgIyByZWFkIG1vcmUgZGF0YQorICAgICAgICAgICAgICAgIGRhdGEuYXBwZW5kKHJlYWQpCisgICAgICAgICAgICAgICAgcmVhZCA9IHNlbGYucmVhZGZ1bmMoKQorICAgICAgICAgICAgICAgIGlmIG5vdCByZWFkOgorICAgICAgICAgICAgICAgICAgICBpZHggPSAwICNlb2YgY29uZGl0aW9uCisgICAgICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICBpZHggKz0gMQorICAgICAgICAgICAgZGF0YS5hcHBlbmQocmVhZFs6aWR4XSkKKyAgICAgICAgICAgIHNlbGYucmVtYWluZGVyID0gcmVhZFtpZHg6XQorICAgICAgICAgICAgcmV0dXJuIGIiIi5qb2luKGRhdGEpCisgICAgICAgIGV4Y2VwdDoKKyAgICAgICAgICAgIHNlbGYucmVtYWluZGVyID0gYiIiLmpvaW4oZGF0YSkKKyAgICAgICAgICAgIHJhaXNlCisKIGNsYXNzIE9mZmxpbmVUZXN0KFRlc3RDYXNlKToKICAgICBkZWYgdGVzdF9yZXNwb25zZXMoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2xpZW50LnJlc3BvbnNlc1tjbGllbnQuTk9UX0ZPVU5EXSwgIk5vdCBGb3VuZCIpCkBAIC03MTgsNyArOTMwLDcgQEAKICAgICAgICAgc2VsZi5zZXJ2ID0gc29ja2V0LnNvY2tldChzb2NrZXQuQUZfSU5FVCwgc29ja2V0LlNPQ0tfU1RSRUFNKQogICAgICAgICBzZWxmLnBvcnQgPSBzdXBwb3J0LmJpbmRfcG9ydChzZWxmLnNlcnYpCiAgICAgICAgIHNlbGYuc291cmNlX3BvcnQgPSBzdXBwb3J0LmZpbmRfdW51c2VkX3BvcnQoKQotICAgICAgICBzZWxmLnNlcnYubGlzdGVuKDUpCisgICAgICAgIHNlbGYuc2Vydi5saXN0ZW4oKQogICAgICAgICBzZWxmLmNvbm4gPSBOb25lCiAKICAgICBkZWYgdGVhckRvd24oc2VsZik6CkBAIC03NTAsNyArOTYyLDcgQEAKICAgICBkZWYgc2V0VXAoc2VsZik6CiAgICAgICAgIHNlbGYuc2VydiA9IHNvY2tldC5zb2NrZXQoc29ja2V0LkFGX0lORVQsIHNvY2tldC5TT0NLX1NUUkVBTSkKICAgICAgICAgVGltZW91dFRlc3QuUE9SVCA9IHN1cHBvcnQuYmluZF9wb3J0KHNlbGYuc2VydikKLSAgICAgICAgc2VsZi5zZXJ2Lmxpc3Rlbig1KQorICAgICAgICBzZWxmLnNlcnYubGlzdGVuKCkKIAogICAgIGRlZiB0ZWFyRG93bihzZWxmKToKICAgICAgICAgc2VsZi5zZXJ2LmNsb3NlKCkKQEAgLTEwNTcsMTcgKzEyNjksMTggQEAKICAgICAgICAgICAgICdIVFRQLzEuMSAyMDAgT0tcclxuJyAjIFJlcGx5IHRvIEhFQUQKICAgICAgICAgICAgICdDb250ZW50LUxlbmd0aDogNDJcclxuXHJcbicKICAgICAgICAgKQotCi0gICAgICAgIGRlZiBjcmVhdGVfY29ubmVjdGlvbihhZGRyZXNzLCB0aW1lb3V0PU5vbmUsIHNvdXJjZV9hZGRyZXNzPU5vbmUpOgotICAgICAgICAgICAgcmV0dXJuIEZha2VTb2NrZXQocmVzcG9uc2VfdGV4dCwgaG9zdD1hZGRyZXNzWzBdLCBwb3J0PWFkZHJlc3NbMV0pCi0KICAgICAgICAgc2VsZi5ob3N0ID0gJ3Byb3h5LmNvbScKICAgICAgICAgc2VsZi5jb25uID0gY2xpZW50LkhUVFBDb25uZWN0aW9uKHNlbGYuaG9zdCkKLSAgICAgICAgc2VsZi5jb25uLl9jcmVhdGVfY29ubmVjdGlvbiA9IGNyZWF0ZV9jb25uZWN0aW9uCisgICAgICAgIHNlbGYuY29ubi5fY3JlYXRlX2Nvbm5lY3Rpb24gPSBzZWxmLl9jcmVhdGVfY29ubmVjdGlvbihyZXNwb25zZV90ZXh0KQogCiAgICAgZGVmIHRlYXJEb3duKHNlbGYpOgogICAgICAgICBzZWxmLmNvbm4uY2xvc2UoKQogCisgICAgZGVmIF9jcmVhdGVfY29ubmVjdGlvbihzZWxmLCByZXNwb25zZV90ZXh0KToKKyAgICAgICAgZGVmIGNyZWF0ZV9jb25uZWN0aW9uKGFkZHJlc3MsIHRpbWVvdXQ9Tm9uZSwgc291cmNlX2FkZHJlc3M9Tm9uZSk6CisgICAgICAgICAgICByZXR1cm4gRmFrZVNvY2tldChyZXNwb25zZV90ZXh0LCBob3N0PWFkZHJlc3NbMF0sIHBvcnQ9YWRkcmVzc1sxXSkKKyAgICAgICAgcmV0dXJuIGNyZWF0ZV9jb25uZWN0aW9uCisKICAgICBkZWYgdGVzdF9zZXRfdHVubmVsX2hvc3RfcG9ydF9oZWFkZXJzKHNlbGYpOgogICAgICAgICB0dW5uZWxfaG9zdCA9ICdkZXN0aW5hdGlvbi5jb20nCiAgICAgICAgIHR1bm5lbF9wb3J0ID0gODg4OApAQCAtMTEwOCwxMyArMTMyMSwyNiBAQAogICAgICAgICBzZWxmLmFzc2VydEluKGInQ09OTkVDVCBkZXN0aW5hdGlvbi5jb20nLCBzZWxmLmNvbm4uc29jay5kYXRhKQogICAgICAgICBzZWxmLmFzc2VydEluKGInSG9zdDogZGVzdGluYXRpb24uY29tJywgc2VsZi5jb25uLnNvY2suZGF0YSkKIAorICAgIGRlZiB0ZXN0X3R1bm5lbF9kZWJ1Z2xvZyhzZWxmKToKKyAgICAgICAgZXhwZWN0ZWRfaGVhZGVyID0gJ1gtRHVtbXk6IDEnCisgICAgICAgIHJlc3BvbnNlX3RleHQgPSAnSFRUUC8xLjAgMjAwIE9LXHJcbnt9XHJcblxyXG4nLmZvcm1hdChleHBlY3RlZF9oZWFkZXIpCisKKyAgICAgICAgc2VsZi5jb25uLnNldF9kZWJ1Z2xldmVsKDEpCisgICAgICAgIHNlbGYuY29ubi5fY3JlYXRlX2Nvbm5lY3Rpb24gPSBzZWxmLl9jcmVhdGVfY29ubmVjdGlvbihyZXNwb25zZV90ZXh0KQorICAgICAgICBzZWxmLmNvbm4uc2V0X3R1bm5lbCgnZGVzdGluYXRpb24uY29tJykKKworICAgICAgICB3aXRoIHN1cHBvcnQuY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgorICAgICAgICAgICAgc2VsZi5jb25uLnJlcXVlc3QoJ1BVVCcsICcvJywgJycpCisgICAgICAgIGxpbmVzID0gb3V0cHV0LmdldHZhbHVlKCkuc3BsaXRsaW5lcygpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ2hlYWRlcjoge30nLmZvcm1hdChleHBlY3RlZF9oZWFkZXIpLCBsaW5lcykKIAogCiBAc3VwcG9ydC5yZWFwX3RocmVhZHMKIGRlZiB0ZXN0X21haW4odmVyYm9zZT1Ob25lKToKICAgICBzdXBwb3J0LnJ1bl91bml0dGVzdChIZWFkZXJUZXN0cywgT2ZmbGluZVRlc3QsIEJhc2ljVGVzdCwgVGltZW91dFRlc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgSFRUUFNUZXN0LCBSZXF1ZXN0Qm9keVRlc3QsIFNvdXJjZUFkZHJlc3NUZXN0LAotICAgICAgICAgICAgICAgICAgICAgICAgIEhUVFBSZXNwb25zZVRlc3QsIFR1bm5lbFRlc3RzKQorICAgICAgICAgICAgICAgICAgICAgICAgIEhUVFBSZXNwb25zZVRlc3QsIEV4dGVuZGVkUmVhZFRlc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgRXh0ZW5kZWRSZWFkVGVzdENodW5rZWQsIFR1bm5lbFRlc3RzKQogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgogICAgIHRlc3RfbWFpbigpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ltYXBsaWIucHkgYi9MaWIvdGVzdC90ZXN0X2ltYXBsaWIucHkKaW5kZXggYjM0ZTY1Mi4uNTQ4NWEyYSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9pbWFwbGliLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfaW1hcGxpYi5weQpAQCAtMTEsNyArMTEsOCBAQAogaW1wb3J0IHRpbWUKIGltcG9ydCBjYWxlbmRhcgogCi1mcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgcmVhcF90aHJlYWRzLCB2ZXJib3NlLCB0cmFuc2llbnRfaW50ZXJuZXQsIHJ1bl93aXRoX3R6LCBydW5fd2l0aF9sb2NhbGUKK2Zyb20gdGVzdC5zdXBwb3J0IGltcG9ydCAocmVhcF90aHJlYWRzLCB2ZXJib3NlLCB0cmFuc2llbnRfaW50ZXJuZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bl93aXRoX3R6LCBydW5fd2l0aF9sb2NhbGUpCiBpbXBvcnQgdW5pdHRlc3QKIGZyb20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1lLCB0aW1lem9uZSwgdGltZWRlbHRhCiB0cnk6CkBAIC0xOSw4ICsyMCw4IEBACiBleGNlcHQgSW1wb3J0RXJyb3I6CiAgICAgc3NsID0gTm9uZQogCi1DRVJURklMRSA9IE5vbmUKLUNBRklMRSA9IE5vbmUKK0NFUlRGSUxFID0gb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXykgb3Igb3MuY3VyZGlyLCAia2V5Y2VydDMucGVtIikKK0NBRklMRSA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pIG9yIG9zLmN1cmRpciwgInB5Y2FjZXJ0LnBlbSIpCiAKIAogY2xhc3MgVGVzdEltYXBsaWIodW5pdHRlc3QuVGVzdENhc2UpOgpAQCAtNDEsMTcgKzQyLDE1IEBACiAgICAgZGVmIHRlc3RfSW50ZXJuYWxkYXRlMnR1cGxlX2lzc3VlMTA5NDEoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoaW1hcGxpYi5JbnRlcm5hbGRhdGUydHVwbGUoCiAgICAgICAgICAgICBiJzI1IChJTlRFUk5BTERBVEUgIjAyLUFwci0yMDAwIDAyOjMwOjAwICswMDAwIiknKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFwbGliLkludGVybmFsZGF0ZTJ0dXBsZSgKLSAgICAgICAgICAgIGInMjUgKElOVEVSTkFMREFURSAiMDItQXByLTIwMDAgMDM6MzA6MDAgKzAwMDAiKScpKQotCi0KKyAgICAgICAgICAgIGltYXBsaWIuSW50ZXJuYWxkYXRlMnR1cGxlKAorICAgICAgICAgICAgICAgIGInMjUgKElOVEVSTkFMREFURSAiMDItQXByLTIwMDAgMDM6MzA6MDAgKzAwMDAiKScpKQogCiAgICAgZGVmIHRpbWV2YWx1ZXMoc2VsZik6CiAgICAgICAgIHJldHVybiBbMjAwMDAwMDAwMCwgMjAwMDAwMDAwMC4wLCB0aW1lLmxvY2FsdGltZSgyMDAwMDAwMDAwKSwKICAgICAgICAgICAgICAgICAoMjAzMywgNSwgMTgsIDUsIDMzLCAyMCwgLTEsIC0xLCAtMSksCiAgICAgICAgICAgICAgICAgKDIwMzMsIDUsIDE4LCA1LCAzMywgMjAsIC0xLCAtMSwgMSksCiAgICAgICAgICAgICAgICAgZGF0ZXRpbWUuZnJvbXRpbWVzdGFtcCgyMDAwMDAwMDAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZXpvbmUodGltZWRlbHRhKDAsIDIqNjAqNjApKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lem9uZSh0aW1lZGVsdGEoMCwgMiAqIDYwICogNjApKSksCiAgICAgICAgICAgICAgICAgJyIxOC1NYXktMjAzMyAwNTozMzoyMCArMDIwMCInXQogCiAgICAgQHJ1bl93aXRoX2xvY2FsZSgnTENfQUxMJywgJ2RlX0RFJywgJ2ZyX0ZSJykKQEAgLTcyLDcgKzcxLDYgQEAKIAogCiBpZiBzc2w6Ci0KICAgICBjbGFzcyBTZWN1cmVUQ1BTZXJ2ZXIoc29ja2V0c2VydmVyLlRDUFNlcnZlcik6CiAKICAgICAgICAgZGVmIGdldF9yZXF1ZXN0KHNlbGYpOgpAQCAtOTMsMTMgKzkxLDE3IEBACiAKIAogY2xhc3MgU2ltcGxlSU1BUEhhbmRsZXIoc29ja2V0c2VydmVyLlN0cmVhbVJlcXVlc3RIYW5kbGVyKToKLQogICAgIHRpbWVvdXQgPSAxCiAgICAgY29udGludWF0aW9uID0gTm9uZQogICAgIGNhcGFiaWxpdGllcyA9ICcnCiAKKyAgICBkZWYgc2V0dXAoc2VsZik6CisgICAgICAgIHN1cGVyKCkuc2V0dXAoKQorICAgICAgICBzZWxmLnNlcnZlci5sb2dnZWQgPSBOb25lCisKICAgICBkZWYgX3NlbmQoc2VsZiwgbWVzc2FnZSk6Ci0gICAgICAgIGlmIHZlcmJvc2U6IHByaW50KCJTRU5UOiAlciIgJSBtZXNzYWdlLnN0cmlwKCkpCisgICAgICAgIGlmIHZlcmJvc2U6CisgICAgICAgICAgICBwcmludCgiU0VOVDogJXIiICUgbWVzc2FnZS5zdHJpcCgpKQogICAgICAgICBzZWxmLndmaWxlLndyaXRlKG1lc3NhZ2UpCiAKICAgICBkZWYgX3NlbmRfbGluZShzZWxmLCBtZXNzYWdlKToKQEAgLTEzMiw3ICsxMzQsOCBAQAogICAgICAgICAgICAgICAgIGlmIGxpbmUuZW5kc3dpdGgoYidcclxuJyk6CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrCiAKLSAgICAgICAgICAgIGlmIHZlcmJvc2U6IHByaW50KCdHT1Q6ICVyJyAlIGxpbmUuc3RyaXAoKSkKKyAgICAgICAgICAgIGlmIHZlcmJvc2U6CisgICAgICAgICAgICAgICAgcHJpbnQoJ0dPVDogJXInICUgbGluZS5zdHJpcCgpKQogICAgICAgICAgICAgaWYgc2VsZi5jb250aW51YXRpb246CiAgICAgICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgICAgICBzZWxmLmNvbnRpbnVhdGlvbi5zZW5kKGxpbmUpCkBAIC0xNDQsOCArMTQ3LDggQEAKICAgICAgICAgICAgIGNtZCA9IHNwbGl0bGluZVsxXQogICAgICAgICAgICAgYXJncyA9IHNwbGl0bGluZVsyOl0KIAotICAgICAgICAgICAgaWYgaGFzYXR0cihzZWxmLCAnY21kXycrY21kKToKLSAgICAgICAgICAgICAgICBjb250aW51YXRpb24gPSBnZXRhdHRyKHNlbGYsICdjbWRfJytjbWQpKHRhZywgYXJncykKKyAgICAgICAgICAgIGlmIGhhc2F0dHIoc2VsZiwgJ2NtZF8nICsgY21kKToKKyAgICAgICAgICAgICAgICBjb250aW51YXRpb24gPSBnZXRhdHRyKHNlbGYsICdjbWRfJyArIGNtZCkodGFnLCBhcmdzKQogICAgICAgICAgICAgICAgIGlmIGNvbnRpbnVhdGlvbjoKICAgICAgICAgICAgICAgICAgICAgc2VsZi5jb250aW51YXRpb24gPSBjb250aW51YXRpb24KICAgICAgICAgICAgICAgICAgICAgbmV4dChjb250aW51YXRpb24pCkBAIC0xNTMsMTYgKzE1NiwyNSBAQAogICAgICAgICAgICAgICAgIHNlbGYuX3NlbmRfdGFnZ2VkKHRhZywgJ0JBRCcsIGNtZCArICcgdW5rbm93bicpCiAKICAgICBkZWYgY21kX0NBUEFCSUxJVFkoc2VsZiwgdGFnLCBhcmdzKToKLSAgICAgICAgY2FwcyA9ICdJTUFQNHJldjEgJyArIHNlbGYuY2FwYWJpbGl0aWVzIGlmIHNlbGYuY2FwYWJpbGl0aWVzIGVsc2UgJ0lNQVA0cmV2MScKKyAgICAgICAgY2FwcyA9ICgnSU1BUDRyZXYxICcgKyBzZWxmLmNhcGFiaWxpdGllcworICAgICAgICAgICAgICAgIGlmIHNlbGYuY2FwYWJpbGl0aWVzCisgICAgICAgICAgICAgICAgZWxzZSAnSU1BUDRyZXYxJykKICAgICAgICAgc2VsZi5fc2VuZF90ZXh0bGluZSgnKiBDQVBBQklMSVRZICcgKyBjYXBzKQogICAgICAgICBzZWxmLl9zZW5kX3RhZ2dlZCh0YWcsICdPSycsICdDQVBBQklMSVRZIGNvbXBsZXRlZCcpCiAKICAgICBkZWYgY21kX0xPR09VVChzZWxmLCB0YWcsIGFyZ3MpOgorICAgICAgICBzZWxmLnNlcnZlci5sb2dnZWQgPSBOb25lCiAgICAgICAgIHNlbGYuX3NlbmRfdGV4dGxpbmUoJyogQllFIElNQVA0cmVmMSBTZXJ2ZXIgbG9nZ2luZyBvdXQnKQogICAgICAgICBzZWxmLl9zZW5kX3RhZ2dlZCh0YWcsICdPSycsICdMT0dPVVQgY29tcGxldGVkJykKIAorICAgIGRlZiBjbWRfTE9HSU4oc2VsZiwgdGFnLCBhcmdzKToKKyAgICAgICAgc2VsZi5zZXJ2ZXIubG9nZ2VkID0gYXJnc1swXQorICAgICAgICBzZWxmLl9zZW5kX3RhZ2dlZCh0YWcsICdPSycsICdMT0dJTiBjb21wbGV0ZWQnKQogCi1jbGFzcyBCYXNlVGhyZWFkZWROZXR3b3JrZWRUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CisKK2NsYXNzIFRocmVhZGVkTmV0d29ya2VkVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgorICAgIHNlcnZlcl9jbGFzcyA9IHNvY2tldHNlcnZlci5UQ1BTZXJ2ZXIKKyAgICBpbWFwX2NsYXNzID0gaW1hcGxpYi5JTUFQNAogCiAgICAgZGVmIG1ha2Vfc2VydmVyKHNlbGYsIGFkZHIsIGhkbHIpOgogCkBAIC0xNzIsNyArMTg0LDggQEAKICAgICAgICAgICAgICAgICBzZWxmLnNlcnZlcl9jbG9zZSgpCiAgICAgICAgICAgICAgICAgcmFpc2UKIAotICAgICAgICBpZiB2ZXJib3NlOiBwcmludCgiY3JlYXRpbmcgc2VydmVyIikKKyAgICAgICAgaWYgdmVyYm9zZToKKyAgICAgICAgICAgIHByaW50KCJjcmVhdGluZyBzZXJ2ZXIiKQogICAgICAgICBzZXJ2ZXIgPSBNeVNlcnZlcihhZGRyLCBoZGxyKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlcnZlci5zZXJ2ZXJfYWRkcmVzcywgc2VydmVyLnNvY2tldC5nZXRzb2NrbmFtZSgpKQogCkBAIC0xODgsMTggKzIwMSwyMSBAQAogICAgICAgICAgICAgIyBTaG9ydCBwb2xsIGludGVydmFsIHRvIG1ha2UgdGhlIHRlc3QgZmluaXNoIHF1aWNrbHkuCiAgICAgICAgICAgICAjIFRpbWUgYmV0d2VlbiByZXF1ZXN0cyBpcyBzaG9ydCBlbm91Z2ggdGhhdCB3ZSB3b24ndCB3YWtlCiAgICAgICAgICAgICAjIHVwIHNwdXJpb3VzbHkgdG9vIG1hbnkgdGltZXMuCi0gICAgICAgICAgICBrd2FyZ3M9eydwb2xsX2ludGVydmFsJzowLjAxfSkKKyAgICAgICAgICAgIGt3YXJncz17J3BvbGxfaW50ZXJ2YWwnOiAwLjAxfSkKICAgICAgICAgdC5kYWVtb24gPSBUcnVlICAjIEluIGNhc2UgdGhpcyBmdW5jdGlvbiByYWlzZXMuCiAgICAgICAgIHQuc3RhcnQoKQotICAgICAgICBpZiB2ZXJib3NlOiBwcmludCgic2VydmVyIHJ1bm5pbmciKQorICAgICAgICBpZiB2ZXJib3NlOgorICAgICAgICAgICAgcHJpbnQoInNlcnZlciBydW5uaW5nIikKICAgICAgICAgcmV0dXJuIHNlcnZlciwgdAogCiAgICAgZGVmIHJlYXBfc2VydmVyKHNlbGYsIHNlcnZlciwgdGhyZWFkKToKLSAgICAgICAgaWYgdmVyYm9zZTogcHJpbnQoIndhaXRpbmcgZm9yIHNlcnZlciIpCisgICAgICAgIGlmIHZlcmJvc2U6CisgICAgICAgICAgICBwcmludCgid2FpdGluZyBmb3Igc2VydmVyIikKICAgICAgICAgc2VydmVyLnNodXRkb3duKCkKICAgICAgICAgc2VydmVyLnNlcnZlcl9jbG9zZSgpCiAgICAgICAgIHRocmVhZC5qb2luKCkKLSAgICAgICAgaWYgdmVyYm9zZTogcHJpbnQoImRvbmUiKQorICAgICAgICBpZiB2ZXJib3NlOgorICAgICAgICAgICAgcHJpbnQoImRvbmUiKQogCiAgICAgQGNvbnRleHRtYW5hZ2VyCiAgICAgZGVmIHJlYXBlZF9zZXJ2ZXIoc2VsZiwgaGRscik6CkBAIC0yNTYsNyArMjcyLDcgQEAKIAogICAgICAgICAgICAgZGVmIGNtZF9BVVRIRU5USUNBVEUoc2VsZiwgdGFnLCBhcmdzKToKICAgICAgICAgICAgICAgICBzZWxmLl9zZW5kX3RhZ2dlZCh0YWcsICdOTycsICd1bnJlY29nbml6ZWQgYXV0aGVudGljYXRpb24gJwotICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUge30nLmZvcm1hdChhcmdzWzBdKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZSB7fScuZm9ybWF0KGFyZ3NbMF0pKQogCiAgICAgICAgIHdpdGggc2VsZi5yZWFwZWRfcGFpcihNeVNlcnZlcikgYXMgKHNlcnZlciwgY2xpZW50KToKICAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoaW1hcGxpYi5JTUFQNC5lcnJvcik6CkBAIC0yOTAsMTMgKzMwNiwxMyBAQAogICAgICAgICAgICAgY29kZSwgZGF0YSA9IGNsaWVudC5hdXRoZW50aWNhdGUoJ01ZQVVUSCcsIGxhbWJkYSB4OiBiJ2Zha2UnKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb2RlLCAnT0snKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZXJ2ZXIucmVzcG9uc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGInWm1GclpRPT1cclxuJykgI2I2NCBlbmNvZGVkICdmYWtlJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiJ1ptRnJaUT09XHJcbicpICAjIGI2NCBlbmNvZGVkICdmYWtlJwogCiAgICAgICAgIHdpdGggc2VsZi5yZWFwZWRfcGFpcihNeVNlcnZlcikgYXMgKHNlcnZlciwgY2xpZW50KToKICAgICAgICAgICAgIGNvZGUsIGRhdGEgPSBjbGllbnQuYXV0aGVudGljYXRlKCdNWUFVVEgnLCBsYW1iZGEgeDogJ2Zha2UnKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb2RlLCAnT0snKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZXJ2ZXIucmVzcG9uc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGInWm1GclpRPT1cclxuJykgI2I2NCBlbmNvZGVkICdmYWtlJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiJ1ptRnJaUT09XHJcbicpICAjIGI2NCBlbmNvZGVkICdmYWtlJwogCiAgICAgQHJlYXBfdGhyZWFkcwogICAgIGRlZiB0ZXN0X2xvZ2luX2NyYW1fbWQ1KHNlbGYpOgpAQCAtMzA3LDkgKzMyMywxMCBAQAogCiAgICAgICAgICAgICBkZWYgY21kX0FVVEhFTlRJQ0FURShzZWxmLCB0YWcsIGFyZ3MpOgogICAgICAgICAgICAgICAgIHNlbGYuX3NlbmRfdGV4dGxpbmUoJysgUERFNE9UWXVOamszTVRjd09UVXlRSEJ2YzNSdlptWnBZMlV1Y20nCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVnpkRzl1TG0xamFTNXVaWFE9JykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWemRHOXVMbTFqYVM1dVpYUT0nKQogICAgICAgICAgICAgICAgIHIgPSB5aWVsZAotICAgICAgICAgICAgICAgIGlmIHIgPT0gIGInZEdsdElHWXhZMkUyWW1VME5qUmlPV1ZtWVRGalkyRTJabVprTm1ObU1tUTVaak15XHJcbic6CisgICAgICAgICAgICAgICAgaWYgKHIgPT0gYidkR2x0SUdZeFkyRTJZbVUwTmpSaU9XVm1ZVCcKKyAgICAgICAgICAgICAgICAgICAgICAgICBiJ0ZqWTJFMlptWmtObU5tTW1RNVpqTXlcclxuJyk6CiAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3NlbmRfdGFnZ2VkKHRhZywgJ09LJywgJ0NSQU0tTUQ1IHN1Y2Nlc3NmdWwnKQogICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3NlbmRfdGFnZ2VkKHRhZywgJ05PJywgJ05vIGFjY2VzcycpCkBAIC0zMjQsMjcgKzM0MSw0NSBAQAogICAgICAgICAgICAgcmV0LCBkYXRhID0gY2xpZW50LmxvZ2luX2NyYW1fbWQ1KCJ0aW0iLCBiInRhbnN0YWFmdGFuc3RhYWYiKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXQsICJPSyIpCiAKLQogICAgIGRlZiB0ZXN0X2xpbmV0b29sb25nKHNlbGYpOgogICAgICAgICBjbGFzcyBUb29Mb25nSGFuZGxlcihTaW1wbGVJTUFQSGFuZGxlcik6CiAgICAgICAgICAgICBkZWYgaGFuZGxlKHNlbGYpOgogICAgICAgICAgICAgICAgICMgU2VuZCBhIHZlcnkgbG9uZyByZXNwb25zZSBsaW5lCi0gICAgICAgICAgICAgICAgc2VsZi53ZmlsZS53cml0ZShiJyogT0sgJyArIGltYXBsaWIuX01BWExJTkUqYid4JyArIGInXHJcbicpCisgICAgICAgICAgICAgICAgc2VsZi53ZmlsZS53cml0ZShiJyogT0sgJyArIGltYXBsaWIuX01BWExJTkUgKiBiJ3gnICsgYidcclxuJykKIAogICAgICAgICB3aXRoIHNlbGYucmVhcGVkX3NlcnZlcihUb29Mb25nSGFuZGxlcikgYXMgc2VydmVyOgogICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoaW1hcGxpYi5JTUFQNC5lcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuaW1hcF9jbGFzcywgKnNlcnZlci5zZXJ2ZXJfYWRkcmVzcykKIAorICAgIEByZWFwX3RocmVhZHMKKyAgICBkZWYgdGVzdF9zaW1wbGVfd2l0aF9zdGF0ZW1lbnQoc2VsZik6CisgICAgICAgICMgc2ltcGxlc3QgY2FsbAorICAgICAgICB3aXRoIHNlbGYucmVhcGVkX3NlcnZlcihTaW1wbGVJTUFQSGFuZGxlcikgYXMgc2VydmVyOgorICAgICAgICAgICAgd2l0aCBzZWxmLmltYXBfY2xhc3MoKnNlcnZlci5zZXJ2ZXJfYWRkcmVzcyk6CisgICAgICAgICAgICAgICAgcGFzcwogCi1jbGFzcyBUaHJlYWRlZE5ldHdvcmtlZFRlc3RzKEJhc2VUaHJlYWRlZE5ldHdvcmtlZFRlc3RzKToKKyAgICBAcmVhcF90aHJlYWRzCisgICAgZGVmIHRlc3Rfd2l0aF9zdGF0ZW1lbnQoc2VsZik6CisgICAgICAgIHdpdGggc2VsZi5yZWFwZWRfc2VydmVyKFNpbXBsZUlNQVBIYW5kbGVyKSBhcyBzZXJ2ZXI6CisgICAgICAgICAgICB3aXRoIHNlbGYuaW1hcF9jbGFzcygqc2VydmVyLnNlcnZlcl9hZGRyZXNzKSBhcyBpbWFwOgorICAgICAgICAgICAgICAgIGltYXAubG9naW4oJ3VzZXInLCAncGFzcycpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZXJ2ZXIubG9nZ2VkLCAndXNlcicpCisgICAgICAgICAgICBzZWxmLmFzc2VydElzTm9uZShzZXJ2ZXIubG9nZ2VkKQogCi0gICAgc2VydmVyX2NsYXNzID0gc29ja2V0c2VydmVyLlRDUFNlcnZlcgotICAgIGltYXBfY2xhc3MgPSBpbWFwbGliLklNQVA0CisgICAgQHJlYXBfdGhyZWFkcworICAgIGRlZiB0ZXN0X3dpdGhfc3RhdGVtZW50X2xvZ291dChzZWxmKToKKyAgICAgICAgIyB3aGF0IGhhcHBlbnMgaWYgYWxyZWFkeSBsb2dvdXQgaW4gdGhlIGJsb2NrPworICAgICAgICB3aXRoIHNlbGYucmVhcGVkX3NlcnZlcihTaW1wbGVJTUFQSGFuZGxlcikgYXMgc2VydmVyOgorICAgICAgICAgICAgd2l0aCBzZWxmLmltYXBfY2xhc3MoKnNlcnZlci5zZXJ2ZXJfYWRkcmVzcykgYXMgaW1hcDoKKyAgICAgICAgICAgICAgICBpbWFwLmxvZ2luKCd1c2VyJywgJ3Bhc3MnKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VydmVyLmxvZ2dlZCwgJ3VzZXInKQorICAgICAgICAgICAgICAgIGltYXAubG9nb3V0KCkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydElzTm9uZShzZXJ2ZXIubG9nZ2VkKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoc2VydmVyLmxvZ2dlZCkKIAogCiBAdW5pdHRlc3Quc2tpcFVubGVzcyhzc2wsICJTU0wgbm90IGF2YWlsYWJsZSIpCi1jbGFzcyBUaHJlYWRlZE5ldHdvcmtlZFRlc3RzU1NMKEJhc2VUaHJlYWRlZE5ldHdvcmtlZFRlc3RzKToKLQorY2xhc3MgVGhyZWFkZWROZXR3b3JrZWRUZXN0c1NTTChUaHJlYWRlZE5ldHdvcmtlZFRlc3RzKToKICAgICBzZXJ2ZXJfY2xhc3MgPSBTZWN1cmVUQ1BTZXJ2ZXIKICAgICBpbWFwX2NsYXNzID0gSU1BUDRfU1NMCiAKQEAgLTM1NSw4ICszOTAsOSBAQAogICAgICAgICBzc2xfY29udGV4dC5jaGVja19ob3N0bmFtZSA9IFRydWUKICAgICAgICAgc3NsX2NvbnRleHQubG9hZF92ZXJpZnlfbG9jYXRpb25zKENBRklMRSkKIAotICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoc3NsLkNlcnRpZmljYXRlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaG9zdG5hbWUgJzEyNy4wLjAuMScgZG9lc24ndCBtYXRjaCAnbG9jYWxob3N0JyIpOgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoCisgICAgICAgICAgICAgICAgc3NsLkNlcnRpZmljYXRlRXJyb3IsCisgICAgICAgICAgICAgICAgImhvc3RuYW1lICcxMjcuMC4wLjEnIGRvZXNuJ3QgbWF0Y2ggJ2xvY2FsaG9zdCciKToKICAgICAgICAgICAgIHdpdGggc2VsZi5yZWFwZWRfc2VydmVyKFNpbXBsZUlNQVBIYW5kbGVyKSBhcyBzZXJ2ZXI6CiAgICAgICAgICAgICAgICAgY2xpZW50ID0gc2VsZi5pbWFwX2NsYXNzKCpzZXJ2ZXIuc2VydmVyX2FkZHJlc3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNzbF9jb250ZXh0PXNzbF9jb250ZXh0KQpAQCAtMzY4LDYgKzQwNCw4IEBACiAgICAgICAgICAgICBjbGllbnQuc2h1dGRvd24oKQogCiAKK0B1bml0dGVzdC5za2lwVW5sZXNzKAorICAgIHN1cHBvcnQuaXNfcmVzb3VyY2VfZW5hYmxlZCgnbmV0d29yaycpLCAnbmV0d29yayByZXNvdXJjZSBkaXNhYmxlZCcpCiBjbGFzcyBSZW1vdGVJTUFQVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgaG9zdCA9ICdjeXJ1cy5hbmRyZXcuY211LmVkdScKICAgICBwb3J0ID0gMTQzCkBAIC00MDEsNiArNDM5LDggQEAKIAogCiBAdW5pdHRlc3Quc2tpcFVubGVzcyhzc2wsICJTU0wgbm90IGF2YWlsYWJsZSIpCitAdW5pdHRlc3Quc2tpcFVubGVzcygKKyAgICBzdXBwb3J0LmlzX3Jlc291cmNlX2VuYWJsZWQoJ25ldHdvcmsnKSwgJ25ldHdvcmsgcmVzb3VyY2UgZGlzYWJsZWQnKQogY2xhc3MgUmVtb3RlSU1BUF9TVEFSVFRMU1Rlc3QoUmVtb3RlSU1BUFRlc3QpOgogCiAgICAgZGVmIHNldFVwKHNlbGYpOgpAQCAtNDU0LDcgKzQ5NCw4IEBACiAKICAgICBkZWYgdGVzdF9sb2dpbmNhcGFfd2l0aF9jbGllbnRfc3NsX2NvbnRleHQoc2VsZik6CiAgICAgICAgIHdpdGggdHJhbnNpZW50X2ludGVybmV0KHNlbGYuaG9zdCk6Ci0gICAgICAgICAgICBfc2VydmVyID0gc2VsZi5pbWFwX2NsYXNzKHNlbGYuaG9zdCwgc2VsZi5wb3J0LCBzc2xfY29udGV4dD1zZWxmLmNyZWF0ZV9zc2xfY29udGV4dCgpKQorICAgICAgICAgICAgX3NlcnZlciA9IHNlbGYuaW1hcF9jbGFzcygKKyAgICAgICAgICAgICAgICBzZWxmLmhvc3QsIHNlbGYucG9ydCwgc3NsX2NvbnRleHQ9c2VsZi5jcmVhdGVfc3NsX2NvbnRleHQoKSkKICAgICAgICAgICAgIHNlbGYuY2hlY2tfbG9naW5jYXBhKF9zZXJ2ZXIpCiAKICAgICBkZWYgdGVzdF9sb2dvdXQoc2VsZik6CkBAIC00NjUsMzUgKzUwNiwxNSBAQAogCiAgICAgZGVmIHRlc3Rfc3NsX2NvbnRleHRfY2VydGZpbGVfZXhjbHVzaXZlKHNlbGYpOgogICAgICAgICB3aXRoIHRyYW5zaWVudF9pbnRlcm5ldChzZWxmLmhvc3QpOgotICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgc2VsZi5pbWFwX2NsYXNzLCBzZWxmLmhvc3QsIHNlbGYucG9ydCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlcnRmaWxlPUNFUlRGSUxFLCBzc2xfY29udGV4dD1zZWxmLmNyZWF0ZV9zc2xfY29udGV4dCgpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoCisgICAgICAgICAgICAgICAgVmFsdWVFcnJvciwgc2VsZi5pbWFwX2NsYXNzLCBzZWxmLmhvc3QsIHNlbGYucG9ydCwKKyAgICAgICAgICAgICAgICBjZXJ0ZmlsZT1DRVJURklMRSwgc3NsX2NvbnRleHQ9c2VsZi5jcmVhdGVfc3NsX2NvbnRleHQoKSkKIAogICAgIGRlZiB0ZXN0X3NzbF9jb250ZXh0X2tleWZpbGVfZXhjbHVzaXZlKHNlbGYpOgogICAgICAgICB3aXRoIHRyYW5zaWVudF9pbnRlcm5ldChzZWxmLmhvc3QpOgotICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgc2VsZi5pbWFwX2NsYXNzLCBzZWxmLmhvc3QsIHNlbGYucG9ydCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleWZpbGU9Q0VSVEZJTEUsIHNzbF9jb250ZXh0PXNlbGYuY3JlYXRlX3NzbF9jb250ZXh0KCkpCi0KLQotZGVmIGxvYWRfdGVzdHMoKmFyZ3MpOgotICAgIHRlc3RzID0gW1Rlc3RJbWFwbGliXQotCi0gICAgaWYgc3VwcG9ydC5pc19yZXNvdXJjZV9lbmFibGVkKCduZXR3b3JrJyk6Ci0gICAgICAgIGlmIHNzbDoKLSAgICAgICAgICAgIGdsb2JhbCBDRVJURklMRSwgQ0FGSUxFCi0gICAgICAgICAgICBDRVJURklMRSA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pIG9yIG9zLmN1cmRpciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJrZXljZXJ0My5wZW0iKQotICAgICAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKENFUlRGSUxFKToKLSAgICAgICAgICAgICAgICByYWlzZSBzdXBwb3J0LlRlc3RGYWlsZWQoIkNhbid0IHJlYWQgY2VydGlmaWNhdGUgZmlsZXMhIikKLSAgICAgICAgICAgIENBRklMRSA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pIG9yIG9zLmN1cmRpciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJweWNhY2VydC5wZW0iKQotICAgICAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKENBRklMRSk6Ci0gICAgICAgICAgICAgICAgcmFpc2Ugc3VwcG9ydC5UZXN0RmFpbGVkKCJDYW4ndCByZWFkIENBIGZpbGUhIikKLSAgICAgICAgdGVzdHMuZXh0ZW5kKFsKLSAgICAgICAgICAgIFRocmVhZGVkTmV0d29ya2VkVGVzdHMsIFRocmVhZGVkTmV0d29ya2VkVGVzdHNTU0wsCi0gICAgICAgICAgICBSZW1vdGVJTUFQVGVzdCwgUmVtb3RlSU1BUF9TU0xUZXN0LCBSZW1vdGVJTUFQX1NUQVJUVExTVGVzdCwKLSAgICAgICAgXSkKLQotICAgIHJldHVybiB1bml0dGVzdC5UZXN0U3VpdGUoW3VuaXR0ZXN0Lm1ha2VTdWl0ZSh0ZXN0KSBmb3IgdGVzdCBpbiB0ZXN0c10pCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcygKKyAgICAgICAgICAgICAgICBWYWx1ZUVycm9yLCBzZWxmLmltYXBfY2xhc3MsIHNlbGYuaG9zdCwgc2VsZi5wb3J0LAorICAgICAgICAgICAgICAgIGtleWZpbGU9Q0VSVEZJTEUsIHNzbF9jb250ZXh0PXNlbGYuY3JlYXRlX3NzbF9jb250ZXh0KCkpCiAKIAogaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1naGRyLnB5IGIvTGliL3Rlc3QvdGVzdF9pbWdoZHIucHkKaW5kZXggMGFkNDM0My4uYjU0ZGFmOCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9pbWdoZHIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9pbWdoZHIucHkKQEAgLTE2LDcgKzE2LDkgQEAKICAgICAoJ3B5dGhvbi5yYXMnLCAncmFzdCcpLAogICAgICgncHl0aG9uLnNnaScsICdyZ2InKSwKICAgICAoJ3B5dGhvbi50aWZmJywgJ3RpZmYnKSwKLSAgICAoJ3B5dGhvbi54Ym0nLCAneGJtJykKKyAgICAoJ3B5dGhvbi54Ym0nLCAneGJtJyksCisgICAgKCdweXRob24ud2VicCcsICd3ZWJwJyksCisgICAgKCdweXRob24uZXhyJywgJ2V4cicpLAogKQogCiBjbGFzcyBVbnNlZWthYmxlSU8oaW8uRmlsZUlPKToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0LnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnQvX19pbml0X18ucHkKc2ltaWxhcml0eSBpbmRleCA5NSUKcmVuYW1lIGZyb20gTGliL3Rlc3QvdGVzdF9pbXBvcnQucHkKcmVuYW1lIHRvIExpYi90ZXN0L3Rlc3RfaW1wb3J0L19faW5pdF9fLnB5CmluZGV4IGI0ODQyYzUuLmZkMjFmYTIgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0L19faW5pdF9fLnB5CkBAIC01NjgsNyArNTY4LDcgQEAKIAogICAgIGRlZiB0ZXN0X3JlbGltcG9ydF9zdGFyKHNlbGYpOgogICAgICAgICAjIFRoaXMgd2lsbCBpbXBvcnQgKiBmcm9tIC50ZXN0X2ltcG9ydC4KLSAgICAgICAgZnJvbSAuIGltcG9ydCByZWxpbXBvcnQKKyAgICAgICAgZnJvbSAuLiBpbXBvcnQgcmVsaW1wb3J0CiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShoYXNhdHRyKHJlbGltcG9ydCwgIlJlbGF0aXZlSW1wb3J0VGVzdHMiKSkKIAogICAgIGRlZiB0ZXN0X2lzc3VlMzIyMShzZWxmKToKQEAgLTEwNjgsNiArMTA2OCw0NiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19pc29sYXRlZD1GYWxzZSkKIAogCitjbGFzcyBDaXJjdWxhckltcG9ydFRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgICIiIlNlZSB0aGUgZG9jc3RyaW5ncyBvZiB0aGUgbW9kdWxlcyBiZWluZyBpbXBvcnRlZCBmb3IgdGhlIHB1cnBvc2Ugb2YgdGhlCisgICAgdGVzdC4iIiIKKworICAgIGRlZiB0ZWFyRG93bihzZWxmKToKKyAgICAgICAgIiIiTWFrZSBzdXJlIG5vIG1vZHVsZXMgcHJlLWV4aXN0IGluIHN5cy5tb2R1bGVzIHdoaWNoIGFyZSBiZWluZyB1c2VkIHRvCisgICAgICAgIHRlc3QuIiIiCisgICAgICAgIGZvciBrZXkgaW4gbGlzdChzeXMubW9kdWxlcy5rZXlzKCkpOgorICAgICAgICAgICAgaWYga2V5LnN0YXJ0c3dpdGgoJ3Rlc3QudGVzdF9pbXBvcnQuZGF0YS5jaXJjdWxhcl9pbXBvcnRzJyk6CisgICAgICAgICAgICAgICAgZGVsIHN5cy5tb2R1bGVzW2tleV0KKworICAgIGRlZiB0ZXN0X2RpcmVjdChzZWxmKToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgaW1wb3J0IHRlc3QudGVzdF9pbXBvcnQuZGF0YS5jaXJjdWxhcl9pbXBvcnRzLmJhc2ljCisgICAgICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICAgICAgICAgIHNlbGYuZmFpbCgnY2lyY3VsYXIgaW1wb3J0IHRocm91Z2ggcmVsYXRpdmUgaW1wb3J0cyBmYWlsZWQnKQorCisgICAgZGVmIHRlc3RfaW5kaXJlY3Qoc2VsZik6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGltcG9ydCB0ZXN0LnRlc3RfaW1wb3J0LmRhdGEuY2lyY3VsYXJfaW1wb3J0cy5pbmRpcmVjdAorICAgICAgICBleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgICAgICAgICBzZWxmLmZhaWwoJ3JlbGF0aXZlIGltcG9ydCBpbiBtb2R1bGUgY29udHJpYnV0aW5nIHRvIGNpcmN1bGFyICcKKyAgICAgICAgICAgICAgICAgICAgICAnaW1wb3J0IGZhaWxlZCcpCisKKyAgICBkZWYgdGVzdF9zdWJwYWNrYWdlKHNlbGYpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICBpbXBvcnQgdGVzdC50ZXN0X2ltcG9ydC5kYXRhLmNpcmN1bGFyX2ltcG9ydHMuc3VicGFja2FnZQorICAgICAgICBleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgICAgICAgICBzZWxmLmZhaWwoJ2NpcmN1bGFyIGltcG9ydCBpbnZvbHZpbmcgYSBzdWJwYWNrYWdlIGZhaWxlZCcpCisKKyAgICBkZWYgdGVzdF9yZWJpbmRpbmcoc2VsZik6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGltcG9ydCB0ZXN0LnRlc3RfaW1wb3J0LmRhdGEuY2lyY3VsYXJfaW1wb3J0cy5yZWJpbmRpbmcgYXMgcmViaW5kaW5nCisgICAgICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICAgICAgICAgIHNlbGYuZmFpbCgnY2lyY3VsYXIgaW1wb3J0IHdpdGggcmViaW5kaW5nIG9mIG1vZHVsZSBhdHRyaWJ1dGUgZmFpbGVkJykKKyAgICAgICAgZnJvbSB0ZXN0LnRlc3RfaW1wb3J0LmRhdGEuY2lyY3VsYXJfaW1wb3J0cy5zdWJwa2cgaW1wb3J0IHV0aWwKKyAgICAgICAgc2VsZi5hc3NlcnRJcyh1dGlsLnV0aWwsIHJlYmluZGluZy51dGlsKQorCisKIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CiAgICAgIyBUZXN0IG5lZWRzIHRvIGJlIGEgcGFja2FnZSwgc28gd2UgY2FuIGRvIHJlbGF0aXZlIGltcG9ydHMuCiAgICAgdW5pdHRlc3QubWFpbigpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ltcG9ydC9fX21haW5fXy5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0L19fbWFpbl9fLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0ZjAyYTEKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydC9fX21haW5fXy5weQpAQCAtMCwwICsxLDMgQEAKK2ltcG9ydCB1bml0dGVzdAorCit1bml0dGVzdC5tYWluKCd0ZXN0LnRlc3RfaW1wb3J0JykKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0L2RhdGEvY2lyY3VsYXJfaW1wb3J0cy9iYXNpYy5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0L2RhdGEvY2lyY3VsYXJfaW1wb3J0cy9iYXNpYy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZTQxZTM5Ci0tLSAvZGV2L251bGwKKysrIGIvTGliL3Rlc3QvdGVzdF9pbXBvcnQvZGF0YS9jaXJjdWxhcl9pbXBvcnRzL2Jhc2ljLnB5CkBAIC0wLDAgKzEsMiBAQAorIiIiQ2lyY3VsYXIgaW1wb3J0cyB0aHJvdWdoIGRpcmVjdCwgcmVsYXRpdmUgaW1wb3J0cy4iIiIKK2Zyb20gLiBpbXBvcnQgYmFzaWMyCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ltcG9ydC9kYXRhL2NpcmN1bGFyX2ltcG9ydHMvYmFzaWMyLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnQvZGF0YS9jaXJjdWxhcl9pbXBvcnRzL2Jhc2ljMi5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMGJkMmYyCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3Rlc3QvdGVzdF9pbXBvcnQvZGF0YS9jaXJjdWxhcl9pbXBvcnRzL2Jhc2ljMi5weQpAQCAtMCwwICsxIEBACitmcm9tIC4gaW1wb3J0IGJhc2ljCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ltcG9ydC9kYXRhL2NpcmN1bGFyX2ltcG9ydHMvaW5kaXJlY3QucHkgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydC9kYXRhL2NpcmN1bGFyX2ltcG9ydHMvaW5kaXJlY3QucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjkyNTc4OAotLS0gL2Rldi9udWxsCisrKyBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0L2RhdGEvY2lyY3VsYXJfaW1wb3J0cy9pbmRpcmVjdC5weQpAQCAtMCwwICsxIEBACitmcm9tIC4gaW1wb3J0IGJhc2ljLCBiYXNpYzIKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0L2RhdGEvY2lyY3VsYXJfaW1wb3J0cy9yZWJpbmRpbmcucHkgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydC9kYXRhL2NpcmN1bGFyX2ltcG9ydHMvcmViaW5kaW5nLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiNzczNzUKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydC9kYXRhL2NpcmN1bGFyX2ltcG9ydHMvcmViaW5kaW5nLnB5CkBAIC0wLDAgKzEsMyBAQAorIiIiVGVzdCB0aGUgYmluZGluZyBvZiBuYW1lcyB3aGVuIGEgY2lyY3VsYXIgaW1wb3J0IHNoYXJlcyB0aGUgc2FtZSBuYW1lIGFzIGFuCithdHRyaWJ1dGUuIiIiCitmcm9tIC5yZWJpbmRpbmcyIGltcG9ydCB1dGlsCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ltcG9ydC9kYXRhL2NpcmN1bGFyX2ltcG9ydHMvcmViaW5kaW5nMi5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0L2RhdGEvY2lyY3VsYXJfaW1wb3J0cy9yZWJpbmRpbmcyLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3YTllNjkKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydC9kYXRhL2NpcmN1bGFyX2ltcG9ydHMvcmViaW5kaW5nMi5weQpAQCAtMCwwICsxLDMgQEAKK2Zyb20gLnN1YnBrZyBpbXBvcnQgdXRpbAorZnJvbSAuIGltcG9ydCByZWJpbmRpbmcKK3V0aWwgPSB1dGlsLnV0aWwKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0L2RhdGEvY2lyY3VsYXJfaW1wb3J0cy9zdWJwYWNrYWdlLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnQvZGF0YS9jaXJjdWxhcl9pbXBvcnRzL3N1YnBhY2thZ2UucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2I0MTJmNwotLS0gL2Rldi9udWxsCisrKyBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0L2RhdGEvY2lyY3VsYXJfaW1wb3J0cy9zdWJwYWNrYWdlLnB5CkBAIC0wLDAgKzEsMiBAQAorIiIiQ2lyY3VsYXIgaW1wb3J0IGludm9sdmluZyBhIHN1Yi1wYWNrYWdlLiIiIgorZnJvbSAuc3VicGtnIGltcG9ydCBzdWJwYWNrYWdlMgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXBvcnQvZGF0YS9jaXJjdWxhcl9pbXBvcnRzL3N1YnBrZy9zdWJwYWNrYWdlMi5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0L2RhdGEvY2lyY3VsYXJfaW1wb3J0cy9zdWJwa2cvc3VicGFja2FnZTIucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTdiODkzYQotLS0gL2Rldi9udWxsCisrKyBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0L2RhdGEvY2lyY3VsYXJfaW1wb3J0cy9zdWJwa2cvc3VicGFja2FnZTIucHkKQEAgLTAsMCArMSwyIEBACisjZnJvbSAudXRpbCBpbXBvcnQgdXRpbAorZnJvbSAuLiBpbXBvcnQgc3VicGFja2FnZQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXBvcnQvZGF0YS9jaXJjdWxhcl9pbXBvcnRzL3N1YnBrZy91dGlsLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnQvZGF0YS9jaXJjdWxhcl9pbXBvcnRzL3N1YnBrZy91dGlsLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0M2JkODQKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydC9kYXRhL2NpcmN1bGFyX2ltcG9ydHMvc3VicGtnL3V0aWwucHkKQEAgLTAsMCArMSwyIEBACitkZWYgdXRpbCgpOgorICAgIHBhc3MKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0L2RhdGEvY2lyY3VsYXJfaW1wb3J0cy91dGlsLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnQvZGF0YS9jaXJjdWxhcl9pbXBvcnRzL3V0aWwucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzQzYmQ4NAotLS0gL2Rldi9udWxsCisrKyBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0L2RhdGEvY2lyY3VsYXJfaW1wb3J0cy91dGlsLnB5CkBAIC0wLDAgKzEsMiBAQAorZGVmIHV0aWwoKToKKyAgICBwYXNzCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9idWlsdGluL3Rlc3RfZmluZGVyLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvYnVpbHRpbi90ZXN0X2ZpbmRlci5weQppbmRleCA5MzQ1NjJmLi5hMmU2ZTFlIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9idWlsdGluL3Rlc3RfZmluZGVyLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2J1aWx0aW4vdGVzdF9maW5kZXIucHkKQEAgLTEsMjEgKzEsMjEgQEAKIGZyb20gLi4gaW1wb3J0IGFiYwogZnJvbSAuLiBpbXBvcnQgdXRpbAotZnJvbSAuIGltcG9ydCB1dGlsIGFzIGJ1aWx0aW5fdXRpbAogCi1mcm96ZW5fbWFjaGluZXJ5LCBzb3VyY2VfbWFjaGluZXJ5ID0gdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWIubWFjaGluZXJ5JykKK21hY2hpbmVyeSA9IHV0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliLm1hY2hpbmVyeScpCiAKIGltcG9ydCBzeXMKIGltcG9ydCB1bml0dGVzdAogCiAKK0B1bml0dGVzdC5za2lwSWYodXRpbC5CVUlMVElOUy5nb29kX25hbWUgaXMgTm9uZSwgJ25vIHJlYXNvbmFibGUgYnVpbHRpbiBtb2R1bGUnKQogY2xhc3MgRmluZFNwZWNUZXN0cyhhYmMuRmluZGVyVGVzdHMpOgogCiAgICAgIiIiVGVzdCBmaW5kX3NwZWMoKSBmb3IgYnVpbHQtaW4gbW9kdWxlcy4iIiIKIAogICAgIGRlZiB0ZXN0X21vZHVsZShzZWxmKToKICAgICAgICAgIyBDb21tb24gY2FzZS4KLSAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUoYnVpbHRpbl91dGlsLk5BTUUpOgotICAgICAgICAgICAgZm91bmQgPSBzZWxmLm1hY2hpbmVyeS5CdWlsdGluSW1wb3J0ZXIuZmluZF9zcGVjKGJ1aWx0aW5fdXRpbC5OQU1FKQorICAgICAgICB3aXRoIHV0aWwudW5jYWNoZSh1dGlsLkJVSUxUSU5TLmdvb2RfbmFtZSk6CisgICAgICAgICAgICBmb3VuZCA9IHNlbGYubWFjaGluZXJ5LkJ1aWx0aW5JbXBvcnRlci5maW5kX3NwZWModXRpbC5CVUlMVElOUy5nb29kX25hbWUpCiAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoZm91bmQpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZvdW5kLm9yaWdpbiwgJ2J1aWx0LWluJykKIApAQCAtMzksMjMgKzM5LDI2IEBACiAKICAgICBkZWYgdGVzdF9pZ25vcmVfcGF0aChzZWxmKToKICAgICAgICAgIyBUaGUgdmFsdWUgZm9yICdwYXRoJyBzaG91bGQgYWx3YXlzIHRyaWdnZXIgYSBmYWlsZWQgaW1wb3J0LgotICAgICAgICB3aXRoIHV0aWwudW5jYWNoZShidWlsdGluX3V0aWwuTkFNRSk6Ci0gICAgICAgICAgICBzcGVjID0gc2VsZi5tYWNoaW5lcnkuQnVpbHRpbkltcG9ydGVyLmZpbmRfc3BlYyhidWlsdGluX3V0aWwuTkFNRSwKKyAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUodXRpbC5CVUlMVElOUy5nb29kX25hbWUpOgorICAgICAgICAgICAgc3BlYyA9IHNlbGYubWFjaGluZXJ5LkJ1aWx0aW5JbXBvcnRlci5maW5kX3NwZWModXRpbC5CVUlMVElOUy5nb29kX25hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJ3BrZyddKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoc3BlYykKIAotRnJvemVuX0ZpbmRTcGVjVGVzdHMsIFNvdXJjZV9GaW5kU3BlY1Rlc3RzID0gdXRpbC50ZXN0X2JvdGgoRmluZFNwZWNUZXN0cywKLSAgICAgICAgbWFjaGluZXJ5PVtmcm96ZW5fbWFjaGluZXJ5LCBzb3VyY2VfbWFjaGluZXJ5XSkKKworKEZyb3plbl9GaW5kU3BlY1Rlc3RzLAorIFNvdXJjZV9GaW5kU3BlY1Rlc3RzCisgKSA9IHV0aWwudGVzdF9ib3RoKEZpbmRTcGVjVGVzdHMsIG1hY2hpbmVyeT1tYWNoaW5lcnkpCiAKIAorQHVuaXR0ZXN0LnNraXBJZih1dGlsLkJVSUxUSU5TLmdvb2RfbmFtZSBpcyBOb25lLCAnbm8gcmVhc29uYWJsZSBidWlsdGluIG1vZHVsZScpCiBjbGFzcyBGaW5kZXJUZXN0cyhhYmMuRmluZGVyVGVzdHMpOgogCiAgICAgIiIiVGVzdCBmaW5kX21vZHVsZSgpIGZvciBidWlsdC1pbiBtb2R1bGVzLiIiIgogCiAgICAgZGVmIHRlc3RfbW9kdWxlKHNlbGYpOgogICAgICAgICAjIENvbW1vbiBjYXNlLgotICAgICAgICB3aXRoIHV0aWwudW5jYWNoZShidWlsdGluX3V0aWwuTkFNRSk6Ci0gICAgICAgICAgICBmb3VuZCA9IHNlbGYubWFjaGluZXJ5LkJ1aWx0aW5JbXBvcnRlci5maW5kX21vZHVsZShidWlsdGluX3V0aWwuTkFNRSkKKyAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUodXRpbC5CVUlMVElOUy5nb29kX25hbWUpOgorICAgICAgICAgICAgZm91bmQgPSBzZWxmLm1hY2hpbmVyeS5CdWlsdGluSW1wb3J0ZXIuZmluZF9tb2R1bGUodXRpbC5CVUlMVElOUy5nb29kX25hbWUpCiAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoZm91bmQpCiAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoaGFzYXR0cihmb3VuZCwgJ2xvYWRfbW9kdWxlJykpCiAKQEAgLTcyLDEzICs3NSwxNSBAQAogCiAgICAgZGVmIHRlc3RfaWdub3JlX3BhdGgoc2VsZik6CiAgICAgICAgICMgVGhlIHZhbHVlIGZvciAncGF0aCcgc2hvdWxkIGFsd2F5cyB0cmlnZ2VyIGEgZmFpbGVkIGltcG9ydC4KLSAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUoYnVpbHRpbl91dGlsLk5BTUUpOgotICAgICAgICAgICAgbG9hZGVyID0gc2VsZi5tYWNoaW5lcnkuQnVpbHRpbkltcG9ydGVyLmZpbmRfbW9kdWxlKGJ1aWx0aW5fdXRpbC5OQU1FLAorICAgICAgICB3aXRoIHV0aWwudW5jYWNoZSh1dGlsLkJVSUxUSU5TLmdvb2RfbmFtZSk6CisgICAgICAgICAgICBsb2FkZXIgPSBzZWxmLm1hY2hpbmVyeS5CdWlsdGluSW1wb3J0ZXIuZmluZF9tb2R1bGUodXRpbC5CVUlMVElOUy5nb29kX25hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJ3BrZyddKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUobG9hZGVyKQogCi1Gcm96ZW5fRmluZGVyVGVzdHMsIFNvdXJjZV9GaW5kZXJUZXN0cyA9IHV0aWwudGVzdF9ib3RoKEZpbmRlclRlc3RzLAotICAgICAgICBtYWNoaW5lcnk9W2Zyb3plbl9tYWNoaW5lcnksIHNvdXJjZV9tYWNoaW5lcnldKQorCisoRnJvemVuX0ZpbmRlclRlc3RzLAorIFNvdXJjZV9GaW5kZXJUZXN0cworICkgPSB1dGlsLnRlc3RfYm90aChGaW5kZXJUZXN0cywgbWFjaGluZXJ5PW1hY2hpbmVyeSkKIAogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvYnVpbHRpbi90ZXN0X2xvYWRlci5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2J1aWx0aW4vdGVzdF9sb2FkZXIucHkKaW5kZXggMWY4MzU3NC4uMTY4NGFiNiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvYnVpbHRpbi90ZXN0X2xvYWRlci5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9idWlsdGluL3Rlc3RfbG9hZGVyLnB5CkBAIC0xLDE0ICsxLDEzIEBACiBmcm9tIC4uIGltcG9ydCBhYmMKIGZyb20gLi4gaW1wb3J0IHV0aWwKLWZyb20gLiBpbXBvcnQgdXRpbCBhcyBidWlsdGluX3V0aWwKIAotZnJvemVuX21hY2hpbmVyeSwgc291cmNlX21hY2hpbmVyeSA9IHV0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliLm1hY2hpbmVyeScpCittYWNoaW5lcnkgPSB1dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYi5tYWNoaW5lcnknKQogCiBpbXBvcnQgc3lzCiBpbXBvcnQgdHlwZXMKIGltcG9ydCB1bml0dGVzdAogCi0KK0B1bml0dGVzdC5za2lwSWYodXRpbC5CVUlMVElOUy5nb29kX25hbWUgaXMgTm9uZSwgJ25vIHJlYXNvbmFibGUgYnVpbHRpbiBtb2R1bGUnKQogY2xhc3MgTG9hZGVyVGVzdHMoYWJjLkxvYWRlclRlc3RzKToKIAogICAgICIiIlRlc3QgbG9hZF9tb2R1bGUoKSBmb3IgYnVpbHQtaW4gbW9kdWxlcy4iIiIKQEAgLTI5LDggKzI4LDggQEAKIAogICAgIGRlZiB0ZXN0X21vZHVsZShzZWxmKToKICAgICAgICAgIyBDb21tb24gY2FzZS4KLSAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUoYnVpbHRpbl91dGlsLk5BTUUpOgotICAgICAgICAgICAgbW9kdWxlID0gc2VsZi5sb2FkX21vZHVsZShidWlsdGluX3V0aWwuTkFNRSkKKyAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUodXRpbC5CVUlMVElOUy5nb29kX25hbWUpOgorICAgICAgICAgICAgbW9kdWxlID0gc2VsZi5sb2FkX21vZHVsZSh1dGlsLkJVSUxUSU5TLmdvb2RfbmFtZSkKICAgICAgICAgICAgIHNlbGYudmVyaWZ5KG1vZHVsZSkKIAogICAgICMgQnVpbHQtaW4gbW9kdWxlcyBjYW5ub3QgYmUgYSBwYWNrYWdlLgpAQCAtNDEsOSArNDAsOSBAQAogCiAgICAgZGVmIHRlc3RfbW9kdWxlX3JldXNlKHNlbGYpOgogICAgICAgICAjIFRlc3QgdGhhdCB0aGUgc2FtZSBtb2R1bGUgaXMgdXNlZCBpbiBhIHJlbG9hZC4KLSAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUoYnVpbHRpbl91dGlsLk5BTUUpOgotICAgICAgICAgICAgbW9kdWxlMSA9IHNlbGYubG9hZF9tb2R1bGUoYnVpbHRpbl91dGlsLk5BTUUpCi0gICAgICAgICAgICBtb2R1bGUyID0gc2VsZi5sb2FkX21vZHVsZShidWlsdGluX3V0aWwuTkFNRSkKKyAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUodXRpbC5CVUlMVElOUy5nb29kX25hbWUpOgorICAgICAgICAgICAgbW9kdWxlMSA9IHNlbGYubG9hZF9tb2R1bGUodXRpbC5CVUlMVElOUy5nb29kX25hbWUpCisgICAgICAgICAgICBtb2R1bGUyID0gc2VsZi5sb2FkX21vZHVsZSh1dGlsLkJVSUxUSU5TLmdvb2RfbmFtZSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMobW9kdWxlMSwgbW9kdWxlMikKIAogICAgIGRlZiB0ZXN0X3VubG9hZGFibGUoc2VsZik6CkBAIC02Niw0MCArNjUsNDQgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbS5leGNlcHRpb24ubmFtZSwgbW9kdWxlX25hbWUpCiAKIAotRnJvemVuX0xvYWRlclRlc3RzLCBTb3VyY2VfTG9hZGVyVGVzdHMgPSB1dGlsLnRlc3RfYm90aChMb2FkZXJUZXN0cywKLSAgICAgICAgbWFjaGluZXJ5PVtmcm96ZW5fbWFjaGluZXJ5LCBzb3VyY2VfbWFjaGluZXJ5XSkKKyhGcm96ZW5fTG9hZGVyVGVzdHMsCisgU291cmNlX0xvYWRlclRlc3RzCisgKSA9IHV0aWwudGVzdF9ib3RoKExvYWRlclRlc3RzLCBtYWNoaW5lcnk9bWFjaGluZXJ5KQogCiAKK0B1bml0dGVzdC5za2lwSWYodXRpbC5CVUlMVElOUy5nb29kX25hbWUgaXMgTm9uZSwgJ25vIHJlYXNvbmFibGUgYnVpbHRpbiBtb2R1bGUnKQogY2xhc3MgSW5zcGVjdExvYWRlclRlc3RzOgogCiAgICAgIiIiVGVzdHMgZm9yIEluc3BlY3RMb2FkZXIgbWV0aG9kcyBmb3IgQnVpbHRpbkltcG9ydGVyLiIiIgogCiAgICAgZGVmIHRlc3RfZ2V0X2NvZGUoc2VsZik6CiAgICAgICAgICMgVGhlcmUgaXMgbm8gY29kZSBvYmplY3QuCi0gICAgICAgIHJlc3VsdCA9IHNlbGYubWFjaGluZXJ5LkJ1aWx0aW5JbXBvcnRlci5nZXRfY29kZShidWlsdGluX3V0aWwuTkFNRSkKKyAgICAgICAgcmVzdWx0ID0gc2VsZi5tYWNoaW5lcnkuQnVpbHRpbkltcG9ydGVyLmdldF9jb2RlKHV0aWwuQlVJTFRJTlMuZ29vZF9uYW1lKQogICAgICAgICBzZWxmLmFzc2VydElzTm9uZShyZXN1bHQpCiAKICAgICBkZWYgdGVzdF9nZXRfc291cmNlKHNlbGYpOgogICAgICAgICAjIFRoZXJlIGlzIG5vIHNvdXJjZS4KLSAgICAgICAgcmVzdWx0ID0gc2VsZi5tYWNoaW5lcnkuQnVpbHRpbkltcG9ydGVyLmdldF9zb3VyY2UoYnVpbHRpbl91dGlsLk5BTUUpCisgICAgICAgIHJlc3VsdCA9IHNlbGYubWFjaGluZXJ5LkJ1aWx0aW5JbXBvcnRlci5nZXRfc291cmNlKHV0aWwuQlVJTFRJTlMuZ29vZF9uYW1lKQogICAgICAgICBzZWxmLmFzc2VydElzTm9uZShyZXN1bHQpCiAKICAgICBkZWYgdGVzdF9pc19wYWNrYWdlKHNlbGYpOgogICAgICAgICAjIENhbm5vdCBiZSBhIHBhY2thZ2UuCi0gICAgICAgIHJlc3VsdCA9IHNlbGYubWFjaGluZXJ5LkJ1aWx0aW5JbXBvcnRlci5pc19wYWNrYWdlKGJ1aWx0aW5fdXRpbC5OQU1FKQorICAgICAgICByZXN1bHQgPSBzZWxmLm1hY2hpbmVyeS5CdWlsdGluSW1wb3J0ZXIuaXNfcGFja2FnZSh1dGlsLkJVSUxUSU5TLmdvb2RfbmFtZSkKICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShyZXN1bHQpCiAKKyAgICBAdW5pdHRlc3Quc2tpcElmKHV0aWwuQlVJTFRJTlMuYmFkX25hbWUgaXMgTm9uZSwgJ2FsbCBtb2R1bGVzIGFyZSBidWlsdCBpbicpCiAgICAgZGVmIHRlc3Rfbm90X2J1aWx0aW4oc2VsZik6CiAgICAgICAgICMgTW9kdWxlcyBub3QgYnVpbHQtaW4gc2hvdWxkIHJhaXNlIEltcG9ydEVycm9yLgogICAgICAgICBmb3IgbWV0aF9uYW1lIGluICgnZ2V0X2NvZGUnLCAnZ2V0X3NvdXJjZScsICdpc19wYWNrYWdlJyk6CiAgICAgICAgICAgICBtZXRob2QgPSBnZXRhdHRyKHNlbGYubWFjaGluZXJ5LkJ1aWx0aW5JbXBvcnRlciwgbWV0aF9uYW1lKQogICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEltcG9ydEVycm9yKSBhcyBjbToKLSAgICAgICAgICAgIG1ldGhvZChidWlsdGluX3V0aWwuQkFEX05BTUUpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKGJ1aWx0aW5fdXRpbC5CQURfTkFNRSkKKyAgICAgICAgICAgIG1ldGhvZCh1dGlsLkJVSUxUSU5TLmJhZF9uYW1lKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyh1dGlsLkJVSUxUSU5TLmJhZF9uYW1lKQogCi1Gcm96ZW5fSW5zcGVjdExvYWRlclRlc3RzLCBTb3VyY2VfSW5zcGVjdExvYWRlclRlc3RzID0gdXRpbC50ZXN0X2JvdGgoCi0gICAgICAgIEluc3BlY3RMb2FkZXJUZXN0cywKLSAgICAgICAgbWFjaGluZXJ5PVtmcm96ZW5fbWFjaGluZXJ5LCBzb3VyY2VfbWFjaGluZXJ5XSkKKworKEZyb3plbl9JbnNwZWN0TG9hZGVyVGVzdHMsCisgU291cmNlX0luc3BlY3RMb2FkZXJUZXN0cworICkgPSB1dGlsLnRlc3RfYm90aChJbnNwZWN0TG9hZGVyVGVzdHMsIG1hY2hpbmVyeT1tYWNoaW5lcnkpCiAKIAogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2J1aWx0aW4vdXRpbC5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2J1aWx0aW4vdXRpbC5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTcwNDY5OS4uMDAwMDAwMAotLS0gYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9idWlsdGluL3V0aWwucHkKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLWltcG9ydCBzeXMKLQotYXNzZXJ0ICdlcnJubycgaW4gc3lzLmJ1aWx0aW5fbW9kdWxlX25hbWVzCi1OQU1FID0gJ2Vycm5vJwotCi1hc3NlcnQgJ2ltcG9ydGxpYicgbm90IGluIHN5cy5idWlsdGluX21vZHVsZV9uYW1lcwotQkFEX05BTUUgPSAnaW1wb3J0bGliJwpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvZXh0ZW5zaW9uL3Rlc3RfY2FzZV9zZW5zaXRpdml0eS5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2V4dGVuc2lvbi90ZXN0X2Nhc2Vfc2Vuc2l0aXZpdHkucHkKaW5kZXggYmIyNTI4ZS4uYzdkNmNhNiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvZXh0ZW5zaW9uL3Rlc3RfY2FzZV9zZW5zaXRpdml0eS5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9leHRlbnNpb24vdGVzdF9jYXNlX3NlbnNpdGl2aXR5LnB5CkBAIC00LDIyICs0LDIxIEBACiBpbXBvcnQgdW5pdHRlc3QKIAogZnJvbSAuLiBpbXBvcnQgdXRpbAotZnJvbSAuIGltcG9ydCB1dGlsIGFzIGV4dF91dGlsCiAKLWZyb3plbl9tYWNoaW5lcnksIHNvdXJjZV9tYWNoaW5lcnkgPSB1dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYi5tYWNoaW5lcnknKQorbWFjaGluZXJ5ID0gdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWIubWFjaGluZXJ5JykKIAogCiAjIFhYWCBmaW5kX3NwZWMgdGVzdHMKIAotQHVuaXR0ZXN0LnNraXBJZihleHRfdXRpbC5GSUxFTkFNRSBpcyBOb25lLCAnX3Rlc3RjYXBpIG5vdCBhdmFpbGFibGUnKQorQHVuaXR0ZXN0LnNraXBJZih1dGlsLkVYVEVOU0lPTlMuZmlsZW5hbWUgaXMgTm9uZSwgJ190ZXN0Y2FwaSBub3QgYXZhaWxhYmxlJykKIEB1dGlsLmNhc2VfaW5zZW5zaXRpdmVfdGVzdHMKIGNsYXNzIEV4dGVuc2lvbk1vZHVsZUNhc2VTZW5zaXRpdml0eVRlc3Q6CiAKICAgICBkZWYgZmluZF9tb2R1bGUoc2VsZik6Ci0gICAgICAgIGdvb2RfbmFtZSA9IGV4dF91dGlsLk5BTUUKKyAgICAgICAgZ29vZF9uYW1lID0gdXRpbC5FWFRFTlNJT05TLm5hbWUKICAgICAgICAgYmFkX25hbWUgPSBnb29kX25hbWUudXBwZXIoKQogICAgICAgICBhc3NlcnQgZ29vZF9uYW1lICE9IGJhZF9uYW1lCi0gICAgICAgIGZpbmRlciA9IHNlbGYubWFjaGluZXJ5LkZpbGVGaW5kZXIoZXh0X3V0aWwuUEFUSCwKKyAgICAgICAgZmluZGVyID0gc2VsZi5tYWNoaW5lcnkuRmlsZUZpbmRlcih1dGlsLkVYVEVOU0lPTlMucGF0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZWxmLm1hY2hpbmVyeS5FeHRlbnNpb25GaWxlTG9hZGVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubWFjaGluZXJ5LkVYVEVOU0lPTl9TVUZGSVhFUykpCiAgICAgICAgIHJldHVybiBmaW5kZXIuZmluZF9tb2R1bGUoYmFkX25hbWUpCkBAIC00Miw5ICs0MSwxMCBAQAogICAgICAgICAgICAgbG9hZGVyID0gc2VsZi5maW5kX21vZHVsZSgpCiAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoaGFzYXR0cihsb2FkZXIsICdsb2FkX21vZHVsZScpKQogCi1Gcm96ZW5fRXh0ZW5zaW9uQ2FzZVNlbnNpdGl2aXR5LCBTb3VyY2VfRXh0ZW5zaW9uQ2FzZVNlbnNpdGl2aXR5ID0gdXRpbC50ZXN0X2JvdGgoCi0gICAgICAgIEV4dGVuc2lvbk1vZHVsZUNhc2VTZW5zaXRpdml0eVRlc3QsCi0gICAgICAgIG1hY2hpbmVyeT1bZnJvemVuX21hY2hpbmVyeSwgc291cmNlX21hY2hpbmVyeV0pCisKKyhGcm96ZW5fRXh0ZW5zaW9uQ2FzZVNlbnNpdGl2aXR5LAorIFNvdXJjZV9FeHRlbnNpb25DYXNlU2Vuc2l0aXZpdHkKKyApID0gdXRpbC50ZXN0X2JvdGgoRXh0ZW5zaW9uTW9kdWxlQ2FzZVNlbnNpdGl2aXR5VGVzdCwgbWFjaGluZXJ5PW1hY2hpbmVyeSkKIAogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvZXh0ZW5zaW9uL3Rlc3RfZmluZGVyLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvZXh0ZW5zaW9uL3Rlc3RfZmluZGVyLnB5CmluZGV4IDk5MGYyOWMuLjcxYmY2N2YgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2V4dGVuc2lvbi90ZXN0X2ZpbmRlci5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9leHRlbnNpb24vdGVzdF9maW5kZXIucHkKQEAgLTEsOCArMSw3IEBACiBmcm9tIC4uIGltcG9ydCBhYmMKLWZyb20gLi4gaW1wb3J0IHV0aWwgYXMgdGVzdF91dGlsCi1mcm9tIC4gaW1wb3J0IHV0aWwKK2Zyb20gLi4gaW1wb3J0IHV0aWwKIAotbWFjaGluZXJ5ID0gdGVzdF91dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYi5tYWNoaW5lcnknKQorbWFjaGluZXJ5ID0gdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWIubWFjaGluZXJ5JykKIAogaW1wb3J0IHVuaXR0ZXN0CiBpbXBvcnQgd2FybmluZ3MKQEAgLTE0LDcgKzEzLDcgQEAKICAgICAiIiJUZXN0IHRoZSBmaW5kZXIgZm9yIGV4dGVuc2lvbiBtb2R1bGVzLiIiIgogCiAgICAgZGVmIGZpbmRfbW9kdWxlKHNlbGYsIGZ1bGxuYW1lKToKLSAgICAgICAgaW1wb3J0ZXIgPSBzZWxmLm1hY2hpbmVyeS5GaWxlRmluZGVyKHV0aWwuUEFUSCwKKyAgICAgICAgaW1wb3J0ZXIgPSBzZWxmLm1hY2hpbmVyeS5GaWxlRmluZGVyKHV0aWwuRVhURU5TSU9OUy5wYXRoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2VsZi5tYWNoaW5lcnkuRXh0ZW5zaW9uRmlsZUxvYWRlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubWFjaGluZXJ5LkVYVEVOU0lPTl9TVUZGSVhFUykpCiAgICAgICAgIHdpdGggd2FybmluZ3MuY2F0Y2hfd2FybmluZ3MoKToKQEAgLTIyLDcgKzIxLDcgQEAKICAgICAgICAgICAgIHJldHVybiBpbXBvcnRlci5maW5kX21vZHVsZShmdWxsbmFtZSkKIAogICAgIGRlZiB0ZXN0X21vZHVsZShzZWxmKToKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNlbGYuZmluZF9tb2R1bGUodXRpbC5OQU1FKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNlbGYuZmluZF9tb2R1bGUodXRpbC5FWFRFTlNJT05TLm5hbWUpKQogCiAgICAgIyBObyBleHRlbnNpb24gbW9kdWxlIGFzIGFuIF9faW5pdF9fIGF2YWlsYWJsZSBmb3IgdGVzdGluZy4KICAgICB0ZXN0X3BhY2thZ2UgPSB0ZXN0X3BhY2thZ2VfaW5fcGFja2FnZSA9IE5vbmUKQEAgLTM2LDggKzM1LDEwIEBACiAgICAgZGVmIHRlc3RfZmFpbHVyZShzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoc2VsZi5maW5kX21vZHVsZSgnYXNkZmprbDsnKSkKIAotRnJvemVuX0ZpbmRlclRlc3RzLCBTb3VyY2VfRmluZGVyVGVzdHMgPSB0ZXN0X3V0aWwudGVzdF9ib3RoKAotICAgICAgICBGaW5kZXJUZXN0cywgbWFjaGluZXJ5PW1hY2hpbmVyeSkKKworKEZyb3plbl9GaW5kZXJUZXN0cywKKyBTb3VyY2VfRmluZGVyVGVzdHMKKyApID0gdXRpbC50ZXN0X2JvdGgoRmluZGVyVGVzdHMsIG1hY2hpbmVyeT1tYWNoaW5lcnkpCiAKIAogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2V4dGVuc2lvbi90ZXN0X2xvYWRlci5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2V4dGVuc2lvbi90ZXN0X2xvYWRlci5weQppbmRleCBmZDlhYmYyLi5hZWZkMDUwIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9leHRlbnNpb24vdGVzdF9sb2FkZXIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvZXh0ZW5zaW9uL3Rlc3RfbG9hZGVyLnB5CkBAIC0xLDQgKzEsMyBAQAotZnJvbSAuIGltcG9ydCB1dGlsIGFzIGV4dF91dGlsCiBmcm9tIC4uIGltcG9ydCBhYmMKIGZyb20gLi4gaW1wb3J0IHV0aWwKIApAQCAtMTUsOCArMTQsOCBAQAogICAgICIiIlRlc3QgbG9hZF9tb2R1bGUoKSBmb3IgZXh0ZW5zaW9uIG1vZHVsZXMuIiIiCiAKICAgICBkZWYgc2V0VXAoc2VsZik6Ci0gICAgICAgIHNlbGYubG9hZGVyID0gc2VsZi5tYWNoaW5lcnkuRXh0ZW5zaW9uRmlsZUxvYWRlcihleHRfdXRpbC5OQU1FLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0X3V0aWwuRklMRVBBVEgpCisgICAgICAgIHNlbGYubG9hZGVyID0gc2VsZi5tYWNoaW5lcnkuRXh0ZW5zaW9uRmlsZUxvYWRlcih1dGlsLkVYVEVOU0lPTlMubmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHV0aWwuRVhURU5TSU9OUy5maWxlX3BhdGgpCiAKICAgICBkZWYgbG9hZF9tb2R1bGUoc2VsZiwgZnVsbG5hbWUpOgogICAgICAgICByZXR1cm4gc2VsZi5sb2FkZXIubG9hZF9tb2R1bGUoZnVsbG5hbWUpCkBAIC0yOSwyMyArMjgsMjMgQEAKICAgICAgICAgICAgIHNlbGYubG9hZF9tb2R1bGUoJ1hYWCcpCiAKICAgICBkZWYgdGVzdF9lcXVhbGl0eShzZWxmKToKLSAgICAgICAgb3RoZXIgPSBzZWxmLm1hY2hpbmVyeS5FeHRlbnNpb25GaWxlTG9hZGVyKGV4dF91dGlsLk5BTUUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHRfdXRpbC5GSUxFUEFUSCkKKyAgICAgICAgb3RoZXIgPSBzZWxmLm1hY2hpbmVyeS5FeHRlbnNpb25GaWxlTG9hZGVyKHV0aWwuRVhURU5TSU9OUy5uYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXRpbC5FWFRFTlNJT05TLmZpbGVfcGF0aCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmxvYWRlciwgb3RoZXIpCiAKICAgICBkZWYgdGVzdF9pbmVxdWFsaXR5KHNlbGYpOgotICAgICAgICBvdGhlciA9IHNlbGYubWFjaGluZXJ5LkV4dGVuc2lvbkZpbGVMb2FkZXIoJ18nICsgZXh0X3V0aWwuTkFNRSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dF91dGlsLkZJTEVQQVRIKQorICAgICAgICBvdGhlciA9IHNlbGYubWFjaGluZXJ5LkV4dGVuc2lvbkZpbGVMb2FkZXIoJ18nICsgdXRpbC5FWFRFTlNJT05TLm5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1dGlsLkVYVEVOU0lPTlMuZmlsZV9wYXRoKQogICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKHNlbGYubG9hZGVyLCBvdGhlcikKIAogICAgIGRlZiB0ZXN0X21vZHVsZShzZWxmKToKLSAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUoZXh0X3V0aWwuTkFNRSk6Ci0gICAgICAgICAgICBtb2R1bGUgPSBzZWxmLmxvYWRfbW9kdWxlKGV4dF91dGlsLk5BTUUpCi0gICAgICAgICAgICBmb3IgYXR0ciwgdmFsdWUgaW4gWygnX19uYW1lX18nLCBleHRfdXRpbC5OQU1FKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdfX2ZpbGVfXycsIGV4dF91dGlsLkZJTEVQQVRIKSwKKyAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUodXRpbC5FWFRFTlNJT05TLm5hbWUpOgorICAgICAgICAgICAgbW9kdWxlID0gc2VsZi5sb2FkX21vZHVsZSh1dGlsLkVYVEVOU0lPTlMubmFtZSkKKyAgICAgICAgICAgIGZvciBhdHRyLCB2YWx1ZSBpbiBbKCdfX25hbWVfXycsIHV0aWwuRVhURU5TSU9OUy5uYW1lKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdfX2ZpbGVfXycsIHV0aWwuRVhURU5TSU9OUy5maWxlX3BhdGgpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJ19fcGFja2FnZV9fJywgJycpXToKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdldGF0dHIobW9kdWxlLCBhdHRyKSwgdmFsdWUpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEluKGV4dF91dGlsLk5BTUUsIHN5cy5tb2R1bGVzKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJbih1dGlsLkVYVEVOU0lPTlMubmFtZSwgc3lzLm1vZHVsZXMpCiAgICAgICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UobW9kdWxlLl9fbG9hZGVyX18sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5tYWNoaW5lcnkuRXh0ZW5zaW9uRmlsZUxvYWRlcikKIApAQCAtNTYsOSArNTUsOSBAQAogICAgIHRlc3RfbGFja2luZ19wYXJlbnQgPSBOb25lCiAKICAgICBkZWYgdGVzdF9tb2R1bGVfcmV1c2Uoc2VsZik6Ci0gICAgICAgIHdpdGggdXRpbC51bmNhY2hlKGV4dF91dGlsLk5BTUUpOgotICAgICAgICAgICAgbW9kdWxlMSA9IHNlbGYubG9hZF9tb2R1bGUoZXh0X3V0aWwuTkFNRSkKLSAgICAgICAgICAgIG1vZHVsZTIgPSBzZWxmLmxvYWRfbW9kdWxlKGV4dF91dGlsLk5BTUUpCisgICAgICAgIHdpdGggdXRpbC51bmNhY2hlKHV0aWwuRVhURU5TSU9OUy5uYW1lKToKKyAgICAgICAgICAgIG1vZHVsZTEgPSBzZWxmLmxvYWRfbW9kdWxlKHV0aWwuRVhURU5TSU9OUy5uYW1lKQorICAgICAgICAgICAgbW9kdWxlMiA9IHNlbGYubG9hZF9tb2R1bGUodXRpbC5FWFRFTlNJT05TLm5hbWUpCiAgICAgICAgICAgICBzZWxmLmFzc2VydElzKG1vZHVsZTEsIG1vZHVsZTIpCiAKICAgICAjIE5vIGVhc3kgd2F5IHRvIHRyaWdnZXIgYSBmYWlsdXJlIGFmdGVyIGEgc3VjY2Vzc2Z1bCBpbXBvcnQuCkBAIC03MSwxNCArNzAsMTUgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbS5leGNlcHRpb24ubmFtZSwgbmFtZSkKIAogICAgIGRlZiB0ZXN0X2lzX3BhY2thZ2Uoc2VsZik6Ci0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uoc2VsZi5sb2FkZXIuaXNfcGFja2FnZShleHRfdXRpbC5OQU1FKSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShzZWxmLmxvYWRlci5pc19wYWNrYWdlKHV0aWwuRVhURU5TSU9OUy5uYW1lKSkKICAgICAgICAgZm9yIHN1ZmZpeCBpbiBzZWxmLm1hY2hpbmVyeS5FWFRFTlNJT05fU1VGRklYRVM6CiAgICAgICAgICAgICBwYXRoID0gb3MucGF0aC5qb2luKCdzb21lJywgJ3BhdGgnLCAncGtnJywgJ19faW5pdF9fJyArIHN1ZmZpeCkKICAgICAgICAgICAgIGxvYWRlciA9IHNlbGYubWFjaGluZXJ5LkV4dGVuc2lvbkZpbGVMb2FkZXIoJ3BrZycsIHBhdGgpCiAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUobG9hZGVyLmlzX3BhY2thZ2UoJ3BrZycpKQogCi1Gcm96ZW5fTG9hZGVyVGVzdHMsIFNvdXJjZV9Mb2FkZXJUZXN0cyA9IHV0aWwudGVzdF9ib3RoKAotICAgICAgICBMb2FkZXJUZXN0cywgbWFjaGluZXJ5PW1hY2hpbmVyeSkKKyhGcm96ZW5fTG9hZGVyVGVzdHMsCisgU291cmNlX0xvYWRlclRlc3RzCisgKSA9IHV0aWwudGVzdF9ib3RoKExvYWRlclRlc3RzLCBtYWNoaW5lcnk9bWFjaGluZXJ5KQogCiAKIApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvZXh0ZW5zaW9uL3Rlc3RfcGF0aF9ob29rLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvZXh0ZW5zaW9uL3Rlc3RfcGF0aF9ob29rLnB5CmluZGV4IDQ5ZDY3MzQuLjhmNGI4YmIgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2V4dGVuc2lvbi90ZXN0X3BhdGhfaG9vay5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9leHRlbnNpb24vdGVzdF9wYXRoX2hvb2sucHkKQEAgLTEsNyArMSw2IEBACi1mcm9tIC4uIGltcG9ydCB1dGlsIGFzIHRlc3RfdXRpbAotZnJvbSAuIGltcG9ydCB1dGlsCitmcm9tIC4uIGltcG9ydCB1dGlsCiAKLW1hY2hpbmVyeSA9IHRlc3RfdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWIubWFjaGluZXJ5JykKK21hY2hpbmVyeSA9IHV0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliLm1hY2hpbmVyeScpCiAKIGltcG9ydCBjb2xsZWN0aW9ucwogaW1wb3J0IHN5cwpAQCAtMjIsMTAgKzIxLDEyIEBACiAgICAgZGVmIHRlc3Rfc3VjY2VzcyhzZWxmKToKICAgICAgICAgIyBQYXRoIGhvb2sgc2hvdWxkIGhhbmRsZSBhIGRpcmVjdG9yeSB3aGVyZSBhIGtub3duIGV4dGVuc2lvbiBtb2R1bGUKICAgICAgICAgIyBleGlzdHMuCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShoYXNhdHRyKHNlbGYuaG9vayh1dGlsLlBBVEgpLCAnZmluZF9tb2R1bGUnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGhhc2F0dHIoc2VsZi5ob29rKHV0aWwuRVhURU5TSU9OUy5wYXRoKSwgJ2ZpbmRfbW9kdWxlJykpCiAKLUZyb3plbl9QYXRoSG9va3NUZXN0cywgU291cmNlX1BhdGhIb29rc1Rlc3RzID0gdGVzdF91dGlsLnRlc3RfYm90aCgKLSAgICAgICAgUGF0aEhvb2tUZXN0cywgbWFjaGluZXJ5PW1hY2hpbmVyeSkKKworKEZyb3plbl9QYXRoSG9va3NUZXN0cywKKyBTb3VyY2VfUGF0aEhvb2tzVGVzdHMKKyApID0gdXRpbC50ZXN0X2JvdGgoUGF0aEhvb2tUZXN0cywgbWFjaGluZXJ5PW1hY2hpbmVyeSkKIAogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvZXh0ZW5zaW9uL3V0aWwucHkgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9leHRlbnNpb24vdXRpbC5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGQwODlmMC4uMDAwMDAwMAotLS0gYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9leHRlbnNpb24vdXRpbC5weQorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLWZyb20gaW1wb3J0bGliIGltcG9ydCBtYWNoaW5lcnkKLWltcG9ydCBvcwotaW1wb3J0IHN5cwotCi1QQVRIID0gTm9uZQotRVhUID0gTm9uZQotRklMRU5BTUUgPSBOb25lCi1OQU1FID0gJ190ZXN0Y2FwaScKLXRyeToKLSAgICBmb3IgUEFUSCBpbiBzeXMucGF0aDoKLSAgICAgICAgZm9yIEVYVCBpbiBtYWNoaW5lcnkuRVhURU5TSU9OX1NVRkZJWEVTOgotICAgICAgICAgICAgRklMRU5BTUUgPSBOQU1FICsgRVhUCi0gICAgICAgICAgICBGSUxFUEFUSCA9IG9zLnBhdGguam9pbihQQVRILCBGSUxFTkFNRSkKLSAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihQQVRILCBGSUxFTkFNRSkpOgotICAgICAgICAgICAgICAgIHJhaXNlIFN0b3BJdGVyYXRpb24KLSAgICBlbHNlOgotICAgICAgICBQQVRIID0gRVhUID0gRklMRU5BTUUgPSBGSUxFUEFUSCA9IE5vbmUKLWV4Y2VwdCBTdG9wSXRlcmF0aW9uOgotICAgIHBhc3MKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2Zyb3plbi90ZXN0X2ZpbmRlci5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2Zyb3plbi90ZXN0X2ZpbmRlci5weQppbmRleCBmOWY5N2YzLi41MTlhYTAyIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9mcm96ZW4vdGVzdF9maW5kZXIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvZnJvemVuL3Rlc3RfZmluZGVyLnB5CkBAIC0zNyw4ICszNywxMCBAQAogICAgICAgICBzcGVjID0gc2VsZi5maW5kKCc8bm90IHJlYWw+JykKICAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoc3BlYykKIAotRnJvemVuX0ZpbmRTcGVjVGVzdHMsIFNvdXJjZV9GaW5kU3BlY1Rlc3RzID0gdXRpbC50ZXN0X2JvdGgoRmluZFNwZWNUZXN0cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY2hpbmVyeT1tYWNoaW5lcnkpCisKKyhGcm96ZW5fRmluZFNwZWNUZXN0cywKKyBTb3VyY2VfRmluZFNwZWNUZXN0cworICkgPSB1dGlsLnRlc3RfYm90aChGaW5kU3BlY1Rlc3RzLCBtYWNoaW5lcnk9bWFjaGluZXJ5KQogCiAKIGNsYXNzIEZpbmRlclRlc3RzKGFiYy5GaW5kZXJUZXN0cyk6CkBAIC03Miw4ICs3NCwxMCBAQAogICAgICAgICBsb2FkZXIgPSBzZWxmLmZpbmQoJzxub3QgcmVhbD4nKQogICAgICAgICBzZWxmLmFzc2VydElzTm9uZShsb2FkZXIpCiAKLUZyb3plbl9GaW5kZXJUZXN0cywgU291cmNlX0ZpbmRlclRlc3RzID0gdXRpbC50ZXN0X2JvdGgoRmluZGVyVGVzdHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY2hpbmVyeT1tYWNoaW5lcnkpCisKKyhGcm96ZW5fRmluZGVyVGVzdHMsCisgU291cmNlX0ZpbmRlclRlc3RzCisgKSA9IHV0aWwudGVzdF9ib3RoKEZpbmRlclRlc3RzLCBtYWNoaW5lcnk9bWFjaGluZXJ5KQogCiAKIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9mcm96ZW4vdGVzdF9sb2FkZXIucHkgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9mcm96ZW4vdGVzdF9sb2FkZXIucHkKaW5kZXggN2MwMTQ2NC4uNjAzYzdkNyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvZnJvemVuL3Rlc3RfbG9hZGVyLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2Zyb3plbi90ZXN0X2xvYWRlci5weQpAQCAtODUsOCArODUsMTAgQEAKICAgICAgICAgICAgIHNlbGYuZXhlY19tb2R1bGUoJ19ub3RfcmVhbCcpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY20uZXhjZXB0aW9uLm5hbWUsICdfbm90X3JlYWwnKQogCi1Gcm96ZW5fRXhlY01vZHVsZVRlc3RzLCBTb3VyY2VfRXhlY01vZHVsZVRlc3RzID0gdXRpbC50ZXN0X2JvdGgoRXhlY01vZHVsZVRlc3RzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNoaW5lcnk9bWFjaGluZXJ5KQorCisoRnJvemVuX0V4ZWNNb2R1bGVUZXN0cywKKyBTb3VyY2VfRXhlY01vZHVsZVRlc3RzCisgKSA9IHV0aWwudGVzdF9ib3RoKEV4ZWNNb2R1bGVUZXN0cywgbWFjaGluZXJ5PW1hY2hpbmVyeSkKIAogCiBjbGFzcyBMb2FkZXJUZXN0cyhhYmMuTG9hZGVyVGVzdHMpOgpAQCAtMTc1LDggKzE3NywxMCBAQAogICAgICAgICAgICAgc2VsZi5tYWNoaW5lcnkuRnJvemVuSW1wb3J0ZXIubG9hZF9tb2R1bGUoJ19ub3RfcmVhbCcpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY20uZXhjZXB0aW9uLm5hbWUsICdfbm90X3JlYWwnKQogCi1Gcm96ZW5fTG9hZGVyVGVzdHMsIFNvdXJjZV9Mb2FkZXJUZXN0cyA9IHV0aWwudGVzdF9ib3RoKExvYWRlclRlc3RzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNoaW5lcnk9bWFjaGluZXJ5KQorCisoRnJvemVuX0xvYWRlclRlc3RzLAorIFNvdXJjZV9Mb2FkZXJUZXN0cworICkgPSB1dGlsLnRlc3RfYm90aChMb2FkZXJUZXN0cywgbWFjaGluZXJ5PW1hY2hpbmVyeSkKIAogCiBjbGFzcyBJbnNwZWN0TG9hZGVyVGVzdHM6CkBAIC0yMTQsOCArMjE4LDkgQEAKICAgICAgICAgICAgICAgICBtZXRob2QoJ2ltcG9ydGxpYicpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtLmV4Y2VwdGlvbi5uYW1lLCAnaW1wb3J0bGliJykKIAotRnJvemVuX0lMVGVzdHMsIFNvdXJjZV9JTFRlc3RzID0gdXRpbC50ZXN0X2JvdGgoSW5zcGVjdExvYWRlclRlc3RzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjaGluZXJ5PW1hY2hpbmVyeSkKKyhGcm96ZW5fSUxUZXN0cywKKyBTb3VyY2VfSUxUZXN0cworICkgPSB1dGlsLnRlc3RfYm90aChJbnNwZWN0TG9hZGVyVGVzdHMsIG1hY2hpbmVyeT1tYWNoaW5lcnkpCiAKIAogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2ltcG9ydF8vdGVzdF9fX2xvYWRlcl9fLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvaW1wb3J0Xy90ZXN0X19fbG9hZGVyX18ucHkKaW5kZXggNmRmODAxMC4uNGIxODA5MyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvaW1wb3J0Xy90ZXN0X19fbG9hZGVyX18ucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvaW1wb3J0Xy90ZXN0X19fbG9hZGVyX18ucHkKQEAgLTQsNyArNCw2IEBACiBpbXBvcnQgdW5pdHRlc3QKIAogZnJvbSAuLiBpbXBvcnQgdXRpbAotZnJvbSAuIGltcG9ydCB1dGlsIGFzIGltcG9ydF91dGlsCiAKIAogY2xhc3MgU3BlY0xvYWRlck1vY2s6CkBAIC0xMiw2ICsxMSw5IEBACiAgICAgZGVmIGZpbmRfc3BlYyhzZWxmLCBmdWxsbmFtZSwgcGF0aD1Ob25lLCB0YXJnZXQ9Tm9uZSk6CiAgICAgICAgIHJldHVybiBtYWNoaW5lcnkuTW9kdWxlU3BlYyhmdWxsbmFtZSwgc2VsZikKIAorICAgIGRlZiBjcmVhdGVfbW9kdWxlKHNlbGYsIHNwZWMpOgorICAgICAgICByZXR1cm4gTm9uZQorCiAgICAgZGVmIGV4ZWNfbW9kdWxlKHNlbGYsIG1vZHVsZSk6CiAgICAgICAgIHBhc3MKIApAQCAtMjQsOCArMjYsMTAgQEAKICAgICAgICAgICAgIG1vZHVsZSA9IHNlbGYuX19pbXBvcnRfXygnYmxhaCcpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobG9hZGVyLCBtb2R1bGUuX19sb2FkZXJfXykKIAotRnJvemVuX1NwZWNUZXN0cywgU291cmNlX1NwZWNUZXN0cyA9IHV0aWwudGVzdF9ib3RoKAotICAgICAgICBTcGVjTG9hZGVyQXR0cmlidXRlVGVzdHMsIF9faW1wb3J0X189aW1wb3J0X3V0aWwuX19pbXBvcnRfXykKKworKEZyb3plbl9TcGVjVGVzdHMsCisgU291cmNlX1NwZWNUZXN0cworICkgPSB1dGlsLnRlc3RfYm90aChTcGVjTG9hZGVyQXR0cmlidXRlVGVzdHMsIF9faW1wb3J0X189dXRpbC5fX2ltcG9ydF9fKQogCiAKIGNsYXNzIExvYWRlck1vY2s6CkBAIC02Miw4ICs2Niw5IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobG9hZGVyLCBtb2R1bGUuX19sb2FkZXJfXykKIAogCi1Gcm96ZW5fVGVzdHMsIFNvdXJjZV9UZXN0cyA9IHV0aWwudGVzdF9ib3RoKExvYWRlckF0dHJpYnV0ZVRlc3RzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX2ltcG9ydF9fPWltcG9ydF91dGlsLl9faW1wb3J0X18pCisoRnJvemVuX1Rlc3RzLAorIFNvdXJjZV9UZXN0cworICkgPSB1dGlsLnRlc3RfYm90aChMb2FkZXJBdHRyaWJ1dGVUZXN0cywgX19pbXBvcnRfXz11dGlsLl9faW1wb3J0X18pCiAKIAogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2ltcG9ydF8vdGVzdF9fX3BhY2thZ2VfXy5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2ltcG9ydF8vdGVzdF9fX3BhY2thZ2VfXy5weQppbmRleCAyZTE5NzI1Li5jN2QzYTJhIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9pbXBvcnRfL3Rlc3RfX19wYWNrYWdlX18ucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvaW1wb3J0Xy90ZXN0X19fcGFja2FnZV9fLnB5CkBAIC02LDcgKzYsNiBAQAogIiIiCiBpbXBvcnQgdW5pdHRlc3QKIGZyb20gLi4gaW1wb3J0IHV0aWwKLWZyb20gLiBpbXBvcnQgdXRpbCBhcyBpbXBvcnRfdXRpbAogCiAKIGNsYXNzIFVzaW5nX19wYWNrYWdlX186CkBAIC03MCwxNyArNjksMjMgQEAKICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpOgogICAgICAgICAgICAgc2VsZi5fX2ltcG9ydF9fKCcnLCBnbG9iYWxzLCB7fSwgWydyZWxpbXBvcnQnXSwgMSkKIAorCiBjbGFzcyBVc2luZ19fcGFja2FnZV9fUEVQMzAyKFVzaW5nX19wYWNrYWdlX18pOgogICAgIG1vY2tfbW9kdWxlcyA9IHV0aWwubW9ja19tb2R1bGVzCiAKLUZyb3plbl9Vc2luZ1BhY2thZ2VQRVAzMDIsIFNvdXJjZV9Vc2luZ1BhY2thZ2VQRVAzMDIgPSB1dGlsLnRlc3RfYm90aCgKLSAgICAgICAgVXNpbmdfX3BhY2thZ2VfX1BFUDMwMiwgX19pbXBvcnRfXz1pbXBvcnRfdXRpbC5fX2ltcG9ydF9fKQogCi1jbGFzcyBVc2luZ19fcGFja2FnZV9fUEVQMzAyKFVzaW5nX19wYWNrYWdlX18pOgorKEZyb3plbl9Vc2luZ1BhY2thZ2VQRVAzMDIsCisgU291cmNlX1VzaW5nUGFja2FnZVBFUDMwMgorICkgPSB1dGlsLnRlc3RfYm90aChVc2luZ19fcGFja2FnZV9fUEVQMzAyLCBfX2ltcG9ydF9fPXV0aWwuX19pbXBvcnRfXykKKworCitjbGFzcyBVc2luZ19fcGFja2FnZV9fUEVQNDUxKFVzaW5nX19wYWNrYWdlX18pOgogICAgIG1vY2tfbW9kdWxlcyA9IHV0aWwubW9ja19zcGVjCiAKLUZyb3plbl9Vc2luZ1BhY2thZ2VQRVA0NTEsIFNvdXJjZV9Vc2luZ1BhY2thZ2VQRVA0NTEgPSB1dGlsLnRlc3RfYm90aCgKLSAgICAgICAgVXNpbmdfX3BhY2thZ2VfX1BFUDMwMiwgX19pbXBvcnRfXz1pbXBvcnRfdXRpbC5fX2ltcG9ydF9fKQorCisoRnJvemVuX1VzaW5nUGFja2FnZVBFUDQ1MSwKKyBTb3VyY2VfVXNpbmdQYWNrYWdlUEVQNDUxCisgKSA9IHV0aWwudGVzdF9ib3RoKFVzaW5nX19wYWNrYWdlX19QRVA0NTEsIF9faW1wb3J0X189dXRpbC5fX2ltcG9ydF9fKQogCiAKIGNsYXNzIFNldHRpbmdfX3BhY2thZ2VfXzoKQEAgLTk1LDcgKzEwMCw3IEBACiAKICAgICAiIiIKIAotICAgIF9faW1wb3J0X18gPSBpbXBvcnRfdXRpbC5fX2ltcG9ydF9fWzFdCisgICAgX19pbXBvcnRfXyA9IHV0aWwuX19pbXBvcnRfX1snU291cmNlJ10KIAogICAgICMgW3RvcC1sZXZlbF0KICAgICBkZWYgdGVzdF90b3BfbGV2ZWwoc2VsZik6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9pbXBvcnRfL3Rlc3RfYXBpLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvaW1wb3J0Xy90ZXN0X2FwaS5weQppbmRleCA0MzljMTA1Li43MDY5ZDllIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9pbXBvcnRfL3Rlc3RfYXBpLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2ltcG9ydF8vdGVzdF9hcGkucHkKQEAgLTEsNSArMSw0IEBACiBmcm9tIC4uIGltcG9ydCB1dGlsCi1mcm9tIC4gaW1wb3J0IHV0aWwgYXMgaW1wb3J0X3V0aWwKIAogZnJvbSBpbXBvcnRsaWIgaW1wb3J0IG1hY2hpbmVyeQogaW1wb3J0IHN5cwpAQCAtMTgsNiArMTcsMTAgQEAKICAgICAgICAgICAgIHJldHVybiBzcGVjCiAKICAgICBAc3RhdGljbWV0aG9kCisgICAgZGVmIGNyZWF0ZV9tb2R1bGUoc3BlYyk6CisgICAgICAgIHJldHVybiBOb25lCisKKyAgICBAc3RhdGljbWV0aG9kCiAgICAgZGVmIGV4ZWNfbW9kdWxlKG1vZHVsZSk6CiAgICAgICAgIGlmIG1vZHVsZS5fX25hbWVfXyA9PSBTVUJNT0RfTkFNRToKICAgICAgICAgICAgIHJhaXNlIEltcG9ydEVycm9yKCdJIGNhbm5vdCBiZSBsb2FkZWQhJykKQEAgLTc5LDE1ICs4MiwxOSBAQAogY2xhc3MgT2xkQVBJVGVzdHMoQVBJVGVzdCk6CiAgICAgYmFkX2ZpbmRlcl9sb2FkZXIgPSBCYWRMb2FkZXJGaW5kZXIKIAotRnJvemVuX09sZEFQSVRlc3RzLCBTb3VyY2VfT2xkQVBJVGVzdHMgPSB1dGlsLnRlc3RfYm90aCgKLSAgICAgICAgT2xkQVBJVGVzdHMsIF9faW1wb3J0X189aW1wb3J0X3V0aWwuX19pbXBvcnRfXykKKworKEZyb3plbl9PbGRBUElUZXN0cywKKyBTb3VyY2VfT2xkQVBJVGVzdHMKKyApID0gdXRpbC50ZXN0X2JvdGgoT2xkQVBJVGVzdHMsIF9faW1wb3J0X189dXRpbC5fX2ltcG9ydF9fKQogCiAKIGNsYXNzIFNwZWNBUElUZXN0cyhBUElUZXN0KToKICAgICBiYWRfZmluZGVyX2xvYWRlciA9IEJhZFNwZWNGaW5kZXJMb2FkZXIKIAotRnJvemVuX1NwZWNBUElUZXN0cywgU291cmNlX1NwZWNBUElUZXN0cyA9IHV0aWwudGVzdF9ib3RoKAotICAgICAgICBTcGVjQVBJVGVzdHMsIF9faW1wb3J0X189aW1wb3J0X3V0aWwuX19pbXBvcnRfXykKKworKEZyb3plbl9TcGVjQVBJVGVzdHMsCisgU291cmNlX1NwZWNBUElUZXN0cworICkgPSB1dGlsLnRlc3RfYm90aChTcGVjQVBJVGVzdHMsIF9faW1wb3J0X189dXRpbC5fX2ltcG9ydF9fKQogCiAKIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9pbXBvcnRfL3Rlc3RfY2FjaGluZy5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2ltcG9ydF8vdGVzdF9jYWNoaW5nLnB5CmluZGV4IGMyOTJlZTQuLjgwNzlhZGQgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2ltcG9ydF8vdGVzdF9jYWNoaW5nLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2ltcG9ydF8vdGVzdF9jYWNoaW5nLnB5CkBAIC0xLDYgKzEsNSBAQAogIiIiVGVzdCB0aGF0IHN5cy5tb2R1bGVzIGlzIHVzZWQgcHJvcGVybHkgYnkgaW1wb3J0LiIiIgogZnJvbSAuLiBpbXBvcnQgdXRpbAotZnJvbSAuIGltcG9ydCB1dGlsIGFzIGltcG9ydF91dGlsCiBpbXBvcnQgc3lzCiBmcm9tIHR5cGVzIGltcG9ydCBNZXRob2RUeXBlCiBpbXBvcnQgdW5pdHRlc3QKQEAgLTM5LDE1ICszOCwxNyBAQAogICAgICAgICAgICAgICAgIHNlbGYuX19pbXBvcnRfXyhuYW1lKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbS5leGNlcHRpb24ubmFtZSwgbmFtZSkKIAotRnJvemVuX1VzZUNhY2hlLCBTb3VyY2VfVXNlQ2FjaGUgPSB1dGlsLnRlc3RfYm90aCgKLSAgICAgICAgVXNlQ2FjaGUsIF9faW1wb3J0X189aW1wb3J0X3V0aWwuX19pbXBvcnRfXykKKworKEZyb3plbl9Vc2VDYWNoZSwKKyBTb3VyY2VfVXNlQ2FjaGUKKyApID0gdXRpbC50ZXN0X2JvdGgoVXNlQ2FjaGUsIF9faW1wb3J0X189dXRpbC5fX2ltcG9ydF9fKQogCiAKIGNsYXNzIEltcG9ydGxpYlVzZUNhY2hlKFVzZUNhY2hlLCB1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICAjIFBlcnRpbmVudCBvbmx5IHRvIFBFUCAzMDI7IGV4ZWNfbW9kdWxlKCkgZG9lc24ndCByZXR1cm4gYSBtb2R1bGUuCiAKLSAgICBfX2ltcG9ydF9fID0gaW1wb3J0X3V0aWwuX19pbXBvcnRfX1sxXQorICAgIF9faW1wb3J0X18gPSB1dGlsLl9faW1wb3J0X19bJ1NvdXJjZSddCiAKICAgICBkZWYgY3JlYXRlX21vY2soc2VsZiwgKm5hbWVzLCByZXR1cm5fPU5vbmUpOgogICAgICAgICBtb2NrID0gdXRpbC5tb2NrX21vZHVsZXMoKm5hbWVzKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvaW1wb3J0Xy90ZXN0X2Zyb21saXN0LnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvaW1wb3J0Xy90ZXN0X2Zyb21saXN0LnB5CmluZGV4IGE3NTViNzUuLjgwNDU0NjUgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2ltcG9ydF8vdGVzdF9mcm9tbGlzdC5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9pbXBvcnRfL3Rlc3RfZnJvbWxpc3QucHkKQEAgLTEsNiArMSw1IEBACiAiIiJUZXN0IHRoYXQgdGhlIHNlbWFudGljcyByZWxhdGluZyB0byB0aGUgJ2Zyb21saXN0JyBhcmd1bWVudCBhcmUgY29ycmVjdC4iIiIKIGZyb20gLi4gaW1wb3J0IHV0aWwKLWZyb20gLiBpbXBvcnQgdXRpbCBhcyBpbXBvcnRfdXRpbAogaW1wb3J0IHVuaXR0ZXN0CiAKIApAQCAtMjksOCArMjgsMTAgQEAKICAgICAgICAgICAgICAgICBtb2R1bGUgPSBzZWxmLl9faW1wb3J0X18oJ3BrZy5tb2R1bGUnLCBmcm9tbGlzdD1bJ2F0dHInXSkKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZS5fX25hbWVfXywgJ3BrZy5tb2R1bGUnKQogCi1Gcm96ZW5fUmV0dXJuVmFsdWUsIFNvdXJjZV9SZXR1cm5WYWx1ZSA9IHV0aWwudGVzdF9ib3RoKAotICAgICAgICBSZXR1cm5WYWx1ZSwgX19pbXBvcnRfXz1pbXBvcnRfdXRpbC5fX2ltcG9ydF9fKQorCisoRnJvemVuX1JldHVyblZhbHVlLAorIFNvdXJjZV9SZXR1cm5WYWx1ZQorICkgPSB1dGlsLnRlc3RfYm90aChSZXR1cm5WYWx1ZSwgX19pbXBvcnRfXz11dGlsLl9faW1wb3J0X18pCiAKIAogY2xhc3MgSGFuZGxpbmdGcm9tbGlzdDoKQEAgLTEyMSw4ICsxMjIsMTAgQEAKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZS5tb2R1bGUxLl9fbmFtZV9fLCAncGtnLm1vZHVsZTEnKQogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9kdWxlLm1vZHVsZTIuX19uYW1lX18sICdwa2cubW9kdWxlMicpCiAKLUZyb3plbl9Gcm9tTGlzdCwgU291cmNlX0Zyb21MaXN0ID0gdXRpbC50ZXN0X2JvdGgoCi0gICAgICAgIEhhbmRsaW5nRnJvbWxpc3QsIF9faW1wb3J0X189aW1wb3J0X3V0aWwuX19pbXBvcnRfXykKKworKEZyb3plbl9Gcm9tTGlzdCwKKyBTb3VyY2VfRnJvbUxpc3QKKyApID0gdXRpbC50ZXN0X2JvdGgoSGFuZGxpbmdGcm9tbGlzdCwgX19pbXBvcnRfXz11dGlsLl9faW1wb3J0X18pCiAKIAogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2ltcG9ydF8vdGVzdF9tZXRhX3BhdGgucHkgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9pbXBvcnRfL3Rlc3RfbWV0YV9wYXRoLnB5CmluZGV4IDVlZWIxNDUuLmM0NTJjZGQgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2ltcG9ydF8vdGVzdF9tZXRhX3BhdGgucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvaW1wb3J0Xy90ZXN0X21ldGFfcGF0aC5weQpAQCAtMSw1ICsxLDQgQEAKIGZyb20gLi4gaW1wb3J0IHV0aWwKLWZyb20gLiBpbXBvcnQgdXRpbCBhcyBpbXBvcnRfdXRpbAogaW1wb3J0IGltcG9ydGxpYi5fYm9vdHN0cmFwCiBpbXBvcnQgc3lzCiBmcm9tIHR5cGVzIGltcG9ydCBNZXRob2RUeXBlCkBAIC00Niw4ICs0NSwxMCBAQAogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHcpLCAxKQogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpc3N1YmNsYXNzKHdbLTFdLmNhdGVnb3J5LCBJbXBvcnRXYXJuaW5nKSkKIAotRnJvemVuX0NhbGxpbmdPcmRlciwgU291cmNlX0NhbGxpbmdPcmRlciA9IHV0aWwudGVzdF9ib3RoKAotICAgICAgICBDYWxsaW5nT3JkZXIsIF9faW1wb3J0X189aW1wb3J0X3V0aWwuX19pbXBvcnRfXykKKworKEZyb3plbl9DYWxsaW5nT3JkZXIsCisgU291cmNlX0NhbGxpbmdPcmRlcgorICkgPSB1dGlsLnRlc3RfYm90aChDYWxsaW5nT3JkZXIsIF9faW1wb3J0X189dXRpbC5fX2ltcG9ydF9fKQogCiAKIGNsYXNzIENhbGxTaWduYXR1cmU6CkBAIC0xMDAsMTkgKzEwMSwyNSBAQAogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYXJnc1swXSwgbW9kX25hbWUpCiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhhcmdzWzFdLCBwYXRoKQogCisKIGNsYXNzIENhbGxTaWduYXR1cmVQRVAzMDIoQ2FsbFNpZ25hdHVyZSk6CiAgICAgbW9ja19tb2R1bGVzID0gdXRpbC5tb2NrX21vZHVsZXMKICAgICBmaW5kZXJfbmFtZSA9ICdmaW5kX21vZHVsZScKIAotRnJvemVuX0NhbGxTaWduYXR1cmVQRVAzMDIsIFNvdXJjZV9DYWxsU2lnbmF0dXJlUEVQMzAyID0gdXRpbC50ZXN0X2JvdGgoCi0gICAgICAgIENhbGxTaWduYXR1cmVQRVAzMDIsIF9faW1wb3J0X189aW1wb3J0X3V0aWwuX19pbXBvcnRfXykKKworKEZyb3plbl9DYWxsU2lnbmF0dXJlUEVQMzAyLAorIFNvdXJjZV9DYWxsU2lnbmF0dXJlUEVQMzAyCisgKSA9IHV0aWwudGVzdF9ib3RoKENhbGxTaWduYXR1cmVQRVAzMDIsIF9faW1wb3J0X189dXRpbC5fX2ltcG9ydF9fKQorCiAKIGNsYXNzIENhbGxTaWduYXR1cmVQRVA0NTEoQ2FsbFNpZ25hdHVyZSk6CiAgICAgbW9ja19tb2R1bGVzID0gdXRpbC5tb2NrX3NwZWMKICAgICBmaW5kZXJfbmFtZSA9ICdmaW5kX3NwZWMnCiAKLUZyb3plbl9DYWxsU2lnbmF0dXJlUEVQNDUxLCBTb3VyY2VfQ2FsbFNpZ25hdHVyZVBFUDQ1MSA9IHV0aWwudGVzdF9ib3RoKAotICAgICAgICBDYWxsU2lnbmF0dXJlUEVQNDUxLCBfX2ltcG9ydF9fPWltcG9ydF91dGlsLl9faW1wb3J0X18pCisKKyhGcm96ZW5fQ2FsbFNpZ25hdHVyZVBFUDQ1MSwKKyBTb3VyY2VfQ2FsbFNpZ25hdHVyZVBFUDQ1MQorICkgPSB1dGlsLnRlc3RfYm90aChDYWxsU2lnbmF0dXJlUEVQNDUxLCBfX2ltcG9ydF9fPXV0aWwuX19pbXBvcnRfXykKIAogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvaW1wb3J0Xy90ZXN0X3BhY2thZ2VzLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvaW1wb3J0Xy90ZXN0X3BhY2thZ2VzLnB5CmluZGV4IDU1YTVkMTQuLjM3NTViODQgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2ltcG9ydF8vdGVzdF9wYWNrYWdlcy5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9pbXBvcnRfL3Rlc3RfcGFja2FnZXMucHkKQEAgLTEsNSArMSw0IEBACiBmcm9tIC4uIGltcG9ydCB1dGlsCi1mcm9tIC4gaW1wb3J0IHV0aWwgYXMgaW1wb3J0X3V0aWwKIGltcG9ydCBzeXMKIGltcG9ydCB1bml0dGVzdAogaW1wb3J0IGltcG9ydGxpYgpAQCAtMTAyLDggKzEwMSwxMCBAQAogICAgICAgICAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnQudW5sb2FkKHN1Ym5hbWUpCiAKLUZyb3plbl9QYXJlbnRUZXN0cywgU291cmNlX1BhcmVudFRlc3RzID0gdXRpbC50ZXN0X2JvdGgoCi0gICAgICAgIFBhcmVudE1vZHVsZVRlc3RzLCBfX2ltcG9ydF9fPWltcG9ydF91dGlsLl9faW1wb3J0X18pCisKKyhGcm96ZW5fUGFyZW50VGVzdHMsCisgU291cmNlX1BhcmVudFRlc3RzCisgKSA9IHV0aWwudGVzdF9ib3RoKFBhcmVudE1vZHVsZVRlc3RzLCBfX2ltcG9ydF9fPXV0aWwuX19pbXBvcnRfXykKIAogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvaW1wb3J0Xy90ZXN0X3BhdGgucHkgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9pbXBvcnRfL3Rlc3RfcGF0aC5weQppbmRleCAxMjc0ZjhjLi45YTNjNGZlIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9pbXBvcnRfL3Rlc3RfcGF0aC5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9pbXBvcnRfL3Rlc3RfcGF0aC5weQpAQCAtMSwxMSArMSwxMSBAQAogZnJvbSAuLiBpbXBvcnQgdXRpbAotZnJvbSAuIGltcG9ydCB1dGlsIGFzIGltcG9ydF91dGlsCiAKIGltcG9ydGxpYiA9IHV0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliJykKIG1hY2hpbmVyeSA9IHV0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliLm1hY2hpbmVyeScpCiAKIGltcG9ydCBvcwogaW1wb3J0IHN5cworaW1wb3J0IHRlbXBmaWxlCiBmcm9tIHR5cGVzIGltcG9ydCBNb2R1bGVUeXBlCiBpbXBvcnQgdW5pdHRlc3QKIGltcG9ydCB3YXJuaW5ncwpAQCAtNTgsNyArNTgsNyBAQAogICAgICAgICBtb2R1bGUgPSAnPHRlc3QgbW9kdWxlPicKICAgICAgICAgcGF0aCA9ICc8dGVzdCBwYXRoPicKICAgICAgICAgaW1wb3J0ZXIgPSB1dGlsLm1vY2tfc3BlYyhtb2R1bGUpCi0gICAgICAgIGhvb2sgPSBpbXBvcnRfdXRpbC5tb2NrX3BhdGhfaG9vayhwYXRoLCBpbXBvcnRlcj1pbXBvcnRlcikKKyAgICAgICAgaG9vayA9IHV0aWwubW9ja19wYXRoX2hvb2socGF0aCwgaW1wb3J0ZXI9aW1wb3J0ZXIpCiAgICAgICAgIHdpdGggdXRpbC5pbXBvcnRfc3RhdGUocGF0aF9ob29rcz1baG9va10pOgogICAgICAgICAgICAgbG9hZGVyID0gc2VsZi5tYWNoaW5lcnkuUGF0aEZpbmRlci5maW5kX21vZHVsZShtb2R1bGUsIFtwYXRoXSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMobG9hZGVyLCBpbXBvcnRlcikKQEAgLTgzLDcgKzgzLDcgQEAKICAgICAgICAgcGF0aCA9ICcnCiAgICAgICAgIG1vZHVsZSA9ICc8dGVzdCBtb2R1bGU+JwogICAgICAgICBpbXBvcnRlciA9IHV0aWwubW9ja19zcGVjKG1vZHVsZSkKLSAgICAgICAgaG9vayA9IGltcG9ydF91dGlsLm1vY2tfcGF0aF9ob29rKG9zLmdldGN3ZCgpLCBpbXBvcnRlcj1pbXBvcnRlcikKKyAgICAgICAgaG9vayA9IHV0aWwubW9ja19wYXRoX2hvb2sob3MuZ2V0Y3dkKCksIGltcG9ydGVyPWltcG9ydGVyKQogICAgICAgICB3aXRoIHV0aWwuaW1wb3J0X3N0YXRlKHBhdGg9W3BhdGhdLCBwYXRoX2hvb2tzPVtob29rXSk6CiAgICAgICAgICAgICBsb2FkZXIgPSBzZWxmLm1hY2hpbmVyeS5QYXRoRmluZGVyLmZpbmRfbW9kdWxlKG1vZHVsZSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMobG9hZGVyLCBpbXBvcnRlcikKQEAgLTExMiw4ICsxMTIsNjkgQEAKICAgICAgICAgICAgIGlmIGVtYWlsIGlzIG5vdCBtaXNzaW5nOgogICAgICAgICAgICAgICAgIHN5cy5tb2R1bGVzWydlbWFpbCddID0gZW1haWwKIAotRnJvemVuX0ZpbmRlclRlc3RzLCBTb3VyY2VfRmluZGVyVGVzdHMgPSB1dGlsLnRlc3RfYm90aCgKLSAgICAgICAgRmluZGVyVGVzdHMsIGltcG9ydGxpYj1pbXBvcnRsaWIsIG1hY2hpbmVyeT1tYWNoaW5lcnkpCisgICAgZGVmIHRlc3RfZmluZGVyX3dpdGhfZmluZF9tb2R1bGUoc2VsZik6CisgICAgICAgIGNsYXNzIFRlc3RGaW5kZXI6CisgICAgICAgICAgICBkZWYgZmluZF9tb2R1bGUoc2VsZiwgZnVsbG5hbWUpOgorICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLnRvX3JldHVybgorICAgICAgICBmYWlsaW5nX2ZpbmRlciA9IFRlc3RGaW5kZXIoKQorICAgICAgICBmYWlsaW5nX2ZpbmRlci50b19yZXR1cm4gPSBOb25lCisgICAgICAgIHBhdGggPSAndGVzdGluZyBwYXRoJworICAgICAgICB3aXRoIHV0aWwuaW1wb3J0X3N0YXRlKHBhdGhfaW1wb3J0ZXJfY2FjaGU9e3BhdGg6IGZhaWxpbmdfZmluZGVyfSk6CisgICAgICAgICAgICBzZWxmLmFzc2VydElzTm9uZSgKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5tYWNoaW5lcnkuUGF0aEZpbmRlci5maW5kX3NwZWMoJ3doYXRldmVyJywgW3BhdGhdKSkKKyAgICAgICAgc3VjY2Vzc19maW5kZXIgPSBUZXN0RmluZGVyKCkKKyAgICAgICAgc3VjY2Vzc19maW5kZXIudG9fcmV0dXJuID0gX19sb2FkZXJfXworICAgICAgICB3aXRoIHV0aWwuaW1wb3J0X3N0YXRlKHBhdGhfaW1wb3J0ZXJfY2FjaGU9e3BhdGg6IHN1Y2Nlc3NfZmluZGVyfSk6CisgICAgICAgICAgICBzcGVjID0gc2VsZi5tYWNoaW5lcnkuUGF0aEZpbmRlci5maW5kX3NwZWMoJ3doYXRldmVyJywgW3BhdGhdKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNwZWMubG9hZGVyLCBfX2xvYWRlcl9fKQorCisgICAgZGVmIHRlc3RfZmluZGVyX3dpdGhfZmluZF9sb2FkZXIoc2VsZik6CisgICAgICAgIGNsYXNzIFRlc3RGaW5kZXI6CisgICAgICAgICAgICBsb2FkZXIgPSBOb25lCisgICAgICAgICAgICBwb3J0aW9ucyA9IFtdCisgICAgICAgICAgICBkZWYgZmluZF9sb2FkZXIoc2VsZiwgZnVsbG5hbWUpOgorICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLmxvYWRlciwgc2VsZi5wb3J0aW9ucworICAgICAgICBwYXRoID0gJ3Rlc3RpbmcgcGF0aCcKKyAgICAgICAgd2l0aCB1dGlsLmltcG9ydF9zdGF0ZShwYXRoX2ltcG9ydGVyX2NhY2hlPXtwYXRoOiBUZXN0RmluZGVyKCl9KToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKAorICAgICAgICAgICAgICAgICAgICBzZWxmLm1hY2hpbmVyeS5QYXRoRmluZGVyLmZpbmRfc3BlYygnd2hhdGV2ZXInLCBbcGF0aF0pKQorICAgICAgICBzdWNjZXNzX2ZpbmRlciA9IFRlc3RGaW5kZXIoKQorICAgICAgICBzdWNjZXNzX2ZpbmRlci5sb2FkZXIgPSBfX2xvYWRlcl9fCisgICAgICAgIHdpdGggdXRpbC5pbXBvcnRfc3RhdGUocGF0aF9pbXBvcnRlcl9jYWNoZT17cGF0aDogc3VjY2Vzc19maW5kZXJ9KToKKyAgICAgICAgICAgIHNwZWMgPSBzZWxmLm1hY2hpbmVyeS5QYXRoRmluZGVyLmZpbmRfc3BlYygnd2hhdGV2ZXInLCBbcGF0aF0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3BlYy5sb2FkZXIsIF9fbG9hZGVyX18pCisKKyAgICBkZWYgdGVzdF9maW5kZXJfd2l0aF9maW5kX3NwZWMoc2VsZik6CisgICAgICAgIGNsYXNzIFRlc3RGaW5kZXI6CisgICAgICAgICAgICBzcGVjID0gTm9uZQorICAgICAgICAgICAgZGVmIGZpbmRfc3BlYyhzZWxmLCBmdWxsbmFtZSwgdGFyZ2V0PU5vbmUpOgorICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLnNwZWMKKyAgICAgICAgcGF0aCA9ICd0ZXN0aW5nIHBhdGgnCisgICAgICAgIHdpdGggdXRpbC5pbXBvcnRfc3RhdGUocGF0aF9pbXBvcnRlcl9jYWNoZT17cGF0aDogVGVzdEZpbmRlcigpfSk6CisgICAgICAgICAgICBzZWxmLmFzc2VydElzTm9uZSgKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5tYWNoaW5lcnkuUGF0aEZpbmRlci5maW5kX3NwZWMoJ3doYXRldmVyJywgW3BhdGhdKSkKKyAgICAgICAgc3VjY2Vzc19maW5kZXIgPSBUZXN0RmluZGVyKCkKKyAgICAgICAgc3VjY2Vzc19maW5kZXIuc3BlYyA9IHNlbGYubWFjaGluZXJ5Lk1vZHVsZVNwZWMoJ3doYXRldmVyJywgX19sb2FkZXJfXykKKyAgICAgICAgd2l0aCB1dGlsLmltcG9ydF9zdGF0ZShwYXRoX2ltcG9ydGVyX2NhY2hlPXtwYXRoOiBzdWNjZXNzX2ZpbmRlcn0pOgorICAgICAgICAgICAgZ290ID0gc2VsZi5tYWNoaW5lcnkuUGF0aEZpbmRlci5maW5kX3NwZWMoJ3doYXRldmVyJywgW3BhdGhdKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdvdCwgc3VjY2Vzc19maW5kZXIuc3BlYykKKworICAgIEB1bml0dGVzdC5za2lwSWYoc3lzLnBsYXRmb3JtID09ICd3aW4zMicsICJjd2QgY2FuJ3Qgbm90IGV4aXN0IG9uIFdpbmRvd3MiKQorICAgIGRlZiB0ZXN0X2RlbGV0ZWRfY3dkKHNlbGYpOgorICAgICAgICAjIElzc3VlICMyMjgzNAorICAgICAgICBzZWxmLmFkZENsZWFudXAob3MuY2hkaXIsIG9zLmdldGN3ZCgpKQorICAgICAgICB3aXRoIHRlbXBmaWxlLlRlbXBvcmFyeURpcmVjdG9yeSgpIGFzIHBhdGg6CisgICAgICAgICAgICBvcy5jaGRpcihwYXRoKQorICAgICAgICB3aXRoIHV0aWwuaW1wb3J0X3N0YXRlKHBhdGg9WycnXSk6CisgICAgICAgICAgICAjIERvIG5vdCB3YW50IEZpbGVOb3RGb3VuZEVycm9yIHJhaXNlZC4KKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHNlbGYubWFjaGluZXJ5LlBhdGhGaW5kZXIuZmluZF9zcGVjKCd3aGF0ZXZlcicpKQorCisKKworCisoRnJvemVuX0ZpbmRlclRlc3RzLAorIFNvdXJjZV9GaW5kZXJUZXN0cworICkgPSB1dGlsLnRlc3RfYm90aChGaW5kZXJUZXN0cywgaW1wb3J0bGliPWltcG9ydGxpYiwgbWFjaGluZXJ5PW1hY2hpbmVyeSkKIAogCiBjbGFzcyBQYXRoRW50cnlGaW5kZXJUZXN0czoKQEAgLTEzNiw4ICsxOTcsMTAgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoX2hvb2tzPVtGaW5kZXJdKToKICAgICAgICAgICAgIHNlbGYubWFjaGluZXJ5LlBhdGhGaW5kZXIuZmluZF9zcGVjKCdpbXBvcnRsaWInKQogCi1Gcm96ZW5fUEVGVGVzdHMsIFNvdXJjZV9QRUZUZXN0cyA9IHV0aWwudGVzdF9ib3RoKAotICAgICAgICBQYXRoRW50cnlGaW5kZXJUZXN0cywgbWFjaGluZXJ5PW1hY2hpbmVyeSkKKworKEZyb3plbl9QRUZUZXN0cywKKyBTb3VyY2VfUEVGVGVzdHMKKyApID0gdXRpbC50ZXN0X2JvdGgoUGF0aEVudHJ5RmluZGVyVGVzdHMsIG1hY2hpbmVyeT1tYWNoaW5lcnkpCiAKIAogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2ltcG9ydF8vdGVzdF9yZWxhdGl2ZV9pbXBvcnRzLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvaW1wb3J0Xy90ZXN0X3JlbGF0aXZlX2ltcG9ydHMucHkKaW5kZXggYjIxNmU5Yy4uMjhiYjZmNyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvaW1wb3J0Xy90ZXN0X3JlbGF0aXZlX2ltcG9ydHMucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvaW1wb3J0Xy90ZXN0X3JlbGF0aXZlX2ltcG9ydHMucHkKQEAgLTEsNiArMSw1IEBACiAiIiJUZXN0IHJlbGF0aXZlIGltcG9ydHMgKFBFUCAzMjgpLiIiIgogZnJvbSAuLiBpbXBvcnQgdXRpbAotZnJvbSAuIGltcG9ydCB1dGlsIGFzIGltcG9ydF91dGlsCiBpbXBvcnQgc3lzCiBpbXBvcnQgdW5pdHRlc3QKIApAQCAtMjA4LDggKzIwNywxMCBAQAogICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEtleUVycm9yKToKICAgICAgICAgICAgIHNlbGYuX19pbXBvcnRfXygnc3lzJywgbGV2ZWw9MSkKIAotRnJvemVuX1JlbGF0aXZlSW1wb3J0cywgU291cmNlX1JlbGF0aXZlSW1wb3J0cyA9IHV0aWwudGVzdF9ib3RoKAotICAgICAgICBSZWxhdGl2ZUltcG9ydHMsIF9faW1wb3J0X189aW1wb3J0X3V0aWwuX19pbXBvcnRfXykKKworKEZyb3plbl9SZWxhdGl2ZUltcG9ydHMsCisgU291cmNlX1JlbGF0aXZlSW1wb3J0cworICkgPSB1dGlsLnRlc3RfYm90aChSZWxhdGl2ZUltcG9ydHMsIF9faW1wb3J0X189dXRpbC5fX2ltcG9ydF9fKQogCiAKIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9pbXBvcnRfL3V0aWwucHkgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9pbXBvcnRfL3V0aWwucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRjYjQ5MGYuLjAwMDAwMDAKLS0tIGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvaW1wb3J0Xy91dGlsLnB5CisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotZnJvbSAuLiBpbXBvcnQgdXRpbAotCi1mcm96ZW5faW1wb3J0bGliLCBzb3VyY2VfaW1wb3J0bGliID0gdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWInKQotCi1pbXBvcnQgYnVpbHRpbnMKLWltcG9ydCBmdW5jdG9vbHMKLWltcG9ydCBpbXBvcnRsaWIKLWltcG9ydCB1bml0dGVzdAotCi0KLV9faW1wb3J0X18gPSBzdGF0aWNtZXRob2QoYnVpbHRpbnMuX19pbXBvcnRfXyksIHN0YXRpY21ldGhvZChzb3VyY2VfaW1wb3J0bGliLl9faW1wb3J0X18pCi0KLQotZGVmIG1vY2tfcGF0aF9ob29rKCplbnRyaWVzLCBpbXBvcnRlcik6Ci0gICAgIiIiQSBtb2NrIHN5cy5wYXRoX2hvb2tzIGVudHJ5LiIiIgotICAgIGRlZiBob29rKGVudHJ5KToKLSAgICAgICAgaWYgZW50cnkgbm90IGluIGVudHJpZXM6Ci0gICAgICAgICAgICByYWlzZSBJbXBvcnRFcnJvcgotICAgICAgICByZXR1cm4gaW1wb3J0ZXIKLSAgICByZXR1cm4gaG9vawpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvc291cmNlL3Rlc3RfY2FzZV9zZW5zaXRpdml0eS5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3NvdXJjZS90ZXN0X2Nhc2Vfc2Vuc2l0aXZpdHkucHkKaW5kZXggZWZkMzE0Ni4uMjllOTViMiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvc291cmNlL3Rlc3RfY2FzZV9zZW5zaXRpdml0eS5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9zb3VyY2UvdGVzdF9jYXNlX3NlbnNpdGl2aXR5LnB5CkBAIC0xLDYgKzEsNSBAQAogIiIiVGVzdCBjYXNlLXNlbnNpdGl2aXR5IChQRVAgMjM1KS4iIiIKIGZyb20gLi4gaW1wb3J0IHV0aWwKLWZyb20gLiBpbXBvcnQgdXRpbCBhcyBzb3VyY2VfdXRpbAogCiBpbXBvcnRsaWIgPSB1dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYicpCiBtYWNoaW5lcnkgPSB1dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYi5tYWNoaW5lcnknKQpAQCAtMzIsNyArMzEsNyBAQAogICAgICAgICAiIiJMb29rIGZvciBhIG1vZHVsZSB3aXRoIG1hdGNoaW5nIGFuZCBub24tbWF0Y2hpbmcgc2Vuc2l0aXZpdHkuIiIiCiAgICAgICAgIHNlbnNpdGl2ZV9wa2cgPSAnc2Vuc2l0aXZlLnswfScuZm9ybWF0KHNlbGYubmFtZSkKICAgICAgICAgaW5zZW5zaXRpdmVfcGtnID0gJ2luc2Vuc2l0aXZlLnswfScuZm9ybWF0KHNlbGYubmFtZS5sb3dlcigpKQotICAgICAgICBjb250ZXh0ID0gc291cmNlX3V0aWwuY3JlYXRlX21vZHVsZXMoaW5zZW5zaXRpdmVfcGtnLCBzZW5zaXRpdmVfcGtnKQorICAgICAgICBjb250ZXh0ID0gdXRpbC5jcmVhdGVfbW9kdWxlcyhpbnNlbnNpdGl2ZV9wa2csIHNlbnNpdGl2ZV9wa2cpCiAgICAgICAgIHdpdGggY29udGV4dCBhcyBtYXBwaW5nOgogICAgICAgICAgICAgc2Vuc2l0aXZlX3BhdGggPSBvcy5wYXRoLmpvaW4obWFwcGluZ1snLnJvb3QnXSwgJ3NlbnNpdGl2ZScpCiAgICAgICAgICAgICBpbnNlbnNpdGl2ZV9wYXRoID0gb3MucGF0aC5qb2luKG1hcHBpbmdbJy5yb290J10sICdpbnNlbnNpdGl2ZScpCkBAIC02MywyMCArNjIsMjggQEAKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb3ROb25lKGluc2Vuc2l0aXZlKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRJbihzZWxmLm5hbWUsIGluc2Vuc2l0aXZlLmdldF9maWxlbmFtZShzZWxmLm5hbWUpKQogCisKIGNsYXNzIENhc2VTZW5zaXRpdml0eVRlc3RQRVAzMDIoQ2FzZVNlbnNpdGl2aXR5VGVzdCk6CiAgICAgZGVmIGZpbmQoc2VsZiwgZmluZGVyKToKICAgICAgICAgcmV0dXJuIGZpbmRlci5maW5kX21vZHVsZShzZWxmLm5hbWUpCiAKLUZyb3plbl9DYXNlU2Vuc2l0aXZpdHlUZXN0UEVQMzAyLCBTb3VyY2VfQ2FzZVNlbnNpdGl2aXR5VGVzdFBFUDMwMiA9IHV0aWwudGVzdF9ib3RoKAotICAgIENhc2VTZW5zaXRpdml0eVRlc3RQRVAzMDIsIGltcG9ydGxpYj1pbXBvcnRsaWIsIG1hY2hpbmVyeT1tYWNoaW5lcnkpCisKKyhGcm96ZW5fQ2FzZVNlbnNpdGl2aXR5VGVzdFBFUDMwMiwKKyBTb3VyY2VfQ2FzZVNlbnNpdGl2aXR5VGVzdFBFUDMwMgorICkgPSB1dGlsLnRlc3RfYm90aChDYXNlU2Vuc2l0aXZpdHlUZXN0UEVQMzAyLCBpbXBvcnRsaWI9aW1wb3J0bGliLAorICAgICAgICAgICAgICAgICAgICBtYWNoaW5lcnk9bWFjaGluZXJ5KQorCiAKIGNsYXNzIENhc2VTZW5zaXRpdml0eVRlc3RQRVA0NTEoQ2FzZVNlbnNpdGl2aXR5VGVzdCk6CiAgICAgZGVmIGZpbmQoc2VsZiwgZmluZGVyKToKICAgICAgICAgZm91bmQgPSBmaW5kZXIuZmluZF9zcGVjKHNlbGYubmFtZSkKICAgICAgICAgcmV0dXJuIGZvdW5kLmxvYWRlciBpZiBmb3VuZCBpcyBub3QgTm9uZSBlbHNlIGZvdW5kCiAKLUZyb3plbl9DYXNlU2Vuc2l0aXZpdHlUZXN0UEVQNDUxLCBTb3VyY2VfQ2FzZVNlbnNpdGl2aXR5VGVzdFBFUDQ1MSA9IHV0aWwudGVzdF9ib3RoKAotICAgIENhc2VTZW5zaXRpdml0eVRlc3RQRVA0NTEsIGltcG9ydGxpYj1pbXBvcnRsaWIsIG1hY2hpbmVyeT1tYWNoaW5lcnkpCisKKyhGcm96ZW5fQ2FzZVNlbnNpdGl2aXR5VGVzdFBFUDQ1MSwKKyBTb3VyY2VfQ2FzZVNlbnNpdGl2aXR5VGVzdFBFUDQ1MQorICkgPSB1dGlsLnRlc3RfYm90aChDYXNlU2Vuc2l0aXZpdHlUZXN0UEVQNDUxLCBpbXBvcnRsaWI9aW1wb3J0bGliLAorICAgICAgICAgICAgICAgICAgICBtYWNoaW5lcnk9bWFjaGluZXJ5KQogCiAKIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9zb3VyY2UvdGVzdF9maWxlX2xvYWRlci5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3NvdXJjZS90ZXN0X2ZpbGVfbG9hZGVyLnB5CmluZGV4IDJkNDE1ZjkuLjczZjRjNjIgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3NvdXJjZS90ZXN0X2ZpbGVfbG9hZGVyLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3NvdXJjZS90ZXN0X2ZpbGVfbG9hZGVyLnB5CkBAIC0xLDYgKzEsNSBAQAogZnJvbSAuLiBpbXBvcnQgYWJjCiBmcm9tIC4uIGltcG9ydCB1dGlsCi1mcm9tIC4gaW1wb3J0IHV0aWwgYXMgc291cmNlX3V0aWwKIAogaW1wb3J0bGliID0gdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWInKQogaW1wb3J0bGliX2FiYyA9IHV0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliLmFiYycpCkBAIC03MSw3ICs3MCw3IEBACiAKICAgICAjIFtiYXNpY10KICAgICBkZWYgdGVzdF9tb2R1bGUoc2VsZik6Ci0gICAgICAgIHdpdGggc291cmNlX3V0aWwuY3JlYXRlX21vZHVsZXMoJ190ZW1wJykgYXMgbWFwcGluZzoKKyAgICAgICAgd2l0aCB1dGlsLmNyZWF0ZV9tb2R1bGVzKCdfdGVtcCcpIGFzIG1hcHBpbmc6CiAgICAgICAgICAgICBsb2FkZXIgPSBzZWxmLm1hY2hpbmVyeS5Tb3VyY2VGaWxlTG9hZGVyKCdfdGVtcCcsIG1hcHBpbmdbJ190ZW1wJ10pCiAgICAgICAgICAgICB3aXRoIHdhcm5pbmdzLmNhdGNoX3dhcm5pbmdzKCk6CiAgICAgICAgICAgICAgICAgd2FybmluZ3Muc2ltcGxlZmlsdGVyKCdpZ25vcmUnLCBEZXByZWNhdGlvbldhcm5pbmcpCkBAIC04Myw3ICs4Miw3IEBACiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChnZXRhdHRyKG1vZHVsZSwgYXR0ciksIHZhbHVlKQogCiAgICAgZGVmIHRlc3RfcGFja2FnZShzZWxmKToKLSAgICAgICAgd2l0aCBzb3VyY2VfdXRpbC5jcmVhdGVfbW9kdWxlcygnX3BrZy5fX2luaXRfXycpIGFzIG1hcHBpbmc6CisgICAgICAgIHdpdGggdXRpbC5jcmVhdGVfbW9kdWxlcygnX3BrZy5fX2luaXRfXycpIGFzIG1hcHBpbmc6CiAgICAgICAgICAgICBsb2FkZXIgPSBzZWxmLm1hY2hpbmVyeS5Tb3VyY2VGaWxlTG9hZGVyKCdfcGtnJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nWydfcGtnLl9faW5pdF9fJ10pCiAgICAgICAgICAgICB3aXRoIHdhcm5pbmdzLmNhdGNoX3dhcm5pbmdzKCk6CkBAIC05OCw3ICs5Nyw3IEBACiAKIAogICAgIGRlZiB0ZXN0X2xhY2tpbmdfcGFyZW50KHNlbGYpOgotICAgICAgICB3aXRoIHNvdXJjZV91dGlsLmNyZWF0ZV9tb2R1bGVzKCdfcGtnLl9faW5pdF9fJywgJ19wa2cubW9kJylhcyBtYXBwaW5nOgorICAgICAgICB3aXRoIHV0aWwuY3JlYXRlX21vZHVsZXMoJ19wa2cuX19pbml0X18nLCAnX3BrZy5tb2QnKWFzIG1hcHBpbmc6CiAgICAgICAgICAgICBsb2FkZXIgPSBzZWxmLm1hY2hpbmVyeS5Tb3VyY2VGaWxlTG9hZGVyKCdfcGtnLm1vZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ1snX3BrZy5tb2QnXSkKICAgICAgICAgICAgIHdpdGggd2FybmluZ3MuY2F0Y2hfd2FybmluZ3MoKToKQEAgLTExNSw3ICsxMTQsNyBAQAogICAgICAgICByZXR1cm4gbGFtYmRhIG5hbWU6IGZ4bihuYW1lKSArIDEKIAogICAgIGRlZiB0ZXN0X21vZHVsZV9yZXVzZShzZWxmKToKLSAgICAgICAgd2l0aCBzb3VyY2VfdXRpbC5jcmVhdGVfbW9kdWxlcygnX3RlbXAnKSBhcyBtYXBwaW5nOgorICAgICAgICB3aXRoIHV0aWwuY3JlYXRlX21vZHVsZXMoJ190ZW1wJykgYXMgbWFwcGluZzoKICAgICAgICAgICAgIGxvYWRlciA9IHNlbGYubWFjaGluZXJ5LlNvdXJjZUZpbGVMb2FkZXIoJ190ZW1wJywgbWFwcGluZ1snX3RlbXAnXSkKICAgICAgICAgICAgIHdpdGggd2FybmluZ3MuY2F0Y2hfd2FybmluZ3MoKToKICAgICAgICAgICAgICAgICB3YXJuaW5ncy5zaW1wbGVmaWx0ZXIoJ2lnbm9yZScsIERlcHJlY2F0aW9uV2FybmluZykKQEAgLTEzOSw3ICsxMzgsNyBAQAogICAgICAgICBhdHRyaWJ1dGVzID0gKCdfX2ZpbGVfXycsICdfX3BhdGhfXycsICdfX3BhY2thZ2VfXycpCiAgICAgICAgIHZhbHVlID0gJzx0ZXN0PicKICAgICAgICAgbmFtZSA9ICdfdGVtcCcKLSAgICAgICAgd2l0aCBzb3VyY2VfdXRpbC5jcmVhdGVfbW9kdWxlcyhuYW1lKSBhcyBtYXBwaW5nOgorICAgICAgICB3aXRoIHV0aWwuY3JlYXRlX21vZHVsZXMobmFtZSkgYXMgbWFwcGluZzoKICAgICAgICAgICAgIG9yaWdfbW9kdWxlID0gdHlwZXMuTW9kdWxlVHlwZShuYW1lKQogICAgICAgICAgICAgZm9yIGF0dHIgaW4gYXR0cmlidXRlczoKICAgICAgICAgICAgICAgICBzZXRhdHRyKG9yaWdfbW9kdWxlLCBhdHRyLCB2YWx1ZSkKQEAgLTE1OSw3ICsxNTgsNyBAQAogCiAgICAgIyBbc3ludGF4IGVycm9yXQogICAgIGRlZiB0ZXN0X2JhZF9zeW50YXgoc2VsZik6Ci0gICAgICAgIHdpdGggc291cmNlX3V0aWwuY3JlYXRlX21vZHVsZXMoJ190ZW1wJykgYXMgbWFwcGluZzoKKyAgICAgICAgd2l0aCB1dGlsLmNyZWF0ZV9tb2R1bGVzKCdfdGVtcCcpIGFzIG1hcHBpbmc6CiAgICAgICAgICAgICB3aXRoIG9wZW4obWFwcGluZ1snX3RlbXAnXSwgJ3cnKSBhcyBmaWxlOgogICAgICAgICAgICAgICAgIGZpbGUud3JpdGUoJz0nKQogICAgICAgICAgICAgbG9hZGVyID0gc2VsZi5tYWNoaW5lcnkuU291cmNlRmlsZUxvYWRlcignX3RlbXAnLCBtYXBwaW5nWydfdGVtcCddKQpAQCAtMTkwLDExICsxODksMTEgQEAKICAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKHB5Y2FjaGUpOgogICAgICAgICAgICAgICAgIHNodXRpbC5ybXRyZWUocHljYWNoZSkKIAotICAgIEBzb3VyY2VfdXRpbC53cml0ZXNfYnl0ZWNvZGVfZmlsZXMKKyAgICBAdXRpbC53cml0ZXNfYnl0ZWNvZGVfZmlsZXMKICAgICBkZWYgdGVzdF90aW1lc3RhbXBfb3ZlcmZsb3coc2VsZik6CiAgICAgICAgICMgV2hlbiBhIG1vZGlmaWNhdGlvbiB0aW1lc3RhbXAgaXMgbGFyZ2VyIHRoYW4gMioqMzIsIGl0IHNob3VsZCBiZQogICAgICAgICAjIHRydW5jYXRlZCByYXRoZXIgdGhhbiByYWlzZSBhbiBPdmVyZmxvd0Vycm9yLgotICAgICAgICB3aXRoIHNvdXJjZV91dGlsLmNyZWF0ZV9tb2R1bGVzKCdfdGVtcCcpIGFzIG1hcHBpbmc6CisgICAgICAgIHdpdGggdXRpbC5jcmVhdGVfbW9kdWxlcygnX3RlbXAnKSBhcyBtYXBwaW5nOgogICAgICAgICAgICAgc291cmNlID0gbWFwcGluZ1snX3RlbXAnXQogICAgICAgICAgICAgY29tcGlsZWQgPSBzZWxmLnV0aWwuY2FjaGVfZnJvbV9zb3VyY2Uoc291cmNlKQogICAgICAgICAgICAgd2l0aCBvcGVuKHNvdXJjZSwgJ3cnKSBhcyBmOgpAQCAtMjM2LDkgKzIzNSwxMSBAQAogICAgICAgICAgICAgICAgIHdhcm5pbmdzLnNpbXBsZWZpbHRlcignaWdub3JlJywgRGVwcmVjYXRpb25XYXJuaW5nKQogICAgICAgICAgICAgICAgIGxvYWRlci5sb2FkX21vZHVsZSgnYmFkIG5hbWUnKQogCi1Gcm96ZW5fU2ltcGxlVGVzdCwgU291cmNlX1NpbXBsZVRlc3QgPSB1dGlsLnRlc3RfYm90aCgKLSAgICAgICAgU2ltcGxlVGVzdCwgaW1wb3J0bGliPWltcG9ydGxpYiwgbWFjaGluZXJ5PW1hY2hpbmVyeSwgYWJjPWltcG9ydGxpYl9hYmMsCi0gICAgICAgIHV0aWw9aW1wb3J0bGliX3V0aWwpCisKKyhGcm96ZW5fU2ltcGxlVGVzdCwKKyBTb3VyY2VfU2ltcGxlVGVzdAorICkgPSB1dGlsLnRlc3RfYm90aChTaW1wbGVUZXN0LCBpbXBvcnRsaWI9aW1wb3J0bGliLCBtYWNoaW5lcnk9bWFjaGluZXJ5LAorICAgICAgICAgICAgICAgICAgICBhYmM9aW1wb3J0bGliX2FiYywgdXRpbD1pbXBvcnRsaWJfdXRpbCkKIAogCiBjbGFzcyBCYWRCeXRlY29kZVRlc3Q6CkBAIC0yNzUsNDUgKzI3Niw0NSBAQAogICAgICAgICByZXR1cm4gYnl0ZWNvZGVfcGF0aAogCiAgICAgZGVmIF90ZXN0X2VtcHR5X2ZpbGUoc2VsZiwgdGVzdCwgKiwgZGVsX3NvdXJjZT1GYWxzZSk6Ci0gICAgICAgIHdpdGggc291cmNlX3V0aWwuY3JlYXRlX21vZHVsZXMoJ190ZW1wJykgYXMgbWFwcGluZzoKKyAgICAgICAgd2l0aCB1dGlsLmNyZWF0ZV9tb2R1bGVzKCdfdGVtcCcpIGFzIG1hcHBpbmc6CiAgICAgICAgICAgICBiY19wYXRoID0gc2VsZi5tYW5pcHVsYXRlX2J5dGVjb2RlKCdfdGVtcCcsIG1hcHBpbmcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW1iZGEgYmM6IGInJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbF9zb3VyY2U9ZGVsX3NvdXJjZSkKICAgICAgICAgICAgIHRlc3QoJ190ZW1wJywgbWFwcGluZywgYmNfcGF0aCkKIAotICAgIEBzb3VyY2VfdXRpbC53cml0ZXNfYnl0ZWNvZGVfZmlsZXMKKyAgICBAdXRpbC53cml0ZXNfYnl0ZWNvZGVfZmlsZXMKICAgICBkZWYgX3Rlc3RfcGFydGlhbF9tYWdpYyhzZWxmLCB0ZXN0LCAqLCBkZWxfc291cmNlPUZhbHNlKToKICAgICAgICAgIyBXaGVuIHRoZWlyIGFyZSBsZXNzIHRoYW4gNCBieXRlcyB0byBhIC5weWMsIHJlZ2VuZXJhdGUgaXQgaWYKICAgICAgICAgIyBwb3NzaWJsZSwgZWxzZSByYWlzZSBJbXBvcnRFcnJvci4KLSAgICAgICAgd2l0aCBzb3VyY2VfdXRpbC5jcmVhdGVfbW9kdWxlcygnX3RlbXAnKSBhcyBtYXBwaW5nOgorICAgICAgICB3aXRoIHV0aWwuY3JlYXRlX21vZHVsZXMoJ190ZW1wJykgYXMgbWFwcGluZzoKICAgICAgICAgICAgIGJjX3BhdGggPSBzZWxmLm1hbmlwdWxhdGVfYnl0ZWNvZGUoJ190ZW1wJywgbWFwcGluZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhbWJkYSBiYzogYmNbOjNdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsX3NvdXJjZT1kZWxfc291cmNlKQogICAgICAgICAgICAgdGVzdCgnX3RlbXAnLCBtYXBwaW5nLCBiY19wYXRoKQogCiAgICAgZGVmIF90ZXN0X21hZ2ljX29ubHkoc2VsZiwgdGVzdCwgKiwgZGVsX3NvdXJjZT1GYWxzZSk6Ci0gICAgICAgIHdpdGggc291cmNlX3V0aWwuY3JlYXRlX21vZHVsZXMoJ190ZW1wJykgYXMgbWFwcGluZzoKKyAgICAgICAgd2l0aCB1dGlsLmNyZWF0ZV9tb2R1bGVzKCdfdGVtcCcpIGFzIG1hcHBpbmc6CiAgICAgICAgICAgICBiY19wYXRoID0gc2VsZi5tYW5pcHVsYXRlX2J5dGVjb2RlKCdfdGVtcCcsIG1hcHBpbmcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW1iZGEgYmM6IGJjWzo0XSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbF9zb3VyY2U9ZGVsX3NvdXJjZSkKICAgICAgICAgICAgIHRlc3QoJ190ZW1wJywgbWFwcGluZywgYmNfcGF0aCkKIAogICAgIGRlZiBfdGVzdF9wYXJ0aWFsX3RpbWVzdGFtcChzZWxmLCB0ZXN0LCAqLCBkZWxfc291cmNlPUZhbHNlKToKLSAgICAgICAgd2l0aCBzb3VyY2VfdXRpbC5jcmVhdGVfbW9kdWxlcygnX3RlbXAnKSBhcyBtYXBwaW5nOgorICAgICAgICB3aXRoIHV0aWwuY3JlYXRlX21vZHVsZXMoJ190ZW1wJykgYXMgbWFwcGluZzoKICAgICAgICAgICAgIGJjX3BhdGggPSBzZWxmLm1hbmlwdWxhdGVfYnl0ZWNvZGUoJ190ZW1wJywgbWFwcGluZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhbWJkYSBiYzogYmNbOjddLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsX3NvdXJjZT1kZWxfc291cmNlKQogICAgICAgICAgICAgdGVzdCgnX3RlbXAnLCBtYXBwaW5nLCBiY19wYXRoKQogCiAgICAgZGVmIF90ZXN0X3BhcnRpYWxfc2l6ZShzZWxmLCB0ZXN0LCAqLCBkZWxfc291cmNlPUZhbHNlKToKLSAgICAgICAgd2l0aCBzb3VyY2VfdXRpbC5jcmVhdGVfbW9kdWxlcygnX3RlbXAnKSBhcyBtYXBwaW5nOgorICAgICAgICB3aXRoIHV0aWwuY3JlYXRlX21vZHVsZXMoJ190ZW1wJykgYXMgbWFwcGluZzoKICAgICAgICAgICAgIGJjX3BhdGggPSBzZWxmLm1hbmlwdWxhdGVfYnl0ZWNvZGUoJ190ZW1wJywgbWFwcGluZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhbWJkYSBiYzogYmNbOjExXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbF9zb3VyY2U9ZGVsX3NvdXJjZSkKICAgICAgICAgICAgIHRlc3QoJ190ZW1wJywgbWFwcGluZywgYmNfcGF0aCkKIAogICAgIGRlZiBfdGVzdF9ub19tYXJzaGFsKHNlbGYsICosIGRlbF9zb3VyY2U9RmFsc2UpOgotICAgICAgICB3aXRoIHNvdXJjZV91dGlsLmNyZWF0ZV9tb2R1bGVzKCdfdGVtcCcpIGFzIG1hcHBpbmc6CisgICAgICAgIHdpdGggdXRpbC5jcmVhdGVfbW9kdWxlcygnX3RlbXAnKSBhcyBtYXBwaW5nOgogICAgICAgICAgICAgYmNfcGF0aCA9IHNlbGYubWFuaXB1bGF0ZV9ieXRlY29kZSgnX3RlbXAnLCBtYXBwaW5nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFtYmRhIGJjOiBiY1s6MTJdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsX3NvdXJjZT1kZWxfc291cmNlKQpAQCAtMzIyLDcgKzMyMyw3IEBACiAgICAgICAgICAgICAgICAgc2VsZi5pbXBvcnRfKGZpbGVfcGF0aCwgJ190ZW1wJykKIAogICAgIGRlZiBfdGVzdF9ub25fY29kZV9tYXJzaGFsKHNlbGYsICosIGRlbF9zb3VyY2U9RmFsc2UpOgotICAgICAgICB3aXRoIHNvdXJjZV91dGlsLmNyZWF0ZV9tb2R1bGVzKCdfdGVtcCcpIGFzIG1hcHBpbmc6CisgICAgICAgIHdpdGggdXRpbC5jcmVhdGVfbW9kdWxlcygnX3RlbXAnKSBhcyBtYXBwaW5nOgogICAgICAgICAgICAgYnl0ZWNvZGVfcGF0aCA9IHNlbGYubWFuaXB1bGF0ZV9ieXRlY29kZSgnX3RlbXAnLCBtYXBwaW5nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFtYmRhIGJjOiBiY1s6MTJdICsgbWFyc2hhbC5kdW1wcyhiJ2FiY2QnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbF9zb3VyY2U9ZGVsX3NvdXJjZSkKQEAgLTMzMyw3ICszMzQsNyBAQAogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbS5leGNlcHRpb24ucGF0aCwgYnl0ZWNvZGVfcGF0aCkKIAogICAgIGRlZiBfdGVzdF9iYWRfbWFyc2hhbChzZWxmLCAqLCBkZWxfc291cmNlPUZhbHNlKToKLSAgICAgICAgd2l0aCBzb3VyY2VfdXRpbC5jcmVhdGVfbW9kdWxlcygnX3RlbXAnKSBhcyBtYXBwaW5nOgorICAgICAgICB3aXRoIHV0aWwuY3JlYXRlX21vZHVsZXMoJ190ZW1wJykgYXMgbWFwcGluZzoKICAgICAgICAgICAgIGJ5dGVjb2RlX3BhdGggPSBzZWxmLm1hbmlwdWxhdGVfYnl0ZWNvZGUoJ190ZW1wJywgbWFwcGluZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhbWJkYSBiYzogYmNbOjEyXSArIGInPHRlc3Q+JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbF9zb3VyY2U9ZGVsX3NvdXJjZSkKQEAgLTM0MiwxMSArMzQzLDEyIEBACiAgICAgICAgICAgICAgICAgc2VsZi5pbXBvcnRfKGZpbGVfcGF0aCwgJ190ZW1wJykKIAogICAgIGRlZiBfdGVzdF9iYWRfbWFnaWMoc2VsZiwgdGVzdCwgKiwgZGVsX3NvdXJjZT1GYWxzZSk6Ci0gICAgICAgIHdpdGggc291cmNlX3V0aWwuY3JlYXRlX21vZHVsZXMoJ190ZW1wJykgYXMgbWFwcGluZzoKKyAgICAgICAgd2l0aCB1dGlsLmNyZWF0ZV9tb2R1bGVzKCdfdGVtcCcpIGFzIG1hcHBpbmc6CiAgICAgICAgICAgICBiY19wYXRoID0gc2VsZi5tYW5pcHVsYXRlX2J5dGVjb2RlKCdfdGVtcCcsIG1hcHBpbmcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW1iZGEgYmM6IGInXHgwMFx4MDBceDAwXHgwMCcgKyBiY1s0Ol0pCiAgICAgICAgICAgICB0ZXN0KCdfdGVtcCcsIG1hcHBpbmcsIGJjX3BhdGgpCiAKKwogY2xhc3MgQmFkQnl0ZWNvZGVUZXN0UEVQNDUxKEJhZEJ5dGVjb2RlVGVzdCk6CiAKICAgICBkZWYgaW1wb3J0XyhzZWxmLCBmaWxlLCBtb2R1bGVfbmFtZSk6CkBAIC0zNTUsNiArMzU3LDcgQEAKICAgICAgICAgbW9kdWxlLl9fc3BlY19fID0gc2VsZi51dGlsLnNwZWNfZnJvbV9sb2FkZXIobW9kdWxlX25hbWUsIGxvYWRlcikKICAgICAgICAgbG9hZGVyLmV4ZWNfbW9kdWxlKG1vZHVsZSkKIAorCiBjbGFzcyBCYWRCeXRlY29kZVRlc3RQRVAzMDIoQmFkQnl0ZWNvZGVUZXN0KToKIAogICAgIGRlZiBpbXBvcnRfKHNlbGYsIGZpbGUsIG1vZHVsZV9uYW1lKToKQEAgLTM3MSw3ICszNzQsNyBAQAogICAgIGRlZiBzZXRVcENsYXNzKGNscyk6CiAgICAgICAgIGNscy5sb2FkZXIgPSBjbHMubWFjaGluZXJ5LlNvdXJjZUZpbGVMb2FkZXIKIAotICAgIEBzb3VyY2VfdXRpbC53cml0ZXNfYnl0ZWNvZGVfZmlsZXMKKyAgICBAdXRpbC53cml0ZXNfYnl0ZWNvZGVfZmlsZXMKICAgICBkZWYgdGVzdF9lbXB0eV9maWxlKHNlbGYpOgogICAgICAgICAjIFdoZW4gYSAucHljIGlzIGVtcHR5LCByZWdlbmVyYXRlIGl0IGlmIHBvc3NpYmxlLCBlbHNlIHJhaXNlCiAgICAgICAgICMgSW1wb3J0RXJyb3IuCkBAIC0zOTAsNyArMzkzLDcgQEAKIAogICAgICAgICBzZWxmLl90ZXN0X3BhcnRpYWxfbWFnaWModGVzdCkKIAotICAgIEBzb3VyY2VfdXRpbC53cml0ZXNfYnl0ZWNvZGVfZmlsZXMKKyAgICBAdXRpbC53cml0ZXNfYnl0ZWNvZGVfZmlsZXMKICAgICBkZWYgdGVzdF9tYWdpY19vbmx5KHNlbGYpOgogICAgICAgICAjIFdoZW4gdGhlcmUgaXMgb25seSB0aGUgbWFnaWMgbnVtYmVyLCByZWdlbmVyYXRlIHRoZSAucHljIGlmIHBvc3NpYmxlLAogICAgICAgICAjIGVsc2UgcmFpc2UgRU9GRXJyb3IuCkBAIC00MDEsNyArNDA0LDcgQEAKIAogICAgICAgICBzZWxmLl90ZXN0X21hZ2ljX29ubHkodGVzdCkKIAotICAgIEBzb3VyY2VfdXRpbC53cml0ZXNfYnl0ZWNvZGVfZmlsZXMKKyAgICBAdXRpbC53cml0ZXNfYnl0ZWNvZGVfZmlsZXMKICAgICBkZWYgdGVzdF9iYWRfbWFnaWMoc2VsZik6CiAgICAgICAgICMgV2hlbiB0aGUgbWFnaWMgbnVtYmVyIGlzIGRpZmZlcmVudCwgdGhlIGJ5dGVjb2RlIHNob3VsZCBiZQogICAgICAgICAjIHJlZ2VuZXJhdGVkLgpAQCAtNDEzLDcgKzQxNiw3IEBACiAKICAgICAgICAgc2VsZi5fdGVzdF9iYWRfbWFnaWModGVzdCkKIAotICAgIEBzb3VyY2VfdXRpbC53cml0ZXNfYnl0ZWNvZGVfZmlsZXMKKyAgICBAdXRpbC53cml0ZXNfYnl0ZWNvZGVfZmlsZXMKICAgICBkZWYgdGVzdF9wYXJ0aWFsX3RpbWVzdGFtcChzZWxmKToKICAgICAgICAgIyBXaGVuIHRoZSB0aW1lc3RhbXAgaXMgcGFydGlhbCwgcmVnZW5lcmF0ZSB0aGUgLnB5YywgZWxzZQogICAgICAgICAjIHJhaXNlIEVPRkVycm9yLgpAQCAtNDI0LDcgKzQyNyw3IEBACiAKICAgICAgICAgc2VsZi5fdGVzdF9wYXJ0aWFsX3RpbWVzdGFtcCh0ZXN0KQogCi0gICAgQHNvdXJjZV91dGlsLndyaXRlc19ieXRlY29kZV9maWxlcworICAgIEB1dGlsLndyaXRlc19ieXRlY29kZV9maWxlcwogICAgIGRlZiB0ZXN0X3BhcnRpYWxfc2l6ZShzZWxmKToKICAgICAgICAgIyBXaGVuIHRoZSBzaXplIGlzIHBhcnRpYWwsIHJlZ2VuZXJhdGUgdGhlIC5weWMsIGVsc2UKICAgICAgICAgIyByYWlzZSBFT0ZFcnJvci4KQEAgLTQzNSwyOSArNDM4LDI5IEBACiAKICAgICAgICAgc2VsZi5fdGVzdF9wYXJ0aWFsX3NpemUodGVzdCkKIAotICAgIEBzb3VyY2VfdXRpbC53cml0ZXNfYnl0ZWNvZGVfZmlsZXMKKyAgICBAdXRpbC53cml0ZXNfYnl0ZWNvZGVfZmlsZXMKICAgICBkZWYgdGVzdF9ub19tYXJzaGFsKHNlbGYpOgogICAgICAgICAjIFdoZW4gdGhlcmUgaXMgb25seSB0aGUgbWFnaWMgbnVtYmVyIGFuZCB0aW1lc3RhbXAsIHJhaXNlIEVPRkVycm9yLgogICAgICAgICBzZWxmLl90ZXN0X25vX21hcnNoYWwoKQogCi0gICAgQHNvdXJjZV91dGlsLndyaXRlc19ieXRlY29kZV9maWxlcworICAgIEB1dGlsLndyaXRlc19ieXRlY29kZV9maWxlcwogICAgIGRlZiB0ZXN0X25vbl9jb2RlX21hcnNoYWwoc2VsZik6CiAgICAgICAgIHNlbGYuX3Rlc3Rfbm9uX2NvZGVfbWFyc2hhbCgpCiAgICAgICAgICMgWFhYIEltcG9ydEVycm9yIHdoZW4gc291cmNlbGVzcwogCiAgICAgIyBbYmFkIG1hcnNoYWxdCi0gICAgQHNvdXJjZV91dGlsLndyaXRlc19ieXRlY29kZV9maWxlcworICAgIEB1dGlsLndyaXRlc19ieXRlY29kZV9maWxlcwogICAgIGRlZiB0ZXN0X2JhZF9tYXJzaGFsKHNlbGYpOgogICAgICAgICAjIEJhZCBtYXJzaGFsIGRhdGEgc2hvdWxkIHJhaXNlIGEgVmFsdWVFcnJvci4KICAgICAgICAgc2VsZi5fdGVzdF9iYWRfbWFyc2hhbCgpCiAKICAgICAjIFtiYWQgdGltZXN0YW1wXQotICAgIEBzb3VyY2VfdXRpbC53cml0ZXNfYnl0ZWNvZGVfZmlsZXMKKyAgICBAdXRpbC53cml0ZXNfYnl0ZWNvZGVfZmlsZXMKICAgICBkZWYgdGVzdF9vbGRfdGltZXN0YW1wKHNlbGYpOgogICAgICAgICAjIFdoZW4gdGhlIHRpbWVzdGFtcCBpcyBvbGRlciB0aGFuIHRoZSBzb3VyY2UsIGJ5dGVjb2RlIHNob3VsZCBiZQogICAgICAgICAjIHJlZ2VuZXJhdGVkLgogICAgICAgICB6ZXJvcyA9IGInXHgwMFx4MDBceDAwXHgwMCcKLSAgICAgICAgd2l0aCBzb3VyY2VfdXRpbC5jcmVhdGVfbW9kdWxlcygnX3RlbXAnKSBhcyBtYXBwaW5nOgorICAgICAgICB3aXRoIHV0aWwuY3JlYXRlX21vZHVsZXMoJ190ZW1wJykgYXMgbWFwcGluZzoKICAgICAgICAgICAgIHB5X2NvbXBpbGUuY29tcGlsZShtYXBwaW5nWydfdGVtcCddKQogICAgICAgICAgICAgYnl0ZWNvZGVfcGF0aCA9IHNlbGYudXRpbC5jYWNoZV9mcm9tX3NvdXJjZShtYXBwaW5nWydfdGVtcCddKQogICAgICAgICAgICAgd2l0aCBvcGVuKGJ5dGVjb2RlX3BhdGgsICdyK2InKSBhcyBieXRlY29kZV9maWxlOgpAQCAtNDcxLDEwICs0NzQsMTAgQEAKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ5dGVjb2RlX2ZpbGUucmVhZCg0KSwgc291cmNlX3RpbWVzdGFtcCkKIAogICAgICMgW2J5dGVjb2RlIHJlYWQtb25seV0KLSAgICBAc291cmNlX3V0aWwud3JpdGVzX2J5dGVjb2RlX2ZpbGVzCisgICAgQHV0aWwud3JpdGVzX2J5dGVjb2RlX2ZpbGVzCiAgICAgZGVmIHRlc3RfcmVhZF9vbmx5X2J5dGVjb2RlKHNlbGYpOgogICAgICAgICAjIFdoZW4gYnl0ZWNvZGUgaXMgcmVhZC1vbmx5IGJ1dCBzaG91bGQgYmUgcmV3cml0dGVuLCBmYWlsIHNpbGVudGx5LgotICAgICAgICB3aXRoIHNvdXJjZV91dGlsLmNyZWF0ZV9tb2R1bGVzKCdfdGVtcCcpIGFzIG1hcHBpbmc6CisgICAgICAgIHdpdGggdXRpbC5jcmVhdGVfbW9kdWxlcygnX3RlbXAnKSBhcyBtYXBwaW5nOgogICAgICAgICAgICAgIyBDcmVhdGUgYnl0ZWNvZGUgdGhhdCB3aWxsIG5lZWQgdG8gYmUgcmUtY3JlYXRlZC4KICAgICAgICAgICAgIHB5X2NvbXBpbGUuY29tcGlsZShtYXBwaW5nWydfdGVtcCddKQogICAgICAgICAgICAgYnl0ZWNvZGVfcGF0aCA9IHNlbGYudXRpbC5jYWNoZV9mcm9tX3NvdXJjZShtYXBwaW5nWydfdGVtcCddKQpAQCAtNDkxLDIxICs0OTQsMjkgQEAKICAgICAgICAgICAgICAgICAjIE1ha2Ugd3JpdGFibGUgZm9yIGV2ZW50dWFsIGNsZWFuLXVwLgogICAgICAgICAgICAgICAgIG9zLmNobW9kKGJ5dGVjb2RlX3BhdGgsIHN0YXQuU19JV1VTUikKIAorCiBjbGFzcyBTb3VyY2VMb2FkZXJCYWRCeXRlY29kZVRlc3RQRVA0NTEoCiAgICAgICAgIFNvdXJjZUxvYWRlckJhZEJ5dGVjb2RlVGVzdCwgQmFkQnl0ZWNvZGVUZXN0UEVQNDUxKToKICAgICBwYXNzCiAKLUZyb3plbl9Tb3VyY2VCYWRCeXRlY29kZVBFUDQ1MSwgU291cmNlX1NvdXJjZUJhZEJ5dGVjb2RlUEVQNDUxID0gdXRpbC50ZXN0X2JvdGgoCi0gICAgICAgIFNvdXJjZUxvYWRlckJhZEJ5dGVjb2RlVGVzdFBFUDQ1MSwgaW1wb3J0bGliPWltcG9ydGxpYiwgbWFjaGluZXJ5PW1hY2hpbmVyeSwKLSAgICAgICAgYWJjPWltcG9ydGxpYl9hYmMsIHV0aWw9aW1wb3J0bGliX3V0aWwpCisKKyhGcm96ZW5fU291cmNlQmFkQnl0ZWNvZGVQRVA0NTEsCisgU291cmNlX1NvdXJjZUJhZEJ5dGVjb2RlUEVQNDUxCisgKSA9IHV0aWwudGVzdF9ib3RoKFNvdXJjZUxvYWRlckJhZEJ5dGVjb2RlVGVzdFBFUDQ1MSwgaW1wb3J0bGliPWltcG9ydGxpYiwKKyAgICAgICAgICAgICAgICAgICAgbWFjaGluZXJ5PW1hY2hpbmVyeSwgYWJjPWltcG9ydGxpYl9hYmMsCisgICAgICAgICAgICAgICAgICAgIHV0aWw9aW1wb3J0bGliX3V0aWwpCisKIAogY2xhc3MgU291cmNlTG9hZGVyQmFkQnl0ZWNvZGVUZXN0UEVQMzAyKAogICAgICAgICBTb3VyY2VMb2FkZXJCYWRCeXRlY29kZVRlc3QsIEJhZEJ5dGVjb2RlVGVzdFBFUDMwMik6CiAgICAgcGFzcwogCi1Gcm96ZW5fU291cmNlQmFkQnl0ZWNvZGVQRVAzMDIsIFNvdXJjZV9Tb3VyY2VCYWRCeXRlY29kZVBFUDMwMiA9IHV0aWwudGVzdF9ib3RoKAotICAgICAgICBTb3VyY2VMb2FkZXJCYWRCeXRlY29kZVRlc3RQRVAzMDIsIGltcG9ydGxpYj1pbXBvcnRsaWIsIG1hY2hpbmVyeT1tYWNoaW5lcnksCi0gICAgICAgIGFiYz1pbXBvcnRsaWJfYWJjLCB1dGlsPWltcG9ydGxpYl91dGlsKQorCisoRnJvemVuX1NvdXJjZUJhZEJ5dGVjb2RlUEVQMzAyLAorIFNvdXJjZV9Tb3VyY2VCYWRCeXRlY29kZVBFUDMwMgorICkgPSB1dGlsLnRlc3RfYm90aChTb3VyY2VMb2FkZXJCYWRCeXRlY29kZVRlc3RQRVAzMDIsIGltcG9ydGxpYj1pbXBvcnRsaWIsCisgICAgICAgICAgICAgICAgICAgIG1hY2hpbmVyeT1tYWNoaW5lcnksIGFiYz1pbXBvcnRsaWJfYWJjLAorICAgICAgICAgICAgICAgICAgICB1dGlsPWltcG9ydGxpYl91dGlsKQogCiAKIGNsYXNzIFNvdXJjZWxlc3NMb2FkZXJCYWRCeXRlY29kZVRlc3Q6CkBAIC01NjcsMjEgKzU3OCwyOSBAQAogICAgIGRlZiB0ZXN0X25vbl9jb2RlX21hcnNoYWwoc2VsZik6CiAgICAgICAgIHNlbGYuX3Rlc3Rfbm9uX2NvZGVfbWFyc2hhbChkZWxfc291cmNlPVRydWUpCiAKKwogY2xhc3MgU291cmNlbGVzc0xvYWRlckJhZEJ5dGVjb2RlVGVzdFBFUDQ1MShTb3VyY2VsZXNzTG9hZGVyQmFkQnl0ZWNvZGVUZXN0LAogICAgICAgICBCYWRCeXRlY29kZVRlc3RQRVA0NTEpOgogICAgIHBhc3MKIAotRnJvemVuX1NvdXJjZWxlc3NCYWRCeXRlY29kZVBFUDQ1MSwgU291cmNlX1NvdXJjZWxlc3NCYWRCeXRlY29kZVBFUDQ1MSA9IHV0aWwudGVzdF9ib3RoKAotICAgICAgICBTb3VyY2VsZXNzTG9hZGVyQmFkQnl0ZWNvZGVUZXN0UEVQNDUxLCBpbXBvcnRsaWI9aW1wb3J0bGliLAotICAgICAgICBtYWNoaW5lcnk9bWFjaGluZXJ5LCBhYmM9aW1wb3J0bGliX2FiYywgdXRpbD1pbXBvcnRsaWJfdXRpbCkKKworKEZyb3plbl9Tb3VyY2VsZXNzQmFkQnl0ZWNvZGVQRVA0NTEsCisgU291cmNlX1NvdXJjZWxlc3NCYWRCeXRlY29kZVBFUDQ1MQorICkgPSB1dGlsLnRlc3RfYm90aChTb3VyY2VsZXNzTG9hZGVyQmFkQnl0ZWNvZGVUZXN0UEVQNDUxLCBpbXBvcnRsaWI9aW1wb3J0bGliLAorICAgICAgICAgICAgICAgICAgICBtYWNoaW5lcnk9bWFjaGluZXJ5LCBhYmM9aW1wb3J0bGliX2FiYywKKyAgICAgICAgICAgICAgICAgICAgdXRpbD1pbXBvcnRsaWJfdXRpbCkKKwogCiBjbGFzcyBTb3VyY2VsZXNzTG9hZGVyQmFkQnl0ZWNvZGVUZXN0UEVQMzAyKFNvdXJjZWxlc3NMb2FkZXJCYWRCeXRlY29kZVRlc3QsCiAgICAgICAgIEJhZEJ5dGVjb2RlVGVzdFBFUDMwMik6CiAgICAgcGFzcwogCi1Gcm96ZW5fU291cmNlbGVzc0JhZEJ5dGVjb2RlUEVQMzAyLCBTb3VyY2VfU291cmNlbGVzc0JhZEJ5dGVjb2RlUEVQMzAyID0gdXRpbC50ZXN0X2JvdGgoCi0gICAgICAgIFNvdXJjZWxlc3NMb2FkZXJCYWRCeXRlY29kZVRlc3RQRVAzMDIsIGltcG9ydGxpYj1pbXBvcnRsaWIsCi0gICAgICAgIG1hY2hpbmVyeT1tYWNoaW5lcnksIGFiYz1pbXBvcnRsaWJfYWJjLCB1dGlsPWltcG9ydGxpYl91dGlsKQorCisoRnJvemVuX1NvdXJjZWxlc3NCYWRCeXRlY29kZVBFUDMwMiwKKyBTb3VyY2VfU291cmNlbGVzc0JhZEJ5dGVjb2RlUEVQMzAyCisgKSA9IHV0aWwudGVzdF9ib3RoKFNvdXJjZWxlc3NMb2FkZXJCYWRCeXRlY29kZVRlc3RQRVAzMDIsIGltcG9ydGxpYj1pbXBvcnRsaWIsCisgICAgICAgICAgICAgICAgICAgIG1hY2hpbmVyeT1tYWNoaW5lcnksIGFiYz1pbXBvcnRsaWJfYWJjLAorICAgICAgICAgICAgICAgICAgICB1dGlsPWltcG9ydGxpYl91dGlsKQogCiAKIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9zb3VyY2UvdGVzdF9maW5kZXIucHkgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9zb3VyY2UvdGVzdF9maW5kZXIucHkKaW5kZXggNDczMjk3Yi4uZjM3MmI4NSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvc291cmNlL3Rlc3RfZmluZGVyLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3NvdXJjZS90ZXN0X2ZpbmRlci5weQpAQCAtMSw2ICsxLDUgQEAKIGZyb20gLi4gaW1wb3J0IGFiYwogZnJvbSAuLiBpbXBvcnQgdXRpbAotZnJvbSAuIGltcG9ydCB1dGlsIGFzIHNvdXJjZV91dGlsCiAKIG1hY2hpbmVyeSA9IHV0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliLm1hY2hpbmVyeScpCiAKQEAgLTYwLDcgKzU5LDcgQEAKICAgICAgICAgIiIiCiAgICAgICAgIGlmIGNyZWF0ZSBpcyBOb25lOgogICAgICAgICAgICAgY3JlYXRlID0ge3Rlc3R9Ci0gICAgICAgIHdpdGggc291cmNlX3V0aWwuY3JlYXRlX21vZHVsZXMoKmNyZWF0ZSkgYXMgbWFwcGluZzoKKyAgICAgICAgd2l0aCB1dGlsLmNyZWF0ZV9tb2R1bGVzKCpjcmVhdGUpIGFzIG1hcHBpbmc6CiAgICAgICAgICAgICBpZiBjb21waWxlXzoKICAgICAgICAgICAgICAgICBmb3IgbmFtZSBpbiBjb21waWxlXzoKICAgICAgICAgICAgICAgICAgICAgcHlfY29tcGlsZS5jb21waWxlKG1hcHBpbmdbbmFtZV0pCkBAIC0xMDAsMTQgKzk5LDE0IEBACiAKICAgICAjIFtzdWIgbW9kdWxlXQogICAgIGRlZiB0ZXN0X21vZHVsZV9pbl9wYWNrYWdlKHNlbGYpOgotICAgICAgICB3aXRoIHNvdXJjZV91dGlsLmNyZWF0ZV9tb2R1bGVzKCdwa2cuX19pbml0X18nLCAncGtnLnN1YicpIGFzIG1hcHBpbmc6CisgICAgICAgIHdpdGggdXRpbC5jcmVhdGVfbW9kdWxlcygncGtnLl9faW5pdF9fJywgJ3BrZy5zdWInKSBhcyBtYXBwaW5nOgogICAgICAgICAgICAgcGtnX2RpciA9IG9zLnBhdGguZGlybmFtZShtYXBwaW5nWydwa2cuX19pbml0X18nXSkKICAgICAgICAgICAgIGxvYWRlciA9IHNlbGYuaW1wb3J0Xyhwa2dfZGlyLCAncGtnLnN1YicpCiAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoaGFzYXR0cihsb2FkZXIsICdsb2FkX21vZHVsZScpKQogCiAgICAgIyBbc3ViIHBhY2thZ2VdCiAgICAgZGVmIHRlc3RfcGFja2FnZV9pbl9wYWNrYWdlKHNlbGYpOgotICAgICAgICBjb250ZXh0ID0gc291cmNlX3V0aWwuY3JlYXRlX21vZHVsZXMoJ3BrZy5fX2luaXRfXycsICdwa2cuc3ViLl9faW5pdF9fJykKKyAgICAgICAgY29udGV4dCA9IHV0aWwuY3JlYXRlX21vZHVsZXMoJ3BrZy5fX2luaXRfXycsICdwa2cuc3ViLl9faW5pdF9fJykKICAgICAgICAgd2l0aCBjb250ZXh0IGFzIG1hcHBpbmc6CiAgICAgICAgICAgICBwa2dfZGlyID0gb3MucGF0aC5kaXJuYW1lKG1hcHBpbmdbJ3BrZy5fX2luaXRfXyddKQogICAgICAgICAgICAgbG9hZGVyID0gc2VsZi5pbXBvcnRfKHBrZ19kaXIsICdwa2cuc3ViJykKQEAgLTEyMCw3ICsxMTksNyBAQAogICAgICAgICBzZWxmLmFzc2VydEluKCdfX2luaXRfXycsIGxvYWRlci5nZXRfZmlsZW5hbWUobmFtZSkpCiAKICAgICBkZWYgdGVzdF9mYWlsdXJlKHNlbGYpOgotICAgICAgICB3aXRoIHNvdXJjZV91dGlsLmNyZWF0ZV9tb2R1bGVzKCdibGFoJykgYXMgbWFwcGluZzoKKyAgICAgICAgd2l0aCB1dGlsLmNyZWF0ZV9tb2R1bGVzKCdibGFoJykgYXMgbWFwcGluZzoKICAgICAgICAgICAgIG5vdGhpbmcgPSBzZWxmLmltcG9ydF8obWFwcGluZ1snLnJvb3QnXSwgJ3NkZnNhZHNhZGYnKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUobm90aGluZykKIApAQCAtMTQ3LDcgKzE0Niw3IEBACiAgICAgIyBSZWdyZXNzaW9uIHRlc3QgZm9yIGh0dHA6Ly9idWdzLnB5dGhvbi5vcmcvaXNzdWUxNDg0NgogICAgIGRlZiB0ZXN0X2Rpcl9yZW1vdmFsX2hhbmRsaW5nKHNlbGYpOgogICAgICAgICBtb2QgPSAnbW9kJwotICAgICAgICB3aXRoIHNvdXJjZV91dGlsLmNyZWF0ZV9tb2R1bGVzKG1vZCkgYXMgbWFwcGluZzoKKyAgICAgICAgd2l0aCB1dGlsLmNyZWF0ZV9tb2R1bGVzKG1vZCkgYXMgbWFwcGluZzoKICAgICAgICAgICAgIGZpbmRlciA9IHNlbGYuZ2V0X2ZpbmRlcihtYXBwaW5nWycucm9vdCddKQogICAgICAgICAgICAgZm91bmQgPSBzZWxmLl9maW5kKGZpbmRlciwgJ21vZCcsIGxvYWRlcl9vbmx5PVRydWUpCiAgICAgICAgICAgICBzZWxmLmFzc2VydElzTm90Tm9uZShmb3VuZCkKQEAgLTE5Niw4ICsxOTUsMTAgQEAKICAgICAgICAgc3BlYyA9IGZpbmRlci5maW5kX3NwZWMobmFtZSkKICAgICAgICAgcmV0dXJuIHNwZWMubG9hZGVyIGlmIHNwZWMgaXMgbm90IE5vbmUgZWxzZSBzcGVjCiAKLUZyb3plbl9GaW5kZXJUZXN0c1BFUDQ1MSwgU291cmNlX0ZpbmRlclRlc3RzUEVQNDUxID0gdXRpbC50ZXN0X2JvdGgoCi0gICAgICAgIEZpbmRlclRlc3RzUEVQNDUxLCBtYWNoaW5lcnk9bWFjaGluZXJ5KQorCisoRnJvemVuX0ZpbmRlclRlc3RzUEVQNDUxLAorIFNvdXJjZV9GaW5kZXJUZXN0c1BFUDQ1MQorICkgPSB1dGlsLnRlc3RfYm90aChGaW5kZXJUZXN0c1BFUDQ1MSwgbWFjaGluZXJ5PW1hY2hpbmVyeSkKIAogCiBjbGFzcyBGaW5kZXJUZXN0c1BFUDQyMChGaW5kZXJUZXN0cyk6CkBAIC0yMTAsOCArMjExLDEwIEBACiAgICAgICAgICAgICBsb2FkZXJfcG9ydGlvbnMgPSBmaW5kZXIuZmluZF9sb2FkZXIobmFtZSkKICAgICAgICAgICAgIHJldHVybiBsb2FkZXJfcG9ydGlvbnNbMF0gaWYgbG9hZGVyX29ubHkgZWxzZSBsb2FkZXJfcG9ydGlvbnMKIAotRnJvemVuX0ZpbmRlclRlc3RzUEVQNDIwLCBTb3VyY2VfRmluZGVyVGVzdHNQRVA0MjAgPSB1dGlsLnRlc3RfYm90aCgKLSAgICAgICAgRmluZGVyVGVzdHNQRVA0MjAsIG1hY2hpbmVyeT1tYWNoaW5lcnkpCisKKyhGcm96ZW5fRmluZGVyVGVzdHNQRVA0MjAsCisgU291cmNlX0ZpbmRlclRlc3RzUEVQNDIwCisgKSA9IHV0aWwudGVzdF9ib3RoKEZpbmRlclRlc3RzUEVQNDIwLCBtYWNoaW5lcnk9bWFjaGluZXJ5KQogCiAKIGNsYXNzIEZpbmRlclRlc3RzUEVQMzAyKEZpbmRlclRlc3RzKToKQEAgLTIyMyw5ICsyMjYsMTAgQEAKICAgICAgICAgICAgIHdhcm5pbmdzLnNpbXBsZWZpbHRlcigiaWdub3JlIiwgRGVwcmVjYXRpb25XYXJuaW5nKQogICAgICAgICAgICAgcmV0dXJuIGZpbmRlci5maW5kX21vZHVsZShuYW1lKQogCi1Gcm96ZW5fRmluZGVyVGVzdHNQRVAzMDIsIFNvdXJjZV9GaW5kZXJUZXN0c1BFUDMwMiA9IHV0aWwudGVzdF9ib3RoKAotICAgICAgICBGaW5kZXJUZXN0c1BFUDMwMiwgbWFjaGluZXJ5PW1hY2hpbmVyeSkKIAorKEZyb3plbl9GaW5kZXJUZXN0c1BFUDMwMiwKKyBTb3VyY2VfRmluZGVyVGVzdHNQRVAzMDIKKyApID0gdXRpbC50ZXN0X2JvdGgoRmluZGVyVGVzdHNQRVAzMDIsIG1hY2hpbmVyeT1tYWNoaW5lcnkpCiAKIAogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3NvdXJjZS90ZXN0X3BhdGhfaG9vay5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3NvdXJjZS90ZXN0X3BhdGhfaG9vay5weQppbmRleCA5MmRhNzcyLi5lNmEyNDE1IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9zb3VyY2UvdGVzdF9wYXRoX2hvb2sucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvc291cmNlL3Rlc3RfcGF0aF9ob29rLnB5CkBAIC0xLDUgKzEsNCBAQAogZnJvbSAuLiBpbXBvcnQgdXRpbAotZnJvbSAuIGltcG9ydCB1dGlsIGFzIHNvdXJjZV91dGlsCiAKIG1hY2hpbmVyeSA9IHV0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliLm1hY2hpbmVyeScpCiAKQEAgLTE1LDcgKzE0LDcgQEAKICAgICAgICAgICAgIHNlbGYubWFjaGluZXJ5LlNPVVJDRV9TVUZGSVhFUykpCiAKICAgICBkZWYgdGVzdF9zdWNjZXNzKHNlbGYpOgotICAgICAgICB3aXRoIHNvdXJjZV91dGlsLmNyZWF0ZV9tb2R1bGVzKCdkdW1teScpIGFzIG1hcHBpbmc6CisgICAgICAgIHdpdGggdXRpbC5jcmVhdGVfbW9kdWxlcygnZHVtbXknKSBhcyBtYXBwaW5nOgogICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGhhc2F0dHIoc2VsZi5wYXRoX2hvb2soKShtYXBwaW5nWycucm9vdCddKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaW5kX21vZHVsZScpKQogCkBAIC0yMyw3ICsyMiwxMCBAQAogICAgICAgICAjIFRoZSBlbXB0eSBzdHJpbmcgcmVwcmVzZW50cyB0aGUgY3dkLgogICAgICAgICBzZWxmLmFzc2VydFRydWUoaGFzYXR0cihzZWxmLnBhdGhfaG9vaygpKCcnKSwgJ2ZpbmRfbW9kdWxlJykpCiAKLUZyb3plbl9QYXRoSG9va1Rlc3QsIFNvdXJjZV9QYXRoSG9va3Rlc3QgPSB1dGlsLnRlc3RfYm90aChQYXRoSG9va1Rlc3QsIG1hY2hpbmVyeT1tYWNoaW5lcnkpCisKKyhGcm96ZW5fUGF0aEhvb2tUZXN0LAorIFNvdXJjZV9QYXRoSG9va3Rlc3QKKyApID0gdXRpbC50ZXN0X2JvdGgoUGF0aEhvb2tUZXN0LCBtYWNoaW5lcnk9bWFjaGluZXJ5KQogCiAKIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9zb3VyY2UvdGVzdF9zb3VyY2VfZW5jb2RpbmcucHkgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9zb3VyY2UvdGVzdF9zb3VyY2VfZW5jb2RpbmcucHkKaW5kZXggYzYyZGZhMS4uYjYwNGFmYiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvc291cmNlL3Rlc3Rfc291cmNlX2VuY29kaW5nLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3NvdXJjZS90ZXN0X3NvdXJjZV9lbmNvZGluZy5weQpAQCAtMSw1ICsxLDQgQEAKIGZyb20gLi4gaW1wb3J0IHV0aWwKLWZyb20gLiBpbXBvcnQgdXRpbCBhcyBzb3VyY2VfdXRpbAogCiBtYWNoaW5lcnkgPSB1dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYi5tYWNoaW5lcnknKQogCkBAIC0zNyw3ICszNiw3IEBACiAgICAgbW9kdWxlX25hbWUgPSAnX3RlbXAnCiAKICAgICBkZWYgcnVuX3Rlc3Qoc2VsZiwgc291cmNlKToKLSAgICAgICAgd2l0aCBzb3VyY2VfdXRpbC5jcmVhdGVfbW9kdWxlcyhzZWxmLm1vZHVsZV9uYW1lKSBhcyBtYXBwaW5nOgorICAgICAgICB3aXRoIHV0aWwuY3JlYXRlX21vZHVsZXMoc2VsZi5tb2R1bGVfbmFtZSkgYXMgbWFwcGluZzoKICAgICAgICAgICAgIHdpdGggb3BlbihtYXBwaW5nW3NlbGYubW9kdWxlX25hbWVdLCAnd2InKSBhcyBmaWxlOgogICAgICAgICAgICAgICAgIGZpbGUud3JpdGUoc291cmNlKQogICAgICAgICAgICAgbG9hZGVyID0gc2VsZi5tYWNoaW5lcnkuU291cmNlRmlsZUxvYWRlcihzZWxmLm1vZHVsZV9uYW1lLApAQCAtODksNiArODgsNyBAQAogICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFN5bnRheEVycm9yKToKICAgICAgICAgICAgIHNlbGYucnVuX3Rlc3Qoc291cmNlKQogCisKIGNsYXNzIEVuY29kaW5nVGVzdFBFUDQ1MShFbmNvZGluZ1Rlc3QpOgogCiAgICAgZGVmIGxvYWQoc2VsZiwgbG9hZGVyKToKQEAgLTk3LDggKzk3LDExIEBACiAgICAgICAgIGxvYWRlci5leGVjX21vZHVsZShtb2R1bGUpCiAgICAgICAgIHJldHVybiBtb2R1bGUKIAotRnJvemVuX0VuY29kaW5nVGVzdFBFUDQ1MSwgU291cmNlX0VuY29kaW5nVGVzdFBFUDQ1MSA9IHV0aWwudGVzdF9ib3RoKAotICAgICAgICBFbmNvZGluZ1Rlc3RQRVA0NTEsIG1hY2hpbmVyeT1tYWNoaW5lcnkpCisKKyhGcm96ZW5fRW5jb2RpbmdUZXN0UEVQNDUxLAorIFNvdXJjZV9FbmNvZGluZ1Rlc3RQRVA0NTEKKyApID0gdXRpbC50ZXN0X2JvdGgoRW5jb2RpbmdUZXN0UEVQNDUxLCBtYWNoaW5lcnk9bWFjaGluZXJ5KQorCiAKIGNsYXNzIEVuY29kaW5nVGVzdFBFUDMwMihFbmNvZGluZ1Rlc3QpOgogCkBAIC0xMDcsOCArMTEwLDEwIEBACiAgICAgICAgICAgICB3YXJuaW5ncy5zaW1wbGVmaWx0ZXIoJ2lnbm9yZScsIERlcHJlY2F0aW9uV2FybmluZykKICAgICAgICAgICAgIHJldHVybiBsb2FkZXIubG9hZF9tb2R1bGUoc2VsZi5tb2R1bGVfbmFtZSkKIAotRnJvemVuX0VuY29kaW5nVGVzdFBFUDMwMiwgU291cmNlX0VuY29kaW5nVGVzdFBFUDMwMiA9IHV0aWwudGVzdF9ib3RoKAotICAgICAgICBFbmNvZGluZ1Rlc3RQRVAzMDIsIG1hY2hpbmVyeT1tYWNoaW5lcnkpCisKKyhGcm96ZW5fRW5jb2RpbmdUZXN0UEVQMzAyLAorIFNvdXJjZV9FbmNvZGluZ1Rlc3RQRVAzMDIKKyApID0gdXRpbC50ZXN0X2JvdGgoRW5jb2RpbmdUZXN0UEVQMzAyLCBtYWNoaW5lcnk9bWFjaGluZXJ5KQogCiAKIGNsYXNzIExpbmVFbmRpbmdUZXN0OgpAQCAtMTIwLDcgKzEyNSw3IEBACiAgICAgICAgIG1vZHVsZV9uYW1lID0gJ190ZW1wJwogICAgICAgICBzb3VyY2VfbGluZXMgPSBbYiJhID0gNDIiLCBiImIgPSAtMTMiLCBiJyddCiAgICAgICAgIHNvdXJjZSA9IGxpbmVfZW5kaW5nLmpvaW4oc291cmNlX2xpbmVzKQotICAgICAgICB3aXRoIHNvdXJjZV91dGlsLmNyZWF0ZV9tb2R1bGVzKG1vZHVsZV9uYW1lKSBhcyBtYXBwaW5nOgorICAgICAgICB3aXRoIHV0aWwuY3JlYXRlX21vZHVsZXMobW9kdWxlX25hbWUpIGFzIG1hcHBpbmc6CiAgICAgICAgICAgICB3aXRoIG9wZW4obWFwcGluZ1ttb2R1bGVfbmFtZV0sICd3YicpIGFzIGZpbGU6CiAgICAgICAgICAgICAgICAgZmlsZS53cml0ZShzb3VyY2UpCiAgICAgICAgICAgICBsb2FkZXIgPSBzZWxmLm1hY2hpbmVyeS5Tb3VyY2VGaWxlTG9hZGVyKG1vZHVsZV9uYW1lLApAQCAtMTM5LDYgKzE0NCw3IEBACiAgICAgZGVmIHRlc3RfbGYoc2VsZik6CiAgICAgICAgIHNlbGYucnVuX3Rlc3QoYidcbicpCiAKKwogY2xhc3MgTGluZUVuZGluZ1Rlc3RQRVA0NTEoTGluZUVuZGluZ1Rlc3QpOgogCiAgICAgZGVmIGxvYWQoc2VsZiwgbG9hZGVyLCBtb2R1bGVfbmFtZSk6CkBAIC0xNDcsOCArMTUzLDExIEBACiAgICAgICAgIGxvYWRlci5leGVjX21vZHVsZShtb2R1bGUpCiAgICAgICAgIHJldHVybiBtb2R1bGUKIAotRnJvemVuX0xpbmVFbmRpbmdUZXN0UEVQNDUxLCBTb3VyY2VfTGluZUVuZGluZ1Rlc3RQRVA0NTEgPSB1dGlsLnRlc3RfYm90aCgKLSAgICAgICAgTGluZUVuZGluZ1Rlc3RQRVA0NTEsIG1hY2hpbmVyeT1tYWNoaW5lcnkpCisKKyhGcm96ZW5fTGluZUVuZGluZ1Rlc3RQRVA0NTEsCisgU291cmNlX0xpbmVFbmRpbmdUZXN0UEVQNDUxCisgKSA9IHV0aWwudGVzdF9ib3RoKExpbmVFbmRpbmdUZXN0UEVQNDUxLCBtYWNoaW5lcnk9bWFjaGluZXJ5KQorCiAKIGNsYXNzIExpbmVFbmRpbmdUZXN0UEVQMzAyKExpbmVFbmRpbmdUZXN0KToKIApAQCAtMTU3LDggKzE2NiwxMCBAQAogICAgICAgICAgICAgd2FybmluZ3Muc2ltcGxlZmlsdGVyKCdpZ25vcmUnLCBEZXByZWNhdGlvbldhcm5pbmcpCiAgICAgICAgICAgICByZXR1cm4gbG9hZGVyLmxvYWRfbW9kdWxlKG1vZHVsZV9uYW1lKQogCi1Gcm96ZW5fTGluZUVuZGluZ1Rlc3RQRVAzMDIsIFNvdXJjZV9MaW5lRW5kaW5nVGVzdFBFUDMwMiA9IHV0aWwudGVzdF9ib3RoKAotICAgICAgICBMaW5lRW5kaW5nVGVzdFBFUDMwMiwgbWFjaGluZXJ5PW1hY2hpbmVyeSkKKworKEZyb3plbl9MaW5lRW5kaW5nVGVzdFBFUDMwMiwKKyBTb3VyY2VfTGluZUVuZGluZ1Rlc3RQRVAzMDIKKyApID0gdXRpbC50ZXN0X2JvdGgoTGluZUVuZGluZ1Rlc3RQRVAzMDIsIG1hY2hpbmVyeT1tYWNoaW5lcnkpCiAKIAogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3NvdXJjZS91dGlsLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvc291cmNlL3V0aWwucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYzY2QyNWEuLjAwMDAwMDAKLS0tIGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvc291cmNlL3V0aWwucHkKKysrIC9kZXYvbnVsbApAQCAtMSw5NiArMCwwIEBACi1mcm9tIC4uIGltcG9ydCB1dGlsCi1pbXBvcnQgY29udGV4dGxpYgotaW1wb3J0IGVycm5vCi1pbXBvcnQgZnVuY3Rvb2xzCi1pbXBvcnQgb3MKLWltcG9ydCBvcy5wYXRoCi1pbXBvcnQgc3lzCi1pbXBvcnQgdGVtcGZpbGUKLWZyb20gdGVzdCBpbXBvcnQgc3VwcG9ydAotCi0KLWRlZiB3cml0ZXNfYnl0ZWNvZGVfZmlsZXMoZnhuKToKLSAgICAiIiJEZWNvcmF0b3IgdG8gcHJvdGVjdCBzeXMuZG9udF93cml0ZV9ieXRlY29kZSBmcm9tIG11dGF0aW9uIGFuZCB0byBza2lwCi0gICAgdGVzdHMgdGhhdCByZXF1aXJlIGl0IHRvIGJlIHNldCB0byBGYWxzZS4iIiIKLSAgICBpZiBzeXMuZG9udF93cml0ZV9ieXRlY29kZToKLSAgICAgICAgcmV0dXJuIGxhbWJkYSAqYXJncywgKiprd2FyZ3M6IE5vbmUKLSAgICBAZnVuY3Rvb2xzLndyYXBzKGZ4bikKLSAgICBkZWYgd3JhcHBlcigqYXJncywgKiprd2FyZ3MpOgotICAgICAgICBvcmlnaW5hbCA9IHN5cy5kb250X3dyaXRlX2J5dGVjb2RlCi0gICAgICAgIHN5cy5kb250X3dyaXRlX2J5dGVjb2RlID0gRmFsc2UKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgdG9fcmV0dXJuID0gZnhuKCphcmdzLCAqKmt3YXJncykKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIHN5cy5kb250X3dyaXRlX2J5dGVjb2RlID0gb3JpZ2luYWwKLSAgICAgICAgcmV0dXJuIHRvX3JldHVybgotICAgIHJldHVybiB3cmFwcGVyCi0KLQotZGVmIGVuc3VyZV9ieXRlY29kZV9wYXRoKGJ5dGVjb2RlX3BhdGgpOgotICAgICIiIkVuc3VyZSB0aGF0IHRoZSBfX3B5Y2FjaGVfXyBkaXJlY3RvcnkgZm9yIFBFUCAzMTQ3IHB5YyBmaWxlIGV4aXN0cy4KLQotICAgIDpwYXJhbSBieXRlY29kZV9wYXRoOiBGaWxlIHN5c3RlbSBwYXRoIHRvIFBFUCAzMTQ3IHB5YyBmaWxlLgotICAgICIiIgotICAgIHRyeToKLSAgICAgICAgb3MubWtkaXIob3MucGF0aC5kaXJuYW1lKGJ5dGVjb2RlX3BhdGgpKQotICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGVycm9yOgotICAgICAgICBpZiBlcnJvci5lcnJubyAhPSBlcnJuby5FRVhJU1Q6Ci0gICAgICAgICAgICByYWlzZQotCi0KLUBjb250ZXh0bGliLmNvbnRleHRtYW5hZ2VyCi1kZWYgY3JlYXRlX21vZHVsZXMoKm5hbWVzKToKLSAgICAiIiJUZW1wb3JhcmlseSBjcmVhdGUgZWFjaCBuYW1lZCBtb2R1bGUgd2l0aCBhbiBhdHRyaWJ1dGUgKG5hbWVkICdhdHRyJykKLSAgICB0aGF0IGNvbnRhaW5zIHRoZSBuYW1lIHBhc3NlZCBpbnRvIHRoZSBjb250ZXh0IG1hbmFnZXIgdGhhdCBjYXVzZWQgdGhlCi0gICAgY3JlYXRpb24gb2YgdGhlIG1vZHVsZS4KLQotICAgIEFsbCBmaWxlcyBhcmUgY3JlYXRlZCBpbiBhIHRlbXBvcmFyeSBkaXJlY3RvcnkgcmV0dXJuZWQgYnkKLSAgICB0ZW1wZmlsZS5ta2R0ZW1wKCkuIFRoaXMgZGlyZWN0b3J5IGlzIGluc2VydGVkIGF0IHRoZSBiZWdpbm5pbmcgb2YKLSAgICBzeXMucGF0aC4gV2hlbiB0aGUgY29udGV4dCBtYW5hZ2VyIGV4aXRzIGFsbCBjcmVhdGVkIGZpbGVzIChzb3VyY2UgYW5kCi0gICAgYnl0ZWNvZGUpIGFyZSBleHBsaWNpdGx5IGRlbGV0ZWQuCi0KLSAgICBObyBtYWdpYyBpcyBwZXJmb3JtZWQgd2hlbiBjcmVhdGluZyBwYWNrYWdlcyEgVGhpcyBtZWFucyB0aGF0IGlmIHlvdSBjcmVhdGUKLSAgICBhIG1vZHVsZSB3aXRoaW4gYSBwYWNrYWdlIHlvdSBtdXN0IGFsc28gY3JlYXRlIHRoZSBwYWNrYWdlJ3MgX19pbml0X18gYXMKLSAgICB3ZWxsLgotCi0gICAgIiIiCi0gICAgc291cmNlID0gJ2F0dHIgPSB7MCFyfScKLSAgICBjcmVhdGVkX3BhdGhzID0gW10KLSAgICBtYXBwaW5nID0ge30KLSAgICBzdGF0ZV9tYW5hZ2VyID0gTm9uZQotICAgIHVuY2FjaGVfbWFuYWdlciA9IE5vbmUKLSAgICB0cnk6Ci0gICAgICAgIHRlbXBfZGlyID0gdGVtcGZpbGUubWtkdGVtcCgpCi0gICAgICAgIG1hcHBpbmdbJy5yb290J10gPSB0ZW1wX2RpcgotICAgICAgICBpbXBvcnRfbmFtZXMgPSBzZXQoKQotICAgICAgICBmb3IgbmFtZSBpbiBuYW1lczoKLSAgICAgICAgICAgIGlmIG5vdCBuYW1lLmVuZHN3aXRoKCdfX2luaXRfXycpOgotICAgICAgICAgICAgICAgIGltcG9ydF9uYW1lID0gbmFtZQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBpbXBvcnRfbmFtZSA9IG5hbWVbOi1sZW4oJy5fX2luaXRfXycpXQotICAgICAgICAgICAgaW1wb3J0X25hbWVzLmFkZChpbXBvcnRfbmFtZSkKLSAgICAgICAgICAgIGlmIGltcG9ydF9uYW1lIGluIHN5cy5tb2R1bGVzOgotICAgICAgICAgICAgICAgIGRlbCBzeXMubW9kdWxlc1tpbXBvcnRfbmFtZV0KLSAgICAgICAgICAgIG5hbWVfcGFydHMgPSBuYW1lLnNwbGl0KCcuJykKLSAgICAgICAgICAgIGZpbGVfcGF0aCA9IHRlbXBfZGlyCi0gICAgICAgICAgICBmb3IgZGlyZWN0b3J5IGluIG5hbWVfcGFydHNbOi0xXToKLSAgICAgICAgICAgICAgICBmaWxlX3BhdGggPSBvcy5wYXRoLmpvaW4oZmlsZV9wYXRoLCBkaXJlY3RvcnkpCi0gICAgICAgICAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKGZpbGVfcGF0aCk6Ci0gICAgICAgICAgICAgICAgICAgIG9zLm1rZGlyKGZpbGVfcGF0aCkKLSAgICAgICAgICAgICAgICAgICAgY3JlYXRlZF9wYXRocy5hcHBlbmQoZmlsZV9wYXRoKQotICAgICAgICAgICAgZmlsZV9wYXRoID0gb3MucGF0aC5qb2luKGZpbGVfcGF0aCwgbmFtZV9wYXJ0c1stMV0gKyAnLnB5JykKLSAgICAgICAgICAgIHdpdGggb3BlbihmaWxlX3BhdGgsICd3JykgYXMgZmlsZToKLSAgICAgICAgICAgICAgICBmaWxlLndyaXRlKHNvdXJjZS5mb3JtYXQobmFtZSkpCi0gICAgICAgICAgICBjcmVhdGVkX3BhdGhzLmFwcGVuZChmaWxlX3BhdGgpCi0gICAgICAgICAgICBtYXBwaW5nW25hbWVdID0gZmlsZV9wYXRoCi0gICAgICAgIHVuY2FjaGVfbWFuYWdlciA9IHV0aWwudW5jYWNoZSgqaW1wb3J0X25hbWVzKQotICAgICAgICB1bmNhY2hlX21hbmFnZXIuX19lbnRlcl9fKCkKLSAgICAgICAgc3RhdGVfbWFuYWdlciA9IHV0aWwuaW1wb3J0X3N0YXRlKHBhdGg9W3RlbXBfZGlyXSkKLSAgICAgICAgc3RhdGVfbWFuYWdlci5fX2VudGVyX18oKQotICAgICAgICB5aWVsZCBtYXBwaW5nCi0gICAgZmluYWxseToKLSAgICAgICAgaWYgc3RhdGVfbWFuYWdlciBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIHN0YXRlX21hbmFnZXIuX19leGl0X18oTm9uZSwgTm9uZSwgTm9uZSkKLSAgICAgICAgaWYgdW5jYWNoZV9tYW5hZ2VyIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgdW5jYWNoZV9tYW5hZ2VyLl9fZXhpdF9fKE5vbmUsIE5vbmUsIE5vbmUpCi0gICAgICAgIHN1cHBvcnQucm10cmVlKHRlbXBfZGlyKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvdGVzdF9hYmMucHkgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi90ZXN0X2FiYy5weQppbmRleCBhMWY4ZTc2Li5kNGJmOTE1IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi90ZXN0X2FiYy5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi90ZXN0X2FiYy5weQpAQCAtMTAsMTIgKzEwLDEzIEBACiBmcm9tIHVuaXR0ZXN0IGltcG9ydCBtb2NrCiBpbXBvcnQgd2FybmluZ3MKIAotZnJvbSAuIGltcG9ydCB1dGlsCitmcm9tIC4gaW1wb3J0IHV0aWwgYXMgdGVzdF91dGlsCiAKLWZyb3plbl9pbml0LCBzb3VyY2VfaW5pdCA9IHV0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliJykKLWZyb3plbl9hYmMsIHNvdXJjZV9hYmMgPSB1dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYi5hYmMnKQotbWFjaGluZXJ5ID0gdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWIubWFjaGluZXJ5JykKLWZyb3plbl91dGlsLCBzb3VyY2VfdXRpbCA9IHV0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliLnV0aWwnKQoraW5pdCA9IHRlc3RfdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWInKQorYWJjID0gdGVzdF91dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYi5hYmMnKQorbWFjaGluZXJ5ID0gdGVzdF91dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYi5tYWNoaW5lcnknKQordXRpbCA9IHRlc3RfdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWIudXRpbCcpCisKIAogIyMjIyMgSW5oZXJpdGFuY2UgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIGNsYXNzIEluaGVyaXRhbmNlVGVzdHM6CkBAIC0yNiw4ICsyNyw3IEBACiAgICAgc3ViY2xhc3NlcyA9IFtdCiAgICAgc3VwZXJjbGFzc2VzID0gW10KIAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCAqYXJncywgKiprd2FyZ3MpOgotICAgICAgICBzdXBlcigpLl9faW5pdF9fKCphcmdzLCAqKmt3YXJncykKKyAgICBkZWYgc2V0VXAoc2VsZik6CiAgICAgICAgIHNlbGYuc3VwZXJjbGFzc2VzID0gW2dldGF0dHIoc2VsZi5hYmMsIGNsYXNzX25hbWUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBjbGFzc19uYW1lIGluIHNlbGYuc3VwZXJjbGFzc19uYW1lc10KICAgICAgICAgaWYgaGFzYXR0cihzZWxmLCAnc3ViY2xhc3NfbmFtZXMnKToKQEAgLTM2LDExICszNiwxMSBAQAogICAgICAgICAgICAgIyBjaGVja2luZyBhY3Jvc3MgbW9kdWxlIGJvdW5kYXJpZXMgKGkuZS4gdGhlIF9ib290c3RyYXAgaW4gYWJjIGlzCiAgICAgICAgICAgICAjIG5vdCB0aGUgc2FtZSBhcyB0aGUgb25lIGluIG1hY2hpbmVyeSkuIFRoYXQgbWVhbnMgc3RlYWxpbmcgb25lIG9mCiAgICAgICAgICAgICAjIHRoZSBtb2R1bGVzIGZyb20gdGhlIG90aGVyIHRvIG1ha2Ugc3VyZSB0aGUgc2FtZSBpbnN0YW5jZSBpcyB1c2VkLgotICAgICAgICAgICAgc2VsZi5zdWJjbGFzc2VzID0gW2dldGF0dHIoc2VsZi5hYmMubWFjaGluZXJ5LCBjbGFzc19uYW1lKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgY2xhc3NfbmFtZSBpbiBzZWxmLnN1YmNsYXNzX25hbWVzXQorICAgICAgICAgICAgbWFjaGluZXJ5ID0gc2VsZi5hYmMubWFjaGluZXJ5CisgICAgICAgICAgICBzZWxmLnN1YmNsYXNzZXMgPSBbZ2V0YXR0cihtYWNoaW5lcnksIGNsYXNzX25hbWUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNsYXNzX25hbWUgaW4gc2VsZi5zdWJjbGFzc19uYW1lc10KICAgICAgICAgYXNzZXJ0IHNlbGYuc3ViY2xhc3NlcyBvciBzZWxmLnN1cGVyY2xhc3Nlcywgc2VsZi5fX2NsYXNzX18KLSAgICAgICAgdGVzdGluZyA9IHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLnBhcnRpdGlvbignXycpWzJdCi0gICAgICAgIHNlbGYuX190ZXN0ID0gZ2V0YXR0cihzZWxmLmFiYywgdGVzdGluZykKKyAgICAgICAgc2VsZi5fX3Rlc3QgPSBnZXRhdHRyKHNlbGYuYWJjLCBzZWxmLl9OQU1FKQogCiAgICAgZGVmIHRlc3Rfc3ViY2xhc3NlcyhzZWxmKToKICAgICAgICAgIyBUZXN0IHRoYXQgdGhlIGV4cGVjdGVkIHN1YmNsYXNzZXMgaW5oZXJpdC4KQEAgLTU0LDk0ICs1NCw5NyBAQAogICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzc3ViY2xhc3Moc2VsZi5fX3Rlc3QsIHN1cGVyY2xhc3MpLAogICAgICAgICAgICAgICAgInswfSBpcyBub3QgYSBzdXBlcmNsYXNzIG9mIHsxfSIuZm9ybWF0KHN1cGVyY2xhc3MsIHNlbGYuX190ZXN0KSkKIAotZGVmIGNyZWF0ZV9pbmhlcml0YW5jZV90ZXN0cyhiYXNlX2NsYXNzKToKLSAgICBkZWYgc2V0X2Zyb3plbihucyk6Ci0gICAgICAgIG5zWydhYmMnXSA9IGZyb3plbl9hYmMKLSAgICBkZWYgc2V0X3NvdXJjZShucyk6Ci0gICAgICAgIG5zWydhYmMnXSA9IHNvdXJjZV9hYmMKLQotICAgIGNsYXNzZXMgPSBbXQotICAgIGZvciBwcmVmaXgsIG5zX3NldCBpbiBbKCdGcm96ZW4nLCBzZXRfZnJvemVuKSwgKCdTb3VyY2UnLCBzZXRfc291cmNlKV06Ci0gICAgICAgIGNsYXNzZXMuYXBwZW5kKHR5cGVzLm5ld19jbGFzcygnXycuam9pbihbcHJlZml4LCBiYXNlX2NsYXNzLl9fbmFtZV9fXSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYmFzZV9jbGFzcywgdW5pdHRlc3QuVGVzdENhc2UpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhlY19ib2R5PW5zX3NldCkpCi0gICAgcmV0dXJuIGNsYXNzZXMKLQogCiBjbGFzcyBNZXRhUGF0aEZpbmRlcihJbmhlcml0YW5jZVRlc3RzKToKICAgICBzdXBlcmNsYXNzX25hbWVzID0gWydGaW5kZXInXQogICAgIHN1YmNsYXNzX25hbWVzID0gWydCdWlsdGluSW1wb3J0ZXInLCAnRnJvemVuSW1wb3J0ZXInLCAnUGF0aEZpbmRlcicsCiAgICAgICAgICAgICAgICAgICAgICAgJ1dpbmRvd3NSZWdpc3RyeUZpbmRlciddCiAKLXRlc3RzID0gY3JlYXRlX2luaGVyaXRhbmNlX3Rlc3RzKE1ldGFQYXRoRmluZGVyKQotRnJvemVuX01ldGFQYXRoRmluZGVySW5oZXJpdGFuY2VUZXN0cywgU291cmNlX01ldGFQYXRoRmluZGVySW5oZXJpdGFuY2VUZXN0cyA9IHRlc3RzCisKKyhGcm96ZW5fTWV0YVBhdGhGaW5kZXJJbmhlcml0YW5jZVRlc3RzLAorIFNvdXJjZV9NZXRhUGF0aEZpbmRlckluaGVyaXRhbmNlVGVzdHMKKyApID0gdGVzdF91dGlsLnRlc3RfYm90aChNZXRhUGF0aEZpbmRlciwgYWJjPWFiYykKIAogCiBjbGFzcyBQYXRoRW50cnlGaW5kZXIoSW5oZXJpdGFuY2VUZXN0cyk6CiAgICAgc3VwZXJjbGFzc19uYW1lcyA9IFsnRmluZGVyJ10KICAgICBzdWJjbGFzc19uYW1lcyA9IFsnRmlsZUZpbmRlciddCiAKLXRlc3RzID0gY3JlYXRlX2luaGVyaXRhbmNlX3Rlc3RzKFBhdGhFbnRyeUZpbmRlcikKLUZyb3plbl9QYXRoRW50cnlGaW5kZXJJbmhlcml0YW5jZVRlc3RzLCBTb3VyY2VfUGF0aEVudHJ5RmluZGVySW5oZXJpdGFuY2VUZXN0cyA9IHRlc3RzCisKKyhGcm96ZW5fUGF0aEVudHJ5RmluZGVySW5oZXJpdGFuY2VUZXN0cywKKyBTb3VyY2VfUGF0aEVudHJ5RmluZGVySW5oZXJpdGFuY2VUZXN0cworICkgPSB0ZXN0X3V0aWwudGVzdF9ib3RoKFBhdGhFbnRyeUZpbmRlciwgYWJjPWFiYykKIAogCiBjbGFzcyBSZXNvdXJjZUxvYWRlcihJbmhlcml0YW5jZVRlc3RzKToKICAgICBzdXBlcmNsYXNzX25hbWVzID0gWydMb2FkZXInXQogCi10ZXN0cyA9IGNyZWF0ZV9pbmhlcml0YW5jZV90ZXN0cyhSZXNvdXJjZUxvYWRlcikKLUZyb3plbl9SZXNvdXJjZUxvYWRlckluaGVyaXRhbmNlVGVzdHMsIFNvdXJjZV9SZXNvdXJjZUxvYWRlckluaGVyaXRhbmNlVGVzdHMgPSB0ZXN0cworCisoRnJvemVuX1Jlc291cmNlTG9hZGVySW5oZXJpdGFuY2VUZXN0cywKKyBTb3VyY2VfUmVzb3VyY2VMb2FkZXJJbmhlcml0YW5jZVRlc3RzCisgKSA9IHRlc3RfdXRpbC50ZXN0X2JvdGgoUmVzb3VyY2VMb2FkZXIsIGFiYz1hYmMpCiAKIAogY2xhc3MgSW5zcGVjdExvYWRlcihJbmhlcml0YW5jZVRlc3RzKToKICAgICBzdXBlcmNsYXNzX25hbWVzID0gWydMb2FkZXInXQogICAgIHN1YmNsYXNzX25hbWVzID0gWydCdWlsdGluSW1wb3J0ZXInLCAnRnJvemVuSW1wb3J0ZXInLCAnRXh0ZW5zaW9uRmlsZUxvYWRlciddCiAKLXRlc3RzID0gY3JlYXRlX2luaGVyaXRhbmNlX3Rlc3RzKEluc3BlY3RMb2FkZXIpCi1Gcm96ZW5fSW5zcGVjdExvYWRlckluaGVyaXRhbmNlVGVzdHMsIFNvdXJjZV9JbnNwZWN0TG9hZGVySW5oZXJpdGFuY2VUZXN0cyA9IHRlc3RzCisKKyhGcm96ZW5fSW5zcGVjdExvYWRlckluaGVyaXRhbmNlVGVzdHMsCisgU291cmNlX0luc3BlY3RMb2FkZXJJbmhlcml0YW5jZVRlc3RzCisgKSA9IHRlc3RfdXRpbC50ZXN0X2JvdGgoSW5zcGVjdExvYWRlciwgYWJjPWFiYykKIAogCiBjbGFzcyBFeGVjdXRpb25Mb2FkZXIoSW5oZXJpdGFuY2VUZXN0cyk6CiAgICAgc3VwZXJjbGFzc19uYW1lcyA9IFsnSW5zcGVjdExvYWRlciddCiAgICAgc3ViY2xhc3NfbmFtZXMgPSBbJ0V4dGVuc2lvbkZpbGVMb2FkZXInXQogCi10ZXN0cyA9IGNyZWF0ZV9pbmhlcml0YW5jZV90ZXN0cyhFeGVjdXRpb25Mb2FkZXIpCi1Gcm96ZW5fRXhlY3V0aW9uTG9hZGVySW5oZXJpdGFuY2VUZXN0cywgU291cmNlX0V4ZWN1dGlvbkxvYWRlckluaGVyaXRhbmNlVGVzdHMgPSB0ZXN0cworCisoRnJvemVuX0V4ZWN1dGlvbkxvYWRlckluaGVyaXRhbmNlVGVzdHMsCisgU291cmNlX0V4ZWN1dGlvbkxvYWRlckluaGVyaXRhbmNlVGVzdHMKKyApID0gdGVzdF91dGlsLnRlc3RfYm90aChFeGVjdXRpb25Mb2FkZXIsIGFiYz1hYmMpCiAKIAogY2xhc3MgRmlsZUxvYWRlcihJbmhlcml0YW5jZVRlc3RzKToKICAgICBzdXBlcmNsYXNzX25hbWVzID0gWydSZXNvdXJjZUxvYWRlcicsICdFeGVjdXRpb25Mb2FkZXInXQogICAgIHN1YmNsYXNzX25hbWVzID0gWydTb3VyY2VGaWxlTG9hZGVyJywgJ1NvdXJjZWxlc3NGaWxlTG9hZGVyJ10KIAotdGVzdHMgPSBjcmVhdGVfaW5oZXJpdGFuY2VfdGVzdHMoRmlsZUxvYWRlcikKLUZyb3plbl9GaWxlTG9hZGVySW5oZXJpdGFuY2VUZXN0cywgU291cmNlX0ZpbGVMb2FkZXJJbmhlcml0YW5jZVRlc3RzID0gdGVzdHMKKworKEZyb3plbl9GaWxlTG9hZGVySW5oZXJpdGFuY2VUZXN0cywKKyBTb3VyY2VfRmlsZUxvYWRlckluaGVyaXRhbmNlVGVzdHMKKyApID0gdGVzdF91dGlsLnRlc3RfYm90aChGaWxlTG9hZGVyLCBhYmM9YWJjKQogCiAKIGNsYXNzIFNvdXJjZUxvYWRlcihJbmhlcml0YW5jZVRlc3RzKToKICAgICBzdXBlcmNsYXNzX25hbWVzID0gWydSZXNvdXJjZUxvYWRlcicsICdFeGVjdXRpb25Mb2FkZXInXQogICAgIHN1YmNsYXNzX25hbWVzID0gWydTb3VyY2VGaWxlTG9hZGVyJ10KIAotdGVzdHMgPSBjcmVhdGVfaW5oZXJpdGFuY2VfdGVzdHMoU291cmNlTG9hZGVyKQotRnJvemVuX1NvdXJjZUxvYWRlckluaGVyaXRhbmNlVGVzdHMsIFNvdXJjZV9Tb3VyY2VMb2FkZXJJbmhlcml0YW5jZVRlc3RzID0gdGVzdHMKKworKEZyb3plbl9Tb3VyY2VMb2FkZXJJbmhlcml0YW5jZVRlc3RzLAorIFNvdXJjZV9Tb3VyY2VMb2FkZXJJbmhlcml0YW5jZVRlc3RzCisgKSA9IHRlc3RfdXRpbC50ZXN0X2JvdGgoU291cmNlTG9hZGVyLCBhYmM9YWJjKQorCiAKICMjIyMjIERlZmF1bHQgcmV0dXJuIHZhbHVlcyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi1kZWYgbWFrZV9hYmNfc3ViY2xhc3NlcyhiYXNlX2NsYXNzKToKLSAgICBjbGFzc2VzID0gW10KLSAgICBmb3Iga2luZCwgYWJjIGluIFsoJ0Zyb3plbicsIGZyb3plbl9hYmMpLCAoJ1NvdXJjZScsIHNvdXJjZV9hYmMpXToKLSAgICAgICAgbmFtZSA9ICdfJy5qb2luKFtraW5kLCBiYXNlX2NsYXNzLl9fbmFtZV9fXSkKLSAgICAgICAgYmFzZV9jbGFzc2VzID0gYmFzZV9jbGFzcywgZ2V0YXR0cihhYmMsIGJhc2VfY2xhc3MuX19uYW1lX18pCi0gICAgICAgIGNsYXNzZXMuYXBwZW5kKHR5cGVzLm5ld19jbGFzcyhuYW1lLCBiYXNlX2NsYXNzZXMpKQotICAgIHJldHVybiBjbGFzc2VzCiAKLWRlZiBtYWtlX3JldHVybl92YWx1ZV90ZXN0cyhiYXNlX2NsYXNzLCB0ZXN0X2NsYXNzKToKLSAgICBmcm96ZW5fY2xhc3MsIHNvdXJjZV9jbGFzcyA9IG1ha2VfYWJjX3N1YmNsYXNzZXMoYmFzZV9jbGFzcykKLSAgICB0ZXN0cyA9IFtdCi0gICAgZm9yIHByZWZpeCwgY2xhc3NfaW5fdGVzdCBpbiBbKCdGcm96ZW4nLCBmcm96ZW5fY2xhc3MpLCAoJ1NvdXJjZScsIHNvdXJjZV9jbGFzcyldOgotICAgICAgICBkZWYgc2V0X25zKG5zKToKLSAgICAgICAgICAgIG5zWydpbnMnXSA9IGNsYXNzX2luX3Rlc3QoKQotICAgICAgICB0ZXN0cy5hcHBlbmQodHlwZXMubmV3X2NsYXNzKCdfJy5qb2luKFtwcmVmaXgsIHRlc3RfY2xhc3MuX19uYW1lX19dKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodGVzdF9jbGFzcywgdW5pdHRlc3QuVGVzdENhc2UpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4ZWNfYm9keT1zZXRfbnMpKQotICAgIHJldHVybiB0ZXN0cworZGVmIG1ha2VfYWJjX3N1YmNsYXNzZXMoYmFzZV9jbGFzcywgbmFtZT1Ob25lLCBpbnN0PUZhbHNlLCAqKmt3YXJncyk6CisgICAgaWYgbmFtZSBpcyBOb25lOgorICAgICAgICBuYW1lID0gYmFzZV9jbGFzcy5fX25hbWVfXworICAgIGJhc2UgPSB7a2luZDogZ2V0YXR0cihzcGxpdGFiYywgbmFtZSkKKyAgICAgICAgICAgIGZvciBraW5kLCBzcGxpdGFiYyBpbiBhYmMuaXRlbXMoKX0KKyAgICByZXR1cm4ge2Nscy5fS0lORDogY2xzKCkgaWYgaW5zdCBlbHNlIGNscworICAgICAgICAgICAgZm9yIGNscyBpbiB0ZXN0X3V0aWwuc3BsaXRfZnJvemVuKGJhc2VfY2xhc3MsIGJhc2UsICoqa3dhcmdzKX0KKworCitjbGFzcyBBQkNUZXN0SGFybmVzczoKKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiBpbnMoc2VsZik6CisgICAgICAgICMgTGF6aWx5IHNldCBpbnMgb24gdGhlIGNsYXNzLgorICAgICAgICBjbHMgPSBzZWxmLlNQTElUW3NlbGYuX0tJTkRdCisgICAgICAgIGlucyA9IGNscygpCisgICAgICAgIHNlbGYuX19jbGFzc19fLmlucyA9IGlucworICAgICAgICByZXR1cm4gaW5zCiAKIAogY2xhc3MgTWV0YVBhdGhGaW5kZXI6CkBAIC0xNDksMTAgKzE1MiwxMCBAQAogICAgIGRlZiBmaW5kX21vZHVsZShzZWxmLCBmdWxsbmFtZSwgcGF0aCk6CiAgICAgICAgIHJldHVybiBzdXBlcigpLmZpbmRfbW9kdWxlKGZ1bGxuYW1lLCBwYXRoKQogCi1Gcm96ZW5fTVBGLCBTb3VyY2VfTVBGID0gbWFrZV9hYmNfc3ViY2xhc3NlcyhNZXRhUGF0aEZpbmRlcikKIAorY2xhc3MgTWV0YVBhdGhGaW5kZXJEZWZhdWx0c1Rlc3RzKEFCQ1Rlc3RIYXJuZXNzKToKIAotY2xhc3MgTWV0YVBhdGhGaW5kZXJEZWZhdWx0c1Rlc3RzOgorICAgIFNQTElUID0gbWFrZV9hYmNfc3ViY2xhc3NlcyhNZXRhUGF0aEZpbmRlcikKIAogICAgIGRlZiB0ZXN0X2ZpbmRfbW9kdWxlKHNlbGYpOgogICAgICAgICAjIERlZmF1bHQgc2hvdWxkIHJldHVybiBOb25lLgpAQCAtMTYzLDggKzE2Niw5IEBACiAgICAgICAgIHNlbGYuaW5zLmludmFsaWRhdGVfY2FjaGVzKCkKIAogCi10ZXN0cyA9IG1ha2VfcmV0dXJuX3ZhbHVlX3Rlc3RzKE1ldGFQYXRoRmluZGVyLCBNZXRhUGF0aEZpbmRlckRlZmF1bHRzVGVzdHMpCi1Gcm96ZW5fTVBGRGVmYXVsdFRlc3RzLCBTb3VyY2VfTVBGRGVmYXVsdFRlc3RzID0gdGVzdHMKKyhGcm96ZW5fTVBGRGVmYXVsdFRlc3RzLAorIFNvdXJjZV9NUEZEZWZhdWx0VGVzdHMKKyApID0gdGVzdF91dGlsLnRlc3RfYm90aChNZXRhUGF0aEZpbmRlckRlZmF1bHRzVGVzdHMpCiAKIAogY2xhc3MgUGF0aEVudHJ5RmluZGVyOgpAQCAtMTcyLDEwICsxNzYsMTAgQEAKICAgICBkZWYgZmluZF9sb2FkZXIoc2VsZiwgZnVsbG5hbWUpOgogICAgICAgICByZXR1cm4gc3VwZXIoKS5maW5kX2xvYWRlcihmdWxsbmFtZSkKIAotRnJvemVuX1BFRiwgU291cmNlX1BFRiA9IG1ha2VfYWJjX3N1YmNsYXNzZXMoUGF0aEVudHJ5RmluZGVyKQogCitjbGFzcyBQYXRoRW50cnlGaW5kZXJEZWZhdWx0c1Rlc3RzKEFCQ1Rlc3RIYXJuZXNzKToKIAotY2xhc3MgUGF0aEVudHJ5RmluZGVyRGVmYXVsdHNUZXN0czoKKyAgICBTUExJVCA9IG1ha2VfYWJjX3N1YmNsYXNzZXMoUGF0aEVudHJ5RmluZGVyKQogCiAgICAgZGVmIHRlc3RfZmluZF9sb2FkZXIoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoKE5vbmUsIFtdKSwgc2VsZi5pbnMuZmluZF9sb2FkZXIoJ3NvbWV0aGluZycpKQpAQCAtMTg4LDggKzE5Miw5IEBACiAgICAgICAgIHNlbGYuaW5zLmludmFsaWRhdGVfY2FjaGVzKCkKIAogCi10ZXN0cyA9IG1ha2VfcmV0dXJuX3ZhbHVlX3Rlc3RzKFBhdGhFbnRyeUZpbmRlciwgUGF0aEVudHJ5RmluZGVyRGVmYXVsdHNUZXN0cykKLUZyb3plbl9QRUZEZWZhdWx0VGVzdHMsIFNvdXJjZV9QRUZEZWZhdWx0VGVzdHMgPSB0ZXN0cworKEZyb3plbl9QRUZEZWZhdWx0VGVzdHMsCisgU291cmNlX1BFRkRlZmF1bHRUZXN0cworICkgPSB0ZXN0X3V0aWwudGVzdF9ib3RoKFBhdGhFbnRyeUZpbmRlckRlZmF1bHRzVGVzdHMpCiAKIAogY2xhc3MgTG9hZGVyOgpAQCAtMTk4LDEwICsyMDMsOSBAQAogICAgICAgICByZXR1cm4gc3VwZXIoKS5sb2FkX21vZHVsZShmdWxsbmFtZSkKIAogCi1Gcm96ZW5fTCwgU291cmNlX0wgPSBtYWtlX2FiY19zdWJjbGFzc2VzKExvYWRlcikKK2NsYXNzIExvYWRlckRlZmF1bHRzVGVzdHMoQUJDVGVzdEhhcm5lc3MpOgogCi0KLWNsYXNzIExvYWRlckRlZmF1bHRzVGVzdHM6CisgICAgU1BMSVQgPSBtYWtlX2FiY19zdWJjbGFzc2VzKExvYWRlcikKIAogICAgIGRlZiB0ZXN0X2xvYWRfbW9kdWxlKHNlbGYpOgogICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEltcG9ydEVycm9yKToKQEAgLTIxNyw4ICsyMjEsOSBAQAogICAgICAgICBzZWxmLmFzc2VydFRydWUocmVwcihtb2QpKQogCiAKLXRlc3RzID0gbWFrZV9yZXR1cm5fdmFsdWVfdGVzdHMoTG9hZGVyLCBMb2FkZXJEZWZhdWx0c1Rlc3RzKQotRnJvemVuX0xEZWZhdWx0VGVzdHMsIFNvdXJjZUxEZWZhdWx0VGVzdHMgPSB0ZXN0cworKEZyb3plbl9MRGVmYXVsdFRlc3RzLAorIFNvdXJjZUxEZWZhdWx0VGVzdHMKKyApID0gdGVzdF91dGlsLnRlc3RfYm90aChMb2FkZXJEZWZhdWx0c1Rlc3RzKQogCiAKIGNsYXNzIFJlc291cmNlTG9hZGVyKExvYWRlcik6CkBAIC0yMjcsMTggKzIzMiwxOCBAQAogICAgICAgICByZXR1cm4gc3VwZXIoKS5nZXRfZGF0YShwYXRoKQogCiAKLUZyb3plbl9STCwgU291cmNlX1JMID0gbWFrZV9hYmNfc3ViY2xhc3NlcyhSZXNvdXJjZUxvYWRlcikKK2NsYXNzIFJlc291cmNlTG9hZGVyRGVmYXVsdHNUZXN0cyhBQkNUZXN0SGFybmVzcyk6CiAKLQotY2xhc3MgUmVzb3VyY2VMb2FkZXJEZWZhdWx0c1Rlc3RzOgorICAgIFNQTElUID0gbWFrZV9hYmNfc3ViY2xhc3NlcyhSZXNvdXJjZUxvYWRlcikKIAogICAgIGRlZiB0ZXN0X2dldF9kYXRhKHNlbGYpOgogICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKElPRXJyb3IpOgogICAgICAgICAgICAgc2VsZi5pbnMuZ2V0X2RhdGEoJy9zb21lL3BhdGgnKQogCiAKLXRlc3RzID0gbWFrZV9yZXR1cm5fdmFsdWVfdGVzdHMoUmVzb3VyY2VMb2FkZXIsIFJlc291cmNlTG9hZGVyRGVmYXVsdHNUZXN0cykKLUZyb3plbl9STERlZmF1bHRUZXN0cywgU291cmNlX1JMRGVmYXVsdFRlc3RzID0gdGVzdHMKKyhGcm96ZW5fUkxEZWZhdWx0VGVzdHMsCisgU291cmNlX1JMRGVmYXVsdFRlc3RzCisgKSA9IHRlc3RfdXRpbC50ZXN0X2JvdGgoUmVzb3VyY2VMb2FkZXJEZWZhdWx0c1Rlc3RzKQogCiAKIGNsYXNzIEluc3BlY3RMb2FkZXIoTG9hZGVyKToKQEAgLTI1MCwxMCArMjU1LDEyIEBACiAgICAgICAgIHJldHVybiBzdXBlcigpLmdldF9zb3VyY2UoZnVsbG5hbWUpCiAKIAotRnJvemVuX0lMLCBTb3VyY2VfSUwgPSBtYWtlX2FiY19zdWJjbGFzc2VzKEluc3BlY3RMb2FkZXIpCitTUExJVF9JTCA9IG1ha2VfYWJjX3N1YmNsYXNzZXMoSW5zcGVjdExvYWRlcikKIAogCi1jbGFzcyBJbnNwZWN0TG9hZGVyRGVmYXVsdHNUZXN0czoKK2NsYXNzIEluc3BlY3RMb2FkZXJEZWZhdWx0c1Rlc3RzKEFCQ1Rlc3RIYXJuZXNzKToKKworICAgIFNQTElUID0gU1BMSVRfSUwKIAogICAgIGRlZiB0ZXN0X2lzX3BhY2thZ2Uoc2VsZik6CiAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoSW1wb3J0RXJyb3IpOgpAQCAtMjY0LDggKzI3MSw5IEBACiAgICAgICAgICAgICBzZWxmLmlucy5nZXRfc291cmNlKCdibGFoJykKIAogCi10ZXN0cyA9IG1ha2VfcmV0dXJuX3ZhbHVlX3Rlc3RzKEluc3BlY3RMb2FkZXIsIEluc3BlY3RMb2FkZXJEZWZhdWx0c1Rlc3RzKQotRnJvemVuX0lMRGVmYXVsdFRlc3RzLCBTb3VyY2VfSUxEZWZhdWx0VGVzdHMgPSB0ZXN0cworKEZyb3plbl9JTERlZmF1bHRUZXN0cywKKyBTb3VyY2VfSUxEZWZhdWx0VGVzdHMKKyApID0gdGVzdF91dGlsLnRlc3RfYm90aChJbnNwZWN0TG9hZGVyRGVmYXVsdHNUZXN0cykKIAogCiBjbGFzcyBFeGVjdXRpb25Mb2FkZXIoSW5zcGVjdExvYWRlcik6CkBAIC0yNzMsMjEgKzI4MSwyNSBAQAogICAgIGRlZiBnZXRfZmlsZW5hbWUoc2VsZiwgZnVsbG5hbWUpOgogICAgICAgICByZXR1cm4gc3VwZXIoKS5nZXRfZmlsZW5hbWUoZnVsbG5hbWUpCiAKLUZyb3plbl9FTCwgU291cmNlX0VMID0gbWFrZV9hYmNfc3ViY2xhc3NlcyhFeGVjdXRpb25Mb2FkZXIpCisKK1NQTElUX0VMID0gbWFrZV9hYmNfc3ViY2xhc3NlcyhFeGVjdXRpb25Mb2FkZXIpCiAKIAotY2xhc3MgRXhlY3V0aW9uTG9hZGVyRGVmYXVsdHNUZXN0czoKK2NsYXNzIEV4ZWN1dGlvbkxvYWRlckRlZmF1bHRzVGVzdHMoQUJDVGVzdEhhcm5lc3MpOgorCisgICAgU1BMSVQgPSBTUExJVF9FTAogCiAgICAgZGVmIHRlc3RfZ2V0X2ZpbGVuYW1lKHNlbGYpOgogICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEltcG9ydEVycm9yKToKICAgICAgICAgICAgIHNlbGYuaW5zLmdldF9maWxlbmFtZSgnYmxhaCcpCiAKIAotdGVzdHMgPSBtYWtlX3JldHVybl92YWx1ZV90ZXN0cyhFeGVjdXRpb25Mb2FkZXIsIEluc3BlY3RMb2FkZXJEZWZhdWx0c1Rlc3RzKQotRnJvemVuX0VMRGVmYXVsdFRlc3RzLCBTb3VyY2VfRUxEZWZhdWx0c1Rlc3RzID0gdGVzdHMKKyhGcm96ZW5fRUxEZWZhdWx0VGVzdHMsCisgU291cmNlX0VMRGVmYXVsdHNUZXN0cworICkgPSB0ZXN0X3V0aWwudGVzdF9ib3RoKEluc3BlY3RMb2FkZXJEZWZhdWx0c1Rlc3RzKQorCiAKICMjIyMjIE1ldGFQYXRoRmluZGVyIGNvbmNyZXRlIG1ldGhvZHMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0KIGNsYXNzIE1ldGFQYXRoRmluZGVyRmluZE1vZHVsZVRlc3RzOgogCiAgICAgQGNsYXNzbWV0aG9kCkBAIC0zMTcsMTMgKzMyOSwxMiBAQAogICAgICAgICBzZWxmLmFzc2VydElzKGZvdW5kLCBzcGVjLmxvYWRlcikKIAogCi1Gcm96ZW5fTVBGRmluZE1vZHVsZVRlc3RzLCBTb3VyY2VfTVBGRmluZE1vZHVsZVRlc3RzID0gdXRpbC50ZXN0X2JvdGgoCi0gICAgICAgIE1ldGFQYXRoRmluZGVyRmluZE1vZHVsZVRlc3RzLAotICAgICAgICBhYmM9KGZyb3plbl9hYmMsIHNvdXJjZV9hYmMpLAotICAgICAgICB1dGlsPShmcm96ZW5fdXRpbCwgc291cmNlX3V0aWwpKQorKEZyb3plbl9NUEZGaW5kTW9kdWxlVGVzdHMsCisgU291cmNlX01QRkZpbmRNb2R1bGVUZXN0cworICkgPSB0ZXN0X3V0aWwudGVzdF9ib3RoKE1ldGFQYXRoRmluZGVyRmluZE1vZHVsZVRlc3RzLCBhYmM9YWJjLCB1dGlsPXV0aWwpCisKIAogIyMjIyMgUGF0aEVudHJ5RmluZGVyIGNvbmNyZXRlIG1ldGhvZHMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLQogY2xhc3MgUGF0aEVudHJ5RmluZGVyRmluZExvYWRlclRlc3RzOgogCiAgICAgQGNsYXNzbWV0aG9kCkBAIC0zNjEsMTEgKzM3MiwxMCBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBhdGhzLCBmb3VuZFsxXSkKIAogCi1Gcm96ZW5fUEVGRmluZExvYWRlclRlc3RzLCBTb3VyY2VfUEVGRmluZExvYWRlclRlc3RzID0gdXRpbC50ZXN0X2JvdGgoCi0gICAgICAgIFBhdGhFbnRyeUZpbmRlckZpbmRMb2FkZXJUZXN0cywKLSAgICAgICAgYWJjPShmcm96ZW5fYWJjLCBzb3VyY2VfYWJjKSwKLSAgICAgICAgbWFjaGluZXJ5PW1hY2hpbmVyeSwKLSAgICAgICAgdXRpbD0oZnJvemVuX3V0aWwsIHNvdXJjZV91dGlsKSkKKyhGcm96ZW5fUEVGRmluZExvYWRlclRlc3RzLAorIFNvdXJjZV9QRUZGaW5kTG9hZGVyVGVzdHMKKyApID0gdGVzdF91dGlsLnRlc3RfYm90aChQYXRoRW50cnlGaW5kZXJGaW5kTG9hZGVyVGVzdHMsIGFiYz1hYmMsIHV0aWw9dXRpbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBtYWNoaW5lcnk9bWFjaGluZXJ5KQogCiAKICMjIyMjIExvYWRlciBjb25jcmV0ZSBtZXRob2RzICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCkBAIC0zODYsNyArMzk2LDcgQEAKICAgICBkZWYgdGVzdF9mcmVzaChzZWxmKToKICAgICAgICAgbG9hZGVyID0gc2VsZi5sb2FkZXIoKQogICAgICAgICBuYW1lID0gJ2JsYWgnCi0gICAgICAgIHdpdGggdXRpbC51bmNhY2hlKG5hbWUpOgorICAgICAgICB3aXRoIHRlc3RfdXRpbC51bmNhY2hlKG5hbWUpOgogICAgICAgICAgICAgbG9hZGVyLmxvYWRfbW9kdWxlKG5hbWUpCiAgICAgICAgICAgICBtb2R1bGUgPSBsb2FkZXIuZm91bmQKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMoc3lzLm1vZHVsZXNbbmFtZV0sIG1vZHVsZSkKQEAgLTQwNCw3ICs0MTQsNyBAQAogICAgICAgICBtb2R1bGUgPSB0eXBlcy5Nb2R1bGVUeXBlKG5hbWUpCiAgICAgICAgIG1vZHVsZS5fX3NwZWNfXyA9IHNlbGYudXRpbC5zcGVjX2Zyb21fbG9hZGVyKG5hbWUsIGxvYWRlcikKICAgICAgICAgbW9kdWxlLl9fbG9hZGVyX18gPSBsb2FkZXIKLSAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUobmFtZSk6CisgICAgICAgIHdpdGggdGVzdF91dGlsLnVuY2FjaGUobmFtZSk6CiAgICAgICAgICAgICBzeXMubW9kdWxlc1tuYW1lXSA9IG1vZHVsZQogICAgICAgICAgICAgbG9hZGVyLmxvYWRfbW9kdWxlKG5hbWUpCiAgICAgICAgICAgICBmb3VuZCA9IGxvYWRlci5mb3VuZApAQCAtNDEyLDEwICs0MjIsOSBAQAogICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhtb2R1bGUsIHN5cy5tb2R1bGVzW25hbWVdKQogCiAKLUZyb3plbl9Mb2FkZXJMb2FkTW9kdWxlVGVzdHMsIFNvdXJjZV9Mb2FkZXJMb2FkTW9kdWxlVGVzdHMgPSB1dGlsLnRlc3RfYm90aCgKLSAgICAgICAgTG9hZGVyTG9hZE1vZHVsZVRlc3RzLAotICAgICAgICBhYmM9KGZyb3plbl9hYmMsIHNvdXJjZV9hYmMpLAotICAgICAgICB1dGlsPShmcm96ZW5fdXRpbCwgc291cmNlX3V0aWwpKQorKEZyb3plbl9Mb2FkZXJMb2FkTW9kdWxlVGVzdHMsCisgU291cmNlX0xvYWRlckxvYWRNb2R1bGVUZXN0cworICkgPSB0ZXN0X3V0aWwudGVzdF9ib3RoKExvYWRlckxvYWRNb2R1bGVUZXN0cywgYWJjPWFiYywgdXRpbD11dGlsKQogCiAKICMjIyMjIEluc3BlY3RMb2FkZXIgY29uY3JldGUgbWV0aG9kcyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCkBAIC00NjEsMTEgKzQ3MCwxMCBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNvZGUuY29fZmlsZW5hbWUsICc8c3RyaW5nPicpCiAKIAotY2xhc3MgRnJvemVuX0lMU291cmNlVG9Db2RlVGVzdHMoSW5zcGVjdExvYWRlclNvdXJjZVRvQ29kZVRlc3RzLCB1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgSW5zcGVjdExvYWRlclN1YmNsYXNzID0gRnJvemVuX0lMCi0KLWNsYXNzIFNvdXJjZV9JTFNvdXJjZVRvQ29kZVRlc3RzKEluc3BlY3RMb2FkZXJTb3VyY2VUb0NvZGVUZXN0cywgdW5pdHRlc3QuVGVzdENhc2UpOgotICAgIEluc3BlY3RMb2FkZXJTdWJjbGFzcyA9IFNvdXJjZV9JTAorKEZyb3plbl9JTFNvdXJjZVRvQ29kZVRlc3RzLAorIFNvdXJjZV9JTFNvdXJjZVRvQ29kZVRlc3RzCisgKSA9IHRlc3RfdXRpbC50ZXN0X2JvdGgoSW5zcGVjdExvYWRlclNvdXJjZVRvQ29kZVRlc3RzLAorICAgICAgICAgICAgICAgICAgICAgICAgIEluc3BlY3RMb2FkZXJTdWJjbGFzcz1TUExJVF9JTCkKIAogCiBjbGFzcyBJbnNwZWN0TG9hZGVyR2V0Q29kZVRlc3RzOgpAQCAtNDk1LDExICs1MDMsMTAgQEAKICAgICAgICAgICAgIGxvYWRlci5nZXRfY29kZSgnYmxhaCcpCiAKIAotY2xhc3MgRnJvemVuX0lMR2V0Q29kZVRlc3RzKEluc3BlY3RMb2FkZXJHZXRDb2RlVGVzdHMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICBJbnNwZWN0TG9hZGVyU3ViY2xhc3MgPSBGcm96ZW5fSUwKLQotY2xhc3MgU291cmNlX0lMR2V0Q29kZVRlc3RzKEluc3BlY3RMb2FkZXJHZXRDb2RlVGVzdHMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICBJbnNwZWN0TG9hZGVyU3ViY2xhc3MgPSBTb3VyY2VfSUwKKyhGcm96ZW5fSUxHZXRDb2RlVGVzdHMsCisgU291cmNlX0lMR2V0Q29kZVRlc3RzCisgKSA9IHRlc3RfdXRpbC50ZXN0X2JvdGgoSW5zcGVjdExvYWRlckdldENvZGVUZXN0cywKKyAgICAgICAgICAgICAgICAgICAgICAgICBJbnNwZWN0TG9hZGVyU3ViY2xhc3M9U1BMSVRfSUwpCiAKIAogY2xhc3MgSW5zcGVjdExvYWRlckxvYWRNb2R1bGVUZXN0czoKQEAgLTU0MywxMSArNTUwLDEwIEBACiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZSwgc3lzLm1vZHVsZXNbc2VsZi5tb2R1bGVfbmFtZV0pCiAKIAotY2xhc3MgRnJvemVuX0lMTG9hZE1vZHVsZVRlc3RzKEluc3BlY3RMb2FkZXJMb2FkTW9kdWxlVGVzdHMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICBJbnNwZWN0TG9hZGVyU3ViY2xhc3MgPSBGcm96ZW5fSUwKLQotY2xhc3MgU291cmNlX0lMTG9hZE1vZHVsZVRlc3RzKEluc3BlY3RMb2FkZXJMb2FkTW9kdWxlVGVzdHMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICBJbnNwZWN0TG9hZGVyU3ViY2xhc3MgPSBTb3VyY2VfSUwKKyhGcm96ZW5fSUxMb2FkTW9kdWxlVGVzdHMsCisgU291cmNlX0lMTG9hZE1vZHVsZVRlc3RzCisgKSA9IHRlc3RfdXRpbC50ZXN0X2JvdGgoSW5zcGVjdExvYWRlckxvYWRNb2R1bGVUZXN0cywKKyAgICAgICAgICAgICAgICAgICAgICAgICBJbnNwZWN0TG9hZGVyU3ViY2xhc3M9U1BMSVRfSUwpCiAKIAogIyMjIyMgRXhlY3V0aW9uTG9hZGVyIGNvbmNyZXRlIG1ldGhvZHMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKQEAgLTYwOCwxNSArNjE0LDE0IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9kdWxlLmF0dHIsIDQyKQogCiAKLWNsYXNzIEZyb3plbl9FTEdldENvZGVUZXN0cyhFeGVjdXRpb25Mb2FkZXJHZXRDb2RlVGVzdHMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICBFeGVjdXRpb25Mb2FkZXJTdWJjbGFzcyA9IEZyb3plbl9FTAotCi1jbGFzcyBTb3VyY2VfRUxHZXRDb2RlVGVzdHMoRXhlY3V0aW9uTG9hZGVyR2V0Q29kZVRlc3RzLCB1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgRXhlY3V0aW9uTG9hZGVyU3ViY2xhc3MgPSBTb3VyY2VfRUwKKyhGcm96ZW5fRUxHZXRDb2RlVGVzdHMsCisgU291cmNlX0VMR2V0Q29kZVRlc3RzCisgKSA9IHRlc3RfdXRpbC50ZXN0X2JvdGgoRXhlY3V0aW9uTG9hZGVyR2V0Q29kZVRlc3RzLAorICAgICAgICAgICAgICAgICAgICAgICAgIEV4ZWN1dGlvbkxvYWRlclN1YmNsYXNzPVNQTElUX0VMKQogCiAKICMjIyMjIFNvdXJjZUxvYWRlciBjb25jcmV0ZSBtZXRob2RzICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi1jbGFzcyBTb3VyY2VMb2FkZXI6CitjbGFzcyBTb3VyY2VPbmx5TG9hZGVyOgogCiAgICAgIyBHbG9iYWxzIHRoYXQgc2hvdWxkIGJlIGRlZmluZWQgZm9yIGFsbCBtb2R1bGVzLgogICAgIHNvdXJjZSA9IChiIl8gPSAnOjonLmpvaW4oW19fbmFtZV9fLCBfX2ZpbGVfXywgX19jYWNoZWRfXywgX19wYWNrYWdlX18sICIKQEAgLTYzNywxMCArNjQyLDEwIEBACiAgICAgICAgIHJldHVybiAnPG1vZHVsZT4nCiAKIAotRnJvemVuX1NvdXJjZU9ubHlMLCBTb3VyY2VfU291cmNlT25seUwgPSBtYWtlX2FiY19zdWJjbGFzc2VzKFNvdXJjZUxvYWRlcikKK1NQTElUX1NPTCA9IG1ha2VfYWJjX3N1YmNsYXNzZXMoU291cmNlT25seUxvYWRlciwgJ1NvdXJjZUxvYWRlcicpCiAKIAotY2xhc3MgU291cmNlTG9hZGVyKFNvdXJjZUxvYWRlcik6CitjbGFzcyBTb3VyY2VMb2FkZXIoU291cmNlT25seUxvYWRlcik6CiAKICAgICBzb3VyY2VfbXRpbWUgPSAxCiAKQEAgLTY3NywxMSArNjgyLDcgQEAKICAgICAgICAgcmV0dXJuIHBhdGggPT0gc2VsZi5ieXRlY29kZV9wYXRoCiAKIAotRnJvemVuX1NMLCBTb3VyY2VfU0wgPSBtYWtlX2FiY19zdWJjbGFzc2VzKFNvdXJjZUxvYWRlcikKLUZyb3plbl9TTC51dGlsID0gZnJvemVuX3V0aWwKLVNvdXJjZV9TTC51dGlsID0gc291cmNlX3V0aWwKLUZyb3plbl9TTC5pbml0ID0gZnJvemVuX2luaXQKLVNvdXJjZV9TTC5pbml0ID0gc291cmNlX2luaXQKK1NQTElUX1NMID0gbWFrZV9hYmNfc3ViY2xhc3NlcyhTb3VyY2VMb2FkZXIsIHV0aWw9dXRpbCwgaW5pdD1pbml0KQogCiAKIGNsYXNzIFNvdXJjZUxvYWRlclRlc3RIYXJuZXNzOgpAQCAtNzY1LDcgKzc2Niw3IEBACiAgICAgICAgICMgTG9hZGluZyBhIG1vZHVsZSBzaG91bGQgc2V0IF9fbmFtZV9fLCBfX2xvYWRlcl9fLCBfX3BhY2thZ2VfXywKICAgICAgICAgIyBfX3BhdGhfXyAoZm9yIHBhY2thZ2VzKSwgX19maWxlX18sIGFuZCBfX2NhY2hlZF9fLgogICAgICAgICAjIFRoZSBtb2R1bGUgc2hvdWxkIGFsc28gYmUgcHV0IGludG8gc3lzLm1vZHVsZXMuCi0gICAgICAgIHdpdGggdXRpbC51bmNhY2hlKHNlbGYubmFtZSk6CisgICAgICAgIHdpdGggdGVzdF91dGlsLnVuY2FjaGUoc2VsZi5uYW1lKToKICAgICAgICAgICAgIHdpdGggd2FybmluZ3MuY2F0Y2hfd2FybmluZ3MoKToKICAgICAgICAgICAgICAgICB3YXJuaW5ncy5zaW1wbGVmaWx0ZXIoJ2lnbm9yZScsIERlcHJlY2F0aW9uV2FybmluZykKICAgICAgICAgICAgICAgICBtb2R1bGUgPSBzZWxmLmxvYWRlci5sb2FkX21vZHVsZShzZWxmLm5hbWUpCkBAIC03NzgsNyArNzc5LDcgQEAKICAgICAgICAgIyBpcyBhIHBhY2thZ2UuCiAgICAgICAgICMgVGVzdGluZyB0aGUgdmFsdWVzIGZvciBhIHBhY2thZ2UgYXJlIGNvdmVyZWQgYnkgdGVzdF9sb2FkX21vZHVsZS4KICAgICAgICAgc2VsZi5zZXRVcChpc19wYWNrYWdlPUZhbHNlKQotICAgICAgICB3aXRoIHV0aWwudW5jYWNoZShzZWxmLm5hbWUpOgorICAgICAgICB3aXRoIHRlc3RfdXRpbC51bmNhY2hlKHNlbGYubmFtZSk6CiAgICAgICAgICAgICB3aXRoIHdhcm5pbmdzLmNhdGNoX3dhcm5pbmdzKCk6CiAgICAgICAgICAgICAgICAgd2FybmluZ3Muc2ltcGxlZmlsdGVyKCdpZ25vcmUnLCBEZXByZWNhdGlvbldhcm5pbmcpCiAgICAgICAgICAgICAgICAgbW9kdWxlID0gc2VsZi5sb2FkZXIubG9hZF9tb2R1bGUoc2VsZi5uYW1lKQpAQCAtNzk4LDEzICs3OTksMTAgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXR1cm5lZF9zb3VyY2UsIHNvdXJjZSkKIAogCi1jbGFzcyBGcm96ZW5fU291cmNlT25seUxUZXN0cyhTb3VyY2VPbmx5TG9hZGVyVGVzdHMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICBsb2FkZXJfbW9jayA9IEZyb3plbl9Tb3VyY2VPbmx5TAotICAgIHV0aWwgPSBmcm96ZW5fdXRpbAotCi1jbGFzcyBTb3VyY2VfU291cmNlT25seUxUZXN0cyhTb3VyY2VPbmx5TG9hZGVyVGVzdHMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICBsb2FkZXJfbW9jayA9IFNvdXJjZV9Tb3VyY2VPbmx5TAotICAgIHV0aWwgPSBzb3VyY2VfdXRpbAorKEZyb3plbl9Tb3VyY2VPbmx5TG9hZGVyVGVzdHMsCisgU291cmNlX1NvdXJjZU9ubHlMb2FkZXJUZXN0cworICkgPSB0ZXN0X3V0aWwudGVzdF9ib3RoKFNvdXJjZU9ubHlMb2FkZXJUZXN0cywgdXRpbD11dGlsLAorICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRlcl9tb2NrPVNQTElUX1NPTCkKIAogCiBAdW5pdHRlc3Quc2tpcElmKHN5cy5kb250X3dyaXRlX2J5dGVjb2RlLCAic3lzLmRvbnRfd3JpdGVfYnl0ZWNvZGUgaXMgdHJ1ZSIpCkBAIC04OTYsMTUgKzg5NCwxMCBAQAogICAgICAgICBzZWxmLnZlcmlmeV9jb2RlKGNvZGVfb2JqZWN0KQogCiAKLWNsYXNzIEZyb3plbl9TTEJ5dGVjb2RlVGVzdHMoU291cmNlTG9hZGVyQnl0ZWNvZGVUZXN0cywgdW5pdHRlc3QuVGVzdENhc2UpOgotICAgIGxvYWRlcl9tb2NrID0gRnJvemVuX1NMCi0gICAgaW5pdCA9IGZyb3plbl9pbml0Ci0gICAgdXRpbCA9IGZyb3plbl91dGlsCi0KLWNsYXNzIFNvdXJjZVNMQnl0ZWNvZGVUZXN0cyhTb3VyY2VMb2FkZXJCeXRlY29kZVRlc3RzLCB1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgbG9hZGVyX21vY2sgPSBTb3VyY2VfU0wKLSAgICBpbml0ID0gc291cmNlX2luaXQKLSAgICB1dGlsID0gc291cmNlX3V0aWwKKyhGcm96ZW5fU0xCeXRlY29kZVRlc3RzLAorIFNvdXJjZVNMQnl0ZWNvZGVUZXN0cworICkgPSB0ZXN0X3V0aWwudGVzdF9ib3RoKFNvdXJjZUxvYWRlckJ5dGVjb2RlVGVzdHMsIGluaXQ9aW5pdCwgdXRpbD11dGlsLAorICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRlcl9tb2NrPVNQTElUX1NMKQogCiAKIGNsYXNzIFNvdXJjZUxvYWRlckdldFNvdXJjZVRlc3RzOgpAQCAtOTQwLDExICs5MzMsMTAgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2NrLmdldF9zb3VyY2UobmFtZSksIGV4cGVjdCkKIAogCi1jbGFzcyBGcm96ZW5fU291cmNlT25seUxHZXRTb3VyY2VUZXN0cyhTb3VyY2VMb2FkZXJHZXRTb3VyY2VUZXN0cywgdW5pdHRlc3QuVGVzdENhc2UpOgotICAgIFNvdXJjZU9ubHlMb2FkZXJNb2NrID0gRnJvemVuX1NvdXJjZU9ubHlMCi0KLWNsYXNzIFNvdXJjZV9Tb3VyY2VPbmx5TEdldFNvdXJjZVRlc3RzKFNvdXJjZUxvYWRlckdldFNvdXJjZVRlc3RzLCB1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgU291cmNlT25seUxvYWRlck1vY2sgPSBTb3VyY2VfU291cmNlT25seUwKKyhGcm96ZW5fU291cmNlT25seUxvYWRlckdldFNvdXJjZVRlc3RzLAorIFNvdXJjZV9Tb3VyY2VPbmx5TG9hZGVyR2V0U291cmNlVGVzdHMKKyApID0gdGVzdF91dGlsLnRlc3RfYm90aChTb3VyY2VMb2FkZXJHZXRTb3VyY2VUZXN0cywKKyAgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VPbmx5TG9hZGVyTW9jaz1TUExJVF9TT0wpCiAKIAogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3Rlc3RfYXBpLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvdGVzdF9hcGkucHkKaW5kZXggMmEyZDQyYi4uNmJjM2M1NiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvdGVzdF9hcGkucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvdGVzdF9hcGkucHkKQEAgLTEsOCArMSw4IEBACi1mcm9tIC4gaW1wb3J0IHV0aWwKK2Zyb20gLiBpbXBvcnQgdXRpbCBhcyB0ZXN0X3V0aWwKIAotZnJvemVuX2luaXQsIHNvdXJjZV9pbml0ID0gdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWInKQotZnJvemVuX3V0aWwsIHNvdXJjZV91dGlsID0gdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWIudXRpbCcpCi1mcm96ZW5fbWFjaGluZXJ5LCBzb3VyY2VfbWFjaGluZXJ5ID0gdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWIubWFjaGluZXJ5JykKK2luaXQgPSB0ZXN0X3V0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliJykKK3V0aWwgPSB0ZXN0X3V0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliLnV0aWwnKQorbWFjaGluZXJ5ID0gdGVzdF91dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYi5tYWNoaW5lcnknKQogCiBpbXBvcnQgb3MucGF0aAogaW1wb3J0IHN5cwpAQCAtMTgsOCArMTgsOCBAQAogCiAgICAgZGVmIHRlc3RfbW9kdWxlX2ltcG9ydChzZWxmKToKICAgICAgICAgIyBUZXN0IGltcG9ydGluZyBhIHRvcC1sZXZlbCBtb2R1bGUuCi0gICAgICAgIHdpdGggdXRpbC5tb2NrX21vZHVsZXMoJ3RvcF9sZXZlbCcpIGFzIG1vY2s6Ci0gICAgICAgICAgICB3aXRoIHV0aWwuaW1wb3J0X3N0YXRlKG1ldGFfcGF0aD1bbW9ja10pOgorICAgICAgICB3aXRoIHRlc3RfdXRpbC5tb2NrX21vZHVsZXMoJ3RvcF9sZXZlbCcpIGFzIG1vY2s6CisgICAgICAgICAgICB3aXRoIHRlc3RfdXRpbC5pbXBvcnRfc3RhdGUobWV0YV9wYXRoPVttb2NrXSk6CiAgICAgICAgICAgICAgICAgbW9kdWxlID0gc2VsZi5pbml0LmltcG9ydF9tb2R1bGUoJ3RvcF9sZXZlbCcpCiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2R1bGUuX19uYW1lX18sICd0b3BfbGV2ZWwnKQogCkBAIC0yOCw4ICsyOCw4IEBACiAgICAgICAgIHBrZ19uYW1lID0gJ3BrZycKICAgICAgICAgcGtnX2xvbmdfbmFtZSA9ICd7MH0uX19pbml0X18nLmZvcm1hdChwa2dfbmFtZSkKICAgICAgICAgbmFtZSA9ICd7MH0ubW9kJy5mb3JtYXQocGtnX25hbWUpCi0gICAgICAgIHdpdGggdXRpbC5tb2NrX21vZHVsZXMocGtnX2xvbmdfbmFtZSwgbmFtZSkgYXMgbW9jazoKLSAgICAgICAgICAgIHdpdGggdXRpbC5pbXBvcnRfc3RhdGUobWV0YV9wYXRoPVttb2NrXSk6CisgICAgICAgIHdpdGggdGVzdF91dGlsLm1vY2tfbW9kdWxlcyhwa2dfbG9uZ19uYW1lLCBuYW1lKSBhcyBtb2NrOgorICAgICAgICAgICAgd2l0aCB0ZXN0X3V0aWwuaW1wb3J0X3N0YXRlKG1ldGFfcGF0aD1bbW9ja10pOgogICAgICAgICAgICAgICAgIG1vZHVsZSA9IHNlbGYuaW5pdC5pbXBvcnRfbW9kdWxlKG5hbWUpCiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2R1bGUuX19uYW1lX18sIG5hbWUpCiAKQEAgLTQwLDE2ICs0MCwxNiBAQAogICAgICAgICBtb2R1bGVfbmFtZSA9ICdtb2QnCiAgICAgICAgIGFic29sdXRlX25hbWUgPSAnezB9LnsxfScuZm9ybWF0KHBrZ19uYW1lLCBtb2R1bGVfbmFtZSkKICAgICAgICAgcmVsYXRpdmVfbmFtZSA9ICcuezB9Jy5mb3JtYXQobW9kdWxlX25hbWUpCi0gICAgICAgIHdpdGggdXRpbC5tb2NrX21vZHVsZXMocGtnX2xvbmdfbmFtZSwgYWJzb2x1dGVfbmFtZSkgYXMgbW9jazoKLSAgICAgICAgICAgIHdpdGggdXRpbC5pbXBvcnRfc3RhdGUobWV0YV9wYXRoPVttb2NrXSk6CisgICAgICAgIHdpdGggdGVzdF91dGlsLm1vY2tfbW9kdWxlcyhwa2dfbG9uZ19uYW1lLCBhYnNvbHV0ZV9uYW1lKSBhcyBtb2NrOgorICAgICAgICAgICAgd2l0aCB0ZXN0X3V0aWwuaW1wb3J0X3N0YXRlKG1ldGFfcGF0aD1bbW9ja10pOgogICAgICAgICAgICAgICAgIHNlbGYuaW5pdC5pbXBvcnRfbW9kdWxlKHBrZ19uYW1lKQogICAgICAgICAgICAgICAgIG1vZHVsZSA9IHNlbGYuaW5pdC5pbXBvcnRfbW9kdWxlKHJlbGF0aXZlX25hbWUsIHBrZ19uYW1lKQogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9kdWxlLl9fbmFtZV9fLCBhYnNvbHV0ZV9uYW1lKQogCiAgICAgZGVmIHRlc3RfZGVlcF9yZWxhdGl2ZV9wYWNrYWdlX2ltcG9ydChzZWxmKToKICAgICAgICAgbW9kdWxlcyA9IFsnYS5fX2luaXRfXycsICdhLmIuX19pbml0X18nLCAnYS5jJ10KLSAgICAgICAgd2l0aCB1dGlsLm1vY2tfbW9kdWxlcygqbW9kdWxlcykgYXMgbW9jazoKLSAgICAgICAgICAgIHdpdGggdXRpbC5pbXBvcnRfc3RhdGUobWV0YV9wYXRoPVttb2NrXSk6CisgICAgICAgIHdpdGggdGVzdF91dGlsLm1vY2tfbW9kdWxlcygqbW9kdWxlcykgYXMgbW9jazoKKyAgICAgICAgICAgIHdpdGggdGVzdF91dGlsLmltcG9ydF9zdGF0ZShtZXRhX3BhdGg9W21vY2tdKToKICAgICAgICAgICAgICAgICBzZWxmLmluaXQuaW1wb3J0X21vZHVsZSgnYScpCiAgICAgICAgICAgICAgICAgc2VsZi5pbml0LmltcG9ydF9tb2R1bGUoJ2EuYicpCiAgICAgICAgICAgICAgICAgbW9kdWxlID0gc2VsZi5pbml0LmltcG9ydF9tb2R1bGUoJy4uYycsICdhLmInKQpAQCAtNjEsOCArNjEsOCBAQAogICAgICAgICBwa2dfbmFtZSA9ICdwa2cnCiAgICAgICAgIHBrZ19sb25nX25hbWUgPSAnezB9Ll9faW5pdF9fJy5mb3JtYXQocGtnX25hbWUpCiAgICAgICAgIG5hbWUgPSAnezB9Lm1vZCcuZm9ybWF0KHBrZ19uYW1lKQotICAgICAgICB3aXRoIHV0aWwubW9ja19tb2R1bGVzKHBrZ19sb25nX25hbWUsIG5hbWUpIGFzIG1vY2s6Ci0gICAgICAgICAgICB3aXRoIHV0aWwuaW1wb3J0X3N0YXRlKG1ldGFfcGF0aD1bbW9ja10pOgorICAgICAgICB3aXRoIHRlc3RfdXRpbC5tb2NrX21vZHVsZXMocGtnX2xvbmdfbmFtZSwgbmFtZSkgYXMgbW9jazoKKyAgICAgICAgICAgIHdpdGggdGVzdF91dGlsLmltcG9ydF9zdGF0ZShtZXRhX3BhdGg9W21vY2tdKToKICAgICAgICAgICAgICAgICBzZWxmLmluaXQuaW1wb3J0X21vZHVsZShwa2dfbmFtZSkKICAgICAgICAgICAgICAgICBtb2R1bGUgPSBzZWxmLmluaXQuaW1wb3J0X21vZHVsZShuYW1lLCBwa2dfbmFtZSkKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZS5fX25hbWVfXywgbmFtZSkKQEAgLTg2LDE2ICs4NiwxNSBAQAogICAgICAgICAgICAgYl9sb2FkX2NvdW50ICs9IDEKICAgICAgICAgY29kZSA9IHsnYSc6IGxvYWRfYSwgJ2EuYic6IGxvYWRfYn0KICAgICAgICAgbW9kdWxlcyA9IFsnYS5fX2luaXRfXycsICdhLmInXQotICAgICAgICB3aXRoIHV0aWwubW9ja19tb2R1bGVzKCptb2R1bGVzLCBtb2R1bGVfY29kZT1jb2RlKSBhcyBtb2NrOgotICAgICAgICAgICAgd2l0aCB1dGlsLmltcG9ydF9zdGF0ZShtZXRhX3BhdGg9W21vY2tdKToKKyAgICAgICAgd2l0aCB0ZXN0X3V0aWwubW9ja19tb2R1bGVzKCptb2R1bGVzLCBtb2R1bGVfY29kZT1jb2RlKSBhcyBtb2NrOgorICAgICAgICAgICAgd2l0aCB0ZXN0X3V0aWwuaW1wb3J0X3N0YXRlKG1ldGFfcGF0aD1bbW9ja10pOgogICAgICAgICAgICAgICAgIHNlbGYuaW5pdC5pbXBvcnRfbW9kdWxlKCdhLmInKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJfbG9hZF9jb3VudCwgMSkKIAotY2xhc3MgRnJvemVuX0ltcG9ydE1vZHVsZVRlc3RzKEltcG9ydE1vZHVsZVRlc3RzLCB1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgaW5pdCA9IGZyb3plbl9pbml0CiAKLWNsYXNzIFNvdXJjZV9JbXBvcnRNb2R1bGVUZXN0cyhJbXBvcnRNb2R1bGVUZXN0cywgdW5pdHRlc3QuVGVzdENhc2UpOgotICAgIGluaXQgPSBzb3VyY2VfaW5pdAorKEZyb3plbl9JbXBvcnRNb2R1bGVUZXN0cywKKyBTb3VyY2VfSW1wb3J0TW9kdWxlVGVzdHMKKyApID0gdGVzdF91dGlsLnRlc3RfYm90aChJbXBvcnRNb2R1bGVUZXN0cywgaW5pdD1pbml0KQogCiAKIGNsYXNzIEZpbmRMb2FkZXJUZXN0czoKQEAgLTEwNyw3ICsxMDYsNyBAQAogICAgIGRlZiB0ZXN0X3N5c19tb2R1bGVzKHNlbGYpOgogICAgICAgICAjIElmIGEgbW9kdWxlIHdpdGggX19sb2FkZXJfXyBpcyBpbiBzeXMubW9kdWxlcywgdGhlbiByZXR1cm4gaXQuCiAgICAgICAgIG5hbWUgPSAnc29tZV9tb2QnCi0gICAgICAgIHdpdGggdXRpbC51bmNhY2hlKG5hbWUpOgorICAgICAgICB3aXRoIHRlc3RfdXRpbC51bmNhY2hlKG5hbWUpOgogICAgICAgICAgICAgbW9kdWxlID0gdHlwZXMuTW9kdWxlVHlwZShuYW1lKQogICAgICAgICAgICAgbG9hZGVyID0gJ2EgbG9hZGVyIScKICAgICAgICAgICAgIG1vZHVsZS5fX2xvYWRlcl9fID0gbG9hZGVyCkBAIC0xMjAsNyArMTE5LDcgQEAKICAgICBkZWYgdGVzdF9zeXNfbW9kdWxlc19sb2FkZXJfaXNfTm9uZShzZWxmKToKICAgICAgICAgIyBJZiBzeXMubW9kdWxlc1tuYW1lXS5fX2xvYWRlcl9fIGlzIE5vbmUsIHJhaXNlIFZhbHVlRXJyb3IuCiAgICAgICAgIG5hbWUgPSAnc29tZV9tb2QnCi0gICAgICAgIHdpdGggdXRpbC51bmNhY2hlKG5hbWUpOgorICAgICAgICB3aXRoIHRlc3RfdXRpbC51bmNhY2hlKG5hbWUpOgogICAgICAgICAgICAgbW9kdWxlID0gdHlwZXMuTW9kdWxlVHlwZShuYW1lKQogICAgICAgICAgICAgbW9kdWxlLl9fbG9hZGVyX18gPSBOb25lCiAgICAgICAgICAgICBzeXMubW9kdWxlc1tuYW1lXSA9IG1vZHVsZQpAQCAtMTMzLDcgKzEzMiw3IEBACiAgICAgICAgICMgU2hvdWxkIHJhaXNlIFZhbHVlRXJyb3IKICAgICAgICAgIyBJc3N1ZSAjMTcwOTkKICAgICAgICAgbmFtZSA9ICdzb21lX21vZCcKLSAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUobmFtZSk6CisgICAgICAgIHdpdGggdGVzdF91dGlsLnVuY2FjaGUobmFtZSk6CiAgICAgICAgICAgICBtb2R1bGUgPSB0eXBlcy5Nb2R1bGVUeXBlKG5hbWUpCiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgZGVsIG1vZHVsZS5fX2xvYWRlcl9fCkBAIC0xNDgsOCArMTQ3LDggQEAKICAgICBkZWYgdGVzdF9zdWNjZXNzKHNlbGYpOgogICAgICAgICAjIFJldHVybiB0aGUgbG9hZGVyIGZvdW5kIG9uIHN5cy5tZXRhX3BhdGguCiAgICAgICAgIG5hbWUgPSAnc29tZV9tb2QnCi0gICAgICAgIHdpdGggdXRpbC51bmNhY2hlKG5hbWUpOgotICAgICAgICAgICAgd2l0aCB1dGlsLmltcG9ydF9zdGF0ZShtZXRhX3BhdGg9W3NlbGYuRmFrZU1ldGFGaW5kZXJdKToKKyAgICAgICAgd2l0aCB0ZXN0X3V0aWwudW5jYWNoZShuYW1lKToKKyAgICAgICAgICAgIHdpdGggdGVzdF91dGlsLmltcG9ydF9zdGF0ZShtZXRhX3BhdGg9W3NlbGYuRmFrZU1ldGFGaW5kZXJdKToKICAgICAgICAgICAgICAgICB3aXRoIHdhcm5pbmdzLmNhdGNoX3dhcm5pbmdzKCk6CiAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdzLnNpbXBsZWZpbHRlcignaWdub3JlJywgRGVwcmVjYXRpb25XYXJuaW5nKQogICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKChuYW1lLCBOb25lKSwgc2VsZi5pbml0LmZpbmRfbG9hZGVyKG5hbWUpKQpAQCAtMTU4LDggKzE1Nyw4IEBACiAgICAgICAgICMgU2VhcmNoaW5nIG9uIGEgcGF0aCBzaG91bGQgd29yay4KICAgICAgICAgbmFtZSA9ICdzb21lX21vZCcKICAgICAgICAgcGF0aCA9ICdwYXRoIHRvIHNvbWUgcGxhY2UnCi0gICAgICAgIHdpdGggdXRpbC51bmNhY2hlKG5hbWUpOgotICAgICAgICAgICAgd2l0aCB1dGlsLmltcG9ydF9zdGF0ZShtZXRhX3BhdGg9W3NlbGYuRmFrZU1ldGFGaW5kZXJdKToKKyAgICAgICAgd2l0aCB0ZXN0X3V0aWwudW5jYWNoZShuYW1lKToKKyAgICAgICAgICAgIHdpdGggdGVzdF91dGlsLmltcG9ydF9zdGF0ZShtZXRhX3BhdGg9W3NlbGYuRmFrZU1ldGFGaW5kZXJdKToKICAgICAgICAgICAgICAgICB3aXRoIHdhcm5pbmdzLmNhdGNoX3dhcm5pbmdzKCk6CiAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdzLnNpbXBsZWZpbHRlcignaWdub3JlJywgRGVwcmVjYXRpb25XYXJuaW5nKQogICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKChuYW1lLCBwYXRoKSwKQEAgLTE3MSwxMSArMTcwLDEwIEBACiAgICAgICAgICAgICB3YXJuaW5ncy5zaW1wbGVmaWx0ZXIoJ2lnbm9yZScsIERlcHJlY2F0aW9uV2FybmluZykKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHNlbGYuaW5pdC5maW5kX2xvYWRlcignbmV2ZXJnb2luZ3RvZmluZHRoaXNtb2R1bGUnKSkKIAotY2xhc3MgRnJvemVuX0ZpbmRMb2FkZXJUZXN0cyhGaW5kTG9hZGVyVGVzdHMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICBpbml0ID0gZnJvemVuX2luaXQKIAotY2xhc3MgU291cmNlX0ZpbmRMb2FkZXJUZXN0cyhGaW5kTG9hZGVyVGVzdHMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICBpbml0ID0gc291cmNlX2luaXQKKyhGcm96ZW5fRmluZExvYWRlclRlc3RzLAorIFNvdXJjZV9GaW5kTG9hZGVyVGVzdHMKKyApID0gdGVzdF91dGlsLnRlc3RfYm90aChGaW5kTG9hZGVyVGVzdHMsIGluaXQ9aW5pdCkKIAogCiBjbGFzcyBSZWxvYWRUZXN0czoKQEAgLTE5NSwxMCArMTkzLDEwIEBACiAgICAgICAgICAgICBtb2R1bGUgPSB0eXBlKHN5cykoJ3RvcF9sZXZlbCcpCiAgICAgICAgICAgICBtb2R1bGUuc3BhbSA9IDMKICAgICAgICAgICAgIHN5cy5tb2R1bGVzWyd0b3BfbGV2ZWwnXSA9IG1vZHVsZQotICAgICAgICBtb2NrID0gdXRpbC5tb2NrX21vZHVsZXMoJ3RvcF9sZXZlbCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2R1bGVfY29kZT17J3RvcF9sZXZlbCc6IGNvZGV9KQorICAgICAgICBtb2NrID0gdGVzdF91dGlsLm1vY2tfbW9kdWxlcygndG9wX2xldmVsJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kdWxlX2NvZGU9eyd0b3BfbGV2ZWwnOiBjb2RlfSkKICAgICAgICAgd2l0aCBtb2NrOgotICAgICAgICAgICAgd2l0aCB1dGlsLmltcG9ydF9zdGF0ZShtZXRhX3BhdGg9W21vY2tdKToKKyAgICAgICAgICAgIHdpdGggdGVzdF91dGlsLmltcG9ydF9zdGF0ZShtZXRhX3BhdGg9W21vY2tdKToKICAgICAgICAgICAgICAgICBtb2R1bGUgPSBzZWxmLmluaXQuaW1wb3J0X21vZHVsZSgndG9wX2xldmVsJykKICAgICAgICAgICAgICAgICByZWxvYWRlZCA9IHNlbGYuaW5pdC5yZWxvYWQobW9kdWxlKQogICAgICAgICAgICAgICAgIGFjdHVhbCA9IHN5cy5tb2R1bGVzWyd0b3BfbGV2ZWwnXQpAQCAtMjMwLDcgKzIyOCw3IEBACiAgICAgZGVmIHRlc3RfcmVsb2FkX2xvY2F0aW9uX2NoYW5nZWQoc2VsZik6CiAgICAgICAgIG5hbWUgPSAnc3BhbScKICAgICAgICAgd2l0aCBzdXBwb3J0LnRlbXBfY3dkKE5vbmUpIGFzIGN3ZDoKLSAgICAgICAgICAgIHdpdGggdXRpbC51bmNhY2hlKCdzcGFtJyk6CisgICAgICAgICAgICB3aXRoIHRlc3RfdXRpbC51bmNhY2hlKCdzcGFtJyk6CiAgICAgICAgICAgICAgICAgd2l0aCBzdXBwb3J0LkRpcnNPblN5c1BhdGgoY3dkKToKICAgICAgICAgICAgICAgICAgICAgIyBTdGFydCBhcyBhIHBsYWluIG1vZHVsZS4KICAgICAgICAgICAgICAgICAgICAgc2VsZi5pbml0LmludmFsaWRhdGVfY2FjaGVzKCkKQEAgLTI4MSw3ICsyNzksNyBAQAogICAgIGRlZiB0ZXN0X3JlbG9hZF9uYW1lc3BhY2VfY2hhbmdlZChzZWxmKToKICAgICAgICAgbmFtZSA9ICdzcGFtJwogICAgICAgICB3aXRoIHN1cHBvcnQudGVtcF9jd2QoTm9uZSkgYXMgY3dkOgotICAgICAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUoJ3NwYW0nKToKKyAgICAgICAgICAgIHdpdGggdGVzdF91dGlsLnVuY2FjaGUoJ3NwYW0nKToKICAgICAgICAgICAgICAgICB3aXRoIHN1cHBvcnQuRGlyc09uU3lzUGF0aChjd2QpOgogICAgICAgICAgICAgICAgICAgICAjIFN0YXJ0IGFzIGEgbmFtZXNwYWNlIHBhY2thZ2UuCiAgICAgICAgICAgICAgICAgICAgIHNlbGYuaW5pdC5pbnZhbGlkYXRlX2NhY2hlcygpCkBAIC0zMzgsMjAgKzMzNiwxNiBAQAogICAgICAgICAjIFNlZSAjMTk4NTEuCiAgICAgICAgIG5hbWUgPSAnc3BhbScKICAgICAgICAgc3VibmFtZSA9ICdoYW0nCi0gICAgICAgIHdpdGggdXRpbC50ZW1wX21vZHVsZShuYW1lLCBwa2c9VHJ1ZSkgYXMgcGtnX2RpcjoKLSAgICAgICAgICAgIGZ1bGxuYW1lLCBfID0gdXRpbC5zdWJtb2R1bGUobmFtZSwgc3VibmFtZSwgcGtnX2RpcikKKyAgICAgICAgd2l0aCB0ZXN0X3V0aWwudGVtcF9tb2R1bGUobmFtZSwgcGtnPVRydWUpIGFzIHBrZ19kaXI6CisgICAgICAgICAgICBmdWxsbmFtZSwgXyA9IHRlc3RfdXRpbC5zdWJtb2R1bGUobmFtZSwgc3VibmFtZSwgcGtnX2RpcikKICAgICAgICAgICAgIGhhbSA9IHNlbGYuaW5pdC5pbXBvcnRfbW9kdWxlKGZ1bGxuYW1lKQogICAgICAgICAgICAgcmVsb2FkZWQgPSBzZWxmLmluaXQucmVsb2FkKGhhbSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMocmVsb2FkZWQsIGhhbSkKIAogCi1jbGFzcyBGcm96ZW5fUmVsb2FkVGVzdHMoUmVsb2FkVGVzdHMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICBpbml0ID0gZnJvemVuX2luaXQKLSAgICB1dGlsID0gZnJvemVuX3V0aWwKLQotY2xhc3MgU291cmNlX1JlbG9hZFRlc3RzKFJlbG9hZFRlc3RzLCB1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgaW5pdCA9IHNvdXJjZV9pbml0Ci0gICAgdXRpbCA9IHNvdXJjZV91dGlsCisoRnJvemVuX1JlbG9hZFRlc3RzLAorIFNvdXJjZV9SZWxvYWRUZXN0cworICkgPSB0ZXN0X3V0aWwudGVzdF9ib3RoKFJlbG9hZFRlc3RzLCBpbml0PWluaXQsIHV0aWw9dXRpbCkKIAogCiBjbGFzcyBJbnZhbGlkYXRlQ2FjaGVUZXN0czoKQEAgLTM4NCwxMSArMzc4LDEwIEBACiAgICAgICAgIHNlbGYuYWRkQ2xlYW51cChsYW1iZGE6IHN5cy5wYXRoX2ltcG9ydGVyX2NhY2hlLl9fZGVsaXRlbV9fKGtleSkpCiAgICAgICAgIHNlbGYuaW5pdC5pbnZhbGlkYXRlX2NhY2hlcygpICAjIFNob3VsZG4ndCB0cmlnZ2VyIGFuIGV4Y2VwdGlvbi4KIAotY2xhc3MgRnJvemVuX0ludmFsaWRhdGVDYWNoZVRlc3RzKEludmFsaWRhdGVDYWNoZVRlc3RzLCB1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgaW5pdCA9IGZyb3plbl9pbml0CiAKLWNsYXNzIFNvdXJjZV9JbnZhbGlkYXRlQ2FjaGVUZXN0cyhJbnZhbGlkYXRlQ2FjaGVUZXN0cywgdW5pdHRlc3QuVGVzdENhc2UpOgotICAgIGluaXQgPSBzb3VyY2VfaW5pdAorKEZyb3plbl9JbnZhbGlkYXRlQ2FjaGVUZXN0cywKKyBTb3VyY2VfSW52YWxpZGF0ZUNhY2hlVGVzdHMKKyApID0gdGVzdF91dGlsLnRlc3RfYm90aChJbnZhbGlkYXRlQ2FjaGVUZXN0cywgaW5pdD1pbml0KQogCiAKIGNsYXNzIEZyb3plbkltcG9ydGxpYlRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKQEAgLTM5OCw2ICszOTEsNyBAQAogICAgICAgICAjIENhbid0IGRvIGFuIGlzaW5zdGFuY2UoKSBjaGVjayBzaW5jZSBzZXBhcmF0ZSBjb3BpZXMgb2YgaW1wb3J0bGliCiAgICAgICAgICMgbWF5IGhhdmUgYmVlbiB1c2VkIGZvciBpbXBvcnQsIHNvIGp1c3QgY2hlY2sgdGhlIG5hbWUgaXMgbm90IGZvciB0aGUKICAgICAgICAgIyBmcm96ZW4gbG9hZGVyLgorICAgICAgICBzb3VyY2VfaW5pdCA9IGluaXRbJ1NvdXJjZSddCiAgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoc291cmNlX2luaXQuX19sb2FkZXJfXy5fX2NsYXNzX18uX19uYW1lX18sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Zyb3plbkltcG9ydGVyJykKIApAQCAtNDI2LDExICs0MjAsMTAgQEAKICAgICAgICAgICAgICAgICAgICAgZWxpZiBzZWxmLm1hY2hpbmVyeS5Gcm96ZW5JbXBvcnRlci5maW5kX21vZHVsZShuYW1lKToKICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb3QobW9kdWxlLl9fc3BlY19fLCBOb25lKQogCi1jbGFzcyBGcm96ZW5fU3RhcnR1cFRlc3RzKFN0YXJ0dXBUZXN0cywgdW5pdHRlc3QuVGVzdENhc2UpOgotICAgIG1hY2hpbmVyeSA9IGZyb3plbl9tYWNoaW5lcnkKIAotY2xhc3MgU291cmNlX1N0YXJ0dXBUZXN0cyhTdGFydHVwVGVzdHMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICBtYWNoaW5lcnkgPSBzb3VyY2VfbWFjaGluZXJ5CisoRnJvemVuX1N0YXJ0dXBUZXN0cywKKyBTb3VyY2VfU3RhcnR1cFRlc3RzCisgKSA9IHRlc3RfdXRpbC50ZXN0X2JvdGgoU3RhcnR1cFRlc3RzLCBtYWNoaW5lcnk9bWFjaGluZXJ5KQogCiAKIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi90ZXN0X2xhenkucHkgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi90ZXN0X2xhenkucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmUxOTFiYgotLS0gL2Rldi9udWxsCisrKyBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3Rlc3RfbGF6eS5weQpAQCAtMCwwICsxLDEzMiBAQAoraW1wb3J0IGltcG9ydGxpYgorZnJvbSBpbXBvcnRsaWIgaW1wb3J0IGFiYworZnJvbSBpbXBvcnRsaWIgaW1wb3J0IHV0aWwKK2ltcG9ydCB1bml0dGVzdAorCitmcm9tIC4gaW1wb3J0IHV0aWwgYXMgdGVzdF91dGlsCisKKworY2xhc3MgQ29sbGVjdEluaXQ6CisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgc2VsZi5hcmdzID0gYXJncworICAgICAgICBzZWxmLmt3YXJncyA9IGt3YXJncworCisgICAgZGVmIGV4ZWNfbW9kdWxlKHNlbGYsIG1vZHVsZSk6CisgICAgICAgIHJldHVybiBzZWxmCisKKworY2xhc3MgTGF6eUxvYWRlckZhY3RvcnlUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICBkZWYgdGVzdF9pbml0KHNlbGYpOgorICAgICAgICBmYWN0b3J5ID0gdXRpbC5MYXp5TG9hZGVyLmZhY3RvcnkoQ29sbGVjdEluaXQpCisgICAgICAgICMgRS5nLiB3aGF0IGltcG9ydGxpYi5tYWNoaW5lcnkuRmlsZUZpbmRlciBpbnN0YW50aWF0ZXMgbG9hZGVycyB3aXRoCisgICAgICAgICMgcGx1cyBrZXl3b3JkIGFyZ3VtZW50cy4KKyAgICAgICAgbGF6eV9sb2FkZXIgPSBmYWN0b3J5KCdtb2R1bGUgbmFtZScsICdtb2R1bGUgcGF0aCcsIGt3PSdrdycpCisgICAgICAgIGxvYWRlciA9IGxhenlfbG9hZGVyLmxvYWRlcgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCgnbW9kdWxlIG5hbWUnLCAnbW9kdWxlIHBhdGgnKSwgbG9hZGVyLmFyZ3MpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoeydrdyc6ICdrdyd9LCBsb2FkZXIua3dhcmdzKQorCisgICAgZGVmIHRlc3RfdmFsaWRhdGlvbihzZWxmKToKKyAgICAgICAgIyBObyBleGVjX21vZHVsZSgpLCBubyBsYXp5IGxvYWRpbmcuCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yKToKKyAgICAgICAgICAgIHV0aWwuTGF6eUxvYWRlci5mYWN0b3J5KG9iamVjdCkKKworCitjbGFzcyBUZXN0aW5nSW1wb3J0ZXIoYWJjLk1ldGFQYXRoRmluZGVyLCBhYmMuTG9hZGVyKToKKworICAgIG1vZHVsZV9uYW1lID0gJ2xhenlfbG9hZGVyX3Rlc3QnCisgICAgbXV0YXRlZF9uYW1lID0gJ2NoYW5nZWQnCisgICAgbG9hZGVkID0gTm9uZQorICAgIHNvdXJjZV9jb2RlID0gJ2F0dHIgPSA0MjsgX19uYW1lX18gPSB7IXJ9Jy5mb3JtYXQobXV0YXRlZF9uYW1lKQorCisgICAgZGVmIGZpbmRfc3BlYyhzZWxmLCBuYW1lLCBwYXRoLCB0YXJnZXQ9Tm9uZSk6CisgICAgICAgIGlmIG5hbWUgIT0gc2VsZi5tb2R1bGVfbmFtZToKKyAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgIHJldHVybiB1dGlsLnNwZWNfZnJvbV9sb2FkZXIobmFtZSwgdXRpbC5MYXp5TG9hZGVyKHNlbGYpKQorCisgICAgZGVmIGV4ZWNfbW9kdWxlKHNlbGYsIG1vZHVsZSk6CisgICAgICAgIGV4ZWMoc2VsZi5zb3VyY2VfY29kZSwgbW9kdWxlLl9fZGljdF9fKQorICAgICAgICBzZWxmLmxvYWRlZCA9IG1vZHVsZQorCisKK2NsYXNzIExhenlMb2FkZXJUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICBkZWYgdGVzdF9pbml0KHNlbGYpOgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvcik6CisgICAgICAgICAgICB1dGlsLkxhenlMb2FkZXIob2JqZWN0KQorCisgICAgZGVmIG5ld19tb2R1bGUoc2VsZiwgc291cmNlX2NvZGU9Tm9uZSk6CisgICAgICAgIGxvYWRlciA9IFRlc3RpbmdJbXBvcnRlcigpCisgICAgICAgIGlmIHNvdXJjZV9jb2RlIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgbG9hZGVyLnNvdXJjZV9jb2RlID0gc291cmNlX2NvZGUKKyAgICAgICAgc3BlYyA9IHV0aWwuc3BlY19mcm9tX2xvYWRlcihUZXN0aW5nSW1wb3J0ZXIubW9kdWxlX25hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXRpbC5MYXp5TG9hZGVyKGxvYWRlcikpCisgICAgICAgIG1vZHVsZSA9IHNwZWMubG9hZGVyLmNyZWF0ZV9tb2R1bGUoc3BlYykKKyAgICAgICAgbW9kdWxlLl9fc3BlY19fID0gc3BlYworICAgICAgICBtb2R1bGUuX19sb2FkZXJfXyA9IHNwZWMubG9hZGVyCisgICAgICAgIHNwZWMubG9hZGVyLmV4ZWNfbW9kdWxlKG1vZHVsZSkKKyAgICAgICAgIyBNb2R1bGUgaXMgbm93IGxhenkuCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKGxvYWRlci5sb2FkZWQpCisgICAgICAgIHJldHVybiBtb2R1bGUKKworICAgIGRlZiB0ZXN0X2UyZShzZWxmKToKKyAgICAgICAgIyBFbmQtdG8tZW5kIHRlc3QgdG8gdmVyaWZ5IHRoZSBsb2FkIGlzIGluIGZhY3QgbGF6eS4KKyAgICAgICAgaW1wb3J0ZXIgPSBUZXN0aW5nSW1wb3J0ZXIoKQorICAgICAgICBhc3NlcnQgaW1wb3J0ZXIubG9hZGVkIGlzIE5vbmUKKyAgICAgICAgd2l0aCB0ZXN0X3V0aWwudW5jYWNoZShpbXBvcnRlci5tb2R1bGVfbmFtZSk6CisgICAgICAgICAgICB3aXRoIHRlc3RfdXRpbC5pbXBvcnRfc3RhdGUobWV0YV9wYXRoPVtpbXBvcnRlcl0pOgorICAgICAgICAgICAgICAgIG1vZHVsZSA9IGltcG9ydGxpYi5pbXBvcnRfbW9kdWxlKGltcG9ydGVyLm1vZHVsZV9uYW1lKQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShpbXBvcnRlci5sb2FkZWQpCisgICAgICAgICMgVHJpZ2dlciBsb2FkLgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZS5fX2xvYWRlcl9fLCBpbXBvcnRlcikKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vdE5vbmUoaW1wb3J0ZXIubG9hZGVkKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZSwgaW1wb3J0ZXIubG9hZGVkKQorCisgICAgZGVmIHRlc3RfYXR0cl91bmNoYW5nZWQoc2VsZik6CisgICAgICAgICMgQW4gYXR0cmlidXRlIG9ubHkgbXV0YXRlZCBhcyBhIHNpZGUtZWZmZWN0IG9mIGltcG9ydCBzaG91bGQgbm90IGJlCisgICAgICAgICMgY2hhbmdlZCBuZWVkbGVzc2x5LgorICAgICAgICBtb2R1bGUgPSBzZWxmLm5ld19tb2R1bGUoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFRlc3RpbmdJbXBvcnRlci5tdXRhdGVkX25hbWUsIG1vZHVsZS5fX25hbWVfXykKKworICAgIGRlZiB0ZXN0X25ld19hdHRyKHNlbGYpOgorICAgICAgICAjIEEgbmV3IGF0dHJpYnV0ZSBzaG91bGQgcGVyc2lzdC4KKyAgICAgICAgbW9kdWxlID0gc2VsZi5uZXdfbW9kdWxlKCkKKyAgICAgICAgbW9kdWxlLm5ld19hdHRyID0gNDIKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCg0MiwgbW9kdWxlLm5ld19hdHRyKQorCisgICAgZGVmIHRlc3RfbXV0YXRlZF9wcmVleGlzdGluZ19hdHRyKHNlbGYpOgorICAgICAgICAjIENoYW5naW5nIGFuIGF0dHJpYnV0ZSB0aGF0IGFscmVhZHkgZXhpc3RlZCBvbiB0aGUgbW9kdWxlIC0tCisgICAgICAgICMgZS5nLiBfX25hbWVfXyAtLSBzaG91bGQgcGVyc2lzdC4KKyAgICAgICAgbW9kdWxlID0gc2VsZi5uZXdfbW9kdWxlKCkKKyAgICAgICAgbW9kdWxlLl9fbmFtZV9fID0gJ2JvZ3VzJworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdib2d1cycsIG1vZHVsZS5fX25hbWVfXykKKworICAgIGRlZiB0ZXN0X211dGF0ZWRfYXR0cihzZWxmKToKKyAgICAgICAgIyBDaGFuZ2luZyBhbiBhdHRyaWJ1dGUgdGhhdCBjb21lcyBpbnRvIGV4aXN0ZW5jZSBhZnRlciBhbiBpbXBvcnQKKyAgICAgICAgIyBzaG91bGQgcGVyc2lzdC4KKyAgICAgICAgbW9kdWxlID0gc2VsZi5uZXdfbW9kdWxlKCkKKyAgICAgICAgbW9kdWxlLmF0dHIgPSA2CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoNiwgbW9kdWxlLmF0dHIpCisKKyAgICBkZWYgdGVzdF9kZWxldGVfZXZlbnR1YWxfYXR0cihzZWxmKToKKyAgICAgICAgIyBEZWxldGluZyBhbiBhdHRyaWJ1dGUgc2hvdWxkIHN0YXkgZGVsZXRlZC4KKyAgICAgICAgbW9kdWxlID0gc2VsZi5uZXdfbW9kdWxlKCkKKyAgICAgICAgZGVsIG1vZHVsZS5hdHRyCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaGFzYXR0cihtb2R1bGUsICdhdHRyJykpCisKKyAgICBkZWYgdGVzdF9kZWxldGVfcHJlZXhpc3RpbmdfYXR0cihzZWxmKToKKyAgICAgICAgbW9kdWxlID0gc2VsZi5uZXdfbW9kdWxlKCkKKyAgICAgICAgZGVsIG1vZHVsZS5fX25hbWVfXworICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGhhc2F0dHIobW9kdWxlLCAnX19uYW1lX18nKSkKKworICAgIGRlZiB0ZXN0X21vZHVsZV9zdWJzdGl0dXRpb25fZXJyb3Ioc2VsZik6CisgICAgICAgIHNvdXJjZV9jb2RlID0gJ2ltcG9ydCBzeXM7IHN5cy5tb2R1bGVzW19fbmFtZV9fXSA9IDQyJworICAgICAgICBtb2R1bGUgPSBzZWxmLm5ld19tb2R1bGUoc291cmNlX2NvZGUpCisgICAgICAgIHdpdGggdGVzdF91dGlsLnVuY2FjaGUoVGVzdGluZ0ltcG9ydGVyLm1vZHVsZV9uYW1lKToKKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcik6CisgICAgICAgICAgICAgICAgbW9kdWxlLl9fbmFtZV9fCisKKworaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKKyAgICB1bml0dGVzdC5tYWluKCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3Rlc3RfbG9ja3MucHkgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi90ZXN0X2xvY2tzLnB5CmluZGV4IGRjOTdiYTEuLmRmMGFmMTIgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3Rlc3RfbG9ja3MucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvdGVzdF9sb2Nrcy5weQpAQCAtMSw3ICsxLDYgQEAKLWZyb20gLiBpbXBvcnQgdXRpbAotZnJvemVuX2luaXQsIHNvdXJjZV9pbml0ID0gdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWInKQotZnJvemVuX2Jvb3RzdHJhcCA9IGZyb3plbl9pbml0Ll9ib290c3RyYXAKLXNvdXJjZV9ib290c3RyYXAgPSBzb3VyY2VfaW5pdC5fYm9vdHN0cmFwCitmcm9tIC4gaW1wb3J0IHV0aWwgYXMgdGVzdF91dGlsCisKK2luaXQgPSB0ZXN0X3V0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliJykKIAogaW1wb3J0IHN5cwogaW1wb3J0IHRpbWUKQEAgLTMyLDE0ICszMSwyMCBAQAogICAgICAgICB0ZXN0X3RpbWVvdXQgPSBOb25lCiAgICAgICAgICMgX3JlbGVhc2Vfc2F2ZSgpIHVuc3VwcG9ydGVkCiAgICAgICAgIHRlc3RfcmVsZWFzZV9zYXZlX3VuYWNxdWlyZWQgPSBOb25lCisgICAgICAgICMgbG9jayBzdGF0dXMgaW4gcmVwciB1bnN1cHBvcnRlZAorICAgICAgICB0ZXN0X3JlcHIgPSBOb25lCisgICAgICAgIHRlc3RfbG9ja2VkX3JlcHIgPSBOb25lCiAKLSAgICBjbGFzcyBGcm96ZW5fTW9kdWxlTG9ja0FzUkxvY2tUZXN0cyhNb2R1bGVMb2NrQXNSTG9ja1Rlc3RzLCBsb2NrX3Rlc3RzLlJMb2NrVGVzdHMpOgotICAgICAgICBMb2NrVHlwZSA9IGZyb3plbl9ib290c3RyYXAuX01vZHVsZUxvY2sKKyAgICBMT0NLX1RZUEVTID0ge2tpbmQ6IHNwbGl0aW5pdC5fYm9vdHN0cmFwLl9Nb2R1bGVMb2NrCisgICAgICAgICAgICAgICAgICBmb3Iga2luZCwgc3BsaXRpbml0IGluIGluaXQuaXRlbXMoKX0KIAotICAgIGNsYXNzIFNvdXJjZV9Nb2R1bGVMb2NrQXNSTG9ja1Rlc3RzKE1vZHVsZUxvY2tBc1JMb2NrVGVzdHMsIGxvY2tfdGVzdHMuUkxvY2tUZXN0cyk6Ci0gICAgICAgIExvY2tUeXBlID0gc291cmNlX2Jvb3RzdHJhcC5fTW9kdWxlTG9jawotCisgICAgKEZyb3plbl9Nb2R1bGVMb2NrQXNSTG9ja1Rlc3RzLAorICAgICBTb3VyY2VfTW9kdWxlTG9ja0FzUkxvY2tUZXN0cworICAgICApID0gdGVzdF91dGlsLnRlc3RfYm90aChNb2R1bGVMb2NrQXNSTG9ja1Rlc3RzLCBsb2NrX3Rlc3RzLlJMb2NrVGVzdHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2tUeXBlPUxPQ0tfVFlQRVMpCiBlbHNlOgorICAgIExPQ0tfVFlQRVMgPSB7fQorCiAgICAgY2xhc3MgRnJvemVuX01vZHVsZUxvY2tBc1JMb2NrVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBwYXNzCiAKQEAgLTQ3LDc4ICs1Miw5NCBAQAogICAgICAgICBwYXNzCiAKIAotY2xhc3MgRGVhZGxvY2tBdm9pZGFuY2VUZXN0czoKK2lmIHRocmVhZGluZyBpcyBub3QgTm9uZToKKyAgICBjbGFzcyBEZWFkbG9ja0F2b2lkYW5jZVRlc3RzOgogCi0gICAgZGVmIHNldFVwKHNlbGYpOgotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBzZWxmLm9sZF9zd2l0Y2hpbnRlcnZhbCA9IHN5cy5nZXRzd2l0Y2hpbnRlcnZhbCgpCi0gICAgICAgICAgICBzeXMuc2V0c3dpdGNoaW50ZXJ2YWwoMC4wMDAwMDEpCi0gICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKLSAgICAgICAgICAgIHNlbGYub2xkX3N3aXRjaGludGVydmFsID0gTm9uZQotCi0gICAgZGVmIHRlYXJEb3duKHNlbGYpOgotICAgICAgICBpZiBzZWxmLm9sZF9zd2l0Y2hpbnRlcnZhbCBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIHN5cy5zZXRzd2l0Y2hpbnRlcnZhbChzZWxmLm9sZF9zd2l0Y2hpbnRlcnZhbCkKLQotICAgIGRlZiBydW5fZGVhZGxvY2tfYXZvaWRhbmNlX3Rlc3Qoc2VsZiwgY3JlYXRlX2RlYWRsb2NrKToKLSAgICAgICAgTkxPQ0tTID0gMTAKLSAgICAgICAgbG9ja3MgPSBbc2VsZi5Mb2NrVHlwZShzdHIoaSkpIGZvciBpIGluIHJhbmdlKE5MT0NLUyldCi0gICAgICAgIHBhaXJzID0gWyhsb2Nrc1tpXSwgbG9ja3NbKGkrMSklTkxPQ0tTXSkgZm9yIGkgaW4gcmFuZ2UoTkxPQ0tTKV0KLSAgICAgICAgaWYgY3JlYXRlX2RlYWRsb2NrOgotICAgICAgICAgICAgTlRIUkVBRFMgPSBOTE9DS1MKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIE5USFJFQURTID0gTkxPQ0tTIC0gMQotICAgICAgICBiYXJyaWVyID0gdGhyZWFkaW5nLkJhcnJpZXIoTlRIUkVBRFMpCi0gICAgICAgIHJlc3VsdHMgPSBbXQotICAgICAgICBkZWYgX2FjcXVpcmUobG9jayk6Ci0gICAgICAgICAgICAiIiJUcnkgdG8gYWNxdWlyZSB0aGUgbG9jay4gUmV0dXJuIFRydWUgb24gc3VjY2VzcywgRmFsc2Ugb24gZGVhZGxvY2suIiIiCisgICAgICAgIGRlZiBzZXRVcChzZWxmKToKICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBsb2NrLmFjcXVpcmUoKQotICAgICAgICAgICAgZXhjZXB0IHNlbGYuRGVhZGxvY2tFcnJvcjoKLSAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgICAgICAgICBzZWxmLm9sZF9zd2l0Y2hpbnRlcnZhbCA9IHN5cy5nZXRzd2l0Y2hpbnRlcnZhbCgpCisgICAgICAgICAgICAgICAgc3lzLnNldHN3aXRjaGludGVydmFsKDAuMDAwMDAxKQorICAgICAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgorICAgICAgICAgICAgICAgIHNlbGYub2xkX3N3aXRjaGludGVydmFsID0gTm9uZQorCisgICAgICAgIGRlZiB0ZWFyRG93bihzZWxmKToKKyAgICAgICAgICAgIGlmIHNlbGYub2xkX3N3aXRjaGludGVydmFsIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgIHN5cy5zZXRzd2l0Y2hpbnRlcnZhbChzZWxmLm9sZF9zd2l0Y2hpbnRlcnZhbCkKKworICAgICAgICBkZWYgcnVuX2RlYWRsb2NrX2F2b2lkYW5jZV90ZXN0KHNlbGYsIGNyZWF0ZV9kZWFkbG9jayk6CisgICAgICAgICAgICBOTE9DS1MgPSAxMAorICAgICAgICAgICAgbG9ja3MgPSBbc2VsZi5Mb2NrVHlwZShzdHIoaSkpIGZvciBpIGluIHJhbmdlKE5MT0NLUyldCisgICAgICAgICAgICBwYWlycyA9IFsobG9ja3NbaV0sIGxvY2tzWyhpKzEpJU5MT0NLU10pIGZvciBpIGluIHJhbmdlKE5MT0NLUyldCisgICAgICAgICAgICBpZiBjcmVhdGVfZGVhZGxvY2s6CisgICAgICAgICAgICAgICAgTlRIUkVBRFMgPSBOTE9DS1MKICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKLSAgICAgICAgZGVmIGYoKToKLSAgICAgICAgICAgIGEsIGIgPSBwYWlycy5wb3AoKQotICAgICAgICAgICAgcmEgPSBfYWNxdWlyZShhKQotICAgICAgICAgICAgYmFycmllci53YWl0KCkKLSAgICAgICAgICAgIHJiID0gX2FjcXVpcmUoYikKLSAgICAgICAgICAgIHJlc3VsdHMuYXBwZW5kKChyYSwgcmIpKQotICAgICAgICAgICAgaWYgcmI6Ci0gICAgICAgICAgICAgICAgYi5yZWxlYXNlKCkKLSAgICAgICAgICAgIGlmIHJhOgotICAgICAgICAgICAgICAgIGEucmVsZWFzZSgpCi0gICAgICAgIGxvY2tfdGVzdHMuQnVuY2goZiwgTlRIUkVBRFMpLndhaXRfZm9yX2ZpbmlzaGVkKCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4ocmVzdWx0cyksIE5USFJFQURTKQotICAgICAgICByZXR1cm4gcmVzdWx0cworICAgICAgICAgICAgICAgIE5USFJFQURTID0gTkxPQ0tTIC0gMQorICAgICAgICAgICAgYmFycmllciA9IHRocmVhZGluZy5CYXJyaWVyKE5USFJFQURTKQorICAgICAgICAgICAgcmVzdWx0cyA9IFtdCiAKLSAgICBkZWYgdGVzdF9kZWFkbG9jayhzZWxmKToKLSAgICAgICAgcmVzdWx0cyA9IHNlbGYucnVuX2RlYWRsb2NrX2F2b2lkYW5jZV90ZXN0KFRydWUpCi0gICAgICAgICMgQXQgbGVhc3Qgb25lIG9mIHRoZSB0aHJlYWRzIGRldGVjdGVkIGEgcG90ZW50aWFsIGRlYWRsb2NrIG9uIGl0cwotICAgICAgICAjIHNlY29uZCBhY3F1aXJlKCkgY2FsbC4gIEl0IG1heSBiZSBzZXZlcmFsIG9mIHRoZW0sIGJlY2F1c2UgdGhlCi0gICAgICAgICMgZGVhZGxvY2sgYXZvaWRhbmNlIG1lY2hhbmlzbSBpcyBjb25zZXJ2YXRpdmUuCi0gICAgICAgIG5iX2RlYWRsb2NrcyA9IHJlc3VsdHMuY291bnQoKFRydWUsIEZhbHNlKSkKLSAgICAgICAgc2VsZi5hc3NlcnRHcmVhdGVyRXF1YWwobmJfZGVhZGxvY2tzLCAxKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3VsdHMuY291bnQoKFRydWUsIFRydWUpKSwgbGVuKHJlc3VsdHMpIC0gbmJfZGVhZGxvY2tzKQorICAgICAgICAgICAgZGVmIF9hY3F1aXJlKGxvY2spOgorICAgICAgICAgICAgICAgICIiIlRyeSB0byBhY3F1aXJlIHRoZSBsb2NrLiBSZXR1cm4gVHJ1ZSBvbiBzdWNjZXNzLAorICAgICAgICAgICAgICAgIEZhbHNlIG9uIGRlYWRsb2NrLiIiIgorICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgbG9jay5hY3F1aXJlKCkKKyAgICAgICAgICAgICAgICBleGNlcHQgc2VsZi5EZWFkbG9ja0Vycm9yOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gVHJ1ZQogCi0gICAgZGVmIHRlc3Rfbm9fZGVhZGxvY2soc2VsZik6Ci0gICAgICAgIHJlc3VsdHMgPSBzZWxmLnJ1bl9kZWFkbG9ja19hdm9pZGFuY2VfdGVzdChGYWxzZSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXN1bHRzLmNvdW50KChUcnVlLCBGYWxzZSkpLCAwKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3VsdHMuY291bnQoKFRydWUsIFRydWUpKSwgbGVuKHJlc3VsdHMpKQorICAgICAgICAgICAgZGVmIGYoKToKKyAgICAgICAgICAgICAgICBhLCBiID0gcGFpcnMucG9wKCkKKyAgICAgICAgICAgICAgICByYSA9IF9hY3F1aXJlKGEpCisgICAgICAgICAgICAgICAgYmFycmllci53YWl0KCkKKyAgICAgICAgICAgICAgICByYiA9IF9hY3F1aXJlKGIpCisgICAgICAgICAgICAgICAgcmVzdWx0cy5hcHBlbmQoKHJhLCByYikpCisgICAgICAgICAgICAgICAgaWYgcmI6CisgICAgICAgICAgICAgICAgICAgIGIucmVsZWFzZSgpCisgICAgICAgICAgICAgICAgaWYgcmE6CisgICAgICAgICAgICAgICAgICAgIGEucmVsZWFzZSgpCisgICAgICAgICAgICBsb2NrX3Rlc3RzLkJ1bmNoKGYsIE5USFJFQURTKS53YWl0X2Zvcl9maW5pc2hlZCgpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihyZXN1bHRzKSwgTlRIUkVBRFMpCisgICAgICAgICAgICByZXR1cm4gcmVzdWx0cwogCi1AdW5pdHRlc3Quc2tpcFVubGVzcyh0aHJlYWRpbmcsICJ0aHJlYWRzIG5lZWRlZCBmb3IgdGhpcyB0ZXN0IikKLWNsYXNzIEZyb3plbl9EZWFkbG9ja0F2b2lkYW5jZVRlc3RzKERlYWRsb2NrQXZvaWRhbmNlVGVzdHMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICBMb2NrVHlwZSA9IGZyb3plbl9ib290c3RyYXAuX01vZHVsZUxvY2sKLSAgICBEZWFkbG9ja0Vycm9yID0gZnJvemVuX2Jvb3RzdHJhcC5fRGVhZGxvY2tFcnJvcgorICAgICAgICBkZWYgdGVzdF9kZWFkbG9jayhzZWxmKToKKyAgICAgICAgICAgIHJlc3VsdHMgPSBzZWxmLnJ1bl9kZWFkbG9ja19hdm9pZGFuY2VfdGVzdChUcnVlKQorICAgICAgICAgICAgIyBBdCBsZWFzdCBvbmUgb2YgdGhlIHRocmVhZHMgZGV0ZWN0ZWQgYSBwb3RlbnRpYWwgZGVhZGxvY2sgb24gaXRzCisgICAgICAgICAgICAjIHNlY29uZCBhY3F1aXJlKCkgY2FsbC4gIEl0IG1heSBiZSBzZXZlcmFsIG9mIHRoZW0sIGJlY2F1c2UgdGhlCisgICAgICAgICAgICAjIGRlYWRsb2NrIGF2b2lkYW5jZSBtZWNoYW5pc20gaXMgY29uc2VydmF0aXZlLgorICAgICAgICAgICAgbmJfZGVhZGxvY2tzID0gcmVzdWx0cy5jb3VudCgoVHJ1ZSwgRmFsc2UpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRHcmVhdGVyRXF1YWwobmJfZGVhZGxvY2tzLCAxKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXN1bHRzLmNvdW50KChUcnVlLCBUcnVlKSksIGxlbihyZXN1bHRzKSAtIG5iX2RlYWRsb2NrcykKIAotQHVuaXR0ZXN0LnNraXBVbmxlc3ModGhyZWFkaW5nLCAidGhyZWFkcyBuZWVkZWQgZm9yIHRoaXMgdGVzdCIpCi1jbGFzcyBTb3VyY2VfRGVhZGxvY2tBdm9pZGFuY2VUZXN0cyhEZWFkbG9ja0F2b2lkYW5jZVRlc3RzLCB1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgTG9ja1R5cGUgPSBzb3VyY2VfYm9vdHN0cmFwLl9Nb2R1bGVMb2NrCi0gICAgRGVhZGxvY2tFcnJvciA9IHNvdXJjZV9ib290c3RyYXAuX0RlYWRsb2NrRXJyb3IKKyAgICAgICAgZGVmIHRlc3Rfbm9fZGVhZGxvY2soc2VsZik6CisgICAgICAgICAgICByZXN1bHRzID0gc2VsZi5ydW5fZGVhZGxvY2tfYXZvaWRhbmNlX3Rlc3QoRmFsc2UpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3VsdHMuY291bnQoKFRydWUsIEZhbHNlKSksIDApCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3VsdHMuY291bnQoKFRydWUsIFRydWUpKSwgbGVuKHJlc3VsdHMpKQorCisKKyAgICBERUFETE9DS19FUlJPUlMgPSB7a2luZDogc3BsaXRpbml0Ll9ib290c3RyYXAuX0RlYWRsb2NrRXJyb3IKKyAgICAgICAgICAgICAgICAgICAgICAgZm9yIGtpbmQsIHNwbGl0aW5pdCBpbiBpbml0Lml0ZW1zKCl9CisKKyAgICAoRnJvemVuX0RlYWRsb2NrQXZvaWRhbmNlVGVzdHMsCisgICAgIFNvdXJjZV9EZWFkbG9ja0F2b2lkYW5jZVRlc3RzCisgICAgICkgPSB0ZXN0X3V0aWwudGVzdF9ib3RoKERlYWRsb2NrQXZvaWRhbmNlVGVzdHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2tUeXBlPUxPQ0tfVFlQRVMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlYWRsb2NrRXJyb3I9REVBRExPQ0tfRVJST1JTKQorZWxzZToKKyAgICBERUFETE9DS19FUlJPUlMgPSB7fQorCisgICAgY2xhc3MgRnJvemVuX0RlYWRsb2NrQXZvaWRhbmNlVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgorICAgICAgICBwYXNzCisKKyAgICBjbGFzcyBTb3VyY2VfRGVhZGxvY2tBdm9pZGFuY2VUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgICAgIHBhc3MKIAogCiBjbGFzcyBMaWZldGltZVRlc3RzOgogCisgICAgQHByb3BlcnR5CisgICAgZGVmIGJvb3RzdHJhcChzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYuaW5pdC5fYm9vdHN0cmFwCisKICAgICBkZWYgdGVzdF9sb2NrX2xpZmV0aW1lKHNlbGYpOgogICAgICAgICBuYW1lID0gInh5enp5IgogICAgICAgICBzZWxmLmFzc2VydE5vdEluKG5hbWUsIHNlbGYuYm9vdHN0cmFwLl9tb2R1bGVfbG9ja3MpCkBAIC0xMzUsMTEgKzE1NiwxMCBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDAsIGxlbihzZWxmLmJvb3RzdHJhcC5fbW9kdWxlX2xvY2tzKSwKICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmJvb3RzdHJhcC5fbW9kdWxlX2xvY2tzKQogCi1jbGFzcyBGcm96ZW5fTGlmZXRpbWVUZXN0cyhMaWZldGltZVRlc3RzLCB1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgYm9vdHN0cmFwID0gZnJvemVuX2Jvb3RzdHJhcAogCi1jbGFzcyBTb3VyY2VfTGlmZXRpbWVUZXN0cyhMaWZldGltZVRlc3RzLCB1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgYm9vdHN0cmFwID0gc291cmNlX2Jvb3RzdHJhcAorKEZyb3plbl9MaWZldGltZVRlc3RzLAorIFNvdXJjZV9MaWZldGltZVRlc3RzCisgKSA9IHRlc3RfdXRpbC50ZXN0X2JvdGgoTGlmZXRpbWVUZXN0cywgaW5pdD1pbml0KQogCiAKIEBzdXBwb3J0LnJlYXBfdGhyZWFkcwpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvdGVzdF9zcGVjLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvdGVzdF9zcGVjLnB5CmluZGV4IDcxNTQxZjYuLjhiMzMzZTggMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3Rlc3Rfc3BlYy5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi90ZXN0X3NwZWMucHkKQEAgLTEsMTAgKzEsOCBAQAotZnJvbSAuIGltcG9ydCB1dGlsCitmcm9tIC4gaW1wb3J0IHV0aWwgYXMgdGVzdF91dGlsCiAKLWZyb3plbl9pbml0LCBzb3VyY2VfaW5pdCA9IHV0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliJykKLWZyb3plbl9ib290c3RyYXAgPSBmcm96ZW5faW5pdC5fYm9vdHN0cmFwCi1zb3VyY2VfYm9vdHN0cmFwID0gc291cmNlX2luaXQuX2Jvb3RzdHJhcAotZnJvemVuX21hY2hpbmVyeSwgc291cmNlX21hY2hpbmVyeSA9IHV0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliLm1hY2hpbmVyeScpCi1mcm96ZW5fdXRpbCwgc291cmNlX3V0aWwgPSB1dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYi51dGlsJykKK2luaXQgPSB0ZXN0X3V0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliJykKK21hY2hpbmVyeSA9IHRlc3RfdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWIubWFjaGluZXJ5JykKK3V0aWwgPSB0ZXN0X3V0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliLnV0aWwnKQogCiBpbXBvcnQgb3MucGF0aAogZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IENsZWFuSW1wb3J0CkBAIC0zNiw2ICszNCw5IEBACiAgICAgZGVmIF9pc19wYWNrYWdlKHNlbGYsIG5hbWUpOgogICAgICAgICByZXR1cm4gc2VsZi5wYWNrYWdlCiAKKyAgICBkZWYgY3JlYXRlX21vZHVsZShzZWxmLCBzcGVjKToKKyAgICAgICAgcmV0dXJuIE5vbmUKKwogCiBjbGFzcyBOZXdMb2FkZXIoVGVzdExvYWRlcik6CiAKQEAgLTUyLDYgKzUzLDggQEAKICAgICB3aXRoIHdhcm5pbmdzLmNhdGNoX3dhcm5pbmdzKCk6CiAgICAgICAgIHdhcm5pbmdzLnNpbXBsZWZpbHRlcigiaWdub3JlIiwgRGVwcmVjYXRpb25XYXJuaW5nKQogCisgICAgICAgIGZyb3plbl91dGlsID0gdXRpbFsnRnJvemVuJ10KKwogICAgICAgICBAZnJvemVuX3V0aWwubW9kdWxlX2Zvcl9sb2FkZXIKICAgICAgICAgZGVmIGxvYWRfbW9kdWxlKHNlbGYsIG1vZHVsZSk6CiAgICAgICAgICAgICBtb2R1bGUuaGFtID0gc2VsZi5IQU0KQEAgLTIyMSwxOCArMjI0LDE3IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5sb2Nfc3BlYy5jYWNoZWQsICdzcGFtLnB5YycpCiAKIAotY2xhc3MgRnJvemVuX01vZHVsZVNwZWNUZXN0cyhNb2R1bGVTcGVjVGVzdHMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICB1dGlsID0gZnJvemVuX3V0aWwKLSAgICBtYWNoaW5lcnkgPSBmcm96ZW5fbWFjaGluZXJ5Ci0KLQotY2xhc3MgU291cmNlX01vZHVsZVNwZWNUZXN0cyhNb2R1bGVTcGVjVGVzdHMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICB1dGlsID0gc291cmNlX3V0aWwKLSAgICBtYWNoaW5lcnkgPSBzb3VyY2VfbWFjaGluZXJ5CisoRnJvemVuX01vZHVsZVNwZWNUZXN0cywKKyBTb3VyY2VfTW9kdWxlU3BlY1Rlc3RzCisgKSA9IHRlc3RfdXRpbC50ZXN0X2JvdGgoTW9kdWxlU3BlY1Rlc3RzLCB1dGlsPXV0aWwsIG1hY2hpbmVyeT1tYWNoaW5lcnkpCiAKIAogY2xhc3MgTW9kdWxlU3BlY01ldGhvZHNUZXN0czoKIAorICAgIEBwcm9wZXJ0eQorICAgIGRlZiBib290c3RyYXAoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLmluaXQuX2Jvb3RzdHJhcAorCiAgICAgZGVmIHNldFVwKHNlbGYpOgogICAgICAgICBzZWxmLm5hbWUgPSAnc3BhbScKICAgICAgICAgc2VsZi5wYXRoID0gJ3NwYW0ucHknCkBAIC0yNDMsMTUyICsyNDUsMTQgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luPXNlbGYucGF0aCkKICAgICAgICAgc2VsZi5sb2Nfc3BlYy5fc2V0X2ZpbGVhdHRyID0gVHJ1ZQogCi0gICAgIyBpbml0X21vZHVsZV9hdHRycwotCi0gICAgZGVmIHRlc3RfaW5pdF9tb2R1bGVfYXR0cnMoc2VsZik6Ci0gICAgICAgIG1vZHVsZSA9IHR5cGUoc3lzKShzZWxmLm5hbWUpCi0gICAgICAgIHNwZWMgPSBzZWxmLm1hY2hpbmVyeS5Nb2R1bGVTcGVjKHNlbGYubmFtZSwgc2VsZi5sb2FkZXIpCi0gICAgICAgIHNlbGYuYm9vdHN0cmFwLl9TcGVjTWV0aG9kcyhzcGVjKS5pbml0X21vZHVsZV9hdHRycyhtb2R1bGUpCi0KLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2R1bGUuX19uYW1lX18sIHNwZWMubmFtZSkKLSAgICAgICAgc2VsZi5hc3NlcnRJcyhtb2R1bGUuX19sb2FkZXJfXywgc3BlYy5sb2FkZXIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9kdWxlLl9fcGFja2FnZV9fLCBzcGVjLnBhcmVudCkKLSAgICAgICAgc2VsZi5hc3NlcnRJcyhtb2R1bGUuX19zcGVjX18sIHNwZWMpCi0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaGFzYXR0cihtb2R1bGUsICdfX3BhdGhfXycpKQotICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGhhc2F0dHIobW9kdWxlLCAnX19maWxlX18nKSkKLSAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShoYXNhdHRyKG1vZHVsZSwgJ19fY2FjaGVkX18nKSkKLQotICAgIGRlZiB0ZXN0X2luaXRfbW9kdWxlX2F0dHJzX3BhY2thZ2Uoc2VsZik6Ci0gICAgICAgIG1vZHVsZSA9IHR5cGUoc3lzKShzZWxmLm5hbWUpCi0gICAgICAgIHNwZWMgPSBzZWxmLm1hY2hpbmVyeS5Nb2R1bGVTcGVjKHNlbGYubmFtZSwgc2VsZi5sb2FkZXIpCi0gICAgICAgIHNwZWMuc3VibW9kdWxlX3NlYXJjaF9sb2NhdGlvbnMgPSBbJ3NwYW0nLCAnaGFtJ10KLSAgICAgICAgc2VsZi5ib290c3RyYXAuX1NwZWNNZXRob2RzKHNwZWMpLmluaXRfbW9kdWxlX2F0dHJzKG1vZHVsZSkKLQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZS5fX25hbWVfXywgc3BlYy5uYW1lKQotICAgICAgICBzZWxmLmFzc2VydElzKG1vZHVsZS5fX2xvYWRlcl9fLCBzcGVjLmxvYWRlcikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2R1bGUuX19wYWNrYWdlX18sIHNwZWMucGFyZW50KQotICAgICAgICBzZWxmLmFzc2VydElzKG1vZHVsZS5fX3NwZWNfXywgc3BlYykKLSAgICAgICAgc2VsZi5hc3NlcnRJcyhtb2R1bGUuX19wYXRoX18sIHNwZWMuc3VibW9kdWxlX3NlYXJjaF9sb2NhdGlvbnMpCi0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaGFzYXR0cihtb2R1bGUsICdfX2ZpbGVfXycpKQotICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGhhc2F0dHIobW9kdWxlLCAnX19jYWNoZWRfXycpKQotCi0gICAgZGVmIHRlc3RfaW5pdF9tb2R1bGVfYXR0cnNfbG9jYXRpb24oc2VsZik6Ci0gICAgICAgIG1vZHVsZSA9IHR5cGUoc3lzKShzZWxmLm5hbWUpCi0gICAgICAgIHNwZWMgPSBzZWxmLmxvY19zcGVjCi0gICAgICAgIHNlbGYuYm9vdHN0cmFwLl9TcGVjTWV0aG9kcyhzcGVjKS5pbml0X21vZHVsZV9hdHRycyhtb2R1bGUpCi0KLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2R1bGUuX19uYW1lX18sIHNwZWMubmFtZSkKLSAgICAgICAgc2VsZi5hc3NlcnRJcyhtb2R1bGUuX19sb2FkZXJfXywgc3BlYy5sb2FkZXIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9kdWxlLl9fcGFja2FnZV9fLCBzcGVjLnBhcmVudCkKLSAgICAgICAgc2VsZi5hc3NlcnRJcyhtb2R1bGUuX19zcGVjX18sIHNwZWMpCi0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaGFzYXR0cihtb2R1bGUsICdfX3BhdGhfXycpKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZS5fX2ZpbGVfXywgc3BlYy5vcmlnaW4pCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9kdWxlLl9fY2FjaGVkX18sCi0gICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi51dGlsLmNhY2hlX2Zyb21fc291cmNlKHNwZWMub3JpZ2luKSkKLQotICAgIGRlZiB0ZXN0X2luaXRfbW9kdWxlX2F0dHJzX2RpZmZlcmVudF9uYW1lKHNlbGYpOgotICAgICAgICBtb2R1bGUgPSB0eXBlKHN5cykoJ2VnZ3MnKQotICAgICAgICBzcGVjID0gc2VsZi5tYWNoaW5lcnkuTW9kdWxlU3BlYyhzZWxmLm5hbWUsIHNlbGYubG9hZGVyKQotICAgICAgICBzZWxmLmJvb3RzdHJhcC5fU3BlY01ldGhvZHMoc3BlYykuaW5pdF9tb2R1bGVfYXR0cnMobW9kdWxlKQotCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9kdWxlLl9fbmFtZV9fLCBzcGVjLm5hbWUpCi0KLSAgICBkZWYgdGVzdF9pbml0X21vZHVsZV9hdHRyc19kaWZmZXJlbnRfc3BlYyhzZWxmKToKLSAgICAgICAgbW9kdWxlID0gdHlwZShzeXMpKHNlbGYubmFtZSkKLSAgICAgICAgbW9kdWxlLl9fc3BlY19fID0gc2VsZi5tYWNoaW5lcnkuTW9kdWxlU3BlYygnZWdncycsIG9iamVjdCgpKQotICAgICAgICBzcGVjID0gc2VsZi5tYWNoaW5lcnkuTW9kdWxlU3BlYyhzZWxmLm5hbWUsIHNlbGYubG9hZGVyKQotICAgICAgICBzZWxmLmJvb3RzdHJhcC5fU3BlY01ldGhvZHMoc3BlYykuaW5pdF9tb2R1bGVfYXR0cnMobW9kdWxlKQotCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9kdWxlLl9fbmFtZV9fLCBzcGVjLm5hbWUpCi0gICAgICAgIHNlbGYuYXNzZXJ0SXMobW9kdWxlLl9fbG9hZGVyX18sIHNwZWMubG9hZGVyKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZS5fX3BhY2thZ2VfXywgc3BlYy5wYXJlbnQpCi0gICAgICAgIHNlbGYuYXNzZXJ0SXMobW9kdWxlLl9fc3BlY19fLCBzcGVjKQotCi0gICAgZGVmIHRlc3RfaW5pdF9tb2R1bGVfYXR0cnNfYWxyZWFkeV9zZXQoc2VsZik6Ci0gICAgICAgIG1vZHVsZSA9IHR5cGUoc3lzKSgnaGFtLmVnZ3MnKQotICAgICAgICBtb2R1bGUuX19sb2FkZXJfXyA9IG9iamVjdCgpCi0gICAgICAgIG1vZHVsZS5fX3BhY2thZ2VfXyA9ICdoYW0nCi0gICAgICAgIG1vZHVsZS5fX3BhdGhfXyA9IFsnZWdncyddCi0gICAgICAgIG1vZHVsZS5fX2ZpbGVfXyA9ICdoYW0vZWdncy9fX2luaXRfXy5weScKLSAgICAgICAgbW9kdWxlLl9fY2FjaGVkX18gPSBzZWxmLnV0aWwuY2FjaGVfZnJvbV9zb3VyY2UobW9kdWxlLl9fZmlsZV9fKQotICAgICAgICBvcmlnaW5hbCA9IHZhcnMobW9kdWxlKS5jb3B5KCkKLSAgICAgICAgc3BlYyA9IHNlbGYubG9jX3NwZWMKLSAgICAgICAgc3BlYy5zdWJtb2R1bGVfc2VhcmNoX2xvY2F0aW9ucyA9IFsnJ10KLSAgICAgICAgc2VsZi5ib290c3RyYXAuX1NwZWNNZXRob2RzKHNwZWMpLmluaXRfbW9kdWxlX2F0dHJzKG1vZHVsZSkKLQotICAgICAgICBzZWxmLmFzc2VydElzKG1vZHVsZS5fX2xvYWRlcl9fLCBvcmlnaW5hbFsnX19sb2FkZXJfXyddKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZS5fX3BhY2thZ2VfXywgb3JpZ2luYWxbJ19fcGFja2FnZV9fJ10pCi0gICAgICAgIHNlbGYuYXNzZXJ0SXMobW9kdWxlLl9fcGF0aF9fLCBvcmlnaW5hbFsnX19wYXRoX18nXSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2R1bGUuX19maWxlX18sIG9yaWdpbmFsWydfX2ZpbGVfXyddKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZS5fX2NhY2hlZF9fLCBvcmlnaW5hbFsnX19jYWNoZWRfXyddKQotCi0gICAgZGVmIHRlc3RfaW5pdF9tb2R1bGVfYXR0cnNfaW1tdXRhYmxlKHNlbGYpOgotICAgICAgICBtb2R1bGUgPSBvYmplY3QoKQotICAgICAgICBzcGVjID0gc2VsZi5sb2Nfc3BlYwotICAgICAgICBzcGVjLnN1Ym1vZHVsZV9zZWFyY2hfbG9jYXRpb25zID0gWycnXQotICAgICAgICBzZWxmLmJvb3RzdHJhcC5fU3BlY01ldGhvZHMoc3BlYykuaW5pdF9tb2R1bGVfYXR0cnMobW9kdWxlKQotCi0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaGFzYXR0cihtb2R1bGUsICdfX25hbWVfXycpKQotICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGhhc2F0dHIobW9kdWxlLCAnX19sb2FkZXJfXycpKQotICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGhhc2F0dHIobW9kdWxlLCAnX19wYWNrYWdlX18nKSkKLSAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShoYXNhdHRyKG1vZHVsZSwgJ19fc3BlY19fJykpCi0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaGFzYXR0cihtb2R1bGUsICdfX3BhdGhfXycpKQotICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGhhc2F0dHIobW9kdWxlLCAnX19maWxlX18nKSkKLSAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShoYXNhdHRyKG1vZHVsZSwgJ19fY2FjaGVkX18nKSkKLQotICAgICMgY3JlYXRlKCkKLQotICAgIGRlZiB0ZXN0X2NyZWF0ZShzZWxmKToKLSAgICAgICAgY3JlYXRlZCA9IHNlbGYuYm9vdHN0cmFwLl9TcGVjTWV0aG9kcyhzZWxmLnNwZWMpLmNyZWF0ZSgpCi0KLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjcmVhdGVkLl9fbmFtZV9fLCBzZWxmLnNwZWMubmFtZSkKLSAgICAgICAgc2VsZi5hc3NlcnRJcyhjcmVhdGVkLl9fbG9hZGVyX18sIHNlbGYuc3BlYy5sb2FkZXIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY3JlYXRlZC5fX3BhY2thZ2VfXywgc2VsZi5zcGVjLnBhcmVudCkKLSAgICAgICAgc2VsZi5hc3NlcnRJcyhjcmVhdGVkLl9fc3BlY19fLCBzZWxmLnNwZWMpCi0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaGFzYXR0cihjcmVhdGVkLCAnX19wYXRoX18nKSkKLSAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShoYXNhdHRyKGNyZWF0ZWQsICdfX2ZpbGVfXycpKQotICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGhhc2F0dHIoY3JlYXRlZCwgJ19fY2FjaGVkX18nKSkKLQotICAgIGRlZiB0ZXN0X2NyZWF0ZV9mcm9tX2xvYWRlcihzZWxmKToKLSAgICAgICAgbW9kdWxlID0gdHlwZShzeXMuaW1wbGVtZW50YXRpb24pKCkKLSAgICAgICAgY2xhc3MgQ3JlYXRpbmdMb2FkZXIoVGVzdExvYWRlcik6Ci0gICAgICAgICAgICBkZWYgY3JlYXRlX21vZHVsZShzZWxmLCBzcGVjKToKLSAgICAgICAgICAgICAgICByZXR1cm4gbW9kdWxlCi0gICAgICAgIHNlbGYuc3BlYy5sb2FkZXIgPSBDcmVhdGluZ0xvYWRlcigpCi0gICAgICAgIGNyZWF0ZWQgPSBzZWxmLmJvb3RzdHJhcC5fU3BlY01ldGhvZHMoc2VsZi5zcGVjKS5jcmVhdGUoKQotCi0gICAgICAgIHNlbGYuYXNzZXJ0SXMoY3JlYXRlZCwgbW9kdWxlKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNyZWF0ZWQuX19uYW1lX18sIHNlbGYuc3BlYy5uYW1lKQotICAgICAgICBzZWxmLmFzc2VydElzKGNyZWF0ZWQuX19sb2FkZXJfXywgc2VsZi5zcGVjLmxvYWRlcikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjcmVhdGVkLl9fcGFja2FnZV9fLCBzZWxmLnNwZWMucGFyZW50KQotICAgICAgICBzZWxmLmFzc2VydElzKGNyZWF0ZWQuX19zcGVjX18sIHNlbGYuc3BlYykKLSAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShoYXNhdHRyKGNyZWF0ZWQsICdfX3BhdGhfXycpKQotICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGhhc2F0dHIoY3JlYXRlZCwgJ19fZmlsZV9fJykpCi0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaGFzYXR0cihjcmVhdGVkLCAnX19jYWNoZWRfXycpKQotCi0gICAgZGVmIHRlc3RfY3JlYXRlX2Zyb21fbG9hZGVyX25vdF9oYW5kbGVkKHNlbGYpOgotICAgICAgICBjbGFzcyBDcmVhdGluZ0xvYWRlcihUZXN0TG9hZGVyKToKLSAgICAgICAgICAgIGRlZiBjcmVhdGVfbW9kdWxlKHNlbGYsIHNwZWMpOgotICAgICAgICAgICAgICAgIHJldHVybiBOb25lCi0gICAgICAgIHNlbGYuc3BlYy5sb2FkZXIgPSBDcmVhdGluZ0xvYWRlcigpCi0gICAgICAgIGNyZWF0ZWQgPSBzZWxmLmJvb3RzdHJhcC5fU3BlY01ldGhvZHMoc2VsZi5zcGVjKS5jcmVhdGUoKQotCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY3JlYXRlZC5fX25hbWVfXywgc2VsZi5zcGVjLm5hbWUpCi0gICAgICAgIHNlbGYuYXNzZXJ0SXMoY3JlYXRlZC5fX2xvYWRlcl9fLCBzZWxmLnNwZWMubG9hZGVyKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNyZWF0ZWQuX19wYWNrYWdlX18sIHNlbGYuc3BlYy5wYXJlbnQpCi0gICAgICAgIHNlbGYuYXNzZXJ0SXMoY3JlYXRlZC5fX3NwZWNfXywgc2VsZi5zcGVjKQotICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGhhc2F0dHIoY3JlYXRlZCwgJ19fcGF0aF9fJykpCi0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaGFzYXR0cihjcmVhdGVkLCAnX19maWxlX18nKSkKLSAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShoYXNhdHRyKGNyZWF0ZWQsICdfX2NhY2hlZF9fJykpCi0KICAgICAjIGV4ZWMoKQogCiAgICAgZGVmIHRlc3RfZXhlYyhzZWxmKToKICAgICAgICAgc2VsZi5zcGVjLmxvYWRlciA9IE5ld0xvYWRlcigpCi0gICAgICAgIG1vZHVsZSA9IHNlbGYuYm9vdHN0cmFwLl9TcGVjTWV0aG9kcyhzZWxmLnNwZWMpLmNyZWF0ZSgpCisgICAgICAgIG1vZHVsZSA9IHNlbGYudXRpbC5tb2R1bGVfZnJvbV9zcGVjKHNlbGYuc3BlYykKICAgICAgICAgc3lzLm1vZHVsZXNbc2VsZi5uYW1lXSA9IG1vZHVsZQogICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGhhc2F0dHIobW9kdWxlLCAnZWdncycpKQotICAgICAgICBzZWxmLmJvb3RzdHJhcC5fU3BlY01ldGhvZHMoc2VsZi5zcGVjKS5leGVjKG1vZHVsZSkKKyAgICAgICAgc2VsZi5ib290c3RyYXAuX2V4ZWMoc2VsZi5zcGVjLCBtb2R1bGUpCiAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2R1bGUuZWdncywgMSkKIApAQCAtMzk3LDcgKzI2MSw3IEBACiAgICAgZGVmIHRlc3RfbG9hZChzZWxmKToKICAgICAgICAgc2VsZi5zcGVjLmxvYWRlciA9IE5ld0xvYWRlcigpCiAgICAgICAgIHdpdGggQ2xlYW5JbXBvcnQoc2VsZi5zcGVjLm5hbWUpOgotICAgICAgICAgICAgbG9hZGVkID0gc2VsZi5ib290c3RyYXAuX1NwZWNNZXRob2RzKHNlbGYuc3BlYykubG9hZCgpCisgICAgICAgICAgICBsb2FkZWQgPSBzZWxmLmJvb3RzdHJhcC5fbG9hZChzZWxmLnNwZWMpCiAgICAgICAgICAgICBpbnN0YWxsZWQgPSBzeXMubW9kdWxlc1tzZWxmLnNwZWMubmFtZV0KIAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxvYWRlZC5lZ2dzLCAxKQpAQCAtNDEwLDcgKzI3NCw3IEBACiAgICAgICAgICAgICAgICAgc3lzLm1vZHVsZXNbbW9kdWxlLl9fbmFtZV9fXSA9IHJlcGxhY2VtZW50CiAgICAgICAgIHNlbGYuc3BlYy5sb2FkZXIgPSBSZXBsYWNpbmdMb2FkZXIoKQogICAgICAgICB3aXRoIENsZWFuSW1wb3J0KHNlbGYuc3BlYy5uYW1lKToKLSAgICAgICAgICAgIGxvYWRlZCA9IHNlbGYuYm9vdHN0cmFwLl9TcGVjTWV0aG9kcyhzZWxmLnNwZWMpLmxvYWQoKQorICAgICAgICAgICAgbG9hZGVkID0gc2VsZi5ib290c3RyYXAuX2xvYWQoc2VsZi5zcGVjKQogICAgICAgICAgICAgaW5zdGFsbGVkID0gc3lzLm1vZHVsZXNbc2VsZi5zcGVjLm5hbWVdCiAKICAgICAgICAgc2VsZi5hc3NlcnRJcyhsb2FkZWQsIHJlcGxhY2VtZW50KQpAQCAtNDIzLDcgKzI4Nyw3IEBACiAgICAgICAgIHNlbGYuc3BlYy5sb2FkZXIgPSBGYWlsZWRMb2FkZXIoKQogICAgICAgICB3aXRoIENsZWFuSW1wb3J0KHNlbGYuc3BlYy5uYW1lKToKICAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoUnVudGltZUVycm9yKToKLSAgICAgICAgICAgICAgICBsb2FkZWQgPSBzZWxmLmJvb3RzdHJhcC5fU3BlY01ldGhvZHMoc2VsZi5zcGVjKS5sb2FkKCkKKyAgICAgICAgICAgICAgICBsb2FkZWQgPSBzZWxmLmJvb3RzdHJhcC5fbG9hZChzZWxmLnNwZWMpCiAgICAgICAgICAgICBzZWxmLmFzc2VydE5vdEluKHNlbGYuc3BlYy5uYW1lLCBzeXMubW9kdWxlcykKIAogICAgIGRlZiB0ZXN0X2xvYWRfZmFpbGVkX3JlbW92ZWQoc2VsZik6CkBAIC00MzQsMjAgKzI5OCwyMCBAQAogICAgICAgICBzZWxmLnNwZWMubG9hZGVyID0gRmFpbGVkTG9hZGVyKCkKICAgICAgICAgd2l0aCBDbGVhbkltcG9ydChzZWxmLnNwZWMubmFtZSk6CiAgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFJ1bnRpbWVFcnJvcik6Ci0gICAgICAgICAgICAgICAgbG9hZGVkID0gc2VsZi5ib290c3RyYXAuX1NwZWNNZXRob2RzKHNlbGYuc3BlYykubG9hZCgpCisgICAgICAgICAgICAgICAgbG9hZGVkID0gc2VsZi5ib290c3RyYXAuX2xvYWQoc2VsZi5zcGVjKQogICAgICAgICAgICAgc2VsZi5hc3NlcnROb3RJbihzZWxmLnNwZWMubmFtZSwgc3lzLm1vZHVsZXMpCiAKICAgICBkZWYgdGVzdF9sb2FkX2xlZ2FjeShzZWxmKToKICAgICAgICAgc2VsZi5zcGVjLmxvYWRlciA9IExlZ2FjeUxvYWRlcigpCiAgICAgICAgIHdpdGggQ2xlYW5JbXBvcnQoc2VsZi5zcGVjLm5hbWUpOgotICAgICAgICAgICAgbG9hZGVkID0gc2VsZi5ib290c3RyYXAuX1NwZWNNZXRob2RzKHNlbGYuc3BlYykubG9hZCgpCisgICAgICAgICAgICBsb2FkZWQgPSBzZWxmLmJvb3RzdHJhcC5fbG9hZChzZWxmLnNwZWMpCiAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsb2FkZWQuaGFtLCAtMSkKIAogICAgIGRlZiB0ZXN0X2xvYWRfbGVnYWN5X2F0dHJpYnV0ZXMoc2VsZik6CiAgICAgICAgIHNlbGYuc3BlYy5sb2FkZXIgPSBMZWdhY3lMb2FkZXIoKQogICAgICAgICB3aXRoIENsZWFuSW1wb3J0KHNlbGYuc3BlYy5uYW1lKToKLSAgICAgICAgICAgIGxvYWRlZCA9IHNlbGYuYm9vdHN0cmFwLl9TcGVjTWV0aG9kcyhzZWxmLnNwZWMpLmxvYWQoKQorICAgICAgICAgICAgbG9hZGVkID0gc2VsZi5ib290c3RyYXAuX2xvYWQoc2VsZi5zcGVjKQogCiAgICAgICAgIHNlbGYuYXNzZXJ0SXMobG9hZGVkLl9fbG9hZGVyX18sIHNlbGYuc3BlYy5sb2FkZXIpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobG9hZGVkLl9fcGFja2FnZV9fLCBzZWxmLnNwZWMucGFyZW50KQpAQCAtNDYxLDcgKzMyNSw3IEBACiAgICAgICAgICAgICAgICAgcmV0dXJuIG1vZHVsZQogICAgICAgICBzZWxmLnNwZWMubG9hZGVyID0gSW1tdXRhYmxlTG9hZGVyKCkKICAgICAgICAgd2l0aCBDbGVhbkltcG9ydChzZWxmLnNwZWMubmFtZSk6Ci0gICAgICAgICAgICBsb2FkZWQgPSBzZWxmLmJvb3RzdHJhcC5fU3BlY01ldGhvZHMoc2VsZi5zcGVjKS5sb2FkKCkKKyAgICAgICAgICAgIGxvYWRlZCA9IHNlbGYuYm9vdHN0cmFwLl9sb2FkKHNlbGYuc3BlYykKIAogICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhzeXMubW9kdWxlc1tzZWxmLnNwZWMubmFtZV0sIG1vZHVsZSkKIApAQCAtNDcwLDggKzMzNCw4IEBACiAgICAgZGVmIHRlc3RfcmVsb2FkKHNlbGYpOgogICAgICAgICBzZWxmLnNwZWMubG9hZGVyID0gTmV3TG9hZGVyKCkKICAgICAgICAgd2l0aCBDbGVhbkltcG9ydChzZWxmLnNwZWMubmFtZSk6Ci0gICAgICAgICAgICBsb2FkZWQgPSBzZWxmLmJvb3RzdHJhcC5fU3BlY01ldGhvZHMoc2VsZi5zcGVjKS5sb2FkKCkKLSAgICAgICAgICAgIHJlbG9hZGVkID0gc2VsZi5ib290c3RyYXAuX1NwZWNNZXRob2RzKHNlbGYuc3BlYykuZXhlYyhsb2FkZWQpCisgICAgICAgICAgICBsb2FkZWQgPSBzZWxmLmJvb3RzdHJhcC5fbG9hZChzZWxmLnNwZWMpCisgICAgICAgICAgICByZWxvYWRlZCA9IHNlbGYuYm9vdHN0cmFwLl9leGVjKHNlbGYuc3BlYywgbG9hZGVkKQogICAgICAgICAgICAgaW5zdGFsbGVkID0gc3lzLm1vZHVsZXNbc2VsZi5zcGVjLm5hbWVdCiAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsb2FkZWQuZWdncywgMSkKQEAgLTQ4MSw5ICszNDUsOSBAQAogICAgIGRlZiB0ZXN0X3JlbG9hZF9tb2RpZmllZChzZWxmKToKICAgICAgICAgc2VsZi5zcGVjLmxvYWRlciA9IE5ld0xvYWRlcigpCiAgICAgICAgIHdpdGggQ2xlYW5JbXBvcnQoc2VsZi5zcGVjLm5hbWUpOgotICAgICAgICAgICAgbG9hZGVkID0gc2VsZi5ib290c3RyYXAuX1NwZWNNZXRob2RzKHNlbGYuc3BlYykubG9hZCgpCisgICAgICAgICAgICBsb2FkZWQgPSBzZWxmLmJvb3RzdHJhcC5fbG9hZChzZWxmLnNwZWMpCiAgICAgICAgICAgICBsb2FkZWQuZWdncyA9IDIKLSAgICAgICAgICAgIHJlbG9hZGVkID0gc2VsZi5ib290c3RyYXAuX1NwZWNNZXRob2RzKHNlbGYuc3BlYykuZXhlYyhsb2FkZWQpCisgICAgICAgICAgICByZWxvYWRlZCA9IHNlbGYuYm9vdHN0cmFwLl9leGVjKHNlbGYuc3BlYywgbG9hZGVkKQogCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobG9hZGVkLmVnZ3MsIDEpCiAgICAgICAgIHNlbGYuYXNzZXJ0SXMocmVsb2FkZWQsIGxvYWRlZCkKQEAgLTQ5MSw5ICszNTUsOSBAQAogICAgIGRlZiB0ZXN0X3JlbG9hZF9leHRyYV9hdHRyaWJ1dGVzKHNlbGYpOgogICAgICAgICBzZWxmLnNwZWMubG9hZGVyID0gTmV3TG9hZGVyKCkKICAgICAgICAgd2l0aCBDbGVhbkltcG9ydChzZWxmLnNwZWMubmFtZSk6Ci0gICAgICAgICAgICBsb2FkZWQgPSBzZWxmLmJvb3RzdHJhcC5fU3BlY01ldGhvZHMoc2VsZi5zcGVjKS5sb2FkKCkKKyAgICAgICAgICAgIGxvYWRlZCA9IHNlbGYuYm9vdHN0cmFwLl9sb2FkKHNlbGYuc3BlYykKICAgICAgICAgICAgIGxvYWRlZC5hdmFpbGFibGUgPSBGYWxzZQotICAgICAgICAgICAgcmVsb2FkZWQgPSBzZWxmLmJvb3RzdHJhcC5fU3BlY01ldGhvZHMoc2VsZi5zcGVjKS5leGVjKGxvYWRlZCkKKyAgICAgICAgICAgIHJlbG9hZGVkID0gc2VsZi5ib290c3RyYXAuX2V4ZWMoc2VsZi5zcGVjLCBsb2FkZWQpCiAKICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShsb2FkZWQuYXZhaWxhYmxlKQogICAgICAgICBzZWxmLmFzc2VydElzKHJlbG9hZGVkLCBsb2FkZWQpCkBAIC01MDEsMTIgKzM2NSwxMiBAQAogICAgIGRlZiB0ZXN0X3JlbG9hZF9pbml0X21vZHVsZV9hdHRycyhzZWxmKToKICAgICAgICAgc2VsZi5zcGVjLmxvYWRlciA9IE5ld0xvYWRlcigpCiAgICAgICAgIHdpdGggQ2xlYW5JbXBvcnQoc2VsZi5zcGVjLm5hbWUpOgotICAgICAgICAgICAgbG9hZGVkID0gc2VsZi5ib290c3RyYXAuX1NwZWNNZXRob2RzKHNlbGYuc3BlYykubG9hZCgpCisgICAgICAgICAgICBsb2FkZWQgPSBzZWxmLmJvb3RzdHJhcC5fbG9hZChzZWxmLnNwZWMpCiAgICAgICAgICAgICBsb2FkZWQuX19uYW1lX18gPSAnaGFtJwogICAgICAgICAgICAgZGVsIGxvYWRlZC5fX2xvYWRlcl9fCiAgICAgICAgICAgICBkZWwgbG9hZGVkLl9fcGFja2FnZV9fCiAgICAgICAgICAgICBkZWwgbG9hZGVkLl9fc3BlY19fCi0gICAgICAgICAgICBzZWxmLmJvb3RzdHJhcC5fU3BlY01ldGhvZHMoc2VsZi5zcGVjKS5leGVjKGxvYWRlZCkKKyAgICAgICAgICAgIHNlbGYuYm9vdHN0cmFwLl9leGVjKHNlbGYuc3BlYywgbG9hZGVkKQogCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobG9hZGVkLl9fbmFtZV9fLCBzZWxmLnNwZWMubmFtZSkKICAgICAgICAgc2VsZi5hc3NlcnRJcyhsb2FkZWQuX19sb2FkZXJfXywgc2VsZi5zcGVjLmxvYWRlcikKQEAgLTUxOSw4ICszODMsOCBAQAogICAgIGRlZiB0ZXN0X3JlbG9hZF9sZWdhY3koc2VsZik6CiAgICAgICAgIHNlbGYuc3BlYy5sb2FkZXIgPSBMZWdhY3lMb2FkZXIoKQogICAgICAgICB3aXRoIENsZWFuSW1wb3J0KHNlbGYuc3BlYy5uYW1lKToKLSAgICAgICAgICAgIGxvYWRlZCA9IHNlbGYuYm9vdHN0cmFwLl9TcGVjTWV0aG9kcyhzZWxmLnNwZWMpLmxvYWQoKQotICAgICAgICAgICAgcmVsb2FkZWQgPSBzZWxmLmJvb3RzdHJhcC5fU3BlY01ldGhvZHMoc2VsZi5zcGVjKS5leGVjKGxvYWRlZCkKKyAgICAgICAgICAgIGxvYWRlZCA9IHNlbGYuYm9vdHN0cmFwLl9sb2FkKHNlbGYuc3BlYykKKyAgICAgICAgICAgIHJlbG9hZGVkID0gc2VsZi5ib290c3RyYXAuX2V4ZWMoc2VsZi5zcGVjLCBsb2FkZWQpCiAgICAgICAgICAgICBpbnN0YWxsZWQgPSBzeXMubW9kdWxlc1tzZWxmLnNwZWMubmFtZV0KIAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxvYWRlZC5oYW0sIC0xKQpAQCAtNTI4LDIwICszOTIsMTggQEAKICAgICAgICAgc2VsZi5hc3NlcnRJcyhpbnN0YWxsZWQsIGxvYWRlZCkKIAogCi1jbGFzcyBGcm96ZW5fTW9kdWxlU3BlY01ldGhvZHNUZXN0cyhNb2R1bGVTcGVjTWV0aG9kc1Rlc3RzLCB1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgYm9vdHN0cmFwID0gZnJvemVuX2Jvb3RzdHJhcAotICAgIG1hY2hpbmVyeSA9IGZyb3plbl9tYWNoaW5lcnkKLSAgICB1dGlsID0gZnJvemVuX3V0aWwKLQotCi1jbGFzcyBTb3VyY2VfTW9kdWxlU3BlY01ldGhvZHNUZXN0cyhNb2R1bGVTcGVjTWV0aG9kc1Rlc3RzLCB1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgYm9vdHN0cmFwID0gc291cmNlX2Jvb3RzdHJhcAotICAgIG1hY2hpbmVyeSA9IHNvdXJjZV9tYWNoaW5lcnkKLSAgICB1dGlsID0gc291cmNlX3V0aWwKKyhGcm96ZW5fTW9kdWxlU3BlY01ldGhvZHNUZXN0cywKKyBTb3VyY2VfTW9kdWxlU3BlY01ldGhvZHNUZXN0cworICkgPSB0ZXN0X3V0aWwudGVzdF9ib3RoKE1vZHVsZVNwZWNNZXRob2RzVGVzdHMsIGluaXQ9aW5pdCwgdXRpbD11dGlsLAorICAgICAgICAgICAgICAgICAgICAgICAgIG1hY2hpbmVyeT1tYWNoaW5lcnkpCiAKIAogY2xhc3MgTW9kdWxlUmVwclRlc3RzOgogCisgICAgQHByb3BlcnR5CisgICAgZGVmIGJvb3RzdHJhcChzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYuaW5pdC5fYm9vdHN0cmFwCisKICAgICBkZWYgc2V0VXAoc2VsZik6CiAgICAgICAgIHNlbGYubW9kdWxlID0gdHlwZShvcykoJ3NwYW0nKQogICAgICAgICBzZWxmLnNwZWMgPSBzZWxmLm1hY2hpbmVyeS5Nb2R1bGVTcGVjKCdzcGFtJywgVGVzdExvYWRlcigpKQpAQCAtNjI1LDE2ICs0ODcsMTAgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2RyZXByLCAnPG1vZHVsZSB7IXJ9PicuZm9ybWF0KCdzcGFtJykpCiAKIAotY2xhc3MgRnJvemVuX01vZHVsZVJlcHJUZXN0cyhNb2R1bGVSZXByVGVzdHMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICBib290c3RyYXAgPSBmcm96ZW5fYm9vdHN0cmFwCi0gICAgbWFjaGluZXJ5ID0gZnJvemVuX21hY2hpbmVyeQotICAgIHV0aWwgPSBmcm96ZW5fdXRpbAotCi0KLWNsYXNzIFNvdXJjZV9Nb2R1bGVSZXByVGVzdHMoTW9kdWxlUmVwclRlc3RzLCB1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgYm9vdHN0cmFwID0gc291cmNlX2Jvb3RzdHJhcAotICAgIG1hY2hpbmVyeSA9IHNvdXJjZV9tYWNoaW5lcnkKLSAgICB1dGlsID0gc291cmNlX3V0aWwKKyhGcm96ZW5fTW9kdWxlUmVwclRlc3RzLAorIFNvdXJjZV9Nb2R1bGVSZXByVGVzdHMKKyApID0gdGVzdF91dGlsLnRlc3RfYm90aChNb2R1bGVSZXByVGVzdHMsIGluaXQ9aW5pdCwgdXRpbD11dGlsLAorICAgICAgICAgICAgICAgICAgICAgICAgIG1hY2hpbmVyeT1tYWNoaW5lcnkpCiAKIAogY2xhc3MgRmFjdG9yeVRlc3RzOgpAQCAtNzg3LDEzICs2NDMsMTQgQEAKICAgICAjIHNwZWNfZnJvbV9maWxlX2xvY2F0aW9uKCkKIAogICAgIGRlZiB0ZXN0X3NwZWNfZnJvbV9maWxlX2xvY2F0aW9uX2RlZmF1bHQoc2VsZik6Ci0gICAgICAgIGlmIHNlbGYubWFjaGluZXJ5IGlzIHNvdXJjZV9tYWNoaW5lcnk6Ci0gICAgICAgICAgICByYWlzZSB1bml0dGVzdC5Ta2lwVGVzdCgnbm90IHN1cmUgd2h5IHRoaXMgaXMgYnJlYWtpbmcuLi4nKQogICAgICAgICBzcGVjID0gc2VsZi51dGlsLnNwZWNfZnJvbV9maWxlX2xvY2F0aW9uKHNlbGYubmFtZSwgc2VsZi5wYXRoKQogCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3BlYy5uYW1lLCBzZWxmLm5hbWUpCisgICAgICAgICMgTmVlZCB0byB1c2UgYSBjaXJjdWl0b3VzIHJvdXRlIHRvIGdldCBhdCBpbXBvcnRsaWIubWFjaGluZXJ5IHRvIG1ha2UKKyAgICAgICAgIyBzdXJlIHRoZSBzYW1lIGNsYXNzIG9iamVjdCBpcyB1c2VkIGluIHRoZSBpc2luc3RhbmNlKCkgY2hlY2sgYXMKKyAgICAgICAgIyB3b3VsZCBoYXZlIGJlZW4gdXNlZCB0byBjcmVhdGUgdGhlIGxvYWRlci4KICAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKHNwZWMubG9hZGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5tYWNoaW5lcnkuU291cmNlRmlsZUxvYWRlcikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYudXRpbC5hYmMubWFjaGluZXJ5LlNvdXJjZUZpbGVMb2FkZXIpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3BlYy5sb2FkZXIubmFtZSwgc2VsZi5uYW1lKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNwZWMubG9hZGVyLnBhdGgsIHNlbGYucGF0aCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzcGVjLm9yaWdpbiwgc2VsZi5wYXRoKQpAQCAtOTQ3LDExICs4MDQsMTAgQEAKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNwZWMuaGFzX2xvY2F0aW9uKQogCiAKLWNsYXNzIEZyb3plbl9GYWN0b3J5VGVzdHMoRmFjdG9yeVRlc3RzLCB1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgdXRpbCA9IGZyb3plbl91dGlsCi0gICAgbWFjaGluZXJ5ID0gZnJvemVuX21hY2hpbmVyeQorKEZyb3plbl9GYWN0b3J5VGVzdHMsCisgU291cmNlX0ZhY3RvcnlUZXN0cworICkgPSB0ZXN0X3V0aWwudGVzdF9ib3RoKEZhY3RvcnlUZXN0cywgdXRpbD11dGlsLCBtYWNoaW5lcnk9bWFjaGluZXJ5KQogCiAKLWNsYXNzIFNvdXJjZV9GYWN0b3J5VGVzdHMoRmFjdG9yeVRlc3RzLCB1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgdXRpbCA9IHNvdXJjZV91dGlsCi0gICAgbWFjaGluZXJ5ID0gc291cmNlX21hY2hpbmVyeQoraWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKKyAgICB1bml0dGVzdC5tYWluKCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3Rlc3RfdXRpbC5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3Rlc3RfdXRpbC5weQppbmRleCBiMjgyM2M2Li4yNDkzYWY3IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi90ZXN0X3V0aWwucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvdGVzdF91dGlsLnB5CkBAIC0xLDggKzEsOCBAQAotZnJvbSBpbXBvcnRsaWIgaW1wb3J0IHV0aWwKLWZyb20gLiBpbXBvcnQgdXRpbCBhcyB0ZXN0X3V0aWwKLWZyb3plbl9pbml0LCBzb3VyY2VfaW5pdCA9IHRlc3RfdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWInKQotZnJvemVuX21hY2hpbmVyeSwgc291cmNlX21hY2hpbmVyeSA9IHRlc3RfdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWIubWFjaGluZXJ5JykKLWZyb3plbl91dGlsLCBzb3VyY2VfdXRpbCA9IHRlc3RfdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWIudXRpbCcpCitmcm9tIC4gaW1wb3J0IHV0aWwKK2FiYyA9IHV0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliLmFiYycpCitpbml0ID0gdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWInKQorbWFjaGluZXJ5ID0gdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWIubWFjaGluZXJ5JykKK2ltcG9ydGxpYl91dGlsID0gdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWIudXRpbCcpCiAKIGltcG9ydCBvcwogaW1wb3J0IHN5cwpAQCAtMzIsOCArMzIsOTQgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLnV0aWwuZGVjb2RlX3NvdXJjZShzb3VyY2VfYnl0ZXMpLAogICAgICAgICAgICAgICAgICAgICAgICAgICdcbicuam9pbihbc2VsZi5zb3VyY2UsIHNlbGYuc291cmNlXSkpCiAKLUZyb3plbl9EZWNvZGVTb3VyY2VCeXRlc1Rlc3RzLCBTb3VyY2VfRGVjb2RlU291cmNlQnl0ZXNUZXN0cyA9IHRlc3RfdXRpbC50ZXN0X2JvdGgoCi0gICAgICAgIERlY29kZVNvdXJjZUJ5dGVzVGVzdHMsIHV0aWw9W2Zyb3plbl91dGlsLCBzb3VyY2VfdXRpbF0pCisKKyhGcm96ZW5fRGVjb2RlU291cmNlQnl0ZXNUZXN0cywKKyBTb3VyY2VfRGVjb2RlU291cmNlQnl0ZXNUZXN0cworICkgPSB1dGlsLnRlc3RfYm90aChEZWNvZGVTb3VyY2VCeXRlc1Rlc3RzLCB1dGlsPWltcG9ydGxpYl91dGlsKQorCisKK2NsYXNzIE1vZHVsZUZyb21TcGVjVGVzdHM6CisKKyAgICBkZWYgdGVzdF9ub19jcmVhdGVfbW9kdWxlKHNlbGYpOgorICAgICAgICBjbGFzcyBMb2FkZXI6CisgICAgICAgICAgICBkZWYgZXhlY19tb2R1bGUoc2VsZiwgbW9kdWxlKToKKyAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgIHNwZWMgPSBzZWxmLm1hY2hpbmVyeS5Nb2R1bGVTcGVjKCd0ZXN0JywgTG9hZGVyKCkpCisgICAgICAgIHdpdGggd2FybmluZ3MuY2F0Y2hfd2FybmluZ3MocmVjb3JkPVRydWUpIGFzIHc6CisgICAgICAgICAgICB3YXJuaW5ncy5zaW1wbGVmaWx0ZXIoJ2Fsd2F5cycpCisgICAgICAgICAgICBtb2R1bGUgPSBzZWxmLnV0aWwubW9kdWxlX2Zyb21fc3BlYyhzcGVjKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDEsIGxlbih3KSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzc3ViY2xhc3Mod1swXS5jYXRlZ29yeSwgRGVwcmVjYXRpb25XYXJuaW5nKSkKKyAgICAgICAgc2VsZi5hc3NlcnRJbignY3JlYXRlX21vZHVsZScsIHN0cih3WzBdLm1lc3NhZ2UpKQorICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UobW9kdWxlLCB0eXBlcy5Nb2R1bGVUeXBlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZS5fX25hbWVfXywgc3BlYy5uYW1lKQorCisgICAgZGVmIHRlc3RfY3JlYXRlX21vZHVsZV9yZXR1cm5zX05vbmUoc2VsZik6CisgICAgICAgIGNsYXNzIExvYWRlcihzZWxmLmFiYy5Mb2FkZXIpOgorICAgICAgICAgICAgZGVmIGNyZWF0ZV9tb2R1bGUoc2VsZiwgc3BlYyk6CisgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgc3BlYyA9IHNlbGYubWFjaGluZXJ5Lk1vZHVsZVNwZWMoJ3Rlc3QnLCBMb2FkZXIoKSkKKyAgICAgICAgbW9kdWxlID0gc2VsZi51dGlsLm1vZHVsZV9mcm9tX3NwZWMoc3BlYykKKyAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKG1vZHVsZSwgdHlwZXMuTW9kdWxlVHlwZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2R1bGUuX19uYW1lX18sIHNwZWMubmFtZSkKKworICAgIGRlZiB0ZXN0X2NyZWF0ZV9tb2R1bGUoc2VsZik6CisgICAgICAgIG5hbWUgPSAnYWxyZWFkeSBzZXQnCisgICAgICAgIGNsYXNzIEN1c3RvbU1vZHVsZSh0eXBlcy5Nb2R1bGVUeXBlKToKKyAgICAgICAgICAgIHBhc3MKKyAgICAgICAgY2xhc3MgTG9hZGVyKHNlbGYuYWJjLkxvYWRlcik6CisgICAgICAgICAgICBkZWYgY3JlYXRlX21vZHVsZShzZWxmLCBzcGVjKToKKyAgICAgICAgICAgICAgICBtb2R1bGUgPSBDdXN0b21Nb2R1bGUoc3BlYy5uYW1lKQorICAgICAgICAgICAgICAgIG1vZHVsZS5fX25hbWVfXyA9IG5hbWUKKyAgICAgICAgICAgICAgICByZXR1cm4gbW9kdWxlCisgICAgICAgIHNwZWMgPSBzZWxmLm1hY2hpbmVyeS5Nb2R1bGVTcGVjKCd0ZXN0JywgTG9hZGVyKCkpCisgICAgICAgIG1vZHVsZSA9IHNlbGYudXRpbC5tb2R1bGVfZnJvbV9zcGVjKHNwZWMpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShtb2R1bGUsIEN1c3RvbU1vZHVsZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2R1bGUuX19uYW1lX18sIG5hbWUpCisKKyAgICBkZWYgdGVzdF9fX25hbWVfXyhzZWxmKToKKyAgICAgICAgc3BlYyA9IHNlbGYubWFjaGluZXJ5Lk1vZHVsZVNwZWMoJ3Rlc3QnLCBvYmplY3QoKSkKKyAgICAgICAgbW9kdWxlID0gc2VsZi51dGlsLm1vZHVsZV9mcm9tX3NwZWMoc3BlYykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2R1bGUuX19uYW1lX18sIHNwZWMubmFtZSkKKworICAgIGRlZiB0ZXN0X19fc3BlY19fKHNlbGYpOgorICAgICAgICBzcGVjID0gc2VsZi5tYWNoaW5lcnkuTW9kdWxlU3BlYygndGVzdCcsIG9iamVjdCgpKQorICAgICAgICBtb2R1bGUgPSBzZWxmLnV0aWwubW9kdWxlX2Zyb21fc3BlYyhzcGVjKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZS5fX3NwZWNfXywgc3BlYykKKworICAgIGRlZiB0ZXN0X19fbG9hZGVyX18oc2VsZik6CisgICAgICAgIGxvYWRlciA9IG9iamVjdCgpCisgICAgICAgIHNwZWMgPSBzZWxmLm1hY2hpbmVyeS5Nb2R1bGVTcGVjKCd0ZXN0JywgbG9hZGVyKQorICAgICAgICBtb2R1bGUgPSBzZWxmLnV0aWwubW9kdWxlX2Zyb21fc3BlYyhzcGVjKQorICAgICAgICBzZWxmLmFzc2VydElzKG1vZHVsZS5fX2xvYWRlcl9fLCBsb2FkZXIpCisKKyAgICBkZWYgdGVzdF9fX3BhY2thZ2VfXyhzZWxmKToKKyAgICAgICAgc3BlYyA9IHNlbGYubWFjaGluZXJ5Lk1vZHVsZVNwZWMoJ3Rlc3QucGtnJywgb2JqZWN0KCkpCisgICAgICAgIG1vZHVsZSA9IHNlbGYudXRpbC5tb2R1bGVfZnJvbV9zcGVjKHNwZWMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9kdWxlLl9fcGFja2FnZV9fLCBzcGVjLnBhcmVudCkKKworICAgIGRlZiB0ZXN0X19fcGF0aF9fKHNlbGYpOgorICAgICAgICBzcGVjID0gc2VsZi5tYWNoaW5lcnkuTW9kdWxlU3BlYygndGVzdCcsIG9iamVjdCgpLCBpc19wYWNrYWdlPVRydWUpCisgICAgICAgIG1vZHVsZSA9IHNlbGYudXRpbC5tb2R1bGVfZnJvbV9zcGVjKHNwZWMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9kdWxlLl9fcGF0aF9fLCBzcGVjLnN1Ym1vZHVsZV9zZWFyY2hfbG9jYXRpb25zKQorCisgICAgZGVmIHRlc3RfX19maWxlX18oc2VsZik6CisgICAgICAgIHNwZWMgPSBzZWxmLm1hY2hpbmVyeS5Nb2R1bGVTcGVjKCd0ZXN0Jywgb2JqZWN0KCksIG9yaWdpbj0nc29tZS9wYXRoJykKKyAgICAgICAgc3BlYy5oYXNfbG9jYXRpb24gPSBUcnVlCisgICAgICAgIG1vZHVsZSA9IHNlbGYudXRpbC5tb2R1bGVfZnJvbV9zcGVjKHNwZWMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9kdWxlLl9fZmlsZV9fLCBzcGVjLm9yaWdpbikKKworICAgIGRlZiB0ZXN0X19fY2FjaGVkX18oc2VsZik6CisgICAgICAgIHNwZWMgPSBzZWxmLm1hY2hpbmVyeS5Nb2R1bGVTcGVjKCd0ZXN0Jywgb2JqZWN0KCkpCisgICAgICAgIHNwZWMuY2FjaGVkID0gJ3NvbWUvcGF0aCcKKyAgICAgICAgc3BlYy5oYXNfbG9jYXRpb24gPSBUcnVlCisgICAgICAgIG1vZHVsZSA9IHNlbGYudXRpbC5tb2R1bGVfZnJvbV9zcGVjKHNwZWMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9kdWxlLl9fY2FjaGVkX18sIHNwZWMuY2FjaGVkKQorCisoRnJvemVuX01vZHVsZUZyb21TcGVjVGVzdHMsCisgU291cmNlX01vZHVsZUZyb21TcGVjVGVzdHMKKykgPSB1dGlsLnRlc3RfYm90aChNb2R1bGVGcm9tU3BlY1Rlc3RzLCBhYmM9YWJjLCBtYWNoaW5lcnk9bWFjaGluZXJ5LAorICAgICAgICAgICAgICAgICAgIHV0aWw9aW1wb3J0bGliX3V0aWwpCiAKIAogY2xhc3MgTW9kdWxlRm9yTG9hZGVyVGVzdHM6CkBAIC03MCw3ICsxNTYsNyBAQAogICAgICAgICAjIFRlc3QgdGhhdCB3aGVuIG5vIG1vZHVsZSBleGlzdHMgaW4gc3lzLm1vZHVsZXMgYSBuZXcgbW9kdWxlIGlzCiAgICAgICAgICMgY3JlYXRlZC4KICAgICAgICAgbW9kdWxlX25hbWUgPSAnYS5iLmMnCi0gICAgICAgIHdpdGggdGVzdF91dGlsLnVuY2FjaGUobW9kdWxlX25hbWUpOgorICAgICAgICB3aXRoIHV0aWwudW5jYWNoZShtb2R1bGVfbmFtZSk6CiAgICAgICAgICAgICBtb2R1bGUgPSBzZWxmLnJldHVybl9tb2R1bGUobW9kdWxlX25hbWUpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEluKG1vZHVsZV9uYW1lLCBzeXMubW9kdWxlcykKICAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKG1vZHVsZSwgdHlwZXMuTW9kdWxlVHlwZSkKQEAgLTg4LDcgKzE3NCw3IEBACiAgICAgICAgIG1vZHVsZSA9IHR5cGVzLk1vZHVsZVR5cGUoJ2EuYi5jJykKICAgICAgICAgbW9kdWxlLl9fbG9hZGVyX18gPSA0MgogICAgICAgICBtb2R1bGUuX19wYWNrYWdlX18gPSA0MgotICAgICAgICB3aXRoIHRlc3RfdXRpbC51bmNhY2hlKG5hbWUpOgorICAgICAgICB3aXRoIHV0aWwudW5jYWNoZShuYW1lKToKICAgICAgICAgICAgIHN5cy5tb2R1bGVzW25hbWVdID0gbW9kdWxlCiAgICAgICAgICAgICBsb2FkZXIgPSBGYWtlTG9hZGVyKCkKICAgICAgICAgICAgIHJldHVybmVkX21vZHVsZSA9IGxvYWRlci5sb2FkX21vZHVsZShuYW1lKQpAQCAtMTAwLDcgKzE4Niw3IEBACiAgICAgICAgICMgVGVzdCB0aGF0IGEgbW9kdWxlIGlzIHJlbW92ZWQgZnJvbSBzeXMubW9kdWxlcyBpZiBhZGRlZCBidXQgYW4KICAgICAgICAgIyBleGNlcHRpb24gaXMgcmFpc2VkLgogICAgICAgICBuYW1lID0gJ2EuYi5jJwotICAgICAgICB3aXRoIHRlc3RfdXRpbC51bmNhY2hlKG5hbWUpOgorICAgICAgICB3aXRoIHV0aWwudW5jYWNoZShuYW1lKToKICAgICAgICAgICAgIHNlbGYucmFpc2VfZXhjZXB0aW9uKG5hbWUpCiAgICAgICAgICAgICBzZWxmLmFzc2VydE5vdEluKG5hbWUsIHN5cy5tb2R1bGVzKQogCkBAIC0xMDgsNyArMTk0LDcgQEAKICAgICAgICAgIyBUZXN0IHRoYXQgYSBmYWlsdXJlIG9uIHJlbG9hZCBsZWF2ZXMgdGhlIG1vZHVsZSBpbi1wbGFjZS4KICAgICAgICAgbmFtZSA9ICdhLmIuYycKICAgICAgICAgbW9kdWxlID0gdHlwZXMuTW9kdWxlVHlwZShuYW1lKQotICAgICAgICB3aXRoIHRlc3RfdXRpbC51bmNhY2hlKG5hbWUpOgorICAgICAgICB3aXRoIHV0aWwudW5jYWNoZShuYW1lKToKICAgICAgICAgICAgIHN5cy5tb2R1bGVzW25hbWVdID0gbW9kdWxlCiAgICAgICAgICAgICBzZWxmLnJhaXNlX2V4Y2VwdGlvbihuYW1lKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhtb2R1bGUsIHN5cy5tb2R1bGVzW25hbWVdKQpAQCAtMTI3LDcgKzIxMyw3IEBACiAKICAgICAgICAgbmFtZSA9ICdtb2QnCiAgICAgICAgIG1vZHVsZSA9IEZhbHNlTW9kdWxlKG5hbWUpCi0gICAgICAgIHdpdGggdGVzdF91dGlsLnVuY2FjaGUobmFtZSk6CisgICAgICAgIHdpdGggdXRpbC51bmNhY2hlKG5hbWUpOgogICAgICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShtb2R1bGUpCiAgICAgICAgICAgICBzeXMubW9kdWxlc1tuYW1lXSA9IG1vZHVsZQogICAgICAgICAgICAgZ2l2ZW4gPSBzZWxmLnJldHVybl9tb2R1bGUobmFtZSkKQEAgLTE0Niw3ICsyMzIsNyBAQAogICAgICAgICAgICAgICAgIHJldHVybiBtb2R1bGUKIAogICAgICAgICBuYW1lID0gJ3BrZy5tb2QnCi0gICAgICAgIHdpdGggdGVzdF91dGlsLnVuY2FjaGUobmFtZSk6CisgICAgICAgIHdpdGggdXRpbC51bmNhY2hlKG5hbWUpOgogICAgICAgICAgICAgbG9hZGVyID0gRmFrZUxvYWRlcihGYWxzZSkKICAgICAgICAgICAgIG1vZHVsZSA9IGxvYWRlci5sb2FkX21vZHVsZShuYW1lKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2R1bGUuX19uYW1lX18sIG5hbWUpCkBAIC0xNTQsMTUgKzI0MCwxNyBAQAogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2R1bGUuX19wYWNrYWdlX18sICdwa2cnKQogCiAgICAgICAgIG5hbWUgPSAncGtnLnN1YicKLSAgICAgICAgd2l0aCB0ZXN0X3V0aWwudW5jYWNoZShuYW1lKToKKyAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUobmFtZSk6CiAgICAgICAgICAgICBsb2FkZXIgPSBGYWtlTG9hZGVyKFRydWUpCiAgICAgICAgICAgICBtb2R1bGUgPSBsb2FkZXIubG9hZF9tb2R1bGUobmFtZSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9kdWxlLl9fbmFtZV9fLCBuYW1lKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhtb2R1bGUuX19sb2FkZXJfXywgbG9hZGVyKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2R1bGUuX19wYWNrYWdlX18sIG5hbWUpCiAKLUZyb3plbl9Nb2R1bGVGb3JMb2FkZXJUZXN0cywgU291cmNlX01vZHVsZUZvckxvYWRlclRlc3RzID0gdGVzdF91dGlsLnRlc3RfYm90aCgKLSAgICAgICAgTW9kdWxlRm9yTG9hZGVyVGVzdHMsIHV0aWw9W2Zyb3plbl91dGlsLCBzb3VyY2VfdXRpbF0pCisKKyhGcm96ZW5fTW9kdWxlRm9yTG9hZGVyVGVzdHMsCisgU291cmNlX01vZHVsZUZvckxvYWRlclRlc3RzCisgKSA9IHV0aWwudGVzdF9ib3RoKE1vZHVsZUZvckxvYWRlclRlc3RzLCB1dGlsPWltcG9ydGxpYl91dGlsKQogCiAKIGNsYXNzIFNldFBhY2thZ2VUZXN0czoKQEAgLTIyMiwxOCArMzEwLDI1IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwod3JhcHBlZC5fX25hbWVfXywgZnhuLl9fbmFtZV9fKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHdyYXBwZWQuX19xdWFsbmFtZV9fLCBmeG4uX19xdWFsbmFtZV9fKQogCi1Gcm96ZW5fU2V0UGFja2FnZVRlc3RzLCBTb3VyY2VfU2V0UGFja2FnZVRlc3RzID0gdGVzdF91dGlsLnRlc3RfYm90aCgKLSAgICAgICAgU2V0UGFja2FnZVRlc3RzLCB1dGlsPVtmcm96ZW5fdXRpbCwgc291cmNlX3V0aWxdKQorCisoRnJvemVuX1NldFBhY2thZ2VUZXN0cywKKyBTb3VyY2VfU2V0UGFja2FnZVRlc3RzCisgKSA9IHV0aWwudGVzdF9ib3RoKFNldFBhY2thZ2VUZXN0cywgdXRpbD1pbXBvcnRsaWJfdXRpbCkKIAogCiBjbGFzcyBTZXRMb2FkZXJUZXN0czoKIAogICAgICIiIlRlc3RzIGltcG9ydGxpYi51dGlsLnNldF9sb2FkZXIoKS4iIiIKIAotICAgIGNsYXNzIER1bW15TG9hZGVyOgotICAgICAgICBAdXRpbC5zZXRfbG9hZGVyCi0gICAgICAgIGRlZiBsb2FkX21vZHVsZShzZWxmLCBtb2R1bGUpOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYubW9kdWxlCisgICAgQHByb3BlcnR5CisgICAgZGVmIER1bW15TG9hZGVyKHNlbGYpOgorICAgICAgICAjIFNldCBEdW1teUxvYWRlciBvbiB0aGUgY2xhc3MgbGF6aWx5LgorICAgICAgICBjbGFzcyBEdW1teUxvYWRlcjoKKyAgICAgICAgICAgIEBzZWxmLnV0aWwuc2V0X2xvYWRlcgorICAgICAgICAgICAgZGVmIGxvYWRfbW9kdWxlKHNlbGYsIG1vZHVsZSk6CisgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYubW9kdWxlCisgICAgICAgIHNlbGYuX19jbGFzc19fLkR1bW15TG9hZGVyID0gRHVtbXlMb2FkZXIKKyAgICAgICAgcmV0dXJuIER1bW15TG9hZGVyCiAKICAgICBkZWYgdGVzdF9ub19hdHRyaWJ1dGUoc2VsZik6CiAgICAgICAgIGxvYWRlciA9IHNlbGYuRHVtbXlMb2FkZXIoKQpAQCAtMjYyLDE3ICszNTcsMTAgQEAKICAgICAgICAgICAgIHdhcm5pbmdzLnNpbXBsZWZpbHRlcignaWdub3JlJywgRGVwcmVjYXRpb25XYXJuaW5nKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCg0MiwgbG9hZGVyLmxvYWRfbW9kdWxlKCdibGFoJykuX19sb2FkZXJfXykKIAotY2xhc3MgRnJvemVuX1NldExvYWRlclRlc3RzKFNldExvYWRlclRlc3RzLCB1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgY2xhc3MgRHVtbXlMb2FkZXI6Ci0gICAgICAgIEBmcm96ZW5fdXRpbC5zZXRfbG9hZGVyCi0gICAgICAgIGRlZiBsb2FkX21vZHVsZShzZWxmLCBtb2R1bGUpOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYubW9kdWxlCiAKLWNsYXNzIFNvdXJjZV9TZXRMb2FkZXJUZXN0cyhTZXRMb2FkZXJUZXN0cywgdW5pdHRlc3QuVGVzdENhc2UpOgotICAgIGNsYXNzIER1bW15TG9hZGVyOgotICAgICAgICBAc291cmNlX3V0aWwuc2V0X2xvYWRlcgotICAgICAgICBkZWYgbG9hZF9tb2R1bGUoc2VsZiwgbW9kdWxlKToKLSAgICAgICAgICAgIHJldHVybiBzZWxmLm1vZHVsZQorKEZyb3plbl9TZXRMb2FkZXJUZXN0cywKKyBTb3VyY2VfU2V0TG9hZGVyVGVzdHMKKyApID0gdXRpbC50ZXN0X2JvdGgoU2V0TG9hZGVyVGVzdHMsIHV0aWw9aW1wb3J0bGliX3V0aWwpCiAKIAogY2xhc3MgUmVzb2x2ZU5hbWVUZXN0czoKQEAgLTMwNyw5ICszOTUsMTAgQEAKICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yKToKICAgICAgICAgICAgIHNlbGYudXRpbC5yZXNvbHZlX25hbWUoJy4uYmFjb24nLCAnc3BhbScpCiAKLUZyb3plbl9SZXNvbHZlTmFtZVRlc3RzLCBTb3VyY2VfUmVzb2x2ZU5hbWVUZXN0cyA9IHRlc3RfdXRpbC50ZXN0X2JvdGgoCi0gICAgICAgIFJlc29sdmVOYW1lVGVzdHMsCi0gICAgICAgIHV0aWw9W2Zyb3plbl91dGlsLCBzb3VyY2VfdXRpbF0pCisKKyhGcm96ZW5fUmVzb2x2ZU5hbWVUZXN0cywKKyBTb3VyY2VfUmVzb2x2ZU5hbWVUZXN0cworICkgPSB1dGlsLnRlc3RfYm90aChSZXNvbHZlTmFtZVRlc3RzLCB1dGlsPWltcG9ydGxpYl91dGlsKQogCiAKIGNsYXNzIEZpbmRTcGVjVGVzdHM6CkBAIC0zMjAsNyArNDA5LDcgQEAKIAogICAgIGRlZiB0ZXN0X3N5c19tb2R1bGVzKHNlbGYpOgogICAgICAgICBuYW1lID0gJ3NvbWVfbW9kJwotICAgICAgICB3aXRoIHRlc3RfdXRpbC51bmNhY2hlKG5hbWUpOgorICAgICAgICB3aXRoIHV0aWwudW5jYWNoZShuYW1lKToKICAgICAgICAgICAgIG1vZHVsZSA9IHR5cGVzLk1vZHVsZVR5cGUobmFtZSkKICAgICAgICAgICAgIGxvYWRlciA9ICdhIGxvYWRlciEnCiAgICAgICAgICAgICBzcGVjID0gc2VsZi5tYWNoaW5lcnkuTW9kdWxlU3BlYyhuYW1lLCBsb2FkZXIpCkBAIC0zMzIsNyArNDIxLDcgQEAKIAogICAgIGRlZiB0ZXN0X3N5c19tb2R1bGVzX3dpdGhvdXRfX19sb2FkZXJfXyhzZWxmKToKICAgICAgICAgbmFtZSA9ICdzb21lX21vZCcKLSAgICAgICAgd2l0aCB0ZXN0X3V0aWwudW5jYWNoZShuYW1lKToKKyAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUobmFtZSk6CiAgICAgICAgICAgICBtb2R1bGUgPSB0eXBlcy5Nb2R1bGVUeXBlKG5hbWUpCiAgICAgICAgICAgICBkZWwgbW9kdWxlLl9fbG9hZGVyX18KICAgICAgICAgICAgIGxvYWRlciA9ICdhIGxvYWRlciEnCkBAIC0zNDQsNyArNDMzLDcgQEAKIAogICAgIGRlZiB0ZXN0X3N5c19tb2R1bGVzX3NwZWNfaXNfTm9uZShzZWxmKToKICAgICAgICAgbmFtZSA9ICdzb21lX21vZCcKLSAgICAgICAgd2l0aCB0ZXN0X3V0aWwudW5jYWNoZShuYW1lKToKKyAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUobmFtZSk6CiAgICAgICAgICAgICBtb2R1bGUgPSB0eXBlcy5Nb2R1bGVUeXBlKG5hbWUpCiAgICAgICAgICAgICBtb2R1bGUuX19zcGVjX18gPSBOb25lCiAgICAgICAgICAgICBzeXMubW9kdWxlc1tuYW1lXSA9IG1vZHVsZQpAQCAtMzUzLDcgKzQ0Miw3IEBACiAKICAgICBkZWYgdGVzdF9zeXNfbW9kdWxlc19sb2FkZXJfaXNfTm9uZShzZWxmKToKICAgICAgICAgbmFtZSA9ICdzb21lX21vZCcKLSAgICAgICAgd2l0aCB0ZXN0X3V0aWwudW5jYWNoZShuYW1lKToKKyAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUobmFtZSk6CiAgICAgICAgICAgICBtb2R1bGUgPSB0eXBlcy5Nb2R1bGVUeXBlKG5hbWUpCiAgICAgICAgICAgICBzcGVjID0gc2VsZi5tYWNoaW5lcnkuTW9kdWxlU3BlYyhuYW1lLCBOb25lKQogICAgICAgICAgICAgbW9kdWxlLl9fc3BlY19fID0gc3BlYwpAQCAtMzYzLDcgKzQ1Miw3IEBACiAKICAgICBkZWYgdGVzdF9zeXNfbW9kdWxlc19zcGVjX2lzX25vdF9zZXQoc2VsZik6CiAgICAgICAgIG5hbWUgPSAnc29tZV9tb2QnCi0gICAgICAgIHdpdGggdGVzdF91dGlsLnVuY2FjaGUobmFtZSk6CisgICAgICAgIHdpdGggdXRpbC51bmNhY2hlKG5hbWUpOgogICAgICAgICAgICAgbW9kdWxlID0gdHlwZXMuTW9kdWxlVHlwZShuYW1lKQogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIGRlbCBtb2R1bGUuX19zcGVjX18KQEAgLTM3NSw4ICs0NjQsOCBAQAogCiAgICAgZGVmIHRlc3Rfc3VjY2VzcyhzZWxmKToKICAgICAgICAgbmFtZSA9ICdzb21lX21vZCcKLSAgICAgICAgd2l0aCB0ZXN0X3V0aWwudW5jYWNoZShuYW1lKToKLSAgICAgICAgICAgIHdpdGggdGVzdF91dGlsLmltcG9ydF9zdGF0ZShtZXRhX3BhdGg9W3NlbGYuRmFrZU1ldGFGaW5kZXJdKToKKyAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUobmFtZSk6CisgICAgICAgICAgICB3aXRoIHV0aWwuaW1wb3J0X3N0YXRlKG1ldGFfcGF0aD1bc2VsZi5GYWtlTWV0YUZpbmRlcl0pOgogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoKG5hbWUsIE5vbmUsIE5vbmUpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi51dGlsLmZpbmRfc3BlYyhuYW1lKSkKIApAQCAtMzg0LDggKzQ3Myw4IEBACiAjICAgICAgICAjIFNlYXJjaGluZyBvbiBhIHBhdGggc2hvdWxkIHdvcmsuCiAjICAgICAgICBuYW1lID0gJ3NvbWVfbW9kJwogIyAgICAgICAgcGF0aCA9ICdwYXRoIHRvIHNvbWUgcGxhY2UnCi0jICAgICAgICB3aXRoIHRlc3RfdXRpbC51bmNhY2hlKG5hbWUpOgotIyAgICAgICAgICAgIHdpdGggdGVzdF91dGlsLmltcG9ydF9zdGF0ZShtZXRhX3BhdGg9W3NlbGYuRmFrZU1ldGFGaW5kZXJdKToKKyMgICAgICAgIHdpdGggdXRpbC51bmNhY2hlKG5hbWUpOgorIyAgICAgICAgICAgIHdpdGggdXRpbC5pbXBvcnRfc3RhdGUobWV0YV9wYXRoPVtzZWxmLkZha2VNZXRhRmluZGVyXSk6CiAjICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoKG5hbWUsIHBhdGgsIE5vbmUpLAogIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYudXRpbC5maW5kX3NwZWMobmFtZSwgcGF0aCkpCiAKQEAgLTM5Niw4ICs0ODUsOCBAQAogICAgIGRlZiB0ZXN0X2ZpbmRfc3VibW9kdWxlKHNlbGYpOgogICAgICAgICBuYW1lID0gJ3NwYW0nCiAgICAgICAgIHN1Ym5hbWUgPSAnaGFtJwotICAgICAgICB3aXRoIHRlc3RfdXRpbC50ZW1wX21vZHVsZShuYW1lLCBwa2c9VHJ1ZSkgYXMgcGtnX2RpcjoKLSAgICAgICAgICAgIGZ1bGxuYW1lLCBfID0gdGVzdF91dGlsLnN1Ym1vZHVsZShuYW1lLCBzdWJuYW1lLCBwa2dfZGlyKQorICAgICAgICB3aXRoIHV0aWwudGVtcF9tb2R1bGUobmFtZSwgcGtnPVRydWUpIGFzIHBrZ19kaXI6CisgICAgICAgICAgICBmdWxsbmFtZSwgXyA9IHV0aWwuc3VibW9kdWxlKG5hbWUsIHN1Ym5hbWUsIHBrZ19kaXIpCiAgICAgICAgICAgICBzcGVjID0gc2VsZi51dGlsLmZpbmRfc3BlYyhmdWxsbmFtZSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb3Qoc3BlYywgTm9uZSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4obmFtZSwgc29ydGVkKHN5cy5tb2R1bGVzKSkKQEAgLTQwOSw5ICs0OTgsOSBAQAogICAgIGRlZiB0ZXN0X2ZpbmRfc3VibW9kdWxlX3BhcmVudF9hbHJlYWR5X2ltcG9ydGVkKHNlbGYpOgogICAgICAgICBuYW1lID0gJ3NwYW0nCiAgICAgICAgIHN1Ym5hbWUgPSAnaGFtJwotICAgICAgICB3aXRoIHRlc3RfdXRpbC50ZW1wX21vZHVsZShuYW1lLCBwa2c9VHJ1ZSkgYXMgcGtnX2RpcjoKKyAgICAgICAgd2l0aCB1dGlsLnRlbXBfbW9kdWxlKG5hbWUsIHBrZz1UcnVlKSBhcyBwa2dfZGlyOgogICAgICAgICAgICAgc2VsZi5pbml0LmltcG9ydF9tb2R1bGUobmFtZSkKLSAgICAgICAgICAgIGZ1bGxuYW1lLCBfID0gdGVzdF91dGlsLnN1Ym1vZHVsZShuYW1lLCBzdWJuYW1lLCBwa2dfZGlyKQorICAgICAgICAgICAgZnVsbG5hbWUsIF8gPSB1dGlsLnN1Ym1vZHVsZShuYW1lLCBzdWJuYW1lLCBwa2dfZGlyKQogICAgICAgICAgICAgc3BlYyA9IHNlbGYudXRpbC5maW5kX3NwZWMoZnVsbG5hbWUpCiAgICAgICAgICAgICBzZWxmLmFzc2VydElzTm90KHNwZWMsIE5vbmUpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEluKG5hbWUsIHNvcnRlZChzeXMubW9kdWxlcykpCkBAIC00MjMsOCArNTEyLDggQEAKICAgICBkZWYgdGVzdF9maW5kX3JlbGF0aXZlX21vZHVsZShzZWxmKToKICAgICAgICAgbmFtZSA9ICdzcGFtJwogICAgICAgICBzdWJuYW1lID0gJ2hhbScKLSAgICAgICAgd2l0aCB0ZXN0X3V0aWwudGVtcF9tb2R1bGUobmFtZSwgcGtnPVRydWUpIGFzIHBrZ19kaXI6Ci0gICAgICAgICAgICBmdWxsbmFtZSwgXyA9IHRlc3RfdXRpbC5zdWJtb2R1bGUobmFtZSwgc3VibmFtZSwgcGtnX2RpcikKKyAgICAgICAgd2l0aCB1dGlsLnRlbXBfbW9kdWxlKG5hbWUsIHBrZz1UcnVlKSBhcyBwa2dfZGlyOgorICAgICAgICAgICAgZnVsbG5hbWUsIF8gPSB1dGlsLnN1Ym1vZHVsZShuYW1lLCBzdWJuYW1lLCBwa2dfZGlyKQogICAgICAgICAgICAgcmVsbmFtZSA9ICcuJyArIHN1Ym5hbWUKICAgICAgICAgICAgIHNwZWMgPSBzZWxmLnV0aWwuZmluZF9zcGVjKHJlbG5hbWUsIG5hbWUpCiAgICAgICAgICAgICBzZWxmLmFzc2VydElzTm90KHNwZWMsIE5vbmUpCkBAIC00MzcsOCArNTI2LDggQEAKICAgICBkZWYgdGVzdF9maW5kX3JlbGF0aXZlX21vZHVsZV9taXNzaW5nX3BhY2thZ2Uoc2VsZik6CiAgICAgICAgIG5hbWUgPSAnc3BhbScKICAgICAgICAgc3VibmFtZSA9ICdoYW0nCi0gICAgICAgIHdpdGggdGVzdF91dGlsLnRlbXBfbW9kdWxlKG5hbWUsIHBrZz1UcnVlKSBhcyBwa2dfZGlyOgotICAgICAgICAgICAgZnVsbG5hbWUsIF8gPSB0ZXN0X3V0aWwuc3VibW9kdWxlKG5hbWUsIHN1Ym5hbWUsIHBrZ19kaXIpCisgICAgICAgIHdpdGggdXRpbC50ZW1wX21vZHVsZShuYW1lLCBwa2c9VHJ1ZSkgYXMgcGtnX2RpcjoKKyAgICAgICAgICAgIGZ1bGxuYW1lLCBfID0gdXRpbC5zdWJtb2R1bGUobmFtZSwgc3VibmFtZSwgcGtnX2RpcikKICAgICAgICAgICAgIHJlbG5hbWUgPSAnLicgKyBzdWJuYW1lCiAgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgogICAgICAgICAgICAgICAgIHNlbGYudXRpbC5maW5kX3NwZWMocmVsbmFtZSkKQEAgLTQ0NiwxNSArNTM1LDEwIEBACiAgICAgICAgICAgICBzZWxmLmFzc2VydE5vdEluKGZ1bGxuYW1lLCBzb3J0ZWQoc3lzLm1vZHVsZXMpKQogCiAKLWNsYXNzIEZyb3plbl9GaW5kU3BlY1Rlc3RzKEZpbmRTcGVjVGVzdHMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICBpbml0ID0gZnJvemVuX2luaXQKLSAgICBtYWNoaW5lcnkgPSBmcm96ZW5fbWFjaGluZXJ5Ci0gICAgdXRpbCA9IGZyb3plbl91dGlsCi0KLWNsYXNzIFNvdXJjZV9GaW5kU3BlY1Rlc3RzKEZpbmRTcGVjVGVzdHMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICBpbml0ID0gc291cmNlX2luaXQKLSAgICBtYWNoaW5lcnkgPSBzb3VyY2VfbWFjaGluZXJ5Ci0gICAgdXRpbCA9IHNvdXJjZV91dGlsCisoRnJvemVuX0ZpbmRTcGVjVGVzdHMsCisgU291cmNlX0ZpbmRTcGVjVGVzdHMKKyApID0gdXRpbC50ZXN0X2JvdGgoRmluZFNwZWNUZXN0cywgaW5pdD1pbml0LCB1dGlsPWltcG9ydGxpYl91dGlsLAorICAgICAgICAgICAgICAgICAgICAgICAgIG1hY2hpbmVyeT1tYWNoaW5lcnkpCiAKIAogY2xhc3MgTWFnaWNOdW1iZXJUZXN0czoKQEAgLTQ2Nyw4ICs1NTEsMTAgQEAKICAgICAgICAgIyBUaGUgbWFnaWMgbnVtYmVyIHVzZXMgXHJcbiB0byBjb21lIG91dCB3cm9uZyB3aGVuIHNwbGl0dGluZyBvbiBsaW5lcy4KICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNlbGYudXRpbC5NQUdJQ19OVU1CRVIuZW5kc3dpdGgoYidcclxuJykpCiAKLUZyb3plbl9NYWdpY051bWJlclRlc3RzLCBTb3VyY2VfTWFnaWNOdW1iZXJUZXN0cyA9IHRlc3RfdXRpbC50ZXN0X2JvdGgoCi0gICAgICAgIE1hZ2ljTnVtYmVyVGVzdHMsIHV0aWw9W2Zyb3plbl91dGlsLCBzb3VyY2VfdXRpbF0pCisKKyhGcm96ZW5fTWFnaWNOdW1iZXJUZXN0cywKKyBTb3VyY2VfTWFnaWNOdW1iZXJUZXN0cworICkgPSB1dGlsLnRlc3RfYm90aChNYWdpY051bWJlclRlc3RzLCB1dGlsPWltcG9ydGxpYl91dGlsKQogCiAKIGNsYXNzIFBFUDMxNDdUZXN0czoKQEAgLTU4Myw5ICs2NjksMTAgQEAKICAgICAgICAgICAgIFZhbHVlRXJyb3IsIHNlbGYudXRpbC5zb3VyY2VfZnJvbV9jYWNoZSwKICAgICAgICAgICAgICcvZm9vL2Jhci9mb28uY3B5dGhvbi0zMi5mb28ucHljJykKIAotRnJvemVuX1BFUDMxNDdUZXN0cywgU291cmNlX1BFUDMxNDdUZXN0cyA9IHRlc3RfdXRpbC50ZXN0X2JvdGgoCi0gICAgICAgIFBFUDMxNDdUZXN0cywKLSAgICAgICAgdXRpbD1bZnJvemVuX3V0aWwsIHNvdXJjZV91dGlsXSkKKworKEZyb3plbl9QRVAzMTQ3VGVzdHMsCisgU291cmNlX1BFUDMxNDdUZXN0cworICkgPSB1dGlsLnRlc3RfYm90aChQRVAzMTQ3VGVzdHMsIHV0aWw9aW1wb3J0bGliX3V0aWwpCiAKIAogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3Rlc3Rfd2luZG93cy5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3Rlc3Rfd2luZG93cy5weQppbmRleCA5NmI0YWRjLi5jODkzYmNmIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi90ZXN0X3dpbmRvd3MucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvdGVzdF93aW5kb3dzLnB5CkBAIC0xLDE0ICsxLDY0IEBACi1mcm9tIC4gaW1wb3J0IHV0aWwKLWZyb3plbl9tYWNoaW5lcnksIHNvdXJjZV9tYWNoaW5lcnkgPSB1dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYi5tYWNoaW5lcnknKQorZnJvbSAuIGltcG9ydCB1dGlsIGFzIHRlc3RfdXRpbAorbWFjaGluZXJ5ID0gdGVzdF91dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYi5tYWNoaW5lcnknKQogCitpbXBvcnQgb3MKK2ltcG9ydCByZQogaW1wb3J0IHN5cwogaW1wb3J0IHVuaXR0ZXN0Citmcm9tIHRlc3QgaW1wb3J0IHN1cHBvcnQKK2Zyb20gZGlzdHV0aWxzLnV0aWwgaW1wb3J0IGdldF9wbGF0Zm9ybQorZnJvbSBjb250ZXh0bGliIGltcG9ydCBjb250ZXh0bWFuYWdlcgorZnJvbSAudXRpbCBpbXBvcnQgdGVtcF9tb2R1bGUKKworc3VwcG9ydC5pbXBvcnRfbW9kdWxlKCd3aW5yZWcnLCByZXF1aXJlZF9vbj1bJ3dpbiddKQorZnJvbSB3aW5yZWcgaW1wb3J0ICgKKyAgICBDcmVhdGVLZXksIEhLRVlfQ1VSUkVOVF9VU0VSLAorICAgIFNldFZhbHVlLCBSRUdfU1osIEtFWV9BTExfQUNDRVNTLAorICAgIEVudW1LZXksIENsb3NlS2V5LCBEZWxldGVLZXksIE9wZW5LZXkKKykKKworZGVmIGRlbGV0ZV9yZWdpc3RyeV90cmVlKHJvb3QsIHN1YmtleSk6CisgICAgdHJ5OgorICAgICAgICBoa2V5ID0gT3BlbktleShyb290LCBzdWJrZXksIGFjY2Vzcz1LRVlfQUxMX0FDQ0VTUykKKyAgICBleGNlcHQgT1NFcnJvcjoKKyAgICAgICAgIyBzdWJrZXkgZG9lcyBub3QgZXhpc3QKKyAgICAgICAgcmV0dXJuCisgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc3Vic3Via2V5ID0gRW51bUtleShoa2V5LCAwKQorICAgICAgICBleGNlcHQgT1NFcnJvcjoKKyAgICAgICAgICAgICMgbm8gbW9yZSBzdWJrZXlzCisgICAgICAgICAgICBicmVhaworICAgICAgICBkZWxldGVfcmVnaXN0cnlfdHJlZShoa2V5LCBzdWJzdWJrZXkpCisgICAgQ2xvc2VLZXkoaGtleSkKKyAgICBEZWxldGVLZXkocm9vdCwgc3Via2V5KQorCitAY29udGV4dG1hbmFnZXIKK2RlZiBzZXR1cF9tb2R1bGUobWFjaGluZXJ5LCBuYW1lLCBwYXRoPU5vbmUpOgorICAgIGlmIG1hY2hpbmVyeS5XaW5kb3dzUmVnaXN0cnlGaW5kZXIuREVCVUdfQlVJTEQ6CisgICAgICAgIHJvb3QgPSBtYWNoaW5lcnkuV2luZG93c1JlZ2lzdHJ5RmluZGVyLlJFR0lTVFJZX0tFWV9ERUJVRworICAgIGVsc2U6CisgICAgICAgIHJvb3QgPSBtYWNoaW5lcnkuV2luZG93c1JlZ2lzdHJ5RmluZGVyLlJFR0lTVFJZX0tFWQorICAgIGtleSA9IHJvb3QuZm9ybWF0KGZ1bGxuYW1lPW5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgc3lzX3ZlcnNpb249c3lzLnZlcnNpb25bOjNdKQorICAgIHRyeToKKyAgICAgICAgd2l0aCB0ZW1wX21vZHVsZShuYW1lLCAiYSA9IDEiKSBhcyBsb2NhdGlvbjoKKyAgICAgICAgICAgIHN1YmtleSA9IENyZWF0ZUtleShIS0VZX0NVUlJFTlRfVVNFUiwga2V5KQorICAgICAgICAgICAgaWYgcGF0aCBpcyBOb25lOgorICAgICAgICAgICAgICAgIHBhdGggPSBsb2NhdGlvbiArICIucHkiCisgICAgICAgICAgICBTZXRWYWx1ZShzdWJrZXksICIiLCBSRUdfU1osIHBhdGgpCisgICAgICAgICAgICB5aWVsZAorICAgIGZpbmFsbHk6CisgICAgICAgIGlmIG1hY2hpbmVyeS5XaW5kb3dzUmVnaXN0cnlGaW5kZXIuREVCVUdfQlVJTEQ6CisgICAgICAgICAgICBrZXkgPSBvcy5wYXRoLmRpcm5hbWUoa2V5KQorICAgICAgICBkZWxldGVfcmVnaXN0cnlfdHJlZShIS0VZX0NVUlJFTlRfVVNFUiwga2V5KQogCiAKIEB1bml0dGVzdC5za2lwVW5sZXNzKHN5cy5wbGF0Zm9ybS5zdGFydHN3aXRoKCd3aW4nKSwgJ3JlcXVpcmVzIFdpbmRvd3MnKQogY2xhc3MgV2luZG93c1JlZ2lzdHJ5RmluZGVyVGVzdHM6Ci0KLSAgICAjIFhYWCBOZWVkIGEgdGVzdCB0aGF0IGZpbmRzIHRoZSBzcGVjIHZpYSB0aGUgcmVnaXN0cnkuCisgICAgIyBUaGUgbW9kdWxlIG5hbWUgaXMgcHJvY2Vzcy1zcGVjaWZpYywgYWxsb3dpbmcgZm9yCisgICAgIyBzaW11bHRhbmVvdXMgcnVucyBvZiB0aGUgc2FtZSB0ZXN0IG9uIGEgc2luZ2xlIG1hY2hpbmUuCisgICAgdGVzdF9tb2R1bGUgPSAic3BhbWhhbXt9Ii5mb3JtYXQob3MuZ2V0cGlkKCkpCiAKICAgICBkZWYgdGVzdF9maW5kX3NwZWNfbWlzc2luZyhzZWxmKToKICAgICAgICAgc3BlYyA9IHNlbGYubWFjaGluZXJ5LldpbmRvd3NSZWdpc3RyeUZpbmRlci5maW5kX3NwZWMoJ3NwYW0nKQpAQCAtMTgsMTIgKzY4LDQyIEBACiAgICAgICAgIGxvYWRlciA9IHNlbGYubWFjaGluZXJ5LldpbmRvd3NSZWdpc3RyeUZpbmRlci5maW5kX21vZHVsZSgnc3BhbScpCiAgICAgICAgIHNlbGYuYXNzZXJ0SXMobG9hZGVyLCBOb25lKQogCisgICAgZGVmIHRlc3RfbW9kdWxlX2ZvdW5kKHNlbGYpOgorICAgICAgICB3aXRoIHNldHVwX21vZHVsZShzZWxmLm1hY2hpbmVyeSwgc2VsZi50ZXN0X21vZHVsZSk6CisgICAgICAgICAgICBsb2FkZXIgPSBzZWxmLm1hY2hpbmVyeS5XaW5kb3dzUmVnaXN0cnlGaW5kZXIuZmluZF9tb2R1bGUoc2VsZi50ZXN0X21vZHVsZSkKKyAgICAgICAgICAgIHNwZWMgPSBzZWxmLm1hY2hpbmVyeS5XaW5kb3dzUmVnaXN0cnlGaW5kZXIuZmluZF9zcGVjKHNlbGYudGVzdF9tb2R1bGUpCisgICAgICAgICAgICBzZWxmLmFzc2VydElzTm90KGxvYWRlciwgTm9uZSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb3Qoc3BlYywgTm9uZSkKIAotY2xhc3MgRnJvemVuX1dpbmRvd3NSZWdpc3RyeUZpbmRlclRlc3RzKFdpbmRvd3NSZWdpc3RyeUZpbmRlclRlc3RzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICBtYWNoaW5lcnkgPSBmcm96ZW5fbWFjaGluZXJ5CisgICAgZGVmIHRlc3RfbW9kdWxlX25vdF9mb3VuZChzZWxmKToKKyAgICAgICAgd2l0aCBzZXR1cF9tb2R1bGUoc2VsZi5tYWNoaW5lcnksIHNlbGYudGVzdF9tb2R1bGUsIHBhdGg9Ii4iKToKKyAgICAgICAgICAgIGxvYWRlciA9IHNlbGYubWFjaGluZXJ5LldpbmRvd3NSZWdpc3RyeUZpbmRlci5maW5kX21vZHVsZShzZWxmLnRlc3RfbW9kdWxlKQorICAgICAgICAgICAgc3BlYyA9IHNlbGYubWFjaGluZXJ5LldpbmRvd3NSZWdpc3RyeUZpbmRlci5maW5kX3NwZWMoc2VsZi50ZXN0X21vZHVsZSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKGxvYWRlcikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHNwZWMpCiAKKyhGcm96ZW5fV2luZG93c1JlZ2lzdHJ5RmluZGVyVGVzdHMsCisgU291cmNlX1dpbmRvd3NSZWdpc3RyeUZpbmRlclRlc3RzCisgKSA9IHRlc3RfdXRpbC50ZXN0X2JvdGgoV2luZG93c1JlZ2lzdHJ5RmluZGVyVGVzdHMsIG1hY2hpbmVyeT1tYWNoaW5lcnkpCiAKLWNsYXNzIFNvdXJjZV9XaW5kb3dzUmVnaXN0cnlGaW5kZXJUZXN0cyhXaW5kb3dzUmVnaXN0cnlGaW5kZXJUZXN0cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgbWFjaGluZXJ5ID0gc291cmNlX21hY2hpbmVyeQorQHVuaXR0ZXN0LnNraXBVbmxlc3Moc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoJ3dpbicpLCAncmVxdWlyZXMgV2luZG93cycpCitjbGFzcyBXaW5kb3dzRXh0ZW5zaW9uU3VmZml4VGVzdHM6CisgICAgZGVmIHRlc3RfdGFnZ2VkX3N1ZmZpeChzZWxmKToKKyAgICAgICAgc3VmZml4ZXMgPSBzZWxmLm1hY2hpbmVyeS5FWFRFTlNJT05fU1VGRklYRVMKKyAgICAgICAgZXhwZWN0ZWRfdGFnID0gIi5jcHswLm1ham9yfXswLm1pbm9yfS17MX0ucHlkIi5mb3JtYXQoc3lzLnZlcnNpb25faW5mbywKKyAgICAgICAgICAgIHJlLnN1YignW15hLXpBLVowLTldJywgJ18nLCBnZXRfcGxhdGZvcm0oKSkpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHVudGFnZ2VkX2kgPSBzdWZmaXhlcy5pbmRleCgiLnB5ZCIpCisgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgorICAgICAgICAgICAgdW50YWdnZWRfaSA9IHN1ZmZpeGVzLmluZGV4KCJfZC5weWQiKQorICAgICAgICAgICAgZXhwZWN0ZWRfdGFnID0gIl9kIiArIGV4cGVjdGVkX3RhZworCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oZXhwZWN0ZWRfdGFnLCBzdWZmaXhlcykKKworICAgICAgICAjIEVuc3VyZSB0aGUgdGFncyBhcmUgaW4gdGhlIGNvcnJlY3Qgb3JkZXIKKyAgICAgICAgdGFnZ2VkX2kgPSBzdWZmaXhlcy5pbmRleChleHBlY3RlZF90YWcpCisgICAgICAgIHNlbGYuYXNzZXJ0TGVzcyh0YWdnZWRfaSwgdW50YWdnZWRfaSkKKworKEZyb3plbl9XaW5kb3dzRXh0ZW5zaW9uU3VmZml4VGVzdHMsCisgU291cmNlX1dpbmRvd3NFeHRlbnNpb25TdWZmaXhUZXN0cworICkgPSB0ZXN0X3V0aWwudGVzdF9ib3RoKFdpbmRvd3NFeHRlbnNpb25TdWZmaXhUZXN0cywgbWFjaGluZXJ5PW1hY2hpbmVyeSkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3V0aWwucHkgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi91dGlsLnB5CmluZGV4IDg4NWNlYzMuLmFhNGNkN2UgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3V0aWwucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvdXRpbC5weQpAQCAtMSwzMSArMSw4NSBAQAotZnJvbSBjb250ZXh0bGliIGltcG9ydCBjb250ZXh0bWFuYWdlcgotZnJvbSBpbXBvcnRsaWIgaW1wb3J0IHV0aWwsIGludmFsaWRhdGVfY2FjaGVzCitpbXBvcnQgYnVpbHRpbnMKK2ltcG9ydCBjb250ZXh0bGliCitpbXBvcnQgZXJybm8KK2ltcG9ydCBmdW5jdG9vbHMKK2ltcG9ydCBpbXBvcnRsaWIKK2Zyb20gaW1wb3J0bGliIGltcG9ydCBtYWNoaW5lcnksIHV0aWwsIGludmFsaWRhdGVfY2FjaGVzCitpbXBvcnQgb3MKIGltcG9ydCBvcy5wYXRoCiBmcm9tIHRlc3QgaW1wb3J0IHN1cHBvcnQKIGltcG9ydCB1bml0dGVzdAogaW1wb3J0IHN5cworaW1wb3J0IHRlbXBmaWxlCiBpbXBvcnQgdHlwZXMKIAogCitCVUlMVElOUyA9IHR5cGVzLlNpbXBsZU5hbWVzcGFjZSgpCitCVUlMVElOUy5nb29kX25hbWUgPSBOb25lCitCVUlMVElOUy5iYWRfbmFtZSA9IE5vbmUKK2lmICdlcnJubycgaW4gc3lzLmJ1aWx0aW5fbW9kdWxlX25hbWVzOgorICAgIEJVSUxUSU5TLmdvb2RfbmFtZSA9ICdlcnJubycKK2lmICdpbXBvcnRsaWInIG5vdCBpbiBzeXMuYnVpbHRpbl9tb2R1bGVfbmFtZXM6CisgICAgQlVJTFRJTlMuYmFkX25hbWUgPSAnaW1wb3J0bGliJworCitFWFRFTlNJT05TID0gdHlwZXMuU2ltcGxlTmFtZXNwYWNlKCkKK0VYVEVOU0lPTlMucGF0aCA9IE5vbmUKK0VYVEVOU0lPTlMuZXh0ID0gTm9uZQorRVhURU5TSU9OUy5maWxlbmFtZSA9IE5vbmUKK0VYVEVOU0lPTlMuZmlsZV9wYXRoID0gTm9uZQorRVhURU5TSU9OUy5uYW1lID0gJ190ZXN0Y2FwaScKKworZGVmIF9leHRlbnNpb25fZGV0YWlscygpOgorICAgIGdsb2JhbCBFWFRFTlNJT05TCisgICAgZm9yIHBhdGggaW4gc3lzLnBhdGg6CisgICAgICAgIGZvciBleHQgaW4gbWFjaGluZXJ5LkVYVEVOU0lPTl9TVUZGSVhFUzoKKyAgICAgICAgICAgIGZpbGVuYW1lID0gRVhURU5TSU9OUy5uYW1lICsgZXh0CisgICAgICAgICAgICBmaWxlX3BhdGggPSBvcy5wYXRoLmpvaW4ocGF0aCwgZmlsZW5hbWUpCisgICAgICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhmaWxlX3BhdGgpOgorICAgICAgICAgICAgICAgIEVYVEVOU0lPTlMucGF0aCA9IHBhdGgKKyAgICAgICAgICAgICAgICBFWFRFTlNJT05TLmV4dCA9IGV4dAorICAgICAgICAgICAgICAgIEVYVEVOU0lPTlMuZmlsZW5hbWUgPSBmaWxlbmFtZQorICAgICAgICAgICAgICAgIEVYVEVOU0lPTlMuZmlsZV9wYXRoID0gZmlsZV9wYXRoCisgICAgICAgICAgICAgICAgcmV0dXJuCisKK19leHRlbnNpb25fZGV0YWlscygpCisKKwogZGVmIGltcG9ydF9pbXBvcnRsaWIobW9kdWxlX25hbWUpOgogICAgICIiIkltcG9ydCBhIG1vZHVsZSBmcm9tIGltcG9ydGxpYiBib3RoIHcvIGFuZCB3L28gX2Zyb3plbl9pbXBvcnRsaWIuIiIiCiAgICAgZnJlc2ggPSAoJ2ltcG9ydGxpYicsKSBpZiAnLicgaW4gbW9kdWxlX25hbWUgZWxzZSAoKQogICAgIGZyb3plbiA9IHN1cHBvcnQuaW1wb3J0X2ZyZXNoX21vZHVsZShtb2R1bGVfbmFtZSkKICAgICBzb3VyY2UgPSBzdXBwb3J0LmltcG9ydF9mcmVzaF9tb2R1bGUobW9kdWxlX25hbWUsIGZyZXNoPWZyZXNoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibG9ja2VkPSgnX2Zyb3plbl9pbXBvcnRsaWInLCkpCisgICAgcmV0dXJuIHsnRnJvemVuJzogZnJvemVuLCAnU291cmNlJzogc291cmNlfQorCisKK2RlZiBzcGVjaWFsaXplX2NsYXNzKGNscywga2luZCwgYmFzZT1Ob25lLCAqKmt3YXJncyk6CisgICAgIyBYWFggU3VwcG9ydCBwYXNzaW5nIGluIHN1Ym1vZHVsZSBuYW1lcy0tbG9hZCAoYW5kIGNhY2hlKSB0aGVtPworICAgICMgVGhhdCB3b3VsZCBjbGVhbiB1cCB0aGUgdGVzdCBtb2R1bGVzIGEgYml0IG1vcmUuCisgICAgaWYgYmFzZSBpcyBOb25lOgorICAgICAgICBiYXNlID0gdW5pdHRlc3QuVGVzdENhc2UKKyAgICBlbGlmIG5vdCBpc2luc3RhbmNlKGJhc2UsIHR5cGUpOgorICAgICAgICBiYXNlID0gYmFzZVtraW5kXQorICAgIG5hbWUgPSAne31fe30nLmZvcm1hdChraW5kLCBjbHMuX19uYW1lX18pCisgICAgYmFzZXMgPSAoY2xzLCBiYXNlKQorICAgIHNwZWNpYWxpemVkID0gdHlwZXMubmV3X2NsYXNzKG5hbWUsIGJhc2VzKQorICAgIHNwZWNpYWxpemVkLl9fbW9kdWxlX18gPSBjbHMuX19tb2R1bGVfXworICAgIHNwZWNpYWxpemVkLl9OQU1FID0gY2xzLl9fbmFtZV9fCisgICAgc3BlY2lhbGl6ZWQuX0tJTkQgPSBraW5kCisgICAgZm9yIGF0dHIsIHZhbHVlcyBpbiBrd2FyZ3MuaXRlbXMoKToKKyAgICAgICAgdmFsdWUgPSB2YWx1ZXNba2luZF0KKyAgICAgICAgc2V0YXR0cihzcGVjaWFsaXplZCwgYXR0ciwgdmFsdWUpCisgICAgcmV0dXJuIHNwZWNpYWxpemVkCisKKworZGVmIHNwbGl0X2Zyb3plbihjbHMsIGJhc2U9Tm9uZSwgKiprd2FyZ3MpOgorICAgIGZyb3plbiA9IHNwZWNpYWxpemVfY2xhc3MoY2xzLCAnRnJvemVuJywgYmFzZSwgKiprd2FyZ3MpCisgICAgc291cmNlID0gc3BlY2lhbGl6ZV9jbGFzcyhjbHMsICdTb3VyY2UnLCBiYXNlLCAqKmt3YXJncykKICAgICByZXR1cm4gZnJvemVuLCBzb3VyY2UKIAogCi1kZWYgdGVzdF9ib3RoKHRlc3RfY2xhc3MsICoqa3dhcmdzKToKLSAgICBmcm96ZW5fdGVzdHMgPSB0eXBlcy5uZXdfY2xhc3MoJ0Zyb3plbl8nK3Rlc3RfY2xhc3MuX19uYW1lX18sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh0ZXN0X2NsYXNzLCB1bml0dGVzdC5UZXN0Q2FzZSkpCi0gICAgc291cmNlX3Rlc3RzID0gdHlwZXMubmV3X2NsYXNzKCdTb3VyY2VfJyt0ZXN0X2NsYXNzLl9fbmFtZV9fLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodGVzdF9jbGFzcywgdW5pdHRlc3QuVGVzdENhc2UpKQotICAgIGZyb3plbl90ZXN0cy5fX21vZHVsZV9fID0gc291cmNlX3Rlc3RzLl9fbW9kdWxlX18gPSB0ZXN0X2NsYXNzLl9fbW9kdWxlX18KLSAgICBmb3IgYXR0ciwgKGZyb3plbl92YWx1ZSwgc291cmNlX3ZhbHVlKSBpbiBrd2FyZ3MuaXRlbXMoKToKLSAgICAgICAgc2V0YXR0cihmcm96ZW5fdGVzdHMsIGF0dHIsIGZyb3plbl92YWx1ZSkKLSAgICAgICAgc2V0YXR0cihzb3VyY2VfdGVzdHMsIGF0dHIsIHNvdXJjZV92YWx1ZSkKLSAgICByZXR1cm4gZnJvemVuX3Rlc3RzLCBzb3VyY2VfdGVzdHMKK2RlZiB0ZXN0X2JvdGgodGVzdF9jbGFzcywgYmFzZT1Ob25lLCAqKmt3YXJncyk6CisgICAgcmV0dXJuIHNwbGl0X2Zyb3plbih0ZXN0X2NsYXNzLCBiYXNlLCAqKmt3YXJncykKIAogCiBDQVNFX0lOU0VOU0lUSVZFX0ZTID0gVHJ1ZQpAQCAtMzgsNiArOTIsMTAgQEAKICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoY2hhbmdlZF9uYW1lKToKICAgICAgICAgQ0FTRV9JTlNFTlNJVElWRV9GUyA9IEZhbHNlCiAKK3NvdXJjZV9pbXBvcnRsaWIgPSBpbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWInKVsnU291cmNlJ10KK19faW1wb3J0X18gPSB7J0Zyb3plbic6IHN0YXRpY21ldGhvZChidWlsdGlucy5fX2ltcG9ydF9fKSwKKyAgICAgICAgICAgICAgJ1NvdXJjZSc6IHN0YXRpY21ldGhvZChzb3VyY2VfaW1wb3J0bGliLl9faW1wb3J0X18pfQorCiAKIGRlZiBjYXNlX2luc2Vuc2l0aXZlX3Rlc3RzKHRlc3QpOgogICAgICIiIkNsYXNzIGRlY29yYXRvciB0aGF0IG51bGxpZmllcyB0ZXN0cyByZXF1aXJpbmcgYSBjYXNlLWluc2Vuc2l0aXZlCkBAIC01Myw3ICsxMTEsNyBAQAogICAgIHJldHVybiAne30ue30nLmZvcm1hdChwYXJlbnQsIG5hbWUpLCBwYXRoCiAKIAotQGNvbnRleHRtYW5hZ2VyCitAY29udGV4dGxpYi5jb250ZXh0bWFuYWdlcgogZGVmIHVuY2FjaGUoKm5hbWVzKToKICAgICAiIiJVbmNhY2hlIGEgbW9kdWxlIGZyb20gc3lzLm1vZHVsZXMuCiAKQEAgLTc5LDcgKzEzNyw3IEBACiAgICAgICAgICAgICAgICAgcGFzcwogCiAKLUBjb250ZXh0bWFuYWdlcgorQGNvbnRleHRsaWIuY29udGV4dG1hbmFnZXIKIGRlZiB0ZW1wX21vZHVsZShuYW1lLCBjb250ZW50PScnLCAqLCBwa2c9RmFsc2UpOgogICAgIGNvbmZsaWN0cyA9IFtuIGZvciBuIGluIHN5cy5tb2R1bGVzIGlmIG4ucGFydGl0aW9uKCcuJylbMF0gPT0gbmFtZV0KICAgICB3aXRoIHN1cHBvcnQudGVtcF9jd2QoTm9uZSkgYXMgY3dkOgpAQCAtMTAzLDcgKzE2MSw3IEBACiAgICAgICAgICAgICAgICAgeWllbGQgbG9jYXRpb24KIAogCi1AY29udGV4dG1hbmFnZXIKK0Bjb250ZXh0bGliLmNvbnRleHRtYW5hZ2VyCiBkZWYgaW1wb3J0X3N0YXRlKCoqa3dhcmdzKToKICAgICAiIiJDb250ZXh0IG1hbmFnZXIgdG8gbWFuYWdlIHRoZSB2YXJpb3VzIGltcG9ydGVycyBhbmQgc3RvcmVkIHN0YXRlIGluIHRoZQogICAgIHN5cyBtb2R1bGUuCkBAIC0xOTgsNiArMjU2LDcgQEAKICAgICAgICAgICAgICAgICAgICAgcmFpc2UKICAgICAgICAgICAgIHJldHVybiBzZWxmLm1vZHVsZXNbZnVsbG5hbWVdCiAKKwogY2xhc3MgbW9ja19zcGVjKF9JbXBvcnRlck1vY2spOgogCiAgICAgIiIiSW1wb3J0ZXIgbW9jayB1c2luZyBQRVAgNDUxIEFQSXMuIiIiCkBAIC0yMjMsMyArMjgyLDk5IEBACiAgICAgICAgICAgICBzZWxmLm1vZHVsZV9jb2RlW21vZHVsZS5fX3NwZWNfXy5uYW1lXSgpCiAgICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKICAgICAgICAgICAgIHBhc3MKKworCitkZWYgd3JpdGVzX2J5dGVjb2RlX2ZpbGVzKGZ4bik6CisgICAgIiIiRGVjb3JhdG9yIHRvIHByb3RlY3Qgc3lzLmRvbnRfd3JpdGVfYnl0ZWNvZGUgZnJvbSBtdXRhdGlvbiBhbmQgdG8gc2tpcAorICAgIHRlc3RzIHRoYXQgcmVxdWlyZSBpdCB0byBiZSBzZXQgdG8gRmFsc2UuIiIiCisgICAgaWYgc3lzLmRvbnRfd3JpdGVfYnl0ZWNvZGU6CisgICAgICAgIHJldHVybiBsYW1iZGEgKmFyZ3MsICoqa3dhcmdzOiBOb25lCisgICAgQGZ1bmN0b29scy53cmFwcyhmeG4pCisgICAgZGVmIHdyYXBwZXIoKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgb3JpZ2luYWwgPSBzeXMuZG9udF93cml0ZV9ieXRlY29kZQorICAgICAgICBzeXMuZG9udF93cml0ZV9ieXRlY29kZSA9IEZhbHNlCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHRvX3JldHVybiA9IGZ4bigqYXJncywgKiprd2FyZ3MpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBzeXMuZG9udF93cml0ZV9ieXRlY29kZSA9IG9yaWdpbmFsCisgICAgICAgIHJldHVybiB0b19yZXR1cm4KKyAgICByZXR1cm4gd3JhcHBlcgorCisKK2RlZiBlbnN1cmVfYnl0ZWNvZGVfcGF0aChieXRlY29kZV9wYXRoKToKKyAgICAiIiJFbnN1cmUgdGhhdCB0aGUgX19weWNhY2hlX18gZGlyZWN0b3J5IGZvciBQRVAgMzE0NyBweWMgZmlsZSBleGlzdHMuCisKKyAgICA6cGFyYW0gYnl0ZWNvZGVfcGF0aDogRmlsZSBzeXN0ZW0gcGF0aCB0byBQRVAgMzE0NyBweWMgZmlsZS4KKyAgICAiIiIKKyAgICB0cnk6CisgICAgICAgIG9zLm1rZGlyKG9zLnBhdGguZGlybmFtZShieXRlY29kZV9wYXRoKSkKKyAgICBleGNlcHQgT1NFcnJvciBhcyBlcnJvcjoKKyAgICAgICAgaWYgZXJyb3IuZXJybm8gIT0gZXJybm8uRUVYSVNUOgorICAgICAgICAgICAgcmFpc2UKKworCitAY29udGV4dGxpYi5jb250ZXh0bWFuYWdlcgorZGVmIGNyZWF0ZV9tb2R1bGVzKCpuYW1lcyk6CisgICAgIiIiVGVtcG9yYXJpbHkgY3JlYXRlIGVhY2ggbmFtZWQgbW9kdWxlIHdpdGggYW4gYXR0cmlidXRlIChuYW1lZCAnYXR0cicpCisgICAgdGhhdCBjb250YWlucyB0aGUgbmFtZSBwYXNzZWQgaW50byB0aGUgY29udGV4dCBtYW5hZ2VyIHRoYXQgY2F1c2VkIHRoZQorICAgIGNyZWF0aW9uIG9mIHRoZSBtb2R1bGUuCisKKyAgICBBbGwgZmlsZXMgYXJlIGNyZWF0ZWQgaW4gYSB0ZW1wb3JhcnkgZGlyZWN0b3J5IHJldHVybmVkIGJ5CisgICAgdGVtcGZpbGUubWtkdGVtcCgpLiBUaGlzIGRpcmVjdG9yeSBpcyBpbnNlcnRlZCBhdCB0aGUgYmVnaW5uaW5nIG9mCisgICAgc3lzLnBhdGguIFdoZW4gdGhlIGNvbnRleHQgbWFuYWdlciBleGl0cyBhbGwgY3JlYXRlZCBmaWxlcyAoc291cmNlIGFuZAorICAgIGJ5dGVjb2RlKSBhcmUgZXhwbGljaXRseSBkZWxldGVkLgorCisgICAgTm8gbWFnaWMgaXMgcGVyZm9ybWVkIHdoZW4gY3JlYXRpbmcgcGFja2FnZXMhIFRoaXMgbWVhbnMgdGhhdCBpZiB5b3UgY3JlYXRlCisgICAgYSBtb2R1bGUgd2l0aGluIGEgcGFja2FnZSB5b3UgbXVzdCBhbHNvIGNyZWF0ZSB0aGUgcGFja2FnZSdzIF9faW5pdF9fIGFzCisgICAgd2VsbC4KKworICAgICIiIgorICAgIHNvdXJjZSA9ICdhdHRyID0gezAhcn0nCisgICAgY3JlYXRlZF9wYXRocyA9IFtdCisgICAgbWFwcGluZyA9IHt9CisgICAgc3RhdGVfbWFuYWdlciA9IE5vbmUKKyAgICB1bmNhY2hlX21hbmFnZXIgPSBOb25lCisgICAgdHJ5OgorICAgICAgICB0ZW1wX2RpciA9IHRlbXBmaWxlLm1rZHRlbXAoKQorICAgICAgICBtYXBwaW5nWycucm9vdCddID0gdGVtcF9kaXIKKyAgICAgICAgaW1wb3J0X25hbWVzID0gc2V0KCkKKyAgICAgICAgZm9yIG5hbWUgaW4gbmFtZXM6CisgICAgICAgICAgICBpZiBub3QgbmFtZS5lbmRzd2l0aCgnX19pbml0X18nKToKKyAgICAgICAgICAgICAgICBpbXBvcnRfbmFtZSA9IG5hbWUKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgaW1wb3J0X25hbWUgPSBuYW1lWzotbGVuKCcuX19pbml0X18nKV0KKyAgICAgICAgICAgIGltcG9ydF9uYW1lcy5hZGQoaW1wb3J0X25hbWUpCisgICAgICAgICAgICBpZiBpbXBvcnRfbmFtZSBpbiBzeXMubW9kdWxlczoKKyAgICAgICAgICAgICAgICBkZWwgc3lzLm1vZHVsZXNbaW1wb3J0X25hbWVdCisgICAgICAgICAgICBuYW1lX3BhcnRzID0gbmFtZS5zcGxpdCgnLicpCisgICAgICAgICAgICBmaWxlX3BhdGggPSB0ZW1wX2RpcgorICAgICAgICAgICAgZm9yIGRpcmVjdG9yeSBpbiBuYW1lX3BhcnRzWzotMV06CisgICAgICAgICAgICAgICAgZmlsZV9wYXRoID0gb3MucGF0aC5qb2luKGZpbGVfcGF0aCwgZGlyZWN0b3J5KQorICAgICAgICAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhmaWxlX3BhdGgpOgorICAgICAgICAgICAgICAgICAgICBvcy5ta2RpcihmaWxlX3BhdGgpCisgICAgICAgICAgICAgICAgICAgIGNyZWF0ZWRfcGF0aHMuYXBwZW5kKGZpbGVfcGF0aCkKKyAgICAgICAgICAgIGZpbGVfcGF0aCA9IG9zLnBhdGguam9pbihmaWxlX3BhdGgsIG5hbWVfcGFydHNbLTFdICsgJy5weScpCisgICAgICAgICAgICB3aXRoIG9wZW4oZmlsZV9wYXRoLCAndycpIGFzIGZpbGU6CisgICAgICAgICAgICAgICAgZmlsZS53cml0ZShzb3VyY2UuZm9ybWF0KG5hbWUpKQorICAgICAgICAgICAgY3JlYXRlZF9wYXRocy5hcHBlbmQoZmlsZV9wYXRoKQorICAgICAgICAgICAgbWFwcGluZ1tuYW1lXSA9IGZpbGVfcGF0aAorICAgICAgICB1bmNhY2hlX21hbmFnZXIgPSB1bmNhY2hlKCppbXBvcnRfbmFtZXMpCisgICAgICAgIHVuY2FjaGVfbWFuYWdlci5fX2VudGVyX18oKQorICAgICAgICBzdGF0ZV9tYW5hZ2VyID0gaW1wb3J0X3N0YXRlKHBhdGg9W3RlbXBfZGlyXSkKKyAgICAgICAgc3RhdGVfbWFuYWdlci5fX2VudGVyX18oKQorICAgICAgICB5aWVsZCBtYXBwaW5nCisgICAgZmluYWxseToKKyAgICAgICAgaWYgc3RhdGVfbWFuYWdlciBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHN0YXRlX21hbmFnZXIuX19leGl0X18oTm9uZSwgTm9uZSwgTm9uZSkKKyAgICAgICAgaWYgdW5jYWNoZV9tYW5hZ2VyIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgdW5jYWNoZV9tYW5hZ2VyLl9fZXhpdF9fKE5vbmUsIE5vbmUsIE5vbmUpCisgICAgICAgIHN1cHBvcnQucm10cmVlKHRlbXBfZGlyKQorCisKK2RlZiBtb2NrX3BhdGhfaG9vaygqZW50cmllcywgaW1wb3J0ZXIpOgorICAgICIiIkEgbW9jayBzeXMucGF0aF9ob29rcyBlbnRyeS4iIiIKKyAgICBkZWYgaG9vayhlbnRyeSk6CisgICAgICAgIGlmIGVudHJ5IG5vdCBpbiBlbnRyaWVzOgorICAgICAgICAgICAgcmFpc2UgSW1wb3J0RXJyb3IKKyAgICAgICAgcmV0dXJuIGltcG9ydGVyCisgICAgcmV0dXJuIGhvb2sKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW5zcGVjdC5weSBiL0xpYi90ZXN0L3Rlc3RfaW5zcGVjdC5weQppbmRleCBmYzNiZjA3Li5iYmM1Mzg1IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2luc3BlY3QucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9pbnNwZWN0LnB5CkBAIC0xLDMgKzEsNCBAQAoraW1wb3J0IGJ1aWx0aW5zCiBpbXBvcnQgY29sbGVjdGlvbnMKIGltcG9ydCBkYXRldGltZQogaW1wb3J0IGZ1bmN0b29scwpAQCAtOCw2ICs5LDcgQEAKIGltcG9ydCBvcwogZnJvbSBvcy5wYXRoIGltcG9ydCBub3JtY2FzZQogaW1wb3J0IF9waWNrbGUKK2ltcG9ydCBwaWNrbGUKIGltcG9ydCByZQogaW1wb3J0IHNodXRpbAogaW1wb3J0IHN5cwpAQCAtMjMsNyArMjUsNyBAQAogICAgIFRocmVhZFBvb2xFeGVjdXRvciA9IE5vbmUKIAogZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IHJ1bl91bml0dGVzdCwgVEVTVEZOLCBEaXJzT25TeXNQYXRoLCBjcHl0aG9uX29ubHkKLWZyb20gdGVzdC5zdXBwb3J0IGltcG9ydCBNSVNTSU5HX0NfRE9DU1RSSU5HUworZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IE1JU1NJTkdfQ19ET0NTVFJJTkdTLCBjcHl0aG9uX29ubHkKIGZyb20gdGVzdC5zY3JpcHRfaGVscGVyIGltcG9ydCBhc3NlcnRfcHl0aG9uX29rLCBhc3NlcnRfcHl0aG9uX2ZhaWx1cmUKIGZyb20gdGVzdCBpbXBvcnQgaW5zcGVjdF9mb2RkZXIgYXMgbW9kCiBmcm9tIHRlc3QgaW1wb3J0IGluc3BlY3RfZm9kZGVyMiBhcyBtb2QyCkBAIC03Niw2ICs3OCw3IEBACiAgICAgZm9yIGkgaW4gcmFuZ2UoMik6CiAgICAgICAgIHlpZWxkIGkKIAorCiBjbGFzcyBUZXN0UHJlZGljYXRlcyhJc1Rlc3RCYXNlKToKICAgICBkZWYgdGVzdF9zaXh0ZWVuKHNlbGYpOgogICAgICAgICBjb3VudCA9IGxlbihbeCBmb3IgeCBpbiBkaXIoaW5zcGVjdCkgaWYgeC5zdGFydHN3aXRoKCdpcycpXSkKQEAgLTE4Miw2ICsxODUsMTQgQEAKICAgICAgICAgICAgICAobW9kZmlsZSwgNDMsICdhcmd1ZScsIFsnICAgICAgICAgICAgc3BhbShhLCBiLCBjKVxuJ10sIDApKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJldmlzZSgqbW9kLnN0WzNdWzE6XSksCiAgICAgICAgICAgICAgKG1vZGZpbGUsIDM5LCAnYWJ1c2UnLCBbJyAgICAgICAgc2VsZi5hcmd1ZShhLCBiLCBjKVxuJ10sIDApKQorICAgICAgICAjIFRlc3QgbmFtZWQgdHVwbGUgZmllbGRzCisgICAgICAgIHJlY29yZCA9IG1vZC5zdFswXQorICAgICAgICBzZWxmLmFzc2VydElzKHJlY29yZC5mcmFtZSwgbW9kLmZyKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlY29yZC5saW5lbm8sIDE2KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlY29yZC5maWxlbmFtZSwgbW9kLl9fZmlsZV9fKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlY29yZC5mdW5jdGlvbiwgJ2VnZ3MnKQorICAgICAgICBzZWxmLmFzc2VydEluKCdpbnNwZWN0LnN0YWNrKCknLCByZWNvcmQuY29kZV9jb250ZXh0WzBdKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlY29yZC5pbmRleCwgMCkKIAogICAgIGRlZiB0ZXN0X3RyYWNlKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihnaXQudHIpLCAzKQpAQCAtMzY5LDYgKzM4MCw5IEBACiAgICAgZGVmIHRlc3RfcmVwbGFjaW5nX2RlY29yYXRvcihzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRTb3VyY2VFcXVhbChtb2QyLmdvbmUsIDksIDEwKQogCisgICAgZGVmIHRlc3RfZ2V0c291cmNlX3Vud3JhcChzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRTb3VyY2VFcXVhbChtb2QyLnJlYWwsIDEyMiwgMTI0KQorCiBjbGFzcyBUZXN0T25lbGluZXJzKEdldFNvdXJjZUJhc2UpOgogICAgIGZvZGRlck1vZHVsZSA9IG1vZDIKICAgICBkZWYgdGVzdF9vbmVsaW5lX2xhbWJkYShzZWxmKToKQEAgLTE2MTUsNiArMTYyOSw2OCBAQAogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGluc3BlY3QuZ2V0Z2VuZXJhdG9ybG9jYWxzLCAoMiwzKSkKIAogCitjbGFzcyBNeVNpZ25hdHVyZShpbnNwZWN0LlNpZ25hdHVyZSk6CisgICAgIyBUb3AtbGV2ZWwgdG8gbWFrZSBpdCBwaWNrbGFibGU7CisgICAgIyB1c2VkIGluIHRlc3Rfc2lnbmF0dXJlX29iamVjdF9waWNrbGUKKyAgICBwYXNzCisKK2NsYXNzIE15UGFyYW1ldGVyKGluc3BlY3QuUGFyYW1ldGVyKToKKyAgICAjIFRvcC1sZXZlbCB0byBtYWtlIGl0IHBpY2tsYWJsZTsKKyAgICAjIHVzZWQgaW4gdGVzdF9zaWduYXR1cmVfb2JqZWN0X3BpY2tsZQorICAgIHBhc3MKKworICAgIEBjcHl0aG9uX29ubHkKKyAgICBAdW5pdHRlc3Quc2tpcElmKE1JU1NJTkdfQ19ET0NTVFJJTkdTLAorICAgICAgICAgICAgICAgICAgICAgIlNpZ25hdHVyZSBpbmZvcm1hdGlvbiBmb3IgYnVpbHRpbnMgcmVxdWlyZXMgZG9jc3RyaW5ncyIpCisgICAgZGVmIHRlc3RfYnVpbHRpbnNfaGF2ZV9zaWduYXR1cmVzKHNlbGYpOgorICAgICAgICAjIFRoaXMgY2hlY2tzIGFsbCBidWlsdGluIGNhbGxhYmxlcyBpbiBDUHl0aG9uIGhhdmUgc2lnbmF0dXJlcworICAgICAgICAjIEEgZmV3IGhhdmUgc2lnbmF0dXJlcyBTaWduYXR1cmUgY2FuJ3QgeWV0IGhhbmRsZSwgc28gd2Ugc2tpcCB0aG9zZQorICAgICAgICAjIHNpbmNlIHRoZXkgd2lsbCBoYXZlIHRvIHdhaXQgdW50aWwgUEVQIDQ1NyBhZGRzIHRoZSByZXF1aXJlZAorICAgICAgICAjIGludHJvc3BlY3Rpb24gc3VwcG9ydCB0byB0aGUgaW5zcGVjdCBtb2R1bGUKKyAgICAgICAgIyBTb21lIG90aGVycyBhbHNvIGhhdmVuJ3QgYmVlbiBjb252ZXJ0ZWQgeWV0IGZvciB2YXJpb3VzIG90aGVyCisgICAgICAgICMgcmVhc29ucywgc28gd2UgYWxzbyBza2lwIHRob3NlIGZvciB0aGUgdGltZSBiZWluZywgYnV0IGRlc2lnbgorICAgICAgICAjIHRoZSB0ZXN0IHRvIGZhaWwgaW4gb3JkZXIgdG8gaW5kaWNhdGUgd2hlbiBpdCBuZWVkcyB0byBiZQorICAgICAgICAjIHVwZGF0ZWQuCisgICAgICAgIG5vX3NpZ25hdHVyZSA9IHNldCgpCisgICAgICAgICMgVGhlc2UgbmVlZCBQRVAgNDU3IGdyb3VwcworICAgICAgICBuZWVkc19ncm91cHMgPSBbInJhbmdlIiwgInNsaWNlIiwgImRpciIsICJnZXRhdHRyIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICJuZXh0IiwgIml0ZXIiLCAidmFycyJdCisgICAgICAgIG5vX3NpZ25hdHVyZSB8PSBuZWVkc19ncm91cHMKKyAgICAgICAgIyBUaGVzZSBuZWVkIFBFUCA0NTcgZ3JvdXBzIG9yIGEgc2lnbmF0dXJlIGNoYW5nZSB0byBhY2NlcHQgTm9uZQorICAgICAgICBuZWVkc19zZW1hbnRpY191cGRhdGUgPSBbInJvdW5kIl0KKyAgICAgICAgbm9fc2lnbmF0dXJlIHw9IG5lZWRzX3NlbWFudGljX3VwZGF0ZQorICAgICAgICAjIFRoZXNlIG5lZWQgKmFyZ3Mgc3VwcG9ydCBpbiBBcmd1bWVudCBDbGluaWMKKyAgICAgICAgbmVlZHNfdmFyYXJncyA9IFsibWluIiwgIm1heCIsICJwcmludCIsICJfX2J1aWxkX2NsYXNzX18iXQorICAgICAgICBub19zaWduYXR1cmUgfD0gbmVlZHNfdmFyYXJncworICAgICAgICAjIFRoZXNlIHNpbXBseSB3ZXJlbid0IGNvdmVyZWQgaW4gdGhlIGluaXRpYWwgQUMgY29udmVyc2lvbgorICAgICAgICAjIGZvciBidWlsdGluIGNhbGxhYmxlcworICAgICAgICBub3RfY29udmVydGVkX3lldCA9IFsib3BlbiIsICJfX2ltcG9ydF9fIl0KKyAgICAgICAgbm9fc2lnbmF0dXJlIHw9IG5vdF9jb252ZXJ0ZWRfeWV0CisgICAgICAgICMgVGhlc2UgYnVpbHRpbiB0eXBlcyBhcmUgZXhwZWN0ZWQgdG8gcHJvdmlkZSBpbnRyb3NwZWN0aW9uIGluZm8KKyAgICAgICAgdHlwZXNfd2l0aF9zaWduYXR1cmVzID0gc2V0KCkKKyAgICAgICAgIyBDaGVjayB0aGUgc2lnbmF0dXJlcyB3ZSBleHBlY3QgdG8gYmUgdGhlcmUKKyAgICAgICAgbnMgPSB2YXJzKGJ1aWx0aW5zKQorICAgICAgICBmb3IgbmFtZSwgb2JqIGluIHNvcnRlZChucy5pdGVtcygpKToKKyAgICAgICAgICAgIGlmIG5vdCBjYWxsYWJsZShvYmopOgorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAjIFRoZSBidWlsdGluIHR5cGVzIGhhdmVuJ3QgYmVlbiBjb252ZXJ0ZWQgdG8gQUMgeWV0CisgICAgICAgICAgICBpZiBpc2luc3RhbmNlKG9iaiwgdHlwZSkgYW5kIChuYW1lIG5vdCBpbiB0eXBlc193aXRoX3NpZ25hdHVyZXMpOgorICAgICAgICAgICAgICAgICMgTm90ZSB0aGF0IHRoaXMgYWxzbyBza2lwcyBhbGwgdGhlIGV4Y2VwdGlvbiB0eXBlcworICAgICAgICAgICAgICAgIG5vX3NpZ25hdHVyZS5hcHBlbmQobmFtZSkKKyAgICAgICAgICAgIGlmIChuYW1lIGluIG5vX3NpZ25hdHVyZSk6CisgICAgICAgICAgICAgICAgIyBOb3QgeWV0IGNvbnZlcnRlZAorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICB3aXRoIHNlbGYuc3ViVGVzdChidWlsdGluPW5hbWUpOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb3ROb25lKGluc3BlY3Quc2lnbmF0dXJlKG9iaikpCisgICAgICAgICMgQ2hlY2sgY2FsbGFibGVzIHRoYXQgaGF2ZW4ndCBiZWVuIGNvbnZlcnRlZCBkb24ndCBjbGFpbSBhIHNpZ25hdHVyZQorICAgICAgICAjIFRoaXMgZW5zdXJlcyB0aGlzIHRlc3Qgd2lsbCBzdGFydCBmYWlsaW5nIGFzIG1vcmUgc2lnbmF0dXJlcyBhcmUKKyAgICAgICAgIyBhZGRlZCwgc28gdGhlIGFmZmVjdGVkIGl0ZW1zIGNhbiBiZSBtb3ZlZCBpbnRvIHRoZSBzY29wZSBvZiB0aGUKKyAgICAgICAgIyByZWdyZXNzaW9uIHRlc3QgYWJvdmUKKyAgICAgICAgZm9yIG5hbWUgaW4gbm9fc2lnbmF0dXJlOgorICAgICAgICAgICAgd2l0aCBzZWxmLnN1YlRlc3QoYnVpbHRpbj1uYW1lKToKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydElzTm9uZShuc1tuYW1lXS5fX3RleHRfc2lnbmF0dXJlX18pCisKKwogY2xhc3MgVGVzdFNpZ25hdHVyZU9iamVjdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgQHN0YXRpY21ldGhvZAogICAgIGRlZiBzaWduYXR1cmUoZnVuYyk6CkBAIC0xNjcyLDYgKzE3NDgsMzcgQEAKICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFZhbHVlRXJyb3IsICdmb2xsb3dzIGRlZmF1bHQgYXJndW1lbnQnKToKICAgICAgICAgICAgIFMoKHBrZCwgcGspKQogCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZXByKHNpZykuc3RhcnRzd2l0aCgnPFNpZ25hdHVyZScpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoJyIocG8sIHBrJyBpbiByZXByKHNpZykpCisKKyAgICBkZWYgdGVzdF9zaWduYXR1cmVfb2JqZWN0X3BpY2tsZShzZWxmKToKKyAgICAgICAgZGVmIGZvbyhhLCBiLCAqLCBjOjE9e30sICoqa3cpIC0+IHs0MjonaGFtJ306IHBhc3MKKyAgICAgICAgZm9vX3BhcnRpYWwgPSBmdW5jdG9vbHMucGFydGlhbChmb28sIGE9MSkKKworICAgICAgICBzaWcgPSBpbnNwZWN0LnNpZ25hdHVyZShmb29fcGFydGlhbCkKKworICAgICAgICBmb3IgdmVyIGluIHJhbmdlKHBpY2tsZS5ISUdIRVNUX1BST1RPQ09MICsgMSk6CisgICAgICAgICAgICB3aXRoIHNlbGYuc3ViVGVzdChwaWNrbGVfdmVyPXZlciwgc3ViY2xhc3M9RmFsc2UpOgorICAgICAgICAgICAgICAgIHNpZ19waWNrbGVkID0gcGlja2xlLmxvYWRzKHBpY2tsZS5kdW1wcyhzaWcsIHZlcikpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzaWcsIHNpZ19waWNrbGVkKQorCisgICAgICAgICMgVGVzdCB0aGF0IGJhc2ljIHN1Yi1jbGFzc2luZyB3b3JrcworICAgICAgICBzaWcgPSBpbnNwZWN0LnNpZ25hdHVyZShmb28pCisgICAgICAgIG15cGFyYW0gPSBNeVBhcmFtZXRlcihuYW1lPSd6Jywga2luZD1pbnNwZWN0LlBhcmFtZXRlci5QT1NJVElPTkFMX09OTFkpCisgICAgICAgIG15cGFyYW1zID0gY29sbGVjdGlvbnMuT3JkZXJlZERpY3Qoc2lnLnBhcmFtZXRlcnMsIGE9bXlwYXJhbSkKKyAgICAgICAgbXlzaWcgPSBNeVNpZ25hdHVyZSgpLnJlcGxhY2UocGFyYW1ldGVycz1teXBhcmFtcy52YWx1ZXMoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuX2Fubm90YXRpb249c2lnLnJldHVybl9hbm5vdGF0aW9uKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoaXNpbnN0YW5jZShteXNpZywgTXlTaWduYXR1cmUpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoaXNpbnN0YW5jZShteXNpZy5wYXJhbWV0ZXJzWyd6J10sIE15UGFyYW1ldGVyKSkKKworICAgICAgICBmb3IgdmVyIGluIHJhbmdlKHBpY2tsZS5ISUdIRVNUX1BST1RPQ09MICsgMSk6CisgICAgICAgICAgICB3aXRoIHNlbGYuc3ViVGVzdChwaWNrbGVfdmVyPXZlciwgc3ViY2xhc3M9VHJ1ZSk6CisgICAgICAgICAgICAgICAgc2lnX3BpY2tsZWQgPSBwaWNrbGUubG9hZHMocGlja2xlLmR1bXBzKG15c2lnLCB2ZXIpKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobXlzaWcsIHNpZ19waWNrbGVkKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpc2luc3RhbmNlKHNpZ19waWNrbGVkLCBNeVNpZ25hdHVyZSkpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzaW5zdGFuY2Uoc2lnX3BpY2tsZWQucGFyYW1ldGVyc1sneiddLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE15UGFyYW1ldGVyKSkKKwogICAgIGRlZiB0ZXN0X3NpZ25hdHVyZV9pbW11dGFiaWxpdHkoc2VsZik6CiAgICAgICAgIGRlZiB0ZXN0KGEpOgogICAgICAgICAgICAgcGFzcwpAQCAtMjQzNSw0OSArMjU0Miw5MSBAQAogCiAgICAgICAgIGRlZiBiYXIoYSwgKiwgYjppbnQpIC0+IGZsb2F0OiBwYXNzCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaW5zcGVjdC5zaWduYXR1cmUoZm9vKSwgaW5zcGVjdC5zaWduYXR1cmUoYmFyKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIGhhc2goaW5zcGVjdC5zaWduYXR1cmUoZm9vKSksIGhhc2goaW5zcGVjdC5zaWduYXR1cmUoYmFyKSkpCiAKICAgICAgICAgZGVmIGJhcihhLCAqLCBiOmludCkgLT4gaW50OiBwYXNzCiAgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoaW5zcGVjdC5zaWduYXR1cmUoZm9vKSwgaW5zcGVjdC5zaWduYXR1cmUoYmFyKSkKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbCgKKyAgICAgICAgICAgIGhhc2goaW5zcGVjdC5zaWduYXR1cmUoZm9vKSksIGhhc2goaW5zcGVjdC5zaWduYXR1cmUoYmFyKSkpCiAKICAgICAgICAgZGVmIGJhcihhLCAqLCBiOmludCk6IHBhc3MKICAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChpbnNwZWN0LnNpZ25hdHVyZShmb28pLCBpbnNwZWN0LnNpZ25hdHVyZShiYXIpKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKAorICAgICAgICAgICAgaGFzaChpbnNwZWN0LnNpZ25hdHVyZShmb28pKSwgaGFzaChpbnNwZWN0LnNpZ25hdHVyZShiYXIpKSkKIAogICAgICAgICBkZWYgYmFyKGEsICosIGI6aW50PTQyKSAtPiBmbG9hdDogcGFzcwogICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKGluc3BlY3Quc2lnbmF0dXJlKGZvbyksIGluc3BlY3Quc2lnbmF0dXJlKGJhcikpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoCisgICAgICAgICAgICBoYXNoKGluc3BlY3Quc2lnbmF0dXJlKGZvbykpLCBoYXNoKGluc3BlY3Quc2lnbmF0dXJlKGJhcikpKQogCiAgICAgICAgIGRlZiBiYXIoYSwgKiwgYykgLT4gZmxvYXQ6IHBhc3MKICAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChpbnNwZWN0LnNpZ25hdHVyZShmb28pLCBpbnNwZWN0LnNpZ25hdHVyZShiYXIpKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKAorICAgICAgICAgICAgaGFzaChpbnNwZWN0LnNpZ25hdHVyZShmb28pKSwgaGFzaChpbnNwZWN0LnNpZ25hdHVyZShiYXIpKSkKIAogICAgICAgICBkZWYgYmFyKGEsIGI6aW50KSAtPiBmbG9hdDogcGFzcwogICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKGluc3BlY3Quc2lnbmF0dXJlKGZvbyksIGluc3BlY3Quc2lnbmF0dXJlKGJhcikpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoCisgICAgICAgICAgICBoYXNoKGluc3BlY3Quc2lnbmF0dXJlKGZvbykpLCBoYXNoKGluc3BlY3Quc2lnbmF0dXJlKGJhcikpKQogICAgICAgICBkZWYgc3BhbShiOmludCwgYSkgLT4gZmxvYXQ6IHBhc3MKICAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChpbnNwZWN0LnNpZ25hdHVyZShzcGFtKSwgaW5zcGVjdC5zaWduYXR1cmUoYmFyKSkKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbCgKKyAgICAgICAgICAgIGhhc2goaW5zcGVjdC5zaWduYXR1cmUoc3BhbSkpLCBoYXNoKGluc3BlY3Quc2lnbmF0dXJlKGJhcikpKQogCiAgICAgICAgIGRlZiBmb28oKiwgYSwgYiwgYyk6IHBhc3MKICAgICAgICAgZGVmIGJhcigqLCBjLCBiLCBhKTogcGFzcwogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGluc3BlY3Quc2lnbmF0dXJlKGZvbyksIGluc3BlY3Quc2lnbmF0dXJlKGJhcikpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBoYXNoKGluc3BlY3Quc2lnbmF0dXJlKGZvbykpLCBoYXNoKGluc3BlY3Quc2lnbmF0dXJlKGJhcikpKQogCiAgICAgICAgIGRlZiBmb28oKiwgYT0xLCBiLCBjKTogcGFzcwogICAgICAgICBkZWYgYmFyKCosIGMsIGIsIGE9MSk6IHBhc3MKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpbnNwZWN0LnNpZ25hdHVyZShmb28pLCBpbnNwZWN0LnNpZ25hdHVyZShiYXIpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgaGFzaChpbnNwZWN0LnNpZ25hdHVyZShmb28pKSwgaGFzaChpbnNwZWN0LnNpZ25hdHVyZShiYXIpKSkKIAogICAgICAgICBkZWYgZm9vKHBvcywgKiwgYT0xLCBiLCBjKTogcGFzcwogICAgICAgICBkZWYgYmFyKHBvcywgKiwgYywgYiwgYT0xKTogcGFzcwogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGluc3BlY3Quc2lnbmF0dXJlKGZvbyksIGluc3BlY3Quc2lnbmF0dXJlKGJhcikpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBoYXNoKGluc3BlY3Quc2lnbmF0dXJlKGZvbykpLCBoYXNoKGluc3BlY3Quc2lnbmF0dXJlKGJhcikpKQogCiAgICAgICAgIGRlZiBmb28ocG9zLCAqLCBhLCBiLCBjKTogcGFzcwogICAgICAgICBkZWYgYmFyKHBvcywgKiwgYywgYiwgYT0xKTogcGFzcwogICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKGluc3BlY3Quc2lnbmF0dXJlKGZvbyksIGluc3BlY3Quc2lnbmF0dXJlKGJhcikpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoCisgICAgICAgICAgICBoYXNoKGluc3BlY3Quc2lnbmF0dXJlKGZvbykpLCBoYXNoKGluc3BlY3Quc2lnbmF0dXJlKGJhcikpKQogCiAgICAgICAgIGRlZiBmb28ocG9zLCAqYXJncywgYT00MiwgYiwgYywgKiprd2FyZ3M6aW50KTogcGFzcwogICAgICAgICBkZWYgYmFyKHBvcywgKmFyZ3MsIGMsIGIsIGE9NDIsICoqa3dhcmdzOmludCk6IHBhc3MKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpbnNwZWN0LnNpZ25hdHVyZShmb28pLCBpbnNwZWN0LnNpZ25hdHVyZShiYXIpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgaGFzaChpbnNwZWN0LnNpZ25hdHVyZShmb28pKSwgaGFzaChpbnNwZWN0LnNpZ25hdHVyZShiYXIpKSkKIAotICAgIGRlZiB0ZXN0X3NpZ25hdHVyZV91bmhhc2hhYmxlKHNlbGYpOgorICAgIGRlZiB0ZXN0X3NpZ25hdHVyZV9oYXNoYWJsZShzZWxmKToKKyAgICAgICAgUyA9IGluc3BlY3QuU2lnbmF0dXJlCisgICAgICAgIFAgPSBpbnNwZWN0LlBhcmFtZXRlcgorCiAgICAgICAgIGRlZiBmb28oYSk6IHBhc3MKLSAgICAgICAgc2lnID0gaW5zcGVjdC5zaWduYXR1cmUoZm9vKQorICAgICAgICBmb29fc2lnID0gaW5zcGVjdC5zaWduYXR1cmUoZm9vKQorCisgICAgICAgIG1hbnVhbF9zaWcgPSBTKHBhcmFtZXRlcnM9W1AoJ2EnLCBQLlBPU0lUSU9OQUxfT1JfS0VZV09SRCldKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaGFzaChmb29fc2lnKSwgaGFzaChtYW51YWxfc2lnKSkKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChoYXNoKGZvb19zaWcpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc2gobWFudWFsX3NpZy5yZXBsYWNlKHJldHVybl9hbm5vdGF0aW9uPSdzcGFtJykpKQorCisgICAgICAgIGRlZiBiYXIoYSkgLT4gMTogcGFzcworICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKGhhc2goZm9vX3NpZyksIGhhc2goaW5zcGVjdC5zaWduYXR1cmUoYmFyKSkpCisKKyAgICAgICAgZGVmIGZvbyhhPXt9KTogcGFzcwogICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVHlwZUVycm9yLCAndW5oYXNoYWJsZSB0eXBlJyk6Ci0gICAgICAgICAgICBoYXNoKHNpZykKKyAgICAgICAgICAgIGhhc2goaW5zcGVjdC5zaWduYXR1cmUoZm9vKSkKKworICAgICAgICBkZWYgZm9vKGEpIC0+IHt9OiBwYXNzCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXNSZWdleChUeXBlRXJyb3IsICd1bmhhc2hhYmxlIHR5cGUnKToKKyAgICAgICAgICAgIGhhc2goaW5zcGVjdC5zaWduYXR1cmUoZm9vKSkKIAogICAgIGRlZiB0ZXN0X3NpZ25hdHVyZV9zdHIoc2VsZik6CiAgICAgICAgIGRlZiBmb28oYTppbnQ9MSwgKiwgYiwgYz1Ob25lLCAqKmt3YXJncykgLT4gNDI6CkBAIC0yNTUxLDYgKzI3MDAsMTkgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLnNpZ25hdHVyZShTcGFtLmZvbyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zaWduYXR1cmUoSGFtLmZvbykpCiAKKyAgICBkZWYgdGVzdF9zaWduYXR1cmVfZnJvbV9jYWxsYWJsZV9weXRob25fb2JqKHNlbGYpOgorICAgICAgICBjbGFzcyBNeVNpZ25hdHVyZShpbnNwZWN0LlNpZ25hdHVyZSk6IHBhc3MKKyAgICAgICAgZGVmIGZvbyhhLCAqLCBiOjEpOiBwYXNzCisgICAgICAgIGZvb19zaWcgPSBNeVNpZ25hdHVyZS5mcm9tX2NhbGxhYmxlKGZvbykKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzaW5zdGFuY2UoZm9vX3NpZywgTXlTaWduYXR1cmUpKQorCisgICAgQHVuaXR0ZXN0LnNraXBJZihNSVNTSU5HX0NfRE9DU1RSSU5HUywKKyAgICAgICAgICAgICAgICAgICAgICJTaWduYXR1cmUgaW5mb3JtYXRpb24gZm9yIGJ1aWx0aW5zIHJlcXVpcmVzIGRvY3N0cmluZ3MiKQorICAgIGRlZiB0ZXN0X3NpZ25hdHVyZV9mcm9tX2NhbGxhYmxlX2J1aWx0aW5fb2JqKHNlbGYpOgorICAgICAgICBjbGFzcyBNeVNpZ25hdHVyZShpbnNwZWN0LlNpZ25hdHVyZSk6IHBhc3MKKyAgICAgICAgc2lnID0gTXlTaWduYXR1cmUuZnJvbV9jYWxsYWJsZShfcGlja2xlLlBpY2tsZXIpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpc2luc3RhbmNlKHNpZywgTXlTaWduYXR1cmUpKQorCiAKIGNsYXNzIFRlc3RQYXJhbWV0ZXJPYmplY3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGRlZiB0ZXN0X3NpZ25hdHVyZV9wYXJhbWV0ZXJfa2luZHMoc2VsZik6CkBAIC0yNTk2LDYgKzI3NTgsMTYgQEAKICAgICAgICAgICAgIHAucmVwbGFjZShraW5kPWluc3BlY3QuUGFyYW1ldGVyLlZBUl9QT1NJVElPTkFMKQogCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZXByKHApLnN0YXJ0c3dpdGgoJzxQYXJhbWV0ZXInKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKCciYT00MiInIGluIHJlcHIocCkpCisKKyAgICBkZWYgdGVzdF9zaWduYXR1cmVfcGFyYW1ldGVyX2hhc2hhYmxlKHNlbGYpOgorICAgICAgICBQID0gaW5zcGVjdC5QYXJhbWV0ZXIKKyAgICAgICAgZm9vID0gUCgnZm9vJywga2luZD1QLlBPU0lUSU9OQUxfT05MWSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChoYXNoKGZvbyksIGhhc2goUCgnZm9vJywga2luZD1QLlBPU0lUSU9OQUxfT05MWSkpKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKGhhc2goZm9vKSwgaGFzaChQKCdmb28nLCBraW5kPVAuUE9TSVRJT05BTF9PTkxZLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ9NDIpKSkKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChoYXNoKGZvbyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzaChmb28ucmVwbGFjZShraW5kPVAuVkFSX1BPU0lUSU9OQUwpKSkKIAogICAgIGRlZiB0ZXN0X3NpZ25hdHVyZV9wYXJhbWV0ZXJfZXF1YWxpdHkoc2VsZik6CiAgICAgICAgIFAgPSBpbnNwZWN0LlBhcmFtZXRlcgpAQCAtMjYwNywxMyArMjc3OSw2IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocCwgUCgnZm9vJywgZGVmYXVsdD00MiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtpbmQ9aW5zcGVjdC5QYXJhbWV0ZXIuS0VZV09SRF9PTkxZKSkKIAotICAgIGRlZiB0ZXN0X3NpZ25hdHVyZV9wYXJhbWV0ZXJfdW5oYXNoYWJsZShzZWxmKToKLSAgICAgICAgcCA9IGluc3BlY3QuUGFyYW1ldGVyKCdmb28nLCBkZWZhdWx0PTQyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2luZD1pbnNwZWN0LlBhcmFtZXRlci5LRVlXT1JEX09OTFkpCi0KLSAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFR5cGVFcnJvciwgJ3VuaGFzaGFibGUgdHlwZScpOgotICAgICAgICAgICAgaGFzaChwKQotCiAgICAgZGVmIHRlc3Rfc2lnbmF0dXJlX3BhcmFtZXRlcl9yZXBsYWNlKHNlbGYpOgogICAgICAgICBwID0gaW5zcGVjdC5QYXJhbWV0ZXIoJ2ZvbycsIGRlZmF1bHQ9NDIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBraW5kPWluc3BlY3QuUGFyYW1ldGVyLktFWVdPUkRfT05MWSkKQEAgLTI5MjIsNiArMzA4NywxNiBAQAogICAgICAgICBiYTQgPSBpbnNwZWN0LnNpZ25hdHVyZShiYXIpLmJpbmQoMSkKICAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChiYSwgYmE0KQogCisgICAgZGVmIHRlc3Rfc2lnbmF0dXJlX2JvdW5kX2FyZ3VtZW50c19waWNrbGUoc2VsZik6CisgICAgICAgIGRlZiBmb28oYSwgYiwgKiwgYzoxPXt9LCAqKmt3KSAtPiB7NDI6J2hhbSd9OiBwYXNzCisgICAgICAgIHNpZyA9IGluc3BlY3Quc2lnbmF0dXJlKGZvbykKKyAgICAgICAgYmEgPSBzaWcuYmluZCgyMCwgMzAsIHo9e30pCisKKyAgICAgICAgZm9yIHZlciBpbiByYW5nZShwaWNrbGUuSElHSEVTVF9QUk9UT0NPTCArIDEpOgorICAgICAgICAgICAgd2l0aCBzZWxmLnN1YlRlc3QocGlja2xlX3Zlcj12ZXIpOgorICAgICAgICAgICAgICAgIGJhX3BpY2tsZWQgPSBwaWNrbGUubG9hZHMocGlja2xlLmR1bXBzKGJhLCB2ZXIpKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYmEsIGJhX3BpY2tsZWQpCisKIAogY2xhc3MgVGVzdFNpZ25hdHVyZVByaXZhdGVIZWxwZXJzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgdGVzdF9zaWduYXR1cmVfZ2V0X2JvdW5kX3BhcmFtKHNlbGYpOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pby5weSBiL0xpYi90ZXN0L3Rlc3RfaW8ucHkKaW5kZXggYTQyNGY3Ni4uYzg2NzUwMiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9pby5weQorKysgYi9MaWIvdGVzdC90ZXN0X2lvLnB5CkBAIC00NCwxMCArNDQsNiBAQAogICAgIGltcG9ydCB0aHJlYWRpbmcKIGV4Y2VwdCBJbXBvcnRFcnJvcjoKICAgICB0aHJlYWRpbmcgPSBOb25lCi10cnk6Ci0gICAgaW1wb3J0IGZjbnRsCi1leGNlcHQgSW1wb3J0RXJyb3I6Ci0gICAgZmNudGwgPSBOb25lCiAKIGRlZiBfZGVmYXVsdF9jaHVua19zaXplKCk6CiAgICAgIiIiR2V0IHRoZSBkZWZhdWx0IFRleHRJT1dyYXBwZXIgY2h1bmsgc2l6ZSIiIgpAQCAtMzY3LDggKzM2Myw4IEBACiAKICAgICBkZWYgdGVzdF9vcGVuX2hhbmRsZXNfTlVMX2NoYXJzKHNlbGYpOgogICAgICAgICBmbl93aXRoX05VTCA9ICdmb29cMGJhcicKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBzZWxmLm9wZW4sIGZuX3dpdGhfTlVMLCAndycpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgc2VsZi5vcGVuLCBieXRlcyhmbl93aXRoX05VTCwgJ2FzY2lpJyksICd3JykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgc2VsZi5vcGVuLCBmbl93aXRoX05VTCwgJ3cnKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBzZWxmLm9wZW4sIGJ5dGVzKGZuX3dpdGhfTlVMLCAnYXNjaWknKSwgJ3cnKQogCiAgICAgZGVmIHRlc3RfcmF3X2ZpbGVfaW8oc2VsZik6CiAgICAgICAgIHdpdGggc2VsZi5vcGVuKHN1cHBvcnQuVEVTVEZOLCAid2IiLCBidWZmZXJpbmc9MCkgYXMgZjoKQEAgLTc4MCw3ICs3NzYsNyBAQAogICAgIGRlZiB0ZXN0X3JlcHIoc2VsZik6CiAgICAgICAgIHJhdyA9IHNlbGYuTW9ja1Jhd0lPKCkKICAgICAgICAgYiA9IHNlbGYudHAocmF3KQotICAgICAgICBjbHNuYW1lID0gIiVzLiVzIiAlIChzZWxmLnRwLl9fbW9kdWxlX18sIHNlbGYudHAuX19uYW1lX18pCisgICAgICAgIGNsc25hbWUgPSAiJXMuJXMiICUgKHNlbGYudHAuX19tb2R1bGVfXywgc2VsZi50cC5fX3F1YWxuYW1lX18pCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVwcihiKSwgIjwlcz4iICUgY2xzbmFtZSkKICAgICAgICAgcmF3Lm5hbWUgPSAiZHVtbXkiCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVwcihiKSwgIjwlcyBuYW1lPSdkdW1teSc+IiAlIGNsc25hbWUpCkBAIC05NDUsNiArOTQxLDcxIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnVmaW8ucmVhZGludG8oYiksIDEpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYiwgYiJjYiIpCiAKKyAgICBkZWYgdGVzdF9yZWFkaW50bzEoc2VsZik6CisgICAgICAgIGJ1ZmZlcl9zaXplID0gMTAKKyAgICAgICAgcmF3aW8gPSBzZWxmLk1vY2tSYXdJTygoYiJhYmMiLCBiImRlIiwgYiJmZ2giLCBiImprbCIpKQorICAgICAgICBidWZpbyA9IHNlbGYudHAocmF3aW8sIGJ1ZmZlcl9zaXplPWJ1ZmZlcl9zaXplKQorICAgICAgICBiID0gYnl0ZWFycmF5KDIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnVmaW8ucGVlaygzKSwgYidhYmMnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJhd2lvLl9yZWFkcywgMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChidWZpby5yZWFkaW50bzEoYiksIDIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYiwgYiJhYiIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmF3aW8uX3JlYWRzLCAxKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ1ZmlvLnJlYWRpbnRvMShiKSwgMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiWzoxXSwgYiJjIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyYXdpby5fcmVhZHMsIDEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnVmaW8ucmVhZGludG8xKGIpLCAyKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGIsIGIiZGUiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJhd2lvLl9yZWFkcywgMikKKyAgICAgICAgYiA9IGJ5dGVhcnJheSgyKmJ1ZmZlcl9zaXplKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ1ZmlvLnBlZWsoMyksIGInZmdoJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyYXdpby5fcmVhZHMsIDMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnVmaW8ucmVhZGludG8xKGIpLCA2KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJbOjZdLCBiImZnaGprbCIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmF3aW8uX3JlYWRzLCA0KQorCisgICAgZGVmIHRlc3RfcmVhZGludG9fYXJyYXkoc2VsZik6CisgICAgICAgIGJ1ZmZlcl9zaXplID0gNjAKKyAgICAgICAgZGF0YSA9IGIiYSIgKiAyNgorICAgICAgICByYXdpbyA9IHNlbGYuTW9ja1Jhd0lPKChkYXRhLCkpCisgICAgICAgIGJ1ZmlvID0gc2VsZi50cChyYXdpbywgYnVmZmVyX3NpemU9YnVmZmVyX3NpemUpCisKKyAgICAgICAgIyBDcmVhdGUgYW4gYXJyYXkgd2l0aCBlbGVtZW50IHNpemUgPiAxIGJ5dGUKKyAgICAgICAgYiA9IGFycmF5LmFycmF5KCdpJywgYid4JyAqIDMyKQorICAgICAgICBhc3NlcnQgbGVuKGIpICE9IDE2CisKKyAgICAgICAgIyBSZWFkIGludG8gaXQuIFdlIHNob3VsZCBnZXQgYXMgbWFueSAqYnl0ZXMqIGFzIHdlIGNhbiBmaXQgaW50byBiCisgICAgICAgICMgKHdoaWNoIGlzIG1vcmUgdGhhbiB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzKQorICAgICAgICBuID0gYnVmaW8ucmVhZGludG8oYikKKyAgICAgICAgc2VsZi5hc3NlcnRHcmVhdGVyKG4sIGxlbihiKSkKKworICAgICAgICAjIENoZWNrIHRoYXQgb2xkIGNvbnRlbnRzIG9mIGIgYXJlIHByZXNlcnZlZAorICAgICAgICBibSA9IG1lbW9yeXZpZXcoYikuY2FzdCgnQicpCisgICAgICAgIHNlbGYuYXNzZXJ0TGVzcyhuLCBsZW4oYm0pKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJtWzpuXSwgZGF0YVs6bl0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYm1bbjpdLCBiJ3gnICogKGxlbihibVtuOl0pKSkKKworICAgIGRlZiB0ZXN0X3JlYWRpbnRvMV9hcnJheShzZWxmKToKKyAgICAgICAgYnVmZmVyX3NpemUgPSA2MAorICAgICAgICBkYXRhID0gYiJhIiAqIDI2CisgICAgICAgIHJhd2lvID0gc2VsZi5Nb2NrUmF3SU8oKGRhdGEsKSkKKyAgICAgICAgYnVmaW8gPSBzZWxmLnRwKHJhd2lvLCBidWZmZXJfc2l6ZT1idWZmZXJfc2l6ZSkKKworICAgICAgICAjIENyZWF0ZSBhbiBhcnJheSB3aXRoIGVsZW1lbnQgc2l6ZSA+IDEgYnl0ZQorICAgICAgICBiID0gYXJyYXkuYXJyYXkoJ2knLCBiJ3gnICogMzIpCisgICAgICAgIGFzc2VydCBsZW4oYikgIT0gMTYKKworICAgICAgICAjIFJlYWQgaW50byBpdC4gV2Ugc2hvdWxkIGdldCBhcyBtYW55ICpieXRlcyogYXMgd2UgY2FuIGZpdCBpbnRvIGIKKyAgICAgICAgIyAod2hpY2ggaXMgbW9yZSB0aGFuIHRoZSBudW1iZXIgb2YgZWxlbWVudHMpCisgICAgICAgIG4gPSBidWZpby5yZWFkaW50bzEoYikKKyAgICAgICAgc2VsZi5hc3NlcnRHcmVhdGVyKG4sIGxlbihiKSkKKworICAgICAgICAjIENoZWNrIHRoYXQgb2xkIGNvbnRlbnRzIG9mIGIgYXJlIHByZXNlcnZlZAorICAgICAgICBibSA9IG1lbW9yeXZpZXcoYikuY2FzdCgnQicpCisgICAgICAgIHNlbGYuYXNzZXJ0TGVzcyhuLCBsZW4oYm0pKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJtWzpuXSwgZGF0YVs6bl0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYm1bbjpdLCBiJ3gnICogKGxlbihibVtuOl0pKSkKKwogICAgIGRlZiB0ZXN0X3JlYWRsaW5lcyhzZWxmKToKICAgICAgICAgZGVmIGJ1ZmlvKCk6CiAgICAgICAgICAgICByYXdpbyA9IHNlbGYuTW9ja1Jhd0lPKChiImFiY1xuIiwgYiJkXG4iLCBiImVmIikpCkBAIC0yNzk1LDYgKzI4NTYsMTcgQEAKICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShlcnIpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoIm9rIiwgb3V0LmRlY29kZSgpLnN0cmlwKCkpCiAKKyAgICBkZWYgdGVzdF9yZWFkX2J5dGVzbGlrZShzZWxmKToKKyAgICAgICAgciA9IE1lbXZpZXdCeXRlc0lPKGInSnVzdCBzb21lIHJhbmRvbSBzdHJpbmdcbicpCisgICAgICAgIHQgPSBzZWxmLlRleHRJT1dyYXBwZXIociwgJ3V0Zi04JykKKworICAgICAgICAjIFRleHRJT3dyYXBwZXIgd2lsbCBub3QgcmVhZCB0aGUgZnVsbCBzdHJpbmcsIGJlY2F1c2UKKyAgICAgICAgIyB3ZSB0cnVuY2F0ZSBpdCB0byBhIG11bHRpcGxlIG9mIHRoZSBuYXRpdmUgaW50IHNpemUKKyAgICAgICAgIyBzbyB0aGF0IHdlIGNhbiBjb25zdHJ1Y3QgYSBtb3JlIGNvbXBsZXggbWVtb3J5dmlldy4KKyAgICAgICAgYnl0ZXNfdmFsID0gIF90b19tZW1vcnl2aWV3KHIuZ2V0dmFsdWUoKSkudG9ieXRlcygpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0LnJlYWQoMjAwKSwgYnl0ZXNfdmFsLmRlY29kZSgndXRmLTgnKSkKKwogICAgIGRlZiB0ZXN0X2lzc3VlMjI4NDkoc2VsZik6CiAgICAgICAgIGNsYXNzIEYob2JqZWN0KToKICAgICAgICAgICAgIGRlZiByZWFkYWJsZShzZWxmKTogcmV0dXJuIFRydWUKQEAgLTI4MTEsNiArMjg4MywyNSBAQAogICAgICAgICB0ID0gc2VsZi5UZXh0SU9XcmFwcGVyKEYoKSwgZW5jb2Rpbmc9J3V0Zi04JykKIAogCitjbGFzcyBNZW12aWV3Qnl0ZXNJTyhpby5CeXRlc0lPKToKKyAgICAnJydBIEJ5dGVzSU8gb2JqZWN0IHdob3NlIHJlYWQgbWV0aG9kIHJldHVybnMgbWVtb3J5dmlld3MKKyAgICAgICByYXRoZXIgdGhhbiBieXRlcycnJworCisgICAgZGVmIHJlYWQxKHNlbGYsIGxlbl8pOgorICAgICAgICByZXR1cm4gX3RvX21lbW9yeXZpZXcoc3VwZXIoKS5yZWFkMShsZW5fKSkKKworICAgIGRlZiByZWFkKHNlbGYsIGxlbl8pOgorICAgICAgICByZXR1cm4gX3RvX21lbW9yeXZpZXcoc3VwZXIoKS5yZWFkKGxlbl8pKQorCitkZWYgX3RvX21lbW9yeXZpZXcoYnVmKToKKyAgICAnJydDb252ZXJ0IGJ5dGVzLW9iamVjdCAqYnVmKiB0byBhIG5vbi10cml2aWFsIG1lbW9yeXZpZXcnJycKKworICAgIGFyciA9IGFycmF5LmFycmF5KCdpJykKKyAgICBpZHggPSBsZW4oYnVmKSAtIGxlbihidWYpICUgYXJyLml0ZW1zaXplCisgICAgYXJyLmZyb21ieXRlcyhidWZbOmlkeF0pCisgICAgcmV0dXJuIG1lbW9yeXZpZXcoYXJyKQorCisKIGNsYXNzIENUZXh0SU9XcmFwcGVyVGVzdChUZXh0SU9XcmFwcGVyVGVzdCk6CiAgICAgaW8gPSBpbwogICAgIHNodXRkb3duX2Vycm9yID0gIlJ1bnRpbWVFcnJvcjogY291bGQgbm90IGZpbmQgaW8gbW9kdWxlIHN0YXRlIgpAQCAtMzA1Nyw2ICszMTQ4LDggQEAKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBmLnJlYWRhbGwpCiAgICAgICAgICAgICBpZiBoYXNhdHRyKGYsICJyZWFkaW50byIpOgogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGYucmVhZGludG8sIGJ5dGVhcnJheSgxMDI0KSkKKyAgICAgICAgICAgIGlmIGhhc2F0dHIoZiwgInJlYWRpbnRvMSIpOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGYucmVhZGludG8xLCBieXRlYXJyYXkoMTAyNCkpCiAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBmLnJlYWRsaW5lKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgZi5yZWFkbGluZXMpCiAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBmLnNlZWssIDApCkBAIC0zMTcwLDI2ICszMjYzLDIwIEBACiAgICAgICAgICAgICAgICAgd2l0aCBzZWxmLm9wZW4oc3VwcG9ydC5URVNURk4sICoqa3dhcmdzKSBhcyBmOgogICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHBpY2tsZS5kdW1wcywgZiwgcHJvdG9jb2wpCiAKLSAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhmY250bCwgJ2ZjbnRsIHJlcXVpcmVkIGZvciB0aGlzIHRlc3QnKQogICAgIGRlZiB0ZXN0X25vbmJsb2NrX3BpcGVfd3JpdGVfYmlnYnVmKHNlbGYpOgogICAgICAgICBzZWxmLl90ZXN0X25vbmJsb2NrX3BpcGVfd3JpdGUoMTYqMTAyNCkKIAotICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKGZjbnRsLCAnZmNudGwgcmVxdWlyZWQgZm9yIHRoaXMgdGVzdCcpCiAgICAgZGVmIHRlc3Rfbm9uYmxvY2tfcGlwZV93cml0ZV9zbWFsbGJ1ZihzZWxmKToKICAgICAgICAgc2VsZi5fdGVzdF9ub25ibG9ja19waXBlX3dyaXRlKDEwMjQpCiAKLSAgICBkZWYgX3NldF9ub25fYmxvY2tpbmcoc2VsZiwgZmQpOgotICAgICAgICBmbGFncyA9IGZjbnRsLmZjbnRsKGZkLCBmY250bC5GX0dFVEZMKQotICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKGZsYWdzLCAtMSkKLSAgICAgICAgcmVzID0gZmNudGwuZmNudGwoZmQsIGZjbnRsLkZfU0VURkwsIGZsYWdzIHwgb3MuT19OT05CTE9DSykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXMsIDApCi0KKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKG9zLCAnc2V0X2Jsb2NraW5nJyksCisgICAgICAgICAgICAgICAgICAgICAgICAgJ29zLnNldF9ibG9ja2luZygpIHJlcXVpcmVkIGZvciB0aGlzIHRlc3QnKQogICAgIGRlZiBfdGVzdF9ub25ibG9ja19waXBlX3dyaXRlKHNlbGYsIGJ1ZnNpemUpOgogICAgICAgICBzZW50ID0gW10KICAgICAgICAgcmVjZWl2ZWQgPSBbXQogICAgICAgICByLCB3ID0gb3MucGlwZSgpCi0gICAgICAgIHNlbGYuX3NldF9ub25fYmxvY2tpbmcocikKLSAgICAgICAgc2VsZi5fc2V0X25vbl9ibG9ja2luZyh3KQorICAgICAgICBvcy5zZXRfYmxvY2tpbmcociwgRmFsc2UpCisgICAgICAgIG9zLnNldF9ibG9ja2luZyh3LCBGYWxzZSkKIAogICAgICAgICAjIFRvIGV4ZXJjaXNlIGFsbCBjb2RlIHBhdGhzIGluIHRoZSBDIGltcGxlbWVudGF0aW9uIHdlIG5lZWQKICAgICAgICAgIyB0byBwbGF5IHdpdGggYnVmZmVyIHNpemVzLiAgRm9yIGluc3RhbmNlLCBpZiB3ZSBjaG9vc2UgYQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pcGFkZHJlc3MucHkgYi9MaWIvdGVzdC90ZXN0X2lwYWRkcmVzcy5weQppbmRleCBiZmI1Njk5Li5lOTg1MzI5IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2lwYWRkcmVzcy5weQorKysgYi9MaWIvdGVzdC90ZXN0X2lwYWRkcmVzcy5weQpAQCAtOSw2ICs5LDcgQEAKIGltcG9ydCBjb250ZXh0bGliCiBpbXBvcnQgZnVuY3Rvb2xzCiBpbXBvcnQgb3BlcmF0b3IKK2ltcG9ydCBwaWNrbGUKIGltcG9ydCBpcGFkZHJlc3MKIAogCkBAIC04Myw2ICs4NCwxMyBAQAogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGhleCwgc2VsZi5mYWN0b3J5KDEpKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGJ5dGVzLCBzZWxmLmZhY3RvcnkoMSkpCiAKKyAgICBkZWYgcGlja2xlX3Rlc3Qoc2VsZiwgYWRkcik6CisgICAgICAgIGZvciBwcm90byBpbiByYW5nZShwaWNrbGUuSElHSEVTVF9QUk9UT0NPTCArIDEpOgorICAgICAgICAgICAgd2l0aCBzZWxmLnN1YlRlc3QocHJvdG89cHJvdG8pOgorICAgICAgICAgICAgICAgIHggPSBzZWxmLmZhY3RvcnkoYWRkcikKKyAgICAgICAgICAgICAgICB5ID0gcGlja2xlLmxvYWRzKHBpY2tsZS5kdW1wcyh4LCBwcm90bykpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh5LCB4KQorCiAKIGNsYXNzIENvbW1vblRlc3RNaXhpbl92NChDb21tb25UZXN0TWl4aW4pOgogCkBAIC0yNDgsNiArMjU2LDkgQEAKICAgICAgICAgYXNzZXJ0QmFkT2N0ZXQoIjI1Ny4wLjAuMCIsIDI1NykKICAgICAgICAgYXNzZXJ0QmFkT2N0ZXQoIjE5Mi4xNjguMC45OTkiLCA5OTkpCiAKKyAgICBkZWYgdGVzdF9waWNrbGUoc2VsZik6CisgICAgICAgIHNlbGYucGlja2xlX3Rlc3QoJzE5Mi4wLjIuMScpCisKIAogY2xhc3MgQWRkcmVzc1Rlc3RDYXNlX3Y2KEJhc2VUZXN0Q2FzZSwgQ29tbW9uVGVzdE1peGluX3Y2KToKICAgICBmYWN0b3J5ID0gaXBhZGRyZXNzLklQdjZBZGRyZXNzCkBAIC0zODAsNiArMzkxLDkgQEAKICAgICAgICAgYXNzZXJ0QmFkUGFydCgiMDIwMDE6ZGI4OjoiLCAiMDIwMDEiKQogICAgICAgICBhc3NlcnRCYWRQYXJ0KCcyMDAxOjg4ODg4ODo6MScsICI4ODg4ODgiKQogCisgICAgZGVmIHRlc3RfcGlja2xlKHNlbGYpOgorICAgICAgICBzZWxmLnBpY2tsZV90ZXN0KCcyMDAxOmRiODo6JykKKwogCiBjbGFzcyBOZXRtYXNrVGVzdE1peGluX3Y0KENvbW1vblRlc3RNaXhpbl92NCk6CiAgICAgIiIiSW5wdXQgdmFsaWRhdGlvbiBvbiBpbnRlcmZhY2VzIGFuZCBuZXR3b3JrcyBpcyB2ZXJ5IHNpbWlsYXIiIiIKQEAgLTQ0Myw2ICs0NTcsMTEgQEAKICAgICAgICAgYXNzZXJ0QmFkTmV0bWFzaygiMS4xLjEuMSIsICJwdWRkaW5nIikKICAgICAgICAgYXNzZXJ0QmFkTmV0bWFzaygiMS4xLjEuMSIsICI6OiIpCiAKKyAgICBkZWYgdGVzdF9waWNrbGUoc2VsZik6CisgICAgICAgIHNlbGYucGlja2xlX3Rlc3QoJzE5Mi4wLjIuMC8yNycpCisgICAgICAgIHNlbGYucGlja2xlX3Rlc3QoJzE5Mi4wLjIuMC8zMScpICAjIElQVjRMRU5HVEggLSAxCisgICAgICAgIHNlbGYucGlja2xlX3Rlc3QoJzE5Mi4wLjIuMCcpICAgICAjIElQVjRMRU5HVEgKKwogCiBjbGFzcyBJbnRlcmZhY2VUZXN0Q2FzZV92NChCYXNlVGVzdENhc2UsIE5ldG1hc2tUZXN0TWl4aW5fdjQpOgogICAgIGZhY3RvcnkgPSBpcGFkZHJlc3MuSVB2NEludGVyZmFjZQpAQCAtNTAxLDYgKzUyMCwxMSBAQAogICAgICAgICBhc3NlcnRCYWROZXRtYXNrKCI6OjEiLCAicHVkZGluZyIpCiAgICAgICAgIGFzc2VydEJhZE5ldG1hc2soIjo6IiwgIjo6IikKIAorICAgIGRlZiB0ZXN0X3BpY2tsZShzZWxmKToKKyAgICAgICAgc2VsZi5waWNrbGVfdGVzdCgnMjAwMTpkYjg6OjEwMDAvMTI0JykKKyAgICAgICAgc2VsZi5waWNrbGVfdGVzdCgnMjAwMTpkYjg6OjEwMDAvMTI3JykgICMgSVBWNkxFTkdUSCAtIDEKKyAgICAgICAgc2VsZi5waWNrbGVfdGVzdCgnMjAwMTpkYjg6OjEwMDAnKSAgICAgICMgSVBWNkxFTkdUSAorCiAKIGNsYXNzIEludGVyZmFjZVRlc3RDYXNlX3Y2KEJhc2VUZXN0Q2FzZSwgTmV0bWFza1Rlc3RNaXhpbl92Nik6CiAgICAgZmFjdG9yeSA9IGlwYWRkcmVzcy5JUHY2SW50ZXJmYWNlCkBAIC02NzAsNiArNjk0LDExOSBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJJUHY2SW50ZXJmYWNlKCc6OjEvMTI4JykiLAogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcHIoaXBhZGRyZXNzLklQdjZJbnRlcmZhY2UoJzo6MScpKSkKIAorICAgICMgaXNzdWUgIzE2NTMxOiBjb25zdHJ1Y3RpbmcgSVB2NE5ldHdvcmsgZnJvbSBhIChhZGRyZXNzLCBtYXNrKSB0dXBsZQorICAgIGRlZiB0ZXN0SVB2NFR1cGxlKHNlbGYpOgorICAgICAgICAjIC8zMgorICAgICAgICBpcCA9IGlwYWRkcmVzcy5JUHY0QWRkcmVzcygnMTkyLjAuMi4xJykKKyAgICAgICAgbmV0ID0gaXBhZGRyZXNzLklQdjROZXR3b3JrKCcxOTIuMC4yLjEvMzInKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGlwYWRkcmVzcy5JUHY0TmV0d29yaygoJzE5Mi4wLjIuMScsIDMyKSksIG5ldCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpcGFkZHJlc3MuSVB2NE5ldHdvcmsoKGlwLCAzMikpLCBuZXQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaXBhZGRyZXNzLklQdjROZXR3b3JrKCgzMjIxMjI1OTg1LCAzMikpLCBuZXQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaXBhZGRyZXNzLklQdjROZXR3b3JrKCgnMTkyLjAuMi4xJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcyNTUuMjU1LjI1NS4yNTUnKSksIG5ldCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpcGFkZHJlc3MuSVB2NE5ldHdvcmsoKGlwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzI1NS4yNTUuMjU1LjI1NScpKSwgbmV0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGlwYWRkcmVzcy5JUHY0TmV0d29yaygoMzIyMTIyNTk4NSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcyNTUuMjU1LjI1NS4yNTUnKSksIG5ldCkKKyAgICAgICAgIyBzdHJpY3Q9VHJ1ZSBhbmQgaG9zdCBiaXRzIHNldAorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgorICAgICAgICAgICAgaXBhZGRyZXNzLklQdjROZXR3b3JrKCgnMTkyLjAuMi4xJywgMjQpKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgorICAgICAgICAgICAgaXBhZGRyZXNzLklQdjROZXR3b3JrKChpcCwgMjQpKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgorICAgICAgICAgICAgaXBhZGRyZXNzLklQdjROZXR3b3JrKCgzMjIxMjI1OTg1LCAyNCkpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcik6CisgICAgICAgICAgICBpcGFkZHJlc3MuSVB2NE5ldHdvcmsoKCcxOTIuMC4yLjEnLCAnMjU1LjI1NS4yNTUuMCcpKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgorICAgICAgICAgICAgaXBhZGRyZXNzLklQdjROZXR3b3JrKChpcCwgJzI1NS4yNTUuMjU1LjAnKSkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yKToKKyAgICAgICAgICAgIGlwYWRkcmVzcy5JUHY0TmV0d29yaygoMzIyMTIyNTk4NSwgJzI1NS4yNTUuMjU1LjAnKSkKKyAgICAgICAgIyBzdHJpY3Q9RmFsc2UgYW5kIGhvc3QgYml0cyBzZXQKKyAgICAgICAgbmV0ID0gaXBhZGRyZXNzLklQdjROZXR3b3JrKCcxOTIuMC4yLjAvMjQnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGlwYWRkcmVzcy5JUHY0TmV0d29yaygoJzE5Mi4wLjIuMScsIDI0KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyaWN0PUZhbHNlKSwgbmV0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGlwYWRkcmVzcy5JUHY0TmV0d29yaygoaXAsIDI0KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyaWN0PUZhbHNlKSwgbmV0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGlwYWRkcmVzcy5JUHY0TmV0d29yaygoMzIyMTIyNTk4NSwgMjQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJpY3Q9RmFsc2UpLCBuZXQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaXBhZGRyZXNzLklQdjROZXR3b3JrKCgnMTkyLjAuMi4xJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcyNTUuMjU1LjI1NS4wJyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmljdD1GYWxzZSksIG5ldCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpcGFkZHJlc3MuSVB2NE5ldHdvcmsoKGlwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzI1NS4yNTUuMjU1LjAnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyaWN0PUZhbHNlKSwgbmV0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGlwYWRkcmVzcy5JUHY0TmV0d29yaygoMzIyMTIyNTk4NSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcyNTUuMjU1LjI1NS4wJyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmljdD1GYWxzZSksIG5ldCkKKworICAgICAgICAjIC8yNAorICAgICAgICBpcCA9IGlwYWRkcmVzcy5JUHY0QWRkcmVzcygnMTkyLjAuMi4wJykKKyAgICAgICAgbmV0ID0gaXBhZGRyZXNzLklQdjROZXR3b3JrKCcxOTIuMC4yLjAvMjQnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGlwYWRkcmVzcy5JUHY0TmV0d29yaygoJzE5Mi4wLjIuMCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnMjU1LjI1NS4yNTUuMCcpKSwgbmV0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGlwYWRkcmVzcy5JUHY0TmV0d29yaygoaXAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnMjU1LjI1NS4yNTUuMCcpKSwgbmV0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGlwYWRkcmVzcy5JUHY0TmV0d29yaygoMzIyMTIyNTk4NCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcyNTUuMjU1LjI1NS4wJykpLCBuZXQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaXBhZGRyZXNzLklQdjROZXR3b3JrKCgnMTkyLjAuMi4wJywgMjQpKSwgbmV0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGlwYWRkcmVzcy5JUHY0TmV0d29yaygoaXAsIDI0KSksIG5ldCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpcGFkZHJlc3MuSVB2NE5ldHdvcmsoKDMyMjEyMjU5ODQsIDI0KSksIG5ldCkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGlwYWRkcmVzcy5JUHY0SW50ZXJmYWNlKCgnMTkyLjAuMi4xJywgMjQpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpcGFkZHJlc3MuSVB2NEludGVyZmFjZSgnMTkyLjAuMi4xLzI0JykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaXBhZGRyZXNzLklQdjRJbnRlcmZhY2UoKDMyMjEyMjU5ODUsIDI0KSksCisgICAgICAgICAgICAgICAgICAgICAgICAgaXBhZGRyZXNzLklQdjRJbnRlcmZhY2UoJzE5Mi4wLjIuMS8yNCcpKQorCisgICAgIyBpc3N1ZSAjMTY1MzE6IGNvbnN0cnVjdGluZyBJUHY2TmV0d29yayBmcm9tIGEgKGFkZHJlc3MsIG1hc2spIHR1cGxlCisgICAgZGVmIHRlc3RJUHY2VHVwbGUoc2VsZik6CisgICAgICAgICMgLzEyOAorICAgICAgICBpcCA9IGlwYWRkcmVzcy5JUHY2QWRkcmVzcygnMjAwMTpkYjg6OicpCisgICAgICAgIG5ldCA9IGlwYWRkcmVzcy5JUHY2TmV0d29yaygnMjAwMTpkYjg6Oi8xMjgnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGlwYWRkcmVzcy5JUHY2TmV0d29yaygoJzIwMDE6ZGI4OjonLCAnMTI4JykpLAorICAgICAgICAgICAgICAgICAgICAgICAgIG5ldCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpcGFkZHJlc3MuSVB2Nk5ldHdvcmsoCisgICAgICAgICAgICAgICAgKDQyNTQwNzY2NDExMjgyNTkyODU2OTAzOTg0OTUxNjUzODI2NTYwLCAxMjgpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBuZXQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaXBhZGRyZXNzLklQdjZOZXR3b3JrKChpcCwgJzEyOCcpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBuZXQpCisgICAgICAgIGlwID0gaXBhZGRyZXNzLklQdjZBZGRyZXNzKCcyMDAxOmRiODo6JykKKyAgICAgICAgbmV0ID0gaXBhZGRyZXNzLklQdjZOZXR3b3JrKCcyMDAxOmRiODo6Lzk2JykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpcGFkZHJlc3MuSVB2Nk5ldHdvcmsoKCcyMDAxOmRiODo6JywgJzk2JykpLAorICAgICAgICAgICAgICAgICAgICAgICAgIG5ldCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpcGFkZHJlc3MuSVB2Nk5ldHdvcmsoCisgICAgICAgICAgICAgICAgKDQyNTQwNzY2NDExMjgyNTkyODU2OTAzOTg0OTUxNjUzODI2NTYwLCA5NikpLAorICAgICAgICAgICAgICAgICAgICAgICAgIG5ldCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpcGFkZHJlc3MuSVB2Nk5ldHdvcmsoKGlwLCAnOTYnKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgbmV0KQorCisgICAgICAgICMgc3RyaWN0PVRydWUgYW5kIGhvc3QgYml0cyBzZXQKKyAgICAgICAgaXAgPSBpcGFkZHJlc3MuSVB2NkFkZHJlc3MoJzIwMDE6ZGI4OjoxJykKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yKToKKyAgICAgICAgICAgIGlwYWRkcmVzcy5JUHY2TmV0d29yaygoJzIwMDE6ZGI4OjoxJywgOTYpKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgorICAgICAgICAgICAgaXBhZGRyZXNzLklQdjZOZXR3b3JrKCgKKyAgICAgICAgICAgICAgICA0MjU0MDc2NjQxMTI4MjU5Mjg1NjkwMzk4NDk1MTY1MzgyNjU2MSwgOTYpKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgorICAgICAgICAgICAgaXBhZGRyZXNzLklQdjZOZXR3b3JrKChpcCwgOTYpKQorICAgICAgICAjIHN0cmljdD1GYWxzZSBhbmQgaG9zdCBiaXRzIHNldAorICAgICAgICBuZXQgPSBpcGFkZHJlc3MuSVB2Nk5ldHdvcmsoJzIwMDE6ZGI4OjovOTYnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGlwYWRkcmVzcy5JUHY2TmV0d29yaygoJzIwMDE6ZGI4OjoxJywgOTYpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJpY3Q9RmFsc2UpLAorICAgICAgICAgICAgICAgICAgICAgICAgIG5ldCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpcGFkZHJlc3MuSVB2Nk5ldHdvcmsoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0MjU0MDc2NjQxMTI4MjU5Mjg1NjkwMzk4NDk1MTY1MzgyNjU2MSwgOTYpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJpY3Q9RmFsc2UpLAorICAgICAgICAgICAgICAgICAgICAgICAgIG5ldCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpcGFkZHJlc3MuSVB2Nk5ldHdvcmsoKGlwLCA5NiksIHN0cmljdD1GYWxzZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgbmV0KQorCisgICAgICAgICMgLzk2CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaXBhZGRyZXNzLklQdjZJbnRlcmZhY2UoKCcyMDAxOmRiODo6MScsICc5NicpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpcGFkZHJlc3MuSVB2NkludGVyZmFjZSgnMjAwMTpkYjg6OjEvOTYnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpcGFkZHJlc3MuSVB2NkludGVyZmFjZSgKKyAgICAgICAgICAgICAgICAoNDI1NDA3NjY0MTEyODI1OTI4NTY5MDM5ODQ5NTE2NTM4MjY1NjEsICc5NicpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpcGFkZHJlc3MuSVB2NkludGVyZmFjZSgnMjAwMTpkYjg6OjEvOTYnKSkKKwogICAgICMgaXNzdWU1NwogICAgIGRlZiB0ZXN0QWRkcmVzc0ludE1hdGgoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaXBhZGRyZXNzLklQdjRBZGRyZXNzKCcxLjEuMS4xJykgKyAyNTUsCkBAIC02OTAsMjAgKzgyNywxOCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAyICoqIGlwYWRkcmVzcy5JUFY2TEVOR1RIKQogCiAgICAgZGVmIHRlc3RJbnRlcm5hbHMoc2VsZik6Ci0gICAgICAgIGZpcnN0LCBsYXN0ID0gaXBhZGRyZXNzLl9maW5kX2FkZHJlc3NfcmFuZ2UoWwotICAgICAgICAgICAgaXBhZGRyZXNzLklQdjRBZGRyZXNzKCcxMC4xMC4xMC4xMCcpLAotICAgICAgICAgICAgaXBhZGRyZXNzLklQdjRBZGRyZXNzKCcxMC4xMC4xMC4xMicpXSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmaXJzdCwgbGFzdCkKKyAgICAgICAgaXAxID0gaXBhZGRyZXNzLklQdjRBZGRyZXNzKCcxMC4xMC4xMC4xMCcpCisgICAgICAgIGlwMiA9IGlwYWRkcmVzcy5JUHY0QWRkcmVzcygnMTAuMTAuMTAuMTEnKQorICAgICAgICBpcDMgPSBpcGFkZHJlc3MuSVB2NEFkZHJlc3MoJzEwLjEwLjEwLjEyJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaXN0KGlwYWRkcmVzcy5fZmluZF9hZGRyZXNzX3JhbmdlKFtpcDFdKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgWyhpcDEsIGlwMSldKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpc3QoaXBhZGRyZXNzLl9maW5kX2FkZHJlc3NfcmFuZ2UoW2lwMSwgaXAzXSkpLAorICAgICAgICAgICAgICAgICAgICAgICAgIFsoaXAxLCBpcDEpLCAoaXAzLCBpcDMpXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaXN0KGlwYWRkcmVzcy5fZmluZF9hZGRyZXNzX3JhbmdlKFtpcDEsIGlwMiwgaXAzXSkpLAorICAgICAgICAgICAgICAgICAgICAgICAgIFsoaXAxLCBpcDMpXSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgxMjgsIGlwYWRkcmVzcy5fY291bnRfcmlnaHRoYW5kX3plcm9fYml0cygwLCAxMjgpKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJJUHY0TmV0d29yaygnMS4yLjMuMC8yNCcpIiwgcmVwcihzZWxmLmlwdjRfbmV0d29yaykpCiAKLSAgICBkZWYgdGVzdE1pc3NpbmdBZGRyZXNzVmVyc2lvbihzZWxmKToKLSAgICAgICAgY2xhc3MgQnJva2VuKGlwYWRkcmVzcy5fQmFzZUFkZHJlc3MpOgotICAgICAgICAgICAgcGFzcwotICAgICAgICBicm9rZW4gPSBCcm9rZW4oJzEyNy4wLjAuMScpCi0gICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXNSZWdleChOb3RJbXBsZW1lbnRlZEVycm9yLCAiQnJva2VuLip2ZXJzaW9uIik6Ci0gICAgICAgICAgICBicm9rZW4udmVyc2lvbgotCiAgICAgZGVmIHRlc3RNaXNzaW5nTmV0d29ya1ZlcnNpb24oc2VsZik6CiAgICAgICAgIGNsYXNzIEJyb2tlbihpcGFkZHJlc3MuX0Jhc2VOZXR3b3JrKToKICAgICAgICAgICAgIHBhc3MKQEAgLTE2MzUsNiArMTc3MCwxNCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgIGFkZHIzLmV4cGxvZGVkKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCcxOTIuMTY4LjE3OC4xJywgYWRkcjQuZXhwbG9kZWQpCiAKKyAgICBkZWYgdGVzdFJldmVyc2VQb2ludGVyKHNlbGYpOgorICAgICAgICBhZGRyMSA9IGlwYWRkcmVzcy5JUHY0QWRkcmVzcygnMTI3LjAuMC4xJykKKyAgICAgICAgYWRkcjIgPSBpcGFkZHJlc3MuSVB2NkFkZHJlc3MoJzIwMDE6ZGI4OjoxJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnMS4wLjAuMTI3LmluLWFkZHIuYXJwYScsIGFkZHIxLnJldmVyc2VfcG9pbnRlcikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnMS4wLjAuMC4wLjAuMC4wLjAuMC4wLjAuMC4wLjAuMC4wLjAuMC4wLjAuMC4wLjAuOC4nICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAnYi5kLjAuMS4wLjAuMi5pcDYuYXJwYScsCisgICAgICAgICAgICAgICAgICAgICAgICAgYWRkcjIucmV2ZXJzZV9wb2ludGVyKQorCiAgICAgZGVmIHRlc3RJbnRSZXByZXNlbnRhdGlvbihzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgxNjkwOTA2MCwgaW50KHNlbGYuaXB2NF9hZGRyZXNzKSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCg0MjU0MDYxNjgyOTE4MjQ2OTQzMzU0Nzc2MjQ4MjA5Nzk0NjYyNSwKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaXRlcnRvb2xzLnB5IGIvTGliL3Rlc3QvdGVzdF9pdGVydG9vbHMucHkKaW5kZXggMjQ0NTk4Yi4uNmEwMTMwZSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9pdGVydG9vbHMucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9pdGVydG9vbHMucHkKQEAgLTE4NTYsOCArMTg1Niw2IEBACiAgICAgICAgICAgICBoaXN0LmFwcGVuZCgzKQogICAgICAgICAgICAgeWllbGQgMgogICAgICAgICAgICAgaGlzdC5hcHBlbmQoNCkKLSAgICAgICAgICAgIGlmIHg6Ci0gICAgICAgICAgICAgICAgcmFpc2UgU3RvcEl0ZXJhdGlvbgogCiAgICAgICAgIGhpc3QgPSBbXQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhBc3NlcnRpb25FcnJvciwgbGlzdCwgY2hhaW4oZ2VuMSgpLCBnZW4yKEZhbHNlKSkpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2pzb24vX19pbml0X18ucHkgYi9MaWIvdGVzdC90ZXN0X2pzb24vX19pbml0X18ucHkKaW5kZXggMmNmMTAzMi4uMDgwN2U2ZiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9qc29uL19faW5pdF9fLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfanNvbi9fX2luaXRfXy5weQpAQCAtOSwxMiArOSwxNSBAQAogIyBpbXBvcnQganNvbiB3aXRoIGFuZCB3aXRob3V0IGFjY2VsZXJhdGlvbnMKIGNqc29uID0gc3VwcG9ydC5pbXBvcnRfZnJlc2hfbW9kdWxlKCdqc29uJywgZnJlc2g9WydfanNvbiddKQogcHlqc29uID0gc3VwcG9ydC5pbXBvcnRfZnJlc2hfbW9kdWxlKCdqc29uJywgYmxvY2tlZD1bJ19qc29uJ10pCisjIEpTT05EZWNvZGVFcnJvciBpcyBjYWNoZWQgaW5zaWRlIHRoZSBfanNvbiBtb2R1bGUKK2Nqc29uLkpTT05EZWNvZGVFcnJvciA9IGNqc29uLmRlY29kZXIuSlNPTkRlY29kZUVycm9yID0ganNvbi5KU09ORGVjb2RlRXJyb3IKIAogIyBjcmVhdGUgdHdvIGJhc2UgY2xhc3NlcyB0aGF0IHdpbGwgYmUgdXNlZCBieSB0aGUgb3RoZXIgdGVzdHMKIGNsYXNzIFB5VGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAganNvbiA9IHB5anNvbgogICAgIGxvYWRzID0gc3RhdGljbWV0aG9kKHB5anNvbi5sb2FkcykKICAgICBkdW1wcyA9IHN0YXRpY21ldGhvZChweWpzb24uZHVtcHMpCisgICAgSlNPTkRlY29kZUVycm9yID0gc3RhdGljbWV0aG9kKHB5anNvbi5KU09ORGVjb2RlRXJyb3IpCiAKIEB1bml0dGVzdC5za2lwVW5sZXNzKGNqc29uLCAncmVxdWlyZXMgX2pzb24nKQogY2xhc3MgQ1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgpAQCAtMjIsNiArMjUsNyBAQAogICAgICAgICBqc29uID0gY2pzb24KICAgICAgICAgbG9hZHMgPSBzdGF0aWNtZXRob2QoY2pzb24ubG9hZHMpCiAgICAgICAgIGR1bXBzID0gc3RhdGljbWV0aG9kKGNqc29uLmR1bXBzKQorICAgICAgICBKU09ORGVjb2RlRXJyb3IgPSBzdGF0aWNtZXRob2QoY2pzb24uSlNPTkRlY29kZUVycm9yKQogCiAjIHRlc3QgUHlUZXN0IGFuZCBDVGVzdCBjaGVja2luZyBpZiB0aGUgZnVuY3Rpb25zIGNvbWUgZnJvbSB0aGUgcmlnaHQgbW9kdWxlCiBjbGFzcyBUZXN0UHlUZXN0KFB5VGVzdCk6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2pzb24vdGVzdF9kZWNvZGUucHkgYi9MaWIvdGVzdC90ZXN0X2pzb24vdGVzdF9kZWNvZGUucHkKaW5kZXggNTkxYjJlMi4uY2M4M2I0NSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9qc29uL3Rlc3RfZGVjb2RlLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfanNvbi90ZXN0X2RlY29kZS5weQpAQCAtNjMsMTIgKzYzLDEyIEBACiAgICAgZGVmIHRlc3RfZXh0cmFfZGF0YShzZWxmKToKICAgICAgICAgcyA9ICdbMSwgMiwgM101JwogICAgICAgICBtc2cgPSAnRXh0cmEgZGF0YScKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNSZWdleChWYWx1ZUVycm9yLCBtc2csIHNlbGYubG9hZHMsIHMpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoc2VsZi5KU09ORGVjb2RlRXJyb3IsIG1zZywgc2VsZi5sb2FkcywgcykKIAogICAgIGRlZiB0ZXN0X2ludmFsaWRfZXNjYXBlKHNlbGYpOgogICAgICAgICBzID0gJ1siYWJjXFx5Il0nCiAgICAgICAgIG1zZyA9ICdlc2NhcGUnCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVmFsdWVFcnJvciwgbXNnLCBzZWxmLmxvYWRzLCBzKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KHNlbGYuSlNPTkRlY29kZUVycm9yLCBtc2csIHNlbGYubG9hZHMsIHMpCiAKICAgICBkZWYgdGVzdF9pbnZhbGlkX2lucHV0X3R5cGUoc2VsZik6CiAgICAgICAgIG1zZyA9ICd0aGUgSlNPTiBvYmplY3QgbXVzdCBiZSBzdHInCkBAIC04MCwxMCArODAsMTAgQEAKICAgICBkZWYgdGVzdF9zdHJpbmdfd2l0aF91dGY4X2JvbShzZWxmKToKICAgICAgICAgIyBzZWUgIzE4OTU4CiAgICAgICAgIGJvbV9qc29uID0gIlsxLDIsM10iLmVuY29kZSgndXRmLTgtc2lnJykuZGVjb2RlKCd1dGYtOCcpCi0gICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcikgYXMgY206CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoc2VsZi5KU09ORGVjb2RlRXJyb3IpIGFzIGNtOgogICAgICAgICAgICAgc2VsZi5sb2Fkcyhib21fanNvbikKICAgICAgICAgc2VsZi5hc3NlcnRJbignQk9NJywgc3RyKGNtLmV4Y2VwdGlvbikpCi0gICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcikgYXMgY206CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoc2VsZi5KU09ORGVjb2RlRXJyb3IpIGFzIGNtOgogICAgICAgICAgICAgc2VsZi5qc29uLmxvYWQoU3RyaW5nSU8oYm9tX2pzb24pKQogICAgICAgICBzZWxmLmFzc2VydEluKCdCT00nLCBzdHIoY20uZXhjZXB0aW9uKSkKICAgICAgICAgIyBtYWtlIHN1cmUgdGhhdCB0aGUgQk9NIGlzIG5vdCBkZXRlY3RlZCBpbiB0aGUgbWlkZGxlIG9mIGEgc3RyaW5nCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2pzb24vdGVzdF9lbmNvZGVfYmFzZXN0cmluZ19hc2NpaS5weSBiL0xpYi90ZXN0L3Rlc3RfanNvbi90ZXN0X2VuY29kZV9iYXNlc3RyaW5nX2FzY2lpLnB5CmluZGV4IDIxMjJkYTEuLjRiYmM2YzcgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfanNvbi90ZXN0X2VuY29kZV9iYXNlc3RyaW5nX2FzY2lpLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfanNvbi90ZXN0X2VuY29kZV9iYXNlc3RyaW5nX2FzY2lpLnB5CkBAIC0xMiw5ICsxMiw2IEBACiAgICAgKCcgcyBwIGEgYyBlIGQgJywgJyIgcyBwIGEgYyBlIGQgIicpLAogICAgICgnXFUwMDAxZDEyMCcsICciXFx1ZDgzNFxcdWRkMjAiJyksCiAgICAgKCdcdTAzYjFcdTAzYTknLCAnIlxcdTAzYjFcXHUwM2E5IicpLAotICAgICgnXHUwM2IxXHUwM2E5JywgJyJcXHUwM2IxXFx1MDNhOSInKSwKLSAgICAoJ1x1MDNiMVx1MDNhOScsICciXFx1MDNiMVxcdTAzYTkiJyksCi0gICAgKCdcdTAzYjFcdTAzYTknLCAnIlxcdTAzYjFcXHUwM2E5IicpLAogICAgICgiYDF+IUAjJCVeJiooKV8rLT17JzpbLF19fDsuPC8+PyIsICciYDF+IUAjJCVeJiooKV8rLT17XCc6WyxdfXw7LjwvPj8iJyksCiAgICAgKCdceDA4XHgwY1xuXHJcdCcsICciXFxiXFxmXFxuXFxyXFx0IicpLAogICAgICgnXHUwMTIzXHU0NTY3XHU4OWFiXHVjZGVmXHVhYmNkXHVlZjRhJywgJyJcXHUwMTIzXFx1NDU2N1xcdTg5YWJcXHVjZGVmXFx1YWJjZFxcdWVmNGEiJyksCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2pzb24vdGVzdF9mYWlsLnB5IGIvTGliL3Rlc3QvdGVzdF9qc29uL3Rlc3RfZmFpbC5weQppbmRleCA3Y2FhZmRiLi45NWZmNWI4IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2pzb24vdGVzdF9mYWlsLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfanNvbi90ZXN0X2ZhaWwucHkKQEAgLTg3LDcgKzg3LDcgQEAKICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIHNlbGYubG9hZHMoZG9jKQotICAgICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CisgICAgICAgICAgICBleGNlcHQgc2VsZi5KU09ORGVjb2RlRXJyb3I6CiAgICAgICAgICAgICAgICAgcGFzcwogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBzZWxmLmZhaWwoIkV4cGVjdGVkIGZhaWx1cmUgZm9yIGZhaWx7MH0uanNvbjogezEhcn0iLmZvcm1hdChpZHgsIGRvYykpCkBAIC0xMjQsMTAgKzEyNCwxNiBAQAogICAgICAgICAgICAgKCcic3BhbScsICdVbnRlcm1pbmF0ZWQgc3RyaW5nIHN0YXJ0aW5nIGF0JywgMCksCiAgICAgICAgIF0KICAgICAgICAgZm9yIGRhdGEsIG1zZywgaWR4IGluIHRlc3RfY2FzZXM6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFZhbHVlRXJyb3IsCi0gICAgICAgICAgICAgICAgcideezB9OiBsaW5lIDEgY29sdW1uIHsxfSBcKGNoYXIgezJ9XCknLmZvcm1hdCgKLSAgICAgICAgICAgICAgICAgICAgcmUuZXNjYXBlKG1zZyksIGlkeCArIDEsIGlkeCksCi0gICAgICAgICAgICAgICAgc2VsZi5sb2FkcywgZGF0YSkKKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoc2VsZi5KU09ORGVjb2RlRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgICAgIHNlbGYubG9hZHMoZGF0YSkKKyAgICAgICAgICAgIGVyciA9IGNtLmV4Y2VwdGlvbgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlcnIubXNnLCBtc2cpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVyci5wb3MsIGlkeCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXJyLmxpbmVubywgMSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXJyLmNvbG5vLCBpZHggKyAxKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoZXJyKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyVzOiBsaW5lIDEgY29sdW1uICVkIChjaGFyICVkKScgJQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobXNnLCBpZHggKyAxLCBpZHgpKQogCiAgICAgZGVmIHRlc3RfdW5leHBlY3RlZF9kYXRhKHNlbGYpOgogICAgICAgICB0ZXN0X2Nhc2VzID0gWwpAQCAtMTU0LDEwICsxNjAsMTYgQEAKICAgICAgICAgICAgICgneyJzcGFtIjo0Mix9JywgJ0V4cGVjdGluZyBwcm9wZXJ0eSBuYW1lIGVuY2xvc2VkIGluIGRvdWJsZSBxdW90ZXMnLCAxMSksCiAgICAgICAgIF0KICAgICAgICAgZm9yIGRhdGEsIG1zZywgaWR4IGluIHRlc3RfY2FzZXM6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFZhbHVlRXJyb3IsCi0gICAgICAgICAgICAgICAgcideezB9OiBsaW5lIDEgY29sdW1uIHsxfSBcKGNoYXIgezJ9XCknLmZvcm1hdCgKLSAgICAgICAgICAgICAgICAgICAgcmUuZXNjYXBlKG1zZyksIGlkeCArIDEsIGlkeCksCi0gICAgICAgICAgICAgICAgc2VsZi5sb2FkcywgZGF0YSkKKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoc2VsZi5KU09ORGVjb2RlRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgICAgIHNlbGYubG9hZHMoZGF0YSkKKyAgICAgICAgICAgIGVyciA9IGNtLmV4Y2VwdGlvbgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlcnIubXNnLCBtc2cpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVyci5wb3MsIGlkeCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXJyLmxpbmVubywgMSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXJyLmNvbG5vLCBpZHggKyAxKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoZXJyKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyVzOiBsaW5lIDEgY29sdW1uICVkIChjaGFyICVkKScgJQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobXNnLCBpZHggKyAxLCBpZHgpKQogCiAgICAgZGVmIHRlc3RfZXh0cmFfZGF0YShzZWxmKToKICAgICAgICAgdGVzdF9jYXNlcyA9IFsKQEAgLTE3MSwxMSArMTgzLDE2IEBACiAgICAgICAgICAgICAoJyJzcGFtIiw0MicsICdFeHRyYSBkYXRhJywgNiksCiAgICAgICAgIF0KICAgICAgICAgZm9yIGRhdGEsIG1zZywgaWR4IGluIHRlc3RfY2FzZXM6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFZhbHVlRXJyb3IsCi0gICAgICAgICAgICAgICAgcideezB9OiBsaW5lIDEgY29sdW1uIHsxfSAtIGxpbmUgMSBjb2x1bW4gezJ9JwotICAgICAgICAgICAgICAgIHInIFwoY2hhciB7M30gLSB7NH1cKScuZm9ybWF0KAotICAgICAgICAgICAgICAgICAgICByZS5lc2NhcGUobXNnKSwgaWR4ICsgMSwgbGVuKGRhdGEpICsgMSwgaWR4LCBsZW4oZGF0YSkpLAotICAgICAgICAgICAgICAgIHNlbGYubG9hZHMsIGRhdGEpCisgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKHNlbGYuSlNPTkRlY29kZUVycm9yKSBhcyBjbToKKyAgICAgICAgICAgICAgICBzZWxmLmxvYWRzKGRhdGEpCisgICAgICAgICAgICBlcnIgPSBjbS5leGNlcHRpb24KKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXJyLm1zZywgbXNnKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlcnIucG9zLCBpZHgpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVyci5saW5lbm8sIDEpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVyci5jb2xubywgaWR4ICsgMSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGVyciksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICclczogbGluZSAxIGNvbHVtbiAlZCAoY2hhciAlZCknICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1zZywgaWR4ICsgMSwgaWR4KSkKIAogICAgIGRlZiB0ZXN0X2xpbmVjb2woc2VsZik6CiAgICAgICAgIHRlc3RfY2FzZXMgPSBbCkBAIC0xODUsMTAgKzIwMiwxNiBAQAogICAgICAgICAgICAgKCdcbiAgXG5cbiAgICAgIScsIDQsIDYsIDEwKSwKICAgICAgICAgXQogICAgICAgICBmb3IgZGF0YSwgbGluZSwgY29sLCBpZHggaW4gdGVzdF9jYXNlczoKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVmFsdWVFcnJvciwKLSAgICAgICAgICAgICAgICByJ15FeHBlY3RpbmcgdmFsdWU6IGxpbmUgezB9IGNvbHVtbiB7MX0nCi0gICAgICAgICAgICAgICAgcicgXChjaGFyIHsyfVwpJCcuZm9ybWF0KGxpbmUsIGNvbCwgaWR4KSwKLSAgICAgICAgICAgICAgICBzZWxmLmxvYWRzLCBkYXRhKQorICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhzZWxmLkpTT05EZWNvZGVFcnJvcikgYXMgY206CisgICAgICAgICAgICAgICAgc2VsZi5sb2FkcyhkYXRhKQorICAgICAgICAgICAgZXJyID0gY20uZXhjZXB0aW9uCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVyci5tc2csICdFeHBlY3RpbmcgdmFsdWUnKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlcnIucG9zLCBpZHgpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVyci5saW5lbm8sIGxpbmUpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVyci5jb2xubywgY29sKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoZXJyKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0V4cGVjdGluZyB2YWx1ZTogbGluZSAlcyBjb2x1bW4gJWQgKGNoYXIgJWQpJyAlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsaW5lLCBjb2wsIGlkeCkpCiAKIGNsYXNzIFRlc3RQeUZhaWwoVGVzdEZhaWwsIFB5VGVzdCk6IHBhc3MKIGNsYXNzIFRlc3RDRmFpbChUZXN0RmFpbCwgQ1Rlc3QpOiBwYXNzCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2pzb24vdGVzdF9zY2Fuc3RyaW5nLnB5IGIvTGliL3Rlc3QvdGVzdF9qc29uL3Rlc3Rfc2NhbnN0cmluZy5weQppbmRleCAwN2Y0MzU4Li4yZDNlZThhIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2pzb24vdGVzdF9zY2Fuc3RyaW5nLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfanNvbi90ZXN0X3NjYW5zdHJpbmcucHkKQEAgLTEyOSw3ICsxMjksNyBAQAogICAgICAgICAgICAgJyJcXHVkODM0XFx1MFgyMCInLAogICAgICAgICBdCiAgICAgICAgIGZvciBzIGluIGJhZF9lc2NhcGVzOgotICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBtc2c9cyk6CisgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKHNlbGYuSlNPTkRlY29kZUVycm9yLCBtc2c9cyk6CiAgICAgICAgICAgICAgICAgc2NhbnN0cmluZyhzLCAxLCBUcnVlKQogCiAgICAgZGVmIHRlc3Rfb3ZlcmZsb3coc2VsZik6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2pzb24vdGVzdF90b29sLnB5IGIvTGliL3Rlc3QvdGVzdF9qc29uL3Rlc3RfdG9vbC5weQppbmRleCAwYzM5ZTU2Li5iZDYzZTJiIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2pzb24vdGVzdF90b29sLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfanNvbi90ZXN0X3Rvb2wucHkKQEAgLTYsNiArNiw3IEBACiBmcm9tIHRlc3QgaW1wb3J0IHN1cHBvcnQKIGZyb20gdGVzdC5zY3JpcHRfaGVscGVyIGltcG9ydCBhc3NlcnRfcHl0aG9uX29rCiAKKwogY2xhc3MgVGVzdFRvb2wodW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGRhdGEgPSAiIiIKIApAQCAtMTUsNyArMTYsNyBAQAogICAgICAgICAgICAgOiJ5ZXMifSAgXQogICAgICAgICAgICAiIiIKIAotICAgIGV4cGVjdCA9IHRleHR3cmFwLmRlZGVudCgiIiJcCisgICAgZXhwZWN0X3dpdGhvdXRfc29ydF9rZXlzID0gdGV4dHdyYXAuZGVkZW50KCIiIlwKICAgICBbCiAgICAgICAgIFsKICAgICAgICAgICAgICJibG9ycGllIgpAQCAtMzcsNiArMzgsMjggQEAKICAgICBdCiAgICAgIiIiKQogCisgICAgZXhwZWN0ID0gdGV4dHdyYXAuZGVkZW50KCIiIlwKKyAgICBbCisgICAgICAgIFsKKyAgICAgICAgICAgICJibG9ycGllIgorICAgICAgICBdLAorICAgICAgICBbCisgICAgICAgICAgICAid2hvb3BzIgorICAgICAgICBdLAorICAgICAgICBbXSwKKyAgICAgICAgImQtc2h0YWVvdSIsCisgICAgICAgICJkLW50aGlvdWgiLAorICAgICAgICAiaS12aGJqa2hudGgiLAorICAgICAgICB7CisgICAgICAgICAgICAibmlmdHkiOiA4NworICAgICAgICB9LAorICAgICAgICB7CisgICAgICAgICAgICAibW9yZWZpZWxkIjogZmFsc2UsCisgICAgICAgICAgICAiZmllbGQiOiAieWVzIgorICAgICAgICB9CisgICAgXQorICAgICIiIikKKwogICAgIGRlZiB0ZXN0X3N0ZGluX3N0ZG91dChzZWxmKToKICAgICAgICAgd2l0aCBzdWJwcm9jZXNzLlBvcGVuKAogICAgICAgICAgICAgICAgIChzeXMuZXhlY3V0YWJsZSwgJy1tJywgJ2pzb24udG9vbCcpLApAQCAtNTUsNiArNzgsNyBAQAogICAgIGRlZiB0ZXN0X2luZmlsZV9zdGRvdXQoc2VsZik6CiAgICAgICAgIGluZmlsZSA9IHNlbGYuX2NyZWF0ZV9pbmZpbGUoKQogICAgICAgICByYywgb3V0LCBlcnIgPSBhc3NlcnRfcHl0aG9uX29rKCctbScsICdqc29uLnRvb2wnLCBpbmZpbGUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmMsIDApCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3V0LnNwbGl0bGluZXMoKSwgc2VsZi5leHBlY3QuZW5jb2RlKCkuc3BsaXRsaW5lcygpKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVyciwgYicnKQogCkBAIC02NSw1ICs4OSwyMCBAQAogICAgICAgICBzZWxmLmFkZENsZWFudXAob3MucmVtb3ZlLCBvdXRmaWxlKQogICAgICAgICB3aXRoIG9wZW4ob3V0ZmlsZSwgInIiKSBhcyBmcDoKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZnAucmVhZCgpLCBzZWxmLmV4cGVjdCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyYywgMCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvdXQsIGInJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlcnIsIGInJykKKworICAgIGRlZiB0ZXN0X2hlbHBfZmxhZyhzZWxmKToKKyAgICAgICAgcmMsIG91dCwgZXJyID0gYXNzZXJ0X3B5dGhvbl9vaygnLW0nLCAnanNvbi50b29sJywgJy1oJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyYywgMCkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG91dC5zdGFydHN3aXRoKGIndXNhZ2U6ICcpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVyciwgYicnKQorCisgICAgZGVmIHRlc3Rfc29ydF9rZXlzX2ZsYWcoc2VsZik6CisgICAgICAgIGluZmlsZSA9IHNlbGYuX2NyZWF0ZV9pbmZpbGUoKQorICAgICAgICByYywgb3V0LCBlcnIgPSBhc3NlcnRfcHl0aG9uX29rKCctbScsICdqc29uLnRvb2wnLCAnLS1zb3J0LWtleXMnLCBpbmZpbGUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmMsIDApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3V0LnNwbGl0bGluZXMoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmV4cGVjdF93aXRob3V0X3NvcnRfa2V5cy5lbmNvZGUoKS5zcGxpdGxpbmVzKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXJyLCBiJycpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2txdWV1ZS5weSBiL0xpYi90ZXN0L3Rlc3Rfa3F1ZXVlLnB5CmluZGV4IGY3OWJkODkuLjI1ODVjYTYgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfa3F1ZXVlLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3Rfa3F1ZXVlLnB5CkBAIC0xMTQsNyArMTE0LDcgQEAKICAgICBkZWYgdGVzdF9xdWV1ZV9ldmVudChzZWxmKToKICAgICAgICAgc2VydmVyU29ja2V0ID0gc29ja2V0LnNvY2tldCgpCiAgICAgICAgIHNlcnZlclNvY2tldC5iaW5kKCgnMTI3LjAuMC4xJywgMCkpCi0gICAgICAgIHNlcnZlclNvY2tldC5saXN0ZW4oMSkKKyAgICAgICAgc2VydmVyU29ja2V0Lmxpc3RlbigpCiAgICAgICAgIGNsaWVudCA9IHNvY2tldC5zb2NrZXQoKQogICAgICAgICBjbGllbnQuc2V0YmxvY2tpbmcoRmFsc2UpCiAgICAgICAgIHRyeToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfbG9jYWxlLnB5IGIvTGliL3Rlc3QvdGVzdF9sb2NhbGUucHkKaW5kZXggZTk3OTc1My4uODFmZTU3ZCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9sb2NhbGUucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9sb2NhbGUucHkKQEAgLTUyNCw1ICs1MjQsNTkgQEAKICAgICAgICAgICAgIGxvY2FsZS5zZXRsb2NhbGUobG9jYWxlLkxDX0FMTCwgKGInbm90JywgYid2YWxpZCcpKQogCiAKK2NsYXNzIEJhc2VEZWxvY2FsaXplVGVzdChCYXNlTG9jYWxpemVkVGVzdCk6CisKKyAgICBkZWYgX3Rlc3RfZGVsb2NhbGl6ZShzZWxmLCB2YWx1ZSwgb3V0KToKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsb2NhbGUuZGVsb2NhbGl6ZSh2YWx1ZSksIG91dCkKKworICAgIGRlZiBfdGVzdF9hdG9mKHNlbGYsIHZhbHVlLCBvdXQpOgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxvY2FsZS5hdG9mKHZhbHVlKSwgb3V0KQorCisgICAgZGVmIF90ZXN0X2F0b2koc2VsZiwgdmFsdWUsIG91dCk6CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobG9jYWxlLmF0b2kodmFsdWUpLCBvdXQpCisKKworY2xhc3MgVGVzdEVuVVNEZWxvY2FsaXplKEVuVVNDb29rZWRUZXN0LCBCYXNlRGVsb2NhbGl6ZVRlc3QpOgorCisgICAgZGVmIHRlc3RfZGVsb2NhbGl6ZShzZWxmKToKKyAgICAgICAgc2VsZi5fdGVzdF9kZWxvY2FsaXplKCc1MDAwMC4wMCcsICc1MDAwMC4wMCcpCisgICAgICAgIHNlbGYuX3Rlc3RfZGVsb2NhbGl6ZSgnNTAsMDAwLjAwJywgJzUwMDAwLjAwJykKKworICAgIGRlZiB0ZXN0X2F0b2Yoc2VsZik6CisgICAgICAgIHNlbGYuX3Rlc3RfYXRvZignNTAwMDAuMDAnLCA1MDAwMC4pCisgICAgICAgIHNlbGYuX3Rlc3RfYXRvZignNTAsMDAwLjAwJywgNTAwMDAuKQorCisgICAgZGVmIHRlc3RfYXRvaShzZWxmKToKKyAgICAgICAgc2VsZi5fdGVzdF9hdG9pKCc1MDAwMCcsIDUwMDAwKQorICAgICAgICBzZWxmLl90ZXN0X2F0b2koJzUwLDAwMCcsIDUwMDAwKQorCisKK2NsYXNzIFRlc3RDRGVsb2NhbGl6ZVRlc3QoQ0Nvb2tlZFRlc3QsIEJhc2VEZWxvY2FsaXplVGVzdCk6CisKKyAgICBkZWYgdGVzdF9kZWxvY2FsaXplKHNlbGYpOgorICAgICAgICBzZWxmLl90ZXN0X2RlbG9jYWxpemUoJzUwMDAwLjAwJywgJzUwMDAwLjAwJykKKworICAgIGRlZiB0ZXN0X2F0b2Yoc2VsZik6CisgICAgICAgIHNlbGYuX3Rlc3RfYXRvZignNTAwMDAuMDAnLCA1MDAwMC4pCisKKyAgICBkZWYgdGVzdF9hdG9pKHNlbGYpOgorICAgICAgICBzZWxmLl90ZXN0X2F0b2koJzUwMDAwJywgNTAwMDApCisKKworY2xhc3MgVGVzdGZyRlJEZWxvY2FsaXplVGVzdChGckZSQ29va2VkVGVzdCwgQmFzZURlbG9jYWxpemVUZXN0KToKKworICAgIGRlZiB0ZXN0X2RlbG9jYWxpemUoc2VsZik6CisgICAgICAgIHNlbGYuX3Rlc3RfZGVsb2NhbGl6ZSgnNTAwMDAsMDAnLCAnNTAwMDAuMDAnKQorICAgICAgICBzZWxmLl90ZXN0X2RlbG9jYWxpemUoJzUwIDAwMCwwMCcsICc1MDAwMC4wMCcpCisKKyAgICBkZWYgdGVzdF9hdG9mKHNlbGYpOgorICAgICAgICBzZWxmLl90ZXN0X2F0b2YoJzUwMDAwLDAwJywgNTAwMDAuKQorICAgICAgICBzZWxmLl90ZXN0X2F0b2YoJzUwIDAwMCwwMCcsIDUwMDAwLikKKworICAgIGRlZiB0ZXN0X2F0b2koc2VsZik6CisgICAgICAgIHNlbGYuX3Rlc3RfYXRvaSgnNTAwMDAnLCA1MDAwMCkKKyAgICAgICAgc2VsZi5fdGVzdF9hdG9pKCc1MCAwMDAnLCA1MDAwMCkKKworCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgogICAgIHVuaXR0ZXN0Lm1haW4oKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9sb2dnaW5nLnB5IGIvTGliL3Rlc3QvdGVzdF9sb2dnaW5nLnB5CmluZGV4IDU0YmUyMTcuLjk2NzQzMjIgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfbG9nZ2luZy5weQorKysgYi9MaWIvdGVzdC90ZXN0X2xvZ2dpbmcucHkKQEAgLTEsNCArMSw0IEBACi0jIENvcHlyaWdodCAyMDAxLTIwMTMgYnkgVmluYXkgU2FqaXAuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisjIENvcHlyaWdodCAyMDAxLTIwMTQgYnkgVmluYXkgU2FqaXAuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAjCiAjIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZCBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgYW5kIGl0cwogIyBkb2N1bWVudGF0aW9uIGZvciBhbnkgcHVycG9zZSBhbmQgd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQsCkBAIC0xNiw3ICsxNiw3IEBACiAKICIiIlRlc3QgaGFybmVzcyBmb3IgdGhlIGxvZ2dpbmcgbW9kdWxlLiBSdW4gYWxsIHRlc3RzLgogCi1Db3B5cmlnaHQgKEMpIDIwMDEtMjAxMyBWaW5heSBTYWppcC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KK0NvcHlyaWdodCAoQykgMjAwMS0yMDE0IFZpbmF5IFNhamlwLiBBbGwgUmlnaHRzIFJlc2VydmVkLgogIiIiCiAKIGltcG9ydCBsb2dnaW5nCkBAIC0zNCwxNCArMzQsMTIgQEAKIGltcG9ydCBxdWV1ZQogaW1wb3J0IHJhbmRvbQogaW1wb3J0IHJlCi1pbXBvcnQgc2VsZWN0CiBpbXBvcnQgc29ja2V0CiBpbXBvcnQgc3RydWN0CiBpbXBvcnQgc3lzCiBpbXBvcnQgdGVtcGZpbGUKIGZyb20gdGVzdC5zY3JpcHRfaGVscGVyIGltcG9ydCBhc3NlcnRfcHl0aG9uX29rCi1mcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgKGNhcHR1cmVkX3N0ZG91dCwgcnVuX3dpdGhfbG9jYWxlLCBydW5fdW5pdHRlc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGNoLCByZXF1aXJlc196bGliLCBUZXN0SGFuZGxlciwgTWF0Y2hlciwgSE9TVCkKK2Zyb20gdGVzdCBpbXBvcnQgc3VwcG9ydAogaW1wb3J0IHRleHR3cmFwCiBpbXBvcnQgdGltZQogaW1wb3J0IHVuaXR0ZXN0CkBAIC01MSwxNiArNDksMTIgQEAKICAgICBpbXBvcnQgdGhyZWFkaW5nCiAgICAgIyBUaGUgZm9sbG93aW5nIGltcG9ydHMgYXJlIG5lZWRlZCBvbmx5IGZvciB0ZXN0cyB3aGljaAogICAgICMgcmVxdWlyZSB0aHJlYWRpbmcKLSAgICBpbXBvcnQgYXN5bmNoYXQKICAgICBpbXBvcnQgYXN5bmNvcmUKLSAgICBpbXBvcnQgZXJybm8KICAgICBmcm9tIGh0dHAuc2VydmVyIGltcG9ydCBIVFRQU2VydmVyLCBCYXNlSFRUUFJlcXVlc3RIYW5kbGVyCiAgICAgaW1wb3J0IHNtdHBkCiAgICAgZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0IHVybHBhcnNlLCBwYXJzZV9xcwogICAgIGZyb20gc29ja2V0c2VydmVyIGltcG9ydCAoVGhyZWFkaW5nVURQU2VydmVyLCBEYXRhZ3JhbVJlcXVlc3RIYW5kbGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhyZWFkaW5nVENQU2VydmVyLCBTdHJlYW1SZXF1ZXN0SGFuZGxlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRocmVhZGluZ1VuaXhTdHJlYW1TZXJ2ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaHJlYWRpbmdVbml4RGF0YWdyYW1TZXJ2ZXIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaHJlYWRpbmdUQ1BTZXJ2ZXIsIFN0cmVhbVJlcXVlc3RIYW5kbGVyKQogZXhjZXB0IEltcG9ydEVycm9yOgogICAgIHRocmVhZGluZyA9IE5vbmUKIHRyeToKQEAgLTY0NSwyMiArNjM5LDIzIEBACiAgICAgICAgIGggPSBUZXN0U3RyZWFtSGFuZGxlcihCYWRTdHJlYW0oKSkKICAgICAgICAgciA9IGxvZ2dpbmcubWFrZUxvZ1JlY29yZCh7fSkKICAgICAgICAgb2xkX3JhaXNlID0gbG9nZ2luZy5yYWlzZUV4Y2VwdGlvbnMKLSAgICAgICAgb2xkX3N0ZGVyciA9IHN5cy5zdGRlcnIKKwogICAgICAgICB0cnk6CiAgICAgICAgICAgICBoLmhhbmRsZShyKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhoLmVycm9yX3JlY29yZCwgcikKKwogICAgICAgICAgICAgaCA9IGxvZ2dpbmcuU3RyZWFtSGFuZGxlcihCYWRTdHJlYW0oKSkKLSAgICAgICAgICAgIHN5cy5zdGRlcnIgPSBzaW8gPSBpby5TdHJpbmdJTygpCi0gICAgICAgICAgICBoLmhhbmRsZShyKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRJbignXG5SdW50aW1lRXJyb3I6IGRlbGliZXJhdGUgbWlzdGFrZVxuJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgc2lvLmdldHZhbHVlKCkpCisgICAgICAgICAgICB3aXRoIHN1cHBvcnQuY2FwdHVyZWRfc3RkZXJyKCkgYXMgc3RkZXJyOgorICAgICAgICAgICAgICAgIGguaGFuZGxlKHIpCisgICAgICAgICAgICAgICAgbXNnID0gJ1xuUnVudGltZUVycm9yOiBkZWxpYmVyYXRlIG1pc3Rha2VcbicKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEluKG1zZywgc3RkZXJyLmdldHZhbHVlKCkpCisKICAgICAgICAgICAgIGxvZ2dpbmcucmFpc2VFeGNlcHRpb25zID0gRmFsc2UKLSAgICAgICAgICAgIHN5cy5zdGRlcnIgPSBzaW8gPSBpby5TdHJpbmdJTygpCi0gICAgICAgICAgICBoLmhhbmRsZShyKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnJywgc2lvLmdldHZhbHVlKCkpCisgICAgICAgICAgICB3aXRoIHN1cHBvcnQuY2FwdHVyZWRfc3RkZXJyKCkgYXMgc3RkZXJyOgorICAgICAgICAgICAgICAgIGguaGFuZGxlKHIpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnJywgc3RkZXJyLmdldHZhbHVlKCkpCiAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICBsb2dnaW5nLnJhaXNlRXhjZXB0aW9ucyA9IG9sZF9yYWlzZQotICAgICAgICAgICAgc3lzLnN0ZGVyciA9IG9sZF9zdGRlcnIKIAogIyAtLSBUaGUgZm9sbG93aW5nIHNlY3Rpb24gY291bGQgYmUgbW92ZWQgaW50byBhIHNlcnZlcl9oZWxwZXIucHkgbW9kdWxlCiAjIC0tIGlmIGl0IHByb3ZlcyB0byBiZSBvZiB3aWRlciB1dGlsaXR5IHRoYW4ganVzdCB0ZXN0X2xvZ2dpbmcKQEAgLTY4OCw3ICs2ODMsOCBAQAogICAgICAgICAiIiIKIAogICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgYWRkciwgaGFuZGxlciwgcG9sbF9pbnRlcnZhbCwgc29ja21hcCk6Ci0gICAgICAgICAgICBzbXRwZC5TTVRQU2VydmVyLl9faW5pdF9fKHNlbGYsIGFkZHIsIE5vbmUsIG1hcD1zb2NrbWFwKQorICAgICAgICAgICAgc210cGQuU01UUFNlcnZlci5fX2luaXRfXyhzZWxmLCBhZGRyLCBOb25lLCBtYXA9c29ja21hcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjb2RlX2RhdGE9VHJ1ZSkKICAgICAgICAgICAgIHNlbGYucG9ydCA9IHNlbGYuc29ja2V0LmdldHNvY2tuYW1lKClbMV0KICAgICAgICAgICAgIHNlbGYuX2hhbmRsZXIgPSBoYW5kbGVyCiAgICAgICAgICAgICBzZWxmLl90aHJlYWQgPSBOb25lCkBAIC05MzAsMTAgKzkyNiwxMCBAQAogICAgIFRJTUVPVVQgPSA4LjAKICAgICBkZWYgdGVzdF9iYXNpYyhzZWxmKToKICAgICAgICAgc29ja21hcCA9IHt9Ci0gICAgICAgIHNlcnZlciA9IFRlc3RTTVRQU2VydmVyKChIT1NULCAwKSwgc2VsZi5wcm9jZXNzX21lc3NhZ2UsIDAuMDAxLAorICAgICAgICBzZXJ2ZXIgPSBUZXN0U01UUFNlcnZlcigoc3VwcG9ydC5IT1NULCAwKSwgc2VsZi5wcm9jZXNzX21lc3NhZ2UsIDAuMDAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb2NrbWFwKQogICAgICAgICBzZXJ2ZXIuc3RhcnQoKQotICAgICAgICBhZGRyID0gKEhPU1QsIHNlcnZlci5wb3J0KQorICAgICAgICBhZGRyID0gKHN1cHBvcnQuSE9TVCwgc2VydmVyLnBvcnQpCiAgICAgICAgIGggPSBsb2dnaW5nLmhhbmRsZXJzLlNNVFBIYW5kbGVyKGFkZHIsICdtZScsICd5b3UnLCAnTG9nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZW91dD1zZWxmLlRJTUVPVVQpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaC50b2FkZHJzLCBbJ3lvdSddKQpAQCAtMTI0OSw3ICsxMjQ1LDcgQEAKIAogICAgIGRlZiB0ZXN0X2NvbmZpZzBfb2soc2VsZik6CiAgICAgICAgICMgQSBzaW1wbGUgY29uZmlnIGZpbGUgd2hpY2ggb3ZlcnJpZGVzIHRoZSBkZWZhdWx0IHNldHRpbmdzLgotICAgICAgICB3aXRoIGNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKICAgICAgICAgICAgIHNlbGYuYXBwbHlfY29uZmlnKHNlbGYuY29uZmlnMCkKICAgICAgICAgICAgIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCkKICAgICAgICAgICAgICMgV29uJ3Qgb3V0cHV0IGFueXRoaW5nCkBAIC0xMjY0LDcgKzEyNjAsNyBAQAogCiAgICAgZGVmIHRlc3RfY29uZmlnMF91c2luZ19jcF9vayhzZWxmKToKICAgICAgICAgIyBBIHNpbXBsZSBjb25maWcgZmlsZSB3aGljaCBvdmVycmlkZXMgdGhlIGRlZmF1bHQgc2V0dGluZ3MuCi0gICAgICAgIHdpdGggY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgorICAgICAgICB3aXRoIHN1cHBvcnQuY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgogICAgICAgICAgICAgZmlsZSA9IGlvLlN0cmluZ0lPKHRleHR3cmFwLmRlZGVudChzZWxmLmNvbmZpZzApKQogICAgICAgICAgICAgY3AgPSBjb25maWdwYXJzZXIuQ29uZmlnUGFyc2VyKCkKICAgICAgICAgICAgIGNwLnJlYWRfZmlsZShmaWxlKQpAQCAtMTI4Miw3ICsxMjc4LDcgQEAKIAogICAgIGRlZiB0ZXN0X2NvbmZpZzFfb2soc2VsZiwgY29uZmlnPWNvbmZpZzEpOgogICAgICAgICAjIEEgY29uZmlnIGZpbGUgZGVmaW5pbmcgYSBzdWItcGFyc2VyIGFzIHdlbGwuCi0gICAgICAgIHdpdGggY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgorICAgICAgICB3aXRoIHN1cHBvcnQuY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgogICAgICAgICAgICAgc2VsZi5hcHBseV9jb25maWcoY29uZmlnKQogICAgICAgICAgICAgbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoImNvbXBpbGVyLnBhcnNlciIpCiAgICAgICAgICAgICAjIEJvdGggd2lsbCBvdXRwdXQgYSBtZXNzYWdlCkBAIC0xMzA1LDcgKzEzMDEsNyBAQAogCiAgICAgZGVmIHRlc3RfY29uZmlnNF9vayhzZWxmKToKICAgICAgICAgIyBBIGNvbmZpZyBmaWxlIHNwZWNpZnlpbmcgYSBjdXN0b20gZm9ybWF0dGVyIGNsYXNzLgotICAgICAgICB3aXRoIGNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKICAgICAgICAgICAgIHNlbGYuYXBwbHlfY29uZmlnKHNlbGYuY29uZmlnNCkKICAgICAgICAgICAgIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCkKICAgICAgICAgICAgIHRyeToKQEAgLTEzMjUsNyArMTMyMSw3IEBACiAgICAgICAgIHNlbGYudGVzdF9jb25maWcxX29rKGNvbmZpZz1zZWxmLmNvbmZpZzYpCiAKICAgICBkZWYgdGVzdF9jb25maWc3X29rKHNlbGYpOgotICAgICAgICB3aXRoIGNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKICAgICAgICAgICAgIHNlbGYuYXBwbHlfY29uZmlnKHNlbGYuY29uZmlnMWEpCiAgICAgICAgICAgICBsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcigiY29tcGlsZXIucGFyc2VyIikKICAgICAgICAgICAgICMgU2VlIGlzc3VlICMxMTQyNC4gY29tcGlsZXItaHlwaGVuYXRlZCBzb3J0cwpAQCAtMTM0NSw3ICsxMzQxLDcgQEAKICAgICAgICAgICAgIF0sIHN0cmVhbT1vdXRwdXQpCiAgICAgICAgICAgICAjIE9yaWdpbmFsIGxvZ2dlciBvdXRwdXQgaXMgZW1wdHkuCiAgICAgICAgICAgICBzZWxmLmFzc2VydF9sb2dfbGluZXMoW10pCi0gICAgICAgIHdpdGggY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgorICAgICAgICB3aXRoIHN1cHBvcnQuY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgogICAgICAgICAgICAgc2VsZi5hcHBseV9jb25maWcoc2VsZi5jb25maWc3KQogICAgICAgICAgICAgbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoImNvbXBpbGVyLnBhcnNlciIpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGxvZ2dlci5kaXNhYmxlZCkKQEAgLTI0OTIsNyArMjQ4OCw3IEBACiAKICAgICBkZWYgdGVzdF9jb25maWcwX29rKHNlbGYpOgogICAgICAgICAjIEEgc2ltcGxlIGNvbmZpZyB3aGljaCBvdmVycmlkZXMgdGhlIGRlZmF1bHQgc2V0dGluZ3MuCi0gICAgICAgIHdpdGggY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgorICAgICAgICB3aXRoIHN1cHBvcnQuY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgogICAgICAgICAgICAgc2VsZi5hcHBseV9jb25maWcoc2VsZi5jb25maWcwKQogICAgICAgICAgICAgbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoKQogICAgICAgICAgICAgIyBXb24ndCBvdXRwdXQgYW55dGhpbmcKQEAgLTI1MDcsNyArMjUwMyw3IEBACiAKICAgICBkZWYgdGVzdF9jb25maWcxX29rKHNlbGYsIGNvbmZpZz1jb25maWcxKToKICAgICAgICAgIyBBIGNvbmZpZyBkZWZpbmluZyBhIHN1Yi1wYXJzZXIgYXMgd2VsbC4KLSAgICAgICAgd2l0aCBjYXB0dXJlZF9zdGRvdXQoKSBhcyBvdXRwdXQ6CisgICAgICAgIHdpdGggc3VwcG9ydC5jYXB0dXJlZF9zdGRvdXQoKSBhcyBvdXRwdXQ6CiAgICAgICAgICAgICBzZWxmLmFwcGx5X2NvbmZpZyhjb25maWcpCiAgICAgICAgICAgICBsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcigiY29tcGlsZXIucGFyc2VyIikKICAgICAgICAgICAgICMgQm90aCB3aWxsIG91dHB1dCBhIG1lc3NhZ2UKQEAgLTI1MzgsNyArMjUzNCw3IEBACiAKICAgICBkZWYgdGVzdF9jb25maWc0X29rKHNlbGYpOgogICAgICAgICAjIEEgY29uZmlnIHNwZWNpZnlpbmcgYSBjdXN0b20gZm9ybWF0dGVyIGNsYXNzLgotICAgICAgICB3aXRoIGNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKICAgICAgICAgICAgIHNlbGYuYXBwbHlfY29uZmlnKHNlbGYuY29uZmlnNCkKICAgICAgICAgICAgICNsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcigpCiAgICAgICAgICAgICB0cnk6CkBAIC0yNTUzLDcgKzI1NDksNyBAQAogCiAgICAgZGVmIHRlc3RfY29uZmlnNGFfb2soc2VsZik6CiAgICAgICAgICMgQSBjb25maWcgc3BlY2lmeWluZyBhIGN1c3RvbSBmb3JtYXR0ZXIgY2xhc3MuCi0gICAgICAgIHdpdGggY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgorICAgICAgICB3aXRoIHN1cHBvcnQuY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgogICAgICAgICAgICAgc2VsZi5hcHBseV9jb25maWcoc2VsZi5jb25maWc0YSkKICAgICAgICAgICAgICNsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcigpCiAgICAgICAgICAgICB0cnk6CkBAIC0yNTczLDcgKzI1NjksNyBAQAogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhFeGNlcHRpb24sIHNlbGYuYXBwbHlfY29uZmlnLCBzZWxmLmNvbmZpZzYpCiAKICAgICBkZWYgdGVzdF9jb25maWc3X29rKHNlbGYpOgotICAgICAgICB3aXRoIGNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKICAgICAgICAgICAgIHNlbGYuYXBwbHlfY29uZmlnKHNlbGYuY29uZmlnMSkKICAgICAgICAgICAgIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCJjb21waWxlci5wYXJzZXIiKQogICAgICAgICAgICAgIyBCb3RoIHdpbGwgb3V0cHV0IGEgbWVzc2FnZQpAQCAtMjU4NSw3ICsyNTgxLDcgQEAKICAgICAgICAgICAgIF0sIHN0cmVhbT1vdXRwdXQpCiAgICAgICAgICAgICAjIE9yaWdpbmFsIGxvZ2dlciBvdXRwdXQgaXMgZW1wdHkuCiAgICAgICAgICAgICBzZWxmLmFzc2VydF9sb2dfbGluZXMoW10pCi0gICAgICAgIHdpdGggY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgorICAgICAgICB3aXRoIHN1cHBvcnQuY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgogICAgICAgICAgICAgc2VsZi5hcHBseV9jb25maWcoc2VsZi5jb25maWc3KQogICAgICAgICAgICAgbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoImNvbXBpbGVyLnBhcnNlciIpCiAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUobG9nZ2VyLmRpc2FibGVkKQpAQCAtMjYwMiw3ICsyNTk4LDcgQEAKIAogICAgICNTYW1lIGFzIHRlc3RfY29uZmlnXzdfb2sgYnV0IGRvbid0IGRpc2FibGUgb2xkIGxvZ2dlcnMuCiAgICAgZGVmIHRlc3RfY29uZmlnXzhfb2soc2VsZik6Ci0gICAgICAgIHdpdGggY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgorICAgICAgICB3aXRoIHN1cHBvcnQuY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgogICAgICAgICAgICAgc2VsZi5hcHBseV9jb25maWcoc2VsZi5jb25maWcxKQogICAgICAgICAgICAgbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoImNvbXBpbGVyLnBhcnNlciIpCiAgICAgICAgICAgICAjIEFsbCB3aWxsIG91dHB1dCBhIG1lc3NhZ2UKQEAgLTI2MTQsNyArMjYxMCw3IEBACiAgICAgICAgICAgICBdLCBzdHJlYW09b3V0cHV0KQogICAgICAgICAgICAgIyBPcmlnaW5hbCBsb2dnZXIgb3V0cHV0IGlzIGVtcHR5LgogICAgICAgICAgICAgc2VsZi5hc3NlcnRfbG9nX2xpbmVzKFtdKQotICAgICAgICB3aXRoIGNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKICAgICAgICAgICAgIHNlbGYuYXBwbHlfY29uZmlnKHNlbGYuY29uZmlnOCkKICAgICAgICAgICAgIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCJjb21waWxlci5wYXJzZXIiKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShsb2dnZXIuZGlzYWJsZWQpCkBAIC0yNjM1LDcgKzI2MzEsNyBAQAogICAgICAgICAgICAgc2VsZi5hc3NlcnRfbG9nX2xpbmVzKFtdKQogCiAgICAgZGVmIHRlc3RfY29uZmlnXzhhX29rKHNlbGYpOgotICAgICAgICB3aXRoIGNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKICAgICAgICAgICAgIHNlbGYuYXBwbHlfY29uZmlnKHNlbGYuY29uZmlnMWEpCiAgICAgICAgICAgICBsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcigiY29tcGlsZXIucGFyc2VyIikKICAgICAgICAgICAgICMgU2VlIGlzc3VlICMxMTQyNC4gY29tcGlsZXItaHlwaGVuYXRlZCBzb3J0cwpAQCAtMjY1NSw3ICsyNjUxLDcgQEAKICAgICAgICAgICAgIF0sIHN0cmVhbT1vdXRwdXQpCiAgICAgICAgICAgICAjIE9yaWdpbmFsIGxvZ2dlciBvdXRwdXQgaXMgZW1wdHkuCiAgICAgICAgICAgICBzZWxmLmFzc2VydF9sb2dfbGluZXMoW10pCi0gICAgICAgIHdpdGggY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgorICAgICAgICB3aXRoIHN1cHBvcnQuY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgogICAgICAgICAgICAgc2VsZi5hcHBseV9jb25maWcoc2VsZi5jb25maWc4YSkKICAgICAgICAgICAgIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCJjb21waWxlci5wYXJzZXIiKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShsb2dnZXIuZGlzYWJsZWQpCkBAIC0yNjc4LDcgKzI2NzQsNyBAQAogICAgICAgICAgICAgc2VsZi5hc3NlcnRfbG9nX2xpbmVzKFtdKQogCiAgICAgZGVmIHRlc3RfY29uZmlnXzlfb2soc2VsZik6Ci0gICAgICAgIHdpdGggY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgorICAgICAgICB3aXRoIHN1cHBvcnQuY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgogICAgICAgICAgICAgc2VsZi5hcHBseV9jb25maWcoc2VsZi5jb25maWc5KQogICAgICAgICAgICAgbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoImNvbXBpbGVyLnBhcnNlciIpCiAgICAgICAgICAgICAjTm90aGluZyB3aWxsIGJlIG91dHB1dCBzaW5jZSBib3RoIGhhbmRsZXIgYW5kIGxvZ2dlciBhcmUgc2V0IHRvIFdBUk5JTkcKQEAgLTI2OTYsNyArMjY5Miw3IEBACiAgICAgICAgICAgICBdLCBzdHJlYW09b3V0cHV0KQogCiAgICAgZGVmIHRlc3RfY29uZmlnXzEwX29rKHNlbGYpOgotICAgICAgICB3aXRoIGNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKICAgICAgICAgICAgIHNlbGYuYXBwbHlfY29uZmlnKHNlbGYuY29uZmlnMTApCiAgICAgICAgICAgICBsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcigiY29tcGlsZXIucGFyc2VyIikKICAgICAgICAgICAgIGxvZ2dlci53YXJuaW5nKHNlbGYubmV4dF9tZXNzYWdlKCkpCkBAIC0yNzI0LDcgKzI3MjAsNyBAQAogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhFeGNlcHRpb24sIHNlbGYuYXBwbHlfY29uZmlnLCBzZWxmLmNvbmZpZzEzKQogCiAgICAgZGVmIHRlc3RfY29uZmlnMTRfb2soc2VsZik6Ci0gICAgICAgIHdpdGggY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgorICAgICAgICB3aXRoIHN1cHBvcnQuY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgogICAgICAgICAgICAgc2VsZi5hcHBseV9jb25maWcoc2VsZi5jb25maWcxNCkKICAgICAgICAgICAgIGggPSBsb2dnaW5nLl9oYW5kbGVyc1snaGFuZDEnXQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChoLmZvbywgJ2JhcicpCkBAIC0yNzYzLDcgKzI3NTksNyBAQAogCiAgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3ModGhyZWFkaW5nLCAnVGhyZWFkaW5nIHJlcXVpcmVkIGZvciB0aGlzIHRlc3QuJykKICAgICBkZWYgdGVzdF9saXN0ZW5fY29uZmlnXzEwX29rKHNlbGYpOgotICAgICAgICB3aXRoIGNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKICAgICAgICAgICAgIHNlbGYuc2V0dXBfdmlhX2xpc3RlbmVyKGpzb24uZHVtcHMoc2VsZi5jb25maWcxMCkpCiAgICAgICAgICAgICBsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcigiY29tcGlsZXIucGFyc2VyIikKICAgICAgICAgICAgIGxvZ2dlci53YXJuaW5nKHNlbGYubmV4dF9tZXNzYWdlKCkpCkBAIC0yNzgzLDcgKzI3NzksNyBAQAogCiAgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3ModGhyZWFkaW5nLCAnVGhyZWFkaW5nIHJlcXVpcmVkIGZvciB0aGlzIHRlc3QuJykKICAgICBkZWYgdGVzdF9saXN0ZW5fY29uZmlnXzFfb2soc2VsZik6Ci0gICAgICAgIHdpdGggY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgorICAgICAgICB3aXRoIHN1cHBvcnQuY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgogICAgICAgICAgICAgc2VsZi5zZXR1cF92aWFfbGlzdGVuZXIodGV4dHdyYXAuZGVkZW50KENvbmZpZ0ZpbGVUZXN0LmNvbmZpZzEpKQogICAgICAgICAgICAgbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoImNvbXBpbGVyLnBhcnNlciIpCiAgICAgICAgICAgICAjIEJvdGggd2lsbCBvdXRwdXQgYSBtZXNzYWdlCkBAIC0yODEwLDcgKzI4MDYsNyBAQAogICAgICAgICAjIEZpcnN0LCBzcGVjaWZ5IGEgdmVyaWZpY2F0aW9uIGZ1bmN0aW9uIHRoYXQgd2lsbCBmYWlsLgogICAgICAgICAjIFdlIGV4cGVjdCB0byBzZWUgbm8gb3V0cHV0LCBzaW5jZSBvdXIgY29uZmlndXJhdGlvbgogICAgICAgICAjIG5ldmVyIHRvb2sgZWZmZWN0LgotICAgICAgICB3aXRoIGNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKICAgICAgICAgICAgIHNlbGYuc2V0dXBfdmlhX2xpc3RlbmVyKHRvX3NlbmQsIHZlcmlmeV9mYWlsKQogICAgICAgICAgICAgIyBCb3RoIHdpbGwgb3V0cHV0IGEgbWVzc2FnZQogICAgICAgICAgICAgbG9nZ2VyLmluZm8oc2VsZi5uZXh0X21lc3NhZ2UoKSkKQEAgLTI4MjUsNyArMjgyMSw3IEBACiAgICAgICAgICMgTm93LCBwZXJmb3JtIG5vIHZlcmlmaWNhdGlvbi4gT3VyIGNvbmZpZ3VyYXRpb24KICAgICAgICAgIyBzaG91bGQgdGFrZSBlZmZlY3QuCiAKLSAgICAgICAgd2l0aCBjYXB0dXJlZF9zdGRvdXQoKSBhcyBvdXRwdXQ6CisgICAgICAgIHdpdGggc3VwcG9ydC5jYXB0dXJlZF9zdGRvdXQoKSBhcyBvdXRwdXQ6CiAgICAgICAgICAgICBzZWxmLnNldHVwX3ZpYV9saXN0ZW5lcih0b19zZW5kKSAgICAjIG5vIHZlcmlmeSBjYWxsYWJsZSBzcGVjaWZpZWQKICAgICAgICAgICAgIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCJjb21waWxlci5wYXJzZXIiKQogICAgICAgICAgICAgIyBCb3RoIHdpbGwgb3V0cHV0IGEgbWVzc2FnZQpAQCAtMjg0Myw3ICsyODM5LDcgQEAKIAogICAgICAgICAjIE5vdywgcGVyZm9ybSB2ZXJpZmljYXRpb24gd2hpY2ggdHJhbnNmb3JtcyB0aGUgYnl0ZXMuCiAKLSAgICAgICAgd2l0aCBjYXB0dXJlZF9zdGRvdXQoKSBhcyBvdXRwdXQ6CisgICAgICAgIHdpdGggc3VwcG9ydC5jYXB0dXJlZF9zdGRvdXQoKSBhcyBvdXRwdXQ6CiAgICAgICAgICAgICBzZWxmLnNldHVwX3ZpYV9saXN0ZW5lcih0b19zZW5kWzo6LTFdLCB2ZXJpZnlfcmV2ZXJzZSkKICAgICAgICAgICAgIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCJjb21waWxlci5wYXJzZXIiKQogICAgICAgICAgICAgIyBCb3RoIHdpbGwgb3V0cHV0IGEgbWVzc2FnZQpAQCAtMjk5OCw3ICsyOTk0LDcgQEAKICAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKGxvZ2dpbmcuaGFuZGxlcnMsICdRdWV1ZUxpc3RlbmVyJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2xvZ2dpbmcuaGFuZGxlcnMuUXVldWVMaXN0ZW5lciByZXF1aXJlZCBmb3IgdGhpcyB0ZXN0JykKICAgICBkZWYgdGVzdF9xdWV1ZV9saXN0ZW5lcihzZWxmKToKLSAgICAgICAgaGFuZGxlciA9IFRlc3RIYW5kbGVyKE1hdGNoZXIoKSkKKyAgICAgICAgaGFuZGxlciA9IHN1cHBvcnQuVGVzdEhhbmRsZXIoc3VwcG9ydC5NYXRjaGVyKCkpCiAgICAgICAgIGxpc3RlbmVyID0gbG9nZ2luZy5oYW5kbGVycy5RdWV1ZUxpc3RlbmVyKHNlbGYucXVldWUsIGhhbmRsZXIpCiAgICAgICAgIGxpc3RlbmVyLnN0YXJ0KCkKICAgICAgICAgdHJ5OgpAQCAtMzE2NiwzMiArMzE2MiwzNSBAQAogICAgICAgICAjIFRlc3QgdGhlIGxhc3QgcmVzb3J0IGhhbmRsZXIKICAgICAgICAgcm9vdCA9IHNlbGYucm9vdF9sb2dnZXIKICAgICAgICAgcm9vdC5yZW1vdmVIYW5kbGVyKHNlbGYucm9vdF9oZGxyKQotICAgICAgICBvbGRfc3RkZXJyID0gc3lzLnN0ZGVycgogICAgICAgICBvbGRfbGFzdHJlc29ydCA9IGxvZ2dpbmcubGFzdFJlc29ydAogICAgICAgICBvbGRfcmFpc2VfZXhjZXB0aW9ucyA9IGxvZ2dpbmcucmFpc2VFeGNlcHRpb25zCisKICAgICAgICAgdHJ5OgotICAgICAgICAgICAgc3lzLnN0ZGVyciA9IHNpbyA9IGlvLlN0cmluZ0lPKCkKLSAgICAgICAgICAgIHJvb3QuZGVidWcoJ1RoaXMgc2hvdWxkIG5vdCBhcHBlYXInKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzaW8uZ2V0dmFsdWUoKSwgJycpCi0gICAgICAgICAgICByb290Lndhcm5pbmcoJ1RoaXMgaXMgeW91ciBmaW5hbCBjaGFuY2UhJykKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2lvLmdldHZhbHVlKCksICdUaGlzIGlzIHlvdXIgZmluYWwgY2hhbmNlIVxuJykKLSAgICAgICAgICAgICNObyBoYW5kbGVycyBhbmQgbm8gbGFzdCByZXNvcnQsIHNvICdObyBoYW5kbGVycycgbWVzc2FnZQorICAgICAgICAgICAgd2l0aCBzdXBwb3J0LmNhcHR1cmVkX3N0ZGVycigpIGFzIHN0ZGVycjoKKyAgICAgICAgICAgICAgICByb290LmRlYnVnKCdUaGlzIHNob3VsZCBub3QgYXBwZWFyJykKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0ZGVyci5nZXR2YWx1ZSgpLCAnJykKKyAgICAgICAgICAgICAgICByb290Lndhcm5pbmcoJ0ZpbmFsIGNoYW5jZSEnKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RkZXJyLmdldHZhbHVlKCksICdGaW5hbCBjaGFuY2UhXG4nKQorCisgICAgICAgICAgICAjIE5vIGhhbmRsZXJzIGFuZCBubyBsYXN0IHJlc29ydCwgc28gJ05vIGhhbmRsZXJzJyBtZXNzYWdlCiAgICAgICAgICAgICBsb2dnaW5nLmxhc3RSZXNvcnQgPSBOb25lCi0gICAgICAgICAgICBzeXMuc3RkZXJyID0gc2lvID0gaW8uU3RyaW5nSU8oKQotICAgICAgICAgICAgcm9vdC53YXJuaW5nKCdUaGlzIGlzIHlvdXIgZmluYWwgY2hhbmNlIScpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNpby5nZXR2YWx1ZSgpLCAnTm8gaGFuZGxlcnMgY291bGQgYmUgZm91bmQgZm9yIGxvZ2dlciAicm9vdCJcbicpCisgICAgICAgICAgICB3aXRoIHN1cHBvcnQuY2FwdHVyZWRfc3RkZXJyKCkgYXMgc3RkZXJyOgorICAgICAgICAgICAgICAgIHJvb3Qud2FybmluZygnRmluYWwgY2hhbmNlIScpCisgICAgICAgICAgICAgICAgbXNnID0gJ05vIGhhbmRsZXJzIGNvdWxkIGJlIGZvdW5kIGZvciBsb2dnZXIgInJvb3QiXG4nCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGRlcnIuZ2V0dmFsdWUoKSwgbXNnKQorCiAgICAgICAgICAgICAjICdObyBoYW5kbGVycycgbWVzc2FnZSBvbmx5IHByaW50ZWQgb25jZQotICAgICAgICAgICAgc3lzLnN0ZGVyciA9IHNpbyA9IGlvLlN0cmluZ0lPKCkKLSAgICAgICAgICAgIHJvb3Qud2FybmluZygnVGhpcyBpcyB5b3VyIGZpbmFsIGNoYW5jZSEnKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzaW8uZ2V0dmFsdWUoKSwgJycpCisgICAgICAgICAgICB3aXRoIHN1cHBvcnQuY2FwdHVyZWRfc3RkZXJyKCkgYXMgc3RkZXJyOgorICAgICAgICAgICAgICAgIHJvb3Qud2FybmluZygnRmluYWwgY2hhbmNlIScpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGRlcnIuZ2V0dmFsdWUoKSwgJycpCisKKyAgICAgICAgICAgICMgSWYgcmFpc2VFeGNlcHRpb25zIGlzIEZhbHNlLCBubyBtZXNzYWdlIGlzIHByaW50ZWQKICAgICAgICAgICAgIHJvb3QubWFuYWdlci5lbWl0dGVkTm9IYW5kbGVyV2FybmluZyA9IEZhbHNlCi0gICAgICAgICAgICAjSWYgcmFpc2VFeGNlcHRpb25zIGlzIEZhbHNlLCBubyBtZXNzYWdlIGlzIHByaW50ZWQKICAgICAgICAgICAgIGxvZ2dpbmcucmFpc2VFeGNlcHRpb25zID0gRmFsc2UKLSAgICAgICAgICAgIHN5cy5zdGRlcnIgPSBzaW8gPSBpby5TdHJpbmdJTygpCi0gICAgICAgICAgICByb290Lndhcm5pbmcoJ1RoaXMgaXMgeW91ciBmaW5hbCBjaGFuY2UhJykKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2lvLmdldHZhbHVlKCksICcnKQorICAgICAgICAgICAgd2l0aCBzdXBwb3J0LmNhcHR1cmVkX3N0ZGVycigpIGFzIHN0ZGVycjoKKyAgICAgICAgICAgICAgICByb290Lndhcm5pbmcoJ0ZpbmFsIGNoYW5jZSEnKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RkZXJyLmdldHZhbHVlKCksICcnKQogICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgc3lzLnN0ZGVyciA9IG9sZF9zdGRlcnIKICAgICAgICAgICAgIHJvb3QuYWRkSGFuZGxlcihzZWxmLnJvb3RfaGRscikKICAgICAgICAgICAgIGxvZ2dpbmcubGFzdFJlc29ydCA9IG9sZF9sYXN0cmVzb3J0CiAgICAgICAgICAgICBsb2dnaW5nLnJhaXNlRXhjZXB0aW9ucyA9IG9sZF9yYWlzZV9leGNlcHRpb25zCkBAIC0zMzIyLDggKzMzMjEsOCBAQAogCiAgICAgZGVmIF90ZXN0X2xvZyhzZWxmLCBtZXRob2QsIGxldmVsPU5vbmUpOgogICAgICAgICBjYWxsZWQgPSBbXQotICAgICAgICBwYXRjaChzZWxmLCBsb2dnaW5nLCAnYmFzaWNDb25maWcnLAotICAgICAgICAgICAgICBsYW1iZGEgKmEsICoqa3c6IGNhbGxlZC5hcHBlbmQoKGEsIGt3KSkpCisgICAgICAgIHN1cHBvcnQucGF0Y2goc2VsZiwgbG9nZ2luZywgJ2Jhc2ljQ29uZmlnJywKKyAgICAgICAgICAgICAgICAgICAgICBsYW1iZGEgKmEsICoqa3c6IGNhbGxlZC5hcHBlbmQoKGEsIGt3KSkpCiAKICAgICAgICAgcmVjb3JkaW5nID0gUmVjb3JkaW5nSGFuZGxlcigpCiAgICAgICAgIGxvZ2dpbmcucm9vdC5hZGRIYW5kbGVyKHJlY29yZGluZykKQEAgLTM0OTQsNyArMzQ5Myw3IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobG9nZ2luZy5yb290LmxldmVsLCBzZWxmLm9yaWdpbmFsX2xvZ2dpbmdfbGV2ZWwpCiAKICAgICBkZWYgdGVzdF9zdHJmb3JtYXRzdHlsZShzZWxmKToKLSAgICAgICAgd2l0aCBjYXB0dXJlZF9zdGRvdXQoKSBhcyBvdXRwdXQ6CisgICAgICAgIHdpdGggc3VwcG9ydC5jYXB0dXJlZF9zdGRvdXQoKSBhcyBvdXRwdXQ6CiAgICAgICAgICAgICBsb2dnaW5nLmJhc2ljQ29uZmlnKHN0cmVhbT1zeXMuc3Rkb3V0LCBzdHlsZT0ieyIpCiAgICAgICAgICAgICBsb2dnaW5nLmVycm9yKCJMb2cgYW4gZXJyb3IiKQogICAgICAgICAgICAgc3lzLnN0ZG91dC5zZWVrKDApCkBAIC0zNTAyLDcgKzM1MDEsNyBAQAogICAgICAgICAgICAgICAgICJFUlJPUjpyb290OkxvZyBhbiBlcnJvciIpCiAKICAgICBkZWYgdGVzdF9zdHJpbmd0ZW1wbGF0ZXN0eWxlKHNlbGYpOgotICAgICAgICB3aXRoIGNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKICAgICAgICAgICAgIGxvZ2dpbmcuYmFzaWNDb25maWcoc3RyZWFtPXN5cy5zdGRvdXQsIHN0eWxlPSIkIikKICAgICAgICAgICAgIGxvZ2dpbmcuZXJyb3IoIkxvZyBhbiBlcnJvciIpCiAgICAgICAgICAgICBzeXMuc3Rkb3V0LnNlZWsoMCkKQEAgLTM2MTksNyArMzYxOCw3IEBACiAgICAgICAgICAgICBzZWxmLmFkZENsZWFudXAobG9nZ2luZy5yb290LnNldExldmVsLCBvbGRfbGV2ZWwpCiAgICAgICAgICAgICBjYWxsZWQuYXBwZW5kKChhLCBrdykpCiAKLSAgICAgICAgcGF0Y2goc2VsZiwgbG9nZ2luZywgJ2Jhc2ljQ29uZmlnJywgbXlfYmFzaWNfY29uZmlnKQorICAgICAgICBzdXBwb3J0LnBhdGNoKHNlbGYsIGxvZ2dpbmcsICdiYXNpY0NvbmZpZycsIG15X2Jhc2ljX2NvbmZpZykKIAogICAgICAgICBsb2dfbWV0aG9kID0gZ2V0YXR0cihsb2dnaW5nLCBtZXRob2QpCiAgICAgICAgIGlmIGxldmVsIGlzIG5vdCBOb25lOgpAQCAtMzY4NSw2ICszNjg0LDE5IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVjb3JkLmV4Y19pbmZvLAogICAgICAgICAgICAgICAgICAgICAgICAgIChleGMuX19jbGFzc19fLCBleGMsIGV4Yy5fX3RyYWNlYmFja19fKSkKIAorICAgIGRlZiB0ZXN0X2V4Y2VwdGlvbl9leGNpbmZvKHNlbGYpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICAxIC8gMAorICAgICAgICBleGNlcHQgWmVyb0RpdmlzaW9uRXJyb3IgYXMgZToKKyAgICAgICAgICAgIGV4YyA9IGUKKworICAgICAgICBzZWxmLmFkYXB0ZXIuZXhjZXB0aW9uKCdleGNfaW5mbyB0ZXN0JywgZXhjX2luZm89ZXhjKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHNlbGYucmVjb3JkaW5nLnJlY29yZHMpLCAxKQorICAgICAgICByZWNvcmQgPSBzZWxmLnJlY29yZGluZy5yZWNvcmRzWzBdCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVjb3JkLmV4Y19pbmZvLAorICAgICAgICAgICAgICAgICAgICAgICAgIChleGMuX19jbGFzc19fLCBleGMsIGV4Yy5fX3RyYWNlYmFja19fKSkKKwogICAgIGRlZiB0ZXN0X2NyaXRpY2FsKHNlbGYpOgogICAgICAgICBtc2cgPSAnY3JpdGljYWwgdGVzdCEgJXInCiAgICAgICAgIHNlbGYuYWRhcHRlci5jcml0aWNhbChtc2csIHNlbGYucmVjb3JkaW5nKQpAQCAtMzc1OSw4ICszNzcxLDggQEAKIAogICAgIGRlZiB0ZXN0X2ZpbmRfY2FsbGVyX3dpdGhfc3RhY2tfaW5mbyhzZWxmKToKICAgICAgICAgY2FsbGVkID0gW10KLSAgICAgICAgcGF0Y2goc2VsZiwgbG9nZ2luZy50cmFjZWJhY2ssICdwcmludF9zdGFjaycsCi0gICAgICAgICAgICAgIGxhbWJkYSBmLCBmaWxlOiBjYWxsZWQuYXBwZW5kKGZpbGUuZ2V0dmFsdWUoKSkpCisgICAgICAgIHN1cHBvcnQucGF0Y2goc2VsZiwgbG9nZ2luZy50cmFjZWJhY2ssICdwcmludF9zdGFjaycsCisgICAgICAgICAgICAgICAgICAgICAgbGFtYmRhIGYsIGZpbGU6IGNhbGxlZC5hcHBlbmQoZmlsZS5nZXR2YWx1ZSgpKSkKIAogICAgICAgICBzZWxmLmxvZ2dlci5maW5kQ2FsbGVyKHN0YWNrX2luZm89VHJ1ZSkKIApAQCAtMzg5Nyw3ICszOTA5LDcgQEAKICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShvcy5wYXRoLmV4aXN0cyhuYW1lcihzZWxmLmZuICsgIi4zIikpKQogICAgICAgICByaC5jbG9zZSgpCiAKLSAgICBAcmVxdWlyZXNfemxpYgorICAgIEBzdXBwb3J0LnJlcXVpcmVzX3psaWIKICAgICBkZWYgdGVzdF9yb3RhdG9yKHNlbGYpOgogICAgICAgICBkZWYgbmFtZXIobmFtZSk6CiAgICAgICAgICAgICByZXR1cm4gbmFtZSArICIuZ3oiCkBAIC00MTMwLDIyICs0MTQyLDIwIEBACiAjIFNldCB0aGUgbG9jYWxlIHRvIHRoZSBwbGF0Zm9ybS1kZXBlbmRlbnQgZGVmYXVsdC4gIEkgaGF2ZSBubyBpZGVhCiAjIHdoeSB0aGUgdGVzdCBkb2VzIHRoaXMsIGJ1dCBpbiBhbnkgY2FzZSB3ZSBzYXZlIHRoZSBjdXJyZW50IGxvY2FsZQogIyBmaXJzdCBhbmQgcmVzdG9yZSBpdCBhdCB0aGUgZW5kLgotQHJ1bl93aXRoX2xvY2FsZSgnTENfQUxMJywgJycpCitAc3VwcG9ydC5ydW5fd2l0aF9sb2NhbGUoJ0xDX0FMTCcsICcnKQogZGVmIHRlc3RfbWFpbigpOgotICAgIHJ1bl91bml0dGVzdChCdWlsdGluTGV2ZWxzVGVzdCwgQmFzaWNGaWx0ZXJUZXN0LAotICAgICAgICAgICAgICAgICBDdXN0b21MZXZlbHNBbmRGaWx0ZXJzVGVzdCwgSGFuZGxlclRlc3QsIE1lbW9yeUhhbmRsZXJUZXN0LAotICAgICAgICAgICAgICAgICBDb25maWdGaWxlVGVzdCwgU29ja2V0SGFuZGxlclRlc3QsIERhdGFncmFtSGFuZGxlclRlc3QsCi0gICAgICAgICAgICAgICAgIE1lbW9yeVRlc3QsIEVuY29kaW5nVGVzdCwgV2FybmluZ3NUZXN0LCBDb25maWdEaWN0VGVzdCwKLSAgICAgICAgICAgICAgICAgTWFuYWdlclRlc3QsIEZvcm1hdHRlclRlc3QsIEJ1ZmZlcmluZ0Zvcm1hdHRlclRlc3QsCi0gICAgICAgICAgICAgICAgIFN0cmVhbUhhbmRsZXJUZXN0LCBMb2dSZWNvcmRGYWN0b3J5VGVzdCwgQ2hpbGRMb2dnZXJUZXN0LAotICAgICAgICAgICAgICAgICBRdWV1ZUhhbmRsZXJUZXN0LCBTaHV0ZG93blRlc3QsIE1vZHVsZUxldmVsTWlzY1Rlc3QsCi0gICAgICAgICAgICAgICAgIEJhc2ljQ29uZmlnVGVzdCwgTG9nZ2VyQWRhcHRlclRlc3QsIExvZ2dlclRlc3QsCi0gICAgICAgICAgICAgICAgIFNNVFBIYW5kbGVyVGVzdCwgRmlsZUhhbmRsZXJUZXN0LCBSb3RhdGluZ0ZpbGVIYW5kbGVyVGVzdCwKLSAgICAgICAgICAgICAgICAgTGFzdFJlc29ydFRlc3QsIExvZ1JlY29yZFRlc3QsIEV4Y2VwdGlvblRlc3QsCi0gICAgICAgICAgICAgICAgIFN5c0xvZ0hhbmRsZXJUZXN0LCBIVFRQSGFuZGxlclRlc3QsIE5URXZlbnRMb2dIYW5kbGVyVGVzdCwKLSAgICAgICAgICAgICAgICAgVGltZWRSb3RhdGluZ0ZpbGVIYW5kbGVyVGVzdCwgVW5peFNvY2tldEhhbmRsZXJUZXN0LAotICAgICAgICAgICAgICAgICBVbml4RGF0YWdyYW1IYW5kbGVyVGVzdCwgVW5peFN5c0xvZ0hhbmRsZXJUZXN0Ci0gICAgICAgICAgICAgICAgKQorICAgIHN1cHBvcnQucnVuX3VuaXR0ZXN0KAorICAgICAgICBCdWlsdGluTGV2ZWxzVGVzdCwgQmFzaWNGaWx0ZXJUZXN0LCBDdXN0b21MZXZlbHNBbmRGaWx0ZXJzVGVzdCwKKyAgICAgICAgSGFuZGxlclRlc3QsIE1lbW9yeUhhbmRsZXJUZXN0LCBDb25maWdGaWxlVGVzdCwgU29ja2V0SGFuZGxlclRlc3QsCisgICAgICAgIERhdGFncmFtSGFuZGxlclRlc3QsIE1lbW9yeVRlc3QsIEVuY29kaW5nVGVzdCwgV2FybmluZ3NUZXN0LAorICAgICAgICBDb25maWdEaWN0VGVzdCwgTWFuYWdlclRlc3QsIEZvcm1hdHRlclRlc3QsIEJ1ZmZlcmluZ0Zvcm1hdHRlclRlc3QsCisgICAgICAgIFN0cmVhbUhhbmRsZXJUZXN0LCBMb2dSZWNvcmRGYWN0b3J5VGVzdCwgQ2hpbGRMb2dnZXJUZXN0LAorICAgICAgICBRdWV1ZUhhbmRsZXJUZXN0LCBTaHV0ZG93blRlc3QsIE1vZHVsZUxldmVsTWlzY1Rlc3QsIEJhc2ljQ29uZmlnVGVzdCwKKyAgICAgICAgTG9nZ2VyQWRhcHRlclRlc3QsIExvZ2dlclRlc3QsIFNNVFBIYW5kbGVyVGVzdCwgRmlsZUhhbmRsZXJUZXN0LAorICAgICAgICBSb3RhdGluZ0ZpbGVIYW5kbGVyVGVzdCwgIExhc3RSZXNvcnRUZXN0LCBMb2dSZWNvcmRUZXN0LAorICAgICAgICBFeGNlcHRpb25UZXN0LCBTeXNMb2dIYW5kbGVyVGVzdCwgSFRUUEhhbmRsZXJUZXN0LAorICAgICAgICBOVEV2ZW50TG9nSGFuZGxlclRlc3QsIFRpbWVkUm90YXRpbmdGaWxlSGFuZGxlclRlc3QsCisgICAgICAgIFVuaXhTb2NrZXRIYW5kbGVyVGVzdCwgVW5peERhdGFncmFtSGFuZGxlclRlc3QsIFVuaXhTeXNMb2dIYW5kbGVyVGVzdCkKIAogaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKICAgICB0ZXN0X21haW4oKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9sb25nLnB5IGIvTGliL3Rlc3QvdGVzdF9sb25nLnB5CmluZGV4IDVmMTQ3OTUuLjU3ODQ3ZDggMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfbG9uZy5weQorKysgYi9MaWIvdGVzdC90ZXN0X2xvbmcucHkKQEAgLTU5OSw4ICs1OTksNiBAQAogICAgICAgICAgICAgICAgIHJldHVybiAoeCA+IHkpIC0gKHggPCB5KQogICAgICAgICAgICAgZGVmIF9fZXFfXyhzZWxmLCBvdGhlcik6CiAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2NtcF9fKG90aGVyKSA9PSAwCi0gICAgICAgICAgICBkZWYgX19uZV9fKHNlbGYsIG90aGVyKToKLSAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5fY21wX18ob3RoZXIpICE9IDAKICAgICAgICAgICAgIGRlZiBfX2dlX18oc2VsZiwgb3RoZXIpOgogICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLl9jbXBfXyhvdGhlcikgPj0gMAogICAgICAgICAgICAgZGVmIF9fZ3RfXyhzZWxmLCBvdGhlcik6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2x6bWEucHkgYi9MaWIvdGVzdC90ZXN0X2x6bWEucHkKaW5kZXggMDdmYWRiZC4uY2RlZDI4YyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9sem1hLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfbHptYS5weQpAQCAtMTM1LDYgKzEzNSw5NyBAQAogICAgICAgICBzZWxmLmFzc2VydFRydWUobHpkLmVvZikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsemQudW51c2VkX2RhdGEsIGIiIikKIAorICAgIGRlZiB0ZXN0X2RlY29tcHJlc3Nvcl9jaHVua3NfbWF4c2l6ZShzZWxmKToKKyAgICAgICAgbHpkID0gTFpNQURlY29tcHJlc3NvcigpCisgICAgICAgIG1heF9sZW5ndGggPSAxMDAKKyAgICAgICAgb3V0ID0gW10KKworICAgICAgICAjIEZlZWQgZmlyc3QgaGFsZiB0aGUgaW5wdXQKKyAgICAgICAgbGVuXyA9IGxlbihDT01QUkVTU0VEX1haKSAvLyAyCisgICAgICAgIG91dC5hcHBlbmQobHpkLmRlY29tcHJlc3MoQ09NUFJFU1NFRF9YWls6bGVuX10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4X2xlbmd0aD1tYXhfbGVuZ3RoKSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShsemQubmVlZHNfaW5wdXQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKG91dFstMV0pLCBtYXhfbGVuZ3RoKQorCisgICAgICAgICMgUmV0cmlldmUgbW9yZSBkYXRhIHdpdGhvdXQgcHJvdmlkaW5nIG1vcmUgaW5wdXQKKyAgICAgICAgb3V0LmFwcGVuZChsemQuZGVjb21wcmVzcyhiJycsIG1heF9sZW5ndGg9bWF4X2xlbmd0aCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UobHpkLm5lZWRzX2lucHV0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihvdXRbLTFdKSwgbWF4X2xlbmd0aCkKKworICAgICAgICAjIFJldHJpZXZlIG1vcmUgZGF0YSB3aGlsZSBwcm92aWRpbmcgbW9yZSBpbnB1dAorICAgICAgICBvdXQuYXBwZW5kKGx6ZC5kZWNvbXByZXNzKENPTVBSRVNTRURfWFpbbGVuXzpdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heF9sZW5ndGg9bWF4X2xlbmd0aCkpCisgICAgICAgIHNlbGYuYXNzZXJ0TGVzc0VxdWFsKGxlbihvdXRbLTFdKSwgbWF4X2xlbmd0aCkKKworICAgICAgICAjIFJldHJpZXZlIHJlbWFpbmluZyB1bmNvbXByZXNzZWQgZGF0YQorICAgICAgICB3aGlsZSBub3QgbHpkLmVvZjoKKyAgICAgICAgICAgIG91dC5hcHBlbmQobHpkLmRlY29tcHJlc3MoYicnLCBtYXhfbGVuZ3RoPW1heF9sZW5ndGgpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRMZXNzRXF1YWwobGVuKG91dFstMV0pLCBtYXhfbGVuZ3RoKQorCisgICAgICAgIG91dCA9IGIiIi5qb2luKG91dCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvdXQsIElOUFVUKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGx6ZC5jaGVjaywgbHptYS5DSEVDS19DUkM2NCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsemQudW51c2VkX2RhdGEsIGIiIikKKworICAgIGRlZiB0ZXN0X2RlY29tcHJlc3Nvcl9pbnB1dGJ1Zl8xKHNlbGYpOgorICAgICAgICAjIFRlc3QgcmV1c2luZyBpbnB1dCBidWZmZXIgYWZ0ZXIgbW92aW5nIGV4aXN0aW5nCisgICAgICAgICMgY29udGVudHMgdG8gYmVnaW5uaW5nCisgICAgICAgIGx6ZCA9IExaTUFEZWNvbXByZXNzb3IoKQorICAgICAgICBvdXQgPSBbXQorCisgICAgICAgICMgQ3JlYXRlIGlucHV0IGJ1ZmZlciBhbmQgZmlsbCBpdAorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGx6ZC5kZWNvbXByZXNzKENPTVBSRVNTRURfWFpbOjEwMF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4X2xlbmd0aD0wKSwgYicnKQorCisgICAgICAgICMgUmV0cmlldmUgc29tZSByZXN1bHRzLCBmcmVlaW5nIGNhcGFjaXR5IGF0IGJlZ2lubmluZworICAgICAgICAjIG9mIGlucHV0IGJ1ZmZlcgorICAgICAgICBvdXQuYXBwZW5kKGx6ZC5kZWNvbXByZXNzKGInJywgMikpCisKKyAgICAgICAgIyBBZGQgbW9yZSBkYXRhIHRoYXQgZml0cyBpbnRvIGlucHV0IGJ1ZmZlciBhZnRlcgorICAgICAgICAjIG1vdmluZyBleGlzdGluZyBkYXRhIHRvIGJlZ2lubmluZworICAgICAgICBvdXQuYXBwZW5kKGx6ZC5kZWNvbXByZXNzKENPTVBSRVNTRURfWFpbMTAwOjEwNV0sIDE1KSkKKworICAgICAgICAjIERlY29tcHJlc3MgcmVzdCBvZiBkYXRhCisgICAgICAgIG91dC5hcHBlbmQobHpkLmRlY29tcHJlc3MoQ09NUFJFU1NFRF9YWlsxMDU6XSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYicnLmpvaW4ob3V0KSwgSU5QVVQpCisKKyAgICBkZWYgdGVzdF9kZWNvbXByZXNzb3JfaW5wdXRidWZfMihzZWxmKToKKyAgICAgICAgIyBUZXN0IHJldXNpbmcgaW5wdXQgYnVmZmVyIGJ5IGFwcGVuZGluZyBkYXRhIGF0IHRoZQorICAgICAgICAjIGVuZCByaWdodCBhd2F5CisgICAgICAgIGx6ZCA9IExaTUFEZWNvbXByZXNzb3IoKQorICAgICAgICBvdXQgPSBbXQorCisgICAgICAgICMgQ3JlYXRlIGlucHV0IGJ1ZmZlciBhbmQgZW1wdHkgaXQKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsemQuZGVjb21wcmVzcyhDT01QUkVTU0VEX1haWzoyMDBdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heF9sZW5ndGg9MCksIGInJykKKyAgICAgICAgb3V0LmFwcGVuZChsemQuZGVjb21wcmVzcyhiJycpKQorCisgICAgICAgICMgRmlsbCBidWZmZXIgd2l0aCBuZXcgZGF0YQorICAgICAgICBvdXQuYXBwZW5kKGx6ZC5kZWNvbXByZXNzKENPTVBSRVNTRURfWFpbMjAwOjI4MF0sIDIpKQorCisgICAgICAgICMgQXBwZW5kIHNvbWUgbW9yZSBkYXRhLCBub3QgZW5vdWdoIHRvIHJlcXVpcmUgcmVzaXplCisgICAgICAgIG91dC5hcHBlbmQobHpkLmRlY29tcHJlc3MoQ09NUFJFU1NFRF9YWlsyODA6MzAwXSwgMikpCisKKyAgICAgICAgIyBEZWNvbXByZXNzIHJlc3Qgb2YgZGF0YQorICAgICAgICBvdXQuYXBwZW5kKGx6ZC5kZWNvbXByZXNzKENPTVBSRVNTRURfWFpbMzAwOl0pKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGInJy5qb2luKG91dCksIElOUFVUKQorCisgICAgZGVmIHRlc3RfZGVjb21wcmVzc29yX2lucHV0YnVmXzMoc2VsZik6CisgICAgICAgICMgVGVzdCByZXVzaW5nIGlucHV0IGJ1ZmZlciBhZnRlciBleHRlbmRpbmcgaXQKKworICAgICAgICBsemQgPSBMWk1BRGVjb21wcmVzc29yKCkKKyAgICAgICAgb3V0ID0gW10KKworICAgICAgICAjIENyZWF0ZSBhbG1vc3QgZnVsbCBpbnB1dCBidWZmZXIKKyAgICAgICAgb3V0LmFwcGVuZChsemQuZGVjb21wcmVzcyhDT01QUkVTU0VEX1haWzoyMDBdLCA1KSkKKworICAgICAgICAjIEFkZCBldmVuIG1vcmUgZGF0YSB0byBpdCwgcmVxdWlyaW5nIHJlc2l6ZQorICAgICAgICBvdXQuYXBwZW5kKGx6ZC5kZWNvbXByZXNzKENPTVBSRVNTRURfWFpbMjAwOjMwMF0sIDUpKQorCisgICAgICAgICMgRGVjb21wcmVzcyByZXN0IG9mIGRhdGEKKyAgICAgICAgb3V0LmFwcGVuZChsemQuZGVjb21wcmVzcyhDT01QUkVTU0VEX1haWzMwMDpdKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiJycuam9pbihvdXQpLCBJTlBVVCkKKwogICAgIGRlZiB0ZXN0X2RlY29tcHJlc3Nvcl91bnVzZWRfZGF0YShzZWxmKToKICAgICAgICAgbHpkID0gTFpNQURlY29tcHJlc3NvcigpCiAgICAgICAgIGV4dHJhID0gYiJmb29ibGliYXIiCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X21hY3BhdGgucHkgYi9MaWIvdGVzdC90ZXN0X21hY3BhdGgucHkKaW5kZXggMjJmODQ5MS4uODBiZWM3YSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9tYWNwYXRoLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfbWFjcGF0aC5weQpAQCAtMTQyLDYgKzE0Miw4IEBACiBjbGFzcyBNYWNDb21tb25UZXN0KHRlc3RfZ2VuZXJpY3BhdGguQ29tbW9uVGVzdCwgdW5pdHRlc3QuVGVzdENhc2UpOgogICAgIHBhdGhtb2R1bGUgPSBtYWNwYXRoCiAKKyAgICB0ZXN0X3JlbHBhdGhfZXJyb3JzID0gTm9uZQorCiAKIGlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CiAgICAgdW5pdHRlc3QubWFpbigpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X21hcnNoYWwucHkgYi9MaWIvdGVzdC90ZXN0X21hcnNoYWwucHkKaW5kZXggOTAzZTEyYy4uYzdkZWY5YSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9tYXJzaGFsLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfbWFyc2hhbC5weQpAQCAtMTkzLDcgKzE5Myw3IEBACiAgICAgICAgIGhlYWQgPSBsYXN0ID0gW10KICAgICAgICAgIyBUaGUgbWF4IHN0YWNrIGRlcHRoIHNob3VsZCBtYXRjaCB0aGUgdmFsdWUgaW4gUHl0aG9uL21hcnNoYWwuYy4KICAgICAgICAgaWYgb3MubmFtZSA9PSAnbnQnIGFuZCBoYXNhdHRyKHN5cywgJ2dldHRvdGFscmVmY291bnQnKToKLSAgICAgICAgICAgIE1BWF9NQVJTSEFMX1NUQUNLX0RFUFRIID0gMTUwMAorICAgICAgICAgICAgTUFYX01BUlNIQUxfU1RBQ0tfREVQVEggPSAxMDAwCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBNQVhfTUFSU0hBTF9TVEFDS19ERVBUSCA9IDIwMDAKICAgICAgICAgZm9yIGkgaW4gcmFuZ2UoTUFYX01BUlNIQUxfU1RBQ0tfREVQVEggLSAyKToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfbWF0aC5weSBiL0xpYi90ZXN0L3Rlc3RfbWF0aC5weQppbmRleCA0OGY4NGJhLi4wMjNkZWE5IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X21hdGgucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9tYXRoLnB5CkBAIC00MjIsOSArNDIyLDE3IEBACiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1hdGguZmFjdG9yaWFsKGkpLCBweV9mYWN0b3JpYWwoaSkpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIG1hdGguZmFjdG9yaWFsLCAtMSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgbWF0aC5mYWN0b3JpYWwsIC0xLjApCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIG1hdGguZmFjdG9yaWFsLCAtMTAqKjEwMCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgbWF0aC5mYWN0b3JpYWwsIC0xZTEwMCkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgbWF0aC5mYWN0b3JpYWwsIG1hdGgucGkpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE92ZXJmbG93RXJyb3IsIG1hdGguZmFjdG9yaWFsLCBzeXMubWF4c2l6ZSsxKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPdmVyZmxvd0Vycm9yLCBtYXRoLmZhY3RvcmlhbCwgMTBlMTAwKQorCisgICAgIyBPdGhlciBpbXBsZW1lbnRhdGlvbnMgbWF5IHBsYWNlIGRpZmZlcmVudCB1cHBlciBib3VuZHMuCisgICAgQHN1cHBvcnQuY3B5dGhvbl9vbmx5CisgICAgZGVmIHRlc3RGYWN0b3JpYWxIdWdlSW5wdXRzKHNlbGYpOgorICAgICAgICAjIEN1cnJlbnRseSByYWlzZXMgVmFsdWVFcnJvciBmb3IgaW5wdXRzIHRoYXQgYXJlIHRvbyBsYXJnZQorICAgICAgICAjIHRvIGZpdCBpbnRvIGEgQyBsb25nLgorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPdmVyZmxvd0Vycm9yLCBtYXRoLmZhY3RvcmlhbCwgMTAqKjEwMCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT3ZlcmZsb3dFcnJvciwgbWF0aC5mYWN0b3JpYWwsIDFlMTAwKQogCiAgICAgZGVmIHRlc3RGbG9vcihzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBtYXRoLmZsb29yKQpAQCAtOTc1LDYgKzk4MywxNyBAQAogICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG1hdGguaXNpbmYoMC4pKQogICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG1hdGguaXNpbmYoMS4pKQogCisgICAgQHJlcXVpcmVzX0lFRUVfNzU0CisgICAgZGVmIHRlc3RfbmFuX2NvbnN0YW50KHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydFRydWUobWF0aC5pc25hbihtYXRoLm5hbikpCisKKyAgICBAcmVxdWlyZXNfSUVFRV83NTQKKyAgICBkZWYgdGVzdF9pbmZfY29uc3RhbnQoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShtYXRoLmlzaW5mKG1hdGguaW5mKSkKKyAgICAgICAgc2VsZi5hc3NlcnRHcmVhdGVyKG1hdGguaW5mLCAwLjApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWF0aC5pbmYsIGZsb2F0KCJpbmYiKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgtbWF0aC5pbmYsIGZsb2F0KCItaW5mIikpCisKICAgICAjIFJFRF9GTEFHIDE2LU9jdC0yMDAwIFRpbQogICAgICMgV2hpbGUgMi4wIGlzIG1vcmUgY29uc2lzdGVudCBhYm91dCBleGNlcHRpb25zIHRoYW4gcHJldmlvdXMgcmVsZWFzZXMsIGl0CiAgICAgIyBzdGlsbCBmYWlscyB0aGlzIHBhcnQgb2YgdGhlIHRlc3Qgb24gc29tZSBwbGF0Zm9ybXMuICBGb3Igbm93LCB3ZSBvbmx5CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X21lbW9yeWlvLnB5IGIvTGliL3Rlc3QvdGVzdF9tZW1vcnlpby5weQppbmRleCA5YTI0NjFkLi43Nzc0OWU3IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X21lbW9yeWlvLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfbWVtb3J5aW8ucHkKQEAgLTksNiArOSw3IEBACiBpbXBvcnQgaW8KIGltcG9ydCBfcHlpbyBhcyBweWlvCiBpbXBvcnQgcGlja2xlCitpbXBvcnQgc3lzCiAKIGNsYXNzIE1lbW9yeVNlZWtUZXN0TWl4aW46CiAKQEAgLTcxNywxMiArNzE4LDU2IEBACiAKICAgICBAc3VwcG9ydC5jcHl0aG9uX29ubHkKICAgICBkZWYgdGVzdF9zaXplb2Yoc2VsZik6Ci0gICAgICAgIGJhc2VzaXplID0gc3VwcG9ydC5jYWxjb2Jqc2l6ZSgnUDJuTjJQbicpCisgICAgICAgIGJhc2VzaXplID0gc3VwcG9ydC5jYWxjb2Jqc2l6ZSgnUDJuMlBuJykKICAgICAgICAgY2hlY2sgPSBzZWxmLmNoZWNrX3NpemVvZgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9iamVjdC5fX3NpemVvZl9fKGlvLkJ5dGVzSU8oKSksIGJhc2VzaXplKQogICAgICAgICBjaGVjayhpby5CeXRlc0lPKCksIGJhc2VzaXplICkKLSAgICAgICAgY2hlY2soaW8uQnl0ZXNJTyhiJ2EnKSwgYmFzZXNpemUgKyAxICsgMSApCi0gICAgICAgIGNoZWNrKGlvLkJ5dGVzSU8oYidhJyAqIDEwMDApLCBiYXNlc2l6ZSArIDEwMDAgKyAxICkKKyAgICAgICAgY2hlY2soaW8uQnl0ZXNJTyhiJ2EnICogMTAwMCksIGJhc2VzaXplICsgc3lzLmdldHNpemVvZihiJ2EnICogMTAwMCkpCisKKyAgICAjIFZhcmlvdXMgdGVzdHMgb2YgY29weS1vbi13cml0ZSBiZWhhdmlvdXIgZm9yIEJ5dGVzSU8uCisKKyAgICBkZWYgX3Rlc3RfY293X211dGF0aW9uKHNlbGYsIG11dGF0aW9uKToKKyAgICAgICAgIyBDb21tb24gY29kZSBmb3IgYWxsIEJ5dGVzSU8gY29weS1vbi13cml0ZSBtdXRhdGlvbiB0ZXN0cy4KKyAgICAgICAgaW1tID0gYicgJyAqIDEwMjQKKyAgICAgICAgb2xkX3JjID0gc3lzLmdldHJlZmNvdW50KGltbSkKKyAgICAgICAgbWVtaW8gPSBzZWxmLmlvY2xhc3MoaW1tKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN5cy5nZXRyZWZjb3VudChpbW0pLCBvbGRfcmMgKyAxKQorICAgICAgICBtdXRhdGlvbihtZW1pbykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzeXMuZ2V0cmVmY291bnQoaW1tKSwgb2xkX3JjKQorCisgICAgQHN1cHBvcnQuY3B5dGhvbl9vbmx5CisgICAgZGVmIHRlc3RfY293X3RydW5jYXRlKHNlbGYpOgorICAgICAgICAjIEVuc3VyZSB0cnVuY2F0ZSBjYXVzZXMgYSBjb3B5LgorICAgICAgICBkZWYgbXV0YXRpb24obWVtaW8pOgorICAgICAgICAgICAgbWVtaW8udHJ1bmNhdGUoMSkKKyAgICAgICAgc2VsZi5fdGVzdF9jb3dfbXV0YXRpb24obXV0YXRpb24pCisKKyAgICBAc3VwcG9ydC5jcHl0aG9uX29ubHkKKyAgICBkZWYgdGVzdF9jb3dfd3JpdGUoc2VsZik6CisgICAgICAgICMgRW5zdXJlIHdyaXRlIHRoYXQgd291bGQgbm90IGNhdXNlIGEgcmVzaXplIHN0aWxsIHJlc3VsdHMgaW4gYSBjb3B5LgorICAgICAgICBkZWYgbXV0YXRpb24obWVtaW8pOgorICAgICAgICAgICAgbWVtaW8uc2VlaygwKQorICAgICAgICAgICAgbWVtaW8ud3JpdGUoYidmb28nKQorICAgICAgICBzZWxmLl90ZXN0X2Nvd19tdXRhdGlvbihtdXRhdGlvbikKKworICAgIEBzdXBwb3J0LmNweXRob25fb25seQorICAgIGRlZiB0ZXN0X2Nvd19zZXRzdGF0ZShzZWxmKToKKyAgICAgICAgIyBfX3NldHN0YXRlX18gc2hvdWxkIGNhdXNlIGJ1ZmZlciB0byBiZSByZWxlYXNlZC4KKyAgICAgICAgbWVtaW8gPSBzZWxmLmlvY2xhc3MoYidmb29vb29vJykKKyAgICAgICAgc3RhdGUgPSBtZW1pby5fX2dldHN0YXRlX18oKQorICAgICAgICBkZWYgbXV0YXRpb24obWVtaW8pOgorICAgICAgICAgICAgbWVtaW8uX19zZXRzdGF0ZV9fKHN0YXRlKQorICAgICAgICBzZWxmLl90ZXN0X2Nvd19tdXRhdGlvbihtdXRhdGlvbikKKworICAgIEBzdXBwb3J0LmNweXRob25fb25seQorICAgIGRlZiB0ZXN0X2Nvd19tdXRhYmxlKHNlbGYpOgorICAgICAgICAjIEJ5dGVzSU8gc2hvdWxkIGFjY2VwdCBvbmx5IEJ5dGVzIGZvciBjb3B5LW9uLXdyaXRlIHNoYXJpbmcsIHNpbmNlCisgICAgICAgICMgYXJiaXRyYXJ5IGJ1ZmZlci1leHBvcnRpbmcgb2JqZWN0cyBsaWtlIGJ5dGVhcnJheSgpIGFyZW4ndCBndWFyYW50ZWVkCisgICAgICAgICMgdG8gYmUgaW1tdXRhYmxlLgorICAgICAgICBiYSA9IGJ5dGVhcnJheSgxMDI0KQorICAgICAgICBvbGRfcmMgPSBzeXMuZ2V0cmVmY291bnQoYmEpCisgICAgICAgIG1lbWlvID0gc2VsZi5pb2NsYXNzKGJhKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN5cy5nZXRyZWZjb3VudChiYSksIG9sZF9yYykKIAogY2xhc3MgQ1N0cmluZ0lPVGVzdChQeVN0cmluZ0lPVGVzdCk6CiAgICAgaW9jbGFzcyA9IGlvLlN0cmluZ0lPCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X21lbW9yeXZpZXcucHkgYi9MaWIvdGVzdC90ZXN0X21lbW9yeXZpZXcucHkKaW5kZXggNGJjMzEzMy4uZTliZDlmZCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9tZW1vcnl2aWV3LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfbWVtb3J5dmlldy5weQpAQCAtMzY5LDEyICszNjksMTIgQEAKICAgICAgICAgZCA9IG1lbW9yeXZpZXcoYikKIAogICAgICAgICBkZWwgYgotIAorCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY1swXSwgMjU2KQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRbMF0sIDI1NikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjLmZvcm1hdCwgIkgiKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGQuZm9ybWF0LCAiSCIpCi0gCisKICAgICAgICAgXyA9IG0uY2FzdCgnSScpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY1swXSwgMjU2KQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRbMF0sIDI1NikKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfbW9kdWxlLnB5IGIvTGliL3Rlc3QvdGVzdF9tb2R1bGUucHkKaW5kZXggMTIzMDI5My4uOWRhMzUzNiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9tb2R1bGUucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9tb2R1bGUucHkKQEAgLTMwLDYgKzMwLDIyIEBACiAgICAgICAgICAgICBwYXNzCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZm9vLl9fZG9jX18sIE1vZHVsZVR5cGUuX19kb2NfXykKIAorICAgIGRlZiB0ZXN0X3VuaW50aWFsaXplZF9taXNzaW5nX2dldGF0dHIoc2VsZik6CisgICAgICAgICMgSXNzdWUgODI5NworICAgICAgICAjIHRlc3QgdGhlIHRleHQgaW4gdGhlIEF0dHJpYnV0ZUVycm9yIG9mIGFuIHVuaW5pdGlhbGl6ZWQgbW9kdWxlCisgICAgICAgIGZvbyA9IE1vZHVsZVR5cGUuX19uZXdfXyhNb2R1bGVUeXBlKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KAorICAgICAgICAgICAgICAgIEF0dHJpYnV0ZUVycm9yLCAibW9kdWxlIGhhcyBubyBhdHRyaWJ1dGUgJ25vdF9oZXJlJyIsCisgICAgICAgICAgICAgICAgZ2V0YXR0ciwgZm9vLCAibm90X2hlcmUiKQorCisgICAgZGVmIHRlc3RfbWlzc2luZ19nZXRhdHRyKHNlbGYpOgorICAgICAgICAjIElzc3VlIDgyOTcKKyAgICAgICAgIyB0ZXN0IHRoZSB0ZXh0IGluIHRoZSBBdHRyaWJ1dGVFcnJvcgorICAgICAgICBmb28gPSBNb2R1bGVUeXBlKCJmb28iKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KAorICAgICAgICAgICAgICAgIEF0dHJpYnV0ZUVycm9yLCAibW9kdWxlICdmb28nIGhhcyBubyBhdHRyaWJ1dGUgJ25vdF9oZXJlJyIsCisgICAgICAgICAgICAgICAgZ2V0YXR0ciwgZm9vLCAibm90X2hlcmUiKQorCiAgICAgZGVmIHRlc3Rfbm9fZG9jc3RyaW5nKHNlbGYpOgogICAgICAgICAjIFJlZ3VsYXJseSBpbml0aWFsaXplZCBtb2R1bGUsIG5vIGRvY3N0cmluZwogICAgICAgICBmb28gPSBNb2R1bGVUeXBlKCJmb28iKQpAQCAtMjExLDYgKzIyNywxNCBAQAogICAgICAgICAgICAgYiJsZW4gPSBsZW4iLAogICAgICAgICAgICAgYiJzaHV0aWwucm10cmVlID0gcm10cmVlIn0pCiAKKyAgICBkZWYgdGVzdF9kZXNjcmlwdG9yX2Vycm9yc19wcm9wb2dhdGUoc2VsZik6CisgICAgICAgIGNsYXNzIERlc2NyOgorICAgICAgICAgICAgZGVmIF9fZ2V0X18oc2VsZiwgbywgdCk6CisgICAgICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yCisgICAgICAgIGNsYXNzIE0oTW9kdWxlVHlwZSk6CisgICAgICAgICAgICBtZWxvbiA9IERlc2NyKCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoUnVudGltZUVycm9yLCBnZXRhdHRyLCBNKCJteW1vZCIpLCAibWVsb24iKQorCiAgICAgIyBmcm96ZW4gYW5kIG5hbWVzcGFjZSBtb2R1bGUgcmVwcnMgYXJlIHRlc3RlZCBpbiBpbXBvcnRsaWIuCiAKIApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9vcGVyYXRvci5weSBiL0xpYi90ZXN0L3Rlc3Rfb3BlcmF0b3IucHkKaW5kZXggYWI1OGE5OC4uMWJkMDM5MSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9vcGVyYXRvci5weQorKysgYi9MaWIvdGVzdC90ZXN0X29wZXJhdG9yLnB5CkBAIC0yMDMsNiArMjAzLDE1IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgb3BlcmF0b3IubXVsLCBOb25lLCBOb25lKQogICAgICAgICBzZWxmLmFzc2VydFRydWUob3BlcmF0b3IubXVsKDUsIDIpID09IDEwKQogCisgICAgZGVmIHRlc3RfbWF0bXVsKHNlbGYpOgorICAgICAgICBvcGVyYXRvciA9IHNlbGYubW9kdWxlCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgb3BlcmF0b3IubWF0bXVsKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG9wZXJhdG9yLm1hdG11bCwgNDIsIDQyKQorICAgICAgICBjbGFzcyBNOgorICAgICAgICAgICAgZGVmIF9fbWF0bXVsX18oc2VsZiwgb3RoZXIpOgorICAgICAgICAgICAgICAgIHJldHVybiBvdGhlciAtIDEKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChNKCkgQCA0MiwgNDEpCisKICAgICBkZWYgdGVzdF9uZWcoc2VsZik6CiAgICAgICAgIG9wZXJhdG9yID0gc2VsZi5tb2R1bGUKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBvcGVyYXRvci5uZWcpCkBAIC00MTYsNiArNDI1LDcgQEAKICAgICAgICAgICAgIGRlZiBfX2lsc2hpZnRfXyAgKHNlbGYsIG90aGVyKTogcmV0dXJuICJpbHNoaWZ0IgogICAgICAgICAgICAgZGVmIF9faW1vZF9fICAgICAoc2VsZiwgb3RoZXIpOiByZXR1cm4gImltb2QiCiAgICAgICAgICAgICBkZWYgX19pbXVsX18gICAgIChzZWxmLCBvdGhlcik6IHJldHVybiAiaW11bCIKKyAgICAgICAgICAgIGRlZiBfX2ltYXRtdWxfXyAgKHNlbGYsIG90aGVyKTogcmV0dXJuICJpbWF0bXVsIgogICAgICAgICAgICAgZGVmIF9faW9yX18gICAgICAoc2VsZiwgb3RoZXIpOiByZXR1cm4gImlvciIKICAgICAgICAgICAgIGRlZiBfX2lwb3dfXyAgICAgKHNlbGYsIG90aGVyKTogcmV0dXJuICJpcG93IgogICAgICAgICAgICAgZGVmIF9faXJzaGlmdF9fICAoc2VsZiwgb3RoZXIpOiByZXR1cm4gImlyc2hpZnQiCkBAIC00MzAsNiArNDQwLDcgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvcGVyYXRvci5pbHNoaWZ0ICAoYywgNSksICJpbHNoaWZ0IikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvcGVyYXRvci5pbW9kICAgICAoYywgNSksICJpbW9kIikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvcGVyYXRvci5pbXVsICAgICAoYywgNSksICJpbXVsIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvcGVyYXRvci5pbWF0bXVsICAoYywgNSksICJpbWF0bXVsIikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvcGVyYXRvci5pb3IgICAgICAoYywgNSksICJpb3IiKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9wZXJhdG9yLmlwb3cgICAgIChjLCA1KSwgImlwb3ciKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9wZXJhdG9yLmlyc2hpZnQgIChjLCA1KSwgImlyc2hpZnQiKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9vcy5weSBiL0xpYi90ZXN0L3Rlc3Rfb3MucHkKaW5kZXggMTUyYmE5My4uZTI4YTNkYiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9vcy5weQorKysgYi9MaWIvdGVzdC90ZXN0X29zLnB5CkBAIC00LDYgKzQsNyBAQAogCiBpbXBvcnQgb3MKIGltcG9ydCBlcnJubworaW1wb3J0IGdldHBhc3MKIGltcG9ydCB1bml0dGVzdAogaW1wb3J0IHdhcm5pbmdzCiBpbXBvcnQgc3lzCkBAIC00MCw5ICs0MSwzNSBAQAogICAgIGltcG9ydCBmY250bAogZXhjZXB0IEltcG9ydEVycm9yOgogICAgIGZjbnRsID0gTm9uZQordHJ5OgorICAgIGltcG9ydCBfd2luYXBpCitleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgX3dpbmFwaSA9IE5vbmUKK3RyeToKKyAgICBpbXBvcnQgZ3JwCisgICAgZ3JvdXBzID0gW2cuZ3JfZ2lkIGZvciBnIGluIGdycC5nZXRncmFsbCgpIGlmIGdldHBhc3MuZ2V0dXNlcigpIGluIGcuZ3JfbWVtXQorICAgIGlmIGhhc2F0dHIob3MsICdnZXRnaWQnKToKKyAgICAgICAgcHJvY2Vzc19naWQgPSBvcy5nZXRnaWQoKQorICAgICAgICBpZiBwcm9jZXNzX2dpZCBub3QgaW4gZ3JvdXBzOgorICAgICAgICAgICAgZ3JvdXBzLmFwcGVuZChwcm9jZXNzX2dpZCkKK2V4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICBncm91cHMgPSBbXQordHJ5OgorICAgIGltcG9ydCBwd2QKKyAgICBhbGxfdXNlcnMgPSBbdS5wd191aWQgZm9yIHUgaW4gcHdkLmdldHB3YWxsKCldCitleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgYWxsX3VzZXJzID0gW10KK3RyeToKKyAgICBmcm9tIF90ZXN0Y2FwaSBpbXBvcnQgSU5UX01BWCwgUFlfU1NJWkVfVF9NQVgKK2V4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICBJTlRfTUFYID0gUFlfU1NJWkVfVF9NQVggPSBzeXMubWF4c2l6ZQogCiBmcm9tIHRlc3Quc2NyaXB0X2hlbHBlciBpbXBvcnQgYXNzZXJ0X3B5dGhvbl9vawogCityb290X2luX3Bvc2l4ID0gRmFsc2UKK2lmIGhhc2F0dHIob3MsICdnZXRldWlkJyk6CisgICAgcm9vdF9pbl9wb3NpeCA9IChvcy5nZXRldWlkKCkgPT0gMCkKKwogd2l0aCB3YXJuaW5ncy5jYXRjaF93YXJuaW5ncygpOgogICAgIHdhcm5pbmdzLnNpbXBsZWZpbHRlcigiaWdub3JlIiwgRGVwcmVjYXRpb25XYXJuaW5nKQogICAgIG9zLnN0YXRfZmxvYXRfdGltZXMoVHJ1ZSkKQEAgLTExNiw2ICsxNDMsMjYgQEAKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodHlwZShzKSwgYnl0ZXMpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHMsIGIic3BhbSIpCiAKKyAgICBAc3VwcG9ydC5jcHl0aG9uX29ubHkKKyAgICAjIFNraXAgdGhlIHRlc3Qgb24gMzItYml0IHBsYXRmb3JtczogdGhlIG51bWJlciBvZiBieXRlcyBtdXN0IGZpdCBpbiBhCisgICAgIyBQeV9zc2l6ZV90IHR5cGUKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhJTlRfTUFYIDwgUFlfU1NJWkVfVF9NQVgsCisgICAgICAgICAgICAgICAgICAgICAgICAgIm5lZWRzIElOVF9NQVggPCBQWV9TU0laRV9UX01BWCIpCisgICAgQHN1cHBvcnQuYmlnbWVtdGVzdChzaXplPUlOVF9NQVggKyAxMCwgbWVtdXNlPTEsIGRyeV9ydW49RmFsc2UpCisgICAgZGVmIHRlc3RfbGFyZ2VfcmVhZChzZWxmLCBzaXplKToKKyAgICAgICAgd2l0aCBvcGVuKHN1cHBvcnQuVEVTVEZOLCAid2IiKSBhcyBmcDoKKyAgICAgICAgICAgIGZwLndyaXRlKGIndGVzdCcpCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChzdXBwb3J0LnVubGluaywgc3VwcG9ydC5URVNURk4pCisKKyAgICAgICAgIyBJc3N1ZSAjMjE5MzI6IE1ha2Ugc3VyZSB0aGF0IG9zLnJlYWQoKSBkb2VzIG5vdCByYWlzZSBhbgorICAgICAgICAjIE92ZXJmbG93RXJyb3IgZm9yIHNpemUgbGFyZ2VyIHRoYW4gSU5UX01BWAorICAgICAgICB3aXRoIG9wZW4oc3VwcG9ydC5URVNURk4sICJyYiIpIGFzIGZwOgorICAgICAgICAgICAgZGF0YSA9IG9zLnJlYWQoZnAuZmlsZW5vKCksIHNpemUpCisKKyAgICAgICAgIyBUaGUgdGVzdCBkb2VzIG5vdCB0cnkgdG8gcmVhZCBtb3JlIHRoYW4gMiBHQiBhdCBvbmNlIGJlY2F1c2UgdGhlCisgICAgICAgICMgb3BlcmF0aW5nIHN5c3RlbSBpcyBmcmVlIHRvIHJldHVybiBsZXNzIGJ5dGVzIHRoYW4gcmVxdWVzdGVkLgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRhdGEsIGIndGVzdCcpCisKICAgICBkZWYgdGVzdF93cml0ZShzZWxmKToKICAgICAgICAgIyBvcy53cml0ZSgpIGFjY2VwdHMgYnl0ZXMtIGFuZCBidWZmZXItbGlrZSBvYmplY3RzIGJ1dCBub3Qgc3RyaW5ncwogICAgICAgICBmZCA9IG9zLm9wZW4oc3VwcG9ydC5URVNURk4sIG9zLk9fQ1JFQVQgfCBvcy5PX1dST05MWSkKQEAgLTUzMyw2ICs1ODAsMjggQEAKICAgICAgICAgICAgIG9zLnN0YXQocikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjdHguZXhjZXB0aW9uLmVycm5vLCBlcnJuby5FQkFERikKIAorICAgIGRlZiBjaGVja19maWxlX2F0dHJpYnV0ZXMoc2VsZiwgcmVzdWx0KToKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGhhc2F0dHIocmVzdWx0LCAnc3RfZmlsZV9hdHRyaWJ1dGVzJykpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpc2luc3RhbmNlKHJlc3VsdC5zdF9maWxlX2F0dHJpYnV0ZXMsIGludCkpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSgwIDw9IHJlc3VsdC5zdF9maWxlX2F0dHJpYnV0ZXMgPD0gMHhGRkZGRkZGRikKKworICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKHN5cy5wbGF0Zm9ybSA9PSAid2luMzIiLAorICAgICAgICAgICAgICAgICAgICAgICAgICJzdF9maWxlX2F0dHJpYnV0ZXMgaXMgV2luMzIgc3BlY2lmaWMiKQorICAgIGRlZiB0ZXN0X2ZpbGVfYXR0cmlidXRlcyhzZWxmKToKKyAgICAgICAgIyB0ZXN0IGZpbGUgc3RfZmlsZV9hdHRyaWJ1dGVzIChGSUxFX0FUVFJJQlVURV9ESVJFQ1RPUlkgbm90IHNldCkKKyAgICAgICAgcmVzdWx0ID0gb3Muc3RhdChzZWxmLmZuYW1lKQorICAgICAgICBzZWxmLmNoZWNrX2ZpbGVfYXR0cmlidXRlcyhyZXN1bHQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICByZXN1bHQuc3RfZmlsZV9hdHRyaWJ1dGVzICYgc3RhdC5GSUxFX0FUVFJJQlVURV9ESVJFQ1RPUlksCisgICAgICAgICAgICAwKQorCisgICAgICAgICMgdGVzdCBkaXJlY3Rvcnkgc3RfZmlsZV9hdHRyaWJ1dGVzIChGSUxFX0FUVFJJQlVURV9ESVJFQ1RPUlkgc2V0KQorICAgICAgICByZXN1bHQgPSBvcy5zdGF0KHN1cHBvcnQuVEVTVEZOKQorICAgICAgICBzZWxmLmNoZWNrX2ZpbGVfYXR0cmlidXRlcyhyZXN1bHQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICByZXN1bHQuc3RfZmlsZV9hdHRyaWJ1dGVzICYgc3RhdC5GSUxFX0FUVFJJQlVURV9ESVJFQ1RPUlksCisgICAgICAgICAgICBzdGF0LkZJTEVfQVRUUklCVVRFX0RJUkVDVE9SWSkKKwogZnJvbSB0ZXN0IGltcG9ydCBtYXBwaW5nX3Rlc3RzCiAKIGNsYXNzIEVudmlyb25UZXN0cyhtYXBwaW5nX3Rlc3RzLkJhc2ljVGVzdE1hcHBpbmdQcm90b2NvbCk6CkBAIC05MTIsMTcgKzk4MSw2IEBACiAgICAgICAgIG9zLm1ha2VkaXJzKHBhdGgsIG1vZGU9bW9kZSwgZXhpc3Rfb2s9VHJ1ZSkKICAgICAgICAgb3MudW1hc2sob2xkX21hc2spCiAKLSAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKG9zLCAnY2hvd24nKSwgJ3Rlc3QgbmVlZHMgb3MuY2hvd24nKQotICAgIGRlZiB0ZXN0X2Nob3duX3VpZF9naWRfYXJndW1lbnRzX211c3RfYmVfaW5kZXgoc2VsZik6Ci0gICAgICAgIHN0YXQgPSBvcy5zdGF0KHN1cHBvcnQuVEVTVEZOKQotICAgICAgICB1aWQgPSBzdGF0LnN0X3VpZAotICAgICAgICBnaWQgPSBzdGF0LnN0X2dpZAotICAgICAgICBmb3IgdmFsdWUgaW4gKC0xLjAsIC0xaiwgZGVjaW1hbC5EZWNpbWFsKC0xKSwgZnJhY3Rpb25zLkZyYWN0aW9uKC0yLCAyKSk6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG9zLmNob3duLCBzdXBwb3J0LlRFU1RGTiwgdmFsdWUsIGdpZCkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgb3MuY2hvd24sIHN1cHBvcnQuVEVTVEZOLCB1aWQsIHZhbHVlKQotICAgICAgICBzZWxmLmFzc2VydElzTm9uZShvcy5jaG93bihzdXBwb3J0LlRFU1RGTiwgdWlkLCBnaWQpKQotICAgICAgICBzZWxmLmFzc2VydElzTm9uZShvcy5jaG93bihzdXBwb3J0LlRFU1RGTiwgLTEsIC0xKSkKLQogICAgIGRlZiB0ZXN0X2V4aXN0X29rX3NfaXNnaWRfZGlyZWN0b3J5KHNlbGYpOgogICAgICAgICBwYXRoID0gb3MucGF0aC5qb2luKHN1cHBvcnQuVEVTVEZOLCAnZGlyMScpCiAgICAgICAgIFNfSVNHSUQgPSBzdGF0LlNfSVNHSUQKQEAgLTk3Myw2ICsxMDMxLDU4IEBACiAgICAgICAgIG9zLnJlbW92ZWRpcnMocGF0aCkKIAogCitAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKG9zLCAnY2hvd24nKSwgIlRlc3QgbmVlZHMgY2hvd24iKQorY2xhc3MgQ2hvd25GaWxlVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgZGVmIHNldFVwQ2xhc3MoKToKKyAgICAgICAgb3MubWtkaXIoc3VwcG9ydC5URVNURk4pCisKKyAgICBkZWYgdGVzdF9jaG93bl91aWRfZ2lkX2FyZ3VtZW50c19tdXN0X2JlX2luZGV4KHNlbGYpOgorICAgICAgICBzdGF0ID0gb3Muc3RhdChzdXBwb3J0LlRFU1RGTikKKyAgICAgICAgdWlkID0gc3RhdC5zdF91aWQKKyAgICAgICAgZ2lkID0gc3RhdC5zdF9naWQKKyAgICAgICAgZm9yIHZhbHVlIGluICgtMS4wLCAtMWosIGRlY2ltYWwuRGVjaW1hbCgtMSksIGZyYWN0aW9ucy5GcmFjdGlvbigtMiwgMikpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBvcy5jaG93biwgc3VwcG9ydC5URVNURk4sIHZhbHVlLCBnaWQpCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG9zLmNob3duLCBzdXBwb3J0LlRFU1RGTiwgdWlkLCB2YWx1ZSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUob3MuY2hvd24oc3VwcG9ydC5URVNURk4sIHVpZCwgZ2lkKSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUob3MuY2hvd24oc3VwcG9ydC5URVNURk4sIC0xLCAtMSkpCisKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhsZW4oZ3JvdXBzKSA+IDEsICJ0ZXN0IG5lZWRzIG1vcmUgdGhhbiBvbmUgZ3JvdXAiKQorICAgIGRlZiB0ZXN0X2Nob3duKHNlbGYpOgorICAgICAgICBnaWRfMSwgZ2lkXzIgPSBncm91cHNbOjJdCisgICAgICAgIHVpZCA9IG9zLnN0YXQoc3VwcG9ydC5URVNURk4pLnN0X3VpZAorICAgICAgICBvcy5jaG93bihzdXBwb3J0LlRFU1RGTiwgdWlkLCBnaWRfMSkKKyAgICAgICAgZ2lkID0gb3Muc3RhdChzdXBwb3J0LlRFU1RGTikuc3RfZ2lkCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2lkLCBnaWRfMSkKKyAgICAgICAgb3MuY2hvd24oc3VwcG9ydC5URVNURk4sIHVpZCwgZ2lkXzIpCisgICAgICAgIGdpZCA9IG9zLnN0YXQoc3VwcG9ydC5URVNURk4pLnN0X2dpZAorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdpZCwgZ2lkXzIpCisKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhyb290X2luX3Bvc2l4IGFuZCBsZW4oYWxsX3VzZXJzKSA+IDEsCisgICAgICAgICAgICAgICAgICAgICAgICAgInRlc3QgbmVlZHMgcm9vdCBwcml2aWxlZ2UgYW5kIG1vcmUgdGhhbiBvbmUgdXNlciIpCisgICAgZGVmIHRlc3RfY2hvd25fd2l0aF9yb290KHNlbGYpOgorICAgICAgICB1aWRfMSwgdWlkXzIgPSBhbGxfdXNlcnNbOjJdCisgICAgICAgIGdpZCA9IG9zLnN0YXQoc3VwcG9ydC5URVNURk4pLnN0X2dpZAorICAgICAgICBvcy5jaG93bihzdXBwb3J0LlRFU1RGTiwgdWlkXzEsIGdpZCkKKyAgICAgICAgdWlkID0gb3Muc3RhdChzdXBwb3J0LlRFU1RGTikuc3RfdWlkCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodWlkLCB1aWRfMSkKKyAgICAgICAgb3MuY2hvd24oc3VwcG9ydC5URVNURk4sIHVpZF8yLCBnaWQpCisgICAgICAgIHVpZCA9IG9zLnN0YXQoc3VwcG9ydC5URVNURk4pLnN0X3VpZAorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHVpZCwgdWlkXzIpCisKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhub3Qgcm9vdF9pbl9wb3NpeCBhbmQgbGVuKGFsbF91c2VycykgPiAxLAorICAgICAgICAgICAgICAgICAgICAgICAgICJ0ZXN0IG5lZWRzIG5vbi1yb290IGFjY291bnQgYW5kIG1vcmUgdGhhbiBvbmUgdXNlciIpCisgICAgZGVmIHRlc3RfY2hvd25fd2l0aG91dF9wZXJtaXNzaW9uKHNlbGYpOgorICAgICAgICB1aWRfMSwgdWlkXzIgPSBhbGxfdXNlcnNbOjJdCisgICAgICAgIGdpZCA9IG9zLnN0YXQoc3VwcG9ydC5URVNURk4pLnN0X2dpZAorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoUGVybWlzc2lvbkVycm9yLCAiT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQiKToKKyAgICAgICAgICAgIG9zLmNob3duKHN1cHBvcnQuVEVTVEZOLCB1aWRfMSwgZ2lkKQorICAgICAgICAgICAgb3MuY2hvd24oc3VwcG9ydC5URVNURk4sIHVpZF8yLCBnaWQpCisKKyAgICBkZWYgdGVhckRvd25DbGFzcygpOgorICAgICAgICBvcy5ybWRpcihzdXBwb3J0LlRFU1RGTikKKworCiBjbGFzcyBSZW1vdmVEaXJzVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGRlZiBzZXRVcChzZWxmKToKICAgICAgICAgb3MubWFrZWRpcnMoc3VwcG9ydC5URVNURk4pCkBAIC0xMzM5LDYgKzE0NDksMTYgQEAKICAgICBkZWYgdGVzdF93cml0ZXYoc2VsZik6CiAgICAgICAgIHNlbGYuY2hlY2sob3Mud3JpdGV2LCBbYidhYmMnXSkKIAorICAgIGRlZiB0ZXN0X2luaGVyaXRhYmxlKHNlbGYpOgorICAgICAgICBzZWxmLmNoZWNrKG9zLmdldF9pbmhlcml0YWJsZSkKKyAgICAgICAgc2VsZi5jaGVjayhvcy5zZXRfaW5oZXJpdGFibGUsIFRydWUpCisKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKG9zLCAnZ2V0X2Jsb2NraW5nJyksCisgICAgICAgICAgICAgICAgICAgICAgICAgJ25lZWRzIG9zLmdldF9ibG9ja2luZygpIGFuZCBvcy5zZXRfYmxvY2tpbmcoKScpCisgICAgZGVmIHRlc3RfYmxvY2tpbmcoc2VsZik6CisgICAgICAgIHNlbGYuY2hlY2sob3MuZ2V0X2Jsb2NraW5nKQorICAgICAgICBzZWxmLmNoZWNrKG9zLnNldF9ibG9ja2luZywgVHJ1ZSkKKwogCiBjbGFzcyBMaW5rVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGRlZiBzZXRVcChzZWxmKToKQEAgLTE3ODYsNiArMTkwNiwzNyBAQAogICAgICAgICAgICAgc2h1dGlsLnJtdHJlZShsZXZlbDEpCiAKIAorQHVuaXR0ZXN0LnNraXBVbmxlc3Moc3lzLnBsYXRmb3JtID09ICJ3aW4zMiIsICJXaW4zMiBzcGVjaWZpYyB0ZXN0cyIpCitjbGFzcyBXaW4zMkp1bmN0aW9uVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgorICAgIGp1bmN0aW9uID0gJ2p1bmN0aW9udGVzdCcKKyAgICBqdW5jdGlvbl90YXJnZXQgPSBvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5hYnNwYXRoKF9fZmlsZV9fKSkKKworICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgYXNzZXJ0IG9zLnBhdGguZXhpc3RzKHNlbGYuanVuY3Rpb25fdGFyZ2V0KQorICAgICAgICBhc3NlcnQgbm90IG9zLnBhdGguZXhpc3RzKHNlbGYuanVuY3Rpb24pCisKKyAgICBkZWYgdGVhckRvd24oc2VsZik6CisgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKHNlbGYuanVuY3Rpb24pOgorICAgICAgICAgICAgIyBvcy5ybWRpciBkZWxlZ2F0ZXMgdG8gV2luZG93cycgUmVtb3ZlRGlyZWN0b3J5VywKKyAgICAgICAgICAgICMgd2hpY2ggcmVtb3ZlcyBqdW5jdGlvbiBwb2ludHMgc2FmZWx5LgorICAgICAgICAgICAgb3Mucm1kaXIoc2VsZi5qdW5jdGlvbikKKworICAgIGRlZiB0ZXN0X2NyZWF0ZV9qdW5jdGlvbihzZWxmKToKKyAgICAgICAgX3dpbmFwaS5DcmVhdGVKdW5jdGlvbihzZWxmLmp1bmN0aW9uX3RhcmdldCwgc2VsZi5qdW5jdGlvbikKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguZXhpc3RzKHNlbGYuanVuY3Rpb24pKQorICAgICAgICBzZWxmLmFzc2VydFRydWUob3MucGF0aC5pc2RpcihzZWxmLmp1bmN0aW9uKSkKKworICAgICAgICAjIEp1bmN0aW9ucyBhcmUgbm90IHJlY29nbml6ZWQgYXMgbGlua3MuCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uob3MucGF0aC5pc2xpbmsoc2VsZi5qdW5jdGlvbikpCisKKyAgICBkZWYgdGVzdF91bmxpbmtfcmVtb3Zlc19qdW5jdGlvbihzZWxmKToKKyAgICAgICAgX3dpbmFwaS5DcmVhdGVKdW5jdGlvbihzZWxmLmp1bmN0aW9uX3RhcmdldCwgc2VsZi5qdW5jdGlvbikKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguZXhpc3RzKHNlbGYuanVuY3Rpb24pKQorCisgICAgICAgIG9zLnVubGluayhzZWxmLmp1bmN0aW9uKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG9zLnBhdGguZXhpc3RzKHNlbGYuanVuY3Rpb24pKQorCisKIEBzdXBwb3J0LnNraXBfdW5sZXNzX3N5bWxpbmsKIGNsYXNzIE5vbkxvY2FsU3ltbGlua1Rlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKIApAQCAtMTk5MiwxMSArMjE0MywxMyBAQAogCiAgICAgQGNsYXNzbWV0aG9kCiAgICAgZGVmIHNldFVwQ2xhc3MoY2xzKToKKyAgICAgICAgY2xzLmtleSA9IHN1cHBvcnQudGhyZWFkaW5nX3NldHVwKCkKICAgICAgICAgd2l0aCBvcGVuKHN1cHBvcnQuVEVTVEZOLCAid2IiKSBhcyBmOgogICAgICAgICAgICAgZi53cml0ZShjbHMuREFUQSkKIAogICAgIEBjbGFzc21ldGhvZAogICAgIGRlZiB0ZWFyRG93bkNsYXNzKGNscyk6CisgICAgICAgIHN1cHBvcnQudGhyZWFkaW5nX2NsZWFudXAoKmNscy5rZXkpCiAgICAgICAgIHN1cHBvcnQudW5saW5rKHN1cHBvcnQuVEVTVEZOKQogCiAgICAgZGVmIHNldFVwKHNlbGYpOgpAQCAtMjUyMyw0MSArMjY3NiwyNyBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9zLmdldF9pbmhlcml0YWJsZShzbGF2ZV9mZCksIEZhbHNlKQogCiAKLUBzdXBwb3J0LnJlYXBfdGhyZWFkcwotZGVmIHRlc3RfbWFpbigpOgotICAgIHN1cHBvcnQucnVuX3VuaXR0ZXN0KAotICAgICAgICBGaWxlVGVzdHMsCi0gICAgICAgIFN0YXRBdHRyaWJ1dGVUZXN0cywKLSAgICAgICAgRW52aXJvblRlc3RzLAotICAgICAgICBXYWxrVGVzdHMsCi0gICAgICAgIEZ3YWxrVGVzdHMsCi0gICAgICAgIE1ha2VkaXJUZXN0cywKLSAgICAgICAgRGV2TnVsbFRlc3RzLAotICAgICAgICBVUmFuZG9tVGVzdHMsCi0gICAgICAgIEV4ZWNUZXN0cywKLSAgICAgICAgV2luMzJFcnJvclRlc3RzLAotICAgICAgICBUZXN0SW52YWxpZEZELAotICAgICAgICBQb3NpeFVpZEdpZFRlc3RzLAotICAgICAgICBQZXAzODNUZXN0cywKLSAgICAgICAgV2luMzJLaWxsVGVzdHMsCi0gICAgICAgIFdpbjMyTGlzdGRpclRlc3RzLAotICAgICAgICBXaW4zMlN5bWxpbmtUZXN0cywKLSAgICAgICAgTm9uTG9jYWxTeW1saW5rVGVzdHMsCi0gICAgICAgIEZTRW5jb2RpbmdUZXN0cywKLSAgICAgICAgRGV2aWNlRW5jb2RpbmdUZXN0cywKLSAgICAgICAgUGlkVGVzdHMsCi0gICAgICAgIExvZ2luVGVzdHMsCi0gICAgICAgIExpbmtUZXN0cywKLSAgICAgICAgVGVzdFNlbmRmaWxlLAotICAgICAgICBQcm9ncmFtUHJpb3JpdHlUZXN0cywKLSAgICAgICAgRXh0ZW5kZWRBdHRyaWJ1dGVUZXN0cywKLSAgICAgICAgV2luMzJEZXByZWNhdGVkQnl0ZXNBUEksCi0gICAgICAgIFRlcm1zaXplVGVzdHMsCi0gICAgICAgIE9TRXJyb3JUZXN0cywKLSAgICAgICAgUmVtb3ZlRGlyc1Rlc3RzLAotICAgICAgICBDUFVDb3VudFRlc3RzLAotICAgICAgICBGREluaGVyaXRhbmNlVGVzdHMsCi0gICAgKQorQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihvcywgJ2dldF9ibG9ja2luZycpLAorICAgICAgICAgICAgICAgICAgICAgJ25lZWRzIG9zLmdldF9ibG9ja2luZygpIGFuZCBvcy5zZXRfYmxvY2tpbmcoKScpCitjbGFzcyBCbG9ja2luZ1Rlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICBkZWYgdGVzdF9ibG9ja2luZyhzZWxmKToKKyAgICAgICAgZmQgPSBvcy5vcGVuKF9fZmlsZV9fLCBvcy5PX1JET05MWSkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKG9zLmNsb3NlLCBmZCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvcy5nZXRfYmxvY2tpbmcoZmQpLCBUcnVlKQorCisgICAgICAgIG9zLnNldF9ibG9ja2luZyhmZCwgRmFsc2UpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3MuZ2V0X2Jsb2NraW5nKGZkKSwgRmFsc2UpCisKKyAgICAgICAgb3Muc2V0X2Jsb2NraW5nKGZkLCBUcnVlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9zLmdldF9ibG9ja2luZyhmZCksIFRydWUpCisKKworCitjbGFzcyBFeHBvcnRzVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgorICAgIGRlZiB0ZXN0X29zX2FsbChzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRJbignb3BlbicsIG9zLl9fYWxsX18pCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ3dhbGsnLCBvcy5fX2FsbF9fKQorCiAKIGlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6Ci0gICAgdGVzdF9tYWluKCkKKyAgICB1bml0dGVzdC5tYWluKCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfcGF0aGxpYi5weSBiL0xpYi90ZXN0L3Rlc3RfcGF0aGxpYi5weQppbmRleCBhYjg4YzM0Li5mNGVlNTE5IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3BhdGhsaWIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9wYXRobGliLnB5CkBAIC00LDEzICs0LDEwIEBACiBpbXBvcnQgZXJybm8KIGltcG9ydCBwYXRobGliCiBpbXBvcnQgcGlja2xlCi1pbXBvcnQgc2h1dGlsCiBpbXBvcnQgc29ja2V0CiBpbXBvcnQgc3RhdAotaW1wb3J0IHN5cwogaW1wb3J0IHRlbXBmaWxlCiBpbXBvcnQgdW5pdHRlc3QKLWZyb20gY29udGV4dGxpYiBpbXBvcnQgY29udGV4dG1hbmFnZXIKIAogZnJvbSB0ZXN0IGltcG9ydCBzdXBwb3J0CiBURVNURk4gPSBzdXBwb3J0LlRFU1RGTgpAQCAtNzQzLDcgKzc0MCw2IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoUCgnLy9Tb21lL1NIQVJFL2EvQicpLCBQKCcvL3NvbUUvc2hhcmUvQS9iJykpCiAKICAgICBkZWYgdGVzdF9hc191cmkoc2VsZik6Ci0gICAgICAgIGZyb20gdXJsbGliLnBhcnNlIGltcG9ydCBxdW90ZV9mcm9tX2J5dGVzCiAgICAgICAgIFAgPSBzZWxmLmNscwogICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgogICAgICAgICAgICAgUCgnL2EvYicpLmFzX3VyaSgpCkBAIC0xMjY1LDExICsxMjYxLDU1IEBACiAgICAgICAgIHAgPSBzZWxmLmNscy5jd2QoKQogICAgICAgICBzZWxmLl90ZXN0X2N3ZChwKQogCisgICAgZGVmIF90ZXN0X2hvbWUoc2VsZiwgcCk6CisgICAgICAgIHEgPSBzZWxmLmNscyhvcy5wYXRoLmV4cGFuZHVzZXIoJ34nKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwLCBxKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cihwKSwgc3RyKHEpKQorICAgICAgICBzZWxmLmFzc2VydElzKHR5cGUocCksIHR5cGUocSkpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShwLmlzX2Fic29sdXRlKCkpCisKKyAgICBkZWYgdGVzdF9ob21lKHNlbGYpOgorICAgICAgICBwID0gc2VsZi5jbHMuaG9tZSgpCisgICAgICAgIHNlbGYuX3Rlc3RfaG9tZShwKQorCisgICAgZGVmIHRlc3Rfc2FtZWZpbGUoc2VsZik6CisgICAgICAgIGZpbGVBX3BhdGggPSBvcy5wYXRoLmpvaW4oQkFTRSwgJ2ZpbGVBJykKKyAgICAgICAgZmlsZUJfcGF0aCA9IG9zLnBhdGguam9pbihCQVNFLCAnZGlyQicsICdmaWxlQicpCisgICAgICAgIHAgPSBzZWxmLmNscyhmaWxlQV9wYXRoKQorICAgICAgICBwcCA9IHNlbGYuY2xzKGZpbGVBX3BhdGgpCisgICAgICAgIHEgPSBzZWxmLmNscyhmaWxlQl9wYXRoKQorICAgICAgICBzZWxmLmFzc2VydFRydWUocC5zYW1lZmlsZShmaWxlQV9wYXRoKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHAuc2FtZWZpbGUocHApKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHAuc2FtZWZpbGUoZmlsZUJfcGF0aCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UocC5zYW1lZmlsZShxKSkKKyAgICAgICAgIyBUZXN0IHRoZSBub24tZXhpc3RlbnQgZmlsZSBjYXNlCisgICAgICAgIG5vbl9leGlzdGVudCA9IG9zLnBhdGguam9pbihCQVNFLCAnZm9vJykKKyAgICAgICAgciA9IHNlbGYuY2xzKG5vbl9leGlzdGVudCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoRmlsZU5vdEZvdW5kRXJyb3IsIHAuc2FtZWZpbGUsIHIpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEZpbGVOb3RGb3VuZEVycm9yLCBwLnNhbWVmaWxlLCBub25fZXhpc3RlbnQpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEZpbGVOb3RGb3VuZEVycm9yLCByLnNhbWVmaWxlLCBwKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhGaWxlTm90Rm91bmRFcnJvciwgci5zYW1lZmlsZSwgbm9uX2V4aXN0ZW50KQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhGaWxlTm90Rm91bmRFcnJvciwgci5zYW1lZmlsZSwgcikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoRmlsZU5vdEZvdW5kRXJyb3IsIHIuc2FtZWZpbGUsIG5vbl9leGlzdGVudCkKKwogICAgIGRlZiB0ZXN0X2VtcHR5X3BhdGgoc2VsZik6CiAgICAgICAgICMgVGhlIGVtcHR5IHBhdGggcG9pbnRzIHRvICcuJwogICAgICAgICBwID0gc2VsZi5jbHMoJycpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocC5zdGF0KCksIG9zLnN0YXQoJy4nKSkKIAorICAgIGRlZiB0ZXN0X2V4cGFuZHVzZXJfY29tbW9uKHNlbGYpOgorICAgICAgICBQID0gc2VsZi5jbHMKKyAgICAgICAgcCA9IFAoJ34nKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHAuZXhwYW5kdXNlcigpLCBQKG9zLnBhdGguZXhwYW5kdXNlcignficpKSkKKyAgICAgICAgcCA9IFAoJ2ZvbycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocC5leHBhbmR1c2VyKCksIHApCisgICAgICAgIHAgPSBQKCcvficpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocC5leHBhbmR1c2VyKCksIHApCisgICAgICAgIHAgPSBQKCcuLi9+JykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwLmV4cGFuZHVzZXIoKSwgcCkKKyAgICAgICAgcCA9IFAoUCgnJykuYWJzb2x1dGUoKS5hbmNob3IpIC8gJ34nCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocC5leHBhbmR1c2VyKCksIHApCisKICAgICBkZWYgdGVzdF9leGlzdHMoc2VsZik6CiAgICAgICAgIFAgPSBzZWxmLmNscwogICAgICAgICBwID0gUChCQVNFKQpAQCAtMTI5Nyw2ICsxMzM3LDIzIEBACiAgICAgICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UoZiwgaW8uUmF3SU9CYXNlKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmLnJlYWQoKS5zdHJpcCgpLCBiInRoaXMgaXMgZmlsZSBBIikKIAorICAgIGRlZiB0ZXN0X3JlYWRfd3JpdGVfYnl0ZXMoc2VsZik6CisgICAgICAgIHAgPSBzZWxmLmNscyhCQVNFKQorICAgICAgICAocCAvICdmaWxlQScpLndyaXRlX2J5dGVzKGInYWJjZGVmZycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoKHAgLyAnZmlsZUEnKS5yZWFkX2J5dGVzKCksIGInYWJjZGVmZycpCisgICAgICAgICMgY2hlY2sgdGhhdCB0cnlpbmcgdG8gd3JpdGUgc3RyIGRvZXMgbm90IHRydW5jYXRlIHRoZSBmaWxlCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgKHAgLyAnZmlsZUEnKS53cml0ZV9ieXRlcywgJ3NvbWVzdHInKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKChwIC8gJ2ZpbGVBJykucmVhZF9ieXRlcygpLCBiJ2FiY2RlZmcnKQorCisgICAgZGVmIHRlc3RfcmVhZF93cml0ZV90ZXh0KHNlbGYpOgorICAgICAgICBwID0gc2VsZi5jbHMoQkFTRSkKKyAgICAgICAgKHAgLyAnZmlsZUEnKS53cml0ZV90ZXh0KCfDpGJjZGVmZycsIGVuY29kaW5nPSdsYXRpbi0xJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgocCAvICdmaWxlQScpLnJlYWRfdGV4dCgKKyAgICAgICAgICAgIGVuY29kaW5nPSd1dGYtOCcsIGVycm9ycz0naWdub3JlJyksICdiY2RlZmcnKQorICAgICAgICAjIGNoZWNrIHRoYXQgdHJ5aW5nIHRvIHdyaXRlIGJ5dGVzIGRvZXMgbm90IHRydW5jYXRlIHRoZSBmaWxlCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgKHAgLyAnZmlsZUEnKS53cml0ZV90ZXh0LCBiJ3NvbWVieXRlcycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoKHAgLyAnZmlsZUEnKS5yZWFkX3RleHQoZW5jb2Rpbmc9J2xhdGluLTEnKSwgJ8OkYmNkZWZnJykKKwogICAgIGRlZiB0ZXN0X2l0ZXJkaXIoc2VsZik6CiAgICAgICAgIFAgPSBzZWxmLmNscwogICAgICAgICBwID0gUChCQVNFKQpAQCAtMTYwMCw2ICsxNjU3LDU5IEBACiAgICAgICAgICMgdGhlIHBhcmVudCdzIHBlcm1pc3Npb25zIGZvbGxvdyB0aGUgZGVmYXVsdCBwcm9jZXNzIHNldHRpbmdzCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RhdC5TX0lNT0RFKHAucGFyZW50LnN0YXQoKS5zdF9tb2RlKSwgbW9kZSkKIAorICAgIGRlZiB0ZXN0X21rZGlyX2V4aXN0X29rKHNlbGYpOgorICAgICAgICBwID0gc2VsZi5jbHMoQkFTRSwgJ2RpckInKQorICAgICAgICBzdF9jdGltZV9maXJzdCA9IHAuc3RhdCgpLnN0X2N0aW1lCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShwLmV4aXN0cygpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUocC5pc19kaXIoKSkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhGaWxlRXhpc3RzRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgcC5ta2RpcigpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY20uZXhjZXB0aW9uLmVycm5vLCBlcnJuby5FRVhJU1QpCisgICAgICAgIHAubWtkaXIoZXhpc3Rfb2s9VHJ1ZSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHAuZXhpc3RzKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocC5zdGF0KCkuc3RfY3RpbWUsIHN0X2N0aW1lX2ZpcnN0KQorCisgICAgZGVmIHRlc3RfbWtkaXJfZXhpc3Rfb2tfd2l0aF9wYXJlbnQoc2VsZik6CisgICAgICAgIHAgPSBzZWxmLmNscyhCQVNFLCAnZGlyQycpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShwLmV4aXN0cygpKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEZpbGVFeGlzdHNFcnJvcikgYXMgY206CisgICAgICAgICAgICBwLm1rZGlyKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbS5leGNlcHRpb24uZXJybm8sIGVycm5vLkVFWElTVCkKKyAgICAgICAgcCA9IHAgLyAnbmV3ZGlyQycKKyAgICAgICAgcC5ta2RpcihwYXJlbnRzPVRydWUpCisgICAgICAgIHN0X2N0aW1lX2ZpcnN0ID0gcC5zdGF0KCkuc3RfY3RpbWUKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHAuZXhpc3RzKCkpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoRmlsZUV4aXN0c0Vycm9yKSBhcyBjbToKKyAgICAgICAgICAgIHAubWtkaXIocGFyZW50cz1UcnVlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtLmV4Y2VwdGlvbi5lcnJubywgZXJybm8uRUVYSVNUKQorICAgICAgICBwLm1rZGlyKHBhcmVudHM9VHJ1ZSwgZXhpc3Rfb2s9VHJ1ZSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHAuZXhpc3RzKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocC5zdGF0KCkuc3RfY3RpbWUsIHN0X2N0aW1lX2ZpcnN0KQorCisgICAgZGVmIHRlc3RfbWtkaXJfd2l0aF9jaGlsZF9maWxlKHNlbGYpOgorICAgICAgICBwID0gc2VsZi5jbHMoQkFTRSwgJ2RpckInLCAnZmlsZUInKQorICAgICAgICBzZWxmLmFzc2VydFRydWUocC5leGlzdHMoKSkKKyAgICAgICAgIyBBbiBleGNlcHRpb24gaXMgcmFpc2VkIHdoZW4gdGhlIGxhc3QgcGF0aCBjb21wb25lbnQgaXMgYW4gZXhpc3RpbmcKKyAgICAgICAgIyByZWd1bGFyIGZpbGUsIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBleGlzdF9vayBpcyB0cnVlIG9yIG5vdC4KKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhGaWxlRXhpc3RzRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgcC5ta2RpcihwYXJlbnRzPVRydWUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY20uZXhjZXB0aW9uLmVycm5vLCBlcnJuby5FRVhJU1QpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoRmlsZUV4aXN0c0Vycm9yKSBhcyBjbToKKyAgICAgICAgICAgIHAubWtkaXIocGFyZW50cz1UcnVlLCBleGlzdF9vaz1UcnVlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtLmV4Y2VwdGlvbi5lcnJubywgZXJybm8uRUVYSVNUKQorCisgICAgZGVmIHRlc3RfbWtkaXJfbm9fcGFyZW50c19maWxlKHNlbGYpOgorICAgICAgICBwID0gc2VsZi5jbHMoQkFTRSwgJ2ZpbGVBJykKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHAuZXhpc3RzKCkpCisgICAgICAgICMgQW4gZXhjZXB0aW9uIGlzIHJhaXNlZCB3aGVuIHRoZSBsYXN0IHBhdGggY29tcG9uZW50IGlzIGFuIGV4aXN0aW5nCisgICAgICAgICMgcmVndWxhciBmaWxlLCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgZXhpc3Rfb2sgaXMgdHJ1ZSBvciBub3QuCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoRmlsZUV4aXN0c0Vycm9yKSBhcyBjbToKKyAgICAgICAgICAgIHAubWtkaXIoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtLmV4Y2VwdGlvbi5lcnJubywgZXJybm8uRUVYSVNUKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEZpbGVFeGlzdHNFcnJvcikgYXMgY206CisgICAgICAgICAgICBwLm1rZGlyKGV4aXN0X29rPVRydWUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY20uZXhjZXB0aW9uLmVycm5vLCBlcnJuby5FRVhJU1QpCisKICAgICBAd2l0aF9zeW1saW5rcwogICAgIGRlZiB0ZXN0X3N5bWxpbmtfdG8oc2VsZik6CiAgICAgICAgIFAgPSBzZWxmLmNscyhCQVNFKQpAQCAtMTg0Miw3ICsxOTUyLDYgQEAKICAgICBAd2l0aF9zeW1saW5rcwogICAgIGRlZiB0ZXN0X3Jlc29sdmVfbG9vcChzZWxmKToKICAgICAgICAgIyBMb29wIGRldGVjdGlvbiBmb3IgYnJva2VuIHN5bWxpbmtzIHVuZGVyIFBPU0lYCi0gICAgICAgIFAgPSBzZWxmLmNscwogICAgICAgICAjIExvb3BzIHdpdGggcmVsYXRpdmUgc3ltbGlua3MKICAgICAgICAgb3Muc3ltbGluaygnbGlua1gvaW5zaWRlJywgam9pbignbGlua1gnKSkKICAgICAgICAgc2VsZi5fY2hlY2tfc3ltbGlua19sb29wKEJBU0UsICdsaW5rWCcpCkBAIC0xODc0LDYgKzE5ODMsNDggQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChnaXZlbiwgZXhwZWN0KQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNldChwLnJnbG9iKCJGSUxFZCoiKSksIHNldCgpKQogCisgICAgZGVmIHRlc3RfZXhwYW5kdXNlcihzZWxmKToKKyAgICAgICAgUCA9IHNlbGYuY2xzCisgICAgICAgIHN1cHBvcnQuaW1wb3J0X21vZHVsZSgncHdkJykKKyAgICAgICAgaW1wb3J0IHB3ZAorICAgICAgICBwd2RlbnQgPSBwd2QuZ2V0cHd1aWQob3MuZ2V0dWlkKCkpCisgICAgICAgIHVzZXJuYW1lID0gcHdkZW50LnB3X25hbWUKKyAgICAgICAgdXNlcmhvbWUgPSBwd2RlbnQucHdfZGlyLnJzdHJpcCgnLycpCisgICAgICAgICMgZmluZCBhcmJpdHJhcnkgZGlmZmVyZW50IHVzZXIgKGlmIGV4aXN0cykKKyAgICAgICAgZm9yIHB3ZGVudCBpbiBwd2QuZ2V0cHdhbGwoKToKKyAgICAgICAgICAgIG90aGVybmFtZSA9IHB3ZGVudC5wd19uYW1lCisgICAgICAgICAgICBvdGhlcmhvbWUgPSBwd2RlbnQucHdfZGlyLnJzdHJpcCgnLycpCisgICAgICAgICAgICBpZiBvdGhlcm5hbWUgIT0gdXNlcm5hbWUgYW5kIG90aGVyaG9tZToKKyAgICAgICAgICAgICAgICBicmVhaworCisgICAgICAgIHAxID0gUCgnfi9Eb2N1bWVudHMnKQorICAgICAgICBwMiA9IFAoJ34nICsgdXNlcm5hbWUgKyAnL0RvY3VtZW50cycpCisgICAgICAgIHAzID0gUCgnficgKyBvdGhlcm5hbWUgKyAnL0RvY3VtZW50cycpCisgICAgICAgIHA0ID0gUCgnLi4vficgKyB1c2VybmFtZSArICcvRG9jdW1lbnRzJykKKyAgICAgICAgcDUgPSBQKCcvficgKyB1c2VybmFtZSArICcvRG9jdW1lbnRzJykKKyAgICAgICAgcDYgPSBQKCcnKQorICAgICAgICBwNyA9IFAoJ35mYWtldXNlci9Eb2N1bWVudHMnKQorCisgICAgICAgIHdpdGggc3VwcG9ydC5FbnZpcm9ubWVudFZhckd1YXJkKCkgYXMgZW52OgorICAgICAgICAgICAgZW52LnBvcCgnSE9NRScsIE5vbmUpCisKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocDEuZXhwYW5kdXNlcigpLCBQKHVzZXJob21lKSAvICdEb2N1bWVudHMnKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwMi5leHBhbmR1c2VyKCksIFAodXNlcmhvbWUpIC8gJ0RvY3VtZW50cycpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHAzLmV4cGFuZHVzZXIoKSwgUChvdGhlcmhvbWUpIC8gJ0RvY3VtZW50cycpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHA0LmV4cGFuZHVzZXIoKSwgcDQpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHA1LmV4cGFuZHVzZXIoKSwgcDUpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHA2LmV4cGFuZHVzZXIoKSwgcDYpCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhSdW50aW1lRXJyb3IsIHA3LmV4cGFuZHVzZXIpCisKKyAgICAgICAgICAgIGVudlsnSE9NRSddID0gJy90bXAnCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHAxLmV4cGFuZHVzZXIoKSwgUCgnL3RtcC9Eb2N1bWVudHMnKSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocDIuZXhwYW5kdXNlcigpLCBQKHVzZXJob21lKSAvICdEb2N1bWVudHMnKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwMy5leHBhbmR1c2VyKCksIFAob3RoZXJob21lKSAvICdEb2N1bWVudHMnKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwNC5leHBhbmR1c2VyKCksIHA0KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwNS5leHBhbmR1c2VyKCksIHA1KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwNi5leHBhbmR1c2VyKCksIHA2KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoUnVudGltZUVycm9yLCBwNy5leHBhbmR1c2VyKQorCiAKIEBvbmx5X250CiBjbGFzcyBXaW5kb3dzUGF0aFRlc3QoX0Jhc2VQYXRoVGVzdCwgdW5pdHRlc3QuVGVzdENhc2UpOgpAQCAtMTg4OSw2ICsyMDQwLDYxIEBACiAgICAgICAgIHAgPSBQKEJBU0UsICJkaXJDIikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZXQocC5yZ2xvYigiRklMRWQiKSksIHsgUChCQVNFLCAiZGlyQy9kaXJEL2ZpbGVEIikgfSkKIAorICAgIGRlZiB0ZXN0X2V4cGFuZHVzZXIoc2VsZik6CisgICAgICAgIFAgPSBzZWxmLmNscworICAgICAgICB3aXRoIHN1cHBvcnQuRW52aXJvbm1lbnRWYXJHdWFyZCgpIGFzIGVudjoKKyAgICAgICAgICAgIGVudi5wb3AoJ0hPTUUnLCBOb25lKQorICAgICAgICAgICAgZW52LnBvcCgnVVNFUlBST0ZJTEUnLCBOb25lKQorICAgICAgICAgICAgZW52LnBvcCgnSE9NRVBBVEgnLCBOb25lKQorICAgICAgICAgICAgZW52LnBvcCgnSE9NRURSSVZFJywgTm9uZSkKKyAgICAgICAgICAgIGVudlsnVVNFUk5BTUUnXSA9ICdhbGljZScKKworICAgICAgICAgICAgIyB0ZXN0IHRoYXQgdGhlIHBhdGggcmV0dXJucyB1bmNoYW5nZWQKKyAgICAgICAgICAgIHAxID0gUCgnfi9NeSBEb2N1bWVudHMnKQorICAgICAgICAgICAgcDIgPSBQKCd+YWxpY2UvTXkgRG9jdW1lbnRzJykKKyAgICAgICAgICAgIHAzID0gUCgnfmJvYi9NeSBEb2N1bWVudHMnKQorICAgICAgICAgICAgcDQgPSBQKCcvfi9NeSBEb2N1bWVudHMnKQorICAgICAgICAgICAgcDUgPSBQKCdkOn4vTXkgRG9jdW1lbnRzJykKKyAgICAgICAgICAgIHA2ID0gUCgnJykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFJ1bnRpbWVFcnJvciwgcDEuZXhwYW5kdXNlcikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFJ1bnRpbWVFcnJvciwgcDIuZXhwYW5kdXNlcikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFJ1bnRpbWVFcnJvciwgcDMuZXhwYW5kdXNlcikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocDQuZXhwYW5kdXNlcigpLCBwNCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocDUuZXhwYW5kdXNlcigpLCBwNSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocDYuZXhwYW5kdXNlcigpLCBwNikKKworICAgICAgICAgICAgZGVmIGNoZWNrKCk6CisgICAgICAgICAgICAgICAgZW52LnBvcCgnVVNFUk5BTUUnLCBOb25lKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocDEuZXhwYW5kdXNlcigpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUCgnQzovVXNlcnMvYWxpY2UvTXkgRG9jdW1lbnRzJykpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoS2V5RXJyb3IsIHAyLmV4cGFuZHVzZXIpCisgICAgICAgICAgICAgICAgZW52WydVU0VSTkFNRSddID0gJ2FsaWNlJworICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocDIuZXhwYW5kdXNlcigpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUCgnQzovVXNlcnMvYWxpY2UvTXkgRG9jdW1lbnRzJykpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwMy5leHBhbmR1c2VyKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQKCdDOi9Vc2Vycy9ib2IvTXkgRG9jdW1lbnRzJykpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwNC5leHBhbmR1c2VyKCksIHA0KQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocDUuZXhwYW5kdXNlcigpLCBwNSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHA2LmV4cGFuZHVzZXIoKSwgcDYpCisKKyAgICAgICAgICAgICMgdGVzdCB0aGUgZmlyc3QgbG9va3VwIGtleSBpbiB0aGUgZW52IHZhcnMKKyAgICAgICAgICAgIGVudlsnSE9NRSddID0gJ0M6XFxVc2Vyc1xcYWxpY2UnCisgICAgICAgICAgICBjaGVjaygpCisKKyAgICAgICAgICAgICMgdGVzdCB0aGF0IEhPTUVQQVRIIGlzIGF2YWlsYWJsZSBpbnN0ZWFkCisgICAgICAgICAgICBlbnYucG9wKCdIT01FJywgTm9uZSkKKyAgICAgICAgICAgIGVudlsnSE9NRVBBVEgnXSA9ICdDOlxcVXNlcnNcXGFsaWNlJworICAgICAgICAgICAgY2hlY2soKQorCisgICAgICAgICAgICBlbnZbJ0hPTUVEUklWRSddID0gJ0M6XFwnCisgICAgICAgICAgICBlbnZbJ0hPTUVQQVRIJ10gPSAnVXNlcnNcXGFsaWNlJworICAgICAgICAgICAgY2hlY2soKQorCisgICAgICAgICAgICBlbnYucG9wKCdIT01FRFJJVkUnLCBOb25lKQorICAgICAgICAgICAgZW52LnBvcCgnSE9NRVBBVEgnLCBOb25lKQorICAgICAgICAgICAgZW52WydVU0VSUFJPRklMRSddID0gJ0M6XFxVc2Vyc1xcYWxpY2UnCisgICAgICAgICAgICBjaGVjaygpCisKIAogaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKICAgICB1bml0dGVzdC5tYWluKCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfcGtndXRpbC5weSBiL0xpYi90ZXN0L3Rlc3RfcGtndXRpbC5weQppbmRleCBlMGM4NjM1ZGUuLjU3ZWJmMWYgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfcGtndXRpbC5weQorKysgYi9MaWIvdGVzdC90ZXN0X3BrZ3V0aWwucHkKQEAgLTEwNCw2ICsxMDQsOSBAQAogY2xhc3MgUGtndXRpbFBFUDMwMlRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKIAogICAgIGNsYXNzIE15VGVzdExvYWRlcihvYmplY3QpOgorICAgICAgICBkZWYgY3JlYXRlX21vZHVsZShzZWxmLCBzcGVjKToKKyAgICAgICAgICAgIHJldHVybiBOb25lCisKICAgICAgICAgZGVmIGV4ZWNfbW9kdWxlKHNlbGYsIG1vZCk6CiAgICAgICAgICAgICAjIENvdW50IGhvdyBtYW55IHRpbWVzIHRoZSBtb2R1bGUgaXMgcmVsb2FkZWQKICAgICAgICAgICAgIG1vZC5fX2RpY3RfX1snbG9hZHMnXSA9IG1vZC5fX2RpY3RfXy5nZXQoJ2xvYWRzJywgMCkgKyAxCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3BsYXRmb3JtLnB5IGIvTGliL3Rlc3QvdGVzdF9wbGF0Zm9ybS5weQppbmRleCBiM2RlNDNiLi5lZGVkYmRiIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3BsYXRmb3JtLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfcGxhdGZvcm0ucHkKQEAgLTMwNyw3ICszMDcsNyBAQAogICAgICAgICAgICAgd2l0aCBtb2NrLnBhdGNoKCdwbGF0Zm9ybS5fVU5JWENPTkZESVInLCB0ZW1wZGlyKToKICAgICAgICAgICAgICAgICBkaXN0bmFtZSwgdmVyc2lvbiwgZGlzdGlkID0gcGxhdGZvcm0ubGludXhfZGlzdHJpYnV0aW9uKCkKIAotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkaXN0bmFtZSwgJ0ZlZG9yYScpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkaXN0bmFtZSwgJ0ZlZG9yYScpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHZlcnNpb24sICcxOScpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRpc3RpZCwgJ1NjaHJceGY2ZGluZ2VyXHUyMDE5cyBDYXQnKQogCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3BvcGxpYi5weSBiL0xpYi90ZXN0L3Rlc3RfcG9wbGliLnB5CmluZGV4IDhhM2M5ZjQuLjE0YTUxOWQgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfcG9wbGliLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfcG9wbGliLnB5CkBAIC0zNDUsMjMgKzM0NSwxOCBAQAogCiAKIGlmIFNVUFBPUlRTX1NTTDoKKyAgICBmcm9tIHRlc3QudGVzdF9mdHBsaWIgaW1wb3J0IFNTTENvbm5lY3Rpb24KIAotICAgIGNsYXNzIER1bW15UE9QM19TU0xIYW5kbGVyKER1bW15UE9QM0hhbmRsZXIpOgorICAgIGNsYXNzIER1bW15UE9QM19TU0xIYW5kbGVyKFNTTENvbm5lY3Rpb24sIER1bW15UE9QM0hhbmRsZXIpOgogCiAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBjb25uKToKICAgICAgICAgICAgIGFzeW5jaGF0LmFzeW5jX2NoYXQuX19pbml0X18oc2VsZiwgY29ubikKLSAgICAgICAgICAgIHNzbF9zb2NrZXQgPSBzc2wud3JhcF9zb2NrZXQoc2VsZi5zb2NrZXQsIGNlcnRmaWxlPUNFUlRGSUxFLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyX3NpZGU9VHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvX2hhbmRzaGFrZV9vbl9jb25uZWN0PUZhbHNlKQotICAgICAgICAgICAgc2VsZi5kZWxfY2hhbm5lbCgpCi0gICAgICAgICAgICBzZWxmLnNldF9zb2NrZXQoc3NsX3NvY2tldCkKLSAgICAgICAgICAgICMgTXVzdCB0cnkgaGFuZHNoYWtlIGJlZm9yZSBjYWxsaW5nIHB1c2goKQotICAgICAgICAgICAgc2VsZi50bHNfYWN0aXZlID0gVHJ1ZQotICAgICAgICAgICAgc2VsZi50bHNfc3RhcnRpbmcgPSBUcnVlCi0gICAgICAgICAgICBzZWxmLl9kb190bHNfaGFuZHNoYWtlKCkKKyAgICAgICAgICAgIHNlbGYuc2VjdXJlX2Nvbm5lY3Rpb24oKQogICAgICAgICAgICAgc2VsZi5zZXRfdGVybWluYXRvcihiIlxyXG4iKQogICAgICAgICAgICAgc2VsZi5pbl9idWZmZXIgPSBbXQogICAgICAgICAgICAgc2VsZi5wdXNoKCcrT0sgZHVtbXkgcG9wMyBzZXJ2ZXIgcmVhZHkuIDx0aW1lc3RhbXA+JykKKyAgICAgICAgICAgIHNlbGYudGxzX2FjdGl2ZSA9IFRydWUKKyAgICAgICAgICAgIHNlbGYudGxzX3N0YXJ0aW5nID0gRmFsc2UKIAogCiBAcmVxdWlyZXNfc3NsCkBAIC00NTIsNyArNDQ3LDcgQEAKICAgICAgICAgZGVsIHNlbGYudGhyZWFkICAjIENsZWFyIG91dCBhbnkgZGFuZ2xpbmcgVGhyZWFkIG9iamVjdHMuCiAKICAgICBkZWYgc2VydmVyKHNlbGYsIGV2dCwgc2Vydik6Ci0gICAgICAgIHNlcnYubGlzdGVuKDUpCisgICAgICAgIHNlcnYubGlzdGVuKCkKICAgICAgICAgZXZ0LnNldCgpCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGNvbm4sIGFkZHIgPSBzZXJ2LmFjY2VwdCgpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3Bvc2l4LnB5IGIvTGliL3Rlc3QvdGVzdF9wb3NpeC5weQppbmRleCA3MmZkZDE2Li5mMzdmMmRlIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3Bvc2l4LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfcG9zaXgucHkKQEAgLTksNyArOSw2IEBACiBpbXBvcnQgc3lzCiBpbXBvcnQgdGltZQogaW1wb3J0IG9zCi1pbXBvcnQgZmNudGwKIGltcG9ydCBwbGF0Zm9ybQogaW1wb3J0IHB3ZAogaW1wb3J0IHNodXRpbApAQCAtMzU1LDcgKzM1NCw3IEBACiAgICAgZGVmIHRlc3Rfb3NjbG9leGVjKHNlbGYpOgogICAgICAgICBmZCA9IG9zLm9wZW4oc3VwcG9ydC5URVNURk4sIG9zLk9fUkRPTkxZfG9zLk9fQ0xPRVhFQykKICAgICAgICAgc2VsZi5hZGRDbGVhbnVwKG9zLmNsb3NlLCBmZCkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGZjbnRsLmZjbnRsKGZkLCBmY250bC5GX0dFVEZEKSAmIGZjbnRsLkZEX0NMT0VYRUMpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uob3MuZ2V0X2luaGVyaXRhYmxlKGZkKSkKIAogICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKGhhc2F0dHIocG9zaXgsICdPX0VYTE9DSycpLAogICAgICAgICAgICAgICAgICAgICAgICAgICd0ZXN0IG5lZWRzIHBvc2l4Lk9fRVhMT0NLJykKQEAgLTYwNSw4ICs2MDQsOCBAQAogICAgICAgICBzZWxmLmFkZENsZWFudXAob3MuY2xvc2UsIHcpCiAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uob3MuZ2V0X2luaGVyaXRhYmxlKHIpKQogICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG9zLmdldF9pbmhlcml0YWJsZSh3KSkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGZjbnRsLmZjbnRsKHIsIGZjbnRsLkZfR0VURkwpICYgb3MuT19OT05CTE9DSykKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGZjbnRsLmZjbnRsKHcsIGZjbnRsLkZfR0VURkwpICYgb3MuT19OT05CTE9DSykKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShvcy5nZXRfYmxvY2tpbmcocikpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uob3MuZ2V0X2Jsb2NraW5nKHcpKQogICAgICAgICAjIHRyeSByZWFkaW5nIGZyb20gYW4gZW1wdHkgcGlwZTogdGhpcyBzaG91bGQgZmFpbCwgbm90IGJsb2NrCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsIG9zLnJlYWQsIHIsIDEpCiAgICAgICAgICMgdHJ5IGEgd3JpdGUgYmlnIGVub3VnaCB0byBmaWxsLXVwIHRoZSBwaXBlOiB0aGlzIHNob3VsZCBlaXRoZXIKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfcG9zaXhwYXRoLnB5IGIvTGliL3Rlc3QvdGVzdF9wb3NpeHBhdGgucHkKaW5kZXggZWMyZmJhZS4uYjI0NTQ3OTQgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfcG9zaXhwYXRoLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfcG9zaXhwYXRoLnB5CkBAIC01NywxOCArNTcsNiBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBvc2l4cGF0aC5qb2luKGIiL2Zvby8iLCBiImJhci8iLCBiImJhei8iKSwKICAgICAgICAgICAgICAgICAgICAgICAgICBiIi9mb28vYmFyL2Jhei8iKQogCi0gICAgZGVmIHRlc3Rfam9pbl9lcnJvcnMoc2VsZik6Ci0gICAgICAgICMgQ2hlY2sgcG9zaXhwYXRoLmpvaW4gcmFpc2VzIGZyaWVuZGx5IFR5cGVFcnJvcnMuCi0gICAgICAgIGVycm1zZyA9ICJDYW4ndCBtaXggc3RyaW5ncyBhbmQgYnl0ZXMgaW4gcGF0aCBjb21wb25lbnRzIgotICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVHlwZUVycm9yLCBlcnJtc2cpOgotICAgICAgICAgICAgcG9zaXhwYXRoLmpvaW4oYidieXRlcycsICdzdHInKQotICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVHlwZUVycm9yLCBlcnJtc2cpOgotICAgICAgICAgICAgcG9zaXhwYXRoLmpvaW4oJ3N0cicsIGInYnl0ZXMnKQotICAgICAgICAjIHJlZ3Jlc3Npb24sIHNlZSAjMTUzNzcKLSAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpIGFzIGNtOgotICAgICAgICAgICAgcG9zaXhwYXRoLmpvaW4oTm9uZSwgJ3N0cicpCi0gICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoY20uZXhjZXB0aW9uLmFyZ3NbMF0sIGVycm1zZykKLQogICAgIGRlZiB0ZXN0X3NwbGl0KHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBvc2l4cGF0aC5zcGxpdCgiL2Zvby9iYXIiKSwgKCIvZm9vIiwgImJhciIpKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBvc2l4cGF0aC5zcGxpdCgiLyIpLCAoIi8iLCAiIikpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3B0eS5weSBiL0xpYi90ZXN0L3Rlc3RfcHR5LnB5CmluZGV4IDg5MTY4NjEuLjliNzgzYzMgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfcHR5LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfcHR5LnB5CkBAIC0xLDcgKzEsNiBAQAogZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IHZlcmJvc2UsIHJ1bl91bml0dGVzdCwgaW1wb3J0X21vZHVsZSwgcmVhcF9jaGlsZHJlbgogCi0jU2tpcCB0aGVzZSB0ZXN0cyBpZiBlaXRoZXIgZmNudGwgb3IgdGVybWlvcyBpcyBub3QgYXZhaWxhYmxlCi1mY250bCA9IGltcG9ydF9tb2R1bGUoJ2ZjbnRsJykKKyMgU2tpcCB0aGVzZSB0ZXN0cyBpZiB0ZXJtaW9zIGlzIG5vdCBhdmFpbGFibGUKIGltcG9ydF9tb2R1bGUoJ3Rlcm1pb3MnKQogCiBpbXBvcnQgZXJybm8KQEAgLTg0LDE2ICs4MywxOCBAQAogICAgICAgICAjIGluIG1hc3Rlcl9vcGVuKCksIHdlIG5lZWQgdG8gcmVhZCB0aGUgRU9GLgogCiAgICAgICAgICMgRW5zdXJlIHRoZSBmZCBpcyBub24tYmxvY2tpbmcgaW4gY2FzZSB0aGVyZSdzIG5vdGhpbmcgdG8gcmVhZC4KLSAgICAgICAgb3JpZ19mbGFncyA9IGZjbnRsLmZjbnRsKG1hc3Rlcl9mZCwgZmNudGwuRl9HRVRGTCkKLSAgICAgICAgZmNudGwuZmNudGwobWFzdGVyX2ZkLCBmY250bC5GX1NFVEZMLCBvcmlnX2ZsYWdzIHwgb3MuT19OT05CTE9DSykKKyAgICAgICAgYmxvY2tpbmcgPSBvcy5nZXRfYmxvY2tpbmcobWFzdGVyX2ZkKQogICAgICAgICB0cnk6Ci0gICAgICAgICAgICBzMSA9IG9zLnJlYWQobWFzdGVyX2ZkLCAxMDI0KQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiJycsIHMxKQotICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgotICAgICAgICAgICAgaWYgZS5lcnJubyAhPSBlcnJuby5FQUdBSU46Ci0gICAgICAgICAgICAgICAgcmFpc2UKLSAgICAgICAgIyBSZXN0b3JlIHRoZSBvcmlnaW5hbCBmbGFncy4KLSAgICAgICAgZmNudGwuZmNudGwobWFzdGVyX2ZkLCBmY250bC5GX1NFVEZMLCBvcmlnX2ZsYWdzKQorICAgICAgICAgICAgb3Muc2V0X2Jsb2NraW5nKG1hc3Rlcl9mZCwgRmFsc2UpCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgczEgPSBvcy5yZWFkKG1hc3Rlcl9mZCwgMTAyNCkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGInJywgczEpCisgICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgorICAgICAgICAgICAgICAgIGlmIGUuZXJybm8gIT0gZXJybm8uRUFHQUlOOgorICAgICAgICAgICAgICAgICAgICByYWlzZQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgIyBSZXN0b3JlIHRoZSBvcmlnaW5hbCBmbGFncy4KKyAgICAgICAgICAgIG9zLnNldF9ibG9ja2luZyhtYXN0ZXJfZmQsIGJsb2NraW5nKQogCiAgICAgICAgIGRlYnVnKCJXcml0aW5nIHRvIHNsYXZlX2ZkIikKICAgICAgICAgb3Mud3JpdGUoc2xhdmVfZmQsIFRFU1RfU1RSSU5HXzEpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3B5ZG9jLnB5IGIvTGliL3Rlc3QvdGVzdF9weWRvYy5weQppbmRleCA4YmY5YjIwLi42NzQyNDQ0IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3B5ZG9jLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfcHlkb2MucHkKQEAgLTIsNyArMiw2IEBACiBpbXBvcnQgc3lzCiBpbXBvcnQgYnVpbHRpbnMKIGltcG9ydCBjb250ZXh0bGliCi1pbXBvcnQgZGlmZmxpYgogaW1wb3J0IGluc3BlY3QKIGltcG9ydCBweWRvYwogaW1wb3J0IGtleXdvcmQKQEAgLTM1NywxNSArMzU2LDYgQEAKICAgICBvdXRwdXQgPSBwYXR0LnN1YignJywgb3V0cHV0KQogICAgIHJldHVybiBvdXRwdXQuc3RyaXAoKSwgbG9jCiAKLWRlZiBwcmludF9kaWZmcyh0ZXh0MSwgdGV4dDIpOgotICAgICJQcmludHMgdW5pZmllZCBkaWZmcyBmb3IgdHdvIHRleHRzIgotICAgICMgWFhYIG5vdyBvYnNvbGV0ZSwgdXNlIHVuaXR0ZXN0IGJ1aWx0LWluIHN1cHBvcnQKLSAgICBsaW5lczEgPSB0ZXh0MS5zcGxpdGxpbmVzKGtlZXBlbmRzPVRydWUpCi0gICAgbGluZXMyID0gdGV4dDIuc3BsaXRsaW5lcyhrZWVwZW5kcz1UcnVlKQotICAgIGRpZmZzID0gZGlmZmxpYi51bmlmaWVkX2RpZmYobGluZXMxLCBsaW5lczIsIG49MCwgZnJvbWZpbGU9J2V4cGVjdGVkJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZmlsZT0nZ290JykKLSAgICBwcmludCgnXG4nICsgJycuam9pbihkaWZmcykpCi0KIGRlZiBnZXRfaHRtbF90aXRsZSh0ZXh0KToKICAgICAjIEJpdCBvZiBoYWNrLCBidXQgZ29vZCBlbm91Z2ggZm9yIHRlc3QgcHVycG9zZXMKICAgICBoZWFkZXIsIF8sIF8gPSB0ZXh0LnBhcnRpdGlvbigiPC9oZWFkPiIpCkBAIC00MTEsOSArNDAxLDcgQEAKICAgICAgICAgZXhwZWN0ZWRfaHRtbCA9IGV4cGVjdGVkX2h0bWxfcGF0dGVybiAlICgKICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RfdXJsLCBtb2RfZmlsZSwgZG9jX2xvYykgKwogICAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWRfaHRtbF9kYXRhX2RvY3N0cmluZ3MpCi0gICAgICAgIGlmIHJlc3VsdCAhPSBleHBlY3RlZF9odG1sOgotICAgICAgICAgICAgcHJpbnRfZGlmZnMoZXhwZWN0ZWRfaHRtbCwgcmVzdWx0KQotICAgICAgICAgICAgc2VsZi5mYWlsKCJvdXRwdXRzIGFyZSBub3QgZXF1YWwsIHNlZSBkaWZmIGFib3ZlIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXN1bHQsIGV4cGVjdGVkX2h0bWwpCiAKICAgICBAdW5pdHRlc3Quc2tpcElmKHN5cy5mbGFncy5vcHRpbWl6ZSA+PSAyLAogICAgICAgICAgICAgICAgICAgICAgIkRvY3N0cmluZ3MgYXJlIG9taXR0ZWQgd2l0aCAtTzIgYW5kIGFib3ZlIikKQEAgLTQyNiw5ICs0MTQsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgKGRvY19sb2MsKSArCiAgICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZF90ZXh0X2RhdGFfZG9jc3RyaW5ncyArCiAgICAgICAgICAgICAgICAgICAgICAgICAoaW5zcGVjdC5nZXRhYnNmaWxlKHB5ZG9jX21vZCksKSkKLSAgICAgICAgaWYgcmVzdWx0ICE9IGV4cGVjdGVkX3RleHQ6Ci0gICAgICAgICAgICBwcmludF9kaWZmcyhleHBlY3RlZF90ZXh0LCByZXN1bHQpCi0gICAgICAgICAgICBzZWxmLmZhaWwoIm91dHB1dHMgYXJlIG5vdCBlcXVhbCwgc2VlIGRpZmYgYWJvdmUiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4cGVjdGVkX3RleHQsIHJlc3VsdCkKIAogICAgIGRlZiB0ZXN0X3RleHRfZW51bV9tZW1iZXJfd2l0aF92YWx1ZV96ZXJvKHNlbGYpOgogICAgICAgICAjIFRlc3QgaXNzdWUgIzIwNjU0IHRvIGVuc3VyZSBlbnVtIG1lbWJlciB3aXRoIHZhbHVlIDAgY2FuIGJlCkBAIC04ODYsOSArODcyLDcgQEAKICAgICAgICAgZXhwZWN0ZWRfdGV4dCA9IGV4cGVjdGVkX2R5bmFtaWNhdHRyaWJ1dGVfcGF0dGVybiAlICgKICAgICAgICAgICAgICAgICAoX19uYW1lX18sKSArIGV4cGVjdGVkX3RleHRfZGF0YV9kb2NzdHJpbmdzWzoyXSkKICAgICAgICAgcmVzdWx0ID0gb3V0cHV0LmdldHZhbHVlKCkuc3RyaXAoKQotICAgICAgICBpZiByZXN1bHQgIT0gZXhwZWN0ZWRfdGV4dDoKLSAgICAgICAgICAgIHByaW50X2RpZmZzKGV4cGVjdGVkX3RleHQsIHJlc3VsdCkKLSAgICAgICAgICAgIHNlbGYuZmFpbCgib3V0cHV0cyBhcmUgbm90IGVxdWFsLCBzZWUgZGlmZiBhYm92ZSIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0ZWRfdGV4dCwgcmVzdWx0KQogCiAgICAgQHVuaXR0ZXN0LnNraXBJZihzeXMuZmxhZ3Mub3B0aW1pemUgPj0gMiwKICAgICAgICAgICAgICAgICAgICAgICJEb2NzdHJpbmdzIGFyZSBvbWl0dGVkIHdpdGggLU8yIGFuZCBhYm92ZSIpCkBAIC05MDksOSArODkzLDcgQEAKICAgICAgICAgaGVscGVyKENsYXNzKQogICAgICAgICBleHBlY3RlZF90ZXh0ID0gZXhwZWN0ZWRfdmlydHVhbGF0dHJpYnV0ZV9wYXR0ZXJuMSAlIF9fbmFtZV9fCiAgICAgICAgIHJlc3VsdCA9IG91dHB1dC5nZXR2YWx1ZSgpLnN0cmlwKCkKLSAgICAgICAgaWYgcmVzdWx0ICE9IGV4cGVjdGVkX3RleHQ6Ci0gICAgICAgICAgICBwcmludF9kaWZmcyhleHBlY3RlZF90ZXh0LCByZXN1bHQpCi0gICAgICAgICAgICBzZWxmLmZhaWwoIm91dHB1dHMgYXJlIG5vdCBlcXVhbCwgc2VlIGRpZmYgYWJvdmUiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4cGVjdGVkX3RleHQsIHJlc3VsdCkKIAogICAgIEB1bml0dGVzdC5za2lwSWYoc3lzLmZsYWdzLm9wdGltaXplID49IDIsCiAgICAgICAgICAgICAgICAgICAgICAiRG9jc3RyaW5ncyBhcmUgb21pdHRlZCB3aXRoIC1PMiBhbmQgYWJvdmUiKQpAQCAtOTUxLDE5ICs5MzMsMTMgQEAKICAgICAgICAgaGVscGVyKENsYXNzMSkKICAgICAgICAgZXhwZWN0ZWRfdGV4dDEgPSBleHBlY3RlZF92aXJ0dWFsYXR0cmlidXRlX3BhdHRlcm4yICUgX19uYW1lX18KICAgICAgICAgcmVzdWx0MSA9IG91dHB1dC5nZXR2YWx1ZSgpLnN0cmlwKCkKLSAgICAgICAgaWYgcmVzdWx0MSAhPSBleHBlY3RlZF90ZXh0MToKLSAgICAgICAgICAgIHByaW50X2RpZmZzKGV4cGVjdGVkX3RleHQxLCByZXN1bHQxKQotICAgICAgICAgICAgZmFpbDEgPSBUcnVlCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0ZWRfdGV4dDEsIHJlc3VsdDEpCiAgICAgICAgIG91dHB1dCA9IFN0cmluZ0lPKCkKICAgICAgICAgaGVscGVyID0gcHlkb2MuSGVscGVyKG91dHB1dD1vdXRwdXQpCiAgICAgICAgIGhlbHBlcihDbGFzczIpCiAgICAgICAgIGV4cGVjdGVkX3RleHQyID0gZXhwZWN0ZWRfdmlydHVhbGF0dHJpYnV0ZV9wYXR0ZXJuMyAlIF9fbmFtZV9fCiAgICAgICAgIHJlc3VsdDIgPSBvdXRwdXQuZ2V0dmFsdWUoKS5zdHJpcCgpCi0gICAgICAgIGlmIHJlc3VsdDIgIT0gZXhwZWN0ZWRfdGV4dDI6Ci0gICAgICAgICAgICBwcmludF9kaWZmcyhleHBlY3RlZF90ZXh0MiwgcmVzdWx0MikKLSAgICAgICAgICAgIGZhaWwyID0gVHJ1ZQotICAgICAgICBpZiBmYWlsMSBvciBmYWlsMjoKLSAgICAgICAgICAgIHNlbGYuZmFpbCgib3V0cHV0cyBhcmUgbm90IGVxdWFsLCBzZWUgZGlmZiBhYm92ZSIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0ZWRfdGV4dDIsIHJlc3VsdDIpCiAKICAgICBAdW5pdHRlc3Quc2tpcElmKHN5cy5mbGFncy5vcHRpbWl6ZSA+PSAyLAogICAgICAgICAgICAgICAgICAgICAgIkRvY3N0cmluZ3MgYXJlIG9taXR0ZWQgd2l0aCAtTzIgYW5kIGFib3ZlIikKQEAgLTk4MCw5ICs5NTYsNyBAQAogICAgICAgICBoZWxwZXIoQykKICAgICAgICAgZXhwZWN0ZWRfdGV4dCA9IGV4cGVjdGVkX21pc3NpbmdhdHRyaWJ1dGVfcGF0dGVybiAlIF9fbmFtZV9fCiAgICAgICAgIHJlc3VsdCA9IG91dHB1dC5nZXR2YWx1ZSgpLnN0cmlwKCkKLSAgICAgICAgaWYgcmVzdWx0ICE9IGV4cGVjdGVkX3RleHQ6Ci0gICAgICAgICAgICBwcmludF9kaWZmcyhleHBlY3RlZF90ZXh0LCByZXN1bHQpCi0gICAgICAgICAgICBzZWxmLmZhaWwoIm91dHB1dHMgYXJlIG5vdCBlcXVhbCwgc2VlIGRpZmYgYWJvdmUiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4cGVjdGVkX3RleHQsIHJlc3VsdCkKIAogCiBAcmVhcF90aHJlYWRzCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3JlLnB5IGIvTGliL3Rlc3QvdGVzdF9yZS5weQppbmRleCBkMjU0N2Q0Li4yZmI0NzY0IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3JlLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfcmUucHkKQEAgLTg0LDcgKzg0LDcgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zdWIoIig/aSliKyIsICJ4IiwgImJiYmIgQkJCQiIpLCAneCB4JykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zdWIocidcZCsnLCBzZWxmLmJ1bXBfbnVtLCAnMDguMiAtMiAyM3g5OXknKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAnOS4zIC0zIDI0eDEwMHknKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnN1YihyJ1xkKycsIHNlbGYuYnVtcF9udW0sICcwOC4yIC0yIDIzeDk5eScsIDMpLAorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnN1YihyJ1xkKycsIHNlbGYuYnVtcF9udW0sICcwOC4yIC0yIDIzeDk5eScsIGNvdW50PTMpLAogICAgICAgICAgICAgICAgICAgICAgICAgICc5LjMgLTMgMjN4OTl5JykKIAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnN1YignLicsIGxhbWJkYSBtOiByIlxuIiwgJ3gnKSwgJ1xcbicpCkBAIC0xNTUsOCArMTU1LDggQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zdWIoJ3gnLCByJ1wwOScsICd4JyksICdcMCcgKyAnOScpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc3ViKCd4JywgcidcMGEnLCAneCcpLCAnXDAnICsgJ2EnKQogCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc3ViKCd4JywgcidcNDAwJywgJ3gnKSwgJ1wwJykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zdWIoJ3gnLCByJ1w3NzcnLCAneCcpLCAnXDM3NycpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHJlLmVycm9yLCByZS5zdWIsICd4JywgcidcNDAwJywgJ3gnKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvciwgcmUuc3ViLCAneCcsIHInXDc3NycsICd4JykKIAogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvciwgcmUuc3ViLCAneCcsIHInXDEnLCAneCcpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHJlLmVycm9yLCByZS5zdWIsICd4JywgcidcOCcsICd4JykKQEAgLTE4MCw3ICsxODAsNyBAQAogCiAgICAgZGVmIHRlc3RfcXVhbGlmaWVkX3JlX3N1YihzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zdWIoJ2EnLCAnYicsICdhYWFhYScpLCAnYmJiYmInKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnN1YignYScsICdiJywgJ2FhYWFhJywgMSksICdiYWFhYScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc3ViKCdhJywgJ2InLCAnYWFhYWEnLCBjb3VudD0xKSwgJ2JhYWFhJykKIAogICAgIGRlZiB0ZXN0X2J1Z18xMTQ2NjAoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc3ViKHInKFxTKVxzKyhcUyknLCByJ1wxIFwyJywgJ2hlbGxvICB0aGVyZScpLApAQCAtMTk0LDYgKzE5NCw3IEBACiAgICAgZGVmIHRlc3Rfc3ltYm9saWNfZ3JvdXBzKHNlbGYpOgogICAgICAgICByZS5jb21waWxlKCcoP1A8YT54KSg/UD1hKSg/KGEpeSknKQogICAgICAgICByZS5jb21waWxlKCcoP1A8YTE+eCkoP1A9YTEpKD8oYTEpeSknKQorICAgICAgICByZS5jb21waWxlKCcoP1A8YTE+eClcMSg/KDEpeSknKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvciwgcmUuY29tcGlsZSwgJyg/UDxhPikoP1A8YT4pJykKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMocmUuZXJyb3IsIHJlLmNvbXBpbGUsICcoP1B4KScpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHJlLmVycm9yLCByZS5jb21waWxlLCAnKD9QPSknKQpAQCAtMjEzLDYgKzIxNCwxMCBAQAogICAgICAgICByZS5jb21waWxlKCcoP1A8wrU+eCkoP1A9wrUpKD8owrUpeSknKQogICAgICAgICByZS5jb21waWxlKCcoP1A88J2UmPCdlKvwnZSm8J2UoPCdlKzwnZSh8J2Uoj54KSg/UD3wnZSY8J2Uq/CdlKbwnZSg8J2UrPCdlKHwnZSiKSg/KPCdlJjwnZSr8J2UpvCdlKDwnZSs8J2UofCdlKIpeSknKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvciwgcmUuY29tcGlsZSwgJyg/UDzCqT54KScpCisgICAgICAgICMgU3VwcG9ydCA+IDEwMCBncm91cHMuCisgICAgICAgIHBhdCA9ICd8Jy5qb2luKCd4KD9QPGElZD4leCl5JyAlIChpLCBpKSBmb3IgaSBpbiByYW5nZSgxLCAyMDAgKyAxKSkKKyAgICAgICAgcGF0ID0gJyg/OiVzKSg/KDIwMCl6fHQpJyAlIHBhdAorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLm1hdGNoKHBhdCwgJ3hjOHl6Jykuc3BhbigpLCAoMCwgNSkpCiAKICAgICBkZWYgdGVzdF9zeW1ib2xpY19yZWZzKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvciwgcmUuc3ViLCAnKD9QPGE+eCknLCAnXGc8YScsICd4eCcpCkBAIC0yMjEsNDggKzIyNiw1MyBAQAogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvciwgcmUuc3ViLCAnKD9QPGE+eCknLCAnXGc8YSBhPicsICd4eCcpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHJlLmVycm9yLCByZS5zdWIsICcoP1A8YT54KScsICdcZzw+JywgJ3h4JykKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMocmUuZXJyb3IsIHJlLnN1YiwgJyg/UDxhPngpJywgJ1xnPDFhMT4nLCAneHgnKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvciwgcmUuc3ViLCAnKD9QPGE+eCknLCByJ1xnPDI+JywgJ3h4JykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMocmUuZXJyb3IsIHJlLnN1YiwgJyg/UDxhPngpJywgcidcMicsICd4eCcpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEluZGV4RXJyb3IsIHJlLnN1YiwgJyg/UDxhPngpJywgJ1xnPGFiPicsICd4eCcpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHJlLmVycm9yLCByZS5zdWIsICcoP1A8YT54KXwoP1A8Yj55KScsICdcZzxiPicsICd4eCcpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHJlLmVycm9yLCByZS5zdWIsICcoP1A8YT54KXwoP1A8Yj55KScsICdcXDInLCAneHgnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnN1YignKD9QPGE+eCl8KD9QPGI+eSknLCByJ1xnPGI+JywgJ3h4JyksICcnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnN1YignKD9QPGE+eCl8KD9QPGI+eSknLCByJ1wyJywgJ3h4JyksICcnKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvciwgcmUuc3ViLCAnKD9QPGE+eCknLCAnXGc8LTE+JywgJ3h4JykKICAgICAgICAgIyBOZXcgdmFsaWQvaW52YWxpZCBpZGVudGlmaWVycyBpbiBQeXRob24gMwogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnN1YignKD9QPMK1PngpJywgcidcZzzCtT4nLCAneHgnKSwgJ3h4JykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zdWIoJyg/UDzwnZSY8J2Uq/CdlKbwnZSg8J2UrPCdlKHwnZSiPngpJywgcidcZzzwnZSY8J2Uq/CdlKbwnZSg8J2UrPCdlKHwnZSiPicsICd4eCcpLCAneHgnKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvciwgcmUuc3ViLCAnKD9QPGE+eCknLCByJ1xnPMKpPicsICd4eCcpCisgICAgICAgICMgU3VwcG9ydCA+IDEwMCBncm91cHMuCisgICAgICAgIHBhdCA9ICd8Jy5qb2luKCd4KD9QPGElZD4leCl5JyAlIChpLCBpKSBmb3IgaSBpbiByYW5nZSgxLCAyMDAgKyAxKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zdWIocGF0LCAnXGc8MjAwPicsICd4Yzh5enhjOHknKSwgJ2M4emM4JykKIAogICAgIGRlZiB0ZXN0X3JlX3N1Ym4oc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc3VibigiKD9pKWIrIiwgIngiLCAiYmJiYiBCQkJCIiksICgneCB4JywgMikpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc3VibigiYisiLCAieCIsICJiYmJiIEJCQkIiKSwgKCd4IEJCQkInLCAxKSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zdWJuKCJiKyIsICJ4IiwgInh5eiIpLCAoJ3h5eicsIDApKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnN1Ym4oImIqIiwgIngiLCAieHl6IiksICgneHh4eXh6eCcsIDQpKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnN1Ym4oImIqIiwgIngiLCAieHl6IiwgMiksICgneHh4eXonLCAyKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zdWJuKCJiKiIsICJ4IiwgInh5eiIsIGNvdW50PTIpLCAoJ3h4eHl6JywgMikpCiAKICAgICBkZWYgdGVzdF9yZV9zcGxpdChzZWxmKToKICAgICAgICAgZm9yIHN0cmluZyBpbiAiOmE6Yjo6YyIsIFMoIjphOmI6OmMiKToKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHlwZWRFcXVhbChyZS5zcGxpdCgiOiIsIHN0cmluZyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWycnLCAnYScsICdiJywgJycsICdjJ10pCi0gICAgICAgICAgICBzZWxmLmFzc2VydFR5cGVkRXF1YWwocmUuc3BsaXQoIjoqIiwgc3RyaW5nKSwKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHlwZWRFcXVhbChyZS5zcGxpdCgiOisiLCBzdHJpbmcpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsnJywgJ2EnLCAnYicsICdjJ10pCi0gICAgICAgICAgICBzZWxmLmFzc2VydFR5cGVkRXF1YWwocmUuc3BsaXQoIig6KikiLCBzdHJpbmcpLAorICAgICAgICAgICAgc2VsZi5hc3NlcnRUeXBlZEVxdWFsKHJlLnNwbGl0KCIoOispIiwgc3RyaW5nKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJycsICc6JywgJ2EnLCAnOicsICdiJywgJzo6JywgJ2MnXSkKICAgICAgICAgZm9yIHN0cmluZyBpbiAoYiI6YTpiOjpjIiwgQihiIjphOmI6OmMiKSwgYnl0ZWFycmF5KGIiOmE6Yjo6YyIpLAogICAgICAgICAgICAgICAgICAgICAgICBtZW1vcnl2aWV3KGIiOmE6Yjo6YyIpKToKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHlwZWRFcXVhbChyZS5zcGxpdChiIjoiLCBzdHJpbmcpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtiJycsIGInYScsIGInYicsIGInJywgYidjJ10pCi0gICAgICAgICAgICBzZWxmLmFzc2VydFR5cGVkRXF1YWwocmUuc3BsaXQoYiI6KiIsIHN0cmluZyksCisgICAgICAgICAgICBzZWxmLmFzc2VydFR5cGVkRXF1YWwocmUuc3BsaXQoYiI6KyIsIHN0cmluZyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2InJywgYidhJywgYidiJywgYidjJ10pCi0gICAgICAgICAgICBzZWxmLmFzc2VydFR5cGVkRXF1YWwocmUuc3BsaXQoYiIoOiopIiwgc3RyaW5nKSwKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHlwZWRFcXVhbChyZS5zcGxpdChiIig6KykiLCBzdHJpbmcpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtiJycsIGInOicsIGInYScsIGInOicsIGInYicsIGInOjonLCBiJ2MnXSkKICAgICAgICAgZm9yIGEsIGIsIGMgaW4gKCJceGUwXHhkZlx4ZTciLCAiXHUwNDMwXHUwNDMxXHUwNDMyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICJcVTAwMDFkNDljXFUwMDAxZDQ5ZVxVMDAwMWQ0YjUiKToKICAgICAgICAgICAgIHN0cmluZyA9ICI6JXM6JXM6OiVzIiAlIChhLCBiLCBjKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zcGxpdCgiOiIsIHN0cmluZyksIFsnJywgYSwgYiwgJycsIGNdKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zcGxpdCgiOioiLCBzdHJpbmcpLCBbJycsIGEsIGIsIGNdKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zcGxpdCgiKDoqKSIsIHN0cmluZyksCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnNwbGl0KCI6KyIsIHN0cmluZyksIFsnJywgYSwgYiwgY10pCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnNwbGl0KCIoOispIiwgc3RyaW5nKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWycnLCAnOicsIGEsICc6JywgYiwgJzo6JywgY10pCiAKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zcGxpdCgiKD86OiopIiwgIjphOmI6OmMiKSwgWycnLCAnYScsICdiJywgJ2MnXSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zcGxpdCgiKDopKiIsICI6YTpiOjpjIiksCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc3BsaXQoIig/OjorKSIsICI6YTpiOjpjIiksIFsnJywgJ2EnLCAnYicsICdjJ10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc3BsaXQoIig6KSsiLCAiOmE6Yjo6YyIpLAogICAgICAgICAgICAgICAgICAgICAgICAgIFsnJywgJzonLCAnYScsICc6JywgJ2InLCAnOicsICdjJ10pCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc3BsaXQoIihbYjpdKykiLCAiOmE6Yjo6YyIpLAogICAgICAgICAgICAgICAgICAgICAgICAgIFsnJywgJzonLCAnYScsICc6Yjo6JywgJ2MnXSkKQEAgLTI3MiwxMyArMjgyLDM0IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc3BsaXQoIig/OmIpfCg/OjorKSIsICI6YTpiOjpjIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgWycnLCAnYScsICcnLCAnJywgJ2MnXSkKIAorICAgICAgICBmb3Igc2VwLCBleHBlY3RlZCBpbiBbCisgICAgICAgICAgICAoJzoqJywgWycnLCAnYScsICdiJywgJ2MnXSksCisgICAgICAgICAgICAoJyg/OjoqKScsIFsnJywgJ2EnLCAnYicsICdjJ10pLAorICAgICAgICAgICAgKCcoOiopJywgWycnLCAnOicsICdhJywgJzonLCAnYicsICc6OicsICdjJ10pLAorICAgICAgICAgICAgKCcoOikqJywgWycnLCAnOicsICdhJywgJzonLCAnYicsICc6JywgJ2MnXSksCisgICAgICAgIF06CisgICAgICAgICAgICB3aXRoIHNlbGYuc3ViVGVzdChzZXA9c2VwKSwgc2VsZi5hc3NlcnRXYXJucyhGdXR1cmVXYXJuaW5nKToKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFR5cGVkRXF1YWwocmUuc3BsaXQoc2VwLCAnOmE6Yjo6YycpLCBleHBlY3RlZCkKKworICAgICAgICBmb3Igc2VwLCBleHBlY3RlZCBpbiBbCisgICAgICAgICAgICAoJycsIFsnOmE6Yjo6YyddKSwKKyAgICAgICAgICAgIChyJ1xiJywgWyc6YTpiOjpjJ10pLAorICAgICAgICAgICAgKHInKD89OiknLCBbJzphOmI6OmMnXSksCisgICAgICAgICAgICAocicoPzw9OiknLCBbJzphOmI6OmMnXSksCisgICAgICAgIF06CisgICAgICAgICAgICB3aXRoIHNlbGYuc3ViVGVzdChzZXA9c2VwKSwgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcik6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRUeXBlZEVxdWFsKHJlLnNwbGl0KHNlcCwgJzphOmI6OmMnKSwgZXhwZWN0ZWQpCisKICAgICBkZWYgdGVzdF9xdWFsaWZpZWRfcmVfc3BsaXQoc2VsZik6Ci0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc3BsaXQoIjoiLCAiOmE6Yjo6YyIsIDIpLCBbJycsICdhJywgJ2I6OmMnXSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zcGxpdCgnOicsICdhOmI6YzpkJywgMiksIFsnYScsICdiJywgJ2M6ZCddKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnNwbGl0KCIoOikiLCAiOmE6Yjo6YyIsIDIpLAorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnNwbGl0KCI6IiwgIjphOmI6OmMiLCBtYXhzcGxpdD0yKSwgWycnLCAnYScsICdiOjpjJ10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc3BsaXQoJzonLCAnYTpiOmM6ZCcsIG1heHNwbGl0PTIpLCBbJ2EnLCAnYicsICdjOmQnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zcGxpdCgiKDopIiwgIjphOmI6OmMiLCBtYXhzcGxpdD0yKSwKICAgICAgICAgICAgICAgICAgICAgICAgICBbJycsICc6JywgJ2EnLCAnOicsICdiOjpjJ10pCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc3BsaXQoIig6KikiLCAiOmE6Yjo6YyIsIDIpLAorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnNwbGl0KCIoOispIiwgIjphOmI6OmMiLCBtYXhzcGxpdD0yKSwKICAgICAgICAgICAgICAgICAgICAgICAgICBbJycsICc6JywgJ2EnLCAnOicsICdiOjpjJ10pCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRXYXJucyhGdXR1cmVXYXJuaW5nKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc3BsaXQoIig6KikiLCAiOmE6Yjo6YyIsIG1heHNwbGl0PTIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJycsICc6JywgJ2EnLCAnOicsICdiOjpjJ10pCiAKICAgICBkZWYgdGVzdF9yZV9maW5kYWxsKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLmZpbmRhbGwoIjorIiwgImFiYyIpLCBbXSkKQEAgLTQwNSw2ICs0MzYsMTAgQEAKICAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUocC5tYXRjaCgnYWJkJykpCiAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHAubWF0Y2goJ2FjJykpCiAKKyAgICAgICAgIyBTdXBwb3J0ID4gMTAwIGdyb3Vwcy4KKyAgICAgICAgcGF0ID0gJ3wnLmpvaW4oJ3goP1A8YSVkPiV4KXknICUgKGksIGkpIGZvciBpIGluIHJhbmdlKDEsIDIwMCArIDEpKQorICAgICAgICBwYXQgPSAnKD86JXMpKD8oMjAwKXopJyAlIHBhdAorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLm1hdGNoKHBhdCwgJ3hjOHl6Jykuc3BhbigpLCAoMCwgNSkpCiAKICAgICBkZWYgdGVzdF9yZV9ncm91cHJlZihzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5tYXRjaChyJ14oXHwpPyhbXigpXSspXDEkJywgJ3xhfCcpLmdyb3VwcygpLApAQCAtNDI4LDYgKzQ2MywxMCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmaXJzdCBzZWNvbmQiKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5leHBhbmQociJcMiBcMSBcZzxzZWNvbmQ+IFxnPGZpcnN0PiIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICJzZWNvbmQgZmlyc3Qgc2Vjb25kIGZpcnN0IikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5tYXRjaCgiKD9QPGZpcnN0PmZpcnN0KXwoP1A8c2Vjb25kPnNlY29uZCkiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmaXJzdCIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmV4cGFuZChyIlwyIFxnPHNlY29uZD4iKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiICIpCiAKICAgICBkZWYgdGVzdF9yZXBlYXRfbWlubWF4KHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydElzTm9uZShyZS5tYXRjaCgiXihcdyl7MX0kIiwgImFiYyIpKQpAQCAtNDg0LDEwICs1MjMsNiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWJjZCBhYmMgYmNkIGJ4IiwgcmUuQVNDSUkpLmdyb3VwKDEpLCAiYngiKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnNlYXJjaChyIlxCKGIuKVxCIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFiYyBiY2QgYmMgYWJ4ZCIsIHJlLkFTQ0lJKS5ncm91cCgxKSwgImJ4IikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zZWFyY2gociJcYihiLilcYiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhYmNkIGFiYyBiY2QgYngiLCByZS5MT0NBTEUpLmdyb3VwKDEpLCAiYngiKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnNlYXJjaChyIlxCKGIuKVxCIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFiYyBiY2QgYmMgYWJ4ZCIsIHJlLkxPQ0FMRSkuZ3JvdXAoMSksICJieCIpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc2VhcmNoKHIiXmFiYyQiLCAiXG5hYmNcbiIsIHJlLk0pLmdyb3VwKDApLCAiYWJjIikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zZWFyY2gociJeXEFhYmNcWiQiLCAiYWJjIiwgcmUuTSkuZ3JvdXAoMCksICJhYmMiKQogICAgICAgICBzZWxmLmFzc2VydElzTm9uZShyZS5zZWFyY2gociJeXEFhYmNcWiQiLCAiXG5hYmNcbiIsIHJlLk0pKQpAQCAtNTA4LDExICs1NDMsMjMgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYiIxYWEhIGEiKS5ncm91cCgwKSwgYiIxYWEhIGEiKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnNlYXJjaChyIlxkXERcd1xXXHNcUyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIxYWEhIGEiLCByZS5BU0NJSSkuZ3JvdXAoMCksICIxYWEhIGEiKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnNlYXJjaChyIlxkXERcd1xXXHNcUyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIxYWEhIGEiLCByZS5MT0NBTEUpLmdyb3VwKDApLCAiMWFhISBhIikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zZWFyY2goYnIiXGRcRFx3XFdcc1xTIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYiIxYWEhIGEiLCByZS5MT0NBTEUpLmdyb3VwKDApLCBiIjFhYSEgYSIpCiAKKyAgICBkZWYgdGVzdF9vdGhlcl9lc2NhcGVzKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvciwgcmUuY29tcGlsZSwgIlxcIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5tYXRjaChyIlwoIiwgJygnKS5ncm91cCgpLCAnKCcpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHJlLm1hdGNoKHIiXCgiLCAnKScpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLm1hdGNoKHIiXFwiLCAnXFwnKS5ncm91cCgpLCAnXFwnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLm1hdGNoKHIiXHkiLCAneScpLmdyb3VwKCksICd5JykKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUocmUubWF0Y2gociJceSIsICd6JykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUubWF0Y2gociJbXF1dIiwgJ10nKS5ncm91cCgpLCAnXScpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHJlLm1hdGNoKHIiW1xdXSIsICdbJykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUubWF0Y2gociJbYVwtY10iLCAnLScpLmdyb3VwKCksICctJykKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUocmUubWF0Y2gociJbYVwtY10iLCAnYicpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLm1hdGNoKHIiW1xeYV0rIiwgJ2FeJykuZ3JvdXAoKSwgJ2FeJykKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUocmUubWF0Y2gociJbXF5hXSsiLCAnYicpKQorCiAgICAgZGVmIHRlc3Rfc3RyaW5nX2JvdW5kYXJpZXMoc2VsZik6CiAgICAgICAgICMgU2VlIGh0dHA6Ly9idWdzLnB5dGhvbi5vcmcvaXNzdWUxMDcxMwogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnNlYXJjaChyIlxiKGFiYylcYiIsICJhYmMiKS5ncm91cCgxKSwKQEAgLTY2MSw5ICs3MDgsMTIgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChfc3JlLmdldGxvd2VyKG9yZCgnQScpLCAwKSwgb3JkKCdhJykpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoX3NyZS5nZXRsb3dlcihvcmQoJ0EnKSwgcmUuTE9DQUxFKSwgb3JkKCdhJykpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoX3NyZS5nZXRsb3dlcihvcmQoJ0EnKSwgcmUuVU5JQ09ERSksIG9yZCgnYScpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKF9zcmUuZ2V0bG93ZXIob3JkKCdBJyksIHJlLkFTQ0lJKSwgb3JkKCdhJykpCiAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5tYXRjaCgiYWJjIiwgIkFCQyIsIHJlLkkpLmdyb3VwKDApLCAiQUJDIikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5tYXRjaChiImFiYyIsIGIiQUJDIiwgcmUuSSkuZ3JvdXAoMCksIGIiQUJDIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5tYXRjaCgiYWJjIiwgIkFCQyIsIHJlLkl8cmUuQSkuZ3JvdXAoMCksICJBQkMiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLm1hdGNoKGIiYWJjIiwgYiJBQkMiLCByZS5JfHJlLkwpLmdyb3VwKDApLCBiIkFCQyIpCiAKICAgICBkZWYgdGVzdF9ub3RfbGl0ZXJhbChzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zZWFyY2goIlxzKFteYV0pIiwgIiBiIikuZ3JvdXAoMSksICJiIikKQEAgLTc0OCw4ICs3OTgsMTAgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5YLCByZS5WRVJCT1NFKQogCiAgICAgZGVmIHRlc3RfZmxhZ3Moc2VsZik6Ci0gICAgICAgIGZvciBmbGFnIGluIFtyZS5JLCByZS5NLCByZS5YLCByZS5TLCByZS5MXToKKyAgICAgICAgZm9yIGZsYWcgaW4gW3JlLkksIHJlLk0sIHJlLlgsIHJlLlMsIHJlLkEsIHJlLlVdOgogICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlLmNvbXBpbGUoJ15wYXR0ZXJuJCcsIGZsYWcpKQorICAgICAgICBmb3IgZmxhZyBpbiBbcmUuSSwgcmUuTSwgcmUuWCwgcmUuUywgcmUuQSwgcmUuTF06CisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUocmUuY29tcGlsZShiJ15wYXR0ZXJuJCcsIGZsYWcpKQogCiAgICAgZGVmIHRlc3Rfc3JlX2NoYXJhY3Rlcl9saXRlcmFscyhzZWxmKToKICAgICAgICAgZm9yIGkgaW4gWzAsIDgsIDE2LCAzMiwgNjQsIDEyNywgMTI4LCAyNTUsIDI1NiwgMHhGRkZGLCAweDEwMDAwLCAweDEwRkZGRl06CkBAIC03NzEsNyArODIzLDcgQEAKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlLm1hdGNoKHIiXDA4IiwgIlwwMDA4IikpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZS5tYXRjaChyIlwwMSIsICJcMDAxIikpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZS5tYXRjaChyIlwwMTgiLCAiXDAwMTgiKSkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlLm1hdGNoKHIiXDU2NyIsIGNocigwbzE2NykpKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvciwgcmUubWF0Y2gsIHIiXDU2NyIsICIiKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvciwgcmUubWF0Y2gsIHIiXDkxMSIsICIiKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvciwgcmUubWF0Y2gsIHIiXHgxIiwgIiIpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHJlLmVycm9yLCByZS5tYXRjaCwgciJceDF6IiwgIiIpCkBAIC03OTksMTIgKzg1MSwxMyBAQAogICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlLm1hdGNoKHIiW1xVJTA4eF0iICUgaSwgY2hyKGkpKSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZS5tYXRjaChyIltcVSUwOHgwXSIgJSBpLCBjaHIoaSkrIjAiKSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZS5tYXRjaChyIltcVSUwOHh6XSIgJSBpLCBjaHIoaSkrInoiKSkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlLm1hdGNoKHIiW1xVMDAwMWQ0OWMtXFUwMDAxZDRiNV0iLCAiXFUwMDAxZDQ5ZSIpKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvciwgcmUubWF0Y2gsIHIiW1w1NjddIiwgIiIpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHJlLmVycm9yLCByZS5tYXRjaCwgciJbXDkxMV0iLCAiIikKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMocmUuZXJyb3IsIHJlLm1hdGNoLCByIltceDF6XSIsICIiKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvciwgcmUubWF0Y2gsIHIiW1x1MTIzel0iLCAiIikKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMocmUuZXJyb3IsIHJlLm1hdGNoLCByIltcVTAwMDEyMzR6XSIsICIiKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvciwgcmUubWF0Y2gsIHIiW1xVMDAxMTAwMDBdIiwgIiIpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZS5tYXRjaChyIltcVTAwMDFkNDljLVxVMDAwMWQ0YjVdIiwgIlxVMDAwMWQ0OWUiKSkKIAogICAgIGRlZiB0ZXN0X3NyZV9ieXRlX2xpdGVyYWxzKHNlbGYpOgogICAgICAgICBmb3IgaSBpbiBbMCwgOCwgMTYsIDMyLCA2NCwgMTI3LCAxMjgsIDI1NV06CkBAIC04MjAsNyArODczLDcgQEAKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlLm1hdGNoKGJyIlwwOCIsIGIiXDAwMDgiKSkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlLm1hdGNoKGJyIlwwMSIsIGIiXDAwMSIpKQogICAgICAgICBzZWxmLmFzc2VydFRydWUocmUubWF0Y2goYnIiXDAxOCIsIGIiXDAwMTgiKSkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlLm1hdGNoKGJyIlw1NjciLCBieXRlcyhbMG8xNjddKSkpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHJlLmVycm9yLCByZS5tYXRjaCwgYnIiXDU2NyIsIGIiIikKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMocmUuZXJyb3IsIHJlLm1hdGNoLCBiciJcOTExIiwgYiIiKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvciwgcmUubWF0Y2gsIGJyIlx4MSIsIGIiIikKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMocmUuZXJyb3IsIHJlLm1hdGNoLCBiciJceDF6IiwgYiIiKQpAQCAtODM3LDYgKzg5MCw3IEBACiAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUocmUubWF0Y2goKHIiW1x4JTAyeHpdIiAlIGkpLmVuY29kZSgpLCBieXRlcyhbaV0pKSkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlLm1hdGNoKGJyIltcdV0iLCBiJ3UnKSkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlLm1hdGNoKGJyIltcVV0iLCBiJ1UnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMocmUuZXJyb3IsIHJlLm1hdGNoLCBiciJbXDU2N10iLCBiIiIpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHJlLmVycm9yLCByZS5tYXRjaCwgYnIiW1w5MTFdIiwgYiIiKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvciwgcmUubWF0Y2gsIGJyIltceDF6XSIsIGIiIikKIApAQCAtMTAzMSw4ICsxMDg1LDggQEAKIAogICAgIGRlZiB0ZXN0X2lubGluZV9mbGFncyhzZWxmKToKICAgICAgICAgIyBCdWcgIzE3MDAKLSAgICAgICAgdXBwZXJfY2hhciA9IGNocigweDFlYTApICMgTGF0aW4gQ2FwaXRhbCBMZXR0ZXIgQSB3aXRoIERvdCBCZWxsb3cKLSAgICAgICAgbG93ZXJfY2hhciA9IGNocigweDFlYTEpICMgTGF0aW4gU21hbGwgTGV0dGVyIEEgd2l0aCBEb3QgQmVsbG93CisgICAgICAgIHVwcGVyX2NoYXIgPSAnXHUxZWEwJyAjIExhdGluIENhcGl0YWwgTGV0dGVyIEEgd2l0aCBEb3QgQmVsb3cKKyAgICAgICAgbG93ZXJfY2hhciA9ICdcdTFlYTEnICMgTGF0aW4gU21hbGwgTGV0dGVyIEEgd2l0aCBEb3QgQmVsb3cKIAogICAgICAgICBwID0gcmUuY29tcGlsZSh1cHBlcl9jaGFyLCByZS5JIHwgcmUuVSkKICAgICAgICAgcSA9IHAubWF0Y2gobG93ZXJfY2hhcikKQEAgLTExMTIsNiArMTE2Niw1MiBAQAogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCByZS5jb21waWxlLCAnKD9hKVx3JywgcmUuVU5JQ09ERSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgcmUuY29tcGlsZSwgJyg/YXUpXHcnKQogCisgICAgZGVmIHRlc3RfbG9jYWxlX2ZsYWcoc2VsZik6CisgICAgICAgIGltcG9ydCBsb2NhbGUKKyAgICAgICAgXywgZW5jID0gbG9jYWxlLmdldGxvY2FsZShsb2NhbGUuTENfQ1RZUEUpCisgICAgICAgICMgU2VhcmNoIG5vbi1BU0NJSSBsZXR0ZXIKKyAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMTI4LCAyNTYpOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIGMgPSBieXRlcyhbaV0pLmRlY29kZShlbmMpCisgICAgICAgICAgICAgICAgc2xldHRlciA9IGMubG93ZXIoKQorICAgICAgICAgICAgICAgIGlmIHNsZXR0ZXIgPT0gYzogY29udGludWUKKyAgICAgICAgICAgICAgICBibGV0dGVyID0gc2xldHRlci5lbmNvZGUoZW5jKQorICAgICAgICAgICAgICAgIGlmIGxlbihibGV0dGVyKSAhPSAxOiBjb250aW51ZQorICAgICAgICAgICAgICAgIGlmIGJsZXR0ZXIuZGVjb2RlKGVuYykgIT0gc2xldHRlcjogY29udGludWUKKyAgICAgICAgICAgICAgICBicGF0ID0gcmUuZXNjYXBlKGJ5dGVzKFtpXSkpCisgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgIGV4Y2VwdCAoVW5pY29kZUVycm9yLCBUeXBlRXJyb3IpOgorICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGJsZXR0ZXIgPSBOb25lCisgICAgICAgICAgICBicGF0ID0gYidBJworICAgICAgICAjIEJ5dGVzIHBhdHRlcm5zCisgICAgICAgIHBhdCA9IHJlLmNvbXBpbGUoYnBhdCwgcmUuTE9DQUxFIHwgcmUuSUdOT1JFQ0FTRSkKKyAgICAgICAgaWYgYmxldHRlcjoKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShwYXQubWF0Y2goYmxldHRlcikpCisgICAgICAgIHBhdCA9IHJlLmNvbXBpbGUoYicoP0wpJyArIGJwYXQsIHJlLklHTk9SRUNBU0UpCisgICAgICAgIGlmIGJsZXR0ZXI6CisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUocGF0Lm1hdGNoKGJsZXR0ZXIpKQorICAgICAgICBwYXQgPSByZS5jb21waWxlKGJwYXQsIHJlLklHTk9SRUNBU0UpCisgICAgICAgIGlmIGJsZXR0ZXI6CisgICAgICAgICAgICBzZWxmLmFzc2VydElzTm9uZShwYXQubWF0Y2goYmxldHRlcikpCisgICAgICAgIHBhdCA9IHJlLmNvbXBpbGUoYidcdycsIHJlLkxPQ0FMRSkKKyAgICAgICAgaWYgYmxldHRlcjoKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShwYXQubWF0Y2goYmxldHRlcikpCisgICAgICAgIHBhdCA9IHJlLmNvbXBpbGUoYicoP0wpXHcnKQorICAgICAgICBpZiBibGV0dGVyOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHBhdC5tYXRjaChibGV0dGVyKSkKKyAgICAgICAgcGF0ID0gcmUuY29tcGlsZShiJ1x3JykKKyAgICAgICAgaWYgYmxldHRlcjoKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHBhdC5tYXRjaChibGV0dGVyKSkKKyAgICAgICAgIyBJbmNvbXBhdGliaWxpdGllcworICAgICAgICBzZWxmLmFzc2VydFdhcm5zKERlcHJlY2F0aW9uV2FybmluZywgcmUuY29tcGlsZSwgJycsIHJlLkxPQ0FMRSkKKyAgICAgICAgc2VsZi5hc3NlcnRXYXJucyhEZXByZWNhdGlvbldhcm5pbmcsIHJlLmNvbXBpbGUsICcoP0wpJykKKyAgICAgICAgc2VsZi5hc3NlcnRXYXJucyhEZXByZWNhdGlvbldhcm5pbmcsIHJlLmNvbXBpbGUsIGInJywgcmUuTE9DQUxFIHwgcmUuQVNDSUkpCisgICAgICAgIHNlbGYuYXNzZXJ0V2FybnMoRGVwcmVjYXRpb25XYXJuaW5nLCByZS5jb21waWxlLCBiJyg/TCknLCByZS5BU0NJSSkKKyAgICAgICAgc2VsZi5hc3NlcnRXYXJucyhEZXByZWNhdGlvbldhcm5pbmcsIHJlLmNvbXBpbGUsIGInKD9hKScsIHJlLkxPQ0FMRSkKKyAgICAgICAgc2VsZi5hc3NlcnRXYXJucyhEZXByZWNhdGlvbldhcm5pbmcsIHJlLmNvbXBpbGUsIGInKD9hTCknKQorCiAgICAgZGVmIHRlc3RfYnVnXzY1MDkoc2VsZik6CiAgICAgICAgICMgUmVwbGFjZW1lbnQgc3RyaW5ncyBvZiBib3RoIHR5cGVzIG11c3QgcGFyc2UgcHJvcGVybHkuCiAgICAgICAgICMgYWxsIHN0cmluZ3MKQEAgLTExMzksOCArMTIzOSwxMCBAQAogICAgICAgICAjIGEgUnVudGltZUVycm9yIGlzIHJhaXNlZCBpbnN0ZWFkIG9mIE92ZXJmbG93RXJyb3IuCiAgICAgICAgIGxvbmdfb3ZlcmZsb3cgPSAyKioxMjgKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCByZS5maW5kaXRlciwgImEiLCB7fSkKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT3ZlcmZsb3dFcnJvciwgX3NyZS5jb21waWxlLCAiYWJjIiwgMCwgW2xvbmdfb3ZlcmZsb3ddKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIF9zcmUuY29tcGlsZSwge30sIDAsIFtdKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKE92ZXJmbG93RXJyb3IpOgorICAgICAgICAgICAgX3NyZS5jb21waWxlKCJhYmMiLCAwLCBbbG9uZ19vdmVyZmxvd10sIDAsIFtdLCBbXSkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpOgorICAgICAgICAgICAgX3NyZS5jb21waWxlKHt9LCAwLCBbXSwgMCwgW10sIFtdKQogCiAgICAgZGVmIHRlc3Rfc2VhcmNoX2RvdF91bmljb2RlKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydFRydWUocmUuc2VhcmNoKCIxMjMuKi0iLCAnMTIzYWJjLScpKQpAQCAtMTI3OCwyMiArMTM4MCwyMiBAQAogICAgICAgICB3aXRoIGNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dDoKICAgICAgICAgICAgIHJlLmNvbXBpbGUocGF0LCByZS5ERUJVRykKICAgICAgICAgZHVtcCA9ICcnJ1wKLXN1YnBhdHRlcm4gMQotICBsaXRlcmFsIDQ2Ci1zdWJwYXR0ZXJuIE5vbmUKLSAgYnJhbmNoCi0gICAgaW4KLSAgICAgIGxpdGVyYWwgOTkKLSAgICAgIGxpdGVyYWwgMTA0Ci0gIG9yCi0gICAgbGl0ZXJhbCAxMTIKLSAgICBsaXRlcmFsIDEyMQotc3VicGF0dGVybiBOb25lCi0gIGdyb3VwcmVmX2V4aXN0cyAxCi0gICAgYXQgYXRfZW5kCi0gIGVsc2UKLSAgICBsaXRlcmFsIDU4Ci0gICAgbGl0ZXJhbCAzMgorU1VCUEFUVEVSTiAxCisgIExJVEVSQUwgNDYKK1NVQlBBVFRFUk4gTm9uZQorICBCUkFOQ0gKKyAgICBJTgorICAgICAgTElURVJBTCA5OQorICAgICAgTElURVJBTCAxMDQKKyAgT1IKKyAgICBMSVRFUkFMIDExMgorICAgIExJVEVSQUwgMTIxCitTVUJQQVRURVJOIE5vbmUKKyAgR1JPVVBSRUZfRVhJU1RTIDEKKyAgICBBVCBBVF9FTkQKKyAgRUxTRQorICAgIExJVEVSQUwgNTgKKyAgICBMSVRFUkFMIDMyCiAnJycKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvdXQuZ2V0dmFsdWUoKSwgZHVtcCkKICAgICAgICAgIyBEZWJ1ZyBvdXRwdXQgaXMgb3V0cHV0IGFnYWluIGV2ZW4gYSBzZWNvbmQgdGltZSAoYnlwYXNzaW5nCkBAIC0xMzYxLDYgKzE0NjMsNDIgQEAKICAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUocmUubWF0Y2goYicoP0xpKVx4YzUnLCBiJ1x4ZTUnKSkKICAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUocmUubWF0Y2goYicoP0xpKVx4ZTUnLCBiJ1x4YzUnKSkKIAorICAgIGRlZiB0ZXN0X2Vycm9yKHNlbGYpOgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKHJlLmVycm9yKSBhcyBjbToKKyAgICAgICAgICAgIHJlLmNvbXBpbGUoJyhcdTIwYWMpKScpCisgICAgICAgIGVyciA9IGNtLmV4Y2VwdGlvbgorICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UoZXJyLnBhdHRlcm4sIHN0cikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlcnIucGF0dGVybiwgJyhcdTIwYWMpKScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXJyLnBvcywgMykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlcnIubGluZW5vLCAxKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVyci5jb2xubywgNCkKKyAgICAgICAgc2VsZi5hc3NlcnRJbihlcnIubXNnLCBzdHIoZXJyKSkKKyAgICAgICAgc2VsZi5hc3NlcnRJbignIGF0IHBvc2l0aW9uIDMnLCBzdHIoZXJyKSkKKyAgICAgICAgc2VsZi5hc3NlcnROb3RJbignIGF0IHBvc2l0aW9uIDMnLCBlcnIubXNnKQorICAgICAgICAjIEJ5dGVzIHBhdHRlcm4KKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvcikgYXMgY206CisgICAgICAgICAgICByZS5jb21waWxlKGInKFx4YTQpKScpCisgICAgICAgIGVyciA9IGNtLmV4Y2VwdGlvbgorICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UoZXJyLnBhdHRlcm4sIGJ5dGVzKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVyci5wYXR0ZXJuLCBiJyhceGE0KSknKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVyci5wb3MsIDMpCisgICAgICAgICMgTXVsdGlsaW5lIHBhdHRlcm4KKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvcikgYXMgY206CisgICAgICAgICAgICByZS5jb21waWxlKCIiIgorICAgICAgICAgICAgICAgICgKKyAgICAgICAgICAgICAgICAgICAgYWJjCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICAoCisgICAgICAgICAgICAgICAgIiIiLCByZS5WRVJCT1NFKQorICAgICAgICBlcnIgPSBjbS5leGNlcHRpb24KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlcnIucG9zLCA3NykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlcnIubGluZW5vLCA1KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVyci5jb2xubywgMTcpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oZXJyLm1zZywgc3RyKGVycikpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJyBhdCBwb3NpdGlvbiA3NycsIHN0cihlcnIpKQorICAgICAgICBzZWxmLmFzc2VydEluKCcobGluZSA1LCBjb2x1bW4gMTcpJywgc3RyKGVycikpCisKIAogY2xhc3MgUGF0dGVyblJlcHJUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIGNoZWNrKHNlbGYsIHBhdHRlcm4sIGV4cGVjdGVkKToKQEAgLTE0MDUsNiArMTU0MywxMCBAQAogICAgICAgICBzZWxmLmNoZWNrX2ZsYWdzKGInYnl0ZXMgcGF0dGVybicsIHJlLkEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgInJlLmNvbXBpbGUoYidieXRlcyBwYXR0ZXJuJywgcmUuQVNDSUkpIikKIAorICAgIGRlZiB0ZXN0X2xvY2FsZShzZWxmKToKKyAgICAgICAgc2VsZi5jaGVja19mbGFncyhiJ2J5dGVzIHBhdHRlcm4nLCByZS5MLAorICAgICAgICAgICAgICAgICAgICAgICAgICJyZS5jb21waWxlKGInYnl0ZXMgcGF0dGVybicsIHJlLkxPQ0FMRSkiKQorCiAgICAgZGVmIHRlc3RfcXVvdGVzKHNlbGYpOgogICAgICAgICBzZWxmLmNoZWNrKCdyYW5kb20gImRvdWJsZSBxdW90ZWQiIHBhdHRlcm4nLAogICAgICAgICAgICAgJycncmUuY29tcGlsZSgncmFuZG9tICJkb3VibGUgcXVvdGVkIiBwYXR0ZXJuJyknJycpCkBAIC0xNTE4LDggKzE2NjAsMTYgQEAKICAgICAgICAgICAgICAgICAgICAgcGFzcwogICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgIHdpdGggc2VsZi5zdWJUZXN0KCdieXRlcyBwYXR0ZXJuIG1hdGNoJyk6Ci0gICAgICAgICAgICAgICAgICAgICAgICBicGF0ID0gcmUuY29tcGlsZShicGF0KQotICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGJwYXQuc2VhcmNoKGJzKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIG9iaiA9IHJlLmNvbXBpbGUoYnBhdCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvYmouc2VhcmNoKGJzKSkKKworICAgICAgICAgICAgICAgICAgICAjIFRyeSB0aGUgbWF0Y2ggd2l0aCBMT0NBTEUgZW5hYmxlZCwgYW5kIGNoZWNrIHRoYXQgaXQKKyAgICAgICAgICAgICAgICAgICAgIyBzdGlsbCBzdWNjZWVkcy4KKyAgICAgICAgICAgICAgICAgICAgd2l0aCBzZWxmLnN1YlRlc3QoJ2xvY2FsZS1zZW5zaXRpdmUgbWF0Y2gnKToKKyAgICAgICAgICAgICAgICAgICAgICAgIG9iaiA9IHJlLmNvbXBpbGUoYnBhdCwgcmUuTE9DQUxFKQorICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gb2JqLnNlYXJjaChicykKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIHJlc3VsdCBpcyBOb25lOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50KCc9PT0gRmFpbHMgb24gbG9jYWxlLXNlbnNpdGl2ZSBtYXRjaCcsIHQpCiAKICAgICAgICAgICAgICAgICAjIFRyeSB0aGUgbWF0Y2ggd2l0aCB0aGUgc2VhcmNoIGFyZWEgbGltaXRlZCB0byB0aGUgZXh0ZW50CiAgICAgICAgICAgICAgICAgIyBvZiB0aGUgbWF0Y2ggYW5kIHNlZSBpZiBpdCBzdGlsbCBzdWNjZWVkcy4gIFxCIHdpbGwKQEAgLTE1MzcsMTMgKzE2ODcsNiBAQAogICAgICAgICAgICAgICAgICAgICBvYmogPSByZS5jb21waWxlKHBhdHRlcm4sIHJlLklHTk9SRUNBU0UpCiAgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvYmouc2VhcmNoKHMpKQogCi0gICAgICAgICAgICAgICAgIyBUcnkgdGhlIG1hdGNoIHdpdGggTE9DQUxFIGVuYWJsZWQsIGFuZCBjaGVjayB0aGF0IGl0Ci0gICAgICAgICAgICAgICAgIyBzdGlsbCBzdWNjZWVkcy4KLSAgICAgICAgICAgICAgICBpZiAnKD91KScgbm90IGluIHBhdHRlcm46Ci0gICAgICAgICAgICAgICAgICAgIHdpdGggc2VsZi5zdWJUZXN0KCdsb2NhbGUtc2Vuc2l0aXZlIG1hdGNoJyk6Ci0gICAgICAgICAgICAgICAgICAgICAgICBvYmogPSByZS5jb21waWxlKHBhdHRlcm4sIHJlLkxPQ0FMRSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvYmouc2VhcmNoKHMpKQotCiAgICAgICAgICAgICAgICAgIyBUcnkgdGhlIG1hdGNoIHdpdGggVU5JQ09ERSBsb2NhbGUgZW5hYmxlZCwgYW5kIGNoZWNrCiAgICAgICAgICAgICAgICAgIyB0aGF0IGl0IHN0aWxsIHN1Y2NlZWRzLgogICAgICAgICAgICAgICAgIHdpdGggc2VsZi5zdWJUZXN0KCd1bmljb2RlLXNlbnNpdGl2ZSBtYXRjaCcpOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9yZWFkbGluZS5weSBiL0xpYi90ZXN0L3Rlc3RfcmVhZGxpbmUucHkKaW5kZXggMGIyYjBhNS4uMjNkNjE5NCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9yZWFkbGluZS5weQorKysgYi9MaWIvdGVzdC90ZXN0X3JlYWRsaW5lLnB5CkBAIC0yLDggKzIsOSBAQAogVmVyeSBtaW5pbWFsIHVuaXR0ZXN0cyBmb3IgcGFydHMgb2YgdGhlIHJlYWRsaW5lIG1vZHVsZS4KICIiIgogaW1wb3J0IG9zCitpbXBvcnQgdGVtcGZpbGUKIGltcG9ydCB1bml0dGVzdAotZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IHJ1bl91bml0dGVzdCwgaW1wb3J0X21vZHVsZQorZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IHJ1bl91bml0dGVzdCwgaW1wb3J0X21vZHVsZSwgdW5saW5rCiBmcm9tIHRlc3Quc2NyaXB0X2hlbHBlciBpbXBvcnQgYXNzZXJ0X3B5dGhvbl9vawogCiAjIFNraXAgdGVzdHMgaWYgdGhlcmUgaXMgbm8gcmVhZGxpbmUgbW9kdWxlCkBAIC00Miw2ICs0Myw0NSBAQAogCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVhZGxpbmUuZ2V0X2N1cnJlbnRfaGlzdG9yeV9sZW5ndGgoKSwgMSkKIAorICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKGhhc2F0dHIocmVhZGxpbmUsICJhcHBlbmRfaGlzdG9yeV9maWxlIiksCisgICAgICAgICAgICAgICAgICAgICAgICAgImFwcGVuZF9oaXN0b3J5IG5vdCBhdmFpbGFibGUiKQorICAgIGRlZiB0ZXN0X3dyaXRlX3JlYWRfYXBwZW5kKHNlbGYpOgorICAgICAgICBoZmlsZSA9IHRlbXBmaWxlLk5hbWVkVGVtcG9yYXJ5RmlsZShkZWxldGU9RmFsc2UpCisgICAgICAgIGhmaWxlLmNsb3NlKCkKKyAgICAgICAgaGZpbGVuYW1lID0gaGZpbGUubmFtZQorICAgICAgICBzZWxmLmFkZENsZWFudXAodW5saW5rLCBoZmlsZW5hbWUpCisKKyAgICAgICAgIyB0ZXN0IHdyaXRlLWNsZWFyLXJlYWQgPT0gbm9wCisgICAgICAgIHJlYWRsaW5lLmNsZWFyX2hpc3RvcnkoKQorICAgICAgICByZWFkbGluZS5hZGRfaGlzdG9yeSgiZmlyc3QgbGluZSIpCisgICAgICAgIHJlYWRsaW5lLmFkZF9oaXN0b3J5KCJzZWNvbmQgbGluZSIpCisgICAgICAgIHJlYWRsaW5lLndyaXRlX2hpc3RvcnlfZmlsZShoZmlsZW5hbWUpCisKKyAgICAgICAgcmVhZGxpbmUuY2xlYXJfaGlzdG9yeSgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVhZGxpbmUuZ2V0X2N1cnJlbnRfaGlzdG9yeV9sZW5ndGgoKSwgMCkKKworICAgICAgICByZWFkbGluZS5yZWFkX2hpc3RvcnlfZmlsZShoZmlsZW5hbWUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVhZGxpbmUuZ2V0X2N1cnJlbnRfaGlzdG9yeV9sZW5ndGgoKSwgMikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZWFkbGluZS5nZXRfaGlzdG9yeV9pdGVtKDEpLCAiZmlyc3QgbGluZSIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVhZGxpbmUuZ2V0X2hpc3RvcnlfaXRlbSgyKSwgInNlY29uZCBsaW5lIikKKworICAgICAgICAjIHRlc3QgYXBwZW5kCisgICAgICAgIHJlYWRsaW5lLmFwcGVuZF9oaXN0b3J5X2ZpbGUoMSwgaGZpbGVuYW1lKQorICAgICAgICByZWFkbGluZS5jbGVhcl9oaXN0b3J5KCkKKyAgICAgICAgcmVhZGxpbmUucmVhZF9oaXN0b3J5X2ZpbGUoaGZpbGVuYW1lKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlYWRsaW5lLmdldF9jdXJyZW50X2hpc3RvcnlfbGVuZ3RoKCksIDMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVhZGxpbmUuZ2V0X2hpc3RvcnlfaXRlbSgxKSwgImZpcnN0IGxpbmUiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlYWRsaW5lLmdldF9oaXN0b3J5X2l0ZW0oMiksICJzZWNvbmQgbGluZSIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVhZGxpbmUuZ2V0X2hpc3RvcnlfaXRlbSgzKSwgInNlY29uZCBsaW5lIikKKworICAgICAgICAjIHRlc3QgJ25vIHN1Y2ggZmlsZScgYmVoYXZpb3VyCisgICAgICAgIG9zLnVubGluayhoZmlsZW5hbWUpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoRmlsZU5vdEZvdW5kRXJyb3IpOgorICAgICAgICAgICAgcmVhZGxpbmUuYXBwZW5kX2hpc3RvcnlfZmlsZSgxLCBoZmlsZW5hbWUpCisKKyAgICAgICAgIyB3cml0ZV9oaXN0b3J5X2ZpbGUgY2FuIGNyZWF0ZSB0aGUgdGFyZ2V0CisgICAgICAgIHJlYWRsaW5lLndyaXRlX2hpc3RvcnlfZmlsZShoZmlsZW5hbWUpCisKIAogY2xhc3MgVGVzdFJlYWRsaW5lKHVuaXR0ZXN0LlRlc3RDYXNlKToKIApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9yZXBybGliLnB5IGIvTGliL3Rlc3QvdGVzdF9yZXBybGliLnB5CmluZGV4IGFlNjdmMDYuLmE1MWM0ZDcgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfcmVwcmxpYi5weQorKysgYi9MaWIvdGVzdC90ZXN0X3JlcHJsaWIucHkKQEAgLTEwLDcgKzEwLDcgQEAKIGltcG9ydCBpbXBvcnRsaWIudXRpbAogaW1wb3J0IHVuaXR0ZXN0CiAKLWZyb20gdGVzdC5zdXBwb3J0IGltcG9ydCBydW5fdW5pdHRlc3QsIGNyZWF0ZV9lbXB0eV9maWxlLCB2ZXJib3NlCitmcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgY3JlYXRlX2VtcHR5X2ZpbGUsIHZlcmJvc2UKIGZyb20gcmVwcmxpYiBpbXBvcnQgcmVwciBhcyByICMgRG9uJ3Qgc2hhZG93IGJ1aWx0aW4gcmVwcgogZnJvbSByZXBybGliIGltcG9ydCBSZXByCiBmcm9tIHJlcHJsaWIgaW1wb3J0IHJlY3Vyc2l2ZV9yZXByCkBAIC03MCwxOCArNzAsMTggQEAKICAgICAgICAgZXEocihbMSwgMiwgMywgNCwgNSwgNiwgN10pLCAiWzEsIDIsIDMsIDQsIDUsIDYsIC4uLl0iKQogCiAgICAgICAgICMgU2V0cyBnaXZlIHVwIGFmdGVyIDYgYXMgd2VsbAotICAgICAgICBlcShyKHNldChbXSkpLCAic2V0KFtdKSIpCi0gICAgICAgIGVxKHIoc2V0KFsxXSkpLCAic2V0KFsxXSkiKQotICAgICAgICBlcShyKHNldChbMSwgMiwgM10pKSwgInNldChbMSwgMiwgM10pIikKLSAgICAgICAgZXEocihzZXQoWzEsIDIsIDMsIDQsIDUsIDZdKSksICJzZXQoWzEsIDIsIDMsIDQsIDUsIDZdKSIpCi0gICAgICAgIGVxKHIoc2V0KFsxLCAyLCAzLCA0LCA1LCA2LCA3XSkpLCAic2V0KFsxLCAyLCAzLCA0LCA1LCA2LCAuLi5dKSIpCisgICAgICAgIGVxKHIoc2V0KFtdKSksICJzZXQoKSIpCisgICAgICAgIGVxKHIoc2V0KFsxXSkpLCAiezF9IikKKyAgICAgICAgZXEocihzZXQoWzEsIDIsIDNdKSksICJ7MSwgMiwgM30iKQorICAgICAgICBlcShyKHNldChbMSwgMiwgMywgNCwgNSwgNl0pKSwgInsxLCAyLCAzLCA0LCA1LCA2fSIpCisgICAgICAgIGVxKHIoc2V0KFsxLCAyLCAzLCA0LCA1LCA2LCA3XSkpLCAiezEsIDIsIDMsIDQsIDUsIDYsIC4uLn0iKQogCiAgICAgICAgICMgRnJvemVuc2V0cyBnaXZlIHVwIGFmdGVyIDYgYXMgd2VsbAotICAgICAgICBlcShyKGZyb3plbnNldChbXSkpLCAiZnJvemVuc2V0KFtdKSIpCi0gICAgICAgIGVxKHIoZnJvemVuc2V0KFsxXSkpLCAiZnJvemVuc2V0KFsxXSkiKQotICAgICAgICBlcShyKGZyb3plbnNldChbMSwgMiwgM10pKSwgImZyb3plbnNldChbMSwgMiwgM10pIikKLSAgICAgICAgZXEocihmcm96ZW5zZXQoWzEsIDIsIDMsIDQsIDUsIDZdKSksICJmcm96ZW5zZXQoWzEsIDIsIDMsIDQsIDUsIDZdKSIpCi0gICAgICAgIGVxKHIoZnJvemVuc2V0KFsxLCAyLCAzLCA0LCA1LCA2LCA3XSkpLCAiZnJvemVuc2V0KFsxLCAyLCAzLCA0LCA1LCA2LCAuLi5dKSIpCisgICAgICAgIGVxKHIoZnJvemVuc2V0KFtdKSksICJmcm96ZW5zZXQoKSIpCisgICAgICAgIGVxKHIoZnJvemVuc2V0KFsxXSkpLCAiZnJvemVuc2V0KHsxfSkiKQorICAgICAgICBlcShyKGZyb3plbnNldChbMSwgMiwgM10pKSwgImZyb3plbnNldCh7MSwgMiwgM30pIikKKyAgICAgICAgZXEocihmcm96ZW5zZXQoWzEsIDIsIDMsIDQsIDUsIDZdKSksICJmcm96ZW5zZXQoezEsIDIsIDMsIDQsIDUsIDZ9KSIpCisgICAgICAgIGVxKHIoZnJvemVuc2V0KFsxLCAyLCAzLCA0LCA1LCA2LCA3XSkpLCAiZnJvemVuc2V0KHsxLCAyLCAzLCA0LCA1LCA2LCAuLi59KSIpCiAKICAgICAgICAgIyBjb2xsZWN0aW9ucy5kZXF1ZSBhZnRlciA2CiAgICAgICAgIGVxKHIoZGVxdWUoWzEsIDIsIDMsIDQsIDUsIDYsIDddKSksICJkZXF1ZShbMSwgMiwgMywgNCwgNSwgNiwgLi4uXSkiKQpAQCAtOTQsNyArOTQsNyBAQAogICAgICAgICBlcShyKGQpLCAieydhbGljZSc6IDEsICdhcnRodXInOiAxLCAnYm9iJzogMiwgJ2NoYXJsZXMnOiAzLCAuLi59IikKIAogICAgICAgICAjIGFycmF5LmFycmF5IGFmdGVyIDUuCi0gICAgICAgIGVxKHIoYXJyYXkoJ2knKSksICJhcnJheSgnaScsIFtdKSIpCisgICAgICAgIGVxKHIoYXJyYXkoJ2knKSksICJhcnJheSgnaScpIikKICAgICAgICAgZXEocihhcnJheSgnaScsIFsxXSkpLCAiYXJyYXkoJ2knLCBbMV0pIikKICAgICAgICAgZXEocihhcnJheSgnaScsIFsxLCAyXSkpLCAiYXJyYXkoJ2knLCBbMSwgMl0pIikKICAgICAgICAgZXEocihhcnJheSgnaScsIFsxLCAyLCAzXSkpLCAiYXJyYXkoJ2knLCBbMSwgMiwgM10pIikKQEAgLTEwMyw2ICsxMDMsMjAgQEAKICAgICAgICAgZXEocihhcnJheSgnaScsIFsxLCAyLCAzLCA0LCA1LCA2XSkpLAogICAgICAgICAgICAgICAgICAgICJhcnJheSgnaScsIFsxLCAyLCAzLCA0LCA1LCAuLi5dKSIpCiAKKyAgICBkZWYgdGVzdF9zZXRfbGl0ZXJhbChzZWxmKToKKyAgICAgICAgZXEgPSBzZWxmLmFzc2VydEVxdWFsCisgICAgICAgIGVxKHIoezF9KSwgInsxfSIpCisgICAgICAgIGVxKHIoezEsIDIsIDN9KSwgInsxLCAyLCAzfSIpCisgICAgICAgIGVxKHIoezEsIDIsIDMsIDQsIDUsIDZ9KSwgInsxLCAyLCAzLCA0LCA1LCA2fSIpCisgICAgICAgIGVxKHIoezEsIDIsIDMsIDQsIDUsIDYsIDd9KSwgInsxLCAyLCAzLCA0LCA1LCA2LCAuLi59IikKKworICAgIGRlZiB0ZXN0X2Zyb3plbnNldChzZWxmKToKKyAgICAgICAgZXEgPSBzZWxmLmFzc2VydEVxdWFsCisgICAgICAgIGVxKHIoZnJvemVuc2V0KHsxfSkpLCAiZnJvemVuc2V0KHsxfSkiKQorICAgICAgICBlcShyKGZyb3plbnNldCh7MSwgMiwgM30pKSwgImZyb3plbnNldCh7MSwgMiwgM30pIikKKyAgICAgICAgZXEocihmcm96ZW5zZXQoezEsIDIsIDMsIDQsIDUsIDZ9KSksICJmcm96ZW5zZXQoezEsIDIsIDMsIDQsIDUsIDZ9KSIpCisgICAgICAgIGVxKHIoZnJvemVuc2V0KHsxLCAyLCAzLCA0LCA1LCA2LCA3fSkpLCAiZnJvemVuc2V0KHsxLCAyLCAzLCA0LCA1LCA2LCAuLi59KSIpCisKICAgICBkZWYgdGVzdF9udW1iZXJzKHNlbGYpOgogICAgICAgICBlcSA9IHNlbGYuYXNzZXJ0RXF1YWwKICAgICAgICAgZXEocigxMjMpLCByZXByKDEyMykpCkBAIC0xMjMsNyArMTM3LDcgQEAKICAgICAgICAgZXEocihpMiksIGV4cGVjdGVkKQogCiAgICAgICAgIGkzID0gQ2xhc3NXaXRoRmFpbGluZ1JlcHIoKQotICAgICAgICBlcShyKGkzKSwgKCI8Q2xhc3NXaXRoRmFpbGluZ1JlcHIgaW5zdGFuY2UgYXQgJXg+IiVpZChpMykpKQorICAgICAgICBlcShyKGkzKSwgKCI8Q2xhc3NXaXRoRmFpbGluZ1JlcHIgaW5zdGFuY2UgYXQgJSN4PiIlaWQoaTMpKSkKIAogICAgICAgICBzID0gcihDbGFzc1dpdGhGYWlsaW5nUmVwcikKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHMuc3RhcnRzd2l0aCgiPGNsYXNzICIpKQpAQCAtMzczLDExICszODcsNSBAQAogICAgICAgICBtLmFwcGVuZChtKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcHIobSksICc8YSwgYiwgYywgZCwgZSwgKysrLCB4LCArKys+JykKIAotZGVmIHRlc3RfbWFpbigpOgotICAgIHJ1bl91bml0dGVzdChSZXByVGVzdHMpCi0gICAgcnVuX3VuaXR0ZXN0KExvbmdSZXByVGVzdCkKLSAgICBydW5fdW5pdHRlc3QoVGVzdFJlY3Vyc2l2ZVJlcHIpCi0KLQogaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKLSAgICB0ZXN0X21haW4oKQorICAgIHVuaXR0ZXN0Lm1haW4oKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9zY3JpcHRfaGVscGVyLnB5IGIvTGliL3Rlc3QvdGVzdF9zY3JpcHRfaGVscGVyLnB5CmluZGV4IDc1NDBlMmUuLjc0MzMzYzkgMTAwNzU1Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfc2NyaXB0X2hlbHBlci5weQorKysgYi9MaWIvdGVzdC90ZXN0X3NjcmlwdF9oZWxwZXIucHkKQEAgLTM2LDcgKzM2LDcgQEAKICAgICBAbW9jay5wYXRjaCgnc3VicHJvY2Vzcy5Qb3BlbicpCiAgICAgZGVmIHRlc3RfYXNzZXJ0X3B5dGhvbl9pc29sYXRlZF93aGVuX2Vudl9ub3RfcmVxdWlyZWQoc2VsZiwgbW9ja19wb3Blbik6CiAgICAgICAgIHdpdGggbW9jay5wYXRjaC5vYmplY3Qoc2NyaXB0X2hlbHBlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX2ludGVycHJldGVyX3JlcXVpcmVzX2Vudmlyb25tZW50JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaW50ZXJwcmV0ZXJfcmVxdWlyZXNfZW52aXJvbm1lbnQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybl92YWx1ZT1GYWxzZSkgYXMgbW9ja19pcmVfZnVuYzoKICAgICAgICAgICAgIG1vY2tfcG9wZW4uc2lkZV9lZmZlY3QgPSBSdW50aW1lRXJyb3IoJ2JhaWwgb3V0IG9mIHVuaXR0ZXN0JykKICAgICAgICAgICAgIHRyeToKQEAgLTU1LDcgKzU1LDcgQEAKICAgICBkZWYgdGVzdF9hc3NlcnRfcHl0aG9uX25vdF9pc29sYXRlZF93aGVuX2Vudl9pc19yZXF1aXJlZChzZWxmLCBtb2NrX3BvcGVuKToKICAgICAgICAgIiIiRW5zdXJlIHRoYXQgLUkgaXMgbm90IHBhc3NlZCB3aGVuIHRoZSBlbnZpcm9ubWVudCBpcyByZXF1aXJlZC4iIiIKICAgICAgICAgd2l0aCBtb2NrLnBhdGNoLm9iamVjdChzY3JpcHRfaGVscGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdfaW50ZXJwcmV0ZXJfcmVxdWlyZXNfZW52aXJvbm1lbnQnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpbnRlcnByZXRlcl9yZXF1aXJlc19lbnZpcm9ubWVudCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuX3ZhbHVlPVRydWUpIGFzIG1vY2tfaXJlX2Z1bmM6CiAgICAgICAgICAgICBtb2NrX3BvcGVuLnNpZGVfZWZmZWN0ID0gUnVudGltZUVycm9yKCdiYWlsIG91dCBvZiB1bml0dGVzdCcpCiAgICAgICAgICAgICB0cnk6CkBAIC02OCw3ICs2OCw3IEBACiAKIAogY2xhc3MgVGVzdFNjcmlwdEhlbHBlckVudmlyb25tZW50KHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICAiIiJDb2RlIGNvdmVyYWdlIGZvciBfaW50ZXJwcmV0ZXJfcmVxdWlyZXNfZW52aXJvbm1lbnQoKS4iIiIKKyAgICAiIiJDb2RlIGNvdmVyYWdlIGZvciBpbnRlcnByZXRlcl9yZXF1aXJlc19lbnZpcm9ubWVudCgpLiIiIgogCiAgICAgZGVmIHNldFVwKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydFRydWUoCkBAIC04MywyMiArODMsMjIgQEAKICAgICBAbW9jay5wYXRjaCgnc3VicHJvY2Vzcy5jaGVja19jYWxsJykKICAgICBkZWYgdGVzdF9pbnRlcnByZXRlcl9yZXF1aXJlc19lbnZpcm9ubWVudF90cnVlKHNlbGYsIG1vY2tfY2hlY2tfY2FsbCk6CiAgICAgICAgIG1vY2tfY2hlY2tfY2FsbC5zaWRlX2VmZmVjdCA9IHN1YnByb2Nlc3MuQ2FsbGVkUHJvY2Vzc0Vycm9yKCcnLCAnJykKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNjcmlwdF9oZWxwZXIuX2ludGVycHJldGVyX3JlcXVpcmVzX2Vudmlyb25tZW50KCkpCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzY3JpcHRfaGVscGVyLl9pbnRlcnByZXRlcl9yZXF1aXJlc19lbnZpcm9ubWVudCgpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoc2NyaXB0X2hlbHBlci5pbnRlcnByZXRlcl9yZXF1aXJlc19lbnZpcm9ubWVudCgpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoc2NyaXB0X2hlbHBlci5pbnRlcnByZXRlcl9yZXF1aXJlc19lbnZpcm9ubWVudCgpKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDEsIG1vY2tfY2hlY2tfY2FsbC5jYWxsX2NvdW50KQogCiAgICAgQG1vY2sucGF0Y2goJ3N1YnByb2Nlc3MuY2hlY2tfY2FsbCcpCiAgICAgZGVmIHRlc3RfaW50ZXJwcmV0ZXJfcmVxdWlyZXNfZW52aXJvbm1lbnRfZmFsc2Uoc2VsZiwgbW9ja19jaGVja19jYWxsKToKICAgICAgICAgIyBUaGUgbW9ja2VkIHN1YnByb2Nlc3MuY2hlY2tfY2FsbCBmYWtlcyBhIG5vLWVycm9yIHByb2Nlc3MuCi0gICAgICAgIHNjcmlwdF9oZWxwZXIuX2ludGVycHJldGVyX3JlcXVpcmVzX2Vudmlyb25tZW50KCkKLSAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShzY3JpcHRfaGVscGVyLl9pbnRlcnByZXRlcl9yZXF1aXJlc19lbnZpcm9ubWVudCgpKQorICAgICAgICBzY3JpcHRfaGVscGVyLmludGVycHJldGVyX3JlcXVpcmVzX2Vudmlyb25tZW50KCkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShzY3JpcHRfaGVscGVyLmludGVycHJldGVyX3JlcXVpcmVzX2Vudmlyb25tZW50KCkpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoMSwgbW9ja19jaGVja19jYWxsLmNhbGxfY291bnQpCiAKICAgICBAbW9jay5wYXRjaCgnc3VicHJvY2Vzcy5jaGVja19jYWxsJykKICAgICBkZWYgdGVzdF9pbnRlcnByZXRlcl9yZXF1aXJlc19lbnZpcm9ubWVudF9kZXRhaWxzKHNlbGYsIG1vY2tfY2hlY2tfY2FsbCk6Ci0gICAgICAgIHNjcmlwdF9oZWxwZXIuX2ludGVycHJldGVyX3JlcXVpcmVzX2Vudmlyb25tZW50KCkKLSAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShzY3JpcHRfaGVscGVyLl9pbnRlcnByZXRlcl9yZXF1aXJlc19lbnZpcm9ubWVudCgpKQotICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHNjcmlwdF9oZWxwZXIuX2ludGVycHJldGVyX3JlcXVpcmVzX2Vudmlyb25tZW50KCkpCisgICAgICAgIHNjcmlwdF9oZWxwZXIuaW50ZXJwcmV0ZXJfcmVxdWlyZXNfZW52aXJvbm1lbnQoKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHNjcmlwdF9oZWxwZXIuaW50ZXJwcmV0ZXJfcmVxdWlyZXNfZW52aXJvbm1lbnQoKSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShzY3JpcHRfaGVscGVyLmludGVycHJldGVyX3JlcXVpcmVzX2Vudmlyb25tZW50KCkpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoMSwgbW9ja19jaGVja19jYWxsLmNhbGxfY291bnQpCiAgICAgICAgIGNoZWNrX2NhbGxfY29tbWFuZCA9IG1vY2tfY2hlY2tfY2FsbC5jYWxsX2FyZ3NbMF1bMF0KICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzeXMuZXhlY3V0YWJsZSwgY2hlY2tfY2FsbF9jb21tYW5kWzBdKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9zZWxlY3RvcnMucHkgYi9MaWIvdGVzdC90ZXN0X3NlbGVjdG9ycy5weQppbmRleCA5NTJmZGE2Li45NTIxNDgxIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3NlbGVjdG9ycy5weQorKysgYi9MaWIvdGVzdC90ZXN0X3NlbGVjdG9ycy5weQpAQCAtOSwxMCArOSw3IEBACiBmcm9tIHRpbWUgaW1wb3J0IHNsZWVwCiBpbXBvcnQgdW5pdHRlc3QKIGltcG9ydCB1bml0dGVzdC5tb2NrCi10cnk6Ci0gICAgZnJvbSB0aW1lIGltcG9ydCBtb25vdG9uaWMgYXMgdGltZQotZXhjZXB0IEltcG9ydEVycm9yOgotICAgIGZyb20gdGltZSBpbXBvcnQgdGltZSBhcyB0aW1lCitmcm9tIHRpbWUgaW1wb3J0IG1vbm90b25pYyBhcyB0aW1lCiB0cnk6CiAgICAgaW1wb3J0IHJlc291cmNlCiBleGNlcHQgSW1wb3J0RXJyb3I6CkBAIC0yNSw3ICsyMiw3IEBACiAgICAgZGVmIHNvY2tldHBhaXIoZmFtaWx5PXNvY2tldC5BRl9JTkVULCB0eXBlPXNvY2tldC5TT0NLX1NUUkVBTSwgcHJvdG89MCk6CiAgICAgICAgIHdpdGggc29ja2V0LnNvY2tldChmYW1pbHksIHR5cGUsIHByb3RvKSBhcyBsOgogICAgICAgICAgICAgbC5iaW5kKChzdXBwb3J0LkhPU1QsIDApKQotICAgICAgICAgICAgbC5saXN0ZW4oMykKKyAgICAgICAgICAgIGwubGlzdGVuKCkKICAgICAgICAgICAgIGMgPSBzb2NrZXQuc29ja2V0KGZhbWlseSwgdHlwZSwgcHJvdG8pCiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgYy5jb25uZWN0KGwuZ2V0c29ja25hbWUoKSkKQEAgLTE4OCw4ICsxODUsOCBAQAogICAgICAgICBzLnJlZ2lzdGVyKHdyLCBzZWxlY3RvcnMuRVZFTlRfV1JJVEUpCiAKICAgICAgICAgcy5jbG9zZSgpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEtleUVycm9yLCBzLmdldF9rZXksIHJkKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhLZXlFcnJvciwgcy5nZXRfa2V5LCB3cikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoUnVudGltZUVycm9yLCBzLmdldF9rZXksIHJkKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhSdW50aW1lRXJyb3IsIHMuZ2V0X2tleSwgd3IpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEtleUVycm9yLCBtYXBwaW5nLl9fZ2V0aXRlbV9fLCByZCkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoS2V5RXJyb3IsIG1hcHBpbmcuX19nZXRpdGVtX18sIHdyKQogCkBAIC0yNTgsOCArMjU1LDggQEAKICAgICAgICAgICAgIHNlbC5yZWdpc3RlcihyZCwgc2VsZWN0b3JzLkVWRU5UX1JFQUQpCiAgICAgICAgICAgICBzZWwucmVnaXN0ZXIod3IsIHNlbGVjdG9ycy5FVkVOVF9XUklURSkKIAotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhLZXlFcnJvciwgcy5nZXRfa2V5LCByZCkKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoS2V5RXJyb3IsIHMuZ2V0X2tleSwgd3IpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFJ1bnRpbWVFcnJvciwgcy5nZXRfa2V5LCByZCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoUnVudGltZUVycm9yLCBzLmdldF9rZXksIHdyKQogCiAgICAgZGVmIHRlc3RfZmlsZW5vKHNlbGYpOgogICAgICAgICBzID0gc2VsZi5TRUxFQ1RPUigpCkBAIC00NTUsMTAgKzQ1MiwxOCBAQAogICAgIFNFTEVDVE9SID0gZ2V0YXR0cihzZWxlY3RvcnMsICdLcXVldWVTZWxlY3RvcicsIE5vbmUpCiAKIAorQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihzZWxlY3RvcnMsICdEZXZwb2xsU2VsZWN0b3InKSwKKyAgICAgICAgICAgICAgICAgICAgICJUZXN0IG5lZWRzIHNlbGVjdG9ycy5EZXZwb2xsU2VsZWN0b3IiKQorY2xhc3MgRGV2cG9sbFNlbGVjdG9yVGVzdENhc2UoQmFzZVNlbGVjdG9yVGVzdENhc2UsIFNjYWxhYmxlU2VsZWN0b3JNaXhJbik6CisKKyAgICBTRUxFQ1RPUiA9IGdldGF0dHIoc2VsZWN0b3JzLCAnRGV2cG9sbFNlbGVjdG9yJywgTm9uZSkKKworCisKIGRlZiB0ZXN0X21haW4oKToKICAgICB0ZXN0cyA9IFtEZWZhdWx0U2VsZWN0b3JUZXN0Q2FzZSwgU2VsZWN0U2VsZWN0b3JUZXN0Q2FzZSwKICAgICAgICAgICAgICBQb2xsU2VsZWN0b3JUZXN0Q2FzZSwgRXBvbGxTZWxlY3RvclRlc3RDYXNlLAotICAgICAgICAgICAgIEtxdWV1ZVNlbGVjdG9yVGVzdENhc2VdCisgICAgICAgICAgICAgS3F1ZXVlU2VsZWN0b3JUZXN0Q2FzZSwgRGV2cG9sbFNlbGVjdG9yVGVzdENhc2VdCiAgICAgc3VwcG9ydC5ydW5fdW5pdHRlc3QoKnRlc3RzKQogICAgIHN1cHBvcnQucmVhcF9jaGlsZHJlbigpCiAKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfc2V0LnB5IGIvTGliL3Rlc3QvdGVzdF9zZXQucHkKaW5kZXggNjVlNDI0My4uYzI1Mzg2ZiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9zZXQucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9zZXQucHkKQEAgLTkzMSw3ICs5MzEsNyBAQAogCiBjbGFzcyBUZXN0QmFzaWNPcHNCeXRlcyhUZXN0QmFzaWNPcHMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgc2V0VXAoc2VsZik6Ci0gICAgICAgIHNlbGYuY2FzZSAgID0gInN0cmluZyBzZXQiCisgICAgICAgIHNlbGYuY2FzZSAgID0gImJ5dGVzIHNldCIKICAgICAgICAgc2VsZi52YWx1ZXMgPSBbYiJhIiwgYiJiIiwgYiJjIl0KICAgICAgICAgc2VsZi5zZXQgICAgPSBzZXQoc2VsZi52YWx1ZXMpCiAgICAgICAgIHNlbGYuZHVwICAgID0gc2V0KHNlbGYudmFsdWVzKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9zaHV0aWwucHkgYi9MaWIvdGVzdC90ZXN0X3NodXRpbC5weQppbmRleCA5MzI1YmM3Li5jNTU0NWJhIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3NodXRpbC5weQorKysgYi9MaWIvdGVzdC90ZXN0X3NodXRpbC5weQpAQCAtMzQsNiArMzQsMTIgQEAKIGV4Y2VwdCBJbXBvcnRFcnJvcjoKICAgICBCWjJfU1VQUE9SVEVEID0gRmFsc2UKIAordHJ5OgorICAgIGltcG9ydCBsem1hCisgICAgTFpNQV9TVVBQT1JURUQgPSBUcnVlCitleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgTFpNQV9TVVBQT1JURUQgPSBGYWxzZQorCiBURVNURk4yID0gVEVTVEZOICsgIjIiCiAKIHRyeToKQEAgLTExODksNiArMTE5NSw4IEBACiAgICAgICAgIGZvcm1hdHMgPSBbJ3RhcicsICdnenRhcicsICd6aXAnXQogICAgICAgICBpZiBCWjJfU1VQUE9SVEVEOgogICAgICAgICAgICAgZm9ybWF0cy5hcHBlbmQoJ2J6dGFyJykKKyAgICAgICAgaWYgTFpNQV9TVVBQT1JURUQ6CisgICAgICAgICAgICBmb3JtYXRzLmFwcGVuZCgneHp0YXInKQogCiAgICAgICAgIGZvciBmb3JtYXQgaW4gZm9ybWF0czoKICAgICAgICAgICAgIHRtcGRpciA9IHNlbGYubWtkdGVtcCgpCkBAIC0xNjI1LDYgKzE2MzMsMjQgQEAKICAgICAgICAgcnYgPSBzaHV0aWwubW92ZShzZWxmLnNyY19maWxlLCBvcy5wYXRoLmpvaW4oc2VsZi5kc3RfZGlyLCAnYmFyJykpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocnYsIG9zLnBhdGguam9pbihzZWxmLmRzdF9kaXIsICdiYXInKSkKIAorICAgIEBtb2NrX3JlbmFtZQorICAgIGRlZiB0ZXN0X21vdmVfZmlsZV9zcGVjaWFsX2Z1bmN0aW9uKHNlbGYpOgorICAgICAgICBtb3ZlZCA9IFtdCisgICAgICAgIGRlZiBfY29weShzcmMsIGRzdCk6CisgICAgICAgICAgICBtb3ZlZC5hcHBlbmQoKHNyYywgZHN0KSkKKyAgICAgICAgc2h1dGlsLm1vdmUoc2VsZi5zcmNfZmlsZSwgc2VsZi5kc3RfZGlyLCBjb3B5X2Z1bmN0aW9uPV9jb3B5KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihtb3ZlZCksIDEpCisKKyAgICBAbW9ja19yZW5hbWUKKyAgICBkZWYgdGVzdF9tb3ZlX2Rpcl9zcGVjaWFsX2Z1bmN0aW9uKHNlbGYpOgorICAgICAgICBtb3ZlZCA9IFtdCisgICAgICAgIGRlZiBfY29weShzcmMsIGRzdCk6CisgICAgICAgICAgICBtb3ZlZC5hcHBlbmQoKHNyYywgZHN0KSkKKyAgICAgICAgc3VwcG9ydC5jcmVhdGVfZW1wdHlfZmlsZShvcy5wYXRoLmpvaW4oc2VsZi5zcmNfZGlyLCAnY2hpbGQnKSkKKyAgICAgICAgc3VwcG9ydC5jcmVhdGVfZW1wdHlfZmlsZShvcy5wYXRoLmpvaW4oc2VsZi5zcmNfZGlyLCAnY2hpbGQxJykpCisgICAgICAgIHNodXRpbC5tb3ZlKHNlbGYuc3JjX2Rpciwgc2VsZi5kc3RfZGlyLCBjb3B5X2Z1bmN0aW9uPV9jb3B5KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihtb3ZlZCksIDMpCisKIAogY2xhc3MgVGVzdENvcHlGaWxlKHVuaXR0ZXN0LlRlc3RDYXNlKToKIApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9zaWduYWwucHkgYi9MaWIvdGVzdC90ZXN0X3NpZ25hbC5weQppbmRleCA3NGY3NGFmLi43NzRmYzgwIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3NpZ25hbC5weQorKysgYi9MaWIvdGVzdC90ZXN0X3NpZ25hbC5weQpAQCAtMSwxMCArMSwxMiBAQAogaW1wb3J0IHVuaXR0ZXN0CiBmcm9tIHRlc3QgaW1wb3J0IHN1cHBvcnQKIGZyb20gY29udGV4dGxpYiBpbXBvcnQgY2xvc2luZworaW1wb3J0IGVudW0KIGltcG9ydCBnYwogaW1wb3J0IHBpY2tsZQogaW1wb3J0IHNlbGVjdAogaW1wb3J0IHNpZ25hbAoraW1wb3J0IHNvY2tldAogaW1wb3J0IHN0cnVjdAogaW1wb3J0IHN1YnByb2Nlc3MKIGltcG9ydCB0cmFjZWJhY2sKQEAgLTE0LDYgKzE2LDEwIEBACiAgICAgaW1wb3J0IHRocmVhZGluZwogZXhjZXB0IEltcG9ydEVycm9yOgogICAgIHRocmVhZGluZyA9IE5vbmUKK3RyeToKKyAgICBpbXBvcnQgX3Rlc3RjYXBpCitleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgX3Rlc3RjYXBpID0gTm9uZQogCiAKIGNsYXNzIEhhbmRsZXJCQ2FsbGVkKEV4Y2VwdGlvbik6CkBAIC0zOSw2ICs0NSwyMyBAQAogICAgICAgICByZXR1cm4gTm9uZQogCiAKK2NsYXNzIEdlbmVyaWNUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICBAdW5pdHRlc3Quc2tpcElmKHRocmVhZGluZyBpcyBOb25lLCAidGVzdCBuZWVkcyB0aHJlYWRpbmcgbW9kdWxlIikKKyAgICBkZWYgdGVzdF9lbnVtcyhzZWxmKToKKyAgICAgICAgZm9yIG5hbWUgaW4gZGlyKHNpZ25hbCk6CisgICAgICAgICAgICBzaWcgPSBnZXRhdHRyKHNpZ25hbCwgbmFtZSkKKyAgICAgICAgICAgIGlmIG5hbWUgaW4geydTSUdfREZMJywgJ1NJR19JR04nfToKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2Uoc2lnLCBzaWduYWwuSGFuZGxlcnMpCisgICAgICAgICAgICBlbGlmIG5hbWUgaW4geydTSUdfQkxPQ0snLCAnU0lHX1VOQkxPQ0snLCAnU0lHX1NFVE1BU0snfToKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2Uoc2lnLCBzaWduYWwuU2lnbWFza3MpCisgICAgICAgICAgICBlbGlmIG5hbWUuc3RhcnRzd2l0aCgnU0lHJykgYW5kIG5vdCBuYW1lLnN0YXJ0c3dpdGgoJ1NJR18nKToKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2Uoc2lnLCBzaWduYWwuU2lnbmFscykKKyAgICAgICAgICAgIGVsaWYgbmFtZS5zdGFydHN3aXRoKCdDVFJMXycpOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShzaWcsIHNpZ25hbC5TaWduYWxzKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3lzLnBsYXRmb3JtLCAid2luMzIiKQorCisKIEB1bml0dGVzdC5za2lwSWYoc3lzLnBsYXRmb3JtID09ICJ3aW4zMiIsICJOb3QgdmFsaWQgb24gV2luZG93cyIpCiBjbGFzcyBJbnRlclByb2Nlc3NTaWduYWxUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgTUFYX0RVUkFUSU9OID0gMjAgICAjIEVudGlyZSB0ZXN0IHNob3VsZCBsYXN0IGF0IG1vc3QgMjAgc2VjLgpAQCAtMTk1LDYgKzIxOCw3IEBACiAKICAgICBkZWYgdGVzdF9nZXRzaWduYWwoc2VsZik6CiAgICAgICAgIGh1cCA9IHNpZ25hbC5zaWduYWwoc2lnbmFsLlNJR0hVUCwgc2VsZi50cml2aWFsX3NpZ25hbF9oYW5kbGVyKQorICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UoaHVwLCBzaWduYWwuSGFuZGxlcnMpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2lnbmFsLmdldHNpZ25hbChzaWduYWwuU0lHSFVQKSwKICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnRyaXZpYWxfc2lnbmFsX2hhbmRsZXIpCiAgICAgICAgIHNpZ25hbC5zaWduYWwoc2lnbmFsLlNJR0hVUCwgaHVwKQpAQCAtMjI5LDE1ICsyNTMsNzcgQEAKIAogICAgIGRlZiB0ZXN0X2ludmFsaWRfZmQoc2VsZik6CiAgICAgICAgIGZkID0gc3VwcG9ydC5tYWtlX2JhZF9mZCgpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIHNpZ25hbC5zZXRfd2FrZXVwX2ZkLCBmZCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoKFZhbHVlRXJyb3IsIE9TRXJyb3IpLAorICAgICAgICAgICAgICAgICAgICAgICAgICBzaWduYWwuc2V0X3dha2V1cF9mZCwgZmQpCisKKyAgICBkZWYgdGVzdF9pbnZhbGlkX3NvY2tldChzZWxmKToKKyAgICAgICAgc29jayA9IHNvY2tldC5zb2NrZXQoKQorICAgICAgICBmZCA9IHNvY2suZmlsZW5vKCkKKyAgICAgICAgc29jay5jbG9zZSgpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKChWYWx1ZUVycm9yLCBPU0Vycm9yKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc2lnbmFsLnNldF93YWtldXBfZmQsIGZkKQorCisgICAgZGVmIHRlc3Rfc2V0X3dha2V1cF9mZF9yZXN1bHQoc2VsZik6CisgICAgICAgIHIxLCB3MSA9IG9zLnBpcGUoKQorICAgICAgICBzZWxmLmFkZENsZWFudXAob3MuY2xvc2UsIHIxKQorICAgICAgICBzZWxmLmFkZENsZWFudXAob3MuY2xvc2UsIHcxKQorICAgICAgICByMiwgdzIgPSBvcy5waXBlKCkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKG9zLmNsb3NlLCByMikKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKG9zLmNsb3NlLCB3MikKKworICAgICAgICBpZiBoYXNhdHRyKG9zLCAnc2V0X2Jsb2NraW5nJyk6CisgICAgICAgICAgICBvcy5zZXRfYmxvY2tpbmcodzEsIEZhbHNlKQorICAgICAgICAgICAgb3Muc2V0X2Jsb2NraW5nKHcyLCBGYWxzZSkKKworICAgICAgICBzaWduYWwuc2V0X3dha2V1cF9mZCh3MSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzaWduYWwuc2V0X3dha2V1cF9mZCh3MiksIHcxKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNpZ25hbC5zZXRfd2FrZXVwX2ZkKC0xKSwgdzIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2lnbmFsLnNldF93YWtldXBfZmQoLTEpLCAtMSkKKworICAgIGRlZiB0ZXN0X3NldF93YWtldXBfZmRfc29ja2V0X3Jlc3VsdChzZWxmKToKKyAgICAgICAgc29jazEgPSBzb2NrZXQuc29ja2V0KCkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHNvY2sxLmNsb3NlKQorICAgICAgICBzb2NrMS5zZXRibG9ja2luZyhGYWxzZSkKKyAgICAgICAgZmQxID0gc29jazEuZmlsZW5vKCkKKworICAgICAgICBzb2NrMiA9IHNvY2tldC5zb2NrZXQoKQorICAgICAgICBzZWxmLmFkZENsZWFudXAoc29jazIuY2xvc2UpCisgICAgICAgIHNvY2syLnNldGJsb2NraW5nKEZhbHNlKQorICAgICAgICBmZDIgPSBzb2NrMi5maWxlbm8oKQorCisgICAgICAgIHNpZ25hbC5zZXRfd2FrZXVwX2ZkKGZkMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzaWduYWwuc2V0X3dha2V1cF9mZChmZDIpLCBmZDEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2lnbmFsLnNldF93YWtldXBfZmQoLTEpLCBmZDIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2lnbmFsLnNldF93YWtldXBfZmQoLTEpLCAtMSkKKworICAgICMgT24gV2luZG93cywgZmlsZXMgYXJlIGFsd2F5cyBibG9ja2luZyBhbmQgV2luZG93cyBkb2VzIG5vdCBwcm92aWRlIGEKKyAgICAjIGZ1bmN0aW9uIHRvIHRlc3QgaWYgYSBzb2NrZXQgaXMgaW4gbm9uLWJsb2NraW5nIG1vZGUuCisgICAgQHVuaXR0ZXN0LnNraXBJZihzeXMucGxhdGZvcm0gPT0gIndpbjMyIiwgInRlc3RzIHNwZWNpZmljIHRvIFBPU0lYIikKKyAgICBkZWYgdGVzdF9zZXRfd2FrZXVwX2ZkX2Jsb2NraW5nKHNlbGYpOgorICAgICAgICByZmQsIHdmZCA9IG9zLnBpcGUoKQorICAgICAgICBzZWxmLmFkZENsZWFudXAob3MuY2xvc2UsIHJmZCkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKG9zLmNsb3NlLCB3ZmQpCisKKyAgICAgICAgIyBmZCBtdXN0IGJlIG5vbi1ibG9ja2luZworICAgICAgICBvcy5zZXRfYmxvY2tpbmcod2ZkLCBUcnVlKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgc2lnbmFsLnNldF93YWtldXBfZmQod2ZkKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cihjbS5leGNlcHRpb24pLAorICAgICAgICAgICAgICAgICAgICAgICAgICJ0aGUgZmQgJXMgbXVzdCBiZSBpbiBub24tYmxvY2tpbmcgbW9kZSIgJSB3ZmQpCisKKyAgICAgICAgIyBub24tYmxvY2tpbmcgaXMgb2sKKyAgICAgICAgb3Muc2V0X2Jsb2NraW5nKHdmZCwgRmFsc2UpCisgICAgICAgIHNpZ25hbC5zZXRfd2FrZXVwX2ZkKHdmZCkKKyAgICAgICAgc2lnbmFsLnNldF93YWtldXBfZmQoLTEpCiAKIAogQHVuaXR0ZXN0LnNraXBJZihzeXMucGxhdGZvcm0gPT0gIndpbjMyIiwgIk5vdCB2YWxpZCBvbiBXaW5kb3dzIikKIGNsYXNzIFdha2V1cFNpZ25hbFRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICBAdW5pdHRlc3Quc2tpcElmKF90ZXN0Y2FwaSBpcyBOb25lLCAnbmVlZCBfdGVzdGNhcGknKQogICAgIGRlZiBjaGVja193YWtldXAoc2VsZiwgdGVzdF9ib2R5LCAqc2lnbmFscywgb3JkZXJlZD1UcnVlKToKICAgICAgICAgIyB1c2UgYSBzdWJwcm9jZXNzIHRvIGhhdmUgb25seSBvbmUgdGhyZWFkCiAgICAgICAgIGNvZGUgPSAiIiJpZiAxOgotICAgICAgICBpbXBvcnQgZmNudGwKKyAgICAgICAgaW1wb3J0IF90ZXN0Y2FwaQogICAgICAgICBpbXBvcnQgb3MKICAgICAgICAgaW1wb3J0IHNpZ25hbAogICAgICAgICBpbXBvcnQgc3RydWN0CkBAIC0yNjAsMTAgKzM0Niw3IEBACiAKICAgICAgICAgc2lnbmFsLnNpZ25hbChzaWduYWwuU0lHQUxSTSwgaGFuZGxlcikKICAgICAgICAgcmVhZCwgd3JpdGUgPSBvcy5waXBlKCkKLSAgICAgICAgZm9yIGZkIGluIChyZWFkLCB3cml0ZSk6Ci0gICAgICAgICAgICBmbGFncyA9IGZjbnRsLmZjbnRsKGZkLCBmY250bC5GX0dFVEZMLCAwKQotICAgICAgICAgICAgZmxhZ3MgPSBmbGFncyB8IG9zLk9fTk9OQkxPQ0sKLSAgICAgICAgICAgIGZjbnRsLmZjbnRsKGZkLCBmY250bC5GX1NFVEZMLCBmbGFncykKKyAgICAgICAgb3Muc2V0X2Jsb2NraW5nKHdyaXRlLCBGYWxzZSkKICAgICAgICAgc2lnbmFsLnNldF93YWtldXBfZmQod3JpdGUpCiAKICAgICAgICAgdGVzdCgpCkBAIC0yNzEsMjEgKzM1NCwyMSBAQAogCiAgICAgICAgIG9zLmNsb3NlKHJlYWQpCiAgICAgICAgIG9zLmNsb3NlKHdyaXRlKQotICAgICAgICAiIiIuZm9ybWF0KHNpZ25hbHMsIG9yZGVyZWQsIHRlc3RfYm9keSkKKyAgICAgICAgIiIiLmZvcm1hdCh0dXBsZShtYXAoaW50LCBzaWduYWxzKSksIG9yZGVyZWQsIHRlc3RfYm9keSkKIAogICAgICAgICBhc3NlcnRfcHl0aG9uX29rKCctYycsIGNvZGUpCiAKKyAgICBAdW5pdHRlc3Quc2tpcElmKF90ZXN0Y2FwaSBpcyBOb25lLCAnbmVlZCBfdGVzdGNhcGknKQogICAgIGRlZiB0ZXN0X3dha2V1cF93cml0ZV9lcnJvcihzZWxmKToKICAgICAgICAgIyBJc3N1ZSAjMTYxMDU6IHdyaXRlKCkgZXJyb3JzIGluIHRoZSBDIHNpZ25hbCBoYW5kbGVyIHNob3VsZCBub3QKICAgICAgICAgIyBwYXNzIHNpbGVudGx5LgogICAgICAgICAjIFVzZSBhIHN1YnByb2Nlc3MgdG8gaGF2ZSBvbmx5IG9uZSB0aHJlYWQuCiAgICAgICAgIGNvZGUgPSAiIiJpZiAxOgorICAgICAgICBpbXBvcnQgX3Rlc3RjYXBpCiAgICAgICAgIGltcG9ydCBlcnJubwotICAgICAgICBpbXBvcnQgZmNudGwKICAgICAgICAgaW1wb3J0IG9zCiAgICAgICAgIGltcG9ydCBzaWduYWwKICAgICAgICAgaW1wb3J0IHN5cwotICAgICAgICBpbXBvcnQgdGltZQogICAgICAgICBmcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgY2FwdHVyZWRfc3RkZXJyCiAKICAgICAgICAgZGVmIGhhbmRsZXIoc2lnbnVtLCBmcmFtZSk6CkBAIC0yOTMsMTUgKzM3NiwxMyBAQAogCiAgICAgICAgIHNpZ25hbC5zaWduYWwoc2lnbmFsLlNJR0FMUk0sIGhhbmRsZXIpCiAgICAgICAgIHIsIHcgPSBvcy5waXBlKCkKLSAgICAgICAgZmxhZ3MgPSBmY250bC5mY250bChyLCBmY250bC5GX0dFVEZMLCAwKQotICAgICAgICBmY250bC5mY250bChyLCBmY250bC5GX1NFVEZMLCBmbGFncyB8IG9zLk9fTk9OQkxPQ0spCisgICAgICAgIG9zLnNldF9ibG9ja2luZyhyLCBGYWxzZSkKIAogICAgICAgICAjIFNldCB3YWtldXBfZmQgYSByZWFkLW9ubHkgZmlsZSBkZXNjcmlwdG9yIHRvIHRyaWdnZXIgdGhlIGVycm9yCiAgICAgICAgIHNpZ25hbC5zZXRfd2FrZXVwX2ZkKHIpCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHdpdGggY2FwdHVyZWRfc3RkZXJyKCkgYXMgZXJyOgotICAgICAgICAgICAgICAgIHNpZ25hbC5hbGFybSgxKQotICAgICAgICAgICAgICAgIHRpbWUuc2xlZXAoNS4wKQorICAgICAgICAgICAgICAgIF90ZXN0Y2FwaS5yYWlzZV9zaWduYWwoc2lnbmFsLlNJR0FMUk0pCiAgICAgICAgIGV4Y2VwdCBaZXJvRGl2aXNpb25FcnJvcjoKICAgICAgICAgICAgICMgQW4gaWdub3JlZCBleGNlcHRpb24gc2hvdWxkIGhhdmUgYmVlbiBwcmludGVkIG91dCBvbiBzdGRlcnIKICAgICAgICAgICAgIGVyciA9IGVyci5nZXR2YWx1ZSgpCkBAIC0zMTIsNiArMzkzLDkgQEAKICAgICAgICAgICAgICAgICByYWlzZSBBc3NlcnRpb25FcnJvcihlcnIpCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICByYWlzZSBBc3NlcnRpb25FcnJvcigiWmVyb0RpdmlzaW9uRXJyb3Igbm90IHJhaXNlZCIpCisKKyAgICAgICAgb3MuY2xvc2UocikKKyAgICAgICAgb3MuY2xvc2UodykKICAgICAgICAgIiIiCiAgICAgICAgIHIsIHcgPSBvcy5waXBlKCkKICAgICAgICAgdHJ5OgpAQCAtMzc1LDkgKzQ1OSwxMCBAQAogCiAgICAgZGVmIHRlc3Rfc2lnbnVtKHNlbGYpOgogICAgICAgICBzZWxmLmNoZWNrX3dha2V1cCgiIiJkZWYgdGVzdCgpOgorICAgICAgICAgICAgaW1wb3J0IF90ZXN0Y2FwaQogICAgICAgICAgICAgc2lnbmFsLnNpZ25hbChzaWduYWwuU0lHVVNSMSwgaGFuZGxlcikKLSAgICAgICAgICAgIG9zLmtpbGwob3MuZ2V0cGlkKCksIHNpZ25hbC5TSUdVU1IxKQotICAgICAgICAgICAgb3Mua2lsbChvcy5nZXRwaWQoKSwgc2lnbmFsLlNJR0FMUk0pCisgICAgICAgICAgICBfdGVzdGNhcGkucmFpc2Vfc2lnbmFsKHNpZ25hbC5TSUdVU1IxKQorICAgICAgICAgICAgX3Rlc3RjYXBpLnJhaXNlX3NpZ25hbChzaWduYWwuU0lHQUxSTSkKICAgICAgICAgIiIiLCBzaWduYWwuU0lHVVNSMSwgc2lnbmFsLlNJR0FMUk0pCiAKICAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKHNpZ25hbCwgJ3B0aHJlYWRfc2lnbWFzaycpLApAQCAtMzkxLDEzICs0NzYsOTcgQEAKICAgICAgICAgICAgIHNpZ25hbC5zaWduYWwoc2lnbnVtMiwgaGFuZGxlcikKIAogICAgICAgICAgICAgc2lnbmFsLnB0aHJlYWRfc2lnbWFzayhzaWduYWwuU0lHX0JMT0NLLCAoc2lnbnVtMSwgc2lnbnVtMikpCi0gICAgICAgICAgICBvcy5raWxsKG9zLmdldHBpZCgpLCBzaWdudW0xKQotICAgICAgICAgICAgb3Mua2lsbChvcy5nZXRwaWQoKSwgc2lnbnVtMikKKyAgICAgICAgICAgIF90ZXN0Y2FwaS5yYWlzZV9zaWduYWwoc2lnbnVtMSkKKyAgICAgICAgICAgIF90ZXN0Y2FwaS5yYWlzZV9zaWduYWwoc2lnbnVtMikKICAgICAgICAgICAgICMgVW5ibG9ja2luZyB0aGUgMiBzaWduYWxzIGNhbGxzIHRoZSBDIHNpZ25hbCBoYW5kbGVyIHR3aWNlCiAgICAgICAgICAgICBzaWduYWwucHRocmVhZF9zaWdtYXNrKHNpZ25hbC5TSUdfVU5CTE9DSywgKHNpZ251bTEsIHNpZ251bTIpKQogICAgICAgICAiIiIsICBzaWduYWwuU0lHVVNSMSwgc2lnbmFsLlNJR1VTUjIsIG9yZGVyZWQ9RmFsc2UpCiAKIAorQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihzb2NrZXQsICdzb2NrZXRwYWlyJyksICduZWVkIHNvY2tldC5zb2NrZXRwYWlyJykKK2NsYXNzIFdha2V1cFNvY2tldFNpZ25hbFRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIEB1bml0dGVzdC5za2lwSWYoX3Rlc3RjYXBpIGlzIE5vbmUsICduZWVkIF90ZXN0Y2FwaScpCisgICAgZGVmIHRlc3Rfc29ja2V0KHNlbGYpOgorICAgICAgICAjIHVzZSBhIHN1YnByb2Nlc3MgdG8gaGF2ZSBvbmx5IG9uZSB0aHJlYWQKKyAgICAgICAgY29kZSA9ICIiImlmIDE6CisgICAgICAgIGltcG9ydCBzaWduYWwKKyAgICAgICAgaW1wb3J0IHNvY2tldAorICAgICAgICBpbXBvcnQgc3RydWN0CisgICAgICAgIGltcG9ydCBfdGVzdGNhcGkKKworICAgICAgICBzaWdudW0gPSBzaWduYWwuU0lHSU5UCisgICAgICAgIHNpZ25hbHMgPSAoc2lnbnVtLCkKKworICAgICAgICBkZWYgaGFuZGxlcihzaWdudW0sIGZyYW1lKToKKyAgICAgICAgICAgIHBhc3MKKworICAgICAgICBzaWduYWwuc2lnbmFsKHNpZ251bSwgaGFuZGxlcikKKworICAgICAgICByZWFkLCB3cml0ZSA9IHNvY2tldC5zb2NrZXRwYWlyKCkKKyAgICAgICAgcmVhZC5zZXRibG9ja2luZyhGYWxzZSkKKyAgICAgICAgd3JpdGUuc2V0YmxvY2tpbmcoRmFsc2UpCisgICAgICAgIHNpZ25hbC5zZXRfd2FrZXVwX2ZkKHdyaXRlLmZpbGVubygpKQorCisgICAgICAgIF90ZXN0Y2FwaS5yYWlzZV9zaWduYWwoc2lnbnVtKQorCisgICAgICAgIGRhdGEgPSByZWFkLnJlY3YoMSkKKyAgICAgICAgaWYgbm90IGRhdGE6CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIm5vIHNpZ251bSB3cml0dGVuIikKKyAgICAgICAgcmFpc2VkID0gc3RydWN0LnVucGFjaygnQicsIGRhdGEpCisgICAgICAgIGlmIHJhaXNlZCAhPSBzaWduYWxzOgorICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCIlciAhPSAlciIgJSAocmFpc2VkLCBzaWduYWxzKSkKKworICAgICAgICByZWFkLmNsb3NlKCkKKyAgICAgICAgd3JpdGUuY2xvc2UoKQorICAgICAgICAiIiIKKworICAgICAgICBhc3NlcnRfcHl0aG9uX29rKCctYycsIGNvZGUpCisKKyAgICBAdW5pdHRlc3Quc2tpcElmKF90ZXN0Y2FwaSBpcyBOb25lLCAnbmVlZCBfdGVzdGNhcGknKQorICAgIGRlZiB0ZXN0X3NlbmRfZXJyb3Ioc2VsZik6CisgICAgICAgICMgVXNlIGEgc3VicHJvY2VzcyB0byBoYXZlIG9ubHkgb25lIHRocmVhZC4KKyAgICAgICAgaWYgb3MubmFtZSA9PSAnbnQnOgorICAgICAgICAgICAgYWN0aW9uID0gJ3NlbmQnCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBhY3Rpb24gPSAnd3JpdGUnCisgICAgICAgIGNvZGUgPSAiIiJpZiAxOgorICAgICAgICBpbXBvcnQgZXJybm8KKyAgICAgICAgaW1wb3J0IHNpZ25hbAorICAgICAgICBpbXBvcnQgc29ja2V0CisgICAgICAgIGltcG9ydCBzeXMKKyAgICAgICAgaW1wb3J0IHRpbWUKKyAgICAgICAgaW1wb3J0IF90ZXN0Y2FwaQorICAgICAgICBmcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgY2FwdHVyZWRfc3RkZXJyCisKKyAgICAgICAgc2lnbnVtID0gc2lnbmFsLlNJR0lOVAorCisgICAgICAgIGRlZiBoYW5kbGVyKHNpZ251bSwgZnJhbWUpOgorICAgICAgICAgICAgcGFzcworCisgICAgICAgIHNpZ25hbC5zaWduYWwoc2lnbnVtLCBoYW5kbGVyKQorCisgICAgICAgIHJlYWQsIHdyaXRlID0gc29ja2V0LnNvY2tldHBhaXIoKQorICAgICAgICByZWFkLnNldGJsb2NraW5nKEZhbHNlKQorICAgICAgICB3cml0ZS5zZXRibG9ja2luZyhGYWxzZSkKKworICAgICAgICBzaWduYWwuc2V0X3dha2V1cF9mZCh3cml0ZS5maWxlbm8oKSkKKworICAgICAgICAjIENsb3NlIHNvY2tldHM6IHNlbmQoKSB3aWxsIGZhaWwKKyAgICAgICAgcmVhZC5jbG9zZSgpCisgICAgICAgIHdyaXRlLmNsb3NlKCkKKworICAgICAgICB3aXRoIGNhcHR1cmVkX3N0ZGVycigpIGFzIGVycjoKKyAgICAgICAgICAgIF90ZXN0Y2FwaS5yYWlzZV9zaWduYWwoc2lnbnVtKQorCisgICAgICAgIGVyciA9IGVyci5nZXR2YWx1ZSgpCisgICAgICAgIGlmICgnRXhjZXB0aW9uIGlnbm9yZWQgd2hlbiB0cnlpbmcgdG8ge2FjdGlvbn0gdG8gdGhlIHNpZ25hbCB3YWtldXAgZmQnCisgICAgICAgICAgICBub3QgaW4gZXJyKToKKyAgICAgICAgICAgIHJhaXNlIEFzc2VydGlvbkVycm9yKGVycikKKyAgICAgICAgIiIiLmZvcm1hdChhY3Rpb249YWN0aW9uKQorICAgICAgICBhc3NlcnRfcHl0aG9uX29rKCctYycsIGNvZGUpCisKKwogQHVuaXR0ZXN0LnNraXBJZihzeXMucGxhdGZvcm0gPT0gIndpbjMyIiwgIk5vdCB2YWxpZCBvbiBXaW5kb3dzIikKIGNsYXNzIFNpZ2ludGVycnVwdFRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogCkBAIC00MTgsNyArNTg3LDcgQEAKICAgICAgICAgICAgIHIsIHcgPSBvcy5waXBlKCkKIAogICAgICAgICAgICAgZGVmIGhhbmRsZXIoc2lnbnVtLCBmcmFtZSk6Ci0gICAgICAgICAgICAgICAgcGFzcworICAgICAgICAgICAgICAgIDEgLyAwCiAKICAgICAgICAgICAgIHNpZ25hbC5zaWduYWwoc2lnbmFsLlNJR0FMUk0sIGhhbmRsZXIpCiAgICAgICAgICAgICBpZiBpbnRlcnJ1cHQgaXMgbm90IE5vbmU6CkBAIC00MjgsMTggKzU5NywyMSBAQAogICAgICAgICAgICAgc3lzLnN0ZG91dC5mbHVzaCgpCiAKICAgICAgICAgICAgICMgcnVuIHRoZSB0ZXN0IHR3aWNlCi0gICAgICAgICAgICBmb3IgbG9vcCBpbiByYW5nZSgyKToKLSAgICAgICAgICAgICAgICAjIHNlbmQgYSBTSUdBTFJNIGluIGEgc2Vjb25kIChkdXJpbmcgdGhlIHJlYWQpCi0gICAgICAgICAgICAgICAgc2lnbmFsLmFsYXJtKDEpCi0gICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICAjIGJsb2NraW5nIGNhbGw6IHJlYWQgZnJvbSBhIHBpcGUgd2l0aG91dCBkYXRhCi0gICAgICAgICAgICAgICAgICAgIG9zLnJlYWQociwgMSkKLSAgICAgICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlcnI6Ci0gICAgICAgICAgICAgICAgICAgIGlmIGVyci5lcnJubyAhPSBlcnJuby5FSU5UUjoKLSAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgc3lzLmV4aXQoMikKLSAgICAgICAgICAgIHN5cy5leGl0KDMpCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgZm9yIGxvb3AgaW4gcmFuZ2UoMik6CisgICAgICAgICAgICAgICAgICAgICMgc2VuZCBhIFNJR0FMUk0gaW4gYSBzZWNvbmQgKGR1cmluZyB0aGUgcmVhZCkKKyAgICAgICAgICAgICAgICAgICAgc2lnbmFsLmFsYXJtKDEpCisgICAgICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgICAgICMgYmxvY2tpbmcgY2FsbDogcmVhZCBmcm9tIGEgcGlwZSB3aXRob3V0IGRhdGEKKyAgICAgICAgICAgICAgICAgICAgICAgIG9zLnJlYWQociwgMSkKKyAgICAgICAgICAgICAgICAgICAgZXhjZXB0IFplcm9EaXZpc2lvbkVycm9yOgorICAgICAgICAgICAgICAgICAgICAgICAgcGFzcworICAgICAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAgICAgc3lzLmV4aXQoMikKKyAgICAgICAgICAgICAgICBzeXMuZXhpdCgzKQorICAgICAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgICAgICBvcy5jbG9zZShyKQorICAgICAgICAgICAgICAgIG9zLmNsb3NlKHcpCiAgICAgICAgICIiIiAlIChpbnRlcnJ1cHQsKQogICAgICAgICB3aXRoIHNwYXduX3B5dGhvbignLWMnLCBjb2RlKSBhcyBwcm9jZXNzOgogICAgICAgICAgICAgdHJ5OgpAQCAtNjA0LDYgKzc3Niw4IEBACiAgICAgICAgICAgICBzaWduYWwucHRocmVhZF9zaWdtYXNrKHNpZ25hbC5TSUdfQkxPQ0ssIFtzaWdudW1dKQogICAgICAgICAgICAgb3Mua2lsbChvcy5nZXRwaWQoKSwgc2lnbnVtKQogICAgICAgICAgICAgcGVuZGluZyA9IHNpZ25hbC5zaWdwZW5kaW5nKCkKKyAgICAgICAgICAgIGZvciBzaWcgaW4gcGVuZGluZzoKKyAgICAgICAgICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShzaWcsIHNpZ25hbC5TaWduYWxzKSwgcmVwcihwZW5kaW5nKQogICAgICAgICAgICAgaWYgcGVuZGluZyAhPSB7c2lnbnVtfToKICAgICAgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oJyVzICE9IHslc30nICUgKHBlbmRpbmcsIHNpZ251bSkpCiAgICAgICAgICAgICB0cnk6CkBAIC02NjAsNiArODM0LDcgQEAKICAgICAgICAgY29kZSA9ICcnJ2lmIDE6CiAgICAgICAgIGltcG9ydCBzaWduYWwKICAgICAgICAgaW1wb3J0IHN5cworICAgICAgICBmcm9tIHNpZ25hbCBpbXBvcnQgU2lnbmFscwogCiAgICAgICAgIGRlZiBoYW5kbGVyKHNpZ251bSwgZnJhbWUpOgogICAgICAgICAgICAgMS8wCkBAIC03MDIsNiArODc3LDcgQEAKICAgICAgICAgZGVmIHRlc3Qoc2lnbnVtKToKICAgICAgICAgICAgIHNpZ25hbC5hbGFybSgxKQogICAgICAgICAgICAgcmVjZWl2ZWQgPSBzaWduYWwuc2lnd2FpdChbc2lnbnVtXSkKKyAgICAgICAgICAgIGFzc2VydCBpc2luc3RhbmNlKHJlY2VpdmVkLCBzaWduYWwuU2lnbmFscyksIHJlY2VpdmVkCiAgICAgICAgICAgICBpZiByZWNlaXZlZCAhPSBzaWdudW06CiAgICAgICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCdyZWNlaXZlZCAlcywgbm90ICVzJyAlIChyZWNlaXZlZCwgc2lnbnVtKSkKICAgICAgICAgJycnKQpAQCAtODQyLDggKzEwMTgsMTQgQEAKICAgICAgICAgZGVmIGtpbGwoc2lnbnVtKToKICAgICAgICAgICAgIG9zLmtpbGwob3MuZ2V0cGlkKCksIHNpZ251bSkKIAorICAgICAgICBkZWYgY2hlY2tfbWFzayhtYXNrKToKKyAgICAgICAgICAgIGZvciBzaWcgaW4gbWFzazoKKyAgICAgICAgICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShzaWcsIHNpZ25hbC5TaWduYWxzKSwgcmVwcihzaWcpCisKICAgICAgICAgZGVmIHJlYWRfc2lnbWFzaygpOgotICAgICAgICAgICAgcmV0dXJuIHNpZ25hbC5wdGhyZWFkX3NpZ21hc2soc2lnbmFsLlNJR19CTE9DSywgW10pCisgICAgICAgICAgICBzaWdtYXNrID0gc2lnbmFsLnB0aHJlYWRfc2lnbWFzayhzaWduYWwuU0lHX0JMT0NLLCBbXSkKKyAgICAgICAgICAgIGNoZWNrX21hc2soc2lnbWFzaykKKyAgICAgICAgICAgIHJldHVybiBzaWdtYXNrCiAKICAgICAgICAgc2lnbnVtID0gc2lnbmFsLlNJR1VTUjEKIApAQCAtODUyLDYgKzEwMzQsNyBAQAogCiAgICAgICAgICMgVW5ibG9jayBTSUdVU1IxIChhbmQgY29weSB0aGUgb2xkIG1hc2spIHRvIHRlc3Qgb3VyIHNpZ25hbCBoYW5kbGVyCiAgICAgICAgIG9sZF9tYXNrID0gc2lnbmFsLnB0aHJlYWRfc2lnbWFzayhzaWduYWwuU0lHX1VOQkxPQ0ssIFtzaWdudW1dKQorICAgICAgICBjaGVja19tYXNrKG9sZF9tYXNrKQogICAgICAgICB0cnk6CiAgICAgICAgICAgICBraWxsKHNpZ251bSkKICAgICAgICAgZXhjZXB0IFplcm9EaXZpc2lvbkVycm9yOgpAQCAtODYxLDExICsxMDQ0LDEzIEBACiAKICAgICAgICAgIyBCbG9jayBhbmQgdGhlbiByYWlzZSBTSUdVU1IxLiBUaGUgc2lnbmFsIGlzIGJsb2NrZWQ6IHRoZSBzaWduYWwKICAgICAgICAgIyBoYW5kbGVyIGlzIG5vdCBjYWxsZWQsIGFuZCB0aGUgc2lnbmFsIGlzIG5vdyBwZW5kaW5nCi0gICAgICAgIHNpZ25hbC5wdGhyZWFkX3NpZ21hc2soc2lnbmFsLlNJR19CTE9DSywgW3NpZ251bV0pCisgICAgICAgIG1hc2sgPSBzaWduYWwucHRocmVhZF9zaWdtYXNrKHNpZ25hbC5TSUdfQkxPQ0ssIFtzaWdudW1dKQorICAgICAgICBjaGVja19tYXNrKG1hc2spCiAgICAgICAgIGtpbGwoc2lnbnVtKQogCiAgICAgICAgICMgQ2hlY2sgdGhlIG5ldyBtYXNrCiAgICAgICAgIGJsb2NrZWQgPSByZWFkX3NpZ21hc2soKQorICAgICAgICBjaGVja19tYXNrKGJsb2NrZWQpCiAgICAgICAgIGlmIHNpZ251bSBub3QgaW4gYmxvY2tlZDoKICAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiJXMgbm90IGluICVzIiAlIChzaWdudW0sIGJsb2NrZWQpKQogICAgICAgICBpZiBvbGRfbWFzayBeIGJsb2NrZWQgIT0ge3NpZ251bX06CkBAIC05MjgsOCArMTExMyw5IEBACiAKIGRlZiB0ZXN0X21haW4oKToKICAgICB0cnk6Ci0gICAgICAgIHN1cHBvcnQucnVuX3VuaXR0ZXN0KFBvc2l4VGVzdHMsIEludGVyUHJvY2Vzc1NpZ25hbFRlc3RzLAorICAgICAgICBzdXBwb3J0LnJ1bl91bml0dGVzdChHZW5lcmljVGVzdHMsIFBvc2l4VGVzdHMsIEludGVyUHJvY2Vzc1NpZ25hbFRlc3RzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXYWtldXBGRFRlc3RzLCBXYWtldXBTaWduYWxUZXN0cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2FrZXVwU29ja2V0U2lnbmFsVGVzdHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNpZ2ludGVycnVwdFRlc3QsIEl0aW1lclRlc3QsIFdpbmRvd3NTaWduYWxUZXN0cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGVuZGluZ1NpZ25hbHNUZXN0cykKICAgICBmaW5hbGx5OgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9zaXRlLnB5IGIvTGliL3Rlc3QvdGVzdF9zaXRlLnB5CmluZGV4IGY3MWNmNzMuLmUyMzQxNjQgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfc2l0ZS5weQorKysgYi9MaWIvdGVzdC90ZXN0X3NpdGUucHkKQEAgLTE0Nyw3ICsxNDcsNyBAQAogICAgICAgICAgICAgcmUuZXNjYXBlKG9zLnBhdGguam9pbihwdGhfZGlyLCBwdGhfZm4pKSkKICAgICAgICAgIyBYWFg6IGRpdHRvIHByZXZpb3VzIFhYWCBjb21tZW50LgogICAgICAgICBzZWxmLmFzc2VydFJlZ2V4KGVycl9vdXQuZ2V0dmFsdWUoKSwgJ1RyYWNlYmFjaycpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmVnZXgoZXJyX291dC5nZXR2YWx1ZSgpLCAnVHlwZUVycm9yJykKKyAgICAgICAgc2VsZi5hc3NlcnRSZWdleChlcnJfb3V0LmdldHZhbHVlKCksICdWYWx1ZUVycm9yJykKIAogICAgIGRlZiB0ZXN0X2FkZHNpdGVkaXIoc2VsZik6CiAgICAgICAgICMgU2FtZSB0ZXN0cyBmb3IgdGVzdF9hZGRwYWNrYWdlIHNpbmNlIGFkZHNpdGVkaXIoKSBlc3NlbnRpYWxseSBqdXN0CkBAIC0yMzUsMjAgKzIzNSwxOCBAQAogICAgICAgICAgICAgIyBPUyBYIGZyYW1ld29yayBidWlsZHMKICAgICAgICAgICAgIHNpdGUuUFJFRklYRVMgPSBbJ1B5dGhvbi5mcmFtZXdvcmsnXQogICAgICAgICAgICAgZGlycyA9IHNpdGUuZ2V0c2l0ZXBhY2thZ2VzKCkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGRpcnMpLCAzKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oZGlycyksIDIpCiAgICAgICAgICAgICB3YW50ZWQgPSBvcy5wYXRoLmpvaW4oJy9MaWJyYXJ5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXIoIlBZVEhPTkZSQU1FV09SSyIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5cy52ZXJzaW9uWzozXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2l0ZS1wYWNrYWdlcycpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRpcnNbMl0sIHdhbnRlZCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGlyc1sxXSwgd2FudGVkKQogICAgICAgICBlbGlmIG9zLnNlcCA9PSAnLyc6CiAgICAgICAgICAgICAjIE9TIFggbm9uLWZyYW13ZXdvcmsgYnVpbGRzLCBMaW51eCwgRnJlZUJTRCwgZXRjCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihkaXJzKSwgMikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGRpcnMpLCAxKQogICAgICAgICAgICAgd2FudGVkID0gb3MucGF0aC5qb2luKCd4b3hvJywgJ2xpYicsICdweXRob24nICsgc3lzLnZlcnNpb25bOjNdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzaXRlLXBhY2thZ2VzJykKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGlyc1swXSwgd2FudGVkKQotICAgICAgICAgICAgd2FudGVkID0gb3MucGF0aC5qb2luKCd4b3hvJywgJ2xpYicsICdzaXRlLXB5dGhvbicpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRpcnNbMV0sIHdhbnRlZCkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgICMgb3RoZXIgcGxhdGZvcm1zCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihkaXJzKSwgMikKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfc210cGQucHkgYi9MaWIvdGVzdC90ZXN0X3NtdHBkLnB5CmluZGV4IDkzZjE0YzQuLjZlYjQ3ZjEgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfc210cGQucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9zbXRwZC5weQpAQCAtMSw0ICsxLDUgQEAKIGltcG9ydCB1bml0dGVzdAoraW1wb3J0IHRleHR3cmFwCiBmcm9tIHRlc3QgaW1wb3J0IHN1cHBvcnQsIG1vY2tfc29ja2V0CiBpbXBvcnQgc29ja2V0CiBpbXBvcnQgaW8KQEAgLTcsMTUgKzgsMjIgQEAKIAogCiBjbGFzcyBEdW1teVNlcnZlcihzbXRwZC5TTVRQU2VydmVyKToKLSAgICBkZWYgX19pbml0X18oc2VsZiwgbG9jYWxhZGRyLCByZW1vdGVhZGRyKToKLSAgICAgICAgc210cGQuU01UUFNlcnZlci5fX2luaXRfXyhzZWxmLCBsb2NhbGFkZHIsIHJlbW90ZWFkZHIpCisgICAgZGVmIF9faW5pdF9fKHNlbGYsICphcmdzLCAqKmt3YXJncyk6CisgICAgICAgIHNtdHBkLlNNVFBTZXJ2ZXIuX19pbml0X18oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKQogICAgICAgICBzZWxmLm1lc3NhZ2VzID0gW10KKyAgICAgICAgaWYgc2VsZi5fZGVjb2RlX2RhdGE6CisgICAgICAgICAgICBzZWxmLnJldHVybl9zdGF0dXMgPSAncmV0dXJuIHN0YXR1cycKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYucmV0dXJuX3N0YXR1cyA9IGIncmV0dXJuIHN0YXR1cycKIAogICAgIGRlZiBwcm9jZXNzX21lc3NhZ2Uoc2VsZiwgcGVlciwgbWFpbGZyb20sIHJjcHR0b3MsIGRhdGEpOgogICAgICAgICBzZWxmLm1lc3NhZ2VzLmFwcGVuZCgocGVlciwgbWFpbGZyb20sIHJjcHR0b3MsIGRhdGEpKQotICAgICAgICBpZiBkYXRhID09ICdyZXR1cm4gc3RhdHVzJzoKKyAgICAgICAgaWYgZGF0YSA9PSBzZWxmLnJldHVybl9zdGF0dXM6CiAgICAgICAgICAgICByZXR1cm4gJzI1MCBPa2lzaCcKIAorICAgIGRlZiBwcm9jZXNzX3NtdHB1dGY4X21lc3NhZ2Uoc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgcmV0dXJuICcyNTAgU01UUFVURjggbWVzc2FnZSBva2lzaCcKKwogCiBjbGFzcyBEdW1teURpc3BhdGNoZXJCcm9rZW4oRXhjZXB0aW9uKToKICAgICBwYXNzCkBAIC0zMSw5ICszOSwxMCBAQAogICAgICAgICBzbXRwZC5zb2NrZXQgPSBhc3luY29yZS5zb2NrZXQgPSBtb2NrX3NvY2tldAogCiAgICAgZGVmIHRlc3RfcHJvY2Vzc19tZXNzYWdlX3VuaW1wbGVtZW50ZWQoc2VsZik6Ci0gICAgICAgIHNlcnZlciA9IHNtdHBkLlNNVFBTZXJ2ZXIoJ2EnLCAnYicpCisgICAgICAgIHNlcnZlciA9IHNtdHBkLlNNVFBTZXJ2ZXIoKHN1cHBvcnQuSE9TVCwgMCksICgnYicsIDApLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY29kZV9kYXRhPVRydWUpCiAgICAgICAgIGNvbm4sIGFkZHIgPSBzZXJ2ZXIuYWNjZXB0KCkKLSAgICAgICAgY2hhbm5lbCA9IHNtdHBkLlNNVFBDaGFubmVsKHNlcnZlciwgY29ubiwgYWRkcikKKyAgICAgICAgY2hhbm5lbCA9IHNtdHBkLlNNVFBDaGFubmVsKHNlcnZlciwgY29ubiwgYWRkciwgZGVjb2RlX2RhdGE9VHJ1ZSkKIAogICAgICAgICBkZWYgd3JpdGVfbGluZShsaW5lKToKICAgICAgICAgICAgIGNoYW5uZWwuc29ja2V0LnF1ZXVlX3JlY3YobGluZSkKQEAgLTQ1LDE5ICs1NCwxNjMgQEAKICAgICAgICAgd3JpdGVfbGluZShiJ0RBVEEnKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhOb3RJbXBsZW1lbnRlZEVycm9yLCB3cml0ZV9saW5lLCBiJ3NwYW1cclxuLlxyXG4nKQogCisgICAgZGVmIHRlc3RfcHJvY2Vzc19zbXRwdXRmOF9tZXNzYWdlX3VuaW1wbGVtZW50ZWQoc2VsZik6CisgICAgICAgIHNlcnZlciA9IHNtdHBkLlNNVFBTZXJ2ZXIoKHN1cHBvcnQuSE9TVCwgMCksICgnYicsIDApLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZV9TTVRQVVRGOD1UcnVlKQorICAgICAgICBjb25uLCBhZGRyID0gc2VydmVyLmFjY2VwdCgpCisgICAgICAgIGNoYW5uZWwgPSBzbXRwZC5TTVRQQ2hhbm5lbChzZXJ2ZXIsIGNvbm4sIGFkZHIsIGVuYWJsZV9TTVRQVVRGOD1UcnVlKQorCisgICAgICAgIGRlZiB3cml0ZV9saW5lKGxpbmUpOgorICAgICAgICAgICAgY2hhbm5lbC5zb2NrZXQucXVldWVfcmVjdihsaW5lKQorICAgICAgICAgICAgY2hhbm5lbC5oYW5kbGVfcmVhZCgpCisKKyAgICAgICAgd3JpdGVfbGluZShiJ0VITE8gZXhhbXBsZScpCisgICAgICAgIHdyaXRlX2xpbmUoYidNQUlMIEZyb206IDxlZ2dzQGV4YW1wbGU+IEJPRFk9OEJJVE1JTUUgU01UUFVURjgnKQorICAgICAgICB3cml0ZV9saW5lKGInUkNQVCBUbzogPHNwYW1AZXhhbXBsZT4nKQorICAgICAgICB3cml0ZV9saW5lKGInREFUQScpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE5vdEltcGxlbWVudGVkRXJyb3IsIHdyaXRlX2xpbmUsIGInc3BhbVxyXG4uXHJcbicpCisKKyAgICBkZWYgdGVzdF9kZWNvZGVfZGF0YV9kZWZhdWx0X3dhcm5zKHNlbGYpOgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0V2FybnMoRGVwcmVjYXRpb25XYXJuaW5nKToKKyAgICAgICAgICAgIHNtdHBkLlNNVFBTZXJ2ZXIoKHN1cHBvcnQuSE9TVCwgMCksICgnYicsIDApKQorCisgICAgZGVmIHRlc3RfZGVjb2RlX2RhdGFfYW5kX2VuYWJsZV9TTVRQVVRGOF9yYWlzZXMoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKAorICAgICAgICAgICAgVmFsdWVFcnJvciwKKyAgICAgICAgICAgIHNtdHBkLlNNVFBTZXJ2ZXIsCisgICAgICAgICAgICAoc3VwcG9ydC5IT1NULCAwKSwKKyAgICAgICAgICAgICgnYicsIDApLAorICAgICAgICAgICAgZW5hYmxlX1NNVFBVVEY4PVRydWUsCisgICAgICAgICAgICBkZWNvZGVfZGF0YT1UcnVlKQorCiAgICAgZGVmIHRlYXJEb3duKHNlbGYpOgogICAgICAgICBhc3luY29yZS5jbG9zZV9hbGwoKQogICAgICAgICBhc3luY29yZS5zb2NrZXQgPSBzbXRwZC5zb2NrZXQgPSBzb2NrZXQKIAogCitjbGFzcyBEZWJ1Z2dpbmdTZXJ2ZXJUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc210cGQuc29ja2V0ID0gYXN5bmNvcmUuc29ja2V0ID0gbW9ja19zb2NrZXQKKworICAgIGRlZiBzZW5kX2RhdGEoc2VsZiwgY2hhbm5lbCwgZGF0YSwgZW5hYmxlX1NNVFBVVEY4PUZhbHNlKToKKyAgICAgICAgZGVmIHdyaXRlX2xpbmUobGluZSk6CisgICAgICAgICAgICBjaGFubmVsLnNvY2tldC5xdWV1ZV9yZWN2KGxpbmUpCisgICAgICAgICAgICBjaGFubmVsLmhhbmRsZV9yZWFkKCkKKyAgICAgICAgd3JpdGVfbGluZShiJ0VITE8gZXhhbXBsZScpCisgICAgICAgIGlmIGVuYWJsZV9TTVRQVVRGODoKKyAgICAgICAgICAgIHdyaXRlX2xpbmUoYidNQUlMIEZyb206ZWdnc0BleGFtcGxlIEJPRFk9OEJJVE1JTUUgU01UUFVURjgnKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgd3JpdGVfbGluZShiJ01BSUwgRnJvbTplZ2dzQGV4YW1wbGUnKQorICAgICAgICB3cml0ZV9saW5lKGInUkNQVCBUbzpzcGFtQGV4YW1wbGUnKQorICAgICAgICB3cml0ZV9saW5lKGInREFUQScpCisgICAgICAgIHdyaXRlX2xpbmUoZGF0YSkKKyAgICAgICAgd3JpdGVfbGluZShiJy4nKQorCisgICAgZGVmIHRlc3RfcHJvY2Vzc19tZXNzYWdlX3dpdGhfZGVjb2RlX2RhdGFfdHJ1ZShzZWxmKToKKyAgICAgICAgc2VydmVyID0gc210cGQuRGVidWdnaW5nU2VydmVyKChzdXBwb3J0LkhPU1QsIDApLCAoJ2InLCAwKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY29kZV9kYXRhPVRydWUpCisgICAgICAgIGNvbm4sIGFkZHIgPSBzZXJ2ZXIuYWNjZXB0KCkKKyAgICAgICAgY2hhbm5lbCA9IHNtdHBkLlNNVFBDaGFubmVsKHNlcnZlciwgY29ubiwgYWRkciwgZGVjb2RlX2RhdGE9VHJ1ZSkKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNhcHR1cmVkX3N0ZG91dCgpIGFzIHM6CisgICAgICAgICAgICBzZWxmLnNlbmRfZGF0YShjaGFubmVsLCBiJ0Zyb206IHRlc3RcblxuaGVsbG9cbicpCisgICAgICAgIHN0ZG91dCA9IHMuZ2V0dmFsdWUoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0ZG91dCwgdGV4dHdyYXAuZGVkZW50KCIiIlwKKyAgICAgICAgICAgICAtLS0tLS0tLS0tIE1FU1NBR0UgRk9MTE9XUyAtLS0tLS0tLS0tCisgICAgICAgICAgICAgRnJvbTogdGVzdAorICAgICAgICAgICAgIFgtUGVlcjogcGVlci1hZGRyZXNzCisKKyAgICAgICAgICAgICBoZWxsbworICAgICAgICAgICAgIC0tLS0tLS0tLS0tLSBFTkQgTUVTU0FHRSAtLS0tLS0tLS0tLS0KKyAgICAgICAgICAgICAiIiIpKQorCisgICAgZGVmIHRlc3RfcHJvY2Vzc19tZXNzYWdlX3dpdGhfZGVjb2RlX2RhdGFfZmFsc2Uoc2VsZik6CisgICAgICAgIHNlcnZlciA9IHNtdHBkLkRlYnVnZ2luZ1NlcnZlcigoc3VwcG9ydC5IT1NULCAwKSwgKCdiJywgMCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWNvZGVfZGF0YT1GYWxzZSkKKyAgICAgICAgY29ubiwgYWRkciA9IHNlcnZlci5hY2NlcHQoKQorICAgICAgICBjaGFubmVsID0gc210cGQuU01UUENoYW5uZWwoc2VydmVyLCBjb25uLCBhZGRyLCBkZWNvZGVfZGF0YT1GYWxzZSkKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNhcHR1cmVkX3N0ZG91dCgpIGFzIHM6CisgICAgICAgICAgICBzZWxmLnNlbmRfZGF0YShjaGFubmVsLCBiJ0Zyb206IHRlc3RcblxuaFx4YzNceGE5bGxvXHhmZlxuJykKKyAgICAgICAgc3Rkb3V0ID0gcy5nZXR2YWx1ZSgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3Rkb3V0LCB0ZXh0d3JhcC5kZWRlbnQoIiIiXAorICAgICAgICAgICAgIC0tLS0tLS0tLS0gTUVTU0FHRSBGT0xMT1dTIC0tLS0tLS0tLS0KKyAgICAgICAgICAgICBiJ0Zyb206IHRlc3QnCisgICAgICAgICAgICAgYidYLVBlZXI6IHBlZXItYWRkcmVzcycKKyAgICAgICAgICAgICBiJycKKyAgICAgICAgICAgICBiJ2hcXHhjM1xceGE5bGxvXFx4ZmYnCisgICAgICAgICAgICAgLS0tLS0tLS0tLS0tIEVORCBNRVNTQUdFIC0tLS0tLS0tLS0tLQorICAgICAgICAgICAgICIiIikpCisKKyAgICBkZWYgdGVzdF9wcm9jZXNzX21lc3NhZ2Vfd2l0aF9lbmFibGVfU01UUFVURjhfdHJ1ZShzZWxmKToKKyAgICAgICAgc2VydmVyID0gc210cGQuRGVidWdnaW5nU2VydmVyKChzdXBwb3J0LkhPU1QsIDApLCAoJ2InLCAwKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZV9TTVRQVVRGOD1UcnVlKQorICAgICAgICBjb25uLCBhZGRyID0gc2VydmVyLmFjY2VwdCgpCisgICAgICAgIGNoYW5uZWwgPSBzbXRwZC5TTVRQQ2hhbm5lbChzZXJ2ZXIsIGNvbm4sIGFkZHIsIGVuYWJsZV9TTVRQVVRGOD1UcnVlKQorICAgICAgICB3aXRoIHN1cHBvcnQuY2FwdHVyZWRfc3Rkb3V0KCkgYXMgczoKKyAgICAgICAgICAgIHNlbGYuc2VuZF9kYXRhKGNoYW5uZWwsIGInRnJvbTogdGVzdFxuXG5oXHhjM1x4YTlsbG9ceGZmXG4nKQorICAgICAgICBzdGRvdXQgPSBzLmdldHZhbHVlKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGRvdXQsIHRleHR3cmFwLmRlZGVudCgiIiJcCisgICAgICAgICAgICAgLS0tLS0tLS0tLSBNRVNTQUdFIEZPTExPV1MgLS0tLS0tLS0tLQorICAgICAgICAgICAgIGInRnJvbTogdGVzdCcKKyAgICAgICAgICAgICBiJ1gtUGVlcjogcGVlci1hZGRyZXNzJworICAgICAgICAgICAgIGInJworICAgICAgICAgICAgIGInaFxceGMzXFx4YTlsbG9cXHhmZicKKyAgICAgICAgICAgICAtLS0tLS0tLS0tLS0gRU5EIE1FU1NBR0UgLS0tLS0tLS0tLS0tCisgICAgICAgICAgICAgIiIiKSkKKworICAgIGRlZiB0ZXN0X3Byb2Nlc3NfU01UUFVURjhfbWVzc2FnZV93aXRoX2VuYWJsZV9TTVRQVVRGOF90cnVlKHNlbGYpOgorICAgICAgICBzZXJ2ZXIgPSBzbXRwZC5EZWJ1Z2dpbmdTZXJ2ZXIoKHN1cHBvcnQuSE9TVCwgMCksICgnYicsIDApLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlX1NNVFBVVEY4PVRydWUpCisgICAgICAgIGNvbm4sIGFkZHIgPSBzZXJ2ZXIuYWNjZXB0KCkKKyAgICAgICAgY2hhbm5lbCA9IHNtdHBkLlNNVFBDaGFubmVsKHNlcnZlciwgY29ubiwgYWRkciwgZW5hYmxlX1NNVFBVVEY4PVRydWUpCisgICAgICAgIHdpdGggc3VwcG9ydC5jYXB0dXJlZF9zdGRvdXQoKSBhcyBzOgorICAgICAgICAgICAgc2VsZi5zZW5kX2RhdGEoY2hhbm5lbCwgYidGcm9tOiB0ZXN0XG5cbmhceGMzXHhhOWxsb1x4ZmZcbicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmFibGVfU01UUFVURjg9VHJ1ZSkKKyAgICAgICAgc3Rkb3V0ID0gcy5nZXR2YWx1ZSgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3Rkb3V0LCB0ZXh0d3JhcC5kZWRlbnQoIiIiXAorICAgICAgICAgICAgIC0tLS0tIFNNVFBVVEY4IE1FU1NBR0UgRk9MTE9XUyAtLS0tLS0KKyAgICAgICAgICAgICBiJ0Zyb206IHRlc3QnCisgICAgICAgICAgICAgYidYLVBlZXI6IHBlZXItYWRkcmVzcycKKyAgICAgICAgICAgICBiJycKKyAgICAgICAgICAgICBiJ2hcXHhjM1xceGE5bGxvXFx4ZmYnCisgICAgICAgICAgICAgLS0tLS0tLS0tLS0tIEVORCBNRVNTQUdFIC0tLS0tLS0tLS0tLQorICAgICAgICAgICAgICIiIikpCisKKyAgICBkZWYgdGVhckRvd24oc2VsZik6CisgICAgICAgIGFzeW5jb3JlLmNsb3NlX2FsbCgpCisgICAgICAgIGFzeW5jb3JlLnNvY2tldCA9IHNtdHBkLnNvY2tldCA9IHNvY2tldAorCisKK2NsYXNzIFRlc3RGYW1pbHlEZXRlY3Rpb24odW5pdHRlc3QuVGVzdENhc2UpOgorICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc210cGQuc29ja2V0ID0gYXN5bmNvcmUuc29ja2V0ID0gbW9ja19zb2NrZXQKKworICAgIGRlZiB0ZWFyRG93bihzZWxmKToKKyAgICAgICAgYXN5bmNvcmUuY2xvc2VfYWxsKCkKKyAgICAgICAgYXN5bmNvcmUuc29ja2V0ID0gc210cGQuc29ja2V0ID0gc29ja2V0CisKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhzdXBwb3J0LklQVjZfRU5BQkxFRCwgIklQdjYgbm90IGVuYWJsZWQiKQorICAgIGRlZiB0ZXN0X3NvY2tldF91c2VzX0lQdjYoc2VsZik6CisgICAgICAgIHNlcnZlciA9IHNtdHBkLlNNVFBTZXJ2ZXIoKHN1cHBvcnQuSE9TVHY2LCAwKSwgKHN1cHBvcnQuSE9TVCwgMCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjb2RlX2RhdGE9RmFsc2UpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VydmVyLnNvY2tldC5mYW1pbHksIHNvY2tldC5BRl9JTkVUNikKKworICAgIGRlZiB0ZXN0X3NvY2tldF91c2VzX0lQdjQoc2VsZik6CisgICAgICAgIHNlcnZlciA9IHNtdHBkLlNNVFBTZXJ2ZXIoKHN1cHBvcnQuSE9TVCwgMCksIChzdXBwb3J0LkhPU1R2NiwgMCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjb2RlX2RhdGE9RmFsc2UpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VydmVyLnNvY2tldC5mYW1pbHksIHNvY2tldC5BRl9JTkVUKQorCisKIGNsYXNzIFNNVFBEQ2hhbm5lbFRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGRlZiBzZXRVcChzZWxmKToKICAgICAgICAgc210cGQuc29ja2V0ID0gYXN5bmNvcmUuc29ja2V0ID0gbW9ja19zb2NrZXQKICAgICAgICAgc2VsZi5vbGRfZGVidWdzdHJlYW0gPSBzbXRwZC5ERUJVR1NUUkVBTQogICAgICAgICBzZWxmLmRlYnVnID0gc210cGQuREVCVUdTVFJFQU0gPSBpby5TdHJpbmdJTygpCi0gICAgICAgIHNlbGYuc2VydmVyID0gRHVtbXlTZXJ2ZXIoJ2EnLCAnYicpCisgICAgICAgIHNlbGYuc2VydmVyID0gRHVtbXlTZXJ2ZXIoKHN1cHBvcnQuSE9TVCwgMCksICgnYicsIDApLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY29kZV9kYXRhPVRydWUpCiAgICAgICAgIGNvbm4sIGFkZHIgPSBzZWxmLnNlcnZlci5hY2NlcHQoKQotICAgICAgICBzZWxmLmNoYW5uZWwgPSBzbXRwZC5TTVRQQ2hhbm5lbChzZWxmLnNlcnZlciwgY29ubiwgYWRkcikKKyAgICAgICAgc2VsZi5jaGFubmVsID0gc210cGQuU01UUENoYW5uZWwoc2VsZi5zZXJ2ZXIsIGNvbm4sIGFkZHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY29kZV9kYXRhPVRydWUpCiAKICAgICBkZWYgdGVhckRvd24oc2VsZik6CiAgICAgICAgIGFzeW5jb3JlLmNsb3NlX2FsbCgpCkBAIC02OSw3ICsyMjIsOSBAQAogICAgICAgICBzZWxmLmNoYW5uZWwuaGFuZGxlX3JlYWQoKQogCiAgICAgZGVmIHRlc3RfYnJva2VuX2Nvbm5lY3Qoc2VsZik6Ci0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKER1bW15RGlzcGF0Y2hlckJyb2tlbiwgQnJva2VuRHVtbXlTZXJ2ZXIsICdhJywgJ2InKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcygKKyAgICAgICAgICAgIER1bW15RGlzcGF0Y2hlckJyb2tlbiwgQnJva2VuRHVtbXlTZXJ2ZXIsCisgICAgICAgICAgICAoc3VwcG9ydC5IT1NULCAwKSwgKCdiJywgMCksIGRlY29kZV9kYXRhPVRydWUpCiAKICAgICBkZWYgdGVzdF9zZXJ2ZXJfYWNjZXB0KHNlbGYpOgogICAgICAgICBzZWxmLnNlcnZlci5oYW5kbGVfYWNjZXB0KCkKQEAgLTIxNCw2ICszNjksMTIgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmNoYW5uZWwuc29ja2V0Lmxhc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgYic1MDAgRXJyb3I6IGxpbmUgdG9vIGxvbmdcclxuJykKIAorICAgIGRlZiB0ZXN0X01BSUxfY29tbWFuZF9yZWplY3RzX1NNVFBVVEY4X2J5X2RlZmF1bHQoc2VsZik6CisgICAgICAgIHNlbGYud3JpdGVfbGluZShiJ0VITE8gZXhhbXBsZScpCisgICAgICAgIHNlbGYud3JpdGVfbGluZSgKKyAgICAgICAgICAgIGInTUFJTCBmcm9tOiA8bmFpdmVAZXhhbXBsZS5jb20+IEJPRFk9OEJJVE1JTUUgU01UUFVURjgnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuY2hhbm5lbC5zb2NrZXQubGFzdFswOjFdLCBiJzUnKQorCiAgICAgZGVmIHRlc3RfZGF0YV9sb25nZXJfdGhhbl9kZWZhdWx0X2RhdGFfc2l6ZV9saW1pdChzZWxmKToKICAgICAgICAgIyBIYWNrIHRoZSBkZWZhdWx0IHNvIHdlIGRvbid0IGhhdmUgdG8gZ2VuZXJhdGUgc28gbXVjaCBkYXRhLgogICAgICAgICBzZWxmLmNoYW5uZWwuZGF0YV9zaXplX2xpbWl0ID0gMTA0OApAQCAtMzg3LDcgKzU0OCwxMCBAQAogICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidkYXRhXHJcbm1vcmVcclxuLicpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5jaGFubmVsLnNvY2tldC5sYXN0LCBiJzI1MCBPS1xyXG4nKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuc2VydmVyLm1lc3NhZ2VzLAotICAgICAgICAgICAgWygncGVlcicsICdlZ2dzQGV4YW1wbGUnLCBbJ3NwYW1AZXhhbXBsZSddLCAnZGF0YVxubW9yZScpXSkKKyAgICAgICAgICAgIFsoKCdwZWVyLWFkZHJlc3MnLCAncGVlci1wb3J0JyksCisgICAgICAgICAgICAgICdlZ2dzQGV4YW1wbGUnLAorICAgICAgICAgICAgICBbJ3NwYW1AZXhhbXBsZSddLAorICAgICAgICAgICAgICAnZGF0YVxubW9yZScpXSkKIAogICAgIGRlZiB0ZXN0X0RBVEFfc3ludGF4KHNlbGYpOgogICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidIRUxPIGV4YW1wbGUnKQpAQCAtNDE3LDcgKzU4MSwxMCBAQAogICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidEQVRBJykKICAgICAgICAgc2VsZi53cml0ZV9saW5lKGInZGF0YVxyXG4uJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLnNlcnZlci5tZXNzYWdlcywKLSAgICAgICAgICAgIFsoJ3BlZXInLCAnZWdnc0BleGFtcGxlJywgWydzcGFtQGV4YW1wbGUnLCdoYW1AZXhhbXBsZSddLCAnZGF0YScpXSkKKyAgICAgICAgICAgIFsoKCdwZWVyLWFkZHJlc3MnLCAncGVlci1wb3J0JyksCisgICAgICAgICAgICAgICdlZ2dzQGV4YW1wbGUnLAorICAgICAgICAgICAgICBbJ3NwYW1AZXhhbXBsZScsJ2hhbUBleGFtcGxlJ10sCisgICAgICAgICAgICAgICdkYXRhJyldKQogCiAgICAgZGVmIHRlc3RfbWFudWFsX3N0YXR1cyhzZWxmKToKICAgICAgICAgIyBjaGVja3MgdGhhdCB0aGUgQ2hhbm5lbCBpcyBhYmxlIHRvIHJldHVybiBhIGN1c3RvbSBzdGF0dXMgbWVzc2FnZQpAQCAtNDM5LDcgKzYwNiwxMCBAQAogICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidEQVRBJykKICAgICAgICAgc2VsZi53cml0ZV9saW5lKGInZGF0YVxyXG4uJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLnNlcnZlci5tZXNzYWdlcywKLSAgICAgICAgICAgIFsoJ3BlZXInLCAnZm9vQGV4YW1wbGUnLCBbJ2VnZ3NAZXhhbXBsZSddLCAnZGF0YScpXSkKKyAgICAgICAgICAgIFsoKCdwZWVyLWFkZHJlc3MnLCAncGVlci1wb3J0JyksCisgICAgICAgICAgICAgICAnZm9vQGV4YW1wbGUnLAorICAgICAgICAgICAgICAgWydlZ2dzQGV4YW1wbGUnXSwKKyAgICAgICAgICAgICAgICdkYXRhJyldKQogCiAgICAgZGVmIHRlc3RfSEVMT19SU0VUKHNlbGYpOgogICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidIRUxPIGV4YW1wbGUnKQpAQCAtNTAyLDYgKzY3MiwyNCBAQAogICAgICAgICB3aXRoIHN1cHBvcnQuY2hlY2tfd2FybmluZ3MoKCcnLCBEZXByZWNhdGlvbldhcm5pbmcpKToKICAgICAgICAgICAgIHNlbGYuY2hhbm5lbC5fU01UUENoYW5uZWxfX2FkZHIgPSAnc3BhbScKIAorICAgIGRlZiB0ZXN0X2RlY29kZV9kYXRhX2RlZmF1bHRfd2FybmluZyhzZWxmKToKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFdhcm5zKERlcHJlY2F0aW9uV2FybmluZyk6CisgICAgICAgICAgICBzZXJ2ZXIgPSBEdW1teVNlcnZlcigoc3VwcG9ydC5IT1NULCAwKSwgKCdiJywgMCkpCisgICAgICAgIGNvbm4sIGFkZHIgPSBzZWxmLnNlcnZlci5hY2NlcHQoKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0V2FybnMoRGVwcmVjYXRpb25XYXJuaW5nKToKKyAgICAgICAgICAgIHNtdHBkLlNNVFBDaGFubmVsKHNlcnZlciwgY29ubiwgYWRkcikKKworQHVuaXR0ZXN0LnNraXBVbmxlc3Moc3VwcG9ydC5JUFY2X0VOQUJMRUQsICJJUHY2IG5vdCBlbmFibGVkIikKK2NsYXNzIFNNVFBEQ2hhbm5lbElQdjZUZXN0KFNNVFBEQ2hhbm5lbFRlc3QpOgorICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc210cGQuc29ja2V0ID0gYXN5bmNvcmUuc29ja2V0ID0gbW9ja19zb2NrZXQKKyAgICAgICAgc2VsZi5vbGRfZGVidWdzdHJlYW0gPSBzbXRwZC5ERUJVR1NUUkVBTQorICAgICAgICBzZWxmLmRlYnVnID0gc210cGQuREVCVUdTVFJFQU0gPSBpby5TdHJpbmdJTygpCisgICAgICAgIHNlbGYuc2VydmVyID0gRHVtbXlTZXJ2ZXIoKHN1cHBvcnQuSE9TVHY2LCAwKSwgKCdiJywgMCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjb2RlX2RhdGE9VHJ1ZSkKKyAgICAgICAgY29ubiwgYWRkciA9IHNlbGYuc2VydmVyLmFjY2VwdCgpCisgICAgICAgIHNlbGYuY2hhbm5lbCA9IHNtdHBkLlNNVFBDaGFubmVsKHNlbGYuc2VydmVyLCBjb25uLCBhZGRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWNvZGVfZGF0YT1UcnVlKQogCiBjbGFzcyBTTVRQRENoYW5uZWxXaXRoRGF0YVNpemVMaW1pdFRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogCkBAIC01MDksMTAgKzY5NywxMiBAQAogICAgICAgICBzbXRwZC5zb2NrZXQgPSBhc3luY29yZS5zb2NrZXQgPSBtb2NrX3NvY2tldAogICAgICAgICBzZWxmLm9sZF9kZWJ1Z3N0cmVhbSA9IHNtdHBkLkRFQlVHU1RSRUFNCiAgICAgICAgIHNlbGYuZGVidWcgPSBzbXRwZC5ERUJVR1NUUkVBTSA9IGlvLlN0cmluZ0lPKCkKLSAgICAgICAgc2VsZi5zZXJ2ZXIgPSBEdW1teVNlcnZlcignYScsICdiJykKKyAgICAgICAgc2VsZi5zZXJ2ZXIgPSBEdW1teVNlcnZlcigoc3VwcG9ydC5IT1NULCAwKSwgKCdiJywgMCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjb2RlX2RhdGE9VHJ1ZSkKICAgICAgICAgY29ubiwgYWRkciA9IHNlbGYuc2VydmVyLmFjY2VwdCgpCiAgICAgICAgICMgU2V0IERBVEEgc2l6ZSBsaW1pdCB0byAzMiBieXRlcyBmb3IgZWFzeSB0ZXN0aW5nCi0gICAgICAgIHNlbGYuY2hhbm5lbCA9IHNtdHBkLlNNVFBDaGFubmVsKHNlbGYuc2VydmVyLCBjb25uLCBhZGRyLCAzMikKKyAgICAgICAgc2VsZi5jaGFubmVsID0gc210cGQuU01UUENoYW5uZWwoc2VsZi5zZXJ2ZXIsIGNvbm4sIGFkZHIsIDMyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWNvZGVfZGF0YT1UcnVlKQogCiAgICAgZGVmIHRlYXJEb3duKHNlbGYpOgogICAgICAgICBhc3luY29yZS5jbG9zZV9hbGwoKQpAQCAtNTM2LDcgKzcyNiwxMCBAQAogICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidkYXRhXHJcbm1vcmVcclxuLicpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5jaGFubmVsLnNvY2tldC5sYXN0LCBiJzI1MCBPS1xyXG4nKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuc2VydmVyLm1lc3NhZ2VzLAotICAgICAgICAgICAgWygncGVlcicsICdlZ2dzQGV4YW1wbGUnLCBbJ3NwYW1AZXhhbXBsZSddLCAnZGF0YVxubW9yZScpXSkKKyAgICAgICAgICAgIFsoKCdwZWVyLWFkZHJlc3MnLCAncGVlci1wb3J0JyksCisgICAgICAgICAgICAgICdlZ2dzQGV4YW1wbGUnLAorICAgICAgICAgICAgICBbJ3NwYW1AZXhhbXBsZSddLAorICAgICAgICAgICAgICAnZGF0YVxubW9yZScpXSkKIAogICAgIGRlZiB0ZXN0X2RhdGFfbGltaXRfZGlhbG9nX3Rvb19tdWNoX2RhdGEoc2VsZik6CiAgICAgICAgIHNlbGYud3JpdGVfbGluZShiJ0hFTE8gZXhhbXBsZScpCkBAIC01NTMsNSArNzQ2LDE4MSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgIGInNTUyIEVycm9yOiBUb28gbXVjaCBtYWlsIGRhdGFcclxuJykKIAogCitjbGFzcyBTTVRQRENoYW5uZWxXaXRoRGVjb2RlRGF0YUZhbHNlKHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc210cGQuc29ja2V0ID0gYXN5bmNvcmUuc29ja2V0ID0gbW9ja19zb2NrZXQKKyAgICAgICAgc2VsZi5vbGRfZGVidWdzdHJlYW0gPSBzbXRwZC5ERUJVR1NUUkVBTQorICAgICAgICBzZWxmLmRlYnVnID0gc210cGQuREVCVUdTVFJFQU0gPSBpby5TdHJpbmdJTygpCisgICAgICAgIHNlbGYuc2VydmVyID0gRHVtbXlTZXJ2ZXIoKHN1cHBvcnQuSE9TVCwgMCksICgnYicsIDApLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY29kZV9kYXRhPUZhbHNlKQorICAgICAgICBjb25uLCBhZGRyID0gc2VsZi5zZXJ2ZXIuYWNjZXB0KCkKKyAgICAgICAgIyBTZXQgZGVjb2RlX2RhdGEgdG8gRmFsc2UKKyAgICAgICAgc2VsZi5jaGFubmVsID0gc210cGQuU01UUENoYW5uZWwoc2VsZi5zZXJ2ZXIsIGNvbm4sIGFkZHIsCisgICAgICAgICAgICAgICAgZGVjb2RlX2RhdGE9RmFsc2UpCisKKyAgICBkZWYgdGVhckRvd24oc2VsZik6CisgICAgICAgIGFzeW5jb3JlLmNsb3NlX2FsbCgpCisgICAgICAgIGFzeW5jb3JlLnNvY2tldCA9IHNtdHBkLnNvY2tldCA9IHNvY2tldAorICAgICAgICBzbXRwZC5ERUJVR1NUUkVBTSA9IHNlbGYub2xkX2RlYnVnc3RyZWFtCisKKyAgICBkZWYgd3JpdGVfbGluZShzZWxmLCBsaW5lKToKKyAgICAgICAgc2VsZi5jaGFubmVsLnNvY2tldC5xdWV1ZV9yZWN2KGxpbmUpCisgICAgICAgIHNlbGYuY2hhbm5lbC5oYW5kbGVfcmVhZCgpCisKKyAgICBkZWYgdGVzdF9hc2NpaV9kYXRhKHNlbGYpOgorICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidIRUxPIGV4YW1wbGUnKQorICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidNQUlMIEZyb206ZWdnc0BleGFtcGxlJykKKyAgICAgICAgc2VsZi53cml0ZV9saW5lKGInUkNQVCBUbzpzcGFtQGV4YW1wbGUnKQorICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidEQVRBJykKKyAgICAgICAgc2VsZi53cml0ZV9saW5lKGIncGxhaW4gYXNjaWkgdGV4dCcpCisgICAgICAgIHNlbGYud3JpdGVfbGluZShiJy4nKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuY2hhbm5lbC5yZWNlaXZlZF9kYXRhLCBiJ3BsYWluIGFzY2lpIHRleHQnKQorCisgICAgZGVmIHRlc3RfdXRmOF9kYXRhKHNlbGYpOgorICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidIRUxPIGV4YW1wbGUnKQorICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidNQUlMIEZyb206ZWdnc0BleGFtcGxlJykKKyAgICAgICAgc2VsZi53cml0ZV9saW5lKGInUkNQVCBUbzpzcGFtQGV4YW1wbGUnKQorICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidEQVRBJykKKyAgICAgICAgc2VsZi53cml0ZV9saW5lKGIndXRmOCBlbnJpY2hlZCB0ZXh0OiBceGM1XHhiY1x4YzVceGJhXHhjNFx4ODcnKQorICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidhbmQgc29tZSBwbGFpbiBhc2NpaScpCisgICAgICAgIHNlbGYud3JpdGVfbGluZShiJy4nKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgc2VsZi5jaGFubmVsLnJlY2VpdmVkX2RhdGEsCisgICAgICAgICAgICBiJ3V0ZjggZW5yaWNoZWQgdGV4dDogXHhjNVx4YmNceGM1XHhiYVx4YzRceDg3XG4nCisgICAgICAgICAgICAgICAgYidhbmQgc29tZSBwbGFpbiBhc2NpaScpCisKKworY2xhc3MgU01UUERDaGFubmVsV2l0aERlY29kZURhdGFUcnVlKHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc210cGQuc29ja2V0ID0gYXN5bmNvcmUuc29ja2V0ID0gbW9ja19zb2NrZXQKKyAgICAgICAgc2VsZi5vbGRfZGVidWdzdHJlYW0gPSBzbXRwZC5ERUJVR1NUUkVBTQorICAgICAgICBzZWxmLmRlYnVnID0gc210cGQuREVCVUdTVFJFQU0gPSBpby5TdHJpbmdJTygpCisgICAgICAgIHNlbGYuc2VydmVyID0gRHVtbXlTZXJ2ZXIoKHN1cHBvcnQuSE9TVCwgMCksICgnYicsIDApLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY29kZV9kYXRhPVRydWUpCisgICAgICAgIGNvbm4sIGFkZHIgPSBzZWxmLnNlcnZlci5hY2NlcHQoKQorICAgICAgICAjIFNldCBkZWNvZGVfZGF0YSB0byBUcnVlCisgICAgICAgIHNlbGYuY2hhbm5lbCA9IHNtdHBkLlNNVFBDaGFubmVsKHNlbGYuc2VydmVyLCBjb25uLCBhZGRyLAorICAgICAgICAgICAgICAgIGRlY29kZV9kYXRhPVRydWUpCisKKyAgICBkZWYgdGVhckRvd24oc2VsZik6CisgICAgICAgIGFzeW5jb3JlLmNsb3NlX2FsbCgpCisgICAgICAgIGFzeW5jb3JlLnNvY2tldCA9IHNtdHBkLnNvY2tldCA9IHNvY2tldAorICAgICAgICBzbXRwZC5ERUJVR1NUUkVBTSA9IHNlbGYub2xkX2RlYnVnc3RyZWFtCisKKyAgICBkZWYgd3JpdGVfbGluZShzZWxmLCBsaW5lKToKKyAgICAgICAgc2VsZi5jaGFubmVsLnNvY2tldC5xdWV1ZV9yZWN2KGxpbmUpCisgICAgICAgIHNlbGYuY2hhbm5lbC5oYW5kbGVfcmVhZCgpCisKKyAgICBkZWYgdGVzdF9hc2NpaV9kYXRhKHNlbGYpOgorICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidIRUxPIGV4YW1wbGUnKQorICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidNQUlMIEZyb206ZWdnc0BleGFtcGxlJykKKyAgICAgICAgc2VsZi53cml0ZV9saW5lKGInUkNQVCBUbzpzcGFtQGV4YW1wbGUnKQorICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidEQVRBJykKKyAgICAgICAgc2VsZi53cml0ZV9saW5lKGIncGxhaW4gYXNjaWkgdGV4dCcpCisgICAgICAgIHNlbGYud3JpdGVfbGluZShiJy4nKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuY2hhbm5lbC5yZWNlaXZlZF9kYXRhLCAncGxhaW4gYXNjaWkgdGV4dCcpCisKKyAgICBkZWYgdGVzdF91dGY4X2RhdGEoc2VsZik6CisgICAgICAgIHNlbGYud3JpdGVfbGluZShiJ0hFTE8gZXhhbXBsZScpCisgICAgICAgIHNlbGYud3JpdGVfbGluZShiJ01BSUwgRnJvbTplZ2dzQGV4YW1wbGUnKQorICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidSQ1BUIFRvOnNwYW1AZXhhbXBsZScpCisgICAgICAgIHNlbGYud3JpdGVfbGluZShiJ0RBVEEnKQorICAgICAgICBzZWxmLndyaXRlX2xpbmUoYid1dGY4IGVucmljaGVkIHRleHQ6IFx4YzVceGJjXHhjNVx4YmFceGM0XHg4NycpCisgICAgICAgIHNlbGYud3JpdGVfbGluZShiJ2FuZCBzb21lIHBsYWluIGFzY2lpJykKKyAgICAgICAgc2VsZi53cml0ZV9saW5lKGInLicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBzZWxmLmNoYW5uZWwucmVjZWl2ZWRfZGF0YSwKKyAgICAgICAgICAgICd1dGY4IGVucmljaGVkIHRleHQ6IMW8xbrEh1xuYW5kIHNvbWUgcGxhaW4gYXNjaWknKQorCisKK2NsYXNzIFNNVFBEQ2hhbm5lbFRlc3RXaXRoRW5hYmxlU01UUFVURjhUcnVlKHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAgIHNtdHBkLnNvY2tldCA9IGFzeW5jb3JlLnNvY2tldCA9IG1vY2tfc29ja2V0CisgICAgICAgIHNlbGYub2xkX2RlYnVnc3RyZWFtID0gc210cGQuREVCVUdTVFJFQU0KKyAgICAgICAgc2VsZi5kZWJ1ZyA9IHNtdHBkLkRFQlVHU1RSRUFNID0gaW8uU3RyaW5nSU8oKQorICAgICAgICBzZWxmLnNlcnZlciA9IER1bW15U2VydmVyKChzdXBwb3J0LkhPU1QsIDApLCAoJ2InLCAwKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmFibGVfU01UUFVURjg9VHJ1ZSkKKyAgICAgICAgY29ubiwgYWRkciA9IHNlbGYuc2VydmVyLmFjY2VwdCgpCisgICAgICAgIHNlbGYuY2hhbm5lbCA9IHNtdHBkLlNNVFBDaGFubmVsKHNlbGYuc2VydmVyLCBjb25uLCBhZGRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmFibGVfU01UUFVURjg9VHJ1ZSkKKworICAgIGRlZiB0ZWFyRG93bihzZWxmKToKKyAgICAgICAgYXN5bmNvcmUuY2xvc2VfYWxsKCkKKyAgICAgICAgYXN5bmNvcmUuc29ja2V0ID0gc210cGQuc29ja2V0ID0gc29ja2V0CisgICAgICAgIHNtdHBkLkRFQlVHU1RSRUFNID0gc2VsZi5vbGRfZGVidWdzdHJlYW0KKworICAgIGRlZiB3cml0ZV9saW5lKHNlbGYsIGxpbmUpOgorICAgICAgICBzZWxmLmNoYW5uZWwuc29ja2V0LnF1ZXVlX3JlY3YobGluZSkKKyAgICAgICAgc2VsZi5jaGFubmVsLmhhbmRsZV9yZWFkKCkKKworICAgIGRlZiB0ZXN0X01BSUxfY29tbWFuZF9hY2NlcHRzX1NNVFBVVEY4X3doZW5fYW5ub3VuY2VkKHNlbGYpOgorICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidFSExPIGV4YW1wbGUnKQorICAgICAgICBzZWxmLndyaXRlX2xpbmUoCisgICAgICAgICAgICAnTUFJTCBmcm9tOiA8bmFpzIh2ZUBleGFtcGxlLmNvbT4gQk9EWT04QklUTUlNRSBTTVRQVVRGOCcuZW5jb2RlKAorICAgICAgICAgICAgICAgICd1dGYtOCcpCisgICAgICAgICkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmNoYW5uZWwuc29ja2V0Lmxhc3QsIGInMjUwIE9LXHJcbicpCisKKyAgICBkZWYgdGVzdF9wcm9jZXNzX3NtdHB1dGY4X21lc3NhZ2Uoc2VsZik6CisgICAgICAgIHNlbGYud3JpdGVfbGluZShiJ0VITE8gZXhhbXBsZScpCisgICAgICAgIGZvciBtYWlsX3BhcmFtZXRlcnMgaW4gW2InJywgYidCT0RZPThCSVRNSU1FIFNNVFBVVEY4J106CisgICAgICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidNQUlMIGZyb206IDxhQGV4YW1wbGU+ICcgKyBtYWlsX3BhcmFtZXRlcnMpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuY2hhbm5lbC5zb2NrZXQubGFzdFswOjNdLCBiJzI1MCcpCisgICAgICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidyY3B0IHRvOjxiQGV4YW1wbGUuY29tPicpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuY2hhbm5lbC5zb2NrZXQubGFzdFswOjNdLCBiJzI1MCcpCisgICAgICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidkYXRhJykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5jaGFubmVsLnNvY2tldC5sYXN0WzA6M10sIGInMzU0JykKKyAgICAgICAgICAgIHNlbGYud3JpdGVfbGluZShiJ2NcclxuLicpCisgICAgICAgICAgICBpZiBtYWlsX3BhcmFtZXRlcnMgPT0gYicnOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5jaGFubmVsLnNvY2tldC5sYXN0LCBiJzI1MCBPS1xyXG4nKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuY2hhbm5lbC5zb2NrZXQubGFzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGInMjUwIFNNVFBVVEY4IG1lc3NhZ2Ugb2tpc2hcclxuJykKKworICAgIGRlZiB0ZXN0X3V0ZjhfZGF0YShzZWxmKToKKyAgICAgICAgc2VsZi53cml0ZV9saW5lKGInRUhMTyBleGFtcGxlJykKKyAgICAgICAgc2VsZi53cml0ZV9saW5lKAorICAgICAgICAgICAgJ01BSUwgRnJvbTogbmFpzIh2ZUBleGFtcGzDqSBCT0RZPThCSVRNSU1FIFNNVFBVVEY4Jy5lbmNvZGUoJ3V0Zi04JykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5jaGFubmVsLnNvY2tldC5sYXN0WzA6M10sIGInMjUwJykKKyAgICAgICAgc2VsZi53cml0ZV9saW5lKCdSQ1BUIFRvOnNww6RtQGV4YW1wbMOpJy5lbmNvZGUoJ3V0Zi04JykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5jaGFubmVsLnNvY2tldC5sYXN0WzA6M10sIGInMjUwJykKKyAgICAgICAgc2VsZi53cml0ZV9saW5lKGInREFUQScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5jaGFubmVsLnNvY2tldC5sYXN0WzA6M10sIGInMzU0JykKKyAgICAgICAgc2VsZi53cml0ZV9saW5lKGIndXRmOCBlbnJpY2hlZCB0ZXh0OiBceGM1XHhiY1x4YzVceGJhXHhjNFx4ODcnKQorICAgICAgICBzZWxmLndyaXRlX2xpbmUoYicuJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIHNlbGYuY2hhbm5lbC5yZWNlaXZlZF9kYXRhLAorICAgICAgICAgICAgYid1dGY4IGVucmljaGVkIHRleHQ6IFx4YzVceGJjXHhjNVx4YmFceGM0XHg4NycpCisKKyAgICBkZWYgdGVzdF9NQUlMX2NvbW1hbmRfbGltaXRfZXh0ZW5kZWRfd2l0aF9TSVpFX2FuZF9TTVRQVVRGOChzZWxmKToKKyAgICAgICAgc2VsZi53cml0ZV9saW5lKGInZWhsbyBleGFtcGxlJykKKyAgICAgICAgZmlsbF9sZW4gPSAoNTEyICsgMjYgKyAxMCkgLSBsZW4oJ21haWwgZnJvbTo8QGV4YW1wbGU+JykKKyAgICAgICAgc2VsZi53cml0ZV9saW5lKGInTUFJTCBmcm9tOjwnICsKKyAgICAgICAgICAgICAgICAgICAgICAgIGInYScgKiAoZmlsbF9sZW4gKyAxKSArCisgICAgICAgICAgICAgICAgICAgICAgICBiJ0BleGFtcGxlPicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5jaGFubmVsLnNvY2tldC5sYXN0LAorICAgICAgICAgICAgICAgICAgICAgICAgIGInNTAwIEVycm9yOiBsaW5lIHRvbyBsb25nXHJcbicpCisgICAgICAgIHNlbGYud3JpdGVfbGluZShiJ01BSUwgZnJvbTo8JyArCisgICAgICAgICAgICAgICAgICAgICAgICBiJ2EnICogZmlsbF9sZW4gKworICAgICAgICAgICAgICAgICAgICAgICAgYidAZXhhbXBsZT4nKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuY2hhbm5lbC5zb2NrZXQubGFzdCwgYicyNTAgT0tcclxuJykKKworICAgIGRlZiB0ZXN0X211bHRpcGxlX2VtYWlsc193aXRoX2V4dGVuZGVkX2NvbW1hbmRfbGVuZ3RoKHNlbGYpOgorICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidlaGxvIGV4YW1wbGUnKQorICAgICAgICBmaWxsX2xlbiA9ICg1MTIgKyAyNiArIDEwKSAtIGxlbignbWFpbCBmcm9tOjxAZXhhbXBsZT4nKQorICAgICAgICBmb3IgY2hhciBpbiBbYidhJywgYidiJywgYidjJ106CisgICAgICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidNQUlMIGZyb206PCcgKyBjaGFyICogZmlsbF9sZW4gKyBiJ2FAZXhhbXBsZT4nKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmNoYW5uZWwuc29ja2V0Lmxhc3RbMDozXSwgYic1MDAnKQorICAgICAgICAgICAgc2VsZi53cml0ZV9saW5lKGInTUFJTCBmcm9tOjwnICsgY2hhciAqIGZpbGxfbGVuICsgYidAZXhhbXBsZT4nKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmNoYW5uZWwuc29ja2V0Lmxhc3RbMDozXSwgYicyNTAnKQorICAgICAgICAgICAgc2VsZi53cml0ZV9saW5lKGIncmNwdCB0bzo8aGFuc0BleGFtcGxlLmNvbT4nKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmNoYW5uZWwuc29ja2V0Lmxhc3RbMDozXSwgYicyNTAnKQorICAgICAgICAgICAgc2VsZi53cml0ZV9saW5lKGInZGF0YScpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuY2hhbm5lbC5zb2NrZXQubGFzdFswOjNdLCBiJzM1NCcpCisgICAgICAgICAgICBzZWxmLndyaXRlX2xpbmUoYid0ZXN0XHJcbi4nKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmNoYW5uZWwuc29ja2V0Lmxhc3RbMDozXSwgYicyNTAnKQorCiBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgogICAgIHVuaXR0ZXN0Lm1haW4oKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9zbXRwbGliLnB5IGIvTGliL3Rlc3QvdGVzdF9zbXRwbGliLnB5CmluZGV4IDk1YTlkYmUuLjVmMTJkMjggMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfc210cGxpYi5weQorKysgYi9MaWIvdGVzdC90ZXN0X3NtdHBsaWIucHkKQEAgLTEwLDYgKzEwLDcgQEAKIGltcG9ydCB0aW1lCiBpbXBvcnQgc2VsZWN0CiBpbXBvcnQgZXJybm8KK2ltcG9ydCBiYXNlNjQKIAogaW1wb3J0IHVuaXR0ZXN0CiBmcm9tIHRlc3QgaW1wb3J0IHN1cHBvcnQsIG1vY2tfc29ja2V0CkBAIC0zMCw3ICszMSw3IEBACiAKIAogZGVmIHNlcnZlcihldnQsIGJ1Ziwgc2Vydik6Ci0gICAgc2Vydi5saXN0ZW4oNSkKKyAgICBzZXJ2Lmxpc3RlbigpCiAgICAgZXZ0LnNldCgpCiAgICAgdHJ5OgogICAgICAgICBjb25uLCBhZGRyID0gc2Vydi5hY2NlcHQoKQpAQCAtMTg0LDcgKzE4NSw4IEBACiAgICAgICAgIHNlbGYub2xkX0RFQlVHU1RSRUFNID0gc210cGQuREVCVUdTVFJFQU0KICAgICAgICAgc210cGQuREVCVUdTVFJFQU0gPSBpby5TdHJpbmdJTygpCiAgICAgICAgICMgUGljayBhIHJhbmRvbSB1bnVzZWQgcG9ydCBieSBwYXNzaW5nIDAgZm9yIHRoZSBwb3J0IG51bWJlcgotICAgICAgICBzZWxmLnNlcnYgPSBzbXRwZC5EZWJ1Z2dpbmdTZXJ2ZXIoKEhPU1QsIDApLCAoJ25vd2hlcmUnLCAtMSkpCisgICAgICAgIHNlbGYuc2VydiA9IHNtdHBkLkRlYnVnZ2luZ1NlcnZlcigoSE9TVCwgMCksICgnbm93aGVyZScsIC0xKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY29kZV9kYXRhPVRydWUpCiAgICAgICAgICMgS2VlcCBhIG5vdGUgb2Ygd2hhdCBwb3J0IHdhcyBhc3NpZ25lZAogICAgICAgICBzZWxmLnBvcnQgPSBzZWxmLnNlcnYuc29ja2V0LmdldHNvY2tuYW1lKClbMV0KICAgICAgICAgc2Vydl9hcmdzID0gKHNlbGYuc2Vydiwgc2VsZi5zZXJ2X2V2dCwgc2VsZi5jbGllbnRfZXZ0KQpAQCAtNjA0LDcgKzYwNiw4IEBACiAgICAgJ2NyYW0tbWQ1JzogKCdUWElVUVVCWkIyMUxEMkhMQ01VVVkyOVRJREc0T1dRME1KJwogICAgICAgICAgICAgICAgICAnS1daR1E0T0ROTU5EQTROVEdYTURSTFpXTVlaSkRNT0RHMScpLAogICAgIH0KLXNpbV9hdXRoX2xvZ2luX3Bhc3N3b3JkID0gJ0MyOVRaWEJIQzNOM0IzSksnCitzaW1fYXV0aF9sb2dpbl91c2VyID0gJ1RYSVVRVUJaQjIxTEQySExDTVVVWTI5VCcKK3NpbV9hdXRoX3BsYWluID0gJ0FFMVlMS0ZBQzI5VFpYRE9aWEpMTE1OVkJRQlpCMjFMQ0dGWkMzRFZDTVE9JwogCiBzaW1fbGlzdHMgPSB7J2xpc3QtMSc6WydNci5BQHNvbWV3aGVyZS5jb20nLCdNcnMuQ0Bzb21ld2hlcmVlc2xlLmNvbSddLAogICAgICAgICAgICAgICdsaXN0LTInOlsnTXMuQkB4bi0tZm8tZmthLmNvbScsXSwKQEAgLTY1OCwxOCArNjYxLDE2IEBACiAgICAgICAgICAgICBzZWxmLnB1c2goJzU1MCBObyBhY2Nlc3MgZm9yIHlvdSEnKQogCiAgICAgZGVmIHNtdHBfQVVUSChzZWxmLCBhcmcpOgotICAgICAgICBpZiBhcmcuc3RyaXAoKS5sb3dlcigpPT0nY3JhbS1tZDUnOgorICAgICAgICBtZWNoID0gYXJnLnN0cmlwKCkubG93ZXIoKQorICAgICAgICBpZiBtZWNoPT0nY3JhbS1tZDUnOgogICAgICAgICAgICAgc2VsZi5wdXNoKCczMzQge30nLmZvcm1hdChzaW1fY3JhbV9tZDVfY2hhbGxlbmdlKSkKLSAgICAgICAgICAgIHJldHVybgotICAgICAgICBtZWNoLCBhdXRoID0gYXJnLnNwbGl0KCkKLSAgICAgICAgbWVjaCA9IG1lY2gubG93ZXIoKQotICAgICAgICBpZiBtZWNoIG5vdCBpbiBzaW1fYXV0aF9jcmVkZW50aWFsczoKKyAgICAgICAgZWxpZiBtZWNoIG5vdCBpbiBzaW1fYXV0aF9jcmVkZW50aWFsczoKICAgICAgICAgICAgIHNlbGYucHVzaCgnNTA0IGF1dGggdHlwZSB1bmltcGxlbWVudGVkJykKICAgICAgICAgICAgIHJldHVybgotICAgICAgICBpZiBtZWNoID09ICdwbGFpbicgYW5kIGF1dGg9PXNpbV9hdXRoX2NyZWRlbnRpYWxzWydwbGFpbiddOgotICAgICAgICAgICAgc2VsZi5wdXNoKCcyMzUgcGxhaW4gYXV0aCBvaycpCi0gICAgICAgIGVsaWYgbWVjaD09J2xvZ2luJyBhbmQgYXV0aD09c2ltX2F1dGhfY3JlZGVudGlhbHNbJ2xvZ2luJ106Ci0gICAgICAgICAgICBzZWxmLnB1c2goJzMzNCBQYXNzd29yZDonKQorICAgICAgICBlbGlmIG1lY2g9PSdwbGFpbic6CisgICAgICAgICAgICBzZWxmLnB1c2goJzMzNCAnKQorICAgICAgICBlbGlmIG1lY2g9PSdsb2dpbic6CisgICAgICAgICAgICBzZWxmLnB1c2goJzMzNCAnKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgc2VsZi5wdXNoKCc1NTAgTm8gYWNjZXNzIGZvciB5b3UhJykKIApAQCAtNzE5LDcgKzcyMCw4IEBACiAKICAgICBkZWYgaGFuZGxlX2FjY2VwdGVkKHNlbGYsIGNvbm4sIGFkZHIpOgogICAgICAgICBzZWxmLl9TTVRQY2hhbm5lbCA9IHNlbGYuY2hhbm5lbF9jbGFzcygKLSAgICAgICAgICAgIHNlbGYuX2V4dHJhX2ZlYXR1cmVzLCBzZWxmLCBjb25uLCBhZGRyKQorICAgICAgICAgICAgc2VsZi5fZXh0cmFfZmVhdHVyZXMsIHNlbGYsIGNvbm4sIGFkZHIsCisgICAgICAgICAgICBkZWNvZGVfZGF0YT1zZWxmLl9kZWNvZGVfZGF0YSkKIAogICAgIGRlZiBwcm9jZXNzX21lc3NhZ2Uoc2VsZiwgcGVlciwgbWFpbGZyb20sIHJjcHR0b3MsIGRhdGEpOgogICAgICAgICBwYXNzCkBAIC03NDIsNyArNzQ0LDcgQEAKICAgICAgICAgc2VsZi5zZXJ2X2V2dCA9IHRocmVhZGluZy5FdmVudCgpCiAgICAgICAgIHNlbGYuY2xpZW50X2V2dCA9IHRocmVhZGluZy5FdmVudCgpCiAgICAgICAgICMgUGljayBhIHJhbmRvbSB1bnVzZWQgcG9ydCBieSBwYXNzaW5nIDAgZm9yIHRoZSBwb3J0IG51bWJlcgotICAgICAgICBzZWxmLnNlcnYgPSBTaW1TTVRQU2VydmVyKChIT1NULCAwKSwgKCdub3doZXJlJywgLTEpKQorICAgICAgICBzZWxmLnNlcnYgPSBTaW1TTVRQU2VydmVyKChIT1NULCAwKSwgKCdub3doZXJlJywgLTEpLCBkZWNvZGVfZGF0YT1UcnVlKQogICAgICAgICAjIEtlZXAgYSBub3RlIG9mIHdoYXQgcG9ydCB3YXMgYXNzaWduZWQKICAgICAgICAgc2VsZi5wb3J0ID0gc2VsZi5zZXJ2LnNvY2tldC5nZXRzb2NrbmFtZSgpWzFdCiAgICAgICAgIHNlcnZfYXJncyA9IChzZWxmLnNlcnYsIHNlbGYuc2Vydl9ldnQsIHNlbGYuY2xpZW50X2V2dCkKQEAgLTgxNiwyOCArODE4LDI4IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc210cC5leHBuKHUpLCBleHBlY3RlZF91bmtub3duKQogICAgICAgICBzbXRwLnF1aXQoKQogCi0gICAgZGVmIHRlc3RBVVRIX1BMQUlOKHNlbGYpOgotICAgICAgICBzZWxmLnNlcnYuYWRkX2ZlYXR1cmUoIkFVVEggUExBSU4iKQotICAgICAgICBzbXRwID0gc210cGxpYi5TTVRQKEhPU1QsIHNlbGYucG9ydCwgbG9jYWxfaG9zdG5hbWU9J2xvY2FsaG9zdCcsIHRpbWVvdXQ9MTUpCi0KLSAgICAgICAgZXhwZWN0ZWRfYXV0aF9vayA9ICgyMzUsIGIncGxhaW4gYXV0aCBvaycpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc210cC5sb2dpbihzaW1fYXV0aFswXSwgc2ltX2F1dGhbMV0pLCBleHBlY3RlZF9hdXRoX29rKQotICAgICAgICBzbXRwLmNsb3NlKCkKLQotICAgICMgU2ltU01UUENoYW5uZWwgZG9lc24ndCBmdWxseSBzdXBwb3J0IExPR0lOIG9yIENSQU0tTUQ1IGF1dGggYmVjYXVzZSB0aGV5Ci0gICAgIyByZXF1aXJlIGEgc3luY2hyb25vdXMgcmVhZCB0byBvYnRhaW4gdGhlIGNyZWRlbnRpYWxzLi4uc28gaW5zdGVhZCBzbXRwZAorICAgICMgU2ltU01UUENoYW5uZWwgZG9lc24ndCBmdWxseSBzdXBwb3J0IEFVVEggYmVjYXVzZSBpdCByZXF1aXJlcyBhCisgICAgIyBzeW5jaHJvbm91cyByZWFkIHRvIG9idGFpbiB0aGUgY3JlZGVudGlhbHMuLi5zbyBpbnN0ZWFkIHNtdHBkCiAgICAgIyBzZWVzIHRoZSBjcmVkZW50aWFsIHNlbnQgYnkgc210cGxpYidzIGxvZ2luIG1ldGhvZCBhcyBhbiB1bmtub3duIGNvbW1hbmQsCiAgICAgIyB3aGljaCByZXN1bHRzIGluIHNtdHBsaWIgcmFpc2luZyBhbiBhdXRoIGVycm9yLiAgRm9ydHVuYXRlbHkgdGhlIGVycm9yCiAgICAgIyBtZXNzYWdlIGNvbnRhaW5zIHRoZSBlbmNvZGVkIGNyZWRlbnRpYWwsIHNvIHdlIGNhbiBwYXJ0aWFsbHkgY2hlY2sgdGhhdCBpdAogICAgICMgd2FzIGdlbmVyYXRlZCBjb3JyZWN0bHkgKHBhcnRpYWxseSwgYmVjYXVzZSB0aGUgJ3dvcmQnIGlzIHVwcGVyY2FzZWQgaW4KICAgICAjIHRoZSBlcnJvciBtZXNzYWdlKS4KIAorICAgIGRlZiB0ZXN0QVVUSF9QTEFJTihzZWxmKToKKyAgICAgICAgc2VsZi5zZXJ2LmFkZF9mZWF0dXJlKCJBVVRIIFBMQUlOIikKKyAgICAgICAgc210cCA9IHNtdHBsaWIuU01UUChIT1NULCBzZWxmLnBvcnQsIGxvY2FsX2hvc3RuYW1lPSdsb2NhbGhvc3QnLCB0aW1lb3V0PTE1KQorICAgICAgICB0cnk6IHNtdHAubG9naW4oc2ltX2F1dGhbMF0sIHNpbV9hdXRoWzFdKQorICAgICAgICBleGNlcHQgc210cGxpYi5TTVRQQXV0aGVudGljYXRpb25FcnJvciBhcyBlcnI6CisgICAgICAgICAgICBzZWxmLmFzc2VydEluKHNpbV9hdXRoX3BsYWluLCBzdHIoZXJyKSkKKyAgICAgICAgc210cC5jbG9zZSgpCisKICAgICBkZWYgdGVzdEFVVEhfTE9HSU4oc2VsZik6CiAgICAgICAgIHNlbGYuc2Vydi5hZGRfZmVhdHVyZSgiQVVUSCBMT0dJTiIpCiAgICAgICAgIHNtdHAgPSBzbXRwbGliLlNNVFAoSE9TVCwgc2VsZi5wb3J0LCBsb2NhbF9ob3N0bmFtZT0nbG9jYWxob3N0JywgdGltZW91dD0xNSkKICAgICAgICAgdHJ5OiBzbXRwLmxvZ2luKHNpbV9hdXRoWzBdLCBzaW1fYXV0aFsxXSkKICAgICAgICAgZXhjZXB0IHNtdHBsaWIuU01UUEF1dGhlbnRpY2F0aW9uRXJyb3IgYXMgZXJyOgotICAgICAgICAgICAgc2VsZi5hc3NlcnRJbihzaW1fYXV0aF9sb2dpbl9wYXNzd29yZCwgc3RyKGVycikpCisgICAgICAgICAgICBzZWxmLmFzc2VydEluKHNpbV9hdXRoX2xvZ2luX3VzZXIsIHN0cihlcnIpKQogICAgICAgICBzbXRwLmNsb3NlKCkKIAogICAgIGRlZiB0ZXN0QVVUSF9DUkFNX01ENShzZWxmKToKQEAgLTg1NSw3ICs4NTcsMjMgQEAKICAgICAgICAgc210cCA9IHNtdHBsaWIuU01UUChIT1NULCBzZWxmLnBvcnQsIGxvY2FsX2hvc3RuYW1lPSdsb2NhbGhvc3QnLCB0aW1lb3V0PTE1KQogICAgICAgICB0cnk6IHNtdHAubG9naW4oc2ltX2F1dGhbMF0sIHNpbV9hdXRoWzFdKQogICAgICAgICBleGNlcHQgc210cGxpYi5TTVRQQXV0aGVudGljYXRpb25FcnJvciBhcyBlcnI6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydEluKHNpbV9hdXRoX2xvZ2luX3Bhc3N3b3JkLCBzdHIoZXJyKSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oc2ltX2F1dGhfbG9naW5fdXNlciwgc3RyKGVycikpCisgICAgICAgIHNtdHAuY2xvc2UoKQorCisgICAgZGVmIHRlc3RfYXV0aF9mdW5jdGlvbihzZWxmKToKKyAgICAgICAgc210cCA9IHNtdHBsaWIuU01UUChIT1NULCBzZWxmLnBvcnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxfaG9zdG5hbWU9J2xvY2FsaG9zdCcsIHRpbWVvdXQ9MTUpCisgICAgICAgIHNlbGYuc2Vydi5hZGRfZmVhdHVyZSgiQVVUSCBDUkFNLU1ENSIpCisgICAgICAgIHNtdHAudXNlciwgc210cC5wYXNzd29yZCA9IHNpbV9hdXRoWzBdLCBzaW1fYXV0aFsxXQorICAgICAgICBzdXBwb3J0ZWQgPSB7J0NSQU0tTUQ1Jzogc210cC5hdXRoX2NyYW1fbWQ1LAorICAgICAgICAgICAgICAgICAgICAgJ1BMQUlOJzogc210cC5hdXRoX3BsYWluLAorICAgICAgICAgICAgICAgICAgICAgJ0xPR0lOJzogc210cC5hdXRoX2xvZ2luLAorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgIGZvciBtZWNoYW5pc20sIG1ldGhvZCBpbiBzdXBwb3J0ZWQuaXRlbXMoKToKKyAgICAgICAgICAgIHRyeTogc210cC5hdXRoKG1lY2hhbmlzbSwgbWV0aG9kKQorICAgICAgICAgICAgZXhjZXB0IHNtdHBsaWIuU01UUEF1dGhlbnRpY2F0aW9uRXJyb3IgYXMgZXJyOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oc2ltX2F1dGhfY3JlZGVudGlhbHNbbWVjaGFuaXNtLmxvd2VyKCldLnVwcGVyKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIoZXJyKSkKICAgICAgICAgc210cC5jbG9zZSgpCiAKICAgICBkZWYgdGVzdF9xdWl0X3Jlc2V0c19ncmVldGluZyhzZWxmKToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfc25kaGRyLnB5IGIvTGliL3Rlc3QvdGVzdF9zbmRoZHIucHkKaW5kZXggNWUwYWJlMC4uNDI2NDE3YyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9zbmRoZHIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9zbmRoZHIucHkKQEAgLTEsNCArMSw1IEBACiBpbXBvcnQgc25kaGRyCitpbXBvcnQgcGlja2xlCiBpbXBvcnQgdW5pdHRlc3QKIGZyb20gdGVzdC5zdXBwb3J0IGltcG9ydCBmaW5kZmlsZQogCkBAIC0xOCw2ICsxOSwxOSBAQAogICAgICAgICAgICAgd2hhdCA9IHNuZGhkci53aGF0KGZpbGVuYW1lKQogICAgICAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbCh3aGF0LCBOb25lLCBmaWxlbmFtZSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0U2VxdWVuY2VFcXVhbCh3aGF0LCBleHBlY3RlZCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwod2hhdC5maWxldHlwZSwgZXhwZWN0ZWRbMF0pCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHdoYXQuZnJhbWVyYXRlLCBleHBlY3RlZFsxXSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwod2hhdC5uY2hhbm5lbHMsIGV4cGVjdGVkWzJdKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh3aGF0Lm5mcmFtZXMsIGV4cGVjdGVkWzNdKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh3aGF0LnNhbXB3aWR0aCwgZXhwZWN0ZWRbNF0pCisKKyAgICBkZWYgdGVzdF9waWNrbGVhYmxlKHNlbGYpOgorICAgICAgICBmaWxlbmFtZSA9IGZpbmRmaWxlKCdzbmRoZHIuYWlmYycsIHN1YmRpcj0ic25kaGRyZGF0YSIpCisgICAgICAgIHdoYXQgPSBzbmRoZHIud2hhdChmaWxlbmFtZSkKKyAgICAgICAgZm9yIHByb3RvIGluIHJhbmdlKHBpY2tsZS5ISUdIRVNUX1BST1RPQ09MICsgMSk6CisgICAgICAgICAgICBkdW1wID0gcGlja2xlLmR1bXBzKHdoYXQsIHByb3RvKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwaWNrbGUubG9hZHMoZHVtcCksIHdoYXQpCisKIAogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKICAgICB1bml0dGVzdC5tYWluKCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfc29ja2V0LnB5IGIvTGliL3Rlc3QvdGVzdF9zb2NrZXQucHkKaW5kZXggYjQxMjM4Ni4uY2Y0NWI3MyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9zb2NrZXQucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9zb2NrZXQucHkKQEAgLTIwLDYgKzIwLDggQEAKIGltcG9ydCBtYXRoCiBpbXBvcnQgcGlja2xlCiBpbXBvcnQgc3RydWN0CitpbXBvcnQgcmFuZG9tCitpbXBvcnQgc3RyaW5nCiB0cnk6CiAgICAgaW1wb3J0IG11bHRpcHJvY2Vzc2luZwogZXhjZXB0IEltcG9ydEVycm9yOgpAQCAtNzYsNyArNzgsNyBAQAogICAgIGRlZiBzZXRVcChzZWxmKToKICAgICAgICAgc2VsZi5zZXJ2ID0gc29ja2V0LnNvY2tldChzb2NrZXQuQUZfSU5FVCwgc29ja2V0LlNPQ0tfU1RSRUFNKQogICAgICAgICBzZWxmLnBvcnQgPSBzdXBwb3J0LmJpbmRfcG9ydChzZWxmLnNlcnYpCi0gICAgICAgIHNlbGYuc2Vydi5saXN0ZW4oMSkKKyAgICAgICAgc2VsZi5zZXJ2Lmxpc3RlbigpCiAKICAgICBkZWYgdGVhckRvd24oc2VsZik6CiAgICAgICAgIHNlbGYuc2Vydi5jbG9zZSgpCkBAIC00NDUsNyArNDQ3LDcgQEAKIAogICAgIGRlZiBzZXRVcChzZWxmKToKICAgICAgICAgc3VwZXIoKS5zZXRVcCgpCi0gICAgICAgIHNlbGYuc2Vydi5saXN0ZW4oMSkKKyAgICAgICAgc2VsZi5zZXJ2Lmxpc3RlbigpCiAKIAogY2xhc3MgVGhyZWFkZWRTb2NrZXRUZXN0TWl4aW4oVGhyZWFkU2FmZUNsZWFudXBUZXN0Q2FzZSwgU29ja2V0VGVzdEJhc2UsCkBAIC03MTYsMTEgKzcxOCwxMSBAQAogICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvcikgYXMgY206CiAgICAgICAgICAgICBzLnNlbmR0bygnXHUyNjIwJywgc29ja25hbWUpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGNtLmV4Y2VwdGlvbiksCi0gICAgICAgICAgICAgICAgICAgICAgICAgIidzdHInIGRvZXMgbm90IHN1cHBvcnQgdGhlIGJ1ZmZlciBpbnRlcmZhY2UiKQorICAgICAgICAgICAgICAgICAgICAgICAgICJhIGJ5dGVzLWxpa2Ugb2JqZWN0IGlzIHJlcXVpcmVkLCBub3QgJ3N0ciciKQogICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvcikgYXMgY206CiAgICAgICAgICAgICBzLnNlbmR0byg1aiwgc29ja25hbWUpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGNtLmV4Y2VwdGlvbiksCi0gICAgICAgICAgICAgICAgICAgICAgICAgIidjb21wbGV4JyBkb2VzIG5vdCBzdXBwb3J0IHRoZSBidWZmZXIgaW50ZXJmYWNlIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAiYSBieXRlcy1saWtlIG9iamVjdCBpcyByZXF1aXJlZCwgbm90ICdjb21wbGV4JyIpCiAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yKSBhcyBjbToKICAgICAgICAgICAgIHMuc2VuZHRvKGInZm9vJywgTm9uZSkKICAgICAgICAgc2VsZi5hc3NlcnRJbignbm90IE5vbmVUeXBlJyxzdHIoY20uZXhjZXB0aW9uKSkKQEAgLTcyOCwxMSArNzMwLDExIEBACiAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yKSBhcyBjbToKICAgICAgICAgICAgIHMuc2VuZHRvKCdcdTI2MjAnLCAwLCBzb2NrbmFtZSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoY20uZXhjZXB0aW9uKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAiJ3N0cicgZG9lcyBub3Qgc3VwcG9ydCB0aGUgYnVmZmVyIGludGVyZmFjZSIpCisgICAgICAgICAgICAgICAgICAgICAgICAgImEgYnl0ZXMtbGlrZSBvYmplY3QgaXMgcmVxdWlyZWQsIG5vdCAnc3RyJyIpCiAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yKSBhcyBjbToKICAgICAgICAgICAgIHMuc2VuZHRvKDVqLCAwLCBzb2NrbmFtZSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoY20uZXhjZXB0aW9uKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAiJ2NvbXBsZXgnIGRvZXMgbm90IHN1cHBvcnQgdGhlIGJ1ZmZlciBpbnRlcmZhY2UiKQorICAgICAgICAgICAgICAgICAgICAgICAgICJhIGJ5dGVzLWxpa2Ugb2JqZWN0IGlzIHJlcXVpcmVkLCBub3QgJ2NvbXBsZXgnIikKICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpIGFzIGNtOgogICAgICAgICAgICAgcy5zZW5kdG8oYidmb28nLCAwLCBOb25lKQogICAgICAgICBzZWxmLmFzc2VydEluKCdub3QgTm9uZVR5cGUnLCBzdHIoY20uZXhjZXB0aW9uKSkKQEAgLTEzNzgsMTAgKzEzODAsMTMgQEAKIAogICAgIGRlZiB0ZXN0X2xpc3Rlbl9iYWNrbG9nKHNlbGYpOgogICAgICAgICBmb3IgYmFja2xvZyBpbiAwLCAtMToKLSAgICAgICAgICAgIHNydiA9IHNvY2tldC5zb2NrZXQoc29ja2V0LkFGX0lORVQsIHNvY2tldC5TT0NLX1NUUkVBTSkKKyAgICAgICAgICAgIHdpdGggc29ja2V0LnNvY2tldChzb2NrZXQuQUZfSU5FVCwgc29ja2V0LlNPQ0tfU1RSRUFNKSBhcyBzcnY6CisgICAgICAgICAgICAgICAgc3J2LmJpbmQoKEhPU1QsIDApKQorICAgICAgICAgICAgICAgIHNydi5saXN0ZW4oYmFja2xvZykKKworICAgICAgICB3aXRoIHNvY2tldC5zb2NrZXQoc29ja2V0LkFGX0lORVQsIHNvY2tldC5TT0NLX1NUUkVBTSkgYXMgc3J2OgogICAgICAgICAgICAgc3J2LmJpbmQoKEhPU1QsIDApKQotICAgICAgICAgICAgc3J2Lmxpc3RlbihiYWNrbG9nKQotICAgICAgICAgICAgc3J2LmNsb3NlKCkKKyAgICAgICAgICAgIHNydi5saXN0ZW4oKQogCiAgICAgQHN1cHBvcnQuY3B5dGhvbl9vbmx5CiAgICAgZGVmIHRlc3RfbGlzdGVuX2JhY2tsb2dfb3ZlcmZsb3coc2VsZik6CkBAIC0zNTg1LDcgKzM1OTAsNyBAQAogICAgIGRlZiBzZXRVcChzZWxmKToKICAgICAgICAgc3VwZXIoKS5zZXRVcCgpCiAgICAgICAgIG9yaWdfYWxybV9oYW5kbGVyID0gc2lnbmFsLnNpZ25hbChzaWduYWwuU0lHQUxSTSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhbWJkYSBzaWdudW0sIGZyYW1lOiBOb25lKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFtYmRhIHNpZ251bSwgZnJhbWU6IDEgLyAwKQogICAgICAgICBzZWxmLmFkZENsZWFudXAoc2lnbmFsLnNpZ25hbCwgc2lnbmFsLlNJR0FMUk0sIG9yaWdfYWxybV9oYW5kbGVyKQogICAgICAgICBzZWxmLmFkZENsZWFudXAoc2VsZi5zZXRBbGFybSwgMCkKIApAQCAtMzYyMiwxMyArMzYyNywxMSBAQAogICAgICAgICBzZWxmLnNlcnYuc2V0dGltZW91dChzZWxmLnRpbWVvdXQpCiAKICAgICBkZWYgY2hlY2tJbnRlcnJ1cHRlZFJlY3Yoc2VsZiwgZnVuYywgKmFyZ3MsICoqa3dhcmdzKToKLSAgICAgICAgIyBDaGVjayB0aGF0IGZ1bmMoKmFyZ3MsICoqa3dhcmdzKSByYWlzZXMgT1NFcnJvciB3aXRoIGFuCisgICAgICAgICMgQ2hlY2sgdGhhdCBmdW5jKCphcmdzLCAqKmt3YXJncykgcmFpc2VzCiAgICAgICAgICMgZXJybm8gb2YgRUlOVFIgd2hlbiBpbnRlcnJ1cHRlZCBieSBhIHNpZ25hbC4KICAgICAgICAgc2VsZi5zZXRBbGFybShzZWxmLmFsYXJtX3RpbWUpCi0gICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvcikgYXMgY206CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoWmVyb0RpdmlzaW9uRXJyb3IpIGFzIGNtOgogICAgICAgICAgICAgZnVuYygqYXJncywgKiprd2FyZ3MpCi0gICAgICAgIHNlbGYuYXNzZXJ0Tm90SXNJbnN0YW5jZShjbS5leGNlcHRpb24sIHNvY2tldC50aW1lb3V0KQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtLmV4Y2VwdGlvbi5lcnJubywgZXJybm8uRUlOVFIpCiAKICAgICBkZWYgdGVzdEludGVycnVwdGVkUmVjdlRpbWVvdXQoc2VsZik6CiAgICAgICAgIHNlbGYuY2hlY2tJbnRlcnJ1cHRlZFJlY3Yoc2VsZi5zZXJ2LnJlY3YsIDEwMjQpCkBAIC0zNjg0LDEyICszNjg3LDEwIEBACiAgICAgICAgICMgQ2hlY2sgdGhhdCBmdW5jKCphcmdzLCAqKmt3YXJncyksIHJ1biBpbiBhIGxvb3AsIHJhaXNlcwogICAgICAgICAjIE9TRXJyb3Igd2l0aCBhbiBlcnJubyBvZiBFSU5UUiB3aGVuIGludGVycnVwdGVkIGJ5IGEKICAgICAgICAgIyBzaWduYWwuCi0gICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvcikgYXMgY206CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoWmVyb0RpdmlzaW9uRXJyb3IpIGFzIGNtOgogICAgICAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgICAgICBzZWxmLnNldEFsYXJtKHNlbGYuYWxhcm1fdGltZSkKICAgICAgICAgICAgICAgICBmdW5jKCphcmdzLCAqKmt3YXJncykKLSAgICAgICAgc2VsZi5hc3NlcnROb3RJc0luc3RhbmNlKGNtLmV4Y2VwdGlvbiwgc29ja2V0LnRpbWVvdXQpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY20uZXhjZXB0aW9uLmVycm5vLCBlcnJuby5FSU5UUikKIAogICAgICMgSXNzdWUgIzEyOTU4OiBUaGUgZm9sbG93aW5nIHRlc3RzIGhhdmUgcHJvYmxlbXMgb24gT1MgWCBwcmlvciB0byAxMC43CiAgICAgQHN1cHBvcnQucmVxdWlyZXNfbWFjX3ZlcigxMCwgNykKQEAgLTM3MzEsOCArMzczMiw2IEBACiAgICAgICAgIHNlbGYuY2xpLmNvbm5lY3QoKEhPU1QsIHNlbGYucG9ydCkpCiAgICAgICAgIHRpbWUuc2xlZXAoMS4wKQogCi1AdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKHNvY2tldCwgJ3NvY2tldHBhaXInKSwKLSAgICAgICAgICAgICAgICAgICAgICd0ZXN0IG5lZWRzIHNvY2tldC5zb2NrZXRwYWlyKCknKQogQHVuaXR0ZXN0LnNraXBVbmxlc3ModGhyZWFkLCAnVGhyZWFkaW5nIHJlcXVpcmVkIGZvciB0aGlzIHRlc3QuJykKIGNsYXNzIEJhc2ljU29ja2V0UGFpclRlc3QoU29ja2V0UGFpclRlc3QpOgogCkBAIC0zODEzLDcgKzM4MTIsNyBAQAogICAgICAgICBzZWxmLnNlcnYgPSBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVULCBzb2NrZXQuU09DS19TVFJFQU0gfAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb2NrZXQuU09DS19OT05CTE9DSykKICAgICAgICAgc2VsZi5wb3J0ID0gc3VwcG9ydC5iaW5kX3BvcnQoc2VsZi5zZXJ2KQotICAgICAgICBzZWxmLnNlcnYubGlzdGVuKDEpCisgICAgICAgIHNlbGYuc2Vydi5saXN0ZW4oKQogICAgICAgICAjIGFjdHVhbCB0ZXN0aW5nCiAgICAgICAgIHN0YXJ0ID0gdGltZS50aW1lKCkKICAgICAgICAgdHJ5OgpAQCAtNDA1OSwxMTcgKzQwNTgsNiBAQAogICAgICAgICBwYXNzCiAKIAotY2xhc3MgRmlsZU9iamVjdEludGVycnVwdGVkVGVzdENhc2UodW5pdHRlc3QuVGVzdENhc2UpOgotICAgICIiIlRlc3QgdGhhdCB0aGUgZmlsZSBvYmplY3QgY29ycmVjdGx5IGhhbmRsZXMgRUlOVFIgaW50ZXJuYWxseS4iIiIKLQotICAgIGNsYXNzIE1vY2tTb2NrZXQob2JqZWN0KToKLSAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHJlY3ZfZnVuY3M9KCkpOgotICAgICAgICAgICAgIyBBIGdlbmVyYXRvciB0aGF0IHJldHVybnMgY2FsbGFibGVzIHRoYXQgd2UnbGwgY2FsbCBmb3IgZWFjaAotICAgICAgICAgICAgIyBjYWxsIHRvIHJlY3YoKS4KLSAgICAgICAgICAgIHNlbGYuX3JlY3Zfc3RlcCA9IGl0ZXIocmVjdl9mdW5jcykKLQotICAgICAgICBkZWYgcmVjdl9pbnRvKHNlbGYsIGJ1ZmZlcik6Ci0gICAgICAgICAgICBkYXRhID0gbmV4dChzZWxmLl9yZWN2X3N0ZXApKCkKLSAgICAgICAgICAgIGFzc2VydCBsZW4oYnVmZmVyKSA+PSBsZW4oZGF0YSkKLSAgICAgICAgICAgIGJ1ZmZlcls6bGVuKGRhdGEpXSA9IGRhdGEKLSAgICAgICAgICAgIHJldHVybiBsZW4oZGF0YSkKLQotICAgICAgICBkZWYgX2RlY3JlZl9zb2NrZXRpb3Moc2VsZik6Ci0gICAgICAgICAgICBwYXNzCi0KLSAgICAgICAgZGVmIF90ZXh0aW93cmFwX2Zvcl90ZXN0KHNlbGYsIGJ1ZmZlcmluZz0tMSk6Ci0gICAgICAgICAgICByYXcgPSBzb2NrZXQuU29ja2V0SU8oc2VsZiwgInIiKQotICAgICAgICAgICAgaWYgYnVmZmVyaW5nIDwgMDoKLSAgICAgICAgICAgICAgICBidWZmZXJpbmcgPSBpby5ERUZBVUxUX0JVRkZFUl9TSVpFCi0gICAgICAgICAgICBpZiBidWZmZXJpbmcgPT0gMDoKLSAgICAgICAgICAgICAgICByZXR1cm4gcmF3Ci0gICAgICAgICAgICBidWZmZXIgPSBpby5CdWZmZXJlZFJlYWRlcihyYXcsIGJ1ZmZlcmluZykKLSAgICAgICAgICAgIHRleHQgPSBpby5UZXh0SU9XcmFwcGVyKGJ1ZmZlciwgTm9uZSwgTm9uZSkKLSAgICAgICAgICAgIHRleHQubW9kZSA9ICJyYiIKLSAgICAgICAgICAgIHJldHVybiB0ZXh0Ci0KLSAgICBAc3RhdGljbWV0aG9kCi0gICAgZGVmIF9yYWlzZV9laW50cigpOgotICAgICAgICByYWlzZSBPU0Vycm9yKGVycm5vLkVJTlRSLCAiaW50ZXJydXB0ZWQiKQotCi0gICAgZGVmIF90ZXh0aW93cmFwX21vY2tfc29ja2V0KHNlbGYsIG1vY2ssIGJ1ZmZlcmluZz0tMSk6Ci0gICAgICAgIHJhdyA9IHNvY2tldC5Tb2NrZXRJTyhtb2NrLCAiciIpCi0gICAgICAgIGlmIGJ1ZmZlcmluZyA8IDA6Ci0gICAgICAgICAgICBidWZmZXJpbmcgPSBpby5ERUZBVUxUX0JVRkZFUl9TSVpFCi0gICAgICAgIGlmIGJ1ZmZlcmluZyA9PSAwOgotICAgICAgICAgICAgcmV0dXJuIHJhdwotICAgICAgICBidWZmZXIgPSBpby5CdWZmZXJlZFJlYWRlcihyYXcsIGJ1ZmZlcmluZykKLSAgICAgICAgdGV4dCA9IGlvLlRleHRJT1dyYXBwZXIoYnVmZmVyLCBOb25lLCBOb25lKQotICAgICAgICB0ZXh0Lm1vZGUgPSAicmIiCi0gICAgICAgIHJldHVybiB0ZXh0Ci0KLSAgICBkZWYgX3Rlc3RfcmVhZGxpbmUoc2VsZiwgc2l6ZT0tMSwgYnVmZmVyaW5nPS0xKToKLSAgICAgICAgbW9ja19zb2NrID0gc2VsZi5Nb2NrU29ja2V0KHJlY3ZfZnVuY3M9WwotICAgICAgICAgICAgICAgIGxhbWJkYSA6IGIiVGhpcyBpcyB0aGUgZmlyc3QgbGluZVxuQW5kIHRoZSBzZWMiLAotICAgICAgICAgICAgICAgIHNlbGYuX3JhaXNlX2VpbnRyLAotICAgICAgICAgICAgICAgIGxhbWJkYSA6IGIib25kIGxpbmUgaXMgaGVyZVxuIiwKLSAgICAgICAgICAgICAgICBsYW1iZGEgOiBiIiIsCi0gICAgICAgICAgICAgICAgbGFtYmRhIDogYiIiLCAgIyBYWFgoZ3BzKTogaW8gbGlicmFyeSBkb2VzIGFuIGV4dHJhIEVPRiByZWFkCi0gICAgICAgICAgICBdKQotICAgICAgICBmbyA9IG1vY2tfc29jay5fdGV4dGlvd3JhcF9mb3JfdGVzdChidWZmZXJpbmc9YnVmZmVyaW5nKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZvLnJlYWRsaW5lKHNpemUpLCAiVGhpcyBpcyB0aGUgZmlyc3QgbGluZVxuIikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmby5yZWFkbGluZShzaXplKSwgIkFuZCB0aGUgc2Vjb25kIGxpbmUgaXMgaGVyZVxuIikKLQotICAgIGRlZiBfdGVzdF9yZWFkKHNlbGYsIHNpemU9LTEsIGJ1ZmZlcmluZz0tMSk6Ci0gICAgICAgIG1vY2tfc29jayA9IHNlbGYuTW9ja1NvY2tldChyZWN2X2Z1bmNzPVsKLSAgICAgICAgICAgICAgICBsYW1iZGEgOiBiIlRoaXMgaXMgdGhlIGZpcnN0IGxpbmVcbkFuZCB0aGUgc2VjIiwKLSAgICAgICAgICAgICAgICBzZWxmLl9yYWlzZV9laW50ciwKLSAgICAgICAgICAgICAgICBsYW1iZGEgOiBiIm9uZCBsaW5lIGlzIGhlcmVcbiIsCi0gICAgICAgICAgICAgICAgbGFtYmRhIDogYiIiLAotICAgICAgICAgICAgICAgIGxhbWJkYSA6IGIiIiwgICMgWFhYKGdwcyk6IGlvIGxpYnJhcnkgZG9lcyBhbiBleHRyYSBFT0YgcmVhZAotICAgICAgICAgICAgXSkKLSAgICAgICAgZXhwZWN0aW5nID0gKGIiVGhpcyBpcyB0aGUgZmlyc3QgbGluZVxuIgotICAgICAgICAgICAgICAgICAgICAgYiJBbmQgdGhlIHNlY29uZCBsaW5lIGlzIGhlcmVcbiIpCi0gICAgICAgIGZvID0gbW9ja19zb2NrLl90ZXh0aW93cmFwX2Zvcl90ZXN0KGJ1ZmZlcmluZz1idWZmZXJpbmcpCi0gICAgICAgIGlmIGJ1ZmZlcmluZyA9PSAwOgotICAgICAgICAgICAgZGF0YSA9IGInJwotICAgICAgICBlbHNlOgotICAgICAgICAgICAgZGF0YSA9ICcnCi0gICAgICAgICAgICBleHBlY3RpbmcgPSBleHBlY3RpbmcuZGVjb2RlKCd1dGYtOCcpCi0gICAgICAgIHdoaWxlIGxlbihkYXRhKSAhPSBsZW4oZXhwZWN0aW5nKToKLSAgICAgICAgICAgIHBhcnQgPSBmby5yZWFkKHNpemUpCi0gICAgICAgICAgICBpZiBub3QgcGFydDoKLSAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgZGF0YSArPSBwYXJ0Ci0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YSwgZXhwZWN0aW5nKQotCi0gICAgZGVmIHRlc3RfZGVmYXVsdChzZWxmKToKLSAgICAgICAgc2VsZi5fdGVzdF9yZWFkbGluZSgpCi0gICAgICAgIHNlbGYuX3Rlc3RfcmVhZGxpbmUoc2l6ZT0xMDApCi0gICAgICAgIHNlbGYuX3Rlc3RfcmVhZCgpCi0gICAgICAgIHNlbGYuX3Rlc3RfcmVhZChzaXplPTEwMCkKLQotICAgIGRlZiB0ZXN0X3dpdGhfMWtfYnVmZmVyKHNlbGYpOgotICAgICAgICBzZWxmLl90ZXN0X3JlYWRsaW5lKGJ1ZmZlcmluZz0xMDI0KQotICAgICAgICBzZWxmLl90ZXN0X3JlYWRsaW5lKHNpemU9MTAwLCBidWZmZXJpbmc9MTAyNCkKLSAgICAgICAgc2VsZi5fdGVzdF9yZWFkKGJ1ZmZlcmluZz0xMDI0KQotICAgICAgICBzZWxmLl90ZXN0X3JlYWQoc2l6ZT0xMDAsIGJ1ZmZlcmluZz0xMDI0KQotCi0gICAgZGVmIF90ZXN0X3JlYWRsaW5lX25vX2J1ZmZlcihzZWxmLCBzaXplPS0xKToKLSAgICAgICAgbW9ja19zb2NrID0gc2VsZi5Nb2NrU29ja2V0KHJlY3ZfZnVuY3M9WwotICAgICAgICAgICAgICAgIGxhbWJkYSA6IGIiYSIsCi0gICAgICAgICAgICAgICAgbGFtYmRhIDogYiJcbiIsCi0gICAgICAgICAgICAgICAgbGFtYmRhIDogYiJCIiwKLSAgICAgICAgICAgICAgICBzZWxmLl9yYWlzZV9laW50ciwKLSAgICAgICAgICAgICAgICBsYW1iZGEgOiBiImIiLAotICAgICAgICAgICAgICAgIGxhbWJkYSA6IGIiIiwKLSAgICAgICAgICAgIF0pCi0gICAgICAgIGZvID0gbW9ja19zb2NrLl90ZXh0aW93cmFwX2Zvcl90ZXN0KGJ1ZmZlcmluZz0wKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZvLnJlYWRsaW5lKHNpemUpLCBiImFcbiIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZm8ucmVhZGxpbmUoc2l6ZSksIGIiQmIiKQotCi0gICAgZGVmIHRlc3Rfbm9fYnVmZmVyKHNlbGYpOgotICAgICAgICBzZWxmLl90ZXN0X3JlYWRsaW5lX25vX2J1ZmZlcigpCi0gICAgICAgIHNlbGYuX3Rlc3RfcmVhZGxpbmVfbm9fYnVmZmVyKHNpemU9NCkKLSAgICAgICAgc2VsZi5fdGVzdF9yZWFkKGJ1ZmZlcmluZz0wKQotICAgICAgICBzZWxmLl90ZXN0X3JlYWQoc2l6ZT0xMDAsIGJ1ZmZlcmluZz0wKQotCi0KIGNsYXNzIFVuYnVmZmVyZWRGaWxlT2JqZWN0Q2xhc3NUZXN0Q2FzZShGaWxlT2JqZWN0Q2xhc3NUZXN0Q2FzZSk6CiAKICAgICAiIiJSZXBlYXQgdGhlIHRlc3RzIGZyb20gRmlsZU9iamVjdENsYXNzVGVzdENhc2Ugd2l0aCBidWZzaXplPT0wLgpAQCAtNDU4OCw3ICs0NDc2LDcgQEAKICAgICAgICAgYWRkcmVzcyA9IGIiXHgwMHB5dGhvbi10ZXN0LWhlbGxvXHgwMFx4ZmYiCiAgICAgICAgIHdpdGggc29ja2V0LnNvY2tldChzb2NrZXQuQUZfVU5JWCwgc29ja2V0LlNPQ0tfU1RSRUFNKSBhcyBzMToKICAgICAgICAgICAgIHMxLmJpbmQoYWRkcmVzcykKLSAgICAgICAgICAgIHMxLmxpc3RlbigxKQorICAgICAgICAgICAgczEubGlzdGVuKCkKICAgICAgICAgICAgIHdpdGggc29ja2V0LnNvY2tldChzb2NrZXQuQUZfVU5JWCwgc29ja2V0LlNPQ0tfU1RSRUFNKSBhcyBzMjoKICAgICAgICAgICAgICAgICBzMi5jb25uZWN0KHMxLmdldHNvY2tuYW1lKCkpCiAgICAgICAgICAgICAgICAgd2l0aCBzMS5hY2NlcHQoKVswXSBhcyBzMzoKQEAgLTQ4MjAsNyArNDcwOCw3IEBACiAgICAgICAgIHNydmFkZHIgPSAoc29ja2V0LlRJUENfQUREUl9OQU1FU0VRLCBUSVBDX1NUWVBFLAogICAgICAgICAgICAgICAgIFRJUENfTE9XRVIsIFRJUENfVVBQRVIpCiAgICAgICAgIHNlbGYuc3J2LmJpbmQoc3J2YWRkcikKLSAgICAgICAgc2VsZi5zcnYubGlzdGVuKDUpCisgICAgICAgIHNlbGYuc3J2Lmxpc3RlbigpCiAgICAgICAgIHNlbGYuc2VydmVyRXhwbGljaXRSZWFkeSgpCiAgICAgICAgIHNlbGYuY29ubiwgc2VsZi5jb25uYWRkciA9IHNlbGYuc3J2LmFjY2VwdCgpCiAgICAgICAgIHNlbGYuYWRkQ2xlYW51cChzZWxmLmNvbm4uY2xvc2UpCkBAIC01MTA5LDYgKzQ5OTcsMjc1IEBACiAgICAgICAgICAgICAgICAgICAgIHNvdXJjZS5jbG9zZSgpCiAKIAorQHVuaXR0ZXN0LnNraXBVbmxlc3ModGhyZWFkLCAnVGhyZWFkaW5nIHJlcXVpcmVkIGZvciB0aGlzIHRlc3QuJykKK2NsYXNzIFNlbmRmaWxlVXNpbmdTZW5kVGVzdChUaHJlYWRlZFRDUFNvY2tldFRlc3QpOgorICAgICIiIgorICAgIFRlc3QgdGhlIHNlbmQoKSBpbXBsZW1lbnRhdGlvbiBvZiBzb2NrZXQuc2VuZGZpbGUoKS4KKyAgICAiIiIKKworICAgIEZJTEVTSVpFID0gKDEwICogMTAyNCAqIDEwMjQpICAjIDEwTUIKKyAgICBCVUZTSVpFID0gODE5MgorICAgIEZJTEVEQVRBID0gYiIiCisgICAgVElNRU9VVCA9IDIKKworICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBzZXRVcENsYXNzKGNscyk6CisgICAgICAgIGRlZiBjaHVua3ModG90YWwsIHN0ZXApOgorICAgICAgICAgICAgYXNzZXJ0IHRvdGFsID49IHN0ZXAKKyAgICAgICAgICAgIHdoaWxlIHRvdGFsID4gc3RlcDoKKyAgICAgICAgICAgICAgICB5aWVsZCBzdGVwCisgICAgICAgICAgICAgICAgdG90YWwgLT0gc3RlcAorICAgICAgICAgICAgaWYgdG90YWw6CisgICAgICAgICAgICAgICAgeWllbGQgdG90YWwKKworICAgICAgICBjaHVuayA9IGIiIi5qb2luKFtyYW5kb20uY2hvaWNlKHN0cmluZy5hc2NpaV9sZXR0ZXJzKS5lbmNvZGUoKQorICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgaSBpbiByYW5nZShjbHMuQlVGU0laRSldKQorICAgICAgICB3aXRoIG9wZW4oc3VwcG9ydC5URVNURk4sICd3YicpIGFzIGY6CisgICAgICAgICAgICBmb3IgY3NpemUgaW4gY2h1bmtzKGNscy5GSUxFU0laRSwgY2xzLkJVRlNJWkUpOgorICAgICAgICAgICAgICAgIGYud3JpdGUoY2h1bmspCisgICAgICAgIHdpdGggb3BlbihzdXBwb3J0LlRFU1RGTiwgJ3JiJykgYXMgZjoKKyAgICAgICAgICAgIGNscy5GSUxFREFUQSA9IGYucmVhZCgpCisgICAgICAgICAgICBhc3NlcnQgbGVuKGNscy5GSUxFREFUQSkgPT0gY2xzLkZJTEVTSVpFCisKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgdGVhckRvd25DbGFzcyhjbHMpOgorICAgICAgICBzdXBwb3J0LnVubGluayhzdXBwb3J0LlRFU1RGTikKKworICAgIGRlZiBhY2NlcHRfY29ubihzZWxmKToKKyAgICAgICAgc2VsZi5zZXJ2LnNldHRpbWVvdXQoc2VsZi5USU1FT1VUKQorICAgICAgICBjb25uLCBhZGRyID0gc2VsZi5zZXJ2LmFjY2VwdCgpCisgICAgICAgIGNvbm4uc2V0dGltZW91dChzZWxmLlRJTUVPVVQpCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChjb25uLmNsb3NlKQorICAgICAgICByZXR1cm4gY29ubgorCisgICAgZGVmIHJlY3ZfZGF0YShzZWxmLCBjb25uKToKKyAgICAgICAgcmVjZWl2ZWQgPSBbXQorICAgICAgICB3aGlsZSBUcnVlOgorICAgICAgICAgICAgY2h1bmsgPSBjb25uLnJlY3Yoc2VsZi5CVUZTSVpFKQorICAgICAgICAgICAgaWYgbm90IGNodW5rOgorICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICByZWNlaXZlZC5hcHBlbmQoY2h1bmspCisgICAgICAgIHJldHVybiBiJycuam9pbihyZWNlaXZlZCkKKworICAgIGRlZiBtZXRoX2Zyb21fc29jayhzZWxmLCBzb2NrKToKKyAgICAgICAgIyBEZXBlbmRpbmcgb24gdGhlIG1peGluIGNsYXNzIGJlaW5nIHJ1biByZXR1cm4gZWl0aGVyIHNlbmQoKQorICAgICAgICAjIG9yIHNlbmRmaWxlKCkgbWV0aG9kIGltcGxlbWVudGF0aW9uLgorICAgICAgICByZXR1cm4gZ2V0YXR0cihzb2NrLCAiX3NlbmRmaWxlX3VzZV9zZW5kIikKKworICAgICMgcmVndWxhciBmaWxlCisKKyAgICBkZWYgX3Rlc3RSZWd1bGFyRmlsZShzZWxmKToKKyAgICAgICAgYWRkcmVzcyA9IHNlbGYuc2Vydi5nZXRzb2NrbmFtZSgpCisgICAgICAgIGZpbGUgPSBvcGVuKHN1cHBvcnQuVEVTVEZOLCAncmInKQorICAgICAgICB3aXRoIHNvY2tldC5jcmVhdGVfY29ubmVjdGlvbihhZGRyZXNzKSBhcyBzb2NrLCBmaWxlIGFzIGZpbGU6CisgICAgICAgICAgICBtZXRoID0gc2VsZi5tZXRoX2Zyb21fc29jayhzb2NrKQorICAgICAgICAgICAgc2VudCA9IG1ldGgoZmlsZSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VudCwgc2VsZi5GSUxFU0laRSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZmlsZS50ZWxsKCksIHNlbGYuRklMRVNJWkUpCisKKyAgICBkZWYgdGVzdFJlZ3VsYXJGaWxlKHNlbGYpOgorICAgICAgICBjb25uID0gc2VsZi5hY2NlcHRfY29ubigpCisgICAgICAgIGRhdGEgPSBzZWxmLnJlY3ZfZGF0YShjb25uKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihkYXRhKSwgc2VsZi5GSUxFU0laRSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRhLCBzZWxmLkZJTEVEQVRBKQorCisgICAgIyBub24gcmVndWxhciBmaWxlCisKKyAgICBkZWYgX3Rlc3ROb25SZWd1bGFyRmlsZShzZWxmKToKKyAgICAgICAgYWRkcmVzcyA9IHNlbGYuc2Vydi5nZXRzb2NrbmFtZSgpCisgICAgICAgIGZpbGUgPSBpby5CeXRlc0lPKHNlbGYuRklMRURBVEEpCisgICAgICAgIHdpdGggc29ja2V0LmNyZWF0ZV9jb25uZWN0aW9uKGFkZHJlc3MpIGFzIHNvY2ssIGZpbGUgYXMgZmlsZToKKyAgICAgICAgICAgIHNlbnQgPSBzb2NrLnNlbmRmaWxlKGZpbGUpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbnQsIHNlbGYuRklMRVNJWkUpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZpbGUudGVsbCgpLCBzZWxmLkZJTEVTSVpFKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoc29ja2V0Ll9HaXZldXBPblNlbmRmaWxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc29jay5fc2VuZGZpbGVfdXNlX3NlbmRmaWxlLCBmaWxlKQorCisgICAgZGVmIHRlc3ROb25SZWd1bGFyRmlsZShzZWxmKToKKyAgICAgICAgY29ubiA9IHNlbGYuYWNjZXB0X2Nvbm4oKQorICAgICAgICBkYXRhID0gc2VsZi5yZWN2X2RhdGEoY29ubikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oZGF0YSksIHNlbGYuRklMRVNJWkUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YSwgc2VsZi5GSUxFREFUQSkKKworICAgICMgZW1wdHkgZmlsZQorCisgICAgZGVmIF90ZXN0RW1wdHlGaWxlU2VuZChzZWxmKToKKyAgICAgICAgYWRkcmVzcyA9IHNlbGYuc2Vydi5nZXRzb2NrbmFtZSgpCisgICAgICAgIGZpbGVuYW1lID0gc3VwcG9ydC5URVNURk4gKyAiMiIKKyAgICAgICAgd2l0aCBvcGVuKGZpbGVuYW1lLCAnd2InKToKKyAgICAgICAgICAgIHNlbGYuYWRkQ2xlYW51cChzdXBwb3J0LnVubGluaywgZmlsZW5hbWUpCisgICAgICAgIGZpbGUgPSBvcGVuKGZpbGVuYW1lLCAncmInKQorICAgICAgICB3aXRoIHNvY2tldC5jcmVhdGVfY29ubmVjdGlvbihhZGRyZXNzKSBhcyBzb2NrLCBmaWxlIGFzIGZpbGU6CisgICAgICAgICAgICBtZXRoID0gc2VsZi5tZXRoX2Zyb21fc29jayhzb2NrKQorICAgICAgICAgICAgc2VudCA9IG1ldGgoZmlsZSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VudCwgMCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZmlsZS50ZWxsKCksIDApCisKKyAgICBkZWYgdGVzdEVtcHR5RmlsZVNlbmQoc2VsZik6CisgICAgICAgIGNvbm4gPSBzZWxmLmFjY2VwdF9jb25uKCkKKyAgICAgICAgZGF0YSA9IHNlbGYucmVjdl9kYXRhKGNvbm4pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YSwgYiIiKQorCisgICAgIyBvZmZzZXQKKworICAgIGRlZiBfdGVzdE9mZnNldChzZWxmKToKKyAgICAgICAgYWRkcmVzcyA9IHNlbGYuc2Vydi5nZXRzb2NrbmFtZSgpCisgICAgICAgIGZpbGUgPSBvcGVuKHN1cHBvcnQuVEVTVEZOLCAncmInKQorICAgICAgICB3aXRoIHNvY2tldC5jcmVhdGVfY29ubmVjdGlvbihhZGRyZXNzKSBhcyBzb2NrLCBmaWxlIGFzIGZpbGU6CisgICAgICAgICAgICBtZXRoID0gc2VsZi5tZXRoX2Zyb21fc29jayhzb2NrKQorICAgICAgICAgICAgc2VudCA9IG1ldGgoZmlsZSwgb2Zmc2V0PTUwMDApCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbnQsIHNlbGYuRklMRVNJWkUgLSA1MDAwKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmaWxlLnRlbGwoKSwgc2VsZi5GSUxFU0laRSkKKworICAgIGRlZiB0ZXN0T2Zmc2V0KHNlbGYpOgorICAgICAgICBjb25uID0gc2VsZi5hY2NlcHRfY29ubigpCisgICAgICAgIGRhdGEgPSBzZWxmLnJlY3ZfZGF0YShjb25uKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihkYXRhKSwgc2VsZi5GSUxFU0laRSAtIDUwMDApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YSwgc2VsZi5GSUxFREFUQVs1MDAwOl0pCisKKyAgICAjIGNvdW50CisKKyAgICBkZWYgX3Rlc3RDb3VudChzZWxmKToKKyAgICAgICAgYWRkcmVzcyA9IHNlbGYuc2Vydi5nZXRzb2NrbmFtZSgpCisgICAgICAgIGZpbGUgPSBvcGVuKHN1cHBvcnQuVEVTVEZOLCAncmInKQorICAgICAgICB3aXRoIHNvY2tldC5jcmVhdGVfY29ubmVjdGlvbihhZGRyZXNzLCB0aW1lb3V0PTIpIGFzIHNvY2ssIGZpbGUgYXMgZmlsZToKKyAgICAgICAgICAgIGNvdW50ID0gNTAwMDAwNworICAgICAgICAgICAgbWV0aCA9IHNlbGYubWV0aF9mcm9tX3NvY2soc29jaykKKyAgICAgICAgICAgIHNlbnQgPSBtZXRoKGZpbGUsIGNvdW50PWNvdW50KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZW50LCBjb3VudCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZmlsZS50ZWxsKCksIGNvdW50KQorCisgICAgZGVmIHRlc3RDb3VudChzZWxmKToKKyAgICAgICAgY291bnQgPSA1MDAwMDA3CisgICAgICAgIGNvbm4gPSBzZWxmLmFjY2VwdF9jb25uKCkKKyAgICAgICAgZGF0YSA9IHNlbGYucmVjdl9kYXRhKGNvbm4pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGRhdGEpLCBjb3VudCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRhLCBzZWxmLkZJTEVEQVRBWzpjb3VudF0pCisKKyAgICAjIGNvdW50IHNtYWxsCisKKyAgICBkZWYgX3Rlc3RDb3VudFNtYWxsKHNlbGYpOgorICAgICAgICBhZGRyZXNzID0gc2VsZi5zZXJ2LmdldHNvY2tuYW1lKCkKKyAgICAgICAgZmlsZSA9IG9wZW4oc3VwcG9ydC5URVNURk4sICdyYicpCisgICAgICAgIHdpdGggc29ja2V0LmNyZWF0ZV9jb25uZWN0aW9uKGFkZHJlc3MsIHRpbWVvdXQ9MikgYXMgc29jaywgZmlsZSBhcyBmaWxlOgorICAgICAgICAgICAgY291bnQgPSAxCisgICAgICAgICAgICBtZXRoID0gc2VsZi5tZXRoX2Zyb21fc29jayhzb2NrKQorICAgICAgICAgICAgc2VudCA9IG1ldGgoZmlsZSwgY291bnQ9Y291bnQpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbnQsIGNvdW50KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmaWxlLnRlbGwoKSwgY291bnQpCisKKyAgICBkZWYgdGVzdENvdW50U21hbGwoc2VsZik6CisgICAgICAgIGNvdW50ID0gMQorICAgICAgICBjb25uID0gc2VsZi5hY2NlcHRfY29ubigpCisgICAgICAgIGRhdGEgPSBzZWxmLnJlY3ZfZGF0YShjb25uKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihkYXRhKSwgY291bnQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YSwgc2VsZi5GSUxFREFUQVs6Y291bnRdKQorCisgICAgIyBjb3VudCArIG9mZnNldAorCisgICAgZGVmIF90ZXN0Q291bnRXaXRoT2Zmc2V0KHNlbGYpOgorICAgICAgICBhZGRyZXNzID0gc2VsZi5zZXJ2LmdldHNvY2tuYW1lKCkKKyAgICAgICAgZmlsZSA9IG9wZW4oc3VwcG9ydC5URVNURk4sICdyYicpCisgICAgICAgIHdpdGggc29ja2V0LmNyZWF0ZV9jb25uZWN0aW9uKGFkZHJlc3MsIHRpbWVvdXQ9MikgYXMgc29jaywgZmlsZSBhcyBmaWxlOgorICAgICAgICAgICAgY291bnQgPSAxMDAwMDcKKyAgICAgICAgICAgIG1ldGggPSBzZWxmLm1ldGhfZnJvbV9zb2NrKHNvY2spCisgICAgICAgICAgICBzZW50ID0gbWV0aChmaWxlLCBvZmZzZXQ9MjAwNywgY291bnQ9Y291bnQpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbnQsIGNvdW50KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmaWxlLnRlbGwoKSwgY291bnQgKyAyMDA3KQorCisgICAgZGVmIHRlc3RDb3VudFdpdGhPZmZzZXQoc2VsZik6CisgICAgICAgIGNvdW50ID0gMTAwMDA3CisgICAgICAgIGNvbm4gPSBzZWxmLmFjY2VwdF9jb25uKCkKKyAgICAgICAgZGF0YSA9IHNlbGYucmVjdl9kYXRhKGNvbm4pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGRhdGEpLCBjb3VudCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRhLCBzZWxmLkZJTEVEQVRBWzIwMDc6Y291bnQrMjAwN10pCisKKyAgICAjIG5vbiBibG9ja2luZyBzb2NrZXRzIGFyZSBub3Qgc3VwcG9zZWQgdG8gd29yaworCisgICAgZGVmIF90ZXN0Tm9uQmxvY2tpbmcoc2VsZik6CisgICAgICAgIGFkZHJlc3MgPSBzZWxmLnNlcnYuZ2V0c29ja25hbWUoKQorICAgICAgICBmaWxlID0gb3BlbihzdXBwb3J0LlRFU1RGTiwgJ3JiJykKKyAgICAgICAgd2l0aCBzb2NrZXQuY3JlYXRlX2Nvbm5lY3Rpb24oYWRkcmVzcykgYXMgc29jaywgZmlsZSBhcyBmaWxlOgorICAgICAgICAgICAgc29jay5zZXRibG9ja2luZyhGYWxzZSkKKyAgICAgICAgICAgIG1ldGggPSBzZWxmLm1ldGhfZnJvbV9zb2NrKHNvY2spCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBtZXRoLCBmaWxlKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgc29jay5zZW5kZmlsZSwgZmlsZSkKKworICAgIGRlZiB0ZXN0Tm9uQmxvY2tpbmcoc2VsZik6CisgICAgICAgIGNvbm4gPSBzZWxmLmFjY2VwdF9jb25uKCkKKyAgICAgICAgaWYgY29ubi5yZWN2KDgxOTIpOgorICAgICAgICAgICAgc2VsZi5mYWlsKCd3YXMgbm90IHN1cHBvc2VkIHRvIHJlY2VpdmUgYW55IGRhdGEnKQorCisgICAgIyB0aW1lb3V0IChub24tdHJpZ2dlcmVkKQorCisgICAgZGVmIF90ZXN0V2l0aFRpbWVvdXQoc2VsZik6CisgICAgICAgIGFkZHJlc3MgPSBzZWxmLnNlcnYuZ2V0c29ja25hbWUoKQorICAgICAgICBmaWxlID0gb3BlbihzdXBwb3J0LlRFU1RGTiwgJ3JiJykKKyAgICAgICAgd2l0aCBzb2NrZXQuY3JlYXRlX2Nvbm5lY3Rpb24oYWRkcmVzcywgdGltZW91dD0yKSBhcyBzb2NrLCBmaWxlIGFzIGZpbGU6CisgICAgICAgICAgICBtZXRoID0gc2VsZi5tZXRoX2Zyb21fc29jayhzb2NrKQorICAgICAgICAgICAgc2VudCA9IG1ldGgoZmlsZSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VudCwgc2VsZi5GSUxFU0laRSkKKworICAgIGRlZiB0ZXN0V2l0aFRpbWVvdXQoc2VsZik6CisgICAgICAgIGNvbm4gPSBzZWxmLmFjY2VwdF9jb25uKCkKKyAgICAgICAgZGF0YSA9IHNlbGYucmVjdl9kYXRhKGNvbm4pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGRhdGEpLCBzZWxmLkZJTEVTSVpFKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRhdGEsIHNlbGYuRklMRURBVEEpCisKKyAgICAjIHRpbWVvdXQgKHRyaWdnZXJlZCkKKworICAgIGRlZiBfdGVzdFdpdGhUaW1lb3V0VHJpZ2dlcmVkU2VuZChzZWxmKToKKyAgICAgICAgYWRkcmVzcyA9IHNlbGYuc2Vydi5nZXRzb2NrbmFtZSgpCisgICAgICAgIGZpbGUgPSBvcGVuKHN1cHBvcnQuVEVTVEZOLCAncmInKQorICAgICAgICB3aXRoIHNvY2tldC5jcmVhdGVfY29ubmVjdGlvbihhZGRyZXNzLCB0aW1lb3V0PTAuMDEpIGFzIHNvY2ssIFwKKyAgICAgICAgICAgICAgICBmaWxlIGFzIGZpbGU6CisgICAgICAgICAgICBtZXRoID0gc2VsZi5tZXRoX2Zyb21fc29jayhzb2NrKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoc29ja2V0LnRpbWVvdXQsIG1ldGgsIGZpbGUpCisKKyAgICBkZWYgdGVzdFdpdGhUaW1lb3V0VHJpZ2dlcmVkU2VuZChzZWxmKToKKyAgICAgICAgY29ubiA9IHNlbGYuYWNjZXB0X2Nvbm4oKQorICAgICAgICBjb25uLnJlY3YoODgxOTIpCisKKyAgICAjIGVycm9ycworCisgICAgZGVmIF90ZXN0X2Vycm9ycyhzZWxmKToKKyAgICAgICAgcGFzcworCisgICAgZGVmIHRlc3RfZXJyb3JzKHNlbGYpOgorICAgICAgICB3aXRoIG9wZW4oc3VwcG9ydC5URVNURk4sICdyYicpIGFzIGZpbGU6CisgICAgICAgICAgICB3aXRoIHNvY2tldC5zb2NrZXQodHlwZT1zb2NrZXQuU09DS19ER1JBTSkgYXMgczoKKyAgICAgICAgICAgICAgICBtZXRoID0gc2VsZi5tZXRoX2Zyb21fc29jayhzKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoCisgICAgICAgICAgICAgICAgICAgIFZhbHVlRXJyb3IsICJTT0NLX1NUUkVBTSIsIG1ldGgsIGZpbGUpCisgICAgICAgIHdpdGggb3BlbihzdXBwb3J0LlRFU1RGTiwgJ3J0JykgYXMgZmlsZToKKyAgICAgICAgICAgIHdpdGggc29ja2V0LnNvY2tldCgpIGFzIHM6CisgICAgICAgICAgICAgICAgbWV0aCA9IHNlbGYubWV0aF9mcm9tX3NvY2socykKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KAorICAgICAgICAgICAgICAgICAgICBWYWx1ZUVycm9yLCAiYmluYXJ5IG1vZGUiLCBtZXRoLCBmaWxlKQorICAgICAgICB3aXRoIG9wZW4oc3VwcG9ydC5URVNURk4sICdyYicpIGFzIGZpbGU6CisgICAgICAgICAgICB3aXRoIHNvY2tldC5zb2NrZXQoKSBhcyBzOgorICAgICAgICAgICAgICAgIG1ldGggPSBzZWxmLm1ldGhfZnJvbV9zb2NrKHMpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNSZWdleChUeXBlRXJyb3IsICJwb3NpdGl2ZSBpbnRlZ2VyIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGgsIGZpbGUsIGNvdW50PScyJykKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFR5cGVFcnJvciwgInBvc2l0aXZlIGludGVnZXIiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0aCwgZmlsZSwgY291bnQ9MC4xKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVmFsdWVFcnJvciwgInBvc2l0aXZlIGludGVnZXIiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0aCwgZmlsZSwgY291bnQ9MCkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFZhbHVlRXJyb3IsICJwb3NpdGl2ZSBpbnRlZ2VyIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGgsIGZpbGUsIGNvdW50PS0xKQorCisKK0B1bml0dGVzdC5za2lwVW5sZXNzKHRocmVhZCwgJ1RocmVhZGluZyByZXF1aXJlZCBmb3IgdGhpcyB0ZXN0LicpCitAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKG9zLCAic2VuZGZpbGUiKSwKKyAgICAgICAgICAgICAgICAgICAgICdvcy5zZW5kZmlsZSgpIHJlcXVpcmVkIGZvciB0aGlzIHRlc3QuJykKK2NsYXNzIFNlbmRmaWxlVXNpbmdTZW5kZmlsZVRlc3QoU2VuZGZpbGVVc2luZ1NlbmRUZXN0KToKKyAgICAiIiIKKyAgICBUZXN0IHRoZSBzZW5kZmlsZSgpIGltcGxlbWVudGF0aW9uIG9mIHNvY2tldC5zZW5kZmlsZSgpLgorICAgICIiIgorICAgIGRlZiBtZXRoX2Zyb21fc29jayhzZWxmLCBzb2NrKToKKyAgICAgICAgcmV0dXJuIGdldGF0dHIoc29jaywgIl9zZW5kZmlsZV91c2Vfc2VuZGZpbGUiKQorCisKIGRlZiB0ZXN0X21haW4oKToKICAgICB0ZXN0cyA9IFtHZW5lcmFsTW9kdWxlVGVzdHMsIEJhc2ljVENQVGVzdCwgVENQQ2xvc2VyVGVzdCwgVENQVGltZW91dFRlc3QsCiAgICAgICAgICAgICAgVGVzdEV4Y2VwdGlvbnMsIEJ1ZmZlcklPVGVzdCwgQmFzaWNUQ1BUZXN0MiwgQmFzaWNVRFBUZXN0LCBVRFBUaW1lb3V0VGVzdCBdCkBAIC01MTE2LDcgKzUyNzMsNiBAQAogICAgIHRlc3RzLmV4dGVuZChbCiAgICAgICAgIE5vbkJsb2NraW5nVENQVGVzdHMsCiAgICAgICAgIEZpbGVPYmplY3RDbGFzc1Rlc3RDYXNlLAotICAgICAgICBGaWxlT2JqZWN0SW50ZXJydXB0ZWRUZXN0Q2FzZSwKICAgICAgICAgVW5idWZmZXJlZEZpbGVPYmplY3RDbGFzc1Rlc3RDYXNlLAogICAgICAgICBMaW5lQnVmZmVyZWRGaWxlT2JqZWN0Q2xhc3NUZXN0Q2FzZSwKICAgICAgICAgU21hbGxCdWZmZXJlZEZpbGVPYmplY3RDbGFzc1Rlc3RDYXNlLApAQCAtNTE2MSw2ICs1MzE3LDggQEAKICAgICAgICAgSW50ZXJydXB0ZWRSZWN2VGltZW91dFRlc3QsCiAgICAgICAgIEludGVycnVwdGVkU2VuZFRpbWVvdXRUZXN0LAogICAgICAgICBUZXN0U29ja2V0U2hhcmluZywKKyAgICAgICAgU2VuZGZpbGVVc2luZ1NlbmRUZXN0LAorICAgICAgICBTZW5kZmlsZVVzaW5nU2VuZGZpbGVUZXN0LAogICAgIF0pCiAKICAgICB0aHJlYWRfaW5mbyA9IHN1cHBvcnQudGhyZWFkaW5nX3NldHVwKCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfc29ja2V0c2VydmVyLnB5IGIvTGliL3Rlc3QvdGVzdF9zb2NrZXRzZXJ2ZXIucHkKaW5kZXggOTI0YjljNC4uMzFhYjNiNiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9zb2NrZXRzZXJ2ZXIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9zb2NrZXRzZXJ2ZXIucHkKQEAgLTIyMSwzOCArMjIxLDYgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb2NrZXRzZXJ2ZXIuRGF0YWdyYW1SZXF1ZXN0SGFuZGxlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmRncmFtX2V4YW1pbmUpCiAKLSAgICBAY29udGV4dGxpYi5jb250ZXh0bWFuYWdlcgotICAgIGRlZiBtb2NrZWRfc2VsZWN0X21vZHVsZShzZWxmKToKLSAgICAgICAgIiIiTW9ja3MgdGhlIHNlbGVjdC5zZWxlY3QoKSBjYWxsIHRvIHJhaXNlIEVJTlRSIGZvciBmaXJzdCBjYWxsIiIiCi0gICAgICAgIG9sZF9zZWxlY3QgPSBzZWxlY3Quc2VsZWN0Ci0KLSAgICAgICAgY2xhc3MgTW9ja1NlbGVjdDoKLSAgICAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmKToKLSAgICAgICAgICAgICAgICBzZWxmLmNhbGxlZCA9IDAKLQotICAgICAgICAgICAgZGVmIF9fY2FsbF9fKHNlbGYsICphcmdzKToKLSAgICAgICAgICAgICAgICBzZWxmLmNhbGxlZCArPSAxCi0gICAgICAgICAgICAgICAgaWYgc2VsZi5jYWxsZWQgPT0gMToKLSAgICAgICAgICAgICAgICAgICAgIyByYWlzZSB0aGUgZXhjZXB0aW9uIG9uIGZpcnN0IGNhbGwKLSAgICAgICAgICAgICAgICAgICAgcmFpc2UgT1NFcnJvcihlcnJuby5FSU5UUiwgb3Muc3RyZXJyb3IoZXJybm8uRUlOVFIpKQotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICMgUmV0dXJuIHJlYWwgc2VsZWN0IHZhbHVlIGZvciBjb25zZWN1dGl2ZSBjYWxscwotICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2xkX3NlbGVjdCgqYXJncykKLQotICAgICAgICBzZWxlY3Quc2VsZWN0ID0gTW9ja1NlbGVjdCgpCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHlpZWxkIHNlbGVjdC5zZWxlY3QKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIHNlbGVjdC5zZWxlY3QgPSBvbGRfc2VsZWN0Ci0KLSAgICBkZWYgdGVzdF9JbnRlcnJ1cHRTZXJ2ZXJTZWxlY3RDYWxsKHNlbGYpOgotICAgICAgICB3aXRoIHNlbGYubW9ja2VkX3NlbGVjdF9tb2R1bGUoKSBhcyBtb2NrX3NlbGVjdDoKLSAgICAgICAgICAgIHBpZCA9IHNlbGYucnVuX3NlcnZlcihzb2NrZXRzZXJ2ZXIuVENQU2VydmVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvY2tldHNlcnZlci5TdHJlYW1SZXF1ZXN0SGFuZGxlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnN0cmVhbV9leGFtaW5lKQotICAgICAgICAgICAgIyBNYWtlIHN1cmUgc2VsZWN0IHdhcyBjYWxsZWQgYWdhaW46Ci0gICAgICAgICAgICBzZWxmLmFzc2VydEdyZWF0ZXIobW9ja19zZWxlY3QuY2FsbGVkLCAxKQotCiAgICAgIyBBbGFzLCBvbiBMaW51eCAoYXQgbGVhc3QpIHJlY3Zmcm9tKCkgZG9lc24ndCByZXR1cm4gYSBtZWFuaW5nZnVsCiAgICAgIyBjbGllbnQgYWRkcmVzcyBzbyB0aGlzIGNhbm5vdCB3b3JrOgogCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3NzbC5weSBiL0xpYi90ZXN0L3Rlc3Rfc3NsLnB5CmluZGV4IGRjODI0NzUuLjJmMmU3MzkgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfc3NsLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3Rfc3NsLnB5CkBAIC04Niw2ICs4NiwxMiBAQAogICAgICMgMC45Ljggb3IgaGlnaGVyCiAgICAgcmV0dXJuIHNzbC5PUEVOU1NMX1ZFUlNJT05fSU5GTyA+PSAoMCwgOSwgOCwgMCwgMTUpCiAKK2RlZiB1dGNfb2Zmc2V0KCk6ICNOT1RFOiBpZ25vcmUgaXNzdWVzIGxpa2UgIzE2NDc2NTQKKyAgICAjIGxvY2FsIHRpbWUgPSB1dGMgdGltZSArIHV0YyBvZmZzZXQKKyAgICBpZiB0aW1lLmRheWxpZ2h0IGFuZCB0aW1lLmxvY2FsdGltZSgpLnRtX2lzZHN0ID4gMDoKKyAgICAgICAgcmV0dXJuIC10aW1lLmFsdHpvbmUgICMgc2Vjb25kcworICAgIHJldHVybiAtdGltZS50aW1lem9uZQorCiBkZWYgYXNuMXRpbWUoY2VydF90aW1lKToKICAgICAjIFNvbWUgdmVyc2lvbnMgb2YgT3BlblNTTCBpZ25vcmUgc2Vjb25kcywgc2VlICMxODIwNwogICAgICMgMC45LjguaQpAQCAtMTM0LDYgKzE0MCwxNCBAQAogICAgICAgICBzZWxmLmFzc2VydEluKHNzbC5IQVNfU05JLCB7VHJ1ZSwgRmFsc2V9KQogICAgICAgICBzZWxmLmFzc2VydEluKHNzbC5IQVNfRUNESCwge1RydWUsIEZhbHNlfSkKIAorICAgIGRlZiB0ZXN0X3N0cl9mb3JfZW51bXMoc2VsZik6CisgICAgICAgICMgTWFrZSBzdXJlIHRoYXQgdGhlIFBST1RPQ09MXyogY29uc3RhbnRzIGhhdmUgZW51bS1saWtlIHN0cmluZworICAgICAgICAjIHJlcHJzLgorICAgICAgICBwcm90byA9IHNzbC5QUk9UT0NPTF9TU0x2MjMKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIocHJvdG8pLCAnX1NTTE1ldGhvZC5QUk9UT0NPTF9TU0x2MjMnKQorICAgICAgICBjdHggPSBzc2wuU1NMQ29udGV4dChwcm90bykKKyAgICAgICAgc2VsZi5hc3NlcnRJcyhjdHgucHJvdG9jb2wsIHByb3RvKQorCiAgICAgZGVmIHRlc3RfcmFuZG9tKHNlbGYpOgogICAgICAgICB2ID0gc3NsLlJBTkRfc3RhdHVzKCkKICAgICAgICAgaWYgc3VwcG9ydC52ZXJib3NlOgpAQCAtMjk4LDEwICszMTIsMTAgQEAKICAgICAgICAgIyBWZXJzaW9uIHN0cmluZyBhcyByZXR1cm5lZCBieSB7T3BlbixMaWJyZX1TU0wsIHRoZSBmb3JtYXQgbWlnaHQgY2hhbmdlCiAgICAgICAgIGlmICJMaWJyZVNTTCIgaW4gczoKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzLnN0YXJ0c3dpdGgoIkxpYnJlU1NMIHs6ZH0uezpkfSIuZm9ybWF0KG1ham9yLCBtaW5vcikpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzLCB0KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAocywgdCwgaGV4KG4pKSkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzLnN0YXJ0c3dpdGgoIk9wZW5TU0wgezpkfS57OmR9Lns6ZH0iLmZvcm1hdChtYWpvciwgbWlub3IsIGZpeCkpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzLCB0KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAocywgdCwgaGV4KG4pKSkKIAogICAgIEBzdXBwb3J0LmNweXRob25fb25seQogICAgIGRlZiB0ZXN0X3JlZmN5Y2xlKHNlbGYpOgpAQCAtNTA1LDkgKzUxOSwxNCBAQAogICAgIGRlZiB0ZXN0X3Vua25vd25fY2hhbm5lbF9iaW5kaW5nKHNlbGYpOgogICAgICAgICAjIHNob3VsZCByYWlzZSBWYWx1ZUVycm9yIGZvciB1bmtub3duIHR5cGUKICAgICAgICAgcyA9IHNvY2tldC5zb2NrZXQoc29ja2V0LkFGX0lORVQpCi0gICAgICAgIHdpdGggc3NsLndyYXBfc29ja2V0KHMpIGFzIHNzOgorICAgICAgICBzLmJpbmQoKCcxMjcuMC4wLjEnLCAwKSkKKyAgICAgICAgcy5saXN0ZW4oKQorICAgICAgICBjID0gc29ja2V0LnNvY2tldChzb2NrZXQuQUZfSU5FVCkKKyAgICAgICAgYy5jb25uZWN0KHMuZ2V0c29ja25hbWUoKSkKKyAgICAgICAgd2l0aCBzc2wud3JhcF9zb2NrZXQoYywgZG9faGFuZHNoYWtlX29uX2Nvbm5lY3Q9RmFsc2UpIGFzIHNzOgogICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yKToKICAgICAgICAgICAgICAgICBzcy5nZXRfY2hhbm5lbF9iaW5kaW5nKCJ1bmtub3duLXR5cGUiKQorICAgICAgICBzLmNsb3NlKCkKIAogICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKCJ0bHMtdW5pcXVlIiBpbiBzc2wuQ0hBTk5FTF9CSU5ESU5HX1RZUEVTLAogICAgICAgICAgICAgICAgICAgICAgICAgICIndGxzLXVuaXF1ZScgY2hhbm5lbCBiaW5kaW5nIG5vdCBhdmFpbGFibGUiKQpAQCAtNjQ4LDYgKzY2Nyw3MSBAQAogICAgICAgICAgICAgY3R4LndyYXBfc29ja2V0KHMpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGN4LmV4Y2VwdGlvbiksICJvbmx5IHN0cmVhbSBzb2NrZXRzIGFyZSBzdXBwb3J0ZWQiKQogCisgICAgZGVmIGNlcnRfdGltZV9vayhzZWxmLCB0aW1lc3RyaW5nLCB0aW1lc3RhbXApOgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNzbC5jZXJ0X3RpbWVfdG9fc2Vjb25kcyh0aW1lc3RyaW5nKSwgdGltZXN0YW1wKQorCisgICAgZGVmIGNlcnRfdGltZV9mYWlsKHNlbGYsIHRpbWVzdHJpbmcpOgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgorICAgICAgICAgICAgc3NsLmNlcnRfdGltZV90b19zZWNvbmRzKHRpbWVzdHJpbmcpCisKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyh1dGNfb2Zmc2V0KCksCisgICAgICAgICAgICAgICAgICAgICAgICAgJ2xvY2FsIHRpbWUgbmVlZHMgdG8gYmUgZGlmZmVyZW50IGZyb20gVVRDJykKKyAgICBkZWYgdGVzdF9jZXJ0X3RpbWVfdG9fc2Vjb25kc190aW1lem9uZShzZWxmKToKKyAgICAgICAgIyBJc3N1ZSAjMTk5NDA6IHNzbC5jZXJ0X3RpbWVfdG9fc2Vjb25kcygpIHJldHVybnMgd3JvbmcKKyAgICAgICAgIyAgICAgICAgICAgICAgIHJlc3VsdHMgaWYgbG9jYWwgdGltZXpvbmUgaXMgbm90IFVUQworICAgICAgICBzZWxmLmNlcnRfdGltZV9vaygiTWF5ICA5IDAwOjAwOjAwIDIwMDcgR01UIiwgMTE3ODY2ODgwMC4wKQorICAgICAgICBzZWxmLmNlcnRfdGltZV9vaygiSmFuICA1IDA5OjM0OjQzIDIwMTggR01UIiwgMTUxNTE0NDg4My4wKQorCisgICAgZGVmIHRlc3RfY2VydF90aW1lX3RvX3NlY29uZHMoc2VsZik6CisgICAgICAgIHRpbWVzdHJpbmcgPSAiSmFuICA1IDA5OjM0OjQzIDIwMTggR01UIgorICAgICAgICB0cyA9IDE1MTUxNDQ4ODMuMAorICAgICAgICBzZWxmLmNlcnRfdGltZV9vayh0aW1lc3RyaW5nLCB0cykKKyAgICAgICAgIyBhY2NlcHQga2V5d29yZCBwYXJhbWV0ZXIsIGFzc2VydCBpdHMgbmFtZQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNzbC5jZXJ0X3RpbWVfdG9fc2Vjb25kcyhjZXJ0X3RpbWU9dGltZXN0cmluZyksIHRzKQorICAgICAgICAjIGFjY2VwdCBib3RoICVlIGFuZCAlZCAoc3BhY2Ugb3IgemVybyBnZW5lcmF0ZWQgYnkgc3RyZnRpbWUpCisgICAgICAgIHNlbGYuY2VydF90aW1lX29rKCJKYW4gMDUgMDk6MzQ6NDMgMjAxOCBHTVQiLCB0cykKKyAgICAgICAgIyBjYXNlLWluc2Vuc2l0aXZlCisgICAgICAgIHNlbGYuY2VydF90aW1lX29rKCJKYU4gIDUgMDk6MzQ6NDMgMjAxOCBHbVQiLCB0cykKKyAgICAgICAgc2VsZi5jZXJ0X3RpbWVfZmFpbCgiSmFuICA1IDA5OjM0IDIwMTggR01UIikgICAgICMgbm8gc2Vjb25kcworICAgICAgICBzZWxmLmNlcnRfdGltZV9mYWlsKCJKYW4gIDUgMDk6MzQ6NDMgMjAxOCIpICAgICAgIyBubyBHTVQKKyAgICAgICAgc2VsZi5jZXJ0X3RpbWVfZmFpbCgiSmFuICA1IDA5OjM0OjQzIDIwMTggVVRDIikgICMgbm90IEdNVCB0aW1lem9uZQorICAgICAgICBzZWxmLmNlcnRfdGltZV9mYWlsKCJKYW4gMzUgMDk6MzQ6NDMgMjAxOCBHTVQiKSAgIyBpbnZhbGlkIGRheQorICAgICAgICBzZWxmLmNlcnRfdGltZV9mYWlsKCJKb24gIDUgMDk6MzQ6NDMgMjAxOCBHTVQiKSAgIyBpbnZhbGlkIG1vbnRoCisgICAgICAgIHNlbGYuY2VydF90aW1lX2ZhaWwoIkphbiAgNSAyNDowMDowMCAyMDE4IEdNVCIpICAjIGludmFsaWQgaG91cgorICAgICAgICBzZWxmLmNlcnRfdGltZV9mYWlsKCJKYW4gIDUgMDk6NjA6NDMgMjAxOCBHTVQiKSAgIyBpbnZhbGlkIG1pbnV0ZQorCisgICAgICAgIG5ld3llYXJfdHMgPSAxMjMwNzY4MDAwLjAKKyAgICAgICAgIyBsZWFwIHNlY29uZHMKKyAgICAgICAgc2VsZi5jZXJ0X3RpbWVfb2soIkRlYyAzMSAyMzo1OTo2MCAyMDA4IEdNVCIsIG5ld3llYXJfdHMpCisgICAgICAgICMgc2FtZSB0aW1lc3RhbXAKKyAgICAgICAgc2VsZi5jZXJ0X3RpbWVfb2soIkphbiAgMSAwMDowMDowMCAyMDA5IEdNVCIsIG5ld3llYXJfdHMpCisKKyAgICAgICAgc2VsZi5jZXJ0X3RpbWVfb2soIkphbiAgNSAwOTozNDo1OSAyMDE4IEdNVCIsIDE1MTUxNDQ4OTkpCisgICAgICAgICMgIGFsbG93IDYwdGggc2Vjb25kIChldmVuIGlmIGl0IGlzIG5vdCBhIGxlYXAgc2Vjb25kKQorICAgICAgICBzZWxmLmNlcnRfdGltZV9vaygiSmFuICA1IDA5OjM0OjYwIDIwMTggR01UIiwgMTUxNTE0NDkwMCkKKyAgICAgICAgIyAgYWxsb3cgMm5kIGxlYXAgc2Vjb25kIGZvciBjb21wYXRpYmlsaXR5IHdpdGggdGltZS5zdHJwdGltZSgpCisgICAgICAgIHNlbGYuY2VydF90aW1lX29rKCJKYW4gIDUgMDk6MzQ6NjEgMjAxOCBHTVQiLCAxNTE1MTQ0OTAxKQorICAgICAgICBzZWxmLmNlcnRfdGltZV9mYWlsKCJKYW4gIDUgMDk6MzQ6NjIgMjAxOCBHTVQiKSAgIyBpbnZhbGlkIHNlY29uZHMKKworICAgICAgICAjIG5vIHNwZWNpYWwgdHJlYXRlbWVudCBmb3IgdGhlIHNwZWNpYWwgdmFsdWU6CisgICAgICAgICMgICA5OTk5MTIzMTIzNTk1OVogKHJmYyA1MjgwKQorICAgICAgICBzZWxmLmNlcnRfdGltZV9vaygiRGVjIDMxIDIzOjU5OjU5IDk5OTkgR01UIiwgMjUzNDAyMzAwNzk5LjApCisKKyAgICBAc3VwcG9ydC5ydW5fd2l0aF9sb2NhbGUoJ0xDX0FMTCcsICcnKQorICAgIGRlZiB0ZXN0X2NlcnRfdGltZV90b19zZWNvbmRzX2xvY2FsZShzZWxmKToKKyAgICAgICAgIyBgY2VydF90aW1lX3RvX3NlY29uZHMoKWAgc2hvdWxkIGJlIGxvY2FsZSBpbmRlcGVuZGVudAorCisgICAgICAgIGRlZiBsb2NhbF9mZWJydWFyeV9uYW1lKCk6CisgICAgICAgICAgICByZXR1cm4gdGltZS5zdHJmdGltZSgnJWInLCAoMSwgMiwgMywgNCwgNSwgNiwgMCwgMCwgMCkpCisKKyAgICAgICAgaWYgbG9jYWxfZmVicnVhcnlfbmFtZSgpLmxvd2VyKCkgPT0gJ2ZlYic6CisgICAgICAgICAgICBzZWxmLnNraXBUZXN0KCJsb2NhbGUtc3BlY2lmaWMgbW9udGggbmFtZSBuZWVkcyB0byBiZSAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICJkaWZmZXJlbnQgZnJvbSBDIGxvY2FsZSIpCisKKyAgICAgICAgIyBsb2NhbGUtaW5kZXBlbmRlbnQKKyAgICAgICAgc2VsZi5jZXJ0X3RpbWVfb2soIkZlYiAgOSAwMDowMDowMCAyMDA3IEdNVCIsIDExNzA5NzkyMDAuMCkKKyAgICAgICAgc2VsZi5jZXJ0X3RpbWVfZmFpbChsb2NhbF9mZWJydWFyeV9uYW1lKCkgKyAiICA5IDAwOjAwOjAwIDIwMDcgR01UIikKKwogCiBjbGFzcyBDb250ZXh0VGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgogCkBAIC0xMTU2LDcgKzEyNDAsNyBAQAogICAgICAgICBjdHggPSBzc2wuU1NMQ29udGV4dChzc2wuUFJPVE9DT0xfVExTdjEpCiAgICAgICAgIHdpdGggc29ja2V0LnNvY2tldCgpIGFzIHM6CiAgICAgICAgICAgICBzLmJpbmQoKCIxMjcuMC4wLjEiLCAwKSkKLSAgICAgICAgICAgIHMubGlzdGVuKDUpCisgICAgICAgICAgICBzLmxpc3RlbigpCiAgICAgICAgICAgICBjID0gc29ja2V0LnNvY2tldCgpCiAgICAgICAgICAgICBjLmNvbm5lY3Qocy5nZXRzb2NrbmFtZSgpKQogICAgICAgICAgICAgYy5zZXRibG9ja2luZyhGYWxzZSkKQEAgLTExNjksNiArMTI1Myw2OSBAQAogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY20uZXhjZXB0aW9uLmVycm5vLCBzc2wuU1NMX0VSUk9SX1dBTlRfUkVBRCkKIAogCitjbGFzcyBNZW1vcnlCSU9UZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICBkZWYgdGVzdF9yZWFkX3dyaXRlKHNlbGYpOgorICAgICAgICBiaW8gPSBzc2wuTWVtb3J5QklPKCkKKyAgICAgICAgYmlvLndyaXRlKGInZm9vJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiaW8ucmVhZCgpLCBiJ2ZvbycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYmlvLnJlYWQoKSwgYicnKQorICAgICAgICBiaW8ud3JpdGUoYidmb28nKQorICAgICAgICBiaW8ud3JpdGUoYidiYXInKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJpby5yZWFkKCksIGInZm9vYmFyJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiaW8ucmVhZCgpLCBiJycpCisgICAgICAgIGJpby53cml0ZShiJ2JheicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYmlvLnJlYWQoMiksIGInYmEnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJpby5yZWFkKDEpLCBiJ3onKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJpby5yZWFkKDEpLCBiJycpCisKKyAgICBkZWYgdGVzdF9lb2Yoc2VsZik6CisgICAgICAgIGJpbyA9IHNzbC5NZW1vcnlCSU8oKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGJpby5lb2YpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYmlvLnJlYWQoKSwgYicnKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGJpby5lb2YpCisgICAgICAgIGJpby53cml0ZShiJ2ZvbycpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoYmlvLmVvZikKKyAgICAgICAgYmlvLndyaXRlX2VvZigpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoYmlvLmVvZikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiaW8ucmVhZCgyKSwgYidmbycpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoYmlvLmVvZikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiaW8ucmVhZCgxKSwgYidvJykKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGJpby5lb2YpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYmlvLnJlYWQoKSwgYicnKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoYmlvLmVvZikKKworICAgIGRlZiB0ZXN0X3BlbmRpbmcoc2VsZik6CisgICAgICAgIGJpbyA9IHNzbC5NZW1vcnlCSU8oKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJpby5wZW5kaW5nLCAwKQorICAgICAgICBiaW8ud3JpdGUoYidmb28nKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJpby5wZW5kaW5nLCAzKQorICAgICAgICBmb3IgaSBpbiByYW5nZSgzKToKKyAgICAgICAgICAgIGJpby5yZWFkKDEpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJpby5wZW5kaW5nLCAzLWktMSkKKyAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMyk6CisgICAgICAgICAgICBiaW8ud3JpdGUoYid4JykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYmlvLnBlbmRpbmcsIGkrMSkKKyAgICAgICAgYmlvLnJlYWQoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJpby5wZW5kaW5nLCAwKQorCisgICAgZGVmIHRlc3RfYnVmZmVyX3R5cGVzKHNlbGYpOgorICAgICAgICBiaW8gPSBzc2wuTWVtb3J5QklPKCkKKyAgICAgICAgYmlvLndyaXRlKGInZm9vJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiaW8ucmVhZCgpLCBiJ2ZvbycpCisgICAgICAgIGJpby53cml0ZShieXRlYXJyYXkoYidiYXInKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiaW8ucmVhZCgpLCBiJ2JhcicpCisgICAgICAgIGJpby53cml0ZShtZW1vcnl2aWV3KGInYmF6JykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYmlvLnJlYWQoKSwgYidiYXonKQorCisgICAgZGVmIHRlc3RfZXJyb3JfdHlwZXMoc2VsZik6CisgICAgICAgIGJpbyA9IHNzbC5NZW1vcnlCSU8oKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGJpby53cml0ZSwgJ2ZvbycpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgYmlvLndyaXRlLCBOb25lKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGJpby53cml0ZSwgVHJ1ZSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBiaW8ud3JpdGUsIDEpCisKKwogY2xhc3MgTmV0d29ya2VkVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgogCiAgICAgZGVmIHRlc3RfY29ubmVjdChzZWxmKToKQEAgLTEzOTYsMTQgKzE1NDMsMTIgQEAKICAgICBkZWYgdGVzdF9nZXRfc2VydmVyX2NlcnRpZmljYXRlKHNlbGYpOgogICAgICAgICBkZWYgX3Rlc3RfZ2V0X3NlcnZlcl9jZXJ0aWZpY2F0ZShob3N0LCBwb3J0LCBjZXJ0PU5vbmUpOgogICAgICAgICAgICAgd2l0aCBzdXBwb3J0LnRyYW5zaWVudF9pbnRlcm5ldChob3N0KToKLSAgICAgICAgICAgICAgICBwZW0gPSBzc2wuZ2V0X3NlcnZlcl9jZXJ0aWZpY2F0ZSgoaG9zdCwgcG9ydCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3NsLlBST1RPQ09MX1NTTHYyMykKKyAgICAgICAgICAgICAgICBwZW0gPSBzc2wuZ2V0X3NlcnZlcl9jZXJ0aWZpY2F0ZSgoaG9zdCwgcG9ydCkpCiAgICAgICAgICAgICAgICAgaWYgbm90IHBlbToKICAgICAgICAgICAgICAgICAgICAgc2VsZi5mYWlsKCJObyBzZXJ2ZXIgY2VydGlmaWNhdGUgb24gJXM6JXMhIiAlIChob3N0LCBwb3J0KSkKIAogICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICAgcGVtID0gc3NsLmdldF9zZXJ2ZXJfY2VydGlmaWNhdGUoKGhvc3QsIHBvcnQpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzc2wuUFJPVE9DT0xfU1NMdjIzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYV9jZXJ0cz1DRVJURklMRSkKICAgICAgICAgICAgICAgICBleGNlcHQgc3NsLlNTTEVycm9yIGFzIHg6CiAgICAgICAgICAgICAgICAgICAgICNzaG91bGQgZmFpbApAQCAtMTQxMyw3ICsxNTU4LDYgQEAKICAgICAgICAgICAgICAgICAgICAgc2VsZi5mYWlsKCJHb3Qgc2VydmVyIGNlcnRpZmljYXRlICVzIGZvciAlczolcyEiICUgKHBlbSwgaG9zdCwgcG9ydCkpCiAKICAgICAgICAgICAgICAgICBwZW0gPSBzc2wuZ2V0X3NlcnZlcl9jZXJ0aWZpY2F0ZSgoaG9zdCwgcG9ydCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3NsLlBST1RPQ09MX1NTTHYyMywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYV9jZXJ0cz1jZXJ0KQogICAgICAgICAgICAgICAgIGlmIG5vdCBwZW06CiAgICAgICAgICAgICAgICAgICAgIHNlbGYuZmFpbCgiTm8gc2VydmVyIGNlcnRpZmljYXRlIG9uICVzOiVzISIgJSAoaG9zdCwgcG9ydCkpCkBAIC0xNDk5LDYgKzE2NDMsOTMgQEAKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydElzKHNzLmNvbnRleHQsIGN0eDIpCiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhzcy5fc3Nsb2JqLmNvbnRleHQsIGN0eDIpCiAKKworY2xhc3MgTmV0d29ya2VkQklPVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgZGVmIHNzbF9pb19sb29wKHNlbGYsIHNvY2ssIGluY29taW5nLCBvdXRnb2luZywgZnVuYywgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgIyBBIHNpbXBsZSBJTyBsb29wLiBDYWxsIGZ1bmMoKmFyZ3MpIGRlcGVuZGluZyBvbiB0aGUgZXJyb3Igd2UgZ2V0CisgICAgICAgICMgKFdBTlRfUkVBRCBvciBXQU5UX1dSSVRFKSBtb3ZlIGRhdGEgYmV0d2VlbiB0aGUgc29ja2V0IGFuZCB0aGUgQklPcy4KKyAgICAgICAgdGltZW91dCA9IGt3YXJncy5nZXQoJ3RpbWVvdXQnLCAxMCkKKyAgICAgICAgY291bnQgPSAwCisgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICBlcnJubyA9IE5vbmUKKyAgICAgICAgICAgIGNvdW50ICs9IDEKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICByZXQgPSBmdW5jKCphcmdzKQorICAgICAgICAgICAgZXhjZXB0IHNzbC5TU0xFcnJvciBhcyBlOgorICAgICAgICAgICAgICAgICMgTm90ZSB0aGF0IHdlIGdldCBhIHNwdXJpb3VzIC0xL1NTTF9FUlJPUl9TWVNDQUxMIGZvcgorICAgICAgICAgICAgICAgICMgbm9uLWJsb2NraW5nIElPLiBUaGUgU1NMX3NodXRkb3duIG1hbnBhZ2UgaGludHMgYXQgdGhpcy4KKyAgICAgICAgICAgICAgICAjIEl0ICpzaG91bGQqIGJlIHNhZmUgdG8ganVzdCBpZ25vcmUgU1lTX0VSUk9SX1NZU0NBTEwgYmVjYXVzZQorICAgICAgICAgICAgICAgICMgd2l0aCBhIE1lbW9yeSBCSU8gdGhlcmUncyBubyBzeXNjYWxscyAoZm9yIElPIGF0IGxlYXN0KS4KKyAgICAgICAgICAgICAgICBpZiBlLmVycm5vIG5vdCBpbiAoc3NsLlNTTF9FUlJPUl9XQU5UX1JFQUQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNzbC5TU0xfRVJST1JfV0FOVF9XUklURSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3NsLlNTTF9FUlJPUl9TWVNDQUxMKToKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UKKyAgICAgICAgICAgICAgICBlcnJubyA9IGUuZXJybm8KKyAgICAgICAgICAgICMgR2V0IGFueSBkYXRhIGZyb20gdGhlIG91dGdvaW5nIEJJTyBpcnJlc3BlY3RpdmUgb2YgYW55IGVycm9yLCBhbmQKKyAgICAgICAgICAgICMgc2VuZCBpdCB0byB0aGUgc29ja2V0LgorICAgICAgICAgICAgYnVmID0gb3V0Z29pbmcucmVhZCgpCisgICAgICAgICAgICBzb2NrLnNlbmRhbGwoYnVmKQorICAgICAgICAgICAgIyBJZiB0aGVyZSdzIG5vIGVycm9yLCB3ZSdyZSBkb25lLiBGb3IgV0FOVF9SRUFELCB3ZSBuZWVkIHRvIGdldAorICAgICAgICAgICAgIyBkYXRhIGZyb20gdGhlIHNvY2tldCBhbmQgcHV0IGl0IGluIHRoZSBpbmNvbWluZyBCSU8uCisgICAgICAgICAgICBpZiBlcnJubyBpcyBOb25lOgorICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICBlbGlmIGVycm5vID09IHNzbC5TU0xfRVJST1JfV0FOVF9SRUFEOgorICAgICAgICAgICAgICAgIGJ1ZiA9IHNvY2sucmVjdigzMjc2OCkKKyAgICAgICAgICAgICAgICBpZiBidWY6CisgICAgICAgICAgICAgICAgICAgIGluY29taW5nLndyaXRlKGJ1ZikKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBpbmNvbWluZy53cml0ZV9lb2YoKQorICAgICAgICBpZiBzdXBwb3J0LnZlcmJvc2U6CisgICAgICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKCJOZWVkZWQgJWQgY2FsbHMgdG8gY29tcGxldGUgJXMoKS5cbiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJSAoY291bnQsIGZ1bmMuX19uYW1lX18pKQorICAgICAgICByZXR1cm4gcmV0CisKKyAgICBkZWYgdGVzdF9oYW5kc2hha2Uoc2VsZik6CisgICAgICAgIHdpdGggc3VwcG9ydC50cmFuc2llbnRfaW50ZXJuZXQoInN2bi5weXRob24ub3JnIik6CisgICAgICAgICAgICBzb2NrID0gc29ja2V0LnNvY2tldChzb2NrZXQuQUZfSU5FVCkKKyAgICAgICAgICAgIHNvY2suY29ubmVjdCgoInN2bi5weXRob24ub3JnIiwgNDQzKSkKKyAgICAgICAgICAgIGluY29taW5nID0gc3NsLk1lbW9yeUJJTygpCisgICAgICAgICAgICBvdXRnb2luZyA9IHNzbC5NZW1vcnlCSU8oKQorICAgICAgICAgICAgY3R4ID0gc3NsLlNTTENvbnRleHQoc3NsLlBST1RPQ09MX1NTTHYyMykKKyAgICAgICAgICAgIGN0eC52ZXJpZnlfbW9kZSA9IHNzbC5DRVJUX1JFUVVJUkVECisgICAgICAgICAgICBjdHgubG9hZF92ZXJpZnlfbG9jYXRpb25zKFNWTl9QWVRIT05fT1JHX1JPT1RfQ0VSVCkKKyAgICAgICAgICAgIGN0eC5jaGVja19ob3N0bmFtZSA9IFRydWUKKyAgICAgICAgICAgIHNzbG9iaiA9IGN0eC53cmFwX2JpbyhpbmNvbWluZywgb3V0Z29pbmcsIEZhbHNlLCAnc3ZuLnB5dGhvbi5vcmcnKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhzc2xvYmouX3NzbG9iai5vd25lciwgc3Nsb2JqKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoc3Nsb2JqLmNpcGhlcigpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoc3Nsb2JqLnNoYXJlZF9jaXBoZXJzKCkpCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBzc2xvYmouZ2V0cGVlcmNlcnQpCisgICAgICAgICAgICBpZiAndGxzLXVuaXF1ZScgaW4gc3NsLkNIQU5ORUxfQklORElOR19UWVBFUzoKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydElzTm9uZShzc2xvYmouZ2V0X2NoYW5uZWxfYmluZGluZygndGxzLXVuaXF1ZScpKQorICAgICAgICAgICAgc2VsZi5zc2xfaW9fbG9vcChzb2NrLCBpbmNvbWluZywgb3V0Z29pbmcsIHNzbG9iai5kb19oYW5kc2hha2UpCisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoc3Nsb2JqLmNpcGhlcigpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoc3Nsb2JqLnNoYXJlZF9jaXBoZXJzKCkpCisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoc3Nsb2JqLmdldHBlZXJjZXJ0KCkpCisgICAgICAgICAgICBpZiAndGxzLXVuaXF1ZScgaW4gc3NsLkNIQU5ORUxfQklORElOR19UWVBFUzoKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoc3Nsb2JqLmdldF9jaGFubmVsX2JpbmRpbmcoJ3Rscy11bmlxdWUnKSkKKyAgICAgICAgICAgIHNlbGYuc3NsX2lvX2xvb3Aoc29jaywgaW5jb21pbmcsIG91dGdvaW5nLCBzc2xvYmoudW53cmFwKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoc3NsLlNTTEVycm9yLCBzc2xvYmoud3JpdGUsIGInZm9vJykKKyAgICAgICAgICAgIHNvY2suY2xvc2UoKQorCisgICAgZGVmIHRlc3RfcmVhZF93cml0ZV9kYXRhKHNlbGYpOgorICAgICAgICB3aXRoIHN1cHBvcnQudHJhbnNpZW50X2ludGVybmV0KCJzdm4ucHl0aG9uLm9yZyIpOgorICAgICAgICAgICAgc29jayA9IHNvY2tldC5zb2NrZXQoc29ja2V0LkFGX0lORVQpCisgICAgICAgICAgICBzb2NrLmNvbm5lY3QoKCJzdm4ucHl0aG9uLm9yZyIsIDQ0MykpCisgICAgICAgICAgICBpbmNvbWluZyA9IHNzbC5NZW1vcnlCSU8oKQorICAgICAgICAgICAgb3V0Z29pbmcgPSBzc2wuTWVtb3J5QklPKCkKKyAgICAgICAgICAgIGN0eCA9IHNzbC5TU0xDb250ZXh0KHNzbC5QUk9UT0NPTF9TU0x2MjMpCisgICAgICAgICAgICBjdHgudmVyaWZ5X21vZGUgPSBzc2wuQ0VSVF9OT05FCisgICAgICAgICAgICBzc2xvYmogPSBjdHgud3JhcF9iaW8oaW5jb21pbmcsIG91dGdvaW5nLCBGYWxzZSkKKyAgICAgICAgICAgIHNlbGYuc3NsX2lvX2xvb3Aoc29jaywgaW5jb21pbmcsIG91dGdvaW5nLCBzc2xvYmouZG9faGFuZHNoYWtlKQorICAgICAgICAgICAgcmVxID0gYidHRVQgLyBIVFRQLzEuMFxyXG5cclxuJworICAgICAgICAgICAgc2VsZi5zc2xfaW9fbG9vcChzb2NrLCBpbmNvbWluZywgb3V0Z29pbmcsIHNzbG9iai53cml0ZSwgcmVxKQorICAgICAgICAgICAgYnVmID0gc2VsZi5zc2xfaW9fbG9vcChzb2NrLCBpbmNvbWluZywgb3V0Z29pbmcsIHNzbG9iai5yZWFkLCAxMDI0KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChidWZbOjVdLCBiJ0hUVFAvJykKKyAgICAgICAgICAgIHNlbGYuc3NsX2lvX2xvb3Aoc29jaywgaW5jb21pbmcsIG91dGdvaW5nLCBzc2xvYmoudW53cmFwKQorICAgICAgICAgICAgc29jay5jbG9zZSgpCisKKwogdHJ5OgogICAgIGltcG9ydCB0aHJlYWRpbmcKIGV4Y2VwdCBJbXBvcnRFcnJvcjoKQEAgLTE1MzAsNyArMTc2MSw4IEBACiAgICAgICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgICAgICBzZWxmLnNzbGNvbm4gPSBzZWxmLnNlcnZlci5jb250ZXh0LndyYXBfc29ja2V0KAogICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zb2NrLCBzZXJ2ZXJfc2lkZT1UcnVlKQotICAgICAgICAgICAgICAgICAgICBzZWxmLnNlcnZlci5zZWxlY3RlZF9wcm90b2NvbHMuYXBwZW5kKHNlbGYuc3NsY29ubi5zZWxlY3RlZF9ucG5fcHJvdG9jb2woKSkKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXIuc2VsZWN0ZWRfbnBuX3Byb3RvY29scy5hcHBlbmQoc2VsZi5zc2xjb25uLnNlbGVjdGVkX25wbl9wcm90b2NvbCgpKQorICAgICAgICAgICAgICAgICAgICBzZWxmLnNlcnZlci5zZWxlY3RlZF9hbHBuX3Byb3RvY29scy5hcHBlbmQoc2VsZi5zc2xjb25uLnNlbGVjdGVkX2FscG5fcHJvdG9jb2woKSkKICAgICAgICAgICAgICAgICBleGNlcHQgKHNzbC5TU0xFcnJvciwgQ29ubmVjdGlvblJlc2V0RXJyb3IpIGFzIGU6CiAgICAgICAgICAgICAgICAgICAgICMgV2UgdHJlYXQgQ29ubmVjdGlvblJlc2V0RXJyb3IgYXMgdGhvdWdoIGl0IHdlcmUgYW4KICAgICAgICAgICAgICAgICAgICAgIyBTU0xFcnJvciAtIE9wZW5TU0wgb24gVWJ1bnR1IGFicnVwdGx5IGNsb3NlcyB0aGUKQEAgLTE1NDcsNiArMTc3OSw3IEBACiAgICAgICAgICAgICAgICAgICAgIHNlbGYuY2xvc2UoKQogICAgICAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKICAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBzZWxmLnNlcnZlci5zaGFyZWRfY2lwaGVycy5hcHBlbmQoc2VsZi5zc2xjb25uLnNoYXJlZF9jaXBoZXJzKCkpCiAgICAgICAgICAgICAgICAgICAgIGlmIHNlbGYuc2VydmVyLmNvbnRleHQudmVyaWZ5X21vZGUgPT0gc3NsLkNFUlRfUkVRVUlSRUQ6CiAgICAgICAgICAgICAgICAgICAgICAgICBjZXJ0ID0gc2VsZi5zc2xjb25uLmdldHBlZXJjZXJ0KCkKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIHN1cHBvcnQudmVyYm9zZSBhbmQgc2VsZi5zZXJ2ZXIuY2hhdHR5OgpAQCAtMTYzNyw3ICsxODcwLDggQEAKICAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGNlcnRpZmljYXRlPU5vbmUsIHNzbF92ZXJzaW9uPU5vbmUsCiAgICAgICAgICAgICAgICAgICAgICBjZXJ0cmVxcz1Ob25lLCBjYWNlcnRzPU5vbmUsCiAgICAgICAgICAgICAgICAgICAgICBjaGF0dHk9VHJ1ZSwgY29ubmVjdGlvbmNoYXR0eT1GYWxzZSwgc3RhcnR0bHNfc2VydmVyPUZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgbnBuX3Byb3RvY29scz1Ob25lLCBjaXBoZXJzPU5vbmUsIGNvbnRleHQ9Tm9uZSk6CisgICAgICAgICAgICAgICAgICAgICBucG5fcHJvdG9jb2xzPU5vbmUsIGFscG5fcHJvdG9jb2xzPU5vbmUsCisgICAgICAgICAgICAgICAgICAgICBjaXBoZXJzPU5vbmUsIGNvbnRleHQ9Tm9uZSk6CiAgICAgICAgICAgICBpZiBjb250ZXh0OgogICAgICAgICAgICAgICAgIHNlbGYuY29udGV4dCA9IGNvbnRleHQKICAgICAgICAgICAgIGVsc2U6CkBAIC0xNjUyLDYgKzE4ODYsOCBAQAogICAgICAgICAgICAgICAgICAgICBzZWxmLmNvbnRleHQubG9hZF9jZXJ0X2NoYWluKGNlcnRpZmljYXRlKQogICAgICAgICAgICAgICAgIGlmIG5wbl9wcm90b2NvbHM6CiAgICAgICAgICAgICAgICAgICAgIHNlbGYuY29udGV4dC5zZXRfbnBuX3Byb3RvY29scyhucG5fcHJvdG9jb2xzKQorICAgICAgICAgICAgICAgIGlmIGFscG5fcHJvdG9jb2xzOgorICAgICAgICAgICAgICAgICAgICBzZWxmLmNvbnRleHQuc2V0X2FscG5fcHJvdG9jb2xzKGFscG5fcHJvdG9jb2xzKQogICAgICAgICAgICAgICAgIGlmIGNpcGhlcnM6CiAgICAgICAgICAgICAgICAgICAgIHNlbGYuY29udGV4dC5zZXRfY2lwaGVycyhjaXBoZXJzKQogICAgICAgICAgICAgc2VsZi5jaGF0dHkgPSBjaGF0dHkKQEAgLTE2NjEsNyArMTg5Nyw5IEBACiAgICAgICAgICAgICBzZWxmLnBvcnQgPSBzdXBwb3J0LmJpbmRfcG9ydChzZWxmLnNvY2spCiAgICAgICAgICAgICBzZWxmLmZsYWcgPSBOb25lCiAgICAgICAgICAgICBzZWxmLmFjdGl2ZSA9IEZhbHNlCi0gICAgICAgICAgICBzZWxmLnNlbGVjdGVkX3Byb3RvY29scyA9IFtdCisgICAgICAgICAgICBzZWxmLnNlbGVjdGVkX25wbl9wcm90b2NvbHMgPSBbXQorICAgICAgICAgICAgc2VsZi5zZWxlY3RlZF9hbHBuX3Byb3RvY29scyA9IFtdCisgICAgICAgICAgICBzZWxmLnNoYXJlZF9jaXBoZXJzID0gW10KICAgICAgICAgICAgIHNlbGYuY29ubl9lcnJvcnMgPSBbXQogICAgICAgICAgICAgdGhyZWFkaW5nLlRocmVhZC5fX2luaXRfXyhzZWxmKQogICAgICAgICAgICAgc2VsZi5kYWVtb24gPSBUcnVlCkBAIC0xNjgxLDcgKzE5MTksNyBAQAogCiAgICAgICAgIGRlZiBydW4oc2VsZik6CiAgICAgICAgICAgICBzZWxmLnNvY2suc2V0dGltZW91dCgwLjA1KQotICAgICAgICAgICAgc2VsZi5zb2NrLmxpc3Rlbig1KQorICAgICAgICAgICAgc2VsZi5zb2NrLmxpc3RlbigpCiAgICAgICAgICAgICBzZWxmLmFjdGl2ZSA9IFRydWUKICAgICAgICAgICAgIGlmIHNlbGYuZmxhZzoKICAgICAgICAgICAgICAgICAjIHNpZ25hbCBhbiBldmVudApAQCAtMTg4NywxNCArMjEyNSwyNSBAQAogICAgICAgICAgICAgICAgICAgICAnY29tcHJlc3Npb24nOiBzLmNvbXByZXNzaW9uKCksCiAgICAgICAgICAgICAgICAgICAgICdjaXBoZXInOiBzLmNpcGhlcigpLAogICAgICAgICAgICAgICAgICAgICAncGVlcmNlcnQnOiBzLmdldHBlZXJjZXJ0KCksCi0gICAgICAgICAgICAgICAgICAgICdjbGllbnRfbnBuX3Byb3RvY29sJzogcy5zZWxlY3RlZF9ucG5fcHJvdG9jb2woKQorICAgICAgICAgICAgICAgICAgICAnY2xpZW50X2FscG5fcHJvdG9jb2wnOiBzLnNlbGVjdGVkX2FscG5fcHJvdG9jb2woKSwKKyAgICAgICAgICAgICAgICAgICAgJ2NsaWVudF9ucG5fcHJvdG9jb2wnOiBzLnNlbGVjdGVkX25wbl9wcm90b2NvbCgpLAorICAgICAgICAgICAgICAgICAgICAndmVyc2lvbic6IHMudmVyc2lvbigpLAogICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgcy5jbG9zZSgpCi0gICAgICAgICAgICBzdGF0c1snc2VydmVyX25wbl9wcm90b2NvbHMnXSA9IHNlcnZlci5zZWxlY3RlZF9wcm90b2NvbHMKKyAgICAgICAgICAgIHN0YXRzWydzZXJ2ZXJfYWxwbl9wcm90b2NvbHMnXSA9IHNlcnZlci5zZWxlY3RlZF9hbHBuX3Byb3RvY29scworICAgICAgICAgICAgc3RhdHNbJ3NlcnZlcl9ucG5fcHJvdG9jb2xzJ10gPSBzZXJ2ZXIuc2VsZWN0ZWRfbnBuX3Byb3RvY29scworICAgICAgICAgICAgc3RhdHNbJ3NlcnZlcl9zaGFyZWRfY2lwaGVycyddID0gc2VydmVyLnNoYXJlZF9jaXBoZXJzCiAgICAgICAgIHJldHVybiBzdGF0cwogCiAgICAgZGVmIHRyeV9wcm90b2NvbF9jb21ibyhzZXJ2ZXJfcHJvdG9jb2wsIGNsaWVudF9wcm90b2NvbCwgZXhwZWN0X3N1Y2Nlc3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZXJ0c3JlcXM9Tm9uZSwgc2VydmVyX29wdGlvbnM9MCwgY2xpZW50X29wdGlvbnM9MCk6CisgICAgICAgICIiIgorICAgICAgICBUcnkgdG8gU1NMLWNvbm5lY3QgdXNpbmcgKmNsaWVudF9wcm90b2NvbCogdG8gKnNlcnZlcl9wcm90b2NvbCouCisgICAgICAgIElmICpleHBlY3Rfc3VjY2VzcyogaXMgdHJ1ZSwgYXNzZXJ0IHRoYXQgdGhlIGNvbm5lY3Rpb24gc3VjY2VlZHMsCisgICAgICAgIGlmIGl0J3MgZmFsc2UsIGFzc2VydCB0aGF0IHRoZSBjb25uZWN0aW9uIGZhaWxzLgorICAgICAgICBBbHNvLCBpZiAqZXhwZWN0X3N1Y2Nlc3MqIGlzIGEgc3RyaW5nLCBhc3NlcnQgdGhhdCBpdCBpcyB0aGUgcHJvdG9jb2wKKyAgICAgICAgdmVyc2lvbiBhY3R1YWxseSB1c2VkIGJ5IHRoZSBjb25uZWN0aW9uLgorICAgICAgICAiIiIKICAgICAgICAgaWYgY2VydHNyZXFzIGlzIE5vbmU6CiAgICAgICAgICAgICBjZXJ0c3JlcXMgPSBzc2wuQ0VSVF9OT05FCiAgICAgICAgIGNlcnR0eXBlID0gewpAQCAtMTkyNCw4ICsyMTczLDggQEAKICAgICAgICAgICAgIGN0eC5sb2FkX2NlcnRfY2hhaW4oQ0VSVEZJTEUpCiAgICAgICAgICAgICBjdHgubG9hZF92ZXJpZnlfbG9jYXRpb25zKENFUlRGSUxFKQogICAgICAgICB0cnk6Ci0gICAgICAgICAgICBzZXJ2ZXJfcGFyYW1zX3Rlc3QoY2xpZW50X2NvbnRleHQsIHNlcnZlcl9jb250ZXh0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXR0eT1GYWxzZSwgY29ubmVjdGlvbmNoYXR0eT1GYWxzZSkKKyAgICAgICAgICAgIHN0YXRzID0gc2VydmVyX3BhcmFtc190ZXN0KGNsaWVudF9jb250ZXh0LCBzZXJ2ZXJfY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXR0eT1GYWxzZSwgY29ubmVjdGlvbmNoYXR0eT1GYWxzZSkKICAgICAgICAgIyBQcm90b2NvbCBtaXNtYXRjaCBjYW4gcmVzdWx0IGluIGVpdGhlciBhbiBTU0xFcnJvciwgb3IgYQogICAgICAgICAjICJDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIiIGVycm9yLgogICAgICAgICBleGNlcHQgc3NsLlNTTEVycm9yOgpAQCAtMTk0MCw2ICsyMTg5LDEwIEBACiAgICAgICAgICAgICAgICAgICAgICJDbGllbnQgcHJvdG9jb2wgJXMgc3VjY2VlZGVkIHdpdGggc2VydmVyIHByb3RvY29sICVzISIKICAgICAgICAgICAgICAgICAgICAgJSAoc3NsLmdldF9wcm90b2NvbF9uYW1lKGNsaWVudF9wcm90b2NvbCksCiAgICAgICAgICAgICAgICAgICAgICAgIHNzbC5nZXRfcHJvdG9jb2xfbmFtZShzZXJ2ZXJfcHJvdG9jb2wpKSkKKyAgICAgICAgICAgIGVsaWYgKGV4cGVjdF9zdWNjZXNzIGlzIG5vdCBUcnVlCisgICAgICAgICAgICAgICAgICBhbmQgZXhwZWN0X3N1Y2Nlc3MgIT0gc3RhdHNbJ3ZlcnNpb24nXSk6CisgICAgICAgICAgICAgICAgcmFpc2UgQXNzZXJ0aW9uRXJyb3IoInZlcnNpb24gbWlzbWF0Y2g6IGV4cGVjdGVkICVyLCBnb3QgJXIiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJSAoZXhwZWN0X3N1Y2Nlc3MsIHN0YXRzWyd2ZXJzaW9uJ10pKQogCiAKICAgICBjbGFzcyBUaHJlYWRlZFRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKQEAgLTIxMDYsNyArMjM1OSw3IEBACiAgICAgICAgICAgICAjIGFuZCBzZXRzIEV2ZW50IGBsaXN0ZW5lcl9nb25lYCB0byBsZXQgdGhlIG1haW4gdGhyZWFkIGtub3cKICAgICAgICAgICAgICMgdGhlIHNvY2tldCBpcyBnb25lLgogICAgICAgICAgICAgZGVmIGxpc3RlbmVyKCk6Ci0gICAgICAgICAgICAgICAgcy5saXN0ZW4oNSkKKyAgICAgICAgICAgICAgICBzLmxpc3RlbigpCiAgICAgICAgICAgICAgICAgbGlzdGVuZXJfcmVhZHkuc2V0KCkKICAgICAgICAgICAgICAgICBuZXdzb2NrLCBhZGRyID0gcy5hY2NlcHQoKQogICAgICAgICAgICAgICAgIG5ld3NvY2suY2xvc2UoKQpAQCAtMjE3MSwxOSArMjQyNCwxOSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgU1NMMiBjbGllbnQgdG8gU1NMMjMgc2VydmVyIHRlc3QgdW5leHBlY3RlZGx5IGZhaWxlZDpcbiAlc1xuIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgc3RyKHgpKQogICAgICAgICAgICAgaWYgaGFzYXR0cihzc2wsICdQUk9UT0NPTF9TU0x2MycpOgotICAgICAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfU1NMdjIzLCBzc2wuUFJPVE9DT0xfU1NMdjMsIFRydWUpCisgICAgICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9TU0x2MjMsIHNzbC5QUk9UT0NPTF9TU0x2MywgJ1NTTHYzJykKICAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfU1NMdjIzLCBzc2wuUFJPVE9DT0xfU1NMdjIzLCBUcnVlKQotICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9TU0x2MjMsIHNzbC5QUk9UT0NPTF9UTFN2MSwgVHJ1ZSkKKyAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfU1NMdjIzLCBzc2wuUFJPVE9DT0xfVExTdjEsICdUTFN2MScpCiAKICAgICAgICAgICAgIGlmIGhhc2F0dHIoc3NsLCAnUFJPVE9DT0xfU1NMdjMnKToKLSAgICAgICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1NTTHYyMywgc3NsLlBST1RPQ09MX1NTTHYzLCBUcnVlLCBzc2wuQ0VSVF9PUFRJT05BTCkKKyAgICAgICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1NTTHYyMywgc3NsLlBST1RPQ09MX1NTTHYzLCAnU1NMdjMnLCBzc2wuQ0VSVF9PUFRJT05BTCkKICAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfU1NMdjIzLCBzc2wuUFJPVE9DT0xfU1NMdjIzLCBUcnVlLCBzc2wuQ0VSVF9PUFRJT05BTCkKLSAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfU1NMdjIzLCBzc2wuUFJPVE9DT0xfVExTdjEsIFRydWUsIHNzbC5DRVJUX09QVElPTkFMKQorICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9TU0x2MjMsIHNzbC5QUk9UT0NPTF9UTFN2MSwgJ1RMU3YxJywgc3NsLkNFUlRfT1BUSU9OQUwpCiAKICAgICAgICAgICAgIGlmIGhhc2F0dHIoc3NsLCAnUFJPVE9DT0xfU1NMdjMnKToKLSAgICAgICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1NTTHYyMywgc3NsLlBST1RPQ09MX1NTTHYzLCBUcnVlLCBzc2wuQ0VSVF9SRVFVSVJFRCkKKyAgICAgICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1NTTHYyMywgc3NsLlBST1RPQ09MX1NTTHYzLCAnU1NMdjMnLCBzc2wuQ0VSVF9SRVFVSVJFRCkKICAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfU1NMdjIzLCBzc2wuUFJPVE9DT0xfU1NMdjIzLCBUcnVlLCBzc2wuQ0VSVF9SRVFVSVJFRCkKLSAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfU1NMdjIzLCBzc2wuUFJPVE9DT0xfVExTdjEsIFRydWUsIHNzbC5DRVJUX1JFUVVJUkVEKQorICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9TU0x2MjMsIHNzbC5QUk9UT0NPTF9UTFN2MSwgJ1RMU3YxJywgc3NsLkNFUlRfUkVRVUlSRUQpCiAKICAgICAgICAgICAgICMgU2VydmVyIHdpdGggc3BlY2lmaWMgU1NMIG9wdGlvbnMKICAgICAgICAgICAgIGlmIGhhc2F0dHIoc3NsLCAnUFJPVE9DT0xfU1NMdjMnKToKQEAgLTIyMDMsOSArMjQ1Niw5IEBACiAgICAgICAgICAgICAiIiJDb25uZWN0aW5nIHRvIGFuIFNTTHYzIHNlcnZlciB3aXRoIHZhcmlvdXMgY2xpZW50IG9wdGlvbnMiIiIKICAgICAgICAgICAgIGlmIHN1cHBvcnQudmVyYm9zZToKICAgICAgICAgICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKCJcbiIpCi0gICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1NTTHYzLCBzc2wuUFJPVE9DT0xfU1NMdjMsIFRydWUpCi0gICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1NTTHYzLCBzc2wuUFJPVE9DT0xfU1NMdjMsIFRydWUsIHNzbC5DRVJUX09QVElPTkFMKQotICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9TU0x2Mywgc3NsLlBST1RPQ09MX1NTTHYzLCBUcnVlLCBzc2wuQ0VSVF9SRVFVSVJFRCkKKyAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfU1NMdjMsIHNzbC5QUk9UT0NPTF9TU0x2MywgJ1NTTHYzJykKKyAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfU1NMdjMsIHNzbC5QUk9UT0NPTF9TU0x2MywgJ1NTTHYzJywgc3NsLkNFUlRfT1BUSU9OQUwpCisgICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1NTTHYzLCBzc2wuUFJPVE9DT0xfU1NMdjMsICdTU0x2MycsIHNzbC5DRVJUX1JFUVVJUkVEKQogICAgICAgICAgICAgaWYgaGFzYXR0cihzc2wsICdQUk9UT0NPTF9TU0x2MicpOgogICAgICAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfU1NMdjMsIHNzbC5QUk9UT0NPTF9TU0x2MiwgRmFsc2UpCiAgICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1NTTHYzLCBzc2wuUFJPVE9DT0xfU1NMdjIzLCBGYWxzZSwKQEAgLTIyMTMsNyArMjQ2Niw3IEBACiAgICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1NTTHYzLCBzc2wuUFJPVE9DT0xfVExTdjEsIEZhbHNlKQogICAgICAgICAgICAgaWYgbm9fc3NsdjJfaW1wbGllc19zc2x2M19oZWxsbygpOgogICAgICAgICAgICAgICAgICMgTm8gU1NMdjIgPT4gY2xpZW50IHdpbGwgdXNlIGFuIFNTTHYzIGhlbGxvIG9uIHJlY2VudCBPcGVuU1NMcwotICAgICAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfU1NMdjMsIHNzbC5QUk9UT0NPTF9TU0x2MjMsIFRydWUsCisgICAgICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9TU0x2Mywgc3NsLlBST1RPQ09MX1NTTHYyMywgJ1NTTHYzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50X29wdGlvbnM9c3NsLk9QX05PX1NTTHYyKQogCiAgICAgICAgIEBza2lwX2lmX2Jyb2tlbl91YnVudHVfc3NsCkBAIC0yMjIxLDkgKzI0NzQsOSBAQAogICAgICAgICAgICAgIiIiQ29ubmVjdGluZyB0byBhIFRMU3YxIHNlcnZlciB3aXRoIHZhcmlvdXMgY2xpZW50IG9wdGlvbnMiIiIKICAgICAgICAgICAgIGlmIHN1cHBvcnQudmVyYm9zZToKICAgICAgICAgICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKCJcbiIpCi0gICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1RMU3YxLCBzc2wuUFJPVE9DT0xfVExTdjEsIFRydWUpCi0gICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1RMU3YxLCBzc2wuUFJPVE9DT0xfVExTdjEsIFRydWUsIHNzbC5DRVJUX09QVElPTkFMKQotICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9UTFN2MSwgc3NsLlBST1RPQ09MX1RMU3YxLCBUcnVlLCBzc2wuQ0VSVF9SRVFVSVJFRCkKKyAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfVExTdjEsIHNzbC5QUk9UT0NPTF9UTFN2MSwgJ1RMU3YxJykKKyAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfVExTdjEsIHNzbC5QUk9UT0NPTF9UTFN2MSwgJ1RMU3YxJywgc3NsLkNFUlRfT1BUSU9OQUwpCisgICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1RMU3YxLCBzc2wuUFJPVE9DT0xfVExTdjEsICdUTFN2MScsIHNzbC5DRVJUX1JFUVVJUkVEKQogICAgICAgICAgICAgaWYgaGFzYXR0cihzc2wsICdQUk9UT0NPTF9TU0x2MicpOgogICAgICAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfVExTdjEsIHNzbC5QUk9UT0NPTF9TU0x2MiwgRmFsc2UpCiAgICAgICAgICAgICBpZiBoYXNhdHRyKHNzbCwgJ1BST1RPQ09MX1NTTHYzJyk6CkBAIC0yMjM5LDcgKzI0OTIsNyBAQAogICAgICAgICAgICAgICAgVGVzdGluZyBhZ2FpbnN0IG9sZGVyIFRMUyB2ZXJzaW9ucy4iIiIKICAgICAgICAgICAgIGlmIHN1cHBvcnQudmVyYm9zZToKICAgICAgICAgICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKCJcbiIpCi0gICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1RMU3YxXzEsIHNzbC5QUk9UT0NPTF9UTFN2MV8xLCBUcnVlKQorICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9UTFN2MV8xLCBzc2wuUFJPVE9DT0xfVExTdjFfMSwgJ1RMU3YxLjEnKQogICAgICAgICAgICAgaWYgaGFzYXR0cihzc2wsICdQUk9UT0NPTF9TU0x2MicpOgogICAgICAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfVExTdjFfMSwgc3NsLlBST1RPQ09MX1NTTHYyLCBGYWxzZSkKICAgICAgICAgICAgIGlmIGhhc2F0dHIoc3NsLCAnUFJPVE9DT0xfU1NMdjMnKToKQEAgLTIyNDcsNyArMjUwMCw3IEBACiAgICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1RMU3YxXzEsIHNzbC5QUk9UT0NPTF9TU0x2MjMsIEZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudF9vcHRpb25zPXNzbC5PUF9OT19UTFN2MV8xKQogCi0gICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1NTTHYyMywgc3NsLlBST1RPQ09MX1RMU3YxXzEsIFRydWUpCisgICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1NTTHYyMywgc3NsLlBST1RPQ09MX1RMU3YxXzEsICdUTFN2MS4xJykKICAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfVExTdjFfMSwgc3NsLlBST1RPQ09MX1RMU3YxLCBGYWxzZSkKICAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfVExTdjEsIHNzbC5QUk9UT0NPTF9UTFN2MV8xLCBGYWxzZSkKIApAQCAtMjI2MCw3ICsyNTEzLDcgQEAKICAgICAgICAgICAgICAgIFRlc3RpbmcgYWdhaW5zdCBvbGRlciBUTFMgdmVyc2lvbnMuIiIiCiAgICAgICAgICAgICBpZiBzdXBwb3J0LnZlcmJvc2U6CiAgICAgICAgICAgICAgICAgc3lzLnN0ZG91dC53cml0ZSgiXG4iKQotICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9UTFN2MV8yLCBzc2wuUFJPVE9DT0xfVExTdjFfMiwgVHJ1ZSwKKyAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfVExTdjFfMiwgc3NsLlBST1RPQ09MX1RMU3YxXzIsICdUTFN2MS4yJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJfb3B0aW9ucz1zc2wuT1BfTk9fU1NMdjN8c3NsLk9QX05PX1NTTHYyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudF9vcHRpb25zPXNzbC5PUF9OT19TU0x2M3xzc2wuT1BfTk9fU1NMdjIsKQogICAgICAgICAgICAgaWYgaGFzYXR0cihzc2wsICdQUk9UT0NPTF9TU0x2MicpOgpAQCAtMjI3MCw3ICsyNTIzLDcgQEAKICAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfVExTdjFfMiwgc3NsLlBST1RPQ09MX1NTTHYyMywgRmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50X29wdGlvbnM9c3NsLk9QX05PX1RMU3YxXzIpCiAKLSAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfU1NMdjIzLCBzc2wuUFJPVE9DT0xfVExTdjFfMiwgVHJ1ZSkKKyAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfU1NMdjIzLCBzc2wuUFJPVE9DT0xfVExTdjFfMiwgJ1RMU3YxLjInKQogICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9UTFN2MV8yLCBzc2wuUFJPVE9DT0xfVExTdjEsIEZhbHNlKQogICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9UTFN2MSwgc3NsLlBST1RPQ09MX1RMU3YxXzIsIEZhbHNlKQogICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9UTFN2MV8yLCBzc2wuUFJPVE9DT0xfVExTdjFfMSwgRmFsc2UpCkBAIC0yNTA2LDYgKzI3NTksMzYgQEAKICAgICAgICAgICAgICAgICBzLndyaXRlKGIib3ZlclxuIikKICAgICAgICAgICAgICAgICBzLmNsb3NlKCkKIAorICAgICAgICBkZWYgdGVzdF9ub25ibG9ja2luZ19zZW5kKHNlbGYpOgorICAgICAgICAgICAgc2VydmVyID0gVGhyZWFkZWRFY2hvU2VydmVyKENFUlRGSUxFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlcnRyZXFzPXNzbC5DRVJUX05PTkUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3NsX3ZlcnNpb249c3NsLlBST1RPQ09MX1RMU3YxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhY2VydHM9Q0VSVEZJTEUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhdHR5PVRydWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29ubmVjdGlvbmNoYXR0eT1GYWxzZSkKKyAgICAgICAgICAgIHdpdGggc2VydmVyOgorICAgICAgICAgICAgICAgIHMgPSBzc2wud3JhcF9zb2NrZXQoc29ja2V0LnNvY2tldCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyX3NpZGU9RmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZXJ0ZmlsZT1DRVJURklMRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhX2NlcnRzPUNFUlRGSUxFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VydF9yZXFzPXNzbC5DRVJUX05PTkUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzc2xfdmVyc2lvbj1zc2wuUFJPVE9DT0xfVExTdjEpCisgICAgICAgICAgICAgICAgcy5jb25uZWN0KChIT1NULCBzZXJ2ZXIucG9ydCkpCisgICAgICAgICAgICAgICAgcy5zZXRibG9ja2luZyhGYWxzZSkKKworICAgICAgICAgICAgICAgICMgSWYgd2Uga2VlcCBzZW5kaW5nIGRhdGEsIGF0IHNvbWUgcG9pbnQgdGhlIGJ1ZmZlcnMKKyAgICAgICAgICAgICAgICAjIHdpbGwgYmUgZnVsbCBhbmQgdGhlIGNhbGwgd2lsbCBibG9jaworICAgICAgICAgICAgICAgIGJ1ZiA9IGJ5dGVhcnJheSg4MTkyKQorICAgICAgICAgICAgICAgIGRlZiBmaWxsX2J1ZmZlcigpOgorICAgICAgICAgICAgICAgICAgICB3aGlsZSBUcnVlOgorICAgICAgICAgICAgICAgICAgICAgICAgcy5zZW5kKGJ1ZikKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcygoc3NsLlNTTFdhbnRXcml0ZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzc2wuU1NMV2FudFJlYWRFcnJvciksIGZpbGxfYnVmZmVyKQorCisgICAgICAgICAgICAgICAgIyBOb3cgcmVhZCBhbGwgdGhlIG91dHB1dCBhbmQgZGlzY2FyZCBpdAorICAgICAgICAgICAgICAgIHMuc2V0YmxvY2tpbmcoVHJ1ZSkKKyAgICAgICAgICAgICAgICBzLmNsb3NlKCkKKwogICAgICAgICBkZWYgdGVzdF9oYW5kc2hha2VfdGltZW91dChzZWxmKToKICAgICAgICAgICAgICMgSXNzdWUgIzUxMDM6IFNTTCBoYW5kc2hha2UgbXVzdCByZXNwZWN0IHRoZSBzb2NrZXQgdGltZW91dAogICAgICAgICAgICAgc2VydmVyID0gc29ja2V0LnNvY2tldChzb2NrZXQuQUZfSU5FVCkKQEAgLTI1MTUsNyArMjc5OCw3IEBACiAgICAgICAgICAgICBmaW5pc2ggPSBGYWxzZQogCiAgICAgICAgICAgICBkZWYgc2VydmUoKToKLSAgICAgICAgICAgICAgICBzZXJ2ZXIubGlzdGVuKDUpCisgICAgICAgICAgICAgICAgc2VydmVyLmxpc3RlbigpCiAgICAgICAgICAgICAgICAgc3RhcnRlZC5zZXQoKQogICAgICAgICAgICAgICAgIGNvbm5zID0gW10KICAgICAgICAgICAgICAgICB3aGlsZSBub3QgZmluaXNoOgpAQCAtMjU3Miw3ICsyODU1LDcgQEAKICAgICAgICAgICAgIHBlZXIgPSBOb25lCiAgICAgICAgICAgICBkZWYgc2VydmUoKToKICAgICAgICAgICAgICAgICBub25sb2NhbCByZW1vdGUsIHBlZXIKLSAgICAgICAgICAgICAgICBzZXJ2ZXIubGlzdGVuKDUpCisgICAgICAgICAgICAgICAgc2VydmVyLmxpc3RlbigpCiAgICAgICAgICAgICAgICAgIyBCbG9jayBvbiB0aGUgYWNjZXB0IGFuZCB3YWl0IG9uIHRoZSBjb25uZWN0aW9uIHRvIGNsb3NlLgogICAgICAgICAgICAgICAgIGV2dC5zZXQoKQogICAgICAgICAgICAgICAgIHJlbW90ZSwgcGVlciA9IHNlcnZlci5hY2NlcHQoKQpAQCAtMjYyMiw2ICsyOTA1LDIxIEBACiAgICAgICAgICAgICAgICAgICAgICAgICBzLmNvbm5lY3QoKEhPU1QsIHNlcnZlci5wb3J0KSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oIm5vIHNoYXJlZCBjaXBoZXIiLCBzdHIoc2VydmVyLmNvbm5fZXJyb3JzWzBdKSkKIAorICAgICAgICBkZWYgdGVzdF92ZXJzaW9uX2Jhc2ljKHNlbGYpOgorICAgICAgICAgICAgIiIiCisgICAgICAgICAgICBCYXNpYyB0ZXN0cyBmb3IgU1NMU29ja2V0LnZlcnNpb24oKS4KKyAgICAgICAgICAgIE1vcmUgdGVzdHMgYXJlIGRvbmUgaW4gdGhlIHRlc3RfcHJvdG9jb2xfKigpIG1ldGhvZHMuCisgICAgICAgICAgICAiIiIKKyAgICAgICAgICAgIGNvbnRleHQgPSBzc2wuU1NMQ29udGV4dChzc2wuUFJPVE9DT0xfVExTdjEpCisgICAgICAgICAgICB3aXRoIFRocmVhZGVkRWNob1NlcnZlcihDRVJURklMRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNzbF92ZXJzaW9uPXNzbC5QUk9UT0NPTF9UTFN2MSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXR0eT1GYWxzZSkgYXMgc2VydmVyOgorICAgICAgICAgICAgICAgIHdpdGggY29udGV4dC53cmFwX3NvY2tldChzb2NrZXQuc29ja2V0KCkpIGFzIHM6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMocy52ZXJzaW9uKCksIE5vbmUpCisgICAgICAgICAgICAgICAgICAgIHMuY29ubmVjdCgoSE9TVCwgc2VydmVyLnBvcnQpKQorICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHMudmVyc2lvbigpLCAiVExTdjEiKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMocy52ZXJzaW9uKCksIE5vbmUpCisKICAgICAgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3Moc3NsLkhBU19FQ0RILCAidGVzdCByZXF1aXJlcyBFQ0RILWVuYWJsZWQgT3BlblNTTCIpCiAgICAgICAgIGRlZiB0ZXN0X2RlZmF1bHRfZWNkaF9jdXJ2ZShzZWxmKToKICAgICAgICAgICAgICMgSXNzdWUgIzIxMDE1OiBlbGxpcHRpYyBjdXJ2ZS1iYXNlZCBEaWZmaWUgSGVsbG1hbiBrZXkgZXhjaGFuZ2UKQEAgLTI3MzEsNiArMzAyOSw1NSBAQAogICAgICAgICAgICAgaWYgIkFESCIgbm90IGluIHBhcnRzIGFuZCAiRURIIiBub3QgaW4gcGFydHMgYW5kICJESEUiIG5vdCBpbiBwYXJ0czoKICAgICAgICAgICAgICAgICBzZWxmLmZhaWwoIk5vbi1ESCBjaXBoZXI6ICIgKyBjaXBoZXJbMF0pCiAKKyAgICAgICAgZGVmIHRlc3Rfc2VsZWN0ZWRfYWxwbl9wcm90b2NvbChzZWxmKToKKyAgICAgICAgICAgICMgc2VsZWN0ZWRfYWxwbl9wcm90b2NvbCgpIGlzIE5vbmUgdW5sZXNzIEFMUE4gaXMgdXNlZC4KKyAgICAgICAgICAgIGNvbnRleHQgPSBzc2wuU1NMQ29udGV4dChzc2wuUFJPVE9DT0xfVExTdjEpCisgICAgICAgICAgICBjb250ZXh0LmxvYWRfY2VydF9jaGFpbihDRVJURklMRSkKKyAgICAgICAgICAgIHN0YXRzID0gc2VydmVyX3BhcmFtc190ZXN0KGNvbnRleHQsIGNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGF0dHk9VHJ1ZSwgY29ubmVjdGlvbmNoYXR0eT1UcnVlKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhzdGF0c1snY2xpZW50X2FscG5fcHJvdG9jb2wnXSwgTm9uZSkKKworICAgICAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhzc2wuSEFTX0FMUE4sICJBTFBOIHN1cHBvcnQgcmVxdWlyZWQiKQorICAgICAgICBkZWYgdGVzdF9zZWxlY3RlZF9hbHBuX3Byb3RvY29sX2lmX3NlcnZlcl91c2VzX2FscG4oc2VsZik6CisgICAgICAgICAgICAjIHNlbGVjdGVkX2FscG5fcHJvdG9jb2woKSBpcyBOb25lIHVubGVzcyBBTFBOIGlzIHVzZWQgYnkgdGhlIGNsaWVudC4KKyAgICAgICAgICAgIGNsaWVudF9jb250ZXh0ID0gc3NsLlNTTENvbnRleHQoc3NsLlBST1RPQ09MX1RMU3YxKQorICAgICAgICAgICAgY2xpZW50X2NvbnRleHQubG9hZF92ZXJpZnlfbG9jYXRpb25zKENFUlRGSUxFKQorICAgICAgICAgICAgc2VydmVyX2NvbnRleHQgPSBzc2wuU1NMQ29udGV4dChzc2wuUFJPVE9DT0xfVExTdjEpCisgICAgICAgICAgICBzZXJ2ZXJfY29udGV4dC5sb2FkX2NlcnRfY2hhaW4oQ0VSVEZJTEUpCisgICAgICAgICAgICBzZXJ2ZXJfY29udGV4dC5zZXRfYWxwbl9wcm90b2NvbHMoWydmb28nLCAnYmFyJ10pCisgICAgICAgICAgICBzdGF0cyA9IHNlcnZlcl9wYXJhbXNfdGVzdChjbGllbnRfY29udGV4dCwgc2VydmVyX2NvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGF0dHk9VHJ1ZSwgY29ubmVjdGlvbmNoYXR0eT1UcnVlKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhzdGF0c1snY2xpZW50X2FscG5fcHJvdG9jb2wnXSwgTm9uZSkKKworICAgICAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhzc2wuSEFTX0FMUE4sICJBTFBOIHN1cHBvcnQgbmVlZGVkIGZvciB0aGlzIHRlc3QiKQorICAgICAgICBkZWYgdGVzdF9hbHBuX3Byb3RvY29scyhzZWxmKToKKyAgICAgICAgICAgIHNlcnZlcl9wcm90b2NvbHMgPSBbJ2ZvbycsICdiYXInLCAnbWlsa3NoYWtlJ10KKyAgICAgICAgICAgIHByb3RvY29sX3Rlc3RzID0gWworICAgICAgICAgICAgICAgIChbJ2ZvbycsICdiYXInXSwgJ2ZvbycpLAorICAgICAgICAgICAgICAgIChbJ2JhcicsICdmb28nXSwgJ2ZvbycpLAorICAgICAgICAgICAgICAgIChbJ21pbGtzaGFrZSddLCAnbWlsa3NoYWtlJyksCisgICAgICAgICAgICAgICAgKFsnaHR0cC8zLjAnLCAnaHR0cC80LjAnXSwgTm9uZSkKKyAgICAgICAgICAgIF0KKyAgICAgICAgICAgIGZvciBjbGllbnRfcHJvdG9jb2xzLCBleHBlY3RlZCBpbiBwcm90b2NvbF90ZXN0czoKKyAgICAgICAgICAgICAgICBzZXJ2ZXJfY29udGV4dCA9IHNzbC5TU0xDb250ZXh0KHNzbC5QUk9UT0NPTF9UTFN2MSkKKyAgICAgICAgICAgICAgICBzZXJ2ZXJfY29udGV4dC5sb2FkX2NlcnRfY2hhaW4oQ0VSVEZJTEUpCisgICAgICAgICAgICAgICAgc2VydmVyX2NvbnRleHQuc2V0X2FscG5fcHJvdG9jb2xzKHNlcnZlcl9wcm90b2NvbHMpCisgICAgICAgICAgICAgICAgY2xpZW50X2NvbnRleHQgPSBzc2wuU1NMQ29udGV4dChzc2wuUFJPVE9DT0xfVExTdjEpCisgICAgICAgICAgICAgICAgY2xpZW50X2NvbnRleHQubG9hZF9jZXJ0X2NoYWluKENFUlRGSUxFKQorICAgICAgICAgICAgICAgIGNsaWVudF9jb250ZXh0LnNldF9hbHBuX3Byb3RvY29scyhjbGllbnRfcHJvdG9jb2xzKQorICAgICAgICAgICAgICAgIHN0YXRzID0gc2VydmVyX3BhcmFtc190ZXN0KGNsaWVudF9jb250ZXh0LCBzZXJ2ZXJfY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGF0dHk9VHJ1ZSwgY29ubmVjdGlvbmNoYXR0eT1UcnVlKQorCisgICAgICAgICAgICAgICAgbXNnID0gImZhaWxlZCB0cnlpbmcgJXMgKHMpIGFuZCAlcyAoYykuXG4iIFwKKyAgICAgICAgICAgICAgICAgICAgICAid2FzIGV4cGVjdGluZyAlcywgYnV0IGdvdCAlJXMgZnJvbSB0aGUgJSVzIiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICUgKHN0cihzZXJ2ZXJfcHJvdG9jb2xzKSwgc3RyKGNsaWVudF9wcm90b2NvbHMpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIoZXhwZWN0ZWQpKQorICAgICAgICAgICAgICAgIGNsaWVudF9yZXN1bHQgPSBzdGF0c1snY2xpZW50X2FscG5fcHJvdG9jb2wnXQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2xpZW50X3Jlc3VsdCwgZXhwZWN0ZWQsIG1zZyAlIChjbGllbnRfcmVzdWx0LCAiY2xpZW50IikpCisgICAgICAgICAgICAgICAgc2VydmVyX3Jlc3VsdCA9IHN0YXRzWydzZXJ2ZXJfYWxwbl9wcm90b2NvbHMnXVstMV0gXAorICAgICAgICAgICAgICAgICAgICBpZiBsZW4oc3RhdHNbJ3NlcnZlcl9hbHBuX3Byb3RvY29scyddKSBlbHNlICdub3RoaW5nJworICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VydmVyX3Jlc3VsdCwgZXhwZWN0ZWQsIG1zZyAlIChzZXJ2ZXJfcmVzdWx0LCAic2VydmVyIikpCisKICAgICAgICAgZGVmIHRlc3Rfc2VsZWN0ZWRfbnBuX3Byb3RvY29sKHNlbGYpOgogICAgICAgICAgICAgIyBzZWxlY3RlZF9ucG5fcHJvdG9jb2woKSBpcyBOb25lIHVubGVzcyBOUE4gaXMgdXNlZAogICAgICAgICAgICAgY29udGV4dCA9IHNzbC5TU0xDb250ZXh0KHNzbC5QUk9UT0NPTF9UTFN2MSkKQEAgLTI4NzEsNiArMzIxOCwyMCBAQAogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbS5leGNlcHRpb24ucmVhc29uLCAnVExTVjFfQUxFUlRfSU5URVJOQUxfRVJST1InKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRJbigiVHlwZUVycm9yIiwgc3RkZXJyLmdldHZhbHVlKCkpCiAKKyAgICAgICAgZGVmIHRlc3Rfc2hhcmVkX2NpcGhlcnMoc2VsZik6CisgICAgICAgICAgICBzZXJ2ZXJfY29udGV4dCA9IHNzbC5TU0xDb250ZXh0KHNzbC5QUk9UT0NPTF9UTFN2MSkKKyAgICAgICAgICAgIHNlcnZlcl9jb250ZXh0LmxvYWRfY2VydF9jaGFpbihTSUdORURfQ0VSVEZJTEUpCisgICAgICAgICAgICBjbGllbnRfY29udGV4dCA9IHNzbC5TU0xDb250ZXh0KHNzbC5QUk9UT0NPTF9UTFN2MSkKKyAgICAgICAgICAgIGNsaWVudF9jb250ZXh0LnZlcmlmeV9tb2RlID0gc3NsLkNFUlRfUkVRVUlSRUQKKyAgICAgICAgICAgIGNsaWVudF9jb250ZXh0LmxvYWRfdmVyaWZ5X2xvY2F0aW9ucyhTSUdOSU5HX0NBKQorICAgICAgICAgICAgY2xpZW50X2NvbnRleHQuc2V0X2NpcGhlcnMoIlJDNCIpCisgICAgICAgICAgICBzZXJ2ZXJfY29udGV4dC5zZXRfY2lwaGVycygiQUVTOlJDNCIpCisgICAgICAgICAgICBzdGF0cyA9IHNlcnZlcl9wYXJhbXNfdGVzdChjbGllbnRfY29udGV4dCwgc2VydmVyX2NvbnRleHQpCisgICAgICAgICAgICBjaXBoZXJzID0gc3RhdHNbJ3NlcnZlcl9zaGFyZWRfY2lwaGVycyddWzBdCisgICAgICAgICAgICBzZWxmLmFzc2VydEdyZWF0ZXIobGVuKGNpcGhlcnMpLCAwKQorICAgICAgICAgICAgZm9yIG5hbWUsIHRsc192ZXJzaW9uLCBiaXRzIGluIGNpcGhlcnM6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJbigiUkM0IiwgbmFtZS5zcGxpdCgiLSIpKQorCiAgICAgICAgIGRlZiB0ZXN0X3JlYWRfd3JpdGVfYWZ0ZXJfY2xvc2VfcmFpc2VzX3ZhbHVlcnJvcihzZWxmKToKICAgICAgICAgICAgIGNvbnRleHQgPSBzc2wuU1NMQ29udGV4dChzc2wuUFJPVE9DT0xfU1NMdjIzKQogICAgICAgICAgICAgY29udGV4dC52ZXJpZnlfbW9kZSA9IHNzbC5DRVJUX1JFUVVJUkVECkBAIC0yODg2LDYgKzMyNDcsMjMgQEAKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBzLnJlYWQsIDEwMjQpCiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgcy53cml0ZSwgYidoZWxsbycpCiAKKyAgICAgICAgZGVmIHRlc3Rfc2VuZGZpbGUoc2VsZik6CisgICAgICAgICAgICBURVNUX0RBVEEgPSBiIngiICogNTEyCisgICAgICAgICAgICB3aXRoIG9wZW4oc3VwcG9ydC5URVNURk4sICd3YicpIGFzIGY6CisgICAgICAgICAgICAgICAgZi53cml0ZShURVNUX0RBVEEpCisgICAgICAgICAgICBzZWxmLmFkZENsZWFudXAoc3VwcG9ydC51bmxpbmssIHN1cHBvcnQuVEVTVEZOKQorICAgICAgICAgICAgY29udGV4dCA9IHNzbC5TU0xDb250ZXh0KHNzbC5QUk9UT0NPTF9TU0x2MjMpCisgICAgICAgICAgICBjb250ZXh0LnZlcmlmeV9tb2RlID0gc3NsLkNFUlRfUkVRVUlSRUQKKyAgICAgICAgICAgIGNvbnRleHQubG9hZF92ZXJpZnlfbG9jYXRpb25zKENFUlRGSUxFKQorICAgICAgICAgICAgY29udGV4dC5sb2FkX2NlcnRfY2hhaW4oQ0VSVEZJTEUpCisgICAgICAgICAgICBzZXJ2ZXIgPSBUaHJlYWRlZEVjaG9TZXJ2ZXIoY29udGV4dD1jb250ZXh0LCBjaGF0dHk9RmFsc2UpCisgICAgICAgICAgICB3aXRoIHNlcnZlcjoKKyAgICAgICAgICAgICAgICB3aXRoIGNvbnRleHQud3JhcF9zb2NrZXQoc29ja2V0LnNvY2tldCgpKSBhcyBzOgorICAgICAgICAgICAgICAgICAgICBzLmNvbm5lY3QoKEhPU1QsIHNlcnZlci5wb3J0KSkKKyAgICAgICAgICAgICAgICAgICAgd2l0aCBvcGVuKHN1cHBvcnQuVEVTVEZOLCAncmInKSBhcyBmaWxlOgorICAgICAgICAgICAgICAgICAgICAgICAgcy5zZW5kZmlsZShmaWxlKQorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzLnJlY3YoMTAyNCksIFRFU1RfREFUQSkKKwogCiBkZWYgdGVzdF9tYWluKHZlcmJvc2U9RmFsc2UpOgogICAgIGlmIHN1cHBvcnQudmVyYm9zZToKQEAgLTI5MTksMTAgKzMyOTcsMTEgQEAKICAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKGZpbGVuYW1lKToKICAgICAgICAgICAgIHJhaXNlIHN1cHBvcnQuVGVzdEZhaWxlZCgiQ2FuJ3QgcmVhZCBjZXJ0aWZpY2F0ZSBmaWxlICVyIiAlIGZpbGVuYW1lKQogCi0gICAgdGVzdHMgPSBbQ29udGV4dFRlc3RzLCBCYXNpY1NvY2tldFRlc3RzLCBTU0xFcnJvclRlc3RzXQorICAgIHRlc3RzID0gW0NvbnRleHRUZXN0cywgQmFzaWNTb2NrZXRUZXN0cywgU1NMRXJyb3JUZXN0cywgTWVtb3J5QklPVGVzdHNdCiAKICAgICBpZiBzdXBwb3J0LmlzX3Jlc291cmNlX2VuYWJsZWQoJ25ldHdvcmsnKToKICAgICAgICAgdGVzdHMuYXBwZW5kKE5ldHdvcmtlZFRlc3RzKQorICAgICAgICB0ZXN0cy5hcHBlbmQoTmV0d29ya2VkQklPVGVzdHMpCiAKICAgICBpZiBfaGF2ZV90aHJlYWRzOgogICAgICAgICB0aHJlYWRfaW5mbyA9IHN1cHBvcnQudGhyZWFkaW5nX3NldHVwKCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfc3RhdC5weSBiL0xpYi90ZXN0L3Rlc3Rfc3RhdC5weQppbmRleCBhZjZjZWQ0Li5mMWE1OTM4IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3N0YXQucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9zdGF0LnB5CkBAIC0xLDUgKzEsNiBAQAogaW1wb3J0IHVuaXR0ZXN0CiBpbXBvcnQgb3MKK2ltcG9ydCBzeXMKIGZyb20gdGVzdC5zdXBwb3J0IGltcG9ydCBURVNURk4sIGltcG9ydF9mcmVzaF9tb2R1bGUKIAogY19zdGF0ID0gaW1wb3J0X2ZyZXNoX21vZHVsZSgnc3RhdCcsIGZyZXNoPVsnX3N0YXQnXSkKQEAgLTUyLDYgKzUzLDI2IEBACiAgICAgICAgICdTX0lXT1RIJzogMG8wMDIsCiAgICAgICAgICdTX0lYT1RIJzogMG8wMDF9CiAKKyAgICAjIGRlZmluZWQgYnkgdGhlIFdpbmRvd3MgQVBJIGRvY3VtZW50YXRpb24KKyAgICBmaWxlX2F0dHJpYnV0ZXMgPSB7CisgICAgICAgICdGSUxFX0FUVFJJQlVURV9BUkNISVZFJzogMzIsCisgICAgICAgICdGSUxFX0FUVFJJQlVURV9DT01QUkVTU0VEJzogMjA0OCwKKyAgICAgICAgJ0ZJTEVfQVRUUklCVVRFX0RFVklDRSc6IDY0LAorICAgICAgICAnRklMRV9BVFRSSUJVVEVfRElSRUNUT1JZJzogMTYsCisgICAgICAgICdGSUxFX0FUVFJJQlVURV9FTkNSWVBURUQnOiAxNjM4NCwKKyAgICAgICAgJ0ZJTEVfQVRUUklCVVRFX0hJRERFTic6IDIsCisgICAgICAgICdGSUxFX0FUVFJJQlVURV9JTlRFR1JJVFlfU1RSRUFNJzogMzI3NjgsCisgICAgICAgICdGSUxFX0FUVFJJQlVURV9OT1JNQUwnOiAxMjgsCisgICAgICAgICdGSUxFX0FUVFJJQlVURV9OT1RfQ09OVEVOVF9JTkRFWEVEJzogODE5MiwKKyAgICAgICAgJ0ZJTEVfQVRUUklCVVRFX05PX1NDUlVCX0RBVEEnOiAxMzEwNzIsCisgICAgICAgICdGSUxFX0FUVFJJQlVURV9PRkZMSU5FJzogNDA5NiwKKyAgICAgICAgJ0ZJTEVfQVRUUklCVVRFX1JFQURPTkxZJzogMSwKKyAgICAgICAgJ0ZJTEVfQVRUUklCVVRFX1JFUEFSU0VfUE9JTlQnOiAxMDI0LAorICAgICAgICAnRklMRV9BVFRSSUJVVEVfU1BBUlNFX0ZJTEUnOiA1MTIsCisgICAgICAgICdGSUxFX0FUVFJJQlVURV9TWVNURU0nOiA0LAorICAgICAgICAnRklMRV9BVFRSSUJVVEVfVEVNUE9SQVJZJzogMjU2LAorICAgICAgICAnRklMRV9BVFRSSUJVVEVfVklSVFVBTCc6IDY1NTM2fQorCiAgICAgZGVmIHNldFVwKHNlbGYpOgogICAgICAgICB0cnk6CiAgICAgICAgICAgICBvcy5yZW1vdmUoVEVTVEZOKQpAQCAtMTg1LDYgKzIwNiwxNCBAQAogICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGNhbGxhYmxlKGZ1bmMpKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmdW5jKDApLCAwKQogCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3Moc3lzLnBsYXRmb3JtID09ICJ3aW4zMiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIkZJTEVfQVRUUklCVVRFXyogY29uc3RhbnRzIGFyZSBXaW4zMiBzcGVjaWZpYyIpCisgICAgZGVmIHRlc3RfZmlsZV9hdHRyaWJ1dGVfY29uc3RhbnRzKHNlbGYpOgorICAgICAgICBmb3Iga2V5LCB2YWx1ZSBpbiBzb3J0ZWQoc2VsZi5maWxlX2F0dHJpYnV0ZXMuaXRlbXMoKSk6CisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoaGFzYXR0cihzZWxmLnN0YXRtb2QsIGtleSksIGtleSkKKyAgICAgICAgICAgIG1vZHZhbHVlID0gZ2V0YXR0cihzZWxmLnN0YXRtb2QsIGtleSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodmFsdWUsIG1vZHZhbHVlLCBrZXkpCisKIAogY2xhc3MgVGVzdEZpbGVtb2RlQ1N0YXQoVGVzdEZpbGVtb2RlLCB1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgc3RhdG1vZCA9IGNfc3RhdApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9zdWJwcm9jZXNzLnB5IGIvTGliL3Rlc3QvdGVzdF9zdWJwcm9jZXNzLnB5CmluZGV4IDUzODExMTUuLjNkMzQ4NTkgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfc3VicHJvY2Vzcy5weQorKysgYi9MaWIvdGVzdC90ZXN0X3N1YnByb2Nlc3MucHkKQEAgLTI0MjEsMjUgKzI0MjEsNiBAQAogICAgICAgICBQcm9jZXNzVGVzdENhc2UudGVhckRvd24oc2VsZikKIAogCi1jbGFzcyBIZWxwZXJGdW5jdGlvblRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICBAdW5pdHRlc3Quc2tpcElmKG1zd2luZG93cywgImVycm5vIGFuZCBFSU5UUiBtYWtlIG5vIHNlbnNlIG9uIHdpbmRvd3MiKQotICAgIGRlZiB0ZXN0X2VpbnRyX3JldHJ5X2NhbGwoc2VsZik6Ci0gICAgICAgIHJlY29yZF9jYWxscyA9IFtdCi0gICAgICAgIGRlZiBmYWtlX29zX2Z1bmMoKmFyZ3MpOgotICAgICAgICAgICAgcmVjb3JkX2NhbGxzLmFwcGVuZChhcmdzKQotICAgICAgICAgICAgaWYgbGVuKHJlY29yZF9jYWxscykgPT0gMjoKLSAgICAgICAgICAgICAgICByYWlzZSBPU0Vycm9yKGVycm5vLkVJTlRSLCAiZmFrZSBpbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbCIpCi0gICAgICAgICAgICByZXR1cm4gdHVwbGUocmV2ZXJzZWQoYXJncykpCi0KLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgoOTk5LCAyNTYpLAotICAgICAgICAgICAgICAgICAgICAgICAgIHN1YnByb2Nlc3MuX2VpbnRyX3JldHJ5X2NhbGwoZmFrZV9vc19mdW5jLCAyNTYsIDk5OSkpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoWygyNTYsIDk5OSldLCByZWNvcmRfY2FsbHMpCi0gICAgICAgICMgVGhpcyB0aW1lIHRoZXJlIHdpbGwgYmUgYW4gRUlOVFIgc28gaXQgd2lsbCBsb29wIG9uY2UuCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoKDY2NiwpLAotICAgICAgICAgICAgICAgICAgICAgICAgIHN1YnByb2Nlc3MuX2VpbnRyX3JldHJ5X2NhbGwoZmFrZV9vc19mdW5jLCA2NjYpKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFsoMjU2LCA5OTkpLCAoNjY2LCksICg2NjYsKV0sIHJlY29yZF9jYWxscykKLQotCiBAdW5pdHRlc3Quc2tpcFVubGVzcyhtc3dpbmRvd3MsICJXaW5kb3dzLXNwZWNpZmljIHRlc3RzIikKIGNsYXNzIENvbW1hbmRzV2l0aFNwYWNlcyAoQmFzZVRlc3RDYXNlKToKIApAQCAtMjUyOCw3ICsyNTA5LDYgQEAKICAgICAgICAgICAgICAgICAgIFdpbjMyUHJvY2Vzc1Rlc3RDYXNlLAogICAgICAgICAgICAgICAgICAgQ29tbWFuZFRlc3RzLAogICAgICAgICAgICAgICAgICAgUHJvY2Vzc1Rlc3RDYXNlTm9Qb2xsLAotICAgICAgICAgICAgICAgICAgSGVscGVyRnVuY3Rpb25UZXN0cywKICAgICAgICAgICAgICAgICAgIENvbW1hbmRzV2l0aFNwYWNlcywKICAgICAgICAgICAgICAgICAgIENvbnRleHRNYW5hZ2VyVGVzdHMsCiAgICAgICAgICAgICAgICAgICApCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3N1cHBvcnQucHkgYi9MaWIvdGVzdC90ZXN0X3N1cHBvcnQucHkKaW5kZXggMDNjZTlkMS4uYTAyZDJmNCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9zdXBwb3J0LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3Rfc3VwcG9ydC5weQpAQCAtODUsNyArODUsNyBAQAogICAgIGRlZiB0ZXN0X2JpbmRfcG9ydChzZWxmKToKICAgICAgICAgcyA9IHNvY2tldC5zb2NrZXQoKQogICAgICAgICBzdXBwb3J0LmJpbmRfcG9ydChzKQotICAgICAgICBzLmxpc3RlbigxKQorICAgICAgICBzLmxpc3RlbigpCiAgICAgICAgIHMuY2xvc2UoKQogCiAgICAgIyBUZXN0cyBmb3IgdGVtcF9kaXIoKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9zeXMucHkgYi9MaWIvdGVzdC90ZXN0X3N5cy5weQppbmRleCAyZjY2ZWI3Li5lZDZiNDdkIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3N5cy5weQorKysgYi9MaWIvdGVzdC90ZXN0X3N5cy5weQpAQCAtNjM2LDYgKzYzNiw1MyBAQAogICAgICAgICAgICAgZXhwZWN0ZWQgPSBOb25lCiAgICAgICAgIHNlbGYuY2hlY2tfZnNlbmNvZGluZyhmc19lbmNvZGluZywgZXhwZWN0ZWQpCiAKKyAgICBkZWYgY19sb2NhbGVfZ2V0X2Vycm9yX2hhbmRsZXIoc2VsZiwgaXNvbGF0ZWQ9RmFsc2UsIGVuY29kaW5nPU5vbmUpOgorICAgICAgICAjIEZvcmNlIHRoZSBQT1NJWCBsb2NhbGUKKyAgICAgICAgZW52ID0gb3MuZW52aXJvbi5jb3B5KCkKKyAgICAgICAgZW52WyJMQ19BTEwiXSA9ICJDIgorICAgICAgICBjb2RlID0gJ1xuJy5qb2luKCgKKyAgICAgICAgICAgICdpbXBvcnQgc3lzJywKKyAgICAgICAgICAgICdkZWYgZHVtcChuYW1lKTonLAorICAgICAgICAgICAgJyAgICBzdGQgPSBnZXRhdHRyKHN5cywgbmFtZSknLAorICAgICAgICAgICAgJyAgICBwcmludCgiJXM6ICVzIiAlIChuYW1lLCBzdGQuZXJyb3JzKSknLAorICAgICAgICAgICAgJ2R1bXAoInN0ZGluIiknLAorICAgICAgICAgICAgJ2R1bXAoInN0ZG91dCIpJywKKyAgICAgICAgICAgICdkdW1wKCJzdGRlcnIiKScsCisgICAgICAgICkpCisgICAgICAgIGFyZ3MgPSBbc3lzLmV4ZWN1dGFibGUsICItYyIsIGNvZGVdCisgICAgICAgIGlmIGlzb2xhdGVkOgorICAgICAgICAgICAgYXJncy5hcHBlbmQoIi1JIikKKyAgICAgICAgZWxpZiBlbmNvZGluZzoKKyAgICAgICAgICAgIGVudlsnUFlUSE9OSU9FTkNPRElORyddID0gZW5jb2RpbmcKKyAgICAgICAgcCA9IHN1YnByb2Nlc3MuUG9wZW4oYXJncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRlcnI9c3VicHJvY2Vzcy5TVERPVVQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnY9ZW52LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pdmVyc2FsX25ld2xpbmVzPVRydWUpCisgICAgICAgIHN0ZG91dCwgc3RkZXJyID0gcC5jb21tdW5pY2F0ZSgpCisgICAgICAgIHJldHVybiBzdGRvdXQKKworICAgIGRlZiB0ZXN0X2NfbG9jYWxlX3N1cnJvZ2F0ZWVzY2FwZShzZWxmKToKKyAgICAgICAgb3V0ID0gc2VsZi5jX2xvY2FsZV9nZXRfZXJyb3JfaGFuZGxlcihpc29sYXRlZD1UcnVlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG91dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAnc3RkaW46IHN1cnJvZ2F0ZWVzY2FwZVxuJworICAgICAgICAgICAgICAgICAgICAgICAgICdzdGRvdXQ6IHN1cnJvZ2F0ZWVzY2FwZVxuJworICAgICAgICAgICAgICAgICAgICAgICAgICdzdGRlcnI6IGJhY2tzbGFzaHJlcGxhY2VcbicpCisKKyAgICAgICAgIyByZXBsYWNlIHRoZSBkZWZhdWx0IGVycm9yIGhhbmRsZXIKKyAgICAgICAgb3V0ID0gc2VsZi5jX2xvY2FsZV9nZXRfZXJyb3JfaGFuZGxlcihlbmNvZGluZz0nOnN0cmljdCcpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICdzdGRpbjogc3RyaWN0XG4nCisgICAgICAgICAgICAgICAgICAgICAgICAgJ3N0ZG91dDogc3RyaWN0XG4nCisgICAgICAgICAgICAgICAgICAgICAgICAgJ3N0ZGVycjogYmFja3NsYXNocmVwbGFjZVxuJykKKworICAgICAgICAjIGZvcmNlIHRoZSBlbmNvZGluZworICAgICAgICBvdXQgPSBzZWxmLmNfbG9jYWxlX2dldF9lcnJvcl9oYW5kbGVyKGVuY29kaW5nPSdpc284ODU5LTEnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG91dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAnc3RkaW46IHN1cnJvZ2F0ZWVzY2FwZVxuJworICAgICAgICAgICAgICAgICAgICAgICAgICdzdGRvdXQ6IHN1cnJvZ2F0ZWVzY2FwZVxuJworICAgICAgICAgICAgICAgICAgICAgICAgICdzdGRlcnI6IGJhY2tzbGFzaHJlcGxhY2VcbicpCisKICAgICBkZWYgdGVzdF9pbXBsZW1lbnRhdGlvbihzZWxmKToKICAgICAgICAgIyBUaGlzIHRlc3QgYXBwbGllcyB0byBhbGwgaW1wbGVtZW50YXRpb25zIGVxdWFsbHkuCiAKQEAgLTY5OCw2ICs3NDUsMjcgQEAKICAgICAgICAgYyA9IHN5cy5nZXRhbGxvY2F0ZWRibG9ja3MoKQogICAgICAgICBzZWxmLmFzc2VydEluKGMsIHJhbmdlKGIgLSA1MCwgYiArIDUwKSkKIAorICAgIGRlZiB0ZXN0X2lzX2ZpbmFsaXppbmcoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0SXMoc3lzLmlzX2ZpbmFsaXppbmcoKSwgRmFsc2UpCisgICAgICAgICMgRG9uJ3QgdXNlIHRoZSBhdGV4aXQgbW9kdWxlIGJlY2F1c2UgX1B5X0ZpbmFsaXppbmcgaXMgb25seSBzZXQKKyAgICAgICAgIyBhZnRlciBjYWxsaW5nIGF0ZXhpdCBjYWxsYmFja3MKKyAgICAgICAgY29kZSA9ICIiImlmIDE6CisgICAgICAgICAgICBpbXBvcnQgc3lzCisKKyAgICAgICAgICAgIGNsYXNzIEF0RXhpdDoKKyAgICAgICAgICAgICAgICBpc19maW5hbGl6aW5nID0gc3lzLmlzX2ZpbmFsaXppbmcKKyAgICAgICAgICAgICAgICBwcmludCA9IHByaW50CisKKyAgICAgICAgICAgICAgICBkZWYgX19kZWxfXyhzZWxmKToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5wcmludChzZWxmLmlzX2ZpbmFsaXppbmcoKSwgZmx1c2g9VHJ1ZSkKKworICAgICAgICAgICAgIyBLZWVwIGEgcmVmZXJlbmNlIGluIHRoZSBfX21haW5fXyBtb2R1bGUgbmFtZXNwYWNlLCBzbyB0aGUKKyAgICAgICAgICAgICMgQXRFeGl0IGRlc3RydWN0b3Igd2lsbCBiZSBjYWxsZWQgYXQgUHl0aG9uIGV4aXQKKyAgICAgICAgICAgIHJlZiA9IEF0RXhpdCgpCisgICAgICAgICIiIgorICAgICAgICByYywgc3Rkb3V0LCBzdGRlcnIgPSBhc3NlcnRfcHl0aG9uX29rKCctYycsIGNvZGUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3Rkb3V0LnJzdHJpcCgpLCBiJ1RydWUnKQorCiAKIEB0ZXN0LnN1cHBvcnQuY3B5dGhvbl9vbmx5CiBjbGFzcyBTaXplb2ZUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKQEAgLTc3MCw3ICs4MzgsNyBAQAogICAgICAgICAjIGJ1ZmZlcgogICAgICAgICAjIFhYWAogICAgICAgICAjIGJ1aWx0aW5fZnVuY3Rpb25fb3JfbWV0aG9kCi0gICAgICAgIGNoZWNrKGxlbiwgc2l6ZSgnM1AnKSkgIyBYWFggY2hlY2sgbGF5b3V0CisgICAgICAgIGNoZWNrKGxlbiwgc2l6ZSgnNFAnKSkgIyBYWFggY2hlY2sgbGF5b3V0CiAgICAgICAgICMgYnl0ZWFycmF5CiAgICAgICAgIHNhbXBsZXMgPSBbYicnLCBiJ3UnKjEwMDAwMF0KICAgICAgICAgZm9yIHNhbXBsZSBpbiBzYW1wbGVzOgpAQCAtODcxLDcgKzkzOSw3IEBACiAgICAgICAgICAgICBjaGVjayhiYXIsIHNpemUoJ1BQJykpCiAgICAgICAgICMgZ2VuZXJhdG9yCiAgICAgICAgIGRlZiBnZXRfZ2VuKCk6IHlpZWxkIDEKLSAgICAgICAgY2hlY2soZ2V0X2dlbigpLCBzaXplKCdQYjJQJykpCisgICAgICAgIGNoZWNrKGdldF9nZW4oKSwgc2l6ZSgnUGIyUFBQJykpCiAgICAgICAgICMgaXRlcmF0b3IKICAgICAgICAgY2hlY2soaXRlcignYWJjJyksIHNpemUoJ2xQJykpCiAgICAgICAgICMgY2FsbGFibGUtaXRlcmF0b3IKQEAgLTg5OCw3ICs5NjYsNyBAQAogICAgICAgICBjaGVjayhpbnQoUHlMb25nX0JBU0UqKjItMSksIHZzaXplKCcnKSArIDIqc2VsZi5sb25nZGlnaXQpCiAgICAgICAgIGNoZWNrKGludChQeUxvbmdfQkFTRSoqMiksIHZzaXplKCcnKSArIDMqc2VsZi5sb25nZGlnaXQpCiAgICAgICAgICMgbWVtb3J5dmlldwotICAgICAgICBjaGVjayhtZW1vcnl2aWV3KGInJyksIHNpemUoJ1BuaW4gMlAybjJpNVAgM2NQbicpKQorICAgICAgICBjaGVjayhtZW1vcnl2aWV3KGInJyksIHNpemUoJ1BuaW4gMlAybjJpNVAgUG4nKSkKICAgICAgICAgIyBtb2R1bGUKICAgICAgICAgY2hlY2sodW5pdHRlc3QsIHNpemUoJ1BuUFBQJykpCiAgICAgICAgICMgTm9uZQpAQCAtOTI3LDcgKzk5NSw3IEBACiAgICAgICAgICMgZnJvemVuc2V0CiAgICAgICAgIFB5U2V0X01JTlNJWkUgPSA4CiAgICAgICAgIHNhbXBsZXMgPSBbW10sIHJhbmdlKDEwKSwgcmFuZ2UoNTApXQotICAgICAgICBzID0gc2l6ZSgnM24yUCcgKyBQeVNldF9NSU5TSVpFKiduUCcgKyAnblAnKQorICAgICAgICBzID0gc2l6ZSgnM25QJyArIFB5U2V0X01JTlNJWkUqJ25QJyArICcyblAnKQogICAgICAgICBmb3Igc2FtcGxlIGluIHNhbXBsZXM6CiAgICAgICAgICAgICBtaW51c2VkID0gbGVuKHNhbXBsZSkKICAgICAgICAgICAgIGlmIG1pbnVzZWQgPT0gMDogdG1wID0gMQpAQCAtOTU4LDcgKzEwMjYsNyBAQAogICAgICAgICBjaGVjayhpbnQsIHMpCiAgICAgICAgICMgKFB5VHlwZU9iamVjdCArIFB5TnVtYmVyTWV0aG9kcyArIFB5TWFwcGluZ01ldGhvZHMgKwogICAgICAgICAjICBQeVNlcXVlbmNlTWV0aG9kcyArIFB5QnVmZmVyUHJvY3MgKyA0UCkKLSAgICAgICAgcyA9IHZzaXplKCdQMm4xNVBsNFBuOVBuMTFQSVAnKSArIHN0cnVjdC5jYWxjc2l6ZSgnMzRQIDNQIDEwUCAyUCA0UCcpCisgICAgICAgIHMgPSB2c2l6ZSgnUDJuMTdQbDRQbjlQbjExUElQJykgKyBzdHJ1Y3QuY2FsY3NpemUoJzM0UCAzUCAxMFAgMlAgNFAnKQogICAgICAgICAjIFNlcGFyYXRlIGJsb2NrIGZvciBQeURpY3RLZXlzT2JqZWN0IHdpdGggNCBlbnRyaWVzCiAgICAgICAgIHMgKz0gc3RydWN0LmNhbGNzaXplKCIyblBuIikgKyA0KnN0cnVjdC5jYWxjc2l6ZSgibjJQIikKICAgICAgICAgIyBjbGFzcwpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9zeXNfc2V0cHJvZmlsZS5weSBiL0xpYi90ZXN0L3Rlc3Rfc3lzX3NldHByb2ZpbGUucHkKaW5kZXggOTgxNmUzZS4uZTU5MzIwYiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9zeXNfc2V0cHJvZmlsZS5weQorKysgYi9MaWIvdGVzdC90ZXN0X3N5c19zZXRwcm9maWxlLnB5CkBAIC0yNjAsNyArMjYwLDYgQEAKICAgICAgICAgZGVmIGYoKToKICAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKDIpOgogICAgICAgICAgICAgICAgIHlpZWxkIGkKLSAgICAgICAgICAgIHJhaXNlIFN0b3BJdGVyYXRpb24KICAgICAgICAgZGVmIGcocCk6CiAgICAgICAgICAgICBmb3IgaSBpbiBmKCk6CiAgICAgICAgICAgICAgICAgcGFzcwpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF90YXJmaWxlLnB5IGIvTGliL3Rlc3QvdGVzdF90YXJmaWxlLnB5CmluZGV4IGU1MjdlNDAuLjgxMGI3NmIgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfdGFyZmlsZS5weQorKysgYi9MaWIvdGVzdC90ZXN0X3RhcmZpbGUucHkKQEAgLTI4NSw2ICsyODUsMTggQEAKICAgICAgICAgc2VsZi5hc3NlcnRJbihiJ3BheCcgKyAoYicvMTIzJyAqIDEyNSkgKyBiJy9sb25nbGluayBsaW5rIHRvIHBheCcgKwogICAgICAgICAgICAgICAgICAgICAgIChiJy8xMjMnICogMTI1KSArIGInL2xvbmduYW1lJywgb3V0KQogCisgICAgZGVmIHRlc3RfbGlzdF9tZW1iZXJzKHNlbGYpOgorICAgICAgICB0aW8gPSBpby5UZXh0SU9XcmFwcGVyKGlvLkJ5dGVzSU8oKSwgJ2FzY2lpJywgbmV3bGluZT0nXG4nKQorICAgICAgICBkZWYgbWVtYmVycyh0YXIpOgorICAgICAgICAgICAgZm9yIHRhcmluZm8gaW4gdGFyLmdldG1lbWJlcnMoKToKKyAgICAgICAgICAgICAgICBpZiAncmVnJyBpbiB0YXJpbmZvLm5hbWU6CisgICAgICAgICAgICAgICAgICAgIHlpZWxkIHRhcmluZm8KKyAgICAgICAgd2l0aCBzdXBwb3J0LnN3YXBfYXR0cihzeXMsICdzdGRvdXQnLCB0aW8pOgorICAgICAgICAgICAgc2VsZi50YXIubGlzdCh2ZXJib3NlPUZhbHNlLCBtZW1iZXJzPW1lbWJlcnMoc2VsZi50YXIpKQorICAgICAgICBvdXQgPSB0aW8uZGV0YWNoKCkuZ2V0dmFsdWUoKQorICAgICAgICBzZWxmLmFzc2VydEluKGIndXN0YXIvcmVndHlwZScsIG91dCkKKyAgICAgICAgc2VsZi5hc3NlcnROb3RJbihiJ3VzdGFyL2NvbnR0eXBlJywgb3V0KQorCiAKIGNsYXNzIEd6aXBMaXN0VGVzdChHemlwVGVzdCwgTGlzdFRlc3QpOgogICAgIHBhc3MKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfdGNsLnB5IGIvTGliL3Rlc3QvdGVzdF90Y2wucHkKaW5kZXggZGE4ZjYyOS4uZDAyNTFhYSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF90Y2wucHkKKysrIGIvTGliL3Rlc3QvdGVzdF90Y2wucHkKQEAgLTQxNSw2ICs0MTUsOCBAQAogICAgICAgICAgICAgIyBYWFggTmFOIHJlcHJlc2VudGF0aW9uIGNhbiBiZSBub3QgcGFyc2FibGUgYnkgZmxvYXQoKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBhc3NWYWx1ZSgoMSwgJzInLCAoMy40LCkpKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAoMSwgJzInLCAoMy40LCkpIGlmIHNlbGYud2FudG9iamVjdHMgZWxzZSAnMSAyIDMuNCcpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocGFzc1ZhbHVlKFsnYScsIFsnYicsICdjJ11dKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAoJ2EnLCAoJ2InLCAnYycpKSBpZiBzZWxmLndhbnRvYmplY3RzIGVsc2UgJ2Ege2IgY30nKQogCiAgICAgZGVmIHRlc3RfdXNlcl9jb21tYW5kKHNlbGYpOgogICAgICAgICByZXN1bHQgPSBOb25lCkBAIC00NjYsNiArNDY4LDcgQEAKICAgICAgICAgIyBYWFggTmFOIHJlcHJlc2VudGF0aW9uIGNhbiBiZSBub3QgcGFyc2FibGUgYnkgZmxvYXQoKQogICAgICAgICBjaGVjaygoKSwgJycpCiAgICAgICAgIGNoZWNrKCgxLCAoMiwpLCAoMywgNCksICc1IDYnLCAoKSksICcxIDIgezMgNH0gezUgNn0ge30nKQorICAgICAgICBjaGVjayhbMSwgWzIsXSwgWzMsIDRdLCAnNSA2JywgW11dLCAnMSAyIHszIDR9IHs1IDZ9IHt9JykKIAogICAgIGRlZiB0ZXN0X3NwbGl0bGlzdChzZWxmKToKICAgICAgICAgc3BsaXRsaXN0ID0gc2VsZi5pbnRlcnAudGsuc3BsaXRsaXN0CkBAIC00OTEsMTIgKzQ5NCwxNSBAQAogICAgICAgICAgICAgKCdhIDMuNCcsICgnYScsICczLjQnKSksCiAgICAgICAgICAgICAoKCdhJywgMy40KSwgKCdhJywgMy40KSksCiAgICAgICAgICAgICAoKCksICgpKSwKKyAgICAgICAgICAgIChbXSwgKCkpLAorICAgICAgICAgICAgKFsnYScsIFsnYicsICdjJ11dLCAoJ2EnLCBbJ2InLCAnYyddKSksCiAgICAgICAgICAgICAoY2FsbCgnbGlzdCcsIDEsICcyJywgKDMuNCwpKSwKICAgICAgICAgICAgICAgICAoMSwgJzInLCAoMy40LCkpIGlmIHNlbGYud2FudG9iamVjdHMgZWxzZQogICAgICAgICAgICAgICAgICgnMScsICcyJywgJzMuNCcpKSwKICAgICAgICAgXQorICAgICAgICB0a19wYXRjaGxldmVsID0gZ2V0X3RrX3BhdGNobGV2ZWwoKQogICAgICAgICBpZiB0Y2xfdmVyc2lvbiA+PSAoOCwgNSk6Ci0gICAgICAgICAgICBpZiBub3Qgc2VsZi53YW50b2JqZWN0cyBvciBnZXRfdGtfcGF0Y2hsZXZlbCgpIDwgKDgsIDUsIDUpOgorICAgICAgICAgICAgaWYgbm90IHNlbGYud2FudG9iamVjdHMgb3IgdGtfcGF0Y2hsZXZlbCA8ICg4LCA1LCA1KToKICAgICAgICAgICAgICAgICAjIEJlZm9yZSA4LjUuNSBkaWN0cyB3ZXJlIGNvbnZlcnRlZCB0byBsaXN0cyB0aHJvdWdoIHN0cmluZwogICAgICAgICAgICAgICAgIGV4cGVjdGVkID0gKCcxMicsICdcdTIwYWMnLCAnXHhlMlx4ODJceGFjJywgJzMuNCcpCiAgICAgICAgICAgICBlbHNlOgpAQCAtNTA1LDggKzUxMSwxMSBAQAogICAgICAgICAgICAgICAgIChjYWxsKCdkaWN0JywgJ2NyZWF0ZScsIDEyLCAnXHUyMGFjJywgYidceGUyXHg4Mlx4YWMnLCAoMy40LCkpLAogICAgICAgICAgICAgICAgICAgICBleHBlY3RlZCksCiAgICAgICAgICAgICBdCisgICAgICAgIGRiZ19pbmZvID0gKCd3YW50IG9iamVjdHM/ICVzLCBUY2wgdmVyc2lvbjogJXMsIFRrIHBhdGNobGV2ZWw6ICVzJworICAgICAgICAgICAgICAgICAgICAlIChzZWxmLndhbnRvYmplY3RzLCB0Y2xfdmVyc2lvbiwgdGtfcGF0Y2hsZXZlbCkpCiAgICAgICAgIGZvciBhcmcsIHJlcyBpbiB0ZXN0Y2FzZXM6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNwbGl0bGlzdChhcmcpLCByZXMsIG1zZz1hcmcpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNwbGl0bGlzdChhcmcpLCByZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhcmc9JWEsICVzJyAlIChhcmcsIGRiZ19pbmZvKSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVGNsRXJyb3IsIHNwbGl0bGlzdCwgJ3snKQogCiAgICAgZGVmIHRlc3Rfc3BsaXQoc2VsZik6CkBAIC01MzgsNiArNTQ3LDkgQEAKICAgICAgICAgICAgICgoJ2EnLCAzLjQpLCAoJ2EnLCAzLjQpKSwKICAgICAgICAgICAgICgoJ2EnLCAoMiwgMy40KSksICgnYScsICgyLCAzLjQpKSksCiAgICAgICAgICAgICAoKCksICgpKSwKKyAgICAgICAgICAgIChbXSwgKCkpLAorICAgICAgICAgICAgKFsnYScsICdiIGMnXSwgKCdhJywgKCdiJywgJ2MnKSkpLAorICAgICAgICAgICAgKFsnYScsIFsnYicsICdjJ11dLCAoJ2EnLCAoJ2InLCAnYycpKSksCiAgICAgICAgICAgICAoY2FsbCgnbGlzdCcsIDEsICcyJywgKDMuNCwpKSwKICAgICAgICAgICAgICAgICAoMSwgJzInLCAoMy40LCkpIGlmIHNlbGYud2FudG9iamVjdHMgZWxzZQogICAgICAgICAgICAgICAgICgnMScsICcyJywgJzMuNCcpKSwKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfdGVsbmV0bGliLnB5IGIvTGliL3Rlc3QvdGVzdF90ZWxuZXRsaWIucHkKaW5kZXggZWUxYzM1Ny4uZTFlZjk5YSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF90ZWxuZXRsaWIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF90ZWxuZXRsaWIucHkKQEAgLTExLDcgKzExLDcgQEAKIEhPU1QgPSBzdXBwb3J0LkhPU1QKIAogZGVmIHNlcnZlcihldnQsIHNlcnYpOgotICAgIHNlcnYubGlzdGVuKDUpCisgICAgc2Vydi5saXN0ZW4oKQogICAgIGV2dC5zZXQoKQogICAgIHRyeToKICAgICAgICAgY29ubiwgYWRkciA9IHNlcnYuYWNjZXB0KCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfdGhyZWFkZWRfaW1wb3J0LnB5IGIvTGliL3Rlc3QvdGVzdF90aHJlYWRlZF9pbXBvcnQucHkKaW5kZXggMTkyZmEwOC4uNWJmNjcwYyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF90aHJlYWRlZF9pbXBvcnQucHkKKysrIGIvTGliL3Rlc3QvdGVzdF90aHJlYWRlZF9pbXBvcnQucHkKQEAgLTExNSwxMiArMTE1LDE4IEBACiAgICAgICAgICAgICBlcnJvcnMgPSBbXQogICAgICAgICAgICAgZG9uZV90YXNrcyA9IFtdCiAgICAgICAgICAgICBkb25lLmNsZWFyKCkKKyAgICAgICAgICAgIHQwID0gdGltZS5tb25vdG9uaWMoKQogICAgICAgICAgICAgZm9yIGkgaW4gcmFuZ2UoTik6CiAgICAgICAgICAgICAgICAgdCA9IHRocmVhZGluZy5UaHJlYWQodGFyZ2V0PXRhc2ssCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJncz0oTiwgZG9uZSwgZG9uZV90YXNrcywgZXJyb3JzLCkpCiAgICAgICAgICAgICAgICAgdC5zdGFydCgpCi0gICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoZG9uZS53YWl0KDYwKSkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoZXJyb3JzKQorICAgICAgICAgICAgY29tcGxldGVkID0gZG9uZS53YWl0KDEwICogNjApCisgICAgICAgICAgICBkdCA9IHRpbWUubW9ub3RvbmljKCkgLSB0MAorICAgICAgICAgICAgaWYgdmVyYm9zZToKKyAgICAgICAgICAgICAgICBwcmludCgiJS4xZiBtcyIgJSAoZHQqMWUzKSwgZmx1c2g9VHJ1ZSwgZW5kPSIgIikKKyAgICAgICAgICAgIGRiZ19pbmZvID0gJ2RvbmU6ICVzLyVzJyAlIChsZW4oZG9uZV90YXNrcyksIE4pCisgICAgICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGVycm9ycywgZGJnX2luZm8pCisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoY29tcGxldGVkLCBkYmdfaW5mbykKICAgICAgICAgICAgIGlmIHZlcmJvc2U6CiAgICAgICAgICAgICAgICAgcHJpbnQoIk9LLiIpCiAKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfdGltZWl0LnB5IGIvTGliL3Rlc3QvdGVzdF90aW1laXQucHkKaW5kZXggMDllNzZlMC4uMjY3ZDJjOCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF90aW1laXQucHkKKysrIGIvTGliL3Rlc3QvdGVzdF90aW1laXQucHkKQEAgLTk4LDkgKzk4LDEwIEBACiAgICAgZGVmIGZha2VfY2FsbGFibGVfc3RtdChzZWxmKToKICAgICAgICAgc2VsZi5mYWtlX3RpbWVyLmluYygpCiAKLSAgICBkZWYgdGltZWl0KHNlbGYsIHN0bXQsIHNldHVwLCBudW1iZXI9Tm9uZSk6CisgICAgZGVmIHRpbWVpdChzZWxmLCBzdG10LCBzZXR1cCwgbnVtYmVyPU5vbmUsIGdsb2JhbHM9Tm9uZSk6CiAgICAgICAgIHNlbGYuZmFrZV90aW1lciA9IEZha2VUaW1lcigpCi0gICAgICAgIHQgPSB0aW1laXQuVGltZXIoc3RtdD1zdG10LCBzZXR1cD1zZXR1cCwgdGltZXI9c2VsZi5mYWtlX3RpbWVyKQorICAgICAgICB0ID0gdGltZWl0LlRpbWVyKHN0bXQ9c3RtdCwgc2V0dXA9c2V0dXAsIHRpbWVyPXNlbGYuZmFrZV90aW1lciwKKyAgICAgICAgICAgICAgICBnbG9iYWxzPWdsb2JhbHMpCiAgICAgICAgIGt3YXJncyA9IHt9CiAgICAgICAgIGlmIG51bWJlciBpcyBOb25lOgogICAgICAgICAgICAgbnVtYmVyID0gREVGQVVMVF9OVU1CRVIKQEAgLTEzOSw2ICsxNDAsMTcgQEAKICAgICAgICAgICAgICAgICB0aW1lcj1GYWtlVGltZXIoKSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkZWx0YV90aW1lLCAwKQogCisgICAgZGVmIHRlc3RfdGltZWl0X2dsb2JhbHNfYXJncyhzZWxmKToKKyAgICAgICAgZ2xvYmFsIF9nbG9iYWxfdGltZXIKKyAgICAgICAgX2dsb2JhbF90aW1lciA9IEZha2VUaW1lcigpCisgICAgICAgIHQgPSB0aW1laXQuVGltZXIoc3RtdD0nX2dsb2JhbF90aW1lci5pbmMoKScsIHRpbWVyPV9nbG9iYWxfdGltZXIpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE5hbWVFcnJvciwgdC50aW1laXQsIG51bWJlcj0zKQorICAgICAgICB0aW1laXQudGltZWl0KHN0bXQ9J19nbG9iYWxfdGltZXIuaW5jKCknLCB0aW1lcj1fZ2xvYmFsX3RpbWVyLAorICAgICAgICAgICAgICAgICAgICAgIGdsb2JhbHM9Z2xvYmFscygpLCBudW1iZXI9MykKKyAgICAgICAgbG9jYWxfdGltZXIgPSBGYWtlVGltZXIoKQorICAgICAgICB0aW1laXQudGltZWl0KHN0bXQ9J2xvY2FsX3RpbWVyLmluYygpJywgdGltZXI9bG9jYWxfdGltZXIsCisgICAgICAgICAgICAgICAgICAgICAgZ2xvYmFscz1sb2NhbHMoKSwgbnVtYmVyPTMpCisKICAgICBkZWYgcmVwZWF0KHNlbGYsIHN0bXQsIHNldHVwLCByZXBlYXQ9Tm9uZSwgbnVtYmVyPU5vbmUpOgogICAgICAgICBzZWxmLmZha2VfdGltZXIgPSBGYWtlVGltZXIoKQogICAgICAgICB0ID0gdGltZWl0LlRpbWVyKHN0bXQ9c3RtdCwgc2V0dXA9c2V0dXAsIHRpbWVyPXNlbGYuZmFrZV90aW1lcikKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfdGltZW91dC5weSBiL0xpYi90ZXN0L3Rlc3RfdGltZW91dC5weQppbmRleCA3MDNjNDNhLi4zYzc1ZGNjIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3RpbWVvdXQucHkKKysrIGIvTGliL3Rlc3QvdGVzdF90aW1lb3V0LnB5CkBAIC0yNDMsMTQgKzI0MywxNCBAQAogICAgIGRlZiB0ZXN0QWNjZXB0VGltZW91dChzZWxmKToKICAgICAgICAgIyBUZXN0IGFjY2VwdCgpIHRpbWVvdXQKICAgICAgICAgc3VwcG9ydC5iaW5kX3BvcnQoc2VsZi5zb2NrLCBzZWxmLmxvY2FsaG9zdCkKLSAgICAgICAgc2VsZi5zb2NrLmxpc3Rlbig1KQorICAgICAgICBzZWxmLnNvY2subGlzdGVuKCkKICAgICAgICAgc2VsZi5fc29ja19vcGVyYXRpb24oMSwgMS41LCAnYWNjZXB0JykKIAogICAgIGRlZiB0ZXN0U2VuZChzZWxmKToKICAgICAgICAgIyBUZXN0IHNlbmQoKSB0aW1lb3V0CiAgICAgICAgIHdpdGggc29ja2V0LnNvY2tldChzb2NrZXQuQUZfSU5FVCwgc29ja2V0LlNPQ0tfU1RSRUFNKSBhcyBzZXJ2OgogICAgICAgICAgICAgc3VwcG9ydC5iaW5kX3BvcnQoc2Vydiwgc2VsZi5sb2NhbGhvc3QpCi0gICAgICAgICAgICBzZXJ2Lmxpc3Rlbig1KQorICAgICAgICAgICAgc2Vydi5saXN0ZW4oKQogICAgICAgICAgICAgc2VsZi5zb2NrLmNvbm5lY3Qoc2Vydi5nZXRzb2NrbmFtZSgpKQogICAgICAgICAgICAgIyBTZW5kIGEgbG90IG9mIGRhdGEgaW4gb3JkZXIgdG8gYnlwYXNzIGJ1ZmZlcmluZyBpbiB0aGUgVENQIHN0YWNrLgogICAgICAgICAgICAgc2VsZi5fc29ja19vcGVyYXRpb24oMTAwLCAxLjUsICdzZW5kJywgYiJYIiAqIDIwMDAwMCkKQEAgLTI1OSw3ICsyNTksNyBAQAogICAgICAgICAjIFRlc3Qgc2VuZHRvKCkgdGltZW91dAogICAgICAgICB3aXRoIHNvY2tldC5zb2NrZXQoc29ja2V0LkFGX0lORVQsIHNvY2tldC5TT0NLX1NUUkVBTSkgYXMgc2VydjoKICAgICAgICAgICAgIHN1cHBvcnQuYmluZF9wb3J0KHNlcnYsIHNlbGYubG9jYWxob3N0KQotICAgICAgICAgICAgc2Vydi5saXN0ZW4oNSkKKyAgICAgICAgICAgIHNlcnYubGlzdGVuKCkKICAgICAgICAgICAgIHNlbGYuc29jay5jb25uZWN0KHNlcnYuZ2V0c29ja25hbWUoKSkKICAgICAgICAgICAgICMgVGhlIGFkZHJlc3MgYXJndW1lbnQgaXMgaWdub3JlZCBzaW5jZSB3ZSBhbHJlYWR5IGNvbm5lY3RlZC4KICAgICAgICAgICAgIHNlbGYuX3NvY2tfb3BlcmF0aW9uKDEwMCwgMS41LCAnc2VuZHRvJywgYiJYIiAqIDIwMDAwMCwKQEAgLTI2OSw3ICsyNjksNyBAQAogICAgICAgICAjIFRlc3Qgc2VuZGFsbCgpIHRpbWVvdXQKICAgICAgICAgd2l0aCBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVULCBzb2NrZXQuU09DS19TVFJFQU0pIGFzIHNlcnY6CiAgICAgICAgICAgICBzdXBwb3J0LmJpbmRfcG9ydChzZXJ2LCBzZWxmLmxvY2FsaG9zdCkKLSAgICAgICAgICAgIHNlcnYubGlzdGVuKDUpCisgICAgICAgICAgICBzZXJ2Lmxpc3RlbigpCiAgICAgICAgICAgICBzZWxmLnNvY2suY29ubmVjdChzZXJ2LmdldHNvY2tuYW1lKCkpCiAgICAgICAgICAgICAjIFNlbmQgYSBsb3Qgb2YgZGF0YSBpbiBvcmRlciB0byBieXBhc3MgYnVmZmVyaW5nIGluIHRoZSBUQ1Agc3RhY2suCiAgICAgICAgICAgICBzZWxmLl9zb2NrX29wZXJhdGlvbigxMDAsIDEuNSwgJ3NlbmRhbGwnLCBiIlgiICogMjAwMDAwKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF90b2tlbml6ZS5weSBiL0xpYi90ZXN0L3Rlc3RfdG9rZW5pemUucHkKaW5kZXggMzg2MTFhNy4uOGY3NGEwNiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF90b2tlbml6ZS5weQorKysgYi9MaWIvdGVzdC90ZXN0X3Rva2VuaXplLnB5CkBAIC00NjQsNyArNDY0LDcgQEAKIAogTXVsdGlwbGljYXRpdmUKIAotICAgID4+PiBkdW1wX3Rva2VucygieCA9IDEvLzEqMS81KjEyJTB4MTIiKQorICAgID4+PiBkdW1wX3Rva2VucygieCA9IDEvLzEqMS81KjEyJTB4MTJANDIiKQogICAgIEVOQ09ESU5HICAgJ3V0Zi04JyAgICAgICAoMCwgMCkgKDAsIDApCiAgICAgTkFNRSAgICAgICAneCcgICAgICAgICAgICgxLCAwKSAoMSwgMSkKICAgICBPUCAgICAgICAgICc9JyAgICAgICAgICAgKDEsIDIpICgxLCAzKQpAQCAtNDc5LDYgKzQ3OSw4IEBACiAgICAgTlVNQkVSICAgICAnMTInICAgICAgICAgICgxLCAxMykgKDEsIDE1KQogICAgIE9QICAgICAgICAgJyUnICAgICAgICAgICAoMSwgMTUpICgxLCAxNikKICAgICBOVU1CRVIgICAgICcweDEyJyAgICAgICAgKDEsIDE2KSAoMSwgMjApCisgICAgT1AgICAgICAgICAnQCcgICAgICAgICAgICgxLCAyMCkgKDEsIDIxKQorICAgIE5VTUJFUiAgICAgJzQyJyAgICAgICAgICAoMSwgMjEpICgxLCAyMykKIAogVW5hcnkKIApAQCAtMTE1NCw2ICsxMTU2LDcgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFeGFjdFR5cGVFcXVhbCgnLy8nLCB0b2tlbi5ET1VCTEVTTEFTSCkKICAgICAgICAgc2VsZi5hc3NlcnRFeGFjdFR5cGVFcXVhbCgnLy89JywgdG9rZW4uRE9VQkxFU0xBU0hFUVVBTCkKICAgICAgICAgc2VsZi5hc3NlcnRFeGFjdFR5cGVFcXVhbCgnQCcsIHRva2VuLkFUKQorICAgICAgICBzZWxmLmFzc2VydEV4YWN0VHlwZUVxdWFsKCdAPScsIHRva2VuLkFURVFVQUwpCiAKICAgICAgICAgc2VsZi5hc3NlcnRFeGFjdFR5cGVFcXVhbCgnYSoqMitiKioyPT1jKioyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOQU1FLCB0b2tlbi5ET1VCTEVTVEFSLCBOVU1CRVIsCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3RyYWNlLnB5IGIvTGliL3Rlc3QvdGVzdF90cmFjZS5weQppbmRleCAxY2VjNzEwLi4wNWJmMjc0IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3RyYWNlLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfdHJhY2UucHkKQEAgLTEwLDcgKzEwLDYgQEAKIAogZnJvbSB0ZXN0LnRyYWNlZG1vZHVsZXMgaW1wb3J0IHRlc3Rtb2QKIAotCiAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBVdGlsaXRpZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0jCiAKIGRlZiBmaXhfZXh0X3B5KGZpbGVuYW1lKToKQEAgLTIyNCw2ICsyMjMsMTEgQEAKICAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHN5cy5zZXR0cmFjZSwgc3lzLmdldHRyYWNlKCkpCiAgICAgICAgIHNlbGYudHJhY2VyID0gVHJhY2UoY291bnQ9MCwgdHJhY2U9MCwgY291bnRmdW5jcz0xKQogICAgICAgICBzZWxmLmZpbGVtb2QgPSBteV9maWxlX2FuZF9tb2RuYW1lKCkKKyAgICAgICAgc2VsZi5fc2F2ZWRfdHJhY2VmdW5jID0gc3lzLmdldHRyYWNlKCkKKworICAgIGRlZiB0ZWFyRG93bihzZWxmKToKKyAgICAgICAgaWYgc2VsZi5fc2F2ZWRfdHJhY2VmdW5jIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgc3lzLnNldHRyYWNlKHNlbGYuX3NhdmVkX3RyYWNlZnVuYykKIAogICAgIGRlZiB0ZXN0X3NpbXBsZV9jYWxsZXIoc2VsZik6CiAgICAgICAgIHNlbGYudHJhY2VyLnJ1bmZ1bmModHJhY2VkX2Z1bmNfc2ltcGxlX2NhbGxlciwgMSkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfdHJhY2ViYWNrLnB5IGIvTGliL3Rlc3QvdGVzdF90cmFjZWJhY2sucHkKaW5kZXggYzI5NTU2My4uNmJkNmZhNiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF90cmFjZWJhY2sucHkKKysrIGIvTGliL3Rlc3QvdGVzdF90cmFjZWJhY2sucHkKQEAgLTYsNiArNiw4IEBACiBpbXBvcnQgcmUKIGZyb20gdGVzdC5zdXBwb3J0IGltcG9ydCBydW5fdW5pdHRlc3QsIEVycm9yLCBjYXB0dXJlZF9vdXRwdXQKIGZyb20gdGVzdC5zdXBwb3J0IGltcG9ydCBURVNURk4sIHVubGluaywgY3B5dGhvbl9vbmx5Citmcm9tIHRlc3Quc2NyaXB0X2hlbHBlciBpbXBvcnQgYXNzZXJ0X3B5dGhvbl9vaworaW1wb3J0IHRleHR3cmFwCiAKIGltcG9ydCB0cmFjZWJhY2sKIApAQCAtOTIsOSArOTQsOSBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihlcnIpLCAxKQogICAgICAgICBzdHJfdmFsdWUgPSAnPHVucHJpbnRhYmxlICVzIG9iamVjdD4nICUgWC5fX25hbWVfXwogICAgICAgICBpZiBYLl9fbW9kdWxlX18gaW4gKCdfX21haW5fXycsICdidWlsdGlucycpOgotICAgICAgICAgICAgc3RyX25hbWUgPSBYLl9fbmFtZV9fCisgICAgICAgICAgICBzdHJfbmFtZSA9IFguX19xdWFsbmFtZV9fCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzdHJfbmFtZSA9ICcuJy5qb2luKFtYLl9fbW9kdWxlX18sIFguX19uYW1lX19dKQorICAgICAgICAgICAgc3RyX25hbWUgPSAnLicuam9pbihbWC5fX21vZHVsZV9fLCBYLl9fcXVhbG5hbWVfX10pCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXJyWzBdLCAiJXM6ICVzXG4iICUgKHN0cl9uYW1lLCBzdHJfdmFsdWUpKQogCiAgICAgZGVmIHRlc3Rfd2l0aG91dF9leGNlcHRpb24oc2VsZik6CkBAIC0xNjksNiArMTcxLDM3IEBACiAgICAgICAgICMgSXNzdWUgIzE4OTYwOiBjb2Rpbmcgc3BlYyBzaG91bGQgaGFzIG5vIGVmZmVjdAogICAgICAgICBkb190ZXN0KCIwXG4jIGNvZGluZzogR0JLXG4iLCAiaFx4ZTkgaG8iLCAndXRmLTgnLCA1KQogCisgICAgZGVmIHRlc3RfcHJpbnRfdHJhY2ViYWNrX2F0X2V4aXQoc2VsZik6CisgICAgICAgICMgSXNzdWUgIzIyNTk5OiBFbnN1cmUgdGhhdCBpdCBpcyBwb3NzaWJsZSB0byB1c2UgdGhlIHRyYWNlYmFjayBtb2R1bGUKKyAgICAgICAgIyB0byBkaXNwbGF5IGFuIGV4Y2VwdGlvbiBhdCBQeXRob24gZXhpdAorICAgICAgICBjb2RlID0gdGV4dHdyYXAuZGVkZW50KCIiIgorICAgICAgICAgICAgaW1wb3J0IHN5cworICAgICAgICAgICAgaW1wb3J0IHRyYWNlYmFjaworCisgICAgICAgICAgICBjbGFzcyBQcmludEV4Y2VwdGlvbkF0RXhpdChvYmplY3QpOgorICAgICAgICAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmKToKKyAgICAgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICAgICAgeCA9IDEgLyAwCisgICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246CisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmV4Y19pbmZvID0gc3lzLmV4Y19pbmZvKCkKKyAgICAgICAgICAgICAgICAgICAgICAgICMgc2VsZi5leGNfaW5mb1sxXSAodHJhY2ViYWNrKSBjb250YWlucyBmcmFtZXM6CisgICAgICAgICAgICAgICAgICAgICAgICAjIGV4cGxpY2l0bHkgY2xlYXIgdGhlIHJlZmVyZW5jZSB0byBzZWxmIGluIHRoZSBjdXJyZW50CisgICAgICAgICAgICAgICAgICAgICAgICAjIGZyYW1lIHRvIGJyZWFrIGEgcmVmZXJlbmNlIGN5Y2xlCisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmID0gTm9uZQorCisgICAgICAgICAgICAgICAgZGVmIF9fZGVsX18oc2VsZik6CisgICAgICAgICAgICAgICAgICAgIHRyYWNlYmFjay5wcmludF9leGNlcHRpb24oKnNlbGYuZXhjX2luZm8pCisKKyAgICAgICAgICAgICMgS2VlcCBhIHJlZmVyZW5jZSBpbiB0aGUgbW9kdWxlIG5hbWVzcGFjZSB0byBjYWxsIHRoZSBkZXN0cnVjdG9yCisgICAgICAgICAgICAjIHdoZW4gdGhlIG1vZHVsZSBpcyB1bmxvYWRlZAorICAgICAgICAgICAgb2JqID0gUHJpbnRFeGNlcHRpb25BdEV4aXQoKQorICAgICAgICAiIiIpCisgICAgICAgIHJjLCBzdGRvdXQsIHN0ZGVyciA9IGFzc2VydF9weXRob25fb2soJy1jJywgY29kZSkKKyAgICAgICAgZXhwZWN0ZWQgPSBbYidUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6JywKKyAgICAgICAgICAgICAgICAgICAgYicgIEZpbGUgIjxzdHJpbmc+IiwgbGluZSA4LCBpbiBfX2luaXRfXycsCisgICAgICAgICAgICAgICAgICAgIGInWmVyb0RpdmlzaW9uRXJyb3I6IGRpdmlzaW9uIGJ5IHplcm8nXQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0ZGVyci5zcGxpdGxpbmVzKCksIGV4cGVjdGVkKQorCiAKIGNsYXNzIFRyYWNlYmFja0Zvcm1hdFRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKIApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF90cmFjZW1hbGxvYy5weSBiL0xpYi90ZXN0L3Rlc3RfdHJhY2VtYWxsb2MucHkKaW5kZXggNDhjY2FiMi4uMTlkM2ZkOCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF90cmFjZW1hbGxvYy5weQorKysgYi9MaWIvdGVzdC90ZXN0X3RyYWNlbWFsbG9jLnB5CkBAIC03NTUsNyArNzU1LDcgQEAKICAgICAgICAgc3Rkb3V0ID0gc3Rkb3V0LnJzdHJpcCgpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3Rkb3V0LCBiJ0ZhbHNlJykKIAotICAgIEB1bml0dGVzdC5za2lwSWYoc2NyaXB0X2hlbHBlci5faW50ZXJwcmV0ZXJfcmVxdWlyZXNfZW52aXJvbm1lbnQoKSwKKyAgICBAdW5pdHRlc3Quc2tpcElmKHNjcmlwdF9oZWxwZXIuaW50ZXJwcmV0ZXJfcmVxdWlyZXNfZW52aXJvbm1lbnQoKSwKICAgICAgICAgICAgICAgICAgICAgICdDYW5ub3QgcnVuIC1FIHRlc3RzIHdoZW4gUFlUSE9OIGVudiB2YXJzIGFyZSByZXF1aXJlZC4nKQogICAgIGRlZiB0ZXN0X2Vudl92YXJfaWdub3JlZF93aXRoX0Uoc2VsZik6CiAgICAgICAgICIiIlBZVEhPTiogZW52aXJvbm1lbnQgdmFyaWFibGVzIG11c3QgYmUgaWdub3JlZCB3aGVuIC1FIGlzIHByZXNlbnQuIiIiCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3R1cGxlLnB5IGIvTGliL3Rlc3QvdGVzdF90dXBsZS5weQppbmRleCA1MTg3NWExLi5kNzExMTE2IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3R1cGxlLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfdHVwbGUucHkKQEAgLTYsNiArNiwxMSBAQAogY2xhc3MgVHVwbGVUZXN0KHNlcV90ZXN0cy5Db21tb25UZXN0KToKICAgICB0eXBlMnRlc3QgPSB0dXBsZQogCisgICAgZGVmIHRlc3RfZ2V0aXRlbV9lcnJvcihzZWxmKToKKyAgICAgICAgbXNnID0gInR1cGxlIGluZGljZXMgbXVzdCBiZSBpbnRlZ2VycyBvciBzbGljZXMiCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXNSZWdleChUeXBlRXJyb3IsIG1zZyk6CisgICAgICAgICAgICAoKVsnYSddCisKICAgICBkZWYgdGVzdF9jb25zdHJ1Y3RvcnMoc2VsZik6CiAgICAgICAgIHN1cGVyKCkudGVzdF9jb25zdHJ1Y3RvcnMoKQogICAgICAgICAjIGNhbGxpbmcgYnVpbHQtaW4gdHlwZXMgd2l0aG91dCBhcmd1bWVudCBtdXN0IHJldHVybiBlbXB0eQpAQCAtMjAzLDYgKzIwOCwxNCBAQAogICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvcik6CiAgICAgICAgICAgICBbMyxdICsgVCgoMSwyKSkKIAorICAgIGRlZiB0ZXN0X2xleGljb2dyYXBoaWNfb3JkZXJpbmcoc2VsZik6CisgICAgICAgICMgSXNzdWUgMjExMDAKKyAgICAgICAgYSA9IHNlbGYudHlwZTJ0ZXN0KFsxLCAyXSkKKyAgICAgICAgYiA9IHNlbGYudHlwZTJ0ZXN0KFsxLCAyLCAwXSkKKyAgICAgICAgYyA9IHNlbGYudHlwZTJ0ZXN0KFsxLCAzXSkKKyAgICAgICAgc2VsZi5hc3NlcnRMZXNzKGEsIGIpCisgICAgICAgIHNlbGYuYXNzZXJ0TGVzcyhiLCBjKQorCiBkZWYgdGVzdF9tYWluKCk6CiAgICAgc3VwcG9ydC5ydW5fdW5pdHRlc3QoVHVwbGVUZXN0KQogCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3R5cGVzLnB5IGIvTGliL3Rlc3QvdGVzdF90eXBlcy5weQppbmRleCBlYzEwNzUyLi4xMWQ5NTQ2IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3R5cGVzLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfdHlwZXMucHkKQEAgLTM0Myw2ICszNDMsOCBAQAogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCAzIC5fX2Zvcm1hdF9fLCAiLG4iKQogICAgICAgICAjIGNhbid0IGhhdmUgJywnIHdpdGggJ2MnCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIDMgLl9fZm9ybWF0X18sICIsYyIpCisgICAgICAgICMgY2FuJ3QgaGF2ZSAnIycgd2l0aCAnYycKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgMyAuX19mb3JtYXRfXywgIiNjIikKIAogICAgICAgICAjIGVuc3VyZSB0aGF0IG9ubHkgaW50IGFuZCBmbG9hdCB0eXBlIHNwZWNpZmllcnMgd29yawogICAgICAgICBmb3IgZm9ybWF0X3NwZWMgaW4gKFtjaHIoeCkgZm9yIHggaW4gcmFuZ2Uob3JkKCdhJyksIG9yZCgneicpKzEpXSArCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3VuaWNvZGUucHkgYi9MaWIvdGVzdC90ZXN0X3VuaWNvZGUucHkKaW5kZXggNzczNWE2Yi4uZTRjZDk5YiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF91bmljb2RlLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfdW5pY29kZS5weQpAQCAtOCw2ICs4LDcgQEAKIGltcG9ydCBfc3RyaW5nCiBpbXBvcnQgY29kZWNzCiBpbXBvcnQgaXRlcnRvb2xzCitpbXBvcnQgb3BlcmF0b3IKIGltcG9ydCBzdHJ1Y3QKIGltcG9ydCBzeXMKIGltcG9ydCB1bml0dGVzdApAQCAtMjUwLDYgKzI1MSw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtvcmQoJ2EnKTogTm9uZSwgb3JkKCdiJyk6ICcnfSkKICAgICAgICAgc2VsZi5jaGVja2VxdWFsbm9maXgoJ3h5eXgnLCAneHp4JywgJ3RyYW5zbGF0ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtvcmQoJ3onKTogJ3l5J30pCisKICAgICAgICAgIyB0aGlzIG5lZWRzIG1ha2V0cmFucygpCiAgICAgICAgIHNlbGYuY2hlY2tlcXVhbG5vZml4KCdhYmFiYWJjJywgJ2FiYWJhYmMnLCAndHJhbnNsYXRlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeydiJzogJzxpPid9KQpAQCAtMjU5LDYgKzI2MSwzMyBAQAogICAgICAgICB0YmwgPSBzZWxmLnR5cGUydGVzdC5tYWtldHJhbnMoJ2FiYycsICd4eXonLCAnZCcpCiAgICAgICAgIHNlbGYuY2hlY2tlcXVhbG5vZml4KCd4eXp6eScsICdhYmRjZGNiZGRkZCcsICd0cmFuc2xhdGUnLCB0YmwpCiAKKyAgICAgICAgIyB2YXJpb3VzIHRlc3RzIHN3aXRjaGluZyBmcm9tIEFTQ0lJIHRvIGxhdGluMSBvciB0aGUgb3Bwb3NpdGU7CisgICAgICAgICMgc2FtZSBsZW5ndGgsIHJlbW92ZSBhIGxldHRlciwgb3IgcmVwbGFjZSB3aXRoIGEgbG9uZ2VyIHN0cmluZy4KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiW2FdIi50cmFuc2xhdGUoc3RyLm1ha2V0cmFucygnYScsICdYJykpLAorICAgICAgICAgICAgICAgICAgICAgICAgICJbWF0iKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJbYV0iLnRyYW5zbGF0ZShzdHIubWFrZXRyYW5zKHsnYSc6ICdYJ30pKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiW1hdIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiW2FdIi50cmFuc2xhdGUoc3RyLm1ha2V0cmFucyh7J2EnOiBOb25lfSkpLAorICAgICAgICAgICAgICAgICAgICAgICAgICJbXSIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoIlthXSIudHJhbnNsYXRlKHN0ci5tYWtldHJhbnMoeydhJzogJ1hYWCd9KSksCisgICAgICAgICAgICAgICAgICAgICAgICAgIltYWFhdIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiW2FdIi50cmFuc2xhdGUoc3RyLm1ha2V0cmFucyh7J2EnOiAnXHhlOSd9KSksCisgICAgICAgICAgICAgICAgICAgICAgICAgIltceGU5XSIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoIlthXSIudHJhbnNsYXRlKHN0ci5tYWtldHJhbnMoeydhJzogJzxceGU5Pid9KSksCisgICAgICAgICAgICAgICAgICAgICAgICAgIls8XHhlOT5dIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiW1x4ZTldIi50cmFuc2xhdGUoc3RyLm1ha2V0cmFucyh7J1x4ZTknOiAnYSd9KSksCisgICAgICAgICAgICAgICAgICAgICAgICAgIlthXSIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoIltceGU5XSIudHJhbnNsYXRlKHN0ci5tYWtldHJhbnMoeydceGU5JzogTm9uZX0pKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiW10iKQorCisgICAgICAgICMgaW52YWxpZCBVbmljb2RlIGNoYXJhY3RlcnMKKyAgICAgICAgaW52YWxpZF9jaGFyID0gMHgxMGZmZmYrMQorICAgICAgICBmb3IgYmVmb3JlIGluICJhXHhlOVx1MjBhY1xVMDAxMGZmZmYiOgorICAgICAgICAgICAgbWFwcGluZyA9IHN0ci5tYWtldHJhbnMoe2JlZm9yZTogaW52YWxpZF9jaGFyfSkKKyAgICAgICAgICAgIHRleHQgPSAiWyVzXSIgJSBiZWZvcmUKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIHRleHQudHJhbnNsYXRlLCBtYXBwaW5nKQorCisgICAgICAgICMgZXJyb3JzCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgc2VsZi50eXBlMnRlc3QubWFrZXRyYW5zKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBzZWxmLnR5cGUydGVzdC5tYWtldHJhbnMsICdhYmMnLCAnZGVmZycpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgc2VsZi50eXBlMnRlc3QubWFrZXRyYW5zLCAyLCAnZGVmJykKQEAgLTExNTQsMjAgKzExODMsMjAgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnJS4ycycgJSAiYVx4ZTlcdTIwYWMiLCAnYVx4ZTknKQogCiAgICAgICAgICNpc3N1ZSAxOTk5NQotICAgICAgICBjbGFzcyBQc3VlZG9JbnQ6CisgICAgICAgIGNsYXNzIFBzZXVkb0ludDoKICAgICAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCB2YWx1ZSk6CiAgICAgICAgICAgICAgICAgc2VsZi52YWx1ZSA9IGludCh2YWx1ZSkKICAgICAgICAgICAgIGRlZiBfX2ludF9fKHNlbGYpOgogICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLnZhbHVlCiAgICAgICAgICAgICBkZWYgX19pbmRleF9fKHNlbGYpOgogICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLnZhbHVlCi0gICAgICAgIGNsYXNzIFBzdWVkb0Zsb2F0OgorICAgICAgICBjbGFzcyBQc2V1ZG9GbG9hdDoKICAgICAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCB2YWx1ZSk6CiAgICAgICAgICAgICAgICAgc2VsZi52YWx1ZSA9IGZsb2F0KHZhbHVlKQogICAgICAgICAgICAgZGVmIF9faW50X18oc2VsZik6CiAgICAgICAgICAgICAgICAgcmV0dXJuIGludChzZWxmLnZhbHVlKQotICAgICAgICBwaSA9IFBzdWVkb0Zsb2F0KDMuMTQxNSkKLSAgICAgICAgbGV0dGVyX20gPSBQc3VlZG9JbnQoMTA5KQorICAgICAgICBwaSA9IFBzZXVkb0Zsb2F0KDMuMTQxNSkKKyAgICAgICAgbGV0dGVyX20gPSBQc2V1ZG9JbnQoMTA5KQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCcleCcgJSA0MiwgJzJhJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnJVgnICUgMTUsICdGJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnJW8nICUgOSwgJzExJykKQEAgLTExNzYsMTEgKzEyMDUsMTEgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnJVgnICUgbGV0dGVyX20sICc2RCcpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJyVvJyAlIGxldHRlcl9tLCAnMTU1JykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnJWMnICUgbGV0dGVyX20sICdtJykKLSAgICAgICAgc2VsZi5hc3NlcnRXYXJucyhEZXByZWNhdGlvbldhcm5pbmcsICcleCcuX19tb2RfXywgcGkpLAotICAgICAgICBzZWxmLmFzc2VydFdhcm5zKERlcHJlY2F0aW9uV2FybmluZywgJyV4Jy5fX21vZF9fLCAzLjE0KSwKLSAgICAgICAgc2VsZi5hc3NlcnRXYXJucyhEZXByZWNhdGlvbldhcm5pbmcsICclWCcuX19tb2RfXywgMi4xMSksCi0gICAgICAgIHNlbGYuYXNzZXJ0V2FybnMoRGVwcmVjYXRpb25XYXJuaW5nLCAnJW8nLl9fbW9kX18sIDEuNzkpLAotICAgICAgICBzZWxmLmFzc2VydFdhcm5zKERlcHJlY2F0aW9uV2FybmluZywgJyVjJy5fX21vZF9fLCBwaSksCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVHlwZUVycm9yLCAnJXggZm9ybWF0OiBhbiBpbnRlZ2VyIGlzIHJlcXVpcmVkLCBub3QgZmxvYXQnLCBvcGVyYXRvci5tb2QsICcleCcsIDMuMTQpLAorICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFR5cGVFcnJvciwgJyVYIGZvcm1hdDogYW4gaW50ZWdlciBpcyByZXF1aXJlZCwgbm90IGZsb2F0Jywgb3BlcmF0b3IubW9kLCAnJVgnLCAyLjExKSwKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNSZWdleChUeXBlRXJyb3IsICclbyBmb3JtYXQ6IGFuIGludGVnZXIgaXMgcmVxdWlyZWQsIG5vdCBmbG9hdCcsIG9wZXJhdG9yLm1vZCwgJyVvJywgMS43OSksCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVHlwZUVycm9yLCAnJXggZm9ybWF0OiBhbiBpbnRlZ2VyIGlzIHJlcXVpcmVkLCBub3QgUHNldWRvRmxvYXQnLCBvcGVyYXRvci5tb2QsICcleCcsIHBpKSwKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBvcGVyYXRvci5tb2QsICclYycsIHBpKSwKIAogICAgIGRlZiB0ZXN0X2Zvcm1hdHRpbmdfd2l0aF9lbnVtKHNlbGYpOgogICAgICAgICAjIGlzc3VlMTg3ODAKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfdW5pY29kZWRhdGEucHkgYi9MaWIvdGVzdC90ZXN0X3VuaWNvZGVkYXRhLnB5CmluZGV4IDcwN2IzMGUuLmY4Nzg4YTAgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfdW5pY29kZWRhdGEucHkKKysrIGIvTGliL3Rlc3QvdGVzdF91bmljb2RlZGF0YS5weQpAQCAtMjEsNyArMjEsNyBAQAogY2xhc3MgVW5pY29kZU1ldGhvZHNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKIAogICAgICMgdXBkYXRlIHRoaXMsIGlmIHRoZSBkYXRhYmFzZSBjaGFuZ2VzCi0gICAgZXhwZWN0ZWRjaGVja3N1bSA9ICdlNzRlODc4ZGU3MWI2ZTc4MGZmYWMyNzE3ODVjM2NiNThmNjI1MWYzJworICAgIGV4cGVjdGVkY2hlY2tzdW0gPSAnNjE4ZTJjMWEyMmVlNzlkMjIzNTMxOTcwOWYxNmM1MGY5ODdlZTIxZicKIAogICAgIGRlZiB0ZXN0X21ldGhvZF9jaGVja3N1bShzZWxmKToKICAgICAgICAgaCA9IGhhc2hsaWIuc2hhMSgpCkBAIC03OSw4ICs3OSw5IEBACiAKIGNsYXNzIFVuaWNvZGVGdW5jdGlvbnNUZXN0KFVuaWNvZGVEYXRhYmFzZVRlc3QpOgogCi0gICAgIyB1cGRhdGUgdGhpcywgaWYgdGhlIGRhdGFiYXNlIGNoYW5nZXMKLSAgICBleHBlY3RlZGNoZWNrc3VtID0gJ2YwYjc0ZDI2Nzc2MzMxY2M3YmRjM2E0Njk4ZjAzN2Q3M2YyY2VlMmInCisgICAgIyBVcGRhdGUgdGhpcyBpZiB0aGUgZGF0YWJhc2UgY2hhbmdlcy4gTWFrZSBzdXJlIHRvIGRvIGEgZnVsbCByZWJ1aWxkCisgICAgIyAoZS5nLiAnbWFrZSBkaXN0Y2xlYW4gJiYgbWFrZScpIHRvIGdldCB0aGUgY29ycmVjdCBjaGVja3N1bS4KKyAgICBleHBlY3RlZGNoZWNrc3VtID0gJzU4NTMwMjg5NWRlZWFkMGMxYzg0NzhjNTFkYTkyNDFkNGVmZWRjYTknCiAgICAgZGVmIHRlc3RfZnVuY3Rpb25fY2hlY2tzdW0oc2VsZik6CiAgICAgICAgIGRhdGEgPSBbXQogICAgICAgICBoID0gaGFzaGxpYi5zaGExKCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfdXJsbGliLnB5IGIvTGliL3Rlc3QvdGVzdF91cmxsaWIucHkKaW5kZXggNGYzOGYwZi4uZmNkMjA3MyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF91cmxsaWIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF91cmxsaWIucHkKQEAgLTEwLDcgKzEwLDEwIEBACiBmcm9tIHVuaXR0ZXN0Lm1vY2sgaW1wb3J0IHBhdGNoCiBmcm9tIHRlc3QgaW1wb3J0IHN1cHBvcnQKIGltcG9ydCBvcwotaW1wb3J0IHNzbAordHJ5OgorICAgIGltcG9ydCBzc2wKK2V4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICBzc2wgPSBOb25lCiBpbXBvcnQgc3lzCiBpbXBvcnQgdGVtcGZpbGUKIGZyb20gbnR1cmwycGF0aCBpbXBvcnQgdXJsMnBhdGhuYW1lLCBwYXRobmFtZTJ1cmwKQEAgLTM4MCw2ICszODMsNyBAQAogICAgICAgICB3aXRoIHN1cHBvcnQuY2hlY2tfd2FybmluZ3MoKCcnLERlcHJlY2F0aW9uV2FybmluZykpOgogICAgICAgICAgICAgdXJsbGliLnJlcXVlc3QuVVJMb3BlbmVyKCkKIAorICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKHNzbCwgInNzbCBtb2R1bGUgcmVxdWlyZWQiKQogICAgIGRlZiB0ZXN0X2NhZmlsZV9hbmRfY29udGV4dChzZWxmKToKICAgICAgICAgY29udGV4dCA9IHNzbC5jcmVhdGVfZGVmYXVsdF9jb250ZXh0KCkKICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yKToKQEAgLTEzNDYsNyArMTM1MCw3IEBACiAjICAgICBzZXJ2LnNldHRpbWVvdXQoMykKICMgICAgIHNlcnYuc2V0c29ja29wdChzb2NrZXQuU09MX1NPQ0tFVCwgc29ja2V0LlNPX1JFVVNFQUREUiwgMSkKICMgICAgIHNlcnYuYmluZCgoIiIsIDkwOTMpKQotIyAgICAgc2Vydi5saXN0ZW4oNSkKKyMgICAgIHNlcnYubGlzdGVuKCkKICMgICAgIHRyeToKICMgICAgICAgICBjb25uLCBhZGRyID0gc2Vydi5hY2NlcHQoKQogIyAgICAgICAgIGNvbm4uc2VuZCgiMSBIb2xhIG11bmRvXG4iKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF91cmxsaWIyLnB5IGIvTGliL3Rlc3QvdGVzdF91cmxsaWIyLnB5CmluZGV4IGM3NDZiOWEuLjMxODIzOTAgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfdXJsbGliMi5weQorKysgYi9MaWIvdGVzdC90ZXN0X3VybGxpYjIucHkKQEAgLTE0MjIsNiArMTQyMiwyMSBAQAogICAgICAgICAgICAgaGFuZGxlci5kb19vcGVuKGNvbm4sIHJlcSkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGNvbm4uZmFrZXNvY2suY2xvc2VkLCAiQ29ubmVjdGlvbiBub3QgY2xvc2VkIikKIAorICAgIGRlZiB0ZXN0X2F1dGhfcHJpb3JfaGFuZGxlcihzZWxmKToKKyAgICAgICAgcHdkX21hbmFnZXIgPSBNb2NrUGFzc3dvcmRNYW5hZ2VyKCkKKyAgICAgICAgcHdkX21hbmFnZXIuYWRkX3Bhc3N3b3JkKE5vbmUsICdodHRwczovL2V4YW1wbGUuY29tJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzb21lYm9keScsICd2ZXJ5c2VjcmV0JykKKyAgICAgICAgYXV0aF9wcmlvcl9oYW5kbGVyID0gdXJsbGliLnJlcXVlc3QuSFRUUEJhc2ljUHJpb3JBdXRoSGFuZGxlcigKKyAgICAgICAgICAgIHB3ZF9tYW5hZ2VyKQorICAgICAgICBodHRwX2hhbmQgPSBNb2NrSFRUUFNIYW5kbGVyKCkKKworICAgICAgICBvcGVuZXIgPSBPcGVuZXJEaXJlY3RvcigpCisgICAgICAgIG9wZW5lci5hZGRfaGFuZGxlcihodHRwX2hhbmQpCisgICAgICAgIG9wZW5lci5hZGRfaGFuZGxlcihhdXRoX3ByaW9yX2hhbmRsZXIpCisKKyAgICAgICAgcmVxID0gUmVxdWVzdCgiaHR0cHM6Ly9leGFtcGxlLmNvbSIpCisgICAgICAgIG9wZW5lci5vcGVuKHJlcSkKKyAgICAgICAgc2VsZi5hc3NlcnROb3RJbignQXV0aG9yaXphdGlvbicsIGh0dHBfaGFuZC5odHRwY29ubi5yZXFfaGVhZGVycykKIAogY2xhc3MgTWlzY1Rlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKIApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF91cmxsaWJuZXQucHkgYi9MaWIvdGVzdC90ZXN0X3VybGxpYm5ldC5weQppbmRleCA0YzhiYTJkLi40MmViYjZlIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3VybGxpYm5ldC5weQorKysgYi9MaWIvdGVzdC90ZXN0X3VybGxpYm5ldC5weQpAQCAtOTEsNyArOTEsOCBAQAogICAgICAgICAjIHRlc3QgZ2V0Y29kZSgpIHdpdGggdGhlIGZhbmN5IG9wZW5lciB0byBnZXQgNDA0IGVycm9yIGNvZGVzCiAgICAgICAgIFVSTCA9ICJodHRwOi8vd3d3LmV4YW1wbGUuY29tL1hYWGludmFsaWRYWFgiCiAgICAgICAgIHdpdGggc3VwcG9ydC50cmFuc2llbnRfaW50ZXJuZXQoVVJMKToKLSAgICAgICAgICAgIG9wZW5fdXJsID0gdXJsbGliLnJlcXVlc3QuRmFuY3lVUkxvcGVuZXIoKS5vcGVuKFVSTCkKKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRXYXJucyhEZXByZWNhdGlvbldhcm5pbmcpOgorICAgICAgICAgICAgICAgIG9wZW5fdXJsID0gdXJsbGliLnJlcXVlc3QuRmFuY3lVUkxvcGVuZXIoKS5vcGVuKFVSTCkKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBjb2RlID0gb3Blbl91cmwuZ2V0Y29kZSgpCiAgICAgICAgICAgICBmaW5hbGx5OgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF91cmxwYXJzZS5weSBiL0xpYi90ZXN0L3Rlc3RfdXJscGFyc2UucHkKaW5kZXggMzkzNDgxMS4uY2IzMjNkMyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF91cmxwYXJzZS5weQorKysgYi9MaWIvdGVzdC90ZXN0X3VybHBhcnNlLnB5CkBAIC0yMTEsMTAgKzIxMSw2IEBACiAKICAgICAgICAgIyAiYWJub3JtYWwiIGNhc2VzIGZyb20gUkZDIDE4MDg6CiAgICAgICAgIHNlbGYuY2hlY2tKb2luKFJGQzE4MDhfQkFTRSwgJycsICdodHRwOi8vYS9iL2MvZDtwP3EjZicpCi0gICAgICAgIHNlbGYuY2hlY2tKb2luKFJGQzE4MDhfQkFTRSwgJy4uLy4uLy4uL2cnLCAnaHR0cDovL2EvLi4vZycpCi0gICAgICAgIHNlbGYuY2hlY2tKb2luKFJGQzE4MDhfQkFTRSwgJy4uLy4uLy4uLy4uL2cnLCAnaHR0cDovL2EvLi4vLi4vZycpCi0gICAgICAgIHNlbGYuY2hlY2tKb2luKFJGQzE4MDhfQkFTRSwgJy8uL2cnLCAnaHR0cDovL2EvLi9nJykKLSAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMTgwOF9CQVNFLCAnLy4uL2cnLCAnaHR0cDovL2EvLi4vZycpCiAgICAgICAgIHNlbGYuY2hlY2tKb2luKFJGQzE4MDhfQkFTRSwgJ2cuJywgJ2h0dHA6Ly9hL2IvYy9nLicpCiAgICAgICAgIHNlbGYuY2hlY2tKb2luKFJGQzE4MDhfQkFTRSwgJy5nJywgJ2h0dHA6Ly9hL2IvYy8uZycpCiAgICAgICAgIHNlbGYuY2hlY2tKb2luKFJGQzE4MDhfQkFTRSwgJ2cuLicsICdodHRwOi8vYS9iL2MvZy4uJykKQEAgLTIyOSw2ICsyMjUsMTMgQEAKICAgICAgICAgI3NlbGYuY2hlY2tKb2luKFJGQzE4MDhfQkFTRSwgJ2h0dHA6ZycsICdodHRwOmcnKQogICAgICAgICAjc2VsZi5jaGVja0pvaW4oUkZDMTgwOF9CQVNFLCAnaHR0cDonLCAnaHR0cDonKQogCisgICAgICAgICMgWFhYOiBUaGUgZm9sbG93aW5nIHRlc3RzIGFyZSBubyBsb25nZXIgY29tcGF0aWJsZSB3aXRoIFJGQzM5ODYKKyAgICAgICAgIyBzZWxmLmNoZWNrSm9pbihSRkMxODA4X0JBU0UsICcuLi8uLi8uLi9nJywgJ2h0dHA6Ly9hLy4uL2cnKQorICAgICAgICAjIHNlbGYuY2hlY2tKb2luKFJGQzE4MDhfQkFTRSwgJy4uLy4uLy4uLy4uL2cnLCAnaHR0cDovL2EvLi4vLi4vZycpCisgICAgICAgICMgc2VsZi5jaGVja0pvaW4oUkZDMTgwOF9CQVNFLCAnLy4vZycsICdodHRwOi8vYS8uL2cnKQorICAgICAgICAjIHNlbGYuY2hlY2tKb2luKFJGQzE4MDhfQkFTRSwgJy8uLi9nJywgJ2h0dHA6Ly9hLy4uL2cnKQorCisKICAgICBkZWYgdGVzdF9SRkMyMzY4KHNlbGYpOgogICAgICAgICAjIElzc3VlIDExNDY3OiBwYXRoIHRoYXQgc3RhcnRzIHdpdGggYSBudW1iZXIgaXMgbm90IHBhcnNlZCBjb3JyZWN0bHkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh1cmxsaWIucGFyc2UudXJscGFyc2UoJ21haWx0bzoxMzM3QGV4YW1wbGUub3JnJyksCkBAIC0yNTksMTAgKzI2Miw2IEBACiAgICAgICAgIHNlbGYuY2hlY2tKb2luKFJGQzIzOTZfQkFTRSwgJy4uLy4uLycsICdodHRwOi8vYS8nKQogICAgICAgICBzZWxmLmNoZWNrSm9pbihSRkMyMzk2X0JBU0UsICcuLi8uLi9nJywgJ2h0dHA6Ly9hL2cnKQogICAgICAgICBzZWxmLmNoZWNrSm9pbihSRkMyMzk2X0JBU0UsICcnLCBSRkMyMzk2X0JBU0UpCi0gICAgICAgIHNlbGYuY2hlY2tKb2luKFJGQzIzOTZfQkFTRSwgJy4uLy4uLy4uL2cnLCAnaHR0cDovL2EvLi4vZycpCi0gICAgICAgIHNlbGYuY2hlY2tKb2luKFJGQzIzOTZfQkFTRSwgJy4uLy4uLy4uLy4uL2cnLCAnaHR0cDovL2EvLi4vLi4vZycpCi0gICAgICAgIHNlbGYuY2hlY2tKb2luKFJGQzIzOTZfQkFTRSwgJy8uL2cnLCAnaHR0cDovL2EvLi9nJykKLSAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMjM5Nl9CQVNFLCAnLy4uL2cnLCAnaHR0cDovL2EvLi4vZycpCiAgICAgICAgIHNlbGYuY2hlY2tKb2luKFJGQzIzOTZfQkFTRSwgJ2cuJywgJ2h0dHA6Ly9hL2IvYy9nLicpCiAgICAgICAgIHNlbGYuY2hlY2tKb2luKFJGQzIzOTZfQkFTRSwgJy5nJywgJ2h0dHA6Ly9hL2IvYy8uZycpCiAgICAgICAgIHNlbGYuY2hlY2tKb2luKFJGQzIzOTZfQkFTRSwgJ2cuLicsICdodHRwOi8vYS9iL2MvZy4uJykKQEAgLTI3OCwxMCArMjc3LDE3IEBACiAgICAgICAgIHNlbGYuY2hlY2tKb2luKFJGQzIzOTZfQkFTRSwgJ2cjcy8uL3gnLCAnaHR0cDovL2EvYi9jL2cjcy8uL3gnKQogICAgICAgICBzZWxmLmNoZWNrSm9pbihSRkMyMzk2X0JBU0UsICdnI3MvLi4veCcsICdodHRwOi8vYS9iL2MvZyNzLy4uL3gnKQogCisgICAgICAgICMgWFhYOiBUaGUgZm9sbG93aW5nIHRlc3RzIGFyZSBubyBsb25nZXIgY29tcGF0aWJsZSB3aXRoIFJGQzM5ODYKKyAgICAgICAgIyBzZWxmLmNoZWNrSm9pbihSRkMyMzk2X0JBU0UsICcuLi8uLi8uLi9nJywgJ2h0dHA6Ly9hLy4uL2cnKQorICAgICAgICAjIHNlbGYuY2hlY2tKb2luKFJGQzIzOTZfQkFTRSwgJy4uLy4uLy4uLy4uL2cnLCAnaHR0cDovL2EvLi4vLi4vZycpCisgICAgICAgICMgc2VsZi5jaGVja0pvaW4oUkZDMjM5Nl9CQVNFLCAnLy4vZycsICdodHRwOi8vYS8uL2cnKQorICAgICAgICAjIHNlbGYuY2hlY2tKb2luKFJGQzIzOTZfQkFTRSwgJy8uLi9nJywgJ2h0dHA6Ly9hLy4uL2cnKQorCisKICAgICBkZWYgdGVzdF9SRkMzOTg2KHNlbGYpOgogICAgICAgICAjIFRlc3QgY2FzZXMgZnJvbSBSRkMzOTg2CiAgICAgICAgIHNlbGYuY2hlY2tKb2luKFJGQzM5ODZfQkFTRSwgJz95JywnaHR0cDovL2EvYi9jL2Q7cD95JykKLSAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMjM5Nl9CQVNFLCAnO3gnLCAnaHR0cDovL2EvYi9jLzt4JykKKyAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMzk4Nl9CQVNFLCAnO3gnLCAnaHR0cDovL2EvYi9jLzt4JykKICAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMzk4Nl9CQVNFLCAnZzpoJywnZzpoJykKICAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMzk4Nl9CQVNFLCAnZycsJ2h0dHA6Ly9hL2IvYy9nJykKICAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMzk4Nl9CQVNFLCAnLi9nJywnaHR0cDovL2EvYi9jL2cnKQpAQCAtMzA1LDE3ICszMTEsMTcgQEAKICAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMzk4Nl9CQVNFLCAnLi4vLi4nLCdodHRwOi8vYS8nKQogICAgICAgICBzZWxmLmNoZWNrSm9pbihSRkMzOTg2X0JBU0UsICcuLi8uLi8nLCdodHRwOi8vYS8nKQogICAgICAgICBzZWxmLmNoZWNrSm9pbihSRkMzOTg2X0JBU0UsICcuLi8uLi9nJywnaHR0cDovL2EvZycpCisgICAgICAgIHNlbGYuY2hlY2tKb2luKFJGQzM5ODZfQkFTRSwgJy4uLy4uLy4uL2cnLCAnaHR0cDovL2EvZycpCiAKICAgICAgICAgI0Fibm9ybWFsIEV4YW1wbGVzCiAKICAgICAgICAgIyBUaGUgJ2Fibm9ybWFsIHNjZW5hcmlvcycgYXJlIGluY29tcGF0aWJsZSB3aXRoIFJGQzI5ODYgcGFyc2luZwogICAgICAgICAjIFRlc3RzIGFyZSBoZXJlIGZvciByZWZlcmVuY2UuCiAKLSAgICAgICAgI3NlbGYuY2hlY2tKb2luKFJGQzM5ODZfQkFTRSwgJy4uLy4uLy4uL2cnLCdodHRwOi8vYS9nJykKLSAgICAgICAgI3NlbGYuY2hlY2tKb2luKFJGQzM5ODZfQkFTRSwgJy4uLy4uLy4uLy4uL2cnLCdodHRwOi8vYS9nJykKLSAgICAgICAgI3NlbGYuY2hlY2tKb2luKFJGQzM5ODZfQkFTRSwgJy8uL2cnLCdodHRwOi8vYS9nJykKLSAgICAgICAgI3NlbGYuY2hlY2tKb2luKFJGQzM5ODZfQkFTRSwgJy8uLi9nJywnaHR0cDovL2EvZycpCi0KKyAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMzk4Nl9CQVNFLCAnLi4vLi4vLi4vZycsJ2h0dHA6Ly9hL2cnKQorICAgICAgICBzZWxmLmNoZWNrSm9pbihSRkMzOTg2X0JBU0UsICcuLi8uLi8uLi8uLi9nJywnaHR0cDovL2EvZycpCisgICAgICAgIHNlbGYuY2hlY2tKb2luKFJGQzM5ODZfQkFTRSwgJy8uL2cnLCdodHRwOi8vYS9nJykKKyAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMzk4Nl9CQVNFLCAnLy4uL2cnLCdodHRwOi8vYS9nJykKICAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMzk4Nl9CQVNFLCAnZy4nLCdodHRwOi8vYS9iL2MvZy4nKQogICAgICAgICBzZWxmLmNoZWNrSm9pbihSRkMzOTg2X0JBU0UsICcuZycsJ2h0dHA6Ly9hL2IvYy8uZycpCiAgICAgICAgIHNlbGYuY2hlY2tKb2luKFJGQzM5ODZfQkFTRSwgJ2cuLicsJ2h0dHA6Ly9hL2IvYy9nLi4nKQpAQCAtMzU1LDEwICszNjEsOCBAQAogICAgICAgICBzZWxmLmNoZWNrSm9pbihTSU1QTEVfQkFTRSwgJy4uL2cnLCdodHRwOi8vYS9iL2cnKQogICAgICAgICBzZWxmLmNoZWNrSm9pbihTSU1QTEVfQkFTRSwgJy4uLy4uJywnaHR0cDovL2EvJykKICAgICAgICAgc2VsZi5jaGVja0pvaW4oU0lNUExFX0JBU0UsICcuLi8uLi9nJywnaHR0cDovL2EvZycpCi0gICAgICAgIHNlbGYuY2hlY2tKb2luKFNJTVBMRV9CQVNFLCAnLi4vLi4vLi4vZycsJ2h0dHA6Ly9hLy4uL2cnKQogICAgICAgICBzZWxmLmNoZWNrSm9pbihTSU1QTEVfQkFTRSwgJy4vLi4vZycsJ2h0dHA6Ly9hL2IvZycpCiAgICAgICAgIHNlbGYuY2hlY2tKb2luKFNJTVBMRV9CQVNFLCAnLi9nLy4nLCdodHRwOi8vYS9iL2MvZy8nKQotICAgICAgICBzZWxmLmNoZWNrSm9pbihTSU1QTEVfQkFTRSwgJy8uL2cnLCdodHRwOi8vYS8uL2cnKQogICAgICAgICBzZWxmLmNoZWNrSm9pbihTSU1QTEVfQkFTRSwgJ2cvLi9oJywnaHR0cDovL2EvYi9jL2cvaCcpCiAgICAgICAgIHNlbGYuY2hlY2tKb2luKFNJTVBMRV9CQVNFLCAnZy8uLi9oJywnaHR0cDovL2EvYi9jL2gnKQogICAgICAgICBzZWxmLmNoZWNrSm9pbihTSU1QTEVfQkFTRSwgJ2h0dHA6ZycsJ2h0dHA6Ly9hL2IvYy9nJykKQEAgLTM3Miw2ICszNzYsMjIgQEAKICAgICAgICAgc2VsZi5jaGVja0pvaW4oJ3N2bjovL3BhdGh0b3JlcG8vZGlyMScsICdkaXIyJywgJ3N2bjovL3BhdGh0b3JlcG8vZGlyMicpCiAgICAgICAgIHNlbGYuY2hlY2tKb2luKCdzdm4rc3NoOi8vcGF0aHRvcmVwby9kaXIxJywgJ2RpcjInLCAnc3ZuK3NzaDovL3BhdGh0b3JlcG8vZGlyMicpCiAKKyAgICAgICAgIyBYWFg6IFRoZSBmb2xsb3dpbmcgdGVzdHMgYXJlIG5vIGxvbmdlciBjb21wYXRpYmxlIHdpdGggUkZDMzk4NgorICAgICAgICAjIHNlbGYuY2hlY2tKb2luKFNJTVBMRV9CQVNFLCAnLi4vLi4vLi4vZycsJ2h0dHA6Ly9hLy4uL2cnKQorICAgICAgICAjIHNlbGYuY2hlY2tKb2luKFNJTVBMRV9CQVNFLCAnLy4vZycsJ2h0dHA6Ly9hLy4vZycpCisKKyAgICAgICAgIyB0ZXN0IGZvciBpc3N1ZTIyMTE4IGR1cGxpY2F0ZSBzbGFzaGVzCisgICAgICAgIHNlbGYuY2hlY2tKb2luKFNJTVBMRV9CQVNFICsgJy8nLCAnZm9vJywgU0lNUExFX0JBU0UgKyAnL2ZvbycpCisKKyAgICAgICAgIyBOb24tUkZDLWRlZmluZWQgdGVzdHMsIGNvdmVyaW5nIHZhcmlhdGlvbnMgb2YgYmFzZSBhbmQgdHJhaWxpbmcKKyAgICAgICAgIyBzbGFzaGVzCisgICAgICAgIHNlbGYuY2hlY2tKb2luKCdodHRwOi8vYS9iL2MvZC9lLycsICcuLi8uLi9mL2cvJywgJ2h0dHA6Ly9hL2IvYy9mL2cvJykKKyAgICAgICAgc2VsZi5jaGVja0pvaW4oJ2h0dHA6Ly9hL2IvYy9kL2UnLCAnLi4vLi4vZi9nLycsICdodHRwOi8vYS9iL2YvZy8nKQorICAgICAgICBzZWxmLmNoZWNrSm9pbignaHR0cDovL2EvYi9jL2QvZS8nLCAnLy4uLy4uL2YvZy8nLCAnaHR0cDovL2EvZi9nLycpCisgICAgICAgIHNlbGYuY2hlY2tKb2luKCdodHRwOi8vYS9iL2MvZC9lJywgJy8uLi8uLi9mL2cvJywgJ2h0dHA6Ly9hL2YvZy8nKQorICAgICAgICBzZWxmLmNoZWNrSm9pbignaHR0cDovL2EvYi9jL2QvZS8nLCAnLi4vLi4vZi9nJywgJ2h0dHA6Ly9hL2IvYy9mL2cnKQorICAgICAgICBzZWxmLmNoZWNrSm9pbignaHR0cDovL2EvYi8nLCAnLi4vLi4vZi9nLycsICdodHRwOi8vYS9mL2cvJykKKwogICAgIGRlZiB0ZXN0X1JGQzI3MzIoc2VsZik6CiAgICAgICAgIHN0cl9jYXNlcyA9IFsKICAgICAgICAgICAgICgnaHR0cDovL1Rlc3QucHl0aG9uLm9yZzo1NDMyL2Zvby8nLCAndGVzdC5weXRob24ub3JnJywgNTQzMiksCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3V1aWQucHkgYi9MaWIvdGVzdC90ZXN0X3V1aWQucHkKaW5kZXggMWU4Y2JhMy4uZmNiODQ1NCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF91dWlkLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfdXVpZC5weQpAQCAtMSw5ICsxLDEwIEBACi1pbXBvcnQgdW5pdHRlc3QKK2ltcG9ydCB1bml0dGVzdC5tb2NrCiBmcm9tIHRlc3QgaW1wb3J0IHN1cHBvcnQKIGltcG9ydCBidWlsdGlucwogaW1wb3J0IGlvCiBpbXBvcnQgb3MKIGltcG9ydCBzaHV0aWwKK2ltcG9ydCBzdWJwcm9jZXNzCiBpbXBvcnQgdXVpZAogCiBkZWYgaW1wb3J0YWJsZShuYW1lKToKQEAgLTQxMiwyOCArNDEzLDI3IEBACiBjbGFzcyBUZXN0SW50ZXJuYWxzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhvcy5uYW1lID09ICdwb3NpeCcsICdyZXF1aXJlcyBQb3NpeCcpCiAgICAgZGVmIHRlc3RfZmluZF9tYWMoc2VsZik6Ci0gICAgICAgIGRhdGEgPSAnJydcCi0KKyAgICAgICAgZGF0YSA9ICcnJwogZmFrZSBod2FkZHIKIGNzY290dW4wICBMaW5rIGVuY2FwOlVOU1BFQyAgSFdhZGRyIDAwLTAwLTAwLTAwLTAwLTAwLTAwLTAwLTAwLTAwLTAwLTAwLTAwLTAwLTAwLTAwCiBldGgwICAgICAgTGluayBlbmNhcDpFdGhlcm5ldCAgSFdhZGRyIDEyOjM0OjU2Ojc4OjkwOmFiCiAnJycKLSAgICAgICAgZGVmIG1vY2tfcG9wZW4oY21kKToKLSAgICAgICAgICAgIHJldHVybiBpby5TdHJpbmdJTyhkYXRhKQogCi0gICAgICAgIGlmIHNodXRpbC53aGljaCgnaWZjb25maWcnKSBpcyBOb25lOgotICAgICAgICAgICAgcGF0aCA9IG9zLnBhdGhzZXAuam9pbigoJy9zYmluJywgJy91c3Ivc2JpbicpKQotICAgICAgICAgICAgaWYgc2h1dGlsLndoaWNoKCdpZmNvbmZpZycsIHBhdGg9cGF0aCkgaXMgTm9uZToKLSAgICAgICAgICAgICAgICBzZWxmLnNraXBUZXN0KCdyZXF1aXJlcyBpZmNvbmZpZycpCisgICAgICAgIHBvcGVuID0gdW5pdHRlc3QubW9jay5NYWdpY01vY2soKQorICAgICAgICBwb3Blbi5zdGRvdXQgPSBpby5CeXRlc0lPKGRhdGEuZW5jb2RlKCkpCiAKLSAgICAgICAgd2l0aCBzdXBwb3J0LnN3YXBfYXR0cihvcywgJ3BvcGVuJywgbW9ja19wb3Blbik6Ci0gICAgICAgICAgICBtYWMgPSB1dWlkLl9maW5kX21hYygKLSAgICAgICAgICAgICAgICBjb21tYW5kPSdpZmNvbmZpZycsCi0gICAgICAgICAgICAgICAgYXJncz0nJywKLSAgICAgICAgICAgICAgICBod19pZGVudGlmaWVycz1bJ2h3YWRkciddLAotICAgICAgICAgICAgICAgIGdldF9pbmRleD1sYW1iZGEgeDogeCArIDEsCi0gICAgICAgICAgICApCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1hYywgMHgxMjM0NTY3ODkwYWIpCisgICAgICAgIHdpdGggdW5pdHRlc3QubW9jay5wYXRjaC5vYmplY3Qoc2h1dGlsLCAnd2hpY2gnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybl92YWx1ZT0nL3NiaW4vaWZjb25maWcnKToKKyAgICAgICAgICAgIHdpdGggdW5pdHRlc3QubW9jay5wYXRjaC5vYmplY3Qoc3VicHJvY2VzcywgJ1BvcGVuJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuX3ZhbHVlPXBvcGVuKToKKyAgICAgICAgICAgICAgICBtYWMgPSB1dWlkLl9maW5kX21hYygKKyAgICAgICAgICAgICAgICAgICAgY29tbWFuZD0naWZjb25maWcnLAorICAgICAgICAgICAgICAgICAgICBhcmdzPScnLAorICAgICAgICAgICAgICAgICAgICBod19pZGVudGlmaWVycz1bYidod2FkZHInXSwKKyAgICAgICAgICAgICAgICAgICAgZ2V0X2luZGV4PWxhbWJkYSB4OiB4ICsgMSwKKyAgICAgICAgICAgICAgICApCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtYWMsIDB4MTIzNDU2Nzg5MGFiKQogCiAgICAgZGVmIGNoZWNrX25vZGUoc2VsZiwgbm9kZSwgcmVxdWlyZXM9Tm9uZSwgbmV0d29yaz1GYWxzZSk6CiAgICAgICAgIGlmIHJlcXVpcmVzIGFuZCBub2RlIGlzIE5vbmU6CkBAIC00NTQsNiArNDU0LDExIEBACiAgICAgICAgIHNlbGYuY2hlY2tfbm9kZShub2RlLCAnaWZjb25maWcnLCBUcnVlKQogCiAgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3Mob3MubmFtZSA9PSAncG9zaXgnLCAncmVxdWlyZXMgUG9zaXgnKQorICAgIGRlZiB0ZXN0X2lwX2dldG5vZGUoc2VsZik6CisgICAgICAgIG5vZGUgPSB1dWlkLl9pcF9nZXRub2RlKCkKKyAgICAgICAgc2VsZi5jaGVja19ub2RlKG5vZGUsICdpcCcsIFRydWUpCisKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhvcy5uYW1lID09ICdwb3NpeCcsICdyZXF1aXJlcyBQb3NpeCcpCiAgICAgZGVmIHRlc3RfYXJwX2dldG5vZGUoc2VsZik6CiAgICAgICAgIG5vZGUgPSB1dWlkLl9hcnBfZ2V0bm9kZSgpCiAgICAgICAgIHNlbGYuY2hlY2tfbm9kZShub2RlLCAnYXJwJywgVHJ1ZSkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfd2FpdDMucHkgYi9MaWIvdGVzdC90ZXN0X3dhaXQzLnB5CmluZGV4IGY2YTA2NWQuLmJiNzE0ODEgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfd2FpdDMucHkKKysrIGIvTGliL3Rlc3QvdGVzdF93YWl0My5weQpAQCAtMTgsNyArMTgsOCBAQAogICAgICAgICAjIFRoaXMgbWFueSBpdGVyYXRpb25zIGNhbiBiZSByZXF1aXJlZCwgc2luY2Ugc29tZSBwcmV2aW91c2x5IHJ1bgogICAgICAgICAjIHRlc3RzIChlLmcuIHRlc3RfY3R5cGVzKSBjb3VsZCBoYXZlIHNwYXduZWQgYSBsb3Qgb2YgY2hpbGRyZW4KICAgICAgICAgIyB2ZXJ5IHF1aWNrbHkuCi0gICAgICAgIGZvciBpIGluIHJhbmdlKDMwKToKKyAgICAgICAgZGVhZGxpbmUgPSB0aW1lLm1vbm90b25pYygpICsgMTAuMAorICAgICAgICB3aGlsZSB0aW1lLm1vbm90b25pYygpIDw9IGRlYWRsaW5lOgogICAgICAgICAgICAgIyB3YWl0MygpIHNob3VsZG4ndCBoYW5nLCBidXQgc29tZSBvZiB0aGUgYnVpbGRib3RzIHNlZW0gdG8gaGFuZwogICAgICAgICAgICAgIyBpbiB0aGUgZm9ya2luZyB0ZXN0cy4gIFRoaXMgaXMgYW4gYXR0ZW1wdCB0byBmaXggdGhlIHByb2JsZW0uCiAgICAgICAgICAgICBzcGlkLCBzdGF0dXMsIHJ1c2FnZSA9IG9zLndhaXQzKG9zLldOT0hBTkcpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3dhaXQ0LnB5IGIvTGliL3Rlc3QvdGVzdF93YWl0NC5weQppbmRleCAzNTJjMTFhLi5iNDI3YTliIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3dhaXQ0LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3Rfd2FpdDQucHkKQEAgLTE5LDEzICsxOSwxNCBAQAogICAgICAgICAgICAgIyBJc3N1ZSAjMTExODU6IHdhaXQ0IGlzIGJyb2tlbiBvbiBBSVggYW5kIHdpbGwgYWx3YXlzIHJldHVybiAwCiAgICAgICAgICAgICAjIHdpdGggV05PSEFORy4KICAgICAgICAgICAgIG9wdGlvbiA9IDAKLSAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMTApOgorICAgICAgICBkZWFkbGluZSA9IHRpbWUubW9ub3RvbmljKCkgKyAxMC4wCisgICAgICAgIHdoaWxlIHRpbWUubW9ub3RvbmljKCkgPD0gZGVhZGxpbmU6CiAgICAgICAgICAgICAjIHdhaXQ0KCkgc2hvdWxkbid0IGhhbmcsIGJ1dCBzb21lIG9mIHRoZSBidWlsZGJvdHMgc2VlbSB0byBoYW5nCiAgICAgICAgICAgICAjIGluIHRoZSBmb3JraW5nIHRlc3RzLiAgVGhpcyBpcyBhbiBhdHRlbXB0IHRvIGZpeCB0aGUgcHJvYmxlbS4KICAgICAgICAgICAgIHNwaWQsIHN0YXR1cywgcnVzYWdlID0gb3Mud2FpdDQoY3BpZCwgb3B0aW9uKQogICAgICAgICAgICAgaWYgc3BpZCA9PSBjcGlkOgogICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICB0aW1lLnNsZWVwKDEuMCkKKyAgICAgICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNwaWQsIGNwaWQpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RhdHVzLCAwLCAiY2F1c2UgPSAlZCwgZXhpdCA9ICVkIiAlIChzdGF0dXMmMHhmZiwgc3RhdHVzPj44KSkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJ1c2FnZSkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfd2FybmluZ3MucHkgYi9MaWIvdGVzdC90ZXN0X3dhcm5pbmdzLnB5CmluZGV4IGZiMDFiODMuLjlhYzIxMzkgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfd2FybmluZ3MucHkKKysrIGIvTGliL3Rlc3QvdGVzdF93YXJuaW5ncy5weQpAQCAtNSw3ICs1LDcgQEAKIGltcG9ydCBzeXMKIGltcG9ydCB1bml0dGVzdAogZnJvbSB0ZXN0IGltcG9ydCBzdXBwb3J0Ci1mcm9tIHRlc3Quc2NyaXB0X2hlbHBlciBpbXBvcnQgYXNzZXJ0X3B5dGhvbl9vaworZnJvbSB0ZXN0LnNjcmlwdF9oZWxwZXIgaW1wb3J0IGFzc2VydF9weXRob25fb2ssIGFzc2VydF9weXRob25fZmFpbHVyZQogCiBmcm9tIHRlc3QgaW1wb3J0IHdhcm5pbmdfdGVzdHMKIApAQCAtNDMyLDYgKzQzMiw0MSBAQAogICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgogICAgICAgICAgICAgc2VsZi5tb2R1bGUud2FybihCYWRTdHJXYXJuaW5nKCkpCiAKKyAgICBkZWYgdGVzdF93YXJuaW5nX2NsYXNzZXMoc2VsZik6CisgICAgICAgIGNsYXNzIE15V2FybmluZ0NsYXNzKFdhcm5pbmcpOgorICAgICAgICAgICAgcGFzcworCisgICAgICAgIGNsYXNzIE5vbldhcm5pbmdTdWJjbGFzczoKKyAgICAgICAgICAgIHBhc3MKKworICAgICAgICAjIHBhc3NpbmcgYSBub24tc3ViY2xhc3Mgb2YgV2FybmluZyBzaG91bGQgcmFpc2UgYSBUeXBlRXJyb3IKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgc2VsZi5tb2R1bGUud2FybignYmFkIHdhcm5pbmcgY2F0ZWdvcnknLCAnJykKKyAgICAgICAgc2VsZi5hc3NlcnRJbignY2F0ZWdvcnkgbXVzdCBiZSBhIFdhcm5pbmcgc3ViY2xhc3MsIG5vdCAnLAorICAgICAgICAgICAgICAgICAgICAgIHN0cihjbS5leGNlcHRpb24pKQorCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yKSBhcyBjbToKKyAgICAgICAgICAgIHNlbGYubW9kdWxlLndhcm4oJ2JhZCB3YXJuaW5nIGNhdGVnb3J5JywgTm9uV2FybmluZ1N1YmNsYXNzKQorICAgICAgICBzZWxmLmFzc2VydEluKCdjYXRlZ29yeSBtdXN0IGJlIGEgV2FybmluZyBzdWJjbGFzcywgbm90ICcsCisgICAgICAgICAgICAgICAgICAgICAgc3RyKGNtLmV4Y2VwdGlvbikpCisKKyAgICAgICAgIyBjaGVjayB0aGF0IHdhcm5pbmcgaW5zdGFuY2VzIGFsc28gcmFpc2UgYSBUeXBlRXJyb3IKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgc2VsZi5tb2R1bGUud2FybignYmFkIHdhcm5pbmcgY2F0ZWdvcnknLCBNeVdhcm5pbmdDbGFzcygpKQorICAgICAgICBzZWxmLmFzc2VydEluKCdjYXRlZ29yeSBtdXN0IGJlIGEgV2FybmluZyBzdWJjbGFzcywgbm90ICcsCisgICAgICAgICAgICAgICAgICAgICAgc3RyKGNtLmV4Y2VwdGlvbikpCisKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFdhcm5zKE15V2FybmluZ0NsYXNzKSBhcyBjbToKKyAgICAgICAgICAgIHNlbGYubW9kdWxlLndhcm4oJ2dvb2Qgd2FybmluZyBjYXRlZ29yeScsIE15V2FybmluZ0NsYXNzKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdnb29kIHdhcm5pbmcgY2F0ZWdvcnknLCBzdHIoY20ud2FybmluZykpCisKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFdhcm5zKFVzZXJXYXJuaW5nKSBhcyBjbToKKyAgICAgICAgICAgIHNlbGYubW9kdWxlLndhcm4oJ2dvb2Qgd2FybmluZyBjYXRlZ29yeScsIE5vbmUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ2dvb2Qgd2FybmluZyBjYXRlZ29yeScsIHN0cihjbS53YXJuaW5nKSkKKworICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0V2FybnMoTXlXYXJuaW5nQ2xhc3MpIGFzIGNtOgorICAgICAgICAgICAgc2VsZi5tb2R1bGUud2FybignZ29vZCB3YXJuaW5nIGNhdGVnb3J5JywgTXlXYXJuaW5nQ2xhc3MpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShjbS53YXJuaW5nLCBXYXJuaW5nKQogCiBjbGFzcyBDV2FyblRlc3RzKFdhcm5UZXN0cywgdW5pdHRlc3QuVGVzdENhc2UpOgogICAgIG1vZHVsZSA9IGNfd2FybmluZ3MKQEAgLTgyMSw3ICs4NTYsMTkgQEAKICAgICAgICAgICAgICJpbXBvcnQgc3lzOyBzeXMuc3Rkb3V0LndyaXRlKHN0cihzeXMud2Fybm9wdGlvbnMpKSIsCiAgICAgICAgICAgICBQWVRIT05XQVJOSU5HUz0iaWdub3JlOjpEZXByZWNhdGlvbldhcm5pbmciKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0ZG91dCwKLSAgICAgICAgICAgIGIiWydpZ25vcmU6OlVuaWNvZGVXYXJuaW5nJywgJ2lnbm9yZTo6RGVwcmVjYXRpb25XYXJuaW5nJ10iKQorICAgICAgICAgICAgYiJbJ2lnbm9yZTo6RGVwcmVjYXRpb25XYXJuaW5nJywgJ2lnbm9yZTo6VW5pY29kZVdhcm5pbmcnXSIpCisKKyAgICBkZWYgdGVzdF9jb25mbGljdGluZ19lbnZ2YXJfYW5kX2NvbW1hbmRfbGluZShzZWxmKToKKyAgICAgICAgcmMsIHN0ZG91dCwgc3RkZXJyID0gYXNzZXJ0X3B5dGhvbl9mYWlsdXJlKCItV2Vycm9yOjpEZXByZWNhdGlvbldhcm5pbmciLCAiLWMiLAorICAgICAgICAgICAgImltcG9ydCBzeXMsIHdhcm5pbmdzOyBzeXMuc3Rkb3V0LndyaXRlKHN0cihzeXMud2Fybm9wdGlvbnMpKTsgIgorICAgICAgICAgICAgIndhcm5pbmdzLndhcm4oJ01lc3NhZ2UnLCBEZXByZWNhdGlvbldhcm5pbmcpIiwKKyAgICAgICAgICAgIFBZVEhPTldBUk5JTkdTPSJkZWZhdWx0OjpEZXByZWNhdGlvbldhcm5pbmciKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0ZG91dCwKKyAgICAgICAgICAgIGIiWydkZWZhdWx0OjpEZXByZWNhdGlvbldhcm5pbmcnLCAnZXJyb3I6OkRlcHJlY2F0aW9uV2FybmluZyddIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGRlcnIuc3BsaXRsaW5lcygpLAorICAgICAgICAgICAgW2IiVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOiIsCisgICAgICAgICAgICAgYiIgIEZpbGUgXCI8c3RyaW5nPlwiLCBsaW5lIDEsIGluIDxtb2R1bGU+IiwKKyAgICAgICAgICAgICBiIkRlcHJlY2F0aW9uV2FybmluZzogTWVzc2FnZSJdKQogCiAgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3Moc3lzLmdldGZpbGVzeXN0ZW1lbmNvZGluZygpICE9ICdhc2NpaScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVzIG5vbi1hc2NpaSBmaWxlc3lzdGVtZW5jb2RpbmcnKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF93ZWFrcmVmLnB5IGIvTGliL3Rlc3QvdGVzdF93ZWFrcmVmLnB5CmluZGV4IDNlNzM0N2MuLmU3MzUzNzYgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfd2Vha3JlZi5weQorKysgYi9MaWIvdGVzdC90ZXN0X3dlYWtyZWYucHkKQEAgLTkyLDYgKzkyLDE4IEBACiAgICAgICAgIHNlbGYuY2hlY2tfYmFzaWNfY2FsbGJhY2soY3JlYXRlX2Z1bmN0aW9uKQogICAgICAgICBzZWxmLmNoZWNrX2Jhc2ljX2NhbGxiYWNrKGNyZWF0ZV9ib3VuZF9tZXRob2QpCiAKKyAgICBAc3VwcG9ydC5jcHl0aG9uX29ubHkKKyAgICBkZWYgdGVzdF9jZnVuY3Rpb24oc2VsZik6CisgICAgICAgIGltcG9ydCBfdGVzdGNhcGkKKyAgICAgICAgY3JlYXRlX2NmdW5jdGlvbiA9IF90ZXN0Y2FwaS5jcmVhdGVfY2Z1bmN0aW9uCisgICAgICAgIGYgPSBjcmVhdGVfY2Z1bmN0aW9uKCkKKyAgICAgICAgd3IgPSB3ZWFrcmVmLnJlZihmKQorICAgICAgICBzZWxmLmFzc2VydElzKHdyKCksIGYpCisgICAgICAgIGRlbCBmCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHdyKCkpCisgICAgICAgIHNlbGYuY2hlY2tfYmFzaWNfcmVmKGNyZWF0ZV9jZnVuY3Rpb24pCisgICAgICAgIHNlbGYuY2hlY2tfYmFzaWNfY2FsbGJhY2soY3JlYXRlX2NmdW5jdGlvbikKKwogICAgIGRlZiB0ZXN0X211bHRpcGxlX2NhbGxiYWNrcyhzZWxmKToKICAgICAgICAgbyA9IEMoKQogICAgICAgICByZWYxID0gd2Vha3JlZi5yZWYobywgc2VsZi5jYWxsYmFjaykKQEAgLTE1NzQsNiArMTU4NiwxNCBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihkKSwgMCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb3VudCwgMikKIAorICAgIGRlZiB0ZXN0X21ha2Vfd2Vha192YWx1ZWRfZGljdF9yZXByKHNlbGYpOgorICAgICAgICBkaWN0ID0gd2Vha3JlZi5XZWFrVmFsdWVEaWN0aW9uYXJ5KCkKKyAgICAgICAgc2VsZi5hc3NlcnRSZWdleChyZXByKGRpY3QpLCAnPFdlYWtWYWx1ZURpY3Rpb25hcnkgYXQgMHguKj4nKQorCisgICAgZGVmIHRlc3RfbWFrZV93ZWFrX2tleWVkX2RpY3RfcmVwcihzZWxmKToKKyAgICAgICAgZGljdCA9IHdlYWtyZWYuV2Vha0tleURpY3Rpb25hcnkoKQorICAgICAgICBzZWxmLmFzc2VydFJlZ2V4KHJlcHIoZGljdCksICc8V2Vha0tleURpY3Rpb25hcnkgYXQgMHguKj4nKQorCiBmcm9tIHRlc3QgaW1wb3J0IG1hcHBpbmdfdGVzdHMKIAogY2xhc3MgV2Vha1ZhbHVlRGljdGlvbmFyeVRlc3RDYXNlKG1hcHBpbmdfdGVzdHMuQmFzaWNUZXN0TWFwcGluZ1Byb3RvY29sKToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfd3NnaXJlZi5weSBiL0xpYi90ZXN0L3Rlc3Rfd3NnaXJlZi5weQppbmRleCBlMjEzZDc3Li40NzlmY2JjIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3dzZ2lyZWYucHkKKysrIGIvTGliL3Rlc3QvdGVzdF93c2dpcmVmLnB5CkBAIC0zNDMsNiArMzQzLDcgQEAKIAogICAgIGRlZiB0ZXN0TWFwcGluZ0ludGVyZmFjZShzZWxmKToKICAgICAgICAgdGVzdCA9IFsoJ3gnLCd5JyldCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKEhlYWRlcnMoKSksIDApCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKEhlYWRlcnMoW10pKSwwKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihIZWFkZXJzKHRlc3RbOl0pKSwxKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEhlYWRlcnModGVzdFs6XSkua2V5cygpLCBbJ3gnXSkKQEAgLTM1MCw3ICszNTEsNyBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEhlYWRlcnModGVzdFs6XSkuaXRlbXMoKSwgdGVzdCkKICAgICAgICAgc2VsZi5hc3NlcnRJc05vdChIZWFkZXJzKHRlc3QpLml0ZW1zKCksIHRlc3QpICAjIG11c3QgYmUgY29weSEKIAotICAgICAgICBoPUhlYWRlcnMoW10pCisgICAgICAgIGggPSBIZWFkZXJzKCkKICAgICAgICAgZGVsIGhbJ2ZvbyddICAgIyBzaG91bGQgbm90IHJhaXNlIGFuIGVycm9yCiAKICAgICAgICAgaFsnRm9vJ10gPSAnYmFyJwpAQCAtMzc1LDkgKzM3Niw4IEBACiAgICAgZGVmIHRlc3RSZXF1aXJlTGlzdChzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBIZWFkZXJzLCAiZm9vIikKIAotCiAgICAgZGVmIHRlc3RFeHRyYXMoc2VsZik6Ci0gICAgICAgIGggPSBIZWFkZXJzKFtdKQorICAgICAgICBoID0gSGVhZGVycygpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGgpLCdcclxuJykKIAogICAgICAgICBoLmFkZF9oZWFkZXIoJ2ZvbycsJ2JhcicsYmF6PSJzcGFtIikKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfeG1scnBjLnB5IGIvTGliL3Rlc3QvdGVzdF94bWxycGMucHkKaW5kZXggNzFiNTkwYy4uZGMzN2JlMiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF94bWxycGMucHkKKysrIGIvTGliL3Rlc3QvdGVzdF94bWxycGMucHkKQEAgLTI4Nyw3ICsyODcsNyBAQAogICAgIGRlZiB0ZXN0X3JlcHIoc2VsZik6CiAgICAgICAgIGQgPSBkYXRldGltZS5kYXRldGltZSgyMDA3LDEsMiwzLDQsNSkKICAgICAgICAgdCA9IHhtbHJwY2xpYi5EYXRlVGltZShkKQotICAgICAgICB2YWwgPSI8RGF0ZVRpbWUgJzIwMDcwMTAyVDAzOjA0OjA1JyBhdCAleD4iICUgaWQodCkKKyAgICAgICAgdmFsID0iPERhdGVUaW1lICcyMDA3MDEwMlQwMzowNDowNScgYXQgJSN4PiIgJSBpZCh0KQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcHIodCksIHZhbCkKIAogICAgIGRlZiB0ZXN0X2RlY29kZShzZWxmKToKQEAgLTcxMyw2ICs3MTMsMjMgQEAKICAgICAgICAgY29ubi5yZXF1ZXN0KCdQT1NUJywgJy9SUEMyIEhUVFAvMS4wXHJcbkNvbnRlbnQtTGVuZ3RoOiAxMDBcclxuXHJcbmJ5ZScpCiAgICAgICAgIGNvbm4uY2xvc2UoKQogCisgICAgZGVmIHRlc3RfY29udGV4dF9tYW5hZ2VyKHNlbGYpOgorICAgICAgICB3aXRoIHhtbHJwY2xpYi5TZXJ2ZXJQcm94eShVUkwpIGFzIHNlcnZlcjoKKyAgICAgICAgICAgIHNlcnZlci5hZGQoMiwgMykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoc2VydmVyKCd0cmFuc3BvcnQnKS5fY29ubmVjdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKE5vbmUsIE5vbmUpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlcnZlcigndHJhbnNwb3J0JykuX2Nvbm5lY3Rpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgKE5vbmUsIE5vbmUpKQorCisgICAgZGVmIHRlc3RfY29udGV4dF9tYW5hZ2VyX21ldGhvZF9lcnJvcihzZWxmKToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgd2l0aCB4bWxycGNsaWIuU2VydmVyUHJveHkoVVJMKSBhcyBzZXJ2ZXI6CisgICAgICAgICAgICAgICAgc2VydmVyLmFkZCgyLCAiYSIpCisgICAgICAgIGV4Y2VwdCB4bWxycGNsaWIuRmF1bHQ6CisgICAgICAgICAgICBwYXNzCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VydmVyKCd0cmFuc3BvcnQnKS5fY29ubmVjdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAoTm9uZSwgTm9uZSkpCisKIAogY2xhc3MgTXVsdGlQYXRoU2VydmVyVGVzdENhc2UoQmFzZVNlcnZlclRlc3RDYXNlKToKICAgICB0aHJlYWRGdW5jID0gc3RhdGljbWV0aG9kKGh0dHBfbXVsdGlfc2VydmVyKQpAQCAtODkxLDcgKzkwOCw3IEBACiAgICAgICAgIGRhdGEgPSBiJ1wwJyAqIChtYXhfZ3ppcF9kZWNvZGUgKyAxKQogICAgICAgICBlbmNvZGVkID0geG1scnBjbGliLmd6aXBfZW5jb2RlKGRhdGEpCiAKLSAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4cChWYWx1ZUVycm9yLAorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVmFsdWVFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWF4IGd6aXBwZWQgcGF5bG9hZCBsZW5ndGggZXhjZWVkZWQiKToKICAgICAgICAgICAgIHhtbHJwY2xpYi5nemlwX2RlY29kZShlbmNvZGVkKQogCkBAIC05MTksNiArOTM2LDcgQEAKICAgICAgICAgcCA9IHhtbHJwY2xpYi5TZXJ2ZXJQcm94eShzZWxmLnVybCwgdHJhbnNwb3J0PXQpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocCgndHJhbnNwb3J0JyksIHQpCiAKKwogIyBUaGlzIGlzIGEgY29udHJpdmVkIHdheSB0byBtYWtlIGEgZmFpbHVyZSBvY2N1ciBvbiB0aGUgc2VydmVyIHNpZGUKICMgaW4gb3JkZXIgdG8gdGVzdCB0aGUgX3NlbmRfdHJhY2ViYWNrX2hlYWRlciBmbGFnIG9uIHRoZSBzZXJ2ZXIKIGNsYXNzIEZhaWxpbmdNZXNzYWdlQ2xhc3MoaHR0cC5jbGllbnQuSFRUUE1lc3NhZ2UpOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF96aXBmaWxlLnB5IGIvTGliL3Rlc3QvdGVzdF96aXBmaWxlLnB5CmluZGV4IDc2ZTMyZmIuLmFiZTgwZTQgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfemlwZmlsZS5weQorKysgYi9MaWIvdGVzdC90ZXN0X3ppcGZpbGUucHkKQEAgLTMzMCw2ICszMzAsMzcgQEAKICAgICAgICAgICAgICAgICAgICAgd2hpbGUgemlwb3Blbi5yZWFkMSgxMDApOgogICAgICAgICAgICAgICAgICAgICAgICAgcGFzcwogCisgICAgZGVmIHRlc3RfcmVwcihzZWxmKToKKyAgICAgICAgZm5hbWUgPSAnZmlsZS5uYW1lJworICAgICAgICBmb3IgZiBpbiBnZXRfZmlsZXMoc2VsZik6CisgICAgICAgICAgICB3aXRoIHppcGZpbGUuWmlwRmlsZShmLCAndycsIHNlbGYuY29tcHJlc3Npb24pIGFzIHppcGZwOgorICAgICAgICAgICAgICAgIHppcGZwLndyaXRlKFRFU1RGTiwgZm5hbWUpCisgICAgICAgICAgICAgICAgciA9IHJlcHIoemlwZnApCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJbigibW9kZT0ndyciLCByKQorCisgICAgICAgICAgICB3aXRoIHppcGZpbGUuWmlwRmlsZShmLCAncicpIGFzIHppcGZwOgorICAgICAgICAgICAgICAgIHIgPSByZXByKHppcGZwKQorICAgICAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UoZiwgc3RyKToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJbignZmlsZW5hbWU9JXInICUgZiwgcikKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEluKCdmaWxlPSVyJyAlIGYsIHIpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJbigibW9kZT0nciciLCByKQorICAgICAgICAgICAgICAgIHIgPSByZXByKHppcGZwLmdldGluZm8oZm5hbWUpKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ2ZpbGVuYW1lPSVyJyAlIGZuYW1lLCByKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ2ZpbGVtb2RlPScsIHIpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJbignZmlsZV9zaXplPScsIHIpCisgICAgICAgICAgICAgICAgaWYgc2VsZi5jb21wcmVzc2lvbiAhPSB6aXBmaWxlLlpJUF9TVE9SRUQ6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ2NvbXByZXNzX3R5cGU9JywgcikKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJbignY29tcHJlc3Nfc2l6ZT0nLCByKQorICAgICAgICAgICAgICAgIHdpdGggemlwZnAub3BlbihmbmFtZSkgYXMgemlwb3BlbjoKKyAgICAgICAgICAgICAgICAgICAgciA9IHJlcHIoemlwb3BlbikKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJbignbmFtZT0lcicgJSBmbmFtZSwgcikKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJbigibW9kZT0nciciLCByKQorICAgICAgICAgICAgICAgICAgICBpZiBzZWxmLmNvbXByZXNzaW9uICE9IHppcGZpbGUuWklQX1NUT1JFRDoKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ2NvbXByZXNzX3R5cGU9JywgcikKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEluKCdbY2xvc2VkXScsIHJlcHIoemlwb3BlbikpCisgICAgICAgICAgICBzZWxmLmFzc2VydEluKCdbY2xvc2VkXScsIHJlcHIoemlwZnApKQorCiAgICAgZGVmIHRlYXJEb3duKHNlbGYpOgogICAgICAgICB1bmxpbmsoVEVTVEZOKQogICAgICAgICB1bmxpbmsoVEVTVEZOMikKQEAgLTE2MzcsNiArMTY2OCwzNCBAQAogICAgIGNvbXByZXNzaW9uID0gemlwZmlsZS5aSVBfTFpNQQogCiAKKyMgUHJpdmlkZSB0aGUgdGVsbCgpIG1ldGhvZCBidXQgbm90IHNlZWsoKQorY2xhc3MgVGVsbGFibGU6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGZwKToKKyAgICAgICAgc2VsZi5mcCA9IGZwCisgICAgICAgIHNlbGYub2Zmc2V0ID0gMAorCisgICAgZGVmIHdyaXRlKHNlbGYsIGRhdGEpOgorICAgICAgICBzZWxmLm9mZnNldCArPSBzZWxmLmZwLndyaXRlKGRhdGEpCisKKyAgICBkZWYgdGVsbChzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYub2Zmc2V0CisKKyAgICBkZWYgZmx1c2goc2VsZik6CisgICAgICAgIHBhc3MKKworY2xhc3MgVW5zZWVrYWJsZVRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICBkZWYgdGVzdF93cml0ZXN0cl90ZWxsYWJsZShzZWxmKToKKyAgICAgICAgZiA9IGlvLkJ5dGVzSU8oKQorICAgICAgICB3aXRoIHppcGZpbGUuWmlwRmlsZShUZWxsYWJsZShmKSwgJ3cnLCB6aXBmaWxlLlpJUF9TVE9SRUQpIGFzIHppcGZwOgorICAgICAgICAgICAgemlwZnAud3JpdGVzdHIoJ29uZXMnLCBiJzExMScpCisgICAgICAgICAgICB6aXBmcC53cml0ZXN0cigndHdvcycsIGInMjIyJykKKyAgICAgICAgd2l0aCB6aXBmaWxlLlppcEZpbGUoZiwgbW9kZT0ncicpIGFzIHppcGY6CisgICAgICAgICAgICB3aXRoIHppcGYub3Blbignb25lcycpIGFzIHpvcGVuOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoem9wZW4ucmVhZCgpLCBiJzExMScpCisgICAgICAgICAgICB3aXRoIHppcGYub3BlbigndHdvcycpIGFzIHpvcGVuOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoem9wZW4ucmVhZCgpLCBiJzIyMicpCisKKwogQHJlcXVpcmVzX3psaWIKIGNsYXNzIFRlc3RzV2l0aE11bHRpcGxlT3BlbnModW5pdHRlc3QuVGVzdENhc2UpOgogICAgIEBjbGFzc21ldGhvZApAQCAtMTY1MywzNSArMTcxMiw1MiBAQAogICAgIGRlZiB0ZXN0X3NhbWVfZmlsZShzZWxmKToKICAgICAgICAgIyBWZXJpZnkgdGhhdCAod2hlbiB0aGUgWmlwRmlsZSBpcyBpbiBjb250cm9sIG9mIGNyZWF0aW5nIGZpbGUgb2JqZWN0cykKICAgICAgICAgIyBtdWx0aXBsZSBvcGVuKCkgY2FsbHMgY2FuIGJlIG1hZGUgd2l0aG91dCBpbnRlcmZlcmluZyB3aXRoIGVhY2ggb3RoZXIuCi0gICAgICAgIHNlbGYubWFrZV90ZXN0X2FyY2hpdmUoVEVTVEZOMikKLSAgICAgICAgd2l0aCB6aXBmaWxlLlppcEZpbGUoVEVTVEZOMiwgbW9kZT0iciIpIGFzIHppcGY6Ci0gICAgICAgICAgICB3aXRoIHppcGYub3Blbignb25lcycpIGFzIHpvcGVuMSwgemlwZi5vcGVuKCdvbmVzJykgYXMgem9wZW4yOgotICAgICAgICAgICAgICAgIGRhdGExID0gem9wZW4xLnJlYWQoNTAwKQotICAgICAgICAgICAgICAgIGRhdGEyID0gem9wZW4yLnJlYWQoNTAwKQotICAgICAgICAgICAgICAgIGRhdGExICs9IHpvcGVuMS5yZWFkKCkKLSAgICAgICAgICAgICAgICBkYXRhMiArPSB6b3BlbjIucmVhZCgpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRhdGExLCBkYXRhMikKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YTEsIHNlbGYuZGF0YTEpCisgICAgICAgIGZvciBmIGluIGdldF9maWxlcyhzZWxmKToKKyAgICAgICAgICAgIHNlbGYubWFrZV90ZXN0X2FyY2hpdmUoZikKKyAgICAgICAgICAgIHdpdGggemlwZmlsZS5aaXBGaWxlKGYsIG1vZGU9InIiKSBhcyB6aXBmOgorICAgICAgICAgICAgICAgIHdpdGggemlwZi5vcGVuKCdvbmVzJykgYXMgem9wZW4xLCB6aXBmLm9wZW4oJ29uZXMnKSBhcyB6b3BlbjI6CisgICAgICAgICAgICAgICAgICAgIGRhdGExID0gem9wZW4xLnJlYWQoNTAwKQorICAgICAgICAgICAgICAgICAgICBkYXRhMiA9IHpvcGVuMi5yZWFkKDUwMCkKKyAgICAgICAgICAgICAgICAgICAgZGF0YTEgKz0gem9wZW4xLnJlYWQoKQorICAgICAgICAgICAgICAgICAgICBkYXRhMiArPSB6b3BlbjIucmVhZCgpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRhMSwgZGF0YTIpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRhMSwgc2VsZi5kYXRhMSkKIAogICAgIGRlZiB0ZXN0X2RpZmZlcmVudF9maWxlKHNlbGYpOgogICAgICAgICAjIFZlcmlmeSB0aGF0ICh3aGVuIHRoZSBaaXBGaWxlIGlzIGluIGNvbnRyb2wgb2YgY3JlYXRpbmcgZmlsZSBvYmplY3RzKQogICAgICAgICAjIG11bHRpcGxlIG9wZW4oKSBjYWxscyBjYW4gYmUgbWFkZSB3aXRob3V0IGludGVyZmVyaW5nIHdpdGggZWFjaCBvdGhlci4KLSAgICAgICAgc2VsZi5tYWtlX3Rlc3RfYXJjaGl2ZShURVNURk4yKQotICAgICAgICB3aXRoIHppcGZpbGUuWmlwRmlsZShURVNURk4yLCBtb2RlPSJyIikgYXMgemlwZjoKLSAgICAgICAgICAgIHdpdGggemlwZi5vcGVuKCdvbmVzJykgYXMgem9wZW4xLCB6aXBmLm9wZW4oJ3R3b3MnKSBhcyB6b3BlbjI6Ci0gICAgICAgICAgICAgICAgZGF0YTEgPSB6b3BlbjEucmVhZCg1MDApCi0gICAgICAgICAgICAgICAgZGF0YTIgPSB6b3BlbjIucmVhZCg1MDApCi0gICAgICAgICAgICAgICAgZGF0YTEgKz0gem9wZW4xLnJlYWQoKQotICAgICAgICAgICAgICAgIGRhdGEyICs9IHpvcGVuMi5yZWFkKCkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YTEsIHNlbGYuZGF0YTEpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRhdGEyLCBzZWxmLmRhdGEyKQorICAgICAgICBmb3IgZiBpbiBnZXRfZmlsZXMoc2VsZik6CisgICAgICAgICAgICBzZWxmLm1ha2VfdGVzdF9hcmNoaXZlKGYpCisgICAgICAgICAgICB3aXRoIHppcGZpbGUuWmlwRmlsZShmLCBtb2RlPSJyIikgYXMgemlwZjoKKyAgICAgICAgICAgICAgICB3aXRoIHppcGYub3Blbignb25lcycpIGFzIHpvcGVuMSwgemlwZi5vcGVuKCd0d29zJykgYXMgem9wZW4yOgorICAgICAgICAgICAgICAgICAgICBkYXRhMSA9IHpvcGVuMS5yZWFkKDUwMCkKKyAgICAgICAgICAgICAgICAgICAgZGF0YTIgPSB6b3BlbjIucmVhZCg1MDApCisgICAgICAgICAgICAgICAgICAgIGRhdGExICs9IHpvcGVuMS5yZWFkKCkKKyAgICAgICAgICAgICAgICAgICAgZGF0YTIgKz0gem9wZW4yLnJlYWQoKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YTEsIHNlbGYuZGF0YTEpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRhMiwgc2VsZi5kYXRhMikKIAogICAgIGRlZiB0ZXN0X2ludGVybGVhdmVkKHNlbGYpOgogICAgICAgICAjIFZlcmlmeSB0aGF0ICh3aGVuIHRoZSBaaXBGaWxlIGlzIGluIGNvbnRyb2wgb2YgY3JlYXRpbmcgZmlsZSBvYmplY3RzKQogICAgICAgICAjIG11bHRpcGxlIG9wZW4oKSBjYWxscyBjYW4gYmUgbWFkZSB3aXRob3V0IGludGVyZmVyaW5nIHdpdGggZWFjaCBvdGhlci4KLSAgICAgICAgc2VsZi5tYWtlX3Rlc3RfYXJjaGl2ZShURVNURk4yKQotICAgICAgICB3aXRoIHppcGZpbGUuWmlwRmlsZShURVNURk4yLCBtb2RlPSJyIikgYXMgemlwZjoKLSAgICAgICAgICAgIHdpdGggemlwZi5vcGVuKCdvbmVzJykgYXMgem9wZW4xLCB6aXBmLm9wZW4oJ3R3b3MnKSBhcyB6b3BlbjI6CisgICAgICAgIGZvciBmIGluIGdldF9maWxlcyhzZWxmKToKKyAgICAgICAgICAgIHNlbGYubWFrZV90ZXN0X2FyY2hpdmUoZikKKyAgICAgICAgICAgIHdpdGggemlwZmlsZS5aaXBGaWxlKGYsIG1vZGU9InIiKSBhcyB6aXBmOgorICAgICAgICAgICAgICAgIHdpdGggemlwZi5vcGVuKCdvbmVzJykgYXMgem9wZW4xLCB6aXBmLm9wZW4oJ3R3b3MnKSBhcyB6b3BlbjI6CisgICAgICAgICAgICAgICAgICAgIGRhdGExID0gem9wZW4xLnJlYWQoNTAwKQorICAgICAgICAgICAgICAgICAgICBkYXRhMiA9IHpvcGVuMi5yZWFkKDUwMCkKKyAgICAgICAgICAgICAgICAgICAgZGF0YTEgKz0gem9wZW4xLnJlYWQoKQorICAgICAgICAgICAgICAgICAgICBkYXRhMiArPSB6b3BlbjIucmVhZCgpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRhMSwgc2VsZi5kYXRhMSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRhdGEyLCBzZWxmLmRhdGEyKQorCisgICAgZGVmIHRlc3RfcmVhZF9hZnRlcl9jbG9zZShzZWxmKToKKyAgICAgICAgZm9yIGYgaW4gZ2V0X2ZpbGVzKHNlbGYpOgorICAgICAgICAgICAgc2VsZi5tYWtlX3Rlc3RfYXJjaGl2ZShmKQorICAgICAgICAgICAgd2l0aCBjb250ZXh0bGliLkV4aXRTdGFjaygpIGFzIHN0YWNrOgorICAgICAgICAgICAgICAgIHdpdGggemlwZmlsZS5aaXBGaWxlKGYsICdyJykgYXMgemlwZjoKKyAgICAgICAgICAgICAgICAgICAgem9wZW4xID0gc3RhY2suZW50ZXJfY29udGV4dCh6aXBmLm9wZW4oJ29uZXMnKSkKKyAgICAgICAgICAgICAgICAgICAgem9wZW4yID0gc3RhY2suZW50ZXJfY29udGV4dCh6aXBmLm9wZW4oJ3R3b3MnKSkKICAgICAgICAgICAgICAgICBkYXRhMSA9IHpvcGVuMS5yZWFkKDUwMCkKICAgICAgICAgICAgICAgICBkYXRhMiA9IHpvcGVuMi5yZWFkKDUwMCkKICAgICAgICAgICAgICAgICBkYXRhMSArPSB6b3BlbjEucmVhZCgpCkBAIC0xNjg5LDQzICsxNzY1LDMyIEBACiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRhdGExLCBzZWxmLmRhdGExKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRhMiwgc2VsZi5kYXRhMikKIAotICAgIGRlZiB0ZXN0X3JlYWRfYWZ0ZXJfY2xvc2Uoc2VsZik6Ci0gICAgICAgIHNlbGYubWFrZV90ZXN0X2FyY2hpdmUoVEVTVEZOMikKLSAgICAgICAgd2l0aCBjb250ZXh0bGliLkV4aXRTdGFjaygpIGFzIHN0YWNrOgotICAgICAgICAgICAgd2l0aCB6aXBmaWxlLlppcEZpbGUoVEVTVEZOMiwgJ3InKSBhcyB6aXBmOgotICAgICAgICAgICAgICAgIHpvcGVuMSA9IHN0YWNrLmVudGVyX2NvbnRleHQoemlwZi5vcGVuKCdvbmVzJykpCi0gICAgICAgICAgICAgICAgem9wZW4yID0gc3RhY2suZW50ZXJfY29udGV4dCh6aXBmLm9wZW4oJ3R3b3MnKSkKLSAgICAgICAgICAgIGRhdGExID0gem9wZW4xLnJlYWQoNTAwKQotICAgICAgICAgICAgZGF0YTIgPSB6b3BlbjIucmVhZCg1MDApCi0gICAgICAgICAgICBkYXRhMSArPSB6b3BlbjEucmVhZCgpCi0gICAgICAgICAgICBkYXRhMiArPSB6b3BlbjIucmVhZCgpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YTEsIHNlbGYuZGF0YTEpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YTIsIHNlbGYuZGF0YTIpCi0KICAgICBkZWYgdGVzdF9yZWFkX2FmdGVyX3dyaXRlKHNlbGYpOgotICAgICAgICB3aXRoIHppcGZpbGUuWmlwRmlsZShURVNURk4yLCAndycsIHppcGZpbGUuWklQX0RFRkxBVEVEKSBhcyB6aXBmOgotICAgICAgICAgICAgemlwZi53cml0ZXN0cignb25lcycsIHNlbGYuZGF0YTEpCi0gICAgICAgICAgICB6aXBmLndyaXRlc3RyKCd0d29zJywgc2VsZi5kYXRhMikKLSAgICAgICAgICAgIHdpdGggemlwZi5vcGVuKCdvbmVzJykgYXMgem9wZW4xOgotICAgICAgICAgICAgICAgIGRhdGExID0gem9wZW4xLnJlYWQoNTAwKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRhdGExLCBzZWxmLmRhdGExWzo1MDBdKQotICAgICAgICB3aXRoIHppcGZpbGUuWmlwRmlsZShURVNURk4yLCAncicpIGFzIHppcGY6Ci0gICAgICAgICAgICBkYXRhMSA9IHppcGYucmVhZCgnb25lcycpCi0gICAgICAgICAgICBkYXRhMiA9IHppcGYucmVhZCgndHdvcycpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YTEsIHNlbGYuZGF0YTEpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YTIsIHNlbGYuZGF0YTIpCisgICAgICAgIGZvciBmIGluIGdldF9maWxlcyhzZWxmKToKKyAgICAgICAgICAgIHdpdGggemlwZmlsZS5aaXBGaWxlKGYsICd3JywgemlwZmlsZS5aSVBfREVGTEFURUQpIGFzIHppcGY6CisgICAgICAgICAgICAgICAgemlwZi53cml0ZXN0cignb25lcycsIHNlbGYuZGF0YTEpCisgICAgICAgICAgICAgICAgemlwZi53cml0ZXN0cigndHdvcycsIHNlbGYuZGF0YTIpCisgICAgICAgICAgICAgICAgd2l0aCB6aXBmLm9wZW4oJ29uZXMnKSBhcyB6b3BlbjE6CisgICAgICAgICAgICAgICAgICAgIGRhdGExID0gem9wZW4xLnJlYWQoNTAwKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRhMSwgc2VsZi5kYXRhMVs6NTAwXSkKKyAgICAgICAgICAgIHdpdGggemlwZmlsZS5aaXBGaWxlKGYsICdyJykgYXMgemlwZjoKKyAgICAgICAgICAgICAgICBkYXRhMSA9IHppcGYucmVhZCgnb25lcycpCisgICAgICAgICAgICAgICAgZGF0YTIgPSB6aXBmLnJlYWQoJ3R3b3MnKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRhMSwgc2VsZi5kYXRhMSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YTIsIHNlbGYuZGF0YTIpCiAKICAgICBkZWYgdGVzdF93cml0ZV9hZnRlcl9yZWFkKHNlbGYpOgotICAgICAgICB3aXRoIHppcGZpbGUuWmlwRmlsZShURVNURk4yLCAidyIsIHppcGZpbGUuWklQX0RFRkxBVEVEKSBhcyB6aXBmOgotICAgICAgICAgICAgemlwZi53cml0ZXN0cignb25lcycsIHNlbGYuZGF0YTEpCi0gICAgICAgICAgICB3aXRoIHppcGYub3Blbignb25lcycpIGFzIHpvcGVuMToKLSAgICAgICAgICAgICAgICB6b3BlbjEucmVhZCg1MDApCi0gICAgICAgICAgICAgICAgemlwZi53cml0ZXN0cigndHdvcycsIHNlbGYuZGF0YTIpCi0gICAgICAgIHdpdGggemlwZmlsZS5aaXBGaWxlKFRFU1RGTjIsICdyJykgYXMgemlwZjoKLSAgICAgICAgICAgIGRhdGExID0gemlwZi5yZWFkKCdvbmVzJykKLSAgICAgICAgICAgIGRhdGEyID0gemlwZi5yZWFkKCd0d29zJykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRhMSwgc2VsZi5kYXRhMSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRhMiwgc2VsZi5kYXRhMikKKyAgICAgICAgZm9yIGYgaW4gZ2V0X2ZpbGVzKHNlbGYpOgorICAgICAgICAgICAgd2l0aCB6aXBmaWxlLlppcEZpbGUoZiwgInciLCB6aXBmaWxlLlpJUF9ERUZMQVRFRCkgYXMgemlwZjoKKyAgICAgICAgICAgICAgICB6aXBmLndyaXRlc3RyKCdvbmVzJywgc2VsZi5kYXRhMSkKKyAgICAgICAgICAgICAgICB3aXRoIHppcGYub3Blbignb25lcycpIGFzIHpvcGVuMToKKyAgICAgICAgICAgICAgICAgICAgem9wZW4xLnJlYWQoNTAwKQorICAgICAgICAgICAgICAgICAgICB6aXBmLndyaXRlc3RyKCd0d29zJywgc2VsZi5kYXRhMikKKyAgICAgICAgICAgIHdpdGggemlwZmlsZS5aaXBGaWxlKGYsICdyJykgYXMgemlwZjoKKyAgICAgICAgICAgICAgICBkYXRhMSA9IHppcGYucmVhZCgnb25lcycpCisgICAgICAgICAgICAgICAgZGF0YTIgPSB6aXBmLnJlYWQoJ3R3b3MnKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRhMSwgc2VsZi5kYXRhMSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YTIsIHNlbGYuZGF0YTIpCiAKICAgICBkZWYgdGVzdF9tYW55X29wZW5zKHNlbGYpOgogICAgICAgICAjIFZlcmlmeSB0aGF0IHJlYWQoKSBhbmQgb3BlbigpIHByb21wdGx5IGNsb3NlIHRoZSBmaWxlIGRlc2NyaXB0b3IsCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3ppcGltcG9ydF9zdXBwb3J0LnB5IGIvTGliL3Rlc3QvdGVzdF96aXBpbXBvcnRfc3VwcG9ydC5weQppbmRleCA2NmMzNTU3Li4yZTgwMWE4IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3ppcGltcG9ydF9zdXBwb3J0LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfemlwaW1wb3J0X3N1cHBvcnQucHkKQEAgLTM5LDcgKzM5LDcgQEAKICAgICAjIFVzZSB0aGUgb2JqZWN0J3MgZnVsbHkgcXVhbGlmaWVkIG5hbWUgaWYgaXQgaGFzIG9uZQogICAgICMgT3RoZXJ3aXNlLCB1c2UgdGhlIG1vZHVsZSdzIG5hbWUKICAgICB0cnk6Ci0gICAgICAgIG5hbWUgPSAiJXMuJXMiICUgKG9iai5fX21vZHVsZV9fLCBvYmouX19uYW1lX18pCisgICAgICAgIG5hbWUgPSAiJXMuJXMiICUgKG9iai5fX21vZHVsZV9fLCBvYmouX19xdWFsbmFtZV9fKQogICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKICAgICAgICAgbmFtZSA9IG1vZHVsZS5fX25hbWVfXwogICAgIGZvciBleGFtcGxlIGluIGZpbmRlci5maW5kKG9iaiwgbmFtZSwgbW9kdWxlKToKZGlmZiAtLWdpdCBhL0xpYi90aHJlYWRpbmcucHkgYi9MaWIvdGhyZWFkaW5nLnB5CmluZGV4IDM3YWEzYjguLjI0Y2M5MTEgMTAwNjQ0Ci0tLSBhL0xpYi90aHJlYWRpbmcucHkKKysrIGIvTGliL3RocmVhZGluZy5weQpAQCAtMywxMCArMyw3IEBACiBpbXBvcnQgc3lzIGFzIF9zeXMKIGltcG9ydCBfdGhyZWFkCiAKLXRyeToKLSAgICBmcm9tIHRpbWUgaW1wb3J0IG1vbm90b25pYyBhcyBfdGltZQotZXhjZXB0IEltcG9ydEVycm9yOgotICAgIGZyb20gdGltZSBpbXBvcnQgdGltZSBhcyBfdGltZQorZnJvbSB0aW1lIGltcG9ydCBtb25vdG9uaWMgYXMgX3RpbWUKIGZyb20gdHJhY2ViYWNrIGltcG9ydCBmb3JtYXRfZXhjIGFzIF9mb3JtYXRfZXhjCiBmcm9tIF93ZWFrcmVmc2V0IGltcG9ydCBXZWFrU2V0CiBmcm9tIGl0ZXJ0b29scyBpbXBvcnQgaXNsaWNlIGFzIF9pc2xpY2UsIGNvdW50IGFzIF9jb3VudApAQCAtMTA2LDggKzEwMywxNCBAQAogICAgICAgICAgICAgb3duZXIgPSBfYWN0aXZlW293bmVyXS5uYW1lCiAgICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKICAgICAgICAgICAgIHBhc3MKLSAgICAgICAgcmV0dXJuICI8JXMgb3duZXI9JXIgY291bnQ9JWQ+IiAlICgKLSAgICAgICAgICAgICAgICBzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywgb3duZXIsIHNlbGYuX2NvdW50KQorICAgICAgICByZXR1cm4gIjwlcyAlcy4lcyBvYmplY3Qgb3duZXI9JXIgY291bnQ9JWQgYXQgJXM+IiAlICgKKyAgICAgICAgICAgICJsb2NrZWQiIGlmIHNlbGYuX2Jsb2NrLmxvY2tlZCgpIGVsc2UgInVubG9ja2VkIiwKKyAgICAgICAgICAgIHNlbGYuX19jbGFzc19fLl9fbW9kdWxlX18sCisgICAgICAgICAgICBzZWxmLl9fY2xhc3NfXy5fX3F1YWxuYW1lX18sCisgICAgICAgICAgICBvd25lciwKKyAgICAgICAgICAgIHNlbGYuX2NvdW50LAorICAgICAgICAgICAgaGV4KGlkKHNlbGYpKQorICAgICAgICApCiAKICAgICBkZWYgYWNxdWlyZShzZWxmLCBibG9ja2luZz1UcnVlLCB0aW1lb3V0PS0xKToKICAgICAgICAgIiIiQWNxdWlyZSBhIGxvY2ssIGJsb2NraW5nIG9yIG5vbi1ibG9ja2luZy4KZGlmZiAtLWdpdCBhL0xpYi90aW1laXQucHkgYi9MaWIvdGltZWl0LnB5CmluZGV4IDljZWMwMDAuLjM4MDc3OTQgMTAwNzU1Ci0tLSBhL0xpYi90aW1laXQucHkKKysrIGIvTGliL3RpbWVpdC5weQpAQCAtNjAsNiArNjAsOCBAQAogZGVmYXVsdF9yZXBlYXQgPSAzCiBkZWZhdWx0X3RpbWVyID0gdGltZS5wZXJmX2NvdW50ZXIKIAorX2dsb2JhbHMgPSBnbG9iYWxzCisKICMgRG9uJ3QgY2hhbmdlIHRoZSBpbmRlbnRhdGlvbiBvZiB0aGUgdGVtcGxhdGU7IHRoZSByZWluZGVudCgpIGNhbGxzCiAjIGluIFRpbWVyLl9faW5pdF9fKCkgZGVwZW5kIG9uIHNldHVwIGJlaW5nIGluZGVudGVkIDQgc3BhY2VzIGFuZCBzdG10CiAjIGJlaW5nIGluZGVudGVkIDggc3BhY2VzLgpAQCAtOTQsNyArOTYsOSBAQAogICAgIFRoZSBjb25zdHJ1Y3RvciB0YWtlcyBhIHN0YXRlbWVudCB0byBiZSB0aW1lZCwgYW4gYWRkaXRpb25hbAogICAgIHN0YXRlbWVudCB1c2VkIGZvciBzZXR1cCwgYW5kIGEgdGltZXIgZnVuY3Rpb24uICBCb3RoIHN0YXRlbWVudHMKICAgICBkZWZhdWx0IHRvICdwYXNzJzsgdGhlIHRpbWVyIGZ1bmN0aW9uIGlzIHBsYXRmb3JtLWRlcGVuZGVudCAoc2VlCi0gICAgbW9kdWxlIGRvYyBzdHJpbmcpLgorICAgIG1vZHVsZSBkb2Mgc3RyaW5nKS4gIElmICdnbG9iYWxzJyBpcyBzcGVjaWZpZWQsIHRoZSBjb2RlIHdpbGwgYmUKKyAgICBleGVjdXRlZCB3aXRoaW4gdGhhdCBuYW1lc3BhY2UgKGFzIG9wcG9zZWQgdG8gaW5zaWRlIHRpbWVpdCdzCisgICAgbmFtZXNwYWNlKS4KIAogICAgIFRvIG1lYXN1cmUgdGhlIGV4ZWN1dGlvbiB0aW1lIG9mIHRoZSBmaXJzdCBzdGF0ZW1lbnQsIHVzZSB0aGUKICAgICB0aW1laXQoKSBtZXRob2QuICBUaGUgcmVwZWF0KCkgbWV0aG9kIGlzIGEgY29udmVuaWVuY2UgdG8gY2FsbApAQCAtMTA0LDEwICsxMDgsMTIgQEAKICAgICBtdWx0aS1saW5lIHN0cmluZyBsaXRlcmFscy4KICAgICAiIiIKIAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBzdG10PSJwYXNzIiwgc2V0dXA9InBhc3MiLCB0aW1lcj1kZWZhdWx0X3RpbWVyKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgc3RtdD0icGFzcyIsIHNldHVwPSJwYXNzIiwgdGltZXI9ZGVmYXVsdF90aW1lciwKKyAgICAgICAgICAgICAgICAgZ2xvYmFscz1Ob25lKToKICAgICAgICAgIiIiQ29uc3RydWN0b3IuICBTZWUgY2xhc3MgZG9jIHN0cmluZy4iIiIKICAgICAgICAgc2VsZi50aW1lciA9IHRpbWVyCi0gICAgICAgIG5zID0ge30KKyAgICAgICAgbG9jYWxfbnMgPSB7fQorICAgICAgICBnbG9iYWxfbnMgPSBfZ2xvYmFscygpIGlmIGdsb2JhbHMgaXMgTm9uZSBlbHNlIGdsb2JhbHMKICAgICAgICAgaWYgaXNpbnN0YW5jZShzdG10LCBzdHIpOgogICAgICAgICAgICAgIyBDaGVjayB0aGF0IHRoZSBjb2RlIGNhbiBiZSBjb21waWxlZCBvdXRzaWRlIGEgZnVuY3Rpb24KICAgICAgICAgICAgIGlmIGlzaW5zdGFuY2Uoc2V0dXAsIHN0cik6CkBAIC0xMjEsMTkgKzEyNywxOSBAQAogICAgICAgICAgICAgICAgIHNyYyA9IHRlbXBsYXRlLmZvcm1hdChzdG10PXN0bXQsIHNldHVwPXNldHVwKQogICAgICAgICAgICAgZWxpZiBjYWxsYWJsZShzZXR1cCk6CiAgICAgICAgICAgICAgICAgc3JjID0gdGVtcGxhdGUuZm9ybWF0KHN0bXQ9c3RtdCwgc2V0dXA9J19zZXR1cCgpJykKLSAgICAgICAgICAgICAgICBuc1snX3NldHVwJ10gPSBzZXR1cAorICAgICAgICAgICAgICAgIGxvY2FsX25zWydfc2V0dXAnXSA9IHNldHVwCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoInNldHVwIGlzIG5laXRoZXIgYSBzdHJpbmcgbm9yIGNhbGxhYmxlIikKLSAgICAgICAgICAgIHNlbGYuc3JjID0gc3JjICMgU2F2ZSBmb3IgdHJhY2ViYWNrIGRpc3BsYXkKKyAgICAgICAgICAgIHNlbGYuc3JjID0gc3JjICAjIFNhdmUgZm9yIHRyYWNlYmFjayBkaXNwbGF5CiAgICAgICAgICAgICBjb2RlID0gY29tcGlsZShzcmMsIGR1bW15X3NyY19uYW1lLCAiZXhlYyIpCi0gICAgICAgICAgICBleGVjKGNvZGUsIGdsb2JhbHMoKSwgbnMpCi0gICAgICAgICAgICBzZWxmLmlubmVyID0gbnNbImlubmVyIl0KKyAgICAgICAgICAgIGV4ZWMoY29kZSwgZ2xvYmFsX25zLCBsb2NhbF9ucykKKyAgICAgICAgICAgIHNlbGYuaW5uZXIgPSBsb2NhbF9uc1siaW5uZXIiXQogICAgICAgICBlbGlmIGNhbGxhYmxlKHN0bXQpOgogICAgICAgICAgICAgc2VsZi5zcmMgPSBOb25lCiAgICAgICAgICAgICBpZiBpc2luc3RhbmNlKHNldHVwLCBzdHIpOgogICAgICAgICAgICAgICAgIF9zZXR1cCA9IHNldHVwCiAgICAgICAgICAgICAgICAgZGVmIHNldHVwKCk6Ci0gICAgICAgICAgICAgICAgICAgIGV4ZWMoX3NldHVwLCBnbG9iYWxzKCksIG5zKQorICAgICAgICAgICAgICAgICAgICBleGVjKF9zZXR1cCwgZ2xvYmFsX25zLCBsb2NhbF9ucykKICAgICAgICAgICAgIGVsaWYgbm90IGNhbGxhYmxlKHNldHVwKToKICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJzZXR1cCBpcyBuZWl0aGVyIGEgc3RyaW5nIG5vciBjYWxsYWJsZSIpCiAgICAgICAgICAgICBzZWxmLmlubmVyID0gX3RlbXBsYXRlX2Z1bmMoc2V0dXAsIHN0bXQpCkBAIC0yMTQsMTQgKzIyMCwxNCBAQAogICAgICAgICByZXR1cm4gcgogCiBkZWYgdGltZWl0KHN0bXQ9InBhc3MiLCBzZXR1cD0icGFzcyIsIHRpbWVyPWRlZmF1bHRfdGltZXIsCi0gICAgICAgICAgIG51bWJlcj1kZWZhdWx0X251bWJlcik6CisgICAgICAgICAgIG51bWJlcj1kZWZhdWx0X251bWJlciwgZ2xvYmFscz1Ob25lKToKICAgICAiIiJDb252ZW5pZW5jZSBmdW5jdGlvbiB0byBjcmVhdGUgVGltZXIgb2JqZWN0IGFuZCBjYWxsIHRpbWVpdCBtZXRob2QuIiIiCi0gICAgcmV0dXJuIFRpbWVyKHN0bXQsIHNldHVwLCB0aW1lcikudGltZWl0KG51bWJlcikKKyAgICByZXR1cm4gVGltZXIoc3RtdCwgc2V0dXAsIHRpbWVyLCBnbG9iYWxzKS50aW1laXQobnVtYmVyKQogCiBkZWYgcmVwZWF0KHN0bXQ9InBhc3MiLCBzZXR1cD0icGFzcyIsIHRpbWVyPWRlZmF1bHRfdGltZXIsCi0gICAgICAgICAgIHJlcGVhdD1kZWZhdWx0X3JlcGVhdCwgbnVtYmVyPWRlZmF1bHRfbnVtYmVyKToKKyAgICAgICAgICAgcmVwZWF0PWRlZmF1bHRfcmVwZWF0LCBudW1iZXI9ZGVmYXVsdF9udW1iZXIsIGdsb2JhbHM9Tm9uZSk6CiAgICAgIiIiQ29udmVuaWVuY2UgZnVuY3Rpb24gdG8gY3JlYXRlIFRpbWVyIG9iamVjdCBhbmQgY2FsbCByZXBlYXQgbWV0aG9kLiIiIgotICAgIHJldHVybiBUaW1lcihzdG10LCBzZXR1cCwgdGltZXIpLnJlcGVhdChyZXBlYXQsIG51bWJlcikKKyAgICByZXR1cm4gVGltZXIoc3RtdCwgc2V0dXAsIHRpbWVyLCBnbG9iYWxzKS5yZXBlYXQocmVwZWF0LCBudW1iZXIpCiAKIGRlZiBtYWluKGFyZ3M9Tm9uZSwgKiwgX3dyYXBfdGltZXI9Tm9uZSk6CiAgICAgIiIiTWFpbiBwcm9ncmFtLCB1c2VkIHdoZW4gcnVuIGFzIGEgc2NyaXB0LgpkaWZmIC0tZ2l0IGEvTGliL3RraW50ZXIvX19pbml0X18ucHkgYi9MaWIvdGtpbnRlci9fX2luaXRfXy5weQppbmRleCBhMWZmY2ExLi5iZWIwYTczIDEwMDY0NAotLS0gYS9MaWIvdGtpbnRlci9fX2luaXRfXy5weQorKysgYi9MaWIvdGtpbnRlci9fX2luaXRfXy5weQpAQCAtNzcwLDkgKzc3MCw2IEBACiAgICAgICAgICIiIlJhaXNlIHRoaXMgd2lkZ2V0IGluIHRoZSBzdGFja2luZyBvcmRlci4iIiIKICAgICAgICAgc2VsZi50ay5jYWxsKCdyYWlzZScsIHNlbGYuX3csIGFib3ZlVGhpcykKICAgICBsaWZ0ID0gdGtyYWlzZQotICAgIGRlZiBjb2xvcm1vZGVsKHNlbGYsIHZhbHVlPU5vbmUpOgotICAgICAgICAiIiJVc2VsZXNzLiBOb3QgaW1wbGVtZW50ZWQgaW4gVGsuIiIiCi0gICAgICAgIHJldHVybiBzZWxmLnRrLmNhbGwoJ3RrJywgJ2NvbG9ybW9kZWwnLCBzZWxmLl93LCB2YWx1ZSkKICAgICBkZWYgd2luZm9fYXRvbShzZWxmLCBuYW1lLCBkaXNwbGF5b2Y9MCk6CiAgICAgICAgICIiIlJldHVybiBpbnRlZ2VyIHdoaWNoIHJlcHJlc2VudHMgYXRvbSBOQU1FLiIiIgogICAgICAgICBhcmdzID0gKCd3aW5mbycsICdhdG9tJykgKyBzZWxmLl9kaXNwbGF5b2YoZGlzcGxheW9mKSArIChuYW1lLCkKQEAgLTEzMzEsNiArMTMyOCwxMSBAQAogICAgIGRlZiBfX3N0cl9fKHNlbGYpOgogICAgICAgICAiIiJSZXR1cm4gdGhlIHdpbmRvdyBwYXRoIG5hbWUgb2YgdGhpcyB3aWRnZXQuIiIiCiAgICAgICAgIHJldHVybiBzZWxmLl93CisKKyAgICBkZWYgX19yZXByX18oc2VsZik6CisgICAgICAgIHJldHVybiAnPCVzLiVzIG9iamVjdCAlcz4nICUgKAorICAgICAgICAgICAgc2VsZi5fX2NsYXNzX18uX19tb2R1bGVfXywgc2VsZi5fX2NsYXNzX18uX19xdWFsbmFtZV9fLCBzZWxmLl93KQorCiAgICAgIyBQYWNrIG1ldGhvZHMgdGhhdCBhcHBseSB0byB0aGUgbWFzdGVyCiAgICAgX25vYXJnXyA9IFsnX25vYXJnXyddCiAgICAgZGVmIHBhY2tfcHJvcGFnYXRlKHNlbGYsIGZsYWc9X25vYXJnXyk6CkBAIC0yMTkxLDIxICsyMTkzLDYgQEAKICAgICAgICAgIiIiCiAgICAgICAgIFdpZGdldC5fX2luaXRfXyhzZWxmLCBtYXN0ZXIsICdidXR0b24nLCBjbmYsIGt3KQogCi0gICAgZGVmIHRrQnV0dG9uRW50ZXIoc2VsZiwgKmR1bW15KToKLSAgICAgICAgc2VsZi50ay5jYWxsKCd0a0J1dHRvbkVudGVyJywgc2VsZi5fdykKLQotICAgIGRlZiB0a0J1dHRvbkxlYXZlKHNlbGYsICpkdW1teSk6Ci0gICAgICAgIHNlbGYudGsuY2FsbCgndGtCdXR0b25MZWF2ZScsIHNlbGYuX3cpCi0KLSAgICBkZWYgdGtCdXR0b25Eb3duKHNlbGYsICpkdW1teSk6Ci0gICAgICAgIHNlbGYudGsuY2FsbCgndGtCdXR0b25Eb3duJywgc2VsZi5fdykKLQotICAgIGRlZiB0a0J1dHRvblVwKHNlbGYsICpkdW1teSk6Ci0gICAgICAgIHNlbGYudGsuY2FsbCgndGtCdXR0b25VcCcsIHNlbGYuX3cpCi0KLSAgICBkZWYgdGtCdXR0b25JbnZva2Uoc2VsZiwgKmR1bW15KToKLSAgICAgICAgc2VsZi50ay5jYWxsKCd0a0J1dHRvbkludm9rZScsIHNlbGYuX3cpCi0KICAgICBkZWYgZmxhc2goc2VsZik6CiAgICAgICAgICIiIkZsYXNoIHRoZSBidXR0b24uCiAKQEAgLTI3MDQsMzUgKzI2OTEsMTUgQEAKICAgICAgICAgZGlzYWJsZWRmb3JlZ3JvdW5kLCBmZywgZm9udCwgZm9yZWdyb3VuZCwgcG9zdGNvbW1hbmQsIHJlbGllZiwKICAgICAgICAgc2VsZWN0Y29sb3IsIHRha2Vmb2N1cywgdGVhcm9mZiwgdGVhcm9mZmNvbW1hbmQsIHRpdGxlLCB0eXBlLiIiIgogICAgICAgICBXaWRnZXQuX19pbml0X18oc2VsZiwgbWFzdGVyLCAnbWVudScsIGNuZiwga3cpCisgICAgZGVmIHRrX3BvcHVwKHNlbGYsIHgsIHksIGVudHJ5PSIiKToKKyAgICAgICAgIiIiUG9zdCB0aGUgbWVudSBhdCBwb3NpdGlvbiBYLFkgd2l0aCBlbnRyeSBFTlRSWS4iIiIKKyAgICAgICAgc2VsZi50ay5jYWxsKCd0a19wb3B1cCcsIHNlbGYuX3csIHgsIHksIGVudHJ5KQogICAgIGRlZiB0a19iaW5kRm9yVHJhdmVyc2FsKHNlbGYpOgogICAgICAgICAjIG9ic29sZXRlIHNpbmNlIFRrIDQuMAogICAgICAgICBpbXBvcnQgd2FybmluZ3MKICAgICAgICAgd2FybmluZ3Mud2FybigndGtfYmluZEZvclRyYXZlcnNhbCgpIGRvZXMgbm90aGluZyBhbmQgJwogICAgICAgICAgICAgICAgICAgICAgICd3aWxsIGJlIHJlbW92ZWQgaW4gMy42JywKICAgICAgICAgICAgICAgICAgICAgICBEZXByZWNhdGlvbldhcm5pbmcsIHN0YWNrbGV2ZWw9MikKLSAgICBkZWYgdGtfbWJQb3N0KHNlbGYpOgotICAgICAgICBzZWxmLnRrLmNhbGwoJ3RrX21iUG9zdCcsIHNlbGYuX3cpCi0gICAgZGVmIHRrX21iVW5wb3N0KHNlbGYpOgotICAgICAgICBzZWxmLnRrLmNhbGwoJ3RrX21iVW5wb3N0JykKLSAgICBkZWYgdGtfdHJhdmVyc2VUb01lbnUoc2VsZiwgY2hhcik6Ci0gICAgICAgIHNlbGYudGsuY2FsbCgndGtfdHJhdmVyc2VUb01lbnUnLCBzZWxmLl93LCBjaGFyKQotICAgIGRlZiB0a190cmF2ZXJzZVdpdGhpbk1lbnUoc2VsZiwgY2hhcik6Ci0gICAgICAgIHNlbGYudGsuY2FsbCgndGtfdHJhdmVyc2VXaXRoaW5NZW51Jywgc2VsZi5fdywgY2hhcikKLSAgICBkZWYgdGtfZ2V0TWVudUJ1dHRvbnMoc2VsZik6Ci0gICAgICAgIHJldHVybiBzZWxmLnRrLmNhbGwoJ3RrX2dldE1lbnVCdXR0b25zJywgc2VsZi5fdykKLSAgICBkZWYgdGtfbmV4dE1lbnUoc2VsZiwgY291bnQpOgotICAgICAgICBzZWxmLnRrLmNhbGwoJ3RrX25leHRNZW51JywgY291bnQpCi0gICAgZGVmIHRrX25leHRNZW51RW50cnkoc2VsZiwgY291bnQpOgotICAgICAgICBzZWxmLnRrLmNhbGwoJ3RrX25leHRNZW51RW50cnknLCBjb3VudCkKLSAgICBkZWYgdGtfaW52b2tlTWVudShzZWxmKToKLSAgICAgICAgc2VsZi50ay5jYWxsKCd0a19pbnZva2VNZW51Jywgc2VsZi5fdykKLSAgICBkZWYgdGtfZmlyc3RNZW51KHNlbGYpOgotICAgICAgICBzZWxmLnRrLmNhbGwoJ3RrX2ZpcnN0TWVudScsIHNlbGYuX3cpCi0gICAgZGVmIHRrX21iQnV0dG9uRG93bihzZWxmKToKLSAgICAgICAgc2VsZi50ay5jYWxsKCd0a19tYkJ1dHRvbkRvd24nLCBzZWxmLl93KQotICAgIGRlZiB0a19wb3B1cChzZWxmLCB4LCB5LCBlbnRyeT0iIik6Ci0gICAgICAgICIiIlBvc3QgdGhlIG1lbnUgYXQgcG9zaXRpb24gWCxZIHdpdGggZW50cnkgRU5UUlkuIiIiCi0gICAgICAgIHNlbGYudGsuY2FsbCgndGtfcG9wdXAnLCBzZWxmLl93LCB4LCB5LCBlbnRyeSkKICAgICBkZWYgYWN0aXZhdGUoc2VsZiwgaW5kZXgpOgogICAgICAgICAiIiJBY3RpdmF0ZSBlbnRyeSBhdCBJTkRFWC4iIiIKICAgICAgICAgc2VsZi50ay5jYWxsKHNlbGYuX3csICdhY3RpdmF0ZScsIGluZGV4KQpAQCAtMjkwNSwxMCArMjg3MiwxNCBAQAogICAgICAgICByZWxpZWYsIHJlcGVhdGRlbGF5LCByZXBlYXRpbnRlcnZhbCwgdGFrZWZvY3VzLAogICAgICAgICB0cm91Z2hjb2xvciwgd2lkdGguIiIiCiAgICAgICAgIFdpZGdldC5fX2luaXRfXyhzZWxmLCBtYXN0ZXIsICdzY3JvbGxiYXInLCBjbmYsIGt3KQotICAgIGRlZiBhY3RpdmF0ZShzZWxmLCBpbmRleCk6Ci0gICAgICAgICIiIkRpc3BsYXkgdGhlIGVsZW1lbnQgYXQgSU5ERVggd2l0aCBhY3RpdmViYWNrZ3JvdW5kIGFuZCBhY3RpdmVyZWxpZWYuCi0gICAgICAgIElOREVYIGNhbiBiZSAiYXJyb3cxIiwic2xpZGVyIiBvciAiYXJyb3cyIi4iIiIKLSAgICAgICAgc2VsZi50ay5jYWxsKHNlbGYuX3csICdhY3RpdmF0ZScsIGluZGV4KQorICAgIGRlZiBhY3RpdmF0ZShzZWxmLCBpbmRleD1Ob25lKToKKyAgICAgICAgIiIiTWFya3MgdGhlIGVsZW1lbnQgaW5kaWNhdGVkIGJ5IGluZGV4IGFzIGFjdGl2ZS4KKyAgICAgICAgVGhlIG9ubHkgaW5kZXggdmFsdWVzIHVuZGVyc3Rvb2QgYnkgdGhpcyBtZXRob2QgYXJlICJhcnJvdzEiLAorICAgICAgICAic2xpZGVyIiwgb3IgImFycm93MiIuICBJZiBhbnkgb3RoZXIgdmFsdWUgaXMgc3BlY2lmaWVkIHRoZW4gbm8KKyAgICAgICAgZWxlbWVudCBvZiB0aGUgc2Nyb2xsYmFyIHdpbGwgYmUgYWN0aXZlLiAgSWYgaW5kZXggaXMgbm90IHNwZWNpZmllZCwKKyAgICAgICAgdGhlIG1ldGhvZCByZXR1cm5zIHRoZSBuYW1lIG9mIHRoZSBlbGVtZW50IHRoYXQgaXMgY3VycmVudGx5IGFjdGl2ZSwKKyAgICAgICAgb3IgTm9uZSBpZiBubyBlbGVtZW50IGlzIGFjdGl2ZS4iIiIKKyAgICAgICAgcmV0dXJuIHNlbGYudGsuY2FsbChzZWxmLl93LCAnYWN0aXZhdGUnLCBpbmRleCkgb3IgTm9uZQogICAgIGRlZiBkZWx0YShzZWxmLCBkZWx0YXgsIGRlbHRheSk6CiAgICAgICAgICIiIlJldHVybiB0aGUgZnJhY3Rpb25hbCBjaGFuZ2Ugb2YgdGhlIHNjcm9sbGJhciBzZXR0aW5nIGlmIGl0CiAgICAgICAgIHdvdWxkIGJlIG1vdmVkIGJ5IERFTFRBWCBvciBERUxUQVkgcGl4ZWxzLiIiIgpAQCAtMjkyNiwxMCArMjg5NywxMCBAQAogICAgICAgICAiIiJSZXR1cm4gdGhlIGN1cnJlbnQgZnJhY3Rpb25hbCB2YWx1ZXMgKHVwcGVyIGFuZCBsb3dlciBlbmQpCiAgICAgICAgIG9mIHRoZSBzbGlkZXIgcG9zaXRpb24uIiIiCiAgICAgICAgIHJldHVybiBzZWxmLl9nZXRkb3VibGVzKHNlbGYudGsuY2FsbChzZWxmLl93LCAnZ2V0JykpCi0gICAgZGVmIHNldChzZWxmLCAqYXJncyk6CisgICAgZGVmIHNldChzZWxmLCBmaXJzdCwgbGFzdCk6CiAgICAgICAgICIiIlNldCB0aGUgZnJhY3Rpb25hbCB2YWx1ZXMgb2YgdGhlIHNsaWRlciBwb3NpdGlvbiAodXBwZXIgYW5kCiAgICAgICAgIGxvd2VyIGVuZHMgYXMgdmFsdWUgYmV0d2VlbiAwIGFuZCAxKS4iIiIKLSAgICAgICAgc2VsZi50ay5jYWxsKChzZWxmLl93LCAnc2V0JykgKyBhcmdzKQorICAgICAgICBzZWxmLnRrLmNhbGwoc2VsZi5fdywgJ3NldCcsIGZpcnN0LCBsYXN0KQogCiAKIApAQCAtMjk2NCwxNCArMjkzNSw2IEBACiAgICAgICAgIGJveCBvZiB0aGUgdmlzaWJsZSBwYXJ0IG9mIHRoZSBjaGFyYWN0ZXIgYXQgdGhlIGdpdmVuIGluZGV4LiIiIgogICAgICAgICByZXR1cm4gc2VsZi5fZ2V0aW50cygKICAgICAgICAgICAgICAgICBzZWxmLnRrLmNhbGwoc2VsZi5fdywgJ2Jib3gnLCBpbmRleCkpIG9yIE5vbmUKLSAgICBkZWYgdGtfdGV4dFNlbGVjdFRvKHNlbGYsIGluZGV4KToKLSAgICAgICAgc2VsZi50ay5jYWxsKCd0a190ZXh0U2VsZWN0VG8nLCBzZWxmLl93LCBpbmRleCkKLSAgICBkZWYgdGtfdGV4dEJhY2tzcGFjZShzZWxmKToKLSAgICAgICAgc2VsZi50ay5jYWxsKCd0a190ZXh0QmFja3NwYWNlJywgc2VsZi5fdykKLSAgICBkZWYgdGtfdGV4dEluZGV4Q2xvc2VyKHNlbGYsIGEsIGIsIGMpOgotICAgICAgICBzZWxmLnRrLmNhbGwoJ3RrX3RleHRJbmRleENsb3NlcicsIHNlbGYuX3csIGEsIGIsIGMpCi0gICAgZGVmIHRrX3RleHRSZXNldEFuY2hvcihzZWxmLCBpbmRleCk6Ci0gICAgICAgIHNlbGYudGsuY2FsbCgndGtfdGV4dFJlc2V0QW5jaG9yJywgc2VsZi5fdywgaW5kZXgpCiAgICAgZGVmIGNvbXBhcmUoc2VsZiwgaW5kZXgxLCBvcCwgaW5kZXgyKToKICAgICAgICAgIiIiUmV0dXJuIHdoZXRoZXIgYmV0d2VlbiBpbmRleCBJTkRFWDEgYW5kIGluZGV4IElOREVYMiB0aGUKICAgICAgICAgcmVsYXRpb24gT1AgaXMgc2F0aXNmaWVkLiBPUCBpcyBvbmUgb2YgPCwgPD0sID09LCA+PSwgPiwgb3IgIT0uIiIiCkBAIC0zODQ5LDM1ICszODEyLDEyIEBACiAgICAgICAgICIiIlJldHVybnMgYW4gb3JkZXJlZCBsaXN0IG9mIHRoZSBjaGlsZCBwYW5lcy4iIiIKICAgICAgICAgcmV0dXJuIHNlbGYudGsuc3BsaXRsaXN0KHNlbGYudGsuY2FsbChzZWxmLl93LCAncGFuZXMnKSkKIAotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyBFeHRlbnNpb25zOgotCi1jbGFzcyBTdHVkYnV0dG9uKEJ1dHRvbik6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIG1hc3Rlcj1Ob25lLCBjbmY9e30sICoqa3cpOgotICAgICAgICBXaWRnZXQuX19pbml0X18oc2VsZiwgbWFzdGVyLCAnc3R1ZGJ1dHRvbicsIGNuZiwga3cpCi0gICAgICAgIHNlbGYuYmluZCgnPEFueS1FbnRlcj4nLCAgICAgICBzZWxmLnRrQnV0dG9uRW50ZXIpCi0gICAgICAgIHNlbGYuYmluZCgnPEFueS1MZWF2ZT4nLCAgICAgICBzZWxmLnRrQnV0dG9uTGVhdmUpCi0gICAgICAgIHNlbGYuYmluZCgnPDE+JywgICAgICAgICAgICAgICBzZWxmLnRrQnV0dG9uRG93bikKLSAgICAgICAgc2VsZi5iaW5kKCc8QnV0dG9uUmVsZWFzZS0xPicsIHNlbGYudGtCdXR0b25VcCkKLQotY2xhc3MgVHJpYnV0dG9uKEJ1dHRvbik6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIG1hc3Rlcj1Ob25lLCBjbmY9e30sICoqa3cpOgotICAgICAgICBXaWRnZXQuX19pbml0X18oc2VsZiwgbWFzdGVyLCAndHJpYnV0dG9uJywgY25mLCBrdykKLSAgICAgICAgc2VsZi5iaW5kKCc8QW55LUVudGVyPicsICAgICAgIHNlbGYudGtCdXR0b25FbnRlcikKLSAgICAgICAgc2VsZi5iaW5kKCc8QW55LUxlYXZlPicsICAgICAgIHNlbGYudGtCdXR0b25MZWF2ZSkKLSAgICAgICAgc2VsZi5iaW5kKCc8MT4nLCAgICAgICAgICAgICAgIHNlbGYudGtCdXR0b25Eb3duKQotICAgICAgICBzZWxmLmJpbmQoJzxCdXR0b25SZWxlYXNlLTE+Jywgc2VsZi50a0J1dHRvblVwKQotICAgICAgICBzZWxmWydmZyddICAgICAgICAgICAgICAgPSBzZWxmWydiZyddCi0gICAgICAgIHNlbGZbJ2FjdGl2ZWJhY2tncm91bmQnXSA9IHNlbGZbJ2JnJ10KLQotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIyBUZXN0OgogCiBkZWYgX3Rlc3QoKToKICAgICByb290ID0gVGsoKQogICAgIHRleHQgPSAiVGhpcyBpcyBUY2wvVGsgdmVyc2lvbiAlcyIgJSBUY2xWZXJzaW9uCi0gICAgaWYgVGNsVmVyc2lvbiA+PSA4LjE6Ci0gICAgICAgIHRleHQgKz0gIlxuVGhpcyBzaG91bGQgYmUgYSBjZWRpbGxhOiBceGU3IgorICAgIHRleHQgKz0gIlxuVGhpcyBzaG91bGQgYmUgYSBjZWRpbGxhOiBceGU3IgogICAgIGxhYmVsID0gTGFiZWwocm9vdCwgdGV4dD10ZXh0KQogICAgIGxhYmVsLnBhY2soKQogICAgIHRlc3QgPSBCdXR0b24ocm9vdCwgdGV4dD0iQ2xpY2sgbWUhIiwKZGlmZiAtLWdpdCBhL0xpYi90a2ludGVyL3Rlc3QvdGVzdF90a2ludGVyL3Rlc3RfbWlzYy5weSBiL0xpYi90a2ludGVyL3Rlc3QvdGVzdF90a2ludGVyL3Rlc3RfbWlzYy5weQppbmRleCBkOGRlOTQ5Li44NWVlMmM3IDEwMDY0NAotLS0gYS9MaWIvdGtpbnRlci90ZXN0L3Rlc3RfdGtpbnRlci90ZXN0X21pc2MucHkKKysrIGIvTGliL3RraW50ZXIvdGVzdC90ZXN0X3RraW50ZXIvdGVzdF9taXNjLnB5CkBAIC03LDYgKzcsMTEgQEAKIAogY2xhc3MgTWlzY1Rlc3QoQWJzdHJhY3RUa1Rlc3QsIHVuaXR0ZXN0LlRlc3RDYXNlKToKIAorICAgIGRlZiB0ZXN0X3JlcHIoc2VsZik6CisgICAgICAgIHQgPSB0a2ludGVyLlRvcGxldmVsKHNlbGYucm9vdCwgbmFtZT0ndG9wJykKKyAgICAgICAgZiA9IHRraW50ZXIuRnJhbWUodCwgbmFtZT0nY2hpbGQnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcHIoZiksICc8dGtpbnRlci5GcmFtZSBvYmplY3QgLnRvcC5jaGlsZD4nKQorCiAgICAgZGVmIHRlc3RfdGtfc2V0UGFsZXR0ZShzZWxmKToKICAgICAgICAgcm9vdCA9IHNlbGYucm9vdAogICAgICAgICByb290LnRrX3NldFBhbGV0dGUoJ2JsYWNrJykKZGlmZiAtLWdpdCBhL0xpYi90a2ludGVyL3Rlc3QvdGVzdF90a2ludGVyL3Rlc3Rfd2lkZ2V0cy5weSBiL0xpYi90a2ludGVyL3Rlc3QvdGVzdF90a2ludGVyL3Rlc3Rfd2lkZ2V0cy5weQppbmRleCA1OGM4ZWExLi4yNWIxYTAyIDEwMDY0NAotLS0gYS9MaWIvdGtpbnRlci90ZXN0L3Rlc3RfdGtpbnRlci90ZXN0X3dpZGdldHMucHkKKysrIGIvTGliL3RraW50ZXIvdGVzdC90ZXN0X3RraW50ZXIvdGVzdF93aWRnZXRzLnB5CkBAIC05MjAsOCArOTIwLDkgQEAKICAgICAgICAgc2IgPSBzZWxmLmNyZWF0ZSgpCiAgICAgICAgIGZvciBlIGluICgnYXJyb3cxJywgJ3NsaWRlcicsICdhcnJvdzInKToKICAgICAgICAgICAgIHNiLmFjdGl2YXRlKGUpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNiLmFjdGl2YXRlKCksIGUpCiAgICAgICAgIHNiLmFjdGl2YXRlKCcnKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHNiLmFjdGl2YXRlKQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShzYi5hY3RpdmF0ZSgpKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHNiLmFjdGl2YXRlLCAnYXJyb3cxJywgJ2Fycm93MicpCiAKICAgICBkZWYgdGVzdF9zZXQoc2VsZik6CkBAIC05MzEsOCArOTMyLDggQEAKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVGNsRXJyb3IsIHNiLnNldCwgJ2FiYycsICdkZWYnKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUY2xFcnJvciwgc2Iuc2V0LCAwLjYsICdkZWYnKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUY2xFcnJvciwgc2Iuc2V0LCAwLjYsIE5vbmUpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFRjbEVycm9yLCBzYi5zZXQsIDAuNikKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVGNsRXJyb3IsIHNiLnNldCwgMC42LCAwLjcsIDAuOCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBzYi5zZXQsIDAuNikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBzYi5zZXQsIDAuNiwgMC43LCAwLjgpCiAKIAogQGFkZF9zdGFuZGFyZF9vcHRpb25zKFN0YW5kYXJkT3B0aW9uc1Rlc3RzKQpkaWZmIC0tZ2l0IGEvTGliL3Rva2VuLnB5IGIvTGliL3Rva2VuLnB5CmluZGV4IDc0NzBjOGMuLmJkZmNlYzggMTAwNjQ0Ci0tLSBhL0xpYi90b2tlbi5weQorKysgYi9MaWIvdG9rZW4ucHkKQEAgLTYwLDExICs2MCwxMiBAQAogRE9VQkxFU0xBU0ggPSA0NwogRE9VQkxFU0xBU0hFUVVBTCA9IDQ4CiBBVCA9IDQ5Ci1SQVJST1cgPSA1MAotRUxMSVBTSVMgPSA1MQotT1AgPSA1MgotRVJST1JUT0tFTiA9IDUzCi1OX1RPS0VOUyA9IDU0CitBVEVRVUFMID0gNTAKK1JBUlJPVyA9IDUxCitFTExJUFNJUyA9IDUyCitPUCA9IDUzCitFUlJPUlRPS0VOID0gNTQKK05fVE9LRU5TID0gNTUKIE5UX09GRlNFVCA9IDI1NgogIy0tZW5kIGNvbnN0YW50cy0tCiAKZGlmZiAtLWdpdCBhL0xpYi90b2tlbml6ZS5weSBiL0xpYi90b2tlbml6ZS5weQppbmRleCA1YjQ3ZWJkLi4wNjU5YzU1IDEwMDY0NAotLS0gYS9MaWIvdG9rZW5pemUucHkKKysrIGIvTGliL3Rva2VuaXplLnB5CkBAIC05MCw3ICs5MCw4IEBACiAgICAgJyoqPSc6IERPVUJMRVNUQVJFUVVBTCwKICAgICAnLy8nOiAgRE9VQkxFU0xBU0gsCiAgICAgJy8vPSc6IERPVUJMRVNMQVNIRVFVQUwsCi0gICAgJ0AnOiAgIEFUCisgICAgJ0AnOiAgIEFULAorICAgICdAPSc6ICBBVEVRVUFMLAogfQogCiBjbGFzcyBUb2tlbkluZm8oY29sbGVjdGlvbnMubmFtZWR0dXBsZSgnVG9rZW5JbmZvJywgJ3R5cGUgc3RyaW5nIHN0YXJ0IGVuZCBsaW5lJykpOgpAQCAtMTQ5LDcgKzE1MCw3IEBACiAjIHJlY29nbml6ZWQgYXMgdHdvIGluc3RhbmNlcyBvZiA9KS4KIE9wZXJhdG9yID0gZ3JvdXAociJcKlwqPT8iLCByIj4+PT8iLCByIjw8PT8iLCByIiE9IiwKICAgICAgICAgICAgICAgICAgciIvLz0/IiwgciItPiIsCi0gICAgICAgICAgICAgICAgIHIiWytcLSovJSZ8Xj08Pl09PyIsCisgICAgICAgICAgICAgICAgIHIiWytcLSovJSZAfF49PD5dPT8iLAogICAgICAgICAgICAgICAgICByIn4iKQogCiBCcmFja2V0ID0gJ1tdWygpe31dJwpAQCAtMTg1LDcgKzE4Niw2IEBACiAgICAgICAgICAgICJyQicnJyI6IFNpbmdsZTMsICdyQiIiIic6IERvdWJsZTMsCiAgICAgICAgICAgICJSQicnJyI6IFNpbmdsZTMsICdSQiIiIic6IERvdWJsZTMsCiAgICAgICAgICAgICJ1JycnIjogU2luZ2xlMywgJ3UiIiInOiBEb3VibGUzLAotICAgICAgICAgICAiUicnJyI6IFNpbmdsZTMsICdSIiIiJzogRG91YmxlMywKICAgICAgICAgICAgIlUnJyciOiBTaW5nbGUzLCAnVSIiIic6IERvdWJsZTMsCiAgICAgICAgICAgICdyJzogTm9uZSwgJ1InOiBOb25lLCAnYic6IE5vbmUsICdCJzogTm9uZSwKICAgICAgICAgICAgJ3UnOiBOb25lLCAnVSc6IE5vbmV9CmRpZmYgLS1naXQgYS9MaWIvdHJhY2UucHkgYi9MaWIvdHJhY2UucHkKaW5kZXggMDlmZTllZS4uZmU4NDk3MyAxMDA3NTUKLS0tIGEvTGliL3RyYWNlLnB5CisrKyBiL0xpYi90cmFjZS5weQpAQCAtNTksMTAgKzU5LDcgQEAKIGltcG9ydCBkaXMKIGltcG9ydCBwaWNrbGUKIGZyb20gd2FybmluZ3MgaW1wb3J0IHdhcm4gYXMgX3dhcm4KLXRyeToKLSAgICBmcm9tIHRpbWUgaW1wb3J0IG1vbm90b25pYyBhcyBfdGltZQotZXhjZXB0IEltcG9ydEVycm9yOgotICAgIGZyb20gdGltZSBpbXBvcnQgdGltZSBhcyBfdGltZQorZnJvbSB0aW1lIGltcG9ydCBtb25vdG9uaWMgYXMgX3RpbWUKIAogdHJ5OgogICAgIGltcG9ydCB0aHJlYWRpbmcKQEAgLTMyNiwxNiArMzIzLDE3IEBACiAgICAgICAgICAgICAgICAgbG5vdGFiID0gX2ZpbmRfZXhlY3V0YWJsZV9saW5lbm9zKGZpbGVuYW1lKQogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBsbm90YWIgPSB7fQorICAgICAgICAgICAgaWYgbG5vdGFiOgorICAgICAgICAgICAgICAgIHNvdXJjZSA9IGxpbmVjYWNoZS5nZXRsaW5lcyhmaWxlbmFtZSkKKyAgICAgICAgICAgICAgICBjb3ZlcnBhdGggPSBvcy5wYXRoLmpvaW4oZGlyLCBtb2R1bGVuYW1lICsgIi5jb3ZlciIpCisgICAgICAgICAgICAgICAgd2l0aCBvcGVuKGZpbGVuYW1lLCAncmInKSBhcyBmcDoKKyAgICAgICAgICAgICAgICAgICAgZW5jb2RpbmcsIF8gPSB0b2tlbml6ZS5kZXRlY3RfZW5jb2RpbmcoZnAucmVhZGxpbmUpCisgICAgICAgICAgICAgICAgbl9oaXRzLCBuX2xpbmVzID0gc2VsZi53cml0ZV9yZXN1bHRzX2ZpbGUoY292ZXJwYXRoLCBzb3VyY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG5vdGFiLCBjb3VudCwgZW5jb2RpbmcpCisgICAgICAgICAgICAgICAgaWYgc3VtbWFyeSBhbmQgbl9saW5lczoKKyAgICAgICAgICAgICAgICAgICAgcGVyY2VudCA9IGludCgxMDAgKiBuX2hpdHMgLyBuX2xpbmVzKQorICAgICAgICAgICAgICAgICAgICBzdW1zW21vZHVsZW5hbWVdID0gbl9saW5lcywgcGVyY2VudCwgbW9kdWxlbmFtZSwgZmlsZW5hbWUKIAotICAgICAgICAgICAgc291cmNlID0gbGluZWNhY2hlLmdldGxpbmVzKGZpbGVuYW1lKQotICAgICAgICAgICAgY292ZXJwYXRoID0gb3MucGF0aC5qb2luKGRpciwgbW9kdWxlbmFtZSArICIuY292ZXIiKQotICAgICAgICAgICAgd2l0aCBvcGVuKGZpbGVuYW1lLCAncmInKSBhcyBmcDoKLSAgICAgICAgICAgICAgICBlbmNvZGluZywgXyA9IHRva2VuaXplLmRldGVjdF9lbmNvZGluZyhmcC5yZWFkbGluZSkKLSAgICAgICAgICAgIG5faGl0cywgbl9saW5lcyA9IHNlbGYud3JpdGVfcmVzdWx0c19maWxlKGNvdmVycGF0aCwgc291cmNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG5vdGFiLCBjb3VudCwgZW5jb2RpbmcpCi0gICAgICAgICAgICBpZiBzdW1tYXJ5IGFuZCBuX2xpbmVzOgotICAgICAgICAgICAgICAgIHBlcmNlbnQgPSBpbnQoMTAwICogbl9oaXRzIC8gbl9saW5lcykKLSAgICAgICAgICAgICAgICBzdW1zW21vZHVsZW5hbWVdID0gbl9saW5lcywgcGVyY2VudCwgbW9kdWxlbmFtZSwgZmlsZW5hbWUKIAogICAgICAgICBpZiBzdW1tYXJ5IGFuZCBzdW1zOgogICAgICAgICAgICAgcHJpbnQoImxpbmVzICAgY292JSAgIG1vZHVsZSAgIChwYXRoKSIpCmRpZmYgLS1naXQgYS9MaWIvdHJhY2ViYWNrLnB5IGIvTGliL3RyYWNlYmFjay5weQppbmRleCBmYWY1OTNhLi5jMWFiMzZlIDEwMDY0NAotLS0gYS9MaWIvdHJhY2ViYWNrLnB5CisrKyBiL0xpYi90cmFjZWJhY2sucHkKQEAgLTIwNSw3ICsyMDUsNyBAQAogICAgICAgICB5aWVsZCBfZm9ybWF0X2ZpbmFsX2V4Y19saW5lKGV0eXBlLCB2YWx1ZSkKICAgICAgICAgcmV0dXJuCiAKLSAgICBzdHlwZSA9IGV0eXBlLl9fbmFtZV9fCisgICAgc3R5cGUgPSBldHlwZS5fX3F1YWxuYW1lX18KICAgICBzbW9kID0gZXR5cGUuX19tb2R1bGVfXwogICAgIGlmIHNtb2Qgbm90IGluICgiX19tYWluX18iLCAiYnVpbHRpbnMiKToKICAgICAgICAgc3R5cGUgPSBzbW9kICsgJy4nICsgc3R5cGUKZGlmZiAtLWdpdCBhL0xpYi91bml0dGVzdC9fX2luaXRfXy5weSBiL0xpYi91bml0dGVzdC9fX2luaXRfXy5weQppbmRleCBhNWQ1MGFmLi5mNmQ3YWUyIDEwMDY0NAotLS0gYS9MaWIvdW5pdHRlc3QvX19pbml0X18ucHkKKysrIGIvTGliL3VuaXR0ZXN0L19faW5pdF9fLnB5CkBAIC02NywzICs2NywxMiBAQAogCiAjIGRlcHJlY2F0ZWQKIF9UZXh0VGVzdFJlc3VsdCA9IFRleHRUZXN0UmVzdWx0CisKKyMgVGhlcmUgYXJlIG5vIHRlc3RzIGhlcmUsIHNvIGRvbid0IHRyeSB0byBydW4gYW55dGhpbmcgZGlzY292ZXJlZCBmcm9tCisjIGludHJvc3BlY3RpbmcgdGhlIHN5bWJvbHMgKGUuZy4gRnVuY3Rpb25UZXN0Q2FzZSkuIEluc3RlYWQsIGFsbCBvdXIKKyMgdGVzdHMgY29tZSBmcm9tIHdpdGhpbiB1bml0dGVzdC50ZXN0LgorZGVmIGxvYWRfdGVzdHMobG9hZGVyLCB0ZXN0cywgcGF0dGVybik6CisgICAgaW1wb3J0IG9zLnBhdGgKKyAgICAjIHRvcCBsZXZlbCBkaXJlY3RvcnkgY2FjaGVkIG9uIGxvYWRlciBpbnN0YW5jZQorICAgIHRoaXNfZGlyID0gb3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKQorICAgIHJldHVybiBsb2FkZXIuZGlzY292ZXIoc3RhcnRfZGlyPXRoaXNfZGlyLCBwYXR0ZXJuPXBhdHRlcm4pCmRpZmYgLS1naXQgYS9MaWIvdW5pdHRlc3QvbG9hZGVyLnB5IGIvTGliL3VuaXR0ZXN0L2xvYWRlci5weQppbmRleCA4MDhjNTBlLi44ZWU2YzU2IDEwMDY0NAotLS0gYS9MaWIvdW5pdHRlc3QvbG9hZGVyLnB5CisrKyBiL0xpYi91bml0dGVzdC9sb2FkZXIucHkKQEAgLTYsNiArNiw3IEBACiBpbXBvcnQgdHJhY2ViYWNrCiBpbXBvcnQgdHlwZXMKIGltcG9ydCBmdW5jdG9vbHMKK2ltcG9ydCB3YXJuaW5ncwogCiBmcm9tIGZubWF0Y2ggaW1wb3J0IGZubWF0Y2gKIApAQCAtMjAsMTkgKzIxLDIyIEBACiAKIAogZGVmIF9tYWtlX2ZhaWxlZF9pbXBvcnRfdGVzdChuYW1lLCBzdWl0ZUNsYXNzKToKLSAgICBtZXNzYWdlID0gJ0ZhaWxlZCB0byBpbXBvcnQgdGVzdCBtb2R1bGU6ICVzXG4lcycgJSAobmFtZSwgdHJhY2ViYWNrLmZvcm1hdF9leGMoKSkKKyAgICBtZXNzYWdlID0gJ0ZhaWxlZCB0byBpbXBvcnQgdGVzdCBtb2R1bGU6ICVzXG4lcycgJSAoCisgICAgICAgIG5hbWUsIHRyYWNlYmFjay5mb3JtYXRfZXhjKCkpCiAgICAgcmV0dXJuIF9tYWtlX2ZhaWxlZF90ZXN0KCdNb2R1bGVJbXBvcnRGYWlsdXJlJywgbmFtZSwgSW1wb3J0RXJyb3IobWVzc2FnZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1aXRlQ2xhc3MpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1aXRlQ2xhc3MsIG1lc3NhZ2UpCiAKIGRlZiBfbWFrZV9mYWlsZWRfbG9hZF90ZXN0cyhuYW1lLCBleGNlcHRpb24sIHN1aXRlQ2xhc3MpOgotICAgIHJldHVybiBfbWFrZV9mYWlsZWRfdGVzdCgnTG9hZFRlc3RzRmFpbHVyZScsIG5hbWUsIGV4Y2VwdGlvbiwgc3VpdGVDbGFzcykKKyAgICBtZXNzYWdlID0gJ0ZhaWxlZCB0byBjYWxsIGxvYWRfdGVzdHM6XG4lcycgJSAodHJhY2ViYWNrLmZvcm1hdF9leGMoKSwpCisgICAgcmV0dXJuIF9tYWtlX2ZhaWxlZF90ZXN0KAorICAgICAgICAnTG9hZFRlc3RzRmFpbHVyZScsIG5hbWUsIGV4Y2VwdGlvbiwgc3VpdGVDbGFzcywgbWVzc2FnZSkKIAotZGVmIF9tYWtlX2ZhaWxlZF90ZXN0KGNsYXNzbmFtZSwgbWV0aG9kbmFtZSwgZXhjZXB0aW9uLCBzdWl0ZUNsYXNzKToKK2RlZiBfbWFrZV9mYWlsZWRfdGVzdChjbGFzc25hbWUsIG1ldGhvZG5hbWUsIGV4Y2VwdGlvbiwgc3VpdGVDbGFzcywgbWVzc2FnZSk6CiAgICAgZGVmIHRlc3RGYWlsdXJlKHNlbGYpOgogICAgICAgICByYWlzZSBleGNlcHRpb24KICAgICBhdHRycyA9IHttZXRob2RuYW1lOiB0ZXN0RmFpbHVyZX0KICAgICBUZXN0Q2xhc3MgPSB0eXBlKGNsYXNzbmFtZSwgKGNhc2UuVGVzdENhc2UsKSwgYXR0cnMpCi0gICAgcmV0dXJuIHN1aXRlQ2xhc3MoKFRlc3RDbGFzcyhtZXRob2RuYW1lKSwpKQorICAgIHJldHVybiBzdWl0ZUNsYXNzKChUZXN0Q2xhc3MobWV0aG9kbmFtZSksKSksIG1lc3NhZ2UKIAogZGVmIF9tYWtlX3NraXBwZWRfdGVzdChtZXRob2RuYW1lLCBleGNlcHRpb24sIHN1aXRlQ2xhc3MpOgogICAgIEBjYXNlLnNraXAoc3RyKGV4Y2VwdGlvbikpCkBAIC01OCw2ICs2MiwxMyBAQAogICAgIHN1aXRlQ2xhc3MgPSBzdWl0ZS5UZXN0U3VpdGUKICAgICBfdG9wX2xldmVsX2RpciA9IE5vbmUKIAorICAgIGRlZiBfX2luaXRfXyhzZWxmKToKKyAgICAgICAgc3VwZXIoVGVzdExvYWRlciwgc2VsZikuX19pbml0X18oKQorICAgICAgICBzZWxmLmVycm9ycyA9IFtdCisgICAgICAgICMgVHJhY2tzIHBhY2thZ2VzIHdoaWNoIHdlIGhhdmUgY2FsbGVkIGludG8gdmlhIGxvYWRfdGVzdHMsIHRvCisgICAgICAgICMgYXZvaWQgaW5maW5pdGUgcmUtZW50cmFuY3kuCisgICAgICAgIHNlbGYuX2xvYWRpbmdfcGFja2FnZXMgPSBzZXQoKQorCiAgICAgZGVmIGxvYWRUZXN0c0Zyb21UZXN0Q2FzZShzZWxmLCB0ZXN0Q2FzZUNsYXNzKToKICAgICAgICAgIiIiUmV0dXJuIGEgc3VpdGUgb2YgYWxsIHRlc3RzIGNhc2VzIGNvbnRhaW5lZCBpbiB0ZXN0Q2FzZUNsYXNzIiIiCiAgICAgICAgIGlmIGlzc3ViY2xhc3ModGVzdENhc2VDbGFzcywgc3VpdGUuVGVzdFN1aXRlKToKQEAgLTcwLDggKzgxLDMwIEBACiAgICAgICAgIGxvYWRlZF9zdWl0ZSA9IHNlbGYuc3VpdGVDbGFzcyhtYXAodGVzdENhc2VDbGFzcywgdGVzdENhc2VOYW1lcykpCiAgICAgICAgIHJldHVybiBsb2FkZWRfc3VpdGUKIAotICAgIGRlZiBsb2FkVGVzdHNGcm9tTW9kdWxlKHNlbGYsIG1vZHVsZSwgdXNlX2xvYWRfdGVzdHM9VHJ1ZSk6CisgICAgIyBYWFggQWZ0ZXIgUHl0aG9uIDMuNSwgcmVtb3ZlIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgaGFja3MgZm9yCisgICAgIyB1c2VfbG9hZF90ZXN0cyBkZXByZWNhdGlvbiB2aWEgKmFyZ3MgYW5kICoqa3dzLiAgU2VlIGlzc3VlIDE2NjYyLgorICAgIGRlZiBsb2FkVGVzdHNGcm9tTW9kdWxlKHNlbGYsIG1vZHVsZSwgKmFyZ3MsIHBhdHRlcm49Tm9uZSwgKiprd3MpOgogICAgICAgICAiIiJSZXR1cm4gYSBzdWl0ZSBvZiBhbGwgdGVzdHMgY2FzZXMgY29udGFpbmVkIGluIHRoZSBnaXZlbiBtb2R1bGUiIiIKKyAgICAgICAgIyBUaGlzIG1ldGhvZCB1c2VkIHRvIHRha2UgYW4gdW5kb2N1bWVudGVkIGFuZCB1bm9mZmljaWFsCisgICAgICAgICMgdXNlX2xvYWRfdGVzdHMgYXJndW1lbnQuICBGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgd2Ugc3RpbGwKKyAgICAgICAgIyBhY2NlcHQgdGhlIGFyZ3VtZW50ICh3aGljaCBjYW4gYWxzbyBiZSB0aGUgZmlyc3QgcG9zaXRpb24pIGJ1dCB3ZQorICAgICAgICAjIGlnbm9yZSBpdCBhbmQgaXNzdWUgYSBkZXByZWNhdGlvbiB3YXJuaW5nIGlmIGl0J3MgcHJlc2VudC4KKyAgICAgICAgaWYgbGVuKGFyZ3MpID4gMCBvciAndXNlX2xvYWRfdGVzdHMnIGluIGt3czoKKyAgICAgICAgICAgIHdhcm5pbmdzLndhcm4oJ3VzZV9sb2FkX3Rlc3RzIGlzIGRlcHJlY2F0ZWQgYW5kIGlnbm9yZWQnLAorICAgICAgICAgICAgICAgICAgICAgICAgICBEZXByZWNhdGlvbldhcm5pbmcpCisgICAgICAgICAgICBrd3MucG9wKCd1c2VfbG9hZF90ZXN0cycsIE5vbmUpCisgICAgICAgIGlmIGxlbihhcmdzKSA+IDE6CisgICAgICAgICAgICAjIENvbXBsYWluIGFib3V0IHRoZSBudW1iZXIgb2YgYXJndW1lbnRzLCBidXQgZG9uJ3QgZm9yZ2V0IHRoZQorICAgICAgICAgICAgIyByZXF1aXJlZCBgbW9kdWxlYCBhcmd1bWVudC4KKyAgICAgICAgICAgIGNvbXBsYWludCA9IGxlbihhcmdzKSArIDEKKyAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcignbG9hZFRlc3RzRnJvbU1vZHVsZSgpIHRha2VzIDEgcG9zaXRpb25hbCBhcmd1bWVudCBidXQge30gd2VyZSBnaXZlbicuZm9ybWF0KGNvbXBsYWludCkpCisgICAgICAgIGlmIGxlbihrd3MpICE9IDA6CisgICAgICAgICAgICAjIFNpbmNlIHRoZSBrZXl3b3JkIGFyZ3VtZW50cyBhcmUgdW5zb3J0ZWQgKHNlZSBQRVAgNDY4KSwganVzdAorICAgICAgICAgICAgIyBwaWNrIHRoZSBhbHBoYWJldGljYWxseSBzb3J0ZWQgZmlyc3QgYXJndW1lbnQgdG8gY29tcGxhaW4gYWJvdXQsCisgICAgICAgICAgICAjIGlmIG11bHRpcGxlIHdlcmUgZ2l2ZW4uICBBdCBsZWFzdCB0aGUgZXJyb3IgbWVzc2FnZSB3aWxsIGJlCisgICAgICAgICAgICAjIHByZWRpY3RhYmxlLgorICAgICAgICAgICAgY29tcGxhaW50ID0gc29ydGVkKGt3cylbMF0KKyAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigibG9hZFRlc3RzRnJvbU1vZHVsZSgpIGdvdCBhbiB1bmV4cGVjdGVkIGtleXdvcmQgYXJndW1lbnQgJ3t9JyIuZm9ybWF0KGNvbXBsYWludCkpCiAgICAgICAgIHRlc3RzID0gW10KICAgICAgICAgZm9yIG5hbWUgaW4gZGlyKG1vZHVsZSk6CiAgICAgICAgICAgICBvYmogPSBnZXRhdHRyKG1vZHVsZSwgbmFtZSkKQEAgLTgwLDEyICsxMTMsMTQgQEAKIAogICAgICAgICBsb2FkX3Rlc3RzID0gZ2V0YXR0cihtb2R1bGUsICdsb2FkX3Rlc3RzJywgTm9uZSkKICAgICAgICAgdGVzdHMgPSBzZWxmLnN1aXRlQ2xhc3ModGVzdHMpCi0gICAgICAgIGlmIHVzZV9sb2FkX3Rlc3RzIGFuZCBsb2FkX3Rlc3RzIGlzIG5vdCBOb25lOgorICAgICAgICBpZiBsb2FkX3Rlc3RzIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIHJldHVybiBsb2FkX3Rlc3RzKHNlbGYsIHRlc3RzLCBOb25lKQorICAgICAgICAgICAgICAgIHJldHVybiBsb2FkX3Rlc3RzKHNlbGYsIHRlc3RzLCBwYXR0ZXJuKQogICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgotICAgICAgICAgICAgICAgIHJldHVybiBfbWFrZV9mYWlsZWRfbG9hZF90ZXN0cyhtb2R1bGUuX19uYW1lX18sIGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc3VpdGVDbGFzcykKKyAgICAgICAgICAgICAgICBlcnJvcl9jYXNlLCBlcnJvcl9tZXNzYWdlID0gX21ha2VfZmFpbGVkX2xvYWRfdGVzdHMoCisgICAgICAgICAgICAgICAgICAgIG1vZHVsZS5fX25hbWVfXywgZSwgc2VsZi5zdWl0ZUNsYXNzKQorICAgICAgICAgICAgICAgIHNlbGYuZXJyb3JzLmFwcGVuZChlcnJvcl9tZXNzYWdlKQorICAgICAgICAgICAgICAgIHJldHVybiBlcnJvcl9jYXNlCiAgICAgICAgIHJldHVybiB0ZXN0cwogCiAgICAgZGVmIGxvYWRUZXN0c0Zyb21OYW1lKHNlbGYsIG5hbWUsIG1vZHVsZT1Ob25lKToKQEAgLTk4LDIwICsxMzMsNDcgQEAKICAgICAgICAgVGhlIG1ldGhvZCBvcHRpb25hbGx5IHJlc29sdmVzIHRoZSBuYW1lcyByZWxhdGl2ZSB0byBhIGdpdmVuIG1vZHVsZS4KICAgICAgICAgIiIiCiAgICAgICAgIHBhcnRzID0gbmFtZS5zcGxpdCgnLicpCisgICAgICAgIGVycm9yX2Nhc2UsIGVycm9yX21lc3NhZ2UgPSBOb25lLCBOb25lCiAgICAgICAgIGlmIG1vZHVsZSBpcyBOb25lOgogICAgICAgICAgICAgcGFydHNfY29weSA9IHBhcnRzWzpdCiAgICAgICAgICAgICB3aGlsZSBwYXJ0c19jb3B5OgogICAgICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgICAgbW9kdWxlID0gX19pbXBvcnRfXygnLicuam9pbihwYXJ0c19jb3B5KSkKKyAgICAgICAgICAgICAgICAgICAgbW9kdWxlX25hbWUgPSAnLicuam9pbihwYXJ0c19jb3B5KQorICAgICAgICAgICAgICAgICAgICBtb2R1bGUgPSBfX2ltcG9ydF9fKG1vZHVsZV9uYW1lKQogICAgICAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICAgICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjoKLSAgICAgICAgICAgICAgICAgICAgZGVsIHBhcnRzX2NvcHlbLTFdCisgICAgICAgICAgICAgICAgICAgIG5leHRfYXR0cmlidXRlID0gcGFydHNfY29weS5wb3AoKQorICAgICAgICAgICAgICAgICAgICAjIExhc3QgZXJyb3Igc28gd2UgY2FuIGdpdmUgaXQgdG8gdGhlIHVzZXIgaWYgbmVlZGVkLgorICAgICAgICAgICAgICAgICAgICBlcnJvcl9jYXNlLCBlcnJvcl9tZXNzYWdlID0gX21ha2VfZmFpbGVkX2ltcG9ydF90ZXN0KAorICAgICAgICAgICAgICAgICAgICAgICAgbmV4dF9hdHRyaWJ1dGUsIHNlbGYuc3VpdGVDbGFzcykKICAgICAgICAgICAgICAgICAgICAgaWYgbm90IHBhcnRzX2NvcHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICByYWlzZQorICAgICAgICAgICAgICAgICAgICAgICAgIyBFdmVuIHRoZSB0b3AgbGV2ZWwgaW1wb3J0IGZhaWxlZDogcmVwb3J0IHRoYXQgZXJyb3IuCisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmVycm9ycy5hcHBlbmQoZXJyb3JfbWVzc2FnZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBlcnJvcl9jYXNlCiAgICAgICAgICAgICBwYXJ0cyA9IHBhcnRzWzE6XQogICAgICAgICBvYmogPSBtb2R1bGUKICAgICAgICAgZm9yIHBhcnQgaW4gcGFydHM6Ci0gICAgICAgICAgICBwYXJlbnQsIG9iaiA9IG9iaiwgZ2V0YXR0cihvYmosIHBhcnQpCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgcGFyZW50LCBvYmogPSBvYmosIGdldGF0dHIob2JqLCBwYXJ0KQorICAgICAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yIGFzIGU6CisgICAgICAgICAgICAgICAgIyBXZSBjYW4ndCB0cmF2ZXJzZSBzb21lIHBhcnQgb2YgdGhlIG5hbWUuCisgICAgICAgICAgICAgICAgaWYgKGdldGF0dHIob2JqLCAnX19wYXRoX18nLCBOb25lKSBpcyBub3QgTm9uZQorICAgICAgICAgICAgICAgICAgICBhbmQgZXJyb3JfY2FzZSBpcyBub3QgTm9uZSk6CisgICAgICAgICAgICAgICAgICAgICMgVGhpcyBpcyBhIHBhY2thZ2UgKG5vIF9fcGF0aF9fIHBlciBpbXBvcnRsaWIgZG9jcyksIGFuZCB3ZQorICAgICAgICAgICAgICAgICAgICAjIGVuY291bnRlcmVkIGFuIGVycm9yIGltcG9ydGluZyBzb21ldGhpbmcuIFdlIGNhbm5vdCB0ZWxsCisgICAgICAgICAgICAgICAgICAgICMgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBwYWNrYWdlLldyb25nTmFtZVRlc3RDbGFzcyBhbmQKKyAgICAgICAgICAgICAgICAgICAgIyBwYWNrYWdlLndyb25nX21vZHVsZV9uYW1lIHNvIHdlIGp1c3QgcmVwb3J0IHRoZQorICAgICAgICAgICAgICAgICAgICAjIEltcG9ydEVycm9yIC0gaXQgaXMgbW9yZSBpbmZvcm1hdGl2ZS4KKyAgICAgICAgICAgICAgICAgICAgc2VsZi5lcnJvcnMuYXBwZW5kKGVycm9yX21lc3NhZ2UpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBlcnJvcl9jYXNlCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgIyBPdGhlcndpc2UsIHdlIHNpZ25hbCB0aGF0IGFuIEF0dHJpYnV0ZUVycm9yIGhhcyBvY2N1cnJlZC4KKyAgICAgICAgICAgICAgICAgICAgZXJyb3JfY2FzZSwgZXJyb3JfbWVzc2FnZSA9IF9tYWtlX2ZhaWxlZF90ZXN0KAorICAgICAgICAgICAgICAgICAgICAgICAgJ0F0dHJpYnV0ZUVycm9yJywgcGFydCwgZSwgc2VsZi5zdWl0ZUNsYXNzLAorICAgICAgICAgICAgICAgICAgICAgICAgJ0ZhaWxlZCB0byBhY2Nlc3MgYXR0cmlidXRlOlxuJXMnICUgKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNlYmFjay5mb3JtYXRfZXhjKCksKSkKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5lcnJvcnMuYXBwZW5kKGVycm9yX21lc3NhZ2UpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBlcnJvcl9jYXNlCiAKICAgICAgICAgaWYgaXNpbnN0YW5jZShvYmosIHR5cGVzLk1vZHVsZVR5cGUpOgogICAgICAgICAgICAgcmV0dXJuIHNlbGYubG9hZFRlc3RzRnJvbU1vZHVsZShvYmopCkBAIC0xNzAsOSArMjMyLDEzIEBACiAKICAgICAgICAgSWYgYSB0ZXN0IHBhY2thZ2UgbmFtZSAoZGlyZWN0b3J5IHdpdGggJ19faW5pdF9fLnB5JykgbWF0Y2hlcyB0aGUKICAgICAgICAgcGF0dGVybiB0aGVuIHRoZSBwYWNrYWdlIHdpbGwgYmUgY2hlY2tlZCBmb3IgYSAnbG9hZF90ZXN0cycgZnVuY3Rpb24uIElmCi0gICAgICAgIHRoaXMgZXhpc3RzIHRoZW4gaXQgd2lsbCBiZSBjYWxsZWQgd2l0aCBsb2FkZXIsIHRlc3RzLCBwYXR0ZXJuLgorICAgICAgICB0aGlzIGV4aXN0cyB0aGVuIGl0IHdpbGwgYmUgY2FsbGVkIHdpdGggKGxvYWRlciwgdGVzdHMsIHBhdHRlcm4pIHVubGVzcworICAgICAgICB0aGUgcGFja2FnZSBoYXMgYWxyZWFkeSBoYWQgbG9hZF90ZXN0cyBjYWxsZWQgZnJvbSB0aGUgc2FtZSBkaXNjb3ZlcnkKKyAgICAgICAgaW52b2NhdGlvbiwgaW4gd2hpY2ggY2FzZSB0aGUgcGFja2FnZSBtb2R1bGUgb2JqZWN0IGlzIG5vdCBzY2FubmVkIGZvcgorICAgICAgICB0ZXN0cyAtIHRoaXMgZW5zdXJlcyB0aGF0IHdoZW4gYSBwYWNrYWdlIHVzZXMgZGlzY292ZXIgdG8gZnVydGhlcgorICAgICAgICBkaXNjb3ZlciBjaGlsZCB0ZXN0cyB0aGF0IGluZmluaXRlIHJlY3Vyc2lvbiBkb2VzIG5vdCBoYXBwZW4uCiAKLSAgICAgICAgSWYgbG9hZF90ZXN0cyBleGlzdHMgdGhlbiBkaXNjb3ZlcnkgZG9lcyAgKm5vdCogcmVjdXJzZSBpbnRvIHRoZSBwYWNrYWdlLAorICAgICAgICBJZiBsb2FkX3Rlc3RzIGV4aXN0cyB0aGVuIGRpc2NvdmVyeSBkb2VzICpub3QqIHJlY3Vyc2UgaW50byB0aGUgcGFja2FnZSwKICAgICAgICAgbG9hZF90ZXN0cyBpcyByZXNwb25zaWJsZSBmb3IgbG9hZGluZyBhbGwgdGVzdHMgaW4gdGhlIHBhY2thZ2UuCiAKICAgICAgICAgVGhlIHBhdHRlcm4gaXMgZGVsaWJlcmF0ZWx5IG5vdCBzdG9yZWQgYXMgYSBsb2FkZXIgYXR0cmlidXRlIHNvIHRoYXQKQEAgLTI3Nyw2ICszNDMsOCBAQAogICAgICAgICAgICAgcmV0dXJuIG9zLnBhdGguZGlybmFtZShmdWxsX3BhdGgpCiAKICAgICBkZWYgX2dldF9uYW1lX2Zyb21fcGF0aChzZWxmLCBwYXRoKToKKyAgICAgICAgaWYgcGF0aCA9PSBzZWxmLl90b3BfbGV2ZWxfZGlyOgorICAgICAgICAgICAgcmV0dXJuICcuJwogICAgICAgICBwYXRoID0gX2p5dGhvbl9hd2FyZV9zcGxpdGV4dChvcy5wYXRoLm5vcm1wYXRoKHBhdGgpKQogCiAgICAgICAgIF9yZWxwYXRoID0gb3MucGF0aC5yZWxwYXRoKHBhdGgsIHNlbGYuX3RvcF9sZXZlbF9kaXIpCkBAIC0yOTYsNjMgKzM2NCwxMTEgQEAKIAogICAgIGRlZiBfZmluZF90ZXN0cyhzZWxmLCBzdGFydF9kaXIsIHBhdHRlcm4sIG5hbWVzcGFjZT1GYWxzZSk6CiAgICAgICAgICIiIlVzZWQgYnkgZGlzY292ZXJ5LiBZaWVsZHMgdGVzdCBzdWl0ZXMgaXQgbG9hZHMuIiIiCisgICAgICAgICMgSGFuZGxlIHRoZSBfX2luaXRfXyBpbiB0aGlzIHBhY2thZ2UKKyAgICAgICAgbmFtZSA9IHNlbGYuX2dldF9uYW1lX2Zyb21fcGF0aChzdGFydF9kaXIpCisgICAgICAgICMgbmFtZSBpcyAnLicgd2hlbiBzdGFydF9kaXIgPT0gdG9wX2xldmVsX2RpciAoYW5kIHRvcF9sZXZlbF9kaXIgaXMgYnkKKyAgICAgICAgIyBkZWZpbml0aW9uIG5vdCBhIHBhY2thZ2UpLgorICAgICAgICBpZiBuYW1lICE9ICcuJyBhbmQgbmFtZSBub3QgaW4gc2VsZi5fbG9hZGluZ19wYWNrYWdlczoKKyAgICAgICAgICAgICMgbmFtZSBpcyBpbiBzZWxmLl9sb2FkaW5nX3BhY2thZ2VzIHdoaWxlIHdlIGhhdmUgY2FsbGVkIGludG8KKyAgICAgICAgICAgICMgbG9hZFRlc3RzRnJvbU1vZHVsZSB3aXRoIG5hbWUuCisgICAgICAgICAgICB0ZXN0cywgc2hvdWxkX3JlY3Vyc2UgPSBzZWxmLl9maW5kX3Rlc3RfcGF0aCgKKyAgICAgICAgICAgICAgICBzdGFydF9kaXIsIHBhdHRlcm4sIG5hbWVzcGFjZSkKKyAgICAgICAgICAgIGlmIHRlc3RzIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgIHlpZWxkIHRlc3RzCisgICAgICAgICAgICBpZiBub3Qgc2hvdWxkX3JlY3Vyc2U6CisgICAgICAgICAgICAgICAgIyBFaXRoZXIgYW4gZXJyb3Igb2NjdXJlZCwgb3IgbG9hZF90ZXN0cyB3YXMgdXNlZCBieSB0aGUKKyAgICAgICAgICAgICAgICAjIHBhY2thZ2UuCisgICAgICAgICAgICAgICAgcmV0dXJuCisgICAgICAgICMgSGFuZGxlIHRoZSBjb250ZW50cy4KICAgICAgICAgcGF0aHMgPSBzb3J0ZWQob3MubGlzdGRpcihzdGFydF9kaXIpKQotCiAgICAgICAgIGZvciBwYXRoIGluIHBhdGhzOgogICAgICAgICAgICAgZnVsbF9wYXRoID0gb3MucGF0aC5qb2luKHN0YXJ0X2RpciwgcGF0aCkKLSAgICAgICAgICAgIGlmIG9zLnBhdGguaXNmaWxlKGZ1bGxfcGF0aCk6Ci0gICAgICAgICAgICAgICAgaWYgbm90IFZBTElEX01PRFVMRV9OQU1FLm1hdGNoKHBhdGgpOgotICAgICAgICAgICAgICAgICAgICAjIHZhbGlkIFB5dGhvbiBpZGVudGlmaWVycyBvbmx5Ci0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgICAgICAgICAgaWYgbm90IHNlbGYuX21hdGNoX3BhdGgocGF0aCwgZnVsbF9wYXRoLCBwYXR0ZXJuKToKLSAgICAgICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgICAgICAjIGlmIHRoZSB0ZXN0IGZpbGUgbWF0Y2hlcywgbG9hZCBpdAorICAgICAgICAgICAgdGVzdHMsIHNob3VsZF9yZWN1cnNlID0gc2VsZi5fZmluZF90ZXN0X3BhdGgoCisgICAgICAgICAgICAgICAgZnVsbF9wYXRoLCBwYXR0ZXJuLCBuYW1lc3BhY2UpCisgICAgICAgICAgICBpZiB0ZXN0cyBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICB5aWVsZCB0ZXN0cworICAgICAgICAgICAgaWYgc2hvdWxkX3JlY3Vyc2U6CisgICAgICAgICAgICAgICAgIyB3ZSBmb3VuZCBhIHBhY2thZ2UgdGhhdCBkaWRuJ3QgdXNlIGxvYWRfdGVzdHMuCiAgICAgICAgICAgICAgICAgbmFtZSA9IHNlbGYuX2dldF9uYW1lX2Zyb21fcGF0aChmdWxsX3BhdGgpCisgICAgICAgICAgICAgICAgc2VsZi5fbG9hZGluZ19wYWNrYWdlcy5hZGQobmFtZSkKICAgICAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgICAgIG1vZHVsZSA9IHNlbGYuX2dldF9tb2R1bGVfZnJvbV9uYW1lKG5hbWUpCi0gICAgICAgICAgICAgICAgZXhjZXB0IGNhc2UuU2tpcFRlc3QgYXMgZToKLSAgICAgICAgICAgICAgICAgICAgeWllbGQgX21ha2Vfc2tpcHBlZF90ZXN0KG5hbWUsIGUsIHNlbGYuc3VpdGVDbGFzcykKLSAgICAgICAgICAgICAgICBleGNlcHQ6Ci0gICAgICAgICAgICAgICAgICAgIHlpZWxkIF9tYWtlX2ZhaWxlZF9pbXBvcnRfdGVzdChuYW1lLCBzZWxmLnN1aXRlQ2xhc3MpCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgbW9kX2ZpbGUgPSBvcy5wYXRoLmFic3BhdGgoZ2V0YXR0cihtb2R1bGUsICdfX2ZpbGVfXycsIGZ1bGxfcGF0aCkpCi0gICAgICAgICAgICAgICAgICAgIHJlYWxwYXRoID0gX2p5dGhvbl9hd2FyZV9zcGxpdGV4dChvcy5wYXRoLnJlYWxwYXRoKG1vZF9maWxlKSkKLSAgICAgICAgICAgICAgICAgICAgZnVsbHBhdGhfbm9leHQgPSBfanl0aG9uX2F3YXJlX3NwbGl0ZXh0KG9zLnBhdGgucmVhbHBhdGgoZnVsbF9wYXRoKSkKLSAgICAgICAgICAgICAgICAgICAgaWYgcmVhbHBhdGgubG93ZXIoKSAhPSBmdWxscGF0aF9ub2V4dC5sb3dlcigpOgotICAgICAgICAgICAgICAgICAgICAgICAgbW9kdWxlX2RpciA9IG9zLnBhdGguZGlybmFtZShyZWFscGF0aCkKLSAgICAgICAgICAgICAgICAgICAgICAgIG1vZF9uYW1lID0gX2p5dGhvbl9hd2FyZV9zcGxpdGV4dChvcy5wYXRoLmJhc2VuYW1lKGZ1bGxfcGF0aCkpCi0gICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZF9kaXIgPSBvcy5wYXRoLmRpcm5hbWUoZnVsbF9wYXRoKQotICAgICAgICAgICAgICAgICAgICAgICAgbXNnID0gKCIlciBtb2R1bGUgaW5jb3JyZWN0bHkgaW1wb3J0ZWQgZnJvbSAlci4gRXhwZWN0ZWQgJXIuICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiSXMgdGhpcyBtb2R1bGUgZ2xvYmFsbHkgaW5zdGFsbGVkPyIpCi0gICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBJbXBvcnRFcnJvcihtc2cgJSAobW9kX25hbWUsIG1vZHVsZV9kaXIsIGV4cGVjdGVkX2RpcikpCi0gICAgICAgICAgICAgICAgICAgIHlpZWxkIHNlbGYubG9hZFRlc3RzRnJvbU1vZHVsZShtb2R1bGUpCi0gICAgICAgICAgICBlbGlmIG9zLnBhdGguaXNkaXIoZnVsbF9wYXRoKToKLSAgICAgICAgICAgICAgICBpZiAobm90IG5hbWVzcGFjZSBhbmQKLSAgICAgICAgICAgICAgICAgICAgbm90IG9zLnBhdGguaXNmaWxlKG9zLnBhdGguam9pbihmdWxsX3BhdGgsICdfX2luaXRfXy5weScpKSk6Ci0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgICAgICAgIHlpZWxkIGZyb20gc2VsZi5fZmluZF90ZXN0cyhmdWxsX3BhdGgsIHBhdHRlcm4sIG5hbWVzcGFjZSkKKyAgICAgICAgICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgICAgICAgICBzZWxmLl9sb2FkaW5nX3BhY2thZ2VzLmRpc2NhcmQobmFtZSkKIAotICAgICAgICAgICAgICAgIGxvYWRfdGVzdHMgPSBOb25lCi0gICAgICAgICAgICAgICAgdGVzdHMgPSBOb25lCi0gICAgICAgICAgICAgICAgaWYgZm5tYXRjaChwYXRoLCBwYXR0ZXJuKToKLSAgICAgICAgICAgICAgICAgICAgIyBvbmx5IGNoZWNrIGxvYWRfdGVzdHMgaWYgdGhlIHBhY2thZ2UgZGlyZWN0b3J5IGl0c2VsZiBtYXRjaGVzIHRoZSBmaWx0ZXIKLSAgICAgICAgICAgICAgICAgICAgbmFtZSA9IHNlbGYuX2dldF9uYW1lX2Zyb21fcGF0aChmdWxsX3BhdGgpCi0gICAgICAgICAgICAgICAgICAgIHBhY2thZ2UgPSBzZWxmLl9nZXRfbW9kdWxlX2Zyb21fbmFtZShuYW1lKQotICAgICAgICAgICAgICAgICAgICBsb2FkX3Rlc3RzID0gZ2V0YXR0cihwYWNrYWdlLCAnbG9hZF90ZXN0cycsIE5vbmUpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RzID0gc2VsZi5sb2FkVGVzdHNGcm9tTW9kdWxlKHBhY2thZ2UsIHVzZV9sb2FkX3Rlc3RzPUZhbHNlKQorICAgIGRlZiBfZmluZF90ZXN0X3BhdGgoc2VsZiwgZnVsbF9wYXRoLCBwYXR0ZXJuLCBuYW1lc3BhY2U9RmFsc2UpOgorICAgICAgICAiIiJVc2VkIGJ5IGRpc2NvdmVyeS4KIAotICAgICAgICAgICAgICAgIGlmIGxvYWRfdGVzdHMgaXMgTm9uZToKLSAgICAgICAgICAgICAgICAgICAgaWYgdGVzdHMgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAjIHRlc3RzIGxvYWRlZCBmcm9tIHBhY2thZ2UgZmlsZQotICAgICAgICAgICAgICAgICAgICAgICAgeWllbGQgdGVzdHMKLSAgICAgICAgICAgICAgICAgICAgIyByZWN1cnNlIGludG8gdGhlIHBhY2thZ2UKLSAgICAgICAgICAgICAgICAgICAgeWllbGQgZnJvbSBzZWxmLl9maW5kX3Rlc3RzKGZ1bGxfcGF0aCwgcGF0dGVybiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWVzcGFjZT1uYW1lc3BhY2UpCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICAgICAgeWllbGQgbG9hZF90ZXN0cyhzZWxmLCB0ZXN0cywgcGF0dGVybikKLSAgICAgICAgICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgotICAgICAgICAgICAgICAgICAgICAgICAgeWllbGQgX21ha2VfZmFpbGVkX2xvYWRfdGVzdHMocGFja2FnZS5fX25hbWVfXywgZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc3VpdGVDbGFzcykKKyAgICAgICAgTG9hZHMgdGVzdHMgZnJvbSBhIHNpbmdsZSBmaWxlLCBvciBhIGRpcmVjdG9yaWVzJyBfX2luaXRfXy5weSB3aGVuCisgICAgICAgIHBhc3NlZCB0aGUgZGlyZWN0b3J5LgorCisgICAgICAgIFJldHVybnMgYSB0dXBsZSAoTm9uZV9vcl90ZXN0c19mcm9tX2ZpbGUsIHNob3VsZF9yZWN1cnNlKS4KKyAgICAgICAgIiIiCisgICAgICAgIGJhc2VuYW1lID0gb3MucGF0aC5iYXNlbmFtZShmdWxsX3BhdGgpCisgICAgICAgIGlmIG9zLnBhdGguaXNmaWxlKGZ1bGxfcGF0aCk6CisgICAgICAgICAgICBpZiBub3QgVkFMSURfTU9EVUxFX05BTUUubWF0Y2goYmFzZW5hbWUpOgorICAgICAgICAgICAgICAgICMgdmFsaWQgUHl0aG9uIGlkZW50aWZpZXJzIG9ubHkKKyAgICAgICAgICAgICAgICByZXR1cm4gTm9uZSwgRmFsc2UKKyAgICAgICAgICAgIGlmIG5vdCBzZWxmLl9tYXRjaF9wYXRoKGJhc2VuYW1lLCBmdWxsX3BhdGgsIHBhdHRlcm4pOgorICAgICAgICAgICAgICAgIHJldHVybiBOb25lLCBGYWxzZQorICAgICAgICAgICAgIyBpZiB0aGUgdGVzdCBmaWxlIG1hdGNoZXMsIGxvYWQgaXQKKyAgICAgICAgICAgIG5hbWUgPSBzZWxmLl9nZXRfbmFtZV9mcm9tX3BhdGgoZnVsbF9wYXRoKQorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIG1vZHVsZSA9IHNlbGYuX2dldF9tb2R1bGVfZnJvbV9uYW1lKG5hbWUpCisgICAgICAgICAgICBleGNlcHQgY2FzZS5Ta2lwVGVzdCBhcyBlOgorICAgICAgICAgICAgICAgIHJldHVybiBfbWFrZV9za2lwcGVkX3Rlc3QobmFtZSwgZSwgc2VsZi5zdWl0ZUNsYXNzKSwgRmFsc2UKKyAgICAgICAgICAgIGV4Y2VwdDoKKyAgICAgICAgICAgICAgICBlcnJvcl9jYXNlLCBlcnJvcl9tZXNzYWdlID0gXAorICAgICAgICAgICAgICAgICAgICBfbWFrZV9mYWlsZWRfaW1wb3J0X3Rlc3QobmFtZSwgc2VsZi5zdWl0ZUNsYXNzKQorICAgICAgICAgICAgICAgIHNlbGYuZXJyb3JzLmFwcGVuZChlcnJvcl9tZXNzYWdlKQorICAgICAgICAgICAgICAgIHJldHVybiBlcnJvcl9jYXNlLCBGYWxzZQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBtb2RfZmlsZSA9IG9zLnBhdGguYWJzcGF0aCgKKyAgICAgICAgICAgICAgICAgICAgZ2V0YXR0cihtb2R1bGUsICdfX2ZpbGVfXycsIGZ1bGxfcGF0aCkpCisgICAgICAgICAgICAgICAgcmVhbHBhdGggPSBfanl0aG9uX2F3YXJlX3NwbGl0ZXh0KAorICAgICAgICAgICAgICAgICAgICBvcy5wYXRoLnJlYWxwYXRoKG1vZF9maWxlKSkKKyAgICAgICAgICAgICAgICBmdWxscGF0aF9ub2V4dCA9IF9qeXRob25fYXdhcmVfc3BsaXRleHQoCisgICAgICAgICAgICAgICAgICAgIG9zLnBhdGgucmVhbHBhdGgoZnVsbF9wYXRoKSkKKyAgICAgICAgICAgICAgICBpZiByZWFscGF0aC5sb3dlcigpICE9IGZ1bGxwYXRoX25vZXh0Lmxvd2VyKCk6CisgICAgICAgICAgICAgICAgICAgIG1vZHVsZV9kaXIgPSBvcy5wYXRoLmRpcm5hbWUocmVhbHBhdGgpCisgICAgICAgICAgICAgICAgICAgIG1vZF9uYW1lID0gX2p5dGhvbl9hd2FyZV9zcGxpdGV4dCgKKyAgICAgICAgICAgICAgICAgICAgICAgIG9zLnBhdGguYmFzZW5hbWUoZnVsbF9wYXRoKSkKKyAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWRfZGlyID0gb3MucGF0aC5kaXJuYW1lKGZ1bGxfcGF0aCkKKyAgICAgICAgICAgICAgICAgICAgbXNnID0gKCIlciBtb2R1bGUgaW5jb3JyZWN0bHkgaW1wb3J0ZWQgZnJvbSAlci4gRXhwZWN0ZWQgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVyLiBJcyB0aGlzIG1vZHVsZSBnbG9iYWxseSBpbnN0YWxsZWQ/IikKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgSW1wb3J0RXJyb3IoCisgICAgICAgICAgICAgICAgICAgICAgICBtc2cgJSAobW9kX25hbWUsIG1vZHVsZV9kaXIsIGV4cGVjdGVkX2RpcikpCisgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYubG9hZFRlc3RzRnJvbU1vZHVsZShtb2R1bGUsIHBhdHRlcm49cGF0dGVybiksIEZhbHNlCisgICAgICAgIGVsaWYgb3MucGF0aC5pc2RpcihmdWxsX3BhdGgpOgorICAgICAgICAgICAgaWYgKG5vdCBuYW1lc3BhY2UgYW5kCisgICAgICAgICAgICAgICAgbm90IG9zLnBhdGguaXNmaWxlKG9zLnBhdGguam9pbihmdWxsX3BhdGgsICdfX2luaXRfXy5weScpKSk6CisgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUsIEZhbHNlCisKKyAgICAgICAgICAgIGxvYWRfdGVzdHMgPSBOb25lCisgICAgICAgICAgICB0ZXN0cyA9IE5vbmUKKyAgICAgICAgICAgIG5hbWUgPSBzZWxmLl9nZXRfbmFtZV9mcm9tX3BhdGgoZnVsbF9wYXRoKQorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHBhY2thZ2UgPSBzZWxmLl9nZXRfbW9kdWxlX2Zyb21fbmFtZShuYW1lKQorICAgICAgICAgICAgZXhjZXB0IGNhc2UuU2tpcFRlc3QgYXMgZToKKyAgICAgICAgICAgICAgICByZXR1cm4gX21ha2Vfc2tpcHBlZF90ZXN0KG5hbWUsIGUsIHNlbGYuc3VpdGVDbGFzcyksIEZhbHNlCisgICAgICAgICAgICBleGNlcHQ6CisgICAgICAgICAgICAgICAgZXJyb3JfY2FzZSwgZXJyb3JfbWVzc2FnZSA9IFwKKyAgICAgICAgICAgICAgICAgICAgX21ha2VfZmFpbGVkX2ltcG9ydF90ZXN0KG5hbWUsIHNlbGYuc3VpdGVDbGFzcykKKyAgICAgICAgICAgICAgICBzZWxmLmVycm9ycy5hcHBlbmQoZXJyb3JfbWVzc2FnZSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZXJyb3JfY2FzZSwgRmFsc2UKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgbG9hZF90ZXN0cyA9IGdldGF0dHIocGFja2FnZSwgJ2xvYWRfdGVzdHMnLCBOb25lKQorICAgICAgICAgICAgICAgICMgTWFyayB0aGlzIHBhY2thZ2UgYXMgYmVpbmcgaW4gbG9hZF90ZXN0cyAocG9zc2libHkgOykpCisgICAgICAgICAgICAgICAgc2VsZi5fbG9hZGluZ19wYWNrYWdlcy5hZGQobmFtZSkKKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgIHRlc3RzID0gc2VsZi5sb2FkVGVzdHNGcm9tTW9kdWxlKHBhY2thZ2UsIHBhdHRlcm49cGF0dGVybikKKyAgICAgICAgICAgICAgICAgICAgaWYgbG9hZF90ZXN0cyBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICAgICAgICAgICMgbG9hZFRlc3RzRnJvbU1vZHVsZShwYWNrYWdlKSBoYXMgbG9hZGVkIHRlc3RzIGZvciB1cy4KKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0ZXN0cywgRmFsc2UKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRlc3RzLCBUcnVlCisgICAgICAgICAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fbG9hZGluZ19wYWNrYWdlcy5kaXNjYXJkKG5hbWUpCisKIAogZGVmYXVsdFRlc3RMb2FkZXIgPSBUZXN0TG9hZGVyKCkKIApkaWZmIC0tZ2l0IGEvTGliL3VuaXR0ZXN0L21vY2sucHkgYi9MaWIvdW5pdHRlc3QvbW9jay5weQppbmRleCA1NTU1Nzc0Li4zYjdjMTU3IDEwMDY0NAotLS0gYS9MaWIvdW5pdHRlc3QvbW9jay5weQorKysgYi9MaWIvdW5pdHRlc3QvbW9jay5weQpAQCAtMjcsOSArMjcsMTMgQEAKIGltcG9ydCBpbnNwZWN0CiBpbXBvcnQgcHByaW50CiBpbXBvcnQgc3lzCitpbXBvcnQgYnVpbHRpbnMKK2Zyb20gdHlwZXMgaW1wb3J0IE1vZHVsZVR5cGUKIGZyb20gZnVuY3Rvb2xzIGltcG9ydCB3cmFwcywgcGFydGlhbAogCiAKK19idWlsdGlucyA9IHtuYW1lIGZvciBuYW1lIGluIGRpcihidWlsdGlucykgaWYgbm90IG5hbWUuc3RhcnRzd2l0aCgnXycpfQorCiBCYXNlRXhjZXB0aW9ucyA9IChCYXNlRXhjZXB0aW9uLCkKIGlmICdqYXZhJyBpbiBzeXMucGxhdGZvcm06CiAgICAgIyBqeXRob24KQEAgLTI3MSwxMyArMjc1LDExIEBACiAgICAgcmV0dXJuIHZhbHVlCiAKIAotX2FsbG93ZWRfbmFtZXMgPSBzZXQoCi0gICAgWwotICAgICAgICAncmV0dXJuX3ZhbHVlJywgJ19tb2NrX3JldHVybl92YWx1ZScsICdzaWRlX2VmZmVjdCcsCi0gICAgICAgICdfbW9ja19zaWRlX2VmZmVjdCcsICdfbW9ja19wYXJlbnQnLCAnX21vY2tfbmV3X3BhcmVudCcsCi0gICAgICAgICdfbW9ja19uYW1lJywgJ19tb2NrX25ld19uYW1lJwotICAgIF0KLSkKK19hbGxvd2VkX25hbWVzID0geworICAgICdyZXR1cm5fdmFsdWUnLCAnX21vY2tfcmV0dXJuX3ZhbHVlJywgJ3NpZGVfZWZmZWN0JywKKyAgICAnX21vY2tfc2lkZV9lZmZlY3QnLCAnX21vY2tfcGFyZW50JywgJ19tb2NrX25ld19wYXJlbnQnLAorICAgICdfbW9ja19uYW1lJywgJ19tb2NrX25ld19uYW1lJworfQogCiAKIGRlZiBfZGVsZWdhdGluZ19wcm9wZXJ0eShuYW1lKToKQEAgLTM3NSw3ICszNzcsNyBAQAogICAgIGRlZiBfX2luaXRfXygKICAgICAgICAgICAgIHNlbGYsIHNwZWM9Tm9uZSwgd3JhcHM9Tm9uZSwgbmFtZT1Ob25lLCBzcGVjX3NldD1Ob25lLAogICAgICAgICAgICAgcGFyZW50PU5vbmUsIF9zcGVjX3N0YXRlPU5vbmUsIF9uZXdfbmFtZT0nJywgX25ld19wYXJlbnQ9Tm9uZSwKLSAgICAgICAgICAgIF9zcGVjX2FzX2luc3RhbmNlPUZhbHNlLCBfZWF0X3NlbGY9Tm9uZSwgKiprd2FyZ3MKKyAgICAgICAgICAgIF9zcGVjX2FzX2luc3RhbmNlPUZhbHNlLCBfZWF0X3NlbGY9Tm9uZSwgdW5zYWZlPUZhbHNlLCAqKmt3YXJncwogICAgICAgICApOgogICAgICAgICBpZiBfbmV3X3BhcmVudCBpcyBOb25lOgogICAgICAgICAgICAgX25ld19wYXJlbnQgPSBwYXJlbnQKQEAgLTQwNSw2ICs0MDcsNyBAQAogICAgICAgICBfX2RpY3RfX1snX21vY2tfbW9ja19jYWxscyddID0gX0NhbGxMaXN0KCkKIAogICAgICAgICBfX2RpY3RfX1snbWV0aG9kX2NhbGxzJ10gPSBfQ2FsbExpc3QoKQorICAgICAgICBfX2RpY3RfX1snX21vY2tfdW5zYWZlJ10gPSB1bnNhZmUKIAogICAgICAgICBpZiBrd2FyZ3M6CiAgICAgICAgICAgICBzZWxmLmNvbmZpZ3VyZV9tb2NrKCoqa3dhcmdzKQpAQCAtNTYxLDEzICs1NjQsMTYgQEAKIAogCiAgICAgZGVmIF9fZ2V0YXR0cl9fKHNlbGYsIG5hbWUpOgotICAgICAgICBpZiBuYW1lID09ICdfbW9ja19tZXRob2RzJzoKKyAgICAgICAgaWYgbmFtZSBpbiB7J19tb2NrX21ldGhvZHMnLCAnX21vY2tfdW5zYWZlJ306CiAgICAgICAgICAgICByYWlzZSBBdHRyaWJ1dGVFcnJvcihuYW1lKQogICAgICAgICBlbGlmIHNlbGYuX21vY2tfbWV0aG9kcyBpcyBub3QgTm9uZToKICAgICAgICAgICAgIGlmIG5hbWUgbm90IGluIHNlbGYuX21vY2tfbWV0aG9kcyBvciBuYW1lIGluIF9hbGxfbWFnaWNzOgogICAgICAgICAgICAgICAgIHJhaXNlIEF0dHJpYnV0ZUVycm9yKCJNb2NrIG9iamVjdCBoYXMgbm8gYXR0cmlidXRlICVyIiAlIG5hbWUpCiAgICAgICAgIGVsaWYgX2lzX21hZ2ljKG5hbWUpOgogICAgICAgICAgICAgcmFpc2UgQXR0cmlidXRlRXJyb3IobmFtZSkKKyAgICAgICAgaWYgbm90IHNlbGYuX21vY2tfdW5zYWZlOgorICAgICAgICAgICAgaWYgbmFtZS5zdGFydHN3aXRoKCgnYXNzZXJ0JywgJ2Fzc3JldCcpKToKKyAgICAgICAgICAgICAgICByYWlzZSBBdHRyaWJ1dGVFcnJvcihuYW1lKQogCiAgICAgICAgIHJlc3VsdCA9IHNlbGYuX21vY2tfY2hpbGRyZW4uZ2V0KG5hbWUpCiAgICAgICAgIGlmIHJlc3VsdCBpcyBfZGVsZXRlZDoKQEAgLTc1MCw2ICs3NTYsMTQgQEAKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHJldHVybiBfY2FsbAogCisgICAgZGVmIGFzc2VydF9ub3RfY2FsbGVkKF9tb2NrX3NlbGYpOgorICAgICAgICAiIiJhc3NlcnQgdGhhdCB0aGUgbW9jayB3YXMgbmV2ZXIgY2FsbGVkLgorICAgICAgICAiIiIKKyAgICAgICAgc2VsZiA9IF9tb2NrX3NlbGYKKyAgICAgICAgaWYgc2VsZi5jYWxsX2NvdW50ICE9IDA6CisgICAgICAgICAgICBtc2cgPSAoIkV4cGVjdGVkICclcycgdG8gbm90IGhhdmUgYmVlbiBjYWxsZWQuIENhbGxlZCAlcyB0aW1lcy4iICUKKyAgICAgICAgICAgICAgICAgICAoc2VsZi5fbW9ja19uYW1lIG9yICdtb2NrJywgc2VsZi5jYWxsX2NvdW50KSkKKyAgICAgICAgICAgIHJhaXNlIEFzc2VydGlvbkVycm9yKG1zZykKIAogICAgIGRlZiBhc3NlcnRfY2FsbGVkX3dpdGgoX21vY2tfc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKICAgICAgICAgIiIiYXNzZXJ0IHRoYXQgdGhlIG1vY2sgd2FzIGNhbGxlZCB3aXRoIHRoZSBzcGVjaWZpZWQgYXJndW1lbnRzLgpAQCAtMTE2Niw2ICsxMTgwLDkgQEAKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGxvY2FsID0gVHJ1ZQogCisgICAgICAgIGlmIG5hbWUgaW4gX2J1aWx0aW5zIGFuZCBpc2luc3RhbmNlKHRhcmdldCwgTW9kdWxlVHlwZSk6CisgICAgICAgICAgICBzZWxmLmNyZWF0ZSA9IFRydWUKKwogICAgICAgICBpZiBub3Qgc2VsZi5jcmVhdGUgYW5kIG9yaWdpbmFsIGlzIERFRkFVTFQ6CiAgICAgICAgICAgICByYWlzZSBBdHRyaWJ1dGVFcnJvcigKICAgICAgICAgICAgICAgICAiJXMgZG9lcyBub3QgaGF2ZSB0aGUgYXR0cmlidXRlICVyIiAlICh0YXJnZXQsIG5hbWUpCkBAIC0xNjYwLDExICsxNjc3LDEyIEBACiAjIChhcyB0aGV5IGFyZSBtZXRhY2xhc3MgbWV0aG9kcykKICMgX19kZWxfXyBpcyBub3Qgc3VwcG9ydGVkIGF0IGFsbCBhcyBpdCBjYXVzZXMgcHJvYmxlbXMgaWYgaXQgZXhpc3RzCiAKLV9ub25fZGVmYXVsdHMgPSBzZXQoJ19fJXNfXycgJSBtZXRob2QgZm9yIG1ldGhvZCBpbiBbCi0gICAgJ2dldCcsICdzZXQnLCAnZGVsZXRlJywgJ3JldmVyc2VkJywgJ21pc3NpbmcnLCAncmVkdWNlJywgJ3JlZHVjZV9leCcsCi0gICAgJ2dldGluaXRhcmdzJywgJ2dldG5ld2FyZ3MnLCAnZ2V0c3RhdGUnLCAnc2V0c3RhdGUnLCAnZ2V0Zm9ybWF0JywKLSAgICAnc2V0Zm9ybWF0JywgJ3JlcHInLCAnZGlyJywgJ3N1YmNsYXNzZXMnLCAnZm9ybWF0JywKLV0pCitfbm9uX2RlZmF1bHRzID0geworICAgICdfX2dldF9fJywgJ19fc2V0X18nLCAnX19kZWxldGVfXycsICdfX3JldmVyc2VkX18nLCAnX19taXNzaW5nX18nLAorICAgICdfX3JlZHVjZV9fJywgJ19fcmVkdWNlX2V4X18nLCAnX19nZXRpbml0YXJnc19fJywgJ19fZ2V0bmV3YXJnc19fJywKKyAgICAnX19nZXRzdGF0ZV9fJywgJ19fc2V0c3RhdGVfXycsICdfX2dldGZvcm1hdF9fJywgJ19fc2V0Zm9ybWF0X18nLAorICAgICdfX3JlcHJfXycsICdfX2Rpcl9fJywgJ19fc3ViY2xhc3Nlc19fJywgJ19fZm9ybWF0X18nLAorfQogCiAKIGRlZiBfZ2V0X21ldGhvZChuYW1lLCBmdW5jKToKQEAgLTE2NzUsMTkgKzE2OTMsMTkgQEAKICAgICByZXR1cm4gbWV0aG9kCiAKIAotX21hZ2ljcyA9IHNldCgKK19tYWdpY3MgPSB7CiAgICAgJ19fJXNfXycgJSBtZXRob2QgZm9yIG1ldGhvZCBpbgogICAgICcgJy5qb2luKFttYWdpY19tZXRob2RzLCBudW1lcmljcywgaW5wbGFjZSwgcmlnaHRdKS5zcGxpdCgpCi0pCit9CiAKIF9hbGxfbWFnaWNzID0gX21hZ2ljcyB8IF9ub25fZGVmYXVsdHMKIAotX3Vuc3VwcG9ydGVkX21hZ2ljcyA9IHNldChbCitfdW5zdXBwb3J0ZWRfbWFnaWNzID0gewogICAgICdfX2dldGF0dHJfXycsICdfX3NldGF0dHJfXycsCiAgICAgJ19faW5pdF9fJywgJ19fbmV3X18nLCAnX19wcmVwYXJlX18nCiAgICAgJ19faW5zdGFuY2VjaGVja19fJywgJ19fc3ViY2xhc3NjaGVja19fJywKICAgICAnX19kZWxfXycKLV0pCit9CiAKIF9jYWxjdWxhdGVfcmV0dXJuX3ZhbHVlID0gewogICAgICdfX2hhc2hfXyc6IGxhbWJkYSBzZWxmOiBvYmplY3QuX19oYXNoX18oc2VsZiksCkBAIC0xODc1LDcgKzE4OTMsNyBAQAogICAgIGZvcm1hdHRlZF9hcmdzID0gJycKICAgICBhcmdzX3N0cmluZyA9ICcsICcuam9pbihbcmVwcihhcmcpIGZvciBhcmcgaW4gYXJnc10pCiAgICAga3dhcmdzX3N0cmluZyA9ICcsICcuam9pbihbCi0gICAgICAgICclcz0lcicgJSAoa2V5LCB2YWx1ZSkgZm9yIGtleSwgdmFsdWUgaW4ga3dhcmdzLml0ZW1zKCkKKyAgICAgICAgJyVzPSVyJyAlIChrZXksIHZhbHVlKSBmb3Iga2V5LCB2YWx1ZSBpbiBzb3J0ZWQoa3dhcmdzLml0ZW1zKCkpCiAgICAgXSkKICAgICBpZiBhcmdzX3N0cmluZzoKICAgICAgICAgZm9ybWF0dGVkX2FyZ3MgPSBhcmdzX3N0cmluZwpAQCAtMTk5NywxMCArMjAxNSw2IEBACiAgICAgICAgIHJldHVybiAob3RoZXJfYXJncywgb3RoZXJfa3dhcmdzKSA9PSAoc2VsZl9hcmdzLCBzZWxmX2t3YXJncykKIAogCi0gICAgZGVmIF9fbmVfXyhzZWxmLCBvdGhlcik6Ci0gICAgICAgIHJldHVybiBub3Qgc2VsZi5fX2VxX18ob3RoZXIpCi0KLQogICAgIGRlZiBfX2NhbGxfXyhzZWxmLCAqYXJncywgKiprd2FyZ3MpOgogICAgICAgICBpZiBzZWxmLm5hbWUgaXMgTm9uZToKICAgICAgICAgICAgIHJldHVybiBfQ2FsbCgoJycsIGFyZ3MsIGt3YXJncyksIG5hbWU9JygpJykKQEAgLTIwMTYsNiArMjAzMCwxMiBAQAogICAgICAgICByZXR1cm4gX0NhbGwobmFtZT1uYW1lLCBwYXJlbnQ9c2VsZiwgZnJvbV9rYWxsPUZhbHNlKQogCiAKKyAgICBkZWYgY291bnQoc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgcmV0dXJuIHNlbGYuX19nZXRhdHRyX18oJ2NvdW50JykoKmFyZ3MsICoqa3dhcmdzKQorCisgICAgZGVmIGluZGV4KHNlbGYsICphcmdzLCAqKmt3YXJncyk6CisgICAgICAgIHJldHVybiBzZWxmLl9fZ2V0YXR0cl9fKCdpbmRleCcpKCphcmdzLCAqKmt3YXJncykKKwogICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKICAgICAgICAgaWYgbm90IHNlbGYuZnJvbV9rYWxsOgogICAgICAgICAgICAgbmFtZSA9IHNlbGYubmFtZSBvciAnY2FsbCcKZGlmZiAtLWdpdCBhL0xpYi91bml0dGVzdC90ZXN0L3Rlc3RfY2FzZS5weSBiL0xpYi91bml0dGVzdC90ZXN0L3Rlc3RfY2FzZS5weQppbmRleCBjN2ZmM2IwLi41MDNhZDJmIDEwMDY0NAotLS0gYS9MaWIvdW5pdHRlc3QvdGVzdC90ZXN0X2Nhc2UucHkKKysrIGIvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdF9jYXNlLnB5CkBAIC0xMTAzLDEyICsxMTAzLDkgQEAKICAgICAgICAgZXhjZXB0IHNlbGYuZmFpbHVyZUV4Y2VwdGlvbiBhcyBlOgogICAgICAgICAgICAgIyBuZWVkIHRvIHJlbW92ZSB0aGUgZmlyc3QgbGluZSBvZiB0aGUgZXJyb3IgbWVzc2FnZQogICAgICAgICAgICAgZXJyb3IgPSBzdHIoZSkuc3BsaXQoJ1xuJywgMSlbMV0KKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2FtcGxlX3RleHRfZXJyb3IsIGVycm9yKQogCi0gICAgICAgICAgICAjIG5vIGZhaXIgdGVzdGluZyBvdXJzZWxmIHdpdGggb3Vyc2VsZiwgYW5kIGFzc2VydEVxdWFsIGlzIHVzZWQgZm9yIHN0cmluZ3MKLSAgICAgICAgICAgICMgc28gY2FuJ3QgdXNlIGFzc2VydEVxdWFsIGVpdGhlci4gSnVzdCB1c2UgYXNzZXJ0VHJ1ZS4KLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzYW1wbGVfdGV4dF9lcnJvciA9PSBlcnJvcikKLQotICAgIGRlZiB0ZXN0QXNlcnRFcXVhbFNpbmdsZUxpbmUoc2VsZik6CisgICAgZGVmIHRlc3RBc3NlcnRFcXVhbFNpbmdsZUxpbmUoc2VsZik6CiAgICAgICAgIHNhbXBsZV90ZXh0ID0gImxhZGVuIHN3YWxsb3dzIGZseSBzbG93bHkiCiAgICAgICAgIHJldmlzZWRfc2FtcGxlX3RleHQgPSAidW5sYWRlbiBzd2FsbG93cyBmbHkgcXVpY2tseSIKICAgICAgICAgc2FtcGxlX3RleHRfZXJyb3IgPSAiIiJcCkBAIC0xMTIwLDggKzExMTcsOSBAQAogICAgICAgICB0cnk6CiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNhbXBsZV90ZXh0LCByZXZpc2VkX3NhbXBsZV90ZXh0KQogICAgICAgICBleGNlcHQgc2VsZi5mYWlsdXJlRXhjZXB0aW9uIGFzIGU6CisgICAgICAgICAgICAjIG5lZWQgdG8gcmVtb3ZlIHRoZSBmaXJzdCBsaW5lIG9mIHRoZSBlcnJvciBtZXNzYWdlCiAgICAgICAgICAgICBlcnJvciA9IHN0cihlKS5zcGxpdCgnXG4nLCAxKVsxXQotICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNhbXBsZV90ZXh0X2Vycm9yID09IGVycm9yKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzYW1wbGVfdGV4dF9lcnJvciwgZXJyb3IpCiAKICAgICBkZWYgdGVzdEFzc2VydElzTm9uZShzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoTm9uZSkKZGlmZiAtLWdpdCBhL0xpYi91bml0dGVzdC90ZXN0L3Rlc3RfZGlzY292ZXJ5LnB5IGIvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdF9kaXNjb3ZlcnkucHkKaW5kZXggYWJiOTA2Ni4uNGY2MTMxNCAxMDA2NDQKLS0tIGEvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdF9kaXNjb3ZlcnkucHkKKysrIGIvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdF9kaXNjb3ZlcnkucHkKQEAgLTEsNCArMSw1IEBACi1pbXBvcnQgb3MKK2ltcG9ydCBvcy5wYXRoCitmcm9tIG9zLnBhdGggaW1wb3J0IGFic3BhdGgKIGltcG9ydCByZQogaW1wb3J0IHN5cwogaW1wb3J0IHR5cGVzCkBAIC02OCw3ICs2OSwxMyBAQAogICAgICAgICBzZWxmLmFkZENsZWFudXAocmVzdG9yZV9pc2ZpbGUpCiAKICAgICAgICAgbG9hZGVyLl9nZXRfbW9kdWxlX2Zyb21fbmFtZSA9IGxhbWJkYSBwYXRoOiBwYXRoICsgJyBtb2R1bGUnCi0gICAgICAgIGxvYWRlci5sb2FkVGVzdHNGcm9tTW9kdWxlID0gbGFtYmRhIG1vZHVsZTogbW9kdWxlICsgJyB0ZXN0cycKKyAgICAgICAgb3JpZ19sb2FkX3Rlc3RzID0gbG9hZGVyLmxvYWRUZXN0c0Zyb21Nb2R1bGUKKyAgICAgICAgZGVmIGxvYWRUZXN0c0Zyb21Nb2R1bGUobW9kdWxlLCBwYXR0ZXJuPU5vbmUpOgorICAgICAgICAgICAgIyBUaGlzIGlzIHdoZXJlIGxvYWRfdGVzdHMgaXMgY2FsbGVkLgorICAgICAgICAgICAgYmFzZSA9IG9yaWdfbG9hZF90ZXN0cyhtb2R1bGUsIHBhdHRlcm49cGF0dGVybikKKyAgICAgICAgICAgIHJldHVybiBiYXNlICsgW21vZHVsZSArICcgdGVzdHMnXQorICAgICAgICBsb2FkZXIubG9hZFRlc3RzRnJvbU1vZHVsZSA9IGxvYWRUZXN0c0Zyb21Nb2R1bGUKKyAgICAgICAgbG9hZGVyLnN1aXRlQ2xhc3MgPSBsYW1iZGEgdGhpbmc6IHRoaW5nCiAKICAgICAgICAgdG9wX2xldmVsID0gb3MucGF0aC5hYnNwYXRoKCcvZm9vJykKICAgICAgICAgbG9hZGVyLl90b3BfbGV2ZWxfZGlyID0gdG9wX2xldmVsCkBAIC03Niw5ICs4Myw5IEBACiAKICAgICAgICAgIyBUaGUgdGVzdCBzdWl0ZXMgZm91bmQgc2hvdWxkIGJlIHNvcnRlZCBhbHBoYWJldGljYWxseSBmb3IgcmVsaWFibGUKICAgICAgICAgIyBleGVjdXRpb24gb3JkZXIuCi0gICAgICAgIGV4cGVjdGVkID0gW25hbWUgKyAnIG1vZHVsZSB0ZXN0cycgZm9yIG5hbWUgaW4KLSAgICAgICAgICAgICAgICAgICAgKCd0ZXN0MScsICd0ZXN0MicpXQotICAgICAgICBleHBlY3RlZC5leHRlbmQoWygndGVzdF9kaXIuJXMnICUgbmFtZSkgKyAnIG1vZHVsZSB0ZXN0cycgZm9yIG5hbWUgaW4KKyAgICAgICAgZXhwZWN0ZWQgPSBbW25hbWUgKyAnIG1vZHVsZSB0ZXN0cyddIGZvciBuYW1lIGluCisgICAgICAgICAgICAgICAgICAgICgndGVzdDEnLCAndGVzdDInLCAndGVzdF9kaXInKV0KKyAgICAgICAgZXhwZWN0ZWQuZXh0ZW5kKFtbKCd0ZXN0X2Rpci4lcycgJSBuYW1lKSArICcgbW9kdWxlIHRlc3RzJ10gZm9yIG5hbWUgaW4KICAgICAgICAgICAgICAgICAgICAgKCd0ZXN0MycsICd0ZXN0NCcpXSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdWl0ZSwgZXhwZWN0ZWQpCiAKQEAgLTExNiwzNCArMTIzLDIwNCBAQAogICAgICAgICAgICAgICAgIGlmIG9zLnBhdGguYmFzZW5hbWUocGF0aCkgPT0gJ3Rlc3RfZGlyZWN0b3J5JzoKICAgICAgICAgICAgICAgICAgICAgZGVmIGxvYWRfdGVzdHMobG9hZGVyLCB0ZXN0cywgcGF0dGVybik6CiAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmxvYWRfdGVzdHNfYXJncy5hcHBlbmQoKGxvYWRlciwgdGVzdHMsIHBhdHRlcm4pKQotICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdsb2FkX3Rlc3RzJworICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtzZWxmLnBhdGggKyAnIGxvYWRfdGVzdHMnXQogICAgICAgICAgICAgICAgICAgICBzZWxmLmxvYWRfdGVzdHMgPSBsb2FkX3Rlc3RzCiAKICAgICAgICAgICAgIGRlZiBfX2VxX18oc2VsZiwgb3RoZXIpOgogICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLnBhdGggPT0gb3RoZXIucGF0aAogCiAgICAgICAgIGxvYWRlci5fZ2V0X21vZHVsZV9mcm9tX25hbWUgPSBsYW1iZGEgbmFtZTogTW9kdWxlKG5hbWUpCi0gICAgICAgIGRlZiBsb2FkVGVzdHNGcm9tTW9kdWxlKG1vZHVsZSwgdXNlX2xvYWRfdGVzdHMpOgotICAgICAgICAgICAgaWYgdXNlX2xvYWRfdGVzdHM6Ci0gICAgICAgICAgICAgICAgcmFpc2Ugc2VsZi5mYWlsdXJlRXhjZXB0aW9uKCd1c2VfbG9hZF90ZXN0cyBzaG91bGQgYmUgRmFsc2UgZm9yIHBhY2thZ2VzJykKLSAgICAgICAgICAgIHJldHVybiBtb2R1bGUucGF0aCArICcgbW9kdWxlIHRlc3RzJworICAgICAgICBvcmlnX2xvYWRfdGVzdHMgPSBsb2FkZXIubG9hZFRlc3RzRnJvbU1vZHVsZQorICAgICAgICBkZWYgbG9hZFRlc3RzRnJvbU1vZHVsZShtb2R1bGUsIHBhdHRlcm49Tm9uZSk6CisgICAgICAgICAgICAjIFRoaXMgaXMgd2hlcmUgbG9hZF90ZXN0cyBpcyBjYWxsZWQuCisgICAgICAgICAgICBiYXNlID0gb3JpZ19sb2FkX3Rlc3RzKG1vZHVsZSwgcGF0dGVybj1wYXR0ZXJuKQorICAgICAgICAgICAgcmV0dXJuIGJhc2UgKyBbbW9kdWxlLnBhdGggKyAnIG1vZHVsZSB0ZXN0cyddCiAgICAgICAgIGxvYWRlci5sb2FkVGVzdHNGcm9tTW9kdWxlID0gbG9hZFRlc3RzRnJvbU1vZHVsZQorICAgICAgICBsb2FkZXIuc3VpdGVDbGFzcyA9IGxhbWJkYSB0aGluZzogdGhpbmcKIAogICAgICAgICBsb2FkZXIuX3RvcF9sZXZlbF9kaXIgPSAnL2ZvbycKICAgICAgICAgIyB0aGlzIHRpbWUgbm8gJy5weScgb24gdGhlIHBhdHRlcm4gc28gdGhhdCBpdCBjYW4gbWF0Y2gKICAgICAgICAgIyBhIHRlc3QgcGFja2FnZQogICAgICAgICBzdWl0ZSA9IGxpc3QobG9hZGVyLl9maW5kX3Rlc3RzKCcvZm9vJywgJ3Rlc3QqJykpCiAKLSAgICAgICAgIyBXZSBzaG91bGQgaGF2ZSBsb2FkZWQgdGVzdHMgZnJvbSB0aGUgdGVzdF9kaXJlY3RvcnkgcGFja2FnZSBieSBjYWxsaW5nIGxvYWRfdGVzdHMKLSAgICAgICAgIyBhbmQgZGlyZWN0bHkgZnJvbSB0aGUgdGVzdF9kaXJlY3RvcnkyIHBhY2thZ2UKKyAgICAgICAgIyBXZSBzaG91bGQgaGF2ZSBsb2FkZWQgdGVzdHMgZnJvbSB0aGUgYV9kaXJlY3RvcnkgYW5kIHRlc3RfZGlyZWN0b3J5MgorICAgICAgICAjIGRpcmVjdGx5IGFuZCB2aWEgbG9hZF90ZXN0cyBmb3IgdGhlIHRlc3RfZGlyZWN0b3J5IHBhY2thZ2UsIHdoaWNoCisgICAgICAgICMgc3RpbGwgY2FsbHMgdGhlIGJhc2VsaW5lIG1vZHVsZSBsb2FkZXIuCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3VpdGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgWydsb2FkX3Rlc3RzJywgJ3Rlc3RfZGlyZWN0b3J5MicgKyAnIG1vZHVsZSB0ZXN0cyddKQorICAgICAgICAgICAgICAgICAgICAgICAgIFtbJ2FfZGlyZWN0b3J5IG1vZHVsZSB0ZXN0cyddLAorICAgICAgICAgICAgICAgICAgICAgICAgICBbJ3Rlc3RfZGlyZWN0b3J5IGxvYWRfdGVzdHMnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Rlc3RfZGlyZWN0b3J5IG1vZHVsZSB0ZXN0cyddLAorICAgICAgICAgICAgICAgICAgICAgICAgICBbJ3Rlc3RfZGlyZWN0b3J5MiBtb2R1bGUgdGVzdHMnXV0pCisKKwogICAgICAgICAjIFRoZSB0ZXN0IG1vZHVsZSBwYXRocyBzaG91bGQgYmUgc29ydGVkIGZvciByZWxpYWJsZSBleGVjdXRpb24gb3JkZXIKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChNb2R1bGUucGF0aHMsIFsndGVzdF9kaXJlY3RvcnknLCAndGVzdF9kaXJlY3RvcnkyJ10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoTW9kdWxlLnBhdGhzLAorICAgICAgICAgICAgICAgICAgICAgICAgIFsnYV9kaXJlY3RvcnknLCAndGVzdF9kaXJlY3RvcnknLCAndGVzdF9kaXJlY3RvcnkyJ10pCisKKyAgICAgICAgIyBsb2FkX3Rlc3RzIHNob3VsZCBoYXZlIGJlZW4gY2FsbGVkIG9uY2Ugd2l0aCBsb2FkZXIsIHRlc3RzIGFuZCBwYXR0ZXJuCisgICAgICAgICMgKGJ1dCB0aGVyZSBhcmUgbm8gdGVzdHMgaW4gb3VyIHN0dWIgbW9kdWxlIGl0c2VsZiwgc28gdGhhdHMgW10gYXQgdGhlCisgICAgICAgICMgdGltZSBvZiBjYWxsLgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKE1vZHVsZS5sb2FkX3Rlc3RzX2FyZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgWyhsb2FkZXIsIFtdLCAndGVzdConKV0pCisKKyAgICBkZWYgdGVzdF9maW5kX3Rlc3RzX2RlZmF1bHRfY2FsbHNfcGFja2FnZV9sb2FkX3Rlc3RzKHNlbGYpOgorICAgICAgICBsb2FkZXIgPSB1bml0dGVzdC5UZXN0TG9hZGVyKCkKKworICAgICAgICBvcmlnaW5hbF9saXN0ZGlyID0gb3MubGlzdGRpcgorICAgICAgICBkZWYgcmVzdG9yZV9saXN0ZGlyKCk6CisgICAgICAgICAgICBvcy5saXN0ZGlyID0gb3JpZ2luYWxfbGlzdGRpcgorICAgICAgICBvcmlnaW5hbF9pc2ZpbGUgPSBvcy5wYXRoLmlzZmlsZQorICAgICAgICBkZWYgcmVzdG9yZV9pc2ZpbGUoKToKKyAgICAgICAgICAgIG9zLnBhdGguaXNmaWxlID0gb3JpZ2luYWxfaXNmaWxlCisgICAgICAgIG9yaWdpbmFsX2lzZGlyID0gb3MucGF0aC5pc2RpcgorICAgICAgICBkZWYgcmVzdG9yZV9pc2RpcigpOgorICAgICAgICAgICAgb3MucGF0aC5pc2RpciA9IG9yaWdpbmFsX2lzZGlyCisKKyAgICAgICAgZGlyZWN0b3JpZXMgPSBbJ2FfZGlyZWN0b3J5JywgJ3Rlc3RfZGlyZWN0b3J5JywgJ3Rlc3RfZGlyZWN0b3J5MiddCisgICAgICAgIHBhdGhfbGlzdHMgPSBbZGlyZWN0b3JpZXMsIFtdLCBbXSwgW11dCisgICAgICAgIG9zLmxpc3RkaXIgPSBsYW1iZGEgcGF0aDogcGF0aF9saXN0cy5wb3AoMCkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHJlc3RvcmVfbGlzdGRpcikKKworICAgICAgICBvcy5wYXRoLmlzZGlyID0gbGFtYmRhIHBhdGg6IFRydWUKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHJlc3RvcmVfaXNkaXIpCisKKyAgICAgICAgb3MucGF0aC5pc2ZpbGUgPSBsYW1iZGEgcGF0aDogb3MucGF0aC5iYXNlbmFtZShwYXRoKSBub3QgaW4gZGlyZWN0b3JpZXMKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHJlc3RvcmVfaXNmaWxlKQorCisgICAgICAgIGNsYXNzIE1vZHVsZShvYmplY3QpOgorICAgICAgICAgICAgcGF0aHMgPSBbXQorICAgICAgICAgICAgbG9hZF90ZXN0c19hcmdzID0gW10KKworICAgICAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBhdGgpOgorICAgICAgICAgICAgICAgIHNlbGYucGF0aCA9IHBhdGgKKyAgICAgICAgICAgICAgICBzZWxmLnBhdGhzLmFwcGVuZChwYXRoKQorICAgICAgICAgICAgICAgIGlmIG9zLnBhdGguYmFzZW5hbWUocGF0aCkgPT0gJ3Rlc3RfZGlyZWN0b3J5JzoKKyAgICAgICAgICAgICAgICAgICAgZGVmIGxvYWRfdGVzdHMobG9hZGVyLCB0ZXN0cywgcGF0dGVybik6CisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmxvYWRfdGVzdHNfYXJncy5hcHBlbmQoKGxvYWRlciwgdGVzdHMsIHBhdHRlcm4pKQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtzZWxmLnBhdGggKyAnIGxvYWRfdGVzdHMnXQorICAgICAgICAgICAgICAgICAgICBzZWxmLmxvYWRfdGVzdHMgPSBsb2FkX3Rlc3RzCisKKyAgICAgICAgICAgIGRlZiBfX2VxX18oc2VsZiwgb3RoZXIpOgorICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLnBhdGggPT0gb3RoZXIucGF0aAorCisgICAgICAgIGxvYWRlci5fZ2V0X21vZHVsZV9mcm9tX25hbWUgPSBsYW1iZGEgbmFtZTogTW9kdWxlKG5hbWUpCisgICAgICAgIG9yaWdfbG9hZF90ZXN0cyA9IGxvYWRlci5sb2FkVGVzdHNGcm9tTW9kdWxlCisgICAgICAgIGRlZiBsb2FkVGVzdHNGcm9tTW9kdWxlKG1vZHVsZSwgcGF0dGVybj1Ob25lKToKKyAgICAgICAgICAgICMgVGhpcyBpcyB3aGVyZSBsb2FkX3Rlc3RzIGlzIGNhbGxlZC4KKyAgICAgICAgICAgIGJhc2UgPSBvcmlnX2xvYWRfdGVzdHMobW9kdWxlLCBwYXR0ZXJuPXBhdHRlcm4pCisgICAgICAgICAgICByZXR1cm4gYmFzZSArIFttb2R1bGUucGF0aCArICcgbW9kdWxlIHRlc3RzJ10KKyAgICAgICAgbG9hZGVyLmxvYWRUZXN0c0Zyb21Nb2R1bGUgPSBsb2FkVGVzdHNGcm9tTW9kdWxlCisgICAgICAgIGxvYWRlci5zdWl0ZUNsYXNzID0gbGFtYmRhIHRoaW5nOiB0aGluZworCisgICAgICAgIGxvYWRlci5fdG9wX2xldmVsX2RpciA9ICcvZm9vJworICAgICAgICAjIHRoaXMgdGltZSBubyAnLnB5JyBvbiB0aGUgcGF0dGVybiBzbyB0aGF0IGl0IGNhbiBtYXRjaAorICAgICAgICAjIGEgdGVzdCBwYWNrYWdlCisgICAgICAgIHN1aXRlID0gbGlzdChsb2FkZXIuX2ZpbmRfdGVzdHMoJy9mb28nLCAndGVzdCoucHknKSkKKworICAgICAgICAjIFdlIHNob3VsZCBoYXZlIGxvYWRlZCB0ZXN0cyBmcm9tIHRoZSBhX2RpcmVjdG9yeSBhbmQgdGVzdF9kaXJlY3RvcnkyCisgICAgICAgICMgZGlyZWN0bHkgYW5kIHZpYSBsb2FkX3Rlc3RzIGZvciB0aGUgdGVzdF9kaXJlY3RvcnkgcGFja2FnZSwgd2hpY2gKKyAgICAgICAgIyBzdGlsbCBjYWxscyB0aGUgYmFzZWxpbmUgbW9kdWxlIGxvYWRlci4KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdWl0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBbWydhX2RpcmVjdG9yeSBtb2R1bGUgdGVzdHMnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgWyd0ZXN0X2RpcmVjdG9yeSBsb2FkX3Rlc3RzJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICd0ZXN0X2RpcmVjdG9yeSBtb2R1bGUgdGVzdHMnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgWyd0ZXN0X2RpcmVjdG9yeTIgbW9kdWxlIHRlc3RzJ11dKQorICAgICAgICAjIFRoZSB0ZXN0IG1vZHVsZSBwYXRocyBzaG91bGQgYmUgc29ydGVkIGZvciByZWxpYWJsZSBleGVjdXRpb24gb3JkZXIKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChNb2R1bGUucGF0aHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgWydhX2RpcmVjdG9yeScsICd0ZXN0X2RpcmVjdG9yeScsICd0ZXN0X2RpcmVjdG9yeTInXSkKKwogCiAgICAgICAgICMgbG9hZF90ZXN0cyBzaG91bGQgaGF2ZSBiZWVuIGNhbGxlZCBvbmNlIHdpdGggbG9hZGVyLCB0ZXN0cyBhbmQgcGF0dGVybgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKE1vZHVsZS5sb2FkX3Rlc3RzX2FyZ3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgWyhsb2FkZXIsICd0ZXN0X2RpcmVjdG9yeScgKyAnIG1vZHVsZSB0ZXN0cycsICd0ZXN0KicpXSkKKyAgICAgICAgICAgICAgICAgICAgICAgICBbKGxvYWRlciwgW10sICd0ZXN0Ki5weScpXSkKKworICAgIGRlZiB0ZXN0X2ZpbmRfdGVzdHNfY3VzdG9taXNlX3ZpYV9wYWNrYWdlX3BhdHRlcm4oc2VsZik6CisgICAgICAgICMgVGhpcyB0ZXN0IHVzZXMgdGhlIGV4YW1wbGUgJ2RvLW5vdGhpbmcnIGxvYWRfdGVzdHMgZnJvbQorICAgICAgICAjIGh0dHBzOi8vZG9jcy5weXRob24ub3JnLzMvbGlicmFyeS91bml0dGVzdC5odG1sI2xvYWQtdGVzdHMtcHJvdG9jb2wKKyAgICAgICAgIyB0byBtYWtlIHN1cmUgdGhhdCB0aGF0IGFjdHVhbGx5IHdvcmtzLgorICAgICAgICAjIEhvdXNla2VlcGluZworICAgICAgICBvcmlnaW5hbF9saXN0ZGlyID0gb3MubGlzdGRpcgorICAgICAgICBkZWYgcmVzdG9yZV9saXN0ZGlyKCk6CisgICAgICAgICAgICBvcy5saXN0ZGlyID0gb3JpZ2luYWxfbGlzdGRpcgorICAgICAgICBzZWxmLmFkZENsZWFudXAocmVzdG9yZV9saXN0ZGlyKQorICAgICAgICBvcmlnaW5hbF9pc2ZpbGUgPSBvcy5wYXRoLmlzZmlsZQorICAgICAgICBkZWYgcmVzdG9yZV9pc2ZpbGUoKToKKyAgICAgICAgICAgIG9zLnBhdGguaXNmaWxlID0gb3JpZ2luYWxfaXNmaWxlCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChyZXN0b3JlX2lzZmlsZSkKKyAgICAgICAgb3JpZ2luYWxfaXNkaXIgPSBvcy5wYXRoLmlzZGlyCisgICAgICAgIGRlZiByZXN0b3JlX2lzZGlyKCk6CisgICAgICAgICAgICBvcy5wYXRoLmlzZGlyID0gb3JpZ2luYWxfaXNkaXIKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHJlc3RvcmVfaXNkaXIpCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChzeXMucGF0aC5yZW1vdmUsIGFic3BhdGgoJy9mb28nKSkKKworICAgICAgICAjIFRlc3QgZGF0YTogd2UgZXhwZWN0IHRoZSBmb2xsb3dpbmc6CisgICAgICAgICMgYSBsaXN0ZGlyIHRvIGZpbmQgb3VyIHBhY2thZ2UsIGFuZCBhIGlzZmlsZSBhbmQgaXNkaXIgY2hlY2sgb24gaXQuCisgICAgICAgICMgYSBtb2R1bGUtZnJvbS1uYW1lIGNhbGwgdG8gdHVybiB0aGF0IGludG8gYSBtb2R1bGUKKyAgICAgICAgIyBmb2xsb3dlZCBieSBsb2FkX3Rlc3RzLgorICAgICAgICAjIHRoZW4gb3VyIGxvYWRfdGVzdHMgd2lsbCBjYWxsIGRpc2NvdmVyKCkgd2hpY2ggaXMgbWVzc3kKKyAgICAgICAgIyBidXQgdGhhdCBmaW5hbGx5IGNoYWlucyBpbnRvIGZpbmRfdGVzdHMgYWdhaW4gZm9yIHRoZSBjaGlsZCBkaXIgLQorICAgICAgICAjIHdoaWNoIGlzIHdoeSB3ZSBkb24ndCBoYXZlIGEgaW5maW5pdGUgbG9vcC4KKyAgICAgICAgIyBXZSBleHBlY3QgdG8gc2VlOgorICAgICAgICAjIHRoZSBtb2R1bGUgbG9hZCB0ZXN0cyBmb3IgYm90aCBwYWNrYWdlIGFuZCBwbGFpbiBtb2R1bGUgY2FsbGVkLAorICAgICAgICAjIGFuZCB0aGUgcGxhaW4gbW9kdWxlIHJlc3VsdCBuZXN0ZWQgYnkgdGhlIHBhY2thZ2UgbW9kdWxlIGxvYWRfdGVzdHMKKyAgICAgICAgIyBpbmRpY2F0aW5nIHRoYXQgaXQgd2FzIHByb2Nlc3NlZCBhbmQgY291bGQgaGF2ZSBiZWVuIG11dGF0ZWQuCisgICAgICAgIHZmcyA9IHthYnNwYXRoKCcvZm9vJyk6IFsnbXlfcGFja2FnZSddLAorICAgICAgICAgICAgICAgYWJzcGF0aCgnL2Zvby9teV9wYWNrYWdlJyk6IFsnX19pbml0X18ucHknLCAndGVzdF9tb2R1bGUucHknXX0KKyAgICAgICAgZGVmIGxpc3RfZGlyKHBhdGgpOgorICAgICAgICAgICAgcmV0dXJuIGxpc3QodmZzW3BhdGhdKQorICAgICAgICBvcy5saXN0ZGlyID0gbGlzdF9kaXIKKyAgICAgICAgb3MucGF0aC5pc2RpciA9IGxhbWJkYSBwYXRoOiBub3QgcGF0aC5lbmRzd2l0aCgnLnB5JykKKyAgICAgICAgb3MucGF0aC5pc2ZpbGUgPSBsYW1iZGEgcGF0aDogcGF0aC5lbmRzd2l0aCgnLnB5JykKKworICAgICAgICBjbGFzcyBNb2R1bGUob2JqZWN0KToKKyAgICAgICAgICAgIHBhdGhzID0gW10KKyAgICAgICAgICAgIGxvYWRfdGVzdHNfYXJncyA9IFtdCisKKyAgICAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwYXRoKToKKyAgICAgICAgICAgICAgICBzZWxmLnBhdGggPSBwYXRoCisgICAgICAgICAgICAgICAgc2VsZi5wYXRocy5hcHBlbmQocGF0aCkKKyAgICAgICAgICAgICAgICBpZiBwYXRoLmVuZHN3aXRoKCd0ZXN0X21vZHVsZScpOgorICAgICAgICAgICAgICAgICAgICBkZWYgbG9hZF90ZXN0cyhsb2FkZXIsIHRlc3RzLCBwYXR0ZXJuKToKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubG9hZF90ZXN0c19hcmdzLmFwcGVuZCgobG9hZGVyLCB0ZXN0cywgcGF0dGVybikpCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gW3NlbGYucGF0aCArICcgbG9hZF90ZXN0cyddCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgZGVmIGxvYWRfdGVzdHMobG9hZGVyLCB0ZXN0cywgcGF0dGVybik6CisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmxvYWRfdGVzdHNfYXJncy5hcHBlbmQoKGxvYWRlciwgdGVzdHMsIHBhdHRlcm4pKQorICAgICAgICAgICAgICAgICAgICAgICAgIyB0b3AgbGV2ZWwgZGlyZWN0b3J5IGNhY2hlZCBvbiBsb2FkZXIgaW5zdGFuY2UKKyAgICAgICAgICAgICAgICAgICAgICAgIF9fZmlsZV9fID0gJy9mb28vbXlfcGFja2FnZS9fX2luaXRfXy5weScKKyAgICAgICAgICAgICAgICAgICAgICAgIHRoaXNfZGlyID0gb3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKQorICAgICAgICAgICAgICAgICAgICAgICAgcGtnX3Rlc3RzID0gbG9hZGVyLmRpc2NvdmVyKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0X2Rpcj10aGlzX2RpciwgcGF0dGVybj1wYXR0ZXJuKQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtzZWxmLnBhdGggKyAnIGxvYWRfdGVzdHMnLCB0ZXN0cworICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0gKyBwa2dfdGVzdHMKKyAgICAgICAgICAgICAgICBzZWxmLmxvYWRfdGVzdHMgPSBsb2FkX3Rlc3RzCisKKyAgICAgICAgICAgIGRlZiBfX2VxX18oc2VsZiwgb3RoZXIpOgorICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLnBhdGggPT0gb3RoZXIucGF0aAorCisgICAgICAgIGxvYWRlciA9IHVuaXR0ZXN0LlRlc3RMb2FkZXIoKQorICAgICAgICBsb2FkZXIuX2dldF9tb2R1bGVfZnJvbV9uYW1lID0gbGFtYmRhIG5hbWU6IE1vZHVsZShuYW1lKQorICAgICAgICBsb2FkZXIuc3VpdGVDbGFzcyA9IGxhbWJkYSB0aGluZzogdGhpbmcKKworICAgICAgICBsb2FkZXIuX3RvcF9sZXZlbF9kaXIgPSBhYnNwYXRoKCcvZm9vJykKKyAgICAgICAgIyB0aGlzIHRpbWUgbm8gJy5weScgb24gdGhlIHBhdHRlcm4gc28gdGhhdCBpdCBjYW4gbWF0Y2gKKyAgICAgICAgIyBhIHRlc3QgcGFja2FnZQorICAgICAgICBzdWl0ZSA9IGxpc3QobG9hZGVyLl9maW5kX3Rlc3RzKGFic3BhdGgoJy9mb28nKSwgJ3Rlc3QqLnB5JykpCisKKyAgICAgICAgIyBXZSBzaG91bGQgaGF2ZSBsb2FkZWQgdGVzdHMgZnJvbSBib3RoIG15X3BhY2thZ2UgYW5kCisgICAgICAgICMgbXlfcGFjYWtnZS50ZXN0X21vZHVsZSwgYW5kIGFsc28gcnVuIHRoZSBsb2FkX3Rlc3RzIGhvb2sgaW4gYm90aC4KKyAgICAgICAgIyAobm9ybWFsbHkgdGhpcyB3b3VsZCBiZSBuZXN0ZWQgVGVzdFN1aXRlcy4pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3VpdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgW1snbXlfcGFja2FnZSBsb2FkX3Rlc3RzJywgW10sCisgICAgICAgICAgICAgICAgICAgICAgICAgIFsnbXlfcGFja2FnZS50ZXN0X21vZHVsZSBsb2FkX3Rlc3RzJ11dXSkKKyAgICAgICAgIyBQYXJlbnRzIGJlZm9yZSBjaGlsZHJlbi4KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChNb2R1bGUucGF0aHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgWydteV9wYWNrYWdlJywgJ215X3BhY2thZ2UudGVzdF9tb2R1bGUnXSkKKworICAgICAgICAjIGxvYWRfdGVzdHMgc2hvdWxkIGhhdmUgYmVlbiBjYWxsZWQgdHdpY2Ugd2l0aCBsb2FkZXIsIHRlc3RzIGFuZCBwYXR0ZXJuCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoTW9kdWxlLmxvYWRfdGVzdHNfYXJncywKKyAgICAgICAgICAgICAgICAgICAgICAgICBbKGxvYWRlciwgW10sICd0ZXN0Ki5weScpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAobG9hZGVyLCBbXSwgJ3Rlc3QqLnB5JyldKQogCiAgICAgZGVmIHRlc3RfZGlzY292ZXIoc2VsZik6CiAgICAgICAgIGxvYWRlciA9IHVuaXR0ZXN0LlRlc3RMb2FkZXIoKQpAQCAtMTkxLDYgKzM2OCw1MSBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKF9maW5kX3Rlc3RzX2FyZ3MsIFsoc3RhcnRfZGlyLCAncGF0dGVybicpXSkKICAgICAgICAgc2VsZi5hc3NlcnRJbih0b3BfbGV2ZWxfZGlyLCBzeXMucGF0aCkKIAorICAgIGRlZiB0ZXN0X2Rpc2NvdmVyX3N0YXJ0X2Rpcl9pc19wYWNrYWdlX2NhbGxzX3BhY2thZ2VfbG9hZF90ZXN0cyhzZWxmKToKKyAgICAgICAgIyBUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB0aGUgcGFja2FnZSBsb2FkX3Rlc3RzIGluIGEgcGFja2FnZSBpcyBpbmRlZWQKKyAgICAgICAgIyBpbnZva2VkIHdoZW4gdGhlIHN0YXJ0X2RpciBpcyBhIHBhY2thZ2UgKGFuZCBub3QgdGhlIHRvcCBsZXZlbCkuCisgICAgICAgICMgaHR0cDovL2J1Z3MucHl0aG9uLm9yZy9pc3N1ZTIyNDU3CisKKyAgICAgICAgIyBUZXN0IGRhdGE6IHdlIGV4cGVjdCB0aGUgZm9sbG93aW5nOgorICAgICAgICAjIGFuIGlzZmlsZSB0byB2ZXJpZnkgdGhlIHBhY2thZ2UsIHRoZW4gaW1wb3J0aW5nIGFuZCBzY2FubmluZworICAgICAgICAjIGFzIHBlciBfZmluZF90ZXN0cycgbm9ybWFsIGJlaGF2aW91ci4KKyAgICAgICAgIyBXZSBleHBlY3QgdG8gc2VlIG91ciBsb2FkX3Rlc3RzIGhvb2sgY2FsbGVkIG9uY2UuCisgICAgICAgIHZmcyA9IHthYnNwYXRoKCcvdG9wbGV2ZWwnKTogWydzdGFydGRpciddLAorICAgICAgICAgICAgICAgYWJzcGF0aCgnL3RvcGxldmVsL3N0YXJ0ZGlyJyk6IFsnX19pbml0X18ucHknXX0KKyAgICAgICAgZGVmIGxpc3RfZGlyKHBhdGgpOgorICAgICAgICAgICAgcmV0dXJuIGxpc3QodmZzW3BhdGhdKQorICAgICAgICBzZWxmLmFkZENsZWFudXAoc2V0YXR0ciwgb3MsICdsaXN0ZGlyJywgb3MubGlzdGRpcikKKyAgICAgICAgb3MubGlzdGRpciA9IGxpc3RfZGlyCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChzZXRhdHRyLCBvcy5wYXRoLCAnaXNmaWxlJywgb3MucGF0aC5pc2ZpbGUpCisgICAgICAgIG9zLnBhdGguaXNmaWxlID0gbGFtYmRhIHBhdGg6IHBhdGguZW5kc3dpdGgoJy5weScpCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChzZXRhdHRyLCBvcy5wYXRoLCAnaXNkaXInLCBvcy5wYXRoLmlzZGlyKQorICAgICAgICBvcy5wYXRoLmlzZGlyID0gbGFtYmRhIHBhdGg6IG5vdCBwYXRoLmVuZHN3aXRoKCcucHknKQorICAgICAgICBzZWxmLmFkZENsZWFudXAoc3lzLnBhdGgucmVtb3ZlLCBhYnNwYXRoKCcvdG9wbGV2ZWwnKSkKKworICAgICAgICBjbGFzcyBNb2R1bGUob2JqZWN0KToKKyAgICAgICAgICAgIHBhdGhzID0gW10KKyAgICAgICAgICAgIGxvYWRfdGVzdHNfYXJncyA9IFtdCisKKyAgICAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwYXRoKToKKyAgICAgICAgICAgICAgICBzZWxmLnBhdGggPSBwYXRoCisKKyAgICAgICAgICAgIGRlZiBsb2FkX3Rlc3RzKHNlbGYsIGxvYWRlciwgdGVzdHMsIHBhdHRlcm4pOgorICAgICAgICAgICAgICAgIHJldHVybiBbJ2xvYWRfdGVzdHMgY2FsbGVkICcgKyBzZWxmLnBhdGhdCisKKyAgICAgICAgICAgIGRlZiBfX2VxX18oc2VsZiwgb3RoZXIpOgorICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLnBhdGggPT0gb3RoZXIucGF0aAorCisgICAgICAgIGxvYWRlciA9IHVuaXR0ZXN0LlRlc3RMb2FkZXIoKQorICAgICAgICBsb2FkZXIuX2dldF9tb2R1bGVfZnJvbV9uYW1lID0gbGFtYmRhIG5hbWU6IE1vZHVsZShuYW1lKQorICAgICAgICBsb2FkZXIuc3VpdGVDbGFzcyA9IGxhbWJkYSB0aGluZzogdGhpbmcKKworICAgICAgICBzdWl0ZSA9IGxvYWRlci5kaXNjb3ZlcignL3RvcGxldmVsL3N0YXJ0ZGlyJywgdG9wX2xldmVsX2Rpcj0nL3RvcGxldmVsJykKKworICAgICAgICAjIFdlIHNob3VsZCBoYXZlIGxvYWRlZCB0ZXN0cyBmcm9tIHRoZSBwYWNrYWdlIF9faW5pdF9fLgorICAgICAgICAjIChub3JtYWxseSB0aGlzIHdvdWxkIGJlIG5lc3RlZCBUZXN0U3VpdGVzLikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdWl0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBbWydsb2FkX3Rlc3RzIGNhbGxlZCBzdGFydGRpciddXSkKKwogICAgIGRlZiBzZXR1cF9pbXBvcnRfaXNzdWVfdGVzdHMoc2VsZiwgZmFrZWZpbGUpOgogICAgICAgICBsaXN0ZGlyID0gb3MubGlzdGRpcgogICAgICAgICBvcy5saXN0ZGlyID0gbGFtYmRhIF86IFtmYWtlZmlsZV0KQEAgLTIwMyw2ICs0MjUsMTcgQEAKICAgICAgICAgICAgIHN5cy5wYXRoWzpdID0gb3JpZ19zeXNfcGF0aAogICAgICAgICBzZWxmLmFkZENsZWFudXAocmVzdG9yZSkKIAorICAgIGRlZiBzZXR1cF9pbXBvcnRfaXNzdWVfcGFja2FnZV90ZXN0cyhzZWxmLCB2ZnMpOgorICAgICAgICBzZWxmLmFkZENsZWFudXAoc2V0YXR0ciwgb3MsICdsaXN0ZGlyJywgb3MubGlzdGRpcikKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHNldGF0dHIsIG9zLnBhdGgsICdpc2ZpbGUnLCBvcy5wYXRoLmlzZmlsZSkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHNldGF0dHIsIG9zLnBhdGgsICdpc2RpcicsIG9zLnBhdGguaXNkaXIpCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChzeXMucGF0aC5fX3NldGl0ZW1fXywgc2xpY2UoTm9uZSksIGxpc3Qoc3lzLnBhdGgpKQorICAgICAgICBkZWYgbGlzdF9kaXIocGF0aCk6CisgICAgICAgICAgICByZXR1cm4gbGlzdCh2ZnNbcGF0aF0pCisgICAgICAgIG9zLmxpc3RkaXIgPSBsaXN0X2RpcgorICAgICAgICBvcy5wYXRoLmlzZGlyID0gbGFtYmRhIHBhdGg6IG5vdCBwYXRoLmVuZHN3aXRoKCcucHknKQorICAgICAgICBvcy5wYXRoLmlzZmlsZSA9IGxhbWJkYSBwYXRoOiBwYXRoLmVuZHN3aXRoKCcucHknKQorCiAgICAgZGVmIHRlc3RfZGlzY292ZXJfd2l0aF9tb2R1bGVzX3RoYXRfZmFpbF90b19pbXBvcnQoc2VsZik6CiAgICAgICAgIGxvYWRlciA9IHVuaXR0ZXN0LlRlc3RMb2FkZXIoKQogCkBAIC0yMTEsMTEgKzQ0NCw0NCBAQAogICAgICAgICBzdWl0ZSA9IGxvYWRlci5kaXNjb3ZlcignLicpCiAgICAgICAgIHNlbGYuYXNzZXJ0SW4ob3MuZ2V0Y3dkKCksIHN5cy5wYXRoKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN1aXRlLmNvdW50VGVzdENhc2VzKCksIDEpCisgICAgICAgICMgRXJyb3JzIGxvYWRpbmcgdGhlIHN1aXRlIGFyZSBhbHNvIGNhcHR1cmVkIGZvciBpbnRyb3NwZWN0aW9uLgorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKFtdLCBsb2FkZXIuZXJyb3JzKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDEsIGxlbihsb2FkZXIuZXJyb3JzKSkKKyAgICAgICAgZXJyb3IgPSBsb2FkZXIuZXJyb3JzWzBdCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSgKKyAgICAgICAgICAgICdGYWlsZWQgdG8gaW1wb3J0IHRlc3QgbW9kdWxlOiB0ZXN0X3RoaXNfZG9lc19ub3RfZXhpc3QnIGluIGVycm9yLAorICAgICAgICAgICAgJ21pc3NpbmcgZXJyb3Igc3RyaW5nIGluICVyJyAlIGVycm9yKQogICAgICAgICB0ZXN0ID0gbGlzdChsaXN0KHN1aXRlKVswXSlbMF0gIyBleHRyYWN0IHRlc3QgZnJvbSBzdWl0ZQogCiAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoSW1wb3J0RXJyb3IpOgogICAgICAgICAgICAgdGVzdC50ZXN0X3RoaXNfZG9lc19ub3RfZXhpc3QoKQogCisgICAgZGVmIHRlc3RfZGlzY292ZXJfd2l0aF9pbml0X21vZHVsZXNfdGhhdF9mYWlsX3RvX2ltcG9ydChzZWxmKToKKyAgICAgICAgdmZzID0ge2Fic3BhdGgoJy9mb28nKTogWydteV9wYWNrYWdlJ10sCisgICAgICAgICAgICAgICBhYnNwYXRoKCcvZm9vL215X3BhY2thZ2UnKTogWydfX2luaXRfXy5weScsICd0ZXN0X21vZHVsZS5weSddfQorICAgICAgICBzZWxmLnNldHVwX2ltcG9ydF9pc3N1ZV9wYWNrYWdlX3Rlc3RzKHZmcykKKyAgICAgICAgaW1wb3J0X2NhbGxzID0gW10KKyAgICAgICAgZGVmIF9nZXRfbW9kdWxlX2Zyb21fbmFtZShuYW1lKToKKyAgICAgICAgICAgIGltcG9ydF9jYWxscy5hcHBlbmQobmFtZSkKKyAgICAgICAgICAgIHJhaXNlIEltcG9ydEVycm9yKCJDYW5ub3QgaW1wb3J0IE5hbWUiKQorICAgICAgICBsb2FkZXIgPSB1bml0dGVzdC5UZXN0TG9hZGVyKCkKKyAgICAgICAgbG9hZGVyLl9nZXRfbW9kdWxlX2Zyb21fbmFtZSA9IF9nZXRfbW9kdWxlX2Zyb21fbmFtZQorICAgICAgICBzdWl0ZSA9IGxvYWRlci5kaXNjb3ZlcihhYnNwYXRoKCcvZm9vJykpCisKKyAgICAgICAgc2VsZi5hc3NlcnRJbihhYnNwYXRoKCcvZm9vJyksIHN5cy5wYXRoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN1aXRlLmNvdW50VGVzdENhc2VzKCksIDEpCisgICAgICAgICMgRXJyb3JzIGxvYWRpbmcgdGhlIHN1aXRlIGFyZSBhbHNvIGNhcHR1cmVkIGZvciBpbnRyb3NwZWN0aW9uLgorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKFtdLCBsb2FkZXIuZXJyb3JzKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDEsIGxlbihsb2FkZXIuZXJyb3JzKSkKKyAgICAgICAgZXJyb3IgPSBsb2FkZXIuZXJyb3JzWzBdCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSgKKyAgICAgICAgICAgICdGYWlsZWQgdG8gaW1wb3J0IHRlc3QgbW9kdWxlOiBteV9wYWNrYWdlJyBpbiBlcnJvciwKKyAgICAgICAgICAgICdtaXNzaW5nIGVycm9yIHN0cmluZyBpbiAlcicgJSBlcnJvcikKKyAgICAgICAgdGVzdCA9IGxpc3QobGlzdChzdWl0ZSlbMF0pWzBdICMgZXh0cmFjdCB0ZXN0IGZyb20gc3VpdGUKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhJbXBvcnRFcnJvcik6CisgICAgICAgICAgICB0ZXN0Lm15X3BhY2thZ2UoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGltcG9ydF9jYWxscywgWydteV9wYWNrYWdlJ10pCisKICAgICBkZWYgdGVzdF9kaXNjb3Zlcl93aXRoX21vZHVsZV90aGF0X3JhaXNlc19Ta2lwVGVzdF9vbl9pbXBvcnQoc2VsZik6CiAgICAgICAgIGxvYWRlciA9IHVuaXR0ZXN0LlRlc3RMb2FkZXIoKQogCkBAIC0yMzIsNiArNDk4LDI2IEBACiAgICAgICAgIHN1aXRlLnJ1bihyZXN1bHQpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHJlc3VsdC5za2lwcGVkKSwgMSkKIAorICAgIGRlZiB0ZXN0X2Rpc2NvdmVyX3dpdGhfaW5pdF9tb2R1bGVfdGhhdF9yYWlzZXNfU2tpcFRlc3Rfb25faW1wb3J0KHNlbGYpOgorICAgICAgICB2ZnMgPSB7YWJzcGF0aCgnL2ZvbycpOiBbJ215X3BhY2thZ2UnXSwKKyAgICAgICAgICAgICAgIGFic3BhdGgoJy9mb28vbXlfcGFja2FnZScpOiBbJ19faW5pdF9fLnB5JywgJ3Rlc3RfbW9kdWxlLnB5J119CisgICAgICAgIHNlbGYuc2V0dXBfaW1wb3J0X2lzc3VlX3BhY2thZ2VfdGVzdHModmZzKQorICAgICAgICBpbXBvcnRfY2FsbHMgPSBbXQorICAgICAgICBkZWYgX2dldF9tb2R1bGVfZnJvbV9uYW1lKG5hbWUpOgorICAgICAgICAgICAgaW1wb3J0X2NhbGxzLmFwcGVuZChuYW1lKQorICAgICAgICAgICAgcmFpc2UgdW5pdHRlc3QuU2tpcFRlc3QoJ3NraXBwZXJvbycpCisgICAgICAgIGxvYWRlciA9IHVuaXR0ZXN0LlRlc3RMb2FkZXIoKQorICAgICAgICBsb2FkZXIuX2dldF9tb2R1bGVfZnJvbV9uYW1lID0gX2dldF9tb2R1bGVfZnJvbV9uYW1lCisgICAgICAgIHN1aXRlID0gbG9hZGVyLmRpc2NvdmVyKGFic3BhdGgoJy9mb28nKSkKKworICAgICAgICBzZWxmLmFzc2VydEluKGFic3BhdGgoJy9mb28nKSwgc3lzLnBhdGgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3VpdGUuY291bnRUZXN0Q2FzZXMoKSwgMSkKKyAgICAgICAgcmVzdWx0ID0gdW5pdHRlc3QuVGVzdFJlc3VsdCgpCisgICAgICAgIHN1aXRlLnJ1bihyZXN1bHQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHJlc3VsdC5za2lwcGVkKSwgMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXN1bHQudGVzdHNSdW4sIDEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaW1wb3J0X2NhbGxzLCBbJ215X3BhY2thZ2UnXSkKKwogICAgIGRlZiB0ZXN0X2NvbW1hbmRfbGluZV9oYW5kbGluZ19wYXJzZUFyZ3Moc2VsZik6CiAgICAgICAgIHByb2dyYW0gPSBUZXN0YWJsZVRlc3RQcm9ncmFtKCkKIApkaWZmIC0tZ2l0IGEvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdF9sb2FkZXIucHkgYi9MaWIvdW5pdHRlc3QvdGVzdC90ZXN0X2xvYWRlci5weQppbmRleCBiNjJhMWI1Li42OGYxMDM2IDEwMDY0NAotLS0gYS9MaWIvdW5pdHRlc3QvdGVzdC90ZXN0X2xvYWRlci5weQorKysgYi9MaWIvdW5pdHRlc3QvdGVzdC90ZXN0X2xvYWRlci5weQpAQCAtMSwxMiArMSwzNiBAQAogaW1wb3J0IHN5cwogaW1wb3J0IHR5cGVzCi0KK2ltcG9ydCB3YXJuaW5ncwogCiBpbXBvcnQgdW5pdHRlc3QKIAorIyBEZWNvcmF0b3IgdXNlZCBpbiB0aGUgZGVwcmVjYXRpb24gdGVzdHMgdG8gcmVzZXQgdGhlIHdhcm5pbmcgcmVnaXN0cnkgZm9yCisjIHRlc3QgaXNvbGF0aW9uIGFuZCByZXByb2R1Y2liaWxpdHkuCitkZWYgd2FybmluZ3JlZ2lzdHJ5KGZ1bmMpOgorICAgIGRlZiB3cmFwcGVyKCphcmdzLCAqKmt3cyk6CisgICAgICAgIG1pc3NpbmcgPSBvYmplY3QoKQorICAgICAgICBzYXZlZCA9IGdldGF0dHIod2FybmluZ3MsICdfX3dhcm5pbmdyZWdpc3RyeV9fJywgbWlzc2luZykuY29weSgpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHJldHVybiBmdW5jKCphcmdzLCAqKmt3cykKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIGlmIHNhdmVkIGlzIG1pc3Npbmc6CisgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICBkZWwgd2FybmluZ3MuX193YXJuaW5ncmVnaXN0cnlfXworICAgICAgICAgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKKyAgICAgICAgICAgICAgICAgICAgcGFzcworICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICB3YXJuaW5ncy5fX3dhcm5pbmdyZWdpc3RyeV9fID0gc2F2ZWQKKwogCiBjbGFzcyBUZXN0X1Rlc3RMb2FkZXIodW5pdHRlc3QuVGVzdENhc2UpOgogCisgICAgIyMjIEJhc2ljIG9iamVjdCB0ZXN0cworICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworICAgIGRlZiB0ZXN0X19faW5pdF9fKHNlbGYpOgorICAgICAgICBsb2FkZXIgPSB1bml0dGVzdC5UZXN0TG9hZGVyKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChbXSwgbG9hZGVyLmVycm9ycykKKwogICAgICMjIyBUZXN0cyBmb3IgVGVzdExvYWRlci5sb2FkVGVzdHNGcm9tVGVzdENhc2UKICAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKQEAgLTE1MCw2ICsxNzQsNyBAQAogCiAgICAgIyBDaGVjayB0aGF0IGxvYWRUZXN0c0Zyb21Nb2R1bGUgaG9ub3JzIChvciBub3QpIGEgbW9kdWxlCiAgICAgIyB3aXRoIGEgbG9hZF90ZXN0cyBmdW5jdGlvbi4KKyAgICBAd2FybmluZ3JlZ2lzdHJ5CiAgICAgZGVmIHRlc3RfbG9hZFRlc3RzRnJvbU1vZHVsZV9fbG9hZF90ZXN0cyhzZWxmKToKICAgICAgICAgbSA9IHR5cGVzLk1vZHVsZVR5cGUoJ20nKQogICAgICAgICBjbGFzcyBNeVRlc3RDYXNlKHVuaXR0ZXN0LlRlc3RDYXNlKToKQEAgLTE2OCwxMCArMTkzLDE0NCBAQAogICAgICAgICBzdWl0ZSA9IGxvYWRlci5sb2FkVGVzdHNGcm9tTW9kdWxlKG0pCiAgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShzdWl0ZSwgdW5pdHRlc3QuVGVzdFN1aXRlKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxvYWRfdGVzdHNfYXJncywgW2xvYWRlciwgc3VpdGUsIE5vbmVdKQorICAgICAgICAjIFdpdGggUHl0aG9uIDMuNSwgdGhlIHVuZG9jdW1lbnRlZCBhbmQgdW5vZmZpY2lhbCB1c2VfbG9hZF90ZXN0cyBpcworICAgICAgICAjIGlnbm9yZWQgKGFuZCBkZXByZWNhdGVkKS4KKyAgICAgICAgbG9hZF90ZXN0c19hcmdzID0gW10KKyAgICAgICAgd2l0aCB3YXJuaW5ncy5jYXRjaF93YXJuaW5ncyhyZWNvcmQ9RmFsc2UpOgorICAgICAgICAgICAgd2FybmluZ3Muc2ltcGxlZmlsdGVyKCduZXZlcicpCisgICAgICAgICAgICBzdWl0ZSA9IGxvYWRlci5sb2FkVGVzdHNGcm9tTW9kdWxlKG0sIHVzZV9sb2FkX3Rlc3RzPUZhbHNlKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsb2FkX3Rlc3RzX2FyZ3MsIFtsb2FkZXIsIHN1aXRlLCBOb25lXSkKKworICAgIEB3YXJuaW5ncmVnaXN0cnkKKyAgICBkZWYgdGVzdF9sb2FkVGVzdHNGcm9tTW9kdWxlX191c2VfbG9hZF90ZXN0c19kZXByZWNhdGVkX3Bvc2l0aW9uYWwoc2VsZik6CisgICAgICAgIG0gPSB0eXBlcy5Nb2R1bGVUeXBlKCdtJykKKyAgICAgICAgY2xhc3MgTXlUZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgICAgICAgICBkZWYgdGVzdChzZWxmKToKKyAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgIG0udGVzdGNhc2VfMSA9IE15VGVzdENhc2UKIAogICAgICAgICBsb2FkX3Rlc3RzX2FyZ3MgPSBbXQotICAgICAgICBzdWl0ZSA9IGxvYWRlci5sb2FkVGVzdHNGcm9tTW9kdWxlKG0sIHVzZV9sb2FkX3Rlc3RzPUZhbHNlKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxvYWRfdGVzdHNfYXJncywgW10pCisgICAgICAgIGRlZiBsb2FkX3Rlc3RzKGxvYWRlciwgdGVzdHMsIHBhdHRlcm4pOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKHRlc3RzLCB1bml0dGVzdC5UZXN0U3VpdGUpCisgICAgICAgICAgICBsb2FkX3Rlc3RzX2FyZ3MuZXh0ZW5kKChsb2FkZXIsIHRlc3RzLCBwYXR0ZXJuKSkKKyAgICAgICAgICAgIHJldHVybiB0ZXN0cworICAgICAgICBtLmxvYWRfdGVzdHMgPSBsb2FkX3Rlc3RzCisgICAgICAgICMgVGhlIG1ldGhvZCBzdGlsbCB3b3Jrcy4KKyAgICAgICAgbG9hZGVyID0gdW5pdHRlc3QuVGVzdExvYWRlcigpCisgICAgICAgICMgdXNlX2xvYWRfdGVzdHM9VHJ1ZSBhcyBhIHBvc2l0aW9uYWwgYXJndW1lbnQuCisgICAgICAgIHdpdGggd2FybmluZ3MuY2F0Y2hfd2FybmluZ3MocmVjb3JkPVRydWUpIGFzIHc6CisgICAgICAgICAgICB3YXJuaW5ncy5zaW1wbGVmaWx0ZXIoJ2Fsd2F5cycpCisgICAgICAgICAgICBzdWl0ZSA9IGxvYWRlci5sb2FkVGVzdHNGcm9tTW9kdWxlKG0sIEZhbHNlKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKHN1aXRlLCB1bml0dGVzdC5UZXN0U3VpdGUpCisgICAgICAgICAgICAjIGxvYWRfdGVzdHMgd2FzIHN0aWxsIGNhbGxlZCBiZWNhdXNlIHVzZV9sb2FkX3Rlc3RzIGlzIGRlcHJlY2F0ZWQKKyAgICAgICAgICAgICMgYW5kIGlnbm9yZWQuCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxvYWRfdGVzdHNfYXJncywgW2xvYWRlciwgc3VpdGUsIE5vbmVdKQorICAgICAgICAjIFdlIGdvdCBhIHdhcm5pbmcuCisgICAgICAgIHNlbGYuYXNzZXJ0SXMod1stMV0uY2F0ZWdvcnksIERlcHJlY2F0aW9uV2FybmluZykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIod1stMV0ubWVzc2FnZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd1c2VfbG9hZF90ZXN0cyBpcyBkZXByZWNhdGVkIGFuZCBpZ25vcmVkJykKKworICAgIEB3YXJuaW5ncmVnaXN0cnkKKyAgICBkZWYgdGVzdF9sb2FkVGVzdHNGcm9tTW9kdWxlX191c2VfbG9hZF90ZXN0c19kZXByZWNhdGVkX2tleXdvcmQoc2VsZik6CisgICAgICAgIG0gPSB0eXBlcy5Nb2R1bGVUeXBlKCdtJykKKyAgICAgICAgY2xhc3MgTXlUZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgICAgICAgICBkZWYgdGVzdChzZWxmKToKKyAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgIG0udGVzdGNhc2VfMSA9IE15VGVzdENhc2UKKworICAgICAgICBsb2FkX3Rlc3RzX2FyZ3MgPSBbXQorICAgICAgICBkZWYgbG9hZF90ZXN0cyhsb2FkZXIsIHRlc3RzLCBwYXR0ZXJuKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZSh0ZXN0cywgdW5pdHRlc3QuVGVzdFN1aXRlKQorICAgICAgICAgICAgbG9hZF90ZXN0c19hcmdzLmV4dGVuZCgobG9hZGVyLCB0ZXN0cywgcGF0dGVybikpCisgICAgICAgICAgICByZXR1cm4gdGVzdHMKKyAgICAgICAgbS5sb2FkX3Rlc3RzID0gbG9hZF90ZXN0cworICAgICAgICAjIFRoZSBtZXRob2Qgc3RpbGwgd29ya3MuCisgICAgICAgIGxvYWRlciA9IHVuaXR0ZXN0LlRlc3RMb2FkZXIoKQorICAgICAgICB3aXRoIHdhcm5pbmdzLmNhdGNoX3dhcm5pbmdzKHJlY29yZD1UcnVlKSBhcyB3OgorICAgICAgICAgICAgd2FybmluZ3Muc2ltcGxlZmlsdGVyKCdhbHdheXMnKQorICAgICAgICAgICAgc3VpdGUgPSBsb2FkZXIubG9hZFRlc3RzRnJvbU1vZHVsZShtLCB1c2VfbG9hZF90ZXN0cz1GYWxzZSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShzdWl0ZSwgdW5pdHRlc3QuVGVzdFN1aXRlKQorICAgICAgICAgICAgIyBsb2FkX3Rlc3RzIHdhcyBzdGlsbCBjYWxsZWQgYmVjYXVzZSB1c2VfbG9hZF90ZXN0cyBpcyBkZXByZWNhdGVkCisgICAgICAgICAgICAjIGFuZCBpZ25vcmVkLgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsb2FkX3Rlc3RzX2FyZ3MsIFtsb2FkZXIsIHN1aXRlLCBOb25lXSkKKyAgICAgICAgICAgICMgV2UgZ290IGEgd2FybmluZy4KKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMod1stMV0uY2F0ZWdvcnksIERlcHJlY2F0aW9uV2FybmluZykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKHdbLTFdLm1lc3NhZ2UpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3VzZV9sb2FkX3Rlc3RzIGlzIGRlcHJlY2F0ZWQgYW5kIGlnbm9yZWQnKQorCisgICAgQHdhcm5pbmdyZWdpc3RyeQorICAgIGRlZiB0ZXN0X2xvYWRUZXN0c0Zyb21Nb2R1bGVfX3Rvb19tYW55X3Bvc2l0aW9uYWxfYXJncyhzZWxmKToKKyAgICAgICAgbSA9IHR5cGVzLk1vZHVsZVR5cGUoJ20nKQorICAgICAgICBjbGFzcyBNeVRlc3RDYXNlKHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICAgICAgICAgIGRlZiB0ZXN0KHNlbGYpOgorICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgbS50ZXN0Y2FzZV8xID0gTXlUZXN0Q2FzZQorCisgICAgICAgIGxvYWRfdGVzdHNfYXJncyA9IFtdCisgICAgICAgIGRlZiBsb2FkX3Rlc3RzKGxvYWRlciwgdGVzdHMsIHBhdHRlcm4pOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKHRlc3RzLCB1bml0dGVzdC5UZXN0U3VpdGUpCisgICAgICAgICAgICBsb2FkX3Rlc3RzX2FyZ3MuZXh0ZW5kKChsb2FkZXIsIHRlc3RzLCBwYXR0ZXJuKSkKKyAgICAgICAgICAgIHJldHVybiB0ZXN0cworICAgICAgICBtLmxvYWRfdGVzdHMgPSBsb2FkX3Rlc3RzCisgICAgICAgIGxvYWRlciA9IHVuaXR0ZXN0LlRlc3RMb2FkZXIoKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvcikgYXMgY20sIFwKKyAgICAgICAgICAgICB3YXJuaW5ncy5jYXRjaF93YXJuaW5nKHJlY29yZD1UcnVlKSBhcyB3OgorICAgICAgICAgICAgbG9hZGVyLmxvYWRUZXN0c0Zyb21Nb2R1bGUobSwgRmFsc2UsICd0ZXN0bWUuKicpCisgICAgICAgICAgICAjIFdlIHN0aWxsIGdvdCB0aGUgZGVwcmVjYXRpb24gd2FybmluZy4KKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMod1stMV0uY2F0ZWdvcnksIERlcHJlY2F0aW9uV2FybmluZykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKHdbLTFdLm1lc3NhZ2UpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3VzZV9sb2FkX3Rlc3RzIGlzIGRlcHJlY2F0ZWQgYW5kIGlnbm9yZWQnKQorICAgICAgICAgICAgIyBXZSBhbHNvIGdvdCBhIFR5cGVFcnJvciBmb3IgdG9vIG1hbnkgcG9zaXRpb25hbCBhcmd1bWVudHMuCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHR5cGUoY20uZXhjZXB0aW9uKSwgVHlwZUVycm9yKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgICAgICBzdHIoY20uZXhjZXB0aW9uKSwKKyAgICAgICAgICAgICAgICAnbG9hZFRlc3RzRnJvbU1vZHVsZSgpIHRha2VzIDEgcG9zaXRpb25hbCBhcmd1bWVudCBidXQgMyB3ZXJlIGdpdmVuJykKKworICAgIEB3YXJuaW5ncmVnaXN0cnkKKyAgICBkZWYgdGVzdF9sb2FkVGVzdHNGcm9tTW9kdWxlX191c2VfbG9hZF90ZXN0c19vdGhlcl9iYWRfa2V5d29yZChzZWxmKToKKyAgICAgICAgbSA9IHR5cGVzLk1vZHVsZVR5cGUoJ20nKQorICAgICAgICBjbGFzcyBNeVRlc3RDYXNlKHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICAgICAgICAgIGRlZiB0ZXN0KHNlbGYpOgorICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgbS50ZXN0Y2FzZV8xID0gTXlUZXN0Q2FzZQorCisgICAgICAgIGxvYWRfdGVzdHNfYXJncyA9IFtdCisgICAgICAgIGRlZiBsb2FkX3Rlc3RzKGxvYWRlciwgdGVzdHMsIHBhdHRlcm4pOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKHRlc3RzLCB1bml0dGVzdC5UZXN0U3VpdGUpCisgICAgICAgICAgICBsb2FkX3Rlc3RzX2FyZ3MuZXh0ZW5kKChsb2FkZXIsIHRlc3RzLCBwYXR0ZXJuKSkKKyAgICAgICAgICAgIHJldHVybiB0ZXN0cworICAgICAgICBtLmxvYWRfdGVzdHMgPSBsb2FkX3Rlc3RzCisgICAgICAgIGxvYWRlciA9IHVuaXR0ZXN0LlRlc3RMb2FkZXIoKQorICAgICAgICB3aXRoIHdhcm5pbmdzLmNhdGNoX3dhcm5pbmdzKCk6CisgICAgICAgICAgICB3YXJuaW5ncy5zaW1wbGVmaWx0ZXIoJ25ldmVyJykKKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yKSBhcyBjbToKKyAgICAgICAgICAgICAgICBsb2FkZXIubG9hZFRlc3RzRnJvbU1vZHVsZSgKKyAgICAgICAgICAgICAgICAgICAgbSwgdXNlX2xvYWRfdGVzdHM9RmFsc2UsIHZlcnlfYmFkPVRydWUsIHdvcnNlPUZhbHNlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHR5cGUoY20uZXhjZXB0aW9uKSwgVHlwZUVycm9yKQorICAgICAgICAjIFRoZSBlcnJvciBtZXNzYWdlIG5hbWVzIHRoZSBmaXJzdCBiYWQgYXJndW1lbnQgYWxwaGFiZXRpY2FsbHksCisgICAgICAgICMgaG93ZXZlciB1c2VfbG9hZF90ZXN0cyAod2hpY2ggc29ydHMgZmlyc3QpIGlzIGlnbm9yZWQuCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBzdHIoY20uZXhjZXB0aW9uKSwKKyAgICAgICAgICAgICJsb2FkVGVzdHNGcm9tTW9kdWxlKCkgZ290IGFuIHVuZXhwZWN0ZWQga2V5d29yZCBhcmd1bWVudCAndmVyeV9iYWQnIikKKworICAgIGRlZiB0ZXN0X2xvYWRUZXN0c0Zyb21Nb2R1bGVfX3BhdHRlcm4oc2VsZik6CisgICAgICAgIG0gPSB0eXBlcy5Nb2R1bGVUeXBlKCdtJykKKyAgICAgICAgY2xhc3MgTXlUZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgICAgICAgICBkZWYgdGVzdChzZWxmKToKKyAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgIG0udGVzdGNhc2VfMSA9IE15VGVzdENhc2UKKworICAgICAgICBsb2FkX3Rlc3RzX2FyZ3MgPSBbXQorICAgICAgICBkZWYgbG9hZF90ZXN0cyhsb2FkZXIsIHRlc3RzLCBwYXR0ZXJuKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZSh0ZXN0cywgdW5pdHRlc3QuVGVzdFN1aXRlKQorICAgICAgICAgICAgbG9hZF90ZXN0c19hcmdzLmV4dGVuZCgobG9hZGVyLCB0ZXN0cywgcGF0dGVybikpCisgICAgICAgICAgICByZXR1cm4gdGVzdHMKKyAgICAgICAgbS5sb2FkX3Rlc3RzID0gbG9hZF90ZXN0cworCisgICAgICAgIGxvYWRlciA9IHVuaXR0ZXN0LlRlc3RMb2FkZXIoKQorICAgICAgICBzdWl0ZSA9IGxvYWRlci5sb2FkVGVzdHNGcm9tTW9kdWxlKG0sIHBhdHRlcm49J3Rlc3RtZS4qJykKKyAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKHN1aXRlLCB1bml0dGVzdC5UZXN0U3VpdGUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobG9hZF90ZXN0c19hcmdzLCBbbG9hZGVyLCBzdWl0ZSwgJ3Rlc3RtZS4qJ10pCiAKICAgICBkZWYgdGVzdF9sb2FkVGVzdHNGcm9tTW9kdWxlX19mYXVsdHlfbG9hZF90ZXN0cyhzZWxmKToKICAgICAgICAgbSA9IHR5cGVzLk1vZHVsZVR5cGUoJ20nKQpAQCAtMTg0LDYgKzM0MywxMyBAQAogICAgICAgICBzdWl0ZSA9IGxvYWRlci5sb2FkVGVzdHNGcm9tTW9kdWxlKG0pCiAgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShzdWl0ZSwgdW5pdHRlc3QuVGVzdFN1aXRlKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN1aXRlLmNvdW50VGVzdENhc2VzKCksIDEpCisgICAgICAgICMgRXJyb3JzIGxvYWRpbmcgdGhlIHN1aXRlIGFyZSBhbHNvIGNhcHR1cmVkIGZvciBpbnRyb3NwZWN0aW9uLgorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKFtdLCBsb2FkZXIuZXJyb3JzKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDEsIGxlbihsb2FkZXIuZXJyb3JzKSkKKyAgICAgICAgZXJyb3IgPSBsb2FkZXIuZXJyb3JzWzBdCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSgKKyAgICAgICAgICAgICdGYWlsZWQgdG8gY2FsbCBsb2FkX3Rlc3RzOicgaW4gZXJyb3IsCisgICAgICAgICAgICAnbWlzc2luZyBlcnJvciBzdHJpbmcgaW4gJXInICUgZXJyb3IpCiAgICAgICAgIHRlc3QgPSBsaXN0KHN1aXRlKVswXQogCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVHlwZUVycm9yLCAic29tZSBmYWlsdXJlIiwgdGVzdC5tKQpAQCAtMjE5LDE1ICszODUsMTUgQEAKICAgICBkZWYgdGVzdF9sb2FkVGVzdHNGcm9tTmFtZV9fbWFsZm9ybWVkX25hbWUoc2VsZik6CiAgICAgICAgIGxvYWRlciA9IHVuaXR0ZXN0LlRlc3RMb2FkZXIoKQogCi0gICAgICAgICMgWFhYIFNob3VsZCB0aGlzIHJhaXNlIFZhbHVlRXJyb3Igb3IgSW1wb3J0RXJyb3I/Ci0gICAgICAgIHRyeToKLSAgICAgICAgICAgIGxvYWRlci5sb2FkVGVzdHNGcm9tTmFtZSgnYWJjICgpIC8vJykKLSAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6Ci0gICAgICAgICAgICBwYXNzCi0gICAgICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjoKLSAgICAgICAgICAgIHBhc3MKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYuZmFpbCgiVGVzdExvYWRlci5sb2FkVGVzdHNGcm9tTmFtZSBmYWlsZWQgdG8gcmFpc2UgVmFsdWVFcnJvciIpCisgICAgICAgIHN1aXRlID0gbG9hZGVyLmxvYWRUZXN0c0Zyb21OYW1lKCdhYmMgKCkgLy8nKQorICAgICAgICBlcnJvciwgdGVzdCA9IHNlbGYuY2hlY2tfZGVmZXJyZWRfZXJyb3IobG9hZGVyLCBzdWl0ZSkKKyAgICAgICAgZXhwZWN0ZWQgPSAiRmFpbGVkIHRvIGltcG9ydCB0ZXN0IG1vZHVsZTogYWJjICgpIC8vIgorICAgICAgICBleHBlY3RlZF9yZWdleCA9ICJGYWlsZWQgdG8gaW1wb3J0IHRlc3QgbW9kdWxlOiBhYmMgXChcKSAvLyIKKyAgICAgICAgc2VsZi5hc3NlcnRJbigKKyAgICAgICAgICAgIGV4cGVjdGVkLCBlcnJvciwKKyAgICAgICAgICAgICdtaXNzaW5nIGVycm9yIHN0cmluZyBpbiAlcicgJSBlcnJvcikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNSZWdleCgKKyAgICAgICAgICAgIEltcG9ydEVycm9yLCBleHBlY3RlZF9yZWdleCwgZ2V0YXR0cih0ZXN0LCAnYWJjICgpIC8vJykpCiAKICAgICAjICJUaGUgc3BlY2lmaWVyIG5hbWUgaXMgYSBgYGRvdHRlZCBuYW1lJycgdGhhdCBtYXkgcmVzb2x2ZSAuLi4gdG8gYQogICAgICMgbW9kdWxlIgpAQCAtMjM2LDI4ICs0MDIsNDcgQEAKICAgICBkZWYgdGVzdF9sb2FkVGVzdHNGcm9tTmFtZV9fdW5rbm93bl9tb2R1bGVfbmFtZShzZWxmKToKICAgICAgICAgbG9hZGVyID0gdW5pdHRlc3QuVGVzdExvYWRlcigpCiAKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgbG9hZGVyLmxvYWRUZXN0c0Zyb21OYW1lKCdzZGFzZmFzZmFzZGYnKQotICAgICAgICBleGNlcHQgSW1wb3J0RXJyb3IgYXMgZToKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGUpLCAiTm8gbW9kdWxlIG5hbWVkICdzZGFzZmFzZmFzZGYnIikKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYuZmFpbCgiVGVzdExvYWRlci5sb2FkVGVzdHNGcm9tTmFtZSBmYWlsZWQgdG8gcmFpc2UgSW1wb3J0RXJyb3IiKQorICAgICAgICBzdWl0ZSA9IGxvYWRlci5sb2FkVGVzdHNGcm9tTmFtZSgnc2Rhc2Zhc2Zhc2RmJykKKyAgICAgICAgZXhwZWN0ZWQgPSAiTm8gbW9kdWxlIG5hbWVkICdzZGFzZmFzZmFzZGYnIgorICAgICAgICBlcnJvciwgdGVzdCA9IHNlbGYuY2hlY2tfZGVmZXJyZWRfZXJyb3IobG9hZGVyLCBzdWl0ZSkKKyAgICAgICAgc2VsZi5hc3NlcnRJbigKKyAgICAgICAgICAgIGV4cGVjdGVkLCBlcnJvciwKKyAgICAgICAgICAgICdtaXNzaW5nIGVycm9yIHN0cmluZyBpbiAlcicgJSBlcnJvcikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNSZWdleChJbXBvcnRFcnJvciwgZXhwZWN0ZWQsIHRlc3Quc2Rhc2Zhc2Zhc2RmKQogCiAgICAgIyAiVGhlIHNwZWNpZmllciBuYW1lIGlzIGEgYGBkb3R0ZWQgbmFtZScnIHRoYXQgbWF5IHJlc29sdmUgZWl0aGVyIHRvCiAgICAgIyBhIG1vZHVsZSwgYSB0ZXN0IGNhc2UgY2xhc3MsIGEgVGVzdFN1aXRlIGluc3RhbmNlLCBhIHRlc3QgbWV0aG9kCiAgICAgIyB3aXRoaW4gYSB0ZXN0IGNhc2UgY2xhc3MsIG9yIGEgY2FsbGFibGUgb2JqZWN0IHdoaWNoIHJldHVybnMgYQogICAgICMgVGVzdENhc2Ugb3IgVGVzdFN1aXRlIGluc3RhbmNlLiIKICAgICAjCi0gICAgIyBXaGF0IGhhcHBlbnMgd2hlbiB0aGUgbW9kdWxlIGlzIGZvdW5kLCBidXQgdGhlIGF0dHJpYnV0ZSBjYW4ndD8KLSAgICBkZWYgdGVzdF9sb2FkVGVzdHNGcm9tTmFtZV9fdW5rbm93bl9hdHRyX25hbWUoc2VsZik6CisgICAgIyBXaGF0IGhhcHBlbnMgd2hlbiB0aGUgbW9kdWxlIGlzIGZvdW5kLCBidXQgdGhlIGF0dHJpYnV0ZSBpc24ndD8KKyAgICBkZWYgdGVzdF9sb2FkVGVzdHNGcm9tTmFtZV9fdW5rbm93bl9hdHRyX25hbWVfb25fbW9kdWxlKHNlbGYpOgogICAgICAgICBsb2FkZXIgPSB1bml0dGVzdC5UZXN0TG9hZGVyKCkKIAotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBsb2FkZXIubG9hZFRlc3RzRnJvbU5hbWUoJ3VuaXR0ZXN0LnNkYXNmYXNmYXNkZicpCi0gICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvciBhcyBlOgotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoZSksICInbW9kdWxlJyBvYmplY3QgaGFzIG5vIGF0dHJpYnV0ZSAnc2Rhc2Zhc2Zhc2RmJyIpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLmZhaWwoIlRlc3RMb2FkZXIubG9hZFRlc3RzRnJvbU5hbWUgZmFpbGVkIHRvIHJhaXNlIEF0dHJpYnV0ZUVycm9yIikKKyAgICAgICAgc3VpdGUgPSBsb2FkZXIubG9hZFRlc3RzRnJvbU5hbWUoJ3VuaXR0ZXN0LmxvYWRlci5zZGFzZmFzZmFzZGYnKQorICAgICAgICBleHBlY3RlZCA9ICJtb2R1bGUgJ3VuaXR0ZXN0LmxvYWRlcicgaGFzIG5vIGF0dHJpYnV0ZSAnc2Rhc2Zhc2Zhc2RmJyIKKyAgICAgICAgZXJyb3IsIHRlc3QgPSBzZWxmLmNoZWNrX2RlZmVycmVkX2Vycm9yKGxvYWRlciwgc3VpdGUpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oCisgICAgICAgICAgICBleHBlY3RlZCwgZXJyb3IsCisgICAgICAgICAgICAnbWlzc2luZyBlcnJvciBzdHJpbmcgaW4gJXInICUgZXJyb3IpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoQXR0cmlidXRlRXJyb3IsIGV4cGVjdGVkLCB0ZXN0LnNkYXNmYXNmYXNkZikKKworICAgICMgIlRoZSBzcGVjaWZpZXIgbmFtZSBpcyBhIGBgZG90dGVkIG5hbWUnJyB0aGF0IG1heSByZXNvbHZlIGVpdGhlciB0bworICAgICMgYSBtb2R1bGUsIGEgdGVzdCBjYXNlIGNsYXNzLCBhIFRlc3RTdWl0ZSBpbnN0YW5jZSwgYSB0ZXN0IG1ldGhvZAorICAgICMgd2l0aGluIGEgdGVzdCBjYXNlIGNsYXNzLCBvciBhIGNhbGxhYmxlIG9iamVjdCB3aGljaCByZXR1cm5zIGEKKyAgICAjIFRlc3RDYXNlIG9yIFRlc3RTdWl0ZSBpbnN0YW5jZS4iCisgICAgIworICAgICMgV2hhdCBoYXBwZW5zIHdoZW4gdGhlIG1vZHVsZSBpcyBmb3VuZCwgYnV0IHRoZSBhdHRyaWJ1dGUgaXNuJ3Q/CisgICAgZGVmIHRlc3RfbG9hZFRlc3RzRnJvbU5hbWVfX3Vua25vd25fYXR0cl9uYW1lX29uX3BhY2thZ2Uoc2VsZik6CisgICAgICAgIGxvYWRlciA9IHVuaXR0ZXN0LlRlc3RMb2FkZXIoKQorCisgICAgICAgIHN1aXRlID0gbG9hZGVyLmxvYWRUZXN0c0Zyb21OYW1lKCd1bml0dGVzdC5zZGFzZmFzZmFzZGYnKQorICAgICAgICBleHBlY3RlZCA9ICJObyBtb2R1bGUgbmFtZWQgJ3VuaXR0ZXN0LnNkYXNmYXNmYXNkZiciCisgICAgICAgIGVycm9yLCB0ZXN0ID0gc2VsZi5jaGVja19kZWZlcnJlZF9lcnJvcihsb2FkZXIsIHN1aXRlKQorICAgICAgICBzZWxmLmFzc2VydEluKAorICAgICAgICAgICAgZXhwZWN0ZWQsIGVycm9yLAorICAgICAgICAgICAgJ21pc3NpbmcgZXJyb3Igc3RyaW5nIGluICVyJyAlIGVycm9yKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KEltcG9ydEVycm9yLCBleHBlY3RlZCwgdGVzdC5zZGFzZmFzZmFzZGYpCiAKICAgICAjICJUaGUgc3BlY2lmaWVyIG5hbWUgaXMgYSBgYGRvdHRlZCBuYW1lJycgdGhhdCBtYXkgcmVzb2x2ZSBlaXRoZXIgdG8KICAgICAjIGEgbW9kdWxlLCBhIHRlc3QgY2FzZSBjbGFzcywgYSBUZXN0U3VpdGUgaW5zdGFuY2UsIGEgdGVzdCBtZXRob2QKQEAgLTI2OSwxMiArNDU0LDEzIEBACiAgICAgZGVmIHRlc3RfbG9hZFRlc3RzRnJvbU5hbWVfX3JlbGF0aXZlX3Vua25vd25fbmFtZShzZWxmKToKICAgICAgICAgbG9hZGVyID0gdW5pdHRlc3QuVGVzdExvYWRlcigpCiAKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgbG9hZGVyLmxvYWRUZXN0c0Zyb21OYW1lKCdzZGFzZmFzZmFzZGYnLCB1bml0dGVzdCkKLSAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yIGFzIGU6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cihlKSwgIidtb2R1bGUnIG9iamVjdCBoYXMgbm8gYXR0cmlidXRlICdzZGFzZmFzZmFzZGYnIikKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYuZmFpbCgiVGVzdExvYWRlci5sb2FkVGVzdHNGcm9tTmFtZSBmYWlsZWQgdG8gcmFpc2UgQXR0cmlidXRlRXJyb3IiKQorICAgICAgICBzdWl0ZSA9IGxvYWRlci5sb2FkVGVzdHNGcm9tTmFtZSgnc2Rhc2Zhc2Zhc2RmJywgdW5pdHRlc3QpCisgICAgICAgIGV4cGVjdGVkID0gIm1vZHVsZSAndW5pdHRlc3QnIGhhcyBubyBhdHRyaWJ1dGUgJ3NkYXNmYXNmYXNkZiciCisgICAgICAgIGVycm9yLCB0ZXN0ID0gc2VsZi5jaGVja19kZWZlcnJlZF9lcnJvcihsb2FkZXIsIHN1aXRlKQorICAgICAgICBzZWxmLmFzc2VydEluKAorICAgICAgICAgICAgZXhwZWN0ZWQsIGVycm9yLAorICAgICAgICAgICAgJ21pc3NpbmcgZXJyb3Igc3RyaW5nIGluICVyJyAlIGVycm9yKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KEF0dHJpYnV0ZUVycm9yLCBleHBlY3RlZCwgdGVzdC5zZGFzZmFzZmFzZGYpCiAKICAgICAjICJUaGUgc3BlY2lmaWVyIG5hbWUgaXMgYSBgYGRvdHRlZCBuYW1lJycgdGhhdCBtYXkgcmVzb2x2ZSBlaXRoZXIgdG8KICAgICAjIGEgbW9kdWxlLCBhIHRlc3QgY2FzZSBjbGFzcywgYSBUZXN0U3VpdGUgaW5zdGFuY2UsIGEgdGVzdCBtZXRob2QKQEAgLTI5MCwxMiArNDc2LDEzIEBACiAgICAgZGVmIHRlc3RfbG9hZFRlc3RzRnJvbU5hbWVfX3JlbGF0aXZlX2VtcHR5X25hbWUoc2VsZik6CiAgICAgICAgIGxvYWRlciA9IHVuaXR0ZXN0LlRlc3RMb2FkZXIoKQogCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIGxvYWRlci5sb2FkVGVzdHNGcm9tTmFtZSgnJywgdW5pdHRlc3QpCi0gICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvciBhcyBlOgotICAgICAgICAgICAgcGFzcwotICAgICAgICBlbHNlOgotICAgICAgICAgICAgc2VsZi5mYWlsKCJGYWlsZWQgdG8gcmFpc2UgQXR0cmlidXRlRXJyb3IiKQorICAgICAgICBzdWl0ZSA9IGxvYWRlci5sb2FkVGVzdHNGcm9tTmFtZSgnJywgdW5pdHRlc3QpCisgICAgICAgIGVycm9yLCB0ZXN0ID0gc2VsZi5jaGVja19kZWZlcnJlZF9lcnJvcihsb2FkZXIsIHN1aXRlKQorICAgICAgICBleHBlY3RlZCA9ICJoYXMgbm8gYXR0cmlidXRlICcnIgorICAgICAgICBzZWxmLmFzc2VydEluKAorICAgICAgICAgICAgZXhwZWN0ZWQsIGVycm9yLAorICAgICAgICAgICAgJ21pc3NpbmcgZXJyb3Igc3RyaW5nIGluICVyJyAlIGVycm9yKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KEF0dHJpYnV0ZUVycm9yLCBleHBlY3RlZCwgZ2V0YXR0cih0ZXN0LCAnJykpCiAKICAgICAjICJUaGUgc3BlY2lmaWVyIG5hbWUgaXMgYSBgYGRvdHRlZCBuYW1lJycgdGhhdCBtYXkgcmVzb2x2ZSBlaXRoZXIgdG8KICAgICAjIGEgbW9kdWxlLCBhIHRlc3QgY2FzZSBjbGFzcywgYSBUZXN0U3VpdGUgaW5zdGFuY2UsIGEgdGVzdCBtZXRob2QKQEAgLTMxMCwxNCArNDk3LDE1IEBACiAgICAgICAgIGxvYWRlciA9IHVuaXR0ZXN0LlRlc3RMb2FkZXIoKQogCiAgICAgICAgICMgWFhYIFNob3VsZCB0aGlzIHJhaXNlIEF0dHJpYnV0ZUVycm9yIG9yIFZhbHVlRXJyb3I/Ci0gICAgICAgIHRyeToKLSAgICAgICAgICAgIGxvYWRlci5sb2FkVGVzdHNGcm9tTmFtZSgnYWJjICgpIC8vJywgdW5pdHRlc3QpCi0gICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgotICAgICAgICAgICAgcGFzcwotICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6Ci0gICAgICAgICAgICBwYXNzCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLmZhaWwoIlRlc3RMb2FkZXIubG9hZFRlc3RzRnJvbU5hbWUgZmFpbGVkIHRvIHJhaXNlIFZhbHVlRXJyb3IiKQorICAgICAgICBzdWl0ZSA9IGxvYWRlci5sb2FkVGVzdHNGcm9tTmFtZSgnYWJjICgpIC8vJywgdW5pdHRlc3QpCisgICAgICAgIGVycm9yLCB0ZXN0ID0gc2VsZi5jaGVja19kZWZlcnJlZF9lcnJvcihsb2FkZXIsIHN1aXRlKQorICAgICAgICBleHBlY3RlZCA9ICJtb2R1bGUgJ3VuaXR0ZXN0JyBoYXMgbm8gYXR0cmlidXRlICdhYmMgKCkgLy8nIgorICAgICAgICBleHBlY3RlZF9yZWdleCA9ICJtb2R1bGUgJ3VuaXR0ZXN0JyBoYXMgbm8gYXR0cmlidXRlICdhYmMgXChcKSAvLyciCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oCisgICAgICAgICAgICBleHBlY3RlZCwgZXJyb3IsCisgICAgICAgICAgICAnbWlzc2luZyBlcnJvciBzdHJpbmcgaW4gJXInICUgZXJyb3IpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoCisgICAgICAgICAgICBBdHRyaWJ1dGVFcnJvciwgZXhwZWN0ZWRfcmVnZXgsIGdldGF0dHIodGVzdCwgJ2FiYyAoKSAvLycpKQogCiAgICAgIyAiVGhlIG1ldGhvZCBvcHRpb25hbGx5IHJlc29sdmVzIG5hbWUgcmVsYXRpdmUgdG8gdGhlIGdpdmVuIG1vZHVsZSIKICAgICAjCkBAIC00MjMsMTIgKzYxMSwxMyBAQAogICAgICAgICBtLnRlc3RjYXNlXzEgPSBNeVRlc3RDYXNlCiAKICAgICAgICAgbG9hZGVyID0gdW5pdHRlc3QuVGVzdExvYWRlcigpCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIGxvYWRlci5sb2FkVGVzdHNGcm9tTmFtZSgndGVzdGNhc2VfMS50ZXN0Zm9vJywgbSkKLSAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yIGFzIGU6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cihlKSwgInR5cGUgb2JqZWN0ICdNeVRlc3RDYXNlJyBoYXMgbm8gYXR0cmlidXRlICd0ZXN0Zm9vJyIpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLmZhaWwoIkZhaWxlZCB0byByYWlzZSBBdHRyaWJ1dGVFcnJvciIpCisgICAgICAgIHN1aXRlID0gbG9hZGVyLmxvYWRUZXN0c0Zyb21OYW1lKCd0ZXN0Y2FzZV8xLnRlc3Rmb28nLCBtKQorICAgICAgICBleHBlY3RlZCA9ICJ0eXBlIG9iamVjdCAnTXlUZXN0Q2FzZScgaGFzIG5vIGF0dHJpYnV0ZSAndGVzdGZvbyciCisgICAgICAgIGVycm9yLCB0ZXN0ID0gc2VsZi5jaGVja19kZWZlcnJlZF9lcnJvcihsb2FkZXIsIHN1aXRlKQorICAgICAgICBzZWxmLmFzc2VydEluKAorICAgICAgICAgICAgZXhwZWN0ZWQsIGVycm9yLAorICAgICAgICAgICAgJ21pc3NpbmcgZXJyb3Igc3RyaW5nIGluICVyJyAlIGVycm9yKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KEF0dHJpYnV0ZUVycm9yLCBleHBlY3RlZCwgdGVzdC50ZXN0Zm9vKQogCiAgICAgIyAiVGhlIHNwZWNpZmllciBuYW1lIGlzIGEgYGBkb3R0ZWQgbmFtZScnIHRoYXQgbWF5IHJlc29sdmUgLi4uIHRvCiAgICAgIyAuLi4gYSBjYWxsYWJsZSBvYmplY3Qgd2hpY2ggcmV0dXJucyBhIC4uLiBUZXN0U3VpdGUgaW5zdGFuY2UiCkBAIC01NDYsNiArNzM1LDIzIEBACiAgICAgIyMjIFRlc3RzIGZvciBUZXN0TG9hZGVyLmxvYWRUZXN0c0Zyb21OYW1lcygpCiAgICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCisgICAgZGVmIGNoZWNrX2RlZmVycmVkX2Vycm9yKHNlbGYsIGxvYWRlciwgc3VpdGUpOgorICAgICAgICAiIiJIZWxwZXIgZnVuY3Rpb24gZm9yIGNoZWNraW5nIHRoYXQgZXJyb3JzIGluIGxvYWRpbmcgYXJlIHJlcG9ydGVkLgorCisgICAgICAgIDpwYXJhbSBsb2FkZXI6IEEgbG9hZGVyIHdpdGggc29tZSBlcnJvcnMuCisgICAgICAgIDpwYXJhbSBzdWl0ZTogQSBzdWl0ZSB0aGF0IHNob3VsZCBoYXZlIGEgbGF0ZSBib3VuZCBlcnJvci4KKyAgICAgICAgOnJldHVybjogVGhlIGZpcnN0IGVycm9yIG1lc3NhZ2UgZnJvbSB0aGUgbG9hZGVyIGFuZCB0aGUgdGVzdCBvYmplY3QKKyAgICAgICAgICAgIGZyb20gdGhlIHN1aXRlLgorICAgICAgICAiIiIKKyAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKHN1aXRlLCB1bml0dGVzdC5UZXN0U3VpdGUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3VpdGUuY291bnRUZXN0Q2FzZXMoKSwgMSkKKyAgICAgICAgIyBFcnJvcnMgbG9hZGluZyB0aGUgc3VpdGUgYXJlIGFsc28gY2FwdHVyZWQgZm9yIGludHJvc3BlY3Rpb24uCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoW10sIGxvYWRlci5lcnJvcnMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoMSwgbGVuKGxvYWRlci5lcnJvcnMpKQorICAgICAgICBlcnJvciA9IGxvYWRlci5lcnJvcnNbMF0KKyAgICAgICAgdGVzdCA9IGxpc3Qoc3VpdGUpWzBdCisgICAgICAgIHJldHVybiBlcnJvciwgdGVzdAorCiAgICAgIyAiU2ltaWxhciB0byBsb2FkVGVzdHNGcm9tTmFtZSgpLCBidXQgdGFrZXMgYSBzZXF1ZW5jZSBvZiBuYW1lcyByYXRoZXIKICAgICAjIHRoYW4gYSBzaW5nbGUgbmFtZS4iCiAgICAgIwpAQCAtNTk4LDE0ICs4MDQsMTUgQEAKICAgICAgICAgbG9hZGVyID0gdW5pdHRlc3QuVGVzdExvYWRlcigpCiAKICAgICAgICAgIyBYWFggU2hvdWxkIHRoaXMgcmFpc2UgVmFsdWVFcnJvciBvciBJbXBvcnRFcnJvcj8KLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgbG9hZGVyLmxvYWRUZXN0c0Zyb21OYW1lcyhbJ2FiYyAoKSAvLyddKQotICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKLSAgICAgICAgICAgIHBhc3MKLSAgICAgICAgZXhjZXB0IEltcG9ydEVycm9yOgotICAgICAgICAgICAgcGFzcwotICAgICAgICBlbHNlOgotICAgICAgICAgICAgc2VsZi5mYWlsKCJUZXN0TG9hZGVyLmxvYWRUZXN0c0Zyb21OYW1lcyBmYWlsZWQgdG8gcmFpc2UgVmFsdWVFcnJvciIpCisgICAgICAgIHN1aXRlID0gbG9hZGVyLmxvYWRUZXN0c0Zyb21OYW1lcyhbJ2FiYyAoKSAvLyddKQorICAgICAgICBlcnJvciwgdGVzdCA9IHNlbGYuY2hlY2tfZGVmZXJyZWRfZXJyb3IobG9hZGVyLCBsaXN0KHN1aXRlKVswXSkKKyAgICAgICAgZXhwZWN0ZWQgPSAiRmFpbGVkIHRvIGltcG9ydCB0ZXN0IG1vZHVsZTogYWJjICgpIC8vIgorICAgICAgICBleHBlY3RlZF9yZWdleCA9ICJGYWlsZWQgdG8gaW1wb3J0IHRlc3QgbW9kdWxlOiBhYmMgXChcKSAvLyIKKyAgICAgICAgc2VsZi5hc3NlcnRJbigKKyAgICAgICAgICAgIGV4cGVjdGVkLCAgZXJyb3IsCisgICAgICAgICAgICAnbWlzc2luZyBlcnJvciBzdHJpbmcgaW4gJXInICUgZXJyb3IpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoCisgICAgICAgICAgICBJbXBvcnRFcnJvciwgZXhwZWN0ZWRfcmVnZXgsIGdldGF0dHIodGVzdCwgJ2FiYyAoKSAvLycpKQogCiAgICAgIyAiVGhlIHNwZWNpZmllciBuYW1lIGlzIGEgYGBkb3R0ZWQgbmFtZScnIHRoYXQgbWF5IHJlc29sdmUgZWl0aGVyIHRvCiAgICAgIyBhIG1vZHVsZSwgYSB0ZXN0IGNhc2UgY2xhc3MsIGEgVGVzdFN1aXRlIGluc3RhbmNlLCBhIHRlc3QgbWV0aG9kCkBAIC02MTYsMTIgKzgyMywxMyBAQAogICAgIGRlZiB0ZXN0X2xvYWRUZXN0c0Zyb21OYW1lc19fdW5rbm93bl9tb2R1bGVfbmFtZShzZWxmKToKICAgICAgICAgbG9hZGVyID0gdW5pdHRlc3QuVGVzdExvYWRlcigpCiAKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgbG9hZGVyLmxvYWRUZXN0c0Zyb21OYW1lcyhbJ3NkYXNmYXNmYXNkZiddKQotICAgICAgICBleGNlcHQgSW1wb3J0RXJyb3IgYXMgZToKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGUpLCAiTm8gbW9kdWxlIG5hbWVkICdzZGFzZmFzZmFzZGYnIikKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYuZmFpbCgiVGVzdExvYWRlci5sb2FkVGVzdHNGcm9tTmFtZXMgZmFpbGVkIHRvIHJhaXNlIEltcG9ydEVycm9yIikKKyAgICAgICAgc3VpdGUgPSBsb2FkZXIubG9hZFRlc3RzRnJvbU5hbWVzKFsnc2Rhc2Zhc2Zhc2RmJ10pCisgICAgICAgIGVycm9yLCB0ZXN0ID0gc2VsZi5jaGVja19kZWZlcnJlZF9lcnJvcihsb2FkZXIsIGxpc3Qoc3VpdGUpWzBdKQorICAgICAgICBleHBlY3RlZCA9ICJGYWlsZWQgdG8gaW1wb3J0IHRlc3QgbW9kdWxlOiBzZGFzZmFzZmFzZGYiCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oCisgICAgICAgICAgICBleHBlY3RlZCwgZXJyb3IsCisgICAgICAgICAgICAnbWlzc2luZyBlcnJvciBzdHJpbmcgaW4gJXInICUgZXJyb3IpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoSW1wb3J0RXJyb3IsIGV4cGVjdGVkLCB0ZXN0LnNkYXNmYXNmYXNkZikKIAogICAgICMgIlRoZSBzcGVjaWZpZXIgbmFtZSBpcyBhIGBgZG90dGVkIG5hbWUnJyB0aGF0IG1heSByZXNvbHZlIGVpdGhlciB0bwogICAgICMgYSBtb2R1bGUsIGEgdGVzdCBjYXNlIGNsYXNzLCBhIFRlc3RTdWl0ZSBpbnN0YW5jZSwgYSB0ZXN0IG1ldGhvZApAQCAtNjMyLDEyICs4NDAsMTQgQEAKICAgICBkZWYgdGVzdF9sb2FkVGVzdHNGcm9tTmFtZXNfX3Vua25vd25fYXR0cl9uYW1lKHNlbGYpOgogICAgICAgICBsb2FkZXIgPSB1bml0dGVzdC5UZXN0TG9hZGVyKCkKIAotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBsb2FkZXIubG9hZFRlc3RzRnJvbU5hbWVzKFsndW5pdHRlc3Quc2Rhc2Zhc2Zhc2RmJywgJ3VuaXR0ZXN0J10pCi0gICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvciBhcyBlOgotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoZSksICInbW9kdWxlJyBvYmplY3QgaGFzIG5vIGF0dHJpYnV0ZSAnc2Rhc2Zhc2Zhc2RmJyIpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLmZhaWwoIlRlc3RMb2FkZXIubG9hZFRlc3RzRnJvbU5hbWVzIGZhaWxlZCB0byByYWlzZSBBdHRyaWJ1dGVFcnJvciIpCisgICAgICAgIHN1aXRlID0gbG9hZGVyLmxvYWRUZXN0c0Zyb21OYW1lcygKKyAgICAgICAgICAgIFsndW5pdHRlc3QubG9hZGVyLnNkYXNmYXNmYXNkZicsICd1bml0dGVzdC50ZXN0LmR1bW15J10pCisgICAgICAgIGVycm9yLCB0ZXN0ID0gc2VsZi5jaGVja19kZWZlcnJlZF9lcnJvcihsb2FkZXIsIGxpc3Qoc3VpdGUpWzBdKQorICAgICAgICBleHBlY3RlZCA9ICJtb2R1bGUgJ3VuaXR0ZXN0LmxvYWRlcicgaGFzIG5vIGF0dHJpYnV0ZSAnc2Rhc2Zhc2Zhc2RmJyIKKyAgICAgICAgc2VsZi5hc3NlcnRJbigKKyAgICAgICAgICAgIGV4cGVjdGVkLCBlcnJvciwKKyAgICAgICAgICAgICdtaXNzaW5nIGVycm9yIHN0cmluZyBpbiAlcicgJSBlcnJvcikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNSZWdleChBdHRyaWJ1dGVFcnJvciwgZXhwZWN0ZWQsIHRlc3Quc2Rhc2Zhc2Zhc2RmKQogCiAgICAgIyAiVGhlIHNwZWNpZmllciBuYW1lIGlzIGEgYGBkb3R0ZWQgbmFtZScnIHRoYXQgbWF5IHJlc29sdmUgZWl0aGVyIHRvCiAgICAgIyBhIG1vZHVsZSwgYSB0ZXN0IGNhc2UgY2xhc3MsIGEgVGVzdFN1aXRlIGluc3RhbmNlLCBhIHRlc3QgbWV0aG9kCkBAIC02NTEsMTIgKzg2MSwxMyBAQAogICAgIGRlZiB0ZXN0X2xvYWRUZXN0c0Zyb21OYW1lc19fdW5rbm93bl9uYW1lX3JlbGF0aXZlXzEoc2VsZik6CiAgICAgICAgIGxvYWRlciA9IHVuaXR0ZXN0LlRlc3RMb2FkZXIoKQogCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIGxvYWRlci5sb2FkVGVzdHNGcm9tTmFtZXMoWydzZGFzZmFzZmFzZGYnXSwgdW5pdHRlc3QpCi0gICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvciBhcyBlOgotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoZSksICInbW9kdWxlJyBvYmplY3QgaGFzIG5vIGF0dHJpYnV0ZSAnc2Rhc2Zhc2Zhc2RmJyIpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLmZhaWwoIlRlc3RMb2FkZXIubG9hZFRlc3RzRnJvbU5hbWUgZmFpbGVkIHRvIHJhaXNlIEF0dHJpYnV0ZUVycm9yIikKKyAgICAgICAgc3VpdGUgPSBsb2FkZXIubG9hZFRlc3RzRnJvbU5hbWVzKFsnc2Rhc2Zhc2Zhc2RmJ10sIHVuaXR0ZXN0KQorICAgICAgICBlcnJvciwgdGVzdCA9IHNlbGYuY2hlY2tfZGVmZXJyZWRfZXJyb3IobG9hZGVyLCBsaXN0KHN1aXRlKVswXSkKKyAgICAgICAgZXhwZWN0ZWQgPSAibW9kdWxlICd1bml0dGVzdCcgaGFzIG5vIGF0dHJpYnV0ZSAnc2Rhc2Zhc2Zhc2RmJyIKKyAgICAgICAgc2VsZi5hc3NlcnRJbigKKyAgICAgICAgICAgIGV4cGVjdGVkLCBlcnJvciwKKyAgICAgICAgICAgICdtaXNzaW5nIGVycm9yIHN0cmluZyBpbiAlcicgJSBlcnJvcikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNSZWdleChBdHRyaWJ1dGVFcnJvciwgZXhwZWN0ZWQsIHRlc3Quc2Rhc2Zhc2Zhc2RmKQogCiAgICAgIyAiVGhlIHNwZWNpZmllciBuYW1lIGlzIGEgYGBkb3R0ZWQgbmFtZScnIHRoYXQgbWF5IHJlc29sdmUgZWl0aGVyIHRvCiAgICAgIyBhIG1vZHVsZSwgYSB0ZXN0IGNhc2UgY2xhc3MsIGEgVGVzdFN1aXRlIGluc3RhbmNlLCBhIHRlc3QgbWV0aG9kCkBAIC02NzAsMTIgKzg4MSwxMyBAQAogICAgIGRlZiB0ZXN0X2xvYWRUZXN0c0Zyb21OYW1lc19fdW5rbm93bl9uYW1lX3JlbGF0aXZlXzIoc2VsZik6CiAgICAgICAgIGxvYWRlciA9IHVuaXR0ZXN0LlRlc3RMb2FkZXIoKQogCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIGxvYWRlci5sb2FkVGVzdHNGcm9tTmFtZXMoWydUZXN0Q2FzZScsICdzZGFzZmFzZmFzZGYnXSwgdW5pdHRlc3QpCi0gICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvciBhcyBlOgotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoZSksICInbW9kdWxlJyBvYmplY3QgaGFzIG5vIGF0dHJpYnV0ZSAnc2Rhc2Zhc2Zhc2RmJyIpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLmZhaWwoIlRlc3RMb2FkZXIubG9hZFRlc3RzRnJvbU5hbWUgZmFpbGVkIHRvIHJhaXNlIEF0dHJpYnV0ZUVycm9yIikKKyAgICAgICAgc3VpdGUgPSBsb2FkZXIubG9hZFRlc3RzRnJvbU5hbWVzKFsnVGVzdENhc2UnLCAnc2Rhc2Zhc2Zhc2RmJ10sIHVuaXR0ZXN0KQorICAgICAgICBlcnJvciwgdGVzdCA9IHNlbGYuY2hlY2tfZGVmZXJyZWRfZXJyb3IobG9hZGVyLCBsaXN0KHN1aXRlKVsxXSkKKyAgICAgICAgZXhwZWN0ZWQgPSAibW9kdWxlICd1bml0dGVzdCcgaGFzIG5vIGF0dHJpYnV0ZSAnc2Rhc2Zhc2Zhc2RmJyIKKyAgICAgICAgc2VsZi5hc3NlcnRJbigKKyAgICAgICAgICAgIGV4cGVjdGVkLCBlcnJvciwKKyAgICAgICAgICAgICdtaXNzaW5nIGVycm9yIHN0cmluZyBpbiAlcicgJSBlcnJvcikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNSZWdleChBdHRyaWJ1dGVFcnJvciwgZXhwZWN0ZWQsIHRlc3Quc2Rhc2Zhc2Zhc2RmKQogCiAgICAgIyAiVGhlIHNwZWNpZmllciBuYW1lIGlzIGEgYGBkb3R0ZWQgbmFtZScnIHRoYXQgbWF5IHJlc29sdmUgZWl0aGVyIHRvCiAgICAgIyBhIG1vZHVsZSwgYSB0ZXN0IGNhc2UgY2xhc3MsIGEgVGVzdFN1aXRlIGluc3RhbmNlLCBhIHRlc3QgbWV0aG9kCkBAIC02OTEsMTIgKzkwMywxMyBAQAogICAgIGRlZiB0ZXN0X2xvYWRUZXN0c0Zyb21OYW1lc19fcmVsYXRpdmVfZW1wdHlfbmFtZShzZWxmKToKICAgICAgICAgbG9hZGVyID0gdW5pdHRlc3QuVGVzdExvYWRlcigpCiAKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgbG9hZGVyLmxvYWRUZXN0c0Zyb21OYW1lcyhbJyddLCB1bml0dGVzdCkKLSAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgotICAgICAgICAgICAgcGFzcwotICAgICAgICBlbHNlOgotICAgICAgICAgICAgc2VsZi5mYWlsKCJGYWlsZWQgdG8gcmFpc2UgVmFsdWVFcnJvciIpCisgICAgICAgIHN1aXRlID0gbG9hZGVyLmxvYWRUZXN0c0Zyb21OYW1lcyhbJyddLCB1bml0dGVzdCkKKyAgICAgICAgZXJyb3IsIHRlc3QgPSBzZWxmLmNoZWNrX2RlZmVycmVkX2Vycm9yKGxvYWRlciwgbGlzdChzdWl0ZSlbMF0pCisgICAgICAgIGV4cGVjdGVkID0gImhhcyBubyBhdHRyaWJ1dGUgJyciCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oCisgICAgICAgICAgICBleHBlY3RlZCwgZXJyb3IsCisgICAgICAgICAgICAnbWlzc2luZyBlcnJvciBzdHJpbmcgaW4gJXInICUgZXJyb3IpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoQXR0cmlidXRlRXJyb3IsIGV4cGVjdGVkLCBnZXRhdHRyKHRlc3QsICcnKSkKIAogICAgICMgIlRoZSBzcGVjaWZpZXIgbmFtZSBpcyBhIGBgZG90dGVkIG5hbWUnJyB0aGF0IG1heSByZXNvbHZlIGVpdGhlciB0bwogICAgICMgYSBtb2R1bGUsIGEgdGVzdCBjYXNlIGNsYXNzLCBhIFRlc3RTdWl0ZSBpbnN0YW5jZSwgYSB0ZXN0IG1ldGhvZApAQCAtNzEwLDE0ICs5MjMsMTUgQEAKICAgICAgICAgbG9hZGVyID0gdW5pdHRlc3QuVGVzdExvYWRlcigpCiAKICAgICAgICAgIyBYWFggU2hvdWxkIHRoaXMgcmFpc2UgQXR0cmlidXRlRXJyb3Igb3IgVmFsdWVFcnJvcj8KLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgbG9hZGVyLmxvYWRUZXN0c0Zyb21OYW1lcyhbJ2FiYyAoKSAvLyddLCB1bml0dGVzdCkKLSAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgotICAgICAgICAgICAgcGFzcwotICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKLSAgICAgICAgICAgIHBhc3MKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYuZmFpbCgiVGVzdExvYWRlci5sb2FkVGVzdHNGcm9tTmFtZXMgZmFpbGVkIHRvIHJhaXNlIFZhbHVlRXJyb3IiKQorICAgICAgICBzdWl0ZSA9IGxvYWRlci5sb2FkVGVzdHNGcm9tTmFtZXMoWydhYmMgKCkgLy8nXSwgdW5pdHRlc3QpCisgICAgICAgIGVycm9yLCB0ZXN0ID0gc2VsZi5jaGVja19kZWZlcnJlZF9lcnJvcihsb2FkZXIsIGxpc3Qoc3VpdGUpWzBdKQorICAgICAgICBleHBlY3RlZCA9ICJtb2R1bGUgJ3VuaXR0ZXN0JyBoYXMgbm8gYXR0cmlidXRlICdhYmMgKCkgLy8nIgorICAgICAgICBleHBlY3RlZF9yZWdleCA9ICJtb2R1bGUgJ3VuaXR0ZXN0JyBoYXMgbm8gYXR0cmlidXRlICdhYmMgXChcKSAvLyciCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oCisgICAgICAgICAgICBleHBlY3RlZCwgZXJyb3IsCisgICAgICAgICAgICAnbWlzc2luZyBlcnJvciBzdHJpbmcgaW4gJXInICUgZXJyb3IpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoCisgICAgICAgICAgICBBdHRyaWJ1dGVFcnJvciwgZXhwZWN0ZWRfcmVnZXgsIGdldGF0dHIodGVzdCwgJ2FiYyAoKSAvLycpKQogCiAgICAgIyAiVGhlIG1ldGhvZCBvcHRpb25hbGx5IHJlc29sdmVzIG5hbWUgcmVsYXRpdmUgdG8gdGhlIGdpdmVuIG1vZHVsZSIKICAgICAjCkBAIC04MzUsMTIgKzEwNDksMTMgQEAKICAgICAgICAgbS50ZXN0Y2FzZV8xID0gTXlUZXN0Q2FzZQogCiAgICAgICAgIGxvYWRlciA9IHVuaXR0ZXN0LlRlc3RMb2FkZXIoKQotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBsb2FkZXIubG9hZFRlc3RzRnJvbU5hbWVzKFsndGVzdGNhc2VfMS50ZXN0Zm9vJ10sIG0pCi0gICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvciBhcyBlOgotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoZSksICJ0eXBlIG9iamVjdCAnTXlUZXN0Q2FzZScgaGFzIG5vIGF0dHJpYnV0ZSAndGVzdGZvbyciKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgc2VsZi5mYWlsKCJGYWlsZWQgdG8gcmFpc2UgQXR0cmlidXRlRXJyb3IiKQorICAgICAgICBzdWl0ZSA9IGxvYWRlci5sb2FkVGVzdHNGcm9tTmFtZXMoWyd0ZXN0Y2FzZV8xLnRlc3Rmb28nXSwgbSkKKyAgICAgICAgZXJyb3IsIHRlc3QgPSBzZWxmLmNoZWNrX2RlZmVycmVkX2Vycm9yKGxvYWRlciwgbGlzdChzdWl0ZSlbMF0pCisgICAgICAgIGV4cGVjdGVkID0gInR5cGUgb2JqZWN0ICdNeVRlc3RDYXNlJyBoYXMgbm8gYXR0cmlidXRlICd0ZXN0Zm9vJyIKKyAgICAgICAgc2VsZi5hc3NlcnRJbigKKyAgICAgICAgICAgIGV4cGVjdGVkLCBlcnJvciwKKyAgICAgICAgICAgICdtaXNzaW5nIGVycm9yIHN0cmluZyBpbiAlcicgJSBlcnJvcikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNSZWdleChBdHRyaWJ1dGVFcnJvciwgZXhwZWN0ZWQsIHRlc3QudGVzdGZvbykKIAogICAgICMgIlRoZSBzcGVjaWZpZXIgbmFtZSBpcyBhIGBgZG90dGVkIG5hbWUnJyB0aGF0IG1heSByZXNvbHZlIC4uLiB0bwogICAgICMgLi4uIGEgY2FsbGFibGUgb2JqZWN0IHdoaWNoIHJldHVybnMgYSAuLi4gVGVzdFN1aXRlIGluc3RhbmNlIgpkaWZmIC0tZ2l0IGEvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdF9zZXR1cHMucHkgYi9MaWIvdW5pdHRlc3QvdGVzdC90ZXN0X3NldHVwcy5weQppbmRleCAzOTJmOTVlLi4yZGY3MDNlIDEwMDY0NAotLS0gYS9MaWIvdW5pdHRlc3QvdGVzdC90ZXN0X3NldHVwcy5weQorKysgYi9MaWIvdW5pdHRlc3QvdGVzdC90ZXN0X3NldHVwcy5weQpAQCAtMTExLDcgKzExMSw3IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHJlc3VsdC5lcnJvcnMpLCAxKQogICAgICAgICBlcnJvciwgXyA9IHJlc3VsdC5lcnJvcnNbMF0KICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoZXJyb3IpLAotICAgICAgICAgICAgICAgICAgICAnc2V0VXBDbGFzcyAoJXMuQnJva2VuVGVzdCknICUgX19uYW1lX18pCisgICAgICAgICAgICAgICAgICAgICdzZXRVcENsYXNzICglcy4lcyknICUgKF9fbmFtZV9fLCBCcm9rZW5UZXN0Ll9fcXVhbG5hbWVfXykpCiAKICAgICBkZWYgdGVzdF9lcnJvcl9pbl90ZWFyZG93bl9jbGFzcyhzZWxmKToKICAgICAgICAgY2xhc3MgVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CkBAIC0xNDQsNyArMTQ0LDcgQEAKIAogICAgICAgICBlcnJvciwgXyA9IHJlc3VsdC5lcnJvcnNbMF0KICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoZXJyb3IpLAotICAgICAgICAgICAgICAgICAgICAndGVhckRvd25DbGFzcyAoJXMuVGVzdCknICUgX19uYW1lX18pCisgICAgICAgICAgICAgICAgICAgICd0ZWFyRG93bkNsYXNzICglcy4lcyknICUgKF9fbmFtZV9fLCBUZXN0Ll9fcXVhbG5hbWVfXykpCiAKICAgICBkZWYgdGVzdF9jbGFzc19ub3RfdG9ybmRvd25fd2hlbl9zZXR1cF9mYWlscyhzZWxmKToKICAgICAgICAgY2xhc3MgVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CkBAIC00MTQsNyArNDE0LDggQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4ocmVzdWx0LmVycm9ycyksIDApCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHJlc3VsdC5za2lwcGVkKSwgMSkKICAgICAgICAgc2tpcHBlZCA9IHJlc3VsdC5za2lwcGVkWzBdWzBdCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKHNraXBwZWQpLCAnc2V0VXBDbGFzcyAoJXMuVGVzdCknICUgX19uYW1lX18pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKHNraXBwZWQpLAorICAgICAgICAgICAgICAgICAgICAnc2V0VXBDbGFzcyAoJXMuJXMpJyAlIChfX25hbWVfXywgVGVzdC5fX3F1YWxuYW1lX18pKQogCiAgICAgZGVmIHRlc3Rfc2tpcHRlc3RfaW5fc2V0dXBtb2R1bGUoc2VsZik6CiAgICAgICAgIGNsYXNzIFRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgpkaWZmIC0tZ2l0IGEvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdG1vY2svdGVzdG1vY2sucHkgYi9MaWIvdW5pdHRlc3QvdGVzdC90ZXN0bW9jay90ZXN0bW9jay5weQppbmRleCAyMzY3NWI5Li4zYTEwNGNiIDEwMDY0NAotLS0gYS9MaWIvdW5pdHRlc3QvdGVzdC90ZXN0bW9jay90ZXN0bW9jay5weQorKysgYi9MaWIvdW5pdHRlc3QvdGVzdC90ZXN0bW9jay90ZXN0bW9jay5weQpAQCAtMTE4Nyw2ICsxMTg3LDQyIEBACiAgICAgICAgIG0gPSBtb2NrLmNyZWF0ZV9hdXRvc3BlYyhvYmplY3QoKSwgbmFtZT0nc3dlZXRfZnVuYycpCiAgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ3N3ZWV0X2Z1bmMnLCByZXByKG0pKQogCisgICAgI0lzc3VlMjEyMzgKKyAgICBkZWYgdGVzdF9tb2NrX3Vuc2FmZShzZWxmKToKKyAgICAgICAgbSA9IE1vY2soKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEF0dHJpYnV0ZUVycm9yKToKKyAgICAgICAgICAgIG0uYXNzZXJ0X2Zvb19jYWxsKCkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhBdHRyaWJ1dGVFcnJvcik6CisgICAgICAgICAgICBtLmFzc3JldF9mb29fY2FsbCgpCisgICAgICAgIG0gPSBNb2NrKHVuc2FmZT1UcnVlKQorICAgICAgICBtLmFzc2VydF9mb29fY2FsbCgpCisgICAgICAgIG0uYXNzcmV0X2Zvb19jYWxsKCkKKworICAgICNJc3N1ZTIxMjYyCisgICAgZGVmIHRlc3RfYXNzZXJ0X25vdF9jYWxsZWQoc2VsZik6CisgICAgICAgIG0gPSBNb2NrKCkKKyAgICAgICAgbS5oZWxsby5hc3NlcnRfbm90X2NhbGxlZCgpCisgICAgICAgIG0uaGVsbG8oKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEFzc2VydGlvbkVycm9yKToKKyAgICAgICAgICAgIG0uaGVsbG8uYXNzZXJ0X25vdF9jYWxsZWQoKQorCisgICAgI0lzc3VlMjEyNTYgcHJpbnRvdXQgb2Yga2V5d29yZCBhcmdzIHNob3VsZCBiZSBpbiBkZXRlcm1pbmlzdGljIG9yZGVyCisgICAgZGVmIHRlc3Rfc29ydGVkX2NhbGxfc2lnbmF0dXJlKHNlbGYpOgorICAgICAgICBtID0gTW9jaygpCisgICAgICAgIG0uaGVsbG8obmFtZT0naGVsbG8nLCBkYWRkeT0naGVybycpCisgICAgICAgIHRleHQgPSAiY2FsbChkYWRkeT0naGVybycsIG5hbWU9J2hlbGxvJykiCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVwcihtLmhlbGxvLmNhbGxfYXJncyksIHRleHQpCisKKyAgICAjSXNzdWUyMTI3MCBvdmVycmlkZXMgdHVwbGUgbWV0aG9kcyBmb3IgbW9jay5jYWxsIG9iamVjdHMKKyAgICBkZWYgdGVzdF9vdmVycmlkZV90dXBsZV9tZXRob2RzKHNlbGYpOgorICAgICAgICBjID0gY2FsbC5jb3VudCgpCisgICAgICAgIGkgPSBjYWxsLmluZGV4KDEzMiwnaGVsbG8nKQorICAgICAgICBtID0gTW9jaygpCisgICAgICAgIG0uY291bnQoKQorICAgICAgICBtLmluZGV4KDEzMiwiaGVsbG8iKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG0ubWV0aG9kX2NhbGxzWzBdLCBjKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG0ubWV0aG9kX2NhbGxzWzFdLCBpKQorCiAgICAgZGVmIHRlc3RfbW9ja19hZGRfc3BlYyhzZWxmKToKICAgICAgICAgY2xhc3MgX09uZShvYmplY3QpOgogICAgICAgICAgICAgb25lID0gMQpkaWZmIC0tZ2l0IGEvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdG1vY2svdGVzdHBhdGNoLnB5IGIvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdG1vY2svdGVzdHBhdGNoLnB5CmluZGV4IGI1MTZmNDIuLjI4ZmU4NmIgMTAwNjQ0Ci0tLSBhL0xpYi91bml0dGVzdC90ZXN0L3Rlc3Rtb2NrL3Rlc3RwYXRjaC5weQorKysgYi9MaWIvdW5pdHRlc3QvdGVzdC90ZXN0bW9jay90ZXN0cGF0Y2gucHkKQEAgLTM3Nyw3ICszNzcsNyBAQAogCiAgICAgZGVmIHRlc3RfcGF0Y2hvYmplY3Rfd29udF9jcmVhdGVfYnlfZGVmYXVsdChzZWxmKToKICAgICAgICAgdHJ5OgotICAgICAgICAgICAgQHBhdGNoLm9iamVjdChTb21lQ2xhc3MsICdmcm9vYmxlJywgc2VudGluZWwuRnJvb2JsZSkKKyAgICAgICAgICAgIEBwYXRjaC5vYmplY3QoU29tZUNsYXNzLCAnb3JkJywgc2VudGluZWwuRnJvb2JsZSkKICAgICAgICAgICAgIGRlZiB0ZXN0KCk6CiAgICAgICAgICAgICAgICAgc2VsZi5mYWlsKCdQYXRjaGluZyBub24gZXhpc3RlbnQgYXR0cmlidXRlcyBzaG91bGQgZmFpbCcpCiAKQEAgLTM4Niw3ICszODYsMjcgQEAKICAgICAgICAgICAgIHBhc3MKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHNlbGYuZmFpbCgnUGF0Y2hpbmcgbm9uIGV4aXN0ZW50IGF0dHJpYnV0ZXMgc2hvdWxkIGZhaWwnKQotICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGhhc2F0dHIoU29tZUNsYXNzLCAnZnJvb2JsZScpKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGhhc2F0dHIoU29tZUNsYXNzLCAnb3JkJykpCisKKworICAgIGRlZiB0ZXN0X3BhdGNoX2J1aWx0aW5zX3dpdGhvdXRfY3JlYXRlKHNlbGYpOgorICAgICAgICBAcGF0Y2goX19uYW1lX18rJy5vcmQnKQorICAgICAgICBkZWYgdGVzdF9vcmQobW9ja19vcmQpOgorICAgICAgICAgICAgbW9ja19vcmQucmV0dXJuX3ZhbHVlID0gMTAxCisgICAgICAgICAgICByZXR1cm4gb3JkKCdjJykKKworICAgICAgICBAcGF0Y2goX19uYW1lX18rJy5vcGVuJykKKyAgICAgICAgZGVmIHRlc3Rfb3Blbihtb2NrX29wZW4pOgorICAgICAgICAgICAgbSA9IG1vY2tfb3Blbi5yZXR1cm5fdmFsdWUKKyAgICAgICAgICAgIG0ucmVhZC5yZXR1cm5fdmFsdWUgPSAnYWJjZCcKKworICAgICAgICAgICAgZm9iaiA9IG9wZW4oJ2RvZXNub3RleGlzdHMudHh0JykKKyAgICAgICAgICAgIGRhdGEgPSBmb2JqLnJlYWQoKQorICAgICAgICAgICAgZm9iai5jbG9zZSgpCisgICAgICAgICAgICByZXR1cm4gZGF0YQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodGVzdF9vcmQoKSwgMTAxKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRlc3Rfb3BlbigpLCAnYWJjZCcpCiAKIAogICAgIGRlZiB0ZXN0X3BhdGNoX3dpdGhfc3RhdGljX21ldGhvZHMoc2VsZik6CmRpZmYgLS1naXQgYS9MaWIvdW5pdHRlc3QvdXRpbC5weSBiL0xpYi91bml0dGVzdC91dGlsLnB5CmluZGV4IGFlZTQ5OGYuLjQ1NDg1ZGMgMTAwNjQ0Ci0tLSBhL0xpYi91bml0dGVzdC91dGlsLnB5CisrKyBiL0xpYi91bml0dGVzdC91dGlsLnB5CkBAIC01Miw3ICs1Miw3IEBACiAgICAgcmV0dXJuIHJlc3VsdFs6X01BWF9MRU5HVEhdICsgJyBbdHJ1bmNhdGVkXS4uLicKIAogZGVmIHN0cmNsYXNzKGNscyk6Ci0gICAgcmV0dXJuICIlcy4lcyIgJSAoY2xzLl9fbW9kdWxlX18sIGNscy5fX25hbWVfXykKKyAgICByZXR1cm4gIiVzLiVzIiAlIChjbHMuX19tb2R1bGVfXywgY2xzLl9fcXVhbG5hbWVfXykKIAogZGVmIHNvcnRlZF9saXN0X2RpZmZlcmVuY2UoZXhwZWN0ZWQsIGFjdHVhbCk6CiAgICAgIiIiRmluZHMgZWxlbWVudHMgaW4gb25seSBvbmUgb3IgdGhlIG90aGVyIG9mIHR3bywgc29ydGVkIGlucHV0IGxpc3RzLgpkaWZmIC0tZ2l0IGEvTGliL3VybGxpYi9wYXJzZS5weSBiL0xpYi91cmxsaWIvcGFyc2UucHkKaW5kZXggZDM2ODMzMS4uODIxZGFlNiAxMDA2NDQKLS0tIGEvTGliL3VybGxpYi9wYXJzZS5weQorKysgYi9MaWIvdXJsbGliL3BhcnNlLnB5CkBAIC00MDksMTEgKzQwOSwxMyBAQAogICAgICAgICByZXR1cm4gdXJsCiAgICAgaWYgbm90IHVybDoKICAgICAgICAgcmV0dXJuIGJhc2UKKwogICAgIGJhc2UsIHVybCwgX2NvZXJjZV9yZXN1bHQgPSBfY29lcmNlX2FyZ3MoYmFzZSwgdXJsKQogICAgIGJzY2hlbWUsIGJuZXRsb2MsIGJwYXRoLCBicGFyYW1zLCBicXVlcnksIGJmcmFnbWVudCA9IFwKICAgICAgICAgICAgIHVybHBhcnNlKGJhc2UsICcnLCBhbGxvd19mcmFnbWVudHMpCiAgICAgc2NoZW1lLCBuZXRsb2MsIHBhdGgsIHBhcmFtcywgcXVlcnksIGZyYWdtZW50ID0gXAogICAgICAgICAgICAgdXJscGFyc2UodXJsLCBic2NoZW1lLCBhbGxvd19mcmFnbWVudHMpCisKICAgICBpZiBzY2hlbWUgIT0gYnNjaGVtZSBvciBzY2hlbWUgbm90IGluIHVzZXNfcmVsYXRpdmU6CiAgICAgICAgIHJldHVybiBfY29lcmNlX3Jlc3VsdCh1cmwpCiAgICAgaWYgc2NoZW1lIGluIHVzZXNfbmV0bG9jOgpAQCAtNDIxLDkgKzQyMyw3IEBACiAgICAgICAgICAgICByZXR1cm4gX2NvZXJjZV9yZXN1bHQodXJsdW5wYXJzZSgoc2NoZW1lLCBuZXRsb2MsIHBhdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zLCBxdWVyeSwgZnJhZ21lbnQpKSkKICAgICAgICAgbmV0bG9jID0gYm5ldGxvYwotICAgIGlmIHBhdGhbOjFdID09ICcvJzoKLSAgICAgICAgcmV0dXJuIF9jb2VyY2VfcmVzdWx0KHVybHVucGFyc2UoKHNjaGVtZSwgbmV0bG9jLCBwYXRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zLCBxdWVyeSwgZnJhZ21lbnQpKSkKKwogICAgIGlmIG5vdCBwYXRoIGFuZCBub3QgcGFyYW1zOgogICAgICAgICBwYXRoID0gYnBhdGgKICAgICAgICAgcGFyYW1zID0gYnBhcmFtcwpAQCAtNDMxLDI5ICs0MzEsNDYgQEAKICAgICAgICAgICAgIHF1ZXJ5ID0gYnF1ZXJ5CiAgICAgICAgIHJldHVybiBfY29lcmNlX3Jlc3VsdCh1cmx1bnBhcnNlKChzY2hlbWUsIG5ldGxvYywgcGF0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtcywgcXVlcnksIGZyYWdtZW50KSkpCi0gICAgc2VnbWVudHMgPSBicGF0aC5zcGxpdCgnLycpWzotMV0gKyBwYXRoLnNwbGl0KCcvJykKLSAgICAjIFhYWCBUaGUgc3R1ZmYgYmVsb3cgaXMgYm9ndXMgaW4gdmFyaW91cyB3YXlzLi4uCi0gICAgaWYgc2VnbWVudHNbLTFdID09ICcuJzoKLSAgICAgICAgc2VnbWVudHNbLTFdID0gJycKLSAgICB3aGlsZSAnLicgaW4gc2VnbWVudHM6Ci0gICAgICAgIHNlZ21lbnRzLnJlbW92ZSgnLicpCi0gICAgd2hpbGUgMToKLSAgICAgICAgaSA9IDEKLSAgICAgICAgbiA9IGxlbihzZWdtZW50cykgLSAxCi0gICAgICAgIHdoaWxlIGkgPCBuOgotICAgICAgICAgICAgaWYgKHNlZ21lbnRzW2ldID09ICcuLicKLSAgICAgICAgICAgICAgICBhbmQgc2VnbWVudHNbaS0xXSBub3QgaW4gKCcnLCAnLi4nKSk6Ci0gICAgICAgICAgICAgICAgZGVsIHNlZ21lbnRzW2ktMTppKzFdCi0gICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgIGkgPSBpKzEKKworICAgIGJhc2VfcGFydHMgPSBicGF0aC5zcGxpdCgnLycpCisgICAgaWYgYmFzZV9wYXJ0c1stMV0gIT0gJyc6CisgICAgICAgICMgdGhlIGxhc3QgaXRlbSBpcyBub3QgYSBkaXJlY3RvcnksIHNvIHdpbGwgbm90IGJlIHRha2VuIGludG8gYWNjb3VudAorICAgICAgICAjIGluIHJlc29sdmluZyB0aGUgcmVsYXRpdmUgcGF0aAorICAgICAgICBkZWwgYmFzZV9wYXJ0c1stMV0KKworICAgICMgZm9yIHJmYzM5ODYsIGlnbm9yZSBhbGwgYmFzZSBwYXRoIHNob3VsZCB0aGUgZmlyc3QgY2hhcmFjdGVyIGJlIHJvb3QuCisgICAgaWYgcGF0aFs6MV0gPT0gJy8nOgorICAgICAgICBzZWdtZW50cyA9IHBhdGguc3BsaXQoJy8nKQorICAgIGVsc2U6CisgICAgICAgIHNlZ21lbnRzID0gYmFzZV9wYXJ0cyArIHBhdGguc3BsaXQoJy8nKQorICAgICAgICAjIGZpbHRlciBvdXQgZWxlbWVudHMgdGhhdCB3b3VsZCBjYXVzZSByZWR1bmRhbnQgc2xhc2hlcyBvbiByZS1qb2luaW5nCisgICAgICAgICMgdGhlIHJlc29sdmVkX3BhdGgKKyAgICAgICAgc2VnbWVudHMgPSBzZWdtZW50c1swOjFdICsgWworICAgICAgICAgICAgcyBmb3IgcyBpbiBzZWdtZW50c1sxOi0xXSBpZiBsZW4ocykgPiAwXSArIHNlZ21lbnRzWy0xOl0KKworICAgIHJlc29sdmVkX3BhdGggPSBbXQorCisgICAgZm9yIHNlZyBpbiBzZWdtZW50czoKKyAgICAgICAgaWYgc2VnID09ICcuLic6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgcmVzb2x2ZWRfcGF0aC5wb3AoKQorICAgICAgICAgICAgZXhjZXB0IEluZGV4RXJyb3I6CisgICAgICAgICAgICAgICAgIyBpZ25vcmUgYW55IC4uIHNlZ21lbnRzIHRoYXQgd291bGQgb3RoZXJ3aXNlIGNhdXNlIGFuIEluZGV4RXJyb3IKKyAgICAgICAgICAgICAgICAjIHdoZW4gcG9wcGVkIGZyb20gcmVzb2x2ZWRfcGF0aCBpZiByZXNvbHZpbmcgZm9yIHJmYzM5ODYKKyAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgIGVsaWYgc2VnID09ICcuJzoKKyAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBicmVhawotICAgIGlmIHNlZ21lbnRzID09IFsnJywgJy4uJ106Ci0gICAgICAgIHNlZ21lbnRzWy0xXSA9ICcnCi0gICAgZWxpZiBsZW4oc2VnbWVudHMpID49IDIgYW5kIHNlZ21lbnRzWy0xXSA9PSAnLi4nOgotICAgICAgICBzZWdtZW50c1stMjpdID0gWycnXQotICAgIHJldHVybiBfY29lcmNlX3Jlc3VsdCh1cmx1bnBhcnNlKChzY2hlbWUsIG5ldGxvYywgJy8nLmpvaW4oc2VnbWVudHMpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXMsIHF1ZXJ5LCBmcmFnbWVudCkpKQorICAgICAgICAgICAgcmVzb2x2ZWRfcGF0aC5hcHBlbmQoc2VnKQorCisgICAgaWYgc2VnbWVudHNbLTFdIGluICgnLicsICcuLicpOgorICAgICAgICAjIGRvIHNvbWUgcG9zdC1wcm9jZXNzaW5nIGhlcmUuIGlmIHRoZSBsYXN0IHNlZ21lbnQgd2FzIGEgcmVsYXRpdmUgZGlyLAorICAgICAgICAjIHRoZW4gd2UgbmVlZCB0byBhcHBlbmQgdGhlIHRyYWlsaW5nICcvJworICAgICAgICByZXNvbHZlZF9wYXRoLmFwcGVuZCgnJykKKworICAgIHJldHVybiBfY29lcmNlX3Jlc3VsdCh1cmx1bnBhcnNlKChzY2hlbWUsIG5ldGxvYywgJy8nLmpvaW4oCisgICAgICAgIHJlc29sdmVkX3BhdGgpIG9yICcvJywgcGFyYW1zLCBxdWVyeSwgZnJhZ21lbnQpKSkKKwogCiBkZWYgdXJsZGVmcmFnKHVybCk6CiAgICAgIiIiUmVtb3ZlcyBhbnkgZXhpc3RpbmcgZnJhZ21lbnQgZnJvbSBVUkwuCkBAIC02NDEsNyArNjU4LDcgQEAKIAogICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKICAgICAgICAgIyBXaXRob3V0IHRoaXMsIHdpbGwganVzdCBkaXNwbGF5IGFzIGEgZGVmYXVsdGRpY3QKLSAgICAgICAgcmV0dXJuICI8UXVvdGVyICVyPiIgJSBkaWN0KHNlbGYpCisgICAgICAgIHJldHVybiAiPCVzICVyPiIgJSAoc2VsZi5fX2NsYXNzX18uX19uYW1lX18sIGRpY3Qoc2VsZikpCiAKICAgICBkZWYgX19taXNzaW5nX18oc2VsZiwgYik6CiAgICAgICAgICMgSGFuZGxlIGEgY2FjaGUgbWlzcy4gU3RvcmUgcXVvdGVkIHN0cmluZyBpbiBjYWNoZSBhbmQgcmV0dXJuLgpkaWZmIC0tZ2l0IGEvTGliL3VybGxpYi9yZXF1ZXN0LnB5IGIvTGliL3VybGxpYi9yZXF1ZXN0LnB5CmluZGV4IDZkYTkwMDcuLjNiYTdjMDEgMTAwNjQ0Ci0tLSBhL0xpYi91cmxsaWIvcmVxdWVzdC5weQorKysgYi9MaWIvdXJsbGliL3JlcXVlc3QucHkKQEAgLTkxNiw2ICs5MTYsMjEgQEAKICAgICAgICAgcmV0dXJuIHJlc3BvbnNlCiAKIAorY2xhc3MgSFRUUEJhc2ljUHJpb3JBdXRoSGFuZGxlcihIVFRQQmFzaWNBdXRoSGFuZGxlcik6CisgICAgaGFuZGxlcl9vcmRlciA9IDQwMAorCisgICAgZGVmIGh0dHBfcmVxdWVzdChzZWxmLCByZXEpOgorICAgICAgICBpZiBub3QgcmVxLmhhc19oZWFkZXIoJ0F1dGhvcml6YXRpb24nKToKKyAgICAgICAgICAgIHVzZXIsIHBhc3N3ZCA9IHNlbGYucGFzc3dkLmZpbmRfdXNlcl9wYXNzd29yZChOb25lLCByZXEuaG9zdCkKKyAgICAgICAgICAgIGNyZWRlbnRpYWxzID0gJ3swfTp7MX0nLmZvcm1hdCh1c2VyLCBwYXNzd2QpLmVuY29kZSgpCisgICAgICAgICAgICBhdXRoX3N0ciA9IGJhc2U2NC5zdGFuZGFyZF9iNjRlbmNvZGUoY3JlZGVudGlhbHMpLmRlY29kZSgpCisgICAgICAgICAgICByZXEuYWRkX3VucmVkaXJlY3RlZF9oZWFkZXIoJ0F1dGhvcml6YXRpb24nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCYXNpYyB7fScuZm9ybWF0KGF1dGhfc3RyLnN0cmlwKCkpKQorICAgICAgICByZXR1cm4gcmVxCisKKyAgICBodHRwc19yZXF1ZXN0ID0gaHR0cF9yZXF1ZXN0CisKKwogIyBSZXR1cm4gbiByYW5kb20gYnl0ZXMuCiBfcmFuZG9tYnl0ZXMgPSBvcy51cmFuZG9tCiAKZGlmZiAtLWdpdCBhL0xpYi91cmxsaWIvcm9ib3RwYXJzZXIucHkgYi9MaWIvdXJsbGliL3JvYm90cGFyc2VyLnB5CmluZGV4IDFkN2I3NTEuLjRmYmIwY2IgMTAwNjQ0Ci0tLSBhL0xpYi91cmxsaWIvcm9ib3RwYXJzZXIucHkKKysrIGIvTGliL3VybGxpYi9yb2JvdHBhcnNlci5weQpAQCAtMTcyLDcgKzE3Miw3IEBACiAgICAgICAgIHJldHVybiBzZWxmLnBhdGggPT0gIioiIG9yIGZpbGVuYW1lLnN0YXJ0c3dpdGgoc2VsZi5wYXRoKQogCiAgICAgZGVmIF9fc3RyX18oc2VsZik6Ci0gICAgICAgIHJldHVybiAoc2VsZi5hbGxvd2FuY2UgYW5kICJBbGxvdyIgb3IgIkRpc2FsbG93IikgKyAiOiAiICsgc2VsZi5wYXRoCisgICAgICAgIHJldHVybiAoIkFsbG93IiBpZiBzZWxmLmFsbG93YW5jZSBlbHNlICJEaXNhbGxvdyIpICsgIjogIiArIHNlbGYucGF0aAogCiAKIGNsYXNzIEVudHJ5OgpkaWZmIC0tZ2l0IGEvTGliL3V1aWQucHkgYi9MaWIvdXVpZC5weQppbmRleCAxMDYxYmZmLi5lNjI3NTczIDEwMDY0NAotLS0gYS9MaWIvdXVpZC5weQorKysgYi9MaWIvdXVpZC5weQpAQCAtMTM5LDEwICsxMzksOCBAQAogICAgICAgICBpZiBieXRlc19sZSBpcyBub3QgTm9uZToKICAgICAgICAgICAgIGlmIGxlbihieXRlc19sZSkgIT0gMTY6CiAgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignYnl0ZXNfbGUgaXMgbm90IGEgMTYtY2hhciBzdHJpbmcnKQotICAgICAgICAgICAgYnl0ZXMgPSAoYnl0ZXNfKHJldmVyc2VkKGJ5dGVzX2xlWzA6NF0pKSArCi0gICAgICAgICAgICAgICAgICAgICBieXRlc18ocmV2ZXJzZWQoYnl0ZXNfbGVbNDo2XSkpICsKLSAgICAgICAgICAgICAgICAgICAgIGJ5dGVzXyhyZXZlcnNlZChieXRlc19sZVs2OjhdKSkgKwotICAgICAgICAgICAgICAgICAgICAgYnl0ZXNfbGVbODpdKQorICAgICAgICAgICAgYnl0ZXMgPSAoYnl0ZXNfbGVbNC0xOjotMV0gKyBieXRlc19sZVs2LTE6NC0xOi0xXSArCisgICAgICAgICAgICAgICAgICAgICBieXRlc19sZVs4LTE6Ni0xOi0xXSArIGJ5dGVzX2xlWzg6XSkKICAgICAgICAgaWYgYnl0ZXMgaXMgbm90IE5vbmU6CiAgICAgICAgICAgICBpZiBsZW4oYnl0ZXMpICE9IDE2OgogICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ2J5dGVzIGlzIG5vdCBhIDE2LWNoYXIgc3RyaW5nJykKQEAgLTE4NywxMSArMTg1LDYgQEAKICAgICAgICAgICAgIHJldHVybiBzZWxmLmludCA9PSBvdGhlci5pbnQKICAgICAgICAgcmV0dXJuIE5vdEltcGxlbWVudGVkCiAKLSAgICBkZWYgX19uZV9fKHNlbGYsIG90aGVyKToKLSAgICAgICAgaWYgaXNpbnN0YW5jZShvdGhlciwgVVVJRCk6Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi5pbnQgIT0gb3RoZXIuaW50Ci0gICAgICAgIHJldHVybiBOb3RJbXBsZW1lbnRlZAotCiAgICAgIyBRLiBXaGF0J3MgdGhlIHZhbHVlIG9mIGJlaW5nIGFibGUgdG8gc29ydCBVVUlEcz8KICAgICAjIEEuIFVzZSB0aGVtIGFzIGtleXMgaW4gYSBCLVRyZWUgb3Igc2ltaWxhciBtYXBwaW5nLgogCkBAIC0yMjIsNyArMjE1LDcgQEAKICAgICAgICAgcmV0dXJuIHNlbGYuaW50CiAKICAgICBkZWYgX19yZXByX18oc2VsZik6Ci0gICAgICAgIHJldHVybiAnVVVJRCglciknICUgc3RyKHNlbGYpCisgICAgICAgIHJldHVybiAnJXMoJXIpJyAlIChzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywgc3RyKHNlbGYpKQogCiAgICAgZGVmIF9fc2V0YXR0cl9fKHNlbGYsIG5hbWUsIHZhbHVlKToKICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCdVVUlEIG9iamVjdHMgYXJlIGltbXV0YWJsZScpCkBAIC0yMzQsMTcgKzIyNywxMiBAQAogCiAgICAgQHByb3BlcnR5CiAgICAgZGVmIGJ5dGVzKHNlbGYpOgotICAgICAgICBieXRlcyA9IGJ5dGVhcnJheSgpCi0gICAgICAgIGZvciBzaGlmdCBpbiByYW5nZSgwLCAxMjgsIDgpOgotICAgICAgICAgICAgYnl0ZXMuaW5zZXJ0KDAsIChzZWxmLmludCA+PiBzaGlmdCkgJiAweGZmKQotICAgICAgICByZXR1cm4gYnl0ZXNfKGJ5dGVzKQorICAgICAgICByZXR1cm4gc2VsZi5pbnQudG9fYnl0ZXMoMTYsICdiaWcnKQogCiAgICAgQHByb3BlcnR5CiAgICAgZGVmIGJ5dGVzX2xlKHNlbGYpOgogICAgICAgICBieXRlcyA9IHNlbGYuYnl0ZXMKLSAgICAgICAgcmV0dXJuIChieXRlc18ocmV2ZXJzZWQoYnl0ZXNbMDo0XSkpICsKLSAgICAgICAgICAgICAgICBieXRlc18ocmV2ZXJzZWQoYnl0ZXNbNDo2XSkpICsKLSAgICAgICAgICAgICAgICBieXRlc18ocmV2ZXJzZWQoYnl0ZXNbNjo4XSkpICsKKyAgICAgICAgcmV0dXJuIChieXRlc1s0LTE6Oi0xXSArIGJ5dGVzWzYtMTo0LTE6LTFdICsgYnl0ZXNbOC0xOjYtMTotMV0gKwogICAgICAgICAgICAgICAgIGJ5dGVzWzg6XSkKIAogICAgIEBwcm9wZXJ0eQpAQCAtMzExLDMzICsyOTksMzggQEAKICAgICAgICAgaWYgc2VsZi52YXJpYW50ID09IFJGQ180MTIyOgogICAgICAgICAgICAgcmV0dXJuIGludCgoc2VsZi5pbnQgPj4gNzYpICYgMHhmKQogCi1kZWYgX3BvcGVuKGNvbW1hbmQsIGFyZ3MpOgotICAgIGltcG9ydCBvcywgc2h1dGlsCitkZWYgX3BvcGVuKGNvbW1hbmQsICphcmdzKToKKyAgICBpbXBvcnQgb3MsIHNodXRpbCwgc3VicHJvY2VzcwogICAgIGV4ZWN1dGFibGUgPSBzaHV0aWwud2hpY2goY29tbWFuZCkKICAgICBpZiBleGVjdXRhYmxlIGlzIE5vbmU6CiAgICAgICAgIHBhdGggPSBvcy5wYXRoc2VwLmpvaW4oKCcvc2JpbicsICcvdXNyL3NiaW4nKSkKICAgICAgICAgZXhlY3V0YWJsZSA9IHNodXRpbC53aGljaChjb21tYW5kLCBwYXRoPXBhdGgpCiAgICAgICAgIGlmIGV4ZWN1dGFibGUgaXMgTm9uZToKICAgICAgICAgICAgIHJldHVybiBOb25lCi0gICAgIyBMQ19BTEwgdG8gZW5zdXJlIEVuZ2xpc2ggb3V0cHV0LCAyPi9kZXYvbnVsbCB0byBwcmV2ZW50IG91dHB1dCBvbgotICAgICMgc3RkZXJyIChOb3RlOiB3ZSBkb24ndCBoYXZlIGFuIGV4YW1wbGUgd2hlcmUgdGhlIHdvcmRzIHdlIHNlYXJjaCBmb3IKLSAgICAjIGFyZSBhY3R1YWxseSBsb2NhbGl6ZWQsIGJ1dCBpbiB0aGVvcnkgc29tZSBzeXN0ZW0gY291bGQgZG8gc28uKQotICAgIGNtZCA9ICdMQ19BTEw9QyAlcyAlcyAyPi9kZXYvbnVsbCcgJSAoZXhlY3V0YWJsZSwgYXJncykKLSAgICByZXR1cm4gb3MucG9wZW4oY21kKQorICAgICMgTENfQUxMPUMgdG8gZW5zdXJlIEVuZ2xpc2ggb3V0cHV0LCBzdGRlcnI9REVWTlVMTCB0byBwcmV2ZW50IG91dHB1dAorICAgICMgb24gc3RkZXJyIChOb3RlOiB3ZSBkb24ndCBoYXZlIGFuIGV4YW1wbGUgd2hlcmUgdGhlIHdvcmRzIHdlIHNlYXJjaAorICAgICMgZm9yIGFyZSBhY3R1YWxseSBsb2NhbGl6ZWQsIGJ1dCBpbiB0aGVvcnkgc29tZSBzeXN0ZW0gY291bGQgZG8gc28uKQorICAgIGVudiA9IGRpY3Qob3MuZW52aXJvbikKKyAgICBlbnZbJ0xDX0FMTCddID0gJ0MnCisgICAgcHJvYyA9IHN1YnByb2Nlc3MuUG9wZW4oKGV4ZWN1dGFibGUsKSArIGFyZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRlcnI9c3VicHJvY2Vzcy5ERVZOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudj1lbnYpCisgICAgcmV0dXJuIHByb2MKIAogZGVmIF9maW5kX21hYyhjb21tYW5kLCBhcmdzLCBod19pZGVudGlmaWVycywgZ2V0X2luZGV4KToKICAgICB0cnk6Ci0gICAgICAgIHBpcGUgPSBfcG9wZW4oY29tbWFuZCwgYXJncykKLSAgICAgICAgaWYgbm90IHBpcGU6CisgICAgICAgIHByb2MgPSBfcG9wZW4oY29tbWFuZCwgKmFyZ3Muc3BsaXQoKSkKKyAgICAgICAgaWYgbm90IHByb2M6CiAgICAgICAgICAgICByZXR1cm4KLSAgICAgICAgd2l0aCBwaXBlOgotICAgICAgICAgICAgZm9yIGxpbmUgaW4gcGlwZToKKyAgICAgICAgd2l0aCBwcm9jOgorICAgICAgICAgICAgZm9yIGxpbmUgaW4gcHJvYy5zdGRvdXQ6CiAgICAgICAgICAgICAgICAgd29yZHMgPSBsaW5lLmxvd2VyKCkucnN0cmlwKCkuc3BsaXQoKQogICAgICAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKGxlbih3b3JkcykpOgogICAgICAgICAgICAgICAgICAgICBpZiB3b3Jkc1tpXSBpbiBod19pZGVudGlmaWVyczoKICAgICAgICAgICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3b3JkID0gd29yZHNbZ2V0X2luZGV4KGkpXQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hYyA9IGludCh3b3JkLnJlcGxhY2UoJzonLCAnJyksIDE2KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hYyA9IGludCh3b3JkLnJlcGxhY2UoYic6JywgYicnKSwgMTYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgbWFjOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbWFjCiAgICAgICAgICAgICAgICAgICAgICAgICBleGNlcHQgKFZhbHVlRXJyb3IsIEluZGV4RXJyb3IpOgpAQCAtMzU0LDEwICszNDcsMTcgQEAKICAgICAiIiJHZXQgdGhlIGhhcmR3YXJlIGFkZHJlc3Mgb24gVW5peCBieSBydW5uaW5nIGlmY29uZmlnLiIiIgogICAgICMgVGhpcyB3b3JrcyBvbiBMaW51eCAoJycgb3IgJy1hJyksIFRydTY0ICgnLWF2JyksIGJ1dCBub3QgYWxsIFVuaXhlcy4KICAgICBmb3IgYXJncyBpbiAoJycsICctYScsICctYXYnKToKLSAgICAgICAgbWFjID0gX2ZpbmRfbWFjKCdpZmNvbmZpZycsIGFyZ3MsIFsnaHdhZGRyJywgJ2V0aGVyJ10sIGxhbWJkYSBpOiBpKzEpCisgICAgICAgIG1hYyA9IF9maW5kX21hYygnaWZjb25maWcnLCBhcmdzLCBbYidod2FkZHInLCBiJ2V0aGVyJ10sIGxhbWJkYSBpOiBpKzEpCiAgICAgICAgIGlmIG1hYzoKICAgICAgICAgICAgIHJldHVybiBtYWMKIAorZGVmIF9pcF9nZXRub2RlKCk6CisgICAgIiIiR2V0IHRoZSBoYXJkd2FyZSBhZGRyZXNzIG9uIFVuaXggYnkgcnVubmluZyBpcC4iIiIKKyAgICAjIFRoaXMgd29ya3Mgb24gTGludXggd2l0aCBpcHJvdXRlMi4KKyAgICBtYWMgPSBfZmluZF9tYWMoJ2lwJywgJ2xpbmsgbGlzdCcsIFtiJ2xpbmsvZXRoZXInXSwgbGFtYmRhIGk6IGkrMSkKKyAgICBpZiBtYWM6CisgICAgICAgIHJldHVybiBtYWMKKwogZGVmIF9hcnBfZ2V0bm9kZSgpOgogICAgICIiIkdldCB0aGUgaGFyZHdhcmUgYWRkcmVzcyBvbiBVbml4IGJ5IHJ1bm5pbmcgYXJwLiIiIgogICAgIGltcG9ydCBvcywgc29ja2V0CkBAIC0zNjcsMzIgKzM2NywzMiBAQAogICAgICAgICByZXR1cm4gTm9uZQogCiAgICAgIyBUcnkgZ2V0dGluZyB0aGUgTUFDIGFkZHIgZnJvbSBhcnAgYmFzZWQgb24gb3VyIElQIGFkZHJlc3MgKFNvbGFyaXMpLgotICAgIHJldHVybiBfZmluZF9tYWMoJ2FycCcsICctYW4nLCBbaXBfYWRkcl0sIGxhbWJkYSBpOiAtMSkKKyAgICByZXR1cm4gX2ZpbmRfbWFjKCdhcnAnLCAnLWFuJywgW29zLmZzZW5jb2RlKGlwX2FkZHIpXSwgbGFtYmRhIGk6IC0xKQogCiBkZWYgX2xhbnNjYW5fZ2V0bm9kZSgpOgogICAgICIiIkdldCB0aGUgaGFyZHdhcmUgYWRkcmVzcyBvbiBVbml4IGJ5IHJ1bm5pbmcgbGFuc2Nhbi4iIiIKICAgICAjIFRoaXMgbWlnaHQgd29yayBvbiBIUC1VWC4KLSAgICByZXR1cm4gX2ZpbmRfbWFjKCdsYW5zY2FuJywgJy1haScsIFsnbGFuMCddLCBsYW1iZGEgaTogMCkKKyAgICByZXR1cm4gX2ZpbmRfbWFjKCdsYW5zY2FuJywgJy1haScsIFtiJ2xhbjAnXSwgbGFtYmRhIGk6IDApCiAKIGRlZiBfbmV0c3RhdF9nZXRub2RlKCk6CiAgICAgIiIiR2V0IHRoZSBoYXJkd2FyZSBhZGRyZXNzIG9uIFVuaXggYnkgcnVubmluZyBuZXRzdGF0LiIiIgogICAgICMgVGhpcyBtaWdodCB3b3JrIG9uIEFJWCwgVHJ1NjQgVU5JWCBhbmQgcHJlc3VtYWJseSBvbiBJUklYLgogICAgIHRyeToKLSAgICAgICAgcGlwZSA9IF9wb3BlbignbmV0c3RhdCcsICctaWEnKQotICAgICAgICBpZiBub3QgcGlwZToKKyAgICAgICAgcHJvYyA9IF9wb3BlbignbmV0c3RhdCcsICctaWEnKQorICAgICAgICBpZiBub3QgcHJvYzoKICAgICAgICAgICAgIHJldHVybgotICAgICAgICB3aXRoIHBpcGU6Ci0gICAgICAgICAgICB3b3JkcyA9IHBpcGUucmVhZGxpbmUoKS5yc3RyaXAoKS5zcGxpdCgpCisgICAgICAgIHdpdGggcHJvYzoKKyAgICAgICAgICAgIHdvcmRzID0gcHJvYy5zdGRvdXQucmVhZGxpbmUoKS5yc3RyaXAoKS5zcGxpdCgpCiAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgaSA9IHdvcmRzLmluZGV4KCdBZGRyZXNzJykKKyAgICAgICAgICAgICAgICBpID0gd29yZHMuaW5kZXgoYidBZGRyZXNzJykKICAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgogICAgICAgICAgICAgICAgIHJldHVybgotICAgICAgICAgICAgZm9yIGxpbmUgaW4gcGlwZToKKyAgICAgICAgICAgIGZvciBsaW5lIGluIHByb2Muc3Rkb3V0OgogICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICAgd29yZHMgPSBsaW5lLnJzdHJpcCgpLnNwbGl0KCkKICAgICAgICAgICAgICAgICAgICAgd29yZCA9IHdvcmRzW2ldCi0gICAgICAgICAgICAgICAgICAgIGlmIGxlbih3b3JkKSA9PSAxNyBhbmQgd29yZC5jb3VudCgnOicpID09IDU6Ci0gICAgICAgICAgICAgICAgICAgICAgICBtYWMgPSBpbnQod29yZC5yZXBsYWNlKCc6JywgJycpLCAxNikKKyAgICAgICAgICAgICAgICAgICAgaWYgbGVuKHdvcmQpID09IDE3IGFuZCB3b3JkLmNvdW50KGInOicpID09IDU6CisgICAgICAgICAgICAgICAgICAgICAgICBtYWMgPSBpbnQod29yZC5yZXBsYWNlKGInOicsIGInJyksIDE2KQogICAgICAgICAgICAgICAgICAgICAgICAgaWYgbWFjOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBtYWMKICAgICAgICAgICAgICAgICBleGNlcHQgKFZhbHVlRXJyb3IsIEluZGV4RXJyb3IpOgpAQCAtNDQ3LDkgKzQ0NywxMCBAQAogICAgICAgICBpZiB3aW4zMnduZXQuTmV0YmlvcyhuY2IpICE9IDA6CiAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICBzdGF0dXMuX3VucGFjaygpCi0gICAgICAgIGJ5dGVzID0gc3RhdHVzLmFkYXB0ZXJfYWRkcmVzcwotICAgICAgICByZXR1cm4gKChieXRlc1swXTw8NDApICsgKGJ5dGVzWzFdPDwzMikgKyAoYnl0ZXNbMl08PDI0KSArCi0gICAgICAgICAgICAgICAgKGJ5dGVzWzNdPDwxNikgKyAoYnl0ZXNbNF08PDgpICsgYnl0ZXNbNV0pCisgICAgICAgIGJ5dGVzID0gc3RhdHVzLmFkYXB0ZXJfYWRkcmVzc1s6Nl0KKyAgICAgICAgaWYgbGVuKGJ5dGVzKSAhPSA2OgorICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgcmV0dXJuIGludC5mcm9tX2J5dGVzKGJ5dGVzLCAnYmlnJykKIAogIyBUaGFua3MgdG8gVGhvbWFzIEhlbGxlciBmb3IgY3R5cGVzIGFuZCBmb3IgaGlzIGhlbHAgd2l0aCBpdHMgdXNlIGhlcmUuCiAKQEAgLTUxOCw3ICs1MTksNyBAQAogZGVmIF9yYW5kb21fZ2V0bm9kZSgpOgogICAgICIiIkdldCBhIHJhbmRvbSBub2RlIElELCB3aXRoIGVpZ2h0aCBiaXQgc2V0IGFzIHN1Z2dlc3RlZCBieSBSRkMgNDEyMi4iIiIKICAgICBpbXBvcnQgcmFuZG9tCi0gICAgcmV0dXJuIHJhbmRvbS5yYW5kcmFuZ2UoMCwgMTw8NDgpIHwgMHgwMTAwMDAwMDAwMDAKKyAgICByZXR1cm4gcmFuZG9tLmdldHJhbmRiaXRzKDQ4KSB8IDB4MDEwMDAwMDAwMDAwCiAKIF9ub2RlID0gTm9uZQogCkBAIC01MzksOCArNTQwLDggQEAKICAgICBpZiBzeXMucGxhdGZvcm0gPT0gJ3dpbjMyJzoKICAgICAgICAgZ2V0dGVycyA9IFtfd2luZGxsX2dldG5vZGUsIF9uZXRiaW9zX2dldG5vZGUsIF9pcGNvbmZpZ19nZXRub2RlXQogICAgIGVsc2U6Ci0gICAgICAgIGdldHRlcnMgPSBbX3VuaXhkbGxfZ2V0bm9kZSwgX2lmY29uZmlnX2dldG5vZGUsIF9hcnBfZ2V0bm9kZSwKLSAgICAgICAgICAgICAgICAgICBfbGFuc2Nhbl9nZXRub2RlLCBfbmV0c3RhdF9nZXRub2RlXQorICAgICAgICBnZXR0ZXJzID0gW191bml4ZGxsX2dldG5vZGUsIF9pZmNvbmZpZ19nZXRub2RlLCBfaXBfZ2V0bm9kZSwKKyAgICAgICAgICAgICAgICAgICBfYXJwX2dldG5vZGUsIF9sYW5zY2FuX2dldG5vZGUsIF9uZXRzdGF0X2dldG5vZGVdCiAKICAgICBmb3IgZ2V0dGVyIGluIGdldHRlcnMgKyBbX3JhbmRvbV9nZXRub2RlXToKICAgICAgICAgdHJ5OgpAQCAtNTc2LDcgKzU3Nyw3IEBACiAgICAgX2xhc3RfdGltZXN0YW1wID0gdGltZXN0YW1wCiAgICAgaWYgY2xvY2tfc2VxIGlzIE5vbmU6CiAgICAgICAgIGltcG9ydCByYW5kb20KLSAgICAgICAgY2xvY2tfc2VxID0gcmFuZG9tLnJhbmRyYW5nZSgxPDwxNCkgIyBpbnN0ZWFkIG9mIHN0YWJsZSBzdG9yYWdlCisgICAgICAgIGNsb2NrX3NlcSA9IHJhbmRvbS5nZXRyYW5kYml0cygxNCkgIyBpbnN0ZWFkIG9mIHN0YWJsZSBzdG9yYWdlCiAgICAgdGltZV9sb3cgPSB0aW1lc3RhbXAgJiAweGZmZmZmZmZmCiAgICAgdGltZV9taWQgPSAodGltZXN0YW1wID4+IDMyKSAmIDB4ZmZmZgogICAgIHRpbWVfaGlfdmVyc2lvbiA9ICh0aW1lc3RhbXAgPj4gNDgpICYgMHgwZmZmCkBAIC02MDgsOCArNjA5LDcgQEAKICAgICAgICAgcmV0dXJuIFVVSUQoYnl0ZXM9b3MudXJhbmRvbSgxNiksIHZlcnNpb249NCkKICAgICBleGNlcHQ6CiAgICAgICAgIGltcG9ydCByYW5kb20KLSAgICAgICAgYnl0ZXMgPSBieXRlc18ocmFuZG9tLnJhbmRyYW5nZSgyNTYpIGZvciBpIGluIHJhbmdlKDE2KSkKLSAgICAgICAgcmV0dXJuIFVVSUQoYnl0ZXM9Ynl0ZXMsIHZlcnNpb249NCkKKyAgICAgICAgcmV0dXJuIFVVSUQoaW50PXJhbmRvbS5nZXRyYW5kYml0cygxMjgpLCB2ZXJzaW9uPTQpCiAKIGRlZiB1dWlkNShuYW1lc3BhY2UsIG5hbWUpOgogICAgICIiIkdlbmVyYXRlIGEgVVVJRCBmcm9tIHRoZSBTSEEtMSBoYXNoIG9mIGEgbmFtZXNwYWNlIFVVSUQgYW5kIGEgbmFtZS4iIiIKZGlmZiAtLWdpdCBhL0xpYi93YXJuaW5ncy5weSBiL0xpYi93YXJuaW5ncy5weQppbmRleCA3MGQwODdlLi41Y2E0YjljIDEwMDY0NAotLS0gYS9MaWIvd2FybmluZ3MucHkKKysrIGIvTGliL3dhcm5pbmdzLnB5CkBAIC0xNjksNyArMTY5LDkgQEAKICAgICAjIENoZWNrIGNhdGVnb3J5IGFyZ3VtZW50CiAgICAgaWYgY2F0ZWdvcnkgaXMgTm9uZToKICAgICAgICAgY2F0ZWdvcnkgPSBVc2VyV2FybmluZwotICAgIGFzc2VydCBpc3N1YmNsYXNzKGNhdGVnb3J5LCBXYXJuaW5nKQorICAgIGlmIG5vdCAoaXNpbnN0YW5jZShjYXRlZ29yeSwgdHlwZSkgYW5kIGlzc3ViY2xhc3MoY2F0ZWdvcnksIFdhcm5pbmcpKToKKyAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJjYXRlZ29yeSBtdXN0IGJlIGEgV2FybmluZyBzdWJjbGFzcywgIgorICAgICAgICAgICAgICAgICAgICAgICAgIm5vdCAnezpzfSciLmZvcm1hdCh0eXBlKGNhdGVnb3J5KS5fX25hbWVfXykpCiAgICAgIyBHZXQgY29udGV4dCBpbmZvcm1hdGlvbgogICAgIHRyeToKICAgICAgICAgY2FsbGVyID0gc3lzLl9nZXRmcmFtZShzdGFja2xldmVsKQpkaWZmIC0tZ2l0IGEvTGliL3dlYWtyZWYucHkgYi9MaWIvd2Vha3JlZi5weQppbmRleCAxMmJmOTc1Li5hNGVjYWRjIDEwMDY0NAotLS0gYS9MaWIvd2Vha3JlZi5weQorKysgYi9MaWIvd2Vha3JlZi5weQpAQCAtMTQ0LDcgKzE0NCw3IEBACiAgICAgICAgIHJldHVybiBvIGlzIG5vdCBOb25lCiAKICAgICBkZWYgX19yZXByX18oc2VsZik6Ci0gICAgICAgIHJldHVybiAiPFdlYWtWYWx1ZURpY3Rpb25hcnkgYXQgJXM+IiAlIGlkKHNlbGYpCisgICAgICAgIHJldHVybiAiPCVzIGF0ICUjeD4iICUgKHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLCBpZChzZWxmKSkKIAogICAgIGRlZiBfX3NldGl0ZW1fXyhzZWxmLCBrZXksIHZhbHVlKToKICAgICAgICAgaWYgc2VsZi5fcGVuZGluZ19yZW1vdmFsczoKQEAgLTM1OSw3ICszNTksNyBAQAogICAgICAgICByZXR1cm4gbGVuKHNlbGYuZGF0YSkgLSBsZW4oc2VsZi5fcGVuZGluZ19yZW1vdmFscykKIAogICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKLSAgICAgICAgcmV0dXJuICI8V2Vha0tleURpY3Rpb25hcnkgYXQgJXM+IiAlIGlkKHNlbGYpCisgICAgICAgIHJldHVybiAiPCVzIGF0ICUjeD4iICUgKHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLCBpZChzZWxmKSkKIAogICAgIGRlZiBfX3NldGl0ZW1fXyhzZWxmLCBrZXksIHZhbHVlKToKICAgICAgICAgc2VsZi5kYXRhW3JlZihrZXksIHNlbGYuX3JlbW92ZSldID0gdmFsdWUKZGlmZiAtLWdpdCBhL0xpYi93c2dpcmVmL2hlYWRlcnMucHkgYi9MaWIvd3NnaXJlZi9oZWFkZXJzLnB5CmluZGV4IGQ5Mzk2MjguLjdlNjcwYjMgMTAwNjQ0Ci0tLSBhL0xpYi93c2dpcmVmL2hlYWRlcnMucHkKKysrIGIvTGliL3dzZ2lyZWYvaGVhZGVycy5weQpAQCAtMjYsMTAgKzI2LDEwIEBACiAKIAogY2xhc3MgSGVhZGVyczoKLQogICAgICIiIk1hbmFnZSBhIGNvbGxlY3Rpb24gb2YgSFRUUCByZXNwb25zZSBoZWFkZXJzIiIiCiAKLSAgICBkZWYgX19pbml0X18oc2VsZixoZWFkZXJzKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgaGVhZGVycz1Ob25lKToKKyAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMgaWYgaGVhZGVycyBpcyBub3QgTm9uZSBlbHNlIFtdCiAgICAgICAgIGlmIHR5cGUoaGVhZGVycykgaXMgbm90IGxpc3Q6CiAgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoIkhlYWRlcnMgbXVzdCBiZSBhIGxpc3Qgb2YgbmFtZS92YWx1ZSB0dXBsZXMiKQogICAgICAgICBzZWxmLl9oZWFkZXJzID0gaGVhZGVycwpAQCAtMTMxLDcgKzEzMSw3IEBACiAgICAgICAgIHJldHVybiBzZWxmLl9oZWFkZXJzWzpdCiAKICAgICBkZWYgX19yZXByX18oc2VsZik6Ci0gICAgICAgIHJldHVybiAiSGVhZGVycyglcikiICUgc2VsZi5faGVhZGVycworICAgICAgICByZXR1cm4gIiVzKCVyKSIgJSAoc2VsZi5fX2NsYXNzX18uX19uYW1lX18sIHNlbGYuX2hlYWRlcnMpCiAKICAgICBkZWYgX19zdHJfXyhzZWxmKToKICAgICAgICAgIiIic3RyKCkgcmV0dXJucyB0aGUgZm9ybWF0dGVkIGhlYWRlcnMsIGNvbXBsZXRlIHdpdGggZW5kIGxpbmUsCmRpZmYgLS1naXQgYS9MaWIveG1sL2RvbS9taW5pZG9tLnB5IGIvTGliL3htbC9kb20vbWluaWRvbS5weQppbmRleCBjMzc5YTMzLi5hNWQ4MTNmIDEwMDY0NAotLS0gYS9MaWIveG1sL2RvbS9taW5pZG9tLnB5CisrKyBiL0xpYi94bWwvZG9tL21pbmlkb20ucHkKQEAgLTU0NSw5ICs1NDUsNiBAQAogICAgIGRlZiBfX2x0X18oc2VsZiwgb3RoZXIpOgogICAgICAgICByZXR1cm4gc2VsZi5fY21wKG90aGVyKSA8IDAKIAotICAgIGRlZiBfX25lX18oc2VsZiwgb3RoZXIpOgotICAgICAgICByZXR1cm4gc2VsZi5fY21wKG90aGVyKSAhPSAwCi0KICAgICBkZWYgX19nZXRpdGVtX18oc2VsZiwgYXR0bmFtZV9vcl90dXBsZSk6CiAgICAgICAgIGlmIGlzaW5zdGFuY2UoYXR0bmFtZV9vcl90dXBsZSwgdHVwbGUpOgogICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2F0dHJzTlNbYXR0bmFtZV9vcl90dXBsZV0KQEAgLTY0OCw5ICs2NDUsMTAgQEAKIAogICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKICAgICAgICAgaWYgc2VsZi5uYW1lc3BhY2U6Ci0gICAgICAgICAgICByZXR1cm4gIjxUeXBlSW5mbyAlciAoZnJvbSAlcik+IiAlIChzZWxmLm5hbWUsIHNlbGYubmFtZXNwYWNlKQorICAgICAgICAgICAgcmV0dXJuICI8JXMgJXIgKGZyb20gJXIpPiIgJSAoc2VsZi5fX2NsYXNzX18uX19uYW1lX18sIHNlbGYubmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubmFtZXNwYWNlKQogICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmV0dXJuICI8VHlwZUluZm8gJXI+IiAlIHNlbGYubmFtZQorICAgICAgICAgICAgcmV0dXJuICI8JXMgJXI+IiAlIChzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywgc2VsZi5uYW1lKQogCiAgICAgZGVmIF9nZXRfbmFtZShzZWxmKToKICAgICAgICAgcmV0dXJuIHNlbGYubmFtZQpkaWZmIC0tZ2l0IGEvTGliL3htbC9ldHJlZS9FbGVtZW50UGF0aC5weSBiL0xpYi94bWwvZXRyZWUvRWxlbWVudFBhdGgucHkKaW5kZXggZDkxNGRkYi4uNWRlNDIzMiAxMDA2NDQKLS0tIGEvTGliL3htbC9ldHJlZS9FbGVtZW50UGF0aC5weQorKysgYi9MaWIveG1sL2V0cmVlL0VsZW1lbnRQYXRoLnB5CkBAIC0xMTQsNyArMTE0LDEwIEBACiAgICAgcmV0dXJuIHNlbGVjdAogCiBkZWYgcHJlcGFyZV9kZXNjZW5kYW50KG5leHQsIHRva2VuKToKLSAgICB0b2tlbiA9IG5leHQoKQorICAgIHRyeToKKyAgICAgICAgdG9rZW4gPSBuZXh0KCkKKyAgICBleGNlcHQgU3RvcEl0ZXJhdGlvbjoKKyAgICAgICAgcmV0dXJuCiAgICAgaWYgdG9rZW5bMF0gPT0gIioiOgogICAgICAgICB0YWcgPSAiKiIKICAgICBlbGlmIG5vdCB0b2tlblswXToKQEAgLTE0OCw3ICsxNTEsMTAgQEAKICAgICBzaWduYXR1cmUgPSBbXQogICAgIHByZWRpY2F0ZSA9IFtdCiAgICAgd2hpbGUgMToKLSAgICAgICAgdG9rZW4gPSBuZXh0KCkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgdG9rZW4gPSBuZXh0KCkKKyAgICAgICAgZXhjZXB0IFN0b3BJdGVyYXRpb246CisgICAgICAgICAgICByZXR1cm4KICAgICAgICAgaWYgdG9rZW5bMF0gPT0gIl0iOgogICAgICAgICAgICAgYnJlYWsKICAgICAgICAgaWYgdG9rZW5bMF0gYW5kIHRva2VuWzBdWzoxXSBpbiAiJ1wiIjoKQEAgLTI2MSw3ICsyNjcsMTAgQEAKICAgICAgICAgaWYgcGF0aFs6MV0gPT0gIi8iOgogICAgICAgICAgICAgcmFpc2UgU3ludGF4RXJyb3IoImNhbm5vdCB1c2UgYWJzb2x1dGUgcGF0aCBvbiBlbGVtZW50IikKICAgICAgICAgbmV4dCA9IGl0ZXIoeHBhdGhfdG9rZW5pemVyKHBhdGgsIG5hbWVzcGFjZXMpKS5fX25leHRfXwotICAgICAgICB0b2tlbiA9IG5leHQoKQorICAgICAgICB0cnk6CisgICAgICAgICAgICB0b2tlbiA9IG5leHQoKQorICAgICAgICBleGNlcHQgU3RvcEl0ZXJhdGlvbjoKKyAgICAgICAgICAgIHJldHVybgogICAgICAgICBzZWxlY3RvciA9IFtdCiAgICAgICAgIHdoaWxlIDE6CiAgICAgICAgICAgICB0cnk6CkBAIC0yODYsMTAgKzI5NSw3IEBACiAjIEZpbmQgZmlyc3QgbWF0Y2hpbmcgb2JqZWN0LgogCiBkZWYgZmluZChlbGVtLCBwYXRoLCBuYW1lc3BhY2VzPU5vbmUpOgotICAgIHRyeToKLSAgICAgICAgcmV0dXJuIG5leHQoaXRlcmZpbmQoZWxlbSwgcGF0aCwgbmFtZXNwYWNlcykpCi0gICAgZXhjZXB0IFN0b3BJdGVyYXRpb246Ci0gICAgICAgIHJldHVybiBOb25lCisgICAgcmV0dXJuIG5leHQoaXRlcmZpbmQoZWxlbSwgcGF0aCwgbmFtZXNwYWNlcyksIE5vbmUpCiAKICMjCiAjIEZpbmQgYWxsIG1hdGNoaW5nIG9iamVjdHMuCmRpZmYgLS1naXQgYS9MaWIveG1sL2V0cmVlL0VsZW1lbnRUcmVlLnB5IGIvTGliL3htbC9ldHJlZS9FbGVtZW50VHJlZS5weQppbmRleCBhODU4NWI2Li40YzEwOWEyIDEwMDY0NAotLS0gYS9MaWIveG1sL2V0cmVlL0VsZW1lbnRUcmVlLnB5CisrKyBiL0xpYi94bWwvZXRyZWUvRWxlbWVudFRyZWUucHkKQEAgLTE3NCw3ICsxNzQsNyBAQAogICAgICAgICBzZWxmLl9jaGlsZHJlbiA9IFtdCiAKICAgICBkZWYgX19yZXByX18oc2VsZik6Ci0gICAgICAgIHJldHVybiAiPEVsZW1lbnQgJXMgYXQgMHgleD4iICUgKHJlcHIoc2VsZi50YWcpLCBpZChzZWxmKSkKKyAgICAgICAgcmV0dXJuICI8JXMgJXIgYXQgJSN4PiIgJSAoc2VsZi5fX2NsYXNzX18uX19uYW1lX18sIHNlbGYudGFnLCBpZChzZWxmKSkKIAogICAgIGRlZiBtYWtlZWxlbWVudChzZWxmLCB0YWcsIGF0dHJpYik6CiAgICAgICAgICIiIkNyZWF0ZSBhIG5ldyBlbGVtZW50IHdpdGggdGhlIHNhbWUgdHlwZS4KQEAgLTUwOSw3ICs1MDksNyBAQAogICAgIGRlZiBfX3N0cl9fKHNlbGYpOgogICAgICAgICByZXR1cm4gc2VsZi50ZXh0CiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gJzxRTmFtZSAlcj4nICUgKHNlbGYudGV4dCwpCisgICAgICAgIHJldHVybiAnPCVzICVyPicgJSAoc2VsZi5fX2NsYXNzX18uX19uYW1lX18sIHNlbGYudGV4dCkKICAgICBkZWYgX19oYXNoX18oc2VsZik6CiAgICAgICAgIHJldHVybiBoYXNoKHNlbGYudGV4dCkKICAgICBkZWYgX19sZV9fKHNlbGYsIG90aGVyKToKQEAgLTUzMiwxMCArNTMyLDYgQEAKICAgICAgICAgaWYgaXNpbnN0YW5jZShvdGhlciwgUU5hbWUpOgogICAgICAgICAgICAgcmV0dXJuIHNlbGYudGV4dCA9PSBvdGhlci50ZXh0CiAgICAgICAgIHJldHVybiBzZWxmLnRleHQgPT0gb3RoZXIKLSAgICBkZWYgX19uZV9fKHNlbGYsIG90aGVyKToKLSAgICAgICAgaWYgaXNpbnN0YW5jZShvdGhlciwgUU5hbWUpOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYudGV4dCAhPSBvdGhlci50ZXh0Ci0gICAgICAgIHJldHVybiBzZWxmLnRleHQgIT0gb3RoZXIKIAogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCmRpZmYgLS1naXQgYS9MaWIveG1scnBjL2NsaWVudC5weSBiL0xpYi94bWxycGMvY2xpZW50LnB5CmluZGV4IGU4YzE5NDQuLjA0NzkyOWEgMTAwNjQ0Ci0tLSBhL0xpYi94bWxycGMvY2xpZW50LnB5CisrKyBiL0xpYi94bWxycGMvY2xpZW50LnB5CkBAIC0yMDgsOCArMjA4LDggQEAKICAgICAgICAgc2VsZi5oZWFkZXJzID0gaGVhZGVycwogICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKICAgICAgICAgcmV0dXJuICgKLSAgICAgICAgICAgICI8UHJvdG9jb2xFcnJvciBmb3IgJXM6ICVzICVzPiIgJQotICAgICAgICAgICAgKHNlbGYudXJsLCBzZWxmLmVycmNvZGUsIHNlbGYuZXJybXNnKQorICAgICAgICAgICAgIjwlcyBmb3IgJXM6ICVzICVzPiIgJQorICAgICAgICAgICAgKHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLCBzZWxmLnVybCwgc2VsZi5lcnJjb2RlLCBzZWxmLmVycm1zZykKICAgICAgICAgICAgICkKIAogIyMKQEAgLTIzNyw3ICsyMzcsOCBAQAogICAgICAgICBzZWxmLmZhdWx0Q29kZSA9IGZhdWx0Q29kZQogICAgICAgICBzZWxmLmZhdWx0U3RyaW5nID0gZmF1bHRTdHJpbmcKICAgICBkZWYgX19yZXByX18oc2VsZik6Ci0gICAgICAgIHJldHVybiAiPEZhdWx0ICVzOiAlcj4iICUgKHNlbGYuZmF1bHRDb2RlLCBzZWxmLmZhdWx0U3RyaW5nKQorICAgICAgICByZXR1cm4gIjwlcyAlczogJXI+IiAlIChzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5mYXVsdENvZGUsIHNlbGYuZmF1bHRTdHJpbmcpCiAKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICMgU3BlY2lhbCB2YWx1ZXMKQEAgLTMzOSwxMCArMzQwLDYgQEAKICAgICAgICAgcywgbyA9IHNlbGYubWFrZV9jb21wYXJhYmxlKG90aGVyKQogICAgICAgICByZXR1cm4gcyA9PSBvCiAKLSAgICBkZWYgX19uZV9fKHNlbGYsIG90aGVyKToKLSAgICAgICAgcywgbyA9IHNlbGYubWFrZV9jb21wYXJhYmxlKG90aGVyKQotICAgICAgICByZXR1cm4gcyAhPSBvCi0KICAgICBkZWYgdGltZXR1cGxlKHNlbGYpOgogICAgICAgICByZXR1cm4gdGltZS5zdHJwdGltZShzZWxmLnZhbHVlLCAiJVklbSVkVCVIOiVNOiVTIikKIApAQCAtMzU1LDcgKzM1Miw3IEBACiAgICAgICAgIHJldHVybiBzZWxmLnZhbHVlCiAKICAgICBkZWYgX19yZXByX18oc2VsZik6Ci0gICAgICAgIHJldHVybiAiPERhdGVUaW1lICVyIGF0ICV4PiIgJSAoc2VsZi52YWx1ZSwgaWQoc2VsZikpCisgICAgICAgIHJldHVybiAiPCVzICVyIGF0ICUjeD4iICUgKHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLCBzZWxmLnZhbHVlLCBpZChzZWxmKSkKIAogICAgIGRlZiBkZWNvZGUoc2VsZiwgZGF0YSk6CiAgICAgICAgIHNlbGYudmFsdWUgPSBzdHIoZGF0YSkuc3RyaXAoKQpAQCAtNDA2LDExICs0MDMsNiBAQAogICAgICAgICAgICAgb3RoZXIgPSBvdGhlci5kYXRhCiAgICAgICAgIHJldHVybiBzZWxmLmRhdGEgPT0gb3RoZXIKIAotICAgIGRlZiBfX25lX18oc2VsZiwgb3RoZXIpOgotICAgICAgICBpZiBpc2luc3RhbmNlKG90aGVyLCBCaW5hcnkpOgotICAgICAgICAgICAgb3RoZXIgPSBvdGhlci5kYXRhCi0gICAgICAgIHJldHVybiBzZWxmLmRhdGEgIT0gb3RoZXIKLQogICAgIGRlZiBkZWNvZGUoc2VsZiwgZGF0YSk6CiAgICAgICAgIHNlbGYuZGF0YSA9IGJhc2U2NC5kZWNvZGVieXRlcyhkYXRhKQogCkBAIC04NDcsNyArODM5LDcgQEAKICAgICAgICAgc2VsZi5fX2NhbGxfbGlzdCA9IFtdCiAKICAgICBkZWYgX19yZXByX18oc2VsZik6Ci0gICAgICAgIHJldHVybiAiPE11bHRpQ2FsbCBhdCAleD4iICUgaWQoc2VsZikKKyAgICAgICAgcmV0dXJuICI8JXMgYXQgJSN4PiIgJSAoc2VsZi5fX2NsYXNzX18uX19uYW1lX18sIGlkKHNlbGYpKQogCiAgICAgX19zdHJfXyA9IF9fcmVwcl9fCiAKQEAgLTE0NDQsOCArMTQzNiw4IEBACiAKICAgICBkZWYgX19yZXByX18oc2VsZik6CiAgICAgICAgIHJldHVybiAoCi0gICAgICAgICAgICAiPFNlcnZlclByb3h5IGZvciAlcyVzPiIgJQotICAgICAgICAgICAgKHNlbGYuX19ob3N0LCBzZWxmLl9faGFuZGxlcikKKyAgICAgICAgICAgICI8JXMgZm9yICVzJXM+IiAlCisgICAgICAgICAgICAoc2VsZi5fX2NsYXNzX18uX19uYW1lX18sIHNlbGYuX19ob3N0LCBzZWxmLl9faGFuZGxlcikKICAgICAgICAgICAgICkKIAogICAgIF9fc3RyX18gPSBfX3JlcHJfXwpAQCAtMTQ2Nyw2ICsxNDU5LDEyIEBACiAgICAgICAgICAgICByZXR1cm4gc2VsZi5fX3RyYW5zcG9ydAogICAgICAgICByYWlzZSBBdHRyaWJ1dGVFcnJvcigiQXR0cmlidXRlICVyIG5vdCBmb3VuZCIgJSAoYXR0ciwpKQogCisgICAgZGVmIF9fZW50ZXJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYKKworICAgIGRlZiBfX2V4aXRfXyhzZWxmLCAqYXJncyk6CisgICAgICAgIHNlbGYuX19jbG9zZSgpCisKICMgY29tcGF0aWJpbGl0eQogCiBTZXJ2ZXIgPSBTZXJ2ZXJQcm94eQpkaWZmIC0tZ2l0IGEvTGliL3ppcGZpbGUucHkgYi9MaWIvemlwZmlsZS5weQppbmRleCBiZGE2MTM0Li44YzI5NTBmIDEwMDY0NAotLS0gYS9MaWIvemlwZmlsZS5weQorKysgYi9MaWIvemlwZmlsZS5weQpAQCAtMTMsNiArMTMsNyBAQAogaW1wb3J0IHNodXRpbAogaW1wb3J0IHN0cnVjdAogaW1wb3J0IGJpbmFzY2lpCitpbXBvcnQgdGhyZWFkaW5nCiAKIAogdHJ5OgpAQCAtMzU1LDYgKzM1NiwyOCBAQAogICAgICAgICAjIGNvbXByZXNzX3NpemUgICAgICAgICBTaXplIG9mIHRoZSBjb21wcmVzc2VkIGZpbGUKICAgICAgICAgIyBmaWxlX3NpemUgICAgICAgICAgICAgU2l6ZSBvZiB0aGUgdW5jb21wcmVzc2VkIGZpbGUKIAorICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKKyAgICAgICAgcmVzdWx0ID0gWyc8JXMgZmlsZW5hbWU9JXInICUgKHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLCBzZWxmLmZpbGVuYW1lKV0KKyAgICAgICAgaWYgc2VsZi5jb21wcmVzc190eXBlICE9IFpJUF9TVE9SRUQ6CisgICAgICAgICAgICByZXN1bHQuYXBwZW5kKCcgY29tcHJlc3NfdHlwZT0lcycgJQorICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wcmVzc29yX25hbWVzLmdldChzZWxmLmNvbXByZXNzX3R5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuY29tcHJlc3NfdHlwZSkpCisgICAgICAgIGhpID0gc2VsZi5leHRlcm5hbF9hdHRyID4+IDE2CisgICAgICAgIGxvID0gc2VsZi5leHRlcm5hbF9hdHRyICYgMHhGRkZGCisgICAgICAgIGlmIGhpOgorICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgnIGZpbGVtb2RlPSVyJyAlIHN0YXQuZmlsZW1vZGUoaGkpKQorICAgICAgICBpZiBsbzoKKyAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoJyBleHRlcm5hbF9hdHRyPSUjeCcgJSBsbykKKyAgICAgICAgaXNkaXIgPSBzZWxmLmZpbGVuYW1lWy0xOl0gPT0gJy8nCisgICAgICAgIGlmIG5vdCBpc2RpciBvciBzZWxmLmZpbGVfc2l6ZToKKyAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoJyBmaWxlX3NpemU9JXInICUgc2VsZi5maWxlX3NpemUpCisgICAgICAgIGlmICgobm90IGlzZGlyIG9yIHNlbGYuY29tcHJlc3Nfc2l6ZSkgYW5kCisgICAgICAgICAgICAoc2VsZi5jb21wcmVzc190eXBlICE9IFpJUF9TVE9SRUQgb3IKKyAgICAgICAgICAgICBzZWxmLmZpbGVfc2l6ZSAhPSBzZWxmLmNvbXByZXNzX3NpemUpKToKKyAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoJyBjb21wcmVzc19zaXplPSVyJyAlIHNlbGYuY29tcHJlc3Nfc2l6ZSkKKyAgICAgICAgcmVzdWx0LmFwcGVuZCgnPicpCisgICAgICAgIHJldHVybiAnJy5qb2luKHJlc3VsdCkKKwogICAgIGRlZiBGaWxlSGVhZGVyKHNlbGYsIHppcDY0PU5vbmUpOgogICAgICAgICAiIiJSZXR1cm4gdGhlIHBlci1maWxlIGhlYWRlciBhcyBhIHN0cmluZy4iIiIKICAgICAgICAgZHQgPSBzZWxmLmRhdGVfdGltZQpAQCAtNjI0LDYgKzY0NywyNyBAQAogICAgICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcigiY29tcHJlc3Npb24gdHlwZSAlZCIgJSAoY29tcHJlc3NfdHlwZSwpKQogCiAKK2NsYXNzIF9TaGFyZWRGaWxlOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBmaWxlLCBwb3MsIGNsb3NlLCBsb2NrKToKKyAgICAgICAgc2VsZi5fZmlsZSA9IGZpbGUKKyAgICAgICAgc2VsZi5fcG9zID0gcG9zCisgICAgICAgIHNlbGYuX2Nsb3NlID0gY2xvc2UKKyAgICAgICAgc2VsZi5fbG9jayA9IGxvY2sKKworICAgIGRlZiByZWFkKHNlbGYsIG49LTEpOgorICAgICAgICB3aXRoIHNlbGYuX2xvY2s6CisgICAgICAgICAgICBzZWxmLl9maWxlLnNlZWsoc2VsZi5fcG9zKQorICAgICAgICAgICAgZGF0YSA9IHNlbGYuX2ZpbGUucmVhZChuKQorICAgICAgICAgICAgc2VsZi5fcG9zID0gc2VsZi5fZmlsZS50ZWxsKCkKKyAgICAgICAgICAgIHJldHVybiBkYXRhCisKKyAgICBkZWYgY2xvc2Uoc2VsZik6CisgICAgICAgIGlmIHNlbGYuX2ZpbGUgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBmaWxlb2JqID0gc2VsZi5fZmlsZQorICAgICAgICAgICAgc2VsZi5fZmlsZSA9IE5vbmUKKyAgICAgICAgICAgIHNlbGYuX2Nsb3NlKGZpbGVvYmopCisKKwogY2xhc3MgWmlwRXh0RmlsZShpby5CdWZmZXJlZElPQmFzZSk6CiAgICAgIiIiRmlsZS1saWtlIG9iamVjdCBmb3IgcmVhZGluZyBhbiBhcmNoaXZlIG1lbWJlci4KICAgICAgICBJcyByZXR1cm5lZCBieSBaaXBGaWxlLm9wZW4oKS4KQEAgLTY3MSw2ICs3MTUsMjAgQEAKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHNlbGYuX2V4cGVjdGVkX2NyYyA9IE5vbmUKIAorICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKKyAgICAgICAgcmVzdWx0ID0gWyc8JXMuJXMnICUgKHNlbGYuX19jbGFzc19fLl9fbW9kdWxlX18sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9fY2xhc3NfXy5fX3F1YWxuYW1lX18pXQorICAgICAgICBpZiBub3Qgc2VsZi5jbG9zZWQ6CisgICAgICAgICAgICByZXN1bHQuYXBwZW5kKCcgbmFtZT0lciBtb2RlPSVyJyAlIChzZWxmLm5hbWUsIHNlbGYubW9kZSkpCisgICAgICAgICAgICBpZiBzZWxmLl9jb21wcmVzc190eXBlICE9IFpJUF9TVE9SRUQ6CisgICAgICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgnIGNvbXByZXNzX3R5cGU9JXMnICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXByZXNzb3JfbmFtZXMuZ2V0KHNlbGYuX2NvbXByZXNzX3R5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9jb21wcmVzc190eXBlKSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoJyBbY2xvc2VkXScpCisgICAgICAgIHJlc3VsdC5hcHBlbmQoJz4nKQorICAgICAgICByZXR1cm4gJycuam9pbihyZXN1bHQpCisKICAgICBkZWYgcmVhZGxpbmUoc2VsZiwgbGltaXQ9LTEpOgogICAgICAgICAiIiJSZWFkIGFuZCByZXR1cm4gYSBsaW5lIGZyb20gdGhlIHN0cmVhbS4KIApAQCAtOTA5LDcgKzk2Nyw3IEBACiAgICAgICAgIHNlbGYuTmFtZVRvSW5mbyA9IHt9ICAgICMgRmluZCBmaWxlIGluZm8gZ2l2ZW4gbmFtZQogICAgICAgICBzZWxmLmZpbGVsaXN0ID0gW10gICAgICAjIExpc3Qgb2YgWmlwSW5mbyBpbnN0YW5jZXMgZm9yIGFyY2hpdmUKICAgICAgICAgc2VsZi5jb21wcmVzc2lvbiA9IGNvbXByZXNzaW9uICAjIE1ldGhvZCBvZiBjb21wcmVzc2lvbgotICAgICAgICBzZWxmLm1vZGUgPSBrZXkgPSBtb2RlLnJlcGxhY2UoJ2InLCAnJylbMF0KKyAgICAgICAgc2VsZi5tb2RlID0gbW9kZQogICAgICAgICBzZWxmLnB3ZCA9IE5vbmUKICAgICAgICAgc2VsZi5fY29tbWVudCA9IGInJwogCkBAIC05MTgsMjggKzk3NiwzNCBAQAogICAgICAgICAgICAgIyBObywgaXQncyBhIGZpbGVuYW1lCiAgICAgICAgICAgICBzZWxmLl9maWxlUGFzc2VkID0gMAogICAgICAgICAgICAgc2VsZi5maWxlbmFtZSA9IGZpbGUKLSAgICAgICAgICAgIG1vZGVEaWN0ID0geydyJyA6ICdyYicsICd3JzogJ3diJywgJ2EnIDogJ3IrYid9Ci0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgc2VsZi5mcCA9IGlvLm9wZW4oZmlsZSwgbW9kZURpY3RbbW9kZV0pCi0gICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoKLSAgICAgICAgICAgICAgICBpZiBtb2RlID09ICdhJzoKLSAgICAgICAgICAgICAgICAgICAgbW9kZSA9IGtleSA9ICd3JwotICAgICAgICAgICAgICAgICAgICBzZWxmLmZwID0gaW8ub3BlbihmaWxlLCBtb2RlRGljdFttb2RlXSkKLSAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgbW9kZURpY3QgPSB7J3InIDogJ3JiJywgJ3cnOiAndytiJywgJ2EnIDogJ3IrYicsCisgICAgICAgICAgICAgICAgICAgICAgICAncitiJzogJ3crYicsICd3K2InOiAnd2InfQorICAgICAgICAgICAgZmlsZW1vZGUgPSBtb2RlRGljdFttb2RlXQorICAgICAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuZnAgPSBpby5vcGVuKGZpbGUsIGZpbGVtb2RlKQorICAgICAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgorICAgICAgICAgICAgICAgICAgICBpZiBmaWxlbW9kZSBpbiBtb2RlRGljdDoKKyAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVtb2RlID0gbW9kZURpY3RbZmlsZW1vZGVdCisgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgICAgICAgICByYWlzZQorICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBzZWxmLl9maWxlUGFzc2VkID0gMQogICAgICAgICAgICAgc2VsZi5mcCA9IGZpbGUKICAgICAgICAgICAgIHNlbGYuZmlsZW5hbWUgPSBnZXRhdHRyKGZpbGUsICduYW1lJywgTm9uZSkKKyAgICAgICAgc2VsZi5fZmlsZVJlZkNudCA9IDEKKyAgICAgICAgc2VsZi5fbG9jayA9IHRocmVhZGluZy5STG9jaygpCiAKICAgICAgICAgdHJ5OgotICAgICAgICAgICAgaWYga2V5ID09ICdyJzoKKyAgICAgICAgICAgIGlmIG1vZGUgPT0gJ3InOgogICAgICAgICAgICAgICAgIHNlbGYuX1JlYWxHZXRDb250ZW50cygpCi0gICAgICAgICAgICBlbGlmIGtleSA9PSAndyc6CisgICAgICAgICAgICBlbGlmIG1vZGUgPT0gJ3cnOgogICAgICAgICAgICAgICAgICMgc2V0IHRoZSBtb2RpZmllZCBmbGFnIHNvIGNlbnRyYWwgZGlyZWN0b3J5IGdldHMgd3JpdHRlbgogICAgICAgICAgICAgICAgICMgZXZlbiBpZiBubyBmaWxlcyBhcmUgYWRkZWQgdG8gdGhlIGFyY2hpdmUKICAgICAgICAgICAgICAgICBzZWxmLl9kaWRNb2RpZnkgPSBUcnVlCi0gICAgICAgICAgICBlbGlmIGtleSA9PSAnYSc6CisgICAgICAgICAgICAgICAgc2VsZi5zdGFydF9kaXIgPSBzZWxmLmZwLnRlbGwoKQorICAgICAgICAgICAgZWxpZiBtb2RlID09ICdhJzoKICAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgICMgU2VlIGlmIGZpbGUgaXMgYSB6aXAgZmlsZQogICAgICAgICAgICAgICAgICAgICBzZWxmLl9SZWFsR2V0Q29udGVudHMoKQpAQCAtOTUyLDEzICsxMDE2LDEzIEBACiAgICAgICAgICAgICAgICAgICAgICMgc2V0IHRoZSBtb2RpZmllZCBmbGFnIHNvIGNlbnRyYWwgZGlyZWN0b3J5IGdldHMgd3JpdHRlbgogICAgICAgICAgICAgICAgICAgICAjIGV2ZW4gaWYgbm8gZmlsZXMgYXJlIGFkZGVkIHRvIHRoZSBhcmNoaXZlCiAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2RpZE1vZGlmeSA9IFRydWUKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5zdGFydF9kaXIgPSBzZWxmLmZwLnRlbGwoKQogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoJ01vZGUgbXVzdCBiZSAiciIsICJ3IiBvciAiYSInKQogICAgICAgICBleGNlcHQ6CiAgICAgICAgICAgICBmcCA9IHNlbGYuZnAKICAgICAgICAgICAgIHNlbGYuZnAgPSBOb25lCi0gICAgICAgICAgICBpZiBub3Qgc2VsZi5fZmlsZVBhc3NlZDoKLSAgICAgICAgICAgICAgICBmcC5jbG9zZSgpCisgICAgICAgICAgICBzZWxmLl9mcGNsb3NlKGZwKQogICAgICAgICAgICAgcmFpc2UKIAogICAgIGRlZiBfX2VudGVyX18oc2VsZik6CkBAIC05NjcsNiArMTAzMSwyMCBAQAogICAgIGRlZiBfX2V4aXRfXyhzZWxmLCB0eXBlLCB2YWx1ZSwgdHJhY2ViYWNrKToKICAgICAgICAgc2VsZi5jbG9zZSgpCiAKKyAgICBkZWYgX19yZXByX18oc2VsZik6CisgICAgICAgIHJlc3VsdCA9IFsnPCVzLiVzJyAlIChzZWxmLl9fY2xhc3NfXy5fX21vZHVsZV9fLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fX2NsYXNzX18uX19xdWFsbmFtZV9fKV0KKyAgICAgICAgaWYgc2VsZi5mcCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGlmIHNlbGYuX2ZpbGVQYXNzZWQ6CisgICAgICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgnIGZpbGU9JXInICUgc2VsZi5mcCkKKyAgICAgICAgICAgIGVsaWYgc2VsZi5maWxlbmFtZSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICByZXN1bHQuYXBwZW5kKCcgZmlsZW5hbWU9JXInICUgc2VsZi5maWxlbmFtZSkKKyAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoJyBtb2RlPSVyJyAlIHNlbGYubW9kZSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoJyBbY2xvc2VkXScpCisgICAgICAgIHJlc3VsdC5hcHBlbmQoJz4nKQorICAgICAgICByZXR1cm4gJycuam9pbihyZXN1bHQpCisKICAgICBkZWYgX1JlYWxHZXRDb250ZW50cyhzZWxmKToKICAgICAgICAgIiIiUmVhZCBpbiB0aGUgdGFibGUgb2YgY29udGVudHMgZm9yIHRoZSBaSVAgZmlsZS4iIiIKICAgICAgICAgZnAgPSBzZWxmLmZwCkBAIC0xMTMxLDIzICsxMjA5LDE3IEBACiAgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoCiAgICAgICAgICAgICAgICAgIkF0dGVtcHQgdG8gcmVhZCBaSVAgYXJjaGl2ZSB0aGF0IHdhcyBhbHJlYWR5IGNsb3NlZCIpCiAKLSAgICAgICAgIyBPbmx5IG9wZW4gYSBuZXcgZmlsZSBmb3IgaW5zdGFuY2VzIHdoZXJlIHdlIHdlcmUgbm90Ci0gICAgICAgICMgZ2l2ZW4gYSBmaWxlIG9iamVjdCBpbiB0aGUgY29uc3RydWN0b3IKLSAgICAgICAgaWYgc2VsZi5fZmlsZVBhc3NlZDoKLSAgICAgICAgICAgIHplZl9maWxlID0gc2VsZi5mcAorICAgICAgICAjIE1ha2Ugc3VyZSB3ZSBoYXZlIGFuIGluZm8gb2JqZWN0CisgICAgICAgIGlmIGlzaW5zdGFuY2UobmFtZSwgWmlwSW5mbyk6CisgICAgICAgICAgICAjICduYW1lJyBpcyBhbHJlYWR5IGFuIGluZm8gb2JqZWN0CisgICAgICAgICAgICB6aW5mbyA9IG5hbWUKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHplZl9maWxlID0gaW8ub3BlbihzZWxmLmZpbGVuYW1lLCAncmInKQorICAgICAgICAgICAgIyBHZXQgaW5mbyBvYmplY3QgZm9yIG5hbWUKKyAgICAgICAgICAgIHppbmZvID0gc2VsZi5nZXRpbmZvKG5hbWUpCiAKKyAgICAgICAgc2VsZi5fZmlsZVJlZkNudCArPSAxCisgICAgICAgIHplZl9maWxlID0gX1NoYXJlZEZpbGUoc2VsZi5mcCwgemluZm8uaGVhZGVyX29mZnNldCwgc2VsZi5fZnBjbG9zZSwgc2VsZi5fbG9jaykKICAgICAgICAgdHJ5OgotICAgICAgICAgICAgIyBNYWtlIHN1cmUgd2UgaGF2ZSBhbiBpbmZvIG9iamVjdAotICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShuYW1lLCBaaXBJbmZvKToKLSAgICAgICAgICAgICAgICAjICduYW1lJyBpcyBhbHJlYWR5IGFuIGluZm8gb2JqZWN0Ci0gICAgICAgICAgICAgICAgemluZm8gPSBuYW1lCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICMgR2V0IGluZm8gb2JqZWN0IGZvciBuYW1lCi0gICAgICAgICAgICAgICAgemluZm8gPSBzZWxmLmdldGluZm8obmFtZSkKLSAgICAgICAgICAgIHplZl9maWxlLnNlZWsoemluZm8uaGVhZGVyX29mZnNldCwgMCkKLQogICAgICAgICAgICAgIyBTa2lwIHRoZSBmaWxlIGhlYWRlcjoKICAgICAgICAgICAgIGZoZWFkZXIgPSB6ZWZfZmlsZS5yZWFkKHNpemVGaWxlSGVhZGVyKQogICAgICAgICAgICAgaWYgbGVuKGZoZWFkZXIpICE9IHNpemVGaWxlSGVhZGVyOgpAQCAtMTIwNiwxMSArMTI3OCw5IEBACiAgICAgICAgICAgICAgICAgaWYgaFsxMV0gIT0gY2hlY2tfYnl0ZToKICAgICAgICAgICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCJCYWQgcGFzc3dvcmQgZm9yIGZpbGUiLCBuYW1lKQogCi0gICAgICAgICAgICByZXR1cm4gWmlwRXh0RmlsZSh6ZWZfZmlsZSwgbW9kZSwgemluZm8sIHpkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xvc2VfZmlsZW9iaj1ub3Qgc2VsZi5fZmlsZVBhc3NlZCkKKyAgICAgICAgICAgIHJldHVybiBaaXBFeHRGaWxlKHplZl9maWxlLCBtb2RlLCB6aW5mbywgemQsIFRydWUpCiAgICAgICAgIGV4Y2VwdDoKLSAgICAgICAgICAgIGlmIG5vdCBzZWxmLl9maWxlUGFzc2VkOgotICAgICAgICAgICAgICAgIHplZl9maWxlLmNsb3NlKCkKKyAgICAgICAgICAgIHplZl9maWxlLmNsb3NlKCkKICAgICAgICAgICAgIHJhaXNlCiAKICAgICBkZWYgZXh0cmFjdChzZWxmLCBtZW1iZXIsIHBhdGg9Tm9uZSwgcHdkPU5vbmUpOgpAQCAtMTM0NCw2NiArMTQxNCw2OSBAQAogCiAgICAgICAgIHppbmZvLmZpbGVfc2l6ZSA9IHN0LnN0X3NpemUKICAgICAgICAgemluZm8uZmxhZ19iaXRzID0gMHgwMAotICAgICAgICB6aW5mby5oZWFkZXJfb2Zmc2V0ID0gc2VsZi5mcC50ZWxsKCkgICAgIyBTdGFydCBvZiBoZWFkZXIgYnl0ZXMKLSAgICAgICAgaWYgemluZm8uY29tcHJlc3NfdHlwZSA9PSBaSVBfTFpNQToKLSAgICAgICAgICAgICMgQ29tcHJlc3NlZCBkYXRhIGluY2x1ZGVzIGFuIGVuZC1vZi1zdHJlYW0gKEVPUykgbWFya2VyCi0gICAgICAgICAgICB6aW5mby5mbGFnX2JpdHMgfD0gMHgwMgorICAgICAgICB3aXRoIHNlbGYuX2xvY2s6CisgICAgICAgICAgICBzZWxmLmZwLnNlZWsoc2VsZi5zdGFydF9kaXIsIDApCisgICAgICAgICAgICB6aW5mby5oZWFkZXJfb2Zmc2V0ID0gc2VsZi5mcC50ZWxsKCkgICAgIyBTdGFydCBvZiBoZWFkZXIgYnl0ZXMKKyAgICAgICAgICAgIGlmIHppbmZvLmNvbXByZXNzX3R5cGUgPT0gWklQX0xaTUE6CisgICAgICAgICAgICAgICAgIyBDb21wcmVzc2VkIGRhdGEgaW5jbHVkZXMgYW4gZW5kLW9mLXN0cmVhbSAoRU9TKSBtYXJrZXIKKyAgICAgICAgICAgICAgICB6aW5mby5mbGFnX2JpdHMgfD0gMHgwMgogCi0gICAgICAgIHNlbGYuX3dyaXRlY2hlY2soemluZm8pCi0gICAgICAgIHNlbGYuX2RpZE1vZGlmeSA9IFRydWUKKyAgICAgICAgICAgIHNlbGYuX3dyaXRlY2hlY2soemluZm8pCisgICAgICAgICAgICBzZWxmLl9kaWRNb2RpZnkgPSBUcnVlCiAKLSAgICAgICAgaWYgaXNkaXI6Ci0gICAgICAgICAgICB6aW5mby5maWxlX3NpemUgPSAwCi0gICAgICAgICAgICB6aW5mby5jb21wcmVzc19zaXplID0gMAotICAgICAgICAgICAgemluZm8uQ1JDID0gMAotICAgICAgICAgICAgemluZm8uZXh0ZXJuYWxfYXR0ciB8PSAweDEwICAjIE1TLURPUyBkaXJlY3RvcnkgZmxhZworICAgICAgICAgICAgaWYgaXNkaXI6CisgICAgICAgICAgICAgICAgemluZm8uZmlsZV9zaXplID0gMAorICAgICAgICAgICAgICAgIHppbmZvLmNvbXByZXNzX3NpemUgPSAwCisgICAgICAgICAgICAgICAgemluZm8uQ1JDID0gMAorICAgICAgICAgICAgICAgIHppbmZvLmV4dGVybmFsX2F0dHIgfD0gMHgxMCAgIyBNUy1ET1MgZGlyZWN0b3J5IGZsYWcKKyAgICAgICAgICAgICAgICBzZWxmLmZpbGVsaXN0LmFwcGVuZCh6aW5mbykKKyAgICAgICAgICAgICAgICBzZWxmLk5hbWVUb0luZm9bemluZm8uZmlsZW5hbWVdID0gemluZm8KKyAgICAgICAgICAgICAgICBzZWxmLmZwLndyaXRlKHppbmZvLkZpbGVIZWFkZXIoRmFsc2UpKQorICAgICAgICAgICAgICAgIHNlbGYuc3RhcnRfZGlyID0gc2VsZi5mcC50ZWxsKCkKKyAgICAgICAgICAgICAgICByZXR1cm4KKworICAgICAgICAgICAgY21wciA9IF9nZXRfY29tcHJlc3Nvcih6aW5mby5jb21wcmVzc190eXBlKQorICAgICAgICAgICAgd2l0aCBvcGVuKGZpbGVuYW1lLCAicmIiKSBhcyBmcDoKKyAgICAgICAgICAgICAgICAjIE11c3Qgb3ZlcndyaXRlIENSQyBhbmQgc2l6ZXMgd2l0aCBjb3JyZWN0IGRhdGEgbGF0ZXIKKyAgICAgICAgICAgICAgICB6aW5mby5DUkMgPSBDUkMgPSAwCisgICAgICAgICAgICAgICAgemluZm8uY29tcHJlc3Nfc2l6ZSA9IGNvbXByZXNzX3NpemUgPSAwCisgICAgICAgICAgICAgICAgIyBDb21wcmVzc2VkIHNpemUgY2FuIGJlIGxhcmdlciB0aGFuIHVuY29tcHJlc3NlZCBzaXplCisgICAgICAgICAgICAgICAgemlwNjQgPSBzZWxmLl9hbGxvd1ppcDY0IGFuZCBcCisgICAgICAgICAgICAgICAgICAgIHppbmZvLmZpbGVfc2l6ZSAqIDEuMDUgPiBaSVA2NF9MSU1JVAorICAgICAgICAgICAgICAgIHNlbGYuZnAud3JpdGUoemluZm8uRmlsZUhlYWRlcih6aXA2NCkpCisgICAgICAgICAgICAgICAgZmlsZV9zaXplID0gMAorICAgICAgICAgICAgICAgIHdoaWxlIDE6CisgICAgICAgICAgICAgICAgICAgIGJ1ZiA9IGZwLnJlYWQoMTAyNCAqIDgpCisgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBidWY6CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgICAgICAgICBmaWxlX3NpemUgPSBmaWxlX3NpemUgKyBsZW4oYnVmKQorICAgICAgICAgICAgICAgICAgICBDUkMgPSBjcmMzMihidWYsIENSQykgJiAweGZmZmZmZmZmCisgICAgICAgICAgICAgICAgICAgIGlmIGNtcHI6CisgICAgICAgICAgICAgICAgICAgICAgICBidWYgPSBjbXByLmNvbXByZXNzKGJ1ZikKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbXByZXNzX3NpemUgPSBjb21wcmVzc19zaXplICsgbGVuKGJ1ZikKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5mcC53cml0ZShidWYpCisgICAgICAgICAgICBpZiBjbXByOgorICAgICAgICAgICAgICAgIGJ1ZiA9IGNtcHIuZmx1c2goKQorICAgICAgICAgICAgICAgIGNvbXByZXNzX3NpemUgPSBjb21wcmVzc19zaXplICsgbGVuKGJ1ZikKKyAgICAgICAgICAgICAgICBzZWxmLmZwLndyaXRlKGJ1ZikKKyAgICAgICAgICAgICAgICB6aW5mby5jb21wcmVzc19zaXplID0gY29tcHJlc3Nfc2l6ZQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICB6aW5mby5jb21wcmVzc19zaXplID0gZmlsZV9zaXplCisgICAgICAgICAgICB6aW5mby5DUkMgPSBDUkMKKyAgICAgICAgICAgIHppbmZvLmZpbGVfc2l6ZSA9IGZpbGVfc2l6ZQorICAgICAgICAgICAgaWYgbm90IHppcDY0IGFuZCBzZWxmLl9hbGxvd1ppcDY0OgorICAgICAgICAgICAgICAgIGlmIGZpbGVfc2l6ZSA+IFpJUDY0X0xJTUlUOgorICAgICAgICAgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoJ0ZpbGUgc2l6ZSBoYXMgaW5jcmVhc2VkIGR1cmluZyBjb21wcmVzc2luZycpCisgICAgICAgICAgICAgICAgaWYgY29tcHJlc3Nfc2l6ZSA+IFpJUDY0X0xJTUlUOgorICAgICAgICAgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoJ0NvbXByZXNzZWQgc2l6ZSBsYXJnZXIgdGhhbiB1bmNvbXByZXNzZWQgc2l6ZScpCisgICAgICAgICAgICAjIFNlZWsgYmFja3dhcmRzIGFuZCB3cml0ZSBmaWxlIGhlYWRlciAod2hpY2ggd2lsbCBub3cgaW5jbHVkZQorICAgICAgICAgICAgIyBjb3JyZWN0IENSQyBhbmQgZmlsZSBzaXplcykKKyAgICAgICAgICAgIHNlbGYuc3RhcnRfZGlyID0gc2VsZi5mcC50ZWxsKCkgICAgICAgIyBQcmVzZXJ2ZSBjdXJyZW50IHBvc2l0aW9uIGluIGZpbGUKKyAgICAgICAgICAgIHNlbGYuZnAuc2Vlayh6aW5mby5oZWFkZXJfb2Zmc2V0LCAwKQorICAgICAgICAgICAgc2VsZi5mcC53cml0ZSh6aW5mby5GaWxlSGVhZGVyKHppcDY0KSkKKyAgICAgICAgICAgIHNlbGYuZnAuc2VlayhzZWxmLnN0YXJ0X2RpciwgMCkKICAgICAgICAgICAgIHNlbGYuZmlsZWxpc3QuYXBwZW5kKHppbmZvKQogICAgICAgICAgICAgc2VsZi5OYW1lVG9JbmZvW3ppbmZvLmZpbGVuYW1lXSA9IHppbmZvCi0gICAgICAgICAgICBzZWxmLmZwLndyaXRlKHppbmZvLkZpbGVIZWFkZXIoRmFsc2UpKQotICAgICAgICAgICAgcmV0dXJuCi0KLSAgICAgICAgY21wciA9IF9nZXRfY29tcHJlc3Nvcih6aW5mby5jb21wcmVzc190eXBlKQotICAgICAgICB3aXRoIG9wZW4oZmlsZW5hbWUsICJyYiIpIGFzIGZwOgotICAgICAgICAgICAgIyBNdXN0IG92ZXJ3cml0ZSBDUkMgYW5kIHNpemVzIHdpdGggY29ycmVjdCBkYXRhIGxhdGVyCi0gICAgICAgICAgICB6aW5mby5DUkMgPSBDUkMgPSAwCi0gICAgICAgICAgICB6aW5mby5jb21wcmVzc19zaXplID0gY29tcHJlc3Nfc2l6ZSA9IDAKLSAgICAgICAgICAgICMgQ29tcHJlc3NlZCBzaXplIGNhbiBiZSBsYXJnZXIgdGhhbiB1bmNvbXByZXNzZWQgc2l6ZQotICAgICAgICAgICAgemlwNjQgPSBzZWxmLl9hbGxvd1ppcDY0IGFuZCBcCi0gICAgICAgICAgICAgICAgemluZm8uZmlsZV9zaXplICogMS4wNSA+IFpJUDY0X0xJTUlUCi0gICAgICAgICAgICBzZWxmLmZwLndyaXRlKHppbmZvLkZpbGVIZWFkZXIoemlwNjQpKQotICAgICAgICAgICAgZmlsZV9zaXplID0gMAotICAgICAgICAgICAgd2hpbGUgMToKLSAgICAgICAgICAgICAgICBidWYgPSBmcC5yZWFkKDEwMjQgKiA4KQotICAgICAgICAgICAgICAgIGlmIG5vdCBidWY6Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICAgICAgZmlsZV9zaXplID0gZmlsZV9zaXplICsgbGVuKGJ1ZikKLSAgICAgICAgICAgICAgICBDUkMgPSBjcmMzMihidWYsIENSQykgJiAweGZmZmZmZmZmCi0gICAgICAgICAgICAgICAgaWYgY21wcjoKLSAgICAgICAgICAgICAgICAgICAgYnVmID0gY21wci5jb21wcmVzcyhidWYpCi0gICAgICAgICAgICAgICAgICAgIGNvbXByZXNzX3NpemUgPSBjb21wcmVzc19zaXplICsgbGVuKGJ1ZikKLSAgICAgICAgICAgICAgICBzZWxmLmZwLndyaXRlKGJ1ZikKLSAgICAgICAgaWYgY21wcjoKLSAgICAgICAgICAgIGJ1ZiA9IGNtcHIuZmx1c2goKQotICAgICAgICAgICAgY29tcHJlc3Nfc2l6ZSA9IGNvbXByZXNzX3NpemUgKyBsZW4oYnVmKQotICAgICAgICAgICAgc2VsZi5mcC53cml0ZShidWYpCi0gICAgICAgICAgICB6aW5mby5jb21wcmVzc19zaXplID0gY29tcHJlc3Nfc2l6ZQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgemluZm8uY29tcHJlc3Nfc2l6ZSA9IGZpbGVfc2l6ZQotICAgICAgICB6aW5mby5DUkMgPSBDUkMKLSAgICAgICAgemluZm8uZmlsZV9zaXplID0gZmlsZV9zaXplCi0gICAgICAgIGlmIG5vdCB6aXA2NCBhbmQgc2VsZi5fYWxsb3daaXA2NDoKLSAgICAgICAgICAgIGlmIGZpbGVfc2l6ZSA+IFpJUDY0X0xJTUlUOgotICAgICAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcignRmlsZSBzaXplIGhhcyBpbmNyZWFzZWQgZHVyaW5nIGNvbXByZXNzaW5nJykKLSAgICAgICAgICAgIGlmIGNvbXByZXNzX3NpemUgPiBaSVA2NF9MSU1JVDoKLSAgICAgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoJ0NvbXByZXNzZWQgc2l6ZSBsYXJnZXIgdGhhbiB1bmNvbXByZXNzZWQgc2l6ZScpCi0gICAgICAgICMgU2VlayBiYWNrd2FyZHMgYW5kIHdyaXRlIGZpbGUgaGVhZGVyICh3aGljaCB3aWxsIG5vdyBpbmNsdWRlCi0gICAgICAgICMgY29ycmVjdCBDUkMgYW5kIGZpbGUgc2l6ZXMpCi0gICAgICAgIHBvc2l0aW9uID0gc2VsZi5mcC50ZWxsKCkgICAgICAgIyBQcmVzZXJ2ZSBjdXJyZW50IHBvc2l0aW9uIGluIGZpbGUKLSAgICAgICAgc2VsZi5mcC5zZWVrKHppbmZvLmhlYWRlcl9vZmZzZXQsIDApCi0gICAgICAgIHNlbGYuZnAud3JpdGUoemluZm8uRmlsZUhlYWRlcih6aXA2NCkpCi0gICAgICAgIHNlbGYuZnAuc2Vlayhwb3NpdGlvbiwgMCkKLSAgICAgICAgc2VsZi5maWxlbGlzdC5hcHBlbmQoemluZm8pCi0gICAgICAgIHNlbGYuTmFtZVRvSW5mb1t6aW5mby5maWxlbmFtZV0gPSB6aW5mbwogCiAgICAgZGVmIHdyaXRlc3RyKHNlbGYsIHppbmZvX29yX2FyY25hbWUsIGRhdGEsIGNvbXByZXNzX3R5cGU9Tm9uZSk6CiAgICAgICAgICIiIldyaXRlIGEgZmlsZSBpbnRvIHRoZSBhcmNoaXZlLiAgVGhlIGNvbnRlbnRzIGlzICdkYXRhJywgd2hpY2gKQEAgLTE0MzAsMzYgKzE1MDMsNDYgQEAKICAgICAgICAgICAgICAgICAiQXR0ZW1wdCB0byB3cml0ZSB0byBaSVAgYXJjaGl2ZSB0aGF0IHdhcyBhbHJlYWR5IGNsb3NlZCIpCiAKICAgICAgICAgemluZm8uZmlsZV9zaXplID0gbGVuKGRhdGEpICAgICAgICAgICAgIyBVbmNvbXByZXNzZWQgc2l6ZQotICAgICAgICB6aW5mby5oZWFkZXJfb2Zmc2V0ID0gc2VsZi5mcC50ZWxsKCkgICAgIyBTdGFydCBvZiBoZWFkZXIgZGF0YQotICAgICAgICBpZiBjb21wcmVzc190eXBlIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgemluZm8uY29tcHJlc3NfdHlwZSA9IGNvbXByZXNzX3R5cGUKLSAgICAgICAgaWYgemluZm8uY29tcHJlc3NfdHlwZSA9PSBaSVBfTFpNQToKLSAgICAgICAgICAgICMgQ29tcHJlc3NlZCBkYXRhIGluY2x1ZGVzIGFuIGVuZC1vZi1zdHJlYW0gKEVPUykgbWFya2VyCi0gICAgICAgICAgICB6aW5mby5mbGFnX2JpdHMgfD0gMHgwMgorICAgICAgICB3aXRoIHNlbGYuX2xvY2s6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgc2VsZi5mcC5zZWVrKHNlbGYuc3RhcnRfZGlyKQorICAgICAgICAgICAgZXhjZXB0IChBdHRyaWJ1dGVFcnJvciwgaW8uVW5zdXBwb3J0ZWRPcGVyYXRpb24pOgorICAgICAgICAgICAgICAgICMgU29tZSBmaWxlLWxpa2Ugb2JqZWN0cyBjYW4gcHJvdmlkZSB0ZWxsKCkgYnV0IG5vdCBzZWVrKCkKKyAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgICAgICB6aW5mby5oZWFkZXJfb2Zmc2V0ID0gc2VsZi5mcC50ZWxsKCkgICAgIyBTdGFydCBvZiBoZWFkZXIgZGF0YQorICAgICAgICAgICAgaWYgY29tcHJlc3NfdHlwZSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICB6aW5mby5jb21wcmVzc190eXBlID0gY29tcHJlc3NfdHlwZQorICAgICAgICAgICAgemluZm8uaGVhZGVyX29mZnNldCA9IHNlbGYuZnAudGVsbCgpICAgICMgU3RhcnQgb2YgaGVhZGVyIGRhdGEKKyAgICAgICAgICAgIGlmIGNvbXByZXNzX3R5cGUgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgemluZm8uY29tcHJlc3NfdHlwZSA9IGNvbXByZXNzX3R5cGUKKyAgICAgICAgICAgIGlmIHppbmZvLmNvbXByZXNzX3R5cGUgPT0gWklQX0xaTUE6CisgICAgICAgICAgICAgICAgIyBDb21wcmVzc2VkIGRhdGEgaW5jbHVkZXMgYW4gZW5kLW9mLXN0cmVhbSAoRU9TKSBtYXJrZXIKKyAgICAgICAgICAgICAgICB6aW5mby5mbGFnX2JpdHMgfD0gMHgwMgogCi0gICAgICAgIHNlbGYuX3dyaXRlY2hlY2soemluZm8pCi0gICAgICAgIHNlbGYuX2RpZE1vZGlmeSA9IFRydWUKLSAgICAgICAgemluZm8uQ1JDID0gY3JjMzIoZGF0YSkgJiAweGZmZmZmZmZmICAgICAgICMgQ1JDLTMyIGNoZWNrc3VtCi0gICAgICAgIGNvID0gX2dldF9jb21wcmVzc29yKHppbmZvLmNvbXByZXNzX3R5cGUpCi0gICAgICAgIGlmIGNvOgotICAgICAgICAgICAgZGF0YSA9IGNvLmNvbXByZXNzKGRhdGEpICsgY28uZmx1c2goKQotICAgICAgICAgICAgemluZm8uY29tcHJlc3Nfc2l6ZSA9IGxlbihkYXRhKSAgICAjIENvbXByZXNzZWQgc2l6ZQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgemluZm8uY29tcHJlc3Nfc2l6ZSA9IHppbmZvLmZpbGVfc2l6ZQotICAgICAgICB6aXA2NCA9IHppbmZvLmZpbGVfc2l6ZSA+IFpJUDY0X0xJTUlUIG9yIFwKLSAgICAgICAgICAgIHppbmZvLmNvbXByZXNzX3NpemUgPiBaSVA2NF9MSU1JVAotICAgICAgICBpZiB6aXA2NCBhbmQgbm90IHNlbGYuX2FsbG93WmlwNjQ6Ci0gICAgICAgICAgICByYWlzZSBMYXJnZVppcEZpbGUoIkZpbGVzaXplIHdvdWxkIHJlcXVpcmUgWklQNjQgZXh0ZW5zaW9ucyIpCi0gICAgICAgIHNlbGYuZnAud3JpdGUoemluZm8uRmlsZUhlYWRlcih6aXA2NCkpCi0gICAgICAgIHNlbGYuZnAud3JpdGUoZGF0YSkKLSAgICAgICAgaWYgemluZm8uZmxhZ19iaXRzICYgMHgwODoKLSAgICAgICAgICAgICMgV3JpdGUgQ1JDIGFuZCBmaWxlIHNpemVzIGFmdGVyIHRoZSBmaWxlIGRhdGEKLSAgICAgICAgICAgIGZtdCA9ICc8TFFRJyBpZiB6aXA2NCBlbHNlICc8TExMJwotICAgICAgICAgICAgc2VsZi5mcC53cml0ZShzdHJ1Y3QucGFjayhmbXQsIHppbmZvLkNSQywgemluZm8uY29tcHJlc3Nfc2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgemluZm8uZmlsZV9zaXplKSkKLSAgICAgICAgc2VsZi5mcC5mbHVzaCgpCi0gICAgICAgIHNlbGYuZmlsZWxpc3QuYXBwZW5kKHppbmZvKQotICAgICAgICBzZWxmLk5hbWVUb0luZm9bemluZm8uZmlsZW5hbWVdID0gemluZm8KKyAgICAgICAgICAgIHNlbGYuX3dyaXRlY2hlY2soemluZm8pCisgICAgICAgICAgICBzZWxmLl9kaWRNb2RpZnkgPSBUcnVlCisgICAgICAgICAgICB6aW5mby5DUkMgPSBjcmMzMihkYXRhKSAmIDB4ZmZmZmZmZmYgICAgICAgIyBDUkMtMzIgY2hlY2tzdW0KKyAgICAgICAgICAgIGNvID0gX2dldF9jb21wcmVzc29yKHppbmZvLmNvbXByZXNzX3R5cGUpCisgICAgICAgICAgICBpZiBjbzoKKyAgICAgICAgICAgICAgICBkYXRhID0gY28uY29tcHJlc3MoZGF0YSkgKyBjby5mbHVzaCgpCisgICAgICAgICAgICAgICAgemluZm8uY29tcHJlc3Nfc2l6ZSA9IGxlbihkYXRhKSAgICAjIENvbXByZXNzZWQgc2l6ZQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICB6aW5mby5jb21wcmVzc19zaXplID0gemluZm8uZmlsZV9zaXplCisgICAgICAgICAgICB6aXA2NCA9IHppbmZvLmZpbGVfc2l6ZSA+IFpJUDY0X0xJTUlUIG9yIFwKKyAgICAgICAgICAgICAgICB6aW5mby5jb21wcmVzc19zaXplID4gWklQNjRfTElNSVQKKyAgICAgICAgICAgIGlmIHppcDY0IGFuZCBub3Qgc2VsZi5fYWxsb3daaXA2NDoKKyAgICAgICAgICAgICAgICByYWlzZSBMYXJnZVppcEZpbGUoIkZpbGVzaXplIHdvdWxkIHJlcXVpcmUgWklQNjQgZXh0ZW5zaW9ucyIpCisgICAgICAgICAgICBzZWxmLmZwLndyaXRlKHppbmZvLkZpbGVIZWFkZXIoemlwNjQpKQorICAgICAgICAgICAgc2VsZi5mcC53cml0ZShkYXRhKQorICAgICAgICAgICAgaWYgemluZm8uZmxhZ19iaXRzICYgMHgwODoKKyAgICAgICAgICAgICAgICAjIFdyaXRlIENSQyBhbmQgZmlsZSBzaXplcyBhZnRlciB0aGUgZmlsZSBkYXRhCisgICAgICAgICAgICAgICAgZm10ID0gJzxMUVEnIGlmIHppcDY0IGVsc2UgJzxMTEwnCisgICAgICAgICAgICAgICAgc2VsZi5mcC53cml0ZShzdHJ1Y3QucGFjayhmbXQsIHppbmZvLkNSQywgemluZm8uY29tcHJlc3Nfc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHppbmZvLmZpbGVfc2l6ZSkpCisgICAgICAgICAgICBzZWxmLmZwLmZsdXNoKCkKKyAgICAgICAgICAgIHNlbGYuc3RhcnRfZGlyID0gc2VsZi5mcC50ZWxsKCkKKyAgICAgICAgICAgIHNlbGYuZmlsZWxpc3QuYXBwZW5kKHppbmZvKQorICAgICAgICAgICAgc2VsZi5OYW1lVG9JbmZvW3ppbmZvLmZpbGVuYW1lXSA9IHppbmZvCiAKICAgICBkZWYgX19kZWxfXyhzZWxmKToKICAgICAgICAgIiIiQ2FsbCB0aGUgImNsb3NlKCkiIG1ldGhvZCBpbiBjYXNlIHRoZSB1c2VyIGZvcmdvdC4iIiIKQEAgLTE0NzMsMTExICsxNTU2LDEyNCBAQAogCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGlmIHNlbGYubW9kZSBpbiAoInciLCAiYSIpIGFuZCBzZWxmLl9kaWRNb2RpZnk6ICMgd3JpdGUgZW5kaW5nIHJlY29yZHMKLSAgICAgICAgICAgICAgICBwb3MxID0gc2VsZi5mcC50ZWxsKCkKLSAgICAgICAgICAgICAgICBmb3IgemluZm8gaW4gc2VsZi5maWxlbGlzdDogICAgICAgICAjIHdyaXRlIGNlbnRyYWwgZGlyZWN0b3J5Ci0gICAgICAgICAgICAgICAgICAgIGR0ID0gemluZm8uZGF0ZV90aW1lCi0gICAgICAgICAgICAgICAgICAgIGRvc2RhdGUgPSAoZHRbMF0gLSAxOTgwKSA8PCA5IHwgZHRbMV0gPDwgNSB8IGR0WzJdCi0gICAgICAgICAgICAgICAgICAgIGRvc3RpbWUgPSBkdFszXSA8PCAxMSB8IGR0WzRdIDw8IDUgfCAoZHRbNV0gLy8gMikKLSAgICAgICAgICAgICAgICAgICAgZXh0cmEgPSBbXQotICAgICAgICAgICAgICAgICAgICBpZiB6aW5mby5maWxlX3NpemUgPiBaSVA2NF9MSU1JVCBcCi0gICAgICAgICAgICAgICAgICAgICAgIG9yIHppbmZvLmNvbXByZXNzX3NpemUgPiBaSVA2NF9MSU1JVDoKLSAgICAgICAgICAgICAgICAgICAgICAgIGV4dHJhLmFwcGVuZCh6aW5mby5maWxlX3NpemUpCi0gICAgICAgICAgICAgICAgICAgICAgICBleHRyYS5hcHBlbmQoemluZm8uY29tcHJlc3Nfc2l6ZSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVfc2l6ZSA9IDB4ZmZmZmZmZmYKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbXByZXNzX3NpemUgPSAweGZmZmZmZmZmCi0gICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICBmaWxlX3NpemUgPSB6aW5mby5maWxlX3NpemUKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbXByZXNzX3NpemUgPSB6aW5mby5jb21wcmVzc19zaXplCi0KLSAgICAgICAgICAgICAgICAgICAgaWYgemluZm8uaGVhZGVyX29mZnNldCA+IFpJUDY0X0xJTUlUOgotICAgICAgICAgICAgICAgICAgICAgICAgZXh0cmEuYXBwZW5kKHppbmZvLmhlYWRlcl9vZmZzZXQpCi0gICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJfb2Zmc2V0ID0gMHhmZmZmZmZmZgotICAgICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyX29mZnNldCA9IHppbmZvLmhlYWRlcl9vZmZzZXQKLQotICAgICAgICAgICAgICAgICAgICBleHRyYV9kYXRhID0gemluZm8uZXh0cmEKLSAgICAgICAgICAgICAgICAgICAgbWluX3ZlcnNpb24gPSAwCi0gICAgICAgICAgICAgICAgICAgIGlmIGV4dHJhOgotICAgICAgICAgICAgICAgICAgICAgICAgIyBBcHBlbmQgYSBaSVA2NCBmaWVsZCB0byB0aGUgZXh0cmEncwotICAgICAgICAgICAgICAgICAgICAgICAgZXh0cmFfZGF0YSA9IHN0cnVjdC5wYWNrKAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8SEgnICsgJ1EnKmxlbihleHRyYSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgMSwgOCpsZW4oZXh0cmEpLCAqZXh0cmEpICsgZXh0cmFfZGF0YQotCi0gICAgICAgICAgICAgICAgICAgICAgICBtaW5fdmVyc2lvbiA9IFpJUDY0X1ZFUlNJT04KLQotICAgICAgICAgICAgICAgICAgICBpZiB6aW5mby5jb21wcmVzc190eXBlID09IFpJUF9CWklQMjoKLSAgICAgICAgICAgICAgICAgICAgICAgIG1pbl92ZXJzaW9uID0gbWF4KEJaSVAyX1ZFUlNJT04sIG1pbl92ZXJzaW9uKQotICAgICAgICAgICAgICAgICAgICBlbGlmIHppbmZvLmNvbXByZXNzX3R5cGUgPT0gWklQX0xaTUE6Ci0gICAgICAgICAgICAgICAgICAgICAgICBtaW5fdmVyc2lvbiA9IG1heChMWk1BX1ZFUlNJT04sIG1pbl92ZXJzaW9uKQotCi0gICAgICAgICAgICAgICAgICAgIGV4dHJhY3RfdmVyc2lvbiA9IG1heChtaW5fdmVyc2lvbiwgemluZm8uZXh0cmFjdF92ZXJzaW9uKQotICAgICAgICAgICAgICAgICAgICBjcmVhdGVfdmVyc2lvbiA9IG1heChtaW5fdmVyc2lvbiwgemluZm8uY3JlYXRlX3ZlcnNpb24pCisgICAgICAgICAgICAgICAgd2l0aCBzZWxmLl9sb2NrOgogICAgICAgICAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgICAgICAgICBmaWxlbmFtZSwgZmxhZ19iaXRzID0gemluZm8uX2VuY29kZUZpbGVuYW1lRmxhZ3MoKQotICAgICAgICAgICAgICAgICAgICAgICAgY2VudGRpciA9IHN0cnVjdC5wYWNrKHN0cnVjdENlbnRyYWxEaXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nQ2VudHJhbERpciwgY3JlYXRlX3ZlcnNpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgemluZm8uY3JlYXRlX3N5c3RlbSwgZXh0cmFjdF92ZXJzaW9uLCB6aW5mby5yZXNlcnZlZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGFnX2JpdHMsIHppbmZvLmNvbXByZXNzX3R5cGUsIGRvc3RpbWUsIGRvc2RhdGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgemluZm8uQ1JDLCBjb21wcmVzc19zaXplLCBmaWxlX3NpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuKGZpbGVuYW1lKSwgbGVuKGV4dHJhX2RhdGEpLCBsZW4oemluZm8uY29tbWVudCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgemluZm8uaW50ZXJuYWxfYXR0ciwgemluZm8uZXh0ZXJuYWxfYXR0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJfb2Zmc2V0KQotICAgICAgICAgICAgICAgICAgICBleGNlcHQgRGVwcmVjYXRpb25XYXJuaW5nOgotICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnQoKHN0cnVjdENlbnRyYWxEaXIsIHN0cmluZ0NlbnRyYWxEaXIsIGNyZWF0ZV92ZXJzaW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHppbmZvLmNyZWF0ZV9zeXN0ZW0sIGV4dHJhY3RfdmVyc2lvbiwgemluZm8ucmVzZXJ2ZWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgemluZm8uZmxhZ19iaXRzLCB6aW5mby5jb21wcmVzc190eXBlLCBkb3N0aW1lLCBkb3NkYXRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHppbmZvLkNSQywgY29tcHJlc3Nfc2l6ZSwgZmlsZV9zaXplLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbih6aW5mby5maWxlbmFtZSksIGxlbihleHRyYV9kYXRhKSwgbGVuKHppbmZvLmNvbW1lbnQpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIHppbmZvLmludGVybmFsX2F0dHIsIHppbmZvLmV4dGVybmFsX2F0dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyX29mZnNldCksIGZpbGU9c3lzLnN0ZGVycikKLSAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlCi0gICAgICAgICAgICAgICAgICAgIHNlbGYuZnAud3JpdGUoY2VudGRpcikKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5mcC53cml0ZShmaWxlbmFtZSkKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5mcC53cml0ZShleHRyYV9kYXRhKQotICAgICAgICAgICAgICAgICAgICBzZWxmLmZwLndyaXRlKHppbmZvLmNvbW1lbnQpCi0KLSAgICAgICAgICAgICAgICBwb3MyID0gc2VsZi5mcC50ZWxsKCkKLSAgICAgICAgICAgICAgICAjIFdyaXRlIGVuZC1vZi16aXAtYXJjaGl2ZSByZWNvcmQKLSAgICAgICAgICAgICAgICBjZW50RGlyQ291bnQgPSBsZW4oc2VsZi5maWxlbGlzdCkKLSAgICAgICAgICAgICAgICBjZW50RGlyU2l6ZSA9IHBvczIgLSBwb3MxCi0gICAgICAgICAgICAgICAgY2VudERpck9mZnNldCA9IHBvczEKLSAgICAgICAgICAgICAgICByZXF1aXJlc196aXA2NCA9IE5vbmUKLSAgICAgICAgICAgICAgICBpZiBjZW50RGlyQ291bnQgPiBaSVBfRklMRUNPVU5UX0xJTUlUOgotICAgICAgICAgICAgICAgICAgICByZXF1aXJlc196aXA2NCA9ICJGaWxlcyBjb3VudCIKLSAgICAgICAgICAgICAgICBlbGlmIGNlbnREaXJPZmZzZXQgPiBaSVA2NF9MSU1JVDoKLSAgICAgICAgICAgICAgICAgICAgcmVxdWlyZXNfemlwNjQgPSAiQ2VudHJhbCBkaXJlY3Rvcnkgb2Zmc2V0IgotICAgICAgICAgICAgICAgIGVsaWYgY2VudERpclNpemUgPiBaSVA2NF9MSU1JVDoKLSAgICAgICAgICAgICAgICAgICAgcmVxdWlyZXNfemlwNjQgPSAiQ2VudHJhbCBkaXJlY3Rvcnkgc2l6ZSIKLSAgICAgICAgICAgICAgICBpZiByZXF1aXJlc196aXA2NDoKLSAgICAgICAgICAgICAgICAgICAgIyBOZWVkIHRvIHdyaXRlIHRoZSBaSVA2NCBlbmQtb2YtYXJjaGl2ZSByZWNvcmRzCi0gICAgICAgICAgICAgICAgICAgIGlmIG5vdCBzZWxmLl9hbGxvd1ppcDY0OgotICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgTGFyZ2VaaXBGaWxlKHJlcXVpcmVzX3ppcDY0ICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIHdvdWxkIHJlcXVpcmUgWklQNjQgZXh0ZW5zaW9ucyIpCi0gICAgICAgICAgICAgICAgICAgIHppcDY0ZW5kcmVjID0gc3RydWN0LnBhY2soCi0gICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3RFbmRBcmNoaXZlNjQsIHN0cmluZ0VuZEFyY2hpdmU2NCwKLSAgICAgICAgICAgICAgICAgICAgICAgIDQ0LCA0NSwgNDUsIDAsIDAsIGNlbnREaXJDb3VudCwgY2VudERpckNvdW50LAotICAgICAgICAgICAgICAgICAgICAgICAgY2VudERpclNpemUsIGNlbnREaXJPZmZzZXQpCi0gICAgICAgICAgICAgICAgICAgIHNlbGYuZnAud3JpdGUoemlwNjRlbmRyZWMpCi0KLSAgICAgICAgICAgICAgICAgICAgemlwNjRsb2NyZWMgPSBzdHJ1Y3QucGFjaygKLSAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdEVuZEFyY2hpdmU2NExvY2F0b3IsCi0gICAgICAgICAgICAgICAgICAgICAgICBzdHJpbmdFbmRBcmNoaXZlNjRMb2NhdG9yLCAwLCBwb3MyLCAxKQotICAgICAgICAgICAgICAgICAgICBzZWxmLmZwLndyaXRlKHppcDY0bG9jcmVjKQotICAgICAgICAgICAgICAgICAgICBjZW50RGlyQ291bnQgPSBtaW4oY2VudERpckNvdW50LCAweEZGRkYpCi0gICAgICAgICAgICAgICAgICAgIGNlbnREaXJTaXplID0gbWluKGNlbnREaXJTaXplLCAweEZGRkZGRkZGKQotICAgICAgICAgICAgICAgICAgICBjZW50RGlyT2Zmc2V0ID0gbWluKGNlbnREaXJPZmZzZXQsIDB4RkZGRkZGRkYpCi0KLSAgICAgICAgICAgICAgICBlbmRyZWMgPSBzdHJ1Y3QucGFjayhzdHJ1Y3RFbmRBcmNoaXZlLCBzdHJpbmdFbmRBcmNoaXZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIDAsIGNlbnREaXJDb3VudCwgY2VudERpckNvdW50LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlbnREaXJTaXplLCBjZW50RGlyT2Zmc2V0LCBsZW4oc2VsZi5fY29tbWVudCkpCi0gICAgICAgICAgICAgICAgc2VsZi5mcC53cml0ZShlbmRyZWMpCi0gICAgICAgICAgICAgICAgc2VsZi5mcC53cml0ZShzZWxmLl9jb21tZW50KQotICAgICAgICAgICAgICAgIHNlbGYuZnAuZmx1c2goKQorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5mcC5zZWVrKHNlbGYuc3RhcnRfZGlyKQorICAgICAgICAgICAgICAgICAgICBleGNlcHQgKEF0dHJpYnV0ZUVycm9yLCBpby5VbnN1cHBvcnRlZE9wZXJhdGlvbik6CisgICAgICAgICAgICAgICAgICAgICAgICAjIFNvbWUgZmlsZS1saWtlIG9iamVjdHMgY2FuIHByb3ZpZGUgdGVsbCgpIGJ1dCBub3Qgc2VlaygpCisgICAgICAgICAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgICAgICAgICAgICAgIHNlbGYuX3dyaXRlX2VuZF9yZWNvcmQoKQogICAgICAgICBmaW5hbGx5OgogICAgICAgICAgICAgZnAgPSBzZWxmLmZwCiAgICAgICAgICAgICBzZWxmLmZwID0gTm9uZQotICAgICAgICAgICAgaWYgbm90IHNlbGYuX2ZpbGVQYXNzZWQ6Ci0gICAgICAgICAgICAgICAgZnAuY2xvc2UoKQorICAgICAgICAgICAgc2VsZi5fZnBjbG9zZShmcCkKKworICAgIGRlZiBfd3JpdGVfZW5kX3JlY29yZChzZWxmKToKKyAgICAgICAgZm9yIHppbmZvIGluIHNlbGYuZmlsZWxpc3Q6ICAgICAgICAgIyB3cml0ZSBjZW50cmFsIGRpcmVjdG9yeQorICAgICAgICAgICAgZHQgPSB6aW5mby5kYXRlX3RpbWUKKyAgICAgICAgICAgIGRvc2RhdGUgPSAoZHRbMF0gLSAxOTgwKSA8PCA5IHwgZHRbMV0gPDwgNSB8IGR0WzJdCisgICAgICAgICAgICBkb3N0aW1lID0gZHRbM10gPDwgMTEgfCBkdFs0XSA8PCA1IHwgKGR0WzVdIC8vIDIpCisgICAgICAgICAgICBleHRyYSA9IFtdCisgICAgICAgICAgICBpZiB6aW5mby5maWxlX3NpemUgPiBaSVA2NF9MSU1JVCBcCisgICAgICAgICAgICAgICBvciB6aW5mby5jb21wcmVzc19zaXplID4gWklQNjRfTElNSVQ6CisgICAgICAgICAgICAgICAgZXh0cmEuYXBwZW5kKHppbmZvLmZpbGVfc2l6ZSkKKyAgICAgICAgICAgICAgICBleHRyYS5hcHBlbmQoemluZm8uY29tcHJlc3Nfc2l6ZSkKKyAgICAgICAgICAgICAgICBmaWxlX3NpemUgPSAweGZmZmZmZmZmCisgICAgICAgICAgICAgICAgY29tcHJlc3Nfc2l6ZSA9IDB4ZmZmZmZmZmYKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgZmlsZV9zaXplID0gemluZm8uZmlsZV9zaXplCisgICAgICAgICAgICAgICAgY29tcHJlc3Nfc2l6ZSA9IHppbmZvLmNvbXByZXNzX3NpemUKKworICAgICAgICAgICAgaWYgemluZm8uaGVhZGVyX29mZnNldCA+IFpJUDY0X0xJTUlUOgorICAgICAgICAgICAgICAgIGV4dHJhLmFwcGVuZCh6aW5mby5oZWFkZXJfb2Zmc2V0KQorICAgICAgICAgICAgICAgIGhlYWRlcl9vZmZzZXQgPSAweGZmZmZmZmZmCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGhlYWRlcl9vZmZzZXQgPSB6aW5mby5oZWFkZXJfb2Zmc2V0CisKKyAgICAgICAgICAgIGV4dHJhX2RhdGEgPSB6aW5mby5leHRyYQorICAgICAgICAgICAgbWluX3ZlcnNpb24gPSAwCisgICAgICAgICAgICBpZiBleHRyYToKKyAgICAgICAgICAgICAgICAjIEFwcGVuZCBhIFpJUDY0IGZpZWxkIHRvIHRoZSBleHRyYSdzCisgICAgICAgICAgICAgICAgZXh0cmFfZGF0YSA9IHN0cnVjdC5wYWNrKAorICAgICAgICAgICAgICAgICAgICAnPEhIJyArICdRJypsZW4oZXh0cmEpLAorICAgICAgICAgICAgICAgICAgICAxLCA4KmxlbihleHRyYSksICpleHRyYSkgKyBleHRyYV9kYXRhCisKKyAgICAgICAgICAgICAgICBtaW5fdmVyc2lvbiA9IFpJUDY0X1ZFUlNJT04KKworICAgICAgICAgICAgaWYgemluZm8uY29tcHJlc3NfdHlwZSA9PSBaSVBfQlpJUDI6CisgICAgICAgICAgICAgICAgbWluX3ZlcnNpb24gPSBtYXgoQlpJUDJfVkVSU0lPTiwgbWluX3ZlcnNpb24pCisgICAgICAgICAgICBlbGlmIHppbmZvLmNvbXByZXNzX3R5cGUgPT0gWklQX0xaTUE6CisgICAgICAgICAgICAgICAgbWluX3ZlcnNpb24gPSBtYXgoTFpNQV9WRVJTSU9OLCBtaW5fdmVyc2lvbikKKworICAgICAgICAgICAgZXh0cmFjdF92ZXJzaW9uID0gbWF4KG1pbl92ZXJzaW9uLCB6aW5mby5leHRyYWN0X3ZlcnNpb24pCisgICAgICAgICAgICBjcmVhdGVfdmVyc2lvbiA9IG1heChtaW5fdmVyc2lvbiwgemluZm8uY3JlYXRlX3ZlcnNpb24pCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgZmlsZW5hbWUsIGZsYWdfYml0cyA9IHppbmZvLl9lbmNvZGVGaWxlbmFtZUZsYWdzKCkKKyAgICAgICAgICAgICAgICBjZW50ZGlyID0gc3RydWN0LnBhY2soc3RydWN0Q2VudHJhbERpciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nQ2VudHJhbERpciwgY3JlYXRlX3ZlcnNpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHppbmZvLmNyZWF0ZV9zeXN0ZW0sIGV4dHJhY3RfdmVyc2lvbiwgemluZm8ucmVzZXJ2ZWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYWdfYml0cywgemluZm8uY29tcHJlc3NfdHlwZSwgZG9zdGltZSwgZG9zZGF0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgemluZm8uQ1JDLCBjb21wcmVzc19zaXplLCBmaWxlX3NpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbihmaWxlbmFtZSksIGxlbihleHRyYV9kYXRhKSwgbGVuKHppbmZvLmNvbW1lbnQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCB6aW5mby5pbnRlcm5hbF9hdHRyLCB6aW5mby5leHRlcm5hbF9hdHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJfb2Zmc2V0KQorICAgICAgICAgICAgZXhjZXB0IERlcHJlY2F0aW9uV2FybmluZzoKKyAgICAgICAgICAgICAgICBwcmludCgoc3RydWN0Q2VudHJhbERpciwgc3RyaW5nQ2VudHJhbERpciwgY3JlYXRlX3ZlcnNpb24sCisgICAgICAgICAgICAgICAgICAgICAgIHppbmZvLmNyZWF0ZV9zeXN0ZW0sIGV4dHJhY3RfdmVyc2lvbiwgemluZm8ucmVzZXJ2ZWQsCisgICAgICAgICAgICAgICAgICAgICAgIHppbmZvLmZsYWdfYml0cywgemluZm8uY29tcHJlc3NfdHlwZSwgZG9zdGltZSwgZG9zZGF0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgemluZm8uQ1JDLCBjb21wcmVzc19zaXplLCBmaWxlX3NpemUsCisgICAgICAgICAgICAgICAgICAgICAgIGxlbih6aW5mby5maWxlbmFtZSksIGxlbihleHRyYV9kYXRhKSwgbGVuKHppbmZvLmNvbW1lbnQpLAorICAgICAgICAgICAgICAgICAgICAgICAwLCB6aW5mby5pbnRlcm5hbF9hdHRyLCB6aW5mby5leHRlcm5hbF9hdHRyLAorICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJfb2Zmc2V0KSwgZmlsZT1zeXMuc3RkZXJyKQorICAgICAgICAgICAgICAgIHJhaXNlCisgICAgICAgICAgICBzZWxmLmZwLndyaXRlKGNlbnRkaXIpCisgICAgICAgICAgICBzZWxmLmZwLndyaXRlKGZpbGVuYW1lKQorICAgICAgICAgICAgc2VsZi5mcC53cml0ZShleHRyYV9kYXRhKQorICAgICAgICAgICAgc2VsZi5mcC53cml0ZSh6aW5mby5jb21tZW50KQorCisgICAgICAgIHBvczIgPSBzZWxmLmZwLnRlbGwoKQorICAgICAgICAjIFdyaXRlIGVuZC1vZi16aXAtYXJjaGl2ZSByZWNvcmQKKyAgICAgICAgY2VudERpckNvdW50ID0gbGVuKHNlbGYuZmlsZWxpc3QpCisgICAgICAgIGNlbnREaXJTaXplID0gcG9zMiAtIHNlbGYuc3RhcnRfZGlyCisgICAgICAgIGNlbnREaXJPZmZzZXQgPSBzZWxmLnN0YXJ0X2RpcgorICAgICAgICByZXF1aXJlc196aXA2NCA9IE5vbmUKKyAgICAgICAgaWYgY2VudERpckNvdW50ID4gWklQX0ZJTEVDT1VOVF9MSU1JVDoKKyAgICAgICAgICAgIHJlcXVpcmVzX3ppcDY0ID0gIkZpbGVzIGNvdW50IgorICAgICAgICBlbGlmIGNlbnREaXJPZmZzZXQgPiBaSVA2NF9MSU1JVDoKKyAgICAgICAgICAgIHJlcXVpcmVzX3ppcDY0ID0gIkNlbnRyYWwgZGlyZWN0b3J5IG9mZnNldCIKKyAgICAgICAgZWxpZiBjZW50RGlyU2l6ZSA+IFpJUDY0X0xJTUlUOgorICAgICAgICAgICAgcmVxdWlyZXNfemlwNjQgPSAiQ2VudHJhbCBkaXJlY3Rvcnkgc2l6ZSIKKyAgICAgICAgaWYgcmVxdWlyZXNfemlwNjQ6CisgICAgICAgICAgICAjIE5lZWQgdG8gd3JpdGUgdGhlIFpJUDY0IGVuZC1vZi1hcmNoaXZlIHJlY29yZHMKKyAgICAgICAgICAgIGlmIG5vdCBzZWxmLl9hbGxvd1ppcDY0OgorICAgICAgICAgICAgICAgIHJhaXNlIExhcmdlWmlwRmlsZShyZXF1aXJlc196aXA2NCArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgd291bGQgcmVxdWlyZSBaSVA2NCBleHRlbnNpb25zIikKKyAgICAgICAgICAgIHppcDY0ZW5kcmVjID0gc3RydWN0LnBhY2soCisgICAgICAgICAgICAgICAgc3RydWN0RW5kQXJjaGl2ZTY0LCBzdHJpbmdFbmRBcmNoaXZlNjQsCisgICAgICAgICAgICAgICAgNDQsIDQ1LCA0NSwgMCwgMCwgY2VudERpckNvdW50LCBjZW50RGlyQ291bnQsCisgICAgICAgICAgICAgICAgY2VudERpclNpemUsIGNlbnREaXJPZmZzZXQpCisgICAgICAgICAgICBzZWxmLmZwLndyaXRlKHppcDY0ZW5kcmVjKQorCisgICAgICAgICAgICB6aXA2NGxvY3JlYyA9IHN0cnVjdC5wYWNrKAorICAgICAgICAgICAgICAgIHN0cnVjdEVuZEFyY2hpdmU2NExvY2F0b3IsCisgICAgICAgICAgICAgICAgc3RyaW5nRW5kQXJjaGl2ZTY0TG9jYXRvciwgMCwgcG9zMiwgMSkKKyAgICAgICAgICAgIHNlbGYuZnAud3JpdGUoemlwNjRsb2NyZWMpCisgICAgICAgICAgICBjZW50RGlyQ291bnQgPSBtaW4oY2VudERpckNvdW50LCAweEZGRkYpCisgICAgICAgICAgICBjZW50RGlyU2l6ZSA9IG1pbihjZW50RGlyU2l6ZSwgMHhGRkZGRkZGRikKKyAgICAgICAgICAgIGNlbnREaXJPZmZzZXQgPSBtaW4oY2VudERpck9mZnNldCwgMHhGRkZGRkZGRikKKworICAgICAgICBlbmRyZWMgPSBzdHJ1Y3QucGFjayhzdHJ1Y3RFbmRBcmNoaXZlLCBzdHJpbmdFbmRBcmNoaXZlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAwLCBjZW50RGlyQ291bnQsIGNlbnREaXJDb3VudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VudERpclNpemUsIGNlbnREaXJPZmZzZXQsIGxlbihzZWxmLl9jb21tZW50KSkKKyAgICAgICAgc2VsZi5mcC53cml0ZShlbmRyZWMpCisgICAgICAgIHNlbGYuZnAud3JpdGUoc2VsZi5fY29tbWVudCkKKyAgICAgICAgc2VsZi5mcC5mbHVzaCgpCisKKyAgICBkZWYgX2ZwY2xvc2Uoc2VsZiwgZnApOgorICAgICAgICBhc3NlcnQgc2VsZi5fZmlsZVJlZkNudCA+IDAKKyAgICAgICAgc2VsZi5fZmlsZVJlZkNudCAtPSAxCisgICAgICAgIGlmIG5vdCBzZWxmLl9maWxlUmVmQ250IGFuZCBub3Qgc2VsZi5fZmlsZVBhc3NlZDoKKyAgICAgICAgICAgIGZwLmNsb3NlKCkKIAogCiBjbGFzcyBQeVppcEZpbGUoWmlwRmlsZSk6CmRpZmYgLS1naXQgYS9NYWMvQnVpbGRTY3JpcHQvUkVBRE1FLnR4dCBiL01hYy9CdWlsZFNjcmlwdC9SRUFETUUudHh0CmluZGV4IDhlYjUzOWMuLjNjZWQwNjYgMTAwNjQ0Ci0tLSBhL01hYy9CdWlsZFNjcmlwdC9SRUFETUUudHh0CisrKyBiL01hYy9CdWlsZFNjcmlwdC9SRUFETUUudHh0CkBAIC0xLDI1ICsxLDE1IEBACiBCdWlsZGluZyBhIFB5dGhvbiBNYWMgT1MgWCBkaXN0cmlidXRpb24KID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCi1UaGUgYGBidWlsZC1pbnN0YWxsZXIucHlgYCBzY3JpcHQgY3JlYXRlcyBQeXRob24gZGlzdHJpYnV0aW9ucywgaW5jbHVkaW5nCitUaGUgYGBidWlsZC1pbnN0YWxsLnB5YGAgc2NyaXB0IGNyZWF0ZXMgUHl0aG9uIGRpc3RyaWJ1dGlvbnMsIGluY2x1ZGluZwogY2VydGFpbiB0aGlyZC1wYXJ0eSBsaWJyYXJpZXMgYXMgbmVjZXNzYXJ5LiAgSXQgYnVpbGRzIGEgY29tcGxldGUgCiBmcmFtZXdvcmstYmFzZWQgUHl0aG9uIG91dC1vZi10cmVlLCBpbnN0YWxscyBpdCBpbiBhIGZ1bm55IHBsYWNlIHdpdGggCiAkREVTVFJPT1QsIG1hc3NhZ2VzIHRoYXQgaW5zdGFsbGF0aW9uIHRvIHJlbW92ZSAucHljIGZpbGVzIGFuZCBzdWNoLCBjcmVhdGVzIAogYW4gSW5zdGFsbGVyIHBhY2thZ2UgZnJvbSB0aGUgaW5zdGFsbGF0aW9uIHBsdXMgb3RoZXIgZmlsZXMgaW4gYGByZXNvdXJjZXNgYCAKIGFuZCBgYHNjcmlwdHNgYCBhbmQgcGxhY2VkIHRoYXQgb24gYSBgYC5kbWdgYCBkaXNrIGltYWdlLgogCi1UaGlzIGluc3RhbGxlcnMgYnVpbHQgYnkgdGhpcyBzY3JpcHQgYXJlIGxlZ2FjeSBidW5kbGUgaW5zdGFsbGVycyB0aGF0IGhhdmUKLWJlZW4gc3VwcG9ydGVkIGZyb20gdGhlIGVhcmx5IGRheXMgb2YgT1MgWC4gIEluIHBhcnRpY3VsYXIsIHRoZXkgYXJlIHN1cHBvcnRlZAotb24gT1MgWCAxMC4zLjksIHRoZSBlYXJsaWVzdCBzdXBwb3J0ZWQgcmVsZWFzZSBmb3IgYnVpbGRzIGZyb20gdGhpcyBzY3JpcHQuCi0KLUJlZ2lubmluZyB3aXRoIFB5dGhvbiAzLjQuMiwgUFNGIHByYWN0aWNlIGlzIHRvIGJ1aWxkIHR3byBpbnN0YWxsZXIgdmFyaWFudHMKLXVzaW5nIHRoZSBuZXdlciBmbGF0IHBhY2thZ2UgZm9ybWF0LCBzdXBwb3J0ZWQgb24gMTAuNSssIGFuZCBzaWduZWQgd2l0aCB0aGUKLWJ1aWxkZXIncyBBcHBsZSBkZXZlbG9wZXIga2V5LCBhbGxvd2luZyBkb3dubG9hZGVkIHBhY2thZ2VzIHRvIHNhdGlzZnkgQXBwbGUncwotZGVmYXVsdCBHYXRla2VlcGVyIHBvbGljeSAoZS5nLiBzdGFydGluZyB3aXRoIDEwLjgsIEFwcGxlIHN0b3JlIGRvd25sb2FkcyBhbmQKLUFwcGxlIGRldmVsb3BlciBJRCBzaWduZWQgYXBwcyBhbmQgaW5zdGFsbGVyIHBhY2thZ2VzKS4gIFRoZSBwcm9jZXNzIGZvcgotdHJhbnNmb3JtaW5nIHRoZSBvdXRwdXQgYnVpbGQgYXJ0aWZhY3RzIGludG8gc2lnbmVkIGZsYXQgcGFja2FnZXMgaXMgbm90Ci15ZXQgaW50ZWdyYXRlZCBpbnRvIGBgYnVpbGQtaW5zdGFsbGVyLnB5YGAuICBUaGUgc3RlcHMgcHJpb3IgdG8gdGhlIGZsYXQKLXBhY2thZ2UgY3JlYXRpb24gYXJlIHRoZSBzYW1lIGFzIGZvciAzLjQuMSBiZWxvdy4KK0ZvciBQeXRob24gMy40LjAsIFBTRiBwcmFjdGljZSBpcyB0byBidWlsZCB0d28gaW5zdGFsbGVyIHZhcmlhbnRzCitmb3IgZWFjaCByZWxlYXNlLgogCiAxLiAgMzItYml0LW9ubHksIGkzODYgYW5kIFBQQyB1bml2ZXJzYWwsIGNhcGFibGUgb24gcnVubmluZyBvbiBhbGwgbWFjaGluZXMKICAgICBzdXBwb3J0ZWQgYnkgTWFjIE9TIFggMTAuNSB0aHJvdWdoIChhdCBsZWFzdCkgMTAuOTo6CkBAIC0zMSw3ICsyMSw2IEBACiAKICAgICAtIGJ1aWxkcyB0aGUgZm9sbG93aW5nIHRoaXJkLXBhcnR5IGxpYnJhcmllcwogCi0gICAgICAgICogbGliY3J5cHRvIGFuZCBsaWJzc2wgZnJvbSBPcGVuU1NMIDEuMC4xIChuZXcsIGFzIG9mIDMuNC4zKQogICAgICAgICAqIE5DdXJzZXMgNS45IChodHRwOi8vYnVncy5weXRob24ub3JnL2lzc3VlMTUwMzcpCiAgICAgICAgICogU1FMaXRlIDMuOC4zLjEKICAgICAgICAgKiBYWiA1LjAuNQpAQCAtNzMsNyArNjIsNiBAQAogCiAgICAgLSB1c2VzIHN5c3RlbS1zdXBwbGllZCB2ZXJzaW9ucyBvZiB0aGlyZC1wYXJ0eSBsaWJyYXJpZXMKIAotICAgICAgICAqIGxpYmNyeXB0byBhbmQgbGlic3NsIGZyb20gQXBwbGUgT3BlblNTTCAwLjkuOAogICAgICAgICAqIHJlYWRsaW5lIG1vZHVsZSBsaW5rcyB3aXRoIEFwcGxlIEJTRCBlZGl0bGluZSAobGliZWRpdCkKIAogICAgIC0gcmVxdWlyZXMgQWN0aXZlU3RhdGUgVGNsL1RrIDguNS4xNS4xIChvciBsYXRlcikgdG8gYmUgaW5zdGFsbGVkIGZvciBidWlsZGluZwpAQCAtMTAyLDYgKzkwLDQ3IEBACiAgICAgICAgICAgdGhhdCB0aGUgWGNvZGUgMyBnY2MtNC4yIGNvbXBpbGVyIGhhcyBoYWQuCiAKIAorKiAgIEZvciBQeXRob24gMi43LnggYW5kIDMuMi54LCB0aGUgMzItYml0LW9ubHkgaW5zdGFsbGVyIHdhcyBjb25maWd1cmVkIHRvCisgICAgc3VwcG9ydCBNYWMgT1MgWCAxMC4zLjkgdGhyb3VnaCAoYXQgbGVhc3QpIDEwLjYuICBCZWNhdXNlIGl0IGlzCisgICAgYmVsaWV2ZWQgdGhhdCB0aGVyZSBhcmUgZmV3IHN5c3RlbXMgc3RpbGwgcnVubmluZyBPUyBYIDEwLjMgb3IgMTAuNAorICAgIGFuZCBiZWNhdXNlIGl0IGhhcyBiZWNvbWUgaW5jcmVhc2luZ2x5IGRpZmZpY3VsdCB0byB0ZXN0IGFuZAorICAgIHN1cHBvcnQgdGhlIGRpZmZlcmVuY2VzIGluIHRoZXNlIGVhcmxpZXIgc3lzdGVtcywgYXMgb2YgUHl0aG9uIDMuMy4wIHRoZSBQU0YKKyAgICAzMi1iaXQgaW5zdGFsbGVyIG5vIGxvbmdlciBzdXBwb3J0cyB0aGVtLiAgRm9yIHJlZmVyZW5jZSBpbiBidWlsZGluZyBzdWNoCisgICAgYW4gaW5zdGFsbGVyIHlvdXJzZWxmLCB0aGUgZGV0YWlscyBhcmU6OgorCisgICAgICAgIC91c3IvYmluL3B5dGhvbiBidWlsZC1pbnN0YWxsZXIucHkgXAorICAgICAgICAgICAgLS1zZGstcGF0aD0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYMTAuNHUuc2RrIFwKKyAgICAgICAgICAgIC0tdW5pdmVyc2FsLWFyY2hzPTMyLWJpdCBcCisgICAgICAgICAgICAtLWRlcC10YXJnZXQ9MTAuMyAKKworICAgIC0gYnVpbGRzIHRoZSBmb2xsb3dpbmcgdGhpcmQtcGFydHkgbGlicmFyaWVzCisKKyAgICAgICAgKiBCemlwMgorICAgICAgICAqIE5DdXJzZXMKKyAgICAgICAgKiBHTlUgUmVhZGxpbmUgKEdQTCkKKyAgICAgICAgKiBTUUxpdGUgMworICAgICAgICAqIFhaCisgICAgICAgICogWmxpYiAxLjIuMworICAgICAgICAqIE9yYWNsZSBTbGVlcHljYXQgREIgNC44IChQeXRob24gMi54IG9ubHkpCisKKyAgICAtIHJlcXVpcmVzIEFjdGl2ZVN0YXRlIGBgVGNsL1RrIDguNGBgIChjdXJyZW50bHkgOC40LjIwKSB0byBiZSBpbnN0YWxsZWQgZm9yIGJ1aWxkaW5nCisKKyAgICAtIHJlY29tbWVuZGVkIGJ1aWxkIGVudmlyb25tZW50OgorICAgICAgICAKKyAgICAgICAgKiBNYWMgT1MgWCAxMC41LjggUFBDIG9yIEludGVsCisgICAgICAgICogWGNvZGUgMy4xLjQgKG9yIGxhdGVyKQorICAgICAgICAqIGBgTWFjT1NYMTAuNHVgYCBTREsgKGxhdGVyIFNES3MgZG8gbm90IHN1cHBvcnQgUFBDIEczIHByb2Nlc3NvcnMpCisgICAgICAgICogYGBNQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVQ9MTAuM2BgCisgICAgICAgICogQXBwbGUgYGBnY2MtNC4wYGAKKyAgICAgICAgKiBzeXN0ZW0gUHl0aG9uIDIuNSBmb3IgZG9jdW1lbnRhdGlvbiBidWlsZCB3aXRoIFNwaGlueAorCisgICAgLSBhbHRlcm5hdGUgYnVpbGQgZW52aXJvbm1lbnRzOgorCisgICAgICAgICogTWFjIE9TIFggMTAuNi44IHdpdGggWGNvZGUgMy4yLjYKKyAgICAgICAgICAgIC0gbmVlZCB0byBjaGFuZ2UgYGAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy97VGNsLFRrfS5mcmFtZXdvcmsvVmVyc2lvbi9DdXJyZW50YGAgdG8gYGA4LjRgYAorCisKKwogR2VuZXJhbCBQcmVyZXF1aXNpdGVzCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIApkaWZmIC0tZ2l0IGEvTWFjL0J1aWxkU2NyaXB0L3Jlc291cmNlcy9SZWFkTWUucnRmIGIvTWFjL0J1aWxkU2NyaXB0L3Jlc291cmNlcy9SZWFkTWUucnRmCmluZGV4IDFiYmRjMWEuLmUyNDA0NDggMTAwNjQ0Ci0tLSBhL01hYy9CdWlsZFNjcmlwdC9yZXNvdXJjZXMvUmVhZE1lLnJ0ZgorKysgYi9NYWMvQnVpbGRTY3JpcHQvcmVzb3VyY2VzL1JlYWRNZS5ydGYKQEAgLTM2LDExOSArMzYsNiBAQAogXGkwICBmb3IgdGhpcyB2ZXJzaW9uIG9mIFB5dGhvbiBhbmQgb2YgTWFjIE9TIFguXAogCiBcYiBcdWwgXAotSW5zdGFsbGluZyBvbiBPUyBYIDEwLjggKE1vdW50YWluIExpb24pIG9yIGxhdGVyIHN5c3RlbXNcCi1ccGFyZFx0eDcyMFx0eDE0NDBcdHgyMTYwXHR4Mjg4MFx0eDM2MDBcdHg0MzIwXHR4NTA0MFx0eDU3NjBcdHg2NDgwXHR4NzIwMFx0eDc5MjBcdHg4NjQwXHBhcmRpcm5hdHVyYWwKLVxjZjAgXHVsbm9uZSBbQ0hBTkdFRCBmb3IgUHl0aG9uIDMuNC4yXQotXGIwIFwKLVwKLUFzIG9mIFB5dGhvbiAzLjQuMiwgaW5zdGFsbGVyIHBhY2thZ2VzIGZyb20gcHl0aG9uLm9yZyBhcmUgbm93IGNvbXBhdGlibGUgd2l0aCB0aGUgR2F0ZWtlZXBlciBzZWN1cml0eSBmZWF0dXJlIGludHJvZHVjZWQgaW4gT1MgWCAxMC44LiAgIERvd25sb2FkZWQgcGFja2FnZXMgY2FuIG5vdyBiZSBkaXJlY3RseSBpbnN0YWxsZWQgYnkgZG91YmxlLWNsaWNraW5nIHdpdGggdGhlIGRlZmF1bHQgc3lzdGVtIHNlY3VyaXR5IHNldHRpbmdzLiAgUHl0aG9uLm9yZyBpbnN0YWxsZXIgcGFja2FnZXMgZm9yIE9TIFggYXJlIHNpZ25lZCB3aXRoIHRoZSBEZXZlbG9wZXIgSUQgb2YgdGhlIGJ1aWxkZXIsIGFzIGlkZW50aWZpZWQgb24ge1xmaWVsZHtcKlxmbGRpbnN0e0hZUEVSTElOSyAiaHR0cHM6Ly93d3cucHl0aG9uLm9yZy9kb3dubG9hZHMvIn19e1xmbGRyc2x0IHRoZSBkb3dubG9hZCBwYWdlfX0gZm9yIHRoaXMgcmVsZWFzZS4gIFRvIGluc3BlY3QgdGhlIGRpZ2l0YWwgc2lnbmF0dXJlIG9mIHRoZSBwYWNrYWdlLCBjbGljayBvbiB0aGUgbG9jayBpY29uIGluIHRoZSB1cHBlciByaWdodCBjb3JuZXIgb2YgdGhlIAotXGkgSW5zdGFsbCBQeXRob24KLVxpMCAgaW5zdGFsbGVyIHdpbmRvdy4gIFJlZmVyIHRvIEFwcGxlXCc5MnMgc3VwcG9ydCBwYWdlcyBmb3Ige1xmaWVsZHtcKlxmbGRpbnN0e0hZUEVSTElOSyAiaHR0cDovL3N1cHBvcnQuYXBwbGUuY29tL2tiL2h0NTI5MCJ9fXtcZmxkcnNsdCBtb3JlIGluZm9ybWF0aW9uIG9uIEdhdGVrZWVwZXJ9fS5cCi1cCi1ccGFyZFx0eDcyMFx0eDE0NDBcdHgyMTYwXHR4Mjg4MFx0eDM2MDBcdHg0MzIwXHR4NTA0MFx0eDU3NjBcdHg2NDgwXHR4NzIwMFx0eDc5MjBcdHg4NjQwXHBhcmRpcm5hdHVyYWwKLQotXGIgXGNmMCBcdWwgU2ltcGxpZmllZCB3ZWItYmFzZWQgaW5zdGFsbHNcCi1ccGFyZFx0eDcyMFx0eDE0NDBcdHgyMTYwXHR4Mjg4MFx0eDM2MDBcdHg0MzIwXHR4NTA0MFx0eDU3NjBcdHg2NDgwXHR4NzIwMFx0eDc5MjBcdHg4NjQwXHBhcmRpcm5hdHVyYWwKLVxjZjAgXHVsbm9uZSBbTkVXIGZvciBQeXRob24gMy40LjJdCi1cYjAgXAotXAotV2l0aCB0aGUgY2hhbmdlIHRvIHRoZSBuZXdlciBmbGF0IGZvcm1hdCBpbnN0YWxsZXIgcGFja2FnZSwgdGhlIGRvd25sb2FkIGZpbGUgbm93IGhhcyBhIAotXGYxIC5wa2cKLVxmMCAgZXh0ZW5zaW9uIGFzIGl0IGlzIG5vIGxvbmdlciBuZWNlc3NhcnkgdG8gZW1iZWQgdGhlIGluc3RhbGxlciB3aXRoaW4gYSBkaXNrIGltYWdlICgKLVxmMSAuZG1nCi1cZjAgKSBjb250YWluZXIuICAgSWYgeW91IGRvd25sb2FkIHRoZSBQeXRob24gaW5zdGFsbGVyIHRocm91Z2ggYSB3ZWIgYnJvd3NlciwgdGhlIE9TIFggaW5zdGFsbGVyIGFwcGxpY2F0aW9uIG1heSBvcGVuIGF1dG9tYXRpY2FsbHkgdG8gYWxsb3cgeW91IHRvIHBlcmZvcm0gdGhlIGluc3RhbGwuICBJZiB5b3VyIGJyb3dzZXIgc2V0dGluZ3MgZG8gbm90IGFsbG93IGF1dG9tYXRpYyBvcGVuLCBkb3VibGUgY2xpY2sgb24gdGhlIGRvd25sb2FkZWQgaW5zdGFsbGVyIGZpbGUuXAotXAotXHBhcmRcdHg3MjBcdHgxNDQwXHR4MjE2MFx0eDI4ODBcdHgzNjAwXHR4NDMyMFx0eDUwNDBcdHg1NzYwXHR4NjQ4MFx0eDcyMDBcdHg3OTIwXHR4ODY0MFxwYXJkaXJuYXR1cmFsCi0KLVxiIFxjZjAgXHVsIE5ldyBJbnN0YWxsYXRpb24gT3B0aW9ucyBhbmQgRGVmYXVsdHNcCi1ccGFyZFx0eDcyMFx0eDE0NDBcdHgyMTYwXHR4Mjg4MFx0eDM2MDBcdHg0MzIwXHR4NTA0MFx0eDU3NjBcdHg2NDgwXHR4NzIwMFx0eDc5MjBcdHg4NjQwXHBhcmRpcm5hdHVyYWwKLVxjZjAgXHVsbm9uZSBbTkVXIGZvciBQeXRob24gMy40LjBdCi1cYjAgXAotXAotVGhlIFB5dGhvbiBpbnN0YWxsZXIgbm93IGluY2x1ZGVzIGFuIG9wdGlvbiB0byBhdXRvbWF0aWNhbGx5IGluc3RhbGwgb3IgdXBncmFkZSAKLVxmMSBwaXAKLVxmMCAsIGEgdG9vbCBmb3IgaW5zdGFsbGluZyBhbmQgbWFuYWdpbmcgUHl0aG9uIHBhY2thZ2VzLiAgVGhpcyBvcHRpb24gaXMgZW5hYmxlZCBieSBkZWZhdWx0IGFuZCBubyBJbnRlcm5ldCBhY2Nlc3MgaXMgcmVxdWlyZWQuICBJZiB5b3UgZG8gbm90IHdhbnQgdGhlIGluc3RhbGxlciB0byBkbyB0aGlzLCBzZWxlY3QgdGhlIAotXGkgQ3VzdG9taXplCi1caTAgIG9wdGlvbiBhdCB0aGUgCi1caSBJbnN0YWxsYXRpb24gVHlwZQotXGkwICBzdGVwIGFuZCB1bmNoZWNrIHRoZSAKLVxpIEluc3RhbGwgb3IgdWdwcmFkZSBwaXAKLVxpMCAgb3B0aW9uLlwKLVwKLVRvIG1ha2UgaXQgZWFzaWVyIHRvIHVzZSBzY3JpcHRzIGluc3RhbGxlZCBieSB0aGlyZC1wYXJ0eSBQeXRob24gcGFja2FnZXMsIHdpdGggCi1cZjEgcGlwCi1cZjAgIG9yIGJ5IG90aGVyIG1lYW5zLCB0aGUgCi1caSBTaGVsbCBwcm9maWxlIHVwZGF0ZXIKLVxpMCAgb3B0aW9uIGlzIG5vdyBlbmFibGVkIGJ5IGRlZmF1bHQsIGFzIGhhcyBiZWVuIHRoZSBjYXNlIHdpdGggUHl0aG9uIDIuNy54IGluc3RhbGxlcnMuIFlvdSBjYW4gYWxzbyB0dXJuIHRoaXMgb3B0aW9uIG9mZiBieSBzZWxlY3RpbmcgCi1caSBDdXN0b21pemUKLVxpMCAgYW5kIHVuY2hlY2tpbmcgdGhlIAotXGkgU2hlbGwgcHJvZmlsZSB1cGRhdGVyCi1caTAgIG9wdGlvbi4gWW91IGNhbiBhbHNvIHVwZGF0ZSB5b3VyIHNoZWxsIHByb2ZpbGUgbGF0ZXIgYnkgbGF1bmNoaW5nIHRoZSAKLVxpIFVwZGF0ZSBTaGVsbCBQcm9maWxlCi1caTAgIGNvbW1hbmQgZm91bmQgaW4gdGhlIAotXGYxIC9BcHBsaWNhdGlvbnMvUHl0aG9uICRWRVJTSU9OIAotXGYwIGZvbGRlci4gIFlvdSBtYXkgbmVlZCB0byBzdGFydCBhIG5ldyB0ZXJtaW5hbCB3aW5kb3cgZm9yIHRoZSBjaGFuZ2VzIHRvIHRha2UgZWZmZWN0LlwKLVwKLUZvciBvdGhlciBjaGFuZ2VzIGluIHRoaXMgcmVsZWFzZSwgc2VlIHRoZSBSZWxlYXNlIE5vdGVzIGxpbmsgZm9yIHRoaXMgcmVsZWFzZSBhdCB7XGZpZWxke1wqXGZsZGluc3R7SFlQRVJMSU5LICJodHRwczovL3d3dy5weXRob24ub3JnL2Rvd25sb2Fkcy8ifX17XGZsZHJzbHQgaHR0cHM6Ly93d3cucHl0aG9uLm9yZy9kb3dubG9hZHMvfX0uXAotXAotXHBhcmRcdHg3MjBcdHgxNDQwXHR4MjE2MFx0eDI4ODBcdHgzNjAwXHR4NDMyMFx0eDUwNDBcdHg1NzYwXHR4NjQ4MFx0eDcyMDBcdHg3OTIwXHR4ODY0MFxwYXJkaXJuYXR1cmFsCi0KLVxiIFxjZjAgXHVsIENlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiBhbmQgT3BlblNTTFwKLVxwYXJkXHR4NzIwXHR4MTQ0MFx0eDIxNjBcdHgyODgwXHR4MzYwMFx0eDQzMjBcdHg1MDQwXHR4NTc2MFx0eDY0ODBcdHg3MjAwXHR4NzkyMFx0eDg2NDBccGFyZGlybmF0dXJhbAotXGNmMCBcdWxub25lIFtDSEFOR0VEIGZvciBQeXRob24gMy40LjNdCi1cYjAgXAotXAotUHl0aG9uIDMuNC4zIGluY2x1ZGVzIGEgbnVtYmVyIG9mIG5ldHdvcmsgc2VjdXJpdHkgZW5oYW5jZW1lbnRzIHRoYXQgaGF2ZSBiZWVuIGFwcHJvdmVkIGZvciBpbmNsdXNpb24gaW4gUHl0aG9uIDMuNCBtYWludGVuYW5jZSByZWxlYXNlcy4gIHtcZmllbGR7XCpcZmxkaW5zdHtIWVBFUkxJTksgImh0dHBzOi8vd3d3LnB5dGhvbi5vcmcvZGV2L3BlcHMvcGVwLTA0NzYvIn19e1xmbGRyc2x0IFBFUCA0NzZ9fSBjaGFuZ2VzIHNldmVyYWwgc3RhbmRhcmQgbGlicmFyeSBtb2R1bGVzLCBsaWtlIAotXGkgaHR0cGxpYgotXGkwICwgCi1caSB1cmxsaWIKLVxpMCAsIGFuZCAKLVxpIHhtbHJwY2xpYgotXGkwICwgdG8gYnkgZGVmYXVsdCB2ZXJpZnkgY2VydGlmaWNhdGVzIHByZXNlbnRlZCBieSBzZXJ2ZXJzIG92ZXIgc2VjdXJlIChUTFMpIGNvbm5lY3Rpb25zLiAgVGhlIHZlcmlmaWNhdGlvbiBpcyBwZXJmb3JtZWQgYnkgdGhlIE9wZW5TU0wgbGlicmFyaWVzIHRoYXQgUHl0aG9uIGlzIGxpbmtlZCB0by4gIFByaW9yIHRvIDMuNC4zLCB0aGUgcHl0aG9uLm9yZyBpbnN0YWxsZXJzIGR5bmFtaWNhbGx5IGxpbmtlZCB3aXRoIEFwcGxlLXN1cHBsaWVkIE9wZW5TU0wgbGlicmFyaWVzIHNoaXBwZWQgd2l0aCBPUyBYLiAgT1MgWCBwcm92aWRlcyBhIG11bHRpcGxlIGxldmVsIHNlY3VyaXR5IGZyYW1ld29yayB0aGF0IHN0b3JlcyB0cnVzdCBjZXJ0aWZpY2F0ZXMgaW4gc3lzdGVtIGFuZCB1c2VyIGtleWNoYWlucyBtYW5hZ2VkIGJ5IHRoZSAKLVxpIEtleWNoYWluIEFjY2VzcyAKLVxpMCBhcHBsaWNhdGlvbiBhbmQgdGhlIAotXGkgc2VjdXJpdHkKLVxpMCAgY29tbWFuZCBsaW5lIHV0aWxpdHkuXAotXAotRm9yIE9TIFggMTAuNSwgQXBwbGUgcHJvdmlkZXMgCi1caSBPcGVuU1NMIDAuOS43Ci1caTAgIGxpYnJhcmllcy4gIFRoaXMgdmVyc2lvbiBvZiBBcHBsZSdzIE9wZW5TU0wgCi1cYiBkb2VzIG5vdAotXGIwICB1c2UgdGhlIGNlcnRpZmljYXRlcyBmcm9tIHRoZSBzeXN0ZW0gc2VjdXJpdHkgZnJhbWV3b3JrLCBldmVuIHdoZW4gdXNlZCBvbiBuZXdlciB2ZXJzaW9ucyBvZiBPUyBYLiAgSW5zdGVhZCBpdCBjb25zdWx0cyBhIHRyYWRpdGlvbmFsIE9wZW5TU0wgY29uY2F0ZW5hdGVkIGNlcnRpZmljYXRlIGZpbGUgKAotXGkgY2FmaWxlCi1caTAgKSBvciBjZXJ0aWZpY2F0ZSBkaXJlY3RvcnkgKAotXGkgY2FwYXRoCi1caTAgKSwgbG9jYXRlZCBpbiAKLVxmMSAvU3lzdGVtL0xpYnJhcnkvT3BlblNTTAotXGYwIC4gIFRoZXNlIGRpcmVjdG9yaWVzIGFyZSB0eXBpY2FsbHkgZW1wdHkgYW5kIG5vdCBtYW5hZ2VkIGJ5IE9TIFg7IHlvdSBtdXN0IG1hbmFnZSB0aGVtIHlvdXJzZWxmIG9yIHN1cHBseSB5b3VyIG93biBTU0wgY29udGV4dHMuICBPcGVuU1NMIDAuOS43IGlzIG9ic29sZXRlIGJ5IGN1cnJlbnQgc2VjdXJpdHkgc3RhbmRhcmRzLCBsYWNraW5nIGEgbnVtYmVyIG9mIGltcG9ydGFudCBmZWF0dXJlcyBmb3VuZCBpbiBsYXRlciB2ZXJzaW9ucy4gIEFtb25nIHRoZSBwcm9ibGVtcyB0aGlzIGNhdXNlcyBpcyB0aGUgaW5hYmlsaXR5IHRvIHZlcmlmeSBoaWdoZXItc2VjdXJpdHkgY2VydGlmaWNhdGVzIG5vdyB1c2VkIGJ5IHB5dGhvbi5vcmcgc2VydmljZXMsIGluY2x1ZGluZyAKLVxpIHR7XGZpZWxke1wqXGZsZGluc3R7SFlQRVJMSU5LICJodHRwczovL3B5cGkucHl0aG9uLm9yZy9weXBpIn19e1xmbGRyc2x0IGhlIFB5dGhvbiBQYWNrYWdlIEluZGV4LCBQeVBJfX0KLVxpMCAuICBUbyBzb2x2ZSB0aGlzIHByb2JsZW0sIGFzIG9mIDMuNC4zIHRoZSAKLVxpIDEwLjUrIDMyLWJpdC1vbmx5IHB5dGhvbi5vcmcgdmFyaWFudAotXGkwICBpcyBsaW5rZWQgd2l0aCBhIHByaXZhdGUgY29weSBvZiAKLVxpIE9wZW5TU0wgMS4wLjEKLVxpMCA7IGl0IGNvbnN1bHRzIHRoZSBzYW1lIGRlZmF1bHQgY2VydGlmaWNhdGUgZGlyZWN0b3J5LCAKLVxmMSAvU3lzdGVtL0xpYnJhcnkvT3BlblNTTAotXGYwIC4gICBBcyBiZWZvcmUsIGl0IGlzIHN0aWxsIG5lY2Vzc2FyeSB0byBtYW5hZ2UgY2VydGlmaWNhdGVzIHlvdXJzZWxmIHdoZW4geW91IHVzZSB0aGlzIFB5dGhvbiB2YXJpYW50IGFuZCwgd2l0aCBjZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gbm93IGVuYWJsZWQgYnkgZGVmYXVsdCwgeW91IG1heSBub3cgbmVlZCB0byB0YWtlIGFkZGl0aW9uYWwgc3RlcHMgdG8gZW5zdXJlIHlvdXIgUHl0aG9uIHByb2dyYW1zIGhhdmUgYWNjZXNzIHRvIENBIGNlcnRpZmljYXRlcyB5b3UgdHJ1c3QuICBJZiB5b3UgdXNlIHRoaXMgUHl0aG9uIHZhcmlhbnQgdG8gYnVpbGQgc3RhbmRhbG9uZSBhcHBsaWNhdGlvbnMgd2l0aCB0aGlyZC1wYXJ0eSB0b29scyBsaWtlIHtcZmllbGR7XCpcZmxkaW5zdHtIWVBFUkxJTksgImh0dHBzOi8vcHlwaS5weXRob24ub3JnL3B5cGkvcHkyYXBwLyJ9fXtcZmxkcnNsdCAKLVxmMSBweTJhcHB9fSwgeW91IG1heSBub3cgbmVlZCB0byBidW5kbGUgQ0EgY2VydGlmaWNhdGVzIGluIHRoZW0gb3Igb3RoZXJ3aXNlIHN1cHBseSBub24tZGVmYXVsdCBTU0wgY29udGV4dHMuXAotXAotRm9yIE9TIFggMTAuNissIEFwcGxlIGFsc28gcHJvdmlkZXMgCi1caSBPcGVuU1NMCi1caTAgIAotXGkgMC45LjggbGlicmFyaWVzCi1caTAgLiAgQXBwbGUncyAwLjkuOCB2ZXJzaW9uIGluY2x1ZGVzIGFuIGltcG9ydGFudCBhZGRpdGlvbmFsIGZlYXR1cmU6IGlmIGEgY2VydGlmaWNhdGUgY2Fubm90IGJlIHZlcmlmaWVkIHVzaW5nIHRoZSBtYW51YWxseSBhZG1pbmlzdGVyZWQgY2VydGlmaWNhdGVzIGluIAotXGYxIC9TeXN0ZW0vTGlicmFyeS9PcGVuU1NMCi1cZjAgLCB0aGUgY2VydGlmaWNhdGVzIG1hbmFnZWQgYnkgdGhlIHN5c3RlbSBzZWN1cml0eSBmcmFtZXdvcmsgSW4gdGhlIHVzZXIgYW5kIHN5c3RlbSBrZXljaGFpbnMgYXJlIGFsc28gY29uc3VsdGVkICh1c2luZyBBcHBsZSBwcml2YXRlIEFQSXMpLiAgRm9yIHRoaXMgcmVhc29uLCBmb3IgMy40LjMgdGhlIAotXGkgNjQtYml0LzMyLWJpdCAxMC42KyBweXRob24ub3JnIHZhcmlhbnQKLVxpMCAgY29udGludWVzIHRvIGJlIGR5bmFtaWNhbGx5IGxpbmtlZCB3aXRoIEFwcGxlJ3MgT3BlblNTTCAwLjkuOCBzaW5jZSBpdCB3YXMgZmVsdCB0aGF0IHRoZSBsb3NzIG9mIHRoZSBzeXN0ZW0tcHJvdmlkZWQgY2VydGlmaWNhdGVzIGFuZCBtYW5hZ2VtZW50IHRvb2xzIG91dHdlaWdocyB0aGUgYWRkaXRpb25hbCBzZWN1cml0eSBmZWF0dXJlcyBwcm92aWRlZCBieSBuZXdlciB2ZXJzaW9ucyBvZiBPcGVuU1NMLiAgVGhpcyB3aWxsIGxpa2VseSBjaGFuZ2UgaW4gZnV0dXJlIHJlbGVhc2VzIG9mIHRoZSBweXRob24ub3JnIGluc3RhbGxlcnMgYXMgQXBwbGUgaGFzIGRlcHJlY2F0ZWQgdXNlIG9mIHRoZSBzeXN0ZW0tc3VwcGxpZWQgT3BlblNTTCBsaWJyYXJpZXMuICBJZiB5b3UgZG8gbmVlZCBmZWF0dXJlcyBmcm9tIG5ld2VyIHZlcnNpb25zIG9mIE9wZW5TU0wsIHRoZXJlIGFyZSB0aGlyZC1wYXJ0eSBPcGVuU1NMIHdyYXBwZXIgcGFja2FnZXMgYXZhaWxhYmxlIHRocm91Z2ggCi1caSBQeVBJCi1caTAgLlwKLVwKLVRoZSBidW5kbGVkIAotXGYxIHBpcAotXGYwICBpbmNsdWRlZCB3aXRoIDMuNC4zIGhhcyBpdHMgb3duIGRlZmF1bHQgY2VydGlmaWNhdGUgc3RvcmUgZm9yIHZlcmlmeWluZyBkb3dubG9hZCBjb25uZWN0aW9ucy5cCi1ccGFyZFx0eDcyMFx0eDE0NDBcdHgyMTYwXHR4Mjg4MFx0eDM2MDBcdHg0MzIwXHR4NTA0MFx0eDU3NjBcdHg2NDgwXHR4NzIwMFx0eDc5MjBcdHg4NjQwXHBhcmRpcm5hdHVyYWwKLQotXGIgXGNmMCBcdWwgXAogUHl0aG9uIDMgYW5kIFB5dGhvbiAyIENvLWV4aXN0ZW5jZVwKIAogXGIwIFx1bG5vbmUgXApkaWZmIC0tZ2l0IGEvTWFjL0J1aWxkU2NyaXB0L3Jlc291cmNlcy9XZWxjb21lLnJ0ZiBiL01hYy9CdWlsZFNjcmlwdC9yZXNvdXJjZXMvV2VsY29tZS5ydGYKaW5kZXggMjUyNzc4Ny4uZGZiNzVkOCAxMDA2NDQKLS0tIGEvTWFjL0J1aWxkU2NyaXB0L3Jlc291cmNlcy9XZWxjb21lLnJ0ZgorKysgYi9NYWMvQnVpbGRTY3JpcHQvcmVzb3VyY2VzL1dlbGNvbWUucnRmCkBAIC0xLDUgKzEsNSBAQAoge1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcY29jb2FydGYxMzQzXGNvY29hc3VicnRmMTYwCi1cY29jb2FzY3JlZW5mb250czF7XGZvbnR0YmxcZjBcZnN3aXNzXGZjaGFyc2V0MCBIZWx2ZXRpY2E7XGYxXGZtb2Rlcm5cZmNoYXJzZXQwIENvdXJpZXJOZXdQU01UO30KK1xjb2NvYXNjcmVlbmZvbnRzMXtcZm9udHRibFxmMFxmc3dpc3NcZmNoYXJzZXQwIEhlbHZldGljYTt9CiB7XGNvbG9ydGJsO1xyZWQyNTVcZ3JlZW4yNTVcYmx1ZTI1NTt9CiBccGFwZXJ3MTE5MDVccGFwZXJoMTY4MzdcbWFyZ2wxNDQwXG1hcmdyMTQ0MFx2aWV3dzEyMjAwXHZpZXdoMTA4ODBcdmlld2tpbmQwCiBccGFyZFx0eDcyMFx0eDE0NDBcdHgyMTYwXHR4Mjg4MFx0eDM2MDBcdHg0MzIwXHR4NTA0MFx0eDU3NjBcdHg2NDgwXHR4NzIwMFx0eDc5MjBcdHg4NjQwCkBAIC0xNywxMiArMTcsNiBAQAogXGIwIC5cCiBcCiAKLVxiIE5FVyBmb3IgUHl0aG9uIDMuNC4zOiAKLVxiMCAgMy40LjMgaW5jbHVkZXMgbmV0d29yayBzZWN1cml0eSBlbmhhbmNlbWVudHMgdGhhdCBtYXkgcmVxdWlyZSBjaGFuZ2VzIHRvIHlvdXIgUHl0aG9uIGFwcGxpY2F0aW9ucy4gIFNlZSB0aGUgCi1cZjEgUmVhZE1lCi1cZjAgIGZpbGUgYW5kIHtcZmllbGR7XCpcZmxkaW5zdHtIWVBFUkxJTksgImh0dHBzOi8vZG9jcy5weXRob24ub3JnLzMvd2hhdHNuZXcvMy40Lmh0bWwjY2hhbmdlZC1pbi0zLTQtMyJ9fXtcZmxkcnNsdCB0aGUgUHl0aG9uIGRvY3VtZW50YXRpb259fSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cCi1cCi0KIFxiIElNUE9SVEFOVDoKIFxiMCAgCiBcYiBJRExFCmRpZmYgLS1naXQgYS9NYWMvUHl0aG9uTGF1bmNoZXIvSW5mby5wbGlzdC5pbiBiL01hYy9QeXRob25MYXVuY2hlci9JbmZvLnBsaXN0LmluCmluZGV4IDQyODQ2ZWEuLmI0YWRlMWQgMTAwNjQ0Ci0tLSBhL01hYy9QeXRob25MYXVuY2hlci9JbmZvLnBsaXN0LmluCisrKyBiL01hYy9QeXRob25MYXVuY2hlci9JbmZvLnBsaXN0LmluCkBAIC0xLDUgKzEsNSBAQAogPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBwbGlzdCBQVUJMSUMgIi0vL0FwcGxlIENvbXB1dGVyLy9EVEQgUExJU1QgMS4wLy9FTiIgImh0dHA6Ly93d3cuYXBwbGUuY29tL0RURHMvUHJvcGVydHlMaXN0LTEuMC5kdGQiPgorPCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUvL0RURCBQTElTVCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3QtMS4wLmR0ZCI+CiA8cGxpc3QgdmVyc2lvbj0iMS4wIj4KIDxkaWN0PgogCTxrZXk+Q0ZCdW5kbGVEZXZlbG9wbWVudFJlZ2lvbjwva2V5PgpAQCAtMzgsNyArMzgsNyBAQAogCQk8L2RpY3Q+CiAJPC9hcnJheT4KIAk8a2V5PkNGQnVuZGxlRXhlY3V0YWJsZTwva2V5PgotCTxzdHJpbmc+UHl0aG9uTGF1bmNoZXI8L3N0cmluZz4KKwk8c3RyaW5nPlB5dGhvbiBMYXVuY2hlcjwvc3RyaW5nPgogCTxrZXk+Q0ZCdW5kbGVHZXRJbmZvU3RyaW5nPC9rZXk+CiAJPHN0cmluZz4lVkVSU0lPTiUsIMKpIDIwMDEtMjAxNSBQeXRob24gU29mdHdhcmUgRm91bmRhdGlvbjwvc3RyaW5nPgogCTxrZXk+Q0ZCdW5kbGVJY29uRmlsZTwva2V5PgpkaWZmIC0tZ2l0IGEvTWFjL1B5dGhvbkxhdW5jaGVyL01ha2VmaWxlLmluIGIvTWFjL1B5dGhvbkxhdW5jaGVyL01ha2VmaWxlLmluCmluZGV4IGYwNWVmZGYuLjRjMDVmMjYgMTAwNjQ0Ci0tLSBhL01hYy9QeXRob25MYXVuY2hlci9NYWtlZmlsZS5pbgorKysgYi9NYWMvUHl0aG9uTGF1bmNoZXIvTWFrZWZpbGUuaW4KQEAgLTE1LDEyICsxNSwxMCBAQAogUFlUSE9ORlJBTUVXT1JLPUBQWVRIT05GUkFNRVdPUktACiAKICMgRGVwbG95bWVudCB0YXJnZXQgc2VsZWN0ZWQgZHVyaW5nIGNvbmZpZ3VyZSwgdG8gYmUgY2hlY2tlZAotIyBieSBkaXN0dXRpbHMgIAorIyBieSBkaXN0dXRpbHMKIE1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVD1AQ09ORklHVVJFX01BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVEAKIEBFWFBPUlRfTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUQGV4cG9ydCBNQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVQKIAotQlVORExFQlVMREVSPSQoc3JjZGlyKS8uLi9Ub29scy9idW5kbGVidWlsZGVyLnB5Ci0KIFBZVEhPTkFQUFNESVI9QEZSQU1FV09SS0lOU1RBTExBUFBTUFJFRklYQC8kKFBZVEhPTkZSQU1FV09SSykgJChWRVJTSU9OKQogT0JKRUNUUz1GaWxlU2V0dGluZ3MubyBNeUFwcERlbGVnYXRlLm8gTXlEb2N1bWVudC5vIFByZWZlcmVuY2VzV2luZG93Q29udHJvbGxlci5vIGRvc2NyaXB0Lm8gbWFpbi5vCiAKQEAgLTMwLDEwICsyOCwxMCBAQAogCS9iaW4vY3AgLXIgIlB5dGhvbiBMYXVuY2hlci5hcHAiICIkKERFU1RESVIpJChQWVRIT05BUFBTRElSKSIKIAl0b3VjaCAiJChERVNURElSKSQoUFlUSE9OQVBQU0RJUikvUHl0aG9uIExhdW5jaGVyLmFwcCIKIAotCiBjbGVhbjoKIAlybSAtZiAqLm8gIlB5dGhvbiBMYXVuY2hlciIKIAlybSAtcmYgIlB5dGhvbiBMYXVuY2hlci5hcHAiCisJcm0gLWYgSW5mby5wbGlzdAogCiBQeXRob25cIExhdW5jaGVyLmFwcDogIEluZm8ucGxpc3QgXAogCQlQeXRob25cIExhdW5jaGVyICQoc3JjZGlyKS8uLi9JY29ucy9QeXRob25MYXVuY2hlci5pY25zIFwKQEAgLTQxLDE4ICszOSwxNyBAQAogCQkkKHNyY2RpcikvLi4vSWNvbnMvUHl0aG9uQ29tcGlsZWQuaWNucyBcCiAJCSQoc3JjZGlyKS9mYWN0b3J5U2V0dGluZ3MucGxpc3QKIAlybSAtZnIgIlB5dGhvbiBMYXVuY2hlci5hcHAiCi0JJChSVU5TSEFSRUQpICQoQlVJTERQWVRIT04pICQoQlVORExFQlVMREVSKSBcCi0JCS0tYnVpbGRkaXI9LiBcCi0JCS0tbmFtZT0iUHl0aG9uIExhdW5jaGVyIiBcCi0JCS0tZXhlY3V0YWJsZT0iUHl0aG9uIExhdW5jaGVyIiBcCi0JCS0taWNvbmZpbGU9JChzcmNkaXIpLy4uL0ljb25zL1B5dGhvbkxhdW5jaGVyLmljbnMgXAotCQktLWJ1bmRsZS1pZD1vcmcucHl0aG9uLlB5dGhvbkxhdW5jaGVyIFwKLQkJLS1yZXNvdXJjZT0kKHNyY2RpcikvLi4vSWNvbnMvUHl0aG9uU291cmNlLmljbnMgXAotCQktLXJlc291cmNlPSQoc3JjZGlyKS8uLi9JY29ucy9QeXRob25Db21waWxlZC5pY25zIFwKLQkJLS1yZXNvdXJjZT0kKHNyY2RpcikvRW5nbGlzaC5scHJvaiBcCi0JCS0tcmVzb3VyY2U9JChzcmNkaXIpL2ZhY3RvcnlTZXR0aW5ncy5wbGlzdCBcCi0JCS0tcGxpc3QgSW5mby5wbGlzdCBcCi0JCWJ1aWxkCisJbWtkaXIgIlB5dGhvbiBMYXVuY2hlci5hcHAiCisJbWtkaXIgIlB5dGhvbiBMYXVuY2hlci5hcHAvQ29udGVudHMiCisJbWtkaXIgIlB5dGhvbiBMYXVuY2hlci5hcHAvQ29udGVudHMvTWFjT1MiCisJbWtkaXIgIlB5dGhvbiBMYXVuY2hlci5hcHAvQ29udGVudHMvUmVzb3VyY2VzIgorCWNwICJQeXRob24gTGF1bmNoZXIiICJQeXRob24gTGF1bmNoZXIuYXBwL0NvbnRlbnRzL01hY09TIgorCWNwIEluZm8ucGxpc3QgICJQeXRob24gTGF1bmNoZXIuYXBwL0NvbnRlbnRzIgorCWNwICQoc3JjZGlyKS8uLi9JY29ucy9QeXRob25MYXVuY2hlci5pY25zICAiUHl0aG9uIExhdW5jaGVyLmFwcC9Db250ZW50cy9SZXNvdXJjZXMiCisJY3AgJChzcmNkaXIpLy4uL0ljb25zL1B5dGhvblNvdXJjZS5pY25zICAiUHl0aG9uIExhdW5jaGVyLmFwcC9Db250ZW50cy9SZXNvdXJjZXMiCisJY3AgJChzcmNkaXIpLy4uL0ljb25zL1B5dGhvbkNvbXBpbGVkLmljbnMgICJQeXRob24gTGF1bmNoZXIuYXBwL0NvbnRlbnRzL1Jlc291cmNlcyIKKwljcCAkKHNyY2RpcikvZmFjdG9yeVNldHRpbmdzLnBsaXN0ICAiUHl0aG9uIExhdW5jaGVyLmFwcC9Db250ZW50cy9SZXNvdXJjZXMiCisJY3AgLVIgJChzcmNkaXIpL0VuZ2xpc2gubHByb2ogIlB5dGhvbiBMYXVuY2hlci5hcHAvQ29udGVudHMvUmVzb3VyY2VzIgogCiBGaWxlU2V0dGluZ3MubzogJChzcmNkaXIpL0ZpbGVTZXR0aW5ncy5tCiAJJChDQykgJChDRkxBR1MpIC1vICRAIC1jICQoc3JjZGlyKS9GaWxlU2V0dGluZ3MubQpkaWZmIC0tZ2l0IGEvTWFjL1Rvb2xzL2J1bmRsZWJ1aWxkZXIucHkgYi9NYWMvVG9vbHMvYnVuZGxlYnVpbGRlci5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggZjU2NzlkMy4uMDAwMDAwMAotLS0gYS9NYWMvVG9vbHMvYnVuZGxlYnVpbGRlci5weQorKysgL2Rldi9udWxsCkBAIC0xLDkzNCArMCwwIEBACi0jISAvdXNyL2Jpbi9lbnYgcHl0aG9uCi0KLSIiIlwKLWJ1bmRsZWJ1aWxkZXIucHkgLS0gVG9vbHMgdG8gYXNzZW1ibGUgTWFjT1MgWCAoYXBwbGljYXRpb24pIGJ1bmRsZXMuCi0KLVRoaXMgbW9kdWxlIGNvbnRhaW5zIHR3byBjbGFzc2VzIHRvIGJ1aWxkIHNvIGNhbGxlZCAiYnVuZGxlcyIgZm9yCi1NYWNPUyBYLiBCdW5kbGVCdWlsZGVyIGlzIGEgZ2VuZXJhbCB0b29sLCBBcHBCdWlsZGVyIGlzIGEgc3ViY2xhc3MKLXNwZWNpYWxpemVkIGluIGJ1aWxkaW5nIGFwcGxpY2F0aW9uIGJ1bmRsZXMuCi0KLVtCdW5kbGV8QXBwXUJ1aWxkZXIgb2JqZWN0cyBhcmUgaW5zdGFudGlhdGVkIHdpdGggYSBidW5jaCBvZiBrZXl3b3JkCi1hcmd1bWVudHMsIGFuZCBoYXZlIGEgYnVpbGQoKSBtZXRob2QgdGhhdCB3aWxsIGRvIGFsbCB0aGUgd29yay4gU2VlCi10aGUgY2xhc3MgZG9jIHN0cmluZ3MgZm9yIGEgZGVzY3JpcHRpb24gb2YgdGhlIGNvbnN0cnVjdG9yIGFyZ3VtZW50cy4KLQotVGhlIG1vZHVsZSBjb250YWlucyBhIG1haW4gcHJvZ3JhbSB0aGF0IGNhbiBiZSB1c2VkIGluIHR3byB3YXlzOgotCi0gICUgcHl0aG9uIGJ1bmRsZWJ1aWxkZXIucHkgW29wdGlvbnNdIGJ1aWxkCi0gICUgcHl0aG9uIGJ1aWxkYXBwLnB5IFtvcHRpb25zXSBidWlsZAotCi1XaGVyZSAiYnVpbGRhcHAucHkiIGlzIGEgdXNlci1zdXBwbGllZCBzZXR1cC5weS1saWtlIHNjcmlwdCBmb2xsb3dpbmcKLXRoaXMgbW9kZWw6Ci0KLSAgZnJvbSBidW5kbGVidWlsZGVyIGltcG9ydCBidWlsZGFwcAotICBidWlsZGFwcCg8bG90cy1vZi1rZXl3b3JkLWFyZ3M+KQotCi0iIiIKLQotCi1fX2FsbF9fID0gWyJCdW5kbGVCdWlsZGVyIiwgIkJ1bmRsZUJ1aWxkZXJFcnJvciIsICJBcHBCdWlsZGVyIiwgImJ1aWxkYXBwIl0KLQotCi1pbXBvcnQgc3lzCi1pbXBvcnQgb3MsIGVycm5vLCBzaHV0aWwKLWltcG9ydCBpbXAsIG1hcnNoYWwKLWltcG9ydCByZQotZnJvbSBjb3B5IGltcG9ydCBkZWVwY29weQotaW1wb3J0IGdldG9wdAotZnJvbSBwbGlzdGxpYiBpbXBvcnQgUGxpc3QKLWZyb20gdHlwZXMgaW1wb3J0IEZ1bmN0aW9uVHlwZSBhcyBmdW5jdGlvbgotCi1jbGFzcyBCdW5kbGVCdWlsZGVyRXJyb3IoRXhjZXB0aW9uKTogcGFzcwotCi0KLWNsYXNzIERlZmF1bHRzOgotCi0gICAgIiIiQ2xhc3MgYXR0cmlidXRlcyB0aGF0IGRvbid0IHN0YXJ0IHdpdGggYW4gdW5kZXJzY29yZSBhbmQgYXJlCi0gICAgbm90IGZ1bmN0aW9ucyBvciBjbGFzc21ldGhvZHMgYXJlIChkZWVwKWNvcGllZCB0byBzZWxmLl9fZGljdF9fLgotICAgIFRoaXMgYWxsb3dzIGZvciBtdXRhYmxlIGRlZmF1bHQgdmFsdWVzLgotICAgICIiIgotCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsICoqa3dhcmdzKToKLSAgICAgICAgZGVmYXVsdHMgPSBzZWxmLl9nZXREZWZhdWx0cygpCi0gICAgICAgIGRlZmF1bHRzLnVwZGF0ZShrd2FyZ3MpCi0gICAgICAgIHNlbGYuX19kaWN0X18udXBkYXRlKGRlZmF1bHRzKQotCi0gICAgZGVmIF9nZXREZWZhdWx0cyhjbHMpOgotICAgICAgICBkZWZhdWx0cyA9IHt9Ci0gICAgICAgIGZvciBiYXNlIGluIGNscy5fX2Jhc2VzX186Ci0gICAgICAgICAgICBpZiBoYXNhdHRyKGJhc2UsICJfZ2V0RGVmYXVsdHMiKToKLSAgICAgICAgICAgICAgICBkZWZhdWx0cy51cGRhdGUoYmFzZS5fZ2V0RGVmYXVsdHMoKSkKLSAgICAgICAgZm9yIG5hbWUsIHZhbHVlIGluIGxpc3QoY2xzLl9fZGljdF9fLml0ZW1zKCkpOgotICAgICAgICAgICAgaWYgbmFtZVswXSAhPSAiXyIgYW5kIG5vdCBpc2luc3RhbmNlKHZhbHVlLAotICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24sIGNsYXNzbWV0aG9kKSk6Ci0gICAgICAgICAgICAgICAgZGVmYXVsdHNbbmFtZV0gPSBkZWVwY29weSh2YWx1ZSkKLSAgICAgICAgcmV0dXJuIGRlZmF1bHRzCi0gICAgX2dldERlZmF1bHRzID0gY2xhc3NtZXRob2QoX2dldERlZmF1bHRzKQotCi0KLWNsYXNzIEJ1bmRsZUJ1aWxkZXIoRGVmYXVsdHMpOgotCi0gICAgIiIiQnVuZGxlQnVpbGRlciBpcyBhIGJhcmVib25lcyBjbGFzcyBmb3IgYXNzZW1ibGluZyBidW5kbGVzLiBJdAotICAgIGtub3dzIG5vdGhpbmcgYWJvdXQgZXhlY3V0YWJsZXMgb3IgaWNvbnMsIGl0IG9ubHkgY29waWVzIGZpbGVzCi0gICAgYW5kIGNyZWF0ZXMgdGhlIFBrZ0luZm8gYW5kIEluZm8ucGxpc3QgZmlsZXMuCi0gICAgIiIiCi0KLSAgICAjIChOb3RlIHRoYXQgRGVmYXVsdHMuX19pbml0X18gKGRlZXApY29waWVzIHRoZXNlIHZhbHVlcyB0bwotICAgICMgaW5zdGFuY2UgdmFyaWFibGVzLiBNdXRhYmxlIGRlZmF1bHRzIGFyZSB0aGVyZWZvcmUgc2FmZS4pCi0KLSAgICAjIE5hbWUgb2YgdGhlIGJ1bmRsZSwgd2l0aCBvciB3aXRob3V0IGV4dGVuc2lvbi4KLSAgICBuYW1lID0gTm9uZQotCi0gICAgIyBUaGUgcHJvcGVydHkgbGlzdCAoInBsaXN0IikKLSAgICBwbGlzdCA9IFBsaXN0KENGQnVuZGxlRGV2ZWxvcG1lbnRSZWdpb24gPSAiRW5nbGlzaCIsCi0gICAgICAgICAgICAgICAgICBDRkJ1bmRsZUluZm9EaWN0aW9uYXJ5VmVyc2lvbiA9ICI2LjAiKQotCi0gICAgIyBUaGUgdHlwZSBvZiB0aGUgYnVuZGxlLgotICAgIHR5cGUgPSAiQk5ETCIKLSAgICAjIFRoZSBjcmVhdG9yIGNvZGUgb2YgdGhlIGJ1bmRsZS4KLSAgICBjcmVhdG9yID0gTm9uZQotCi0gICAgIyB0aGUgQ0ZCdW5kbGVJZGVudGlmaWVyICh0aGlzIGlzIHVzZWQgZm9yIHRoZSBwcmVmZXJlbmNlcyBmaWxlIG5hbWUpCi0gICAgYnVuZGxlX2lkID0gTm9uZQotCi0gICAgIyBMaXN0IG9mIGZpbGVzIHRoYXQgaGF2ZSB0byBiZSBjb3BpZWQgdG8gPGJ1bmRsZT4vQ29udGVudHMvUmVzb3VyY2VzLgotICAgIHJlc291cmNlcyA9IFtdCi0KLSAgICAjIExpc3Qgb2YgKHNyYywgZGVzdCkgdHVwbGVzOyBkZXN0IHNob3VsZCBiZSBhIHBhdGggcmVsYXRpdmUgdG8gdGhlIGJ1bmRsZQotICAgICMgKGVnLiAiQ29udGVudHMvUmVzb3VyY2VzL015U3R1ZmYvU29tZUZpbGUuZXh0KS4KLSAgICBmaWxlcyA9IFtdCi0KLSAgICAjIExpc3Qgb2Ygc2hhcmVkIGxpYnJhcmllcyAoZHlsaWJzLCBGcmFtZXdvcmtzKSB0byBidW5kbGUgd2l0aCB0aGUgYXBwCi0gICAgIyB3aWxsIGJlIHBsYWNlZCBpbiBDb250ZW50cy9GcmFtZXdvcmtzCi0gICAgbGlicyA9IFtdCi0KLSAgICAjIERpcmVjdG9yeSB3aGVyZSB0aGUgYnVuZGxlIHdpbGwgYmUgYXNzZW1ibGVkLgotICAgIGJ1aWxkZGlyID0gImJ1aWxkIgotCi0gICAgIyBNYWtlIHN5bWxpbmtzIGluc3RlYWQgY29weWluZyBmaWxlcy4gVGhpcyBpcyBoYW5keSBkdXJpbmcgZGVidWdnaW5nLCBidXQKLSAgICAjIG1ha2VzIHRoZSBidW5kbGUgbm9uLWRpc3RyaWJ1dGFibGUuCi0gICAgc3ltbGluayA9IDAKLQotICAgICMgVmVyYm9zaXR5IGxldmVsLgotICAgIHZlcmJvc2l0eSA9IDEKLQotICAgICMgRGVzdGluYXRpb24gcm9vdCBkaXJlY3RvcnkKLSAgICBkZXN0cm9vdCA9ICIiCi0KLSAgICBkZWYgc2V0dXAoc2VsZik6Ci0gICAgICAgICMgWFhYIHJldGhpbmsgc2VsZi5uYW1lIG11bmdpbmcsIHRoaXMgaXMgYnJpdHRsZS4KLSAgICAgICAgc2VsZi5uYW1lLCBleHQgPSBvcy5wYXRoLnNwbGl0ZXh0KHNlbGYubmFtZSkKLSAgICAgICAgaWYgbm90IGV4dDoKLSAgICAgICAgICAgIGV4dCA9ICIuYnVuZGxlIgotICAgICAgICBidW5kbGVleHRlbnNpb24gPSBleHQKLSAgICAgICAgIyBtaXNjIChkZXJpdmVkKSBhdHRyaWJ1dGVzCi0gICAgICAgIHNlbGYuYnVuZGxlcGF0aCA9IHBhdGhqb2luKHNlbGYuYnVpbGRkaXIsIHNlbGYubmFtZSArIGJ1bmRsZWV4dGVuc2lvbikKLQotICAgICAgICBwbGlzdCA9IHNlbGYucGxpc3QKLSAgICAgICAgcGxpc3QuQ0ZCdW5kbGVOYW1lID0gc2VsZi5uYW1lCi0gICAgICAgIHBsaXN0LkNGQnVuZGxlUGFja2FnZVR5cGUgPSBzZWxmLnR5cGUKLSAgICAgICAgaWYgc2VsZi5jcmVhdG9yIGlzIE5vbmU6Ci0gICAgICAgICAgICBpZiBoYXNhdHRyKHBsaXN0LCAiQ0ZCdW5kbGVTaWduYXR1cmUiKToKLSAgICAgICAgICAgICAgICBzZWxmLmNyZWF0b3IgPSBwbGlzdC5DRkJ1bmRsZVNpZ25hdHVyZQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBzZWxmLmNyZWF0b3IgPSAiPz8/PyIKLSAgICAgICAgcGxpc3QuQ0ZCdW5kbGVTaWduYXR1cmUgPSBzZWxmLmNyZWF0b3IKLSAgICAgICAgaWYgc2VsZi5idW5kbGVfaWQ6Ci0gICAgICAgICAgICBwbGlzdC5DRkJ1bmRsZUlkZW50aWZpZXIgPSBzZWxmLmJ1bmRsZV9pZAotICAgICAgICBlbGlmIG5vdCBoYXNhdHRyKHBsaXN0LCAiQ0ZCdW5kbGVJZGVudGlmaWVyIik6Ci0gICAgICAgICAgICBwbGlzdC5DRkJ1bmRsZUlkZW50aWZpZXIgPSBzZWxmLm5hbWUKLQotICAgIGRlZiBidWlsZChzZWxmKToKLSAgICAgICAgIiIiQnVpbGQgdGhlIGJ1bmRsZS4iIiIKLSAgICAgICAgYnVpbGRkaXIgPSBzZWxmLmJ1aWxkZGlyCi0gICAgICAgIGlmIGJ1aWxkZGlyIGFuZCBub3Qgb3MucGF0aC5leGlzdHMoYnVpbGRkaXIpOgotICAgICAgICAgICAgb3MubWtkaXIoYnVpbGRkaXIpCi0gICAgICAgIHNlbGYubWVzc2FnZSgiQnVpbGRpbmcgJXMiICUgcmVwcihzZWxmLmJ1bmRsZXBhdGgpLCAxKQotICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhzZWxmLmJ1bmRsZXBhdGgpOgotICAgICAgICAgICAgc2h1dGlsLnJtdHJlZShzZWxmLmJ1bmRsZXBhdGgpCi0gICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKHNlbGYuYnVuZGxlcGF0aCArICd+Jyk6Ci0gICAgICAgICAgICBzaHV0aWwucm10cmVlKHNlbGYuYnVuZGxlcGF0aCArICd+JykKLSAgICAgICAgYnAgPSBzZWxmLmJ1bmRsZXBhdGgKLQotICAgICAgICAjIENyZWF0ZSB0aGUgYXBwIGJ1bmRsZSBpbiBhIHRlbXBvcmFyeSBsb2NhdGlvbiBhbmQgdGhlbgotICAgICAgICAjIHJlbmFtZSB0aGUgY29tcGxldGVkIGJ1bmRsZS4gVGhpcyB3YXkgdGhlIEZpbmRlciB3aWxsCi0gICAgICAgICMgbmV2ZXIgc2VlIGFuIGluY29tcGxldGUgYnVuZGxlICh3aGVyZSBpdCBtaWdodCBwaWNrIHVwCi0gICAgICAgICMgYW5kIGNhY2hlIHRoZSB3cm9uZyBtZXRhIGRhdGEpCi0gICAgICAgIHNlbGYuYnVuZGxlcGF0aCA9IGJwICsgJ34nCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIG9zLm1rZGlyKHNlbGYuYnVuZGxlcGF0aCkKLSAgICAgICAgICAgIHNlbGYucHJlUHJvY2VzcygpCi0gICAgICAgICAgICBzZWxmLl9jb3B5RmlsZXMoKQotICAgICAgICAgICAgc2VsZi5fYWRkTWV0YUZpbGVzKCkKLSAgICAgICAgICAgIHNlbGYucG9zdFByb2Nlc3MoKQotICAgICAgICAgICAgb3MucmVuYW1lKHNlbGYuYnVuZGxlcGF0aCwgYnApCi0gICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICBzZWxmLmJ1bmRsZXBhdGggPSBicAotICAgICAgICBzZWxmLm1lc3NhZ2UoIkRvbmUuIiwgMSkKLQotICAgIGRlZiBwcmVQcm9jZXNzKHNlbGYpOgotICAgICAgICAiIiJIb29rIGZvciBzdWJjbGFzc2VzLiIiIgotICAgICAgICBwYXNzCi0gICAgZGVmIHBvc3RQcm9jZXNzKHNlbGYpOgotICAgICAgICAiIiJIb29rIGZvciBzdWJjbGFzc2VzLiIiIgotICAgICAgICBwYXNzCi0KLSAgICBkZWYgX2FkZE1ldGFGaWxlcyhzZWxmKToKLSAgICAgICAgY29udGVudHMgPSBwYXRoam9pbihzZWxmLmJ1bmRsZXBhdGgsICJDb250ZW50cyIpCi0gICAgICAgIG1ha2VkaXJzKGNvbnRlbnRzKQotICAgICAgICAjCi0gICAgICAgICMgV3JpdGUgQ29udGVudHMvUGtnSW5mbwotICAgICAgICBhc3NlcnQgbGVuKHNlbGYudHlwZSkgPT0gbGVuKHNlbGYuY3JlYXRvcikgPT0gNCwgXAotICAgICAgICAgICAgICAgICJ0eXBlIGFuZCBjcmVhdG9yIG11c3QgYmUgNC1ieXRlIHN0cmluZ3MuIgotICAgICAgICBwa2dpbmZvID0gcGF0aGpvaW4oY29udGVudHMsICJQa2dJbmZvIikKLSAgICAgICAgZiA9IG9wZW4ocGtnaW5mbywgIndiIikKLSAgICAgICAgZi53cml0ZSgoc2VsZi50eXBlICsgc2VsZi5jcmVhdG9yKS5lbmNvZGUoJ2xhdGluMScpKQotICAgICAgICBmLmNsb3NlKCkKLSAgICAgICAgIwotICAgICAgICAjIFdyaXRlIENvbnRlbnRzL0luZm8ucGxpc3QKLSAgICAgICAgaW5mb3BsaXN0ID0gcGF0aGpvaW4oY29udGVudHMsICJJbmZvLnBsaXN0IikKLSAgICAgICAgc2VsZi5wbGlzdC53cml0ZShpbmZvcGxpc3QpCi0KLSAgICBkZWYgX2NvcHlGaWxlcyhzZWxmKToKLSAgICAgICAgZmlsZXMgPSBzZWxmLmZpbGVzWzpdCi0gICAgICAgIGZvciBwYXRoIGluIHNlbGYucmVzb3VyY2VzOgotICAgICAgICAgICAgZmlsZXMuYXBwZW5kKChwYXRoLCBwYXRoam9pbigiQ29udGVudHMiLCAiUmVzb3VyY2VzIiwKLSAgICAgICAgICAgICAgICBvcy5wYXRoLmJhc2VuYW1lKHBhdGgpKSkpCi0gICAgICAgIGZvciBwYXRoIGluIHNlbGYubGliczoKLSAgICAgICAgICAgIGZpbGVzLmFwcGVuZCgocGF0aCwgcGF0aGpvaW4oIkNvbnRlbnRzIiwgIkZyYW1ld29ya3MiLAotICAgICAgICAgICAgICAgIG9zLnBhdGguYmFzZW5hbWUocGF0aCkpKSkKLSAgICAgICAgaWYgc2VsZi5zeW1saW5rOgotICAgICAgICAgICAgc2VsZi5tZXNzYWdlKCJNYWtpbmcgc3ltYm9saWMgbGlua3MiLCAxKQotICAgICAgICAgICAgbXNnID0gIk1ha2luZyBzeW1saW5rIGZyb20iCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLm1lc3NhZ2UoIkNvcHlpbmcgZmlsZXMiLCAxKQotICAgICAgICAgICAgbXNnID0gIkNvcHlpbmciCi0gICAgICAgIGZpbGVzLnNvcnQoKQotICAgICAgICBmb3Igc3JjLCBkc3QgaW4gZmlsZXM6Ci0gICAgICAgICAgICBpZiBvcy5wYXRoLmlzZGlyKHNyYyk6Ci0gICAgICAgICAgICAgICAgc2VsZi5tZXNzYWdlKCIlcyAlcy8gdG8gJXMvIiAlIChtc2csIHNyYywgZHN0KSwgMikKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgc2VsZi5tZXNzYWdlKCIlcyAlcyB0byAlcyIgJSAobXNnLCBzcmMsIGRzdCksIDIpCi0gICAgICAgICAgICBkc3QgPSBwYXRoam9pbihzZWxmLmJ1bmRsZXBhdGgsIGRzdCkKLSAgICAgICAgICAgIGlmIHNlbGYuc3ltbGluazoKLSAgICAgICAgICAgICAgICBzeW1saW5rKHNyYywgZHN0LCBta2RpcnM9MSkKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgY29weShzcmMsIGRzdCwgbWtkaXJzPTEpCi0KLSAgICBkZWYgbWVzc2FnZShzZWxmLCBtc2csIGxldmVsPTApOgotICAgICAgICBpZiBsZXZlbCA8PSBzZWxmLnZlcmJvc2l0eToKLSAgICAgICAgICAgIGluZGVudCA9ICIiCi0gICAgICAgICAgICBpZiBsZXZlbCA+IDE6Ci0gICAgICAgICAgICAgICAgaW5kZW50ID0gKGxldmVsIC0gMSkgKiAiICAiCi0gICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRlKGluZGVudCArIG1zZyArICJcbiIpCi0KLSAgICBkZWYgcmVwb3J0KHNlbGYpOgotICAgICAgICAjIFhYWCBzb21ldGhpbmcgZGVjZW50Ci0gICAgICAgIHBhc3MKLQotCi1pZiBfX2RlYnVnX186Ci0gICAgUFlDX0VYVCA9ICIucHljIgotZWxzZToKLSAgICBQWUNfRVhUID0gIi5weW8iCi0KLU1BR0lDID0gaW1wLmdldF9tYWdpYygpCi1VU0VfWklQSU1QT1JUID0gInppcGltcG9ydCIgaW4gc3lzLmJ1aWx0aW5fbW9kdWxlX25hbWVzCi0KLSMgRm9yIHN0YW5kYWxvbmUgYXBwcywgd2UgaGF2ZSBvdXIgb3duIG1pbmltYWwgc2l0ZS5weS4gV2UgZG9uJ3QgbmVlZAotIyBhbGwgdGhlIGNydWZ0IG9mIHRoZSByZWFsIHNpdGUucHkuCi1TSVRFX1BZID0gIiIiXAotaW1wb3J0IHN5cwotaWYgbm90ICUoc2VtaV9zdGFuZGFsb25lKXM6Ci0gICAgZGVsIHN5cy5wYXRoWzE6XSAgIyBzeXMucGF0aFswXSBpcyBDb250ZW50cy9SZXNvdXJjZXMvCi0iIiIKLQotaWYgVVNFX1pJUElNUE9SVDoKLSAgICBaSVBfQVJDSElWRSA9ICJNb2R1bGVzLnppcCIKLSAgICBTSVRFX1BZICs9ICJzeXMucGF0aC5hcHBlbmQoc3lzLnBhdGhbMF0gKyAnLyVzJylcbiIgJSBaSVBfQVJDSElWRQotICAgIGRlZiBnZXRQeWNEYXRhKGZ1bGxuYW1lLCBjb2RlLCBpc3BrZyk6Ci0gICAgICAgIGlmIGlzcGtnOgotICAgICAgICAgICAgZnVsbG5hbWUgKz0gIi5fX2luaXRfXyIKLSAgICAgICAgcGF0aCA9IGZ1bGxuYW1lLnJlcGxhY2UoIi4iLCBvcy5zZXApICsgUFlDX0VYVAotICAgICAgICByZXR1cm4gcGF0aCwgTUFHSUMgKyAnXDBcMFwwXDAnICsgbWFyc2hhbC5kdW1wcyhjb2RlKQotCi0jCi0jIEV4dGVuc2lvbiBtb2R1bGVzIGNhbid0IGJlIGluIHRoZSBtb2R1bGVzIHppcCBhcmNoaXZlLCBzbyBhIHBsYWNlaG9sZGVyCi0jIGlzIGFkZGVkIGluc3RlYWQsIHRoYXQgbG9hZHMgdGhlIGV4dGVuc2lvbiBmcm9tIGEgc3BlY2lmaWVkIGxvY2F0aW9uLgotIwotRVhUX0xPQURFUiA9ICIiIlwKLWRlZiBfX2xvYWQoKToKLSAgICBpbXBvcnQgaW1wLCBzeXMsIG9zCi0gICAgZm9yIHAgaW4gc3lzLnBhdGg6Ci0gICAgICAgIHBhdGggPSBvcy5wYXRoLmpvaW4ocCwgIiUoZmlsZW5hbWUpcyIpCi0gICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKHBhdGgpOgotICAgICAgICAgICAgYnJlYWsKLSAgICBlbHNlOgotICAgICAgICBhc3NlcnQgMCwgImZpbGUgbm90IGZvdW5kOiAlKGZpbGVuYW1lKXMiCi0gICAgbW9kID0gaW1wLmxvYWRfZHluYW1pYygiJShuYW1lKXMiLCBwYXRoKQotCi1fX2xvYWQoKQotZGVsIF9fbG9hZAotIiIiCi0KLU1BWU1JU1NfTU9EVUxFUyA9IFsnbWFjJywgJ250JywgJ250cGF0aCcsICdkb3MnLCAnZG9zcGF0aCcsCi0gICAgJ3dpbjMyYXBpJywgJ2NlJywgJ193aW5yZWcnLCAnbnR1cmwycGF0aCcsICdzaXRlY3VzdG9taXplJywKLSAgICAnb3JnLnB5dGhvbi5jb3JlJywgJ3Jpc2NvcycsICdyaXNjb3NlbnZpcm9uJywgJ3Jpc2Nvc3BhdGgnCi1dCi0KLVNUUklQX0VYRUMgPSAiL3Vzci9iaW4vc3RyaXAiCi0KLSMKLSMgV2UncmUgdXNpbmcgYSBzdG9jayBpbnRlcnByZXRlciB0byBydW4gdGhlIGFwcCwgeWV0IHdlIG5lZWQKLSMgYSB3YXkgdG8gcGFzcyB0aGUgUHl0aG9uIG1haW4gcHJvZ3JhbSB0byB0aGUgaW50ZXJwcmV0ZXIuIFRoZQotIyBib290c3RyYXBwaW5nIHNjcmlwdCBmaXJlcyB1cCB0aGUgaW50ZXJwcmV0ZXIgd2l0aCB0aGUgcmlnaHQKLSMgYXJndW1lbnRzLiBvcy5leGVjdmUoKSBpcyB1c2VkIGFzIE9TWCBkb2Vzbid0IGxpa2UgdXMgdG8KLSMgc3RhcnQgYSByZWFsIG5ldyBwcm9jZXNzLiBBbHNvLCB0aGUgZXhlY3V0YWJsZSBuYW1lIG11c3QgbWF0Y2gKLSMgdGhlIENGQnVuZGxlRXhlY3V0YWJsZSB2YWx1ZSBpbiB0aGUgSW5mby5wbGlzdCwgc28gd2UgbGllCi0jIGRlbGliZXJhdGVseSB3aXRoIGFyZ3ZbMF0uIFRoZSBhY3R1YWwgUHl0aG9uIGV4ZWN1dGFibGUgaXMKLSMgcGFzc2VkIGluIGFuIGVudmlyb25tZW50IHZhcmlhYmxlIHNvIHdlIGNhbiAicmVwYWlyIgotIyBzeXMuZXhlY3V0YWJsZSBsYXRlci4KLSMKLUJPT1RTVFJBUF9TQ1JJUFQgPSAiIiJcCi0jISUoaGFzaGJhbmcpcwotCi1pbXBvcnQgc3lzLCBvcwotZXhlY2RpciA9IG9zLnBhdGguZGlybmFtZShzeXMuYXJndlswXSkKLWV4ZWN1dGFibGUgPSBvcy5wYXRoLmpvaW4oZXhlY2RpciwgIiUoZXhlY3V0YWJsZSlzIikKLXJlc2RpciA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoZXhlY2RpciksICJSZXNvdXJjZXMiKQotbGliZGlyID0gb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShleGVjZGlyKSwgIkZyYW1ld29ya3MiKQotbWFpbnByb2dyYW0gPSBvcy5wYXRoLmpvaW4ocmVzZGlyLCAiJShtYWlucHJvZ3JhbSlzIikKLQotc3lzLmFyZ3YuaW5zZXJ0KDEsIG1haW5wcm9ncmFtKQotaWYgJShzdGFuZGFsb25lKXMgb3IgJShzZW1pX3N0YW5kYWxvbmUpczoKLSAgICBvcy5lbnZpcm9uWyJQWVRIT05QQVRIIl0gPSByZXNkaXIKLSAgICBpZiAlKHN0YW5kYWxvbmUpczoKLSAgICAgICAgb3MuZW52aXJvblsiUFlUSE9OSE9NRSJdID0gcmVzZGlyCi1lbHNlOgotICAgIHB5cGF0aCA9IG9zLmdldGVudigiUFlUSE9OUEFUSCIsICIiKQotICAgIGlmIHB5cGF0aDoKLSAgICAgICAgcHlwYXRoID0gIjoiICsgcHlwYXRoCi0gICAgb3MuZW52aXJvblsiUFlUSE9OUEFUSCJdID0gcmVzZGlyICsgcHlwYXRoCi1vcy5lbnZpcm9uWyJQWVRIT05FWEVDVVRBQkxFIl0gPSBleGVjdXRhYmxlCi1vcy5lbnZpcm9uWyJEWUxEX0xJQlJBUllfUEFUSCJdID0gbGliZGlyCi1vcy5lbnZpcm9uWyJEWUxEX0ZSQU1FV09SS19QQVRIIl0gPSBsaWJkaXIKLW9zLmV4ZWN2ZShleGVjdXRhYmxlLCBzeXMuYXJndiwgb3MuZW52aXJvbikKLSIiIgotCi0KLSMKLSMgT3B0aW9uYWwgd3JhcHBlciB0aGF0IGNvbnZlcnRzICJkcm9wcGVkIGZpbGVzIiBpbnRvIHN5cy5hcmd2IHZhbHVlcy4KLSMKLUFSR1ZfRU1VTEFUT1IgPSAiIiJcCi1pbXBvcnQgYXJndmVtdWxhdG9yLCBvcwotCi1hcmd2ZW11bGF0b3IuQXJndkNvbGxlY3RvcigpLm1haW5sb29wKCkKLWV4ZWNmaWxlKG9zLnBhdGguam9pbihvcy5wYXRoLnNwbGl0KF9fZmlsZV9fKVswXSwgIiUocmVhbG1haW5wcm9ncmFtKXMiKSkKLSIiIgotCi0jCi0jIFdoZW4gYnVpbGRpbmcgYSBzdGFuZGFsb25lIGFwcCB3aXRoIFB5dGhvbi5mcmFtZXdvcmssIHdlIG5lZWQgdG8gY29weQotIyBhIHN1YnNldCBmcm9tIFB5dGhvbi5mcmFtZXdvcmsgdG8gdGhlIGJ1bmRsZS4gVGhlIGZvbGxvd2luZyBsaXN0Ci0jIHNwZWNpZmllcyBleGFjdGx5IHdoYXQgaXRlbXMgd2UnbGwgY29weS4KLSMKLVBZVEhPTkZSQU1FV09SS0dPT0RJRVMgPSBbCi0gICAgIlB5dGhvbiIsICAjIHRoZSBQeXRob24gY29yZSBsaWJyYXJ5Ci0gICAgIlJlc291cmNlcy9FbmdsaXNoLmxwcm9qIiwKLSAgICAiUmVzb3VyY2VzL0luZm8ucGxpc3QiLAotICAgICJSZXNvdXJjZXMvdmVyc2lvbi5wbGlzdCIsCi1dCi0KLWRlZiBpc0ZyYW1ld29yaygpOgotICAgIHJldHVybiBzeXMuZXhlY19wcmVmaXguZmluZCgiUHl0aG9uLmZyYW1ld29yayIpID4gMAotCi0KLUxJQiA9IG9zLnBhdGguam9pbihzeXMucHJlZml4LCAibGliIiwgInB5dGhvbiIgKyBzeXMudmVyc2lvbls6M10pCi1TSVRFX1BBQ0tBR0VTID0gb3MucGF0aC5qb2luKExJQiwgInNpdGUtcGFja2FnZXMiKQotCi0KLWNsYXNzIEFwcEJ1aWxkZXIoQnVuZGxlQnVpbGRlcik6Ci0KLSAgICAjIE92ZXJyaWRlIHR5cGUgb2YgdGhlIGJ1bmRsZS4KLSAgICB0eXBlID0gIkFQUEwiCi0KLSAgICAjIHBsYXRmb3JtLCBuYW1lIG9mIHRoZSBzdWJmb2xkZXIgb2YgQ29udGVudHMgdGhhdCBjb250YWlucyB0aGUgZXhlY3V0YWJsZS4KLSAgICBwbGF0Zm9ybSA9ICJNYWNPUyIKLQotICAgICMgQSBQeXRob24gbWFpbiBwcm9ncmFtLiBJZiB0aGlzIGFyZ3VtZW50IGlzIGdpdmVuLCB0aGUgbWFpbgotICAgICMgZXhlY3V0YWJsZSBpbiB0aGUgYnVuZGxlIHdpbGwgYmUgYSBzbWFsbCB3cmFwcGVyIHRoYXQgaW52b2tlcwotICAgICMgdGhlIG1haW4gcHJvZ3JhbS4gKFhYWCBEaXNjdXNzIHdoeS4pCi0gICAgbWFpbnByb2dyYW0gPSBOb25lCi0KLSAgICAjIFRoZSBtYWluIGV4ZWN1dGFibGUuIElmIGEgUHl0aG9uIG1haW4gcHJvZ3JhbSBpcyBzcGVjaWZpZWQKLSAgICAjIHRoZSBleGVjdXRhYmxlIHdpbGwgYmUgY29waWVkIHRvIFJlc291cmNlcyBhbmQgYmUgaW52b2tlZAotICAgICMgYnkgdGhlIHdyYXBwZXIgcHJvZ3JhbSBtZW50aW9uZWQgYWJvdmUuIE90aGVyd2lzZSBpdCB3aWxsCi0gICAgIyBzaW1wbHkgYmUgdXNlZCBhcyB0aGUgbWFpbiBleGVjdXRhYmxlLgotICAgIGV4ZWN1dGFibGUgPSBOb25lCi0KLSAgICAjIFRoZSBuYW1lIG9mIHRoZSBtYWluIG5pYiwgZm9yIENvY29hIGFwcHMuICpNdXN0KiBiZSBzcGVjaWZpZWQKLSAgICAjIHdoZW4gYnVpbGRpbmcgYSBDb2NvYSBhcHAuCi0gICAgbmlibmFtZSA9IE5vbmUKLQotICAgICMgVGhlIG5hbWUgb2YgdGhlIGljb24gZmlsZSB0byBiZSBjb3BpZWQgdG8gUmVzb3VyY2VzIGFuZCB1c2VkIGZvcgotICAgICMgdGhlIEZpbmRlciBpY29uLgotICAgIGljb25maWxlID0gTm9uZQotCi0gICAgIyBTeW1saW5rIHRoZSBleGVjdXRhYmxlIGluc3RlYWQgb2YgY29weWluZyBpdC4KLSAgICBzeW1saW5rX2V4ZWMgPSAwCi0KLSAgICAjIElmIFRydWUsIGJ1aWxkIHN0YW5kYWxvbmUgYXBwLgotICAgIHN0YW5kYWxvbmUgPSAwCi0KLSAgICAjIElmIFRydWUsIGJ1aWxkIHNlbWktc3RhbmRhbG9uZSBhcHAgKG9ubHkgaW5jbHVkZXMgdGhpcmQtcGFydHkgbW9kdWxlcykuCi0gICAgc2VtaV9zdGFuZGFsb25lID0gMAotCi0gICAgIyBJZiBzZXQsIHVzZSB0aGlzIGZvciAjISBsaW5lcyBpbiBzdGVhZCBvZiBzeXMuZXhlY3V0YWJsZQotICAgIHB5dGhvbiA9IE5vbmUKLQotICAgICMgSWYgVHJ1ZSwgYWRkIGEgcmVhbCBtYWluIHByb2dyYW0gdGhhdCBlbXVsYXRlcyBzeXMuYXJndiBiZWZvcmUgY2FsbGluZwotICAgICMgbWFpbnByb2dyYW0KLSAgICBhcmd2X2VtdWxhdGlvbiA9IDAKLQotICAgICMgVGhlIGZvbGxvd2luZyBhdHRyaWJ1dGVzIGFyZSBvbmx5IHVzZWQgd2hlbiBidWlsZGluZyBhIHN0YW5kYWxvbmUgYXBwLgotCi0gICAgIyBFeGNsdWRlIHRoZXNlIG1vZHVsZXMuCi0gICAgZXhjbHVkZU1vZHVsZXMgPSBbXQotCi0gICAgIyBJbmNsdWRlIHRoZXNlIG1vZHVsZXMuCi0gICAgaW5jbHVkZU1vZHVsZXMgPSBbXQotCi0gICAgIyBJbmNsdWRlIHRoZXNlIHBhY2thZ2VzLgotICAgIGluY2x1ZGVQYWNrYWdlcyA9IFtdCi0KLSAgICAjIFN0cmlwIGJpbmFyaWVzIGZyb20gZGVidWcgaW5mby4KLSAgICBzdHJpcCA9IDAKLQotICAgICMgRm91bmQgUHl0aG9uIG1vZHVsZXM6IFsobmFtZSwgY29kZW9iamVjdCwgaXNwa2cpLCAuLi5dCi0gICAgcHltb2R1bGVzID0gW10KLQotICAgICMgTW9kdWxlcyB0aGF0IG1vZHVsZWZpbmRlciBjb3VsZG4ndCBmaW5kOgotICAgIG1pc3NpbmdNb2R1bGVzID0gW10KLSAgICBtYXliZU1pc3NpbmdNb2R1bGVzID0gW10KLQotICAgIGRlZiBzZXR1cChzZWxmKToKLSAgICAgICAgaWYgKChzZWxmLnN0YW5kYWxvbmUgb3Igc2VsZi5zZW1pX3N0YW5kYWxvbmUpCi0gICAgICAgICAgICBhbmQgc2VsZi5tYWlucHJvZ3JhbSBpcyBOb25lKToKLSAgICAgICAgICAgIHJhaXNlIEJ1bmRsZUJ1aWxkZXJFcnJvcigibXVzdCBzcGVjaWZ5ICdtYWlucHJvZ3JhbScgd2hlbiAiCi0gICAgICAgICAgICAgICAgICAgICJidWlsZGluZyBhIHN0YW5kYWxvbmUgYXBwbGljYXRpb24uIikKLSAgICAgICAgaWYgc2VsZi5tYWlucHJvZ3JhbSBpcyBOb25lIGFuZCBzZWxmLmV4ZWN1dGFibGUgaXMgTm9uZToKLSAgICAgICAgICAgIHJhaXNlIEJ1bmRsZUJ1aWxkZXJFcnJvcigibXVzdCBzcGVjaWZ5IGVpdGhlciBvciBib3RoIG9mICIKLSAgICAgICAgICAgICAgICAgICAgIidleGVjdXRhYmxlJyBhbmQgJ21haW5wcm9ncmFtJyIpCi0KLSAgICAgICAgc2VsZi5leGVjZGlyID0gcGF0aGpvaW4oIkNvbnRlbnRzIiwgc2VsZi5wbGF0Zm9ybSkKLQotICAgICAgICBpZiBzZWxmLm5hbWUgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICBwYXNzCi0gICAgICAgIGVsaWYgc2VsZi5tYWlucHJvZ3JhbSBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIHNlbGYubmFtZSA9IG9zLnBhdGguc3BsaXRleHQob3MucGF0aC5iYXNlbmFtZShzZWxmLm1haW5wcm9ncmFtKSlbMF0KLSAgICAgICAgZWxpZiBleGVjdXRhYmxlIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgc2VsZi5uYW1lID0gb3MucGF0aC5zcGxpdGV4dChvcy5wYXRoLmJhc2VuYW1lKHNlbGYuZXhlY3V0YWJsZSkpWzBdCi0gICAgICAgIGlmIHNlbGYubmFtZVstNDpdICE9ICIuYXBwIjoKLSAgICAgICAgICAgIHNlbGYubmFtZSArPSAiLmFwcCIKLQotICAgICAgICBpZiBzZWxmLmV4ZWN1dGFibGUgaXMgTm9uZToKLSAgICAgICAgICAgIGlmIG5vdCBzZWxmLnN0YW5kYWxvbmUgYW5kIG5vdCBpc0ZyYW1ld29yaygpOgotICAgICAgICAgICAgICAgIHNlbGYuc3ltbGlua19leGVjID0gMQotICAgICAgICAgICAgaWYgc2VsZi5weXRob246Ci0gICAgICAgICAgICAgICAgc2VsZi5leGVjdXRhYmxlID0gc2VsZi5weXRob24KLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgc2VsZi5leGVjdXRhYmxlID0gc3lzLmV4ZWN1dGFibGUKLQotICAgICAgICBpZiBzZWxmLm5pYm5hbWU6Ci0gICAgICAgICAgICBzZWxmLnBsaXN0Lk5TTWFpbk5pYkZpbGUgPSBzZWxmLm5pYm5hbWUKLSAgICAgICAgICAgIGlmIG5vdCBoYXNhdHRyKHNlbGYucGxpc3QsICJOU1ByaW5jaXBhbENsYXNzIik6Ci0gICAgICAgICAgICAgICAgc2VsZi5wbGlzdC5OU1ByaW5jaXBhbENsYXNzID0gIk5TQXBwbGljYXRpb24iCi0KLSAgICAgICAgaWYgc2VsZi5zdGFuZGFsb25lIGFuZCBpc0ZyYW1ld29yaygpOgotICAgICAgICAgICAgc2VsZi5hZGRQeXRob25GcmFtZXdvcmsoKQotCi0gICAgICAgIEJ1bmRsZUJ1aWxkZXIuc2V0dXAoc2VsZikKLQotICAgICAgICBzZWxmLnBsaXN0LkNGQnVuZGxlRXhlY3V0YWJsZSA9IHNlbGYubmFtZQotCi0gICAgICAgIGlmIHNlbGYuc3RhbmRhbG9uZSBvciBzZWxmLnNlbWlfc3RhbmRhbG9uZToKLSAgICAgICAgICAgIHNlbGYuZmluZERlcGVuZGVuY2llcygpCi0KLSAgICBkZWYgcHJlUHJvY2VzcyhzZWxmKToKLSAgICAgICAgcmVzZGlyID0gIkNvbnRlbnRzL1Jlc291cmNlcyIKLSAgICAgICAgaWYgc2VsZi5leGVjdXRhYmxlIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgaWYgc2VsZi5tYWlucHJvZ3JhbSBpcyBOb25lOgotICAgICAgICAgICAgICAgIGV4ZWNuYW1lID0gc2VsZi5uYW1lCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGV4ZWNuYW1lID0gb3MucGF0aC5iYXNlbmFtZShzZWxmLmV4ZWN1dGFibGUpCi0gICAgICAgICAgICBleGVjcGF0aCA9IHBhdGhqb2luKHNlbGYuZXhlY2RpciwgZXhlY25hbWUpCi0gICAgICAgICAgICBpZiBub3Qgc2VsZi5zeW1saW5rX2V4ZWM6Ci0gICAgICAgICAgICAgICAgc2VsZi5maWxlcy5hcHBlbmQoKHNlbGYuZGVzdHJvb3QgKyBzZWxmLmV4ZWN1dGFibGUsIGV4ZWNwYXRoKSkKLSAgICAgICAgICAgIHNlbGYuZXhlY3BhdGggPSBleGVjcGF0aAotCi0gICAgICAgIGlmIHNlbGYubWFpbnByb2dyYW0gaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICBtYWlucHJvZ3JhbSA9IG9zLnBhdGguYmFzZW5hbWUoc2VsZi5tYWlucHJvZ3JhbSkKLSAgICAgICAgICAgIHNlbGYuZmlsZXMuYXBwZW5kKChzZWxmLm1haW5wcm9ncmFtLCBwYXRoam9pbihyZXNkaXIsIG1haW5wcm9ncmFtKSkpCi0gICAgICAgICAgICBpZiBzZWxmLmFyZ3ZfZW11bGF0aW9uOgotICAgICAgICAgICAgICAgICMgQ2hhbmdlIHRoZSBtYWluIHByb2dyYW0sIGFuZCBjcmVhdGUgdGhlIGhlbHBlciBtYWluIHByb2dyYW0gKHdoaWNoCi0gICAgICAgICAgICAgICAgIyBkb2VzIGFyZ3YgY29sbGVjdGlvbiBhbmQgdGhlbiBjYWxscyB0aGUgcmVhbCBtYWluKS4KLSAgICAgICAgICAgICAgICAjIEFsc28gdXBkYXRlIHRoZSBpbmNsdWRlZCBtb2R1bGVzIChpZiB3ZSdyZSBjcmVhdGluZyBhIHN0YW5kYWxvbmUKLSAgICAgICAgICAgICAgICAjIHByb2dyYW0pIGFuZCB0aGUgcGxpc3QKLSAgICAgICAgICAgICAgICByZWFsbWFpbnByb2dyYW0gPSBtYWlucHJvZ3JhbQotICAgICAgICAgICAgICAgIG1haW5wcm9ncmFtID0gJ19fYXJndmVtdWxhdG9yXycgKyBtYWlucHJvZ3JhbQotICAgICAgICAgICAgICAgIHJlc2RpcnBhdGggPSBwYXRoam9pbihzZWxmLmJ1bmRsZXBhdGgsIHJlc2RpcikKLSAgICAgICAgICAgICAgICBtYWlucHJvZ3JhbXBhdGggPSBwYXRoam9pbihyZXNkaXJwYXRoLCBtYWlucHJvZ3JhbSkKLSAgICAgICAgICAgICAgICBtYWtlZGlycyhyZXNkaXJwYXRoKQotICAgICAgICAgICAgICAgIG9wZW4obWFpbnByb2dyYW1wYXRoLCAidyIpLndyaXRlKEFSR1ZfRU1VTEFUT1IgJSBsb2NhbHMoKSkKLSAgICAgICAgICAgICAgICBpZiBzZWxmLnN0YW5kYWxvbmUgb3Igc2VsZi5zZW1pX3N0YW5kYWxvbmU6Ci0gICAgICAgICAgICAgICAgICAgIHNlbGYuaW5jbHVkZU1vZHVsZXMuYXBwZW5kKCJhcmd2ZW11bGF0b3IiKQotICAgICAgICAgICAgICAgICAgICBzZWxmLmluY2x1ZGVNb2R1bGVzLmFwcGVuZCgib3MiKQotICAgICAgICAgICAgICAgIGlmICJDRkJ1bmRsZURvY3VtZW50VHlwZXMiIG5vdCBpbiBzZWxmLnBsaXN0OgotICAgICAgICAgICAgICAgICAgICBzZWxmLnBsaXN0WyJDRkJ1bmRsZURvY3VtZW50VHlwZXMiXSA9IFsKLSAgICAgICAgICAgICAgICAgICAgICAgIHsgIkNGQnVuZGxlVHlwZU9TVHlwZXMiIDogWwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICIqKioqIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZm9sZCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc2siXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIkNGQnVuZGxlVHlwZVJvbGUiOiAiVmlld2VyIn1dCi0gICAgICAgICAgICAjIFdyaXRlIGJvb3RzdHJhcCBzY3JpcHQKLSAgICAgICAgICAgIGV4ZWN1dGFibGUgPSBvcy5wYXRoLmJhc2VuYW1lKHNlbGYuZXhlY3V0YWJsZSkKLSAgICAgICAgICAgIGV4ZWNkaXIgPSBwYXRoam9pbihzZWxmLmJ1bmRsZXBhdGgsIHNlbGYuZXhlY2RpcikKLSAgICAgICAgICAgIGJvb3RzdHJhcHBhdGggPSBwYXRoam9pbihleGVjZGlyLCBzZWxmLm5hbWUpCi0gICAgICAgICAgICBtYWtlZGlycyhleGVjZGlyKQotICAgICAgICAgICAgaWYgc2VsZi5zdGFuZGFsb25lIG9yIHNlbGYuc2VtaV9zdGFuZGFsb25lOgotICAgICAgICAgICAgICAgICMgWFhYIHdlJ3JlIHNjcmV3ZWQgd2hlbiB0aGUgZW5kIHVzZXIgaGFzIGRlbGV0ZWQKLSAgICAgICAgICAgICAgICAjIC91c3IvYmluL3B5dGhvbgotICAgICAgICAgICAgICAgIGhhc2hiYW5nID0gIi91c3IvYmluL3B5dGhvbiIKLSAgICAgICAgICAgIGVsaWYgc2VsZi5weXRob246Ci0gICAgICAgICAgICAgICAgaGFzaGJhbmcgPSBzZWxmLnB5dGhvbgotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBoYXNoYmFuZyA9IG9zLnBhdGgucmVhbHBhdGgoc3lzLmV4ZWN1dGFibGUpCi0gICAgICAgICAgICBzdGFuZGFsb25lID0gc2VsZi5zdGFuZGFsb25lCi0gICAgICAgICAgICBzZW1pX3N0YW5kYWxvbmUgPSBzZWxmLnNlbWlfc3RhbmRhbG9uZQotICAgICAgICAgICAgb3Blbihib290c3RyYXBwYXRoLCAidyIpLndyaXRlKEJPT1RTVFJBUF9TQ1JJUFQgJSBsb2NhbHMoKSkKLSAgICAgICAgICAgIG9zLmNobW9kKGJvb3RzdHJhcHBhdGgsIDBvNzc1KQotCi0gICAgICAgIGlmIHNlbGYuaWNvbmZpbGUgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICBpY29uYmFzZSA9IG9zLnBhdGguYmFzZW5hbWUoc2VsZi5pY29uZmlsZSkKLSAgICAgICAgICAgIHNlbGYucGxpc3QuQ0ZCdW5kbGVJY29uRmlsZSA9IGljb25iYXNlCi0gICAgICAgICAgICBzZWxmLmZpbGVzLmFwcGVuZCgoc2VsZi5pY29uZmlsZSwgcGF0aGpvaW4ocmVzZGlyLCBpY29uYmFzZSkpKQotCi0gICAgZGVmIHBvc3RQcm9jZXNzKHNlbGYpOgotICAgICAgICBpZiBzZWxmLnN0YW5kYWxvbmUgb3Igc2VsZi5zZW1pX3N0YW5kYWxvbmU6Ci0gICAgICAgICAgICBzZWxmLmFkZFB5dGhvbk1vZHVsZXMoKQotICAgICAgICBpZiBzZWxmLnN0cmlwIGFuZCBub3Qgc2VsZi5zeW1saW5rOgotICAgICAgICAgICAgc2VsZi5zdHJpcEJpbmFyaWVzKCkKLQotICAgICAgICBpZiBzZWxmLnN5bWxpbmtfZXhlYyBhbmQgc2VsZi5leGVjdXRhYmxlOgotICAgICAgICAgICAgc2VsZi5tZXNzYWdlKCJTeW1saW5raW5nIGV4ZWN1dGFibGUgJXMgdG8gJXMiICUgKHNlbGYuZXhlY3V0YWJsZSwKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5leGVjcGF0aCksIDIpCi0gICAgICAgICAgICBkc3QgPSBwYXRoam9pbihzZWxmLmJ1bmRsZXBhdGgsIHNlbGYuZXhlY3BhdGgpCi0gICAgICAgICAgICBtYWtlZGlycyhvcy5wYXRoLmRpcm5hbWUoZHN0KSkKLSAgICAgICAgICAgIG9zLnN5bWxpbmsob3MucGF0aC5hYnNwYXRoKHNlbGYuZXhlY3V0YWJsZSksIGRzdCkKLQotICAgICAgICBpZiBzZWxmLm1pc3NpbmdNb2R1bGVzIG9yIHNlbGYubWF5YmVNaXNzaW5nTW9kdWxlczoKLSAgICAgICAgICAgIHNlbGYucmVwb3J0TWlzc2luZygpCi0KLSAgICBkZWYgYWRkUHl0aG9uRnJhbWV3b3JrKHNlbGYpOgotICAgICAgICAjIElmIHdlJ3JlIGJ1aWxkaW5nIGEgc3RhbmRhbG9uZSBhcHAgd2l0aCBQeXRob24uZnJhbWV3b3JrLAotICAgICAgICAjIGluY2x1ZGUgYSBtaW5pbWFsIHN1YnNldCBvZiBQeXRob24uZnJhbWV3b3JrLCAqdW5sZXNzKgotICAgICAgICAjIFB5dGhvbi5mcmFtZXdvcmsgd2FzIHNwZWNpZmllZCBtYW51YWxseSBpbiBzZWxmLmxpYnMuCi0gICAgICAgIGZvciBsaWIgaW4gc2VsZi5saWJzOgotICAgICAgICAgICAgaWYgb3MucGF0aC5iYXNlbmFtZShsaWIpID09ICJQeXRob24uZnJhbWV3b3JrIjoKLSAgICAgICAgICAgICAgICAjIGEgUHl0aG9uLmZyYW1ld29yayB3YXMgc3BlY2lmaWVkIGFzIGEgbGlicmFyeQotICAgICAgICAgICAgICAgIHJldHVybgotCi0gICAgICAgIGZyYW1ld29ya3BhdGggPSBzeXMuZXhlY19wcmVmaXhbOnN5cy5leGVjX3ByZWZpeC5maW5kKAotICAgICAgICAgICAgIlB5dGhvbi5mcmFtZXdvcmsiKSArIGxlbigiUHl0aG9uLmZyYW1ld29yayIpXQotCi0gICAgICAgIHZlcnNpb24gPSBzeXMudmVyc2lvbls6M10KLSAgICAgICAgZnJhbWV3b3JrcGF0aCA9IHBhdGhqb2luKGZyYW1ld29ya3BhdGgsICJWZXJzaW9ucyIsIHZlcnNpb24pCi0gICAgICAgIGRlc3RiYXNlID0gcGF0aGpvaW4oIkNvbnRlbnRzIiwgIkZyYW1ld29ya3MiLCAiUHl0aG9uLmZyYW1ld29yayIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIlZlcnNpb25zIiwgdmVyc2lvbikKLSAgICAgICAgZm9yIGl0ZW0gaW4gUFlUSE9ORlJBTUVXT1JLR09PRElFUzoKLSAgICAgICAgICAgIHNyYyA9IHBhdGhqb2luKGZyYW1ld29ya3BhdGgsIGl0ZW0pCi0gICAgICAgICAgICBkc3QgPSBwYXRoam9pbihkZXN0YmFzZSwgaXRlbSkKLSAgICAgICAgICAgIHNlbGYuZmlsZXMuYXBwZW5kKChzcmMsIGRzdCkpCi0KLSAgICBkZWYgX2dldFNpdGVDb2RlKHNlbGYpOgotICAgICAgICByZXR1cm4gY29tcGlsZShTSVRFX1BZICUgeyJzZW1pX3N0YW5kYWxvbmUiOiBzZWxmLnNlbWlfc3RhbmRhbG9uZX0sCi0gICAgICAgICAgICAgICAgICAgICAiPC1idW5kbGVidWlsZGVyLnB5LT4iLCAiZXhlYyIpCi0KLSAgICBkZWYgYWRkUHl0aG9uTW9kdWxlcyhzZWxmKToKLSAgICAgICAgc2VsZi5tZXNzYWdlKCJBZGRpbmcgUHl0aG9uIG1vZHVsZXMiLCAxKQotCi0gICAgICAgIGlmIFVTRV9aSVBJTVBPUlQ6Ci0gICAgICAgICAgICAjIENyZWF0ZSBhIHppcCBmaWxlIGNvbnRhaW5pbmcgYWxsIG1vZHVsZXMgYXMgcHljLgotICAgICAgICAgICAgaW1wb3J0IHppcGZpbGUKLSAgICAgICAgICAgIHJlbHBhdGggPSBwYXRoam9pbigiQ29udGVudHMiLCAiUmVzb3VyY2VzIiwgWklQX0FSQ0hJVkUpCi0gICAgICAgICAgICBhYnNwYXRoID0gcGF0aGpvaW4oc2VsZi5idW5kbGVwYXRoLCByZWxwYXRoKQotICAgICAgICAgICAgemYgPSB6aXBmaWxlLlppcEZpbGUoYWJzcGF0aCwgInciLCB6aXBmaWxlLlpJUF9ERUZMQVRFRCkKLSAgICAgICAgICAgIGZvciBuYW1lLCBjb2RlLCBpc3BrZyBpbiBzZWxmLnB5bW9kdWxlczoKLSAgICAgICAgICAgICAgICBzZWxmLm1lc3NhZ2UoIkFkZGluZyBQeXRob24gbW9kdWxlICVzIiAlIG5hbWUsIDIpCi0gICAgICAgICAgICAgICAgcGF0aCwgcHljID0gZ2V0UHljRGF0YShuYW1lLCBjb2RlLCBpc3BrZykKLSAgICAgICAgICAgICAgICB6Zi53cml0ZXN0cihwYXRoLCBweWMpCi0gICAgICAgICAgICB6Zi5jbG9zZSgpCi0gICAgICAgICAgICAjIGFkZCBzaXRlLnB5YwotICAgICAgICAgICAgc2l0ZXBhdGggPSBwYXRoam9pbihzZWxmLmJ1bmRsZXBhdGgsICJDb250ZW50cyIsICJSZXNvdXJjZXMiLAotICAgICAgICAgICAgICAgICAgICAic2l0ZSIgKyBQWUNfRVhUKQotICAgICAgICAgICAgd3JpdGVQeWMoc2VsZi5fZ2V0U2l0ZUNvZGUoKSwgc2l0ZXBhdGgpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAjIENyZWF0ZSBpbmRpdmlkdWFsIC5weWMgZmlsZXMuCi0gICAgICAgICAgICBmb3IgbmFtZSwgY29kZSwgaXNwa2cgaW4gc2VsZi5weW1vZHVsZXM6Ci0gICAgICAgICAgICAgICAgaWYgaXNwa2c6Ci0gICAgICAgICAgICAgICAgICAgIG5hbWUgKz0gIi5fX2luaXRfXyIKLSAgICAgICAgICAgICAgICBwYXRoID0gbmFtZS5zcGxpdCgiLiIpCi0gICAgICAgICAgICAgICAgcGF0aCA9IHBhdGhqb2luKCJDb250ZW50cyIsICJSZXNvdXJjZXMiLCAqcGF0aCkgKyBQWUNfRVhUCi0KLSAgICAgICAgICAgICAgICBpZiBpc3BrZzoKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5tZXNzYWdlKCJBZGRpbmcgUHl0aG9uIHBhY2thZ2UgJXMiICUgcGF0aCwgMikKLSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICBzZWxmLm1lc3NhZ2UoIkFkZGluZyBQeXRob24gbW9kdWxlICVzIiAlIHBhdGgsIDIpCi0KLSAgICAgICAgICAgICAgICBhYnNwYXRoID0gcGF0aGpvaW4oc2VsZi5idW5kbGVwYXRoLCBwYXRoKQotICAgICAgICAgICAgICAgIG1ha2VkaXJzKG9zLnBhdGguZGlybmFtZShhYnNwYXRoKSkKLSAgICAgICAgICAgICAgICB3cml0ZVB5Yyhjb2RlLCBhYnNwYXRoKQotCi0gICAgZGVmIHN0cmlwQmluYXJpZXMoc2VsZik6Ci0gICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhTVFJJUF9FWEVDKToKLSAgICAgICAgICAgIHNlbGYubWVzc2FnZSgiRXJyb3I6IGNhbid0IHN0cmlwIGJpbmFyaWVzOiBubyBzdHJpcCBwcm9ncmFtIGF0ICIKLSAgICAgICAgICAgICAgICAiJXMiICUgU1RSSVBfRVhFQywgMCkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGltcG9ydCBzdGF0Ci0gICAgICAgICAgICBzZWxmLm1lc3NhZ2UoIlN0cmlwcGluZyBiaW5hcmllcyIsIDEpCi0gICAgICAgICAgICBkZWYgd2Fsayh0b3ApOgotICAgICAgICAgICAgICAgIGZvciBuYW1lIGluIG9zLmxpc3RkaXIodG9wKToKLSAgICAgICAgICAgICAgICAgICAgcGF0aCA9IHBhdGhqb2luKHRvcCwgbmFtZSkKLSAgICAgICAgICAgICAgICAgICAgaWYgb3MucGF0aC5pc2xpbmsocGF0aCk6Ci0gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgICAgICAgICBpZiBvcy5wYXRoLmlzZGlyKHBhdGgpOgotICAgICAgICAgICAgICAgICAgICAgICAgd2FsayhwYXRoKQotICAgICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAgICAgbW9kID0gb3Muc3RhdChwYXRoKVtzdGF0LlNUX01PREVdCi0gICAgICAgICAgICAgICAgICAgICAgICBpZiBub3QgKG1vZCAmIDBvMTAwKToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgICAgICAgICAgICAgcmVscGF0aCA9IHBhdGhbbGVuKHNlbGYuYnVuZGxlcGF0aCk6XQotICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5tZXNzYWdlKCJTdHJpcHBpbmcgJXMiICUgcmVscGF0aCwgMikKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZiwgb3V0ZiA9IG9zLnBvcGVuNCgiJXMgLVMgXCIlc1wiIiAlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFNUUklQX0VYRUMsIHBhdGgpKQotICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0ID0gb3V0Zi5yZWFkKCkuc3RyaXAoKQotICAgICAgICAgICAgICAgICAgICAgICAgaWYgb3V0cHV0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgdXN1YWxseSBub3QgYSByZWFsIHByb2JsZW0sIGxpa2Ugd2hlbiB3ZSdyZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgdHJ5aW5nIHRvIHN0cmlwIGEgc2NyaXB0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5tZXNzYWdlKCJQcm9ibGVtIHN0cmlwcGluZyAlczoiICUgcmVscGF0aCwgMykKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLm1lc3NhZ2Uob3V0cHV0LCAzKQotICAgICAgICAgICAgd2FsayhzZWxmLmJ1bmRsZXBhdGgpCi0KLSAgICBkZWYgZmluZERlcGVuZGVuY2llcyhzZWxmKToKLSAgICAgICAgc2VsZi5tZXNzYWdlKCJGaW5kaW5nIG1vZHVsZSBkZXBlbmRlbmNpZXMiLCAxKQotICAgICAgICBpbXBvcnQgbW9kdWxlZmluZGVyCi0gICAgICAgIG1mID0gbW9kdWxlZmluZGVyLk1vZHVsZUZpbmRlcihleGNsdWRlcz1zZWxmLmV4Y2x1ZGVNb2R1bGVzKQotICAgICAgICBpZiBVU0VfWklQSU1QT1JUOgotICAgICAgICAgICAgIyB6aXBpbXBvcnQgaW1wb3J0cyB6bGliLCBtdXN0IGFkZCBpdCBtYW51YWxseQotICAgICAgICAgICAgbWYuaW1wb3J0X2hvb2soInpsaWIiKQotICAgICAgICAjIG1hbnVhbGx5IGFkZCBvdXIgb3duIHNpdGUucHkKLSAgICAgICAgc2l0ZSA9IG1mLmFkZF9tb2R1bGUoInNpdGUiKQotICAgICAgICBzaXRlLl9fY29kZV9fID0gc2VsZi5fZ2V0U2l0ZUNvZGUoKQotICAgICAgICBtZi5zY2FuX2NvZGUoc2l0ZS5fX2NvZGVfXywgc2l0ZSkKLQotICAgICAgICAjIHdhcm5pbmdzLnB5IGdldHMgaW1wb3J0ZWQgaW1wbGljaXRseSBmcm9tIEMKLSAgICAgICAgbWYuaW1wb3J0X2hvb2soIndhcm5pbmdzIikKLQotICAgICAgICBpbmNsdWRlTW9kdWxlcyA9IHNlbGYuaW5jbHVkZU1vZHVsZXNbOl0KLSAgICAgICAgZm9yIG5hbWUgaW4gc2VsZi5pbmNsdWRlUGFja2FnZXM6Ci0gICAgICAgICAgICBpbmNsdWRlTW9kdWxlcy5leHRlbmQobGlzdChmaW5kUGFja2FnZUNvbnRlbnRzKG5hbWUpLmtleXMoKSkpCi0gICAgICAgIGZvciBuYW1lIGluIGluY2x1ZGVNb2R1bGVzOgotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIG1mLmltcG9ydF9ob29rKG5hbWUpCi0gICAgICAgICAgICBleGNlcHQgSW1wb3J0RXJyb3I6Ci0gICAgICAgICAgICAgICAgc2VsZi5taXNzaW5nTW9kdWxlcy5hcHBlbmQobmFtZSkKLQotICAgICAgICBtZi5ydW5fc2NyaXB0KHNlbGYubWFpbnByb2dyYW0pCi0gICAgICAgIG1vZHVsZXMgPSBsaXN0KG1mLm1vZHVsZXMuaXRlbXMoKSkKLSAgICAgICAgbW9kdWxlcy5zb3J0KCkKLSAgICAgICAgZm9yIG5hbWUsIG1vZCBpbiBtb2R1bGVzOgotICAgICAgICAgICAgcGF0aCA9IG1vZC5fX2ZpbGVfXwotICAgICAgICAgICAgaWYgcGF0aCBhbmQgc2VsZi5zZW1pX3N0YW5kYWxvbmU6Ci0gICAgICAgICAgICAgICAgIyBza2lwIHRoZSBzdGFuZGFyZCBsaWJyYXJ5Ci0gICAgICAgICAgICAgICAgaWYgcGF0aC5zdGFydHN3aXRoKExJQikgYW5kIG5vdCBwYXRoLnN0YXJ0c3dpdGgoU0lURV9QQUNLQUdFUyk6Ci0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgICAgICBpZiBwYXRoIGFuZCBtb2QuX19jb2RlX18gaXMgTm9uZToKLSAgICAgICAgICAgICAgICAjIEMgZXh0ZW5zaW9uCi0gICAgICAgICAgICAgICAgZmlsZW5hbWUgPSBvcy5wYXRoLmJhc2VuYW1lKHBhdGgpCi0gICAgICAgICAgICAgICAgcGF0aGl0ZW1zID0gbmFtZS5zcGxpdCgiLiIpWzotMV0gKyBbZmlsZW5hbWVdCi0gICAgICAgICAgICAgICAgZHN0cGF0aCA9IHBhdGhqb2luKCpwYXRoaXRlbXMpCi0gICAgICAgICAgICAgICAgaWYgVVNFX1pJUElNUE9SVDoKLSAgICAgICAgICAgICAgICAgICAgaWYgbmFtZSAhPSAiemxpYiI6Ci0gICAgICAgICAgICAgICAgICAgICAgICAjIG5lYXRseSBwYWNrIGFsbCBleHRlbnNpb24gbW9kdWxlcyBpbiBhIHN1YmRpcmVjdG9yeSwKLSAgICAgICAgICAgICAgICAgICAgICAgICMgZXhjZXB0IHpsaWIsIHNpbmNlIGl0J3MgbmVjZXNzYXJ5IGZvciBib290c3RyYXBwaW5nLgotICAgICAgICAgICAgICAgICAgICAgICAgZHN0cGF0aCA9IHBhdGhqb2luKCJFeHRlbnNpb25Nb2R1bGVzIiwgZHN0cGF0aCkKLSAgICAgICAgICAgICAgICAgICAgIyBQeXRob24gbW9kdWxlcyBhcmUgc3RvcmVkIGluIGEgWmlwIGFyY2hpdmUsIGJ1dCBwdXQKLSAgICAgICAgICAgICAgICAgICAgIyBleHRlbnNpb25zIGluIENvbnRlbnRzL1Jlc291cmNlcy8uIEFkZCBhIHRpbnkgImxvYWRlciIKLSAgICAgICAgICAgICAgICAgICAgIyBwcm9ncmFtIGluIHRoZSBaaXAgYXJjaGl2ZS4gRHVlIHRvIFRob21hcyBIZWxsZXIuCi0gICAgICAgICAgICAgICAgICAgIHNvdXJjZSA9IEVYVF9MT0FERVIgJSB7Im5hbWUiOiBuYW1lLCAiZmlsZW5hbWUiOiBkc3RwYXRofQotICAgICAgICAgICAgICAgICAgICBjb2RlID0gY29tcGlsZShzb3VyY2UsICI8ZHlubG9hZGVyIGZvciAlcz4iICUgbmFtZSwgImV4ZWMiKQotICAgICAgICAgICAgICAgICAgICBtb2QuX19jb2RlX18gPSBjb2RlCi0gICAgICAgICAgICAgICAgc2VsZi5maWxlcy5hcHBlbmQoKHBhdGgsIHBhdGhqb2luKCJDb250ZW50cyIsICJSZXNvdXJjZXMiLCBkc3RwYXRoKSkpCi0gICAgICAgICAgICBpZiBtb2QuX19jb2RlX18gaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgaXNwa2cgPSBtb2QuX19wYXRoX18gaXMgbm90IE5vbmUKLSAgICAgICAgICAgICAgICBpZiBub3QgVVNFX1pJUElNUE9SVCBvciBuYW1lICE9ICJzaXRlIjoKLSAgICAgICAgICAgICAgICAgICAgIyBPdXIgc2l0ZS5weSBpcyBkb2luZyB0aGUgYm9vdHN0cmFwcGluZywgc28gd2UgbXVzdAotICAgICAgICAgICAgICAgICAgICAjIGluY2x1ZGUgYSByZWFsIC5weWMgZmlsZSBpZiBVU0VfWklQSU1QT1JUIGlzIFRydWUuCi0gICAgICAgICAgICAgICAgICAgIHNlbGYucHltb2R1bGVzLmFwcGVuZCgobmFtZSwgbW9kLl9fY29kZV9fLCBpc3BrZykpCi0KLSAgICAgICAgaWYgaGFzYXR0cihtZiwgImFueV9taXNzaW5nX21heWJlIik6Ci0gICAgICAgICAgICBtaXNzaW5nLCBtYXliZSA9IG1mLmFueV9taXNzaW5nX21heWJlKCkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIG1pc3NpbmcgPSBtZi5hbnlfbWlzc2luZygpCi0gICAgICAgICAgICBtYXliZSA9IFtdCi0gICAgICAgIHNlbGYubWlzc2luZ01vZHVsZXMuZXh0ZW5kKG1pc3NpbmcpCi0gICAgICAgIHNlbGYubWF5YmVNaXNzaW5nTW9kdWxlcy5leHRlbmQobWF5YmUpCi0KLSAgICBkZWYgcmVwb3J0TWlzc2luZyhzZWxmKToKLSAgICAgICAgbWlzc2luZyA9IFtuYW1lIGZvciBuYW1lIGluIHNlbGYubWlzc2luZ01vZHVsZXMKLSAgICAgICAgICAgICAgICBpZiBuYW1lIG5vdCBpbiBNQVlNSVNTX01PRFVMRVNdCi0gICAgICAgIGlmIHNlbGYubWF5YmVNaXNzaW5nTW9kdWxlczoKLSAgICAgICAgICAgIG1heWJlID0gc2VsZi5tYXliZU1pc3NpbmdNb2R1bGVzCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBtYXliZSA9IFtuYW1lIGZvciBuYW1lIGluIG1pc3NpbmcgaWYgIi4iIGluIG5hbWVdCi0gICAgICAgICAgICBtaXNzaW5nID0gW25hbWUgZm9yIG5hbWUgaW4gbWlzc2luZyBpZiAiLiIgbm90IGluIG5hbWVdCi0gICAgICAgIG1pc3Npbmcuc29ydCgpCi0gICAgICAgIG1heWJlLnNvcnQoKQotICAgICAgICBpZiBtYXliZToKLSAgICAgICAgICAgIHNlbGYubWVzc2FnZSgiV2FybmluZzogY291bGRuJ3QgZmluZCB0aGUgZm9sbG93aW5nIHN1Ym1vZHVsZXM6IiwgMSkKLSAgICAgICAgICAgIHNlbGYubWVzc2FnZSgiICAgIChOb3RlIHRoYXQgdGhlc2UgY291bGQgYmUgZmFsc2UgYWxhcm1zIC0tICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAiaXQncyBub3QgYWx3YXlzIiwgMSkKLSAgICAgICAgICAgIHNlbGYubWVzc2FnZSgiICAgIHBvc3NpYmxlIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gXCJmcm9tIHBhY2thZ2UgIgotICAgICAgICAgICAgICAgICAgICAgICAgICJpbXBvcnQgc3VibW9kdWxlXCIgIiwgMSkKLSAgICAgICAgICAgIHNlbGYubWVzc2FnZSgiICAgIGFuZCBcImZyb20gcGFja2FnZSBpbXBvcnQgbmFtZVwiKSIsIDEpCi0gICAgICAgICAgICBmb3IgbmFtZSBpbiBtYXliZToKLSAgICAgICAgICAgICAgICBzZWxmLm1lc3NhZ2UoIiAgPyAiICsgbmFtZSwgMSkKLSAgICAgICAgaWYgbWlzc2luZzoKLSAgICAgICAgICAgIHNlbGYubWVzc2FnZSgiV2FybmluZzogY291bGRuJ3QgZmluZCB0aGUgZm9sbG93aW5nIG1vZHVsZXM6IiwgMSkKLSAgICAgICAgICAgIGZvciBuYW1lIGluIG1pc3Npbmc6Ci0gICAgICAgICAgICAgICAgc2VsZi5tZXNzYWdlKCIgID8gIiArIG5hbWUsIDEpCi0KLSAgICBkZWYgcmVwb3J0KHNlbGYpOgotICAgICAgICAjIFhYWCBzb21ldGhpbmcgZGVjZW50Ci0gICAgICAgIGltcG9ydCBwcHJpbnQKLSAgICAgICAgcHByaW50LnBwcmludChzZWxmLl9fZGljdF9fKQotICAgICAgICBpZiBzZWxmLnN0YW5kYWxvbmUgb3Igc2VsZi5zZW1pX3N0YW5kYWxvbmU6Ci0gICAgICAgICAgICBzZWxmLnJlcG9ydE1pc3NpbmcoKQotCi0jCi0jIFV0aWxpdGllcy4KLSMKLQotU1VGRklYRVMgPSBbX3N1ZiBmb3IgX3N1ZiwgX21vZGUsIF90cCBpbiBpbXAuZ2V0X3N1ZmZpeGVzKCldCi1pZGVudGlmaWVyUkUgPSByZS5jb21waWxlKHIiW19hLXpBLXpdW19hLXpBLVowLTldKiQiKQotCi1kZWYgZmluZFBhY2thZ2VDb250ZW50cyhuYW1lLCBzZWFyY2hwYXRoPU5vbmUpOgotICAgIGhlYWQgPSBuYW1lLnNwbGl0KCIuIilbLTFdCi0gICAgaWYgaWRlbnRpZmllclJFLm1hdGNoKGhlYWQpIGlzIE5vbmU6Ci0gICAgICAgIHJldHVybiB7fQotICAgIHRyeToKLSAgICAgICAgZnAsIHBhdGgsIChleHQsIG1vZGUsIHRwKSA9IGltcC5maW5kX21vZHVsZShoZWFkLCBzZWFyY2hwYXRoKQotICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjoKLSAgICAgICAgcmV0dXJuIHt9Ci0gICAgbW9kdWxlcyA9IHtuYW1lOiBOb25lfQotICAgIGlmIHRwID09IGltcC5QS0dfRElSRUNUT1JZIGFuZCBwYXRoOgotICAgICAgICBmaWxlcyA9IG9zLmxpc3RkaXIocGF0aCkKLSAgICAgICAgZm9yIHN1YiBpbiBmaWxlczoKLSAgICAgICAgICAgIHN1YiwgZXh0ID0gb3MucGF0aC5zcGxpdGV4dChzdWIpCi0gICAgICAgICAgICBmdWxsbmFtZSA9IG5hbWUgKyAiLiIgKyBzdWIKLSAgICAgICAgICAgIGlmIHN1YiAhPSAiX19pbml0X18iIGFuZCBmdWxsbmFtZSBub3QgaW4gbW9kdWxlczoKLSAgICAgICAgICAgICAgICBtb2R1bGVzLnVwZGF0ZShmaW5kUGFja2FnZUNvbnRlbnRzKGZ1bGxuYW1lLCBbcGF0aF0pKQotICAgIHJldHVybiBtb2R1bGVzCi0KLWRlZiB3cml0ZVB5Yyhjb2RlLCBwYXRoKToKLSAgICBmID0gb3BlbihwYXRoLCAid2IiKQotICAgIGYud3JpdGUoTUFHSUMpCi0gICAgZi53cml0ZSgiXDAiICogNCkgICMgZG9uJ3QgYm90aGVyIGFib3V0IGEgdGltZSBzdGFtcAotICAgIG1hcnNoYWwuZHVtcChjb2RlLCBmKQotICAgIGYuY2xvc2UoKQotCi1kZWYgY29weShzcmMsIGRzdCwgbWtkaXJzPTApOgotICAgICIiIkNvcHkgYSBmaWxlIG9yIGEgZGlyZWN0b3J5LiIiIgotICAgIGlmIG1rZGlyczoKLSAgICAgICAgbWFrZWRpcnMob3MucGF0aC5kaXJuYW1lKGRzdCkpCi0gICAgaWYgb3MucGF0aC5pc2RpcihzcmMpOgotICAgICAgICBzaHV0aWwuY29weXRyZWUoc3JjLCBkc3QsIHN5bWxpbmtzPTEpCi0gICAgZWxzZToKLSAgICAgICAgc2h1dGlsLmNvcHkyKHNyYywgZHN0KQotCi1kZWYgY29weXRvZGlyKHNyYywgZHN0ZGlyKToKLSAgICAiIiJDb3B5IGEgZmlsZSBvciBhIGRpcmVjdG9yeSB0byBhbiBleGlzdGluZyBkaXJlY3RvcnkuIiIiCi0gICAgZHN0ID0gcGF0aGpvaW4oZHN0ZGlyLCBvcy5wYXRoLmJhc2VuYW1lKHNyYykpCi0gICAgY29weShzcmMsIGRzdCkKLQotZGVmIG1ha2VkaXJzKGRpcik6Ci0gICAgIiIiTWFrZSBhbGwgZGlyZWN0b3JpZXMgbGVhZGluZyB1cCB0byAnZGlyJyBpbmNsdWRpbmcgdGhlIGxlYWYKLSAgICBkaXJlY3RvcnkuIERvbid0IG1vYW4gaWYgYW55IHBhdGggZWxlbWVudCBhbHJlYWR5IGV4aXN0cy4iIiIKLSAgICB0cnk6Ci0gICAgICAgIG9zLm1ha2VkaXJzKGRpcikKLSAgICBleGNlcHQgT1NFcnJvciBhcyB3aHk6Ci0gICAgICAgIGlmIHdoeS5lcnJubyAhPSBlcnJuby5FRVhJU1Q6Ci0gICAgICAgICAgICByYWlzZQotCi1kZWYgc3ltbGluayhzcmMsIGRzdCwgbWtkaXJzPTApOgotICAgICIiIkNvcHkgYSBmaWxlIG9yIGEgZGlyZWN0b3J5LiIiIgotICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhzcmMpOgotICAgICAgICByYWlzZSBJT0Vycm9yKCJObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5OiAnJXMnIiAlIHNyYykKLSAgICBpZiBta2RpcnM6Ci0gICAgICAgIG1ha2VkaXJzKG9zLnBhdGguZGlybmFtZShkc3QpKQotICAgIG9zLnN5bWxpbmsob3MucGF0aC5hYnNwYXRoKHNyYyksIGRzdCkKLQotZGVmIHBhdGhqb2luKCphcmdzKToKLSAgICAiIiJTYWZlIHdyYXBwZXIgZm9yIG9zLnBhdGguam9pbjogYXNzZXJ0cyB0aGF0IGFsbCBidXQgdGhlIGZpcnN0Ci0gICAgYXJndW1lbnQgYXJlIHJlbGF0aXZlIHBhdGhzLiIiIgotICAgIGZvciBzZWcgaW4gYXJnc1sxOl06Ci0gICAgICAgIGFzc2VydCBzZWdbMF0gIT0gIi8iCi0gICAgcmV0dXJuIG9zLnBhdGguam9pbigqYXJncykKLQotCi1jbWRsaW5lX2RvYyA9ICIiIlwKLVVzYWdlOgotICBweXRob24gYnVuZGxlYnVpbGRlci5weSBbb3B0aW9uc10gY29tbWFuZAotICBweXRob24gbXlidWlsZHNjcmlwdC5weSBbb3B0aW9uc10gY29tbWFuZAotCi1Db21tYW5kczoKLSAgYnVpbGQgICAgICBidWlsZCB0aGUgYXBwbGljYXRpb24KLSAgcmVwb3J0ICAgICBwcmludCBhIHJlcG9ydAotCi1PcHRpb25zOgotICAtYiwgLS1idWlsZGRpcj1ESVIgICAgIHRoZSBidWlsZCBkaXJlY3Rvcnk7IGRlZmF1bHRzIHRvICJidWlsZCIKLSAgLW4sIC0tbmFtZT1OQU1FICAgICAgICBhcHBsaWNhdGlvbiBuYW1lCi0gIC1yLCAtLXJlc291cmNlPUZJTEUgICAgZXh0cmEgZmlsZSBvciBmb2xkZXIgdG8gYmUgY29waWVkIHRvIFJlc291cmNlcwotICAtZiwgLS1maWxlPVNSQzpEU1QgICAgIGV4dHJhIGZpbGUgb3IgZm9sZGVyIHRvIGJlIGNvcGllZCBpbnRvIHRoZSBidW5kbGU7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgRFNUIG11c3QgYmUgYSBwYXRoIHJlbGF0aXZlIHRvIHRoZSBidW5kbGUgcm9vdAotICAtZSwgLS1leGVjdXRhYmxlPUZJTEUgIHRoZSBleGVjdXRhYmxlIHRvIGJlIHVzZWQKLSAgLW0sIC0tbWFpbnByb2dyYW09RklMRSB0aGUgUHl0aG9uIG1haW4gcHJvZ3JhbQotICAtYSwgLS1hcmd2ICAgICAgICAgICAgIGFkZCBhIHdyYXBwZXIgbWFpbiBwcm9ncmFtIHRvIGNyZWF0ZSBzeXMuYXJndgotICAtcCwgLS1wbGlzdD1GSUxFICAgICAgIC5wbGlzdCBmaWxlIChkZWZhdWx0OiBnZW5lcmF0ZSBvbmUpCi0gICAgICAtLW5pYj1OQU1FICAgICAgICAgbWFpbiBuaWIgbmFtZQotICAtYywgLS1jcmVhdG9yPUNDQ0MgICAgIDQtY2hhciBjcmVhdG9yIGNvZGUgKGRlZmF1bHQ6ICc/Pz8/JykKLSAgICAgIC0taWNvbmZpbGU9RklMRSAgICBmaWxlbmFtZSBvZiB0aGUgaWNvbiAoYW4gLmljbnMgZmlsZSkgdG8gYmUgdXNlZAotICAgICAgICAgICAgICAgICAgICAgICAgIGFzIHRoZSBGaW5kZXIgaWNvbgotICAgICAgLS1idW5kbGUtaWQ9SUQgICAgIHRoZSBDRkJ1bmRsZUlkZW50aWZpZXIsIGluIHJldmVyc2UtZG5zIGZvcm1hdAotICAgICAgICAgICAgICAgICAgICAgICAgIChlZy4gb3JnLnB5dGhvbi5CdWlsZEFwcGxldDsgdGhpcyBpcyB1c2VkIGZvcgotICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBwcmVmZXJlbmNlcyBmaWxlIG5hbWUpCi0gIC1sLCAtLWxpbmsgICAgICAgICAgICAgc3ltbGluayBmaWxlcy9mb2xkZXIgaW5zdGVhZCBvZiBjb3B5aW5nIHRoZW0KLSAgICAgIC0tbGluay1leGVjICAgICAgICBzeW1saW5rIHRoZSBleGVjdXRhYmxlIGluc3RlYWQgb2YgY29weWluZyBpdAotICAgICAgLS1zdGFuZGFsb25lICAgICAgIGJ1aWxkIGEgc3RhbmRhbG9uZSBhcHBsaWNhdGlvbiwgd2hpY2ggaXMgZnVsbHkKLSAgICAgICAgICAgICAgICAgICAgICAgICBpbmRlcGVuZGVudCBvZiBhIFB5dGhvbiBpbnN0YWxsYXRpb24KLSAgICAgIC0tc2VtaS1zdGFuZGFsb25lICBidWlsZCBhIHN0YW5kYWxvbmUgYXBwbGljYXRpb24sIHdoaWNoIGRlcGVuZHMgb24KLSAgICAgICAgICAgICAgICAgICAgICAgICBhbiBpbnN0YWxsZWQgUHl0aG9uLCB5ZXQgaW5jbHVkZXMgYWxsIHRoaXJkLXBhcnR5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgbW9kdWxlcy4KLSAgICAgIC0tcHl0aG9uPUZJTEUgICAgICBQeXRob24gdG8gdXNlIGluICMhIGxpbmUgaW4gc3RlYWQgb2YgY3VycmVudCBQeXRob24KLSAgICAgIC0tbGliPUZJTEUgICAgICAgICBzaGFyZWQgbGlicmFyeSBvciBmcmFtZXdvcmsgdG8gYmUgY29waWVkIGludG8KLSAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgYnVuZGxlCi0gIC14LCAtLWV4Y2x1ZGU9TU9EVUxFICAgZXhjbHVkZSBtb2R1bGUgKHdpdGggLS0oc2VtaS0pc3RhbmRhbG9uZSkKLSAgLWksIC0taW5jbHVkZT1NT0RVTEUgICBpbmNsdWRlIG1vZHVsZSAod2l0aCAtLShzZW1pLSlzdGFuZGFsb25lKQotICAgICAgLS1wYWNrYWdlPVBBQ0tBR0UgIGluY2x1ZGUgYSB3aG9sZSBwYWNrYWdlICh3aXRoIC0tKHNlbWktKXN0YW5kYWxvbmUpCi0gICAgICAtLXN0cmlwICAgICAgICAgICAgc3RyaXAgYmluYXJpZXMgKHJlbW92ZSBkZWJ1ZyBpbmZvKQotICAtdiwgLS12ZXJib3NlICAgICAgICAgIGluY3JlYXNlIHZlcmJvc2l0eSBsZXZlbAotICAtcSwgLS1xdWlldCAgICAgICAgICAgIGRlY3JlYXNlIHZlcmJvc2l0eSBsZXZlbAotICAtaCwgLS1oZWxwICAgICAgICAgICAgIHByaW50IHRoaXMgbWVzc2FnZQotIiIiCi0KLWRlZiB1c2FnZShtc2c9Tm9uZSk6Ci0gICAgaWYgbXNnOgotICAgICAgICBwcmludChtc2cpCi0gICAgcHJpbnQoY21kbGluZV9kb2MpCi0gICAgc3lzLmV4aXQoMSkKLQotZGVmIG1haW4oYnVpbGRlcj1Ob25lKToKLSAgICBpZiBidWlsZGVyIGlzIE5vbmU6Ci0gICAgICAgIGJ1aWxkZXIgPSBBcHBCdWlsZGVyKHZlcmJvc2l0eT0xKQotCi0gICAgc2hvcnRvcHRzID0gImI6bjpyOmY6ZTptOmM6cDpseDppOmh2cWEiCi0gICAgbG9uZ29wdHMgPSAoImJ1aWxkZGlyPSIsICJuYW1lPSIsICJyZXNvdXJjZT0iLCAiZmlsZT0iLCAiZXhlY3V0YWJsZT0iLAotICAgICAgICAibWFpbnByb2dyYW09IiwgImNyZWF0b3I9IiwgIm5pYj0iLCAicGxpc3Q9IiwgImxpbmsiLAotICAgICAgICAibGluay1leGVjIiwgImhlbHAiLCAidmVyYm9zZSIsICJxdWlldCIsICJhcmd2IiwgInN0YW5kYWxvbmUiLAotICAgICAgICAiZXhjbHVkZT0iLCAiaW5jbHVkZT0iLCAicGFja2FnZT0iLCAic3RyaXAiLCAiaWNvbmZpbGU9IiwKLSAgICAgICAgImxpYj0iLCAicHl0aG9uPSIsICJzZW1pLXN0YW5kYWxvbmUiLCAiYnVuZGxlLWlkPSIsICJkZXN0cm9vdD0iKQotCi0gICAgdHJ5OgotICAgICAgICBvcHRpb25zLCBhcmdzID0gZ2V0b3B0LmdldG9wdChzeXMuYXJndlsxOl0sIHNob3J0b3B0cywgbG9uZ29wdHMpCi0gICAgZXhjZXB0IGdldG9wdC5lcnJvcjoKLSAgICAgICAgdXNhZ2UoKQotCi0gICAgZm9yIG9wdCwgYXJnIGluIG9wdGlvbnM6Ci0gICAgICAgIGlmIG9wdCBpbiAoJy1iJywgJy0tYnVpbGRkaXInKToKLSAgICAgICAgICAgIGJ1aWxkZXIuYnVpbGRkaXIgPSBhcmcKLSAgICAgICAgZWxpZiBvcHQgaW4gKCctbicsICctLW5hbWUnKToKLSAgICAgICAgICAgIGJ1aWxkZXIubmFtZSA9IGFyZwotICAgICAgICBlbGlmIG9wdCBpbiAoJy1yJywgJy0tcmVzb3VyY2UnKToKLSAgICAgICAgICAgIGJ1aWxkZXIucmVzb3VyY2VzLmFwcGVuZChvcy5wYXRoLm5vcm1wYXRoKGFyZykpCi0gICAgICAgIGVsaWYgb3B0IGluICgnLWYnLCAnLS1maWxlJyk6Ci0gICAgICAgICAgICBzcmNkc3QgPSBhcmcuc3BsaXQoJzonKQotICAgICAgICAgICAgaWYgbGVuKHNyY2RzdCkgIT0gMjoKLSAgICAgICAgICAgICAgICB1c2FnZSgiLWYgb3IgLS1maWxlIGFyZ3VtZW50IG11c3QgYmUgdHdvIHBhdGhzLCAiCi0gICAgICAgICAgICAgICAgICAgICAgInNlcGFyYXRlZCBieSBhIGNvbG9uIikKLSAgICAgICAgICAgIGJ1aWxkZXIuZmlsZXMuYXBwZW5kKHNyY2RzdCkKLSAgICAgICAgZWxpZiBvcHQgaW4gKCctZScsICctLWV4ZWN1dGFibGUnKToKLSAgICAgICAgICAgIGJ1aWxkZXIuZXhlY3V0YWJsZSA9IGFyZwotICAgICAgICBlbGlmIG9wdCBpbiAoJy1tJywgJy0tbWFpbnByb2dyYW0nKToKLSAgICAgICAgICAgIGJ1aWxkZXIubWFpbnByb2dyYW0gPSBhcmcKLSAgICAgICAgZWxpZiBvcHQgaW4gKCctYScsICctLWFyZ3YnKToKLSAgICAgICAgICAgIGJ1aWxkZXIuYXJndl9lbXVsYXRpb24gPSAxCi0gICAgICAgIGVsaWYgb3B0IGluICgnLWMnLCAnLS1jcmVhdG9yJyk6Ci0gICAgICAgICAgICBidWlsZGVyLmNyZWF0b3IgPSBhcmcKLSAgICAgICAgZWxpZiBvcHQgPT0gJy0tYnVuZGxlLWlkJzoKLSAgICAgICAgICAgIGJ1aWxkZXIuYnVuZGxlX2lkID0gYXJnCi0gICAgICAgIGVsaWYgb3B0ID09ICctLWljb25maWxlJzoKLSAgICAgICAgICAgIGJ1aWxkZXIuaWNvbmZpbGUgPSBhcmcKLSAgICAgICAgZWxpZiBvcHQgPT0gIi0tbGliIjoKLSAgICAgICAgICAgIGJ1aWxkZXIubGlicy5hcHBlbmQob3MucGF0aC5ub3JtcGF0aChhcmcpKQotICAgICAgICBlbGlmIG9wdCA9PSAiLS1uaWIiOgotICAgICAgICAgICAgYnVpbGRlci5uaWJuYW1lID0gYXJnCi0gICAgICAgIGVsaWYgb3B0IGluICgnLXAnLCAnLS1wbGlzdCcpOgotICAgICAgICAgICAgYnVpbGRlci5wbGlzdCA9IFBsaXN0LmZyb21GaWxlKGFyZykKLSAgICAgICAgZWxpZiBvcHQgaW4gKCctbCcsICctLWxpbmsnKToKLSAgICAgICAgICAgIGJ1aWxkZXIuc3ltbGluayA9IDEKLSAgICAgICAgZWxpZiBvcHQgPT0gJy0tbGluay1leGVjJzoKLSAgICAgICAgICAgIGJ1aWxkZXIuc3ltbGlua19leGVjID0gMQotICAgICAgICBlbGlmIG9wdCBpbiAoJy1oJywgJy0taGVscCcpOgotICAgICAgICAgICAgdXNhZ2UoKQotICAgICAgICBlbGlmIG9wdCBpbiAoJy12JywgJy0tdmVyYm9zZScpOgotICAgICAgICAgICAgYnVpbGRlci52ZXJib3NpdHkgKz0gMQotICAgICAgICBlbGlmIG9wdCBpbiAoJy1xJywgJy0tcXVpZXQnKToKLSAgICAgICAgICAgIGJ1aWxkZXIudmVyYm9zaXR5IC09IDEKLSAgICAgICAgZWxpZiBvcHQgPT0gJy0tc3RhbmRhbG9uZSc6Ci0gICAgICAgICAgICBidWlsZGVyLnN0YW5kYWxvbmUgPSAxCi0gICAgICAgIGVsaWYgb3B0ID09ICctLXNlbWktc3RhbmRhbG9uZSc6Ci0gICAgICAgICAgICBidWlsZGVyLnNlbWlfc3RhbmRhbG9uZSA9IDEKLSAgICAgICAgZWxpZiBvcHQgPT0gJy0tcHl0aG9uJzoKLSAgICAgICAgICAgIGJ1aWxkZXIucHl0aG9uID0gYXJnCi0gICAgICAgIGVsaWYgb3B0IGluICgnLXgnLCAnLS1leGNsdWRlJyk6Ci0gICAgICAgICAgICBidWlsZGVyLmV4Y2x1ZGVNb2R1bGVzLmFwcGVuZChhcmcpCi0gICAgICAgIGVsaWYgb3B0IGluICgnLWknLCAnLS1pbmNsdWRlJyk6Ci0gICAgICAgICAgICBidWlsZGVyLmluY2x1ZGVNb2R1bGVzLmFwcGVuZChhcmcpCi0gICAgICAgIGVsaWYgb3B0ID09ICctLXBhY2thZ2UnOgotICAgICAgICAgICAgYnVpbGRlci5pbmNsdWRlUGFja2FnZXMuYXBwZW5kKGFyZykKLSAgICAgICAgZWxpZiBvcHQgPT0gJy0tc3RyaXAnOgotICAgICAgICAgICAgYnVpbGRlci5zdHJpcCA9IDEKLSAgICAgICAgZWxpZiBvcHQgPT0gJy0tZGVzdHJvb3QnOgotICAgICAgICAgICAgYnVpbGRlci5kZXN0cm9vdCA9IGFyZwotCi0gICAgaWYgbGVuKGFyZ3MpICE9IDE6Ci0gICAgICAgIHVzYWdlKCJNdXN0IHNwZWNpZnkgb25lIGNvbW1hbmQgKCdidWlsZCcsICdyZXBvcnQnIG9yICdoZWxwJykiKQotICAgIGNvbW1hbmQgPSBhcmdzWzBdCi0KLSAgICBpZiBjb21tYW5kID09ICJidWlsZCI6Ci0gICAgICAgIGJ1aWxkZXIuc2V0dXAoKQotICAgICAgICBidWlsZGVyLmJ1aWxkKCkKLSAgICBlbGlmIGNvbW1hbmQgPT0gInJlcG9ydCI6Ci0gICAgICAgIGJ1aWxkZXIuc2V0dXAoKQotICAgICAgICBidWlsZGVyLnJlcG9ydCgpCi0gICAgZWxpZiBjb21tYW5kID09ICJoZWxwIjoKLSAgICAgICAgdXNhZ2UoKQotICAgIGVsc2U6Ci0gICAgICAgIHVzYWdlKCJVbmtub3duIGNvbW1hbmQgJyVzJyIgJSBjb21tYW5kKQotCi0KLWRlZiBidWlsZGFwcCgqKmt3YXJncyk6Ci0gICAgYnVpbGRlciA9IEFwcEJ1aWxkZXIoKiprd2FyZ3MpCi0gICAgbWFpbihidWlsZGVyKQotCi0KLWlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6Ci0gICAgbWFpbigpCmRpZmYgLS1naXQgYS9NYWtlZmlsZS5wcmUuaW4gYi9NYWtlZmlsZS5wcmUuaW4KaW5kZXggNzZhZWYyOC4uZDllZTc3NyAxMDA2NDQKLS0tIGEvTWFrZWZpbGUucHJlLmluCisrKyBiL01ha2VmaWxlLnByZS5pbgpAQCAtMzI4LDYgKzMyOCwxMyBAQAogUEdFTk9CSlM9CSQoUE9CSlMpICQoUEdPQkpTKQogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBvcGNvZGUuaCBnZW5lcmF0aW9uCitPUENPREVfSF9ESVI9IAkkKHNyY2RpcikvSW5jbHVkZQorT1BDT0RFX0hfU0NSSVBUPSAkKHNyY2RpcikvVG9vbHMvc2NyaXB0cy9nZW5lcmF0ZV9vcGNvZGVfaC5weQorT1BDT0RFX0g9CSQoT1BDT0RFX0hfRElSKS9vcGNvZGUuaAorT1BDT0RFX0hfR0VOPQlAT1BDT0RFSEdFTkAgICQoT1BDT0RFX0hfU0NSSVBUKSAkKHNyY2RpcikvTGliL29wY29kZS5weSAkKE9QQ09ERV9IKQorIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMgQVNUCiBBU1RfSF9ESVI9CUluY2x1ZGUKIEFTVF9IPQkJJChBU1RfSF9ESVIpL1B5dGhvbi1hc3QuaApAQCAtMzgyLDYgKzM4OSw3IEBACiAJCVB5dGhvbi9weWN0eXBlLm8gXAogCQlQeXRob24vcHlmcGUubyBcCiAJCVB5dGhvbi9weWhhc2gubyBcCisJCVB5dGhvbi9weWxpZmVjeWNsZS5vIFwKIAkJUHl0aG9uL3B5bWF0aC5vIFwKIAkJUHl0aG9uL3B5c3RhdGUubyBcCiAJCVB5dGhvbi9weXRob25ydW4ubyBcCkBAIC00NjUsNyArNDczLDcgQEAKIAogIyBEZWZhdWx0IHRhcmdldAogYWxsOgkJYnVpbGRfYWxsCi1idWlsZF9hbGw6CSQoQlVJTERQWVRIT04pIG9sZHNoYXJlZG1vZHMgc2hhcmVkbW9kcyBnZGJob29rcyBNb2R1bGVzL190ZXN0ZW1iZWQgcHl0aG9uLWNvbmZpZworYnVpbGRfYWxsOgkkKEJVSUxEUFlUSE9OKSBvbGRzaGFyZWRtb2RzIHNoYXJlZG1vZHMgZ2RiaG9va3MgUHJvZ3JhbXMvX3Rlc3RlbWJlZCBweXRob24tY29uZmlnCiAKICMgQ29tcGlsZSBhIGJpbmFyeSB3aXRoIGdjYyBwcm9maWxlIGd1aWRlZCBvcHRpbWl6YXRpb24uCiBwcm9maWxlLW9wdDoKQEAgLTUzOCw4ICs1NDYsOCBAQAogCSQoUlVOU0hBUkVEKSAkKFBZVEhPTl9GT1JfQlVJTEQpIC4vVG9vbHMvY2xpbmljL2NsaW5pYy5weSAtLW1ha2UKIAogIyBCdWlsZCB0aGUgaW50ZXJwcmV0ZXIKLSQoQlVJTERQWVRIT04pOglNb2R1bGVzL3B5dGhvbi5vICQoTElCUkFSWSkgJChMRExJQlJBUlkpICQoUFkzTElCUkFSWSkKLQkkKExJTktDQykgJChQWV9MREZMQUdTKSAkKExJTktGT1JTSEFSRUQpIC1vICRAIE1vZHVsZXMvcHl0aG9uLm8gJChCTERMSUJSQVJZKSAkKExJQlMpICQoTU9ETElCUykgJChTWVNMSUJTKSAkKExETEFTVCkKKyQoQlVJTERQWVRIT04pOglQcm9ncmFtcy9weXRob24ubyAkKExJQlJBUlkpICQoTERMSUJSQVJZKSAkKFBZM0xJQlJBUlkpCisJJChMSU5LQ0MpICQoUFlfTERGTEFHUykgJChMSU5LRk9SU0hBUkVEKSAtbyAkQCBQcm9ncmFtcy9weXRob24ubyAkKEJMRExJQlJBUlkpICQoTElCUykgJChNT0RMSUJTKSAkKFNZU0xJQlMpICQoTERMQVNUKQogCiBwbGF0Zm9ybTogJChCVUlMRFBZVEhPTikgcHlidWlsZGRpci50eHQKIAkkKFJVTlNIQVJFRCkgJChQWVRIT05fRk9SX0JVSUxEKSAtYyAnaW1wb3J0IHN5cyA7IGZyb20gc3lzY29uZmlnIGltcG9ydCBnZXRfcGxhdGZvcm0gOyBwcmludChnZXRfcGxhdGZvcm0oKSsiLSIrc3lzLnZlcnNpb25bMDozXSknID5wbGF0Zm9ybQpAQCAtNjc0LDE4ICs2ODIsMTkgQEAKIAkJZWNobyAiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iOyBcCiAJZmkKIAotTW9kdWxlcy9fdGVzdGVtYmVkOiBNb2R1bGVzL190ZXN0ZW1iZWQubyAkKExJQlJBUlkpICQoTERMSUJSQVJZKSAkKFBZM0xJQlJBUlkpCi0JJChMSU5LQ0MpICQoUFlfTERGTEFHUykgJChMSU5LRk9SU0hBUkVEKSAtbyAkQCBNb2R1bGVzL190ZXN0ZW1iZWQubyAkKEJMRExJQlJBUlkpICQoTElCUykgJChNT0RMSUJTKSAkKFNZU0xJQlMpICQoTERMQVNUKQorUHJvZ3JhbXMvX3Rlc3RlbWJlZDogUHJvZ3JhbXMvX3Rlc3RlbWJlZC5vICQoTElCUkFSWSkgJChMRExJQlJBUlkpICQoUFkzTElCUkFSWSkKKwkkKExJTktDQykgJChQWV9MREZMQUdTKSAkKExJTktGT1JTSEFSRUQpIC1vICRAIFByb2dyYW1zL190ZXN0ZW1iZWQubyAkKEJMRExJQlJBUlkpICQoTElCUykgJChNT0RMSUJTKSAkKFNZU0xJQlMpICQoTERMQVNUKQogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAjIEltcG9ydGxpYgogCi1Nb2R1bGVzL19mcmVlemVfaW1wb3J0bGliOiBNb2R1bGVzL19mcmVlemVfaW1wb3J0bGliLm8gJChMSUJSQVJZX09CSlNfT01JVF9GUk9aRU4pCi0JJChMSU5LQ0MpICQoUFlfTERGTEFHUykgLW8gJEAgTW9kdWxlcy9fZnJlZXplX2ltcG9ydGxpYi5vICQoTElCUkFSWV9PQkpTX09NSVRfRlJPWkVOKSAkKExJQlMpICQoTU9ETElCUykgJChTWVNMSUJTKSAkKExETEFTVCkKK1Byb2dyYW1zL19mcmVlemVfaW1wb3J0bGliLm86IFByb2dyYW1zL19mcmVlemVfaW1wb3J0bGliLmMKIAotUHl0aG9uL2ltcG9ydGxpYi5oOiAkKHNyY2RpcikvTGliL2ltcG9ydGxpYi9fYm9vdHN0cmFwLnB5IE1vZHVsZXMvX2ZyZWV6ZV9pbXBvcnRsaWIuYwotCSQoTUFLRSkgTW9kdWxlcy9fZnJlZXplX2ltcG9ydGxpYgotCS4vTW9kdWxlcy9fZnJlZXplX2ltcG9ydGxpYiBcCitQcm9ncmFtcy9fZnJlZXplX2ltcG9ydGxpYjogUHJvZ3JhbXMvX2ZyZWV6ZV9pbXBvcnRsaWIubyAkKExJQlJBUllfT0JKU19PTUlUX0ZST1pFTikKKwkkKExJTktDQykgJChQWV9MREZMQUdTKSAtbyAkQCBQcm9ncmFtcy9fZnJlZXplX2ltcG9ydGxpYi5vICQoTElCUkFSWV9PQkpTX09NSVRfRlJPWkVOKSAkKExJQlMpICQoTU9ETElCUykgJChTWVNMSUJTKSAkKExETEFTVCkKKworUHl0aG9uL2ltcG9ydGxpYi5oOiAkKHNyY2RpcikvTGliL2ltcG9ydGxpYi9fYm9vdHN0cmFwLnB5IFByb2dyYW1zL19mcmVlemVfaW1wb3J0bGliCisJLi9Qcm9ncmFtcy9fZnJlZXplX2ltcG9ydGxpYiBcCiAJCSQoc3JjZGlyKS9MaWIvaW1wb3J0bGliL19ib290c3RyYXAucHkgUHl0aG9uL2ltcG9ydGxpYi5oCiAKIApAQCAtNzEzLDExICs3MjIsMTEgQEAKIAkJLURWUEFUSD0nIiQoVlBBVEgpIicgXAogCQktbyAkQCAkKHNyY2RpcikvTW9kdWxlcy9nZXRwYXRoLmMKIAotTW9kdWxlcy9weXRob24ubzogJChzcmNkaXIpL01vZHVsZXMvcHl0aG9uLmMKLQkkKE1BSU5DQykgLWMgJChQWV9DT1JFX0NGTEFHUykgLW8gJEAgJChzcmNkaXIpL01vZHVsZXMvcHl0aG9uLmMKK1Byb2dyYW1zL3B5dGhvbi5vOiAkKHNyY2RpcikvUHJvZ3JhbXMvcHl0aG9uLmMKKwkkKE1BSU5DQykgLWMgJChQWV9DT1JFX0NGTEFHUykgLW8gJEAgJChzcmNkaXIpL1Byb2dyYW1zL3B5dGhvbi5jCiAKLU1vZHVsZXMvX3Rlc3RlbWJlZC5vOiAkKHNyY2RpcikvTW9kdWxlcy9fdGVzdGVtYmVkLmMKLQkkKE1BSU5DQykgLWMgJChQWV9DT1JFX0NGTEFHUykgLW8gJEAgJChzcmNkaXIpL01vZHVsZXMvX3Rlc3RlbWJlZC5jCitQcm9ncmFtcy9fdGVzdGVtYmVkLm86ICQoc3JjZGlyKS9Qcm9ncmFtcy9fdGVzdGVtYmVkLmMKKwkkKE1BSU5DQykgLWMgJChQWV9DT1JFX0NGTEFHUykgLW8gJEAgJChzcmNkaXIpL1Byb2dyYW1zL190ZXN0ZW1iZWQuYwogCiBNb2R1bGVzL19zcmUubzogJChzcmNkaXIpL01vZHVsZXMvX3NyZS5jICQoc3JjZGlyKS9Nb2R1bGVzL3NyZS5oICQoc3JjZGlyKS9Nb2R1bGVzL3NyZV9jb25zdGFudHMuaCAkKHNyY2RpcikvTW9kdWxlcy9zcmVfbGliLmgKIApAQCAtNzQ2LDE1ICs3NTUsMTMgQEAKIAogJChJT19PQkpTKTogJChJT19IKQogCi0kKEdSQU1NQVJfSCk6ICQoR1JBTU1BUl9JTlBVVCkgJChQR0VOU1JDUykKKyQoR1JBTU1BUl9IKTogJChHUkFNTUFSX0lOUFVUKSAkKFBHRU4pCiAJCUAkKE1LRElSX1ApIEluY2x1ZGUKLQkJJChNQUtFKSAkKFBHRU4pCiAJCSQoUEdFTikgJChHUkFNTUFSX0lOUFVUKSAkKEdSQU1NQVJfSCkgJChHUkFNTUFSX0MpCi0kKEdSQU1NQVJfQyk6ICQoR1JBTU1BUl9IKSAkKEdSQU1NQVJfSU5QVVQpICQoUEdFTlNSQ1MpCi0JCSQoTUFLRSkgJChHUkFNTUFSX0gpCiskKEdSQU1NQVJfQyk6ICQoR1JBTU1BUl9IKQogCQl0b3VjaCAkKEdSQU1NQVJfQykKIAotJChQR0VOKToJJChQR0VOT0JKUykKKyQoUEdFTik6ICQoUEdFTk9CSlMpCiAJCSQoQ0MpICQoT1BUKSAkKFBZX0xERkxBR1MpICQoUEdFTk9CSlMpICQoTElCUykgLW8gJChQR0VOKQogCiBQYXJzZXIvZ3JhbW1hci5vOgkkKHNyY2RpcikvUGFyc2VyL2dyYW1tYXIuYyBcCkBAIC03NzYsNiArNzgzLDkgQEAKIAkkKE1LRElSX1ApICQoQVNUX0NfRElSKQogCSQoQVNETEdFTikgLWMgJChBU1RfQ19ESVIpICQoQVNUX0FTREwpCiAKKyQoT1BDT0RFX0gpOiAkKHNyY2RpcikvTGliL29wY29kZS5weSAkKE9QQ09ERV9IX1NDUklQVCkKKwkkKE9QQ09ERV9IX0dFTikKKwogUHl0aG9uL2NvbXBpbGUubyBQeXRob24vc3ltdGFibGUubyBQeXRob24vYXN0Lm86ICQoR1JBTU1BUl9IKSAkKEFTVF9IKQogCiBQeXRob24vZ2V0cGxhdGZvcm0ubzogJChzcmNkaXIpL1B5dGhvbi9nZXRwbGF0Zm9ybS5jCkBAIC04ODcsNyArODk3LDcgQEAKIAkJJChzcmNkaXIpL0luY2x1ZGUvbm9kZS5oIFwKIAkJJChzcmNkaXIpL0luY2x1ZGUvb2JqZWN0LmggXAogCQkkKHNyY2RpcikvSW5jbHVkZS9vYmppbXBsLmggXAotCQkkKHNyY2RpcikvSW5jbHVkZS9vcGNvZGUuaCBcCisJCSQoT1BDT0RFX0gpIFwKIAkJJChzcmNkaXIpL0luY2x1ZGUvb3NkZWZzLmggXAogCQkkKHNyY2RpcikvSW5jbHVkZS9wYXRjaGxldmVsLmggXAogCQkkKHNyY2RpcikvSW5jbHVkZS9wZ2VuLmggXApAQCAtOTAwLDYgKzkxMCw3IEBACiAJCSQoc3JjZGlyKS9JbmNsdWRlL3B5ZXJyb3JzLmggXAogCQkkKHNyY2RpcikvSW5jbHVkZS9weWZwZS5oIFwKIAkJJChzcmNkaXIpL0luY2x1ZGUvcHloYXNoLmggXAorCQkkKHNyY2RpcikvSW5jbHVkZS9weWxpZmVjeWNsZS5oIFwKIAkJJChzcmNkaXIpL0luY2x1ZGUvcHltYXRoLmggXAogCQkkKHNyY2RpcikvSW5jbHVkZS9weWdldG9wdC5oIFwKIAkJJChzcmNkaXIpL0luY2x1ZGUvcHltYWNyby5oIFwKQEAgLTkyOCw3ICs5MzksNyBAQAogCQkkKFBBUlNFUl9IRUFERVJTKSBcCiAJCSQoQVNUX0gpCiAKLSQoTElCUkFSWV9PQkpTKSAkKE1PRE9CSlMpIE1vZHVsZXMvcHl0aG9uLm86ICQoUFlUSE9OX0hFQURFUlMpCiskKExJQlJBUllfT0JKUykgJChNT0RPQkpTKSBQcm9ncmFtcy9weXRob24ubzogJChQWVRIT05fSEVBREVSUykKIAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCkBAIC0xMTMyLDkgKzExNDMsMTQgQEAKIAkJdGVzdC9hdWRpb2RhdGEgXAogCQl0ZXN0L2NhcGF0aCB0ZXN0L2RhdGEgXAogCQl0ZXN0L2Nqa2VuY29kaW5ncyB0ZXN0L2RlY2ltYWx0ZXN0ZGF0YSB0ZXN0L3htbHRlc3RkYXRhIFwKKwkJdGVzdC9laW50cmRhdGEgXAogCQl0ZXN0L2ltZ2hkcmRhdGEgXAogCQl0ZXN0L3N1YnByb2Nlc3NkYXRhIHRlc3Qvc25kaGRyZGF0YSB0ZXN0L3N1cHBvcnQgXAogCQl0ZXN0L3RyYWNlZG1vZHVsZXMgdGVzdC9lbmNvZGVkX21vZHVsZXMgXAorCQl0ZXN0L3Rlc3RfaW1wb3J0IFwKKwkJdGVzdC90ZXN0X2ltcG9ydC9kYXRhIFwKKwkJdGVzdC90ZXN0X2ltcG9ydC9kYXRhL2NpcmN1bGFyX2ltcG9ydHMgXAorCQl0ZXN0L3Rlc3RfaW1wb3J0L2RhdGEvY2lyY3VsYXJfaW1wb3J0cy9zdWJwa2cgXAogCQl0ZXN0L3Rlc3RfaW1wb3J0bGliL25hbWVzcGFjZV9wa2dzIFwKIAkJdGVzdC90ZXN0X2ltcG9ydGxpYi9uYW1lc3BhY2VfcGtncy9ib3RoX3BvcnRpb25zIFwKIAkJdGVzdC90ZXN0X2ltcG9ydGxpYi9uYW1lc3BhY2VfcGtncy9ib3RoX3BvcnRpb25zL2ZvbyBcCkBAIC0xMzM4LDcgKzEzNTQsNyBAQAogCQlmaTsgXAogCWZpCiAJJChJTlNUQUxMX0RBVEEpIE1vZHVsZXMvY29uZmlnLmMgJChERVNURElSKSQoTElCUEwpL2NvbmZpZy5jCi0JJChJTlNUQUxMX0RBVEEpIE1vZHVsZXMvcHl0aG9uLm8gJChERVNURElSKSQoTElCUEwpL3B5dGhvbi5vCisJJChJTlNUQUxMX0RBVEEpIFByb2dyYW1zL3B5dGhvbi5vICQoREVTVERJUikkKExJQlBMKS9weXRob24ubwogCSQoSU5TVEFMTF9EQVRBKSAkKHNyY2RpcikvTW9kdWxlcy9jb25maWcuYy5pbiAkKERFU1RESVIpJChMSUJQTCkvY29uZmlnLmMuaW4KIAkkKElOU1RBTExfREFUQSkgTWFrZWZpbGUgJChERVNURElSKSQoTElCUEwpL01ha2VmaWxlCiAJJChJTlNUQUxMX0RBVEEpIE1vZHVsZXMvU2V0dXAgJChERVNURElSKSQoTElCUEwpL1NldHVwCkBAIC0xMzQ5LDEwICsxMzY1LDEwIEBACiAJJChJTlNUQUxMX1NDUklQVCkgJChzcmNkaXIpL2luc3RhbGwtc2ggJChERVNURElSKSQoTElCUEwpL2luc3RhbGwtc2gKIAkkKElOU1RBTExfU0NSSVBUKSBweXRob24tY29uZmlnLnB5ICQoREVTVERJUikkKExJQlBMKS9weXRob24tY29uZmlnLnB5CiAJJChJTlNUQUxMX1NDUklQVCkgcHl0aG9uLWNvbmZpZyAkKERFU1RESVIpJChCSU5ESVIpL3B5dGhvbiQoTERWRVJTSU9OKS1jb25maWcKLQlAaWYgWyAtcyBNb2R1bGVzL3B5dGhvbi5leHAgLWEgXAorCUBpZiBbIC1zIFByb2dyYW1zL3B5dGhvbi5leHAgLWEgXAogCQkiYGVjaG8gJChNQUNIREVQKSB8IHNlZCAncy9eXCguLi5cKS4qL1wxLydgIiA9ICJhaXgiIF07IHRoZW4gXAogCQllY2hvOyBlY2hvICJJbnN0YWxsaW5nIHN1cHBvcnQgZmlsZXMgZm9yIGJ1aWxkaW5nIHNoYXJlZCBleHRlbnNpb24gbW9kdWxlcyBvbiBBSVg6IjsgXAotCQkkKElOU1RBTExfREFUQSkgTW9kdWxlcy9weXRob24uZXhwCQlcCisJCSQoSU5TVEFMTF9EQVRBKSBQcm9ncmFtcy9weXRob24uZXhwCQlcCiAJCQkJJChERVNURElSKSQoTElCUEwpL3B5dGhvbi5leHA7CQlcCiAJCWVjaG87IGVjaG8gIiQoTElCUEwpL3B5dGhvbi5leHAiOwkJXAogCQkkKElOU1RBTExfU0NSSVBUKSAkKHNyY2RpcikvTW9kdWxlcy9tYWtleHBfYWl4CVwKQEAgLTE1MzUsNyArMTU1MSw3IEBACiAJZmluZCBidWlsZCAtbmFtZSAnKi5weVtjb10nIC1leGVjIHJtIC1mIHt9ICc7JyB8fCB0cnVlCiAJLXJtIC1mIHB5YnVpbGRkaXIudHh0CiAJLXJtIC1mIExpYi9saWIydG8zLypHcmFtbWFyKi5waWNrbGUKLQktcm0gLWYgTW9kdWxlcy9fdGVzdGVtYmVkIE1vZHVsZXMvX2ZyZWV6ZV9pbXBvcnRsaWIKKwktcm0gLWYgUHJvZ3JhbXMvX3Rlc3RlbWJlZCBQcm9ncmFtcy9fZnJlZXplX2ltcG9ydGxpYgogCiBwcm9maWxlLXJlbW92YWw6CiAJZmluZCAuIC1uYW1lICcqLmdjPz8nIC1leGVjIHJtIC1mIHt9ICc7JwpAQCAtMTU1OSw3ICsxNTc1LDcgQEAKIAlkb25lCiAJLXJtIC1mIGNvcmUgTWFrZWZpbGUgTWFrZWZpbGUucHJlIGNvbmZpZy5zdGF0dXMgXAogCQlNb2R1bGVzL1NldHVwIE1vZHVsZXMvU2V0dXAubG9jYWwgTW9kdWxlcy9TZXR1cC5jb25maWcgXAotCQlNb2R1bGVzL2xkX3NvX2FpeCBNb2R1bGVzL3B5dGhvbi5leHAgTWlzYy9weXRob24ucGMKKwkJTW9kdWxlcy9sZF9zb19haXggUHJvZ3JhbXMvcHl0aG9uLmV4cCBNaXNjL3B5dGhvbi5wYwogCS1ybSAtZiBweXRob24qLWdkYi5weQogCWZpbmQgJChzcmNkaXIpL1thLXpBLVpdKiAnKCcgLW5hbWUgJyouZmRjJyAtbyAtbmFtZSAnKn4nIFwKIAkJCQkgICAgIC1vIC1uYW1lICdbQCwjXSonIC1vIC1uYW1lICcqLm9sZCcgXApkaWZmIC0tZ2l0IGEvTWlzYy9BQ0tTIGIvTWlzYy9BQ0tTCmluZGV4IDY1NTE4ZGIuLmMxZDBkYWIgMTAwNjQ0Ci0tLSBhL01pc2MvQUNLUworKysgYi9NaXNjL0FDS1MKQEAgLTQ2LDYgKzQ2LDcgQEAKIEVyaWsgQW5kZXJzw6luCiBPbGl2ZXIgQW5kcmljaAogUm9zcyBBbmRydXMKK0ZhYnJpY2UgQW5lY2hlCiBKdWFuY2FybG8gQcOxZXoKIENocmlzIEFuZ2VsaWNvCiBKw6lyw6lteSBBbmdlcgpAQCAtODksNiArOTAsNyBAQAogQ2VzYXIgRWR1YXJkbyBCYXJyb3MKIERlcyBCYXJyeQogVWxmIEJhcnRlbHQKK0NhbXBiZWxsIEJhcnRvbgogRG9uIEJhc2hmb3JkCiBQaW9yIEJhc3RpZGEKIE5pY2sgQmFzdGluCkBAIC0xMDAsNiArMTAyLDcgQEAKIFNhbXVlbCBMLiBCYXllcgogRG9uYWxkIEJlYXVkcnkKIERhdmlkIEJlYXpsZXkKK0luZ29sZiBCZWNrZXIKIE5lYWwgQmVja2VyCiBSb2JpbiBCZWNrZXIKIFRvcnN0ZW4gQmVja2VyCkBAIC0yMTYsNiArMjE5LDcgQEAKIFRlcnJ5IENhcnJvbGwKIEVkd2FyZCBDYXRtdXIKIExvcmVuem8gTS4gQ2F0dWNjaQorQnJ1bm8gQ2F1ZXQKIERvbm4gQ2F2ZQogQ2hhcmxlcyBDYXphYm9uCiBKZXPDunMgQ2VhIEF2acOzbgpAQCAtMjMzLDYgKzIzNyw3IEBACiBCcmFkIENoYXBtYW4KIEdyZWcgQ2hhcG1hbgogTWl0Y2ggQ2hhcG1hbgorTWF0dCBDaGFwdXQKIFlvZ2VzaCBDaGF1ZGhhcmkKIERhdmlkIENoYXVtCiBOaWNvbGFzIENoYXV2YXQKQEAgLTQ2OSw2ICs0NzQsNyBAQAogWGF2aWVyIGRlIEdheWUKIEhhcnJ5IEhlbnJ5IEdlYmVsCiBNYXJpdXMgR2VkbWluYXMKK0phbi1QaGlsaXAgR2VocmNrZQogVGhvbWFzIEdlbGxla3VtCiBHYWJyaWVsIEdlbmVsbGluYQogQ2hyaXN0b3MgR2Vvcmdpb3UKQEAgLTQ5NSw2ICs1MDEsNyBAQAogRGF2aWQgR29vZGdlcgogSGFucyBkZSBHcmFhZmYKIFRpbSBHcmFoYW0KK0tpbSBHcsOkc21hbgogTmF0aGFuaWVsIEdyYXkKIEVkZHkgRGUgR3JlZWYKIEdyYW50IEdyaWZmaW4KQEAgLTU2Nyw2ICs1NzQsNyBAQAogV291dGVyIHZhbiBIZXlzdAogS2Vsc2V5IEhpZ2h0b3dlcgogSmFzb24gSGlsZGVicmFuZAorQWFyb24gSGlsbAogUmljaGllIEhpbmRsZQogS29ucmFkIEhpbnNlbgogRGF2aWQgSG9ibGV5CkBAIC02MDEsNiArNjA5LDcgQEAKIEtlbiBIb3dhcmQKIEJyYWQgSG93ZXMKIE1pa2UgSG95CitCZW4gSG95dAogQ2hpaC1IYW8gSHVhbmcKIENocmlzdGlhbiBIdWRvbgogTGF3cmVuY2UgSHVkc29uCkBAIC02MjAsNiArNjI5LDcgQEAKIEFhcm9uIElsZXMKIExhcnMgSW1taXNjaAogQm9iYnkgSW1wb2xsb25pYQorTmFva2kgSW5hZGEKIE1lYWRvciBJbmdlCiBQZXRlciBJbmdlYnJldHNvbgogVG9ueSBJbmdyYWxkaQpAQCAtNjQzLDYgKzY1Myw3IEBACiBSYWphZ29wYWxhc2FybWEgSmF5YWtyaXNobmFuCiBaYmlnbmlldyBKxJlkcnplamV3c2tpLVN6bWVrCiBKdWxpZW4gSmVoYW5uZXQKK011aGFtbWFkIEplaGFuemViCiBEcmV3IEplbmtpbnMKIEZsZW1taW5nIEtqw6ZyIEplbnNlbgogUGhpbGlwIEguIEplbnNlbgpAQCAtNjYyLDYgKzY3Myw3IEBACiBOaWNvbGFzIEpvbHkKIEJyaWFuIEsuIEpvbmVzCiBFdmFuIEpvbmVzCitHbGVubiBKb25lcwogSmVyZW15IEpvbmVzCiBSaWNoYXJkIEpvbmVzCiBJcm1lbiBkZSBKb25nCkBAIC02ODksNiArNzAxLDcgQEAKIEFudG9uIEthc3lhbm92CiBMb3UgS2F0ZXMKIEhpcm9ha2kgS2F3YWkKK0JyaWFuIEtlYXJucwogU2ViYXN0aWVuIEtlaW0KIFJ5YW4gS2VsbHkKIERhbiBLZW5pZ3NiZXJnCkBAIC03MDQsNiArNzE3LDcgQEAKIEphbiBLaW0KIFRhZWsgSm9vIEtpbQogU2FtIEtpbWJyZWwKK0phbWVzIEtpbmcKIFcuIFRyZXZvciBLaW5nCiBQYXVsIEtpcHBlcwogU3RldmUgS2lyc2NoCkBAIC04MTEsNiArODI1LDcgQEAKIFNoYXduIExpZ29ja2kKIE1hcnRpbiBMaWdyCiBHZWRpbWluYXMgTGlrdGFyYXMKK1ZpdG9yIGRlIExpbWEKIEdyYW50IExpbWJlcmcKIENocmlzdG9waGVyIExpbmRibGFkCiBVbGYgQS4gTGluZGdyZW4KQEAgLTg4MCw2ICs4OTUsNyBAQAogTHVjYXMgTWF5c3RyZQogQXJuYXVkIE1hemluCiBNYXR0IE1jQ2x1cmUKK0phY2sgTWNDcmFja2VuCiBSZWJlY2NhIE1jQ3JlYXJ5CiBLaXJrIE1jRG9uYWxkCiBDaHJpcyBNY0Rvbm91Z2gKQEAgLTk4Niw2ICsxMDAyLDcgQEAKIEpvaG4gTydDb25ub3IKIEtldmluIE8nQ29ubm9yCiBUaW0gTydNYWxsZXkKK0RhbiBPJ1JlaWxseQogWm9va28gTydXaGllbGFjcm9ueAogQWFyb24gT2FrbGV5CiBKYW1lcyBPYWtsZXkKQEAgLTEwMjUsNiArMTA0Miw3IEBACiBBbGV4YW5kcmUgUGFyZW50ZWF1CiBEYW4gUGFyaXNpZW4KIFdpbGxpYW0gUGFyaworQ2xhdWRlIFBhcm96CiBIZWlra2kgUGFydGFuZW4KIEhhcnJpIFBhc2FuZW4KIEdhw6tsIFBhc2dyaW1hdWQKQEAgLTEwOTcsNiArMTExNSw3IEBACiBSYW0gUmFjaHVtCiBKw6lyw7RtZSBSYWRpeAogQnVydG9uIFJhZG9ucworU2hvcnlhIFJhagogSmVmZiBSYW1uYW5pCiBCcm9kaWUgUmFvCiBTZW5rbyBSYXNpYwpAQCAtMTEzOCw2ICsxMTU3LDcgQEAKIERhdmlkZSBSaXp6bwogQW50aG9ueSBSb2FjaAogQ2FybCBSb2JiZW4KK0JlbiBSb2JlcnRzCiBNYXJrIFJvYmVydHMKIEFuZHkgUm9iaW5zb24KIEppbSBSb2JpbnNvbgpAQCAtMTE1MywxMiArMTE3MywxNCBAQAogQ2FzZSBSb29sZQogVGltb3RoeSBSb3Njb2UKIEVyaWsgUm9zZQorSm9zaCBSb3NlbmJlcmcKIEppbSBSb3NraW5kCiBCcmlhbiBSb3NuZXIKIEd1aWRvIHZhbiBSb3NzdW0KIEp1c3QgdmFuIFJvc3N1bQogSHVnbyB2YW4gUm9zc3VtCiBTYXNraWEgdmFuIFJvc3N1bQorQ2xlbWVudCBSb3VhdWx0CiBEb25hbGQgV2FsbGFjZSBSb3VzZSBJSQogTGlhbSBSb3V0dAogVG9kZCBSb3ZpdG8KQEAgLTExODIsNiArMTIwNCw3IEBACiBTdW1hbiBTYWhhCiBIYWppbWUgU2FpdG91CiBHZW9yZ2UgU2Fra2lzCitWaWN0b3IgU2FsZ2FkbwogUmljaCBTYWx6CiBLZXZpbiBTYW1ib3JuCiBBZHJpYW4gU2FtcHNvbgpAQCAtMTI4MSw2ICsxMzA0LDcgQEAKIEV2Z2VueSBTb2xvZ3Vib3YKIENvZHkgU29tZXJ2aWxsZQogRWRvYXJkbyBTcGFkb2xpbmkKK0dlb2ZmcmV5IFNwZWFyCiBDbGF5IFNwZW5jZQogU3RlZmFuIFNwZXJsaW5nCiBOaWNob2xhcyBTcGllcwpAQCAtMTMzOCw2ICsxMzYyLDcgQEAKIEFteSBUYXlsb3IKIE1vbnR5IFRheWxvcgogQW5hdG9seSBUZWNodG9uaWsKK0d1c3Rhdm8gVGVtcGxlCiBNaWtoYWlsIFRlcmVraG92CiBWaWN0b3IgVGVycsOzbgogUmljaGFyZCBNLiBUZXcKQEAgLTEzNzAsNiArMTM5NSw3IEBACiBOYXRoYW4gVHJhcHV6emFubwogTGF1cmVuY2UgVHJhdHQKIEFsYmVydG8gVHJldmlubworTWF5YW5rIFRyaXBhdGhpCiBNYXR0aGlhcyBUcm9mZmFlcwogVG9tIFRyb21leQogSm9obiBUcm9tcApAQCAtMTM5MSw2ICsxNDE3LDcgQEAKIERhbmllbCBVcmJhbgogTWljaGFlbCBVcm1hbgogSGVjdG9yIFVydHViaWEKK0x1a2FzIFZhY2VrCiBWaWxsZSBWYWluaW8KIEFuZGkgVmFqZGEKIENhc2UgVmFuIEhvcnNlbgpAQCAtMTQxNSw2ICsxNDQyLDcgQEAKIFBhdWxpIFZpcnRhbmVuCiBGcmFuayBWaXNzZXIKIEpvaGFubmVzIFZvZ2VsCitSYWR1IFZvaWNpbGFzCiBBbGV4IFZvbGtvdgogTWFydGlqbiBWcmllcwogU2pvZXJkIGRlIFZyaWVzCkBAIC0xNDM3LDYgKzE0NjUsNyBAQAogRGF2aWQgV2F0c29uCiBBYXJvbiBXYXR0ZXJzCiBIZW5yaWsgV2ViZXIKK0xlb24gV2ViZXIKIENvcnJhbiBXZWJzdGVyCiBHbHluIFdlYnN0ZXIKIFBoaWwgV2Vic3RlcgpAQCAtMTQ2NSw2ICsxNDk0LDcgQEAKIENhcm9sIFdpbGxpbmcKIFN0ZXZlbiBXaWxsaXMKIEZyYW5rIFdpbGxpc29uCitEYXZpZCBXaWxzb24KIEdlb2ZmIFdpbHNvbgogR3JlZyBWLiBXaWxzb24KIEogRGVyZWsgV2lsc29uCkBAIC0xNDkwLDYgKzE1MjAsNyBAQAogRGFycmVuIFdvcnJhbGwKIFRob21hcyBXb3V0ZXJzCiBEYW5pZWwgV296bmlhaworV2VpIFd1CiBIZWlrbyBXdW5kcmFtCiBEb3VnIFd5YXR0CiBSb2JlcnQgWGlhbwpkaWZmIC0tZ2l0IGEvTWlzYy9ISVNUT1JZIGIvTWlzYy9ISVNUT1JZCmluZGV4IDgzNzBkOGUuLjJiNDc2MGQgMTAwNjQ0Ci0tLSBhL01pc2MvSElTVE9SWQorKysgYi9NaXNjL0hJU1RPUlkKQEAgLTE4LDEzICsxOCwxMyBAQAogCiAtIElzc3VlICMxNjA0NjogRml4IGxvYWRpbmcgc291cmNlbGVzcyBsZWdhY3kgLnB5byBmaWxlcy4KIAotLSBJc3N1ZSAjMTYwNjA6IEZpeCByZWZjb3VudGluZyBidWcgd2hlbiBfX3RydW5jX18gcmV0dXJucyBhbiBvYmplY3QKLSAgd2hvc2UgX19pbnRfXyBnaXZlcyBhIG5vbi1pbnRlZ2VyLiAgUGF0Y2ggYnkgU2VyaGl5IFN0b3JjaGFrYS4KKy0gSXNzdWUgIzE2MDYwOiBGaXggcmVmY291bnRpbmcgYnVnIHdoZW4gYF9fdHJ1bmNfXygpYCByZXR1cm5zIGFuIG9iamVjdCB3aG9zZQorICBgX19pbnRfXygpYCBnaXZlcyBhIG5vbi1pbnRlZ2VyLiAgUGF0Y2ggYnkgU2VyaGl5IFN0b3JjaGFrYS4KIAogRXh0ZW5zaW9uIE1vZHVsZXMKIC0tLS0tLS0tLS0tLS0tLS0tCiAKLS0gSXNzdWUgIzE2MDEyOiBGaXggYSByZWdyZXNzaW9uIGluIHB5ZXhwYXQuIFRoZSBwYXJzZXIncyBVc2VGb3JlaWduRFREKCkKKy0gSXNzdWUgIzE2MDEyOiBGaXggYSByZWdyZXNzaW9uIGluIHB5ZXhwYXQuIFRoZSBwYXJzZXIncyBgVXNlRm9yZWlnbkRURCgpYAogICBtZXRob2QgZG9lc24ndCByZXF1aXJlIGFuIGFyZ3VtZW50IGFnYWluLgogCiAKQEAgLTM2LDI2ICszNiwyNiBAQAogQ29yZSBhbmQgQnVpbHRpbnMKIC0tLS0tLS0tLS0tLS0tLS0tCiAKLS0gSXNzdWUgIzE1OTAwOiBGaXggcmVmZXJlbmNlIGxlYWsgaW4gUHlVbmljb2RlX1RyYW5zbGF0ZUNoYXJtYXAoKS4KKy0gSXNzdWUgIzE1OTAwOiBGaXggcmVmZXJlbmNlIGxlYWsgaW4gYFB5VW5pY29kZV9UcmFuc2xhdGVDaGFybWFwKClgLgogCiAtIElzc3VlICMxNTkyNjogRml4IGNyYXNoIGFmdGVyIG11bHRpcGxlIHJlaW5pdGlhbGl6YXRpb25zIG9mIHRoZSBpbnRlcnByZXRlci4KIAogLSBJc3N1ZSAjMTU4OTU6IEZpeCBGSUxFIHBvaW50ZXIgbGVhayBpbiBvbmUgZXJyb3IgYnJhbmNoIG9mCi0gIFB5UnVuX1NpbXBsZUZpbGVFeEZsYWdzKCkgd2hlbiBmaWxlbmFtZSBwb2ludHMgdG8gYSBweWMvcHlvIGZpbGUsIGNsb3NlaXQKLSAgaXMgZmFsc2UgYW4gYW5kIHNldF9tYWluX2xvYWRlcigpIGZhaWxzLgorICBgUHlSdW5fU2ltcGxlRmlsZUV4RmxhZ3MoKWAgd2hlbiBmaWxlbmFtZSBwb2ludHMgdG8gYSBweWMvcHlvIGZpbGUsIGNsb3NlaXQgaXMKKyAgZmFsc2UgYW4gYW5kIHNldF9tYWluX2xvYWRlcigpIGZhaWxzLgogCiAtIEZpeGVzIGZvciBhIGZldyBjcmFzaCBhbmQgbWVtb3J5IGxlYWsgcmVncmVzc2lvbnMgZm91bmQgYnkgQ292ZXJpdHkuCiAKIExpYnJhcnkKIC0tLS0tLS0KIAotLSBJc3N1ZSAjMTU4ODI6IENoYW5nZSBfZGVjaW1hbCB0byBhY2NlcHQgYW55IGNvZWZmaWNpZW50IHR1cGxlIHdoZW4KLSAgY29uc3RydWN0aW5nIGluZmluaXRpZXMuIFRoaXMgaXMgZG9uZSBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkKLSAgd2l0aCBkZWNpbWFsLnB5OiBJbmZpbml0eSBjb2VmZmljaWVudHMgYXJlIHVuZGVmaW5lZCBpbiBfZGVjaW1hbAotICAoaW4gYWNjb3JkYW5jZSB3aXRoIHRoZSBzcGVjaWZpY2F0aW9uKS4KKy0gSXNzdWUgIzE1ODgyOiBDaGFuZ2UgYF9kZWNpbWFsYCB0byBhY2NlcHQgYW55IGNvZWZmaWNpZW50IHR1cGxlIHdoZW4KKyAgY29uc3RydWN0aW5nIGluZmluaXRpZXMuIFRoaXMgaXMgZG9uZSBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgd2l0aAorICBkZWNpbWFsLnB5OiBJbmZpbml0eSBjb2VmZmljaWVudHMgYXJlIHVuZGVmaW5lZCBpbiBfZGVjaW1hbCAoaW4gYWNjb3JkYW5jZQorICB3aXRoIHRoZSBzcGVjaWZpY2F0aW9uKS4KIAotLSBJc3N1ZSAjMTU5MjU6IEZpeCBhIHJlZ3Jlc3Npb24gaW4gZW1haWwudXRpbCB3aGVyZSB0aGUgcGFyc2VkYXRlKCkgYW5kCi0gIHBhcnNlZGF0ZV90eigpIGZ1bmN0aW9ucyBkaWQgbm90IHJldHVybiBOb25lIGFueW1vcmUgd2hlbiB0aGUgYXJndW1lbnQgY291bGQKKy0gSXNzdWUgIzE1OTI1OiBGaXggYSByZWdyZXNzaW9uIGluIGBlbWFpbC51dGlsYCB3aGVyZSB0aGUgYHBhcnNlZGF0ZSgpYCBhbmQKKyAgYHBhcnNlZGF0ZV90eigpYCBmdW5jdGlvbnMgZGlkIG5vdCByZXR1cm4gTm9uZSBhbnltb3JlIHdoZW4gdGhlIGFyZ3VtZW50IGNvdWxkCiAgIG5vdCBiZSBwYXJzZWQuCiAKIEV4dGVuc2lvbiBNb2R1bGVzCkBAIC02Nyw3ICs2Nyw3IEBACiAtIElzc3VlICMxNTk3NzogRml4IG1lbW9yeSBsZWFrIGluIE1vZHVsZXMvX3NzbC5jIHdoZW4gdGhlIGZ1bmN0aW9uCiAgIF9zZXRfbnBuX3Byb3RvY29scygpIGlzIGNhbGxlZCBtdWx0aXBsZSB0aW1lcywgdGhhbmtzIHRvIERhbmllbCBTb21tZXJtYW5uLgogCi0tIElzc3VlICMxNTk2OTogZmF1bHRoYW5kbGVyIG1vZHVsZTogcmVuYW1lIGR1bXBfdHJhY2ViYWNrc19sYXRlcigpIHRvCistIElzc3VlICMxNTk2OTogYGZhdWx0aGFuZGxlcmAgbW9kdWxlOiByZW5hbWUgZHVtcF90cmFjZWJhY2tzX2xhdGVyKCkgdG8KICAgZHVtcF90cmFjZWJhY2tfbGF0ZXIoKSBhbmQgY2FuY2VsX2R1bXBfdHJhY2ViYWNrc19sYXRlcigpIHRvCiAgIGNhbmNlbF9kdW1wX3RyYWNlYmFja19sYXRlcigpLgogCkBAIC04MywzNSArODMsMzcgQEAKIC0tLS0tLS0tLS0tLS0tLS0tCiAKIC0gSXNzdWUgIzEzOTkyOiBUaGUgdHJhc2hjYW4gbWVjaGFuaXNtIGlzIG5vdyB0aHJlYWQtc2FmZS4gIFRoaXMgZWxpbWluYXRlcwotICBzcG9yYWRpYyBjcmFzaGVzIGluIG11bHRpLXRocmVhZCBwcm9ncmFtcyB3aGVuIHNldmVyYWwgbG9uZyBkZWFsbG9jYXRvcgotICBjaGFpbnMgcmFuIGNvbmN1cnJlbnRseSBhbmQgaW52b2x2ZWQgc3ViY2xhc3NlcyBvZiBidWlsdC1pbiBjb250YWluZXIKLSAgdHlwZXMuCisgIHNwb3JhZGljIGNyYXNoZXMgaW4gbXVsdGktdGhyZWFkIHByb2dyYW1zIHdoZW4gc2V2ZXJhbCBsb25nIGRlYWxsb2NhdG9yIGNoYWlucworICByYW4gY29uY3VycmVudGx5IGFuZCBpbnZvbHZlZCBzdWJjbGFzc2VzIG9mIGJ1aWx0LWluIGNvbnRhaW5lciB0eXBlcy4KIAotLSBJc3N1ZSAjMTU3ODQ6IE1vZGlmeSBPU0Vycm9yLl9fc3RyX18oKSB0byBiZXR0ZXIgZGlzdGluZ3Vpc2ggYmV0d2VlbgotICBlcnJubyBlcnJvciBudW1iZXJzIGFuZCBXaW5kb3dzIGVycm9yIG51bWJlcnMuCistIElzc3VlICMxNTc4NDogTW9kaWZ5IGBPU0Vycm9yYC5fX3N0cl9fKCkgdG8gYmV0dGVyIGRpc3Rpbmd1aXNoIGJldHdlZW4gZXJybm8KKyAgZXJyb3IgbnVtYmVycyBhbmQgV2luZG93cyBlcnJvciBudW1iZXJzLgogCiAtIElzc3VlICMxNTc4MTogRml4IHR3byBzbWFsbCByYWNlIGNvbmRpdGlvbnMgaW4gaW1wb3J0J3MgbW9kdWxlIGxvY2tpbmcuCiAKIExpYnJhcnkKIC0tLS0tLS0KIAotLSBJc3N1ZSAjMTU4NDc6IEZpeCBhIHJlZ3Jlc3Npb24gaW4gYXJncGFyc2UsIHdoaWNoIGRpZCBub3QgYWNjZXB0IHR1cGxlcwotICBhcyBhcmd1bWVudCBsaXN0cyBhbnltb3JlLgorLSBJc3N1ZSAjMTcxNTg6IEFkZCAnc3ltYm9scycgdG8gaGVscCgpIHdlbGNvbWUgbWVzc2FnZTsgY2xhcmlmeQorICAnbW9kdWxlcyBzcGFtJyBtZXNzYWdlcy4KIAotLSBJc3N1ZSAjMTU4Mjg6IFJlc3RvcmUgc3VwcG9ydCBmb3IgQyBleHRlbnNpb25zIGluIGltcC5sb2FkX21vZHVsZSgpLgorLSBJc3N1ZSAjMTU4NDc6IEZpeCBhIHJlZ3Jlc3Npb24gaW4gYXJncGFyc2UsIHdoaWNoIGRpZCBub3QgYWNjZXB0IHR1cGxlcyBhcworICBhcmd1bWVudCBsaXN0cyBhbnltb3JlLgogCi0tIElzc3VlICMxNTM0MDogRml4IGltcG9ydGluZyB0aGUgcmFuZG9tIG1vZHVsZSB3aGVuIC9kZXYvdXJhbmRvbSBjYW5ub3QKLSAgYmUgb3BlbmVkLiAgVGhpcyB3YXMgYSByZWdyZXNzaW9uIGNhdXNlZCBieSB0aGUgaGFzaCByYW5kb21pemF0aW9uIHBhdGNoLgorLSBJc3N1ZSAjMTU4Mjg6IFJlc3RvcmUgc3VwcG9ydCBmb3IgQyBleHRlbnNpb25zIGluIGBpbXAubG9hZF9tb2R1bGUoKWAuCiAKLS0gSXNzdWUgIzEwNjUwOiBEZXByZWNhdGUgdGhlIHdhdGNoZXhwIHBhcmFtZXRlciBvZiB0aGUgRGVjaW1hbC5xdWFudGl6ZSgpCistIElzc3VlICMxNTM0MDogRml4IGltcG9ydGluZyB0aGUgcmFuZG9tIG1vZHVsZSB3aGVuIGBgL2Rldi91cmFuZG9tYGAgY2Fubm90IGJlCisgIG9wZW5lZC4gIFRoaXMgd2FzIGEgcmVncmVzc2lvbiBjYXVzZWQgYnkgdGhlIGhhc2ggcmFuZG9taXphdGlvbiBwYXRjaC4KKworLSBJc3N1ZSAjMTA2NTA6IERlcHJlY2F0ZSB0aGUgd2F0Y2hleHAgcGFyYW1ldGVyIG9mIHRoZSBgRGVjaW1hbC5xdWFudGl6ZSgpYAogICBtZXRob2QuCiAKLS0gSXNzdWUgIzE1Nzg1OiBNb2RpZnkgd2luZG93LmdldF93Y2goKSBBUEkgb2YgdGhlIGN1cnNlcyBtb2R1bGU6IHJldHVybgotICBhIGNoYXJhY3RlciBmb3IgbW9zdCBrZXlzLCBhbmQgYW4gaW50ZWdlciBmb3Igc3BlY2lhbCBrZXlzLCBpbnN0ZWFkIG9mCi0gIGFsd2F5cyByZXR1cm5pbmcgYW4gaW50ZWdlci4gU28gaXQgaXMgbm93IHBvc3NpYmxlIHRvIGRpc3Rpbmd1aXNoIHNwZWNpYWwKLSAga2V5cyBsaWtlIGtleXBhZCBrZXlzLgorLSBJc3N1ZSAjMTU3ODU6IE1vZGlmeSBgd2luZG93LmdldF93Y2goKWAgQVBJIG9mIHRoZSBjdXJzZXMgbW9kdWxlOiByZXR1cm4gYQorICBjaGFyYWN0ZXIgZm9yIG1vc3Qga2V5cywgYW5kIGFuIGludGVnZXIgZm9yIHNwZWNpYWwga2V5cywgaW5zdGVhZCBvZiBhbHdheXMKKyAgcmV0dXJuaW5nIGFuIGludGVnZXIuIFNvIGl0IGlzIG5vdyBwb3NzaWJsZSB0byBkaXN0aW5ndWlzaCBzcGVjaWFsIGtleXMgbGlrZQorICBrZXlwYWQga2V5cy4KIAotLSBJc3N1ZSAjMTQyMjM6IEZpeCB3aW5kb3cuYWRkY2goKSBvZiB0aGUgY3Vyc2VzIG1vZHVsZSBmb3Igc3BlY2lhbCBjaGFyYWN0ZXJzCistIElzc3VlICMxNDIyMzogRml4IGB3aW5kb3cuYWRkY2goKWAgb2YgdGhlIGN1cnNlcyBtb2R1bGUgZm9yIHNwZWNpYWwgY2hhcmFjdGVycwogICBsaWtlIGN1cnNlcy5BQ1NfSExJTkU6IHRoZSBQeXRob24gZnVuY3Rpb24gYWRkY2goaW50KSBhbmQgYWRkY2goYnl0ZXMpIGlzIG5vdwogICBjYWxsaW5nIHRoZSBDIGZ1bmN0aW9uIHdhZGRjaCgpL212d2FkZGNoKCkgKGFzIGl0IHdhcyBkb25lIGluIFB5dGhvbiAzLjIpLAogICBpbnN0ZWFkIG9mIHdhZGRfd2NoKCkvbXZ3YWRkX3djaCgpLiBUaGUgUHl0aG9uIGZ1bmN0aW9uIGFkZGNoKHN0cikgaXMgc3RpbGwKQEAgLTEyNywxMCArMTI5LDEwIEBACiBEb2N1bWVudGF0aW9uCiAtLS0tLS0tLS0tLS0tCiAKLS0gSXNzdWUgIzE1ODE0OiBUaGUgbWVtb3J5dmlldyBlbmhhbmNlbWVudHMgaW4gMy4zLjAgYWNjaWRlbnRhbGx5IHBlcm1pdHRlZAotICB0aGUgaGFzaGluZyBvZiBtdWx0aS1kaW1lbnNpb25hbCBtZW1vcnZpZXdzIGFuZCBtZW1vcnl2aWV3cyB3aXRoIG11bHRpLWJ5dGUKLSAgaXRlbSBmb3JtYXRzLiBUaGUgaW50ZW5kZWQgcmVzdHJpY3Rpb25zIGhhdmUgbm93IGJlZW4gZG9jdW1lbnRlZCAtIHRoZXkKLSAgd2lsbCBiZSBjb3JyZWN0bHkgZW5mb3JjZWQgaW4gMy4zLjEKKy0gSXNzdWUgIzE1ODE0OiBUaGUgbWVtb3J5dmlldyBlbmhhbmNlbWVudHMgaW4gMy4zLjAgYWNjaWRlbnRhbGx5IHBlcm1pdHRlZCB0aGUKKyAgaGFzaGluZyBvZiBtdWx0aS1kaW1lbnNpb25hbCBtZW1vcnZpZXdzIGFuZCBtZW1vcnl2aWV3cyB3aXRoIG11bHRpLWJ5dGUgaXRlbQorICBmb3JtYXRzLiBUaGUgaW50ZW5kZWQgcmVzdHJpY3Rpb25zIGhhdmUgbm93IGJlZW4gZG9jdW1lbnRlZCAtIHRoZXkgd2lsbCBiZQorICBjb3JyZWN0bHkgZW5mb3JjZWQgaW4gMy4zLjEuCiAKIAogV2hhdCdzIE5ldyBpbiBQeXRob24gMy4zLjAgUmVsZWFzZSBDYW5kaWRhdGUgMT8KQEAgLTE0NCwxMzEgKzE0NiwxMjMgQEAKIC0gSXNzdWUgIzE1NTczOiBtZW1vcnl2aWV3IGNvbXBhcmlzb25zIGFyZSBub3cgcGVyZm9ybWVkIGJ5IHZhbHVlIHdpdGggZnVsbAogICBzdXBwb3J0IGZvciBhbnkgdmFsaWQgc3RydWN0IG1vZHVsZSBmb3JtYXQgZGVmaW5pdGlvbi4KIAotLSBJc3N1ZSAjMTUzMTY6IFdoZW4gYW4gaXRlbSBpbiB0aGUgZnJvbWxpc3QgZm9yIF9faW1wb3J0X18gZG9lc24ndCBleGlzdCwKKy0gSXNzdWUgIzE1MzE2OiBXaGVuIGFuIGl0ZW0gaW4gdGhlIGZyb21saXN0IGZvciBgX19pbXBvcnRfXygpYCBkb2Vzbid0IGV4aXN0LAogICBkb24ndCByYWlzZSBhbiBlcnJvciwgYnV0IGlmIGFuIGV4Y2VwdGlvbiBpcyByYWlzZWQgYXMgcGFydCBvZiBhbiBpbXBvcnQgZG8KICAgbGV0IHRoYXQgcHJvcGFnYXRlLgogCi0tIElzc3VlICMxNTc3ODogZW5zdXJlIHRoYXQgc3RyKEltcG9ydEVycm9yKG1zZykpIHJldHVybnMgYSBzdHIKLSAgZXZlbiB3aGVuIG1zZyBpc24ndCBhIHN0ci4KKy0gSXNzdWUgIzE1Nzc4OiBFbnN1cmUgdGhhdCBgYHN0cihJbXBvcnRFcnJvcihtc2cpKWBgIHJldHVybnMgYSBzdHIgZXZlbiB3aGVuCisgIG1zZyBpc24ndCBhIHN0ci4KIAotLSBJc3N1ZSAjMjA1MTogU291cmNlIGZpbGUgcGVybWlzc2lvbiBiaXRzIGFyZSBvbmNlIGFnYWluIGNvcnJlY3RseQotICBjb3BpZWQgdG8gdGhlIGNhY2hlZCBieXRlY29kZSBmaWxlLiAoVGhlIG1pZ3JhdGlvbiB0byBpbXBvcnRsaWIKLSAgcmVpbnRyb2R1Y2VkIHRoaXMgcHJvYmxlbSBiZWNhdXNlIHRoZXNlIHdhcyBubyByZWdyZXNzaW9uIHRlc3QuIEEgdGVzdAotICBoYXMgYmVlbiBhZGRlZCBhcyBwYXJ0IG9mIHRoaXMgcGF0Y2gpCistIElzc3VlICMyMDUxOiBTb3VyY2UgZmlsZSBwZXJtaXNzaW9uIGJpdHMgYXJlIG9uY2UgYWdhaW4gY29ycmVjdGx5IGNvcGllZCB0bworICB0aGUgY2FjaGVkIGJ5dGVjb2RlIGZpbGUuIChUaGUgbWlncmF0aW9uIHRvIGltcG9ydGxpYiByZWludHJvZHVjZWQgdGhpcworICBwcm9ibGVtIGJlY2F1c2UgdGhlc2Ugd2FzIG5vIHJlZ3Jlc3Npb24gdGVzdC4gQSB0ZXN0IGhhcyBiZWVuIGFkZGVkIGFzIHBhcnQgb2YKKyAgdGhpcyBwYXRjaCkKIAotLSBJc3N1ZSAjMTU3NjE6IEZpeCBjcmFzaCB3aGVuIFBZVEhPTkVYRUNVVEFCTEUgaXMgc2V0IG9uIE1hYyBPUyBYLgorLSBJc3N1ZSAjMTU3NjE6IEZpeCBjcmFzaCB3aGVuIGBgUFlUSE9ORVhFQ1VUQUJMRWBgIGlzIHNldCBvbiBNYWMgT1MgWC4KIAotLSBJc3N1ZSAjMTU3MjY6IEZpeCBpbmNvcnJlY3QgYm91bmRzIGNoZWNraW5nIGluIFB5U3RhdGVfRmluZE1vZHVsZS4KLSAgUGF0Y2ggYnkgUm9iaW4gU2NocmVpYmVyLgorLSBJc3N1ZSAjMTU3MjY6IEZpeCBpbmNvcnJlY3QgYm91bmRzIGNoZWNraW5nIGluIFB5U3RhdGVfRmluZE1vZHVsZS4gIFBhdGNoIGJ5CisgIFJvYmluIFNjaHJlaWJlci4KIAotLSBJc3N1ZSAjMTU2MDQ6IFVwZGF0ZSB1c2VzIG9mIFB5T2JqZWN0X0lzVHJ1ZSgpIHRvIGNoZWNrIGZvciBhbmQgaGFuZGxlCistIElzc3VlICMxNTYwNDogVXBkYXRlIHVzZXMgb2YgYFB5T2JqZWN0X0lzVHJ1ZSgpYCB0byBjaGVjayBmb3IgYW5kIGhhbmRsZQogICBlcnJvcnMgY29ycmVjdGx5LiAgUGF0Y2ggYnkgU2VyaGl5IFN0b3JjaGFrYS4KIAotLSBJc3N1ZSAjMTQ4NDY6IGltcG9ydGxpYi5GaWxlRmluZGVyIG5vdyBoYW5kbGVzIHRoZSBjYXNlIHdoZXJlIHRoZQotICBkaXJlY3RvcnkgYmVpbmcgc2VhcmNoZWQgaXMgcmVtb3ZlZCBhZnRlciBhIHByZXZpb3VzIGltcG9ydCBhdHRlbXB0CistIElzc3VlICMxNDg0NjogYGltcG9ydGxpYi5GaWxlRmluZGVyYCBub3cgaGFuZGxlcyB0aGUgY2FzZSB3aGVyZSB0aGUgZGlyZWN0b3J5CisgIGJlaW5nIHNlYXJjaGVkIGlzIHJlbW92ZWQgYWZ0ZXIgYSBwcmV2aW91cyBpbXBvcnQgYXR0ZW1wdC4KIAogTGlicmFyeQogLS0tLS0tLQogCi0tIElzc3VlICMxMzM3MDogRW5zdXJlIHRoYXQgY3R5cGVzIHdvcmtzIG9uIE1hYyBPUyBYIHdoZW4gUHl0aG9uIGlzCi0gIGNvbXBpbGVkIHVzaW5nIHRoZSBjbGFuZyBjb21waWxlcgorLSBJc3N1ZSAjMTMzNzA6IEVuc3VyZSB0aGF0IGN0eXBlcyB3b3JrcyBvbiBNYWMgT1MgWCB3aGVuIFB5dGhvbiBpcyBjb21waWxlZAorICB1c2luZyB0aGUgY2xhbmcgY29tcGlsZXIuCiAKLS0gSXNzdWUgIzEzMDcyOiBUaGUgYXJyYXkgbW9kdWxlJ3MgJ3UnIGZvcm1hdCBjb2RlIGlzIG5vdyBkZXByZWNhdGVkIGFuZAotICB3aWxsIGJlIHJlbW92ZWQgaW4gUHl0aG9uIDQuMC4KKy0gSXNzdWUgIzEzMDcyOiBUaGUgYXJyYXkgbW9kdWxlJ3MgJ3UnIGZvcm1hdCBjb2RlIGlzIG5vdyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlCisgIHJlbW92ZWQgaW4gUHl0aG9uIDQuMC4KIAogLSBJc3N1ZSAjMTU1NDQ6IEZpeCBEZWNpbWFsLl9fZmxvYXRfXyB0byB3b3JrIHdpdGggcGF5bG9hZC1jYXJyeWluZyBOYU5zLgogCi0tIElzc3VlICMxNTI0OTogQnl0ZXNHZW5lcmF0b3Igbm93IGNvcnJlY3RseSBtYW5nbGVzIEZyb20gbGluZXMgKHdoZW4KKy0gSXNzdWUgIzE1Nzc2OiBBbGxvdyBweXZlbnYgdG8gd29yayBpbiBleGlzdGluZyBkaXJlY3Rvcnkgd2l0aCAtLWNsZWFuLgorCistIElzc3VlICMxNTI0OTogZW1haWwncyBCeXRlc0dlbmVyYXRvciBub3cgY29ycmVjdGx5IG1hbmdsZXMgRnJvbSBsaW5lcyAod2hlbgogICByZXF1ZXN0ZWQpIGV2ZW4gaWYgdGhlIGJvZHkgY29udGFpbnMgdW5kZWNvZGFibGUgYnl0ZXMuCiAKIC0gSXNzdWUgIzE1Nzc3OiBGaXggYSByZWZsZWFrIGluIF9wb3NpeHN1YnByb2Nlc3MuCiAKLS0gSXNzdWUgIyM2NjUxOTQ6IFVwZGF0ZSBlbWFpbC51dGlscy5sb2NhbHRpbWUgdG8gdXNlIGRhdGV0aW1lLmFzdGltZXpvbmUgYW5kCistIElzc3VlICMjNjY1MTk0OiBVcGRhdGUgYGVtYWlsLnV0aWxzLmxvY2FsdGltZWAgdG8gdXNlIGRhdGV0aW1lLmFzdGltZXpvbmUgYW5kCiAgIGNvcnJlY3RseSBoYW5kbGUgaGlzdG9yaWMgY2hhbmdlcyBpbiBVVEMgb2Zmc2V0cy4KIAogLSBJc3N1ZSAjMTUxOTk6IEZpeCBKYXZhU2NyaXB0J3MgZGVmYXVsdCBNSU1FIHR5cGUgdG8gYXBwbGljYXRpb24vamF2YXNjcmlwdC4KICAgUGF0Y2ggYnkgQm9odXNsYXYgS2FicmRhLgogCi0tIElzc3VlICMxMjY0MzogY29kZS5JbnRlcmFjdGl2ZUNvbnNvbGUgbm93IHJlc3BlY3RzIHN5cy5leGNlcHRob29rIHdoZW4KLSAgZGlzcGxheWluZyBleGNlcHRpb25zIChQYXRjaCBieSBBYXJvbiBJbGVzKQorLSBJc3N1ZSAjMTI2NDM6IGBjb2RlLkludGVyYWN0aXZlQ29uc29sZWAgbm93IHJlc3BlY3RzIGBzeXMuZXhjZXB0aG9va2Agd2hlbgorICBkaXNwbGF5aW5nIGV4Y2VwdGlvbnMuICBQYXRjaCBieSBBYXJvbiBJbGVzLgogCi0tIElzc3VlICMxMzU3OTogc3RyaW5nLkZvcm1hdHRlciBub3cgdW5kZXJzdGFuZHMgdGhlICdhJyBjb252ZXJzaW9uIHNwZWNpZmllci4KKy0gSXNzdWUgIzEzNTc5OiBgc3RyaW5nLkZvcm1hdHRlcmAgbm93IHVuZGVyc3RhbmRzIHRoZSAnYScgY29udmVyc2lvbiBzcGVjaWZpZXIuCiAKLS0gSXNzdWUgIzE1NzkzOiBTdGFjayBjb3JydXB0aW9uIGluIHNzbC5SQU5EX2VnZCgpLgotICBQYXRjaCBieSBTZXJoaXkgU3RvcmNoYWthLgotCi0tIElzc3VlICMxNTU5NTogRml4IHN1YnByb2Nlc3MuUG9wZW4odW5pdmVyc2FsX25ld2xpbmVzPVRydWUpCi0gIGZvciBjZXJ0YWluIGxvY2FsZXMgKHV0Zi0xNiBhbmQgdXRmLTMyIGZhbWlseSkuIFBhdGNoIGJ5IENocmlzIEplcmRvbmVrLgorLSBJc3N1ZSAjMTU1OTU6IEZpeCBgYHN1YnByb2Nlc3MuUG9wZW4odW5pdmVyc2FsX25ld2xpbmVzPVRydWUpYGAgZm9yIGNlcnRhaW4KKyAgbG9jYWxlcyAodXRmLTE2IGFuZCB1dGYtMzIgZmFtaWx5KS4gUGF0Y2ggYnkgQ2hyaXMgSmVyZG9uZWsuCiAKIC0gSXNzdWUgIzE1NDc3OiBJbiBjbWF0aCBhbmQgbWF0aCBtb2R1bGVzLCBhZGQgd29ya2Fyb3VuZCBmb3IgcGxhdGZvcm1zIHdob3NlCiAgIHN5c3RlbS1zdXBwbGllZCBsb2cxcCBmdW5jdGlvbiBkb2Vzbid0IHJlc3BlY3Qgc2lnbnMgb2YgemVyb3MuCiAKLS0gSXNzdWUgIzE1NzE1OiBpbXBvcnRsaWIuX19pbXBvcnRfXygpIHdpbGwgc2lsZW5jZSBhbiBJbXBvcnRFcnJvciB3aGVuIHRoZSB1c2UKLSAgb2YgZnJvbWxpc3QgbGVhZHMgdG8gYSBmYWlsZWQgaW1wb3J0LgorLSBJc3N1ZSAjMTU3MTU6IGBpbXBvcnRsaWIuX19pbXBvcnRfXygpYCB3aWxsIHNpbGVuY2UgYW4gSW1wb3J0RXJyb3Igd2hlbiB0aGUKKyAgdXNlIG9mIGZyb21saXN0IGxlYWRzIHRvIGEgZmFpbGVkIGltcG9ydC4KIAotLSBJc3N1ZSAjMTQ2Njk6IEZpeCBwaWNrbGluZyBvZiBjb25uZWN0aW9ucyBhbmQgc29ja2V0cyBvbiBNYWNPU1gKLSAgYnkgc2VuZGluZy9yZWNlaXZpbmcgYW4gYWNrbm93bGVkZ21lbnQgYWZ0ZXIgZmlsZSBkZXNjcmlwdG9yIHRyYW5zZmVyLgotICBUZXN0UGlja2xpbmdDb25uZWN0aW9uIGhhcyBiZWVuIHJlZW5hYmxlZCBmb3IgTWFjT1NYLgorLSBJc3N1ZSAjMTQ2Njk6IEZpeCBwaWNrbGluZyBvZiBjb25uZWN0aW9ucyBhbmQgc29ja2V0cyBvbiBNYWMgT1MgWCBieQorICBzZW5kaW5nL3JlY2VpdmluZyBhbiBhY2tub3dsZWRnbWVudCBhZnRlciBmaWxlIGRlc2NyaXB0b3IgdHJhbnNmZXIuCisgIFRlc3RQaWNrbGluZ0Nvbm5lY3Rpb24gaGFzIGJlZW4gcmVlbmFibGVkIGZvciBNYWMgT1MgWC4KIAogLSBJc3N1ZSAjMTEwNjI6IEZpeCBhZGRpbmcgYSBtZXNzYWdlIGZyb20gZmlsZSB0byBCYWJ5bCBtYWlsYm94LgogCi0tIElzc3VlICMxNTY0NjogUHJldmVudCBlcXVpdmFsZW50IG9mIGEgZm9yayBib21iIHdoZW4gdXNpbmcKLSAgbXVsdGlwcm9jZXNzaW5nIG9uIFdpbmRvd3Mgd2l0aG91dCB0aGUgImlmIF9fbmFtZV9fID09ICdfX21haW5fXyciCi0gIGlkaW9tLgorLSBJc3N1ZSAjMTU2NDY6IFByZXZlbnQgZXF1aXZhbGVudCBvZiBhIGZvcmsgYm9tYiB3aGVuIHVzaW5nIGBtdWx0aXByb2Nlc3NpbmdgCisgIG9uIFdpbmRvd3Mgd2l0aG91dCB0aGUgYGBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nYGAgaWRpb20uCiAKLS0gSXNzdWUgIzE1Njc4OiBGaXggSURMRSBtZW51cyB3aGVuIHN0YXJ0ZWQgZnJvbSBPUyBYIGNvbW1hbmQgbGluZQotICAoMy4zLjBiMiByZWdyZXNzaW9uKS4KK0lETEUKKy0tLS0KIAotQyBBUEkKLS0tLS0tCi0KLUV4dGVuc2lvbiBNb2R1bGVzCi0tLS0tLS0tLS0tLS0tLS0tLQotCi1Ub29scy9EZW1vcwotLS0tLS0tLS0tLS0KKy0gSXNzdWUgIzE1Njc4OiBGaXggSURMRSBtZW51cyB3aGVuIHN0YXJ0ZWQgZnJvbSBPUyBYIGNvbW1hbmQgbGluZSAoMy4zLjBiMgorICByZWdyZXNzaW9uKS4KIAogRG9jdW1lbnRhdGlvbgogLS0tLS0tLS0tLS0tLQogCi0tIElzc3VlICMxNDY3NDogQWRkIGEgZGlzY3Vzc2lvbiBvZiB0aGUganNvbiBtb2R1bGUncyBzdGFuZGFyZCBjb21wbGlhbmNlLgorLSBUb3VjaGVkIHVwIHRoZSBQeXRob24gMiB0byAzIHBvcnRpbmcgZ3VpZGUuCisKKy0gSXNzdWUgIzE0Njc0OiBBZGQgYSBkaXNjdXNzaW9uIG9mIHRoZSBganNvbmAgbW9kdWxlJ3Mgc3RhbmRhcmQgY29tcGxpYW5jZS4KICAgUGF0Y2ggYnkgQ2hyaXMgUmViZXJ0LgogCiAtIENyZWF0ZSBhICdDb25jdXJyZW50IEV4ZWN1dGlvbicgc2VjdGlvbiBpbiB0aGUgZG9jcywgYW5kIHNwbGl0IHVwIHRoZQogICAnT3B0aW9uYWwgT3BlcmF0aW5nIFN5c3RlbSBTZXJ2aWNlcycgc2VjdGlvbiB0byB1c2UgYSBtb3JlIHVzZXItY2VudHJpYwotICBjbGFzc2lmaWNhdGlvbiBzY2hlbWUgKHNwbGl0dGluZyB0aGVtIGFjcm9zcyB0aGUgbmV3IENFIHNlY3Rpb24sIElQQyBhbmQKLSAgdGV4dCBwcm9jZXNzaW5nKS4gT3BlcmF0aW5nIHN5c3RlbSBsaW1pdGF0b25zIGNhbiBiZSByZWZsZWN0ZWQgd2l0aAotICB0aGUgU3BoaW54IGBgOnBsYXRmb3JtOmBgIHRhZywgaXQgZG9lc24ndCBtYWtlIHNlbnNlIGFzIHBhcnQgb2YgdGhlIFRhYmxlIG9mCi0gIENvbnRlbnRzLgorICBjbGFzc2lmaWNhdGlvbiBzY2hlbWUgKHNwbGl0dGluZyB0aGVtIGFjcm9zcyB0aGUgbmV3IENFIHNlY3Rpb24sIElQQyBhbmQgdGV4dAorICBwcm9jZXNzaW5nKS4gT3BlcmF0aW5nIHN5c3RlbSBsaW1pdGF0aW9ucyBjYW4gYmUgcmVmbGVjdGVkIHdpdGggdGhlIFNwaGlueAorICBgYDpwbGF0Zm9ybTpgYCB0YWcsIGl0IGRvZXNuJ3QgbWFrZSBzZW5zZSBhcyBwYXJ0IG9mIHRoZSBUYWJsZSBvZiBDb250ZW50cy4KIAotLSBJc3N1ZSAjNDk2NjogQnJpbmcgdGhlIHNlcXVlbmNlIGRvY3MgdXAgdG8gZGF0ZSBmb3IgdGhlIFB5M2sgdHJhbnNpdGlvbgotICBhbmQgdGhlIG1hbnkgbGFuZ3VhZ2UgZW5oYW5jZW1lbnRzIHNpbmNlIHRoZXkgd2VyZSBvcmlnaW5hbCB3cml0dGVuCistIElzc3VlICM0OTY2OiBCcmluZyB0aGUgc2VxdWVuY2UgZG9jcyB1cCB0byBkYXRlIGZvciB0aGUgUHkzayB0cmFuc2l0aW9uIGFuZAorICB0aGUgbWFueSBsYW5ndWFnZSBlbmhhbmNlbWVudHMgc2luY2UgdGhleSB3ZXJlIG9yaWdpbmFsIHdyaXR0ZW4uCiAKIC0gVGhlICJwYXRoIGltcG9ydGVyIiBtaXNub21lciBoYXMgYmVlbiByZXBsYWNlZCB3aXRoIEVyaWMgU25vdydzCi0gIG1vcmUtYXdrd2FyZC1idXQtYXQtbGVhc3Qtbm90LXdyb25nIHN1Z2dlc3Rpb24gb2YgInBhdGggYmFzZWQgZmluZGVyIiBpbgotICB0aGUgaW1wb3J0IHN5c3RlbSByZWZlcmVuY2UgZG9jcworICBtb3JlLWF3a3dhcmQtYnV0LWF0LWxlYXN0LW5vdC13cm9uZyBzdWdnZXN0aW9uIG9mICJwYXRoIGJhc2VkIGZpbmRlciIgaW4gdGhlCisgIGltcG9ydCBzeXN0ZW0gcmVmZXJlbmNlIGRvY3MuCiAKLS0gSXNzdWUgIzE1NjQwOiBEb2N1bWVudCBpbXBvcnRsaWIuYWJjLkZpbmRlciBhcyBkZXByZWNhdGVkLgorLSBJc3N1ZSAjMTU2NDA6IERvY3VtZW50IGBpbXBvcnRsaWIuYWJjLkZpbmRlcmAgYXMgZGVwcmVjYXRlZC4KIAotLSBJc3N1ZSAjMTU2MzA6IEFkZCBhbiBleGFtcGxlIGZvciAiY29udGludWUiIHN0bXQgaW4gdGhlIHR1dG9yaWFsLiBQYXRjaCBieQorLSBJc3N1ZSAjMTU2MzA6IEFkZCBhbiBleGFtcGxlIGZvciAiY29udGludWUiIHN0bXQgaW4gdGhlIHR1dG9yaWFsLiAgUGF0Y2ggYnkKICAgRGFuaWVsIEVsbGlzLgogCiBUZXN0cwogLS0tLS0KIAogLSBJc3N1ZSAjMTU3NDc6IFpGUyBhbHdheXMgcmV0dXJucyBFT1BOT1RTVVBQIHdoZW4gYXR0ZW1wdGluZyB0byBzZXQgdGhlCi0gIFVGX0lNTVVUQUJMRSBmbGFnICh2aWEgZWl0aGVyIGNoZmxhZ3Mgb3IgbGNoZmxhZ3MpOyByZWZhY3RvciBhZmZlY3RlZAotICB0ZXN0cyBpbiB0ZXN0X3Bvc2l4LnB5IHRvIGFjY291bnQgZm9yIHRoaXMuCisgIFVGX0lNTVVUQUJMRSBmbGFnICh2aWEgZWl0aGVyIGNoZmxhZ3Mgb3IgbGNoZmxhZ3MpOyByZWZhY3RvciBhZmZlY3RlZCB0ZXN0cyBpbgorICB0ZXN0X3Bvc2l4LnB5IHRvIGFjY291bnQgZm9yIHRoaXMuCiAKLS0gSXNzdWUgIzE1Mjg1OiBSZWZhY3RvciB0aGUgYXBwcm9hY2ggZm9yIHRlc3RpbmcgY29ubmVjdCB0aW1lb3V0cyB1c2luZwotICB0d28gZXh0ZXJuYWwgaG9zdHMgdGhhdCBoYXZlIGJlZW4gY29uZmlndXJlZCBzcGVjaWZpY2FsbHkgZm9yIHRoaXMgdHlwZQotICBvZiB0ZXN0LgorLSBJc3N1ZSAjMTUyODU6IFJlZmFjdG9yIHRoZSBhcHByb2FjaCBmb3IgdGVzdGluZyBjb25uZWN0IHRpbWVvdXRzIHVzaW5nIHR3bworICBleHRlcm5hbCBob3N0cyB0aGF0IGhhdmUgYmVlbiBjb25maWd1cmVkIHNwZWNpZmljYWxseSBmb3IgdGhpcyB0eXBlIG9mIHRlc3QuCiAKLS0gSXNzdWUgIzE1NzQzOiBSZW1vdmUgdGhlIGRlcHJlY2F0ZWQgbWV0aG9kIHVzYWdlIGluIHVybGxpYiB0ZXN0cy4gUGF0Y2ggYnkKKy0gSXNzdWUgIzE1NzQzOiBSZW1vdmUgdGhlIGRlcHJlY2F0ZWQgbWV0aG9kIHVzYWdlIGluIGB1cmxsaWJgIHRlc3RzLiBQYXRjaCBieQogICBKZWZmIEtudXBwLgogCi0tIElzc3VlICMxNTYxNTogQWRkIHNvbWUgdGVzdHMgZm9yIHRoZSBqc29uIG1vZHVsZSdzIGhhbmRsaW5nIG9mIGludmFsaWQKLSAgaW5wdXQgZGF0YS4gIFBhdGNoIGJ5IEt1c2hhbCBEYXMuCistIElzc3VlICMxNTYxNTogQWRkIHNvbWUgdGVzdHMgZm9yIHRoZSBganNvbmAgbW9kdWxlJ3MgaGFuZGxpbmcgb2YgaW52YWxpZCBpbnB1dAorICBkYXRhLiAgUGF0Y2ggYnkgS3VzaGFsIERhcy4KIAogQnVpbGQKIC0tLS0tCkBAIC0yNzcsMTEgKzI3MSwxMSBAQAogCiAtIFBpY2sgdXAgMzItYml0IGxhdW5jaGVyIGZyb20gUEdPIGRpcmVjdG9yeSBvbiA2NC1iaXQgUEdPIGJ1aWxkLgogCi0tIERyb3AgUENccHl0aG9uX250LmggYXMgaXQncyBub3QgdXNlZC4gQWRkIGlucHV0IGRlcGVuZGVuY3kgb24gY3VzdG9tCistIERyb3AgYGBQQ1xweXRob25fbnQuaGBgIGFzIGl0J3Mgbm90IHVzZWQuICBBZGQgaW5wdXQgZGVwZW5kZW5jeSBvbiBjdXN0b20KICAgYnVpbGQgc3RlcC4KIAotLSBJc3N1ZSAjMTU1MTE6IERyb3AgZXhwbGljaXQgZGVwZW5kZW5jeSBvbiBweXRob254eS5saWIgZnJvbSBfZGVjaW1hbAotICBhbWQ2NCBjb25maWd1cmF0aW9uLgorLSBJc3N1ZSAjMTU1MTE6IERyb3AgZXhwbGljaXQgZGVwZW5kZW5jeSBvbiBweXRob254eS5saWIgZnJvbSBfZGVjaW1hbCBhbWQ2NAorICBjb25maWd1cmF0aW9uLgogCiAtIEFkZCBtaXNzaW5nIFBHSS9QR08gY29uZmlndXJhdGlvbnMgZm9yIHB5d2xhdW5jaGVyLgogCkBAIC0yOTYsMTUgKzI5MCwxNSBAQAogQ29yZSBhbmQgQnVpbHRpbnMKIC0tLS0tLS0tLS0tLS0tLS0tCiAKLS0gSXNzdWUgIzE1NTY4OiBGaXggdGhlIHJldHVybiB2YWx1ZSBvZiAieWllbGQgZnJvbSIgd2hlbiBTdG9wSXRlcmF0aW9uIGlzCistIElzc3VlICMxNTU2ODogRml4IHRoZSByZXR1cm4gdmFsdWUgb2YgYGB5aWVsZCBmcm9tYGAgd2hlbiBTdG9wSXRlcmF0aW9uIGlzCiAgIHJhaXNlZCBieSBhIGN1c3RvbSBpdGVyYXRvci4KIAotLSBJc3N1ZSAjMTMxMTk6IHN5cy5zdGRvdXQgYW5kIHN5cy5zdGRlcnIgYXJlIG5vdyB1c2luZyAiXHJcbiIgbmV3bGluZSBvbgorLSBJc3N1ZSAjMTMxMTk6IGBzeXMuc3Rkb3V0YCBhbmQgYHN5cy5zdGRlcnJgIGFyZSBub3cgdXNpbmcgIlxyXG4iIG5ld2xpbmUgb24KICAgV2luZG93cywgYXMgUHl0aG9uIDIuCiAKIC0gSXNzdWUgIzE1NTM0OiBGaXggdGhlIGZhc3Qtc2VhcmNoIGZ1bmN0aW9uIGZvciBub24tQVNDSUkgVW5pY29kZSBzdHJpbmdzLgogCi0tIElzc3VlICMxNTUwODogRml4IHRoZSBkb2NzdHJpbmcgZm9yIF9faW1wb3J0X18gdG8gaGF2ZSB0aGUgcHJvcGVyIGRlZmF1bHQKKy0gSXNzdWUgIzE1NTA4OiBGaXggdGhlIGRvY3N0cmluZyBmb3IgYF9faW1wb3J0X18oKWAgdG8gaGF2ZSB0aGUgcHJvcGVyIGRlZmF1bHQKICAgdmFsdWUgb2YgMCBmb3IgJ2xldmVsJyBhbmQgdG8gbm90IG1lbnRpb24gbmVnYXRpdmUgbGV2ZWxzIHNpbmNlIHRoZXkgYXJlIG5vdAogICBzdXBwb3J0ZWQuCiAKQEAgLTMxNywxNyArMzExLDE3IEBACiAgIGJ5dGUgY29kZSBmaWxlcykgZXF1YWwgYmV0d2VlbiAzMi1iaXQgYW5kIDY0LWJpdCBzeXN0ZW1zLgogCiAtIElzc3VlICMxNjkyMzM1OiBNb3ZlIGluaXRpYWwgZXhjZXB0aW9uIGFyZ3MgYXNzaWdubWVudCB0bwotICAiQmFzZUV4Y2VwdGlvbi5fX25ld19fIiB0byBoZWxwIHBpY2tsaW5nIG9mIG5haXZlIHN1YmNsYXNzZXMuCisgIGBCYXNlRXhjZXB0aW9uLl9fbmV3X18oKWAgdG8gaGVscCBwaWNrbGluZyBvZiBuYWl2ZSBzdWJjbGFzc2VzLgogCi0tIElzc3VlICMxMjgzNDogRml4IFB5QnVmZmVyX1RvQ29udGlndW91cygpIGZvciBub24tY29udGlndW91cyBhcnJheXMuCistIElzc3VlICMxMjgzNDogRml4IGBQeUJ1ZmZlcl9Ub0NvbnRpZ3VvdXMoKWAgZm9yIG5vbi1jb250aWd1b3VzIGFycmF5cy4KIAotLSBJc3N1ZSAjMTU0NTY6IEZpeCBjb2RlIF9fc2l6ZW9mX18gYWZ0ZXIgIzEyMzk5IGNoYW5nZS4gIFBhdGNoIGJ5IFNlcmhpeQorLSBJc3N1ZSAjMTU0NTY6IEZpeCBjb2RlIGBfX3NpemVvZl9fKClgIGFmdGVyICMxMjM5OSBjaGFuZ2UuICBQYXRjaCBieSBTZXJoaXkKICAgU3RvcmNoYWthLgogCiAtIElzc3VlICMxNTQwNDogUmVmbGVhayBpbiBQeU1ldGhvZE9iamVjdCByZXByLgogCi0tIElzc3VlICMxNTM5NDogQW4gaXNzdWUgaW4gUHlNb2R1bGVfQ3JlYXRlIHRoYXQgY2F1c2VkIHJlZmVyZW5jZXMgdG8gYmUgbGVha2VkCi0gIG9uIHNvbWUgZXJyb3IgcGF0aHMgaGFzIGJlZW4gZml4ZWQuICBQYXRjaCBieSBKdWxpYSBMYXdhbGwuCistIElzc3VlICMxNTM5NDogQW4gaXNzdWUgaW4gYFB5TW9kdWxlX0NyZWF0ZSgpYCB0aGF0IGNhdXNlZCByZWZlcmVuY2VzIHRvIGJlCisgIGxlYWtlZCBvbiBzb21lIGVycm9yIHBhdGhzIGhhcyBiZWVuIGZpeGVkLiAgUGF0Y2ggYnkgSnVsaWEgTGF3YWxsLgogCiAtIElzc3VlICMxNTM2ODogQW4gaXNzdWUgdGhhdCBjYXVzZWQgYnl0ZWNvZGUgZ2VuZXJhdGlvbiB0byBiZSBub24tZGV0ZXJtaW5pc3RpYwogICBoYXMgYmVlbiBmaXhlZC4KQEAgLTMzNSw3ICszMjksNyBAQAogLSBJc3N1ZSAjMTUyMDI6IENvbnNpc3RlbnRseSB1c2UgdGhlIG5hbWUgImZvbGxvd19zeW1saW5rcyIgZm9yIG5ldyBwYXJhbWV0ZXJzCiAgIGluIG9zIGFuZCBzaHV0aWwgZnVuY3Rpb25zLgogCi0tIElzc3VlICMxNTMxNDogX19tYWluX18uX19sb2FkZXJfXyBpcyBub3cgc2V0IGNvcnJlY3RseSBkdXJpbmcgaW50ZXJwcmV0ZXIKKy0gSXNzdWUgIzE1MzE0OiBgYF9fbWFpbl9fLl9fbG9hZGVyX19gYCBpcyBub3cgc2V0IGNvcnJlY3RseSBkdXJpbmcgaW50ZXJwcmV0ZXIKICAgc3RhcnR1cC4KIAogLSBJc3N1ZSAjMTUxMTE6IFdoZW4gYSBtb2R1bGUgaW1wb3J0ZWQgdXNpbmcgJ2Zyb20gaW1wb3J0JyBoYXMgYW4gSW1wb3J0RXJyb3IKQEAgLTM1MCw1NyArMzQ0LDYyIEBACiAtIElzc3VlICMxNTExMDogRml4IHRoZSB0cmFjZWJhY2tzIGdlbmVyYXRlZCBieSAiaW1wb3J0IHh4eCIgdG8gbm90IHNob3cgdGhlCiAgIGltcG9ydGxpYiBzdGFjayBmcmFtZXMuCiAKKy0gSXNzdWUgIzE2MzY5OiBHbG9iYWwgUHlUeXBlT2JqZWN0cyBub3QgaW5pdGlhbGl6ZWQgd2l0aCBQeVR5cGVfUmVhZHkoLi4uKS4KKwogLSBJc3N1ZSAjMTUwMjA6IFRoZSBwcm9ncmFtIG5hbWUgdXNlZCB0byBzZWFyY2ggZm9yIFB5dGhvbidzIHBhdGggaXMgbm93CiAgICJweXRob24zIiB1bmRlciBVbml4LCBub3QgInB5dGhvbiIuCiAKLS0gSXNzdWUgIzE1MDMzOiBGaXggdGhlIGV4aXQgc3RhdHVzIGJ1ZyB3aGVuIG1vZHVsZXMgaW52b2tlZCB1c2luZyAtbSBzd2l0aCwKKy0gSXNzdWUgIzE1ODk3OiB6aXBpbXBvcnQuYyBkb2Vzbid0IGNoZWNrIHJldHVybiB2YWx1ZSBvZiBmc2VlaygpLgorICBQYXRjaCBieSBGZWxpcGUgQ3J1ei4KKworLSBJc3N1ZSAjMTUwMzM6IEZpeCB0aGUgZXhpdCBzdGF0dXMgYnVnIHdoZW4gbW9kdWxlcyBpbnZva2VkIHVzaW5nIC1tIHN3aXRjaCwKICAgcmV0dXJuIHRoZSBwcm9wZXIgZmFpbHVyZSByZXR1cm4gdmFsdWUgKDEpLiBQYXRjaCBjb250cmlidXRlZCBieSBKZWZmIEtudXBwLgogCi0tIElzc3VlICMxNTIyOTogQW4gT1NFcnJvciBzdWJjbGFzcyB3aG9zZSBfX2luaXRfXyBkb2Vzbid0IGNhbGwgYmFjaworLSBJc3N1ZSAjMTUyMjk6IEFuIGBPU0Vycm9yYCBzdWJjbGFzcyB3aG9zZSBfX2luaXRfXyBkb2Vzbid0IGNhbGwgYmFjawogICBPU0Vycm9yLl9faW5pdF9fIGNvdWxkIHByb2R1Y2UgaW5jb21wbGV0ZSBpbnN0YW5jZXMsIGxlYWRpbmcgdG8gY3Jhc2hlcyB3aGVuCiAgIGNhbGxpbmcgc3RyKCkgb24gdGhlbS4KIAotLSBJc3N1ZSAxNTMwNzogVmlydHVhbCBlbnZpcm9ubWVudHMgbm93IHVzZSBzeW1saW5rcyB3aXRoIGZyYW1ld29yayBidWlsZHMgb24KKy0gSXNzdWUgIzE1MzA3OiBWaXJ0dWFsIGVudmlyb25tZW50cyBub3cgdXNlIHN5bWxpbmtzIHdpdGggZnJhbWV3b3JrIGJ1aWxkcyBvbgogICBNYWMgT1MgWCwgbGlrZSBvdGhlciBQT1NJWCBidWlsZHMuCiAKIExpYnJhcnkKIC0tLS0tLS0KIAotLSBJc3N1ZSAjMTU0MjQ6IEFkZCBhIF9fc2l6ZW9mX18gaW1wbGVtZW50YXRpb24gZm9yIGFycmF5IG9iamVjdHMuICBQYXRjaCBieQorLSBJc3N1ZSAjMTQ1OTA6IGNvbmZpZ3BhcnNlciBub3cgY29ycmVjdGx5IHN0cmlwcyBpbmxpbmUgY29tbWVudHMgd2hlbiBkZWxpbWl0ZXIKKyAgb2NjdXJzIGVhcmxpZXIgd2l0aG91dCBwcmVjZWRpbmcgc3BhY2UuCisKKy0gSXNzdWUgIzE1NDI0OiBBZGQgYSBgX19zaXplb2ZfXygpYCBpbXBsZW1lbnRhdGlvbiBmb3IgYXJyYXkgb2JqZWN0cy4gIFBhdGNoIGJ5CiAgIEx1ZHdpZyBIw6RobmUuCiAKIC0gSXNzdWUgIzE1NTc2OiBBbGxvdyBleHRlbnNpb24gbW9kdWxlcyB0byBhY3QgYXMgYSBwYWNrYWdlJ3MgX19pbml0X18gbW9kdWxlLgogCi0tIElzc3VlICMxNTUwMjogSGF2ZSBpbXBvcnRsaWIuaW52YWxpZGF0ZV9jYWNoZXMoKSB3b3JrIG9uIHN5cy5tZXRhX3BhdGggaW5zdGVhZAotICBvZiBzeXMucGF0aF9pbXBvcnRlcl9jYWNoZS4KKy0gSXNzdWUgIzE1NTAyOiBIYXZlIGBpbXBvcnRsaWIuaW52YWxpZGF0ZV9jYWNoZXMoKWAgd29yayBvbiBgc3lzLm1ldGFfcGF0aGAKKyAgaW5zdGVhZCBvZiBgc3lzLnBhdGhfaW1wb3J0ZXJfY2FjaGVgLgogCiAtIElzc3VlICMxNTE2MzogUHlkb2Mgc2hvdWxkbid0IGxpc3QgX19sb2FkZXJfXyBhcyBtb2R1bGUgZGF0YS4KIAogLSBJc3N1ZSAjMTU0NzE6IERvIG5vdCB1c2UgbXV0YWJsZSBvYmplY3RzIGFzIGRlZmF1bHRzIGZvcgotICBpbXBvcnRsaWIuX19pbXBvcnRfXygpLgorICBgaW1wb3J0bGliLl9faW1wb3J0X18oKWAuCiAKIC0gSXNzdWUgIzE1NTU5OiBUbyBhdm9pZCBhIHByb2JsZW1hdGljIGZhaWx1cmUgbW9kZSB3aGVuIHBhc3NlZCB0byB0aGUgYnl0ZXMKLSAgY29uc3RydWN0b3IsIG9iamVjdHMgaW4gdGhlIGlwYWRkcmVzcyBtb2R1bGUgbm8gbG9uZ2VyIGltcGxlbWVudCBfX2luZGV4X18KLSAgKHRoZXkgc3RpbGwgaW1wbGVtZW50IF9faW50X18gYXMgYXBwcm9wcmlhdGUpCisgIGNvbnN0cnVjdG9yLCBvYmplY3RzIGluIHRoZSBpcGFkZHJlc3MgbW9kdWxlIG5vIGxvbmdlciBpbXBsZW1lbnQgYF9faW5kZXhfXygpYAorICAodGhleSBzdGlsbCBpbXBsZW1lbnQgYF9faW50X18oKWAgYXMgYXBwcm9wcmlhdGUpLgogCiAtIElzc3VlICMxNTU0NjogRml4IGhhbmRsaW5nIG9mIHBhdGhvbG9naWNhbCBpbnB1dCBkYXRhIGluIHRoZSBwZWVrKCkgYW5kCiAgIHJlYWQxKCkgbWV0aG9kcyBvZiB0aGUgQloyRmlsZSwgR3ppcEZpbGUgYW5kIExaTUFGaWxlIGNsYXNzZXMuCiAKLS0gSXNzdWUgIzEzMDUyOiBGaXggSURMRSBjcmFzaGluZyB3aGVuIHJlcGxhY2Ugc3RyaW5nIGluIFNlYXJjaC9SZXBsYWNlIGRpYWxvZwotICBlbmRlZCB3aXRoICdcJy4gUGF0Y2ggYnkgUm9nZXIgU2Vyd3kuCistIElzc3VlICMxMjY1NTogSW5zdGVhZCBvZiByZXF1aXJpbmcgYSBjdXN0b20gdHlwZSwgYG9zLnNjaGVkX2dldGFmZmluaXR5KClgIGFuZAorICBgb3Muc2NoZWRfc2V0YWZmaW5pdHkoKWAgbm93IHVzZSByZWd1bGFyIHNldHMgb2YgaW50ZWdlcnMgdG8gcmVwcmVzZW50IHRoZQorICBDUFVzIGEgcHJvY2VzcyBpcyByZXN0cmljdGVkIHRvLgogCi0tIElzc3VlICMxMjY1NTogSW5zdGVhZCBvZiByZXF1aXJpbmcgYSBjdXN0b20gdHlwZSwgb3Muc2NoZWRfZ2V0YWZmaW5pdHkgYW5kCi0gIG9zLnNjaGVkX3NldGFmZmluaXR5IG5vdyB1c2UgcmVndWxhciBzZXRzIG9mIGludGVnZXJzIHRvIHJlcHJlc2VudCB0aGUgQ1BVcyBhCi0gIHByb2Nlc3MgaXMgcmVzdHJpY3RlZCB0by4KLQotLSBJc3N1ZSAjMTU1Mzg6IEZpeCBjb21waWxhdGlvbiBvZiB0aGUgZ2V0bmFtZWluZm8oKSAvIGdldGFkZHJpbmZvKCkgZW11bGF0aW9uCi0gIGNvZGUuICBQYXRjaCBieSBQaGlsaXBwIEhhZ2VtZWlzdGVyLgorLSBJc3N1ZSAjMTU1Mzg6IEZpeCBjb21waWxhdGlvbiBvZiB0aGUgYHNvY2tldC5nZXRuYW1laW5mbygpYCAvCisgIGBzb2NrZXQuZ2V0YWRkcmluZm8oKWAgZW11bGF0aW9uIGNvZGUuICBQYXRjaCBieSBQaGlsaXBwIEhhZ2VtZWlzdGVyLgogCiAtIElzc3VlICMxNTUxOTogUHJvcGVybHkgZXhwb3NlIFdpbmRvd3NSZWdpc3RyeUZpbmRlciBpbiBpbXBvcnRsaWIgKGFuZCB1c2UgdGhlCi0gIGNvcnJlY3QgdGVybSBmb3IgaXQpLiBPcmlnaW5hbCBwYXRjaCBieSBFcmljIFNub3cuCisgIGNvcnJlY3QgdGVybSBmb3IgaXQpLiAgT3JpZ2luYWwgcGF0Y2ggYnkgRXJpYyBTbm93LgogCiAtIElzc3VlICMxNTUwMjogQnJpbmcgdGhlIGltcG9ydGxpYiBBQkNzIGludG8gbGluZSB3aXRoIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZQotICBpbXBvcnQgcHJvdG9jb2xzIGdpdmVuIFBFUCA0MjAuIE9yaWdpbmFsIHBhdGNoIGJ5IEVyaWMgU25vdy4KKyAgaW1wb3J0IHByb3RvY29scyBnaXZlbiBQRVAgNDIwLiAgT3JpZ2luYWwgcGF0Y2ggYnkgRXJpYyBTbm93LgogCiAtIElzc3VlICMxNTQ5OTogTGF1bmNoaW5nIGEgd2ViYnJvd3NlciBpbiBVbml4IHVzZWQgdG8gc2xlZXAgZm9yIGEgZmV3IHNlY29uZHMuCiAgIE9yaWdpbmFsIHBhdGNoIGJ5IEFudG9uIEJhcmtvdnNreS4KQEAgLTQwOCwzNyArNDA3LDM2IEBACiAtIElzc3VlICMxNTQ2MzogVGhlIGZhdWx0aGFuZGxlciBtb2R1bGUgdHJ1bmNhdGVzIHN0cmluZ3MgdG8gNTAwIGNoYXJhY3RlcnMsCiAgIGluc3RlYWQgb2YgMTAwLCB0byBiZSBhYmxlIHRvIGRpc3BsYXkgbG9uZyBmaWxlIHBhdGhzLgogCi0tIElzc3VlICM2MDU2OiBNYWtlIG11bHRpcHJvY2Vzc2luZyB1c2Ugc2V0YmxvY2tpbmcoVHJ1ZSkgb24gdGhlIHNvY2tldHMgaXQKKy0gSXNzdWUgIzYwNTY6IE1ha2UgYG11bHRpcHJvY2Vzc2luZ2AgdXNlIHNldGJsb2NraW5nKFRydWUpIG9uIHRoZSBzb2NrZXRzIGl0CiAgIHVzZXMuICBPcmlnaW5hbCBwYXRjaCBieSBKIERlcmVrIFdpbHNvbi4KIAogLSBJc3N1ZSAjMTUzNjQ6IEZpeCBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXIoJ3NyY2RpcicpIHRvIGJlIGFuIGFic29sdXRlIHBhdGguCiAKLS0gSXNzdWUgIzE1MDQxOiBVcGRhdGUgInNlZSBhbHNvIiBsaXN0IGluIHRraW50ZXIgZG9jdW1lbnRhdGlvbi4KKy0gSXNzdWUgIzE1NDEzOiBgb3MudGltZXMoKWAgaGFkIGRpc2FwcGVhcmVkIHVuZGVyIFdpbmRvd3MuCiAKLS0gSXNzdWUgIzE1NDEzOiBvcy50aW1lcygpIGhhZCBkaXNhcHBlYXJlZCB1bmRlciBXaW5kb3dzLgotCi0tIElzc3VlICMxNTQwMjogQW4gaXNzdWUgaW4gdGhlIHN0cnVjdCBtb2R1bGUgdGhhdCBjYXVzZWQgc3lzLmdldHNpemVvZiB0bworLSBJc3N1ZSAjMTU0MDI6IEFuIGlzc3VlIGluIHRoZSBzdHJ1Y3QgbW9kdWxlIHRoYXQgY2F1c2VkIGBzeXMuZ2V0c2l6ZW9mKClgIHRvCiAgIHJldHVybiBpbmNvcnJlY3QgcmVzdWx0cyBmb3Igc3RydWN0LlN0cnVjdCBpbnN0YW5jZXMgaGFzIGJlZW4gZml4ZWQuICBJbml0aWFsCiAgIHBhdGNoIGJ5IFNlcmhpeSBTdG9yY2hha2EuCiAKLS0gSXNzdWUgIzE1MjMyOiBXaGVuIG1hbmdsZV9mcm9tIGlzIFRydWUsIGVtYWlsLkdlbmVyYXRvciBub3cgY29ycmVjdGx5IG1hbmdsZXMKLSAgbGluZXMgdGhhdCBzdGFydCB3aXRoICdGcm9tICcgdGhhdCBvY2N1ciBpbiBhIE1JTUUgcHJlYW1ibGUgb3IgZXBpbG9ndWUuCistIElzc3VlICMxNTIzMjogV2hlbiBtYW5nbGVfZnJvbSBpcyBUcnVlLCBgZW1haWwuR2VuZXJhdG9yYCBub3cgY29ycmVjdGx5CisgIG1hbmdsZXMgbGluZXMgdGhhdCBzdGFydCB3aXRoICdGcm9tICcgdGhhdCBvY2N1ciBpbiBhIE1JTUUgcHJlYW1ibGUgb3IKKyAgZXBpbG9ndWUuCiAKIC0gSXNzdWUgIzE1MDk0OiBJbmNvcnJlY3RseSBwbGFjZWQgI2VuZGlmIGluIF90a2ludGVyLmMuICBQYXRjaCBieSBTZXJoaXkKICAgU3RvcmNoYWthLgogCi0tIElzc3VlICMxMzkyMjogYXJncGFyc2Ugbm8gbG9uZ2VyIGluY29ycmVjdGx5IHN0cmlwcyAnLS0ncyB0aGF0IGFwcGVhciBhZnRlcgorLSBJc3N1ZSAjMTM5MjI6IGBhcmdwYXJzZWAgbm8gbG9uZ2VyIGluY29ycmVjdGx5IHN0cmlwcyAnLS0ncyB0aGF0IGFwcGVhciBhZnRlcgogICB0aGUgZmlyc3Qgb25lLgogCi0tIElzc3VlICMxMjM1MzogYXJncGFyc2Ugbm93IGNvcnJlY3RseSBoYW5kbGVzIG51bGwgYXJndW1lbnQgdmFsdWVzLgorLSBJc3N1ZSAjMTIzNTM6IGBhcmdwYXJzZWAgbm93IGNvcnJlY3RseSBoYW5kbGVzIG51bGwgYXJndW1lbnQgdmFsdWVzLgogCiAtIElzc3VlICMxMDAxNywgaXNzdWUgIzE0OTk4OiBGaXggVHlwZUVycm9yIHVzaW5nIHBwcmludCBvbiBkaWN0aW9uYXJpZXMgd2l0aAogICB1c2VyLWRlZmluZWQgdHlwZXMgYXMga2V5cyBvciBvdGhlciB1bm9yZGVyYWJsZSBrZXlzLgogCi0tIElzc3VlICMxNTM5NzogaW5zcGVjdC5nZXRtb2R1bGVuYW1lKCkgaXMgbm93IGJhc2VkIGRpcmVjdGx5IG9uIGltcG9ydGxpYiB2aWEgYQotICBuZXcgaW1wb3J0bGliLm1hY2hpbmVyeS5hbGxfc3VmZml4ZXMoKSBBUEkuCistIElzc3VlICMxNTM5NzogYGluc3BlY3QuZ2V0bW9kdWxlbmFtZSgpYCBpcyBub3cgYmFzZWQgZGlyZWN0bHkgb24gaW1wb3J0bGliIHZpYQorICBhIG5ldyBgaW1wb3J0bGliLm1hY2hpbmVyeS5hbGxfc3VmZml4ZXMoKWAgQVBJLgogCi0tIElzc3VlICMxNDYzNTogdGVsbmV0bGliIHdpbGwgdXNlIHBvbGwoKSByYXRoZXIgdGhhbiBzZWxlY3QoKSB3aGVuIHBvc3NpYmxlIHRvCistIElzc3VlICMxNDYzNTogYHRlbG5ldGxpYmAgd2lsbCB1c2UgcG9sbCgpIHJhdGhlciB0aGFuIHNlbGVjdCgpIHdoZW4gcG9zc2libGUgdG8KICAgYXZvaWQgZmFpbGluZyBkdWUgdG8gdGhlIHNlbGVjdCgpIGZpbGUgZGVzY3JpcHRvciBsaW1pdC4KIAogLSBJc3N1ZSAjMTUxODA6IENsYXJpZnkgcG9zaXhwYXRoLmpvaW4oKSBlcnJvciBtZXNzYWdlIHdoZW4gbWl4aW5nIHN0ciAmIGJ5dGVzLgpAQCAtNDU1LDcgKzQ1Myw3IEBACiAtIElzc3VlICMxNTIzMzogUHl0aG9uIG5vdyBndWFyYW50ZWVzIHRoYXQgY2FsbGFibGVzIHJlZ2lzdGVyZWQgd2l0aCB0aGUgYXRleGl0CiAgIG1vZHVsZSB3aWxsIGJlIGNhbGxlZCBpbiBhIGRldGVybWluaXN0aWMgb3JkZXIuCiAKLS0gSXNzdWUgIzE1MjM4OiBzaHV0aWwuY29weXN0YXQgbm93IGNvcGllcyBMaW51eCAiZXh0ZW5kZWQgYXR0cmlidXRlcyIuCistIElzc3VlICMxNTIzODogYHNodXRpbC5jb3B5c3RhdCgpYCBub3cgY29waWVzIExpbnV4ICJleHRlbmRlZCBhdHRyaWJ1dGVzIi4KIAogLSBJc3N1ZSAjMTUyMzA6IHJ1bnB5LnJ1bl9wYXRoIG5vdyBjb3JyZWN0bHkgc2V0cyBfX3BhY2thZ2VfXyBhcyBkZXNjcmliZWQgaW4KICAgdGhlIGRvY3VtZW50YXRpb24uCkBAIC00NjUsNDIgKzQ2Myw0MiBAQAogLSBJc3N1ZSAjMTUyOTQ6IEZpeCBhIHJlZ3Jlc3Npb24gaW4gcGtndXRpbC5leHRlbmRfcGF0aCgpJ3MgaGFuZGxpbmcgb2YgbmVzdGVkCiAgIG5hbWVzcGFjZSBwYWNrYWdlcy4KIAotLSBJc3N1ZSAjMTUwNTY6IGltcC5jYWNoZV9mcm9tX3NvdXJjZSgpIGFuZCBzb3VyY2VfZnJvbV9jYWNoZSgpIHJhaXNlCi0gIE5vdEltcGxlbWVudGVkRXJyb3Igd2hlbiBzeXMuaW1wbGVtZW50YXRpb24uY2FjaGVfdGFnIGlzIHNldCB0byBOb25lLgorLSBJc3N1ZSAjMTUwNTY6IGBpbXAuY2FjaGVfZnJvbV9zb3VyY2UoKWAgYW5kIGBpbXAuc291cmNlX2Zyb21fY2FjaGUoKWAgcmFpc2UKKyAgTm90SW1wbGVtZW50ZWRFcnJvciB3aGVuIGBzeXMuaW1wbGVtZW50YXRpb24uY2FjaGVfdGFnYCBpcyBzZXQgdG8gTm9uZS4KIAotLSBJc3N1ZSAjMTUyNTY6IEdyYW1tYXRpY2FsIG1pc3Rha2UgaW4gZXhjZXB0aW9uIHJhaXNlZCBieSBpbXAuZmluZF9tb2R1bGUoKS4KKy0gSXNzdWUgIzE1MjU2OiBHcmFtbWF0aWNhbCBtaXN0YWtlIGluIGV4Y2VwdGlvbiByYWlzZWQgYnkgYGltcC5maW5kX21vZHVsZSgpYC4KIAotLSBJc3N1ZSAjNTkzMTogd3NnaXJlZiBlbnZpcm9uIHZhcmlhYmxlIFNFUlZFUl9TT0ZUV0FSRSB3aWxsIHNwZWNpZnkgYW4KKy0gSXNzdWUgIzU5MzE6IGB3c2dpcmVmYCBlbnZpcm9uIHZhcmlhYmxlIFNFUlZFUl9TT0ZUV0FSRSB3aWxsIHNwZWNpZnkgYW4KICAgaW1wbGVtZW50YXRpb24gc3BlY2lmaWMgdGVybSBsaWtlIENQeXRob24sIEp5dGhvbiBpbnN0ZWFkIG9mIGdlbmVyaWMgIlB5dGhvbiIuCiAKIC0gSXNzdWUgIzEzMjQ4OiBSZW1vdmUgb2Jzb2xldGUgYXJndW1lbnQgIm1heF9idWZmZXJfc2l6ZSIgb2YgQnVmZmVyZWRXcml0ZXIgYW5kCiAgIEJ1ZmZlcmVkUldQYWlyLCBmcm9tIHRoZSBpbyBtb2R1bGUuCiAKLS0gSXNzdWUgIzEzMjQ4OiBSZW1vdmUgb2Jzb2xldGUgYXJndW1lbnQgInZlcnNpb24iIG9mIGFyZ3BhcnNlLkFyZ3VtZW50UGFyc2VyLgorLSBJc3N1ZSAjMTMyNDg6IFJlbW92ZSBvYnNvbGV0ZSBhcmd1bWVudCAidmVyc2lvbiIgb2YgYGFyZ3BhcnNlLkFyZ3VtZW50UGFyc2VyYC4KIAogLSBJc3N1ZSAjMTQ4MTQ6IEltcGxlbWVudCBtb3JlIGNvbnNpc3RlbnQgb3JkZXJpbmcgYW5kIHNvcnRpbmcgYmVoYXZpb3VyIGZvcgogICBpcGFkZHJlc3Mgb2JqZWN0cy4KIAotLSBJc3N1ZSAjMTQ4MTQ6IGlwYWRkcmVzcyBuZXR3b3JrIG9iamVjdHMgY29ycmVjdGx5IHJldHVybiBOb3RJbXBsZW1lbnRlZCB3aGVuCistIElzc3VlICMxNDgxNDogYGlwYWRkcmVzc2AgbmV0d29yayBvYmplY3RzIGNvcnJlY3RseSByZXR1cm4gTm90SW1wbGVtZW50ZWQgd2hlbgogICBjb21wYXJlZCB0byBhcmJpdHJhcnkgb2JqZWN0cyBpbnN0ZWFkIG9mIHJhaXNpbmcgVHlwZUVycm9yLgogCiAtIElzc3VlICMxNDk5MDogQ29ycmVjdGx5IGZhaWwgd2l0aCBTeW50YXhFcnJvciBvbiBpbnZhbGlkIGVuY29kaW5nIGRlY2xhcmF0aW9uLgogCi0tIElzc3VlICMxNDgxNDogaXBhZGRyZXNzIG5vdyBwcm92aWRlcyBtb3JlIGluZm9ybWF0aXZlIGVycm9yIG1lc3NhZ2VzIHdoZW4KKy0gSXNzdWUgIzE0ODE0OiBgaXBhZGRyZXNzYCBub3cgcHJvdmlkZXMgbW9yZSBpbmZvcm1hdGl2ZSBlcnJvciBtZXNzYWdlcyB3aGVuCiAgIGNvbnN0cnVjdGluZyBpbnN0YW5jZXMgZGlyZWN0bHkgKGNoYW5nZXMgcGVybWl0dGVkIGR1cmluZyBiZXRhIGR1ZSB0bwogICBwcm92aXNpb25hbCBBUEkgc3RhdHVzKS4KIAotLSBJc3N1ZSAjMTUyNDc6IEZpbGVJTyBub3cgcmFpc2VzIGFuIGVycm9yIHdoZW4gZ2l2ZW4gYSBmaWxlIGRlc2NyaXB0b3IgcG9pbnRpbmcKLSAgdG8gYSBkaXJlY3RvcnkuCistIElzc3VlICMxNTI0NzogYGlvLkZpbGVJT2Agbm93IHJhaXNlcyBhbiBlcnJvciB3aGVuIGdpdmVuIGEgZmlsZSBkZXNjcmlwdG9yCisgIHBvaW50aW5nIHRvIGEgZGlyZWN0b3J5LgogCiAtIElzc3VlICMxNTI2MTogU3RvcCBvcy5zdGF0KGZkKSBjcmFzaGluZyBvbiBXaW5kb3dzIHdoZW4gZmQgbm90IG9wZW4uCiAKLS0gSXNzdWUgIzE1MTY2OiBJbXBsZW1lbnQgaW1wLmdldF90YWcoKSB1c2luZyBzeXMuaW1wbGVtZW50YXRpb24uY2FjaGVfdGFnLgorLSBJc3N1ZSAjMTUxNjY6IEltcGxlbWVudCBgaW1wLmdldF90YWcoKWAgdXNpbmcgYHN5cy5pbXBsZW1lbnRhdGlvbi5jYWNoZV90YWdgLgogCi0tIElzc3VlICMxNTIxMDogQ2F0Y2ggS2V5RXJyb3Igd2hlbiBpbXBvcnRsaWIuX19pbml0X18gY2FuJ3QgZmluZAorLSBJc3N1ZSAjMTUyMTA6IENhdGNoIEtleUVycm9yIHdoZW4gYGltcG9ydGxpYi5fX2luaXRfXygpYCBjYW4ndCBmaW5kCiAgIF9mcm96ZW5faW1wb3J0bGliIGluIHN5cy5tb2R1bGVzLCBub3QgSW1wb3J0RXJyb3IuCiAKLS0gSXNzdWUgIzE1MDMwOiBpbXBvcnRsaWIuYWJjLlB5UHljTG9hZGVyIG5vdyBzdXBwb3J0cyB0aGUgbmV3IHNvdXJjZSBzaXplCistIElzc3VlICMxNTAzMDogYGltcG9ydGxpYi5hYmMuUHlQeWNMb2FkZXJgIG5vdyBzdXBwb3J0cyB0aGUgbmV3IHNvdXJjZSBzaXplCiAgIGhlYWRlciBmaWVsZCBpbiAucHljIGZpbGVzLgogCiAtIElzc3VlICM1MzQ2OiBQcmVzZXJ2ZSBwZXJtaXNzaW9ucyBvZiBtYm94LCBNTURGIGFuZCBCYWJ5bCBtYWlsYm94IGZpbGVzIG9uCkBAIC01MTMsNyArNTExLDcgQEAKICAgcmVuYW1lZCBvdmVyIHRoZSBvbGQgZmlsZSB3aGVuIGZsdXNoKCkgaXMgY2FsbGVkIG9uIGFuIG1ib3gsIE1NREYgb3IgQmFieWwKICAgbWFpbGJveC4KIAotLSBJc3N1ZSAxMDkyNDogRml4ZWQgY3J5cHQubWtzYWx0KCkgdG8gdXNlIGEgUk5HIHRoYXQgaXMgc3VpdGFibGUgZm9yCistIElzc3VlICMxMDkyNDogRml4ZWQgYGNyeXB0Lm1rc2FsdCgpYCB0byB1c2UgYSBSTkcgdGhhdCBpcyBzdWl0YWJsZSBmb3IKICAgY3J5cHRvZ3JhcGhpYyBwdXJwb3NlLgogCiAtIElzc3VlICMxNTE4NDogRW5zdXJlIGNvbnNpc3RlbnQgcmVzdWx0cyBvZiBPUyBYIGNvbmZpZ3VyYXRpb24gdGFpbG9yaW5nIGZvcgpAQCAtNTI0LDEwICs1MjIsMTAgQEAKIEMgQVBJCiAtLS0tLQogCi0tIElzc3VlICMxNTYxMDogUHlJbXBvcnRfSW1wb3J0TW9kdWxlRXgoKSBub3cgdXNlcyBhICdsZXZlbCcgb2YgMCBpbnN0ZWFkIG9mIC0xLgorLSBJc3N1ZSAjMTU2MTA6IGBQeUltcG9ydF9JbXBvcnRNb2R1bGVFeCgpYCBub3cgdXNlcyBhICdsZXZlbCcgb2YgMCBpbnN0ZWFkIG9mIC0xLgogCi0tIElzc3VlcyAjMTUxNjksICMxNDU5OTogU3RyaXAgb3V0IHRoZSBDIGltcGxlbWVudGF0aW9uIG9mCi0gIGltcC5zb3VyY2VfZnJvbV9jYWNoZSgpIHVzZWQgYnkgUHlJbXBvcnRfRXhlY0NvZGVNb2R1bGVXaXRoUGF0aG5hbWVzKCkgYW5kCistIElzc3VlICMxNTE2OSwgaXNzdWUgIzE0NTk5OiBTdHJpcCBvdXQgdGhlIEMgaW1wbGVtZW50YXRpb24gb2YKKyAgYGltcC5zb3VyY2VfZnJvbV9jYWNoZSgpYCB1c2VkIGJ5IFB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlV2l0aFBhdGhuYW1lcygpIGFuZAogICB1c2VkIHRoZSBQeXRob24gY29kZSBpbnN0ZWFkLiBMZWFkcyB0byBQeUltcG9ydF9FeGVjQ29kZU1vZHVsZU9iamVjdCgpIHRvIG5vdAogICB0cnkgdG8gaW5mZXIgdGhlIHNvdXJjZSBwYXRoIGZyb20gdGhlIGJ5dGVjb2RlIHBhdGggYXMKICAgUHlJbXBvcnRfRXhlY0NvZGVNb2R1bGVXaXRoUGF0aG5hbWVzKCkgZG9lcy4KQEAgLTUzNSwxNCArNTMzLDE3IEBACiBFeHRlbnNpb24gTW9kdWxlcwogLS0tLS0tLS0tLS0tLS0tLS0KIAotLSBJc3N1ZSAjMTU2NzY6IE5vdyAibW1hcCIgY2hlY2sgZm9yIGVtcHR5IGZpbGVzIGJlZm9yZSBkb2luZyB0aGUKLSAgb2Zmc2V0IGNoZWNrLiAgUGF0Y2ggYnkgU3RldmVuIFdpbGxpcy4KLQotLSBJc3N1ZSAjNjQ5MzogQW4gaXNzdWUgaW4gY3R5cGVzIG9uIFdpbmRvd3MgdGhhdCBjYXVzZWQgc3RydWN0dXJlIGJpdGZpZWxkcwotICBvZiB0eXBlIGN0eXBlcy5jX3VpbnQzMiBhbmQgd2lkdGggMzIgdG8gaW5jb3JyZWN0bHkgYmUgc2V0IGhhcyBiZWVuIGZpeGVkLgorLSBJc3N1ZSAjNjQ5MzogQW4gaXNzdWUgaW4gY3R5cGVzIG9uIFdpbmRvd3MgdGhhdCBjYXVzZWQgc3RydWN0dXJlIGJpdGZpZWxkcyBvZgorICB0eXBlIGBjdHlwZXMuY191aW50MzJgIGFuZCB3aWR0aCAzMiB0byBpbmNvcnJlY3RseSBiZSBzZXQgaGFzIGJlZW4gZml4ZWQuCiAKIC0gSXNzdWUgIzE1MTk0OiBVcGRhdGUgbGliZmZpIHRvIHRoZSAzLjAuMTEgcmVsZWFzZS4KIAorSURMRQorLS0tLQorCistIElzc3VlICMxMzA1MjogRml4IElETEUgY3Jhc2hpbmcgd2hlbiByZXBsYWNlIHN0cmluZyBpbiBTZWFyY2gvUmVwbGFjZSBkaWFsb2cKKyAgZW5kZWQgd2l0aCBgYFxgYC4gIFBhdGNoIGJ5IFJvZ2VyIFNlcnd5LgorCiBUb29scy9EZW1vcwogLS0tLS0tLS0tLS0KIApAQCAtNTYyLDggKzU2MywxMCBAQAogRG9jdW1lbnRhdGlvbgogLS0tLS0tLS0tLS0tLQogCi0tIElzc3VlICMxNTQ0NDogVXNlIHByb3BlciBzcGVsbGluZyBmb3Igbm9uLUFTQ0lJIGNvbnRyaWJ1dG9yIG5hbWVzLiAgUGF0Y2gKLSAgYnkgU2VyaGl5IFN0b3JjaGFrYS4KKy0gSXNzdWUgIzE1MDQxOiBVcGRhdGUgInNlZSBhbHNvIiBsaXN0IGluIHRraW50ZXIgZG9jdW1lbnRhdGlvbi4KKworLSBJc3N1ZSAjMTU0NDQ6IFVzZSBwcm9wZXIgc3BlbGxpbmcgZm9yIG5vbi1BU0NJSSBjb250cmlidXRvciBuYW1lcy4gIFBhdGNoIGJ5CisgIFNlcmhpeSBTdG9yY2hha2EuCiAKIC0gSXNzdWUgIzE1Mjk1OiBSZW9yZ2FuaXplIGFuZCByZXdyaXRlIHRoZSBkb2N1bWVudGF0aW9uIG9uIHRoZSBpbXBvcnQgc3lzdGVtLgogCkBAIC01NzgsMjUgKzU4MSwyOSBAQAogICAiY2hhbmdlZCIgc2luY2UgdGhleSB3aWxsIG5vIGxvbmdlciB3b3JrIHdpdGggbW9kdWxlcyBkaXJlY3RseSBpbXBvcnRlZCBieQogICBpbXBvcnQgaXRzZWxmLgogCi0tIElzc3VlICMxMzU1NzogQ2xhcmlmeSBlZmZlY3Qgb2YgZ2l2aW5nIHR3byBkaWZmZXJlbnQgbmFtZXNwYWNlcyB0byBleGVjIG9yCi0gIGV4ZWNmaWxlKCkuCistIElzc3VlICMxMzU1NzogQ2xhcmlmeSBlZmZlY3Qgb2YgZ2l2aW5nIHR3byBkaWZmZXJlbnQgbmFtZXNwYWNlcyB0byBgZXhlYygpYCBvcgorICBgZXhlY2ZpbGUoKWAuCiAKLS0gSXNzdWUgIzE1MjUwOiBEb2N1bWVudCB0aGF0IGZpbGVjbXAuZGlyY21wIGNvbXBhcmVzIGZpbGVzIHNoYWxsb3dseS4gUGF0Y2gKKy0gSXNzdWUgIzE1MjUwOiBEb2N1bWVudCB0aGF0IGBmaWxlY21wLmRpcmNtcCgpYCBjb21wYXJlcyBmaWxlcyBzaGFsbG93bHkuIFBhdGNoCiAgIGNvbnRyaWJ1dGVkIGJ5IENocmlzIEplcmRvbmVrLgogCistIElzc3VlICMxNTQ0MjogRXhwb3NlIHRoZSBkZWZhdWx0IGxpc3Qgb2YgZGlyZWN0b3JpZXMgaWdub3JlZCBieQorICBgZmlsZWNtcC5kaXJjbXAoKWAgYXMgYSBtb2R1bGUgYXR0cmlidXRlLCBhbmQgZXhwYW5kIHRoZSBsaXN0IHRvIG1vcmUgbW9kZXJuCisgIHZhbHVlcy4KKwogVGVzdHMKIC0tLS0tCiAKLS0gSXNzdWUgIzE1NDY3OiBNb3ZlIGhlbHBlcnMgZm9yIF9fc2l6ZW9mX18gdGVzdHMgaW50byB0ZXN0X3N1cHBvcnQuICBQYXRjaCBieQotICBTZXJoaXkgU3RvcmNoYWthLgorLSBJc3N1ZSAjMTU0Njc6IE1vdmUgaGVscGVycyBmb3IgYF9fc2l6ZW9mX18oKWAgdGVzdHMgaW50byB0ZXN0X3N1cHBvcnQuICBQYXRjaAorICBieSBTZXJoaXkgU3RvcmNoYWthLgogCiAtIElzc3VlICMxNTMyMDogTWFrZSBpdGVyYXRpbmcgdGhlIGxpc3Qgb2YgdGVzdHMgdGhyZWFkLXNhZmUgd2hlbiBydW5uaW5nIHRlc3RzCiAgIGluIG11bHRpcHJvY2VzcyBtb2RlLiBQYXRjaCBieSBDaHJpcyBKZXJkb25lay4KIAotLSBJc3N1ZSAjMTUxNjg6IE1vdmUgaW1wb3J0bGliLnRlc3QgdG8gdGVzdC50ZXN0X2ltcG9ydGxpYi4KKy0gSXNzdWUgIzE1MTY4OiBNb3ZlIGBpbXBvcnRsaWIudGVzdGAgdG8gYHRlc3QudGVzdF9pbXBvcnRsaWJgLgogCiAtIElzc3VlICMxNTA5MTogUmVhY3RpdmF0ZSBhIHRlc3Qgb24gVU5JWCB3aGljaCB3YXMgZmFpbGluZyB0aGFua3MgdG8gYQotICBmb3Jnb3R0ZW4gaW1wb3J0bGliLmludmFsaWRhdGVfY2FjaGVzKCkgY2FsbC4KKyAgZm9yZ290dGVuIGBpbXBvcnRsaWIuaW52YWxpZGF0ZV9jYWNoZXMoKWAgY2FsbC4KIAogLSBJc3N1ZSAjMTUyMzA6IEFkb3B0ZWQgYSBtb3JlIHN5c3RlbWF0aWMgYXBwcm9hY2ggaW4gdGhlIHJ1bnB5IHRlc3RzLgogCkBAIC02MjksNiArNjM2LDggQEAKIAogLSBJc3N1ZSAjMTQwMTg6IEZpeCBPUyBYIFRjbC9UayBmcmFtZXdvcmsgY2hlY2tpbmcgd2hlbiB1c2luZyBPUyBYIFNES3MuCiAKKy0gSXNzdWUgIzE2MjU2OiBPUyBYIGluc3RhbGxlciBub3cgc2V0cyBjb3JyZWN0IHBlcm1pc3Npb25zIGZvciBkb2MgZGlyZWN0b3J5LgorCiAtIElzc3VlICMxNTQzMTogQWRkIF9mcmVlemVfaW1wb3J0bGliIHByb2plY3QgdG8gcmVnZW5lcmF0ZSBpbXBvcnRsaWIuaCBvbgogICBXaW5kb3dzLiBQYXRjaCBieSBLcmlzdGrDoW4gVmFsdXIgSsOzbnNzb24uCiAKQEAgLTY2NCwxNCArNjczLDkgQEAKIAogLSBJc3N1ZSAjMTE2MjY6IEFkZCBfU2l6ZVQgZnVuY3Rpb25zIHRvIHN0YWJsZSBBQkkuCiAKLS0gSXNzdWUgIzE1MTQ2OiBBZGQgUHlUeXBlX0Zyb21TcGVjV2l0aEJhc2VzLiBQYXRjaCBieSBSb2JpbiBTY2hyZWliZXIuCi0KIC0gSXNzdWUgIzE1MTQyOiBGaXggcmVmZXJlbmNlIGxlYWsgd2hlbiBkZWFsbG9jYXRpbmcgaW5zdGFuY2VzIG9mIHR5cGVzCiAgIGNyZWF0ZWQgdXNpbmcgUHlUeXBlX0Zyb21TcGVjKCkuCiAKLS0gSXNzdWUgIzE1MDQyOiBBZGQgUHlTdGF0ZV9BZGRNb2R1bGUgYW5kIFB5U3RhdGVfUmVtb3ZlTW9kdWxlLiBBZGQgdmVyc2lvbgotICBndWFyZCBmb3IgUHlfTElNSVRFRF9BUEkgYWRkaXRpb25zLiBQYXRjaCBieSBSb2JpbiBTY2hyZWliZXIuCi0KIC0gSXNzdWUgIzEwMDUzOiBEb24ndCBjbG9zZSBGRHMgd2hlbiBGaWxlSU8uX19pbml0X18gZmFpbHMuIExvb3NlbHkgYmFzZWQgb24KICAgdGhlIHdvcmsgYnkgSGlyb2thenUgWWFtYW1vdG8uCiAKQEAgLTY5OSw5ICs3MDMsNiBAQAogTGlicmFyeQogLS0tLS0tLQogCi0tIElzc3VlICM5ODAzOiBEb24ndCBjbG9zZSBJRExFIG9uIHNhdmluZyBpZiBicmVha3BvaW50IGlzIG9wZW4uCi0gIFBhdGNoIGJ5IFJvZ2VyIFNlcnd5LgotCiAtIElzc3VlICMxMjI4ODogQ29uc2lkZXIgJzAnIGFuZCAnMC4wJyBhcyB2YWxpZCBpbml0aWFsdmFsdWUKICAgZm9yIHRraW50ZXIgU2ltcGxlRGlhbG9nLgogCkBAIC03MjAsMTQgKzcyMSw4IEBACiAtIElzc3VlICMxNTUxNDogQ29ycmVjdCBfX3NpemVvZl9fIHN1cHBvcnQgZm9yIGNwdV9zZXQuCiAgIFBhdGNoIGJ5IFNlcmhpeSBTdG9yY2hha2EuCiAKLS0gSXNzdWUgIzE1MTg3OiBCdWdmaXg6IHJlbW92ZSB0ZW1wb3JhcnkgZGlyZWN0b3JpZXMgdGVzdF9zaHV0aWwgd2FzIGxlYXZpbmcKLSAgYmVoaW5kLgotCiAtIElzc3VlICMxNTE3NzogQWRkZWQgZGlyX2ZkIHBhcmFtZXRlciB0byBvcy5md2FsaygpLgogCi0tIElzc3VlICMxNTE3NjogQ2xhcmlmaWVkIGJlaGF2aW9yLCBkb2N1bWVudGF0aW9uLCBhbmQgaW1wbGVtZW50YXRpb24KLSAgb2Ygb3MubGlzdGRpcigpLgotCiAtIElzc3VlICMxNTA2MTogUmUtaW1wbGVtZW50ZWQgaG1hYy5jb21wYXJlX2RpZ2VzdCgpIGluIEMgdG8gcHJldmVudCBmdXJ0aGVyCiAgIHRpbWluZyBhbmFseXNpcyBhbmQgdG8gc3VwcG9ydCBhbGwgYnVmZmVyIHByb3RvY29sIGF3YXJlIG9iamVjdHMgYXMgd2VsbCBhcwogICBBU0NJSSBvbmx5IHN0ciBpbnN0YW5jZXMgc2FmZWx5LgpAQCAtODI3LDEwICs4MjIsNiBAQAogLSBJc3N1ZSAjMTUwMDY6IEFsbG93IGVxdWFsaXR5IGNvbXBhcmlzb24gYmV0d2VlbiBuYWl2ZSBhbmQgYXdhcmUKICAgdGltZSBvciBkYXRldGltZSBvYmplY3RzLgogCi0tIElzc3VlICMxNDk4MjogRG9jdW1lbnQgdGhhdCBwa2d1dGlsJ3MgaXRlcmF0aW9uIGZ1bmN0aW9ucyByZXF1aXJlIHRoZQotICBub24tc3RhbmRhcmQgaXRlcl9tb2R1bGVzKCkgbWV0aG9kIHRvIGJlIGRlZmluZWQgYnkgYW4gaW1wb3J0ZXIgKHNvbWV0aGluZwotICB0aGUgaW1wb3J0bGliIGltcG9ydGVycyBkbyBub3QgZGVmaW5lKS4KLQogLSBJc3N1ZSAjMTUwMzY6IE1haWxib3ggbm8gbG9uZ2VyIHRocm93cyBhbiBlcnJvciBpZiBhIGZsdXNoIGlzIGRvbmUKICAgYmV0d2VlbiBvcGVyYXRpb25zIHdoZW4gcmVtb3Zpbmcgb3IgY2hhbmdpbmcgbXVsdGlwbGUgaXRlbXMgaW4gbWJveCwKICAgTU1ERiwgb3IgQmFieWwgbWFpbGJveGVzLgpAQCAtODk4LDkgKzg4OSw2IEBACiAKIC0gSXNzdWUgIzE0OTY5OiBCZXR0ZXIgaGFuZGxpbmcgb2YgZXhjZXB0aW9uIGNoYWluaW5nIGluIGNvbnRleHRsaWIuRXhpdFN0YWNrCiAKLS0gSXNzdWUgIzE0OTYyOiBVcGRhdGUgdGV4dCBjb2xvcmluZyBpbiBJRExFIHNoZWxsIHdpbmRvdyBhZnRlciBjaGFuZ2luZwotICBvcHRpb25zLiAgUGF0Y2ggYnkgUm9nZXIgU2Vyd3kuCi0KIC0gSXNzdWUgIzE0OTYzOiBDb252ZXJ0IGNvbnRleHRsaWIuRXhpdFN0YWNrLl9fZXhpdF9fIHRvIHVzZSBhbiBpdGVyYXRpdmUKICAgYWxnb3JpdGhtIChQYXRjaCBieSBBbG9uIEhvcmV2KQogCkBAIC05MTMsNiArOTAxLDExIEBACiBDLUFQSQogLS0tLS0KIAorLSBJc3N1ZSAjMTUxNDY6IEFkZCBQeVR5cGVfRnJvbVNwZWNXaXRoQmFzZXMuIFBhdGNoIGJ5IFJvYmluIFNjaHJlaWJlci4KKworLSBJc3N1ZSAjMTUwNDI6IEFkZCBQeVN0YXRlX0FkZE1vZHVsZSBhbmQgUHlTdGF0ZV9SZW1vdmVNb2R1bGUuIEFkZCB2ZXJzaW9uCisgIGd1YXJkIGZvciBQeV9MSU1JVEVEX0FQSSBhZGRpdGlvbnMuIFBhdGNoIGJ5IFJvYmluIFNjaHJlaWJlci4KKwogLSBJc3N1ZSAjMTM3ODM6IEluYWR2ZXJ0ZW50IGFkZGl0aW9ucyB0byB0aGUgcHVibGljIEMgQVBJIGluIHRoZSBQRVAgMzgwCiAgIGltcGxlbWVudGF0aW9uIGhhdmUgZWl0aGVyIGJlZW4gcmVtb3ZlZCBvciBtYXJrZWQgYXMgcHJpdmF0ZSBpbnRlcmZhY2VzLgogCkBAIC05MjEsOSArOTE0LDI1IEBACiAKIC0gSXNzdWUgIzE1MDAwOiBTdXBwb3J0IHRoZSAidW5pcXVlIiB4MzIgYXJjaGl0ZWN0dXJlIGluIF9wb3NpeHN1YnByb2Nlc3MuYy4KIAorSURMRQorLS0tLQorCistIElzc3VlICM5ODAzOiBEb24ndCBjbG9zZSBJRExFIG9uIHNhdmluZyBpZiBicmVha3BvaW50IGlzIG9wZW4uCisgIFBhdGNoIGJ5IFJvZ2VyIFNlcnd5LgorCistIElzc3VlICMxNDk2MjogVXBkYXRlIHRleHQgY29sb3JpbmcgaW4gSURMRSBzaGVsbCB3aW5kb3cgYWZ0ZXIgY2hhbmdpbmcKKyAgb3B0aW9ucy4gIFBhdGNoIGJ5IFJvZ2VyIFNlcnd5LgorCiBEb2N1bWVudGF0aW9uCiAtLS0tLS0tLS0tLS0tCiAKKy0gSXNzdWUgIzE1MTc2OiBDbGFyaWZpZWQgYmVoYXZpb3IsIGRvY3VtZW50YXRpb24sIGFuZCBpbXBsZW1lbnRhdGlvbgorICBvZiBvcy5saXN0ZGlyKCkuCisKKy0gSXNzdWUgIzE0OTgyOiBEb2N1bWVudCB0aGF0IHBrZ3V0aWwncyBpdGVyYXRpb24gZnVuY3Rpb25zIHJlcXVpcmUgdGhlCisgIG5vbi1zdGFuZGFyZCBpdGVyX21vZHVsZXMoKSBtZXRob2QgdG8gYmUgZGVmaW5lZCBieSBhbiBpbXBvcnRlciAoc29tZXRoaW5nCisgIHRoZSBpbXBvcnRsaWIgaW1wb3J0ZXJzIGRvIG5vdCBkZWZpbmUpLgorCiAtIElzc3VlICMxNTA4MTogRG9jdW1lbnQgUHlTdGF0ZV9GaW5kTW9kdWxlLgogICBQYXRjaCBieSBSb2JpbiBTY2hyZWliZXIuCiAKQEAgLTkzMiw2ICs5NDEsOSBAQAogVGVzdHMKIC0tLS0tCiAKKy0gSXNzdWUgIzE1MTg3OiBCdWdmaXg6IHJlbW92ZSB0ZW1wb3JhcnkgZGlyZWN0b3JpZXMgdGVzdF9zaHV0aWwgd2FzIGxlYXZpbmcKKyAgYmVoaW5kLgorCiAtIElzc3VlICMxNDc2OTogdGVzdF9jYXBpIG5vdyBoYXMgU2tpcGl0ZW1UZXN0LCB3aGljaCBjbGV2ZXJseSBjaGVja3MKICAgZm9yICJwYXJpdHkiIGJldHdlZW4gUHlBcmdfUGFyc2VUdXBsZSgpIGFuZCB0aGUgUHl0aG9uL2dldGFyZ3MuYyBzdGF0aWMKICAgZnVuY3Rpb24gc2tpcGl0ZW0oKSBmb3IgYWxsIHBvc3NpYmxlICJmb3JtYXQgdW5pdHMiLgpAQCAtMTAyMCwzNCArMTAzMiwxOCBAQAogLSBJc3N1ZSAjMTQ3MDA6IEZpeCB0d28gYnJva2VuIGFuZCB1bmRlZmluZWQtYmVoYXZpb3VyLWluZHVjaW5nIG92ZXJmbG93IGNoZWNrcwogICBpbiBvbGQtc3R5bGUgc3RyaW5nIGZvcm1hdHRpbmcuCiAKLS0gSXNzdWUgIzE0NzA1OiBUaGUgUHlBcmdfUGFyc2UoKSBmYW1pbHkgb2YgZnVuY3Rpb25zIG5vdyBzdXBwb3J0IHRoZSAncCcgZm9ybWF0Ci0gIHVuaXQsIHdoaWNoIGFjY2VwdHMgYSAiYm9vbGVhbiBwcmVkaWNhdGUiIGFyZ3VtZW50LiAgSXQgY29udmVydHMgYW55IFB5dGhvbgotICB2YWx1ZSBpbnRvIGFuIGludGVnZXItLTAgaWYgaXQgaXMgImZhbHNlIiwgYW5kIDEgb3RoZXJ3aXNlLgotCiBMaWJyYXJ5CiAtLS0tLS0tCiAKIC0gSXNzdWUgIzE0NjkwOiBVc2UgbW9ub3RvbmljIGNsb2NrIGluc3RlYWQgb2Ygc3lzdGVtIGNsb2NrIGluIHRoZSBzY2hlZCwKICAgc3VicHJvY2VzcyBhbmQgdHJhY2UgbW9kdWxlcy4KIAotLSBJc3N1ZSAjMTQ5NTg6IENoYW5nZSBJRExFIHN5c3RheCBoaWdobGlnaHRpbmcgdG8gcmVjb2duaXplIGFsbCBzdHJpbmcgYW5kCi0gIGJ5dGUgbGl0ZXJhbHMgc3VwcG9ydGVkIGluIFB5dGhvbiAzLjMuCi0KLS0gSXNzdWUgIzEwOTk3OiBQcmV2ZW50IGEgZHVwbGljYXRlIGVudHJ5IGluIElETEUncyAiUmVjZW50IEZpbGVzIiBtZW51LgotCiAtIElzc3VlICMxNDQ0MzogVGVsbCBycG1idWlsZCB0byB1c2UgdGhlIGNvcnJlY3QgdmVyc2lvbiBvZiBQeXRob24gaW4KICAgYmRpc3RfcnBtLiBJbml0aWFsIHBhdGNoIGJ5IFJvc3MgTGFnZXJ3YWxsLgogCi0tIElzc3VlICMxNDkyOTogU3RvcCBJZGxlIDMueCBmcm9tIGNsb3Npbmcgb24gVW5pY29kZSBkZWNvZGUgZXJyb3JzIHdoZW4KLSAgZ3JlcHBpbmcuIFBhdGNoIGJ5IFJvZ2VyIFNlcnd5LgotCiAtIElzc3VlICMxMjUxNTogZW1haWwgbm93IHJlZ2lzdGVycyBhIGRlZmVjdCBpZiBpdCBnZXRzIHRvIEVPRiB3aGlsZSBwYXJzaW5nCiAgIGEgTUlNRSBwYXJ0IHdpdGhvdXQgc2VlaW5nIHRoZSBjbG9zaW5nIE1JTUUgYm91bmRhcnkuCiAKLS0gSXNzdWUgIzEyNTEwOiBBdHRlbXB0aW5nIHRvIGdldCBpbnZhbGlkIHRvb2x0aXAgbm8gbG9uZ2VyIGNsb3NlcyBJZGxlLgotICBPdGhlciB0b29sdGlwc3MgaGF2ZSBiZWVuIGNvcnJlY3RlZCBvciBpbXByb3ZlZCBhbmQgdGhlIG51bWJlciBvZiB0ZXN0cwotICBoYXMgYmVlbiB0cmlwbGVkLiBPcmlnaW5hbCBwYXRjaCBieSBSb2dlciBTZXJ3eS4KLQogLSBJc3N1ZSAjMTY3MjU2ODogZW1haWwgbm93IGFsd2F5cyBkZWNvZGVzIGJhc2U2NCBwYXlsb2FkcywgYWRkaW5nIHBhZGRpbmcgYW5kCiAgIGlnbm9yaW5nIG5vbi1iYXNlNjQtYWxwaGFiZXQgY2hhcmFjdGVycyBpZiBuZWVkZWQsIGFuZCByZWdpc3RlcmluZyBkZWZlY3RzCiAgIGZvciBhbnkgc3VjaCBwcm9ibGVtcy4KQEAgLTEwODEsOSArMTA3Nyw2IEBACiAtIElzc3VlICMxNDU0ODogTWFrZSBtdWx0aXByb2Nlc3NpbmcgZmluYWxpemVycyBjaGVjayBwaWQgYmVmb3JlCiAgIHJ1bm5pbmcgdG8gY29wZSB3aXRoIHBvc3NpYmlsaXR5IG9mIGdjIHJ1bm5pbmcganVzdCBhZnRlciBmb3JrLgogCi0tIElzc3VlICMxNDg2MzogVXBkYXRlIHRoZSBkb2N1bWVudGF0aW9uIG9mIG9zLmZkb3BlbigpIHRvIHJlZmxlY3QgdGhlCi0gIGZhY3QgdGhhdCBpdCdzIG9ubHkgYSB0aGluIHdyYXBwZXIgYXJvdW5kIG9wZW4oKSBhbnltb3JlLgotCiAtIElzc3VlICMxNDAzNjogQWRkIGFuIGFkZGl0aW9uYWwgY2hlY2sgdG8gdmFsaWRhdGUgdGhhdCBwb3J0IGluIHVybHBhcnNlIGRvZXMKICAgbm90IGdvIGluIGlsbGVnYWwgcmFuZ2UgYW5kIHJldHVybnMgTm9uZS4KIApAQCAtMTIxMCw2ICsxMjAzLDIxIEBACiAtIElzc3VlICMxNDEyNyBhbmQgIzEwMTQ4OiBzaHV0aWwuY29weXN0YXQgbm93IHByZXNlcnZlcyBleGFjdCBtdGltZSBhbmQgYXRpbWUKICAgb24gZmlsZXN5c3RlbXMgcHJvdmlkaW5nIG5hbm9zZWNvbmQgcmVzb2x1dGlvbi4KIAorSURMRQorLS0tLQorCistIElzc3VlICMxNDk1ODogQ2hhbmdlIElETEUgc3lzdGF4IGhpZ2hsaWdodGluZyB0byByZWNvZ25pemUgYWxsIHN0cmluZyBhbmQKKyAgYnl0ZSBsaXRlcmFscyBzdXBwb3J0ZWQgaW4gUHl0aG9uIDMuMy4KKworLSBJc3N1ZSAjMTA5OTc6IFByZXZlbnQgYSBkdXBsaWNhdGUgZW50cnkgaW4gSURMRSdzICJSZWNlbnQgRmlsZXMiIG1lbnUuCisKKy0gSXNzdWUgIzE0OTI5OiBTdG9wIElETEUgMy54IGZyb20gY2xvc2luZyBvbiBVbmljb2RlIGRlY29kZSBlcnJvcnMgd2hlbgorICBncmVwcGluZy4gUGF0Y2ggYnkgUm9nZXIgU2Vyd3kuCisKKy0gSXNzdWUgIzEyNTEwOiBBdHRlbXB0aW5nIHRvIGdldCBpbnZhbGlkIHRvb2x0aXAgbm8gbG9uZ2VyIGNsb3NlcyBJRExFLgorICBPdGhlciB0b29sdGlwc3MgaGF2ZSBiZWVuIGNvcnJlY3RlZCBvciBpbXByb3ZlZCBhbmQgdGhlIG51bWJlciBvZiB0ZXN0cworICBoYXMgYmVlbiB0cmlwbGVkLiBPcmlnaW5hbCBwYXRjaCBieSBSb2dlciBTZXJ3eS4KKwogVG9vbHMvRGVtb3MKIC0tLS0tLS0tLS0tCiAKQEAgLTEyMjgsOSArMTIzNiwxOSBAQAogCiAtIElzc3VlICMxMzIxMDogV2luZG93cyBidWlsZCBub3cgdXNlcyBWUzIwMTAsIHBvcnRlZCBmcm9tIFZTMjAwOC4KIAorQy1BUEkKKy0tLS0tCisKKy0gSXNzdWUgIzE0NzA1OiBUaGUgUHlBcmdfUGFyc2UoKSBmYW1pbHkgb2YgZnVuY3Rpb25zIG5vdyBzdXBwb3J0IHRoZSAncCcgZm9ybWF0CisgIHVuaXQsIHdoaWNoIGFjY2VwdHMgYSAiYm9vbGVhbiBwcmVkaWNhdGUiIGFyZ3VtZW50LiAgSXQgY29udmVydHMgYW55IFB5dGhvbgorICB2YWx1ZSBpbnRvIGFuIGludGVnZXItLTAgaWYgaXQgaXMgImZhbHNlIiwgYW5kIDEgb3RoZXJ3aXNlLgorCiBEb2N1bWVudGF0aW9uCiAtLS0tLS0tLS0tLS0tCiAKKy0gSXNzdWUgIzE0ODYzOiBVcGRhdGUgdGhlIGRvY3VtZW50YXRpb24gb2Ygb3MuZmRvcGVuKCkgdG8gcmVmbGVjdCB0aGUKKyAgZmFjdCB0aGF0IGl0J3Mgb25seSBhIHRoaW4gd3JhcHBlciBhcm91bmQgb3BlbigpIGFueW1vcmUuCisKIC0gSXNzdWUgIzE0NTg4OiBUaGUgbGFuZ3VhZ2UgcmVmZXJlbmNlIG5vdyBhY2N1cmF0ZWx5IGRvY3VtZW50cyB0aGUgUHl0aG9uIDMKICAgY2xhc3MgZGVmaW5pdGlvbiBwcm9jZXNzLiBQYXRjaCBieSBOaWNrIENvZ2hsYW4uCiAKQEAgLTEyNzksOSArMTI5Nyw2IEBACiAtIElzc3VlICMxNDMzOTogU3BlZWQgaW1wcm92ZW1lbnRzIHRvIGJpbiwgb2N0IGFuZCBoZXggZnVuY3Rpb25zLiAgUGF0Y2ggYnkKICAgU2VyaGl5IFN0b3JjaGFrYS4KIAotLSBJc3N1ZSAjMTQwOTg6IE5ldyBmdW5jdGlvbnMgUHlFcnJfR2V0RXhjSW5mbyBhbmQgUHlFcnJfU2V0RXhjSW5mby4KLSAgUGF0Y2ggYnkgU3RlZmFuIEJlaG5lbC4KLQogLSBJc3N1ZSAjMTQzODU6IEl0IGlzIG5vdyBwb3NzaWJsZSB0byB1c2UgYSBjdXN0b20gdHlwZSBmb3IgdGhlIF9fYnVpbHRpbnNfXwogICBuYW1lc3BhY2UsIGluc3RlYWQgb2YgYSBkaWN0LiBJdCBjYW4gYmUgdXNlZCBmb3Igc2FuZGJveGluZyBmb3IgZXhhbXBsZS4KICAgUmFpc2UgYWxzbyBhIE5hbWVFcnJvciBpbnN0ZWFkIG9mIEltcG9ydEVycm9yIGlmIF9fYnVpbGRfY2xhc3NfXyBuYW1lIGlmIG5vdApAQCAtMTQzMSwxMiArMTQ0Niw2IEBACiAKIC0gRG9uJ3QgUHlfREVDUkVGIE5VTEwgdmFyaWFibGUgaW4gaW8uSW5jcmVtZW50YWxOZXdsaW5lRGVjb2Rlci4KIAotLSBJc3N1ZSAjODUxNTogU2V0IF9fZmlsZV9fIHdoZW4gcnVuIGZpbGUgaW4gSURMRS4KLSAgSW5pdGlhbCBwYXRjaCBieSBCcnVjZSBGcmVkZXJpa3Nlbi4KLQotLSBJc3N1ZSAjMTQ0OTY6IEZpeCB3cm9uZyBuYW1lIGluIGlkbGVsaWIvdGFiYmVkcGFnZXMucHkuCi0gIFBhdGNoIGJ5IFBvcGEgQ2xhdWRpdS4KLQogLSBJc3N1ZSAjMzAzMzogQWRkIGRpc3BsYXlvZiBwYXJhbWV0ZXIgdG8gdGtpbnRlciBmb250LiBQYXRjaCBieSBHdWlsaGVybWUgUG9sby4KIAogLSBJc3N1ZSAjMTQ0ODI6IFJhaXNlIGEgVmFsdWVFcnJvciwgbm90IGEgTmFtZUVycm9yLCB3aGVuIHRyeWluZyB0byBjcmVhdGUKQEAgLTE0NzIsNiArMTQ4MSwxNSBAQAogLSBJc3N1ZSAjMTQzNTU6IFJlZ3J0ZXN0IG5vdyBzdXBwb3J0cyB0aGUgc3RhbmRhcmQgdW5pdHRlc3QgdGVzdCBsb2FkaW5nLCBhbmQKICAgd2lsbCB1c2UgaXQgaWYgYSB0ZXN0IGZpbGUgY29udGFpbnMgbm8gYHRlc3RfbWFpbmAgbWV0aG9kLgogCitJRExFCistLS0tCisKKy0gSXNzdWUgIzg1MTU6IFNldCBfX2ZpbGVfXyB3aGVuIHJ1biBmaWxlIGluIElETEUuCisgIEluaXRpYWwgcGF0Y2ggYnkgQnJ1Y2UgRnJlZGVyaWtzZW4uCisKKy0gSXNzdWUgIzE0NDk2OiBGaXggd3JvbmcgbmFtZSBpbiBpZGxlbGliL3RhYmJlZHBhZ2VzLnB5LgorICBQYXRjaCBieSBQb3BhIENsYXVkaXUuCisKIFRvb2xzIC8gRGVtb3MKIC0tLS0tLS0tLS0tLS0KIApAQCAtMTQ4MSw2ICsxNDk5LDEyIEBACiAtIElzc3VlICMxMzE2NTogc3RyaW5nYmVuY2ggaXMgbm93IGF2YWlsYWJsZSBpbiB0aGUgVG9vbHMvc3RyaW5nYmVuY2ggZm9sZGVyLgogICBJdCB1c2VkIHRvIGxpdmUgaW4gaXRzIG93biBTVk4gcHJvamVjdC4KIAorQy1BUEkKKy0tLS0tCisKKy0gSXNzdWUgIzE0MDk4OiBOZXcgZnVuY3Rpb25zIFB5RXJyX0dldEV4Y0luZm8gYW5kIFB5RXJyX1NldEV4Y0luZm8uCisgIFBhdGNoIGJ5IFN0ZWZhbiBCZWhuZWwuCisKIAogV2hhdCdzIE5ldyBpbiBQeXRob24gMy4zLjAgQWxwaGEgMj8KID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkBAIC0xNTMyLDE2ICsxNTU2LDkgQEAKIAogLSBJc3N1ZSAjNTEzNjogZGVwcmVjYXRlIG9sZCwgdW51c2VkIGZ1bmN0aW9ucyBmcm9tIHRraW50ZXIuCiAKLS0gSXNzdWUgIzE0NDA5OiBJRExFIG5vdyBwcm9wZXJseSBleGVjdXRlcyBjb21tYW5kcyBpbiB0aGUgU2hlbGwgd2luZG93Ci0gIHdoZW4gaXQgY2Fubm90IHJlYWQgdGhlIG5vcm1hbCBjb25maWcgZmlsZXMgb24gc3RhcnR1cCBhbmQKLSAgaGFzIHRvIHVzZSB0aGUgYnVpbHQtaW4gZGVmYXVsdCBrZXkgYmluZGluZ3MuCi0gIFRoZXJlIHdhcyBwcmV2aW91c2x5IGEgYnVnIGluIG9uZSBvZiB0aGUgZGVmYXVsdHMuCi0KIC0gSXNzdWUgIzE0NDE2OiBzeXNsb2cgbm93IGRlZmluZXMgdGhlIExPR19PREVMQVkgYW5kIExPR19BVVRIUFJJViBjb25zdGFudHMKICAgaWYgdGhleSBhcmUgZGVmaW5lZCBpbiA8c3lzbG9nLmg+LgogCi0tIElETEUgY2FuIGJlIGxhdW5jaGVkIGFzIHB5dGhvbiAtbSBpZGxlbGliCi0KIC0gSXNzdWUgIzE0Mjk1OiBBZGQgdW5pdHRlc3QubW9jawogCiAtIElzc3VlICM3NjUyOiBBZGQgLS13aXRoLXN5c3RlbS1saWJtcGRlYyBvcHRpb24gdG8gY29uZmlndXJlIGZvciBsaW5raW5nCkBAIC0xNTY3LDkgKzE1ODQsNiBAQAogICB1cCB0aGUgZGVjaW1hbCBtb2R1bGUuIFBlcmZvcm1hbmNlIGdhaW5zIG9mIHRoZSBuZXcgQyBpbXBsZW1lbnRhdGlvbiBhcmUKICAgYmV0d2VlbiAxMHggYW5kIDEwMHgsIGRlcGVuZGluZyBvbiB0aGUgYXBwbGljYXRpb24uCiAKLS0gSXNzdWUgIzM1NzM6IElETEUgaGFuZ3Mgd2hlbiBwYXNzaW5nIGludmFsaWQgY29tbWFuZCBsaW5lIGFyZ3MKLSAgKGRpcmVjdG9yeShpZXMpIGluc3RlYWQgb2YgZmlsZShzKSkgKFBhdGNoIGJ5IEd1aWxoZXJtZSBQb2xvKQotCiAtIElzc3VlICMxNDI2OTogU01UUEQgbm93IGNvbmZvcm1zIHRvIHRoZSBSRkMgYW5kIHJlcXVpcmVzIGEgSEVMTyBjb21tYW5kCiAgIGJlZm9yZSBNQUlMLCBSQ1BULCBvciBEQVRBLgogCkBAIC0xNjAxLDggKzE2MTUsNiBAQAogICBkZW5pYWwgb2Ygc2VydmljZSBkdWUgdG8gaGFzaCBjb2xsaXNpb25zLiAgUGF0Y2ggYnkgRGF2aWQgTWFsY29sbSB3aXRoIHNvbWUKICAgbW9kaWZpY2F0aW9ucyBieSB0aGUgZXhwYXQgcHJvamVjdC4KIAotLSBJc3N1ZSAjMTQyMDA6IElkbGUgc2hlbGwgY3Jhc2ggb24gcHJpbnRpbmcgbm9uLUJNUCB1bmljb2RlIGNoYXJhY3Rlci4KLQogLSBJc3N1ZSAjMTI4MTg6IGZvcm1hdCBhZGRyZXNzIG5vIGxvbmdlciBuZWVkbGVzc2x5IFwgZXNjYXBlcyAoKXMgaW4gbmFtZXMgd2hlbgogICB0aGUgbmFtZSBlbmRzIHVwIGJlaW5nIHF1b3RlZC4KIApAQCAtMTYxOCw4ICsxNjMwLDYgQEAKIAogLSBJc3N1ZSAjOTg5NzEyOiBTdXBwb3J0IHVzaW5nIFRrIHdpdGhvdXQgYSBtYWlubG9vcC4KIAotLSBJc3N1ZSAjNTIxOTogUHJldmVudCBldmVudCBoYW5kbGVyIGNhc2NhZGUgaW4gSURMRS4KLQogLSBJc3N1ZSAjMzgzNTogUmVmdXNlIHRvIHVzZSB1bnRocmVhZGVkIFRjbCBpbiB0aHJlYWRlZCBQeXRob24uCiAKIC0gSXNzdWUgIzI4NDM6IEFkZCBuZXcgVGsgQVBJIHRvIFRraW50ZXIuCkBAIC0xODQ4LDEwICsxODU4LDYgQEAKICAgb24gUE9TSVggc3lzdGVtcyBzdXBwb3J0aW5nIGFub255bW91cyBtZW1vcnkgbWFwcGluZ3MuICBQYXRjaCBieQogICBDaGFybGVzLUZyYW7Dp29pcyBOYXRhbGkuCiAKLS0gSXNzdWUgIzEzNDUyOiBQeVVuaWNvZGVfRW5jb2RlRGVjaW1hbCgpIGRvZXNuJ3Qgc3VwcG9ydCBlcnJvciBoYW5kbGVycwotICBkaWZmZXJlbnQgdGhhbiAic3RyaWN0IiBhbnltb3JlLiBUaGUgY2FsbGVyIHdhcyB1bmFibGUgdG8gY29tcHV0ZSB0aGUKLSAgc2l6ZSBvZiB0aGUgb3V0cHV0IGJ1ZmZlcjogaXQgZGVwZW5kcyBvbiB0aGUgZXJyb3IgaGFuZGxlci4KLQogLSBQRVAgMzE1NSAvIGlzc3VlICMxMzQ0ODogUXVhbGlmaWVkIG5hbWUgZm9yIGNsYXNzZXMgYW5kIGZ1bmN0aW9ucy4KIAogLSBJc3N1ZSAjMTM0MzY6IEZpeCBhIGJvZ3VzIGVycm9yIG1lc3NhZ2Ugd2hlbiBhbiBBU1Qgb2JqZWN0IHdhcyBwYXNzZWQKQEAgLTE5NDIsMTAgKzE5NDgsNiBAQAogCiAtIFBFUCAzMTUxIC8gaXNzdWUgIzEyNTU1OiByZXdvcmtpbmcgdGhlIE9TIGFuZCBJTyBleGNlcHRpb24gaGllcmFyY2h5LgogCi0tIElzc3VlICMxMzU2MDogQWRkIFB5VW5pY29kZV9EZWNvZGVMb2NhbGUoKSwgUHlVbmljb2RlX0RlY29kZUxvY2FsZUFuZFNpemUoKQotICBhbmQgUHlVbmljb2RlX0VuY29kZUxvY2FsZSgpIGZ1bmN0aW9ucyB0byB0aGUgQyBBUEkgdG8gZGVjb2RlL2VuY29kZSBmcm9tL3RvCi0gIHRoZSBjdXJyZW50IGxvY2FsZSBlbmNvZGluZy4KLQogLSBBZGQgaW50ZXJuYWwgQVBJIGZvciBzdGF0aWMgc3RyaW5ncyAoX1B5X2lkZW50aWZpZXIgZXQgYWwuKS4KIAogLSBJc3N1ZSAjMTMwNjM6IHRoZSBXaW5kb3dzIGVycm9yIEVSUk9SX05PX0RBVEEgKG51bWJlcmVkIDIzMiBhbmQgZGVzY3JpYmVkCkBAIC0yMDI4LDcgKzIwMzAsNyBAQAogICBkZWFsbG9jYXRvciBjYWxscyBvbmUgb2YgdGhlIG1ldGhvZHMgb24gdGhlIHR5cGUgKGUuZy4gd2hlbiBzdWJjbGFzc2luZwogICBJT0Jhc2UpLiAgRGlhZ25vc2lzIGFuZCBwYXRjaCBieSBEYXZpZGUgUml6em8uCiAKLS0gSXNzdWUgIzk2MTEsICM5MDE1OiBGaWxlSU8ucmVhZCgpIGNsYW1wcyB0aGUgbGVuZ3RoIHRvIElOVF9NQVggb24gV2luZG93cy4KKy0gSXNzdWUgIzk2MTEsIElzc3VlICM5MDE1OiBGaWxlSU8ucmVhZCgpIGNsYW1wcyB0aGUgbGVuZ3RoIHRvIElOVF9NQVggb24gV2luZG93cy4KIAogLSBJc3N1ZSAjOTY0MjogVW5pZm9ybWl6ZSB0aGUgdGVzdHMgb24gdGhlIGF2YWlsYWJpbGl0eSBvZiB0aGUgbWJjcyBjb2RlYywgYWRkCiAgIGEgbmV3IEhBVkVfTUJDUyBkZWZpbmUuCkBAIC0yMTkxLDE3ICsyMTkzLDExIEBACiAgIFB5VW5pY29kZV9Bc1VURjhTdHJpbmcoKSBhbmQgUHlVbmljb2RlX0FzRW5jb2RlZFN0cmluZyh1bmljb2RlLCAidXRmLTgiLAogICBOVUxMKS4KIAotLSBJc3N1ZSAjMTA4MzE6IFB5VW5pY29kZV9Gcm9tRm9ybWF0KCkgc3VwcG9ydHMgJWxpLCAlbGxpIGFuZCAlemkgZm9ybWF0cy4KLQogLSBJc3N1ZSAjMTA4Mjk6IFJlZmFjdG9yIFB5VW5pY29kZV9Gcm9tRm9ybWF0KCksIHVzZSB0aGUgc2FtZSBmdW5jdGlvbiB0byBwYXJzZQogICB0aGUgZm9ybWF0IHN0cmluZyBpbiB0aGUgMyBzdGVwcywgZml4IGNyYXNocyBvbiBpbnZhbGlkIGZvcm1hdCBzdHJpbmdzLgogCiAtIElzc3VlICMxMzAwNzogd2hpY2hkYiBzaG91bGQgcmVjb2duaXplIGdkYm0gMS45IG1hZ2ljIG51bWJlcnMuCiAKLS0gSXNzdWUgIzExMjQ2OiBGaXggUHlVbmljb2RlX0Zyb21Gb3JtYXQoIiVWIikgdG8gZGVjb2RlIHRoZSBieXRlIHN0cmluZyBmcm9tCi0gIFVURi04ICh3aXRoIHJlcGxhY2UgZXJyb3IgaGFuZGxlcikgaW5zdGVhZCBvZiBJU08tODg1OS0xIChpbiBzdHJpY3QgbW9kZSkuCi0gIFBhdGNoIHdyaXR0ZW4gYnkgUmF5IEFsbGVuLgotCiAtIElzc3VlICMxMTI4NjogUmFpc2UgYSBWYWx1ZUVycm9yIGZyb20gY2FsbGluZyBQeU1lbW9yeVZpZXdfRnJvbUJ1ZmZlciB3aXRoCiAgIGEgYnVmZmVyIHN0cnVjdCBoYXZpbmcgYSBOVUxMIGRhdGEgcG9pbnRlci4KIApAQCAtMjIxMSw5ICsyMjA3LDYgQEAKIC0gSXNzdWUgIzExODI4OiBzdGFydHN3aXRoIGFuZCBlbmRzd2l0aCBub3cgYWNjZXB0IE5vbmUgYXMgc2xpY2UgaW5kZXguCiAgIFBhdGNoIGJ5IFRvcnN0ZW4gQmVja2VyLgogCi0tIElzc3VlICMxMDgzMDogRml4IFB5VW5pY29kZV9Gcm9tRm9ybWF0VigiJWMiKSBmb3Igbm9uLUJNUCBjaGFyYWN0ZXJzIG9uCi0gIG5hcnJvdyBidWlsZC4KLQogLSBJc3N1ZSAjMTExNjg6IFJlbW92ZSBmaWxlbmFtZSBkZWJ1ZyB2YXJpYWJsZSBmcm9tIFB5RXZhbF9FdmFsRnJhbWVFeCgpLgogICBJdCBlbmNvZGVkIHRoZSBVbmljb2RlIGZpbGVuYW1lIHRvIFVURi04LCBidXQgdGhlIGVuY29kaW5nIGZhaWxzIG9uCiAgIHVuZGVjb2RhYmxlIGZpbGVuYW1lIChvbiBzdXJyb2dhdGUgY2hhcmFjdGVycykgd2hpY2ggcmFpc2VzIGFuIHVuZXhwZWN0ZWQKQEAgLTIyNTUsMTUgKzIyNDgsOSBAQAogICBhcmUgZGVhZCBvciBkeWluZy4gIE1vcmVvdmVyLCB0aGUgaW1wbGVtZW50YXRpb24gaXMgbm93IE8oMSkgcmF0aGVyIHRoYW4KICAgTyhuKS4KIAotLSBJc3N1ZSAjMTMxMjU6IFNpbGVuY2Ugc3B1cmlvdXMgdGVzdF9saWIydG8zIG91dHB1dCB3aGVuIGluIG5vbi12ZXJib3NlIG1vZGUuCi0gIFBhdGNoIGJ5IE1pa2hhaWwgTm92aWtvdi4KLQogLSBJc3N1ZSAjMTE4NDE6IEZpeCBjb21wYXJpc29uIGJ1ZyB3aXRoICdyYycgdmVyc2lvbnMgaW4gcGFja2FnaW5nLnZlcnNpb24uCiAgIFBhdGNoIGJ5IEZpbGlwIEdydXN6Y3p5xYRza2kuCiAKLS0gSXNzdWUgIzEzNDQ3OiBBZGQgYSB0ZXN0IGZpbGUgdG8gaG9zdCByZWdyZXNzaW9uIHRlc3RzIGZvciBidWdzIGluIHRoZQotICBzY3JpcHRzIGZvdW5kIGluIHRoZSBUb29scyBkaXJlY3RvcnkuCi0KIC0gSXNzdWUgIzY4ODQ6IEZpeCBsb25nLXN0YW5kaW5nIGJ1Z3Mgd2l0aCBNQU5JRkVTVC5pbiBwYXJzaW5nIGluIGRpc3R1dGlscwogICBvbiBXaW5kb3dzLiAgQWxzbyBmaXhlZCBpbiBwYWNrYWdpbmcuCiAKQEAgLTIzMTksOSArMjMwNiw2IEBACiAgIGF1dGhlbnRpY2F0aW5nIChzaW5jZSB0aGUgcmVzdWx0IG1heSBjaGFuZ2UsIGFjY29yZGluZyB0byBSRkMgNDY0MykuCiAgIFBhdGNoIGJ5IEh5bmVrIFNjaGxhd2Fjay4KIAotLSBJc3N1ZSAjMTM5ODk6IERvY3VtZW50IHRoYXQgR3ppcEZpbGUgZG9lcyBub3Qgc3VwcG9ydCB0ZXh0IG1vZGUsIGFuZCBnaXZlIGEKLSAgbW9yZSBoZWxwZnVsIGVycm9yIG1lc3NhZ2Ugd2hlbiBvcGVuZWQgd2l0aCBhbiBpbnZhbGlkIG1vZGUgc3RyaW5nLgotCiAtIElzc3VlICMxMzU5MDogT24gT1MgWCAxMC43IGFuZCAxMC42IHdpdGggWGNvZGUgNC4yLCBidWlsZGluZwogICBEaXN0dXRpbHMtYmFzZWQgcGFja2FnZXMgd2l0aCBDIGV4dGVuc2lvbiBtb2R1bGVzIG1heSBmYWlsIGJlY2F1c2UKICAgQXBwbGUgaGFzIHJlbW92ZWQgZ2NjLTQuMiwgdGhlIHZlcnNpb24gdXNlZCB0byBidWlsZCBweXRob24ub3JnCkBAIC0yMzM4LDEwICsyMzIyLDYgQEAKIC0gSXNzdWUgIzEzOTYwOiBIVE1MUGFyc2VyIGlzIG5vdyBhYmxlIHRvIGhhbmRsZSBicm9rZW4gY29tbWVudHMgd2hlbgogICBzdHJpY3Q9RmFsc2UuCiAKLS0gSXNzdWUgIzEzOTIxOiBVbmRvY3VtZW50IGFuZCBjbGVhbiB1cCBzcWxpdGUzLk9wdGltaXplZFVuaWNvZGUsCi0gIHdoaWNoIGlzIG9ic29sZXRlIGluIFB5dGhvbiAzLnguIEl0J3Mgbm93IGFsaWFzZWQgdG8gc3RyIGZvcgotICBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS4KLQogLSBXaGVuICcnIGlzIGEgcGF0aCAoZS5nLiBpbiBzeXMucGF0aCksIG1ha2Ugc3VyZSBfX2ZpbGVfXyB1c2VzIHRoZSBjdXJyZW50CiAgIHdvcmtpbmcgZGlyZWN0b3J5IGluc3RlYWQgb2YgJycgaW4gaW1wb3J0bGliLgogCkBAIC0yMzYzLDExICsyMzQzLDYgQEAKIC0gSXNzdWUgIzEwODExOiBGaXggcmVjdXJzaXZlIHVzYWdlIG9mIGN1cnNvcnMuIEluc3RlYWQgb2YgY3Jhc2hpbmcsCiAgIHJhaXNlIGEgUHJvZ3JhbW1pbmdFcnJvciBub3cuCiAKLS0gSXNzdWUgIzEwODgxOiBGaXggdGVzdF9zaXRlIGZhaWx1cmUgd2l0aCBPUyBYIGZyYW1ld29yayBidWlsZHMuCi0KLS0gSXNzdWUgIzk2NDQzNzogTWFrZSBJRExFIGhlbHAgd2luZG93IG5vbi1tb2RhbC4KLSAgUGF0Y2ggYnkgR3VpbGhlcm1lIFBvbG8gYW5kIFJvZ2VyIFNlcnd5LgotCiAtIElzc3VlICMxMzczNDogQWRkIG9zLmZ3YWxrKCksIGEgZGlyZWN0b3J5IHdhbGtpbmcgZnVuY3Rpb24geWllbGRpbmcgZmlsZQogICBkZXNjcmlwdG9ycy4KIApAQCAtMjM3NywxNiArMjM1Miw4IEBACiAKIC0gSXNzdWUgIzExODA1OiBwYWNrYWdlX2RhdGEgaW4gc2V0dXAuY2ZnIHNob3VsZCBhbGxvdyBtb3JlIHRoYW4gb25lIHZhbHVlLgogCi0tIElzc3VlICMxMzkzMzogSURMRSBhdXRvLWNvbXBsZXRlIGRpZCBub3Qgd29yayB3aXRoIHNvbWUgaW1wb3J0ZWQKLSAgbW9kdWxlLCBsaWtlIGhhc2hsaWIuICAoUGF0Y2ggYnkgUm9nZXIgU2Vyd3kpCi0KLS0gSXNzdWUgIzEzOTAxOiBQcmV2ZW50IHRlc3RfZGlzdHV0aWxzIGZhaWx1cmVzIG9uIE9TIFggd2l0aCAtLWVuYWJsZS1zaGFyZWQuCi0KIC0gSXNzdWUgIzEzNjc2OiBIYW5kbGUgc3RyaW5ncyB3aXRoIGVtYmVkZGVkIHplcm9zIGNvcnJlY3RseSBpbiBzcWxpdGUzLgogCi0tIElzc3VlICMxMzUwNjogQWRkICcnIHRvIHBhdGggZm9yIElETEUgU2hlbGwgd2hlbiBzdGFydGVkIGFuZCByZXN0YXJ0ZWQgd2l0aCBSZXN0YXJ0IFNoZWxsLgotICBPcmlnaW5hbCBwYXRjaGVzIGJ5IE1hcmNvIFNjYXRhZ2xpbmkgYW5kIFJvZ2VyIFNlcnd5LgotCiAtIElzc3VlICM4ODI4OiBBZGQgbmV3IGZ1bmN0aW9uIG9zLnJlcGxhY2UoKSwgZm9yIGNyb3NzLXBsYXRmb3JtIHJlbmFtaW5nCiAgIHdpdGggb3ZlcndyaXRpbmcuCiAKQEAgLTI0MDcsMTIgKzIzNzQsNiBAQAogICBPU0Vycm9yIGlmIGxvY2FsdGltZSgpIGZhaWxlZC4gdGltZS5jbG9jaygpIG5vdyByYWlzZXMgYSBSdW50aW1lRXJyb3IgaWYgdGhlCiAgIHByb2Nlc3NvciB0aW1lIHVzZWQgaXMgbm90IGF2YWlsYWJsZSBvciBpdHMgdmFsdWUgY2Fubm90IGJlIHJlcHJlc2VudGVkCiAKLS0gSXNzdWUgIzEzODYyOiBGaXggc3B1cmlvdXMgZmFpbHVyZSBpbiB0ZXN0X3psaWIgZHVlIHRvIHJ1bnRpbWUvY29tcGlsZSB0aW1lCi0gIG1pbm9yIHZlcnNpb25zIG5vdCBtYXRjaGluZy4KLQotLSBJc3N1ZSAjMTI4MDQ6IEZpeCB0ZXN0X3NvY2tldCBhbmQgdGVzdF91cmxsaWIybmV0IGZhaWx1cmVzIHdoZW4gcnVubmluZyB0ZXN0cwotICBvbiBhIHN5c3RlbSB3aXRob3V0IGludGVybmV0IGFjY2Vzcy4KLQogLSBJc3N1ZSAjMTM3NzI6IEluIG9zLnN5bWxpbmsoKSB1bmRlciBXaW5kb3dzLCBkbyBub3QgdHJ5IHRvIGd1ZXNzIHRoZSBsaW5rCiAgIHRhcmdldCdzIHR5cGUgKGZpbGUgb3IgZGlyZWN0b3J5KS4gIFRoZSBkZXRlY3Rpb24gd2FzIGJ1Z2d5IGFuZCBtYWRlIHRoZQogICBjYWxsIG5vbi1hdG9taWMgKHRoZXJlZm9yZSBwcm9uZSB0byByYWNlIGNvbmRpdGlvbnMpLgpAQCAtMjQzOSw5ICsyNDAwLDYgQEAKIC0gSXNzdWUgIzEzNjQyOiBVbnF1b3RlIGJlZm9yZSBiNjRlbmNvZGluZyB1c2VyOnBhc3N3b3JkIGR1cmluZyBCYXNpYwogICBBdXRoZW50aWNhdGlvbi4gUGF0Y2ggY29udHJpYnV0ZWQgYnkgSm9vbmFzIEt1b3JpbGVodG8uCiAKLS0gSXNzdWUgIzEzNzI2OiBGaXggdGhlIGFtYmlndW91cyAtUyBmbGFnIGluIHJlZ3J0ZXN0LiBJdCBpcyAtby8tLXNsb3cgZm9yIHNsb3cKLSAgdGVzdHMuCi0KIC0gSXNzdWUgIzEyMzY0OiBGaXggYSBoYW5nIGluIGNvbmN1cnJlbnQuZnV0dXJlcy5Qcm9jZXNzUG9vbEV4ZWN1dG9yLgogICBUaGUgaGFuZyB3b3VsZCBvY2N1ciB3aGVuIHJldHJpZXZpbmcgdGhlIHJlc3VsdCBvZiBhIHNjaGVkdWxlZCBmdXR1cmUgYWZ0ZXIKICAgdGhlIGV4ZWN1dG9yIGhhZCBiZWVuIHNodXQgZG93bi4KQEAgLTI1MjQsMTAgKzI0ODIsNiBAQAogLSBJc3N1ZSAjMTM1OTE6IEEgYnVnIGluIGltcG9ydGxpYiBoYXMgYmVlbiBmaXhlZCB0aGF0IGNhdXNlZCBpbXBvcnRfbW9kdWxlCiAgIHRvIGxvYWQgYSBtb2R1bGUgdHdpY2UuCiAKLS0gSXNzdWUgIzQ2MjU6IElmIElETEUgY2Fubm90IHdyaXRlIHRvIGl0cyByZWNlbnQgZmlsZSBvciBicmVha3BvaW50IGZpbGVzLAotICBkaXNwbGF5IGEgbWVzc2FnZSBwb3B1cCBhbmQgY29udGludWUgcmF0aGVyIHRoYW4gY3Jhc2guICBPcmlnaW5hbCBwYXRjaCBieQotICBSb2dlciBTZXJ3eS4KLQogLSBJc3N1ZSAjMTM0NDkgc2NoZWQuc2NoZWR1bGVyLnJ1bigpIG1ldGhvZCBoYXMgYSBuZXcgImJsb2NraW5nIiBwYXJhbWV0ZXIgd2hpY2gKICAgd2hlbiBzZXQgdG8gRmFsc2UgbWFrZXMgcnVuKCkgZXhlY3V0ZSB0aGUgc2NoZWR1bGVkIGV2ZW50cyBkdWUgdG8gZXhwaXJlCiAgIHNvb25lc3QgKGlmIGFueSkgYW5kIHRoZW4gcmV0dXJuLiAgUGF0Y2ggYnkgR2lhbXBhb2xvIFJvZG9sw6AuCkBAIC0yNTQ0LDEyICsyNDk4LDkgQEAKICAgJ2ltcG9ydGxpYi5hYmMuUHlQeWNMb2FkZXInLCAnbm50cGxpYi5OTlRQLnhndGl0bGUnLCAnbm50cGxpYi5OTlRQLnhwYXRoJywKICAgYW5kIHByaXZhdGUgYXR0cmlidXRlcyBvZiAnc210cGQuU01UUENoYW5uZWwnLgogCi0tIElzc3VlICM1OTA1LCAjMTM1NjA6IHRpbWUuc3RyZnRpbWUoKSBpcyBub3cgdXNpbmcgdGhlIGN1cnJlbnQgbG9jYWxlCistIElzc3VlICM1OTA1LCBJc3N1ZSAjMTM1NjA6IHRpbWUuc3RyZnRpbWUoKSBpcyBub3cgdXNpbmcgdGhlIGN1cnJlbnQgbG9jYWxlCiAgIGVuY29kaW5nLCBpbnN0ZWFkIG9mIFVURi04LCBpZiB0aGUgd2NzZnRpbWUoKSBmdW5jdGlvbiBpcyBub3QgYXZhaWxhYmxlLgogCi0tIElzc3VlICM4NjQxOiBVcGRhdGUgSURMRSAzIHN5bnRheCBjb2xvcmluZyB0byByZWNvZ25pemUgYiIuLiIgYW5kIG5vdCB1Ii4uIi4KLSAgUGF0Y2ggYnkgVGFsIEVpbmF0LgotCiAtIElzc3VlICMxMzQ2NDogQWRkIGEgcmVhZGludG8oKSBtZXRob2QgdG8gaHR0cC5jbGllbnQuSFRUUFJlc3BvbnNlLiAgUGF0Y2gKICAgYnkgSm9uIEt1aG4uCiAKQEAgLTI2NjEsOSArMjYxMiw2IEBACiAtIElzc3VlICMxMDgxNzogRml4IHVybHJldHJpZXZlIGZ1bmN0aW9uIHRvIHJhaXNlIENvbnRlbnRUb29TaG9ydEVycm9yIGV2ZW4KICAgd2hlbiByZXBvcnRob29rIGlzIE5vbmUuIFBhdGNoIGJ5IEp5cmtpIFB1bGxpYWluZW4uCiAKLS0gSXNzdWUgIzEzMjk2OiBGaXggSURMRSB0byBjbGVhciBjb21waWxlIF9fZnV0dXJlX18gZmxhZ3Mgb24gc2hlbGwgcmVzdGFydC4KLSAgKFBhdGNoIGJ5IFJvZ2VyIFNlcnd5KQotCiAtIEZpeCB0aGUgeG1scnBjLmNsaWVudCB1c2VyIGFnZW50IHRvIHJldHVybiBzb21ldGhpbmcgc2ltaWxhciB0bwogICB1cmxsaWIucmVxdWVzdCB1c2VyIGFnZW50OiAiUHl0aG9uLXhtbHJwYy8zLjMiLgogCkBAIC0yNzY2LDEwICsyNzE0LDYgQEAKIC0gSXNzdWUgIzEzMDM0OiBXaGVuIGRlY29kaW5nIHNvbWUgU1NMIGNlcnRpZmljYXRlcywgdGhlIHN1YmplY3RBbHROYW1lCiAgIGV4dGVuc2lvbiBjb3VsZCBiZSB1bnJlcG9ydGVkLgogCi0tIElzc3VlICM5ODcxOiBQcmV2ZW50IElETEUgMyBjcmFzaCB3aGVuIGdpdmVuIGJ5dGUgc3RpbmdzCi0gIHdpdGggaW52YWxpZCBoZXggZXNjYXBlIHNlcXVlbmNlcywgbGlrZSBiJ1x4MCcuCi0gIChPcmlnaW5hbCBwYXRjaCBieSBDbGF1ZGl1IFBvcGEuKQotCiAtIElzc3VlICMxMjMwNjogRXhwb3NlIHRoZSBydW50aW1lIHZlcnNpb24gb2YgdGhlIHpsaWIgQyBsaWJyYXJ5IGFzIGEgY29uc3RhbnQsCiAgIFpMSUJfUlVOVElNRV9WRVJTSU9OLCBpbiB0aGUgemxpYiBtb2R1bGUuIFBhdGNoIGJ5IFRvcnN0ZW4gTGFuZHNjaG9mZi4KIApAQCAtMjc5OCw4ICsyNzQyLDYgQEAKIAogLSBJc3N1ZSAjMTI4Nzg6IEV4cG9zZSBhIF9fZGljdF9fIGF0dHJpYnV0ZSBvbiBpby5JT0Jhc2UgYW5kIGl0cyBzdWJjbGFzc2VzLgogCi0tIElzc3VlICMxMjYzNjogSURMRSByZWFkcyB0aGUgY29kaW5nIGNvb2tpZSB3aGVuIGV4ZWN1dGluZyBhIFB5dGhvbiBzY3JpcHQuCi0KIC0gSXNzdWUgIzEyNDk0OiBPbiBlcnJvciwgY2FsbCgpLCBjaGVja19jYWxsKCksIGNoZWNrX291dHB1dCgpIGFuZAogICBnZXRzdGF0dXNvdXRwdXQoKSBmdW5jdGlvbnMgb2YgdGhlIHN1YnByb2Nlc3MgbW9kdWxlIG5vdyBraWxsIHRoZSBwcm9jZXNzLAogICByZWFkIGl0cyBzdGF0dXMgKHRvIGF2b2lkIHpvbWJpcykgYW5kIGNsb3NlIHBpcGVzLgpAQCAtMjg2OSw5ICsyODExLDYgQEAKIAogLSBJc3N1ZSAjMTAwODc6IEZpeCB0aGUgaHRtbCBvdXRwdXQgZm9ybWF0IG9mIHRoZSBjYWxlbmRhciBtb2R1bGUuCiAKLS0gSXNzdWUgIzEyNTQwOiBQcmV2ZW50IHpvbWJpZSBJRExFIHByb2Nlc3NlcyBvbiBXaW5kb3dzIGR1ZSB0byBjaGFuZ2VzCi0gIGluIG9zLmtpbGwoKS4KLQogLSBJc3N1ZSAjMTMxMjE6IGFkZCBzdXBwb3J0IGZvciBpbnBsYWNlIG1hdGggb3BlcmF0b3JzIHRvIGNvbGxlY3Rpb25zLkNvdW50ZXIuCiAKIC0gQWRkIHN1cHBvcnQgZm9yIHVuYXJ5IHBsdXMgYW5kIHVuYXJ5IG1pbnVzIHRvIGNvbGxlY3Rpb25zLkNvdW50ZXIuCkBAIC0yOTAzLDcgKzI4NDIsNyBAQAogICBDb25kaXRpb24sIGV0Yy4pIHVzZWQgdG8gYmUgZmFjdG9yeSBmdW5jdGlvbnMgcmV0dXJuaW5nIGluc3RhbmNlcyBvZiBoaWRkZW4KICAgY2xhc3NlcyAoX0V2ZW50LCBfQ29uZGl0aW9uLCBldGMuKSwgYmVjYXVzZSAoaWYgR3VpZG8gcmVjYWxscyBjb3JyZWN0bHkpIHRoaXMKICAgY29kZSBwcmUtZGF0ZXMgdGhlIGFiaWxpdHkgdG8gc3ViY2xhc3MgZXh0ZW5zaW9uIHR5cGVzLiAgSXQgaXMgbm93IHBvc3NpYmxlCi0gIHRvIGluaGVyaXQgZnJvbSB0aGVzZSBjbGFzc2VzIHdpdGhvdXQgaGF2aW5nIHRvIGltcG9ydCB0aGUgcHJpdmF0ZQorICB0byBpbmhlcml0IGZyb20gdGhlc2UgY2xhc3Nlcywgd2l0aG91dCBoYXZpbmcgdG8gaW1wb3J0IHRoZSBwcml2YXRlCiAgIHVuZGVyc2NvcmVkIG5hbWVzIGxpa2UgbXVsdGlwcm9jZXNzaW5nIGRpZC4KIAogLSBJc3N1ZSAjOTcyMzogQWRkIHNobGV4LnF1b3RlIGZ1bmN0aW9ucywgdG8gZXNjYXBlIGZpbGVuYW1lcyBhbmQgY29tbWFuZApAQCAtMjkxNywxNCArMjg1Niw4IEBACiAtIElzc3VlICMxMjYwNzogSW4gc3VicHJvY2VzcywgZml4IGlzc3VlIHdoZXJlIGlmIHN0ZGluLCBzdGRvdXQgb3Igc3RkZXJyIGlzCiAgIGdpdmVuIGFzIGEgbG93IGZkLCBpdCBnZXRzIG92ZXJ3cml0dGVuLgogCi0tIElzc3VlICMxMjU5MDogSURMRSBlZGl0b3Igd2luZG93IG5vdyBhbHdheXMgZGlzcGxheXMgdGhlIGZpcnN0IGxpbmUKLSAgd2hlbiBvcGVuaW5nIGEgbG9uZyBmaWxlLiAgV2l0aCBUayA4LjUsIHRoZSBmaXJzdCBsaW5lIHdhcyBoaWRkZW4uCi0KIC0gSXNzdWUgIzEyNTc2OiBGaXggdXJsb3BlbiBiZWhhdmlvciBvbiBzaXRlcyB3aGljaCBkbyBub3Qgc2VuZCAob3Igb2JmdXNjYXRlcykKLSAgQ29ubmVjdGlvbjpjbG9zZSBoZWFkZXIuCi0KLS0gSXNzdWUgIzEyMTAyOiBEb2N1bWVudCB0aGF0IGJ1ZmZlcmVkIGZpbGVzIG11c3QgYmUgZmx1c2hlZCBiZWZvcmUgYmVpbmcgdXNlZAotICB3aXRoIG1tYXAuIFBhdGNoIGJ5IFN0ZWZmZW4gRGFvZGUgTnVycG1lc28uCisgIGBgQ29ubmVjdGlvbjogY2xvc2VgYCBoZWFkZXIuCiAKIC0gSXNzdWUgIzEyNTYwOiBCdWlsZCBsaWJweXRob24uc28gb24gT3BlbkJTRC4gUGF0Y2ggYnkgU3RlZmFuIFNwZXJsaW5nLgogCkBAIC0zMTc5LDcgKzMxMTIsNyBAQAogLSBJc3N1ZSAjMTIxNzU6IEZpbGVJTy5yZWFkYWxsKCkgbm93IHJhaXNlcyBhIFZhbHVlRXJyb3IgaW5zdGVhZCBvZiBhbiBJT0Vycm9yCiAgIGlmIHRoZSBmaWxlIGlzIGNsb3NlZC4KIAotLSBJc3N1ZSAjMTExMDk6IE5ldyBzZXJ2aWNlX2FjdGlvbiBtZXRob2QgZm9yIEJhc2VTZXJ2ZXIsIHVzZWQgYnkgRm9ya2luZ01peEluCistIElzc3VlICMxMTEwOTogTmV3IHNlcnZpY2VfYWN0aW9uIG1ldGhvZCBmb3IgQmFzZVNlcnZlciwgdXNlZCBieSBGb3JraW5nTWl4aW4KICAgY2xhc3MgZm9yIGNsZWFudXAuIEluaXRpYWwgUGF0Y2ggYnkgSnVzdGluIFdhcmtlbnRpbi4KIAogLSBJc3N1ZSAjMTIwNDU6IEF2b2lkIGR1cGxpY2F0ZSBleGVjdXRpb24gb2YgY29tbWFuZCBpbgpAQCAtMzIyNCw5ICszMTU3LDYgQEAKICAgcGFzc2luZyBhIGBgY29udGV4dGBgIGFyZ3VtZW50IHBvaW50aW5nIHRvIGFuIHNzbC5TU0xDb250ZXh0IGluc3RhbmNlLgogICBQYXRjaCBieSBLYXN1biBIZXJhdGguCiAKLS0gSXNzdWUgIzExMDg4OiBkb24ndCBjcmFzaCB3aGVuIHVzaW5nIEY1IHRvIHJ1biBhIHNjcmlwdCBpbiBJRExFIG9uIE1hY09TWAotICB3aXRoIFRrIDguNS4KLQogLSBJc3N1ZSAjOTUxNjogSXNzdWUgIzk1MTY6IGF2b2lkIGVycm9ycyBpbiBzeXNjb25maWcgd2hlbiBNQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVQKICAgaXMgc2V0IGluIHNoZWxsLgogCkBAIC0zMjQ2LDEwICszMTc2LDYgQEAKIC0gSXNzdWUgIzk5NzE6IFdyaXRlIGFuIG9wdGltaXplZCBpbXBsZW1lbnRhdGlvbiBvZiBCdWZmZXJlZFJlYWRlci5yZWFkaW50bygpLgogICBQYXRjaCBieSBKb2huIE8nQ29ubm9yLgogCi0tIElzc3VlICMxMDI4OiBUayByZXR1cm5zIGludmFsaWQgVW5pY29kZSBudWxsIGluICVBOiBVbmljb2RlRGVjb2RlRXJyb3IuCi0gIFdpdGggVGsgPCA4LjUgX3RraW50ZXIuYzpQeXRob25DbWQoKSByYWlzZWQgVW5pY29kZURlY29kZUVycm9yLCBjYXVzZWQKLSAgSURMRSB0byBleGl0LiAgQ29udmVydGVkIHRvIHZhbGlkIFVuaWNvZGUgbnVsbCBpbiBQeXRob25DbWQoKS4KLQogLSBJc3N1ZSAjMTE3OTk6IHVybGxpYi5yZXF1ZXN0IEF1dGhlbnRpY2F0aW9uIEhhbmRsZXJzIHdpbGwgcmFpc2UgYSBWYWx1ZUVycm9yCiAgIHdoZW4gcHJlc2VudGVkIHdpdGggYW4gdW5zdXBwb3J0ZWQgQXV0aGVudGljYXRpb24gU2NoZW1lLiBQYXRjaCBjb250cmlidXRlZAogICBieSBZdXZhbCBHcmVlbmZpZWxkLgpAQCAtMzQ4NiwxMiArMzQxMiwxMiBAQAogCiAtIElzc3VlICM3NjM5OiBGaXggc2hvcnQgZmlsZSBuYW1lIGdlbmVyYXRpb24gaW4gYmRpc3RfbXNpCiAKLS0gSXNzdWUgIzExNjU5OiBGaXggUmVzb3VyY2VXYXJuaW5nIGluIHRlc3Rfc3VicHJvY2VzcyBpbnRyb2R1Y2VkIGJ5ICMxMTQ1OS4KLSAgUGF0Y2ggYnkgQmVuIEhheWRlbi4KLQogLSBJc3N1ZSAjMTE2MzU6IERvbid0IHVzZSBwb2xsaW5nIGluIHdvcmtlciB0aHJlYWRzIGFuZCBwcm9jZXNzZXMgbGF1bmNoZWQgYnkKICAgY29uY3VycmVudC5mdXR1cmVzLgogCistIElzc3VlICM1ODQ1OiBBdXRvbWF0aWNhbGx5IHJlYWQgcmVhZGxpbmUgY29uZmlndXJhdGlvbiB0byBlbmFibGUgY29tcGxldGlvbgorICBpbiBpbnRlcmFjdGl2ZSBtb2RlLgorCiAtIElzc3VlICM2ODExOiBBbGxvdyBpbXBvcnRsaWIgdG8gY2hhbmdlIGEgY29kZSBvYmplY3QncyBjb19maWxlbmFtZSBhdHRyaWJ1dGUKICAgdG8gbWF0Y2ggdGhlIHBhdGggdG8gd2hlcmUgdGhlIHNvdXJjZSBjb2RlIGN1cnJlbnRseSBpcywgbm90IHdoZXJlIHRoZSBjb2RlCiAgIG9iamVjdCBvcmlnaW5hbGx5IGNhbWUgZnJvbS4KQEAgLTM1MjYsNyArMzQ1Miw3IEBACiAKIC0gSXNzdWUgIzExMTI3OiBSYWlzZSBhIFR5cGVFcnJvciB3aGVuIHRyeWluZyB0byBwaWNrbGUgYSBzb2NrZXQgb2JqZWN0LgogCi0tIElzc3VlICMxMTU2MzogQ29ubmVjdGlvbjpjbG9zZSBoZWFkZXIgaXMgc2VudCBieSByZXF1ZXN0cyB1c2luZyBVUkxPcGVuZXIKKy0gSXNzdWUgIzExNTYzOiBgYENvbm5lY3Rpb246IGNsb3NlYGAgaGVhZGVyIGlzIHNlbnQgYnkgcmVxdWVzdHMgdXNpbmcgVVJMT3BlbmVyCiAgIGNsYXNzIHdoaWNoIGhlbHBzIGluIGNsb3Npbmcgb2Ygc29ja2V0cyBhZnRlciBjb25uZWN0aW9uIGlzIG92ZXIuIFBhdGNoCiAgIGNvbnRyaWJ1dGlvbnMgYnkgSmVmZiBNY05laWwgYW5kIE5hZGVlbSBWYXdkYS4KIApAQCAtMzU0MSw4ICszNDY3LDYgQEAKIC0gSXNzdWUgIzEwOTc5OiB1bml0dGVzdCBzdGRvdXQgYnVmZmVyaW5nIG5vdyB3b3JrcyB3aXRoIGNsYXNzIGFuZCBtb2R1bGUKICAgc2V0dXAgYW5kIHRlYXJkb3duLgogCi0tIElzc3VlICMxMTU3NzogZml4IFJlc291cmNlV2FybmluZyB0cmlnZ2VyZWQgYnkgaW1wcm92ZWQgYmluaGV4IHRlc3QgY292ZXJhZ2UKLQogLSBJc3N1ZSAjMTEyNDM6IGZpeCB0aGUgcGFyYW1ldGVyIHF1ZXJ5aW5nIG1ldGhvZHMgb2YgTWVzc2FnZSB0byB3b3JrIGlmCiAgIHRoZSBoZWFkZXJzIGNvbnRhaW4gdW4tZW5jb2RlZCBub24tQVNDSUkgZGF0YS4KIApAQCAtMzU3NSw5ICszNDk5LDYgQEAKIC0gSXNzdWUgIzExNTU0OiBGaXhlZCBzdXBwb3J0IGZvciBKYXBhbmVzZSBjb2RlY3M7IHByZXZpb3VzbHkgdGhlIGJvZHkgb3V0cHV0CiAgIGVuY29kaW5nIHdhcyBub3QgZG9uZSBpZiBldWMtanAgb3Igc2hpZnQtamlzIHdhcyBzcGVjaWZpZWQgYXMgdGhlIGNoYXJzZXQuCiAKLS0gSXNzdWUgIzExNTA5OiBTaWduaWZpY2FudGx5IGluY3JlYXNlIHRlc3QgY292ZXJhZ2Ugb2YgZmlsZWlucHV0LgotICBQYXRjaCBieSBEZW52ZXIgQ29uZXliZWFyZSBhdCBQeUNvbiAyMDExIFNwcmludHMuCi0KIC0gSXNzdWUgIzExNDA3OiBgVGVzdENhc2UucnVuYCByZXR1cm5zIHRoZSByZXN1bHQgb2JqZWN0IHVzZWQgb3IgY3JlYXRlZC4KICAgQ29udHJpYnV0ZWQgYnkgSmFuYXRoYW4gSGFydGxleS4KIApAQCAtMzcwMCwxMSArMzYyMSw2IEBACiAKIC0gSXNzdWUgIzkzNDg6IFJhaXNlIGFuIGVhcmx5IGVycm9yIGlmIGFyZ3BhcnNlIG5hcmdzIGFuZCBtZXRhdmFyIGRvbid0IG1hdGNoLgogCi0tIElzc3VlICM4OTgyOiBJbXByb3ZlIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYXJncGFyc2UgTmFtZXNwYWNlIG9iamVjdC4KLQotLSBJc3N1ZSAjOTM0MzogRG9jdW1lbnQgdGhhdCBhcmdwYXJzZSBwYXJlbnQgcGFyc2VycyBtdXN0IGJlIGNvbmZpZ3VyZWQgYmVmb3JlCi0gIHRoZWlyIGNoaWxkcmVuLgotCiAtIElzc3VlICM5MDI2OiBGaXggb3JkZXIgb2YgYXJncGFyc2Ugc3ViLWNvbW1hbmRzIGluIGhlbHAgbWVzc2FnZXMuCiAKIC0gSXNzdWUgIzkzNDc6IEZpeCBmb3JtYXR0aW5nIGZvciB0dXBsZXMgaW4gYXJncGFyc2UgdHlwZT0gZXJyb3IgbWVzc2FnZXMuCkBAIC0zNzU3LDEwICszNjczLDYxIEBACiAKIC0gSXNzdWUgIzExNDk1OiBPU0Ygc3VwcG9ydCBpcyBlbGltaW5hdGVkLiBJdCB3YXMgZGVwcmVjYXRlZCBpbiBQeXRob24gMy4yLgogCi0KIElETEUKIC0tLS0KIAorLSBJc3N1ZSAjMTQ0MDk6IElETEUgbm93IHByb3Blcmx5IGV4ZWN1dGVzIGNvbW1hbmRzIGluIHRoZSBTaGVsbCB3aW5kb3cKKyAgd2hlbiBpdCBjYW5ub3QgcmVhZCB0aGUgbm9ybWFsIGNvbmZpZyBmaWxlcyBvbiBzdGFydHVwIGFuZAorICBoYXMgdG8gdXNlIHRoZSBidWlsdC1pbiBkZWZhdWx0IGtleSBiaW5kaW5ncy4KKyAgVGhlcmUgd2FzIHByZXZpb3VzbHkgYSBidWcgaW4gb25lIG9mIHRoZSBkZWZhdWx0cy4KKworLSBJRExFIGNhbiBiZSBsYXVuY2hlZCBhcyBweXRob24gLW0gaWRsZWxpYgorCistIElzc3VlICMzNTczOiBJRExFIGhhbmdzIHdoZW4gcGFzc2luZyBpbnZhbGlkIGNvbW1hbmQgbGluZSBhcmdzCisgIChkaXJlY3RvcnkoaWVzKSBpbnN0ZWFkIG9mIGZpbGUocykpIChQYXRjaCBieSBHdWlsaGVybWUgUG9sbykKKworLSBJc3N1ZSAjMTQyMDA6IElETEUgc2hlbGwgY3Jhc2ggb24gcHJpbnRpbmcgbm9uLUJNUCB1bmljb2RlIGNoYXJhY3Rlci4KKworLSBJc3N1ZSAjNTIxOTogUHJldmVudCBldmVudCBoYW5kbGVyIGNhc2NhZGUgaW4gSURMRS4KKworLSBJc3N1ZSAjOTY0NDM3OiBNYWtlIElETEUgaGVscCB3aW5kb3cgbm9uLW1vZGFsLgorICBQYXRjaCBieSBHdWlsaGVybWUgUG9sbyBhbmQgUm9nZXIgU2Vyd3kuCisKKy0gSXNzdWUgIzEzOTMzOiBJRExFIGF1dG8tY29tcGxldGUgZGlkIG5vdCB3b3JrIHdpdGggc29tZSBpbXBvcnRlZAorICBtb2R1bGUsIGxpa2UgaGFzaGxpYi4gIChQYXRjaCBieSBSb2dlciBTZXJ3eSkKKworLSBJc3N1ZSAjMTM1MDY6IEFkZCAnJyB0byBwYXRoIGZvciBJRExFIFNoZWxsIHdoZW4gc3RhcnRlZCBhbmQgcmVzdGFydGVkIHdpdGggUmVzdGFydCBTaGVsbC4KKyAgT3JpZ2luYWwgcGF0Y2hlcyBieSBNYXJjbyBTY2F0YWdsaW5pIGFuZCBSb2dlciBTZXJ3eS4KKworLSBJc3N1ZSAjNDYyNTogSWYgSURMRSBjYW5ub3Qgd3JpdGUgdG8gaXRzIHJlY2VudCBmaWxlIG9yIGJyZWFrcG9pbnQgZmlsZXMsCisgIGRpc3BsYXkgYSBtZXNzYWdlIHBvcHVwIGFuZCBjb250aW51ZSByYXRoZXIgdGhhbiBjcmFzaC4gIE9yaWdpbmFsIHBhdGNoIGJ5CisgIFJvZ2VyIFNlcnd5LgorCistIElzc3VlICM4NjQxOiBVcGRhdGUgSURMRSAzIHN5bnRheCBjb2xvcmluZyB0byByZWNvZ25pemUgYiIuLiIgYW5kIG5vdCB1Ii4uIi4KKyAgUGF0Y2ggYnkgVGFsIEVpbmF0LgorCistIElzc3VlICMxMzI5NjogRml4IElETEUgdG8gY2xlYXIgY29tcGlsZSBfX2Z1dHVyZV9fIGZsYWdzIG9uIHNoZWxsIHJlc3RhcnQuCisgIChQYXRjaCBieSBSb2dlciBTZXJ3eSkKKworLSBJc3N1ZSAjOTg3MTogUHJldmVudCBJRExFIDMgY3Jhc2ggd2hlbiBnaXZlbiBieXRlIHN0aW5ncworICB3aXRoIGludmFsaWQgaGV4IGVzY2FwZSBzZXF1ZW5jZXMsIGxpa2UgYidceDAnLgorICAoT3JpZ2luYWwgcGF0Y2ggYnkgQ2xhdWRpdSBQb3BhLikKKworLSBJc3N1ZSAjMTI2MzY6IElETEUgcmVhZHMgdGhlIGNvZGluZyBjb29raWUgd2hlbiBleGVjdXRpbmcgYSBQeXRob24gc2NyaXB0LgorCistIElzc3VlICMxMjU0MDogUHJldmVudCB6b21iaWUgSURMRSBwcm9jZXNzZXMgb24gV2luZG93cyBkdWUgdG8gY2hhbmdlcworICBpbiBvcy5raWxsKCkuCisKKy0gSXNzdWUgIzEyNTkwOiBJRExFIGVkaXRvciB3aW5kb3cgbm93IGFsd2F5cyBkaXNwbGF5cyB0aGUgZmlyc3QgbGluZQorICB3aGVuIG9wZW5pbmcgYSBsb25nIGZpbGUuICBXaXRoIFRrIDguNSwgdGhlIGZpcnN0IGxpbmUgd2FzIGhpZGRlbi4KKworLSBJc3N1ZSAjMTEwODg6IGRvbid0IGNyYXNoIHdoZW4gdXNpbmcgRjUgdG8gcnVuIGEgc2NyaXB0IGluIElETEUgb24gTWFjT1NYCisgIHdpdGggVGsgOC41LgorCistIElzc3VlICMxMDI4OiBUayByZXR1cm5zIGludmFsaWQgVW5pY29kZSBudWxsIGluICVBOiBVbmljb2RlRGVjb2RlRXJyb3IuCisgIFdpdGggVGsgPCA4LjUgX3RraW50ZXIuYzpQeXRob25DbWQoKSByYWlzZWQgVW5pY29kZURlY29kZUVycm9yLCBjYXVzZWQKKyAgSURMRSB0byBleGl0LiAgQ29udmVydGVkIHRvIHZhbGlkIFVuaWNvZGUgbnVsbCBpbiBQeXRob25DbWQoKS4KKwogLSBJc3N1ZSAjMTE3MTg6IElETEUncyBvcGVuIG1vZHVsZSBkaWFsb2cgY291bGRuJ3QgZmluZCB0aGUgX19pbml0X18ucHkKICAgZmlsZSBpbiBhIHBhY2thZ2UuCiAKQEAgLTM3OTAsNiArMzc1NywxMCBAQAogRXh0ZW5zaW9uIE1vZHVsZXMKIC0tLS0tLS0tLS0tLS0tLS0tCiAKKy0gSXNzdWUgIzE2ODQ3OiBGaXhlZCBpbXByb3BlciB1c2Ugb2YgX1B5VW5pY29kZV9DaGVja0NvbnNpc3RlbmN5KCkgaW4KKyAgbm9uLXB5ZGVidWcgYnVpbGRzLiBTZXZlcmFsIGV4dGVuc2lvbiBtb2R1bGVzIG5vdyBjb21waWxlIGNsZWFubHkgd2hlbgorICBhc3NlcnQoKXMgYXJlIGVuYWJsZWQgaW4gc3RhbmRhcmQgYnVpbGRzICgtRERFQlVHIGZsYWcpLgorCiAtIElzc3VlICMxMzg0MDogVGhlIGVycm9yIG1lc3NhZ2UgcHJvZHVjZWQgYnkgY3R5cGVzLmNyZWF0ZV9zdHJpbmdfYnVmZmVyCiAgIHdoZW4gZ2l2ZW4gYSBVbmljb2RlIHN0cmluZyBoYXMgYmVlbiBmaXhlZC4KIApAQCAtMzg1Miw2ICszODIzLDMzIEBACiBUZXN0cwogLS0tLS0KIAorLSBJc3N1ZSAjMTMxMjU6IFNpbGVuY2Ugc3B1cmlvdXMgdGVzdF9saWIydG8zIG91dHB1dCB3aGVuIGluIG5vbi12ZXJib3NlIG1vZGUuCisgIFBhdGNoIGJ5IE1pa2hhaWwgTm92aWtvdi4KKworLSBJc3N1ZSAjMTM0NDc6IEFkZCBhIHRlc3QgZmlsZSB0byBob3N0IHJlZ3Jlc3Npb24gdGVzdHMgZm9yIGJ1Z3MgaW4gdGhlCisgIHNjcmlwdHMgZm91bmQgaW4gdGhlIFRvb2xzIGRpcmVjdG9yeS4KKworLSBJc3N1ZSAjMTA4ODE6IEZpeCB0ZXN0X3NpdGUgZmFpbHVyZSB3aXRoIE9TIFggZnJhbWV3b3JrIGJ1aWxkcy4KKworLSBJc3N1ZSAjMTM5MDE6IFByZXZlbnQgdGVzdF9kaXN0dXRpbHMgZmFpbHVyZXMgb24gT1MgWCB3aXRoIC0tZW5hYmxlLXNoYXJlZC4KKworLSBJc3N1ZSAjMTM4NjI6IEZpeCBzcHVyaW91cyBmYWlsdXJlIGluIHRlc3RfemxpYiBkdWUgdG8gcnVudGltZS9jb21waWxlIHRpbWUKKyAgbWlub3IgdmVyc2lvbnMgbm90IG1hdGNoaW5nLgorCistIElzc3VlICMxMjgwNDogRml4IHRlc3Rfc29ja2V0IGFuZCB0ZXN0X3VybGxpYjJuZXQgZmFpbHVyZXMgd2hlbiBydW5uaW5nIHRlc3RzCisgIG9uIGEgc3lzdGVtIHdpdGhvdXQgaW50ZXJuZXQgYWNjZXNzLgorCistIElzc3VlICMxMzcyNjogRml4IHRoZSBhbWJpZ3VvdXMgLVMgZmxhZyBpbiByZWdydGVzdC4gSXQgaXMgLW8vLS1zbG93IGZvciBzbG93CisgIHRlc3RzLgorCistIElzc3VlICMxMTY1OTogRml4IFJlc291cmNlV2FybmluZyBpbiB0ZXN0X3N1YnByb2Nlc3MgaW50cm9kdWNlZCBieSAjMTE0NTkuCisgIFBhdGNoIGJ5IEJlbiBIYXlkZW4uCisKKy0gSXNzdWUgIzExNTc3OiBmaXggUmVzb3VyY2VXYXJuaW5nIHRyaWdnZXJlZCBieSBpbXByb3ZlZCBiaW5oZXggdGVzdCBjb3ZlcmFnZQorCistIElzc3VlICMxMTUwOTogU2lnbmlmaWNhbnRseSBpbmNyZWFzZSB0ZXN0IGNvdmVyYWdlIG9mIGZpbGVpbnB1dC4KKyAgUGF0Y2ggYnkgRGVudmVyIENvbmV5YmVhcmUgYXQgUHlDb24gMjAxMSBTcHJpbnRzLgorCiAtIElzc3VlICMxMTY4OTogRml4IGEgdmFyaWFibGUgc2NvcGluZyBlcnJvciBpbiBhbiBzcWxpdGUzIHRlc3QKIAogLSBJc3N1ZSAjMTM3ODY6IFJlbW92ZSB1bmltcGxlbWVudGVkICd0cmFjZScgbG9uZyBvcHRpb24gZnJvbSByZWdydGVzdC5weS4KQEAgLTQwMzAsNyArNDAyOCw3IEBACiAtIElzc3VlICMxMTUwNTogaW1wcm92ZXMgdGVzdCBjb3ZlcmFnZSBvZiBzdHJpbmcucHkuIFBhdGNoIGJ5IEFsaWNpYQogICBBcmxlbgogCi0tIElzc3VlICMxMTQ5MDogdGVzdF9zdWJwcm9jZXNzOnRlc3RfbGVha2luZ19mZHNfb25fZXJyb3Igbm8gbG9uZ2VyIGdpdmVzIGEKKy0gSXNzdWUgIzExNDkwOiB0ZXN0X3N1YnByb2Nlc3MudGVzdF9sZWFraW5nX2Zkc19vbl9lcnJvciBubyBsb25nZXIgZ2l2ZXMgYQogICBmYWxzZSBwb3NpdGl2ZSBpZiB0aGUgbGFzdCBkaXJlY3RvcnkgaW4gdGhlIHBhdGggaXMgaW5hY2Nlc3NpYmxlLgogCiAtIElzc3VlICMxMTIyMzogRml4IHRlc3RfdGhyZWFkc2lnbmFscyB0byBmYWlsLCBub3QgaGFuZywgd2hlbiB0aGUKQEAgLTQwNTQsNiArNDA1MiwyMyBAQAogQy1BUEkKIC0tLS0tCiAKKy0gSXNzdWUgIzEzNDUyOiBQeVVuaWNvZGVfRW5jb2RlRGVjaW1hbCgpIGRvZXNuJ3Qgc3VwcG9ydCBlcnJvciBoYW5kbGVycworICBkaWZmZXJlbnQgdGhhbiAic3RyaWN0IiBhbnltb3JlLiBUaGUgY2FsbGVyIHdhcyB1bmFibGUgdG8gY29tcHV0ZSB0aGUKKyAgc2l6ZSBvZiB0aGUgb3V0cHV0IGJ1ZmZlcjogaXQgZGVwZW5kcyBvbiB0aGUgZXJyb3IgaGFuZGxlci4KKworLSBJc3N1ZSAjMTM1NjA6IEFkZCBQeVVuaWNvZGVfRGVjb2RlTG9jYWxlKCksIFB5VW5pY29kZV9EZWNvZGVMb2NhbGVBbmRTaXplKCkKKyAgYW5kIFB5VW5pY29kZV9FbmNvZGVMb2NhbGUoKSBmdW5jdGlvbnMgdG8gdGhlIEMgQVBJIHRvIGRlY29kZS9lbmNvZGUgZnJvbS90bworICB0aGUgY3VycmVudCBsb2NhbGUgZW5jb2RpbmcuCisKKy0gSXNzdWUgIzEwODMxOiBQeVVuaWNvZGVfRnJvbUZvcm1hdCgpIHN1cHBvcnRzICVsaSwgJWxsaSBhbmQgJXppIGZvcm1hdHMuCisKKy0gSXNzdWUgIzExMjQ2OiBGaXggUHlVbmljb2RlX0Zyb21Gb3JtYXQoIiVWIikgdG8gZGVjb2RlIHRoZSBieXRlIHN0cmluZyBmcm9tCisgIFVURi04ICh3aXRoIHJlcGxhY2UgZXJyb3IgaGFuZGxlcikgaW5zdGVhZCBvZiBJU08tODg1OS0xIChpbiBzdHJpY3QgbW9kZSkuCisgIFBhdGNoIHdyaXR0ZW4gYnkgUmF5IEFsbGVuLgorCistIElzc3VlICMxMDgzMDogRml4IFB5VW5pY29kZV9Gcm9tRm9ybWF0VigiJWMiKSBmb3Igbm9uLUJNUCBjaGFyYWN0ZXJzIG9uCisgIG5hcnJvdyBidWlsZC4KKwogLSBBZGQgUHlPYmplY3RfR2VuZXJpY0dldERpY3QgYW5kIFB5T2JqZWN0X0dlbmVyaVNldERpY3QuIFRoZXkgYXJlIGdlbmVyaWMKICAgaW1wbGVtZW50YXRpb25zIGZvciB0aGUgZ2V0dGVyIGFuZCBzZXR0ZXIgb2YgYSBgYF9fZGljdF9fYGAgZGVzY3JpcHRvciBvZiBDCiAgIHR5cGVzLgpAQCAtNDA3OSw2ICs0MDk0LDI0IEBACiBEb2N1bWVudGF0aW9uCiAtLS0tLS0tLS0tLS0tCiAKKy0gSXNzdWUgIzEzOTg5OiBEb2N1bWVudCB0aGF0IEd6aXBGaWxlIGRvZXMgbm90IHN1cHBvcnQgdGV4dCBtb2RlLCBhbmQgZ2l2ZSBhCisgIG1vcmUgaGVscGZ1bCBlcnJvciBtZXNzYWdlIHdoZW4gb3BlbmVkIHdpdGggYW4gaW52YWxpZCBtb2RlIHN0cmluZy4KKworLSBJc3N1ZSAjMTM5MjE6IFVuZG9jdW1lbnQgYW5kIGNsZWFuIHVwIHNxbGl0ZTMuT3B0aW1pemVkVW5pY29kZSwKKyAgd2hpY2ggaXMgb2Jzb2xldGUgaW4gUHl0aG9uIDMueC4gSXQncyBub3cgYWxpYXNlZCB0byBzdHIgZm9yCisgIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LgorCistIElzc3VlICMxMjEwMjogRG9jdW1lbnQgdGhhdCBidWZmZXJlZCBmaWxlcyBtdXN0IGJlIGZsdXNoZWQgYmVmb3JlIGJlaW5nIHVzZWQKKyAgd2l0aCBtbWFwLiBQYXRjaCBieSBTdGVmZmVuIERhb2RlIE51cnBtZXNvLgorCistIElzc3VlICM4OTgyOiBJbXByb3ZlIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYXJncGFyc2UgTmFtZXNwYWNlIG9iamVjdC4KKworLSBJc3N1ZSAjOTM0MzogRG9jdW1lbnQgdGhhdCBhcmdwYXJzZSBwYXJlbnQgcGFyc2VycyBtdXN0IGJlIGNvbmZpZ3VyZWQgYmVmb3JlCisgIHRoZWlyIGNoaWxkcmVuLgorCistIElzc3VlICMxMzQ5ODogQ2xhcmlmeSBkb2NzIG9mIG9zLm1ha2VkaXJzKCkncyBleGlzdF9vayBhcmd1bWVudC4gIERvbmUgd2l0aAorICBncmVhdCBuYXRpdmUtc3BlYWtlciBoZWxwIGZyb20gUi4gRGF2aWQgTXVycmF5LgorCiAtIElzc3VlcyAjMTM0OTEgYW5kICMxMzk5NTogRml4IG1hbnkgZXJyb3JzIGluIHNxbGl0ZTMgZG9jdW1lbnRhdGlvbi4KICAgSW5pdGlhbCBwYXRjaCBmb3IgIzEzNDkxIGJ5IEpvaGFubmVzIFZvZ2VsLgogCkBAIC05NjUyLDcgKzk2ODUsNyBAQAogCiAtIElzc3VlICMxMjEwOiBGaXhlZCBpbWFwbGliIGFuZCBpdHMgZG9jdW1lbnRhdGlvbi4KIAotLSBJc3N1ZSAjNDIzMzogQ2hhbmdlZCBzZW1hbnRpYyBvZiBgYF9maWxlaW8uRmlsZUlPYGAncyBgYGNsb3NlKClgYCAKKy0gSXNzdWUgIzQyMzM6IENoYW5nZWQgc2VtYW50aWMgb2YgYGBfZmlsZWlvLkZpbGVJT2BgJ3MgYGBjbG9zZSgpYGAKICAgbWV0aG9kIG9uIGZpbGUgb2JqZWN0cyB3aXRoIGNsb3NlZmQ9RmFsc2UuIFRoZSBmaWxlIGRlc2NyaXB0b3IgaXMgc3RpbGwKICAga2VwdCBvcGVuIGJ1dCB0aGUgZmlsZSBvYmplY3QgYmVoYXZlcyBsaWtlIGEgY2xvc2VkIGZpbGUuIFRoZSBgYEZpbGVJT2BgCiAgIG9iamVjdCBhbHNvIGdvdCBhIG5ldyByZWFkb25seSBhdHRyaWJ1dGUgYGBjbG9zZWZkYGAuCkBAIC05Nzk2LDEzICs5ODI5LDEzIEBACiAgIGN5Y2xpYyBnYXJiYWdlIGNvbGxlY3Rpb24uCiAKIC0gSXNzdWUgIzM2Njg6IEZpeCBhIG1lbW9yeSBsZWFrIHdpdGggdGhlICJzKiIgYXJndW1lbnQgcGFyc2VyIGluCi0gIFB5QXJnX1BhcnNlVHVwbGUgYW5kIGZyaWVuZHMsIHdoaWNoIG9jY3VycmVkIHdoZW4gdGhlIGFyZ3VtZW50IGZvciAicyoiIAorICBQeUFyZ19QYXJzZVR1cGxlIGFuZCBmcmllbmRzLCB3aGljaCBvY2N1cnJlZCB3aGVuIHRoZSBhcmd1bWVudCBmb3IgInMqIgogICB3YXMgY29ycmVjdGx5IHBhcnNlZCBidXQgcGFyc2luZyBvZiBzdWJzZXF1ZW50IGFyZ3VtZW50cyBmYWlsZWQuCiAKIC0gSXNzdWUgIzM2MTE6IEFuIGV4Y2VwdGlvbiBfX2NvbnRleHRfXyBjb3VsZCBiZSBjbGVhcmVkIGluIGEgY29tcGxleCBwYXR0ZXJuCiAgIGludm9sdmluZyBhIF9fZGVsX18gbWV0aG9kIHJlLXJhaXNpbmcgYW4gZXhjZXB0aW9uLgogCi0tIElzc3VlICMyNTM0OiBzcGVlZCB1cCBpc2luc3RhbmNlKCkgYW5kIGlzc3ViY2xhc3MoKSBieSA1MC03MCUsIHNvIGFzIHRvIAorLSBJc3N1ZSAjMjUzNDogc3BlZWQgdXAgaXNpbnN0YW5jZSgpIGFuZCBpc3N1YmNsYXNzKCkgYnkgNTAtNzAlLCBzbyBhcyB0bwogICBtYXRjaCBQeXRob24gMi41IHNwZWVkIGRlc3BpdGUgdGhlIF9faW5zdGFuY2VjaGVja19fIC8gX19zdWJjbGFzc2NoZWNrX18KICAgbWVjaGFuaXNtLiBJbiB0aGUgcHJvY2VzcywgZml4IGEgYnVnIHdoZXJlIGlzaW5zdGFuY2UoKSBhbmQgaXNzdWJjbGFzcygpLAogICB3aGVuIGdpdmVuIGEgdHVwbGUgb2YgY2xhc3NlcyBhcyBzZWNvbmQgYXJndW1lbnQsIHdlcmUgbG9va2luZyB1cApAQCAtOTg4MCw3ICs5OTEzLDcgQEAKIAogLSBUaGUgZGVwcmVjYXRpb24gd2FybmluZ3MgZm9yIHRoZSBjYW1lbENhc2UgdGhyZWFkaW5nIEFQSSBuYW1lcyB3ZXJlIHJlbW92ZWQuCiAKLS0gSXNzdWUgIzMxMTA6IG11bHRpcHJvY2Vzc2luZyBmYWlscyB0byBjb21waWVsIG9uIHNvbGFyaXMgMTAgZHVlIHRvIG1pc3NpbmcgCistIElzc3VlICMzMTEwOiBtdWx0aXByb2Nlc3NpbmcgZmFpbHMgdG8gY29tcGllbCBvbiBzb2xhcmlzIDEwIGR1ZSB0byBtaXNzaW5nCiAgIFNFTV9WQUxVRV9NQVguCiAKIEV4dGVuc2lvbiBNb2R1bGVzCkBAIC0yMTU5Myw3ICsyMTYyNiw3IEBACiAKIC0gSW1wcm92ZWQgQmVPUyBzdXBwb3J0LgogCi0tIFN1cHBvcnQgZHluYW1pYyBsb2FkaW5nIG9mIHNoYXJlZCBsaWJyYXJpZXMgb24gTmV0QlNEIHBsYXRmb3JtcyB0aGF0IAorLSBTdXBwb3J0IGR5bmFtaWMgbG9hZGluZyBvZiBzaGFyZWQgbGlicmFyaWVzIG9uIE5ldEJTRCBwbGF0Zm9ybXMgdGhhdAogdXNlIEVMRiAoaS5lLiwgTUlQUyBhbmQgQWxwaGEgc3lzdGVtcykuCiAKIENvbmZpZ3VyYXRpb24vYnVpbGQgY2hhbmdlcwpAQCAtMjE4MTAsNyArMjE4NDMsNyBAQAogaGlnaGVyLWxldmVsIGNsYXNzZXMgaW4gY29kZS5weS4KIAogLSB0dXJ0bGUucHkgaXMgYSBuZXcgbW9kdWxlIGZvciBzaW1wbGUgdHVydGxlIGdyYXBoaWNzLiAgSSdtIHN0aWxsCi13b3JraW5nIG9uIGl0OyBsZXQgbWUga25vdyBpZiB5b3UgdXNlIHRoaXMgdG8gdGVhY2ggUHl0aG9uIHRvIGNoaWxkcmVuIAord29ya2luZyBvbiBpdDsgbGV0IG1lIGtub3cgaWYgeW91IHVzZSB0aGlzIHRvIHRlYWNoIFB5dGhvbiB0byBjaGlsZHJlbgogb3Igb3RoZXIgbm92aWNlcyB3aXRob3V0IHByaW9yIHByb2dyYW1taW5nIGV4cGVyaWVuY2UuCiAKIE9ic29sZXRlZCBsaWJyYXJ5IG1vZHVsZXMKQEAgLTIxOTQyLDcgKzIxOTc1LDcgQEAKIENoYW5nZXMgdG8gdG9vbHMKIC0tLS0tLS0tLS0tLS0tLS0KIAotLSBOZXcsIGltcHJvdmVkIHZlcnNpb24gb2YgQmFycnkgV2Fyc2F3J3MgTWlzYy9weXRob24tbW9kZS5lbCAoZWRpdGluZyAKKy0gTmV3LCBpbXByb3ZlZCB2ZXJzaW9uIG9mIEJhcnJ5IFdhcnNhdydzIE1pc2MvcHl0aG9uLW1vZGUuZWwgKGVkaXRpbmcKIHN1cHBvcnQgZm9yIEVtYWNzKS4KIAogLSB0YWJuYW5ueS5weTogYWRkZWQgYSAtcSAoJ3F1aWV0Jykgb3B0aW9uIHRvIHRhYm5hbm55LCB3aGljaCBjYXVzZXMKQEAgLTIyMjE3LDcgKzIyMjUwLDcgQEAKIC0tLS0tLS0tLS0tLS0tLS0tCiAKIC0gSW5zdGFsbCB6bGliLmRsbCBpbiB0aGUgRExMcyBkaXJlY3RvcnkgaW5zdGVhZCBvZiBpbiB0aGUgd2luMzIKLXN5c3RlbSBkaXJlY3RvcnksIHRvIGF2b2lkIGNvbmZsaWN0cyB3aXRoIG90aGVyIGFwcGxpY2F0aW9ucyB0aGF0IGhhdmUgCitzeXN0ZW0gZGlyZWN0b3J5LCB0byBhdm9pZCBjb25mbGljdHMgd2l0aCBvdGhlciBhcHBsaWNhdGlvbnMgdGhhdCBoYXZlCiB0aGVpciBvd24gemxpYi5kbGwuCiAKIFRlc3QgU3VpdGUKQEAgLTIyMjk3LDcgKzIyMzMwLDcgQEAKIHNvIHRoYXQgYSBzeW1saW5rIHRvIGEgc3ltbGluayBjYW4gd29yay4KIAogLSBBZGRlZCBhIGhhY2sgc28gdGhhdCB3aGVuIHlvdSB0eXBlICdxdWl0JyBvciAnZXhpdCcgYXQgdGhlCi1pbnRlcnByZXRlciwgeW91IGdldCBhIGZyaWVuZGx5IGV4cGxhbmF0aW9uIG9mIGhvdyB0byBwcmVzcyBDdHJsLUQgKG9yIAoraW50ZXJwcmV0ZXIsIHlvdSBnZXQgYSBmcmllbmRseSBleHBsYW5hdGlvbiBvZiBob3cgdG8gcHJlc3MgQ3RybC1EIChvcgogQ3RybC1aKSB0byBleGl0LgogCiAtIE5ldyBhbmQgaW1wcm92ZWQgTWlzYy9weXRob24tbW9kZS5lbCAoUHl0aG9uIG1vZGUgZm9yIEVtYWNzKS4KQEAgLTIyNDcwLDEzICsyMjUwMywxMyBAQAogcmFuZ2UuICBBbHNvLCByYW5kaW50KGEsIGIpIGlzIG5vdyByZWRlZmluZWQgYXMgcmFuZHJhbmdlKGEsIGIrMSksCiBhZGRpbmcgZXh0cmEgcmFuZ2UgYW5kIHR5cGUgY2hlY2tpbmcgdG8gaXRzIGFyZ3VtZW50cyEKIAotLSBBZGQgc29tZSBzZW1pLXRocmVhZC1zYWZldHkgdG8gcmFuZG9tLmdhdXNzKCkgKGl0IHVzZWQgdG8gYmUgYWJsZSB0byAKKy0gQWRkIHNvbWUgc2VtaS10aHJlYWQtc2FmZXR5IHRvIHJhbmRvbS5nYXVzcygpIChpdCB1c2VkIHRvIGJlIGFibGUgdG8KIGNyYXNoIHdoZW4gaW52b2tlZCBmcm9tIHNlcGFyYXRlIHRocmVhZHM7IG5vdyB0aGUgd29yc3QgaXQgY2FuIGRvIGlzCiBnaXZlIGEgZHVwbGljYXRlIHJlc3VsdCBvY2Nhc2lvbmFsbHkpLgogCiAtIFNvbWUgcmVzdHJ1Y3R1cmluZyBhbmQgZ2VuZXJhbGl6YXRpb24gZG9uZSB0byBjbWQucHkuCiAKLS0gTWFqb3IgdXBncmFkZSB0byBDb25maWdQYXJzZXIucHk7IGNvbnZlcnRlZCB0byB1c2luZyAncmUnLCBhZGRlZCBuZXcgCistIE1ham9yIHVwZ3JhZGUgdG8gQ29uZmlnUGFyc2VyLnB5OyBjb252ZXJ0ZWQgdG8gdXNpbmcgJ3JlJywgYWRkZWQgbmV3CiBleGNlcHRpb25zLCBzdXBwb3J0IHVuZGVyc2NvcmUgaW4gc2VjdGlvbiBoZWFkZXIgYW5kIG9wdGlvbiBuYW1lLiAgTm8KIGxvbmdlciBhZGQgJ25hbWUnIG9wdGlvbiB0byBldmVyeSBzZWN0aW9uOyBpbnN0ZWFkLCBhZGQgJ19fbmFtZV9fJy4KIApAQCAtMjI2NzMsNyArMjI3MDYsNyBAQAogLS0tLS0tLS0tLS0tLS0tLS0KIAogLSBUaGUgcmVnaXN0cnkga2V5IHVzZWQgaXMgbm93ICIxLjUiIGluc3RlYWQgb2YgIjEuNS54IiAtLSBzbyBmdXR1cmUKLXZlcnNpb25zIG9mIDEuNSBhbmQgTWFyayBIYW1tb25kJ3Mgd2luMzJhbGwgaW5zdGFsbGVyIGRvbid0IG5lZWQgdG8gYmUgCit2ZXJzaW9ucyBvZiAxLjUgYW5kIE1hcmsgSGFtbW9uZCdzIHdpbjMyYWxsIGluc3RhbGxlciBkb24ndCBuZWVkIHRvIGJlCiByZXN5bmNocm9uaXplZC4KIAogV2luZG93cyBUb29scwpAQCAtMjI3NDAsNyArMjI3NzMsNyBAQAogZHluYW1pY2FsbHkgYWRkIG9uZSBvciBtYW55IGVudHJpZXMgdG8gdGhlIHRhYmxlIG9mIGJ1aWx0LWluIG1vZHVsZXMuCiAKIC0gTmV3IG1hY3JvIFB5X0luaXRNb2R1bGUzKG5hbWUsIG1ldGhvZHMsIGRvYykgd2hpY2ggY2FsbHMKLVB5X0luaXRNb2R1bGU0KCkgd2l0aCBhcHByb3ByaWF0ZSBhcmd1bWVudHMuICAoVGhlIC00IHZhcmlhbnQgcmVxdWlyZXMgCitQeV9Jbml0TW9kdWxlNCgpIHdpdGggYXBwcm9wcmlhdGUgYXJndW1lbnRzLiAgKFRoZSAtNCB2YXJpYW50IHJlcXVpcmVzCiB5b3UgdG8gcGFzcyBhbiBvYnNjdXJlIHZlcnNpb24gbnVtYmVyIGNvbnN0YW50IHdoaWNoIGlzIGFsd2F5cyB0aGUgc2FtZS4pCiAKIC0gTmV3IEFQSXMgUHlTeXNfV3JpdGVTdGRvdXQoKSBhbmQgUHlTeXNfV3JpdGVTdGRlcnIoKSB0byB3cml0ZSB0bwpAQCAtMjI4MTIsNyArMjI4NDUsNyBAQAogU3ludGF4IGNoYW5nZQogLS0tLS0tLS0tLS0tLQogCi0tIFRoZSByYWlzZSBzdGF0ZW1lbnQgY2FuIG5vdyBiZSB1c2VkIHdpdGhvdXQgYXJndW1lbnRzLCB0byByZS1yYWlzZSAKKy0gVGhlIHJhaXNlIHN0YXRlbWVudCBjYW4gbm93IGJlIHVzZWQgd2l0aG91dCBhcmd1bWVudHMsIHRvIHJlLXJhaXNlCiBhIHByZXZpb3VzbHkgc2V0IGV4Y2VwdGlvbi4gIFRoaXMgc2hvdWxkIGJlIHVzZWQgYWZ0ZXIgY2F0Y2hpbmcgYW4KIGV4Y2VwdGlvbiB3aXRoIGFuIGV4Y2VwdCBjbGF1c2Ugb25seSwgZWl0aGVyIGluIHRoZSBleGNlcHQgY2xhdXNlIG9yCiBsYXRlciBpbiB0aGUgc2FtZSBmdW5jdGlvbi4KQEAgLTIyODcxLDcgKzIyOTA0LDcgQEAKIAogCURlbW8vdGtpbnRlci9ndWlkby9wYWludC5weSAtLSBEYXZlIE1pdGNoZWxsCiAJRGVtby9zb2NrZXRzL3VuaXhzZXJ2ZXIucHkgLS0gUGlldCB2YW4gT29zdHJ1bQotCQorCiAKIC0gTXVjaCBiZXR0ZXIgZnJlZXplIHN1cHBvcnQuICBUaGUgZnJlZXplIHNjcmlwdCBjYW4gbm93IGZyZWV6ZQogaGllcmFyY2hpY2FsIG1vZHVsZSBuYW1lcyAod2l0aCBhIGNvcnJlc3BvbmRpbmcgY2hhbmdlIHRvIGltcG9ydC5jKSwKQEAgLTIzMDEwLDcgKzIzMDQzLDcgQEAKIC0gTmV3IGNvbW1hbmQgc3VwcG9ydGVkIGJ5IHRoZSBmdHBsaWIgbW9kdWxlOiBybWQoKTsgYWxzbyBmaXhlZCBzb21lCiBtaW5vciBidWdzLgogCi0tIFRoZSBwcm9maWxlIG1vZHVsZSBub3cgdXNlcyBhIGRpZmZlcmVudCB0aW1lciBmdW5jdGlvbiBieSBkZWZhdWx0IC0tIAorLSBUaGUgcHJvZmlsZSBtb2R1bGUgbm93IHVzZXMgYSBkaWZmZXJlbnQgdGltZXIgZnVuY3Rpb24gYnkgZGVmYXVsdCAtLQogdGltZS5jbG9jaygpIGlzIGdlbmVyYWxseSBiZXR0ZXIgdGhhbiBvcy50aW1lcygpLiAgVGhpcyBtYWtlcyBpdCB3b3JrCiBiZXR0ZXIgb24gV2luZG93cyBOVCwgdG9vLgogCkBAIC0yMzA0OSwxNCArMjMwODIsMTQgQEAKIC0gSW4gdGhlIG11bHRpZmlsZSBtb2R1bGUsIHN1cHBvcnQgdGhlIG9wdGlvbmFsIHNlY29uZCBwYXJhbWV0ZXIgdG8KIHNlZWsoKSB3aGVuIHBvc3NpYmxlLgogCi0tIFNldmVyYWwgZml4ZXMgdG8gdGhlIGdvcGhlcmxpYiBtb2R1bGUgYnkgTGFycyBNYXJpdXMgR2Fyc2hvbC4gIEFsc28sIAorLSBTZXZlcmFsIGZpeGVzIHRvIHRoZSBnb3BoZXJsaWIgbW9kdWxlIGJ5IExhcnMgTWFyaXVzIEdhcnNob2wuICBBbHNvLAogdXJscGFyc2Ugbm93IGNvcnJlY3RseSBoYW5kbGVzIEdvcGhlciBVUkxzIHdpdGggcXVlcnkgc3RyaW5ncy4KIAogLSBGaXhlZCBhIHRpbnkgYnVnIGluIGZvcm1hdF9leGNlcHRpb24oKSBpbiB0aGUgdHJhY2ViYWNrIG1vZHVsZS4KIEFsc28gcmV3cml0ZSB0Yl9saW5lbm8oKSB0byBiZSBjb21wYXRpYmxlIHdpdGggSlB5dGhvbiAoYW5kIG5vdAogZGlzdHVyYiB0aGUgY3VycmVudCBleGNlcHRpb24hKTsgYnkgSmltIEh1Z3VuaW4uCiAKLS0gVGhlIGh0dHBsaWIgbW9kdWxlIGlzIG1vcmUgcm9idXN0IHdoZW4gc2VydmVycyBzZW5kIGEgc2hvcnQgcmVzcG9uc2UgCistIFRoZSBodHRwbGliIG1vZHVsZSBpcyBtb3JlIHJvYnVzdCB3aGVuIHNlcnZlcnMgc2VuZCBhIHNob3J0IHJlc3BvbnNlCiAtLSBjb3VydGVzeSBUaW0gTydNYWxsZXkuCiAKIFRraW50ZXIgYW5kIGZyaWVuZHMKQEAgLTIzMDcxLDcgKzIzMTA0LDcgQEAKIG5vIGxvbmdlciB1c2UgdGhlIGRlZmF1bHQgcm9vdC4KIAogLSBUaGUgaW50ZXJmYWNlcyBmb3IgdGhlIGJpbmQqKCkgYW5kIHVuYmluZCgpIHdpZGdldCBtZXRob2RzIGhhdmUgYmVlbgotcmVkZXNpZ25lZDsgdGhlIGJpbmQqKCkgbWV0aG9kcyBub3cgcmV0dXJuIHRoZSBuYW1lIG9mIHRoZSBUY2wgY29tbWFuZCAKK3JlZGVzaWduZWQ7IHRoZSBiaW5kKigpIG1ldGhvZHMgbm93IHJldHVybiB0aGUgbmFtZSBvZiB0aGUgVGNsIGNvbW1hbmQKIGNyZWF0ZWQgZm9yIHRoZSBjYWxsYmFjaywgYW5kIHRoaXMgY2FuIGJlIHBhc3NlZCBhcyBhIG9wdGlvbmFsCiBhcmd1bWVudCB0byB1bmJpbmQoKSBpbiBvcmRlciB0byBkZWxldGUgdGhlIGNvbW1hbmQgKG5vcm1hbGx5LCBzdWNoCiBjb21tYW5kcyBhcmUgYXV0b21hdGljYWxseSB1bmJvdW5kIHdoZW4gdGhlIHdpZGdldCBpcyBkZXN0cm95ZWQsIGJ1dApAQCAtMjMxMDcsNyArMjMxNDAsNyBAQAogZGljdGlvbmFyeSB0byBhbGxvdyByZWN1cnNpdmUgY29udGFpbmVyIHR5cGVzIHRvIGRldGVjdCByZWN1cnNpb24gaW4KIHRoZWlyIHJlcHIoKSwgc3RyKCkgYW5kIHByaW50IGltcGxlbWVudGF0aW9ucy4KIAotLSBOZXcgZnVuY3Rpb24gUHlPYmplY3RfTm90KHgpIGNhbGN1bGF0ZXMgKG5vdCB4KSBhY2NvcmRpbmcgdG8gUHl0aG9uJ3MgCistIE5ldyBmdW5jdGlvbiBQeU9iamVjdF9Ob3QoeCkgY2FsY3VsYXRlcyAobm90IHgpIGFjY29yZGluZyB0byBQeXRob24ncwogc3RhbmRhcmQgcnVsZXMgKGJhc2ljYWxseSwgaXQgbmVnYXRlcyB0aGUgb3V0Y29tZSBQeU9iamVjdF9Jc1RydWUoeCkuCiAKIC0gTmV3IGZ1bmN0aW9uIF9QeU1vZHVsZV9DbGVhcigpLCB3aGljaCBjbGVhcnMgYSBtb2R1bGUncyBkaWN0aW9uYXJ5CkBAIC0yMzI2OCw3ICsyMzMwMSw3IEBACiBpbnN0YW5jZXMgd2l0aCBjb3B5LnB5LiAgVGhlIGNQaWNrbGUuYyBjaGFuZ2VzIGFuZCBzb21lIHBpY2tsZS5weQogY2hhbmdlcyBhcmUgY291cnRlc3kgSmltIEZ1bHRvbi4KIAotLSBMb2NhbGUgc3VwcG9ydCBpbiBoZSAicmUiIChQZXJsIHJlZ3VsYXIgZXhwcmVzc2lvbnMpIG1vZHVsZS4gIFVzZSAKKy0gTG9jYWxlIHN1cHBvcnQgaW4gaGUgInJlIiAoUGVybCByZWd1bGFyIGV4cHJlc3Npb25zKSBtb2R1bGUuICBVc2UKIHRoZSBmbGFnIHJlLkwgKG9yIHJlLkxPQ0FMRSkgdG8gZW5hYmxlIGxvY2FsZS1zcGVjaWZpYyBtYXRjaGluZwogcnVsZXMgZm9yIFx3IGFuZCBcYi4gIFRoZSBpbi1saW5lIHN5bnRheCBmb3IgdGhpcyBmbGFnIGlzICg/TCkuCiAKQEAgLTIzMzM0LDcgKzIzMzY3LDcgQEAKIAogLSBTb21lIGltcHJvdmVtZW50cyB0byB0aGUgX3RraW50ZXIgYnVpbGQgbGluZSBzdWdnZXN0ZWQgYnkgQ2FzZSBSb29sZS4KIAotLSBBIGZ1bGwgc3VpdGUgb2YgcGxhdGZvcm0gc3BlY2lmaWMgZmlsZXMgZm9yIE5ldEJTRCAxLngsIHN1Ym1pdHRlZCBieSAKKy0gQSBmdWxsIHN1aXRlIG9mIHBsYXRmb3JtIHNwZWNpZmljIGZpbGVzIGZvciBOZXRCU0QgMS54LCBzdWJtaXR0ZWQgYnkKIEFuZGVycyBBbmRlcnNlbi4KIAogLSBOZXcgU29sYXJpcyBzcGVjaWZpYyBoZWFkZXIgU1RST1BUUy5weS4KQEAgLTIzNDA0LDcgKzIzNDM3LDcgQEAKIGlmIHRoZXJlIGFyZSBsb3RzIG9mIGR1cGxpY2F0ZXMsIGFuZCBvdGhlcndpc2UgYXQgbGVhc3QgYXMgZ29vZC4KIAogLSBBZGRlZCAidXVlIiBhcyBhbiBhbGlhcyBmb3IgInV1ZW5jb2RlIiB0byBtaW1ldG9vbHMucHkuICAoSG0sIHRoZQotdXVkZWNvZGUgYnVnIHdoZXJlIGl0IGNvbXBsYWludHMgYWJvdXQgdHJhaWxpbmcgZ2FyYmFnZSBpcyBzdGlsbCB0aGVyZSAKK3V1ZGVjb2RlIGJ1ZyB3aGVyZSBpdCBjb21wbGFpbnRzIGFib3V0IHRyYWlsaW5nIGdhcmJhZ2UgaXMgc3RpbGwgdGhlcmUKIDotKCApLgogCiAtIHBpY2tsZS5weSByZXF1aXJlcyBpbnRlZ2VycyBpbiB0ZXh0IG1vZGUgdG8gYmUgaW4gZGVjaW1hbCBub3RhdGlvbgpAQCAtMjQxODAsNyArMjQyMTMsNyBAQAogVGhlIFB5dGhvbi9DIEFQSSBmb3IgZnJhbWVzIGlzIGNoYW5nZWQgKHlvdSBzaG91bGRuJ3QgYmUgdXNpbmcgdGhpcwogYW55d2F5KS4KIAotLSBTaWduaWZpY2FudCBzcGVlZHVwIGJ5IGlubGluaW5nIHNvbWUgY29tbW9uIG9wY29kZXMgZm9yIGNvbW1vbiBvcGVyYW5kIAorLSBTaWduaWZpY2FudCBzcGVlZHVwIGJ5IGlubGluaW5nIHNvbWUgY29tbW9uIG9wY29kZXMgZm9yIGNvbW1vbiBvcGVyYW5kCiB0eXBlcyAoZS5nLiAgaStpLCBpLWksIGFuZCBsaXN0W2ldKS4gIEZyZWRyaWsgTHVuZGguCiAKIC0gU21hbGwgc3BlZWR1cCBieSByZW9yZGVyaW5nIHRoZSBtZXRob2QgdGFibGVzIG9mIHNvbWUgY29tbW9uCkBAIC0yNDIwNiwzNCArMjQyMzksMzQgQEAKIHByaW50aW5nIHRoZSBkb2N1bWVudGF0aW9uIG5vdyBraWxscyBmZXdlciB0cmVlcyAtLSB0aGUgbWFyZ2lucyBoYXZlCiBiZWVuIHJlZHVjZWQuCiAKLS0gSSBoYXZlIHN0YXJ0ZWQgZG9jdW1lbnRpbmcgdGhlIFB5dGhvbi9DIEFQSS4gVW5mb3J0dW5hdGVseSB0aGlzIHByb2plY3QgCi1oYXNuJ3QgYmVlbiBjb21wbGV0ZWQgeWV0LiAgSXQgd2lsbCBiZSBjb21wbGV0ZSBiZWZvcmUgdGhlIGZpbmFsIHJlbGVhc2Ugb2YgCi1QeXRob24gMS41LCB0aG91Z2guICBBdCB0aGUgbW9tZW50LCBpdCdzIGJldHRlciB0byByZWFkIHRoZSBMYVRlWCBzb3VyY2UgCistIEkgaGF2ZSBzdGFydGVkIGRvY3VtZW50aW5nIHRoZSBQeXRob24vQyBBUEkuIFVuZm9ydHVuYXRlbHkgdGhpcyBwcm9qZWN0CitoYXNuJ3QgYmVlbiBjb21wbGV0ZWQgeWV0LiAgSXQgd2lsbCBiZSBjb21wbGV0ZSBiZWZvcmUgdGhlIGZpbmFsIHJlbGVhc2Ugb2YKK1B5dGhvbiAxLjUsIHRob3VnaC4gIEF0IHRoZSBtb21lbnQsIGl0J3MgYmV0dGVyIHRvIHJlYWQgdGhlIExhVGVYIHNvdXJjZQogdGhhbiB0byBhdHRlbXB0IHRvIHJ1biBpdCB0aHJvdWdoIExhVGVYIGFuZCBwcmludCB0aGUgcmVzdWx0aW5nIGR2aSBmaWxlLgogCi0tIFRoZSBwb3NpeCBtb2R1bGUgKGFuZCBoZW5jZSBvcy5weSkgbm93IGhhcyBkb2Mgc3RyaW5ncyEgIFRoYW5rcyB0byBOZWlsIAotU2NoZW1lbmF1ZXIuICBJIHJlY2VpdmVkIGEgZmV3IG90aGVyIGNvbnRyaWJ1dGlvbnMgb2YgZG9jIHN0cmluZ3MuICBJbiBtb3N0IAorLSBUaGUgcG9zaXggbW9kdWxlIChhbmQgaGVuY2Ugb3MucHkpIG5vdyBoYXMgZG9jIHN0cmluZ3MhICBUaGFua3MgdG8gTmVpbAorU2NoZW1lbmF1ZXIuICBJIHJlY2VpdmVkIGEgZmV3IG90aGVyIGNvbnRyaWJ1dGlvbnMgb2YgZG9jIHN0cmluZ3MuICBJbiBtb3N0CiBvdGhlciBwbGFjZXMsIGRvYyBzdHJpbmdzIGFyZSBzdGlsbCB3aXNoZnVsIHRoaW5raW5nLi4uCiAKIAogTGFuZ3VhZ2UgY2hhbmdlcwogLS0tLS0tLS0tLS0tLS0tLQogCi0tIFByaXZhdGUgdmFyaWFibGVzIHdpdGggbGVhZGluZyBkb3VibGUgdW5kZXJzY29yZSBhcmUgbm93IGEgcGVybWFuZW50IAotZmVhdHVyZSBvZiB0aGUgbGFuZ3VhZ2UuICAoVGhlc2Ugd2VyZSBleHBlcmltZW50YWwgaW4gcmVsZWFzZSAxLjQuICBJIGhhdmUgCi1mYXZvcmFibGUgZXhwZXJpZW5jZSB1c2luZyB0aGVtOyBJIGNhbid0IGxhYmVsIHRoZW0gImV4cGVyaW1lbnRhbCIgCistIFByaXZhdGUgdmFyaWFibGVzIHdpdGggbGVhZGluZyBkb3VibGUgdW5kZXJzY29yZSBhcmUgbm93IGEgcGVybWFuZW50CitmZWF0dXJlIG9mIHRoZSBsYW5ndWFnZS4gIChUaGVzZSB3ZXJlIGV4cGVyaW1lbnRhbCBpbiByZWxlYXNlIDEuNC4gIEkgaGF2ZQorZmF2b3JhYmxlIGV4cGVyaWVuY2UgdXNpbmcgdGhlbTsgSSBjYW4ndCBsYWJlbCB0aGVtICJleHBlcmltZW50YWwiCiBmb3JldmVyLikKIAotLSBUaGVyZSdzIG5ldyBzdHJpbmcgbGl0ZXJhbCBzeW50YXggZm9yICJyYXcgc3RyaW5ncyIuICBQcmVmaXhpbmcgYSBzdHJpbmcgCi1saXRlcmFsIHdpdGggdGhlIGxldHRlciByIChvciBSKSBkaXNhYmxlcyBhbGwgZXNjYXBlIHByb2Nlc3NpbmcgaW4gdGhlIAotc3RyaW5nOyBmb3IgZXhhbXBsZSwgcidcbicgaXMgYSB0d28tY2hhcmFjdGVyIHN0cmluZyBjb25zaXN0aW5nIG9mIGEgCi1iYWNrc2xhc2ggZm9sbG93ZWQgYnkgdGhlIGxldHRlciBuLiAgVGhpcyBjb21iaW5lcyB3aXRoIGFsbCBmb3JtcyBvZiBzdHJpbmcgCi1xdW90ZXM7IGl0IGlzIGFjdHVhbGx5IHVzZWZ1bCBmb3IgdHJpcGxlIHF1b3RlZCBkb2Mgc3RyaW5ncyB3aGljaCBtaWdodCAKLWNvbnRhaW4gcmVmZXJlbmNlcyB0byBcbiBvciBcdC4gIEFuIGVtYmVkZGVkIHF1b3RlIHByZWZpeGVkIHdpdGggYSAKLWJhY2tzbGFzaCBkb2VzIG5vdCB0ZXJtaW5hdGUgdGhlIHN0cmluZywgYnV0IHRoZSBiYWNrc2xhc2ggaXMgc3RpbGwgCi1pbmNsdWRlZCBpbiB0aGUgc3RyaW5nOyBmb3IgZXhhbXBsZSwgcidcJycgaXMgYSB0d28tY2hhcmFjdGVyIHN0cmluZyAKLWNvbnNpc3Rpbmcgb2YgYSBiYWNrc2xhc2ggYW5kIGEgcXVvdGUuICAoUmF3IHN0cmluZ3MgYXJlIGFsc28gCi1hZmZlY3Rpb25hdGVseSBrbm93biBhcyBSb2JpbiBzdHJpbmdzLCBhZnRlciB0aGVpciBpbnZlbnRvciwgUm9iaW4gCistIFRoZXJlJ3MgbmV3IHN0cmluZyBsaXRlcmFsIHN5bnRheCBmb3IgInJhdyBzdHJpbmdzIi4gIFByZWZpeGluZyBhIHN0cmluZworbGl0ZXJhbCB3aXRoIHRoZSBsZXR0ZXIgciAob3IgUikgZGlzYWJsZXMgYWxsIGVzY2FwZSBwcm9jZXNzaW5nIGluIHRoZQorc3RyaW5nOyBmb3IgZXhhbXBsZSwgcidcbicgaXMgYSB0d28tY2hhcmFjdGVyIHN0cmluZyBjb25zaXN0aW5nIG9mIGEKK2JhY2tzbGFzaCBmb2xsb3dlZCBieSB0aGUgbGV0dGVyIG4uICBUaGlzIGNvbWJpbmVzIHdpdGggYWxsIGZvcm1zIG9mIHN0cmluZworcXVvdGVzOyBpdCBpcyBhY3R1YWxseSB1c2VmdWwgZm9yIHRyaXBsZSBxdW90ZWQgZG9jIHN0cmluZ3Mgd2hpY2ggbWlnaHQKK2NvbnRhaW4gcmVmZXJlbmNlcyB0byBcbiBvciBcdC4gIEFuIGVtYmVkZGVkIHF1b3RlIHByZWZpeGVkIHdpdGggYQorYmFja3NsYXNoIGRvZXMgbm90IHRlcm1pbmF0ZSB0aGUgc3RyaW5nLCBidXQgdGhlIGJhY2tzbGFzaCBpcyBzdGlsbAoraW5jbHVkZWQgaW4gdGhlIHN0cmluZzsgZm9yIGV4YW1wbGUsIHInXCcnIGlzIGEgdHdvLWNoYXJhY3RlciBzdHJpbmcKK2NvbnNpc3Rpbmcgb2YgYSBiYWNrc2xhc2ggYW5kIGEgcXVvdGUuICAoUmF3IHN0cmluZ3MgYXJlIGFsc28KK2FmZmVjdGlvbmF0ZWx5IGtub3duIGFzIFJvYmluIHN0cmluZ3MsIGFmdGVyIHRoZWlyIGludmVudG9yLCBSb2JpbgogRnJpZWRyaWNoLikKIAogLSBUaGVyZSdzIGEgc2ltcGxlIGFzc2VydCBzdGF0ZW1lbnQsIGFuZCBhIG5ldyBleGNlcHRpb24KQEAgLTI0MjYyLDEwICsyNDI5NSwxMCBAQAogLSBUaGUgb2Jzb2xldGUgZXhjZXB0aW9uIENvbmZsaWN0RXJyb3IgKHByZXN1bWFibHkgdXNlZCBieSB0aGUgbG9uZwogb2Jzb2xldGUgYWNjZXNzIHN0YXRlbWVudCkgaGFzIGJlZW4gZGVsZXRlZC4KIAotLSBUaGVyZSdzIGEgbmV3IGZ1bmN0aW9uIHN5cy5leGNfaW5mbygpIHdoaWNoIHJldHVybnMgdGhlIHR1cGxlIAorLSBUaGVyZSdzIGEgbmV3IGZ1bmN0aW9uIHN5cy5leGNfaW5mbygpIHdoaWNoIHJldHVybnMgdGhlIHR1cGxlCiAoc3lzLmV4Y190eXBlLCBzeXMuZXhjX3ZhbHVlLCBzeXMuZXhjX3RyYWNlYmFjaykgaW4gYSB0aHJlYWQtc2FmZSB3YXkuCiAKLS0gVGhlcmUncyBhIG5ldyB2YXJpYWJsZSBzeXMuZXhlY3V0YWJsZSwgcG9pbnRpbmcgdG8gdGhlIGV4ZWN1dGFibGUgZmlsZSAKKy0gVGhlcmUncyBhIG5ldyB2YXJpYWJsZSBzeXMuZXhlY3V0YWJsZSwgcG9pbnRpbmcgdG8gdGhlIGV4ZWN1dGFibGUgZmlsZQogZm9yIHRoZSBQeXRob24gaW50ZXJwcmV0ZXIuCiAKIC0gVGhlIHNvcnQoKSBtZXRob2RzIGZvciBsaXN0cyBubyBsb25nZXIgdXNlcyB0aGUgQyBsaWJyYXJ5IHFzb3J0KCk7IEkKQEAgLTI0MjkxLDExICsyNDMyNCwxMSBAQAogcmV0dXJuaW5nIGZyb20gYSBmdW5jdGlvbiB0aGF0IGNhdWdodCBhbiBleGNlcHRpb24uCiAKIC0gVGhlcmUncyBhIG5ldyAiYnVmZmVyIiBpbnRlcmZhY2UuICBDZXJ0YWluIG9iamVjdHMgKGUuZy4gc3RyaW5ncyBhbmQKLWFycmF5cykgbm93IHN1cHBvcnQgdGhlICJidWZmZXIiIHByb3RvY29sLiAgQnVmZmVyIG9iamVjdHMgYXJlIGFjY2VwdGFibGUgCi13aGVuZXZlciBmb3JtZXJseSBhIHN0cmluZyB3YXMgcmVxdWlyZWQgZm9yIGEgd3JpdGUgb3BlcmF0aW9uOyBtdXRhYmxlIAorYXJyYXlzKSBub3cgc3VwcG9ydCB0aGUgImJ1ZmZlciIgcHJvdG9jb2wuICBCdWZmZXIgb2JqZWN0cyBhcmUgYWNjZXB0YWJsZQord2hlbmV2ZXIgZm9ybWVybHkgYSBzdHJpbmcgd2FzIHJlcXVpcmVkIGZvciBhIHdyaXRlIG9wZXJhdGlvbjsgbXV0YWJsZQogYnVmZmVyIG9iamVjdHMgY2FuIGJlIHRoZSB0YXJnZXQgb2YgYSByZWFkIG9wZXJhdGlvbiB1c2luZyB0aGUgY2FsbAotZi5yZWFkaW50byhidWZmZXIpLiAgQSBjb29sIGZlYXR1cmUgaXMgdGhhdCByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgbm93IAotYWxzbyB3b3JrIG9uIGFycmF5IG9iamVjdHMuICBDb250cmlidXRpb24gYnkgSmFjayBKYW5zZW4uICAoTmVlZHMgCitmLnJlYWRpbnRvKGJ1ZmZlcikuICBBIGNvb2wgZmVhdHVyZSBpcyB0aGF0IHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaGluZyBub3cKK2Fsc28gd29yayBvbiBhcnJheSBvYmplY3RzLiAgQ29udHJpYnV0aW9uIGJ5IEphY2sgSmFuc2VuLiAgKE5lZWRzCiBkb2N1bWVudGF0aW9uLikKIAogLSBTdHJpbmcgaW50ZXJuaW5nOiBkaWN0aW9uYXJ5IGxvb2t1cHMgYXJlIGZhc3RlciB3aGVuIHRoZSBsb29rdXAKQEAgLTI0NTg3LDcgKzI0NjIwLDcgQEAKIG9mIG1lc3NhZ2Ugc2VxdWVuY2Ugc3BlY2lmaWVycyB3aXRob3V0IGludm9raW5nIGEgc3VicHJvY2Vzcy4gIEFsc28KIGFkZGVkIGEgY3JlYXRlbWVzc2FnZSgpIG1ldGhvZCBieSBMYXJzIFdpcnplbml1cy4KIAotLSBUaGUgU3RyaW5nSU8uU3RyaW5nSU8gY2xhc3Mgbm93IHN1cHBvcnRzIHJlYWRsaW5lKG5ieXRlcykuICAoTGFycyAKKy0gVGhlIFN0cmluZ0lPLlN0cmluZ0lPIGNsYXNzIG5vdyBzdXBwb3J0cyByZWFkbGluZShuYnl0ZXMpLiAgKExhcnMKIFdpcnplbml1cy4pICAoT2YgY291cnNlLCB5b3Ugc2hvdWxkIGJlIHVzaW5nIGNTdHJpbmdJTyBmb3IgcGVyZm9ybWFuY2UuKQogCiAtIFVzZXJEaWN0LnB5IHN1cHBvcnRzIHRoZSBuZXcgZGljdGlvbmFyeSBtZXRob2RzIGFzIHdlbGwuCkBAIC0yNDYzNSw4ICsyNDY2OCw4IEBACiAtIFZhcmlvdXMgc21hbGwgZml4ZXMgdG8gdGhlIG5udHBsaWIucHkgbW9kdWxlIHRoYXQgSSBjYW4ndCBib3RoZXIgdG8KIGRvY3VtZW50IGluIGRldGFpbC4KIAotLSBTam9lcmQgTXVsbGVuZGVyJ3MgbWltaWZ5LnB5IG1vZHVsZSBub3cgc3VwcG9ydHMgYmFzZTY0IGVuY29kaW5nIGFuZCAKLWluY2x1ZGVzIGZ1bmN0aW9ucyB0byBoYW5kbGUgdGhlIGZ1bm55IGVuY29kaW5nIHlvdSBzb21ldGltZXMgc2VlIGluIG1haWwgCistIFNqb2VyZCBNdWxsZW5kZXIncyBtaW1pZnkucHkgbW9kdWxlIG5vdyBzdXBwb3J0cyBiYXNlNjQgZW5jb2RpbmcgYW5kCitpbmNsdWRlcyBmdW5jdGlvbnMgdG8gaGFuZGxlIHRoZSBmdW5ueSBlbmNvZGluZyB5b3Ugc29tZXRpbWVzIHNlZSBpbiBtYWlsCiBoZWFkZXJzLiAgSXQgaXMgbm93IGRvY3VtZW50ZWQuCiAKIC0gbWFpbGJveC5weTogQWRkZWQgQmFieWxNYWlsYm94LiAgSW1wcm92ZWQgdGhlIHdheSB0aGUgbWFpbGJveCBpcwpAQCAtMjQ5ODcsMjMgKzI1MDIwLDIzIEBACiBOVCAodGhlIG9sZCBWQysrIDQuMiBNYWtlZmlsZSBpcyBhbHNvIHN0aWxsIHN1cHBvcnRlZCwgYnV0IHdpbGwKIGV2ZW50dWFsbHkgYmUgd2l0aGRyYXduIGR1ZSB0byBpdHMgYnVsa2luZXNzKS4KIAotLSBTZWUgdGhlIG5vdGUgb24gdGhlIG5ldyBtb2R1bGUgc2VhcmNoIHBhdGggaW4gdGhlICJNaXNjZWxsYW5lb3VzIiBzZWN0aW9uIAorLSBTZWUgdGhlIG5vdGUgb24gdGhlIG5ldyBtb2R1bGUgc2VhcmNoIHBhdGggaW4gdGhlICJNaXNjZWxsYW5lb3VzIiBzZWN0aW9uCiBhYm92ZS4KIAogLSBTdXBwb3J0IGZvciBXaW4zMnMgKHRoZSAzMi1iaXQgV2luZG93cyBBUEkgdW5kZXIgV2luZG93cyAzLjEpIGlzCiBiYXNpY2FsbHkgd2l0aGRyYXduLiAgSWYgaXQgc3RpbGwgd29ya3MgZm9yIHlvdSwgeW91J3JlIGx1Y2t5LgogCi0tIFRoZXJlJ3MgYSBuZXcgZXh0ZW5zaW9uIG1vZHVsZSwgbXN2Y3J0LmMsIHdoaWNoIHByb3ZpZGVzIHZhcmlvdXMgCi1sb3ctbGV2ZWwgb3BlcmF0aW9ucyBkZWZpbmVkIGluIHRoZSBNaWNyb3NvZnQgVmlzdWFsIEMrKyBSdW50aW1lIExpYnJhcnkuICAKLVRoZXNlIGluY2x1ZGUgbG9ja2luZygpLCBzZXRtb2RlKCksIGdldF9vc2ZoYW5kbGUoKSwgc2V0X29zZmhhbmRsZSgpLCBhbmQgCistIFRoZXJlJ3MgYSBuZXcgZXh0ZW5zaW9uIG1vZHVsZSwgbXN2Y3J0LmMsIHdoaWNoIHByb3ZpZGVzIHZhcmlvdXMKK2xvdy1sZXZlbCBvcGVyYXRpb25zIGRlZmluZWQgaW4gdGhlIE1pY3Jvc29mdCBWaXN1YWwgQysrIFJ1bnRpbWUgTGlicmFyeS4KK1RoZXNlIGluY2x1ZGUgbG9ja2luZygpLCBzZXRtb2RlKCksIGdldF9vc2ZoYW5kbGUoKSwgc2V0X29zZmhhbmRsZSgpLCBhbmQKIGNvbnNvbGUgSS9PIGZ1bmN0aW9ucyBsaWtlIGtiaGl0KCksIGdldGNoKCkgYW5kIHB1dGNoKCkuCiAKIC0gVGhlIC11IG9wdGlvbiBub3Qgb25seSBzZXRzIHRoZSBzdGFuZGFyZCBJL08gc3RyZWFtcyB0byB1bmJ1ZmZlcmVkCiBzdGF0dXMsIGJ1dCBhbHNvIHNldHMgdGhlbSBpbiBiaW5hcnkgbW9kZS4gIChUaGlzIGNhbiBhbHNvIGJlIGRvbmUKIHVzaW5nIG1zdmNydC5zZXRtb2RlKCksIGJ5IHRoZSB3YXkuKQogCi0tIFRoZSwgc3lzLnByZWZpeCBhbmQgc3lzLmV4ZWNfcHJlZml4IHZhcmlhYmxlcyBwb2ludCB0byB0aGUgZGlyZWN0b3J5IAotd2hlcmUgUHl0aG9uIGlzIGluc3RhbGxlZCwgb3IgdG8gdGhlIHRvcCBvZiB0aGUgc291cmNlIHRyZWUsIGlmIGl0IHdhcyBydW4gCistIFRoZSwgc3lzLnByZWZpeCBhbmQgc3lzLmV4ZWNfcHJlZml4IHZhcmlhYmxlcyBwb2ludCB0byB0aGUgZGlyZWN0b3J5Cit3aGVyZSBQeXRob24gaXMgaW5zdGFsbGVkLCBvciB0byB0aGUgdG9wIG9mIHRoZSBzb3VyY2UgdHJlZSwgaWYgaXQgd2FzIHJ1bgogZnJvbSB0aGVyZS4KIAogLSBUaGUgdmFyaW91cyBvcy5wYXRoIG1vZHVsZXMgKHBvc2l4cGF0aCwgbnRwYXRoLCBtYWNwYXRoKSBub3cgc3VwcG9ydApAQCAtMjUwMTEsNyArMjUwNDQsNyBAQAogb3MucGF0aC5qb2luKGEsIGIsIGMpIGlzIHRoZSBzYW1lIGFzIG9zLnBhdGguam9pbihhLCBvcy5wYXRoLmpvaW4oYiwKIGMpKS4KIAotLSBUaGUgbnRwYXRoIG1vZHVsZSAobm9ybWFsbHkgdXNlZCBhcyBvcy5wYXRoKSBzdXBwb3J0cyB+IHRvICRIT01FIAorLSBUaGUgbnRwYXRoIG1vZHVsZSAobm9ybWFsbHkgdXNlZCBhcyBvcy5wYXRoKSBzdXBwb3J0cyB+IHRvICRIT01FCiBleHBhbnNpb24gaW4gZXhwYW5kdXNlcigpLgogCiAtIFRoZSBmcmVlemUgdG9vbCBub3cgd29ya3Mgb24gV2luZG93cy4KQEAgLTI1MzA5LDQ3ICsyNTM0Miw0NyBAQAogCiAtIE5ldyBtb2R1bGUgd2hpY2hkYiByZWNvZ25pemVzIGRibSwgZ2RibSBhbmQgYnNkZGIvZGJoYXNoIGZpbGVzLgogCi0tIFRoZSBEb2MvTWFrZWZpbGUgdGFyZ2V0cyBoYXZlIGJlZW4gcmVvcmdhbml6ZWQgc29tZXdoYXQgdG8gcmVtb3ZlIHRoZSAKKy0gVGhlIERvYy9NYWtlZmlsZSB0YXJnZXRzIGhhdmUgYmVlbiByZW9yZ2FuaXplZCBzb21ld2hhdCB0byByZW1vdmUgdGhlCiBpbnNpc3RlbmNlIG9uIGFsd2F5cyBnZW5lcmF0aW5nIFBvc3RTY3JpcHQuCiAKIC0gVGhlIHRleGluZm8gdG8gaHRtbCBmaWx0ZXIgKERvYy90ZXhpMmh0bWwucHkpIGhhcyBiZWVuIGltcHJvdmVkIHNvbWV3aGF0LgogCi0tICJlcnJvcnMuaCIgaGFzIGJlZW4gcmVuYW1lZCB0byAicHllcnJvcnMuaCIgdG8gcmVzb2x2ZSBhIGxvbmctc3RhbmRpbmcgCistICJlcnJvcnMuaCIgaGFzIGJlZW4gcmVuYW1lZCB0byAicHllcnJvcnMuaCIgdG8gcmVzb2x2ZSBhIGxvbmctc3RhbmRpbmcKIG5hbWUgY29uZmxpY3Qgb24gdGhlIE1hYy4KIAotLSBMaW5raW5nIGEgbW9kdWxlIGNvbXBpbGVkIHdpdGggYSBkaWZmZXJlbnQgc2V0dGluZyBmb3IgUHlfVFJBQ0VfUkVGUyBub3cgCistIExpbmtpbmcgYSBtb2R1bGUgY29tcGlsZWQgd2l0aCBhIGRpZmZlcmVudCBzZXR0aW5nIGZvciBQeV9UUkFDRV9SRUZTIG5vdwogZ2VuZXJhdGVzIGEgbGlua2VyIGVycm9yIHJhdGhlciB0aGFuIGEgY29yZSBkdW1wLgogCi0tIFRoZSBjZ2kgbW9kdWxlIGhhcyBhIG5ldyBjb252ZW5pZW5jZSBmdW5jdGlvbiBwcmludF9leGNlcHRpb24oKSwgd2hpY2ggCi1mb3JtYXRzIGEgcHl0aG9uIGV4Y2VwdGlvbiB1c2luZyBIVE1MLiAgSXQgYWxzbyBmaXhlcyBhIGJ1ZyBpbiB0aGUgCi1jb21wYXRpYmlsaXR5IGNvZGUgYW5kIGFkZHMgYSBkdWJpb3VzIGZlYXR1cmUgd2hpY2ggbWFrZXMgaXQgcG9zc2libGUgdG8gCistIFRoZSBjZ2kgbW9kdWxlIGhhcyBhIG5ldyBjb252ZW5pZW5jZSBmdW5jdGlvbiBwcmludF9leGNlcHRpb24oKSwgd2hpY2gKK2Zvcm1hdHMgYSBweXRob24gZXhjZXB0aW9uIHVzaW5nIEhUTUwuICBJdCBhbHNvIGZpeGVzIGEgYnVnIGluIHRoZQorY29tcGF0aWJpbGl0eSBjb2RlIGFuZCBhZGRzIGEgZHViaW91cyBmZWF0dXJlIHdoaWNoIG1ha2VzIGl0IHBvc3NpYmxlIHRvCiBoYXZlIHR3byBxdWVyeSBzdHJpbmdzLCBvbmUgaW4gdGhlIFVSTCBhbmQgb25lIGluIHRoZSBQT1NUIGRhdGEuCiAKLS0gQSBzdWJ0bGUgY2hhbmdlIGluIHRoZSB1bnBpY2tsaW5nIG9mIGNsYXNzIGluc3RhbmNlcyBtYWtlcyBpdCBwb3NzaWJsZSAKLXRvIHVucGlja2xlIGluIHJlc3RyaWN0ZWQgZXhlY3V0aW9uIG1vZGUsIHdoZXJlIHRoZSBfX2RpY3RfXyBhdHRyaWJ1dGUgaXMgCistIEEgc3VidGxlIGNoYW5nZSBpbiB0aGUgdW5waWNrbGluZyBvZiBjbGFzcyBpbnN0YW5jZXMgbWFrZXMgaXQgcG9zc2libGUKK3RvIHVucGlja2xlIGluIHJlc3RyaWN0ZWQgZXhlY3V0aW9uIG1vZGUsIHdoZXJlIHRoZSBfX2RpY3RfXyBhdHRyaWJ1dGUgaXMKIG5vdCBhdmFpbGFibGUgKGJ1dCBzZXRhdHRyKCkgaXMpLgogCi0tIERvY3VtZW50YXRpb24gZm9yIG9zLnBhdGguc3BsaXRleHQoKSAoPT0gcG9zaXhwYXRoLnNwbGl0ZXh0KCkpIGhhcyBiZWVuIAorLSBEb2N1bWVudGF0aW9uIGZvciBvcy5wYXRoLnNwbGl0ZXh0KCkgKD09IHBvc2l4cGF0aC5zcGxpdGV4dCgpKSBoYXMgYmVlbgogY2xlYXJlZCB1cC4gIEl0IHNwbGl0cyBhdCB0aGUgKmxhc3QqIGRvdC4KIAogLSBwb3NpeGZpbGUgbG9ja2luZyBpcyBub3cgYWxzbyBjb3JyZWN0bHkgc3VwcG9ydGVkIG9uIEFJWC4KIAotLSBUaGUgdGVtcGZpbGUgbW9kdWxlIG9uY2UgYWdhaW4gaG9ub3JzIGFuIGluaXRpYWwgc2V0dGluZyBvZiB0bXBkaXIuICBJdCAKKy0gVGhlIHRlbXBmaWxlIG1vZHVsZSBvbmNlIGFnYWluIGhvbm9ycyBhbiBpbml0aWFsIHNldHRpbmcgb2YgdG1wZGlyLiAgSXQKIG5vdyB3b3JrcyBvbiBXaW5kb3dzLCB0b28uCiAKLS0gVGhlIHRyYWNlYmFjayBtb2R1bGUgaGFzIHNvbWUgbmV3IGZ1bmN0aW9ucyB0byBleHRyYWN0LCBmb3JtYXQgYW5kIHByaW50IAorLSBUaGUgdHJhY2ViYWNrIG1vZHVsZSBoYXMgc29tZSBuZXcgZnVuY3Rpb25zIHRvIGV4dHJhY3QsIGZvcm1hdCBhbmQgcHJpbnQKIHRoZSBhY3RpdmUgc3RhY2suCiAKLS0gU29tZSB0cmFuc2xhdGlvbiBmdW5jdGlvbnMgaW4gdGhlIHVybGxpYiBtb2R1bGUgaGF2ZSBiZWVuIG1hZGUgYSBsaXR0bGUgCistIFNvbWUgdHJhbnNsYXRpb24gZnVuY3Rpb25zIGluIHRoZSB1cmxsaWIgbW9kdWxlIGhhdmUgYmVlbiBtYWRlIGEgbGl0dGxlCiBsZXNzIHNsdWdnaXNoLgogCi0tIFRoZSBhZGR0YWdfKiBtZXRob2RzIGZvciBDYW52YXMgd2lkZ2V0cyBpbiBUa2ludGVyIGFzIHdlbGwgYXMgaW4gdGhlIAotc2VwYXJhdGUgQ2FudmFzIGNsYXNzIGhhdmUgYmVlbiBmaXhlZCBzbyB0aGV5IGFjdHVhbGx5IGRvIHNvbWV0aGluZyAKKy0gVGhlIGFkZHRhZ18qIG1ldGhvZHMgZm9yIENhbnZhcyB3aWRnZXRzIGluIFRraW50ZXIgYXMgd2VsbCBhcyBpbiB0aGUKK3NlcGFyYXRlIENhbnZhcyBjbGFzcyBoYXZlIGJlZW4gZml4ZWQgc28gdGhleSBhY3R1YWxseSBkbyBzb21ldGhpbmcKIG1lYW5pbmdmdWwuCiAKIC0gQSB0aW55IF90ZXN0KCkgZnVuY3Rpb24gaGFzIGJlZW4gYWRkZWQgdG8gVGtpbnRlci5weS4KIAotLSBBIGdlbmVyaWMgTWFrZWZpbGUgZm9yIGR5bmFtaWNhbGx5IGxvYWRlZCBtb2R1bGVzIGlzIHByb3ZpZGVkIGluIHRoZSBNaXNjIAorLSBBIGdlbmVyaWMgTWFrZWZpbGUgZm9yIGR5bmFtaWNhbGx5IGxvYWRlZCBtb2R1bGVzIGlzIHByb3ZpZGVkIGluIHRoZSBNaXNjCiBzdWJkaXJlY3RvcnkgKE1pc2MvZ01ha2VmaWxlKS4KIAogLSBBIG5ldyB2ZXJzaW9uIG9mIHB5dGhvbi1tb2RlLmVsIGZvciBFbWFjcyBpcyBwcm92aWRlZC4gIFNlZQpAQCAtMjUzNTcsMjUgKzI1MzkwLDI1IEBACiBzZXBhcmF0ZSBmaWxlIHB5aW1lbnUuZWwgaXMgbm8gbG9uZ2VyIG5lZWRlZCwgaW1lbnUgc3VwcG9ydCBpcyBmb2xkZWQKIGludG8gcHl0aG9uLW1vZGUuZWwuCiAKLS0gVGhlIGNvbmZpZ3VyZSBzY3JpcHQgY2FuIGZpbmFsbHkgY29ycmVjdGx5IGZpbmQgdGhlIHJlYWRsaW5lIGxpYnJhcnkgaW4gYSAKLW5vbi1zdGFuZGFyZCBsb2NhdGlvbi4gIFRoZSBMREZMQUdTIHZhcmlhYmxlIGlzIHBhc3NlZCBvbiB0aGUgTWFrZWZpbGVzIAorLSBUaGUgY29uZmlndXJlIHNjcmlwdCBjYW4gZmluYWxseSBjb3JyZWN0bHkgZmluZCB0aGUgcmVhZGxpbmUgbGlicmFyeSBpbiBhCitub24tc3RhbmRhcmQgbG9jYXRpb24uICBUaGUgTERGTEFHUyB2YXJpYWJsZSBpcyBwYXNzZWQgb24gdGhlIE1ha2VmaWxlcwogZnJvbSB0aGUgY29uZmlndXJlIHNjcmlwdC4KIAotLSBTaGFyZWQgbGlicmFyaWVzIGFyZSBub3cgaW5zdGFsbGVkIGFzIHByb2dyYW1zIChpLmUuIHdpdGggZXhlY3V0YWJsZSAKKy0gU2hhcmVkIGxpYnJhcmllcyBhcmUgbm93IGluc3RhbGxlZCBhcyBwcm9ncmFtcyAoaS5lLiB3aXRoIGV4ZWN1dGFibGUKIHBlcm1pc3Npb24pLiAgVGhpcyBpcyByZXF1aXJlZCBvbiBIUC1VWCBhbmQgd29uJ3QgaHVydCBvbiBvdGhlciBzeXN0ZW1zLgogCi0tIFRoZSBvYmpjLmMgbW9kdWxlIGlzIG5vIGxvbmdlciBwYXJ0IG9mIHRoZSBkaXN0cmlidXRpb24uICBPYmplY3RpdmUtQyAKKy0gVGhlIG9iamMuYyBtb2R1bGUgaXMgbm8gbG9uZ2VyIHBhcnQgb2YgdGhlIGRpc3RyaWJ1dGlvbi4gIE9iamVjdGl2ZS1DCiBzdXBwb3J0IG1heSBiZWNvbWUgYXZhaWxhYmxlIGFzIGNvbnRyaWJ1dGVkIHNvZnR3YXJlIG9uIHRoZSBmdHAgc2l0ZS4KIAogLSBUaGUgc3liYXNlIG1vZHVsZSBpcyBubyBsb25nZXIgcGFydCBvZiB0aGUgZGlzdHJpYnV0aW9uLiAgQSBtdWNoCiBpbXByb3ZlZCBzeWJhc2UgbW9kdWxlIGlzIGF2YWlsYWJsZSBhcyBjb250cmlidXRlZCBzb2Z0d2FyZSBmcm9tIHRoZQogZnRwIHNpdGUuCiAKLS0gX3RraW50ZXIgaXMgbm93IGNvbXBhdGlibGUgd2l0aCBUY2wgNy41IC8gVGsgNC4xIHBhdGNoMSBvbiBXaW5kb3dzIGFuZCAKLU1hYyAoZG9uJ3QgdXNlIHVucGF0Y2hlZCBUY2wvVGshKS4gIFRoZSBkZWZhdWx0IGxpbmUgaW4gdGhlIFNldHVwLmluIGZpbGUgCistIF90a2ludGVyIGlzIG5vdyBjb21wYXRpYmxlIHdpdGggVGNsIDcuNSAvIFRrIDQuMSBwYXRjaDEgb24gV2luZG93cyBhbmQKK01hYyAoZG9uJ3QgdXNlIHVucGF0Y2hlZCBUY2wvVGshKS4gIFRoZSBkZWZhdWx0IGxpbmUgaW4gdGhlIFNldHVwLmluIGZpbGUKIG5vdyBsaW5rcyB3aXRoIFRjbCA3LjUgLyBUayA0LjEgcmF0aGVyIHRoYW4gNy40LzQuMC4KIAotLSBJbiBTZXR1cCwgeW91IGNhbiBub3cgd3JpdGUgIipzaGFyZWQqIiBpbnN0ZWFkIG9mICIqbm9jb25maWcqIiwgYW5kIHlvdSAKKy0gSW4gU2V0dXAsIHlvdSBjYW4gbm93IHdyaXRlICIqc2hhcmVkKiIgaW5zdGVhZCBvZiAiKm5vY29uZmlnKiIsIGFuZCB5b3UKIGNhbiB1c2UgKi5zbyBhbmQgKi5zbCBhcyBzaGFyZWQgbGlicmFyaWVzLgogCiAtIFNvbWUgbW9yZSBmaWRnZXRpbmcgZm9yIEFJWCBzaGFyZWQgbGlicmFyaWVzLgpAQCAtMjUzODQsODEgKzI1NDE3LDgxIEBACiAoTm90ZSAtLSBhIGNvbXBsZXRlIHJlcGxhY2VtZW50IGJ5IE5pZWxzIE1vImxsZXIsIGNhbGxlZCBncG1vZHVsZSwgaXMKIGF2YWlsYWJsZSBmcm9tIHRoZSBjb250cmliIGRpcmVjdG9yeSBvbiB0aGUgZnRwIHNpdGUuKQogCi0tIEEgd2FybmluZyBpcyB3cml0dGVuIHRvIHN5cy5zdGRlcnIgd2hlbiBhIF9fZGVsX18gbWV0aG9kIHJhaXNlcyBhbiAKKy0gQSB3YXJuaW5nIGlzIHdyaXR0ZW4gdG8gc3lzLnN0ZGVyciB3aGVuIGEgX19kZWxfXyBtZXRob2QgcmFpc2VzIGFuCiBleGNlcHRpb24gKGZvcm1lcmx5LCBzdWNoIGV4Y2VwdGlvbnMgd2VyZSBjb21wbGV0ZWx5IGlnbm9yZWQpLgogCi0tIFRoZSBjb25maWd1cmUgc2NyaXB0IG5vdyBkZWZpbmVzIEhBVkVfT0xEX0NQUCBpZiB0aGUgQyBwcmVwcm9jZXNzb3IgaXMgCistIFRoZSBjb25maWd1cmUgc2NyaXB0IG5vdyBkZWZpbmVzIEhBVkVfT0xEX0NQUCBpZiB0aGUgQyBwcmVwcm9jZXNzb3IgaXMKIGluY2FwYWJsZSBvZiBBTlNJIHN0eWxlIHRva2VuIGNvbmNhdGVuYXRpb24gYW5kIHN0cmluZ2lmaWNhdGlvbi4KIAotLSBBbGwgc291cmNlIGZpbGVzIChleGNlcHQgYSBmZXcgcGxhdGZvcm0gc3BlY2lmaWMgbW9kdWxlcykgYXJlIG9uY2UgYWdhaW4gCistIEFsbCBzb3VyY2UgZmlsZXMgKGV4Y2VwdCBhIGZldyBwbGF0Zm9ybSBzcGVjaWZpYyBtb2R1bGVzKSBhcmUgb25jZSBhZ2FpbgogY29tcGF0aWJsZSB3aXRoIEsmUiBDIGNvbXBpbGVycyBhcyB3ZWxsIGFzIEFOU0kgY29tcGlsZXJzLiAgSW4gcGFydGljdWxhciwKLUFOU0ktaXNtcyBoYXZlIGJlZW4gcmVtb3ZlZCBvciBtYWRlIGNvbmRpdGlvbmFsIGluIGNvbXBsZXhvYmplY3QuYywgCitBTlNJLWlzbXMgaGF2ZSBiZWVuIHJlbW92ZWQgb3IgbWFkZSBjb25kaXRpb25hbCBpbiBjb21wbGV4b2JqZWN0LmMsCiBnZXRhcmdzLmMgYW5kIG9wZXJhdG9yLmMuCiAKLS0gVGhlIGFic3RyYWN0IG9iamVjdCBBUEkgaGFzIHRocmVlIG5ldyBmdW5jdGlvbnMsIFB5T2JqZWN0X0RlbEl0ZW0sIAorLSBUaGUgYWJzdHJhY3Qgb2JqZWN0IEFQSSBoYXMgdGhyZWUgbmV3IGZ1bmN0aW9ucywgUHlPYmplY3RfRGVsSXRlbSwKIFB5U2VxdWVuY2VfRGVsSXRlbSwgYW5kIFB5U2VxdWVuY2VfRGVsU2xpY2UuCiAKLS0gVGhlIG9wZXJhdG9yIG1vZHVsZSBoYXMgbmV3IGZ1bmN0aW9ucyBkZWxpdGVtIGFuZCBkZWxzbGljZSwgYW5kIHRoZSAKLWZ1bmN0aW9ucyAib3IiIGFuZCAiYW5kIiBhcmUgcmVuYW1lZCB0byAib3JfIiBhbmQgImFuZF8iIChzaW5jZSAib3IiIGFuZCAKKy0gVGhlIG9wZXJhdG9yIG1vZHVsZSBoYXMgbmV3IGZ1bmN0aW9ucyBkZWxpdGVtIGFuZCBkZWxzbGljZSwgYW5kIHRoZQorZnVuY3Rpb25zICJvciIgYW5kICJhbmQiIGFyZSByZW5hbWVkIHRvICJvcl8iIGFuZCAiYW5kXyIgKHNpbmNlICJvciIgYW5kCiAiYW5kIiBhcmUgcmVzZXJ2ZWQgd29yZHMpLiAgKCJfX29yX18iIGFuZCAiX19hbmRfXyIgYXJlIHVuY2hhbmdlZC4pCiAKLS0gVGhlIGVudmlyb25tZW50IG1vZHVsZSBpcyBubyBsb25nZXIgc3VwcG9ydGVkOyBwdXRlbnYoKSBpcyBub3cgYSBmdW5jdGlvbiAKKy0gVGhlIGVudmlyb25tZW50IG1vZHVsZSBpcyBubyBsb25nZXIgc3VwcG9ydGVkOyBwdXRlbnYoKSBpcyBub3cgYSBmdW5jdGlvbgogaW4gcG9zaXhtb2R1bGUgKGFsc28gdW5kZXIgTlQpLgogCiAtIEVycm9yIGluIGZpbHRlcig8ZnVuY3Rpb24+LCAiIikgaGFzIGJlZW4gZml4ZWQuCiAKIC0gVW5yZWNvZ25pemVkIGtleXdvcmQgYXJndW1lbnRzIHJhaXNlIFR5cGVFcnJvciwgbm90IEtleUVycm9yLgogCi0tIEJldHRlciBwb3J0YWJpbGl0eSwgZmV3ZXIgYnVncyBhbmQgbWVtb3J5IGxlYWtzLCBmZXdlciBjb21waWxlciB3YXJuaW5ncywgCistIEJldHRlciBwb3J0YWJpbGl0eSwgZmV3ZXIgYnVncyBhbmQgbWVtb3J5IGxlYWtzLCBmZXdlciBjb21waWxlciB3YXJuaW5ncywKIHNvbWUgbW9yZSBkb2N1bWVudGF0aW9uLgogCi0tIEJ1ZyBpbiBmbG9hdCBwb3dlciBib3VuZGFyeSBjYXNlICgwLjAgdG8gdGhlIG5lZ2F0aXZlIGludGVnZXIgcG93ZXIpIAorLSBCdWcgaW4gZmxvYXQgcG93ZXIgYm91bmRhcnkgY2FzZSAoMC4wIHRvIHRoZSBuZWdhdGl2ZSBpbnRlZ2VyIHBvd2VyKQogZml4ZWQuCiAKLS0gVGhlIHRlc3Qgb2YgbmVnYXRpdmUgbnVtYmVyIHRvIHRoZSBmbG9hdCBwb3dlciBoYXMgYmVlbiBtb3ZlZCBmcm9tIHRoZSAKLWJ1aWx0LWluIHBvdygpIGZ1bmN0aW4gdG8gZmxvYXRvYmplY3QuYyAoc28gY29tcGxleCBudW1iZXJzIGNhbiB5aWVsZCB0aGUgCistIFRoZSB0ZXN0IG9mIG5lZ2F0aXZlIG51bWJlciB0byB0aGUgZmxvYXQgcG93ZXIgaGFzIGJlZW4gbW92ZWQgZnJvbSB0aGUKK2J1aWx0LWluIHBvdygpIGZ1bmN0aW4gdG8gZmxvYXRvYmplY3QuYyAoc28gY29tcGxleCBudW1iZXJzIGNhbiB5aWVsZCB0aGUKIGNvcnJlY3QgcmVzdWx0KS4KIAotLSBUaGUgYnVnIGludHJvZHVjZWQgaW4gYmV0YTIgd2hlcmUgc2hhcmVkIGxpYnJhcmllcyBsb2FkZWQgKHVzaW5nIAorLSBUaGUgYnVnIGludHJvZHVjZWQgaW4gYmV0YTIgd2hlcmUgc2hhcmVkIGxpYnJhcmllcyBsb2FkZWQgKHVzaW5nCiBkbG9wZW4oKSkgZnJvbSB0aGUgY3VycmVudCBkaXJlY3Rvcnkgd291bGQgZmFpbCwgaGFzIGJlZW4gZml4ZWQuCiAKLS0gTW9kdWxlcyBpbXBvcnRlZCBhcyBzaGFyZWQgbGlicmFyaWVzIG5vdyBhbHNvIGhhdmUgYSBfX2ZpbGVfXyBhdHRyaWJ1dGUsIAotZ2l2aW5nIHRoZSBmaWxlbmFtZSBmcm9tIHdoaWNoIHRoZXkgd2VyZSBsb2FkZWQuICBUaGUgb25seSBtb2R1bGVzIHdpdGhvdXQgCistIE1vZHVsZXMgaW1wb3J0ZWQgYXMgc2hhcmVkIGxpYnJhcmllcyBub3cgYWxzbyBoYXZlIGEgX19maWxlX18gYXR0cmlidXRlLAorZ2l2aW5nIHRoZSBmaWxlbmFtZSBmcm9tIHdoaWNoIHRoZXkgd2VyZSBsb2FkZWQuICBUaGUgb25seSBtb2R1bGVzIHdpdGhvdXQKIGEgX19maWxlX18gYXR0cmlidXRlIG5vdyBhcmUgYnVpbHQtaW4gbW9kdWxlcy4KIAotLSBPbiB0aGUgTWFjLCBkeW5hbWljYWxseSBsb2FkZWQgbW9kdWxlcyBjYW4gZW5kIGluIGVpdGhlciAiLnNsYiIgb3IgCi0iLjxwbGF0Zm9ybT4uc2xiIiB3aGVyZSA8cGxhdGZvcm0+IGlzIGVpdGhlciAiQ0ZNNjhLIiBvciAicHBjIi4gIFRoZSAiLnNsYiIgCistIE9uIHRoZSBNYWMsIGR5bmFtaWNhbGx5IGxvYWRlZCBtb2R1bGVzIGNhbiBlbmQgaW4gZWl0aGVyICIuc2xiIiBvcgorIi48cGxhdGZvcm0+LnNsYiIgd2hlcmUgPHBsYXRmb3JtPiBpcyBlaXRoZXIgIkNGTTY4SyIgb3IgInBwYyIuICBUaGUgIi5zbGIiCiBleHRlbnNpb24gc2hvdWxkIG9ubHkgYmUgdXNlZCBmb3IgImZhdCIgYmluYXJpZXMuCiAKLS0gQyBBUEkgYWRkaXRpb246IG1hcnNoYWwuYyBub3cgc3VwcG9ydHMgCistIEMgQVBJIGFkZGl0aW9uOiBtYXJzaGFsLmMgbm93IHN1cHBvcnRzCiBQeU1hcnNoYWxfV3JpdGVPYmplY3RUb1N0cmluZyhvYmplY3QpLgogCiAtIEMgQVBJIGFkZGl0aW9uOiBnZXRhcmdzLmMgbm93IHN1cHBvcnRzCiBQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkaWN0LCBmb3JtYXQsIGt3bmFtZXMsIC4uLikKIHRvIHBhcnNlIGtleXdvcmQgYXJndW1lbnRzLgogCi0tIFRoZSBQQyB2ZXJzaW9uaW5nIHNjaGVtZSAoc3lzLndpbnZlcikgaGFzIGNoYW5nZWQgb25jZSBhZ2Fpbi4gIHRoZSAKLXZlcnNpb24gbnVtYmVyIGlzIG5vdyAiPGRpZ2l0Pi48ZGlnaXQ+LjxkaWdpdD4uPGFwaXZlcnNpb24+Iiwgd2hlcmUgdGhlIAotZmlyc3QgdGhyZWUgPGRpZ2l0PnMgYXJlIHRoZSBQeXRob24gdmVyc2lvbiAoZS5nLiAiMS40LjAiIGZvciBQeXRob24gMS40LCAKLSIxLjQuMSIgZm9yIFB5dGhvbiAxLjQuMSAtLSB0aGUgYmV0YSBsZXZlbCBpcyBub3QgaW5jbHVkZWQpIGFuZCAKKy0gVGhlIFBDIHZlcnNpb25pbmcgc2NoZW1lIChzeXMud2ludmVyKSBoYXMgY2hhbmdlZCBvbmNlIGFnYWluLiAgdGhlCit2ZXJzaW9uIG51bWJlciBpcyBub3cgIjxkaWdpdD4uPGRpZ2l0Pi48ZGlnaXQ+LjxhcGl2ZXJzaW9uPiIsIHdoZXJlIHRoZQorZmlyc3QgdGhyZWUgPGRpZ2l0PnMgYXJlIHRoZSBQeXRob24gdmVyc2lvbiAoZS5nLiAiMS40LjAiIGZvciBQeXRob24gMS40LAorIjEuNC4xIiBmb3IgUHl0aG9uIDEuNC4xIC0tIHRoZSBiZXRhIGxldmVsIGlzIG5vdCBpbmNsdWRlZCkgYW5kCiA8YXBpdmVyc2lvbj4gaXMgdGhlIGZvdXItZGlnaXQgUFlUSE9OX0FQSV9WRVJTSU9OIChjdXJyZW50bHkgMTAwNSkuCiAKIC0gaDJweS5weSBhY2NlcHRzIHdoaXRlc3BhY2UgYmVmb3JlIHRoZSAjIGluIENQUCBkaXJlY3RpdmVzCiAKLS0gT24gU29sYXJpcyAyLjUsIGl0IHNob3VsZCBub3cgYmUgcG9zc2libGUgdG8gdXNlIGVpdGhlciBQb3NpeCB0aHJlYWRzIG9yIAotU29sYXJpcyB0aHJlYWRzIChYWFg6IGhvdyBkbyB5b3Ugc2VsZWN0IHdoaWNoIGlzIHVzZWQ/Pz8pLiAgKE5vdGU6IHRoZSAKLVB5dGhvbiBwdGhyZWFkcyBpbnRlcmZhY2UgZG9lc24ndCBmdWxseSBzdXBwb3J0IHNlbWFwaG9yZXMgeWV0IC0tIGFueW9uZSAKKy0gT24gU29sYXJpcyAyLjUsIGl0IHNob3VsZCBub3cgYmUgcG9zc2libGUgdG8gdXNlIGVpdGhlciBQb3NpeCB0aHJlYWRzIG9yCitTb2xhcmlzIHRocmVhZHMgKFhYWDogaG93IGRvIHlvdSBzZWxlY3Qgd2hpY2ggaXMgdXNlZD8/PykuICAoTm90ZTogdGhlCitQeXRob24gcHRocmVhZHMgaW50ZXJmYWNlIGRvZXNuJ3QgZnVsbHkgc3VwcG9ydCBzZW1hcGhvcmVzIHlldCAtLSBhbnlvbmUKIGNhcmUgdG8gZml4IHRoaXM/KQogCi0tIFRocmVhZCBzdXBwb3J0IHNob3VsZCBub3cgd29yayBvbiBBSVgsIHVzaW5nIGVpdGhlciBEQ0UgdGhyZWFkcyBvciAKKy0gVGhyZWFkIHN1cHBvcnQgc2hvdWxkIG5vdyB3b3JrIG9uIEFJWCwgdXNpbmcgZWl0aGVyIERDRSB0aHJlYWRzIG9yCiBwdGhyZWFkcy4KIAogLSBOZXcgZmlsZSBEZW1vL3NvY2tldHMvdW5pY2FzdC5weQogCi0tIFdvcmtpbmcgTWFjIHBvcnQsIHdpdGggQ0ZNNjhLIHN1cHBvcnQsIHdpdGggVGsgNC4xIHN1cHBvcnQgKHRob3VnaCBub3QgCistIFdvcmtpbmcgTWFjIHBvcnQsIHdpdGggQ0ZNNjhLIHN1cHBvcnQsIHdpdGggVGsgNC4xIHN1cHBvcnQgKHRob3VnaCBub3QKIGJvdGgpIChYWFgpCiAKLS0gTmV3IHByb2plY3Qgc2V0dXAgZm9yIFBDIHBvcnQsIG5vdyBjb21wYXRpYmxlIHdpdGggUHl0aG9uV2luLCB3aXRoIAorLSBOZXcgcHJvamVjdCBzZXR1cCBmb3IgUEMgcG9ydCwgbm93IGNvbXBhdGlibGUgd2l0aCBQeXRob25XaW4sIHdpdGgKIF90a2ludGVyIGFuZCBOdW1QeSBzdXBwb3J0IChYWFgpCiAKIC0gTmV3IG1vZHVsZSBzaXRlLnB5IChYWFgpCkBAIC0yNTQ3NSw3ICsyNTUwOCw3IEBACiAKIC0gc3RyaW5nLmF0b2kgYy5zLiBub3cgcmFpc2UgYW4gZXhjZXB0aW9uIGZvciBhbiBlbXB0eSBpbnB1dCBzdHJpbmcuCiAKLS0gQXQgbGFzdCwgaXQgaXMgbm8gbG9uZ2VyIG5lY2Vzc2FyeSB0byBkZWZpbmUgSEFWRV9DT05GSUdfSCBpbiBvcmRlciB0byAKKy0gQXQgbGFzdCwgaXQgaXMgbm8gbG9uZ2VyIG5lY2Vzc2FyeSB0byBkZWZpbmUgSEFWRV9DT05GSUdfSCBpbiBvcmRlciB0bwogaGF2ZSBjb25maWcuaCBpbmNsdWRlZCBhdCB2YXJpb3VzIHBsYWNlcy4KIAogLSBVbnJlY29nbml6ZWQga2V5d29yZCBhcmd1bWVudHMgbm93IHJhaXNlIFR5cGVFcnJvciByYXRoZXIgdGhhbiBLZXlFcnJvci4KQEAgLTI1NDgzLDI1ICsyNTUxNiwyNSBAQAogLSBUaGUgbWFrZXNldHVwIHNjcmlwdCByZWNvZ25pemVzIGZpbGVzIHdpdGggZXh0ZW5zaW9uIC5zbyBvciAuc2wgYXMKIChzaGFyZWQpIGxpYnJhcmllcy4KIAotLSAnYWNjZXNzJyBpcyBubyBsb25nZXIgYSByZXNlcnZlZCB3b3JkLCBhbmQgYWxsIGNvZGUgcmVsYXRlZCB0byBpdHMgCi1pbXBsZW1lbnRhdGlvbiBpcyBnb25lIChvciBhdCBsZWFzdCAjaWZkZWYnZWQgb3V0KS4gIFRoaXMgc2hvdWxkIG1ha2UgCistICdhY2Nlc3MnIGlzIG5vIGxvbmdlciBhIHJlc2VydmVkIHdvcmQsIGFuZCBhbGwgY29kZSByZWxhdGVkIHRvIGl0cworaW1wbGVtZW50YXRpb24gaXMgZ29uZSAob3IgYXQgbGVhc3QgI2lmZGVmJ2VkIG91dCkuICBUaGlzIHNob3VsZCBtYWtlCiBQeXRob24gYSBsaXR0bGUgc3BlZWRpZXIgdG9vIQogCi0tIFBlcmZvcm1hbmNlIGVuaGFuY2VtZW50cyBzdWdnZXN0ZWQgYnkgU2pvZXJkIE11bGxlbmRlci4gIFRoaXMgaW5jbHVkZXMgCi10aGUgaW50cm9kdWN0aW9uIG9mIHR3byBuZXcgb3B0aW9uYWwgZnVuY3Rpb24gcG9pbnRlcnMgaW4gdHlwZSBvYmplY3QsIAotZ2V0YXR0cm8gYW5kIHNldGF0dHJvLCB3aGljaCBhcmUgbGlrZSBnZXRhdHRyIGFuZCBzZXRhdHRyIGJ1dCB0YWtlIGEgCistIFBlcmZvcm1hbmNlIGVuaGFuY2VtZW50cyBzdWdnZXN0ZWQgYnkgU2pvZXJkIE11bGxlbmRlci4gIFRoaXMgaW5jbHVkZXMKK3RoZSBpbnRyb2R1Y3Rpb24gb2YgdHdvIG5ldyBvcHRpb25hbCBmdW5jdGlvbiBwb2ludGVycyBpbiB0eXBlIG9iamVjdCwKK2dldGF0dHJvIGFuZCBzZXRhdHRybywgd2hpY2ggYXJlIGxpa2UgZ2V0YXR0ciBhbmQgc2V0YXR0ciBidXQgdGFrZSBhCiBzdHJpbmcgb2JqZWN0IGluc3RlYWQgb2YgYSBDIHN0cmluZyBwb2ludGVyLgogCi0tIE5ldyBvcGVyYXRpb25zIGluIHN0cmluZyBtb2R1bGU6IGxzdHJpcChzKSBhbmQgcnN0cmlwKHMpIHN0cmlwIHdoaXRlc3BhY2UgCi1vbmx5IG9uIHRoZSBsZWZ0IG9yIG9ubHkgb24gdGhlIHJpZ2h0LCBBIG5ldyBvcHRpb25hbCB0aGlyZCBhcmd1bWVudCB0byAKLXNwbGl0KCkgc3BlY2lmaWVzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBzZXBhcmF0b3JzIGhvbm9yZWQgKHNvIAotc3BsaXRmaWVsZHMocywgc2VwLCBuKSByZXR1cm5zIGEgbGlzdCBvZiBhdCBtb3N0IG4rMSBlbGVtZW50cykuICAoU2luY2UgCistIE5ldyBvcGVyYXRpb25zIGluIHN0cmluZyBtb2R1bGU6IGxzdHJpcChzKSBhbmQgcnN0cmlwKHMpIHN0cmlwIHdoaXRlc3BhY2UKK29ubHkgb24gdGhlIGxlZnQgb3Igb25seSBvbiB0aGUgcmlnaHQsIEEgbmV3IG9wdGlvbmFsIHRoaXJkIGFyZ3VtZW50IHRvCitzcGxpdCgpIHNwZWNpZmllcyB0aGUgbWF4aW11bSBudW1iZXIgb2Ygc2VwYXJhdG9ycyBob25vcmVkIChzbworc3BsaXRmaWVsZHMocywgc2VwLCBuKSByZXR1cm5zIGEgbGlzdCBvZiBhdCBtb3N0IG4rMSBlbGVtZW50cykuICAoU2luY2UKIDEuMywgc3BsaXRmaWVsZHMocywgTm9uZSkgaXMgdG90YWxseSBlcXVpdmFsZW50IHRvIHNwbGl0KHMpLikKLXN0cmluZy5jYXB3b3JkcygpIGhhcyBhbiBvcHRpb25hbCBzZWNvbmQgYXJndW1lbnQgc3BlY2lmeWluZyB0aGUgCitzdHJpbmcuY2Fwd29yZHMoKSBoYXMgYW4gb3B0aW9uYWwgc2Vjb25kIGFyZ3VtZW50IHNwZWNpZnlpbmcgdGhlCiBzZXBhcmF0b3IgKHdoaWNoIGlzIHBhc3NlZCB0byBzcGxpdCgpKS4KIAotLSByZWdzdWIuc3BsaXQoKSBoYXMgdGhlIHNhbWUgYWRkaXRpb24gYXMgc3RyaW5nLnNwbGl0KCkuICByZWdzdWIuc3BsaXR4KHMsIAotc2VwLCBtYXhzZXApIGltcGxlbWVudHMgdGhlIGZ1bmN0aW9uYWxpdHkgdGhhdCB3YXMgcmVnc3ViLnNwbGl0KHMsIDEpIGluIAorLSByZWdzdWIuc3BsaXQoKSBoYXMgdGhlIHNhbWUgYWRkaXRpb24gYXMgc3RyaW5nLnNwbGl0KCkuICByZWdzdWIuc3BsaXR4KHMsCitzZXAsIG1heHNlcCkgaW1wbGVtZW50cyB0aGUgZnVuY3Rpb25hbGl0eSB0aGF0IHdhcyByZWdzdWIuc3BsaXQocywgMSkgaW4KIDEuNGJldGEyIChyZXR1cm4gYSBsaXN0IGNvbnRhaW5pbmcgdGhlIGRlbGltaXRlcnMgYXMgd2VsbCBhcyB0aGUgd29yZHMpLgogCiAtIEZpbmFsIHRvdWNoIGZvciBBSVggbG9hZGluZywgcmV3cml0dGVuIE1pc2MvQUlYLU5PVEVTLgpAQCAtMjU1NDUsMTEgKzI1NTc4LDExIEBACiBtZWFuaW5nZnVsIHZhbHVlIChhIGZldyB0aGluZ3Mgd2VyZSBib3RjaGVkIGluIGJldGEgMSkuICBMaWIvZG9zXzh4MwogaXMgbm93IGEgc3RhbmRhcmQgcGFydCBvZiB0aGUgZGlzdHJpYnV0aW9uIChhbGFzKS4KIAotLSBNb3JlIGltcHJvdmVtZW50cyB0byB0aGUgaW5zdGFsbGF0aW9uIHByb2NlZHVyZS4gIFR5cGluZyAibWFrZSBpbnN0YWxsIiAKLW5vdyBpbnNlcnRzIHRoZSB2ZXJzaW9uIG51bWJlciBpbiB0aGUgcGF0aG5hbWVzIG9mIGFsbW9zdCBldmVyeXRoaW5nIAotaW5zdGFsbGVkLCBhbmQgY3JlYXRlcyB0aGUgbWFjaGluZSBkZXBlbmRlbnQgbW9kdWxlcyAoRkNOVEwucHkgZXRjLikgaWYgbm90IAotc3VwcGxpZWQgYnkgdGhlIGRpc3RyaWJ1dGlvbi4gIChYWFggVGhlcmUncyBzdGlsbCBhIHByb2JsZW0gd2l0aCB0aGUgbGF0dGVyIAotYmVjYXVzZSB0aGUgInJlZ2VuIiBzY3JpcHQgcmVxdWlyZXMgdGhhdCBQeXRob24gaXMgaW5zdGFsbGVkLiAgU29tZSBtYW51YWwgCistIE1vcmUgaW1wcm92ZW1lbnRzIHRvIHRoZSBpbnN0YWxsYXRpb24gcHJvY2VkdXJlLiAgVHlwaW5nICJtYWtlIGluc3RhbGwiCitub3cgaW5zZXJ0cyB0aGUgdmVyc2lvbiBudW1iZXIgaW4gdGhlIHBhdGhuYW1lcyBvZiBhbG1vc3QgZXZlcnl0aGluZworaW5zdGFsbGVkLCBhbmQgY3JlYXRlcyB0aGUgbWFjaGluZSBkZXBlbmRlbnQgbW9kdWxlcyAoRkNOVEwucHkgZXRjLikgaWYgbm90CitzdXBwbGllZCBieSB0aGUgZGlzdHJpYnV0aW9uLiAgKFhYWCBUaGVyZSdzIHN0aWxsIGEgcHJvYmxlbSB3aXRoIHRoZSBsYXR0ZXIKK2JlY2F1c2UgdGhlICJyZWdlbiIgc2NyaXB0IHJlcXVpcmVzIHRoYXQgUHl0aG9uIGlzIGluc3RhbGxlZC4gIFNvbWUgbWFudWFsCiBpbnRlcnZlbnRpb24gbWF5IHN0aWxsIGJlIHJlcXVpcmVkLikgKFRoaXMgaGFzIGJlZW4gZml4ZWQgaW4gMS40YmV0YTMuKQogCiAtIE5ldyBtb2R1bGVzOiBlcnJubywgb3BlcmF0b3IgKFhYWCkuCkBAIC0yNTYxMiw4ICsyNTY0NSw4IEBACiAKIC0gQWRkZWQgc3lzLnBsYXRmb3JtIGFuZCBzeXMuZXhlY19wbGF0Zm9ybSBmb3IgQmlsbCBKYW5zc2VuLgogCi0tIEluc3RhbGxhdGlvbiBoYXMgYmVlbiBjb21wbGV0ZWx5IG92ZXJoYXVsZWQuICAibWFrZSBpbnN0YWxsIiBub3cgaW5zdGFsbHMgCi1ldmVyeXRoaW5nLCBub3QganVzdCB0aGUgcHl0aG9uIGJpbmFyeS4gIEluc3RhbGxhdGlvbiB1c2VzIHRoZSBpbnN0YWxsLXNoIAorLSBJbnN0YWxsYXRpb24gaGFzIGJlZW4gY29tcGxldGVseSBvdmVyaGF1bGVkLiAgIm1ha2UgaW5zdGFsbCIgbm93IGluc3RhbGxzCitldmVyeXRoaW5nLCBub3QganVzdCB0aGUgcHl0aG9uIGJpbmFyeS4gIEluc3RhbGxhdGlvbiB1c2VzIHRoZSBpbnN0YWxsLXNoCiBzY3JpcHQgKGJvcnJvd2VkIGZyb20gWDExKSB0byBpbnN0YWxsIGVhY2ggZmlsZS4KIAogLSBOZXcgZnVuY3Rpb25zIGluIHRoZSBwb3NpeCBtb2R1bGU6IG1rZmlmbywgcGxvY2ssIHJlbW92ZSAoPT0gdW5saW5rKSwKQEAgLTI1NjIzLDU5ICsyNTY1Niw1OSBAQAogCiAtIFNoYXJlZCBsaWJyYXJ5IHN1cHBvcnQgZm9yIEZyZWVCU0QuCiAKLS0gVGhlIC0td2l0aC1yZWFkbGluZSBvcHRpb24gY2FuIG5vdyBiZSB1c2VkIHdpdGhvdXQgYSBESVJFQ1RPUlkgYXJndW1lbnQsIAotZm9yIHN5c3RlbXMgd2hlcmUgbGlicmVhZGxpbmUuKiBpcyBpbiBvbmUgb2YgdGhlIHN0YW5kYXJkIHBsYWNlcy4gIEl0IGlzIAorLSBUaGUgLS13aXRoLXJlYWRsaW5lIG9wdGlvbiBjYW4gbm93IGJlIHVzZWQgd2l0aG91dCBhIERJUkVDVE9SWSBhcmd1bWVudCwKK2ZvciBzeXN0ZW1zIHdoZXJlIGxpYnJlYWRsaW5lLiogaXMgaW4gb25lIG9mIHRoZSBzdGFuZGFyZCBwbGFjZXMuICBJdCBpcwogYWxzbyBwb3NzaWJsZSBmb3IgaXQgdG8gYmUgYSBzaGFyZWQgbGlicmFyeS4KIAotLSBUaGUgZXh0ZW5zaW9uIHRraW50ZXIgaGFzIGJlZW4gcmVuYW1lZCB0byBfdGtpbnRlciwgdG8gYXZvaWQgY29uZnVzaW9uIAotd2l0aCBUa2ludGVyLnB5IG9uY2FzZSBpbnNlbnNpdGl2ZSBmaWxlIHN5c3RlbXMuICBJdCBub3cgc3VwcG9ydHMgVGsgNC4xIGFzIAorLSBUaGUgZXh0ZW5zaW9uIHRraW50ZXIgaGFzIGJlZW4gcmVuYW1lZCB0byBfdGtpbnRlciwgdG8gYXZvaWQgY29uZnVzaW9uCit3aXRoIFRraW50ZXIucHkgb25jYXNlIGluc2Vuc2l0aXZlIGZpbGUgc3lzdGVtcy4gIEl0IG5vdyBzdXBwb3J0cyBUayA0LjEgYXMKIHdlbGwgYXMgNC4wLgogCi0tIEF1dGhvcidzIGNoYW5nZSBvZiBhZGRyZXNzIGZyb20gQ1dJIGluIEFtc3RlcmRhbSwgVGhlIE5ldGhlcmxhbmRzLCB0byAKKy0gQXV0aG9yJ3MgY2hhbmdlIG9mIGFkZHJlc3MgZnJvbSBDV0kgaW4gQW1zdGVyZGFtLCBUaGUgTmV0aGVybGFuZHMsIHRvCiBDTlJJIGluIFJlc3RvbiwgVkEsIFVTQS4KIAotLSBUaGUgbWF0aC5oeXBvdCgpIGZ1bmN0aW9uIGlzIG5vdyBhbHdheXMgYXZhaWxhYmxlIChpZiBpdCBpc24ndCBmb3VuZCBpbiAKKy0gVGhlIG1hdGguaHlwb3QoKSBmdW5jdGlvbiBpcyBub3cgYWx3YXlzIGF2YWlsYWJsZSAoaWYgaXQgaXNuJ3QgZm91bmQgaW4KIHRoZSBDIG1hdGggbGlicmFyeSwgUHl0aG9uIHByb3ZpZGVzIGl0cyBvd24gaW1wbGVtZW50YXRpb24pLgogCi0tIFRoZSBsYXRleCBkb2N1bWVudGF0aW9uIGlzIG5vdyBjb21wYXRpYmxlIHdpdGggbGF0ZXgyZSwgdGhhbmtzIHRvIERhdmlkIAorLSBUaGUgbGF0ZXggZG9jdW1lbnRhdGlvbiBpcyBub3cgY29tcGF0aWJsZSB3aXRoIGxhdGV4MmUsIHRoYW5rcyB0byBEYXZpZAogQXNjaGVyLgogCiAtIFRoZSBleHByZXNzaW9uIHgqKnkgaXMgbm93IGVxdWl2YWxlbnQgdG8gcG93KHgsIHkpLgogCiAtIFRoZSBpbmRleGluZyBleHByZXNzaW9uIHhbYSwgYiwgY10gaXMgbm93IGVxdWl2YWxlbnQgdG8geFsoYSwgYiwgYyldLgogCi0tIENvbXBsZXggbnVtYmVycyBhcmUgbm93IHN1cHBvcnRlZC4gIEltYWdpbmFyeSBjb25zdGFudHMgYXJlIHdyaXR0ZW4gd2l0aCAKLWEgJ2onIG9yICdKJyBwcmVmaXgsIGdlbmVyYWwgY29tcGxleCBudW1iZXJzIGNhbiBiZSBmb3JtZWQgYnkgYWRkaW5nIGEgcmVhbCAKLXBhcnQgdG8gYW4gaW1hZ2luYXJ5IHBhcnQsIGxpa2UgMys0ai4gIENvbXBsZXggbnVtYmVycyBhcmUgYWx3YXlzIHN0b3JlZCBpbiAKLWZsb2F0aW5nIHBvaW50IGZvcm0sIHNvIHRoaXMgaXMgZXF1aXZhbGVudCB0byAzLjArNC4wai4gIEl0IGlzIGFsc28gCi1wb3NzaWJsZSB0byBjcmVhdGUgY29tcGxleCBudW1iZXJzIHdpdGggdGhlIG5ldyBidWlsdC1pbiBmdW5jdGlvbiAKLWNvbXBsZXgocmUsIFtpbV0pLiAgRm9yIHRoZSBmb290cHJpbnQtY29uc2Npb3VzLCBjb21wbGV4IG51bWJlciBzdXBwb3J0IGNhbiAKKy0gQ29tcGxleCBudW1iZXJzIGFyZSBub3cgc3VwcG9ydGVkLiAgSW1hZ2luYXJ5IGNvbnN0YW50cyBhcmUgd3JpdHRlbiB3aXRoCithICdqJyBvciAnSicgcHJlZml4LCBnZW5lcmFsIGNvbXBsZXggbnVtYmVycyBjYW4gYmUgZm9ybWVkIGJ5IGFkZGluZyBhIHJlYWwKK3BhcnQgdG8gYW4gaW1hZ2luYXJ5IHBhcnQsIGxpa2UgMys0ai4gIENvbXBsZXggbnVtYmVycyBhcmUgYWx3YXlzIHN0b3JlZCBpbgorZmxvYXRpbmcgcG9pbnQgZm9ybSwgc28gdGhpcyBpcyBlcXVpdmFsZW50IHRvIDMuMCs0LjBqLiAgSXQgaXMgYWxzbworcG9zc2libGUgdG8gY3JlYXRlIGNvbXBsZXggbnVtYmVycyB3aXRoIHRoZSBuZXcgYnVpbHQtaW4gZnVuY3Rpb24KK2NvbXBsZXgocmUsIFtpbV0pLiAgRm9yIHRoZSBmb290cHJpbnQtY29uc2Npb3VzLCBjb21wbGV4IG51bWJlciBzdXBwb3J0IGNhbgogYmUgZGlzYWJsZWQgYnkgZGVmaW5pbmcgdGhlIHN5bWJvbCBXSVRIT1VUX0NPTVBMRVguCiAKIC0gTmV3IGJ1aWx0LWluIGZ1bmN0aW9uIGxpc3QoKSBpcyB0aGUgbG9uZy1hd2FpdGVkIGNvdW50ZXJwYXJ0IG9mIHR1cGxlKCkuCiAKLS0gVGhlcmUncyBhIG5ldyAiY21hdGgiIG1vZHVsZSB3aGljaCBwcm92aWRlcyB0aGUgc2FtZSBmdW5jdGlvbnMgYXMgdGhlIAotIm1hdGgiIGxpYnJhcnkgYnV0IHdpdGggY29tcGxleCBhcmd1bWVudHMgYW5kIHJlc3VsdHMuICAoVGhlcmUgYXJlIHZlcnkgCi1nb29kIHJlYXNvbnMgd2h5IG1hdGguc3FydCgtMSkgc3RpbGwgcmFpc2VzIGFuIGV4Y2VwdGlvbiAtLSB5b3UgaGF2ZSB0byB1c2UgCistIFRoZXJlJ3MgYSBuZXcgImNtYXRoIiBtb2R1bGUgd2hpY2ggcHJvdmlkZXMgdGhlIHNhbWUgZnVuY3Rpb25zIGFzIHRoZQorIm1hdGgiIGxpYnJhcnkgYnV0IHdpdGggY29tcGxleCBhcmd1bWVudHMgYW5kIHJlc3VsdHMuICAoVGhlcmUgYXJlIHZlcnkKK2dvb2QgcmVhc29ucyB3aHkgbWF0aC5zcXJ0KC0xKSBzdGlsbCByYWlzZXMgYW4gZXhjZXB0aW9uIC0tIHlvdSBoYXZlIHRvIHVzZQogY21hdGguc3FydCgtMSkgdG8gZ2V0IDFqIGZvciBhbiBhbnN3ZXIuKQogCi0tIFRoZSBQeXRob24uaCBoZWFkZXIgZmlsZSAod2hpY2ggaXMgcmVhbGx5IHRoZSBzYW1lIGFzIGFsbG9iamVjdHMuaCBleGNlcHQgCi1pdCBkaXNhYmxlcyBzdXBwb3J0IGZvciBvbGQgc3R5bGUgbmFtZXMpIG5vdyBpbmNsdWRlcyBzZXZlcmFsIG1vcmUgZmlsZXMsIAorLSBUaGUgUHl0aG9uLmggaGVhZGVyIGZpbGUgKHdoaWNoIGlzIHJlYWxseSB0aGUgc2FtZSBhcyBhbGxvYmplY3RzLmggZXhjZXB0CitpdCBkaXNhYmxlcyBzdXBwb3J0IGZvciBvbGQgc3R5bGUgbmFtZXMpIG5vdyBpbmNsdWRlcyBzZXZlcmFsIG1vcmUgZmlsZXMsCiBzbyB5b3UgaGF2ZSB0byBoYXZlIGZld2VyICNpbmNsdWRlIHN0YXRlbWVudHMgaW4gdGhlIGF2ZXJhZ2UgZXh0ZW5zaW9uLgogCi0tIFRoZSBOREVCVUcgc3ltYm9sIGlzIG5vIGxvbmdlciB1c2VkLiAgQ29kZSB0aGF0IHVzZWQgdG8gYmUgZGVwZW5kZW50IG9uIAotdGhlIHByZXNlbmNlIG9mIE5ERUJVRyBpcyBub3cgcHJlc2VudCBvbiB0aGUgYWJzZW5jZSBvZiBERUJVRy4gIFRSQUNFX1JFRlMgCi1hbmQgUkVGX0RFQlVHIGhhdmUgYmVlbiByZW5hbWVkIHRvIFB5X1RSQUNFX1JFRlMgYW5kIFB5X1JFRl9ERUJVRywgCi1yZXNwZWN0aXZlbHkuICBBdCBsb25nIGxhc3QsIHRoZSBzb3VyY2UgYWN0dWFsbHkgY29tcGlsZXMgYW5kIGxpbmtzIHdpdGhvdXQgCistIFRoZSBOREVCVUcgc3ltYm9sIGlzIG5vIGxvbmdlciB1c2VkLiAgQ29kZSB0aGF0IHVzZWQgdG8gYmUgZGVwZW5kZW50IG9uCit0aGUgcHJlc2VuY2Ugb2YgTkRFQlVHIGlzIG5vdyBwcmVzZW50IG9uIHRoZSBhYnNlbmNlIG9mIERFQlVHLiAgVFJBQ0VfUkVGUworYW5kIFJFRl9ERUJVRyBoYXZlIGJlZW4gcmVuYW1lZCB0byBQeV9UUkFDRV9SRUZTIGFuZCBQeV9SRUZfREVCVUcsCityZXNwZWN0aXZlbHkuICBBdCBsb25nIGxhc3QsIHRoZSBzb3VyY2UgYWN0dWFsbHkgY29tcGlsZXMgYW5kIGxpbmtzIHdpdGhvdXQKIGVycm9ycyB3aGVuIHRoaXMgc3ltYm9sIGlzIGRlZmluZWQuCiAKLS0gU2V2ZXJhbCBzeW1ib2xzIHRoYXQgZGlkbid0IGZvbGxvdyB0aGUgbmV3IG5hbWluZyBzY2hlbWUgaGF2ZSBiZWVuIAotcmVuYW1lZCAodXN1YWxseSBieSBhZGRpbmcgdG8gcmVuYW1lMi5oKSB0byB1c2UgYSBQeSBvciBfUHkgcHJlZml4LiAgVGhlcmUgCi1hcmUgbm8gZXh0ZXJuYWwgc3ltYm9scyBsZWZ0IHdpdGhvdXQgYSBQeSBvciBfUHkgcHJlZml4LCBub3QgZXZlbiB0aG9zZSAKLWRlZmluZWQgYnkgc291cmNlcyB0aGF0IHdlcmUgaW5jb3Jwb3JhdGVkIGZyb20gZWxzZXdoZXJlIChyZWdleHByLmMsIAorLSBTZXZlcmFsIHN5bWJvbHMgdGhhdCBkaWRuJ3QgZm9sbG93IHRoZSBuZXcgbmFtaW5nIHNjaGVtZSBoYXZlIGJlZW4KK3JlbmFtZWQgKHVzdWFsbHkgYnkgYWRkaW5nIHRvIHJlbmFtZTIuaCkgdG8gdXNlIGEgUHkgb3IgX1B5IHByZWZpeC4gIFRoZXJlCithcmUgbm8gZXh0ZXJuYWwgc3ltYm9scyBsZWZ0IHdpdGhvdXQgYSBQeSBvciBfUHkgcHJlZml4LCBub3QgZXZlbiB0aG9zZQorZGVmaW5lZCBieSBzb3VyY2VzIHRoYXQgd2VyZSBpbmNvcnBvcmF0ZWQgZnJvbSBlbHNld2hlcmUgKHJlZ2V4cHIuYywKIG1kNWMuYykuICAoTWFjcm9zIGFyZSBhIGRpZmZlcmVudCBzdG9yeS4uLikKIAotLSBUaGVyZSBhcmUgbm93IHR5cGVkZWZzIGZvciB0aGUgc3RydWN0dXJlcyBkZWZpbmVkIGluIGNvbmZpZy5jIGFuZCAKKy0gVGhlcmUgYXJlIG5vdyB0eXBlZGVmcyBmb3IgdGhlIHN0cnVjdHVyZXMgZGVmaW5lZCBpbiBjb25maWcuYyBhbmQKIGZyb3plbi5jLgogCiAtIE5ldyBQWVRIT05fQVBJX1ZFUlNJT04gdmFsdWUgYW5kIC5weWMgZmlsZSBtYWdpYyBudW1iZXIuCkBAIC0yNTY4OSwxMjUgKzI1NzIyLDEyNSBAQAogLSBUaGUgYmluaGV4IGFuZCBiaW5hc2NpaSBtb2R1bGVzIG5vdyBhY3R1YWxseSB3b3JrLgogCiAtIFRoZSBjZ2kgbW9kdWxlIGhhcyBiZWVuIGFsbW9zdCB0b3RhbGx5IHJld3JpdHRlbiBhbmQgZG9jdW1lbnRlZC4KLUl0IG5vdyBzdXBwb3J0cyBmaWxlIHVwbG9hZCBhbmQgYSBuZXcgZGF0YSB0eXBlIHRvIGhhbmRsZSBmb3JtcyBtb3JlIAorSXQgbm93IHN1cHBvcnRzIGZpbGUgdXBsb2FkIGFuZCBhIG5ldyBkYXRhIHR5cGUgdG8gaGFuZGxlIGZvcm1zIG1vcmUKIGZsZXhpYmx5LgogCiAtIFRoZSBmb3JtYXR0ZXIgbW9kdWxlIChmb3IgdXNlIHdpdGggaHRtbGxpYikgaGFzIGJlZW4gb3ZlcmhhdWxlZCAoYWdhaW4pLgogCiAtIFRoZSBmdHBsaWIgbW9kdWxlIG5vdyBzdXBwb3J0cyBwYXNzaXZlIG1vZGUgYW5kIGhhcyBkb2Mgc3RyaW5ncy4KIAotLSBJbiAoaWRlYWxseSkgYWxsIHBsYWNlcyB3aGVyZSBiaW5hcnkgZmlsZXMgYXJlIHJlYWQgb3Igd3JpdHRlbiwgdGhlIGZpbGUgCi1pcyBub3cgY29ycmVjdGx5IG9wZW5lZCBpbiBiaW5hcnkgbW9kZSAoJ3JiJyBvciAnd2InKSBzbyB0aGUgY29kZSB3aWxsIHdvcmsgCistIEluIChpZGVhbGx5KSBhbGwgcGxhY2VzIHdoZXJlIGJpbmFyeSBmaWxlcyBhcmUgcmVhZCBvciB3cml0dGVuLCB0aGUgZmlsZQoraXMgbm93IGNvcnJlY3RseSBvcGVuZWQgaW4gYmluYXJ5IG1vZGUgKCdyYicgb3IgJ3diJykgc28gdGhlIGNvZGUgd2lsbCB3b3JrCiBvbiBNYWMgb3IgUEMuCiAKLS0gRHVtbXkgdmVyc2lvbnMgb2Ygb3MucGF0aC5leHBhbmR2YXJzKCkgYW5kIGV4cGFuZHVzZXIoKSBhcmUgbm93IHByb3ZpZGVkIAorLSBEdW1teSB2ZXJzaW9ucyBvZiBvcy5wYXRoLmV4cGFuZHZhcnMoKSBhbmQgZXhwYW5kdXNlcigpIGFyZSBub3cgcHJvdmlkZWQKIG9uIG5vbi1Vbml4IHBsYXRmb3Jtcy4KIAotLSBNb2R1bGUgdXJsbGliIG5vdyBoYXMgdHdvIG5ldyBmdW5jdGlvbnMgdXJsMnBhdGhuYW1lIGFuZCBwYXRobmFtZTJ1cmwgCi13aGljaCB0dXJuIGxvY2FsIGZpbGVuYW1lcyBpbnRvICJmaWxlOi4uLiIgVVJMcyB1c2luZyB0aGUgc2FtZSBydWxlcyBhcyAKLU5ldHNjYXBlICh3aHkgYmUgZGlmZmVyZW50KS4gIGl0IGFsc28gc3VwcG9ydHMgdXJscmV0cmlldmUoKSB3aXRoIGEgCi1wYXRobmFtZSBwYXJhbWV0ZXIsIGFuZCBob25vcnMgdGhlIHByb3h5IGVudmlyb25tZW50IHZhcmlhYmxlcyAoaHR0cF9wcm94eSAKKy0gTW9kdWxlIHVybGxpYiBub3cgaGFzIHR3byBuZXcgZnVuY3Rpb25zIHVybDJwYXRobmFtZSBhbmQgcGF0aG5hbWUydXJsCit3aGljaCB0dXJuIGxvY2FsIGZpbGVuYW1lcyBpbnRvICJmaWxlOi4uLiIgVVJMcyB1c2luZyB0aGUgc2FtZSBydWxlcyBhcworTmV0c2NhcGUgKHdoeSBiZSBkaWZmZXJlbnQpLiAgaXQgYWxzbyBzdXBwb3J0cyB1cmxyZXRyaWV2ZSgpIHdpdGggYQorcGF0aG5hbWUgcGFyYW1ldGVyLCBhbmQgaG9ub3JzIHRoZSBwcm94eSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgKGh0dHBfcHJveHkKIGV0Yy4pLiAgVGhlIFVSTCBwYXJzaW5nIGhhcyBiZWVuIGltcHJvdmVkIHNvbWV3aGF0LCB0b28uCiAKLS0gTWljcm8gaW1wcm92ZW1lbnRzIHRvIHVybHBhcnNlLiAgQWRkZWQgdXJscGFyc2UudXJsZGVmcmFnKCkgd2hpY2ggCistIE1pY3JvIGltcHJvdmVtZW50cyB0byB1cmxwYXJzZS4gIEFkZGVkIHVybHBhcnNlLnVybGRlZnJhZygpIHdoaWNoCiByZW1vdmVzIGEgdHJhaWxpbmcgYGAjZnJhZ21lbnQnJyBpZiBhbnkuCiAKIC0gVGhlIG1haWxib3ggbW9kdWxlIG5vdyBzdXBwb3J0cyBNSCBzdHlsZSBtZXNzYWdlIGRlbGltaXRlcnMgYXMgd2VsbC4KIAotLSBUaGUgbWhsaWIgbW9kdWxlIGNvbnRhaW5zIHNvbWUgbmV3IGZ1bmN0aW9uYWxpdHk6IHNldGNvbnRleHQoKSB0byBzZXQgdGhlIAotY3VycmVudCBmb2xkZXIgYW5kIHBhcnNlc2VxdWVuY2UoKSB0byBwYXJzZSBhIHNlcXVlbmNlIGFzIGNvbW1vbmx5IHBhc3NlZCAKKy0gVGhlIG1obGliIG1vZHVsZSBjb250YWlucyBzb21lIG5ldyBmdW5jdGlvbmFsaXR5OiBzZXRjb250ZXh0KCkgdG8gc2V0IHRoZQorY3VycmVudCBmb2xkZXIgYW5kIHBhcnNlc2VxdWVuY2UoKSB0byBwYXJzZSBhIHNlcXVlbmNlIGFzIGNvbW1vbmx5IHBhc3NlZAogdG8gTUggY29tbWFuZHMgKGUuZy4gMS0xMCBvciBsYXN0OjUpLgogCi0tIE5ldyBtb2R1bGUgbWltaWZ5IGZvciBjb252ZXJzaW9uIHRvIGFuZCBmcm9tIE1JTUUgZm9ybWF0IG9mIGVtYWlsIAorLSBOZXcgbW9kdWxlIG1pbWlmeSBmb3IgY29udmVyc2lvbiB0byBhbmQgZnJvbSBNSU1FIGZvcm1hdCBvZiBlbWFpbAogbWVzc2FnZXMuCiAKLS0gTW9kdWxlIG5pIG5vdyBhdXRvbWF0aWNhbGx5IGluc3RhbGxzIGl0c2VsZiB3aGVuIGZpcnN0IGltcG9ydGVkIC0tIHRoaXMgCi1pcyBhZ2FpbnN0IHRoZSBub3JtYWwgcnVsZSB0aGF0IG1vZHVsZXMgc2hvdWxkIGRlZmluZSBjbGFzc2VzIGFuZCBmdW5jdGlvbnMgCi1idXQgbm90IGludm9rZSB0aGVtLCBidXQgYXBwZWFycyBtb3JlIHVzZWZ1bCBpbiB0aGUgY2FzZSB0aGF0IHR3byAKKy0gTW9kdWxlIG5pIG5vdyBhdXRvbWF0aWNhbGx5IGluc3RhbGxzIGl0c2VsZiB3aGVuIGZpcnN0IGltcG9ydGVkIC0tIHRoaXMKK2lzIGFnYWluc3QgdGhlIG5vcm1hbCBydWxlIHRoYXQgbW9kdWxlcyBzaG91bGQgZGVmaW5lIGNsYXNzZXMgYW5kIGZ1bmN0aW9ucworYnV0IG5vdCBpbnZva2UgdGhlbSwgYnV0IGFwcGVhcnMgbW9yZSB1c2VmdWwgaW4gdGhlIGNhc2UgdGhhdCB0d28KIGRpZmZlcmVudCwgaW5kZXBlbmRlbnQgbW9kdWxlcyB3YW50IHRvIHVzZSBuaSdzIGZlYXR1cmVzLgogCiAtIFNvbWUgc21hbGwgcGVyZm9ybWFuY2UgZW5oYW5jZW1lbnRzIGluIG1vZHVsZSBwaWNrbGUuCiAKLS0gU21hbGwgaW50ZXJmYWNlIGNoYW5nZSB0byB0aGUgcHJvZmlsZS5ydW4qKCkgZmFtaWx5IG9mIGZ1bmN0aW9ucyAtLSBtb3JlIAorLSBTbWFsbCBpbnRlcmZhY2UgY2hhbmdlIHRvIHRoZSBwcm9maWxlLnJ1biooKSBmYW1pbHkgb2YgZnVuY3Rpb25zIC0tIG1vcmUKIHNlbnNpYmxlIGhhbmRsaW5nIG9mIHJldHVybiB2YWx1ZXMuCiAKLS0gVGhlIG9mZmljaWFsbHkgcmVnaXN0ZXJlZCBNYWMgY3JlYXRvciBmb3IgUHl0aG9uIGZpbGVzIGlzICdQeXRoJy4gIFRoaXMgCistIFRoZSBvZmZpY2lhbGx5IHJlZ2lzdGVyZWQgTWFjIGNyZWF0b3IgZm9yIFB5dGhvbiBmaWxlcyBpcyAnUHl0aCcuICBUaGlzCiByZXBsYWNlcyAnUFlUSCcgd2hpY2ggd2FzIHVzZWQgYmVmb3JlIGJ1dCBuZXZlciByZWdpc3RlcmVkLgogCiAtIEFkZGVkIHJlZ3N1Yi5jYXB3b3JkcygpLiAgKFhYWCkKIAotLSBBZGRlZCBzdHJpbmcuY2Fwd29yZHMoKSwgc3RyaW5nLmNhcGl0YWxpemUoKSBhbmQgc3RyaW5nLnRyYW5zbGF0ZSgpLiAgCistIEFkZGVkIHN0cmluZy5jYXB3b3JkcygpLCBzdHJpbmcuY2FwaXRhbGl6ZSgpIGFuZCBzdHJpbmcudHJhbnNsYXRlKCkuCiAoWFhYKQogCi0tIEZpeGVkIGFuIGludGVyZmFjZSBidWcgaW4gdGhlIHJleGVjIG1vZHVsZTogaXQgd2FzIGltcG9zc2libGUgdG8gcGFzcyBhIAotaG9va3MgaW5zdGFuY2UgdG8gdGhlIFJFeGVjIGNsYXNzLiAgcmV4ZWMgbm93IGFsc28gc3VwcG9ydHMgdGhlIGR5bmFtaWMgCi1sb2FkaW5nIG9mIG1vZHVsZXMgZnJvbSBzaGFyZWQgbGlicmFyaWVzLiAgU29tZSBvdGhlciBpbnRlcmZhY2VzIGhhdmUgYmVlbiAKKy0gRml4ZWQgYW4gaW50ZXJmYWNlIGJ1ZyBpbiB0aGUgcmV4ZWMgbW9kdWxlOiBpdCB3YXMgaW1wb3NzaWJsZSB0byBwYXNzIGEKK2hvb2tzIGluc3RhbmNlIHRvIHRoZSBSRXhlYyBjbGFzcy4gIHJleGVjIG5vdyBhbHNvIHN1cHBvcnRzIHRoZSBkeW5hbWljCitsb2FkaW5nIG9mIG1vZHVsZXMgZnJvbSBzaGFyZWQgbGlicmFyaWVzLiAgU29tZSBvdGhlciBpbnRlcmZhY2VzIGhhdmUgYmVlbgogYWRkZWQgdG9vLgogCi0tIE1vZHVsZSByZmM4MjIgbm93IGNhY2hlcyB0aGUgaGVhZGVycyBpbiBhIGRpY3Rpb25hcnkgZm9yIG1vcmUgZWZmaWNpZW50IAorLSBNb2R1bGUgcmZjODIyIG5vdyBjYWNoZXMgdGhlIGhlYWRlcnMgaW4gYSBkaWN0aW9uYXJ5IGZvciBtb3JlIGVmZmljaWVudAogbG9va3VwLgogCi0tIFRoZSBzZ21sbGliIG1vZHVsZSBub3cgdW5kZXJzdGFuZHMgYSBsaW1pdGVkIG51bWJlciBvZiBTR01MICJzaG9ydGhhbmRzIiAKKy0gVGhlIHNnbWxsaWIgbW9kdWxlIG5vdyB1bmRlcnN0YW5kcyBhIGxpbWl0ZWQgbnVtYmVyIG9mIFNHTUwgInNob3J0aGFuZHMiCiBsaWtlIDxBLy4uLi8gZm9yIDxBPi4uLjwvQT4uICAoSXQncyBub3QgY2xlYXIgdGhhdCB0aGlzIHdhcyBhIGdvb2QgaWRlYS4uLikKIAotLSBUaGUgdGVtcGZpbGUgbW9kdWxlIGFjdHVhbGx5IHRyaWVzIGEgbnVtYmVyIG9mIGRpZmZlcmVudCBwbGFjZXMgdG8gZmluZCBhIAotdXNhYmxlIHRlbXBvcmFyeSBkaXJlY3RvcnkuICAoVGhpcyB3YXMgcHJvbXB0ZWQgYnkgY2VydGFpbiBMaW51eCAKLWluc3RhbGxhdGlvbnMgdGhhdCBhcHBlYXIgdG8gYmUgbWlzc2luZyBhIC91c3IvdG1wIGRpcmVjdG9yeS4pIFtBIGJ1ZyBpbiAKLXRoZSBpbXBsZW1lbnRhdGlvbiB0aGF0IHdvdWxkIGlnbm9yZSBhIHByZS1leGlzdGluZyB0bXBkaXIgZ2xvYmFsIGhhcyBiZWVuIAorLSBUaGUgdGVtcGZpbGUgbW9kdWxlIGFjdHVhbGx5IHRyaWVzIGEgbnVtYmVyIG9mIGRpZmZlcmVudCBwbGFjZXMgdG8gZmluZCBhCit1c2FibGUgdGVtcG9yYXJ5IGRpcmVjdG9yeS4gIChUaGlzIHdhcyBwcm9tcHRlZCBieSBjZXJ0YWluIExpbnV4CitpbnN0YWxsYXRpb25zIHRoYXQgYXBwZWFyIHRvIGJlIG1pc3NpbmcgYSAvdXNyL3RtcCBkaXJlY3RvcnkuKSBbQSBidWcgaW4KK3RoZSBpbXBsZW1lbnRhdGlvbiB0aGF0IHdvdWxkIGlnbm9yZSBhIHByZS1leGlzdGluZyB0bXBkaXIgZ2xvYmFsIGhhcyBiZWVuCiBmaXhlZCBpbiBiZXRhMy5dCiAKIC0gTXVjaCBpbXByb3ZlZCBhbmQgZW5oYW52ZWQgRmlsZURpYWxvZyBtb2R1bGUgZm9yIFRraW50ZXIuCiAKLS0gTWFueSBzbWFsbCBjaGFuZ2VzIHRvIFRraW50ZXIsIHRvIGJyaW5nIGl0IG1vcmUgaW4gbGluZSB3aXRoIFRrIDQuMCAoYXMgCistIE1hbnkgc21hbGwgY2hhbmdlcyB0byBUa2ludGVyLCB0byBicmluZyBpdCBtb3JlIGluIGxpbmUgd2l0aCBUayA0LjAgKGFzCiB3ZWxsIGFzIFRrIDQuMSkuCiAKLS0gTmV3IHNvY2tldCBpbnRlcmZhY2VzIGluY2x1ZGUgbnRvaHMoKSwgbnRvaGwoKSwgaHRvbnMoKSwgaHRvbmwoKSwgYW5kIAotcy5kdXAoKS4gIFNvY2tldHMgbm93IHdvcmsgY29ycmVjdGx5IG9uIFdpbmRvd3MuICBPbiBXaW5kb3dzLCB0aGUgYnVpbHQtaW4gCi1leHRlbnNpb24gaXMgY2FsbGVkIF9zb2NrZXQgYW5kIGEgd3JhcHBlciBtb2R1bGUgd2luL3NvY2tldC5weSBwcm92aWRlcyAKLSJtYWtlZmlsZSgpIiBhbmQgImR1cCgpIiBmdW5jdGlvbmFsaXR5LiAgT24gV2luZG93cywgdGhlIHNlbGVjdCBtb2R1bGUgCistIE5ldyBzb2NrZXQgaW50ZXJmYWNlcyBpbmNsdWRlIG50b2hzKCksIG50b2hsKCksIGh0b25zKCksIGh0b25sKCksIGFuZAorcy5kdXAoKS4gIFNvY2tldHMgbm93IHdvcmsgY29ycmVjdGx5IG9uIFdpbmRvd3MuICBPbiBXaW5kb3dzLCB0aGUgYnVpbHQtaW4KK2V4dGVuc2lvbiBpcyBjYWxsZWQgX3NvY2tldCBhbmQgYSB3cmFwcGVyIG1vZHVsZSB3aW4vc29ja2V0LnB5IHByb3ZpZGVzCisibWFrZWZpbGUoKSIgYW5kICJkdXAoKSIgZnVuY3Rpb25hbGl0eS4gIE9uIFdpbmRvd3MsIHRoZSBzZWxlY3QgbW9kdWxlCiB3b3JrcyBvbmx5IHdpdGggc29ja2V0IG9iamVjdHMuCiAKIC0gQnVncyBpbiBic2RkYiBtb2R1bGUgZml4ZWQgKGUuZy4gbWlzc2luZyBkZWZhdWx0IGFyZ3VtZW50IHZhbHVlcykuCiAKIC0gVGhlIGN1cnNlcyBleHRlbnNpb24gbm93IGluY2x1ZGVzIDxuY3Vyc2VzLmg+IHdoZW4gYXZhaWxhYmxlLgogCi0tIFRoZSBnZGJtIG1vZHVsZSBub3cgc3VwcG9ydHMgb3BlbmluZyBkYXRhYmFzZXMgaW4gImZhc3QiIG1vZGUgYnkgCistIFRoZSBnZGJtIG1vZHVsZSBub3cgc3VwcG9ydHMgb3BlbmluZyBkYXRhYmFzZXMgaW4gImZhc3QiIG1vZGUgYnkKIHNwZWNpZnlpbmcgJ2YnIGFzIHRoZSBzZWNvbmQgY2hhcmFjdGVyIG9yIHRoZSBtb2RlIHN0cmluZy4KIAotLSBuZXcgdmFyaWFibGVzIHN5cy5wcmVmaXggYW5kIHN5cy5leGVjX3ByZWZpeCBwYXNzIGNvcnJlc3BvbmRpbmcgCistIG5ldyB2YXJpYWJsZXMgc3lzLnByZWZpeCBhbmQgc3lzLmV4ZWNfcHJlZml4IHBhc3MgY29ycmVzcG9uZGluZwogY29uZmlndXJhdGlvbiBvcHRpb25zIC8gTWFrZWZpbGUgdmFyaWFibGVzIHRvIHRoZSBQeXRob24gcHJvZ3JhbW1lci4KIAotLSBUaGUgYGBuZXcnJyBtb2R1bGUgbm93IHN1cHBvcnRzIGNyZWF0aW5nIG5ldyB1c2VyLWRlZmluZWQgY2xhc3NlcyBhcyB3ZWxsIAorLSBUaGUgYGBuZXcnJyBtb2R1bGUgbm93IHN1cHBvcnRzIGNyZWF0aW5nIG5ldyB1c2VyLWRlZmluZWQgY2xhc3NlcyBhcyB3ZWxsCiBhcyBpbnN0YW5jZXMgdGhlcmVvZi4KIAotLSBUaGUgc291bmRleCBtb2R1bGUgbm93IHNwb3J0cyBnZXRfc291bmRleCgpIHRvIGdldCB0aGUgc291bmRleCB2YWx1ZSBmb3IgYW4gCi1hcmJpdHJhcnkgc3RyaW5nIChmb3JtZXJseSBpdCB3b3VsZCBvbmx5IGRvIHNvdW5kZXgtYmFzZWQgc3RyaW5nIAorLSBUaGUgc291bmRleCBtb2R1bGUgbm93IHNwb3J0cyBnZXRfc291bmRleCgpIHRvIGdldCB0aGUgc291bmRleCB2YWx1ZSBmb3IgYW4KK2FyYml0cmFyeSBzdHJpbmcgKGZvcm1lcmx5IGl0IHdvdWxkIG9ubHkgZG8gc291bmRleC1iYXNlZCBzdHJpbmcKIGNvbXBhcmlzb24pIGFzIHdlbGwgYXMgZG9jIHN0cmluZ3MuCiAKLS0gTmV3IG9iamVjdCB0eXBlICJjb2JqZWN0IiB0byBzYWZlbHkgd3JhcCB2b2lkIHBvaW50ZXJzIGZvciBwYXNzaW5nIHRoZW0gCistIE5ldyBvYmplY3QgdHlwZSAiY29iamVjdCIgdG8gc2FmZWx5IHdyYXAgdm9pZCBwb2ludGVycyBmb3IgcGFzc2luZyB0aGVtCiBiZXR3ZWVuIHZhcmlvdXMgZXh0ZW5zaW9uIG1vZHVsZXMuCiAKIC0gTW9yZSBlZmZpY2llbnQgY29tcHV0YXRpb24gb2YgZmxvYXQqKnNtYWxsaW50LgogCi0tIFRoZSBteXN0ZXJpb3VzIGJ1ZyB3aGVyZWJ5ICJ4LngiICh0d28gb2NjdXJyZW5jZXMgb2YgdGhlIHNhbWUgCi1vbmUtY2hhcmFjdGVyIG5hbWUpIHR5cGVkIGZyb20gdGhlIGNvbW1hbmRsaW5lIHdvdWxkIHNvbWV0aW1lcyBmYWlsIAorLSBUaGUgbXlzdGVyaW91cyBidWcgd2hlcmVieSAieC54IiAodHdvIG9jY3VycmVuY2VzIG9mIHRoZSBzYW1lCitvbmUtY2hhcmFjdGVyIG5hbWUpIHR5cGVkIGZyb20gdGhlIGNvbW1hbmRsaW5lIHdvdWxkIHNvbWV0aW1lcyBmYWlsCiBteXN0ZXJpb3VzbHkuCiAKLS0gVGhlIGluaXRpYWxpemF0aW9uIG9mIHRoZSByZWFkbGluZSBmdW5jdGlvbiBjYW4gbm93IGJlIGludm9rZWQgYnkgYSBDIAorLSBUaGUgaW5pdGlhbGl6YXRpb24gb2YgdGhlIHJlYWRsaW5lIGZ1bmN0aW9uIGNhbiBub3cgYmUgaW52b2tlZCBieSBhIEMKIGV4dGVuc2lvbiB0aHJvdWdoIFB5T1NfUmVhZGxpbmVJbml0KCkuCiAKLS0gVGhlcmUncyBub3cgYW4gZXh0ZXJuYWxseSB2aXNpYmxlIHBvaW50ZXIgUHlJbXBvcnRfRnJvemVuTW9kdWxlcyB3aGljaCAKKy0gVGhlcmUncyBub3cgYW4gZXh0ZXJuYWxseSB2aXNpYmxlIHBvaW50ZXIgUHlJbXBvcnRfRnJvemVuTW9kdWxlcyB3aGljaAogY2FuIGJlIGNoYW5nZWQgYnkgYW4gZW1iZWRkaW5nIGFwcGxpY2F0aW9uLgogCi0tIFRoZSBhcmd1bWVudCBwYXJzaW5nIGZ1bmN0aW9ucyBub3cgc3VwcG9ydCBhIG5ldyBmb3JtYXQgY2hhcmFjdGVyICdEJyB0byAKKy0gVGhlIGFyZ3VtZW50IHBhcnNpbmcgZnVuY3Rpb25zIG5vdyBzdXBwb3J0IGEgbmV3IGZvcm1hdCBjaGFyYWN0ZXIgJ0QnIHRvCiBzcGVjaWZ5IGNvbXBsZXggbnVtYmVycy4KIAogLSBWYXJpb3VzIG1lbW9yeSBsZWFrcyBwbHVnZ2VkIGFuZCBidWdzIGZpeGVkLgogCi0tIEltcHJvdmVkIHN1cHBvcnQgZm9yIHBvc2l4IHRocmVhZHMgKG5vdyB0aGF0IHJlYWwgaW1wbGVtZW50YXRpb25zIGFyZSAKKy0gSW1wcm92ZWQgc3VwcG9ydCBmb3IgcG9zaXggdGhyZWFkcyAobm93IHRoYXQgcmVhbCBpbXBsZW1lbnRhdGlvbnMgYXJlCiBiZWdpbm5pbmcgdG8gYXBlcGFyKS4gIFN0aWxsIG5vIGZ1bGx5IGZ1bmN0aW9uaW5nIHNlbWFwaG9yZXMuCiAKLS0gU29tZSB2YXJpb3VzIGFuZCBzdW5kcnkgaW1wcm92ZW1lbnRzIGFuZCBuZXcgZW50cmllcyBpbiB0aGUgVG9vbHMgCistIFNvbWUgdmFyaW91cyBhbmQgc3VuZHJ5IGltcHJvdmVtZW50cyBhbmQgbmV3IGVudHJpZXMgaW4gdGhlIFRvb2xzCiBkaXJlY3RvcnkuCiAKIApAQCAtMjc0MTcsNyArMjc0NTAsNyBAQAogVGhlIGxpbWl0IG9uIHRoZSBzaXplIG9mIHRoZSAqcnVuLXRpbWUqIHN0YWNrIGhhcyBjb21wbGV0ZWx5IGJlZW4KIHJlbW92ZWQgLS0gdGhpcyBtZWFucyB0aGF0IHR1cGxlIG9yIGxpc3QgZGlzcGxheXMgY2FuIGNvbnRhaW4gYW55CiBudW1iZXIgb2YgZWxlbWVudHMgKGZvcm1lcmx5IG1vcmUgdGhhbiA1MCB3b3VsZCBjcmFzaCB0aGUKLWludGVycHJldGVyKS4gCitpbnRlcnByZXRlcikuCiAKIAogQ2hhbmdlcyB0byBleGlzdGluZyBidWlsdC1pbiBmdW5jdGlvbnMgYW5kIG1ldGhvZHMKZGlmZiAtLWdpdCBhL01pc2MvTkVXUyBiL01pc2MvTkVXUwppbmRleCA4NWU1Y2YyLi45MTc1ZmU1IDEwMDY0NAotLS0gYS9NaXNjL05FV1MKKysrIGIvTWlzYy9ORVdTCkBAIC0yLDEwICsyLDEwIEBACiBQeXRob24gTmV3cwogKysrKysrKysrKysKIAotV2hhdCdzIE5ldyBpbiBQeXRob24gMy40LjM/Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK1doYXQncyBOZXcgaW4gUHl0aG9uIDMuNSBhbHBoYSAyPworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKLVJlbGVhc2UgZGF0ZTogMjAxNS0wMi0yMgorUmVsZWFzZSBkYXRlOiAyMDE1LTAzLTA4CiAKIENvcmUgYW5kIEJ1aWx0aW5zCiAtLS0tLS0tLS0tLS0tLS0tLQpAQCAtMTQsMTQgKzE0LDE2IEBACiAtLS0tLS0tCiAKIAotV2hhdCdzIE5ldyBpbiBQeXRob24gMy40LjNyYzE/Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK1doYXQncyBOZXcgaW4gUHl0aG9uIDMuNSBhbHBoYSAxPworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKIFJlbGVhc2UgZGF0ZTogMjAxNS0wMi0wOAogCiBDb3JlIGFuZCBCdWlsdGlucwogLS0tLS0tLS0tLS0tLS0tLS0KIAorLSBJc3N1ZSAjMjMyODU6IFBFUCA0NzUgLSBFSU5UUiBoYW5kbGluZy4KKwogLSBJc3N1ZSAjMjI3MzU6IEZpeCBtYW55IGVkZ2UgY2FzZXMgKGluY2x1ZGluZyBjcmFzaGVzKSBpbnZvbHZpbmcgY3VzdG9tIG1ybygpCiAgIGltcGxlbWVudGF0aW9ucy4KIApAQCAtMzEsMTcgKzMzLDQ2IEBACiAtIElzc3VlICMyMTI5NTogUmV2ZXJ0IHNvbWUgY2hhbmdlcyAoaXNzdWUgIzE2Nzk1KSB0byBBU1QgbGluZSBudW1iZXJzIGFuZAogICBjb2x1bW4gb2Zmc2V0cyB0aGF0IGNvbnN0aXR1dGVkIGEgcmVncmVzc2lvbi4KIAorLSBJc3N1ZSAjMjI5ODY6IEFsbG93IGNoYW5naW5nIGFuIG9iamVjdCdzIF9fY2xhc3NfXyBiZXR3ZWVuIGEgZHluYW1pYyB0eXBlIGFuZAorICBzdGF0aWMgdHlwZSBpbiBzb21lIGNhc2VzLgorCistIElzc3VlICMxNTg1OTogUHlVbmljb2RlX0VuY29kZUZTRGVmYXVsdCgpLCBQeVVuaWNvZGVfRW5jb2RlTUJDUygpIGFuZAorICBQeVVuaWNvZGVfRW5jb2RlQ29kZVBhZ2UoKSBub3cgcmFpc2UgYW4gZXhjZXB0aW9uIGlmIHRoZSBvYmplY3QgaXMgbm90IGFuCisgIFVuaWNvZGUgb2JqZWN0LiBGb3IgUHlVbmljb2RlX0VuY29kZUZTRGVmYXVsdCgpLCBpdCB3YXMgYWxyZWFkeSB0aGUgY2FzZSBvbgorICBwbGF0Zm9ybXMgb3RoZXIgdGhhbiBXaW5kb3dzLiBQYXRjaCB3cml0dGVuIGJ5IENhbXBiZWxsIEJhcnRvbi4KKwogLSBJc3N1ZSAjMjE0MDg6IFRoZSBkZWZhdWx0IF9fbmVfXygpIG5vdyByZXR1cm5zIE5vdEltcGxlbWVudGVkIGlmIF9fZXFfXygpCiAgIHJldHVybmVkIE5vdEltcGxlbWVudGVkLiAgT3JpZ2luYWwgcGF0Y2ggYnkgTWFydGluIFBhbnRlci4KIAogLSBJc3N1ZSAjMjMzMjE6IEZpeGVkIGEgY3Jhc2ggaW4gc3RyLmRlY29kZSgpIHdoZW4gZXJyb3IgaGFuZGxlciByZXR1cm5lZAogICByZXBsYWNtZW50IHN0cmluZyBsb25nZXIgdGhhbiBtYWlsZm9ybWVkIGlucHV0IGRhdGEuCiAKKy0gSXNzdWUgIzIyMjg2OiBUaGUgImJhY2tzbGFzaHJlcGxhY2UiIGVycm9yIGhhbmRsZXJzIG5vdyB3b3JrcyB3aXRoCisgIGRlY29kaW5nIGFuZCB0cmFuc2xhdGluZy4KKworLSBJc3N1ZSAjMjMyNTM6IERlbGF5LWxvYWQgU2hlbGxFeGVjdXRlW0FXXSBpbiBvcy5zdGFydGZpbGUgZm9yIHJlZHVjZWQKKyAgc3RhcnR1cCBvdmVyaGVhZCBvbiBXaW5kb3dzLgorCistIElzc3VlICMyMjAzODogcHlhdG9taWMuaCBub3cgdXNlcyBzdGRhdG9taWMuaCBvciBHQ0MgYnVpbHQtaW4gZnVuY3Rpb25zIGZvcgorICBhdG9taWMgbWVtb3J5IGFjY2VzcyBpZiBhdmFpbGFibGUuIFBhdGNoIHdyaXR0ZW4gYnkgVml0b3IgZGUgTGltYSBhbmQgR3VzdGF2bworICBUZW1wbGUuCisKKy0gSXNzdWUgIzIwMjg0OiAlLWludGVycG9sYXRpb24gKGFrYSBwcmludGYpIGZvcm1hdHRpbmcgYWRkZWQgZm9yIGJ5dGVzIGFuZAorICBieXRlYXJyYXkuCisKIC0gSXNzdWUgIzIzMDQ4OiBGaXgganVtcGluZyBvdXQgb2YgYW4gaW5maW5pdGUgd2hpbGUgbG9vcCBpbiB0aGUgcGRiLgogCiAtIElzc3VlICMyMDMzNTogYnl0ZXMgY29uc3RydWN0b3Igbm93IHJhaXNlcyBUeXBlRXJyb3Igd2hlbiBlbmNvZGluZyBvciBlcnJvcnMKICAgaXMgc3BlY2lmaWVkIHdpdGggbm9uLXN0cmluZyBhcmd1bWVudC4gIEJhc2VkIG9uIHBhdGNoIGJ5IFJlbmF1ZCBCbGFuY2guCiAKKy0gSXNzdWUgIzIyODM0OiBJZiB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSBlbmRzIHVwIGJlaW5nIHNldCB0byBhCisgIG5vbi1leGlzdGVudCBkaXJlY3RvcnkgdGhlbiBpbXBvcnQgd2lsbCBubyBsb25nZXIgcmFpc2UgRmlsZU5vdEZvdW5kRXJyb3IuCisKKy0gSXNzdWUgIzIyODY5OiBNb3ZlIHRoZSBpbnRlcnByZXRlciBzdGFydHVwICYgc2h1dGRvd24gY29kZSB0byBhIG5ldworICBkZWRpY2F0ZWQgcHlsaWZlY3ljbGUuYyBtb2R1bGUKKworLSBJc3N1ZSAjMjI4NDc6IEltcHJvdmUgbWV0aG9kIGNhY2hlIGVmZmljaWVuY3kuCisKIC0gSXNzdWUgIzIyMzM1OiBGaXggY3Jhc2ggd2hlbiB0cnlpbmcgdG8gZW5sYXJnZSBhIGJ5dGVhcnJheSB0byAweDdmZmZmZmZmCiAgIGJ5dGVzIG9uIGEgMzItYml0IHBsYXRmb3JtLgogCkBAIC01MSwxMiArODIsMjggQEAKIC0gSXNzdWUgIzIyNjQzOiBGaXggaW50ZWdlciBvdmVyZmxvdyBpbiBVbmljb2RlIGNhc2Ugb3BlcmF0aW9ucyAodXBwZXIsIGxvd2VyLAogICB0aXRsZSwgc3dhcGNhc2UsIGNhc2Vmb2xkKS4KIAorLSBJc3N1ZSAjMTc2MzY6IENpcmN1bGFyIGltcG9ydHMgaW52b2x2aW5nIHJlbGF0aXZlIGltcG9ydHMgYXJlIG5vdworICBzdXBwb3J0ZWQuCisKIC0gSXNzdWUgIzIyNjA0OiBGaXggYXNzZXJ0aW9uIGVycm9yIGluIGRlYnVnIG1vZGUgd2hlbiBkaXZpZGluZyBhIGNvbXBsZXgKICAgbnVtYmVyIGJ5IChuYW4rMGopLgogCistIElzc3VlICMyMTA1MjogRG8gbm90IHJhaXNlIEltcG9ydFdhcm5pbmcgd2hlbiBzeXMucGF0aF9ob29rcyBvciBzeXMubWV0YV9wYXRoCisgIGFyZSBzZXQgdG8gTm9uZS4KKworLSBJc3N1ZSAjMTY1MTg6IFVzZSAnYnl0ZXMtbGlrZSBvYmplY3QgcmVxdWlyZWQnIGluIGVycm9yIG1lc3NhZ2VzIHRoYXQKKyAgcHJldmlvdXNseSB1c2VkIHRoZSBmYXIgbW9yZSBjcnlwdGljICIneCcgZG9lcyBub3Qgc3VwcG9ydCB0aGUgYnVmZmVyCisgIHByb3RvY29sLgorCiAtIElzc3VlICMyMjQ3MDogRml4ZWQgaW50ZWdlciBvdmVyZmxvdyBpc3N1ZXMgaW4gImJhY2tzbGFzaHJlcGxhY2UiLAogICAieG1sY2hhcnJlZnJlcGxhY2UiLCBhbmQgInN1cnJvZ2F0ZXBhc3MiIGVycm9yIGhhbmRsZXJzLgogCistIElzc3VlICMyMjU0MDogc3BlZWQgdXAgYFB5T2JqZWN0X0lzSW5zdGFuY2VgIGFuZCBgUHlPYmplY3RfSXNTdWJjbGFzc2AgaW4gdGhlCisgIGNvbW1vbiBjYXNlIHRoYXQgdGhlIHNlY29uZCBhcmd1bWVudCBoYXMgbWV0YWNsYXNzIGB0eXBlYC4KKworLSBJc3N1ZSAjMTg3MTE6IEFkZCBhIG5ldyBgUHlFcnJfRm9ybWF0VmAgZnVuY3Rpb24sIHNpbWlsYXIgdG8gYFB5RXJyX0Zvcm1hdGAKKyAgYnV0IGFjY2VwdGluZyBhIGB2YV9saXN0YCBhcmd1bWVudC4KKwogLSBJc3N1ZSAjMjI1MjA6IEZpeCBvdmVyZmxvdyBjaGVja2luZyB3aGVuIGdlbmVyYXRpbmcgdGhlIHJlcHIgb2YgYSB1bmljb2RlCiAgIG9iamVjdC4KIApAQCAtNjQsNiArMTExLDEzOCBAQAogCiAtIElzc3VlICMyMjUxODogRml4IGludGVnZXIgb3ZlcmZsb3cgaXNzdWVzIGluIGxhdGluLTEgZW5jb2RpbmcuCiAKKy0gSXNzdWUgIzE2MzI0OiBfY2hhcnNldCBwYXJhbWV0ZXIgb2YgTUlNRVRleHQgbm93IGFsc28gYWNjZXB0cworICBlbWFpbC5jaGFyc2V0LkNoYXJzZXQgaW5zdGFuY2VzLiBJbml0aWFsIHBhdGNoIGJ5IENsYXVkZSBQYXJvei4KKworLSBJc3N1ZSAjMTc2NDI4NjogRml4IGluc3BlY3QuZ2V0c291cmNlKCkgdG8gc3VwcG9ydCBkZWNvcmF0ZWQgZnVuY3Rpb25zLgorICBQYXRjaCBieSBDbGF1ZGl1IFBvcGEuCisKKy0gSXNzdWUgIzE4NTU0OiBvcy5fX2FsbF9fIGluY2x1ZGVzIHBvc2l4IGZ1bmN0aW9ucy4KKworLSBJc3N1ZSAjMjEzOTE6IFVzZSBvcy5wYXRoLmFic3BhdGggaW4gdGhlIHNodXRpbCBtb2R1bGUuCisKKy0gSXNzdWUgIzExNDcxOiBhdm9pZCBnZW5lcmF0aW5nIGEgSlVNUF9GT1JXQVJEIGluc3RydWN0aW9uIGF0IHRoZSBlbmQgb2YKKyAgYW4gaWYtYmxvY2sgaWYgdGhlcmUgaXMgbm8gZWxzZS1jbGF1c2UuICBPcmlnaW5hbCBwYXRjaCBieSBFdWdlbmUgVG9kZXIuCisKKy0gSXNzdWUgIzIyMjE1OiBOb3cgVmFsdWVFcnJvciBpcyByYWlzZWQgaW5zdGVhZCBvZiBUeXBlRXJyb3Igd2hlbiBzdHIgb3IgYnl0ZXMKKyAgYXJndW1lbnQgY29udGFpbnMgbm90IHBlcm1pdHRlZCBudWxsIGNoYXJhY3RlciBvciBieXRlLgorCistIElzc3VlICMyMjI1ODogRml4IHRoZSBpbnRlcm5hbCBmdW5jdGlvbiBzZXRfaW5oZXJpdGFibGUoKSBvbiBJbGx1bW9zLgorICBUaGlzIHBsYXRmb3JtIGV4cG9zZXMgdGhlIGZ1bmN0aW9uIGBgaW9jdGwoRklPQ0xFWClgYCwgYnV0IGNhbGxpbmcgaXQgZmFpbHMKKyAgd2l0aCBlcnJubyBpcyBFTk9UVFk6ICJJbmFwcHJvcHJpYXRlIGlvY3RsIGZvciBkZXZpY2UiLiBzZXRfaW5oZXJpdGFibGUoKQorICBub3cgZmFsbHMgYmFjayB0byB0aGUgc2xvd2VyIGBgZmNudGwoKWBgIChgYEZfR0VURkRgYCBhbmQgdGhlbiBgYEZfU0VURkRgYCkuCisKKy0gSXNzdWUgIzIxMzg5OiBEaXNwbGF5aW5nIHRoZSBfX3F1YWxuYW1lX18gb2YgdGhlIHVuZGVybHlpbmcgZnVuY3Rpb24gaW4gdGhlCisgIHJlcHIgb2YgYSBib3VuZCBtZXRob2QuCisKKy0gSXNzdWUgIzIyMjA2OiBVc2luZyBwdGhyZWFkLCBQeVRocmVhZF9jcmVhdGVfa2V5KCkgbm93IHNldHMgZXJybm8gdG8gRU5PTUVNCisgIGFuZCByZXR1cm5zIC0xIChlcnJvcikgb24gaW50ZWdlciBvdmVyZmxvdy4KKworLSBJc3N1ZSAjMjAxODQ6IEFyZ3VtZW50IENsaW5pYyBiYXNlZCBzaWduYXR1cmUgaW50cm9zcGVjdGlvbiBhZGRlZCBmb3IKKyAgMzAgb2YgdGhlIGJ1aWx0aW4gZnVuY3Rpb25zLgorCistIElzc3VlICMyMjExNjogQyBmdW5jdGlvbnMgYW5kIG1ldGhvZHMgKG9mIHRoZSAnYnVpbHRpbl9mdW5jdGlvbl9vcl9tZXRob2QnCisgIHR5cGUpIGNhbiBub3cgYmUgd2Vha3JlZidlZC4gIFBhdGNoIGJ5IFdlaSBXdS4KKworLSBJc3N1ZSAjMjIwNzc6IEltcHJvdmUgaW5kZXggZXJyb3IgbWVzc2FnZXMgZm9yIGJ5dGVhcnJheXMsIGJ5dGVzLCBsaXN0cywKKyAgYW5kIHR1cGxlcyBieSBhZGRpbmcgJ29yIHNsaWNlcycuIEFkZGVkICcsIG5vdCA8dHlwZW5hbWUnIGZvciBieXRlYXJyYXlzLgorICBPcmlnaW5hbCBwYXRjaCBieSBDbGF1ZGl1IFBvcGEuCisKKy0gSXNzdWUgIzIwMTc5OiBBcHBseSBBcmd1bWVudCBDbGluaWMgdG8gYnl0ZXMgYW5kIGJ5dGVhcnJheS4KKyAgUGF0Y2ggYnkgVGFsIEVpbmF0LgorCistIElzc3VlICMyMjA4MjogQ2xlYXIgaW50ZXJuZWQgc3RyaW5ncyBpbiBzbG90ZGVmcy4KKworLSBVcGdyYWRlIFVuaWNvZGUgZGF0YWJhc2UgdG8gVW5pY29kZSA3LjAuMC4KKworLSBJc3N1ZSAjMjE4OTc6IEZpeCBhIGNyYXNoIHdpdGggdGhlIGZfbG9jYWxzIGF0dHJpYnV0ZSB3aXRoIGNsb3N1cmUKKyAgdmFyaWFibGVzIHdoZW4gZnJhbWUuY2xlYXIoKSBoYXMgYmVlbiBjYWxsZWQuCisKKy0gSXNzdWUgIzIxMjA1OiBBZGQgYSBuZXcgYGBfX3F1YWxuYW1lX19gYCBhdHRyaWJ1dGUgdG8gZ2VuZXJhdG9yLCB0aGUKKyAgcXVhbGlmaWVkIG5hbWUsIGFuZCB1c2UgaXQgaW4gdGhlIHJlcHJlc2VudGF0aW9uIG9mIGEgZ2VuZXJhdG9yCisgIChgYHJlcHIoZ2VuKWBgKS4gVGhlIGRlZmF1bHQgbmFtZSBvZiB0aGUgZ2VuZXJhdG9yIChgYF9fbmFtZV9fYGAgYXR0cmlidXRlKQorICBpcyBub3cgZ2V0IGZyb20gdGhlIGZ1bmN0aW9uIGluc3RlYWQgb2YgdGhlIGNvZGUuIFVzZSBgYGdlbi5naV9jb2RlLmNvX25hbWVgYAorICB0byBnZXQgdGhlIG5hbWUgb2YgdGhlIGNvZGUuCisKKy0gSXNzdWUgIzIxNjY5OiBXaXRoIHRoZSBhaWQgb2YgaGV1cmlzdGljcyBpbiBTeW50YXhFcnJvci5fX2luaXRfXywgdGhlCisgIHBhcnNlciBub3cgYXR0ZW1wdHMgdG8gZ2VuZXJhdGUgbW9yZSBtZWFuaW5nZnVsIChvciBhdCBsZWFzdCBtb3JlIHNlYXJjaAorICBlbmdpbmUgZnJpZW5kbHkpIGVycm9yIG1lc3NhZ2VzIHdoZW4gImV4ZWMiIGFuZCAicHJpbnQiIGFyZSB1c2VkIGFzCisgIHN0YXRlbWVudHMuCisKKy0gSXNzdWUgIzIxNjQyOiBJZiB0aGUgY29uZGl0aW9uYWwgaWYtZWxzZSBleHByZXNzaW9uLCBhbGxvdyBhbiBpbnRlZ2VyIHdyaXR0ZW4KKyAgd2l0aCBubyBzcGFjZSBiZXR3ZWVuIGl0c2VsZiBhbmQgdGhlIGBgZWxzZWBgIGtleXdvcmQgKGUuZy4gYGBUcnVlIGlmIDQyZWxzZQorICBGYWxzZWBgKSB0byBiZSB2YWxpZCBzeW50YXguCisKKy0gSXNzdWUgIzIxNTIzOiBGaXggb3Zlci1wZXNzaW1pc3RpYyBjb21wdXRhdGlvbiBvZiB0aGUgc3RhY2sgZWZmZWN0IG9mCisgIHNvbWUgb3Bjb2RlcyBpbiB0aGUgY29tcGlsZXIuICBUaGlzIGFsc28gZml4ZXMgYSBxdWFkcmF0aWMgY29tcGlsYXRpb24KKyAgdGltZSBpc3N1ZSBub3RpY2VhYmxlIHdoZW4gY29tcGlsaW5nIGNvZGUgd2l0aCBhIGxhcmdlIG51bWJlciBvZiAiYW5kIgorICBhbmQgIm9yIiBvcGVyYXRvcnMuCisKKy0gSXNzdWUgIzIxNDE4OiBGaXggYSBjcmFzaCBpbiB0aGUgYnVpbHRpbiBmdW5jdGlvbiBzdXBlcigpIHdoZW4gY2FsbGVkIHdpdGhvdXQKKyAgYXJndW1lbnQgYW5kIHdpdGhvdXQgY3VycmVudCBmcmFtZSAoZXg6IGVtYmVkZGVkIFB5dGhvbikuCisKKy0gSXNzdWUgIzIxNDI1OiBGaXggZmx1c2hpbmcgb2Ygc3RhbmRhcmQgc3RyZWFtcyBpbiB0aGUgaW50ZXJhY3RpdmUKKyAgaW50ZXJwcmV0ZXIuCisKKy0gSXNzdWUgIzIxNDM1OiBJbiByYXJlIGNhc2VzLCB3aGVuIHJ1bm5pbmcgZmluYWxpemVycyBvbiBvYmplY3RzIGluIGN5Y2xpYworICB0cmFzaCBhIGJhZCBwb2ludGVyIGRlcmVmZXJlbmNlIGNvdWxkIG9jY3VyIGR1ZSB0byBhIHN1YnRsZSBmbGF3IGluCisgIGludGVybmFsIGl0ZXJhdGlvbiBsb2dpYy4KKworLSBJc3N1ZSAjMjEzNzc6IFB5Qnl0ZXNfQ29uY2F0KCkgbm93IHRyaWVzIHRvIGNvbmNhdGVuYXRlIGluLXBsYWNlIHdoZW4gdGhlCisgIGZpcnN0IGFyZ3VtZW50IGhhcyBhIHJlZmVyZW5jZSBjb3VudCBvZiAxLiAgUGF0Y2ggYnkgTmlrb2xhdXMgUmF0aC4KKworLSBJc3N1ZSAjMjAzNTU6IC1XIGNvbW1hbmQgbGluZSBvcHRpb25zIG5vdyBoYXZlIGhpZ2hlciBwcmlvcml0eSB0aGFuIHRoZQorICBQWVRIT05XQVJOSU5HUyBlbnZpcm9ubWVudCB2YXJpYWJsZS4gIFBhdGNoIGJ5IEFyZnJldmVyLgorCistIElzc3VlICMyMTI3NDogRGVmaW5lIFBBVEhfTUFYIGZvciBHTlUvSHVyZCBpbiBQeXRob24vcHl0aG9ucnVuLmMuCisKKy0gSXNzdWUgIzIwOTA0OiBTdXBwb3J0IHNldHRpbmcgRlBVIHByZWNpc2lvbiBvbiBtNjhrLgorCistIElzc3VlICMyMTIwOTogRml4IHNlbmRpbmcgdHVwbGVzIHRvIGN1c3RvbSBnZW5lcmF0b3Igb2JqZWN0cyB3aXRoIHRoZSB5aWVsZAorICBmcm9tIHN5bnRheC4KKworLSBJc3N1ZSAjMjExOTM6IHBvdyhhLCBiLCBjKSBub3cgcmFpc2VzIFZhbHVlRXJyb3IgcmF0aGVyIHRoYW4gVHlwZUVycm9yIHdoZW4gYgorICBpcyBuZWdhdGl2ZS4gIFBhdGNoIGJ5IEpvc2ggUm9zZW5iZXJnLgorCistIFBFUCA0NjUgYW5kIElzc3VlICMyMTE3NjogQWRkIHRoZSAnQCcgb3BlcmF0b3IgZm9yIG1hdHJpeCBtdWx0aXBsaWNhdGlvbi4KKworLSBJc3N1ZSAjMjExMzQ6IEZpeCBzZWdmYXVsdCB3aGVuIHN0ciBpcyBjYWxsZWQgb24gYW4gdW5pbml0aWFsaXplZAorICBVbmljb2RlRW5jb2RlRXJyb3IsIFVuaWNvZGVEZWNvZGVFcnJvciwgb3IgVW5pY29kZVRyYW5zbGF0ZUVycm9yIG9iamVjdC4KKworLSBJc3N1ZSAjMTk1Mzc6IEZpeCBQeVVuaWNvZGVfREFUQSgpIGFsaWdubWVudCB1bmRlciBtNjhrLiAgUGF0Y2ggYnkKKyAgQW5kcmVhcyBTY2h3YWIuCisKKy0gSXNzdWUgIzIwOTI5OiBBZGQgYSB0eXBlIGNhc3QgdG8gYXZvaWQgc2hpZnRpbmcgYSBuZWdhdGl2ZSBudW1iZXIuCisKKy0gSXNzdWUgIzIwNzMxOiBQcm9wZXJseSBwb3NpdGlvbiBpbiBzb3VyY2UgY29kZSBmaWxlcyBldmVuIGlmIHRoZXkKKyAgYXJlIG9wZW5lZCBpbiB0ZXh0IG1vZGUuIFBhdGNoIGJ5IFNlcmhpeSBTdG9yY2hha2EuCisKKy0gSXNzdWUgIzIwNjM3OiBLZXktc2hhcmluZyBub3cgYWxzbyB3b3JrcyBmb3IgaW5zdGFuY2UgZGljdGlvbmFyaWVzIG9mCisgIHN1YmNsYXNzZXMuICBQYXRjaCBieSBQZXRlciBJbmdlYnJldHNvbi4KKworLSBJc3N1ZSAjODI5NzogQXR0cmlidXRlcyBtaXNzaW5nIGZyb20gbW9kdWxlcyBub3cgaW5jbHVkZSB0aGUgbW9kdWxlIG5hbWUKKyAgaW4gdGhlIGVycm9yIHRleHQuICBPcmlnaW5hbCBwYXRjaCBieSB5c2oucmF5LgorCistIElzc3VlICMxOTk5NTogJWMsICVvLCAleCwgYW5kICVYIG5vdyByYWlzZSBUeXBlRXJyb3Igb24gbm9uLWludGVnZXIgaW5wdXQuCisKKy0gSXNzdWUgIzE5NjU1OiBUaGUgQVNETCBwYXJzZXIgLSB1c2VkIGJ5IHRoZSBidWlsZCBwcm9jZXNzIHRvIGdlbmVyYXRlIGNvZGUgZm9yCisgIG1hbmFnaW5nIHRoZSBQeXRob24gQVNUIGluIEMgLSB3YXMgcmV3cml0dGVuLiBUaGUgbmV3IHBhcnNlciBpcyBzZWxmIGNvbnRhaW5lZAorICBhbmQgZG9lcyBub3QgcmVxdWlyZSB0byBjYXJyeSBsb25nIHRoZSBzcGFyay5weSBwYXJzZXItZ2VuZXJhdG9yIGxpYnJhcnk7CisgIHNwYXJrLnB5IHdhcyByZW1vdmVkIGZyb20gdGhlIHNvdXJjZSBiYXNlLgorCistIElzc3VlICMxMjU0NjogQWxsb3cgXHgwMCB0byBiZSB1c2VkIGFzIGEgZmlsbCBjaGFyYWN0ZXIgd2hlbiB1c2luZyBzdHIsIGludCwKKyAgZmxvYXQsIGFuZCBjb21wbGV4IF9fZm9ybWF0X18gbWV0aG9kcy4KKworLSBJc3N1ZSAjMjA0ODA6IEFkZCBpcGFkZHJlc3MucmV2ZXJzZV9wb2ludGVyLiBQYXRjaCBieSBMZW9uIFdlYmVyLgorCistIElzc3VlICMxMzU5ODogTW9kaWZ5IHN0cmluZy5Gb3JtYXR0ZXIgdG8gc3VwcG9ydCBhdXRvLW51bWJlcmluZyBvZgorICByZXBsYWNlbWVudCBmaWVsZHMuIEl0IG5vdyBtYXRjaGVzIHRoZSBiZWhhdmlvciBvZiBzdHIuZm9ybWF0KCkgaW4KKyAgdGhpcyByZWdhcmQuIFBhdGNoZXMgYnkgUGhpbCBFbHNvbiBhbmQgUmFtY2hhbmRyYSBBcHRlLgorCistIElzc3VlICM4OTMxOiBNYWtlIGFsdGVybmF0ZSBmb3JtYXR0aW5nICgnIycpIGZvciB0eXBlICdjJyByYWlzZSBhbgorICBleGNlcHRpb24uIEluIHZlcnNpb25zIHByaW9yIHRvIDMuNSwgJyMnIHdpdGggJ2MnIGhhZCBubyBlZmZlY3QuIE5vdworICBzcGVjaWZ5aW5nIGl0IGlzIGFuIGVycm9yLiAgUGF0Y2ggYnkgVG9yc3RlbiBMYW5kc2Nob2ZmLgorCiAtIElzc3VlICMyMzE2NTogUGVyZm9ybSBvdmVyZmxvdyBjaGVja3MgYmVmb3JlIGFsbG9jYXRpbmcgbWVtb3J5IGluIHRoZQogICBfUHlfY2hhcjJ3Y2hhciBmdW5jdGlvbi4KIApAQCAtNzIsOSArMjUxLDI0IEBACiAKIC0gSXNzdWUgIzIzMzk5OiBweXZlbnYgY3JlYXRlcyByZWxhdGl2ZSBzeW1saW5rcyB3aGVyZSBwb3NzaWJsZS4KIAorLSBJc3N1ZSAjMjAyODk6IGNnaS5GaWVsZFN0b3JhZ2UoKSBub3cgc3VwcG9ydHMgdGhlIGNvbnRleHQgbWFuYWdlbWVudAorICBwcm90b2NvbC4KKworLSBJc3N1ZSAjMTMxMjg6IFByaW50IHJlc3BvbnNlIGhlYWRlcnMgZm9yIENPTk5FQ1QgcmVxdWVzdHMgd2hlbiBkZWJ1Z2xldmVsCisgID4gMC4gUGF0Y2ggYnkgRGVtaWFuIEJyZWNodC4KKworLSBJc3N1ZSAjMTUzODE6IE9wdGltaXplZCBpby5CeXRlc0lPIHRvIG1ha2UgbGVzcyBhbGxvY2F0aW9ucyBhbmQgY29weWluZ3MuCisKKy0gSXNzdWUgIzIyODE4OiBTcGxpdHRpbmcgb24gYSBwYXR0ZXJuIHRoYXQgY291bGQgbWF0Y2ggYW4gZW1wdHkgc3RyaW5nIG5vdworICByYWlzZXMgYSB3YXJuaW5nLiAgUGF0dGVybnMgdGhhdCBjYW4gb25seSBtYXRjaCBlbXB0eSBzdHJpbmdzIGFyZSBub3cKKyAgcmVqZWN0ZWQuCisKIC0gSXNzdWUgIzIzMDk5OiBDbG9zaW5nIGlvLkJ5dGVzSU8gd2l0aCBleHBvcnRlZCBidWZmZXIgaXMgcmVqZWN0ZWQgbm93IHRvCiAgIHByZXZlbnQgY29ycnVwdGluZyBleHBvcnRlZCBidWZmZXIuCiAKKy0gSXNzdWUgIzIzMzI2OiBSZW1vdmVkIF9fbmVfXyBpbXBsZW1lbnRhdGlvbnMuICBTaW5jZSBmaXhpbmcgZGVmYXVsdCBfX25lX18KKyAgaW1wbGVtZW50YXRpb24gaW4gaXNzdWUgIzIxNDA4IHRoZXkgYXJlIHJlZHVuZGFudC4KKwogLSBJc3N1ZSAjMjMzNjM6IEZpeCBwb3NzaWJsZSBvdmVyZmxvdyBpbiBpdGVydG9vbHMucGVybXV0YXRpb25zLgogCiAtIElzc3VlICMyMzM2NDogRml4IHBvc3NpYmxlIG92ZXJmbG93IGluIGl0ZXJ0b29scy5wcm9kdWN0LgpAQCAtOTIsNiArMjg2LDE0IEBACiAgIGlzIG5vdyBhbHdheXMgcmVzdG9yZWQgb3Igc3dhcHBlZCwgbm90IG9ubHkgaWYgd2h5IGlzIFdIWV9ZSUVMRCBvcgogICBXSFlfUkVUVVJOLiBQYXRjaCBjby13cml0dGVuIHdpdGggQW50b2luZSBQaXRyb3UuCiAKKy0gSXNzdWUgIzE0MDk5OiBSZXN0b3JlZCBzdXBwb3J0IG9mIHdyaXRpbmcgWklQIGZpbGVzIHRvIHRlbGxhYmxlIGJ1dAorICBub24tc2Vla2FibGUgc3RyZWFtcy4KKworLSBJc3N1ZSAjMTQwOTk6IFdyaXRpbmcgdG8gWmlwRmlsZSBhbmQgcmVhZGluZyBtdWx0aXBsZSBaaXBFeHRGaWxlcyBpcworICB0aHJlYWRzYWZlIG5vdy4KKworLSBJc3N1ZSAjMTkzNjE6IEpTT04gZGVjb2RlciBub3cgcmFpc2VzIEpTT05EZWNvZGVFcnJvciBpbnN0ZWFkIG9mIFZhbHVlRXJyb3IuCisKIC0gSXNzdWUgIzE4NTE4OiB0aW1laXQgbm93IHJlamVjdHMgc3RhdGVtZW50cyB3aGljaCBjYW4ndCBiZSBjb21waWxlZCBvdXRzaWRlCiAgIGEgZnVuY3Rpb24gb3IgYSBsb29wIChlLmcuICJyZXR1cm4iIG9yICJicmVhayIpLgogCkBAIC0xMDYsNDcgKzMwOCw3OCBAQAogLSBJc3N1ZSAjMTk5OTY6IDpjbGFzczpgZW1haWwuZmVlZHBhcnNlci5GZWVkUGFyc2VyYCBub3cgaGFuZGxlcyAobWFsZm9ybWVkKQogICBoZWFkZXJzIHdpdGggbm8ga2V5IHJhdGhlciB0aGFuIGFtdXNpbmcgdGhlIGJvZHkgaGFzIHN0YXJ0ZWQuCiAKKy0gSXNzdWUgIzIwMTg4OiBTdXBwb3J0IEFwcGxpY2F0aW9uLUxheWVyIFByb3RvY29sIE5lZ290aWF0aW9uIChBTFBOKSBpbiB0aGUgc3NsCisgIG1vZHVsZS4KKworLSBJc3N1ZSAjMjMxMzM6IFBpY2tsaW5nIG9mIGlwYWRkcmVzcyBvYmplY3RzIG5vdyBwcm9kdWNlcyBtb3JlIGNvbXBhY3QgYW5kCisgIHBvcnRhYmxlIHJlcHJlc2VudGF0aW9uLgorCiAtIElzc3VlICMyMzI0ODogVXBkYXRlIHNzbCBlcnJvciBjb2RlcyBmcm9tIGxhdGVzdCBPcGVuU1NMIGdpdCBtYXN0ZXIuCiAKKy0gSXNzdWUgIzIzMjY2OiBNdWNoIGZhc3RlciBpbXBsZW1lbnRhdGlvbiBvZiBpcGFkZHJlc3MuY29sbGFwc2VfYWRkcmVzc2VzKCkKKyAgd2hlbiB0aGVyZSBhcmUgbWFueSBub24tY29uc2VjdXRpdmUgYWRkcmVzc2VzLgorCiAtIElzc3VlICMyMzA5ODogNjQtYml0IGRldl90IGlzIG5vdyBzdXBwb3J0ZWQgaW4gdGhlIG9zIG1vZHVsZS4KIAorLSBJc3N1ZSAjMjE4MTc6IFdoZW4gYW4gZXhjZXB0aW9uIGlzIHJhaXNlZCBpbiBhIHRhc2sgc3VibWl0dGVkIHRvIGEKKyAgUHJvY2Vzc1Bvb2xFeGVjdXRvciwgdGhlIHJlbW90ZSB0cmFjZWJhY2sgaXMgbm93IGRpc3BsYXllZCBpbiB0aGUKKyAgcGFyZW50IHByb2Nlc3MuICBQYXRjaCBieSBDbGF1ZGl1IFBvcGEuCisKKy0gSXNzdWUgIzE1OTU1OiBBZGQgYW4gb3B0aW9uIHRvIGxpbWl0IG91dHB1dCBzaXplIHdoZW4gZGVjb21wcmVzc2luZyBMWk1BCisgIGRhdGEuICBQYXRjaCBieSBOaWtvbGF1cyBSYXRoIGFuZCBNYXJ0aW4gUGFudGVyLgorCiAtIElzc3VlICMyMzI1MDogSW4gdGhlIGh0dHAuY29va2llcyBtb2R1bGUsIGNhcGl0YWxpemUgIkh0dHBPbmx5IiBhbmQgIlNlY3VyZSIKICAgYXMgdGhleSBhcmUgd3JpdHRlbiBpbiB0aGUgc3RhbmRhcmQuCiAKIC0gSXNzdWUgIzIzMDYzOiBJbiB0aGUgZGlzdXRpbHMnIGNoZWNrIGNvbW1hbmQsIGZpeCBwYXJzaW5nIG9mIHJlU1Qgd2l0aCBjb2RlIG9yCiAgIGNvZGUtYmxvY2sgZGlyZWN0aXZlcy4KIAotLSBJc3N1ZSAjMjMyMDksICMyMzIyNTogc2VsZWN0b3JzLkJhc2VTZWxlY3Rvci5jbG9zZSgpIG5vdyBjbGVhcnMgaXRzIGludGVybmFsCi0gIHJlZmVyZW5jZSB0byB0aGUgc2VsZWN0b3IgbWFwcGluZyB0byBicmVhayBhIHJlZmVyZW5jZSBjeWNsZS4gSW5pdGlhbCBwYXRjaAotICB3cml0dGVuIGJ5IE1hcnRpbiBSaWNoYXJkLgorLSBJc3N1ZSAjMjMyMDksICMyMzIyNTogc2VsZWN0b3JzLkJhc2VTZWxlY3Rvci5nZXRfa2V5KCkgbm93IHJhaXNlcyBhCisgIFJ1bnRpbWVFcnJvciBpZiB0aGUgc2VsZWN0b3IgaXMgY2xvc2VkLiBBbmQgc2VsZWN0b3JzLkJhc2VTZWxlY3Rvci5jbG9zZSgpCisgIG5vdyBjbGVhcnMgaXRzIGludGVybmFsIHJlZmVyZW5jZSB0byB0aGUgc2VsZWN0b3IgbWFwcGluZyB0byBicmVhayBhCisgIHJlZmVyZW5jZSBjeWNsZS4gSW5pdGlhbCBwYXRjaCB3cml0dGVuIGJ5IE1hcnRpbiBSaWNoYXJkLgogCi0tIElzc3VlICMyMTM1NjogTWFrZSBzc2wuUkFORF9lZ2QoKSBvcHRpb25hbCB0byBzdXBwb3J0IExpYnJlU1NMLiBUaGUKLSAgYXZhaWxhYmlsaXR5IG9mIHRoZSBmdW5jdGlvbiBpcyBjaGVja2VkIGR1cmluZyB0aGUgY29tcGlsYXRpb24uIFBhdGNoIHdyaXR0ZW4KLSAgYnkgQmVybmFyZCBTcGlsLgorLSBJc3N1ZSAjMTk3Nzc6IFByb3ZpZGUgYSBob21lKCkgY2xhc3NtZXRob2Qgb24gUGF0aCBvYmplY3RzLiAgQ29udHJpYnV0ZWQKKyAgYnkgVmljdG9yIFNhbGdhZG8gYW5kIE1heWFuayBUcmlwYXRoaS4KIAotLSBJc3N1ZSAjMjA4OTYsICMyMjkzNTogVGhlIDpmdW5jOmBzc2wuZ2V0X3NlcnZlcl9jZXJ0aWZpY2F0ZWAgZnVuY3Rpb24gbm93Ci0gIHVzZXMgdGhlIDpkYXRhOmB+c3NsLlBST1RPQ09MX1NTTHYyM2AgcHJvdG9jb2wgYnkgZGVmYXVsdCwgbm90Ci0gIDpkYXRhOmB+c3NsLlBST1RPQ09MX1NTTHYzYCwgZm9yIG1heGltdW0gY29tcGF0aWJpbGl0eSBhbmQgc3VwcG9ydCBwbGF0Zm9ybXMKLSAgd2hlcmUgOmRhdGE6YH5zc2wuUFJPVE9DT0xfU1NMdjNgIHN1cHBvcnQgaXMgZGlzYWJsZWQuCistIElzc3VlICMyMzIwNjogTWFrZSBgYGpzb24uZHVtcHMoLi4uLCBlbnN1cmVfYXNjaWk9RmFsc2UpYGAgYXMgZmFzdCBhcyB0aGUKKyAgZGVmYXVsdCBjYXNlIG9mIGBgZW5zdXJlX2FzY2lpPVRydWVgYC4gIFBhdGNoIGJ5IE5hb2tpIEluYWRhLgogCi0tIElzc3VlICMyMzExMTogSW4gdGhlIGZ0cGxpYiwgbWFrZSBzc2wuUFJPVE9DT0xfU1NMdjIzIHRoZSBkZWZhdWx0IHByb3RvY29sCi0gIHZlcnNpb24uCistIElzc3VlICMyMzE4NTogQWRkIG1hdGguaW5mIGFuZCBtYXRoLm5hbiBjb25zdGFudHMuCiAKLS0gSXNzdWUgIzIzMTMyOiBNaXRpZ2F0ZSByZWdyZXNzaW9uIGluIHNwZWVkIGFuZCBjbGFyaXR5IGluIGZ1bmN0b29scy50b3RhbF9vcmRlcmluZy4KKy0gSXNzdWUgIzIzMTg2OiBBZGQgc3NsLlNTTE9iamVjdC5zaGFyZWRfY2lwaGVycygpIGFuZAorICBzc2wuU1NMU29ja2V0LnNoYXJlZF9jaXBoZXJzKCkgdG8gZmV0Y2ggdGhlIGNsaWVudCdzIGxpc3QgY2lwaGVycyBzZW50IGF0CisgIGhhbmRzaGFrZS4KIAotLSBJc3N1ZSAjMjI1ODU6IE9uIE9wZW5CU0QgNS42IGFuZCBuZXdlciwgb3MudXJhbmRvbSgpIG5vdyBjYWxscyBnZXRlbnRyb3B5KCksCi0gIGluc3RlYWQgb2YgcmVhZGluZyAvZGV2L3VyYW5kb20sIHRvIGdldCBwc2V1ZG8tcmFuZG9tIGJ5dGVzLgorLSBJc3N1ZSAjMjMxNDM6IFJlbW92ZSBjb21wYXRpYmlsaXR5IHdpdGggT3BlblNTTHMgb2xkZXIgdGhhbiAwLjkuOC4KKworLSBJc3N1ZSAjMjMxMzI6IEltcHJvdmUgcGVyZm9ybWFuY2UgYW5kIGludHJvc3BlY3Rpb24gc3VwcG9ydCBvZiBjb21wYXJpc29uCisgIG1ldGhvZHMgY3JlYXRlZCBieSBmdW5jdG9vbC50b3RhbF9vcmRlcmluZy4KKworLSBJc3N1ZSAjMTk3NzY6IEFkZCBhIGV4cGFuZHVzZXIoKSBtZXRob2Qgb24gUGF0aCBvYmplY3RzLgogCiAtIElzc3VlICMyMzExMjogRml4IFNpbXBsZUhUVFBTZXJ2ZXIgdG8gY29ycmVjdGx5IGNhcnJ5IHRoZSBxdWVyeSBzdHJpbmcgYW5kCiAgIGZyYWdtZW50IHdoZW4gaXQgcmVkaXJlY3RzIHRvIGFkZCBhIHRyYWlsaW5nIHNsYXNoLgogCistIElzc3VlICMyMTc5MzogQWRkZWQgaHR0cC5IVFRQU3RhdHVzIGVudW1zIChpLmUuIEhUVFBTdGF0dXMuT0ssCisgIEhUVFBTdGF0dXMuTk9UX0ZPVU5EKS4gIFBhdGNoIGJ5IERlbWlhbiBCcmVjaHQuCisKIC0gSXNzdWUgIzIzMDkzOiBJbiB0aGUgaW8sIG1vZHVsZSBhbGxvdyBtb3JlIG9wZXJhdGlvbnMgdG8gd29yayBvbiBkZXRhY2hlZAogICBzdHJlYW1zLgogCistIElzc3VlICMyMzExMTogSW4gdGhlIGZ0cGxpYiwgbWFrZSBzc2wuUFJPVE9DT0xfU1NMdjIzIHRoZSBkZWZhdWx0IHByb3RvY29sCisgIHZlcnNpb24uCisKKy0gSXNzdWUgIzIyNTg1OiBPbiBPcGVuQlNEIDUuNiBhbmQgbmV3ZXIsIG9zLnVyYW5kb20oKSBub3cgY2FsbHMgZ2V0ZW50cm9weSgpLAorICBpbnN0ZWFkIG9mIHJlYWRpbmcgL2Rldi91cmFuZG9tLCB0byBnZXQgcHNldWRvLXJhbmRvbSBieXRlcy4KKwogLSBJc3N1ZSAjMTkxMDQ6IHBwcmludCBub3cgcHJvZHVjZXMgZXZhbHVhYmxlIG91dHB1dCBmb3Igd3JhcHBlZCBzdHJpbmdzLgogCiAtIElzc3VlICMyMzA3MTogQWRkZWQgbWlzc2luZyBuYW1lcyB0byBjb2RlY3MuX19hbGxfXy4gIFBhdGNoIGJ5IE1hcnRpbiBQYW50ZXIuCiAKKy0gSXNzdWUgIzIyNzgzOiBQaWNrbGluZyBub3cgdXNlcyB0aGUgTkVXT0JKIG9wY29kZSBpbnN0ZWFkIG9mIHRoZSBORVdPQkpfRVgKKyAgb3Bjb2RlIGlmIHBvc3NpYmxlLgorCiAtIElzc3VlICMxNTUxMzogQWRkZWQgYSBfX3NpemVvZl9fIGltcGxlbWVudGF0aW9uIGZvciBwaWNrbGUgY2xhc3Nlcy4KIAogLSBJc3N1ZSAjMTk4NTg6IHBpY2tsZXRvb2xzLm9wdGltaXplKCkgbm93IGF3YXJlIG9mIHRoZSBNRU1PSVpFIG9wY29kZSwgY2FuCkBAIC0xNjgsMTIgKzQwMSwyNSBAQAogLSBJc3N1ZSAjMTIxODIzNDogRml4IGluc3BlY3QuZ2V0c291cmNlKCkgdG8gbG9hZCB1cGRhdGVkIHNvdXJjZSBvZgogICByZWxvYWRlZCBtb2R1bGUuIEluaXRpYWwgcGF0Y2ggYnkgQmVya2VyIFBla3NhZy4KIAorLSBJc3N1ZSAjMjE3NDA6IFN1cHBvcnQgd3JhcHBlZCBjYWxsYWJsZXMgaW4gZG9jdGVzdC4gUGF0Y2ggYnkgQ2xhdWRpdSBQb3BhLgorCistIElzc3VlICMyMzAwOTogTWFrZSBzdXJlIHNlbGVjdG9ycy5FcG9sbFNlbGVjcnRvci5zZWxlY3QoKSB3b3JrcyB3aGVuIG5vCisgIEZEIGlzIHJlZ2lzdGVyZWQuCisKIC0gSXNzdWUgIzIyOTU5OiBJbiB0aGUgY29uc3RydWN0b3Igb2YgaHR0cC5jbGllbnQuSFRUUFNDb25uZWN0aW9uLCBwcmVmZXIgdGhlCiAgIGNvbnRleHQncyBjaGVja19ob3N0bmFtZSBhdHRyaWJ1dGUgb3ZlciB0aGUgKmNoZWNrX2hvc3RuYW1lKiBwYXJhbWV0ZXIuCiAKKy0gSXNzdWUgIzIyNjk2OiBBZGQgZnVuY3Rpb24gOmZ1bmM6YHN5cy5pc19maW5hbGl6aW5nYCB0byBrbm93IGFib3V0CisgIGludGVycHJldGVyIHNodXRkb3duLgorCiAtIElzc3VlICMxNjA0MzogQWRkIGEgZGVmYXVsdCBsaW1pdCBmb3IgdGhlIGFtb3VudCBvZiBkYXRhIHhtbHJwY2xpYi5nemlwX2RlY29kZQogICB3aWxsIHJldHVybi4gVGhpcyByZXNvbHZlcyBDVkUtMjAxMy0xNzUzLgogCistIElzc3VlICMxNDA5OTogWmlwRmlsZS5vcGVuKCkgbm8gbG9uZ2VyIHJlb3BlbiB0aGUgdW5kZXJseWluZyBmaWxlLiAgT2JqZWN0cworICByZXR1cm5lZCBieSBaaXBGaWxlLm9wZW4oKSBjYW4gbm93IG9wZXJhdGUgaW5kZXBlbmRlbnRseSBvZiB0aGUgWmlwRmlsZSBldmVuCisgIGlmIHRoZSBaaXBGaWxlIHdhcyBjcmVhdGVkIGJ5IHBhc3NpbmcgaW4gYSBmaWxlLWxpa2Ugb2JqZWN0IGFzIHRoZSBmaXJzdAorICBhcmd1bWVudCB0byB0aGUgY29uc3RydWN0b3IuCisKIC0gSXNzdWUgIzIyOTY2OiBGaXggX19weWNhY2hlX18gcHljIGZpbGUgbmFtZSBjbG9iYmVyIHdoZW4gcHljX2NvbXBpbGUgaXMKICAgYXNrZWQgdG8gY29tcGlsZSBhIHNvdXJjZSBmaWxlIGNvbnRhaW5pbmcgbXVsdGlwbGUgZG90cyBpbiB0aGUgc291cmNlIGZpbGUKICAgbmFtZS4KQEAgLTE4MywxNCArNDI5LDMwIEBACiAtIElzc3VlICMyMTAzMi4gRml4ZWQgc29ja2V0IGxlYWsgaWYgSFRUUENvbm5lY3Rpb24uZ2V0cmVzcG9uc2UoKSBmYWlscy4KICAgT3JpZ2luYWwgcGF0Y2ggYnkgTWFydGluIFBhbnRlci4KIAorLSBJc3N1ZSAjMjI0MDc6IERlcHJlY2F0ZWQgdGhlIHVzZSBvZiByZS5MT0NBTEUgZmxhZyB3aXRoIHN0ciBwYXR0ZXJucyBvcgorICByZS5BU0NJSS4gSXQgd2FzIG5ld2VyIHdvcmtlZC4KKworLSBJc3N1ZSAjMjI5MDI6IFRoZSAiaXAiIGNvbW1hbmQgaXMgbm93IHVzZWQgb24gTGludXggdG8gZGV0ZXJtaW5lIE1BQyBhZGRyZXNzCisgIGluIHV1aWQuZ2V0bm9kZSgpLiAgUGFjaCBieSBCcnVubyBDYXVldC4KKwogLSBJc3N1ZSAjMjI5NjA6IEFkZCBhIGNvbnRleHQgYXJndW1lbnQgdG8geG1scnBjbGliLlNlcnZlclByb3h5IGNvbnN0cnVjdG9yLgogCistIElzc3VlICMyMjM4OTogQWRkIGNvbnRleHRsaWIucmVkaXJlY3Rfc3RkZXJyKCkuCisKKy0gSXNzdWUgIzIxMzU2OiBNYWtlIHNzbC5SQU5EX2VnZCgpIG9wdGlvbmFsIHRvIHN1cHBvcnQgTGlicmVTU0wuIFRoZQorICBhdmFpbGFiaWxpdHkgb2YgdGhlIGZ1bmN0aW9uIGlzIGNoZWNrZWQgZHVyaW5nIHRoZSBjb21waWxhdGlvbi4gUGF0Y2ggd3JpdHRlbgorICBieSBCZXJuYXJkIFNwaWwuCisKIC0gSXNzdWUgIzIyOTE1OiBTQVggcGFyc2VyIG5vdyBzdXBwb3J0cyBmaWxlcyBvcGVuZWQgd2l0aCBmaWxlIGRlc2NyaXB0b3Igb3IKICAgYnl0ZXMgcGF0aC4KIAogLSBJc3N1ZSAjMjI2MDk6IENvbnN0cnVjdG9ycyBhbmQgdXBkYXRlIG1ldGhvZHMgb2YgbWFwcGluZyBjbGFzc2VzIGluIHRoZQogICBjb2xsZWN0aW9ucyBtb2R1bGUgbm93IGFjY2VwdCB0aGUgc2VsZiBrZXl3b3JkIGFyZ3VtZW50LgogCistIElzc3VlICMyMjk0MDogQWRkIHJlYWRsaW5lLmFwcGVuZF9oaXN0b3J5X2ZpbGUuCisKKy0gSXNzdWUgIzE5Njc2OiBBZGRlZCB0aGUgIm5hbWVyZXBsYWNlIiBlcnJvciBoYW5kbGVyLgorCiAtIElzc3VlICMyMjc4ODogQWRkICpjb250ZXh0KiBwYXJhbWV0ZXIgdG8gbG9nZ2luZy5oYW5kbGVycy5IVFRQSGFuZGxlci4KIAogLSBJc3N1ZSAjMjI5MjE6IEFsbG93IFNTTENvbnRleHQgdG8gdGFrZSB0aGUgKmhvc3RuYW1lKiBwYXJhbWV0ZXIgZXZlbiBpZgpAQCAtMTk5LDE0ICs0NjEsMTkgQEAKIC0gSXNzdWUgIzIyODk0OiBUZXN0Q2FzZS5zdWJUZXN0KCkgd291bGQgY2F1c2UgdGhlIHRlc3Qgc3VpdGUgdG8gYmUgc3RvcHBlZAogICB3aGVuIGluIGZhaWxmYXN0IG1vZGUsIGV2ZW4gaW4gdGhlIGFic2VuY2Ugb2YgZmFpbHVyZXMuCiAKLS0gSXNzdWUgIzIyNjM4OiBTU0x2MyBpcyBub3cgZGlzYWJsZWQgdGhyb3VnaG91dCB0aGUgc3RhbmRhcmQgbGlicmFyeS4KLSAgSXQgY2FuIHN0aWxsIGJlIGVuYWJsZWQgYnkgaW5zdGFudGlhdGluZyBhIFNTTENvbnRleHQgbWFudWFsbHkuCistIElzc3VlICMyMjc5NjogSFRUUCBjb29raWUgcGFyc2luZyBpcyBub3cgc3RyaWN0ZXIsIGluIG9yZGVyIHRvIHByb3RlY3QKKyAgYWdhaW5zdCBwb3RlbnRpYWwgaW5qZWN0aW9uIGF0dGFja3MuCiAKIC0gSXNzdWUgIzIyMzcwOiBXaW5kb3dzIGRldGVjdGlvbiBpbiBwYXRobGliIGlzIG5vdyBtb3JlIHJvYnVzdC4KIAogLSBJc3N1ZSAjMjI4NDE6IFJlamVjdCBjb3JvdXRpbmVzIGluIGFzeW5jaW8gYWRkX3NpZ25hbF9oYW5kbGVyKCkuCiAgIFBhdGNoIGJ5IEx1ZG92aWMuR2FzYy4KIAorLSBJc3N1ZSAjMTk0OTQ6IEFkZGVkIHVybGxpYi5yZXF1ZXN0LkhUVFBCYXNpY1ByaW9yQXV0aEhhbmRsZXIuIFBhdGNoIGJ5CisgIE1hdGVqIENlcGwuCisKKy0gSXNzdWUgIzIyNTc4OiBBZGRlZCBhdHRyaWJ1dGVzIHRvIHRoZSByZS5lcnJvciBjbGFzcy4KKwogLSBJc3N1ZSAjMjI4NDk6IEZpeCBwb3NzaWJsZSBkb3VibGUgZnJlZSBpbiB0aGUgaW8uVGV4dElPV3JhcHBlciBjb25zdHJ1Y3Rvci4KIAogLSBJc3N1ZSAjMTI3Mjg6IERpZmZlcmVudCBVbmljb2RlIGNoYXJhY3RlcnMgaGF2aW5nIHRoZSBzYW1lIHVwcGVyY2FzZSBidXQKQEAgLTIxNSw2ICs0ODIsMTQgQEAKIC0gSXNzdWUgIzIyODIxOiBGaXhlZCBmY250bCgpIHdpdGggaW50ZWdlciBhcmd1bWVudCBvbiA2NC1iaXQgYmlnLWVuZGlhbgogICBwbGF0Zm9ybXMuCiAKKy0gSXNzdWUgIzIxNjUwOiBBZGQgYW4gYC0tc29ydC1rZXlzYCBvcHRpb24gdG8ganNvbi50b29sIENMSS4KKworLSBJc3N1ZSAjMjI4MjQ6ICBVcGRhdGVkIHJlcHJsaWIgb3V0cHV0IGZvcm1hdCBmb3Igc2V0cyB0byB1c2Ugc2V0IGxpdGVyYWxzLgorICBQYXRjaCBjb250cmlidXRlZCBieSBCZXJrZXIgUGVrc2FnLgorCistIElzc3VlICMyMjgyNDogIFVwZGF0ZWQgcmVwcmxpYiBvdXRwdXQgZm9ybWF0IGZvciBhcnJheXMgdG8gZGlzcGxheSBlbXB0eQorICBhcnJheXMgd2l0aG91dCBhbiB1bm5lY2Vzc2FyeSBlbXB0eSBsaXN0LiAgU3VnZ2VzdGVkIGJ5IFNlcmhpeSBTdG9yY2hha2EuCisKIC0gSXNzdWUgIzIyNDA2OiBGaXhlZCB0aGUgdXVfY29kZWMgY29kZWMgaW5jb3JyZWN0bHkgcG9ydGVkIHRvIDMueC4KICAgQmFzZWQgb24gcGF0Y2ggYnkgTWFydGluIFBhbnRlci4KIApAQCAtMjI4LDE2ICs1MDMsMTUgQEAKIC0gSXNzdWUgIzIyNzc1OiBGaXhlZCB1bnBpY2tsaW5nIG9mIGh0dHAuY29va2llcy5TaW1wbGVDb29raWUgd2l0aCBwcm90b2NvbCAyCiAgIGFuZCBhYm92ZS4gIFBhdGNoIGJ5IFRpbSBHcmFoYW0uCiAKLS0gSXNzdWUgIzIyMzY2OiB1cmxsaWIucmVxdWVzdC51cmxvcGVuIHdpbGwgYWNjZXB0IGEgY29udGV4dCBvYmplY3QKLSAgKFNTTENvbnRleHQpIGFzIGFuIGFyZ3VtZW50IHdoaWNoIHdpbGwgdGhlbiB1c2VkIGJlIGZvciBIVFRQUyBjb25uZWN0aW9uLgotICBQYXRjaCBieSBBbGV4IEdheW5vci4KLQogLSBJc3N1ZSAjMjI3NzY6IEJyb3VnaHQgZXhjbHVkZWQgY29kZSBpbnRvIHRoZSBzY29wZSBvZiBhIHRyeSBibG9jayBpbgogICBTeXNMb2dIYW5kbGVyLmVtaXQoKS4KIAogLSBJc3N1ZSAjMjI2NjU6IEFkZCBtaXNzaW5nIGdldF90ZXJtaW5hbF9zaXplIGFuZCBTYW1lRmlsZUVycm9yIHRvCiAgIHNodXRpbC5fX2FsbF9fLgogCistIElzc3VlICM2NjIzOiBSZW1vdmUgZGVwcmVjYXRlZCBOZXRyYyBjbGFzcyBpbiB0aGUgZnRwbGliIG1vZHVsZS4gUGF0Y2ggYnkKKyAgTWF0dCBDaGFwdXQuCisKIC0gSXNzdWUgIzE3MzgxOiBGaXhlZCBoYW5kbGluZyBvZiBjYXNlLWluc2Vuc2l0aXZlIHJhbmdlcyBpbiByZWd1bGFyCiAgIGV4cHJlc3Npb25zLgogCkBAIC0yNTEsMTggKzUyNSw1MyBAQAogICBkb2Vzbid0IHdvcmsuICBUaGlzIGFsbG93cyB1c2Ugd2l0aCBzcGVjaWFsIGZpbGVzeXN0ZW1zIHN1Y2ggYXMgVmlydHVhbEJveAogICBzaGFyZWQgZm9sZGVycy4KIAorLSBJc3N1ZSAjMjIyMTc6IEltcGxlbWVudGVkIHJlcHJzIG9mIGNsYXNzZXMgaW4gdGhlIHppcGZpbGUgbW9kdWxlLgorCistIElzc3VlICMyMjQ1NzogSG9ub3VyIGxvYWRfdGVzdHMgaW4gdGhlIHN0YXJ0X2RpciBvZiBkaXNjb3ZlcnkuCisKKy0gSXNzdWUgIzE4MjE2OiBnZXR0ZXh0IG5vdyByYWlzZXMgYW4gZXJyb3Igd2hlbiBhIC5tbyBmaWxlIGhhcyBhbgorICB1bnN1cHBvcnRlZCBtYWpvciB2ZXJzaW9uIG51bWJlci4gIFBhdGNoIGJ5IEFhcm9uIEhpbGwuCisKKy0gSXNzdWUgIzEzOTE4OiBQcm92aWRlIGEgbG9jYWxlLmRlbG9jYWxpemUoKSBmdW5jdGlvbiB3aGljaCBjYW4gcmVtb3ZlCisgIGxvY2FsZS1zcGVjaWZpYyBudW1iZXIgZm9ybWF0dGluZyBmcm9tIGEgc3RyaW5nIHJlcHJlc2VudGluZyBhIG51bWJlciwKKyAgd2l0aG91dCB0aGVuIGNvbnZlcnRpbmcgaXQgdG8gYSBzcGVjaWZpYyB0eXBlLiAgUGF0Y2ggYnkgQ8OpZHJpYyBLcmllci4KKworLSBJc3N1ZSAjMjI2NzY6IE1ha2UgdGhlIHBpY2tsaW5nIG9mIGdsb2JhbCBvYmplY3RzIHdoaWNoIGRvbid0IGhhdmUgYQorICBfX21vZHVsZV9fIGF0dHJpYnV0ZSBsZXNzIHNsb3cuCisKIC0gSXNzdWUgIzE4ODUzOiBGaXhlZCBSZXNvdXJjZVdhcm5pbmcgaW4gc2hsZXguX19uYWluX18uCiAKIC0gSXNzdWUgIzkzNTE6IERlZmF1bHRzIHNldCB3aXRoIHNldF9kZWZhdWx0cyBvbiBhbiBhcmdwYXJzZSBzdWJwYXJzZXIKICAgYXJlIG5vIGxvbmdlciBpZ25vcmVkIHdoZW4gYWxzbyBzZXQgb24gdGhlIHBhcmVudCBwYXJzZXIuCiAKKy0gSXNzdWUgIzc1NTk6IHVuaXR0ZXN0IHRlc3QgbG9hZGluZyBJbXBvcnRFcnJvcnMgYXJlIHJlcG9ydGVkIGFzIGltcG9ydCBlcnJvcnMKKyAgd2l0aCB0aGVpciBpbXBvcnQgZXhjZXB0aW9uIHJhdGhlciB0aGFuIGFzIGF0dHJpYnV0ZSBlcnJvcnMgYWZ0ZXIgdGhlIGltcG9ydAorICBoYXMgYWxyZWFkeSBmYWlsZWQuCisKKy0gSXNzdWUgIzE5NzQ2OiBNYWtlIGl0IHBvc3NpYmxlIHRvIGV4YW1pbmUgdGhlIGVycm9ycyBmcm9tIHVuaXR0ZXN0CisgIGRpc2NvdmVyeSB3aXRob3V0IGV4ZWN1dGluZyB0aGUgdGVzdCBzdWl0ZS4gVGhlIG5ldyBgZXJyb3JzYCBhdHRyaWJ1dGUKKyAgb24gVGVzdExvYWRlciBleHBvc2VzIHRoZXNlIG5vbi1mYXRhbCBlcnJvcnMgZW5jb3VudGVyZWQgZHVyaW5nIGRpc2NvdmVyeS4KKwogLSBJc3N1ZSAjMjE5OTE6IE1ha2UgZW1haWwuaGVhZGVycmVnaXN0cnkncyBoZWFkZXIgJ3BhcmFtcycgYXR0cmlidXRlcwogICBiZSByZWFkLW9ubHkgKE1hcHBpbmdQcm94eVR5cGUpLiAgUHJldmlvdXNseSB0aGUgZGljdGlvbmFyeSB3YXMgbW9kaWZpYWJsZQogICBidXQgYSBuZXcgb25lIHdhcyBjcmVhdGVkIG9uIGVhY2ggYWNjZXNzIG9mIHRoZSBhdHRyaWJ1dGUuCiAKKy0gSXNzdWUgIzIyNjM4OiBTU0x2MyBpcyBub3cgZGlzYWJsZWQgdGhyb3VnaG91dCB0aGUgc3RhbmRhcmQgbGlicmFyeS4KKyAgSXQgY2FuIHN0aWxsIGJlIGVuYWJsZWQgYnkgaW5zdGFudGlhdGluZyBhIFNTTENvbnRleHQgbWFudWFsbHkuCisKIC0gSXNzdWUgIzIyNjQxOiBJbiBhc3luY2lvLCB0aGUgZGVmYXVsdCBTU0wgY29udGV4dCBmb3IgY2xpZW50IGNvbm5lY3Rpb25zCiAgIGlzIG5vdyBjcmVhdGVkIHVzaW5nIHNzbC5jcmVhdGVfZGVmYXVsdF9jb250ZXh0KCksIGZvciBzdHJvbmdlciBzZWN1cml0eS4KIAorLSBJc3N1ZSAjMTc0MDE6IEluY2x1ZGUgY2xvc2VmZCBpbiBpby5GaWxlSU8gcmVwci4KKworLSBJc3N1ZSAjMjEzMzg6IEFkZCBzaWxlbnQgbW9kZSBmb3IgY29tcGlsZWFsbC4gcXVpZXQgcGFyYW1ldGVycyBvZgorICBjb21waWxlX3tkaXIsIGZpbGUsIHBhdGh9IGZ1bmN0aW9ucyBub3cgaGF2ZSBhIG11bHRpbGV2ZWwgdmFsdWUuIEFsc28sCisgIC1xIG9wdGlvbiBvZiB0aGUgQ0xJIG5vdyBoYXZlIGEgbXVsdGlsZXZlbCB2YWx1ZS4gUGF0Y2ggYnkgVGhvbWFzIEtsdXl2ZXIuCisKKy0gSXNzdWUgIzIwMTUyOiBDb252ZXJ0IHRoZSBhcnJheSBhbmQgY21hdGggbW9kdWxlcyB0byBBcmd1bWVudCBDbGluaWMuCisKKy0gSXNzdWUgIzE4NjQzOiBBZGQgc29ja2V0LnNvY2tldHBhaXIoKSBvbiBXaW5kb3dzLgorCiAtIElzc3VlICMyMjQzNTogRml4IGEgZmlsZSBkZXNjcmlwdG9yIGxlYWsgd2hlbiBTb2NrZXRTZXJ2ZXIgYmluZCBmYWlscy4KIAogLSBJc3N1ZSAjMTMwOTY6IEZpeGVkIHNlZ2ZhdWx0IGluIENUeXBlcyBQT0lOVEVSIGhhbmRsaW5nIG9mIGxhcmdlCkBAIC0yNzEsOSArNTgwLDE5IEBACiAtIElzc3VlICMxMTY5NDogUmFpc2UgQ29udmVyc2lvbkVycm9yIGluIHhkcmxpYiBhcyBkb2N1bWVudGVkLiAgUGF0Y2gKICAgYnkgRmlsaXAgR3J1c3pjennFhHNraSBhbmQgQ2xhdWRpdSBQb3BhLgogCistIElzc3VlICMxOTM4MDogT3B0aW1pemVkIHBhcnNpbmcgb2YgcmVndWxhciBleHByZXNzaW9ucy4KKworLSBJc3N1ZSAjMTUxOTYzODogTm93IHVubWF0Y2hlZCBncm91cHMgYXJlIHJlcGxhY2VkIHdpdGggZW1wdHkgc3RyaW5ncyBpbiByZS5zdWIoKQorICBhbmQgcmUuc3VibigpLgorCistIElzc3VlICMxODYxNTogc25kaGRyLndoYXQvd2hhdGhkciBub3cgcmV0dXJuIGEgbmFtZWR0dXBsZS4KKwogLSBJc3N1ZSAjMjI0NjI6IEZpeCBweWV4cGF0J3MgY3JlYXRpb24gb2YgYSBkdW1teSBmcmFtZSB0byBtYWtlIGl0CiAgIGFwcGVhciBpbiBleGNlcHRpb24gdHJhY2ViYWNrcy4KIAorLSBJc3N1ZSAjMjE5NjU6IEFkZCBzdXBwb3J0IGZvciBpbi1tZW1vcnkgU1NMIHRvIHRoZSBzc2wgbW9kdWxlLiAgUGF0Y2gKKyAgYnkgR2VlcnQgSmFuc2VuLgorCiAtIElzc3VlICMyMTE3MzogRml4IGxlbigpIG9uIGEgV2Vha0tleURpY3Rpb25hcnkgd2hlbiAuY2xlYXIoKSB3YXMgY2FsbGVkCiAgIHdpdGggYW4gaXRlcmF0b3IgYWxpdmUuCiAKQEAgLTI4MywxNjUgKzYwMiw2NSBAQAogLSBJc3N1ZSAjMjE5MDU6IEF2b2lkIFJ1bnRpbWVFcnJvciBpbiBwaWNrbGUud2hpY2htb2R1bGUoKSB3aGVuIHN5cy5tb2R1bGVzCiAgIGlzIG11dGF0ZWQgd2hpbGUgaXRlcmF0aW5nLiAgUGF0Y2ggYnkgT2xpdmllciBHcmlzZWwuCiAKKy0gSXNzdWUgIzExMjcxOiBjb25jdXJyZW50LmZ1dHVyZXMuRXhlY3V0b3IubWFwKCkgbm93IHRha2VzIGEgKmNodW5rc2l6ZSoKKyAgYXJndW1lbnQgdG8gYWxsb3cgYmF0Y2hpbmcgb2YgdGFza3MgaW4gY2hpbGQgcHJvY2Vzc2VzIGFuZCBpbXByb3ZlCisgIHBlcmZvcm1hbmNlIG9mIFByb2Nlc3NQb29sRXhlY3V0b3IuICBQYXRjaCBieSBEYW4gTydSZWlsbHkuCisKKy0gSXNzdWUgIzIxODgzOiBvcy5wYXRoLmpvaW4oKSBhbmQgb3MucGF0aC5yZWxwYXRoKCkgbm93IHJhaXNlIGEgVHlwZUVycm9yIHdpdGgKKyAgbW9yZSBoZWxwZnVsIGVycm9yIG1lc3NhZ2UgZm9yIHVuc3VwcG9ydGVkIG9yIG1pc21hdGNoZWQgdHlwZXMgb2YgYXJndW1lbnRzLgorCiAtIElzc3VlICMyMjIxOTogVGhlIHppcGZpbGUgbW9kdWxlIENMSSBub3cgYWRkcyBlbnRyaWVzIGZvciBkaXJlY3RvcmllcwogICAoaW5jbHVkaW5nIGVtcHR5IGRpcmVjdG9yaWVzKSBpbiBaSVAgZmlsZS4KIAogLSBJc3N1ZSAjMjI0NDk6IEluIHRoZSBzc2wuU1NMQ29udGV4dC5sb2FkX2RlZmF1bHRfY2VydHMsIGNvbnN1bHQgdGhlCiAgIGVudmlyb21lbnRhbCB2YXJpYWJsZXMgU1NMX0NFUlRfRElSIGFuZCBTU0xfQ0VSVF9GSUxFIG9uIFdpbmRvd3MuCiAKKy0gSXNzdWUgIzIyNTA4OiBUaGUgZW1haWwuX192ZXJzaW9uX18gdmFyaWFibGUgaGFzIGJlZW4gcmVtb3ZlZDsgdGhlIGVtYWlsCisgIGNvZGUgaXMgbm8gbG9uZ2VyIHNoaXBwZWQgc2VwYXJhdGVseSBmcm9tIHRoZSBzdGRsaWIsIGFuZCBfX3ZlcnNpb25fXworICBoYXNuJ3QgYmVlbiB1cGRhdGVkIGluIHNldmVyYWwgcmVsZWFzZXMuCisKIC0gSXNzdWUgIzIwMDc2OiBBZGRlZCBub24gZGVyaXZlZCBVVEYtOCBhbGlhc2VzIHRvIGxvY2FsZSBhbGlhc2VzIHRhYmxlLgogCiAtIElzc3VlICMyMDA3OTogQWRkZWQgbG9jYWxlcyBzdXBwb3J0ZWQgaW4gZ2xpYmMgMi4xOCB0byBsb2NhbGUgYWxpYXMgdGFibGUuCiAKLS0gSXNzdWUgIzIyMzk2OiBPbiAzMi1iaXQgQUlYIHBsYXRmb3JtLCBkb24ndCBleHBvc2Ugb3MucG9zaXhfZmFkdmlzZSgpIG5vcgotICBvcy5wb3NpeF9mYWxsb2NhdGUoKSBiZWNhdXNlIHRoZWlyIHByb3RvdHlwZXMgaW4gc3lzdGVtIGhlYWRlcnMgYXJlIHdyb25nLgorLSBJc3N1ZSAjMjAyMTg6IEFkZGVkIGNvbnZlbmllbmNlIG1ldGhvZHMgcmVhZF90ZXh0L3dyaXRlX3RleHQgYW5kIHJlYWRfYnl0ZXMvCisgIHdyaXRlX2J5dGVzIHRvIHBhdGhsaWIuUGF0aCBvYmplY3RzLgogCi0tIElzc3VlICMyMjUxNzogV2hlbiBhIGlvLkJ1ZmZlcmVkUldQYWlyIG9iamVjdCBpcyBkZWFsbG9jYXRlZCwgY2xlYXIgaXRzCi0gIHdlYWtyZWZzLgorLSBJc3N1ZSAjMjI0Mzc6IE51bWJlciBvZiBjYXB0dXJpbmcgZ3JvdXBzIGluIHJlZ3VsYXIgZXhwcmVzc2lvbiBpcyBubyBsb25nZXIKKyAgbGltaXRlZCBieSAxMDAuCiAKLS0gSXNzdWUgIzIyNDQ4OiBJbXByb3ZlIGNhbmNlbGVkIHRpbWVyIGhhbmRsZXMgY2xlYW51cCB0byBwcmV2ZW50Ci0gIHVuYm91bmQgbWVtb3J5IHVzYWdlLiBQYXRjaCBieSBKb3NodWEgTW9vcmUtT2xpdmEuCi0KLS0gSXNzdWUgIzIzMDA5OiBNYWtlIHN1cmUgc2VsZWN0b3JzLkVwb2xsU2VsZWNydG9yLnNlbGVjdCgpIHdvcmtzIHdoZW4gbm8KLSAgRkQgaXMgcmVnaXN0ZXJlZC4KLQotSURMRQotLS0tLQotCi0tIElzc3VlICMyMDU3NzogQ29uZmlndXJhdGlvbiBvZiB0aGUgbWF4IGxpbmUgbGVuZ3RoIGZvciB0aGUgRm9ybWF0UGFyYWdyYXBoCi0gIGV4dGVuc2lvbiBoYXMgYmVlbiBtb3ZlZCBmcm9tIHRoZSBHZW5lcmFsIHRhYiBvZiB0aGUgSWRsZSBwcmVmZXJlbmNlcyBkaWFsb2cKLSAgdG8gdGhlIEZvcm1hdFBhcmFncmFwaCB0YWIgb2YgdGhlIENvbmZpZyBFeHRlbnNpb25zIGRpYWxvZy4KLSAgUGF0Y2ggYnkgVGFsIEVpbmF0LgotCi0tIElzc3VlICMxNjg5MzogVXBkYXRlIElkbGUgZG9jIGNoYXB0ZXIgdG8gbWF0Y2ggY3VycmVudCBJZGxlIGFuZCBhZGQgbmV3Ci0gIGluZm9ybWF0aW9uLgotCi0tIElzc3VlICMzMDY4OiBBZGQgSWRsZSBleHRlbnNpb24gY29uZmlndXJhdGlvbiBkaWFsb2cgdG8gT3B0aW9ucyBtZW51LgotICBDaGFuZ2VzIGFyZSB3cml0dGVuIHRvIEhPTUUvLmlkbGVyYy9jb25maWctZXh0ZW5zaW9ucy5jZmcuCi0gIE9yaWdpbmFsIHBhdGNoIGJ5IFRhbCBFaW5hdC4KLQotLSBJc3N1ZSAjMTYyMzM6IEEgbW9kdWxlIGJyb3dzZXIgKEZpbGUgOiBDbGFzcyBCcm93c2VyLCBBbHQrQykgcmVxdWlyZXMgYQotICBlZGl0b3Igd2luZG93IHdpdGggYSBmaWxlbmFtZS4gIFdoZW4gQ2xhc3MgQnJvd3NlciBpcyByZXF1ZXN0ZWQgb3RoZXJ3aXNlLAotICBmcm9tIGEgc2hlbGwsIG91dHB1dCB3aW5kb3csIG9yICdVbnRpdGxlZCcgZWRpdG9yLCBJZGxlIG5vIGxvbmdlciBkaXNwbGF5cwotICBhbiBlcnJvciBib3guICBJdCBub3cgcG9wcyB1cCBhbiAgT3BlbiBNb2R1bGUgYm94IChBbHQrTSkuIElmIGEgdmFsaWQgbmFtZQotICBpcyBlbnRlcmVkIGFuZCBhIG1vZHVsZSBpcyBvcGVuZWQsIGEgY29ycmVzcG9uZGluZyBicm93c2VyIGlzIGFsc28gb3BlbmVkLgotCi0tIElzc3VlICM0ODMyOiBTYXZlIEFzIHRvIHR5cGUgUHl0aG9uIGZpbGVzIGF1dG9tYXRpY2FsbHkgYWRkcyAucHkgdG8gdGhlCi0gIG5hbWUgeW91IGVudGVyIChldmVuIGlmIHlvdXIgc3lzdGVtIGRvZXMgbm90IGRpc3BsYXkgaXQpLiAgU29tZSBzeXN0ZW1zCi0gIGF1dG9tYXRpY2FsbHkgYWRkIC50eHQgd2hlbiB0eXBlIGlzIFRleHQgZmlsZXMuCi0KLS0gSXNzdWUgIzIxOTg2OiBDb2RlIG9iamVjdHMgYXJlIG5vdCBub3JtYWxseSBwaWNrbGVkIGJ5IHRoZSBwaWNrbGUgbW9kdWxlLgotICBUbyBtYXRjaCB0aGlzLCB0aGV5IGFyZSBubyBsb25nZXIgcGlja2xlZCB3aGVuIHJ1bm5pbmcgdW5kZXIgSWRsZS4KLQotLSBJc3N1ZSAjMjMxODA6IFJlbmFtZSBJRExFICJXaW5kb3dzIiBtZW51IGl0ZW0gdG8gIldpbmRvdyIuCi0gIFBhdGNoIGJ5IEFsIFN3ZWlnYXJ0LgotCi1UZXN0cwotLS0tLS0KKy0gSXNzdWUgIzE3NDQyOiBJbnRlcmFjdGl2ZUludGVycHJldGVyIG5vdyBkaXNwbGF5cyB0aGUgZnVsbCBjaGFpbmVkIHRyYWNlYmFjaworICBpbiBpdHMgc2hvd3RyYWNlYmFjayBtZXRob2QsIHRvIG1hdGNoIHRoZSBidWlsdCBpbiBpbnRlcmFjdGl2ZSBpbnRlcnByZXRlci4KIAogLSBJc3N1ZSAjMjMzOTI6IEFkZGVkIHRlc3RzIGZvciBtYXJzaGFsIEMgQVBJIHRoYXQgd29ya3Mgd2l0aCBGSUxFKi4KIAotLSBJc3N1ZSAjMTg5ODI6IEFkZCB0ZXN0cyBmb3IgQ0xJIG9mIHRoZSBjYWxlbmRhciBtb2R1bGUuCi0KLS0gSXNzdWUgIzE5NTQ4OiBBZGRlZCBzb21lIGFkZGl0aW9uYWwgY2hlY2tzIHRvIHRlc3RfY29kZWNzIHRvIGVuc3VyZSB0aGF0Ci0gIHN0YXRlbWVudHMgaW4gdGhlIHVwZGF0ZWQgZG9jdW1lbnRhdGlvbiByZW1haW4gYWNjdXJhdGUuIFBhdGNoIGJ5IE1hcnRpbgotICBQYW50ZXIuCi0KLS0gSXNzdWUgIzIyODM4OiBBbGwgdGVzdF9yZSB0ZXN0cyBub3cgd29yayB3aXRoIHVuaXR0ZXN0IHRlc3QgZGlzY292ZXJ5LgotCi0tIElzc3VlICMyMjE3MzogVXBkYXRlIGxpYjJ0bzMgdGVzdHMgdG8gdXNlIHVuaXR0ZXN0IHRlc3QgZGlzY292ZXJ5LgotCi0tIElzc3VlICMxNjAwMDogQ29udmVydCB0ZXN0X2N1cnNlcyB0byB1c2UgdW5pdHRlc3QuCi0KLS0gSXNzdWUgIzIxNDU2OiBTa2lwIHR3byB0ZXN0cyBpbiB0ZXN0X3VybGxpYjJuZXQucHkgaWYgX3NzbCBtb2R1bGUgbm90Ci0gIHByZXNlbnQuIFBhdGNoIGJ5IFJlbWkgUG9pbnRlbC4KLQotLSBJc3N1ZSAjMjI3NzA6IFByZXZlbnQgc29tZSBUayBzZWdmYXVsdHMgb24gT1MgWCB3aGVuIHJ1bm5pbmcgZ3VpIHRlc3RzLgotCi0tIElzc3VlICMyMzIxMTogV29ya2Fyb3VuZCB0ZXN0X2xvZ2dpbmcgZmFpbHVyZSBvbiBzb21lIE9TIFggMTAuNiBzeXN0ZW1zLgotCi0tIElzc3VlICMyMzM0NTogUHJldmVudCB0ZXN0X3NzbCBmYWlsdXJlcyB3aXRoIGxhcmdlIE9wZW5TU0wgcGF0Y2ggbGV2ZWwKLSAgdmFsdWVzIChsaWtlIDAuOS44emMpLgotCi1CdWlsZAotLS0tLS0KLQotLSBJc3N1ZSAjMTU1MDY6IFVzZSBzdGFuZGFyZCBQS0dfUFJPR19QS0dfQ09ORklHIGF1dG9jb25mIG1hY3JvIGluIHRoZSBjb25maWd1cmUKLSAgc2NyaXB0LgotCi0tIElzc3VlICMyMjkzNTogQWxsb3cgdGhlIHNzbCBtb2R1bGUgdG8gYmUgY29tcGlsZWQgaWYgb3BlbnNzbCBkb2Vzbid0IHN1cHBvcnQKLSAgU1NMIDMuCi0KLS0gSXNzdWUgIzE2NTM3OiBDaGVjayB3aGV0aGVyIHNlbGYuZXh0ZW5zaW9ucyBpcyBlbXB0eSBpbiBzZXR1cC5weS4gUGF0Y2ggYnkKLSAgSm9uYXRoYW4gSG9zbWVyLgotCi0tIElzc3VlICMxODA5NjogRml4IGxpYnJhcnkgb3JkZXIgcmV0dXJuZWQgYnkgcHl0aG9uLWNvbmZpZy4KLQotLSBJc3N1ZSAjMTcyMTk6IEFkZCBsaWJyYXJ5IGJ1aWxkIGRpciBmb3IgUHl0aG9uIGV4dGVuc2lvbiBjcm9zcy1idWlsZHMuCi0KLS0gSXNzdWUgIzE3MTI4OiBVc2UgcHJpdmF0ZSB2ZXJzaW9uIG9mIE9wZW5TU0wgZm9yIDMuNC4zIE9TIFggMTAuNSsgaW5zdGFsbGVyLgotCi1DIEFQSQotLS0tLS0KLQotLSBJc3N1ZSAjMjIwNzk6IFB5VHlwZV9SZWFkeSgpIG5vdyBjaGVja3MgdGhhdCBzdGF0aWNhbGx5IGFsbG9jYXRlZCB0eXBlIGhhcwotICBubyBkeW5hbWljYWxseSBhbGxvY2F0ZWQgYmFzZXMuCi0KLURvY3VtZW50YXRpb24KLS0tLS0tLS0tLS0tLS0KLQotLSBJc3N1ZSAjMTk1NDg6IFVwZGF0ZSB0aGUgY29kZWNzIG1vZHVsZSBkb2N1bWVudGF0aW9uIHRvIGJldHRlciBjb3ZlciB0aGUKLSAgZGlzdGluY3Rpb24gYmV0d2VlbiB0ZXh0IGVuY29kaW5ncyBhbmQgb3RoZXIgY29kZWNzLCB0b2dldGhlciB3aXRoIG90aGVyCi0gIGNsYXJpZmljYXRpb25zLiBQYXRjaCBieSBNYXJ0aW4gUGFudGVyLgotCi0tIElzc3VlICMyMjkxNDogVXBkYXRlIHRoZSBQeXRob24gMi8zIHBvcnRpbmcgSE9XVE8gdG8gZGVzY3JpYmUgYSBtb3JlIGF1dG9tYXRlZAotICBhcHByb2FjaC4KLQotLSBJc3N1ZSAjMjE1MTQ6IFRoZSBkb2N1bWVudGF0aW9uIG9mIHRoZSBqc29uIG1vZHVsZSBub3cgcmVmZXJzIHRvIG5ldyBKU09OIFJGQwotICA3MTU5IGluc3RlYWQgb2Ygb2Jzb2xldGVkIFJGQyA0NjI3LgotCi1Ub29scy9EZW1vcwotLS0tLS0tLS0tLS0KLQotLSBJc3N1ZSAjMjIzMTQ6IHB5ZG9jIG5vdyB3b3JrcyB3aGVuIHRoZSBMSU5FUyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBzZXQuCi0KLVdpbmRvd3MKLS0tLS0tLS0KLQotLSBJc3N1ZSAjMTc4OTY6IFRoZSBXaW5kb3dzIGJ1aWxkIHNjcmlwdHMgbm93IGV4cGVjdCBleHRlcm5hbCBsaWJyYXJ5IHNvdXJjZXMKLSAgdG8gYmUgaW4gYGBQQ2J1aWxkXC4uXGV4dGVybmFsc2BgIHJhdGhlciB0aGFuIGBgUENidWlsZFwuLlwuLmBgLgotCi0tIElzc3VlICMxNzcxNzogVGhlIFdpbmRvd3MgYnVpbGQgc2NyaXB0cyBub3cgdXNlIGEgY29weSBvZiBOQVNNIHB1bGxlZCBmcm9tCi0gIHN2bi5weXRob24ub3JnIHRvIGJ1aWxkIE9wZW5TU0wuCi0KLS0gSXNzdWUgIzIyNjQ0OiBUaGUgYnVuZGxlZCB2ZXJzaW9uIG9mIE9wZW5TU0wgaGFzIGJlZW4gdXBkYXRlZCB0byAxLjAuMWouCi0KLVdoYXQncyBOZXcgaW4gUHl0aG9uIDMuNC4yPwotPT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0KLVJlbGVhc2UgZGF0ZTogMjAxNC0xMC0wNgotCi1Db3JlIGFuZCBCdWlsdGlucwotLS0tLS0tLS0tLS0tLS0tLS0KLQotTGlicmFyeQotLS0tLS0tLQotCiAtIElzc3VlICMxMDUxMDogZGlzdHV0aWxzIHJlZ2lzdGVyIGFuZCB1cGxvYWQgbWV0aG9kcyBub3cgdXNlIEhUTUwgc3RhbmRhcmRzCiAgIGNvbXBsaWFudCBDUkxGIGxpbmUgZW5kaW5ncy4KIAogLSBJc3N1ZSAjOTg1MDogRml4ZWQgbWFjcGF0aC5qb2luKCkgZm9yIGVtcHR5IGZpcnN0IGNvbXBvbmVudC4gIFBhdGNoIGJ5CiAgIE9sZWcgT3NobXlhbi4KIAorLSBJc3N1ZSAjNTMwOTogZGlzdHV0aWxzJyBidWlsZCBhbmQgYnVpbGRfZXh0IGNvbW1hbmRzIG5vdyBhY2NlcHQgYSBgYC1qYGAKKyAgb3B0aW9uIHRvIGVuYWJsZSBwYXJhbGxlbCBidWlsZGluZyBvZiBleHRlbnNpb24gbW9kdWxlcy4KKworLSBJc3N1ZSAjMjI0NDg6IEltcHJvdmUgY2FuY2VsZWQgdGltZXIgaGFuZGxlcyBjbGVhbnVwIHRvIHByZXZlbnQKKyAgdW5ib3VuZCBtZW1vcnkgdXNhZ2UuIFBhdGNoIGJ5IEpvc2h1YSBNb29yZS1PbGl2YS4KKwogLSBJc3N1ZSAjMjI0Mjc6IFRlbXBvcmFyeURpcmVjdG9yeSBubyBsb25nZXIgYXR0ZW1wdHMgdG8gY2xlYW4gdXAgdHdpY2Ugd2hlbgogICB1c2VkIGluIHRoZSB3aXRoIHN0YXRlbWVudCBpbiBnZW5lcmF0b3IuCiAKKy0gSXNzdWUgIzIyMzYyOiBGb3JiaWRkZW4gYW1iaWd1b3VzIG9jdGFsIGVzY2FwZXMgb3V0IG9mIHJhbmdlIDAtMG8zNzcgaW4KKyAgcmVndWxhciBleHByZXNzaW9ucy4KKwogLSBJc3N1ZSAjMjA5MTI6IE5vdyBkaXJlY3RvcmllcyBhZGRlZCB0byBaSVAgZmlsZSBoYXZlIGNvcnJlY3QgVW5peCBhbmQgTVMtRE9TCiAgIGRpcmVjdG9yeSBhdHRyaWJ1dGVzLgogCiAtIElzc3VlICMyMTg2NjogWmlwRmlsZS5jbG9zZSgpIG5vIGxvbmdlciB3cml0ZXMgWklQNjQgY2VudHJhbCBkaXJlY3RvcnkKICAgcmVjb3JkcyBpZiBhbGxvd1ppcDY0IGlzIGZhbHNlLgogCistIElzc3VlICMyMjI3ODogRml4IHVybGpvaW4gcHJvYmxlbSB3aXRoIHJlbGF0aXZlIHVybHMsIGEgcmVncmVzc2lvbiBvYnNlcnZlZAorICBhZnRlciBjaGFuZ2VzIHRvIGlzc3VlMjIxMTggd2VyZSBzdWJtaXR0ZWQuCisKIC0gSXNzdWUgIzIyNDE1OiBGaXhlZCBkZWJ1Z2dpbmcgb3V0cHV0IG9mIHRoZSBHUk9VUFJFRl9FWElTVFMgb3Bjb2RlIGluIHRoZSByZQogICBtb2R1bGUuICBSZW1vdmVkIHRyYWlsaW5nIHNwYWNlcyBpbiBkZWJ1Z2dpbmcgb3V0cHV0LgogCkBAIC00NTEsNDcgKzY3MCwxOCBAQAogLSBJc3N1ZSAjMjEzMzI6IEVuc3VyZSB0aGF0IGBgYnVmc2l6ZT0xYGAgaW4gc3VicHJvY2Vzcy5Qb3BlbigpIHNlbGVjdHMKICAgbGluZSBidWZmZXJpbmcsIHJhdGhlciB0aGFuIGJsb2NrIGJ1ZmZlcmluZy4gIFBhdGNoIGJ5IEFraXJhIExpLgogCi0KLVdoYXQncyBOZXcgaW4gUHl0aG9uIDMuNC4ycmMxPwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0KLVJlbGVhc2UgZGF0ZTogMjAxNC0wOS0yMgotCi1Db3JlIGFuZCBCdWlsdGlucwotLS0tLS0tLS0tLS0tLS0tLS0KLQotLSBJc3N1ZSAjMjIyNTg6IEZpeCB0aGUgdGhlIGludGVybmFsIGZ1bmN0aW9uIHNldF9pbmhlcml0YWJsZSgpIG9uIElsbHVtb3MuCi0gIFRoaXMgcGxhdGZvcm0gZXhwb3NlcyB0aGUgZnVuY3Rpb24gYGBpb2N0bChGSU9DTEVYKWBgLCBidXQgY2FsbGluZyBpdCBmYWlscwotICB3aXRoIGVycm5vIGlzIEVOT1RUWTogIkluYXBwcm9wcmlhdGUgaW9jdGwgZm9yIGRldmljZSIuIHNldF9pbmhlcml0YWJsZSgpCi0gIG5vdyBmYWxscyBiYWNrIHRvIHRoZSBzbG93ZXIgYGBmY250bCgpYGAgKGBgRl9HRVRGRGBgIGFuZCB0aGVuIGBgRl9TRVRGRGBgKS4KLQotLSBJc3N1ZSAjMjE2Njk6IFdpdGggdGhlIGFpZCBvZiBoZXVyaXN0aWNzIGluIFN5bnRheEVycm9yLl9faW5pdF9fLCB0aGUKLSAgcGFyc2VyIG5vdyBhdHRlbXB0cyB0byBnZW5lcmF0ZSBtb3JlIG1lYW5pbmdmdWwgKG9yIGF0IGxlYXN0IG1vcmUgc2VhcmNoCi0gIGVuZ2luZSBmcmllbmRseSkgZXJyb3IgbWVzc2FnZXMgd2hlbiAiZXhlYyIgYW5kICJwcmludCIgYXJlIHVzZWQgYXMKLSAgc3RhdGVtZW50cy4KLQotLSBJc3N1ZSAjMjE2NDI6IElmIHRoZSBjb25kaXRpb25hbCBpZi1lbHNlIGV4cHJlc3Npb24sIGFsbG93IGFuIGludGVnZXIgd3JpdHRlbgotICB3aXRoIG5vIHNwYWNlIGJldHdlZW4gaXRzZWxmIGFuZCB0aGUgYGBlbHNlYGAga2V5d29yZCAoZS5nLiBgYFRydWUgaWYgNDJlbHNlCi0gIEZhbHNlYGApIHRvIGJlIHZhbGlkIHN5bnRheC4KLQotLSBJc3N1ZSAjMjE1MjM6IEZpeCBvdmVyLXBlc3NpbWlzdGljIGNvbXB1dGF0aW9uIG9mIHRoZSBzdGFjayBlZmZlY3Qgb2YKLSAgc29tZSBvcGNvZGVzIGluIHRoZSBjb21waWxlci4gIFRoaXMgYWxzbyBmaXhlcyBhIHF1YWRyYXRpYyBjb21waWxhdGlvbgotICB0aW1lIGlzc3VlIG5vdGljZWFibGUgd2hlbiBjb21waWxpbmcgY29kZSB3aXRoIGEgbGFyZ2UgbnVtYmVyIG9mICJhbmQiCi0gIGFuZCAib3IiIG9wZXJhdG9ycy4KLQotTGlicmFyeQotLS0tLS0tLQotCiAtIElzc3VlICMyMTA5MTogRml4IEFQSSBidWc6IGVtYWlsLm1lc3NhZ2UuRW1haWxNZXNzYWdlLmlzX2F0dGFjaG1lbnQgaXMgbm93Ci0gIGEgbWV0aG9kLiAgU2luY2UgRW1haWxNZXNzYWdlIGlzIHByb3Zpc2lvbmFsLCB3ZSBjYW4gY2hhbmdlIHRoZSBBUEkgaW4gYQotICBtYWludGVuYW5jZSByZWxlYXNlLCBidXQgd2UgdXNlIGEgdHJpY2sgdG8gcmVtYWluIGJhY2t3YXJkIGNvbXBhdGlibGUgd2l0aAotICAzLjQuMC8xLgorICBhIG1ldGhvZC4KIAogLSBJc3N1ZSAjMjEwNzk6IEZpeCBlbWFpbC5tZXNzYWdlLkVtYWlsTWVzc2FnZS5pc19hdHRhY2htZW50IHRvIHJldHVybiB0aGUKICAgY29ycmVjdCByZXN1bHQgd2hlbiB0aGUgaGVhZGVyIGhhcyBwYXJhbWV0ZXJzIGFzIHdlbGwgYXMgYSB2YWx1ZS4KIAogLSBJc3N1ZSAjMjIyNDc6IEFkZCBOTlRQRXJyb3IgdG8gbm50cGxpYi5fX2FsbF9fLgogCistIElzc3VlICMyMjM2NjogdXJsbGliLnJlcXVlc3QudXJsb3BlbiB3aWxsIGFjY2VwdCBhIGNvbnRleHQgb2JqZWN0CisgIChTU0xDb250ZXh0KSBhcyBhbiBhcmd1bWVudCB3aGljaCB3aWxsIHRoZW4gdXNlZCBiZSBmb3IgSFRUUFMgY29ubmVjdGlvbi4KKyAgUGF0Y2ggYnkgQWxleCBHYXlub3IuCisKIC0gSXNzdWUgIzQxODA6IFRoZSB3YXJuaW5ncyByZWdpc3RyaWVzIGFyZSBub3cgcmVzZXQgd2hlbiB0aGUgZmlsdGVycwogICBhcmUgbW9kaWZpZWQuCiAKQEAgLTUwMyw2ICs2OTMsOSBAQAogICB3aXRoIG5vbi1zdGFuZGFyZCBjb29raWUgaGFuZGxpbmcgaW4gc29tZSBXZWIgYnJvd3NlcnMuICBSZXBvcnRlZCBieQogICBTZXJnZXkgQm9icm92LgogCistIElzc3VlICMyMDUzNzogbG9nZ2luZyBtZXRob2RzIG5vdyBhY2NlcHQgYW4gZXhjZXB0aW9uIGluc3RhbmNlIGFzIHdlbGwgYXMgYQorICBCb29sZWFuIHZhbHVlIG9yIGV4Y2VwdGlvbiB0dXBsZS4gVGhhbmtzIHRvIFl1cnkgU2VsaXZhbm92IGZvciB0aGUgcGF0Y2guCisKIC0gSXNzdWUgIzIyMzg0OiBBbiBleGNlcHRpb24gaW4gVGtpbnRlciBjYWxsYmFjayBubyBsb25nZXIgY3Jhc2hlcyB0aGUgcHJvZ3JhbQogICB3aGVuIGl0IGlzIHJ1biB3aXRoIHB5dGhvbncuZXhlLgogCkBAIC01MTEsNiArNzA0LDkgQEAKIC0gSXNzdWUgIzIxMTQ3OiBzcWxpdGUzIG5vdyByYWlzZXMgYW4gZXhjZXB0aW9uIGlmIHRoZSByZXF1ZXN0IGNvbnRhaW5zIGEgbnVsbAogICBjaGFyYWN0ZXIgaW5zdGVhZCBvZiB0cnVuY2F0ZSBpdC4gIEJhc2VkIG9uIHBhdGNoIGJ5IFZpY3RvciBTdGlubmVyLgogCistIElzc3VlICMxMzk2ODogVGhlIGdsb2IgbW9kdWxlIG5vdyBzdXBwb3J0cyByZWN1cnNpdmUgc2VhcmNoIGluCisgIHN1YmRpcmVjdG9yaWVzIHVzaW5nIHRoZSAiKioiIHBhdHRlcm4uCisKIC0gSXNzdWUgIzIxOTUxOiBGaXhlZCBhIGNyYXNoIGluIFRraW50ZXIgb24gQUlYIHdoZW4gY2FsbGVkIFRjbCBjb21tYW5kIHdpdGgKICAgZW1wdHkgc3RyaW5nIG9yIHR1cGxlIGFyZ3VtZW50LgogCkBAIC01MTksMTIgKzcxNSwzMSBAQAogCiAtIElzc3VlICMyMjMzODogRml4IGEgY3Jhc2ggaW4gdGhlIGpzb24gbW9kdWxlIG9uIG1lbW9yeSBhbGxvY2F0aW9uIGZhaWx1cmUuCiAKKy0gSXNzdWUgIzEyNDEwOiBpbWFwbGliLklNQVA0IG5vdyBzdXBwb3J0cyB0aGUgY29udGV4dCBtYW5hZ2VtZW50IHByb3RvY29sLgorICBPcmlnaW5hbCBwYXRjaCBieSBUYXJlayBaaWFkw6kuCisKKy0gSXNzdWUgIzIxMjcwOiBXZSBub3cgb3ZlcnJpZGUgdHVwbGUgbWV0aG9kcyBpbiBtb2NrLmNhbGwgb2JqZWN0cyBzbyB0aGF0CisgIHRoZXkgY2FuIGJlIHVzZWQgYXMgbm9ybWFsIGNhbGwgYXR0cmlidXRlcy4KKworLSBJc3N1ZSAjMTY2NjI6IGxvYWRfdGVzdHMoKSBpcyBub3cgdW5jb25kaXRpb25hbGx5IHJ1biB3aGVuIGl0IGlzIHByZXNlbnQgaW4KKyAgYSBwYWNrYWdlJ3MgX19pbml0X18ucHkuICBUZXN0TG9hZGVyLmxvYWRUZXN0c0Zyb21Nb2R1bGUoKSBzdGlsbCBhY2NlcHRzCisgIHVzZV9sb2FkX3Rlc3RzLCBidXQgaXQgaXMgZGVwcmVjYXRlZCBhbmQgaWdub3JlZC4gIEEgbmV3IGtleXdvcmQtb25seQorICBhdHRyaWJ1dGUgYHBhdHRlcm5gIGlzIGFkZGVkIGFuZCBkb2N1bWVudGVkLiAgUGF0Y2ggZ2l2ZW4gYnkgUm9iZXJ0IENvbGxpbnMsCisgIHR3ZWFrZWQgYnkgQmFycnkgV2Fyc2F3LgorCiAtIElzc3VlICMyMjIyNjogRmlyc3QgbGV0dGVyIG5vIGxvbmdlciBpcyBzdHJpcHBlZCBmcm9tIHRoZSAic3RhdHVzIiBrZXkgaW4KICAgdGhlIHJlc3VsdCBvZiBUcmVldmlldy5oZWFkaW5nKCkuCiAKIC0gSXNzdWUgIzE5NTI0OiBGaXhlZCByZXNvdXJjZSBsZWFrIGluIHRoZSBIVFRQIGNvbm5lY3Rpb24gd2hlbiBhbiBpbnZhbGlkCiAgIHJlc3BvbnNlIGlzIHJlY2VpdmVkLiAgUGF0Y2ggYnkgTWFydGluIFBhbnRlci4KIAorLSBJc3N1ZSAjMjA0MjE6IEFkZCBhIC52ZXJzaW9uKCkgbWV0aG9kIHRvIFNTTCBzb2NrZXRzIGV4cG9zaW5nIHRoZSBhY3R1YWwKKyAgcHJvdG9jb2wgdmVyc2lvbiBpbiB1c2UuCisKKy0gSXNzdWUgIzE5NTQ2OiBjb25maWdwYXJzZXIgZXhjZXB0aW9ucyBubyBsb25nZXIgZXhwb3NlIGltcGxlbWVudGF0aW9uIGRldGFpbHMuCisgIENoYWluZWQgS2V5RXJyb3JzIGFyZSByZW1vdmVkLCB3aGljaCBsZWFkcyB0byBjbGVhbmVyIHRyYWNlYmFja3MuICBQYXRjaCBieQorICBDbGF1ZGl1IFBvcGEuCisKIC0gSXNzdWUgIzIyMDUxOiB0dXJ0bGVkZW1vIG5vIGxvbmdlciByZWxvYWRzIGV4YW1wbGVzIHRvIHJlLXJ1biB0aGVtLgogICBJbml0aWFsaXphdGlvbiBvZiB2YXJpYWJsZXMgYW5kIGd1aSBzZXR1cCBzaG91bGQgYmUgZG9uZSBpbiBtYWluKCksCiAgIHdoaWNoIGlzIGNhbGxlZCBlYWNoIHRpbWUgYSBkZW1vIGlzIHJ1biwgYnV0IG5vdCBvbiBpbXBvcnQuCkBAIC01NDEsMjMgKzc1Niw1NyBAQAogLSBJc3N1ZSAjMTgxMzI6IFR1cnRsZWRlbW8gYnV0dG9ucyBubyBsb25nZXIgZGlzYXBwZWFyIHdoZW4gdGhlIHdpbmRvdyBpcwogICBzaHJ1bmsuICBPcmlnaW5hbCBwYXRjaGVzIGJ5IEphbiBLYW5pcyBhbmQgTGl0YSBDaG8uCiAKKy0gSXNzdWUgIzIyMDQzOiB0aW1lLm1vbm90b25pYygpIGlzIG5vdyBhbHdheXMgYXZhaWxhYmxlLgorICBgYHRocmVhZGluZy5Mb2NrLmFjcXVpcmUoKWBgLCBgYHRocmVhZGluZy5STG9jay5hY3F1aXJlKClgYCBhbmQgc29ja2V0CisgIG9wZXJhdGlvbnMgbm93IHVzZSBhIG1vbm90b25pYyBjbG9jaywgaW5zdGVhZCBvZiB0aGUgc3lzdGVtIGNsb2NrLCB3aGVuIGEKKyAgdGltZW91dCBpcyB1c2VkLgorCistIElzc3VlICMyMTUyNzogQWRkIGEgZGVmYXVsdCBudW1iZXIgb2Ygd29ya2VycyB0byBUaHJlYWRQb29sRXhlY3V0b3IgZXF1YWwKKyAgdG8gNSB0aW1lcyB0aGUgbnVtYmVyIG9mIENQVXMuICBQYXRjaCBieSBDbGF1ZGl1IFBvcGEuCisKIC0gSXNzdWUgIzIyMjE2OiBzbXRwbGliIG5vdyByZXNldHMgaXRzIHN0YXRlIG1vcmUgY29tcGxldGVseSBhZnRlciBhIHF1aXQuICBUaGUKICAgbW9zdCBvYnZpb3VzIGNvbnNlcXVlbmNlIG9mIHRoZSBwcmV2aW91cyBiZWhhdmlvciB3YXMgYSBTVEFSVFRMUyBmYWlsdXJlCiAgIGR1cmluZyBhIGNvbm5lY3Qvc3RhcnR0bHMvcXVpdC9jb25uZWN0L3N0YXJ0dGxzIHNlcXVlbmNlLgogCistIElzc3VlICMyMjA5ODogY3R5cGVzJyBCaWdFbmRpYW5TdHJ1Y3R1cmUgYW5kIExpdHRsZUVuZGlhblN0cnVjdHVyZSBub3cKKyAgZGVmaW5lIGFuIGVtcHR5IF9fc2xvdHNfXyBzbyB0aGF0IHN1YmNsYXNzZXMgZG9uJ3QgYWx3YXlzIGdldCBhbiBpbnN0YW5jZQorICBkaWN0LiAgUGF0Y2ggYnkgQ2xhdWRpdSBQb3BhLgorCiAtIElzc3VlICMyMjE4NTogRml4IGFuIG9jY2FzaW9uYWwgUnVudGltZUVycm9yIGluIHRocmVhZGluZy5Db25kaXRpb24ud2FpdCgpCiAgIGNhdXNlZCBieSBtdXRhdGlvbiBvZiB0aGUgd2FpdGVycyBxdWV1ZSB3aXRob3V0IGhvbGRpbmcgdGhlIGxvY2suICBQYXRjaAogICBieSBEb3VnIFpvbmdrZXIuCiAKKy0gSXNzdWUgIzIyMjg3OiBPbiBVTklYLCBfUHlUaW1lX2dldHRpbWVvZmRheSgpIG5vdyB1c2VzCisgIGNsb2NrX2dldHRpbWUoQ0xPQ0tfUkVBTFRJTUUpIGlmIGF2YWlsYWJsZS4gQXMgYSBzaWRlIGVmZmVjdCwgUHl0aG9uIG5vdworICBkZXBlbmRzIG9uIHRoZSBsaWJydCBsaWJyYXJ5IG9uIFNvbGFyaXMgYW5kIG9uIExpbnV4IChvbmx5IHdpdGggZ2xpYmMgb2xkZXIKKyAgdGhhbiAyLjE3KS4KKwogLSBJc3N1ZSAjMjIxODI6IFVzZSBlLmFyZ3MgdG8gdW5wYWNrIGV4Y2VwdGlvbnMgY29ycmVjdGx5IGluCiAgIGRpc3R1dGlscy5maWxlX3V0aWwubW92ZV9maWxlLiBQYXRjaCBieSBDbGF1ZGl1IFBvcGEuCiAKIC0gVGhlIHdlYmJyb3dzZXIgbW9kdWxlIG5vdyB1c2VzIHN1YnByb2Nlc3MncyBzdGFydF9uZXdfc2Vzc2lvbj1UcnVlIHJhdGhlcgogICB0aGFuIGEgcG90ZW50aWFsbHkgcmlza3kgcHJlZXhlY19mbj1vcy5zZXRzaWQgY2FsbC4KIAorLSBJc3N1ZSAjMjIwNDI6IHNpZ25hbC5zZXRfd2FrZXVwX2ZkKGZkKSBub3cgcmFpc2VzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgZmlsZQorICBkZXNjcmlwdG9yIGlzIGluIGJsb2NraW5nIG1vZGUuCisKKy0gSXNzdWUgIzE2ODA4OiBpbnNwZWN0LnN0YWNrKCkgbm93IHJldHVybnMgYSBuYW1lZCB0dXBsZSBpbnN0ZWFkIG9mIGEgdHVwbGUuCisgIFBhdGNoIGJ5IERhbmllbCBTaGFoYWYuCisKIC0gSXNzdWUgIzIyMjM2OiBGaXhlZCBUa2ludGVyIGltYWdlcyBjb3B5aW5nIG9wZXJhdGlvbnMgaW4gTm9EZWZhdWx0Um9vdCBtb2RlLgogCi0tIElzc3VlICMyMjE5MTogRml4IHdhcm5pbmdzLl9fYWxsX18uCistIElzc3VlICMyNTI3OiBBZGQgYSAqZ2xvYmFscyogYXJndW1lbnQgdG8gdGltZWl0IGZ1bmN0aW9ucywgaW4gb3JkZXIgdG8KKyAgb3ZlcnJpZGUgdGhlIGdsb2JhbHMgbmFtZXNwYWNlIGluIHdoaWNoIHRoZSB0aW1lZCBjb2RlIGlzIGV4ZWN1dGVkLgorICBQYXRjaCBieSBCZW4gUm9iZXJ0cy4KKworLSBJc3N1ZSAjMjIxMTg6IFN3aXRjaCB1cmxsaWIucGFyc2UgdG8gdXNlIFJGQyAzOTg2IHNlbWFudGljcyBmb3IgdGhlCisgIHJlc29sdXRpb24gb2YgcmVsYXRpdmUgVVJMcywgcmF0aGVyIHRoYW4gUkZDcyAxODA4IGFuZCAyMzk2LgorICBQYXRjaCBieSBEZW1pYW4gQnJlY2h0LgorCistIElzc3VlICMyMTU0OTogQWRkZWQgdGhlICJtZW1iZXJzIiBwYXJhbWV0ZXIgdG8gVGFyRmlsZS5saXN0KCkuCisKKy0gSXNzdWUgIzE5NjI4OiBBbGxvdyBjb21waWxlYWxsIHJlY3Vyc2lvbiBkZXB0aCB0byBiZSBzcGVjaWZpZWQgd2l0aCBhIC1yCisgIG9wdGlvbi4KIAogLSBJc3N1ZSAjMTU2OTY6IEFkZCBhIF9fc2l6ZW9mX18gaW1wbGVtZW50YXRpb24gZm9yIG1tYXAgb2JqZWN0cyBvbiBXaW5kb3dzLgogCkBAIC01NjUsNiArODE0LDggQEAKIAogLSBJc3N1ZSAjMjIxNjU6IFNpbXBsZUhUVFBSZXF1ZXN0SGFuZGxlciBub3cgc3VwcG9ydHMgdW5kZWNvZGFibGUgZmlsZSBuYW1lcy4KIAorLSBJc3N1ZSAjMTUzODE6IE9wdGltaXplZCBsaW5lIHJlYWRpbmcgaW4gaW8uQnl0ZXNJTy4KKwogLSBJc3N1ZSAjODc5NzogUmFpc2UgSFRUUEVycm9yIG9uIGZhaWxlZCBCYXNpYyBBdXRoZW50aWNhdGlvbiBpbW1lZGlhdGVseS4KICAgSW5pdGlhbCBwYXRjaCBieSBTYW0gQnVsbC4KIApAQCAtNTgwLDYgKzgzMSwxNCBAQAogLSBJc3N1ZSAjMTc5MjM6IGdsb2IoKSBwYXR0ZXJucyBlbmRpbmcgd2l0aCBhIHNsYXNoIG5vIGxvbmdlciBtYXRjaCBub24tZGlycyBvbgogICBBSVguICBCYXNlZCBvbiBwYXRjaCBieSBEZWxoYWxsdC4KIAorLSBJc3N1ZSAjMjE3MjU6IEFkZGVkIHN1cHBvcnQgZm9yIFJGQyA2NTMxIChTTVRQVVRGOCkgaW4gc210cGQuCisKKy0gSXNzdWUgIzIyMTc2OiBVcGRhdGUgdGhlIGN0eXBlcyBtb2R1bGUncyBsaWJmZmkgdG8gdjMuMS4gIFRoaXMgcmVsZWFzZQorICBhZGRzIHN1cHBvcnQgZm9yIHRoZSBMaW51eCBBQXJjaDY0IGFuZCBQT1dFUlBDIEVMRiBBQkl2MiBsaXR0bGUgZW5kaWFuCisgIGFyY2hpdGVjdHVyZXMuCisKKy0gSXNzdWUgIzU0MTE6IEFkZGVkIHN1cHBvcnQgZm9yIHRoZSAieHp0YXIiIGZvcm1hdCBpbiB0aGUgc2h1dGlsIG1vZHVsZS4KKwogLSBJc3N1ZSAjMjExMjE6IERvbid0IGZvcmNlIDNyZCBwYXJ0eSBDIGV4dGVuc2lvbnMgdG8gYmUgYnVpbHQgd2l0aAogICAtV2Vycm9yPWRlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudC4KIApAQCAtNTg3LDE4ICs4NDYsNTcgQEAKICAgd2hlbiB1bnBpY2tsaW5nIHBpY2tsZWQgc3FsaXRlMy5Sb3cpLiAgc3FsaXRlMy5Sb3cgaXMgbm93IGluaXRpYWxpemVkIGluIHRoZQogICBfX25ld19fKCkgbWV0aG9kLgogCistIElzc3VlICMyMDE3MDogQ29udmVydCBwb3NpeG1vZHVsZSB0byB1c2UgQXJndW1lbnQgQ2xpbmljLgorCistIElzc3VlICMyMTUzOTogQWRkIGEgKmV4aXN0c19vayogYXJndW1lbnQgdG8gYFBhdGhsaWIubWtkaXIoKWAgdG8gbWltaWMKKyAgYG1rZGlyIC1wYCBhbmQgYG9zLm1ha2VkaXJzKClgIGZ1bmN0aW9uYWxpdHkuICBXaGVuIHRydWUsIGlnbm9yZQorICBGaWxlRXhpc3RzRXJyb3JzLiAgUGF0Y2ggYnkgQmVya2VyIFBla3NhZy4KKworLSBJc3N1ZSAjMjIxMjc6IEJ5cGFzcyBJRE5BIGZvciBwdXJlLUFTQ0lJIGhvc3QgbmFtZXMgaW4gdGhlIHNvY2tldCBtb2R1bGUKKyAgKGluIHBhcnRpY3VsYXIgZm9yIG51bWVyaWMgSVBzKS4KKworLSBJc3N1ZSAjMjEwNDc6IHNldCB0aGUgZGVmYXVsdCB2YWx1ZSBmb3IgdGhlICpjb252ZXJ0X2NoYXJyZWZzKiBhcmd1bWVudAorICBvZiBIVE1MUGFyc2VyIHRvIFRydWUuICBQYXRjaCBieSBCZXJrZXIgUGVrc2FnLgorCistIEFkZCBhbiBfX2FsbF9fIHRvIGh0bWwuZW50aXRpZXMuCisKKy0gSXNzdWUgIzE1MTE0OiB0aGUgc3RyaWN0IG1vZGUgYW5kIGFyZ3VtZW50IG9mIEhUTUxQYXJzZXIsIEhUTUxQYXJzZXIuZXJyb3IsCisgIGFuZCB0aGUgSFRNTFBhcnNlckVycm9yIGV4Y2VwdGlvbiBoYXZlIGJlZW4gcmVtb3ZlZC4KKworLSBJc3N1ZSAjMjIwODU6IERyb3BwZWQgc3VwcG9ydCBvZiBUayA4LjMgaW4gVGtpbnRlci4KKwogLSBJc3N1ZSAjMjE1ODA6IE5vdyBUa2ludGVyIGNvcnJlY3RseSBoYW5kbGVzIGJ5dGVzIGFyZ3VtZW50cyBwYXNzZWQgdG8gVGsuCiAgIEluIHBhcnRpY3VsYXIgdGhpcyBhbGxvd3MgdG8gaW5pdGlhbGl6ZSBpbWFnZXMgZnJvbSBiaW5hcnkgZGF0YS4KIAorLSBJc3N1ZSAjMjIwMDM6IFdoZW4gaW5pdGlhbGl6ZWQgZnJvbSBhIGJ5dGVzIG9iamVjdCwgaW8uQnl0ZXNJTygpIG5vdworICBkZWZlcnMgbWFraW5nIGEgY29weSB1bnRpbCBpdCBpcyBtdXRhdGVkLCBpbXByb3ZpbmcgcGVyZm9ybWFuY2UgYW5kCisgIG1lbW9yeSB1c2Ugb24gc29tZSB1c2UgY2FzZXMuICBQYXRjaCBieSBEYXZpZCBXaWxzb24uCisKKy0gSXNzdWUgIzIyMDE4OiBPbiBXaW5kb3dzLCBzaWduYWwuc2V0X3dha2V1cF9mZCgpIG5vdyBhbHNvIHN1cHBvcnRzIHNvY2tldHMuCisgIEEgc2lkZSBlZmZlY3QgaXMgdGhhdCBQeXRob24gZGVwZW5kcyB0byB0aGUgV2luU29jayBsaWJyYXJ5LgorCistIElzc3VlICMyMjA1NDogQWRkIG9zLmdldF9ibG9ja2luZygpIGFuZCBvcy5zZXRfYmxvY2tpbmcoKSBmdW5jdGlvbnMgdG8gZ2V0CisgIGFuZCBzZXQgdGhlIGJsb2NraW5nIG1vZGUgb2YgYSBmaWxlIGRlc2NyaXB0b3IgKEZhbHNlIGlmIHRoZSBPX05PTkJMT0NLIGZsYWcKKyAgaXMgc2V0LCBUcnVlIG90aGVyd2lzZSkuIFRoZXNlIGZ1bmN0aW9ucyBhcmUgbm90IGF2YWlsYWJsZSBvbiBXaW5kb3dzLgorCiAtIElzc3VlICMxNzE3MjogTWFrZSB0dXJ0bGVkZW1vIHN0YXJ0IGFzIGFjdGl2ZSBvbiBPUyBYIGV2ZW4gd2hlbiBydW4gd2l0aAogICBzdWJwcm9jZXNzLiAgUGF0Y2ggYnkgTGl0YSBDaG8uCiAKIC0gSXNzdWUgIzIxNzA0OiBGaXggYnVpbGQgZXJyb3IgZm9yIF9tdWx0aXByb2Nlc3Npbmcgd2hlbiBzZW1hcGhvcmVzCiAgIGFyZSBub3QgYXZhaWxhYmxlLiAgUGF0Y2ggYnkgQXJmcmV2ZXIgRnJlaHRlcyBUYWlmZXJzYXIgQXJhaGVzaXMuCiAKKy0gSXNzdWUgIzIwMTczOiBDb252ZXJ0IHNoYTEsIHNoYTI1Niwgc2hhNTEyIGFuZCBtZDUgdG8gQXJndW1lbnRDbGluaWMuCisgIFBhdGNoIGJ5IFZhanJhc2t5IEtvay4KKwogLSBGaXggcmVwcihfc29ja2V0LnNvY2tldCkgb24gV2luZG93cyA2NC1iaXQ6IGRvbid0IGZhaWwgd2l0aCBPdmVyZmxvd0Vycm9yCiAgIG9uIGNsb3NlZCBzb2NrZXQuIHJlcHIoc29ja2V0LnNvY2tldCkgYWxyZWFkeSB3b3JrcyBmaW5lLgogCistIElzc3VlICMyMjAzMzogUmVwcnMgb2YgbW9zdCBQeXRob24gaW1wbGVtZW5lZCBjbGFzc2VzIG5vdyBjb250YWluIGFjdHVhbAorICBjbGFzcyBuYW1lIGluc3RlYWQgb2YgaGFyZGNvZGVkIG9uZS4KKworLSBJc3N1ZSAjMjE5NDc6IFRoZSBkaXMgbW9kdWxlIGNhbiBub3cgZGlzYXNzZW1ibGUgZ2VuZXJhdG9yLWl0ZXJhdG9yCisgIG9iamVjdHMgYmFzZWQgb24gdGhlaXIgZ2lfY29kZSBhdHRyaWJ1dGUuIFBhdGNoIGJ5IENsZW1lbnQgUm91YXVsdC4KKwogLSBJc3N1ZSAjMTYxMzM6IFRoZSBhc3luY2hhdC5hc3luY19jaGF0LmhhbmRsZV9yZWFkKCkgbWV0aG9kIG5vdyBpZ25vcmVzCiAgIEJsb2NraW5nSU9FcnJvciBleGNlcHRpb25zLgogCkBAIC02MTAsMTYgKzkwOCw0MiBAQAogICBzZXF1ZW5jZSBpcyB1c2VkIG9uIHNvbWUgdGVybWluYWwgKGV4OiBURVJNPXh0ZXJtLTI1NmNvbG9yIikgdG8gZW5hYmxlCiAgIHN1cHBvcnQgb2YgOCBiaXQgY2hhcmFjdGVycy4KIAorLSBJc3N1ZSAjNDM1MDogUmVtb3ZlZCBhIG51bWJlciBvZiBvdXQtb2YtZGF0ZWQgYW5kIG5vbi13b3JraW5nIGZvciBhIGxvbmcgdGltZQorICBUa2ludGVyIG1ldGhvZHMuCisKKy0gSXNzdWUgIzYxNjc6IFNjcm9sbGJhci5hY3RpdmF0ZSgpIG5vdyByZXR1cm5zIHRoZSBuYW1lIG9mIGFjdGl2ZSBlbGVtZW50IGlmCisgIHRoZSBhcmd1bWVudCBpcyBub3Qgc3BlY2lmaWVkLiAgU2Nyb2xsYmFyLnNldCgpIG5vdyBhbHdheXMgYWNjZXB0cyBvbmx5IDIKKyAgYXJndW1lbnRzLgorCistIElzc3VlICMxNTI3NTogQ2xlYW4gdXAgYW5kIHNwZWVkIHVwIHRoZSBudHBhdGggbW9kdWxlLgorCiAtIElzc3VlICMyMTg4ODogcGxpc3RsaWIncyBsb2FkKCkgYW5kIGxvYWRzKCkgbm93IHdvcmsgaWYgdGhlIGZtdCBwYXJhbWV0ZXIgaXMKICAgc3BlY2lmaWVkLgogCistIElzc3VlICMyMjAzMjogX19xdWFsbmFtZV9fIGluc3RlYWQgb2YgX19uYW1lX18gaXMgbm93IGFsd2F5cyB1c2VkIHRvIGZvcm1hdAorICBmdWxseSBxdWFsaWZpZWQgY2xhc3MgbmFtZXMgb2YgUHl0aG9uIGltcGxlbWVudGVkIGNsYXNzZXMuCisKKy0gSXNzdWUgIzIyMDMxOiBSZXBycyBub3cgYWx3YXlzIHVzZSBoZXhhZGVjaW1hbCBmb3JtYXQgd2l0aCB0aGUgIjB4IiBwcmVmaXgKKyAgd2hlbiBjb250YWluIGFuIGlkIGluIGZvcm0gIiBhdCAweC4uLiIuCisKKy0gSXNzdWUgIzIyMDE4OiBzaWduYWwuc2V0X3dha2V1cF9mZCgpIG5vdyByYWlzZXMgYW4gT1NFcnJvciBpbnN0ZWFkIG9mIGEKKyAgVmFsdWVFcnJvciBvbiBgYGZzdGF0KClgYCBmYWlsdXJlLgorCiAtIElzc3VlICMyMTA0NDogdGFyZmlsZS5vcGVuKCkgbm93IGhhbmRsZXMgZmlsZW9iaiB3aXRoIGFuIGludGVnZXIgJ25hbWUnCiAgIGF0dHJpYnV0ZS4gIEJhc2VkIG9uIHBhdGNoIGJ5IEFudG9pbmUgUGlldHJpLgogCi0tIElzc3VlICMyMTg2NzogIFByZXZlbnQgdHVydGxlIGNyYXNoIGR1ZSB0byBpbnZhbGlkIHVuZG8gYnVmZmVyIHNpemUuCistIElzc3VlICMyMTk2NjogUmVzcGVjdCAtcSBjb21tYW5kLWxpbmUgb3B0aW9uIHdoZW4gY29kZSBtb2R1bGUgaXMgcmFuLgogCiAtIElzc3VlICMxOTA3NjogRG9uJ3QgcGFzcyB0aGUgcmVkdW5kYW50ICdmaWxlJyBhcmd1bWVudCB0byBzZWxmLmVycm9yKCkuCiAKKy0gSXNzdWUgIzE2MzgyOiBJbXByb3ZlIGV4Y2VwdGlvbiBtZXNzYWdlIG9mIHdhcm5pbmdzLndhcm4oKSBmb3IgYmFkCisgIGNhdGVnb3J5LiBJbml0aWFsIHBhdGNoIGJ5IFBoaWwgRWxzb24uCisKKy0gSXNzdWUgIzIxOTMyOiBvcy5yZWFkKCkgbm93IHVzZXMgYSA6YzpmdW5jOmBQeV9zc2l6ZV90YCB0eXBlIGluc3RlYWQgb2YKKyAgOmM6dHlwZTpgaW50YCBmb3IgdGhlIHNpemUgdG8gc3VwcG9ydCByZWFkaW5nIG1vcmUgdGhhbiAyIEdCIGF0IG9uY2UuIE9uCisgIFdpbmRvd3MsIHRoZSBzaXplIGlzIHRydW5jdGVkIHRvIElOVF9NQVguIEFzIGFueSBjYWxsIHRvIG9zLnJlYWQoKSwgdGhlIE9TCisgIG1heSByZWFkIGxlc3MgYnl0ZXMgdGhhbiB0aGUgbnVtYmVyIG9mIHJlcXVlc3RlZCBieXRlcy4KKwogLSBJc3N1ZSAjMjE5NDI6IEZpeGVkIHNvdXJjZSBmaWxlIHZpZXdpbmcgaW4gcHlkb2MncyBzZXJ2ZXIgbW9kZSBvbiBXaW5kb3dzLgogCiAtIElzc3VlICMxMTI1OTogYXN5bmNoYXQuYXN5bmNfY2hhdCgpLnNldF90ZXJtaW5hdG9yKCkgbm93IHJhaXNlcyBhIFZhbHVlRXJyb3IKQEAgLTYzNyw4ICs5NjEsOCBAQAogLSBJc3N1ZSAjMjE3MTQ6IERpc2FsbG93IHRoZSBjb25zdHJ1Y3Rpb24gb2YgaW52YWxpZCBwYXRocyB1c2luZwogICBQYXRoLndpdGhfbmFtZSgpLiAgT3JpZ2luYWwgcGF0Y2ggYnkgQW50b255IExlZS4KIAotLSBJc3N1ZSAjMjE4OTc6IEZpeCBhIGNyYXNoIHdpdGggdGhlIGZfbG9jYWxzIGF0dHJpYnV0ZSB3aXRoIGNsb3N1cmUKLSAgdmFyaWFibGVzIHdoZW4gZnJhbWUuY2xlYXIoKSBoYXMgYmVlbiBjYWxsZWQuCistIElzc3VlICMxNTAxNDogQWRkZWQgJ2F1dGgnIG1ldGhvZCB0byBzbXRwbGliIHRvIG1ha2UgaW1wbGVtZW50aW5nIGF1dGgKKyAgbWVjaGFuaXNtcyBzaW1wbGVyLCBhbmQgdXNlZCBpdCBpbnRlcm5hbGx5IGluIHRoZSBsb2dpbiBtZXRob2QuCiAKIC0gSXNzdWUgIzIxMTUxOiBGaXhlZCBhIHNlZ2ZhdWx0IGluIHRoZSB3aW5yZWcgbW9kdWxlIHdoZW4gYGBOb25lYGAgaXMgcGFzc2VkCiAgIGFzIGEgYGBSRUdfQklOQVJZYGAgdmFsdWUgdG8gU2V0VmFsdWVFeC4gIFBhdGNoIGJ5IEpvaG4gRWhyZXNtYW4uCkBAIC02NDYsOCArOTcwLDE3IEBACiAtIElzc3VlICMyMTA5MDogaW8uRmlsZUlPLnJlYWRhbGwoKSBkb2VzIG5vdCBpZ25vcmUgSS9PIGVycm9ycyBhbnltb3JlLiBCZWZvcmUsCiAgIGl0IGlnbm9yZWQgSS9PIGVycm9ycyBpZiBhdCBsZWFzdCB0aGUgZmlyc3QgQyBjYWxsIHJlYWQoKSBzdWNjZWVkLgogCistIElzc3VlICM1ODAwOiBoZWFkZXJzIHBhcmFtZXRlciBvZiB3c2dpcmVmLmhlYWRlcnMuSGVhZGVycyBpcyBub3cgb3B0aW9uYWwuCisgIEluaXRpYWwgcGF0Y2ggYnkgUGFibG8gVG9ycmVzIE5hdmFycmV0ZSBhbmQgU2lsZW50R2hvc3QuCisKIC0gSXNzdWUgIzIxNzgxOiBzc2wuUkFORF9hZGQoKSBub3cgc3VwcG9ydHMgc3RyaW5ncyBsb25nZXIgdGhhbiAyIEdCLgogCistIElzc3VlICMyMTY3OTogUHJldmVudCBleHRyYW5lb3VzIGZzdGF0KCkgY2FsbHMgZHVyaW5nIG9wZW4oKS4gIFBhdGNoIGJ5CisgIEJvaHVzbGF2IEthYnJkYS4KKworLSBJc3N1ZSAjMjE4NjM6IGNQcm9maWxlIG5vdyBkaXNwbGF5cyB0aGUgbW9kdWxlIG5hbWUgb2YgQyBleHRlbnNpb24gZnVuY3Rpb25zLAorICBpbiBhZGRpdGlvbiB0byB0aGVpciBvd24gbmFtZS4KKwogLSBJc3N1ZSAjMTE0NTM6IGFzeW5jb3JlOiBlbWl0IGEgUmVzb3VyY2VXYXJuaW5nIHdoZW4gYW4gdW5jbG9zZWQgZmlsZV93cmFwcGVyCiAgIG9iamVjdCBpcyBkZXN0cm95ZWQuIFRoZSBkZXN0cnVjdG9yIG5vdyBjbG9zZXMgdGhlIGZpbGUgaWYgbmVlZGVkLiBUaGUKICAgY2xvc2UoKSBtZXRob2QgY2FuIG5vdyBiZSBjYWxsZWQgdHdpY2U6IHRoZSBzZWNvbmQgY2FsbCBkb2VzIG5vdGhpbmcuCkBAIC02NTcsNDggKzk5MCw1MyBAQAogLSBJc3N1ZSAjMjE0NzY6IE1ha2Ugc3VyZSB0aGUgZW1haWwucGFyc2VyLkJ5dGVzUGFyc2VyIFRleHRJT1dyYXBwZXIgaXMKICAgZGlzY2FyZGVkIGFmdGVyIHBhcnNpbmcsIHNvIHRoZSBpbnB1dCBmaWxlIGlzbid0IHVuZXhwZWN0ZWRseSBjbG9zZWQuCiAKKy0gSXNzdWUgIzIwMjk1OiBpbWdoZHIgbm93IHJlY29nbml6ZXMgT3BlbkVYUiBmb3JtYXQgaW1hZ2VzLgorCiAtIElzc3VlICMyMTcyOTogVXNlZCB0aGUgIndpdGgiIHN0YXRlbWVudCBpbiB0aGUgZGJtLmR1bWIgbW9kdWxlIHRvIGVuc3VyZQogICBmaWxlcyBjbG9zaW5nLiAgUGF0Y2ggYnkgQ2xhdWRpdSBQb3BhLgogCiAtIElzc3VlICMyMTQ5MTogc29ja2V0c2VydmVyOiBGaXggYSByYWNlIGNvbmRpdGlvbiBpbiBjaGlsZCBwcm9jZXNzZXMgcmVhcGluZy4KIAorLSBJc3N1ZSAjMjE3MTk6IEFkZGVkIHRoZSBgYHN0X2ZpbGVfYXR0cmlidXRlc2BgIGZpZWxkIHRvIG9zLnN0YXRfcmVzdWx0IG9uCisgIFdpbmRvd3MuCisKIC0gSXNzdWUgIzIxODMyOiAgUmVxdWlyZSBuYW1lZCB0dXBsZSBpbnB1dHMgdG8gYmUgZXhhY3Qgc3RyaW5ncy4KIAotLSBJc3N1ZSAjMTkxNDU6ICBUaGUgdGltZXMgYXJndW1lbnQgZm9yIGl0ZXJ0b29scy5yZXBlYXQgbm93IGhhbmRsZXMKLSAgbmVnYXRpdmUgdmFsdWVzIHRoZSBzYW1lIHdheSBmb3Iga2V5d29yZCBhcmd1bWVudHMgYXMgaXQgZG9lcyBmb3IKLSAgcG9zaXRpb25hbCBhcmd1bWVudHMuCi0KLS0gSXNzdWUgIzIxODEyOiB0dXJ0bGUuc2hhcGV0cmFuc2Zvcm0gZGlkIG5vdCB0cmFuZm9ybSB0aGUgdHVydGxlIG9uIHRoZQotICBmaXJzdCBjYWxsLiAgKElzc3VlIGlkZW50aWZpZWQgYW5kIGZpeGVkIGJ5IExpdGEgQ2hvLikKLQotLSBJc3N1ZSAjMjE2MzU6ICBUaGUgZGlmZmxpYiBTZXF1ZW5jZU1hdGNoZXIuZ2V0X21hdGNoaW5nX2Jsb2NrcygpIG1ldGhvZAotICBjYWNoZSBkaWRuJ3QgbWF0Y2ggdGhlIGFjdHVhbCByZXN1bHQuICBUaGUgZm9ybWVyIHdhcyBhIGxpc3Qgb2YgdHVwbGVzCi0gIGFuZCB0aGUgbGF0dGVyIHdhcyBhIGxpc3Qgb2YgbmFtZWQgdHVwbGVzLgotCiAtIElzc3VlICMyMTcyMjogVGhlIGRpc3R1dGlscyAidXBsb2FkIiBjb21tYW5kIG5vdyBleGl0cyB3aXRoIGEgbm9uLXplcm8KICAgcmV0dXJuIGNvZGUgd2hlbiB1cGxvYWRpbmcgZmFpbHMuICBQYXRjaCBieSBNYXJ0aW4gRGVuZ2xlci4KIAogLSBJc3N1ZSAjMjE3MjM6IGFzeW5jaW8uUXVldWU6IHN1cHBvcnQgYW55IHR5cGUgb2YgbnVtYmVyIChleDogZmxvYXQpIGZvciB0aGUKICAgbWF4aW11bSBzaXplLiBQYXRjaCB3cml0dGVuIGJ5IFZhanJhc2t5IEtvay4KIAorLSBJc3N1ZSAjMjE3MTE6IHN1cHBvcnQgZm9yICJzaXRlLXB5dGhvbiIgZGlyZWN0b3JpZXMgaGFzIG5vdyBiZWVuIHJlbW92ZWQKKyAgZnJvbSB0aGUgc2l0ZSBtb2R1bGUgKGl0IHdhcyBkZXByZWNhdGVkIGluIDMuNCkuCisKKy0gSXNzdWUgIzE3NTUyOiBuZXcgc29ja2V0LnNlbmRmaWxlKCkgbWV0aG9kIGFsbG93aW5nIHRvIHNlbmQgYSBmaWxlIG92ZXIgYQorICBzb2NrZXQgYnkgdXNpbmcgaGlnaC1wZXJmb3JtYW5jZSBvcy5zZW5kZmlsZSgpIG9uIFVOSVguCisgIFBhdGNoIGJ5IEdpYW1wYW9sbyBSb2RvbGEnLgorCistIElzc3VlICMxODAzOTogZGJtLmR1bXAub3BlbigpIG5vdyBhbHdheXMgY3JlYXRlcyBhIG5ldyBkYXRhYmFzZSB3aGVuIHRoZQorICBmbGFnIGhhcyB0aGUgdmFsdWUgJ24nLiAgUGF0Y2ggYnkgQ2xhdWRpdSBQb3BhLgorCiAtIElzc3VlICMyMTMyNjogQWRkIGEgbmV3IGlzX2Nsb3NlZCgpIG1ldGhvZCB0byBhc3luY2lvLkJhc2VFdmVudExvb3AuCiAgIHJ1bl9mb3JldmVyKCkgYW5kIHJ1bl91bnRpbF9jb21wbGV0ZSgpIG1ldGhvZHMgb2YgYXN5bmNpby5CYXNlRXZlbnRMb29wIG5vdwogICByYWlzZSBhbiBleGNlcHRpb24gaWYgdGhlIGV2ZW50IGxvb3Agd2FzIGNsb3NlZC4KIAotLSBJc3N1ZSAjMjE3NzQ6IEZpeGVkIE5hbWVFcnJvciBmb3IgYW4gaW5jb3JyZWN0IHZhcmlhYmxlIHJlZmVyZW5jZSBpbiB0aGUKLSAgWE1MIE1pbmlkb20gY29kZSBmb3IgY3JlYXRpbmcgcHJvY2Vzc2luZyBpbnN0cnVjdGlvbnMuCi0gIChGb3VuZCBhbmQgZml4ZWQgYnkgQ2xhdWRpdSBQb3BhLikKLQogLSBJc3N1ZSAjMjE3NjY6IFByZXZlbnQgYSBzZWN1cml0eSBob2xlIGluIENHSUhUVFBTZXJ2ZXIgYnkgVVJMIHVucXVvdGluZyBwYXRocwogICBiZWZvcmUgY2hlY2tpbmcgZm9yIGEgQ0dJIHNjcmlwdCBhdCB0aGF0IHBhdGguCiAKIC0gSXNzdWUgIzIxMzEwOiBGaXhlZCBwb3NzaWJsZSByZXNvdXJjZSBsZWFrIGluIGZhaWxlZCBvcGVuKCkuCiAKKy0gSXNzdWUgIzIxMjU2OiBQcmludG91dCBvZiBrZXl3b3JkIGFyZ3Mgc2hvdWxkIGJlIGluIGRldGVybWluaXN0aWMgb3JkZXIgaW4KKyAgYSBtb2NrIGZ1bmN0aW9uIGNhbGwuIFRoaXMgd2lsbCBoZWxwIHRvIHdyaXRlIGJldHRlciBkb2N0ZXN0cy4KKwogLSBJc3N1ZSAjMjE2Nzc6IEZpeGVkIGNoYWluaW5nIG5vbm5vcm1hbGl6ZWQgZXhjZXB0aW9ucyBpbiBpbyBjbG9zZSgpIG1ldGhvZHMuCiAKIC0gSXNzdWUgIzExNzA5OiBGaXggdGhlIHB5ZG9jLmhlbHAgZnVuY3Rpb24gdG8gbm90IGZhaWwgd2hlbiBzeXMuc3RkaW4gaXMgbm90IGEKICAgdmFsaWQgZmlsZS4KIAorLSBJc3N1ZSAjMjE1MTU6IHRlbXBmaWxlLlRlbXBvcmFyeUZpbGUgbm93IHVzZXMgb3MuT19UTVBGSUxFIGZsYWcgaXMgYXZhaWxhYmxlLgorCiAtIElzc3VlICMxMzIyMzogRml4IHB5ZG9jLndyaXRlZG9jIHNvIHRoYXQgdGhlIEhUTUwgZG9jdW1lbnRhdGlvbiBmb3IgbWV0aG9kcwogICB0aGF0IHVzZSAnc2VsZicgaW4gdGhlIGV4YW1wbGUgY29kZSBpcyBnZW5lcmF0ZWQgY29ycmVjdGx5LgogCkBAIC03MDksNiArMTA0Nyw5IEBACiAgIGxpbWl0cyB3b3VsZCBvdGhlcndpc2UgYWxsb3cuICBPbiBzeXN0ZW1zIHdpdGggYSBmdW5jdGlvbmluZyAvcHJvYy9zZWxmL2ZkCiAgIG9yIC9kZXYvZmQgaW50ZXJmYWNlIHRoZSBtYXggaXMgbm93IGlnbm9yZWQgYW5kIGFsbCBmZHMgYXJlIGNsb3NlZC4KIAorLSBJc3N1ZSAjMjAzODM6IEludHJvZHVjZSBpbXBvcnRsaWIudXRpbC5tb2R1bGVfZnJvbV9zcGVjKCkgYXMgdGhlIHByZWZlcnJlZCB3YXkKKyAgdG8gY3JlYXRlIGEgbmV3IG1vZHVsZS4KKwogLSBJc3N1ZSAjMjE1NTI6IEZpeGVkIHBvc3NpYmxlIGludGVnZXIgb3ZlcmZsb3cgb2YgdG9vIGxvbmcgc3RyaW5nIGxlbmd0aHMgaW4KICAgdGhlIHRraW50ZXIgbW9kdWxlIG9uIDY0LWJpdCBwbGF0Zm9ybXMuCiAKQEAgLTcxNyw4ICsxMDU4LDE0IEBACiAgIGVycm9yIGJ1YmJsZSB1cCBhcyB0aGlzICJiYWQgZGF0YSIgYXBwZWFycyBpbiBtYW55IHJlYWwgd29ybGQgemlwIGZpbGVzIGluCiAgIHRoZSB3aWxkIGFuZCBpcyBpZ25vcmVkIGJ5IG90aGVyIHppcCB0b29scy4KIAorLSBJc3N1ZSAjMTM3NDI6ICBBZGRlZCAia2V5IiBhbmQgInJldmVyc2UiIHBhcmFtZXRlcnMgdG8gaGVhcHEubWVyZ2UoKS4KKyAgKEZpcnN0IGRyYWZ0IG9mIHBhdGNoIGNvbnRyaWJ1dGVkIGJ5IFNpbW9uIFNhcGluLikKKwogLSBJc3N1ZSAjMjE0MDI6IHRraW50ZXIudHRrIG5vdyB3b3JrcyB3aGVuIGRlZmF1bHQgcm9vdCB3aW5kb3cgaXMgbm90IHNldC4KIAorLSBJc3N1ZSAjMzAxNTogX3RraW50ZXIuY3JlYXRlKCkgbm93IGNyZWF0ZXMgdGthcHAgb2JqZWN0IHdpdGggd2FudG9iamVjdD0xIGJ5CisgIGRlZmF1bHQuCisKIC0gSXNzdWUgIzEwMjAzOiBzcWxpdGUzLlJvdyBub3cgdHJ1bHkgc3VwcG9ydHMgc2VxdWVuY2UgcHJvdG9jb2wuICBJbiBwYXJ0aWN1bHIKICAgaXQgc3VwcG9ydHMgcmV2ZXJzZSgpIGFuZCBuZWdhdGl2ZSBpbmRpY2VzLiAgT3JpZ2luYWwgcGF0Y2ggYnkgQ2xhdWRpdSBQb3BhLgogCkBAIC03MjYsOTcgKzEwNzMsMjEgQEAKICAgaW50ZXJwcmV0ZXIgYWxpYXNlcyAocHl0aG9uLCBweXRob24zKSBhcmUgbm93IGNyZWF0ZWQgYnkgY29weWluZyByYXRoZXIgdGhhbgogICBzeW1saW5raW5nLgogCi0tIElzc3VlICMxNDcxMDogcGtndXRpbC5nZXRfbG9hZGVyKCkgbm8gbG9uZ2VyIHJhaXNlcyBhbiBleGNlcHRpb24gd2hlbiBOb25lIGlzCi0gIGZvdW5kIGluIHN5cy5tb2R1bGVzLgorLSBJc3N1ZSAjMjAxOTc6IEFkZGVkIHN1cHBvcnQgZm9yIHRoZSBXZWJQIGltYWdlIHR5cGUgaW4gdGhlIGltZ2hkciBtb2R1bGUuCisgIFBhdGNoIGJ5IEZhYnJpY2UgQW5lY2hlIGFuZCBDbGF1ZGl1IFBvcGEuCiAKLS0gSXNzdWUgIzE0NzEwOiBwa2d1dGlsLmZpbmRfbG9hZGVyKCkgbm8gbG9uZ2VyIHJhaXNlcyBhbiBleGNlcHRpb24gd2hlbiBhCi0gIG1vZHVsZSBkb2Vzbid0IGV4aXN0LgorLSBJc3N1ZSAjMjE1MTM6IFNwZWVkdXAgc29tZSBwcm9wZXJ0aWVzIG9mIElQIGFkZHJlc3NlcyAoSVB2NEFkZHJlc3MsCisgIElQdjZBZGRyZXNzKSBzdWNoIGFzIC5pc19wcml2YXRlIG9yIC5pc19tdWx0aWNhc3QuCiAKLS0gSXNzdWUgIzIxNDgxOiAgQXJncGFyc2UgZXF1YWxpdHkgYW5kIGluZXF1YWxpdHkgdGVzdHMgbm93IHJldHVybgotICBOb3RJbXBsZW1lbnRlZCB3aGVuIGNvbXBhcmluZyB0byBhbiB1bmtub3duIHR5cGUuCi0KLS0gSXNzdWUgIzg3NDM6IEZpeCBpbnRlcm9wZXJhYmlsaXR5IGJldHdlZW4gc2V0IG9iamVjdHMgYW5kIHRoZQotICBjb2xsZWN0aW9ucy5TZXQoKSBhYnN0cmFjdCBiYXNlIGNsYXNzLgotCi0tIElzc3VlICMxMzM1NTogcmFuZG9tLnRyaWFuZ3VsYXIoKSBubyBsb25nZXIgZmFpbHMgd2l0aCBhIFplcm9EaXZpc2lvbkVycm9yCi0gIHdoZW4gbG93IGVxdWFscyBoaWdoLgorLSBJc3N1ZSAjMjExMzc6IEltcHJvdmUgdGhlIHJlcHIgZm9yIHRocmVhZGluZy5Mb2NrKCkgYW5kIGl0cyB2YXJpYW50cworICBieSBzaG93aW5nIHRoZSAibG9ja2VkIiBvciAidW5sb2NrZWQiIHN0YXR1cy4gIFBhdGNoIGJ5IEJlcmtlciBQZWtzYWcuCiAKIC0gSXNzdWUgIzIxNTM4OiBUaGUgcGxpc3RsaWIgbW9kdWxlIG5vdyBzdXBwb3J0cyBsb2FkaW5nIG9mIGJpbmFyeSBwbGlzdCBmaWxlcwogICB3aGVuIHJlZmVyZW5jZSBvciBvZmZzZXQgc2l6ZSBpcyBub3QgYSBwb3dlciBvZiB0d28uCiAKLS0gSXNzdWUgIzIxODAxOiBWYWxpZGF0ZSB0aGF0IF9fc2lnbmF0dXJlX18gaXMgTm9uZSBvciBhbiBpbnN0YW5jZSBvZiBTaWduYXR1cmUuCistIElzc3VlICMyMTQ1NTogQWRkIGEgZGVmYXVsdCBiYWNrbG9nIHRvIHNvY2tldC5saXN0ZW4oKS4KIAotLSBJc3N1ZSAjMjE5MjM6IFByZXZlbnQgQXR0cmlidXRlRXJyb3IgaW4gZGlzdHV0aWxzLnN5c2NvbmZpZy5jdXN0b21pemVfY29tcGlsZXIKLSAgZHVlIHRvIHBvc3NpYmxlIHVuaW5pdGlhbGl6ZWQgX2NvbmZpZ192YXJzLgotCi0tIElzc3VlICMyMTMyMzogRml4IGh0dHAuc2VydmVyIHRvIGFnYWluIGhhbmRsZSBzY3JpcHRzIGluIENHSSBzdWJkaXJlY3RvcmllcywKLSAgYnJva2VuIGJ5IHRoZSBmaXggZm9yIHNlY3VyaXR5IGlzc3VlICMxOTQzNS4gIFBhdGNoIGJ5IFphY2ggQnlybmUuCi0KLUV4dGVuc2lvbiBNb2R1bGVzCi0tLS0tLS0tLS0tLS0tLS0tLQotCi0tIElzc3VlICMyMjE3NjogVXBkYXRlIHRoZSBjdHlwZXMgbW9kdWxlJ3MgbGliZmZpIHRvIHYzLjEuICBUaGlzIHJlbGVhc2UKLSAgYWRkcyBzdXBwb3J0IGZvciB0aGUgTGludXggQUFyY2g2NCBhbmQgUE9XRVJQQyBFTEYgQUJJdjIgbGl0dGxlIGVuZGlhbgotICBhcmNoaXRlY3R1cmVzLgotCi1CdWlsZAotLS0tLS0KLQotLSBJc3N1ZSAjMTU2NjE6IHB5dGhvbi5vcmcgT1MgWCBpbnN0YWxsZXJzIGFyZSBub3cgZGlzdHJpYnV0ZWQgYXMgc2lnbmVkCi0gIGluc3RhbGxlciBwYWNrYWdlcyBjb21wYXRpYmxlIHdpdGggdGhlIEdhdGVrZWVwZXIgc2VjdXJpdHkgZmVhdHVyZS4KLQotLSBJc3N1ZSAjMjE5NTg6IERlZmluZSBIQVZFX1JPVU5EIHdoZW4gYnVpbGRpbmcgd2l0aCBWaXN1YWwgU3R1ZGlvIDIwMTMgYW5kCi0gIGFib3ZlLiAgUGF0Y2ggYnkgWmFjaGFyeSBUdXJuZXIuCi0KLS0gSXNzdWUgIzE1NzU5OiAibWFrZSBzdXNwaWNpb3VzIiwgIm1ha2UgbGlua2NoZWNrIiBhbmQgIm1ha2UgZG9jdGVzdCIgaW4gRG9jLwotICBub3cgZGlzcGxheSBzcGVjaWFsIG1lc3NhZ2Ugd2hlbiBhbmQgb25seSB3aGVuIHRoZXJlIGFyZSBmYWlsdXJlcy4KLQotLSBJc3N1ZSAjMTcwOTU6IEZpeCBNb2R1bGVzL1NldHVwICpzaGFyZWQqIHN1cHBvcnQuCi0KLS0gSXNzdWUgIzIxODExOiBBbnRpY2lwYXRlZCBmaXhlcyB0byBzdXBwb3J0IE9TIFggdmVyc2lvbnMgPiAxMC45LgotCi0tIElzc3VlICMyMTE2NjogUHJldmVudCBwb3NzaWJsZSBzZWdmYXVsdHMgYW5kIG90aGVyIHJhbmRvbSBmYWlsdXJlcyBvZgotICBweXRob24gLS1nZW5lcmF0ZS1wb3NpeC12YXJzIGluIHB5YnVpbGRkaXIudHh0IGJ1aWxkIHRhcmdldC4KLQotSURMRQotLS0tLQotCi0tIElzc3VlICMxNzM5MDogQWRqdXN0IEVkaXRvciB3aW5kb3cgdGl0bGU7IHJlbW92ZSAnUHl0aG9uJywKLSAgbW92ZSB2ZXJzaW9uIHRvIGVuZC4KLQotLSBJc3N1ZSAjMTQxMDU6IElkbGUgZGVidWdnZXIgYnJlYWtwb2ludHMgbm8gbG9uZ2VyIGRpc2FwcGVhcgotICB3aGVuIGluc2V0aW5nIG9yIGRlbGV0aW5nIGxpbmVzLgotCi0tIElzc3VlICMxNzE3MjogVHVydGxlZGVtbyBjYW4gbm93IGJlIHJ1biBmcm9tIElkbGUuCi0gIEN1cnJlbnRseSwgdGhlIGVudHJ5IGlzIG9uIHRoZSBIZWxwIG1lbnUsIGJ1dCBpdCBtYXkgbW92ZSB0byBSdW4uCi0gIFBhdGNoIGJ5IFJhbWNoYW5kcmEgQXB0IGFuZCBMaXRhIENoby4KLQotLSBJc3N1ZSAjMjE3NjU6IEFkZCBzdXBwb3J0IGZvciBub24tYXNjaWkgaWRlbnRpZmllcnMgdG8gSHlwZXJQYXJzZXIuCi0KLS0gSXNzdWUgIzIxOTQwOiBBZGQgdW5pdHRlc3QgZm9yIFdpZGdldFJlZGlyZWN0b3IuIEluaXRpYWwgcGF0Y2ggYnkgU2FpbWFkaGF2Ci0gIEhlYmxpa2FyLgotCi0tIElzc3VlICMxODU5MjogQWRkIHVuaXR0ZXN0IGZvciBTZWFyY2hEaWFsb2dCYXNlLiBQYXRjaCBieSBQaGlsIFdlYnN0ZXIuCi0KLS0gSXNzdWUgIzIxNjk0OiBBZGQgdW5pdHRlc3QgZm9yIFBhcmVuTWF0Y2guIFBhdGNoIGJ5IFNhaW1hZGhhdiBIZWJsaWthci4KLQotLSBJc3N1ZSAjMjE2ODY6IGFkZCB1bml0dGVzdCBmb3IgSHlwZXJQYXJzZXIuIE9yaWdpbmFsIHBhdGNoIGJ5IFNhaW1hZGhhdgotICBIZWJsaWthci4KLQotLSBJc3N1ZSAjMTIzODc6IEFkZCBtaXNzaW5nIHVwcGVyKGxvd2VyKWNhc2UgdmVyc2lvbnMgb2YgZGVmYXVsdCBXaW5kb3dzIGtleQotICBiaW5kaW5ncyBmb3IgSWRsZSBzbyBDYXBzIExvY2sgZG9lcyBub3QgZGlzYWJsZSB0aGVtLiBQYXRjaCBieSBSb2dlciBTZXJ3eS4KLQotLSBJc3N1ZSAjMjE2OTU6IENsb3NpbmcgYSBGaW5kLWluLWZpbGVzIG91dHB1dCB3aW5kb3cgd2hpbGUgdGhlIHNlYXJjaCBpcwotICBzdGlsbCBpbiBwcm9ncmVzcyBubyBsb25nZXIgY2xvc2VzIElkbGUuCi0KLS0gSXNzdWUgIzE4OTEwOiBBZGQgdW5pdHRlc3QgZm9yIHRleHRWaWV3LiBQYXRjaCBieSBQaGlsIFdlYnN0ZXIuCi0KLS0gSXNzdWUgIzE4MjkyOiBBZGQgdW5pdHRlc3QgZm9yIEF1dG9FeHBhbmQuIFBhdGNoIGJ5IFNhaWhhZGhhdiBIZWJsaWthci4KLQotLSBJc3N1ZSAjMTg0MDk6IEFkZCB1bml0dGVzdCBmb3IgQXV0b0NvbXBsZXRlLiBQYXRjaCBieSBQaGlsIFdlYnN0ZXIuCi0KLVRlc3RzCi0tLS0tLQorLSBJc3N1ZSAjMjE1MjU6IE1vc3QgVGtpbnRlciBtZXRob2RzIHdoaWNoIGFjY2VwdGVkIHR1cGxlcyBub3cgYWNjZXB0IGxpc3RzIHRvby4KIAogLSBJc3N1ZSAjMjIxNjY6ICB3aXRoIHRoZSBhc3Npc3RhbmNlIG9mIGEgbmV3IGludGVybmFsIF9jb2RlY3MuX2ZvcmdldF9jb2RlYwogICBoZWxwaW5nIGZ1bmN0aW9uLCB0ZXN0X2NvZGVjcyBub3cgY2xlYXJzIHRoZSBlbmNvZGluZyBjYWNoZXMgdG8gYXZvaWQgdGhlCkBAIC04MjUsMTgxICsxMDk2LDkzIEBACiAtIElzc3VlICMyMjIzNjogVGtpbnRlciB0ZXN0cyBub3cgZG9uJ3QgcmV1c2UgZGVmYXVsdCByb290IHdpbmRvdy4gIE5ldyByb290CiAgIHdpbmRvdyBpcyBjcmVhdGVkIGZvciBldmVyeSB0ZXN0IGNsYXNzLgogCi0tIElzc3VlICMyMDc0NjogRml4IHRlc3RfcGRiIHRvIHJ1biBpbiByZWZsZWFrIG1vZGUgKC1SKS4gIFBhdGNoIGJ5IFhhdmllcgotICBkZSBHYXllLgotCi0tIElzc3VlICMyMjA2MDogdGVzdF9jdHlwZXMgaGFzIGJlZW4gc29tZXdoYXQgY2xlYW5lZCB1cCBhbmQgc2ltcGxpZmllZDsgaXQKLSAgbm93IHVzZXMgdW5pdHRlc3QgdGVzdCBkaXNjb3ZlcnkgdG8gZmluZCBpdHMgdGVzdHMuCi0KLS0gSXNzdWUgIzIyMTA0OiByZWdydGVzdC5weSBubyBsb25nZXIgaG9sZHMgYSByZWZlcmVuY2UgdG8gdGhlIHN1aXRlIG9mIHRlc3RzCi0gIGxvYWRlZCBmcm9tIHRlc3QgbW9kdWxlcyB0aGF0IGRvbid0IGRlZmluZSB0ZXN0X21haW4oKS4KLQotLSBJc3N1ZSAjMjIwMDI6IEFkZGVkIGBgbG9hZF9wYWNrYWdlX3Rlc3RzYGAgZnVuY3Rpb24gdG8gdGVzdC5zdXBwb3J0IGFuZCB1c2VkCi0gIGl0IHRvIGltcGxlbWVudC9hdWdtZW50IHRlc3QgZGlzY292ZXJ5IGluIHRlc3RfYXN5bmNpbywgdGVzdF9lbWFpbCwKLSAgdGVzdF9pbXBvcnRsaWIsIHRlc3RfanNvbiwgYW5kIHRlc3RfdG9vbHMuCi0KLS0gSXNzdWUgIzIxOTc2OiBGaXggdGVzdF9zc2wgdG8gYWNjZXB0IExpYnJlU1NMIHZlcnNpb24gc3RyaW5ncy4gIFRoYW5rcwotICB0byBXaWxsaWFtIE9yci4KLQotLSBJc3N1ZSAjMjE5MTg6IENvbnZlcnRlZCB0ZXN0X3Rvb2xzIGZyb20gYSBtb2R1bGUgdG8gYSBwYWNrYWdlIGNvbnRhaW5pbmcKLSAgc2VwYXJhdGUgdGVzdCBmaWxlcyBmb3IgZWFjaCB0ZXN0ZWQgc2NyaXB0LgotCi0tIElzc3VlICMyMDE1NTogQ2hhbmdlZCBIVFRQIG1ldGhvZCBuYW1lcyBpbiBmYWlsaW5nIHRlc3RzIGluIHRlc3RfaHR0cHNlcnZlcnMKLSAgc28gdGhhdCBwYWNrZXQgZmlsdGVyaW5nIHNvZnR3YXJlIChzcGVjaWZpY2FsbHkgV2luZG93cyBCYXNlIEZpbHRlcmluZyBFbmdpbmUpCi0gIGRvZXMgbm90IGludGVyZmVyZSB3aXRoIHRoZSB0cmFuc2FjdGlvbiBzZW1hbnRpY3MgZXhwZWN0ZWQgYnkgdGhlIHRlc3RzLgotCi0tIElzc3VlICMxOTQ5MzogUmVmYWN0b3JlZCB0aGUgY3R5cGVzIHRlc3QgcGFja2FnZSB0byBza2lwIHRlc3RzIGV4cGxpY2l0bHkKLSAgcmF0aGVyIHRoYW4gc2lsZW50bHkuCi0KLS0gSXNzdWUgIzE4NDkyOiBBbGwgcmVzb3VyY2VzIGFyZSBub3cgYWxsb3dlZCB3aGVuIHRlc3RzIGFyZSBub3QgcnVuIGJ5Ci0gIHJlZ3J0ZXN0LnB5LgotCi0tIElzc3VlICMyMTYzNDogRml4IHB5c3RvbmUgbWljcm8tYmVuY2htYXJrOiB1c2UgZmxvb3IgZGl2aXNpb24gaW5zdGVhZCBvZiB0cnVlCi0gIGRpdmlzaW9uIHRvIGJlbmNobWFyayBpbnRlZ2VycyBpbnN0ZWFkIG9mIGZsb2F0aW5nIHBvaW50IG51bWJlcnMuIFNldCBweXN0b25lCi0gIHZlcnNpb24gdG8gMS4yLiBQYXRjaCB3cml0dGVuIGJ5IExlbm5hcnQgUmVnZWJyby4KLQotLSBJc3N1ZSAjMjE2MDU6IEFkZGVkIHRlc3RzIGZvciBUa2ludGVyIGltYWdlcy4KLQotLSBJc3N1ZSAjMjE0OTM6IEFkZGVkIHRlc3QgZm9yIG50cGF0aC5leHBhbmR1c2VyKCkuICBPcmlnaW5hbCBwYXRjaCBieQotICBDbGF1ZGl1IFBvcGEuCi0KLS0gSXNzdWUgIzE5OTI1OiBBZGRlZCB0ZXN0cyBmb3IgdGhlIHNwd2QgbW9kdWxlLiBPcmlnaW5hbCBwYXRjaCBieSBWYWpyYXNreSBLb2suCi0KLS0gSXNzdWUgIzIxNTIyOiBBZGRlZCBUa2ludGVyIHRlc3RzIGZvciBMaXN0Ym94Lml0ZW1jb25maWd1cmUoKSwKLSAgUGFuZWRXaW5kb3cucGFuZWNvbmZpZ3VyZSgpLCBhbmQgTWVudS5lbnRyeWNvbmZpZ3VyZSgpLgotCi1Eb2N1bWVudGF0aW9uCi0tLS0tLS0tLS0tLS0tCi0KLS0gSXNzdWUgIzIxNzc3OiBUaGUgYmluYXJ5IHNlcXVlbmNlIG1ldGhvZHMgb24gYnl0ZXMgYW5kIGJ5dGVhcnJheSBhcmUgbm93Ci0gIGRvY3VtZW50ZWQgZXhwbGljaXRseSwgcmF0aGVyIHRoYW4gYXNzdW1pbmcgdXNlcnMgd2lsbCBiZSBhYmxlIHRvIGRlcml2ZQotICB0aGUgZXhwZWN0ZWQgYmVoYXZpb3VyIGZyb20gdGhlIGJlaGF2aW91ciBvZiB0aGUgY29ycmVzcG9uZGluZyBzdHIgbWV0aG9kcy4KLQotV2luZG93cwotLS0tLS0tLQotCi0tIElzc3VlICMyMTY3MSwgIzIyMTYwLCBDVkUtMjAxNC0wMjI0OiBUaGUgYnVuZGxlZCB2ZXJzaW9uIG9mIE9wZW5TU0wgaGFzIGJlZW4KLSAgdXBkYXRlZCB0byAxLjAuMWkuCi0KLS0gSXNzdWUgIzEwNzQ3OiBVc2UgdmVyc2lvbmVkIGxhYmVscyBpbiB0aGUgV2luZG93cyBzdGFydCBtZW51LgotICBQYXRjaCBieSBPbGl2ZSBLaWxidXJuLgotCi1Ub29scy9EZW1vcwotLS0tLS0tLS0tLS0KLQotLSBJc3N1ZSAjMjIyMDE6IENvbW1hbmQtbGluZSBpbnRlcmZhY2Ugb2YgdGhlIHppcGZpbGUgbW9kdWxlIG5vdyBjb3JyZWN0bHkKLSAgZXh0cmFjdHMgWklQIGZpbGVzIHdpdGggZGlyZWN0b3J5IGVudHJpZXMuICBQYXRjaCBieSBSeWFuIFdpbHNvbi4KLQotLSBJc3N1ZSAjMjE5MDY6IE1ha2UgVG9vbHMvc2NyaXB0cy9tZDVzdW0ucHkgd29yayBpbiBQeXRob24gMy4KLSAgUGF0Y2ggYnkgWmFjaGFyeSBXYXJlLgotCi0tIElzc3VlICMyMTYyOTogRml4IEFyZ3VtZW50IENsaW5pYydzICItLWNvbnZlcnRlcnMiIGZlYXR1cmUuCi0KLQotV2hhdCdzIE5ldyBpbiBQeXRob24gMy40LjE/Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLQotUmVsZWFzZSBkYXRlOiAyMDE0LTA1LTE4Ci0KLUNvcmUgYW5kIEJ1aWx0aW5zCi0tLS0tLS0tLS0tLS0tLS0tLQotCi0tIElzc3VlICMyMTQxODogRml4IGEgY3Jhc2ggaW4gdGhlIGJ1aWx0aW4gZnVuY3Rpb24gc3VwZXIoKSB3aGVuIGNhbGxlZCB3aXRob3V0Ci0gIGFyZ3VtZW50IGFuZCB3aXRob3V0IGN1cnJlbnQgZnJhbWUgKGV4OiBlbWJlZGRlZCBQeXRob24pLgotCi0tIElzc3VlICMyMTQyNTogRml4IGZsdXNoaW5nIG9mIHN0YW5kYXJkIHN0cmVhbXMgaW4gdGhlIGludGVyYWN0aXZlCi0gIGludGVycHJldGVyLgotCi0tIElzc3VlICMyMTQzNTogSW4gcmFyZSBjYXNlcywgd2hlbiBydW5uaW5nIGZpbmFsaXplcnMgb24gb2JqZWN0cyBpbiBjeWNsaWMKLSAgdHJhc2ggYSBiYWQgcG9pbnRlciBkZXJlZmVyZW5jZSBjb3VsZCBvY2N1ciBkdWUgdG8gYSBzdWJ0bGUgZmxhdyBpbgotICBpbnRlcm5hbCBpdGVyYXRpb24gbG9naWMuCi0KLUxpYnJhcnkKLS0tLS0tLS0KLQogLSBJc3N1ZSAjMTA3NDQ6IEZpeCBQRVAgMzExOCBmb3JtYXQgc3RyaW5ncyBvbiBjdHlwZXMgb2JqZWN0cyB3aXRoIGEgbm9udHJpdmlhbAogICBzaGFwZS4KIAorLSBJc3N1ZSAjMjA4MjY6IE9wdGltaXplIGlwYWRkcmVzcy5jb2xsYXBzZV9hZGRyZXNzZXMoKS4KKworLSBJc3N1ZSAjMjE0ODc6IE9wdGltaXplIGlwYWRkcmVzcy5zdW1tYXJpemVfYWRkcmVzc19yYW5nZSgpIGFuZAorICBpcGFkZHJlc3Mue0lQdjROZXR3b3JrLElQdjZOZXR3b3JrfS5zdWJuZXRzKCkuCisKKy0gSXNzdWUgIzIxNDg2OiBPcHRpbWl6ZSBwYXJzaW5nIG9mIG5ldG1hc2tzIGluIGlwYWRkcmVzcy5JUHY0TmV0d29yayBhbmQKKyAgaXBhZGRyZXNzLklQdjZOZXR3b3JrLgorCistIElzc3VlICMxMzkxNjogRGlzYWxsb3dlZCB0aGUgc3Vycm9nYXRlcGFzcyBlcnJvciBoYW5kbGVyIGZvciBub24gVVRGLSoKKyAgZW5jb2RpbmdzLgorCiAtIElzc3VlICMyMDk5ODogRml4ZWQgcmUuZnVsbG1hdGNoKCkgb2YgcmVwZWF0ZWQgc2luZ2xlIGNoYXJhY3RlciBwYXR0ZXJuCiAgIHdpdGggaWdub3JlIGNhc2UuICBPcmlnaW5hbCBwYXRjaCBieSBNYXR0aGV3IEJhcm5ldHQuCiAKIC0gSXNzdWUgIzIxMDc1OiBmaWxlaW5wdXQuRmlsZUlucHV0IG5vdyByZWFkcyBieXRlcyBmcm9tIHN0YW5kYXJkIHN0cmVhbSBpZgogICBiaW5hcnkgbW9kZSBpcyBzcGVjaWZpZWQuICBQYXRjaCBieSBTYW0gS2ltYnJlbC4KIAotLSBJc3N1ZSAjMjEzOTY6IEZpeCBUZXh0SU9XcmFwcGVyKC4uLiwgd3JpdGVfdGhyb3VnaD1UcnVlKSB0byBub3QgZm9yY2UgYQotICBmbHVzaCgpIG9uIHRoZSB1bmRlcmx5aW5nIGJpbmFyeSBzdHJlYW0uICBQYXRjaCBieSBha2lyYS4KKy0gSXNzdWUgIzE5Nzc1OiBBZGQgYSBzYW1lZmlsZSgpIG1ldGhvZCB0byBwYXRobGliIFBhdGggb2JqZWN0cy4gIEluaXRpYWwKKyAgcGF0Y2ggYnkgVmFqcmFza3kgS29rLgogCi0tIElzc3VlICMyMTQ3MDogRG8gYSBiZXR0ZXIgam9iIHNlZWRpbmcgdGhlIHJhbmRvbSBudW1iZXIgZ2VuZXJhdG9yIGJ5Ci0gIHVzaW5nIGVub3VnaCBieXRlcyB0byBzcGFuIHRoZSBmdWxsIHN0YXRlIHNwYWNlIG9mIHRoZSBNZXJzZW5uZSBUd2lzdGVyLgorLSBJc3N1ZSAjMjEyMjY6IFNldCB1cCBtb2R1bGVzIHByb3Blcmx5IGluIFB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlT2JqZWN0CisgIChhbmQgZnJpZW5kcykuCiAKIC0gSXNzdWUgIzIxMzk4OiBGaXggYW4gdW5pY29kZSBlcnJvciBpbiB0aGUgcHlkb2MgcGFnZXIgd2hlbiB0aGUgZG9jdW1lbnRhdGlvbgogICBjb250YWlucyBjaGFyYWN0ZXJzIG5vdCBlbmNvZGFibGUgdG8gdGhlIHN0ZG91dCBlbmNvZGluZy4KIAotVGVzdHMKLS0tLS0tCistIElzc3VlICMxNjUzMTogaXBhZGRyZXNzLklQdjROZXR3b3JrIGFuZCBpcGFkZHJlc3MuSVB2Nk5ldHdvcmsgbm93IGFjY2VwdAorICBhbiAoYWRkcmVzcywgbmV0bWFzaykgdHVwbGUgYXJndW1lbnQsIHNvIGFzIHRvIGVhc2lseSBjb25zdHJ1Y3QgbmV0d29yaworICBvYmplY3RzIGZyb20gZXhpc3RpbmcgYWRkcmVzc2VzLgogCi0tIElzc3VlICMxNzc1NjogRml4IHRlc3RfY29kZSB0ZXN0IHdoZW4gcnVuIGZyb20gdGhlIGluc3RhbGxlZCBsb2NhdGlvbi4KKy0gSXNzdWUgIzIxMTU2OiBpbXBvcnRsaWIuYWJjLkluc3BlY3RMb2FkZXIuc291cmNlX3RvX2NvZGUoKSBpcyBub3cgYQorICBzdGF0aWNtZXRob2QuCiAKLS0gSXNzdWUgIzE3NzUyOiBGaXggZGlzdHV0aWxzIHRlc3RzIHdoZW4gcnVuIGZyb20gdGhlIGluc3RhbGxlZCBsb2NhdGlvbi4KKy0gSXNzdWUgIzIxNDI0OiBTaW1wbGlmaWVkIGFuZCBvcHRpbWl6ZWQgaGVhcXAubmxhcmdlc3QoKSBhbmQgbm1zbWFsbGVzdCgpCisgIHRvIG1ha2UgZmV3ZXIgdHVwbGUgY29tcGFyaXNvbnMuCiAKLUlETEUKLS0tLS0KKy0gSXNzdWUgIzIxMzk2OiBGaXggVGV4dElPV3JhcHBlciguLi4sIHdyaXRlX3Rocm91Z2g9VHJ1ZSkgdG8gbm90IGZvcmNlIGEKKyAgZmx1c2goKSBvbiB0aGUgdW5kZXJseWluZyBiaW5hcnkgc3RyZWFtLiAgUGF0Y2ggYnkgYWtpcmEuCiAKLS0gSXNzdWUgIzE4MTA0OiBBZGQgaWRsZWxpYi9pZGxlX3Rlc3QvaHRlc3QucHkgd2l0aCBhIGZldyBzYW1wbGUgdGVzdHMgdG8gYmVnaW4KLSAgY29uc29saWRhdGluZyBhbmQgaW1wcm92aW5nIGh1bWFuLXZhbGlkYXRlZCB0ZXN0cyBvZiBJZGxlLiBDaGFuZ2Ugb3RoZXIgZmlsZXMKLSAgYXMgbmVlZGVkIHRvIHdvcmsgd2l0aCBodGVzdC4gIFJ1bm5pbmcgdGhlIG1vZHVsZSBhcyBfX21haW5fXyBydW5zIGFsbCB0ZXN0cy4KLQotCi1XaGF0J3MgTmV3IGluIFB5dGhvbiAzLjQuMXJjMT8KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotCi1SZWxlYXNlIGRhdGU6IDIwMTQtMDUtMDUKLQotQ29yZSBhbmQgQnVpbHRpbnMKLS0tLS0tLS0tLS0tLS0tLS0tCi0KLS0gSXNzdWUgIzIxMjc0OiBEZWZpbmUgUEFUSF9NQVggZm9yIEdOVS9IdXJkIGluIFB5dGhvbi9weXRob25ydW4uYy4KLQotLSBJc3N1ZSAjMjEyMDk6IEZpeCBzZW5kaW5nIHR1cGxlcyB0byBjdXN0b20gZ2VuZXJhdG9yIG9iamVjdHMgd2l0aCB0aGUgeWllbGQKLSAgZnJvbSBzeW50YXguCi0KLS0gSXNzdWUgIzIxMTM0OiBGaXggc2VnZmF1bHQgd2hlbiBzdHIgaXMgY2FsbGVkIG9uIGFuIHVuaW5pdGlhbGl6ZWQKLSAgVW5pY29kZUVuY29kZUVycm9yLCBVbmljb2RlRGVjb2RlRXJyb3IsIG9yIFVuaWNvZGVUcmFuc2xhdGVFcnJvciBvYmplY3QuCi0KLS0gSXNzdWUgIzE5NTM3OiBGaXggUHlVbmljb2RlX0RBVEEoKSBhbGlnbm1lbnQgdW5kZXIgbTY4ay4gIFBhdGNoIGJ5Ci0gIEFuZHJlYXMgU2Nod2FiLgotCi0tIElzc3VlICMyMDkyOTogQWRkIGEgdHlwZSBjYXN0IHRvIGF2b2lkIHNoaWZ0aW5nIGEgbmVnYXRpdmUgbnVtYmVyLgotCi0tIElzc3VlICMyMDczMTogUHJvcGVybHkgcG9zaXRpb24gaW4gc291cmNlIGNvZGUgZmlsZXMgZXZlbiBpZiB0aGV5Ci0gIGFyZSBvcGVuZWQgaW4gdGV4dCBtb2RlLiBQYXRjaCBieSBTZXJoaXkgU3RvcmNoYWthLgotCi0tIElzc3VlICMyMDYzNzogS2V5LXNoYXJpbmcgbm93IGFsc28gd29ya3MgZm9yIGluc3RhbmNlIGRpY3Rpb25hcmllcyBvZgotICBzdWJjbGFzc2VzLiAgUGF0Y2ggYnkgUGV0ZXIgSW5nZWJyZXRzb24uCi0KLS0gSXNzdWUgIzEyNTQ2OiBBbGxvdyBceDAwIHRvIGJlIHVzZWQgYXMgYSBmaWxsIGNoYXJhY3RlciB3aGVuIHVzaW5nIHN0ciwgaW50LAotICBmbG9hdCwgYW5kIGNvbXBsZXggX19mb3JtYXRfXyBtZXRob2RzLgotCi0tIElzc3VlICMxMzU5ODogTW9kaWZ5IHN0cmluZy5Gb3JtYXR0ZXIgdG8gc3VwcG9ydCBhdXRvLW51bWJlcmluZyBvZgotICByZXBsYWNlbWVudCBmaWVsZHMuIEl0IG5vdyBtYXRjaGVzIHRoZSBiZWhhdmlvciBvZiBzdHIuZm9ybWF0KCkgaW4KLSAgdGhpcyByZWdhcmQuIFBhdGNoZXMgYnkgUGhpbCBFbHNvbiBhbmQgUmFtY2hhbmRyYSBBcHRlLgotCi1MaWJyYXJ5Ci0tLS0tLS0tCistIElzc3VlICMxODMxNDogVW5saW5rIG5vdyByZW1vdmVzIGp1bmN0aW9ucyBvbiBXaW5kb3dzLiBQYXRjaCBieSBLaW0gR3LDpHNtYW4KIAogLSBJc3N1ZSAjMjEwODg6IEJ1Z2ZpeCBmb3IgY3Vyc2VzLndpbmRvdy5hZGRjaCgpIHJlZ3Jlc3Npb24gaW4gMy40LjAuCiAgIEluIHBvcnRpbmcgdG8gQXJndW1lbnQgQ2xpbmljLCB0aGUgZmlyc3QgdHdvIGFyZ3VtZW50cyB3ZXJlIHJldmVyc2VkLgogCistIElzc3VlICMyMTQwNzogX2RlY2ltYWw6IFRoZSBtb2R1bGUgbm93IHN1cHBvcnRzIGZ1bmN0aW9uIHNpZ25hdHVyZXMuCisKKy0gSXNzdWUgIzEwNjUwOiBSZW1vdmUgdGhlIG5vbi1zdGFuZGFyZCAnd2F0Y2hleHAnIHBhcmFtZXRlciBmcm9tIHRoZQorICBEZWNpbWFsLnF1YW50aXplKCkgbWV0aG9kIGluIHRoZSBQeXRob24gdmVyc2lvbi4gIEl0IGhhZCBuZXZlciBiZWVuCisgIHByZXNlbnQgaW4gdGhlIEMgdmVyc2lvbi4KKwogLSBJc3N1ZSAjMjE0Njk6ICBSZWR1Y2VkIHRoZSByaXNrIG9mIGZhbHNlIHBvc2l0aXZlcyBpbiByb2JvdHBhcnNlciBieQogICBjaGVja2luZyB0byBtYWtlIHN1cmUgdGhhdCByb2JvdHMudHh0IGhhcyBiZWVuIHJlYWQgb3IgZG9lcyBub3QgZXhpc3QKICAgcHJpb3IgdG8gcmV0dXJuaW5nIFRydWUgaW4gY2FuX2ZldGNoKCkuCiAKKy0gSXNzdWUgIzE5NDE0OiBIYXZlIHRoZSBPcmRlcmVkRGljdCBtYXJrIGRlbGV0ZWQgbGlua3MgYXMgdW51c2FibGUuCisgIFRoaXMgZ2l2ZXMgYW4gZWFybHkgZmFpbHVyZSBpZiB0aGUgbGluayBpcyBkZWxldGVkIGR1cmluZyBpdGVyYXRpb24uCisKKy0gSXNzdWUgIzIxNDIxOiBBZGQgX19zbG90c19fIHRvIHRoZSBNYXBwaW5nVmlld3MgQUJDLgorICBQYXRjaCBieSBKb3NoIFJvc2VuYmVyZy4KKworLSBJc3N1ZSAjMjExMDE6IEVsaW1pbmF0ZSBkb3VibGUgaGFzaGluZyBpbiB0aGUgQyBzcGVlZC11cCBjb2RlIGZvcgorICBjb2xsZWN0aW9ucy5Db3VudGVyKCkuCisKIC0gSXNzdWUgIzIxMzIxOiBpdGVydG9vbHMuaXNsaWNlKCkgbm93IHJlbGVhc2VzIHRoZSByZWZlcmVuY2UgdG8gdGhlIHNvdXJjZQogICBpdGVyYXRvciB3aGVuIHRoZSBzbGljZSBpcyBleGhhdXN0ZWQuICBQYXRjaCBieSBBbnRvbiBBZmFuYXN5ZXYuCiAKKy0gSXNzdWUgIzIxMDU3OiBUZXh0SU9XcmFwcGVyIG5vdyBhbGxvd3MgdGhlIHVuZGVybHlpbmcgYmluYXJ5IHN0cmVhbSdzCisgIHJlYWQoKSBvciByZWFkMSgpIG1ldGhvZCB0byByZXR1cm4gYW4gYXJiaXRyYXJ5IGJ5dGVzLWxpa2Ugb2JqZWN0CisgIChzdWNoIGFzIGEgbWVtb3J5dmlldykuICBQYXRjaCBieSBOaWtvbGF1cyBSYXRoLgorCistIElzc3VlICMyMDk1MTogU1NMU29ja2V0LnNlbmQoKSBub3cgcmFpc2VzIGVpdGhlciBTU0xXYW50UmVhZEVycm9yIG9yCisgIFNTTFdhbnRXcml0ZUVycm9yIG9uIGEgbm9uLWJsb2NraW5nIHNvY2tldCBpZiB0aGUgb3BlcmF0aW9uIHdvdWxkIGJsb2NrLgorICBQcmV2aW91c2x5LCBpdCB3b3VsZCByZXR1cm4gMC4gIFBhdGNoIGJ5IE5pa29sYXVzIFJhdGguCisKKy0gSXNzdWUgIzEzMjQ4OiByZW1vdmVkIHByZXZpb3VzbHkgZGVwcmVjYXRlZCBhc3luY29yZS5kaXNwYXRjaGVyIF9fZ2V0YXR0cl9fCisgIGNoZWFwIGluaGVyaXRhbmNlIGhhY2suCisKIC0gSXNzdWUgIzk4MTU6IGFzc2VydFJhaXNlcyBub3cgdHJpZXMgdG8gY2xlYXIgcmVmZXJlbmNlcyB0byBsb2NhbCB2YXJpYWJsZXMKICAgaW4gdGhlIGV4Y2VwdGlvbidzIHRyYWNlYmFjay4KIAorLSBJc3N1ZSAjMTk5NDA6IHNzbC5jZXJ0X3RpbWVfdG9fc2Vjb25kcygpIG5vdyBpbnRlcnByZXRzIHRoZSBnaXZlbiB0aW1lCisgIHN0cmluZyBpbiB0aGUgVVRDIHRpbWV6b25lIChhcyBzcGVjaWZpZWQgaW4gUkZDIDUyODApLCBub3QgdGhlIGxvY2FsCisgIHRpbWV6b25lLgorCiAtIElzc3VlICMxMzIwNDogQ2FsbGluZyBzeXMuZmxhZ3MuX19uZXdfXyB3b3VsZCBjcmFzaCB0aGUgaW50ZXJwcmV0ZXIsCiAgIG5vdyBpdCByYWlzZXMgYSBUeXBlRXJyb3IuCiAKQEAgLTEwMjMsOSArMTIwNiwyNSBAQAogLSBJc3N1ZSAjMTIyMjA6IG1pbmRvbSBub3cgcmFpc2VzIGEgY3VzdG9tIFZhbHVlRXJyb3IgaW5kaWNhdGluZyBpdCBkb2Vzbid0CiAgIHN1cHBvcnQgc3BhY2VzIGluIFVSSXMgaW5zdGVhZCBvZiBsZXR0aW5nIGEgJ3NwbGl0JyBWYWx1ZUVycm9yIGJ1YmJsZSB1cC4KIAorLSBJc3N1ZSAjMjEwNjg6IFRoZSBzc2wuUFJPVE9DT0wqIGNvbnN0YW50cyBhcmUgbm93IGVudW0gbWVtYmVycy4KKworLSBJc3N1ZSAjMjEyNzY6IHBvc2l4bW9kdWxlOiBEb24ndCBkZWZpbmUgVVNFX1hBVFRSUyBvbiBLRnJlZUJTRCBhbmQgdGhlIEh1cmQuCisKKy0gSXNzdWUgIzIxMjYyOiBOZXcgbWV0aG9kIGFzc2VydF9ub3RfY2FsbGVkIGZvciBNb2NrLgorICBJdCByYWlzZXMgQXNzZXJ0aW9uRXJyb3IgaWYgdGhlIG1vY2sgaGFzIGJlZW4gY2FsbGVkLgorCistIElzc3VlICMyMTIzODogTmV3IGtleXdvcmQgYXJndW1lbnQgYHVuc2FmZWAgdG8gTW9jay4gSXQgcmFpc2VzCisgIGBBdHRyaWJ1dGVFcnJvcmAgaW5jYXNlIG9mIGFuIGF0dHJpYnV0ZSBzdGFydHN3aXRoIGFzc2VydCBvciBhc3NyZXQuCisKKy0gSXNzdWUgIzIwODk2OiBzc2wuZ2V0X3NlcnZlcl9jZXJ0aWZpY2F0ZSgpIG5vdyB1c2VzIFBST1RPQ09MX1NTTHYyMywgbm90CisgIFBST1RPQ09MX1NTTHYzLCBmb3IgbWF4aW11bSBjb21wYXRpYmlsaXR5LgorCiAtIElzc3VlICMyMTIzOTogcGF0Y2guc3RvcGFsbCgpIGRpZG4ndCB3b3JrIGRldGVybWluaXN0aWNhbGx5IHdoZW4gdGhlIHNhbWUKICAgbmFtZSB3YXMgcGF0Y2hlZCBtb3JlIHRoYW4gb25jZS4KIAorLSBJc3N1ZSAjMjEyMDM6IFVwZGF0ZWQgZmlsZUNvbmZpZyBhbmQgZGljdENvbmZpZyB0byByZW1vdmUgaW5jb25zaXN0ZW5jaWVzLgorICBUaGFua3MgdG8gSnVyZSBLb3JlbiBmb3IgdGhlIHBhdGNoLgorCiAtIElzc3VlICMyMTIyMjogUGFzc2luZyBuYW1lIGtleXdvcmQgYXJndW1lbnQgdG8gbW9jay5jcmVhdGVfYXV0b3NwZWMgbm93CiAgIHdvcmtzLgogCkBAIC0xMDU1LDE3ICsxMjU0LDMxIEBACiAtIElzc3VlICMyMTE3MTogRml4ZWQgdW5kb2N1bWVudGVkIGZpbHRlciBBUEkgb2YgdGhlIHJvdDEzIGNvZGVjLgogICBQYXRjaCBieSBCZXJrZXIgUGVrc2FnLgogCistIElzc3VlICMyMDUzOTogSW1wcm92ZWQgbWF0aC5mYWN0b3JpYWwgZXJyb3IgbWVzc2FnZSBmb3IgbGFyZ2UgcG9zaXRpdmUgaW5wdXRzCisgIGFuZCBjaGFuZ2VkIGV4Y2VwdGlvbiB0eXBlIChPdmVyZmxvd0Vycm9yIC0+IFZhbHVlRXJyb3IpIGZvciBsYXJnZSBuZWdhdGl2ZQorICBpbnB1dHMuCisKIC0gSXNzdWUgIzIxMTcyOiBpc2luc3RhbmNlIGNoZWNrIHJlbGF4ZWQgZnJvbSBkaWN0IHRvIGNvbGxlY3Rpb25zLk1hcHBpbmcuCiAKIC0gSXNzdWUgIzIxMTU1OiBhc3luY2lvLkV2ZW50TG9vcC5jcmVhdGVfdW5peF9zZXJ2ZXIoKSBub3cgcmFpc2VzIGEgVmFsdWVFcnJvcgogICBpZiBwYXRoIGFuZCBzb2NrIGFyZSBzcGVjaWZpZWQgYXQgdGhlIHNhbWUgdGltZS4KIAorLSBJc3N1ZSAjMjExMzY6IEF2b2lkIHVubmVjZXNzYXJ5IG5vcm1hbGl6YXRpb24gb2YgRnJhY3Rpb25zIHJlc3VsdGluZyBmcm9tCisgIHBvd2VyIGFuZCBvdGhlciBvcGVyYXRpb25zLiAgUGF0Y2ggYnkgUmF5bW9uZCBIZXR0aW5nZXIuCisKKy0gSXNzdWUgIzE3NjIxOiBJbnRyb2R1Y2UgaW1wb3J0bGliLnV0aWwuTGF6eUxvYWRlci4KKworLSBJc3N1ZSAjMjEwNzY6IHNpZ25hbCBtb2R1bGUgY29uc3RhbnRzIHdlcmUgdHVybmVkIGludG8gZW51bXMuCisgIFBhdGNoIGJ5IEdpYW1wYW9sbyBSb2RvbGEnLgorCistIElzc3VlICMyMDYzNjogSW1wcm92ZWQgdGhlIHJlcHIgb2YgVGtpbnRlciB3aWRnZXRzLgorCistIElzc3VlICMxOTUwNTogVGhlIGl0ZW1zLCBrZXlzLCBhbmQgdmFsdWVzIHZpZXdzIG9mIE9yZGVyZWREaWN0IG5vdyBzdXBwb3J0CisgIHJldmVyc2UgaXRlcmF0aW9uIHVzaW5nIHJldmVyc2VkKCkuCisKIC0gSXNzdWUgIzIxMTQ5OiBJbXByb3ZlZCB0aHJlYWQtc2FmZXR5IGluIGxvZ2dpbmcgY2xlYW51cCBkdXJpbmcgaW50ZXJwcmV0ZXIKICAgc2h1dGRvd24uIFRoYW5rcyB0byBEZXZpbiBKZWFucGllcnJlIGZvciB0aGUgcGF0Y2guCiAKLS0gSXNzdWUgIzIwMTQ1OiBgYXNzZXJ0UmFpc2VzUmVnZXhgIGFuZCBgYXNzZXJ0V2FybnNSZWdleGAgbm93IHJhaXNlIGEKLSAgVHlwZUVycm9yIGlmIHRoZSBzZWNvbmQgYXJndW1lbnQgaXMgbm90IGEgc3RyaW5nIG9yIGNvbXBpbGVkIHJlZ2V4LgotCiAtIElzc3VlICMyMTA1ODogRml4IGEgbGVhayBvZiBmaWxlIGRlc2NyaXB0b3IgaW4KICAgOmZ1bmM6YHRlbXBmaWxlLk5hbWVkVGVtcG9yYXJ5RmlsZWAsIGNsb3NlIHRoZSBmaWxlIGRlc2NyaXB0b3IgaWYKICAgOmZ1bmM6YGlvLm9wZW5gIGZhaWxzCkBAIC0xMDc1LDYgKzEyODgsOSBAQAogLSBJc3N1ZSAjMjEwMTM6IEVuaGFuY2Ugc3NsLmNyZWF0ZV9kZWZhdWx0X2NvbnRleHQoKSB3aGVuIHVzZWQgZm9yIHNlcnZlciBzaWRlCiAgIHNvY2tldHMgdG8gcHJvdmlkZSBiZXR0ZXIgc2VjdXJpdHkgYnkgZGVmYXVsdC4KIAorLSBJc3N1ZSAjMjAxNDU6IGBhc3NlcnRSYWlzZXNSZWdleGAgYW5kIGBhc3NlcnRXYXJuc1JlZ2V4YCBub3cgcmFpc2UgYQorICBUeXBlRXJyb3IgaWYgdGhlIHNlY29uZCBhcmd1bWVudCBpcyBub3QgYSBzdHJpbmcgb3IgY29tcGlsZWQgcmVnZXguCisKIC0gSXNzdWUgIzIwNjMzOiBSZXBsYWNlIHJlbGF0aXZlIGltcG9ydCBieSBhYnNvbHV0ZSBpbXBvcnQuCiAKIC0gSXNzdWUgIzIwOTgwOiBTdG9wIHdyYXBwaW5nIGV4Y2VwdGlvbiB3aGVuIHVzaW5nIFRocmVhZFBvb2wuCkBAIC0xMDg4LDYgKzEzMDQsOCBAQAogICBjdXJ2ZSBmb3IgRUNESCBrZXkgZXhjaGFuZ2Ugb24gT3BlblNTTCAxLjAuMiBhbmQgbGF0ZXIsIGFuZCBvdGhlcndpc2UKICAgZGVmYXVsdCB0byAicHJpbWUyNTZ2MSIuCiAKKy0gSXNzdWUgIzIxMDAwOiBJbXByb3ZlIHRoZSBjb21tYW5kLWxpbmUgaW50ZXJmYWNlIG9mIGpzb24udG9vbC4KKwogLSBJc3N1ZSAjMjA5OTU6IEVuaGFuY2UgZGVmYXVsdCBjaXBoZXJzIHVzZWQgYnkgdGhlIHNzbCBtb2R1bGUgdG8gZW5hYmxlCiAgIGJldHRlciBzZWN1cml0eSBhbiBwcmlvcml0aXplIHBlcmZlY3QgZm9yd2FyZCBzZWNyZWN5LgogCkBAIC0xMDk1LDYgKzEzMTMsMjQgQEAKIAogLSBJc3N1ZSAjMjE0OTk6IElnbm9yZSBfX2J1aWx0aW5zX18gaW4gc2V2ZXJhbCB0ZXN0X2ltcG9ydGxpYi50ZXN0X2FwaSB0ZXN0cy4KIAorLSBJc3N1ZSAjMjA2Mjc6IHhtbHJwYy5jbGllbnQuU2VydmVyUHJveHkgaXMgbm93IGEgY29udGV4dCBtYW5hZ2VyLgorCistIElzc3VlICMxOTE2NTogVGhlIGZvcm1hdHRlciBtb2R1bGUgbm93IHJhaXNlcyBEZXByZWNhdGlvbldhcm5pbmcgaW5zdGVhZCBvZgorICBQZW5kaW5nRGVwcmVjYXRpb25XYXJuaW5nLgorCistIElzc3VlICMxMzkzNjogUmVtb3ZlIHRoZSBhYmlsaXR5IG9mIGRhdGV0aW1lLnRpbWUgaW5zdGFuY2VzIHRvIGJlIGNvbnNpZGVyZWQKKyAgZmFsc2UgaW4gYm9vbGVhbiBjb250ZXh0cy4KKworLSBJc3N1ZSAxODkzMTogc2VsZWN0b3JzIG1vZHVsZSBub3cgc3VwcG9ydHMgL2Rldi9wb2xsIG9uIFNvbGFyaXMuCisgIFBhdGNoIGJ5IEdpYW1wYW9sbyBSb2RvbGEnLgorCistIElzc3VlICMxOTk3NzogV2hlbiB0aGUgYGBMQ19UWVBFYGAgbG9jYWxlIGlzIHRoZSBQT1NJWCBsb2NhbGUgKGBgQ2BgIGxvY2FsZSksCisgIDpweTpkYXRhOmBzeXMuc3RkaW5gIGFuZCA6cHk6ZGF0YTpgc3lzLnN0ZG91dGAgYXJlIG5vdyB1c2luZyB0aGUKKyAgYGBzdXJyb2dhdGVlc2NhcGVgYCBlcnJvciBoYW5kbGVyLCBpbnN0ZWFkIG9mIHRoZSBgYHN0cmljdGBgIGVycm9yIGhhbmRsZXIuCisKKy0gSXNzdWUgIzIwNTc0OiBJbXBsZW1lbnQgaW5jcmVtZW50YWwgZGVjb2RlciBmb3IgY3A2NTAwMSBjb2RlIChXaW5kb3dzIGNvZGUKKyAgcGFnZSA2NTAwMSwgTWljcm9zb2Z0IFVURi04KS4KKwogLSBJc3N1ZSAjMjA4Nzk6IERlbGF5IHRoZSBpbml0aWFsaXphdGlvbiBvZiBlbmNvZGluZyBhbmQgZGVjb2RpbmcgdGFibGVzIGZvcgogICBiYXNlMzIsIGFzY2lpODUgYW5kIGJhc2U4NSBjb2RlY3MgaW4gdGhlIGJhc2U2NCBtb2R1bGUsIGFuZCBkZWxheSB0aGUKICAgaW5pdGlhbGl6YXRpb24gb2YgdGhlIHVucXVvdGVfdG9fYnl0ZXMoKSB0YWJsZSBvZiB0aGUgdXJsbGliLnBhcnNlIG1vZHVsZSwgdG8KQEAgLTExMjksNiArMTM2NSwxNCBAQAogLSBJc3N1ZSAjMTk3NDg6IE9uIEFJWCwgdGltZS5ta3RpbWUoKSBub3cgcmFpc2VzIGFuIE92ZXJmbG93RXJyb3IgZm9yIHllYXIKICAgb3V0c2l6ZSByYW5nZSBbMTkwMjsgMjAzN10uCiAKKy0gSXNzdWUgIzE5NTczOiBpbnNwZWN0LnNpZ25hdHVyZTogVXNlIGVudW0gZm9yIHBhcmFtZXRlciBraW5kIGNvbnN0YW50cy4KKworLSBJc3N1ZSAjMjA3MjY6IGluc3BlY3Quc2lnbmF0dXJlOiBNYWtlIFNpZ25hdHVyZSBhbmQgUGFyYW1ldGVyIHBpY2tsYWJsZS4KKworLSBJc3N1ZSAjMTczNzM6IEFkZCBpbnNwZWN0LlNpZ25hdHVyZS5mcm9tX2NhbGxhYmxlIG1ldGhvZC4KKworLSBJc3N1ZSAjMjAzNzg6IEltcHJvdmUgcmVwciBvZiBpbnNwZWN0LlNpZ25hdHVyZSBhbmQgaW5zcGVjdC5QYXJhbWV0ZXIuCisKIC0gSXNzdWUgIzIwODE2OiBGaXggaW5zcGVjdC5nZXRjYWxsYXJncygpIHRvIHJhaXNlIGNvcnJlY3QgVHlwZUVycm9yIGZvcgogICBtaXNzaW5nIGtleXdvcmQtb25seSBhcmd1bWVudHMuIFBhdGNoIGJ5IEplcmVtaWFoIExvd2luLgogCkBAIC0xMTQ1LDYgKzEzODksMTIgQEAKICAgcG9zaXRpb25hbC1vci1rZXl3b3JkIGFyZ3VtZW50cyBwYXNzZWQgYXMga2V5d29yZCBhcmd1bWVudHMgYmVjb21lCiAgIGtleXdvcmQtb25seS4KIAorLSBJc3N1ZSAjMjAzMzQ6IGluc3BlY3QuU2lnbmF0dXJlIGFuZCBpbnNwZWN0LlBhcmFtZXRlciBhcmUgbm93IGhhc2hhYmxlLgorICBUaGFua3MgdG8gQW50b255IExlZSBmb3IgYnVnIHJlcG9ydHMgYW5kIHN1Z2dlc3Rpb25zLgorCistIElzc3VlICMxNTkxNjogZG9jdGVzdC5Eb2NUZXN0U3VpdGUgcmV0dXJucyBhbiBlbXB0eSB1bml0dGVzdC5UZXN0U3VpdGUgaW5zdGVhZAorICBvZiByYWlzaW5nIFZhbHVlRXJyb3IgaWYgaXQgZmluZHMgbm8gdGVzdHMKKwogLSBJc3N1ZSAjMjEyMDk6IEZpeCBhc3luY2lvLnRhc2tzLkNvcm9XcmFwcGVyIHRvIHdvcmthcm91bmQgYSBidWcKICAgaW4geWllbGQtZnJvbSBpbXBsZW1lbnRhdGlvbiBpbiBDUHl0aG9ucyBwcmlvciB0byAzLjQuMS4KIApAQCAtMTE1NywxNiArMTQwNyw5MCBAQAogLSBJc3N1ZSAjMTE1NzE6IEVuc3VyZSB0aGF0IHRoZSB0dXJ0bGUgd2luZG93IGJlY29tZXMgdGhlIHRvcG1vc3Qgd2luZG93CiAgIHdoZW4gbGF1bmNoZWQgb24gT1MgWC4KIAotRXh0ZW5zaW9uIE1vZHVsZXMKLS0tLS0tLS0tLS0tLS0tLS0tCistIElzc3VlICMyMTgwMTogVmFsaWRhdGUgdGhhdCBfX3NpZ25hdHVyZV9fIGlzIE5vbmUgb3IgYW4gaW5zdGFuY2Ugb2YgU2lnbmF0dXJlLgogCi0tIElzc3VlICMyMTI3NjogcG9zaXhtb2R1bGU6IERvbid0IGRlZmluZSBVU0VfWEFUVFJTIG9uIEtGcmVlQlNEIGFuZCB0aGUgSHVyZC4KLS0gSXNzdWUgIzIxMjI2OiBTZXQgdXAgbW9kdWxlcyBwcm9wZXJseSBpbiBQeUltcG9ydF9FeGVjQ29kZU1vZHVsZU9iamVjdAotICAoYW5kIGZyaWVuZHMpLgorLSBJc3N1ZSAjMjE5MjM6IFByZXZlbnQgQXR0cmlidXRlRXJyb3IgaW4gZGlzdHV0aWxzLnN5c2NvbmZpZy5jdXN0b21pemVfY29tcGlsZXIKKyAgZHVlIHRvIHBvc3NpYmxlIHVuaW5pdGlhbGl6ZWQgX2NvbmZpZ192YXJzLgorCistIElzc3VlICMyMTMyMzogRml4IGh0dHAuc2VydmVyIHRvIGFnYWluIGhhbmRsZSBzY3JpcHRzIGluIENHSSBzdWJkaXJlY3RvcmllcywKKyAgYnJva2VuIGJ5IHRoZSBmaXggZm9yIHNlY3VyaXR5IGlzc3VlICMxOTQzNS4gIFBhdGNoIGJ5IFphY2ggQnlybmUuCisKKy0gSXNzdWUgIzIyNzMzOiBGaXggZmZpX3ByZXBfYXJncyBub3QgemVyby1leHRlbmRpbmcgYXJndW1lbnQgdmFsdWVzIGNvcnJlY3RseQorICBvbiA2NC1iaXQgV2luZG93cy4KKworLSBJc3N1ZSAjMjMzMDI6IERlZmF1bHQgdG8gVENQX05PREVMQVk9MSB1cG9uIGVzdGFibGlzaGluZyBhbiBIVFRQQ29ubmVjdGlvbi4KKyAgUmVtb3ZlZCB1c2Ugb2YgaGFyZC1jb2RlZCBNU1MgYXMgaXQncyBhbiBvcHRpbWl6YXRpb24gdGhhdCdzIG5vIGxvbmdlciBuZWVkZWQKKyAgd2l0aCBOYWdsZSBkaXNhYmxlZC4KIAogSURMRQogLS0tLQogCistIElzc3VlICMyMDU3NzogQ29uZmlndXJhdGlvbiBvZiB0aGUgbWF4IGxpbmUgbGVuZ3RoIGZvciB0aGUgRm9ybWF0UGFyYWdyYXBoCisgIGV4dGVuc2lvbiBoYXMgYmVlbiBtb3ZlZCBmcm9tIHRoZSBHZW5lcmFsIHRhYiBvZiB0aGUgSWRsZSBwcmVmZXJlbmNlcyBkaWFsb2cKKyAgdG8gdGhlIEZvcm1hdFBhcmFncmFwaCB0YWIgb2YgdGhlIENvbmZpZyBFeHRlbnNpb25zIGRpYWxvZy4KKyAgUGF0Y2ggYnkgVGFsIEVpbmF0LgorCistIElzc3VlICMxNjg5MzogVXBkYXRlIElkbGUgZG9jIGNoYXB0ZXIgdG8gbWF0Y2ggY3VycmVudCBJZGxlIGFuZCBhZGQgbmV3CisgIGluZm9ybWF0aW9uLgorCistIElzc3VlICMzMDY4OiBBZGQgSWRsZSBleHRlbnNpb24gY29uZmlndXJhdGlvbiBkaWFsb2cgdG8gT3B0aW9ucyBtZW51LgorICBDaGFuZ2VzIGFyZSB3cml0dGVuIHRvIEhPTUUvLmlkbGVyYy9jb25maWctZXh0ZW5zaW9ucy5jZmcuCisgIE9yaWdpbmFsIHBhdGNoIGJ5IFRhbCBFaW5hdC4KKworLSBJc3N1ZSAjMTYyMzM6IEEgbW9kdWxlIGJyb3dzZXIgKEZpbGUgOiBDbGFzcyBCcm93c2VyLCBBbHQrQykgcmVxdWlyZXMgYQorICBlZGl0b3Igd2luZG93IHdpdGggYSBmaWxlbmFtZS4gIFdoZW4gQ2xhc3MgQnJvd3NlciBpcyByZXF1ZXN0ZWQgb3RoZXJ3aXNlLAorICBmcm9tIGEgc2hlbGwsIG91dHB1dCB3aW5kb3csIG9yICdVbnRpdGxlZCcgZWRpdG9yLCBJZGxlIG5vIGxvbmdlciBkaXNwbGF5cworICBhbiBlcnJvciBib3guICBJdCBub3cgcG9wcyB1cCBhbiAgT3BlbiBNb2R1bGUgYm94IChBbHQrTSkuIElmIGEgdmFsaWQgbmFtZQorICBpcyBlbnRlcmVkIGFuZCBhIG1vZHVsZSBpcyBvcGVuZWQsIGEgY29ycmVzcG9uZGluZyBicm93c2VyIGlzIGFsc28gb3BlbmVkLgorCistIElzc3VlICM0ODMyOiBTYXZlIEFzIHRvIHR5cGUgUHl0aG9uIGZpbGVzIGF1dG9tYXRpY2FsbHkgYWRkcyAucHkgdG8gdGhlCisgIG5hbWUgeW91IGVudGVyIChldmVuIGlmIHlvdXIgc3lzdGVtIGRvZXMgbm90IGRpc3BsYXkgaXQpLiAgU29tZSBzeXN0ZW1zCisgIGF1dG9tYXRpY2FsbHkgYWRkIC50eHQgd2hlbiB0eXBlIGlzIFRleHQgZmlsZXMuCisKKy0gSXNzdWUgIzIxOTg2OiBDb2RlIG9iamVjdHMgYXJlIG5vdCBub3JtYWxseSBwaWNrbGVkIGJ5IHRoZSBwaWNrbGUgbW9kdWxlLgorICBUbyBtYXRjaCB0aGlzLCB0aGV5IGFyZSBubyBsb25nZXIgcGlja2xlZCB3aGVuIHJ1bm5pbmcgdW5kZXIgSWRsZS4KKworLSBJc3N1ZSAjMTczOTA6IEFkanVzdCBFZGl0b3Igd2luZG93IHRpdGxlOyByZW1vdmUgJ1B5dGhvbicsCisgIG1vdmUgdmVyc2lvbiB0byBlbmQuCisKKy0gSXNzdWUgIzE0MTA1OiBJZGxlIGRlYnVnZ2VyIGJyZWFrcG9pbnRzIG5vIGxvbmdlciBkaXNhcHBlYXIKKyAgd2hlbiBpbnNldGluZyBvciBkZWxldGluZyBsaW5lcy4KKworLSBJc3N1ZSAjMTcxNzI6IFR1cnRsZWRlbW8gY2FuIG5vdyBiZSBydW4gZnJvbSBJZGxlLgorICBDdXJyZW50bHksIHRoZSBlbnRyeSBpcyBvbiB0aGUgSGVscCBtZW51LCBidXQgaXQgbWF5IG1vdmUgdG8gUnVuLgorICBQYXRjaCBieSBSYW1jaGFuZHJhIEFwdCBhbmQgTGl0YSBDaG8uCisKKy0gSXNzdWUgIzIxNzY1OiBBZGQgc3VwcG9ydCBmb3Igbm9uLWFzY2lpIGlkZW50aWZpZXJzIHRvIEh5cGVyUGFyc2VyLgorCistIElzc3VlICMyMTk0MDogQWRkIHVuaXR0ZXN0IGZvciBXaWRnZXRSZWRpcmVjdG9yLiBJbml0aWFsIHBhdGNoIGJ5IFNhaW1hZGhhdgorICBIZWJsaWthci4KKworLSBJc3N1ZSAjMTg1OTI6IEFkZCB1bml0dGVzdCBmb3IgU2VhcmNoRGlhbG9nQmFzZS4gUGF0Y2ggYnkgUGhpbCBXZWJzdGVyLgorCistIElzc3VlICMyMTY5NDogQWRkIHVuaXR0ZXN0IGZvciBQYXJlbk1hdGNoLiBQYXRjaCBieSBTYWltYWRoYXYgSGVibGlrYXIuCisKKy0gSXNzdWUgIzIxNjg2OiBhZGQgdW5pdHRlc3QgZm9yIEh5cGVyUGFyc2VyLiBPcmlnaW5hbCBwYXRjaCBieSBTYWltYWRoYXYKKyAgSGVibGlrYXIuCisKKy0gSXNzdWUgIzEyMzg3OiBBZGQgbWlzc2luZyB1cHBlcihsb3dlciljYXNlIHZlcnNpb25zIG9mIGRlZmF1bHQgV2luZG93cyBrZXkKKyAgYmluZGluZ3MgZm9yIElkbGUgc28gQ2FwcyBMb2NrIGRvZXMgbm90IGRpc2FibGUgdGhlbS4gUGF0Y2ggYnkgUm9nZXIgU2Vyd3kuCisKKy0gSXNzdWUgIzIxNjk1OiBDbG9zaW5nIGEgRmluZC1pbi1maWxlcyBvdXRwdXQgd2luZG93IHdoaWxlIHRoZSBzZWFyY2ggaXMKKyAgc3RpbGwgaW4gcHJvZ3Jlc3Mgbm8gbG9uZ2VyIGNsb3NlcyBJZGxlLgorCistIElzc3VlICMxODkxMDogQWRkIHVuaXR0ZXN0IGZvciB0ZXh0Vmlldy4gUGF0Y2ggYnkgUGhpbCBXZWJzdGVyLgorCistIElzc3VlICMxODI5MjogQWRkIHVuaXR0ZXN0IGZvciBBdXRvRXhwYW5kLiBQYXRjaCBieSBTYWloYWRoYXYgSGVibGlrYXIuCisKKy0gSXNzdWUgIzE4NDA5OiBBZGQgdW5pdHRlc3QgZm9yIEF1dG9Db21wbGV0ZS4gUGF0Y2ggYnkgUGhpbCBXZWJzdGVyLgorCistIElzc3VlICMyMTQ3NzogaHRlc3QucHkgLSBJbXByb3ZlIGZyYW1ld29yaywgY29tcGxldGUgc2V0IG9mIHRlc3RzLgorICBQYXRjaGVzIGJ5IFNhaW1hZGhhdiBIZWJsaWthcgorCistIElzc3VlICMxODEwNDogQWRkIGlkbGVsaWIvaWRsZV90ZXN0L2h0ZXN0LnB5IHdpdGggYSBmZXcgc2FtcGxlIHRlc3RzIHRvIGJlZ2luCisgIGNvbnNvbGlkYXRpbmcgYW5kIGltcHJvdmluZyBodW1hbi12YWxpZGF0ZWQgdGVzdHMgb2YgSWRsZS4gQ2hhbmdlIG90aGVyIGZpbGVzCisgIGFzIG5lZWRlZCB0byB3b3JrIHdpdGggaHRlc3QuICBSdW5uaW5nIHRoZSBtb2R1bGUgYXMgX19tYWluX18gcnVucyBhbGwgdGVzdHMuCisKIC0gSXNzdWUgIzIxMTM5OiBDaGFuZ2UgZGVmYXVsdCBwYXJhZ3JhcGggd2lkdGggdG8gNzIsIHRoZSBQRVAgOCByZWNvbW1lbmRhdGlvbi4KIAogLSBJc3N1ZSAjMjEyODQ6IFBhcmFncmFwaCByZWZvcm1hdCB0ZXN0IHBhc3NlcyBhZnRlciB1c2VyIGNoYW5nZXMgcmVmb3JtYXQgd2lkdGguCkBAIC0xMTc0LDEwICsxNDk4LDUyIEBACiAtIElzc3VlICMxNzY1NDogRW5zdXJlIElETEUgbWVudXMgYXJlIGN1c3RvbWl6ZWQgcHJvcGVybHkgb24gT1MgWCBmb3IKICAgbm9uLWZyYW1ld29yayBidWlsZHMgYW5kIGZvciBhbGwgdmFyaWFudHMgb2YgVGsuCiAKKy0gSXNzdWUgIzIzMTgwOiBSZW5hbWUgSURMRSAiV2luZG93cyIgbWVudSBpdGVtIHRvICJXaW5kb3ciLgorICBQYXRjaCBieSBBbCBTd2VpZ2FydC4KKwogQnVpbGQKIC0tLS0tCiAKLS0gVGhlIFdpbmRvd3MgYnVpbGQgbm93IGluY2x1ZGVzIE9wZW5TU0wgMS4wLjFnCistIElzc3VlICMxNTUwNjogVXNlIHN0YW5kYXJkIFBLR19QUk9HX1BLR19DT05GSUcgYXV0b2NvbmYgbWFjcm8gaW4gdGhlIGNvbmZpZ3VyZQorICBzY3JpcHQuCisKKy0gSXNzdWUgIzIyOTM1OiBBbGxvdyB0aGUgc3NsIG1vZHVsZSB0byBiZSBjb21waWxlZCBpZiBvcGVuc3NsIGRvZXNuJ3Qgc3VwcG9ydAorICBTU0wgMy4KKworLSBJc3N1ZSAjMjI1OTI6IERyb3Agc3VwcG9ydCBvZiB0aGUgQm9ybGFuZCBDIGNvbXBpbGVyIHRvIGJ1aWxkIFB5dGhvbi4gVGhlCisgIGRpc3R1dGlscyBtb2R1bGUgc3RpbGwgc3VwcG9ydHMgaXQgdG8gYnVpbGQgZXh0ZW5zaW9ucy4KKworLSBJc3N1ZSAjMjI1OTE6IERyb3Agc3VwcG9ydCBvZiBNUy1ET1MsIGVzcGVjaWFsbHkgb2YgdGhlIERKR1BQIGNvbXBpbGVyCisgIChNUy1ET1MgcG9ydCBvZiBHQ0MpLgorCistIElzc3VlICMxNjUzNzogQ2hlY2sgd2hldGhlciBzZWxmLmV4dGVuc2lvbnMgaXMgZW1wdHkgaW4gc2V0dXAucHkuIFBhdGNoIGJ5CisgIEpvbmF0aGFuIEhvc21lci4KKworLSBJc3N1ZSAjMjIzNTk6IFJlbW92ZSBpbmNvcnJlY3QgdXNlcyBvZiByZWN1cnNpdmUgbWFrZS4gIFBhdGNoIGJ5IEpvbmFzCisgIFdhZ25lci4KKworLSBJc3N1ZSAjMjE5NTg6IERlZmluZSBIQVZFX1JPVU5EIHdoZW4gYnVpbGRpbmcgd2l0aCBWaXN1YWwgU3R1ZGlvIDIwMTMgYW5kCisgIGFib3ZlLiAgUGF0Y2ggYnkgWmFjaGFyeSBUdXJuZXIuCisKKy0gSXNzdWUgIzE4MDkzOiB0aGUgcHJvZ3JhbXMgdGhhdCBlbWJlZCB0aGUgQ1B5dGhvbiBydW50aW1lIGFyZSBub3cgaW4gYQorICBzZXBhcmF0ZSAiUHJvZ3JhbXMiIGRpcmVjdG9yeSwgcmF0aGVyIHRoYW4gYmVpbmcga2VwdCBpbiB0aGUgTW9kdWxlcworICBkaXJlY3RvcnkuCisKKy0gSXNzdWUgIzE1NzU5OiAibWFrZSBzdXNwaWNpb3VzIiwgIm1ha2UgbGlua2NoZWNrIiBhbmQgIm1ha2UgZG9jdGVzdCIgaW4gRG9jLworICBub3cgZGlzcGxheSBzcGVjaWFsIG1lc3NhZ2Ugd2hlbiBhbmQgb25seSB3aGVuIHRoZXJlIGFyZSBmYWlsdXJlcy4KKworLSBJc3N1ZSAjMjExNDE6IFRoZSBXaW5kb3dzIGJ1aWxkIHByb2Nlc3Mgbm8gbG9uZ2VyIGF0dGVtcHRzIHRvIGZpbmQgUGVybCwKKyAgaW5zdGVhZCByZWx5aW5nIG9uIE9wZW5TU0wgc291cmNlIGJlaW5nIGNvbmZpZ3VyZWQgYW5kIHJlYWR5IHRvIGJ1aWxkLiAgVGhlCisgIGBgUENidWlsZFxidWlsZF9zc2wucHlgYCBzY3JpcHQgaGFzIGJlZW4gcmUtd3JpdHRlbiBhbmQgcmUtbmFtZWQgdG8KKyAgYGBQQ2J1aWxkXHByZXBhcmVfc3NsLnB5YGAsIGFuZCB0YWtlcyBjYXJlIG9mIGNvbmZpZ3VyaW5nIE9wZW5TU0wgc291cmNlCisgIGZvciBib3RoIDMyIGFuZCA2NCBiaXQgcGxhdGZvcm1zLiAgT3BlblNTTCBzb3VyY2VzIG9idGFpbmVkIGZyb20KKyAgc3ZuLnB5dGhvbi5vcmcgd2lsbCBhbHdheXMgYmUgcHJlLWNvbmZpZ3VyZWQgYW5kIHJlYWR5IHRvIGJ1aWxkLgorCistIElzc3VlICMyMTAzNzogQWRkIGEgYnVpbGQgb3B0aW9uIHRvIGVuYWJsZSBBZGRyZXNzU2FuaXRpemVyIHN1cHBvcnQuCisKKy0gSXNzdWUgIzE5OTYyOiBUaGUgV2luZG93cyBidWlsZCBwcm9jZXNzIG5vdyBjcmVhdGVzICJweXRob24uYmF0IiBpbiB0aGUKKyAgcm9vdCBvZiB0aGUgc291cmNlIHRyZWUsIHdoaWNoIHBhc3NlcyBhbGwgYXJndW1lbnRzIHRocm91Z2ggdG8gdGhlIG1vc3QKKyAgcmVjZW50bHkgYnVpbHQgaW50ZXJwcmV0ZXIuCiAKIC0gSXNzdWUgIzIxMjg1OiBSZWZhY3RvciBhbmQgZml4IGN1cnNlcyBjb25maWd1cmUgY2hlY2sgdG8gYWx3YXlzIHNlYXJjaAogICBpbiBhIG5jdXJzZXN3IGRpcmVjdG9yeS4KQEAgLTExODYsMTIgKzE1NTIsNjAgQEAKICAgaW5jbHVkZSBkaXJlY3RvcmllcyBpZiB0aGV5IGFyZW4ndCBhbHJlYWR5IGJlaW5nIHNlYXJjaGVkLiBUaGlzIGF2b2lkcwogICBhbiBleHBsaWNpdCBydW50aW1lIGxpYnJhcnkgZGVwZW5kZW5jeS4KIAorLSBJc3N1ZSAjMTc4NjE6IFRvb2xzL3NjcmlwdHMvZ2VuZXJhdGVfb3Bjb2RlX2gucHkgYXV0b21hdGljYWxseSByZWdlbmVyYXRlcworICBJbmNsdWRlL29wY29kZS5oIGZyb20gTGliL29wY29kZS5weSBpZiB0aGUgbGF0ZXIgZ2V0cyBhbnkgY2hhbmdlLgorCiAtIElzc3VlICMyMDY0NDogT1MgWCBpbnN0YWxsZXIgYnVpbGQgc3VwcG9ydCBmb3IgZG9jdW1lbnRhdGlvbiBidWlsZCBjaGFuZ2VzCiAgIGluIDMuNC4xOiBhc3N1bWUgZXh0ZXJuYWxseSBzdXBwbGllZCBzcGhpbngtYnVpbGQgaXMgYXZhaWxhYmxlIGluIC91c3IvYmluLgogCistIElzc3VlICMyMDAyMjogRWxpbWluYXRlIHVzZSBvZiBkZXByZWNhdGVkIGJ1bmRsZWJ1aWxkZXIgaW4gT1MgWCBidWlsZHMuCisKKy0gSXNzdWUgIzE1OTY4OiBJbmNvcnBvcmF0ZWQgVGNsLCBUaywgYW5kIFRpeCBidWlsZHMgaW50byB0aGUgV2luZG93cyBidWlsZAorICBzb2x1dGlvbi4KKworLSBJc3N1ZSAjMTcwOTU6IEZpeCBNb2R1bGVzL1NldHVwICpzaGFyZWQqIHN1cHBvcnQuCisKKy0gSXNzdWUgIzIxODExOiBBbnRpY2lwYXRlZCBmaXhlcyB0byBzdXBwb3J0IE9TIFggdmVyc2lvbnMgPiAxMC45LgorCistIElzc3VlICMyMTE2NjogUHJldmVudCBwb3NzaWJsZSBzZWdmYXVsdHMgYW5kIG90aGVyIHJhbmRvbSBmYWlsdXJlcyBvZgorICBweXRob24gLS1nZW5lcmF0ZS1wb3NpeC12YXJzIGluIHB5YnVpbGRkaXIudHh0IGJ1aWxkIHRhcmdldC4KKworLSBJc3N1ZSAjMTgwOTY6IEZpeCBsaWJyYXJ5IG9yZGVyIHJldHVybmVkIGJ5IHB5dGhvbi1jb25maWcuCisKKy0gSXNzdWUgIzE3MjE5OiBBZGQgbGlicmFyeSBidWlsZCBkaXIgZm9yIFB5dGhvbiBleHRlbnNpb24gY3Jvc3MtYnVpbGRzLgorCistIElzc3VlICMyMjkxOTogV2luZG93cyBidWlsZCB1cGRhdGVkIHRvIHN1cHBvcnQgVkMgMTQuMCAoVmlzdWFsIFN0dWRpbyAyMDE1KSwKKyAgd2hpY2ggd2lsbCBiZSB1c2VkIGZvciB0aGUgb2ZmaWNpYWwgcmVsZWFzZS4KKworLSBJc3N1ZSAjMjEyMzY6IEJ1aWxkIF9tc2kucHlkIHdpdGggY2FiaW5ldC5saWIgaW5zdGVhZCBvZiBmY2kubGliCisKKy0gSXNzdWUgIzE3MTI4OiBVc2UgcHJpdmF0ZSB2ZXJzaW9uIG9mIE9wZW5TU0wgZm9yIE9TIFggMTAuNSsgaW5zdGFsbGVyLgorCiBDIEFQSQogLS0tLS0KIAorLSBJc3N1ZSAjMTQyMDM6IFJlbW92ZSBvYnNvbGV0ZSBzdXBwb3J0IGZvciB2aWV3PT1OVUxMIGluIFB5QnVmZmVyX0ZpbGxJbmZvKCksCisgIGJ5dGVhcnJheV9nZXRidWZmZXIoKSwgYnl0ZXNpb2J1Zl9nZXRidWZmZXIoKSBhbmQgYXJyYXlfYnVmZmVyX2dldGJ1ZigpLgorICBBbGwgZnVuY3Rpb25zIG5vdyByYWlzZSBCdWZmZXJFcnJvciBpbiB0aGF0IGNhc2UuCisKKy0gSXNzdWUgIzIyNDQ1OiBQeUJ1ZmZlcl9Jc0NvbnRpZ3VvdXMoKSBub3cgaW1wbGVtZW50cyBwcmVjaXNlIGNvbnRpZ3VpdHkKKyAgdGVzdHMsIGNvbXBhdGlibGUgd2l0aCBOdW1QeSdzIE5QWV9SRUxBWEVEX1NUUklERVNfQ0hFQ0tJTkcgY29tcGlsYXRpb24KKyAgZmxhZy4gIFByZXZpb3VzbHkgdGhlIGZ1bmN0aW9uIHJlcG9ydGVkIGZhbHNlIG5lZ2F0aXZlcyBmb3IgY29ybmVyIGNhc2VzLgorCistIElzc3VlICMyMjA3OTogUHlUeXBlX1JlYWR5KCkgbm93IGNoZWNrcyB0aGF0IHN0YXRpY2FsbHkgYWxsb2NhdGVkIHR5cGUgaGFzCisgIG5vIGR5bmFtaWNhbGx5IGFsbG9jYXRlZCBiYXNlcy4KKworLSBJc3N1ZSAjMjI0NTM6IFJlbW92ZWQgbm9uLWRvY3VtZW50ZWQgbWFjcm8gUHlPYmplY3RfUkVQUigpLgorCistIElzc3VlICMxODM5NTogUmVuYW1lIGBgX1B5X2NoYXIyd2NoYXIoKWBgIHRvIDpjOmZ1bmM6YFB5X0RlY29kZUxvY2FsZWAsCisgIHJlbmFtZSBgYF9QeV93Y2hhcjJjaGFyKClgYCB0byA6YzpmdW5jOmBQeV9FbmNvZGVMb2NhbGVgLCBhbmQgZG9jdW1lbnQKKyAgdGhlc2UgZnVuY3Rpb25zLgorCistIElzc3VlICMyMTIzMzogQWRkIG5ldyBDIGZ1bmN0aW9uczogUHlNZW1fUmF3Q2FsbG9jKCksIFB5TWVtX0NhbGxvYygpLAorICBQeU9iamVjdF9DYWxsb2MoKSwgX1B5T2JqZWN0X0dDX0NhbGxvYygpLiBieXRlcyhpbnQpIGlzIG5vdyB1c2luZworICBgYGNhbGxvYygpYGAgaW5zdGVhZCBvZiBgYG1hbGxvYygpYGAgZm9yIGxhcmdlIG9iamVjdHMgd2hpY2ggaXMgZmFzdGVyIGFuZAorICB1c2UgbGVzcyBtZW1vcnkuCisKIC0gSXNzdWUgIzIwOTQyOiBQeUltcG9ydF9JbXBvcnRGcm96ZW5Nb2R1bGVPYmplY3QoKSBubyBsb25nZXIgc2V0cyBfX2ZpbGVfXyB0bwogICBtYXRjaCB3aGF0IGltcG9ydGxpYiBkb2VzOyB0aGlzIGFmZmVjdHMgX2Zyb3plbl9pbXBvcnRsaWIgYXMgd2VsbCBhcyBhbnkKICAgbW9kdWxlIGxvYWRlZCB1c2luZyBpbXAuaW5pdF9mcm96ZW4oKS4KQEAgLTExOTksOSArMTYxMywyOSBAQAogRG9jdW1lbnRhdGlvbgogLS0tLS0tLS0tLS0tLQogCistIElzc3VlICMxOTU0ODogVXBkYXRlIHRoZSBjb2RlY3MgbW9kdWxlIGRvY3VtZW50YXRpb24gdG8gYmV0dGVyIGNvdmVyIHRoZQorICBkaXN0aW5jdGlvbiBiZXR3ZWVuIHRleHQgZW5jb2RpbmdzIGFuZCBvdGhlciBjb2RlY3MsIHRvZ2V0aGVyIHdpdGggb3RoZXIKKyAgY2xhcmlmaWNhdGlvbnMuIFBhdGNoIGJ5IE1hcnRpbiBQYW50ZXIuCisKKy0gSXNzdWUgIzIyMzk0OiBEb2MvTWFrZWZpbGUgbm93IHN1cHBvcnRzIGBgbWFrZSB2ZW52IFBZVEhPTj0uLi9weXRob25gYCB0bworICBjcmVhdGUgYSB2ZW52IGZvciBnZW5lcmF0aW5nIHRoZSBkb2N1bWVudGF0aW9uLCBlLmcuLAorICBgYG1ha2UgaHRtbCBQWVRIT049dmVudi9iaW4vcHl0aG9uM2BgLgorCistIElzc3VlICMyMTUxNDogVGhlIGRvY3VtZW50YXRpb24gb2YgdGhlIGpzb24gbW9kdWxlIG5vdyByZWZlcnMgdG8gbmV3IEpTT04gUkZDCisgIDcxNTkgaW5zdGVhZCBvZiBvYnNvbGV0ZWQgUkZDIDQ2MjcuCisKKy0gSXNzdWUgIzIxNzc3OiBUaGUgYmluYXJ5IHNlcXVlbmNlIG1ldGhvZHMgb24gYnl0ZXMgYW5kIGJ5dGVhcnJheSBhcmUgbm93CisgIGRvY3VtZW50ZWQgZXhwbGljaXRseSwgcmF0aGVyIHRoYW4gYXNzdW1pbmcgdXNlcnMgd2lsbCBiZSBhYmxlIHRvIGRlcml2ZQorICB0aGUgZXhwZWN0ZWQgYmVoYXZpb3VyIGZyb20gdGhlIGJlaGF2aW91ciBvZiB0aGUgY29ycmVzcG9uZGluZyBzdHIgbWV0aG9kcy4KKworLSBJc3N1ZSAjNjkxNjogdW5kb2N1bWVudCBkZXByZWNhdGVkIGFzeW5jaGF0LmZpZm8gY2xhc3MuCisKIC0gSXNzdWUgIzE3Mzg2OiBFeHBhbmRlZCBmdW5jdGlvbmFsaXR5IG9mIHRoZSBgYERvYy9tYWtlLmJhdGBgIHNjcmlwdCB0byBtYWtlCiAgIGl0IG11Y2ggbW9yZSBjb21wYXJhYmxlIHRvIGBgRG9jL01ha2VmaWxlYGAuCiAKKy0gSXNzdWUgIzIxMzEyOiBVcGRhdGUgdGhlIHRocmVhZF9mb29iYXIuaCB0ZW1wbGF0ZSBmaWxlIHRvIGluY2x1ZGUgbmV3ZXIKKyAgdGhyZWFkaW5nIEFQSXMuICBQYXRjaCBieSBKYWNrIE1jQ3JhY2tlbi4KKwogLSBJc3N1ZSAjMjEwNDM6IFJlbW92ZSB0aGUgcmVjb21tZW5kYXRpb24gZm9yIHNwZWNpZmljIENBIG9yZ2FuaXphdGlvbnMgYW5kIHRvCiAgIG1lbnRpb24gdGhlIGFiaWxpdHkgdG8gbG9hZCB0aGUgT1MgY2VydGlmaWNhdGVzLgogCkBAIC0xMjE5LDYgKzE2NTMsNzMgQEAKIFRlc3RzCiAtLS0tLQogCistIElzc3VlICMxODk4MjogQWRkIHRlc3RzIGZvciBDTEkgb2YgdGhlIGNhbGVuZGFyIG1vZHVsZS4KKworLSBJc3N1ZSAjMTk1NDg6IEFkZGVkIHNvbWUgYWRkaXRpb25hbCBjaGVja3MgdG8gdGVzdF9jb2RlY3MgdG8gZW5zdXJlIHRoYXQKKyAgc3RhdGVtZW50cyBpbiB0aGUgdXBkYXRlZCBkb2N1bWVudGF0aW9uIHJlbWFpbiBhY2N1cmF0ZS4gUGF0Y2ggYnkgTWFydGluCisgIFBhbnRlci4KKworLSBJc3N1ZSAjMjI4Mzg6IEFsbCB0ZXN0X3JlIHRlc3RzIG5vdyB3b3JrIHdpdGggdW5pdHRlc3QgdGVzdCBkaXNjb3ZlcnkuCisKKy0gSXNzdWUgIzIyMTczOiBVcGRhdGUgbGliMnRvMyB0ZXN0cyB0byB1c2UgdW5pdHRlc3QgdGVzdCBkaXNjb3ZlcnkuCisKKy0gSXNzdWUgIzE2MDAwOiBDb252ZXJ0IHRlc3RfY3Vyc2VzIHRvIHVzZSB1bml0dGVzdC4KKworLSBJc3N1ZSAjMjE0NTY6IFNraXAgdHdvIHRlc3RzIGluIHRlc3RfdXJsbGliMm5ldC5weSBpZiBfc3NsIG1vZHVsZSBub3QKKyAgcHJlc2VudC4gUGF0Y2ggYnkgUmVtaSBQb2ludGVsLgorCistIElzc3VlICMyMDc0NjogRml4IHRlc3RfcGRiIHRvIHJ1biBpbiByZWZsZWFrIG1vZGUgKC1SKS4gIFBhdGNoIGJ5IFhhdmllcgorICBkZSBHYXllLgorCistIElzc3VlICMyMjA2MDogdGVzdF9jdHlwZXMgaGFzIGJlZW4gc29tZXdoYXQgY2xlYW5lZCB1cCBhbmQgc2ltcGxpZmllZDsgaXQKKyAgbm93IHVzZXMgdW5pdHRlc3QgdGVzdCBkaXNjb3ZlcnkgdG8gZmluZCBpdHMgdGVzdHMuCisKKy0gSXNzdWUgIzIyMTA0OiByZWdydGVzdC5weSBubyBsb25nZXIgaG9sZHMgYSByZWZlcmVuY2UgdG8gdGhlIHN1aXRlIG9mIHRlc3RzCisgIGxvYWRlZCBmcm9tIHRlc3QgbW9kdWxlcyB0aGF0IGRvbid0IGRlZmluZSB0ZXN0X21haW4oKS4KKworLSBJc3N1ZSAjMjIxMTE6IEFzc29ydGVkIGNsZWFudXBzIGluIHRlc3RfaW1hcGxpYi4gIFBhdGNoIGJ5IE1pbGFuIE9iZXJraXJjaC4KKworLSBJc3N1ZSAjMjIwMDI6IEFkZGVkIGBgbG9hZF9wYWNrYWdlX3Rlc3RzYGAgZnVuY3Rpb24gdG8gdGVzdC5zdXBwb3J0IGFuZCB1c2VkCisgIGl0IHRvIGltcGxlbWVudC9hdWdtZW50IHRlc3QgZGlzY292ZXJ5IGluIHRlc3RfYXN5bmNpbywgdGVzdF9lbWFpbCwKKyAgdGVzdF9pbXBvcnRsaWIsIHRlc3RfanNvbiwgYW5kIHRlc3RfdG9vbHMuCisKKy0gSXNzdWUgIzIxOTc2OiBGaXggdGVzdF9zc2wgdG8gYWNjZXB0IExpYnJlU1NMIHZlcnNpb24gc3RyaW5ncy4gIFRoYW5rcworICB0byBXaWxsaWFtIE9yci4KKworLSBJc3N1ZSAjMjE5MTg6IENvbnZlcnRlZCB0ZXN0X3Rvb2xzIGZyb20gYSBtb2R1bGUgdG8gYSBwYWNrYWdlIGNvbnRhaW5pbmcKKyAgc2VwYXJhdGUgdGVzdCBmaWxlcyBmb3IgZWFjaCB0ZXN0ZWQgc2NyaXB0LgorCistIElzc3VlICM5NTU0OiBVc2UgbW9kZXJuIHVuaXR0ZXN0IGZlYXR1cmVzIGluIHRlc3RfYXJncGFyc2UuIEluaXRpYWwgcGF0Y2ggYnkKKyAgRGVudmVyIENvbmV5YmVhcmUgYW5kIFJhZHUgVm9pY2lsYXMuCisKKy0gSXNzdWUgIzIwMTU1OiBDaGFuZ2VkIEhUVFAgbWV0aG9kIG5hbWVzIGluIGZhaWxpbmcgdGVzdHMgaW4gdGVzdF9odHRwc2VydmVycworICBzbyB0aGF0IHBhY2tldCBmaWx0ZXJpbmcgc29mdHdhcmUgKHNwZWNpZmljYWxseSBXaW5kb3dzIEJhc2UgRmlsdGVyaW5nIEVuZ2luZSkKKyAgZG9lcyBub3QgaW50ZXJmZXJlIHdpdGggdGhlIHRyYW5zYWN0aW9uIHNlbWFudGljcyBleHBlY3RlZCBieSB0aGUgdGVzdHMuCisKKy0gSXNzdWUgIzE5NDkzOiBSZWZhY3RvcmVkIHRoZSBjdHlwZXMgdGVzdCBwYWNrYWdlIHRvIHNraXAgdGVzdHMgZXhwbGljaXRseQorICByYXRoZXIgdGhhbiBzaWxlbnRseS4KKworLSBJc3N1ZSAjMTg0OTI6IEFsbCByZXNvdXJjZXMgYXJlIG5vdyBhbGxvd2VkIHdoZW4gdGVzdHMgYXJlIG5vdCBydW4gYnkKKyAgcmVncnRlc3QucHkuCisKKy0gSXNzdWUgIzIxNjM0OiBGaXggcHlzdG9uZSBtaWNyby1iZW5jaG1hcms6IHVzZSBmbG9vciBkaXZpc2lvbiBpbnN0ZWFkIG9mIHRydWUKKyAgZGl2aXNpb24gdG8gYmVuY2htYXJrIGludGVnZXJzIGluc3RlYWQgb2YgZmxvYXRpbmcgcG9pbnQgbnVtYmVycy4gU2V0IHB5c3RvbmUKKyAgdmVyc2lvbiB0byAxLjIuIFBhdGNoIHdyaXR0ZW4gYnkgTGVubmFydCBSZWdlYnJvLgorCistIElzc3VlICMyMTYwNTogQWRkZWQgdGVzdHMgZm9yIFRraW50ZXIgaW1hZ2VzLgorCistIElzc3VlICMyMTQ5MzogQWRkZWQgdGVzdCBmb3IgbnRwYXRoLmV4cGFuZHVzZXIoKS4gIE9yaWdpbmFsIHBhdGNoIGJ5CisgIENsYXVkaXUgUG9wYS4KKworLSBJc3N1ZSAjMTk5MjU6IEFkZGVkIHRlc3RzIGZvciB0aGUgc3B3ZCBtb2R1bGUuIE9yaWdpbmFsIHBhdGNoIGJ5IFZhanJhc2t5IEtvay4KKworLSBJc3N1ZSAjMjE1MjI6IEFkZGVkIFRraW50ZXIgdGVzdHMgZm9yIExpc3Rib3guaXRlbWNvbmZpZ3VyZSgpLAorICBQYW5lZFdpbmRvdy5wYW5lY29uZmlndXJlKCksIGFuZCBNZW51LmVudHJ5Y29uZmlndXJlKCkuCisKKy0gSXNzdWUgIzE3NzU2OiBGaXggdGVzdF9jb2RlIHRlc3Qgd2hlbiBydW4gZnJvbSB0aGUgaW5zdGFsbGVkIGxvY2F0aW9uLgorCistIElzc3VlICMxNzc1MjogRml4IGRpc3R1dGlscyB0ZXN0cyB3aGVuIHJ1biBmcm9tIHRoZSBpbnN0YWxsZWQgbG9jYXRpb24uCisKIC0gSXNzdWUgIzE4NjA0OiBDb25zb2xpZGF0ZWQgY2hlY2tzIGZvciBHVUkgYXZhaWxhYmlsaXR5LiAgQWxsIHBsYXRmb3JtcyBub3cKICAgYXQgbGVhc3QgY2hlY2sgd2hldGhlciBUayBjYW4gYmUgaW5zdGFudGlhdGVkIHdoZW4gdGhlIEdVSSByZXNvdXJjZSBpcwogICByZXF1ZXN0ZWQuCkBAIC0xMjM2LDYgKzE3MzcsOCBAQAogCiAtIElzc3VlICMyMTA5NzogTW92ZSB0ZXN0X25hbWVzcGFjZV9wa2dzIGludG8gdGVzdF9pbXBvcnRsaWIuCiAKKy0gSXNzdWUgIzIxNTAzOiBVc2UgdGVzdF9ib3RoKCkgY29uc2lzdGVudGx5IGluIHRlc3RfaW1wb3J0bGliLgorCiAtIElzc3VlICMyMDkzOTogQXZvaWQgdmFyaW91cyBuZXR3b3JrIHRlc3QgZmFpbHVyZXMgZHVlIHRvIG5ldwogICByZWRpcmVjdCBvZiBodHRwOi8vd3d3LnB5dGhvbi5vcmcvIHRvIGh0dHBzOi8vd3d3LnB5dGhvbi5vcmc6CiAgIHVzZSBodHRwOi8vd3d3LmV4YW1wbGUuY29tIGluc3RlYWQuCkBAIC0xMjQ2LDkgKzE3NDksNDEgQEAKIC0gSXNzdWUgIzIxMDkzOiBQcmV2ZW50IGZhaWx1cmVzIG9mIGN0eXBlcyB0ZXN0X21hY2hvbGliIG9uIE9TIFggaWYgYQogICBjb3B5IG9mIGxpYnogZXhpc3RzIGluICRIT01FL2xpYiBvciAvdXNyL2xvY2FsL2xpYi4KIAorLSBJc3N1ZSAjMjI3NzA6IFByZXZlbnQgc29tZSBUayBzZWdmYXVsdHMgb24gT1MgWCB3aGVuIHJ1bm5pbmcgZ3VpIHRlc3RzLgorCistIElzc3VlICMyMzIxMTogV29ya2Fyb3VuZCB0ZXN0X2xvZ2dpbmcgZmFpbHVyZSBvbiBzb21lIE9TIFggMTAuNiBzeXN0ZW1zLgorCistIElzc3VlICMyMzM0NTogUHJldmVudCB0ZXN0X3NzbCBmYWlsdXJlcyB3aXRoIGxhcmdlIE9wZW5TU0wgcGF0Y2ggbGV2ZWwKKyAgdmFsdWVzIChsaWtlIDAuOS44emMpLgorCiBUb29scy9EZW1vcwogLS0tLS0tLS0tLS0KIAorLSBJc3N1ZSAjMjIzMTQ6IHB5ZG9jIG5vdyB3b3JrcyB3aGVuIHRoZSBMSU5FUyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBzZXQuCisKKy0gSXNzdWUgIzIyNjE1OiBBcmd1bWVudCBDbGluaWMgbm93IHN1cHBvcnRzIHRoZSAidHlwZSIgYXJndW1lbnQgZm9yIHRoZQorICBpbnQgY29udmVydGVyLiAgVGhpcyBwZXJtaXRzIHVzaW5nIHRoZSBpbnQgY29udmVydGVyIHdpdGggZW51bXMgYW5kCisgIHR5cGVkZWZzLgorCistIElzc3VlICMyMDA3NjogVGhlIG1ha2Vsb2NhbGVhbGlhcy5weSBzY3JpcHQgbm8gbG9uZ2VyIGlnbm9yZXMgVVRGLTggbWFwcGluZy4KKworLSBJc3N1ZSAjMjAwNzk6IFRoZSBtYWtlbG9jYWxlYWxpYXMucHkgc2NyaXB0IG5vdyBjYW4gcGFyc2UgdGhlIFNVUFBPUlRFRCBmaWxlCisgIGZyb20gZ2xpYmMgc291cmNlcyBhbmQgc3VwcG9ydHMgY29tbWFuZCBsaW5lIG9wdGlvbnMgZm9yIHNvdXJjZSBwYXRocy4KKworLSBJc3N1ZSAjMjIyMDE6IENvbW1hbmQtbGluZSBpbnRlcmZhY2Ugb2YgdGhlIHppcGZpbGUgbW9kdWxlIG5vdyBjb3JyZWN0bHkKKyAgZXh0cmFjdHMgWklQIGZpbGVzIHdpdGggZGlyZWN0b3J5IGVudHJpZXMuICBQYXRjaCBieSBSeWFuIFdpbHNvbi4KKworLSBJc3N1ZSAjMjIxMjA6IEZvciBmdW5jdGlvbnMgdXNpbmcgYW4gdW5zaWduZWQgaW50ZWdlciByZXR1cm4gY29udmVydGVyLAorICBBcmd1bWVudCBDbGluaWMgbm93IGdlbmVyYXRlcyBhIGNhc3QgdG8gdGhhdCB0eXBlIGZvciB0aGUgY29tcGFyaXNvbgorICB0byAtMSBpbiB0aGUgZ2VuZXJhdGVkIGNvZGUuICAoVGhpcyBzdXByZXNzZXMgYSBjb21waWxhdGlvbiB3YXJuaW5nLikKKworLSBJc3N1ZSAjMTg5NzQ6IFRvb2xzL3NjcmlwdHMvZGlmZi5weSBub3cgdXNlcyBhcmdwYXJzZSBpbnN0ZWFkIG9mIG9wdHBhcnNlLgorCistIElzc3VlICMyMTkwNjogTWFrZSBUb29scy9zY3JpcHRzL21kNXN1bS5weSB3b3JrIGluIFB5dGhvbiAzLgorICBQYXRjaCBieSBaYWNoYXJ5IFdhcmUuCisKKy0gSXNzdWUgIzIxNjI5OiBGaXggQXJndW1lbnQgQ2xpbmljJ3MgIi0tY29udmVydGVycyIgZmVhdHVyZS4KKwogLSBBZGQgc3VwcG9ydCBmb3IgYGB5aWVsZCBmcm9tYGAgdG8gMnRvMy4KIAogLSBBZGQgc3VwcG9ydCBmb3IgdGhlIFBFUCA0NjUgbWF0cml4IG11bHRpcGxpY2F0aW9uIG9wZXJhdG9yIHRvIDJ0bzMuCkBAIC0xMjYxLDYgKzE3OTYsMzEgQEAKIC0gSXNzdWUgIzIwNTM1OiBQWVRIT05XQVJOSU5HIG5vIGxvbmdlciBhZmZlY3RzIHRoZSBydW5fdGVzdHMucHkgc2NyaXB0LgogICBQYXRjaCBieSBBcmZyZXZlciBGcmVodGVzIFRhaWZlcnNhciBBcmFoZXNpcy4KIAorV2luZG93cworLS0tLS0tLQorCistIElzc3VlICMyMzI2MDogVXBkYXRlIFdpbmRvd3MgaW5zdGFsbGVyCisKKy0gVGhlIGJ1bmRsZWQgdmVyc2lvbiBvZiBUY2wvVGsgaGFzIGJlZW4gdXBkYXRlZCB0byA4LjYuMy4gIFRoZSBtb3N0IHZpc2libGUKKyAgcmVzdWx0IG9mIHRoaXMgY2hhbmdlIGlzIHRoZSBhZGRpdGlvbiBvZiBuZXcgbmF0aXZlIGZpbGUgZGlhbG9ncyB3aGVuCisgIHJ1bm5pbmcgb24gV2luZG93cyBWaXN0YSBvciBuZXdlci4gIFNlZSBUY2wvVGsncyBUSVAgNDMyIGZvciBtb3JlCisgIGluZm9ybWF0aW9uLiAgQWxzbywgdGhpcyB2ZXJzaW9uIG9mIFRjbC9UayBpbmNsdWRlcyBzdXBwb3J0IGZvciBXaW5kb3dzIDEwLgorCistIElzc3VlICMxNzg5NjogVGhlIFdpbmRvd3MgYnVpbGQgc2NyaXB0cyBub3cgZXhwZWN0IGV4dGVybmFsIGxpYnJhcnkgc291cmNlcworICB0byBiZSBpbiBgYFBDYnVpbGRcLi5cZXh0ZXJuYWxzYGAgcmF0aGVyIHRoYW4gYGBQQ2J1aWxkXC4uXC4uYGAuCisKKy0gSXNzdWUgIzE3NzE3OiBUaGUgV2luZG93cyBidWlsZCBzY3JpcHRzIG5vdyB1c2UgYSBjb3B5IG9mIE5BU00gcHVsbGVkIGZyb20KKyAgc3ZuLnB5dGhvbi5vcmcgdG8gYnVpbGQgT3BlblNTTC4KKworLSBJc3N1ZSAjMjE5MDc6IEltcHJvdmVkIHRoZSBiYXRjaCBzY3JpcHRzIHByb3ZpZGVkIGZvciBidWlsZGluZyBQeXRob24uCisKKy0gSXNzdWUgIzIyNjQ0OiBUaGUgYnVuZGxlZCB2ZXJzaW9uIG9mIE9wZW5TU0wgaGFzIGJlZW4gdXBkYXRlZCB0byAxLjAuMWouCisKKy0gSXNzdWUgIzEwNzQ3OiBVc2UgdmVyc2lvbmVkIGxhYmVscyBpbiB0aGUgV2luZG93cyBzdGFydCBtZW51LgorICBQYXRjaCBieSBPbGl2ZSBLaWxidXJuLgorCistIElzc3VlICMyMjk4MDogLnB5ZCBmaWxlcyB3aXRoIGEgdmVyc2lvbiBhbmQgcGxhdGZvcm0gdGFnIChmb3IgZXhhbXBsZSwKKyAgIi5jcDM1LXdpbjMyLnB5ZCIpIHdpbGwgbm93IGJlIGxvYWRlZCBpbiBwcmVmZXJlbmNlIHRvIHRob3NlIHdpdGhvdXQgdGFncy4KIAogV2hhdCdzIE5ldyBpbiBQeXRob24gMy40LjA/CiA9PT09PT09PT09PT09PT09PT09PT09PT09PT0KQEAgLTUzNzQsNiArNTkzNCwxMCBAQAogRG9jdW1lbnRhdGlvbgogLS0tLS0tLS0tLS0tLQogCistIElzc3VlICMyMzAwNjogSW1wcm92ZSB0aGUgZG9jdW1lbnRhdGlvbiBhbmQgaW5kZXhpbmcgb2YgZGljdC5fX21pc3NpbmdfXy4KKyAgQWRkIGFuIGVudHJ5IGluIHRoZSBsYW5ndWFnZSBkYXRhbW9kZWwgc3BlY2lhbCBtZXRob2RzIHNlY3Rpb24uCisgIFJldmlzZSBhbmQgaW5kZXggaXRzIGRpc2N1c3Npb24gaW4gdGhlIHN0ZHR5cGVzIG1hcHBpbmcvZGljdCBzZWN0aW9uLgorCiAtIElzc3VlICMxNzcwMTogSW1wcm92aW5nIHN0cmZ0aW1lIGRvY3VtZW50YXRpb24uCiAKIC0gSXNzdWUgIzE4NDQwOiBDbGFyaWZ5IHRoYXQgYGhhc2goKWAgY2FuIHRydW5jYXRlIHRoZSB2YWx1ZSByZXR1cm5lZCBmcm9tIGFuCkBAIC01NTM2LDQxNDEgKzYxMDAsNCBAQAogLSBJc3N1ZSAjMTg1Njk6IFRoZSBpbnN0YWxsZXIgbm93IGFkZHMgLnB5IHRvIHRoZSBQQVRIRVhUIHZhcmlhYmxlIHdoZW4gZXh0ZW5zaW9ucwogICBhcmUgcmVnaXN0ZXJlZC4gUGF0Y2ggYnkgUGF1bCBNb29yZS4KIAotCi1XaGF0J3MgTmV3IGluIFB5dGhvbiAzLjMuMD8KLT09PT09PT09PT09PT09PT09PT09PT09PT09PQotCi0qUmVsZWFzZSBkYXRlOiAyOS1TZXAtMjAxMioKLQotQ29yZSBhbmQgQnVpbHRpbnMKLS0tLS0tLS0tLS0tLS0tLS0tCi0KLS0gSXNzdWUgIzE2MDQ2OiBGaXggbG9hZGluZyBzb3VyY2VsZXNzIGxlZ2FjeSAucHlvIGZpbGVzLgotCi0tIElzc3VlICMxNjA2MDogRml4IHJlZmNvdW50aW5nIGJ1ZyB3aGVuIGBfX3RydW5jX18oKWAgcmV0dXJucyBhbiBvYmplY3Qgd2hvc2UKLSAgYF9faW50X18oKWAgZ2l2ZXMgYSBub24taW50ZWdlci4gIFBhdGNoIGJ5IFNlcmhpeSBTdG9yY2hha2EuCi0KLUV4dGVuc2lvbiBNb2R1bGVzCi0tLS0tLS0tLS0tLS0tLS0tLQotCi0tIElzc3VlICMxNjAxMjogRml4IGEgcmVncmVzc2lvbiBpbiBweWV4cGF0LiBUaGUgcGFyc2VyJ3MgYFVzZUZvcmVpZ25EVEQoKWAKLSAgbWV0aG9kIGRvZXNuJ3QgcmVxdWlyZSBhbiBhcmd1bWVudCBhZ2Fpbi4KLQotCi1XaGF0J3MgTmV3IGluIFB5dGhvbiAzLjMuMCBSZWxlYXNlIENhbmRpZGF0ZSAzPwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLQotKlJlbGVhc2UgZGF0ZTogMjMtU2VwLTIwMTIqCi0KLUNvcmUgYW5kIEJ1aWx0aW5zCi0tLS0tLS0tLS0tLS0tLS0tLQotCi0tIElzc3VlICMxNTkwMDogRml4IHJlZmVyZW5jZSBsZWFrIGluIGBQeVVuaWNvZGVfVHJhbnNsYXRlQ2hhcm1hcCgpYC4KLQotLSBJc3N1ZSAjMTU5MjY6IEZpeCBjcmFzaCBhZnRlciBtdWx0aXBsZSByZWluaXRpYWxpemF0aW9ucyBvZiB0aGUgaW50ZXJwcmV0ZXIuCi0KLS0gSXNzdWUgIzE1ODk1OiBGaXggRklMRSBwb2ludGVyIGxlYWsgaW4gb25lIGVycm9yIGJyYW5jaCBvZgotICBgUHlSdW5fU2ltcGxlRmlsZUV4RmxhZ3MoKWAgd2hlbiBmaWxlbmFtZSBwb2ludHMgdG8gYSBweWMvcHlvIGZpbGUsIGNsb3NlaXQgaXMKLSAgZmFsc2UgYW4gYW5kIHNldF9tYWluX2xvYWRlcigpIGZhaWxzLgotCi0tIEZpeGVzIGZvciBhIGZldyBjcmFzaCBhbmQgbWVtb3J5IGxlYWsgcmVncmVzc2lvbnMgZm91bmQgYnkgQ292ZXJpdHkuCi0KLUxpYnJhcnkKLS0tLS0tLS0KLQotLSBJc3N1ZSAjMTU4ODI6IENoYW5nZSBgX2RlY2ltYWxgIHRvIGFjY2VwdCBhbnkgY29lZmZpY2llbnQgdHVwbGUgd2hlbgotICBjb25zdHJ1Y3RpbmcgaW5maW5pdGllcy4gVGhpcyBpcyBkb25lIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB3aXRoCi0gIGRlY2ltYWwucHk6IEluZmluaXR5IGNvZWZmaWNpZW50cyBhcmUgdW5kZWZpbmVkIGluIF9kZWNpbWFsIChpbiBhY2NvcmRhbmNlCi0gIHdpdGggdGhlIHNwZWNpZmljYXRpb24pLgotCi0tIElzc3VlICMxNTkyNTogRml4IGEgcmVncmVzc2lvbiBpbiBgZW1haWwudXRpbGAgd2hlcmUgdGhlIGBwYXJzZWRhdGUoKWAgYW5kCi0gIGBwYXJzZWRhdGVfdHooKWAgZnVuY3Rpb25zIGRpZCBub3QgcmV0dXJuIE5vbmUgYW55bW9yZSB3aGVuIHRoZSBhcmd1bWVudCBjb3VsZAotICBub3QgYmUgcGFyc2VkLgotCi1FeHRlbnNpb24gTW9kdWxlcwotLS0tLS0tLS0tLS0tLS0tLS0KLQotLSBJc3N1ZSAjMTU5NzM6IEZpeCBhIHNlZ21lbnRhdGlvbiBmYXVsdCB3aGVuIGNvbXBhcmluZyBkYXRldGltZSB0aW1lem9uZQotICBvYmplY3RzLgotCi0tIElzc3VlICMxNTk3NzogRml4IG1lbW9yeSBsZWFrIGluIE1vZHVsZXMvX3NzbC5jIHdoZW4gdGhlIGZ1bmN0aW9uCi0gIF9zZXRfbnBuX3Byb3RvY29scygpIGlzIGNhbGxlZCBtdWx0aXBsZSB0aW1lcywgdGhhbmtzIHRvIERhbmllbCBTb21tZXJtYW5uLgotCi0tIElzc3VlICMxNTk2OTogYGZhdWx0aGFuZGxlcmAgbW9kdWxlOiByZW5hbWUgZHVtcF90cmFjZWJhY2tzX2xhdGVyKCkgdG8KLSAgZHVtcF90cmFjZWJhY2tfbGF0ZXIoKSBhbmQgY2FuY2VsX2R1bXBfdHJhY2ViYWNrc19sYXRlcigpIHRvCi0gIGNhbmNlbF9kdW1wX3RyYWNlYmFja19sYXRlcigpLgotCi0tIF9kZWNpbWFsIG1vZHVsZTogdXNlIG9ubHkgQyA4OSBzdHlsZSBjb21tZW50cy4KLQotCi1XaGF0J3MgTmV3IGluIFB5dGhvbiAzLjMuMCBSZWxlYXNlIENhbmRpZGF0ZSAyPwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLQotKlJlbGVhc2UgZGF0ZTogMDktU2VwLTIwMTIqCi0KLUNvcmUgYW5kIEJ1aWx0aW5zCi0tLS0tLS0tLS0tLS0tLS0tLQotCi0tIElzc3VlICMxMzk5MjogVGhlIHRyYXNoY2FuIG1lY2hhbmlzbSBpcyBub3cgdGhyZWFkLXNhZmUuICBUaGlzIGVsaW1pbmF0ZXMKLSAgc3BvcmFkaWMgY3Jhc2hlcyBpbiBtdWx0aS10aHJlYWQgcHJvZ3JhbXMgd2hlbiBzZXZlcmFsIGxvbmcgZGVhbGxvY2F0b3IgY2hhaW5zCi0gIHJhbiBjb25jdXJyZW50bHkgYW5kIGludm9sdmVkIHN1YmNsYXNzZXMgb2YgYnVpbHQtaW4gY29udGFpbmVyIHR5cGVzLgotCi0tIElzc3VlICMxNTc4NDogTW9kaWZ5IGBPU0Vycm9yYC5fX3N0cl9fKCkgdG8gYmV0dGVyIGRpc3Rpbmd1aXNoIGJldHdlZW4gZXJybm8KLSAgZXJyb3IgbnVtYmVycyBhbmQgV2luZG93cyBlcnJvciBudW1iZXJzLgotCi0tIElzc3VlICMxNTc4MTogRml4IHR3byBzbWFsbCByYWNlIGNvbmRpdGlvbnMgaW4gaW1wb3J0J3MgbW9kdWxlIGxvY2tpbmcuCi0KLUxpYnJhcnkKLS0tLS0tLS0KLQotLSBJc3N1ZSAjMTcxNTg6IEFkZCAnc3ltYm9scycgdG8gaGVscCgpIHdlbGNvbWUgbWVzc2FnZTsgY2xhcmlmeQotICAnbW9kdWxlcyBzcGFtJyBtZXNzYWdlcy4KLQotLSBJc3N1ZSAjMTU4NDc6IEZpeCBhIHJlZ3Jlc3Npb24gaW4gYXJncGFyc2UsIHdoaWNoIGRpZCBub3QgYWNjZXB0IHR1cGxlcyBhcwotICBhcmd1bWVudCBsaXN0cyBhbnltb3JlLgotCi0tIElzc3VlICMxNTgyODogUmVzdG9yZSBzdXBwb3J0IGZvciBDIGV4dGVuc2lvbnMgaW4gYGltcC5sb2FkX21vZHVsZSgpYC4KLQotLSBJc3N1ZSAjMTUzNDA6IEZpeCBpbXBvcnRpbmcgdGhlIHJhbmRvbSBtb2R1bGUgd2hlbiBgYC9kZXYvdXJhbmRvbWBgIGNhbm5vdCBiZQotICBvcGVuZWQuICBUaGlzIHdhcyBhIHJlZ3Jlc3Npb24gY2F1c2VkIGJ5IHRoZSBoYXNoIHJhbmRvbWl6YXRpb24gcGF0Y2guCi0KLS0gSXNzdWUgIzEwNjUwOiBEZXByZWNhdGUgdGhlIHdhdGNoZXhwIHBhcmFtZXRlciBvZiB0aGUgYERlY2ltYWwucXVhbnRpemUoKWAKLSAgbWV0aG9kLgotCi0tIElzc3VlICMxNTc4NTogTW9kaWZ5IGB3aW5kb3cuZ2V0X3djaCgpYCBBUEkgb2YgdGhlIGN1cnNlcyBtb2R1bGU6IHJldHVybiBhCi0gIGNoYXJhY3RlciBmb3IgbW9zdCBrZXlzLCBhbmQgYW4gaW50ZWdlciBmb3Igc3BlY2lhbCBrZXlzLCBpbnN0ZWFkIG9mIGFsd2F5cwotICByZXR1cm5pbmcgYW4gaW50ZWdlci4gU28gaXQgaXMgbm93IHBvc3NpYmxlIHRvIGRpc3Rpbmd1aXNoIHNwZWNpYWwga2V5cyBsaWtlCi0gIGtleXBhZCBrZXlzLgotCi0tIElzc3VlICMxNDIyMzogRml4IGB3aW5kb3cuYWRkY2goKWAgb2YgdGhlIGN1cnNlcyBtb2R1bGUgZm9yIHNwZWNpYWwgY2hhcmFjdGVycwotICBsaWtlIGN1cnNlcy5BQ1NfSExJTkU6IHRoZSBQeXRob24gZnVuY3Rpb24gYWRkY2goaW50KSBhbmQgYWRkY2goYnl0ZXMpIGlzIG5vdwotICBjYWxsaW5nIHRoZSBDIGZ1bmN0aW9uIHdhZGRjaCgpL212d2FkZGNoKCkgKGFzIGl0IHdhcyBkb25lIGluIFB5dGhvbiAzLjIpLAotICBpbnN0ZWFkIG9mIHdhZGRfd2NoKCkvbXZ3YWRkX3djaCgpLiBUaGUgUHl0aG9uIGZ1bmN0aW9uIGFkZGNoKHN0cikgaXMgc3RpbGwKLSAgY2FsbGluZyB0aGUgQyBmdW5jdGlvbiB3YWRkX3djaCgpL212d2FkZF93Y2goKSBpZiB0aGUgUHl0aG9uIGN1cnNlcyBpcyBsaW5rZWQKLSAgdG8gbGlibmN1cnNlc3cuCi0KLUJ1aWxkCi0tLS0tLQotCi0tIElzc3VlICMxNTgyMjogUmVhbGx5IGVuc3VyZSAydG8zIGdyYW1tYXIgcGlja2xlcyBhcmUgcHJvcGVybHkgaW5zdGFsbGVkCi0gIChyZXBsYWNlcyBmaXhlcyBmb3IgSXNzdWUgIzE1NjQ1KS4KLQotRG9jdW1lbnRhdGlvbgotLS0tLS0tLS0tLS0tLQotCi0tIElzc3VlICMxNTgxNDogVGhlIG1lbW9yeXZpZXcgZW5oYW5jZW1lbnRzIGluIDMuMy4wIGFjY2lkZW50YWxseSBwZXJtaXR0ZWQgdGhlCi0gIGhhc2hpbmcgb2YgbXVsdGktZGltZW5zaW9uYWwgbWVtb3J2aWV3cyBhbmQgbWVtb3J5dmlld3Mgd2l0aCBtdWx0aS1ieXRlIGl0ZW0KLSAgZm9ybWF0cy4gVGhlIGludGVuZGVkIHJlc3RyaWN0aW9ucyBoYXZlIG5vdyBiZWVuIGRvY3VtZW50ZWQgLSB0aGV5IHdpbGwgYmUKLSAgY29ycmVjdGx5IGVuZm9yY2VkIGluIDMuMy4xLgotCi0KLVdoYXQncyBOZXcgaW4gUHl0aG9uIDMuMy4wIFJlbGVhc2UgQ2FuZGlkYXRlIDE/Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotCi0qUmVsZWFzZSBkYXRlOiAyNS1BdWctMjAxMioKLQotQ29yZSBhbmQgQnVpbHRpbnMKLS0tLS0tLS0tLS0tLS0tLS0tCi0KLS0gSXNzdWUgIzE1NTczOiBtZW1vcnl2aWV3IGNvbXBhcmlzb25zIGFyZSBub3cgcGVyZm9ybWVkIGJ5IHZhbHVlIHdpdGggZnVsbAotICBzdXBwb3J0IGZvciBhbnkgdmFsaWQgc3RydWN0IG1vZHVsZSBmb3JtYXQgZGVmaW5pdGlvbi4KLQotLSBJc3N1ZSAjMTUzMTY6IFdoZW4gYW4gaXRlbSBpbiB0aGUgZnJvbWxpc3QgZm9yIGBfX2ltcG9ydF9fKClgIGRvZXNuJ3QgZXhpc3QsCi0gIGRvbid0IHJhaXNlIGFuIGVycm9yLCBidXQgaWYgYW4gZXhjZXB0aW9uIGlzIHJhaXNlZCBhcyBwYXJ0IG9mIGFuIGltcG9ydCBkbwotICBsZXQgdGhhdCBwcm9wYWdhdGUuCi0KLS0gSXNzdWUgIzE1Nzc4OiBFbnN1cmUgdGhhdCBgYHN0cihJbXBvcnRFcnJvcihtc2cpKWBgIHJldHVybnMgYSBzdHIgZXZlbiB3aGVuCi0gIG1zZyBpc24ndCBhIHN0ci4KLQotLSBJc3N1ZSAjMjA1MTogU291cmNlIGZpbGUgcGVybWlzc2lvbiBiaXRzIGFyZSBvbmNlIGFnYWluIGNvcnJlY3RseSBjb3BpZWQgdG8KLSAgdGhlIGNhY2hlZCBieXRlY29kZSBmaWxlLiAoVGhlIG1pZ3JhdGlvbiB0byBpbXBvcnRsaWIgcmVpbnRyb2R1Y2VkIHRoaXMKLSAgcHJvYmxlbSBiZWNhdXNlIHRoZXNlIHdhcyBubyByZWdyZXNzaW9uIHRlc3QuIEEgdGVzdCBoYXMgYmVlbiBhZGRlZCBhcyBwYXJ0IG9mCi0gIHRoaXMgcGF0Y2gpCi0KLS0gSXNzdWUgIzE1NzYxOiBGaXggY3Jhc2ggd2hlbiBgYFBZVEhPTkVYRUNVVEFCTEVgYCBpcyBzZXQgb24gTWFjIE9TIFguCi0KLS0gSXNzdWUgIzE1NzI2OiBGaXggaW5jb3JyZWN0IGJvdW5kcyBjaGVja2luZyBpbiBQeVN0YXRlX0ZpbmRNb2R1bGUuICBQYXRjaCBieQotICBSb2JpbiBTY2hyZWliZXIuCi0KLS0gSXNzdWUgIzE1NjA0OiBVcGRhdGUgdXNlcyBvZiBgUHlPYmplY3RfSXNUcnVlKClgIHRvIGNoZWNrIGZvciBhbmQgaGFuZGxlCi0gIGVycm9ycyBjb3JyZWN0bHkuICBQYXRjaCBieSBTZXJoaXkgU3RvcmNoYWthLgotCi0tIElzc3VlICMxNDg0NjogYGltcG9ydGxpYi5GaWxlRmluZGVyYCBub3cgaGFuZGxlcyB0aGUgY2FzZSB3aGVyZSB0aGUgZGlyZWN0b3J5Ci0gIGJlaW5nIHNlYXJjaGVkIGlzIHJlbW92ZWQgYWZ0ZXIgYSBwcmV2aW91cyBpbXBvcnQgYXR0ZW1wdC4KLQotTGlicmFyeQotLS0tLS0tLQotCi0tIElzc3VlICMxMzM3MDogRW5zdXJlIHRoYXQgY3R5cGVzIHdvcmtzIG9uIE1hYyBPUyBYIHdoZW4gUHl0aG9uIGlzIGNvbXBpbGVkCi0gIHVzaW5nIHRoZSBjbGFuZyBjb21waWxlci4KLQotLSBJc3N1ZSAjMTMwNzI6IFRoZSBhcnJheSBtb2R1bGUncyAndScgZm9ybWF0IGNvZGUgaXMgbm93IGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUKLSAgcmVtb3ZlZCBpbiBQeXRob24gNC4wLgotCi0tIElzc3VlICMxNTU0NDogRml4IERlY2ltYWwuX19mbG9hdF9fIHRvIHdvcmsgd2l0aCBwYXlsb2FkLWNhcnJ5aW5nIE5hTnMuCi0KLS0gSXNzdWUgIzE1Nzc2OiBBbGxvdyBweXZlbnYgdG8gd29yayBpbiBleGlzdGluZyBkaXJlY3Rvcnkgd2l0aCAtLWNsZWFuLgotCi0tIElzc3VlICMxNTI0OTogZW1haWwncyBCeXRlc0dlbmVyYXRvciBub3cgY29ycmVjdGx5IG1hbmdsZXMgRnJvbSBsaW5lcyAod2hlbgotICByZXF1ZXN0ZWQpIGV2ZW4gaWYgdGhlIGJvZHkgY29udGFpbnMgdW5kZWNvZGFibGUgYnl0ZXMuCi0KLS0gSXNzdWUgIzE1Nzc3OiBGaXggYSByZWZsZWFrIGluIF9wb3NpeHN1YnByb2Nlc3MuCi0KLS0gSXNzdWUgIyM2NjUxOTQ6IFVwZGF0ZSBgZW1haWwudXRpbHMubG9jYWx0aW1lYCB0byB1c2UgZGF0ZXRpbWUuYXN0aW1lem9uZSBhbmQKLSAgY29ycmVjdGx5IGhhbmRsZSBoaXN0b3JpYyBjaGFuZ2VzIGluIFVUQyBvZmZzZXRzLgotCi0tIElzc3VlICMxNTE5OTogRml4IEphdmFTY3JpcHQncyBkZWZhdWx0IE1JTUUgdHlwZSB0byBhcHBsaWNhdGlvbi9qYXZhc2NyaXB0LgotICBQYXRjaCBieSBCb2h1c2xhdiBLYWJyZGEuCi0KLS0gSXNzdWUgIzEyNjQzOiBgY29kZS5JbnRlcmFjdGl2ZUNvbnNvbGVgIG5vdyByZXNwZWN0cyBgc3lzLmV4Y2VwdGhvb2tgIHdoZW4KLSAgZGlzcGxheWluZyBleGNlcHRpb25zLiAgUGF0Y2ggYnkgQWFyb24gSWxlcy4KLQotLSBJc3N1ZSAjMTM1Nzk6IGBzdHJpbmcuRm9ybWF0dGVyYCBub3cgdW5kZXJzdGFuZHMgdGhlICdhJyBjb252ZXJzaW9uIHNwZWNpZmllci4KLQotLSBJc3N1ZSAjMTU1OTU6IEZpeCBgYHN1YnByb2Nlc3MuUG9wZW4odW5pdmVyc2FsX25ld2xpbmVzPVRydWUpYGAgZm9yIGNlcnRhaW4KLSAgbG9jYWxlcyAodXRmLTE2IGFuZCB1dGYtMzIgZmFtaWx5KS4gUGF0Y2ggYnkgQ2hyaXMgSmVyZG9uZWsuCi0KLS0gSXNzdWUgIzE1NDc3OiBJbiBjbWF0aCBhbmQgbWF0aCBtb2R1bGVzLCBhZGQgd29ya2Fyb3VuZCBmb3IgcGxhdGZvcm1zIHdob3NlCi0gIHN5c3RlbS1zdXBwbGllZCBsb2cxcCBmdW5jdGlvbiBkb2Vzbid0IHJlc3BlY3Qgc2lnbnMgb2YgemVyb3MuCi0KLS0gSXNzdWUgIzE1NzE1OiBgaW1wb3J0bGliLl9faW1wb3J0X18oKWAgd2lsbCBzaWxlbmNlIGFuIEltcG9ydEVycm9yIHdoZW4gdGhlCi0gIHVzZSBvZiBmcm9tbGlzdCBsZWFkcyB0byBhIGZhaWxlZCBpbXBvcnQuCi0KLS0gSXNzdWUgIzE0NjY5OiBGaXggcGlja2xpbmcgb2YgY29ubmVjdGlvbnMgYW5kIHNvY2tldHMgb24gTWFjIE9TIFggYnkKLSAgc2VuZGluZy9yZWNlaXZpbmcgYW4gYWNrbm93bGVkZ21lbnQgYWZ0ZXIgZmlsZSBkZXNjcmlwdG9yIHRyYW5zZmVyLgotICBUZXN0UGlja2xpbmdDb25uZWN0aW9uIGhhcyBiZWVuIHJlZW5hYmxlZCBmb3IgTWFjIE9TIFguCi0KLS0gSXNzdWUgIzExMDYyOiBGaXggYWRkaW5nIGEgbWVzc2FnZSBmcm9tIGZpbGUgdG8gQmFieWwgbWFpbGJveC4KLQotLSBJc3N1ZSAjMTU2NDY6IFByZXZlbnQgZXF1aXZhbGVudCBvZiBhIGZvcmsgYm9tYiB3aGVuIHVzaW5nIGBtdWx0aXByb2Nlc3NpbmdgCi0gIG9uIFdpbmRvd3Mgd2l0aG91dCB0aGUgYGBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nYGAgaWRpb20uCi0KLUlETEUKLS0tLS0KLQotLSBJc3N1ZSAjMTU2Nzg6IEZpeCBJRExFIG1lbnVzIHdoZW4gc3RhcnRlZCBmcm9tIE9TIFggY29tbWFuZCBsaW5lICgzLjMuMGIyCi0gIHJlZ3Jlc3Npb24pLgotCi1Eb2N1bWVudGF0aW9uCi0tLS0tLS0tLS0tLS0tCi0KLS0gVG91Y2hlZCB1cCB0aGUgUHl0aG9uIDIgdG8gMyBwb3J0aW5nIGd1aWRlLgotCi0tIElzc3VlICMxNDY3NDogQWRkIGEgZGlzY3Vzc2lvbiBvZiB0aGUgYGpzb25gIG1vZHVsZSdzIHN0YW5kYXJkIGNvbXBsaWFuY2UuCi0gIFBhdGNoIGJ5IENocmlzIFJlYmVydC4KLQotLSBDcmVhdGUgYSAnQ29uY3VycmVudCBFeGVjdXRpb24nIHNlY3Rpb24gaW4gdGhlIGRvY3MsIGFuZCBzcGxpdCB1cCB0aGUKLSAgJ09wdGlvbmFsIE9wZXJhdGluZyBTeXN0ZW0gU2VydmljZXMnIHNlY3Rpb24gdG8gdXNlIGEgbW9yZSB1c2VyLWNlbnRyaWMKLSAgY2xhc3NpZmljYXRpb24gc2NoZW1lIChzcGxpdHRpbmcgdGhlbSBhY3Jvc3MgdGhlIG5ldyBDRSBzZWN0aW9uLCBJUEMgYW5kIHRleHQKLSAgcHJvY2Vzc2luZykuIE9wZXJhdGluZyBzeXN0ZW0gbGltaXRhdGlvbnMgY2FuIGJlIHJlZmxlY3RlZCB3aXRoIHRoZSBTcGhpbngKLSAgYGA6cGxhdGZvcm06YGAgdGFnLCBpdCBkb2Vzbid0IG1ha2Ugc2Vuc2UgYXMgcGFydCBvZiB0aGUgVGFibGUgb2YgQ29udGVudHMuCi0KLS0gSXNzdWUgIzQ5NjY6IEJyaW5nIHRoZSBzZXF1ZW5jZSBkb2NzIHVwIHRvIGRhdGUgZm9yIHRoZSBQeTNrIHRyYW5zaXRpb24gYW5kCi0gIHRoZSBtYW55IGxhbmd1YWdlIGVuaGFuY2VtZW50cyBzaW5jZSB0aGV5IHdlcmUgb3JpZ2luYWwgd3JpdHRlbi4KLQotLSBUaGUgInBhdGggaW1wb3J0ZXIiIG1pc25vbWVyIGhhcyBiZWVuIHJlcGxhY2VkIHdpdGggRXJpYyBTbm93J3MKLSAgbW9yZS1hd2t3YXJkLWJ1dC1hdC1sZWFzdC1ub3Qtd3Jvbmcgc3VnZ2VzdGlvbiBvZiAicGF0aCBiYXNlZCBmaW5kZXIiIGluIHRoZQotICBpbXBvcnQgc3lzdGVtIHJlZmVyZW5jZSBkb2NzLgotCi0tIElzc3VlICMxNTY0MDogRG9jdW1lbnQgYGltcG9ydGxpYi5hYmMuRmluZGVyYCBhcyBkZXByZWNhdGVkLgotCi0tIElzc3VlICMxNTYzMDogQWRkIGFuIGV4YW1wbGUgZm9yICJjb250aW51ZSIgc3RtdCBpbiB0aGUgdHV0b3JpYWwuICBQYXRjaCBieQotICBEYW5pZWwgRWxsaXMuCi0KLVRlc3RzCi0tLS0tLQotCi0tIElzc3VlICMxNTc0NzogWkZTIGFsd2F5cyByZXR1cm5zIEVPUE5PVFNVUFAgd2hlbiBhdHRlbXB0aW5nIHRvIHNldCB0aGUKLSAgVUZfSU1NVVRBQkxFIGZsYWcgKHZpYSBlaXRoZXIgY2hmbGFncyBvciBsY2hmbGFncyk7IHJlZmFjdG9yIGFmZmVjdGVkIHRlc3RzIGluCi0gIHRlc3RfcG9zaXgucHkgdG8gYWNjb3VudCBmb3IgdGhpcy4KLQotLSBJc3N1ZSAjMTUyODU6IFJlZmFjdG9yIHRoZSBhcHByb2FjaCBmb3IgdGVzdGluZyBjb25uZWN0IHRpbWVvdXRzIHVzaW5nIHR3bwotICBleHRlcm5hbCBob3N0cyB0aGF0IGhhdmUgYmVlbiBjb25maWd1cmVkIHNwZWNpZmljYWxseSBmb3IgdGhpcyB0eXBlIG9mIHRlc3QuCi0KLS0gSXNzdWUgIzE1NzQzOiBSZW1vdmUgdGhlIGRlcHJlY2F0ZWQgbWV0aG9kIHVzYWdlIGluIGB1cmxsaWJgIHRlc3RzLiBQYXRjaCBieQotICBKZWZmIEtudXBwLgotCi0tIElzc3VlICMxNTYxNTogQWRkIHNvbWUgdGVzdHMgZm9yIHRoZSBganNvbmAgbW9kdWxlJ3MgaGFuZGxpbmcgb2YgaW52YWxpZCBpbnB1dAotICBkYXRhLiAgUGF0Y2ggYnkgS3VzaGFsIERhcy4KLQotQnVpbGQKLS0tLS0tCi0KLS0gT3V0cHV0IGxpYiBmaWxlcyBmb3IgUEdPIGJ1aWxkIGludG8gUEdPIGRpcmVjdG9yeS4KLQotLSBQaWNrIHVwIDMyLWJpdCBsYXVuY2hlciBmcm9tIFBHTyBkaXJlY3Rvcnkgb24gNjQtYml0IFBHTyBidWlsZC4KLQotLSBEcm9wIGBgUENccHl0aG9uX250LmhgYCBhcyBpdCdzIG5vdCB1c2VkLiAgQWRkIGlucHV0IGRlcGVuZGVuY3kgb24gY3VzdG9tCi0gIGJ1aWxkIHN0ZXAuCi0KLS0gSXNzdWUgIzE1NTExOiBEcm9wIGV4cGxpY2l0IGRlcGVuZGVuY3kgb24gcHl0aG9ueHkubGliIGZyb20gX2RlY2ltYWwgYW1kNjQKLSAgY29uZmlndXJhdGlvbi4KLQotLSBBZGQgbWlzc2luZyBQR0kvUEdPIGNvbmZpZ3VyYXRpb25zIGZvciBweXdsYXVuY2hlci4KLQotLSBJc3N1ZSAjMTU2NDU6IEVuc3VyZSAydG8zIGdyYW1tYXIgcGlja2xlcyBhcmUgcHJvcGVybHkgaW5zdGFsbGVkLgotCi0KLVdoYXQncyBOZXcgaW4gUHl0aG9uIDMuMy4wIEJldGEgMj8KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLQotKlJlbGVhc2UgZGF0ZTogMTItQXVnLTIwMTIqCi0KLUNvcmUgYW5kIEJ1aWx0aW5zCi0tLS0tLS0tLS0tLS0tLS0tLQotCi0tIElzc3VlICMxNTU2ODogRml4IHRoZSByZXR1cm4gdmFsdWUgb2YgYGB5aWVsZCBmcm9tYGAgd2hlbiBTdG9wSXRlcmF0aW9uIGlzCi0gIHJhaXNlZCBieSBhIGN1c3RvbSBpdGVyYXRvci4KLQotLSBJc3N1ZSAjMTMxMTk6IGBzeXMuc3Rkb3V0YCBhbmQgYHN5cy5zdGRlcnJgIGFyZSBub3cgdXNpbmcgIlxyXG4iIG5ld2xpbmUgb24KLSAgV2luZG93cywgYXMgUHl0aG9uIDIuCi0KLS0gSXNzdWUgIzE1NTM0OiBGaXggdGhlIGZhc3Qtc2VhcmNoIGZ1bmN0aW9uIGZvciBub24tQVNDSUkgVW5pY29kZSBzdHJpbmdzLgotCi0tIElzc3VlICMxNTUwODogRml4IHRoZSBkb2NzdHJpbmcgZm9yIGBfX2ltcG9ydF9fKClgIHRvIGhhdmUgdGhlIHByb3BlciBkZWZhdWx0Ci0gIHZhbHVlIG9mIDAgZm9yICdsZXZlbCcgYW5kIHRvIG5vdCBtZW50aW9uIG5lZ2F0aXZlIGxldmVscyBzaW5jZSB0aGV5IGFyZSBub3QKLSAgc3VwcG9ydGVkLgotCi0tIElzc3VlICMxNTQyNTogRWxpbWluYXRlZCB0cmFjZWJhY2sgbm9pc2UgZnJvbSBtb3JlIHNpdHVhdGlvbnMgaW52b2x2aW5nCi0gIGltcG9ydGxpYi4KLQotLSBJc3N1ZSAjMTQ1Nzg6IFN1cHBvcnQgbW9kdWxlcyByZWdpc3RlcmVkIGluIHRoZSBXaW5kb3dzIHJlZ2lzdHJ5IGFnYWluLgotCi0tIElzc3VlICMxNTQ2NjogU3RvcCB1c2luZyBUWVBFX0lOVDY0IGluIG1hcnNoYWwsIHRvIG1ha2UgaW1wb3J0bGliLmggKGFuZCBvdGhlcgotICBieXRlIGNvZGUgZmlsZXMpIGVxdWFsIGJldHdlZW4gMzItYml0IGFuZCA2NC1iaXQgc3lzdGVtcy4KLQotLSBJc3N1ZSAjMTY5MjMzNTogTW92ZSBpbml0aWFsIGV4Y2VwdGlvbiBhcmdzIGFzc2lnbm1lbnQgdG8KLSAgYEJhc2VFeGNlcHRpb24uX19uZXdfXygpYCB0byBoZWxwIHBpY2tsaW5nIG9mIG5haXZlIHN1YmNsYXNzZXMuCi0KLS0gSXNzdWUgIzEyODM0OiBGaXggYFB5QnVmZmVyX1RvQ29udGlndW91cygpYCBmb3Igbm9uLWNvbnRpZ3VvdXMgYXJyYXlzLgotCi0tIElzc3VlICMxNTQ1NjogRml4IGNvZGUgYF9fc2l6ZW9mX18oKWAgYWZ0ZXIgIzEyMzk5IGNoYW5nZS4gIFBhdGNoIGJ5IFNlcmhpeQotICBTdG9yY2hha2EuCi0KLS0gSXNzdWUgIzE1NDA0OiBSZWZsZWFrIGluIFB5TWV0aG9kT2JqZWN0IHJlcHIuCi0KLS0gSXNzdWUgIzE1Mzk0OiBBbiBpc3N1ZSBpbiBgUHlNb2R1bGVfQ3JlYXRlKClgIHRoYXQgY2F1c2VkIHJlZmVyZW5jZXMgdG8gYmUKLSAgbGVha2VkIG9uIHNvbWUgZXJyb3IgcGF0aHMgaGFzIGJlZW4gZml4ZWQuICBQYXRjaCBieSBKdWxpYSBMYXdhbGwuCi0KLS0gSXNzdWUgIzE1MzY4OiBBbiBpc3N1ZSB0aGF0IGNhdXNlZCBieXRlY29kZSBnZW5lcmF0aW9uIHRvIGJlIG5vbi1kZXRlcm1pbmlzdGljCi0gIGhhcyBiZWVuIGZpeGVkLgotCi0tIElzc3VlICMxNTIwMjogQ29uc2lzdGVudGx5IHVzZSB0aGUgbmFtZSAiZm9sbG93X3N5bWxpbmtzIiBmb3IgbmV3IHBhcmFtZXRlcnMKLSAgaW4gb3MgYW5kIHNodXRpbCBmdW5jdGlvbnMuCi0KLS0gSXNzdWUgIzE1MzE0OiBgYF9fbWFpbl9fLl9fbG9hZGVyX19gYCBpcyBub3cgc2V0IGNvcnJlY3RseSBkdXJpbmcgaW50ZXJwcmV0ZXIKLSAgc3RhcnR1cC4KLQotLSBJc3N1ZSAjMTUxMTE6IFdoZW4gYSBtb2R1bGUgaW1wb3J0ZWQgdXNpbmcgJ2Zyb20gaW1wb3J0JyBoYXMgYW4gSW1wb3J0RXJyb3IKLSAgaW5zaWRlIGl0c2VsZiwgZG9uJ3QgbWFzayB0aGF0IGZhY3QgYmVoaW5kIGEgZ2VuZXJpYyBJbXBvcnRFcnJvciBmb3IgdGhlCi0gIG1vZHVsZSBpdHNlbGYuCi0KLS0gSXNzdWUgIzE1MjkzOiBBZGQgR0Mgc3VwcG9ydCB0byB0aGUgQVNUIGJhc2Ugbm9kZSB0eXBlLgotCi0tIElzc3VlICMxNTI5MTogRml4IGEgbWVtb3J5IGxlYWsgd2hlcmUgQVNUIG5vZGVzIHdoZXJlIG5vdCBwcm9wZXJseQotICBkZWFsbG9jYXRlZC4KLQotLSBJc3N1ZSAjMTUxMTA6IEZpeCB0aGUgdHJhY2ViYWNrcyBnZW5lcmF0ZWQgYnkgImltcG9ydCB4eHgiIHRvIG5vdCBzaG93IHRoZQotICBpbXBvcnRsaWIgc3RhY2sgZnJhbWVzLgotCi0tIElzc3VlICMxNjM2OTogR2xvYmFsIFB5VHlwZU9iamVjdHMgbm90IGluaXRpYWxpemVkIHdpdGggUHlUeXBlX1JlYWR5KC4uLikuCi0KLS0gSXNzdWUgIzE1MDIwOiBUaGUgcHJvZ3JhbSBuYW1lIHVzZWQgdG8gc2VhcmNoIGZvciBQeXRob24ncyBwYXRoIGlzIG5vdwotICAicHl0aG9uMyIgdW5kZXIgVW5peCwgbm90ICJweXRob24iLgotCi0tIElzc3VlICMxNTg5NzogemlwaW1wb3J0LmMgZG9lc24ndCBjaGVjayByZXR1cm4gdmFsdWUgb2YgZnNlZWsoKS4KLSAgUGF0Y2ggYnkgRmVsaXBlIENydXouCi0KLS0gSXNzdWUgIzE1MDMzOiBGaXggdGhlIGV4aXQgc3RhdHVzIGJ1ZyB3aGVuIG1vZHVsZXMgaW52b2tlZCB1c2luZyAtbSBzd2l0Y2gsCi0gIHJldHVybiB0aGUgcHJvcGVyIGZhaWx1cmUgcmV0dXJuIHZhbHVlICgxKS4gUGF0Y2ggY29udHJpYnV0ZWQgYnkgSmVmZiBLbnVwcC4KLQotLSBJc3N1ZSAjMTUyMjk6IEFuIGBPU0Vycm9yYCBzdWJjbGFzcyB3aG9zZSBfX2luaXRfXyBkb2Vzbid0IGNhbGwgYmFjawotICBPU0Vycm9yLl9faW5pdF9fIGNvdWxkIHByb2R1Y2UgaW5jb21wbGV0ZSBpbnN0YW5jZXMsIGxlYWRpbmcgdG8gY3Jhc2hlcyB3aGVuCi0gIGNhbGxpbmcgc3RyKCkgb24gdGhlbS4KLQotLSBJc3N1ZSAjMTUzMDc6IFZpcnR1YWwgZW52aXJvbm1lbnRzIG5vdyB1c2Ugc3ltbGlua3Mgd2l0aCBmcmFtZXdvcmsgYnVpbGRzIG9uCi0gIE1hYyBPUyBYLCBsaWtlIG90aGVyIFBPU0lYIGJ1aWxkcy4KLQotTGlicmFyeQotLS0tLS0tLQotCi0tIElzc3VlICMxNDU5MDogY29uZmlncGFyc2VyIG5vdyBjb3JyZWN0bHkgc3RyaXBzIGlubGluZSBjb21tZW50cyB3aGVuIGRlbGltaXRlcgotICBvY2N1cnMgZWFybGllciB3aXRob3V0IHByZWNlZGluZyBzcGFjZS4KLQotLSBJc3N1ZSAjMTU0MjQ6IEFkZCBhIGBfX3NpemVvZl9fKClgIGltcGxlbWVudGF0aW9uIGZvciBhcnJheSBvYmplY3RzLiAgUGF0Y2ggYnkKLSAgTHVkd2lnIEjDpGhuZS4KLQotLSBJc3N1ZSAjMTU1NzY6IEFsbG93IGV4dGVuc2lvbiBtb2R1bGVzIHRvIGFjdCBhcyBhIHBhY2thZ2UncyBfX2luaXRfXyBtb2R1bGUuCi0KLS0gSXNzdWUgIzE1NTAyOiBIYXZlIGBpbXBvcnRsaWIuaW52YWxpZGF0ZV9jYWNoZXMoKWAgd29yayBvbiBgc3lzLm1ldGFfcGF0aGAKLSAgaW5zdGVhZCBvZiBgc3lzLnBhdGhfaW1wb3J0ZXJfY2FjaGVgLgotCi0tIElzc3VlICMxNTE2MzogUHlkb2Mgc2hvdWxkbid0IGxpc3QgX19sb2FkZXJfXyBhcyBtb2R1bGUgZGF0YS4KLQotLSBJc3N1ZSAjMTU0NzE6IERvIG5vdCB1c2UgbXV0YWJsZSBvYmplY3RzIGFzIGRlZmF1bHRzIGZvcgotICBgaW1wb3J0bGliLl9faW1wb3J0X18oKWAuCi0KLS0gSXNzdWUgIzE1NTU5OiBUbyBhdm9pZCBhIHByb2JsZW1hdGljIGZhaWx1cmUgbW9kZSB3aGVuIHBhc3NlZCB0byB0aGUgYnl0ZXMKLSAgY29uc3RydWN0b3IsIG9iamVjdHMgaW4gdGhlIGlwYWRkcmVzcyBtb2R1bGUgbm8gbG9uZ2VyIGltcGxlbWVudCBgX19pbmRleF9fKClgCi0gICh0aGV5IHN0aWxsIGltcGxlbWVudCBgX19pbnRfXygpYCBhcyBhcHByb3ByaWF0ZSkuCi0KLS0gSXNzdWUgIzE1NTQ2OiBGaXggaGFuZGxpbmcgb2YgcGF0aG9sb2dpY2FsIGlucHV0IGRhdGEgaW4gdGhlIHBlZWsoKSBhbmQKLSAgcmVhZDEoKSBtZXRob2RzIG9mIHRoZSBCWjJGaWxlLCBHemlwRmlsZSBhbmQgTFpNQUZpbGUgY2xhc3Nlcy4KLQotLSBJc3N1ZSAjMTI2NTU6IEluc3RlYWQgb2YgcmVxdWlyaW5nIGEgY3VzdG9tIHR5cGUsIGBvcy5zY2hlZF9nZXRhZmZpbml0eSgpYCBhbmQKLSAgYG9zLnNjaGVkX3NldGFmZmluaXR5KClgIG5vdyB1c2UgcmVndWxhciBzZXRzIG9mIGludGVnZXJzIHRvIHJlcHJlc2VudCB0aGUKLSAgQ1BVcyBhIHByb2Nlc3MgaXMgcmVzdHJpY3RlZCB0by4KLQotLSBJc3N1ZSAjMTU1Mzg6IEZpeCBjb21waWxhdGlvbiBvZiB0aGUgYHNvY2tldC5nZXRuYW1laW5mbygpYCAvCi0gIGBzb2NrZXQuZ2V0YWRkcmluZm8oKWAgZW11bGF0aW9uIGNvZGUuICBQYXRjaCBieSBQaGlsaXBwIEhhZ2VtZWlzdGVyLgotCi0tIElzc3VlICMxNTUxOTogUHJvcGVybHkgZXhwb3NlIFdpbmRvd3NSZWdpc3RyeUZpbmRlciBpbiBpbXBvcnRsaWIgKGFuZCB1c2UgdGhlCi0gIGNvcnJlY3QgdGVybSBmb3IgaXQpLiAgT3JpZ2luYWwgcGF0Y2ggYnkgRXJpYyBTbm93LgotCi0tIElzc3VlICMxNTUwMjogQnJpbmcgdGhlIGltcG9ydGxpYiBBQkNzIGludG8gbGluZSB3aXRoIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZQotICBpbXBvcnQgcHJvdG9jb2xzIGdpdmVuIFBFUCA0MjAuICBPcmlnaW5hbCBwYXRjaCBieSBFcmljIFNub3cuCi0KLS0gSXNzdWUgIzE1NDk5OiBMYXVuY2hpbmcgYSB3ZWJicm93c2VyIGluIFVuaXggdXNlZCB0byBzbGVlcCBmb3IgYSBmZXcgc2Vjb25kcy4KLSAgT3JpZ2luYWwgcGF0Y2ggYnkgQW50b24gQmFya292c2t5LgotCi0tIElzc3VlICMxNTQ2MzogVGhlIGZhdWx0aGFuZGxlciBtb2R1bGUgdHJ1bmNhdGVzIHN0cmluZ3MgdG8gNTAwIGNoYXJhY3RlcnMsCi0gIGluc3RlYWQgb2YgMTAwLCB0byBiZSBhYmxlIHRvIGRpc3BsYXkgbG9uZyBmaWxlIHBhdGhzLgotCi0tIElzc3VlICM2MDU2OiBNYWtlIGBtdWx0aXByb2Nlc3NpbmdgIHVzZSBzZXRibG9ja2luZyhUcnVlKSBvbiB0aGUgc29ja2V0cyBpdAotICB1c2VzLiAgT3JpZ2luYWwgcGF0Y2ggYnkgSiBEZXJlayBXaWxzb24uCi0KLS0gSXNzdWUgIzE1MzY0OiBGaXggc3lzY29uZmlnLmdldF9jb25maWdfdmFyKCdzcmNkaXInKSB0byBiZSBhbiBhYnNvbHV0ZSBwYXRoLgotCi0tIElzc3VlICMxNTQxMzogYG9zLnRpbWVzKClgIGhhZCBkaXNhcHBlYXJlZCB1bmRlciBXaW5kb3dzLgotCi0tIElzc3VlICMxNTQwMjogQW4gaXNzdWUgaW4gdGhlIHN0cnVjdCBtb2R1bGUgdGhhdCBjYXVzZWQgYHN5cy5nZXRzaXplb2YoKWAgdG8KLSAgcmV0dXJuIGluY29ycmVjdCByZXN1bHRzIGZvciBzdHJ1Y3QuU3RydWN0IGluc3RhbmNlcyBoYXMgYmVlbiBmaXhlZC4gIEluaXRpYWwKLSAgcGF0Y2ggYnkgU2VyaGl5IFN0b3JjaGFrYS4KLQotLSBJc3N1ZSAjMTUyMzI6IFdoZW4gbWFuZ2xlX2Zyb20gaXMgVHJ1ZSwgYGVtYWlsLkdlbmVyYXRvcmAgbm93IGNvcnJlY3RseQotICBtYW5nbGVzIGxpbmVzIHRoYXQgc3RhcnQgd2l0aCAnRnJvbSAnIHRoYXQgb2NjdXIgaW4gYSBNSU1FIHByZWFtYmxlIG9yCi0gIGVwaWxvZ3VlLgotCi0tIElzc3VlICMxNTA5NDogSW5jb3JyZWN0bHkgcGxhY2VkICNlbmRpZiBpbiBfdGtpbnRlci5jLiAgUGF0Y2ggYnkgU2VyaGl5Ci0gIFN0b3JjaGFrYS4KLQotLSBJc3N1ZSAjMTM5MjI6IGBhcmdwYXJzZWAgbm8gbG9uZ2VyIGluY29ycmVjdGx5IHN0cmlwcyAnLS0ncyB0aGF0IGFwcGVhciBhZnRlcgotICB0aGUgZmlyc3Qgb25lLgotCi0tIElzc3VlICMxMjM1MzogYGFyZ3BhcnNlYCBub3cgY29ycmVjdGx5IGhhbmRsZXMgbnVsbCBhcmd1bWVudCB2YWx1ZXMuCi0KLS0gSXNzdWUgIzEwMDE3LCBpc3N1ZSAjMTQ5OTg6IEZpeCBUeXBlRXJyb3IgdXNpbmcgcHByaW50IG9uIGRpY3Rpb25hcmllcyB3aXRoCi0gIHVzZXItZGVmaW5lZCB0eXBlcyBhcyBrZXlzIG9yIG90aGVyIHVub3JkZXJhYmxlIGtleXMuCi0KLS0gSXNzdWUgIzE1Mzk3OiBgaW5zcGVjdC5nZXRtb2R1bGVuYW1lKClgIGlzIG5vdyBiYXNlZCBkaXJlY3RseSBvbiBpbXBvcnRsaWIgdmlhCi0gIGEgbmV3IGBpbXBvcnRsaWIubWFjaGluZXJ5LmFsbF9zdWZmaXhlcygpYCBBUEkuCi0KLS0gSXNzdWUgIzE0NjM1OiBgdGVsbmV0bGliYCB3aWxsIHVzZSBwb2xsKCkgcmF0aGVyIHRoYW4gc2VsZWN0KCkgd2hlbiBwb3NzaWJsZSB0bwotICBhdm9pZCBmYWlsaW5nIGR1ZSB0byB0aGUgc2VsZWN0KCkgZmlsZSBkZXNjcmlwdG9yIGxpbWl0LgotCi0tIElzc3VlICMxNTE4MDogQ2xhcmlmeSBwb3NpeHBhdGguam9pbigpIGVycm9yIG1lc3NhZ2Ugd2hlbiBtaXhpbmcgc3RyICYgYnl0ZXMuCi0KLS0gSXNzdWUgIzE1MzQzOiBwa2d1dGlsIG5vdyBpbmNsdWRlcyBhbiBpdGVyX2ltcG9ydGVyX21vZHVsZXMgaW1wbGVtZW50YXRpb24gZm9yCi0gIGltcG9ydGxpYi5tYWNoaW5lcnkuRmlsZUZpbmRlciAoc2ltaWxhciB0byB0aGUgd2F5IGl0IGFscmVhZHkgaGFuZGxlZAotICB6aXBpbXBvcnQuemlwaW1wb3J0ZXIpLgotCi0tIElzc3VlICMxNTMxNDogcnVucHkgbm93IHNldHMgX19tYWluX18uX19sb2FkZXJfXyBjb3JyZWN0bHkuCi0KLS0gSXNzdWUgIzE1MzU3OiBUaGUgaW1wb3J0IGVtdWxhdGlvbiBpbiBwa2d1dGlsIGlzIG5vdyBkZXByZWNhdGVkLiBwa2d1dGlsIHVzZXMKLSAgaW1wb3J0bGliIGludGVybmFsbHkgcmF0aGVyIHRoYW4gdGhlIGVtdWxhdGlvbi4KLQotLSBJc3N1ZSAjMTUyMzM6IFB5dGhvbiBub3cgZ3VhcmFudGVlcyB0aGF0IGNhbGxhYmxlcyByZWdpc3RlcmVkIHdpdGggdGhlIGF0ZXhpdAotICBtb2R1bGUgd2lsbCBiZSBjYWxsZWQgaW4gYSBkZXRlcm1pbmlzdGljIG9yZGVyLgotCi0tIElzc3VlICMxNTIzODogYHNodXRpbC5jb3B5c3RhdCgpYCBub3cgY29waWVzIExpbnV4ICJleHRlbmRlZCBhdHRyaWJ1dGVzIi4KLQotLSBJc3N1ZSAjMTUyMzA6IHJ1bnB5LnJ1bl9wYXRoIG5vdyBjb3JyZWN0bHkgc2V0cyBfX3BhY2thZ2VfXyBhcyBkZXNjcmliZWQgaW4KLSAgdGhlIGRvY3VtZW50YXRpb24uCi0KLS0gSXNzdWUgIzE1MzE1OiBTdXBwb3J0IFZTIDIwMTAgaW4gZGlzdHV0aWxzIGN5Z3dpbmNvbXBpbGVyLgotCi0tIElzc3VlICMxNTI5NDogRml4IGEgcmVncmVzc2lvbiBpbiBwa2d1dGlsLmV4dGVuZF9wYXRoKCkncyBoYW5kbGluZyBvZiBuZXN0ZWQKLSAgbmFtZXNwYWNlIHBhY2thZ2VzLgotCi0tIElzc3VlICMxNTA1NjogYGltcC5jYWNoZV9mcm9tX3NvdXJjZSgpYCBhbmQgYGltcC5zb3VyY2VfZnJvbV9jYWNoZSgpYCByYWlzZQotICBOb3RJbXBsZW1lbnRlZEVycm9yIHdoZW4gYHN5cy5pbXBsZW1lbnRhdGlvbi5jYWNoZV90YWdgIGlzIHNldCB0byBOb25lLgotCi0tIElzc3VlICMxNTI1NjogR3JhbW1hdGljYWwgbWlzdGFrZSBpbiBleGNlcHRpb24gcmFpc2VkIGJ5IGBpbXAuZmluZF9tb2R1bGUoKWAuCi0KLS0gSXNzdWUgIzU5MzE6IGB3c2dpcmVmYCBlbnZpcm9uIHZhcmlhYmxlIFNFUlZFUl9TT0ZUV0FSRSB3aWxsIHNwZWNpZnkgYW4KLSAgaW1wbGVtZW50YXRpb24gc3BlY2lmaWMgdGVybSBsaWtlIENQeXRob24sIEp5dGhvbiBpbnN0ZWFkIG9mIGdlbmVyaWMgIlB5dGhvbiIuCi0KLS0gSXNzdWUgIzEzMjQ4OiBSZW1vdmUgb2Jzb2xldGUgYXJndW1lbnQgIm1heF9idWZmZXJfc2l6ZSIgb2YgQnVmZmVyZWRXcml0ZXIgYW5kCi0gIEJ1ZmZlcmVkUldQYWlyLCBmcm9tIHRoZSBpbyBtb2R1bGUuCi0KLS0gSXNzdWUgIzEzMjQ4OiBSZW1vdmUgb2Jzb2xldGUgYXJndW1lbnQgInZlcnNpb24iIG9mIGBhcmdwYXJzZS5Bcmd1bWVudFBhcnNlcmAuCi0KLS0gSXNzdWUgIzE0ODE0OiBJbXBsZW1lbnQgbW9yZSBjb25zaXN0ZW50IG9yZGVyaW5nIGFuZCBzb3J0aW5nIGJlaGF2aW91ciBmb3IKLSAgaXBhZGRyZXNzIG9iamVjdHMuCi0KLS0gSXNzdWUgIzE0ODE0OiBgaXBhZGRyZXNzYCBuZXR3b3JrIG9iamVjdHMgY29ycmVjdGx5IHJldHVybiBOb3RJbXBsZW1lbnRlZCB3aGVuCi0gIGNvbXBhcmVkIHRvIGFyYml0cmFyeSBvYmplY3RzIGluc3RlYWQgb2YgcmFpc2luZyBUeXBlRXJyb3IuCi0KLS0gSXNzdWUgIzE0OTkwOiBDb3JyZWN0bHkgZmFpbCB3aXRoIFN5bnRheEVycm9yIG9uIGludmFsaWQgZW5jb2RpbmcgZGVjbGFyYXRpb24uCi0KLS0gSXNzdWUgIzE0ODE0OiBgaXBhZGRyZXNzYCBub3cgcHJvdmlkZXMgbW9yZSBpbmZvcm1hdGl2ZSBlcnJvciBtZXNzYWdlcyB3aGVuCi0gIGNvbnN0cnVjdGluZyBpbnN0YW5jZXMgZGlyZWN0bHkgKGNoYW5nZXMgcGVybWl0dGVkIGR1cmluZyBiZXRhIGR1ZSB0bwotICBwcm92aXNpb25hbCBBUEkgc3RhdHVzKS4KLQotLSBJc3N1ZSAjMTUyNDc6IGBpby5GaWxlSU9gIG5vdyByYWlzZXMgYW4gZXJyb3Igd2hlbiBnaXZlbiBhIGZpbGUgZGVzY3JpcHRvcgotICBwb2ludGluZyB0byBhIGRpcmVjdG9yeS4KLQotLSBJc3N1ZSAjMTUyNjE6IFN0b3Agb3Muc3RhdChmZCkgY3Jhc2hpbmcgb24gV2luZG93cyB3aGVuIGZkIG5vdCBvcGVuLgotCi0tIElzc3VlICMxNTE2NjogSW1wbGVtZW50IGBpbXAuZ2V0X3RhZygpYCB1c2luZyBgc3lzLmltcGxlbWVudGF0aW9uLmNhY2hlX3RhZ2AuCi0KLS0gSXNzdWUgIzE1MjEwOiBDYXRjaCBLZXlFcnJvciB3aGVuIGBpbXBvcnRsaWIuX19pbml0X18oKWAgY2FuJ3QgZmluZAotICBfZnJvemVuX2ltcG9ydGxpYiBpbiBzeXMubW9kdWxlcywgbm90IEltcG9ydEVycm9yLgotCi0tIElzc3VlICMxNTAzMDogYGltcG9ydGxpYi5hYmMuUHlQeWNMb2FkZXJgIG5vdyBzdXBwb3J0cyB0aGUgbmV3IHNvdXJjZSBzaXplCi0gIGhlYWRlciBmaWVsZCBpbiAucHljIGZpbGVzLgotCi0tIElzc3VlICM1MzQ2OiBQcmVzZXJ2ZSBwZXJtaXNzaW9ucyBvZiBtYm94LCBNTURGIGFuZCBCYWJ5bCBtYWlsYm94IGZpbGVzIG9uCi0gIGZsdXNoKCkuCi0KLS0gSXNzdWUgIzEwNTcxOiBGaXggdGhlICItLXNpZ24iIG9wdGlvbiBvZiBkaXN0dXRpbHMnIHVwbG9hZCBjb21tYW5kLiAgUGF0Y2ggYnkKLSAgSmFrdWIgV2lsay4KLQotLSBJc3N1ZSAjOTU1OTogSWYgbWVzc2FnZXMgd2VyZSBvbmx5IGFkZGVkLCBhIG5ldyBmaWxlIGlzIG5vIGxvbmdlciBjcmVhdGVkIGFuZAotICByZW5hbWVkIG92ZXIgdGhlIG9sZCBmaWxlIHdoZW4gZmx1c2goKSBpcyBjYWxsZWQgb24gYW4gbWJveCwgTU1ERiBvciBCYWJ5bAotICBtYWlsYm94LgotCi0tIElzc3VlICMxMDkyNDogRml4ZWQgYGNyeXB0Lm1rc2FsdCgpYCB0byB1c2UgYSBSTkcgdGhhdCBpcyBzdWl0YWJsZSBmb3IKLSAgY3J5cHRvZ3JhcGhpYyBwdXJwb3NlLgotCi0tIElzc3VlICMxNTE4NDogRW5zdXJlIGNvbnNpc3RlbnQgcmVzdWx0cyBvZiBPUyBYIGNvbmZpZ3VyYXRpb24gdGFpbG9yaW5nIGZvcgotICB1bml2ZXJzYWwgYnVpbGRzIGJ5IGZhY3RvcmluZyBvdXQgY29tbW9uIE9TIFgtc3BlY2lmaWMgY3VzdG9taXphdGlvbnMgZnJvbQotICBzeXNjb25maWcsIGRpc3R1dGlscy5zeXNjb25maWcsIGRpc3R1dGlscy51dGlsLCBhbmQgZGlzdHV0aWxzLnVuaXhjY29tcGlsZXIKLSAgaW50byBhIG5ldyBtb2R1bGUgX29zeF9zdXBwb3J0LgotCi1DIEFQSQotLS0tLS0KLQotLSBJc3N1ZSAjMTU2MTA6IGBQeUltcG9ydF9JbXBvcnRNb2R1bGVFeCgpYCBub3cgdXNlcyBhICdsZXZlbCcgb2YgMCBpbnN0ZWFkIG9mIC0xLgotCi0tIElzc3VlICMxNTE2OSwgaXNzdWUgIzE0NTk5OiBTdHJpcCBvdXQgdGhlIEMgaW1wbGVtZW50YXRpb24gb2YKLSAgYGltcC5zb3VyY2VfZnJvbV9jYWNoZSgpYCB1c2VkIGJ5IFB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlV2l0aFBhdGhuYW1lcygpIGFuZAotICB1c2VkIHRoZSBQeXRob24gY29kZSBpbnN0ZWFkLiBMZWFkcyB0byBQeUltcG9ydF9FeGVjQ29kZU1vZHVsZU9iamVjdCgpIHRvIG5vdAotICB0cnkgdG8gaW5mZXIgdGhlIHNvdXJjZSBwYXRoIGZyb20gdGhlIGJ5dGVjb2RlIHBhdGggYXMKLSAgUHlJbXBvcnRfRXhlY0NvZGVNb2R1bGVXaXRoUGF0aG5hbWVzKCkgZG9lcy4KLQotRXh0ZW5zaW9uIE1vZHVsZXMKLS0tLS0tLS0tLS0tLS0tLS0tCi0KLS0gSXNzdWUgIzY0OTM6IEFuIGlzc3VlIGluIGN0eXBlcyBvbiBXaW5kb3dzIHRoYXQgY2F1c2VkIHN0cnVjdHVyZSBiaXRmaWVsZHMgb2YKLSAgdHlwZSBgY3R5cGVzLmNfdWludDMyYCBhbmQgd2lkdGggMzIgdG8gaW5jb3JyZWN0bHkgYmUgc2V0IGhhcyBiZWVuIGZpeGVkLgotCi0tIElzc3VlICMxNTE5NDogVXBkYXRlIGxpYmZmaSB0byB0aGUgMy4wLjExIHJlbGVhc2UuCi0KLUlETEUKLS0tLS0KLQotLSBJc3N1ZSAjMTMwNTI6IEZpeCBJRExFIGNyYXNoaW5nIHdoZW4gcmVwbGFjZSBzdHJpbmcgaW4gU2VhcmNoL1JlcGxhY2UgZGlhbG9nCi0gIGVuZGVkIHdpdGggYGBcYGAuICBQYXRjaCBieSBSb2dlciBTZXJ3eS4KLQotVG9vbHMvRGVtb3MKLS0tLS0tLS0tLS0tCi0KLS0gSXNzdWUgIzE1NDU4OiBweXRob24tY29uZmlnIGdldHMgYSBuZXcgb3B0aW9uIC0tY29uZmlnZGlyIHRvIHByaW50IHRoZSAkTElCUEwKLSAgdmFsdWUuCi0KLS0gTW92ZSBpbXBvcnRsaWIudGVzdC5iZW5jaG1hcmsgdG8gVG9vbHMvaW1wb3J0YmVuY2guCi0KLS0gSXNzdWUgIzEyNjA1OiBUaGUgZ2RiIGhvb2tzIGZvciBkZWJ1Z2dpbmcgQ1B5dGhvbiAod2l0aGluIFRvb2xzL2dkYikgaGF2ZSBiZWVuCi0gIGVuaGFuY2VkIHRvIHNob3cgaW5mb3JtYXRpb24gb24gbW9yZSBDIGZyYW1lcyByZWxldmFudCB0byBDUHl0aG9uIHdpdGhpbiB0aGUKLSAgInB5LWJ0IiBhbmQgInB5LWJ0LWZ1bGwiIGNvbW1hbmRzOgotCi0gICogQyBmcmFtZXMgdGhhdCBhcmUgd2FpdGluZyBvbiB0aGUgR0lMCi0gICogQyBmcmFtZXMgdGhhdCBhcmUgZ2FyYmFnZS1jb2xsZWN0aW5nCi0gICogQyBmcmFtZXMgdGhhdCBhcmUgZHVlIHRvIHRoZSBpbnZvY2F0aW9uIG9mIGEgUHlDRnVuY3Rpb24KLQotRG9jdW1lbnRhdGlvbgotLS0tLS0tLS0tLS0tLQotCi0tIElzc3VlICMxNTA0MTogVXBkYXRlICJzZWUgYWxzbyIgbGlzdCBpbiB0a2ludGVyIGRvY3VtZW50YXRpb24uCi0KLS0gSXNzdWUgIzE1NDQ0OiBVc2UgcHJvcGVyIHNwZWxsaW5nIGZvciBub24tQVNDSUkgY29udHJpYnV0b3IgbmFtZXMuICBQYXRjaCBieQotICBTZXJoaXkgU3RvcmNoYWthLgotCi0tIElzc3VlICMxNTI5NTogUmVvcmdhbml6ZSBhbmQgcmV3cml0ZSB0aGUgZG9jdW1lbnRhdGlvbiBvbiB0aGUgaW1wb3J0IHN5c3RlbS4KLQotLSBJc3N1ZSAjMTUyMzA6IENsZWFybHkgZG9jdW1lbnQgc29tZSBvZiB0aGUgbGltaXRhdGlvbnMgb2YgdGhlIHJ1bnB5IG1vZHVsZSBhbmQKLSAgbnVkZ2UgcmVhZGVycyB0b3dhcmRzIGltcG9ydGxpYiB3aGVuIGFwcHJvcHJpYXRlLgotCi0tIElzc3VlICMxNTA1MzogQ29weSBQeXRob24gMy4zIGltcG9ydCBsb2NrIGNoYW5nZSBub3RpY2UgdG8gYWxsIHJlbGV2YW50Ci0gIGZ1bmN0aW9ucyBpbiBpbXAgaW5zdGVhZCBvZiBqdXN0IGF0IHRoZSB0b3Agb2YgdGhlIHJlbGV2YW50IHNlY3Rpb24uCi0KLS0gSXNzdWUgIzE1Mjg4OiBMaW5rIHRvIHRoZSB0ZXJtICJsb2FkZXIiIGluIG5vdGVzIGluIHBrZ3V0aWwgYWJvdXQgaG93IHRoaW5ncwotICB3b24ndCB3b3JrIGFzIGV4cGVjdGVkIGluIFB5dGhvbiAzLjMgYW5kIG1hcmsgdGhlIHJlcXVpc2l0ZSBmdW5jdGlvbnMgYXMKLSAgImNoYW5nZWQiIHNpbmNlIHRoZXkgd2lsbCBubyBsb25nZXIgd29yayB3aXRoIG1vZHVsZXMgZGlyZWN0bHkgaW1wb3J0ZWQgYnkKLSAgaW1wb3J0IGl0c2VsZi4KLQotLSBJc3N1ZSAjMTM1NTc6IENsYXJpZnkgZWZmZWN0IG9mIGdpdmluZyB0d28gZGlmZmVyZW50IG5hbWVzcGFjZXMgdG8gYGV4ZWMoKWAgb3IKLSAgYGV4ZWNmaWxlKClgLgotCi0tIElzc3VlICMxNTI1MDogRG9jdW1lbnQgdGhhdCBgZmlsZWNtcC5kaXJjbXAoKWAgY29tcGFyZXMgZmlsZXMgc2hhbGxvd2x5LiBQYXRjaAotICBjb250cmlidXRlZCBieSBDaHJpcyBKZXJkb25lay4KLQotLSBJc3N1ZSAjMTU0NDI6IEV4cG9zZSB0aGUgZGVmYXVsdCBsaXN0IG9mIGRpcmVjdG9yaWVzIGlnbm9yZWQgYnkKLSAgYGZpbGVjbXAuZGlyY21wKClgIGFzIGEgbW9kdWxlIGF0dHJpYnV0ZSwgYW5kIGV4cGFuZCB0aGUgbGlzdCB0byBtb3JlIG1vZGVybgotICB2YWx1ZXMuCi0KLVRlc3RzCi0tLS0tLQotCi0tIElzc3VlICMxNTQ2NzogTW92ZSBoZWxwZXJzIGZvciBgX19zaXplb2ZfXygpYCB0ZXN0cyBpbnRvIHRlc3Rfc3VwcG9ydC4gIFBhdGNoCi0gIGJ5IFNlcmhpeSBTdG9yY2hha2EuCi0KLS0gSXNzdWUgIzE1MzIwOiBNYWtlIGl0ZXJhdGluZyB0aGUgbGlzdCBvZiB0ZXN0cyB0aHJlYWQtc2FmZSB3aGVuIHJ1bm5pbmcgdGVzdHMKLSAgaW4gbXVsdGlwcm9jZXNzIG1vZGUuIFBhdGNoIGJ5IENocmlzIEplcmRvbmVrLgotCi0tIElzc3VlICMxNTE2ODogTW92ZSBgaW1wb3J0bGliLnRlc3RgIHRvIGB0ZXN0LnRlc3RfaW1wb3J0bGliYC4KLQotLSBJc3N1ZSAjMTUwOTE6IFJlYWN0aXZhdGUgYSB0ZXN0IG9uIFVOSVggd2hpY2ggd2FzIGZhaWxpbmcgdGhhbmtzIHRvIGEKLSAgZm9yZ290dGVuIGBpbXBvcnRsaWIuaW52YWxpZGF0ZV9jYWNoZXMoKWAgY2FsbC4KLQotLSBJc3N1ZSAjMTUyMzA6IEFkb3B0ZWQgYSBtb3JlIHN5c3RlbWF0aWMgYXBwcm9hY2ggaW4gdGhlIHJ1bnB5IHRlc3RzLgotCi0tIElzc3VlICMxNTMwMDogRW5zdXJlIHRoZSB0ZW1wb3JhcnkgdGVzdCB3b3JraW5nIGRpcmVjdG9yaWVzIGFyZSBpbiB0aGUgc2FtZQotICBwYXJlbnQgZm9sZGVyIHdoZW4gcnVubmluZyB0ZXN0cyBpbiBtdWx0aXByb2Nlc3MgbW9kZSBmcm9tIGEgUHl0aG9uIGJ1aWxkLgotICBQYXRjaCBieSBDaHJpcyBKZXJkb25lay4KLQotLSBJc3N1ZSAjMTUyODQ6IFNraXAge3NlbmQscmVjdn1tc2cgdGVzdHMgaW4gdGVzdF9zb2NrZXQgd2hlbiBJUHY2IGlzIG5vdAotICBlbmFibGVkLiBQYXRjaCBieSBCcmlhbiBCcmF6aWwuCi0KLS0gSXNzdWUgIzE1Mjc3OiBGaXggYSByZXNvdXJjZSBsZWFrIGluIHN1cHBvcnQucHkgd2hlbiBJUHY2IGlzIGRpc2FibGVkLiAgUGF0Y2gKLSAgYnkgQnJpYW4gQnJhemlsLgotCi1CdWlsZAotLS0tLS0KLQotLSBJc3N1ZSAjMTE3MTU6IEZpeCBtdWx0aWFyY2ggZGV0ZWN0aW9uIHdpdGhvdXQgaGF2aW5nIERlYmlhbiBkZXZlbG9wbWVudCB0b29scwotICAoZHBrZy1kZXYpIGluc3RhbGxlZC4KLQotLSBJc3N1ZSAjMTUwMzc6IEJ1aWxkIE9TIFggaW5zdGFsbGVycyB3aXRoIGxvY2FsIGNvcHkgb2YgbmN1cnNlcyA1LjkgbGlicmFyaWVzCi0gIHRvIGF2b2lkIGN1cnNlcy51bmdldF93Y2ggYnVnIHByZXNlbnQgaW4gb2xkZXIgdmVyc2lvbnMgb2YgbmN1cnNlcyBzdWNoIGFzCi0gIHRob3NlIHNoaXBwZWQgd2l0aCBPUyBYLgotCi0tIElzc3VlICMxNTU2MDogRml4IGJ1aWxkaW5nIF9zcWxpdGUzIGV4dGVuc2lvbiBvbiBPUyBYIHdpdGggYW4gU0RLLiAgQWxzbywgZm9yCi0gIE9TIFggaW5zdGFsbGVycywgZW5zdXJlIGNvbnNpc3RlbnQgc3FsaXRlMyBiZWhhdmlvciBhbmQgZmVhdHVyZSBhdmFpbGFiaWxpdHkKLSAgYnkgYnVpbGRpbmcgYSBsb2NhbCBjb3B5IG9mIGxpYnNxbGl0ZTMgcmF0aGVyIHRoYW4gZGVwZW5kaW5nIG9uIHRoZSB3aWRlIHJhbmdlCi0gIG9mIHZlcnNpb25zIHN1cHBsaWVkIHdpdGggdmFyaW91cyBPUyBYIHJlbGVhc2VzLgotCi0tIElzc3VlICM4ODQ3OiBEaXNhYmxlIENPTURBVCBmb2xkaW5nIGluIFdpbmRvd3MgUEdPIGJ1aWxkcy4KLQotLSBJc3N1ZSAjMTQwMTg6IEZpeCBPUyBYIFRjbC9UayBmcmFtZXdvcmsgY2hlY2tpbmcgd2hlbiB1c2luZyBPUyBYIFNES3MuCi0KLS0gSXNzdWUgIzE2MjU2OiBPUyBYIGluc3RhbGxlciBub3cgc2V0cyBjb3JyZWN0IHBlcm1pc3Npb25zIGZvciBkb2MgZGlyZWN0b3J5LgotCi0tIElzc3VlICMxNTQzMTogQWRkIF9mcmVlemVfaW1wb3J0bGliIHByb2plY3QgdG8gcmVnZW5lcmF0ZSBpbXBvcnRsaWIuaCBvbgotICBXaW5kb3dzLiBQYXRjaCBieSBLcmlzdGrDoW4gVmFsdXIgSsOzbnNzb24uCi0KLS0gSXNzdWUgIzE0MTk3OiBGb3IgT1MgWCBmcmFtZXdvcmsgYnVpbGRzLCBlbnN1cmUgbGlua3MgdG8gdGhlIHNoYXJlZCBsaWJyYXJ5Ci0gIGFyZSBjcmVhdGVkIHdpdGggdGhlIHByb3BlciBBQkkgc3VmZml4LgotCi0tIElzc3VlICMxNDMzMDogRm9yIGNyb3NzIGJ1aWxkcywgZG9uJ3QgdXNlIGhvc3QgcHl0aG9uLCB1c2UgaG9zdCBzZWFyY2ggcGF0aHMKLSAgZm9yIGhvc3QgY29tcGlsZXIuCi0KLS0gSXNzdWUgIzE1MjM1OiBBbGxvdyBCZXJrbGV5IERCIHZlcnNpb25zIHVwIHRvIDUuMyB0byBidWlsZCB0aGUgZGJtIG1vZHVsZS4KLQotLSBJc3N1ZSAjMTUyNjg6IFNlYXJjaCBjdXJzZXMuaCBpbiAvdXNyL2luY2x1ZGUvbmN1cnNlc3cuCi0KLQotV2hhdCdzIE5ldyBpbiBQeXRob24gMy4zLjAgQmV0YSAxPwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotCi0qUmVsZWFzZSBkYXRlOiAyNy1KdW4tMjAxMioKLQotQ29yZSBhbmQgQnVpbHRpbnMKLS0tLS0tLS0tLS0tLS0tLS0tCi0KLS0gRml4IGEgKG1vc3QgbGlrZWx5KSB2ZXJ5IHJhcmUgbWVtb3J5IGxlYWsgd2hlbiBjYWxsaW5nIG1haW4oKSBhbmQgbm90IGJlaW5nCi0gIGFibGUgdG8gZGVjb2RlIGEgY29tbWFuZC1saW5lIGFyZ3VtZW50LgotCi0tIElzc3VlICMxNDgxNTogVXNlIFB5X3NzaXplX3QgaW5zdGVhZCBvZiBsb25nIGZvciB0aGUgb2JqZWN0IGhhc2gsIHRvCi0gIHByZXNlcnZlIGFsbCA2NCBiaXRzIG9mIGhhc2ggb24gV2luNjQuCi0KLS0gSXNzdWUgIzEyMjY4OiBGaWxlIHJlYWRsaW5lLCByZWFkbGluZXMgYW5kIHJlYWQoKSBvciByZWFkYWxsKCkgbWV0aG9kcwotICBubyBsb25nZXIgbG9zZSBkYXRhIHdoZW4gYW4gdW5kZXJseWluZyByZWFkIHN5c3RlbSBjYWxsIGlzIGludGVycnVwdGVkLgotICBJT0Vycm9yIGlzIG5vIGxvbmdlciByYWlzZWQgZHVlIHRvIGEgcmVhZCBzeXN0ZW0gY2FsbCByZXR1cm5pbmcgRUlOVFIKLSAgZnJvbSB3aXRoaW4gdGhlc2UgbWV0aG9kcy4KLQotLSBJc3N1ZSAjMTE2MjY6IEFkZCBfU2l6ZVQgZnVuY3Rpb25zIHRvIHN0YWJsZSBBQkkuCi0KLS0gSXNzdWUgIzE1MTQyOiBGaXggcmVmZXJlbmNlIGxlYWsgd2hlbiBkZWFsbG9jYXRpbmcgaW5zdGFuY2VzIG9mIHR5cGVzCi0gIGNyZWF0ZWQgdXNpbmcgUHlUeXBlX0Zyb21TcGVjKCkuCi0KLS0gSXNzdWUgIzEwMDUzOiBEb24ndCBjbG9zZSBGRHMgd2hlbiBGaWxlSU8uX19pbml0X18gZmFpbHMuIExvb3NlbHkgYmFzZWQgb24KLSAgdGhlIHdvcmsgYnkgSGlyb2thenUgWWFtYW1vdG8uCi0KLS0gSXNzdWUgIzE1MDk2OiBSZW1vdmVkIHN1cHBvcnQgZm9yIHVyJycgYXMgdGhlIHJhdyBub3RhdGlvbiBpc24ndAotICBjb21wYXRpYmxlIHdpdGggUHl0aG9uIDIueCdzIHJhdyB1bmljb2RlIHN0cmluZ3MuCi0KLS0gSXNzdWUgIzEzNzgzOiBHZW5lcmF0b3Igb2JqZWN0cyBub3cgdXNlIHRoZSBpZGVudGlmaWVyIEFQSXMgaW50ZXJuYWxseQotCi0tIElzc3VlICMxNDg3NDogUmVzdG9yZSBjaGFybWFwIGRlY29kaW5nIHNwZWVkIHRvIHByZS1QRVAgMzkzIGxldmVscy4KLSAgUGF0Y2ggYnkgU2VyaGl5IFN0b3JjaGFrYS4KLQotLSBJc3N1ZSAjMTUwMjY6IHV0Zi0xNiBlbmNvZGluZyBpcyBub3cgc2lnbmlmaWNhbnRseSBmYXN0ZXIgKHVwIHRvIDEweCkuCi0gIFBhdGNoIGJ5IFNlcmhpeSBTdG9yY2hha2EuCi0KLS0gSXNzdWUgIzExMDIyOiBvcGVuKCkgYW5kIGlvLlRleHRJT1dyYXBwZXIgYXJlIG5vdyBjYWxsaW5nCi0gIGxvY2FsZS5nZXRwcmVmZXJyZWRlbmNvZGluZyhGYWxzZSkgaW5zdGVhZCBvZiBsb2NhbGUuZ2V0cHJlZmVycmVkZW5jb2RpbmcoKQotICBpbiB0ZXh0IG1vZGUgaWYgdGhlIGVuY29kaW5nIGlzIG5vdCBzcGVjaWZpZWQuIERvbid0IGNoYW5nZSB0ZW1wb3JhcnkgdGhlCi0gIGxvY2FsZSBlbmNvZGluZyB1c2luZyBsb2NhbGUuc2V0bG9jYWxlKCksIHVzZSB0aGUgY3VycmVudCBsb2NhbGUgZW5jb2RpbmcKLSAgaW5zdGVhZCBvZiB0aGUgdXNlciBwcmVmZXJyZWQgZW5jb2RpbmcuCi0KLS0gSXNzdWUgIzE0NjczOiBBZGQgRXJpYyBTbm93J3Mgc3lzLmltcGxlbWVudGF0aW9uIGltcGxlbWVudGF0aW9uLgotCi0tIElzc3VlICMxNTAzODogT3B0aW1pemUgcHl0aG9uIExvY2tzIG9uIFdpbmRvd3MuCi0KLUxpYnJhcnkKLS0tLS0tLS0KLQotLSBJc3N1ZSAjMTIyODg6IENvbnNpZGVyICcwJyBhbmQgJzAuMCcgYXMgdmFsaWQgaW5pdGlhbHZhbHVlCi0gIGZvciB0a2ludGVyIFNpbXBsZURpYWxvZy4KLQotLSBJc3N1ZSAjMTU1MTI6IEFkZCBhIF9fc2l6ZW9mX18gaW1wbGVtZW50YXRpb24gZm9yIHBhcnNlci4KLSAgUGF0Y2ggYnkgU2VyaGl5IFN0b3JjaGFrYS4KLQotLSBJc3N1ZSAjMTU0Njk6IEFkZCBhIF9fc2l6ZW9mX18gaW1wbGVtZW50YXRpb24gZm9yIGRlcXVlIG9iamVjdHMuCi0gIFBhdGNoIGJ5IFNlcmhpeSBTdG9yY2hha2EuCi0KLS0gSXNzdWUgIzE1NDg5OiBBZGQgYSBfX3NpemVvZl9fIGltcGxlbWVudGF0aW9uIGZvciBCeXRlc0lPIG9iamVjdHMuCi0gIFBhdGNoIGJ5IFNlcmhpeSBTdG9yY2hha2EuCi0KLS0gSXNzdWUgIzE1NDg3OiBBZGQgYSBfX3NpemVvZl9fIGltcGxlbWVudGF0aW9uIGZvciBidWZmZXJlZCBJL08gb2JqZWN0cy4KLSAgUGF0Y2ggYnkgU2VyaGl5IFN0b3JjaGFrYS4KLQotLSBJc3N1ZSAjMTU1MTQ6IENvcnJlY3QgX19zaXplb2ZfXyBzdXBwb3J0IGZvciBjcHVfc2V0LgotICBQYXRjaCBieSBTZXJoaXkgU3RvcmNoYWthLgotCi0tIElzc3VlICMxNTE3NzogQWRkZWQgZGlyX2ZkIHBhcmFtZXRlciB0byBvcy5md2FsaygpLgotCi0tIElzc3VlICMxNTA2MTogUmUtaW1wbGVtZW50ZWQgaG1hYy5jb21wYXJlX2RpZ2VzdCgpIGluIEMgdG8gcHJldmVudCBmdXJ0aGVyCi0gIHRpbWluZyBhbmFseXNpcyBhbmQgdG8gc3VwcG9ydCBhbGwgYnVmZmVyIHByb3RvY29sIGF3YXJlIG9iamVjdHMgYXMgd2VsbCBhcwotICBBU0NJSSBvbmx5IHN0ciBpbnN0YW5jZXMgc2FmZWx5LgotCi0tIElzc3VlICMxNTE2NDogQ2hhbmdlIHJldHVybiB2YWx1ZSBvZiBwbGF0Zm9ybS51bmFtZSgpIGZyb20gYQotICBwbGFpbiB0dXBsZSB0byBhIGNvbGxlY3Rpb25zLm5hbWVkdHVwbGUuCi0KLS0gU3VwcG9ydCBNYWdlaWEgTGludXggaW4gdGhlIHBsYXRmb3JtIG1vZHVsZS4KLQotLSBJc3N1ZSAjMTE2Nzg6IFN1cHBvcnQgQXJjaCBsaW51eCBpbiB0aGUgcGxhdGZvcm0gbW9kdWxlLgotCi0tIElzc3VlICMxNTExODogQ2hhbmdlIHJldHVybiB2YWx1ZSBvZiBvcy51bmFtZSgpIGFuZCBvcy50aW1lcygpIGZyb20KLSAgcGxhaW4gdHVwbGVzIHRvIGltbXV0YWJsZSBpdGVyYWJsZSBvYmplY3RzIHdpdGggbmFtZWQgYXR0cmlidXRlcwotICAoc3RydWN0c2VxIG9iamVjdHMpLgotCi0tIFNwZWVkIHVwIF9kZWNpbWFsIGJ5IGFub3RoZXIgMTAtMTUlIGJ5IGNhY2hpbmcgdGhlIHRocmVhZCBsb2NhbCBjb250ZXh0Ci0gIHRoYXQgd2FzIGxhc3QgYWNjZXNzZWQuIEluIHRoZSBwaSBiZW5jaG1hcmsgKDY0LWJpdCBwbGF0Zm9ybSwgcHJlYz05KSwKLSAgX2RlY2ltYWwgaXMgbm93IG9ubHkgMS41eCBzbG93ZXIgdGhhbiBmbG9hdC4KLQotLSBSZW1vdmUgdGhlIHBhY2thZ2luZyBtb2R1bGUsIHdoaWNoIGlzIG5vdCByZWFkeSBmb3IgcHJpbWUgdGltZS4KLQotLSBJc3N1ZSAjMTUxNTQ6IEFkZCAiZGlyX2ZkIiBwYXJhbWV0ZXIgdG8gb3Mucm1kaXIsIHJlbW92ZSAicm1kaXIiCi0gIHBhcmFtZXRlciBmcm9tIG9zLnJlbW92ZSAvIG9zLnVubGluay4KLQotLSBJc3N1ZSAjNDQ4OTogQWRkIGEgc2h1dGlsLnJtdHJlZSB0aGF0IGlzbid0IHN1c2NlcHRpYmxlIHRvIHN5bWxpbmsgYXR0YWNrcy4KLSAgSXQgaXMgdXNlZCBhdXRvbWF0aWNhbGx5IG9uIHBsYXRmb3JtcyBzdXBwb3J0aW5nIHRoZSBuZWNlc3Nhcnkgb3Mub3BlbmF0KCkKLSAgYW5kIG9zLnVubGlua2F0KCkgZnVuY3Rpb25zLiBNYWluIGNvZGUgYnkgTWFydGluIHZvbiBMw7Z3aXMuCi0KLS0gSXNzdWUgIzE1MTU2OiBIVE1MUGFyc2VyIG5vdyB1c2VzIHRoZSBuZXcgImh0bWwuZW50aXRpZXMuaHRtbDUiIGRpY3Rpb25hcnkuCi0KLS0gSXNzdWUgIzExMTEzOiBhZGQgYSBuZXcgImh0bWw1IiBkaWN0aW9uYXJ5IGNvbnRhaW5pbmcgdGhlIG5hbWVkIGNoYXJhY3RlcgotICByZWZlcmVuY2VzIGRlZmluZWQgYnkgdGhlIEhUTUw1IHN0YW5kYXJkIGFuZCB0aGUgZXF1aXZhbGVudCBVbmljb2RlCi0gIGNoYXJhY3RlcihzKSB0byB0aGUgaHRtbC5lbnRpdGllcyBtb2R1bGUuCi0KLS0gSXNzdWUgIzE1MTE0OiB0aGUgc3RyaWN0IG1vZGUgb2YgSFRNTFBhcnNlciBhbmQgdGhlIEhUTUxQYXJzZUVycm9yIGV4Y2VwdGlvbgotICBhcmUgZGVwcmVjYXRlZCBub3cgdGhhdCB0aGUgcGFyc2VyIGlzIGFibGUgdG8gcGFyc2UgaW52YWxpZCBtYXJrdXAuCi0KLS0gSXNzdWUgIzM2NjU6IFx1IGFuZCBcVSBlc2NhcGVzIGFyZSBub3cgc3VwcG9ydGVkIGluIHVuaWNvZGUgcmVndWxhcgotICBleHByZXNzaW9ucy4gIFBhdGNoIGJ5IFNlcmhpeSBTdG9yY2hha2EuCi0KLS0gSXNzdWUgIzE1MTUzOiBBZGRlZCBpbnNwZWN0LmdldGdlbmVyYXRvcmxvY2FscyB0byBzaW1wbGlmeSB3aGl0ZSBib3gKLSAgdGVzdGluZyBvZiBnZW5lcmF0b3Igc3RhdGUgdXBkYXRlcwotCi0tIElzc3VlICMxMzA2MjogQWRkZWQgaW5zcGVjdC5nZXRjbG9zdXJldmFycyB0byBzaW1wbGlmeSB0ZXN0aW5nIHN0YXRlZnVsCi0gIGNsb3N1cmVzCi0KLS0gSXNzdWUgIzExMDI0OiBGaXhlcyBhbmQgYWRkaXRpb25hbCB0ZXN0cyBmb3IgVGltZTJJbnRlcm5hbGRhdGUuCi0KLS0gSXNzdWUgIzE0NjI2OiBMYXJnZSByZWZhY3RvcmluZyBvZiBmdW5jdGlvbnMgLyBwYXJhbWV0ZXJzIGluIHRoZSBvcyBtb2R1bGUuCi0gIE1hbnkgZnVuY3Rpb25zIG5vdyBzdXBwb3J0ICJkaXJfZmQiIGFuZCAiZm9sbG93X3N5bWxpbmtzIiBwYXJhbWV0ZXJzOwotICBzb21lIGFsc28gc3VwcG9ydCBhY2NlcHRpbmcgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IgaW4gcGxhY2Ugb2YgYSBwYXRoCi0gIHN0cmluZy4gIEFkZGVkIG9zLnN1cHBvcnRfKiBjb2xsZWN0aW9ucyBhcyBMQllMIGhlbHBlcnMuICBSZW1vdmVkIG1hbnkKLSAgZnVuY3Rpb25zIG9ubHkgcHJldmlvdXNseSBzZWVuIGluIDMuMyBhbHBoYSByZWxlYXNlcyAob2Z0ZW4gc3RhcnRpbmcgd2l0aAotICAiZiIgb3IgImwiLCBvciBlbmRpbmcgd2l0aCAiYXQiKS4gIE9yaWdpbmFsbHkgc3VnZ2VzdGVkIGJ5IFNlcmhpeSBTdG9yY2hha2E7Ci0gIGltcGxlbWVudGVkIGJ5IExhcnJ5IEhhc3RpbmdzLgotCi0tIElzc3VlICMxNTAwODogSW1wbGVtZW50IFBFUCAzNjIgIlNpZ25hdHVyZSBPYmplY3RzIi4KLSAgUGF0Y2ggYnkgWXVyeSBTZWxpdmFub3YuCi0KLS0gSXNzdWU6ICMxNTEzODogYmFzZTY0LnVybHNhZmVfe2VuLGRlfWNvZGUoKSBhcmUgbm93IDMtNHggZmFzdGVyLgotCi0tIElzc3VlICM0NDQ1ODI6IEFkZCBzaHV0aWwud2hpY2gsIGZvciBmaW5kaW5nIHByb2dyYW1zIG9uIHRoZSBzeXN0ZW0gcGF0aC4KLSAgT3JpZ2luYWwgcGF0Y2ggYnkgRXJpayBEZW1haW5lLCB3aXRoIGxhdGVyIGl0ZXJhdGlvbnMgYnkgSmFuIEtpbGxpYW4KLSAgYW5kIEJyaWFuIEN1cnRpbi4KLQotLSBJc3N1ZSAjMTQ4Mzc6IFNTTCBlcnJvcnMgbm93IGhhdmUgYGBsaWJyYXJ5YGAgYW5kIGBgcmVhc29uYGAgYXR0cmlidXRlcwotICBkZXNjcmliaW5nIHByZWNpc2VseSB3aGF0IGhhcHBlbmVkIGFuZCBpbiB3aGljaCBPcGVuU1NMIHN1Ym1vZHVsZS4gIFRoZQotICBzdHIoKSBvZiBhIFNTTEVycm9yIGlzIGFsc28gZW5oYW5jZWQgYWNjb3JkaW5nbHkuCi0KLS0gSXNzdWUgIzk1Mjc6IGRhdGV0aW1lLmFzdGltZXpvbmUoKSBtZXRob2Qgd2lsbCBub3cgc3VwcGx5IGEgY2xhc3MKLSAgdGltZXpvbmUgaW5zdGFuY2UgY29ycmVzcG9uZGluZyB0byB0aGUgc3lzdGVtIGxvY2FsIHRpbWV6b25lIHdoZW4KLSAgY2FsbGVkIHdpdGggbm8gYXJndW1lbnRzLgotCi0tIElzc3VlICMxNDY1MzogZW1haWwudXRpbHMubWt0aW1lX3R6KCkgbm8gbG9uZ2VyIHJlbGllcyBvbiBzeXN0ZW0KLSAgbWt0aW1lKCkgd2hlbiB0aW1lem9uZSBvZmZlc3QgaXMgc3VwcGxpZWQuCi0KLS0gSXNzdWUgIzE0Njg0OiB6bGliLmNvbXByZXNzb2JqKCkgYW5kIHpsaWIuZGVjb21wcmVzc29iaigpIG5vdyBzdXBwb3J0IHRoZSB1c2UKLSAgb2YgcHJlZGVmaW5lZCBjb21wcmVzc2lvbiBkaWN0aW9uYXJpZXMuIE9yaWdpbmFsIHBhdGNoIGJ5IFNhbSBSdXNoaW5nLgotCi0tIEZpeCBHemlwRmlsZSdzIGhhbmRsaW5nIG9mIGZpbGVuYW1lcyBnaXZlbiBhcyBieXRlcyBvYmplY3RzLgotCi0tIElzc3VlICMxNDc3MjogUmV0dXJuIGRlc3RpbmF0aW9uIHZhbHVlcyBmcm9tIHNvbWUgc2h1dGlsIGZ1bmN0aW9ucy4KLQotLSBJc3N1ZSAjMTUwNjQ6IEltcGxlbWVudCBjb250ZXh0IG1hbmFnZXIgcHJvdG9jb2wgZm9yIG11bHRpcHJvY2Vzc2luZyB0eXBlcwotCi0tIElzc3VlICMxNTEwMTogTWFrZSBwb29sIGZpbmFsaXplciBhdm9pZCBqb2luaW5nIGN1cnJlbnQgdGhyZWFkLgotCi0tIElzc3VlICMxNDY1NzogVGhlIGZyb3plbiBpbnN0YW5jZSBvZiBpbXBvcnRsaWIgdXNlZCBmb3IgYm9vdHN0cmFwIGlzIG5vdwotICBhbHNvIHRoZSBtb2R1bGUgaW1wb3J0ZWQgYXMgaW1wb3J0bGliLl9ib290c3RyYXAuCi0KLS0gSXNzdWUgIzE0MDU1OiBBZGQgX19zaXplb2ZfXyBzdXBwb3J0IHRvIF9lbGVtZW50dHJlZS4KLQotLSBJc3N1ZSAjMTUwNTQ6IEEgYnVnIGluIHRva2VuaXplLnRva2VuaXplIHRoYXQgY2F1c2VkIHN0cmluZyBsaXRlcmFscwotICB3aXRoICdiJyBwcmVmaXhlcyB0byBiZSBpbmNvcnJlY3RseSB0b2tlbml6ZWQgaGFzIGJlZW4gZml4ZWQuCi0gIFBhdGNoIGJ5IFNlcmhpeSBTdG9yY2hha2EuCi0KLS0gSXNzdWUgIzE1MDA2OiBBbGxvdyBlcXVhbGl0eSBjb21wYXJpc29uIGJldHdlZW4gbmFpdmUgYW5kIGF3YXJlCi0gIHRpbWUgb3IgZGF0ZXRpbWUgb2JqZWN0cy4KLQotLSBJc3N1ZSAjMTUwMzY6IE1haWxib3ggbm8gbG9uZ2VyIHRocm93cyBhbiBlcnJvciBpZiBhIGZsdXNoIGlzIGRvbmUKLSAgYmV0d2VlbiBvcGVyYXRpb25zIHdoZW4gcmVtb3Zpbmcgb3IgY2hhbmdpbmcgbXVsdGlwbGUgaXRlbXMgaW4gbWJveCwKLSAgTU1ERiwgb3IgQmFieWwgbWFpbGJveGVzLgotCi0tIElzc3VlICMxNDA1OTogSW1wbGVtZW50IG11bHRpcHJvY2Vzc2luZy5CYXJyaWVyLgotCi0tIElzc3VlICMxNTA2MTogVGhlIGluYXBwcm9wcmlhdGVseSBuYW1lZCBobWFjLnNlY3VyZV9jb21wYXJlIGhhcyBiZWVuCi0gIHJlbmFtZWQgdG8gaG1hYy5jb21wYXJlX2RpZ2VzdCwgcmVzdHJpY3RlZCB0byBvcGVyYXRpbmcgb24gYnl0ZXMgaW5wdXRzCi0gIG9ubHkgYW5kIGhhZCBpdHMgZG9jdW1lbnRhdGlvbiB1cGRhdGVkIHRvIG1vcmUgYWNjdXJhdGVseSByZWZsZWN0IGJvdGggaXRzCi0gIGludGVudCBhbmQgaXRzIGxpbWl0YXRpb25zCi0KLS0gSXNzdWUgIzEzODQxOiBNYWtlIGNoaWxkIHByb2Nlc3NlcyBleGl0IHVzaW5nIHN5cy5leGl0KCkgb24gV2luZG93cy4KLQotLSBJc3N1ZSAjMTQ5MzY6IGN1cnNlc19wYW5lbCB3YXMgY29udmVydGVkIHRvIFBFUCAzMTIxIGFuZCBQRVAgMzg0IEFQSS4KLSAgUGF0Y2ggYnkgUm9iaW4gU2NocmVpYmVyLgotCi0tIElzc3VlICMxNjY3NTQ2OiBPbiBwbGF0Zm9ybXMgc3VwcG9ydGluZyB0bV96b25lIGFuZCB0bV9nbXRvZmYgZmllbGRzCi0gIGluIHN0cnVjdCB0bSwgdGltZS5zdHJ1Y3RfdGltZSBvYmplY3RzIHJldHVybmVkIGJ5IHRpbWUuZ210aW1lKCksCi0gIHRpbWUubG9jYWx0aW1lKCkgYW5kIHRpbWUuc3RycHRpbWUoKSBmdW5jdGlvbnMgbm93IGhhdmUgdG1fem9uZSBhbmQKLSAgdG1fZ210b2ZmIGF0dHJpYnV0ZXMuICBPcmlnaW5hbCBwYXRjaCBieSBQYXVsIEJvZGRpZS4KLQotLSBSZW5hbWUgYWRqdXN0ZWQgYXR0cmlidXRlIHRvIGFkanVzdGFibGUgaW4gdGltZS5nZXRfY2xvY2tfaW5mbygpIHJlc3VsdC4KLQotLSBJc3N1ZSAjMzUxODogUmVtb3ZlIHJlZmVyZW5jZXMgdG8gbm9uLWV4aXN0ZW50IEJhc2VNYW5hZ2VyLmZyb21fYWRkcmVzcygpCi0gIG1ldGhvZC4KLQotLSBJc3N1ZSAjMTM4NTc6IEFkZGVkIHRleHR3cmFwLmluZGVudCgpIGZ1bmN0aW9uIChpbml0aWFsIHBhdGNoIGJ5IEV6cmEKLSAgQmVyY2gpCi0KLS0gSXNzdWUgIzI3MzY6IEFkZGVkIGRhdGV0aW1lLnRpbWVzdGFtcCgpIG1ldGhvZC4KLQotLSBJc3N1ZSAjMTM4NTQ6IE1ha2UgbXVsdGlwcm9jZXNzaW5nIHByb3Blcmx5IGhhbmRsZSBub24taW50ZWdlcgotICBub24tc3RyaW5nIGFyZ3VtZW50IHRvIFN5c3RlbUV4aXQuCi0KLS0gSXNzdWUgIzEyMTU3OiBNYWtlIHBvb2wubWFwKCkgZW1wdHkgaXRlcmFibGVzIGNvcnJlY3RseS4gIEluaXRpYWwKLSAgcGF0Y2ggYnkgbW91YWQuCi0KLS0gSXNzdWUgIzExODIzOiBkaXNhc3NlbWJseSBub3cgc2hvd3MgYXJndW1lbnQgY291bnRzIG9uIGNhbGxzIHdpdGgga2V5d29yZCBhcmdzLgotCi0tIElzc3VlICMxNDcxMTogb3Muc3RhdF9mbG9hdF90aW1lcygpIGhhcyBiZWVuIGRlcHJlY2F0ZWQuCi0KLS0gTFpNQUZpbGUgbm93IGFjY2VwdHMgdGhlIG1vZGVzICJyYiIvIndiIi8iYWIiIGFzIHN5bm9ueW1zIG9mICJyIi8idyIvImEiLgotCi0tIFRoZSBiejIgYW5kIGx6bWEgbW9kdWxlcyBub3cgZWFjaCBjb250YWluIGFuIG9wZW4oKSBmdW5jdGlvbiwgYWxsb3dpbmcKLSAgY29tcHJlc3NlZCBmaWxlcyB0byByZWFkaWx5IGJlIG9wZW5lZCBpbiB0ZXh0IG1vZGUgYXMgd2VsbCBhcyBiaW5hcnkgbW9kZS4KLQotLSBCWjJGaWxlLl9faW5pdF9fKCkgYW5kIExaTUFGaWxlLl9faW5pdF9fKCkgbm93IGFjY2VwdCBhIGZpbGUgb2JqZWN0IGFzIHRoZWlyCi0gIGZpcnN0IGFyZ3VtZW50LCByYXRoZXIgdGhhbiByZXF1aXJpbmcgYSBzZXBhcmF0ZSAiZmlsZW9iaiIgYXJndW1lbnQuCi0KLS0gZ3ppcC5vcGVuKCkgbm93IGFjY2VwdHMgZmlsZSBvYmplY3RzIGFzIHdlbGwgYXMgZmlsZW5hbWVzLgotCi0tIElzc3VlICMxNDk5Mjogb3MubWFrZWRpcnMocGF0aCwgZXhpc3Rfb2s9VHJ1ZSkgd291bGQgcmFpc2UgYW4gT1NFcnJvcgotICB3aGVuIHRoZSBwYXRoIGV4aXN0ZWQgYW5kIGhhZCB0aGUgU19JU0dJRCBtb2RlIGJpdCBzZXQgd2hlbiBpdCB3YXMKLSAgbm90IGV4cGxpY2l0bHkgYXNrZWQgZm9yLiAgVGhpcyBpcyBubyBsb25nZXIgYW4gZXhjZXB0aW9uIGFzIG1rZGlyCi0gIGNhbm5vdCBjb250cm9sIGlmIHRoZSBPUyBzZXRzIHRoYXQgYml0IGZvciBpdCBvciBub3QuCi0KLS0gSXNzdWUgIzE0OTg5OiBNYWtlIHRoZSBDR0kgZW5hYmxlIG9wdGlvbiB0byBodHRwLnNlcnZlciBhdmFpbGFibGUgdmlhIGNvbW1hbmQKLSAgbGluZS4KLQotLSBJc3N1ZSAjMTQ5ODc6IEFkZCBhIG1pc3NpbmcgaW1wb3J0IHN0YXRlbWVudCB0byBpbnNwZWN0LgotCi0tIElzc3VlICMxMDc5OiBlbWFpbC5oZWFkZXIuZGVjb2RlX2hlYWRlciBub3cgY29ycmVjdGx5IHBhcnNlcyBhbGwgdGhlIGV4YW1wbGVzCi0gIGluIFJGQzIwNDcuICBUaGVyZSBpcyBhIG5lY2Vzc2FyeSB2aXNpYmxlIGJlaGF2aW9yIGNoYW5nZTogdGhlIGxlYWRpbmcgYW5kL29yCi0gIHRyYWlsaW5nIHdoaXRlc3BhY2Ugb24gQVNDSUkgcGFydHMgaXMgbm93IHByZXNlcnZlZC4KLQotLSBJc3N1ZSAjMTQ5Njk6IEJldHRlciBoYW5kbGluZyBvZiBleGNlcHRpb24gY2hhaW5pbmcgaW4gY29udGV4dGxpYi5FeGl0U3RhY2sKLQotLSBJc3N1ZSAjMTQ5NjM6IENvbnZlcnQgY29udGV4dGxpYi5FeGl0U3RhY2suX19leGl0X18gdG8gdXNlIGFuIGl0ZXJhdGl2ZQotICBhbGdvcml0aG0gKFBhdGNoIGJ5IEFsb24gSG9yZXYpCi0KLS0gSXNzdWUgIzE0Nzg1OiBBZGQgc3lzLl9kZWJ1Z21hbGxvY3N0YXRzKCkgdG8gaGVscCBkZWJ1ZyBsb3ctbGV2ZWwgbWVtb3J5Ci0gIGFsbG9jYXRpb24gaXNzdWVzCi0KLS0gSXNzdWUgIzE0NDQzOiBFbnN1cmUgdGhhdCAucHkgZmlsZXMgYXJlIGJ5dGUtY29tcGlsZWQgd2l0aCB0aGUgY29ycmVjdCBQeXRob24KLSAgZXhlY3V0YWJsZSB3aXRoaW4gYmRpc3RfcnBtIGV2ZW4gb24gb2xkZXIgdmVyc2lvbnMgb2YgUlBNCi0KLUMtQVBJCi0tLS0tLQotCi0tIElzc3VlICMxNTE0NjogQWRkIFB5VHlwZV9Gcm9tU3BlY1dpdGhCYXNlcy4gUGF0Y2ggYnkgUm9iaW4gU2NocmVpYmVyLgotCi0tIElzc3VlICMxNTA0MjogQWRkIFB5U3RhdGVfQWRkTW9kdWxlIGFuZCBQeVN0YXRlX1JlbW92ZU1vZHVsZS4gQWRkIHZlcnNpb24KLSAgZ3VhcmQgZm9yIFB5X0xJTUlURURfQVBJIGFkZGl0aW9ucy4gUGF0Y2ggYnkgUm9iaW4gU2NocmVpYmVyLgotCi0tIElzc3VlICMxMzc4MzogSW5hZHZlcnRlbnQgYWRkaXRpb25zIHRvIHRoZSBwdWJsaWMgQyBBUEkgaW4gdGhlIFBFUCAzODAKLSAgaW1wbGVtZW50YXRpb24gaGF2ZSBlaXRoZXIgYmVlbiByZW1vdmVkIG9yIG1hcmtlZCBhcyBwcml2YXRlIGludGVyZmFjZXMuCi0KLUV4dGVuc2lvbiBNb2R1bGVzCi0tLS0tLS0tLS0tLS0tLS0tLQotCi0tIElzc3VlICMxNTAwMDogU3VwcG9ydCB0aGUgInVuaXF1ZSIgeDMyIGFyY2hpdGVjdHVyZSBpbiBfcG9zaXhzdWJwcm9jZXNzLmMuCi0KLUlETEUKLS0tLS0KLQotLSBJc3N1ZSAjOTgwMzogRG9uJ3QgY2xvc2UgSURMRSBvbiBzYXZpbmcgaWYgYnJlYWtwb2ludCBpcyBvcGVuLgotICBQYXRjaCBieSBSb2dlciBTZXJ3eS4KLQotLSBJc3N1ZSAjMTQ5NjI6IFVwZGF0ZSB0ZXh0IGNvbG9yaW5nIGluIElETEUgc2hlbGwgd2luZG93IGFmdGVyIGNoYW5naW5nCi0gIG9wdGlvbnMuICBQYXRjaCBieSBSb2dlciBTZXJ3eS4KLQotRG9jdW1lbnRhdGlvbgotLS0tLS0tLS0tLS0tLQotCi0tIElzc3VlICMxNTE3NjogQ2xhcmlmaWVkIGJlaGF2aW9yLCBkb2N1bWVudGF0aW9uLCBhbmQgaW1wbGVtZW50YXRpb24KLSAgb2Ygb3MubGlzdGRpcigpLgotCi0tIElzc3VlICMxNDk4MjogRG9jdW1lbnQgdGhhdCBwa2d1dGlsJ3MgaXRlcmF0aW9uIGZ1bmN0aW9ucyByZXF1aXJlIHRoZQotICBub24tc3RhbmRhcmQgaXRlcl9tb2R1bGVzKCkgbWV0aG9kIHRvIGJlIGRlZmluZWQgYnkgYW4gaW1wb3J0ZXIgKHNvbWV0aGluZwotICB0aGUgaW1wb3J0bGliIGltcG9ydGVycyBkbyBub3QgZGVmaW5lKS4KLQotLSBJc3N1ZSAjMTUwODE6IERvY3VtZW50IFB5U3RhdGVfRmluZE1vZHVsZS4KLSAgUGF0Y2ggYnkgUm9iaW4gU2NocmVpYmVyLgotCi0tIElzc3VlICMxNDgxNDogQWRkZWQgZmlyc3QgZHJhZnQgb2YgaXBhZGRyZXNzIG1vZHVsZSBBUEkgcmVmZXJlbmNlCi0KLVRlc3RzCi0tLS0tLQotCi0tIElzc3VlICMxNTE4NzogQnVnZml4OiByZW1vdmUgdGVtcG9yYXJ5IGRpcmVjdG9yaWVzIHRlc3Rfc2h1dGlsIHdhcyBsZWF2aW5nCi0gIGJlaGluZC4KLQotLSBJc3N1ZSAjMTQ3Njk6IHRlc3RfY2FwaSBub3cgaGFzIFNraXBpdGVtVGVzdCwgd2hpY2ggY2xldmVybHkgY2hlY2tzCi0gIGZvciAicGFyaXR5IiBiZXR3ZWVuIFB5QXJnX1BhcnNlVHVwbGUoKSBhbmQgdGhlIFB5dGhvbi9nZXRhcmdzLmMgc3RhdGljCi0gIGZ1bmN0aW9uIHNraXBpdGVtKCkgZm9yIGFsbCBwb3NzaWJsZSAiZm9ybWF0IHVuaXRzIi4KLQotLSB0ZXN0X25udHBsaWIgbm93IHRvbGVyYXRlcyBiZWluZyBydW4gZnJvbSBiZWhpbmQgTk5UUCBnYXRld2F5cyB0aGF0IGFkZAotICAiWC1BbnRpdmlydXMiIGhlYWRlcnMgdG8gYXJ0aWNsZXMKLQotLSBJc3N1ZSAjMTUwNDM6IHRlc3RfZ2RiIGlzIG5vdyBza2lwcGVkIGVudGlyZWx5IGlmIGdkYiBzZWN1cml0eSBzZXR0aW5ncwotICBibG9jayBsb2FkaW5nIG9mIHRoZSBnZGIgaG9va3MKLQotLSBJc3N1ZSAjMTQ5NjM6IEFkZCB0ZXN0IGNhc2VzIGZvciBleGNlcHRpb24gaGFuZGxpbmcgYmVoYXZpb3VyCi0gIGluIGNvbnRleHRsaWIuRXhpdFN0YWNrIChJbml0aWFsIHBhdGNoIGJ5IEFsb24gSG9yZXYpCi0KLUJ1aWxkCi0tLS0tLQotCi0tIElzc3VlICMxMzU5MDogSW1wcm92ZSBzdXBwb3J0IGZvciBPUyBYIFhjb2RlIDQ6Ci0gICAgKiBUcnkgdG8gYXZvaWQgYnVpbGRpbmcgUHl0aG9uIG9yIGV4dGVuc2lvbiBtb2R1bGVzIHdpdGggcHJvYmxlbWF0aWMKLSAgICAgIGxsdm0tZ2NjIGNvbXBpbGVyLgotICAgICogU2luY2UgWGNvZGUgNCByZW1vdmVzIHBwYyBzdXBwb3J0LCBleHRlbnNpb24gbW9kdWxlIGJ1aWxkcyBub3cKLSAgICAgIGNoZWNrIGZvciBwcGMgY29tcGlsZXIgc3VwcG9ydCBhbmQgYXV0b21hdGljYWxseSByZW1vdmUgcHBjIGFuZAotICAgICAgcHBjNjQgYXJjaHMgd2hlbiBub3QgYXZhaWxhYmxlLgotICAgICogU2luY2UgWGNvZGUgNCBubyBsb25nZXIgaW5zdGFsbCBTREtzIGluIGRlZmF1bHQgbG9jYXRpb25zLAotICAgICAgZXh0ZW5zaW9uIG1vZHVsZSBidWlsZHMgbm93IHJldmVydCB0byB1c2luZyBpbnN0YWxsZWQgaGVhZGVycwotICAgICAgYW5kIGxpYnMgaWYgdGhlIFNESyB1c2VkIHRvIGJ1aWxkIHRoZSBpbnRlcnByZXRlciBpcyBub3QKLSAgICAgIGF2YWlsYWJsZS4KLSAgICAqIFVwZGF0ZSAuL2NvbmZpZ3VyZSB0byB1c2UgYmV0dGVyIGRlZmF1bHRzIGZvciB1bml2ZXJzYWwgYnVpbGRzOwotICAgICAgaW4gcGFydGljdWxhciwgLS1lbmFibGUtdW5pdmVyc2Fsc2RrPXllcyB1c2VzIHRoZSBYY29kZSBkZWZhdWx0Ci0gICAgICBTREsgYW5kIC0td2l0aC11bml2ZXJzYWwtYXJjaHMgbm93IGRlZmF1bHRzIHRvICJpbnRlbCIgaWYgcHBjCi0gICAgICBub3QgYXZhaWxhYmxlLgotCi0tIElzc3VlICMxNDIyNTogRml4IFVuaWNvZGUgc3VwcG9ydCBmb3IgY3Vyc2VzICgjMTI1NjcpIG9uIE9TIFgKLQotLSBJc3N1ZSAjMTQ5Mjg6IEZpeCBpbXBvcnRsaWIgYm9vdHN0cmFwIGlzc3VlcyBieSB1c2luZyBhIGN1c3RvbSBleGVjdXRhYmxlCi0gIChNb2R1bGVzL19mcmVlemVfaW1wb3J0bGliKSB0byBidWlsZCBQeXRob24vaW1wb3J0bGliLmguCi0KLQotV2hhdCdzIE5ldyBpbiBQeXRob24gMy4zLjAgQWxwaGEgND8KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0KLSpSZWxlYXNlIGRhdGU6IDMxLU1heS0yMDEyKgotCi1Db3JlIGFuZCBCdWlsdGlucwotLS0tLS0tLS0tLS0tLS0tLS0KLQotLSBJc3N1ZSAjMTQ4MzU6IE1ha2UgcGxpc3RsaWIgb3V0cHV0IGVtcHR5IGFycmF5cyAmIGRpY3RzIGxpa2UgT1MgWC4KLSAgUGF0Y2ggYnkgU2lkbmV5IFNhbiBNYXJ0w61uLgotCi0tIElzc3VlICMxNDc0NDogVXNlIHRoZSBuZXcgX1B5VW5pY29kZVdyaXRlciBpbnRlcm5hbCBBUEkgdG8gc3BlZWQgdXAKLSAgc3RyJWFyZ3MgYW5kIHN0ci5mb3JtYXQoYXJncykuCi0KLS0gSXNzdWUgIzE0OTMwOiBNYWtlIG1lbW9yeXZpZXcgb2JqZWN0cyB3ZWFrcmVmYWJsZS4KLQotLSBJc3N1ZSAjMTQ3NzU6IEZpeCBhIHBvdGVudGlhbCBxdWFkcmF0aWMgZGljdCBidWlsZC11cCBkdWUgdG8gdGhlIGdhcmJhZ2UKLSAgY29sbGVjdG9yIHJlcGVhdGVkbHkgdHJ5aW5nIHRvIHVudHJhY2sgZGljdHMuCi0KLS0gSXNzdWUgIzE0ODU3OiBmaXggcmVncmVzc2lvbiBpbiByZWZlcmVuY2VzIHRvIFBFUCAzMTM1IGltcGxpY2l0IF9fY2xhc3NfXwotICBjbG9zdXJlIHZhcmlhYmxlIChSZW9wZW5zIGlzc3VlICMxMjM3MCkKLQotLSBJc3N1ZSAjMTQ3MTIgKFBFUCA0MDUpOiBWaXJ0dWFsIGVudmlyb25tZW50cy4gSW1wbGVtZW50ZWQgYnkgVmluYXkgU2FqaXAuCi0KLS0gSXNzdWUgIzE0NjYwIChQRVAgNDIwKTogTmFtZXNwYWNlIHBhY2thZ2VzLiBJbXBsZW1lbnRlZCBieSBFcmljIFNtaXRoLgotCi0tIElzc3VlICMxNDQ5NDogRml4IF9fZnV0dXJlX18ucHkgYW5kIGl0cyBkb2N1bWVudGF0aW9uIHRvIG5vdGUgdGhhdAotICBhYnNvbHV0ZSBpbXBvcnRzIGFyZSB0aGUgZGVmYXVsdCBiZWhhdmlvciBpbiAzLjAgaW5zdGVhZCBvZiAyLjcuCi0gIFBhdGNoIGJ5IFN2ZW4gTWFybmFjaC4KLQotLSBJc3N1ZSAjOTI2MDogQSBmaW5lci1ncmFpbmVkIGltcG9ydCBsb2NrLiAgTW9zdCBvZiB0aGUgaW1wb3J0IHNlcXVlbmNlCi0gIG5vdyB1c2VzIHBlci1tb2R1bGUgbG9ja3MgcmF0aGVyIHRoYW4gdGhlIGdsb2JhbCBpbXBvcnQgbG9jaywgZWxpbWluYXRpbmcKLSAgd2VsbC1rbm93biBpc3N1ZXMgd2l0aCB0aHJlYWRzIGFuZCBpbXBvcnRzLgotCi0tIElzc3VlICMxNDYyNDogVVRGLTE2IGRlY29kaW5nIGlzIG5vdyAzeCB0byA0eCBmYXN0ZXIgb24gdmFyaW91cyBpbnB1dHMuCi0gIFBhdGNoIGJ5IFNlcmhpeSBTdG9yY2hha2EuCi0KLS0gYXNkbF9zZXEgYW5kIGFzZGxfaW50X3NlcSBhcmUgbm93IFB5X3NzaXplX3Qgc2l6ZWQuCi0KLS0gSXNzdWUgIzE0MTMzIChQRVAgNDE1KTogSW1wbGVtZW50IHN1cHByZXNzaW9uIG9mIF9fY29udGV4dF9fIGRpc3BsYXkgd2l0aCBhbgotICBhdHRyaWJ1dGUgb24gQmFzZUV4Y2VwdGlvbi4gVGhpcyByZXBsYWNlcyB0aGUgb3JpZ2luYWwgbWVjaGFuaXNtIG9mIFBFUCA0MDkuCi0KLS0gSXNzdWUgIzE0NDE3OiBNdXRhdGluZyBhIGRpY3QgZHVyaW5nIGxvb2t1cCBub3cgcmVzdGFydHMgdGhlIGxvb2t1cCBpbnN0ZWFkCi0gIG9mIHJhaXNpbmcgYSBSdW50aW1lRXJyb3IgKHVuZG9lcyBpc3N1ZSAjMTQyMDUpLgotCi0tIElzc3VlICMxNDczODogU3BlZWQtdXAgVVRGLTggZGVjb2Rpbmcgb24gbm9uLUFTQ0lJIGRhdGEuICBQYXRjaCBieSBTZXJoaXkKLSAgU3RvcmNoYWthLgotCi0tIElzc3VlICMxNDcwMDogRml4IHR3byBicm9rZW4gYW5kIHVuZGVmaW5lZC1iZWhhdmlvdXItaW5kdWNpbmcgb3ZlcmZsb3cgY2hlY2tzCi0gIGluIG9sZC1zdHlsZSBzdHJpbmcgZm9ybWF0dGluZy4KLQotTGlicmFyeQotLS0tLS0tLQotCi0tIElzc3VlICMxNDY5MDogVXNlIG1vbm90b25pYyBjbG9jayBpbnN0ZWFkIG9mIHN5c3RlbSBjbG9jayBpbiB0aGUgc2NoZWQsCi0gIHN1YnByb2Nlc3MgYW5kIHRyYWNlIG1vZHVsZXMuCi0KLS0gSXNzdWUgIzE0NDQzOiBUZWxsIHJwbWJ1aWxkIHRvIHVzZSB0aGUgY29ycmVjdCB2ZXJzaW9uIG9mIFB5dGhvbiBpbgotICBiZGlzdF9ycG0uIEluaXRpYWwgcGF0Y2ggYnkgUm9zcyBMYWdlcndhbGwuCi0KLS0gSXNzdWUgIzEyNTE1OiBlbWFpbCBub3cgcmVnaXN0ZXJzIGEgZGVmZWN0IGlmIGl0IGdldHMgdG8gRU9GIHdoaWxlIHBhcnNpbmcKLSAgYSBNSU1FIHBhcnQgd2l0aG91dCBzZWVpbmcgdGhlIGNsb3NpbmcgTUlNRSBib3VuZGFyeS4KLQotLSBJc3N1ZSAjMTY3MjU2ODogZW1haWwgbm93IGFsd2F5cyBkZWNvZGVzIGJhc2U2NCBwYXlsb2FkcywgYWRkaW5nIHBhZGRpbmcgYW5kCi0gIGlnbm9yaW5nIG5vbi1iYXNlNjQtYWxwaGFiZXQgY2hhcmFjdGVycyBpZiBuZWVkZWQsIGFuZCByZWdpc3RlcmluZyBkZWZlY3RzCi0gIGZvciBhbnkgc3VjaCBwcm9ibGVtcy4KLQotLSBJc3N1ZSAjMTQ5MjU6IGVtYWlsIG5vdyByZWdpc3RlcnMgYSBkZWZlY3Qgd2hlbiB0aGUgcGFyc2VyIGRlY2lkZXMgdGhhdCB0aGVyZQotICBpcyBhIG1pc3NpbmcgaGVhZGVyL2JvZHkgc2VwYXJhdG9yIGxpbmUuICBNYWxmb3JtZWRIZWFkZXJEZWZlY3QsIHdoaWNoIHRoZQotICBleGlzdGluZyBjb2RlIHdvdWxkIG5ldmVyIGFjdHVhbGx5IGdlbmVyYXRlLCBpcyBkZXByZWNhdGVkLgotCi0tIElzc3VlICMxMDM2NTogRmlsZSBvcGVuIGRpYWxvZyBub3cgd29ya3MgaW5zdGVhZCBvZiBjcmFzaGluZyBldmVuIHdoZW4KLSAgdGhlIHBhcmVudCB3aW5kb3cgaXMgY2xvc2VkIGJlZm9yZSB0aGUgZGlhbG9nLiBQYXRjaCBieSBSb2dlciBTZXJ3eS4KLQotLSBJc3N1ZSAjODczOTogVXBkYXRlZCBzbXRwZCB0byBzdXBwb3J0IFJGQyA1MzIxLCBhbmQgYWRkZWQgc3VwcG9ydCBmb3IgdGhlCi0gIFJGQyAxODcwIFNJWkUgZXh0ZW5zaW9uLgotCi0tIElzc3VlICM2NjUxOTQ6IEFkZGVkIGEgbG9jYWx0aW1lIGZ1bmN0aW9uIHRvIGVtYWlsLnV0aWxzIHRvIHByb3ZpZGUgYW4KLSAgYXdhcmUgbG9jYWwgZGF0ZXRpbWUgZm9yIHVzZSBpbiBzZXR0aW5nIERhdGUgaGVhZGVycy4KLQotLSBJc3N1ZSAjMTI1ODY6IEFkZGVkIG5ldyBwcm92aXNpb25hbCBwb2xpY2llcyB0aGF0IGltcGxlbWVudCBjb252ZW5pZW50Ci0gIHVuaWNvZGUgc3VwcG9ydCBmb3IgZW1haWwgaGVhZGVycy4gIFNlZSBXaGF0J3MgTmV3IGZvciBkZXRhaWxzLgotCi0tIElzc3VlICMxNDczMTogUmVmYWN0b3JlZCBlbWFpbCBQb2xpY3kgZnJhbWV3b3JrIHRvIHN1cHBvcnQgZnVsbCBiYWNrd2FyZAotICBjb21wYXRpYmlsaXR5IHdpdGggUHl0aG9uIDMuMiBieSBkZWZhdWx0IHlldCBhbGxvdyBmb3IgdGhlIGludHJvZHVjdGlvbiBvZgotICBuZXcgZmVhdHVyZXMgdGhyb3VnaCBuZXcgcG9saWNpZXMuICBOb3RlIHRoYXQgUG9saWN5Lm11c3RfYmVfN2JpdCBpcyByZW5hbWVkCi0gIHRvIGN0ZV90eXBlLgotCi0tIElzc3VlICMxNDg3NjogVXNlIHVzZXItc2VsZWN0ZWQgZm9udCBmb3IgaGlnaGxpZ2h0IGNvbmZpZ3VyYXRpb24uCi0KLS0gSXNzdWUgIzE0OTIwOiBGaXggdGhlIGhlbHAodXJsbGliLnBhcnNlKSBmYWlsdXJlIG9uIGxvY2FsZSBDIG9uIHRlcm1pbmFscy4KLSAgSGF2ZSBhc2NpaSBjaGFyYWN0ZXJzIGluIGhlbHAuCi0KLS0gSXNzdWUgIzE0NTQ4OiBNYWtlIG11bHRpcHJvY2Vzc2luZyBmaW5hbGl6ZXJzIGNoZWNrIHBpZCBiZWZvcmUKLSAgcnVubmluZyB0byBjb3BlIHdpdGggcG9zc2liaWxpdHkgb2YgZ2MgcnVubmluZyBqdXN0IGFmdGVyIGZvcmsuCi0KLS0gSXNzdWUgIzE0MDM2OiBBZGQgYW4gYWRkaXRpb25hbCBjaGVjayB0byB2YWxpZGF0ZSB0aGF0IHBvcnQgaW4gdXJscGFyc2UgZG9lcwotICBub3QgZ28gaW4gaWxsZWdhbCByYW5nZSBhbmQgcmV0dXJucyBOb25lLgotCi0tIElzc3VlICMxNDg2MjogQWRkIG1pc3NpbmcgbmFtZXMgdG8gb3MuX19hbGxfXwotCi0tIElzc3VlICMxNDg3NTogVXNlIGZsb2F0KCdpbmYnKSBpbnN0ZWFkIG9mIGZsb2F0KCcxZTY2NjY2JykgaW4gdGhlIGpzb24gbW9kdWxlLgotCi0tIElzc3VlICMxMzU4NTogQWRkZWQgY29udGV4dGxpYi5FeGl0U3RhY2sKLQotLSBQRVAgMzE0NCwgSXNzdWUgIzE0ODE0OiBBZGRlZCB0aGUgaXBhZGRyZXNzIG1vZHVsZQotCi0tIElzc3VlICMxNDQyNjogQ29ycmVjdCB0aGUgRGF0ZSBmb3JtYXQgaW4gRXhwaXJlcyBhdHRyaWJ1dGUgb2YgU2V0LUNvb2tpZQotICBIZWFkZXIgaW4gQ29va2llLnB5LgotCi0tIElzc3VlICMxNDU4ODogVGhlIHR5cGVzIG1vZHVsZSBub3cgcHJvdmlkZSBuZXdfY2xhc3MoKSBhbmQgcHJlcGFyZV9jbGFzcygpCi0gIGZ1bmN0aW9ucyB0byBzdXBwb3J0IFBFUCAzMTE1IGNvbXBsaWFudCBkeW5hbWljIGNsYXNzIGNyZWF0aW9uLiBQYXRjaCBieQotICBEYW5pZWwgVXJiYW4gYW5kIE5pY2sgQ29naGxhbi4KLQotLSBJc3N1ZSAjMTMxNTI6IEFsbG93IHRvIHNwZWNpZnkgYSBjdXN0b20gdGFic2l6ZSBmb3IgZXhwYW5kaW5nIHRhYnMgaW4KLSAgdGV4dHdyYXAuIFBhdGNoIGJ5IEpvaG4gRmV1ZXJzdGVpbi4KLQotLSBJc3N1ZSAjMTQ3MjE6IFNlbmQgdGhlIGNvcnJlY3QgJ0NvbnRlbnQtbGVuZ3RoOiAwJyBoZWFkZXIgd2hlbiB0aGUgYm9keSBpcyBhbgotICBlbXB0eSBzdHJpbmcgJycuIEluaXRpYWwgUGF0Y2ggY29udHJpYnV0ZWQgYnkgQXJ2ZSBLbnVkc2VuLgotCi0tIElzc3VlICMxNDA3MjogRml4IHBhcnNpbmcgb2YgJ3RlbCcgVVJJcyBpbiB1cmxwYXJzZSBieSBtYWtpbmcgdGhlIGNoZWNrIGZvcgotICBwb3J0cyBzdHJpY3Rlci4KLQotLSBJc3N1ZSAjOTM3NDogR2VuZXJpYyBwYXJzaW5nIG9mIHF1ZXJ5IGFuZCBmcmFnbWVudCBwb3J0aW9ucyBvZiB1cmwgZm9yIGFueQotICBzY2hlbWUuIFN1cHBvcnRlZCBib3RoIGJ5IFJGQzM5ODYgYW5kIFJGQzIzOTYuCi0KLS0gSXNzdWUgIzE0Nzk4OiBGaXggdGhlIGZ1bmN0aW9ucyBpbiBweWNsYnIgdG8gcmFpc2UgYW4gSW1wb3J0RXJyb3IKLSAgd2hlbiB0aGUgZmlyc3QgcGFydCBvZiBhIGRvdHRlZCBuYW1lIGlzIG5vdCBhIHBhY2thZ2UuIFBhdGNoIGJ5Ci0gIFhhdmllciBkZSBHYXllLgotCi0tIElzc3VlICMxMjA5ODogbXVsdGlwcm9jZXNzaW5nIG9uIFdpbmRvd3Mgbm93IHN0YXJ0cyBjaGlsZCBwcm9jZXNzZXMKLSAgdXNpbmcgdGhlIHNhbWUgc3lzLmZsYWdzIGFzIHRoZSBjdXJyZW50IHByb2Nlc3MuICBJbml0aWFsIHBhdGNoIGJ5Ci0gIFNlcmdleSBNZXplbnRzZXYuCi0KLS0gSXNzdWUgIzEzMDMxOiBTbWFsbCBzcGVlZC11cCBmb3IgdGFyZmlsZSB3aGVuIHVuemlwcGluZyB0YXJmaWxlcy4KLSAgUGF0Y2ggYnkgSnVzdGluIFBlZWwuCi0KLS0gSXNzdWUgIzE0NzgwOiB1cmxsaWIucmVxdWVzdC51cmxvcGVuKCkgbm93IGhhcyBhIGBgY2FkZWZhdWx0YGAgYXJndW1lbnQKLSAgdG8gdXNlIHRoZSBkZWZhdWx0IGNlcnRpZmljYXRlIHN0b3JlLiAgSW5pdGlhbCBwYXRjaCBieSBKYW1lcyBPYWtsZXkuCi0KLS0gSXNzdWUgIzE0ODI5OiBGaXggYmlzZWN0IGFuZCByYW5nZSgpIGluZGV4aW5nIHdpdGggbGFyZ2UgaW5kaWNlcwotICAoPj0gMiAqKiAzMikgdW5kZXIgNjQtYml0IFdpbmRvd3MuCi0KLS0gSXNzdWUgIzE0NzMyOiBUaGUgX2NzdiBtb2R1bGUgbm93IHVzZXMgUEVQIDMxMjEgbW9kdWxlIGluaXRpYWxpemF0aW9uLgotICBQYXRjaCBieSBSb2JpbiBTY2hyZWliZXIuCi0KLS0gSXNzdWUgIzE0ODA5OiBBZGQgSFRUUCBzdGF0dXMgY29kZXMgaW50cm9kdWNlZCBieSBSRkMgNjU4NSB0byBodHRwLnNlcnZlcgotICBhbmQgaHR0cC5jbGllbnQuIFBhdGNoIGJ5IEV1bmdKdW4gWWkuCi0KLS0gSXNzdWUgIzE0Nzc3OiB0a2ludGVyIG1heSByZXR1cm4gdW5kZWNvZGVkIFVURi04IGJ5dGVzIGFzIGEgc3RyaW5nIHdoZW4KLSAgYWNjZXNzaW5nIHRoZSBUayBjbGlwYm9hcmQuICBNb2RpZnkgY2xpcGJvYWRfZ2V0KCkgdG8gZmlyc3QgcmVxdWVzdCB0eXBlCi0gIFVURjhfU1RSSU5HIHdoZW4gbm8gc3BlY2lmaWMgdHlwZSBpcyByZXF1ZXN0ZWQgaW4gYW4gWDExIHdpbmRvd2luZwotICBlbnZpcm9ubWVudCwgZmFsbGluZyBiYWNrIHRvIHRoZSBjdXJyZW50IGRlZmF1bHQgdHlwZSBTVFJJTkcgaWYgdGhhdCBmYWlscy4KLSAgT3JpZ2luYWwgcGF0Y2ggYnkgVGhvbWFzIEtsdXl2ZXIuCi0KLS0gSXNzdWUgIzE0NzczOiBGaXggb3MuZndhbGsoKSBmYWlsaW5nIG9uIGRhbmdsaW5nIHN5bWxpbmtzLgotCi0tIElzc3VlICMxMjU0MTogQmUgbGVuaWVudCB3aXRoIHF1b3RlcyBhcm91bmQgUmVhbG0gZmllbGQgb2YgSFRUUCBCYXNpYwotICBBdXRoZW50YXRpb24gaW4gdXJsbGliMi4KLQotLSBJc3N1ZSAjMTQ4MDc6IG1vdmUgdW5kb2N1bWVudGVkIHRhcmZpbGUuZmlsZW1vZGUoKSB0byBzdGF0LmZpbGVtb2RlKCkgYW5kIGFkZAotICBkb2MgZW50cnkuIEFkZCB0YXJmaWxlLmZpbGVtb2RlIGFsaWFzIHdpdGggZGVwcmVjYXRpb24gd2FybmluZy4KLQotLSBJc3N1ZSAjMTM4MTU6IFRhckZpbGUuZXh0cmFjdGZpbGUoKSBub3cgcmV0dXJucyBpby5CdWZmZXJlZFJlYWRlciBvYmplY3RzLgotCi0tIElzc3VlICMxNDUzMjogQWRkIGEgc2VjdXJlX2NvbXBhcmUoKSBoZWxwZXIgdG8gdGhlIGhtYWMgbW9kdWxlLCB0byBtaXRpZ2F0ZQotICB0aW1pbmcgYXR0YWNrcy4gUGF0Y2ggYnkgSm9uIE9iZXJoZWlkZS4KLQotLSBBZGQgaW1wb3J0bGliLnV0aWwucmVzb2x2ZV9uYW1lKCkuCi0KLS0gSXNzdWUgIzE0MzY2OiBTdXBwb3J0IGx6bWEgY29tcHJlc3Npb24gaW4gemlwIGZpbGVzLgotICBQYXRjaCBieSBTZXJoaXkgU3RvcmNoYWthLgotCi0tIElzc3VlICMxMzk1OTogSW50cm9kdWNlIGltcG9ydGxpYi5maW5kX2xvYWRlcigpIGFuZCBkb2N1bWVudAotICBpbXAuZmluZF9tb2R1bGUvbG9hZF9tb2R1bGUgYXMgZGVwcmVjYXRlZC4KLQotLSBJc3N1ZSAjMTQwODI6IHNodXRpbC5jb3B5MigpIG5vdyBjb3BpZXMgZXh0ZW5kZWQgYXR0cmlidXRlcywgaWYgcG9zc2libGUuCi0gIFBhdGNoIGJ5IEh5bmVrIFNjaGxhd2Fjay4KLQotLSBJc3N1ZSAjMTM5NTk6IE1ha2UgaW1wb3J0bGliLmFiYy5GaWxlTG9hZGVyLmxvYWRfbW9kdWxlKCkvZ2V0X2ZpbGVuYW1lKCkgYW5kCi0gIGltcG9ydGxpYi5tYWNoaW5lcnkuRXh0ZW5zaW9uRmlsZUxvYWRlci5sb2FkX21vZHVsZSgpIGhhdmUgdGhlaXIgc2luZ2xlCi0gIGFyZ3VtZW50IGJlIG9wdGlvbmFsLiBBbGxvd3MgZm9yIHRoZSByZXBsYWNlbWVudCAoYW5kIHRodXMgZGVwcmVjYXRpb24pIG9mCi0gIGltcC5sb2FkX3NvdXJjZSgpL2xvYWRfcGFja2FnZSgpL2xvYWRfY29tcGlsZWQoKS4KLQotLSBJc3N1ZSAjMTM5NTk6IGltcC5nZXRfc3VmZml4ZXMoKSBoYXMgYmVlbiBkZXByZWNhdGVkIGluIGZhdm91ciBvZiB0aGUgbmV3Ci0gIGF0dHJpYnV0ZXMgb24gaW1wb3J0bGliLm1hY2hpbmVyeTogU09VUkNFX1NVRkZJWEVTLCBERUJVR19CWVRFQ09ERV9TVUZGSVhFUywKLSAgT1BUSU1JWkVEX0JZVEVDT0RFX1NVRkZJWEVTLCBCWVRFQ09ERV9TVUZGSVhFUywgYW5kIEVYVEVOU0lPTl9TVUZGSVhFUy4gVGhpcwotICBsZWQgdG8gYW4gaW5kaXJlY3QgZGVwcmVjYXRpb24gb2YgaW5zcGVjdC5nZXRtb2R1bGVpbmZvKCkuCi0KLS0gSXNzdWUgIzE0NjYyOiBQcmV2ZW50IHNodXRpbCBmYWlsdXJlcyBvbiBPUyBYIHdoZW4gZGVzdGluYXRpb24gZG9lcyBub3QKLSAgc3VwcG9ydCBjaGZsYWcgb3BlcmF0aW9ucy4gIFBhdGNoIGJ5IEh5bmVrIFNjaGxhd2Fjay4KLQotLSBJc3N1ZSAjMTQxNTc6IEZpeCB0aW1lLnN0cnB0aW1lIGZhaWxpbmcgd2l0aG91dCBhIHllYXIgb24gRmVicnVhcnkgMjl0aC4KLSAgUGF0Y2ggYnkgSHluZWsgU2NobGF3YWNrLgotCi0tIElzc3VlICMxNDc1MzogTWFrZSBtdWx0aXByb2Nlc3NpbmcncyBoYW5kbGluZyBvZiBuZWdhdGl2ZSB0aW1lb3V0cwotICB0aGUgc2FtZSBhcyBpdCB3YXMgaW4gUHl0aG9uIDMuMi4KLQotLSBJc3N1ZSAjMTQ1ODM6IEZpeCBpbXBvcnRsaWIgYnVnIHdoZW4gYSBwYWNrYWdlJ3MgX19pbml0X18ucHkgd291bGQgZmlyc3QKLSAgaW1wb3J0IG9uZSBvZiBpdHMgbW9kdWxlcyB0aGVuIHJhaXNlIGFuIGVycm9yLgotCi0tIElzc3VlICMxNDc0MTogRml4IG1pc3Npbmcgc3VwcG9ydCBmb3IgRWxsaXBzaXMgKCcuLi4nKSBpbiBwYXJzZXIgbW9kdWxlLgotCi0tIElzc3VlICMxNDY5NzogRml4IG1pc3Npbmcgc3VwcG9ydCBmb3Igc2V0IGRpc3BsYXlzIGFuZCBzZXQgY29tcHJlaGVuc2lvbnMgaW4KLSAgcGFyc2VyIG1vZHVsZS4KLQotLSBJc3N1ZSAjMTQ3MDE6IEZpeCBtaXNzaW5nIHN1cHBvcnQgZm9yICdyYWlzZSAuLi4gZnJvbScgaW4gcGFyc2VyIG1vZHVsZS4KLQotLSBBZGQgc3VwcG9ydCBmb3IgdGltZW91dHMgdG8gdGhlIGFjcXVpcmUoKSBtZXRob2RzIG9mCi0gIG11bHRpcHJvY2Vzc2luZydzIGxvY2svc2VtYXBob3JlL2NvbmRpdGlvbiBwcm94aWVzLgotCi0tIElzc3VlICMxMzk4OTogQWRkIHN1cHBvcnQgZm9yIHRleHQgbW9kZSB0byBnemlwLm9wZW4oKS4KLQotLSBJc3N1ZSAjMTQxMjc6IFRoZSBvcy5zdGF0KCkgcmVzdWx0IG9iamVjdCBub3cgcHJvdmlkZXMgdGhyZWUgYWRkaXRpb25hbAotICBmaWVsZHM6IHN0X2N0aW1lX25zLCBzdF9tdGltZV9ucywgYW5kIHN0X2F0aW1lX25zLCBwcm92aWRpbmcgdGhvc2UgdGltZXMgYXMgYW4KLSAgaW50ZWdlciB3aXRoIG5hbm9zZWNvbmQgcmVzb2x1dGlvbi4gIFRoZSBmdW5jdGlvbnMgb3MudXRpbWUoKSwgb3MubHV0aW1lcygpLAotICBhbmQgb3MuZnV0aW1lcygpIG5vdyBhY2NlcHQgYSBuZXcgcGFyYW1ldGVyLCBucywgd2hpY2ggYWNjZXB0cyBtdGltZSBhbmQgYXRpbWUKLSAgYXMgaW50ZWdlcnMgd2l0aCBuYW5vc2Vjb25kIHJlc29sdXRpb24uCi0KLS0gSXNzdWUgIzE0MTI3IGFuZCAjMTAxNDg6IHNodXRpbC5jb3B5c3RhdCBub3cgcHJlc2VydmVzIGV4YWN0IG10aW1lIGFuZCBhdGltZQotICBvbiBmaWxlc3lzdGVtcyBwcm92aWRpbmcgbmFub3NlY29uZCByZXNvbHV0aW9uLgotCi1JRExFCi0tLS0tCi0KLS0gSXNzdWUgIzE0OTU4OiBDaGFuZ2UgSURMRSBzeXN0YXggaGlnaGxpZ2h0aW5nIHRvIHJlY29nbml6ZSBhbGwgc3RyaW5nIGFuZAotICBieXRlIGxpdGVyYWxzIHN1cHBvcnRlZCBpbiBQeXRob24gMy4zLgotCi0tIElzc3VlICMxMDk5NzogUHJldmVudCBhIGR1cGxpY2F0ZSBlbnRyeSBpbiBJRExFJ3MgIlJlY2VudCBGaWxlcyIgbWVudS4KLQotLSBJc3N1ZSAjMTQ5Mjk6IFN0b3AgSURMRSAzLnggZnJvbSBjbG9zaW5nIG9uIFVuaWNvZGUgZGVjb2RlIGVycm9ycyB3aGVuCi0gIGdyZXBwaW5nLiBQYXRjaCBieSBSb2dlciBTZXJ3eS4KLQotLSBJc3N1ZSAjMTI1MTA6IEF0dGVtcHRpbmcgdG8gZ2V0IGludmFsaWQgdG9vbHRpcCBubyBsb25nZXIgY2xvc2VzIElETEUuCi0gIE90aGVyIHRvb2x0aXBzcyBoYXZlIGJlZW4gY29ycmVjdGVkIG9yIGltcHJvdmVkIGFuZCB0aGUgbnVtYmVyIG9mIHRlc3RzCi0gIGhhcyBiZWVuIHRyaXBsZWQuIE9yaWdpbmFsIHBhdGNoIGJ5IFJvZ2VyIFNlcnd5LgotCi1Ub29scy9EZW1vcwotLS0tLS0tLS0tLS0KLQotLSBJc3N1ZSAjMTQ2OTU6IEJyaW5nIFRvb2xzL3BhcnNlci91bnBhcnNlLnB5IHN1cHBvcnQgdXAgdG8gZGF0ZSB3aXRoCi0gIHRoZSBQeXRob24gMy4zIEdyYW1tYXIuCi0KLUJ1aWxkCi0tLS0tLQotCi0tIElzc3VlICMxNDQ3MjogVXBkYXRlIC5naXRpZ25vcmUuIFBhdGNoIGJ5IE1hdGVqIENlcGwuCi0KLS0gVXBncmFkZSBXaW5kb3dzIGxpYnJhcnkgdmVyc2lvbnM6IGJ6aXAgMS4wLjYsIE9wZW5TU0wgMS4wLjFjLgotCi0tIElzc3VlICMxNDY5MzogVW5kZXIgbm9uLVdpbmRvd3MgcGxhdGZvcm1zLCBoYXNobGliJ3MgZmFsbGJhY2sgbW9kdWxlcyBhcmUKLSAgYWx3YXlzIGNvbXBpbGVkLCBldmVuIGlmIE9wZW5TU0wgaXMgcHJlc2VudCBhdCBidWlsZCB0aW1lLgotCi0tIElzc3VlICMxMzIxMDogV2luZG93cyBidWlsZCBub3cgdXNlcyBWUzIwMTAsIHBvcnRlZCBmcm9tIFZTMjAwOC4KLQotQy1BUEkKLS0tLS0tCi0KLS0gSXNzdWUgIzE0NzA1OiBUaGUgUHlBcmdfUGFyc2UoKSBmYW1pbHkgb2YgZnVuY3Rpb25zIG5vdyBzdXBwb3J0IHRoZSAncCcgZm9ybWF0Ci0gIHVuaXQsIHdoaWNoIGFjY2VwdHMgYSAiYm9vbGVhbiBwcmVkaWNhdGUiIGFyZ3VtZW50LiAgSXQgY29udmVydHMgYW55IFB5dGhvbgotICB2YWx1ZSBpbnRvIGFuIGludGVnZXItLTAgaWYgaXQgaXMgImZhbHNlIiwgYW5kIDEgb3RoZXJ3aXNlLgotCi1Eb2N1bWVudGF0aW9uCi0tLS0tLS0tLS0tLS0tCi0KLS0gSXNzdWUgIzE0ODYzOiBVcGRhdGUgdGhlIGRvY3VtZW50YXRpb24gb2Ygb3MuZmRvcGVuKCkgdG8gcmVmbGVjdCB0aGUKLSAgZmFjdCB0aGF0IGl0J3Mgb25seSBhIHRoaW4gd3JhcHBlciBhcm91bmQgb3BlbigpIGFueW1vcmUuCi0KLS0gSXNzdWUgIzE0NTg4OiBUaGUgbGFuZ3VhZ2UgcmVmZXJlbmNlIG5vdyBhY2N1cmF0ZWx5IGRvY3VtZW50cyB0aGUgUHl0aG9uIDMKLSAgY2xhc3MgZGVmaW5pdGlvbiBwcm9jZXNzLiBQYXRjaCBieSBOaWNrIENvZ2hsYW4uCi0KLS0gSXNzdWUgIzE0OTQzOiBDb3JyZWN0IGEgZGVmYXVsdCBhcmd1bWVudCB2YWx1ZSBmb3Igd2lucmVnLk9wZW5LZXkKLSAgYW5kIGNvcnJlY3RseSBsaXN0IHRoZSBhcmd1bWVudCBuYW1lcyBpbiB0aGUgZnVuY3Rpb24ncyBleHBsYW5hdGlvbi4KLQotCi1XaGF0J3MgTmV3IGluIFB5dGhvbiAzLjMuMCBBbHBoYSAzPwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLQotKlJlbGVhc2UgZGF0ZTogMDEtTWF5LTIwMTIqCi0KLUNvcmUgYW5kIEJ1aWx0aW5zCi0tLS0tLS0tLS0tLS0tLS0tLQotCi0tIElzc3VlICMxNDY5OTogRml4IGNhbGxpbmcgdGhlIGNsYXNzbWV0aG9kIGRlc2NyaXB0b3IgZGlyZWN0bHkuCi0KLS0gSXNzdWUgIzE0NDMzOiBQcmV2ZW50IG1zdmNydCBjcmFzaCBpbiBpbnRlcmFjdGl2ZSBwcm9tcHQgd2hlbiBzdGRpbiBpcyBjbG9zZWQuCi0KLS0gSXNzdWUgIzE0NTIxOiBNYWtlIHJlc3VsdCBvZiBmbG9hdCgnbmFuJykgYW5kIGZsb2F0KCctbmFuJykgbW9yZSBjb25zaXN0ZW50Ci0gIGFjcm9zcyBwbGF0Zm9ybXMuCi0KLS0gSXNzdWUgIzE0NjQ2OiBfX2ltcG9ydF9fKCkgc2V0cyBfX2xvYWRlcl9fIGlmIHRoZSBsb2FkZXIgZGlkIG5vdC4KLQotLSBJc3N1ZSAjMTQ2MDU6IE5vIGxvbmdlciBoYXZlIGltcGxpY2l0IGVudHJpZXMgaW4gc3lzLm1ldGFfcGF0aC4gSWYKLSAgc3lzLm1ldGFfcGF0aCBpcyBmb3VuZCB0byBiZSBlbXB0eSwgcmFpc2UgSW1wb3J0V2FybmluZy4KLQotLSBJc3N1ZSAjMTQ2MDU6IE5vIGxvbmdlciBoYXZlIGltcGxpY2l0IGVudHJpZXMgaW4gc3lzLnBhdGhfaG9va3MuIElmCi0gIHN5cy5wYXRoX2hvb2tzIGlzIGZvdW5kIHRvIGJlIGVtcHR5LCBhIHdhcm5pbmcgd2lsbCBiZSByYWlzZWQuIE5vbmUgaXMgbm93Ci0gIGluc2VydGVkIGludG8gc3lzLnBhdGhfaW1wb3J0ZXJfY2FjaGUgaWYgbm8gZmluZGVyIHdhcyBkaXNjb3ZlcmVkLiBUaGlzIGFsc28KLSAgbWVhbnMgaW1wLk51bGxJbXBvcnRlciBpcyBubyBsb25nZXIgaW1wbGljaXRseSB1c2VkLgotCi0tIElzc3VlICMxMzkwMzogSW1wbGVtZW50IFBFUCA0MTIuIEluZGl2aWR1YWwgZGljdGlvbmFyeSBpbnN0YW5jZXMgY2FuIG5vdyBzaGFyZQotICB0aGVpciBrZXlzIHdpdGggb3RoZXIgZGljdGlvbmFyaWVzLiBDbGFzc2VzIHRha2UgYWR2YW50YWdlIG9mIHRoaXMgdG8gc2hhcmUKLSAgdGhlaXIgaW5zdGFuY2UgZGljdGlvbmFyeSBrZXlzIGZvciBpbXByb3ZlZCBtZW1vcnkgYW5kIHBlcmZvcm1hbmNlLgotCi0tIElzc3VlICMxMTYwMyAoYWdhaW4pOiBTZXR0aW5nIF9fcmVwcl9fIHRvIF9fc3RyX18gbm93IHJhaXNlcyBhIFJ1bnRpbWVFcnJvcgotICB3aGVuIHJlcHIoKSBvciBzdHIoKSBpcyBjYWxsZWQgb24gc3VjaCBhbiBvYmplY3QuCi0KLS0gSXNzdWUgIzE0NjU4OiBGaXggYmluZGluZyBhIHNwZWNpYWwgbWV0aG9kIHRvIGEgYnVpbHRpbiBpbXBsZW1lbnRhdGlvbiBvZiBhCi0gIHNwZWNpYWwgbWV0aG9kIHdpdGggYSBkaWZmZXJlbnQgbmFtZS4KLQotLSBJc3N1ZSAjMTQ2MzA6IEZpeCBhIG1lbW9yeSBhY2Nlc3MgYnVnIGZvciBpbnN0YW5jZXMgb2YgYSBzdWJjbGFzcyBvZiBpbnQKLSAgd2l0aCB2YWx1ZSAwLgotCi0tIElzc3VlICMxNDMzOTogU3BlZWQgaW1wcm92ZW1lbnRzIHRvIGJpbiwgb2N0IGFuZCBoZXggZnVuY3Rpb25zLiAgUGF0Y2ggYnkKLSAgU2VyaGl5IFN0b3JjaGFrYS4KLQotLSBJc3N1ZSAjMTQzODU6IEl0IGlzIG5vdyBwb3NzaWJsZSB0byB1c2UgYSBjdXN0b20gdHlwZSBmb3IgdGhlIF9fYnVpbHRpbnNfXwotICBuYW1lc3BhY2UsIGluc3RlYWQgb2YgYSBkaWN0LiBJdCBjYW4gYmUgdXNlZCBmb3Igc2FuZGJveGluZyBmb3IgZXhhbXBsZS4KLSAgUmFpc2UgYWxzbyBhIE5hbWVFcnJvciBpbnN0ZWFkIG9mIEltcG9ydEVycm9yIGlmIF9fYnVpbGRfY2xhc3NfXyBuYW1lIGlmIG5vdAotICBmb3VuZCBpbiBfX2J1aWx0aW5zX18uCi0KLS0gSXNzdWUgIzEyNTk5OiBCZSBtb3JlIHN0cmljdCBpbiBhY2NlcHRpbmcgTm9uZSBjb21wYXJlZCB0byBhIGZhbHNlLWxpa2UKLSAgb2JqZWN0IGZvciBpbXBvcnRsaWIudXRpbC5tb2R1bGVfZm9yX2xvYWRlciBhbmQKLSAgaW1wb3J0bGliLm1hY2hpbmVyeS5QYXRoRmluZGVyLgotCi0tIElzc3VlICMxNDYxMjogRml4IGp1bXBpbmcgYXJvdW5kIHdpdGggYmxvY2tzIGJ5IHNldHRpbmcgZl9saW5lbm8uCi0KLS0gSXNzdWUgIzE0NTkyOiBBdHRlbXB0aW5nIGEgcmVsYXRpdmUgaW1wb3J0IHcvbyBfX3BhY2thZ2VfXyBvciBfX25hbWVfXyBzZXQgaW4KLSAgZ2xvYmFscyByYWlzZXMgYSBLZXlFcnJvci4KLQotLSBJc3N1ZSAjMTQ2MDc6IEZpeCBrZXl3b3JkLW9ubHkgYXJndW1lbnRzIHdoaWNoIHN0YXJ0ZWQgd2l0aCBgYF9fYGAuCi0KLS0gSXNzdWUgIzEwODU0OiBUaGUgSW1wb3J0RXJyb3IgcmFpc2VkIHdoZW4gYW4gZXh0ZW5zaW9uIG1vZHVsZSBvbiBXaW5kb3dzCi0gIGZhaWxzIHRvIGltcG9ydCBub3cgdXNlcyB0aGUgbmV3IHBhdGggYW5kIG5hbWUgYXR0cmlidXRlcyBmcm9tCi0gIElzc3VlICMxNTU5NTQ5LgotCi0tIElzc3VlICMxMzg4OTogQ2hlY2sgYW5kIChpZiBuZWNlc3NhcnkpIHNldCBGUFUgY29udHJvbCB3b3JkIGJlZm9yZSBjYWxsaW5nCi0gIGFueSBvZiB0aGUgZHRvYS5jIHN0cmluZyA8LT4gZmxvYXQgY29udmVyc2lvbiBmdW5jdGlvbnMsIG9uIE1TVkMgYnVpbGRzIG9mCi0gIFB5dGhvbi4gIFRoaXMgZml4ZXMgaXNzdWVzIHdoZW4gZW1iZWRkaW5nIFB5dGhvbiBpbiBhIERlbHBoaSBhcHAuCi0KLS0gX19pbXBvcnRfXygpIG5vdyBtYXRjaGVzIFBFUCAzMjggYW5kIGRvY3VtZW50YXRpb24gYnkgZGVmYXVsdGluZyAnaW5kZXgnIHRvIDAKLSAgaW5zdGVhZCBvZiAtMSBhbmQgcmVtb3Zpbmcgc3VwcG9ydCBmb3IgbmVnYXRpdmUgdmFsdWVzLgotCi0tIElzc3VlICMyMzc3OiBNYWtlIGltcG9ydGxpYiB0aGUgaW1wbGVtZW50YXRpb24gb2YgX19pbXBvcnRfXygpLgotCi0tIElzc3VlICMxNTU5NTQ5OiBJbXBvcnRFcnJvciBub3cgaGFzICduYW1lJyBhbmQgJ3BhdGgnIGF0dHJpYnV0ZXMgdGhhdCBhcmUgc2V0Ci0gIHVzaW5nIGtleXdvcmQgYXJndW1lbnRzIHRvIGl0cyBjb25zdHJ1Y3Rvci4gVGhleSBhcmUgY3VycmVudGx5IG5vdCBzZXQgYnkKLSAgaW1wb3J0IGFzIHRoZXkgYXJlIG1lYW50IGZvciB1c2UgYnkgaW1wb3J0bGliLgotCi0tIElzc3VlICMxNDQ3NDogU2F2ZSBhbmQgcmVzdG9yZSBleGNlcHRpb24gc3RhdGUgaW4gdGhyZWFkLnN0YXJ0X25ld190aHJlYWQoKQotICB3aGlsZSB3cml0aW5nIGVycm9yIG1lc3NhZ2UgaWYgdGhlIHRocmVhZCBsZWF2ZXMgYSB1bmhhbmRsZWQgZXhjZXB0aW9uLgotCi0tIElzc3VlICMxMzAxOTogRml4IHBvdGVudGlhbCByZWZlcmVuY2UgbGVha3MgaW4gYnl0ZWFycmF5LmV4dGVuZCgpLiAgUGF0Y2gKLSAgYnkgU3VtYW4gU2FoYS4KLQotTGlicmFyeQotLS0tLS0tLQotCi0tIElzc3VlICMxNDc2ODogb3MucGF0aC5leHBhbmR1c2VyKCd+L2EnKSBkb2Vzbid0IHdvcmtzIGNvcnJlY3RseSB3aGVuIEhPTUUgaXMgJy8nLgotCi0tIElzc3VlICMxNDM3MTogU3VwcG9ydCBiemlwMiBpbiB6aXBmaWxlIG1vZHVsZS4gIFBhdGNoIGJ5IFNlcmhpeSBTdG9yY2hha2EuCi0KLS0gSXNzdWUgIzEzMTgzOiBGaXggcGRiIHNraXBwaW5nIGZyYW1lcyBhZnRlciBoaXR0aW5nIGEgYnJlYWtwb2ludCBhbmQgcnVubmluZwotICBzdGVwLiAgUGF0Y2ggYnkgWGF2aWVyIGRlIEdheWUuCi0KLS0gSXNzdWUgIzE0Njk2OiBGaXggcGFyc2VyIG1vZHVsZSB0byB1bmRlcnN0YW5kICdub25sb2NhbCcgZGVjbGFyYXRpb25zLgotCi0tIElzc3VlICMxMDk0MTogRml4IGltYXBsaWIuSW50ZXJuYWxkYXRlMnR1cGxlIHRvIHByb2R1Y2UgY29ycmVjdCByZXN1bHQgbmVhcgotICB0aGUgRFNUIHRyYW5zaXRpb24uICBQYXRjaCBieSBKb2UgUGV0ZXJzb24uCi0KLS0gSXNzdWUgIzkxNTQ6IEZpeCBwYXJzZXIgbW9kdWxlIHRvIHVuZGVyc3RhbmQgZnVuY3Rpb24gYW5ub3RhdGlvbnMuCi0KLS0gSXNzdWUgIzYwODU6IEluIGh0dHAuc2VydmVyLnB5IFNpbXBsZUhUVFBTZXJ2ZXIuYWRkcmVzc19zdHJpbmcgcmV0dXJucyB0aGUKLSAgY2xpZW50IGlwIGFkZHJlc3MgaW5zdGVhZCBjbGllbnQgaG9zdG5hbWUuIFBhdGNoIGJ5IENoYXJsZXMtRnJhbsOnb2lzIE5hdGFsaS4KLQotLSBJc3N1ZSAjMTQzMDk6IERlcHJlY2F0ZSB0aW1lLmNsb2NrKCksIHVzZSB0aW1lLnBlcmZfY291bnRlcigpIG9yCi0gIHRpbWUucHJvY2Vzc190aW1lKCkgaW5zdGVhZC4KLQotLSBJc3N1ZSAjMTQ0Mjg6IEltcGxlbWVudCB0aGUgUEVQIDQxOC4gQWRkIHRpbWUuZ2V0X2Nsb2NrX2luZm8oKSwKLSAgdGltZS5wZXJmX2NvdW50ZXIoKSBhbmQgdGltZS5wcm9jZXNzX3RpbWUoKSBmdW5jdGlvbnMsIGFuZCByZW5hbWUKLSAgdGltZS5zdGVhZHkoKSB0byB0aW1lLm1vbm90b25pYygpLgotCi0tIElzc3VlICMxNDY0NjogaW1wb3J0bGliLnV0aWwubW9kdWxlX2Zvcl9sb2FkZXIoKSBub3cgc2V0cyBfX2xvYWRlcl9fIGFuZAotICBfX3BhY2thZ2VfXyAod2hlbiBwb3NzaWJsZSkuCi0KLS0gSXNzdWUgIzE0NjY0OiBJdCBpcyBub3cgcG9zc2libGUgdG8gdXNlIEB1bml0dGVzdC5za2lwe0lmLFVubGVzc30gb24gYQotICB0ZXN0IGNsYXNzIHRoYXQgZG9lc24ndCBpbmhlcml0IGZyb20gVGVzdENhc2UgKGkuZS4gYSBtaXhpbikuCi0KLS0gSXNzdWUgIzQ4OTI6IG11bHRpcHJvY2Vzc2luZyBDb25uZWN0aW9ucyBjYW4gbm93IGJlIHRyYW5zZmVycmVkIG92ZXIKLSAgbXVsdGlwcm9jZXNzaW5nIENvbm5lY3Rpb25zLiAgUGF0Y2ggYnkgUmljaGFyZCBPdWRrZXJrIChzYnQpLgotCi0tIElzc3VlICMxNDE2MDogVGFyRmlsZS5leHRyYWN0ZmlsZSgpIGZhaWxlZCB0byByZXNvbHZlIHN5bWJvbGljIGxpbmtzIHdoZW4KLSAgdGhlIGxpbmtzIHdlcmUgbm90IGxvY2F0ZWQgaW4gYW4gYXJjaGl2ZSBzdWJkaXJlY3RvcnkuCi0KLS0gSXNzdWUgIzE0NjM4OiBweWRvYyBub3cgdHJlYXRzIG5vbi1zdHJpbmcgX19uYW1lX18gdmFsdWVzIGFzIGlmIHRoZXkKLSAgd2VyZSBtaXNzaW5nLCBpbnN0ZWFkIG9mIHJhaXNpbmcgYW4gZXJyb3IuCi0KLS0gSXNzdWUgIzEzNjg0OiBGaXggaHR0cGxpYiB0dW5uZWwgaXNzdWUgb2YgaW5maW5pdGUgbG9vcHMgZm9yIGNlcnRhaW4gc2l0ZXMKLSAgd2hpY2ggc2VuZCBFT0Ygd2l0aG91dCB0cmFpbGluZyBcclxuLgotCi0tIElzc3VlICMxNDYwNTogQWRkIGltcG9ydGxpYi5hYmMuRmlsZUxvYWRlciwgaW1wb3J0bGliLm1hY2hpbmVyeS4oRmlsZUZpbmRlciwKLSAgU291cmNlRmlsZUxvYWRlciwgU291cmNlbGVzc0ZpbGVMb2FkZXIsIEV4dGVuc2lvbkZpbGVMb2FkZXIpLgotCi0tIElzc3VlICMxMzk1OTogaW1wLmNhY2hlX2Zyb21fc291cmNlKCkvc291cmNlX2Zyb21fY2FjaGUoKSBub3cgZm9sbG93Ci0gIG9zLnBhdGguam9pbigpL3NwbGl0KCkgc2VtYW50aWNzIGZvciBwYXRoIG1hbmlwdWxhdGlvbiBpbnN0ZWFkIG9mIGl0cyBwcmlvciwKLSAgY3VzdG9tIHNlbWFudGljcyBvZiBjYXJpbmcgdGhlIHJpZ2h0LW1vc3QgcGF0aCBzZXBhcmF0b3IgZm9yd2FyZCBpbiBwYXRoCi0gIGpvaW5pbmcuCi0KLS0gSXNzdWUgIzIxOTM6IEFsbG93ICI6IiBjaGFyYWN0ZXIgaW4gQ29va2llIE5BTUUgdmFsdWVzLgotCi0tIElzc3VlICMxNDYyOTogdG9rZW5pemVyLmRldGVjdF9lbmNvZGluZyB3aWxsIHNwZWNpZnkgdGhlIGZpbGVuYW1lIGluIHRoZQotICBTeW50YXhFcnJvciBleGNlcHRpb24gaWYgZm91bmQgYXQgcmVhZGxpbmUuX19zZWxmX18ubmFtZS4KLQotLSBJc3N1ZSAjMTQ2Mjk6IFJhaXNlIFN5bnRheEVycm9yIGluIHRva2VuaXplci5kZXRlY3RfZW5jb2RpbmcgaWYgdGhlCi0gIGZpcnN0IHR3byBsaW5lcyBoYXZlIG5vbi1VVEYtOCBjaGFyYWN0ZXJzIHdpdGhvdXQgYW4gZW5jb2RpbmcgZGVjbGFyYXRpb24uCi0KLS0gSXNzdWUgIzE0MzA4OiBGaXggYW4gZXhjZXB0aW9uIHdoZW4gYSAiZHVtbXkiIHRocmVhZCBpcyBpbiB0aGUgdGhyZWFkaW5nCi0gIG1vZHVsZSdzIGFjdGl2ZSBsaXN0IGFmdGVyIGEgZm9yaygpLgotCi0tIElzc3VlICMxMTc1MDogVGhlIFdpbmRvd3MgQVBJIGZ1bmN0aW9ucyBzY2F0dGVyZWQgaW4gdGhlIF9zdWJwcm9jZXNzIGFuZAotICBfbXVsdGlwcm9jZXNzaW5nLndpbjMyIG1vZHVsZXMgbm93IGxpdmUgaW4gYSBzaW5nbGUgbW9kdWxlICJfd2luYXBpIi4KLSAgUGF0Y2ggYnkgc2J0LgotCi0tIElzc3VlICMxNDA4NzogbXVsdGlwcm9jZXNzaW5nOiBhZGQgQ29uZGl0aW9uLndhaXRfZm9yKCkuIFBhdGNoIGJ5IHNidC4KLQotLSBJc3N1ZSAjMTQ1Mzg6IEhUTUxQYXJzZXIgY2FuIG5vdyBwYXJzZSBjb3JyZWN0bHkgc3RhcnQgdGFncyB0aGF0IGNvbnRhaW4KLSAgYSBiYXJlICcvJy4KLQotLSBJc3N1ZSAjMTQ0NTI6IFN5c0xvZ0hhbmRsZXIgbm8gbG9uZ2VyIGluc2VydHMgYSBVVEYtOCBCT00gaW50byB0aGUgbWVzc2FnZS4KLQotLSBJc3N1ZSAjMTQzODY6IEV4cG9zZSB0aGUgZGljdF9wcm94eSBpbnRlcm5hbCB0eXBlIGFzIHR5cGVzLk1hcHBpbmdQcm94eVR5cGUuCi0KLS0gSXNzdWUgIzEzOTU5OiBNYWtlIGltcC5yZWxvYWQoKSBhbHdheXMgdXNlIGEgbW9kdWxlJ3MgX19sb2FkZXJfXyB0byBwZXJmb3JtCi0gIHRoZSByZWxvYWQuCi0KLS0gSXNzdWUgIzEzOTU5OiBBZGQgaW1wLnB5IGFuZCByZW5hbWUgdGhlIGJ1aWx0LWluIG1vZHVsZSB0byBfaW1wLCBhbGxvd2luZyBmb3IKLSAgcmUtaW1wbGVtZW50aW5nIHBhcnRzIG9mIHRoZSBtb2R1bGUgaW4gcHVyZSBQeXRob24uCi0KLS0gSXNzdWUgIzEzNDk2OiBGaXggcG90ZW50aWFsIG92ZXJmbG93IGluIGJpc2VjdC5iaXNlY3QgYWxnb3JpdGhtIHdoZW4gYXBwbGllZAotICB0byBhIGNvbGxlY3Rpb24gb2Ygc2l6ZSA+IHN5cy5tYXhzaXplIC8gMi4KLQotLSBIYXZlIGltcG9ydGxpYiB0YWtlIGFkdmFudGFnZSBvZiBJbXBvcnRFcnJvcidzIG5ldyAnbmFtZScgYW5kICdwYXRoJwotICBhdHRyaWJ1dGVzLgotCi0tIElzc3VlICMxNDM5OTogemlwZmlsZSBub3cgcmVjb2duaXplcyB0aGF0IHRoZSBhcmNoaXZlIGhhcyBiZWVuIG1vZGlmaWVkIGV2ZW4KLSAgaWYgb25seSB0aGUgY29tbWVudCBpcyBjaGFuZ2VkLiAgSW4gYWRkaXRpb24sIHRoZSBUeXBlRXJyb3IgdGhhdCByZXN1bHRzIGZyb20KLSAgdHJ5aW5nIHRvIHNldCBhIG5vbi1iaW5hcnkgdmFsdWUgYXMgYSBjb21tZW50IGlzIG5vdyByYWlzZWQgYXQgdGhlIHRpbWUKLSAgdGhlIGNvbW1lbnQgaXMgc2V0IHJhdGhlciB0aGFuIGF0IHRoZSB0aW1lIHRoZSB6aXBmaWxlIGlzIHdyaXR0ZW4uCi0KLS0gdHJhY2UuQ292ZXJhZ2VSZXN1bHRzLmlzX2lnbm9yZWRfZmlsZW5hbWUoKSBub3cgaWdub3JlcyBhbnkgbmFtZSB0aGF0IHN0YXJ0cwotICB3aXRoICI8IiBhbmQgZW5kcyB3aXRoICI+IiBpbnN0ZWFkIG9mIHNwZWNpYWwtY2FzaW5nICI8c3RyaW5nPiIgYW5kCi0gICI8ZG9jdGVzdCAiLgotCi0tIElzc3VlICMxMjUzNzogVGhlIG1haWxib3ggbW9kdWxlIG5vIGxvbmdlciBkZXBlbmRzIG9uIGtub3dsZWRnZSBvZiBpbnRlcm5hbAotICBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzIG9mIHRoZSBlbWFpbCBwYWNrYWdlIE1lc3NhZ2Ugb2JqZWN0LgotCi0tIElzc3VlICM3OTc4OiBzb2NrZXRzZXJ2ZXIgbm93IHJlc3RhcnRzIHRoZSBzZWxlY3QoKSBjYWxsIHdoZW4gRUlOVFIgaXMKLSAgcmV0dXJuZWQuICBUaGlzIGF2b2lkcyBjcmFzaGluZyB0aGUgc2VydmVyIGxvb3Agd2hlbiBhIHNpZ25hbCBpcyByZWNlaXZlZC4KLSAgUGF0Y2ggYnkgSmVyenkgS296ZXJhLgotCi0tIElzc3VlICMxNDUyMjogQXZvaWQgZHVwbGljYXRpbmcgc29ja2V0IGhhbmRsZXMgaW4gbXVsdGlwcm9jZXNzaW5nLmNvbm5lY3Rpb24uCi0gIFBhdGNoIGJ5IHNidC4KLQotLSBEb24ndCBQeV9ERUNSRUYgTlVMTCB2YXJpYWJsZSBpbiBpby5JbmNyZW1lbnRhbE5ld2xpbmVEZWNvZGVyLgotCi0tIElzc3VlICMzMDMzOiBBZGQgZGlzcGxheW9mIHBhcmFtZXRlciB0byB0a2ludGVyIGZvbnQuIFBhdGNoIGJ5IEd1aWxoZXJtZSBQb2xvLgotCi0tIElzc3VlICMxNDQ4MjogUmFpc2UgYSBWYWx1ZUVycm9yLCBub3QgYSBOYW1lRXJyb3IsIHdoZW4gdHJ5aW5nIHRvIGNyZWF0ZQotICBhIG11bHRpcHJvY2Vzc2luZyBDbGllbnQgb3IgTGlzdGVuZXIgd2l0aCBhbiBBRl9VTklYIHR5cGUgYWRkcmVzcyB1bmRlcgotICBXaW5kb3dzLiAgUGF0Y2ggYnkgUG9wYSBDbGF1ZGl1LgotCi0tIElzc3VlICM4MDIzMTA6IEdlbmVyYXRlIGFsd2F5cyB1bmlxdWUgdGtpbnRlciBmb250IG5hbWVzIGlmIG5vdCBkaXJlY3RseSBwYXNzZWQuCi0KLS0gSXNzdWUgIzE0MTUxOiBSYWlzZSBhIFZhbHVlRXJyb3IsIG5vdCBhIE5hbWVFcnJvciwgd2hlbiB0cnlpbmcgdG8gY3JlYXRlCi0gIGEgbXVsdGlwcm9jZXNzaW5nIENsaWVudCBvciBMaXN0ZW5lciB3aXRoIGFuIEFGX1BJUEUgdHlwZSBhZGRyZXNzIHVuZGVyCi0gIG5vbi1XaW5kb3dzIHBsYXRmb3Jtcy4gIFBhdGNoIGJ5IFBvcGEgQ2xhdWRpdS4KLQotLSBJc3N1ZSAjMTQ0OTM6IFVzZSBndmZzLW9wZW4gb3IgeGRnLW9wZW4gaW4gd2ViYnJvd3Nlci4KLQotQnVpbGQKLS0tLS0tCi0KLS0gIm1ha2UgdG91Y2giIHdpbGwgbm93IHRvdWNoIGdlbmVyYXRlZCBmaWxlcyB0aGF0IGFyZSBjaGVja2VkIGludG8gTWVyY3VyaWFsLAotICBhZnRlciBhICJoZyB1cGRhdGUiIHdoaWNoIGZhaWxlZCB0byBicmluZyB0aGUgdGltZXN0YW1wcyBpbnRvIHRoZSByaWdodCBvcmRlci4KLQotVGVzdHMKLS0tLS0tCi0KLS0gSXNzdWUgIzE0MDI2OiBJbiB0ZXN0X2NtZF9saW5lX3NjcmlwdCwgY2hlY2sgdGhhdCBzeXMuYXJndiBpcyBwb3B1bGF0ZWQKLSAgY29ycmVjdGx5IGZvciB0aGUgdmFyaW91cyBpbnZvY2F0aW9uIGFwcHJvYWNoZXMgKFBhdGNoIGJ5IEphc29uIFllbykKLQotLSBJc3N1ZSAjMTQwMzI6IEZpeCBpbmNvcnJlY3QgdmFyaWFibGUgbmFtZSBpbiB0ZXN0X2NtZF9saW5lX3NjcmlwdCBkZWJ1Z2dpbmcKLSAgbWVzc2FnZSAoUGF0Y2ggYnkgSmFzb24gWWVvKQotCi0tIElzc3VlICMxNDU4OTogVXBkYXRlIGNlcnRpZmljYXRlIGNoYWluIGZvciBzaGEyNTYudGJzLWludGVybmV0LmNvbSwgZml4aW5nCi0gIGEgdGVzdCBmYWlsdXJlIGluIHRlc3Rfc3NsLgotCi0tIElzc3VlICMxNDM1NTogUmVncnRlc3Qgbm93IHN1cHBvcnRzIHRoZSBzdGFuZGFyZCB1bml0dGVzdCB0ZXN0IGxvYWRpbmcsIGFuZAotICB3aWxsIHVzZSBpdCBpZiBhIHRlc3QgZmlsZSBjb250YWlucyBubyBgdGVzdF9tYWluYCBtZXRob2QuCi0KLUlETEUKLS0tLS0KLQotLSBJc3N1ZSAjODUxNTogU2V0IF9fZmlsZV9fIHdoZW4gcnVuIGZpbGUgaW4gSURMRS4KLSAgSW5pdGlhbCBwYXRjaCBieSBCcnVjZSBGcmVkZXJpa3Nlbi4KLQotLSBJc3N1ZSAjMTQ0OTY6IEZpeCB3cm9uZyBuYW1lIGluIGlkbGVsaWIvdGFiYmVkcGFnZXMucHkuCi0gIFBhdGNoIGJ5IFBvcGEgQ2xhdWRpdS4KLQotVG9vbHMgLyBEZW1vcwotLS0tLS0tLS0tLS0tLQotCi0tIElzc3VlICMzNTYxOiBUaGUgV2luZG93cyBpbnN0YWxsZXIgbm93IGhhcyBhbiBvcHRpb24sIG9mZiBieSBkZWZhdWx0LCBmb3IKLSAgcGxhY2luZyB0aGUgUHl0aG9uIGluc3RhbGxhdGlvbiBpbnRvIHRoZSBzeXN0ZW0gIlBhdGgiIGVudmlyb25tZW50IHZhcmlhYmxlLgotCi0tIElzc3VlICMxMzE2NTogc3RyaW5nYmVuY2ggaXMgbm93IGF2YWlsYWJsZSBpbiB0aGUgVG9vbHMvc3RyaW5nYmVuY2ggZm9sZGVyLgotICBJdCB1c2VkIHRvIGxpdmUgaW4gaXRzIG93biBTVk4gcHJvamVjdC4KLQotQy1BUEkKLS0tLS0tCi0KLS0gSXNzdWUgIzE0MDk4OiBOZXcgZnVuY3Rpb25zIFB5RXJyX0dldEV4Y0luZm8gYW5kIFB5RXJyX1NldEV4Y0luZm8uCi0gIFBhdGNoIGJ5IFN0ZWZhbiBCZWhuZWwuCi0KLQotV2hhdCdzIE5ldyBpbiBQeXRob24gMy4zLjAgQWxwaGEgMj8KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0KLSpSZWxlYXNlIGRhdGU6IDAxLUFwci0yMDEyKgotCi1Db3JlIGFuZCBCdWlsdGlucwotLS0tLS0tLS0tLS0tLS0tLS0KLQotLSBJc3N1ZSAjMTY4MzM2ODogb2JqZWN0Ll9fbmV3X18gYW5kIG9iamVjdC5fX2luaXRfXyByYWlzZSBhIFR5cGVFcnJvciBpZiB0aGV5Ci0gIGFyZSBwYXNzZWQgYXJndW1lbnRzIGFuZCB0aGVpciBjb21wbGVtZW50YXJ5IG1ldGhvZCBpcyBub3Qgb3ZlcnJpZGRlbi4KLQotLSBJc3N1ZSAjMTQzNzg6IEZpeCBjb21waWxpbmcgYXN0LkltcG9ydEZyb20gbm9kZXMgd2l0aCBhICJfX2Z1dHVyZV9fIiBzdHJpbmcgYXMKLSAgdGhlIG1vZHVsZSBuYW1lIHRoYXQgd2FzIG5vdCBpbnRlcm5lZC4KLQotLSBJc3N1ZSAjMTQzMzE6IFVzZSBzaWduaWZpY2FudGx5IGxlc3Mgc3RhY2sgc3BhY2Ugd2hlbiBpbXBvcnRpbmcgbW9kdWxlcyBieQotICBhbGxvY2F0aW5nIHBhdGggYnVmZmVycyBvbiB0aGUgaGVhcCBpbnN0ZWFkIG9mIHRoZSBzdGFjay4KLQotLSBJc3N1ZSAjMTQzMzQ6IFByZXZlbnQgaW4gYSBzZWdmYXVsdCBpbiB0eXBlLl9fZ2V0YXR0cmlidXRlX18gd2hlbiBpdCB3YXMgbm90Ci0gIHBhc3NlZCBzdHJpbmdzLgotCi0tIElzc3VlICMxNDY5NjI5OiBBbGxvdyBjeWNsZXMgdGhyb3VnaCBhbiBvYmplY3QncyBfX2RpY3RfXyBzbG90IHRvIGJlCi0gIGNvbGxlY3RlZC4gKEZvciBleGFtcGxlIGlmIGBgeC5fX2RpY3RfXyBpcyB4YGApLgotCi0tIElzc3VlICMxNDIwNTogZGljdCBsb29rdXAgcmFpc2VzIGEgUnVudGltZUVycm9yIGlmIHRoZSBkaWN0IGlzIG1vZGlmaWVkCi0gIGR1cmluZyBhIGxvb2t1cC4KLQotLSBJc3N1ZSAjMTQyMjA6IFdoZW4gYSBnZW5lcmF0b3IgaXMgZGVsZWdhdGluZyB0byBhbm90aGVyIGl0ZXJhdG9yIHdpdGggdGhlCi0gIHlpZWxkIGZyb20gc3ludGF4LCBpdCBuZWVkcyB0byBoYXZlIGl0cyBgYGdpX3J1bm5pbmdgYCBmbGFnIHNldCB0byBUcnVlLgotCi0tIElzc3VlICMxNDQzNTogUmVtb3ZlIGRlZGljYXRlZCBibG9jayBhbGxvY2F0b3IgZnJvbSBmbG9hdG9iamVjdC5jIGFuZCByZWx5Ci0gIG9uIHRoZSBQeU9iamVjdF9NYWxsb2MoKSBhcGkgbGlrZSBhbGwgb3RoZXIgb2JqZWN0cy4KLQotLSBJc3N1ZSAjMTQ0NzE6IEZpeCBhIHBvc3NpYmxlIGJ1ZmZlciBvdmVycnVuIGluIHRoZSB3aW5yZWcgbW9kdWxlLgotCi0tIElzc3VlICMxNDI4ODogQWxsb3cgdGhlIHNlcmlhbGl6YXRpb24gb2YgYnVpbHRpbiBpdGVyYXRvcnMKLQotTGlicmFyeQotLS0tLS0tLQotCi0tIElzc3VlICMxNDMwMDogVW5kZXIgV2luZG93cywgc29ja2V0cyBjcmVhdGVkIHVzaW5nIHNvY2tldC5kdXAoKSBub3cgYWxsb3cKLSAgb3ZlcmxhcHBlZCBJL08uICBQYXRjaCBieSBzYnQuCi0KLS0gSXNzdWUgIzEzODcyOiBzb2NrZXQuZGV0YWNoKCkgbm93IG1hcmtzIHRoZSBzb2NrZXQgY2xvc2VkIChhcyBtaXJyb3JlZAotICBpbiB0aGUgc29ja2V0IHJlcHIoKSkuICBQYXRjaCBieSBNYXR0IEpvaW5lci4KLQotLSBJc3N1ZSAjMTQ0MDY6IEZpeCBhIHJhY2UgY29uZGl0aW9uIHdoZW4gdXNpbmcgYGBjb25jdXJyZW50LmZ1dHVyZXMud2FpdCgKLSAgcmV0dXJuX3doZW49QUxMX0NPTVBMRVRFRClgYC4gIFBhdGNoIGJ5IE1hdHQgSm9pbmVyLgotCi0tIElzc3VlICM1MTM2OiBkZXByZWNhdGUgb2xkLCB1bnVzZWQgZnVuY3Rpb25zIGZyb20gdGtpbnRlci4KLQotLSBJc3N1ZSAjMTQ0MTY6IHN5c2xvZyBub3cgZGVmaW5lcyB0aGUgTE9HX09ERUxBWSBhbmQgTE9HX0FVVEhQUklWIGNvbnN0YW50cwotICBpZiB0aGV5IGFyZSBkZWZpbmVkIGluIDxzeXNsb2cuaD4uCi0KLS0gSXNzdWUgIzE0Mjk1OiBBZGQgdW5pdHRlc3QubW9jawotCi0tIElzc3VlICM3NjUyOiBBZGQgLS13aXRoLXN5c3RlbS1saWJtcGRlYyBvcHRpb24gdG8gY29uZmlndXJlIGZvciBsaW5raW5nCi0gIHRoZSBfZGVjaW1hbCBtb2R1bGUgYWdhaW5zdCBhbiBpbnN0YWxsZWQgbGlibXBkZWMuCi0KLS0gSXNzdWUgIzE0MzgwOiBNSU1FVGV4dCBub3cgZGVmYXVsdHMgdG8gdXRmLTggd2hlbiBwYXNzZWQgbm9uLUFTQ0lJIHVuaWNvZGUKLSAgd2l0aCBubyBjaGFyc2V0IHNwZWNpZmllZC4KLQotLSBJc3N1ZSAjMTAzNDA6IGFzeW5jb3JlIC0gcHJvcGVybHkgaGFuZGxlIEVJTlZBTCBpbiBkaXNwYXRjaGVyIGNvbnN0cnVjdG9yIG9uCi0gIE9TWDsgYXZvaWQgdG8gY2FsbCBoYW5kbGVfY29ubmVjdCBpbiBjYXNlIG9mIGEgZGlzY29ubmVjdGVkIHNvY2tldCB3aGljaAotICB3YXMgbm90IG1lYW50IHRvIGNvbm5lY3QuCi0KLS0gSXNzdWUgIzE0MjA0OiBUaGUgc3NsIG1vZHVsZSBub3cgaGFzIHN1cHBvcnQgZm9yIHRoZSBOZXh0IFByb3RvY29sCi0gIE5lZ290aWF0aW9uIGV4dGVuc2lvbiwgaWYgYXZhaWxhYmxlIGluIHRoZSB1bmRlcmx5aW5nIE9wZW5TU0wgbGlicmFyeS4KLSAgUGF0Y2ggYnkgQ29saW4gTWFyYy4KLQotLSBJc3N1ZSAjMzAzNTogVW51c2VkIGZ1bmN0aW9ucyBmcm9tIHRraW50ZXIgYXJlIG1hcmtlZCBhcyBwZW5kaW5nIGRlcHJlY2F0ZWQuCi0KLS0gSXNzdWUgIzEyNzU3OiBGaXggdGhlIHNraXBwaW5nIG9mIGRvY3Rlc3RzIHdoZW4gcHl0aG9uIGlzIHJ1biB3aXRoIC1PTyBzbwotICB0aGF0IGl0IHdvcmtzIGluIHVuaXR0ZXN0J3MgdmVyYm9zZSBtb2RlIGFzIHdlbGwgYXMgbm9uLXZlcmJvc2UgbW9kZS4KLQotLSBJc3N1ZSAjNzY1MjogSW50ZWdyYXRlIHRoZSBkZWNpbWFsIGZsb2F0aW5nIHBvaW50IGxpYm1wZGVjIGxpYnJhcnkgdG8gc3BlZWQKLSAgdXAgdGhlIGRlY2ltYWwgbW9kdWxlLiBQZXJmb3JtYW5jZSBnYWlucyBvZiB0aGUgbmV3IEMgaW1wbGVtZW50YXRpb24gYXJlCi0gIGJldHdlZW4gMTB4IGFuZCAxMDB4LCBkZXBlbmRpbmcgb24gdGhlIGFwcGxpY2F0aW9uLgotCi0tIElzc3VlICMxNDI2OTogU01UUEQgbm93IGNvbmZvcm1zIHRvIHRoZSBSRkMgYW5kIHJlcXVpcmVzIGEgSEVMTyBjb21tYW5kCi0gIGJlZm9yZSBNQUlMLCBSQ1BULCBvciBEQVRBLgotCi0tIElzc3VlICMxMzY5NDogYXN5bmNocm9ub3VzIGNvbm5lY3QgaW4gYXN5bmNvcmUuZGlzcGF0Y2hlciBkb2VzIG5vdCBzZXQgYWRkcgotICBhdHRyaWJ1dGUuCi0KLS0gSXNzdWUgIzE0MzQ0OiBmaXhlZCB0aGUgcmVwciBvZiBlbWFpbC5wb2xpY3kgb2JqZWN0cy4KLQotLSBJc3N1ZSAjMTE2ODY6IEFkZGVkIG1pc3NpbmcgZW50cmllcyB0byBlbWFpbCBwYWNrYWdlIF9fYWxsX18gbGlzdHMKLSAgKG1vc3RseSB0aGUgbmV3IEJ5dGVzIGNsYXNzZXMpLgotCi0tIElzc3VlICMxNDMzNTogbXVsdGlwcm9jZXNzaW5nJ3MgY3VzdG9tIFBpY2tsZXIgc3ViY2xhc3Mgbm93IGluaGVyaXRzIGZyb20KLSAgdGhlIEMtYWNjZWxlcmF0ZWQgaW1wbGVtZW50YXRpb24uICBQYXRjaCBieSBzYnQuCi0KLS0gSXNzdWUgIzEwNDg0OiBGaXggdGhlIENHSUhUVFBTZXJ2ZXIncyBQQVRIX0lORk8gaGFuZGxpbmcgcHJvYmxlbS4KLQotLSBJc3N1ZSAjMTExOTk6IEZpeCB0aGUgd2l0aCB1cmxsaWIgd2hpY2ggaGFuZ3Mgb24gcGFydGljdWxhciBmdHAgdXJscy4KLQotLSBJbXByb3ZlIHRoZSBtZW1vcnkgdXRpbGl6YXRpb24gYW5kIHNwZWVkIG9mIGZ1bmN0b29scy5scnVfY2FjaGUuCi0KLS0gSXNzdWUgIzE0MjIyOiBVc2UgdGhlIG5ldyB0aW1lLnN0ZWFkeSgpIGZ1bmN0aW9uIGluc3RlYWQgb2YgdGltZS50aW1lKCkgZm9yCi0gIHRpbWVvdXQgaW4gcXVldWUgYW5kIHRocmVhZGluZyBtb2R1bGVzIHRvIG5vdCBiZSBhZmZlY3RlZCBvZiBzeXN0ZW0gdGltZQotICB1cGRhdGUuCi0KLS0gSXNzdWUgIzEzMjQ4OiBSZW1vdmUgbGliMnRvMy5weXRyZWUuQmFzZS5nZXRfcHJlZml4L3NldF9wcmVmaXguCi0KLS0gSXNzdWUgIzE0MjM0OiBDVkUtMjAxMi0wODc2OiBSYW5kb21pemUgaGFzaGVzIG9mIHhtbCBhdHRyaWJ1dGVzIGluIHRoZSBoYXNoCi0gIHRhYmxlIGludGVybmFsIHRvIHRoZSBweWV4cGF0IG1vZHVsZSdzIGNvcHkgb2YgdGhlIGV4cGF0IGxpYnJhcnkgdG8gYXZvaWQgYQotICBkZW5pYWwgb2Ygc2VydmljZSBkdWUgdG8gaGFzaCBjb2xsaXNpb25zLiAgUGF0Y2ggYnkgRGF2aWQgTWFsY29sbSB3aXRoIHNvbWUKLSAgbW9kaWZpY2F0aW9ucyBieSB0aGUgZXhwYXQgcHJvamVjdC4KLQotLSBJc3N1ZSAjMTI4MTg6IGZvcm1hdCBhZGRyZXNzIG5vIGxvbmdlciBuZWVkbGVzc2x5IFwgZXNjYXBlcyAoKXMgaW4gbmFtZXMgd2hlbgotICB0aGUgbmFtZSBlbmRzIHVwIGJlaW5nIHF1b3RlZC4KLQotLSBJc3N1ZSAjMTQwNjI6IEJ5dGVzR2VuZXJhdG9yIG5vdyBjb3JyZWN0bHkgZm9sZHMgSGVhZGVyIG9iamVjdHMsCi0gIGluY2x1ZGluZyB1c2luZyBsaW5lc2VwIHdoZW4gZm9sZGluZy4KLQotLSBJc3N1ZSAjMTM4Mzk6IFdoZW4gaW52b2tlZCBvbiB0aGUgY29tbWFuZC1saW5lLCB0aGUgcHN0YXRzIG1vZHVsZSBub3cKLSAgYWNjZXB0cyBzZXZlcmFsIGZpbGVuYW1lcyBvZiBwcm9maWxlIHN0YXQgZmlsZXMgYW5kIG1lcmdlcyB0aGVtIGFsbC4KLSAgUGF0Y2ggYnkgTWF0dCBKb2luZXIuCi0KLS0gSXNzdWUgIzE0MjkxOiBFbWFpbCBub3cgZGVmYXVsdHMgdG8gdXRmLTggZm9yIG5vbi1BU0NJSSB1bmljb2RlIGhlYWRlcnMKLSAgaW5zdGVhZCBvZiByYWlzaW5nIGFuIGVycm9yLiAgVGhpcyBmaXhlcyBhIHJlZ3Jlc3Npb24gcmVsYXRpdmUgdG8gMi43LgotCi0tIElzc3VlICM5ODk3MTI6IFN1cHBvcnQgdXNpbmcgVGsgd2l0aG91dCBhIG1haW5sb29wLgotCi0tIElzc3VlICMzODM1OiBSZWZ1c2UgdG8gdXNlIHVudGhyZWFkZWQgVGNsIGluIHRocmVhZGVkIFB5dGhvbi4KLQotLSBJc3N1ZSAjMjg0MzogQWRkIG5ldyBUayBBUEkgdG8gVGtpbnRlci4KLQotLSBJc3N1ZSAjMTQxODQ6IEluY3JlYXNlIHRoZSBkZWZhdWx0IHN0YWNrIHNpemUgZm9yIHNlY29uZGFyeSB0aHJlYWRzIG9uCi0gIE1hYyBPUyBYIHRvIGF2b2lkIGludGVycHJldGVyIGNyYXNoZXMgd2hlbiB1c2luZyB0aHJlYWRzIG9uIDEwLjcuCi0KLS0gSXNzdWUgIzE0MTgwOiBkYXRldGltZS5kYXRlLmZyb210aW1lc3RhbXAoKSwKLSAgZGF0ZXRpbWUuZGF0ZXRpbWUuZnJvbXRpbWVzdGFtcCgpIGFuZCBkYXRldGltZS5kYXRldGltZS51dGNmcm9tdGltZXN0YW1wKCkKLSAgbm93IHJhaXNlIGFuIE9TRXJyb3IgaW5zdGVhZCBvZiBWYWx1ZUVycm9yIGlmIGxvY2FsdGltZSgpIG9yIGdtdGltZSgpIGZhaWxlZC4KLQotLSBJc3N1ZSAjMTQxODA6IHRpbWUuY3RpbWUoKSwgZ210aW1lKCksIHRpbWUubG9jYWx0aW1lKCksCi0gIGRhdGV0aW1lLmRhdGUuZnJvbXRpbWVzdGFtcCgpLCBkYXRldGltZS5kYXRldGltZS5mcm9tdGltZXN0YW1wKCkgYW5kCi0gIGRhdGV0aW1lLmRhdGV0aW1lLnV0Y2Zyb210aW1lc3RhbXAoKSBub3cgcmFpc2VzIGFuIE92ZXJmbG93RXJyb3IsIGluc3RlYWQgb2YKLSAgYSBWYWx1ZUVycm9yLCBpZiB0aGUgdGltZXN0YW1wIGRvZXMgbm90IGZpdCBpbiB0aW1lX3QuCi0KLS0gSXNzdWUgIzE0MTgwOiBkYXRldGltZS5kYXRldGltZS5mcm9tdGltZXN0YW1wKCkgYW5kCi0gIGRhdGV0aW1lLmRhdGV0aW1lLnV0Y2Zyb210aW1lc3RhbXAoKSBub3cgcm91bmQgbWljcm9zZWNvbmRzIHRvd2FyZHMgemVybwotICBpbnN0ZWFkIG9mIHJvdW5kaW5nIHRvIG5lYXJlc3Qgd2l0aCB0aWVzIGdvaW5nIGF3YXkgZnJvbSB6ZXJvLgotCi0tIElzc3VlICMxMDU0MzogRml4IHVuaXR0ZXN0IHRlc3QgZGlzY292ZXJ5IHdpdGggSnl0aG9uIGJ5dGVjb2RlIGZpbGVzLgotCi0tIElzc3VlICMxMTc4ODYzOiBTZXBhcmF0ZSBpbml0aWFsaXNhdGlvbiBmcm9tIHNldHRpbmcgd2hlbiBpbml0aWFsaXppbmcKLSAgVGtpbnRlci5WYXJpYWJsZXM7IGhhcm1vbml6ZSBleGNlcHRpb25zIHRvIFZhbHVlRXJyb3I7IG9ubHkgZGVsZXRlIHZhcmlhYmxlcwotICB0aGF0IGhhdmUgbm90IGJlZW4gZGVsZXRlZDsgYXNzZXJ0IHRoYXQgdmFyaWFibGUgbmFtZXMgYXJlIHN0cmluZ3MuCi0KLS0gSXNzdWUgIzE0MTA0OiBJbXBsZW1lbnQgdGltZS5tb25vdG9uaWMoKSBvbiBNYWMgT1MgWCwgcGF0Y2ggd3JpdHRlbiBieQotICBOaWNob2xhcyBSaWxleS4KLQotLSBJc3N1ZSAjMTMzOTQ6IHRoZSBhaWZjIG1vZHVsZSBub3cgdXNlcyB3YXJuaW5ncy53YXJuKCkgdG8gc2lnbmFsIHdhcm5pbmdzLgotCi0tIElzc3VlICMxNDI1MjogRml4IHN1YnByb2Nlc3MuUG9wZW4udGVybWluYXRlKCkgdG8gbm90IHJhaXNlIGFuIGVycm9yIHVuZGVyCi0gIFdpbmRvd3Mgd2hlbiB0aGUgY2hpbGQgcHJvY2VzcyBoYXMgYWxyZWFkeSBleGl0ZWQuCi0KLS0gSXNzdWUgIzE0MjIzOiBjdXJzZXMuYWRkY2goKSBpcyBubyBtb3JlIGxpbWl0ZWQgdG8gdGhlIHJhbmdlIDAtMjU1IHdoZW4gdGhlCi0gIFB5dGhvbiBjdXJzZXMgaXMgbm90IGxpbmtlZCB0byBsaWJuY3Vyc2Vzdy4gSXQgd2FzIGEgcmVncmVzc2lvbiBpbnRyb2R1Y2VkCi0gIGluIFB5dGhvbiAzLjNhMS4KLQotLSBJc3N1ZSAjMTQxNjg6IENoZWNrIGZvciBwcmVzZW5jZSBvZiBFbGVtZW50Ll9hdHRycyBpbiBtaW5pZG9tIGJlZm9yZQotICBhY2Nlc3NpbmcgaXQuCi0KLS0gSXNzdWUgIzEyMzI4OiBGaXggbXVsdGlwcm9jZXNzaW5nJ3MgdXNlIG9mIG92ZXJsYXBwZWQgSS9PIG9uIFdpbmRvd3MuCi0gIEFsc28sIGFkZCBhIG11bHRpcHJvY2Vzc2luZy5jb25uZWN0aW9uLndhaXQocmxpc3QsIHRpbWVvdXQ9Tm9uZSkgZnVuY3Rpb24KLSAgZm9yIHBvbGxpbmcgbXVsdGlwbGUgb2JqZWN0cyBhdCBvbmNlLiAgUGF0Y2ggYnkgc2J0LgotCi0tIElzc3VlICMxNDAwNzogQWNjZXB0IGluY29tcGxldGUgVHJlZUJ1aWxkZXIgb2JqZWN0cyAobWlzc2luZyBzdGFydCwgZW5kLAotICBkYXRhIG9yIGNsb3NlIG1ldGhvZCkgZm9yIHRoZSBQeXRob24gaW1wbGVtZW50YXRpb24gYXMgd2VsbC4KLSAgRHJvcCB0aGUgbm8tb3AgVHJlZUJ1aWxkZXIoKS54bWwoKSBtZXRob2QgZnJvbSB0aGUgQyBpbXBsZW1lbnRhdGlvbi4KLQotLSBJc3N1ZSAjMTQyMTA6IHBkYiBub3cgaGFzIHRhYi1jb21wbGV0aW9uIG5vdCBvbmx5IGZvciBjb21tYW5kIG5hbWVzLCBidXQKLSAgYWxzbyBmb3IgdGhlaXIgYXJndW1lbnRzLCB3aGVyZXZlciBwb3NzaWJsZS4KLQotLSBJc3N1ZSAjMTQzMTA6IFNvY2tldHMgY2FuIG5vdyBiZSB3aXRoIG90aGVyIHByb2Nlc3NlcyBvbiBXaW5kb3dzIHVzaW5nCi0gIHRoZSBhcGkgc29ja2V0LnNvY2tldC5zaGFyZSgpIGFuZCBzb2NrZXQuZnJvbXNoYXJlKCkuCi0KLS0gSXNzdWUgIzEwNTc2OiBUaGUgZ2MgbW9kdWxlIG5vdyBoYXMgYSAnY2FsbGJhY2tzJyBtZW1iZXIgdGhhdCB3aWxsIGdldAotICBjYWxsZWQgd2hlbiBnYXJiYWdlIGNvbGxlY3Rpb24gdGFrZXMgcGxhY2UuCi0KLUJ1aWxkCi0tLS0tLQotCi0tIElzc3VlICMxNDU1NzogRml4IGV4dGVuc2lvbnMgYnVpbGQgb24gSFAtVVguIFBhdGNoIGJ5IEFkaSBSb2liYW4uCi0KLS0gSXNzdWUgIzE0Mzg3OiBEbyBub3QgaW5jbHVkZSBhY2N1LmggZnJvbSBQeXRob24uaC4KLQotLSBJc3N1ZSAjMTQzNTk6IE9ubHkgdXNlIE9fQ0xPRVhFQyBpbiBfcG9zaXhtb2R1bGUuYyBpZiBpdCBpcyBkZWZpbmVkLgotICBCYXNlZCBvbiBwYXRjaCBmcm9tIEhlcnbDqSBDb2F0YW5oYXkuCi0KLS0gSXNzdWUgIzE0MzIxOiBEbyBub3QgcnVuIHBnZW4gZHVyaW5nIHRoZSBidWlsZCBpZiBmaWxlcyBhcmUgdXAgdG8gZGF0ZS4KLQotRG9jdW1lbnRhdGlvbgotLS0tLS0tLS0tLS0tLQotCi0tIElzc3VlICMxNDAzNDogYWRkZWQgdGhlIGFyZ3BhcnNlIHR1dG9yaWFsLgotCi0tIElzc3VlICMxNDMyNDogRml4IGNvbmZpZ3VyZSB0ZXN0cyBmb3IgY3Jvc3MgYnVpbGRzLgotCi0tIElzc3VlICMxNDMyNzogQ2FsbCBBQ19DQU5PTklDQUxfSE9TVCBpbiBjb25maWd1cmUuYWMgYW5kIGNoZWNrIGluCi0gIGNvbmZpZy57Z3Vlc3Msc3VifS4gRG9uJ3QgdXNlIHVuYW1lIGNhbGxzIGZvciBjcm9zcyBidWlsZHMuCi0KLUV4dGVuc2lvbiBNb2R1bGVzCi0tLS0tLS0tLS0tLS0tLS0tLQotCi0tIElzc3VlICM5MDQxOiBBbiBpc3N1ZSBpbiBjdHlwZXMuY19sb25nZG91YmxlLCBjdHlwZXMuY19kb3VibGUsIGFuZAotICBjdHlwZXMuY19mbG9hdCB0aGF0IGNhdXNlZCBhbiBpbmNvcnJlY3QgZXhjZXB0aW9uIHRvIGJlIHJldHVybmVkIGluIHRoZQotICBjYXNlIG9mIG92ZXJmbG93IGhhcyBiZWVuIGZpeGVkLgotCi0tIElzc3VlICMxNDIxMjogVGhlIHJlIG1vZHVsZSBkaWRuJ3QgcmV0YWluIGEgcmVmZXJlbmNlIHRvIGJ1ZmZlcnMgaXQgd2FzCi0gIHNjYW5uaW5nLCByZXN1bHRpbmcgaW4gc2VnZmF1bHRzLgotCi0tIElzc3VlICMxNDI1OTogVGhlIGZpbmRpdGVyKCkgbWV0aG9kIG9mIHJlIG9iamVjdHMgZGlkIG5vdCB0YWtlIGFueQotICBrZXl3b3JkIGFyZ3VtZW50cywgY29udHJhcnkgdG8gdGhlIGRvY3VtZW50YXRpb24uCi0KLS0gSXNzdWUgIzEwMTQyOiBTdXBwb3J0IGZvciBTRUVLX0hPTEUvU0VFS19EQVRBIChmb3IgZXhhbXBsZSwgdW5kZXIgWkZTKS4KLQotVGVzdHMKLS0tLS0tCi0KLS0gSXNzdWUgIzE0NDQyOiBBZGQgbWlzc2luZyBlcnJubyBpbXBvcnQgaW4gdGVzdF9zbXRwbGliLgotCi0tIElzc3VlICM4MzE1OiAocGFydGlhbCBmaXgpIHB5dGhvbiAtbSB1bml0dGVzdCB0ZXN0LnRlc3RfZW1haWwgbm93IHdvcmtzLgotCi0KLVdoYXQncyBOZXcgaW4gUHl0aG9uIDMuMy4wIEFscGhhIDE/Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotCi0qUmVsZWFzZSBkYXRlOiAwNS1NYXItMjAxMioKLQotQ29yZSBhbmQgQnVpbHRpbnMKLS0tLS0tLS0tLS0tLS0tLS0tCi0KLS0gSXNzdWUgIzE0MTcyOiBGaXggcmVmZXJlbmNlIGxlYWsgd2hlbiBtYXJzaGFsbGluZyBhIGJ1ZmZlci1saWtlIG9iamVjdAotICAob3RoZXIgdGhhbiBhIGJ5dGVzIG9iamVjdCkuCi0KLS0gSXNzdWUgIzEzNTIxOiBkaWN0LnNldGRlZmF1bHQoKSBub3cgZG9lcyBvbmx5IG9uZSBsb29rdXAgZm9yIHRoZSBnaXZlbiBrZXksCi0gIG1ha2luZyBpdCAiYXRvbWljIiBmb3IgbWFueSBwdXJwb3Nlcy4gIFBhdGNoIGJ5IEZpbGlwIEdydXN6Y3p5xYRza2kuCi0KLS0gUEVQIDQwOSwgSXNzdWUgIzYyMTA6ICJyYWlzZSBYIGZyb20gTm9uZSIgaXMgbm93IHN1cHBvcnRlZCBhcyBhIG1lYW5zIG9mCi0gIHN1cHByZXNzaW5nIHRoZSBkaXNwbGF5IG9mIHRoZSBjaGFpbmVkIGV4Y2VwdGlvbiBjb250ZXh0LiBUaGUgY2hhaW5lZAotICBjb250ZXh0IHN0aWxsIHJlbWFpbnMgYXZhaWxhYmxlIGFzIHRoZSBfX2NvbnRleHRfXyBhdHRyaWJ1dGUuCi0KLS0gSXNzdWUgIzEwMTgxOiBOZXcgbWVtb3J5dmlldyBpbXBsZW1lbnRhdGlvbiBmaXhlcyBtdWx0aXBsZSBvd25lcnNoaXAKLSAgYW5kIGxpZmV0aW1lIGlzc3VlcyBvZiBkeW5hbWljYWxseSBhbGxvY2F0ZWQgUHlfYnVmZmVyIG1lbWJlcnMgKCM5OTkwKQotICBhcyB3ZWxsIGFzIGNyYXNoZXMgKCM4MzA1LCAjNzQzMykuIE1hbnkgbmV3IGZlYXR1cmVzIGhhdmUgYmVlbiBhZGRlZAotICAoU2VlIHdoYXRzbmV3LzMuMyksIGFuZCB0aGUgZG9jdW1lbnRhdGlvbiBoYXMgYmVlbiB1cGRhdGVkIGV4dGVuc2l2ZWx5LgotICBUaGUgbmRhcnJheSB0ZXN0IG9iamVjdCBmcm9tIF90ZXN0YnVmZmVyLmMgaW1wbGVtZW50cyBhbGwgYXNwZWN0cyBvZgotICBQRVAtMzExOCwgc28gZnVydGhlciBkZXZlbG9wbWVudCB0b3dhcmRzIHRoZSBjb21wbGV0ZSBpbXBsZW1lbnRhdGlvbgotICBvZiB0aGUgUEVQIGNhbiBwcm9jZWVkIGluIGEgdGVzdC1kcml2ZW4gbWFubmVyLgotCi0gIFRoYW5rcyB0byBOaWNrIENvZ2hsYW4sIEFudG9pbmUgUGl0cm91IGFuZCBQYXVsaSBWaXJ0YW5lbiBmb3IgcmV2aWV3Ci0gIGFuZCBtYW55IGlkZWFzLgotCi0tIElzc3VlICMxMjgzNDogRml4IGluY29ycmVjdCByZXN1bHRzIG9mIG1lbW9yeXZpZXcudG9ieXRlcygpIGZvcgotICBub24tY29udGlndW91cyBhcnJheXMuCi0KLS0gSXNzdWUgIzUyMzE6IEludHJvZHVjZSBtZW1vcnl2aWV3LmNhc3QoKSBtZXRob2QgdGhhdCBhbGxvd3MgY2hhbmdpbmcKLSAgZm9ybWF0IGFuZCBzaGFwZSB3aXRob3V0IG1ha2luZyBhIGNvcHkgb2YgdGhlIHVuZGVybHlpbmcgbWVtb3J5LgotCi0tIElzc3VlICMxNDA4NDogRml4IGEgZmlsZSBkZXNjcmlwdG9yIGxlYWsgd2hlbiBpbXBvcnRpbmcgYSBtb2R1bGUgd2l0aCBhCi0gIGJhZCBlbmNvZGluZy4KLQotLSBVcGdyYWRlIFVuaWNvZGUgZGF0YSB0byBVbmljb2RlIDYuMS4KLQotLSBJc3N1ZSAjMTQwNDA6IFJlbW92ZSByYXJlbHkgdXNlZCBmaWxlIG5hbWUgc3VmZml4ZXMgZm9yIEMgZXh0ZW5zaW9ucwotICAodW5kZXIgUE9TSVggbWFpbmx5KS4KLQotLSBJc3N1ZSAjMTQwNTE6IEFsbG93IGFyYml0cmFyeSBhdHRyaWJ1dGVzIHRvIGJlIHNldCBvZiBjbGFzc21ldGhvZCBhbmQKLSAgc3RhdGljbWV0aG9kLgotCi0tIElzc3VlICMxMzcwMzogb0NFUlQtMjAxMS0wMDM6IFJhbmRvbWl6ZSBoYXNoZXMgb2Ygc3RyIGFuZCBieXRlcyB0byBwcm90ZWN0Ci0gIGFnYWluc3QgZGVuaWFsIG9mIHNlcnZpY2UgYXR0YWNrcyBkdWUgdG8gaGFzaCBjb2xsaXNpb25zIHdpdGhpbiB0aGUgZGljdCBhbmQKLSAgc2V0IHR5cGVzLiAgUGF0Y2ggYnkgRGF2aWQgTWFsY29sbSwgYmFzZWQgb24gd29yayBieSBWaWN0b3IgU3Rpbm5lci4KLQotLSBJc3N1ZSAjMTMwMjA6IEZpeCBhIHJlZmVyZW5jZSBsZWFrIHdoZW4gYWxsb2NhdGluZyBhIHN0cnVjdHNlcXVlbmNlIG9iamVjdAotICBmYWlscy4gIFBhdGNoIGJ5IFN1bWFuIFNhaGEuCi0KLS0gSXNzdWUgIzEzOTA4OiBSZWFkeSB0eXBlcyByZXR1cm5lZCBmcm9tIFB5VHlwZV9Gcm9tU3BlYy4KLQotLSBJc3N1ZSAjMTEyMzU6IEZpeCBPdmVyZmxvd0Vycm9yIHdoZW4gdHJ5aW5nIHRvIGltcG9ydCBhIHNvdXJjZSBmaWxlIHdob3NlCi0gIG1vZGlmaWNhdGlvbiB0aW1lIGRvZXNuJ3QgZml0IGluIGEgMzItYml0IHRpbWVzdGFtcC4KLQotLSBJc3N1ZSAjMTI3MDU6IEEgU3ludGF4RXJyb3IgZXhjZXB0aW9uIGlzIG5vdyByYWlzZWQgd2hlbiBhdHRlbXB0aW5nIHRvCi0gIGNvbXBpbGUgbXVsdGlwbGUgc3RhdGVtZW50cyBhcyBhIHNpbmdsZSBpbnRlcmFjdGl2ZSBzdGF0ZW1lbnQuCi0KLS0gRml4IHRoZSBidWlsdGluIG1vZHVsZSBpbml0aWFsaXphdGlvbiBjb2RlIHRvIHN0b3JlIHRoZSBpbml0IGZ1bmN0aW9uIGZvcgotICBmdXR1cmUgcmVpbml0aWFsaXphdGlvbi4KLQotLSBJc3N1ZSAjODA1MjogVGhlIHBvc2l4IHN1YnByb2Nlc3MgbW9kdWxlIHdvdWxkIHRha2UgYSBsb25nIHRpbWUgY2xvc2luZwotICBhbGwgcG9zc2libGUgZmlsZSBkZXNjcmlwdG9ycyBpbiB0aGUgY2hpbGQgcHJvY2VzcyByYXRoZXIgdGhhbiBqdXN0IG9wZW4KLSAgZmlsZSBkZXNjcmlwdG9ycy4gIEl0IG5vdyBjbG9zZXMgb25seSB0aGUgb3BlbiBmZHMgaWYgcG9zc2libGUgZm9yIHRoZQotICBkZWZhdWx0IGNsb3NlX2Zkcz1UcnVlIGJlaGF2aW9yLgotCi0tIElzc3VlICMxMzYyOTogUmVudW1iZXIgdGhlIHRva2VucyBpbiB0b2tlbi5oIHNvIHRoYXQgdGhleSBtYXRjaCB0aGUgaW5kZXhlcwotICBpbnRvIF9QeVBhcnNlcl9Ub2tlbk5hbWVzLgotCi0tIElzc3VlICMxMzc1MjogQWRkIGEgY2FzZWZvbGQoKSBtZXRob2QgdG8gc3RyLgotCi0tIElzc3VlICMxMzc2MTogQWRkIGEgImZsdXNoIiBrZXl3b3JkIGFyZ3VtZW50IHRvIHRoZSBwcmludCgpIGZ1bmN0aW9uLAotICB1c2VkIHRvIGVuc3VyZSBmbHVzaGluZyB0aGUgb3V0cHV0IHN0cmVhbS4KLQotLSBJc3N1ZSAjMTM2NDU6IHB5YyBmaWxlcyBub3cgY29udGFpbiB0aGUgc2l6ZSBvZiB0aGUgY29ycmVzcG9uZGluZyBzb3VyY2UKLSAgY29kZSwgdG8gYXZvaWQgdGltZXN0YW1wIGNvbGxpc2lvbnMgKGVzcGVjaWFsbHkgb24gZmlsZXN5c3RlbXMgd2l0aCBhIGxvdwotICB0aW1lc3RhbXAgcmVzb2x1dGlvbikgd2hlbiBjaGVja2luZyBmb3IgZnJlc2huZXNzIG9mIHRoZSBieXRlY29kZS4KLQotLSBQRVAgMzgwLCBJc3N1ZSAjMTE2ODI6IEFkZCAieWllbGQgZnJvbSA8eD4iIHRvIHN1cHBvcnQgZWFzeSBkZWxlZ2F0aW9uIHRvCi0gIHN1YmdlbmVyYXRvcnMgKGluaXRpYWwgcGF0Y2ggYnkgR3JlZyBFd2luZywgaW50ZWdyYXRpb24gaW50byAzLjMgYnkKLSAgUmVuYXVkIEJsYW5jaCwgUnlhbiBLZWxseSwgWmJpZ25pZXcgSsSZZHJ6ZWpld3NraS1Tem1layBhbmQgTmljayBDb2dobGFuKQotCi0tIElzc3VlICMxMzc0ODogUmF3IGJ5dGVzIGxpdGVyYWxzIGNhbiBub3cgYmUgd3JpdHRlbiB3aXRoIHRoZSBgYHJiYGAgcHJlZml4Ci0gIGFzIHdlbGwgYXMgYGBicmBgLgotCi0tIElzc3VlICMxMjczNjogVXNlIGZ1bGwgdW5pY29kZSBjYXNlIG1hcHBpbmdzIGZvciB1cHBlciwgbG93ZXIsIGFuZCB0aXRsZSBjYXNlLgotCi0tIElzc3VlICMxMjc2MDogQWRkIGEgY3JlYXRlIG1vZGUgdG8gb3BlbigpLiBQYXRjaCBieSBEYXZpZCBUb3duc2hlbmQuCi0KLS0gSXNzdWUgIzEzNzM4OiBTaW1wbGlmeSBpbXBsZW1lbnRhdGlvbiBvZiBieXRlcy5sb3dlcigpIGFuZCBieXRlcy51cHBlcigpLgotCi0tIElzc3VlICMxMzU3NzogQnVpbHQtaW4gbWV0aG9kcyBhbmQgZnVuY3Rpb25zIG5vdyBoYXZlIGEgX19xdWFsbmFtZV9fLgotICBQYXRjaCBieSBzYnQuCi0KLS0gSXNzdWUgIzY2OTU6IEZ1bGwgZ2FyYmFnZSBjb2xsZWN0aW9uIHJ1bnMgbm93IGNsZWFyIHRoZSBmcmVlbGlzdCBvZiBzZXQKLSAgb2JqZWN0cy4gIEluaXRpYWwgcGF0Y2ggYnkgTWF0dGhpYXMgVHJvZmZhZXMuCi0KLS0gRml4IE9TRXJyb3IuX19pbml0X18gYW5kIE9TRXJyb3IuX19uZXdfXyBzbyB0aGF0IGVhY2ggb2YgdGhlbSBjYW4gYmUKLSAgb3ZlcnJpZGVuIGFuZCB0YWtlIGFkZGl0aW9uYWwgYXJndW1lbnRzIChmb2xsb3d1cCB0byBpc3N1ZSAjMTI1NTUpLgotCi0tIEZpeCB0aGUgZml4IGZvciBpc3N1ZSAjMTIxNDk6IGl0IHdhcyBpbmNvcnJlY3QsIGFsdGhvdWdoIGl0IGhhZCB0aGUgc2lkZQotICBlZmZlY3Qgb2YgYXBwZWFyaW5nIHRvIHJlc29sdmUgdGhlIGlzc3VlLiAgVGhhbmtzIHRvIE1hcmsgU2hhbm5vbiBmb3IKLSAgbm90aWNpbmcuCi0KLS0gSXNzdWUgIzEzNTA1OiBQaWNrbGUgYnl0ZXMgb2JqZWN0cyBpbiBhIHdheSB0aGF0IGlzIGNvbXBhdGlibGUgd2l0aAotICBQeXRob24gMiB3aGVuIHVzaW5nIHByb3RvY29scyA8PSAyLgotCi0tIElzc3VlICMxMTE0NzogRml4IGFuIHVudXNlZCBhcmd1bWVudCBpbiBfUHlfQU5OT1RBVEVfTUVNT1JZX09SREVSLiAgKEZpeAotICBnaXZlbiBieSBDYW1wYmVsbCBCYXJ0b24pLgotCi0tIElzc3VlICMxMzUwMzogVXNlIGEgbW9yZSBlZmZpY2llbnQgcmVkdWN0aW9uIGZvcm1hdCBmb3IgYnl0ZWFycmF5cyB3aXRoCi0gIHBpY2tsZSBwcm90b2NvbCA+PSAzLiAgVGhlIG9sZCByZWR1Y3Rpb24gZm9ybWF0IGlzIGtlcHQgd2l0aCBvbGRlciBwcm90b2NvbHMKLSAgaW4gb3JkZXIgdG8gYWxsb3cgdW5waWNrbGluZyB1bmRlciBQeXRob24gMi4gIFBhdGNoIGJ5IElybWVuIGRlIEpvbmcuCi0KLS0gSXNzdWUgIzcxMTE6IFB5dGhvbiBjYW4gbm93IGJlIHJ1biB3aXRob3V0IGEgc3RkaW4sIHN0ZG91dCBvciBzdGRlcnIKLSAgc3RyZWFtLiAgSXQgd2FzIGFscmVhZHkgdGhlIGNhc2Ugd2l0aCBQeXRob24gMi4gIEhvd2V2ZXIsIHRoZSBjb3JyZXNwb25kaW5nCi0gIHN5cyBtb2R1bGUgZW50cmllcyBhcmUgbm93IHNldCB0byBOb25lIChpbnN0ZWFkIG9mIGFuIHVudXNhYmxlIGZpbGUgb2JqZWN0KS4KLQotLSBJc3N1ZSAjMTE4NDk6IEVuc3VyZSB0aGF0IGZyZWUoKWQgbWVtb3J5IGFyZW5hcyBhcmUgcmVhbGx5IHJlbGVhc2VkCi0gIG9uIFBPU0lYIHN5c3RlbXMgc3VwcG9ydGluZyBhbm9ueW1vdXMgbWVtb3J5IG1hcHBpbmdzLiAgUGF0Y2ggYnkKLSAgQ2hhcmxlcy1GcmFuw6dvaXMgTmF0YWxpLgotCi0tIFBFUCAzMTU1IC8gaXNzdWUgIzEzNDQ4OiBRdWFsaWZpZWQgbmFtZSBmb3IgY2xhc3NlcyBhbmQgZnVuY3Rpb25zLgotCi0tIElzc3VlICMxMzQzNjogRml4IGEgYm9ndXMgZXJyb3IgbWVzc2FnZSB3aGVuIGFuIEFTVCBvYmplY3Qgd2FzIHBhc3NlZAotICBhbiBpbnZhbGlkIGludGVnZXIgdmFsdWUuCi0KLS0gSXNzdWUgIzEzNDExOiBtZW1vcnl2aWV3IG9iamVjdHMgYXJlIG5vdyBoYXNoYWJsZSB3aGVuIHRoZSB1bmRlcmx5aW5nCi0gIG9iamVjdCBpcyBoYXNoYWJsZS4KLQotLSBJc3N1ZSAjMTMzMzg6IEhhbmRsZSBhbGwgZW51bWVyYXRpb25zIGluIF9QeV9BTk5PVEFURV9NRU1PUllfT1JERVIKLSAgdG8gYWxsb3cgY29tcGlsaW5nIGV4dGVuc2lvbiBtb2R1bGVzIHdpdGggLVdzd2l0Y2gtZW51bSBvbiBnY2MuCi0gIEluaXRpYWwgcGF0Y2ggYnkgRmxvcmlzIEJydXlub29naGUuCi0KLS0gSXNzdWUgIzEwMjI3OiBBZGQgYW4gYWxsb2NhdGlvbiBjYWNoZSBmb3IgYSBzaW5nbGUgc2xpY2Ugb2JqZWN0LiAgUGF0Y2ggYnkKLSAgU3RlZmFuIEJlaG5lbC4KLQotLSBJc3N1ZSAjMTMzOTM6IEJ1ZmZlcmVkUmVhZGVyLnJlYWQxKCkgbm93IGFza3MgdGhlIGZ1bGwgcmVxdWVzdGVkIHNpemUgdG8KLSAgdGhlIHJhdyBzdHJlYW0gaW5zdGVhZCBvZiBsaW1pdGluZyBpdHNlbGYgdG8gdGhlIGJ1ZmZlciBzaXplLgotCi0tIElzc3VlICMxMzM5MjogV3JpdGluZyBhIHB5YyBmaWxlIHNob3VsZCBub3cgYmUgYXRvbWljIHVuZGVyIFdpbmRvd3MgYXMgd2VsbC4KLQotLSBJc3N1ZSAjMTMzMzM6IFRoZSBVVEYtNyBkZWNvZGVyIG5vdyBhY2NlcHRzIGxvbmUgc3Vycm9nYXRlcyAodGhlIGVuY29kZXIKLSAgYWxyZWFkeSBhY2NlcHRzIHRoZW0pLgotCi0tIElzc3VlICMxMzM4OTogRnVsbCBnYXJiYWdlIGNvbGxlY3Rpb24gcGFzc2VzIG5vdyBjbGVhciB0aGUgZnJlZWxpc3RzIGZvcgotICBsaXN0IGFuZCBkaWN0IG9iamVjdHMuICBUaGV5IGFscmVhZHkgY2xlYXJlZCBvdGhlciBmcmVlbGlzdHMgaW4gdGhlCi0gIGludGVycHJldGVyLgotCi0tIElzc3VlICMxMzMyNzogUmVtb3ZlIHRoZSBuZWVkIGZvciBhbiBleHBsaWNpdCBOb25lIGFzIHRoZSBzZWNvbmQgYXJndW1lbnQKLSAgdG8gb3MudXRpbWUsIG9zLmx1dGltZXMsIG9zLmZ1dGltZXMsIG9zLmZ1dGltZW5zLCBvcy5mdXRpbWVzYXQsIGluCi0gIG9yZGVyIHRvIHVwZGF0ZSB0byB0aGUgY3VycmVudCB0aW1lLiBBbHNvIGFkZGVkIGtleXdvcmQgYXJndW1lbnQKLSAgaGFuZGxpbmcgdG8gb3MudXRpbWVuc2F0IGluIG9yZGVyIHRvIHJlbW92ZSB0aGUgbmVlZCBmb3IgZXhwbGljaXQgTm9uZS4KLQotLSBJc3N1ZSAjMTMzNTA6IFNpbXBsaWZ5IHNvbWUgQyBjb2RlIGJ5IHJlcGxhY2luZyBtb3N0IHVzYWdlcyBvZgotICBQeVVuaWNvZGVfRm9ybWF0IGJ5IFB5VW5pY29kZV9Gcm9tRm9ybWF0LgotCi0tIElzc3VlICMxMzM0MjogaW5wdXQoKSB1c2VkIHRvIGlnbm9yZSBzeXMuc3RkaW4ncyBhbmQgc3lzLnN0ZG91dCdzIHVuaWNvZGUKLSAgZXJyb3IgaGFuZGxlciBpbiBpbnRlcmFjdGl2ZSBtb2RlICh3aGVuIGNhbGxpbmcgaW50byBQeU9TX1JlYWRsaW5lKCkpLgotCi0tIElzc3VlICM5ODk2OiBBZGQgc3RhcnQsIHN0b3AsIGFuZCBzdGVwIGF0dHJpYnV0ZXMgdG8gcmFuZ2Ugb2JqZWN0cy4KLQotLSBJc3N1ZSAjMTMzNDM6IEZpeCBhIFN5c3RlbUVycm9yIHdoZW4gYSBsYW1iZGEgZXhwcmVzc2lvbiB1c2VzIGEgZ2xvYmFsCi0gIHZhcmlhYmxlIGluIHRoZSBkZWZhdWx0IHZhbHVlIG9mIGEga2V5d29yZC1vbmx5IGFyZ3VtZW50OiBgYGxhbWJkYSAqLAotICBhcmc9R0xPQkFMX05BTUU6IE5vbmVgYAotCi0tIElzc3VlICMxMjc5NzogQWRkZWQgY3VzdG9tIG9wZW5lciBwYXJhbWV0ZXIgdG8gYnVpbHRpbiBvcGVuKCkgYW5kCi0gIEZpbGVJTy5vcGVuKCkuCi0KLS0gSXNzdWUgIzEwNTE5OiBBdm9pZCB1bm5lY2Vzc2FyeSByZWN1cnNpdmUgZnVuY3Rpb24gY2FsbHMgaW4KLSAgc2V0b2JqZWN0LmMuCi0KLS0gSXNzdWUgIzEwMzYzOiBEZWFsbG9jYXRlIGdsb2JhbCBsb2NrcyBpbiBQeV9GaW5hbGl6ZSgpLgotCi0tIElzc3VlICMxMzAxODogRml4IHJlZmVyZW5jZSBsZWFrcyBpbiBlcnJvciBwYXRocyBpbiBkaWN0b2JqZWN0LmMuCi0gIFBhdGNoIGJ5IFN1bWFuIFNhaGEuCi0KLS0gSXNzdWUgIzEzMjAxOiBEZWZpbmUgJz09JyBhbmQgJyE9JyB0byBjb21wYXJlIHJhbmdlIG9iamVjdHMgYmFzZWQgb24KLSAgdGhlIHNlcXVlbmNlIG9mIHZhbHVlcyB0aGV5IGRlZmluZSAoaW5zdGVhZCBvZiBjb21wYXJpbmcgYmFzZWQgb24KLSAgb2JqZWN0IGlkZW50aXR5KS4KLQotLSBJc3N1ZSAjMTI5NDIzMjogSW4gYSBmZXcgY2FzZXMgaW52b2x2aW5nIG1ldGFjbGFzcyBpbmhlcml0YW5jZSwgdGhlCi0gIGludGVycHJldGVyIHdvdWxkIHNvbWV0aW1lcyBpbnZva2UgdGhlIHdyb25nIG1ldGFjbGFzcyB3aGVuIGJ1aWxkaW5nIGEgbmV3Ci0gIGNsYXNzIG9iamVjdC4gVGhlc2UgY2FzZXMgbm93IGJlaGF2ZSBjb3JyZWN0bHkuIFBhdGNoIGJ5IERhbmllbCBVcmJhbi4KLQotLSBJc3N1ZSAjMTI3NTM6IEFkZCBzdXBwb3J0IGZvciBVbmljb2RlIG5hbWUgYWxpYXNlcyBhbmQgbmFtZWQgc2VxdWVuY2VzLgotICBCb3RoIGBgdW5pY29kZWRhdGEubG9va3VwKClgYCBhbmQgJ1xOey4uLn0nIG5vdyByZXNvbHZlIGFsaWFzZXMsCi0gIGFuZCBgYHVuaWNvZGVkYXRhLmxvb2t1cCgpYGAgcmVzb2x2ZXMgbmFtZWQgc2VxdWVuY2VzIHRvby4KLQotLSBJc3N1ZSAjMTIxNzA6IFRoZSBjb3VudCgpLCBmaW5kKCksIHJmaW5kKCksIGluZGV4KCkgYW5kIHJpbmRleCgpIG1ldGhvZHMKLSAgb2YgYnl0ZXMgYW5kIGJ5dGVhcnJheSBvYmplY3RzIG5vdyBhY2NlcHQgYW4gaW50ZWdlciBiZXR3ZWVuIDAgYW5kIDI1NQotICBhcyB0aGVpciBmaXJzdCBhcmd1bWVudC4gIFBhdGNoIGJ5IFBldHJpIExlaHRpbmVuLgotCi0tIElzc3VlICMxMjYwNDogVlRSQUNFIG1hY3JvIGV4cGFuZGVkIHRvIG5vLW9wIGluIF9zcmUuYyB0byBhdm9pZCBjb21waWxlcgotICB3YXJuaW5ncy4gUGF0Y2ggYnkgSm9zaCBUcmlwbGV0dCBhbmQgUGV0cmkgTGVodGluZW4uCi0KLS0gSXNzdWUgIzEyMjgxOiBSZXdyaXRlIHRoZSBNQkNTIGNvZGVjIHRvIGhhbmRsZSBjb3JyZWN0bHkgcmVwbGFjZSBhbmQgaWdub3JlCi0gIGVycm9yIGhhbmRsZXJzIG9uIGFsbCBXaW5kb3dzIHZlcnNpb25zLiBUaGUgTUJDUyBjb2RlYyBpcyBub3cgc3VwcG9ydGluZyBhbGwKLSAgZXJyb3IgaGFuZGxlcnMsIGluc3RlYWQgb2Ygb25seSByZXBsYWNlIHRvIGVuY29kZSBhbmQgaWdub3JlIHRvIGRlY29kZS4KLQotLSBJc3N1ZSAjMTMxODg6IFdoZW4gY2FsbGVkIHdpdGhvdXQgYW4gZXhwbGljaXQgdHJhY2ViYWNrIGFyZ3VtZW50LAotICBnZW5lcmF0b3IudGhyb3coKSBub3cgZ2V0cyB0aGUgdHJhY2ViYWNrIGZyb20gdGhlIHBhc3NlZCBleGNlcHRpb24ncwotICBgYF9fdHJhY2ViYWNrX19gYCBhdHRyaWJ1dGUuICBQYXRjaCBieSBQZXRyaSBMZWh0aW5lbi4KLQotLSBJc3N1ZSAjMTMxNDY6IFdyaXRpbmcgYSBweWMgZmlsZSBpcyBub3cgYXRvbWljIHVuZGVyIFBPU0lYLgotCi0tIElzc3VlICM3ODMzOiBFeHRlbnNpb24gbW9kdWxlcyBidWlsdCB1c2luZyBkaXN0dXRpbHMgb24gV2luZG93cyB3aWxsIG5vCi0gIGxvbmdlciBpbmNsdWRlIGEgIm1hbmlmZXN0IiB0byBwcmV2ZW50IHRoZW0gZmFpbGluZyBhdCBpbXBvcnQgdGltZSBpbiBzb21lCi0gIGVtYmVkZGVkIHNpdHVhdGlvbnMuCi0KLS0gUEVQIDMxNTEgLyBpc3N1ZSAjMTI1NTU6IHJld29ya2luZyB0aGUgT1MgYW5kIElPIGV4Y2VwdGlvbiBoaWVyYXJjaHkuCi0KLS0gQWRkIGludGVybmFsIEFQSSBmb3Igc3RhdGljIHN0cmluZ3MgKF9QeV9pZGVudGlmaWVyIGV0IGFsLikuCi0KLS0gSXNzdWUgIzEzMDYzOiB0aGUgV2luZG93cyBlcnJvciBFUlJPUl9OT19EQVRBIChudW1iZXJlZCAyMzIgYW5kIGRlc2NyaWJlZAotICBhcyAiVGhlIHBpcGUgaXMgYmVpbmcgY2xvc2VkIikgaXMgbm93IG1hcHBlZCB0byBQT1NJWCBlcnJubyBFUElQRQotICAocHJldmlvdXNseSBFSU5WQUwpLgotCi0tIElzc3VlICMxMjkxMTogRml4IG1lbW9yeSBjb25zdW1wdGlvbiB3aGVuIGNhbGN1bGF0aW5nIHRoZSByZXByKCkgb2YgaHVnZQotICB0dXBsZXMgb3IgbGlzdHMuCi0KLS0gUEVQIDM5MzogZmxleGlibGUgc3RyaW5nIHJlcHJlc2VudGF0aW9uLiBUaGFua3MgdG8gVG9yc3RlbiBCZWNrZXIgZm9yIHRoZQotICBpbml0aWFsIGltcGxlbWVudGF0aW9uLCBhbmQgVmljdG9yIFN0aW5uZXIgZm9yIHZhcmlvdXMgYnVnIGZpeGVzLgotCi0tIElzc3VlICMxNDA4MTogVGhlICdzZXAnIGFuZCAnbWF4c3BsaXQnIHBhcmFtZXRlciB0byBzdHIuc3BsaXQsIGJ5dGVzLnNwbGl0LAotICBhbmQgYnl0ZWFycmF5LnNwbGl0IG1heSBub3cgYmUgcGFzc2VkIGFzIGtleXdvcmQgYXJndW1lbnRzLgotCi0tIElzc3VlICMxMzAxMjogVGhlICdrZWVwZW5kcycgcGFyYW1ldGVyIHRvIHN0ci5zcGxpdGxpbmVzIG1heSBub3cgYmUgcGFzc2VkCi0gIGFzIGEga2V5d29yZCBhcmd1bWVudDogICJteV9zdHJpbmcuc3BsaXRsaW5lcyhrZWVwZW5kcz1UcnVlKSIuICBUaGUgc2FtZQotICBjaGFuZ2UgYWxzbyBhcHBsaWVzIHRvIGJ5dGVzLnNwbGl0bGluZXMgYW5kIGJ5dGVhcnJheS5zcGxpdGxpbmVzLgotCi0tIElzc3VlICM3NzMyOiBEb24ndCBvcGVuIGEgZGlyZWN0b3J5IGFzIGEgZmlsZSBhbnltb3JlIHdoaWxlIGltcG9ydGluZyBhCi0gIG1vZHVsZS4gSWdub3JlIHRoZSBkaXJlY290cnkgaWYgaXRzIG5hbWUgbWF0Y2hzIHRoZSBtb2R1bGUgbmFtZSAoZS5nLgotICAiX19pbml0X18ucHkiKSBhbmQgcmFpc2UgYSBJbXBvcnRFcnJvciBpbnN0ZWFkLgotCi0tIElzc3VlICMxMzAyMTogTWlzc2luZyBkZWNyZWYgb24gYW4gZXJyb3IgcGF0aC4gIFRoYW5rcyB0byBTdW1hbiBTYWhhIGZvcgotICBmaW5kaW5nIHRoZSBidWcgYW5kIHByb3ZpZGluZyBhIHBhdGNoLgotCi0tIElzc3VlICMxMjk3MzogRml4IG92ZXJmbG93IGNoZWNrcyB0aGF0IHJlbGllZCBvbiB1bmRlZmluZWQgYmVoYXZpb3VyIGluCi0gIGxpc3RfcmVwZWF0IChsaXN0b2JqZWN0LmMpIGFuZCBpc2xpY2VfbmV4dCAoaXRlcnRvb2xzbW9kdWxlLmMpLiAgVGhlc2UgYnVncwotICBjYXVzZWQgdGVzdCBmYWlsdXJlcyB3aXRoIHJlY2VudCB2ZXJzaW9ucyBvZiBDbGFuZy4KLQotLSBJc3N1ZSAjMTI5MDQ6IG9zLnV0aW1lLCBvcy5mdXRpbWVzLCBvcy5sdXRpbWVzLCBhbmQgb3MuZnV0aW1lc2F0IG5vdyB3cml0ZQotICBhdGltZSBhbmQgbXRpbWUgd2l0aCBuYW5vc2Vjb25kIHByZWNpc2lvbiBvbiBtb2Rlcm4gUE9TSVggcGxhdGZvcm1zLgotCi0tIElzc3VlICMxMjgwMjogdGhlIFdpbmRvd3MgZXJyb3IgRVJST1JfRElSRUNUT1JZIChudW1iZXJlZCAyNjcpIGlzIG5vdwotICBtYXBwZWQgdG8gUE9TSVggZXJybm8gRU5PVERJUiAocHJldmlvdXNseSBFSU5WQUwpLgotCi0tIElzc3VlICM5MjAwOiBUaGUgc3RyLmlzKiBtZXRob2RzIG5vdyB3b3JrIHdpdGggc3RyaW5ncyB0aGF0IGNvbnRhaW4gbm9uLUJNUAotICBjaGFyYWN0ZXJzIGV2ZW4gaW4gbmFycm93IFVuaWNvZGUgYnVpbGRzLgotCi0tIElzc3VlICMxMjc5MTogQnJlYWsgcmVmZXJlbmNlIGN5Y2xlcyBlYXJseSB3aGVuIGEgZ2VuZXJhdG9yIGV4aXRzIHdpdGgKLSAgYW4gZXhjZXB0aW9uLgotCi0tIElzc3VlICMxMjc3MzogTWFrZSBfX2RvY19fIG11dGFibGUgb24gdXNlci1kZWZpbmVkIGNsYXNzZXMuCi0KLS0gSXNzdWUgIzEyNzY2OiBSYWlzZSBhIFZhbHVlRXJyb3Igd2hlbiBjcmVhdGluZyBhIGNsYXNzIHdpdGggYSBjbGFzcyB2YXJpYWJsZQotICB0aGF0IGNvbmZsaWN0cyB3aXRoIGEgbmFtZSBpbiBfX3Nsb3RzX18uCi0KLS0gSXNzdWUgIzEyMjY2OiBGaXggc3RyLmNhcGl0YWxpemUoKSB0byBjb3JyZWN0bHkgdXBwZXJjYXNlL2xvd2VyY2FzZQotICB0aXRsZWNhc2VkIGFuZCBjYXNlZCBub24tbGV0dGVyIGNoYXJhY3RlcnMuCi0KLS0gSXNzdWUgIzEyNzMyOiBJbiBuYXJyb3cgdW5pY29kZSBidWlsZHMsIGFsbG93IFVuaWNvZGUgaWRlbnRpZmllcnMgd2hpY2ggZmFsbAotICBvdXRzaWRlIHRoZSBCTVAuCi0KLS0gSXNzdWUgIzEyNTc1OiBWYWxpZGF0ZSB1c2VyLWdlbmVyYXRlZCBBU1QgYmVmb3JlIGl0IGlzIGNvbXBpbGVkLgotCi0tIE1ha2UgdHlwZShOb25lKSwgdHlwZShFbGxpcHNpcyksIGFuZCB0eXBlKE5vdEltcGxlbWVudGVkKSBjYWxsYWJsZS4gVGhleQotICByZXR1cm4gdGhlIHJlc3BlY3RpdmUgc2luZ2xldG9uIGluc3RhbmNlcy4KLQotLSBGb3JiaWQgc3VtbWluZyBieXRlcyB3aXRoIHN1bSgpLgotCi0tIFZlcmlmeSB0aGUgdHlwZXMgb2YgQVNUIHN0cmluZ3MgYW5kIGlkZW50aWZpZXJzIHByb3ZpZGVkIGJ5IHRoZSB1c2VyIGJlZm9yZQotICBjb21waWxpbmcgdGhlbS4KLQotLSBJc3N1ZSAjMTI2NDc6IFRoZSBOb25lIG9iamVjdCBub3cgaGFzIGEgX19ib29sX18oKSBtZXRob2QgdGhhdCByZXR1cm5zIEZhbHNlLgotICBGb3JtZXJseSwgYm9vbChOb25lKSByZXR1cm5lZCBGYWxzZSBvbmx5IGJlY2F1c2Ugb2Ygc3BlY2lhbCBjYXNlIGxvZ2ljCi0gIGluIFB5T2JqZWN0X0lzVHJ1ZSgpLgotCi0tIElzc3VlICMxMjU3OTogc3RyLmZvcm1hdF9tYXAoKSBub3cgcmFpc2VzIGEgVmFsdWVFcnJvciBpZiB1c2VkIG9uIGEKLSAgZm9ybWF0IHN0cmluZyB0aGF0IGNvbnRhaW5zIHBvc2l0aW9uYWwgZmllbGRzLiBJbml0aWFsIHBhdGNoIGJ5Ci0gIEp1bGlhbiBCZXJtYW4uCi0KLS0gSXNzdWUgIzEwMjcxOiBBbGxvdyB3YXJuaW5ncy5zaG93d2FybmluZygpIGJlIGFueSBjYWxsYWJsZS4KLQotLSBJc3N1ZSAjMTE2Mjc6IEZpeCBzZWdmYXVsdCB3aGVuIF9fbmV3X18gb24gYSBleGNlcHRpb24gcmV0dXJucyBhCi0gIG5vbi1leGNlcHRpb24gY2xhc3MuCi0KLS0gSXNzdWUgIzEyMTQ5OiBVcGRhdGUgdGhlIG1ldGhvZCBjYWNoZSBhZnRlciBhIHR5cGUncyBkaWN0aW9uYXJ5IGdldHMKLSAgY2xlYXJlZCBieSB0aGUgZ2FyYmFnZSBjb2xsZWN0b3IuICBUaGlzIGZpeGVzIGEgc2VnZmF1bHQgd2hlbiBhbiBpbnN0YW5jZQotICBhbmQgaXRzIHR5cGUgZ2V0IGNhdWdodCBpbiBhIHJlZmVyZW5jZSBjeWNsZSwgYW5kIHRoZSBpbnN0YW5jZSdzCi0gIGRlYWxsb2NhdG9yIGNhbGxzIG9uZSBvZiB0aGUgbWV0aG9kcyBvbiB0aGUgdHlwZSAoZS5nLiB3aGVuIHN1YmNsYXNzaW5nCi0gIElPQmFzZSkuICBEaWFnbm9zaXMgYW5kIHBhdGNoIGJ5IERhdmlkZSBSaXp6by4KLQotLSBJc3N1ZSAjOTYxMSwgSXNzdWUgIzkwMTU6IEZpbGVJTy5yZWFkKCkgY2xhbXBzIHRoZSBsZW5ndGggdG8gSU5UX01BWCBvbiBXaW5kb3dzLgotCi0tIElzc3VlICM5NjQyOiBVbmlmb3JtaXplIHRoZSB0ZXN0cyBvbiB0aGUgYXZhaWxhYmlsaXR5IG9mIHRoZSBtYmNzIGNvZGVjLCBhZGQKLSAgYSBuZXcgSEFWRV9NQkNTIGRlZmluZS4KLQotLSBJc3N1ZSAjOTY0MjogRml4IGZpbGVzeXN0ZW0gZW5jb2RpbmcgaW5pdGlhbGl6YXRpb246IHVzZSB0aGUgQU5TSSBjb2RlIHBhZ2UKLSAgb24gV2luZG93cyBpZiB0aGUgbWJjcyBjb2RlYyBpcyBub3QgYXZhaWxhYmxlLCBhbmQgZmFpbCB3aXRoIGEgZmF0YWwgZXJyb3IgaWYKLSAgd2UgY2Fubm90IGdldCB0aGUgbG9jYWxlIGVuY29kaW5nIChpZiBubF9sYW5naW5mbyhDT0RFU0VUKSBpcyBub3QgYXZhaWxhYmxlKQotICBpbnN0ZWFkIG9mIHVzaW5nIFVURi04LgotCi0tIFdoZW4gYSBnZW5lcmF0b3IgeWllbGRzLCBkbyBub3QgcmV0YWluIHRoZSBjYWxsZXIncyBleGNlcHRpb24gc3RhdGUgb24gdGhlCi0gIGdlbmVyYXRvci4KLQotLSBJc3N1ZSAjMTI0NzU6IFByZXZlbnQgZ2VuZXJhdG9ycyBmcm9tIGxlYWtpbmcgdGhlaXIgZXhjZXB0aW9uIHN0YXRlIGludG8gdGhlCi0gIGNhbGxlcidzIGZyYW1lIGFzIHRoZXkgcmV0dXJuIGZvciB0aGUgbGFzdCB0aW1lLgotCi0tIElzc3VlICMxMjI5MTogWW91IGNhbiBub3cgbG9hZCBtdWx0aXBsZSBtYXJzaGFsbGVkIG9iamVjdHMgZnJvbSBhIHN0cmVhbSwKLSAgd2l0aCBvdGhlciBkYXRhIGludGVybGVhdmVkIGJldHdlZW4gbWFyc2hhbGxlZCBvYmplY3RzLgotCi0tIElzc3VlICMxMjM1NjogV2hlbiByZXF1aXJlZCBwb3NpdGlvbmFsIG9yIGtleXdvcmQtb25seSBhcmd1bWVudHMgYXJlIG5vdAotICBnaXZlbiwgcHJvZHVjZSBhIGluZm9ybWF0aXZlIGVycm9yIG1lc3NhZ2Ugd2hpY2ggaW5jbHVkZXMgdGhlIG5hbWUocykgb2YgdGhlCi0gIG1pc3NpbmcgYXJndW1lbnRzLgotCi0tIElzc3VlICMxMjM3MDogRml4IHN1cGVyIHdpdGggbm8gYXJndW1lbnRzIHdoZW4gX19jbGFzc19fIGlzIG92ZXJyaWRlbiBpbiB0aGUKLSAgY2xhc3MgYm9keS4KLQotLSBJc3N1ZSAjMTIwODQ6IG9zLnN0YXQgb24gV2luZG93cyBub3cgd29ya3MgcHJvcGVybHkgd2l0aCByZWxhdGl2ZSBzeW1ib2xpYwotICBsaW5rcyB3aGVuIGNhbGxlZCBmcm9tIGFueSBkaXJlY3RvcnkuCi0KLS0gTG9vc2VuIHR5cGUgcmVzdHJpY3Rpb25zIG9uIHRoZSBfX2Rpcl9fIG1ldGhvZC4gX19kaXJfXyBjYW4gbm93IHJldHVybiBhbnkKLSAgc2VxdWVuY2UsIHdoaWNoIHdpbGwgYmUgY29udmVydGVkIHRvIGEgbGlzdCBhbmQgc29ydGVkIGJ5IGRpcigpLgotCi0tIElzc3VlICMxMjI2NTogTWFrZSBlcnJvciBtZXNzYWdlcyBwcm9kdWNlZCBieSBwYXNzaW5nIGFuIGludmFsaWQgc2V0IG9mCi0gIGFyZ3VtZW50cyB0byBhIGZ1bmN0aW9uIG1vcmUgaW5mb3JtYXRpdmUuCi0KLS0gSXNzdWUgIzEyMjI1OiBTdGlsbCBhbGxvdyBQeXRob24gdG8gYnVpbGQgaWYgUHl0aG9uIGlzIG5vdCBpbiBpdHMgaGcgcmVwbyBvcgotICBtZXJjdXJpYWwgaXMgbm90IGluc3RhbGxlZC4KLQotLSBJc3N1ZSAjMTE5NTogbXlfZmdldHMoKSBub3cgYWx3YXlzIGNsZWFycyBlcnJvcnMgYmVmb3JlIGNhbGxpbmcgZmdldHMoKS4gRml4Ci0gIHRoZSBmb2xsb3dpbmcgY2FzZTogc3lzLnN0ZGluLnJlYWQoKSBzdG9wcGVkIHdpdGggQ1RSTCtkIChlbmQgb2YgZmlsZSksCi0gIHJhd19pbnB1dCgpIGludGVycnVwdGVkIGJ5IENUUkwrYy4KLQotLSBJc3N1ZSAjMTIyMTY6IEFsbG93IHVuZXhwZWN0ZWQgRU9GIGVycm9ycyB0byBoYXBwZW4gb24gYW55IGxpbmUgb2YgdGhlIGZpbGUuCi0KLS0gSXNzdWUgIzEyMTk5OiBUaGUgVHJ5RXhjZXB0IGFuZCBUcnlGaW5hbGx5IGFuZCBBU1Qgbm9kZXMgaGF2ZSBiZWVuIHVuaWZpZWQKLSAgaW50byBhIFRyeSBub2RlLgotCi0tIElzc3VlICM5NjcwOiBJbmNyZWFzZSB0aGUgZGVmYXVsdCBzdGFjayBzaXplIGZvciBzZWNvbmRhcnkgdGhyZWFkcyBvbgotICBNYWMgT1MgWCBhbmQgRnJlZUJTRCB0byByZWR1Y2UgdGhlIGNoYW5jZXMgb2YgYSBjcmFzaCBpbnN0ZWFkIG9mIGEKLSAgIm1heGltdW0gcmVjdXJzaW9uIGRlcHRoIiBSdW50aW1lRXJyb3IgZXhjZXB0aW9uLgotICAocGF0Y2ggYnkgUm9uYWxkIE91c3NvcmVuKQotCi0tIElzc3VlICMxMjEwNjogVGhlIHVzZSBvZiB0aGUgbXVsdGlwbGUtd2l0aCBzaG9ydGhhbmQgc3ludGF4IGlzIG5vdyByZWZsZWN0ZWQKLSAgaW4gdGhlIEFTVC4KLQotLSBJc3N1ZSAjMTIxOTA6IFRyeSB0byB1c2UgdGhlIHNhbWUgZmlsZW5hbWUgb2JqZWN0IHdoZW4gY29tcGlsaW5nIHVubWFyc2hhbGxpbmcKLSAgYSBjb2RlIG9iamVjdHMgaW4gdGhlIHNhbWUgZmlsZS4KLQotLSBJc3N1ZSAjMTIxNjY6IE1vdmUgaW1wbGVtZW50YXRpb25zIG9mIGRpcigpIHNwZWNpYWxpemVkIGZvciB2YXJpb3VzIHR5cGVzIGludG8KLSAgdGhlIF9fZGlyX18oKSBtZXRob2RzIG9mIHRob3NlIHR5cGVzLgotCi0tIElzc3VlICM1NzE1OiBJbiBzb2NrZXRzZXJ2ZXIsIGNsb3NlIHRoZSBzZXJ2ZXIgc29ja2V0IGluIHRoZSBjaGlsZCBwcm9jZXNzLgotCi0tIENvcnJlY3QgbG9va3VwIG9mIF9fZGlyX18gb24gb2JqZWN0cy4gQW1vbmcgb3RoZXIgdGhpbmdzLCB0aGlzIGNhdXNlcyBlcnJvcnMKLSAgYmVzaWRlcyBBdHRyaWJ1dGVFcnJvciBmb3VuZCBvbiBsb29rdXAgdG8gYmUgcHJvcGFnYXRlZC4KLQotLSBJc3N1ZSAjMTIwNjA6IFVzZSBzaWdfYXRvbWljX3QgdHlwZSBhbmQgdm9sYXRpbGUga2V5d29yZCBpbiB0aGUgc2lnbmFsCi0gIG1vZHVsZS4gUGF0Y2ggd3JpdHRlbiBieSBDaGFybGVzLUZyYW7Dp29pcyBOYXRhbGkuCi0KLS0gSXNzdWUgIzE3NDY2NTY6IEFkZGVkIHRoZSBpZl9uYW1laW5kZXgsIGlmX2luZGV4dG9uYW1lLCBpZl9uYW1ldG9pbmRleAotICBtZXRob2RzIHRvIHRoZSBzb2NrZXQgbW9kdWxlLgotCi0tIElzc3VlICMxMjA0NDogRml4ZWQgc3VicHJvY2Vzcy5Qb3BlbiB3aGVuIHVzZWQgYXMgYSBjb250ZXh0IG1hbmFnZXIgdG8KLSAgd2FpdCBmb3IgdGhlIHByb2Nlc3MgdG8gZW5kIHdoZW4gZXhpdGluZyB0aGUgY29udGV4dCB0byBhdm9pZCB1bmludGVudGlvbmFsbHkKLSAgbGVhdmluZyB6b21iaWUgcHJvY2Vzc2VzIGFyb3VuZC4KLQotLSBJc3N1ZSAjMTE5NTogRml4IGlucHV0KCkgaWYgaXQgaXMgaW50ZXJydXB0ZWQgYnkgQ1RSTCtkIGFuZCB0aGVuIENUUkwrYywKLSAgY2xlYXIgdGhlIGVuZC1vZi1maWxlIGluZGljYXRvciBhZnRlciBDVFJMK2QuCi0KLS0gSXNzdWUgIzE4NTY6IEF2b2lkIGNyYXNoZXMgYW5kIGxvY2t1cHMgd2hlbiBkYWVtb24gdGhyZWFkcyBydW4gd2hpbGUgdGhlCi0gIGludGVycHJldGVyIGlzIHNodXR0aW5nIGRvd247IGluc3RlYWQsIHRoZXNlIHRocmVhZHMgYXJlIG5vdyBraWxsZWQgd2hlbgotICB0aGV5IHRyeSB0byB0YWtlIHRoZSBHSUwuCi0KLS0gSXNzdWUgIzk3NTY6IFdoZW4gY2FsbGluZyBhIG1ldGhvZCBkZXNjcmlwdG9yIG9yIGEgc2xvdCB3cmFwcGVyIGRlc2NyaXB0b3IsCi0gIHRoZSBjaGVjayBvZiB0aGUgb2JqZWN0IHR5cGUgZG9lc24ndCByZWFkIHRoZSBfX2NsYXNzX18gYXR0cmlidXRlIGFueW1vcmUuCi0gIEZpeCBhIGNyYXNoIGlmIGEgY2xhc3Mgb3ZlcnJpZGUgaXRzIF9fY2xhc3NfXyBhdHRyaWJ1dGUgKGUuZy4gYSBwcm94eSBvZiB0aGUKLSAgc3RyIHR5cGUpLiBQYXRjaCB3cml0dGVuIGJ5IEFuZHJlYXMgU3TDvGhyay4KLQotLSBJc3N1ZSAjMTA1MTc6IEFmdGVyIGZvcmsoKSwgcmVpbml0aWFsaXplIHRoZSBUTFMgdXNlZCBieSB0aGUgUHlHSUxTdGF0ZV8qCi0gIEFQSXMsIHRvIGF2b2lkIGEgY3Jhc2ggd2l0aCB0aGUgcHRocmVhZCBpbXBsZW1lbnRhdGlvbiBpbiBSSEVMIDUuICBQYXRjaAotICBieSBDaGFybGVzLUZyYW7Dp29pcyBOYXRhbGkuCi0KLS0gSXNzdWUgIzEwOTE0OiBJbml0aWFsaXplIGNvcnJlY3RseSB0aGUgZmlsZXN5c3RlbSBjb2RlYyB3aGVuIGNyZWF0aW5nIGEgbmV3Ci0gIHN1YmludGVycHJldGVyIHRvIGZpeCBhIGJvb3RzdHJhcCBpc3N1ZSB3aXRoIGNvZGVjcyBpbXBsZW1lbnRlZCBpbiBQeXRob24sIGFzCi0gIHRoZSBJU08tODg1OS0xNSBjb2RlYy4KLQotLSBJc3N1ZSAjMTE5MTg6IE9TLzIgYW5kIFZNUyBhcmUgbm8gbW9yZSBzdXBwb3J0ZWQgYmVjYXVzZSBvZiB0aGUgbGFjayBvZgotICBtYWludGFpbmVyLgotCi0tIElzc3VlICM2NzgwOiBmaXggc3RhcnRzL2VuZHN3aXRoIGVycm9yIG1lc3NhZ2UgdG8gbWVudGlvbiB0aGF0IHR1cGxlcyBhcmUKLSAgYWNjZXB0ZWQgdG9vLgotCi0tIElzc3VlICM1MDU3OiBmaXggYSBidWcgaW4gdGhlIHBlZXBob2xlciB0aGF0IGxlZCB0byBub24tcG9ydGFibGUgcHljIGZpbGVzCi0gIGJldHdlZW4gbmFycm93IGFuZCB3aWRlIGJ1aWxkcyB3aGlsZSBvcHRpbWl6aW5nIEJJTkFSWV9TVUJTQ1Igb24gbm9uLUJNUAotICBjaGFycyAoZS5nLiAiXFUwMDAxMjM0NSJbMF0pLgotCi0tIElzc3VlICMxMTg0NTogRml4IHR5cG8gaW4gcmFuZ2VvYmplY3QuYyB0aGF0IGNhdXNlZCBhIGNyYXNoIGluCi0gIGNvbXB1dGVfc2xpY2VfaW5kaWNlcy4gIFBhdGNoIGJ5IERhbmllbCBVcmJhbi4KLQotLSBJc3N1ZSAjNTY3MzogQWRkZWQgYSBgdGltZW91dGAga2V5d29yZCBhcmd1bWVudCB0byBzdWJwcm9jZXNzLlBvcGVuLndhaXQsCi0gIHN1YnByb2Nlc3MuUG9wZW4uY29tbXVuaWNhdGVkLCBzdWJwcm9jZXNzLmNhbGwsIHN1YnByb2Nlc3MuY2hlY2tfY2FsbCwgYW5kCi0gIHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0LiAgSWYgdGhlIGJsb2NraW5nIG9wZXJhdGlvbiB0YWtlcyBtb3JlIHRoYW4gYHRpbWVvdXRgCi0gIHNlY29uZHMsIHRoZSBgc3VicHJvY2Vzcy5UaW1lb3V0RXhwaXJlZGAgZXhjZXB0aW9uIGlzIHJhaXNlZC4KLQotLSBJc3N1ZSAjMTE2NTA6IFB5T1NfU3RkaW9SZWFkbGluZSgpIHJldHJpZXMgZmdldHMoKSBpZiBpdCB3YXMgaW50ZXJydXB0ZWQKLSAgKEVJTlRSKSwgZm9yIGV4YW1wbGUgaWYgdGhlIHByb2dyYW0gaXMgc3RvcHBlZCB3aXRoIENUUkwreiBvbiBNYWMgT1MgWC4gUGF0Y2gKLSAgd3JpdHRlbiBieSBDaGFybGVzLUZyYW5jb2lzIE5hdGFsaS4KLQotLSBJc3N1ZSAjOTMxOTogSW5jbHVkZSB0aGUgZmlsZW5hbWUgaW4gIk5vbi1VVEY4IGNvZGUgLi4uIiBzeW50YXggZXJyb3IuCi0KLS0gSXNzdWUgIzEwNzg1OiBTdG9yZSB0aGUgZmlsZW5hbWUgYXMgVW5pY29kZSBpbiB0aGUgUHl0aG9uIHBhcnNlci4KLQotLSBJc3N1ZSAjMTE2MTk6IF9QeUltcG9ydF9Mb2FkRHluYW1pY01vZHVsZSgpIGRvZXNuJ3QgZW5jb2RlIHRoZSBwYXRoIHRvIGJ5dGVzCi0gIG9uIFdpbmRvd3MuCi0KLS0gSXNzdWUgIzEwOTk4OiBSZW1vdmUgbWVudGlvbnMgb2YgLVEsIHN5cy5mbGFncy5kaXZpc2lvbl93YXJuaW5nIGFuZAotICBQeV9EaXZpc2lvbldhcm5pbmdGbGFnIGxlZnQgb3ZlciBmcm9tIFB5dGhvbiAyLgotCi0tIElzc3VlICMxMTI0NDogUmVtb3ZlIGFuIHVubmVjZXNzYXJ5IHBlZXBob2xlciBjaGVjayB0aGF0IHdhcyBwcmV2ZW50aW5nCi0gIG5lZ2F0aXZlIHplcm9zIGZyb20gYmVpbmcgY29uc3RhbnQtZm9sZGVkIHByb3Blcmx5LgotCi0tIElzc3VlICMxMTM5NTogaW8uRmlsZUlPKCkud3JpdGUoKSBjbGFtcHMgdGhlIGRhdGEgbGVuZ3RoIHRvIDMyLDc2NyBieXRlcyBvbgotICBXaW5kb3dzIGlmIHRoZSBmaWxlIGlzIGEgVFRZIHRvIHdvcmthcm91bmQgYSBXaW5kb3dzIGJ1Zy4gVGhlIFdpbmRvd3MgY29uc29sZQotICByZXR1cm5zIGFuIGVycm9yICgxMjogbm90IGVub3VnaCBzcGFjZSBlcnJvcikgb24gd3JpdGluZyBpbnRvIHN0ZG91dCBpZgotICBzdGRvdXQgbW9kZSBpcyBiaW5hcnkgYW5kIHRoZSBsZW5ndGggaXMgZ3JlYXRlciB0aGFuIDY2LDAwMCBieXRlcyAob3IgbGVzcywKLSAgZGVwZW5kaW5nIG9uIGhlYXAgdXNhZ2UpLgotCi0tIElzc3VlICMxMTMyMDogZml4IGJvZ3VzIG1lbW9yeSBtYW5hZ2VtZW50IGluIE1vZHVsZXMvZ2V0cGF0aC5jLCBsZWFkaW5nIHRvCi0gIGEgcG9zc2libGUgY3Jhc2ggd2hlbiBjYWxsaW5nIFB5X1NldFBhdGgoKS4KLQotLSBJc3N1ZSAjMTE0MzI6IEEgYnVnIHdhcyBpbnRyb2R1Y2VkIGluIHN1YnByb2Nlc3MuUG9wZW4gb24gcG9zaXggc3lzdGVtcyB3aXRoCi0gIDMuMi4wIHdoZXJlIHRoZSBzdGRvdXQgb3Igc3RkZXJyIGZpbGUgZGVzY3JpcHRvciBiZWluZyB0aGUgc2FtZSBhcyB0aGUgc3RkaW4KLSAgZmlsZSBkZXNjcmlwdG9yIHdvdWxkIHJhaXNlIGFuIGV4Y2VwdGlvbi4gd2ViYnJvd3Nlci5vcGVuIHdvdWxkIGZhaWwuIGZpeGVkLgotCi0tIElzc3VlICM5ODU2OiBDaGFuZ2Ugb2JqZWN0Ll9fZm9ybWF0X18gd2l0aCBhIG5vbi1lbXB0eSBmb3JtYXQgc3RyaW5nCi0gIHRvIGJlIGEgRGVwcmVjYXRpb25XYXJuaW5nLiBJbiAzLjIgaXQgd2FzIGEgUGVuZGluZ0RlcHJlY2F0aW9uV2FybmluZy4KLSAgSW4gMy40IGl0IHdpbGwgYmUgYSBUeXBlRXJyb3IuCi0KLS0gSXNzdWUgIzExMjQ0OiBUaGUgcGVlcGhvbGUgb3B0aW1pemVyIGlzIG5vdyBhYmxlIHRvIGNvbnN0YW50LWZvbGQKLSAgYXJiaXRyYXJpbHkgY29tcGxleCBleHByZXNzaW9ucy4gIFRoaXMgYWxzbyBmaXhlcyBhIDMuMiByZWdyZXNzaW9uIHdoZXJlCi0gIG9wZXJhdGlvbnMgaW52b2x2aW5nIG5lZ2F0aXZlIG51bWJlcnMgd2VyZSBub3QgY29uc3RhbnQtZm9sZGVkLgotCi0tIElzc3VlICMxMTQ1MDogRG9uJ3QgdHJ1bmNhdGUgaGcgdmVyc2lvbiBpbmZvIGluIFB5X0dldEJ1aWxkSW5mbygpIHdoZW4KLSAgdGhlcmUgYXJlIG1hbnkgdGFncyAoZS5nLiB3aGVuIHVzaW5nIG1xKS4gIFBhdGNoIGJ5IE5hZGVlbSBWYXdkYS4KLQotLSBJc3N1ZSAjMTEzMzU6IEZpeGVkIGEgbWVtb3J5IGxlYWsgaW4gbGlzdC5zb3J0IHdoZW4gdGhlIGtleSBmdW5jdGlvbgotICB0aHJvd3MgYW4gZXhjZXB0aW9uLgotCi0tIElzc3VlICM4OTIzOiBXaGVuIGEgc3RyaW5nIGlzIGVuY29kZWQgdG8gVVRGLTggaW4gc3RyaWN0IG1vZGUsIHRoZSByZXN1bHQgaXMKLSAgY2FjaGVkIGludG8gdGhlIG9iamVjdC4gRXhhbXBsZXM6IHN0ci5lbmNvZGUoKSwgc3RyLmVuY29kZSgndXRmLTgnKSwKLSAgUHlVbmljb2RlX0FzVVRGOFN0cmluZygpIGFuZCBQeVVuaWNvZGVfQXNFbmNvZGVkU3RyaW5nKHVuaWNvZGUsICJ1dGYtOCIsCi0gIE5VTEwpLgotCi0tIElzc3VlICMxMDgyOTogUmVmYWN0b3IgUHlVbmljb2RlX0Zyb21Gb3JtYXQoKSwgdXNlIHRoZSBzYW1lIGZ1bmN0aW9uIHRvIHBhcnNlCi0gIHRoZSBmb3JtYXQgc3RyaW5nIGluIHRoZSAzIHN0ZXBzLCBmaXggY3Jhc2hzIG9uIGludmFsaWQgZm9ybWF0IHN0cmluZ3MuCi0KLS0gSXNzdWUgIzEzMDA3OiB3aGljaGRiIHNob3VsZCByZWNvZ25pemUgZ2RibSAxLjkgbWFnaWMgbnVtYmVycy4KLQotLSBJc3N1ZSAjMTEyODY6IFJhaXNlIGEgVmFsdWVFcnJvciBmcm9tIGNhbGxpbmcgUHlNZW1vcnlWaWV3X0Zyb21CdWZmZXIgd2l0aAotICBhIGJ1ZmZlciBzdHJ1Y3QgaGF2aW5nIGEgTlVMTCBkYXRhIHBvaW50ZXIuCi0KLS0gSXNzdWUgIzExMjcyOiBPbiBXaW5kb3dzLCBpbnB1dCgpIHN0cmlwcyAnXHInIChhbmQgbm90IG9ubHkgJ1xuJyksIGFuZAotICBzeXMuc3RkaW4gdXNlcyB1bml2ZXJzYWwgbmV3bGluZSAocmVwbGFjZSAnXHJcbicgYnkgJ1xuJykuCi0KLS0gSXNzdWUgIzExODI4OiBzdGFydHN3aXRoIGFuZCBlbmRzd2l0aCBub3cgYWNjZXB0IE5vbmUgYXMgc2xpY2UgaW5kZXguCi0gIFBhdGNoIGJ5IFRvcnN0ZW4gQmVja2VyLgotCi0tIElzc3VlICMxMTE2ODogUmVtb3ZlIGZpbGVuYW1lIGRlYnVnIHZhcmlhYmxlIGZyb20gUHlFdmFsX0V2YWxGcmFtZUV4KCkuCi0gIEl0IGVuY29kZWQgdGhlIFVuaWNvZGUgZmlsZW5hbWUgdG8gVVRGLTgsIGJ1dCB0aGUgZW5jb2RpbmcgZmFpbHMgb24KLSAgdW5kZWNvZGFibGUgZmlsZW5hbWUgKG9uIHN1cnJvZ2F0ZSBjaGFyYWN0ZXJzKSB3aGljaCByYWlzZXMgYW4gdW5leHBlY3RlZAotICBVbmljb2RlRW5jb2RlRXJyb3Igb24gcmVjdXJzaW9uIGxpbWl0LgotCi0tIElzc3VlICMxMTE4NzogUmVtb3ZlIGJvb3RzdHJhcCBjb2RlICh1c2UgQVNDSUkpIG9mCi0gIFB5VW5pY29kZV9Bc0VuY29kZWRTdHJpbmcoKSwgaXQgd2FzIHJlcGxhY2VkIGJ5IGEgYmV0dGVyIGZhbGxiYWNrICh1c2UgdGhlCi0gIGxvY2FsZSBlbmNvZGluZykgaW4gUHlVbmljb2RlX0VuY29kZUZTRGVmYXVsdCgpLgotCi0tIENoZWNrIGZvciBOVUxMIHJlc3VsdCBpbiBQeVR5cGVfRnJvbVNwZWMuCi0KLS0gSXNzdWUgIzEwNTE2OiBOZXcgY29weSgpIGFuZCBjbGVhcigpIG1ldGhvZHMgZm9yIGxpc3RzIGFuZCBieXRlYXJyYXlzLgotCi0tIElzc3VlICMxMTM4NjogYnl0ZWFycmF5LnBvcCgpIG5vdyB0aHJvd3MgSW5kZXhFcnJvciB3aGVuIHRoZSBieXRlYXJyYXkgaXMKLSAgZW1wdHksIGluc3RlYWQgb2YgT3ZlcmZsb3dFcnJvci4KLQotLSBJc3N1ZSAjMTIzODA6IFRoZSByanVzdCwgbGp1c3QgYW5kIGNlbnRlciBtZXRob2RzIG9mIGJ5dGVzIGFuZCBieXRlYXJyYXkKLSAgbm93IGFjY2VwdCBhIGJ5dGVhcnJheSBhcmd1bWVudC4KLQotTGlicmFyeQotLS0tLS0tLQotCi0tIElzc3VlICMxNDE5NTogQW4gaXNzdWUgdGhhdCBjYXVzZWQgd2Vha3JlZi5XZWFrU2V0IGluc3RhbmNlcyB0byBpbmNvcnJlY3RseQotICByZXR1cm4gVHJ1ZSBmb3IgYSBXZWFrU2V0IGluc3RhbmNlICdhJyBpbiBib3RoICdhIDwgYScgYW5kICdhID4gYScgaGFzIGJlZW4KLSAgZml4ZWQuCi0KLS0gSXNzdWUgIzE0MTY2OiBQaWNrbGVyIG9iamVjdHMgbm93IGhhdmUgYW4gb3B0aW9uYWwgYGBkaXNwYXRjaF90YWJsZWBgCi0gIGF0dHJpYnV0ZSB3aGljaCBhbGxvd3MgdG8gc2V0IGN1c3RvbSBwZXItcGlja2xlciByZWR1Y3Rpb24gZnVuY3Rpb25zLgotICBQYXRjaCBieSBzYnQuCi0KLS0gSXNzdWUgIzE0MTc3OiBtYXJzaGFsLmxvYWRzKCkgbm93IHJhaXNlcyBUeXBlRXJyb3Igd2hlbiBnaXZlbiBhbiB1bmljb2RlCi0gIHN0cmluZy4gIFBhdGNoIGJ5IEd1aWxoZXJtZSBHb27Dp2FsdmVzLgotCi0tIElzc3VlICMxMzU1MDogUmVtb3ZlIHRoZSBkZWJ1ZyBtYWNoaW5lcnkgZnJvbSB0aGUgdGhyZWFkaW5nIG1vZHVsZTogcmVtb3ZlCi0gIHZlcmJvc2UgYXJndW1lbnRzIGZyb20gYWxsIHRocmVhZGluZyBjbGFzc2VzIGFuZCBmdW5jdGlvbnMuCi0KLS0gSXNzdWUgIzE0MTU5OiBGaXggdGhlIGxlbigpIG9mIHdlYWsgY29udGFpbmVycyAoV2Vha1NldCwgV2Vha0tleURpY3Rpb25hcnksCi0gIFdlYWtWYWx1ZURpY3Rpb25hcnkpIHRvIHJldHVybiBhIGJldHRlciBhcHByb3hpbWF0aW9uIHdoZW4gc29tZSBvYmplY3RzCi0gIGFyZSBkZWFkIG9yIGR5aW5nLiAgTW9yZW92ZXIsIHRoZSBpbXBsZW1lbnRhdGlvbiBpcyBub3cgTygxKSByYXRoZXIgdGhhbgotICBPKG4pLgotCi0tIElzc3VlICMxMTg0MTogRml4IGNvbXBhcmlzb24gYnVnIHdpdGggJ3JjJyB2ZXJzaW9ucyBpbiBwYWNrYWdpbmcudmVyc2lvbi4KLSAgUGF0Y2ggYnkgRmlsaXAgR3J1c3pjennFhHNraS4KLQotLSBJc3N1ZSAjNjg4NDogRml4IGxvbmctc3RhbmRpbmcgYnVncyB3aXRoIE1BTklGRVNULmluIHBhcnNpbmcgaW4gZGlzdHV0aWxzCi0gIG9uIFdpbmRvd3MuICBBbHNvIGZpeGVkIGluIHBhY2thZ2luZy4KLQotLSBJc3N1ZSAjODAzMzogc3FsaXRlMzogRml4IDY0LWJpdCBpbnRlZ2VyIGhhbmRsaW5nIGluIHVzZXIgZnVuY3Rpb25zCi0gIG9uIDMyLWJpdCBhcmNoaXRlY3R1cmVzLiBJbml0aWFsIHBhdGNoIGJ5IFBoaWxpcHBlIERldmFsa2VuZWVyLgotCi0tIEhUTUxQYXJzZXIgaXMgbm93IGFibGUgdG8gaGFuZGxlIHNsYXNoZXMgaW4gdGhlIHN0YXJ0IHRhZy4KLQotLSBJc3N1ZSAjMTM2NDE6IERlY29kaW5nIGZ1bmN0aW9ucyBpbiB0aGUgYmFzZTY0IG1vZHVsZSBub3cgYWNjZXB0IEFTQ0lJLW9ubHkKLSAgdW5pY29kZSBzdHJpbmdzLiAgUGF0Y2ggYnkgQ2F0YWxpbiBJYWNvYi4KLQotLSBJc3N1ZSAjMTQwNDM6IFNwZWVkIHVwIGltcG9ydGxpYidzIF9GaWxlRmluZGVyIGJ5IGF0IGxlYXN0IDh4LCBhbmQgYWRkIGEKLSAgbmV3IGltcG9ydGxpYi5pbnZhbGlkYXRlX2NhY2hlcygpIGZ1bmN0aW9uLgotCi0tIElzc3VlICMxNDAwMTogQ1ZFLTIwMTItMDg0NTogeG1scnBjOiBGaXggYW4gZW5kbGVzcyBsb29wIGluCi0gIFNpbXBsZVhNTFJQQ1NlcnZlciB1cG9uIG1hbGZvcm1lZCBQT1NUIHJlcXVlc3QuCi0KLS0gSXNzdWUgIzEzOTYxOiBNb3ZlIGltcG9ydGxpYiBvdmVyIHRvIHVzaW5nIG9zLnJlcGxhY2UoKSBmb3IgYXRvbWljIHJlbmFtaW5nLgotCi0tIERvIGF3YXkgd2l0aCBhbWJpZ3VvdXMgbGV2ZWwgdmFsdWVzIChhcyBzdWdnZXN0ZWQgYnkgUEVQIDMyOCkgaW4KLSAgaW1wb3J0bGliLl9faW1wb3J0X18oKSBieSByYWlzaW5nIFZhbHVlRXJyb3Igd2hlbiBsZXZlbCA8IDAuCi0KLS0gSXNzdWUgIzI0ODk6IHB0eS5zcGF3biBjb3VsZCBjb25zdW1lIDEwMCUgY3B1IHdoZW4gaXQgZW5jb3VudGVyZWQgYW4gRU9GLgotCi0tIElzc3VlICMxMzAxNDogRml4IGEgcG9zc2libGUgcmVmZXJlbmNlIGxlYWsgaW4gU1NMU29ja2V0LmdldHBlZXJjZXJ0KCkuCi0KLS0gSXNzdWUgIzEzNzc3OiBBZGQgUEZfU1lTVEVNIHNvY2tldHMgb24gT1MgWC4KLSAgUGF0Y2ggYnkgTWljaGFlbCBHb2RlcmJhdWVyLgotCi0tIElzc3VlICMxMzAxNTogRml4IGEgcG9zc2libGUgcmVmZXJlbmNlIGxlYWsgaW4gZGVmYXVsdGRpY3QuX19yZXByX18uCi0gIFBhdGNoIGJ5IFN1bWFuIFNhaGEuCi0KLS0gSXNzdWUgIzEzMjYxMTM6IGRpc3R1dGlscycgYW5kIHBhY2thZ2luZydzIGJ1aWxkX2V4dCBjb21tYW5kcyBvcHRpb24gbm93Ci0gIGNvcnJlY3RseSBwYXJzZXMgbXVsdGlwbGUgdmFsdWVzIChzZXBhcmF0ZWQgYnkgd2hpdGVzcGFjZSBvciBjb21tYXMpIGdpdmVuCi0gIHRvIHRoZWlyIC0tbGlicmFyaWVzIG9wdGlvbi4KLQotLSBJc3N1ZSAjMTAyODc6IG5udHBsaWIgbm93IHF1ZXJpZXMgdGhlIHNlcnZlcidzIENBUEFCSUxJVElFUyBmaXJzdCBiZWZvcmUKLSAgc2VuZGluZyBNT0RFIFJFQURFUiwgYW5kIG9ubHkgc2VuZHMgaXQgaWYgbm90IGFscmVhZHkgaW4gUkVBREVSIG1vZGUuCi0gIFBhdGNoIGJ5IEh5bmVrIFNjaGxhd2Fjay4KLQotLSBJc3N1ZSAjMTM5OTM6IEhUTUxQYXJzZXIgaXMgbm93IGFibGUgdG8gaGFuZGxlIGJyb2tlbiBlbmQgdGFncyB3aGVuCi0gIHN0cmljdD1GYWxzZS4KLQotLSBJc3N1ZSAjMTM5MzA6IGxpYjJ0bzMgbm93IHN1cHBvcnRzIHdyaXRpbmcgY29udmVydGVkIG91dHB1dCBmaWxlcyB0byBhbm90aGVyCi0gIGRpcmVjdG9yeSB0cmVlIGFzIHdlbGwgYXMgY29weWluZyB1bmNoYW5nZWQgZmlsZXMgYW5kIGFsdGVyaW5nIHRoZSBmaWxlCi0gIHN1ZmZpeC4KLQotLSBJc3N1ZSAjOTc1MDogRml4IHNxbGl0ZTMuQ29ubmVjdGlvbi5pdGVyZHVtcCBvbiB0YWJsZXMgYW5kIGZpZWxkcwotICB3aXRoIGEgbmFtZSB0aGF0IGlzIGEga2V5d29yZCBvciBjb250YWlucyBxdW90ZXMuIFBhdGNoIGJ5IE1hcmtvCi0gIEtvaHRhbGEuCi0KLS0gSXNzdWUgIzEwMjg3OiBubnRwbGliIG5vdyBxdWVyaWVzIHRoZSBzZXJ2ZXIncyBDQVBBQklMSVRJRVMgYWdhaW4gYWZ0ZXIKLSAgYXV0aGVudGljYXRpbmcgKHNpbmNlIHRoZSByZXN1bHQgbWF5IGNoYW5nZSwgYWNjb3JkaW5nIHRvIFJGQyA0NjQzKS4KLSAgUGF0Y2ggYnkgSHluZWsgU2NobGF3YWNrLgotCi0tIElzc3VlICMxMzU5MDogT24gT1MgWCAxMC43IGFuZCAxMC42IHdpdGggWGNvZGUgNC4yLCBidWlsZGluZwotICBEaXN0dXRpbHMtYmFzZWQgcGFja2FnZXMgd2l0aCBDIGV4dGVuc2lvbiBtb2R1bGVzIG1heSBmYWlsIGJlY2F1c2UKLSAgQXBwbGUgaGFzIHJlbW92ZWQgZ2NjLTQuMiwgdGhlIHZlcnNpb24gdXNlZCB0byBidWlsZCBweXRob24ub3JnCi0gIDY0LWJpdC8zMi1iaXQgUHl0aG9ucy4gIElmIHRoZSB1c2VyIGRvZXMgbm90IGV4cGxpY2l0bHkgb3ZlcnJpZGUKLSAgdGhlIGRlZmF1bHQgQyBjb21waWxlciBieSBzZXR0aW5nIHRoZSBDQyBlbnZpcm9ubWVudCB2YXJpYWJsZSwKLSAgRGlzdHV0aWxzIHdpbGwgbm93IGF0dGVtcHQgdG8gY29tcGlsZSBleHRlbnNpb24gbW9kdWxlcyB3aXRoIGNsYW5nCi0gIGlmIGdjYy00LjIgaXMgcmVxdWlyZWQgYnV0IG5vdCBmb3VuZC4gQWxzbyBhcyBhIGNvbnZlbmllbmNlLCBpZgotICB0aGUgdXNlciBkb2VzIGV4cGxpY2l0bHkgc2V0IENDLCBzdWJzdGl0dXRlIGl0cyB2YWx1ZSBhcyB0aGUgZGVmYXVsdAotICBjb21waWxlciBpbiB0aGUgRGlzdHV0aWxzIExEU0hBUkVEIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgZm9yIE9TIFguCi0gIChOb3RlLCB0aGUgcHl0aG9uLm9yZyAzMi1iaXQtb25seSBQeXRob25zIHVzZSBnY2MtNC4wIGFuZCB0aGUgMTAuNHUKLSAgU0RLLCBuZWl0aGVyIG9mIHdoaWNoIGFyZSBhdmFpbGFibGUgaW4gWGNvZGUgNC4gIFRoaXMgY2hhbmdlIGRvZXMgbm90Ci0gIGF0dGVtcHQgdG8gb3ZlcnJpZGUgc2V0dGluZ3MgdG8gc3VwcG9ydCB0aGVpciB1c2Ugd2l0aCBYY29kZSA0LikKLQotLSBJc3N1ZSAjMTM5NjA6IEhUTUxQYXJzZXIgaXMgbm93IGFibGUgdG8gaGFuZGxlIGJyb2tlbiBjb21tZW50cyB3aGVuCi0gIHN0cmljdD1GYWxzZS4KLQotLSBXaGVuICcnIGlzIGEgcGF0aCAoZS5nLiBpbiBzeXMucGF0aCksIG1ha2Ugc3VyZSBfX2ZpbGVfXyB1c2VzIHRoZSBjdXJyZW50Ci0gIHdvcmtpbmcgZGlyZWN0b3J5IGluc3RlYWQgb2YgJycgaW4gaW1wb3J0bGliLgotCi0tIElzc3VlICMxMzYwOTogQWRkIHR3byBmdW5jdGlvbnMgdG8gcXVlcnkgdGhlIHRlcm1pbmFsIHNpemU6Ci0gIG9zLmdldF90ZXJtaW5hbF9zaXplIChsb3cgbGV2ZWwpIGFuZCBzaHV0aWwuZ2V0X3Rlcm1pbmFsX3NpemUgKGhpZ2ggbGV2ZWwpLgotICBQYXRjaCBieSBaYmlnbmlldyBKxJlkcnplamV3c2tpLVN6bWVrLgotCi0tIElzc3VlICMxMzg0NTogT24gV2luZG93cywgdGltZS50aW1lKCkgbm93IHVzZXMgR2V0U3lzdGVtVGltZUFzRmlsZVRpbWUoKQotICBpbnN0ZWFkIG9mIGZ0aW1lKCkgdG8gaGF2ZSBhIHJlc29sdXRpb24gb2YgMTAwIG5zIGluc3RlYWQgb2YgMSBtcyAodGhlIGNsb2NrCi0gIGFjY3VyYWN5IGlzIGJldHdlZW4gMC41IG1zIGFuZCAxNSBtcykuCi0KLS0gSXNzdWUgIzEzODQ2OiBBZGQgdGltZS5tb25vdG9uaWMoKSwgbW9ub3RvbmljIGNsb2NrLgotCi0tIElzc3VlICM4MTg0OiBtdWx0aXByb2Nlc3Npbmc6IE9uIFdpbmRvd3MsIGRvbid0IHNldCBTT19SRVVTRUFERFIgb24KLSAgQ29ubmVjdGlvbiBzb2NrZXRzLCBhbmQgc2V0IEZJTEVfRkxBR19GSVJTVF9QSVBFX0lOU1RBTkNFIG9uIG5hbWVkIHBpcGVzLCB0bwotICBtYWtlIHN1cmUgdHdvIGxpc3RlbmVycyBjYW4ndCBiaW5kIHRvIHRoZSBzYW1lIHNvY2tldC9waXBlIChvciBhbnkgZXhpc3RpbmcKLSAgc29ja2V0L3BpcGUpLgotCi0tIElzc3VlICMxMDgxMTogRml4IHJlY3Vyc2l2ZSB1c2FnZSBvZiBjdXJzb3JzLiBJbnN0ZWFkIG9mIGNyYXNoaW5nLAotICByYWlzZSBhIFByb2dyYW1taW5nRXJyb3Igbm93LgotCi0tIElzc3VlICMxMzczNDogQWRkIG9zLmZ3YWxrKCksIGEgZGlyZWN0b3J5IHdhbGtpbmcgZnVuY3Rpb24geWllbGRpbmcgZmlsZQotICBkZXNjcmlwdG9ycy4KLQotLSBJc3N1ZSAjMjk0NTogTWFrZSB0aGUgZGlzdHV0aWxzIHVwbG9hZCBjb21tYW5kIGF3YXJlIG9mIGJkaXN0X3JwbSBwcm9kdWN0cy4KLQotLSBJc3N1ZSAjMTM3MTI6IHB5c2V0dXAgY3JlYXRlIHNob3VsZCBub3QgY29udmVydCBwYWNrYWdlX2RhdGEgdG8gZXh0cmFfZmlsZXMuCi0KLS0gSXNzdWUgIzExODA1OiBwYWNrYWdlX2RhdGEgaW4gc2V0dXAuY2ZnIHNob3VsZCBhbGxvdyBtb3JlIHRoYW4gb25lIHZhbHVlLgotCi0tIElzc3VlICMxMzY3NjogSGFuZGxlIHN0cmluZ3Mgd2l0aCBlbWJlZGRlZCB6ZXJvcyBjb3JyZWN0bHkgaW4gc3FsaXRlMy4KLQotLSBJc3N1ZSAjODgyODogQWRkIG5ldyBmdW5jdGlvbiBvcy5yZXBsYWNlKCksIGZvciBjcm9zcy1wbGF0Zm9ybSByZW5hbWluZwotICB3aXRoIG92ZXJ3cml0aW5nLgotCi0tIElzc3VlICMxMzg0ODogb3BlbigpIGFuZCB0aGUgRmlsZUlPIGNvbnN0cnVjdG9yIG5vdyBjaGVjayBmb3IgTlVMCi0gIGNoYXJhY3RlcnMgaW4gdGhlIGZpbGUgbmFtZS4gIFBhdGNoIGJ5IEh5bmVrIFNjaGxhd2Fjay4KLQotLSBJc3N1ZSAjMTM4MDY6IFRoZSBzaXplIGNoZWNrIGluIGF1ZGlvb3AgZGVjb21wcmVzc2lvbiBmdW5jdGlvbnMgd2FzIHRvbwotICBzdHJpY3QgYW5kIGNvdWxkIHJlamVjdCB2YWxpZCBjb21wcmVzc2VkIGRhdGEuICBQYXRjaCBieSBPbGVnIFBsYWtob3RueXVrLgotCi0tIElzc3VlICMxMzgxMjogV2hlbiBhIG11bHRpcHJvY2Vzc2luZyBQcm9jZXNzIGNoaWxkIHJhaXNlcyBhbiBleGNlcHRpb24sCi0gIGZsdXNoIHN0ZGVyciBhZnRlciBwcmludGluZyB0aGUgZXhjZXB0aW9uIHRyYWNlYmFjay4KLQotLSBJc3N1ZSAjMTM4ODU6IENWRS0yMDExLTMzODk6IHRoZSBfc3NsIG1vZHVsZSB3b3VsZCBhbHdheXMgZGlzYWJsZSB0aGUgQ0JDCi0gIElWIGF0dGFjayBjb3VudGVybWVhc3VyZS4KLQotLSBJc3N1ZSAjMTM4NDc6IHRpbWUubG9jYWx0aW1lKCkgYW5kIHRpbWUuZ210aW1lKCkgbm93IHJhaXNlIGFuIE9TRXJyb3IgaW5zdGVhZAotICBvZiBWYWx1ZUVycm9yIG9uIGZhaWx1cmUuIHRpbWUuY3RpbWUoKSBhbmQgdGltZS5hc2N0aW1lKCkgbm93IHJhaXNlcyBhbgotICBPU0Vycm9yIGlmIGxvY2FsdGltZSgpIGZhaWxlZC4gdGltZS5jbG9jaygpIG5vdyByYWlzZXMgYSBSdW50aW1lRXJyb3IgaWYgdGhlCi0gIHByb2Nlc3NvciB0aW1lIHVzZWQgaXMgbm90IGF2YWlsYWJsZSBvciBpdHMgdmFsdWUgY2Fubm90IGJlIHJlcHJlc2VudGVkCi0KLS0gSXNzdWUgIzEzNzcyOiBJbiBvcy5zeW1saW5rKCkgdW5kZXIgV2luZG93cywgZG8gbm90IHRyeSB0byBndWVzcyB0aGUgbGluawotICB0YXJnZXQncyB0eXBlIChmaWxlIG9yIGRpcmVjdG9yeSkuICBUaGUgZGV0ZWN0aW9uIHdhcyBidWdneSBhbmQgbWFkZSB0aGUKLSAgY2FsbCBub24tYXRvbWljICh0aGVyZWZvcmUgcHJvbmUgdG8gcmFjZSBjb25kaXRpb25zKS4KLQotLSBJc3N1ZSAjNjYzMTogRGlzYWxsb3cgcmVsYXRpdmUgZmlsZSBwYXRocyBpbiB1cmxsaWIgdXJsb3BlbiBtZXRob2RzLgotCi0tIElzc3VlICMxMzcyMjogQXZvaWQgc2lsZW5jaW5nIEltcG9ydEVycm9ycyB3aGVuIGluaXRpYWxpemluZyB0aGUgY29kZWNzCi0gIHJlZ2lzdHJ5LgotCi0tIElzc3VlICMxMzc4MTogRml4IEd6aXBGaWxlIGJ1ZyB0aGF0IGNhdXNlZCBhbiBleGNlcHRpb24gdG8gYmUgcmFpc2VkIHdoZW4KLSAgb3BlbmluZyBmb3Igd3JpdGluZyB1c2luZyBhIGZpbGVvYmogcmV0dXJuZWQgYnkgb3MuZmRvcGVuKCkuCi0KLS0gSXNzdWUgIzEzODAzOiBVbmRlciBTb2xhcmlzLCBkaXN0dXRpbHMgZG9lc24ndCBpbmNsdWRlIGJpdG5lc3MKLSAgaW4gdGhlIGRpcmVjdG9yeSBuYW1lLgotCi0tIElzc3VlICMxMDI3ODogQWRkIHRpbWUud2FsbGNsb2NrKCkgZnVuY3Rpb24sIG1vbm90b25pYyBjbG9jay4KLQotLSBJc3N1ZSAjMTM4MDk6IEZpeCByZWdyZXNzaW9uIHdoZXJlIGJ6MiBtb2R1bGUgd291bGRuJ3Qgd29yayB3aGVuIHRocmVhZHMgYXJlCi0gIGRpc2FibGVkLiBPcmlnaW5hbCBwYXRjaCBieSBBbWF1cnkgRm9yZ2VvdCBkJ0FyYy4KLQotLSBJc3N1ZSAjMTM1ODk6IEZpeCBzb21lIHNlcmlhbGl6YXRpb24gcHJpbWl0aXZlcyBpbiB0aGUgYWlmYyBtb2R1bGUuCi0gIFBhdGNoIGJ5IE9sZWcgUGxha2hvdG55dWsuCi0KLS0gSXNzdWUgIzEzNjQyOiBVbnF1b3RlIGJlZm9yZSBiNjRlbmNvZGluZyB1c2VyOnBhc3N3b3JkIGR1cmluZyBCYXNpYwotICBBdXRoZW50aWNhdGlvbi4gUGF0Y2ggY29udHJpYnV0ZWQgYnkgSm9vbmFzIEt1b3JpbGVodG8uCi0KLS0gSXNzdWUgIzEyMzY0OiBGaXggYSBoYW5nIGluIGNvbmN1cnJlbnQuZnV0dXJlcy5Qcm9jZXNzUG9vbEV4ZWN1dG9yLgotICBUaGUgaGFuZyB3b3VsZCBvY2N1ciB3aGVuIHJldHJpZXZpbmcgdGhlIHJlc3VsdCBvZiBhIHNjaGVkdWxlZCBmdXR1cmUgYWZ0ZXIKLSAgdGhlIGV4ZWN1dG9yIGhhZCBiZWVuIHNodXQgZG93bi4KLQotLSBJc3N1ZSAjMTM1MDI6IHRocmVhZGluZzogRml4IGEgcmFjZSBjb25kaXRpb24gaW4gRXZlbnQud2FpdCgpIHRoYXQgbWFkZSBpdAotICByZXR1cm4gRmFsc2Ugd2hlbiB0aGUgZXZlbnQgd2FzIHNldCBhbmQgY2xlYXJlZCByaWdodCBhZnRlci4KLQotLSBJc3N1ZSAjOTk5MzogV2hlbiB0aGUgc291cmNlIGFuZCBkZXN0aW5hdGlvbiBhcmUgb24gZGlmZmVyZW50IGZpbGVzeXN0ZW1zLAotICBhbmQgdGhlIHNvdXJjZSBpcyBhIHN5bWxpbmssIHNodXRpbC5tb3ZlKCkgbm93IHJlY3JlYXRlcyBhIHN5bWxpbmsgb24gdGhlCi0gIGRlc3RpbmF0aW9uIGluc3RlYWQgb2YgY29weWluZyB0aGUgZmlsZSBjb250ZW50cy4gIFBhdGNoIGJ5IEpvbmF0aGFuIE5pZWhvZgotICBhbmQgSHluZWsgU2NobGF3YWNrLgotCi0tIElzc3VlICMxMjkyNjogRml4IGEgYnVnIGluIHRhcmZpbGUncyBsaW5rIGV4dHJhY3Rpb24uCi0KLS0gSXNzdWUgIzEzNjk2OiBGaXggdGhlIDMwMiBSZWxhdGl2ZSBVUkwgUmVkaXJlY3Rpb24gcHJvYmxlbS4KLQotLSBJc3N1ZSAjMTM2MzY6IFdlYWsgY2lwaGVycyBhcmUgbm93IGRpc2FibGVkIGJ5IGRlZmF1bHQgaW4gdGhlIHNzbCBtb2R1bGUKLSAgKGV4Y2VwdCB3aGVuIFNTTHYyIGlzIGV4cGxpY2l0bHkgYXNrZWQgZm9yKS4KLQotLSBJc3N1ZSAjMTI3MTU6IEFkZCBhbiBvcHRpb25hbCBzeW1saW5rcyBhcmd1bWVudCB0byBzaHV0aWwgZnVuY3Rpb25zCi0gIChjb3B5ZmlsZSwgY29weW1vZGUsIGNvcHlzdGF0LCBjb3B5LCBjb3B5MikuICBXaGVuIHRoYXQgcGFyYW1ldGVyIGlzCi0gIHRydWUsIHN5bWxpbmtzIGFyZW4ndCBkZXJlZmVyZW5jZWQgYW5kIHRoZSBvcGVyYXRpb24gaW5zdGVhZCBhY3RzIG9uIHRoZQotICBzeW1saW5rIGl0c2VsZiAob3IgY3JlYXRlcyBvbmUsIGlmIHJlbGV2YW50KS4gIFBhdGNoIGJ5IEh5bmVrIFNjaGxhd2Fjay4KLQotLSBBZGQgYSBmbGFncyBwYXJhbWV0ZXIgdG8gc2VsZWN0LmVwb2xsLgotCi0tIElzc3VlICMxMzYyNjogQWRkIHN1cHBvcnQgZm9yIFNTTCBEaWZmaWUtSGVsbG1hbiBrZXkgZXhjaGFuZ2UsIHRocm91Z2ggdGhlCi0gIFNTTENvbnRleHQubG9hZF9kaF9wYXJhbXMoKSBtZXRob2QgYW5kIHRoZSBzc2wuT1BfU0lOR0xFX0RIX1VTRSBvcHRpb24uCi0KLS0gSXNzdWUgIzExMDA2OiBEb24ndCBpc3N1ZSBsb3cgbGV2ZWwgd2FybmluZyBpbiBzdWJwcm9jZXNzIHdoZW4gcGlwZTIoKSBmYWlscy4KLQotLSBJc3N1ZSAjMTM2MjA6IFN1cHBvcnQgZm9yIENocm9tZSBicm93c2VyIGluIHdlYmJyb3dzZXIuICBQYXRjaCBjb250cmlidXRlZAotICBieSBBcm5hdWQgQ2FsbWV0dGVzLgotCi0tIElzc3VlICMxMTgyOTogRml4IGNvZGUgZXhlY3V0aW9uIGhvbGVzIGluIGluc3BlY3QuZ2V0YXR0cl9zdGF0aWMgZm9yCi0gIG1ldGFjbGFzc2VzIHdpdGggbWV0YWNsYXNzZXMuIFBhdGNoIGJ5IEFuZHJlYXMgU3TDvGhyay4KLQotLSBJc3N1ZSAjMTI3MDg6IEFkZCBzdGFybWFwKCkgYW5kIHN0YXJtYXBfYXN5bmMoKSBtZXRob2RzIChzaW1pbGFyIHRvCi0gIGl0ZXJ0b29scy5zdGFybWFwKCkpIHRvIG11bHRpcHJvY2Vzc2luZy5Qb29sLiAgUGF0Y2ggYnkgSHluZWsgU2NobGF3YWNrLgotCi0tIElzc3VlICMxNzg1OiBGaXggaW5zcGVjdCBhbmQgcHlkb2Mgd2l0aCBtaXNiZWhhdmluZyBkZXNjcmlwdG9ycy4KLQotLSBJc3N1ZSAjMTM2Mzc6ICJhMmIiIGZ1bmN0aW9ucyBpbiB0aGUgYmluYXNjaWkgbW9kdWxlIG5vdyBhY2NlcHQgQVNDSUktb25seQotICB1bmljb2RlIHN0cmluZ3MuCi0KLS0gSXNzdWUgIzEzNjM0OiBBZGQgc3VwcG9ydCBmb3IgcXVlcnlpbmcgYW5kIGRpc2FibGluZyBTU0wgY29tcHJlc3Npb24uCi0KLS0gSXNzdWUgIzEzNjI3OiBBZGQgc3VwcG9ydCBmb3IgU1NMIEVsbGlwdGljIEN1cnZlLWJhc2VkIERpZmZpZS1IZWxsbWFuCi0gIGtleSBleGNoYW5nZSwgdGhyb3VnaCB0aGUgU1NMQ29udGV4dC5zZXRfZWNkaF9jdXJ2ZSgpIG1ldGhvZCBhbmQgdGhlCi0gIHNzbC5PUF9TSU5HTEVfRUNESF9VU0Ugb3B0aW9uLgotCi0tIElzc3VlICMxMzYzNTogQWRkIHNzbC5PUF9DSVBIRVJfU0VSVkVSX1BSRUZFUkVOQ0UsIHNvIHRoYXQgU1NMIHNlcnZlcnMKLSAgY2hvb3NlIHRoZSBjaXBoZXIgYmFzZWQgb24gdGhlaXIgb3duIHByZWZlcmVuY2VzLCByYXRoZXIgdGhhbiBvbiB0aGUKLSAgY2xpZW50J3MuCi0KLS0gSXNzdWUgIzExODEzOiBGaXggaW5zcGVjdC5nZXRhdHRyX3N0YXRpYyBmb3IgbW9kdWxlcy4gUGF0Y2ggYnkgQW5kcmVhcwotICBTdMO8aHJrLgotCi0tIElzc3VlICM3NTAyOiBGaXggZXF1YWxpdHkgY29tcGFyaXNvbiBmb3IgRG9jVGVzdENhc2UgaW5zdGFuY2VzLiAgUGF0Y2ggYnkKLSAgQ8OpZHJpYyBLcmllci4KLQotLSBJc3N1ZSAjMTE4NzA6IHRocmVhZGluZzogUHJvcGVybHkgcmVpbml0aWFsaXplIHRocmVhZHMgaW50ZXJuYWwgbG9ja3MgYW5kCi0gIGNvbmRpdGlvbiB2YXJpYWJsZXMgdG8gYXZvaWQgZGVhZGxvY2tzIGluIGNoaWxkIHByb2Nlc3Nlcy4KLQotLSBJc3N1ZSAjODAzNTogdXJsbGliOiBGaXggYSBidWcgd2hlcmUgdGhlIGNsaWVudCBjb3VsZCByZW1haW4gc3R1Y2sgYWZ0ZXIgYQotICByZWRpcmVjdGlvbiBvciBhbiBlcnJvci4KLQotLSBJc3N1ZSAjMTM1NjA6IG9zLnN0cmVycm9yKCkgbm93IHVzZXMgdGhlIGN1cnJlbnQgbG9jYWxlIGVuY29kaW5nIGluc3RlYWQgb2YKLSAgVVRGLTguCi0KLS0gSXNzdWUgIzgzNzM6IFRoZSBmaWxlc3lzdGVtIHBhdGggb2YgQUZfVU5JWCBzb2NrZXRzIG5vdyB1c2VzIHRoZSBmaWxlc3lzdGVtCi0gIGVuY29kaW5nIGFuZCB0aGUgc3Vycm9nYXRlZXNjYXBlIGVycm9yIGhhbmRsZXIsIHJhdGhlciB0aGFuIFVURi04LiAgUGF0Y2gKLSAgYnkgRGF2aWQgV2F0c29uLgotCi0tIElzc3VlICMxMDM1MDogUmVhZCBhbmQgc2F2ZSBlcnJubyBiZWZvcmUgY2FsbGluZyBhIGZ1bmN0aW9uIHdoaWNoIG1pZ2h0Ci0gIG92ZXJ3cml0ZSBpdC4gIE9yaWdpbmFsIHBhdGNoIGJ5IEhhbGx2YXJkIEIgRnVydXNldGguCi0KLS0gSXNzdWUgIzExNjEwOiBJbnRyb2R1Y2UgYSBtb3JlIGdlbmVyYWwgd2F5IHRvIGRlY2xhcmUgYWJzdHJhY3QgcHJvcGVydGllcy4KLQotLSBJc3N1ZSAjMTM1OTE6IEEgYnVnIGluIGltcG9ydGxpYiBoYXMgYmVlbiBmaXhlZCB0aGF0IGNhdXNlZCBpbXBvcnRfbW9kdWxlCi0gIHRvIGxvYWQgYSBtb2R1bGUgdHdpY2UuCi0KLS0gSXNzdWUgIzEzNDQ5IHNjaGVkLnNjaGVkdWxlci5ydW4oKSBtZXRob2QgaGFzIGEgbmV3ICJibG9ja2luZyIgcGFyYW1ldGVyIHdoaWNoCi0gIHdoZW4gc2V0IHRvIEZhbHNlIG1ha2VzIHJ1bigpIGV4ZWN1dGUgdGhlIHNjaGVkdWxlZCBldmVudHMgZHVlIHRvIGV4cGlyZQotICBzb29uZXN0IChpZiBhbnkpIGFuZCB0aGVuIHJldHVybi4gIFBhdGNoIGJ5IEdpYW1wYW9sbyBSb2RvbMOgLgotCi0tIElzc3VlICM4Njg0IHNjaGVkLnNjaGVkdWxlciBjbGFzcyBjYW4gYmUgc2FmZWx5IHVzZWQgaW4gbXVsdGktdGhyZWFkZWQKLSAgZW52aXJvbm1lbnRzLiAgUGF0Y2ggYnkgSm9zaWFoIENhcmxzb24gYW5kIEdpYW1wYW9sbyBSb2RvbMOgLgotCi0tIEFsaWFzIHJlc291cmNlLmVycm9yIHRvIE9TRXJyb3IgYWxhIFBFUCAzMTUxLgotCi0tIElzc3VlICM1Njg5OiBBZGQgc3VwcG9ydCBmb3IgbHptYSBjb21wcmVzc2lvbiB0byB0aGUgdGFyZmlsZSBtb2R1bGUuCi0KLS0gSXNzdWUgIzEzMjQ4OiBUdXJuIDMuMidzIFBlbmRpbmdEZXByZWNhdGlvbldhcm5pbmcgaW50byAzLjMncwotICBEZXByZWNhdGlvbldhcm5pbmcuICBJdCBjb3ZlcnMgJ2NnaS5lc2NhcGUnLCAnaW1wb3J0bGliLmFiYy5QeUxvYWRlcicsCi0gICdpbXBvcnRsaWIuYWJjLlB5UHljTG9hZGVyJywgJ25udHBsaWIuTk5UUC54Z3RpdGxlJywgJ25udHBsaWIuTk5UUC54cGF0aCcsCi0gIGFuZCBwcml2YXRlIGF0dHJpYnV0ZXMgb2YgJ3NtdHBkLlNNVFBDaGFubmVsJy4KLQotLSBJc3N1ZSAjNTkwNSwgSXNzdWUgIzEzNTYwOiB0aW1lLnN0cmZ0aW1lKCkgaXMgbm93IHVzaW5nIHRoZSBjdXJyZW50IGxvY2FsZQotICBlbmNvZGluZywgaW5zdGVhZCBvZiBVVEYtOCwgaWYgdGhlIHdjc2Z0aW1lKCkgZnVuY3Rpb24gaXMgbm90IGF2YWlsYWJsZS4KLQotLSBJc3N1ZSAjMTM0NjQ6IEFkZCBhIHJlYWRpbnRvKCkgbWV0aG9kIHRvIGh0dHAuY2xpZW50LkhUVFBSZXNwb25zZS4gIFBhdGNoCi0gIGJ5IEpvbiBLdWhuLgotCi0tIHRhcmZpbGUucHk6IENvcnJlY3RseSBkZXRlY3QgYnppcDIgY29tcHJlc3NlZCBzdHJlYW1zIHdpdGggYmxvY2tzaXplcwotICBvdGhlciB0aGFuIDkwMGsuCi0KLS0gSXNzdWUgIzEzNDM5OiBGaXggbWFueSBlcnJvcnMgaW4gdHVydGxlIGRvY3N0cmluZ3MuCi0KLS0gSXNzdWUgIzY3MTU6IEFkZCBhIG1vZHVsZSAnbHptYScgZm9yIGNvbXByZXNzaW9uIHVzaW5nIHRoZSBMWk1BIGFsZ29yaXRobS4KLSAgVGhhbmtzIHRvIFBlciDDmHl2aW5kIEthcmxzZW4gZm9yIHRoZSBpbml0aWFsIGltcGxlbWVudGF0aW9uLgotCi0tIElzc3VlICMxMzQ4NzogTWFrZSBpbnNwZWN0LmdldG1vZHVsZSByb2J1c3QgYWdhaW5zdCBjaGFuZ2VzIGRvbmUgdG8KLSAgc3lzLm1vZHVsZXMgd2hpbGUgaXQgaXMgaXRlcmF0aW5nIG92ZXIgaXQuCi0KLS0gSXNzdWUgIzEyNjE4OiBGaXggYSBidWcgdGhhdCBwcmV2ZW50ZWQgcHlfY29tcGlsZSBmcm9tIGNyZWF0aW5nIGJ5dGUKLSAgY29tcGlsZWQgZmlsZXMgaW4gdGhlIGN1cnJlbnQgZGlyZWN0b3J5LiAgSW5pdGlhbCBwYXRjaCBieSBTam9lcmQgZGUgVnJpZXMuCi0KLS0gSXNzdWUgIzEzNDQ0OiBXaGVuIHN0ZG91dCBoYXMgYmVlbiBjbG9zZWQgZXhwbGljaXRseSwgd2Ugc2hvdWxkIG5vdCBhdHRlbXB0Ci0gIHRvIGZsdXNoIGl0IGF0IHNodXRkb3duIGFuZCBwcmludCBhbiBlcnJvci4KLQotLSBJc3N1ZSAjMTI1Njc6IFRoZSBjdXJzZXMgbW9kdWxlIHVzZXMgVW5pY29kZSBmdW5jdGlvbnMgZm9yIFVuaWNvZGUgYXJndW1lbnRzCi0gIHdoZW4gaXQgaXMgbGlua2VkIHRvIHRoZSBuY3Vyc2VzIGxpYnJhcnkuIEl0IGVuY29kZXMgYWxzbyBVbmljb2RlIHN0cmluZ3MgdG8KLSAgdGhlIGxvY2FsZSBlbmNvZGluZyBpbnN0ZWFkIG9mIFVURi04LgotCi0tIElzc3VlICMxMjg1NjogRW5zdXJlIGNoaWxkIHByb2Nlc3NlcyBkbyBub3QgaW5oZXJpdCB0aGUgcGFyZW50J3MgcmFuZG9tCi0gIHNlZWQgZm9yIGZpbGVuYW1lIGdlbmVyYXRpb24gaW4gdGhlIHRlbXBmaWxlIG1vZHVsZS4gIFBhdGNoIGJ5IEJyaWFuCi0gIEhhcnJpbmcuCi0KLS0gSXNzdWUgIzk5NTc6IFNwb29sZWRUZW1wb3JhcnlGaWxlLnRydW5jYXRlKCkgbm93IGFjY2VwdHMgYW4gb3B0aW9uYWwgc2l6ZQotICBwYXJhbWV0ZXIsIGFzIG90aGVyIGZpbGUtbGlrZSBvYmplY3RzLiAgUGF0Y2ggYnkgUnlhbiBLZWxseS4KLQotLSBJc3N1ZSAjMTM0NTg6IEZpeCBhIG1lbW9yeSBsZWFrIGluIHRoZSBzc2wgbW9kdWxlIHdoZW4gZGVjb2RpbmcgYQotICBjZXJ0aWZpY2F0ZSB3aXRoIGEgc3ViamVjdEFsdE5hbWUuICBQYXRjaCBieSBSb2JlcnQgWGlhby4KLQotLSBJc3N1ZSAjMTM0MTU6IG9zLnVuc2V0ZW52KCkgZG9lc24ndCBpZ25vcmUgZXJyb3JzIGFueW1vcmUuCi0KLS0gSXNzdWUgIzEzMjQ1OiBzY2hlZC5zY2hlZHVsZXIgY2xhc3MgY29uc3RydWN0b3IncyB0aW1lZnVuYyBhbmQKLSAgZGVsYXlmdW5jdCBwYXJhbWV0ZXJzIGFyZSBub3cgb3B0aW9uYWwuCi0gIHNjaGVkdWxlci5lbnRlciBhbmQgc2NoZWR1bGVyLmVudGVyYWJzIG1ldGhvZHMgZ2FpbmVkIGEgbmV3IGt3YXJncyBwYXJhbWV0ZXIuCi0gIFBhdGNoIGNvbnRyaWJ1dGVkIGJ5IENocmlzIENsYXJrLgotCi0tIElzc3VlICMxMjMyODogVW5kZXIgV2luZG93cywgcmVmYWN0b3IgaGFuZGxpbmcgb2YgQ3RybC1DIGV2ZW50cyBhbmQKLSAgbWFrZSBfbXVsdGlwcm9jZXNzaW5nLndpbjMyLldhaXRGb3JNdWx0aXBsZU9iamVjdHMgaW50ZXJydXB0aWJsZSB3aGVuCi0gIHRoZSB3YWl0X2ZsYWcgcGFyYW1ldGVyIGlzIGZhbHNlLiAgUGF0Y2ggYnkgc2J0LgotCi0tIElzc3VlICMxMzMyMjogRml4IEJ1ZmZlcmVkV3JpdGVyLndyaXRlKCkgdG8gZW5zdXJlIHRoYXQgQmxvY2tpbmdJT0Vycm9yIGlzCi0gIHJhaXNlZCB3aGVuIHRoZSB3cmFwcGVkIHJhdyBmaWxlIGlzIG5vbi1ibG9ja2luZyBhbmQgdGhlIHdyaXRlIHdvdWxkIGJsb2NrLgotICBQcmV2aW91cyBjb2RlIGFzc3VtZWQgdGhhdCB0aGUgcmF3IHdyaXRlKCkgd291bGQgcmFpc2UgQmxvY2tpbmdJT0Vycm9yLCBidXQKLSAgUmF3SU9CYXNlLndyaXRlKCkgaXMgZGVmaW5lZCB0byByZXR1cm5lZCBOb25lIHdoZW4gdGhlIGNhbGwgd291bGQgYmxvY2suCi0gIFBhdGNoIGJ5IHNidC4KLQotLSBJc3N1ZSAjMTMzNTg6IEhUTUxQYXJzZXIgbm93IGNhbGxzIGhhbmRsZV9kYXRhIG9ubHkgb25jZSBmb3IgZWFjaCBDREFUQS4KLQotLSBJc3N1ZSAjNDE0NzogbWluaWRvbSdzIHRvcHJldHR5eG1sIG5vIGxvbmdlciBhZGRzIHdoaXRlc3BhY2UgYXJvdW5kIGEgdGV4dAotICBub2RlIHdoZW4gaXQgaXMgdGhlIG9ubHkgY2hpbGQgb2YgYW4gZWxlbWVudC4gIEluaXRpYWwgcGF0Y2ggYnkgRGFuCi0gIEtlbmlnc2JlcmcuCi0KLS0gSXNzdWUgIzEzMzc0OiBUaGUgV2luZG93cyBieXRlcyBBUEkgaGFzIGJlZW4gZGVwcmVjYXRlZCBpbiB0aGUgb3MgbW9kdWxlLiBVc2UKLSAgVW5pY29kZSBmaWxlbmFtZXMgaW5zdGVhZCBvZiBieXRlcyBmaWxlbmFtZXMgdG8gbm90IGRlcGVuZCBvbiB0aGUgQU5TSSBjb2RlCi0gIHBhZ2UgYW55bW9yZSBhbmQgdG8gc3VwcG9ydCBhbnkgZmlsZW5hbWUuCi0KLS0gSXNzdWUgIzEzMjk3OiBVc2UgYnl0ZXMgdHlwZSB0byBzZW5kIGFuZCByZWNlaXZlIGJpbmFyeSBkYXRhIHRocm91Z2ggWE1MUlBDLgotCi0tIElzc3VlICM2Mzk3OiBTdXBwb3J0ICIvZGV2L3BvbGwiIHBvbGxpbmcgb2JqZWN0cyBpbiBzZWxlY3QgbW9kdWxlLAotICB1bmRlciBTb2xhcmlzICYgZGVyaXZhdGl2ZXMuCi0KLS0gSXNzdWVzICMxNzQ1NzYxLCAjNzU1NjcwLCAjMTMzNTcsICMxMjYyOSwgIzEyMDAzMTM6IEhUTUxQYXJzZXIgbm93IGNvcnJlY3RseQotICBoYW5kbGVzIG5vbi12YWxpZCBhdHRyaWJ1dGVzLCBpbmNsdWRpbmcgYWRqYWNlbnQgYW5kIHVucXVvdGVkIGF0dHJpYnV0ZXMuCi0KLS0gSXNzdWUgIzEzMTkzOiBGaXggZGlzdHV0aWxzLmZpbGVsaXN0LkZpbGVMaXN0IGFuZCBwYWNrYWdpbmcubWFuaWZlc3QuTWFuaWZlc3QKLSAgdW5kZXIgV2luZG93cy4KLQotLSBJc3N1ZSAjMTMzODQ6IFJlbW92ZSB1bm5lY2Vzc2FyeSBfX2Z1dHVyZV9fIGltcG9ydCBpbiBMaWIvcmFuZG9tLnB5Ci0KLS0gSXNzdWUgIzEzMTQ5OiBTcGVlZCB1cCBhcHBlbmQtb25seSBTdHJpbmdJTyBvYmplY3RzLgotCi0tIElzc3VlICMxMzM3MzogbXVsdGlwcm9jZXNzaW5nLlF1ZXVlLmdldCgpIGNvdWxkIHNvbWV0aW1lcyBibG9jayBpbmRlZmluaXRlbHkKLSAgd2hlbiBjYWxsZWQgd2l0aCBhIHRpbWVvdXQuICBQYXRjaCBieSBBcm5hdWQgWXNtYWwuCi0KLS0gSXNzdWUgIzEzMjU0OiBGaXggTWFpbGRpciBpbml0aWFsaXphdGlvbiBzbyB0aGF0IG1haWxkaXIgY29udGVudHMKLSAgYXJlIHJlYWQgY29ycmVjdGx5LgotCi0tIElzc3VlICMzMDY3OiBsb2NhbGUuc2V0bG9jYWxlKCkgbm93IHJhaXNlcyBUeXBlRXJyb3IgaWYgdGhlIHNlY29uZAotICBhcmd1bWVudCBpcyBhbiBpbnZhbGlkIGl0ZXJhYmxlLiBJdHMgZG9jdW1lbnRhdGlvbiBhbmQgZG9jc3RyaW5nCi0gIHdlcmUgYWxzbyB1cGRhdGVkLiBJbml0aWFsIHBhdGNoIGJ5IEp5cmtpIFB1bGxpYWluZW4uCi0KLS0gSXNzdWUgIzEzMTQwOiBGaXggdGhlIGRhZW1vbl90aHJlYWRzIGF0dHJpYnV0ZSBvZiBUaHJlYWRpbmdNaXhJbi4KLQotLSBJc3N1ZSAjMTMzMzk6IEZpeCBjb21waWxlIGVycm9yIGluIHBvc2l4bW9kdWxlLmMgZHVlIHRvIG1pc3Npbmcgc2VtaWNvbG9uLgotICBUaGFua3MgdG8gUm9iZXJ0IFhpYW8uCi0KLS0gQnl0ZSBjb21waWxhdGlvbiBpbiBwYWNrYWdpbmcgaXMgbm93IGlzb2xhdGVkIGZyb20gdGhlIGNhbGxpbmcgUHl0aG9uIC1CIG9yCi0gIC1PIG9wdGlvbnMsIGluc3RlYWQgb2YgYmVpbmcgZGlzYWxsb3dlZCB1bmRlciAtQiBvciBidWdneSB1bmRlciAtTy4KLQotLSBJc3N1ZSAjMTA1NzA6IGN1cnNlcy5wdXRwKCkgYW5kIGN1cnNlcy50cGFybSgpIGFyZSBub3cgZXhwZWN0aW5nIGEgYnl0ZQotICBzdHJpbmcsIGluc3RlYWQgb2YgYSBVbmljb2RlIHN0cmluZy4KLQotLSBJc3N1ZSAjMTMyOTU6IGh0dHAuc2VydmVyIG5vdyBwcm9kdWNlcyB2YWxpZCBIVE1MIDQuMDEgc3RyaWN0LgotCi0tIElzc3VlICMyODkyOiBwcmVzZXJ2ZSBpdGVycGFyc2UgZXZlbnRzIGluIGNhc2Ugb2YgU3ludGF4RXJyb3IuCi0KLS0gSXNzdWUgIzEzMjg3OiB1cmxsaWIucmVxdWVzdCBhbmQgdXJsbGliLmVycm9yIG5vdyBjb250YWlucyBhbiBfX2FsbF9fCi0gIGF0dHJpYnV0ZSB0byBleHBvc2Ugb25seSByZWxldmFudCBjbGFzc2VzIGFuZCBmdW5jdGlvbnMuICBQYXRjaCBieSBGbG9yZW50Ci0gIFhpY2x1bmEuCi0KLS0gSXNzdWUgIzY3MDY2NDogRml4IEhUTUxQYXJzZXIgdG8gY29ycmVjdGx5IGhhbmRsZSB0aGUgY29udGVudCBvZgotICBgYDxzY3JpcHQ+Li4uPC9zY3JpcHQ+YGAgYW5kIGBgPHN0eWxlPi4uLjwvc3R5bGU+YGAuCi0KLS0gSXNzdWUgIzEwODE3OiBGaXggdXJscmV0cmlldmUgZnVuY3Rpb24gdG8gcmFpc2UgQ29udGVudFRvb1Nob3J0RXJyb3IgZXZlbgotICB3aGVuIHJlcG9ydGhvb2sgaXMgTm9uZS4gUGF0Y2ggYnkgSnlya2kgUHVsbGlhaW5lbi4KLQotLSBGaXggdGhlIHhtbHJwYy5jbGllbnQgdXNlciBhZ2VudCB0byByZXR1cm4gc29tZXRoaW5nIHNpbWlsYXIgdG8KLSAgdXJsbGliLnJlcXVlc3QgdXNlciBhZ2VudDogIlB5dGhvbi14bWxycGMvMy4zIi4KLQotLSBJc3N1ZSAjMTMyOTM6IEJldHRlciBlcnJvciBtZXNzYWdlIHdoZW4gdHJ5aW5nIHRvIG1hcnNoYWwgYnl0ZXMgdXNpbmcKLSAgeG1scnBjLmNsaWVudC4KLQotLSBJc3N1ZSAjMTMyOTE6IE5hbWVFcnJvciBpbiB4bWxycGMgcGFja2FnZS4KLQotLSBJc3N1ZSAjMTMyNTg6IFVzZSBjYWxsYWJsZSgpIGJ1aWx0LWluIGluIHRoZSBzdGFuZGFyZCBsaWJyYXJ5LgotCi0tIElzc3VlICMxMzI3MzogZml4IGEgYnVnIHRoYXQgcHJldmVudGVkIEhUTUxQYXJzZXIgdG8gcHJvcGVybHkgZGV0ZWN0IHNvbWUKLSAgdGFncyB3aGVuIHN0cmljdD1GYWxzZS4KLQotLSBJc3N1ZSAjMTExODM6IEFkZCBmaW5lci1ncmFpbmVkIGV4Y2VwdGlvbnMgdG8gdGhlIHNzbCBtb2R1bGUsIHNvIHRoYXQKLSAgeW91IGRvbid0IGhhdmUgdG8gaW5zcGVjdCB0aGUgZXhjZXB0aW9uJ3MgYXR0cmlidXRlcyBpbiB0aGUgY29tbW9uIGNhc2UuCi0KLS0gSXNzdWUgIzEzMjE2OiBBZGQgY3A2NTAwMSBjb2RlYywgdGhlIFdpbmRvd3MgVVRGLTggKENQX1VURjgpLgotCi0tIElzc3VlICMxMzIyNjogQWRkIFJUTERfeHh4IGNvbnN0YW50cyB0byB0aGUgb3MgbW9kdWxlLiBUaGVzZSBjb25zdGFudHMgY2FuIGJlCi0gIHVzZWQgd2l0aCBzeXMuc2V0ZGxvcGVuZmxhZ3MoKS4KLQotLSBJc3N1ZSAjMTAyNzg6IEFkZCBjbG9ja19nZXRyZXMoKSwgY2xvY2tfZ2V0dGltZSgpIGFuZCBDTE9DS194eHggY29uc3RhbnRzIHRvCi0gIHRoZSB0aW1lIG1vZHVsZS4gdGltZS5jbG9ja19nZXR0aW1lKHRpbWUuQ0xPQ0tfTU9OT1RPTklDKSBwcm92aWRlcyBhCi0gIG1vbm90b25pYyBjbG9jawotCi0tIElzc3VlICMxMDMzMjogbXVsdGlwcm9jZXNzaW5nOiBmaXggYSByYWNlIGNvbmRpdGlvbiB3aGVuIGEgUG9vbCBpcyBjbG9zZWQKLSAgYmVmb3JlIGFsbCB0YXNrcyBoYXZlIGNvbXBsZXRlZC4KLQotLSBJc3N1ZSAjMTMyNTU6IHdyb25nIGRvY3N0cmluZ3MgaW4gYXJyYXkgbW9kdWxlLgotCi0tIElzc3VlICM4NTQwOiBSZW1vdmUgZGVwcmVjYXRlZCBDb250ZXh0Ll9jbGFtcCBhdHRyaWJ1dGUgaW4gRGVjaW1hbCBtb2R1bGUuCi0KLS0gSXNzdWUgIzEzMjM1OiBBZGRlZCBEZXByZWNhdGlvbldhcm5pbmcgdG8gbG9nZ2luZy53YXJuKCkgbWV0aG9kIGFuZCBmdW5jdGlvbi4KLQotLSBJc3N1ZSAjOTE2ODogbm93IHNtdHBkIGlzIGFibGUgdG8gYmluZCBwcml2aWxlZ2VkIHBvcnQuCi0KLS0gSXNzdWUgIzEyNTI5OiBmaXggY2dpLnBhcnNlX2hlYWRlciBpc3N1ZSBvbiBzdHJpbmdzIHdpdGggZG91YmxlLXF1b3RlcyBhbmQKLSAgc2VtaWNvbG9ucyB0b2dldGhlci4gUGF0Y2ggYnkgQmVuIERhcm5lbGwgYW5kIFBldHJpIExlaHRpbmVuLgotCi0tIElzc3VlICMxMzIyNzogZnVuY3Rvb2xzLmxydV9jYWNoZSgpIG5vdyBoYXMgYSBvcHRpb24gdG8gZGlzdGluZ3Vpc2gKLSAgY2FsbHMgd2l0aCBkaWZmZXJlbnQgYXJndW1lbnQgdHlwZXMuCi0KLS0gSXNzdWUgIzYwOTA6IHppcGZpbGUgcmFpc2VzIGEgVmFsdWVFcnJvciB3aGVuIGEgZG9jdW1lbnQgd2l0aCBhIHRpbWVzdGFtcAotICBlYXJsaWVyIHRoYW4gMTk4MCBpcyBwcm92aWRlZC4gUGF0Y2ggY29udHJpYnV0ZWQgYnkgUGV0cmkgTGVodGluZW4uCi0KLS0gSXNzdWUgIzEzMTUwOiBzeXNjb25maWcgbm8gbG9uZ2VyIHBhcnNlcyB0aGUgTWFrZWZpbGUgYW5kIGNvbmZpZy5oIGZpbGVzCi0gIHdoZW4gaW1wb3J0ZWQsIGluc3RlYWQgZG9pbmcgaXQgYXQgYnVpbGQgdGltZS4gIFRoaXMgbWFrZXMgaW1wb3J0aW5nCi0gIHN5c2NvbmZpZyBmYXN0ZXIgYW5kIHJlZHVjZXMgUHl0aG9uIHN0YXJ0dXAgdGltZSBieSAyMCUuCi0KLS0gSXNzdWUgIzEyNDQ4OiBzbXRwbGliIG5vdyBmbHVzaGVzIHN0ZG91dCB3aGlsZSBydW5uaW5nIGBgcHl0aG9uIC1tIHNtdHBsaWJgYAotICBpbiBvcmRlciB0byBkaXNwbGF5IHRoZSBwcm9tcHQgY29ycmVjdGx5LgotCi0tIElzc3VlICMxMjQ1NDogVGhlIG1haWxib3ggbW9kdWxlIGlzIG5vdyB1c2luZyBBU0NJSSwgaW5zdGVhZCBvZiB0aGUgbG9jYWxlCi0gIGVuY29kaW5nLCB0byByZWFkIGFuZCB3cml0ZSAubWhfc2VxdWVuY2VzIGZpbGVzLgotCi0tIElzc3VlICMxMzE5NDogemxpYi5jb21wcmVzc29iaigpLmNvcHkoKSBhbmQgemxpYi5kZWNvbXByZXNzb2JqKCkuY29weSgpIGFyZQotICBub3cgYXZhaWxhYmxlIG9uIFdpbmRvd3MuCi0KLS0gSXNzdWUgIzE2NzMwMDc6IHVybGxpYi5yZXF1ZXN0IG5vdyBzdXBwb3J0cyBIRUFEIHJlcXVlc3QgdmlhIG5ldyBtZXRob2QgYXJndW1lbnQuCi0gIFBhdGNoIGNvbnRyaWJ1dGlvbnMgYnkgRGF2aWQgU3RhbmVrLCBQYXRyaWNrIFdlc3RlcmhvZmYgYW5kIEV6aW8gTWVsb3R0aS4KLQotLSBJc3N1ZSAjMTIzODY6IHBhY2thZ2luZyBkb2VzIG5vdCBmYWlsIGFueW1vcmUgd2hlbiB3cml0aW5nIHRoZSBSRVNPVVJDRVMKLSAgZmlsZS4KLQotLSBJc3N1ZSAjMTMxNTg6IEZpeCBkZWNvZGluZyBhbmQgZW5jb2Rpbmcgb2YgR05VIHRhciBzcGVjaWZpYyBiYXNlLTI1NiBudW1iZXIKLSAgZmllbGRzIGluIHRhcmZpbGUuCi0KLS0gSXNzdWUgIzEzMDI1OiBtaW1ldHlwZXMgaXMgbm93IHJlYWRpbmcgTUlNRSB0eXBlcyB1c2luZyB0aGUgVVRGLTggZW5jb2RpbmcsCi0gIGluc3RlYWQgb2YgdGhlIGxvY2FsZSBlbmNvZGluZy4KLQotLSBJc3N1ZSAjMTA2NTM6IE9uIFdpbmRvd3MsIHVzZSBzdHJmdGltZSgpIGluc3RlYWQgb2Ygd2NzZnRpbWUoKSBiZWNhdXNlCi0gIHdjc2Z0aW1lKCkgZG9lc24ndCBmb3JtYXQgdGltZSB6b25lIGNvcnJlY3RseS4KLQotLSBJc3N1ZSAjMTMxNTA6IFRoZSB0b2tlbml6ZSBtb2R1bGUgZG9lc24ndCBjb21waWxlIGxhcmdlIHJlZ3VsYXIgZXhwcmVzc2lvbnMKLSAgYXQgc3RhcnR1cCBhbnltb3JlLgotCi0tIElzc3VlICMxMTE3MTogRml4IGRpc3R1dGlscy5zeXNjb25maWcuZ2V0X21ha2VmaWxlX2ZpbGVuYW1lIHdoZW4gUHl0aG9uIHdhcwotICBjb25maWd1cmVkIHdpdGggZGlmZmVyZW50IHByZWZpeCBhbmQgZXhlYy1wcmVmaXguCi0KLS0gSXNzdWUgIzExMjU0OiBUZWFjaCBkaXN0dXRpbHMgYW5kIHBhY2thZ2luZyB0byBjb21waWxlIC5weWMgYW5kIC5weW8gZmlsZXMgaW4KLSAgUEVQIDMxNDctY29tcGxpYW50IF9fcHljYWNoZV9fIGRpcmVjdG9yaWVzLgotCi0tIElzc3VlICM3MzY3OiBGaXggcGtndXRpbC53YWxrX3BhdGhzIHRvIHNraXAgZGlyZWN0b3JpZXMgd2hvc2UKLSAgY29udGVudHMgY2Fubm90IGJlIHJlYWQuCi0KLS0gSXNzdWUgIzMxNjM6IFRoZSBzdHJ1Y3QgbW9kdWxlIGdldHMgbmV3IGZvcm1hdCBjaGFyYWN0ZXJzICduJyBhbmQgJ04nCi0gIHN1cHBvcnRpbmcgQyBpbnRlZ2VyIHR5cGVzIGBgc3NpemVfdGBgIGFuZCBgYHNpemVfdGBgLCByZXNwZWN0aXZlbHkuCi0KLS0gSXNzdWUgIzEzMDk5OiBGaXggc3FsaXRlMy5DdXJzb3IubGFzdHJvd2lkIHVuZGVyIGEgVHVya2lzaCBsb2NhbGUuCi0gIFJlcG9ydGVkIGFuZCBkaWFnbm9zZWQgYnkgVGhvbWFzIEtsdXl2ZXIuCi0KLS0gSXNzdWUgIzEzMDg3OiBCdWZmZXJlZFJlYWRlci5zZWVrKCkgbm93IGFsd2F5cyByYWlzZXMgVW5zdXBwb3J0ZWRPcGVyYXRpb24KLSAgaWYgdGhlIHVuZGVybHlpbmcgcmF3IHN0cmVhbSBpcyB1bnNlZWthYmxlLCBldmVuIGlmIHRoZSBzZWVrIGNvdWxkIGJlCi0gIHNhdGlzZmllZCB1c2luZyB0aGUgaW50ZXJuYWwgYnVmZmVyLiAgUGF0Y2ggYnkgSm9obiBPJ0Nvbm5vci4KLQotLSBJc3N1ZSAjNzY4OTogQWxsb3cgcGlja2xpbmcgb2YgZHluYW1pY2FsbHkgY3JlYXRlZCBjbGFzc2VzIHdoZW4gdGhlaXIKLSAgbWV0YWNsYXNzIGlzIHJlZ2lzdGVyZWQgd2l0aCBjb3B5cmVnLiAgUGF0Y2ggYnkgTmljb2xhcyBNLiBUaGnDqXJ5IGFuZCBDcmFpZwotICBDaXRyby4KLQotLSBJc3N1ZSAjMTMwMzQ6IFdoZW4gZGVjb2Rpbmcgc29tZSBTU0wgY2VydGlmaWNhdGVzLCB0aGUgc3ViamVjdEFsdE5hbWUKLSAgZXh0ZW5zaW9uIGNvdWxkIGJlIHVucmVwb3J0ZWQuCi0KLS0gSXNzdWUgIzEyMzA2OiBFeHBvc2UgdGhlIHJ1bnRpbWUgdmVyc2lvbiBvZiB0aGUgemxpYiBDIGxpYnJhcnkgYXMgYSBjb25zdGFudCwKLSAgWkxJQl9SVU5USU1FX1ZFUlNJT04sIGluIHRoZSB6bGliIG1vZHVsZS4gUGF0Y2ggYnkgVG9yc3RlbiBMYW5kc2Nob2ZmLgotCi0tIElzc3VlICMxMjk1OTogQWRkIGNvbGxlY3Rpb25zLkNoYWluTWFwIHRvIGNvbGxlY3Rpb25zLl9fYWxsX18uCi0KLS0gSXNzdWUgIzg5MzM6IGRpc3R1dGlscycgUEtHLUlORk8gZmlsZXMgYW5kIHBhY2thZ2luZydzIE1FVEFEQVRBIGZpbGVzIHdpbGwKLSAgbm93IGNvcnJlY3RseSByZXBvcnQgTWV0YWRhdGEtVmVyc2lvbjogMS4xIGluc3RlYWQgb2YgMS4wIGlmIGEgQ2xhc3NpZmllciBvcgotICBEb3dubG9hZC1VUkwgZmllbGQgaXMgcHJlc2VudC4KLQotLSBJc3N1ZSAjMTI1Njc6IEFkZCBjdXJzZXMudW5nZXRfd2NoKCkgZnVuY3Rpb24uIFB1c2ggYSBjaGFyYWN0ZXIgc28gdGhlIG5leHQKLSAgZ2V0X3djaCgpIHdpbGwgcmV0dXJuIGl0LgotCi0tIElzc3VlICM5NTYxOiBkaXN0dXRpbHMgYW5kIHBhY2thZ2luZyBub3cgd3JpdGVzIGVnZy1pbmZvIGZpbGVzIHVzaW5nIFVURi04LAotICBpbnN0ZWFkIG9mIHRoZSBsb2NhbGUgZW5jb2RpbmcuCi0KLS0gSXNzdWUgIzgyODY6IFRoZSBkaXN0dXRpbHMgY29tbWFuZCBzZGlzdCB3aWxsIHByaW50IGEgd2FybmluZyBtZXNzYWdlIGluc3RlYWQKLSAgb2YgY3Jhc2hpbmcgd2hlbiBhbiBpbnZhbGlkIHBhdGggaXMgZ2l2ZW4gaW4gdGhlIG1hbmlmZXN0IHRlbXBsYXRlLgotCi0tIElzc3VlICMxMjg0MTogdGFyZmlsZSB1bm5lY2Vzc2FyaWx5IGNoZWNrZWQgdGhlIGV4aXN0ZW5jZSBvZiBudW1lcmljYWwgdXNlcgotICBhbmQgZ3JvdXAgaWRzIG9uIGV4dHJhY3Rpb24uIElmIG9uZSBvZiB0aGVtIGRpZCBub3QgZXhpc3QgdGhlIHJlc3BlY3RpdmUgaWQKLSAgb2YgdGhlIGN1cnJlbnQgdXNlciAoaS5lLiByb290KSB3YXMgdXNlZCBmb3IgdGhlIGZpbGUgYW5kIG93bmVyc2hpcAotICBpbmZvcm1hdGlvbiB3YXMgbG9zdC4KLQotLSBJc3N1ZSAjMTI4ODg6IEZpeCBhIGJ1ZyBpbiBIVE1MUGFyc2VyLnVuZXNjYXBlIHRoYXQgcHJldmVudGVkIGl0IHRvIGVzY2FwZQotICBtb3JlIHRoYW4gMTI4IGVudGl0aWVzLiAgUGF0Y2ggYnkgUGV0ZXIgT3R0ZW4uCi0KLS0gSXNzdWUgIzEyODc4OiBFeHBvc2UgYSBfX2RpY3RfXyBhdHRyaWJ1dGUgb24gaW8uSU9CYXNlIGFuZCBpdHMgc3ViY2xhc3Nlcy4KLQotLSBJc3N1ZSAjMTI0OTQ6IE9uIGVycm9yLCBjYWxsKCksIGNoZWNrX2NhbGwoKSwgY2hlY2tfb3V0cHV0KCkgYW5kCi0gIGdldHN0YXR1c291dHB1dCgpIGZ1bmN0aW9ucyBvZiB0aGUgc3VicHJvY2VzcyBtb2R1bGUgbm93IGtpbGwgdGhlIHByb2Nlc3MsCi0gIHJlYWQgaXRzIHN0YXR1cyAodG8gYXZvaWQgem9tYmlzKSBhbmQgY2xvc2UgcGlwZXMuCi0KLS0gSXNzdWUgIzEyNzIwOiBFeHBvc2UgbG93LWxldmVsIExpbnV4IGV4dGVuZGVkIGZpbGUgYXR0cmlidXRlIGZ1bmN0aW9ucyBpbiBvcy4KLQotLSBJc3N1ZSAjMTA5NDY6IFRoZSBkaXN0dXRpbHMgY29tbWFuZHMgYmRpc3RfZHVtYiwgYmRpc3Rfd2luaW5zdCBhbmQgYmRpc3RfbXNpCi0gIG5vdyByZXNwZWN0IGEgLS1za2lwLWJ1aWxkIG9wdGlvbiBnaXZlbiB0byBiZGlzdC4gIFRoZSBwYWNrYWdpbmcgY29tbWFuZHMKLSAgd2VyZSBmaXhlZCB0b28uCi0KLS0gSXNzdWUgIzEyODQ3OiBGaXggYSBjcmFzaCB3aXRoIG5lZ2F0aXZlIFBVVCBhbmQgTE9OR19CSU5QVVQgYXJndW1lbnRzIGluCi0gIHRoZSBDIHBpY2tsZSBpbXBsZW1lbnRhdGlvbi4KLQotLSBJc3N1ZSAjMTE1NjQ6IEF2b2lkIGNyYXNoZXMgd2hlbiB0cnlpbmcgdG8gcGlja2xlIGh1Z2Ugb2JqZWN0cyBvciBjb250YWluZXJzCi0gIChtb3JlIHRoYW4gMioqMzEgaXRlbXMpLiAgSW5zdGVhZCwgaW4gbW9zdCBjYXNlcywgYW4gT3ZlcmZsb3dFcnJvciBpcyByYWlzZWQuCi0KLS0gSXNzdWUgIzEyMjg3OiBGaXggYSBzdGFjayBjb3JydXB0aW9uIGluIG9zc2F1ZGlvZGV2IG1vZHVsZSB3aGVuIHRoZSBGRCBpcwotICBncmVhdGVyIHRoYW4gRkRfU0VUU0laRS4KLQotLSBJc3N1ZSAjMTI4Mzk6IEZpeCBjcmFzaCBpbiB6bGliIG1vZHVsZSBkdWUgdG8gdmVyc2lvbiBtaXNtYXRjaC4KLSAgRml4IGJ5IFJpY2hhcmQgTS4gVGV3LgotCi0tIElzc3VlICM5OTIzOiBUaGUgbWFpbGNhcCBtb2R1bGUgbm93IGNvcnJlY3RseSB1c2VzIHRoZSBwbGF0Zm9ybSBwYXRoCi0gIHNlcGFyYXRvciBmb3IgdGhlIE1BSUxDQVAgZW52aXJvbm1lbnQgdmFyaWFibGUgb24gbm9uLVBPU0lYIHBsYXRmb3Jtcy4KLQotLSBJc3N1ZSAjMTI4MzU6IEZvbGxvdyB1cCB0byAjNjU2MCB0aGF0IHVuY29uZGl0aW9uYWxseSBwcmV2ZW50cyB1c2Ugb2YgdGhlCi0gIHVuZW5jcnlwdGVkIHNlbmRtc2cvcmVjdm1zZyBBUElzIG9uIFNTTCB3cmFwcGVkIHNvY2tldHMuIFBhdGNoIGJ5IERhdmlkCi0gIFdhdHNvbi4KLQotLSBJc3N1ZSAjMTI4MDM6IFNTTENvbnRleHQubG9hZF9jZXJ0X2NoYWluKCkgbm93IGFjY2VwdHMgYSBwYXNzd29yZCBhcmd1bWVudAotICB0byBiZSB1c2VkIGlmIHRoZSBwcml2YXRlIGtleSBpcyBlbmNyeXB0ZWQuICBQYXRjaCBieSBBZGFtIFNpbXBraW5zLgotCi0tIElzc3VlICMxMTY1NzogRml4IHNlbmRpbmcgZmlsZSBkZXNjcmlwdG9ycyBvdmVyIDI1NSBvdmVyIGEgbXVsdGlwcm9jZXNzaW5nCi0gIFBpcGUuCi0KLS0gSXNzdWUgIzEyODExOiB0YWJuYW5ueS5jaGVjaygpIG5vdyBwcm9tcHRseSBjbG9zZXMgY2hlY2tlZCBmaWxlcy4gUGF0Y2ggYnkKLSAgQW50aG9ueSBCcmlnZ3MuCi0KLS0gSXNzdWUgIzY1NjA6IFRoZSBzZW5kbXNnL3JlY3Ztc2cgQVBJIGlzIG5vdyBleHBvc2VkIGJ5IHRoZSBzb2NrZXQgbW9kdWxlCi0gIHdoZW4gcHJvdmlkZWQgYnkgdGhlIHVuZGVybHlpbmcgcGxhdGZvcm0sIHN1cHBvcnRpbmcgcHJvY2Vzc2luZyBvZgotICBhbmNpbGxhcnkgZGF0YSBpbiBwdXJlIFB5dGhvbiBjb2RlLiBQYXRjaCBieSBEYXZpZCBXYXRzb24gYW5kIEhlaWtvIFd1bmRyYW0uCi0KLS0gSXNzdWUgIzEyMzI2OiBPbiBMaW51eCwgc3lzLnBsYXRmb3JtIGRvZXNuJ3QgY29udGFpbiB0aGUgbWFqb3IgdmVyc2lvbgotICBhbnltb3JlLiBJdCBpcyBub3cgYWx3YXlzICdsaW51eCcsIGluc3RlYWQgb2YgJ2xpbnV4Micgb3IgJ2xpbnV4MycgZGVwZW5kaW5nCi0gIG9uIHRoZSBMaW51eCB2ZXJzaW9uIHVzZWQgdG8gYnVpbGQgUHl0aG9uLgotCi0tIElzc3VlICMxMjIxMzogRml4IGEgYnVmZmVyaW5nIGJ1ZyB3aXRoIGludGVybGVhdmVkIHJlYWRzIGFuZCB3cml0ZXMgdGhhdAotICBjb3VsZCBhcHBlYXIgb24gQnVmZmVyZWRSYW5kb20gc3RyZWFtcy4KLQotLSBJc3N1ZSAjMTI3Nzg6IFJlZHVjZSBtZW1vcnkgY29uc3VtcHRpb24gd2hlbiBKU09OLWVuY29kaW5nIGEgbGFyZ2UKLSAgY29udGFpbmVyIG9mIG1hbnkgc21hbGwgb2JqZWN0cy4KLQotLSBJc3N1ZSAjMTI2NTA6IEZpeCBhIHJhY2UgY29uZGl0aW9uIHdoZXJlIGEgc3VicHJvY2Vzcy5Qb3BlbiBjb3VsZCBsZWFrCi0gIHJlc291cmNlcyAoRkQvem9tYmllKSB3aGVuIGtpbGxlZCBhdCB0aGUgd3JvbmcgdGltZS4KLQotLSBJc3N1ZSAjMTI3NDQ6IEZpeCBpbmVmZmljaWVudCByZXByZXNlbnRhdGlvbiBvZiBpbnRlZ2VycyBiZXR3ZWVuIDIqKjMxIGFuZAotICAyKio2MyBvbiBzeXN0ZW1zIHdpdGggYSA2NC1iaXQgQyAibG9uZyIuCi0KLS0gSXNzdWUgIzEyNjQ2OiBBZGQgYW4gJ2VvZicgYXR0cmlidXRlIHRvIHpsaWIuRGVjb21wcmVzcywgdG8gbWFrZSBpdCBlYXNpZXIgdG8KLSAgZGV0ZWN0IHRydW5jYXRlZCBpbnB1dCBzdHJlYW1zLgotCi0tIElzc3VlICMxMTUxMzogRml4IGV4Y2VwdGlvbiBoYW5kbGluZyBgYHRhcmZpbGUuVGFyRmlsZS5nem9wZW4oKWBgIHdoZW4KLSAgdGhlIGZpbGUgY2Fubm90IGJlIG9wZW5lZC4KLQotLSBJc3N1ZSAjMTI2ODc6IEZpeCBhIHBvc3NpYmxlIGJ1ZmZlcmluZyBidWcgd2hlbiB1bnBpY2tsaW5nIHRleHQgbW9kZQotICAocHJvdG9jb2wgMCwgbW9zdGx5KSBwaWNrbGVzLgotCi0tIElzc3VlICMxMDA4NzogRml4IHRoZSBodG1sIG91dHB1dCBmb3JtYXQgb2YgdGhlIGNhbGVuZGFyIG1vZHVsZS4KLQotLSBJc3N1ZSAjMTMxMjE6IGFkZCBzdXBwb3J0IGZvciBpbnBsYWNlIG1hdGggb3BlcmF0b3JzIHRvIGNvbGxlY3Rpb25zLkNvdW50ZXIuCi0KLS0gQWRkIHN1cHBvcnQgZm9yIHVuYXJ5IHBsdXMgYW5kIHVuYXJ5IG1pbnVzIHRvIGNvbGxlY3Rpb25zLkNvdW50ZXIuCi0KLS0gSXNzdWUgIzEyNjgzOiB1cmxwYXJzZSB1cGRhdGVkIHRvIGluY2x1ZGUgc3ZuIGFzIHNjaGVtZXMgdGhhdCB1c2VzIHJlbGF0aXZlCi0gIHBhdGhzLiAoc3ZuIGZyb20gMS41IG9ud2FyZHMgc3VwcG9ydCByZWxhdGl2ZSBwYXRoKS4KLQotLSBJc3N1ZSAjMTI2NTU6IEV4cG9zZSBmdW5jdGlvbnMgZnJvbSBzY2hlZC5oIGluIHRoZSBvcyBtb2R1bGU6IHNjaGVkX3lpZWxkKCksCi0gIHNjaGVkX3NldHNjaGVkdWxlcigpLCBzY2hlZF9nZXRzY2hlZHVsZXIoKSwgc2NoZWRfc2V0cGFyYW0oKSwKLSAgc2NoZWRfZ2V0X21pbl9wcmlvcml0eSgpLCBzY2hlZF9nZXRfbWF4X3ByaW9yaXR5KCksIHNjaGVkX3JyX2dldF9pbnRlcnZhbCgpLAotICBzY2hlZF9nZXRhZmZpbml0eSgpLCBzY2hlZF9zZXRhZmZpbml0eSgpLgotCi0tIEFkZCBUaHJlYWRFcnJvciB0byB0aHJlYWRpbmcuX19hbGxfXy4KLQotLSBJc3N1ZXMgIzExMTA0LCAjODY4ODogRml4IHRoZSBiZWhhdmlvciBvZiBkaXN0dXRpbHMnIHNkaXN0IGNvbW1hbmQgd2l0aAotICBtYW51YWxseS1tYWludGFpbmVkIE1BTklGRVNUIGZpbGVzLgotCi0tIElzc3VlICMxMTI4MTogc210cGxpYi5TVE1QIGdldHMgc291cmNlX2FkZHJlc3MgcGFyYW1ldGVyLCB3aGljaCBhZGRzIHRoZQotICBhYmlsaXR5IHRvIGJpbmQgdG8gc3BlY2lmaWMgc291cmNlIGFkZHJlc3Mgb24gYSBtYWNoaW5lIHdpdGggbXVsdGlwbGUKLSAgaW50ZXJmYWNlcy4gUGF0Y2ggYnkgUGF1bG8gU2NhcmRpbmUuCi0KLS0gSXNzdWUgIzEyNDY0OiB0ZW1wZmlsZS5UZW1wb3JhcnlEaXJlY3RvcnkuY2xlYW51cCgpIHNob3VsZCBub3QgZm9sbG93Ci0gIHN5bWxpbmtzOiBmaXggaXQuIFBhdGNoIGJ5IFBldHJpIExlaHRpbmVuLgotCi0tIElzc3VlICM4ODg3OiAicHlkb2Mgc29tZWJ1aWx0aW4uc29tZW1ldGhvZCIgKG9yIGhlbHAoJ3NvbWVidWlsdGluLnNvbWVtZXRob2QnKQotICBpbiBQeXRob24gY29kZSkgbm93IGZpbmRzIHRoZSBkb2Mgb2YgdGhlIG1ldGhvZC4KLQotLSBJc3N1ZSAjMTA5Njg6IFJlbW92ZSBpbmRpcmVjdGlvbiBpbiB0aHJlYWRpbmcuICBUaGUgcHVibGljIG5hbWVzIChFdmVudCwKLSAgQ29uZGl0aW9uLCBldGMuKSB1c2VkIHRvIGJlIGZhY3RvcnkgZnVuY3Rpb25zIHJldHVybmluZyBpbnN0YW5jZXMgb2YgaGlkZGVuCi0gIGNsYXNzZXMgKF9FdmVudCwgX0NvbmRpdGlvbiwgZXRjLiksIGJlY2F1c2UgKGlmIEd1aWRvIHJlY2FsbHMgY29ycmVjdGx5KSB0aGlzCi0gIGNvZGUgcHJlLWRhdGVzIHRoZSBhYmlsaXR5IHRvIHN1YmNsYXNzIGV4dGVuc2lvbiB0eXBlcy4gIEl0IGlzIG5vdyBwb3NzaWJsZQotICB0byBpbmhlcml0IGZyb20gdGhlc2UgY2xhc3Nlcywgd2l0aG91dCBoYXZpbmcgdG8gaW1wb3J0IHRoZSBwcml2YXRlCi0gIHVuZGVyc2NvcmVkIG5hbWVzIGxpa2UgbXVsdGlwcm9jZXNzaW5nIGRpZC4KLQotLSBJc3N1ZSAjOTcyMzogQWRkIHNobGV4LnF1b3RlIGZ1bmN0aW9ucywgdG8gZXNjYXBlIGZpbGVuYW1lcyBhbmQgY29tbWFuZAotICBsaW5lcy4KLQotLSBJc3N1ZSAjMTI2MDM6IEZpeCBweWRvYy5zeW5vcHNpcygpIG9uIGZpbGVzIHdpdGggbm9uLW5lZ2F0aXZlIHN0X210aW1lLgotCi0tIElzc3VlICMxMjUxNDogVXNlIHRyeS9maW5hbGx5IHRvIGFzc3VyZSB0aGUgdGltZWl0IG1vZHVsZSByZXN0b3JlcyBnYXJiYWdlCi0gIGNvbGxlY3Rpb25zIHdoZW4gaXQgaXMgZG9uZS4KLQotLSBJc3N1ZSAjMTI2MDc6IEluIHN1YnByb2Nlc3MsIGZpeCBpc3N1ZSB3aGVyZSBpZiBzdGRpbiwgc3Rkb3V0IG9yIHN0ZGVyciBpcwotICBnaXZlbiBhcyBhIGxvdyBmZCwgaXQgZ2V0cyBvdmVyd3JpdHRlbi4KLQotLSBJc3N1ZSAjMTI1NzY6IEZpeCB1cmxvcGVuIGJlaGF2aW9yIG9uIHNpdGVzIHdoaWNoIGRvIG5vdCBzZW5kIChvciBvYmZ1c2NhdGVzKQotICBgYENvbm5lY3Rpb246IGNsb3NlYGAgaGVhZGVyLgotCi0tIElzc3VlICMxMjU2MDogQnVpbGQgbGlicHl0aG9uLnNvIG9uIE9wZW5CU0QuIFBhdGNoIGJ5IFN0ZWZhbiBTcGVybGluZy4KLQotLSBJc3N1ZSAjMTgxMzogRml4IGNvZGVjIGxvb2t1cCB1bmRlciBUdXJraXNoIGxvY2FsZXMuCi0KLS0gSXNzdWUgIzEyNTkxOiBJbXByb3ZlIHN1cHBvcnQgb2YgInVuaXZlcnNhbCBuZXdsaW5lcyIgaW4gdGhlIHN1YnByb2Nlc3MKLSAgbW9kdWxlOiB0aGUgcGlwZWQgc3RyZWFtcyBjYW4gbm93IGJlIHByb3Blcmx5IHJlYWQgZnJvbSBvciB3cml0dGVuIHRvLgotCi0tIElzc3VlICMxMjU5MTogQWxsb3cgaW8uVGV4dElPV3JhcHBlciB0byB3b3JrIHdpdGggcmF3IElPIG9iamVjdHMgKHdpdGhvdXQKLSAgYSByZWFkMSgpIG1ldGhvZCksIGFuZCBhZGQgYSAqd3JpdGVfdGhyb3VnaCogcGFyYW1ldGVyIHRvIG1hbmRhdGUKLSAgdW5idWZmZXJlZCB3cml0ZXMuCi0KLS0gSXNzdWUgIzEwODgzOiBGaXggc29ja2V0IGxlYWtzIGluIHVybGxpYi5yZXF1ZXN0IHdoZW4gdXNpbmcgRlRQLgotCi0tIElzc3VlICMxMjU5MjogTWFrZSBQeXRob24gYnVpbGQgb24gT3BlbkJTRCA1IChhbmQgZnV0dXJlIG1ham9yIHJlbGVhc2VzKS4KLQotLSBJc3N1ZSAjMTIzNzI6IFBPU0lYIHNlbWFwaG9yZXMgYXJlIGJyb2tlbiBvbiBBSVg6IGRvbid0IHVzZSB0aGVtLgotCi0tIElzc3VlICMxMjU1MTogUHJvdmlkZSBhIGdldF9jaGFubmVsX2JpbmRpbmcoKSBtZXRob2Qgb24gU1NMIHNvY2tldHMgc28gYXMKLSAgdG8gZ2V0IGNoYW5uZWwgYmluZGluZyBkYXRhIGZvciB0aGUgY3VycmVudCBTU0wgc2Vzc2lvbiAob25seSB0aGUKLSAgInRscy11bmlxdWUiIGNoYW5uZWwgYmluZGluZyBpcyBpbXBsZW1lbnRlZCkuICBUaGlzIGFsbG93cyB0aGUgaW1wbGVtZW50YXRpb24KLSAgb2YgY2VydGFpbiBhdXRoZW50aWNhdGlvbiBtZWNoYW5pc21zIHN1Y2ggYXMgU0NSQU0tU0hBLTEtUExVUy4gIFBhdGNoIGJ5Ci0gIEphY2VrIEtvbmllY3pueS4KLQotLSBJc3N1ZSAjNjY1MTk0OiBlbWFpbC51dGlscyBub3cgaGFzIGZvcm1hdF9kYXRldGltZSBhbmQgcGFyc2VkYXRlX3RvX2RhdGV0aW1lCi0gIGZ1bmN0aW9ucywgYWxsb3dpbmcgZm9yIHJvdW5kIHRyaXBwaW5nIG9mIFJGQzI4MjIgZm9ybWF0IGRhdGVzLgotCi0tIElzc3VlICMxMjU3MTogQWRkIGEgcGxhdC1saW51eDMgZGlyZWN0b3J5IG1pcnJvcmluZyB0aGUgcGxhdC1saW51eDIKLSAgZGlyZWN0b3J5LCBzbyB0aGF0ICJpbXBvcnQgRExGQ04iIGFuZCBvdGhlciBzaW1pbGFyIGltcG9ydHMgd29yayBvbgotICBMaW51eCAzLjAuCi0KLS0gSXNzdWUgIzc0ODQ6IHNtdHBsaWIgbm8gbG9uZ2VyIHB1dHMgPD4gYXJvdW5kIGFkZHJlc3NlcyBpbiBWUkZZIGFuZCBFWFBOCi0gIGNvbW1hbmRzOyB0aGV5IGFyZW4ndCByZXF1aXJlZCBhbmQgaW4gZmFjdCBwb3N0Zml4IGRvZXNuJ3Qgc3VwcG9ydCB0aGF0IGZvcm0uCi0KLS0gSXNzdWUgIzEyMjczOiBSZW1vdmUgYXN0Ll9fdmVyc2lvbl9fLiBBU1QgY2hhbmdlcyBjYW4gYmUgYWNjb3VudGVkIGZvciBieQotICBjaGVja2luZyBzeXMudmVyc2lvbl9pbmZvIG9yIHN5cy5fbWVyY3VyaWFsLgotCi0tIFNpbGVuY2Ugc3B1cmlvdXMgImJyb2tlbiBwaXBlIiB0cmFjZWJhY2tzIHdoZW4gc2h1dHRpbmcgZG93biBhCi0gIFByb2Nlc3NQb29sRXhlY3V0b3IuCi0KLS0gRml4IHBvdGVudGlhbCByZXNvdXJjZSBsZWFrcyBpbiBjb25jdXJyZW50LmZ1dHVyZXMuUHJvY2Vzc1Bvb2xFeGVjdXRvcgotICBieSBqb2luaW5nIGFsbCBxdWV1ZXMgYW5kIHByb2Nlc3NlcyB3aGVuIHNodXRkb3duKCkgaXMgY2FsbGVkLgotCi0tIElzc3VlICMxMTYwMzogRml4IGEgY3Jhc2ggd2hlbiBfX3N0cl9fIGlzIHJlYm91bmQgYXMgX19yZXByX18uICBQYXRjaCBieQotICBBbmRyZWFzIFN0w7xocmsuCi0KLS0gSXNzdWUgIzExMzIxOiBGaXggYSBjcmFzaCB3aXRoIG11bHRpcGxlIGltcG9ydHMgb2YgdGhlIF9waWNrbGUgbW9kdWxlIHdoZW4KLSAgZW1iZWRkaW5nIFB5dGhvbi4gIFBhdGNoIGJ5IEFuZHJlYXMgU3TDvGhyay4KLQotLSBJc3N1ZSAjNjc1NTogQWRkIGdldF93Y2goKSBtZXRob2QgdG8gY3Vyc2VzLndpbmRvdyBjbGFzcy4gUGF0Y2ggYnkgScOxaWdvCi0gIFNlcm5hLgotCi0tIEFkZCBjZ2kuY2xvc2Vsb2coKSBmdW5jdGlvbiB0byBjbG9zZSB0aGUgbG9nIGZpbGUuCi0KLS0gSXNzdWUgIzEyNTAyOiBhc3luY29yZTogZml4IHBvbGxpbmcgbG9vcCB3aXRoIEFGX1VOSVggc29ja2V0cy4KLQotLSBJc3N1ZSAjNDM3NjogY3R5cGVzIG5vdyBzdXBwb3J0cyBuZXN0ZWQgc3RydWN0dXJlcyBpbiBhIGVuZGlhbiBkaWZmZXJlbnQgdGhhbgotICB0aGUgcGFyZW50IHN0cnVjdHVyZS4gUGF0Y2ggYnkgVmxhZCBSaXNjdXRpYS4KLQotLSBSYWlzZSBWYWx1ZUVycm9yIHdoZW4gYXR0ZW1wdGluZyB0byBzZXQgdGhlIF9DSFVOS19TSVpFIGF0dHJpYnV0ZSBvZiBhCi0gIFRleHRJT1dyYXBwZXIgdG8gYSBodWdlIHZhbHVlLCBub3QgVHlwZUVycm9yLgotCi0tIElzc3VlICMxMjUwNDogQ2xvc2UgZmlsZSBoYW5kbGVzIGluIGEgdGltZWx5IG1hbm5lciBpbiBwYWNrYWdpbmcuZGF0YWJhc2UuCi0gIFRoaXMgZml4ZXMgYSBidWcgd2l0aCB0aGUgcmVtb3ZlICh1bmluc3RhbGwpIGZlYXR1cmUgb24gV2luZG93cy4KLQotLSBJc3N1ZXMgIzEyMTY5IGFuZCAjMTA1MTA6IEZhY3RvciBvdXQgY29kZSB1c2VkIGJ5IHZhcmlvdXMgcGFja2FnaW5nIGNvbW1hbmRzCi0gIHRvIG1ha2UgSFRUUCBQT1NUIHJlcXVlc3RzLCBhbmQgbWFrZSBzdXJlIGl0IHVzZXMgQ1JMRi4KLQotLSBJc3N1ZSAjMTIwMTY6IE11bHRpYnl0ZSBDSksgZGVjb2RlcnMgbm93IHJlc3luY2hyb25pemUgZmFzdGVyLiBUaGV5IG9ubHkKLSAgaWdub3JlIHRoZSBmaXJzdCBieXRlIG9mIGFuIGludmFsaWQgYnl0ZSBzZXF1ZW5jZS4gRm9yIGV4YW1wbGUsCi0gIGInXHhmZlxuJy5kZWNvZGUoJ2diMjMxMicsICdyZXBsYWNlJykgZ2l2ZXMgJ1x1ZmZmZFxuJyBpbnN0ZWFkIG9mICdcdWZmZmQnLgotCi0tIElzc3VlICMxMjQ1OTogdGltZS5zbGVlcCgpIG5vdyByYWlzZXMgYSBWYWx1ZUVycm9yIGlmIHRoZSBzbGVlcCBsZW5ndGggaXMKLSAgbmVnYXRpdmUsIGluc3RlYWQgb2YgYW4gaW5maW5pdGUgc2xlZXAgb24gV2luZG93cyBvciByYWlzaW5nIGFuIElPRXJyb3Igb24KLSAgTGludXggZm9yIGV4YW1wbGUsIHRvIGhhdmUgdGhlIHNhbWUgYmVoYXZpb3VyIG9uIGFsbCBwbGF0Zm9ybXMuCi0KLS0gSXNzdWUgIzEyNDUxOiBweWRvYzogaHRtbF9nZXRmaWxlKCkgbm93IHVzZXMgdG9rZW5pemUub3BlbigpIHRvIHN1cHBvcnQKLSAgUHl0aG9uIHNjcmlwdHMgdXNpbmcgYSBlbmNvZGluZyBkaWZmZXJlbnQgdGhhbiBVVEYtOCAocmVhZCB0aGUgY29kaW5nIGNvb2tpZQotICBvZiB0aGUgc2NyaXB0KS4KLQotLSBJc3N1ZSAjMTI0OTM6IHN1YnByb2Nlc3M6IFBvcGVuLmNvbW11bmljYXRlKCkgbm93IGFsc28gaGFuZGxlcyBFSU5UUiBlcnJvcnMKLSAgaWYgdGhlIHByb2Nlc3MgaGFzIG9ubHkgb25lIHBpcGUuCi0KLS0gSXNzdWUgIzEyNDY3OiB3YXJuaW5nczogZml4IGEgcmFjZSBjb25kaXRpb24gaWYgYSB3YXJuaW5nIGlzIGVtaXR0ZWQgYXQKLSAgc2h1dGRvd24sIGlmIGdsb2JhbHMoKVsnX19maWxlX18nXSBpcyBOb25lLgotCi0tIElzc3VlICMxMjQ1MTogcHlkb2M6IGltcG9ydGZpbGUoKSBub3cgb3BlbnMgdGhlIFB5dGhvbiBzY3JpcHQgaW4gYmluYXJ5IG1vZGUsCi0gIGluc3RlYWQgb2YgdGV4dCBtb2RlIHVzaW5nIHRoZSBsb2NhbGUgZW5jb2RpbmcsIHRvIGF2b2lkIGVuY29kaW5nIGlzc3Vlcy4KLQotLSBJc3N1ZSAjMTI0NTE6IHJ1bnB5OiBydW5fcGF0aCgpIG5vdyBvcGVucyB0aGUgUHl0aG9uIHNjcmlwdCBpbiBiaW5hcnkgbW9kZSwKLSAgaW5zdGVhZCBvZiB0ZXh0IG1vZGUgdXNpbmcgdGhlIGxvY2FsZSBlbmNvZGluZywgdG8gc3VwcG9ydCBvdGhlciBlbmNvZGluZ3MKLSAgdGhhbiBVVEYtOCAoc2NyaXB0cyB1c2luZyB0aGUgY29kaW5nIGNvb2tpZSkuCi0KLS0gSXNzdWUgIzEyNDUxOiB4bWwuZG9tLnB1bGxkb206IHBhcnNlKCkgbm93IG9wZW5zIGZpbGVzIGluIGJpbmFyeSBtb2RlIGluc3RlYWQKLSAgb2YgdGhlIHRleHQgbW9kZSAodXNpbmcgdGhlIGxvY2FsZSBlbmNvZGluZykgdG8gYXZvaWQgZW5jb2RpbmcgaXNzdWVzLgotCi0tIElzc3VlICMxMjE0NzogQWRqdXN0IHRoZSBuZXctaW4tMy4yIHNtdHBsaWIuc2VuZF9tZXNzYWdlIG1ldGhvZCBmb3IgYmV0dGVyCi0gIGNvbmZvcm1hbmNlIHRvIHRoZSBSRkNzOiAgY29ycmVjdGx5IGhhbmRsZSBTZW5kZXIgYW5kIFJlc2VudC0gaGVhZGVycy4KLQotLSBJc3N1ZSAjMTIzNTI6IEZpeCBhIGRlYWRsb2NrIGluIG11bHRpcHJvY2Vzc2luZy5IZWFwIHdoZW4gYSBibG9jayBpcyBmcmVlZCBieQotICB0aGUgZ2FyYmFnZSBjb2xsZWN0b3Igd2hpbGUgdGhlIEhlYXAgbG9jayBpcyBoZWxkLgotCi0tIElzc3VlICMxMjQ2MjogdGltZS5zbGVlcCgpIG5vdyBpbW1lZGlhdGVseSBjYWxscyB0aGUgKFB5dGhvbikgc2lnbmFsIGhhbmRsZXIKLSAgaWYgaXQgaXMgaW50ZXJydXB0ZWQgYnkgYSBzaWduYWwsIGluc3RlYWQgb2YgaGF2aW5nIHRvIHdhaXQgdW50aWwgdGhlIG5leHQKLSAgaW5zdHJ1Y3Rpb24uCi0KLS0gSXNzdWUgIzEyNDQyOiBuZXcgc2h1dGlsLmRpc2tfdXNhZ2UgZnVuY3Rpb24sIHByb3ZpZGluZyB0b3RhbCwgdXNlZCBhbmQgZnJlZQotICBkaXNrIHNwYWNlIHN0YXRpc3RpY3MuCi0KLS0gSXNzdWUgIzEyNDUxOiBUaGUgWEluY2x1ZGUgZGVmYXVsdCBsb2FkZXIgb2YgeG1sLmV0cmVlIG5vdyBkZWNvZGVzIGZpbGVzIGZyb20KLSAgVVRGLTggaW5zdGVhZCBvZiB0aGUgbG9jYWxlIGVuY29kaW5nIGlmIHRoZSBlbmNvZGluZyBpcyBub3Qgc3BlY2lmaWVkLiBJdCBub3cKLSAgYWxzbyBvcGVucyBYTUwgZmlsZXMgZm9yIHRoZSBwYXJzZXIgaW4gYmluYXJ5IG1vZGUgaW5zdGVhZCBvZiB0aGUgdGV4dCBtb2RlCi0gIHRvIGF2b2lkIGVuY29kaW5nIGlzc3Vlcy4KLQotLSBJc3N1ZSAjMTI0NTE6IGRvY3Rlc3QuZGVidWdfc2NyaXB0KCkgZG9lc24ndCBjcmVhdGUgYSB0ZW1wb3JhcnkgZmlsZQotICBhbnltb3JlIHRvIGF2b2lkIGVuY29kaW5nIGlzc3Vlcy4KLQotLSBJc3N1ZSAjMTI0NTE6IHB5ZG9jLnN5bm9wc2lzKCkgbm93IHJlYWRzIHRoZSBlbmNvZGluZyBjb29raWUgaWYgYXZhaWxhYmxlLAotICB0byByZWFkIHRoZSBQeXRob24gc2NyaXB0IGZyb20gdGhlIHJpZ2h0IGVuY29kaW5nLgotCi0tIElzc3VlICMxMjQ1MTogZGlzdHV0aWxzIG5vdyBvcGVucyB0aGUgc2V0dXAgc2NyaXB0IGluIGJpbmFyeSBtb2RlIHRvIHJlYWQgdGhlCi0gIGVuY29kaW5nIGNvb2tpZSwgaW5zdGVhZCBvZiBvcGVuaW5nIGl0IGluIFVURi04LgotCi0tIElzc3VlICM5NTE2OiBPbiBNYWMgT1MgWCwgY2hhbmdlIERpc3R1dGlscyB0byBubyBsb25nZXIgZ2xvYmFsbHkgYXR0ZW1wdCB0bwotICBjaGVjayBvciBzZXQgdGhlIE1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVCBlbnZpcm9ubWVudCB2YXJpYWJsZSBmb3IgdGhlCi0gIGludGVycHJldGVyIHByb2Nlc3MuICBUaGlzIGNvdWxkIGNhdXNlIGZhaWx1cmVzIGluIG5vbi1EaXN0dXRpbHMgc3VicHJvY2Vzc2VzCi0gIGFuZCB3YXMgdW5yZWxpYWJsZSBzaW5jZSB0ZXN0cyBvciB1c2VyIHByb2dyYW1zIGNvdWxkIG1vZGlmeSB0aGUgaW50ZXJwcmV0ZXIKLSAgZW52aXJvbm1lbnQgYWZ0ZXIgRGlzdHV0aWxzIHNldCBpdC4gIEluc3RlYWQsIGhhdmUgRGlzdHV0aWxzIHNldCB0aGUKLSAgZGVwbG95bWVudCB0YXJnZXQgb25seSBpbiB0aGUgZW52aXJvbm1lbnQgb2YgZWFjaCBidWlsZCBzdWJwcm9jZXNzLiAgSXQgaXMKLSAgc3RpbGwgcG9zc2libGUgdG8gZ2xvYmFsbHkgb3ZlcnJpZGUgdGhlIGRlZmF1bHQgYnkgc2V0dGluZwotICBNQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVQgYmVmb3JlIGxhdW5jaGluZyB0aGUgaW50ZXJwcmV0ZXI7IGl0cyB2YWx1ZSBtdXN0IGJlCi0gIGdyZWF0ZXIgb3IgZXF1YWwgdG8gdGhlIGRlZmF1bHQgdmFsdWUsIHRoZSB2YWx1ZSB3aXRoIHdoaWNoIHRoZSBpbnRlcnByZXRlcgotICB3YXMgYnVpbHQuICBBbHNvLCBpbXBsZW1lbnQgdGhlIHNhbWUgaGFuZGxpbmcgaW4gcGFja2FnaW5nLgotCi0tIElzc3VlICMxMjQyMjogSW4gdGhlIGNvcHkgbW9kdWxlLCBkb24ndCBzdG9yZSBvYmplY3RzIHRoYXQgYXJlIHRoZWlyIG93biBjb3B5Ci0gIGluIHRoZSBtZW1vIGRpY3QuCi0KLS0gSXNzdWUgIzEyMzAzOiBBZGQgc2lnd2FpdGluZm8oKSBhbmQgc2lndGltZWR3YWl0KCkgdG8gdGhlIHNpZ25hbCBtb2R1bGUuCi0KLS0gSXNzdWUgIzEyNDA0OiBSZW1vdmUgQzg5IGluY29tcGF0aWJsZSBjb2RlIGZyb20gbW1hcCBtb2R1bGUuIFBhdGNoIGJ5IEFraXJhCi0gIEtpdGFkYS4KLQotLSBJc3N1ZSAjMTg3NDogZW1haWwgbm93IGRldGVjdHMgYW5kIHJlcG9ydHMgYXMgYSBkZWZlY3QgdGhlIHByZXNlbmNlIG9mCi0gIGFueSBDVEUgb3RoZXIgdGhhbiA3Yml0LCA4Yml0LCBvciBiaW5hcnkgb24gYSBtdWx0aXBhcnQuCi0KLS0gSXNzdWUgIzEyMzgzOiBGaXggc3VicHJvY2VzcyBtb2R1bGUgd2l0aCBlbnY9e306IGRvbid0IGNvcHkgdGhlIGVudmlyb25tZW50Ci0gIHZhcmlhYmxlcywgc3RhcnQgd2l0aCBhbiBlbXB0eSBlbnZpcm9ubWVudC4KLQotLSBJc3N1ZSAjMTE2Mzc6IEZpeCBzdXBwb3J0IGZvciBpbXBvcnRpbmcgcGFja2FnaW5nIHNldHVwIGhvb2tzIGZyb20gdGhlCi0gIHByb2plY3QgZGlyZWN0b3J5LgotCi0tIElzc3VlICM2NzcxOiBNb3ZlZCB0aGUgY3Vyc2VzLndyYXBwZXIgZnVuY3Rpb24gZnJvbSB0aGUgc2luZ2xlLWZ1bmN0aW9uCi0gIHdyYXBwZXIgbW9kdWxlIGludG8gX19pbml0X18sIGVsaW1pbmF0aW5nIHRoZSBtb2R1bGUuICBTaW5jZSBfX2luaXRfXyB3YXMKLSAgYWxyZWFkeSBpbXBvcnRpbmcgdGhlIGZ1bmN0aW9uIHRvIGN1cnNlcy53cmFwcGVyLCB0aGVyZSBpcyBubyBBUEkgY2hhbmdlLgotCi0tIElzc3VlICMxMTU4NDogZW1haWwuaGVhZGVyLmRlY29kZV9oZWFkZXIgbm8gbG9uZ2VyIGZhaWxzIGlmIHRoZSBoZWFkZXIKLSAgcGFzc2VkIHRvIGl0IGlzIGEgSGVhZGVyIG9iamVjdCwgYW5kIEhlYWRlci9tYWtlX2hlYWRlciBubyBsb25nZXIgZmFpbAotICBpZiBnaXZlbiBiaW5hcnkgdW5rbm93bi04Yml0IGlucHV0LgotCi0tIElzc3VlICMxMTcwMDogbWFpbGJveCBwcm94eSBvYmplY3QgY2xvc2UgbWV0aG9kcyBjYW4gbm93IGJlIGNhbGxlZCBtdWx0aXBsZQotICB0aW1lcyB3aXRob3V0IGVycm9yLgotCi0tIElzc3VlICMxMTc2NzogQ29ycmVjdCBmaWxlIGRlc2NyaXB0b3IgbGVhayBpbiBtYWlsYm94J3MgX19nZXRpdGVtX18gbWV0aG9kLgotCi0tIElzc3VlICMxMjEzMzogQWJzdHJhY3RIVFRQSGFuZGxlci5kb19vcGVuKCkgb2YgdXJsbGliLnJlcXVlc3QgY2xvc2VzIHRoZSBIVFRQCi0gIGNvbm5lY3Rpb24gaWYgaXRzIGdldHJlc3BvbnNlKCkgbWV0aG9kIGZhaWxzIHdpdGggYSBzb2NrZXQgZXJyb3IuIFBhdGNoCi0gIHdyaXR0ZW4gYnkgRXppbyBNZWxvdHRpLgotCi0tIElzc3VlICMxMjI0MDogQWxsb3cgbXVsdGlwbGUgc2V0dXAgaG9va3MgaW4gcGFja2FnaW5nJ3Mgc2V0dXAuY2ZnIGZpbGVzLgotICBPcmlnaW5hbCBwYXRjaCBieSBFcmlrIEJyYXkuCi0KLS0gSXNzdWUgIzkyODQ6IEFsbG93IGluc3BlY3QuZmluZHNvdXJjZSgpIHRvIGZpbmQgdGhlIHNvdXJjZSBvZiBkb2N0ZXN0Ci0gIGZ1bmN0aW9ucy4KLQotLSBJc3N1ZSAjMTE1OTU6IEZpeCBhc3NvcnRlZCBidWdzIGluIHBhY2thZ2luZy51dGlsLmNmZ190b19hcmdzLCBhCi0gIGNvbXBhdGliaWxpdHkgaGVscGVyIGZvciB0aGUgZGlzdHV0aWxzLXBhY2thZ2luZyB0cmFuc2l0aW9uLiAgT3JpZ2luYWwgcGF0Y2gKLSAgYnkgRXJpayBCcmF5LgotCi0tIElzc3VlICMxMjI4NzogSW4gb3NzYXVkaW9kZXYsIGNoZWNrIHRoYXQgdGhlIGRldmljZSBpc24ndCBjbG9zZWQgaW4gc2V2ZXJhbAotICBtZXRob2RzLgotCi0tIElzc3VlICMxMjAwOTogRml4ZWQgcmVncmVzc2lvbiBpbiBuZXRyYyBmaWxlIGNvbW1lbnQgaGFuZGxpbmcuCi0KLS0gSXNzdWUgIzEyMjQ2OiBXYXJuIGFuZCBmYWlsIHdoZW4gdHJ5aW5nIHRvIGluc3RhbGwgYSB0aGlyZC1wYXJ0eSBwcm9qZWN0IGZyb20KLSAgYW4gdW5pbnN0YWxsZWQgUHl0aG9uIChidWlsdCBpbiBhIHNvdXJjZSBjaGVja291dCkuICBPcmlnaW5hbCBwYXRjaCBieQotICBUc2hlcGFuZyBMZWtob25raG9iZS4KLQotLSBJc3N1ZSAjMTA2OTQ6IHppcGZpbGUgbm93IGlnbm9yZXMgZ2FyYmFnZSBhdCB0aGUgZW5kIG9mIGEgemlwZmlsZS4KLQotLSBJc3N1ZSAjMTIyODM6IEZpeGVkIHJlZ3Jlc3Npb24gaW4gc210cGxpYiBxdW90aW5nIG9mIGxlYWRpbmcgZG90cyBpbiBEQVRBLgotCi0tIElzc3VlICMxMDQyNDogQXJncGFyc2Ugbm93IGluY2x1ZGVzIHRoZSBuYW1lcyBvZiB0aGUgbWlzc2luZyByZXF1aXJlZAotICBhcmd1bWVudHMgaW4gdGhlIG1pc3NpbmcgYXJndW1lbnRzIGVycm9yIG1lc3NhZ2UuCi0KLS0gSXNzdWUgIzEyMTY4OiBTeXNMb2dIYW5kbGVyIG5vdyBhbGxvd3MgTlVMIHRlcm1pbmF0aW9uIHRvIGJlIGNvbnRyb2xsZWQgdXNpbmcKLSAgYSBuZXcgJ2FwcGVuZF9udWwnIGF0dHJpYnV0ZSBvbiB0aGUgaGFuZGxlci4KLQotLSBJc3N1ZSAjMTE1ODM6IFNwZWVkIHVwIG9zLnBhdGguaXNkaXIgb24gV2luZG93cyBieSB1c2luZyBHZXRGaWxlQXR0cmlidXRlcwotICBpbnN0ZWFkIG9mIG9zLnN0YXQuCi0KLS0gSXNzdWUgIzEyMDIxOiBNYWtlIG1tYXAncyByZWFkKCkgbWV0aG9kIGFyZ3VtZW50IG9wdGlvbmFsLiBQYXRjaCBieSBQZXRyaQotICBMZWh0aW5lbi4KLQotLSBJc3N1ZSAjOTIwNTogY29uY3VycmVudC5mdXR1cmVzLlByb2Nlc3NQb29sRXhlY3V0b3Igbm93IGRldGVjdHMga2lsbGVkCi0gIGNoaWxkcmVuIGFuZCByYWlzZXMgQnJva2VuUHJvY2Vzc1Bvb2wgaW4gc3VjaCBhIHNpdHVhdGlvbi4gIFByZXZpb3VzbHkgaXQKLSAgd291bGQgcmVsaWFibHkgZnJlZXplL2RlYWRsb2NrLgotCi0tIElzc3VlICMxMjA0MDogRXhwb3NlIGEgbmV3IGF0dHJpYnV0ZSBgYHNlbnRpbmVsYGAgb24gaW5zdGFuY2VzIG9mCi0gIGBgbXVsdGlwcm9jZXNzaW5nLlByb2Nlc3NgYC4gIEFsc28sIGZpeCBQcm9jZXNzLmpvaW4oKSB0byBub3QgdXNlIHBvbGxpbmcKLSAgYW55bW9yZSwgd2hlbiBnaXZlbiBhIHRpbWVvdXQuCi0KLS0gSXNzdWUgIzExODkzOiBSZW1vdmUgb2Jzb2xldGUgaW50ZXJuYWwgd3JhcHBlciBjbGFzcyBgYFNTTEZha2VGaWxlYGAgaW4gdGhlCi0gIHNtdHBsaWIgbW9kdWxlLiAgUGF0Y2ggYnkgQ2F0YWxpbiBJYWNvYi4KLQotLSBJc3N1ZSAjMTIwODA6IEZpeCBhIERlY2ltYWwucG93ZXIoKSBjYXNlIHRoYXQgdG9vayBhbiB1bnJlYXNvbmFibHkgbG9uZyB0aW1lCi0gIHRvIGNvbXB1dGUuCi0KLS0gSXNzdWUgIzEyMjIxOiBSZW1vdmUgX192ZXJzaW9uX18gYXR0cmlidXRlcyBmcm9tIHB5ZXhwYXQsIHBpY2tsZSwgdGFyZmlsZSwKLSAgcHlkb2MsIHRraW50ZXIsIGFuZCB4bWwucGFyc2Vycy5leHBhdC4gVGhpcyB3ZXJlIHVzZWxlc3MgdmVyc2lvbiBjb25zdGFudHMKLSAgbGVmdCBvdmVyIGZyb20gdGhlIE1lcmN1cmlhbCB0cmFuc2l0aW9uCi0KLS0gTmFtZWQgdHVwbGVzIG5vdyB3b3JrIGNvcnJlY3RseSB3aXRoIHZhcnMoKS4KLQotLSBJc3N1ZSAjMTIwODU6IEZpeCBhbiBhdHRyaWJ1dGUgZXJyb3IgaW4gc3VicHJvY2Vzcy5Qb3BlbiBkZXN0cnVjdG9yIGlmIHRoZQotICBjb25zdHJ1Y3RvciBoYXMgZmFpbGVkLCBlLmcuIGJlY2F1c2Ugb2YgYW4gdW5kZWNsYXJlZCBrZXl3b3JkIGFyZ3VtZW50LiBQYXRjaAotICB3cml0dGVuIGJ5IE9sZWcgT3NobXlhbi4KLQotLSBJc3N1ZSAjMTIwMjg6IE1ha2UgdGhyZWFkaW5nLl9nZXRfaWRlbnQoKSBwdWJsaWMsIHJlbmFtZSBpdCB0bwotICB0aHJlYWRpbmcuZ2V0X2lkZW50KCkgYW5kIGRvY3VtZW50IGl0LiBUaGlzIGZ1bmN0aW9uIHdhcyBhbHJlYWR5IHVzZWQgdXNpbmcKLSAgX3RocmVhZC5nZXRfaWRlbnQoKS4KLQotLSBJc3N1ZSAjMTIxNzE6IEluY3JlbWVudGFsRW5jb2Rlci5yZXNldCgpIG9mIENKSyBjb2RlY3MgKG11bHRpYnl0ZWNvZGVjKSBjYWxscwotICBlbmNyZXNldCgpIGluc3RlYWQgb2YgZGVjcmVzZXQoKS4KLQotLSBJc3N1ZSAjMTIyMTg6IFJlbW92ZWQgd3NnaXJlZi5lZ2ctaW5mby4KLQotLSBJc3N1ZSAjMTIxOTY6IEFkZCBwaXBlMigpIHRvIHRoZSBvcyBtb2R1bGUuCi0KLS0gSXNzdWUgIzk4NTA2NDogTWFrZSBwbGlzdGxpYiBtb3JlIHJlc2lsaWVudCB0byBmYXVsdHkgaW5wdXQgcGxpc3RzLgotICBQYXRjaCBieSBNaGVyIE1vdnNpc3lhbi4KLQotLSBJc3N1ZSAjMTYyNTogQloyRmlsZSBhbmQgYnoyLmRlY29tcHJlc3MoKSBub3cgc3VwcG9ydCBtdWx0aS1zdHJlYW0gZmlsZXMuCi0gIEluaXRpYWwgcGF0Y2ggYnkgTmlyIEFpZGVzLgotCi0tIElzc3VlICMxMjE3NTogQnVmZmVyZWRSZWFkZXIucmVhZCgtMSkgbm93IGNhbGxzIHJhdy5yZWFkYWxsKCkgaWYgYXZhaWxhYmxlLgotCi0tIElzc3VlICMxMjE3NTogRmlsZUlPLnJlYWRhbGwoKSBub3cgb25seSByZWFkcyB0aGUgZmlsZSBwb3NpdGlvbiBhbmQgc2l6ZQotICBvbmNlLgotCi0tIElzc3VlICMxMjE3NTogUmF3SU9CYXNlLnJlYWRhbGwoKSBub3cgcmV0dXJucyBOb25lIGlmIHJlYWQoKSByZXR1cm5zIE5vbmUuCi0KLS0gSXNzdWUgIzEyMTc1OiBGaWxlSU8ucmVhZGFsbCgpIG5vdyByYWlzZXMgYSBWYWx1ZUVycm9yIGluc3RlYWQgb2YgYW4gSU9FcnJvcgotICBpZiB0aGUgZmlsZSBpcyBjbG9zZWQuCi0KLS0gSXNzdWUgIzExMTA5OiBOZXcgc2VydmljZV9hY3Rpb24gbWV0aG9kIGZvciBCYXNlU2VydmVyLCB1c2VkIGJ5IEZvcmtpbmdNaXhpbgotICBjbGFzcyBmb3IgY2xlYW51cC4gSW5pdGlhbCBQYXRjaCBieSBKdXN0aW4gV2Fya2VudGluLgotCi0tIElzc3VlICMxMjA0NTogQXZvaWQgZHVwbGljYXRlIGV4ZWN1dGlvbiBvZiBjb21tYW5kIGluCi0gIGN0eXBlcy51dGlsLl9nZXRfc29uYW1lKCkuICBQYXRjaCBieSBTaWppbiBKb3NlcGguCi0KLS0gSXNzdWUgIzEwODE4OiBSZW1vdmUgdGhlIFRrIEdVSSBhbmQgdGhlIHNlcnZlKCkgZnVuY3Rpb24gb2YgdGhlIHB5ZG9jIG1vZHVsZSwKLSAgcHlkb2MgLWcgaGFzIGJlZW4gZGVwcmVjYXRlZCBpbiBQeXRob24gMy4yIGFuZCBpdCBoYXMgYSBuZXcgZW5oYW5jZWQgd2ViCi0gIHNlcnZlci4KLQotLSBJc3N1ZSAjMTQ0MTUzMDogSW4gaW1hcGxpYiwgcmVhZCB0aGUgZGF0YSBpbiBvbmUgY2h1bmsgdG8gc3BlZWQgdXAgbGFyZ2UKLSAgcmVhZHMgYW5kIHNpbXBsaWZ5IGNvZGUuCi0KLS0gSXNzdWUgIzEyMDcwOiBGaXggdGhlIE1ha2VmaWxlIHBhcnNlciBvZiB0aGUgc3lzY29uZmlnIG1vZHVsZSB0byBoYW5kbGUKLSAgY29ycmVjdGx5IHJlZmVyZW5jZXMgdG8gImJvZ3VzIHZhcmlhYmxlIiAoZS5nLiAicHJlZml4PSQvb3B0L3B5dGhvbiIpLgotCi0tIElzc3VlICMxMjEwMDogRG9uJ3QgcmVzZXQgaW5jcmVtZW50YWwgZW5jb2RlcnMgb2YgQ0pLIGNvZGVjcyBhdCBlYWNoIGNhbGwgdG8KLSAgdGhlaXIgZW5jb2RlKCkgbWV0aG9kIGFueW1vcmUsIGJ1dCBjb250aW51ZSB0byBjYWxsIHRoZSByZXNldCgpIG1ldGhvZCBpZiB0aGUKLSAgZmluYWwgYXJndW1lbnQgaXMgVHJ1ZS4KLQotLSBJc3N1ZSAjMTIwNDk6IEFkZCBSQU5EX2J5dGVzKCkgYW5kIFJBTkRfcHNldWRvX2J5dGVzKCkgZnVuY3Rpb25zIHRvIHRoZSBzc2wKLSAgbW9kdWxlLgotCi0tIElzc3VlICM2NTAxOiBvcy5kZXZpY2VfZW5jb2RpbmcoKSByZXR1cm5zIE5vbmUgb24gV2luZG93cyBpZiB0aGUgYXBwbGljYXRpb24KLSAgaGFzIG5vIGNvbnNvbGUuCi0KLS0gSXNzdWUgIzEyMTA1OiBBZGQgT19DTE9FWEVDIHRvIHRoZSBvcyBtb2R1bGUuCi0KLS0gSXNzdWUgIzEyMDc5OiBEZWNpbWFsKCdJbmZpbml0eScpLmZtYShEZWNpbWFsKCcwJyksICgzLjkxMjI0MzE4MTI2Nzg2ZSsxOSswaikpCi0gIG5vdyByYWlzZXMgVHlwZUVycm9yIChyZWZsZWN0aW5nIHRoZSBpbnZhbGlkIHR5cGUgb2YgdGhlIDNyZCBhcmd1bWVudCkgcmF0aGVyCi0gIHRoYW4gRGVjaW1hbC5JbnZhbGlkT3BlcmF0aW9uLgotCi0tIElzc3VlICMxMjEyNDogemlwaW1wb3J0IGRvZXNuJ3Qga2VlcCBhIHJlZmVyZW5jZSB0byB6bGliLmRlY29tcHJlc3MoKSBhbnltb3JlCi0gIHRvIGJlIGFibGUgdG8gdW5sb2FkIHRoZSBtb2R1bGUuCi0KLS0gQWRkIHRoZSBwYWNrYWdpbmcgbW9kdWxlLCBhbiBpbXByb3ZlZCBmb3JrIG9mIGRpc3R1dGlscyAoYWxzbyBrbm93biBhcwotICBkaXN0dXRpbHMyKS4KLQotLSBJc3N1ZSAjMTIwNjU6IGNvbm5lY3RfZXgoKSBvbiBhbiBTU0wgc29ja2V0IG5vdyByZXR1cm5zIHRoZSBvcmlnaW5hbCBlcnJubwotICB3aGVuIHRoZSBzb2NrZXQncyB0aW1lb3V0IGV4cGlyZXMgKGl0IHVzZWQgdG8gcmV0dXJuIE5vbmUpLgotCi0tIElzc3VlICM4ODA5OiBUaGUgU01UUF9TU0wgY29uc3RydWN0b3IgYW5kIFNNVFAuc3RhcnR0bHMoKSBub3cgc3VwcG9ydAotICBwYXNzaW5nIGEgYGBjb250ZXh0YGAgYXJndW1lbnQgcG9pbnRpbmcgdG8gYW4gc3NsLlNTTENvbnRleHQgaW5zdGFuY2UuCi0gIFBhdGNoIGJ5IEthc3VuIEhlcmF0aC4KLQotLSBJc3N1ZSAjOTUxNjogSXNzdWUgIzk1MTY6IGF2b2lkIGVycm9ycyBpbiBzeXNjb25maWcgd2hlbiBNQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVQKLSAgaXMgc2V0IGluIHNoZWxsLgotCi0tIElzc3VlICM4NjUwOiBNYWtlIHpsaWIgbW9kdWxlIDY0LWJpdCBjbGVhbi4gY29tcHJlc3MoKSwgZGVjb21wcmVzcygpIGFuZAotICB0aGVpciBpbmNyZW1lbnRhbCBjb3VudGVycGFydHMgbm93IHJhaXNlIE92ZXJmbG93RXJyb3IgaWYgZ2l2ZW4gYW4gaW5wdXQKLSAgbGFyZ2VyIHRoYW4gNEdCLCBpbnN0ZWFkIG9mIHNpbGVudGx5IHRydW5jYXRpbmcgdGhlIGlucHV0IGFuZCByZXR1cm5pbmcKLSAgYW4gaW5jb3JyZWN0IHJlc3VsdC4KLQotLSBJc3N1ZSAjMTIwNTA6IHpsaWIuZGVjb21wcmVzc29iaigpLmRlY29tcHJlc3MoKSBub3cgY2xlYXJzIHRoZSB1bmNvbnN1bWVkX3RhaWwKLSAgYXR0cmlidXRlIHdoZW4gY2FsbGVkIHdpdGhvdXQgYSBtYXhfbGVuZ3RoIGFyZ3VtZW50LgotCi0tIElzc3VlICMxMjA2MjogRml4IGEgZmx1c2hpbmcgYnVnIHdoZW4gZG9pbmcgYSBjZXJ0YWluIHR5cGUgb2YgSS9PIHNlcXVlbmNlCi0gIG9uIGEgZmlsZSBvcGVuZWQgaW4gcmVhZCt3cml0ZSBtb2RlIChuYW1lbHk6IHJlYWRpbmcsIHNlZWtpbmcgYSBiaXQgZm9yd2FyZCwKLSAgd3JpdGluZywgdGhlbiBzZWVraW5nIGJlZm9yZSB0aGUgcHJldmlvdXMgd3JpdGUgYnV0IHN0aWxsIHdpdGhpbiBidWZmZXJlZAotICBkYXRhLCBhbmQgd3JpdGluZyBhZ2FpbikuCi0KLS0gSXNzdWUgIzk5NzE6IFdyaXRlIGFuIG9wdGltaXplZCBpbXBsZW1lbnRhdGlvbiBvZiBCdWZmZXJlZFJlYWRlci5yZWFkaW50bygpLgotICBQYXRjaCBieSBKb2huIE8nQ29ubm9yLgotCi0tIElzc3VlICMxMTc5OTogdXJsbGliLnJlcXVlc3QgQXV0aGVudGljYXRpb24gSGFuZGxlcnMgd2lsbCByYWlzZSBhIFZhbHVlRXJyb3IKLSAgd2hlbiBwcmVzZW50ZWQgd2l0aCBhbiB1bnN1cHBvcnRlZCBBdXRoZW50aWNhdGlvbiBTY2hlbWUuIFBhdGNoIGNvbnRyaWJ1dGVkCi0gIGJ5IFl1dmFsIEdyZWVuZmllbGQuCi0KLS0gSXNzdWUgIzEwNDE5LCAjNjAxMTogYnVpbGRfc2NyaXB0cyBjb21tYW5kIG9mIGRpc3R1dGlscyBoYW5kbGVzIGNvcnJlY3RseQotICBub24tQVNDSUkgcGF0aCAocGF0aCB0byB0aGUgUHl0aG9uIGV4ZWN1dGFibGUpLiBPcGVuIGFuZCB3cml0ZSB0aGUgc2NyaXB0IGluCi0gIGJpbmFyeSBtb2RlLCBidXQgZW5zdXJlIHRoYXQgdGhlIHNoZWJhbmcgaXMgZGVjb2RhYmxlIGZyb20gVVRGLTggYW5kIGZyb20gdGhlCi0gIGVuY29kaW5nIG9mIHRoZSBzY3JpcHQuCi0KLS0gSXNzdWUgIzg0OTg6IEluIHNvY2tldC5hY2NlcHQoKSwgYWxsb3cgdG8gc3BlY2lmeSAwIGFzIGEgYmFja2xvZyB2YWx1ZSBpbgotICBvcmRlciB0byBhY2NlcHQgZXhhY3RseSBvbmUgY29ubmVjdGlvbi4gIFBhdGNoIGJ5IERhbmllbCBFdmVycy4KLQotLSBJc3N1ZSAjMTIwMTE6IHNpZ25hbC5zaWduYWwoKSBhbmQgc2lnbmFsLnNpZ2ludGVycnVwdCgpIHJhaXNlIGFuIE9TRXJyb3IsCi0gIGluc3RlYWQgb2YgYSBSdW50aW1lRXJyb3I6IE9TRXJyb3IgaGFzIGFuIGVycm5vIGF0dHJpYnV0ZS4KLQotLSBJc3N1ZSAjMzcwOTogYWRkIGEgZmx1c2hfaGVhZGVycyBtZXRob2QgdG8gQmFzZUhUVFBSZXF1ZXN0SGFuZGxlciwgd2hpY2gKLSAgbWFuYWdlcyB0aGUgc2VuZGluZyBvZiBoZWFkZXJzIHRvIG91dHB1dCBzdHJlYW0gYW5kIGZsdXNoaW5nIHRoZSBpbnRlcm5hbAotICBoZWFkZXJzIGJ1ZmZlci4gUGF0Y2ggY29udHJpYnV0aW9uIGJ5IEFuZHJldyBTY2hhYWYKLQotLSBJc3N1ZSAjMTE3NDM6IFJld3JpdGUgbXVsdGlwcm9jZXNzaW5nIGNvbm5lY3Rpb24gY2xhc3NlcyBpbiBwdXJlIFB5dGhvbi4KLQotLSBJc3N1ZSAjMTExNjQ6IFN0b3AgdHJ5aW5nIHRvIHVzZSBfeG1scGx1cyBpbiB0aGUgeG1sIG1vZHVsZS4KLQotLSBJc3N1ZSAjMTE4ODg6IEFkZCBsb2cyIGZ1bmN0aW9uIHRvIG1hdGggbW9kdWxlLiBQYXRjaCB3cml0dGVuIGJ5IE1hcmsKLSAgRGlja2luc29uLgotCi0tIElzc3VlICMxMjAxMjogc3NsLlBST1RPQ09MX1NTTHYyIGJlY29tZXMgb3B0aW9uYWwuCi0KLS0gSXNzdWUgIzg0MDc6IFRoZSBzaWduYWwgaGFuZGxlciB3cml0ZXMgdGhlIHNpZ25hbCBudW1iZXIgYXMgYSBzaW5nbGUgYnl0ZQotICBpbnN0ZWFkIG9mIGEgbnVsIGJ5dGUgaW50byB0aGUgd2FrZXVwIGZpbGUgZGVzY3JpcHRvci4gU28gaXQgaXMgcG9zc2libGUgdG8KLSAgd2FpdCBtb3JlIHRoYW4gb25lIHNpZ25hbCBhbmQga25vdyB3aGljaCBzaWduYWxzIHdlcmUgcmFpc2VkLgotCi0tIElzc3VlICM4NDA3OiBBZGQgcHRocmVhZF9raWxsKCksIHNpZ3BlbmRpbmcoKSBhbmQgc2lnd2FpdCgpIGZ1bmN0aW9ucyB0byB0aGUKLSAgc2lnbmFsIG1vZHVsZS4KLQotLSBJc3N1ZSAjMTE5Mjc6IFNNVFBfU1NMIG5vdyB1c2VzIHBvcnQgNDY1IGJ5IGRlZmF1bHQgYXMgZG9jdW1lbnRlZC4gIFBhdGNoCi0gIGJ5IEthc3VuIEhlcmF0aC4KLQotLSBJc3N1ZSAjMTIwMDI6IGZ0cGxpYidzIGFib3J0KCkgbWV0aG9kIHJhaXNlcyBUeXBlRXJyb3IuCi0KLS0gSXNzdWUgIzExOTE2OiBBZGQgYSBudW1iZXIgb2YgTWFjT1NYIHNwZWNpZmljIGRlZmluaXRpb25zIHRvIHRoZSBlcnJubyBtb2R1bGUuCi0gIFBhdGNoIGJ5IFBpZXJyZSBDYXJyaWVyLgotCi0tIElzc3VlICMxMTk5OTogZml4ZWQgc3BvcmFkaWMgc3luYyBmYWlsdXJlIG1haWxib3guTWFpbGRpciBkdWUgdG8gaXRzIHRyeWluZyB0bwotICBkZXRlY3QgbXRpbWUgY2hhbmdlcyBieSBjb21wYXJpbmcgdG8gdGhlIHN5c3RlbSBjbG9jayBpbnN0ZWFkIG9mIHRvIHRoZQotICBwcmV2aW91cyB2YWx1ZSBvZiB0aGUgbXRpbWUuCi0KLS0gSXNzdWUgIzExMDcyOiBhZGRlZCBNTFNEIGNvbW1hbmQgKFJGQy0zNjU5KSBzdXBwb3J0IHRvIGZ0cGxpYi4KLQotLSBJc3N1ZSAjODgwODogVGhlIElNQVA0X1NTTCBjb25zdHJ1Y3RvciBub3cgYWxsb3dzIHBhc3NpbmcgYW4gU1NMQ29udGV4dAotICBwYXJhbWV0ZXIgdG8gY29udHJvbCBwYXJhbWV0ZXJzIG9mIHRoZSBzZWN1cmUgY2hhbm5lbC4gIFBhdGNoIGJ5IFNpamluCi0gIEpvc2VwaC4KLQotLSBudHBhdGguc2FtZWZpbGUgZmFpbGVkIHRvIG5vdGljZSB0aGF0ICJhLnR4dCIgYW5kICJBLlRYVCIgcmVmZXIgdG8gdGhlIHNhbWUKLSAgZmlsZSBvbiBXaW5kb3dzIFhQLiBBcyBub3RpY2VkIGluIGlzc3VlICMxMDY4NC4KLQotLSBJc3N1ZSAjMTIwMDA6IFdoZW4gYSBTU0wgY2VydGlmaWNhdGUgaGFzIGEgc3ViamVjdEFsdE5hbWUgd2l0aG91dCBhbnkKLSAgZE5TTmFtZSBlbnRyeSwgc3NsLm1hdGNoX2hvc3RuYW1lKCkgc2hvdWxkIHVzZSB0aGUgc3ViamVjdCdzIGNvbW1vbk5hbWUuCi0gIFBhdGNoIGJ5IE5pY29sYXMgQmFyZWlsLgotCi0tIElzc3VlICMxMDc3NTogYXNzZXJ0UmFpc2VzLCBhc3NlcnRSYWlzZXNSZWdleCwgYXNzZXJ0V2FybnMsIGFuZAotICBhc3NlcnRXYXJuc1JlZ2V4IG5vdyBhY2NlcHQgYSBrZXl3b3JkIGFyZ3VtZW50ICdtc2cnIHdoZW4gdXNlZCBhcyBjb250ZXh0Ci0gIG1hbmFnZXJzLiAgSW5pdGlhbCBwYXRjaCBieSBXaW5zdG9uIEV3ZXJ0LgotCi0tIElzc3VlICMxMDY4NDogc2h1dGlsLm1vdmUgdXNlZCB0byBkZWxldGUgYSBmb2xkZXIgb24gY2FzZSBpbnNlbnNpdGl2ZQotICBmaWxlc3lzdGVtcyB3aGVuIHRoZSBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uIG5hbWUgd2hlcmUgdGhlIHNhbWUgZXhjZXB0Ci0gIGZvciB0aGUgY2FzZS4KLQotLSBJc3N1ZSAjMTE2NDc6IG9iamVjdHMgY3JlYXRlZCB1c2luZyBjb250ZXh0bGliLmNvbnRleHRtYW5hZ2VyIG5vdyBzdXBwb3J0Ci0gIG1vcmUgdGhhbiBvbmUgY2FsbCB0byB0aGUgZnVuY3Rpb24gd2hlbiB1c2VkIGFzIGEgZGVjb3JhdG9yLiBJbml0aWFsIHBhdGNoCi0gIGJ5IFlzaiBSYXkuCi0KLS0gSXNzdWUgIzExOTMwOiBSZW1vdmVkIGRlcHJlY2F0ZWQgdGltZS5hY2NlcHQyZHllYXIgdmFyaWFibGUuCi0gIFJlbW92ZWQgeWVhciA+PSAxMDAwIHJlc3RyaWN0aW9uIGZyb20gZGF0ZXRpbWUuc3RyZnRpbWUuCi0KLS0gbG9nZ2luZzogZG9uJ3QgZGVmaW5lIFF1ZXVlTGlzdGVuZXIgaWYgUHl0aG9uIGhhcyBubyB0aHJlYWQgc3VwcG9ydC4KLQotLSBmdW5jdG9vbHMuY21wX3RvX2tleSgpIG5vdyB3b3JrcyB3aXRoIGNvbGxlY3Rpb25zLkhhc2hhYmxlKCkuCi0KLS0gSXNzdWUgIzExMjc3OiBtbWFwLm1tYXAoKSBjYWxscyBmY250bChmZCwgRl9GVUxMRlNZTkMpIG9uIE1hYyBPUyBYIHRvIGdldAotICBhcm91bmQgYSBtbWFwIGJ1ZyB3aXRoIHNwYXJzZSBmaWxlcy4gUGF0Y2ggd3JpdHRlbiBieSBTdGVmZmVuIERhb2RlIE51cnBtZXNvLgotCi0tIElzc3VlICM4NDA3OiBBZGQgc2lnbmFsLnB0aHJlYWRfc2lnbWFzaygpIGZ1bmN0aW9uIHRvIGZldGNoIGFuZC9vciBjaGFuZ2UgdGhlCi0gIHNpZ25hbCBtYXNrIG9mIHRoZSBjYWxsaW5nIHRocmVhZC4KLQotLSBJc3N1ZSAjMTE4NTg6IGNvbmZpZ3BhcnNlci5FeHRlbmRlZEludGVycG9sYXRpb24gZXhwZWN0ZWQgbG93ZXItY2FzZSBzZWN0aW9uCi0gIG5hbWVzLgotCi0tIElzc3VlICMxMTMyNDogQ29uZmlnUGFyc2VyKGludGVycG9sYXRpb249Tm9uZSkgbm93IHdvcmtzIGNvcnJlY3RseS4KLQotLSBJc3N1ZSAjMTE4MTE6IHNzbC5nZXRfc2VydmVyX2NlcnRpZmljYXRlKCkgaXMgbm93IElQdjYtY29tcGF0aWJsZS4gIFBhdGNoCi0gIGJ5IENoYXJsZXMtRnJhbsOnb2lzIE5hdGFsaS4KLQotLSBJc3N1ZSAjMTE3NjM6IGRvbid0IHVzZSBkaWZmbGliIGluIFRlc3RDYXNlLmFzc2VydE11bHRpTGluZUVxdWFsIGlmIHRoZQotICBzdHJpbmdzIGFyZSB0b28gbG9uZy4KLQotLSBJc3N1ZSAjMTEyMzY6IGdldHBhc3MuZ2V0cGFzcyByZXNwb25kcyB0byBjdHJsLWMgb3IgY3RybC16IG9uIHRlcm1pbmFsLgotCi0tIElzc3VlICMxMTg1NjogU3BlZWQgdXAgcGFyc2luZyBvZiBKU09OIG51bWJlcnMuCi0KLS0gSXNzdWUgIzExMDA1OiB0aHJlYWRpbmcuUkxvY2soKS5fcmVsZWFzZV9zYXZlKCkgcmFpc2VzIGEgUnVudGltZUVycm9yIGlmIHRoZQotICBsb2NrIHdhcyBub3QgYWNxdWlyZWQuCi0KLS0gSXNzdWUgIzExMjU4OiBTcGVlZCB1cCBjdHlwZXMudXRpbC5maW5kX2xpYnJhcnkoKSB1bmRlciBMaW51eCBieSBhIGZhY3RvcgotICBvZiA1IHRvIDEwLiAgSW5pdGlhbCBwYXRjaCBieSBKb25hcyBILgotCi0tIElzc3VlICMxMTM4MjogVHJpdmlhbCBzeXN0ZW0gY2FsbHMsIHN1Y2ggYXMgZHVwKCkgb3IgcGlwZSgpLCBuZWVkbid0Ci0gIHJlbGVhc2UgdGhlIEdJTC4gIFBhdGNoIGJ5IENoYXJsZXMtRnJhbsOnb2lzIE5hdGFsaS4KLQotLSBJc3N1ZSAjMTEyMjM6IEFkZCB0aHJlYWRpbmcuX2luZm8oKSBmdW5jdGlvbiBwcm92aWRpbmcgaW5mb3JtYXRpb25zIGFib3V0Ci0gIHRoZSB0aHJlYWQgaW1wbGVtZW50YXRpb24uCi0KLS0gSXNzdWUgIzExNzMxOiBzaW1wbGlmeS9lbmhhbmNlIGVtYWlsIHBhcnNlci9nZW5lcmF0b3IgQVBJIGJ5IGludHJvZHVjaW5nCi0gIHBvbGljeSBvYmplY3RzLgotCi0tIElzc3VlICMxMTc2ODogVGhlIHNpZ25hbCBoYW5kbGVyIG9mIHRoZSBzaWduYWwgbW9kdWxlIG9ubHkgY2FsbHMKLSAgUHlfQWRkUGVuZGluZ0NhbGwoKSBmb3IgdGhlIGZpcnN0IHNpZ25hbCB0byBmaXggYSBkZWFkbG9jayBvbiByZWVudHJhbnQgb3IKLSAgcGFyYWxsZWwgY2FsbHMuIFB5RXJyX1NldEludGVycnVwdCgpIHdyaXRlcyBhbHNvIGludG8gdGhlIHdha2UgdXAgZmlsZS4KLQotLSBJc3N1ZSAjMTE0OTI6IGZpeCBzZXZlcmFsIGlzc3VlcyB3aXRoIGhlYWRlciBmb2xkaW5nIGluIHRoZSBlbWFpbCBwYWNrYWdlLgotCi0tIElzc3VlICMxMTg1MjogQWRkIG1pc3NpbmcgaW1wb3J0cyBhbmQgdXBkYXRlIHRlc3RzLgotCi0tIElzc3VlICMxMTg3NTogY29sbGVjdGlvbnMuT3JkZXJlZERpY3QncyBfX3JlZHVjZV9fIHdhcyB0ZW1wb3JhcmlseQotICBtdXRhdGluZyB0aGUgb2JqZWN0IGluc3RlYWQgb2YganVzdCB3b3JraW5nIG9uIGEgY29weS4KLQotLSBJc3N1ZSAjMTE0Njc6IEZpeCB1cmxwYXJzZSBiZWhhdmlvciB3aGVuIGhhbmRsaW5nIHVybHMgd2hpY2ggY29udGFpbnMgc2NoZW1lCi0gIHNwZWNpZmljIHBhcnQgb25seSBkaWdpdHMuIFBhdGNoIGJ5IFNhbnRvc28gV2lqYXlhLgotCi0tIGNvbGxlY3Rpb25zLkNvdW50ZXIoKS5jb3B5KCkgbm93IHdvcmtzIGNvcnJlY3RseSBmb3Igc3ViY2xhc3Nlcy4KLQotLSBJc3N1ZSAjMTE0NzQ6IEZpeCB0aGUgYnVnIHdpdGggdXJsMnBhdGhuYW1lKCkgaGFuZGxpbmcgb2YgJy9DfC8nIG9uIFdpbmRvd3MuCi0gIFBhdGNoIGJ5IFNhbnRvc28gV2lqYXlhLgotCi0tIElzc3VlICMxMTY4NDogY29tcGxldGUgZW1haWwucGFyc2VyIGJ5dGVzIEFQSSBieSBhZGRpbmcgQnl0ZXNIZWFkZXJQYXJzZXIuCi0KLS0gVGhlIGJ6MiBtb2R1bGUgbm93IGhhbmRsZXMgNEdpQisgaW5wdXQgYnVmZmVycyBjb3JyZWN0bHkuCi0KLS0gSXNzdWUgIzkyMzM6IEZpeCBqc29uLmxvYWRzKCd7fScpIHRvIHJldHVybiBhIGRpY3QgKGluc3RlYWQgb2YgYSBsaXN0KSwgd2hlbgotICBfanNvbiBpcyBub3QgYXZhaWxhYmxlLgotCi0tIElzc3VlICMxMTgzMDogUmVtb3ZlIHVubmVjZXNzYXJ5IGludHJvc3BlY3Rpb24gY29kZSBpbiB0aGUgZGVjaW1hbCBtb2R1bGUuCi0KLS0gSXNzdWUgIzExNzAzOiB1cmxsaWIyLmdldHVybCgpIGRvZXMgbm90IHJldHVybiBjb3JyZWN0IHVybCB3aGVuIHRoZSBvcmlnaW5hbAotICB1cmwgY29udGFpbnMgI2ZyYWdtZW50LgotCi0tIElzc3VlICMxMDAxOTogRml4ZWQgcmVncmVzc2lvbiBpbiBqc29uIG1vZHVsZSB3aGVyZSBhbiBpbmRlbnQgb2YgMCBzdG9wcGVkCi0gIGFkZGluZyBuZXdsaW5lcyBhbmQgYWN0ZWQgaW5zdGVhZCBsaWtlICdOb25lJy4KLQotLSBJc3N1ZSAjMTExODY6IHB5ZG9jIGlnbm9yZXMgYSBtb2R1bGUgaWYgaXRzIG5hbWUgY29udGFpbnMgYSBzdXJyb2dhdGUKLSAgY2hhcmFjdGVyIGluIHRoZSBpbmRleCBvZiBtb2R1bGVzLgotCi0tIElzc3VlICMxMTgxNTogVXNlIGEgbGlnaHQtd2VpZ2h0IFNpbXBsZVF1ZXVlIGZvciB0aGUgcmVzdWx0IHF1ZXVlIGluCi0gIGNvbmN1cnJlbnQuZnV0dXJlcy5Qcm9jZXNzUG9vbEV4ZWN1dG9yLgotCi0tIElzc3VlICM1MTYyOiBUcmVhdCBzZXJ2aWNlcyBsaWtlIGZyb3plbiBleGVjdXRhYmxlcyB0byBhbGxvdyBjaGlsZCBzcGF3bmluZwotICBmcm9tIG11bHRpcHJvY2Vzc2luZy5mb3JraW5nIG9uIFdpbmRvd3MuCi0KLS0gbG9nZ2luZy5iYXNpY0NvbmZpZyBub3cgc3VwcG9ydHMgYW4gb3B0aW9uYWwgJ2hhbmRsZXJzJyBhcmd1bWVudCB0YWtpbmcgYW4KLSAgaXRlcmFibGUgb2YgaGFuZGxlcnMgdG8gYmUgYWRkZWQgdG8gdGhlIHJvb3QgbG9nZ2VyLiBBZGRpdGlvbmFsIHBhcmFtZXRlcgotICBjaGVja3Mgd2VyZSBhbHNvIGFkZGVkIHRvIGJhc2ljQ29uZmlnLgotCi0tIElzc3VlICMxMTgxNDogRml4IGxpa2VseSB0eXBvIGluIG11bHRpcHJvY2Vzc2luZy5Qb29sLl90ZXJtaW5hdGUoKS4KLQotLSBJc3N1ZSAjMTE3NDc6IEZpeCByYW5nZSBmb3JtYXR0aW5nIGluIGRpZmZsaWIuY29udGV4dF9kaWZmKCkgYW5kCi0gIGRpZmZsaWIudW5pZmllZF9kaWZmKCkuCi0KLS0gSXNzdWUgIzg0Mjg6IEZpeCBhIHJhY2UgY29uZGl0aW9uIGluIG11bHRpcHJvY2Vzc2luZy5Qb29sIHdoZW4gdGVybWluYXRpbmcKLSAgd29ya2VyIHByb2Nlc3NlczogbmV3IHByb2Nlc3NlcyB3b3VsZCBiZSBzcGF3bmVkIHdoaWxlIHRoZSBwb29sIGlzIGJlaW5nCi0gIHNodXQgZG93bi4gIFBhdGNoIGJ5IENoYXJsZXMtRnJhbsOnb2lzIE5hdGFsaS4KLQotLSBJc3N1ZSAjMjY1MDogcmUuZXNjYXBlKCkgbm8gbG9uZ2VyIGVzY2FwZXMgdGhlICdfJy4KLQotLSBJc3N1ZSAjMTE3NTc6IHNlbGVjdC5zZWxlY3QoKSBub3cgcmFpc2VzIFZhbHVlRXJyb3Igd2hlbiBhIG5lZ2F0aXZlIHRpbWVvdXQKLSAgaXMgcGFzc2VkIChwcmV2aW91c2x5LCBhIHNlbGVjdC5lcnJvciB3aXRoIEVJTlZBTCB3b3VsZCBiZSByYWlzZWQpLiAgUGF0Y2gKLSAgYnkgQ2hhcmxlcy1GcmFuw6dvaXMgTmF0YWxpLgotCi0tIElzc3VlICM3MzExOiBmaXggaHRtbC5wYXJzZXIgdG8gYWNjZXB0IG5vbi1BU0NJSSBhdHRyaWJ1dGUgdmFsdWVzLgotCi0tIElzc3VlICMxMTYwNTogZW1haWwucGFyc2VyLkJ5dGVzRmVlZFBhcnNlciB3YXMgaW5jb3JyZWN0bHkgY29udmVydGluZwotICBtdWx0aXBhcnQgc3VicGFydHMgd2l0aCBhbiA4LWJpdCBDVEUgaW50byB1bmljb2RlIGluc3RlYWQgb2YgcHJlc2VydmluZyB0aGUKLSAgYnl0ZXMuCi0KLS0gSXNzdWUgIzE2OTA2MDg6IGVtYWlsLnV0aWwuZm9ybWF0YWRkciBpcyBub3cgUkZDIDIwNDcgYXdhcmU6ICBpdCBub3cgaGFzIGEKLSAgY2hhcnNldCBwYXJhbWV0ZXIgdGhhdCBkZWZhdWx0cyB0byB1dGYtOCBhbmQgaXMgdXNlZCBhcyB0aGUgY2hhcnNldCBmb3IgUkZDCi0gIDIwNDcgZW5jb2Rpbmcgd2hlbiB0aGUgcmVhbG5hbWUgY29udGFpbnMgbm9uLUFTQ0lJIGNoYXJhY3RlcnMuCi0KLS0gSXNzdWUgIzEwOTYzOiBFbnN1cmUgdGhhdCBzdWJwcm9jZXNzLmNvbW11bmljYXRlKCkgbmV2ZXIgcmFpc2VzIEVQSVBFLgotCi0tIElzc3VlICMxMDc5MTogSW1wbGVtZW50IG1pc3NpbmcgbWV0aG9kIEd6aXBGaWxlLnJlYWQxKCksIGFsbG93aW5nIEd6aXBGaWxlCi0gIHRvIGJlIHdyYXBwZWQgaW4gYSBUZXh0SU9XcmFwcGVyLiAgUGF0Y2ggYnkgTmFkZWVtIFZhd2RhLgotCi0tIElzc3VlICMxMTcwNzogQWRkZWQgYSBmYXN0IEMgdmVyc2lvbiBvZiBmdW5jdG9vbHMuY21wX3RvX2tleSgpLgotICBQYXRjaCBieSBGaWxpcCBHcnVzemN6ecWEc2tpLgotCi0tIElzc3VlICMxMTY4ODogQWRkIHNxbGl0ZTMuQ29ubmVjdGlvbi5zZXRfdHJhY2VfY2FsbGJhY2soKS4gIFBhdGNoIGJ5Ci0gIFRvcnN0ZW4gTGFuZHNjaG9mZi4KLQotLSBJc3N1ZSAjMTE3NDY6IEZpeCBTU0xDb250ZXh0LmxvYWRfY2VydF9jaGFpbigpIHRvIGFjY2VwdCBlbGxpcHRpYyBjdXJ2ZQotICBwcml2YXRlIGtleXMuCi0KLS0gSXNzdWUgIzU4NjM6IFJld3JpdGUgQloyRmlsZSBpbiBwdXJlIFB5dGhvbiwgYW5kIGFsbG93IGl0IHRvIGFjY2VwdAotICBmaWxlLWxpa2Ugb2JqZWN0cyB1c2luZyBhIG5ldyBgYGZpbGVvYmpgYCBjb25zdHJ1Y3RvciBhcmd1bWVudC4gIFBhdGNoIGJ5Ci0gIE5hZGVlbSBWYXdkYS4KLQotLSB1bml0dGVzdC5UZXN0Q2FzZS5hc3NlcnRTYW1lRWxlbWVudHMgaGFzIGJlZW4gcmVtb3ZlZC4KLQotLSBzeXMuZ2V0ZmlsZXN5c3RlbWVuY29kaW5nKCkgcmFpc2VzIGEgUnVudGltZUVycm9yIGlmIGluaXRmc2VuY29kaW5nKCkgd2FzIG5vdAotICBjYWxsZWQgeWV0OiBkZXRlY3QgYm9vdHN0cmFwIChzdGFydHVwKSBpc3N1ZXMgZWFybGllci4KLQotLSBJc3N1ZSAjMTEzOTM6IEFkZCB0aGUgbmV3IGZhdWx0aGFuZGxlciBtb2R1bGUuCi0KLS0gSXNzdWUgIzExNjE4OiBGaXggdGhlIHRpbWVvdXQgbG9naWMgaW4gdGhyZWFkaW5nLkxvY2suYWNxdWlyZSgpIHVuZGVyIFdpbmRvd3MuCi0KLS0gUmVtb3ZlZCB0aGUgJ3N0cmljdCcgYXJndW1lbnQgdG8gZW1haWwucGFyc2VyLlBhcnNlciwgd2hpY2ggaGFzIGJlZW4KLSAgZGVwcmVjYXRlZCBzaW5jZSBQeXRob24gMi40LgotCi0tIElzc3VlICMxMTI1NjogRml4IGluc3BlY3QuZ2V0Y2FsbGFyZ3Mgb24gZnVuY3Rpb25zIHRoYXQgdGFrZSBvbmx5IGtleXdvcmQKLSAgYXJndW1lbnRzLgotCi0tIElzc3VlICMxMTY5NjogRml4IElEIGdlbmVyYXRpb24gaW4gbXNpbGliLgotCi0tIGl0ZXJ0b29scy5hY2N1bXVsYXRlIG5vdyBzdXBwb3J0cyBhbiBvcHRpb25hbCAqZnVuYyogYXJndW1lbnQgZm9yCi0gIGEgdXNlci1zdXBwbGllZCBiaW5hcnkgZnVuY3Rpb24uCi0KLS0gSXNzdWUgIzExNjkyOiBSZW1vdmUgdW5uZWNlc3NhcnkgZGVtbyBmdW5jdGlvbnMgaW4gc3VicHJvY2VzcyBtb2R1bGUuCi0KLS0gSXNzdWUgIzk2OTY6IEZpeCBleGNlcHRpb24gaW5jb3JyZWN0bHkgcmFpc2VkIGJ5IHhkcmxpYi5QYWNrZXIucGFja19pbnQgd2hlbgotICB0cnlpbmcgdG8gcGFjayBhIG5lZ2F0aXZlIChpbi1yYW5nZSkgaW50ZWdlci4KLQotLSBJc3N1ZSAjMTE2NzU6IG11bHRpcHJvY2Vzc2luZy5bUmF3XUFycmF5IG9iamVjdHMgY3JlYXRlZCBmcm9tIGFuIGludGVnZXIgc2l6ZQotICBhcmUgbm93IHplcm9lZCBvbiBjcmVhdGlvbi4gIFRoaXMgbWF0Y2hlcyB0aGUgYmVoYXZpb3VyIHNwZWNpZmllZCBieSB0aGUKLSAgZG9jdW1lbnRhdGlvbi4KLQotLSBJc3N1ZSAjNzYzOTogRml4IHNob3J0IGZpbGUgbmFtZSBnZW5lcmF0aW9uIGluIGJkaXN0X21zaQotCi0tIElzc3VlICMxMTYzNTogRG9uJ3QgdXNlIHBvbGxpbmcgaW4gd29ya2VyIHRocmVhZHMgYW5kIHByb2Nlc3NlcyBsYXVuY2hlZCBieQotICBjb25jdXJyZW50LmZ1dHVyZXMuCi0KLS0gSXNzdWUgIzU4NDU6IEF1dG9tYXRpY2FsbHkgcmVhZCByZWFkbGluZSBjb25maWd1cmF0aW9uIHRvIGVuYWJsZSBjb21wbGV0aW9uCi0gIGluIGludGVyYWN0aXZlIG1vZGUuCi0KLS0gSXNzdWUgIzY4MTE6IEFsbG93IGltcG9ydGxpYiB0byBjaGFuZ2UgYSBjb2RlIG9iamVjdCdzIGNvX2ZpbGVuYW1lIGF0dHJpYnV0ZQotICB0byBtYXRjaCB0aGUgcGF0aCB0byB3aGVyZSB0aGUgc291cmNlIGNvZGUgY3VycmVudGx5IGlzLCBub3Qgd2hlcmUgdGhlIGNvZGUKLSAgb2JqZWN0IG9yaWdpbmFsbHkgY2FtZSBmcm9tLgotCi0tIElzc3VlICM4NzU0OiBIYXZlIGltcG9ydGxpYiB1c2UgdGhlIHJlcHIgb2YgYSBtb2R1bGUgbmFtZSBpbiBlcnJvciBtZXNzYWdlcy4KLQotLSBJc3N1ZSAjMTE1OTE6IFByZXZlbnQgImltcG9ydCBzaXRlIiBmcm9tIG1vZGlmeWluZyBzeXMucGF0aCB3aGVuIHB5dGhvbgotICB3YXMgc3RhcnRlZCB3aXRoIC1TLgotCi0tIGNvbGxlY3Rpb25zLm5hbWVkdHVwbGUoKSBub3cgYWRkcyBhIF9zb3VyY2UgYXR0cmlidXRlIHRvIHRoZSBnZW5lcmF0ZWQKLSAgY2xhc3MuICBUaGlzIG1ha2UgdGhlIHNvdXJjZSBtb3JlIGFjY2Vzc2libGUgdGhhbiB0aGUgb3V0ZGF0ZWQKLSAgInZlcmJvc2UiIG9wdGlvbiB3aGljaCBwcmludHMgdG8gc3Rkb3V0IGJ1dCBkb2Vzbid0IG1ha2UgdGhlIHNvdXJjZQotICBzdHJpbmcgYXZhaWxhYmxlLgotCi0tIElzc3VlICMxMTM3MTogTWFyayBnZXRvcHQgZXJyb3IgbWVzc2FnZXMgYXMgbG9jYWxpemFibGUuICBQYXRjaCBieSBGaWxpcAotICBHcnVzemN6ecWEc2tpLgotCi0tIElzc3VlICMxMTMzMzogQWRkIF9fc2xvdHNfXyB0byBjb2xsZWN0aW9ucyBBQkNzLgotCi0tIElzc3VlICMxMTYyODogY21wX3RvX2tleSBnZW5lcmF0ZWQgY2xhc3Mgc2hvdWxkIHVzZSBfX3Nsb3RzX18uCi0KLS0gSXNzdWUgIzExNjY2OiBsZXQgaGVscCgpIGRpc3BsYXkgbmFtZWQgdHVwbGUgYXR0cmlidXRlcyBhbmQgbWV0aG9kcwotICB0aGF0IHN0YXJ0IHdpdGggYSBsZWFkaW5nIHVuZGVyc2NvcmUuCi0KLS0gSXNzdWUgIzExNjYyOiBNYWtlIHVybGxpYiBhbmQgdXJsbGliMiBpZ25vcmUgcmVkaXJlY3Rpb25zIGlmIHRoZQotICBzY2hlbWUgaXMgbm90IEhUVFAsIEhUVFBTIG9yIEZUUCAoQ1ZFLTIwMTEtMTUyMSkuCi0KLS0gSXNzdWUgIzU1Mzc6IEZpeCB0aW1lMmlzb3ooKSBhbmQgdGltZTJuZXRzY2FwZSgpIGZ1bmN0aW9ucyBvZgotICBodHRwbGliLmNvb2tpZWphciBmb3IgZXhwaXJhdGlvbiB5ZWFyIGdyZWF0ZXIgdGhhbiAyMDM4IG9uIDMyLWJpdCBzeXN0ZW1zLgotCi0tIElzc3VlICM0MzkxOiBVc2UgcHJvcGVyIGdldHRleHQgcGx1cmFsIGZvcm1zIGluIG9wdHBhcnNlLgotCi0tIElzc3VlICMxMTEyNzogUmFpc2UgYSBUeXBlRXJyb3Igd2hlbiB0cnlpbmcgdG8gcGlja2xlIGEgc29ja2V0IG9iamVjdC4KLQotLSBJc3N1ZSAjMTE1NjM6IGBgQ29ubmVjdGlvbjogY2xvc2VgYCBoZWFkZXIgaXMgc2VudCBieSByZXF1ZXN0cyB1c2luZyBVUkxPcGVuZXIKLSAgY2xhc3Mgd2hpY2ggaGVscHMgaW4gY2xvc2luZyBvZiBzb2NrZXRzIGFmdGVyIGNvbm5lY3Rpb24gaXMgb3Zlci4gUGF0Y2gKLSAgY29udHJpYnV0aW9ucyBieSBKZWZmIE1jTmVpbCBhbmQgTmFkZWVtIFZhd2RhLgotCi0tIElzc3VlICMxMTQ1OTogQSBgYGJ1ZnNpemVgYCB2YWx1ZSBvZiAwIGluIHN1YnByb2Nlc3MuUG9wZW4oKSByZWFsbHkgY3JlYXRlcwotICB1bmJ1ZmZlcmVkIHBpcGVzLCBzdWNoIHRoYXQgc2VsZWN0KCkgd29ya3MgcHJvcGVybHkgb24gdGhlbS4KLQotLSBJc3N1ZSAjNTQyMTogRml4IG1pc2xlYWRpbmcgZXJyb3IgbWVzc2FnZSB3aGVuIG9uZSBvZiBzb2NrZXQuc2VuZHRvKCkncwotICBhcmd1bWVudHMgaGFzIHRoZSB3cm9uZyB0eXBlLiAgUGF0Y2ggYnkgTmlraXRhIFZldG9zaGtpbi4KLQotLSBJc3N1ZSAjMTA4MTI6IEFkZCBzb21lIGV4dHJhIHBvc2l4IGZ1bmN0aW9ucyB0byB0aGUgb3MgbW9kdWxlLgotCi0tIElzc3VlICMxMDk3OTogdW5pdHRlc3Qgc3Rkb3V0IGJ1ZmZlcmluZyBub3cgd29ya3Mgd2l0aCBjbGFzcyBhbmQgbW9kdWxlCi0gIHNldHVwIGFuZCB0ZWFyZG93bi4KLQotLSBJc3N1ZSAjMTEyNDM6IGZpeCB0aGUgcGFyYW1ldGVyIHF1ZXJ5aW5nIG1ldGhvZHMgb2YgTWVzc2FnZSB0byB3b3JrIGlmCi0gIHRoZSBoZWFkZXJzIGNvbnRhaW4gdW4tZW5jb2RlZCBub24tQVNDSUkgZGF0YS4KLQotLSBJc3N1ZSAjMTE0MDE6IGZpeCBoYW5kbGluZyBvZiBoZWFkZXJzIHdpdGggbm8gdmFsdWU7IHRoaXMgZml4ZXMgYSByZWdyZXNzaW9uCi0gIHJlbGF0aXZlIHRvIFB5dGhvbjIgYW5kIHRoZSByZXN1bHQgaXMgbm93IHRoZSBzYW1lIGFzIGl0IHdhcyBpbiBQeXRob24yLgotCi0tIElzc3VlICM5Mjk4OiBiYXNlNjQgYm9kaWVzIHdlcmVuJ3QgYmVpbmcgZm9sZGVkIHRvIGxpbmUgbGVuZ3RocyBsZXNzIHRoYW4gNzgsCi0gIHdoaWNoIHdhcyBhIHJlZ3Jlc3Npb24gcmVsYXRpdmUgdG8gUHl0aG9uMi4gIFVubGlrZSBQeXRob24yLCB0aGUgbGFzdCBsaW5lCi0gIG9mIHRoZSBmb2xkZWQgYm9keSBub3cgZW5kcyB3aXRoIGEgY2FycmlhZ2UgcmV0dXJuLgotCi0tIElzc3VlICMxMTU2MDogc2h1dGlsLnVucGFja19hcmNoaXZlIG5vdyBjb3JyZWN0bHkgaGFuZGxlcyB0aGUgZm9ybWF0Ci0gIHBhcmFtZXRlci4gUGF0Y2ggYnkgRXZhbiBEYW5kcmVhLgotCi0tIElzc3VlICM1ODcwOiBBZGQgYHN1YnByb2Nlc3MuREVWTlVMTGAgY29uc3RhbnQuCi0KLS0gSXNzdWUgIzExMTMzOiBmaXggdHdvIGNhc2VzIHdoZXJlIGluc3BlY3QuZ2V0YXR0cl9zdGF0aWMgY2FuIHRyaWdnZXIgY29kZQotICBleGVjdXRpb24uIFBhdGNoIGJ5IEFuZHJlYXMgU3TDvGhyay4KLQotLSBJc3N1ZSAjMTE1Njk6IHVzZSBhYnNvbHV0ZSBwYXRoIHRvIHRoZSBzeXNjdGwgY29tbWFuZCBpbiBtdWx0aXByb2Nlc3NpbmcgdG8KLSAgZW5zdXJlIHRoYXQgaXQgd2lsbCBiZSBmb3VuZCByZWdhcmRsZXNzIG9mIHRoZSBzaGVsbCBQQVRILiBUaGlzIGVuc3VyZXMKLSAgdGhhdCBtdWx0aXByb2Nlc3NpbmcuY3B1X2NvdW50IHdvcmtzIG9uIGRlZmF1bHQgaW5zdGFsbHMgb2YgTWFjT1NYLgotCi0tIElzc3VlICMxMTUwMTogZGlzdXRpbHMuYXJjaGl2ZV91dGlscy5tYWtlX3ppcGZpbGUgbm8gbG9uZ2VyIGZhaWxzIGlmIHpsaWIgaXMKLSAgbm90IGluc3RhbGxlZC4gSW5zdGVhZCwgdGhlIHppcGZpbGUuWklQX1NUT1JFRCBjb21wcmVzc2lvbiBpcyB1c2VkIHRvIGNyZWF0ZQotICB0aGUgWmlwRmlsZS4gUGF0Y2ggYnkgTmF0YWxpYSBCLiBCaWRhcnQuCi0KLS0gSXNzdWUgIzExMjg5OiBgc210cC5TTVRQYCBjbGFzcyBpcyBub3cgYSBjb250ZXh0IG1hbmFnZXIgc28gaXQgY2FuIGJlIHVzZWQKLSAgaW4gYSBgd2l0aGAgc3RhdGVtZW50LiAgQ29udHJpYnV0ZWQgYnkgR2lhbXBhb2xvIFJvZG9sYS4KLQotLSBJc3N1ZSAjMTE1NTQ6IEZpeGVkIHN1cHBvcnQgZm9yIEphcGFuZXNlIGNvZGVjczsgcHJldmlvdXNseSB0aGUgYm9keSBvdXRwdXQKLSAgZW5jb2Rpbmcgd2FzIG5vdCBkb25lIGlmIGV1Yy1qcCBvciBzaGlmdC1qaXMgd2FzIHNwZWNpZmllZCBhcyB0aGUgY2hhcnNldC4KLQotLSBJc3N1ZSAjMTE0MDc6IGBUZXN0Q2FzZS5ydW5gIHJldHVybnMgdGhlIHJlc3VsdCBvYmplY3QgdXNlZCBvciBjcmVhdGVkLgotICBDb250cmlidXRlZCBieSBKYW5hdGhhbiBIYXJ0bGV5LgotCi0tIElzc3VlICMxMTUwMDogRml4ZWQgYSBidWcgaW4gdGhlIE9TIFggcHJveHkgYnlwYXNzIGNvZGUgZm9yIGZ1bGx5IHF1YWxpZmllZAotICBJUCBhZGRyZXNzZXMgaW4gdGhlIHByb3h5IGV4Y2VwdGlvbiBsaXN0LgotCi0tIElzc3VlICMxMTQ5MTogZGJtLmVycm9yIGlzIG5vIGxvbmdlciByYWlzZWQgd2hlbiBkYm0ub3BlbiBpcyBjYWxsZWQgd2l0aAotICB0aGUgIm4iIGFzIHRoZSBmbGFnIGFyZ3VtZW50IGFuZCB0aGUgZmlsZSBleGlzdHMuIFRoZSBiZWhhdmlvciBtYXRjaGVzCi0gIHRoZSBkb2N1bWVudGF0aW9uIGFuZCBnZW5lcmFsIGxvZ2ljLgotCi0tIElzc3VlICMxMTYyNDc3OiBQb3N0ZWwgUHJpbmNpcGxlIGFkanVzdG1lbnQgdG8gZW1haWwgZGF0ZSBwYXJzaW5nOiBoYW5kbGUgdGhlCi0gIGZhY3QgdGhhdCBzb21lIG5vbi1jb21wbGlhbnQgTVVBcyB1c2UgJy4nIGluc3RlYWQgb2YgJzonIGluIHRpbWUgc3BlY3MuCi0KLS0gSXNzdWUgIzExMTMxOiBGaXggc2lnbiBvZiB6ZXJvIGluIGRlY2ltYWwuRGVjaW1hbCBwbHVzIGFuZCBtaW51cwotICBvcGVyYXRpb25zIHdoZW4gdGhlIHJvdW5kaW5nIG1vZGUgaXMgUk9VTkRfRkxPT1IuCi0KLS0gSXNzdWUgIzk5MzU6IFNwZWVkIHVwIHBpY2tsaW5nIG9mIGluc3RhbmNlcyBvZiB1c2VyLWRlZmluZWQgY2xhc3Nlcy4KLQotLSBJc3N1ZSAjNTYyMjogRml4IGN1cnNlcy53cmFwcGVyIHRvIHJhaXNlIGNvcnJlY3QgZXhjZXB0aW9uIGlmIGN1cnNlcwotICBpbml0aWFsaXphdGlvbiBmYWlscy4KLQotLSBJc3N1ZSAjMTE0MDg6IEluIHRocmVhZGluZy5Mb2NrLmFjcXVpcmUoKSwgb25seSBjYWxsIGdldHRpbWVvZmRheSgpIHdoZW4KLSAgcmVhbGx5IG5lY2Vzc2FyeS4gIFBhdGNoIGJ5IENoYXJsZXMtRnJhbsOnb2lzIE5hdGFsaS4KLQotLSBJc3N1ZSAjMTEzOTE6IFdyaXRpbmcgdG8gYSBtbWFwIG9iamVjdCBjcmVhdGVkIHdpdGgKLSAgYGBtbWFwLlBST1RfUkVBRHxtbWFwLlBST1RfRVhFQ2BgIHdvdWxkIHNlZ2ZhdWx0IGluc3RlYWQgb2YgcmFpc2luZyBhCi0gIFR5cGVFcnJvci4gIFBhdGNoIGJ5IENoYXJsZXMtRnJhbsOnb2lzIE5hdGFsaS4KLQotLSBJc3N1ZSAjOTc5NTogYWRkIGNvbnRleHQgbWFuYWdlciBwcm90b2NvbCBzdXBwb3J0IGZvciBubnRwbGliLk5OVFAgY2xhc3MuCi0KLS0gSXNzdWUgIzExMzA2OiBtYWlsYm94IGluIGNlcnRhaW4gY2FzZXMgYWRhcHRzIHRvIGFuIGluYWJpbGl0eSB0byBvcGVuCi0gIGNlcnRhaW4gZmlsZXMgaW4gcmVhZC13cml0ZSBtb2RlLiAgUHJldmlvdXNseSBpdCBkZXRlY3RlZCB0aGlzIGJ5Ci0gIGNoZWNraW5nIGZvciBFQUNDRVMsIG5vdyBpdCBhbHNvIGNoZWNrcyBmb3IgRVJPRlMuCi0KLS0gSXNzdWUgIzExMjY1OiBhc3luY29yZSBub3cgY29ycmVjdGx5IGhhbmRsZXMgRVBJUEUsIEVCQURGIGFuZCBFQUdBSU4gZXJyb3JzCi0gIG9uIGFjY2VwdCgpLCBzZW5kKCkgYW5kIHJlY3YoKS4KLQotLSBJc3N1ZSAjMTEzNzc6IERlcHJlY2F0ZSBwbGF0Zm9ybS5wb3BlbigpIGFuZCByZWltcGxlbWVudCBpdCB3aXRoIG9zLnBvcGVuKCkuCi0KLS0gSXNzdWUgIzg1MTM6IE9uIFVOSVgsIHN1YnByb2Nlc3Mgc3VwcG9ydHMgYnl0ZXMgY29tbWFuZCBzdHJpbmcuCi0KLS0gSXNzdWUgIzEwODY2OiBBZGQgc29ja2V0LnNldGhvc3RuYW1lKCkuICBJbml0aWFsIHBhdGNoIGJ5IFJvc3MgTGFnZXJ3YWxsLgotCi0tIElzc3VlICMxMTE0MDogTG9jay5yZWxlYXNlKCkgbm93IHJhaXNlcyBhIFJ1bnRpbWVFcnJvciB3aGVuIGF0dGVtcHRpbmcKLSAgdG8gcmVsZWFzZSBhbiB1bmFjcXVpcmVkIGxvY2ssIGFzIGNsYWltZWQgaW4gdGhlIHRocmVhZGluZyBkb2N1bWVudGF0aW9uLgotICBUaGUgX3RocmVhZC5lcnJvciBleGNlcHRpb24gaXMgbm93IGFuIGFsaWFzIG9mIFJ1bnRpbWVFcnJvci4gIFBhdGNoIGJ5Ci0gIEZpbGlwIEdydXN6Y3p5xYRza2kuICBQYXRjaCBmb3IgX2R1bW15X3RocmVhZCBieSBBeW1lcmljIEF1Z3VzdGluLgotCi0tIElzc3VlICM4NTk0OiBmdHBsaWIgbm93IHByb3ZpZGVzIGEgc291cmNlX2FkZHJlc3MgcGFyYW1ldGVyIHRvIHNwZWNpZnkgd2hpY2gKLSAgKGFkZHJlc3MsIHBvcnQpIHRvIGJpbmQgdG8gYmVmb3JlIGNvbm5lY3RpbmcuCi0KLS0gSXNzdWUgIzExMzI2OiBBZGQgdGhlIG1pc3NpbmcgY29ubmVjdF9leCgpIGltcGxlbWVudGF0aW9uIGZvciBTU0wgc29ja2V0cywKLSAgYW5kIG1ha2UgaXQgd29yayBmb3Igbm9uLWJsb2NraW5nIGNvbm5lY3RzLgotCi0tIElzc3VlICMxMTI5NzogQWRkIGNvbGxlY3Rpb25zLkNoYWluTWFwKCkuCi0KLS0gSXNzdWUgIzEwNzU1OiBBZGQgdGhlIHBvc2l4LmZsaXN0ZGlyKCkgZnVuY3Rpb24uICBQYXRjaCBieSBSb3NzIExhZ2Vyd2FsbC4KLQotLSBJc3N1ZSAjNDc2MTogQWRkIHRoZSBgYCphdCgpYGAgZmFtaWx5IG9mIGZ1bmN0aW9ucyAob3BlbmF0KCksIGV0Yy4pIHRvIHRoZQotICBwb3NpeCBtb2R1bGUuICBQYXRjaCBieSBSb3NzIExhZ2Vyd2FsbC4KLQotLSBJc3N1ZSAjNzMyMjogVHJ5aW5nIHRvIHJlYWQgZnJvbSBhIHNvY2tldCdzIGZpbGUtbGlrZSBvYmplY3QgYWZ0ZXIgYSB0aW1lb3V0Ci0gIG9jY3VycmVkIG5vdyByYWlzZXMgYW4gZXJyb3IgaW5zdGVhZCBvZiBzaWxlbnRseSBsb3NpbmcgZGF0YS4KLQotLSBJc3N1ZSAjMTEyOTE6IHBvcGxpYi5QT1Agbm8gbG9uZ2VyIHN1cHByZXNzZXMgZXJyb3JzIG9uIHF1aXQoKS4KLQotLSBJc3N1ZSAjMTExNzc6IGFzeW5jb3JlJ3MgY3JlYXRlX3NvY2tldCgpIGFyZ3VtZW50cyBjYW4gbm93IGJlIG9taXR0ZWQuCi0KLS0gSXNzdWUgIzYwNjQ6IEFkZCBhIGBgZGFlbW9uYGAga2V5d29yZCBhcmd1bWVudCB0byB0aGUgdGhyZWFkaW5nLlRocmVhZAotICBhbmQgbXVsdGlwcm9jZXNzaW5nLlByb2Nlc3MgY29uc3RydWN0b3JzIGluIG9yZGVyIHRvIG92ZXJyaWRlIHRoZQotICBkZWZhdWx0IGJlaGF2aW91ciBvZiBpbmhlcml0aW5nIHRoZSBkYWVtb25pYyBwcm9wZXJ0eSBmcm9tIHRoZSBjdXJyZW50Ci0gIHRocmVhZC9wcm9jZXNzLgotCi0tIElzc3VlICMxMDk1NjogQnVmZmVyZWQgSS9PIGNsYXNzZXMgcmV0cnkgcmVhZGluZyBvciB3cml0aW5nIGFmdGVyIGEgc2lnbmFsCi0gIGhhcyBhcnJpdmVkIGFuZCB0aGUgaGFuZGxlciByZXR1cm5lZCBzdWNjZXNzZnVsbHkuCi0KLS0gSXNzdWUgIzEwNzg0OiBOZXcgb3MuZ2V0cHJpb3JpdHkoKSBhbmQgb3Muc2V0cHJpb3JpdHkoKSBmdW5jdGlvbnMuCi0KLS0gSXNzdWUgIzExMTE0OiBGaXggY2F0YXN0cm9waGljIHBlcmZvcm1hbmNlIG9mIHRlbGwoKSBvbiB0ZXh0IGZpbGVzICh1cAotICB0byAxMDAweCBmYXN0ZXIgaW4gc29tZSBjYXNlcykuICBJdCBpcyBzdGlsbCBvbmUgdG8gdHdvIG9yZGVyIG9mIG1hZ25pdHVkZXMKLSAgc2xvd2VyIHRoYW4gYmluYXJ5IHRlbGwoKS4KLQotLSBJc3N1ZSAjMTA4ODI6IEFkZCBvcy5zZW5kZmlsZSBmdW5jdGlvbi4KLQotLSBJc3N1ZSAjMTA4Njg6IEFsbG93IHVzYWdlIG9mIHRoZSByZWdpc3RlciBtZXRob2Qgb2YgYW4gQUJDIGFzIGEgY2xhc3MKLSAgZGVjb3JhdG9yLgotCi0tIElzc3VlICMxMTIyNDogRml4ZWQgYSByZWdyZXNzaW9uIGluIHRhcmZpbGUgdGhhdCBhZmZlY3RlZCB0aGUgZmlsZS1saWtlCi0gIG9iamVjdHMgcmV0dXJuZWQgYnkgVGFyRmlsZS5leHRyYWN0ZmlsZSgpIHJlZ2FyZGluZyBwZXJmb3JtYW5jZSwgbWVtb3J5Ci0gIGNvbnN1bXB0aW9uIGFuZCBmYWlsdXJlcyB3aXRoIHRoZSBzdHJlYW0gaW50ZXJmYWNlLgotCi0tIElzc3VlICMxMDkyNDogQWRkaW5nIHNhbHQgYW5kIE1vZHVsYXIgQ3J5cHQgRm9ybWF0IHRvIGNyeXB0IGxpYnJhcnkuCi0gIE1vdmVkIG9sZCBDIHdyYXBwZXIgdG8gX2NyeXB0LCBhbmQgYWRkZWQgYSBQeXRob24gd3JhcHBlciB3aXRoCi0gIGVuaGFuY2VkIHNhbHQgZ2VuZXJhdGlvbiBhbmQgc2ltcGxlciBBUEkgZm9yIHBhc3N3b3JkIGdlbmVyYXRpb24uCi0KLS0gSXNzdWUgIzExMDc0OiBNYWtlICd0b2tlbml6ZScgc28gaXQgY2FuIGJlIHJlbG9hZGVkLgotCi0tIElzc3VlICMxMTA4NTogTW92ZWQgY29sbGVjdGlvbnMgYWJzdHJhY3QgYmFzZSBjbGFzc2VzIGludG8gYSBzZXBhcmF0ZQotICBtb2R1bGUgY2FsbGVkIGNvbGxlY3Rpb25zLmFiYywgZm9sbG93aW5nIHRoZSBwYXR0ZXJuIHVzZWQgYnkgaW1wb3J0bGliLmFiYy4KLSAgRm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LCB0aGUgbmFtZXMgYXJlIGltcG9ydGVkIGludG8gdGhlIGNvbGxlY3Rpb25zCi0gIG1vZHVsZS4KLQotLSBJc3N1ZSAjNDY4MTogQWxsb3cgbW1hcCgpIHRvIHdvcmsgb24gZmlsZSBzaXplcyBhbmQgb2Zmc2V0cyBsYXJnZXIgdGhhbgotICA0R0IsIGV2ZW4gb24gMzItYml0IGJ1aWxkcy4gIEluaXRpYWwgcGF0Y2ggYnkgUm9zcyBMYWdlcndhbGwsIGFkYXB0ZWQgZm9yCi0gIDMyLWJpdCBXaW5kb3dzLgotCi0tIElzc3VlICMxMTE2OTogY29tcGlsZWFsbCBtb2R1bGUgdXNlcyByZXByKCkgdG8gZm9ybWF0IGZpbGVuYW1lcyBhbmQgcGF0aHMgdG8KLSAgZXNjYXBlIHN1cnJvZ2F0ZSBjaGFyYWN0ZXJzIGFuZCBzaG93IHNwYWNlcy4KLQotLSBJc3N1ZSAjMTEwODk6IEZpeCBwZXJmb3JtYW5jZSBpc3N1ZSBsaW1pdGluZyB0aGUgdXNlIG9mIENvbmZpZ1BhcnNlcigpCi0gIHdpdGggbGFyZ2UgY29uZmlnIGZpbGVzLgotCi0tIElzc3VlICMxMDI3NjogRml4IHRoZSByZXN1bHRzIG9mIHpsaWIuY3JjMzIoKSBhbmQgemxpYi5hZGxlcjMyKCkgb24gYnVmZmVycwotICBsYXJnZXIgdGhhbiA0R0IuICBQYXRjaCBieSBOYWRlZW0gVmF3ZGEuCi0KLS0gSXNzdWUgIzExMzg4OiBBZGRlZCBhIGNsZWFyKCkgbWV0aG9kIHRvIE11dGFibGVTZXF1ZW5jZQotCi0tIElzc3VlICMxMTE3NDogQWRkIGFyZ3BhcnNlLk1ldGF2YXJUeXBlSGVscEZvcm1hdHRlciwgd2hpY2ggdXNlcyB0eXBlIG5hbWVzCi0gIGZvciB0aGUgbmFtZXMgb2Ygb3B0aW9uYWwgYW5kIHBvc2l0aW9uYWwgYXJndW1lbnRzIGluIGhlbHAgbWVzc2FnZXMuCi0KLS0gSXNzdWUgIzkzNDg6IFJhaXNlIGFuIGVhcmx5IGVycm9yIGlmIGFyZ3BhcnNlIG5hcmdzIGFuZCBtZXRhdmFyIGRvbid0IG1hdGNoLgotCi0tIElzc3VlICM5MDI2OiBGaXggb3JkZXIgb2YgYXJncGFyc2Ugc3ViLWNvbW1hbmRzIGluIGhlbHAgbWVzc2FnZXMuCi0KLS0gSXNzdWUgIzkzNDc6IEZpeCBmb3JtYXR0aW5nIGZvciB0dXBsZXMgaW4gYXJncGFyc2UgdHlwZT0gZXJyb3IgbWVzc2FnZXMuCi0KLS0gSXNzdWUgIzEyMTkxOiBBZGRlZCBzaHV0aWwuY2hvd24oKSB0byBjaGFuZ2UgdXNlciBhbmQvb3IgZ3JvdXAgb3duZXIgb2YgYQotICBnaXZlbiBwYXRoIGFsc28gc3BlY2lmeWluZyB0aGVpciBuYW1lcy4KLQotLSBJc3N1ZSAjMTM5ODg6IFRoZSBfZWxlbWVudHRyZWUgYWNjZWxlcmF0b3IgaXMgdXNlZCB3aGVuZXZlciBhdmFpbGFibGUuCi0gIE5vdyB4bWwuZXRyZWUuY0VsZW1lbnRUcmVlIGJlY29tZXMgYSBkZXByZWNhdGVkIGFsaWFzIHRvIEVsZW1lbnRUcmVlLgotCi1CdWlsZAotLS0tLS0KLQotLSBJc3N1ZSAjNjgwNzogUnVuIG1zaXN1cHBvcnQubWFrIGVhcmxpZXIuCi0KLS0gSXNzdWUgIzEwNTgwOiBNaW5vciBncmFtbWFyIGNoYW5nZSBpbiBXaW5kb3dzIGluc3RhbGxlci4KLQotLSBJc3N1ZSAjMTMzMjY6IENsZWFuIF9fcHljYWNoZV9fIGRpcmVjdG9yaWVzIGNvcnJlY3RseSBvbiBPcGVuQlNELgotCi0tIFBFUCAzOTM6IHRoZSBjb25maWd1cmUgb3B0aW9uIC0td2l0aC13aWRlLXVuaWNvZGUgaXMgcmVtb3ZlZC4KLQotLSBJc3N1ZSAjMTI4NTI6IFNldCBfWE9QRU5fU09VUkNFIHRvIDcwMCwgaW5zdGVhZCBvZiA2MDAsIHRvIGdldCBQT1NJWCAyMDA4Ci0gIGZ1bmN0aW9ucyBvbiBPcGVuQlNEIChlLmcuIGZkb3BlbmRpcikuCi0KLS0gSXNzdWUgIzExODYzOiBSZW1vdmUgc3VwcG9ydCBmb3IgbGVnYWN5IHN5c3RlbXMgZGVwcmVjYXRlZCBpbiBQeXRob24gMy4yCi0gIChmb2xsb3dpbmcgUEVQIDExKS4gIFRoZXNlIHN5c3RlbXMgYXJlIHN5c3RlbXMgdXNpbmcgTWFjaCBDIFRocmVhZHMsCi0gIFN1bk9TIGxpZ2h0d2VpZ2h0IHByb2Nlc3NlcywgR05VIHB0aCB0aHJlYWRzIGFuZCBJUklYIHRocmVhZHMuCi0KLS0gSXNzdWUgIzg3NDY6IENvcnJlY3QgZmF1bHR5IGNvbmZpZ3VyZSBjaGVja3Mgc28gdGhhdCBvcy5jaGZsYWdzKCkgYW5kCi0gIG9zLmxjaGZsYWdzKCkgYXJlIG9uY2UgYWdhaW4gYnVpbHQgb24gc3lzdGVtcyB0aGF0IHN1cHBvcnQgdGhlc2UKLSAgZnVuY3Rpb25zIChCU0QgYW5kIE9TIFgpLiAgQWxzbyBhZGQgbmV3IHN0YXQgZmlsZSBmbGFncyBmb3IgT1MgWAotICAoVUZfSElEREVOIGFuZCBVRl9DT01QUkVTU0VEKS4KLQotLSBJc3N1ZSAjMTA2NDU6IEluc3RhbGxpbmcgUHl0aG9uIG5vIGxvbmdlciBjcmVhdGVzIGEKLSAgUHl0aG9uLVguWS5aLXB5WC5ZLmVnZy1pbmZvIGZpbGUgaW4gdGhlIGxpYi1keW5sb2FkIGRpcmVjdG9yeS4KLQotLSBEbyBub3QgYWNjaWRlbnRhbGx5IGluY2x1ZGUgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIHNxbGl0ZS5oIHR3aWNlIHdoZW4KLSAgYnVpbGRpbmcgc3FsaXRlMy4KLQotLSBJc3N1ZSAjMTEyMTc6IEZvciA2NC1iaXQvMzItYml0IE1hYyBPUyBYIHVuaXZlcnNhbCBmcmFtZXdvcmsgYnVpbGRzLAotICBlbnN1cmUgIm1ha2UgaW5zdGFsbCIgY3JlYXRlcyBzeW1saW5rcyBpbiAtLXByZWZpeCBiaW4gZm9yIHRoZSAiLTMyIgotICBmaWxlcyBpbiB0aGUgZnJhbWV3b3JrIGJpbiBkaXJlY3RvcnkgbGlrZSB0aGUgaW5zdGFsbGVyIGRvZXMuCi0KLS0gSXNzdWUgIzExMzQ3OiBVc2UgLS1uby1hcy1uZWVkZWQgd2hlbiBsaW5raW5nIGxpYnB5dGhvbjMuc28uCi0KLS0gSXNzdWUgIzExNDExOiBGaXggJ21ha2UgREVTVERJUj0nIHdpdGggYSByZWxhdGl2ZSBkZXN0aW5hdGlvbi4KLQotLSBJc3N1ZSAjMTEyNjg6IFByZXZlbnQgTWFjIE9TIFggSW5zdGFsbGVyIGZhaWx1cmUgaWYgRG9jdW1lbnRhdGlvbgotICBwYWNrYWdlIGhhZCBwcmV2aW91c2x5IGJlZW4gaW5zdGFsbGVkLgotCi0tIElzc3VlICMxMTQ5NTogT1NGIHN1cHBvcnQgaXMgZWxpbWluYXRlZC4gSXQgd2FzIGRlcHJlY2F0ZWQgaW4gUHl0aG9uIDMuMi4KLQotSURMRQotLS0tLQotCi0tIElzc3VlICMxNDQwOTogSURMRSBub3cgcHJvcGVybHkgZXhlY3V0ZXMgY29tbWFuZHMgaW4gdGhlIFNoZWxsIHdpbmRvdwotICB3aGVuIGl0IGNhbm5vdCByZWFkIHRoZSBub3JtYWwgY29uZmlnIGZpbGVzIG9uIHN0YXJ0dXAgYW5kCi0gIGhhcyB0byB1c2UgdGhlIGJ1aWx0LWluIGRlZmF1bHQga2V5IGJpbmRpbmdzLgotICBUaGVyZSB3YXMgcHJldmlvdXNseSBhIGJ1ZyBpbiBvbmUgb2YgdGhlIGRlZmF1bHRzLgotCi0tIElETEUgY2FuIGJlIGxhdW5jaGVkIGFzIHB5dGhvbiAtbSBpZGxlbGliCi0KLS0gSXNzdWUgIzM1NzM6IElETEUgaGFuZ3Mgd2hlbiBwYXNzaW5nIGludmFsaWQgY29tbWFuZCBsaW5lIGFyZ3MKLSAgKGRpcmVjdG9yeShpZXMpIGluc3RlYWQgb2YgZmlsZShzKSkgKFBhdGNoIGJ5IEd1aWxoZXJtZSBQb2xvKQotCi0tIElzc3VlICMxNDIwMDogSURMRSBzaGVsbCBjcmFzaCBvbiBwcmludGluZyBub24tQk1QIHVuaWNvZGUgY2hhcmFjdGVyLgotCi0tIElzc3VlICM1MjE5OiBQcmV2ZW50IGV2ZW50IGhhbmRsZXIgY2FzY2FkZSBpbiBJRExFLgotCi0tIElzc3VlICM5NjQ0Mzc6IE1ha2UgSURMRSBoZWxwIHdpbmRvdyBub24tbW9kYWwuCi0gIFBhdGNoIGJ5IEd1aWxoZXJtZSBQb2xvIGFuZCBSb2dlciBTZXJ3eS4KLQotLSBJc3N1ZSAjMTM5MzM6IElETEUgYXV0by1jb21wbGV0ZSBkaWQgbm90IHdvcmsgd2l0aCBzb21lIGltcG9ydGVkCi0gIG1vZHVsZSwgbGlrZSBoYXNobGliLiAgKFBhdGNoIGJ5IFJvZ2VyIFNlcnd5KQotCi0tIElzc3VlICMxMzUwNjogQWRkICcnIHRvIHBhdGggZm9yIElETEUgU2hlbGwgd2hlbiBzdGFydGVkIGFuZCByZXN0YXJ0ZWQgd2l0aCBSZXN0YXJ0IFNoZWxsLgotICBPcmlnaW5hbCBwYXRjaGVzIGJ5IE1hcmNvIFNjYXRhZ2xpbmkgYW5kIFJvZ2VyIFNlcnd5LgotCi0tIElzc3VlICM0NjI1OiBJZiBJRExFIGNhbm5vdCB3cml0ZSB0byBpdHMgcmVjZW50IGZpbGUgb3IgYnJlYWtwb2ludCBmaWxlcywKLSAgZGlzcGxheSBhIG1lc3NhZ2UgcG9wdXAgYW5kIGNvbnRpbnVlIHJhdGhlciB0aGFuIGNyYXNoLiAgT3JpZ2luYWwgcGF0Y2ggYnkKLSAgUm9nZXIgU2Vyd3kuCi0KLS0gSXNzdWUgIzg2NDE6IFVwZGF0ZSBJRExFIDMgc3ludGF4IGNvbG9yaW5nIHRvIHJlY29nbml6ZSBiIi4uIiBhbmQgbm90IHUiLi4iLgotICBQYXRjaCBieSBUYWwgRWluYXQuCi0KLS0gSXNzdWUgIzEzMjk2OiBGaXggSURMRSB0byBjbGVhciBjb21waWxlIF9fZnV0dXJlX18gZmxhZ3Mgb24gc2hlbGwgcmVzdGFydC4KLSAgKFBhdGNoIGJ5IFJvZ2VyIFNlcnd5KQotCi0tIElzc3VlICM5ODcxOiBQcmV2ZW50IElETEUgMyBjcmFzaCB3aGVuIGdpdmVuIGJ5dGUgc3RpbmdzCi0gIHdpdGggaW52YWxpZCBoZXggZXNjYXBlIHNlcXVlbmNlcywgbGlrZSBiJ1x4MCcuCi0gIChPcmlnaW5hbCBwYXRjaCBieSBDbGF1ZGl1IFBvcGEuKQotCi0tIElzc3VlICMxMjYzNjogSURMRSByZWFkcyB0aGUgY29kaW5nIGNvb2tpZSB3aGVuIGV4ZWN1dGluZyBhIFB5dGhvbiBzY3JpcHQuCi0KLS0gSXNzdWUgIzEyNTQwOiBQcmV2ZW50IHpvbWJpZSBJRExFIHByb2Nlc3NlcyBvbiBXaW5kb3dzIGR1ZSB0byBjaGFuZ2VzCi0gIGluIG9zLmtpbGwoKS4KLQotLSBJc3N1ZSAjMTI1OTA6IElETEUgZWRpdG9yIHdpbmRvdyBub3cgYWx3YXlzIGRpc3BsYXlzIHRoZSBmaXJzdCBsaW5lCi0gIHdoZW4gb3BlbmluZyBhIGxvbmcgZmlsZS4gIFdpdGggVGsgOC41LCB0aGUgZmlyc3QgbGluZSB3YXMgaGlkZGVuLgotCi0tIElzc3VlICMxMTA4ODogZG9uJ3QgY3Jhc2ggd2hlbiB1c2luZyBGNSB0byBydW4gYSBzY3JpcHQgaW4gSURMRSBvbiBNYWNPU1gKLSAgd2l0aCBUayA4LjUuCi0KLS0gSXNzdWUgIzEwMjg6IFRrIHJldHVybnMgaW52YWxpZCBVbmljb2RlIG51bGwgaW4gJUE6IFVuaWNvZGVEZWNvZGVFcnJvci4KLSAgV2l0aCBUayA8IDguNSBfdGtpbnRlci5jOlB5dGhvbkNtZCgpIHJhaXNlZCBVbmljb2RlRGVjb2RlRXJyb3IsIGNhdXNlZAotICBJRExFIHRvIGV4aXQuICBDb252ZXJ0ZWQgdG8gdmFsaWQgVW5pY29kZSBudWxsIGluIFB5dGhvbkNtZCgpLgotCi0tIElzc3VlICMxMTcxODogSURMRSdzIG9wZW4gbW9kdWxlIGRpYWxvZyBjb3VsZG4ndCBmaW5kIHRoZSBfX2luaXRfXy5weQotICBmaWxlIGluIGEgcGFja2FnZS4KLQotVG9vbHMvRGVtb3MKLS0tLS0tLS0tLS0tCi0KLS0gSXNzdWUgIzE0MDUzOiBwYXRjaGNoZWNrLnB5ICgibWFrZSBwYXRjaGNoZWNrIikgbm93IHdvcmtzIHdpdGggTVEgcGF0Y2hlcy4KLSAgUGF0Y2ggYnkgRnJhbmNpc2NvIE1hcnTDrW4gQnJ1Z3XDqS4KLQotLSBJc3N1ZSAjMTM5MzA6IDJ0bzMgaXMgbm93IGFibGUgdG8gd3JpdGUgaXRzIGNvbnZlcnRlZCBvdXRwdXQgZmlsZXMgdG8gYW5vdGhlcgotICBkaXJlY3RvcnkgdHJlZSBhcyB3ZWxsIGFzIGNvcHlpbmcgdW5jaGFuZ2VkIGZpbGVzIGFuZCBhbHRlcmluZyB0aGUgZmlsZQotICBzdWZmaXguICBTZWUgaXRzIG5ldyAtbywgLVcgYW5kIC0tYWRkLXN1ZmZpeCBvcHRpb25zLiAgVGhpcyBtYWtlcyBpdCBtb3JlCi0gIHVzZWZ1bCBpbiBtYW55IGF1dG9tYXRlZCBjb2RlIHRyYW5zbGF0aW9uIHdvcmtmbG93cy4KLQotLSBJc3N1ZSAjMTM2Mjg6IHB5dGhvbi1nZGIucHkgaXMgbm93IGFibGUgdG8gcmV0cmlldmUgbW9yZSBmcmFtZXMgaW4gdGhlIFB5dGhvbgotICB0cmFjZWJhY2sgaWYgUHl0aG9uIGlzIG9wdGltaXplZC4KLQotLSBJc3N1ZSAjMTE5OTY6IGxpYnB5dGhvbiAoZ2RiKSwgcmVwbGFjZSAicHktYnQiIGNvbW1hbmQgYnkgInB5LWJ0LWZ1bGwiIGFuZAotICBhZGQgYSBzbWFydGVyICJweS1idCIgY29tbWFuZCBwcmludGluZyBhIGNsYXNzaWMgUHl0aG9uIHRyYWNlYmFjay4KLQotLSBJc3N1ZSAjMTExNzk6IE1ha2UgY2NiZW5jaCB3b3JrIHVuZGVyIFB5dGhvbiAzLjEgYW5kIDIuNyBhZ2Fpbi4KLQotLSBJc3N1ZSAjMTA2Mzk6IHJlaW5kZW50LnB5IG5vIGxvbmdlciBjb252ZXJ0cyBuZXdsaW5lcyBhbmQgd2lsbCByYWlzZQotICBhbiBlcnJvciBpZiBhdHRlbXB0aW5nIHRvIGNvbnZlcnQgYSBmaWxlIHdpdGggbWl4ZWQgbmV3bGluZXMuCi0gICItLW5ld2xpbmUiIG9wdGlvbiBhZGRlZCB0byBzcGVjaWZ5IG5ldyBsaW5lIGNoYXJhY3Rlci4KLQotRXh0ZW5zaW9uIE1vZHVsZXMKLS0tLS0tLS0tLS0tLS0tLS0tCi0KLS0gSXNzdWUgIzE2ODQ3OiBGaXhlZCBpbXByb3BlciB1c2Ugb2YgX1B5VW5pY29kZV9DaGVja0NvbnNpc3RlbmN5KCkgaW4KLSAgbm9uLXB5ZGVidWcgYnVpbGRzLiBTZXZlcmFsIGV4dGVuc2lvbiBtb2R1bGVzIG5vdyBjb21waWxlIGNsZWFubHkgd2hlbgotICBhc3NlcnQoKXMgYXJlIGVuYWJsZWQgaW4gc3RhbmRhcmQgYnVpbGRzICgtRERFQlVHIGZsYWcpLgotCi0tIElzc3VlICMxMzg0MDogVGhlIGVycm9yIG1lc3NhZ2UgcHJvZHVjZWQgYnkgY3R5cGVzLmNyZWF0ZV9zdHJpbmdfYnVmZmVyCi0gIHdoZW4gZ2l2ZW4gYSBVbmljb2RlIHN0cmluZyBoYXMgYmVlbiBmaXhlZC4KLQotLSBJc3N1ZSAjOTk3NTogc29ja2V0OiBGaXggaW5jb3JyZWN0IHVzZSBvZiBmbG93aW5mbyBhbmQgc2NvcGVfaWQuIFBhdGNoIGJ5Ci0gIFZpbG1vcyBOZWJlaGFqLgotCi0tIElzc3VlICM3Nzc3OiBzb2NrZXQ6IEFkZCBSZWxpYWJsZSBEYXRhZ3JhbSBTb2NrZXRzIChQRl9SRFMpIHN1cHBvcnQuCi0KLS0gSXNzdWUgIzEzMTU5OiBGaWxlSU8gYW5kIEJaMkNvbXByZXNzb3IvQloyRGVjb21wcmVzc29yIG5vdyB1c2UgYSBsaW5lYXItdGltZQotICBidWZmZXIgZ3Jvd3RoIHN0cmF0ZWd5IGluc3RlYWQgb2YgYSBxdWFkcmF0aWMtdGltZSBvbmUuCi0KLS0gSXNzdWUgIzEwMTQxOiBzb2NrZXQ6IEFkZCBTb2NrZXRDQU4gKFBGX0NBTikgc3VwcG9ydC4gSW5pdGlhbCBwYXRjaCBieQotICBNYXR0aGlhcyBGdWNocywgdXBkYXRlZCBieSBUaWFnbyBHb27Dp2FsdmVzLgotCi0tIElzc3VlICMxMzA3MDogRml4IGEgY3Jhc2ggd2hlbiBhIFRleHRJT1dyYXBwZXIgY2F1Z2h0IGluIGEgcmVmZXJlbmNlIGN5Y2xlCi0gIHdvdWxkIGJlIGZpbmFsaXplZCBhZnRlciB0aGUgcmVmZXJlbmNlIHRvIGl0cyB1bmRlcmx5aW5nIEJ1ZmZlcmVkUldQYWlyJ3MKLSAgd3JpdGVyIGdvdCBjbGVhcmVkIGJ5IHRoZSBHQy4KLQotLSBJc3N1ZSAjMTI4ODE6IGN0eXBlczogRml4IHNlZ2ZhdWx0IHdpdGggbGFyZ2Ugc3RydWN0dXJlIGZpZWxkIG5hbWVzLgotCi0tIElzc3VlICMxMzA1ODogb3NzYXVkaW9kZXY6IGZpeCBhIGZpbGUgZGVzY3JpcHRvciBsZWFrIG9uIGVycm9yLiBQYXRjaCBieQotICBUaG9tYXMgSmFyb3NjaC4KLQotLSBJc3N1ZSAjMTMwMTM6IGN0eXBlczogRml4IGEgcmVmZXJlbmNlIGxlYWsgaW4gUHlDQXJyYXlUeXBlX2Zyb21fY3R5cGUuCi0gIFRoYW5rcyB0byBTdW1hbiBTYWhhIGZvciBmaW5kaW5nIHRoZSBidWcgYW5kIHByb3ZpZGluZyBhIHBhdGNoLgotCi0tIElzc3VlICMxMzAyMjogRml4OiBfbXVsdGlwcm9jZXNzaW5nLnJlY3ZmZCgpIGRvZXNuJ3QgY2hlY2sgdGhhdAotICBmaWxlIGRlc2NyaXB0b3Igd2FzIGFjdHVhbGx5IHJlY2VpdmVkLgotCi0tIElzc3VlICMxMTcyNzExOiBBZGQgJ2xvbmcgbG9uZycgc3VwcG9ydCB0byB0aGUgYXJyYXkgbW9kdWxlLgotICBJbml0aWFsIHBhdGNoIGJ5IE9yZW4gVGlyb3NoIGFuZCBIaXJva2F6dSBZYW1hbW90by4KLQotLSBJc3N1ZSAjMTI0ODM6IGN0eXBlczogRml4IGEgY3Jhc2ggd2hlbiB0aGUgZGVzdHJ1Y3Rpb24gb2YgYSBjYWxsYmFjawotICBvYmplY3QgdHJpZ2dlcnMgdGhlIGdhcmJhZ2UgY29sbGVjdG9yLgotCi0tIElzc3VlICMxMjk1MDogRml4IHBhc3NpbmcgZmlsZSBkZXNjcmlwdG9ycyBpbiBtdWx0aXByb2Nlc3NpbmcsIHVuZGVyCi0gIE9wZW5JbmRpYW5hL0lsbHVtb3MuCi0KLS0gSXNzdWUgIzEyNzY0OiBGaXggYSBjcmFzaCBpbiBjdHlwZXMgd2hlbiB0aGUgbmFtZSBvZiBhIFN0cnVjdHVyZSBmaWVsZCBpcyBub3QKLSAgYSBzdHJpbmcuCi0KLS0gSXNzdWUgIzExMjQxOiBzdWJjbGFzc2VzIG9mIGN0eXBlcy5BcnJheSBjYW4gbm93IGJlIHN1YmNsYXNzZWQuCi0KLS0gSXNzdWUgIzk2NTE6IEZpeCBhIGNyYXNoIHdoZW4gY3R5cGVzLmNyZWF0ZV9zdHJpbmdfYnVmZmVyKDApIHdhcyBwYXNzZWQgdG8KLSAgc29tZSBmdW5jdGlvbnMgbGlrZSBmaWxlLndyaXRlKCkuCi0KLS0gSXNzdWUgIzEwMzA5OiBEZWZpbmUgX0dOVV9TT1VSQ0Ugc28gdGhhdCBtcmVtYXAoKSBnZXRzIHRoZSBwcm9wZXIKLSAgc2lnbmF0dXJlLiAgV2l0aG91dCB0aGlzLCBhcmNoaXRlY3R1cmVzIHdoZXJlIHNpemVvZiB2b2lkKiAhPSBzaXplb2YgaW50IGFyZQotICBicm9rZW4uICBQYXRjaCBnaXZlbiBieSBIYWxsdmFyZCBCIEZ1cnVzZXRoLgotCi0tIElzc3VlICMxMjA1MTogRml4IHNlZ2ZhdWx0IGluIGpzb24uZHVtcHMoKSB3aGlsZSBlbmNvZGluZyBoaWdobHktbmVzdGVkCi0gIG9iamVjdHMgdXNpbmcgdGhlIEMgYWNjZWxlcmF0aW9ucy4KLQotLSBJc3N1ZSAjMTIwMTc6IEZpeCBzZWdmYXVsdCBpbiBqc29uLmxvYWRzKCkgd2hpbGUgZGVjb2RpbmcgaGlnaGx5LW5lc3RlZAotICBvYmplY3RzIHVzaW5nIHRoZSBDIGFjY2VsZXJhdGlvbnMuCi0KLS0gSXNzdWUgIzE4Mzg6IFByZXZlbnQgc2VnZmF1bHQgaW4gY3R5cGVzLCB3aGVuIF9hc19wYXJhbWV0ZXJfIG9uIGEgY2xhc3MgaXMgc2V0Ci0gIHRvIGFuIGluc3RhbmNlIG9mIHRoZSBjbGFzcy4KLQotVGVzdHMKLS0tLS0tCi0KLS0gSXNzdWUgIzEzMTI1OiBTaWxlbmNlIHNwdXJpb3VzIHRlc3RfbGliMnRvMyBvdXRwdXQgd2hlbiBpbiBub24tdmVyYm9zZSBtb2RlLgotICBQYXRjaCBieSBNaWtoYWlsIE5vdmlrb3YuCi0KLS0gSXNzdWUgIzEzNDQ3OiBBZGQgYSB0ZXN0IGZpbGUgdG8gaG9zdCByZWdyZXNzaW9uIHRlc3RzIGZvciBidWdzIGluIHRoZQotICBzY3JpcHRzIGZvdW5kIGluIHRoZSBUb29scyBkaXJlY3RvcnkuCi0KLS0gSXNzdWUgIzEwODgxOiBGaXggdGVzdF9zaXRlIGZhaWx1cmUgd2l0aCBPUyBYIGZyYW1ld29yayBidWlsZHMuCi0KLS0gSXNzdWUgIzEzOTAxOiBQcmV2ZW50IHRlc3RfZGlzdHV0aWxzIGZhaWx1cmVzIG9uIE9TIFggd2l0aCAtLWVuYWJsZS1zaGFyZWQuCi0KLS0gSXNzdWUgIzEzODYyOiBGaXggc3B1cmlvdXMgZmFpbHVyZSBpbiB0ZXN0X3psaWIgZHVlIHRvIHJ1bnRpbWUvY29tcGlsZSB0aW1lCi0gIG1pbm9yIHZlcnNpb25zIG5vdCBtYXRjaGluZy4KLQotLSBJc3N1ZSAjMTI4MDQ6IEZpeCB0ZXN0X3NvY2tldCBhbmQgdGVzdF91cmxsaWIybmV0IGZhaWx1cmVzIHdoZW4gcnVubmluZyB0ZXN0cwotICBvbiBhIHN5c3RlbSB3aXRob3V0IGludGVybmV0IGFjY2Vzcy4KLQotLSBJc3N1ZSAjMTM3MjY6IEZpeCB0aGUgYW1iaWd1b3VzIC1TIGZsYWcgaW4gcmVncnRlc3QuIEl0IGlzIC1vLy0tc2xvdyBmb3Igc2xvdwotICB0ZXN0cy4KLQotLSBJc3N1ZSAjMTE2NTk6IEZpeCBSZXNvdXJjZVdhcm5pbmcgaW4gdGVzdF9zdWJwcm9jZXNzIGludHJvZHVjZWQgYnkgIzExNDU5LgotICBQYXRjaCBieSBCZW4gSGF5ZGVuLgotCi0tIElzc3VlICMxMTU3NzogZml4IFJlc291cmNlV2FybmluZyB0cmlnZ2VyZWQgYnkgaW1wcm92ZWQgYmluaGV4IHRlc3QgY292ZXJhZ2UKLQotLSBJc3N1ZSAjMTE1MDk6IFNpZ25pZmljYW50bHkgaW5jcmVhc2UgdGVzdCBjb3ZlcmFnZSBvZiBmaWxlaW5wdXQuCi0gIFBhdGNoIGJ5IERlbnZlciBDb25leWJlYXJlIGF0IFB5Q29uIDIwMTEgU3ByaW50cy4KLQotLSBJc3N1ZSAjMTE2ODk6IEZpeCBhIHZhcmlhYmxlIHNjb3BpbmcgZXJyb3IgaW4gYW4gc3FsaXRlMyB0ZXN0Ci0KLS0gSXNzdWUgIzEzNzg2OiBSZW1vdmUgdW5pbXBsZW1lbnRlZCAndHJhY2UnIGxvbmcgb3B0aW9uIGZyb20gcmVncnRlc3QucHkuCi0KLS0gSXNzdWUgIzEzNzI1OiBGaXggcmVncnRlc3QgdG8gcmVjb2duaXplIHRoZSBkb2N1bWVudGVkIC1kIGZsYWcuCi0gIFBhdGNoIGJ5IEVybm8gVHVraWEuCi0KLS0gSXNzdWUgIzEzMzA0OiBTa2lwIHRlc3QgY2FzZSBpZiB1c2VyIHNpdGUtcGFja2FnZXMgZGlzYWJsZWQgKC1zIG9yCi0gIFBZVEhPTk5PVVNFUlNJVEUpLiAgKFBhdGNoIGJ5IENhcmwgTWV5ZXIpCi0KLS0gSXNzdWUgIzU2NjE6IEFkZCBhIHRlc3QgZm9yIEVDT05OUkVTRVQvRVBJUEUgaGFuZGxpbmcgdG8gdGVzdF9hc3luY29yZS4gUGF0Y2gKLSAgYnkgWGF2aWVyIGRlIEdheWUuCi0KLS0gSXNzdWUgIzEzMjE4OiBGaXggdGVzdF9zc2wgZmFpbHVyZXMgb24gRGViaWFuL1VidW50dS4KLQotLSBSZS1lbmFibGUgbGliMnRvMydzIHRlc3RfcGFyc2VyLnB5IHRlc3RzLCB0aG91Z2ggd2l0aCBhbiBleHBlY3RlZCBmYWlsdXJlCi0gIChzZWUgaXNzdWUgMTMxMjUpLgotCi0tIElzc3VlICMxMjY1NjogQWRkIHRlc3RzIGZvciBJUHY2IGFuZCBVbml4IHNvY2tldHMgdG8gdGVzdF9hc3luY29yZS4KLQotLSBJc3N1ZSAjNjQ4NDogQWRkIHVuaXQgdGVzdHMgZm9yIG1haWxjYXAgbW9kdWxlIChwYXRjaCBieSBHcmVnb3J5IE5vZmkpCi0KLS0gSXNzdWUgIzExNjUxOiBJbXByb3ZlIHRoZSBNYWtlZmlsZSB0ZXN0IHRhcmdldHMgdG8gcnVuIG1vcmUgb2YgdGhlIHRlc3Qgc3VpdGUKLSAgbW9yZSBxdWlja2x5LiBUaGUgLS1tdWx0aXByb2Nlc3Mgb3B0aW9uIGlzIG5vdyBlbmFibGVkIGJ5IGRlZmF1bHQsIHJlZHVjaW5nCi0gIHRoZSBhbW91bnQgb2YgdGltZSBuZWVkZWQgdG8gcnVuIHRoZSB0ZXN0cy4gIm1ha2UgdGVzdCIgYW5kICJtYWtlIHF1aWNrdGVzdCIKLSAgbm93IGluY2x1ZGUgc29tZSByZXNvdXJjZS1pbnRlbnNpdmUgdGVzdHMsIGJ1dCBubyBsb25nZXIgcnVuIHRoZSB0ZXN0IHN1aXRlCi0gIHR3aWNlIHRvIGNoZWNrIGZvciBidWdzIGluIC5weWMgZ2VuZXJhdGlvbi4gVG9vbHMvc2NyaXB0cy9ydW5fdGVzdC5weSBwcm92aWRlcwotICBhbiBlYXN5IHBsYXRmb3JtLWluZGVwZW5kZW50IHdheSB0byBydW4gdGVzdCBzdWl0ZSB3aXRoIHNlbnNpYmxlIGRlZmF1bHRzLgotCi0tIElzc3VlICMxMjMzMTogVGhlIHRlc3Qgc3VpdGUgZm9yIHRoZSBwYWNrYWdpbmcgbW9kdWxlIGNhbiBub3cgcnVuIGZyb20gYW4KLSAgaW5zdGFsbGVkIFB5dGhvbi4KLQotLSBJc3N1ZSAjMTIzMzE6IFRoZSB0ZXN0IHN1aXRlIGZvciBsaWIydG8zIGNhbiBub3cgcnVuIGZyb20gYW4gaW5zdGFsbGVkCi0gIFB5dGhvbi4KLQotLSBJc3N1ZSAjMTI2MjY6IEluIHJlZ3J0ZXN0LCBhbGxvdyB0byBmaWx0ZXIgdGVzdHMgdXNpbmcgYSBnbG9iIGZpbHRlcgotICB3aXRoIHRoZSBgYC1tYGAgKG9yIGBgLS1tYXRjaGBgKSBvcHRpb24uICBUaGlzIHdvcmtzIHdpdGggYWxsIHRlc3QgY2FzZXMKLSAgdXNpbmcgdGhlIHVuaXR0ZXN0IG1vZHVsZS4gIFRoaXMgaXMgdXNlZnVsIHdpdGggbG9uZyB0ZXN0IHN1aXRlcwotICBzdWNoIGFzIHRlc3RfaW8gb3IgdGVzdF9zdWJwcm9jZXNzLgotCi0tIElzc3VlICMxMjYyNDogSXQgaXMgbm93IHBvc3NpYmxlIHRvIGZhaWwgYWZ0ZXIgdGhlIGZpcnN0IGZhaWx1cmUgd2hlbgotICBydW5uaW5nIGluIHZlcmJvc2UgbW9kZSAoYGAtdmBgIG9yIGBgLVdgYCksIGJ5IHVzaW5nIHRoZSBgYC0tZmFpbGZhc3RgYAotICAob3IgYGAtR2BgKSBvcHRpb24gdG8gcmVncnRlc3QuICBUaGlzIGlzIHVzZWZ1bCB3aXRoIGxvbmcgdGVzdCBzdWl0ZXMKLSAgc3VjaCBhcyB0ZXN0X2lvIG9yIHRlc3Rfc3VicHJvY2Vzcy4KLQotLSBJc3N1ZSAjMTI1ODc6IENvcnJlY3QgZmF1bHR5IHRlc3QgZmlsZSBhbmQgcmVmZXJlbmNlIGluIHRlc3RfdG9rZW5pemUuCi0gIChQYXRjaCBieSBSb2JlcnQgWGlhbykKLQotLSBJc3N1ZSAjMTI1NzM6IEFkZCByZXNvdXJjZSBjaGVja3MgZm9yIGRhbmdsaW5nIFRocmVhZCBhbmQgUHJvY2VzcyBvYmplY3RzLgotCi0tIElzc3VlICMxMjU0OTogQ29ycmVjdCB0ZXN0X3BsYXRmb3JtIHRvIG5vdCBmYWlsIHdoZW4gT1MgWCByZXR1cm5zICd4ODZfNjQnCi0gIGFzIHRoZSBwcm9jZXNzb3IgdHlwZSBvbiBzb21lIE1hYyBzeXN0ZW1zLgotCi0tIFNraXAgbmV0d29yayB0ZXN0cyB3aGVuIGdldGFkZHJpbmZvKCkgcmV0dXJucyBFQUlfQUdBSU4sIG1lYW5pbmcgYSB0ZW1wb3JhcnkKLSAgZmFpbHVyZSBpbiBuYW1lIHJlc29sdXRpb24uCi0KLS0gSXNzdWUgIzExODEyOiBTb2x2ZSB0cmFuc2llbnQgc29ja2V0IGZhaWx1cmUgdG8gY29ubmVjdCB0byAnbG9jYWxob3N0JwotICBpbiB0ZXN0X3RlbG5ldGxpYi5weS4KLQotLSBTb2x2ZWQgYSBwb3RlbnRpYWwgZGVhZGxvY2sgaW4gdGVzdF90ZWxuZXRsaWIucHkuIFJlbGF0ZWQgdG8gaXNzdWUgIzExODEyLgotCi0tIEF2b2lkIGZhaWxpbmcgaW4gdGVzdF9yb2JvdHBhcnNlciB3aGVuIG11ZWJsZXNtb3JhbGVkYS5jb20gaXMgZmxha3kgYW5kCi0gIGFuIG92ZXJ6ZWFsb3VzIEROUyBzZXJ2aWNlIChlLmcuIE9wZW5ETlMpIHJlZGlyZWN0cyB0byBhIHBsYWNlaG9sZGVyCi0gIFdlYiBzaXRlLgotCi0tIEF2b2lkIGZhaWxpbmcgaW4gdGVzdF91cmxsaWJuZXQudGVzdF9iYWRfYWRkcmVzcyB3aGVuIHNvbWUgb3ZlcnplYWxvdXMKLSAgRE5TIHNlcnZpY2UgKGUuZy4gT3BlbkROUykgcmVzb2x2ZXMgYSBub24tZXhpc3RlbnQgZG9tYWluIG5hbWUuICBUaGUgdGVzdAotICBpcyBub3cgc2tpcHBlZCBpbnN0ZWFkLgotCi0tIElzc3VlICMxMjQ0MDogV2hlbiB0ZXN0aW5nIHdoZXRoZXIgc29tZSBiaXRzIGluIFNTTENvbnRleHQub3B0aW9ucyBjYW4gYmUKLSAgcmVzZXQsIGNoZWNrIHRoZSB2ZXJzaW9uIG9mIHRoZSBPcGVuU1NMIGhlYWRlcnMgUHl0aG9uIHdhcyBjb21waWxlZCBhZ2FpbnN0LAotICByYXRoZXIgdGhhbiB0aGUgcnVudGltZSB2ZXJzaW9uIG9mIHRoZSBPcGVuU1NMIGxpYnJhcnkuCi0KLS0gSXNzdWUgIzExNTEyOiBBZGQgYSB0ZXN0IHN1aXRlIGZvciB0aGUgY2dpdGIgbW9kdWxlLiBQYXRjaCBieSBSb2JiaWUgQ2xlbW9ucy4KLQotLSBJc3N1ZSAjMTI0OTc6IEluc3RhbGwgdGVzdC9kYXRhIHRvIHByZXZlbnQgZmFpbHVyZXMgb2YgdGhlIHZhcmlvdXMgY29kZWNtYXBzCi0gIHRlc3RzLgotCi0tIElzc3VlICMxMjQ5NjogSW5zdGFsbCB0ZXN0L2NhcGF0aCBkaXJlY3RvcnkgdG8gcHJldmVudCB0ZXN0X2Nvbm5lY3RfY2FwYXRoCi0gIHRlc3RjYXNlIGZhaWx1cmUgaW4gdGVzdF9zc2wuCi0KLS0gSXNzdWUgIzEyNDY5OiBSdW4gd2FrZXVwIGFuZCBwZW5kaW5nIHNpZ25hbCB0ZXN0cyBpbiBhIHN1YnByb2Nlc3MgdG8gcnVuIHRoZQotICB0ZXN0IGluIGEgZnJlc2ggcHJvY2VzcyB3aXRoIG9ubHkgb25lIHRocmVhZCBhbmQgdG8gbm90IGNoYW5nZSBzaWduYWwKLSAgaGFuZGxpbmcgb2YgdGhlIHBhcmVudCBwcm9jZXNzLgotCi0tIElzc3VlICM4NzE2OiBBdm9pZCBjcmFzaGVzIGNhdXNlZCBieSBBcXVhIFRrIG9uIE9TWCB3aGVuIGF0dGVtcHRpbmcgdG8gcnVuCi0gIHRlc3RfdGsgb3IgdGVzdF90dGtfZ3Vpb25seSB1bmRlciBhIHVzZXJuYW1lIHRoYXQgaXMgbm90IGN1cnJlbnRseSBsb2dnZWQKLSAgaW4gdG8gdGhlIGNvbnNvbGUgd2luZG93c2VydmVyIChhcyBtYXkgYmUgdGhlIGNhc2UgdW5kZXIgYnVpbGRib3Qgb3Igc3NoKS4KLQotLSBJc3N1ZSAjMTI0MDc6IEV4cGxpY2l0bHkgc2tpcCB0ZXN0X2NhcGkuRW1iZWRkaW5nVGVzdCB1bmRlciBXaW5kb3dzLgotCi0tIElzc3VlICMxMjQwMDogcmVncnRlc3QgLVcgZG9lc24ndCByZXJ1biB0aGUgdGVzdHMgdHdpY2UgYW55bW9yZSwgYnV0IGNhcHR1cmVzCi0gIHRoZSBvdXRwdXQgYW5kIGRpc3BsYXlzIGl0IG9uIGZhaWx1cmUgaW5zdGVhZC4gcmVncnRlc3QgLXYgZG9lc24ndCBwcmludCB0aGUKLSAgZXJyb3IgdHdpY2UgYW55bW9yZSBpZiB0aGVyZSBpcyBvbmx5IG9uZSBlcnJvci4KLQotLSBJc3N1ZSAjMTIxNDE6IEluc3RhbGwgY29waWVzIG9mIHRlbXBsYXRlIEMgbW9kdWxlIGZpbGUgc28gdGhhdAotICB0ZXN0X2J1aWxkX2V4dCBvZiB0ZXN0X2Rpc3R1dGlscyBhbmQgdGVzdF9jb21tYW5kX2J1aWxkX2V4dCBvZgotICB0ZXN0X3BhY2thZ2luZyBhcmUgbm8gbG9uZ2VyIHNpbGVudGx5IHNraXBwZWQgd2hlbgotICBydW4gb3V0c2lkZSBvZiBhIGJ1aWxkIGRpcmVjdG9yeS4KLQotLSBJc3N1ZSAjODc0NjogQWRkIGFkZGl0aW9uYWwgdGVzdHMgZm9yIG9zLmNoZmxhZ3MoKSBhbmQgb3MubGNoZmxhZ3MoKS4KLSAgUGF0Y2ggYnkgR2FycmV0dCBDb29wZXIuCi0KLS0gSXNzdWUgIzEwNzM2OiBGaXggdGVzdF90dGsgdGVzdF93aWRnZXRzIGZhaWx1cmVzIHdpdGggQ29jb2EgVGsgOC41LjkKLSAgMi44ICsgIG9uIE1hYyBPUyBYLiAgKFBhdGNoIGJ5IFJvbmFsZCBPdXNzb3JlbikKLQotLSBJc3N1ZSAjMTIwNTc6IEFkZCB0ZXN0cyBmb3IgSVNPIDIwMjIgY29kZWNzIChpc28yMDIyX2pwLCBpc28yMDIyX2pwXzIsCi0gIGlzbzIwMjJfa3IpLgotCi0tIElzc3VlICMxMjA5NjogRml4IGEgcmFjZSBjb25kaXRpb24gaW4gdGVzdF90aHJlYWRpbmcudGVzdF93YWl0Zm9yKCkuIFBhdGNoCi0gIHdyaXR0ZW4gYnkgQ2hhcmxlcy1GcmFuw6dvaXMgTmF0YWxpLgotCi0tIElzc3VlICMxMTYxNDogaW1wb3J0IF9faGVsbG9fXyBwcmludHMgIkhlbGxvIFdvcmxkISIuIFBhdGNoIHdyaXR0ZW4gYnkKLSAgQW5kcmVhcyBTdMO8aHJrLgotCi0tIElzc3VlICM1NzIzOiBJbXByb3ZlIGpzb24gdGVzdHMgdG8gYmUgZXhlY3V0ZWQgd2l0aCBhbmQgd2l0aG91dCBhY2NlbGVyYXRpb25zLgotCi0tIElzc3VlICMxMjA0MTogTWFrZSB0ZXN0X3dhaXQzIG1vcmUgcm9idXN0LgotCi0tIElzc3VlICMxMTg3MzogQ2hhbmdlIHJlZ2V4IGluIHRlc3RfY29tcGlsZWFsbCB0byBmaXggb2NjYXNpb25hbCBmYWlsdXJlcyB3aGVuCi0gIHdoZW4gdGhlIHJhbmRvbWx5IGdlbmVyYXRlZCB0ZW1wb3JhcnkgcGF0aCBoYXBwZW5lZCB0byBtYXRjaCB0aGUgcmVnZXguCi0KLS0gSXNzdWUgIzExOTU4OiBGaXggRlRQIHRlc3RzIGZvciBJUHY2LCBiaW5kIHRvICI6OjEiIGluc3RlYWQgb2YgImxvY2FsaG9zdCIuCi0gIFBhdGNoIHdyaXR0ZW4gYnkgQ2hhcmxlcy1GcmFuY29pcyBOYXRhbGkuCi0KLS0gSXNzdWUgIzg0MDcsICMxMTg1OTogRml4IHRlc3RzIG9mIHRlc3RfaW8gdXNpbmcgdGhyZWFkcyBhbmQgYW4gYWxhcm06IHVzZQotICBwdGhyZWFkX3NpZ21hc2soKSB0byBlbnN1cmUgdGhhdCB0aGUgU0lHQUxSTSBzaWduYWwgaXMgcmVjZWl2ZWQgYnkgdGhlIG1haW4KLSAgdGhyZWFkLgotCi0tIElzc3VlICMxMTgxMTogRmFjdG9yIG91dCBkZXRlY3Rpb24gb2YgSVB2NiBzdXBwb3J0IG9uIHRoZSBjdXJyZW50IGhvc3QKLSAgYW5kIG1ha2UgaXQgYXZhaWxhYmxlIGFzIGBgdGVzdC5zdXBwb3J0LklQVjZfRU5BQkxFRGBgLiAgUGF0Y2ggYnkKLSAgQ2hhcmxlcy1GcmFuw6dvaXMgTmF0YWxpLgotCi0tIElzc3VlICMxMDkxNDogQWRkIGEgbWluaW1hbCBlbWJlZGRpbmcgdGVzdCB0byB0ZXN0X2NhcGkuCi0KLS0gSXNzdWUgIzExMjIzOiBTa2lwIHRlc3RfbG9ja19hY3F1aXJlX2ludGVycnVwdGlvbigpIGFuZAotICB0ZXN0X3Jsb2NrX2FjcXVpcmVfaW50ZXJydXB0aW9uKCkgb2YgdGVzdF90aHJlYWRzaWduYWxzIGlmIGEgdGhyZWFkIGxvY2sgaXMKLSAgaW1wbGVtZW50ZWQgdXNpbmcgYSBQT1NJWCBtdXRleCBhbmQgYSBQT1NJWCBjb25kaXRpb24gdmFyaWFibGUuIEEgUE9TSVgKLSAgY29uZGl0aW9uIHZhcmlhYmxlIGNhbm5vdCBiZSBpbnRlcnJ1cHRlZCBieSBhIHNpZ25hbCAoZS5nLiBvbiBMaW51eCwgdGhlCi0gIGZ1dGV4IHN5c3RlbSBjYWxsIGlzIHJlc3RhcnRlZCkuCi0KLS0gSXNzdWUgIzExNzkwOiBGaXggc3BvcmFkaWMgZmFpbHVyZXMgaW4gdGVzdF9tdWx0aXByb2Nlc3NpbmcuV2l0aFByb2Nlc3Nlc1Rlc3RDb25kaXRpb24uCi0KLS0gRml4IHBvc3NpYmxlICJmaWxlIGFscmVhZHkgZXhpc3RzIiBlcnJvciB3aGVuIHJ1bm5pbmcgdGhlIHRlc3RzIGluIHBhcmFsbGVsLgotCi0tIElzc3VlICMxMTcxOTogRml4IG1lc3NhZ2UgYWJvdXQgdW5leHBlY3RlZCB0ZXN0X21zaWxpYiBza2lwIG9uIG5vbi1XaW5kb3dzCi0gIHBsYXRmb3Jtcy4gUGF0Y2ggYnkgTmFkZWVtIFZhd2RhLgotCi0tIElzc3VlICMxMTcyNzogQWRkIGEgLS10aW1lb3V0IG9wdGlvbiB0byByZWdydGVzdDogaWYgYSB0ZXN0IHRha2VzIG1vcmUgdGhhbgotICBUSU1FT1VUIHNlY29uZHMsIGR1bXBzIHRoZSB0cmFjZWJhY2sgb2YgYWxsIHRocmVhZHMgYW5kIGV4aXRzLgotCi0tIElzc3VlICMxMTY1MzogZml4IC1XIHdpdGggLWogaW4gcmVncnRlc3QuCi0KLS0gVGhlIGVtYWlsIHRlc3Qgc3VpdGUgbm93IGxpdmVzIGluIHRoZSBMaWIvdGVzdC90ZXN0X2VtYWlsIHBhY2thZ2UuICBUaGUgdGVzdAotICBoYXJuZXNzIGNvZGUgaGFzIGFsc28gYmVlbiBtb2Rlcm5pemVkIHRvIGFsbG93IHVzZSBvZiBuZXcgdW5pdHRlc3QgZmVhdHVyZXMuCi0KLS0gcmVncnRlc3Qgbm93IGRpc2NvdmVycyB0ZXN0IHBhY2thZ2VzIGFzIHdlbGwgYXMgdGVzdCBtb2R1bGVzLgotCi0tIElzc3VlICMxMTU3NzogaW1wcm92ZSB0ZXN0IGNvdmVyYWdlIG9mIGJpbmhleC5weS4gUGF0Y2ggYnkgQXJrYWR5IEtvcGx5YXJvdi4KLQotLSBOZXcgdGVzdF9jcmFzaGVycyBhZGRlZCB0byBleGVyY2lzZSB0aGUgc2NyaXB0cyBpbiB0aGUgTGliL3Rlc3QvY3Jhc2hlcnMKLSAgZGlyZWN0b3J5IGFuZCBjb25maXJtIHRoZXkgZmFpbCBhcyBleHBlY3RlZAotCi0tIElzc3VlICMxMTU3ODogYWRkZWQgdGVzdCBmb3IgdGhlIHRpbWVpdCBtb2R1bGUuICBQYXRjaCBieSBNaWNoYWVsIEhlbnJ5LgotCi0tIElzc3VlICMxMTUwMzogaW1wcm92ZSB0ZXN0IGNvdmVyYWdlIG9mIHBvc2l4cGF0aC5weS4gUGF0Y2ggYnkgRXZhbiBEYW5kcmVhLgotCi0tIElzc3VlICMxMTUwNTogaW1wcm92ZXMgdGVzdCBjb3ZlcmFnZSBvZiBzdHJpbmcucHksIGluY3JlYXNlcyBncmFudWxhcml0eSBvZgotICBzdHJpbmcuRm9ybWF0dGVyIHRlc3RzLiBJbml0aWFsIHBhdGNoIGJ5IEFsaWNpYSBBcmxlbi4KLQotLSBJc3N1ZSAjMTE1NDg6IEltcHJvdmUgdGVzdCBjb3ZlcmFnZSBvZiB0aGUgc2h1dGlsIG1vZHVsZS4gUGF0Y2ggYnkKLSAgRXZhbiBEYW5kcmVhLgotCi0tIElzc3VlICMxMTU1NDogUmVhY3RpdmF0ZWQgdGVzdF9lbWFpbF9jb2RlY3MuCi0KLS0gSXNzdWUgIzExNTA1OiBpbXByb3ZlcyB0ZXN0IGNvdmVyYWdlIG9mIHN0cmluZy5weS4gUGF0Y2ggYnkgQWxpY2lhCi0gIEFybGVuCi0KLS0gSXNzdWUgIzExNDkwOiB0ZXN0X3N1YnByb2Nlc3MudGVzdF9sZWFraW5nX2Zkc19vbl9lcnJvciBubyBsb25nZXIgZ2l2ZXMgYQotICBmYWxzZSBwb3NpdGl2ZSBpZiB0aGUgbGFzdCBkaXJlY3RvcnkgaW4gdGhlIHBhdGggaXMgaW5hY2Nlc3NpYmxlLgotCi0tIElzc3VlICMxMTIyMzogRml4IHRlc3RfdGhyZWFkc2lnbmFscyB0byBmYWlsLCBub3QgaGFuZywgd2hlbiB0aGUKLSAgbm9uLXNlbWFwaG9yZSBpbXBsZW1lbnRhdGlvbiBvZiBsb2NrcyBpcyB1c2VkIHVuZGVyIFBPU0lYLgotCi0tIElzc3VlICMxMDkxMTogQWRkIHRlc3RzIG9uIENHSSB3aXRoIG5vbi1BU0NJSSBjaGFyYWN0ZXJzLiBQYXRjaCB3cml0dGVuIGJ5Ci0gIFBpZXJyZSBRdWVudGVsLgotCi0tIElzc3VlICM5OTMxOiBGaXggaGFuZ3MgaW4gR1VJIHRlc3RzIHVuZGVyIFdpbmRvd3MgaW4gY2VydGFpbiBjb25kaXRpb25zLgotICBQYXRjaCBieSBIaXJva2F6dSBZYW1hbW90by4KLQotLSBJc3N1ZSAjMTA1MTI6IFByb3Blcmx5IGNsb3NlIHNvY2tldHMgdW5kZXIgdGVzdC50ZXN0X2NnaS4KLQotLSBJc3N1ZSAjMTA5OTI6IE1ha2UgdGVzdHMgcGFzcyB1bmRlciBjb3ZlcmFnZS4KLQotLSBJc3N1ZSAjMTA4MjY6IFByZXZlbnQgc3BvcmFkaWMgZmFpbHVyZSBpbiB0ZXN0X3N1YnByb2Nlc3Mgb24gU29sYXJpcyBkdWUKLSAgdG8gb3BlbiBkb29yIGZpbGVzLgotCi0tIElzc3VlICMxMDk5MDogUHJldmVudCB0ZXN0cyBmcm9tIGNsb2JiZXJpbmcgYSBzZXQgdHJhY2UgZnVuY3Rpb24uCi0KLUMtQVBJCi0tLS0tLQotCi0tIElzc3VlICMxMzQ1MjogUHlVbmljb2RlX0VuY29kZURlY2ltYWwoKSBkb2Vzbid0IHN1cHBvcnQgZXJyb3IgaGFuZGxlcnMKLSAgZGlmZmVyZW50IHRoYW4gInN0cmljdCIgYW55bW9yZS4gVGhlIGNhbGxlciB3YXMgdW5hYmxlIHRvIGNvbXB1dGUgdGhlCi0gIHNpemUgb2YgdGhlIG91dHB1dCBidWZmZXI6IGl0IGRlcGVuZHMgb24gdGhlIGVycm9yIGhhbmRsZXIuCi0KLS0gSXNzdWUgIzEzNTYwOiBBZGQgUHlVbmljb2RlX0RlY29kZUxvY2FsZSgpLCBQeVVuaWNvZGVfRGVjb2RlTG9jYWxlQW5kU2l6ZSgpCi0gIGFuZCBQeVVuaWNvZGVfRW5jb2RlTG9jYWxlKCkgZnVuY3Rpb25zIHRvIHRoZSBDIEFQSSB0byBkZWNvZGUvZW5jb2RlIGZyb20vdG8KLSAgdGhlIGN1cnJlbnQgbG9jYWxlIGVuY29kaW5nLgotCi0tIElzc3VlICMxMDgzMTogUHlVbmljb2RlX0Zyb21Gb3JtYXQoKSBzdXBwb3J0cyAlbGksICVsbGkgYW5kICV6aSBmb3JtYXRzLgotCi0tIElzc3VlICMxMTI0NjogRml4IFB5VW5pY29kZV9Gcm9tRm9ybWF0KCIlViIpIHRvIGRlY29kZSB0aGUgYnl0ZSBzdHJpbmcgZnJvbQotICBVVEYtOCAod2l0aCByZXBsYWNlIGVycm9yIGhhbmRsZXIpIGluc3RlYWQgb2YgSVNPLTg4NTktMSAoaW4gc3RyaWN0IG1vZGUpLgotICBQYXRjaCB3cml0dGVuIGJ5IFJheSBBbGxlbi4KLQotLSBJc3N1ZSAjMTA4MzA6IEZpeCBQeVVuaWNvZGVfRnJvbUZvcm1hdFYoIiVjIikgZm9yIG5vbi1CTVAgY2hhcmFjdGVycyBvbgotICBuYXJyb3cgYnVpbGQuCi0KLS0gQWRkIFB5T2JqZWN0X0dlbmVyaWNHZXREaWN0IGFuZCBQeU9iamVjdF9HZW5lcmlTZXREaWN0LiBUaGV5IGFyZSBnZW5lcmljCi0gIGltcGxlbWVudGF0aW9ucyBmb3IgdGhlIGdldHRlciBhbmQgc2V0dGVyIG9mIGEgYGBfX2RpY3RfX2BgIGRlc2NyaXB0b3Igb2YgQwotICB0eXBlcy4KLQotLSBJc3N1ZSAjMTM3Mjc6IEFkZCAzIG1hY3JvcyB0byBhY2Nlc3MgUHlEYXRlVGltZV9EZWx0YSBtZW1iZXJzOgotICBQeURhdGVUaW1lX0RFTFRBX0dFVF9EQVlTLCBQeURhdGVUaW1lX0RFTFRBX0dFVF9TRUNPTkRTLAotICBQeURhdGVUaW1lX0RFTFRBX0dFVF9NSUNST1NFQ09ORFMuCi0KLS0gSXNzdWUgIzEwNTQyOiBBZGQgNCBtYWNyb3MgdG8gd29yayB3aXRoIHN1cnJvZ2F0ZXM6IFB5X1VOSUNPREVfSVNfU1VSUk9HQVRFLAotICBQeV9VTklDT0RFX0lTX0hJR0hfU1VSUk9HQVRFLCBQeV9VTklDT0RFX0lTX0xPV19TVVJST0dBVEUsCi0gIFB5X1VOSUNPREVfSk9JTl9TVVJST0dBVEVTLgotCi0tIElzc3VlICMxMjcyNDogQWRkIFB5X1JFVFVSTl9OT1RJTVBMRU1FTlRFRCBtYWNybyBmb3IgcmV0dXJuaW5nIE5vdEltcGxlbWVudGVkLgotCi0tIFBZX1BBVENITEVWRUxfUkVWSVNJT04gaGFzIGJlZW4gcmVtb3ZlZCwgc2luY2UgaXQncyBtZWFuaW5nbGVzcyB3aXRoCi0gIE1lcmN1cmlhbC4KLQotLSBJc3N1ZSAjMTIxNzM6IFRoZSBmaXJzdCBhcmd1bWVudCBvZiBQeUltcG9ydF9JbXBvcnRNb2R1bGVMZXZlbCBpcyBub3cgYGNvbnN0Ci0gIGNoYXIgKmAgaW5zdGVhZCBvZiBgY2hhciAqYC4KLQotLSBJc3N1ZSAjMTIzODA6IFB5QXJnX1BhcnNlVHVwbGUgbm93IGFjY2VwdHMgYSBieXRlYXJyYXkgZm9yIHRoZSAnYycgZm9ybWF0LgotCi1Eb2N1bWVudGF0aW9uCi0tLS0tLS0tLS0tLS0tCi0KLS0gSXNzdWUgIzIzMDA2OiBJbXByb3ZlIHRoZSBkb2N1bWVudGF0aW9uIGFuZCBpbmRleGluZyBvZiBkaWN0Ll9fbWlzc2luZ19fLgotICBBZGQgYW4gZW50cnkgaW4gdGhlIGxhbmd1YWdlIGRhdGFtb2RlbCBzcGVjaWFsIG1ldGhvZHMgc2VjdGlvbi4KLSAgUmV2aXNlIGFuZCBpbmRleCBpdHMgZGlzY3Vzc2lvbiBpbiB0aGUgc3RkdHlwZXMgbWFwcGluZy9kaWN0IHNlY3Rpb24uCi0KLS0gSXNzdWUgIzEzOTg5OiBEb2N1bWVudCB0aGF0IEd6aXBGaWxlIGRvZXMgbm90IHN1cHBvcnQgdGV4dCBtb2RlLCBhbmQgZ2l2ZSBhCi0gIG1vcmUgaGVscGZ1bCBlcnJvciBtZXNzYWdlIHdoZW4gb3BlbmVkIHdpdGggYW4gaW52YWxpZCBtb2RlIHN0cmluZy4KLQotLSBJc3N1ZSAjMTM5MjE6IFVuZG9jdW1lbnQgYW5kIGNsZWFuIHVwIHNxbGl0ZTMuT3B0aW1pemVkVW5pY29kZSwKLSAgd2hpY2ggaXMgb2Jzb2xldGUgaW4gUHl0aG9uIDMueC4gSXQncyBub3cgYWxpYXNlZCB0byBzdHIgZm9yCi0gIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LgotCi0tIElzc3VlICMxMjEwMjogRG9jdW1lbnQgdGhhdCBidWZmZXJlZCBmaWxlcyBtdXN0IGJlIGZsdXNoZWQgYmVmb3JlIGJlaW5nIHVzZWQKLSAgd2l0aCBtbWFwLiBQYXRjaCBieSBTdGVmZmVuIERhb2RlIE51cnBtZXNvLgotCi0tIElzc3VlICM4OTgyOiBJbXByb3ZlIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYXJncGFyc2UgTmFtZXNwYWNlIG9iamVjdC4KLQotLSBJc3N1ZSAjOTM0MzogRG9jdW1lbnQgdGhhdCBhcmdwYXJzZSBwYXJlbnQgcGFyc2VycyBtdXN0IGJlIGNvbmZpZ3VyZWQgYmVmb3JlCi0gIHRoZWlyIGNoaWxkcmVuLgotCi0tIElzc3VlICMxMzQ5ODogQ2xhcmlmeSBkb2NzIG9mIG9zLm1ha2VkaXJzKCkncyBleGlzdF9vayBhcmd1bWVudC4gIERvbmUgd2l0aAotICBncmVhdCBuYXRpdmUtc3BlYWtlciBoZWxwIGZyb20gUi4gRGF2aWQgTXVycmF5LgotCi0tIElzc3VlcyAjMTM0OTEgYW5kICMxMzk5NTogRml4IG1hbnkgZXJyb3JzIGluIHNxbGl0ZTMgZG9jdW1lbnRhdGlvbi4KLSAgSW5pdGlhbCBwYXRjaCBmb3IgIzEzNDkxIGJ5IEpvaGFubmVzIFZvZ2VsLgotCi0tIElzc3VlICMxMzQwMjogRG9jdW1lbnQgYWJzb2x1dGVuZXNzIG9mIHN5cy5leGVjdXRhYmxlLgotCi0tIElzc3VlICMxMzg4MzogUFlUSE9OQ0FTRU9LIGFsc28gd29ya3Mgb24gT1MgWC4KLQotLSBJc3N1ZSAjOTAyMTogQWRkIGFuIGludHJvZHVjdGlvbiB0byB0aGUgY29weSBtb2R1bGUgZG9jdW1lbnRhdGlvbi4KLQotLSBJc3N1ZSAjNjAwNTogRXhhbXBsZXMgaW4gdGhlIHNvY2tldCBsaWJyYXJ5IGRvY3VtZW50YXRpb24gdXNlIHNlbmRhbGwsIHdoZXJlCi0gIHJlbGV2YW50LCBpbnN0ZWFkIHNlbmQgbWV0aG9kLgotCi0tIElzc3VlICMxMjc5ODogVXBkYXRlZCB0aGUgbWltZXR5cGVzIGRvY3VtZW50YXRpb24uCi0KLS0gSXNzdWUgIzEyOTQ5OiBEb2N1bWVudCB0aGUga3dvbmx5YXJnY291bnQgYXJndW1lbnQgZm9yIHRoZSBQeUNvZGVfTmV3Ci0gIEMgQVBJIGZ1bmN0aW9uLgotCi0tIElzc3VlICMxMzUxMzogRml4IGlvLklPQmFzZSBkb2N1bWVudGF0aW9uIHRvIGNvcnJlY3RseSBsaW5rIHRvIHRoZQotICBpby5JT0Jhc2UucmVhZGxpbmUgbWV0aG9kIGluc3RlYWQgb2YgdGhlIHJlYWRsaW5lIG1vZHVsZS4KLQotLSBJc3N1ZSAjMTMyMzc6IFJlb3JnYW5pc2Ugc3VicHJvY2VzcyBkb2N1bWVudGF0aW9uIHRvIGVtcGhhc2lzZSBjb252ZW5pZW5jZQotICBmdW5jdGlvbnMgYW5kIHRoZSBtb3N0IGNvbW1vbmx5IG5lZWRlZCBhcmd1bWVudHMgdG8gUG9wZW4uCi0KLS0gSXNzdWUgIzEzMTQxOiBEZW1vbnN0cmF0ZSByZWNvbW1lbmRlZCBzdHlsZSBmb3Igc29ja2V0c2VydmVyIGV4YW1wbGVzLgotCi0tIElzc3VlICMxMTgxODogRml4IHRlbXBmaWxlIGV4YW1wbGVzIGZvciBQeXRob24gMy4KLQotCiAqKihGb3IgaW5mb3JtYXRpb24gYWJvdXQgb2xkZXIgdmVyc2lvbnMsIGNvbnN1bHQgdGhlIEhJU1RPUlkgZmlsZS4pKioKZGlmZiAtLWdpdCBhL01pc2MvUlBNL3B5dGhvbi0zLjQuc3BlYyBiL01pc2MvUlBNL3B5dGhvbi0zLjUuc3BlYwpzaW1pbGFyaXR5IGluZGV4IDk5JQpyZW5hbWUgZnJvbSBNaXNjL1JQTS9weXRob24tMy40LnNwZWMKcmVuYW1lIHRvIE1pc2MvUlBNL3B5dGhvbi0zLjUuc3BlYwppbmRleCBhZTA5MzhmLi44ZWZkYTBlIDEwMDY0NAotLS0gYS9NaXNjL1JQTS9weXRob24tMy40LnNwZWMKKysrIGIvTWlzYy9SUE0vcHl0aG9uLTMuNS5zcGVjCkBAIC0zOSw4ICszOSw4IEBACiAKICVkZWZpbmUgbmFtZSBweXRob24KICMtLXN0YXJ0IGNvbnN0YW50cy0tCi0lZGVmaW5lIHZlcnNpb24gMy40LjNyYzEKLSVkZWZpbmUgbGlidmVycyAzLjQKKyVkZWZpbmUgdmVyc2lvbiAzLjUuMGExCislZGVmaW5lIGxpYnZlcnMgMy41CiAjLS1lbmQgY29uc3RhbnRzLS0KICVkZWZpbmUgcmVsZWFzZSAxcHlkb3RvcmcKICVkZWZpbmUgX19wcmVmaXggL3VzcgpkaWZmIC0tZ2l0IGEvTWlzYy9jb3Zlcml0eV9tb2RlbC5jIGIvTWlzYy9jb3Zlcml0eV9tb2RlbC5jCmluZGV4IDU3ZjNhZWIuLjQyMWQ1NGQgMTAwNjQ0Ci0tLSBhL01pc2MvY292ZXJpdHlfbW9kZWwuYworKysgYi9NaXNjL2NvdmVyaXR5X21vZGVsLmMKQEAgLTg1LDcgKzg1LDcgQEAKIH0KIAogLyogUHl0aG9uL2ZpbGV1dGlscy5jICovCi13Y2hhcl90ICpfUHlfY2hhcjJ3Y2hhcihjb25zdCBjaGFyKiBhcmcsIHNpemVfdCAqc2l6ZSkKK3djaGFyX3QgKlB5X0RlY29kZUxvY2FsZShjb25zdCBjaGFyKiBhcmcsIHNpemVfdCAqc2l6ZSkKIHsKICAgIHdjaGFyX3QgKnc7CiAgICAgX19jb3Zlcml0eV90YWludGVkX2RhdGFfc2lua19fKGFyZyk7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL1JFQURNRSBiL01vZHVsZXMvUkVBRE1FCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjliNzlmNTMKLS0tIC9kZXYvbnVsbAorKysgYi9Nb2R1bGVzL1JFQURNRQpAQCAtMCwwICsxLDIgQEAKK1NvdXJjZSBmaWxlcyBmb3Igc3RhbmRhcmQgbGlicmFyeSBleHRlbnNpb24gbW9kdWxlcywKK2FuZCBmb3JtZXIgZXh0ZW5zaW9uIG1vZHVsZXMgdGhhdCBhcmUgbm93IGJ1aWx0aW4gbW9kdWxlcy4KZGlmZiAtLWdpdCBhL01vZHVsZXMvU2V0dXAuY29uZmlnLmluIGIvTW9kdWxlcy9TZXR1cC5jb25maWcuaW4KaW5kZXggNWFjMjQwNC4uYWRhYzAzMCAxMDA2NDQKLS0tIGEvTW9kdWxlcy9TZXR1cC5jb25maWcuaW4KKysrIGIvTW9kdWxlcy9TZXR1cC5jb25maWcuaW4KQEAgLTcsNyArNyw3IEBACiBAVVNFX1RIUkVBRF9NT0RVTEVAX3RocmVhZCBfdGhyZWFkbW9kdWxlLmMKIAogIyBUaGUgc2lnbmFsIG1vZHVsZQotQFVTRV9TSUdOQUxfTU9EVUxFQHNpZ25hbCBzaWduYWxtb2R1bGUuYworQFVTRV9TSUdOQUxfTU9EVUxFQF9zaWduYWwgc2lnbmFsbW9kdWxlLmMKIAogIyBUaGUgcmVzdCBvZiB0aGUgbW9kdWxlcyBwcmV2aW91c2x5IGxpc3RlZCBpbiB0aGlzIGZpbGUgYXJlIGJ1aWx0CiAjIGJ5IHRoZSBzZXR1cC5weSBzY3JpcHQgaW4gUHl0aG9uIDIuMSBhbmQgbGF0ZXIuCmRpZmYgLS1naXQgYS9Nb2R1bGVzL1NldHVwLmRpc3QgYi9Nb2R1bGVzL1NldHVwLmRpc3QKaW5kZXggMDFmYjg1Zi4uZWU4NGRmNCAxMDA2NDQKLS0tIGEvTW9kdWxlcy9TZXR1cC5kaXN0CisrKyBiL01vZHVsZXMvU2V0dXAuZGlzdApAQCAtMTE4LDYgKzExOCw3IEBACiBpdGVydG9vbHMgaXRlcnRvb2xzbW9kdWxlLmMgICAgIyBGdW5jdGlvbnMgY3JlYXRpbmcgaXRlcmF0b3JzIGZvciBlZmZpY2llbnQgbG9vcGluZwogYXRleGl0IGF0ZXhpdG1vZHVsZS5jICAgICAgIyBSZWdpc3RlciBmdW5jdGlvbnMgdG8gYmUgcnVuIGF0IGludGVycHJldGVyLXNodXRkb3duCiBfc3RhdCBfc3RhdC5jCQkJIyBzdGF0LmggaW50ZXJmYWNlCit0aW1lIHRpbWVtb2R1bGUuYwkJIyB0aW1lIG1vZHVsZQogCiAjIGFjY2VzcyB0byBJU08gQyBsb2NhbGUgc3VwcG9ydAogX2xvY2FsZSBfbG9jYWxlbW9kdWxlLmMgICMgLWxpbnRsCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19iejJtb2R1bGUuYyBiL01vZHVsZXMvX2J6Mm1vZHVsZS5jCmluZGV4IGU2NTJmNGQuLjRmMmFmZGEgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX2J6Mm1vZHVsZS5jCisrKyBiL01vZHVsZXMvX2J6Mm1vZHVsZS5jCkBAIC0xODgsNyArMTg4LDcgQEAKICAgICAgICAgaWYgKGFjdGlvbiA9PSBCWl9GSU5JU0ggJiYgYnplcnJvciA9PSBCWl9TVFJFQU1fRU5EKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgfQotICAgIGlmIChkYXRhX3NpemUgIT0gUHlCeXRlc19HRVRfU0laRShyZXN1bHQpKQorICAgIGlmIChkYXRhX3NpemUgIT0gKHNpemVfdClQeUJ5dGVzX0dFVF9TSVpFKHJlc3VsdCkpCiAgICAgICAgIGlmIChfUHlCeXRlc19SZXNpemUoJnJlc3VsdCwgZGF0YV9zaXplKSA8IDApCiAgICAgICAgICAgICBnb3RvIGVycm9yOwogICAgIHJldHVybiByZXN1bHQ7CkBAIC00NTcsNyArNDU3LDcgQEAKICAgICAgICAgICAgIGQtPmJ6cy5hdmFpbF9vdXQgPSAodW5zaWduZWQgaW50KVB5X01JTihidWZmZXJfbGVmdCwgVUlOVF9NQVgpOwogICAgICAgICB9CiAgICAgfQotICAgIGlmIChkYXRhX3NpemUgIT0gUHlCeXRlc19HRVRfU0laRShyZXN1bHQpKQorICAgIGlmIChkYXRhX3NpemUgIT0gKHNpemVfdClQeUJ5dGVzX0dFVF9TSVpFKHJlc3VsdCkpCiAgICAgICAgIGlmIChfUHlCeXRlc19SZXNpemUoJnJlc3VsdCwgZGF0YV9zaXplKSA8IDApCiAgICAgICAgICAgICBnb3RvIGVycm9yOwogICAgIHJldHVybiByZXN1bHQ7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL19jb2RlY3Ntb2R1bGUuYyBiL01vZHVsZXMvX2NvZGVjc21vZHVsZS5jCmluZGV4IDUyZjM0NzkuLmJmNDA4YWYgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX2NvZGVjc21vZHVsZS5jCisrKyBiL01vZHVsZXMvX2NvZGVjc21vZHVsZS5jCkBAIC05NSwxMyArOTUsMTUgQEAKIGNvZGVjcy5yZWdpc3Rlcl9lcnJvciB0aGF0IGNhbiBoYW5kbGUgVmFsdWVFcnJvcnMuIik7CiAKIHN0YXRpYyBQeU9iamVjdCAqCi1jb2RlY19lbmNvZGUoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorY29kZWNfZW5jb2RlKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKKyAgICBzdGF0aWMgY2hhciAqa3dsaXN0W10gPSB7Im9iaiIsICJlbmNvZGluZyIsICJlcnJvcnMiLCBOVUxMfTsKICAgICBjb25zdCBjaGFyICplbmNvZGluZyA9IE5VTEw7CiAgICAgY29uc3QgY2hhciAqZXJyb3JzID0gTlVMTDsKICAgICBQeU9iamVjdCAqdjsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiT3xzczplbmNvZGUiLCAmdiwgJmVuY29kaW5nLCAmZXJyb3JzKSkKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsICJPfHNzOmVuY29kZSIsIGt3bGlzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdiwgJmVuY29kaW5nLCAmZXJyb3JzKSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICBpZiAoZW5jb2RpbmcgPT0gTlVMTCkKQEAgLTEyMiwxMyArMTI0LDE1IEBACiBhYmxlIHRvIGhhbmRsZSBWYWx1ZUVycm9ycy4iKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKLWNvZGVjX2RlY29kZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitjb2RlY19kZWNvZGUoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogeworICAgIHN0YXRpYyBjaGFyICprd2xpc3RbXSA9IHsib2JqIiwgImVuY29kaW5nIiwgImVycm9ycyIsIE5VTEx9OwogICAgIGNvbnN0IGNoYXIgKmVuY29kaW5nID0gTlVMTDsKICAgICBjb25zdCBjaGFyICplcnJvcnMgPSBOVUxMOwogICAgIFB5T2JqZWN0ICp2OwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPfHNzOmRlY29kZSIsICZ2LCAmZW5jb2RpbmcsICZlcnJvcnMpKQorICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgIk98c3M6ZGVjb2RlIiwga3dsaXN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ2LCAmZW5jb2RpbmcsICZlcnJvcnMpKQogICAgICAgICByZXR1cm4gTlVMTDsKIAogICAgIGlmIChlbmNvZGluZyA9PSBOVUxMKQpAQCAtNzUwLDcgKzc1NCw3IEBACiAgICAgICAgIHUgPSBQeVVuaWNvZGVfQXNVbmljb2RlQW5kU2l6ZShvYmosICZsZW4pOwogICAgICAgICBpZiAodSA9PSBOVUxMKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIGlmIChsZW4gPiBQWV9TU0laRV9UX01BWCAvIHNpemVvZihQeV9VTklDT0RFKSkKKyAgICAgICAgaWYgKChzaXplX3QpbGVuID4gKHNpemVfdClQWV9TU0laRV9UX01BWCAvIHNpemVvZihQeV9VTklDT0RFKSkKICAgICAgICAgICAgIHJldHVybiBQeUVycl9Ob01lbW9yeSgpOwogICAgICAgICBzaXplID0gbGVuICogc2l6ZW9mKFB5X1VOSUNPREUpOwogICAgICAgICByZXR1cm4gY29kZWNfdHVwbGUoUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZSgoY29uc3QgY2hhciopdSwgc2l6ZSksCkBAIC0xMTc5LDkgKzExODMsOSBAQAogICAgICAgICByZWdpc3Rlcl9fZG9jX199LAogICAgIHsibG9va3VwIiwgICAgICAgICAgICAgICAgICBjb2RlY19sb29rdXAsICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUywKICAgICAgICAgbG9va3VwX19kb2NfX30sCi0gICAgeyJlbmNvZGUiLCAgICAgICAgICAgICAgICAgIGNvZGVjX2VuY29kZSwgICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTLAorICAgIHsiZW5jb2RlIiwgICAgIChQeUNGdW5jdGlvbiljb2RlY19lbmNvZGUsICAgICBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywKICAgICAgICAgZW5jb2RlX19kb2NfX30sCi0gICAgeyJkZWNvZGUiLCAgICAgICAgICAgICAgICAgIGNvZGVjX2RlY29kZSwgICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTLAorICAgIHsiZGVjb2RlIiwgICAgIChQeUNGdW5jdGlvbiljb2RlY19kZWNvZGUsICAgICBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywKICAgICAgICAgZGVjb2RlX19kb2NfX30sCiAgICAgeyJlc2NhcGVfZW5jb2RlIiwgICAgICAgICAgIGVzY2FwZV9lbmNvZGUsICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTfSwKICAgICB7ImVzY2FwZV9kZWNvZGUiLCAgICAgICAgICAgZXNjYXBlX2RlY29kZSwgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1N9LApkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fY29sbGVjdGlvbnNtb2R1bGUuYyBiL01vZHVsZXMvX2NvbGxlY3Rpb25zbW9kdWxlLmMKaW5kZXggYzFhYTlhMy4uNjlkOTNhZSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fY29sbGVjdGlvbnNtb2R1bGUuYworKysgYi9Nb2R1bGVzL19jb2xsZWN0aW9uc21vZHVsZS5jCkBAIC0zLDcgKzMsNyBAQAogCiAvKiBjb2xsZWN0aW9ucyBtb2R1bGUgaW1wbGVtZW50YXRpb24gb2YgYSBkZXF1ZSgpIGRhdGF0eXBlCiAgICBXcml0dGVuIGFuZCBtYWludGFpbmVkIGJ5IFJheW1vbmQgRC4gSGV0dGluZ2VyIDxweXRob25AcmNuLmNvbT4KLSAgIENvcHlyaWdodCAoYykgMjAwNC0yMDEzIFB5dGhvbiBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICAgQ29weXJpZ2h0IChjKSAyMDA0LTIwMTQgUHl0aG9uIFNvZnR3YXJlIEZvdW5kYXRpb24uCiAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgogKi8KIApAQCAtMTQ1LDYgKzE0NSwxMiBAQAogCiBzdGF0aWMgUHlUeXBlT2JqZWN0IGRlcXVlX3R5cGU7CiAKKy8qIFhYWCBUb2RvOiAKKyAgIElmIGFsaWduZWQgbWVtb3J5IGFsbG9jYXRpb25zIGJlY29tZSBhdmFpbGFibGUsIG1ha2UgdGhlCisgICBkZXF1ZSBvYmplY3QgNjQgYnl0ZSBhbGlnbmVkIHNvIHRoYXQgYWxsIG9mIHRoZSBmaWVsZHMKKyAgIGNhbiBiZSByZXRyaWV2ZWQgb3IgdXBkYXRlZCBpbiBhIHNpbmdsZSBjYWNoZSBsaW5lLgorKi8KKwogc3RhdGljIFB5T2JqZWN0ICoKIGRlcXVlX25ldyhQeVR5cGVPYmplY3QgKnR5cGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKIHsKQEAgLTQ1NCw2ICs0NjAsMzEgQEAKICAgICByZXR1cm4gKFB5T2JqZWN0ICopZGVxdWU7CiB9CiAKKy8qIFRoZSByb3RhdGUoKSBtZXRob2QgaXMgcGFydCBvZiB0aGUgcHVibGljIEFQSSBhbmQgaXMgdXNlZCBpbnRlcm5hbGx5CithcyBhIHByaW1pdGl2ZSBmb3Igb3RoZXIgbWV0aG9kcy4KKworUm90YXRpb24gYnkgMSBvciAtMSBpcyBhIGNvbW1vbiBjYXNlLCBzbyBhbnkgb3B0aW1pemF0aW9ucyBmb3IgaGlnaAordm9sdW1lIHJvdGF0aW9ucyBzaG91bGQgdGFrZSBjYXJlIG5vdCB0byBwZW5hbGl6ZSB0aGUgY29tbW9uIGNhc2UuCisKK0NvbmNlcHR1YWxseSwgYSByb3RhdGUgYnkgb25lIGlzIGVxdWl2YWxlbnQgdG8gYSBwb3Agb24gb25lIHNpZGUgYW5kIGFuCithcHBlbmQgb24gdGhlIG90aGVyLiAgSG93ZXZlciwgYSBwb3AvYXBwZW5kIHBhaXIgaXMgdW5uZWNlc3NhcmlseSBzbG93CitiZWNhdXNlIGl0IHJlcXVpcmVzIGEgaW5jcmVmL2RlY3JlZiBwYWlyIGZvciBhbiBvYmplY3QgbG9jYXRlZCByYW5kb21seQoraW4gbWVtb3J5LiAgSXQgaXMgYmV0dGVyIHRvIGp1c3QgbW92ZSB0aGUgb2JqZWN0IHBvaW50ZXIgZnJvbSBvbmUgYmxvY2sKK3RvIHRoZSBuZXh0IHdpdGhvdXQgY2hhbmdpbmcgdGhlIHJlZmVyZW5jZSBjb3VudC4KKworV2hlbiBtb3ZpbmcgYmF0Y2hlcyBvZiBwb2ludGVycywgaXQgaXMgdGVtcHRpbmcgdG8gdXNlIG1lbWNweSgpIGJ1dCB0aGF0Citwcm92ZWQgdG8gYmUgc2xvd2VyIHRoYW4gYSBzaW1wbGUgbG9vcCBmb3IgYSB2YXJpZXR5IG9mIHJlYXNvbnMuCitNZW1jcHkoKSBjYW5ub3Qga25vdyBpbiBhZHZhbmNlIHRoYXQgd2UncmUgY29weWluZyBwb2ludGVycyBpbnN0ZWFkIG9mCitieXRlcywgdGhhdCB0aGUgc291cmNlIGFuZCBkZXN0aW5hdGlvbiBhcmUgcG9pbnRlciBhbGlnbmVkIGFuZAorbm9uLW92ZXJsYXBwaW5nLCB0aGF0IG1vdmluZyBqdXN0IG9uZSBwb2ludGVyIGlzIGEgY29tbW9uIGNhc2UsIHRoYXQgd2UKK25ldmVyIG5lZWQgdG8gbW92ZSBtb3JlIHRoYW4gQkxPQ0tMRU4gcG9pbnRlcnMsIGFuZCB0aGF0IGF0IGxlYXN0IG9uZQorcG9pbnRlciBpcyBhbHdheXMgbW92ZWQuCisKK0ZvciBoaWdoIHZvbHVtZSByb3RhdGlvbnMsIG5ld2Jsb2NrKCkgYW5kIGZyZWVibG9jaygpIGFyZSBuZXZlciBjYWxsZWQKK21vcmUgdGhhbiBvbmNlLiAgUHJldmlvdXNseSBlbXB0aWVkIGJsb2NrcyBhcmUgaW1tZWRpYXRlbHkgcmV1c2VkIGFzIGEKK2Rlc3RpbmF0aW9uIGJsb2NrLiAgSWYgYSBibG9jayBpcyBsZWZ0LW92ZXIgYXQgdGhlIGVuZCwgaXQgaXMgZnJlZWQuCisqLworCiBzdGF0aWMgaW50CiBfZGVxdWVfcm90YXRlKGRlcXVlb2JqZWN0ICpkZXF1ZSwgUHlfc3NpemVfdCBuKQogewpAQCAtNTAzLDEzICs1MzQsMTMgQEAKICAgICAgICAgICAgIGlmIChtID4gbGVmdGluZGV4KQogICAgICAgICAgICAgICAgIG0gPSBsZWZ0aW5kZXg7CiAgICAgICAgICAgICBhc3NlcnQgKG0gPiAwICYmIG0gPD0gbGVuKTsKLSAgICAgICAgICAgIHNyYyA9ICZyaWdodGJsb2NrLT5kYXRhW3JpZ2h0aW5kZXhdOwotICAgICAgICAgICAgZGVzdCA9ICZsZWZ0YmxvY2stPmRhdGFbbGVmdGluZGV4IC0gMV07CiAgICAgICAgICAgICByaWdodGluZGV4IC09IG07CiAgICAgICAgICAgICBsZWZ0aW5kZXggLT0gbTsKKyAgICAgICAgICAgIHNyYyA9ICZyaWdodGJsb2NrLT5kYXRhW3JpZ2h0aW5kZXggKyAxXTsKKyAgICAgICAgICAgIGRlc3QgPSAmbGVmdGJsb2NrLT5kYXRhW2xlZnRpbmRleF07CiAgICAgICAgICAgICBuIC09IG07CiAgICAgICAgICAgICBkbyB7Ci0gICAgICAgICAgICAgICAgKihkZXN0LS0pID0gKihzcmMtLSk7CisgICAgICAgICAgICAgICAgKihkZXN0KyspID0gKihzcmMrKyk7CiAgICAgICAgICAgICB9IHdoaWxlICgtLW0pOwogICAgICAgICB9CiAgICAgICAgIGlmIChyaWdodGluZGV4ID09IC0xKSB7CkBAIC0xODAwLDE5ICsxODMxLDQwIEBACiAgICAgaWYgKG1hcHBpbmdfZ2V0ICE9IE5VTEwgJiYgbWFwcGluZ19nZXQgPT0gZGljdF9nZXQgJiYKICAgICAgICAgbWFwcGluZ19zZXRpdGVtICE9IE5VTEwgJiYgbWFwcGluZ19zZXRpdGVtID09IGRpY3Rfc2V0aXRlbSkgewogICAgICAgICB3aGlsZSAoMSkgeworICAgICAgICAgICAgLyogRmFzdCBwYXRoIGFkdmFudGFnZXM6CisgICAgICAgICAgICAgICAgICAgMS4gRWxpbWluYXRlIGRvdWJsZSBoYXNoaW5nCisgICAgICAgICAgICAgICAgICAgICAgKGJ5IHJlLXVzaW5nIHRoZSBzYW1lIGhhc2ggZm9yIGJvdGggdGhlIGdldCBhbmQgc2V0KQorICAgICAgICAgICAgICAgICAgIDIuIEF2b2lkIGFyZ3VtZW50IG92ZXJoZWFkIG9mIFB5T2JqZWN0X0NhbGxGdW5jdGlvbk9iakFyZ3MKKyAgICAgICAgICAgICAgICAgICAgICAoYXJndW1lbnQgdHVwbGUgY3JlYXRpb24gYW5kIHBhcnNpbmcpCisgICAgICAgICAgICAgICAgICAgMy4gQXZvaWQgaW5kaXJlY3Rpb24gdGhyb3VnaCBhIGJvdW5kIG1ldGhvZCBvYmplY3QKKyAgICAgICAgICAgICAgICAgICAgICAoY3JlYXRlcyBhbm90aGVyIGFyZ3VtZW50IHR1cGxlKQorICAgICAgICAgICAgICAgICAgIDQuIEF2b2lkIGluaXRpYWwgaW5jcmVtZW50IGZyb20gemVybworICAgICAgICAgICAgICAgICAgICAgIChyZXVzZSBhbiBleGlzdGluZyBvbmUtb2JqZWN0IGluc3RlYWQpCisgICAgICAgICAgICAqLworICAgICAgICAgICAgUHlfaGFzaF90IGhhc2g7CisKICAgICAgICAgICAgIGtleSA9IFB5SXRlcl9OZXh0KGl0KTsKICAgICAgICAgICAgIGlmIChrZXkgPT0gTlVMTCkKICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIG9sZHZhbCA9IFB5RGljdF9HZXRJdGVtKG1hcHBpbmcsIGtleSk7CisKKyAgICAgICAgICAgIGlmICghUHlVbmljb2RlX0NoZWNrRXhhY3Qoa2V5KSB8fAorICAgICAgICAgICAgICAgIChoYXNoID0gKChQeUFTQ0lJT2JqZWN0ICopIGtleSktPmhhc2gpID09IC0xKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGhhc2ggPSBQeU9iamVjdF9IYXNoKGtleSk7CisgICAgICAgICAgICAgICAgaWYgKGhhc2ggPT0gLTEpIAorICAgICAgICAgICAgICAgICAgICBnb3RvIGRvbmU7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIG9sZHZhbCA9IF9QeURpY3RfR2V0SXRlbV9Lbm93bkhhc2gobWFwcGluZywga2V5LCBoYXNoKTsKICAgICAgICAgICAgIGlmIChvbGR2YWwgPT0gTlVMTCkgewotICAgICAgICAgICAgICAgIGlmIChQeURpY3RfU2V0SXRlbShtYXBwaW5nLCBrZXksIG9uZSkgPT0gLTEpCi0gICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIGlmIChfUHlEaWN0X1NldEl0ZW1fS25vd25IYXNoKG1hcHBpbmcsIGtleSwgb25lLCBoYXNoKSA9PSAtMSkKKyAgICAgICAgICAgICAgICAgICAgZ290byBkb25lOwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBuZXd2YWwgPSBQeU51bWJlcl9BZGQob2xkdmFsLCBvbmUpOwogICAgICAgICAgICAgICAgIGlmIChuZXd2YWwgPT0gTlVMTCkKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgaWYgKFB5RGljdF9TZXRJdGVtKG1hcHBpbmcsIGtleSwgbmV3dmFsKSA9PSAtMSkKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgIGdvdG8gZG9uZTsKKyAgICAgICAgICAgICAgICBpZiAoX1B5RGljdF9TZXRJdGVtX0tub3duSGFzaChtYXBwaW5nLCBrZXksIG5ld3ZhbCwgaGFzaCkgPT0gLTEpCisgICAgICAgICAgICAgICAgICAgIGdvdG8gZG9uZTsKICAgICAgICAgICAgICAgICBQeV9DTEVBUihuZXd2YWwpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgUHlfREVDUkVGKGtleSk7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL19jc3YuYyBiL01vZHVsZXMvX2Nzdi5jCmluZGV4IGM4NzY3ZDEuLmFkZTM1ZTUgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX2Nzdi5jCisrKyBiL01vZHVsZXMvX2Nzdi5jCkBAIC0yNDgsNyArMjQ4LDcgQEAKICAgICAgICAgICAgIGxlbiA9IFB5VW5pY29kZV9HZXRMZW5ndGgoc3JjKTsKICAgICAgICAgICAgIGlmIChsZW4gPiAxKSB7CiAgICAgICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgIlwiJXNcIiBtdXN0IGJlIGFuIDEtY2hhcmFjdGVyIHN0cmluZyIsCisgICAgICAgICAgICAgICAgICAgICJcIiVzXCIgbXVzdCBiZSBhIDEtY2hhcmFjdGVyIHN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgIG5hbWUpOwogICAgICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgICAgIH0KQEAgLTI5MCw3ICsyOTAsNyBAQAogICAgIFN0eWxlRGVzYyAqcXM7CiAKICAgICBmb3IgKHFzID0gcXVvdGVfc3R5bGVzOyBxcy0+bmFtZTsgcXMrKykgewotICAgICAgICBpZiAocXMtPnN0eWxlID09IHF1b3RpbmcpCisgICAgICAgIGlmICgoaW50KXFzLT5zdHlsZSA9PSBxdW90aW5nKQogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsICJiYWQgXCJxdW90aW5nXCIgdmFsdWUiKTsKQEAgLTQzMiw3ICs0MzIsNyBAQAogICAgICAgICBnb3RvIGVycjsKICAgICBpZiAoc2VsZi0+ZGVsaW1pdGVyID09IDApIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICJcImRlbGltaXRlclwiIG11c3QgYmUgYW4gMS1jaGFyYWN0ZXIgc3RyaW5nIik7CisgICAgICAgICAgICAgICAgICAgICAgICAiXCJkZWxpbWl0ZXJcIiBtdXN0IGJlIGEgMS1jaGFyYWN0ZXIgc3RyaW5nIik7CiAgICAgICAgIGdvdG8gZXJyOwogICAgIH0KICAgICBpZiAocXVvdGVjaGFyID09IFB5X05vbmUgJiYgcXVvdGluZyA9PSBOVUxMKQpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fY3R5cGVzL2NhbGxwcm9jLmMgYi9Nb2R1bGVzL19jdHlwZXMvY2FsbHByb2MuYwppbmRleCA4ZGFlZmZjLi4wM2E5MTFmIDEwMDY0NAotLS0gYS9Nb2R1bGVzL19jdHlwZXMvY2FsbHByb2MuYworKysgYi9Nb2R1bGVzL19jdHlwZXMvY2FsbHByb2MuYwpAQCAtMTYwMyw3ICsxNjAzLDcgQEAKICAgICAgICAgICAgICAgICAgICAgICJNZW1vcnkgY2Fubm90IGJlIHJlc2l6ZWQgYmVjYXVzZSB0aGlzIG9iamVjdCBkb2Vzbid0IG93biBpdCIpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0gICAgaWYgKHNpemUgPD0gc2l6ZW9mKG9iai0+Yl92YWx1ZSkpIHsKKyAgICBpZiAoKHNpemVfdClzaXplIDw9IHNpemVvZihvYmotPmJfdmFsdWUpKSB7CiAgICAgICAgIC8qIGludGVybmFsIGRlZmF1bHQgYnVmZmVyIGlzIGxhcmdlIGVub3VnaCAqLwogICAgICAgICBvYmotPmJfc2l6ZSA9IHNpemU7CiAgICAgICAgIGdvdG8gZG9uZTsKZGlmZiAtLWdpdCBhL01vZHVsZXMvX2N0eXBlcy9saWJmZmlfbXN2Yy9mZmkuYyBiL01vZHVsZXMvX2N0eXBlcy9saWJmZmlfbXN2Yy9mZmkuYwppbmRleCA3NmNiMDNlLi5iNzU4NmM3IDEwMDY0NAotLS0gYS9Nb2R1bGVzL19jdHlwZXMvbGliZmZpX21zdmMvZmZpLmMKKysrIGIvTW9kdWxlcy9fY3R5cGVzL2xpYmZmaV9tc3ZjL2ZmaS5jCkBAIC02NSwzNyArNjUsNTYgQEAKIAlhcmdwID0gKGNoYXIgKikgQUxJR04oYXJncCwgc2l6ZW9mKHZvaWQgKikpOwogCiAgICAgICB6ID0gKCpwX2FyZyktPnNpemU7Ci0gICAgICBpZiAoeiA8IHNpemVvZihpbnQpKQorICAgICAgaWYgKHogPCBzaXplb2YoaW50cHRyX3QpKQogCXsKLQkgIHogPSBzaXplb2YoaW50KTsKKwkgIHogPSBzaXplb2YoaW50cHRyX3QpOwogCSAgc3dpdGNoICgoKnBfYXJnKS0+dHlwZSkKIAkgICAgewogCSAgICBjYXNlIEZGSV9UWVBFX1NJTlQ4OgotCSAgICAgICooc2lnbmVkIGludCAqKSBhcmdwID0gKHNpZ25lZCBpbnQpKihTSU5UOCAqKSgqIHBfYXJndik7CisJICAgICAgKihpbnRwdHJfdCAqKSBhcmdwID0gKGludHB0cl90KSooU0lOVDggKikoKiBwX2FyZ3YpOwogCSAgICAgIGJyZWFrOwogCiAJICAgIGNhc2UgRkZJX1RZUEVfVUlOVDg6Ci0JICAgICAgKih1bnNpZ25lZCBpbnQgKikgYXJncCA9ICh1bnNpZ25lZCBpbnQpKihVSU5UOCAqKSgqIHBfYXJndik7CisJICAgICAgKih1aW50cHRyX3QgKikgYXJncCA9ICh1aW50cHRyX3QpKihVSU5UOCAqKSgqIHBfYXJndik7CiAJICAgICAgYnJlYWs7CiAKIAkgICAgY2FzZSBGRklfVFlQRV9TSU5UMTY6Ci0JICAgICAgKihzaWduZWQgaW50ICopIGFyZ3AgPSAoc2lnbmVkIGludCkqKFNJTlQxNiAqKSgqIHBfYXJndik7CisJICAgICAgKihpbnRwdHJfdCAqKSBhcmdwID0gKGludHB0cl90KSooU0lOVDE2ICopKCogcF9hcmd2KTsKIAkgICAgICBicmVhazsKIAogCSAgICBjYXNlIEZGSV9UWVBFX1VJTlQxNjoKLQkgICAgICAqKHVuc2lnbmVkIGludCAqKSBhcmdwID0gKHVuc2lnbmVkIGludCkqKFVJTlQxNiAqKSgqIHBfYXJndik7CisJICAgICAgKih1aW50cHRyX3QgKikgYXJncCA9ICh1aW50cHRyX3QpKihVSU5UMTYgKikoKiBwX2FyZ3YpOwogCSAgICAgIGJyZWFrOwogCiAJICAgIGNhc2UgRkZJX1RZUEVfU0lOVDMyOgotCSAgICAgICooc2lnbmVkIGludCAqKSBhcmdwID0gKHNpZ25lZCBpbnQpKihTSU5UMzIgKikoKiBwX2FyZ3YpOworCSAgICAgICooaW50cHRyX3QgKikgYXJncCA9IChpbnRwdHJfdCkqKFNJTlQzMiAqKSgqIHBfYXJndik7CiAJICAgICAgYnJlYWs7CiAKIAkgICAgY2FzZSBGRklfVFlQRV9VSU5UMzI6Ci0JICAgICAgKih1bnNpZ25lZCBpbnQgKikgYXJncCA9ICh1bnNpZ25lZCBpbnQpKihVSU5UMzIgKikoKiBwX2FyZ3YpOworCSAgICAgICoodWludHB0cl90ICopIGFyZ3AgPSAodWludHB0cl90KSooVUlOVDMyICopKCogcF9hcmd2KTsKKwkgICAgICBicmVhazsKKworCSAgICBjYXNlIEZGSV9UWVBFX0ZMT0FUOgorCSAgICAgICoodWludHB0cl90ICopIGFyZ3AgPSAwOworCSAgICAgICooZmxvYXQgKikgYXJncCA9ICooZmxvYXQgKikoKiBwX2FyZ3YpOworCSAgICAgIGJyZWFrOworCisJICAgIC8vIDY0LWJpdCB2YWx1ZSBjYXNlcyBzaG91bGQgbmV2ZXIgYmUgdXNlZCBmb3IgeDg2IGFuZCBBTUQ2NCBidWlsZHMKKwkgICAgY2FzZSBGRklfVFlQRV9TSU5UNjQ6CisJICAgICAgKihpbnRwdHJfdCAqKSBhcmdwID0gKGludHB0cl90KSooU0lOVDY0ICopKCogcF9hcmd2KTsKKwkgICAgICBicmVhazsKKworCSAgICBjYXNlIEZGSV9UWVBFX1VJTlQ2NDoKKwkgICAgICAqKHVpbnRwdHJfdCAqKSBhcmdwID0gKHVpbnRwdHJfdCkqKFVJTlQ2NCAqKSgqIHBfYXJndik7CiAJICAgICAgYnJlYWs7CiAKIAkgICAgY2FzZSBGRklfVFlQRV9TVFJVQ1Q6Ci0JICAgICAgKih1bnNpZ25lZCBpbnQgKikgYXJncCA9ICh1bnNpZ25lZCBpbnQpKihVSU5UMzIgKikoKiBwX2FyZ3YpOworCSAgICAgICoodWludHB0cl90ICopIGFyZ3AgPSAodWludHB0cl90KSooVUlOVDMyICopKCogcF9hcmd2KTsKKwkgICAgICBicmVhazsKKworCSAgICBjYXNlIEZGSV9UWVBFX0RPVUJMRToKKwkgICAgICAqKHVpbnRwdHJfdCAqKSBhcmdwID0gMDsKKwkgICAgICAqKGRvdWJsZSAqKSBhcmdwID0gKihkb3VibGUgKikoKiBwX2FyZ3YpOwogCSAgICAgIGJyZWFrOwogCiAJICAgIGRlZmF1bHQ6CmRpZmYgLS1naXQgYS9Nb2R1bGVzL19jdXJzZXNtb2R1bGUuYyBiL01vZHVsZXMvX2N1cnNlc21vZHVsZS5jCmluZGV4IDVmZmNlMmYuLjZiNzc4NjggMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX2N1cnNlc21vZHVsZS5jCisrKyBiL01vZHVsZXMvX2N1cnNlc21vZHVsZS5jCkBAIC0yNjc1LDcgKzI2NzUsNyBAQAogICAgIH0KICAgICBrbnAgPSBrZXluYW1lKGNoKTsKIAotICAgIHJldHVybiBQeUJ5dGVzX0Zyb21TdHJpbmcoKGtucCA9PSBOVUxMKSA/ICIiIDogKGNoYXIgKilrbnApOworICAgIHJldHVybiBQeUJ5dGVzX0Zyb21TdHJpbmcoKGtucCA9PSBOVUxMKSA/ICIiIDoga25wKTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19kYXRldGltZW1vZHVsZS5jIGIvTW9kdWxlcy9fZGF0ZXRpbWVtb2R1bGUuYwppbmRleCBkODIyNWJhLi43MDFjNTg3IDEwMDY0NAotLS0gYS9Nb2R1bGVzL19kYXRldGltZW1vZHVsZS5jCisrKyBiL01vZHVsZXMvX2RhdGV0aW1lbW9kdWxlLmMKQEAgLTM4MDUsMjkgKzM4MDUsNiBAQAogICAgIHJldHVybiBjbG9uZTsKIH0KIAotc3RhdGljIGludAotdGltZV9ib29sKFB5T2JqZWN0ICpzZWxmKQotewotICAgIFB5T2JqZWN0ICpvZmZzZXQsICp0emluZm87Ci0gICAgaW50IG9mZnNlY3MgPSAwOwotCi0gICAgaWYgKFRJTUVfR0VUX1NFQ09ORChzZWxmKSB8fCBUSU1FX0dFVF9NSUNST1NFQ09ORChzZWxmKSkgewotICAgICAgICAvKiBTaW5jZSB1dGNvZmZzZXQgaXMgaW4gd2hvbGUgbWludXRlcywgbm90aGluZyBjYW4KLSAgICAgICAgICogYWx0ZXIgdGhlIGNvbmNsdXNpb24gdGhhdCB0aGlzIGlzIG5vbnplcm8uCi0gICAgICAgICAqLwotICAgICAgICByZXR1cm4gMTsKLSAgICB9Ci0gICAgdHppbmZvID0gR0VUX1RJTUVfVFpJTkZPKHNlbGYpOwotICAgIGlmICh0emluZm8gIT0gUHlfTm9uZSkgewotICAgICAgICBvZmZzZXQgPSBjYWxsX3V0Y29mZnNldCh0emluZm8sIFB5X05vbmUpOwotICAgICAgICBpZiAob2Zmc2V0ID09IE5VTEwpCi0gICAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAgIG9mZnNlY3MgPSBHRVRfVERfREFZUyhvZmZzZXQpKjg2NDAwICsgR0VUX1REX1NFQ09ORFMob2Zmc2V0KTsKLSAgICAgICAgUHlfREVDUkVGKG9mZnNldCk7Ci0gICAgfQotICAgIHJldHVybiAoVElNRV9HRVRfTUlOVVRFKHNlbGYpKjYwIC0gb2Zmc2VjcyArIFRJTUVfR0VUX0hPVVIoc2VsZikqMzYwMCkgIT0gMDsKLX0KLQogLyogUGlja2xlIHN1cHBvcnQsIGEgc2ltcGxlIHVzZSBvZiBfX3JlZHVjZV9fLiAqLwogCiAvKiBMZXQgYmFzZXN0YXRlIGJlIHRoZSBub24tdHppbmZvIGRhdGEgc3RyaW5nLgpAQCAtMzg5NSwxOSArMzg3Miw2IEBACiBBbGwgYXJndW1lbnRzIGFyZSBvcHRpb25hbC4gdHppbmZvIG1heSBiZSBOb25lLCBvciBhbiBpbnN0YW5jZSBvZlxuXAogYSB0emluZm8gc3ViY2xhc3MuIFRoZSByZW1haW5pbmcgYXJndW1lbnRzIG1heSBiZSBpbnRzLlxuIik7CiAKLXN0YXRpYyBQeU51bWJlck1ldGhvZHMgdGltZV9hc19udW1iZXIgPSB7Ci0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl9hZGQgKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX3N1YnRyYWN0ICovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl9tdWx0aXBseSAqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfcmVtYWluZGVyICovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl9kaXZtb2QgKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX3Bvd2VyICovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl9uZWdhdGl2ZSAqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfcG9zaXRpdmUgKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX2Fic29sdXRlICovCi0gICAgKGlucXVpcnkpdGltZV9ib29sLCAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl9ib29sICovCi19OwotCiBzdGF0aWMgUHlUeXBlT2JqZWN0IFB5RGF0ZVRpbWVfVGltZVR5cGUgPSB7CiAgICAgUHlWYXJPYmplY3RfSEVBRF9JTklUKE5VTEwsIDApCiAgICAgImRhdGV0aW1lLnRpbWUiLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9uYW1lICovCkBAIC0zOTE5LDcgKzM4ODMsNyBAQAogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfc2V0YXR0ciAqLwogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfcmVzZXJ2ZWQgKi8KICAgICAocmVwcmZ1bmMpdGltZV9yZXByLCAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3JlcHIgKi8KLSAgICAmdGltZV9hc19udW1iZXIsICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2FzX251bWJlciAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYXNfbnVtYmVyICovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9hc19zZXF1ZW5jZSAqLwogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYXNfbWFwcGluZyAqLwogICAgIChoYXNoZnVuYyl0aW1lX2hhc2gsICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfaGFzaCAqLwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fZGVjaW1hbC9fZGVjaW1hbC5jIGIvTW9kdWxlcy9fZGVjaW1hbC9fZGVjaW1hbC5jCmluZGV4IGYwMDA4ODcuLjE2OTkxNGMgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX2RlY2ltYWwvX2RlY2ltYWwuYworKysgYi9Nb2R1bGVzL19kZWNpbWFsL19kZWNpbWFsLmMKQEAgLTU2NDAsNyArNTY0MCw3IEBACiAgICAgICAgICAgICBnb3RvIGVycm9yOyAvKiBHQ09WX05PVF9SRUFDSEVEICovCiAgICAgICAgIH0KIAotICAgICAgICBBU1NJR05fUFRSKGNtLT5leCwgUHlFcnJfTmV3RXhjZXB0aW9uKChjaGFyICopY20tPmZxbmFtZSwgYmFzZSwgTlVMTCkpOworICAgICAgICBBU1NJR05fUFRSKGNtLT5leCwgUHlFcnJfTmV3RXhjZXB0aW9uKGNtLT5mcW5hbWUsIGJhc2UsIE5VTEwpKTsKICAgICAgICAgUHlfREVDUkVGKGJhc2UpOwogCiAgICAgICAgIC8qIGFkZCB0byBtb2R1bGUgKi8KQEAgLTU2NzIsNyArNTY3Miw3IEBACiAgICAgICAgICAgICBnb3RvIGVycm9yOyAvKiBHQ09WX05PVF9SRUFDSEVEICovCiAgICAgICAgIH0KIAotICAgICAgICBBU1NJR05fUFRSKGNtLT5leCwgUHlFcnJfTmV3RXhjZXB0aW9uKChjaGFyICopY20tPmZxbmFtZSwgYmFzZSwgTlVMTCkpOworICAgICAgICBBU1NJR05fUFRSKGNtLT5leCwgUHlFcnJfTmV3RXhjZXB0aW9uKGNtLT5mcW5hbWUsIGJhc2UsIE5VTEwpKTsKICAgICAgICAgUHlfREVDUkVGKGJhc2UpOwogCiAgICAgICAgIFB5X0lOQ1JFRihjbS0+ZXgpOwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fZGVjaW1hbC9kb2NzdHJpbmdzLmggYi9Nb2R1bGVzL19kZWNpbWFsL2RvY3N0cmluZ3MuaAppbmRleCBhNjQ5MGI5Li43MTAyOWE5IDEwMDY0NAotLS0gYS9Nb2R1bGVzL19kZWNpbWFsL2RvY3N0cmluZ3MuaAorKysgYi9Nb2R1bGVzL19kZWNpbWFsL2RvY3N0cmluZ3MuaApAQCAtMTksMjYgKzE5LDMwIEBACiBQeURvY19TVFJWQVIoZG9jX19kZWNpbWFsLAogIkMgZGVjaW1hbCBhcml0aG1ldGljIG1vZHVsZSIpOwogCi1QeURvY19TVFJWQVIoZG9jX2dldGNvbnRleHQsIlxuXAotZ2V0Y29udGV4dCgpIC0gR2V0IHRoZSBjdXJyZW50IGRlZmF1bHQgY29udGV4dC5cblwKK1B5RG9jX1NUUlZBUihkb2NfZ2V0Y29udGV4dCwKKyJnZXRjb250ZXh0KCRtb2R1bGUsIC8pXG4tLVxuXG5cCitHZXQgdGhlIGN1cnJlbnQgZGVmYXVsdCBjb250ZXh0LlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19zZXRjb250ZXh0LCJcblwKLXNldGNvbnRleHQoYykgLSBTZXQgYSBuZXcgZGVmYXVsdCBjb250ZXh0LlxuXAorUHlEb2NfU1RSVkFSKGRvY19zZXRjb250ZXh0LAorInNldGNvbnRleHQoJG1vZHVsZSwgY29udGV4dCwgLylcbi0tXG5cblwKK1NldCBhIG5ldyBkZWZhdWx0IGNvbnRleHQuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2xvY2FsY29udGV4dCwiXG5cCi1sb2NhbGNvbnRleHQoY3R4PU5vbmUpIC0gUmV0dXJuIGEgY29udGV4dCBtYW5hZ2VyIHRoYXQgd2lsbCBzZXQgdGhlIGRlZmF1bHRcblwKLWNvbnRleHQgdG8gYSBjb3B5IG9mIGN0eCBvbiBlbnRyeSB0byB0aGUgd2l0aC1zdGF0ZW1lbnQgYW5kIHJlc3RvcmUgdGhlXG5cCi1wcmV2aW91cyBkZWZhdWx0IGNvbnRleHQgd2hlbiBleGl0aW5nIHRoZSB3aXRoLXN0YXRlbWVudC4gSWYgbm8gY29udGV4dCBpc1xuXAotc3BlY2lmaWVkLCBhIGNvcHkgb2YgdGhlIGN1cnJlbnQgZGVmYXVsdCBjb250ZXh0IGlzIHVzZWQuXG5cCitQeURvY19TVFJWQVIoZG9jX2xvY2FsY29udGV4dCwKKyJsb2NhbGNvbnRleHQoJG1vZHVsZSwgLywgY3R4PU5vbmUpXG4tLVxuXG5cCitSZXR1cm4gYSBjb250ZXh0IG1hbmFnZXIgdGhhdCB3aWxsIHNldCB0aGUgZGVmYXVsdCBjb250ZXh0IHRvIGEgY29weSBvZiBjdHhcblwKK29uIGVudHJ5IHRvIHRoZSB3aXRoLXN0YXRlbWVudCBhbmQgcmVzdG9yZSB0aGUgcHJldmlvdXMgZGVmYXVsdCBjb250ZXh0IHdoZW5cblwKK2V4aXRpbmcgdGhlIHdpdGgtc3RhdGVtZW50LiBJZiBubyBjb250ZXh0IGlzIHNwZWNpZmllZCwgYSBjb3B5IG9mIHRoZSBjdXJyZW50XG5cCitkZWZhdWx0IGNvbnRleHQgaXMgdXNlZC5cblwKIFxuIik7CiAKICNpZmRlZiBFWFRSQV9GVU5DVElPTkFMSVRZCi1QeURvY19TVFJWQVIoZG9jX2llZWVfY29udGV4dCwiXG5cCi1JRUVFQ29udGV4dChiaXRzKSAtIFJldHVybiBhIGNvbnRleHQgb2JqZWN0IGluaXRpYWxpemVkIHRvIHRoZSBwcm9wZXIgdmFsdWVzIGZvclxuXAotb25lIG9mIHRoZSBJRUVFIGludGVyY2hhbmdlIGZvcm1hdHMuIFRoZSBhcmd1bWVudCBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgMzIgYW5kXG5cCi1sZXNzIHRoYW4gSUVFRV9DT05URVhUX01BWF9CSVRTLiBGb3IgdGhlIG1vc3QgY29tbW9uIHZhbHVlcywgdGhlIGNvbnN0YW50c1xuXAorUHlEb2NfU1RSVkFSKGRvY19pZWVlX2NvbnRleHQsCisiSUVFRUNvbnRleHQoJG1vZHVsZSwgYml0cywgLylcbi0tXG5cblwKK1JldHVybiBhIGNvbnRleHQgb2JqZWN0IGluaXRpYWxpemVkIHRvIHRoZSBwcm9wZXIgdmFsdWVzIGZvciBvbmUgb2YgdGhlXG5cCitJRUVFIGludGVyY2hhbmdlIGZvcm1hdHMuICBUaGUgYXJndW1lbnQgbXVzdCBiZSBhIG11bHRpcGxlIG9mIDMyIGFuZCBsZXNzXG5cCit0aGFuIElFRUVfQ09OVEVYVF9NQVhfQklUUy4gIEZvciB0aGUgbW9zdCBjb21tb24gdmFsdWVzLCB0aGUgY29uc3RhbnRzXG5cCiBERUNJTUFMMzIsIERFQ0lNQUw2NCBhbmQgREVDSU1BTDEyOCBhcmUgcHJvdmlkZWQuXG5cCiBcbiIpOwogI2VuZGlmCkBAIC00OCwzMiArNTIsMzQgQEAKIC8qICAgICAgICAgICAgICAgICAgICAgICBEZWNpbWFsIE9iamVjdCBhbmQgTWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICovCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCi1QeURvY19TVFJWQVIoZG9jX2RlY2ltYWwsIlxuXAotRGVjaW1hbCh2YWx1ZT1cIjBcIiwgY29udGV4dD1Ob25lKTogQ29uc3RydWN0IGEgbmV3IERlY2ltYWwgb2JqZWN0LlxuXAotdmFsdWUgY2FuIGJlIGFuIGludGVnZXIsIHN0cmluZywgdHVwbGUsIG9yIGFub3RoZXIgRGVjaW1hbCBvYmplY3QuXG5cCi1JZiBubyB2YWx1ZSBpcyBnaXZlbiwgcmV0dXJuIERlY2ltYWwoJzAnKS4gVGhlIGNvbnRleHQgZG9lcyBub3QgYWZmZWN0XG5cCi10aGUgY29udmVyc2lvbiBhbmQgaXMgb25seSBwYXNzZWQgdG8gZGV0ZXJtaW5lIGlmIHRoZSBJbnZhbGlkT3BlcmF0aW9uXG5cCi10cmFwIGlzIGFjdGl2ZS5cblwKK1B5RG9jX1NUUlZBUihkb2NfZGVjaW1hbCwKKyJEZWNpbWFsKHZhbHVlPVwiMFwiLCBjb250ZXh0PU5vbmUpXG4tLVxuXG5cCitDb25zdHJ1Y3QgYSBuZXcgRGVjaW1hbCBvYmplY3QuICd2YWx1ZScgY2FuIGJlIGFuIGludGVnZXIsIHN0cmluZywgdHVwbGUsXG5cCitvciBhbm90aGVyIERlY2ltYWwgb2JqZWN0LiBJZiBubyB2YWx1ZSBpcyBnaXZlbiwgcmV0dXJuIERlY2ltYWwoJzAnKS4gVGhlXG5cCitjb250ZXh0IGRvZXMgbm90IGFmZmVjdCB0aGUgY29udmVyc2lvbiBhbmQgaXMgb25seSBwYXNzZWQgdG8gZGV0ZXJtaW5lIGlmXG5cCit0aGUgSW52YWxpZE9wZXJhdGlvbiB0cmFwIGlzIGFjdGl2ZS5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfYWRqdXN0ZWQsIlxuXAotYWRqdXN0ZWQoKSAtIFJldHVybiB0aGUgYWRqdXN0ZWQgZXhwb25lbnQgb2YgdGhlIG51bWJlci5cblwKLVxuXAotRGVmaW5lZCBhcyBleHAgKyBkaWdpdHMgLSAxLlxuXAorUHlEb2NfU1RSVkFSKGRvY19hZGp1c3RlZCwKKyJhZGp1c3RlZCgkc2VsZiwgLylcbi0tXG5cblwKK1JldHVybiB0aGUgYWRqdXN0ZWQgZXhwb25lbnQgb2YgdGhlIG51bWJlci4gIERlZmluZWQgYXMgZXhwICsgZGlnaXRzIC0gMS5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfYXNfdHVwbGUsIlxuXAotYXNfdHVwbGUoKSAtIFJldHVybiBhIHR1cGxlIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBudW1iZXIuXG5cCitQeURvY19TVFJWQVIoZG9jX2FzX3R1cGxlLAorImFzX3R1cGxlKCRzZWxmLCAvKVxuLS1cblxuXAorUmV0dXJuIGEgdHVwbGUgcmVwcmVzZW50YXRpb24gb2YgdGhlIG51bWJlci5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY2Fub25pY2FsLCJcblwKLWNhbm9uaWNhbCgpIC0gUmV0dXJuIHRoZSBjYW5vbmljYWwgZW5jb2Rpbmcgb2YgdGhlIGFyZ3VtZW50LiBDdXJyZW50bHksXG5cCi10aGUgZW5jb2Rpbmcgb2YgYSBEZWNpbWFsIGluc3RhbmNlIGlzIGFsd2F5cyBjYW5vbmljYWwsIHNvIHRoaXMgb3BlcmF0aW9uXG5cCi1yZXR1cm5zIGl0cyBhcmd1bWVudCB1bmNoYW5nZWQuXG5cCitQeURvY19TVFJWQVIoZG9jX2Nhbm9uaWNhbCwKKyJjYW5vbmljYWwoJHNlbGYsIC8pXG4tLVxuXG5cCitSZXR1cm4gdGhlIGNhbm9uaWNhbCBlbmNvZGluZyBvZiB0aGUgYXJndW1lbnQuICBDdXJyZW50bHksIHRoZSBlbmNvZGluZ1xuXAorb2YgYSBEZWNpbWFsIGluc3RhbmNlIGlzIGFsd2F5cyBjYW5vbmljYWwsIHNvIHRoaXMgb3BlcmF0aW9uIHJldHVybnMgaXRzXG5cCithcmd1bWVudCB1bmNoYW5nZWQuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2NvbXBhcmUsIlxuXAotY29tcGFyZShvdGhlciwgY29udGV4dD1Ob25lKSAtIENvbXBhcmUgc2VsZiB0byBvdGhlci4gUmV0dXJuIGEgZGVjaW1hbCB2YWx1ZTpcblwKK1B5RG9jX1NUUlZBUihkb2NfY29tcGFyZSwKKyJjb21wYXJlKCRzZWxmLCAvLCBvdGhlciwgY29udGV4dD1Ob25lKVxuLS1cblxuXAorQ29tcGFyZSBzZWxmIHRvIG90aGVyLiAgUmV0dXJuIGEgZGVjaW1hbCB2YWx1ZTpcblwKIFxuXAogICAgIGEgb3IgYiBpcyBhIE5hTiA9PT4gRGVjaW1hbCgnTmFOJylcblwKICAgICBhIDwgYiAgICAgICAgICAgPT0+IERlY2ltYWwoJy0xJylcblwKQEAgLTgxLDE3ICs4NywxOCBAQAogICAgIGEgPiBiICAgICAgICAgICA9PT4gRGVjaW1hbCgnMScpXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2NvbXBhcmVfc2lnbmFsLCJcblwKLWNvbXBhcmVfc2lnbmFsKG90aGVyLCBjb250ZXh0PU5vbmUpIC0gSWRlbnRpY2FsIHRvIGNvbXBhcmUsIGV4Y2VwdCB0aGF0XG5cCi1hbGwgTmFOcyBzaWduYWwuXG5cCitQeURvY19TVFJWQVIoZG9jX2NvbXBhcmVfc2lnbmFsLAorImNvbXBhcmVfc2lnbmFsKCRzZWxmLCAvLCBvdGhlciwgY29udGV4dD1Ob25lKVxuLS1cblxuXAorSWRlbnRpY2FsIHRvIGNvbXBhcmUsIGV4Y2VwdCB0aGF0IGFsbCBOYU5zIHNpZ25hbC5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY29tcGFyZV90b3RhbCwiXG5cCi1jb21wYXJlX3RvdGFsKG90aGVyLCBjb250ZXh0PU5vbmUpIC0gQ29tcGFyZSB0d28gb3BlcmFuZHMgdXNpbmcgdGhlaXJcblwKLWFic3RyYWN0IHJlcHJlc2VudGF0aW9uIHJhdGhlciB0aGFuIHRoZWlyIG51bWVyaWNhbCB2YWx1ZS4gU2ltaWxhciB0byB0aGVcblwKLWNvbXBhcmUoKSBtZXRob2QsIGJ1dCB0aGUgcmVzdWx0IGdpdmVzIGEgdG90YWwgb3JkZXJpbmcgb24gRGVjaW1hbCBpbnN0YW5jZXMuXG5cCi1Ud28gRGVjaW1hbCBpbnN0YW5jZXMgd2l0aCB0aGUgc2FtZSBudW1lcmljIHZhbHVlIGJ1dCBkaWZmZXJlbnQgcmVwcmVzZW50YXRpb25zXG5cCi1jb21wYXJlIHVuZXF1YWwgaW4gdGhpcyBvcmRlcmluZzpcblwKK1B5RG9jX1NUUlZBUihkb2NfY29tcGFyZV90b3RhbCwKKyJjb21wYXJlX3RvdGFsKCRzZWxmLCAvLCBvdGhlciwgY29udGV4dD1Ob25lKVxuLS1cblxuXAorQ29tcGFyZSB0d28gb3BlcmFuZHMgdXNpbmcgdGhlaXIgYWJzdHJhY3QgcmVwcmVzZW50YXRpb24gcmF0aGVyIHRoYW5cblwKK3RoZWlyIG51bWVyaWNhbCB2YWx1ZS4gIFNpbWlsYXIgdG8gdGhlIGNvbXBhcmUoKSBtZXRob2QsIGJ1dCB0aGUgcmVzdWx0XG5cCitnaXZlcyBhIHRvdGFsIG9yZGVyaW5nIG9uIERlY2ltYWwgaW5zdGFuY2VzLiAgVHdvIERlY2ltYWwgaW5zdGFuY2VzIHdpdGhcblwKK3RoZSBzYW1lIG51bWVyaWMgdmFsdWUgYnV0IGRpZmZlcmVudCByZXByZXNlbnRhdGlvbnMgY29tcGFyZSB1bmVxdWFsXG5cCitpbiB0aGlzIG9yZGVyaW5nOlxuXAogXG5cCiAgICAgPj4+IERlY2ltYWwoJzEyLjAnKS5jb21wYXJlX3RvdGFsKERlY2ltYWwoJzEyJykpXG5cCiAgICAgRGVjaW1hbCgnLTEnKVxuXApAQCAtMTA3LDM2ICsxMTQsMzkgQEAKIEludmFsaWRPcGVyYXRpb24gaWYgdGhlIHNlY29uZCBvcGVyYW5kIGNhbm5vdCBiZSBjb252ZXJ0ZWQgZXhhY3RseS5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY29tcGFyZV90b3RhbF9tYWcsIlxuXAotY29tcGFyZV90b3RhbF9tYWcob3RoZXIsIGNvbnRleHQ9Tm9uZSkgLSBDb21wYXJlIHR3byBvcGVyYW5kcyB1c2luZyB0aGVpclxuXAotYWJzdHJhY3QgcmVwcmVzZW50YXRpb24gcmF0aGVyIHRoYW4gdGhlaXIgdmFsdWUgYXMgaW4gY29tcGFyZV90b3RhbCgpLCBidXRcblwKLWlnbm9yaW5nIHRoZSBzaWduIG9mIGVhY2ggb3BlcmFuZC4geC5jb21wYXJlX3RvdGFsX21hZyh5KSBpcyBlcXVpdmFsZW50IHRvXG5cCi14LmNvcHlfYWJzKCkuY29tcGFyZV90b3RhbCh5LmNvcHlfYWJzKCkpLlxuXAorUHlEb2NfU1RSVkFSKGRvY19jb21wYXJlX3RvdGFsX21hZywKKyJjb21wYXJlX3RvdGFsX21hZygkc2VsZiwgLywgb3RoZXIsIGNvbnRleHQ9Tm9uZSlcbi0tXG5cblwKK0NvbXBhcmUgdHdvIG9wZXJhbmRzIHVzaW5nIHRoZWlyIGFic3RyYWN0IHJlcHJlc2VudGF0aW9uIHJhdGhlciB0aGFuIHRoZWlyXG5cCit2YWx1ZSBhcyBpbiBjb21wYXJlX3RvdGFsKCksIGJ1dCBpZ25vcmluZyB0aGUgc2lnbiBvZiBlYWNoIG9wZXJhbmQuXG5cCitcblwKK3guY29tcGFyZV90b3RhbF9tYWcoeSkgaXMgZXF1aXZhbGVudCB0byB4LmNvcHlfYWJzKCkuY29tcGFyZV90b3RhbCh5LmNvcHlfYWJzKCkpLlxuXAogXG5cCiBUaGlzIG9wZXJhdGlvbiBpcyB1bmFmZmVjdGVkIGJ5IGNvbnRleHQgYW5kIGlzIHF1aWV0OiBubyBmbGFncyBhcmUgY2hhbmdlZFxuXAogYW5kIG5vIHJvdW5kaW5nIGlzIHBlcmZvcm1lZC4gQXMgYW4gZXhjZXB0aW9uLCB0aGUgQyB2ZXJzaW9uIG1heSByYWlzZVxuXAogSW52YWxpZE9wZXJhdGlvbiBpZiB0aGUgc2Vjb25kIG9wZXJhbmQgY2Fubm90IGJlIGNvbnZlcnRlZCBleGFjdGx5LlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jb25qdWdhdGUsIlxuXAotY29uanVnYXRlKCkgLSBSZXR1cm4gc2VsZi5cblwKK1B5RG9jX1NUUlZBUihkb2NfY29uanVnYXRlLAorImNvbmp1Z2F0ZSgkc2VsZiwgLylcbi0tXG5cblwKK1JldHVybiBzZWxmLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jb3B5X2FicywiXG5cCi1jb3B5X2FicygpIC0gUmV0dXJuIHRoZSBhYnNvbHV0ZSB2YWx1ZSBvZiB0aGUgYXJndW1lbnQuIFRoaXMgb3BlcmF0aW9uXG5cCi1pcyB1bmFmZmVjdGVkIGJ5IGNvbnRleHQgYW5kIGlzIHF1aWV0OiBubyBmbGFncyBhcmUgY2hhbmdlZCBhbmQgbm8gcm91bmRpbmdcblwKLWlzIHBlcmZvcm1lZC5cblwKK1B5RG9jX1NUUlZBUihkb2NfY29weV9hYnMsCisiY29weV9hYnMoJHNlbGYsIC8pXG4tLVxuXG5cCitSZXR1cm4gdGhlIGFic29sdXRlIHZhbHVlIG9mIHRoZSBhcmd1bWVudC4gIFRoaXMgb3BlcmF0aW9uIGlzIHVuYWZmZWN0ZWQgYnlcblwKK2NvbnRleHQgYW5kIGlzIHF1aWV0OiBubyBmbGFncyBhcmUgY2hhbmdlZCBhbmQgbm8gcm91bmRpbmcgaXMgcGVyZm9ybWVkLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jb3B5X25lZ2F0ZSwiXG5cCi1jb3B5X25lZ2F0ZSgpIC0gUmV0dXJuIHRoZSBuZWdhdGlvbiBvZiB0aGUgYXJndW1lbnQuIFRoaXMgb3BlcmF0aW9uIGlzXG5cCi11bmFmZmVjdGVkIGJ5IGNvbnRleHQgYW5kIGlzIHF1aWV0OiBubyBmbGFncyBhcmUgY2hhbmdlZCBhbmQgbm8gcm91bmRpbmdcblwKLWlzIHBlcmZvcm1lZC5cblwKK1B5RG9jX1NUUlZBUihkb2NfY29weV9uZWdhdGUsCisiY29weV9uZWdhdGUoJHNlbGYsIC8pXG4tLVxuXG5cCitSZXR1cm4gdGhlIG5lZ2F0aW9uIG9mIHRoZSBhcmd1bWVudC4gIFRoaXMgb3BlcmF0aW9uIGlzIHVuYWZmZWN0ZWQgYnkgY29udGV4dFxuXAorYW5kIGlzIHF1aWV0OiBubyBmbGFncyBhcmUgY2hhbmdlZCBhbmQgbm8gcm91bmRpbmcgaXMgcGVyZm9ybWVkLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jb3B5X3NpZ24sIlxuXAotY29weV9zaWduKG90aGVyLCBjb250ZXh0PU5vbmUpIC0gUmV0dXJuIGEgY29weSBvZiB0aGUgZmlyc3Qgb3BlcmFuZCB3aXRoXG5cCi10aGUgc2lnbiBzZXQgdG8gYmUgdGhlIHNhbWUgYXMgdGhlIHNpZ24gb2YgdGhlIHNlY29uZCBvcGVyYW5kLiBGb3IgZXhhbXBsZTpcblwKK1B5RG9jX1NUUlZBUihkb2NfY29weV9zaWduLAorImNvcHlfc2lnbigkc2VsZiwgLywgb3RoZXIsIGNvbnRleHQ9Tm9uZSlcbi0tXG5cblwKK1JldHVybiBhIGNvcHkgb2YgdGhlIGZpcnN0IG9wZXJhbmQgd2l0aCB0aGUgc2lnbiBzZXQgdG8gYmUgdGhlIHNhbWUgYXMgdGhlXG5cCitzaWduIG9mIHRoZSBzZWNvbmQgb3BlcmFuZC4gRm9yIGV4YW1wbGU6XG5cCiBcblwKICAgICA+Pj4gRGVjaW1hbCgnMi4zJykuY29weV9zaWduKERlY2ltYWwoJy0xLjUnKSlcblwKICAgICBEZWNpbWFsKCctMi4zJylcblwKQEAgLTE0NiwxNCArMTU2LDE2IEBACiBJbnZhbGlkT3BlcmF0aW9uIGlmIHRoZSBzZWNvbmQgb3BlcmFuZCBjYW5ub3QgYmUgY29udmVydGVkIGV4YWN0bHkuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2V4cCwiXG5cCi1leHAoY29udGV4dD1Ob25lKSAtIFJldHVybiB0aGUgdmFsdWUgb2YgdGhlIChuYXR1cmFsKSBleHBvbmVudGlhbCBmdW5jdGlvblxuXAotZSoqeCBhdCB0aGUgZ2l2ZW4gbnVtYmVyLiBUaGUgZnVuY3Rpb24gYWx3YXlzIHVzZXMgdGhlIFJPVU5EX0hBTEZfRVZFTiBtb2RlXG5cCi1hbmQgdGhlIHJlc3VsdCBpcyBjb3JyZWN0bHkgcm91bmRlZC5cblwKK1B5RG9jX1NUUlZBUihkb2NfZXhwLAorImV4cCgkc2VsZiwgLywgY29udGV4dD1Ob25lKVxuLS1cblxuXAorUmV0dXJuIHRoZSB2YWx1ZSBvZiB0aGUgKG5hdHVyYWwpIGV4cG9uZW50aWFsIGZ1bmN0aW9uIGUqKnggYXQgdGhlIGdpdmVuXG5cCitudW1iZXIuICBUaGUgZnVuY3Rpb24gYWx3YXlzIHVzZXMgdGhlIFJPVU5EX0hBTEZfRVZFTiBtb2RlIGFuZCB0aGUgcmVzdWx0XG5cCitpcyBjb3JyZWN0bHkgcm91bmRlZC5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfZnJvbV9mbG9hdCwiXG5cCi1mcm9tX2Zsb2F0KGYpIC0gQ2xhc3MgbWV0aG9kIHRoYXQgY29udmVydHMgYSBmbG9hdCB0byBhIGRlY2ltYWwgbnVtYmVyLCBleGFjdGx5LlxuXAorUHlEb2NfU1RSVkFSKGRvY19mcm9tX2Zsb2F0LAorImZyb21fZmxvYXQoJHR5cGUsIGYsIC8pXG4tLVxuXG5cCitDbGFzcyBtZXRob2QgdGhhdCBjb252ZXJ0cyBhIGZsb2F0IHRvIGEgZGVjaW1hbCBudW1iZXIsIGV4YWN0bHkuXG5cCiBTaW5jZSAwLjEgaXMgbm90IGV4YWN0bHkgcmVwcmVzZW50YWJsZSBpbiBiaW5hcnkgZmxvYXRpbmcgcG9pbnQsXG5cCiBEZWNpbWFsLmZyb21fZmxvYXQoMC4xKSBpcyBub3QgdGhlIHNhbWUgYXMgRGVjaW1hbCgnMC4xJykuXG5cCiBcblwKQEAgLTE2OCwxNTUgKzE4MCwxNzYgQEAKIFxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19mbWEsIlxuXAotZm1hKG90aGVyLCB0aGlyZCwgY29udGV4dD1Ob25lKSAtIEZ1c2VkIG11bHRpcGx5LWFkZC4gUmV0dXJuIHNlbGYqb3RoZXIrdGhpcmRcblwKLXdpdGggbm8gcm91bmRpbmcgb2YgdGhlIGludGVybWVkaWF0ZSBwcm9kdWN0IHNlbGYqb3RoZXIuXG5cCitQeURvY19TVFJWQVIoZG9jX2ZtYSwKKyJmbWEoJHNlbGYsIC8sIG90aGVyLCB0aGlyZCwgY29udGV4dD1Ob25lKVxuLS1cblxuXAorRnVzZWQgbXVsdGlwbHktYWRkLiAgUmV0dXJuIHNlbGYqb3RoZXIrdGhpcmQgd2l0aCBubyByb3VuZGluZyBvZiB0aGVcblwKK2ludGVybWVkaWF0ZSBwcm9kdWN0IHNlbGYqb3RoZXIuXG5cCiBcblwKICAgICA+Pj4gRGVjaW1hbCgyKS5mbWEoMywgNSlcblwKICAgICBEZWNpbWFsKCcxMScpXG5cCiBcblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfaXNfY2Fub25pY2FsLCJcblwKLWlzX2Nhbm9uaWNhbCgpIC0gUmV0dXJuIFRydWUgaWYgdGhlIGFyZ3VtZW50IGlzIGNhbm9uaWNhbCBhbmQgRmFsc2Ugb3RoZXJ3aXNlLlxuXAotQ3VycmVudGx5LCBhIERlY2ltYWwgaW5zdGFuY2UgaXMgYWx3YXlzIGNhbm9uaWNhbCwgc28gdGhpcyBvcGVyYXRpb24gYWx3YXlzXG5cCi1yZXR1cm5zIFRydWUuXG5cCitQeURvY19TVFJWQVIoZG9jX2lzX2Nhbm9uaWNhbCwKKyJpc19jYW5vbmljYWwoJHNlbGYsIC8pXG4tLVxuXG5cCitSZXR1cm4gVHJ1ZSBpZiB0aGUgYXJndW1lbnQgaXMgY2Fub25pY2FsIGFuZCBGYWxzZSBvdGhlcndpc2UuICBDdXJyZW50bHksXG5cCithIERlY2ltYWwgaW5zdGFuY2UgaXMgYWx3YXlzIGNhbm9uaWNhbCwgc28gdGhpcyBvcGVyYXRpb24gYWx3YXlzIHJldHVybnNcblwKK1RydWUuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2lzX2Zpbml0ZSwiXG5cCi1pc19maW5pdGUoKSAtIFJldHVybiBUcnVlIGlmIHRoZSBhcmd1bWVudCBpcyBhIGZpbml0ZSBudW1iZXIsIGFuZCBGYWxzZSBpZiB0aGVcblwKLWFyZ3VtZW50IGlzIGluZmluaXRlIG9yIGEgTmFOLlxuXAorUHlEb2NfU1RSVkFSKGRvY19pc19maW5pdGUsCisiaXNfZmluaXRlKCRzZWxmLCAvKVxuLS1cblxuXAorUmV0dXJuIFRydWUgaWYgdGhlIGFyZ3VtZW50IGlzIGEgZmluaXRlIG51bWJlciwgYW5kIEZhbHNlIGlmIHRoZSBhcmd1bWVudFxuXAoraXMgaW5maW5pdGUgb3IgYSBOYU4uXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2lzX2luZmluaXRlLCJcblwKLWlzX2luZmluaXRlKCkgLSBSZXR1cm4gVHJ1ZSBpZiB0aGUgYXJndW1lbnQgaXMgZWl0aGVyIHBvc2l0aXZlIG9yIG5lZ2F0aXZlXG5cCi1pbmZpbml0eSBhbmQgRmFsc2Ugb3RoZXJ3aXNlLlxuXAotXG4iKTsKLQotUHlEb2NfU1RSVkFSKGRvY19pc19uYW4sIlxuXAotaXNfbmFuKCkgLSBSZXR1cm4gVHJ1ZSBpZiB0aGUgYXJndW1lbnQgaXMgYSAocXVpZXQgb3Igc2lnbmFsaW5nKSBOYU4gYW5kXG5cCitQeURvY19TVFJWQVIoZG9jX2lzX2luZmluaXRlLAorImlzX2luZmluaXRlKCRzZWxmLCAvKVxuLS1cblxuXAorUmV0dXJuIFRydWUgaWYgdGhlIGFyZ3VtZW50IGlzIGVpdGhlciBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBpbmZpbml0eSBhbmRcblwKIEZhbHNlIG90aGVyd2lzZS5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfaXNfbm9ybWFsLCJcblwKLWlzX25vcm1hbChjb250ZXh0PU5vbmUpIC0gUmV0dXJuIFRydWUgaWYgdGhlIGFyZ3VtZW50IGlzIGEgbm9ybWFsIGZpbml0ZVxuXAotbm9uLXplcm8gbnVtYmVyIHdpdGggYW4gYWRqdXN0ZWQgZXhwb25lbnQgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIEVtaW4uXG5cCi1SZXR1cm4gRmFsc2UgaWYgdGhlIGFyZ3VtZW50IGlzIHplcm8sIHN1Ym5vcm1hbCwgaW5maW5pdGUgb3IgYSBOYU4uXG5cCitQeURvY19TVFJWQVIoZG9jX2lzX25hbiwKKyJpc19uYW4oJHNlbGYsIC8pXG4tLVxuXG5cCitSZXR1cm4gVHJ1ZSBpZiB0aGUgYXJndW1lbnQgaXMgYSAocXVpZXQgb3Igc2lnbmFsaW5nKSBOYU4gYW5kIEZhbHNlXG5cCitvdGhlcndpc2UuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2lzX3FuYW4sIlxuXAotaXNfcW5hbigpIC0gUmV0dXJuIFRydWUgaWYgdGhlIGFyZ3VtZW50IGlzIGEgcXVpZXQgTmFOLCBhbmQgRmFsc2Ugb3RoZXJ3aXNlLlxuXAorUHlEb2NfU1RSVkFSKGRvY19pc19ub3JtYWwsCisiaXNfbm9ybWFsKCRzZWxmLCAvLCBjb250ZXh0PU5vbmUpXG4tLVxuXG5cCitSZXR1cm4gVHJ1ZSBpZiB0aGUgYXJndW1lbnQgaXMgYSBub3JtYWwgZmluaXRlIG5vbi16ZXJvIG51bWJlciB3aXRoIGFuXG5cCithZGp1c3RlZCBleHBvbmVudCBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gRW1pbi4gUmV0dXJuIEZhbHNlIGlmIHRoZVxuXAorYXJndW1lbnQgaXMgemVybywgc3Vibm9ybWFsLCBpbmZpbml0ZSBvciBhIE5hTi5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfaXNfc2lnbmVkLCJcblwKLWlzX3NpZ25lZCgpIC0gUmV0dXJuIFRydWUgaWYgdGhlIGFyZ3VtZW50IGhhcyBhIG5lZ2F0aXZlIHNpZ24gYW5kXG5cCi1GYWxzZSBvdGhlcndpc2UuIE5vdGUgdGhhdCBib3RoIHplcm9zIGFuZCBOYU5zIGNhbiBjYXJyeSBzaWducy5cblwKK1B5RG9jX1NUUlZBUihkb2NfaXNfcW5hbiwKKyJpc19xbmFuKCRzZWxmLCAvKVxuLS1cblxuXAorUmV0dXJuIFRydWUgaWYgdGhlIGFyZ3VtZW50IGlzIGEgcXVpZXQgTmFOLCBhbmQgRmFsc2Ugb3RoZXJ3aXNlLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19pc19zbmFuLCJcblwKLWlzX3NuYW4oKSAtIFJldHVybiBUcnVlIGlmIHRoZSBhcmd1bWVudCBpcyBhIHNpZ25hbGluZyBOYU4gYW5kIEZhbHNlIG90aGVyd2lzZS5cblwKK1B5RG9jX1NUUlZBUihkb2NfaXNfc2lnbmVkLAorImlzX3NpZ25lZCgkc2VsZiwgLylcbi0tXG5cblwKK1JldHVybiBUcnVlIGlmIHRoZSBhcmd1bWVudCBoYXMgYSBuZWdhdGl2ZSBzaWduIGFuZCBGYWxzZSBvdGhlcndpc2UuXG5cCitOb3RlIHRoYXQgYm90aCB6ZXJvcyBhbmQgTmFOcyBjYW4gY2Fycnkgc2lnbnMuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2lzX3N1Ym5vcm1hbCwiXG5cCi1pc19zdWJub3JtYWwoY29udGV4dD1Ob25lKSAtIFJldHVybiBUcnVlIGlmIHRoZSBhcmd1bWVudCBpcyBzdWJub3JtYWwsIGFuZFxuXAotRmFsc2Ugb3RoZXJ3aXNlLiBBIG51bWJlciBpcyBzdWJub3JtYWwgaWYgaXQgaXMgbm9uLXplcm8sIGZpbml0ZSwgYW5kIGhhcyBhblxuXAotYWRqdXN0ZWQgZXhwb25lbnQgbGVzcyB0aGFuIEVtaW4uXG5cCitQeURvY19TVFJWQVIoZG9jX2lzX3NuYW4sCisiaXNfc25hbigkc2VsZiwgLylcbi0tXG5cblwKK1JldHVybiBUcnVlIGlmIHRoZSBhcmd1bWVudCBpcyBhIHNpZ25hbGluZyBOYU4gYW5kIEZhbHNlIG90aGVyd2lzZS5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfaXNfemVybywiXG5cCi1pc196ZXJvKCkgLSBSZXR1cm4gVHJ1ZSBpZiB0aGUgYXJndW1lbnQgaXMgYSAocG9zaXRpdmUgb3IgbmVnYXRpdmUpIHplcm8gYW5kXG5cCi1GYWxzZSBvdGhlcndpc2UuXG5cCitQeURvY19TVFJWQVIoZG9jX2lzX3N1Ym5vcm1hbCwKKyJpc19zdWJub3JtYWwoJHNlbGYsIC8sIGNvbnRleHQ9Tm9uZSlcbi0tXG5cblwKK1JldHVybiBUcnVlIGlmIHRoZSBhcmd1bWVudCBpcyBzdWJub3JtYWwsIGFuZCBGYWxzZSBvdGhlcndpc2UuIEEgbnVtYmVyIGlzXG5cCitzdWJub3JtYWwgaWYgaXQgaXMgbm9uLXplcm8sIGZpbml0ZSwgYW5kIGhhcyBhbiBhZGp1c3RlZCBleHBvbmVudCBsZXNzXG5cCit0aGFuIEVtaW4uXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2xuLCJcblwKLWxuKGNvbnRleHQ9Tm9uZSkgLSBSZXR1cm4gdGhlIG5hdHVyYWwgKGJhc2UgZSkgbG9nYXJpdGhtIG9mIHRoZSBvcGVyYW5kLlxuXAotVGhlIGZ1bmN0aW9uIGFsd2F5cyB1c2VzIHRoZSBST1VORF9IQUxGX0VWRU4gbW9kZSBhbmQgdGhlIHJlc3VsdCBpc1xuXAotY29ycmVjdGx5IHJvdW5kZWQuXG5cCitQeURvY19TVFJWQVIoZG9jX2lzX3plcm8sCisiaXNfemVybygkc2VsZiwgLylcbi0tXG5cblwKK1JldHVybiBUcnVlIGlmIHRoZSBhcmd1bWVudCBpcyBhIChwb3NpdGl2ZSBvciBuZWdhdGl2ZSkgemVybyBhbmQgRmFsc2VcblwKK290aGVyd2lzZS5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfbG9nMTAsIlxuXAotbG9nMTAoY29udGV4dD1Ob25lKSAtIFJldHVybiB0aGUgYmFzZSB0ZW4gbG9nYXJpdGhtIG9mIHRoZSBvcGVyYW5kLlxuXAotVGhlIGZ1bmN0aW9uIGFsd2F5cyB1c2VzIHRoZSBST1VORF9IQUxGX0VWRU4gbW9kZSBhbmQgdGhlIHJlc3VsdCBpc1xuXAotY29ycmVjdGx5IHJvdW5kZWQuXG5cCitQeURvY19TVFJWQVIoZG9jX2xuLAorImxuKCRzZWxmLCAvLCBjb250ZXh0PU5vbmUpXG4tLVxuXG5cCitSZXR1cm4gdGhlIG5hdHVyYWwgKGJhc2UgZSkgbG9nYXJpdGhtIG9mIHRoZSBvcGVyYW5kLiBUaGUgZnVuY3Rpb24gYWx3YXlzXG5cCit1c2VzIHRoZSBST1VORF9IQUxGX0VWRU4gbW9kZSBhbmQgdGhlIHJlc3VsdCBpcyBjb3JyZWN0bHkgcm91bmRlZC5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfbG9nYiwiXG5cCi1sb2diKGNvbnRleHQ9Tm9uZSkgLSBGb3IgYSBub24temVybyBudW1iZXIsIHJldHVybiB0aGUgYWRqdXN0ZWQgZXhwb25lbnRcblwKLW9mIHRoZSBvcGVyYW5kIGFzIGEgRGVjaW1hbCBpbnN0YW5jZS4gSWYgdGhlIG9wZXJhbmQgaXMgYSB6ZXJvLCB0aGVuXG5cCi1EZWNpbWFsKCctSW5maW5pdHknKSBpcyByZXR1cm5lZCBhbmQgdGhlIERpdmlzaW9uQnlaZXJvIGNvbmRpdGlvbiBpc1xuXAotcmFpc2VkLiBJZiB0aGUgb3BlcmFuZCBpcyBhbiBpbmZpbml0eSB0aGVuIERlY2ltYWwoJ0luZmluaXR5JykgaXMgcmV0dXJuZWQuXG5cCitQeURvY19TVFJWQVIoZG9jX2xvZzEwLAorImxvZzEwKCRzZWxmLCAvLCBjb250ZXh0PU5vbmUpXG4tLVxuXG5cCitSZXR1cm4gdGhlIGJhc2UgdGVuIGxvZ2FyaXRobSBvZiB0aGUgb3BlcmFuZC4gVGhlIGZ1bmN0aW9uIGFsd2F5cyB1c2VzIHRoZVxuXAorUk9VTkRfSEFMRl9FVkVOIG1vZGUgYW5kIHRoZSByZXN1bHQgaXMgY29ycmVjdGx5IHJvdW5kZWQuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2xvZ2ljYWxfYW5kLCJcblwKLWxvZ2ljYWxfYW5kKG90aGVyLCBjb250ZXh0PU5vbmUpIC0gUmV0dXJuIHRoZSBkaWdpdC13aXNlIGFuZCBvZiB0aGUgdHdvXG5cCi0obG9naWNhbCkgb3BlcmFuZHMuXG5cCitQeURvY19TVFJWQVIoZG9jX2xvZ2IsCisibG9nYigkc2VsZiwgLywgY29udGV4dD1Ob25lKVxuLS1cblxuXAorRm9yIGEgbm9uLXplcm8gbnVtYmVyLCByZXR1cm4gdGhlIGFkanVzdGVkIGV4cG9uZW50IG9mIHRoZSBvcGVyYW5kIGFzIGFcblwKK0RlY2ltYWwgaW5zdGFuY2UuICBJZiB0aGUgb3BlcmFuZCBpcyBhIHplcm8sIHRoZW4gRGVjaW1hbCgnLUluZmluaXR5JykgaXNcblwKK3JldHVybmVkIGFuZCB0aGUgRGl2aXNpb25CeVplcm8gY29uZGl0aW9uIGlzIHJhaXNlZC4gSWYgdGhlIG9wZXJhbmQgaXNcblwKK2FuIGluZmluaXR5IHRoZW4gRGVjaW1hbCgnSW5maW5pdHknKSBpcyByZXR1cm5lZC5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfbG9naWNhbF9pbnZlcnQsIlxuXAotbG9naWNhbF9pbnZlcnQoY29udGV4dD1Ob25lKSAtIFJldHVybiB0aGUgZGlnaXQtd2lzZSBpbnZlcnNpb24gb2YgdGhlXG5cCi0obG9naWNhbCkgb3BlcmFuZC5cblwKK1B5RG9jX1NUUlZBUihkb2NfbG9naWNhbF9hbmQsCisibG9naWNhbF9hbmQoJHNlbGYsIC8sIG90aGVyLCBjb250ZXh0PU5vbmUpXG4tLVxuXG5cCitSZXR1cm4gdGhlIGRpZ2l0LXdpc2UgJ2FuZCcgb2YgdGhlIHR3byAobG9naWNhbCkgb3BlcmFuZHMuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2xvZ2ljYWxfb3IsIlxuXAotbG9naWNhbF9vcihvdGhlciwgY29udGV4dD1Ob25lKSAtIFJldHVybiB0aGUgZGlnaXQtd2lzZSBvciBvZiB0aGUgdHdvXG5cCi0obG9naWNhbCkgb3BlcmFuZHMuXG5cCitQeURvY19TVFJWQVIoZG9jX2xvZ2ljYWxfaW52ZXJ0LAorImxvZ2ljYWxfaW52ZXJ0KCRzZWxmLCAvLCBjb250ZXh0PU5vbmUpXG4tLVxuXG5cCitSZXR1cm4gdGhlIGRpZ2l0LXdpc2UgaW52ZXJzaW9uIG9mIHRoZSAobG9naWNhbCkgb3BlcmFuZC5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfbG9naWNhbF94b3IsIlxuXAotbG9naWNhbF94b3Iob3RoZXIsIGNvbnRleHQ9Tm9uZSkgLSBSZXR1cm4gdGhlIGRpZ2l0LXdpc2UgZXhjbHVzaXZlIG9yIG9mIHRoZVxuXAotdHdvIChsb2dpY2FsKSBvcGVyYW5kcy5cblwKK1B5RG9jX1NUUlZBUihkb2NfbG9naWNhbF9vciwKKyJsb2dpY2FsX29yKCRzZWxmLCAvLCBvdGhlciwgY29udGV4dD1Ob25lKVxuLS1cblxuXAorUmV0dXJuIHRoZSBkaWdpdC13aXNlICdvcicgb2YgdGhlIHR3byAobG9naWNhbCkgb3BlcmFuZHMuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX21heCwiXG5cCi1tYXgob3RoZXIsIGNvbnRleHQ9Tm9uZSkgLSBNYXhpbXVtIG9mIHNlbGYgYW5kIG90aGVyLiBJZiBvbmUgb3BlcmFuZCBpcyBhXG5cCi1xdWlldCBOYU4gYW5kIHRoZSBvdGhlciBpcyBudW1lcmljLCB0aGUgbnVtZXJpYyBvcGVyYW5kIGlzIHJldHVybmVkLlxuXAorUHlEb2NfU1RSVkFSKGRvY19sb2dpY2FsX3hvciwKKyJsb2dpY2FsX3hvcigkc2VsZiwgLywgb3RoZXIsIGNvbnRleHQ9Tm9uZSlcbi0tXG5cblwKK1JldHVybiB0aGUgZGlnaXQtd2lzZSAnZXhjbHVzaXZlIG9yJyBvZiB0aGUgdHdvIChsb2dpY2FsKSBvcGVyYW5kcy5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfbWF4X21hZywiXG5cCi1tYXhfbWFnKG90aGVyLCBjb250ZXh0PU5vbmUpIC0gU2ltaWxhciB0byB0aGUgbWF4KCkgbWV0aG9kLCBidXQgdGhlXG5cCi1jb21wYXJpc29uIGlzIGRvbmUgdXNpbmcgdGhlIGFic29sdXRlIHZhbHVlcyBvZiB0aGUgb3BlcmFuZHMuXG5cCitQeURvY19TVFJWQVIoZG9jX21heCwKKyJtYXgoJHNlbGYsIC8sIG90aGVyLCBjb250ZXh0PU5vbmUpXG4tLVxuXG5cCitNYXhpbXVtIG9mIHNlbGYgYW5kIG90aGVyLiAgSWYgb25lIG9wZXJhbmQgaXMgYSBxdWlldCBOYU4gYW5kIHRoZSBvdGhlciBpc1xuXAorbnVtZXJpYywgdGhlIG51bWVyaWMgb3BlcmFuZCBpcyByZXR1cm5lZC5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfbWluLCJcblwKLW1pbihvdGhlciwgY29udGV4dD1Ob25lKSAtIE1pbmltdW0gb2Ygc2VsZiBhbmQgb3RoZXIuIElmIG9uZSBvcGVyYW5kIGlzIGFcblwKLXF1aWV0IE5hTiBhbmQgdGhlIG90aGVyIGlzIG51bWVyaWMsIHRoZSBudW1lcmljIG9wZXJhbmQgaXMgcmV0dXJuZWQuXG5cCitQeURvY19TVFJWQVIoZG9jX21heF9tYWcsCisibWF4X21hZygkc2VsZiwgLywgb3RoZXIsIGNvbnRleHQ9Tm9uZSlcbi0tXG5cblwKK1NpbWlsYXIgdG8gdGhlIG1heCgpIG1ldGhvZCwgYnV0IHRoZSBjb21wYXJpc29uIGlzIGRvbmUgdXNpbmcgdGhlIGFic29sdXRlXG5cCit2YWx1ZXMgb2YgdGhlIG9wZXJhbmRzLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19taW5fbWFnLCJcblwKLW1pbl9tYWcob3RoZXIsIGNvbnRleHQ9Tm9uZSkgLSBTaW1pbGFyIHRvIHRoZSBtaW4oKSBtZXRob2QsIGJ1dCB0aGVcblwKLWNvbXBhcmlzb24gaXMgZG9uZSB1c2luZyB0aGUgYWJzb2x1dGUgdmFsdWVzIG9mIHRoZSBvcGVyYW5kcy5cblwKK1B5RG9jX1NUUlZBUihkb2NfbWluLAorIm1pbigkc2VsZiwgLywgb3RoZXIsIGNvbnRleHQ9Tm9uZSlcbi0tXG5cblwKK01pbmltdW0gb2Ygc2VsZiBhbmQgb3RoZXIuIElmIG9uZSBvcGVyYW5kIGlzIGEgcXVpZXQgTmFOIGFuZCB0aGUgb3RoZXIgaXNcblwKK251bWVyaWMsIHRoZSBudW1lcmljIG9wZXJhbmQgaXMgcmV0dXJuZWQuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX25leHRfbWludXMsIlxuXAotbmV4dF9taW51cyhjb250ZXh0PU5vbmUpIC0gUmV0dXJuIHRoZSBsYXJnZXN0IG51bWJlciByZXByZXNlbnRhYmxlIGluIHRoZVxuXAotZ2l2ZW4gY29udGV4dCAob3IgaW4gdGhlIGN1cnJlbnQgZGVmYXVsdCBjb250ZXh0IGlmIG5vIGNvbnRleHQgaXMgZ2l2ZW4pIHRoYXRcblwKLWlzIHNtYWxsZXIgdGhhbiB0aGUgZ2l2ZW4gb3BlcmFuZC5cblwKK1B5RG9jX1NUUlZBUihkb2NfbWluX21hZywKKyJtaW5fbWFnKCRzZWxmLCAvLCBvdGhlciwgY29udGV4dD1Ob25lKVxuLS1cblxuXAorU2ltaWxhciB0byB0aGUgbWluKCkgbWV0aG9kLCBidXQgdGhlIGNvbXBhcmlzb24gaXMgZG9uZSB1c2luZyB0aGUgYWJzb2x1dGVcblwKK3ZhbHVlcyBvZiB0aGUgb3BlcmFuZHMuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX25leHRfcGx1cywiXG5cCi1uZXh0X3BsdXMoY29udGV4dD1Ob25lKSAtIFJldHVybiB0aGUgc21hbGxlc3QgbnVtYmVyIHJlcHJlc2VudGFibGUgaW4gdGhlXG5cCi1naXZlbiBjb250ZXh0IChvciBpbiB0aGUgY3VycmVudCBkZWZhdWx0IGNvbnRleHQgaWYgbm8gY29udGV4dCBpcyBnaXZlbikgdGhhdFxuXAotaXMgbGFyZ2VyIHRoYW4gdGhlIGdpdmVuIG9wZXJhbmQuXG5cCitQeURvY19TVFJWQVIoZG9jX25leHRfbWludXMsCisibmV4dF9taW51cygkc2VsZiwgLywgY29udGV4dD1Ob25lKVxuLS1cblxuXAorUmV0dXJuIHRoZSBsYXJnZXN0IG51bWJlciByZXByZXNlbnRhYmxlIGluIHRoZSBnaXZlbiBjb250ZXh0IChvciBpbiB0aGVcblwKK2N1cnJlbnQgZGVmYXVsdCBjb250ZXh0IGlmIG5vIGNvbnRleHQgaXMgZ2l2ZW4pIHRoYXQgaXMgc21hbGxlciB0aGFuIHRoZVxuXAorZ2l2ZW4gb3BlcmFuZC5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfbmV4dF90b3dhcmQsIlxuXAotbmV4dF90b3dhcmQob3RoZXIsIGNvbnRleHQ9Tm9uZSkgLSBJZiB0aGUgdHdvIG9wZXJhbmRzIGFyZSB1bmVxdWFsLCByZXR1cm5cblwKLXRoZSBudW1iZXIgY2xvc2VzdCB0byB0aGUgZmlyc3Qgb3BlcmFuZCBpbiB0aGUgZGlyZWN0aW9uIG9mIHRoZSBzZWNvbmQgb3BlcmFuZC5cblwKLUlmIGJvdGggb3BlcmFuZHMgYXJlIG51bWVyaWNhbGx5IGVxdWFsLCByZXR1cm4gYSBjb3B5IG9mIHRoZSBmaXJzdCBvcGVyYW5kXG5cCi13aXRoIHRoZSBzaWduIHNldCB0byBiZSB0aGUgc2FtZSBhcyB0aGUgc2lnbiBvZiB0aGUgc2Vjb25kIG9wZXJhbmQuXG5cCitQeURvY19TVFJWQVIoZG9jX25leHRfcGx1cywKKyJuZXh0X3BsdXMoJHNlbGYsIC8sIGNvbnRleHQ9Tm9uZSlcbi0tXG5cblwKK1JldHVybiB0aGUgc21hbGxlc3QgbnVtYmVyIHJlcHJlc2VudGFibGUgaW4gdGhlIGdpdmVuIGNvbnRleHQgKG9yIGluIHRoZVxuXAorY3VycmVudCBkZWZhdWx0IGNvbnRleHQgaWYgbm8gY29udGV4dCBpcyBnaXZlbikgdGhhdCBpcyBsYXJnZXIgdGhhbiB0aGVcblwKK2dpdmVuIG9wZXJhbmQuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX25vcm1hbGl6ZSwiXG5cCi1ub3JtYWxpemUoY29udGV4dD1Ob25lKSAtIE5vcm1hbGl6ZSB0aGUgbnVtYmVyIGJ5IHN0cmlwcGluZyB0aGUgcmlnaHRtb3N0XG5cCi10cmFpbGluZyB6ZXJvcyBhbmQgY29udmVydGluZyBhbnkgcmVzdWx0IGVxdWFsIHRvIERlY2ltYWwoJzAnKSB0byBEZWNpbWFsKCcwZTAnKS5cblwKLVVzZWQgZm9yIHByb2R1Y2luZyBjYW5vbmljYWwgdmFsdWVzIGZvciBtZW1iZXJzIG9mIGFuIGVxdWl2YWxlbmNlIGNsYXNzLiBGb3JcblwKLWV4YW1wbGUsIERlY2ltYWwoJzMyLjEwMCcpIGFuZCBEZWNpbWFsKCcwLjMyMTAwMGUrMicpIGJvdGggbm9ybWFsaXplIHRvIHRoZVxuXAotZXF1aXZhbGVudCB2YWx1ZSBEZWNpbWFsKCczMi4xJykuXG5cCitQeURvY19TVFJWQVIoZG9jX25leHRfdG93YXJkLAorIm5leHRfdG93YXJkKCRzZWxmLCAvLCBvdGhlciwgY29udGV4dD1Ob25lKVxuLS1cblxuXAorSWYgdGhlIHR3byBvcGVyYW5kcyBhcmUgdW5lcXVhbCwgcmV0dXJuIHRoZSBudW1iZXIgY2xvc2VzdCB0byB0aGUgZmlyc3RcblwKK29wZXJhbmQgaW4gdGhlIGRpcmVjdGlvbiBvZiB0aGUgc2Vjb25kIG9wZXJhbmQuICBJZiBib3RoIG9wZXJhbmRzIGFyZVxuXAorbnVtZXJpY2FsbHkgZXF1YWwsIHJldHVybiBhIGNvcHkgb2YgdGhlIGZpcnN0IG9wZXJhbmQgd2l0aCB0aGUgc2lnbiBzZXRcblwKK3RvIGJlIHRoZSBzYW1lIGFzIHRoZSBzaWduIG9mIHRoZSBzZWNvbmQgb3BlcmFuZC5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfbnVtYmVyX2NsYXNzLCJcblwKLW51bWJlcl9jbGFzcyhjb250ZXh0PU5vbmUpIC0gUmV0dXJuIGEgc3RyaW5nIGRlc2NyaWJpbmcgdGhlIGNsYXNzIG9mIHRoZVxuXAotb3BlcmFuZC4gVGhlIHJldHVybmVkIHZhbHVlIGlzIG9uZSBvZiB0aGUgZm9sbG93aW5nIHRlbiBzdHJpbmdzOlxuXAorUHlEb2NfU1RSVkFSKGRvY19ub3JtYWxpemUsCisibm9ybWFsaXplKCRzZWxmLCAvLCBjb250ZXh0PU5vbmUpXG4tLVxuXG5cCitOb3JtYWxpemUgdGhlIG51bWJlciBieSBzdHJpcHBpbmcgdGhlIHJpZ2h0bW9zdCB0cmFpbGluZyB6ZXJvcyBhbmRcblwKK2NvbnZlcnRpbmcgYW55IHJlc3VsdCBlcXVhbCB0byBEZWNpbWFsKCcwJykgdG8gRGVjaW1hbCgnMGUwJykuICBVc2VkXG5cCitmb3IgcHJvZHVjaW5nIGNhbm9uaWNhbCB2YWx1ZXMgZm9yIG1lbWJlcnMgb2YgYW4gZXF1aXZhbGVuY2UgY2xhc3MuXG5cCitGb3IgZXhhbXBsZSwgRGVjaW1hbCgnMzIuMTAwJykgYW5kIERlY2ltYWwoJzAuMzIxMDAwZSsyJykgYm90aCBub3JtYWxpemVcblwKK3RvIHRoZSBlcXVpdmFsZW50IHZhbHVlIERlY2ltYWwoJzMyLjEnKS5cblwKK1xuIik7CisKK1B5RG9jX1NUUlZBUihkb2NfbnVtYmVyX2NsYXNzLAorIm51bWJlcl9jbGFzcygkc2VsZiwgLywgY29udGV4dD1Ob25lKVxuLS1cblxuXAorUmV0dXJuIGEgc3RyaW5nIGRlc2NyaWJpbmcgdGhlIGNsYXNzIG9mIHRoZSBvcGVyYW5kLiAgVGhlIHJldHVybmVkIHZhbHVlXG5cCitpcyBvbmUgb2YgdGhlIGZvbGxvd2luZyB0ZW4gc3RyaW5nczpcblwKIFxuXAogICAgICogJy1JbmZpbml0eScsIGluZGljYXRpbmcgdGhhdCB0aGUgb3BlcmFuZCBpcyBuZWdhdGl2ZSBpbmZpbml0eS5cblwKICAgICAqICctTm9ybWFsJywgaW5kaWNhdGluZyB0aGF0IHRoZSBvcGVyYW5kIGlzIGEgbmVnYXRpdmUgbm9ybWFsIG51bWJlci5cblwKQEAgLTMzMSw5ICszNjQsMTAgQEAKIFxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19xdWFudGl6ZSwiXG5cCi1xdWFudGl6ZShleHAsIHJvdW5kaW5nPU5vbmUsIGNvbnRleHQ9Tm9uZSkgLSBSZXR1cm4gYSB2YWx1ZSBlcXVhbCB0byB0aGVcblwKLWZpcnN0IG9wZXJhbmQgYWZ0ZXIgcm91bmRpbmcgYW5kIGhhdmluZyB0aGUgZXhwb25lbnQgb2YgdGhlIHNlY29uZCBvcGVyYW5kLlxuXAorUHlEb2NfU1RSVkFSKGRvY19xdWFudGl6ZSwKKyJxdWFudGl6ZSgkc2VsZiwgLywgZXhwLCByb3VuZGluZz1Ob25lLCBjb250ZXh0PU5vbmUpXG4tLVxuXG5cCitSZXR1cm4gYSB2YWx1ZSBlcXVhbCB0byB0aGUgZmlyc3Qgb3BlcmFuZCBhZnRlciByb3VuZGluZyBhbmQgaGF2aW5nIHRoZVxuXAorZXhwb25lbnQgb2YgdGhlIHNlY29uZCBvcGVyYW5kLlxuXAogXG5cCiAgICAgPj4+IERlY2ltYWwoJzEuNDE0MjEzNTYnKS5xdWFudGl6ZShEZWNpbWFsKCcxLjAwMCcpKVxuXAogICAgIERlY2ltYWwoJzEuNDE0JylcblwKQEAgLTM1MiwxMDMgKzM4NiwxMDkgQEAKIGFyZ3VtZW50IGlzIGdpdmVuLCB0aGUgcm91bmRpbmcgbW9kZSBvZiB0aGUgY3VycmVudCB0aHJlYWQncyBjb250ZXh0IGlzIHVzZWQuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX3JhZGl4LCJcblwKLXJhZGl4KCkgLSBSZXR1cm4gRGVjaW1hbCgxMCksIHRoZSByYWRpeCAoYmFzZSkgaW4gd2hpY2ggdGhlIERlY2ltYWwgY2xhc3MgZG9lc1xuXAorUHlEb2NfU1RSVkFSKGRvY19yYWRpeCwKKyJyYWRpeCgkc2VsZiwgLylcbi0tXG5cblwKK1JldHVybiBEZWNpbWFsKDEwKSwgdGhlIHJhZGl4IChiYXNlKSBpbiB3aGljaCB0aGUgRGVjaW1hbCBjbGFzcyBkb2VzXG5cCiBhbGwgaXRzIGFyaXRobWV0aWMuIEluY2x1ZGVkIGZvciBjb21wYXRpYmlsaXR5IHdpdGggdGhlIHNwZWNpZmljYXRpb24uXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX3JlbWFpbmRlcl9uZWFyLCJcblwKLXJlbWFpbmRlcl9uZWFyKG90aGVyLCBjb250ZXh0PU5vbmUpIC0gUmV0dXJuIHRoZSByZW1haW5kZXIgZnJvbSBkaXZpZGluZ1xuXAotc2VsZiBieSBvdGhlci4gVGhpcyBkaWZmZXJzIGZyb20gc2VsZiAlIG90aGVyIGluIHRoYXQgdGhlIHNpZ24gb2YgdGhlXG5cCi1yZW1haW5kZXIgaXMgY2hvc2VuIHNvIGFzIHRvIG1pbmltaXplIGl0cyBhYnNvbHV0ZSB2YWx1ZS4gTW9yZSBwcmVjaXNlbHksIHRoZVxuXAotcmV0dXJuIHZhbHVlIGlzIHNlbGYgLSBuICogb3RoZXIgd2hlcmUgbiBpcyB0aGUgaW50ZWdlciBuZWFyZXN0IHRvIHRoZSBleGFjdFxuXAotdmFsdWUgb2Ygc2VsZiAvIG90aGVyLCBhbmQgaWYgdHdvIGludGVnZXJzIGFyZSBlcXVhbGx5IG5lYXIgdGhlbiB0aGUgZXZlbiBvbmVcblwKLWlzIGNob3Nlbi5cblwKK1B5RG9jX1NUUlZBUihkb2NfcmVtYWluZGVyX25lYXIsCisicmVtYWluZGVyX25lYXIoJHNlbGYsIC8sIG90aGVyLCBjb250ZXh0PU5vbmUpXG4tLVxuXG5cCitSZXR1cm4gdGhlIHJlbWFpbmRlciBmcm9tIGRpdmlkaW5nIHNlbGYgYnkgb3RoZXIuICBUaGlzIGRpZmZlcnMgZnJvbVxuXAorc2VsZiAlIG90aGVyIGluIHRoYXQgdGhlIHNpZ24gb2YgdGhlIHJlbWFpbmRlciBpcyBjaG9zZW4gc28gYXMgdG8gbWluaW1pemVcblwKK2l0cyBhYnNvbHV0ZSB2YWx1ZS4gTW9yZSBwcmVjaXNlbHksIHRoZSByZXR1cm4gdmFsdWUgaXMgc2VsZiAtIG4gKiBvdGhlclxuXAord2hlcmUgbiBpcyB0aGUgaW50ZWdlciBuZWFyZXN0IHRvIHRoZSBleGFjdCB2YWx1ZSBvZiBzZWxmIC8gb3RoZXIsIGFuZFxuXAoraWYgdHdvIGludGVnZXJzIGFyZSBlcXVhbGx5IG5lYXIgdGhlbiB0aGUgZXZlbiBvbmUgaXMgY2hvc2VuLlxuXAogXG5cCiBJZiB0aGUgcmVzdWx0IGlzIHplcm8gdGhlbiBpdHMgc2lnbiB3aWxsIGJlIHRoZSBzaWduIG9mIHNlbGYuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX3JvdGF0ZSwiXG5cCi1yb3RhdGUob3RoZXIsIGNvbnRleHQ9Tm9uZSkgLSBSZXR1cm4gdGhlIHJlc3VsdCBvZiByb3RhdGluZyB0aGUgZGlnaXRzIG9mIHRoZVxuXAotZmlyc3Qgb3BlcmFuZCBieSBhbiBhbW91bnQgc3BlY2lmaWVkIGJ5IHRoZSBzZWNvbmQgb3BlcmFuZC4gVGhlIHNlY29uZCBvcGVyYW5kXG5cCi1tdXN0IGJlIGFuIGludGVnZXIgaW4gdGhlIHJhbmdlIC1wcmVjaXNpb24gdGhyb3VnaCBwcmVjaXNpb24uIFRoZSBhYnNvbHV0ZVxuXAotdmFsdWUgb2YgdGhlIHNlY29uZCBvcGVyYW5kIGdpdmVzIHRoZSBudW1iZXIgb2YgcGxhY2VzIHRvIHJvdGF0ZS4gSWYgdGhlIHNlY29uZFxuXAotb3BlcmFuZCBpcyBwb3NpdGl2ZSB0aGVuIHJvdGF0aW9uIGlzIHRvIHRoZSBsZWZ0OyBvdGhlcndpc2Ugcm90YXRpb24gaXMgdG8gdGhlXG5cCi1yaWdodC4gVGhlIGNvZWZmaWNpZW50IG9mIHRoZSBmaXJzdCBvcGVyYW5kIGlzIHBhZGRlZCBvbiB0aGUgbGVmdCB3aXRoIHplcm9zIHRvXG5cCitQeURvY19TVFJWQVIoZG9jX3JvdGF0ZSwKKyJyb3RhdGUoJHNlbGYsIC8sIG90aGVyLCBjb250ZXh0PU5vbmUpXG4tLVxuXG5cCitSZXR1cm4gdGhlIHJlc3VsdCBvZiByb3RhdGluZyB0aGUgZGlnaXRzIG9mIHRoZSBmaXJzdCBvcGVyYW5kIGJ5IGFuIGFtb3VudFxuXAorc3BlY2lmaWVkIGJ5IHRoZSBzZWNvbmQgb3BlcmFuZC4gIFRoZSBzZWNvbmQgb3BlcmFuZCBtdXN0IGJlIGFuIGludGVnZXIgaW5cblwKK3RoZSByYW5nZSAtcHJlY2lzaW9uIHRocm91Z2ggcHJlY2lzaW9uLiBUaGUgYWJzb2x1dGUgdmFsdWUgb2YgdGhlIHNlY29uZFxuXAorb3BlcmFuZCBnaXZlcyB0aGUgbnVtYmVyIG9mIHBsYWNlcyB0byByb3RhdGUuIElmIHRoZSBzZWNvbmQgb3BlcmFuZCBpc1xuXAorcG9zaXRpdmUgdGhlbiByb3RhdGlvbiBpcyB0byB0aGUgbGVmdDsgb3RoZXJ3aXNlIHJvdGF0aW9uIGlzIHRvIHRoZSByaWdodC5cblwKK1RoZSBjb2VmZmljaWVudCBvZiB0aGUgZmlyc3Qgb3BlcmFuZCBpcyBwYWRkZWQgb24gdGhlIGxlZnQgd2l0aCB6ZXJvcyB0b1xuXAogbGVuZ3RoIHByZWNpc2lvbiBpZiBuZWNlc3NhcnkuIFRoZSBzaWduIGFuZCBleHBvbmVudCBvZiB0aGUgZmlyc3Qgb3BlcmFuZCBhcmVcblwKIHVuY2hhbmdlZC5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2Nfc2FtZV9xdWFudHVtLCJcblwKLXNhbWVfcXVhbnR1bShvdGhlciwgY29udGV4dD1Ob25lKSAtIFRlc3Qgd2hldGhlciBzZWxmIGFuZCBvdGhlciBoYXZlIHRoZVxuXAotc2FtZSBleHBvbmVudCBvciB3aGV0aGVyIGJvdGggYXJlIE5hTi5cblwKK1B5RG9jX1NUUlZBUihkb2Nfc2FtZV9xdWFudHVtLAorInNhbWVfcXVhbnR1bSgkc2VsZiwgLywgb3RoZXIsIGNvbnRleHQ9Tm9uZSlcbi0tXG5cblwKK1Rlc3Qgd2hldGhlciBzZWxmIGFuZCBvdGhlciBoYXZlIHRoZSBzYW1lIGV4cG9uZW50IG9yIHdoZXRoZXIgYm90aCBhcmUgTmFOLlxuXAogXG5cCiBUaGlzIG9wZXJhdGlvbiBpcyB1bmFmZmVjdGVkIGJ5IGNvbnRleHQgYW5kIGlzIHF1aWV0OiBubyBmbGFncyBhcmUgY2hhbmdlZFxuXAogYW5kIG5vIHJvdW5kaW5nIGlzIHBlcmZvcm1lZC4gQXMgYW4gZXhjZXB0aW9uLCB0aGUgQyB2ZXJzaW9uIG1heSByYWlzZVxuXAogSW52YWxpZE9wZXJhdGlvbiBpZiB0aGUgc2Vjb25kIG9wZXJhbmQgY2Fubm90IGJlIGNvbnZlcnRlZCBleGFjdGx5LlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19zY2FsZWIsIlxuXAotc2NhbGViKG90aGVyLCBjb250ZXh0PU5vbmUpIC0gUmV0dXJuIHRoZSBmaXJzdCBvcGVyYW5kIHdpdGggdGhlIGV4cG9uZW50XG5cCi1hZGp1c3RlZCB0aGUgc2Vjb25kLiBFcXVpdmFsZW50bHksIHJldHVybiB0aGUgZmlyc3Qgb3BlcmFuZCBtdWx0aXBsaWVkIGJ5XG5cCi0xMCoqb3RoZXIuIFRoZSBzZWNvbmQgb3BlcmFuZCBtdXN0IGJlIGFuIGludGVnZXIuXG5cCitQeURvY19TVFJWQVIoZG9jX3NjYWxlYiwKKyJzY2FsZWIoJHNlbGYsIC8sIG90aGVyLCBjb250ZXh0PU5vbmUpXG4tLVxuXG5cCitSZXR1cm4gdGhlIGZpcnN0IG9wZXJhbmQgd2l0aCB0aGUgZXhwb25lbnQgYWRqdXN0ZWQgdGhlIHNlY29uZC4gIEVxdWl2YWxlbnRseSxcblwKK3JldHVybiB0aGUgZmlyc3Qgb3BlcmFuZCBtdWx0aXBsaWVkIGJ5IDEwKipvdGhlci4gVGhlIHNlY29uZCBvcGVyYW5kIG11c3QgYmVcblwKK2FuIGludGVnZXIuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX3NoaWZ0LCJcblwKLXNoaWZ0KG90aGVyLCBjb250ZXh0PU5vbmUpIC0gUmV0dXJuIHRoZSByZXN1bHQgb2Ygc2hpZnRpbmcgdGhlIGRpZ2l0cyBvZlxuXAotdGhlIGZpcnN0IG9wZXJhbmQgYnkgYW4gYW1vdW50IHNwZWNpZmllZCBieSB0aGUgc2Vjb25kIG9wZXJhbmQuIFRoZSBzZWNvbmRcblwKLW9wZXJhbmQgbXVzdCBiZSBhbiBpbnRlZ2VyIGluIHRoZSByYW5nZSAtcHJlY2lzaW9uIHRocm91Z2ggcHJlY2lzaW9uLiBUaGVcblwKLWFic29sdXRlIHZhbHVlIG9mIHRoZSBzZWNvbmQgb3BlcmFuZCBnaXZlcyB0aGUgbnVtYmVyIG9mIHBsYWNlcyB0byBzaGlmdC5cblwKLUlmIHRoZSBzZWNvbmQgb3BlcmFuZCBpcyBwb3NpdGl2ZSwgdGhlbiB0aGUgc2hpZnQgaXMgdG8gdGhlIGxlZnQ7IG90aGVyd2lzZVxuXAotdGhlIHNoaWZ0IGlzIHRvIHRoZSByaWdodC4gRGlnaXRzIHNoaWZ0ZWQgaW50byB0aGUgY29lZmZpY2llbnQgYXJlIHplcm9zLlxuXAotVGhlIHNpZ24gYW5kIGV4cG9uZW50IG9mIHRoZSBmaXJzdCBvcGVyYW5kIGFyZSB1bmNoYW5nZWQuXG5cCitQeURvY19TVFJWQVIoZG9jX3NoaWZ0LAorInNoaWZ0KCRzZWxmLCAvLCBvdGhlciwgY29udGV4dD1Ob25lKVxuLS1cblxuXAorUmV0dXJuIHRoZSByZXN1bHQgb2Ygc2hpZnRpbmcgdGhlIGRpZ2l0cyBvZiB0aGUgZmlyc3Qgb3BlcmFuZCBieSBhbiBhbW91bnRcblwKK3NwZWNpZmllZCBieSB0aGUgc2Vjb25kIG9wZXJhbmQuICBUaGUgc2Vjb25kIG9wZXJhbmQgbXVzdCBiZSBhbiBpbnRlZ2VyIGluXG5cCit0aGUgcmFuZ2UgLXByZWNpc2lvbiB0aHJvdWdoIHByZWNpc2lvbi4gVGhlIGFic29sdXRlIHZhbHVlIG9mIHRoZSBzZWNvbmRcblwKK29wZXJhbmQgZ2l2ZXMgdGhlIG51bWJlciBvZiBwbGFjZXMgdG8gc2hpZnQuIElmIHRoZSBzZWNvbmQgb3BlcmFuZCBpc1xuXAorcG9zaXRpdmUsIHRoZW4gdGhlIHNoaWZ0IGlzIHRvIHRoZSBsZWZ0OyBvdGhlcndpc2UgdGhlIHNoaWZ0IGlzIHRvIHRoZVxuXAorcmlnaHQuIERpZ2l0cyBzaGlmdGVkIGludG8gdGhlIGNvZWZmaWNpZW50IGFyZSB6ZXJvcy4gVGhlIHNpZ24gYW5kIGV4cG9uZW50XG5cCitvZiB0aGUgZmlyc3Qgb3BlcmFuZCBhcmUgdW5jaGFuZ2VkLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19zcXJ0LCJcblwKLXNxcnQoY29udGV4dD1Ob25lKSAtIFJldHVybiB0aGUgc3F1YXJlIHJvb3Qgb2YgdGhlIGFyZ3VtZW50IHRvIGZ1bGwgcHJlY2lzaW9uLlxuXAotVGhlIHJlc3VsdCBpcyBjb3JyZWN0bHkgcm91bmRlZCB1c2luZyB0aGUgUk9VTkRfSEFMRl9FVkVOIHJvdW5kaW5nIG1vZGUuXG5cCitQeURvY19TVFJWQVIoZG9jX3NxcnQsCisic3FydCgkc2VsZiwgLywgY29udGV4dD1Ob25lKVxuLS1cblxuXAorUmV0dXJuIHRoZSBzcXVhcmUgcm9vdCBvZiB0aGUgYXJndW1lbnQgdG8gZnVsbCBwcmVjaXNpb24uIFRoZSByZXN1bHQgaXNcblwKK2NvcnJlY3RseSByb3VuZGVkIHVzaW5nIHRoZSBST1VORF9IQUxGX0VWRU4gcm91bmRpbmcgbW9kZS5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfdG9fZW5nX3N0cmluZywiXG5cCi10b19lbmdfc3RyaW5nKGNvbnRleHQ9Tm9uZSkgLSBDb252ZXJ0IHRvIGFuIGVuZ2luZWVyaW5nLXR5cGUgc3RyaW5nLlxuXAotRW5naW5lZXJpbmcgbm90YXRpb24gaGFzIGFuIGV4cG9uZW50IHdoaWNoIGlzIGEgbXVsdGlwbGUgb2YgMywgc28gdGhlcmVcblwKLWFyZSB1cCB0byAzIGRpZ2l0cyBsZWZ0IG9mIHRoZSBkZWNpbWFsIHBsYWNlLiBGb3IgZXhhbXBsZSwgRGVjaW1hbCgnMTIzRSsxJylcblwKLWlzIGNvbnZlcnRlZCB0byBEZWNpbWFsKCcxLjIzRSszJykuXG5cCitQeURvY19TVFJWQVIoZG9jX3RvX2VuZ19zdHJpbmcsCisidG9fZW5nX3N0cmluZygkc2VsZiwgLywgY29udGV4dD1Ob25lKVxuLS1cblxuXAorQ29udmVydCB0byBhbiBlbmdpbmVlcmluZy10eXBlIHN0cmluZy4gIEVuZ2luZWVyaW5nIG5vdGF0aW9uIGhhcyBhbiBleHBvbmVudFxuXAord2hpY2ggaXMgYSBtdWx0aXBsZSBvZiAzLCBzbyB0aGVyZSBhcmUgdXAgdG8gMyBkaWdpdHMgbGVmdCBvZiB0aGUgZGVjaW1hbFxuXAorcGxhY2UuIEZvciBleGFtcGxlLCBEZWNpbWFsKCcxMjNFKzEnKSBpcyBjb252ZXJ0ZWQgdG8gRGVjaW1hbCgnMS4yM0UrMycpLlxuXAogXG5cCiBUaGUgdmFsdWUgb2YgY29udGV4dC5jYXBpdGFscyBkZXRlcm1pbmVzIHdoZXRoZXIgdGhlIGV4cG9uZW50IHNpZ24gaXMgbG93ZXJcblwKIG9yIHVwcGVyIGNhc2UuIE90aGVyd2lzZSwgdGhlIGNvbnRleHQgZG9lcyBub3QgYWZmZWN0IHRoZSBvcGVyYXRpb24uXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX3RvX2ludGVncmFsLCJcblwKLXRvX2ludGVncmFsKHJvdW5kaW5nPU5vbmUsIGNvbnRleHQ9Tm9uZSkgLSBJZGVudGljYWwgdG8gdGhlXG5cCi10b19pbnRlZ3JhbF92YWx1ZSgpIG1ldGhvZC4gVGhlIHRvX2ludGVncmFsKCkgbmFtZSBoYXMgYmVlbiBrZXB0XG5cCi1mb3IgY29tcGF0aWJpbGl0eSB3aXRoIG9sZGVyIHZlcnNpb25zLlxuXAorUHlEb2NfU1RSVkFSKGRvY190b19pbnRlZ3JhbCwKKyJ0b19pbnRlZ3JhbCgkc2VsZiwgLywgcm91bmRpbmc9Tm9uZSwgY29udGV4dD1Ob25lKVxuLS1cblxuXAorSWRlbnRpY2FsIHRvIHRoZSB0b19pbnRlZ3JhbF92YWx1ZSgpIG1ldGhvZC4gIFRoZSB0b19pbnRlZ3JhbCgpIG5hbWUgaGFzIGJlZW5cblwKK2tlcHQgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBvbGRlciB2ZXJzaW9ucy5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfdG9faW50ZWdyYWxfZXhhY3QsIlxuXAotdG9faW50ZWdyYWxfZXhhY3Qocm91bmRpbmc9Tm9uZSwgY29udGV4dD1Ob25lKSAtIFJvdW5kIHRvIHRoZSBuZWFyZXN0XG5cCi1pbnRlZ2VyLCBzaWduYWxpbmcgSW5leGFjdCBvciBSb3VuZGVkIGFzIGFwcHJvcHJpYXRlIGlmIHJvdW5kaW5nIG9jY3Vycy5cblwKLVRoZSByb3VuZGluZyBtb2RlIGlzIGRldGVybWluZWQgYnkgdGhlIHJvdW5kaW5nIHBhcmFtZXRlciBpZiBnaXZlbiwgZWxzZVxuXAotYnkgdGhlIGdpdmVuIGNvbnRleHQuIElmIG5laXRoZXIgcGFyYW1ldGVyIGlzIGdpdmVuLCB0aGVuIHRoZSByb3VuZGluZyBtb2RlXG5cCitQeURvY19TVFJWQVIoZG9jX3RvX2ludGVncmFsX2V4YWN0LAorInRvX2ludGVncmFsX2V4YWN0KCRzZWxmLCAvLCByb3VuZGluZz1Ob25lLCBjb250ZXh0PU5vbmUpXG4tLVxuXG5cCitSb3VuZCB0byB0aGUgbmVhcmVzdCBpbnRlZ2VyLCBzaWduYWxpbmcgSW5leGFjdCBvciBSb3VuZGVkIGFzIGFwcHJvcHJpYXRlIGlmXG5cCityb3VuZGluZyBvY2N1cnMuICBUaGUgcm91bmRpbmcgbW9kZSBpcyBkZXRlcm1pbmVkIGJ5IHRoZSByb3VuZGluZyBwYXJhbWV0ZXJcblwKK2lmIGdpdmVuLCBlbHNlIGJ5IHRoZSBnaXZlbiBjb250ZXh0LiBJZiBuZWl0aGVyIHBhcmFtZXRlciBpcyBnaXZlbiwgdGhlbiB0aGVcblwKK3JvdW5kaW5nIG1vZGUgb2YgdGhlIGN1cnJlbnQgZGVmYXVsdCBjb250ZXh0IGlzIHVzZWQuXG5cCitcbiIpOworCitQeURvY19TVFJWQVIoZG9jX3RvX2ludGVncmFsX3ZhbHVlLAorInRvX2ludGVncmFsX3ZhbHVlKCRzZWxmLCAvLCByb3VuZGluZz1Ob25lLCBjb250ZXh0PU5vbmUpXG4tLVxuXG5cCitSb3VuZCB0byB0aGUgbmVhcmVzdCBpbnRlZ2VyIHdpdGhvdXQgc2lnbmFsaW5nIEluZXhhY3Qgb3IgUm91bmRlZC4gIFRoZVxuXAorcm91bmRpbmcgbW9kZSBpcyBkZXRlcm1pbmVkIGJ5IHRoZSByb3VuZGluZyBwYXJhbWV0ZXIgaWYgZ2l2ZW4sIGVsc2UgYnlcblwKK3RoZSBnaXZlbiBjb250ZXh0LiBJZiBuZWl0aGVyIHBhcmFtZXRlciBpcyBnaXZlbiwgdGhlbiB0aGUgcm91bmRpbmcgbW9kZVxuXAogb2YgdGhlIGN1cnJlbnQgZGVmYXVsdCBjb250ZXh0IGlzIHVzZWQuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX3RvX2ludGVncmFsX3ZhbHVlLCJcblwKLXRvX2ludGVncmFsX3ZhbHVlKHJvdW5kaW5nPU5vbmUsIGNvbnRleHQ9Tm9uZSkgLSBSb3VuZCB0byB0aGUgbmVhcmVzdFxuXAotaW50ZWdlciB3aXRob3V0IHNpZ25hbGluZyBJbmV4YWN0IG9yIFJvdW5kZWQuIFRoZSByb3VuZGluZyBtb2RlIGlzIGRldGVybWluZWRcblwKLWJ5IHRoZSByb3VuZGluZyBwYXJhbWV0ZXIgaWYgZ2l2ZW4sIGVsc2UgYnkgdGhlIGdpdmVuIGNvbnRleHQuIElmIG5laXRoZXJcblwKLXBhcmFtZXRlciBpcyBnaXZlbiwgdGhlbiB0aGUgcm91bmRpbmcgbW9kZSBvZiB0aGUgY3VycmVudCBkZWZhdWx0IGNvbnRleHQgaXNcblwKLXVzZWQuXG5cCi1cbiIpOwotCiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAvKiAgICAgICAgICAgICAgICAgICAgICAgQ29udGV4dCBPYmplY3QgYW5kIE1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIAotUHlEb2NfU1RSVkFSKGRvY19jb250ZXh0LCJcblwKK1B5RG9jX1NUUlZBUihkb2NfY29udGV4dCwKKyJDb250ZXh0KHByZWM9Tm9uZSwgcm91bmRpbmc9Tm9uZSwgRW1pbj1Ob25lLCBFbWF4PU5vbmUsIGNhcGl0YWxzPU5vbmUsIGNsYW1wPU5vbmUsIGZsYWdzPU5vbmUsIHRyYXBzPU5vbmUpXG4tLVxuXG5cCiBUaGUgY29udGV4dCBhZmZlY3RzIGFsbW9zdCBhbGwgb3BlcmF0aW9ucyBhbmQgY29udHJvbHMgcm91bmRpbmcsXG5cCi1PdmVyL1VuZGVyZmxvdywgcmFpc2luZyBvZiBleGNlcHRpb25zIGFuZCBtdWNoIG1vcmUuIEEgbmV3IGNvbnRleHRcblwKK092ZXIvVW5kZXJmbG93LCByYWlzaW5nIG9mIGV4Y2VwdGlvbnMgYW5kIG11Y2ggbW9yZS4gIEEgbmV3IGNvbnRleHRcblwKIGNhbiBiZSBjb25zdHJ1Y3RlZCBhcyBmb2xsb3dzOlxuXAogXG5cCiAgICAgPj4+IGMgPSBDb250ZXh0KHByZWM9MjgsIEVtaW49LTQyNTAwMDAwMCwgRW1heD00MjUwMDAwMDAsXG5cCkBAIC00NjAsMzA4ICs1MDAsMzcyIEBACiBcbiIpOwogCiAjaWZkZWYgRVhUUkFfRlVOQ1RJT05BTElUWQotUHlEb2NfU1RSVkFSKGRvY19jdHhfYXBwbHksIlxuXAotYXBwbHkoeCkgLSBBcHBseSBzZWxmIHRvIERlY2ltYWwgeC5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X2FwcGx5LAorImFwcGx5KCRzZWxmLCB4LCAvKVxuLS1cblxuXAorQXBwbHkgc2VsZiB0byBEZWNpbWFsIHguXG5cCiBcbiIpOwogI2VuZGlmCiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X2NsZWFyX2ZsYWdzLCJcblwKLWNsZWFyX2ZsYWdzKCkgLSBSZXNldCBhbGwgZmxhZ3MgdG8gRmFsc2UuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9jbGVhcl9mbGFncywKKyJjbGVhcl9mbGFncygkc2VsZiwgLylcbi0tXG5cblwKK1Jlc2V0IGFsbCBmbGFncyB0byBGYWxzZS5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X2NsZWFyX3RyYXBzLCJcblwKLWNsZWFyX3RyYXBzKCkgLSBTZXQgYWxsIHRyYXBzIHRvIEZhbHNlLlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfY2xlYXJfdHJhcHMsCisiY2xlYXJfdHJhcHMoJHNlbGYsIC8pXG4tLVxuXG5cCitTZXQgYWxsIHRyYXBzIHRvIEZhbHNlLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfY29weSwiXG5cCi1jb3B5KCkgLSBSZXR1cm4gYSBkdXBsaWNhdGUgb2YgdGhlIGNvbnRleHQgd2l0aCBhbGwgZmxhZ3MgY2xlYXJlZC5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X2NvcHksCisiY29weSgkc2VsZiwgLylcbi0tXG5cblwKK1JldHVybiBhIGR1cGxpY2F0ZSBvZiB0aGUgY29udGV4dCB3aXRoIGFsbCBmbGFncyBjbGVhcmVkLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfY29weV9kZWNpbWFsLCJcblwKLWNvcHlfZGVjaW1hbCh4KSAtIFJldHVybiBhIGNvcHkgb2YgRGVjaW1hbCB4LlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfY29weV9kZWNpbWFsLAorImNvcHlfZGVjaW1hbCgkc2VsZiwgeCwgLylcbi0tXG5cblwKK1JldHVybiBhIGNvcHkgb2YgRGVjaW1hbCB4LlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfY3JlYXRlX2RlY2ltYWwsIlxuXAotY3JlYXRlX2RlY2ltYWwoeCkgLSBDcmVhdGUgYSBuZXcgRGVjaW1hbCBpbnN0YW5jZSBmcm9tIHgsIHVzaW5nIHNlbGYgYXMgdGhlXG5cCi1jb250ZXh0LiBVbmxpa2UgdGhlIERlY2ltYWwgY29uc3RydWN0b3IsIHRoaXMgZnVuY3Rpb24gb2JzZXJ2ZXMgdGhlIGNvbnRleHRcblwKLWxpbWl0cy5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X2NyZWF0ZV9kZWNpbWFsLAorImNyZWF0ZV9kZWNpbWFsKCRzZWxmLCBudW09XCIwXCIsIC8pXG4tLVxuXG5cCitDcmVhdGUgYSBuZXcgRGVjaW1hbCBpbnN0YW5jZSBmcm9tIG51bSwgdXNpbmcgc2VsZiBhcyB0aGUgY29udGV4dC4gVW5saWtlIHRoZVxuXAorRGVjaW1hbCBjb25zdHJ1Y3RvciwgdGhpcyBmdW5jdGlvbiBvYnNlcnZlcyB0aGUgY29udGV4dCBsaW1pdHMuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9jcmVhdGVfZGVjaW1hbF9mcm9tX2Zsb2F0LCJcblwKLWNyZWF0ZV9kZWNpbWFsX2Zyb21fZmxvYXQoZikgLSBDcmVhdGUgYSBuZXcgRGVjaW1hbCBpbnN0YW5jZSBmcm9tIGZsb2F0IGYuXG5cCi1Vbmxpa2UgdGhlIERlY2ltYWwuZnJvbV9mbG9hdCgpIGNsYXNzIG1ldGhvZCwgdGhpcyBmdW5jdGlvbiBvYnNlcnZlcyB0aGVcblwKLWNvbnRleHQgbGltaXRzLlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfY3JlYXRlX2RlY2ltYWxfZnJvbV9mbG9hdCwKKyJjcmVhdGVfZGVjaW1hbF9mcm9tX2Zsb2F0KCRzZWxmLCBmLCAvKVxuLS1cblxuXAorQ3JlYXRlIGEgbmV3IERlY2ltYWwgaW5zdGFuY2UgZnJvbSBmbG9hdCBmLiAgVW5saWtlIHRoZSBEZWNpbWFsLmZyb21fZmxvYXQoKVxuXAorY2xhc3MgbWV0aG9kLCB0aGlzIGZ1bmN0aW9uIG9ic2VydmVzIHRoZSBjb250ZXh0IGxpbWl0cy5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X0V0aW55LCJcblwKLUV0aW55KCkgLSBSZXR1cm4gYSB2YWx1ZSBlcXVhbCB0byBFbWluIC0gcHJlYyArIDEsIHdoaWNoIGlzIHRoZSBtaW5pbXVtXG5cCi1leHBvbmVudCB2YWx1ZSBmb3Igc3Vibm9ybWFsIHJlc3VsdHMuIFdoZW4gdW5kZXJmbG93IG9jY3VycywgdGhlIGV4cG9uZW50XG5cCi1pcyBzZXQgdG8gRXRpbnkuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9FdGlueSwKKyJFdGlueSgkc2VsZiwgLylcbi0tXG5cblwKK1JldHVybiBhIHZhbHVlIGVxdWFsIHRvIEVtaW4gLSBwcmVjICsgMSwgd2hpY2ggaXMgdGhlIG1pbmltdW0gZXhwb25lbnQgdmFsdWVcblwKK2ZvciBzdWJub3JtYWwgcmVzdWx0cy4gIFdoZW4gdW5kZXJmbG93IG9jY3VycywgdGhlIGV4cG9uZW50IGlzIHNldCB0byBFdGlueS5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X0V0b3AsIlxuXAotRXRvcCgpIC0gUmV0dXJuIGEgdmFsdWUgZXF1YWwgdG8gRW1heCAtIHByZWMgKyAxLiBUaGlzIGlzIHRoZSBtYXhpbXVtIGV4cG9uZW50XG5cCi1pZiB0aGUgX2NsYW1wIGZpZWxkIG9mIHRoZSBjb250ZXh0IGlzIHNldCB0byAxIChJRUVFIGNsYW1wIG1vZGUpLiBFdG9wKCkgbXVzdFxuXAotbm90IGJlIG5lZ2F0aXZlLlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfRXRvcCwKKyJFdG9wKCRzZWxmLCAvKVxuLS1cblxuXAorUmV0dXJuIGEgdmFsdWUgZXF1YWwgdG8gRW1heCAtIHByZWMgKyAxLiAgVGhpcyBpcyB0aGUgbWF4aW11bSBleHBvbmVudFxuXAoraWYgdGhlIF9jbGFtcCBmaWVsZCBvZiB0aGUgY29udGV4dCBpcyBzZXQgdG8gMSAoSUVFRSBjbGFtcCBtb2RlKS4gIEV0b3AoKVxuXAorbXVzdCBub3QgYmUgbmVnYXRpdmUuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9hYnMsIlxuXAotYWJzKHgpIC0gUmV0dXJuIHRoZSBhYnNvbHV0ZSB2YWx1ZSBvZiB4LlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfYWJzLAorImFicygkc2VsZiwgeCwgLylcbi0tXG5cblwKK1JldHVybiB0aGUgYWJzb2x1dGUgdmFsdWUgb2YgeC5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X2FkZCwiXG5cCi1hZGQoeCwgeSkgLSBSZXR1cm4gdGhlIHN1bSBvZiB4IGFuZCB5LlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfYWRkLAorImFkZCgkc2VsZiwgeCwgeSwgLylcbi0tXG5cblwKK1JldHVybiB0aGUgc3VtIG9mIHggYW5kIHkuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9jYW5vbmljYWwsIlxuXAotY2Fub25pY2FsKHgpIC0gUmV0dXJuIGEgbmV3IGluc3RhbmNlIG9mIHguXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9jYW5vbmljYWwsCisiY2Fub25pY2FsKCRzZWxmLCB4LCAvKVxuLS1cblxuXAorUmV0dXJuIGEgbmV3IGluc3RhbmNlIG9mIHguXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9jb21wYXJlLCJcblwKLWNvbXBhcmUoeCwgeSkgLSBDb21wYXJlIHggYW5kIHkgbnVtZXJpY2FsbHkuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9jb21wYXJlLAorImNvbXBhcmUoJHNlbGYsIHgsIHksIC8pXG4tLVxuXG5cCitDb21wYXJlIHggYW5kIHkgbnVtZXJpY2FsbHkuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9jb21wYXJlX3NpZ25hbCwiXG5cCi1jb21wYXJlX3NpZ25hbCh4LCB5KSAtIENvbXBhcmUgeCBhbmQgeSBudW1lcmljYWxseS4gQWxsIE5hTnMgc2lnbmFsLlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfY29tcGFyZV9zaWduYWwsCisiY29tcGFyZV9zaWduYWwoJHNlbGYsIHgsIHksIC8pXG4tLVxuXG5cCitDb21wYXJlIHggYW5kIHkgbnVtZXJpY2FsbHkuICBBbGwgTmFOcyBzaWduYWwuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9jb21wYXJlX3RvdGFsLCJcblwKLWNvbXBhcmVfdG90YWwoeCwgeSkgLSBDb21wYXJlIHggYW5kIHkgdXNpbmcgdGhlaXIgYWJzdHJhY3QgcmVwcmVzZW50YXRpb24uXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9jb21wYXJlX3RvdGFsLAorImNvbXBhcmVfdG90YWwoJHNlbGYsIHgsIHksIC8pXG4tLVxuXG5cCitDb21wYXJlIHggYW5kIHkgdXNpbmcgdGhlaXIgYWJzdHJhY3QgcmVwcmVzZW50YXRpb24uXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9jb21wYXJlX3RvdGFsX21hZywiXG5cCi1jb21wYXJlX3RvdGFsX21hZyh4LCB5KSAtIENvbXBhcmUgeCBhbmQgeSB1c2luZyB0aGVpciBhYnN0cmFjdCByZXByZXNlbnRhdGlvbixcblwKLWlnbm9yaW5nIHNpZ24uXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9jb21wYXJlX3RvdGFsX21hZywKKyJjb21wYXJlX3RvdGFsX21hZygkc2VsZiwgeCwgeSwgLylcbi0tXG5cblwKK0NvbXBhcmUgeCBhbmQgeSB1c2luZyB0aGVpciBhYnN0cmFjdCByZXByZXNlbnRhdGlvbiwgaWdub3Jpbmcgc2lnbi5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X2NvcHlfYWJzLCJcblwKLWNvcHlfYWJzKHgpIC0gUmV0dXJuIGEgY29weSBvZiB4IHdpdGggdGhlIHNpZ24gc2V0IHRvIDAuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9jb3B5X2FicywKKyJjb3B5X2Ficygkc2VsZiwgeCwgLylcbi0tXG5cblwKK1JldHVybiBhIGNvcHkgb2YgeCB3aXRoIHRoZSBzaWduIHNldCB0byAwLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfY29weV9uZWdhdGUsIlxuXAotY29weV9uZWdhdGUoeCkgLSBSZXR1cm4gYSBjb3B5IG9mIHggd2l0aCB0aGUgc2lnbiBpbnZlcnRlZC5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X2NvcHlfbmVnYXRlLAorImNvcHlfbmVnYXRlKCRzZWxmLCB4LCAvKVxuLS1cblxuXAorUmV0dXJuIGEgY29weSBvZiB4IHdpdGggdGhlIHNpZ24gaW52ZXJ0ZWQuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9jb3B5X3NpZ24sIlxuXAotY29weV9zaWduKHgsIHkpIC0gQ29weSB0aGUgc2lnbiBmcm9tIHkgdG8geC5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X2NvcHlfc2lnbiwKKyJjb3B5X3NpZ24oJHNlbGYsIHgsIHksIC8pXG4tLVxuXG5cCitDb3B5IHRoZSBzaWduIGZyb20geSB0byB4LlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfZGl2aWRlLCJcblwKLWRpdmlkZSh4LCB5KSAtIFJldHVybiB4IGRpdmlkZWQgYnkgeS5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X2RpdmlkZSwKKyJkaXZpZGUoJHNlbGYsIHgsIHksIC8pXG4tLVxuXG5cCitSZXR1cm4geCBkaXZpZGVkIGJ5IHkuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9kaXZpZGVfaW50LCJcblwKLWRpdmlkZV9pbnQoeCwgeSkgLSBSZXR1cm4geCBkaXZpZGVkIGJ5IHksIHRydW5jYXRlZCB0byBhbiBpbnRlZ2VyLlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfZGl2aWRlX2ludCwKKyJkaXZpZGVfaW50KCRzZWxmLCB4LCB5LCAvKVxuLS1cblxuXAorUmV0dXJuIHggZGl2aWRlZCBieSB5LCB0cnVuY2F0ZWQgdG8gYW4gaW50ZWdlci5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X2Rpdm1vZCwiXG5cCi1kaXZtb2QoeCwgeSkgLSBSZXR1cm4gcXVvdGllbnQgYW5kIHJlbWFpbmRlciBvZiB0aGUgZGl2aXNpb24geCAvIHkuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9kaXZtb2QsCisiZGl2bW9kKCRzZWxmLCB4LCB5LCAvKVxuLS1cblxuXAorUmV0dXJuIHF1b3RpZW50IGFuZCByZW1haW5kZXIgb2YgdGhlIGRpdmlzaW9uIHggLyB5LlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfZXhwLCJcblwKLWV4cCh4KSAtIFJldHVybiBlICoqIHguXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9leHAsCisiZXhwKCRzZWxmLCB4LCAvKVxuLS1cblxuXAorUmV0dXJuIGUgKiogeC5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X2ZtYSwiXG5cCi1mbWEoeCwgeSwgeikgLSBSZXR1cm4geCBtdWx0aXBsaWVkIGJ5IHksIHBsdXMgei5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X2ZtYSwKKyJmbWEoJHNlbGYsIHgsIHksIHosIC8pXG4tLVxuXG5cCitSZXR1cm4geCBtdWx0aXBsaWVkIGJ5IHksIHBsdXMgei5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X2lzX2Nhbm9uaWNhbCwiXG5cCi1pc19jYW5vbmljYWwoeCkgLSBSZXR1cm4gVHJ1ZSBpZiB4IGlzIGNhbm9uaWNhbCwgRmFsc2Ugb3RoZXJ3aXNlLlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfaXNfY2Fub25pY2FsLAorImlzX2Nhbm9uaWNhbCgkc2VsZiwgeCwgLylcbi0tXG5cblwKK1JldHVybiBUcnVlIGlmIHggaXMgY2Fub25pY2FsLCBGYWxzZSBvdGhlcndpc2UuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9pc19maW5pdGUsIlxuXAotaXNfZmluaXRlKHgpIC0gUmV0dXJuIFRydWUgaWYgeCBpcyBmaW5pdGUsIEZhbHNlIG90aGVyd2lzZS5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X2lzX2Zpbml0ZSwKKyJpc19maW5pdGUoJHNlbGYsIHgsIC8pXG4tLVxuXG5cCitSZXR1cm4gVHJ1ZSBpZiB4IGlzIGZpbml0ZSwgRmFsc2Ugb3RoZXJ3aXNlLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfaXNfaW5maW5pdGUsIlxuXAotaXNfaW5maW5pdGUoeCkgLSBSZXR1cm4gVHJ1ZSBpZiB4IGlzIGluZmluaXRlLCBGYWxzZSBvdGhlcndpc2UuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9pc19pbmZpbml0ZSwKKyJpc19pbmZpbml0ZSgkc2VsZiwgeCwgLylcbi0tXG5cblwKK1JldHVybiBUcnVlIGlmIHggaXMgaW5maW5pdGUsIEZhbHNlIG90aGVyd2lzZS5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X2lzX25hbiwiXG5cCi1pc19uYW4oeCkgLSBSZXR1cm4gVHJ1ZSBpZiB4IGlzIGEgcU5hTiBvciBzTmFOLCBGYWxzZSBvdGhlcndpc2UuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9pc19uYW4sCisiaXNfbmFuKCRzZWxmLCB4LCAvKVxuLS1cblxuXAorUmV0dXJuIFRydWUgaWYgeCBpcyBhIHFOYU4gb3Igc05hTiwgRmFsc2Ugb3RoZXJ3aXNlLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfaXNfbm9ybWFsLCJcblwKLWlzX25vcm1hbCh4KSAtIFJldHVybiBUcnVlIGlmIHggaXMgYSBub3JtYWwgbnVtYmVyLCBGYWxzZSBvdGhlcndpc2UuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9pc19ub3JtYWwsCisiaXNfbm9ybWFsKCRzZWxmLCB4LCAvKVxuLS1cblxuXAorUmV0dXJuIFRydWUgaWYgeCBpcyBhIG5vcm1hbCBudW1iZXIsIEZhbHNlIG90aGVyd2lzZS5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X2lzX3FuYW4sIlxuXAotaXNfcW5hbih4KSAtIFJldHVybiBUcnVlIGlmIHggaXMgYSBxdWlldCBOYU4sIEZhbHNlIG90aGVyd2lzZS5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X2lzX3FuYW4sCisiaXNfcW5hbigkc2VsZiwgeCwgLylcbi0tXG5cblwKK1JldHVybiBUcnVlIGlmIHggaXMgYSBxdWlldCBOYU4sIEZhbHNlIG90aGVyd2lzZS5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X2lzX3NpZ25lZCwiXG5cCi1pc19zaWduZWQoeCkgLSBSZXR1cm4gVHJ1ZSBpZiB4IGlzIG5lZ2F0aXZlLCBGYWxzZSBvdGhlcndpc2UuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9pc19zaWduZWQsCisiaXNfc2lnbmVkKCRzZWxmLCB4LCAvKVxuLS1cblxuXAorUmV0dXJuIFRydWUgaWYgeCBpcyBuZWdhdGl2ZSwgRmFsc2Ugb3RoZXJ3aXNlLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfaXNfc25hbiwiXG5cCi1pc19zbmFuKCkgLSBSZXR1cm4gVHJ1ZSBpZiB4IGlzIGEgc2lnbmFsaW5nIE5hTiwgRmFsc2Ugb3RoZXJ3aXNlLlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfaXNfc25hbiwKKyJpc19zbmFuKCRzZWxmLCB4LCAvKVxuLS1cblxuXAorUmV0dXJuIFRydWUgaWYgeCBpcyBhIHNpZ25hbGluZyBOYU4sIEZhbHNlIG90aGVyd2lzZS5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X2lzX3N1Ym5vcm1hbCwiXG5cCi1pc19zdWJub3JtYWwoeCkgLSBSZXR1cm4gVHJ1ZSBpZiB4IGlzIHN1Ym5vcm1hbCwgRmFsc2Ugb3RoZXJ3aXNlLlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfaXNfc3Vibm9ybWFsLAorImlzX3N1Ym5vcm1hbCgkc2VsZiwgeCwgLylcbi0tXG5cblwKK1JldHVybiBUcnVlIGlmIHggaXMgc3Vibm9ybWFsLCBGYWxzZSBvdGhlcndpc2UuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9pc196ZXJvLCJcblwKLWlzX3plcm8oeCkgLSBSZXR1cm4gVHJ1ZSBpZiB4IGlzIGEgemVybywgRmFsc2Ugb3RoZXJ3aXNlLlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfaXNfemVybywKKyJpc196ZXJvKCRzZWxmLCB4LCAvKVxuLS1cblxuXAorUmV0dXJuIFRydWUgaWYgeCBpcyBhIHplcm8sIEZhbHNlIG90aGVyd2lzZS5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X2xuLCJcblwKLWxuKHgpIC0gUmV0dXJuIHRoZSBuYXR1cmFsIChiYXNlIGUpIGxvZ2FyaXRobSBvZiB4LlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfbG4sCisibG4oJHNlbGYsIHgsIC8pXG4tLVxuXG5cCitSZXR1cm4gdGhlIG5hdHVyYWwgKGJhc2UgZSkgbG9nYXJpdGhtIG9mIHguXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9sb2cxMCwiXG5cCi1sb2cxMCh4KSAtIFJldHVybiB0aGUgYmFzZSAxMCBsb2dhcml0aG0gb2YgeC5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X2xvZzEwLAorImxvZzEwKCRzZWxmLCB4LCAvKVxuLS1cblxuXAorUmV0dXJuIHRoZSBiYXNlIDEwIGxvZ2FyaXRobSBvZiB4LlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfbG9nYiwiXG5cCi1sb2diKHgpIC0gUmV0dXJuIHRoZSBleHBvbmVudCBvZiB0aGUgbWFnbml0dWRlIG9mIHRoZSBvcGVyYW5kJ3MgTVNELlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfbG9nYiwKKyJsb2diKCRzZWxmLCB4LCAvKVxuLS1cblxuXAorUmV0dXJuIHRoZSBleHBvbmVudCBvZiB0aGUgbWFnbml0dWRlIG9mIHRoZSBvcGVyYW5kJ3MgTVNELlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfbG9naWNhbF9hbmQsIlxuXAotbG9naWNhbF9hbmQoeCwgeSkgLSBEaWdpdC13aXNlIGFuZCBvZiB4IGFuZCB5LlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfbG9naWNhbF9hbmQsCisibG9naWNhbF9hbmQoJHNlbGYsIHgsIHksIC8pXG4tLVxuXG5cCitEaWdpdC13aXNlIGFuZCBvZiB4IGFuZCB5LlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfbG9naWNhbF9pbnZlcnQsIlxuXAotbG9naWNhbF9pbnZlcnQoeCkgLSBJbnZlcnQgYWxsIGRpZ2l0cyBvZiB4LlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfbG9naWNhbF9pbnZlcnQsCisibG9naWNhbF9pbnZlcnQoJHNlbGYsIHgsIC8pXG4tLVxuXG5cCitJbnZlcnQgYWxsIGRpZ2l0cyBvZiB4LlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfbG9naWNhbF9vciwiXG5cCi1sb2dpY2FsX29yKHgsIHkpIC0gRGlnaXQtd2lzZSBvciBvZiB4IGFuZCB5LlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfbG9naWNhbF9vciwKKyJsb2dpY2FsX29yKCRzZWxmLCB4LCB5LCAvKVxuLS1cblxuXAorRGlnaXQtd2lzZSBvciBvZiB4IGFuZCB5LlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfbG9naWNhbF94b3IsIlxuXAotbG9naWNhbF94b3IoeCwgeSkgLSBEaWdpdC13aXNlIHhvciBvZiB4IGFuZCB5LlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfbG9naWNhbF94b3IsCisibG9naWNhbF94b3IoJHNlbGYsIHgsIHksIC8pXG4tLVxuXG5cCitEaWdpdC13aXNlIHhvciBvZiB4IGFuZCB5LlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfbWF4LCJcblwKLW1heCh4LCB5KSAtIENvbXBhcmUgdGhlIHZhbHVlcyBudW1lcmljYWxseSBhbmQgcmV0dXJuIHRoZSBtYXhpbXVtLlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfbWF4LAorIm1heCgkc2VsZiwgeCwgeSwgLylcbi0tXG5cblwKK0NvbXBhcmUgdGhlIHZhbHVlcyBudW1lcmljYWxseSBhbmQgcmV0dXJuIHRoZSBtYXhpbXVtLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfbWF4X21hZywiXG5cCi1tYXhfbWFnKHgsIHkpIC0gQ29tcGFyZSB0aGUgdmFsdWVzIG51bWVyaWNhbGx5IHdpdGggdGhlaXIgc2lnbiBpZ25vcmVkLlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfbWF4X21hZywKKyJtYXhfbWFnKCRzZWxmLCB4LCB5LCAvKVxuLS1cblxuXAorQ29tcGFyZSB0aGUgdmFsdWVzIG51bWVyaWNhbGx5IHdpdGggdGhlaXIgc2lnbiBpZ25vcmVkLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfbWluLCJcblwKLW1pbih4LCB5KSAtIENvbXBhcmUgdGhlIHZhbHVlcyBudW1lcmljYWxseSBhbmQgcmV0dXJuIHRoZSBtaW5pbXVtLlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfbWluLAorIm1pbigkc2VsZiwgeCwgeSwgLylcbi0tXG5cblwKK0NvbXBhcmUgdGhlIHZhbHVlcyBudW1lcmljYWxseSBhbmQgcmV0dXJuIHRoZSBtaW5pbXVtLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfbWluX21hZywiXG5cCi1taW5fbWFnKHgsIHkpIC0gQ29tcGFyZSB0aGUgdmFsdWVzIG51bWVyaWNhbGx5IHdpdGggdGhlaXIgc2lnbiBpZ25vcmVkLlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfbWluX21hZywKKyJtaW5fbWFnKCRzZWxmLCB4LCB5LCAvKVxuLS1cblxuXAorQ29tcGFyZSB0aGUgdmFsdWVzIG51bWVyaWNhbGx5IHdpdGggdGhlaXIgc2lnbiBpZ25vcmVkLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfbWludXMsIlxuXAotbWludXMoeCkgLSBNaW51cyBjb3JyZXNwb25kcyB0byB0aGUgdW5hcnkgcHJlZml4IG1pbnVzIG9wZXJhdG9yIGluIFB5dGhvbixcblwKLWJ1dCBhcHBsaWVzIHRoZSBjb250ZXh0IHRvIHRoZSByZXN1bHQuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9taW51cywKKyJtaW51cygkc2VsZiwgeCwgLylcbi0tXG5cblwKK01pbnVzIGNvcnJlc3BvbmRzIHRvIHRoZSB1bmFyeSBwcmVmaXggbWludXMgb3BlcmF0b3IgaW4gUHl0aG9uLCBidXQgYXBwbGllc1xuXAordGhlIGNvbnRleHQgdG8gdGhlIHJlc3VsdC5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X211bHRpcGx5LCJcblwKLW11bHRpcGx5KHgsIHkpIC0gUmV0dXJuIHRoZSBwcm9kdWN0IG9mIHggYW5kIHkuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9tdWx0aXBseSwKKyJtdWx0aXBseSgkc2VsZiwgeCwgeSwgLylcbi0tXG5cblwKK1JldHVybiB0aGUgcHJvZHVjdCBvZiB4IGFuZCB5LlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfbmV4dF9taW51cywiXG5cCi1uZXh0X21pbnVzKHgpIC0gUmV0dXJuIHRoZSBsYXJnZXN0IHJlcHJlc2VudGFibGUgbnVtYmVyIHNtYWxsZXIgdGhhbiB4LlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfbmV4dF9taW51cywKKyJuZXh0X21pbnVzKCRzZWxmLCB4LCAvKVxuLS1cblxuXAorUmV0dXJuIHRoZSBsYXJnZXN0IHJlcHJlc2VudGFibGUgbnVtYmVyIHNtYWxsZXIgdGhhbiB4LlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfbmV4dF9wbHVzLCJcblwKLW5leHRfcGx1cyh4KSAtIFJldHVybiB0aGUgc21hbGxlc3QgcmVwcmVzZW50YWJsZSBudW1iZXIgbGFyZ2VyIHRoYW4geC5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X25leHRfcGx1cywKKyJuZXh0X3BsdXMoJHNlbGYsIHgsIC8pXG4tLVxuXG5cCitSZXR1cm4gdGhlIHNtYWxsZXN0IHJlcHJlc2VudGFibGUgbnVtYmVyIGxhcmdlciB0aGFuIHguXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9uZXh0X3Rvd2FyZCwiXG5cCi1uZXh0X3Rvd2FyZCh4KSAtIFJldHVybiB0aGUgbnVtYmVyIGNsb3Nlc3QgdG8geCwgaW4gdGhlIGRpcmVjdGlvbiB0b3dhcmRzIHkuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9uZXh0X3Rvd2FyZCwKKyJuZXh0X3Rvd2FyZCgkc2VsZiwgeCwgeSwgLylcbi0tXG5cblwKK1JldHVybiB0aGUgbnVtYmVyIGNsb3Nlc3QgdG8geCwgaW4gdGhlIGRpcmVjdGlvbiB0b3dhcmRzIHkuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9ub3JtYWxpemUsIlxuXAotbm9ybWFsaXplKHgpIC0gUmVkdWNlIHggdG8gaXRzIHNpbXBsZXN0IGZvcm0uIEFsaWFzIGZvciByZWR1Y2UoeCkuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9ub3JtYWxpemUsCisibm9ybWFsaXplKCRzZWxmLCB4LCAvKVxuLS1cblxuXAorUmVkdWNlIHggdG8gaXRzIHNpbXBsZXN0IGZvcm0uIEFsaWFzIGZvciByZWR1Y2UoeCkuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9udW1iZXJfY2xhc3MsIlxuXAotbnVtYmVyX2NsYXNzKHgpIC0gUmV0dXJuIGFuIGluZGljYXRpb24gb2YgdGhlIGNsYXNzIG9mIHguXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9udW1iZXJfY2xhc3MsCisibnVtYmVyX2NsYXNzKCRzZWxmLCB4LCAvKVxuLS1cblxuXAorUmV0dXJuIGFuIGluZGljYXRpb24gb2YgdGhlIGNsYXNzIG9mIHguXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9wbHVzLCJcblwKLXBsdXMoeCkgLSBQbHVzIGNvcnJlc3BvbmRzIHRvIHRoZSB1bmFyeSBwcmVmaXggcGx1cyBvcGVyYXRvciBpbiBQeXRob24sXG5cCi1idXQgYXBwbGllcyB0aGUgY29udGV4dCB0byB0aGUgcmVzdWx0LlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfcGx1cywKKyJwbHVzKCRzZWxmLCB4LCAvKVxuLS1cblxuXAorUGx1cyBjb3JyZXNwb25kcyB0byB0aGUgdW5hcnkgcHJlZml4IHBsdXMgb3BlcmF0b3IgaW4gUHl0aG9uLCBidXQgYXBwbGllc1xuXAordGhlIGNvbnRleHQgdG8gdGhlIHJlc3VsdC5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X3Bvd2VyLCJcblwKLXBvd2VyKHgsIHkpIC0gQ29tcHV0ZSB4Kip5LiBJZiB4IGlzIG5lZ2F0aXZlLCB0aGVuIHkgbXVzdCBiZSBpbnRlZ3JhbC5cblwKLVRoZSByZXN1bHQgd2lsbCBiZSBpbmV4YWN0IHVubGVzcyB5IGlzIGludGVncmFsIGFuZCB0aGUgcmVzdWx0IGlzIGZpbml0ZVxuXAotYW5kIGNhbiBiZSBleHByZXNzZWQgZXhhY3RseSBpbiAncHJlY2lzaW9uJyBkaWdpdHMuIEluIHRoZSBQeXRob24gdmVyc2lvblxuXAotdGhlIHJlc3VsdCBpcyBhbHdheXMgY29ycmVjdGx5IHJvdW5kZWQsIGluIHRoZSBDIHZlcnNpb24gdGhlIHJlc3VsdCBpc1xuXAotYWxtb3N0IGFsd2F5cyBjb3JyZWN0bHkgcm91bmRlZC5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X3Bvd2VyLAorInBvd2VyKCRzZWxmLCAvLCBhLCBiLCBtb2R1bG89Tm9uZSlcbi0tXG5cblwKK0NvbXB1dGUgYSoqYi4gSWYgJ2EnIGlzIG5lZ2F0aXZlLCB0aGVuICdiJyBtdXN0IGJlIGludGVncmFsLiBUaGUgcmVzdWx0XG5cCit3aWxsIGJlIGluZXhhY3QgdW5sZXNzICdhJyBpcyBpbnRlZ3JhbCBhbmQgdGhlIHJlc3VsdCBpcyBmaW5pdGUgYW5kIGNhblxuXAorYmUgZXhwcmVzc2VkIGV4YWN0bHkgaW4gJ3ByZWNpc2lvbicgZGlnaXRzLiAgSW4gdGhlIFB5dGhvbiB2ZXJzaW9uIHRoZVxuXAorcmVzdWx0IGlzIGFsd2F5cyBjb3JyZWN0bHkgcm91bmRlZCwgaW4gdGhlIEMgdmVyc2lvbiB0aGUgcmVzdWx0IGlzIGFsbW9zdFxuXAorYWx3YXlzIGNvcnJlY3RseSByb3VuZGVkLlxuXAogXG5cCi1wb3dlcih4LCB5LCBtKSAtIENvbXB1dGUgKHgqKnkpICUgbS4gVGhlIGZvbGxvd2luZyByZXN0cmljdGlvbnMgaG9sZDpcblwKK0lmIG1vZHVsbyBpcyBnaXZlbiwgY29tcHV0ZSAoYSoqYikgJSBtb2R1bG8uIFRoZSBmb2xsb3dpbmcgcmVzdHJpY3Rpb25zXG5cCitob2xkOlxuXAogXG5cCiAgICAgKiBhbGwgdGhyZWUgYXJndW1lbnRzIG11c3QgYmUgaW50ZWdyYWxcblwKLSAgICAqIHkgbXVzdCBiZSBub25uZWdhdGl2ZVxuXAotICAgICogYXQgbGVhc3Qgb25lIG9mIHggb3IgeSBtdXN0IGJlIG5vbnplcm9cblwKLSAgICAqIG0gbXVzdCBiZSBub256ZXJvIGFuZCBsZXNzIHRoYW4gMTAqKnByZWMgaW4gYWJzb2x1dGUgdmFsdWVcblwKKyAgICAqICdiJyBtdXN0IGJlIG5vbm5lZ2F0aXZlXG5cCisgICAgKiBhdCBsZWFzdCBvbmUgb2YgJ2EnIG9yICdiJyBtdXN0IGJlIG5vbnplcm9cblwKKyAgICAqIG1vZHVsbyBtdXN0IGJlIG5vbnplcm8gYW5kIGxlc3MgdGhhbiAxMCoqcHJlYyBpbiBhYnNvbHV0ZSB2YWx1ZVxuXAogXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9xdWFudGl6ZSwiXG5cCi1xdWFudGl6ZSh4LCB5KSAtIFJldHVybiBhIHZhbHVlIGVxdWFsIHRvIHggKHJvdW5kZWQpLCBoYXZpbmcgdGhlIGV4cG9uZW50IG9mIHkuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9xdWFudGl6ZSwKKyJxdWFudGl6ZSgkc2VsZiwgeCwgeSwgLylcbi0tXG5cblwKK1JldHVybiBhIHZhbHVlIGVxdWFsIHRvIHggKHJvdW5kZWQpLCBoYXZpbmcgdGhlIGV4cG9uZW50IG9mIHkuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9yYWRpeCwiXG5cCi1yYWRpeCgpIC0gUmV0dXJuIDEwLlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfcmFkaXgsCisicmFkaXgoJHNlbGYsIC8pXG4tLVxuXG5cCitSZXR1cm4gMTAuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9yZW1haW5kZXIsIlxuXAotcmVtYWluZGVyKHgsIHkpIC0gUmV0dXJuIHRoZSByZW1haW5kZXIgZnJvbSBpbnRlZ2VyIGRpdmlzaW9uLiBUaGUgc2lnbiBvZlxuXAotdGhlIHJlc3VsdCwgaWYgbm9uLXplcm8sIGlzIHRoZSBzYW1lIGFzIHRoYXQgb2YgdGhlIG9yaWdpbmFsIGRpdmlkZW5kLlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfcmVtYWluZGVyLAorInJlbWFpbmRlcigkc2VsZiwgeCwgeSwgLylcbi0tXG5cblwKK1JldHVybiB0aGUgcmVtYWluZGVyIGZyb20gaW50ZWdlciBkaXZpc2lvbi4gIFRoZSBzaWduIG9mIHRoZSByZXN1bHQsXG5cCitpZiBub24temVybywgaXMgdGhlIHNhbWUgYXMgdGhhdCBvZiB0aGUgb3JpZ2luYWwgZGl2aWRlbmQuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9yZW1haW5kZXJfbmVhciwiXG5cCi1yZW1haW5kZXJfbmVhcih4LCB5KSAtIFJldHVybiB4IC0geSAqIG4sIHdoZXJlIG4gaXMgdGhlIGludGVnZXIgbmVhcmVzdCB0aGVcblwKLWV4YWN0IHZhbHVlIG9mIHggLyB5IChpZiB0aGUgcmVzdWx0IGlzIDAgdGhlbiBpdHMgc2lnbiB3aWxsIGJlIHRoZSBzaWduIG9mIHgpLlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfcmVtYWluZGVyX25lYXIsCisicmVtYWluZGVyX25lYXIoJHNlbGYsIHgsIHksIC8pXG4tLVxuXG5cCitSZXR1cm4geCAtIHkgKiBuLCB3aGVyZSBuIGlzIHRoZSBpbnRlZ2VyIG5lYXJlc3QgdGhlIGV4YWN0IHZhbHVlIG9mIHggLyB5XG5cCisoaWYgdGhlIHJlc3VsdCBpcyAwIHRoZW4gaXRzIHNpZ24gd2lsbCBiZSB0aGUgc2lnbiBvZiB4KS5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X3JvdGF0ZSwiXG5cCi1yb3RhdGUoeCwgeSkgLSBSZXR1cm4gYSBjb3B5IG9mIHgsIHJvdGF0ZWQgYnkgeSBwbGFjZXMuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9yb3RhdGUsCisicm90YXRlKCRzZWxmLCB4LCB5LCAvKVxuLS1cblxuXAorUmV0dXJuIGEgY29weSBvZiB4LCByb3RhdGVkIGJ5IHkgcGxhY2VzLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfc2FtZV9xdWFudHVtLCJcblwKLXNhbWVfcXVhbnR1bSh4LCB5KSAtIFJldHVybiBUcnVlIGlmIHRoZSB0d28gb3BlcmFuZHMgaGF2ZSB0aGUgc2FtZSBleHBvbmVudC5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X3NhbWVfcXVhbnR1bSwKKyJzYW1lX3F1YW50dW0oJHNlbGYsIHgsIHksIC8pXG4tLVxuXG5cCitSZXR1cm4gVHJ1ZSBpZiB0aGUgdHdvIG9wZXJhbmRzIGhhdmUgdGhlIHNhbWUgZXhwb25lbnQuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9zY2FsZWIsIlxuXAotc2NhbGViKHgsIHkpIC0gUmV0dXJuIHRoZSBmaXJzdCBvcGVyYW5kIGFmdGVyIGFkZGluZyB0aGUgc2Vjb25kIHZhbHVlXG5cCi10byBpdHMgZXhwLlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfc2NhbGViLAorInNjYWxlYigkc2VsZiwgeCwgeSwgLylcbi0tXG5cblwKK1JldHVybiB0aGUgZmlyc3Qgb3BlcmFuZCBhZnRlciBhZGRpbmcgdGhlIHNlY29uZCB2YWx1ZSB0byBpdHMgZXhwLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfc2hpZnQsIlxuXAotc2hpZnQoeCwgeSkgLSBSZXR1cm4gYSBjb3B5IG9mIHgsIHNoaWZ0ZWQgYnkgeSBwbGFjZXMuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9zaGlmdCwKKyJzaGlmdCgkc2VsZiwgeCwgeSwgLylcbi0tXG5cblwKK1JldHVybiBhIGNvcHkgb2YgeCwgc2hpZnRlZCBieSB5IHBsYWNlcy5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X3NxcnQsIlxuXAotc3FydCh4KSAtIFNxdWFyZSByb290IG9mIGEgbm9uLW5lZ2F0aXZlIG51bWJlciB0byBjb250ZXh0IHByZWNpc2lvbi5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X3NxcnQsCisic3FydCgkc2VsZiwgeCwgLylcbi0tXG5cblwKK1NxdWFyZSByb290IG9mIGEgbm9uLW5lZ2F0aXZlIG51bWJlciB0byBjb250ZXh0IHByZWNpc2lvbi5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X3N1YnRyYWN0LCJcblwKLXN1YnRyYWN0KHgsIHkpIC0gUmV0dXJuIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4geCBhbmQgeS5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X3N1YnRyYWN0LAorInN1YnRyYWN0KCRzZWxmLCB4LCB5LCAvKVxuLS1cblxuXAorUmV0dXJuIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4geCBhbmQgeS5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X3RvX2VuZ19zdHJpbmcsIlxuXAotdG9fZW5nX3N0cmluZyh4KSAtIENvbnZlcnQgYSBudW1iZXIgdG8gYSBzdHJpbmcsIHVzaW5nIGVuZ2luZWVyaW5nIG5vdGF0aW9uLlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfdG9fZW5nX3N0cmluZywKKyJ0b19lbmdfc3RyaW5nKCRzZWxmLCB4LCAvKVxuLS1cblxuXAorQ29udmVydCBhIG51bWJlciB0byBhIHN0cmluZywgdXNpbmcgZW5naW5lZXJpbmcgbm90YXRpb24uXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF90b19pbnRlZ3JhbCwiXG5cCi10b19pbnRlZ3JhbCh4KSAtIElkZW50aWNhbCB0byB0b19pbnRlZ3JhbF92YWx1ZSh4KS5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X3RvX2ludGVncmFsLAorInRvX2ludGVncmFsKCRzZWxmLCB4LCAvKVxuLS1cblxuXAorSWRlbnRpY2FsIHRvIHRvX2ludGVncmFsX3ZhbHVlKHgpLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfdG9faW50ZWdyYWxfZXhhY3QsIlxuXAotdG9faW50ZWdyYWxfZXhhY3QoeCkgLSBSb3VuZCB0byBhbiBpbnRlZ2VyLiBTaWduYWwgaWYgdGhlIHJlc3VsdCBpc1xuXAotcm91bmRlZCBvciBpbmV4YWN0LlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfdG9faW50ZWdyYWxfZXhhY3QsCisidG9faW50ZWdyYWxfZXhhY3QoJHNlbGYsIHgsIC8pXG4tLVxuXG5cCitSb3VuZCB0byBhbiBpbnRlZ2VyLiBTaWduYWwgaWYgdGhlIHJlc3VsdCBpcyByb3VuZGVkIG9yIGluZXhhY3QuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF90b19pbnRlZ3JhbF92YWx1ZSwiXG5cCi10b19pbnRlZ3JhbF92YWx1ZSh4KSAtIFJvdW5kIHRvIGFuIGludGVnZXIuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF90b19pbnRlZ3JhbF92YWx1ZSwKKyJ0b19pbnRlZ3JhbF92YWx1ZSgkc2VsZiwgeCwgLylcbi0tXG5cblwKK1JvdW5kIHRvIGFuIGludGVnZXIuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF90b19zY2lfc3RyaW5nLCJcblwKLXRvX3NjaV9zdHJpbmcoeCkgLSBDb252ZXJ0IGEgbnVtYmVyIHRvIGEgc3RyaW5nIHVzaW5nIHNjaWVudGlmaWMgbm90YXRpb24uXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF90b19zY2lfc3RyaW5nLAorInRvX3NjaV9zdHJpbmcoJHNlbGYsIHgsIC8pXG4tLVxuXG5cCitDb252ZXJ0IGEgbnVtYmVyIHRvIGEgc3RyaW5nIHVzaW5nIHNjaWVudGlmaWMgbm90YXRpb24uXG5cCiBcbiIpOwogCiAKZGlmZiAtLWdpdCBhL01vZHVsZXMvX2RlY2ltYWwvdGVzdHMvZGVjY2hlY2sucHkgYi9Nb2R1bGVzL19kZWNpbWFsL3Rlc3RzL2RlY2NoZWNrLnB5CmluZGV4IGM0YzVhNDQuLjg5NDMzYzAgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX2RlY2ltYWwvdGVzdHMvZGVjY2hlY2sucHkKKysrIGIvTW9kdWxlcy9fZGVjaW1hbC90ZXN0cy9kZWNjaGVjay5weQpAQCAtMzYsNiArMzYsNyBAQAogZnJvbSByYW5kZGVjIGltcG9ydCByYW5kZmxvYXQsIGFsbF91bmFyeSwgYWxsX2JpbmFyeSwgYWxsX3Rlcm5hcnkKIGZyb20gcmFuZGRlYyBpbXBvcnQgdW5hcnlfb3B0YXJnLCBiaW5hcnlfb3B0YXJnLCB0ZXJuYXJ5X29wdGFyZwogZnJvbSBmb3JtYXRoZWxwZXIgaW1wb3J0IHJhbmRfZm9ybWF0LCByYW5kX2xvY2FsZQorZnJvbSBfcHlkZWNpbWFsIGltcG9ydCBfZGVjX2Zyb21fdHJpcGxlCiAKIEMgPSBpbXBvcnRfZnJlc2hfbW9kdWxlKCdkZWNpbWFsJywgZnJlc2g9WydfZGVjaW1hbCddKQogUCA9IGltcG9ydF9mcmVzaF9tb2R1bGUoJ2RlY2ltYWwnLCBibG9ja2VkPVsnX2RlY2ltYWwnXSkKQEAgLTM3MCw3ICszNzEsNyBAQAogICAgICAgICByZXR1cm4gYWJzKGEgLSBiKQogCiAgICAgZGVmIHN0YW5kYXJkX3VscChzZWxmLCBkZWMsIHByZWMpOgotICAgICAgICByZXR1cm4gUC5fZGVjX2Zyb21fdHJpcGxlKDAsICcxJywgZGVjLl9leHArbGVuKGRlYy5faW50KS1wcmVjKQorICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZSgwLCAnMScsIGRlYy5fZXhwK2xlbihkZWMuX2ludCktcHJlYykKIAogICAgIGRlZiByb3VuZGluZ19kaXJlY3Rpb24oc2VsZiwgeCwgbW9kZSk6CiAgICAgICAgICIiIkRldGVybWluZSB0aGUgZWZmZWN0aXZlIGRpcmVjdGlvbiBvZiB0aGUgcm91bmRpbmcgd2hlbgpAQCAtNDAxLDEwICs0MDIsMTAgQEAKICAgICAgICAgIyBDb252ZXJ0IGluZmluaXRpZXMgdG8gdGhlIGxhcmdlc3QgcmVwcmVzZW50YWJsZSBudW1iZXIgKyAxLgogICAgICAgICB4ID0gZXhhY3QKICAgICAgICAgaWYgZXhhY3QuaXNfaW5maW5pdGUoKToKLSAgICAgICAgICAgIHggPSBQLl9kZWNfZnJvbV90cmlwbGUoZXhhY3QuX3NpZ24sICcxMCcsIGNvbnRleHQucC5FbWF4KQorICAgICAgICAgICAgeCA9IF9kZWNfZnJvbV90cmlwbGUoZXhhY3QuX3NpZ24sICcxMCcsIGNvbnRleHQucC5FbWF4KQogICAgICAgICB5ID0gcm91bmRlZAogICAgICAgICBpZiByb3VuZGVkLmlzX2luZmluaXRlKCk6Ci0gICAgICAgICAgICB5ID0gUC5fZGVjX2Zyb21fdHJpcGxlKHJvdW5kZWQuX3NpZ24sICcxMCcsIGNvbnRleHQucC5FbWF4KQorICAgICAgICAgICAgeSA9IF9kZWNfZnJvbV90cmlwbGUocm91bmRlZC5fc2lnbiwgJzEwJywgY29udGV4dC5wLkVtYXgpCiAKICAgICAgICAgIyBlcnIgPSAocm91bmRlZCAtIGV4YWN0KSAvIHVscChyb3VuZGVkKQogICAgICAgICBzZWxmLm1heGN0eC5wcmVjID0gcCAqIDIKZGlmZiAtLWdpdCBhL01vZHVsZXMvX2VsZW1lbnR0cmVlLmMgYi9Nb2R1bGVzL19lbGVtZW50dHJlZS5jCmluZGV4IGIzYjY5NzYuLjliM2U5ZWQgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX2VsZW1lbnR0cmVlLmMKKysrIGIvTW9kdWxlcy9fZWxlbWVudHRyZWUuYwpAQCAtMzc0MSw3ICszNzQxLDcgQEAKICAgICBpZiAoZXhwYXRfY2FwaSkgewogICAgICAgICAvKiBjaGVjayB0aGF0IGl0J3MgdXNhYmxlICovCiAgICAgICAgIGlmIChzdHJjbXAoZXhwYXRfY2FwaS0+bWFnaWMsIFB5RXhwYXRfQ0FQSV9NQUdJQykgIT0gMCB8fAotICAgICAgICAgICAgZXhwYXRfY2FwaS0+c2l6ZSA8IHNpemVvZihzdHJ1Y3QgUHlFeHBhdF9DQVBJKSB8fAorICAgICAgICAgICAgKHNpemVfdClleHBhdF9jYXBpLT5zaXplIDwgc2l6ZW9mKHN0cnVjdCBQeUV4cGF0X0NBUEkpIHx8CiAgICAgICAgICAgICBleHBhdF9jYXBpLT5NQUpPUl9WRVJTSU9OICE9IFhNTF9NQUpPUl9WRVJTSU9OIHx8CiAgICAgICAgICAgICBleHBhdF9jYXBpLT5NSU5PUl9WRVJTSU9OICE9IFhNTF9NSU5PUl9WRVJTSU9OIHx8CiAgICAgICAgICAgICBleHBhdF9jYXBpLT5NSUNST19WRVJTSU9OICE9IFhNTF9NSUNST19WRVJTSU9OKSB7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL19oYXNob3BlbnNzbC5jIGIvTW9kdWxlcy9faGFzaG9wZW5zc2wuYwppbmRleCA2YTJhOWFmLi4xNTY2YjE4IDEwMDY0NAotLS0gYS9Nb2R1bGVzL19oYXNob3BlbnNzbC5jCisrKyBiL01vZHVsZXMvX2hhc2hvcGVuc3NsLmMKQEAgLTMxLDEwICszMSw2IEBACiAjZGVmaW5lIEhBU0hfT0JKX0NPTlNUUlVDVE9SIDAKICNlbmRpZgogCi0vKiBNaW5pbXVtIE9wZW5TU0wgdmVyc2lvbiBuZWVkZWQgdG8gc3VwcG9ydCBzaGEyMjQgYW5kIGhpZ2hlci4gKi8KLSNpZiBkZWZpbmVkKE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIpICYmIChPUEVOU1NMX1ZFUlNJT05fTlVNQkVSID49IDB4MDA5MDgwMDApCi0jZGVmaW5lIF9PUEVOU1NMX1NVUFBPUlRTX1NIQTIKLSNlbmRpZgogCiB0eXBlZGVmIHN0cnVjdCB7CiAgICAgUHlPYmplY3RfSEVBRApAQCAtNTYsMTIgKzUyLDEwIEBACiAKIERFRklORV9DT05TVFNfRk9SX05FVyhtZDUpCiBERUZJTkVfQ09OU1RTX0ZPUl9ORVcoc2hhMSkKLSNpZmRlZiBfT1BFTlNTTF9TVVBQT1JUU19TSEEyCiBERUZJTkVfQ09OU1RTX0ZPUl9ORVcoc2hhMjI0KQogREVGSU5FX0NPTlNUU19GT1JfTkVXKHNoYTI1NikKIERFRklORV9DT05TVFNfRk9SX05FVyhzaGEzODQpCiBERUZJTkVfQ09OU1RTX0ZPUl9ORVcoc2hhNTEyKQotI2VuZGlmCiAKIAogc3RhdGljIEVWUG9iamVjdCAqCkBAIC03OTgsMTIgKzc5MiwxMCBAQAogCiBHRU5fQ09OU1RSVUNUT1IobWQ1KQogR0VOX0NPTlNUUlVDVE9SKHNoYTEpCi0jaWZkZWYgX09QRU5TU0xfU1VQUE9SVFNfU0hBMgogR0VOX0NPTlNUUlVDVE9SKHNoYTIyNCkKIEdFTl9DT05TVFJVQ1RPUihzaGEyNTYpCiBHRU5fQ09OU1RSVUNUT1Ioc2hhMzg0KQogR0VOX0NPTlNUUlVDVE9SKHNoYTUxMikKLSNlbmRpZgogCiAvKiBMaXN0IG9mIGZ1bmN0aW9ucyBleHBvcnRlZCBieSB0aGlzIG1vZHVsZSAqLwogCkBAIC04MTUsMTIgKzgwNywxMCBAQAogI2VuZGlmCiAgICAgQ09OU1RSVUNUT1JfTUVUSF9ERUYobWQ1KSwKICAgICBDT05TVFJVQ1RPUl9NRVRIX0RFRihzaGExKSwKLSNpZmRlZiBfT1BFTlNTTF9TVVBQT1JUU19TSEEyCiAgICAgQ09OU1RSVUNUT1JfTUVUSF9ERUYoc2hhMjI0KSwKICAgICBDT05TVFJVQ1RPUl9NRVRIX0RFRihzaGEyNTYpLAogICAgIENPTlNUUlVDVE9SX01FVEhfREVGKHNoYTM4NCksCiAgICAgQ09OU1RSVUNUT1JfTUVUSF9ERUYoc2hhNTEyKSwKLSNlbmRpZgogICAgIHtOVUxMLCAgICAgIE5VTEx9ICAgICAgICAgICAgLyogU2VudGluZWwgKi8KIH07CiAKQEAgLTg3NywxMSArODY3LDkgQEAKICAgICAvKiB0aGVzZSBjb25zdGFudHMgYXJlIHVzZWQgYnkgdGhlIGNvbnZlbmllbmNlIGNvbnN0cnVjdG9ycyAqLwogICAgIElOSVRfQ09OU1RSVUNUT1JfQ09OU1RBTlRTKG1kNSk7CiAgICAgSU5JVF9DT05TVFJVQ1RPUl9DT05TVEFOVFMoc2hhMSk7Ci0jaWZkZWYgX09QRU5TU0xfU1VQUE9SVFNfU0hBMgogICAgIElOSVRfQ09OU1RSVUNUT1JfQ09OU1RBTlRTKHNoYTIyNCk7CiAgICAgSU5JVF9DT05TVFJVQ1RPUl9DT05TVEFOVFMoc2hhMjU2KTsKICAgICBJTklUX0NPTlNUUlVDVE9SX0NPTlNUQU5UUyhzaGEzODQpOwogICAgIElOSVRfQ09OU1RSVUNUT1JfQ09OU1RBTlRTKHNoYTUxMik7Ci0jZW5kaWYKICAgICByZXR1cm4gbTsKIH0KZGlmZiAtLWdpdCBhL01vZHVsZXMvX2hlYXBxbW9kdWxlLmMgYi9Nb2R1bGVzL19oZWFwcW1vZHVsZS5jCmluZGV4IGVlZTU2YTAuLjQzNzJhZDQgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX2hlYXBxbW9kdWxlLmMKKysrIGIvTW9kdWxlcy9faGVhcHFtb2R1bGUuYwpAQCAtOSwxMiArOSwxMSBAQAogI2luY2x1ZGUgIlB5dGhvbi5oIgogCiBzdGF0aWMgaW50Ci1fc2lmdGRvd24oUHlMaXN0T2JqZWN0ICpoZWFwLCBQeV9zc2l6ZV90IHN0YXJ0cG9zLCBQeV9zc2l6ZV90IHBvcykKK3NpZnRkb3duKFB5TGlzdE9iamVjdCAqaGVhcCwgUHlfc3NpemVfdCBzdGFydHBvcywgUHlfc3NpemVfdCBwb3MpCiB7Ci0gICAgUHlPYmplY3QgKm5ld2l0ZW0sICpwYXJlbnQsICpvbGRpdGVtOworICAgIFB5T2JqZWN0ICpuZXdpdGVtLCAqcGFyZW50OworICAgIFB5X3NzaXplX3QgcGFyZW50cG9zLCBzaXplOwogICAgIGludCBjbXA7Ci0gICAgUHlfc3NpemVfdCBwYXJlbnRwb3M7Ci0gICAgUHlfc3NpemVfdCBzaXplOwogCiAgICAgYXNzZXJ0KFB5TGlzdF9DaGVjayhoZWFwKSk7CiAgICAgc2l6ZSA9IFB5TGlzdF9HRVRfU0laRShoZWFwKTsKQEAgLTIzLDYwICsyMiw0NSBAQAogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogCi0gICAgbmV3aXRlbSA9IFB5TGlzdF9HRVRfSVRFTShoZWFwLCBwb3MpOwotICAgIFB5X0lOQ1JFRihuZXdpdGVtKTsKICAgICAvKiBGb2xsb3cgdGhlIHBhdGggdG8gdGhlIHJvb3QsIG1vdmluZyBwYXJlbnRzIGRvd24gdW50aWwgZmluZGluZwogICAgICAgIGEgcGxhY2UgbmV3aXRlbSBmaXRzLiAqLwotICAgIHdoaWxlIChwb3MgPiBzdGFydHBvcyl7CisgICAgbmV3aXRlbSA9IFB5TGlzdF9HRVRfSVRFTShoZWFwLCBwb3MpOworICAgIHdoaWxlIChwb3MgPiBzdGFydHBvcykgewogICAgICAgICBwYXJlbnRwb3MgPSAocG9zIC0gMSkgPj4gMTsKICAgICAgICAgcGFyZW50ID0gUHlMaXN0X0dFVF9JVEVNKGhlYXAsIHBhcmVudHBvcyk7CiAgICAgICAgIGNtcCA9IFB5T2JqZWN0X1JpY2hDb21wYXJlQm9vbChuZXdpdGVtLCBwYXJlbnQsIFB5X0xUKTsKLSAgICAgICAgaWYgKGNtcCA9PSAtMSkgewotICAgICAgICAgICAgUHlfREVDUkVGKG5ld2l0ZW0pOworICAgICAgICBpZiAoY21wID09IC0xKQogICAgICAgICAgICAgcmV0dXJuIC0xOwotICAgICAgICB9CiAgICAgICAgIGlmIChzaXplICE9IFB5TGlzdF9HRVRfU0laRShoZWFwKSkgewotICAgICAgICAgICAgUHlfREVDUkVGKG5ld2l0ZW0pOwogICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1J1bnRpbWVFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlzdCBjaGFuZ2VkIHNpemUgZHVyaW5nIGl0ZXJhdGlvbiIpOwogICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgICB9CiAgICAgICAgIGlmIChjbXAgPT0gMCkKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBQeV9JTkNSRUYocGFyZW50KTsKLSAgICAgICAgb2xkaXRlbSA9IFB5TGlzdF9HRVRfSVRFTShoZWFwLCBwb3MpOworICAgICAgICBwYXJlbnQgPSBQeUxpc3RfR0VUX0lURU0oaGVhcCwgcGFyZW50cG9zKTsKKyAgICAgICAgbmV3aXRlbSA9IFB5TGlzdF9HRVRfSVRFTShoZWFwLCBwb3MpOworICAgICAgICBQeUxpc3RfU0VUX0lURU0oaGVhcCwgcGFyZW50cG9zLCBuZXdpdGVtKTsKICAgICAgICAgUHlMaXN0X1NFVF9JVEVNKGhlYXAsIHBvcywgcGFyZW50KTsKLSAgICAgICAgUHlfREVDUkVGKG9sZGl0ZW0pOwogICAgICAgICBwb3MgPSBwYXJlbnRwb3M7Ci0gICAgICAgIGlmIChzaXplICE9IFB5TGlzdF9HRVRfU0laRShoZWFwKSkgewotICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1J1bnRpbWVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlzdCBjaGFuZ2VkIHNpemUgZHVyaW5nIGl0ZXJhdGlvbiIpOwotICAgICAgICAgICAgcmV0dXJuIC0xOwotICAgICAgICB9CiAgICAgfQotICAgIFB5X0RFQ1JFRihQeUxpc3RfR0VUX0lURU0oaGVhcCwgcG9zKSk7Ci0gICAgUHlMaXN0X1NFVF9JVEVNKGhlYXAsIHBvcywgbmV3aXRlbSk7CiAgICAgcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBpbnQKLV9zaWZ0dXAoUHlMaXN0T2JqZWN0ICpoZWFwLCBQeV9zc2l6ZV90IHBvcykKK3NpZnR1cChQeUxpc3RPYmplY3QgKmhlYXAsIFB5X3NzaXplX3QgcG9zKQogewogICAgIFB5X3NzaXplX3Qgc3RhcnRwb3MsIGVuZHBvcywgY2hpbGRwb3MsIHJpZ2h0cG9zLCBsaW1pdDsKKyAgICBQeU9iamVjdCAqdG1wMSwgKnRtcDI7CiAgICAgaW50IGNtcDsKLSAgICBQeU9iamVjdCAqbmV3aXRlbSwgKnRtcCwgKm9sZGl0ZW07Ci0gICAgUHlfc3NpemVfdCBzaXplOwogCiAgICAgYXNzZXJ0KFB5TGlzdF9DaGVjayhoZWFwKSk7Ci0gICAgc2l6ZSA9IFB5TGlzdF9HRVRfU0laRShoZWFwKTsKLSAgICBlbmRwb3MgPSBzaXplOworICAgIGVuZHBvcyA9IFB5TGlzdF9HRVRfU0laRShoZWFwKTsKICAgICBzdGFydHBvcyA9IHBvczsKICAgICBpZiAocG9zID49IGVuZHBvcykgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfSW5kZXhFcnJvciwgImluZGV4IG91dCBvZiByYW5nZSIpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQotICAgIG5ld2l0ZW0gPSBQeUxpc3RfR0VUX0lURU0oaGVhcCwgcG9zKTsKLSAgICBQeV9JTkNSRUYobmV3aXRlbSk7CiAKICAgICAvKiBCdWJibGUgdXAgdGhlIHNtYWxsZXIgY2hpbGQgdW50aWwgaGl0dGluZyBhIGxlYWYuICovCiAgICAgbGltaXQgPSBlbmRwb3MgLyAyOyAgICAgICAgICAvKiBzbWFsbGVzdCBwb3MgdGhhdCBoYXMgbm8gY2hpbGQgKi8KQEAgLTg5LDM4ICs3MywyNSBAQAogICAgICAgICAgICAgICAgIFB5TGlzdF9HRVRfSVRFTShoZWFwLCBjaGlsZHBvcyksCiAgICAgICAgICAgICAgICAgUHlMaXN0X0dFVF9JVEVNKGhlYXAsIHJpZ2h0cG9zKSwKICAgICAgICAgICAgICAgICBQeV9MVCk7Ci0gICAgICAgICAgICBpZiAoY21wID09IC0xKSB7Ci0gICAgICAgICAgICAgICAgUHlfREVDUkVGKG5ld2l0ZW0pOworICAgICAgICAgICAgaWYgKGNtcCA9PSAtMSkKICAgICAgICAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAoY21wID09IDApCiAgICAgICAgICAgICAgICAgY2hpbGRwb3MgPSByaWdodHBvczsKLSAgICAgICAgfQotICAgICAgICBpZiAoc2l6ZSAhPSBQeUxpc3RfR0VUX1NJWkUoaGVhcCkpIHsKLSAgICAgICAgICAgIFB5X0RFQ1JFRihuZXdpdGVtKTsKLSAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19SdW50aW1lRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpc3QgY2hhbmdlZCBzaXplIGR1cmluZyBpdGVyYXRpb24iKTsKLSAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgIGlmIChlbmRwb3MgIT0gUHlMaXN0X0dFVF9TSVpFKGhlYXApKSB7CisgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1J1bnRpbWVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpc3QgY2hhbmdlZCBzaXplIGR1cmluZyBpdGVyYXRpb24iKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgLyogTW92ZSB0aGUgc21hbGxlciBjaGlsZCB1cC4gKi8KLSAgICAgICAgdG1wID0gUHlMaXN0X0dFVF9JVEVNKGhlYXAsIGNoaWxkcG9zKTsKLSAgICAgICAgUHlfSU5DUkVGKHRtcCk7Ci0gICAgICAgIG9sZGl0ZW0gPSBQeUxpc3RfR0VUX0lURU0oaGVhcCwgcG9zKTsKLSAgICAgICAgUHlMaXN0X1NFVF9JVEVNKGhlYXAsIHBvcywgdG1wKTsKLSAgICAgICAgUHlfREVDUkVGKG9sZGl0ZW0pOworICAgICAgICB0bXAxID0gUHlMaXN0X0dFVF9JVEVNKGhlYXAsIGNoaWxkcG9zKTsKKyAgICAgICAgdG1wMiA9IFB5TGlzdF9HRVRfSVRFTShoZWFwLCBwb3MpOworICAgICAgICBQeUxpc3RfU0VUX0lURU0oaGVhcCwgY2hpbGRwb3MsIHRtcDIpOworICAgICAgICBQeUxpc3RfU0VUX0lURU0oaGVhcCwgcG9zLCB0bXAxKTsKICAgICAgICAgcG9zID0gY2hpbGRwb3M7Ci0gICAgICAgIGlmIChzaXplICE9IFB5TGlzdF9HRVRfU0laRShoZWFwKSkgewotICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1J1bnRpbWVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlzdCBjaGFuZ2VkIHNpemUgZHVyaW5nIGl0ZXJhdGlvbiIpOwotICAgICAgICAgICAgcmV0dXJuIC0xOwotICAgICAgICB9CiAgICAgfQotCi0gICAgLyogVGhlIGxlYWYgYXQgcG9zIGlzIGVtcHR5IG5vdy4gIFB1dCBuZXdpdGVtIHRoZXJlLCBhbmQgYnViYmxlCi0gICAgICAgaXQgdXAgdG8gaXRzIGZpbmFsIHJlc3RpbmcgcGxhY2UgKGJ5IHNpZnRpbmcgaXRzIHBhcmVudHMgZG93bikuICovCi0gICAgUHlfREVDUkVGKFB5TGlzdF9HRVRfSVRFTShoZWFwLCBwb3MpKTsKLSAgICBQeUxpc3RfU0VUX0lURU0oaGVhcCwgcG9zLCBuZXdpdGVtKTsKLSAgICByZXR1cm4gX3NpZnRkb3duKGhlYXAsIHN0YXJ0cG9zLCBwb3MpOworICAgIC8qIEJ1YmJsZSBpdCB1cCB0byBpdHMgZmluYWwgcmVzdGluZyBwbGFjZSAoYnkgc2lmdGluZyBpdHMgcGFyZW50cyBkb3duKS4gKi8KKyAgICByZXR1cm4gc2lmdGRvd24oaGVhcCwgc3RhcnRwb3MsIHBvcyk7CiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCkBAIC0xMzksMTcgKzExMCwxNiBAQAogICAgIGlmIChQeUxpc3RfQXBwZW5kKGhlYXAsIGl0ZW0pID09IC0xKQogICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIGlmIChfc2lmdGRvd24oKFB5TGlzdE9iamVjdCAqKWhlYXAsIDAsIFB5TGlzdF9HRVRfU0laRShoZWFwKS0xKSA9PSAtMSkKKyAgICBpZiAoc2lmdGRvd24oKFB5TGlzdE9iamVjdCAqKWhlYXAsIDAsIFB5TGlzdF9HRVRfU0laRShoZWFwKS0xKSA9PSAtMSkKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgUHlfSU5DUkVGKFB5X05vbmUpOwotICAgIHJldHVybiBQeV9Ob25lOworICAgIFB5X1JFVFVSTl9OT05FOwogfQogCiBQeURvY19TVFJWQVIoaGVhcHB1c2hfZG9jLAogImhlYXBwdXNoKGhlYXAsIGl0ZW0pIC0+IE5vbmUuIFB1c2ggaXRlbSBvbnRvIGhlYXAsIG1haW50YWluaW5nIHRoZSBoZWFwIGludmFyaWFudC4iKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKLWhlYXBwb3AoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpoZWFwKQoraGVhcHBvcF9pbnRlcm5hbChQeU9iamVjdCAqaGVhcCwgaW50IHNpZnR1cF9mdW5jKFB5TGlzdE9iamVjdCAqLCBQeV9zc2l6ZV90KSkKIHsKICAgICBQeU9iamVjdCAqbGFzdGVsdCwgKnJldHVybml0ZW07CiAgICAgUHlfc3NpemVfdCBuOwpAQCAtMTU5LDcgKzEyOSw3IEBACiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIAotICAgIC8qICMgcmFpc2VzIGFwcHJvcHJpYXRlIEluZGV4RXJyb3IgaWYgaGVhcCBpcyBlbXB0eSAqLworICAgIC8qIHJhaXNlcyBJbmRleEVycm9yIGlmIHRoZSBoZWFwIGlzIGVtcHR5ICovCiAgICAgbiA9IFB5TGlzdF9HRVRfU0laRShoZWFwKTsKICAgICBpZiAobiA9PSAwKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19JbmRleEVycm9yLCAiaW5kZXggb3V0IG9mIHJhbmdlIik7CkBAIC0xNzgsMTggKzE0OCwyNCBAQAogICAgICAgICByZXR1cm4gbGFzdGVsdDsKICAgICByZXR1cm5pdGVtID0gUHlMaXN0X0dFVF9JVEVNKGhlYXAsIDApOwogICAgIFB5TGlzdF9TRVRfSVRFTShoZWFwLCAwLCBsYXN0ZWx0KTsKLSAgICBpZiAoX3NpZnR1cCgoUHlMaXN0T2JqZWN0ICopaGVhcCwgMCkgPT0gLTEpIHsKKyAgICBpZiAoc2lmdHVwX2Z1bmMoKFB5TGlzdE9iamVjdCAqKWhlYXAsIDApID09IC0xKSB7CiAgICAgICAgIFB5X0RFQ1JFRihyZXR1cm5pdGVtKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogICAgIHJldHVybiByZXR1cm5pdGVtOwogfQogCitzdGF0aWMgUHlPYmplY3QgKgoraGVhcHBvcChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmhlYXApCit7CisgICAgcmV0dXJuIGhlYXBwb3BfaW50ZXJuYWwoaGVhcCwgc2lmdHVwKTsKK30KKwogUHlEb2NfU1RSVkFSKGhlYXBwb3BfZG9jLAogIlBvcCB0aGUgc21hbGxlc3QgaXRlbSBvZmYgdGhlIGhlYXAsIG1haW50YWluaW5nIHRoZSBoZWFwIGludmFyaWFudC4iKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKLWhlYXByZXBsYWNlKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK2hlYXByZXBsYWNlX2ludGVybmFsKFB5T2JqZWN0ICphcmdzLCBpbnQgc2lmdHVwX2Z1bmMoUHlMaXN0T2JqZWN0ICosIFB5X3NzaXplX3QpKQogewogICAgIFB5T2JqZWN0ICpoZWFwLCAqaXRlbSwgKnJldHVybml0ZW07CiAKQEAgLTIwOSwxMyArMTg1LDE5IEBACiAgICAgcmV0dXJuaXRlbSA9IFB5TGlzdF9HRVRfSVRFTShoZWFwLCAwKTsKICAgICBQeV9JTkNSRUYoaXRlbSk7CiAgICAgUHlMaXN0X1NFVF9JVEVNKGhlYXAsIDAsIGl0ZW0pOwotICAgIGlmIChfc2lmdHVwKChQeUxpc3RPYmplY3QgKiloZWFwLCAwKSA9PSAtMSkgeworICAgIGlmIChzaWZ0dXBfZnVuYygoUHlMaXN0T2JqZWN0ICopaGVhcCwgMCkgPT0gLTEpIHsKICAgICAgICAgUHlfREVDUkVGKHJldHVybml0ZW0pOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAgICAgcmV0dXJuIHJldHVybml0ZW07CiB9CiAKK3N0YXRpYyBQeU9iamVjdCAqCitoZWFwcmVwbGFjZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgcmV0dXJuIGhlYXByZXBsYWNlX2ludGVybmFsKGFyZ3MsIHNpZnR1cCk7Cit9CisKIFB5RG9jX1NUUlZBUihoZWFwcmVwbGFjZV9kb2MsCiAiaGVhcHJlcGxhY2UoaGVhcCwgaXRlbSkgLT4gdmFsdWUuIFBvcCBhbmQgcmV0dXJuIHRoZSBjdXJyZW50IHNtYWxsZXN0IHZhbHVlLCBhbmQgYWRkIHRoZSBuZXcgaXRlbS5cblwKIFxuXApAQCAtMjU2LDcgKzIzOCw3IEBACiAgICAgcmV0dXJuaXRlbSA9IFB5TGlzdF9HRVRfSVRFTShoZWFwLCAwKTsKICAgICBQeV9JTkNSRUYoaXRlbSk7CiAgICAgUHlMaXN0X1NFVF9JVEVNKGhlYXAsIDAsIGl0ZW0pOwotICAgIGlmIChfc2lmdHVwKChQeUxpc3RPYmplY3QgKiloZWFwLCAwKSA9PSAtMSkgeworICAgIGlmIChzaWZ0dXAoKFB5TGlzdE9iamVjdCAqKWhlYXAsIDApID09IC0xKSB7CiAgICAgICAgIFB5X0RFQ1JFRihyZXR1cm5pdGVtKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQpAQCAtMjY5LDcgKzI1MSw3IEBACiBoZWFwcHVzaCgpIGZvbGxvd2VkIGJ5IGEgc2VwYXJhdGUgY2FsbCB0byBoZWFwcG9wKCkuIik7CiAKIHN0YXRpYyBQeU9iamVjdCAqCi1oZWFwaWZ5KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqaGVhcCkKK2hlYXBpZnlfaW50ZXJuYWwoUHlPYmplY3QgKmhlYXAsIGludCBzaWZ0dXBfZnVuYyhQeUxpc3RPYmplY3QgKiwgUHlfc3NpemVfdCkpCiB7CiAgICAgUHlfc3NpemVfdCBpLCBuOwogCkBAIC0yODcsMTQxICsyNjksNjUgQEAKICAgICAgICBhbmQgdGhhdCdzIGFnYWluIG4vLzItMS4KICAgICAqLwogICAgIGZvciAoaT1uLzItMSA7IGk+PTAgOyBpLS0pCi0gICAgICAgIGlmKF9zaWZ0dXAoKFB5TGlzdE9iamVjdCAqKWhlYXAsIGkpID09IC0xKQorICAgICAgICBpZihzaWZ0dXBfZnVuYygoUHlMaXN0T2JqZWN0ICopaGVhcCwgaSkgPT0gLTEpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0gICAgcmV0dXJuIFB5X05vbmU7CisgICAgUHlfUkVUVVJOX05PTkU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitoZWFwaWZ5KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqaGVhcCkKK3sKKyAgICByZXR1cm4gaGVhcGlmeV9pbnRlcm5hbChoZWFwLCBzaWZ0dXApOwogfQogCiBQeURvY19TVFJWQVIoaGVhcGlmeV9kb2MsCiAiVHJhbnNmb3JtIGxpc3QgaW50byBhIGhlYXAsIGluLXBsYWNlLCBpbiBPKGxlbihoZWFwKSkgdGltZS4iKTsKIAotc3RhdGljIFB5T2JqZWN0ICoKLW5sYXJnZXN0KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKLXsKLSAgICBQeU9iamVjdCAqaGVhcD1OVUxMLCAqZWxlbSwgKml0ZXJhYmxlLCAqc29sLCAqaXQsICpvbGRlbGVtOwotICAgIFB5X3NzaXplX3QgaSwgbjsKLSAgICBpbnQgY21wOwotCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJuTzpubGFyZ2VzdCIsICZuLCAmaXRlcmFibGUpKQotICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIGl0ID0gUHlPYmplY3RfR2V0SXRlcihpdGVyYWJsZSk7Ci0gICAgaWYgKGl0ID09IE5VTEwpCi0gICAgICAgIHJldHVybiBOVUxMOwotCi0gICAgaGVhcCA9IFB5TGlzdF9OZXcoMCk7Ci0gICAgaWYgKGhlYXAgPT0gTlVMTCkKLSAgICAgICAgZ290byBmYWlsOwotCi0gICAgZm9yIChpPTAgOyBpPG4gOyBpKysgKXsKLSAgICAgICAgZWxlbSA9IFB5SXRlcl9OZXh0KGl0KTsKLSAgICAgICAgaWYgKGVsZW0gPT0gTlVMTCkgewotICAgICAgICAgICAgaWYgKFB5RXJyX09jY3VycmVkKCkpCi0gICAgICAgICAgICAgICAgZ290byBmYWlsOwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIGdvdG8gc29ydGl0OwotICAgICAgICB9Ci0gICAgICAgIGlmIChQeUxpc3RfQXBwZW5kKGhlYXAsIGVsZW0pID09IC0xKSB7Ci0gICAgICAgICAgICBQeV9ERUNSRUYoZWxlbSk7Ci0gICAgICAgICAgICBnb3RvIGZhaWw7Ci0gICAgICAgIH0KLSAgICAgICAgUHlfREVDUkVGKGVsZW0pOwotICAgIH0KLSAgICBpZiAoUHlMaXN0X0dFVF9TSVpFKGhlYXApID09IDApCi0gICAgICAgIGdvdG8gc29ydGl0OwotCi0gICAgZm9yIChpPW4vMi0xIDsgaT49MCA7IGktLSkKLSAgICAgICAgaWYoX3NpZnR1cCgoUHlMaXN0T2JqZWN0ICopaGVhcCwgaSkgPT0gLTEpCi0gICAgICAgICAgICBnb3RvIGZhaWw7Ci0KLSAgICBzb2wgPSBQeUxpc3RfR0VUX0lURU0oaGVhcCwgMCk7Ci0gICAgd2hpbGUgKDEpIHsKLSAgICAgICAgZWxlbSA9IFB5SXRlcl9OZXh0KGl0KTsKLSAgICAgICAgaWYgKGVsZW0gPT0gTlVMTCkgewotICAgICAgICAgICAgaWYgKFB5RXJyX09jY3VycmVkKCkpCi0gICAgICAgICAgICAgICAgZ290byBmYWlsOwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIGdvdG8gc29ydGl0OwotICAgICAgICB9Ci0gICAgICAgIGNtcCA9IFB5T2JqZWN0X1JpY2hDb21wYXJlQm9vbChzb2wsIGVsZW0sIFB5X0xUKTsKLSAgICAgICAgaWYgKGNtcCA9PSAtMSkgewotICAgICAgICAgICAgUHlfREVDUkVGKGVsZW0pOwotICAgICAgICAgICAgZ290byBmYWlsOwotICAgICAgICB9Ci0gICAgICAgIGlmIChjbXAgPT0gMCkgewotICAgICAgICAgICAgUHlfREVDUkVGKGVsZW0pOwotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIH0KLSAgICAgICAgb2xkZWxlbSA9IFB5TGlzdF9HRVRfSVRFTShoZWFwLCAwKTsKLSAgICAgICAgUHlMaXN0X1NFVF9JVEVNKGhlYXAsIDAsIGVsZW0pOwotICAgICAgICBQeV9ERUNSRUYob2xkZWxlbSk7Ci0gICAgICAgIGlmIChfc2lmdHVwKChQeUxpc3RPYmplY3QgKiloZWFwLCAwKSA9PSAtMSkKLSAgICAgICAgICAgIGdvdG8gZmFpbDsKLSAgICAgICAgc29sID0gUHlMaXN0X0dFVF9JVEVNKGhlYXAsIDApOwotICAgIH0KLXNvcnRpdDoKLSAgICBpZiAoUHlMaXN0X1NvcnQoaGVhcCkgPT0gLTEpCi0gICAgICAgIGdvdG8gZmFpbDsKLSAgICBpZiAoUHlMaXN0X1JldmVyc2UoaGVhcCkgPT0gLTEpCi0gICAgICAgIGdvdG8gZmFpbDsKLSAgICBQeV9ERUNSRUYoaXQpOwotICAgIHJldHVybiBoZWFwOwotCi1mYWlsOgotICAgIFB5X0RFQ1JFRihpdCk7Ci0gICAgUHlfWERFQ1JFRihoZWFwKTsKLSAgICByZXR1cm4gTlVMTDsKLX0KLQotUHlEb2NfU1RSVkFSKG5sYXJnZXN0X2RvYywKLSJGaW5kIHRoZSBuIGxhcmdlc3QgZWxlbWVudHMgaW4gYSBkYXRhc2V0LlxuXAotXG5cCi1FcXVpdmFsZW50IHRvOiAgc29ydGVkKGl0ZXJhYmxlLCByZXZlcnNlPVRydWUpWzpuXVxuIik7Ci0KIHN0YXRpYyBpbnQKLV9zaWZ0ZG93bm1heChQeUxpc3RPYmplY3QgKmhlYXAsIFB5X3NzaXplX3Qgc3RhcnRwb3MsIFB5X3NzaXplX3QgcG9zKQorc2lmdGRvd25fbWF4KFB5TGlzdE9iamVjdCAqaGVhcCwgUHlfc3NpemVfdCBzdGFydHBvcywgUHlfc3NpemVfdCBwb3MpCiB7CiAgICAgUHlPYmplY3QgKm5ld2l0ZW0sICpwYXJlbnQ7CisgICAgUHlfc3NpemVfdCBwYXJlbnRwb3MsIHNpemU7CiAgICAgaW50IGNtcDsKLSAgICBQeV9zc2l6ZV90IHBhcmVudHBvczsKIAogICAgIGFzc2VydChQeUxpc3RfQ2hlY2soaGVhcCkpOwotICAgIGlmIChwb3MgPj0gUHlMaXN0X0dFVF9TSVpFKGhlYXApKSB7CisgICAgc2l6ZSA9IFB5TGlzdF9HRVRfU0laRShoZWFwKTsKKyAgICBpZiAocG9zID49IHNpemUpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0luZGV4RXJyb3IsICJpbmRleCBvdXQgb2YgcmFuZ2UiKTsKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KIAotICAgIG5ld2l0ZW0gPSBQeUxpc3RfR0VUX0lURU0oaGVhcCwgcG9zKTsKLSAgICBQeV9JTkNSRUYobmV3aXRlbSk7CiAgICAgLyogRm9sbG93IHRoZSBwYXRoIHRvIHRoZSByb290LCBtb3ZpbmcgcGFyZW50cyBkb3duIHVudGlsIGZpbmRpbmcKICAgICAgICBhIHBsYWNlIG5ld2l0ZW0gZml0cy4gKi8KLSAgICB3aGlsZSAocG9zID4gc3RhcnRwb3MpeworICAgIG5ld2l0ZW0gPSBQeUxpc3RfR0VUX0lURU0oaGVhcCwgcG9zKTsKKyAgICB3aGlsZSAocG9zID4gc3RhcnRwb3MpIHsKICAgICAgICAgcGFyZW50cG9zID0gKHBvcyAtIDEpID4+IDE7CiAgICAgICAgIHBhcmVudCA9IFB5TGlzdF9HRVRfSVRFTShoZWFwLCBwYXJlbnRwb3MpOwogICAgICAgICBjbXAgPSBQeU9iamVjdF9SaWNoQ29tcGFyZUJvb2wocGFyZW50LCBuZXdpdGVtLCBQeV9MVCk7Ci0gICAgICAgIGlmIChjbXAgPT0gLTEpIHsKLSAgICAgICAgICAgIFB5X0RFQ1JFRihuZXdpdGVtKTsKKyAgICAgICAgaWYgKGNtcCA9PSAtMSkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgaWYgKHNpemUgIT0gUHlMaXN0X0dFVF9TSVpFKGhlYXApKSB7CisgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfUnVudGltZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaXN0IGNoYW5nZWQgc2l6ZSBkdXJpbmcgaXRlcmF0aW9uIik7CiAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgICAgIH0KICAgICAgICAgaWYgKGNtcCA9PSAwKQogICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIFB5X0lOQ1JFRihwYXJlbnQpOwotICAgICAgICBQeV9ERUNSRUYoUHlMaXN0X0dFVF9JVEVNKGhlYXAsIHBvcykpOworICAgICAgICBwYXJlbnQgPSBQeUxpc3RfR0VUX0lURU0oaGVhcCwgcGFyZW50cG9zKTsKKyAgICAgICAgbmV3aXRlbSA9IFB5TGlzdF9HRVRfSVRFTShoZWFwLCBwb3MpOworICAgICAgICBQeUxpc3RfU0VUX0lURU0oaGVhcCwgcGFyZW50cG9zLCBuZXdpdGVtKTsKICAgICAgICAgUHlMaXN0X1NFVF9JVEVNKGhlYXAsIHBvcywgcGFyZW50KTsKICAgICAgICAgcG9zID0gcGFyZW50cG9zOwogICAgIH0KLSAgICBQeV9ERUNSRUYoUHlMaXN0X0dFVF9JVEVNKGhlYXAsIHBvcykpOwotICAgIFB5TGlzdF9TRVRfSVRFTShoZWFwLCBwb3MsIG5ld2l0ZW0pOwogICAgIHJldHVybiAwOwogfQogCiBzdGF0aWMgaW50Ci1fc2lmdHVwbWF4KFB5TGlzdE9iamVjdCAqaGVhcCwgUHlfc3NpemVfdCBwb3MpCitzaWZ0dXBfbWF4KFB5TGlzdE9iamVjdCAqaGVhcCwgUHlfc3NpemVfdCBwb3MpCiB7CiAgICAgUHlfc3NpemVfdCBzdGFydHBvcywgZW5kcG9zLCBjaGlsZHBvcywgcmlnaHRwb3MsIGxpbWl0OworICAgIFB5T2JqZWN0ICp0bXAxLCAqdG1wMjsKICAgICBpbnQgY21wOwotICAgIFB5T2JqZWN0ICpuZXdpdGVtLCAqdG1wOwogCiAgICAgYXNzZXJ0KFB5TGlzdF9DaGVjayhoZWFwKSk7CiAgICAgZW5kcG9zID0gUHlMaXN0X0dFVF9TSVpFKGhlYXApOwpAQCAtNDMwLDggKzMzNiw2IEBACiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19JbmRleEVycm9yLCAiaW5kZXggb3V0IG9mIHJhbmdlIik7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9Ci0gICAgbmV3aXRlbSA9IFB5TGlzdF9HRVRfSVRFTShoZWFwLCBwb3MpOwotICAgIFB5X0lOQ1JFRihuZXdpdGVtKTsKIAogICAgIC8qIEJ1YmJsZSB1cCB0aGUgc21hbGxlciBjaGlsZCB1bnRpbCBoaXR0aW5nIGEgbGVhZi4gKi8KICAgICBsaW1pdCA9IGVuZHBvcyAvIDI7ICAgICAgICAgIC8qIHNtYWxsZXN0IHBvcyB0aGF0IGhhcyBubyBjaGlsZCAqLwpAQCAtNDQ0LDExMSArMzQ4LDUwIEBACiAgICAgICAgICAgICAgICAgUHlMaXN0X0dFVF9JVEVNKGhlYXAsIHJpZ2h0cG9zKSwKICAgICAgICAgICAgICAgICBQeUxpc3RfR0VUX0lURU0oaGVhcCwgY2hpbGRwb3MpLAogICAgICAgICAgICAgICAgIFB5X0xUKTsKLSAgICAgICAgICAgIGlmIChjbXAgPT0gLTEpIHsKLSAgICAgICAgICAgICAgICBQeV9ERUNSRUYobmV3aXRlbSk7CisgICAgICAgICAgICBpZiAoY21wID09IC0xKQogICAgICAgICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlmIChjbXAgPT0gMCkKICAgICAgICAgICAgICAgICBjaGlsZHBvcyA9IHJpZ2h0cG9zOworICAgICAgICAgICAgaWYgKGVuZHBvcyAhPSBQeUxpc3RfR0VUX1NJWkUoaGVhcCkpIHsKKyAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfUnVudGltZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlzdCBjaGFuZ2VkIHNpemUgZHVyaW5nIGl0ZXJhdGlvbiIpOworICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICAvKiBNb3ZlIHRoZSBzbWFsbGVyIGNoaWxkIHVwLiAqLwotICAgICAgICB0bXAgPSBQeUxpc3RfR0VUX0lURU0oaGVhcCwgY2hpbGRwb3MpOwotICAgICAgICBQeV9JTkNSRUYodG1wKTsKLSAgICAgICAgUHlfREVDUkVGKFB5TGlzdF9HRVRfSVRFTShoZWFwLCBwb3MpKTsKLSAgICAgICAgUHlMaXN0X1NFVF9JVEVNKGhlYXAsIHBvcywgdG1wKTsKKyAgICAgICAgdG1wMSA9IFB5TGlzdF9HRVRfSVRFTShoZWFwLCBjaGlsZHBvcyk7CisgICAgICAgIHRtcDIgPSBQeUxpc3RfR0VUX0lURU0oaGVhcCwgcG9zKTsKKyAgICAgICAgUHlMaXN0X1NFVF9JVEVNKGhlYXAsIGNoaWxkcG9zLCB0bXAyKTsKKyAgICAgICAgUHlMaXN0X1NFVF9JVEVNKGhlYXAsIHBvcywgdG1wMSk7CiAgICAgICAgIHBvcyA9IGNoaWxkcG9zOwogICAgIH0KLQotICAgIC8qIFRoZSBsZWFmIGF0IHBvcyBpcyBlbXB0eSBub3cuICBQdXQgbmV3aXRlbSB0aGVyZSwgYW5kIGJ1YmJsZQotICAgICAgIGl0IHVwIHRvIGl0cyBmaW5hbCByZXN0aW5nIHBsYWNlIChieSBzaWZ0aW5nIGl0cyBwYXJlbnRzIGRvd24pLiAqLwotICAgIFB5X0RFQ1JFRihQeUxpc3RfR0VUX0lURU0oaGVhcCwgcG9zKSk7Ci0gICAgUHlMaXN0X1NFVF9JVEVNKGhlYXAsIHBvcywgbmV3aXRlbSk7Ci0gICAgcmV0dXJuIF9zaWZ0ZG93bm1heChoZWFwLCBzdGFydHBvcywgcG9zKTsKKyAgICAvKiBCdWJibGUgaXQgdXAgdG8gaXRzIGZpbmFsIHJlc3RpbmcgcGxhY2UgKGJ5IHNpZnRpbmcgaXRzIHBhcmVudHMgZG93bikuICovCisgICAgcmV0dXJuIHNpZnRkb3duX21heChoZWFwLCBzdGFydHBvcywgcG9zKTsKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKLW5zbWFsbGVzdChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitoZWFwcG9wX21heChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmhlYXApCiB7Ci0gICAgUHlPYmplY3QgKmhlYXA9TlVMTCwgKmVsZW0sICppdGVyYWJsZSwgKmxvcywgKml0LCAqb2xkZWxlbTsKLSAgICBQeV9zc2l6ZV90IGksIG47Ci0gICAgaW50IGNtcDsKLQotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAibk86bnNtYWxsZXN0IiwgJm4sICZpdGVyYWJsZSkpCi0gICAgICAgIHJldHVybiBOVUxMOwotCi0gICAgaXQgPSBQeU9iamVjdF9HZXRJdGVyKGl0ZXJhYmxlKTsKLSAgICBpZiAoaXQgPT0gTlVMTCkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KLSAgICBoZWFwID0gUHlMaXN0X05ldygwKTsKLSAgICBpZiAoaGVhcCA9PSBOVUxMKQotICAgICAgICBnb3RvIGZhaWw7Ci0KLSAgICBmb3IgKGk9MCA7IGk8biA7IGkrKyApewotICAgICAgICBlbGVtID0gUHlJdGVyX05leHQoaXQpOwotICAgICAgICBpZiAoZWxlbSA9PSBOVUxMKSB7Ci0gICAgICAgICAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkKLSAgICAgICAgICAgICAgICBnb3RvIGZhaWw7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgZ290byBzb3J0aXQ7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKFB5TGlzdF9BcHBlbmQoaGVhcCwgZWxlbSkgPT0gLTEpIHsKLSAgICAgICAgICAgIFB5X0RFQ1JFRihlbGVtKTsKLSAgICAgICAgICAgIGdvdG8gZmFpbDsKLSAgICAgICAgfQotICAgICAgICBQeV9ERUNSRUYoZWxlbSk7Ci0gICAgfQotICAgIG4gPSBQeUxpc3RfR0VUX1NJWkUoaGVhcCk7Ci0gICAgaWYgKG4gPT0gMCkKLSAgICAgICAgZ290byBzb3J0aXQ7Ci0KLSAgICBmb3IgKGk9bi8yLTEgOyBpPj0wIDsgaS0tKQotICAgICAgICBpZihfc2lmdHVwbWF4KChQeUxpc3RPYmplY3QgKiloZWFwLCBpKSA9PSAtMSkKLSAgICAgICAgICAgIGdvdG8gZmFpbDsKLQotICAgIGxvcyA9IFB5TGlzdF9HRVRfSVRFTShoZWFwLCAwKTsKLSAgICB3aGlsZSAoMSkgewotICAgICAgICBlbGVtID0gUHlJdGVyX05leHQoaXQpOwotICAgICAgICBpZiAoZWxlbSA9PSBOVUxMKSB7Ci0gICAgICAgICAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkKLSAgICAgICAgICAgICAgICBnb3RvIGZhaWw7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgZ290byBzb3J0aXQ7Ci0gICAgICAgIH0KLSAgICAgICAgY21wID0gUHlPYmplY3RfUmljaENvbXBhcmVCb29sKGVsZW0sIGxvcywgUHlfTFQpOwotICAgICAgICBpZiAoY21wID09IC0xKSB7Ci0gICAgICAgICAgICBQeV9ERUNSRUYoZWxlbSk7Ci0gICAgICAgICAgICBnb3RvIGZhaWw7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGNtcCA9PSAwKSB7Ci0gICAgICAgICAgICBQeV9ERUNSRUYoZWxlbSk7Ci0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgfQotCi0gICAgICAgIG9sZGVsZW0gPSBQeUxpc3RfR0VUX0lURU0oaGVhcCwgMCk7Ci0gICAgICAgIFB5TGlzdF9TRVRfSVRFTShoZWFwLCAwLCBlbGVtKTsKLSAgICAgICAgUHlfREVDUkVGKG9sZGVsZW0pOwotICAgICAgICBpZiAoX3NpZnR1cG1heCgoUHlMaXN0T2JqZWN0ICopaGVhcCwgMCkgPT0gLTEpCi0gICAgICAgICAgICBnb3RvIGZhaWw7Ci0gICAgICAgIGxvcyA9IFB5TGlzdF9HRVRfSVRFTShoZWFwLCAwKTsKLSAgICB9Ci0KLXNvcnRpdDoKLSAgICBpZiAoUHlMaXN0X1NvcnQoaGVhcCkgPT0gLTEpCi0gICAgICAgIGdvdG8gZmFpbDsKLSAgICBQeV9ERUNSRUYoaXQpOwotICAgIHJldHVybiBoZWFwOwotCi1mYWlsOgotICAgIFB5X0RFQ1JFRihpdCk7Ci0gICAgUHlfWERFQ1JFRihoZWFwKTsKLSAgICByZXR1cm4gTlVMTDsKKyAgICByZXR1cm4gaGVhcHBvcF9pbnRlcm5hbChoZWFwLCBzaWZ0dXBfbWF4KTsKIH0KIAotUHlEb2NfU1RSVkFSKG5zbWFsbGVzdF9kb2MsCi0iRmluZCB0aGUgbiBzbWFsbGVzdCBlbGVtZW50cyBpbiBhIGRhdGFzZXQuXG5cCi1cblwKLUVxdWl2YWxlbnQgdG86ICBzb3J0ZWQoaXRlcmFibGUpWzpuXVxuIik7CitQeURvY19TVFJWQVIoaGVhcHBvcF9tYXhfZG9jLCAiTWF4aGVhcCB2YXJpYW50IG9mIGhlYXBwb3AuIik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitoZWFwcmVwbGFjZV9tYXgoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIHJldHVybiBoZWFwcmVwbGFjZV9pbnRlcm5hbChhcmdzLCBzaWZ0dXBfbWF4KTsKK30KKworUHlEb2NfU1RSVkFSKGhlYXByZXBsYWNlX21heF9kb2MsICJNYXhoZWFwIHZhcmlhbnQgb2YgaGVhcHJlcGxhY2UiKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2hlYXBpZnlfbWF4KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqaGVhcCkKK3sKKyAgICByZXR1cm4gaGVhcGlmeV9pbnRlcm5hbChoZWFwLCBzaWZ0dXBfbWF4KTsKK30KKworUHlEb2NfU1RSVkFSKGhlYXBpZnlfbWF4X2RvYywgIk1heGhlYXAgdmFyaWFudCBvZiBoZWFwaWZ5LiIpOwogCiBzdGF0aWMgUHlNZXRob2REZWYgaGVhcHFfbWV0aG9kc1tdID0gewogICAgIHsiaGVhcHB1c2giLCAgICAgICAgKFB5Q0Z1bmN0aW9uKWhlYXBwdXNoLApAQCAtNTYxLDEwICs0MDQsMTIgQEAKICAgICAgICAgTUVUSF9WQVJBUkdTLCAgICAgICAgICAgaGVhcHJlcGxhY2VfZG9jfSwKICAgICB7ImhlYXBpZnkiLCAgICAgICAgIChQeUNGdW5jdGlvbiloZWFwaWZ5LAogICAgICAgICBNRVRIX08sICAgICAgICAgICAgICAgICBoZWFwaWZ5X2RvY30sCi0gICAgeyJubGFyZ2VzdCIsICAgICAgICAoUHlDRnVuY3Rpb24pbmxhcmdlc3QsCi0gICAgICAgIE1FVEhfVkFSQVJHUywgICAgICAgICAgIG5sYXJnZXN0X2RvY30sCi0gICAgeyJuc21hbGxlc3QiLCAgICAgICAoUHlDRnVuY3Rpb24pbnNtYWxsZXN0LAotICAgICAgICBNRVRIX1ZBUkFSR1MsICAgICAgICAgICBuc21hbGxlc3RfZG9jfSwKKyAgICB7Il9oZWFwcG9wX21heCIsICAgIChQeUNGdW5jdGlvbiloZWFwcG9wX21heCwKKyAgICAgICAgTUVUSF9PLCAgICAgICAgICAgICAgICAgaGVhcHBvcF9tYXhfZG9jfSwKKyAgICB7Il9oZWFwcmVwbGFjZV9tYXgiLChQeUNGdW5jdGlvbiloZWFwcmVwbGFjZV9tYXgsCisgICAgICAgIE1FVEhfVkFSQVJHUywgICAgICAgICAgIGhlYXByZXBsYWNlX21heF9kb2N9LAorICAgIHsiX2hlYXBpZnlfbWF4IiwgICAgKFB5Q0Z1bmN0aW9uKWhlYXBpZnlfbWF4LAorICAgICAgICBNRVRIX08sICAgICAgICAgICAgICAgICBoZWFwaWZ5X21heF9kb2N9LAogICAgIHtOVUxMLCAgICAgICAgICAgICAgTlVMTH0gICAgICAgICAgIC8qIHNlbnRpbmVsICovCiB9OwogCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19pby9faW9tb2R1bGUuYyBiL01vZHVsZXMvX2lvL19pb21vZHVsZS5jCmluZGV4IDQ1YzMxYTUuLmU3MGM0YjcgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX2lvL19pb21vZHVsZS5jCisrKyBiL01vZHVsZXMvX2lvL19pb21vZHVsZS5jCkBAIC0yMzcsOCArMjM3LDggQEAKIAogICAgIFB5T2JqZWN0ICpyYXcsICptb2Rlb2JqID0gTlVMTCwgKmJ1ZmZlciwgKndyYXBwZXIsICpyZXN1bHQgPSBOVUxMOwogCisgICAgX1B5X0lERU5USUZJRVIoX2Jsa3NpemUpOwogICAgIF9QeV9JREVOVElGSUVSKGlzYXR0eSk7Ci0gICAgX1B5X0lERU5USUZJRVIoZmlsZW5vKTsKICAgICBfUHlfSURFTlRJRklFUihtb2RlKTsKICAgICBfUHlfSURFTlRJRklFUihjbG9zZSk7CiAKQEAgLTM4MCwyNCArMzgwLDE0IEBACiAgICAgICAgIGxpbmVfYnVmZmVyaW5nID0gMDsKIAogICAgIGlmIChidWZmZXJpbmcgPCAwKSB7Ci0gICAgICAgIGJ1ZmZlcmluZyA9IERFRkFVTFRfQlVGRkVSX1NJWkU7Ci0jaWZkZWYgSEFWRV9TVFJVQ1RfU1RBVF9TVF9CTEtTSVpFCi0gICAgICAgIHsKLSAgICAgICAgICAgIHN0cnVjdCBzdGF0IHN0OwotICAgICAgICAgICAgbG9uZyBmaWxlbm87Ci0gICAgICAgICAgICBQeU9iamVjdCAqcmVzID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChyYXcsICZQeUlkX2ZpbGVubywgTlVMTCk7Ci0gICAgICAgICAgICBpZiAocmVzID09IE5VTEwpCi0gICAgICAgICAgICAgICAgZ290byBlcnJvcjsKLQotICAgICAgICAgICAgZmlsZW5vID0gUHlMb25nX0FzTG9uZyhyZXMpOwotICAgICAgICAgICAgUHlfREVDUkVGKHJlcyk7Ci0gICAgICAgICAgICBpZiAoZmlsZW5vID09IC0xICYmIFB5RXJyX09jY3VycmVkKCkpCi0gICAgICAgICAgICAgICAgZ290byBlcnJvcjsKLQotICAgICAgICAgICAgaWYgKGZzdGF0KGZpbGVubywgJnN0KSA+PSAwICYmIHN0LnN0X2Jsa3NpemUgPiAxKQotICAgICAgICAgICAgICAgIGJ1ZmZlcmluZyA9IHN0LnN0X2Jsa3NpemU7Ci0gICAgICAgIH0KLSNlbmRpZgorICAgICAgICBQeU9iamVjdCAqYmxrc2l6ZV9vYmo7CisgICAgICAgIGJsa3NpemVfb2JqID0gX1B5T2JqZWN0X0dldEF0dHJJZChyYXcsICZQeUlkX19ibGtzaXplKTsKKyAgICAgICAgaWYgKGJsa3NpemVfb2JqID09IE5VTEwpCisgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICBidWZmZXJpbmcgPSBQeUxvbmdfQXNMb25nKGJsa3NpemVfb2JqKTsKKyAgICAgICAgUHlfREVDUkVGKGJsa3NpemVfb2JqKTsKKyAgICAgICAgaWYgKGJ1ZmZlcmluZyA9PSAtMSAmJiBQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICAgICAgZ290byBlcnJvcjsKICAgICB9CiAgICAgaWYgKGJ1ZmZlcmluZyA8IDApIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19pby9idWZmZXJlZGlvLmMgYi9Nb2R1bGVzL19pby9idWZmZXJlZGlvLmMKaW5kZXggMDJjZjAzOC4uNjkyY2U0MSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9faW8vYnVmZmVyZWRpby5jCisrKyBiL01vZHVsZXMvX2lvL2J1ZmZlcmVkaW8uYwpAQCAtMjQsNiArMjQsNyBAQAogX1B5X0lERU5USUZJRVIocmVhZDEpOwogX1B5X0lERU5USUZJRVIocmVhZGFibGUpOwogX1B5X0lERU5USUZJRVIocmVhZGludG8pOworX1B5X0lERU5USUZJRVIocmVhZGludG8xKTsKIF9QeV9JREVOVElGSUVSKHdyaXRhYmxlKTsKIF9QeV9JREVOVElGSUVSKHdyaXRlKTsKIApAQCAtNDcsMTcgKzQ4LDIxIEBACiAgICAgKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKLWJ1ZmZlcmVkaW9iYXNlX3JlYWRpbnRvKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK19idWZmZXJlZGlvYmFzZV9yZWFkaW50b19nZW5lcmljKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgY2hhciByZWFkaW50bzEpCiB7CiAgICAgUHlfYnVmZmVyIGJ1ZjsKICAgICBQeV9zc2l6ZV90IGxlbjsKICAgICBQeU9iamVjdCAqZGF0YTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAidyo6cmVhZGludG8iLCAmYnVmKSkgeworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkaW50bzEgPyAidyo6cmVhZGludG8xIiA6ICJ3KjpyZWFkaW50byIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICZidWYpKSB7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIAotICAgIGRhdGEgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKHNlbGYsICZQeUlkX3JlYWQsICJuIiwgYnVmLmxlbik7CisgICAgZGF0YSA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQoc2VsZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkaW50bzEgPyAmUHlJZF9yZWFkMSA6ICZQeUlkX3JlYWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm4iLCBidWYubGVuKTsKICAgICBpZiAoZGF0YSA9PSBOVUxMKQogICAgICAgICBnb3RvIGVycm9yOwogCkBAIC04OSw2ICs5NCwxOCBAQAogfQogCiBzdGF0aWMgUHlPYmplY3QgKgorYnVmZmVyZWRpb2Jhc2VfcmVhZGludG8oUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIHJldHVybiBfYnVmZmVyZWRpb2Jhc2VfcmVhZGludG9fZ2VuZXJpYyhzZWxmLCBhcmdzLCAwKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J1ZmZlcmVkaW9iYXNlX3JlYWRpbnRvMShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgcmV0dXJuIF9idWZmZXJlZGlvYmFzZV9yZWFkaW50b19nZW5lcmljKHNlbGYsIGFyZ3MsIDEpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgogYnVmZmVyZWRpb2Jhc2VfdW5zdXBwb3J0ZWQoY29uc3QgY2hhciAqbWVzc2FnZSkKIHsKICAgICBfUHlJT19TdGF0ZSAqc3RhdGUgPSBJT19TVEFURSgpOwpAQCAtMTY3LDYgKzE4NCw3IEBACiAgICAgeyJyZWFkIiwgYnVmZmVyZWRpb2Jhc2VfcmVhZCwgTUVUSF9WQVJBUkdTLCBidWZmZXJlZGlvYmFzZV9yZWFkX2RvY30sCiAgICAgeyJyZWFkMSIsIGJ1ZmZlcmVkaW9iYXNlX3JlYWQxLCBNRVRIX1ZBUkFSR1MsIGJ1ZmZlcmVkaW9iYXNlX3JlYWQxX2RvY30sCiAgICAgeyJyZWFkaW50byIsIGJ1ZmZlcmVkaW9iYXNlX3JlYWRpbnRvLCBNRVRIX1ZBUkFSR1MsIE5VTEx9LAorICAgIHsicmVhZGludG8xIiwgYnVmZmVyZWRpb2Jhc2VfcmVhZGludG8xLCBNRVRIX1ZBUkFSR1MsIE5VTEx9LAogICAgIHsid3JpdGUiLCBidWZmZXJlZGlvYmFzZV93cml0ZSwgTUVUSF9WQVJBUkdTLCBidWZmZXJlZGlvYmFzZV93cml0ZV9kb2N9LAogICAgIHtOVUxMLCBOVUxMfQogfTsKQEAgLTk3Nyw3ICs5OTUsNyBAQAogfQogCiBzdGF0aWMgUHlPYmplY3QgKgotYnVmZmVyZWRfcmVhZGludG8oYnVmZmVyZWQgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorX2J1ZmZlcmVkX3JlYWRpbnRvX2dlbmVyaWMoYnVmZmVyZWQgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBjaGFyIHJlYWRpbnRvMSkKIHsKICAgICBQeV9idWZmZXIgYnVmOwogICAgIFB5X3NzaXplX3Qgbiwgd3JpdHRlbiA9IDAsIHJlbWFpbmluZzsKQEAgLTk4NSw3ICsxMDAzLDkgQEAKIAogICAgIENIRUNLX0lOSVRJQUxJWkVEKHNlbGYpCiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIncqOnJlYWRpbnRvIiwgJmJ1ZikpCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRpbnRvMSA/ICJ3KjpyZWFkaW50bzEiIDogIncqOnJlYWRpbnRvIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJmJ1ZikpCiAgICAgICAgIHJldHVybiBOVUxMOwogCiAgICAgbiA9IFB5X1NBRkVfRE9XTkNBU1QoUkVBREFIRUFEKHNlbGYpLCBQeV9vZmZfdCwgUHlfc3NpemVfdCk7CkBAIC0xMDIzLDcgKzEwNDMsMTAgQEAKICAgICAgICAgICAgIG4gPSBfYnVmZmVyZWRyZWFkZXJfcmF3X3JlYWQoc2VsZiwgKGNoYXIgKikgYnVmLmJ1ZiArIHdyaXR0ZW4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbWFpbmluZyk7CiAgICAgICAgIH0KLSAgICAgICAgZWxzZSB7CisKKyAgICAgICAgLyogSW4gcmVhZGludG8xIG1vZGUsIHdlIGRvIG5vdCB3YW50IHRvIGZpbGwgdGhlIGludGVybmFsCisgICAgICAgICAgIGJ1ZmZlciBpZiB3ZSBhbHJlYWR5IGhhdmUgc29tZSBkYXRhIHRvIHJldHVybiAqLworICAgICAgICBlbHNlIGlmICghKHJlYWRpbnRvMSAmJiB3cml0dGVuKSkgewogICAgICAgICAgICAgbiA9IF9idWZmZXJlZHJlYWRlcl9maWxsX2J1ZmZlcihzZWxmKTsKICAgICAgICAgICAgIGlmIChuID4gMCkgewogICAgICAgICAgICAgICAgIGlmIChuID4gcmVtYWluaW5nKQpAQCAtMTAzNCw2ICsxMDU3LDkgQEAKICAgICAgICAgICAgICAgICBjb250aW51ZTsgLyogc2hvcnQgY2lyY3VpdCAqLwogICAgICAgICAgICAgfQogICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG4gPSAwOworICAgICAgICAKICAgICAgICAgaWYgKG4gPT0gMCB8fCAobiA9PSAtMiAmJiB3cml0dGVuID4gMCkpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgaWYgKG4gPCAwKSB7CkBAIC0xMDQzLDYgKzEwNjksMTIgQEAKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGdvdG8gZW5kOwogICAgICAgICB9CisgICAgICAgIAorICAgICAgICAvKiBBdCBtb3N0IG9uZSByZWFkIGluIHJlYWRpbnRvMSBtb2RlICovCisgICAgICAgIGlmIChyZWFkaW50bzEpIHsKKyAgICAgICAgICAgIHdyaXR0ZW4gKz0gbjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CiAgICAgfQogICAgIHJlcyA9IFB5TG9uZ19Gcm9tU3NpemVfdCh3cml0dGVuKTsKIApAQCAtMTA1NCw2ICsxMDg2LDE5IEBACiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCitidWZmZXJlZF9yZWFkaW50byhidWZmZXJlZCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgcmV0dXJuIF9idWZmZXJlZF9yZWFkaW50b19nZW5lcmljKHNlbGYsIGFyZ3MsIDApOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorYnVmZmVyZWRfcmVhZGludG8xKGJ1ZmZlcmVkICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICByZXR1cm4gX2J1ZmZlcmVkX3JlYWRpbnRvX2dlbmVyaWMoc2VsZiwgYXJncywgMSk7Cit9CisKKworc3RhdGljIFB5T2JqZWN0ICoKIF9idWZmZXJlZF9yZWFkbGluZShidWZmZXJlZCAqc2VsZiwgUHlfc3NpemVfdCBsaW1pdCkKIHsKICAgICBQeU9iamVjdCAqcmVzID0gTlVMTDsKQEAgLTE3MzgsNiArMTc4Myw3IEBACiAgICAgeyJwZWVrIiwgKFB5Q0Z1bmN0aW9uKWJ1ZmZlcmVkX3BlZWssIE1FVEhfVkFSQVJHU30sCiAgICAgeyJyZWFkMSIsIChQeUNGdW5jdGlvbilidWZmZXJlZF9yZWFkMSwgTUVUSF9WQVJBUkdTfSwKICAgICB7InJlYWRpbnRvIiwgKFB5Q0Z1bmN0aW9uKWJ1ZmZlcmVkX3JlYWRpbnRvLCBNRVRIX1ZBUkFSR1N9LAorICAgIHsicmVhZGludG8xIiwgKFB5Q0Z1bmN0aW9uKWJ1ZmZlcmVkX3JlYWRpbnRvMSwgTUVUSF9WQVJBUkdTfSwKICAgICB7InJlYWRsaW5lIiwgKFB5Q0Z1bmN0aW9uKWJ1ZmZlcmVkX3JlYWRsaW5lLCBNRVRIX1ZBUkFSR1N9LAogICAgIHsic2VlayIsIChQeUNGdW5jdGlvbilidWZmZXJlZF9zZWVrLCBNRVRIX1ZBUkFSR1N9LAogICAgIHsidGVsbCIsIChQeUNGdW5jdGlvbilidWZmZXJlZF90ZWxsLCBNRVRIX05PQVJHU30sCkBAIC0yMzM5LDYgKzIzODUsMTIgQEAKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKK2J1ZmZlcmVkcndwYWlyX3JlYWRpbnRvMShyd3BhaXIgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIHJldHVybiBfZm9yd2FyZF9jYWxsKHNlbGYtPnJlYWRlciwgJlB5SWRfcmVhZGludG8xLCBhcmdzKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKIGJ1ZmZlcmVkcndwYWlyX3dyaXRlKHJ3cGFpciAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7CiAgICAgcmV0dXJuIF9mb3J3YXJkX2NhbGwoc2VsZi0+d3JpdGVyLCAmUHlJZF93cml0ZSwgYXJncyk7CkBAIC0yNDAzLDYgKzI0NTUsNyBAQAogICAgIHsicGVlayIsIChQeUNGdW5jdGlvbilidWZmZXJlZHJ3cGFpcl9wZWVrLCBNRVRIX1ZBUkFSR1N9LAogICAgIHsicmVhZDEiLCAoUHlDRnVuY3Rpb24pYnVmZmVyZWRyd3BhaXJfcmVhZDEsIE1FVEhfVkFSQVJHU30sCiAgICAgeyJyZWFkaW50byIsIChQeUNGdW5jdGlvbilidWZmZXJlZHJ3cGFpcl9yZWFkaW50bywgTUVUSF9WQVJBUkdTfSwKKyAgICB7InJlYWRpbnRvMSIsIChQeUNGdW5jdGlvbilidWZmZXJlZHJ3cGFpcl9yZWFkaW50bzEsIE1FVEhfVkFSQVJHU30sCiAKICAgICB7IndyaXRlIiwgKFB5Q0Z1bmN0aW9uKWJ1ZmZlcmVkcndwYWlyX3dyaXRlLCBNRVRIX1ZBUkFSR1N9LAogICAgIHsiZmx1c2giLCAoUHlDRnVuY3Rpb24pYnVmZmVyZWRyd3BhaXJfZmx1c2gsIE1FVEhfTk9BUkdTfSwKQEAgLTI1NTEsNiArMjYwNCw3IEBACiAgICAgeyJyZWFkIiwgKFB5Q0Z1bmN0aW9uKWJ1ZmZlcmVkX3JlYWQsIE1FVEhfVkFSQVJHU30sCiAgICAgeyJyZWFkMSIsIChQeUNGdW5jdGlvbilidWZmZXJlZF9yZWFkMSwgTUVUSF9WQVJBUkdTfSwKICAgICB7InJlYWRpbnRvIiwgKFB5Q0Z1bmN0aW9uKWJ1ZmZlcmVkX3JlYWRpbnRvLCBNRVRIX1ZBUkFSR1N9LAorICAgIHsicmVhZGludG8xIiwgKFB5Q0Z1bmN0aW9uKWJ1ZmZlcmVkX3JlYWRpbnRvMSwgTUVUSF9WQVJBUkdTfSwKICAgICB7InJlYWRsaW5lIiwgKFB5Q0Z1bmN0aW9uKWJ1ZmZlcmVkX3JlYWRsaW5lLCBNRVRIX1ZBUkFSR1N9LAogICAgIHsicGVlayIsIChQeUNGdW5jdGlvbilidWZmZXJlZF9wZWVrLCBNRVRIX1ZBUkFSR1N9LAogICAgIHsid3JpdGUiLCAoUHlDRnVuY3Rpb24pYnVmZmVyZWR3cml0ZXJfd3JpdGUsIE1FVEhfVkFSQVJHU30sCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19pby9ieXRlc2lvLmMgYi9Nb2R1bGVzL19pby9ieXRlc2lvLmMKaW5kZXggMTUzN2Q5Ny4uZmM0ZWE3NCAxMDA2NDQKLS0tIGEvTW9kdWxlcy9faW8vYnl0ZXNpby5jCisrKyBiL01vZHVsZXMvX2lvL2J5dGVzaW8uYwpAQCAtNCwxMCArNCw5IEBACiAKIHR5cGVkZWYgc3RydWN0IHsKICAgICBQeU9iamVjdF9IRUFECi0gICAgY2hhciAqYnVmOworICAgIFB5T2JqZWN0ICpidWY7CiAgICAgUHlfc3NpemVfdCBwb3M7CiAgICAgUHlfc3NpemVfdCBzdHJpbmdfc2l6ZTsKLSAgICBzaXplX3QgYnVmX3NpemU7CiAgICAgUHlPYmplY3QgKmRpY3Q7CiAgICAgUHlPYmplY3QgKndlYWtyZWZsaXN0OwogICAgIFB5X3NzaXplX3QgZXhwb3J0czsKQEAgLTE4LDYgKzE3LDEyIEBACiAgICAgYnl0ZXNpbyAqc291cmNlOwogfSBieXRlc2lvYnVmOwogCisvKiBUaGUgYnl0ZXNpbyBvYmplY3QgY2FuIGJlIGluIHRocmVlIHN0YXRlczoKKyAgKiBQeV9SRUZDTlQoYnVmKSA9PSAxLCBleHBvcnRzID09IDAuCisgICogUHlfUkVGQ05UKGJ1ZikgPiAxLiAgZXhwb3J0cyA9PSAwLAorICAgIGZpcnN0IG1vZGlmaWNhdGlvbiBvciBleHBvcnQgY2F1c2VzIHRoZSBpbnRlcm5hbCBidWZmZXIgY29weWluZy4KKyAgKiBleHBvcnRzID4gMC4gIFB5X1JFRkNOVChidWYpID09IDEsIGFueSBtb2RpZmljYXRpb25zIGFyZSBmb3JiaWRkZW4uCisqLwogCiAjZGVmaW5lIENIRUNLX0NMT1NFRChzZWxmKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgaWYgKChzZWxmKS0+YnVmID09IE5VTEwpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCkBAIC0zMyw0MCArMzgsNjAgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7IFwKICAgICB9CiAKKyNkZWZpbmUgU0hBUkVEX0JVRihzZWxmKSAoUHlfUkVGQ05UKChzZWxmKS0+YnVmKSA+IDEpCisKIAogLyogSW50ZXJuYWwgcm91dGluZSB0byBnZXQgYSBsaW5lIGZyb20gdGhlIGJ1ZmZlciBvZiBhIEJ5dGVzSU8KICAgIG9iamVjdC4gUmV0dXJucyB0aGUgbGVuZ3RoIGJldHdlZW4gdGhlIGN1cnJlbnQgcG9zaXRpb24gdG8gdGhlCiAgICBuZXh0IG5ld2xpbmUgY2hhcmFjdGVyLiAqLwogc3RhdGljIFB5X3NzaXplX3QKLWdldF9saW5lKGJ5dGVzaW8gKnNlbGYsIGNoYXIgKipvdXRwdXQpCitzY2FuX2VvbChieXRlc2lvICpzZWxmLCBQeV9zc2l6ZV90IGxlbikKIHsKLSAgICBjaGFyICpuOwotICAgIGNvbnN0IGNoYXIgKnN0cl9lbmQ7Ci0gICAgUHlfc3NpemVfdCBsZW47CisgICAgY29uc3QgY2hhciAqc3RhcnQsICpuOworICAgIFB5X3NzaXplX3QgbWF4bGVuOwogCiAgICAgYXNzZXJ0KHNlbGYtPmJ1ZiAhPSBOVUxMKTsKIAogICAgIC8qIE1vdmUgdG8gdGhlIGVuZCBvZiB0aGUgbGluZSwgdXAgdG8gdGhlIGVuZCBvZiB0aGUgc3RyaW5nLCBzLiAqLwotICAgIHN0cl9lbmQgPSBzZWxmLT5idWYgKyBzZWxmLT5zdHJpbmdfc2l6ZTsKLSAgICBmb3IgKG4gPSBzZWxmLT5idWYgKyBzZWxmLT5wb3M7Ci0gICAgICAgICBuIDwgc3RyX2VuZCAmJiAqbiAhPSAnXG4nOwotICAgICAgICAgbisrKTsKKyAgICBzdGFydCA9IFB5Qnl0ZXNfQVNfU1RSSU5HKHNlbGYtPmJ1ZikgKyBzZWxmLT5wb3M7CisgICAgbWF4bGVuID0gc2VsZi0+c3RyaW5nX3NpemUgLSBzZWxmLT5wb3M7CisgICAgaWYgKGxlbiA8IDAgfHwgbGVuID4gbWF4bGVuKQorICAgICAgICBsZW4gPSBtYXhsZW47CiAKLSAgICAvKiBTa2lwIHRoZSBuZXdsaW5lIGNoYXJhY3RlciAqLwotICAgIGlmIChuIDwgc3RyX2VuZCkKLSAgICAgICAgbisrOwotCi0gICAgLyogR2V0IHRoZSBsZW5ndGggZnJvbSB0aGUgY3VycmVudCBwb3NpdGlvbiB0byB0aGUgZW5kIG9mIHRoZSBsaW5lLiAqLwotICAgIGxlbiA9IG4gLSAoc2VsZi0+YnVmICsgc2VsZi0+cG9zKTsKLSAgICAqb3V0cHV0ID0gc2VsZi0+YnVmICsgc2VsZi0+cG9zOwotCisgICAgaWYgKGxlbikgeworICAgICAgICBuID0gbWVtY2hyKHN0YXJ0LCAnXG4nLCBsZW4pOworICAgICAgICBpZiAobikKKyAgICAgICAgICAgIC8qIEdldCB0aGUgbGVuZ3RoIGZyb20gdGhlIGN1cnJlbnQgcG9zaXRpb24gdG8gdGhlIGVuZCBvZgorICAgICAgICAgICAgICAgdGhlIGxpbmUuICovCisgICAgICAgICAgICBsZW4gPSBuIC0gc3RhcnQgKyAxOworICAgIH0KICAgICBhc3NlcnQobGVuID49IDApOwogICAgIGFzc2VydChzZWxmLT5wb3MgPCBQWV9TU0laRV9UX01BWCAtIGxlbik7Ci0gICAgc2VsZi0+cG9zICs9IGxlbjsKIAogICAgIHJldHVybiBsZW47CiB9CiAKKy8qIEludGVybmFsIHJvdXRpbmUgZm9yIGRldGFjaGluZyB0aGUgc2hhcmVkIGJ1ZmZlciBvZiBCeXRlc0lPIG9iamVjdHMuCisgICBUaGUgY2FsbGVyIHNob3VsZCBlbnN1cmUgdGhhdCB0aGUgJ3NpemUnIGFyZ3VtZW50IGlzIG5vbi1uZWdhdGl2ZSBhbmQKKyAgIG5vdCBsZXNzZXIgdGhhbiBzZWxmLT5zdHJpbmdfc2l6ZS4gIFJldHVybnMgMCBvbiBzdWNjZXNzLCAtMSBvdGhlcndpc2UuICovCitzdGF0aWMgaW50Cit1bnNoYXJlX2J1ZmZlcihieXRlc2lvICpzZWxmLCBzaXplX3Qgc2l6ZSkKK3sKKyAgICBQeU9iamVjdCAqbmV3X2J1ZiwgKm9sZF9idWY7CisgICAgYXNzZXJ0KFNIQVJFRF9CVUYoc2VsZikpOworICAgIGFzc2VydChzZWxmLT5leHBvcnRzID09IDApOworICAgIGFzc2VydChzaXplID49IChzaXplX3Qpc2VsZi0+c3RyaW5nX3NpemUpOworICAgIG5ld19idWYgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKE5VTEwsIHNpemUpOworICAgIGlmIChuZXdfYnVmID09IE5VTEwpCisgICAgICAgIHJldHVybiAtMTsKKyAgICBtZW1jcHkoUHlCeXRlc19BU19TVFJJTkcobmV3X2J1ZiksIFB5Qnl0ZXNfQVNfU1RSSU5HKHNlbGYtPmJ1ZiksCisgICAgICAgICAgIHNlbGYtPnN0cmluZ19zaXplKTsKKyAgICBvbGRfYnVmID0gc2VsZi0+YnVmOworICAgIHNlbGYtPmJ1ZiA9IG5ld19idWY7CisgICAgUHlfREVDUkVGKG9sZF9idWYpOworICAgIHJldHVybiAwOworfQorCiAvKiBJbnRlcm5hbCByb3V0aW5lIGZvciBjaGFuZ2luZyB0aGUgc2l6ZSBvZiB0aGUgYnVmZmVyIG9mIEJ5dGVzSU8gb2JqZWN0cy4KICAgIFRoZSBjYWxsZXIgc2hvdWxkIGVuc3VyZSB0aGF0IHRoZSAnc2l6ZScgYXJndW1lbnQgaXMgbm9uLW5lZ2F0aXZlLiAgUmV0dXJucwogICAgMCBvbiBzdWNjZXNzLCAtMSBvdGhlcndpc2UuICovCkBAIC03NSw4ICsxMDAsNyBAQAogewogICAgIC8qIEhlcmUsIHVuc2lnbmVkIHR5cGVzIGFyZSB1c2VkIHRvIGF2b2lkIGRlYWxpbmcgd2l0aCBzaWduZWQgaW50ZWdlcgogICAgICAgIG92ZXJmbG93LCB3aGljaCBpcyB1bmRlZmluZWQgaW4gQy4gKi8KLSAgICBzaXplX3QgYWxsb2MgPSBzZWxmLT5idWZfc2l6ZTsKLSAgICBjaGFyICpuZXdfYnVmID0gTlVMTDsKKyAgICBzaXplX3QgYWxsb2MgPSBQeUJ5dGVzX0dFVF9TSVpFKHNlbGYtPmJ1Zik7CiAKICAgICBhc3NlcnQoc2VsZi0+YnVmICE9IE5VTEwpOwogCkBAIC0xMDQsMTMgKzEyOCwxNSBAQAogCiAgICAgaWYgKGFsbG9jID4gKChzaXplX3QpLTEpIC8gc2l6ZW9mKGNoYXIpKQogICAgICAgICBnb3RvIG92ZXJmbG93OwotICAgIG5ld19idWYgPSAoY2hhciAqKVB5TWVtX1JlYWxsb2Moc2VsZi0+YnVmLCBhbGxvYyAqIHNpemVvZihjaGFyKSk7Ci0gICAgaWYgKG5ld19idWYgPT0gTlVMTCkgewotICAgICAgICBQeUVycl9Ob01lbW9yeSgpOwotICAgICAgICByZXR1cm4gLTE7CisKKyAgICBpZiAoU0hBUkVEX0JVRihzZWxmKSkgeworICAgICAgICBpZiAodW5zaGFyZV9idWZmZXIoc2VsZiwgYWxsb2MpIDwgMCkKKyAgICAgICAgICAgIHJldHVybiAtMTsKICAgICB9Ci0gICAgc2VsZi0+YnVmX3NpemUgPSBhbGxvYzsKLSAgICBzZWxmLT5idWYgPSBuZXdfYnVmOworICAgIGVsc2UgeworICAgICAgICBpZiAoX1B5Qnl0ZXNfUmVzaXplKCZzZWxmLT5idWYsIGFsbG9jKSA8IDApCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgfQogCiAgICAgcmV0dXJuIDA7CiAKQEAgLTEyNSwxMiArMTUxLDE4IEBACiBzdGF0aWMgUHlfc3NpemVfdAogd3JpdGVfYnl0ZXMoYnl0ZXNpbyAqc2VsZiwgY29uc3QgY2hhciAqYnl0ZXMsIFB5X3NzaXplX3QgbGVuKQogeworICAgIHNpemVfdCBlbmRwb3M7CiAgICAgYXNzZXJ0KHNlbGYtPmJ1ZiAhPSBOVUxMKTsKICAgICBhc3NlcnQoc2VsZi0+cG9zID49IDApOwogICAgIGFzc2VydChsZW4gPj0gMCk7CiAKLSAgICBpZiAoKHNpemVfdClzZWxmLT5wb3MgKyBsZW4gPiBzZWxmLT5idWZfc2l6ZSkgewotICAgICAgICBpZiAocmVzaXplX2J1ZmZlcihzZWxmLCAoc2l6ZV90KXNlbGYtPnBvcyArIGxlbikgPCAwKQorICAgIGVuZHBvcyA9IChzaXplX3Qpc2VsZi0+cG9zICsgbGVuOworICAgIGlmIChlbmRwb3MgPiAoc2l6ZV90KVB5Qnl0ZXNfR0VUX1NJWkUoc2VsZi0+YnVmKSkgeworICAgICAgICBpZiAocmVzaXplX2J1ZmZlcihzZWxmLCBlbmRwb3MpIDwgMCkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisgICAgZWxzZSBpZiAoU0hBUkVEX0JVRihzZWxmKSkgeworICAgICAgICBpZiAodW5zaGFyZV9idWZmZXIoc2VsZiwgUHlfTUFYKGVuZHBvcywgKHNpemVfdClzZWxmLT5zdHJpbmdfc2l6ZSkpIDwgMCkKICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAKQEAgLTE0MywxOCArMTc1LDE4IEBACiAgICAgICAgICAgfCAgIHwgICAgICAgICAgICA8LS10byBwYWQtLT58PC0tLXRvIHdyaXRlLS0tPiAgICB8CiAgICAgICAgICAgMCAgIGJ1ZiAgICAgICAgICAgICAgICAgICBwb3NpdGlvbgogICAgICAgICAqLwotICAgICAgICBtZW1zZXQoc2VsZi0+YnVmICsgc2VsZi0+c3RyaW5nX3NpemUsICdcMCcsCisgICAgICAgIG1lbXNldChQeUJ5dGVzX0FTX1NUUklORyhzZWxmLT5idWYpICsgc2VsZi0+c3RyaW5nX3NpemUsICdcMCcsCiAgICAgICAgICAgICAgICAoc2VsZi0+cG9zIC0gc2VsZi0+c3RyaW5nX3NpemUpICogc2l6ZW9mKGNoYXIpKTsKICAgICB9CiAKICAgICAvKiBDb3B5IHRoZSBkYXRhIHRvIHRoZSBpbnRlcm5hbCBidWZmZXIsIG92ZXJ3cml0aW5nIHNvbWUgb2YgdGhlIGV4aXN0aW5nCiAgICAgICAgZGF0YSBpZiBzZWxmLT5wb3MgPCBzZWxmLT5zdHJpbmdfc2l6ZS4gKi8KLSAgICBtZW1jcHkoc2VsZi0+YnVmICsgc2VsZi0+cG9zLCBieXRlcywgbGVuKTsKLSAgICBzZWxmLT5wb3MgKz0gbGVuOworICAgIG1lbWNweShQeUJ5dGVzX0FTX1NUUklORyhzZWxmLT5idWYpICsgc2VsZi0+cG9zLCBieXRlcywgbGVuKTsKKyAgICBzZWxmLT5wb3MgPSBlbmRwb3M7CiAKICAgICAvKiBTZXQgdGhlIG5ldyBsZW5ndGggb2YgdGhlIGludGVybmFsIHN0cmluZyBpZiBpdCBoYXMgY2hhbmdlZC4gKi8KLSAgICBpZiAoc2VsZi0+c3RyaW5nX3NpemUgPCBzZWxmLT5wb3MpIHsKLSAgICAgICAgc2VsZi0+c3RyaW5nX3NpemUgPSBzZWxmLT5wb3M7CisgICAgaWYgKChzaXplX3Qpc2VsZi0+c3RyaW5nX3NpemUgPCBlbmRwb3MpIHsKKyAgICAgICAgc2VsZi0+c3RyaW5nX3NpemUgPSBlbmRwb3M7CiAgICAgfQogCiAgICAgcmV0dXJuIGxlbjsKQEAgLTIzMSw3ICsyNjMsMjIgQEAKIGJ5dGVzaW9fZ2V0dmFsdWUoYnl0ZXNpbyAqc2VsZikKIHsKICAgICBDSEVDS19DTE9TRUQoc2VsZik7Ci0gICAgcmV0dXJuIFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoc2VsZi0+YnVmLCBzZWxmLT5zdHJpbmdfc2l6ZSk7CisgICAgaWYgKHNlbGYtPnN0cmluZ19zaXplIDw9IDEgfHwgc2VsZi0+ZXhwb3J0cyA+IDApCisgICAgICAgIHJldHVybiBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKFB5Qnl0ZXNfQVNfU1RSSU5HKHNlbGYtPmJ1ZiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYtPnN0cmluZ19zaXplKTsKKworICAgIGlmIChzZWxmLT5zdHJpbmdfc2l6ZSAhPSBQeUJ5dGVzX0dFVF9TSVpFKHNlbGYtPmJ1ZikpIHsKKyAgICAgICAgaWYgKFNIQVJFRF9CVUYoc2VsZikpIHsKKyAgICAgICAgICAgIGlmICh1bnNoYXJlX2J1ZmZlcihzZWxmLCBzZWxmLT5zdHJpbmdfc2l6ZSkgPCAwKQorICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgaWYgKF9QeUJ5dGVzX1Jlc2l6ZSgmc2VsZi0+YnVmLCBzZWxmLT5zdHJpbmdfc2l6ZSkgPCAwKQorICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisgICAgfQorICAgIFB5X0lOQ1JFRihzZWxmLT5idWYpOworICAgIHJldHVybiBzZWxmLT5idWY7CiB9CiAKIFB5RG9jX1NUUlZBUihpc2F0dHlfZG9jLApAQCAtMjU3LDYgKzMwNCwyNiBAQAogICAgIHJldHVybiBQeUxvbmdfRnJvbVNzaXplX3Qoc2VsZi0+cG9zKTsKIH0KIAorc3RhdGljIFB5T2JqZWN0ICoKK3JlYWRfYnl0ZXMoYnl0ZXNpbyAqc2VsZiwgUHlfc3NpemVfdCBzaXplKQoreworICAgIGNoYXIgKm91dHB1dDsKKworICAgIGFzc2VydChzZWxmLT5idWYgIT0gTlVMTCk7CisgICAgYXNzZXJ0KHNpemUgPD0gc2VsZi0+c3RyaW5nX3NpemUpOworICAgIGlmIChzaXplID4gMSAmJgorICAgICAgICBzZWxmLT5wb3MgPT0gMCAmJiBzaXplID09IFB5Qnl0ZXNfR0VUX1NJWkUoc2VsZi0+YnVmKSAmJgorICAgICAgICBzZWxmLT5leHBvcnRzID09IDApIHsKKyAgICAgICAgc2VsZi0+cG9zICs9IHNpemU7CisgICAgICAgIFB5X0lOQ1JFRihzZWxmLT5idWYpOworICAgICAgICByZXR1cm4gc2VsZi0+YnVmOworICAgIH0KKworICAgIG91dHB1dCA9IFB5Qnl0ZXNfQVNfU1RSSU5HKHNlbGYtPmJ1ZikgKyBzZWxmLT5wb3M7CisgICAgc2VsZi0+cG9zICs9IHNpemU7CisgICAgcmV0dXJuIFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUob3V0cHV0LCBzaXplKTsKK30KKwogUHlEb2NfU1RSVkFSKHJlYWRfZG9jLAogInJlYWQoW3NpemVdKSAtPiByZWFkIGF0IG1vc3Qgc2l6ZSBieXRlcywgcmV0dXJuZWQgYXMgYSBzdHJpbmcuXG4iCiAiXG4iCkBAIC0yNjcsNyArMzM0LDYgQEAKIGJ5dGVzaW9fcmVhZChieXRlc2lvICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKICAgICBQeV9zc2l6ZV90IHNpemUsIG47Ci0gICAgY2hhciAqb3V0cHV0OwogICAgIFB5T2JqZWN0ICphcmcgPSBQeV9Ob25lOwogCiAgICAgQ0hFQ0tfQ0xPU0VEKHNlbGYpOwpAQCAtMjk4LDExICszNjQsNyBAQAogICAgICAgICAgICAgc2l6ZSA9IDA7CiAgICAgfQogCi0gICAgYXNzZXJ0KHNlbGYtPmJ1ZiAhPSBOVUxMKTsKLSAgICBvdXRwdXQgPSBzZWxmLT5idWYgKyBzZWxmLT5wb3M7Ci0gICAgc2VsZi0+cG9zICs9IHNpemU7Ci0KLSAgICByZXR1cm4gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShvdXRwdXQsIHNpemUpOworICAgIHJldHVybiByZWFkX2J5dGVzKHNlbGYsIHNpemUpOwogfQogCiAKQEAgLTMzNiw3ICszOTgsNiBAQAogYnl0ZXNpb19yZWFkbGluZShieXRlc2lvICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKICAgICBQeV9zc2l6ZV90IHNpemUsIG47Ci0gICAgY2hhciAqb3V0cHV0OwogICAgIFB5T2JqZWN0ICphcmcgPSBQeV9Ob25lOwogCiAgICAgQ0hFQ0tfQ0xPU0VEKHNlbGYpOwpAQCAtMzU5LDE1ICs0MjAsOSBAQAogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKLSAgICBuID0gZ2V0X2xpbmUoc2VsZiwgJm91dHB1dCk7CisgICAgbiA9IHNjYW5fZW9sKHNlbGYsIHNpemUpOwogCi0gICAgaWYgKHNpemUgPj0gMCAmJiBzaXplIDwgbikgewotICAgICAgICBzaXplID0gbiAtIHNpemU7Ci0gICAgICAgIG4gLT0gc2l6ZTsKLSAgICAgICAgc2VsZi0+cG9zIC09IHNpemU7Ci0gICAgfQotCi0gICAgcmV0dXJuIFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUob3V0cHV0LCBuKTsKKyAgICByZXR1cm4gcmVhZF9ieXRlcyhzZWxmLCBuKTsKIH0KIAogUHlEb2NfU1RSVkFSKHJlYWRsaW5lc19kb2MsCkBAIC00MTAsNyArNDY1LDkgQEAKICAgICBpZiAoIXJlc3VsdCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICB3aGlsZSAoKG4gPSBnZXRfbGluZShzZWxmLCAmb3V0cHV0KSkgIT0gMCkgeworICAgIG91dHB1dCA9IFB5Qnl0ZXNfQVNfU1RSSU5HKHNlbGYtPmJ1ZikgKyBzZWxmLT5wb3M7CisgICAgd2hpbGUgKChuID0gc2Nhbl9lb2woc2VsZiwgLTEpKSAhPSAwKSB7CisgICAgICAgIHNlbGYtPnBvcyArPSBuOwogICAgICAgICBsaW5lID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShvdXRwdXQsIG4pOwogICAgICAgICBpZiAoIWxpbmUpCiAgICAgICAgICAgICBnb3RvIG9uX2Vycm9yOwpAQCAtNDIyLDYgKzQ3OSw3IEBACiAgICAgICAgIHNpemUgKz0gbjsKICAgICAgICAgaWYgKG1heHNpemUgPiAwICYmIHNpemUgPj0gbWF4c2l6ZSkKICAgICAgICAgICAgIGJyZWFrOworICAgICAgICBvdXRwdXQgKz0gbjsKICAgICB9CiAgICAgcmV0dXJuIHJlc3VsdDsKIApAQCAtNDU2LDcgKzUxNCw3IEBACiAgICAgICAgICAgICBsZW4gPSAwOwogICAgIH0KIAotICAgIG1lbWNweShidWZmZXIuYnVmLCBzZWxmLT5idWYgKyBzZWxmLT5wb3MsIGxlbik7CisgICAgbWVtY3B5KGJ1ZmZlci5idWYsIFB5Qnl0ZXNfQVNfU1RSSU5HKHNlbGYtPmJ1ZikgKyBzZWxmLT5wb3MsIGxlbik7CiAgICAgYXNzZXJ0KHNlbGYtPnBvcyArIGxlbiA8IFBZX1NTSVpFX1RfTUFYKTsKICAgICBhc3NlcnQobGVuID49IDApOwogICAgIHNlbGYtPnBvcyArPSBsZW47CkBAIC01MTYsMTcgKzU3NCwxNiBAQAogc3RhdGljIFB5T2JqZWN0ICoKIGJ5dGVzaW9faXRlcm5leHQoYnl0ZXNpbyAqc2VsZikKIHsKLSAgICBjaGFyICpuZXh0OwogICAgIFB5X3NzaXplX3QgbjsKIAogICAgIENIRUNLX0NMT1NFRChzZWxmKTsKIAotICAgIG4gPSBnZXRfbGluZShzZWxmLCAmbmV4dCk7CisgICAgbiA9IHNjYW5fZW9sKHNlbGYsIC0xKTsKIAotICAgIGlmICghbmV4dCB8fCBuID09IDApCisgICAgaWYgKG4gPT0gMCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICByZXR1cm4gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShuZXh0LCBuKTsKKyAgICByZXR1cm4gcmVhZF9ieXRlcyhzZWxmLCBuKTsKIH0KIAogUHlEb2NfU1RSVkFSKHNlZWtfZG9jLApAQCAtNjU4LDEwICs3MTUsNyBAQAogYnl0ZXNpb19jbG9zZShieXRlc2lvICpzZWxmKQogewogICAgIENIRUNLX0VYUE9SVFMoc2VsZik7Ci0gICAgaWYgKHNlbGYtPmJ1ZiAhPSBOVUxMKSB7Ci0gICAgICAgIFB5TWVtX0ZyZWUoc2VsZi0+YnVmKTsKLSAgICAgICAgc2VsZi0+YnVmID0gTlVMTDsKLSAgICB9CisgICAgUHlfQ0xFQVIoc2VsZi0+YnVmKTsKICAgICBQeV9SRVRVUk5fTk9ORTsKIH0KIApAQCAtNzkxLDEwICs4NDUsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgImRlYWxsb2NhdGVkIEJ5dGVzSU8gb2JqZWN0IGhhcyBleHBvcnRlZCBidWZmZXJzIik7CiAgICAgICAgIFB5RXJyX1ByaW50KCk7CiAgICAgfQotICAgIGlmIChzZWxmLT5idWYgIT0gTlVMTCkgewotICAgICAgICBQeU1lbV9GcmVlKHNlbGYtPmJ1Zik7Ci0gICAgICAgIHNlbGYtPmJ1ZiA9IE5VTEw7Ci0gICAgfQorICAgIFB5X0NMRUFSKHNlbGYtPmJ1Zik7CiAgICAgUHlfQ0xFQVIoc2VsZi0+ZGljdCk7CiAgICAgaWYgKHNlbGYtPndlYWtyZWZsaXN0ICE9IE5VTEwpCiAgICAgICAgIFB5T2JqZWN0X0NsZWFyV2Vha1JlZnMoKFB5T2JqZWN0ICopIHNlbGYpOwpAQCAtODE0LDcgKzg2NSw3IEBACiAgICAgLyogdHBfYWxsb2MgaW5pdGlhbGl6ZXMgYWxsIHRoZSBmaWVsZHMgdG8gemVyby4gU28gd2UgZG9uJ3QgaGF2ZSB0bwogICAgICAgIGluaXRpYWxpemUgdGhlbSBoZXJlLiAqLwogCi0gICAgc2VsZi0+YnVmID0gKGNoYXIgKilQeU1lbV9NYWxsb2MoMCk7CisgICAgc2VsZi0+YnVmID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCAwKTsKICAgICBpZiAoc2VsZi0+YnVmID09IE5VTEwpIHsKICAgICAgICAgUHlfREVDUkVGKHNlbGYpOwogICAgICAgICByZXR1cm4gUHlFcnJfTm9NZW1vcnkoKTsKQEAgLTgzNywxMyArODg4LDI2IEBACiAgICAgc2VsZi0+c3RyaW5nX3NpemUgPSAwOwogICAgIHNlbGYtPnBvcyA9IDA7CiAKKyAgICBpZiAoc2VsZi0+ZXhwb3J0cyA+IDApIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0J1ZmZlckVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgIkV4aXN0aW5nIGV4cG9ydHMgb2YgZGF0YTogb2JqZWN0IGNhbm5vdCBiZSByZS1zaXplZCIpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQogICAgIGlmIChpbml0dmFsdWUgJiYgaW5pdHZhbHVlICE9IFB5X05vbmUpIHsKLSAgICAgICAgUHlPYmplY3QgKnJlczsKLSAgICAgICAgcmVzID0gYnl0ZXNpb193cml0ZShzZWxmLCBpbml0dmFsdWUpOwotICAgICAgICBpZiAocmVzID09IE5VTEwpCi0gICAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAgIFB5X0RFQ1JFRihyZXMpOwotICAgICAgICBzZWxmLT5wb3MgPSAwOworICAgICAgICBpZiAoUHlCeXRlc19DaGVja0V4YWN0KGluaXR2YWx1ZSkpIHsKKyAgICAgICAgICAgIFB5X0lOQ1JFRihpbml0dmFsdWUpOworICAgICAgICAgICAgUHlfWERFQ1JFRihzZWxmLT5idWYpOworICAgICAgICAgICAgc2VsZi0+YnVmID0gaW5pdHZhbHVlOworICAgICAgICAgICAgc2VsZi0+c3RyaW5nX3NpemUgPSBQeUJ5dGVzX0dFVF9TSVpFKGluaXR2YWx1ZSk7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBQeU9iamVjdCAqcmVzOworICAgICAgICAgICAgcmVzID0gYnl0ZXNpb193cml0ZShzZWxmLCBpbml0dmFsdWUpOworICAgICAgICAgICAgaWYgKHJlcyA9PSBOVUxMKQorICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihyZXMpOworICAgICAgICAgICAgc2VsZi0+cG9zID0gMDsKKyAgICAgICAgfQogICAgIH0KIAogICAgIHJldHVybiAwOwpAQCAtODU1LDggKzkxOSw4IEBACiAgICAgUHlfc3NpemVfdCByZXM7CiAKICAgICByZXMgPSBzaXplb2YoYnl0ZXNpbyk7Ci0gICAgaWYgKHNlbGYtPmJ1ZikKLSAgICAgICAgcmVzICs9IHNlbGYtPmJ1Zl9zaXplOworICAgIGlmIChzZWxmLT5idWYgJiYgIVNIQVJFRF9CVUYoc2VsZikpCisgICAgICAgIHJlcyArPSBfUHlTeXNfR2V0U2l6ZU9mKHNlbGYtPmJ1Zik7CiAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tU3NpemVfdChyZXMpOwogfQogCkBAIC05NjQsMTggKzEwMjgsMjQgQEAKIHN0YXRpYyBpbnQKIGJ5dGVzaW9idWZfZ2V0YnVmZmVyKGJ5dGVzaW9idWYgKm9iaiwgUHlfYnVmZmVyICp2aWV3LCBpbnQgZmxhZ3MpCiB7Ci0gICAgaW50IHJldDsKICAgICBieXRlc2lvICpiID0gKGJ5dGVzaW8gKikgb2JqLT5zb3VyY2U7CisKICAgICBpZiAodmlldyA9PSBOVUxMKSB7Ci0gICAgICAgIGItPmV4cG9ydHMrKzsKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19CdWZmZXJFcnJvciwKKyAgICAgICAgICAgICJieXRlc2lvYnVmX2dldGJ1ZmZlcjogdmlldz09TlVMTCBhcmd1bWVudCBpcyBvYnNvbGV0ZSIpOworICAgICAgICByZXR1cm4gLTE7CiAgICAgfQotICAgIHJldCA9IFB5QnVmZmVyX0ZpbGxJbmZvKHZpZXcsIChQeU9iamVjdCopb2JqLCBiLT5idWYsIGItPnN0cmluZ19zaXplLAorICAgIGlmIChTSEFSRURfQlVGKGIpKSB7CisgICAgICAgIGlmICh1bnNoYXJlX2J1ZmZlcihiLCBiLT5zdHJpbmdfc2l6ZSkgPCAwKQorICAgICAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKworICAgIC8qIGNhbm5vdCBmYWlsIGlmIHZpZXcgIT0gTlVMTCBhbmQgcmVhZG9ubHkgPT0gMCAqLworICAgICh2b2lkKVB5QnVmZmVyX0ZpbGxJbmZvKHZpZXcsIChQeU9iamVjdCopb2JqLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5Qnl0ZXNfQVNfU1RSSU5HKGItPmJ1ZiksIGItPnN0cmluZ19zaXplLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIGZsYWdzKTsKLSAgICBpZiAocmV0ID49IDApIHsKLSAgICAgICAgYi0+ZXhwb3J0cysrOwotICAgIH0KLSAgICByZXR1cm4gcmV0OworICAgIGItPmV4cG9ydHMrKzsKKyAgICByZXR1cm4gMDsKIH0KIAogc3RhdGljIHZvaWQKZGlmZiAtLWdpdCBhL01vZHVsZXMvX2lvL2ZpbGVpby5jIGIvTW9kdWxlcy9faW8vZmlsZWlvLmMKaW5kZXggYTJiMjUzYi4uMjQzNTUxMyAxMDA2NDQKLS0tIGEvTW9kdWxlcy9faW8vZmlsZWlvLmMKKysrIGIvTW9kdWxlcy9faW8vZmlsZWlvLmMKQEAgLTUzLDYgKzUzLDcgQEAKICAgICBzaWduZWQgaW50IHNlZWthYmxlIDogMjsgLyogLTEgbWVhbnMgdW5rbm93biAqLwogICAgIHVuc2lnbmVkIGludCBjbG9zZWZkIDogMTsKICAgICBjaGFyIGZpbmFsaXppbmc7CisgICAgdW5zaWduZWQgaW50IGJsa3NpemU7CiAgICAgUHlPYmplY3QgKndlYWtyZWZsaXN0OwogICAgIFB5T2JqZWN0ICpkaWN0OwogfSBmaWxlaW87CkBAIC0xNjEsNiArMTYyLDcgQEAKICAgICAgICAgc2VsZi0+d3JpdGFibGUgPSAwOwogICAgICAgICBzZWxmLT5hcHBlbmRpbmcgPSAwOwogICAgICAgICBzZWxmLT5zZWVrYWJsZSA9IC0xOworICAgICAgICBzZWxmLT5ibGtzaXplID0gMDsKICAgICAgICAgc2VsZi0+Y2xvc2VmZCA9IDE7CiAgICAgICAgIHNlbGYtPndlYWtyZWZsaXN0ID0gTlVMTDsKICAgICB9CkBAIC0xNjgsMjYgKzE3MCw2IEBACiAgICAgcmV0dXJuIChQeU9iamVjdCAqKSBzZWxmOwogfQogCi0vKiBPbiBVbml4LCBvcGVuIHdpbGwgc3VjY2VlZCBmb3IgZGlyZWN0b3JpZXMuCi0gICBJbiBQeXRob24sIHRoZXJlIHNob3VsZCBiZSBubyBmaWxlIG9iamVjdHMgcmVmZXJyaW5nIHRvCi0gICBkaXJlY3Rvcmllcywgc28gd2UgbmVlZCBhIGNoZWNrLiAgKi8KLQotc3RhdGljIGludAotZGlyY2hlY2soZmlsZWlvKiBzZWxmLCBQeU9iamVjdCAqbmFtZW9iaikKLXsKLSNpZiBkZWZpbmVkKEhBVkVfRlNUQVQpICYmIGRlZmluZWQoU19JU0RJUikgJiYgZGVmaW5lZChFSVNESVIpCi0gICAgc3RydWN0IHN0YXQgYnVmOwotICAgIGlmIChzZWxmLT5mZCA8IDApCi0gICAgICAgIHJldHVybiAwOwotICAgIGlmIChmc3RhdChzZWxmLT5mZCwgJmJ1ZikgPT0gMCAmJiBTX0lTRElSKGJ1Zi5zdF9tb2RlKSkgewotICAgICAgICBlcnJubyA9IEVJU0RJUjsKLSAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vV2l0aEZpbGVuYW1lT2JqZWN0KFB5RXhjX0lPRXJyb3IsIG5hbWVvYmopOwotICAgICAgICByZXR1cm4gLTE7Ci0gICAgfQotI2VuZGlmCi0gICAgcmV0dXJuIDA7Ci19Ci0KIHN0YXRpYyBpbnQKIGNoZWNrX2ZkKGludCBmZCkKIHsKQEAgLTIzMyw2ICsyMTUsMTAgQEAKICNlbGlmICFkZWZpbmVkKE1TX1dJTkRPV1MpCiAgICAgaW50ICphdG9taWNfZmxhZ193b3JrcyA9IE5VTEw7CiAjZW5kaWYKKyNpZmRlZiBIQVZFX0ZTVEFUCisgICAgc3RydWN0IHN0YXQgZmRmc3RhdDsKKyNlbmRpZgorICAgIGludCBhc3luY19lcnIgPSAwOwogCiAgICAgYXNzZXJ0KFB5RmlsZUlPX0NoZWNrKG9zZWxmKSk7CiAgICAgaWYgKHNlbGYtPmZkID49IDApIHsKQEAgLTI3MSw3ICsyNTcsNyBAQAogICAgICAgICBpbnQgcnYgPSBfUHlVbmljb2RlX0hhc05VTENoYXJzKG5hbWVvYmopOwogICAgICAgICBpZiAocnYpIHsKICAgICAgICAgICAgIGlmIChydiAhPSAtMSkKLSAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAiZW1iZWRkZWQgTlVMIGNoYXJhY3RlciIpOworICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAiZW1iZWRkZWQgbnVsbCBjaGFyYWN0ZXIiKTsKICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgfQogICAgICAgICB3aWRlbmFtZSA9IFB5VW5pY29kZV9Bc1VuaWNvZGUobmFtZW9iaik7CkBAIC0zNzUsMTUgKzM2MSwxOCBAQAogCiAgICAgICAgIGVycm5vID0gMDsKICAgICAgICAgaWYgKG9wZW5lciA9PSBQeV9Ob25lKSB7Ci0gICAgICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgICAgICAgICBkbyB7CisgICAgICAgICAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwogI2lmZGVmIE1TX1dJTkRPV1MKLSAgICAgICAgICAgIGlmICh3aWRlbmFtZSAhPSBOVUxMKQotICAgICAgICAgICAgICAgIHNlbGYtPmZkID0gX3dvcGVuKHdpZGVuYW1lLCBmbGFncywgMDY2Nik7Ci0gICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgaWYgKHdpZGVuYW1lICE9IE5VTEwpCisgICAgICAgICAgICAgICAgICAgIHNlbGYtPmZkID0gX3dvcGVuKHdpZGVuYW1lLCBmbGFncywgMDY2Nik7CisgICAgICAgICAgICAgICAgZWxzZQogI2VuZGlmCi0gICAgICAgICAgICAgICAgc2VsZi0+ZmQgPSBvcGVuKG5hbWUsIGZsYWdzLCAwNjY2KTsKKyAgICAgICAgICAgICAgICAgICAgc2VsZi0+ZmQgPSBvcGVuKG5hbWUsIGZsYWdzLCAwNjY2KTsKIAotICAgICAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgICAgICAgICAgfSB3aGlsZSAoc2VsZi0+ZmQgPCAwICYmIGVycm5vID09IEVJTlRSICYmCisgICAgICAgICAgICAgICAgICAgICAhKGFzeW5jX2VyciA9IFB5RXJyX0NoZWNrU2lnbmFscygpKSk7CiAgICAgICAgIH0KICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICBQeU9iamVjdCAqZmRvYmo7CkBAIC00MTIsNyArNDAxLDggQEAKIAogICAgICAgICBmZF9pc19vd24gPSAxOwogICAgICAgICBpZiAoc2VsZi0+ZmQgPCAwKSB7Ci0gICAgICAgICAgICBQeUVycl9TZXRGcm9tRXJybm9XaXRoRmlsZW5hbWVPYmplY3QoUHlFeGNfT1NFcnJvciwgbmFtZW9iaik7CisgICAgICAgICAgICBpZiAoIWFzeW5jX2VycikKKyAgICAgICAgICAgICAgICBQeUVycl9TZXRGcm9tRXJybm9XaXRoRmlsZW5hbWVPYmplY3QoUHlFeGNfT1NFcnJvciwgbmFtZW9iaik7CiAgICAgICAgICAgICBnb3RvIGVycm9yOwogICAgICAgICB9CiAKQEAgLTQyMSw4ICs0MTEsMjYgQEAKICAgICAgICAgICAgIGdvdG8gZXJyb3I7CiAjZW5kaWYKICAgICB9Ci0gICAgaWYgKGRpcmNoZWNrKHNlbGYsIG5hbWVvYmopIDwgMCkKKworICAgIHNlbGYtPmJsa3NpemUgPSBERUZBVUxUX0JVRkZFUl9TSVpFOworI2lmZGVmIEhBVkVfRlNUQVQKKyAgICBpZiAoZnN0YXQoc2VsZi0+ZmQsICZmZGZzdGF0KSA8IDApCiAgICAgICAgIGdvdG8gZXJyb3I7CisjaWYgZGVmaW5lZChTX0lTRElSKSAmJiBkZWZpbmVkKEVJU0RJUikKKyAgICAvKiBPbiBVbml4LCBvcGVuIHdpbGwgc3VjY2VlZCBmb3IgZGlyZWN0b3JpZXMuCisgICAgICAgSW4gUHl0aG9uLCB0aGVyZSBzaG91bGQgYmUgbm8gZmlsZSBvYmplY3RzIHJlZmVycmluZyB0bworICAgICAgIGRpcmVjdG9yaWVzLCBzbyB3ZSBuZWVkIGEgY2hlY2suICAqLworICAgIGlmIChTX0lTRElSKGZkZnN0YXQuc3RfbW9kZSkpIHsKKyAgICAgICAgZXJybm8gPSBFSVNESVI7CisgICAgICAgIFB5RXJyX1NldEZyb21FcnJub1dpdGhGaWxlbmFtZU9iamVjdChQeUV4Y19JT0Vycm9yLCBuYW1lb2JqKTsKKyAgICAgICAgZ290byBlcnJvcjsKKyAgICB9CisjZW5kaWYgLyogZGVmaW5lZChTX0lTRElSKSAqLworI2lmZGVmIEhBVkVfU1RSVUNUX1NUQVRfU1RfQkxLU0laRQorICAgIGlmIChmZGZzdGF0LnN0X2Jsa3NpemUgPiAxKQorICAgICAgICBzZWxmLT5ibGtzaXplID0gZmRmc3RhdC5zdF9ibGtzaXplOworI2VuZGlmIC8qIEhBVkVfU1RSVUNUX1NUQVRfU1RfQkxLU0laRSAqLworI2VuZGlmIC8qIEhBVkVfRlNUQVQgKi8KIAogI2lmIGRlZmluZWQoTVNfV0lORE9XUykgfHwgZGVmaW5lZChfX0NZR1dJTl9fKQogICAgIC8qIGRvbid0IHRyYW5zbGF0ZSBuZXdsaW5lcyAoXHJcbiA8PT4gXG4pICovCkBAIC01NDcsNyArNTU1LDcgQEAKIHsKICAgICBQeV9idWZmZXIgcGJ1ZjsKICAgICBQeV9zc2l6ZV90IG4sIGxlbjsKLSAgICBpbnQgZXJyOworICAgIGludCBlcnIsIGFzeW5jX2VyciA9IDA7CiAKICAgICBpZiAoc2VsZi0+ZmQgPCAwKQogICAgICAgICByZXR1cm4gZXJyX2Nsb3NlZCgpOwpAQCAtNTU5LDE2ICs1NjcsMTkgQEAKIAogICAgIGlmIChfUHlWZXJpZnlfZmQoc2VsZi0+ZmQpKSB7CiAgICAgICAgIGxlbiA9IHBidWYubGVuOwotICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgICAgIGVycm5vID0gMDsKKyAgICAgICAgZG8geworICAgICAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgICAgICAgICAgZXJybm8gPSAwOwogI2lmZGVmIE1TX1dJTkRPV1MKLSAgICAgICAgaWYgKGxlbiA+IElOVF9NQVgpCi0gICAgICAgICAgICBsZW4gPSBJTlRfTUFYOwotICAgICAgICBuID0gcmVhZChzZWxmLT5mZCwgcGJ1Zi5idWYsIChpbnQpbGVuKTsKKyAgICAgICAgICAgIGlmIChsZW4gPiBJTlRfTUFYKQorICAgICAgICAgICAgICAgIGxlbiA9IElOVF9NQVg7CisgICAgICAgICAgICBuID0gcmVhZChzZWxmLT5mZCwgcGJ1Zi5idWYsIChpbnQpbGVuKTsKICNlbHNlCi0gICAgICAgIG4gPSByZWFkKHNlbGYtPmZkLCBwYnVmLmJ1ZiwgbGVuKTsKKyAgICAgICAgICAgIG4gPSByZWFkKHNlbGYtPmZkLCBwYnVmLmJ1ZiwgbGVuKTsKICNlbmRpZgotICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgICAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgfSB3aGlsZSAobiA8IDAgJiYgZXJybm8gPT0gRUlOVFIgJiYKKyAgICAgICAgICAgICAgICAgIShhc3luY19lcnIgPSBQeUVycl9DaGVja1NpZ25hbHMoKSkpOwogICAgIH0gZWxzZQogICAgICAgICBuID0gLTE7CiAgICAgZXJyID0gZXJybm87CkBAIC01NzcsNyArNTg4LDggQEAKICAgICAgICAgaWYgKGVyciA9PSBFQUdBSU4pCiAgICAgICAgICAgICBQeV9SRVRVUk5fTk9ORTsKICAgICAgICAgZXJybm8gPSBlcnI7Ci0gICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19JT0Vycm9yKTsKKyAgICAgICAgaWYgKCFhc3luY19lcnIpCisgICAgICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfSU9FcnJvcik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIApAQCAtNjI0LDYgKzYzNiw3IEBACiAgICAgUHlfc3NpemVfdCBieXRlc19yZWFkID0gMDsKICAgICBQeV9zc2l6ZV90IG47CiAgICAgc2l6ZV90IGJ1ZnNpemU7CisgICAgaW50IGFzeW5jX2VyciA9IDA7CiAKICAgICBpZiAoc2VsZi0+ZmQgPCAwKQogICAgICAgICByZXR1cm4gZXJyX2Nsb3NlZCgpOwpAQCAtNjcwLDI3ICs2ODMsMjMgQEAKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KLSAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgICAgICBlcnJubyA9IDA7Ci0gICAgICAgIG4gPSBidWZzaXplIC0gYnl0ZXNfcmVhZDsKKyAgICAgICAgZG8geworICAgICAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgICAgICAgICAgZXJybm8gPSAwOworICAgICAgICAgICAgbiA9IGJ1ZnNpemUgLSBieXRlc19yZWFkOwogI2lmZGVmIE1TX1dJTkRPV1MKLSAgICAgICAgaWYgKG4gPiBJTlRfTUFYKQotICAgICAgICAgICAgbiA9IElOVF9NQVg7Ci0gICAgICAgIG4gPSByZWFkKHNlbGYtPmZkLCBQeUJ5dGVzX0FTX1NUUklORyhyZXN1bHQpICsgYnl0ZXNfcmVhZCwgKGludCluKTsKKyAgICAgICAgICAgIGlmIChuID4gSU5UX01BWCkKKyAgICAgICAgICAgICAgICBuID0gSU5UX01BWDsKKyAgICAgICAgICAgIG4gPSByZWFkKHNlbGYtPmZkLCBQeUJ5dGVzX0FTX1NUUklORyhyZXN1bHQpICsgYnl0ZXNfcmVhZCwgKGludCluKTsKICNlbHNlCi0gICAgICAgIG4gPSByZWFkKHNlbGYtPmZkLCBQeUJ5dGVzX0FTX1NUUklORyhyZXN1bHQpICsgYnl0ZXNfcmVhZCwgbik7CisgICAgICAgICAgICBuID0gcmVhZChzZWxmLT5mZCwgUHlCeXRlc19BU19TVFJJTkcocmVzdWx0KSArIGJ5dGVzX3JlYWQsIG4pOwogI2VuZGlmCi0gICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgICAgICB9IHdoaWxlIChuIDwgMCAmJiBlcnJubyA9PSBFSU5UUiAmJgorICAgICAgICAgICAgICAgICAhKGFzeW5jX2VyciA9IFB5RXJyX0NoZWNrU2lnbmFscygpKSk7CiAgICAgICAgIGlmIChuID09IDApCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgaWYgKG4gPCAwKSB7Ci0gICAgICAgICAgICBpZiAoZXJybm8gPT0gRUlOVFIpIHsKLSAgICAgICAgICAgICAgICBpZiAoUHlFcnJfQ2hlY2tTaWduYWxzKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHJlc3VsdCk7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlmIChlcnJubyA9PSBFQUdBSU4pIHsKICAgICAgICAgICAgICAgICBpZiAoYnl0ZXNfcmVhZCA+IDApCiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtNjk4LDcgKzcwNyw4IEBACiAgICAgICAgICAgICAgICAgUHlfUkVUVVJOX05PTkU7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBQeV9ERUNSRUYocmVzdWx0KTsKLSAgICAgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19JT0Vycm9yKTsKKyAgICAgICAgICAgIGlmICghYXN5bmNfZXJyKQorICAgICAgICAgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19JT0Vycm9yKTsKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICB9CiAgICAgICAgIGJ5dGVzX3JlYWQgKz0gbjsKQEAgLTcyMCw2ICs3MzAsNyBAQAogICAgIGNoYXIgKnB0cjsKICAgICBQeV9zc2l6ZV90IG47CiAgICAgUHlfc3NpemVfdCBzaXplID0gLTE7CisgICAgaW50IGFzeW5jX2VyciA9IDA7CiAgICAgUHlPYmplY3QgKmJ5dGVzOwogCiAgICAgaWYgKHNlbGYtPmZkIDwgMCkKQEAgLTc0NCwxNCArNzU1LDE3IEBACiAgICAgcHRyID0gUHlCeXRlc19BU19TVFJJTkcoYnl0ZXMpOwogCiAgICAgaWYgKF9QeVZlcmlmeV9mZChzZWxmLT5mZCkpIHsKLSAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgICAgICBlcnJubyA9IDA7CisgICAgICAgIGRvIHsKKyAgICAgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgICAgIGVycm5vID0gMDsKICNpZmRlZiBNU19XSU5ET1dTCi0gICAgICAgIG4gPSByZWFkKHNlbGYtPmZkLCBwdHIsIChpbnQpc2l6ZSk7CisgICAgICAgICAgICBuID0gcmVhZChzZWxmLT5mZCwgcHRyLCAoaW50KXNpemUpOwogI2Vsc2UKLSAgICAgICAgbiA9IHJlYWQoc2VsZi0+ZmQsIHB0ciwgc2l6ZSk7CisgICAgICAgICAgICBuID0gcmVhZChzZWxmLT5mZCwgcHRyLCBzaXplKTsKICNlbmRpZgotICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgICAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgfSB3aGlsZSAobiA8IDAgJiYgZXJybm8gPT0gRUlOVFIgJiYKKyAgICAgICAgICAgICAgICAgIShhc3luY19lcnIgPSBQeUVycl9DaGVja1NpZ25hbHMoKSkpOwogICAgIH0gZWxzZQogICAgICAgICBuID0gLTE7CiAKQEAgLTc2MSw3ICs3NzUsOCBAQAogICAgICAgICBpZiAoZXJyID09IEVBR0FJTikKICAgICAgICAgICAgIFB5X1JFVFVSTl9OT05FOwogICAgICAgICBlcnJubyA9IGVycjsKLSAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX0lPRXJyb3IpOworICAgICAgICBpZiAoIWFzeW5jX2VycikKKyAgICAgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19JT0Vycm9yKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCkBAIC03ODAsNyArNzk1LDcgQEAKIHsKICAgICBQeV9idWZmZXIgcGJ1ZjsKICAgICBQeV9zc2l6ZV90IG4sIGxlbjsKLSAgICBpbnQgZXJyOworICAgIGludCBlcnIsIGFzeW5jX2VyciA9IDA7CiAKICAgICBpZiAoc2VsZi0+ZmQgPCAwKQogICAgICAgICByZXR1cm4gZXJyX2Nsb3NlZCgpOwpAQCAtNzkxLDI0ICs4MDYsMjYgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICBpZiAoX1B5VmVyaWZ5X2ZkKHNlbGYtPmZkKSkgewotICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgICAgIGVycm5vID0gMDsKLSAgICAgICAgbGVuID0gcGJ1Zi5sZW47CisgICAgICAgIGRvIHsKKyAgICAgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgICAgIGVycm5vID0gMDsKKyAgICAgICAgICAgIGxlbiA9IHBidWYubGVuOwogI2lmZGVmIE1TX1dJTkRPV1MKLSAgICAgICAgaWYgKGxlbiA+IDMyNzY3ICYmIGlzYXR0eShzZWxmLT5mZCkpIHsKLSAgICAgICAgICAgIC8qIElzc3VlICMxMTM5NTogdGhlIFdpbmRvd3MgY29uc29sZSByZXR1cm5zIGFuIGVycm9yICgxMjogbm90Ci0gICAgICAgICAgICAgICBlbm91Z2ggc3BhY2UgZXJyb3IpIG9uIHdyaXRpbmcgaW50byBzdGRvdXQgaWYgc3Rkb3V0IG1vZGUgaXMKLSAgICAgICAgICAgICAgIGJpbmFyeSBhbmQgdGhlIGxlbmd0aCBpcyBncmVhdGVyIHRoYW4gNjYsMDAwIGJ5dGVzIChvciBsZXNzLAotICAgICAgICAgICAgICAgZGVwZW5kaW5nIG9uIGhlYXAgdXNhZ2UpLiAqLwotICAgICAgICAgICAgbGVuID0gMzI3Njc7Ci0gICAgICAgIH0KLSAgICAgICAgZWxzZSBpZiAobGVuID4gSU5UX01BWCkKLSAgICAgICAgICAgIGxlbiA9IElOVF9NQVg7Ci0gICAgICAgIG4gPSB3cml0ZShzZWxmLT5mZCwgcGJ1Zi5idWYsIChpbnQpbGVuKTsKKyAgICAgICAgICAgIGlmIChsZW4gPiAzMjc2NyAmJiBpc2F0dHkoc2VsZi0+ZmQpKSB7CisgICAgICAgICAgICAgICAgLyogSXNzdWUgIzExMzk1OiB0aGUgV2luZG93cyBjb25zb2xlIHJldHVybnMgYW4gZXJyb3IgKDEyOiBub3QKKyAgICAgICAgICAgICAgICAgICBlbm91Z2ggc3BhY2UgZXJyb3IpIG9uIHdyaXRpbmcgaW50byBzdGRvdXQgaWYgc3Rkb3V0IG1vZGUgaXMKKyAgICAgICAgICAgICAgICAgICBiaW5hcnkgYW5kIHRoZSBsZW5ndGggaXMgZ3JlYXRlciB0aGFuIDY2LDAwMCBieXRlcyAob3IgbGVzcywKKyAgICAgICAgICAgICAgICAgICBkZXBlbmRpbmcgb24gaGVhcCB1c2FnZSkuICovCisgICAgICAgICAgICAgICAgbGVuID0gMzI3Njc7CisgICAgICAgICAgICB9IGVsc2UgaWYgKGxlbiA+IElOVF9NQVgpCisgICAgICAgICAgICAgICAgbGVuID0gSU5UX01BWDsKKyAgICAgICAgICAgIG4gPSB3cml0ZShzZWxmLT5mZCwgcGJ1Zi5idWYsIChpbnQpbGVuKTsKICNlbHNlCi0gICAgICAgIG4gPSB3cml0ZShzZWxmLT5mZCwgcGJ1Zi5idWYsIGxlbik7CisgICAgICAgICAgICBuID0gd3JpdGUoc2VsZi0+ZmQsIHBidWYuYnVmLCBsZW4pOwogI2VuZGlmCi0gICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgICAgICB9IHdoaWxlIChuIDwgMCAmJiBlcnJubyA9PSBFSU5UUiAmJgorICAgICAgICAgICAgICAgICAhKGFzeW5jX2VyciA9IFB5RXJyX0NoZWNrU2lnbmFscygpKSk7CiAgICAgfSBlbHNlCiAgICAgICAgIG4gPSAtMTsKICAgICBlcnIgPSBlcnJubzsKQEAgLTgxOSw3ICs4MzYsOCBAQAogICAgICAgICBpZiAoZXJyID09IEVBR0FJTikKICAgICAgICAgICAgIFB5X1JFVFVSTl9OT05FOwogICAgICAgICBlcnJubyA9IGVycjsKLSAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX0lPRXJyb3IpOworICAgICAgICBpZiAoIWFzeW5jX2VycikKKyAgICAgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19JT0Vycm9yKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCkBAIC0xMDUxLDEyICsxMDY5LDE0IEBACiAgICAgICAgICAgICBQeUVycl9DbGVhcigpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgcmVzID0gUHlVbmljb2RlX0Zyb21Gb3JtYXQoIjxfaW8uRmlsZUlPIGZkPSVkIG1vZGU9JyVzJz4iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLT5mZCwgbW9kZV9zdHJpbmcoc2VsZikpOworICAgICAgICByZXMgPSBQeVVuaWNvZGVfRnJvbUZvcm1hdCgKKyAgICAgICAgICAgICI8X2lvLkZpbGVJTyBmZD0lZCBtb2RlPSclcycgY2xvc2VmZD0lcz4iLAorICAgICAgICAgICAgc2VsZi0+ZmQsIG1vZGVfc3RyaW5nKHNlbGYpLCBzZWxmLT5jbG9zZWZkID8gIlRydWUiIDogIkZhbHNlIik7CiAgICAgfQogICAgIGVsc2UgewotICAgICAgICByZXMgPSBQeVVuaWNvZGVfRnJvbUZvcm1hdCgiPF9pby5GaWxlSU8gbmFtZT0lUiBtb2RlPSclcyc+IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZW9iaiwgbW9kZV9zdHJpbmcoc2VsZikpOworICAgICAgICByZXMgPSBQeVVuaWNvZGVfRnJvbUZvcm1hdCgKKyAgICAgICAgICAgICI8X2lvLkZpbGVJTyBuYW1lPSVSIG1vZGU9JyVzJyBjbG9zZWZkPSVzPiIsCisgICAgICAgICAgICBuYW1lb2JqLCBtb2RlX3N0cmluZyhzZWxmKSwgc2VsZi0+Y2xvc2VmZCA/ICJUcnVlIiA6ICJGYWxzZSIpOwogICAgICAgICBQeV9ERUNSRUYobmFtZW9iaik7CiAgICAgfQogICAgIHJldHVybiByZXM7CkBAIC0xMjE4LDYgKzEyMzgsNyBAQAogfTsKIAogc3RhdGljIFB5TWVtYmVyRGVmIGZpbGVpb19tZW1iZXJzW10gPSB7CisgICAgeyJfYmxrc2l6ZSIsIFRfVUlOVCwgb2Zmc2V0b2YoZmlsZWlvLCBibGtzaXplKSwgMH0sCiAgICAgeyJfZmluYWxpemluZyIsIFRfQk9PTCwgb2Zmc2V0b2YoZmlsZWlvLCBmaW5hbGl6aW5nKSwgMH0sCiAgICAge05VTEx9CiB9OwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9faW8vdGV4dGlvLmMgYi9Nb2R1bGVzL19pby90ZXh0aW8uYwppbmRleCAzZjAxOTgwLi45ZmI0ZWY5IDEwMDY0NAotLS0gYS9Nb2R1bGVzL19pby90ZXh0aW8uYworKysgYi9Nb2R1bGVzL19pby90ZXh0aW8uYwpAQCAtMjI0LDggKzIyNCw4IEBACiAgICAgUHlPYmplY3RfSEVBRAogICAgIFB5T2JqZWN0ICpkZWNvZGVyOwogICAgIFB5T2JqZWN0ICplcnJvcnM7Ci0gICAgc2lnbmVkIGludCBwZW5kaW5nY3I6IDE7Ci0gICAgc2lnbmVkIGludCB0cmFuc2xhdGU6IDE7CisgICAgdW5zaWduZWQgaW50IHBlbmRpbmdjcjogMTsKKyAgICB1bnNpZ25lZCBpbnQgdHJhbnNsYXRlOiAxOwogICAgIHVuc2lnbmVkIGludCBzZWVubmw6IDM7CiB9IG5sZGVjb2Rlcl9vYmplY3Q7CiAKQEAgLTU0Niw3ICs1NDYsNyBAQAogICAgIGlmICghUHlBcmdfUGFyc2Uoc3RhdGUsICIoT0spIiwgJmJ1ZmZlciwgJmZsYWcpKQogICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIHNlbGYtPnBlbmRpbmdjciA9IChpbnQpIGZsYWcgJiAxOworICAgIHNlbGYtPnBlbmRpbmdjciA9IChpbnQpIChmbGFnICYgMSk7CiAgICAgZmxhZyA+Pj0gMTsKIAogICAgIGlmIChzZWxmLT5kZWNvZGVyICE9IFB5X05vbmUpCkBAIC0xNDQxLDYgKzE0NDEsNyBAQAogICAgIFB5T2JqZWN0ICpkZWNfYnVmZmVyID0gTlVMTDsKICAgICBQeU9iamVjdCAqZGVjX2ZsYWdzID0gTlVMTDsKICAgICBQeU9iamVjdCAqaW5wdXRfY2h1bmsgPSBOVUxMOworICAgIFB5X2J1ZmZlciBpbnB1dF9jaHVua19idWY7CiAgICAgUHlPYmplY3QgKmRlY29kZWRfY2hhcnMsICpjaHVua19zaXplOwogICAgIFB5X3NzaXplX3QgbmJ5dGVzLCBuY2hhcnM7CiAgICAgaW50IGVvZjsKQEAgLTE0NzIsNiArMTQ3MywxNSBAQAogICAgICAgICAgICAgUHlfREVDUkVGKHN0YXRlKTsKICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgfQorCisgICAgICAgIGlmICghUHlCeXRlc19DaGVjayhkZWNfYnVmZmVyKSkgeworICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiZGVjb2RlciBnZXRzdGF0ZSgpIHNob3VsZCBoYXZlIHJldHVybmVkIGEgYnl0ZXMgIgorICAgICAgICAgICAgICAgICAgICAgICAgICJvYmplY3QsIG5vdCAnJS4yMDBzJyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgUHlfVFlQRShkZWNfYnVmZmVyKS0+dHBfbmFtZSk7CisgICAgICAgICAgICBQeV9ERUNSRUYoc3RhdGUpOworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CiAgICAgICAgIFB5X0lOQ1JFRihkZWNfYnVmZmVyKTsKICAgICAgICAgUHlfSU5DUkVGKGRlY19mbGFncyk7CiAgICAgICAgIFB5X0RFQ1JFRihzdGF0ZSk7CkBAIC0xNDg0LDIzICsxNDk0LDI0IEBACiAgICAgY2h1bmtfc2l6ZSA9IFB5TG9uZ19Gcm9tU3NpemVfdChQeV9NQVgoc2VsZi0+Y2h1bmtfc2l6ZSwgc2l6ZV9oaW50KSk7CiAgICAgaWYgKGNodW5rX3NpemUgPT0gTlVMTCkKICAgICAgICAgZ290byBmYWlsOworCiAgICAgaW5wdXRfY2h1bmsgPSBQeU9iamVjdF9DYWxsTWV0aG9kT2JqQXJncyhzZWxmLT5idWZmZXIsCiAgICAgICAgIChzZWxmLT5oYXNfcmVhZDEgPyBfUHlJT19zdHJfcmVhZDE6IF9QeUlPX3N0cl9yZWFkKSwKICAgICAgICAgY2h1bmtfc2l6ZSwgTlVMTCk7CiAgICAgUHlfREVDUkVGKGNodW5rX3NpemUpOwogICAgIGlmIChpbnB1dF9jaHVuayA9PSBOVUxMKQogICAgICAgICBnb3RvIGZhaWw7Ci0gICAgaWYgKCFQeUJ5dGVzX0NoZWNrKGlucHV0X2NodW5rKSkgeworCisgICAgaWYgKFB5T2JqZWN0X0dldEJ1ZmZlcihpbnB1dF9jaHVuaywgJmlucHV0X2NodW5rX2J1ZiwgMCkgIT0gMCkgewogICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgInVuZGVybHlpbmcgJXMoKSBzaG91bGQgaGF2ZSByZXR1cm5lZCBhIGJ5dGVzIG9iamVjdCwgIgorICAgICAgICAgICAgICAgICAgICAgInVuZGVybHlpbmcgJXMoKSBzaG91bGQgaGF2ZSByZXR1cm5lZCBhIGJ5dGVzLWxpa2Ugb2JqZWN0LCAiCiAgICAgICAgICAgICAgICAgICAgICAibm90ICclLjIwMHMnIiwgKHNlbGYtPmhhc19yZWFkMSA/ICJyZWFkMSI6ICJyZWFkIiksCiAgICAgICAgICAgICAgICAgICAgICBQeV9UWVBFKGlucHV0X2NodW5rKS0+dHBfbmFtZSk7CiAgICAgICAgIGdvdG8gZmFpbDsKICAgICB9CiAKLSAgICBuYnl0ZXMgPSBQeUJ5dGVzX1NpemUoaW5wdXRfY2h1bmspOworICAgIG5ieXRlcyA9IGlucHV0X2NodW5rX2J1Zi5sZW47CiAgICAgZW9mID0gKG5ieXRlcyA9PSAwKTsKLQogICAgIGlmIChQeV9UWVBFKHNlbGYtPmRlY29kZXIpID09ICZQeUluY3JlbWVudGFsTmV3bGluZURlY29kZXJfVHlwZSkgewogICAgICAgICBkZWNvZGVkX2NoYXJzID0gX1B5SW5jcmVtZW50YWxOZXdsaW5lRGVjb2Rlcl9kZWNvZGUoCiAgICAgICAgICAgICBzZWxmLT5kZWNvZGVyLCBpbnB1dF9jaHVuaywgZW9mKTsKQEAgLTE1MDksNiArMTUyMCw3IEBACiAgICAgICAgIGRlY29kZWRfY2hhcnMgPSBQeU9iamVjdF9DYWxsTWV0aG9kT2JqQXJncyhzZWxmLT5kZWNvZGVyLAogICAgICAgICAgICAgX1B5SU9fc3RyX2RlY29kZSwgaW5wdXRfY2h1bmssIGVvZiA/IFB5X1RydWUgOiBQeV9GYWxzZSwgTlVMTCk7CiAgICAgfQorICAgIFB5QnVmZmVyX1JlbGVhc2UoJmlucHV0X2NodW5rX2J1Zik7CiAKICAgICBpZiAoY2hlY2tfZGVjb2RlZChkZWNvZGVkX2NoYXJzKSA8IDApCiAgICAgICAgIGdvdG8gZmFpbDsKQEAgLTE1MjUsMTggKzE1MzcsMTIgQEAKICAgICAgICAgLyogQXQgdGhlIHNuYXBzaG90IHBvaW50LCBsZW4oZGVjX2J1ZmZlcikgYnl0ZXMgYmVmb3JlIHRoZSByZWFkLCB0aGUKICAgICAgICAgICogbmV4dCBpbnB1dCB0byBiZSBkZWNvZGVkIGlzIGRlY19idWZmZXIgKyBpbnB1dF9jaHVuay4KICAgICAgICAgICovCi0gICAgICAgIFB5T2JqZWN0ICpuZXh0X2lucHV0ID0gUHlOdW1iZXJfQWRkKGRlY19idWZmZXIsIGlucHV0X2NodW5rKTsKLSAgICAgICAgaWYgKG5leHRfaW5wdXQgPT0gTlVMTCkKLSAgICAgICAgICAgIGdvdG8gZmFpbDsKLSAgICAgICAgaWYgKCFQeUJ5dGVzX0NoZWNrKG5leHRfaW5wdXQpKSB7Ci0gICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICJkZWNvZGVyIGdldHN0YXRlKCkgc2hvdWxkIGhhdmUgcmV0dXJuZWQgYSBieXRlcyAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgIm9iamVjdCwgbm90ICclLjIwMHMnIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICBQeV9UWVBFKG5leHRfaW5wdXQpLT50cF9uYW1lKTsKLSAgICAgICAgICAgIFB5X0RFQ1JFRihuZXh0X2lucHV0KTsKKyAgICAgICAgUHlPYmplY3QgKm5leHRfaW5wdXQgPSBkZWNfYnVmZmVyOworICAgICAgICBQeUJ5dGVzX0NvbmNhdCgmbmV4dF9pbnB1dCwgaW5wdXRfY2h1bmspOworICAgICAgICBpZiAobmV4dF9pbnB1dCA9PSBOVUxMKSB7CisgICAgICAgICAgICBkZWNfYnVmZmVyID0gTlVMTDsgLyogUmVmZXJlbmNlIGxvc3QgdG8gUHlCeXRlc19Db25jYXQgKi8KICAgICAgICAgICAgIGdvdG8gZmFpbDsKICAgICAgICAgfQotICAgICAgICBQeV9ERUNSRUYoZGVjX2J1ZmZlcik7CiAgICAgICAgIFB5X0NMRUFSKHNlbGYtPnNuYXBzaG90KTsKICAgICAgICAgc2VsZi0+c25hcHNob3QgPSBQeV9CdWlsZFZhbHVlKCJOTiIsIGRlY19mbGFncywgbmV4dF9pbnB1dCk7CiAgICAgfQpAQCAtMTcyNSw3ICsxNzMxLDcgQEAKICAgICBlbHNlIHsKICAgICAgICAgLyogTm9uLXVuaXZlcnNhbCBtb2RlLiAqLwogICAgICAgICBQeV9zc2l6ZV90IHJlYWRubF9sZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChyZWFkbmwpOwotICAgICAgICBjaGFyICpubCA9IFB5VW5pY29kZV9EQVRBKHJlYWRubCk7CisgICAgICAgIFB5X1VDUzEgKm5sID0gUHlVbmljb2RlXzFCWVRFX0RBVEEocmVhZG5sKTsKICAgICAgICAgLyogQXNzdW1lIHRoYXQgcmVhZG5sIGlzIGFuIEFTQ0lJIGNoYXJhY3Rlci4gKi8KICAgICAgICAgYXNzZXJ0KFB5VW5pY29kZV9LSU5EKHJlYWRubCkgPT0gUHlVbmljb2RlXzFCWVRFX0tJTkQpOwogICAgICAgICBpZiAocmVhZG5sX2xlbiA9PSAxKSB7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL19qc29uLmMgYi9Nb2R1bGVzL19qc29uLmMKaW5kZXggZjUyM2FhYi4uMDMxNDcxZSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fanNvbi5jCisrKyBiL01vZHVsZXMvX2pzb24uYwpAQCAtNDcsNyArNDcsNyBAQAogICAgIFB5T2JqZWN0ICppdGVtX3NlcGFyYXRvcjsKICAgICBQeU9iamVjdCAqc29ydF9rZXlzOwogICAgIFB5T2JqZWN0ICpza2lwa2V5czsKLSAgICBpbnQgZmFzdF9lbmNvZGU7CisgICAgUHlDRnVuY3Rpb24gZmFzdF9lbmNvZGU7CiAgICAgaW50IGFsbG93X25hbjsKIH0gUHlFbmNvZGVyT2JqZWN0OwogCkBAIC0yMjUsMjYgKzIyNSwxMTYgQEAKICAgICByZXR1cm4gcnZhbDsKIH0KIAorc3RhdGljIFB5T2JqZWN0ICoKK2VzY2FwZV91bmljb2RlKFB5T2JqZWN0ICpweXN0cikKK3sKKyAgICAvKiBUYWtlIGEgUHlVbmljb2RlIHB5c3RyIGFuZCByZXR1cm4gYSBuZXcgZXNjYXBlZCBQeVVuaWNvZGUgKi8KKyAgICBQeV9zc2l6ZV90IGk7CisgICAgUHlfc3NpemVfdCBpbnB1dF9jaGFyczsKKyAgICBQeV9zc2l6ZV90IG91dHB1dF9zaXplOworICAgIFB5X3NzaXplX3QgY2hhcnM7CisgICAgUHlPYmplY3QgKnJ2YWw7CisgICAgdm9pZCAqaW5wdXQ7CisgICAgaW50IGtpbmQ7CisgICAgUHlfVUNTNCBtYXhjaGFyOworCisgICAgaWYgKFB5VW5pY29kZV9SRUFEWShweXN0cikgPT0gLTEpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgbWF4Y2hhciA9IFB5VW5pY29kZV9NQVhfQ0hBUl9WQUxVRShweXN0cik7CisgICAgaW5wdXRfY2hhcnMgPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChweXN0cik7CisgICAgaW5wdXQgPSBQeVVuaWNvZGVfREFUQShweXN0cik7CisgICAga2luZCA9IFB5VW5pY29kZV9LSU5EKHB5c3RyKTsKKworICAgIC8qIENvbXB1dGUgdGhlIG91dHB1dCBzaXplICovCisgICAgZm9yIChpID0gMCwgb3V0cHV0X3NpemUgPSAyOyBpIDwgaW5wdXRfY2hhcnM7IGkrKykgeworICAgICAgICBQeV9VQ1M0IGMgPSBQeVVuaWNvZGVfUkVBRChraW5kLCBpbnB1dCwgaSk7CisgICAgICAgIHN3aXRjaCAoYykgeworICAgICAgICBjYXNlICdcXCc6IGNhc2UgJyInOiBjYXNlICdcYic6IGNhc2UgJ1xmJzoKKyAgICAgICAgY2FzZSAnXG4nOiBjYXNlICdccic6IGNhc2UgJ1x0JzoKKyAgICAgICAgICAgIG91dHB1dF9zaXplICs9IDI7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGlmIChjIDw9IDB4MWYpCisgICAgICAgICAgICAgICAgb3V0cHV0X3NpemUgKz0gNjsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBvdXRwdXRfc2l6ZSsrOworICAgICAgICB9CisgICAgfQorCisgICAgcnZhbCA9IFB5VW5pY29kZV9OZXcob3V0cHV0X3NpemUsIG1heGNoYXIpOworICAgIGlmIChydmFsID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAga2luZCA9IFB5VW5pY29kZV9LSU5EKHJ2YWwpOworCisjZGVmaW5lIEVOQ09ERV9PVVRQVVQgZG8geyBcCisgICAgICAgIGNoYXJzID0gMDsgXAorICAgICAgICBvdXRwdXRbY2hhcnMrK10gPSAnIic7IFwKKyAgICAgICAgZm9yIChpID0gMDsgaSA8IGlucHV0X2NoYXJzOyBpKyspIHsgXAorICAgICAgICAgICAgUHlfVUNTNCBjID0gUHlVbmljb2RlX1JFQUQoa2luZCwgaW5wdXQsIGkpOyBcCisgICAgICAgICAgICBzd2l0Y2ggKGMpIHsgXAorICAgICAgICAgICAgY2FzZSAnXFwnOiBvdXRwdXRbY2hhcnMrK10gPSAnXFwnOyBvdXRwdXRbY2hhcnMrK10gPSBjOyBicmVhazsgXAorICAgICAgICAgICAgY2FzZSAnIic6ICBvdXRwdXRbY2hhcnMrK10gPSAnXFwnOyBvdXRwdXRbY2hhcnMrK10gPSBjOyBicmVhazsgXAorICAgICAgICAgICAgY2FzZSAnXGInOiBvdXRwdXRbY2hhcnMrK10gPSAnXFwnOyBvdXRwdXRbY2hhcnMrK10gPSAnYic7IGJyZWFrOyBcCisgICAgICAgICAgICBjYXNlICdcZic6IG91dHB1dFtjaGFycysrXSA9ICdcXCc7IG91dHB1dFtjaGFycysrXSA9ICdmJzsgYnJlYWs7IFwKKyAgICAgICAgICAgIGNhc2UgJ1xuJzogb3V0cHV0W2NoYXJzKytdID0gJ1xcJzsgb3V0cHV0W2NoYXJzKytdID0gJ24nOyBicmVhazsgXAorICAgICAgICAgICAgY2FzZSAnXHInOiBvdXRwdXRbY2hhcnMrK10gPSAnXFwnOyBvdXRwdXRbY2hhcnMrK10gPSAncic7IGJyZWFrOyBcCisgICAgICAgICAgICBjYXNlICdcdCc6IG91dHB1dFtjaGFycysrXSA9ICdcXCc7IG91dHB1dFtjaGFycysrXSA9ICd0JzsgYnJlYWs7IFwKKyAgICAgICAgICAgIGRlZmF1bHQ6IFwKKyAgICAgICAgICAgICAgICBpZiAoYyA8PSAweDFmKSB7IFwKKyAgICAgICAgICAgICAgICAgICAgb3V0cHV0W2NoYXJzKytdID0gJ1xcJzsgXAorICAgICAgICAgICAgICAgICAgICBvdXRwdXRbY2hhcnMrK10gPSAndSc7IFwKKyAgICAgICAgICAgICAgICAgICAgb3V0cHV0W2NoYXJzKytdID0gJzAnOyBcCisgICAgICAgICAgICAgICAgICAgIG91dHB1dFtjaGFycysrXSA9ICcwJzsgXAorICAgICAgICAgICAgICAgICAgICBvdXRwdXRbY2hhcnMrK10gPSBQeV9oZXhkaWdpdHNbKGMgPj4gNCkgJiAweGZdOyBcCisgICAgICAgICAgICAgICAgICAgIG91dHB1dFtjaGFycysrXSA9IFB5X2hleGRpZ2l0c1soYyAgICAgKSAmIDB4Zl07IFwKKyAgICAgICAgICAgICAgICB9IGVsc2UgeyBcCisgICAgICAgICAgICAgICAgICAgIG91dHB1dFtjaGFycysrXSA9IGM7IFwKKyAgICAgICAgICAgICAgICB9IFwKKyAgICAgICAgICAgIH0gXAorICAgICAgICB9IFwKKyAgICAgICAgb3V0cHV0W2NoYXJzKytdID0gJyInOyBcCisgICAgfSB3aGlsZSAoMCkKKworICAgIGlmIChraW5kID09IFB5VW5pY29kZV8xQllURV9LSU5EKSB7CisgICAgICAgIFB5X1VDUzEgKm91dHB1dCA9IFB5VW5pY29kZV8xQllURV9EQVRBKHJ2YWwpOworICAgICAgICBFTkNPREVfT1VUUFVUOworICAgIH0gZWxzZSBpZiAoa2luZCA9PSBQeVVuaWNvZGVfMkJZVEVfS0lORCkgeworICAgICAgICBQeV9VQ1MyICpvdXRwdXQgPSBQeVVuaWNvZGVfMkJZVEVfREFUQShydmFsKTsKKyAgICAgICAgRU5DT0RFX09VVFBVVDsKKyAgICB9IGVsc2UgeworICAgICAgICBQeV9VQ1M0ICpvdXRwdXQgPSBQeVVuaWNvZGVfNEJZVEVfREFUQShydmFsKTsKKyAgICAgICAgYXNzZXJ0KGtpbmQgPT0gUHlVbmljb2RlXzRCWVRFX0tJTkQpOworICAgICAgICBFTkNPREVfT1VUUFVUOworICAgIH0KKyN1bmRlZiBFTkNPREVfT1VUUFVUCisKKyNpZmRlZiBQeV9ERUJVRworICAgIGFzc2VydChfUHlVbmljb2RlX0NoZWNrQ29uc2lzdGVuY3kocnZhbCwgMSkpOworI2VuZGlmCisgICAgcmV0dXJuIHJ2YWw7Cit9CisKIHN0YXRpYyB2b2lkCiByYWlzZV9lcnJtc2coY2hhciAqbXNnLCBQeU9iamVjdCAqcywgUHlfc3NpemVfdCBlbmQpCiB7Ci0gICAgLyogVXNlIHRoZSBQeXRob24gZnVuY3Rpb24ganNvbi5kZWNvZGVyLmVycm1zZyB0byByYWlzZSBhIG5pY2UKLSAgICBsb29raW5nIFZhbHVlRXJyb3IgZXhjZXB0aW9uICovCi0gICAgc3RhdGljIFB5T2JqZWN0ICplcnJtc2dfZm4gPSBOVUxMOwotICAgIFB5T2JqZWN0ICpweW1zZzsKLSAgICBpZiAoZXJybXNnX2ZuID09IE5VTEwpIHsKKyAgICAvKiBVc2UgSlNPTkRlY29kZUVycm9yIGV4Y2VwdGlvbiB0byByYWlzZSBhIG5pY2UgbG9va2luZyBWYWx1ZUVycm9yIHN1YmNsYXNzICovCisgICAgc3RhdGljIFB5T2JqZWN0ICpKU09ORGVjb2RlRXJyb3IgPSBOVUxMOworICAgIFB5T2JqZWN0ICpleGM7CisgICAgaWYgKEpTT05EZWNvZGVFcnJvciA9PSBOVUxMKSB7CiAgICAgICAgIFB5T2JqZWN0ICpkZWNvZGVyID0gUHlJbXBvcnRfSW1wb3J0TW9kdWxlKCJqc29uLmRlY29kZXIiKTsKICAgICAgICAgaWYgKGRlY29kZXIgPT0gTlVMTCkKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgZXJybXNnX2ZuID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhkZWNvZGVyLCAiZXJybXNnIik7CisgICAgICAgIEpTT05EZWNvZGVFcnJvciA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcoZGVjb2RlciwgIkpTT05EZWNvZGVFcnJvciIpOwogICAgICAgICBQeV9ERUNSRUYoZGVjb2Rlcik7Ci0gICAgICAgIGlmIChlcnJtc2dfZm4gPT0gTlVMTCkKKyAgICAgICAgaWYgKEpTT05EZWNvZGVFcnJvciA9PSBOVUxMKQogICAgICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBweW1zZyA9IFB5T2JqZWN0X0NhbGxGdW5jdGlvbihlcnJtc2dfZm4sICIoek9uKSIsIG1zZywgcywgZW5kKTsKLSAgICBpZiAocHltc2cpIHsKLSAgICAgICAgUHlFcnJfU2V0T2JqZWN0KFB5RXhjX1ZhbHVlRXJyb3IsIHB5bXNnKTsKLSAgICAgICAgUHlfREVDUkVGKHB5bXNnKTsKKyAgICBleGMgPSBQeU9iamVjdF9DYWxsRnVuY3Rpb24oSlNPTkRlY29kZUVycm9yLCAiKHpPbikiLCBtc2csIHMsIGVuZCk7CisgICAgaWYgKGV4YykgeworICAgICAgICBQeUVycl9TZXRPYmplY3QoSlNPTkRlY29kZUVycm9yLCBleGMpOworICAgICAgICBQeV9ERUNSRUYoZXhjKTsKICAgICB9CiB9CiAKQEAgLTUzNyw2ICs2MjcsMzEgQEAKICAgICByZXR1cm4gcnZhbDsKIH0KIAorCitQeURvY19TVFJWQVIocHlkb2NfZW5jb2RlX2Jhc2VzdHJpbmcsCisgICAgImVuY29kZV9iYXNlc3RyaW5nKHN0cmluZykgLT4gc3RyaW5nXG4iCisgICAgIlxuIgorICAgICJSZXR1cm4gYSBKU09OIHJlcHJlc2VudGF0aW9uIG9mIGEgUHl0aG9uIHN0cmluZyIKKyk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitweV9lbmNvZGVfYmFzZXN0cmluZyhQeU9iamVjdCogc2VsZiBVTlVTRUQsIFB5T2JqZWN0ICpweXN0cikKK3sKKyAgICBQeU9iamVjdCAqcnZhbDsKKyAgICAvKiBSZXR1cm4gYSBKU09OIHJlcHJlc2VudGF0aW9uIG9mIGEgUHl0aG9uIHN0cmluZyAqLworICAgIC8qIE1FVEhfTyAqLworICAgIGlmIChQeVVuaWNvZGVfQ2hlY2socHlzdHIpKSB7CisgICAgICAgIHJ2YWwgPSBlc2NhcGVfdW5pY29kZShweXN0cik7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgImZpcnN0IGFyZ3VtZW50IG11c3QgYmUgYSBzdHJpbmcsIG5vdCAlLjgwcyIsCisgICAgICAgICAgICAgICAgICAgICBQeV9UWVBFKHB5c3RyKS0+dHBfbmFtZSk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICByZXR1cm4gcnZhbDsKK30KKwogc3RhdGljIHZvaWQKIHNjYW5uZXJfZGVhbGxvYyhQeU9iamVjdCAqc2VsZikKIHsKQEAgLTEyMzAsNyArMTM0NSwxNCBAQAogICAgIHMtPml0ZW1fc2VwYXJhdG9yID0gaXRlbV9zZXBhcmF0b3I7CiAgICAgcy0+c29ydF9rZXlzID0gc29ydF9rZXlzOwogICAgIHMtPnNraXBrZXlzID0gc2tpcGtleXM7Ci0gICAgcy0+ZmFzdF9lbmNvZGUgPSAoUHlDRnVuY3Rpb25fQ2hlY2socy0+ZW5jb2RlcikgJiYgUHlDRnVuY3Rpb25fR2V0RnVuY3Rpb24ocy0+ZW5jb2RlcikgPT0gKFB5Q0Z1bmN0aW9uKXB5X2VuY29kZV9iYXNlc3RyaW5nX2FzY2lpKTsKKyAgICBzLT5mYXN0X2VuY29kZSA9IE5VTEw7CisgICAgaWYgKFB5Q0Z1bmN0aW9uX0NoZWNrKHMtPmVuY29kZXIpKSB7CisgICAgICAgIFB5Q0Z1bmN0aW9uIGYgPSBQeUNGdW5jdGlvbl9HZXRGdW5jdGlvbihzLT5lbmNvZGVyKTsKKyAgICAgICAgaWYgKGYgPT0gKFB5Q0Z1bmN0aW9uKXB5X2VuY29kZV9iYXNlc3RyaW5nX2FzY2lpIHx8CisgICAgICAgICAgICAgICAgZiA9PSAoUHlDRnVuY3Rpb24pcHlfZW5jb2RlX2Jhc2VzdHJpbmcpIHsKKyAgICAgICAgICAgIHMtPmZhc3RfZW5jb2RlID0gZjsKKyAgICAgICAgfQorICAgIH0KICAgICBzLT5hbGxvd19uYW4gPSBQeU9iamVjdF9Jc1RydWUoYWxsb3dfbmFuKTsKIAogICAgIFB5X0lOQ1JFRihzLT5tYXJrZXJzKTsKQEAgLTEzNzksNyArMTUwMSw3IEBACiB7CiAgICAgLyogUmV0dXJuIHRoZSBKU09OIHJlcHJlc2VudGF0aW9uIG9mIGEgc3RyaW5nICovCiAgICAgaWYgKHMtPmZhc3RfZW5jb2RlKQotICAgICAgICByZXR1cm4gcHlfZW5jb2RlX2Jhc2VzdHJpbmdfYXNjaWkoTlVMTCwgb2JqKTsKKyAgICAgICAgcmV0dXJuIHMtPmZhc3RfZW5jb2RlKE5VTEwsIG9iaik7CiAgICAgZWxzZQogICAgICAgICByZXR1cm4gUHlPYmplY3RfQ2FsbEZ1bmN0aW9uT2JqQXJncyhzLT5lbmNvZGVyLCBvYmosIE5VTEwpOwogfQpAQCAtMTg0Nyw2ICsxOTY5LDEwIEBACiAgICAgICAgIChQeUNGdW5jdGlvbilweV9lbmNvZGVfYmFzZXN0cmluZ19hc2NpaSwKICAgICAgICAgTUVUSF9PLAogICAgICAgICBweWRvY19lbmNvZGVfYmFzZXN0cmluZ19hc2NpaX0sCisgICAgeyJlbmNvZGVfYmFzZXN0cmluZyIsCisgICAgICAgIChQeUNGdW5jdGlvbilweV9lbmNvZGVfYmFzZXN0cmluZywKKyAgICAgICAgTUVUSF9PLAorICAgICAgICBweWRvY19lbmNvZGVfYmFzZXN0cmluZ30sCiAgICAgeyJzY2Fuc3RyaW5nIiwKICAgICAgICAgKFB5Q0Z1bmN0aW9uKXB5X3NjYW5zdHJpbmcsCiAgICAgICAgIE1FVEhfVkFSQVJHUywKZGlmZiAtLWdpdCBhL01vZHVsZXMvX2xzcHJvZi5jIGIvTW9kdWxlcy9fbHNwcm9mLmMKaW5kZXggMDEzN2Q5NS4uNjZlNTM0ZiAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fbHNwcm9mLmMKKysrIGIvTW9kdWxlcy9fbHNwcm9mLmMKQEAgLTIwMiw2ICsyMDIsOCBAQAogICAgICAgICAqLwogICAgICAgICBQeU9iamVjdCAqc2VsZiA9IGZuLT5tX3NlbGY7CiAgICAgICAgIFB5T2JqZWN0ICpuYW1lID0gUHlVbmljb2RlX0Zyb21TdHJpbmcoZm4tPm1fbWwtPm1sX25hbWUpOworICAgICAgICBQeU9iamVjdCAqbW9kbmFtZSA9IGZuLT5tX21vZHVsZTsKKwogICAgICAgICBpZiAobmFtZSAhPSBOVUxMKSB7CiAgICAgICAgICAgICBQeU9iamVjdCAqbW8gPSBfUHlUeXBlX0xvb2t1cChQeV9UWVBFKHNlbGYpLCBuYW1lKTsKICAgICAgICAgICAgIFB5X1hJTkNSRUYobW8pOwpAQCAtMjEzLDkgKzIxNSwxNCBAQAogICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzOwogICAgICAgICAgICAgfQogICAgICAgICB9CisgICAgICAgIC8qIE90aGVyd2lzZSwgdXNlIF9fbW9kdWxlX18gKi8KICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKLSAgICAgICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tRm9ybWF0KCI8YnVpbHQtaW4gbWV0aG9kICVzPiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbi0+bV9tbC0+bWxfbmFtZSk7CisgICAgICAgIGlmIChtb2RuYW1lICE9IE5VTEwgJiYgUHlVbmljb2RlX0NoZWNrKG1vZG5hbWUpKQorICAgICAgICAgICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tRm9ybWF0KCI8YnVpbHQtaW4gbWV0aG9kICVTLiVzPiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kbmFtZSwgIGZuLT5tX21sLT5tbF9uYW1lKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tRm9ybWF0KCI8YnVpbHQtaW4gbWV0aG9kICVzPiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm4tPm1fbWwtPm1sX25hbWUpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fbHptYW1vZHVsZS5jIGIvTW9kdWxlcy9fbHptYW1vZHVsZS5jCmluZGV4IGM0MzY3NmEuLmZiMTUyMzMgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX2x6bWFtb2R1bGUuYworKysgYi9Nb2R1bGVzL19sem1hbW9kdWxlLmMKQEAgLTY2LDYgKzY2LDkgQEAKICAgICBpbnQgY2hlY2s7CiAgICAgY2hhciBlb2Y7CiAgICAgUHlPYmplY3QgKnVudXNlZF9kYXRhOworICAgIGNoYXIgbmVlZHNfaW5wdXQ7CisgICAgdWludDhfdCAqaW5wdXRfYnVmZmVyOworICAgIHNpemVfdCBpbnB1dF9idWZmZXJfc2l6ZTsKICNpZmRlZiBXSVRIX1RIUkVBRAogICAgIFB5VGhyZWFkX3R5cGVfbG9jayBsb2NrOwogI2VuZGlmCkBAIC0xNDIsMTAgKzE0NSwxNSBAQAogI2VuZGlmCiAKIHN0YXRpYyBpbnQKLWdyb3dfYnVmZmVyKFB5T2JqZWN0ICoqYnVmKQorZ3Jvd19idWZmZXIoUHlPYmplY3QgKipidWYsIFB5X3NzaXplX3QgbWF4X2xlbmd0aCkKIHsKLSAgICBzaXplX3Qgc2l6ZSA9IFB5Qnl0ZXNfR0VUX1NJWkUoKmJ1Zik7Ci0gICAgcmV0dXJuIF9QeUJ5dGVzX1Jlc2l6ZShidWYsIHNpemUgKyAoc2l6ZSA+PiAzKSArIDYpOworICAgIFB5X3NzaXplX3Qgc2l6ZSA9IFB5Qnl0ZXNfR0VUX1NJWkUoKmJ1Zik7CisgICAgUHlfc3NpemVfdCBuZXdzaXplID0gc2l6ZSArIChzaXplID4+IDMpICsgNjsKKyAgICAKKyAgICBpZiAobWF4X2xlbmd0aCA+IDAgJiYgbmV3c2l6ZSA+IG1heF9sZW5ndGgpCisgICAgICAgIG5ld3NpemUgPSBtYXhfbGVuZ3RoOworICAgIAorICAgIHJldHVybiBfUHlCeXRlc19SZXNpemUoYnVmLCBuZXdzaXplKTsKIH0KIAogCkBAIC01MDQsNyArNTEyLDcgQEAKIHN0YXRpYyBQeU9iamVjdCAqCiBjb21wcmVzcyhDb21wcmVzc29yICpjLCB1aW50OF90ICpkYXRhLCBzaXplX3QgbGVuLCBsem1hX2FjdGlvbiBhY3Rpb24pCiB7Ci0gICAgc2l6ZV90IGRhdGFfc2l6ZSA9IDA7CisgICAgUHlfc3NpemVfdCBkYXRhX3NpemUgPSAwOwogICAgIFB5T2JqZWN0ICpyZXN1bHQ7CiAKICAgICByZXN1bHQgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKE5VTEwsIElOSVRJQUxfQlVGRkVSX1NJWkUpOwpAQCAtNTI3LDcgKzUzNSw3IEBACiAgICAgICAgICAgICAoYWN0aW9uID09IExaTUFfRklOSVNIICYmIGx6cmV0ID09IExaTUFfU1RSRUFNX0VORCkpIHsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9IGVsc2UgaWYgKGMtPmx6cy5hdmFpbF9vdXQgPT0gMCkgewotICAgICAgICAgICAgaWYgKGdyb3dfYnVmZmVyKCZyZXN1bHQpID09IC0xKQorICAgICAgICAgICAgaWYgKGdyb3dfYnVmZmVyKCZyZXN1bHQsIC0xKSA9PSAtMSkKICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOwogICAgICAgICAgICAgYy0+bHpzLm5leHRfb3V0ID0gKHVpbnQ4X3QgKilQeUJ5dGVzX0FTX1NUUklORyhyZXN1bHQpICsgZGF0YV9zaXplOwogICAgICAgICAgICAgYy0+bHpzLmF2YWlsX291dCA9IFB5Qnl0ZXNfR0VUX1NJWkUocmVzdWx0KSAtIGRhdGFfc2l6ZTsKQEAgLTg4OCwyNSArODk2LDMzIEBACiAKIC8qIExaTUFEZWNvbXByZXNzb3IgY2xhc3MuICovCiAKLXN0YXRpYyBQeU9iamVjdCAqCi1kZWNvbXByZXNzKERlY29tcHJlc3NvciAqZCwgdWludDhfdCAqZGF0YSwgc2l6ZV90IGxlbikKKy8qIERlY29tcHJlc3MgZGF0YSBvZiBsZW5ndGggZC0+bHpzLmF2YWlsX2luIGluIGQtPmx6cy5uZXh0X2luLiAgVGhlIG91dHB1dAorICAgYnVmZmVyIGlzIGFsbG9jYXRlZCBkeW5hbWljYWxseSBhbmQgcmV0dXJuZWQuICBBdCBtb3N0IG1heF9sZW5ndGggYnl0ZXMgYXJlCisgICByZXR1cm5lZCwgc28gc29tZSBvZiB0aGUgaW5wdXQgbWF5IG5vdCBiZSBjb25zdW1lZC4gZC0+bHpzLm5leHRfaW4gYW5kCisgICBkLT5senMuYXZhaWxfaW4gYXJlIHVwZGF0ZWQgdG8gcmVmbGVjdCB0aGUgY29uc3VtZWQgaW5wdXQuICovCitzdGF0aWMgUHlPYmplY3QqCitkZWNvbXByZXNzX2J1ZihEZWNvbXByZXNzb3IgKmQsIFB5X3NzaXplX3QgbWF4X2xlbmd0aCkKIHsKLSAgICBzaXplX3QgZGF0YV9zaXplID0gMDsKKyAgICBQeV9zc2l6ZV90IGRhdGFfc2l6ZSA9IDA7CiAgICAgUHlPYmplY3QgKnJlc3VsdDsKLQotICAgIHJlc3VsdCA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoTlVMTCwgSU5JVElBTF9CVUZGRVJfU0laRSk7CisgICAgbHptYV9zdHJlYW0gKmx6cyA9ICZkLT5senM7CisgICAgCisgICAgaWYgKG1heF9sZW5ndGggPCAwIHx8IG1heF9sZW5ndGggPj0gSU5JVElBTF9CVUZGRVJfU0laRSkKKyAgICAgICAgcmVzdWx0ID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCBJTklUSUFMX0JVRkZFUl9TSVpFKTsKKyAgICBlbHNlCisgICAgICAgIHJlc3VsdCA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoTlVMTCwgbWF4X2xlbmd0aCk7CiAgICAgaWYgKHJlc3VsdCA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBkLT5senMubmV4dF9pbiA9IGRhdGE7Ci0gICAgZC0+bHpzLmF2YWlsX2luID0gbGVuOwotICAgIGQtPmx6cy5uZXh0X291dCA9ICh1aW50OF90ICopUHlCeXRlc19BU19TVFJJTkcocmVzdWx0KTsKLSAgICBkLT5senMuYXZhaWxfb3V0ID0gUHlCeXRlc19HRVRfU0laRShyZXN1bHQpOworCisgICAgbHpzLT5uZXh0X291dCA9ICh1aW50OF90ICopUHlCeXRlc19BU19TVFJJTkcocmVzdWx0KTsKKyAgICBsenMtPmF2YWlsX291dCA9IFB5Qnl0ZXNfR0VUX1NJWkUocmVzdWx0KTsKKyAgICAKICAgICBmb3IgKDs7KSB7CiAgICAgICAgIGx6bWFfcmV0IGx6cmV0OwogCiAgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICAgICAgbHpyZXQgPSBsem1hX2NvZGUoJmQtPmx6cywgTFpNQV9SVU4pOwotICAgICAgICBkYXRhX3NpemUgPSAoY2hhciAqKWQtPmx6cy5uZXh0X291dCAtIFB5Qnl0ZXNfQVNfU1RSSU5HKHJlc3VsdCk7CisgICAgICAgIGx6cmV0ID0gbHptYV9jb2RlKGx6cywgTFpNQV9SVU4pOworICAgICAgICBkYXRhX3NpemUgPSAoY2hhciAqKWx6cy0+bmV4dF9vdXQgLSBQeUJ5dGVzX0FTX1NUUklORyhyZXN1bHQpOwogICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogICAgICAgICBpZiAoY2F0Y2hfbHptYV9lcnJvcihsenJldCkpCiAgICAgICAgICAgICBnb3RvIGVycm9yOwpAQCAtOTE0LDI2ICs5MzAsMTMxIEBACiAgICAgICAgICAgICBkLT5jaGVjayA9IGx6bWFfZ2V0X2NoZWNrKCZkLT5senMpOwogICAgICAgICBpZiAobHpyZXQgPT0gTFpNQV9TVFJFQU1fRU5EKSB7CiAgICAgICAgICAgICBkLT5lb2YgPSAxOwotICAgICAgICAgICAgaWYgKGQtPmx6cy5hdmFpbF9pbiA+IDApIHsKLSAgICAgICAgICAgICAgICBQeV9DTEVBUihkLT51bnVzZWRfZGF0YSk7Ci0gICAgICAgICAgICAgICAgZC0+dW51c2VkX2RhdGEgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKAotICAgICAgICAgICAgICAgICAgICAgICAgKGNoYXIgKilkLT5senMubmV4dF9pbiwgZC0+bHpzLmF2YWlsX2luKTsKLSAgICAgICAgICAgICAgICBpZiAoZC0+dW51c2VkX2RhdGEgPT0gTlVMTCkKLSAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKLSAgICAgICAgICAgIH0KICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9IGVsc2UgaWYgKGQtPmx6cy5hdmFpbF9pbiA9PSAwKSB7CisgICAgICAgIH0gZWxzZSBpZiAobHpzLT5hdmFpbF9pbiA9PSAwKSB7CiAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgfSBlbHNlIGlmIChkLT5senMuYXZhaWxfb3V0ID09IDApIHsKLSAgICAgICAgICAgIGlmIChncm93X2J1ZmZlcigmcmVzdWx0KSA9PSAtMSkKKyAgICAgICAgfSBlbHNlIGlmIChsenMtPmF2YWlsX291dCA9PSAwKSB7CisgICAgICAgICAgICBpZiAoZGF0YV9zaXplID09IG1heF9sZW5ndGgpCisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBpZiAoZ3Jvd19idWZmZXIoJnJlc3VsdCwgbWF4X2xlbmd0aCkgPT0gLTEpCiAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKLSAgICAgICAgICAgIGQtPmx6cy5uZXh0X291dCA9ICh1aW50OF90ICopUHlCeXRlc19BU19TVFJJTkcocmVzdWx0KSArIGRhdGFfc2l6ZTsKLSAgICAgICAgICAgIGQtPmx6cy5hdmFpbF9vdXQgPSBQeUJ5dGVzX0dFVF9TSVpFKHJlc3VsdCkgLSBkYXRhX3NpemU7CisgICAgICAgICAgICBsenMtPm5leHRfb3V0ID0gKHVpbnQ4X3QgKilQeUJ5dGVzX0FTX1NUUklORyhyZXN1bHQpICsgZGF0YV9zaXplOworICAgICAgICAgICAgbHpzLT5hdmFpbF9vdXQgPSBQeUJ5dGVzX0dFVF9TSVpFKHJlc3VsdCkgLSBkYXRhX3NpemU7CiAgICAgICAgIH0KICAgICB9CiAgICAgaWYgKGRhdGFfc2l6ZSAhPSBQeUJ5dGVzX0dFVF9TSVpFKHJlc3VsdCkpCiAgICAgICAgIGlmIChfUHlCeXRlc19SZXNpemUoJnJlc3VsdCwgZGF0YV9zaXplKSA9PSAtMSkKICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisKKyAgICByZXR1cm4gcmVzdWx0OworICAgIAorZXJyb3I6CisgICAgUHlfWERFQ1JFRihyZXN1bHQpOworICAgIHJldHVybiBOVUxMOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorZGVjb21wcmVzcyhEZWNvbXByZXNzb3IgKmQsIHVpbnQ4X3QgKmRhdGEsIHNpemVfdCBsZW4sIFB5X3NzaXplX3QgbWF4X2xlbmd0aCkKK3sKKyAgICBjaGFyIGlucHV0X2J1ZmZlcl9pbl91c2U7CisgICAgUHlPYmplY3QgKnJlc3VsdDsKKyAgICBsem1hX3N0cmVhbSAqbHpzID0gJmQtPmx6czsKKyAgICAKKyAgICAvKiBQcmVwZW5kIHVuY29uc3VtZWQgaW5wdXQgaWYgbmVjZXNzYXJ5ICovCisgICAgaWYgKGx6cy0+bmV4dF9pbiAhPSBOVUxMKSB7CisgICAgICAgIHNpemVfdCBhdmFpbF9ub3csIGF2YWlsX3RvdGFsOworICAgICAgICAKKyAgICAgICAgLyogTnVtYmVyIG9mIGJ5dGVzIHdlIGNhbiBhcHBlbmQgdG8gaW5wdXQgYnVmZmVyICovCisgICAgICAgIGF2YWlsX25vdyA9IChkLT5pbnB1dF9idWZmZXIgKyBkLT5pbnB1dF9idWZmZXJfc2l6ZSkKKyAgICAgICAgICAgIC0gKGx6cy0+bmV4dF9pbiArIGx6cy0+YXZhaWxfaW4pOworCisgICAgICAgIC8qIE51bWJlciBvZiBieXRlcyB3ZSBjYW4gYXBwZW5kIGlmIHdlIG1vdmUgZXhpc3RpbmcKKyAgICAgICAgICAgY29udGVudHMgdG8gYmVnaW5uaW5nIG9mIGJ1ZmZlciAob3ZlcndyaXRpbmcKKyAgICAgICAgICAgY29uc3VtZWQgaW5wdXQpICovCisgICAgICAgIGF2YWlsX3RvdGFsID0gZC0+aW5wdXRfYnVmZmVyX3NpemUgLSBsenMtPmF2YWlsX2luOworCisgICAgICAgIGlmIChhdmFpbF90b3RhbCA8IGxlbikgeworICAgICAgICAgICAgc2l6ZV90IG9mZnNldCA9IGx6cy0+bmV4dF9pbiAtIGQtPmlucHV0X2J1ZmZlcjsKKyAgICAgICAgICAgIHVpbnQ4X3QgKnRtcDsKKyAgICAgICAgICAgIHNpemVfdCBuZXdfc2l6ZSA9IGQtPmlucHV0X2J1ZmZlcl9zaXplICsgbGVuIC0gYXZhaWxfbm93OworCisgICAgICAgICAgICAvKiBBc3NpZ24gdG8gdGVtcG9yYXJ5IHZhcmlhYmxlIGZpcnN0LCBzbyB3ZSBkb24ndAorICAgICAgICAgICAgICAgbG9zZSBhZGRyZXNzIG9mIGFsbG9jYXRlZCBidWZmZXIgaWYgcmVhbGxvYyBmYWlscyAqLworICAgICAgICAgICAgdG1wID0gUHlNZW1fUmVhbGxvYyhkLT5pbnB1dF9idWZmZXIsIG5ld19zaXplKTsKKyAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgIFB5RXJyX1NldE5vbmUoUHlFeGNfTWVtb3J5RXJyb3IpOworICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZC0+aW5wdXRfYnVmZmVyID0gdG1wOworICAgICAgICAgICAgZC0+aW5wdXRfYnVmZmVyX3NpemUgPSBuZXdfc2l6ZTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgbHpzLT5uZXh0X2luID0gZC0+aW5wdXRfYnVmZmVyICsgb2Zmc2V0OworICAgICAgICB9CisgICAgICAgIGVsc2UgaWYgKGF2YWlsX25vdyA8IGxlbikgeworICAgICAgICAgICAgbWVtbW92ZShkLT5pbnB1dF9idWZmZXIsIGx6cy0+bmV4dF9pbiwKKyAgICAgICAgICAgICAgICAgICAgbHpzLT5hdmFpbF9pbik7CisgICAgICAgICAgICBsenMtPm5leHRfaW4gPSBkLT5pbnB1dF9idWZmZXI7CisgICAgICAgIH0KKyAgICAgICAgbWVtY3B5KCh2b2lkKikobHpzLT5uZXh0X2luICsgbHpzLT5hdmFpbF9pbiksIGRhdGEsIGxlbik7CisgICAgICAgIGx6cy0+YXZhaWxfaW4gKz0gbGVuOworICAgICAgICBpbnB1dF9idWZmZXJfaW5fdXNlID0gMTsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIGx6cy0+bmV4dF9pbiA9IGRhdGE7CisgICAgICAgIGx6cy0+YXZhaWxfaW4gPSBsZW47CisgICAgICAgIGlucHV0X2J1ZmZlcl9pbl91c2UgPSAwOworICAgIH0KKworICAgIHJlc3VsdCA9IGRlY29tcHJlc3NfYnVmKGQsIG1heF9sZW5ndGgpOworICAgIGlmKHJlc3VsdCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIGlmIChkLT5lb2YpIHsKKyAgICAgICAgZC0+bmVlZHNfaW5wdXQgPSAwOworICAgICAgICBpZiAobHpzLT5hdmFpbF9pbiA+IDApIHsKKyAgICAgICAgICAgIFB5X0NMRUFSKGQtPnVudXNlZF9kYXRhKTsKKyAgICAgICAgICAgIGQtPnVudXNlZF9kYXRhID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZSgKKyAgICAgICAgICAgICAgICAoY2hhciAqKWx6cy0+bmV4dF9pbiwgbHpzLT5hdmFpbF9pbik7CisgICAgICAgICAgICBpZiAoZC0+dW51c2VkX2RhdGEgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICB9CisgICAgfQorICAgIGVsc2UgaWYgKGx6cy0+YXZhaWxfaW4gPT0gMCkgeworICAgICAgICBsenMtPm5leHRfaW4gPSBOVUxMOworICAgICAgICBkLT5uZWVkc19pbnB1dCA9IDE7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICBkLT5uZWVkc19pbnB1dCA9IDA7CisKKyAgICAgICAgLyogSWYgd2UgZGlkIG5vdCB1c2UgdGhlIGlucHV0IGJ1ZmZlciwgd2Ugbm93IGhhdmUKKyAgICAgICAgICAgdG8gY29weSB0aGUgdGFpbCBmcm9tIHRoZSBjYWxsZXIncyBidWZmZXIgaW50byB0aGUKKyAgICAgICAgICAgaW5wdXQgYnVmZmVyICovCisgICAgICAgIGlmICghaW5wdXRfYnVmZmVyX2luX3VzZSkgeworCisgICAgICAgICAgICAvKiBEaXNjYXJkIGJ1ZmZlciBpZiBpdCdzIHRvbyBzbWFsbAorICAgICAgICAgICAgICAgKHJlc2l6aW5nIGl0IG1heSBuZWVkbGVzc2x5IGNvcHkgdGhlIGN1cnJlbnQgY29udGVudHMpICovCisgICAgICAgICAgICBpZiAoZC0+aW5wdXRfYnVmZmVyICE9IE5VTEwgJiYKKyAgICAgICAgICAgICAgICBkLT5pbnB1dF9idWZmZXJfc2l6ZSA8IGx6cy0+YXZhaWxfaW4pIHsKKyAgICAgICAgICAgICAgICBQeU1lbV9GcmVlKGQtPmlucHV0X2J1ZmZlcik7CisgICAgICAgICAgICAgICAgZC0+aW5wdXRfYnVmZmVyID0gTlVMTDsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgLyogQWxsb2NhdGUgaWYgbmVjZXNzYXJ5ICovCisgICAgICAgICAgICBpZiAoZC0+aW5wdXRfYnVmZmVyID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICBkLT5pbnB1dF9idWZmZXIgPSBQeU1lbV9NYWxsb2MobHpzLT5hdmFpbF9pbik7CisgICAgICAgICAgICAgICAgaWYgKGQtPmlucHV0X2J1ZmZlciA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgIFB5RXJyX1NldE5vbmUoUHlFeGNfTWVtb3J5RXJyb3IpOworICAgICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBkLT5pbnB1dF9idWZmZXJfc2l6ZSA9IGx6cy0+YXZhaWxfaW47CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC8qIENvcHkgdGFpbCAqLworICAgICAgICAgICAgbWVtY3B5KGQtPmlucHV0X2J1ZmZlciwgbHpzLT5uZXh0X2luLCBsenMtPmF2YWlsX2luKTsKKyAgICAgICAgICAgIGx6cy0+bmV4dF9pbiA9IGQtPmlucHV0X2J1ZmZlcjsKKyAgICAgICAgfQorICAgIH0KKyAgICAKICAgICByZXR1cm4gcmVzdWx0OwogCiBlcnJvcjoKQEAgLTk0NiwyMCArMTA2NywyNyBAQAogCiAgICAgc2VsZjogc2VsZih0eXBlPSJEZWNvbXByZXNzb3IgKiIpCiAgICAgZGF0YTogUHlfYnVmZmVyCi0gICAgLworICAgIG1heF9sZW5ndGg6IFB5X3NzaXplX3Q9LTEKIAotUHJvdmlkZSBkYXRhIHRvIHRoZSBkZWNvbXByZXNzb3Igb2JqZWN0LgorRGVjb21wcmVzcyAqZGF0YSosIHJldHVybmluZyB1bmNvbXByZXNzZWQgZGF0YSBhcyBieXRlcy4KIAotUmV0dXJucyBhIGNodW5rIG9mIGRlY29tcHJlc3NlZCBkYXRhIGlmIHBvc3NpYmxlLCBvciBiJycgb3RoZXJ3aXNlLgorSWYgKm1heF9sZW5ndGgqIGlzIG5vbm5lZ2F0aXZlLCByZXR1cm5zIGF0IG1vc3QgKm1heF9sZW5ndGgqIGJ5dGVzIG9mCitkZWNvbXByZXNzZWQgZGF0YS4gSWYgdGhpcyBsaW1pdCBpcyByZWFjaGVkIGFuZCBmdXJ0aGVyIG91dHB1dCBjYW4gYmUKK3Byb2R1Y2VkLCAqc2VsZi5uZWVkc19pbnB1dCogd2lsbCBiZSBzZXQgdG8gYGBGYWxzZWBgLiBJbiB0aGlzIGNhc2UsIHRoZSBuZXh0CitjYWxsIHRvICpkZWNvbXByZXNzKCkqIG1heSBwcm92aWRlICpkYXRhKiBhcyBiJycgdG8gb2J0YWluIG1vcmUgb2YgdGhlIG91dHB1dC4KIAotQXR0ZW1wdGluZyB0byBkZWNvbXByZXNzIGRhdGEgYWZ0ZXIgdGhlIGVuZCBvZiBzdHJlYW0gaXMgcmVhY2hlZAotcmFpc2VzIGFuIEVPRkVycm9yLiAgQW55IGRhdGEgZm91bmQgYWZ0ZXIgdGhlIGVuZCBvZiB0aGUgc3RyZWFtCi1pcyBpZ25vcmVkIGFuZCBzYXZlZCBpbiB0aGUgdW51c2VkX2RhdGEgYXR0cmlidXRlLgorSWYgYWxsIG9mIHRoZSBpbnB1dCBkYXRhIHdhcyBkZWNvbXByZXNzZWQgYW5kIHJldHVybmVkIChlaXRoZXIgYmVjYXVzZSB0aGlzCit3YXMgbGVzcyB0aGFuICptYXhfbGVuZ3RoKiBieXRlcywgb3IgYmVjYXVzZSAqbWF4X2xlbmd0aCogd2FzIG5lZ2F0aXZlKSwKKypzZWxmLm5lZWRzX2lucHV0KiB3aWxsIGJlIHNldCB0byBUcnVlLgorCitBdHRlbXB0aW5nIHRvIGRlY29tcHJlc3MgZGF0YSBhZnRlciB0aGUgZW5kIG9mIHN0cmVhbSBpcyByZWFjaGVkIHJhaXNlcyBhbgorRU9GRXJyb3IuICBBbnkgZGF0YSBmb3VuZCBhZnRlciB0aGUgZW5kIG9mIHRoZSBzdHJlYW0gaXMgaWdub3JlZCBhbmQgc2F2ZWQgaW4KK3RoZSB1bnVzZWRfZGF0YSBhdHRyaWJ1dGUuCiBbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1fbHptYV9MWk1BRGVjb21wcmVzc29yX2RlY29tcHJlc3NfaW1wbChEZWNvbXByZXNzb3IgKnNlbGYsIFB5X2J1ZmZlciAqZGF0YSkKLS8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kODZlNzhkYTdmZjBmZjIxIGlucHV0PTUwYzQ3NjhiODIxYmYwZWZdKi8KK19sem1hX0xaTUFEZWNvbXByZXNzb3JfZGVjb21wcmVzc19pbXBsKERlY29tcHJlc3NvciAqc2VsZiwgUHlfYnVmZmVyICpkYXRhLCBQeV9zc2l6ZV90IG1heF9sZW5ndGgpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MTUzMmE1YmIyMzYyOTAwMSBpbnB1dD0yNjJlNGUyMTdmNDkwMzliXSovCiB7CiAgICAgUHlPYmplY3QgKnJlc3VsdCA9IE5VTEw7CiAKQEAgLTk2Nyw3ICsxMDk1LDcgQEAKICAgICBpZiAoc2VsZi0+ZW9mKQogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfRU9GRXJyb3IsICJBbHJlYWR5IGF0IGVuZCBvZiBzdHJlYW0iKTsKICAgICBlbHNlCi0gICAgICAgIHJlc3VsdCA9IGRlY29tcHJlc3Moc2VsZiwgZGF0YS0+YnVmLCBkYXRhLT5sZW4pOworICAgICAgICByZXN1bHQgPSBkZWNvbXByZXNzKHNlbGYsIGRhdGEtPmJ1ZiwgZGF0YS0+bGVuLCBtYXhfbGVuZ3RoKTsKICAgICBSRUxFQVNFX0xPQ0soc2VsZik7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTEwNTUsNiArMTE4Myw3IEBACiAgICAgc2VsZi0+YWxsb2MuYWxsb2MgPSBQeUx6bWFfTWFsbG9jOwogICAgIHNlbGYtPmFsbG9jLmZyZWUgPSBQeUx6bWFfRnJlZTsKICAgICBzZWxmLT5senMuYWxsb2NhdG9yID0gJnNlbGYtPmFsbG9jOworICAgIHNlbGYtPmx6cy5uZXh0X2luID0gTlVMTDsKIAogI2lmZGVmIFdJVEhfVEhSRUFECiAgICAgc2VsZi0+bG9jayA9IFB5VGhyZWFkX2FsbG9jYXRlX2xvY2soKTsKQEAgLTEwNjUsNiArMTE5NCw5IEBACiAjZW5kaWYKIAogICAgIHNlbGYtPmNoZWNrID0gTFpNQV9DSEVDS19VTktOT1dOOworICAgIHNlbGYtPm5lZWRzX2lucHV0ID0gMTsKKyAgICBzZWxmLT5pbnB1dF9idWZmZXIgPSBOVUxMOworICAgIHNlbGYtPmlucHV0X2J1ZmZlcl9zaXplID0gMDsKICAgICBzZWxmLT51bnVzZWRfZGF0YSA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoTlVMTCwgMCk7CiAgICAgaWYgKHNlbGYtPnVudXNlZF9kYXRhID09IE5VTEwpCiAgICAgICAgIGdvdG8gZXJyb3I7CkBAIC0xMTEzLDYgKzEyNDUsOSBAQAogc3RhdGljIHZvaWQKIERlY29tcHJlc3Nvcl9kZWFsbG9jKERlY29tcHJlc3NvciAqc2VsZikKIHsKKyAgICBpZihzZWxmLT5pbnB1dF9idWZmZXIgIT0gTlVMTCkKKyAgICAgICAgUHlNZW1fRnJlZShzZWxmLT5pbnB1dF9idWZmZXIpOworICAgIAogICAgIGx6bWFfZW5kKCZzZWxmLT5senMpOwogICAgIFB5X0NMRUFSKHNlbGYtPnVudXNlZF9kYXRhKTsKICNpZmRlZiBXSVRIX1RIUkVBRApAQCAtMTEzNCw2ICsxMjY5LDkgQEAKIFB5RG9jX1NUUlZBUihEZWNvbXByZXNzb3JfZW9mX2RvYywKICJUcnVlIGlmIHRoZSBlbmQtb2Ytc3RyZWFtIG1hcmtlciBoYXMgYmVlbiByZWFjaGVkLiIpOwogCitQeURvY19TVFJWQVIoRGVjb21wcmVzc29yX25lZWRzX2lucHV0X2RvYywKKyJUcnVlIGlmIG1vcmUgaW5wdXQgaXMgbmVlZGVkIGJlZm9yZSBtb3JlIGRlY29tcHJlc3NlZCBkYXRhIGNhbiBiZSBwcm9kdWNlZC4iKTsKKwogUHlEb2NfU1RSVkFSKERlY29tcHJlc3Nvcl91bnVzZWRfZGF0YV9kb2MsCiAiRGF0YSBmb3VuZCBhZnRlciB0aGUgZW5kIG9mIHRoZSBjb21wcmVzc2VkIHN0cmVhbS4iKTsKIApAQCAtMTE0Miw2ICsxMjgwLDggQEAKICAgICAgRGVjb21wcmVzc29yX2NoZWNrX2RvY30sCiAgICAgeyJlb2YiLCBUX0JPT0wsIG9mZnNldG9mKERlY29tcHJlc3NvciwgZW9mKSwgUkVBRE9OTFksCiAgICAgIERlY29tcHJlc3Nvcl9lb2ZfZG9jfSwKKyAgICB7Im5lZWRzX2lucHV0IiwgVF9CT09MLCBvZmZzZXRvZihEZWNvbXByZXNzb3IsIG5lZWRzX2lucHV0KSwgUkVBRE9OTFksCisgICAgIERlY29tcHJlc3Nvcl9uZWVkc19pbnB1dF9kb2N9LAogICAgIHsidW51c2VkX2RhdGEiLCBUX09CSkVDVF9FWCwgb2Zmc2V0b2YoRGVjb21wcmVzc29yLCB1bnVzZWRfZGF0YSksIFJFQURPTkxZLAogICAgICBEZWNvbXByZXNzb3JfdW51c2VkX2RhdGFfZG9jfSwKICAgICB7TlVMTH0KZGlmZiAtLWdpdCBhL01vZHVsZXMvX29wZXJhdG9yLmMgYi9Nb2R1bGVzL19vcGVyYXRvci5jCmluZGV4IGFkZWI5OWUuLjhmNTI0YTYgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX29wZXJhdG9yLmMKKysrIGIvTW9kdWxlcy9fb3BlcmF0b3IuYwpAQCAtNjksNiArNjksNyBAQAogc3BhbTIob3BfYWRkICAgICAgICAgICAsIFB5TnVtYmVyX0FkZCkKIHNwYW0yKG9wX3N1YiAgICAgICAgICAgLCBQeU51bWJlcl9TdWJ0cmFjdCkKIHNwYW0yKG9wX211bCAgICAgICAgICAgLCBQeU51bWJlcl9NdWx0aXBseSkKK3NwYW0yKG9wX21hdG11bCAgICAgICAgLCBQeU51bWJlcl9NYXRyaXhNdWx0aXBseSkKIHNwYW0yKG9wX2Zsb29yZGl2ICAgICAgLCBQeU51bWJlcl9GbG9vckRpdmlkZSkKIHNwYW0yKG9wX3RydWVkaXYgICAgICAgLCBQeU51bWJlcl9UcnVlRGl2aWRlKQogc3BhbTIob3BfbW9kICAgICAgICAgICAsIFB5TnVtYmVyX1JlbWFpbmRlcikKQEAgLTg2LDYgKzg3LDcgQEAKIHNwYW0yKG9wX2lhZGQgICAgICAgICAgLCBQeU51bWJlcl9JblBsYWNlQWRkKQogc3BhbTIob3BfaXN1YiAgICAgICAgICAsIFB5TnVtYmVyX0luUGxhY2VTdWJ0cmFjdCkKIHNwYW0yKG9wX2ltdWwgICAgICAgICAgLCBQeU51bWJlcl9JblBsYWNlTXVsdGlwbHkpCitzcGFtMihvcF9pbWF0bXVsICAgICAgICwgUHlOdW1iZXJfSW5QbGFjZU1hdHJpeE11bHRpcGx5KQogc3BhbTIob3BfaWZsb29yZGl2ICAgICAsIFB5TnVtYmVyX0luUGxhY2VGbG9vckRpdmlkZSkKIHNwYW0yKG9wX2l0cnVlZGl2ICAgICAgLCBQeU51bWJlcl9JblBsYWNlVHJ1ZURpdmlkZSkKIHNwYW0yKG9wX2ltb2QgICAgICAgICAgLCBQeU51bWJlcl9JblBsYWNlUmVtYWluZGVyKQpAQCAtMjM5LDcgKzI0MSw3IEBACiAiUmV0dXJuICdhID09IGInLiAgVGhpcyBmdW5jdGlvbiB1c2VzIGFuIGFwcHJvYWNoIGRlc2lnbmVkIHRvIHByZXZlbnRcbiIKICJ0aW1pbmcgYW5hbHlzaXMsIG1ha2luZyBpdCBhcHByb3ByaWF0ZSBmb3IgY3J5cHRvZ3JhcGh5LlxuIgogImEgYW5kIGIgbXVzdCBib3RoIGJlIG9mIHRoZSBzYW1lIHR5cGU6IGVpdGhlciBzdHIgKEFTQ0lJIG9ubHkpLFxuIgotIm9yIGFueSB0eXBlIHRoYXQgc3VwcG9ydHMgdGhlIGJ1ZmZlciBwcm90b2NvbCAoZS5nLiBieXRlcykuXG4iCisib3IgYW55IGJ5dGVzLWxpa2Ugb2JqZWN0LlxuIgogIlxuIgogIk5vdGU6IElmIGEgYW5kIGIgYXJlIG9mIGRpZmZlcmVudCBsZW5ndGhzLCBvciBpZiBhbiBlcnJvciBvY2N1cnMsXG4iCiAiYSB0aW1pbmcgYXR0YWNrIGNvdWxkIHRoZW9yZXRpY2FsbHkgcmV2ZWFsIGluZm9ybWF0aW9uIGFib3V0IHRoZVxuIgpAQCAtMzQzLDYgKzM0NSw3IEBACiBzcGFtMihhZGQsICJhZGQoYSwgYikgLS0gU2FtZSBhcyBhICsgYi4iKQogc3BhbTIoc3ViLCAic3ViKGEsIGIpIC0tIFNhbWUgYXMgYSAtIGIuIikKIHNwYW0yKG11bCwgIm11bChhLCBiKSAtLSBTYW1lIGFzIGEgKiBiLiIpCitzcGFtMihtYXRtdWwsICJtYXRtdWwoYSwgYikgLS0gU2FtZSBhcyBhIEAgYi4iKQogc3BhbTIoZmxvb3JkaXYsICJmbG9vcmRpdihhLCBiKSAtLSBTYW1lIGFzIGEgLy8gYi4iKQogc3BhbTIodHJ1ZWRpdiwgInRydWVkaXYoYSwgYikgLS0gU2FtZSBhcyBhIC8gYi4iKQogc3BhbTIobW9kLCAibW9kKGEsIGIpIC0tIFNhbWUgYXMgYSAlIGIuIikKQEAgLTM2MCw2ICszNjMsNyBAQAogc3BhbTIoaWFkZCwgImEgPSBpYWRkKGEsIGIpIC0tIFNhbWUgYXMgYSArPSBiLiIpCiBzcGFtMihpc3ViLCAiYSA9IGlzdWIoYSwgYikgLS0gU2FtZSBhcyBhIC09IGIuIikKIHNwYW0yKGltdWwsICJhID0gaW11bChhLCBiKSAtLSBTYW1lIGFzIGEgKj0gYi4iKQorc3BhbTIoaW1hdG11bCwgImEgPSBpbWF0bXVsKGEsIGIpIC0tIFNhbWUgYXMgYSBAPSBiLiIpCiBzcGFtMihpZmxvb3JkaXYsICJhID0gaWZsb29yZGl2KGEsIGIpIC0tIFNhbWUgYXMgYSAvLz0gYi4iKQogc3BhbTIoaXRydWVkaXYsICJhID0gaXRydWVkaXYoYSwgYikgLS0gU2FtZSBhcyBhIC89IGIiKQogc3BhbTIoaW1vZCwgImEgPSBpbW9kKGEsIGIpIC0tIFNhbWUgYXMgYSAlPSBiLiIpCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19waWNrbGUuYyBiL01vZHVsZXMvX3BpY2tsZS5jCmluZGV4IDEwZWI1MTMuLjdhMjM0ZjEgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX3BpY2tsZS5jCisrKyBiL01vZHVsZXMvX3BpY2tsZS5jCkBAIC00MjAsMjIgKzQyMCwyMiBAQAogUGRhdGFfZ3JvdyhQZGF0YSAqc2VsZikKIHsKICAgICBQeU9iamVjdCAqKmRhdGEgPSBzZWxmLT5kYXRhOwotICAgIFB5X3NzaXplX3QgYWxsb2NhdGVkID0gc2VsZi0+YWxsb2NhdGVkOwotICAgIFB5X3NzaXplX3QgbmV3X2FsbG9jYXRlZDsKKyAgICBzaXplX3QgYWxsb2NhdGVkID0gKHNpemVfdClzZWxmLT5hbGxvY2F0ZWQ7CisgICAgc2l6ZV90IG5ld19hbGxvY2F0ZWQ7CiAKICAgICBuZXdfYWxsb2NhdGVkID0gKGFsbG9jYXRlZCA+PiAzKSArIDY7CiAgICAgLyogY2hlY2sgZm9yIGludGVnZXIgb3ZlcmZsb3cgKi8KLSAgICBpZiAobmV3X2FsbG9jYXRlZCA+IFBZX1NTSVpFX1RfTUFYIC0gYWxsb2NhdGVkKQorICAgIGlmIChuZXdfYWxsb2NhdGVkID4gKHNpemVfdClQWV9TU0laRV9UX01BWCAtIGFsbG9jYXRlZCkKICAgICAgICAgZ290byBub21lbW9yeTsKICAgICBuZXdfYWxsb2NhdGVkICs9IGFsbG9jYXRlZDsKLSAgICBpZiAobmV3X2FsbG9jYXRlZCA+IChQWV9TU0laRV9UX01BWCAvIHNpemVvZihQeU9iamVjdCAqKSkpCisgICAgaWYgKG5ld19hbGxvY2F0ZWQgPiAoKHNpemVfdClQWV9TU0laRV9UX01BWCAvIHNpemVvZihQeU9iamVjdCAqKSkpCiAgICAgICAgIGdvdG8gbm9tZW1vcnk7CiAgICAgZGF0YSA9IFB5TWVtX1JFQUxMT0MoZGF0YSwgbmV3X2FsbG9jYXRlZCAqIHNpemVvZihQeU9iamVjdCAqKSk7CiAgICAgaWYgKGRhdGEgPT0gTlVMTCkKICAgICAgICAgZ290byBub21lbW9yeTsKIAogICAgIHNlbGYtPmRhdGEgPSBkYXRhOwotICAgIHNlbGYtPmFsbG9jYXRlZCA9IG5ld19hbGxvY2F0ZWQ7CisgICAgc2VsZi0+YWxsb2NhdGVkID0gKFB5X3NzaXplX3QpbmV3X2FsbG9jYXRlZDsKICAgICByZXR1cm4gMDsKIAogICBub21lbW9yeToKQEAgLTg1MCw3ICs4NTAsNyBAQAogc3RhdGljIHZvaWQKIF93cml0ZV9zaXplNjQoY2hhciAqb3V0LCBzaXplX3QgdmFsdWUpCiB7Ci0gICAgaW50IGk7CisgICAgc2l6ZV90IGk7CiAKICAgICBhc3NlcnQoc2l6ZW9mKHNpemVfdCkgPD0gOCk7CiAKQEAgLTE0NTYsNyArMTQ1Niw3IEBACiAgICAgICAgICAgICBwZGF0YVsxXSA9ICh1bnNpZ25lZCBjaGFyKSgqdmFsdWUgJiAweGZmKTsKICAgICAgICAgICAgIGxlbiA9IDI7CiAgICAgICAgIH0KLSAgICAgICAgZWxzZSBpZiAoKnZhbHVlIDw9IDB4ZmZmZmZmZmZMKSB7CisgICAgICAgIGVsc2UgaWYgKChzaXplX3QpKnZhbHVlIDw9IDB4ZmZmZmZmZmZVTCkgewogICAgICAgICAgICAgcGRhdGFbMF0gPSBMT05HX0JJTkdFVDsKICAgICAgICAgICAgIHBkYXRhWzFdID0gKHVuc2lnbmVkIGNoYXIpKCp2YWx1ZSAmIDB4ZmYpOwogICAgICAgICAgICAgcGRhdGFbMl0gPSAodW5zaWduZWQgY2hhcikoKCp2YWx1ZSA+PiA4KSAmIDB4ZmYpOwpAQCAtMTUxMyw3ICsxNTEzLDcgQEAKICAgICAgICAgICAgIHBkYXRhWzFdID0gKHVuc2lnbmVkIGNoYXIpaWR4OwogICAgICAgICAgICAgbGVuID0gMjsKICAgICAgICAgfQotICAgICAgICBlbHNlIGlmIChpZHggPD0gMHhmZmZmZmZmZkwpIHsKKyAgICAgICAgZWxzZSBpZiAoKHNpemVfdClpZHggPD0gMHhmZmZmZmZmZlVMKSB7CiAgICAgICAgICAgICBwZGF0YVswXSA9IExPTkdfQklOUFVUOwogICAgICAgICAgICAgcGRhdGFbMV0gPSAodW5zaWduZWQgY2hhcikoaWR4ICYgMHhmZik7CiAgICAgICAgICAgICBwZGF0YVsyXSA9ICh1bnNpZ25lZCBjaGFyKSgoaWR4ID4+IDgpICYgMHhmZik7CkBAIC0xNTM1LDY5ICsxNTM1LDEwOSBAQAogfQogCiBzdGF0aWMgUHlPYmplY3QgKgotZ2V0YXR0cmlidXRlKFB5T2JqZWN0ICpvYmosIFB5T2JqZWN0ICpuYW1lLCBpbnQgYWxsb3dfcXVhbG5hbWUpIHsKLSAgICBQeU9iamVjdCAqZG90dGVkX3BhdGg7Ci0gICAgUHlfc3NpemVfdCBpOworZ2V0X2RvdHRlZF9wYXRoKFB5T2JqZWN0ICpvYmosIFB5T2JqZWN0ICpuYW1lLCBpbnQgYWxsb3dfcXVhbG5hbWUpIHsKICAgICBfUHlfc3RhdGljX3N0cmluZyhQeUlkX2RvdCwgIi4iKTsKICAgICBfUHlfc3RhdGljX3N0cmluZyhQeUlkX2xvY2FscywgIjxsb2NhbHM+Iik7CisgICAgUHlPYmplY3QgKmRvdHRlZF9wYXRoOworICAgIFB5X3NzaXplX3QgaSwgbjsKIAogICAgIGRvdHRlZF9wYXRoID0gUHlVbmljb2RlX1NwbGl0KG5hbWUsIF9QeVVuaWNvZGVfRnJvbUlkKCZQeUlkX2RvdCksIC0xKTsKLSAgICBpZiAoZG90dGVkX3BhdGggPT0gTlVMTCkgeworICAgIGlmIChkb3R0ZWRfcGF0aCA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9Ci0gICAgYXNzZXJ0KFB5X1NJWkUoZG90dGVkX3BhdGgpID49IDEpOwotICAgIGlmICghYWxsb3dfcXVhbG5hbWUgJiYgUHlfU0laRShkb3R0ZWRfcGF0aCkgPiAxKSB7Ci0gICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19BdHRyaWJ1dGVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICJDYW4ndCBnZXQgcXVhbGlmaWVkIGF0dHJpYnV0ZSAlUiBvbiAlUjsiCi0gICAgICAgICAgICAgICAgICAgICAidXNlIHByb3RvY29scyA+PSA0IHRvIGVuYWJsZSBzdXBwb3J0IiwKLSAgICAgICAgICAgICAgICAgICAgIG5hbWUsIG9iaik7CisgICAgbiA9IFB5TGlzdF9HRVRfU0laRShkb3R0ZWRfcGF0aCk7CisgICAgYXNzZXJ0KG4gPj0gMSk7CisgICAgaWYgKCFhbGxvd19xdWFsbmFtZSAmJiBuID4gMSkgeworICAgICAgICBpZiAob2JqID09IE5VTEwpCisgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfQXR0cmlidXRlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgIkNhbid0IHBpY2tsZSBxdWFsaWZpZWQgb2JqZWN0ICVSOyAiCisgICAgICAgICAgICAgICAgICAgICAgICAgInVzZSBwcm90b2NvbHMgPj0gNCB0byBlbmFibGUgc3VwcG9ydCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19BdHRyaWJ1dGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiQ2FuJ3QgcGlja2xlIHF1YWxpZmllZCBhdHRyaWJ1dGUgJVIgb24gJVI7ICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAidXNlIHByb3RvY29scyA+PSA0IHRvIGVuYWJsZSBzdXBwb3J0IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lLCBvYmopOwogICAgICAgICBQeV9ERUNSRUYoZG90dGVkX3BhdGgpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0gICAgUHlfSU5DUkVGKG9iaik7Ci0gICAgZm9yIChpID0gMDsgaSA8IFB5X1NJWkUoZG90dGVkX3BhdGgpOyBpKyspIHsKKyAgICBmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgIFB5T2JqZWN0ICpzdWJwYXRoID0gUHlMaXN0X0dFVF9JVEVNKGRvdHRlZF9wYXRoLCBpKTsKLSAgICAgICAgUHlPYmplY3QgKnRtcDsKICAgICAgICAgUHlPYmplY3QgKnJlc3VsdCA9IFB5VW5pY29kZV9SaWNoQ29tcGFyZSgKICAgICAgICAgICAgIHN1YnBhdGgsIF9QeVVuaWNvZGVfRnJvbUlkKCZQeUlkX2xvY2FscyksIFB5X0VRKTsKICAgICAgICAgaW50IGlzX2VxdWFsID0gKHJlc3VsdCA9PSBQeV9UcnVlKTsKICAgICAgICAgYXNzZXJ0KFB5Qm9vbF9DaGVjayhyZXN1bHQpKTsKICAgICAgICAgUHlfREVDUkVGKHJlc3VsdCk7CiAgICAgICAgIGlmIChpc19lcXVhbCkgewotICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX0F0dHJpYnV0ZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICJDYW4ndCBnZXQgbG9jYWwgYXR0cmlidXRlICVSIG9uICVSIiwgbmFtZSwgb2JqKTsKLSAgICAgICAgICAgIFB5X0RFQ1JFRihkb3R0ZWRfcGF0aCk7Ci0gICAgICAgICAgICBQeV9ERUNSRUYob2JqKTsKLSAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICB9Ci0gICAgICAgIHRtcCA9IFB5T2JqZWN0X0dldEF0dHIob2JqLCBzdWJwYXRoKTsKLSAgICAgICAgUHlfREVDUkVGKG9iaik7Ci0gICAgICAgIGlmICh0bXAgPT0gTlVMTCkgewotICAgICAgICAgICAgaWYgKFB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMoUHlFeGNfQXR0cmlidXRlRXJyb3IpKSB7Ci0gICAgICAgICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKKyAgICAgICAgICAgIGlmIChvYmogPT0gTlVMTCkKICAgICAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfQXR0cmlidXRlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDYW4ndCBnZXQgYXR0cmlidXRlICVSIG9uICVSIiwgbmFtZSwgb2JqKTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkNhbid0IHBpY2tsZSBsb2NhbCBvYmplY3QgJVIiLCBuYW1lKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfQXR0cmlidXRlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDYW4ndCBwaWNrbGUgbG9jYWwgYXR0cmlidXRlICVSIG9uICVSIiwgbmFtZSwgb2JqKTsKICAgICAgICAgICAgIFB5X0RFQ1JFRihkb3R0ZWRfcGF0aCk7CiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgfQorICAgIH0KKyAgICByZXR1cm4gZG90dGVkX3BhdGg7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitnZXRfZGVlcF9hdHRyaWJ1dGUoUHlPYmplY3QgKm9iaiwgUHlPYmplY3QgKm5hbWVzKQoreworICAgIFB5X3NzaXplX3QgaSwgbjsKKworICAgIGFzc2VydChQeUxpc3RfQ2hlY2tFeGFjdChuYW1lcykpOworICAgIFB5X0lOQ1JFRihvYmopOworICAgIG4gPSBQeUxpc3RfR0VUX1NJWkUobmFtZXMpOworICAgIGZvciAoaSA9IDA7IGkgPCBuOyBpKyspIHsKKyAgICAgICAgUHlPYmplY3QgKm5hbWUgPSBQeUxpc3RfR0VUX0lURU0obmFtZXMsIGkpOworICAgICAgICBQeU9iamVjdCAqdG1wOworICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyKG9iaiwgbmFtZSk7CisgICAgICAgIFB5X0RFQ1JFRihvYmopOworICAgICAgICBpZiAodG1wID09IE5VTEwpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgb2JqID0gdG1wOwogICAgIH0KLSAgICBQeV9ERUNSRUYoZG90dGVkX3BhdGgpOwogICAgIHJldHVybiBvYmo7CiB9CiAKK3N0YXRpYyB2b2lkCityZWZvcm1hdF9hdHRyaWJ1dGVfZXJyb3IoUHlPYmplY3QgKm9iaiwgUHlPYmplY3QgKm5hbWUpCit7CisgICAgaWYgKFB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMoUHlFeGNfQXR0cmlidXRlRXJyb3IpKSB7CisgICAgICAgIFB5RXJyX0NsZWFyKCk7CisgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19BdHRyaWJ1dGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICJDYW4ndCBnZXQgYXR0cmlidXRlICVSIG9uICVSIiwgbmFtZSwgb2JqKTsKKyAgICB9Cit9CisKKworc3RhdGljIFB5T2JqZWN0ICoKK2dldGF0dHJpYnV0ZShQeU9iamVjdCAqb2JqLCBQeU9iamVjdCAqbmFtZSwgaW50IGFsbG93X3F1YWxuYW1lKQoreworICAgIFB5T2JqZWN0ICpkb3R0ZWRfcGF0aCwgKmF0dHI7CisKKyAgICBkb3R0ZWRfcGF0aCA9IGdldF9kb3R0ZWRfcGF0aChvYmosIG5hbWUsIGFsbG93X3F1YWxuYW1lKTsKKyAgICBpZiAoZG90dGVkX3BhdGggPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgYXR0ciA9IGdldF9kZWVwX2F0dHJpYnV0ZShvYmosIGRvdHRlZF9wYXRoKTsKKyAgICBQeV9ERUNSRUYoZG90dGVkX3BhdGgpOworICAgIGlmIChhdHRyID09IE5VTEwpCisgICAgICAgIHJlZm9ybWF0X2F0dHJpYnV0ZV9lcnJvcihvYmosIG5hbWUpOworICAgIHJldHVybiBhdHRyOworfQorCiBzdGF0aWMgUHlPYmplY3QgKgogd2hpY2htb2R1bGUoUHlPYmplY3QgKmdsb2JhbCwgUHlPYmplY3QgKmdsb2JhbF9uYW1lLCBpbnQgYWxsb3dfcXVhbG5hbWUpCiB7CiAgICAgUHlPYmplY3QgKm1vZHVsZV9uYW1lOwogICAgIFB5T2JqZWN0ICptb2R1bGVzX2RpY3Q7CiAgICAgUHlPYmplY3QgKm1vZHVsZTsKLSAgICBQeU9iamVjdCAqb2JqOwotICAgIFB5X3NzaXplX3QgaSwgajsKKyAgICBQeV9zc2l6ZV90IGk7CiAgICAgX1B5X0lERU5USUZJRVIoX19tb2R1bGVfXyk7CiAgICAgX1B5X0lERU5USUZJRVIobW9kdWxlcyk7CiAgICAgX1B5X0lERU5USUZJRVIoX19tYWluX18pOworICAgIFB5T2JqZWN0ICpkb3R0ZWRfcGF0aDsKIAogICAgIG1vZHVsZV9uYW1lID0gX1B5T2JqZWN0X0dldEF0dHJJZChnbG9iYWwsICZQeUlkX19fbW9kdWxlX18pOwogCkBAIC0xNjE2LDQzICsxNjU2LDQ5IEBACiAgICAgfQogICAgIGFzc2VydChtb2R1bGVfbmFtZSA9PSBOVUxMKTsKIAorICAgIC8qIEZhbGxiYWNrIG9uIHdhbGtpbmcgc3lzLm1vZHVsZXMgKi8KICAgICBtb2R1bGVzX2RpY3QgPSBfUHlTeXNfR2V0T2JqZWN0SWQoJlB5SWRfbW9kdWxlcyk7CiAgICAgaWYgKG1vZHVsZXNfZGljdCA9PSBOVUxMKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19SdW50aW1lRXJyb3IsICJ1bmFibGUgdG8gZ2V0IHN5cy5tb2R1bGVzIik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIAorICAgIGRvdHRlZF9wYXRoID0gZ2V0X2RvdHRlZF9wYXRoKE5VTEwsIGdsb2JhbF9uYW1lLCBhbGxvd19xdWFsbmFtZSk7CisgICAgaWYgKGRvdHRlZF9wYXRoID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworCiAgICAgaSA9IDA7Ci0gICAgd2hpbGUgKChqID0gUHlEaWN0X05leHQobW9kdWxlc19kaWN0LCAmaSwgJm1vZHVsZV9uYW1lLCAmbW9kdWxlKSkpIHsKLSAgICAgICAgUHlPYmplY3QgKnJlc3VsdCA9IFB5VW5pY29kZV9SaWNoQ29tcGFyZSgKLSAgICAgICAgICAgIG1vZHVsZV9uYW1lLCBfUHlVbmljb2RlX0Zyb21JZCgmUHlJZF9fX21haW5fXyksIFB5X0VRKTsKLSAgICAgICAgaW50IGlzX2VxdWFsID0gKHJlc3VsdCA9PSBQeV9UcnVlKTsKLSAgICAgICAgYXNzZXJ0KFB5Qm9vbF9DaGVjayhyZXN1bHQpKTsKLSAgICAgICAgUHlfREVDUkVGKHJlc3VsdCk7Ci0gICAgICAgIGlmIChpc19lcXVhbCkKKyAgICB3aGlsZSAoUHlEaWN0X05leHQobW9kdWxlc19kaWN0LCAmaSwgJm1vZHVsZV9uYW1lLCAmbW9kdWxlKSkgeworICAgICAgICBQeU9iamVjdCAqY2FuZGlkYXRlOworICAgICAgICBpZiAoUHlVbmljb2RlX0NoZWNrKG1vZHVsZV9uYW1lKSAmJgorICAgICAgICAgICAgIVB5VW5pY29kZV9Db21wYXJlV2l0aEFTQ0lJU3RyaW5nKG1vZHVsZV9uYW1lLCAiX19tYWluX18iKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICBpZiAobW9kdWxlID09IFB5X05vbmUpCiAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICBvYmogPSBnZXRhdHRyaWJ1dGUobW9kdWxlLCBnbG9iYWxfbmFtZSwgYWxsb3dfcXVhbG5hbWUpOwotICAgICAgICBpZiAob2JqID09IE5VTEwpIHsKLSAgICAgICAgICAgIGlmICghUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcyhQeUV4Y19BdHRyaWJ1dGVFcnJvcikpCisgICAgICAgIGNhbmRpZGF0ZSA9IGdldF9kZWVwX2F0dHJpYnV0ZShtb2R1bGUsIGRvdHRlZF9wYXRoKTsKKyAgICAgICAgaWYgKGNhbmRpZGF0ZSA9PSBOVUxMKSB7CisgICAgICAgICAgICBpZiAoIVB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMoUHlFeGNfQXR0cmlidXRlRXJyb3IpKSB7CisgICAgICAgICAgICAgICAgUHlfREVDUkVGKGRvdHRlZF9wYXRoKTsKICAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIFB5RXJyX0NsZWFyKCk7CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQogCi0gICAgICAgIGlmIChvYmogPT0gZ2xvYmFsKSB7Ci0gICAgICAgICAgICBQeV9ERUNSRUYob2JqKTsKKyAgICAgICAgaWYgKGNhbmRpZGF0ZSA9PSBnbG9iYWwpIHsKICAgICAgICAgICAgIFB5X0lOQ1JFRihtb2R1bGVfbmFtZSk7CisgICAgICAgICAgICBQeV9ERUNSRUYoZG90dGVkX3BhdGgpOworICAgICAgICAgICAgUHlfREVDUkVGKGNhbmRpZGF0ZSk7CiAgICAgICAgICAgICByZXR1cm4gbW9kdWxlX25hbWU7CiAgICAgICAgIH0KLSAgICAgICAgUHlfREVDUkVGKG9iaik7CisgICAgICAgIFB5X0RFQ1JFRihjYW5kaWRhdGUpOwogICAgIH0KIAogICAgIC8qIElmIG5vIG1vZHVsZSBpcyBmb3VuZCwgdXNlIF9fbWFpbl9fLiAqLwogICAgIG1vZHVsZV9uYW1lID0gX1B5VW5pY29kZV9Gcm9tSWQoJlB5SWRfX19tYWluX18pOwogICAgIFB5X0lOQ1JFRihtb2R1bGVfbmFtZSk7CisgICAgUHlfREVDUkVGKGRvdHRlZF9wYXRoKTsKICAgICByZXR1cm4gbW9kdWxlX25hbWU7CiB9CiAKQEAgLTIwMTMsNyArMjA1OSw3IEBACiAgICAgICAgICAgICBoZWFkZXJbMV0gPSAodW5zaWduZWQgY2hhcilzaXplOwogICAgICAgICAgICAgbGVuID0gMjsKICAgICAgICAgfQotICAgICAgICBlbHNlIGlmIChzaXplIDw9IDB4ZmZmZmZmZmZMKSB7CisgICAgICAgIGVsc2UgaWYgKChzaXplX3Qpc2l6ZSA8PSAweGZmZmZmZmZmVUwpIHsKICAgICAgICAgICAgIGhlYWRlclswXSA9IEJJTkJZVEVTOwogICAgICAgICAgICAgaGVhZGVyWzFdID0gKHVuc2lnbmVkIGNoYXIpKHNpemUgJiAweGZmKTsKICAgICAgICAgICAgIGhlYWRlclsyXSA9ICh1bnNpZ25lZCBjaGFyKSgoc2l6ZSA+PiA4KSAmIDB4ZmYpOwpAQCAtMjA1MCw5ICsyMDk2LDEwIEBACiBzdGF0aWMgUHlPYmplY3QgKgogcmF3X3VuaWNvZGVfZXNjYXBlKFB5T2JqZWN0ICpvYmopCiB7Ci0gICAgUHlPYmplY3QgKnJlcHIsICpyZXN1bHQ7CisgICAgUHlPYmplY3QgKnJlcHI7CiAgICAgY2hhciAqcDsKLSAgICBQeV9zc2l6ZV90IGksIHNpemUsIGV4cGFuZHNpemU7CisgICAgUHlfc3NpemVfdCBpLCBzaXplOworICAgIHNpemVfdCBleHBhbmRzaXplOwogICAgIHZvaWQgKmRhdGE7CiAgICAgdW5zaWduZWQgaW50IGtpbmQ7CiAKQEAgLTIwNjcsMTUgKzIxMTQsMTYgQEAKICAgICBlbHNlCiAgICAgICAgIGV4cGFuZHNpemUgPSA2OwogCi0gICAgaWYgKHNpemUgPiBQWV9TU0laRV9UX01BWCAvIGV4cGFuZHNpemUpCisgICAgaWYgKChzaXplX3Qpc2l6ZSA+IChzaXplX3QpUFlfU1NJWkVfVF9NQVggLyBleHBhbmRzaXplKQogICAgICAgICByZXR1cm4gUHlFcnJfTm9NZW1vcnkoKTsKLSAgICByZXByID0gUHlCeXRlQXJyYXlfRnJvbVN0cmluZ0FuZFNpemUoTlVMTCwgZXhwYW5kc2l6ZSAqIHNpemUpOworICAgIHJlcHIgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKE5VTEwsIGV4cGFuZHNpemUgKiBzaXplKTsKICAgICBpZiAocmVwciA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICBpZiAoc2l6ZSA9PSAwKQotICAgICAgICBnb3RvIGRvbmU7CisgICAgICAgIHJldHVybiByZXByOworICAgIGFzc2VydChQeV9SRUZDTlQocmVwcikgPT0gMSk7CiAKLSAgICBwID0gUHlCeXRlQXJyYXlfQVNfU1RSSU5HKHJlcHIpOworICAgIHAgPSBQeUJ5dGVzX0FTX1NUUklORyhyZXByKTsKICAgICBmb3IgKGk9MDsgaSA8IHNpemU7IGkrKykgewogICAgICAgICBQeV9VQ1M0IGNoID0gUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgaSk7CiAgICAgICAgIC8qIE1hcCAzMi1iaXQgY2hhcmFjdGVycyB0byAnXFV4eHh4eHh4eCcgKi8KQEAgLTIxMDQsMTIgKzIxNTIsMTAgQEAKICAgICAgICAgZWxzZQogICAgICAgICAgICAgKnArKyA9IChjaGFyKSBjaDsKICAgICB9Ci0gICAgc2l6ZSA9IHAgLSBQeUJ5dGVBcnJheV9BU19TVFJJTkcocmVwcik7Ci0KLWRvbmU6Ci0gICAgcmVzdWx0ID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShQeUJ5dGVBcnJheV9BU19TVFJJTkcocmVwciksIHNpemUpOwotICAgIFB5X0RFQ1JFRihyZXByKTsKLSAgICByZXR1cm4gcmVzdWx0OworICAgIHNpemUgPSBwIC0gUHlCeXRlc19BU19TVFJJTkcocmVwcik7CisgICAgaWYgKF9QeUJ5dGVzX1Jlc2l6ZSgmcmVwciwgc2l6ZSkgPCAwKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICByZXR1cm4gcmVwcjsKIH0KIAogc3RhdGljIGludApAQCAtMjExOCwxMiArMjE2NCwxMyBAQAogICAgIGNoYXIgaGVhZGVyWzldOwogICAgIFB5X3NzaXplX3QgbGVuOwogCisgICAgYXNzZXJ0KHNpemUgPj0gMCk7CiAgICAgaWYgKHNpemUgPD0gMHhmZiAmJiBzZWxmLT5wcm90byA+PSA0KSB7CiAgICAgICAgIGhlYWRlclswXSA9IFNIT1JUX0JJTlVOSUNPREU7CiAgICAgICAgIGhlYWRlclsxXSA9ICh1bnNpZ25lZCBjaGFyKShzaXplICYgMHhmZik7CiAgICAgICAgIGxlbiA9IDI7CiAgICAgfQotICAgIGVsc2UgaWYgKHNpemUgPD0gMHhmZmZmZmZmZlVMKSB7CisgICAgZWxzZSBpZiAoKHNpemVfdClzaXplIDw9IDB4ZmZmZmZmZmZVTCkgewogICAgICAgICBoZWFkZXJbMF0gPSBCSU5VTklDT0RFOwogICAgICAgICBoZWFkZXJbMV0gPSAodW5zaWduZWQgY2hhcikoc2l6ZSAmIDB4ZmYpOwogICAgICAgICBoZWFkZXJbMl0gPSAodW5zaWduZWQgY2hhcikoKHNpemUgPj4gOCkgJiAweGZmKTsKQEAgLTM0NTksMjAgKzM1MDYsMTkgQEAKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIFB5RXJyX0NsZWFyKCk7CiAgICAgICAgIH0KLSAgICAgICAgZWxzZSBpZiAoc2VsZi0+cHJvdG8gPj0gNCkgewotICAgICAgICAgICAgX1B5X0lERU5USUZJRVIoX19uZXdvYmpfZXhfXyk7Ci0gICAgICAgICAgICB1c2VfbmV3b2JqX2V4ID0gUHlVbmljb2RlX0NoZWNrKG5hbWUpICYmCi0gICAgICAgICAgICAgICAgUHlVbmljb2RlX0NvbXBhcmUoCi0gICAgICAgICAgICAgICAgICAgIG5hbWUsIF9QeVVuaWNvZGVfRnJvbUlkKCZQeUlkX19fbmV3b2JqX2V4X18pKSA9PSAwOwotICAgICAgICAgICAgUHlfREVDUkVGKG5hbWUpOworICAgICAgICBlbHNlIGlmIChQeVVuaWNvZGVfQ2hlY2sobmFtZSkpIHsKKyAgICAgICAgICAgIGlmIChzZWxmLT5wcm90byA+PSA0KSB7CisgICAgICAgICAgICAgICAgX1B5X0lERU5USUZJRVIoX19uZXdvYmpfZXhfXyk7CisgICAgICAgICAgICAgICAgdXNlX25ld29ial9leCA9IFB5VW5pY29kZV9Db21wYXJlKAorICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSwgX1B5VW5pY29kZV9Gcm9tSWQoJlB5SWRfX19uZXdvYmpfZXhfXykpID09IDA7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoIXVzZV9uZXdvYmpfZXgpIHsKKyAgICAgICAgICAgICAgICBfUHlfSURFTlRJRklFUihfX25ld29ial9fKTsKKyAgICAgICAgICAgICAgICB1c2VfbmV3b2JqID0gUHlVbmljb2RlX0NvbXBhcmUoCisgICAgICAgICAgICAgICAgICAgICAgICBuYW1lLCBfUHlVbmljb2RlX0Zyb21JZCgmUHlJZF9fX25ld29ial9fKSkgPT0gMDsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIF9QeV9JREVOVElGSUVSKF9fbmV3b2JqX18pOwotICAgICAgICAgICAgdXNlX25ld29iaiA9IFB5VW5pY29kZV9DaGVjayhuYW1lKSAmJgotICAgICAgICAgICAgICAgIFB5VW5pY29kZV9Db21wYXJlKAotICAgICAgICAgICAgICAgICAgICBuYW1lLCBfUHlVbmljb2RlX0Zyb21JZCgmUHlJZF9fX25ld29ial9fKSkgPT0gMDsKLSAgICAgICAgICAgIFB5X0RFQ1JFRihuYW1lKTsKLSAgICAgICAgfQorICAgICAgICBQeV9YREVDUkVGKG5hbWUpOwogICAgIH0KIAogICAgIGlmICh1c2VfbmV3b2JqX2V4KSB7CkBAIC00NTMzLDEwICs0NTc5LDEwIEBACiBjYWxjX2JpbnNpemUoY2hhciAqYnl0ZXMsIGludCBuYnl0ZXMpCiB7CiAgICAgdW5zaWduZWQgY2hhciAqcyA9ICh1bnNpZ25lZCBjaGFyICopYnl0ZXM7Ci0gICAgaW50IGk7CisgICAgUHlfc3NpemVfdCBpOwogICAgIHNpemVfdCB4ID0gMDsKIAotICAgIGZvciAoaSA9IDA7IGkgPCBuYnl0ZXMgJiYgaSA8IHNpemVvZihzaXplX3QpOyBpKyspIHsKKyAgICBmb3IgKGkgPSAwOyBpIDwgbmJ5dGVzICYmIChzaXplX3QpaSA8IHNpemVvZihzaXplX3QpOyBpKyspIHsKICAgICAgICAgeCB8PSAoc2l6ZV90KSBzW2ldIDw8ICg4ICogaSk7CiAgICAgfQogCkBAIC00NTU1LDcgKzQ2MDEsNyBAQAogY2FsY19iaW5pbnQoY2hhciAqYnl0ZXMsIGludCBuYnl0ZXMpCiB7CiAgICAgdW5zaWduZWQgY2hhciAqcyA9ICh1bnNpZ25lZCBjaGFyICopYnl0ZXM7Ci0gICAgaW50IGk7CisgICAgUHlfc3NpemVfdCBpOwogICAgIGxvbmcgeCA9IDA7CiAKICAgICBmb3IgKGkgPSAwOyBpIDwgbmJ5dGVzOyBpKyspIHsKZGlmZiAtLWdpdCBhL01vZHVsZXMvX3NxbGl0ZS9jdXJzb3IuYyBiL01vZHVsZXMvX3NxbGl0ZS9jdXJzb3IuYwppbmRleCBkYjk2YjAyLi43ZmUwMGUzIDEwMDY0NAotLS0gYS9Nb2R1bGVzL19zcWxpdGUvY3Vyc29yLmMKKysrIGIvTW9kdWxlcy9fc3FsaXRlL2N1cnNvci5jCkBAIC00Niw3ICs0Niw3IEBACiAKICAgICBkc3QgPSBidWY7CiAgICAgKmRzdCA9IDA7Ci0gICAgd2hpbGUgKFB5X0lTQUxQSEEoKnNyYykgJiYgZHN0IC0gYnVmIDwgc2l6ZW9mKGJ1ZikgLSAyKSB7CisgICAgd2hpbGUgKFB5X0lTQUxQSEEoKnNyYykgJiYgKGRzdCAtIGJ1ZikgPCAoKFB5X3NzaXplX3Qpc2l6ZW9mKGJ1ZikgLSAyKSkgewogICAgICAgICAqZHN0KysgPSBQeV9UT0xPV0VSKCpzcmMrKyk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19zcmUuYyBiL01vZHVsZXMvX3NyZS5jCmluZGV4IDMwMGQ4ODMuLjk1NTBkOTcgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX3NyZS5jCisrKyBiL01vZHVsZXMvX3NyZS5jCkBAIC05Nyw0OCArOTcsMjUgQEAKIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCiAvKiBzZWFyY2ggZW5naW5lIHN0YXRlICovCiAKLS8qIGRlZmF1bHQgY2hhcmFjdGVyIHByZWRpY2F0ZXMgKHJ1biBzcmVfY2hhcnMucHkgdG8gcmVnZW5lcmF0ZSB0YWJsZXMpICovCi0KLSNkZWZpbmUgU1JFX0RJR0lUX01BU0sgMQotI2RlZmluZSBTUkVfU1BBQ0VfTUFTSyAyCi0jZGVmaW5lIFNSRV9MSU5FQlJFQUtfTUFTSyA0Ci0jZGVmaW5lIFNSRV9BTE5VTV9NQVNLIDgKLSNkZWZpbmUgU1JFX1dPUkRfTUFTSyAxNgotCi0vKiBGSVhNRTogdGhpcyBhc3N1bWVzIEFTQ0lJLiAgY3JlYXRlIHRhYmxlcyBpbiBpbml0X3NyZSgpIGluc3RlYWQgKi8KLQotc3RhdGljIGNoYXIgc3JlX2NoYXJfaW5mb1sxMjhdID0geyAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyLCA2LCAyLAotMiwgMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMiwgMCwgMCwKLTAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwKLTI1LCAyNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsCi0yNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMCwgMCwKLTAsIDAsIDE2LCAwLCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsCi0yNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAwLCAwLCAwLCAwLCAwIH07Ci0KLXN0YXRpYyBjaGFyIHNyZV9jaGFyX2xvd2VyWzEyOF0gPSB7IDAsIDEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDksCi0xMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMTcsIDE4LCAxOSwgMjAsIDIxLCAyMiwgMjMsIDI0LCAyNSwgMjYsCi0yNywgMjgsIDI5LCAzMCwgMzEsIDMyLCAzMywgMzQsIDM1LCAzNiwgMzcsIDM4LCAzOSwgNDAsIDQxLCA0MiwgNDMsCi00NCwgNDUsIDQ2LCA0NywgNDgsIDQ5LCA1MCwgNTEsIDUyLCA1MywgNTQsIDU1LCA1NiwgNTcsIDU4LCA1OSwgNjAsCi02MSwgNjIsIDYzLCA2NCwgOTcsIDk4LCA5OSwgMTAwLCAxMDEsIDEwMiwgMTAzLCAxMDQsIDEwNSwgMTA2LCAxMDcsCi0xMDgsIDEwOSwgMTEwLCAxMTEsIDExMiwgMTEzLCAxMTQsIDExNSwgMTE2LCAxMTcsIDExOCwgMTE5LCAxMjAsIDEyMSwKLTEyMiwgOTEsIDkyLCA5MywgOTQsIDk1LCA5NiwgOTcsIDk4LCA5OSwgMTAwLCAxMDEsIDEwMiwgMTAzLCAxMDQsIDEwNSwKLTEwNiwgMTA3LCAxMDgsIDEwOSwgMTEwLCAxMTEsIDExMiwgMTEzLCAxMTQsIDExNSwgMTE2LCAxMTcsIDExOCwgMTE5LAotMTIwLCAxMjEsIDEyMiwgMTIzLCAxMjQsIDEyNSwgMTI2LCAxMjcgfTsKLQogI2RlZmluZSBTUkVfSVNfRElHSVQoY2gpXAotICAgICgoY2gpIDwgMTI4ID8gKHNyZV9jaGFyX2luZm9bKGNoKV0gJiBTUkVfRElHSVRfTUFTSykgOiAwKQorICAgICgoY2gpIDwgMTI4ICYmIFB5X0lTRElHSVQoY2gpKQogI2RlZmluZSBTUkVfSVNfU1BBQ0UoY2gpXAotICAgICgoY2gpIDwgMTI4ID8gKHNyZV9jaGFyX2luZm9bKGNoKV0gJiBTUkVfU1BBQ0VfTUFTSykgOiAwKQorICAgICgoY2gpIDwgMTI4ICYmIFB5X0lTU1BBQ0UoY2gpKQogI2RlZmluZSBTUkVfSVNfTElORUJSRUFLKGNoKVwKLSAgICAoKGNoKSA8IDEyOCA/IChzcmVfY2hhcl9pbmZvWyhjaCldICYgU1JFX0xJTkVCUkVBS19NQVNLKSA6IDApCisgICAgKChjaCkgPT0gJ1xuJykKICNkZWZpbmUgU1JFX0lTX0FMTlVNKGNoKVwKLSAgICAoKGNoKSA8IDEyOCA/IChzcmVfY2hhcl9pbmZvWyhjaCldICYgU1JFX0FMTlVNX01BU0spIDogMCkKKyAgICAoKGNoKSA8IDEyOCAmJiBQeV9JU0FMTlVNKGNoKSkKICNkZWZpbmUgU1JFX0lTX1dPUkQoY2gpXAotICAgICgoY2gpIDwgMTI4ID8gKHNyZV9jaGFyX2luZm9bKGNoKV0gJiBTUkVfV09SRF9NQVNLKSA6IDApCisgICAgKChjaCkgPCAxMjggJiYgKFB5X0lTQUxOVU0oY2gpIHx8IChjaCkgPT0gJ18nKSkKIAogc3RhdGljIHVuc2lnbmVkIGludCBzcmVfbG93ZXIodW5zaWduZWQgaW50IGNoKQogewotICAgIHJldHVybiAoKGNoKSA8IDEyOCA/ICh1bnNpZ25lZCBpbnQpc3JlX2NoYXJfbG93ZXJbY2hdIDogY2gpOworICAgIHJldHVybiAoKGNoKSA8IDEyOCA/IFB5X1RPTE9XRVIoY2gpIDogY2gpOworfQorCitzdGF0aWMgdW5zaWduZWQgaW50IHNyZV91cHBlcih1bnNpZ25lZCBpbnQgY2gpCit7CisgICAgcmV0dXJuICgoY2gpIDwgMTI4ID8gUHlfVE9VUFBFUihjaCkgOiBjaCk7CiB9CiAKIC8qIGxvY2FsZS1zcGVjaWZpYyBjaGFyYWN0ZXIgcHJlZGljYXRlcyAqLwpAQCAtMTUyLDYgKzEyOSwxMSBAQAogICAgIHJldHVybiAoKGNoKSA8IDI1NiA/ICh1bnNpZ25lZCBpbnQpdG9sb3dlcigoY2gpKSA6IGNoKTsKIH0KIAorc3RhdGljIHVuc2lnbmVkIGludCBzcmVfdXBwZXJfbG9jYWxlKHVuc2lnbmVkIGludCBjaCkKK3sKKyAgICByZXR1cm4gKChjaCkgPCAyNTYgPyAodW5zaWduZWQgaW50KXRvdXBwZXIoKGNoKSkgOiBjaCk7Cit9CisKIC8qIHVuaWNvZGUtc3BlY2lmaWMgY2hhcmFjdGVyIHByZWRpY2F0ZXMgKi8KIAogI2RlZmluZSBTUkVfVU5JX0lTX0RJR0lUKGNoKSBQeV9VTklDT0RFX0lTREVDSU1BTChjaCkKQEAgLTE2NSw2ICsxNDcsMTEgQEAKICAgICByZXR1cm4gKHVuc2lnbmVkIGludCkgUHlfVU5JQ09ERV9UT0xPV0VSKGNoKTsKIH0KIAorc3RhdGljIHVuc2lnbmVkIGludCBzcmVfdXBwZXJfdW5pY29kZSh1bnNpZ25lZCBpbnQgY2gpCit7CisgICAgcmV0dXJuICh1bnNpZ25lZCBpbnQpIFB5X1VOSUNPREVfVE9VUFBFUihjaCk7Cit9CisKIExPQ0FMKGludCkKIHNyZV9jYXRlZ29yeShTUkVfQ09ERSBjYXRlZ29yeSwgdW5zaWduZWQgaW50IGNoKQogewpAQCAtMzU3LDYgKzM0NCwxMSBAQAogCiAgICAgbWVtc2V0KHN0YXRlLCAwLCBzaXplb2YoU1JFX1NUQVRFKSk7CiAKKyAgICBzdGF0ZS0+bWFyayA9IFB5TWVtX05ldyh2b2lkICosIHBhdHRlcm4tPmdyb3VwcyAqIDIpOworICAgIGlmICghc3RhdGUtPm1hcmspIHsKKyAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKKyAgICAgICAgZ290byBlcnI7CisgICAgfQogICAgIHN0YXRlLT5sYXN0bWFyayA9IC0xOwogICAgIHN0YXRlLT5sYXN0aW5kZXggPSAtMTsKIApAQCAtNDAwLDE1ICszOTIsMjMgQEAKICAgICBzdGF0ZS0+cG9zID0gc3RhcnQ7CiAgICAgc3RhdGUtPmVuZHBvcyA9IGVuZDsKIAotICAgIGlmIChwYXR0ZXJuLT5mbGFncyAmIFNSRV9GTEFHX0xPQ0FMRSkKKyAgICBpZiAocGF0dGVybi0+ZmxhZ3MgJiBTUkVfRkxBR19MT0NBTEUpIHsKICAgICAgICAgc3RhdGUtPmxvd2VyID0gc3JlX2xvd2VyX2xvY2FsZTsKLSAgICBlbHNlIGlmIChwYXR0ZXJuLT5mbGFncyAmIFNSRV9GTEFHX1VOSUNPREUpCisgICAgICAgIHN0YXRlLT51cHBlciA9IHNyZV91cHBlcl9sb2NhbGU7CisgICAgfQorICAgIGVsc2UgaWYgKHBhdHRlcm4tPmZsYWdzICYgU1JFX0ZMQUdfVU5JQ09ERSkgewogICAgICAgICBzdGF0ZS0+bG93ZXIgPSBzcmVfbG93ZXJfdW5pY29kZTsKLSAgICBlbHNlCisgICAgICAgIHN0YXRlLT51cHBlciA9IHNyZV91cHBlcl91bmljb2RlOworICAgIH0KKyAgICBlbHNlIHsKICAgICAgICAgc3RhdGUtPmxvd2VyID0gc3JlX2xvd2VyOworICAgICAgICBzdGF0ZS0+dXBwZXIgPSBzcmVfdXBwZXI7CisgICAgfQogCiAgICAgcmV0dXJuIHN0cmluZzsKICAgZXJyOgorICAgIFB5TWVtX0RlbChzdGF0ZS0+bWFyayk7CisgICAgc3RhdGUtPm1hcmsgPSBOVUxMOwogICAgIGlmIChzdGF0ZS0+YnVmZmVyLmJ1ZikKICAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmc3RhdGUtPmJ1ZmZlcik7CiAgICAgcmV0dXJuIE5VTEw7CkBAIC00MjEsNiArNDIxLDggQEAKICAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmc3RhdGUtPmJ1ZmZlcik7CiAgICAgUHlfWERFQ1JFRihzdGF0ZS0+c3RyaW5nKTsKICAgICBkYXRhX3N0YWNrX2RlYWxsb2Moc3RhdGUpOworICAgIFB5TWVtX0RlbChzdGF0ZS0+bWFyayk7CisgICAgc3RhdGUtPm1hcmsgPSBOVUxMOwogfQogCiAvKiBjYWxjdWxhdGUgb2Zmc2V0IGZyb20gc3RhcnQgb2Ygc3RyaW5nICovCkBAIC01NjAsNiArNTYyLDcgQEAKICAgICBQeU9iamVjdCAqcGF0dGVybiA9IE5VTEw7CiAgICAgU1JFX1NUQVRFIHN0YXRlOwogICAgIFB5X3NzaXplX3Qgc3RhdHVzOworICAgIFB5T2JqZWN0ICptYXRjaDsKIAogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKICAgICAgICAgInxPbm4kTzptYXRjaCIsIF9rZXl3b3JkcywKQEAgLTU3OSwxMiArNTgyLDE0IEBACiAgICAgc3RhdHVzID0gc3JlX21hdGNoKCZzdGF0ZSwgUGF0dGVybk9iamVjdF9HZXRDb2RlKHNlbGYpLCAwKTsKIAogICAgIFRSQUNFKCgifCVwfCVwfEVORFxuIiwgUGF0dGVybk9iamVjdF9HZXRDb2RlKHNlbGYpLCBzdGF0ZS5wdHIpKTsKLSAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkKKyAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkgeworICAgICAgICBzdGF0ZV9maW5pKCZzdGF0ZSk7CiAgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KIAorICAgIG1hdGNoID0gcGF0dGVybl9uZXdfbWF0Y2goc2VsZiwgJnN0YXRlLCBzdGF0dXMpOwogICAgIHN0YXRlX2ZpbmkoJnN0YXRlKTsKLQotICAgIHJldHVybiAoUHlPYmplY3QgKilwYXR0ZXJuX25ld19tYXRjaChzZWxmLCAmc3RhdGUsIHN0YXR1cyk7CisgICAgcmV0dXJuIG1hdGNoOwogfQogCiBzdGF0aWMgUHlPYmplY3QqCkBAIC01OTIsNiArNTk3LDcgQEAKIHsKICAgICBTUkVfU1RBVEUgc3RhdGU7CiAgICAgUHlfc3NpemVfdCBzdGF0dXM7CisgICAgUHlPYmplY3QgKm1hdGNoOwogCiAgICAgUHlPYmplY3QgKnN0cmluZyA9IE5VTEwsICpzdHJpbmcyID0gTlVMTDsKICAgICBQeV9zc2l6ZV90IHN0YXJ0ID0gMDsKQEAgLTYxNiwxMiArNjIyLDE0IEBACiAgICAgc3RhdHVzID0gc3JlX21hdGNoKCZzdGF0ZSwgUGF0dGVybk9iamVjdF9HZXRDb2RlKHNlbGYpLCAxKTsKIAogICAgIFRSQUNFKCgifCVwfCVwfEVORFxuIiwgUGF0dGVybk9iamVjdF9HZXRDb2RlKHNlbGYpLCBzdGF0ZS5wdHIpKTsKLSAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkKKyAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkgeworICAgICAgICBzdGF0ZV9maW5pKCZzdGF0ZSk7CiAgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KIAorICAgIG1hdGNoID0gcGF0dGVybl9uZXdfbWF0Y2goc2VsZiwgJnN0YXRlLCBzdGF0dXMpOwogICAgIHN0YXRlX2ZpbmkoJnN0YXRlKTsKLQotICAgIHJldHVybiBwYXR0ZXJuX25ld19tYXRjaChzZWxmLCAmc3RhdGUsIHN0YXR1cyk7CisgICAgcmV0dXJuIG1hdGNoOwogfQogCiBzdGF0aWMgUHlPYmplY3QqCkBAIC02MjksNiArNjM3LDcgQEAKIHsKICAgICBTUkVfU1RBVEUgc3RhdGU7CiAgICAgUHlfc3NpemVfdCBzdGF0dXM7CisgICAgUHlPYmplY3QgKm1hdGNoOwogCiAgICAgUHlPYmplY3QgKnN0cmluZyA9IE5VTEwsICpzdHJpbmcyID0gTlVMTDsKICAgICBQeV9zc2l6ZV90IHN0YXJ0ID0gMDsKQEAgLTY1MiwxMiArNjYxLDE0IEBACiAKICAgICBUUkFDRSgoInwlcHwlcHxFTkRcbiIsIFBhdHRlcm5PYmplY3RfR2V0Q29kZShzZWxmKSwgc3RhdGUucHRyKSk7CiAKLSAgICBzdGF0ZV9maW5pKCZzdGF0ZSk7Ci0KLSAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkKKyAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkgeworICAgICAgICBzdGF0ZV9maW5pKCZzdGF0ZSk7CiAgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KIAotICAgIHJldHVybiBwYXR0ZXJuX25ld19tYXRjaChzZWxmLCAmc3RhdGUsIHN0YXR1cyk7CisgICAgbWF0Y2ggPSBwYXR0ZXJuX25ld19tYXRjaChzZWxmLCAmc3RhdGUsIHN0YXR1cyk7CisgICAgc3RhdGVfZmluaSgmc3RhdGUpOworICAgIHJldHVybiBtYXRjaDsKIH0KIAogc3RhdGljIFB5T2JqZWN0KgpAQCAtODUyLDYgKzg2MywxOSBAQAogICAgIGlmICghc3RyaW5nKQogICAgICAgICByZXR1cm4gTlVMTDsKIAorICAgIGFzc2VydChzZWxmLT5jb2Rlc2l6ZSAhPSAwKTsKKyAgICBpZiAoc2VsZi0+Y29kZVswXSAhPSBTUkVfT1BfSU5GTyB8fCBzZWxmLT5jb2RlWzNdID09IDApIHsKKyAgICAgICAgaWYgKHNlbGYtPmNvZGVbMF0gPT0gU1JFX09QX0lORk8gJiYgc2VsZi0+Y29kZVs0XSA9PSAwKSB7CisgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3BsaXQoKSByZXF1aXJlcyBhIG5vbi1lbXB0eSBwYXR0ZXJuIG1hdGNoLiIpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKyAgICAgICAgaWYgKFB5RXJyX1dhcm5FeChQeUV4Y19GdXR1cmVXYXJuaW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgICJzcGxpdCgpIHJlcXVpcmVzIGEgbm9uLWVtcHR5IHBhdHRlcm4gbWF0Y2guIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAxKSA8IDApCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKICAgICBzdHJpbmcgPSBzdGF0ZV9pbml0KCZzdGF0ZSwgc2VsZiwgc3RyaW5nLCAwLCBQWV9TU0laRV9UX01BWCk7CiAgICAgaWYgKCFzdHJpbmcpCiAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtMTIzNiw3ICsxMjYwLDcgQEAKICAgICB9OwogICAgIFB5T2JqZWN0ICpyZXN1bHQgPSBOVUxMOwogICAgIFB5T2JqZWN0ICpmbGFnX2l0ZW1zOwotICAgIGludCBpOworICAgIHNpemVfdCBpOwogICAgIGludCBmbGFncyA9IG9iai0+ZmxhZ3M7CiAKICAgICAvKiBPbWl0IHJlLlVOSUNPREUgZm9yIHZhbGlkIHN0cmluZyBwYXR0ZXJucy4gKi8KQEAgLTE0MTcsNyArMTQ0MSw3IEBACiAgICAgUHlPYmplY3QqIGdyb3VwaW5kZXggPSBOVUxMOwogICAgIFB5T2JqZWN0KiBpbmRleGdyb3VwID0gTlVMTDsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiT2lPIXxuT08iLCAmcGF0dGVybiwgJmZsYWdzLAorICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiT2lPIW5PTyIsICZwYXR0ZXJuLCAmZmxhZ3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICZQeUxpc3RfVHlwZSwgJmNvZGUsICZncm91cHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICZncm91cGluZGV4LCAmaW5kZXhncm91cCkpCiAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtMTU3Nyw2ICsxNjAxLDcgQEAKICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIGNhc2UgU1JFX09QX1JBTkdFOgorICAgICAgICBjYXNlIFNSRV9PUF9SQU5HRV9JR05PUkU6CiAgICAgICAgICAgICBHRVRfQVJHOwogICAgICAgICAgICAgR0VUX0FSRzsKICAgICAgICAgICAgIGJyZWFrOwpAQCAtMTkzMywxMCArMTk1OCw5IEBACiBzdGF0aWMgaW50CiBfdmFsaWRhdGVfb3V0ZXIoU1JFX0NPREUgKmNvZGUsIFNSRV9DT0RFICplbmQsIFB5X3NzaXplX3QgZ3JvdXBzKQogewotICAgIGlmIChncm91cHMgPCAwIHx8IGdyb3VwcyA+IDEwMCB8fCBjb2RlID49IGVuZCB8fCBlbmRbLTFdICE9IFNSRV9PUF9TVUNDRVNTKQorICAgIGlmIChncm91cHMgPCAwIHx8IChzaXplX3QpZ3JvdXBzID4gU1JFX01BWEdST1VQUyB8fAorICAgICAgICBjb2RlID49IGVuZCB8fCBlbmRbLTFdICE9IFNSRV9PUF9TVUNDRVNTKQogICAgICAgICBGQUlMOwotICAgIGlmIChncm91cHMgPT0gMCkgIC8qIGZpeCBmb3Igc2ltcGxlanNvbiAqLwotICAgICAgICBncm91cHMgPSAxMDA7IC8qIDEwMCBncm91cHMgc2hvdWxkIGFsd2F5cyBiZSBzYWZlICovCiAgICAgcmV0dXJuIF92YWxpZGF0ZV9pbm5lcihjb2RlLCBlbmQtMSwgZ3JvdXBzKTsKIH0KIApAQCAtMjc0Nyw2ICsyNzcxLDEyIEBACiAgICAgICAgIFB5X0RFQ1JFRih4KTsKICAgICB9CiAKKyAgICB4ID0gUHlMb25nX0Zyb21VbnNpZ25lZExvbmcoU1JFX01BWEdST1VQUyk7CisgICAgaWYgKHgpIHsKKyAgICAgICAgUHlEaWN0X1NldEl0ZW1TdHJpbmcoZCwgIk1BWEdST1VQUyIsIHgpOworICAgICAgICBQeV9ERUNSRUYoeCk7CisgICAgfQorCiAgICAgeCA9IFB5VW5pY29kZV9Gcm9tU3RyaW5nKGNvcHlyaWdodCk7CiAgICAgaWYgKHgpIHsKICAgICAgICAgUHlEaWN0X1NldEl0ZW1TdHJpbmcoZCwgImNvcHlyaWdodCIsIHgpOwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fc3NsLmMgYi9Nb2R1bGVzL19zc2wuYwppbmRleCA5MTRkNWFhLi40MzdkMmIyIDEwMDY0NAotLS0gYS9Nb2R1bGVzL19zc2wuYworKysgYi9Nb2R1bGVzL19zc2wuYwpAQCAtNjQsNiArNjQsNyBAQAogI2luY2x1ZGUgIm9wZW5zc2wvc3NsLmgiCiAjaW5jbHVkZSAib3BlbnNzbC9lcnIuaCIKICNpbmNsdWRlICJvcGVuc3NsL3JhbmQuaCIKKyNpbmNsdWRlICJvcGVuc3NsL2Jpby5oIgogCiAvKiBTU0wgZXJyb3Igb2JqZWN0ICovCiBzdGF0aWMgUHlPYmplY3QgKlB5U1NMRXJyb3JPYmplY3Q7CkBAIC0xMDgsNiArMTA5LDExIEBACiAjIGRlZmluZSBIQVZFX1NOSSAwCiAjZW5kaWYKIAorLyogQUxQTiBhZGRlZCBpbiBPcGVuU1NMIDEuMC4yICovCisjaWYgIWRlZmluZWQoTElCUkVTU0xfVkVSU0lPTl9OVU1CRVIpICYmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPj0gMHgxMDAwMjAwZkwgJiYgIWRlZmluZWQoT1BFTlNTTF9OT19UTFNFWFQpCisjIGRlZmluZSBIQVZFX0FMUE4KKyNlbmRpZgorCiBlbnVtIHB5X3NzbF9lcnJvciB7CiAgICAgLyogdGhlc2UgbWlycm9yIHNzbC5oICovCiAgICAgUFlfU1NMX0VSUk9SX05PTkUsCkBAIC0xNjEsMTMgKzE2Nyw2IEBACiAKICNkZWZpbmUgWDUwOV9OQU1FX01BWExFTiAyNTYKIAotLyogUkFORF8qIEFQSXMgZ290IGFkZGVkIHRvIE9wZW5TU0wgaW4gMC45LjUgKi8KLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSID49IDB4MDA5MDUwMGZMCi0jIGRlZmluZSBIQVZFX09QRU5TU0xfUkFORCAxCi0jZWxzZQotIyB1bmRlZiBIQVZFX09QRU5TU0xfUkFORAotI2VuZGlmCi0KIC8qIFNTTF9DVFhfY2xlYXJfb3B0aW9ucygpIGFuZCBTU0xfY2xlYXJfb3B0aW9ucygpIHdlcmUgZmlyc3QgYWRkZWQgaW4KICAqIE9wZW5TU0wgMC45LjhtIGJ1dCBkbyBub3QgYXBwZWFyIGluIHNvbWUgMC45LjktZGV2IHZlcnNpb25zIHN1Y2ggdGhlCiAgKiAwLjkuOSBmcm9tICJNYXkgMjAwOCIgdGhhdCBOZXRCU0QgNS4wIHVzZXMuICovCkBAIC0xODEsMzYgKzE4MCwxOCBAQAogICogb2xkZXIgU1NMLCBidXQgbGV0J3MgYmUgc2FmZSAqLwogI2RlZmluZSBQeVNTTF9DQl9NQVhMRU4gMTI4CiAKLS8qIFNTTF9nZXRfZmluaXNoZWQgZ290IGFkZGVkIHRvIE9wZW5TU0wgaW4gMC45LjUgKi8KLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSID49IDB4MDA5MDUwMGZMCi0jIGRlZmluZSBIQVZFX09QRU5TU0xfRklOSVNIRUQgMQotI2Vsc2UKLSMgZGVmaW5lIEhBVkVfT1BFTlNTTF9GSU5JU0hFRCAwCi0jZW5kaWYKLQotLyogRUNESCBzdXBwb3J0IGdvdCBhZGRlZCB0byBPcGVuU1NMIGluIDAuOS44ICovCi0jaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MDA5MDgwMGZMICYmICFkZWZpbmVkKE9QRU5TU0xfTk9fRUNESCkKLSMgZGVmaW5lIE9QRU5TU0xfTk9fRUNESAotI2VuZGlmCi0KLS8qIGNvbXByZXNzaW9uIHN1cHBvcnQgZ290IGFkZGVkIHRvIE9wZW5TU0wgaW4gMC45LjggKi8KLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgwMDkwODAwZkwgJiYgIWRlZmluZWQoT1BFTlNTTF9OT19DT01QKQotIyBkZWZpbmUgT1BFTlNTTF9OT19DT01QCi0jZW5kaWYKLQotLyogWDUwOV9WRVJJRllfUEFSQU0gZ290IGFkZGVkIHRvIE9wZW5TU0wgaW4gMC45LjggKi8KLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSID49IDB4MDA5MDgwMGZMCi0jIGRlZmluZSBIQVZFX09QRU5TU0xfVkVSSUZZX1BBUkFNCi0jZW5kaWYKLQogCiB0eXBlZGVmIHN0cnVjdCB7CiAgICAgUHlPYmplY3RfSEVBRAogICAgIFNTTF9DVFggKmN0eDsKICNpZmRlZiBPUEVOU1NMX05QTl9ORUdPVElBVEVECi0gICAgY2hhciAqbnBuX3Byb3RvY29sczsKKyAgICB1bnNpZ25lZCBjaGFyICpucG5fcHJvdG9jb2xzOwogICAgIGludCBucG5fcHJvdG9jb2xzX2xlbjsKICNlbmRpZgorI2lmZGVmIEhBVkVfQUxQTgorICAgIHVuc2lnbmVkIGNoYXIgKmFscG5fcHJvdG9jb2xzOworICAgIGludCBhbHBuX3Byb3RvY29sc19sZW47CisjZW5kaWYKICNpZm5kZWYgT1BFTlNTTF9OT19UTFNFWFQKICAgICBQeU9iamVjdCAqc2V0X2hvc3RuYW1lOwogI2VuZGlmCkBAIC0yMjYsMTAgKzIwNywxOSBAQAogICAgIGNoYXIgc2h1dGRvd25fc2Vlbl96ZXJvOwogICAgIGNoYXIgaGFuZHNoYWtlX2RvbmU7CiAgICAgZW51bSBweV9zc2xfc2VydmVyX29yX2NsaWVudCBzb2NrZXRfdHlwZTsKKyAgICBQeU9iamVjdCAqb3duZXI7IC8qIFB5dGhvbiBsZXZlbCAib3duZXIiIHBhc3NlZCB0byBzZXJ2ZXJuYW1lIGNhbGxiYWNrICovCisgICAgUHlPYmplY3QgKnNlcnZlcl9ob3N0bmFtZTsKIH0gUHlTU0xTb2NrZXQ7CiAKK3R5cGVkZWYgc3RydWN0IHsKKyAgICBQeU9iamVjdF9IRUFECisgICAgQklPICpiaW87CisgICAgaW50IGVvZl93cml0dGVuOworfSBQeVNTTE1lbW9yeUJJTzsKKwogc3RhdGljIFB5VHlwZU9iamVjdCBQeVNTTENvbnRleHRfVHlwZTsKIHN0YXRpYyBQeVR5cGVPYmplY3QgUHlTU0xTb2NrZXRfVHlwZTsKK3N0YXRpYyBQeVR5cGVPYmplY3QgUHlTU0xNZW1vcnlCSU9fVHlwZTsKIAogc3RhdGljIFB5T2JqZWN0ICpQeVNTTF9TU0x3cml0ZShQeVNTTFNvY2tldCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpOwogc3RhdGljIFB5T2JqZWN0ICpQeVNTTF9TU0xyZWFkKFB5U1NMU29ja2V0ICpzZWxmLCBQeU9iamVjdCAqYXJncyk7CkBAIC0yNDAsNiArMjMwLDcgQEAKIAogI2RlZmluZSBQeVNTTENvbnRleHRfQ2hlY2sodikgICAoUHlfVFlQRSh2KSA9PSAmUHlTU0xDb250ZXh0X1R5cGUpCiAjZGVmaW5lIFB5U1NMU29ja2V0X0NoZWNrKHYpICAgIChQeV9UWVBFKHYpID09ICZQeVNTTFNvY2tldF9UeXBlKQorI2RlZmluZSBQeVNTTE1lbW9yeUJJT19DaGVjayh2KSAgICAoUHlfVFlQRSh2KSA9PSAmUHlTU0xNZW1vcnlCSU9fVHlwZSkKIAogdHlwZWRlZiBlbnVtIHsKICAgICBTT0NLRVRfSVNfTk9OQkxPQ0tJTkcsCkBAIC0yNTEsMTEgKzI0MiwxMiBAQAogfSB0aW1lb3V0X3N0YXRlOwogCiAvKiBXcmFwIGVycm9yIHN0cmluZ3Mgd2l0aCBmaWxlbmFtZSBhbmQgbGluZSAjICovCi0jZGVmaW5lIFNUUklOR0lGWTEoeCkgI3gKLSNkZWZpbmUgU1RSSU5HSUZZMih4KSBTVFJJTkdJRlkxKHgpCiAjZGVmaW5lIEVSUlNUUjEoeCx5LHopICh4ICI6IiB5ICI6ICIgeikKLSNkZWZpbmUgRVJSU1RSKHgpIEVSUlNUUjEoIl9zc2wuYyIsIFNUUklOR0lGWTIoX19MSU5FX18pLCB4KQorI2RlZmluZSBFUlJTVFIoeCkgRVJSU1RSMSgiX3NzbC5jIiwgUHlfU1RSSU5HSUZZKF9fTElORV9fKSwgeCkKIAorLyogR2V0IHRoZSBzb2NrZXQgZnJvbSBhIFB5U1NMU29ja2V0LCBpZiBpdCBoYXMgb25lICovCisjZGVmaW5lIEdFVF9TT0NLRVQob2JqKSAoKG9iaiktPlNvY2tldCA/IFwKKyAgICAoUHlTb2NrZXRTb2NrT2JqZWN0ICopIFB5V2Vha3JlZl9HZXRPYmplY3QoKG9iaiktPlNvY2tldCkgOiBOVUxMKQogCiAvKgogICogU1NMIGVycm9ycy4KQEAgLTQxOSwxMyArNDExLDEyIEBACiAgICAgICAgIGNhc2UgU1NMX0VSUk9SX1NZU0NBTEw6CiAgICAgICAgIHsKICAgICAgICAgICAgIGlmIChlID09IDApIHsKLSAgICAgICAgICAgICAgICBQeVNvY2tldFNvY2tPYmplY3QgKnMKLSAgICAgICAgICAgICAgICAgID0gKFB5U29ja2V0U29ja09iamVjdCAqKSBQeVdlYWtyZWZfR2V0T2JqZWN0KG9iai0+U29ja2V0KTsKKyAgICAgICAgICAgICAgICBQeVNvY2tldFNvY2tPYmplY3QgKnMgPSBHRVRfU09DS0VUKG9iaik7CiAgICAgICAgICAgICAgICAgaWYgKHJldCA9PSAwIHx8ICgoKFB5T2JqZWN0ICopcykgPT0gUHlfTm9uZSkpIHsKICAgICAgICAgICAgICAgICAgICAgcCA9IFBZX1NTTF9FUlJPUl9FT0Y7CiAgICAgICAgICAgICAgICAgICAgIHR5cGUgPSBQeVNTTEVPRkVycm9yT2JqZWN0OwogICAgICAgICAgICAgICAgICAgICBlcnJzdHIgPSAiRU9GIG9jY3VycmVkIGluIHZpb2xhdGlvbiBvZiBwcm90b2NvbCI7Ci0gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChyZXQgPT0gLTEpIHsKKyAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHMgJiYgcmV0ID09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgIC8qIHVuZGVybHlpbmcgQklPIHJlcG9ydGVkIGFuIEkvTyBlcnJvciAqLwogICAgICAgICAgICAgICAgICAgICBQeV9JTkNSRUYocyk7CiAgICAgICAgICAgICAgICAgICAgIEVSUl9jbGVhcl9lcnJvcigpOwpAQCAtNDc5LDEwICs0NzAsMTIgQEAKIHN0YXRpYyBQeVNTTFNvY2tldCAqCiBuZXdQeVNTTFNvY2tldChQeVNTTENvbnRleHQgKnNzbGN0eCwgUHlTb2NrZXRTb2NrT2JqZWN0ICpzb2NrLAogICAgICAgICAgICAgICAgZW51bSBweV9zc2xfc2VydmVyX29yX2NsaWVudCBzb2NrZXRfdHlwZSwKLSAgICAgICAgICAgICAgIGNoYXIgKnNlcnZlcl9ob3N0bmFtZSkKKyAgICAgICAgICAgICAgIGNoYXIgKnNlcnZlcl9ob3N0bmFtZSwKKyAgICAgICAgICAgICAgIFB5U1NMTWVtb3J5QklPICppbmJpbywgUHlTU0xNZW1vcnlCSU8gKm91dGJpbykKIHsKICAgICBQeVNTTFNvY2tldCAqc2VsZjsKICAgICBTU0xfQ1RYICpjdHggPSBzc2xjdHgtPmN0eDsKKyAgICBQeU9iamVjdCAqaG9zdG5hbWU7CiAgICAgbG9uZyBtb2RlOwogCiAgICAgc2VsZiA9IFB5T2JqZWN0X05ldyhQeVNTTFNvY2tldCwgJlB5U1NMU29ja2V0X1R5cGUpOwpAQCAtNDk1LDYgKzQ4OCwxOCBAQAogICAgIHNlbGYtPmN0eCA9IHNzbGN0eDsKICAgICBzZWxmLT5zaHV0ZG93bl9zZWVuX3plcm8gPSAwOwogICAgIHNlbGYtPmhhbmRzaGFrZV9kb25lID0gMDsKKyAgICBzZWxmLT5vd25lciA9IE5VTEw7CisgICAgaWYgKHNlcnZlcl9ob3N0bmFtZSAhPSBOVUxMKSB7CisgICAgICAgIGhvc3RuYW1lID0gUHlVbmljb2RlX0RlY29kZShzZXJ2ZXJfaG9zdG5hbWUsIHN0cmxlbihzZXJ2ZXJfaG9zdG5hbWUpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRuYSIsICJzdHJpY3QiKTsKKyAgICAgICAgaWYgKGhvc3RuYW1lID09IE5VTEwpIHsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihzZWxmKTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisgICAgICAgIHNlbGYtPnNlcnZlcl9ob3N0bmFtZSA9IGhvc3RuYW1lOworICAgIH0gZWxzZQorICAgICAgICBzZWxmLT5zZXJ2ZXJfaG9zdG5hbWUgPSBOVUxMOworCiAgICAgUHlfSU5DUkVGKHNzbGN0eCk7CiAKICAgICAvKiBNYWtlIHN1cmUgdGhlIFNTTCBlcnJvciBzdGF0ZSBpcyBpbml0aWFsaXplZCAqLwpAQCAtNTA0LDggKzUwOSwxNyBAQAogICAgIFB5U1NMX0JFR0lOX0FMTE9XX1RIUkVBRFMKICAgICBzZWxmLT5zc2wgPSBTU0xfbmV3KGN0eCk7CiAgICAgUHlTU0xfRU5EX0FMTE9XX1RIUkVBRFMKLSAgICBTU0xfc2V0X2FwcF9kYXRhKHNlbGYtPnNzbCxzZWxmKTsKLSAgICBTU0xfc2V0X2ZkKHNlbGYtPnNzbCwgUHlfU0FGRV9ET1dOQ0FTVChzb2NrLT5zb2NrX2ZkLCBTT0NLRVRfVCwgaW50KSk7CisgICAgU1NMX3NldF9hcHBfZGF0YShzZWxmLT5zc2wsIHNlbGYpOworICAgIGlmIChzb2NrKSB7CisgICAgICAgIFNTTF9zZXRfZmQoc2VsZi0+c3NsLCBQeV9TQUZFX0RPV05DQVNUKHNvY2stPnNvY2tfZmQsIFNPQ0tFVF9ULCBpbnQpKTsKKyAgICB9IGVsc2UgeworICAgICAgICAvKiBCSU9zIGFyZSByZWZlcmVuY2UgY291bnRlZCBhbmQgU1NMX3NldF9iaW8gYm9ycm93cyBvdXIgcmVmZXJlbmNlLgorICAgICAgICAgKiBUbyBwcmV2ZW50IGEgZG91YmxlIGZyZWUgaW4gbWVtb3J5X2Jpb19kZWFsbG9jKCkgd2UgbmVlZCB0byB0YWtlIGFuCisgICAgICAgICAqIGV4dHJhIHJlZmVyZW5jZSBoZXJlLiAqLworICAgICAgICBDUllQVE9fYWRkKCZpbmJpby0+YmlvLT5yZWZlcmVuY2VzLCAxLCBDUllQVE9fTE9DS19CSU8pOworICAgICAgICBDUllQVE9fYWRkKCZvdXRiaW8tPmJpby0+cmVmZXJlbmNlcywgMSwgQ1JZUFRPX0xPQ0tfQklPKTsKKyAgICAgICAgU1NMX3NldF9iaW8oc2VsZi0+c3NsLCBpbmJpby0+YmlvLCBvdXRiaW8tPmJpbyk7CisgICAgfQogICAgIG1vZGUgPSBTU0xfTU9ERV9BQ0NFUFRfTU9WSU5HX1dSSVRFX0JVRkZFUjsKICNpZmRlZiBTU0xfTU9ERV9BVVRPX1JFVFJZCiAgICAgbW9kZSB8PSBTU0xfTU9ERV9BVVRPX1JFVFJZOwpAQCAtNTIwLDcgKzUzNCw3IEBACiAgICAgLyogSWYgdGhlIHNvY2tldCBpcyBpbiBub24tYmxvY2tpbmcgbW9kZSBvciB0aW1lb3V0IG1vZGUsIHNldCB0aGUgQklPCiAgICAgICogdG8gbm9uLWJsb2NraW5nIG1vZGUgKGJsb2NraW5nIGlzIHRoZSBkZWZhdWx0KQogICAgICAqLwotICAgIGlmIChzb2NrLT5zb2NrX3RpbWVvdXQgPj0gMC4wKSB7CisgICAgaWYgKHNvY2sgJiYgc29jay0+c29ja190aW1lb3V0ID49IDAuMCkgewogICAgICAgICBCSU9fc2V0X25iaW8oU1NMX2dldF9yYmlvKHNlbGYtPnNzbCksIDEpOwogICAgICAgICBCSU9fc2V0X25iaW8oU1NMX2dldF93YmlvKHNlbGYtPnNzbCksIDEpOwogICAgIH0KQEAgLTUzMywxMCArNTQ3LDEzIEBACiAgICAgUHlTU0xfRU5EX0FMTE9XX1RIUkVBRFMKIAogICAgIHNlbGYtPnNvY2tldF90eXBlID0gc29ja2V0X3R5cGU7Ci0gICAgc2VsZi0+U29ja2V0ID0gUHlXZWFrcmVmX05ld1JlZigoUHlPYmplY3QgKikgc29jaywgTlVMTCk7Ci0gICAgaWYgKHNlbGYtPlNvY2tldCA9PSBOVUxMKSB7Ci0gICAgICAgIFB5X0RFQ1JFRihzZWxmKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKHNvY2sgIT0gTlVMTCkgeworICAgICAgICBzZWxmLT5Tb2NrZXQgPSBQeVdlYWtyZWZfTmV3UmVmKChQeU9iamVjdCAqKSBzb2NrLCBOVUxMKTsKKyAgICAgICAgaWYgKHNlbGYtPlNvY2tldCA9PSBOVUxMKSB7CisgICAgICAgICAgICBQeV9ERUNSRUYoc2VsZik7CisgICAgICAgICAgICBQeV9YREVDUkVGKHNlbGYtPnNlcnZlcl9ob3N0bmFtZSk7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQogICAgIH0KICAgICByZXR1cm4gc2VsZjsKIH0KQEAgLTU0OCwyMCArNTY1LDIxIEBACiAgICAgaW50IHJldDsKICAgICBpbnQgZXJyOwogICAgIGludCBzb2Nrc3RhdGUsIG5vbmJsb2NraW5nOwotICAgIFB5U29ja2V0U29ja09iamVjdCAqc29jawotICAgICAgPSAoUHlTb2NrZXRTb2NrT2JqZWN0ICopIFB5V2Vha3JlZl9HZXRPYmplY3Qoc2VsZi0+U29ja2V0KTsKKyAgICBQeVNvY2tldFNvY2tPYmplY3QgKnNvY2sgPSBHRVRfU09DS0VUKHNlbGYpOwogCi0gICAgaWYgKCgoUHlPYmplY3QqKXNvY2spID09IFB5X05vbmUpIHsKLSAgICAgICAgX3NldFNTTEVycm9yKCJVbmRlcmx5aW5nIHNvY2tldCBjb25uZWN0aW9uIGdvbmUiLAotICAgICAgICAgICAgICAgICAgICAgUFlfU1NMX0VSUk9SX05PX1NPQ0tFVCwgX19GSUxFX18sIF9fTElORV9fKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKHNvY2spIHsKKyAgICAgICAgaWYgKCgoUHlPYmplY3QqKXNvY2spID09IFB5X05vbmUpIHsKKyAgICAgICAgICAgIF9zZXRTU0xFcnJvcigiVW5kZXJseWluZyBzb2NrZXQgY29ubmVjdGlvbiBnb25lIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBQWV9TU0xfRVJST1JfTk9fU09DS0VULCBfX0ZJTEVfXywgX19MSU5FX18pOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKyAgICAgICAgUHlfSU5DUkVGKHNvY2spOworCisgICAgICAgIC8qIGp1c3QgaW4gY2FzZSB0aGUgYmxvY2tpbmcgc3RhdGUgb2YgdGhlIHNvY2tldCBoYXMgYmVlbiBjaGFuZ2VkICovCisgICAgICAgIG5vbmJsb2NraW5nID0gKHNvY2stPnNvY2tfdGltZW91dCA+PSAwLjApOworICAgICAgICBCSU9fc2V0X25iaW8oU1NMX2dldF9yYmlvKHNlbGYtPnNzbCksIG5vbmJsb2NraW5nKTsKKyAgICAgICAgQklPX3NldF9uYmlvKFNTTF9nZXRfd2JpbyhzZWxmLT5zc2wpLCBub25ibG9ja2luZyk7CiAgICAgfQotICAgIFB5X0lOQ1JFRihzb2NrKTsKLQotICAgIC8qIGp1c3QgaW4gY2FzZSB0aGUgYmxvY2tpbmcgc3RhdGUgb2YgdGhlIHNvY2tldCBoYXMgYmVlbiBjaGFuZ2VkICovCi0gICAgbm9uYmxvY2tpbmcgPSAoc29jay0+c29ja190aW1lb3V0ID49IDAuMCk7Ci0gICAgQklPX3NldF9uYmlvKFNTTF9nZXRfcmJpbyhzZWxmLT5zc2wpLCBub25ibG9ja2luZyk7Ci0gICAgQklPX3NldF9uYmlvKFNTTF9nZXRfd2JpbyhzZWxmLT5zc2wpLCBub25ibG9ja2luZyk7CiAKICAgICAvKiBBY3R1YWxseSBuZWdvdGlhdGUgU1NMIGNvbm5lY3Rpb24gKi8KICAgICAvKiBYWFggSWYgU1NMX2RvX2hhbmRzaGFrZSgpIHJldHVybnMgMCwgaXQncyBhbHNvIGEgZmFpbHVyZS4gKi8KQEAgLTU5NSw3ICs2MTMsNyBAQAogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICB9IHdoaWxlIChlcnIgPT0gU1NMX0VSUk9SX1dBTlRfUkVBRCB8fCBlcnIgPT0gU1NMX0VSUk9SX1dBTlRfV1JJVEUpOwotICAgIFB5X0RFQ1JFRihzb2NrKTsKKyAgICBQeV9YREVDUkVGKHNvY2spOwogICAgIGlmIChyZXQgPCAxKQogICAgICAgICByZXR1cm4gUHlTU0xfU2V0RXJyb3Ioc2VsZiwgcmV0LCBfX0ZJTEVfXywgX19MSU5FX18pOwogCkBAIC02MTAsNyArNjI4LDcgQEAKICAgICByZXR1cm4gUHlfTm9uZTsKIAogZXJyb3I6Ci0gICAgUHlfREVDUkVGKHNvY2spOworICAgIFB5X1hERUNSRUYoc29jayk7CiAgICAgcmV0dXJuIE5VTEw7CiB9CiAKQEAgLTc3OSwxMiArNzk3LDcgQEAKICAgICBjaGFyIGJ1ZlsyMDQ4XTsKICAgICBjaGFyICp2cHRyOwogICAgIGludCBsZW47Ci0gICAgLyogSXNzdWUgIzI5NzM6IEFTTjFfaXRlbV9kMmkoKSBBUEkgY2hhbmdlZCBpbiBPcGVuU1NMIDAuOS42bSAqLwotI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPj0gMHgwMDkwNjBkZkwKICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpwOwotI2Vsc2UKLSAgICB1bnNpZ25lZCBjaGFyICpwOwotI2VuZGlmCiAKICAgICBpZiAoY2VydGlmaWNhdGUgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIHBlZXJfYWx0X25hbWVzOwpAQCAtMTM1Niw1NCArMTM2OSw5NiBAQAogcGVlciBjZXJ0aWZpY2F0ZSwgb3IgTm9uZSBpZiBubyBjZXJ0aWZpY2F0ZSB3YXMgcHJvdmlkZWQuICBUaGlzIHdpbGxcblwKIHJldHVybiB0aGUgY2VydGlmaWNhdGUgZXZlbiBpZiBpdCB3YXNuJ3QgdmFsaWRhdGVkLiIpOwogCi1zdGF0aWMgUHlPYmplY3QgKlB5U1NMX2NpcGhlciAoUHlTU0xTb2NrZXQgKnNlbGYpIHsKLQotICAgIFB5T2JqZWN0ICpyZXR2YWwsICp2OwotICAgIGNvbnN0IFNTTF9DSVBIRVIgKmN1cnJlbnQ7Ci0gICAgY2hhciAqY2lwaGVyX25hbWU7Ci0gICAgY2hhciAqY2lwaGVyX3Byb3RvY29sOwotCi0gICAgaWYgKHNlbGYtPnNzbCA9PSBOVUxMKQotICAgICAgICBQeV9SRVRVUk5fTk9ORTsKLSAgICBjdXJyZW50ID0gU1NMX2dldF9jdXJyZW50X2NpcGhlcihzZWxmLT5zc2wpOwotICAgIGlmIChjdXJyZW50ID09IE5VTEwpCi0gICAgICAgIFB5X1JFVFVSTl9OT05FOwotCi0gICAgcmV0dmFsID0gUHlUdXBsZV9OZXcoMyk7CitzdGF0aWMgUHlPYmplY3QgKgorY2lwaGVyX3RvX3R1cGxlKGNvbnN0IFNTTF9DSVBIRVIgKmNpcGhlcikKK3sKKyAgICBjb25zdCBjaGFyICpjaXBoZXJfbmFtZSwgKmNpcGhlcl9wcm90b2NvbDsKKyAgICBQeU9iamVjdCAqdiwgKnJldHZhbCA9IFB5VHVwbGVfTmV3KDMpOwogICAgIGlmIChyZXR2YWwgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICBjaXBoZXJfbmFtZSA9IChjaGFyICopIFNTTF9DSVBIRVJfZ2V0X25hbWUoY3VycmVudCk7CisgICAgY2lwaGVyX25hbWUgPSBTU0xfQ0lQSEVSX2dldF9uYW1lKGNpcGhlcik7CiAgICAgaWYgKGNpcGhlcl9uYW1lID09IE5VTEwpIHsKICAgICAgICAgUHlfSU5DUkVGKFB5X05vbmUpOwogICAgICAgICBQeVR1cGxlX1NFVF9JVEVNKHJldHZhbCwgMCwgUHlfTm9uZSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgdiA9IFB5VW5pY29kZV9Gcm9tU3RyaW5nKGNpcGhlcl9uYW1lKTsKICAgICAgICAgaWYgKHYgPT0gTlVMTCkKLSAgICAgICAgICAgIGdvdG8gZmFpbDA7CisgICAgICAgICAgICBnb3RvIGZhaWw7CiAgICAgICAgIFB5VHVwbGVfU0VUX0lURU0ocmV0dmFsLCAwLCB2KTsKICAgICB9Ci0gICAgY2lwaGVyX3Byb3RvY29sID0gKGNoYXIgKikgU1NMX0NJUEhFUl9nZXRfdmVyc2lvbihjdXJyZW50KTsKKworICAgIGNpcGhlcl9wcm90b2NvbCA9IFNTTF9DSVBIRVJfZ2V0X3ZlcnNpb24oY2lwaGVyKTsKICAgICBpZiAoY2lwaGVyX3Byb3RvY29sID09IE5VTEwpIHsKICAgICAgICAgUHlfSU5DUkVGKFB5X05vbmUpOwogICAgICAgICBQeVR1cGxlX1NFVF9JVEVNKHJldHZhbCwgMSwgUHlfTm9uZSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgdiA9IFB5VW5pY29kZV9Gcm9tU3RyaW5nKGNpcGhlcl9wcm90b2NvbCk7CiAgICAgICAgIGlmICh2ID09IE5VTEwpCi0gICAgICAgICAgICBnb3RvIGZhaWwwOworICAgICAgICAgICAgZ290byBmYWlsOwogICAgICAgICBQeVR1cGxlX1NFVF9JVEVNKHJldHZhbCwgMSwgdik7CiAgICAgfQotICAgIHYgPSBQeUxvbmdfRnJvbUxvbmcoU1NMX0NJUEhFUl9nZXRfYml0cyhjdXJyZW50LCBOVUxMKSk7CisKKyAgICB2ID0gUHlMb25nX0Zyb21Mb25nKFNTTF9DSVBIRVJfZ2V0X2JpdHMoY2lwaGVyLCBOVUxMKSk7CiAgICAgaWYgKHYgPT0gTlVMTCkKLSAgICAgICAgZ290byBmYWlsMDsKKyAgICAgICAgZ290byBmYWlsOwogICAgIFB5VHVwbGVfU0VUX0lURU0ocmV0dmFsLCAyLCB2KTsKKwogICAgIHJldHVybiByZXR2YWw7CiAKLSAgZmFpbDA6CisgIGZhaWw6CiAgICAgUHlfREVDUkVGKHJldHZhbCk7CiAgICAgcmV0dXJuIE5VTEw7CiB9CiAKK3N0YXRpYyBQeU9iamVjdCAqUHlTU0xfc2hhcmVkX2NpcGhlcnMoUHlTU0xTb2NrZXQgKnNlbGYpCit7CisgICAgU1NMX1NFU1NJT04gKnNlc3MgPSBTU0xfZ2V0X3Nlc3Npb24oc2VsZi0+c3NsKTsKKyAgICBTVEFDS19PRihTU0xfQ0lQSEVSKSAqY2lwaGVyczsKKyAgICBpbnQgaTsKKyAgICBQeU9iamVjdCAqcmVzOworCisgICAgaWYgKCFzZXNzIHx8ICFzZXNzLT5jaXBoZXJzKQorICAgICAgICBQeV9SRVRVUk5fTk9ORTsKKyAgICBjaXBoZXJzID0gc2Vzcy0+Y2lwaGVyczsKKyAgICByZXMgPSBQeUxpc3RfTmV3KHNrX1NTTF9DSVBIRVJfbnVtKGNpcGhlcnMpKTsKKyAgICBpZiAoIXJlcykKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgZm9yIChpID0gMDsgaSA8IHNrX1NTTF9DSVBIRVJfbnVtKGNpcGhlcnMpOyBpKyspIHsKKyAgICAgICAgUHlPYmplY3QgKnR1cCA9IGNpcGhlcl90b190dXBsZShza19TU0xfQ0lQSEVSX3ZhbHVlKGNpcGhlcnMsIGkpKTsKKyAgICAgICAgaWYgKCF0dXApIHsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihyZXMpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKyAgICAgICAgUHlMaXN0X1NFVF9JVEVNKHJlcywgaSwgdHVwKTsKKyAgICB9CisgICAgcmV0dXJuIHJlczsKK30KKworc3RhdGljIFB5T2JqZWN0ICpQeVNTTF9jaXBoZXIgKFB5U1NMU29ja2V0ICpzZWxmKQoreworICAgIGNvbnN0IFNTTF9DSVBIRVIgKmN1cnJlbnQ7CisKKyAgICBpZiAoc2VsZi0+c3NsID09IE5VTEwpCisgICAgICAgIFB5X1JFVFVSTl9OT05FOworICAgIGN1cnJlbnQgPSBTU0xfZ2V0X2N1cnJlbnRfY2lwaGVyKHNlbGYtPnNzbCk7CisgICAgaWYgKGN1cnJlbnQgPT0gTlVMTCkKKyAgICAgICAgUHlfUkVUVVJOX05PTkU7CisgICAgcmV0dXJuIGNpcGhlcl90b190dXBsZShjdXJyZW50KTsKK30KKworc3RhdGljIFB5T2JqZWN0ICpQeVNTTF92ZXJzaW9uKFB5U1NMU29ja2V0ICpzZWxmKQoreworICAgIGNvbnN0IGNoYXIgKnZlcnNpb247CisKKyAgICBpZiAoc2VsZi0+c3NsID09IE5VTEwpCisgICAgICAgIFB5X1JFVFVSTl9OT05FOworICAgIHZlcnNpb24gPSBTU0xfZ2V0X3ZlcnNpb24oc2VsZi0+c3NsKTsKKyAgICBpZiAoIXN0cmNtcCh2ZXJzaW9uLCAidW5rbm93biIpKQorICAgICAgICBQeV9SRVRVUk5fTk9ORTsKKyAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21TdHJpbmcodmVyc2lvbik7Cit9CisKICNpZmRlZiBPUEVOU1NMX05QTl9ORUdPVElBVEVECiBzdGF0aWMgUHlPYmplY3QgKlB5U1NMX3NlbGVjdGVkX25wbl9wcm90b2NvbChQeVNTTFNvY2tldCAqc2VsZikgewogICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKm91dDsKQEAgLTE0MTQsNyArMTQ2OSwyMCBAQAogCiAgICAgaWYgKG91dCA9PSBOVUxMKQogICAgICAgICBQeV9SRVRVUk5fTk9ORTsKLSAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21TdHJpbmdBbmRTaXplKChjaGFyICopIG91dCwgb3V0bGVuKTsKKyAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21TdHJpbmdBbmRTaXplKChjaGFyICopb3V0LCBvdXRsZW4pOworfQorI2VuZGlmCisKKyNpZmRlZiBIQVZFX0FMUE4KK3N0YXRpYyBQeU9iamVjdCAqUHlTU0xfc2VsZWN0ZWRfYWxwbl9wcm90b2NvbChQeVNTTFNvY2tldCAqc2VsZikgeworICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKm91dDsKKyAgICB1bnNpZ25lZCBpbnQgb3V0bGVuOworCisgICAgU1NMX2dldDBfYWxwbl9zZWxlY3RlZChzZWxmLT5zc2wsICZvdXQsICZvdXRsZW4pOworCisgICAgaWYgKG91dCA9PSBOVUxMKQorICAgICAgICBQeV9SRVRVUk5fTk9ORTsKKyAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21TdHJpbmdBbmRTaXplKChjaGFyICopb3V0LCBvdXRsZW4pOwogfQogI2VuZGlmCiAKQEAgLTE0NzMsNiArMTU0MSw1NCBAQAogU1NMU29ja2V0IGJlZm9yZSB0aGUgY3J5cHRvZ3JhcGhpYyBleGNoYW5nZSBoYW5kc2hha2UgbWVzc2FnZXNcbiIpOwogCiAKK3N0YXRpYyBQeU9iamVjdCAqCitQeVNTTF9nZXRfc2VydmVyX3NpZGUoUHlTU0xTb2NrZXQgKnNlbGYsIHZvaWQgKmMpCit7CisgICAgcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZyhzZWxmLT5zb2NrZXRfdHlwZSA9PSBQWV9TU0xfU0VSVkVSKTsKK30KKworUHlEb2NfU1RSVkFSKFB5U1NMX2dldF9zZXJ2ZXJfc2lkZV9kb2MsCisiV2hldGhlciB0aGlzIGlzIGEgc2VydmVyLXNpZGUgc29ja2V0LiIpOworCitzdGF0aWMgUHlPYmplY3QgKgorUHlTU0xfZ2V0X3NlcnZlcl9ob3N0bmFtZShQeVNTTFNvY2tldCAqc2VsZiwgdm9pZCAqYykKK3sKKyAgICBpZiAoc2VsZi0+c2VydmVyX2hvc3RuYW1lID09IE5VTEwpCisgICAgICAgIFB5X1JFVFVSTl9OT05FOworICAgIFB5X0lOQ1JFRihzZWxmLT5zZXJ2ZXJfaG9zdG5hbWUpOworICAgIHJldHVybiBzZWxmLT5zZXJ2ZXJfaG9zdG5hbWU7Cit9CisKK1B5RG9jX1NUUlZBUihQeVNTTF9nZXRfc2VydmVyX2hvc3RuYW1lX2RvYywKKyJUaGUgY3VycmVudGx5IHNldCBzZXJ2ZXIgaG9zdG5hbWUgKGZvciBTTkkpLiIpOworCitzdGF0aWMgUHlPYmplY3QgKgorUHlTU0xfZ2V0X293bmVyKFB5U1NMU29ja2V0ICpzZWxmLCB2b2lkICpjKQoreworICAgIFB5T2JqZWN0ICpvd25lcjsKKworICAgIGlmIChzZWxmLT5vd25lciA9PSBOVUxMKQorICAgICAgICBQeV9SRVRVUk5fTk9ORTsKKworICAgIG93bmVyID0gUHlXZWFrcmVmX0dldE9iamVjdChzZWxmLT5vd25lcik7CisgICAgUHlfSU5DUkVGKG93bmVyKTsKKyAgICByZXR1cm4gb3duZXI7Cit9CisKK3N0YXRpYyBpbnQKK1B5U1NMX3NldF9vd25lcihQeVNTTFNvY2tldCAqc2VsZiwgUHlPYmplY3QgKnZhbHVlLCB2b2lkICpjKQoreworICAgIFB5X1hERUNSRUYoc2VsZi0+b3duZXIpOworICAgIHNlbGYtPm93bmVyID0gUHlXZWFrcmVmX05ld1JlZih2YWx1ZSwgTlVMTCk7CisgICAgaWYgKHNlbGYtPm93bmVyID09IE5VTEwpCisgICAgICAgIHJldHVybiAtMTsKKyAgICByZXR1cm4gMDsKK30KKworUHlEb2NfU1RSVkFSKFB5U1NMX2dldF9vd25lcl9kb2MsCisiVGhlIFB5dGhvbi1sZXZlbCBvd25lciBvZiB0aGlzIG9iamVjdC5cCitQYXNzZWQgYXMgXCJzZWxmXCIgaW4gc2VydmVybmFtZSBjYWxsYmFjay4iKTsKKwogCiBzdGF0aWMgdm9pZCBQeVNTTF9kZWFsbG9jKFB5U1NMU29ja2V0ICpzZWxmKQogewpAQCAtMTQ4Miw2ICsxNTk4LDggQEAKICAgICAgICAgU1NMX2ZyZWUoc2VsZi0+c3NsKTsKICAgICBQeV9YREVDUkVGKHNlbGYtPlNvY2tldCk7CiAgICAgUHlfWERFQ1JFRihzZWxmLT5jdHgpOworICAgIFB5X1hERUNSRUYoc2VsZi0+c2VydmVyX2hvc3RuYW1lKTsKKyAgICBQeV9YREVDUkVGKHNlbGYtPm93bmVyKTsKICAgICBQeU9iamVjdF9EZWwoc2VsZik7CiB9CiAKQEAgLTE0OTgsMTAgKzE2MTYsMTAgQEAKICAgICBpbnQgcmM7CiAKICAgICAvKiBOb3RoaW5nIHRvIGRvIHVubGVzcyB3ZSdyZSBpbiB0aW1lb3V0IG1vZGUgKG5vdCBub24tYmxvY2tpbmcpICovCi0gICAgaWYgKHMtPnNvY2tfdGltZW91dCA8IDAuMCkKLSAgICAgICAgcmV0dXJuIFNPQ0tFVF9JU19CTE9DS0lORzsKLSAgICBlbHNlIGlmIChzLT5zb2NrX3RpbWVvdXQgPT0gMC4wKQorICAgIGlmICgocyA9PSBOVUxMKSB8fCAocy0+c29ja190aW1lb3V0ID09IDAuMCkpCiAgICAgICAgIHJldHVybiBTT0NLRVRfSVNfTk9OQkxPQ0tJTkc7CisgICAgZWxzZSBpZiAocy0+c29ja190aW1lb3V0IDwgMC4wKQorICAgICAgICByZXR1cm4gU09DS0VUX0lTX0JMT0NLSU5HOwogCiAgICAgLyogR3VhcmQgYWdhaW5zdCBjbG9zZWQgc29ja2V0ICovCiAgICAgaWYgKHMtPnNvY2tfZmQgPCAwKQpAQCAtMTU2MiwxOCArMTY4MCwxOSBAQAogICAgIGludCBzb2Nrc3RhdGU7CiAgICAgaW50IGVycjsKICAgICBpbnQgbm9uYmxvY2tpbmc7Ci0gICAgUHlTb2NrZXRTb2NrT2JqZWN0ICpzb2NrCi0gICAgICA9IChQeVNvY2tldFNvY2tPYmplY3QgKikgUHlXZWFrcmVmX0dldE9iamVjdChzZWxmLT5Tb2NrZXQpOworICAgIFB5U29ja2V0U29ja09iamVjdCAqc29jayA9IEdFVF9TT0NLRVQoc2VsZik7CiAKLSAgICBpZiAoKChQeU9iamVjdCopc29jaykgPT0gUHlfTm9uZSkgewotICAgICAgICBfc2V0U1NMRXJyb3IoIlVuZGVybHlpbmcgc29ja2V0IGNvbm5lY3Rpb24gZ29uZSIsCi0gICAgICAgICAgICAgICAgICAgICBQWV9TU0xfRVJST1JfTk9fU09DS0VULCBfX0ZJTEVfXywgX19MSU5FX18pOwotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoc29jayAhPSBOVUxMKSB7CisgICAgICAgIGlmICgoKFB5T2JqZWN0Kilzb2NrKSA9PSBQeV9Ob25lKSB7CisgICAgICAgICAgICBfc2V0U1NMRXJyb3IoIlVuZGVybHlpbmcgc29ja2V0IGNvbm5lY3Rpb24gZ29uZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgUFlfU1NMX0VSUk9SX05PX1NPQ0tFVCwgX19GSUxFX18sIF9fTElORV9fKTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisgICAgICAgIFB5X0lOQ1JFRihzb2NrKTsKICAgICB9Ci0gICAgUHlfSU5DUkVGKHNvY2spOwogCiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJ5Kjp3cml0ZSIsICZidWYpKSB7Ci0gICAgICAgIFB5X0RFQ1JFRihzb2NrKTsKKyAgICAgICAgUHlfWERFQ1JFRihzb2NrKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCkBAIC0xNTgzLDEwICsxNzAyLDEyIEBACiAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgfQogCi0gICAgLyoganVzdCBpbiBjYXNlIHRoZSBibG9ja2luZyBzdGF0ZSBvZiB0aGUgc29ja2V0IGhhcyBiZWVuIGNoYW5nZWQgKi8KLSAgICBub25ibG9ja2luZyA9IChzb2NrLT5zb2NrX3RpbWVvdXQgPj0gMC4wKTsKLSAgICBCSU9fc2V0X25iaW8oU1NMX2dldF9yYmlvKHNlbGYtPnNzbCksIG5vbmJsb2NraW5nKTsKLSAgICBCSU9fc2V0X25iaW8oU1NMX2dldF93YmlvKHNlbGYtPnNzbCksIG5vbmJsb2NraW5nKTsKKyAgICBpZiAoc29jayAhPSBOVUxMKSB7CisgICAgICAgIC8qIGp1c3QgaW4gY2FzZSB0aGUgYmxvY2tpbmcgc3RhdGUgb2YgdGhlIHNvY2tldCBoYXMgYmVlbiBjaGFuZ2VkICovCisgICAgICAgIG5vbmJsb2NraW5nID0gKHNvY2stPnNvY2tfdGltZW91dCA+PSAwLjApOworICAgICAgICBCSU9fc2V0X25iaW8oU1NMX2dldF9yYmlvKHNlbGYtPnNzbCksIG5vbmJsb2NraW5nKTsKKyAgICAgICAgQklPX3NldF9uYmlvKFNTTF9nZXRfd2JpbyhzZWxmLT5zc2wpLCBub25ibG9ja2luZyk7CisgICAgfQogCiAgICAgc29ja3N0YXRlID0gY2hlY2tfc29ja2V0X2FuZF93YWl0X2Zvcl90aW1lb3V0KHNvY2ssIDEpOwogICAgIGlmIChzb2Nrc3RhdGUgPT0gU09DS0VUX0hBU19USU1FRF9PVVQpIHsKQEAgLTE2MzAsNyArMTc1MSw3IEBACiAgICAgICAgIH0KICAgICB9IHdoaWxlIChlcnIgPT0gU1NMX0VSUk9SX1dBTlRfUkVBRCB8fCBlcnIgPT0gU1NMX0VSUk9SX1dBTlRfV1JJVEUpOwogCi0gICAgUHlfREVDUkVGKHNvY2spOworICAgIFB5X1hERUNSRUYoc29jayk7CiAgICAgUHlCdWZmZXJfUmVsZWFzZSgmYnVmKTsKICAgICBpZiAobGVuID4gMCkKICAgICAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZyhsZW4pOwpAQCAtMTYzOCw3ICsxNzU5LDcgQEAKICAgICAgICAgcmV0dXJuIFB5U1NMX1NldEVycm9yKHNlbGYsIGxlbiwgX19GSUxFX18sIF9fTElORV9fKTsKIAogZXJyb3I6Ci0gICAgUHlfREVDUkVGKHNvY2spOworICAgIFB5X1hERUNSRUYoc29jayk7CiAgICAgUHlCdWZmZXJfUmVsZWFzZSgmYnVmKTsKICAgICByZXR1cm4gTlVMTDsKIH0KQEAgLTE2NzgsMTUgKzE3OTksMTYgQEAKICAgICBpbnQgc29ja3N0YXRlOwogICAgIGludCBlcnI7CiAgICAgaW50IG5vbmJsb2NraW5nOwotICAgIFB5U29ja2V0U29ja09iamVjdCAqc29jawotICAgICAgPSAoUHlTb2NrZXRTb2NrT2JqZWN0ICopIFB5V2Vha3JlZl9HZXRPYmplY3Qoc2VsZi0+U29ja2V0KTsKKyAgICBQeVNvY2tldFNvY2tPYmplY3QgKnNvY2sgPSBHRVRfU09DS0VUKHNlbGYpOwogCi0gICAgaWYgKCgoUHlPYmplY3QqKXNvY2spID09IFB5X05vbmUpIHsKLSAgICAgICAgX3NldFNTTEVycm9yKCJVbmRlcmx5aW5nIHNvY2tldCBjb25uZWN0aW9uIGdvbmUiLAotICAgICAgICAgICAgICAgICAgICAgUFlfU1NMX0VSUk9SX05PX1NPQ0tFVCwgX19GSUxFX18sIF9fTElORV9fKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKHNvY2sgIT0gTlVMTCkgeworICAgICAgICBpZiAoKChQeU9iamVjdCopc29jaykgPT0gUHlfTm9uZSkgeworICAgICAgICAgICAgX3NldFNTTEVycm9yKCJVbmRlcmx5aW5nIHNvY2tldCBjb25uZWN0aW9uIGdvbmUiLAorICAgICAgICAgICAgICAgICAgICAgICAgIFBZX1NTTF9FUlJPUl9OT19TT0NLRVQsIF9fRklMRV9fLCBfX0xJTkVfXyk7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorICAgICAgICBQeV9JTkNSRUYoc29jayk7CiAgICAgfQotICAgIFB5X0lOQ1JFRihzb2NrKTsKIAogICAgIGJ1Zi5vYmogPSBOVUxMOwogICAgIGJ1Zi5idWYgPSBOVUxMOwpAQCAtMTcxMiwxMCArMTgzNCwxMiBAQAogICAgICAgICB9CiAgICAgfQogCi0gICAgLyoganVzdCBpbiBjYXNlIHRoZSBibG9ja2luZyBzdGF0ZSBvZiB0aGUgc29ja2V0IGhhcyBiZWVuIGNoYW5nZWQgKi8KLSAgICBub25ibG9ja2luZyA9IChzb2NrLT5zb2NrX3RpbWVvdXQgPj0gMC4wKTsKLSAgICBCSU9fc2V0X25iaW8oU1NMX2dldF9yYmlvKHNlbGYtPnNzbCksIG5vbmJsb2NraW5nKTsKLSAgICBCSU9fc2V0X25iaW8oU1NMX2dldF93YmlvKHNlbGYtPnNzbCksIG5vbmJsb2NraW5nKTsKKyAgICBpZiAoc29jayAhPSBOVUxMKSB7CisgICAgICAgIC8qIGp1c3QgaW4gY2FzZSB0aGUgYmxvY2tpbmcgc3RhdGUgb2YgdGhlIHNvY2tldCBoYXMgYmVlbiBjaGFuZ2VkICovCisgICAgICAgIG5vbmJsb2NraW5nID0gKHNvY2stPnNvY2tfdGltZW91dCA+PSAwLjApOworICAgICAgICBCSU9fc2V0X25iaW8oU1NMX2dldF9yYmlvKHNlbGYtPnNzbCksIG5vbmJsb2NraW5nKTsKKyAgICAgICAgQklPX3NldF9uYmlvKFNTTF9nZXRfd2JpbyhzZWxmLT5zc2wpLCBub25ibG9ja2luZyk7CisgICAgfQogCiAgICAgLyogZmlyc3QgY2hlY2sgaWYgdGhlcmUgYXJlIGJ5dGVzIHJlYWR5IHRvIGJlIHJlYWQgKi8KICAgICBQeVNTTF9CRUdJTl9BTExPV19USFJFQURTCkBAIC0xNzcxLDcgKzE4OTUsNyBAQAogICAgIH0KIAogZG9uZToKLSAgICBQeV9ERUNSRUYoc29jayk7CisgICAgUHlfWERFQ1JFRihzb2NrKTsKICAgICBpZiAoIWJ1Zl9wYXNzZWQpIHsKICAgICAgICAgX1B5Qnl0ZXNfUmVzaXplKCZkZXN0LCBjb3VudCk7CiAgICAgICAgIHJldHVybiBkZXN0OwpAQCAtMTc4Miw3ICsxOTA2LDcgQEAKICAgICB9CiAKIGVycm9yOgotICAgIFB5X0RFQ1JFRihzb2NrKTsKKyAgICBQeV9YREVDUkVGKHNvY2spOwogICAgIGlmICghYnVmX3Bhc3NlZCkKICAgICAgICAgUHlfWERFQ1JFRihkZXN0KTsKICAgICBlbHNlCkBAIC0xNzk5LDIxICsxOTIzLDIyIEBACiB7CiAgICAgaW50IGVyciwgc3NsX2Vyciwgc29ja3N0YXRlLCBub25ibG9ja2luZzsKICAgICBpbnQgemVyb3MgPSAwOwotICAgIFB5U29ja2V0U29ja09iamVjdCAqc29jawotICAgICAgPSAoUHlTb2NrZXRTb2NrT2JqZWN0ICopIFB5V2Vha3JlZl9HZXRPYmplY3Qoc2VsZi0+U29ja2V0KTsKKyAgICBQeVNvY2tldFNvY2tPYmplY3QgKnNvY2sgPSBHRVRfU09DS0VUKHNlbGYpOwogCi0gICAgLyogR3VhcmQgYWdhaW5zdCBjbG9zZWQgc29ja2V0ICovCi0gICAgaWYgKCgoKFB5T2JqZWN0Kilzb2NrKSA9PSBQeV9Ob25lKSB8fCAoc29jay0+c29ja19mZCA8IDApKSB7Ci0gICAgICAgIF9zZXRTU0xFcnJvcigiVW5kZXJseWluZyBzb2NrZXQgY29ubmVjdGlvbiBnb25lIiwKLSAgICAgICAgICAgICAgICAgICAgIFBZX1NTTF9FUlJPUl9OT19TT0NLRVQsIF9fRklMRV9fLCBfX0xJTkVfXyk7Ci0gICAgICAgIHJldHVybiBOVUxMOworICAgIGlmIChzb2NrICE9IE5VTEwpIHsKKyAgICAgICAgLyogR3VhcmQgYWdhaW5zdCBjbG9zZWQgc29ja2V0ICovCisgICAgICAgIGlmICgoKChQeU9iamVjdCopc29jaykgPT0gUHlfTm9uZSkgfHwgKHNvY2stPnNvY2tfZmQgPCAwKSkgeworICAgICAgICAgICAgX3NldFNTTEVycm9yKCJVbmRlcmx5aW5nIHNvY2tldCBjb25uZWN0aW9uIGdvbmUiLAorICAgICAgICAgICAgICAgICAgICAgICAgIFBZX1NTTF9FUlJPUl9OT19TT0NLRVQsIF9fRklMRV9fLCBfX0xJTkVfXyk7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorICAgICAgICBQeV9JTkNSRUYoc29jayk7CisKKyAgICAgICAgLyogSnVzdCBpbiBjYXNlIHRoZSBibG9ja2luZyBzdGF0ZSBvZiB0aGUgc29ja2V0IGhhcyBiZWVuIGNoYW5nZWQgKi8KKyAgICAgICAgbm9uYmxvY2tpbmcgPSAoc29jay0+c29ja190aW1lb3V0ID49IDAuMCk7CisgICAgICAgIEJJT19zZXRfbmJpbyhTU0xfZ2V0X3JiaW8oc2VsZi0+c3NsKSwgbm9uYmxvY2tpbmcpOworICAgICAgICBCSU9fc2V0X25iaW8oU1NMX2dldF93YmlvKHNlbGYtPnNzbCksIG5vbmJsb2NraW5nKTsKICAgICB9Ci0gICAgUHlfSU5DUkVGKHNvY2spOwotCi0gICAgLyogSnVzdCBpbiBjYXNlIHRoZSBibG9ja2luZyBzdGF0ZSBvZiB0aGUgc29ja2V0IGhhcyBiZWVuIGNoYW5nZWQgKi8KLSAgICBub25ibG9ja2luZyA9IChzb2NrLT5zb2NrX3RpbWVvdXQgPj0gMC4wKTsKLSAgICBCSU9fc2V0X25iaW8oU1NMX2dldF9yYmlvKHNlbGYtPnNzbCksIG5vbmJsb2NraW5nKTsKLSAgICBCSU9fc2V0X25iaW8oU1NMX2dldF93YmlvKHNlbGYtPnNzbCksIG5vbmJsb2NraW5nKTsKIAogICAgIHdoaWxlICgxKSB7CiAgICAgICAgIFB5U1NMX0JFR0lOX0FMTE9XX1RIUkVBRFMKQEAgLTE4NzEsMTUgKzE5OTYsMTcgQEAKICAgICB9CiAKICAgICBpZiAoZXJyIDwgMCkgewotICAgICAgICBQeV9ERUNSRUYoc29jayk7CisgICAgICAgIFB5X1hERUNSRUYoc29jayk7CiAgICAgICAgIHJldHVybiBQeVNTTF9TZXRFcnJvcihzZWxmLCBlcnIsIF9fRklMRV9fLCBfX0xJTkVfXyk7CiAgICAgfQotICAgIGVsc2UKKyAgICBpZiAoc29jaykKICAgICAgICAgLyogSXQncyBhbHJlYWR5IElOQ1JFRidlZCAqLwogICAgICAgICByZXR1cm4gKFB5T2JqZWN0ICopIHNvY2s7CisgICAgZWxzZQorICAgICAgICBQeV9SRVRVUk5fTk9ORTsKIAogZXJyb3I6Ci0gICAgUHlfREVDUkVGKHNvY2spOworICAgIFB5X1hERUNSRUYoc29jayk7CiAgICAgcmV0dXJuIE5VTEw7CiB9CiAKQEAgLTE4ODksNyArMjAxNiw2IEBACiBEb2VzIHRoZSBTU0wgc2h1dGRvd24gaGFuZHNoYWtlIHdpdGggdGhlIHJlbW90ZSBlbmQsIGFuZCByZXR1cm5zXG5cCiB0aGUgdW5kZXJseWluZyBzb2NrZXQgb2JqZWN0LiIpOwogCi0jaWYgSEFWRV9PUEVOU1NMX0ZJTklTSEVECiBzdGF0aWMgUHlPYmplY3QgKgogUHlTU0xfdGxzX3VuaXF1ZV9jYihQeVNTTFNvY2tldCAqc2VsZikKIHsKQEAgLTE5MjIsMTEgKzIwNDgsMTUgQEAKIFxuXAogSWYgdGhlIFRMUyBoYW5kc2hha2UgaXMgbm90IHlldCBjb21wbGV0ZSwgTm9uZSBpcyByZXR1cm5lZCIpOwogCi0jZW5kaWYgLyogSEFWRV9PUEVOU1NMX0ZJTklTSEVEICovCi0KIHN0YXRpYyBQeUdldFNldERlZiBzc2xfZ2V0c2V0bGlzdFtdID0gewogICAgIHsiY29udGV4dCIsIChnZXR0ZXIpIFB5U1NMX2dldF9jb250ZXh0LAogICAgICAgICAgICAgICAgIChzZXR0ZXIpIFB5U1NMX3NldF9jb250ZXh0LCBQeVNTTF9zZXRfY29udGV4dF9kb2N9LAorICAgIHsic2VydmVyX3NpZGUiLCAoZ2V0dGVyKSBQeVNTTF9nZXRfc2VydmVyX3NpZGUsIE5VTEwsCisgICAgICAgICAgICAgICAgICAgIFB5U1NMX2dldF9zZXJ2ZXJfc2lkZV9kb2N9LAorICAgIHsic2VydmVyX2hvc3RuYW1lIiwgKGdldHRlcikgUHlTU0xfZ2V0X3NlcnZlcl9ob3N0bmFtZSwgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgIFB5U1NMX2dldF9zZXJ2ZXJfaG9zdG5hbWVfZG9jfSwKKyAgICB7Im93bmVyIiwgKGdldHRlcikgUHlTU0xfZ2V0X293bmVyLCAoc2V0dGVyKSBQeVNTTF9zZXRfb3duZXIsCisgICAgICAgICAgICAgIFB5U1NMX2dldF9vd25lcl9kb2N9LAogICAgIHtOVUxMfSwgICAgICAgICAgICAvKiBzZW50aW5lbCAqLwogfTsKIApAQCAtMTk0MSwxNiArMjA3MSwxOSBAQAogICAgIHsicGVlcl9jZXJ0aWZpY2F0ZSIsIChQeUNGdW5jdGlvbilQeVNTTF9wZWVyY2VydCwgTUVUSF9WQVJBUkdTLAogICAgICBQeVNTTF9wZWVyY2VydF9kb2N9LAogICAgIHsiY2lwaGVyIiwgKFB5Q0Z1bmN0aW9uKVB5U1NMX2NpcGhlciwgTUVUSF9OT0FSR1N9LAorICAgIHsic2hhcmVkX2NpcGhlcnMiLCAoUHlDRnVuY3Rpb24pUHlTU0xfc2hhcmVkX2NpcGhlcnMsIE1FVEhfTk9BUkdTfSwKKyAgICB7InZlcnNpb24iLCAoUHlDRnVuY3Rpb24pUHlTU0xfdmVyc2lvbiwgTUVUSF9OT0FSR1N9LAogI2lmZGVmIE9QRU5TU0xfTlBOX05FR09USUFURUQKICAgICB7InNlbGVjdGVkX25wbl9wcm90b2NvbCIsIChQeUNGdW5jdGlvbilQeVNTTF9zZWxlY3RlZF9ucG5fcHJvdG9jb2wsIE1FVEhfTk9BUkdTfSwKICNlbmRpZgorI2lmZGVmIEhBVkVfQUxQTgorICAgIHsic2VsZWN0ZWRfYWxwbl9wcm90b2NvbCIsIChQeUNGdW5jdGlvbilQeVNTTF9zZWxlY3RlZF9hbHBuX3Byb3RvY29sLCBNRVRIX05PQVJHU30sCisjZW5kaWYKICAgICB7ImNvbXByZXNzaW9uIiwgKFB5Q0Z1bmN0aW9uKVB5U1NMX2NvbXByZXNzaW9uLCBNRVRIX05PQVJHU30sCiAgICAgeyJzaHV0ZG93biIsIChQeUNGdW5jdGlvbilQeVNTTF9TU0xzaHV0ZG93biwgTUVUSF9OT0FSR1MsCiAgICAgIFB5U1NMX1NTTHNodXRkb3duX2RvY30sCi0jaWYgSEFWRV9PUEVOU1NMX0ZJTklTSEVECiAgICAgeyJ0bHNfdW5pcXVlX2NiIiwgKFB5Q0Z1bmN0aW9uKVB5U1NMX3Rsc191bmlxdWVfY2IsIE1FVEhfTk9BUkdTLAogICAgICBQeVNTTF90bHNfdW5pcXVlX2NiX2RvY30sCi0jZW5kaWYKICAgICB7TlVMTCwgTlVMTH0KIH07CiAKQEAgLTIwNTEsNiArMjE4NCw5IEBACiAjaWZkZWYgT1BFTlNTTF9OUE5fTkVHT1RJQVRFRAogICAgIHNlbGYtPm5wbl9wcm90b2NvbHMgPSBOVUxMOwogI2VuZGlmCisjaWZkZWYgSEFWRV9BTFBOCisgICAgc2VsZi0+YWxwbl9wcm90b2NvbHMgPSBOVUxMOworI2VuZGlmCiAjaWZuZGVmIE9QRU5TU0xfTk9fVExTRVhUCiAgICAgc2VsZi0+c2V0X2hvc3RuYW1lID0gTlVMTDsKICNlbmRpZgpAQCAtMjExMCw3ICsyMjQ2LDEwIEBACiAgICAgY29udGV4dF9jbGVhcihzZWxmKTsKICAgICBTU0xfQ1RYX2ZyZWUoc2VsZi0+Y3R4KTsKICNpZmRlZiBPUEVOU1NMX05QTl9ORUdPVElBVEVECi0gICAgUHlNZW1fRnJlZShzZWxmLT5ucG5fcHJvdG9jb2xzKTsKKyAgICBQeU1lbV9GUkVFKHNlbGYtPm5wbl9wcm90b2NvbHMpOworI2VuZGlmCisjaWZkZWYgSEFWRV9BTFBOCisgICAgUHlNZW1fRlJFRShzZWxmLT5hbHBuX3Byb3RvY29scyk7CiAjZW5kaWYKICAgICBQeV9UWVBFKHNlbGYpLT50cF9mcmVlKHNlbGYpOwogfQpAQCAtMjEzNyw2ICsyMjc2LDMwIEBACiB9CiAKICNpZmRlZiBPUEVOU1NMX05QTl9ORUdPVElBVEVECitzdGF0aWMgaW50Citkb19wcm90b2NvbF9zZWxlY3Rpb24oaW50IGFscG4sIHVuc2lnbmVkIGNoYXIgKipvdXQsIHVuc2lnbmVkIGNoYXIgKm91dGxlbiwKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpzZXJ2ZXJfcHJvdG9jb2xzLCB1bnNpZ25lZCBpbnQgc2VydmVyX3Byb3RvY29sc19sZW4sCisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqY2xpZW50X3Byb3RvY29scywgdW5zaWduZWQgaW50IGNsaWVudF9wcm90b2NvbHNfbGVuKQoreworICAgIGludCByZXQ7CisgICAgaWYgKGNsaWVudF9wcm90b2NvbHMgPT0gTlVMTCkgeworICAgICAgICBjbGllbnRfcHJvdG9jb2xzID0gKHVuc2lnbmVkIGNoYXIgKikiIjsKKyAgICAgICAgY2xpZW50X3Byb3RvY29sc19sZW4gPSAwOworICAgIH0KKyAgICBpZiAoc2VydmVyX3Byb3RvY29scyA9PSBOVUxMKSB7CisgICAgICAgIHNlcnZlcl9wcm90b2NvbHMgPSAodW5zaWduZWQgY2hhciAqKSIiOworICAgICAgICBzZXJ2ZXJfcHJvdG9jb2xzX2xlbiA9IDA7CisgICAgfQorCisgICAgcmV0ID0gU1NMX3NlbGVjdF9uZXh0X3Byb3RvKG91dCwgb3V0bGVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJfcHJvdG9jb2xzLCBzZXJ2ZXJfcHJvdG9jb2xzX2xlbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50X3Byb3RvY29scywgY2xpZW50X3Byb3RvY29sc19sZW4pOworICAgIGlmIChhbHBuICYmIHJldCAhPSBPUEVOU1NMX05QTl9ORUdPVElBVEVEKQorICAgICAgICByZXR1cm4gU1NMX1RMU0VYVF9FUlJfTk9BQ0s7CisKKyAgICByZXR1cm4gU1NMX1RMU0VYVF9FUlJfT0s7Cit9CisKIC8qIHRoaXMgY2FsbGJhY2sgZ2V0cyBwYXNzZWQgdG8gU1NMX0NUWF9zZXRfbmV4dF9wcm90b3NfYWR2ZXJ0aXNlX2NiICovCiBzdGF0aWMgaW50CiBfYWR2ZXJ0aXNlTlBOX2NiKFNTTCAqcywKQEAgLTIxNDYsMTAgKzIzMDksMTAgQEAKICAgICBQeVNTTENvbnRleHQgKnNzbF9jdHggPSAoUHlTU0xDb250ZXh0ICopIGFyZ3M7CiAKICAgICBpZiAoc3NsX2N0eC0+bnBuX3Byb3RvY29scyA9PSBOVUxMKSB7Ci0gICAgICAgICpkYXRhID0gKHVuc2lnbmVkIGNoYXIgKikgIiI7CisgICAgICAgICpkYXRhID0gKHVuc2lnbmVkIGNoYXIgKikiIjsKICAgICAgICAgKmxlbiA9IDA7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgKmRhdGEgPSAodW5zaWduZWQgY2hhciAqKSBzc2xfY3R4LT5ucG5fcHJvdG9jb2xzOworICAgICAgICAqZGF0YSA9IHNzbF9jdHgtPm5wbl9wcm90b2NvbHM7CiAgICAgICAgICpsZW4gPSBzc2xfY3R4LT5ucG5fcHJvdG9jb2xzX2xlbjsKICAgICB9CiAKQEAgLTIxNjIsMjMgKzIzMjUsOSBAQAogICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpzZXJ2ZXIsIHVuc2lnbmVkIGludCBzZXJ2ZXJfbGVuLAogICAgICAgICAgICAgICB2b2lkICphcmdzKQogewotICAgIFB5U1NMQ29udGV4dCAqc3NsX2N0eCA9IChQeVNTTENvbnRleHQgKikgYXJnczsKLQotICAgIHVuc2lnbmVkIGNoYXIgKmNsaWVudCA9ICh1bnNpZ25lZCBjaGFyICopIHNzbF9jdHgtPm5wbl9wcm90b2NvbHM7Ci0gICAgaW50IGNsaWVudF9sZW47Ci0KLSAgICBpZiAoY2xpZW50ID09IE5VTEwpIHsKLSAgICAgICAgY2xpZW50ID0gKHVuc2lnbmVkIGNoYXIgKikgIiI7Ci0gICAgICAgIGNsaWVudF9sZW4gPSAwOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIGNsaWVudF9sZW4gPSBzc2xfY3R4LT5ucG5fcHJvdG9jb2xzX2xlbjsKLSAgICB9Ci0KLSAgICBTU0xfc2VsZWN0X25leHRfcHJvdG8ob3V0LCBvdXRsZW4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlciwgc2VydmVyX2xlbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50LCBjbGllbnRfbGVuKTsKLQotICAgIHJldHVybiBTU0xfVExTRVhUX0VSUl9PSzsKKyAgICBQeVNTTENvbnRleHQgKmN0eCA9IChQeVNTTENvbnRleHQgKilhcmdzOworICAgIHJldHVybiBkb19wcm90b2NvbF9zZWxlY3Rpb24oMCwgb3V0LCBvdXRsZW4sIHNlcnZlciwgc2VydmVyX2xlbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eC0+bnBuX3Byb3RvY29scywgY3R4LT5ucG5fcHJvdG9jb2xzX2xlbik7CiB9CiAjZW5kaWYKIApAQCAtMjIyMSw2ICsyMzcwLDUwIEBACiAjZW5kaWYKIH0KIAorI2lmZGVmIEhBVkVfQUxQTgorc3RhdGljIGludAorX3NlbGVjdEFMUE5fY2IoU1NMICpzLAorICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICoqb3V0LCB1bnNpZ25lZCBjaGFyICpvdXRsZW4sCisgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNsaWVudF9wcm90b2NvbHMsIHVuc2lnbmVkIGludCBjbGllbnRfcHJvdG9jb2xzX2xlbiwKKyAgICAgICAgICAgICAgdm9pZCAqYXJncykKK3sKKyAgICBQeVNTTENvbnRleHQgKmN0eCA9IChQeVNTTENvbnRleHQgKilhcmdzOworICAgIHJldHVybiBkb19wcm90b2NvbF9zZWxlY3Rpb24oMSwgKHVuc2lnbmVkIGNoYXIgKiopb3V0LCBvdXRsZW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHgtPmFscG5fcHJvdG9jb2xzLCBjdHgtPmFscG5fcHJvdG9jb2xzX2xlbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudF9wcm90b2NvbHMsIGNsaWVudF9wcm90b2NvbHNfbGVuKTsKK30KKyNlbmRpZgorCitzdGF0aWMgUHlPYmplY3QgKgorX3NldF9hbHBuX3Byb3RvY29scyhQeVNTTENvbnRleHQgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworI2lmZGVmIEhBVkVfQUxQTgorICAgIFB5X2J1ZmZlciBwcm90b3M7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInkqOnNldF9ucG5fcHJvdG9jb2xzIiwgJnByb3RvcykpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgUHlNZW1fRlJFRShzZWxmLT5hbHBuX3Byb3RvY29scyk7CisgICAgc2VsZi0+YWxwbl9wcm90b2NvbHMgPSBQeU1lbV9NYWxsb2MocHJvdG9zLmxlbik7CisgICAgaWYgKCFzZWxmLT5hbHBuX3Byb3RvY29scykKKyAgICAgICAgcmV0dXJuIFB5RXJyX05vTWVtb3J5KCk7CisgICAgbWVtY3B5KHNlbGYtPmFscG5fcHJvdG9jb2xzLCBwcm90b3MuYnVmLCBwcm90b3MubGVuKTsKKyAgICBzZWxmLT5hbHBuX3Byb3RvY29sc19sZW4gPSBwcm90b3MubGVuOworICAgIFB5QnVmZmVyX1JlbGVhc2UoJnByb3Rvcyk7CisKKyAgICBpZiAoU1NMX0NUWF9zZXRfYWxwbl9wcm90b3Moc2VsZi0+Y3R4LCBzZWxmLT5hbHBuX3Byb3RvY29scywgc2VsZi0+YWxwbl9wcm90b2NvbHNfbGVuKSkKKyAgICAgICAgcmV0dXJuIFB5RXJyX05vTWVtb3J5KCk7CisgICAgU1NMX0NUWF9zZXRfYWxwbl9zZWxlY3RfY2Ioc2VsZi0+Y3R4LCBfc2VsZWN0QUxQTl9jYiwgc2VsZik7CisKKyAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZwcm90b3MpOworICAgIFB5X1JFVFVSTl9OT05FOworI2Vsc2UKKyAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfTm90SW1wbGVtZW50ZWRFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgIlRoZSBBTFBOIGV4dGVuc2lvbiByZXF1aXJlcyBPcGVuU1NMIDEuMC4yIG9yIGxhdGVyLiIpOworICAgIHJldHVybiBOVUxMOworI2VuZGlmCit9CisKIHN0YXRpYyBQeU9iamVjdCAqCiBnZXRfdmVyaWZ5X21vZGUoUHlTU0xDb250ZXh0ICpzZWxmLCB2b2lkICpjKQogewpAQCAtMjI2NCw3ICsyNDU3LDYgQEAKICAgICByZXR1cm4gMDsKIH0KIAotI2lmZGVmIEhBVkVfT1BFTlNTTF9WRVJJRllfUEFSQU0KIHN0YXRpYyBQeU9iamVjdCAqCiBnZXRfdmVyaWZ5X2ZsYWdzKFB5U1NMQ29udGV4dCAqc2VsZiwgdm9pZCAqYykKIHsKQEAgLTIzMDIsNyArMjQ5NCw2IEBACiAgICAgfQogICAgIHJldHVybiAwOwogfQotI2VuZGlmCiAKIHN0YXRpYyBQeU9iamVjdCAqCiBnZXRfb3B0aW9ucyhQeVNTTENvbnRleHQgKnNlbGYsIHZvaWQgKmMpCkBAIC0yODEwLDE0ICszMDAxLDQzIEBACiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKLSAgICByZXMgPSAoUHlPYmplY3QgKikgbmV3UHlTU0xTb2NrZXQoc2VsZiwgc29jaywgc2VydmVyX3NpZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhvc3RuYW1lKTsKKyAgICByZXMgPSAoUHlPYmplY3QgKikgbmV3UHlTU0xTb2NrZXQoc2VsZiwgc29jaywgc2VydmVyX3NpZGUsIGhvc3RuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBOVUxMKTsKICAgICBpZiAoaG9zdG5hbWUgIT0gTlVMTCkKICAgICAgICAgUHlNZW1fRnJlZShob3N0bmFtZSk7CiAgICAgcmV0dXJuIHJlczsKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKK2NvbnRleHRfd3JhcF9iaW8oUHlTU0xDb250ZXh0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCit7CisgICAgY2hhciAqa3dsaXN0W10gPSB7ImluY29taW5nIiwgIm91dGdvaW5nIiwgInNlcnZlcl9zaWRlIiwKKyAgICAgICAgICAgICAgICAgICAgICAic2VydmVyX2hvc3RuYW1lIiwgTlVMTH07CisgICAgaW50IHNlcnZlcl9zaWRlOworICAgIGNoYXIgKmhvc3RuYW1lID0gTlVMTDsKKyAgICBQeU9iamVjdCAqaG9zdG5hbWVfb2JqID0gUHlfTm9uZSwgKnJlczsKKyAgICBQeVNTTE1lbW9yeUJJTyAqaW5jb21pbmcsICpvdXRnb2luZzsKKworICAgIC8qIHNlcnZlcl9ob3N0bmFtZSBpcyBlaXRoZXIgTm9uZSAob3IgYWJzZW50KSwgb3IgdG8gYmUgZW5jb2RlZAorICAgICAgIHVzaW5nIHRoZSBpZG5hIGVuY29kaW5nLiAqLworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICJPIU8haXxPOl93cmFwX2JpbyIsIGt3bGlzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmUHlTU0xNZW1vcnlCSU9fVHlwZSwgJmluY29taW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZQeVNTTE1lbW9yeUJJT19UeXBlLCAmb3V0Z29pbmcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnNlcnZlcl9zaWRlLCAmaG9zdG5hbWVfb2JqKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKGhvc3RuYW1lX29iaiAhPSBQeV9Ob25lKSB7CisgICAgICAgIGlmICghUHlBcmdfUGFyc2UoaG9zdG5hbWVfb2JqLCAiZXQiLCAiaWRuYSIsICZob3N0bmFtZSkpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICByZXMgPSAoUHlPYmplY3QgKikgbmV3UHlTU0xTb2NrZXQoc2VsZiwgTlVMTCwgc2VydmVyX3NpZGUsIGhvc3RuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmNvbWluZywgb3V0Z29pbmcpOworCisgICAgUHlNZW1fRnJlZShob3N0bmFtZSk7CisgICAgcmV0dXJuIHJlczsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKIHNlc3Npb25fc3RhdHMoUHlTU0xDb250ZXh0ICpzZWxmLCBQeU9iamVjdCAqdW51c2VkKQogewogICAgIGludCByOwpAQCAtMjkyMywxMSArMzE0MywyNSBAQAogCiAgICAgc3NsID0gU1NMX2dldF9hcHBfZGF0YShzKTsKICAgICBhc3NlcnQoUHlTU0xTb2NrZXRfQ2hlY2soc3NsKSk7Ci0gICAgc3NsX3NvY2tldCA9IFB5V2Vha3JlZl9HZXRPYmplY3Qoc3NsLT5Tb2NrZXQpOworCisgICAgLyogVGhlIHNlcnZlcm5hbWUgY2FsbGJhY2sgZXhwZWN0cyBhIGFyZ3VtZW50IHRoYXQgcmVwcmVzZW50cyB0aGUgY3VycmVudAorICAgICAqIFNTTCBjb25uZWN0aW9uIGFuZCB0aGF0IGhhcyBhIC5jb250ZXh0IGF0dHJpYnV0ZSB0aGF0IGNhbiBiZSBjaGFuZ2VkIHRvCisgICAgICogaWRlbnRpZnkgdGhlIHJlcXVlc3RlZCBob3N0bmFtZS4gU2luY2UgdGhlIG9mZmljaWFsIEFQSSBpcyB0aGUgUHl0aG9uCisgICAgICogbGV2ZWwgQVBJIHdlIHdhbnQgdG8gcGFzcyB0aGUgY2FsbGJhY2sgYSBQeXRob24gbGV2ZWwgb2JqZWN0IHJhdGhlciB0aGFuCisgICAgICogYSBfc3NsLlNTTFNvY2tldCBpbnN0YW5jZS4gSWYgdGhlcmUncyBhbiAib3duZXIiICh0eXBpY2FsbHkgYW4KKyAgICAgKiBTU0xPYmplY3QpIHRoYXQgd2lsbCBiZSBwYXNzZWQuIE90aGVyd2lzZSBpZiB0aGVyZSdzIGEgc29ja2V0IHRoZW4gdGhhdAorICAgICAqIHdpbGwgYmUgcGFzc2VkLiBJZiBib3RoIGRvIG5vdCBleGlzdCBvbmx5IHRoZW4gdGhlIEMtbGV2ZWwgb2JqZWN0IGlzCisgICAgICogcGFzc2VkLiAqLworICAgIGlmIChzc2wtPm93bmVyKQorICAgICAgICBzc2xfc29ja2V0ID0gUHlXZWFrcmVmX0dldE9iamVjdChzc2wtPm93bmVyKTsKKyAgICBlbHNlIGlmIChzc2wtPlNvY2tldCkKKyAgICAgICAgc3NsX3NvY2tldCA9IFB5V2Vha3JlZl9HZXRPYmplY3Qoc3NsLT5Tb2NrZXQpOworICAgIGVsc2UKKyAgICAgICAgc3NsX3NvY2tldCA9IChQeU9iamVjdCAqKSBzc2w7CisKICAgICBQeV9JTkNSRUYoc3NsX3NvY2tldCk7Ci0gICAgaWYgKHNzbF9zb2NrZXQgPT0gUHlfTm9uZSkgeworICAgIGlmIChzc2xfc29ja2V0ID09IFB5X05vbmUpCiAgICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgfQogCiAgICAgaWYgKHNlcnZlcm5hbWUgPT0gTlVMTCkgewogICAgICAgICByZXN1bHQgPSBQeU9iamVjdF9DYWxsRnVuY3Rpb25PYmpBcmdzKHNzbF9jdHgtPnNldF9ob3N0bmFtZSwgc3NsX3NvY2tldCwKQEAgLTMxNDQsMTAgKzMzNzgsOCBAQAogICAgICAgICAgICAgICAgICAgICAgICAoc2V0dGVyKSBzZXRfY2hlY2tfaG9zdG5hbWUsIE5VTEx9LAogICAgIHsib3B0aW9ucyIsIChnZXR0ZXIpIGdldF9vcHRpb25zLAogICAgICAgICAgICAgICAgIChzZXR0ZXIpIHNldF9vcHRpb25zLCBOVUxMfSwKLSNpZmRlZiBIQVZFX09QRU5TU0xfVkVSSUZZX1BBUkFNCiAgICAgeyJ2ZXJpZnlfZmxhZ3MiLCAoZ2V0dGVyKSBnZXRfdmVyaWZ5X2ZsYWdzLAogICAgICAgICAgICAgICAgICAgICAgKHNldHRlcikgc2V0X3ZlcmlmeV9mbGFncywgTlVMTH0sCi0jZW5kaWYKICAgICB7InZlcmlmeV9tb2RlIiwgKGdldHRlcikgZ2V0X3ZlcmlmeV9tb2RlLAogICAgICAgICAgICAgICAgICAgICAoc2V0dGVyKSBzZXRfdmVyaWZ5X21vZGUsIE5VTEx9LAogICAgIHtOVUxMfSwgICAgICAgICAgICAvKiBzZW50aW5lbCAqLwpAQCAtMzE1Niw4ICszMzg4LDEyIEBACiBzdGF0aWMgc3RydWN0IFB5TWV0aG9kRGVmIGNvbnRleHRfbWV0aG9kc1tdID0gewogICAgIHsiX3dyYXBfc29ja2V0IiwgKFB5Q0Z1bmN0aW9uKSBjb250ZXh0X3dyYXBfc29ja2V0LAogICAgICAgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLCBOVUxMfSwKKyAgICB7Il93cmFwX2JpbyIsIChQeUNGdW5jdGlvbikgY29udGV4dF93cmFwX2JpbywKKyAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsIE5VTEx9LAogICAgIHsic2V0X2NpcGhlcnMiLCAoUHlDRnVuY3Rpb24pIHNldF9jaXBoZXJzLAogICAgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MsIE5VTEx9LAorICAgIHsiX3NldF9hbHBuX3Byb3RvY29scyIsIChQeUNGdW5jdGlvbikgX3NldF9hbHBuX3Byb3RvY29scywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUywgTlVMTH0sCiAgICAgeyJfc2V0X25wbl9wcm90b2NvbHMiLCAoUHlDRnVuY3Rpb24pIF9zZXRfbnBuX3Byb3RvY29scywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUywgTlVMTH0sCiAgICAgeyJsb2FkX2NlcnRfY2hhaW4iLCAoUHlDRnVuY3Rpb24pIGxvYWRfY2VydF9jaGFpbiwKQEAgLTMyMjUsOCArMzQ2MSwyMjUgQEAKIH07CiAKIAorLyoKKyAqIE1lbW9yeUJJTyBvYmplY3RzCisgKi8KIAotI2lmZGVmIEhBVkVfT1BFTlNTTF9SQU5ECitzdGF0aWMgUHlPYmplY3QgKgorbWVtb3J5X2Jpb19uZXcoUHlUeXBlT2JqZWN0ICp0eXBlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCit7CisgICAgY2hhciAqa3dsaXN0W10gPSB7TlVMTH07CisgICAgQklPICpiaW87CisgICAgUHlTU0xNZW1vcnlCSU8gKnNlbGY7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAiOk1lbW9yeUJJTyIsIGt3bGlzdCkpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgYmlvID0gQklPX25ldyhCSU9fc19tZW0oKSk7CisgICAgaWYgKGJpbyA9PSBOVUxMKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeVNTTEVycm9yT2JqZWN0LAorICAgICAgICAgICAgICAgICAgICAgICAgImZhaWxlZCB0byBhbGxvY2F0ZSBCSU8iKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIC8qIFNpbmNlIG91ciBCSU8gaXMgbm9uLWJsb2NraW5nIGFuIGVtcHR5IHJlYWQoKSBkb2VzIG5vdCBpbmRpY2F0ZSBFT0YsCisgICAgICoganVzdCB0aGF0IG5vIGRhdGEgaXMgY3VycmVudGx5IGF2YWlsYWJsZS4gVGhlIFNTTCByb3V0aW5lcyBzaG91bGQgcmV0cnkKKyAgICAgKiB0aGUgcmVhZCwgd2hpY2ggd2UgY2FuIGFjaGlldmUgYnkgY2FsbGluZyBCSU9fc2V0X3JldHJ5X3JlYWQoKS4gKi8KKyAgICBCSU9fc2V0X3JldHJ5X3JlYWQoYmlvKTsKKyAgICBCSU9fc2V0X21lbV9lb2ZfcmV0dXJuKGJpbywgLTEpOworCisgICAgYXNzZXJ0KHR5cGUgIT0gTlVMTCAmJiB0eXBlLT50cF9hbGxvYyAhPSBOVUxMKTsKKyAgICBzZWxmID0gKFB5U1NMTWVtb3J5QklPICopIHR5cGUtPnRwX2FsbG9jKHR5cGUsIDApOworICAgIGlmIChzZWxmID09IE5VTEwpIHsKKyAgICAgICAgQklPX2ZyZWUoYmlvKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIHNlbGYtPmJpbyA9IGJpbzsKKyAgICBzZWxmLT5lb2Zfd3JpdHRlbiA9IDA7CisKKyAgICByZXR1cm4gKFB5T2JqZWN0ICopIHNlbGY7Cit9CisKK3N0YXRpYyB2b2lkCittZW1vcnlfYmlvX2RlYWxsb2MoUHlTU0xNZW1vcnlCSU8gKnNlbGYpCit7CisgICAgQklPX2ZyZWUoc2VsZi0+YmlvKTsKKyAgICBQeV9UWVBFKHNlbGYpLT50cF9mcmVlKHNlbGYpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorbWVtb3J5X2Jpb19nZXRfcGVuZGluZyhQeVNTTE1lbW9yeUJJTyAqc2VsZiwgdm9pZCAqYykKK3sKKyAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nKEJJT19jdHJsX3BlbmRpbmcoc2VsZi0+YmlvKSk7Cit9CisKK1B5RG9jX1NUUlZBUihQeVNTTF9tZW1vcnlfYmlvX3BlbmRpbmdfZG9jLAorIlRoZSBudW1iZXIgb2YgYnl0ZXMgcGVuZGluZyBpbiB0aGUgbWVtb3J5IEJJTy4iKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK21lbW9yeV9iaW9fZ2V0X2VvZihQeVNTTE1lbW9yeUJJTyAqc2VsZiwgdm9pZCAqYykKK3sKKyAgICByZXR1cm4gUHlCb29sX0Zyb21Mb25nKChCSU9fY3RybF9wZW5kaW5nKHNlbGYtPmJpbykgPT0gMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHNlbGYtPmVvZl93cml0dGVuKTsKK30KKworUHlEb2NfU1RSVkFSKFB5U1NMX21lbW9yeV9iaW9fZW9mX2RvYywKKyJXaGV0aGVyIHRoZSBtZW1vcnkgQklPIGlzIGF0IEVPRi4iKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK21lbW9yeV9iaW9fcmVhZChQeVNTTE1lbW9yeUJJTyAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgaW50IGxlbiA9IC0xLCBhdmFpbCwgbmJ5dGVzOworICAgIFB5T2JqZWN0ICpyZXN1bHQ7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInxpOnJlYWQiLCAmbGVuKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBhdmFpbCA9IEJJT19jdHJsX3BlbmRpbmcoc2VsZi0+YmlvKTsKKyAgICBpZiAoKGxlbiA8IDApIHx8IChsZW4gPiBhdmFpbCkpCisgICAgICAgIGxlbiA9IGF2YWlsOworCisgICAgcmVzdWx0ID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCBsZW4pOworICAgIGlmICgocmVzdWx0ID09IE5VTEwpIHx8IChsZW4gPT0gMCkpCisgICAgICAgIHJldHVybiByZXN1bHQ7CisKKyAgICBuYnl0ZXMgPSBCSU9fcmVhZChzZWxmLT5iaW8sIFB5Qnl0ZXNfQVNfU1RSSU5HKHJlc3VsdCksIGxlbik7CisgICAgLyogVGhlcmUgc2hvdWxkIG5ldmVyIGJlIGFueSBzaG9ydCByZWFkcyBidXQgY2hlY2sgYW55d2F5LiAqLworICAgIGlmICgobmJ5dGVzIDwgbGVuKSAmJiAoX1B5Qnl0ZXNfUmVzaXplKCZyZXN1bHQsIGxlbikgPCAwKSkgeworICAgICAgICBQeV9ERUNSRUYocmVzdWx0KTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworUHlEb2NfU1RSVkFSKFB5U1NMX21lbW9yeV9iaW9fcmVhZF9kb2MsCisicmVhZChbbGVuXSkgLT4gYnl0ZXNcblwKK1xuXAorUmVhZCB1cCB0byBsZW4gYnl0ZXMgZnJvbSB0aGUgbWVtb3J5IEJJTy5cblwKK1xuXAorSWYgbGVuIGlzIG5vdCBzcGVjaWZpZWQsIHJlYWQgdGhlIGVudGlyZSBidWZmZXIuXG5cCitJZiB0aGUgcmV0dXJuIHZhbHVlIGlzIGFuIGVtcHR5IGJ5dGVzIGluc3RhbmNlLCB0aGlzIG1lYW5zIGVpdGhlclxuXAorRU9GIG9yIHRoYXQgbm8gZGF0YSBpcyBhdmFpbGFibGUuIFVzZSB0aGUgXCJlb2ZcIiBwcm9wZXJ0eSB0b1xuXAorZGlzdGluZ3Vpc2ggYmV0d2VlbiB0aGUgdHdvLiIpOworCitzdGF0aWMgUHlPYmplY3QgKgorbWVtb3J5X2Jpb193cml0ZShQeVNTTE1lbW9yeUJJTyAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlfYnVmZmVyIGJ1ZjsKKyAgICBpbnQgbmJ5dGVzOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJ5Kjp3cml0ZSIsICZidWYpKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIGlmIChidWYubGVuID4gSU5UX01BWCkgeworICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfT3ZlcmZsb3dFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICJzdHJpbmcgbG9uZ2VyIHRoYW4gJWQgYnl0ZXMiLCBJTlRfTUFYKTsKKyAgICAgICAgZ290byBlcnJvcjsKKyAgICB9CisKKyAgICBpZiAoc2VsZi0+ZW9mX3dyaXR0ZW4pIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5U1NMRXJyb3JPYmplY3QsCisgICAgICAgICAgICAgICAgICAgICAgICAiY2Fubm90IHdyaXRlKCkgYWZ0ZXIgd3JpdGVfZW9mKCkiKTsKKyAgICAgICAgZ290byBlcnJvcjsKKyAgICB9CisKKyAgICBuYnl0ZXMgPSBCSU9fd3JpdGUoc2VsZi0+YmlvLCBidWYuYnVmLCBidWYubGVuKTsKKyAgICBpZiAobmJ5dGVzIDwgMCkgeworICAgICAgICBfc2V0U1NMRXJyb3IoTlVMTCwgMCwgX19GSUxFX18sIF9fTElORV9fKTsKKyAgICAgICAgZ290byBlcnJvcjsKKyAgICB9CisKKyAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZidWYpOworICAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmcobmJ5dGVzKTsKKworZXJyb3I6CisgICAgUHlCdWZmZXJfUmVsZWFzZSgmYnVmKTsKKyAgICByZXR1cm4gTlVMTDsKK30KKworUHlEb2NfU1RSVkFSKFB5U1NMX21lbW9yeV9iaW9fd3JpdGVfZG9jLAorIndyaXRlKGIpIC0+IGxlblxuXAorXG5cCitXcml0ZXMgdGhlIGJ5dGVzIGIgaW50byB0aGUgbWVtb3J5IEJJTy4gUmV0dXJucyB0aGUgbnVtYmVyXG5cCitvZiBieXRlcyB3cml0dGVuLiIpOworCitzdGF0aWMgUHlPYmplY3QgKgorbWVtb3J5X2Jpb193cml0ZV9lb2YoUHlTU0xNZW1vcnlCSU8gKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIHNlbGYtPmVvZl93cml0dGVuID0gMTsKKyAgICAvKiBBZnRlciBhbiBFT0YgaXMgd3JpdHRlbiwgYSB6ZXJvIHJldHVybiBmcm9tIHJlYWQoKSBzaG91bGQgYmUgYSByZWFsIEVPRgorICAgICAqIGkuZS4gaXQgc2hvdWxkIG5vdCBiZSByZXRyaWVkLiBDbGVhciB0aGUgU0hPVUxEX1JFVFJZIGZsYWcuICovCisgICAgQklPX2NsZWFyX3JldHJ5X2ZsYWdzKHNlbGYtPmJpbyk7CisgICAgQklPX3NldF9tZW1fZW9mX3JldHVybihzZWxmLT5iaW8sIDApOworCisgICAgUHlfUkVUVVJOX05PTkU7Cit9CisKK1B5RG9jX1NUUlZBUihQeVNTTF9tZW1vcnlfYmlvX3dyaXRlX2VvZl9kb2MsCisid3JpdGVfZW9mKClcblwKK1xuXAorV3JpdGUgYW4gRU9GIG1hcmtlciB0byB0aGUgbWVtb3J5IEJJTy5cblwKK1doZW4gYWxsIGRhdGEgaGFzIGJlZW4gcmVhZCwgdGhlIFwiZW9mXCIgcHJvcGVydHkgd2lsbCBiZSBUcnVlLiIpOworCitzdGF0aWMgUHlHZXRTZXREZWYgbWVtb3J5X2Jpb19nZXRzZXRsaXN0W10gPSB7CisgICAgeyJwZW5kaW5nIiwgKGdldHRlcikgbWVtb3J5X2Jpb19nZXRfcGVuZGluZywgTlVMTCwKKyAgICAgICAgICAgICAgICBQeVNTTF9tZW1vcnlfYmlvX3BlbmRpbmdfZG9jfSwKKyAgICB7ImVvZiIsIChnZXR0ZXIpIG1lbW9yeV9iaW9fZ2V0X2VvZiwgTlVMTCwKKyAgICAgICAgICAgIFB5U1NMX21lbW9yeV9iaW9fZW9mX2RvY30sCisgICAge05VTEx9LCAgICAgICAgICAgIC8qIHNlbnRpbmVsICovCit9OworCitzdGF0aWMgc3RydWN0IFB5TWV0aG9kRGVmIG1lbW9yeV9iaW9fbWV0aG9kc1tdID0geworICAgIHsicmVhZCIsIChQeUNGdW5jdGlvbikgbWVtb3J5X2Jpb19yZWFkLAorICAgICAgICAgICAgIE1FVEhfVkFSQVJHUywgUHlTU0xfbWVtb3J5X2Jpb19yZWFkX2RvY30sCisgICAgeyJ3cml0ZSIsIChQeUNGdW5jdGlvbikgbWVtb3J5X2Jpb193cml0ZSwKKyAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTLCBQeVNTTF9tZW1vcnlfYmlvX3dyaXRlX2RvY30sCisgICAgeyJ3cml0ZV9lb2YiLCAoUHlDRnVuY3Rpb24pIG1lbW9yeV9iaW9fd3JpdGVfZW9mLAorICAgICAgICAgICAgICAgICAgTUVUSF9OT0FSR1MsIFB5U1NMX21lbW9yeV9iaW9fd3JpdGVfZW9mX2RvY30sCisgICAge05VTEwsIE5VTEx9ICAgICAgICAvKiBzZW50aW5lbCAqLworfTsKKworc3RhdGljIFB5VHlwZU9iamVjdCBQeVNTTE1lbW9yeUJJT19UeXBlID0geworICAgIFB5VmFyT2JqZWN0X0hFQURfSU5JVChOVUxMLCAwKQorICAgICJfc3NsLk1lbW9yeUJJTyIsICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfbmFtZSovCisgICAgc2l6ZW9mKFB5U1NMTWVtb3J5QklPKSwgICAgICAgICAgICAgICAgICAgIC8qdHBfYmFzaWNzaXplKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9pdGVtc2l6ZSovCisgICAgKGRlc3RydWN0b3IpbWVtb3J5X2Jpb19kZWFsbG9jLCAgICAgICAgICAgIC8qdHBfZGVhbGxvYyovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfcHJpbnQqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2dldGF0dHIqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX3NldGF0dHIqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX3Jlc2VydmVkKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9yZXByKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9hc19udW1iZXIqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2FzX3NlcXVlbmNlKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9hc19tYXBwaW5nKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9oYXNoKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9jYWxsKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9zdHIqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2dldGF0dHJvKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9zZXRhdHRybyovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfYXNfYnVmZmVyKi8KKyAgICBQeV9UUEZMQUdTX0RFRkFVTFQsICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9mbGFncyovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfZG9jKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF90cmF2ZXJzZSovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfY2xlYXIqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX3JpY2hjb21wYXJlKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF93ZWFrbGlzdG9mZnNldCovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfaXRlciovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfaXRlcm5leHQqLworICAgIG1lbW9yeV9iaW9fbWV0aG9kcywgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX21ldGhvZHMqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX21lbWJlcnMqLworICAgIG1lbW9yeV9iaW9fZ2V0c2V0bGlzdCwgICAgICAgICAgICAgICAgICAgICAvKnRwX2dldHNldCovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfYmFzZSovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfZGljdCovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfZGVzY3JfZ2V0Ki8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9kZXNjcl9zZXQqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2RpY3RvZmZzZXQqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2luaXQqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2FsbG9jKi8KKyAgICBtZW1vcnlfYmlvX25ldywgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9uZXcqLworfTsKKwogCiAvKiBoZWxwZXIgcm91dGluZXMgZm9yIHNlZWRpbmcgdGhlIFNTTCBQUk5HICovCiBzdGF0aWMgUHlPYmplY3QgKgpAQCAtMzM2NSw4ICszODE4LDYgQEAKIGZhaWxzIG9yIGlmIGl0IGRvZXMgbm90IHByb3ZpZGUgZW5vdWdoIGRhdGEgdG8gc2VlZCBQUk5HLiIpOwogI2VuZGlmIC8qIEhBVkVfUkFORF9FR0QgKi8KIAotI2VuZGlmIC8qIEhBVkVfT1BFTlNTTF9SQU5EICovCi0KIAogUHlEb2NfU1RSVkFSKFB5U1NMX2dldF9kZWZhdWx0X3ZlcmlmeV9wYXRoc19kb2MsCiAiZ2V0X2RlZmF1bHRfdmVyaWZ5X3BhdGhzKCkgLT4gdHVwbGVcblwKQEAgLTM3NTIsNyArNDIwMyw2IEBACiBzdGF0aWMgUHlNZXRob2REZWYgUHlTU0xfbWV0aG9kc1tdID0gewogICAgIHsiX3Rlc3RfZGVjb2RlX2NlcnQiLCAgICAgICBQeVNTTF90ZXN0X2RlY29kZV9jZXJ0aWZpY2F0ZSwKICAgICAgTUVUSF9WQVJBUkdTfSwKLSNpZmRlZiBIQVZFX09QRU5TU0xfUkFORAogICAgIHsiUkFORF9hZGQiLCAgICAgICAgICAgIFB5U1NMX1JBTkRfYWRkLCBNRVRIX1ZBUkFSR1MsCiAgICAgIFB5U1NMX1JBTkRfYWRkX2RvY30sCiAgICAgeyJSQU5EX2J5dGVzIiwgICAgICAgICAgUHlTU0xfUkFORF9ieXRlcywgTUVUSF9WQVJBUkdTLApAQCAtMzc2NSw3ICs0MjE1LDYgQEAKICNlbmRpZgogICAgIHsiUkFORF9zdGF0dXMiLCAgICAgICAgIChQeUNGdW5jdGlvbilQeVNTTF9SQU5EX3N0YXR1cywgTUVUSF9OT0FSR1MsCiAgICAgIFB5U1NMX1JBTkRfc3RhdHVzX2RvY30sCi0jZW5kaWYKICAgICB7ImdldF9kZWZhdWx0X3ZlcmlmeV9wYXRocyIsIChQeUNGdW5jdGlvbilQeVNTTF9nZXRfZGVmYXVsdF92ZXJpZnlfcGF0aHMsCiAgICAgIE1FVEhfTk9BUkdTLCBQeVNTTF9nZXRfZGVmYXVsdF92ZXJpZnlfcGF0aHNfZG9jfSwKICNpZmRlZiBfTVNDX1ZFUgpAQCAtMzkxNiw2ICs0MzY1LDggQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgaWYgKFB5VHlwZV9SZWFkeSgmUHlTU0xTb2NrZXRfVHlwZSkgPCAwKQogICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoUHlUeXBlX1JlYWR5KCZQeVNTTE1lbW9yeUJJT19UeXBlKSA8IDApCisgICAgICAgIHJldHVybiBOVUxMOwogCiAgICAgbSA9IFB5TW9kdWxlX0NyZWF0ZSgmX3NzbG1vZHVsZSk7CiAgICAgaWYgKG0gPT0gTlVMTCkKQEAgLTM5NzksNiArNDQzMCw5IEBACiAgICAgaWYgKFB5RGljdF9TZXRJdGVtU3RyaW5nKGQsICJfU1NMU29ja2V0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFB5T2JqZWN0ICopJlB5U1NMU29ja2V0X1R5cGUpICE9IDApCiAgICAgICAgIHJldHVybiBOVUxMOworICAgIGlmIChQeURpY3RfU2V0SXRlbVN0cmluZyhkLCAiTWVtb3J5QklPIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFB5T2JqZWN0ICopJlB5U1NMTWVtb3J5QklPX1R5cGUpICE9IDApCisgICAgICAgIHJldHVybiBOVUxMOwogICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJTU0xfRVJST1JfWkVST19SRVRVUk4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBZX1NTTF9FUlJPUl9aRVJPX1JFVFVSTik7CiAgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIlNTTF9FUlJPUl9XQU5UX1JFQUQiLApAQCAtNDExNSwxMSArNDU2OSw3IEBACiAgICAgUHlfSU5DUkVGKHIpOwogICAgIFB5TW9kdWxlX0FkZE9iamVjdChtLCAiSEFTX1NOSSIsIHIpOwogCi0jaWYgSEFWRV9PUEVOU1NMX0ZJTklTSEVECiAgICAgciA9IFB5X1RydWU7Ci0jZWxzZQotICAgIHIgPSBQeV9GYWxzZTsKLSNlbmRpZgogICAgIFB5X0lOQ1JFRihyKTsKICAgICBQeU1vZHVsZV9BZGRPYmplY3QobSwgIkhBU19UTFNfVU5JUVVFIiwgcik7CiAKQEAgLTQxMzksNiArNDU4OSwxNCBAQAogICAgIFB5X0lOQ1JFRihyKTsKICAgICBQeU1vZHVsZV9BZGRPYmplY3QobSwgIkhBU19OUE4iLCByKTsKIAorI2lmZGVmIEhBVkVfQUxQTgorICAgIHIgPSBQeV9UcnVlOworI2Vsc2UKKyAgICByID0gUHlfRmFsc2U7CisjZW5kaWYKKyAgICBQeV9JTkNSRUYocik7CisgICAgUHlNb2R1bGVfQWRkT2JqZWN0KG0sICJIQVNfQUxQTiIsIHIpOworCiAgICAgLyogTWFwcGluZ3MgZm9yIGVycm9yIGNvZGVzICovCiAgICAgZXJyX2NvZGVzX3RvX25hbWVzID0gUHlEaWN0X05ldygpOwogICAgIGVycl9uYW1lc190b19jb2RlcyA9IFB5RGljdF9OZXcoKTsKZGlmZiAtLWdpdCBhL01vZHVsZXMvX3N0YXQuYyBiL01vZHVsZXMvX3N0YXQuYwppbmRleCBhMzAxZmE4Li5mNmNiMzAzIDEwMDY0NAotLS0gYS9Nb2R1bGVzL19zdGF0LmMKKysrIGIvTW9kdWxlcy9fc3RhdC5jCkBAIC0yNyw5ICsyNywyMSBAQAogI2VuZGlmIC8qIEhBVkVfU1lTX1NUQVRfSCAqLwogCiAjaWZkZWYgTVNfV0lORE9XUworI2luY2x1ZGUgPHdpbmRvd3MuaD4KIHR5cGVkZWYgdW5zaWduZWQgc2hvcnQgbW9kZV90OworCisvKiBGSUxFX0FUVFJJQlVURV9JTlRFR1JJVFlfU1RSRUFNIGFuZCBGSUxFX0FUVFJJQlVURV9OT19TQ1JVQl9EQVRBCisgICBhcmUgbm90IHByZXNlbnQgaW4gVkMyMDEwLCBzbyBkZWZpbmUgdGhlbSBtYW51YWxseSAqLworI2lmbmRlZiBGSUxFX0FUVFJJQlVURV9JTlRFR1JJVFlfU1RSRUFNCisjICBkZWZpbmUgRklMRV9BVFRSSUJVVEVfSU5URUdSSVRZX1NUUkVBTSAweDgwMDAKICNlbmRpZgogCisjaWZuZGVmIEZJTEVfQVRUUklCVVRFX05PX1NDUlVCX0RBVEEKKyMgIGRlZmluZSBGSUxFX0FUVFJJQlVURV9OT19TQ1JVQl9EQVRBIDB4MjAwMDAKKyNlbmRpZgorCisjZW5kaWYgLyogTVNfV0lORE9XUyAqLworCiAvKiBGcm9tIFB5dGhvbidzIHN0YXQucHkgKi8KICNpZm5kZWYgU19JTU9ERQogIyAgZGVmaW5lIFNfSU1PREUgMDc3NzcKQEAgLTQ3Myw2ICs0ODUsMTAgQEAKIFNUX0FUSU1FXG5cCiBTVF9NVElNRVxuXAogU1RfQ1RJTUVcblwKK1xuIgorCisiRklMRV9BVFRSSUJVVEVfKjogV2luZG93cyBmaWxlIGF0dHJpYnV0ZSBjb25zdGFudHNcblwKKyAgICAgICAgICAgICAgICAgICAob25seSBwcmVzZW50IG9uIFdpbmRvd3MpXG5cCiAiKTsKIAogCkBAIC01NTUsNiArNTcxLDI2IEBACiAgICAgaWYgKFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJTVF9NVElNRSIsIDgpKSByZXR1cm4gTlVMTDsKICAgICBpZiAoUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIlNUX0NUSU1FIiwgOSkpIHJldHVybiBOVUxMOwogCisjaWZkZWYgTVNfV0lORE9XUworICAgIGlmIChQeU1vZHVsZV9BZGRJbnRNYWNybyhtLCBGSUxFX0FUVFJJQlVURV9BUkNISVZFKSkgcmV0dXJuIE5VTEw7CisgICAgaWYgKFB5TW9kdWxlX0FkZEludE1hY3JvKG0sIEZJTEVfQVRUUklCVVRFX0NPTVBSRVNTRUQpKSByZXR1cm4gTlVMTDsKKyAgICBpZiAoUHlNb2R1bGVfQWRkSW50TWFjcm8obSwgRklMRV9BVFRSSUJVVEVfREVWSUNFKSkgcmV0dXJuIE5VTEw7CisgICAgaWYgKFB5TW9kdWxlX0FkZEludE1hY3JvKG0sIEZJTEVfQVRUUklCVVRFX0RJUkVDVE9SWSkpIHJldHVybiBOVUxMOworICAgIGlmIChQeU1vZHVsZV9BZGRJbnRNYWNybyhtLCBGSUxFX0FUVFJJQlVURV9FTkNSWVBURUQpKSByZXR1cm4gTlVMTDsKKyAgICBpZiAoUHlNb2R1bGVfQWRkSW50TWFjcm8obSwgRklMRV9BVFRSSUJVVEVfSElEREVOKSkgcmV0dXJuIE5VTEw7CisgICAgaWYgKFB5TW9kdWxlX0FkZEludE1hY3JvKG0sIEZJTEVfQVRUUklCVVRFX0lOVEVHUklUWV9TVFJFQU0pKSByZXR1cm4gTlVMTDsKKyAgICBpZiAoUHlNb2R1bGVfQWRkSW50TWFjcm8obSwgRklMRV9BVFRSSUJVVEVfTk9STUFMKSkgcmV0dXJuIE5VTEw7CisgICAgaWYgKFB5TW9kdWxlX0FkZEludE1hY3JvKG0sIEZJTEVfQVRUUklCVVRFX05PVF9DT05URU5UX0lOREVYRUQpKSByZXR1cm4gTlVMTDsKKyAgICBpZiAoUHlNb2R1bGVfQWRkSW50TWFjcm8obSwgRklMRV9BVFRSSUJVVEVfTk9fU0NSVUJfREFUQSkpIHJldHVybiBOVUxMOworICAgIGlmIChQeU1vZHVsZV9BZGRJbnRNYWNybyhtLCBGSUxFX0FUVFJJQlVURV9PRkZMSU5FKSkgcmV0dXJuIE5VTEw7CisgICAgaWYgKFB5TW9kdWxlX0FkZEludE1hY3JvKG0sIEZJTEVfQVRUUklCVVRFX1JFQURPTkxZKSkgcmV0dXJuIE5VTEw7CisgICAgaWYgKFB5TW9kdWxlX0FkZEludE1hY3JvKG0sIEZJTEVfQVRUUklCVVRFX1JFUEFSU0VfUE9JTlQpKSByZXR1cm4gTlVMTDsKKyAgICBpZiAoUHlNb2R1bGVfQWRkSW50TWFjcm8obSwgRklMRV9BVFRSSUJVVEVfU1BBUlNFX0ZJTEUpKSByZXR1cm4gTlVMTDsKKyAgICBpZiAoUHlNb2R1bGVfQWRkSW50TWFjcm8obSwgRklMRV9BVFRSSUJVVEVfU1lTVEVNKSkgcmV0dXJuIE5VTEw7CisgICAgaWYgKFB5TW9kdWxlX0FkZEludE1hY3JvKG0sIEZJTEVfQVRUUklCVVRFX1RFTVBPUkFSWSkpIHJldHVybiBOVUxMOworICAgIGlmIChQeU1vZHVsZV9BZGRJbnRNYWNybyhtLCBGSUxFX0FUVFJJQlVURV9WSVJUVUFMKSkgcmV0dXJuIE5VTEw7CisjZW5kaWYKKwogICAgIHJldHVybiBtOwogfQogCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19zdHJ1Y3QuYyBiL01vZHVsZXMvX3N0cnVjdC5jCmluZGV4IGFkOTk1OWUuLjA2OGM1ZDEgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX3N0cnVjdC5jCisrKyBiL01vZHVsZXMvX3N0cnVjdC5jCkBAIC04NSw4ICs4NSw2IEBACiAjZGVmaW5lIEJPT0xfQUxJR04gMAogI2VuZGlmCiAKLSNkZWZpbmUgU1RSSU5HSUZZKHgpICAgICN4Ci0KICNpZmRlZiBfX3Bvd2VyYwogI3ByYWdtYSBvcHRpb25zIGFsaWduPXJlc2V0CiAjZW5kaWYKQEAgLTU0Niw4ICs1NDQsOCBAQAogICAgICAgICByZXR1cm4gLTE7CiAgICAgaWYgKHggPCBTSFJUX01JTiB8fCB4ID4gU0hSVF9NQVgpewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoU3RydWN0RXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAic2hvcnQgZm9ybWF0IHJlcXVpcmVzICIgU1RSSU5HSUZZKFNIUlRfTUlOKQotICAgICAgICAgICAgICAgICAgICAgICAgIiA8PSBudW1iZXIgPD0gIiBTVFJJTkdJRlkoU0hSVF9NQVgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICJzaG9ydCBmb3JtYXQgcmVxdWlyZXMgIiBQeV9TVFJJTkdJRlkoU0hSVF9NSU4pCisgICAgICAgICAgICAgICAgICAgICAgICAiIDw9IG51bWJlciA8PSAiIFB5X1NUUklOR0lGWShTSFJUX01BWCkpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogICAgIHkgPSAoc2hvcnQpeDsKQEAgLTU2NCw3ICs1NjIsOCBAQAogICAgICAgICByZXR1cm4gLTE7CiAgICAgaWYgKHggPCAwIHx8IHggPiBVU0hSVF9NQVgpewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoU3RydWN0RXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAidXNob3J0IGZvcm1hdCByZXF1aXJlcyAwIDw9IG51bWJlciA8PSAiIFNUUklOR0lGWShVU0hSVF9NQVgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICJ1c2hvcnQgZm9ybWF0IHJlcXVpcmVzIDAgPD0gbnVtYmVyIDw9ICIKKyAgICAgICAgICAgICAgICAgICAgICAgIFB5X1NUUklOR0lGWShVU0hSVF9NQVgpKTsKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KICAgICB5ID0gKHVuc2lnbmVkIHNob3J0KXg7CkBAIC0xMjY0LDcgKzEyNjMsOCBAQAogICAgIGNvbnN0IGNoYXIgKnM7CiAgICAgY29uc3QgY2hhciAqZm10OwogICAgIGNoYXIgYzsKLSAgICBQeV9zc2l6ZV90IHNpemUsIGxlbiwgbmNvZGVzLCBudW0sIGl0ZW1zaXplOworICAgIFB5X3NzaXplX3Qgc2l6ZSwgbGVuLCBudW0sIGl0ZW1zaXplOworICAgIHNpemVfdCBuY29kZXM7CiAKICAgICBmbXQgPSBQeUJ5dGVzX0FTX1NUUklORyhzZWxmLT5zX2Zvcm1hdCk7CiAKQEAgLTEzMjAsNyArMTMyMCw3IEBACiAgICAgfQogCiAgICAgLyogY2hlY2sgZm9yIG92ZXJmbG93ICovCi0gICAgaWYgKChuY29kZXMgKyAxKSA+IChQWV9TU0laRV9UX01BWCAvIHNpemVvZihmb3JtYXRjb2RlKSkpIHsKKyAgICBpZiAoKG5jb2RlcyArIDEpID4gKChzaXplX3QpUFlfU1NJWkVfVF9NQVggLyBzaXplb2YoZm9ybWF0Y29kZSkpKSB7CiAgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9CmRpZmYgLS1naXQgYS9Nb2R1bGVzL190ZXN0YnVmZmVyLmMgYi9Nb2R1bGVzL190ZXN0YnVmZmVyLmMKaW5kZXggMGM2ZWYxNi4uYTU2M2EwNCAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fdGVzdGJ1ZmZlci5jCisrKyBiL01vZHVsZXMvX3Rlc3RidWZmZXIuYwpAQCAtMTUxMCw2ICsxNTEwLDE5IEBACiAgICAgICAgIHZpZXctPnNoYXBlID0gTlVMTDsKICAgICB9CiAKKyAgICAvKiBBc2NlcnRhaW4gdGhhdCB0aGUgbmV3IGJ1ZmZlciBoYXMgdGhlIHNhbWUgY29udGlndWl0eSBhcyB0aGUgZXhwb3J0ZXIgKi8KKyAgICBpZiAoTkRfQ19DT05USUdVT1VTKGJhc2VmbGFncykgIT0gUHlCdWZmZXJfSXNDb250aWd1b3VzKHZpZXcsICdDJykgfHwKKyAgICAgICAgLyogc2tpcCBjYXN0IHRvIDEtZCAqLworICAgICAgICAodmlldy0+Zm9ybWF0ICE9IE5VTEwgJiYgdmlldy0+c2hhcGUgIT0gTlVMTCAmJgorICAgICAgICAgTkRfRk9SVFJBTl9DT05USUdVT1VTKGJhc2VmbGFncykgIT0gUHlCdWZmZXJfSXNDb250aWd1b3VzKHZpZXcsICdGJykpIHx8CisgICAgICAgIC8qIGNhc3QgdG8gMS1kICovCisgICAgICAgICh2aWV3LT5mb3JtYXQgPT0gTlVMTCAmJiB2aWV3LT5zaGFwZSA9PSBOVUxMICYmCisgICAgICAgICAhUHlCdWZmZXJfSXNDb250aWd1b3VzKHZpZXcsICdGJykpKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19CdWZmZXJFcnJvciwKKyAgICAgICAgICAgICJuZGFycmF5OiBjb250aWd1aXR5IG1pc21hdGNoIGluIGdldGJ1ZigpIik7CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCiAgICAgdmlldy0+b2JqID0gKFB5T2JqZWN0ICopc2VsZjsKICAgICBQeV9JTkNSRUYodmlldy0+b2JqKTsKICAgICBzZWxmLT5oZWFkLT5leHBvcnRzKys7CkBAIC0yMjA2LDYgKzIyMTksOCBAQAogICAgIGZvciAoaSA9IDA7IGkgPCBiYXNlLT5uZGltOyBpKyspCiAgICAgICAgIGJhc2UtPnN1Ym9mZnNldHNbaV0gPSAtMTsKIAorICAgIG5kLT5oZWFkLT5mbGFncyAmPSB+KE5EX0N8TkRfRk9SVFJBTik7CisKICAgICBQeV9SRVRVUk5fTk9ORTsKIH0KIApAQCAtMjQ2OSwxMyArMjQ4NCwxMiBAQAogewogICAgIFB5X3NzaXplX3QgaTsKIAotICAgIGlmIChuZGltID09IDEgJiYgc2hhcGUgJiYgc2hhcGVbMF0gPT0gMSkgewotICAgICAgICAvKiBUaGlzIGlzIGZvciBjb21wYXJpbmcgc3RyaWRlczogRm9yIGV4YW1wbGUsIHRoZSBhcnJheQotICAgICAgICAgICBbMTc1XSwgc2hhcGU9WzFdLCBzdHJpZGVzPVstNV0gaXMgY29uc2lkZXJlZCBjb250aWd1b3VzLiAqLwotICAgICAgICByZXR1cm4gMTsKLSAgICB9CiAKICAgICBmb3IgKGkgPSAwOyBpIDwgbmRpbTsgaSsrKSB7CisgICAgICAgIGlmIChzaGFwZSAmJiBzaGFwZVtpXSA8PSAxKSB7CisgICAgICAgICAgICAvKiBzdHJpZGVzIGNhbiBkaWZmZXIgaWYgdGhlIGRpbWVuc2lvbiBpcyBsZXNzIHRoYW4gMiAqLworICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KICAgICAgICAgaWYgKGExW2ldICE9IGEyW2ldKSB7CiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgfQpAQCAtMjU1NSwzMCArMjU2OSwzNSBAQAogICAgIFB5T2JqZWN0ICpvYmo7CiAgICAgUHlPYmplY3QgKm9yZGVyOwogICAgIFB5T2JqZWN0ICpyZXQgPSBOVUxMOwotICAgIFB5X2J1ZmZlciB2aWV3OworICAgIFB5X2J1ZmZlciB2aWV3LCAqYmFzZTsKICAgICBjaGFyIG9yZDsKIAogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiT08iLCAmb2JqLCAmb3JkZXIpKSB7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIAotICAgIGlmIChQeU9iamVjdF9HZXRCdWZmZXIob2JqLCAmdmlldywgUHlCVUZfRlVMTF9STykgPCAwKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCi0gICAgICAgICAgICAiaXNfY29udGlndW91czogb2JqZWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgYnVmZmVyICIKLSAgICAgICAgICAgICJwcm90b2NvbCIpOworICAgIG9yZCA9IGdldF9hc2NpaV9vcmRlcihvcmRlcik7CisgICAgaWYgKG9yZCA9PSBDSEFSX01BWCkgewogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKLSAgICBvcmQgPSBnZXRfYXNjaWlfb3JkZXIob3JkZXIpOwotICAgIGlmIChvcmQgPT0gQ0hBUl9NQVgpIHsKLSAgICAgICAgZ290byByZWxlYXNlOworICAgIGlmIChOREFycmF5X0NoZWNrKG9iaikpIHsKKyAgICAgICAgLyogU2tpcCB0aGUgYnVmZmVyIHByb3RvY29sIHRvIGNoZWNrIHNpbXBsZSBldGMuIGJ1ZmZlcnMgZGlyZWN0bHkuICovCisgICAgICAgIGJhc2UgPSAmKChOREFycmF5T2JqZWN0ICopb2JqKS0+aGVhZC0+YmFzZTsKKyAgICAgICAgcmV0ID0gUHlCdWZmZXJfSXNDb250aWd1b3VzKGJhc2UsIG9yZCkgPyBQeV9UcnVlIDogUHlfRmFsc2U7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICBpZiAoUHlPYmplY3RfR2V0QnVmZmVyKG9iaiwgJnZpZXcsIFB5QlVGX0ZVTExfUk8pIDwgMCkgeworICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAiaXNfY29udGlndW91czogb2JqZWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgYnVmZmVyICIKKyAgICAgICAgICAgICAgICAicHJvdG9jb2wiKTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisgICAgICAgIHJldCA9IFB5QnVmZmVyX0lzQ29udGlndW91cygmdmlldywgb3JkKSA/IFB5X1RydWUgOiBQeV9GYWxzZTsKKyAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmdmlldyk7CiAgICAgfQogCi0gICAgcmV0ID0gUHlCdWZmZXJfSXNDb250aWd1b3VzKCZ2aWV3LCBvcmQpID8gUHlfVHJ1ZSA6IFB5X0ZhbHNlOwogICAgIFB5X0lOQ1JFRihyZXQpOwotCi1yZWxlYXNlOgotICAgIFB5QnVmZmVyX1JlbGVhc2UoJnZpZXcpOwogICAgIHJldHVybiByZXQ7CiB9CiAKZGlmZiAtLWdpdCBhL01vZHVsZXMvX3Rlc3RjYXBpbW9kdWxlLmMgYi9Nb2R1bGVzL190ZXN0Y2FwaW1vZHVsZS5jCmluZGV4IDYyNTQwOWUuLmJlZDY1NjggMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX3Rlc3RjYXBpbW9kdWxlLmMKKysrIGIvTW9kdWxlcy9fdGVzdGNhcGltb2R1bGUuYwpAQCAtMTIsNiArMTIsNyBAQAogI2luY2x1ZGUgInN0cnVjdG1lbWJlci5oIgogI2luY2x1ZGUgImRhdGV0aW1lLmgiCiAjaW5jbHVkZSAibWFyc2hhbC5oIgorI2luY2x1ZGUgPHNpZ25hbC5oPgogCiAjaWZkZWYgV0lUSF9USFJFQUQKICNpbmNsdWRlICJweXRocmVhZC5oIgpAQCAtMTcxOSw3ICsxNzIwLDcgQEAKICAgICAgICAgICAgICB7LTB4ZmZmZkwsIDE2LCAtMX0sCiAgICAgICAgICAgICAgezB4ZmZmZmZmZkwsIDI4LCAxfSwKICAgICAgICAgICAgICB7LTB4ZmZmZmZmZkwsIDI4LCAtMX19OwotICAgIGludCBpOworICAgIHNpemVfdCBpOwogCiAgICAgZm9yIChpID0gMDsgaSA8IFB5X0FSUkFZX0xFTkdUSCh0ZXN0Y2FzZXMpOyArK2kpIHsKICAgICAgICAgc2l6ZV90IG5iaXRzOwpAQCAtMjUxOSw2ICsyNTIwLDU4IEBACiAgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAKKyNpZiAoZGVmaW5lZChfX2xpbnV4X18pIHx8IGRlZmluZWQoX19GcmVlQlNEX18pKSAmJiBkZWZpbmVkKF9fR05VQ19fKQorZXh0ZXJuIFB5VHlwZU9iamVjdCBfUHlCeXRlc0lPQnVmZmVyX1R5cGU7CisKK3N0YXRpYyBQeU9iamVjdCAqCit0ZXN0X3BlcDMxMThfb2Jzb2xldGVfd3JpdGVfbG9ja3MoUHlPYmplY3QqIHNlbGYsIFB5T2JqZWN0ICpub2FyZ3MpCit7CisgICAgUHlUeXBlT2JqZWN0ICp0eXBlID0gJl9QeUJ5dGVzSU9CdWZmZXJfVHlwZTsKKyAgICBQeU9iamVjdCAqYjsKKyAgICBjaGFyICpkdW1teVsxXTsKKyAgICBpbnQgcmV0LCBtYXRjaDsKKworICAgIC8qIFB5QnVmZmVyX0ZpbGxJbmZvKCkgKi8KKyAgICByZXQgPSBQeUJ1ZmZlcl9GaWxsSW5mbyhOVUxMLCBOVUxMLCBkdW1teSwgMSwgMCwgUHlCVUZfU0lNUExFKTsKKyAgICBtYXRjaCA9IFB5RXJyX09jY3VycmVkKCkgJiYgUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcyhQeUV4Y19CdWZmZXJFcnJvcik7CisgICAgUHlFcnJfQ2xlYXIoKTsKKyAgICBpZiAocmV0ICE9IC0xIHx8IG1hdGNoID09IDApCisgICAgICAgIGdvdG8gZXJyb3I7CisKKyAgICAvKiBieXRlc2lvYnVmX2dldGJ1ZmZlcigpICovCisgICAgYiA9IHR5cGUtPnRwX2FsbG9jKHR5cGUsIDApOworICAgIGlmIChiID09IE5VTEwpIHsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgcmV0ID0gUHlPYmplY3RfR2V0QnVmZmVyKGIsIE5VTEwsIFB5QlVGX1NJTVBMRSk7CisgICAgUHlfREVDUkVGKGIpOworICAgIG1hdGNoID0gUHlFcnJfT2NjdXJyZWQoKSAmJiBQeUVycl9FeGNlcHRpb25NYXRjaGVzKFB5RXhjX0J1ZmZlckVycm9yKTsKKyAgICBQeUVycl9DbGVhcigpOworICAgIGlmIChyZXQgIT0gLTEgfHwgbWF0Y2ggPT0gMCkKKyAgICAgICAgZ290byBlcnJvcjsKKworICAgIFB5X1JFVFVSTl9OT05FOworCitlcnJvcjoKKyAgICBQeUVycl9TZXRTdHJpbmcoVGVzdEVycm9yLAorICAgICAgICAidGVzdF9wZXAzMTE4X29ic29sZXRlX3dyaXRlX2xvY2tzOiBmYWlsdXJlIik7CisgICAgcmV0dXJuIE5VTEw7Cit9CisjZW5kaWYKKworLyogVGhpcyB0ZXN0cyBmdW5jdGlvbnMgdGhhdCBoaXN0b3JpY2FsbHkgc3VwcG9ydGVkIHdyaXRlIGxvY2tzLiAgSXQgaXMKKyAgIHdyb25nIHRvIGNhbGwgZ2V0YnVmZmVyKCkgd2l0aCB2aWV3PT1OVUxMIGFuZCBhIGNvbXBsaWFudCBnZXRidWZmZXJwcm9jCisgICBpcyBlbnRpdGxlZCB0byBzZWdmYXVsdCBpbiB0aGF0IGNhc2UuICovCitzdGF0aWMgUHlPYmplY3QgKgorZ2V0YnVmZmVyX3dpdGhfbnVsbF92aWV3KFB5T2JqZWN0KiBzZWxmLCBQeU9iamVjdCAqb2JqKQoreworICAgIGlmIChQeU9iamVjdF9HZXRCdWZmZXIob2JqLCBOVUxMLCBQeUJVRl9TSU1QTEUpIDwgMCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBQeV9SRVRVUk5fTk9ORTsKK30KKwogLyogVGVzdCB0aGF0IHRoZSBmYXRhbCBlcnJvciBmcm9tIG5vdCBoYXZpbmcgYSBjdXJyZW50IHRocmVhZCBkb2Vzbid0CiAgICBjYXVzZSBhbiBpbmZpbml0ZSBsb29wLiAgUnVuIHZpYSBMaWIvdGVzdC90ZXN0X2NhcGkucHkgKi8KIHN0YXRpYyBQeU9iamVjdCAqCkBAIC0yNzAzLDYgKzI3NTYsMjEgQEAKICAgICByZXR1cm4gb2JqOwogfQogCitzdGF0aWMgUHlNZXRob2REZWYgbWw7CisKK3N0YXRpYyBQeU9iamVjdCAqCitjcmVhdGVfY2Z1bmN0aW9uKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICByZXR1cm4gUHlDRnVuY3Rpb25fTmV3RXgoJm1sLCBzZWxmLCBOVUxMKTsKK30KKworc3RhdGljIFB5TWV0aG9kRGVmIG1sID0geworICAgICJjcmVhdGVfY2Z1bmN0aW9uIiwKKyAgICBjcmVhdGVfY2Z1bmN0aW9uLAorICAgIE1FVEhfTk9BUkdTLAorICAgIE5VTEwKK307CisKIHN0YXRpYyBQeU9iamVjdCAqCiBfdGVzdF9pbmNyZWYoUHlPYmplY3QgKm9iKQogewpAQCAtMjc2MSw2ICsyODI5LDIwIEBACiB7CiAgICAgdm9pZCAqcHRyOwogCisgICAgcHRyID0gUHlNZW1fUmF3TWFsbG9jKDApOworICAgIGlmIChwdHIgPT0gTlVMTCkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfUnVudGltZUVycm9yLCAiUHlNZW1fUmF3TWFsbG9jKDApIHJldHVybnMgTlVMTCIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgUHlNZW1fUmF3RnJlZShwdHIpOworCisgICAgcHRyID0gUHlNZW1fUmF3Q2FsbG9jKDAsIDApOworICAgIGlmIChwdHIgPT0gTlVMTCkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfUnVudGltZUVycm9yLCAiUHlNZW1fUmF3Q2FsbG9jKDAsIDApIHJldHVybnMgTlVMTCIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgUHlNZW1fUmF3RnJlZShwdHIpOworCiAgICAgcHRyID0gUHlNZW1fTWFsbG9jKDApOwogICAgIGlmIChwdHIgPT0gTlVMTCkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfUnVudGltZUVycm9yLCAiUHlNZW1fTWFsbG9jKDApIHJldHVybnMgTlVMTCIpOwpAQCAtMjc2OCw2ICsyODUwLDEzIEBACiAgICAgfQogICAgIFB5TWVtX0ZyZWUocHRyKTsKIAorICAgIHB0ciA9IFB5TWVtX0NhbGxvYygwLCAwKTsKKyAgICBpZiAocHRyID09IE5VTEwpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1J1bnRpbWVFcnJvciwgIlB5TWVtX0NhbGxvYygwLCAwKSByZXR1cm5zIE5VTEwiKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIFB5TWVtX0ZyZWUocHRyKTsKKwogICAgIHB0ciA9IFB5T2JqZWN0X01hbGxvYygwKTsKICAgICBpZiAocHRyID09IE5VTEwpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1J1bnRpbWVFcnJvciwgIlB5T2JqZWN0X01hbGxvYygwKSByZXR1cm5zIE5VTEwiKTsKQEAgLTI3NzUsMTMgKzI4NjQsMjIgQEAKICAgICB9CiAgICAgUHlPYmplY3RfRnJlZShwdHIpOwogCisgICAgcHRyID0gUHlPYmplY3RfQ2FsbG9jKDAsIDApOworICAgIGlmIChwdHIgPT0gTlVMTCkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfUnVudGltZUVycm9yLCAiUHlPYmplY3RfQ2FsbG9jKDAsIDApIHJldHVybnMgTlVMTCIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgUHlPYmplY3RfRnJlZShwdHIpOworCiAgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAKIHR5cGVkZWYgc3RydWN0IHsKLSAgICBQeU1lbUFsbG9jYXRvciBhbGxvYzsKKyAgICBQeU1lbUFsbG9jYXRvckV4IGFsbG9jOwogCiAgICAgc2l6ZV90IG1hbGxvY19zaXplOworICAgIHNpemVfdCBjYWxsb2NfbmVsZW07CisgICAgc2l6ZV90IGNhbGxvY19lbHNpemU7CiAgICAgdm9pZCAqcmVhbGxvY19wdHI7CiAgICAgc2l6ZV90IHJlYWxsb2NfbmV3X3NpemU7CiAgICAgdm9pZCAqZnJlZV9wdHI7CkBAIC0yNzk0LDYgKzI4OTIsMTQgQEAKICAgICByZXR1cm4gaG9vay0+YWxsb2MubWFsbG9jKGhvb2stPmFsbG9jLmN0eCwgc2l6ZSk7CiB9CiAKK3N0YXRpYyB2b2lkKiBob29rX2NhbGxvYyAodm9pZCogY3R4LCBzaXplX3QgbmVsZW0sIHNpemVfdCBlbHNpemUpCit7CisgICAgYWxsb2NfaG9va190ICpob29rID0gKGFsbG9jX2hvb2tfdCAqKWN0eDsKKyAgICBob29rLT5jYWxsb2NfbmVsZW0gPSBuZWxlbTsKKyAgICBob29rLT5jYWxsb2NfZWxzaXplID0gZWxzaXplOworICAgIHJldHVybiBob29rLT5hbGxvYy5jYWxsb2MoaG9vay0+YWxsb2MuY3R4LCBuZWxlbSwgZWxzaXplKTsKK30KKwogc3RhdGljIHZvaWQqIGhvb2tfcmVhbGxvYyAodm9pZCogY3R4LCB2b2lkKiBwdHIsIHNpemVfdCBuZXdfc2l6ZSkKIHsKICAgICBhbGxvY19ob29rX3QgKmhvb2sgPSAoYWxsb2NfaG9va190ICopY3R4OwpAQCAtMjgxNSwxNyArMjkyMSwxNSBAQAogICAgIFB5T2JqZWN0ICpyZXMgPSBOVUxMOwogICAgIGNvbnN0IGNoYXIgKmVycm9yX21zZzsKICAgICBhbGxvY19ob29rX3QgaG9vazsKLSAgICBQeU1lbUFsbG9jYXRvciBhbGxvYzsKLSAgICBzaXplX3Qgc2l6ZSwgc2l6ZTI7CisgICAgUHlNZW1BbGxvY2F0b3JFeCBhbGxvYzsKKyAgICBzaXplX3Qgc2l6ZSwgc2l6ZTIsIG5lbGVtLCBlbHNpemU7CiAgICAgdm9pZCAqcHRyLCAqcHRyMjsKIAotICAgIGhvb2subWFsbG9jX3NpemUgPSAwOwotICAgIGhvb2sucmVhbGxvY19wdHIgPSBOVUxMOwotICAgIGhvb2sucmVhbGxvY19uZXdfc2l6ZSA9IDA7Ci0gICAgaG9vay5mcmVlX3B0ciA9IE5VTEw7CisgICAgbWVtc2V0KCZob29rLCAwLCBzaXplb2YoaG9vaykpOwogCiAgICAgYWxsb2MuY3R4ID0gJmhvb2s7CiAgICAgYWxsb2MubWFsbG9jID0gJmhvb2tfbWFsbG9jOworICAgIGFsbG9jLmNhbGxvYyA9ICZob29rX2NhbGxvYzsKICAgICBhbGxvYy5yZWFsbG9jID0gJmhvb2tfcmVhbGxvYzsKICAgICBhbGxvYy5mcmVlID0gJmhvb2tfZnJlZTsKICAgICBQeU1lbV9HZXRBbGxvY2F0b3IoZG9tYWluLCAmaG9vay5hbGxvYyk7CkBAIC0yODgyLDYgKzI5ODYsMzMgQEAKICAgICAgICAgZ290byBmYWlsOwogICAgIH0KIAorICAgIG5lbGVtID0gMjsKKyAgICBlbHNpemUgPSA1OworICAgIHN3aXRjaChkb21haW4pCisgICAgeworICAgIGNhc2UgUFlNRU1fRE9NQUlOX1JBVzogcHRyID0gUHlNZW1fUmF3Q2FsbG9jKG5lbGVtLCBlbHNpemUpOyBicmVhazsKKyAgICBjYXNlIFBZTUVNX0RPTUFJTl9NRU06IHB0ciA9IFB5TWVtX0NhbGxvYyhuZWxlbSwgZWxzaXplKTsgYnJlYWs7CisgICAgY2FzZSBQWU1FTV9ET01BSU5fT0JKOiBwdHIgPSBQeU9iamVjdF9DYWxsb2MobmVsZW0sIGVsc2l6ZSk7IGJyZWFrOworICAgIGRlZmF1bHQ6IHB0ciA9IE5VTEw7IGJyZWFrOworICAgIH0KKworICAgIGlmIChwdHIgPT0gTlVMTCkgeworICAgICAgICBlcnJvcl9tc2cgPSAiY2FsbG9jIGZhaWxlZCI7CisgICAgICAgIGdvdG8gZmFpbDsKKyAgICB9CisKKyAgICBpZiAoaG9vay5jYWxsb2NfbmVsZW0gIT0gbmVsZW0gfHwgaG9vay5jYWxsb2NfZWxzaXplICE9IGVsc2l6ZSkgeworICAgICAgICBlcnJvcl9tc2cgPSAiY2FsbG9jIGludmFsaWQgbmVsZW0gb3IgZWxzaXplIjsKKyAgICAgICAgZ290byBmYWlsOworICAgIH0KKworICAgIHN3aXRjaChkb21haW4pCisgICAgeworICAgIGNhc2UgUFlNRU1fRE9NQUlOX1JBVzogUHlNZW1fUmF3RnJlZShwdHIpOyBicmVhazsKKyAgICBjYXNlIFBZTUVNX0RPTUFJTl9NRU06IFB5TWVtX0ZyZWUocHRyKTsgYnJlYWs7CisgICAgY2FzZSBQWU1FTV9ET01BSU5fT0JKOiBQeU9iamVjdF9GcmVlKHB0cik7IGJyZWFrOworICAgIH0KKwogICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKICAgICByZXMgPSBQeV9Ob25lOwogICAgIGdvdG8gZmluYWxseTsKQEAgLTMwNTEsNiArMzE4MiwyNCBAQAogfQogI2VuZGlmICAgLyogV0lUSF9USFJFQUQgKi8KIAorc3RhdGljIFB5T2JqZWN0KgordGVzdF9yYWlzZV9zaWduYWwoUHlPYmplY3QqIHNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIGludCBzaWdudW0sIGVycjsKKworICAgIGlmIChQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpOnJhaXNlX3NpZ25hbCIsICZzaWdudW0pIDwgMCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBlcnIgPSByYWlzZShzaWdudW0pOworICAgIGlmIChlcnIpCisgICAgICAgIHJldHVybiBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfT1NFcnJvcik7CisKKyAgICBpZiAoUHlFcnJfQ2hlY2tTaWduYWxzKCkgPCAwKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIFB5X1JFVFVSTl9OT05FOworfQorCiAvKiBtYXJzaGFsICovCiAKIHN0YXRpYyBQeU9iamVjdCoKQEAgLTMyMzYsNiArMzM4NSwxMCBAQAogICAgIHsidGVzdF91bmljb2RlX2NvbXBhcmVfd2l0aF9hc2NpaSIsIChQeUNGdW5jdGlvbil0ZXN0X3VuaWNvZGVfY29tcGFyZV93aXRoX2FzY2lpLCBNRVRIX05PQVJHU30sCiAgICAgeyJ0ZXN0X2NhcHN1bGUiLCAoUHlDRnVuY3Rpb24pdGVzdF9jYXBzdWxlLCBNRVRIX05PQVJHU30sCiAgICAgeyJ0ZXN0X2Zyb21fY29udGlndW91cyIsIChQeUNGdW5jdGlvbil0ZXN0X2Zyb21fY29udGlndW91cywgTUVUSF9OT0FSR1N9LAorI2lmIChkZWZpbmVkKF9fbGludXhfXykgfHwgZGVmaW5lZChfX0ZyZWVCU0RfXykpICYmIGRlZmluZWQoX19HTlVDX18pCisgICAgeyJ0ZXN0X3BlcDMxMThfb2Jzb2xldGVfd3JpdGVfbG9ja3MiLCAoUHlDRnVuY3Rpb24pdGVzdF9wZXAzMTE4X29ic29sZXRlX3dyaXRlX2xvY2tzLCBNRVRIX05PQVJHU30sCisjZW5kaWYKKyAgICB7ImdldGJ1ZmZlcl93aXRoX251bGxfdmlldyIsIGdldGJ1ZmZlcl93aXRoX251bGxfdmlldywgTUVUSF9PfSwKICAgICB7ImdldGFyZ3NfdHVwbGUiLCAgICAgICAgICAgZ2V0YXJnc190dXBsZSwgICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTfSwKICAgICB7ImdldGFyZ3Nfa2V5d29yZHMiLCAoUHlDRnVuY3Rpb24pZ2V0YXJnc19rZXl3b3JkcywKICAgICAgIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTfSwKQEAgLTMzMDksNiArMzQ2Miw3IEBACiAgICAgeyJweXRpbWVfb2JqZWN0X3RvX3RpbWV2YWwiLCB0ZXN0X3B5dGltZV9vYmplY3RfdG9fdGltZXZhbCwgIE1FVEhfVkFSQVJHU30sCiAgICAgeyJweXRpbWVfb2JqZWN0X3RvX3RpbWVzcGVjIiwgdGVzdF9weXRpbWVfb2JqZWN0X3RvX3RpbWVzcGVjLCAgTUVUSF9WQVJBUkdTfSwKICAgICB7IndpdGhfdHBfZGVsIiwgICAgICAgICAgICAgd2l0aF90cF9kZWwsICAgICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTfSwKKyAgICB7ImNyZWF0ZV9jZnVuY3Rpb24iLCAgICAgICAgY3JlYXRlX2NmdW5jdGlvbiwgICAgICAgICAgICAgICAgTUVUSF9OT0FSR1N9LAogICAgIHsidGVzdF9weW1lbV9hbGxvYzAiLAogICAgICAoUHlDRnVuY3Rpb24pdGVzdF9weW1lbV9hbGxvYzAsIE1FVEhfTk9BUkdTfSwKICAgICB7InRlc3RfcHltZW1fc2V0cmF3YWxsb2NhdG9ycyIsCkBAIC0zMzQwLDYgKzM0OTQsOCBAQAogICAgIHsiZG9jc3RyaW5nX3dpdGhfc2lnbmF0dXJlX3dpdGhfZGVmYXVsdHMiLAogICAgICAgICAoUHlDRnVuY3Rpb24pdGVzdF93aXRoX2RvY3N0cmluZywgTUVUSF9OT0FSR1MsCiAgICAgICAgIGRvY3N0cmluZ193aXRoX3NpZ25hdHVyZV93aXRoX2RlZmF1bHRzfSwKKyAgICB7InJhaXNlX3NpZ25hbCIsCisgICAgIChQeUNGdW5jdGlvbil0ZXN0X3JhaXNlX3NpZ25hbCwgTUVUSF9WQVJBUkdTfSwKICNpZmRlZiBXSVRIX1RIUkVBRAogICAgIHsiY2FsbF9pbl90ZW1wb3JhcnlfY190aHJlYWQiLCBjYWxsX2luX3RlbXBvcmFyeV9jX3RocmVhZCwgTUVUSF9PLAogICAgICBQeURvY19TVFIoInNldF9lcnJvcl9jbGFzcyhlcnJvcl9jbGFzcykgLT4gTm9uZSIpfSwKQEAgLTM1MTUsNiArMzY3MSwxMDkgQEAKIH07CiAKIAordHlwZWRlZiBzdHJ1Y3QgeworICAgIFB5T2JqZWN0X0hFQUQKK30gbWF0bXVsT2JqZWN0OworCitzdGF0aWMgUHlPYmplY3QgKgorbWF0bXVsVHlwZV9tYXRtdWwoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpvdGhlcikKK3sKKyAgICByZXR1cm4gUHlfQnVpbGRWYWx1ZSgiKHNPTykiLCAibWF0bXVsIiwgc2VsZiwgb3RoZXIpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorbWF0bXVsVHlwZV9pbWF0bXVsKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqb3RoZXIpCit7CisgICAgcmV0dXJuIFB5X0J1aWxkVmFsdWUoIihzT08pIiwgImltYXRtdWwiLCBzZWxmLCBvdGhlcik7Cit9CisKK3N0YXRpYyB2b2lkCittYXRtdWxUeXBlX2RlYWxsb2MoUHlPYmplY3QgKnNlbGYpCit7CisgICAgUHlfVFlQRShzZWxmKS0+dHBfZnJlZShzZWxmKTsKK30KKworc3RhdGljIFB5TnVtYmVyTWV0aG9kcyBtYXRtdWxUeXBlX2FzX251bWJlciA9IHsKKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfYWRkICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX3N1YnRyYWN0ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX211bHRpcGx5ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX3JlbWFpbmRlIHIqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl9kaXZtb2QgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfcG93ZXIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfbmVnYXRpdmUgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfcG9zaXRpdmUgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYWJzb2x1dGUgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYm9vbCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl9pbnZlcnQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfbHNoaWZ0ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX3JzaGlmdCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl9hbmQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfeG9yICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX29yICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX2ludCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl9yZXNlcnZlZCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl9mbG9hdCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl9pbnBsYWNlX2FkZCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl9pbnBsYWNlX3N1YnRyYWN0ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX2lucGxhY2VfbXVsdGlwbHkgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfaW5wbGFjZV9yZW1haW5kZXIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfaW5wbGFjZV9wb3dlciAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl9pbnBsYWNlX2xzaGlmdCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl9pbnBsYWNlX3JzaGlmdCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl9pbnBsYWNlX2FuZCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl9pbnBsYWNlX3hvciAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl9pbnBsYWNlX29yICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX2Zsb29yX2RpdmlkZSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl90cnVlX2RpdmlkZSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl9pbnBsYWNlX2Zsb29yX2RpdmlkZSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl9pbnBsYWNlX3RydWVfZGl2aWRlICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX2luZGV4ICovCisgICAgbWF0bXVsVHlwZV9tYXRtdWwsICAgICAgICAvKiBuYl9tYXRyaXhfbXVsdGlwbHkgKi8KKyAgICBtYXRtdWxUeXBlX2ltYXRtdWwgICAgICAgIC8qIG5iX21hdHJpeF9pbnBsYWNlX211bHRpcGx5ICovCit9OworCitzdGF0aWMgUHlUeXBlT2JqZWN0IG1hdG11bFR5cGUgPSB7CisgICAgUHlWYXJPYmplY3RfSEVBRF9JTklUKE5VTEwsIDApCisgICAgIm1hdG11bFR5cGUiLAorICAgIHNpemVvZihtYXRtdWxPYmplY3QpLCAgICAgICAgICAgICAgIC8qIHRwX2Jhc2ljc2l6ZSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2l0ZW1zaXplICovCisgICAgbWF0bXVsVHlwZV9kZWFsbG9jLCAgICAgICAgICAgICAgICAgLyogZGVzdHJ1Y3RvciB0cF9kZWFsbG9jICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfcHJpbnQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9nZXRhdHRyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfc2V0YXR0ciAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3Jlc2VydmVkICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfcmVwciAqLworICAgICZtYXRtdWxUeXBlX2FzX251bWJlciwgICAgICAgICAgICAgIC8qIHRwX2FzX251bWJlciAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2FzX3NlcXVlbmNlICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYXNfbWFwcGluZyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2hhc2ggKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9jYWxsICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfc3RyICovCisgICAgUHlPYmplY3RfR2VuZXJpY0dldEF0dHIsICAgICAgICAgICAgLyogdHBfZ2V0YXR0cm8gKi8KKyAgICBQeU9iamVjdF9HZW5lcmljU2V0QXR0ciwgICAgICAgICAgICAvKiB0cF9zZXRhdHRybyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2FzX2J1ZmZlciAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2ZsYWdzICovCisgICAgIkMgbGV2ZWwgdHlwZSB3aXRoIG1hdHJpeCBvcGVyYXRpb25zIGRlZmluZWQiLAorICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRyYXZlcnNlcHJvYyB0cF90cmF2ZXJzZSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2NsZWFyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfcmljaGNvbXBhcmUgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF93ZWFrbGlzdG9mZnNldCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2l0ZXIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9pdGVybmV4dCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX21ldGhvZHMgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9tZW1iZXJzICovCisgICAgMCwKKyAgICAwLAorICAgIDAsCisgICAgMCwKKyAgICAwLAorICAgIDAsCisgICAgMCwKKyAgICAwLAorICAgIFB5VHlwZV9HZW5lcmljTmV3LCAgICAgICAgICAgICAgICAgIC8qIHRwX25ldyAqLworICAgIFB5T2JqZWN0X0RlbCwgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2ZyZWUgKi8KK307CisKIAogc3RhdGljIHN0cnVjdCBQeU1vZHVsZURlZiBfdGVzdGNhcGltb2R1bGUgPSB7CiAgICAgUHlNb2R1bGVEZWZfSEVBRF9JTklULApAQCAtMzU0NCw2ICszODAzLDEwIEBACiAgICAgLyogZG9uJ3QgdXNlIGEgbmFtZSBzdGFydGluZyB3aXRoICJ0ZXN0Iiwgc2luY2Ugd2UgZG9uJ3Qgd2FudAogICAgICAgIHRlc3RfY2FwaSB0byBhdXRvbWF0aWNhbGx5IGNhbGwgdGhpcyAqLwogICAgIFB5TW9kdWxlX0FkZE9iamVjdChtLCAiX3Rlc3Rfc3RydWN0bWVtYmVyc1R5cGUiLCAoUHlPYmplY3QgKikmdGVzdF9zdHJ1Y3RtZW1iZXJzVHlwZSk7CisgICAgaWYgKFB5VHlwZV9SZWFkeSgmbWF0bXVsVHlwZSkgPCAwKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBQeV9JTkNSRUYoJm1hdG11bFR5cGUpOworICAgIFB5TW9kdWxlX0FkZE9iamVjdChtLCAibWF0bXVsVHlwZSIsIChQeU9iamVjdCAqKSZtYXRtdWxUeXBlKTsKIAogICAgIFB5TW9kdWxlX0FkZE9iamVjdChtLCAiQ0hBUl9NQVgiLCBQeUxvbmdfRnJvbUxvbmcoQ0hBUl9NQVgpKTsKICAgICBQeU1vZHVsZV9BZGRPYmplY3QobSwgIkNIQVJfTUlOIiwgUHlMb25nX0Zyb21Mb25nKENIQVJfTUlOKSk7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL190aHJlYWRtb2R1bGUuYyBiL01vZHVsZXMvX3RocmVhZG1vZHVsZS5jCmluZGV4IDk5MjViMGUuLjhmNTllMDMgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX3RocmVhZG1vZHVsZS5jCisrKyBiL01vZHVsZXMvX3RocmVhZG1vZHVsZS5jCkBAIC01Nyw3ICs1Nyw3IEBACiAKIAogICAgIGlmIChtaWNyb3NlY29uZHMgPiAwKSB7Ci0gICAgICAgIF9QeVRpbWVfZ2V0dGltZW9mZGF5KCZlbmR0aW1lKTsKKyAgICAgICAgX1B5VGltZV9tb25vdG9uaWMoJmVuZHRpbWUpOwogICAgICAgICBlbmR0aW1lLnR2X3NlYyArPSBtaWNyb3NlY29uZHMgLyAoMTAwMCAqIDEwMDApOwogICAgICAgICBlbmR0aW1lLnR2X3VzZWMgKz0gbWljcm9zZWNvbmRzICUgKDEwMDAgKiAxMDAwKTsKICAgICB9CkBAIC04Myw3ICs4Myw3IEBACiAgICAgICAgICAgICAvKiBJZiB3ZSdyZSB1c2luZyBhIHRpbWVvdXQsIHJlY29tcHV0ZSB0aGUgdGltZW91dCBhZnRlciBwcm9jZXNzaW5nCiAgICAgICAgICAgICAgKiBzaWduYWxzLCBzaW5jZSB0aG9zZSBjYW4gdGFrZSB0aW1lLiAgKi8KICAgICAgICAgICAgIGlmIChtaWNyb3NlY29uZHMgPiAwKSB7Ci0gICAgICAgICAgICAgICAgX1B5VGltZV9nZXR0aW1lb2ZkYXkoJmN1cnRpbWUpOworICAgICAgICAgICAgICAgIF9QeVRpbWVfbW9ub3RvbmljKCZjdXJ0aW1lKTsKICAgICAgICAgICAgICAgICBtaWNyb3NlY29uZHMgPSAoKGVuZHRpbWUudHZfc2VjIC0gY3VydGltZS50dl9zZWMpICogMTAwMDAwMCArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlbmR0aW1lLnR2X3VzZWMgLSBjdXJ0aW1lLnR2X3VzZWMpKTsKIApAQCAtMTkyLDYgKzE5MiwxMyBAQAogXG5cCiBSZXR1cm4gd2hldGhlciB0aGUgbG9jayBpcyBpbiB0aGUgbG9ja2VkIHN0YXRlLiIpOwogCitzdGF0aWMgUHlPYmplY3QgKgorbG9ja19yZXByKGxvY2tvYmplY3QgKnNlbGYpCit7CisgICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tRm9ybWF0KCI8JXMgJXMgb2JqZWN0IGF0ICVwPiIsCisgICAgICAgIHNlbGYtPmxvY2tlZCA/ICJsb2NrZWQiIDogInVubG9ja2VkIiwgUHlfVFlQRShzZWxmKS0+dHBfbmFtZSwgc2VsZik7Cit9CisKIHN0YXRpYyBQeU1ldGhvZERlZiBsb2NrX21ldGhvZHNbXSA9IHsKICAgICB7ImFjcXVpcmVfbG9jayIsIChQeUNGdW5jdGlvbilsb2NrX1B5VGhyZWFkX2FjcXVpcmVfbG9jaywKICAgICAgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywgYWNxdWlyZV9kb2N9LApAQCAtMjIzLDcgKzIzMCw3IEBACiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9nZXRhdHRyKi8KICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX3NldGF0dHIqLwogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfcmVzZXJ2ZWQqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfcmVwciovCisgICAgKHJlcHJmdW5jKWxvY2tfcmVwciwgICAgICAgICAgICAgICAgLyp0cF9yZXByKi8KICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2FzX251bWJlciovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9hc19zZXF1ZW5jZSovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9hc19tYXBwaW5nKi8KQEAgLTQ3NSw4ICs0ODIsMTAgQEAKIHN0YXRpYyBQeU9iamVjdCAqCiBybG9ja19yZXByKHJsb2Nrb2JqZWN0ICpzZWxmKQogewotICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbUZvcm1hdCgiPCVzIG93bmVyPSVsZCBjb3VudD0lbHU+IiwKLSAgICAgICAgUHlfVFlQRShzZWxmKS0+dHBfbmFtZSwgc2VsZi0+cmxvY2tfb3duZXIsIHNlbGYtPnJsb2NrX2NvdW50KTsKKyAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21Gb3JtYXQoIjwlcyAlcyBvYmplY3Qgb3duZXI9JWxkIGNvdW50PSVsdSBhdCAlcD4iLAorICAgICAgICBzZWxmLT5ybG9ja19jb3VudCA/ICJsb2NrZWQiIDogInVubG9ja2VkIiwKKyAgICAgICAgUHlfVFlQRShzZWxmKS0+dHBfbmFtZSwgc2VsZi0+cmxvY2tfb3duZXIsCisgICAgICAgIHNlbGYtPnJsb2NrX2NvdW50LCBzZWxmKTsKIH0KIAogCmRpZmYgLS1naXQgYS9Nb2R1bGVzL190a2ludGVyLmMgYi9Nb2R1bGVzL190a2ludGVyLmMKaW5kZXggNmQ3NzdkMy4uZDUzOTZmNiAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fdGtpbnRlci5jCisrKyBiL01vZHVsZXMvX3RraW50ZXIuYwpAQCAtOSw4ICs5LDggQEAKIAogLyogVENML1RLIFZFUlNJT04gSU5GTzoKIAotICAgIE9ubHkgVGNsL1RrIDguMy4xIGFuZCBsYXRlciBhcmUgc3VwcG9ydGVkLiAgT2xkZXIgdmVyc2lvbnMgYXJlIG5vdAotICAgIHN1cHBvcnRlZC4gVXNlIFB5dGhvbiAyLjYgb3Igb2xkZXIgaWYgeW91IGNhbm5vdCB1cGdyYWRlIHlvdXIKKyAgICBPbmx5IFRjbC9UayA4LjQgYW5kIGxhdGVyIGFyZSBzdXBwb3J0ZWQuICBPbGRlciB2ZXJzaW9ucyBhcmUgbm90CisgICAgc3VwcG9ydGVkLiBVc2UgUHl0aG9uIDMuNCBvciBvbGRlciBpZiB5b3UgY2Fubm90IHVwZ3JhZGUgeW91cgogICAgIFRjbC9UayBsaWJyYXJpZXMuCiAqLwogCkBAIC0zNiwxMyArMzYsNiBAQAogI2RlZmluZSBDSEVDS19TSVpFKHNpemUsIGVsZW1zaXplKSBcCiAgICAgKChzaXplX3QpKHNpemUpIDw9IFB5X01BWCgoc2l6ZV90KUlOVF9NQVgsIFVJTlRfTUFYIC8gKHNpemVfdCkoZWxlbXNpemUpKSkKIAotLyogU3RhcnRpbmcgd2l0aCBUY2wgOC40LCBtYW55IEFQSXMgb2ZmZXIgY29uc3QtY29ycmVjdG5lc3MuICBVbmZvcnR1bmF0ZWx5LAotICAgbWFraW5nIF90a2ludGVyIGNvcnJlY3QgZm9yIHRoaXMgQVBJIG1lYW5zIHRvIGJyZWFrIGVhcmxpZXIKLSAgIHZlcnNpb25zLiBVU0VfQ09NUEFUX0NPTlNUIGFsbG93cyB0byBtYWtlIF90a2ludGVyIHdvcmsgd2l0aCBib3RoIDguNCBhbmQKLSAgIGVhcmxpZXIgdmVyc2lvbnMuIE9uY2UgVGNsIHJlbGVhc2VzIGJlZm9yZSA4LjQgZG9uJ3QgbmVlZCB0byBiZSBzdXBwb3J0ZWQKLSAgIGFueW1vcmUsIHRoaXMgc2hvdWxkIGdvLiAqLwotI2RlZmluZSBVU0VfQ09NUEFUX0NPTlNUCi0KIC8qIElmIFRjbCBpcyBjb21waWxlZCBmb3IgdGhyZWFkcywgd2UgbXVzdCBhbHNvIGRlZmluZSBUQ0xfVEhSRUFELiBXZSBkZWZpbmUKICAgIGl0IGFsd2F5czsgaWYgVGNsIGlzIG5vdCB0aHJlYWRlZCwgdGhlIHRocmVhZCBmdW5jdGlvbnMgaW4KICAgIFRjbCBhcmUgZW1wdHkuICAqLwpAQCAtNTgsMTUgKzUxLDggQEAKIAogI2luY2x1ZGUgInRraW50ZXIuaCIKIAotLyogRm9yIFRjbCA4LjIgYW5kIDguMywgQ09OU1QqIGlzIG5vdCBkZWZpbmVkIChleGNlcHQgb24gQ3lnd2luKS4gKi8KLSNpZm5kZWYgQ09OU1Q4NF9SRVRVUk4KLSNkZWZpbmUgQ09OU1Q4NF9SRVRVUk4KLSN1bmRlZiBDT05TVAotI2RlZmluZSBDT05TVAotI2VuZGlmCi0KLSNpZiBUS19WRVJTSU9OX0hFWCA8IDB4MDgwMzAxMDIKLSNlcnJvciAiVGsgb2xkZXIgdGhhbiA4LjMuMSBub3Qgc3VwcG9ydGVkIgorI2lmIFRLX1ZFUlNJT05fSEVYIDwgMHgwODA0MDAwMgorI2Vycm9yICJUayBvbGRlciB0aGFuIDguNCBub3Qgc3VwcG9ydGVkIgogI2VuZGlmCiAKICNpZiAhKGRlZmluZWQoTVNfV0lORE9XUykgfHwgZGVmaW5lZChfX0NZR1dJTl9fKSkKQEAgLTI0MiwxMyArMjI4LDEzIEBACiAgICAgaW50IGRpc3BhdGNoaW5nOwogICAgIC8qIFdlIGNhbm5vdCBpbmNsdWRlIHRjbEludC5oLCBhcyB0aGlzIGlzIGludGVybmFsLgogICAgICAgIFNvIHdlIGNhY2hlIGludGVyZXN0aW5nIHR5cGVzIGhlcmUuICovCi0gICAgVGNsX09ialR5cGUgKkJvb2xlYW5UeXBlOwotICAgIFRjbF9PYmpUeXBlICpCeXRlQXJyYXlUeXBlOwotICAgIFRjbF9PYmpUeXBlICpEb3VibGVUeXBlOwotICAgIFRjbF9PYmpUeXBlICpJbnRUeXBlOwotICAgIFRjbF9PYmpUeXBlICpMaXN0VHlwZTsKLSAgICBUY2xfT2JqVHlwZSAqUHJvY0JvZHlUeXBlOwotICAgIFRjbF9PYmpUeXBlICpTdHJpbmdUeXBlOworICAgIGNvbnN0IFRjbF9PYmpUeXBlICpCb29sZWFuVHlwZTsKKyAgICBjb25zdCBUY2xfT2JqVHlwZSAqQnl0ZUFycmF5VHlwZTsKKyAgICBjb25zdCBUY2xfT2JqVHlwZSAqRG91YmxlVHlwZTsKKyAgICBjb25zdCBUY2xfT2JqVHlwZSAqSW50VHlwZTsKKyAgICBjb25zdCBUY2xfT2JqVHlwZSAqTGlzdFR5cGU7CisgICAgY29uc3QgVGNsX09ialR5cGUgKlByb2NCb2R5VHlwZTsKKyAgICBjb25zdCBUY2xfT2JqVHlwZSAqU3RyaW5nVHlwZTsKIH0gVGthcHBPYmplY3Q7CiAKICNkZWZpbmUgVGthcHBfSW50ZXJwKHYpICgoKFRrYXBwT2JqZWN0ICopICh2KSktPmludGVycCkKQEAgLTM3NiwxMCArMzYyLDEwIEBACiAKIAogc3RhdGljIFB5T2JqZWN0ICoKLVNwbGl0KGNoYXIgKmxpc3QpCitTcGxpdChjb25zdCBjaGFyICpsaXN0KQogewogICAgIGludCBhcmdjOwotICAgIGNoYXIgKiphcmd2OworICAgIGNvbnN0IGNoYXIgKiphcmd2OwogICAgIFB5T2JqZWN0ICp2OwogCiAgICAgaWYgKGxpc3QgPT0gTlVMTCkgewpAQCAtNDU5LDkgKzQ0NSwyOSBAQAogICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICAgICAgLyogRmFsbCB0aHJvdWdoLCByZXR1cm5pbmcgYXJnLiAqLwogICAgIH0KKyAgICBlbHNlIGlmIChQeUxpc3RfQ2hlY2soYXJnKSkgeworICAgICAgICBpbnQgaSwgc2l6ZTsKKyAgICAgICAgUHlPYmplY3QgKmVsZW0sICpuZXdlbGVtLCAqcmVzdWx0OworCisgICAgICAgIHNpemUgPSBQeUxpc3RfR0VUX1NJWkUoYXJnKTsKKyAgICAgICAgcmVzdWx0ID0gUHlUdXBsZV9OZXcoc2l6ZSk7CisgICAgICAgIGlmICghcmVzdWx0KQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIC8qIFJlY3Vyc2l2ZWx5IGludm9rZSBTcGxpdE9iaiBmb3IgYWxsIGxpc3QgaXRlbXMuICovCisgICAgICAgIGZvcihpID0gMDsgaSA8IHNpemU7IGkrKykgeworICAgICAgICAgICAgZWxlbSA9IFB5TGlzdF9HRVRfSVRFTShhcmcsIGkpOworICAgICAgICAgICAgbmV3ZWxlbSA9IFNwbGl0T2JqKGVsZW0pOworICAgICAgICAgICAgaWYgKCFuZXdlbGVtKSB7CisgICAgICAgICAgICAgICAgUHlfWERFQ1JFRihyZXN1bHQpOworICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICAgICAgfQorICAgICAgICAgICAgUHlUdXBsZV9TZXRJdGVtKHJlc3VsdCwgaSwgbmV3ZWxlbSk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CiAgICAgZWxzZSBpZiAoUHlVbmljb2RlX0NoZWNrKGFyZykpIHsKICAgICAgICAgaW50IGFyZ2M7Ci0gICAgICAgIGNoYXIgKiphcmd2OworICAgICAgICBjb25zdCBjaGFyICoqYXJndjsKICAgICAgICAgY2hhciAqbGlzdCA9IFB5VW5pY29kZV9Bc1VURjgoYXJnKTsKIAogICAgICAgICBpZiAobGlzdCA9PSBOVUxMIHx8CkBAIC00NzYsNyArNDgyLDcgQEAKICAgICB9CiAgICAgZWxzZSBpZiAoUHlCeXRlc19DaGVjayhhcmcpKSB7CiAgICAgICAgIGludCBhcmdjOwotICAgICAgICBjaGFyICoqYXJndjsKKyAgICAgICAgY29uc3QgY2hhciAqKmFyZ3Y7CiAgICAgICAgIGNoYXIgKmxpc3QgPSBQeUJ5dGVzX0FzU3RyaW5nKGFyZyk7CiAKICAgICAgICAgaWYgKFRjbF9TcGxpdExpc3QoKFRjbF9JbnRlcnAgKilOVUxMLCBsaXN0LCAmYXJnYywgJmFyZ3YpICE9IFRDTF9PSykgewpAQCAtNTQzLDggKzU0OSw5IEBACiBzdGF0aWMgdm9pZCBEaXNhYmxlRXZlbnRIb29rKHZvaWQpOyAvKiBGb3J3YXJkICovCiAKIHN0YXRpYyBUa2FwcE9iamVjdCAqCi1Ua2FwcF9OZXcoY2hhciAqc2NyZWVuTmFtZSwgY2hhciAqY2xhc3NOYW1lLAotICAgICAgICAgIGludCBpbnRlcmFjdGl2ZSwgaW50IHdhbnRvYmplY3RzLCBpbnQgd2FudFRrLCBpbnQgc3luYywgY2hhciAqdXNlKQorVGthcHBfTmV3KGNvbnN0IGNoYXIgKnNjcmVlbk5hbWUsIGNvbnN0IGNoYXIgKmNsYXNzTmFtZSwKKyAgICAgICAgICBpbnQgaW50ZXJhY3RpdmUsIGludCB3YW50b2JqZWN0cywgaW50IHdhbnRUaywgaW50IHN5bmMsCisgICAgICAgICAgY29uc3QgY2hhciAqdXNlKQogewogICAgIFRrYXBwT2JqZWN0ICp2OwogICAgIGNoYXIgKmFyZ3YwOwpAQCAtNTk4LDcgKzYwNSw3IEBACiAgICAgICAgIFRjbF9TZXRWYXIodi0+aW50ZXJwLCAidGNsX2ludGVyYWN0aXZlIiwgIjAiLCBUQ0xfR0xPQkFMX09OTFkpOwogCiAgICAgLyogVGhpcyBpcyB1c2VkIHRvIGdldCB0aGUgYXBwbGljYXRpb24gY2xhc3MgZm9yIFRrIDQuMSBhbmQgdXAgKi8KLSAgICBhcmd2MCA9IChjaGFyKilhdHRlbXB0Y2thbGxvYyhzdHJsZW4oY2xhc3NOYW1lKSArIDEpOworICAgIGFyZ3YwID0gKGNoYXIqKVB5TWVtX01hbGxvYyhzdHJsZW4oY2xhc3NOYW1lKSArIDEpOwogICAgIGlmICghYXJndjApIHsKICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKICAgICAgICAgUHlfREVDUkVGKHYpOwpAQCAtNjA5LDcgKzYxNiw3IEBACiAgICAgaWYgKFB5X0lTVVBQRVIoUHlfQ0hBUk1BU0soYXJndjBbMF0pKSkKICAgICAgICAgYXJndjBbMF0gPSBQeV9UT0xPV0VSKFB5X0NIQVJNQVNLKGFyZ3YwWzBdKSk7CiAgICAgVGNsX1NldFZhcih2LT5pbnRlcnAsICJhcmd2MCIsIGFyZ3YwLCBUQ0xfR0xPQkFMX09OTFkpOwotICAgIGNrZnJlZShhcmd2MCk7CisgICAgUHlNZW1fRnJlZShhcmd2MCk7CiAKICAgICBpZiAoISB3YW50VGspIHsKICAgICAgICAgVGNsX1NldFZhcih2LT5pbnRlcnAsCkBAIC02MzIsNyArNjM5LDcgQEAKICAgICAgICAgaWYgKHVzZSkKICAgICAgICAgICAgIGxlbiArPSBzdHJsZW4odXNlKSArIHNpemVvZiAiLXVzZSAiOwogCi0gICAgICAgIGFyZ3MgPSAoY2hhciopYXR0ZW1wdGNrYWxsb2MobGVuKTsKKyAgICAgICAgYXJncyA9IChjaGFyKilQeU1lbV9NYWxsb2MobGVuKTsKICAgICAgICAgaWYgKCFhcmdzKSB7CiAgICAgICAgICAgICBQeUVycl9Ob01lbW9yeSgpOwogICAgICAgICAgICAgUHlfREVDUkVGKHYpOwpAQCAtNjUwLDcgKzY1Nyw3IEBACiAgICAgICAgIH0KIAogICAgICAgICBUY2xfU2V0VmFyKHYtPmludGVycCwgImFyZ3YiLCBhcmdzLCBUQ0xfR0xPQkFMX09OTFkpOwotICAgICAgICBja2ZyZWUoYXJncyk7CisgICAgICAgIFB5TWVtX0ZyZWUoYXJncyk7CiAgICAgfQogCiAgICAgaWYgKFRjbF9BcHBJbml0KHYtPmludGVycCkgIT0gVENMX09LKSB7CkBAIC04OTQsMjQgKzkwMSwyOCBAQAogICAgIH0KICAgICBlbHNlIGlmIChQeUZsb2F0X0NoZWNrKHZhbHVlKSkKICAgICAgICAgcmV0dXJuIFRjbF9OZXdEb3VibGVPYmooUHlGbG9hdF9BU19ET1VCTEUodmFsdWUpKTsKLSAgICBlbHNlIGlmIChQeVR1cGxlX0NoZWNrKHZhbHVlKSkgeworICAgIGVsc2UgaWYgKFB5VHVwbGVfQ2hlY2sodmFsdWUpIHx8IFB5TGlzdF9DaGVjayh2YWx1ZSkpIHsKICAgICAgICAgVGNsX09iaiAqKmFyZ3Y7CiAgICAgICAgIFB5X3NzaXplX3Qgc2l6ZSwgaTsKIAotICAgICAgICBzaXplID0gUHlUdXBsZV9TaXplKHZhbHVlKTsKKyAgICAgICAgc2l6ZSA9IFB5U2VxdWVuY2VfRmFzdF9HRVRfU0laRSh2YWx1ZSk7CiAgICAgICAgIGlmIChzaXplID09IDApCiAgICAgICAgICAgICByZXR1cm4gVGNsX05ld0xpc3RPYmooMCwgTlVMTCk7CiAgICAgICAgIGlmICghQ0hFQ0tfU0laRShzaXplLCBzaXplb2YoVGNsX09iaiAqKSkpIHsKLSAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PdmVyZmxvd0Vycm9yLCAidHVwbGUgaXMgdG9vIGxvbmciKTsKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PdmVyZmxvd0Vycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VHVwbGVfQ2hlY2sodmFsdWUpID8gInR1cGxlIGlzIHRvbyBsb25nIiA6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlzdCBpcyB0b28gbG9uZyIpOwogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIH0KLSAgICAgICAgYXJndiA9IChUY2xfT2JqICoqKSBhdHRlbXB0Y2thbGxvYygoKHNpemVfdClzaXplKSAqIHNpemVvZihUY2xfT2JqICopKTsKLSAgICAgICAgaWYoIWFyZ3YpCi0gICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIGFyZ3YgPSAoVGNsX09iaiAqKikgUHlNZW1fTWFsbG9jKCgoc2l6ZV90KXNpemUpICogc2l6ZW9mKFRjbF9PYmogKikpOworICAgICAgICBpZiAoIWFyZ3YpIHsKKyAgICAgICAgICBQeUVycl9Ob01lbW9yeSgpOworICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CiAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBzaXplOyBpKyspCi0gICAgICAgICAgYXJndltpXSA9IEFzT2JqKFB5VHVwbGVfR2V0SXRlbSh2YWx1ZSxpKSk7Ci0gICAgICAgIHJlc3VsdCA9IFRjbF9OZXdMaXN0T2JqKFB5VHVwbGVfU2l6ZSh2YWx1ZSksIGFyZ3YpOwotICAgICAgICBja2ZyZWUoRlJFRUNBU1QgYXJndik7CisgICAgICAgICAgYXJndltpXSA9IEFzT2JqKFB5U2VxdWVuY2VfRmFzdF9HRVRfSVRFTSh2YWx1ZSxpKSk7CisgICAgICAgIHJlc3VsdCA9IFRjbF9OZXdMaXN0T2JqKHNpemUsIGFyZ3YpOworICAgICAgICBQeU1lbV9GcmVlKGFyZ3YpOwogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KICAgICBlbHNlIGlmIChQeVVuaWNvZGVfQ2hlY2sodmFsdWUpKSB7CkBAIC05MzcsNyArOTQ4LDcgQEAKICAgICAgICAgaWYgKGtpbmQgPT0gc2l6ZW9mKFRjbF9VbmlDaGFyKSkKICAgICAgICAgICAgIHJldHVybiBUY2xfTmV3VW5pY29kZU9iaihpbmJ1Ziwgc2l6ZSk7CiAgICAgICAgIGFsbG9jc2l6ZSA9ICgoc2l6ZV90KXNpemUpICogc2l6ZW9mKFRjbF9VbmlDaGFyKTsKLSAgICAgICAgb3V0YnVmID0gKFRjbF9VbmlDaGFyKilhdHRlbXB0Y2thbGxvYyhhbGxvY3NpemUpOworICAgICAgICBvdXRidWYgPSAoVGNsX1VuaUNoYXIqKVB5TWVtX01hbGxvYyhhbGxvY3NpemUpOwogICAgICAgICAvKiBFbHNlIG92ZXJmbG93IG9jY3VycmVkLCBhbmQgd2UgdGFrZSB0aGUgbmV4dCBleGl0ICovCiAgICAgICAgIGlmICghb3V0YnVmKSB7CiAgICAgICAgICAgICBQeUVycl9Ob01lbW9yeSgpOwpAQCAtOTU0LDE0ICs5NjUsMTQgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNoYXJhY3RlciBVKyV4IGlzIGFib3ZlIHRoZSByYW5nZSAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIoVSswMDAwLVUrRkZGRikgYWxsb3dlZCBieSBUY2wiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaCk7Ci0gICAgICAgICAgICAgICAgY2tmcmVlKEZSRUVDQVNUIG91dGJ1Zik7CisgICAgICAgICAgICAgICAgUHlNZW1fRnJlZShvdXRidWYpOwogICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICAgICAgfQogI2VuZGlmCiAgICAgICAgICAgICBvdXRidWZbaV0gPSBjaDsKICAgICAgICAgfQogICAgICAgICByZXN1bHQgPSBUY2xfTmV3VW5pY29kZU9iaihvdXRidWYsIHNpemUpOwotICAgICAgICBja2ZyZWUoRlJFRUNBU1Qgb3V0YnVmKTsKKyAgICAgICAgUHlNZW1fRnJlZShvdXRidWYpOwogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KICAgICBlbHNlIGlmKFB5VGNsT2JqZWN0X0NoZWNrKHZhbHVlKSkgewpAQCAtMTA3Myw3ICsxMDg0LDcgQEAKICAgICBmb3IgKGkgPSAwOyBpIDwgb2JqYzsgaSsrKQogICAgICAgICBUY2xfRGVjclJlZkNvdW50KG9ianZbaV0pOwogICAgIGlmIChvYmp2ICE9IG9ialN0b3JlKQotICAgICAgICBja2ZyZWUoRlJFRUNBU1Qgb2Jqdik7CisgICAgICAgIFB5TWVtX0ZyZWUob2Jqdik7CiB9CiAKIC8qIENvbnZlcnQgUHl0aG9uIG9iamVjdHMgdG8gVGNsIG9iamVjdHMuIFRoaXMgbXVzdCBoYXBwZW4gaW4gdGhlCkBAIC0xMDg3LDcgKzEwOTgsNyBAQAogICAgIGlmIChhcmdzID09IE5VTEwpCiAgICAgICAgIC8qIGRvIG5vdGhpbmcgKi87CiAKLSAgICBlbHNlIGlmICghUHlUdXBsZV9DaGVjayhhcmdzKSkgeworICAgIGVsc2UgaWYgKCEoUHlUdXBsZV9DaGVjayhhcmdzKSB8fCBQeUxpc3RfQ2hlY2soYXJncykpKSB7CiAgICAgICAgIG9ianZbMF0gPSBBc09iaihhcmdzKTsKICAgICAgICAgaWYgKG9ianZbMF0gPT0gMCkKICAgICAgICAgICAgIGdvdG8gZmluYWxseTsKQEAgLTEwOTUsMTQgKzExMDYsMTYgQEAKICAgICAgICAgVGNsX0luY3JSZWZDb3VudChvYmp2WzBdKTsKICAgICB9CiAgICAgZWxzZSB7Ci0gICAgICAgIG9iamMgPSBQeVR1cGxlX1NpemUoYXJncyk7CisgICAgICAgIG9iamMgPSBQeVNlcXVlbmNlX0Zhc3RfR0VUX1NJWkUoYXJncyk7CiAKICAgICAgICAgaWYgKG9iamMgPiBBUkdTWikgewogICAgICAgICAgICAgaWYgKCFDSEVDS19TSVpFKG9iamMsIHNpemVvZihUY2xfT2JqICopKSkgewotICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PdmVyZmxvd0Vycm9yLCAidHVwbGUgaXMgdG9vIGxvbmciKTsKKyAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT3ZlcmZsb3dFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlUdXBsZV9DaGVjayhhcmdzKSA/ICJ0dXBsZSBpcyB0b28gbG9uZyIgOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpc3QgaXMgdG9vIGxvbmciKTsKICAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIG9ianYgPSAoVGNsX09iaiAqKilhdHRlbXB0Y2thbGxvYygoKHNpemVfdClvYmpjKSAqIHNpemVvZihUY2xfT2JqICopKTsKKyAgICAgICAgICAgIG9ianYgPSAoVGNsX09iaiAqKilQeU1lbV9NYWxsb2MoKChzaXplX3Qpb2JqYykgKiBzaXplb2YoVGNsX09iaiAqKSk7CiAgICAgICAgICAgICBpZiAob2JqdiA9PSBOVUxMKSB7CiAgICAgICAgICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKICAgICAgICAgICAgICAgICBvYmpjID0gMDsKQEAgLTExMTEsNyArMTEyNCw3IEBACiAgICAgICAgIH0KIAogICAgICAgICBmb3IgKGkgPSAwOyBpIDwgb2JqYzsgaSsrKSB7Ci0gICAgICAgICAgICBQeU9iamVjdCAqdiA9IFB5VHVwbGVfR2V0SXRlbShhcmdzLCBpKTsKKyAgICAgICAgICAgIFB5T2JqZWN0ICp2ID0gUHlTZXF1ZW5jZV9GYXN0X0dFVF9JVEVNKGFyZ3MsIGkpOwogICAgICAgICAgICAgaWYgKHYgPT0gUHlfTm9uZSkgewogICAgICAgICAgICAgICAgIG9iamMgPSBpOwogICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtMTQxMSw4ICsxNDI0LDggQEAKICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICB9CiAgICAgICAgIHMgPSBQeUJ5dGVzX0FzU3RyaW5nKGluKTsKLSAgICAgICAgaWYgKHN0cmxlbihzKSAhPSBQeUJ5dGVzX1NpemUoaW4pKSB7Ci0gICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgIm51bGwgYnl0ZSBpbiBieXRlcyBvYmplY3QiKTsKKyAgICAgICAgaWYgKHN0cmxlbihzKSAhPSAoc2l6ZV90KVB5Qnl0ZXNfU2l6ZShpbikpIHsKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAiZW1iZWRkZWQgbnVsbCBieXRlIik7CiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgfQogICAgICAgICAqb3V0ID0gczsKQEAgLTE0MjgsOCArMTQ0MSw4IEBACiAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT3ZlcmZsb3dFcnJvciwgInN0cmluZyBpcyB0b28gbG9uZyIpOwogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKHN0cmxlbihzKSAhPSBzaXplKSB7Ci0gICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgIm51bGwgY2hhcmFjdGVyIGluIHN0cmluZyIpOworICAgICAgICBpZiAoc3RybGVuKHMpICE9IChzaXplX3Qpc2l6ZSkgeworICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJlbWJlZGRlZCBudWxsIGNoYXJhY3RlciIpOwogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIH0KICAgICAgICAgKm91dCA9IHM7CkBAIC0xODQ0LDcgKzE4NTcsNyBAQAogewogICAgIGNoYXIgKmxpc3Q7CiAgICAgaW50IGFyZ2M7Ci0gICAgY2hhciAqKmFyZ3Y7CisgICAgY29uc3QgY2hhciAqKmFyZ3Y7CiAgICAgUHlPYmplY3QgKmFyZywgKnY7CiAgICAgaW50IGk7CiAKQEAgLTE4NzMsNiArMTg4Niw5IEBACiAgICAgICAgIFB5X0lOQ1JFRihhcmcpOwogICAgICAgICByZXR1cm4gYXJnOwogICAgIH0KKyAgICBpZiAoUHlMaXN0X0NoZWNrKGFyZykpIHsKKyAgICAgICAgcmV0dXJuIFB5U2VxdWVuY2VfVHVwbGUoYXJnKTsKKyAgICB9CiAKICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImV0OnNwbGl0bGlzdCIsICJ1dGYtOCIsICZsaXN0KSkKICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC0xOTM0LDcgKzE5NTAsNyBAQAogICAgICAgICB9CiAgICAgICAgIHJldHVybiB2OwogICAgIH0KLSAgICBpZiAoUHlUdXBsZV9DaGVjayhhcmcpKQorICAgIGlmIChQeVR1cGxlX0NoZWNrKGFyZykgfHwgUHlMaXN0X0NoZWNrKGFyZykpCiAgICAgICAgIHJldHVybiBTcGxpdE9iaihhcmcpOwogCiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJldDpzcGxpdCIsICJ1dGYtOCIsICZsaXN0KSkKQEAgLTE5NjgsNyArMTk4NCw3IEBACiAgKiBmdW5jdGlvbiBvciBtZXRob2QuCiAgKi8KIHN0YXRpYyBpbnQKLVB5dGhvbkNtZChDbGllbnREYXRhIGNsaWVudERhdGEsIFRjbF9JbnRlcnAgKmludGVycCwgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK1B5dGhvbkNtZChDbGllbnREYXRhIGNsaWVudERhdGEsIFRjbF9JbnRlcnAgKmludGVycCwgaW50IGFyZ2MsIGNvbnN0IGNoYXIgKmFyZ3ZbXSkKIHsKICAgICBQeXRob25DbWRfQ2xpZW50RGF0YSAqZGF0YSA9IChQeXRob25DbWRfQ2xpZW50RGF0YSAqKWNsaWVudERhdGE7CiAgICAgUHlPYmplY3QgKmZ1bmMsICphcmcsICpyZXM7CkBAIC0yNzM2LDM1ICsyNzUyLDE1IEBACiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgIm5lc3RpbmcgdG9vIGRlZXAgaW4gX2ZsYXR0ZW4iKTsKICAgICAgICAgcmV0dXJuIDA7Ci0gICAgfSBlbHNlIGlmIChQeUxpc3RfQ2hlY2soaXRlbSkpIHsKLSAgICAgICAgc2l6ZSA9IFB5TGlzdF9HRVRfU0laRShpdGVtKTsKKyAgICB9IGVsc2UgaWYgKFB5VHVwbGVfQ2hlY2soaXRlbSkgfHwgUHlMaXN0X0NoZWNrKGl0ZW0pKSB7CisgICAgICAgIHNpemUgPSBQeVNlcXVlbmNlX0Zhc3RfR0VUX1NJWkUoaXRlbSk7CiAgICAgICAgIC8qIHByZWFsbG9jYXRlIChhc3N1bWUgbm8gbmVzdGluZykgKi8KICAgICAgICAgaWYgKGNvbnRleHQtPnNpemUgKyBzaXplID4gY29udGV4dC0+bWF4c2l6ZSAmJgogICAgICAgICAgICAgIV9idW1wKGNvbnRleHQsIHNpemUpKQogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIC8qIGNvcHkgaXRlbXMgdG8gb3V0cHV0IHR1cGxlICovCiAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBzaXplOyBpKyspIHsKLSAgICAgICAgICAgIFB5T2JqZWN0ICpvID0gUHlMaXN0X0dFVF9JVEVNKGl0ZW0sIGkpOwotICAgICAgICAgICAgaWYgKFB5TGlzdF9DaGVjayhvKSB8fCBQeVR1cGxlX0NoZWNrKG8pKSB7Ci0gICAgICAgICAgICAgICAgaWYgKCFfZmxhdHRlbjEoY29udGV4dCwgbywgZGVwdGggKyAxKSkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKG8gIT0gUHlfTm9uZSkgewotICAgICAgICAgICAgICAgIGlmIChjb250ZXh0LT5zaXplICsgMSA+IGNvbnRleHQtPm1heHNpemUgJiYKLSAgICAgICAgICAgICAgICAgICAgIV9idW1wKGNvbnRleHQsIDEpKQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgICAgICAgICBQeV9JTkNSRUYobyk7Ci0gICAgICAgICAgICAgICAgUHlUdXBsZV9TRVRfSVRFTShjb250ZXh0LT50dXBsZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQtPnNpemUrKywgbyk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9IGVsc2UgaWYgKFB5VHVwbGVfQ2hlY2soaXRlbSkpIHsKLSAgICAgICAgLyogc2FtZSwgZm9yIHR1cGxlcyAqLwotICAgICAgICBzaXplID0gUHlUdXBsZV9HRVRfU0laRShpdGVtKTsKLSAgICAgICAgaWYgKGNvbnRleHQtPnNpemUgKyBzaXplID4gY29udGV4dC0+bWF4c2l6ZSAmJgotICAgICAgICAgICAgIV9idW1wKGNvbnRleHQsIHNpemUpKQotICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgIGZvciAoaSA9IDA7IGkgPCBzaXplOyBpKyspIHsKLSAgICAgICAgICAgIFB5T2JqZWN0ICpvID0gUHlUdXBsZV9HRVRfSVRFTShpdGVtLCBpKTsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpvID0gUHlTZXF1ZW5jZV9GYXN0X0dFVF9JVEVNKGl0ZW0sIGkpOwogICAgICAgICAgICAgaWYgKFB5TGlzdF9DaGVjayhvKSB8fCBQeVR1cGxlX0NoZWNrKG8pKSB7CiAgICAgICAgICAgICAgICAgaWYgKCFfZmxhdHRlbjEoY29udGV4dCwgbywgZGVwdGggKyAxKSkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CkBAIC0yODIyLDcgKzI4MTgsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ5IGdldHRpbmcgcmlkIG9mIGl0LiAqLwogICAgIGNoYXIgKmNsYXNzTmFtZSA9IE5VTEw7CiAgICAgaW50IGludGVyYWN0aXZlID0gMDsKLSAgICBpbnQgd2FudG9iamVjdHMgPSAwOworICAgIGludCB3YW50b2JqZWN0cyA9IDE7CiAgICAgaW50IHdhbnRUayA9IDE7ICAgICAvKiBJZiBmYWxzZSwgdGhlbiBUa19Jbml0KCkgZG9lc24ndCBnZXQgY2FsbGVkICovCiAgICAgaW50IHN5bmMgPSAwOyAvKiBwYXNzIC1zeW5jIHRvIHdpc2ggKi8KICAgICBjaGFyICp1c2UgPSBOVUxMOyAvKiBwYXNzIC11c2UgdG8gd2lzaCAqLwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fdHJhY2VtYWxsb2MuYyBiL01vZHVsZXMvX3RyYWNlbWFsbG9jLmMKaW5kZXggYmJlNzI1OS4uMTJlMzJlYiAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fdHJhY2VtYWxsb2MuYworKysgYi9Nb2R1bGVzL190cmFjZW1hbGxvYy5jCkBAIC0xNiwxNCArMTYsMTEgQEAKICMgIGRlZmluZSBUUkFDRV9ERUJVRwogI2VuZGlmCiAKLSNkZWZpbmUgX1NUUihWQUwpICNWQUwKLSNkZWZpbmUgU1RSKFZBTCkgX1NUUihWQUwpCi0KIC8qIFByb3RlY3RlZCBieSB0aGUgR0lMICovCiBzdGF0aWMgc3RydWN0IHsKLSAgICBQeU1lbUFsbG9jYXRvciBtZW07Ci0gICAgUHlNZW1BbGxvY2F0b3IgcmF3OwotICAgIFB5TWVtQWxsb2NhdG9yIG9iajsKKyAgICBQeU1lbUFsbG9jYXRvckV4IG1lbTsKKyAgICBQeU1lbUFsbG9jYXRvckV4IHJhdzsKKyAgICBQeU1lbUFsbG9jYXRvckV4IG9iajsKIH0gYWxsb2NhdG9yczsKIAogc3RhdGljIHN0cnVjdCB7CkBAIC04Miw3ICs3OSw3IEBACiAgICAgICAgIChzaXplb2YodHJhY2ViYWNrX3QpICsgc2l6ZW9mKGZyYW1lX3QpICogKE5GUkFNRSAtIDEpKQogCiAjZGVmaW5lIE1BWF9ORlJBTUUgXAotICAgICAgICAoKElOVF9NQVggLSBzaXplb2YodHJhY2ViYWNrX3QpKSAvIHNpemVvZihmcmFtZV90KSArIDEpCisgICAgICAgICgoSU5UX01BWCAtIChpbnQpc2l6ZW9mKHRyYWNlYmFja190KSkgLyAoaW50KXNpemVvZihmcmFtZV90KSArIDEpCiAKIHN0YXRpYyBQeU9iamVjdCAqdW5rbm93bl9maWxlbmFtZSA9IE5VTEw7CiBzdGF0aWMgdHJhY2ViYWNrX3QgdHJhY2VtYWxsb2NfZW1wdHlfdHJhY2ViYWNrOwpAQCAtNDc2LDE3ICs0NzMsMjIgQEAKIH0KIAogc3RhdGljIHZvaWQqCi10cmFjZW1hbGxvY19tYWxsb2Modm9pZCAqY3R4LCBzaXplX3Qgc2l6ZSkKK3RyYWNlbWFsbG9jX2FsbG9jKGludCB1c2VfY2FsbG9jLCB2b2lkICpjdHgsIHNpemVfdCBuZWxlbSwgc2l6ZV90IGVsc2l6ZSkKIHsKLSAgICBQeU1lbUFsbG9jYXRvciAqYWxsb2MgPSAoUHlNZW1BbGxvY2F0b3IgKiljdHg7CisgICAgUHlNZW1BbGxvY2F0b3JFeCAqYWxsb2MgPSAoUHlNZW1BbGxvY2F0b3JFeCAqKWN0eDsKICAgICB2b2lkICpwdHI7CiAKLSAgICBwdHIgPSBhbGxvYy0+bWFsbG9jKGFsbG9jLT5jdHgsIHNpemUpOworICAgIGFzc2VydChlbHNpemUgPT0gMCB8fCBuZWxlbSA8PSBQWV9TSVpFX01BWCAvIGVsc2l6ZSk7CisKKyAgICBpZiAodXNlX2NhbGxvYykKKyAgICAgICAgcHRyID0gYWxsb2MtPmNhbGxvYyhhbGxvYy0+Y3R4LCBuZWxlbSwgZWxzaXplKTsKKyAgICBlbHNlCisgICAgICAgIHB0ciA9IGFsbG9jLT5tYWxsb2MoYWxsb2MtPmN0eCwgbmVsZW0gKiBlbHNpemUpOwogICAgIGlmIChwdHIgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICBUQUJMRVNfTE9DSygpOwotICAgIGlmICh0cmFjZW1hbGxvY19hZGRfdHJhY2UocHRyLCBzaXplKSA8IDApIHsKKyAgICBpZiAodHJhY2VtYWxsb2NfYWRkX3RyYWNlKHB0ciwgbmVsZW0gKiBlbHNpemUpIDwgMCkgewogICAgICAgICAvKiBGYWlsZWQgdG8gYWxsb2NhdGUgYSB0cmFjZSBmb3IgdGhlIG5ldyBtZW1vcnkgYmxvY2sgKi8KICAgICAgICAgVEFCTEVTX1VOTE9DSygpOwogICAgICAgICBhbGxvYy0+ZnJlZShhbGxvYy0+Y3R4LCBwdHIpOwpAQCAtNDk5LDcgKzUwMSw3IEBACiBzdGF0aWMgdm9pZCoKIHRyYWNlbWFsbG9jX3JlYWxsb2Modm9pZCAqY3R4LCB2b2lkICpwdHIsIHNpemVfdCBuZXdfc2l6ZSkKIHsKLSAgICBQeU1lbUFsbG9jYXRvciAqYWxsb2MgPSAoUHlNZW1BbGxvY2F0b3IgKiljdHg7CisgICAgUHlNZW1BbGxvY2F0b3JFeCAqYWxsb2MgPSAoUHlNZW1BbGxvY2F0b3JFeCAqKWN0eDsKICAgICB2b2lkICpwdHIyOwogCiAgICAgcHRyMiA9IGFsbG9jLT5yZWFsbG9jKGFsbG9jLT5jdHgsIHB0ciwgbmV3X3NpemUpOwpAQCAtNTQ0LDcgKzU0Niw3IEBACiBzdGF0aWMgdm9pZAogdHJhY2VtYWxsb2NfZnJlZSh2b2lkICpjdHgsIHZvaWQgKnB0cikKIHsKLSAgICBQeU1lbUFsbG9jYXRvciAqYWxsb2MgPSAoUHlNZW1BbGxvY2F0b3IgKiljdHg7CisgICAgUHlNZW1BbGxvY2F0b3JFeCAqYWxsb2MgPSAoUHlNZW1BbGxvY2F0b3JFeCAqKWN0eDsKIAogICAgIGlmIChwdHIgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuOwpAQCAtNTYwLDEzICs1NjIsMTYgQEAKIH0KIAogc3RhdGljIHZvaWQqCi10cmFjZW1hbGxvY19tYWxsb2NfZ2lsKHZvaWQgKmN0eCwgc2l6ZV90IHNpemUpCit0cmFjZW1hbGxvY19hbGxvY19naWwoaW50IHVzZV9jYWxsb2MsIHZvaWQgKmN0eCwgc2l6ZV90IG5lbGVtLCBzaXplX3QgZWxzaXplKQogewogICAgIHZvaWQgKnB0cjsKIAogICAgIGlmIChnZXRfcmVlbnRyYW50KCkpIHsKLSAgICAgICAgUHlNZW1BbGxvY2F0b3IgKmFsbG9jID0gKFB5TWVtQWxsb2NhdG9yICopY3R4OwotICAgICAgICByZXR1cm4gYWxsb2MtPm1hbGxvYyhhbGxvYy0+Y3R4LCBzaXplKTsKKyAgICAgICAgUHlNZW1BbGxvY2F0b3JFeCAqYWxsb2MgPSAoUHlNZW1BbGxvY2F0b3JFeCAqKWN0eDsKKyAgICAgICAgaWYgKHVzZV9jYWxsb2MpCisgICAgICAgICAgICByZXR1cm4gYWxsb2MtPmNhbGxvYyhhbGxvYy0+Y3R4LCBuZWxlbSwgZWxzaXplKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmV0dXJuIGFsbG9jLT5tYWxsb2MoYWxsb2MtPmN0eCwgbmVsZW0gKiBlbHNpemUpOwogICAgIH0KIAogICAgIC8qIElnbm9yZSByZWVudHJhbnQgY2FsbC4gUHlPYmpldF9NYWxsb2MoKSBjYWxscyBQeU1lbV9NYWxsb2MoKSBmb3IKQEAgLTU3NCwxMyArNTc5LDI1IEBACiAgICAgICAgYWxsb2NhdGlvbiB0d2ljZS4gKi8KICAgICBzZXRfcmVlbnRyYW50KDEpOwogCi0gICAgcHRyID0gdHJhY2VtYWxsb2NfbWFsbG9jKGN0eCwgc2l6ZSk7CisgICAgcHRyID0gdHJhY2VtYWxsb2NfYWxsb2ModXNlX2NhbGxvYywgY3R4LCBuZWxlbSwgZWxzaXplKTsKIAogICAgIHNldF9yZWVudHJhbnQoMCk7CiAgICAgcmV0dXJuIHB0cjsKIH0KIAogc3RhdGljIHZvaWQqCit0cmFjZW1hbGxvY19tYWxsb2NfZ2lsKHZvaWQgKmN0eCwgc2l6ZV90IHNpemUpCit7CisgICAgcmV0dXJuIHRyYWNlbWFsbG9jX2FsbG9jX2dpbCgwLCBjdHgsIDEsIHNpemUpOworfQorCitzdGF0aWMgdm9pZCoKK3RyYWNlbWFsbG9jX2NhbGxvY19naWwodm9pZCAqY3R4LCBzaXplX3QgbmVsZW0sIHNpemVfdCBlbHNpemUpCit7CisgICAgcmV0dXJuIHRyYWNlbWFsbG9jX2FsbG9jX2dpbCgxLCBjdHgsIG5lbGVtLCBlbHNpemUpOworfQorCitzdGF0aWMgdm9pZCoKIHRyYWNlbWFsbG9jX3JlYWxsb2NfZ2lsKHZvaWQgKmN0eCwgdm9pZCAqcHRyLCBzaXplX3QgbmV3X3NpemUpCiB7CiAgICAgdm9pZCAqcHRyMjsKQEAgLTU5MCw3ICs2MDcsNyBAQAogICAgICAgICAgICBFeGFtcGxlOiBQeU1lbV9SYXdSZWFsbG9jKCkgaXMgY2FsbGVkIGludGVybmFsbHkgYnkgcHltYWxsb2MKICAgICAgICAgICAgKF9QeU9iamVjdF9NYWxsb2MoKSBhbmQgIF9QeU9iamVjdF9SZWFsbG9jKCkpIHRvIGFsbG9jYXRlIGEgbmV3CiAgICAgICAgICAgIGFyZW5hIChuZXdfYXJlbmEoKSkuICovCi0gICAgICAgIFB5TWVtQWxsb2NhdG9yICphbGxvYyA9IChQeU1lbUFsbG9jYXRvciAqKWN0eDsKKyAgICAgICAgUHlNZW1BbGxvY2F0b3JFeCAqYWxsb2MgPSAoUHlNZW1BbGxvY2F0b3JFeCAqKWN0eDsKIAogICAgICAgICBwdHIyID0gYWxsb2MtPnJlYWxsb2MoYWxsb2MtPmN0eCwgcHRyLCBuZXdfc2l6ZSk7CiAgICAgICAgIGlmIChwdHIyICE9IE5VTEwgJiYgcHRyICE9IE5VTEwpIHsKQEAgLTYxNCw3ICs2MzEsNyBAQAogCiAjaWZkZWYgVFJBQ0VfUkFXX01BTExPQwogc3RhdGljIHZvaWQqCi10cmFjZW1hbGxvY19yYXdfbWFsbG9jKHZvaWQgKmN0eCwgc2l6ZV90IHNpemUpCit0cmFjZW1hbGxvY19yYXdfYWxsb2MoaW50IHVzZV9jYWxsb2MsIHZvaWQgKmN0eCwgc2l6ZV90IG5lbGVtLCBzaXplX3QgZWxzaXplKQogewogI2lmZGVmIFdJVEhfVEhSRUFECiAgICAgUHlHSUxTdGF0ZV9TVEFURSBnaWxfc3RhdGU7CkBAIC02MjIsOCArNjM5LDExIEBACiAgICAgdm9pZCAqcHRyOwogCiAgICAgaWYgKGdldF9yZWVudHJhbnQoKSkgewotICAgICAgICBQeU1lbUFsbG9jYXRvciAqYWxsb2MgPSAoUHlNZW1BbGxvY2F0b3IgKiljdHg7Ci0gICAgICAgIHJldHVybiBhbGxvYy0+bWFsbG9jKGFsbG9jLT5jdHgsIHNpemUpOworICAgICAgICBQeU1lbUFsbG9jYXRvckV4ICphbGxvYyA9IChQeU1lbUFsbG9jYXRvckV4ICopY3R4OworICAgICAgICBpZiAodXNlX2NhbGxvYykKKyAgICAgICAgICAgIHJldHVybiBhbGxvYy0+Y2FsbG9jKGFsbG9jLT5jdHgsIG5lbGVtLCBlbHNpemUpOworICAgICAgICBlbHNlCisgICAgICAgICAgICByZXR1cm4gYWxsb2MtPm1hbGxvYyhhbGxvYy0+Y3R4LCBuZWxlbSAqIGVsc2l6ZSk7CiAgICAgfQogCiAgICAgLyogSWdub3JlIHJlZW50cmFudCBjYWxsLiBQeUdJTFN0YXRlX0Vuc3VyZSgpIG1heSBjYWxsIFB5TWVtX1Jhd01hbGxvYygpCkBAIC02MzMsMTAgKzY1MywxMCBAQAogCiAjaWZkZWYgV0lUSF9USFJFQUQKICAgICBnaWxfc3RhdGUgPSBQeUdJTFN0YXRlX0Vuc3VyZSgpOwotICAgIHB0ciA9IHRyYWNlbWFsbG9jX21hbGxvYyhjdHgsIHNpemUpOworICAgIHB0ciA9IHRyYWNlbWFsbG9jX2FsbG9jKHVzZV9jYWxsb2MsIGN0eCwgbmVsZW0sIGVsc2l6ZSk7CiAgICAgUHlHSUxTdGF0ZV9SZWxlYXNlKGdpbF9zdGF0ZSk7CiAjZWxzZQotICAgIHB0ciA9IHRyYWNlbWFsbG9jX21hbGxvYyhjdHgsIHNpemUpOworICAgIHB0ciA9IHRyYWNlbWFsbG9jX2FsbG9jKHVzZV9jYWxsb2MsIGN0eCwgbmVsZW0sIGVsc2l6ZSk7CiAjZW5kaWYKIAogICAgIHNldF9yZWVudHJhbnQoMCk7CkBAIC02NDQsNiArNjY0LDE4IEBACiB9CiAKIHN0YXRpYyB2b2lkKgordHJhY2VtYWxsb2NfcmF3X21hbGxvYyh2b2lkICpjdHgsIHNpemVfdCBzaXplKQoreworICAgIHJldHVybiB0cmFjZW1hbGxvY19yYXdfYWxsb2MoMCwgY3R4LCAxLCBzaXplKTsKK30KKworc3RhdGljIHZvaWQqCit0cmFjZW1hbGxvY19yYXdfY2FsbG9jKHZvaWQgKmN0eCwgc2l6ZV90IG5lbGVtLCBzaXplX3QgZWxzaXplKQoreworICAgIHJldHVybiB0cmFjZW1hbGxvY19yYXdfYWxsb2MoMSwgY3R4LCBuZWxlbSwgZWxzaXplKTsKK30KKworc3RhdGljIHZvaWQqCiB0cmFjZW1hbGxvY19yYXdfcmVhbGxvYyh2b2lkICpjdHgsIHZvaWQgKnB0ciwgc2l6ZV90IG5ld19zaXplKQogewogI2lmZGVmIFdJVEhfVEhSRUFECkBAIC02NTMsNyArNjg1LDcgQEAKIAogICAgIGlmIChnZXRfcmVlbnRyYW50KCkpIHsKICAgICAgICAgLyogUmVlbnRyYW50IGNhbGwgdG8gUHlNZW1fUmF3UmVhbGxvYygpLiAqLwotICAgICAgICBQeU1lbUFsbG9jYXRvciAqYWxsb2MgPSAoUHlNZW1BbGxvY2F0b3IgKiljdHg7CisgICAgICAgIFB5TWVtQWxsb2NhdG9yRXggKmFsbG9jID0gKFB5TWVtQWxsb2NhdG9yRXggKiljdHg7CiAKICAgICAgICAgcHRyMiA9IGFsbG9jLT5yZWFsbG9jKGFsbG9jLT5jdHgsIHB0ciwgbmV3X3NpemUpOwogCkBAIC04MzEsNyArODYzLDcgQEAKIHN0YXRpYyBpbnQKIHRyYWNlbWFsbG9jX3N0YXJ0KGludCBtYXhfbmZyYW1lKQogewotICAgIFB5TWVtQWxsb2NhdG9yIGFsbG9jOworICAgIFB5TWVtQWxsb2NhdG9yRXggYWxsb2M7CiAgICAgc2l6ZV90IHNpemU7CiAKICAgICBpZiAodHJhY2VtYWxsb2NfaW5pdCgpIDwgMCkKQEAgLTg1Niw2ICs4ODgsNyBAQAogCiAjaWZkZWYgVFJBQ0VfUkFXX01BTExPQwogICAgIGFsbG9jLm1hbGxvYyA9IHRyYWNlbWFsbG9jX3Jhd19tYWxsb2M7CisgICAgYWxsb2MuY2FsbG9jID0gdHJhY2VtYWxsb2NfcmF3X2NhbGxvYzsKICAgICBhbGxvYy5yZWFsbG9jID0gdHJhY2VtYWxsb2NfcmF3X3JlYWxsb2M7CiAgICAgYWxsb2MuZnJlZSA9IHRyYWNlbWFsbG9jX2ZyZWU7CiAKQEAgLTg2NSw2ICs4OTgsNyBAQAogI2VuZGlmCiAKICAgICBhbGxvYy5tYWxsb2MgPSB0cmFjZW1hbGxvY19tYWxsb2NfZ2lsOworICAgIGFsbG9jLmNhbGxvYyA9IHRyYWNlbWFsbG9jX2NhbGxvY19naWw7CiAgICAgYWxsb2MucmVhbGxvYyA9IHRyYWNlbWFsbG9jX3JlYWxsb2NfZ2lsOwogICAgIGFsbG9jLmZyZWUgPSB0cmFjZW1hbGxvY19mcmVlOwogCkBAIC0xMTk1LDcgKzEyMjksNyBAQAogICAgIGlmIChuZnJhbWUgPCAxIHx8IG5mcmFtZSA+IE1BWF9ORlJBTUUpIHsKICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1ZhbHVlRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAidGhlIG51bWJlciBvZiBmcmFtZXMgbXVzdCBiZSBpbiByYW5nZSBbMTsgJWldIiwKLSAgICAgICAgICAgICAgICAgICAgIChpbnQpTUFYX05GUkFNRSk7CisgICAgICAgICAgICAgICAgICAgICBNQVhfTkZSQU1FKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogICAgIG5mcmFtZV9pbnQgPSBQeV9TQUZFX0RPV05DQVNUKG5mcmFtZSwgUHlfc3NpemVfdCwgaW50KTsKZGlmZiAtLWdpdCBhL01vZHVsZXMvX3dpbmFwaS5jIGIvTW9kdWxlcy9fd2luYXBpLmMKaW5kZXggYjc1NTE3OC4uZjExODQzNiAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fd2luYXBpLmMKKysrIGIvTW9kdWxlcy9fd2luYXBpLmMKQEAgLTQwLDYgKzQwLDcgQEAKICNkZWZpbmUgV0lORE9XU19MRUFOX0FORF9NRUFOCiAjaW5jbHVkZSAid2luZG93cy5oIgogI2luY2x1ZGUgPGNydGRiZy5oPgorI2luY2x1ZGUgIndpbnJlcGFyc2UuaCIKIAogI2lmIGRlZmluZWQoTVNfV0lOMzIpICYmICFkZWZpbmVkKE1TX1dJTjY0KQogI2RlZmluZSBIQU5ETEVfVE9fUFlOVU0oaGFuZGxlKSBcCkBAIC00MDEsNiArNDAyLDE0MCBAQAogfQogCiBzdGF0aWMgUHlPYmplY3QgKgord2luYXBpX0NyZWF0ZUp1bmN0aW9uKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICAvKiBJbnB1dCBhcmd1bWVudHMgKi8KKyAgICBMUFdTVFIgc3JjX3BhdGggPSBOVUxMOworICAgIExQV1NUUiBkc3RfcGF0aCA9IE5VTEw7CisKKyAgICAvKiBQcml2aWxlZ2UgYWRqdXN0bWVudCAqLworICAgIEhBTkRMRSB0b2tlbiA9IE5VTEw7CisgICAgVE9LRU5fUFJJVklMRUdFUyB0cDsKKworICAgIC8qIFJlcGFyc2UgZGF0YSBidWZmZXIgKi8KKyAgICBjb25zdCBVU0hPUlQgcHJlZml4X2xlbiA9IDQ7CisgICAgVVNIT1JUIHByaW50X2xlbiA9IDA7CisgICAgVVNIT1JUIHJkYl9zaXplID0gMDsKKyAgICBQUkVQQVJTRV9EQVRBX0JVRkZFUiByZGIgPSBOVUxMOworCisgICAgLyogSnVuY3Rpb24gcG9pbnQgY3JlYXRpb24gKi8KKyAgICBIQU5ETEUganVuY3Rpb24gPSBOVUxMOworICAgIERXT1JEIHJldCA9IDA7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInV1IiwgJnNyY19wYXRoLCAmZHN0X3BhdGgpKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIGlmIChzcmNfcGF0aCA9PSBOVUxMIHx8IGRzdF9wYXRoID09IE5VTEwpCisgICAgICAgIHJldHVybiBQeUVycl9TZXRGcm9tV2luZG93c0VycihFUlJPUl9JTlZBTElEX1BBUkFNRVRFUik7CisKKyAgICBpZiAod2NzbmNtcChzcmNfcGF0aCwgTCJcXD8/XFwiLCBwcmVmaXhfbGVuKSA9PSAwKQorICAgICAgICByZXR1cm4gUHlFcnJfU2V0RnJvbVdpbmRvd3NFcnIoRVJST1JfSU5WQUxJRF9QQVJBTUVURVIpOworCisgICAgLyogQWRqdXN0IHByaXZpbGVnZXMgdG8gYWxsb3cgcmV3cml0aW5nIGRpcmVjdG9yeSBlbnRyeSBhcyBhCisgICAgICAganVuY3Rpb24gcG9pbnQuICovCisgICAgaWYgKCFPcGVuUHJvY2Vzc1Rva2VuKEdldEN1cnJlbnRQcm9jZXNzKCksIFRPS0VOX0FESlVTVF9QUklWSUxFR0VTLCAmdG9rZW4pKQorICAgICAgICBnb3RvIGNsZWFudXA7CisKKyAgICBpZiAoIUxvb2t1cFByaXZpbGVnZVZhbHVlKE5VTEwsIFNFX1JFU1RPUkVfTkFNRSwgJnRwLlByaXZpbGVnZXNbMF0uTHVpZCkpCisgICAgICAgIGdvdG8gY2xlYW51cDsKKworICAgIHRwLlByaXZpbGVnZUNvdW50ID0gMTsKKyAgICB0cC5Qcml2aWxlZ2VzWzBdLkF0dHJpYnV0ZXMgPSBTRV9QUklWSUxFR0VfRU5BQkxFRDsKKyAgICBpZiAoIUFkanVzdFRva2VuUHJpdmlsZWdlcyh0b2tlbiwgRkFMU0UsICZ0cCwgc2l6ZW9mKFRPS0VOX1BSSVZJTEVHRVMpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIE5VTEwpKQorICAgICAgICBnb3RvIGNsZWFudXA7CisKKyAgICBpZiAoR2V0RmlsZUF0dHJpYnV0ZXNXKHNyY19wYXRoKSA9PSBJTlZBTElEX0ZJTEVfQVRUUklCVVRFUykKKyAgICAgICAgZ290byBjbGVhbnVwOworCisgICAgLyogU3RvcmUgdGhlIGFic29sdXRlIGxpbmsgdGFyZ2V0IHBhdGggbGVuZ3RoIGluIHByaW50X2xlbi4gKi8KKyAgICBwcmludF9sZW4gPSAoVVNIT1JUKUdldEZ1bGxQYXRoTmFtZVcoc3JjX3BhdGgsIDAsIE5VTEwsIE5VTEwpOworICAgIGlmIChwcmludF9sZW4gPT0gMCkKKyAgICAgICAgZ290byBjbGVhbnVwOworCisgICAgLyogTlVMIHRlcm1pbmF0b3Igc2hvdWxkIG5vdCBiZSBwYXJ0IG9mIHByaW50X2xlbi4gKi8KKyAgICAtLXByaW50X2xlbjsKKworICAgIC8qIFJFUEFSU0VfREFUQV9CVUZGRVIgdXNhZ2UgaXMgaGVhdmlseSB1bmRlci1kb2N1bWVudGVkLCBlc3BlY2lhbGx5IGZvcgorICAgICAgIGp1bmN0aW9uIHBvaW50cy4gSGVyZSdzIHdoYXQgSSd2ZSBsZWFybmVkIGFsb25nIHRoZSB3YXk6CisgICAgICAgLSBBIGp1bmN0aW9uIHBvaW50IGhhcyB0d28gY29tcG9uZW50czogYSBwcmludCBuYW1lIGFuZCBhIHN1YnN0aXR1dGUKKyAgICAgICAgIG5hbWUuIFRoZXkgYm90aCBkZXNjcmliZSB0aGUgbGluayB0YXJnZXQsIGJ1dCB0aGUgc3Vic3RpdHV0ZSBuYW1lIGlzCisgICAgICAgICB0aGUgcGh5c2ljYWwgdGFyZ2V0IGFuZCB0aGUgcHJpbnQgbmFtZSBpcyBzaG93biBpbiBkaXJlY3RvcnkgbGlzdGluZ3MuCisgICAgICAgLSBUaGUgcHJpbnQgbmFtZSBtdXN0IGJlIGEgbmF0aXZlIG5hbWUsIHByZWZpeGVkIHdpdGggIlw/P1wiLgorICAgICAgIC0gQm90aCBuYW1lcyBhcmUgc3RvcmVkIGFmdGVyIGVhY2ggb3RoZXIgaW4gdGhlIHNhbWUgYnVmZmVyICh0aGUKKyAgICAgICAgIFBhdGhCdWZmZXIpIGFuZCBib3RoIG11c3QgYmUgTlVMLXRlcm1pbmF0ZWQuCisgICAgICAgLSBUaGVyZSBhcmUgZm91ciBtZW1iZXJzIGRlZmluaW5nIHRoZWlyIHJlc3BlY3RpdmUgb2Zmc2V0IGFuZCBsZW5ndGgKKyAgICAgICAgIGluc2lkZSBQYXRoQnVmZmVyOiBTdWJzdGl0dXRlTmFtZU9mZnNldCwgU3Vic3RpdHV0ZU5hbWVMZW5ndGgsCisgICAgICAgICBQcmludE5hbWVPZmZzZXQgYW5kIFByaW50TmFtZUxlbmd0aC4KKyAgICAgICAtIFRoZSB0b3RhbCBzaXplIHdlIG5lZWQgdG8gYWxsb2NhdGUgZm9yIHRoZSBSRVBBUlNFX0RBVEFfQlVGRkVSLCB0aHVzLAorICAgICAgICAgaXMgdGhlIHN1bSBvZjoKKyAgICAgICAgIC0gdGhlIGZpeGVkIGhlYWRlciBzaXplIChSRVBBUlNFX0RBVEFfQlVGRkVSX0hFQURFUl9TSVpFKQorICAgICAgICAgLSB0aGUgc2l6ZSBvZiB0aGUgTW91bnRQb2ludFJlcGFyc2VCdWZmZXIgbWVtYmVyIHdpdGhvdXQgdGhlIFBhdGhCdWZmZXIKKyAgICAgICAgIC0gdGhlIHNpemUgb2YgdGhlIHByZWZpeCAoIlw/P1wiKSBpbiBieXRlcworICAgICAgICAgLSB0aGUgc2l6ZSBvZiB0aGUgcHJpbnQgbmFtZSBpbiBieXRlcworICAgICAgICAgLSB0aGUgc2l6ZSBvZiB0aGUgc3Vic3RpdHV0ZSBuYW1lIGluIGJ5dGVzCisgICAgICAgICAtIHRoZSBzaXplIG9mIHR3byBOVUwgdGVybWluYXRvcnMgaW4gYnl0ZXMgKi8KKyAgICByZGJfc2l6ZSA9IFJFUEFSU0VfREFUQV9CVUZGRVJfSEVBREVSX1NJWkUgKworICAgICAgICBzaXplb2YocmRiLT5Nb3VudFBvaW50UmVwYXJzZUJ1ZmZlcikgLQorICAgICAgICBzaXplb2YocmRiLT5Nb3VudFBvaW50UmVwYXJzZUJ1ZmZlci5QYXRoQnVmZmVyKSArCisgICAgICAgIC8qIFR3byArMSdzIGZvciBOVUwgdGVybWluYXRvcnMuICovCisgICAgICAgIChwcmVmaXhfbGVuICsgcHJpbnRfbGVuICsgMSArIHByaW50X2xlbiArIDEpICogc2l6ZW9mKFdDSEFSKTsKKyAgICByZGIgPSAoUFJFUEFSU0VfREFUQV9CVUZGRVIpUHlNZW1fUmF3TWFsbG9jKHJkYl9zaXplKTsKKyAgICBpZiAocmRiID09IE5VTEwpCisgICAgICAgIGdvdG8gY2xlYW51cDsKKworICAgIG1lbXNldChyZGIsIDAsIHJkYl9zaXplKTsKKyAgICByZGItPlJlcGFyc2VUYWcgPSBJT19SRVBBUlNFX1RBR19NT1VOVF9QT0lOVDsKKyAgICByZGItPlJlcGFyc2VEYXRhTGVuZ3RoID0gcmRiX3NpemUgLSBSRVBBUlNFX0RBVEFfQlVGRkVSX0hFQURFUl9TSVpFOworICAgIHJkYi0+TW91bnRQb2ludFJlcGFyc2VCdWZmZXIuU3Vic3RpdHV0ZU5hbWVPZmZzZXQgPSAwOworICAgIHJkYi0+TW91bnRQb2ludFJlcGFyc2VCdWZmZXIuU3Vic3RpdHV0ZU5hbWVMZW5ndGggPQorICAgICAgICAocHJlZml4X2xlbiArIHByaW50X2xlbikgKiBzaXplb2YoV0NIQVIpOworICAgIHJkYi0+TW91bnRQb2ludFJlcGFyc2VCdWZmZXIuUHJpbnROYW1lT2Zmc2V0ID0KKyAgICAgICAgcmRiLT5Nb3VudFBvaW50UmVwYXJzZUJ1ZmZlci5TdWJzdGl0dXRlTmFtZUxlbmd0aCArIHNpemVvZihXQ0hBUik7CisgICAgcmRiLT5Nb3VudFBvaW50UmVwYXJzZUJ1ZmZlci5QcmludE5hbWVMZW5ndGggPSBwcmludF9sZW4gKiBzaXplb2YoV0NIQVIpOworCisgICAgLyogU3RvcmUgdGhlIGZ1bGwgbmF0aXZlIHBhdGggb2YgbGluayB0YXJnZXQgYXQgdGhlIHN1YnN0aXR1dGUgbmFtZQorICAgICAgIG9mZnNldCAoMCkuICovCisgICAgd2NzY3B5KHJkYi0+TW91bnRQb2ludFJlcGFyc2VCdWZmZXIuUGF0aEJ1ZmZlciwgTCJcXD8/XFwiKTsKKyAgICBpZiAoR2V0RnVsbFBhdGhOYW1lVyhzcmNfcGF0aCwgcHJpbnRfbGVuICsgMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICByZGItPk1vdW50UG9pbnRSZXBhcnNlQnVmZmVyLlBhdGhCdWZmZXIgKyBwcmVmaXhfbGVuLAorICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpID09IDApCisgICAgICAgIGdvdG8gY2xlYW51cDsKKworICAgIC8qIENvcHkgZXZlcnl0aGluZyBidXQgdGhlIG5hdGl2ZSBwcmVmaXggdG8gdGhlIHByaW50IG5hbWUgb2Zmc2V0LiAqLworICAgIHdjc2NweShyZGItPk1vdW50UG9pbnRSZXBhcnNlQnVmZmVyLlBhdGhCdWZmZXIgKworICAgICAgICAgICAgIHByZWZpeF9sZW4gKyBwcmludF9sZW4gKyAxLAorICAgICAgICAgICAgIHJkYi0+TW91bnRQb2ludFJlcGFyc2VCdWZmZXIuUGF0aEJ1ZmZlciArIHByZWZpeF9sZW4pOworCisgICAgLyogQ3JlYXRlIGEgZGlyZWN0b3J5IGZvciB0aGUganVuY3Rpb24gcG9pbnQuICovCisgICAgaWYgKCFDcmVhdGVEaXJlY3RvcnlXKGRzdF9wYXRoLCBOVUxMKSkKKyAgICAgICAgZ290byBjbGVhbnVwOworCisgICAganVuY3Rpb24gPSBDcmVhdGVGaWxlVyhkc3RfcGF0aCwgR0VORVJJQ19SRUFEIHwgR0VORVJJQ19XUklURSwgMCwgTlVMTCwKKyAgICAgICAgT1BFTl9FWElTVElORywKKyAgICAgICAgRklMRV9GTEFHX09QRU5fUkVQQVJTRV9QT0lOVCB8IEZJTEVfRkxBR19CQUNLVVBfU0VNQU5USUNTLCBOVUxMKTsKKyAgICBpZiAoanVuY3Rpb24gPT0gSU5WQUxJRF9IQU5ETEVfVkFMVUUpCisgICAgICAgIGdvdG8gY2xlYW51cDsKKworICAgIC8qIE1ha2UgdGhlIGRpcmVjdG9yeSBlbnRyeSBhIGp1bmN0aW9uIHBvaW50LiAqLworICAgIGlmICghRGV2aWNlSW9Db250cm9sKGp1bmN0aW9uLCBGU0NUTF9TRVRfUkVQQVJTRV9QT0lOVCwgcmRiLCByZGJfc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCAwLCAmcmV0LCBOVUxMKSkKKyAgICAgICAgZ290byBjbGVhbnVwOworCitjbGVhbnVwOgorICAgIHJldCA9IEdldExhc3RFcnJvcigpOworCisgICAgQ2xvc2VIYW5kbGUodG9rZW4pOworICAgIENsb3NlSGFuZGxlKGp1bmN0aW9uKTsKKyAgICBQeU1lbV9SYXdGcmVlKHJkYik7CisKKyAgICBpZiAocmV0ICE9IDApCisgICAgICAgIHJldHVybiBQeUVycl9TZXRGcm9tV2luZG93c0VycihyZXQpOworCisgICAgUHlfUkVUVVJOX05PTkU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCiB3aW5hcGlfQ3JlYXRlTmFtZWRQaXBlKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKICAgICBMUENUU1RSIGxwTmFtZTsKQEAgLTEyMjUsNiArMTM2MCw4IEBACiAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsICIifSwKICAgICB7IkNyZWF0ZUZpbGUiLCB3aW5hcGlfQ3JlYXRlRmlsZSwgTUVUSF9WQVJBUkdTLAogICAgICAiIn0sCisgICAgeyJDcmVhdGVKdW5jdGlvbiIsIHdpbmFwaV9DcmVhdGVKdW5jdGlvbiwgTUVUSF9WQVJBUkdTLAorICAgICAiIn0sCiAgICAgeyJDcmVhdGVOYW1lZFBpcGUiLCB3aW5hcGlfQ3JlYXRlTmFtZWRQaXBlLCBNRVRIX1ZBUkFSR1MsCiAgICAgICIifSwKICAgICB7IkNyZWF0ZVBpcGUiLCB3aW5hcGlfQ3JlYXRlUGlwZSwgTUVUSF9WQVJBUkdTLApkaWZmIC0tZ2l0IGEvTW9kdWxlcy9hcnJheW1vZHVsZS5jIGIvTW9kdWxlcy9hcnJheW1vZHVsZS5jCmluZGV4IDVhYjFhYjYuLjZlNzU1ZjQgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvYXJyYXltb2R1bGUuYworKysgYi9Nb2R1bGVzL2FycmF5bW9kdWxlLmMKQEAgLTE1LDYgKzE1LDEyIEBACiAjZW5kaWYgLyogSEFWRV9TWVNfVFlQRVNfSCAqLwogI2VuZGlmIC8qICFTVERDX0hFQURFUlMgKi8KIAorLypbY2xpbmljIGlucHV0XQorb3V0cHV0IHByZXNldCBmaWxlCittb2R1bGUgYXJyYXkKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kYTM5YTNlZTVlNmI0YjBkIGlucHV0PTA5MDljMWExNDhjNjk5MzFdKi8KKwogc3RydWN0IGFycmF5b2JqZWN0OyAvKiBGb3J3YXJkICovCiAKIC8qIEFsbCBwb3NzaWJsZSBhcnJheWRlc2NyIHZhbHVlcyBhcmUgZGVmaW5lZCBpbiB0aGUgdmVjdG9yICJkZXNjcmlwdG9ycyIKQEAgLTQyLDYgKzQ4LDYzIEBACiAKIHN0YXRpYyBQeVR5cGVPYmplY3QgQXJyYXl0eXBlOwogCit0eXBlZGVmIHN0cnVjdCB7CisgICAgUHlPYmplY3RfSEVBRAorICAgIFB5X3NzaXplX3QgaW5kZXg7CisgICAgYXJyYXlvYmplY3QgKmFvOworICAgIFB5T2JqZWN0KiAoKmdldGl0ZW0pKHN0cnVjdCBhcnJheW9iamVjdCAqLCBQeV9zc2l6ZV90KTsKK30gYXJyYXlpdGVyb2JqZWN0OworCitzdGF0aWMgUHlUeXBlT2JqZWN0IFB5QXJyYXlJdGVyX1R5cGU7CisKKyNkZWZpbmUgUHlBcnJheUl0ZXJfQ2hlY2sob3ApIFB5T2JqZWN0X1R5cGVDaGVjayhvcCwgJlB5QXJyYXlJdGVyX1R5cGUpCisKK2VudW0gbWFjaGluZV9mb3JtYXRfY29kZSB7CisgICAgVU5LTk9XTl9GT1JNQVQgPSAtMSwKKyAgICAvKiBVTktOT1dOX0ZPUk1BVCBpcyB1c2VkIHRvIGluZGljYXRlIHRoYXQgdGhlIG1hY2hpbmUgZm9ybWF0IGZvciBhbgorICAgICAqIGFycmF5IHR5cGUgY29kZSBjYW5ub3QgYmUgaW50ZXJwcmV0ZWQuIFdoZW4gdGhpcyBvY2N1cnMsIGEgbGlzdCBvZgorICAgICAqIFB5dGhvbiBvYmplY3RzIGlzIHVzZWQgdG8gcmVwcmVzZW50IHRoZSBjb250ZW50IG9mIHRoZSBhcnJheQorICAgICAqIGluc3RlYWQgb2YgdXNpbmcgdGhlIG1lbW9yeSBjb250ZW50IG9mIHRoZSBhcnJheSBkaXJlY3RseS4gSW4gdGhhdAorICAgICAqIGNhc2UsIHRoZSBhcnJheV9yZWNvbnN0cnVjdG9yIG1lY2hhbmlzbSBpcyBieXBhc3NlZCBjb21wbGV0ZWx5LCBhbmQKKyAgICAgKiB0aGUgc3RhbmRhcmQgYXJyYXkgY29uc3RydWN0b3IgaXMgdXNlZCBpbnN0ZWFkLgorICAgICAqCisgICAgICogVGhpcyBpcyB3aWxsIG1vc3QgbGlrZWx5IG9jY3VyIHdoZW4gdGhlIG1hY2hpbmUgZG9lc24ndCB1c2UgSUVFRQorICAgICAqIGZsb2F0aW5nLXBvaW50IG51bWJlcnMuCisgICAgICovCisKKyAgICBVTlNJR05FRF9JTlQ4ID0gMCwKKyAgICBTSUdORURfSU5UOCA9IDEsCisgICAgVU5TSUdORURfSU5UMTZfTEUgPSAyLAorICAgIFVOU0lHTkVEX0lOVDE2X0JFID0gMywKKyAgICBTSUdORURfSU5UMTZfTEUgPSA0LAorICAgIFNJR05FRF9JTlQxNl9CRSA9IDUsCisgICAgVU5TSUdORURfSU5UMzJfTEUgPSA2LAorICAgIFVOU0lHTkVEX0lOVDMyX0JFID0gNywKKyAgICBTSUdORURfSU5UMzJfTEUgPSA4LAorICAgIFNJR05FRF9JTlQzMl9CRSA9IDksCisgICAgVU5TSUdORURfSU5UNjRfTEUgPSAxMCwKKyAgICBVTlNJR05FRF9JTlQ2NF9CRSA9IDExLAorICAgIFNJR05FRF9JTlQ2NF9MRSA9IDEyLAorICAgIFNJR05FRF9JTlQ2NF9CRSA9IDEzLAorICAgIElFRUVfNzU0X0ZMT0FUX0xFID0gMTQsCisgICAgSUVFRV83NTRfRkxPQVRfQkUgPSAxNSwKKyAgICBJRUVFXzc1NF9ET1VCTEVfTEUgPSAxNiwKKyAgICBJRUVFXzc1NF9ET1VCTEVfQkUgPSAxNywKKyAgICBVVEYxNl9MRSA9IDE4LAorICAgIFVURjE2X0JFID0gMTksCisgICAgVVRGMzJfTEUgPSAyMCwKKyAgICBVVEYzMl9CRSA9IDIxCit9OworI2RlZmluZSBNQUNISU5FX0ZPUk1BVF9DT0RFX01JTiAwCisjZGVmaW5lIE1BQ0hJTkVfRk9STUFUX0NPREVfTUFYIDIxCisKKworLyoKKyAqIE11c3QgY29tZSBhZnRlciBhcnJheW9iamVjdCwgYXJyYXlpdGVyb2JqZWN0LAorICogYW5kIGVudW0gbWFjaGluZV9jb2RlX3R5cGUgZGVmaW5pdGlvbnMuCisgKi8KKyNpbmNsdWRlICJjbGluaWMvYXJyYXltb2R1bGUuYy5oIgorCiAjZGVmaW5lIGFycmF5X0NoZWNrKG9wKSBQeU9iamVjdF9UeXBlQ2hlY2sob3AsICZBcnJheXR5cGUpCiAjZGVmaW5lIGFycmF5X0NoZWNrRXhhY3Qob3ApIChQeV9UWVBFKG9wKSA9PSAmQXJyYXl0eXBlKQogCkBAIC00NzEsNiArNTM0LDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogSW1wbGVtZW50YXRpb25zIG9mIGFycmF5IG9iamVjdCBtZXRob2RzLgogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qW2NsaW5pYyBpbnB1dF0KK2NsYXNzIGFycmF5LmFycmF5ICJhcnJheW9iamVjdCAqIiAiJkFycmF5dHlwZSIKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kYTM5YTNlZTVlNmI0YjBkIGlucHV0PWFkNDNkMzdlOTQyYTg4NTRdKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKIG5ld2FycmF5b2JqZWN0KFB5VHlwZU9iamVjdCAqdHlwZSwgUHlfc3NpemVfdCBzaXplLCBzdHJ1Y3QgYXJyYXlkZXNjciAqZGVzY3IpCkBAIC02ODQsMTYgKzc1MSwzNSBAQAogICAgIHJldHVybiAoUHlPYmplY3QgKilucDsKIH0KIAorCisvKltjbGluaWMgaW5wdXRdCithcnJheS5hcnJheS5fX2NvcHlfXworCitSZXR1cm4gYSBjb3B5IG9mIHRoZSBhcnJheS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKwogc3RhdGljIFB5T2JqZWN0ICoKLWFycmF5X2NvcHkoYXJyYXlvYmplY3QgKmEsIFB5T2JqZWN0ICp1bnVzZWQpCithcnJheV9hcnJheV9fX2NvcHlfX19pbXBsKGFycmF5b2JqZWN0ICpzZWxmKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWRlYzdjM2Y5MjVkOTYxOWUgaW5wdXQ9YWQxZWU1YjA4Njk2NWYwOV0qLwogewotICAgIHJldHVybiBhcnJheV9zbGljZShhLCAwLCBQeV9TSVpFKGEpKTsKKyAgICByZXR1cm4gYXJyYXlfc2xpY2Uoc2VsZiwgMCwgUHlfU0laRShzZWxmKSk7CiB9CiAKLVB5RG9jX1NUUlZBUihjb3B5X2RvYywKLSJjb3B5KGFycmF5KVxuXAotXG5cCi0gUmV0dXJuIGEgY29weSBvZiB0aGUgYXJyYXkuIik7CisvKltjbGluaWMgaW5wdXRdCithcnJheS5hcnJheS5fX2RlZXBjb3B5X18KKworICAgIHVudXNlZDogb2JqZWN0CisgICAgLworCitSZXR1cm4gYSBjb3B5IG9mIHRoZSBhcnJheS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworc3RhdGljIFB5T2JqZWN0ICoKK2FycmF5X2FycmF5X19fZGVlcGNvcHlfXyhhcnJheW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnVudXNlZCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0xZWM3NDhkOGUxNGE5ZmFhIGlucHV0PTI0MDVlY2I0OTMzNzQ4YzRdKi8KK3sKKyAgICByZXR1cm4gYXJyYXlfYXJyYXlfX19jb3B5X19faW1wbChzZWxmKTsKK30KIAogc3RhdGljIFB5T2JqZWN0ICoKIGFycmF5X2NvbmNhdChhcnJheW9iamVjdCAqYSwgUHlPYmplY3QgKmJiKQpAQCAtOTYxLDggKzEwNDcsMTggQEAKICAgICByZXR1cm4gUHlfTm9uZTsKIH0KIAorLypbY2xpbmljIGlucHV0XQorYXJyYXkuYXJyYXkuY291bnQKKworICAgIHY6IG9iamVjdAorICAgIC8KKworUmV0dXJuIG51bWJlciBvZiBvY2N1cnJlbmNlcyBvZiB2IGluIHRoZSBhcnJheS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKwogc3RhdGljIFB5T2JqZWN0ICoKLWFycmF5X2NvdW50KGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdikKK2FycmF5X2FycmF5X2NvdW50KGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0zZGQzNjI0YmY3MTM1YTNhIGlucHV0PWQ5YmNlOWQ2NWUzOWQxZjVdKi8KIHsKICAgICBQeV9zc2l6ZV90IGNvdW50ID0gMDsKICAgICBQeV9zc2l6ZV90IGk7CkBAIC05ODQsMTMgKzEwODAsMTkgQEAKICAgICByZXR1cm4gUHlMb25nX0Zyb21Tc2l6ZV90KGNvdW50KTsKIH0KIAotUHlEb2NfU1RSVkFSKGNvdW50X2RvYywKLSJjb3VudCh4KVxuXAotXG5cCi1SZXR1cm4gbnVtYmVyIG9mIG9jY3VycmVuY2VzIG9mIHggaW4gdGhlIGFycmF5LiIpOworCisvKltjbGluaWMgaW5wdXRdCithcnJheS5hcnJheS5pbmRleAorCisgICAgdjogb2JqZWN0CisgICAgLworCitSZXR1cm4gaW5kZXggb2YgZmlyc3Qgb2NjdXJyZW5jZSBvZiB2IGluIHRoZSBhcnJheS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLWFycmF5X2luZGV4KGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdikKK2FycmF5X2FycmF5X2luZGV4KGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kNDg0OThkMzI1NjAyMTY3IGlucHV0PWNmNjE5ODk4YzY2NDlkMDhdKi8KIHsKICAgICBQeV9zc2l6ZV90IGk7CiAKQEAgLTEwMTMsMTEgKzExMTUsNiBAQAogICAgIHJldHVybiBOVUxMOwogfQogCi1QeURvY19TVFJWQVIoaW5kZXhfZG9jLAotImluZGV4KHgpXG5cCi1cblwKLVJldHVybiBpbmRleCBvZiBmaXJzdCBvY2N1cnJlbmNlIG9mIHggaW4gdGhlIGFycmF5LiIpOwotCiBzdGF0aWMgaW50CiBhcnJheV9jb250YWlucyhhcnJheW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnYpCiB7CkBAIC0xMDM0LDggKzExMzEsMTggQEAKICAgICByZXR1cm4gY21wOwogfQogCisvKltjbGluaWMgaW5wdXRdCithcnJheS5hcnJheS5yZW1vdmUKKworICAgIHY6IG9iamVjdAorICAgIC8KKworUmVtb3ZlIHRoZSBmaXJzdCBvY2N1cnJlbmNlIG9mIHYgaW4gdGhlIGFycmF5LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCiBzdGF0aWMgUHlPYmplY3QgKgotYXJyYXlfcmVtb3ZlKGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdikKK2FycmF5X2FycmF5X3JlbW92ZShhcnJheW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnYpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YmVmMDZiZTlmZGY5ZGNlYiBpbnB1dD0wYjFlNWFlZDI1NTkwMDI3XSovCiB7CiAgICAgaW50IGk7CiAKQEAgLTEwNjIsMTggKzExNjksMjMgQEAKICAgICByZXR1cm4gTlVMTDsKIH0KIAotUHlEb2NfU1RSVkFSKHJlbW92ZV9kb2MsCi0icmVtb3ZlKHgpXG5cCi1cblwKLVJlbW92ZSB0aGUgZmlyc3Qgb2NjdXJyZW5jZSBvZiB4IGluIHRoZSBhcnJheS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2FycmF5LmFycmF5LnBvcAorCisgICAgaTogUHlfc3NpemVfdCA9IC0xCisgICAgLworCitSZXR1cm4gdGhlIGktdGggZWxlbWVudCBhbmQgZGVsZXRlIGl0IGZyb20gdGhlIGFycmF5LgorCitpIGRlZmF1bHRzIHRvIC0xLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwogCiBzdGF0aWMgUHlPYmplY3QgKgotYXJyYXlfcG9wKGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK2FycmF5X2FycmF5X3BvcF9pbXBsKGFycmF5b2JqZWN0ICpzZWxmLCBQeV9zc2l6ZV90IGkpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YmMxZjBjNTRmZTUzMDhlNCBpbnB1dD04ZTVmZWI0YzFhMTFjZDQ0XSovCiB7Ci0gICAgUHlfc3NpemVfdCBpID0gLTE7CiAgICAgUHlPYmplY3QgKnY7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJ8bjpwb3AiLCAmaSkpCi0gICAgICAgIHJldHVybiBOVUxMOworCiAgICAgaWYgKFB5X1NJWkUoc2VsZikgPT0gMCkgewogICAgICAgICAvKiBTcGVjaWFsLWNhc2UgbW9zdCBjb21tb24gZmFpbHVyZSBjYXVzZSAqLwogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfSW5kZXhFcnJvciwgInBvcCBmcm9tIGVtcHR5IGFycmF5Iik7CkBAIC0xMDk1LDEzICsxMjA3LDE4IEBACiAgICAgcmV0dXJuIHY7CiB9CiAKLVB5RG9jX1NUUlZBUihwb3BfZG9jLAotInBvcChbaV0pXG5cCi1cblwKLVJldHVybiB0aGUgaS10aCBlbGVtZW50IGFuZCBkZWxldGUgaXQgZnJvbSB0aGUgYXJyYXkuIGkgZGVmYXVsdHMgdG8gLTEuIik7CisvKltjbGluaWMgaW5wdXRdCithcnJheS5hcnJheS5leHRlbmQKKworICAgIGJiOiBvYmplY3QKKyAgICAvCisKK0FwcGVuZCBpdGVtcyB0byB0aGUgZW5kIG9mIHRoZSBhcnJheS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLWFycmF5X2V4dGVuZChhcnJheW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmJiKQorYXJyYXlfYXJyYXlfZXh0ZW5kKGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYmIpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YmJkZGJjOGU4YmVmODcxZCBpbnB1dD00M2JlODZhYmE1YzMxZTQ0XSovCiB7CiAgICAgaWYgKGFycmF5X2RvX2V4dGVuZChzZWxmLCBiYikgPT0gLTEpCiAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtMTEwOSwyOSArMTIyNiwzNSBAQAogICAgIHJldHVybiBQeV9Ob25lOwogfQogCi1QeURvY19TVFJWQVIoZXh0ZW5kX2RvYywKLSJleHRlbmQoYXJyYXkgb3IgaXRlcmFibGUpXG5cCi1cblwKLSBBcHBlbmQgaXRlbXMgdG8gdGhlIGVuZCBvZiB0aGUgYXJyYXkuIik7CisvKltjbGluaWMgaW5wdXRdCithcnJheS5hcnJheS5pbnNlcnQKKworICAgIGk6IFB5X3NzaXplX3QKKyAgICB2OiBvYmplY3QKKyAgICAvCisKK0luc2VydCBhIG5ldyBpdGVtIHYgaW50byB0aGUgYXJyYXkgYmVmb3JlIHBvc2l0aW9uIGkuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1hcnJheV9pbnNlcnQoYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorYXJyYXlfYXJyYXlfaW5zZXJ0X2ltcGwoYXJyYXlvYmplY3QgKnNlbGYsIFB5X3NzaXplX3QgaSwgUHlPYmplY3QgKnYpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NWEzNjQ4ZTI3ODM0ODU2NCBpbnB1dD01NTc3ZDFiNDM4M2U5MzEzXSovCiB7Ci0gICAgUHlfc3NpemVfdCBpOwotICAgIFB5T2JqZWN0ICp2OwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAibk86aW5zZXJ0IiwgJmksICZ2KSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgcmV0dXJuIGlucyhzZWxmLCBpLCB2KTsKIH0KIAotUHlEb2NfU1RSVkFSKGluc2VydF9kb2MsCi0iaW5zZXJ0KGkseClcblwKLVxuXAotSW5zZXJ0IGEgbmV3IGl0ZW0geCBpbnRvIHRoZSBhcnJheSBiZWZvcmUgcG9zaXRpb24gaS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2FycmF5LmFycmF5LmJ1ZmZlcl9pbmZvCiAKK1JldHVybiBhIHR1cGxlIChhZGRyZXNzLCBsZW5ndGgpIGdpdmluZyB0aGUgY3VycmVudCBtZW1vcnkgYWRkcmVzcyBhbmQgdGhlIGxlbmd0aCBpbiBpdGVtcyBvZiB0aGUgYnVmZmVyIHVzZWQgdG8gaG9sZCBhcnJheSdzIGNvbnRlbnRzLgorCitUaGUgbGVuZ3RoIHNob3VsZCBiZSBtdWx0aXBsaWVkIGJ5IHRoZSBpdGVtc2l6ZSBhdHRyaWJ1dGUgdG8gY2FsY3VsYXRlCit0aGUgYnVmZmVyIGxlbmd0aCBpbiBieXRlcy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLWFycmF5X2J1ZmZlcl9pbmZvKGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdW51c2VkKQorYXJyYXlfYXJyYXlfYnVmZmVyX2luZm9faW1wbChhcnJheW9iamVjdCAqc2VsZikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD05YjJhNGVjM2FlN2U5OGU3IGlucHV0PWE1OGJhZTVjNmUxYWM2YTZdKi8KIHsKICAgICBQeU9iamVjdCAqcmV0dmFsID0gTlVMTCwgKnY7CiAKQEAgLTExNTYsMjkgKzEyNzksMzQgQEAKICAgICByZXR1cm4gcmV0dmFsOwogfQogCi1QeURvY19TVFJWQVIoYnVmZmVyX2luZm9fZG9jLAotImJ1ZmZlcl9pbmZvKCkgLT4gKGFkZHJlc3MsIGxlbmd0aClcblwKLVxuXAotUmV0dXJuIGEgdHVwbGUgKGFkZHJlc3MsIGxlbmd0aCkgZ2l2aW5nIHRoZSBjdXJyZW50IG1lbW9yeSBhZGRyZXNzIGFuZFxuXAotdGhlIGxlbmd0aCBpbiBpdGVtcyBvZiB0aGUgYnVmZmVyIHVzZWQgdG8gaG9sZCBhcnJheSdzIGNvbnRlbnRzXG5cCi1UaGUgbGVuZ3RoIHNob3VsZCBiZSBtdWx0aXBsaWVkIGJ5IHRoZSBpdGVtc2l6ZSBhdHRyaWJ1dGUgdG8gY2FsY3VsYXRlXG5cCi10aGUgYnVmZmVyIGxlbmd0aCBpbiBieXRlcy4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2FycmF5LmFycmF5LmFwcGVuZAogCisgICAgdjogb2JqZWN0CisgICAgLworCitBcHBlbmQgbmV3IHZhbHVlIHYgdG8gdGhlIGVuZCBvZiB0aGUgYXJyYXkuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1hcnJheV9hcHBlbmQoYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp2KQorYXJyYXlfYXJyYXlfYXBwZW5kKGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD03NDVhMDY2OWJmOGRiMGUyIGlucHV0PTBiOThkOWQ3OGU3OGYwZmFdKi8KIHsKICAgICByZXR1cm4gaW5zKHNlbGYsIFB5X1NJWkUoc2VsZiksIHYpOwogfQogCi1QeURvY19TVFJWQVIoYXBwZW5kX2RvYywKLSJhcHBlbmQoeClcblwKLVxuXAotQXBwZW5kIG5ldyB2YWx1ZSB4IHRvIHRoZSBlbmQgb2YgdGhlIGFycmF5LiIpOworLypbY2xpbmljIGlucHV0XQorYXJyYXkuYXJyYXkuYnl0ZXN3YXAKIAorQnl0ZXN3YXAgYWxsIGl0ZW1zIG9mIHRoZSBhcnJheS4KKworSWYgdGhlIGl0ZW1zIGluIHRoZSBhcnJheSBhcmUgbm90IDEsIDIsIDQsIG9yIDggYnl0ZXMgaW4gc2l6ZSwgUnVudGltZUVycm9yIGlzCityYWlzZWQuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1hcnJheV9ieXRlc3dhcChhcnJheW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnVudXNlZCkKK2FycmF5X2FycmF5X2J5dGVzd2FwX2ltcGwoYXJyYXlvYmplY3QgKnNlbGYpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NWY4MjM2Y2JkZjBkOTBiNSBpbnB1dD02YTg1NTkxYjk1MGEwMTg2XSovCiB7CiAgICAgY2hhciAqcDsKICAgICBQeV9zc2l6ZV90IGk7CkBAIC0xMjI4LDE0ICsxMzU2LDE1IEBACiAgICAgcmV0dXJuIFB5X05vbmU7CiB9CiAKLVB5RG9jX1NUUlZBUihieXRlc3dhcF9kb2MsCi0iYnl0ZXN3YXAoKVxuXAotXG5cCi1CeXRlc3dhcCBhbGwgaXRlbXMgb2YgdGhlIGFycmF5LiAgSWYgdGhlIGl0ZW1zIGluIHRoZSBhcnJheSBhcmUgbm90IDEsIDIsXG5cCi00LCBvciA4IGJ5dGVzIGluIHNpemUsIFJ1bnRpbWVFcnJvciBpcyByYWlzZWQuIik7CisvKltjbGluaWMgaW5wdXRdCithcnJheS5hcnJheS5yZXZlcnNlCisKK1JldmVyc2UgdGhlIG9yZGVyIG9mIHRoZSBpdGVtcyBpbiB0aGUgYXJyYXkuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1hcnJheV9yZXZlcnNlKGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdW51c2VkKQorYXJyYXlfYXJyYXlfcmV2ZXJzZV9pbXBsKGFycmF5b2JqZWN0ICpzZWxmKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWMwNDg2OGIzNmY2ZjQwODkgaW5wdXQ9Y2Q5MDRmMDFiMjdkOTY2YV0qLwogewogICAgIFB5X3NzaXplX3QgaXRlbXNpemUgPSBzZWxmLT5vYl9kZXNjci0+aXRlbXNpemU7CiAgICAgY2hhciAqcCwgKnE7CkBAIC0xMjYxLDI3ICsxMzkwLDI2IEBACiAgICAgcmV0dXJuIFB5X05vbmU7CiB9CiAKLVB5RG9jX1NUUlZBUihyZXZlcnNlX2RvYywKLSJyZXZlcnNlKClcblwKLVxuXAotUmV2ZXJzZSB0aGUgb3JkZXIgb2YgdGhlIGl0ZW1zIGluIHRoZSBhcnJheS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2FycmF5LmFycmF5LmZyb21maWxlCiAKKyAgICBmOiBvYmplY3QKKyAgICBuOiBQeV9zc2l6ZV90CisgICAgLwogCi0vKiBGb3J3YXJkICovCi1zdGF0aWMgUHlPYmplY3QgKmFycmF5X2Zyb21ieXRlcyhhcnJheW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpOworUmVhZCBuIG9iamVjdHMgZnJvbSB0aGUgZmlsZSBvYmplY3QgZiBhbmQgYXBwZW5kIHRoZW0gdG8gdGhlIGVuZCBvZiB0aGUgYXJyYXkuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1hcnJheV9mcm9tZmlsZShhcnJheW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCithcnJheV9hcnJheV9mcm9tZmlsZV9pbXBsKGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqZiwgUHlfc3NpemVfdCBuKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWVjOWY2MDBlMTBmNTM1MTAgaW5wdXQ9ZTE4OGFmZThlNThhZGY0MF0qLwogewotICAgIFB5T2JqZWN0ICpmLCAqYiwgKnJlczsKKyAgICBQeU9iamVjdCAqYXJncywgKmIsICpyZXM7CiAgICAgUHlfc3NpemVfdCBpdGVtc2l6ZSA9IHNlbGYtPm9iX2Rlc2NyLT5pdGVtc2l6ZTsKLSAgICBQeV9zc2l6ZV90IG4sIG5ieXRlczsKKyAgICBQeV9zc2l6ZV90IG5ieXRlczsKICAgICBfUHlfSURFTlRJRklFUihyZWFkKTsKICAgICBpbnQgbm90X2Vub3VnaF9ieXRlczsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiT246ZnJvbWZpbGUiLCAmZiwgJm4pKQotICAgICAgICByZXR1cm4gTlVMTDsKLQogICAgIGlmIChuIDwgMCkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgIm5lZ2F0aXZlIGNvdW50Iik7CiAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtMTMxMCw3ICsxNDM4LDcgQEAKICAgICBpZiAoYXJncyA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIHJlcyA9IGFycmF5X2Zyb21ieXRlcyhzZWxmLCBhcmdzKTsKKyAgICByZXMgPSBhcnJheV9hcnJheV9mcm9tYnl0ZXMoc2VsZiwgYXJncyk7CiAgICAgUHlfREVDUkVGKGFyZ3MpOwogICAgIGlmIChyZXMgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC0xMzI1LDE1ICsxNDUzLDE4IEBACiAgICAgcmV0dXJuIHJlczsKIH0KIAotUHlEb2NfU1RSVkFSKGZyb21maWxlX2RvYywKLSJmcm9tZmlsZShmLCBuKVxuXAotXG5cCi1SZWFkIG4gb2JqZWN0cyBmcm9tIHRoZSBmaWxlIG9iamVjdCBmIGFuZCBhcHBlbmQgdGhlbSB0byB0aGUgZW5kIG9mIHRoZVxuXAotYXJyYXkuIik7CisvKltjbGluaWMgaW5wdXRdCithcnJheS5hcnJheS50b2ZpbGUKIAorICAgIGY6IG9iamVjdAorICAgIC8KKworV3JpdGUgYWxsIGl0ZW1zIChhcyBtYWNoaW5lIHZhbHVlcykgdG8gdGhlIGZpbGUgb2JqZWN0IGYuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1hcnJheV90b2ZpbGUoYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpmKQorYXJyYXlfYXJyYXlfdG9maWxlKGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqZikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0zYTJjZmE4MTI4ZGYwNzc3IGlucHV0PWIwNjY5YTQ4NGFhYjA4MzFdKi8KIHsKICAgICBQeV9zc2l6ZV90IG5ieXRlcyA9IFB5X1NJWkUoc2VsZikgKiBzZWxmLT5vYl9kZXNjci0+aXRlbXNpemU7CiAgICAgLyogV3JpdGUgNjRLIGJsb2NrcyBhdCBhIHRpbWUgKi8KQEAgLTEzNjgsMTQgKzE0OTksMTggQEAKICAgICByZXR1cm4gUHlfTm9uZTsKIH0KIAotUHlEb2NfU1RSVkFSKHRvZmlsZV9kb2MsCi0idG9maWxlKGYpXG5cCi1cblwKLVdyaXRlIGFsbCBpdGVtcyAoYXMgbWFjaGluZSB2YWx1ZXMpIHRvIHRoZSBmaWxlIG9iamVjdCBmLiIpOworLypbY2xpbmljIGlucHV0XQorYXJyYXkuYXJyYXkuZnJvbWxpc3QKIAorICAgIGxpc3Q6IG9iamVjdAorICAgIC8KKworQXBwZW5kIGl0ZW1zIHRvIGFycmF5IGZyb20gbGlzdC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLWFycmF5X2Zyb21saXN0KGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqbGlzdCkKK2FycmF5X2FycmF5X2Zyb21saXN0KGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqbGlzdCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0yNjQxMWMyZDIyOGEzZTNmIGlucHV0PWJlMjYwNWE5NmM0OTY4MGZdKi8KIHsKICAgICBQeV9zc2l6ZV90IG47CiAKQEAgLTE0MDIsMTMgKzE1MzcsMTUgQEAKICAgICByZXR1cm4gUHlfTm9uZTsKIH0KIAotUHlEb2NfU1RSVkFSKGZyb21saXN0X2RvYywKLSJmcm9tbGlzdChsaXN0KVxuXAotXG5cCi1BcHBlbmQgaXRlbXMgdG8gYXJyYXkgZnJvbSBsaXN0LiIpOworLypbY2xpbmljIGlucHV0XQorYXJyYXkuYXJyYXkudG9saXN0CisKK0NvbnZlcnQgYXJyYXkgdG8gYW4gb3JkaW5hcnkgbGlzdCB3aXRoIHRoZSBzYW1lIGl0ZW1zLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwogCiBzdGF0aWMgUHlPYmplY3QgKgotYXJyYXlfdG9saXN0KGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdW51c2VkKQorYXJyYXlfYXJyYXlfdG9saXN0X2ltcGwoYXJyYXlvYmplY3QgKnNlbGYpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MDBiNjBjYzllYWI4ZWY4OSBpbnB1dD1hOGQ3Nzg0YTk0Zjg2YjUzXSovCiB7CiAgICAgUHlPYmplY3QgKmxpc3QgPSBQeUxpc3RfTmV3KFB5X1NJWkUoc2VsZikpOwogICAgIFB5X3NzaXplX3QgaTsKQEAgLTE0MjksMTEgKzE1NjYsNiBAQAogICAgIHJldHVybiBOVUxMOwogfQogCi1QeURvY19TVFJWQVIodG9saXN0X2RvYywKLSJ0b2xpc3QoKSAtPiBsaXN0XG5cCi1cblwKLUNvbnZlcnQgYXJyYXkgdG8gYW4gb3JkaW5hcnkgbGlzdCB3aXRoIHRoZSBzYW1lIGl0ZW1zLiIpOwotCiBzdGF0aWMgUHlPYmplY3QgKgogZnJvbWJ5dGVzKGFycmF5b2JqZWN0ICpzZWxmLCBQeV9idWZmZXIgKmJ1ZmZlcikKIHsKQEAgLTE0NzEsNDcgKzE2MDMsNTIgQEAKICAgICByZXR1cm4gUHlfTm9uZTsKIH0KIAorLypbY2xpbmljIGlucHV0XQorYXJyYXkuYXJyYXkuZnJvbXN0cmluZworCisgICAgYnVmZmVyOiBQeV9idWZmZXIodHlwZXM9J3N0ciBieXRlcyBieXRlYXJyYXkgYnVmZmVyJykKKyAgICAvCisKK0FwcGVuZHMgaXRlbXMgZnJvbSB0aGUgc3RyaW5nLCBpbnRlcnByZXRpbmcgaXQgYXMgYW4gYXJyYXkgb2YgbWFjaGluZSB2YWx1ZXMsIGFzIGlmIGl0IGhhZCBiZWVuIHJlYWQgZnJvbSBhIGZpbGUgdXNpbmcgdGhlIGZyb21maWxlKCkgbWV0aG9kKS4KKworVGhpcyBtZXRob2QgaXMgZGVwcmVjYXRlZC4gVXNlIGZyb21ieXRlcyBpbnN0ZWFkLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCiBzdGF0aWMgUHlPYmplY3QgKgotYXJyYXlfZnJvbXN0cmluZyhhcnJheW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCithcnJheV9hcnJheV9mcm9tc3RyaW5nX2ltcGwoYXJyYXlvYmplY3QgKnNlbGYsIFB5X2J1ZmZlciAqYnVmZmVyKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTMxYzRiYWE3NzlkZjg0Y2UgaW5wdXQ9MTMwMmQ5NGM5NzY5NmI4NF0qLwogewotICAgIFB5X2J1ZmZlciBidWZmZXI7CiAgICAgaWYgKFB5RXJyX1dhcm5FeChQeUV4Y19EZXByZWNhdGlvbldhcm5pbmcsCiAgICAgICAgICAgICAiZnJvbXN0cmluZygpIGlzIGRlcHJlY2F0ZWQuIFVzZSBmcm9tYnl0ZXMoKSBpbnN0ZWFkLiIsIDIpICE9IDApCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAicyo6ZnJvbXN0cmluZyIsICZidWZmZXIpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBlbHNlCi0gICAgICAgIHJldHVybiBmcm9tYnl0ZXMoc2VsZiwgJmJ1ZmZlcik7CisgICAgcmV0dXJuIGZyb21ieXRlcyhzZWxmLCBidWZmZXIpOwogfQogCi1QeURvY19TVFJWQVIoZnJvbXN0cmluZ19kb2MsCi0iZnJvbXN0cmluZyhzdHJpbmcpXG5cCi1cblwKLUFwcGVuZHMgaXRlbXMgZnJvbSB0aGUgc3RyaW5nLCBpbnRlcnByZXRpbmcgaXQgYXMgYW4gYXJyYXkgb2YgbWFjaGluZVxuXAotdmFsdWVzLCBhcyBpZiBpdCBoYWQgYmVlbiByZWFkIGZyb20gYSBmaWxlIHVzaW5nIHRoZSBmcm9tZmlsZSgpIG1ldGhvZCkuXG5cCi1cblwKLVRoaXMgbWV0aG9kIGlzIGRlcHJlY2F0ZWQuIFVzZSBmcm9tYnl0ZXMgaW5zdGVhZC4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2FycmF5LmFycmF5LmZyb21ieXRlcwogCisgICAgYnVmZmVyOiBQeV9idWZmZXIKKyAgICAvCisKK0FwcGVuZHMgaXRlbXMgZnJvbSB0aGUgc3RyaW5nLCBpbnRlcnByZXRpbmcgaXQgYXMgYW4gYXJyYXkgb2YgbWFjaGluZSB2YWx1ZXMsIGFzIGlmIGl0IGhhZCBiZWVuIHJlYWQgZnJvbSBhIGZpbGUgdXNpbmcgdGhlIGZyb21maWxlKCkgbWV0aG9kKS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLWFycmF5X2Zyb21ieXRlcyhhcnJheW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCithcnJheV9hcnJheV9mcm9tYnl0ZXNfaW1wbChhcnJheW9iamVjdCAqc2VsZiwgUHlfYnVmZmVyICpidWZmZXIpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZDk4NDJjOGY3NTEwYTUxNiBpbnB1dD0yYmJmMmI1M2ViZmNjOTg4XSovCiB7Ci0gICAgUHlfYnVmZmVyIGJ1ZmZlcjsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInkqOmZyb21ieXRlcyIsICZidWZmZXIpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBlbHNlCi0gICAgICAgIHJldHVybiBmcm9tYnl0ZXMoc2VsZiwgJmJ1ZmZlcik7CisgICAgcmV0dXJuIGZyb21ieXRlcyhzZWxmLCBidWZmZXIpOwogfQogCi1QeURvY19TVFJWQVIoZnJvbWJ5dGVzX2RvYywKLSJmcm9tYnl0ZXMoYnl0ZXN0cmluZylcblwKLVxuXAotQXBwZW5kcyBpdGVtcyBmcm9tIHRoZSBzdHJpbmcsIGludGVycHJldGluZyBpdCBhcyBhbiBhcnJheSBvZiBtYWNoaW5lXG5cCi12YWx1ZXMsIGFzIGlmIGl0IGhhZCBiZWVuIHJlYWQgZnJvbSBhIGZpbGUgdXNpbmcgdGhlIGZyb21maWxlKCkgbWV0aG9kKS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2FycmF5LmFycmF5LnRvYnl0ZXMKIAorQ29udmVydCB0aGUgYXJyYXkgdG8gYW4gYXJyYXkgb2YgbWFjaGluZSB2YWx1ZXMgYW5kIHJldHVybiB0aGUgYnl0ZXMgcmVwcmVzZW50YXRpb24uCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1hcnJheV90b2J5dGVzKGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdW51c2VkKQorYXJyYXlfYXJyYXlfdG9ieXRlc19pbXBsKGFycmF5b2JqZWN0ICpzZWxmKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTg3MzE4ZTRlZGNkYzJiYjYgaW5wdXQ9OTBlZTQ5NWY5NmRlMzRmNV0qLwogewogICAgIGlmIChQeV9TSVpFKHNlbGYpIDw9IFBZX1NTSVpFX1RfTUFYIC8gc2VsZi0+b2JfZGVzY3ItPml0ZW1zaXplKSB7CiAgICAgICAgIHJldHVybiBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKHNlbGYtPm9iX2l0ZW0sCkBAIC0xNTIxLDQwICsxNjU4LDQzIEBACiAgICAgfQogfQogCi1QeURvY19TVFJWQVIodG9ieXRlc19kb2MsCi0idG9ieXRlcygpIC0+IGJ5dGVzXG5cCi1cblwKLUNvbnZlcnQgdGhlIGFycmF5IHRvIGFuIGFycmF5IG9mIG1hY2hpbmUgdmFsdWVzIGFuZCByZXR1cm4gdGhlIGJ5dGVzXG5cCi1yZXByZXNlbnRhdGlvbi4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2FycmF5LmFycmF5LnRvc3RyaW5nCiAKK0NvbnZlcnQgdGhlIGFycmF5IHRvIGFuIGFycmF5IG9mIG1hY2hpbmUgdmFsdWVzIGFuZCByZXR1cm4gdGhlIGJ5dGVzIHJlcHJlc2VudGF0aW9uLgorCitUaGlzIG1ldGhvZCBpcyBkZXByZWNhdGVkLiBVc2UgdG9ieXRlcyBpbnN0ZWFkLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwogCiBzdGF0aWMgUHlPYmplY3QgKgotYXJyYXlfdG9zdHJpbmcoYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp1bnVzZWQpCithcnJheV9hcnJheV90b3N0cmluZ19pbXBsKGFycmF5b2JqZWN0ICpzZWxmKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTdkNmJkOTI3NDVhMmM4ZjMgaW5wdXQ9YjZjMGRkZWU3YjMwNDU3ZV0qLwogewogICAgIGlmIChQeUVycl9XYXJuRXgoUHlFeGNfRGVwcmVjYXRpb25XYXJuaW5nLAogICAgICAgICAgICAgInRvc3RyaW5nKCkgaXMgZGVwcmVjYXRlZC4gVXNlIHRvYnl0ZXMoKSBpbnN0ZWFkLiIsIDIpICE9IDApCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIHJldHVybiBhcnJheV90b2J5dGVzKHNlbGYsIHVudXNlZCk7CisgICAgcmV0dXJuIGFycmF5X2FycmF5X3RvYnl0ZXNfaW1wbChzZWxmKTsKIH0KIAotUHlEb2NfU1RSVkFSKHRvc3RyaW5nX2RvYywKLSJ0b3N0cmluZygpIC0+IGJ5dGVzXG5cCi1cblwKLUNvbnZlcnQgdGhlIGFycmF5IHRvIGFuIGFycmF5IG9mIG1hY2hpbmUgdmFsdWVzIGFuZCByZXR1cm4gdGhlIGJ5dGVzXG5cCi1yZXByZXNlbnRhdGlvbi5cblwKLVxuXAotVGhpcyBtZXRob2QgaXMgZGVwcmVjYXRlZC4gVXNlIHRvYnl0ZXMgaW5zdGVhZC4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2FycmF5LmFycmF5LmZyb211bmljb2RlCiAKKyAgICB1c3RyOiBQeV9VTklDT0RFKGxlbmd0aD1UcnVlKQorICAgIC8KKworRXh0ZW5kcyB0aGlzIGFycmF5IHdpdGggZGF0YSBmcm9tIHRoZSB1bmljb2RlIHN0cmluZyB1c3RyLgorCitUaGUgYXJyYXkgbXVzdCBiZSBhIHVuaWNvZGUgdHlwZSBhcnJheTsgb3RoZXJ3aXNlIGEgVmFsdWVFcnJvciBpcyByYWlzZWQuCitVc2UgYXJyYXkuZnJvbWJ5dGVzKHVzdHIuZW5jb2RlKC4uLikpIHRvIGFwcGVuZCBVbmljb2RlIGRhdGEgdG8gYW4gYXJyYXkgb2YKK3NvbWUgb3RoZXIgdHlwZS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLWFycmF5X2Zyb211bmljb2RlKGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK2FycmF5X2FycmF5X2Zyb211bmljb2RlX2ltcGwoYXJyYXlvYmplY3QgKnNlbGYsIFB5X1VOSUNPREUgKnVzdHIsIFB5X3NzaXplX2NsZWFuX3QgdXN0cl9sZW5ndGgpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9M2IzZjRmMTMzYmFjNzI1ZSBpbnB1dD01NmJjZWRiNWVmNzAxMzlmXSovCiB7Ci0gICAgUHlfVU5JQ09ERSAqdXN0cjsKLSAgICBQeV9zc2l6ZV90IG47CiAgICAgY2hhciB0eXBlY29kZTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAidSM6ZnJvbXVuaWNvZGUiLCAmdXN0ciwgJm4pKQotICAgICAgICByZXR1cm4gTlVMTDsKICAgICB0eXBlY29kZSA9IHNlbGYtPm9iX2Rlc2NyLT50eXBlY29kZTsKICAgICBpZiAodHlwZWNvZGUgIT0gJ3UnKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLApAQCAtMTU2MiwyOSArMTcwMiwzMCBAQAogICAgICAgICAgICAgInVuaWNvZGUgdHlwZSBhcnJheXMiKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIGlmIChuID4gMCkgeworICAgIGlmICh1c3RyX2xlbmd0aCA+IDApIHsKICAgICAgICAgUHlfc3NpemVfdCBvbGRfc2l6ZSA9IFB5X1NJWkUoc2VsZik7Ci0gICAgICAgIGlmIChhcnJheV9yZXNpemUoc2VsZiwgb2xkX3NpemUgKyBuKSA9PSAtMSkKKyAgICAgICAgaWYgKGFycmF5X3Jlc2l6ZShzZWxmLCBvbGRfc2l6ZSArIHVzdHJfbGVuZ3RoKSA9PSAtMSkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICBtZW1jcHkoc2VsZi0+b2JfaXRlbSArIG9sZF9zaXplICogc2l6ZW9mKFB5X1VOSUNPREUpLAotICAgICAgICAgICAgICAgdXN0ciwgbiAqIHNpemVvZihQeV9VTklDT0RFKSk7CisgICAgICAgICAgICAgICB1c3RyLCB1c3RyX2xlbmd0aCAqIHNpemVvZihQeV9VTklDT0RFKSk7CiAgICAgfQogCi0gICAgUHlfSU5DUkVGKFB5X05vbmUpOwotICAgIHJldHVybiBQeV9Ob25lOworICAgIFB5X1JFVFVSTl9OT05FOwogfQogCi1QeURvY19TVFJWQVIoZnJvbXVuaWNvZGVfZG9jLAotImZyb211bmljb2RlKHVzdHIpXG5cCi1cblwKLUV4dGVuZHMgdGhpcyBhcnJheSB3aXRoIGRhdGEgZnJvbSB0aGUgdW5pY29kZSBzdHJpbmcgdXN0ci5cblwKLVRoZSBhcnJheSBtdXN0IGJlIGEgdW5pY29kZSB0eXBlIGFycmF5OyBvdGhlcndpc2UgYSBWYWx1ZUVycm9yXG5cCi1pcyByYWlzZWQuICBVc2UgYXJyYXkuZnJvbWJ5dGVzKHVzdHIuZW5jb2RlKC4uLikpIHRvXG5cCi1hcHBlbmQgVW5pY29kZSBkYXRhIHRvIGFuIGFycmF5IG9mIHNvbWUgb3RoZXIgdHlwZS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2FycmF5LmFycmF5LnRvdW5pY29kZQogCitFeHRlbmRzIHRoaXMgYXJyYXkgd2l0aCBkYXRhIGZyb20gdGhlIHVuaWNvZGUgc3RyaW5nIHVzdHIuCisKK0NvbnZlcnQgdGhlIGFycmF5IHRvIGEgdW5pY29kZSBzdHJpbmcuICBUaGUgYXJyYXkgbXVzdCBiZSBhIHVuaWNvZGUgdHlwZSBhcnJheTsKK290aGVyd2lzZSBhIFZhbHVlRXJyb3IgaXMgcmFpc2VkLiAgVXNlIGFycmF5LnRvYnl0ZXMoKS5kZWNvZGUoKSB0byBvYnRhaW4gYQordW5pY29kZSBzdHJpbmcgZnJvbSBhbiBhcnJheSBvZiBzb21lIG90aGVyIHR5cGUuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1hcnJheV90b3VuaWNvZGUoYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp1bnVzZWQpCithcnJheV9hcnJheV90b3VuaWNvZGVfaW1wbChhcnJheW9iamVjdCAqc2VsZikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0wOGU0NDIzNzgzMzZlMWVmIGlucHV0PTEyNzI0MmVlYmU3MGI2NmRdKi8KIHsKICAgICBjaGFyIHR5cGVjb2RlOwogICAgIHR5cGVjb2RlID0gc2VsZi0+b2JfZGVzY3ItPnR5cGVjb2RlOwpAQCAtMTU5Niw3MCArMTczNywyNCBAQAogICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbVVuaWNvZGUoKFB5X1VOSUNPREUgKikgc2VsZi0+b2JfaXRlbSwgUHlfU0laRShzZWxmKSk7CiB9CiAKLVB5RG9jX1NUUlZBUih0b3VuaWNvZGVfZG9jLAotInRvdW5pY29kZSgpIC0+IHVuaWNvZGVcblwKLVxuXAotQ29udmVydCB0aGUgYXJyYXkgdG8gYSB1bmljb2RlIHN0cmluZy4gIFRoZSBhcnJheSBtdXN0IGJlXG5cCi1hIHVuaWNvZGUgdHlwZSBhcnJheTsgb3RoZXJ3aXNlIGEgVmFsdWVFcnJvciBpcyByYWlzZWQuICBVc2VcblwKLWFycmF5LnRvYnl0ZXMoKS5kZWNvZGUoKSB0byBvYnRhaW4gYSB1bmljb2RlIHN0cmluZyBmcm9tXG5cCi1hbiBhcnJheSBvZiBzb21lIG90aGVyIHR5cGUuIik7CisvKltjbGluaWMgaW5wdXRdCithcnJheS5hcnJheS5fX3NpemVvZl9fCiAKK1NpemUgb2YgdGhlIGFycmF5IGluIG1lbW9yeSwgaW4gYnl0ZXMuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1hcnJheV9zaXplb2YoYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp1bnVzZWQpCithcnJheV9hcnJheV9fX3NpemVvZl9fX2ltcGwoYXJyYXlvYmplY3QgKnNlbGYpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZDhlMWM2MWViYmUzZWFlZCBpbnB1dD04MDU1ODY1NjViZjJiM2M2XSovCiB7CiAgICAgUHlfc3NpemVfdCByZXM7CiAgICAgcmVzID0gc2l6ZW9mKGFycmF5b2JqZWN0KSArIHNlbGYtPmFsbG9jYXRlZCAqIHNlbGYtPm9iX2Rlc2NyLT5pdGVtc2l6ZTsKICAgICByZXR1cm4gUHlMb25nX0Zyb21Tc2l6ZV90KHJlcyk7CiB9CiAKLVB5RG9jX1NUUlZBUihzaXplb2ZfZG9jLAotIl9fc2l6ZW9mX18oKSAtPiBpbnRcblwKLVxuXAotU2l6ZSBvZiB0aGUgYXJyYXkgaW4gbWVtb3J5LCBpbiBieXRlcy4iKTsKLQogCiAvKioqKioqKioqKioqKioqKioqKioqKiogUGlja2xpbmcgc3VwcG9ydCAqKioqKioqKioqKioqKioqKioqKioqKiovCiAKLWVudW0gbWFjaGluZV9mb3JtYXRfY29kZSB7Ci0gICAgVU5LTk9XTl9GT1JNQVQgPSAtMSwKLSAgICAvKiBVTktOT1dOX0ZPUk1BVCBpcyB1c2VkIHRvIGluZGljYXRlIHRoYXQgdGhlIG1hY2hpbmUgZm9ybWF0IGZvciBhbgotICAgICAqIGFycmF5IHR5cGUgY29kZSBjYW5ub3QgYmUgaW50ZXJwcmV0ZWQuIFdoZW4gdGhpcyBvY2N1cnMsIGEgbGlzdCBvZgotICAgICAqIFB5dGhvbiBvYmplY3RzIGlzIHVzZWQgdG8gcmVwcmVzZW50IHRoZSBjb250ZW50IG9mIHRoZSBhcnJheQotICAgICAqIGluc3RlYWQgb2YgdXNpbmcgdGhlIG1lbW9yeSBjb250ZW50IG9mIHRoZSBhcnJheSBkaXJlY3RseS4gSW4gdGhhdAotICAgICAqIGNhc2UsIHRoZSBhcnJheV9yZWNvbnN0cnVjdG9yIG1lY2hhbmlzbSBpcyBieXBhc3NlZCBjb21wbGV0ZWx5LCBhbmQKLSAgICAgKiB0aGUgc3RhbmRhcmQgYXJyYXkgY29uc3RydWN0b3IgaXMgdXNlZCBpbnN0ZWFkLgotICAgICAqCi0gICAgICogVGhpcyBpcyB3aWxsIG1vc3QgbGlrZWx5IG9jY3VyIHdoZW4gdGhlIG1hY2hpbmUgZG9lc24ndCB1c2UgSUVFRQotICAgICAqIGZsb2F0aW5nLXBvaW50IG51bWJlcnMuCi0gICAgICovCi0KLSAgICBVTlNJR05FRF9JTlQ4ID0gMCwKLSAgICBTSUdORURfSU5UOCA9IDEsCi0gICAgVU5TSUdORURfSU5UMTZfTEUgPSAyLAotICAgIFVOU0lHTkVEX0lOVDE2X0JFID0gMywKLSAgICBTSUdORURfSU5UMTZfTEUgPSA0LAotICAgIFNJR05FRF9JTlQxNl9CRSA9IDUsCi0gICAgVU5TSUdORURfSU5UMzJfTEUgPSA2LAotICAgIFVOU0lHTkVEX0lOVDMyX0JFID0gNywKLSAgICBTSUdORURfSU5UMzJfTEUgPSA4LAotICAgIFNJR05FRF9JTlQzMl9CRSA9IDksCi0gICAgVU5TSUdORURfSU5UNjRfTEUgPSAxMCwKLSAgICBVTlNJR05FRF9JTlQ2NF9CRSA9IDExLAotICAgIFNJR05FRF9JTlQ2NF9MRSA9IDEyLAotICAgIFNJR05FRF9JTlQ2NF9CRSA9IDEzLAotICAgIElFRUVfNzU0X0ZMT0FUX0xFID0gMTQsCi0gICAgSUVFRV83NTRfRkxPQVRfQkUgPSAxNSwKLSAgICBJRUVFXzc1NF9ET1VCTEVfTEUgPSAxNiwKLSAgICBJRUVFXzc1NF9ET1VCTEVfQkUgPSAxNywKLSAgICBVVEYxNl9MRSA9IDE4LAotICAgIFVURjE2X0JFID0gMTksCi0gICAgVVRGMzJfTEUgPSAyMCwKLSAgICBVVEYzMl9CRSA9IDIxCi19OwotI2RlZmluZSBNQUNISU5FX0ZPUk1BVF9DT0RFX01JTiAwCi0jZGVmaW5lIE1BQ0hJTkVfRk9STUFUX0NPREVfTUFYIDIxCi0KIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbWZvcm1hdGRlc2NyIHsKICAgICBzaXplX3Qgc2l6ZTsKICAgICBpbnQgaXNfc2lnbmVkOwpAQCAtMTgzNSwyMSArMTkzMCwyNiBAQAogICogVGhpcyBmdW5jdGlvbnMgaXMgYSBzcGVjaWFsIGNvbnN0cnVjdG9yIHVzZWQgd2hlbiB1bnBpY2tsaW5nIGFuIGFycmF5LiBJdAogICogcHJvdmlkZXMgYSBwb3J0YWJsZSB3YXkgdG8gcmVidWlsZCBhbiBhcnJheSBmcm9tIGl0cyBtZW1vcnkgcmVwcmVzZW50YXRpb24uCiAgKi8KKy8qW2NsaW5pYyBpbnB1dF0KK2FycmF5Ll9hcnJheV9yZWNvbnN0cnVjdG9yCisKKyAgICBhcnJheXR5cGU6IG9iamVjdCh0eXBlPSJQeVR5cGVPYmplY3QgKiIpCisgICAgdHlwZWNvZGU6IGludCh0eXBlcz0nc3RyJykKKyAgICBtZm9ybWF0X2NvZGU6IGludCh0eXBlPSJlbnVtIG1hY2hpbmVfZm9ybWF0X2NvZGUiKQorICAgIGl0ZW1zOiBvYmplY3QKKyAgICAvCisKK0ludGVybmFsLiBVc2VkIGZvciBwaWNrbGluZyBzdXBwb3J0LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCiBzdGF0aWMgUHlPYmplY3QgKgotYXJyYXlfcmVjb25zdHJ1Y3RvcihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCithcnJheV9fYXJyYXlfcmVjb25zdHJ1Y3Rvcl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5VHlwZU9iamVjdCAqYXJyYXl0eXBlLCBpbnQgdHlwZWNvZGUsIGVudW0gbWFjaGluZV9mb3JtYXRfY29kZSBtZm9ybWF0X2NvZGUsIFB5T2JqZWN0ICppdGVtcykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1jNTEwODFlYzkxY2FmN2U5IGlucHV0PWY3MjQ5MjcwOGMwYTFkNTBdKi8KIHsKLSAgICBQeVR5cGVPYmplY3QgKmFycmF5dHlwZTsKLSAgICBQeU9iamVjdCAqaXRlbXM7CiAgICAgUHlPYmplY3QgKmNvbnZlcnRlZF9pdGVtczsKICAgICBQeU9iamVjdCAqcmVzdWx0OwotICAgIGludCB0eXBlY29kZTsKLSAgICBlbnVtIG1hY2hpbmVfZm9ybWF0X2NvZGUgbWZvcm1hdF9jb2RlOwogICAgIHN0cnVjdCBhcnJheWRlc2NyICpkZXNjcjsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiT0NpTzphcnJheS5fYXJyYXlfcmVjb25zdHJ1Y3RvciIsCi0gICAgICAgICAgICAgICAgICAgICZhcnJheXR5cGUsICZ0eXBlY29kZSwgJm1mb3JtYXRfY29kZSwgJml0ZW1zKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KICAgICBpZiAoIVB5VHlwZV9DaGVjayhhcnJheXR5cGUpKSB7CiAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCiAgICAgICAgICAgICAiZmlyc3QgYXJndW1lbnQgbXVzdCBhIHR5cGUgb2JqZWN0LCBub3QgJS4yMDBzIiwKQEAgLTIwMDAsNyArMjEwMCw3IEBACiAgICAgICAgICAqLwogICAgICAgICBmb3IgKGRlc2NyID0gZGVzY3JpcHRvcnM7IGRlc2NyLT50eXBlY29kZSAhPSAnXDAnOyBkZXNjcisrKSB7CiAgICAgICAgICAgICBpZiAoZGVzY3ItPmlzX2ludGVnZXJfdHlwZSAmJgotICAgICAgICAgICAgICAgIGRlc2NyLT5pdGVtc2l6ZSA9PSBtZl9kZXNjci5zaXplICYmCisgICAgICAgICAgICAgICAgKHNpemVfdClkZXNjci0+aXRlbXNpemUgPT0gbWZfZGVzY3Iuc2l6ZSAmJgogICAgICAgICAgICAgICAgIGRlc2NyLT5pc19zaWduZWQgPT0gbWZfZGVzY3IuaXNfc2lnbmVkKQogICAgICAgICAgICAgICAgIHR5cGVjb2RlID0gZGVzY3ItPnR5cGVjb2RlOwogICAgICAgICB9CkBAIC0yMDM4LDEzICsyMTM4LDIzIEBACiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAorLypbY2xpbmljIGlucHV0XQorYXJyYXkuYXJyYXkuX19yZWR1Y2VfZXhfXworCisgICAgdmFsdWU6IG9iamVjdAorICAgIC8KKworUmV0dXJuIHN0YXRlIGluZm9ybWF0aW9uIGZvciBwaWNrbGluZy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKwogc3RhdGljIFB5T2JqZWN0ICoKLWFycmF5X3JlZHVjZV9leChhcnJheW9iamVjdCAqYXJyYXksIFB5T2JqZWN0ICp2YWx1ZSkKK2FycmF5X2FycmF5X19fcmVkdWNlX2V4X18oYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp2YWx1ZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0wNTFlMGE2MTc1ZDBlZGRiIGlucHV0PWMzNmMzZjg1ZGU3ZGY2Y2RdKi8KIHsKICAgICBQeU9iamVjdCAqZGljdDsKICAgICBQeU9iamVjdCAqcmVzdWx0OwogICAgIFB5T2JqZWN0ICphcnJheV9zdHI7Ci0gICAgaW50IHR5cGVjb2RlID0gYXJyYXktPm9iX2Rlc2NyLT50eXBlY29kZTsKKyAgICBpbnQgdHlwZWNvZGUgPSBzZWxmLT5vYl9kZXNjci0+dHlwZWNvZGU7CiAgICAgaW50IG1mb3JtYXRfY29kZTsKICAgICBzdGF0aWMgUHlPYmplY3QgKmFycmF5X3JlY29uc3RydWN0b3IgPSBOVUxMOwogICAgIGxvbmcgcHJvdG9jb2w7CkBAIC0yMDcyLDcgKzIxODIsNyBAQAogICAgIGlmIChwcm90b2NvbCA9PSAtMSAmJiBQeUVycl9PY2N1cnJlZCgpKQogICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIGRpY3QgPSBfUHlPYmplY3RfR2V0QXR0cklkKChQeU9iamVjdCAqKWFycmF5LCAmUHlJZF9fX2RpY3RfXyk7CisgICAgZGljdCA9IF9QeU9iamVjdF9HZXRBdHRySWQoKFB5T2JqZWN0ICopc2VsZiwgJlB5SWRfX19kaWN0X18pOwogICAgIGlmIChkaWN0ID09IE5VTEwpIHsKICAgICAgICAgaWYgKCFQeUVycl9FeGNlcHRpb25NYXRjaGVzKFB5RXhjX0F0dHJpYnV0ZUVycm9yKSkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtMjA5NSwzMiArMjIwNSwzMCBAQAogICAgICAgICAgKiBjb2VyY2luZyB1bmljb2RlIG9iamVjdHMgdG8gYnl0ZXMgaW4gYXJyYXlfcmVjb25zdHJ1Y3Rvci4KICAgICAgICAgICovCiAgICAgICAgIFB5T2JqZWN0ICpsaXN0OwotICAgICAgICBsaXN0ID0gYXJyYXlfdG9saXN0KGFycmF5LCBOVUxMKTsKKyAgICAgICAgbGlzdCA9IGFycmF5X2FycmF5X3RvbGlzdF9pbXBsKHNlbGYpOwogICAgICAgICBpZiAobGlzdCA9PSBOVUxMKSB7CiAgICAgICAgICAgICBQeV9ERUNSRUYoZGljdCk7CiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgfQogICAgICAgICByZXN1bHQgPSBQeV9CdWlsZFZhbHVlKAotICAgICAgICAgICAgIk8oQ08pTyIsIFB5X1RZUEUoYXJyYXkpLCB0eXBlY29kZSwgbGlzdCwgZGljdCk7CisgICAgICAgICAgICAiTyhDTylPIiwgUHlfVFlQRShzZWxmKSwgdHlwZWNvZGUsIGxpc3QsIGRpY3QpOwogICAgICAgICBQeV9ERUNSRUYobGlzdCk7CiAgICAgICAgIFB5X0RFQ1JFRihkaWN0KTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CiAKLSAgICBhcnJheV9zdHIgPSBhcnJheV90b2J5dGVzKGFycmF5LCBOVUxMKTsKKyAgICBhcnJheV9zdHIgPSBhcnJheV9hcnJheV90b2J5dGVzX2ltcGwoc2VsZik7CiAgICAgaWYgKGFycmF5X3N0ciA9PSBOVUxMKSB7CiAgICAgICAgIFB5X0RFQ1JFRihkaWN0KTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogICAgIHJlc3VsdCA9IFB5X0J1aWxkVmFsdWUoCi0gICAgICAgICJPKE9DaU4pTyIsIGFycmF5X3JlY29uc3RydWN0b3IsIFB5X1RZUEUoYXJyYXkpLCB0eXBlY29kZSwKKyAgICAgICAgIk8oT0NpTilPIiwgYXJyYXlfcmVjb25zdHJ1Y3RvciwgUHlfVFlQRShzZWxmKSwgdHlwZWNvZGUsCiAgICAgICAgIG1mb3JtYXRfY29kZSwgYXJyYXlfc3RyLCBkaWN0KTsKICAgICBQeV9ERUNSRUYoZGljdCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotUHlEb2NfU1RSVkFSKHJlZHVjZV9kb2MsICJSZXR1cm4gc3RhdGUgaW5mb3JtYXRpb24gZm9yIHBpY2tsaW5nLiIpOwotCiBzdGF0aWMgUHlPYmplY3QgKgogYXJyYXlfZ2V0X3R5cGVjb2RlKGFycmF5b2JqZWN0ICphLCB2b2lkICpjbG9zdXJlKQogewpAQCAtMjE0Myw1NSArMjI1MSwzMSBAQAogfTsKIAogc3RhdGljIFB5TWV0aG9kRGVmIGFycmF5X21ldGhvZHNbXSA9IHsKLSAgICB7ImFwcGVuZCIsICAgICAgICAgIChQeUNGdW5jdGlvbilhcnJheV9hcHBlbmQsICAgICAgTUVUSF9PLAotICAgICBhcHBlbmRfZG9jfSwKLSAgICB7ImJ1ZmZlcl9pbmZvIiwgICAgIChQeUNGdW5jdGlvbilhcnJheV9idWZmZXJfaW5mbywgTUVUSF9OT0FSR1MsCi0gICAgIGJ1ZmZlcl9pbmZvX2RvY30sCi0gICAgeyJieXRlc3dhcCIsICAgICAgICAoUHlDRnVuY3Rpb24pYXJyYXlfYnl0ZXN3YXAsICAgIE1FVEhfTk9BUkdTLAotICAgICBieXRlc3dhcF9kb2N9LAotICAgIHsiX19jb3B5X18iLCAgICAgICAgKFB5Q0Z1bmN0aW9uKWFycmF5X2NvcHksICAgICAgICBNRVRIX05PQVJHUywKLSAgICAgY29weV9kb2N9LAotICAgIHsiY291bnQiLCAgICAgICAgICAgKFB5Q0Z1bmN0aW9uKWFycmF5X2NvdW50LCAgICAgICBNRVRIX08sCi0gICAgIGNvdW50X2RvY30sCi0gICAgeyJfX2RlZXBjb3B5X18iLCAgICAoUHlDRnVuY3Rpb24pYXJyYXlfY29weSwgICAgICAgIE1FVEhfTywKLSAgICAgY29weV9kb2N9LAotICAgIHsiZXh0ZW5kIiwgICAgICAgICAgKFB5Q0Z1bmN0aW9uKWFycmF5X2V4dGVuZCwgICAgICBNRVRIX08sCi0gICAgIGV4dGVuZF9kb2N9LAotICAgIHsiZnJvbWZpbGUiLCAgICAgICAgKFB5Q0Z1bmN0aW9uKWFycmF5X2Zyb21maWxlLCAgICBNRVRIX1ZBUkFSR1MsCi0gICAgIGZyb21maWxlX2RvY30sCi0gICAgeyJmcm9tbGlzdCIsICAgICAgICAoUHlDRnVuY3Rpb24pYXJyYXlfZnJvbWxpc3QsICAgIE1FVEhfTywKLSAgICAgZnJvbWxpc3RfZG9jfSwKLSAgICB7ImZyb21zdHJpbmciLCAgICAgIChQeUNGdW5jdGlvbilhcnJheV9mcm9tc3RyaW5nLCAgTUVUSF9WQVJBUkdTLAotICAgICBmcm9tc3RyaW5nX2RvY30sCi0gICAgeyJmcm9tYnl0ZXMiLCAgICAgICAoUHlDRnVuY3Rpb24pYXJyYXlfZnJvbWJ5dGVzLCAgIE1FVEhfVkFSQVJHUywKLSAgICAgZnJvbWJ5dGVzX2RvY30sCi0gICAgeyJmcm9tdW5pY29kZSIsICAgICAoUHlDRnVuY3Rpb24pYXJyYXlfZnJvbXVuaWNvZGUsIE1FVEhfVkFSQVJHUywKLSAgICAgZnJvbXVuaWNvZGVfZG9jfSwKLSAgICB7ImluZGV4IiwgICAgICAgICAgIChQeUNGdW5jdGlvbilhcnJheV9pbmRleCwgICAgICAgTUVUSF9PLAotICAgICBpbmRleF9kb2N9LAotICAgIHsiaW5zZXJ0IiwgICAgICAgICAgKFB5Q0Z1bmN0aW9uKWFycmF5X2luc2VydCwgICAgICBNRVRIX1ZBUkFSR1MsCi0gICAgIGluc2VydF9kb2N9LAotICAgIHsicG9wIiwgICAgICAgICAgICAgKFB5Q0Z1bmN0aW9uKWFycmF5X3BvcCwgICAgICAgICBNRVRIX1ZBUkFSR1MsCi0gICAgIHBvcF9kb2N9LAotICAgIHsiX19yZWR1Y2VfZXhfXyIsICAgKFB5Q0Z1bmN0aW9uKWFycmF5X3JlZHVjZV9leCwgICBNRVRIX08sCi0gICAgIHJlZHVjZV9kb2N9LAotICAgIHsicmVtb3ZlIiwgICAgICAgICAgKFB5Q0Z1bmN0aW9uKWFycmF5X3JlbW92ZSwgICAgICBNRVRIX08sCi0gICAgIHJlbW92ZV9kb2N9LAotICAgIHsicmV2ZXJzZSIsICAgICAgICAgKFB5Q0Z1bmN0aW9uKWFycmF5X3JldmVyc2UsICAgICBNRVRIX05PQVJHUywKLSAgICAgcmV2ZXJzZV9kb2N9LAotICAgIHsidG9maWxlIiwgICAgICAgICAgKFB5Q0Z1bmN0aW9uKWFycmF5X3RvZmlsZSwgICAgICBNRVRIX08sCi0gICAgIHRvZmlsZV9kb2N9LAotICAgIHsidG9saXN0IiwgICAgICAgICAgKFB5Q0Z1bmN0aW9uKWFycmF5X3RvbGlzdCwgICAgICBNRVRIX05PQVJHUywKLSAgICAgdG9saXN0X2RvY30sCi0gICAgeyJ0b3N0cmluZyIsICAgICAgICAoUHlDRnVuY3Rpb24pYXJyYXlfdG9zdHJpbmcsICAgIE1FVEhfTk9BUkdTLAotICAgICB0b3N0cmluZ19kb2N9LAotICAgIHsidG9ieXRlcyIsICAgICAgICAgKFB5Q0Z1bmN0aW9uKWFycmF5X3RvYnl0ZXMsICAgICBNRVRIX05PQVJHUywKLSAgICAgdG9ieXRlc19kb2N9LAotICAgIHsidG91bmljb2RlIiwgICAgICAgKFB5Q0Z1bmN0aW9uKWFycmF5X3RvdW5pY29kZSwgICBNRVRIX05PQVJHUywKLSAgICAgdG91bmljb2RlX2RvY30sCi0gICAgeyJfX3NpemVvZl9fIiwgICAgICAoUHlDRnVuY3Rpb24pYXJyYXlfc2l6ZW9mLCAgICAgIE1FVEhfTk9BUkdTLAotICAgICBzaXplb2ZfZG9jfSwKLSAgICB7TlVMTCwgICAgICAgICAgICAgIE5VTEx9ICAgICAgICAgICAvKiBzZW50aW5lbCAqLworICAgIEFSUkFZX0FSUkFZX0FQUEVORF9NRVRIT0RERUYKKyAgICBBUlJBWV9BUlJBWV9CVUZGRVJfSU5GT19NRVRIT0RERUYKKyAgICBBUlJBWV9BUlJBWV9CWVRFU1dBUF9NRVRIT0RERUYKKyAgICBBUlJBWV9BUlJBWV9fX0NPUFlfX19NRVRIT0RERUYKKyAgICBBUlJBWV9BUlJBWV9DT1VOVF9NRVRIT0RERUYKKyAgICBBUlJBWV9BUlJBWV9fX0RFRVBDT1BZX19fTUVUSE9EREVGCisgICAgQVJSQVlfQVJSQVlfRVhURU5EX01FVEhPRERFRgorICAgIEFSUkFZX0FSUkFZX0ZST01GSUxFX01FVEhPRERFRgorICAgIEFSUkFZX0FSUkFZX0ZST01MSVNUX01FVEhPRERFRgorICAgIEFSUkFZX0FSUkFZX0ZST01TVFJJTkdfTUVUSE9EREVGCisgICAgQVJSQVlfQVJSQVlfRlJPTUJZVEVTX01FVEhPRERFRgorICAgIEFSUkFZX0FSUkFZX0ZST01VTklDT0RFX01FVEhPRERFRgorICAgIEFSUkFZX0FSUkFZX0lOREVYX01FVEhPRERFRgorICAgIEFSUkFZX0FSUkFZX0lOU0VSVF9NRVRIT0RERUYKKyAgICBBUlJBWV9BUlJBWV9QT1BfTUVUSE9EREVGCisgICAgQVJSQVlfQVJSQVlfX19SRURVQ0VfRVhfX19NRVRIT0RERUYKKyAgICBBUlJBWV9BUlJBWV9SRU1PVkVfTUVUSE9EREVGCisgICAgQVJSQVlfQVJSQVlfUkVWRVJTRV9NRVRIT0RERUYKKyAgICBBUlJBWV9BUlJBWV9UT0ZJTEVfTUVUSE9EREVGCisgICAgQVJSQVlfQVJSQVlfVE9MSVNUX01FVEhPRERFRgorICAgIEFSUkFZX0FSUkFZX1RPU1RSSU5HX01FVEhPRERFRgorICAgIEFSUkFZX0FSUkFZX1RPQllURVNfTUVUSE9EREVGCisgICAgQVJSQVlfQVJSQVlfVE9VTklDT0RFX01FVEhPRERFRgorICAgIEFSUkFZX0FSUkFZX19fU0laRU9GX19fTUVUSE9EREVGCisgICAge05VTEwsIE5VTEx9ICAvKiBzZW50aW5lbCAqLwogfTsKIAogc3RhdGljIFB5T2JqZWN0ICoKQEAgLTIyMDcsOSArMjI5MSw5IEBACiAgICAgICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbUZvcm1hdCgiYXJyYXkoJyVjJykiLCAoaW50KXR5cGVjb2RlKTsKICAgICB9CiAgICAgaWYgKHR5cGVjb2RlID09ICd1JykgewotICAgICAgICB2ID0gYXJyYXlfdG91bmljb2RlKGEsIE5VTEwpOworICAgICAgICB2ID0gYXJyYXlfYXJyYXlfdG91bmljb2RlX2ltcGwoYSk7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgdiA9IGFycmF5X3RvbGlzdChhLCBOVUxMKTsKKyAgICAgICAgdiA9IGFycmF5X2FycmF5X3RvbGlzdF9pbXBsKGEpOwogICAgIH0KICAgICBpZiAodiA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTI0NDYsNyArMjUzMCwxMSBAQAogc3RhdGljIGludAogYXJyYXlfYnVmZmVyX2dldGJ1ZihhcnJheW9iamVjdCAqc2VsZiwgUHlfYnVmZmVyICp2aWV3LCBpbnQgZmxhZ3MpCiB7Ci0gICAgaWYgKHZpZXc9PU5VTEwpIGdvdG8gZmluaXNoOworICAgIGlmICh2aWV3ID09IE5VTEwpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0J1ZmZlckVycm9yLAorICAgICAgICAgICAgImFycmF5X2J1ZmZlcl9nZXRidWY6IHZpZXc9PU5VTEwgYXJndW1lbnQgaXMgb2Jzb2xldGUiKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KIAogICAgIHZpZXctPmJ1ZiA9ICh2b2lkICopc2VsZi0+b2JfaXRlbTsKICAgICB2aWV3LT5vYmogPSAoUHlPYmplY3QqKXNlbGY7CkBAIC0yNDc2LDcgKzI1NjQsNiBAQAogI2VuZGlmCiAgICAgfQogCi0gZmluaXNoOgogICAgIHNlbGYtPm9iX2V4cG9ydHMrKzsKICAgICByZXR1cm4gMDsKIH0KQEAgLTI1OTIsOCArMjY3OSw4IEBACiAgICAgICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihhKTsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHYgPSBhcnJheV9mcm9tYnl0ZXMoKGFycmF5b2JqZWN0ICopYSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdF9pbml0aWFsKTsKKyAgICAgICAgICAgICAgICB2ID0gYXJyYXlfYXJyYXlfZnJvbWJ5dGVzKChhcnJheW9iamVjdCAqKWEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0X2luaXRpYWwpOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih0X2luaXRpYWwpOwogICAgICAgICAgICAgICAgIGlmICh2ID09IE5VTEwpIHsKICAgICAgICAgICAgICAgICAgICAgUHlfREVDUkVGKGEpOwpAQCAtMjc2NiwxNiArMjg1MywxMCBAQAogCiAvKioqKioqKioqKioqKioqKioqKioqKiogQXJyYXkgSXRlcmF0b3IgKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKLXR5cGVkZWYgc3RydWN0IHsKLSAgICBQeU9iamVjdF9IRUFECi0gICAgUHlfc3NpemVfdCAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg7Ci0gICAgYXJyYXlvYmplY3QgICAgICAgICAgICAgICAgICphbzsKLSAgICBQeU9iamVjdCAgICAgICAgICAgICAgICAgICAgKiAoKmdldGl0ZW0pKHN0cnVjdCBhcnJheW9iamVjdCAqLCBQeV9zc2l6ZV90KTsKLX0gYXJyYXlpdGVyb2JqZWN0OwotCi1zdGF0aWMgUHlUeXBlT2JqZWN0IFB5QXJyYXlJdGVyX1R5cGU7Ci0KLSNkZWZpbmUgUHlBcnJheUl0ZXJfQ2hlY2sob3ApIFB5T2JqZWN0X1R5cGVDaGVjayhvcCwgJlB5QXJyYXlJdGVyX1R5cGUpCisvKltjbGluaWMgaW5wdXRdCitjbGFzcyBhcnJheS5hcnJheWl0ZXJhdG9yICJhcnJheWl0ZXJvYmplY3QgKiIgIiZQeUFycmF5SXRlcl9UeXBlIgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWRhMzlhM2VlNWU2YjRiMGQgaW5wdXQ9NWFlZmQyZDc0ZDhjOGUzMF0qLwogCiBzdGF0aWMgUHlPYmplY3QgKgogYXJyYXlfaXRlcihhcnJheW9iamVjdCAqYW8pCkBAIC0yODIzLDMzICsyOTA0LDQ3IEBACiAgICAgcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBQeU9iamVjdCAqCi1hcnJheWl0ZXJfcmVkdWNlKGFycmF5aXRlcm9iamVjdCAqaXQpCi17Ci0gICAgcmV0dXJuIFB5X0J1aWxkVmFsdWUoIk4oTyluIiwgX1B5T2JqZWN0X0dldEJ1aWx0aW4oIml0ZXIiKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBpdC0+YW8sIGl0LT5pbmRleCk7Ci19CisvKltjbGluaWMgaW5wdXRdCithcnJheS5hcnJheWl0ZXJhdG9yLl9fcmVkdWNlX18KKworUmV0dXJuIHN0YXRlIGluZm9ybWF0aW9uIGZvciBwaWNrbGluZy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLWFycmF5aXRlcl9zZXRzdGF0ZShhcnJheWl0ZXJvYmplY3QgKml0LCBQeU9iamVjdCAqc3RhdGUpCithcnJheV9hcnJheWl0ZXJhdG9yX19fcmVkdWNlX19faW1wbChhcnJheWl0ZXJvYmplY3QgKnNlbGYpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9Nzg5OGE1MmU4ZTY2ZTAxNiBpbnB1dD1hMDYyZWExZTk5NTE0MTdhXSovCit7CisgICAgcmV0dXJuIFB5X0J1aWxkVmFsdWUoIk4oTyluIiwgX1B5T2JqZWN0X0dldEJ1aWx0aW4oIml0ZXIiKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLT5hbywgc2VsZi0+aW5kZXgpOworfQorCisvKltjbGluaWMgaW5wdXRdCithcnJheS5hcnJheWl0ZXJhdG9yLl9fc2V0c3RhdGVfXworCisgICAgc3RhdGU6IG9iamVjdAorICAgIC8KKworU2V0IHN0YXRlIGluZm9ybWF0aW9uIGZvciB1bnBpY2tsaW5nLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitzdGF0aWMgUHlPYmplY3QgKgorYXJyYXlfYXJyYXlpdGVyYXRvcl9fX3NldHN0YXRlX18oYXJyYXlpdGVyb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqc3RhdGUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9Mzk3ZGE5OTA0ZTQ0M2NiZSBpbnB1dD1mNDdkNWNlZGExOWU3ODdiXSovCiB7CiAgICAgUHlfc3NpemVfdCBpbmRleCA9IFB5TG9uZ19Bc1NzaXplX3Qoc3RhdGUpOwogICAgIGlmIChpbmRleCA9PSAtMSAmJiBQeUVycl9PY2N1cnJlZCgpKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICBpZiAoaW5kZXggPCAwKQogICAgICAgICBpbmRleCA9IDA7Ci0gICAgZWxzZSBpZiAoaW5kZXggPiBQeV9TSVpFKGl0LT5hbykpCi0gICAgICAgIGluZGV4ID0gUHlfU0laRShpdC0+YW8pOyAvKiBpdGVyYXRvciBleGhhdXN0ZWQgKi8KLSAgICBpdC0+aW5kZXggPSBpbmRleDsKKyAgICBlbHNlIGlmIChpbmRleCA+IFB5X1NJWkUoc2VsZi0+YW8pKQorICAgICAgICBpbmRleCA9IFB5X1NJWkUoc2VsZi0+YW8pOyAvKiBpdGVyYXRvciBleGhhdXN0ZWQgKi8KKyAgICBzZWxmLT5pbmRleCA9IGluZGV4OwogICAgIFB5X1JFVFVSTl9OT05FOwogfQogCi1QeURvY19TVFJWQVIoc2V0c3RhdGVfZG9jLCAiU2V0IHN0YXRlIGluZm9ybWF0aW9uIGZvciB1bnBpY2tsaW5nLiIpOwogc3RhdGljIFB5TWV0aG9kRGVmIGFycmF5aXRlcl9tZXRob2RzW10gPSB7Ci0gICAgeyJfX3JlZHVjZV9fIiwgICAgICAoUHlDRnVuY3Rpb24pYXJyYXlpdGVyX3JlZHVjZSwgTUVUSF9OT0FSR1MsCi0gICAgIHJlZHVjZV9kb2N9LAotICAgIHsiX19zZXRzdGF0ZV9fIiwgICAgKFB5Q0Z1bmN0aW9uKWFycmF5aXRlcl9zZXRzdGF0ZSwgTUVUSF9PLAotICAgICBzZXRzdGF0ZV9kb2N9LAorICAgIEFSUkFZX0FSUkFZSVRFUkFUT1JfX19SRURVQ0VfX19NRVRIT0RERUYKKyAgICBBUlJBWV9BUlJBWUlURVJBVE9SX19fU0VUU1RBVEVfX19NRVRIT0RERUYKICAgICB7TlVMTCwgTlVMTH0gLyogc2VudGluZWwgKi8KIH07CiAKQEAgLTI4OTAsOCArMjk4NSw3IEBACiAKIC8qIE5vIGZ1bmN0aW9ucyBpbiBhcnJheSBtb2R1bGUuICovCiBzdGF0aWMgUHlNZXRob2REZWYgYV9tZXRob2RzW10gPSB7Ci0gICAgeyJfYXJyYXlfcmVjb25zdHJ1Y3RvciIsIGFycmF5X3JlY29uc3RydWN0b3IsIE1FVEhfVkFSQVJHUywKLSAgICAgUHlEb2NfU1RSKCJJbnRlcm5hbC4gVXNlZCBmb3IgcGlja2xpbmcgc3VwcG9ydC4iKX0sCisgICAgQVJSQVlfX0FSUkFZX1JFQ09OU1RSVUNUT1JfTUVUSE9EREVGCiAgICAge05VTEwsIE5VTEwsIDAsIE5VTEx9ICAgICAgICAvKiBTZW50aW5lbCAqLwogfTsKIApkaWZmIC0tZ2l0IGEvTW9kdWxlcy9hdGV4aXRtb2R1bGUuYyBiL01vZHVsZXMvYXRleGl0bW9kdWxlLmMKaW5kZXggOTg4NzAxNC4uNzllOTk2MiAxMDA2NDQKLS0tIGEvTW9kdWxlcy9hdGV4aXRtb2R1bGUuYworKysgYi9Nb2R1bGVzL2F0ZXhpdG1vZHVsZS5jCkBAIC02MCw3ICs2MCw3IEBACiAgICAgbW9kc3RhdGUtPm5jYWxsYmFja3MgPSAwOwogfQogCi0vKiBJbnN0YWxsZWQgaW50byBweXRob25ydW4uYydzIGF0ZXhpdCBtZWNoYW5pc20gKi8KKy8qIEluc3RhbGxlZCBpbnRvIHB5bGlmZWN5Y2xlLmMncyBhdGV4aXQgbWVjaGFuaXNtICovCiAKIHN0YXRpYyB2b2lkCiBhdGV4aXRfY2FsbGZ1bmNzKHZvaWQpCmRpZmYgLS1naXQgYS9Nb2R1bGVzL2Nqa2NvZGVjcy9jamtjb2RlY3MuaCBiL01vZHVsZXMvY2prY29kZWNzL2Nqa2NvZGVjcy5oCmluZGV4IGQxNWNjZmIuLmE0NWVkMTIgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvY2prY29kZWNzL2Nqa2NvZGVjcy5oCisrKyBiL01vZHVsZXMvY2prY29kZWNzL2Nqa2NvZGVjcy5oCkBAIC0zNjIsNyArMzYyLDcgQEAKICAgICBpZiAobW9kID09IE5VTEwpCiAgICAgICAgIHJldHVybiAtMTsKIAotICAgIG8gPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG1vZCwgKGNoYXIqKXN5bWJvbCk7CisgICAgbyA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcobW9kLCBzeW1ib2wpOwogICAgIGlmIChvID09IE5VTEwpCiAgICAgICAgIGdvdG8gZXJyb3JleGl0OwogICAgIGVsc2UgaWYgKCFQeUNhcHN1bGVfSXNWYWxpZChvLCBQeU11bHRpYnl0ZUNvZGVjX0NBUFNVTEVfTkFNRSkpIHsKZGlmZiAtLWdpdCBhL01vZHVsZXMvY2prY29kZWNzL2NsaW5pYy9tdWx0aWJ5dGVjb2RlYy5jLmggYi9Nb2R1bGVzL2Nqa2NvZGVjcy9jbGluaWMvbXVsdGlieXRlY29kZWMuYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJmOWNiNjMKLS0tIC9kZXYvbnVsbAorKysgYi9Nb2R1bGVzL2Nqa2NvZGVjcy9jbGluaWMvbXVsdGlieXRlY29kZWMuYy5oCkBAIC0wLDAgKzEsMzAxIEBACisvKltjbGluaWMgaW5wdXRdCitwcmVzZXJ2ZQorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZUNvZGVjX2VuY29kZV9fZG9jX18sCisiZW5jb2RlKCRzZWxmLCAvLCBpbnB1dCwgZXJyb3JzPU5vbmUpXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gYW4gZW5jb2RlZCBzdHJpbmcgdmVyc2lvbiBvZiBgaW5wdXRcJy5cbiIKKyJcbiIKKyJcJ2Vycm9yc1wnIG1heSBiZSBnaXZlbiB0byBzZXQgYSBkaWZmZXJlbnQgZXJyb3IgaGFuZGxpbmcgc2NoZW1lLiBEZWZhdWx0IGlzXG4iCisiXCdzdHJpY3RcJyBtZWFuaW5nIHRoYXQgZW5jb2RpbmcgZXJyb3JzIHJhaXNlIGEgVW5pY29kZUVuY29kZUVycm9yLiBPdGhlciBwb3NzaWJsZVxuIgorInZhbHVlcyBhcmUgXCdpZ25vcmVcJywgXCdyZXBsYWNlXCcgYW5kIFwneG1sY2hhcnJlZnJlcGxhY2VcJyBhcyB3ZWxsIGFzIGFueSBvdGhlciBuYW1lXG4iCisicmVnaXN0ZXJlZCB3aXRoIGNvZGVjcy5yZWdpc3Rlcl9lcnJvciB0aGF0IGNhbiBoYW5kbGUgVW5pY29kZUVuY29kZUVycm9ycy4iKTsKKworI2RlZmluZSBfTVVMVElCWVRFQ09ERUNfTVVMVElCWVRFQ09ERUNfRU5DT0RFX01FVEhPRERFRiAgICBcCisgICAgeyJlbmNvZGUiLCAoUHlDRnVuY3Rpb24pX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZUNvZGVjX2VuY29kZSwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIF9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVDb2RlY19lbmNvZGVfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK19tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVDb2RlY19lbmNvZGVfaW1wbChNdWx0aWJ5dGVDb2RlY09iamVjdCAqc2VsZiwgUHlPYmplY3QgKmlucHV0LCBjb25zdCBjaGFyICplcnJvcnMpOworCitzdGF0aWMgUHlPYmplY3QgKgorX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZUNvZGVjX2VuY29kZShNdWx0aWJ5dGVDb2RlY09iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJpbnB1dCIsICJlcnJvcnMiLCBOVUxMfTsKKyAgICBQeU9iamVjdCAqaW5wdXQ7CisgICAgY29uc3QgY2hhciAqZXJyb3JzID0gTlVMTDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgIk98ejplbmNvZGUiLCBfa2V5d29yZHMsCisgICAgICAgICZpbnB1dCwgJmVycm9ycykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlQ29kZWNfZW5jb2RlX2ltcGwoc2VsZiwgaW5wdXQsIGVycm9ycyk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKF9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVDb2RlY19kZWNvZGVfX2RvY19fLAorImRlY29kZSgkc2VsZiwgLywgaW5wdXQsIGVycm9ycz1Ob25lKVxuIgorIi0tXG4iCisiXG4iCisiRGVjb2RlcyBcJ2lucHV0XCcuXG4iCisiXG4iCisiXCdlcnJvcnNcJyBtYXkgYmUgZ2l2ZW4gdG8gc2V0IGEgZGlmZmVyZW50IGVycm9yIGhhbmRsaW5nIHNjaGVtZS4gRGVmYXVsdCBpc1xuIgorIlwnc3RyaWN0XCcgbWVhbmluZyB0aGF0IGVuY29kaW5nIGVycm9ycyByYWlzZSBhIFVuaWNvZGVEZWNvZGVFcnJvci4gT3RoZXIgcG9zc2libGVcbiIKKyJ2YWx1ZXMgYXJlIFwnaWdub3JlXCcgYW5kIFwncmVwbGFjZVwnIGFzIHdlbGwgYXMgYW55IG90aGVyIG5hbWUgcmVnaXN0ZXJlZCB3aXRoXG4iCisiY29kZWNzLnJlZ2lzdGVyX2Vycm9yIHRoYXQgaXMgYWJsZSB0byBoYW5kbGUgVW5pY29kZURlY29kZUVycm9ycy5cIiIpOworCisjZGVmaW5lIF9NVUxUSUJZVEVDT0RFQ19NVUxUSUJZVEVDT0RFQ19ERUNPREVfTUVUSE9EREVGICAgIFwKKyAgICB7ImRlY29kZSIsIChQeUNGdW5jdGlvbilfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlQ29kZWNfZGVjb2RlLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZUNvZGVjX2RlY29kZV9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZUNvZGVjX2RlY29kZV9pbXBsKE11bHRpYnl0ZUNvZGVjT2JqZWN0ICpzZWxmLCBQeV9idWZmZXIgKmlucHV0LCBjb25zdCBjaGFyICplcnJvcnMpOworCitzdGF0aWMgUHlPYmplY3QgKgorX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZUNvZGVjX2RlY29kZShNdWx0aWJ5dGVDb2RlY09iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJpbnB1dCIsICJlcnJvcnMiLCBOVUxMfTsKKyAgICBQeV9idWZmZXIgaW5wdXQgPSB7TlVMTCwgTlVMTH07CisgICAgY29uc3QgY2hhciAqZXJyb3JzID0gTlVMTDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgInkqfHo6ZGVjb2RlIiwgX2tleXdvcmRzLAorICAgICAgICAmaW5wdXQsICZlcnJvcnMpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZUNvZGVjX2RlY29kZV9pbXBsKHNlbGYsICZpbnB1dCwgZXJyb3JzKTsKKworZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBpbnB1dCAqLworICAgIGlmIChpbnB1dC5vYmopCisgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmaW5wdXQpOworCisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKF9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVJbmNyZW1lbnRhbEVuY29kZXJfZW5jb2RlX19kb2NfXywKKyJlbmNvZGUoJHNlbGYsIC8sIGlucHV0LCBmaW5hbD0wKVxuIgorIi0tIik7CisKKyNkZWZpbmUgX01VTFRJQllURUNPREVDX01VTFRJQllURUlOQ1JFTUVOVEFMRU5DT0RFUl9FTkNPREVfTUVUSE9EREVGICAgIFwKKyAgICB7ImVuY29kZSIsIChQeUNGdW5jdGlvbilfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlSW5jcmVtZW50YWxFbmNvZGVyX2VuY29kZSwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIF9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVJbmNyZW1lbnRhbEVuY29kZXJfZW5jb2RlX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlSW5jcmVtZW50YWxFbmNvZGVyX2VuY29kZV9pbXBsKE11bHRpYnl0ZUluY3JlbWVudGFsRW5jb2Rlck9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmlucHV0LCBpbnQgZmluYWwpOworCitzdGF0aWMgUHlPYmplY3QgKgorX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZUluY3JlbWVudGFsRW5jb2Rlcl9lbmNvZGUoTXVsdGlieXRlSW5jcmVtZW50YWxFbmNvZGVyT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7ImlucHV0IiwgImZpbmFsIiwgTlVMTH07CisgICAgUHlPYmplY3QgKmlucHV0OworICAgIGludCBmaW5hbCA9IDA7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJPfGk6ZW5jb2RlIiwgX2tleXdvcmRzLAorICAgICAgICAmaW5wdXQsICZmaW5hbCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlSW5jcmVtZW50YWxFbmNvZGVyX2VuY29kZV9pbXBsKHNlbGYsIGlucHV0LCBmaW5hbCk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKF9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVJbmNyZW1lbnRhbEVuY29kZXJfcmVzZXRfX2RvY19fLAorInJlc2V0KCRzZWxmLCAvKVxuIgorIi0tIik7CisKKyNkZWZpbmUgX01VTFRJQllURUNPREVDX01VTFRJQllURUlOQ1JFTUVOVEFMRU5DT0RFUl9SRVNFVF9NRVRIT0RERUYgICAgXAorICAgIHsicmVzZXQiLCAoUHlDRnVuY3Rpb24pX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZUluY3JlbWVudGFsRW5jb2Rlcl9yZXNldCwgTUVUSF9OT0FSR1MsIF9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVJbmNyZW1lbnRhbEVuY29kZXJfcmVzZXRfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK19tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVJbmNyZW1lbnRhbEVuY29kZXJfcmVzZXRfaW1wbChNdWx0aWJ5dGVJbmNyZW1lbnRhbEVuY29kZXJPYmplY3QgKnNlbGYpOworCitzdGF0aWMgUHlPYmplY3QgKgorX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZUluY3JlbWVudGFsRW5jb2Rlcl9yZXNldChNdWx0aWJ5dGVJbmNyZW1lbnRhbEVuY29kZXJPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIF9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVJbmNyZW1lbnRhbEVuY29kZXJfcmVzZXRfaW1wbChzZWxmKTsKK30KKworUHlEb2NfU1RSVkFSKF9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVJbmNyZW1lbnRhbERlY29kZXJfZGVjb2RlX19kb2NfXywKKyJkZWNvZGUoJHNlbGYsIC8sIGlucHV0LCBmaW5hbD0wKVxuIgorIi0tIik7CisKKyNkZWZpbmUgX01VTFRJQllURUNPREVDX01VTFRJQllURUlOQ1JFTUVOVEFMREVDT0RFUl9ERUNPREVfTUVUSE9EREVGICAgIFwKKyAgICB7ImRlY29kZSIsIChQeUNGdW5jdGlvbilfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlSW5jcmVtZW50YWxEZWNvZGVyX2RlY29kZSwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIF9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVJbmNyZW1lbnRhbERlY29kZXJfZGVjb2RlX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlSW5jcmVtZW50YWxEZWNvZGVyX2RlY29kZV9pbXBsKE11bHRpYnl0ZUluY3JlbWVudGFsRGVjb2Rlck9iamVjdCAqc2VsZiwgUHlfYnVmZmVyICppbnB1dCwgaW50IGZpbmFsKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK19tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVJbmNyZW1lbnRhbERlY29kZXJfZGVjb2RlKE11bHRpYnl0ZUluY3JlbWVudGFsRGVjb2Rlck9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJpbnB1dCIsICJmaW5hbCIsIE5VTEx9OworICAgIFB5X2J1ZmZlciBpbnB1dCA9IHtOVUxMLCBOVUxMfTsKKyAgICBpbnQgZmluYWwgPSAwOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAieSp8aTpkZWNvZGUiLCBfa2V5d29yZHMsCisgICAgICAgICZpbnB1dCwgJmZpbmFsKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IF9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVJbmNyZW1lbnRhbERlY29kZXJfZGVjb2RlX2ltcGwoc2VsZiwgJmlucHV0LCBmaW5hbCk7CisKK2V4aXQ6CisgICAgLyogQ2xlYW51cCBmb3IgaW5wdXQgKi8KKyAgICBpZiAoaW5wdXQub2JqKQorICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJmlucHV0KTsKKworICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK1B5RG9jX1NUUlZBUihfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlSW5jcmVtZW50YWxEZWNvZGVyX3Jlc2V0X19kb2NfXywKKyJyZXNldCgkc2VsZiwgLylcbiIKKyItLSIpOworCisjZGVmaW5lIF9NVUxUSUJZVEVDT0RFQ19NVUxUSUJZVEVJTkNSRU1FTlRBTERFQ09ERVJfUkVTRVRfTUVUSE9EREVGICAgIFwKKyAgICB7InJlc2V0IiwgKFB5Q0Z1bmN0aW9uKV9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVJbmNyZW1lbnRhbERlY29kZXJfcmVzZXQsIE1FVEhfTk9BUkdTLCBfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlSW5jcmVtZW50YWxEZWNvZGVyX3Jlc2V0X19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlSW5jcmVtZW50YWxEZWNvZGVyX3Jlc2V0X2ltcGwoTXVsdGlieXRlSW5jcmVtZW50YWxEZWNvZGVyT2JqZWN0ICpzZWxmKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK19tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVJbmNyZW1lbnRhbERlY29kZXJfcmVzZXQoTXVsdGlieXRlSW5jcmVtZW50YWxEZWNvZGVyT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlSW5jcmVtZW50YWxEZWNvZGVyX3Jlc2V0X2ltcGwoc2VsZik7Cit9CisKK1B5RG9jX1NUUlZBUihfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlU3RyZWFtUmVhZGVyX3JlYWRfX2RvY19fLAorInJlYWQoJHNlbGYsIHNpemVvYmo9Tm9uZSwgLylcbiIKKyItLSIpOworCisjZGVmaW5lIF9NVUxUSUJZVEVDT0RFQ19NVUxUSUJZVEVTVFJFQU1SRUFERVJfUkVBRF9NRVRIT0RERUYgICAgXAorICAgIHsicmVhZCIsIChQeUNGdW5jdGlvbilfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlU3RyZWFtUmVhZGVyX3JlYWQsIE1FVEhfVkFSQVJHUywgX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVJlYWRlcl9yZWFkX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlU3RyZWFtUmVhZGVyX3JlYWRfaW1wbChNdWx0aWJ5dGVTdHJlYW1SZWFkZXJPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpzaXplb2JqKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK19tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVTdHJlYW1SZWFkZXJfcmVhZChNdWx0aWJ5dGVTdHJlYW1SZWFkZXJPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5T2JqZWN0ICpzaXplb2JqID0gUHlfTm9uZTsKKworICAgIGlmICghUHlBcmdfVW5wYWNrVHVwbGUoYXJncywgInJlYWQiLAorICAgICAgICAwLCAxLAorICAgICAgICAmc2l6ZW9iaikpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlU3RyZWFtUmVhZGVyX3JlYWRfaW1wbChzZWxmLCBzaXplb2JqKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitQeURvY19TVFJWQVIoX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVJlYWRlcl9yZWFkbGluZV9fZG9jX18sCisicmVhZGxpbmUoJHNlbGYsIHNpemVvYmo9Tm9uZSwgLylcbiIKKyItLSIpOworCisjZGVmaW5lIF9NVUxUSUJZVEVDT0RFQ19NVUxUSUJZVEVTVFJFQU1SRUFERVJfUkVBRExJTkVfTUVUSE9EREVGICAgIFwKKyAgICB7InJlYWRsaW5lIiwgKFB5Q0Z1bmN0aW9uKV9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVTdHJlYW1SZWFkZXJfcmVhZGxpbmUsIE1FVEhfVkFSQVJHUywgX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVJlYWRlcl9yZWFkbGluZV9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVJlYWRlcl9yZWFkbGluZV9pbXBsKE11bHRpYnl0ZVN0cmVhbVJlYWRlck9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnNpemVvYmopOworCitzdGF0aWMgUHlPYmplY3QgKgorX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVJlYWRlcl9yZWFkbGluZShNdWx0aWJ5dGVTdHJlYW1SZWFkZXJPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5T2JqZWN0ICpzaXplb2JqID0gUHlfTm9uZTsKKworICAgIGlmICghUHlBcmdfVW5wYWNrVHVwbGUoYXJncywgInJlYWRsaW5lIiwKKyAgICAgICAgMCwgMSwKKyAgICAgICAgJnNpemVvYmopKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVJlYWRlcl9yZWFkbGluZV9pbXBsKHNlbGYsIHNpemVvYmopOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK1B5RG9jX1NUUlZBUihfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlU3RyZWFtUmVhZGVyX3JlYWRsaW5lc19fZG9jX18sCisicmVhZGxpbmVzKCRzZWxmLCBzaXplaGludG9iaj1Ob25lLCAvKVxuIgorIi0tIik7CisKKyNkZWZpbmUgX01VTFRJQllURUNPREVDX01VTFRJQllURVNUUkVBTVJFQURFUl9SRUFETElORVNfTUVUSE9EREVGICAgIFwKKyAgICB7InJlYWRsaW5lcyIsIChQeUNGdW5jdGlvbilfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlU3RyZWFtUmVhZGVyX3JlYWRsaW5lcywgTUVUSF9WQVJBUkdTLCBfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlU3RyZWFtUmVhZGVyX3JlYWRsaW5lc19fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVJlYWRlcl9yZWFkbGluZXNfaW1wbChNdWx0aWJ5dGVTdHJlYW1SZWFkZXJPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpzaXplaGludG9iaik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlU3RyZWFtUmVhZGVyX3JlYWRsaW5lcyhNdWx0aWJ5dGVTdHJlYW1SZWFkZXJPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5T2JqZWN0ICpzaXplaGludG9iaiA9IFB5X05vbmU7CisKKyAgICBpZiAoIVB5QXJnX1VucGFja1R1cGxlKGFyZ3MsICJyZWFkbGluZXMiLAorICAgICAgICAwLCAxLAorICAgICAgICAmc2l6ZWhpbnRvYmopKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVJlYWRlcl9yZWFkbGluZXNfaW1wbChzZWxmLCBzaXplaGludG9iaik7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKF9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVTdHJlYW1SZWFkZXJfcmVzZXRfX2RvY19fLAorInJlc2V0KCRzZWxmLCAvKVxuIgorIi0tIik7CisKKyNkZWZpbmUgX01VTFRJQllURUNPREVDX01VTFRJQllURVNUUkVBTVJFQURFUl9SRVNFVF9NRVRIT0RERUYgICAgXAorICAgIHsicmVzZXQiLCAoUHlDRnVuY3Rpb24pX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVJlYWRlcl9yZXNldCwgTUVUSF9OT0FSR1MsIF9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVTdHJlYW1SZWFkZXJfcmVzZXRfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK19tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVTdHJlYW1SZWFkZXJfcmVzZXRfaW1wbChNdWx0aWJ5dGVTdHJlYW1SZWFkZXJPYmplY3QgKnNlbGYpOworCitzdGF0aWMgUHlPYmplY3QgKgorX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVJlYWRlcl9yZXNldChNdWx0aWJ5dGVTdHJlYW1SZWFkZXJPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIF9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVTdHJlYW1SZWFkZXJfcmVzZXRfaW1wbChzZWxmKTsKK30KKworUHlEb2NfU1RSVkFSKF9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVTdHJlYW1Xcml0ZXJfd3JpdGVfX2RvY19fLAorIndyaXRlKCRzZWxmLCBzdHJvYmosIC8pXG4iCisiLS0iKTsKKworI2RlZmluZSBfTVVMVElCWVRFQ09ERUNfTVVMVElCWVRFU1RSRUFNV1JJVEVSX1dSSVRFX01FVEhPRERFRiAgICBcCisgICAgeyJ3cml0ZSIsIChQeUNGdW5jdGlvbilfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlU3RyZWFtV3JpdGVyX3dyaXRlLCBNRVRIX08sIF9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVTdHJlYW1Xcml0ZXJfd3JpdGVfX2RvY19ffSwKKworUHlEb2NfU1RSVkFSKF9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVTdHJlYW1Xcml0ZXJfd3JpdGVsaW5lc19fZG9jX18sCisid3JpdGVsaW5lcygkc2VsZiwgbGluZXMsIC8pXG4iCisiLS0iKTsKKworI2RlZmluZSBfTVVMVElCWVRFQ09ERUNfTVVMVElCWVRFU1RSRUFNV1JJVEVSX1dSSVRFTElORVNfTUVUSE9EREVGICAgIFwKKyAgICB7IndyaXRlbGluZXMiLCAoUHlDRnVuY3Rpb24pX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVdyaXRlcl93cml0ZWxpbmVzLCBNRVRIX08sIF9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVTdHJlYW1Xcml0ZXJfd3JpdGVsaW5lc19fZG9jX199LAorCitQeURvY19TVFJWQVIoX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVdyaXRlcl9yZXNldF9fZG9jX18sCisicmVzZXQoJHNlbGYsIC8pXG4iCisiLS0iKTsKKworI2RlZmluZSBfTVVMVElCWVRFQ09ERUNfTVVMVElCWVRFU1RSRUFNV1JJVEVSX1JFU0VUX01FVEhPRERFRiAgICBcCisgICAgeyJyZXNldCIsIChQeUNGdW5jdGlvbilfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlU3RyZWFtV3JpdGVyX3Jlc2V0LCBNRVRIX05PQVJHUywgX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVdyaXRlcl9yZXNldF9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVdyaXRlcl9yZXNldF9pbXBsKE11bHRpYnl0ZVN0cmVhbVdyaXRlck9iamVjdCAqc2VsZik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlU3RyZWFtV3JpdGVyX3Jlc2V0KE11bHRpYnl0ZVN0cmVhbVdyaXRlck9iamVjdCAqc2VsZiwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVdyaXRlcl9yZXNldF9pbXBsKHNlbGYpOworfQorCitQeURvY19TVFJWQVIoX211bHRpYnl0ZWNvZGVjX19fY3JlYXRlX2NvZGVjX19kb2NfXywKKyJfX2NyZWF0ZV9jb2RlYygkbW9kdWxlLCBhcmcsIC8pXG4iCisiLS0iKTsKKworI2RlZmluZSBfTVVMVElCWVRFQ09ERUNfX19DUkVBVEVfQ09ERUNfTUVUSE9EREVGICAgIFwKKyAgICB7Il9fY3JlYXRlX2NvZGVjIiwgKFB5Q0Z1bmN0aW9uKV9tdWx0aWJ5dGVjb2RlY19fX2NyZWF0ZV9jb2RlYywgTUVUSF9PLCBfbXVsdGlieXRlY29kZWNfX19jcmVhdGVfY29kZWNfX2RvY19ffSwKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kZmYxNDU5ZGVjNDY0Nzk2IGlucHV0PWE5MDQ5MDU0MDEzYTFiNzddKi8KZGlmZiAtLWdpdCBhL01vZHVsZXMvY2prY29kZWNzL211bHRpYnl0ZWNvZGVjLmMgYi9Nb2R1bGVzL2Nqa2NvZGVjcy9tdWx0aWJ5dGVjb2RlYy5jCmluZGV4IDA4N2FlOWIuLjMxYmIzNWYgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvY2prY29kZWNzL211bHRpYnl0ZWNvZGVjLmMKKysrIGIvTW9kdWxlcy9jamtjb2RlY3MvbXVsdGlieXRlY29kZWMuYwpAQCAtOCw2ICs4LDE4IEBACiAjaW5jbHVkZSAiUHl0aG9uLmgiCiAjaW5jbHVkZSAic3RydWN0bWVtYmVyLmgiCiAjaW5jbHVkZSAibXVsdGlieXRlY29kZWMuaCIKKyNpbmNsdWRlICJjbGluaWMvbXVsdGlieXRlY29kZWMuYy5oIgorCisvKltjbGluaWMgaW5wdXRdCitvdXRwdXQgcHJlc2V0IGZpbGUKK21vZHVsZSBfbXVsdGlieXRlY29kZWMKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kYTM5YTNlZTVlNmI0YjBkIGlucHV0PWUwY2YxYjdmM2M0NzJkMTddKi8KKworLypbY2xpbmljIGlucHV0XQorY2xhc3MgX211bHRpYnl0ZWNvZGVjLk11bHRpYnl0ZUNvZGVjICJNdWx0aWJ5dGVDb2RlY09iamVjdCAqIiAiJk11bHRpYnl0ZUNvZGVjX1R5cGUiCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZGEzOWEzZWU1ZTZiNGIwZCBpbnB1dD1kNWIxZmMxZmVjOGViMDAzXSovCiAKIHR5cGVkZWYgc3RydWN0IHsKICAgICBQeU9iamVjdCAgICAgICAgICAgICppbm9iajsKQEAgLTIyLDI3ICszNCw3IEBACiAgICAgX1B5VW5pY29kZVdyaXRlciAgICB3cml0ZXI7CiB9IE11bHRpYnl0ZURlY29kZUJ1ZmZlcjsKIAotUHlEb2NfU1RSVkFSKE11bHRpYnl0ZUNvZGVjX0VuY29kZV9fZG9jX18sCi0iSS5lbmNvZGUodW5pY29kZVssIGVycm9yc10pIC0+IChzdHJpbmcsIGxlbmd0aCBjb25zdW1lZClcblwKLVxuXAotUmV0dXJuIGFuIGVuY29kZWQgc3RyaW5nIHZlcnNpb24gb2YgYHVuaWNvZGUnLiBlcnJvcnMgbWF5IGJlIGdpdmVuIHRvXG5cCi1zZXQgYSBkaWZmZXJlbnQgZXJyb3IgaGFuZGxpbmcgc2NoZW1lLiBEZWZhdWx0IGlzICdzdHJpY3QnIG1lYW5pbmcgdGhhdFxuXAotZW5jb2RpbmcgZXJyb3JzIHJhaXNlIGEgVW5pY29kZUVuY29kZUVycm9yLiBPdGhlciBwb3NzaWJsZSB2YWx1ZXMgYXJlXG5cCi0naWdub3JlJywgJ3JlcGxhY2UnIGFuZCAneG1sY2hhcnJlZnJlcGxhY2UnIGFzIHdlbGwgYXMgYW55IG90aGVyIG5hbWVcblwKLXJlZ2lzdGVyZWQgd2l0aCBjb2RlY3MucmVnaXN0ZXJfZXJyb3IgdGhhdCBjYW4gaGFuZGxlIFVuaWNvZGVFbmNvZGVFcnJvcnMuIik7Ci0KLVB5RG9jX1NUUlZBUihNdWx0aWJ5dGVDb2RlY19EZWNvZGVfX2RvY19fLAotIkkuZGVjb2RlKHN0cmluZ1ssIGVycm9yc10pIC0+ICh1bmljb2Rlb2JqZWN0LCBsZW5ndGggY29uc3VtZWQpXG5cCi1cblwKLURlY29kZXMgYHN0cmluZycgdXNpbmcgSSwgYW4gTXVsdGlieXRlQ29kZWMgaW5zdGFuY2UuIGVycm9ycyBtYXkgYmUgZ2l2ZW5cblwKLXRvIHNldCBhIGRpZmZlcmVudCBlcnJvciBoYW5kbGluZyBzY2hlbWUuIERlZmF1bHQgaXMgJ3N0cmljdCcgbWVhbmluZ1xuXAotdGhhdCBlbmNvZGluZyBlcnJvcnMgcmFpc2UgYSBVbmljb2RlRGVjb2RlRXJyb3IuIE90aGVyIHBvc3NpYmxlIHZhbHVlc1xuXAotYXJlICdpZ25vcmUnIGFuZCAncmVwbGFjZScgYXMgd2VsbCBhcyBhbnkgb3RoZXIgbmFtZSByZWdpc3RlcmVkIHdpdGhcblwKLWNvZGVjcy5yZWdpc3Rlcl9lcnJvciB0aGF0IGlzIGFibGUgdG8gaGFuZGxlIFVuaWNvZGVEZWNvZGVFcnJvcnMuIik7Ci0KLXN0YXRpYyBjaGFyICpjb2RlY2t3YXJnbGlzdFtdID0geyJpbnB1dCIsICJlcnJvcnMiLCBOVUxMfTsKIHN0YXRpYyBjaGFyICppbmNuZXdrd2FyZ2xpc3RbXSA9IHsiZXJyb3JzIiwgTlVMTH07Ci1zdGF0aWMgY2hhciAqaW5jcmVtZW50YWxrd2FyZ2xpc3RbXSA9IHsiaW5wdXQiLCAiZmluYWwiLCBOVUxMfTsKIHN0YXRpYyBjaGFyICpzdHJlYW1rd2FyZ2xpc3RbXSA9IHsic3RyZWFtIiwgImVycm9ycyIsIE5VTEx9OwogCiBzdGF0aWMgUHlPYmplY3QgKm11bHRpYnl0ZWNvZGVjX2VuY29kZShNdWx0aWJ5dGVDb2RlYyAqLApAQCAtNTUwLDI2ICs1NDIsMzUgQEAKICAgICByZXR1cm4gTlVMTDsKIH0KIAorLypbY2xpbmljIGlucHV0XQorX211bHRpYnl0ZWNvZGVjLk11bHRpYnl0ZUNvZGVjLmVuY29kZQorCisgIGlucHV0OiBvYmplY3QKKyAgZXJyb3JzOiBzdHIobnVsbGFibGU9VHJ1ZSkgPSBOVUxMCisKK1JldHVybiBhbiBlbmNvZGVkIHN0cmluZyB2ZXJzaW9uIG9mIGBpbnB1dCcuCisKKydlcnJvcnMnIG1heSBiZSBnaXZlbiB0byBzZXQgYSBkaWZmZXJlbnQgZXJyb3IgaGFuZGxpbmcgc2NoZW1lLiBEZWZhdWx0IGlzCisnc3RyaWN0JyBtZWFuaW5nIHRoYXQgZW5jb2RpbmcgZXJyb3JzIHJhaXNlIGEgVW5pY29kZUVuY29kZUVycm9yLiBPdGhlciBwb3NzaWJsZQordmFsdWVzIGFyZSAnaWdub3JlJywgJ3JlcGxhY2UnIGFuZCAneG1sY2hhcnJlZnJlcGxhY2UnIGFzIHdlbGwgYXMgYW55IG90aGVyIG5hbWUKK3JlZ2lzdGVyZWQgd2l0aCBjb2RlY3MucmVnaXN0ZXJfZXJyb3IgdGhhdCBjYW4gaGFuZGxlIFVuaWNvZGVFbmNvZGVFcnJvcnMuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKIHN0YXRpYyBQeU9iamVjdCAqCi1NdWx0aWJ5dGVDb2RlY19FbmNvZGUoTXVsdGlieXRlQ29kZWNPYmplY3QgKnNlbGYsCi0gICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCitfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlQ29kZWNfZW5jb2RlX2ltcGwoTXVsdGlieXRlQ29kZWNPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICppbnB1dCwgY29uc3QgY2hhciAqZXJyb3JzKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWEzNmJmYTA4NzgzYTBkMGIgaW5wdXQ9MjUyZTdlZTY5NTg2N2IyZF0qLwogewogICAgIE11bHRpYnl0ZUNvZGVjX1N0YXRlIHN0YXRlOwotICAgIFB5T2JqZWN0ICplcnJvcmNiLCAqciwgKmFyZywgKnVjdnQ7Ci0gICAgY29uc3QgY2hhciAqZXJyb3JzID0gTlVMTDsKKyAgICBQeU9iamVjdCAqZXJyb3JjYiwgKnIsICp1Y3Z0OwogICAgIFB5X3NzaXplX3QgZGF0YWxlbjsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgIk98ejplbmNvZGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvZGVja3dhcmdsaXN0LCAmYXJnLCAmZXJyb3JzKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KLSAgICBpZiAoUHlVbmljb2RlX0NoZWNrKGFyZykpCisgICAgaWYgKFB5VW5pY29kZV9DaGVjayhpbnB1dCkpCiAgICAgICAgIHVjdnQgPSBOVUxMOwogICAgIGVsc2UgewotICAgICAgICBhcmcgPSB1Y3Z0ID0gUHlPYmplY3RfU3RyKGFyZyk7Ci0gICAgICAgIGlmIChhcmcgPT0gTlVMTCkKKyAgICAgICAgaW5wdXQgPSB1Y3Z0ID0gUHlPYmplY3RfU3RyKGlucHV0KTsKKyAgICAgICAgaWYgKGlucHV0ID09IE5VTEwpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgZWxzZSBpZiAoIVB5VW5pY29kZV9DaGVjayhhcmcpKSB7CisgICAgICAgIGVsc2UgaWYgKCFQeVVuaWNvZGVfQ2hlY2soaW5wdXQpKSB7CiAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAogICAgICAgICAgICAgICAgICJjb3VsZG4ndCBjb252ZXJ0IHRoZSBvYmplY3QgdG8gdW5pY29kZS4iKTsKICAgICAgICAgICAgIFB5X0RFQ1JFRih1Y3Z0KTsKQEAgLTU3NywxMSArNTc4LDExIEBACiAgICAgICAgIH0KICAgICB9CiAKLSAgICBpZiAoUHlVbmljb2RlX1JFQURZKGFyZykgPCAwKSB7CisgICAgaWYgKFB5VW5pY29kZV9SRUFEWShpbnB1dCkgPCAwKSB7CiAgICAgICAgIFB5X1hERUNSRUYodWN2dCk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLSAgICBkYXRhbGVuID0gUHlVbmljb2RlX0dFVF9MRU5HVEgoYXJnKTsKKyAgICBkYXRhbGVuID0gUHlVbmljb2RlX0dFVF9MRU5HVEgoaW5wdXQpOwogCiAgICAgZXJyb3JjYiA9IGludGVybmFsX2Vycm9yX2NhbGxiYWNrKGVycm9ycyk7CiAgICAgaWYgKGVycm9yY2IgPT0gTlVMTCkgewpAQCAtNTkzLDcgKzU5NCw3IEBACiAgICAgICAgIHNlbGYtPmNvZGVjLT5lbmNpbml0KCZzdGF0ZSwgc2VsZi0+Y29kZWMtPmNvbmZpZykgIT0gMCkKICAgICAgICAgZ290byBlcnJvcmV4aXQ7CiAgICAgciA9IG11bHRpYnl0ZWNvZGVjX2VuY29kZShzZWxmLT5jb2RlYywgJnN0YXRlLAotICAgICAgICAgICAgICAgICAgICBhcmcsIE5VTEwsIGVycm9yY2IsCisgICAgICAgICAgICAgICAgICAgIGlucHV0LCBOVUxMLCBlcnJvcmNiLAogICAgICAgICAgICAgICAgICAgICBNQkVOQ19GTFVTSCB8IE1CRU5DX1JFU0VUKTsKICAgICBpZiAociA9PSBOVUxMKQogICAgICAgICBnb3RvIGVycm9yZXhpdDsKQEAgLTYwOCwzMSArNjA5LDM5IEBACiAgICAgcmV0dXJuIE5VTEw7CiB9CiAKKy8qW2NsaW5pYyBpbnB1dF0KK19tdWx0aWJ5dGVjb2RlYy5NdWx0aWJ5dGVDb2RlYy5kZWNvZGUKKworICBpbnB1dDogUHlfYnVmZmVyCisgIGVycm9yczogc3RyKG51bGxhYmxlPVRydWUpID0gTlVMTAorCitEZWNvZGVzICdpbnB1dCcuCisKKydlcnJvcnMnIG1heSBiZSBnaXZlbiB0byBzZXQgYSBkaWZmZXJlbnQgZXJyb3IgaGFuZGxpbmcgc2NoZW1lLiBEZWZhdWx0IGlzCisnc3RyaWN0JyBtZWFuaW5nIHRoYXQgZW5jb2RpbmcgZXJyb3JzIHJhaXNlIGEgVW5pY29kZURlY29kZUVycm9yLiBPdGhlciBwb3NzaWJsZQordmFsdWVzIGFyZSAnaWdub3JlJyBhbmQgJ3JlcGxhY2UnIGFzIHdlbGwgYXMgYW55IG90aGVyIG5hbWUgcmVnaXN0ZXJlZCB3aXRoCitjb2RlY3MucmVnaXN0ZXJfZXJyb3IgdGhhdCBpcyBhYmxlIHRvIGhhbmRsZSBVbmljb2RlRGVjb2RlRXJyb3JzLiIKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKwogc3RhdGljIFB5T2JqZWN0ICoKLU11bHRpYnl0ZUNvZGVjX0RlY29kZShNdWx0aWJ5dGVDb2RlY09iamVjdCAqc2VsZiwKLSAgICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK19tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVDb2RlY19kZWNvZGVfaW1wbChNdWx0aWJ5dGVDb2RlY09iamVjdCAqc2VsZiwgUHlfYnVmZmVyICppbnB1dCwgY29uc3QgY2hhciAqZXJyb3JzKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTRjOGVlOGIyOTMxYjAxNGUgaW5wdXQ9MzdlMWQ5MjM2ZTNjZThmM10qLwogewogICAgIE11bHRpYnl0ZUNvZGVjX1N0YXRlIHN0YXRlOwogICAgIE11bHRpYnl0ZURlY29kZUJ1ZmZlciBidWY7CiAgICAgUHlPYmplY3QgKmVycm9yY2IsICpyZXM7Ci0gICAgUHlfYnVmZmVyIHBkYXRhOwotICAgIGNvbnN0IGNoYXIgKmRhdGEsICplcnJvcnMgPSBOVUxMOworICAgIGNvbnN0IGNoYXIgKmRhdGE7CiAgICAgUHlfc3NpemVfdCBkYXRhbGVuOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAieSp8ejpkZWNvZGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvZGVja3dhcmdsaXN0LCAmcGRhdGEsICZlcnJvcnMpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBkYXRhID0gcGRhdGEuYnVmOwotICAgIGRhdGFsZW4gPSBwZGF0YS5sZW47CisgICAgZGF0YSA9IGlucHV0LT5idWY7CisgICAgZGF0YWxlbiA9IGlucHV0LT5sZW47CiAKICAgICBlcnJvcmNiID0gaW50ZXJuYWxfZXJyb3JfY2FsbGJhY2soZXJyb3JzKTsKICAgICBpZiAoZXJyb3JjYiA9PSBOVUxMKSB7Ci0gICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJnBkYXRhKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCiAgICAgaWYgKGRhdGFsZW4gPT0gMCkgewotICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZwZGF0YSk7CiAgICAgICAgIEVSUk9SX0RFQ1JFRihlcnJvcmNiKTsKICAgICAgICAgcmV0dXJuIG1ha2VfdHVwbGUoUHlVbmljb2RlX05ldygwLCAwKSwgMCk7CiAgICAgfQpAQCAtNjY1LDEzICs2NzQsMTEgQEAKICAgICBpZiAocmVzID09IE5VTEwpCiAgICAgICAgIGdvdG8gZXJyb3JleGl0OwogCi0gICAgUHlCdWZmZXJfUmVsZWFzZSgmcGRhdGEpOwogICAgIFB5X1hERUNSRUYoYnVmLmV4Y29iaik7CiAgICAgRVJST1JfREVDUkVGKGVycm9yY2IpOwogICAgIHJldHVybiBtYWtlX3R1cGxlKHJlcywgZGF0YWxlbik7CiAKIGVycm9yZXhpdDoKLSAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZwZGF0YSk7CiAgICAgRVJST1JfREVDUkVGKGVycm9yY2IpOwogICAgIFB5X1hERUNSRUYoYnVmLmV4Y29iaik7CiAgICAgX1B5VW5pY29kZVdyaXRlcl9EZWFsbG9jKCZidWYud3JpdGVyKTsKQEAgLTY4MCwxMyArNjg3LDkgQEAKIH0KIAogc3RhdGljIHN0cnVjdCBQeU1ldGhvZERlZiBtdWx0aWJ5dGVjb2RlY19tZXRob2RzW10gPSB7Ci0gICAgeyJlbmNvZGUiLCAgICAgICAgICAoUHlDRnVuY3Rpb24pTXVsdGlieXRlQ29kZWNfRW5jb2RlLAotICAgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLAotICAgICAgICAgICAgICAgICAgICBNdWx0aWJ5dGVDb2RlY19FbmNvZGVfX2RvY19ffSwKLSAgICB7ImRlY29kZSIsICAgICAgICAgIChQeUNGdW5jdGlvbilNdWx0aWJ5dGVDb2RlY19EZWNvZGUsCi0gICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsCi0gICAgICAgICAgICAgICAgICAgIE11bHRpYnl0ZUNvZGVjX0RlY29kZV9fZG9jX199LAotICAgIHtOVUxMLCAgICAgICAgICAgICAgTlVMTH0sCisgICAgX01VTFRJQllURUNPREVDX01VTFRJQllURUNPREVDX0VOQ09ERV9NRVRIT0RERUYKKyAgICBfTVVMVElCWVRFQ09ERUNfTVVMVElCWVRFQ09ERUNfREVDT0RFX01FVEhPRERFRgorICAgIHtOVUxMLCBOVUxMfSwKIH07CiAKIHN0YXRpYyB2b2lkCkBAIC04NzAsMjYgKzg3MywzMiBAQAogfQogCiAKLS8qKgotICogTXVsdGlieXRlSW5jcmVtZW50YWxFbmNvZGVyIG9iamVjdAotICovCisvKltjbGluaWMgaW5wdXRdCisgY2xhc3MgX211bHRpYnl0ZWNvZGVjLk11bHRpYnl0ZUluY3JlbWVudGFsRW5jb2RlciAiTXVsdGlieXRlSW5jcmVtZW50YWxFbmNvZGVyT2JqZWN0ICoiICImTXVsdGlieXRlSW5jcmVtZW50YWxFbmNvZGVyX1R5cGUiCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZGEzOWEzZWU1ZTZiNGIwZCBpbnB1dD0zYmU4MjkwOWNkMDg5MjRkXSovCisKKy8qW2NsaW5pYyBpbnB1dF0KK19tdWx0aWJ5dGVjb2RlYy5NdWx0aWJ5dGVJbmNyZW1lbnRhbEVuY29kZXIuZW5jb2RlCisKKyAgICBpbnB1dDogb2JqZWN0CisgICAgZmluYWw6IGludCA9IDAKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLW1iaWVuY29kZXJfZW5jb2RlKE11bHRpYnl0ZUluY3JlbWVudGFsRW5jb2Rlck9iamVjdCAqc2VsZiwKLSAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQorX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZUluY3JlbWVudGFsRW5jb2Rlcl9lbmNvZGVfaW1wbChNdWx0aWJ5dGVJbmNyZW1lbnRhbEVuY29kZXJPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICppbnB1dCwgaW50IGZpbmFsKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTNjZDg3ODBjOGE3MTliYmYgaW5wdXQ9NDU2Yjc2ZDczZTQ2NDY2MV0qLwogewotICAgIFB5T2JqZWN0ICpkYXRhOwotICAgIGludCBmaW5hbCA9IDA7Ci0KLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsICJPfGk6ZW5jb2RlIiwKLSAgICAgICAgICAgICAgICAgICAgaW5jcmVtZW50YWxrd2FyZ2xpc3QsICZkYXRhLCAmZmluYWwpKQotICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIHJldHVybiBlbmNvZGVyX2VuY29kZV9zdGF0ZWZ1bChTVEFURUZVTF9FQ1RYKHNlbGYpLCBkYXRhLCBmaW5hbCk7CisgICAgcmV0dXJuIGVuY29kZXJfZW5jb2RlX3N0YXRlZnVsKFNUQVRFRlVMX0VDVFgoc2VsZiksIGlucHV0LCBmaW5hbCk7CiB9CiAKKy8qW2NsaW5pYyBpbnB1dF0KK19tdWx0aWJ5dGVjb2RlYy5NdWx0aWJ5dGVJbmNyZW1lbnRhbEVuY29kZXIucmVzZXQKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKwogc3RhdGljIFB5T2JqZWN0ICoKLW1iaWVuY29kZXJfcmVzZXQoTXVsdGlieXRlSW5jcmVtZW50YWxFbmNvZGVyT2JqZWN0ICpzZWxmKQorX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZUluY3JlbWVudGFsRW5jb2Rlcl9yZXNldF9pbXBsKE11bHRpYnl0ZUluY3JlbWVudGFsRW5jb2Rlck9iamVjdCAqc2VsZikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1iNDEyNWQ4ZjUzN2EyNTNmIGlucHV0PTkzMGYwNjc2MDcwN2I2ZWFdKi8KIHsKICAgICAvKiBMb25nZXN0IG91dHB1dDogNCBieXRlcyAoYidceDBGXHgxRihCJykgd2l0aCBJU08gMjAyMiAqLwogICAgIHVuc2lnbmVkIGNoYXIgYnVmZmVyWzRdLCAqb3V0YnVmOwpAQCAtOTA2LDExICs5MTUsOSBAQAogfQogCiBzdGF0aWMgc3RydWN0IFB5TWV0aG9kRGVmIG1iaWVuY29kZXJfbWV0aG9kc1tdID0gewotICAgIHsiZW5jb2RlIiwgICAgICAgICAgKFB5Q0Z1bmN0aW9uKW1iaWVuY29kZXJfZW5jb2RlLAotICAgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLCBOVUxMfSwKLSAgICB7InJlc2V0IiwgICAgICAgICAgIChQeUNGdW5jdGlvbiltYmllbmNvZGVyX3Jlc2V0LAotICAgICAgICAgICAgICAgICAgICBNRVRIX05PQVJHUywgTlVMTH0sCi0gICAge05VTEwsICAgICAgICAgICAgICBOVUxMfSwKKyAgICBfTVVMVElCWVRFQ09ERUNfTVVMVElCWVRFSU5DUkVNRU5UQUxFTkNPREVSX0VOQ09ERV9NRVRIT0RERUYKKyAgICBfTVVMVElCWVRFQ09ERUNfTVVMVElCWVRFSU5DUkVNRU5UQUxFTkNPREVSX1JFU0VUX01FVEhPRERFRgorICAgIHtOVUxMLCBOVUxMfSwKIH07CiAKIHN0YXRpYyBQeU9iamVjdCAqCkBAIC0xMDIxLDI2ICsxMDI4LDI5IEBACiB9OwogCiAKLS8qKgotICogTXVsdGlieXRlSW5jcmVtZW50YWxEZWNvZGVyIG9iamVjdAotICovCisvKltjbGluaWMgaW5wdXRdCisgY2xhc3MgX211bHRpYnl0ZWNvZGVjLk11bHRpYnl0ZUluY3JlbWVudGFsRGVjb2RlciAiTXVsdGlieXRlSW5jcmVtZW50YWxEZWNvZGVyT2JqZWN0ICoiICImTXVsdGlieXRlSW5jcmVtZW50YWxEZWNvZGVyX1R5cGUiCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZGEzOWEzZWU1ZTZiNGIwZCBpbnB1dD1mNjAwM2ZhYWYyY2VhNjkyXSovCisKKy8qW2NsaW5pYyBpbnB1dF0KK19tdWx0aWJ5dGVjb2RlYy5NdWx0aWJ5dGVJbmNyZW1lbnRhbERlY29kZXIuZGVjb2RlCisKKyAgICBpbnB1dDogUHlfYnVmZmVyCisgICAgZmluYWw6IGludCA9IDAKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLW1iaWRlY29kZXJfZGVjb2RlKE11bHRpYnl0ZUluY3JlbWVudGFsRGVjb2Rlck9iamVjdCAqc2VsZiwKLSAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQorX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZUluY3JlbWVudGFsRGVjb2Rlcl9kZWNvZGVfaW1wbChNdWx0aWJ5dGVJbmNyZW1lbnRhbERlY29kZXJPYmplY3QgKnNlbGYsIFB5X2J1ZmZlciAqaW5wdXQsIGludCBmaW5hbCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1hMGYzZjkyYWE3MzAzY2Y3IGlucHV0PWViMThjMmY2ZTgzNTg5ZTFdKi8KIHsKICAgICBNdWx0aWJ5dGVEZWNvZGVCdWZmZXIgYnVmOwogICAgIGNoYXIgKmRhdGEsICp3ZGF0YSA9IE5VTEw7Ci0gICAgUHlfYnVmZmVyIHBkYXRhOwogICAgIFB5X3NzaXplX3Qgd3NpemUsIHNpemUsIG9yaWdwZW5kaW5nOwotICAgIGludCBmaW5hbCA9IDA7CiAgICAgUHlPYmplY3QgKnJlczsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgInkqfGk6ZGVjb2RlIiwKLSAgICAgICAgICAgICAgICAgICAgaW5jcmVtZW50YWxrd2FyZ2xpc3QsICZwZGF0YSwgJmZpbmFsKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgZGF0YSA9IHBkYXRhLmJ1ZjsKLSAgICBzaXplID0gcGRhdGEubGVuOworICAgIGRhdGEgPSBpbnB1dC0+YnVmOworICAgIHNpemUgPSBpbnB1dC0+bGVuOwogCiAgICAgX1B5VW5pY29kZVdyaXRlcl9Jbml0KCZidWYud3JpdGVyKTsKICAgICBidWYuZXhjb2JqID0gTlVMTDsKQEAgLTEwOTEsMTQgKzExMDEsMTIgQEAKICAgICBpZiAocmVzID09IE5VTEwpCiAgICAgICAgIGdvdG8gZXJyb3JleGl0OwogCi0gICAgUHlCdWZmZXJfUmVsZWFzZSgmcGRhdGEpOwogICAgIGlmICh3ZGF0YSAhPSBkYXRhKQogICAgICAgICBQeU1lbV9EZWwod2RhdGEpOwogICAgIFB5X1hERUNSRUYoYnVmLmV4Y29iaik7CiAgICAgcmV0dXJuIHJlczsKIAogZXJyb3JleGl0OgotICAgIFB5QnVmZmVyX1JlbGVhc2UoJnBkYXRhKTsKICAgICBpZiAod2RhdGEgIT0gTlVMTCAmJiB3ZGF0YSAhPSBkYXRhKQogICAgICAgICBQeU1lbV9EZWwod2RhdGEpOwogICAgIFB5X1hERUNSRUYoYnVmLmV4Y29iaik7CkBAIC0xMTA2LDggKzExMTQsMTMgQEAKICAgICByZXR1cm4gTlVMTDsKIH0KIAorLypbY2xpbmljIGlucHV0XQorX211bHRpYnl0ZWNvZGVjLk11bHRpYnl0ZUluY3JlbWVudGFsRGVjb2Rlci5yZXNldAorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCiBzdGF0aWMgUHlPYmplY3QgKgotbWJpZGVjb2Rlcl9yZXNldChNdWx0aWJ5dGVJbmNyZW1lbnRhbERlY29kZXJPYmplY3QgKnNlbGYpCitfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlSW5jcmVtZW50YWxEZWNvZGVyX3Jlc2V0X2ltcGwoTXVsdGlieXRlSW5jcmVtZW50YWxEZWNvZGVyT2JqZWN0ICpzZWxmKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWRhNDIzYjE3ODJjMjNlZDEgaW5wdXQ9M2I2M2IzYmU4NWIyZmI0NV0qLwogewogICAgIGlmIChzZWxmLT5jb2RlYy0+ZGVjcmVzZXQgIT0gTlVMTCAmJgogICAgICAgICBzZWxmLT5jb2RlYy0+ZGVjcmVzZXQoJnNlbGYtPnN0YXRlLCBzZWxmLT5jb2RlYy0+Y29uZmlnKSAhPSAwKQpAQCAtMTExOCwxMSArMTEzMSw5IEBACiB9CiAKIHN0YXRpYyBzdHJ1Y3QgUHlNZXRob2REZWYgbWJpZGVjb2Rlcl9tZXRob2RzW10gPSB7Ci0gICAgeyJkZWNvZGUiLCAgICAgICAgICAoUHlDRnVuY3Rpb24pbWJpZGVjb2Rlcl9kZWNvZGUsCi0gICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsIE5VTEx9LAotICAgIHsicmVzZXQiLCAgICAgICAgICAgKFB5Q0Z1bmN0aW9uKW1iaWRlY29kZXJfcmVzZXQsCi0gICAgICAgICAgICAgICAgICAgIE1FVEhfTk9BUkdTLCBOVUxMfSwKLSAgICB7TlVMTCwgICAgICAgICAgICAgIE5VTEx9LAorICAgIF9NVUxUSUJZVEVDT0RFQ19NVUxUSUJZVEVJTkNSRU1FTlRBTERFQ09ERVJfREVDT0RFX01FVEhPRERFRgorICAgIF9NVUxUSUJZVEVDT0RFQ19NVUxUSUJZVEVJTkNSRU1FTlRBTERFQ09ERVJfUkVTRVRfTUVUSE9EREVGCisgICAge05VTEwsIE5VTEx9LAogfTsKIAogc3RhdGljIFB5T2JqZWN0ICoKQEAgLTEyMzMsOSArMTI0NCwxMCBAQAogfTsKIAogCi0vKioKLSAqIE11bHRpYnl0ZVN0cmVhbVJlYWRlciBvYmplY3QKLSAqLworLypbY2xpbmljIGlucHV0XQorIGNsYXNzIF9tdWx0aWJ5dGVjb2RlYy5NdWx0aWJ5dGVTdHJlYW1SZWFkZXIgIk11bHRpYnl0ZVN0cmVhbVJlYWRlck9iamVjdCAqIiAiTXVsdGlieXRlU3RyZWFtUmVhZGVyX1R5cGUiCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZGEzOWEzZWU1ZTZiNGIwZCBpbnB1dD1kMzIzNjM0Yjc0OTc2ZjA5XSovCiAKIHN0YXRpYyBQeU9iamVjdCAqCiBtYnN0cmVhbXJlYWRlcl9pcmVhZChNdWx0aWJ5dGVTdHJlYW1SZWFkZXJPYmplY3QgKnNlbGYsCkBAIC0xMjU3LDEwICsxMjY5LDEwIEBACiAKICAgICAgICAgaWYgKHNpemVoaW50IDwgMCkKICAgICAgICAgICAgIGNyZXMgPSBQeU9iamVjdF9DYWxsTWV0aG9kKHNlbGYtPnN0cmVhbSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhciAqKW1ldGhvZCwgTlVMTCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0aG9kLCBOVUxMKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgY3JlcyA9IFB5T2JqZWN0X0NhbGxNZXRob2Qoc2VsZi0+c3RyZWFtLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFyICopbWV0aG9kLCAiaSIsIHNpemVoaW50KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRob2QsICJpIiwgc2l6ZWhpbnQpOwogICAgICAgICBpZiAoY3JlcyA9PSBOVUxMKQogICAgICAgICAgICAgZ290byBlcnJvcmV4aXQ7CiAKQEAgLTEzNDIsMTYgKzEzNTQsMjAgQEAKICAgICByZXR1cm4gTlVMTDsKIH0KIAorLypbY2xpbmljIGlucHV0XQorIF9tdWx0aWJ5dGVjb2RlYy5NdWx0aWJ5dGVTdHJlYW1SZWFkZXIucmVhZAorCisgICAgc2l6ZW9iajogb2JqZWN0ID0gTm9uZQorICAgIC8KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKwogc3RhdGljIFB5T2JqZWN0ICoKLW1ic3RyZWFtcmVhZGVyX3JlYWQoTXVsdGlieXRlU3RyZWFtUmVhZGVyT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK19tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVTdHJlYW1SZWFkZXJfcmVhZF9pbXBsKE11bHRpYnl0ZVN0cmVhbVJlYWRlck9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnNpemVvYmopCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZjI5OGVhNmUxYmQyMDgzYyBpbnB1dD0wMTViMGQzZmYyZmNhNDg1XSovCiB7Ci0gICAgUHlPYmplY3QgKnNpemVvYmogPSBOVUxMOwogICAgIFB5X3NzaXplX3Qgc2l6ZTsKIAotICAgIGlmICghUHlBcmdfVW5wYWNrVHVwbGUoYXJncywgInJlYWQiLCAwLCAxLCAmc2l6ZW9iaikpCi0gICAgICAgIHJldHVybiBOVUxMOwotCi0gICAgaWYgKHNpemVvYmogPT0gUHlfTm9uZSB8fCBzaXplb2JqID09IE5VTEwpCisgICAgaWYgKHNpemVvYmogPT0gUHlfTm9uZSkKICAgICAgICAgc2l6ZSA9IC0xOwogICAgIGVsc2UgaWYgKFB5TG9uZ19DaGVjayhzaXplb2JqKSkKICAgICAgICAgc2l6ZSA9IFB5TG9uZ19Bc1NzaXplX3Qoc2l6ZW9iaik7CkBAIC0xMzY2LDE2ICsxMzgyLDIwIEBACiAgICAgcmV0dXJuIG1ic3RyZWFtcmVhZGVyX2lyZWFkKHNlbGYsICJyZWFkIiwgc2l6ZSk7CiB9CiAKKy8qW2NsaW5pYyBpbnB1dF0KKyBfbXVsdGlieXRlY29kZWMuTXVsdGlieXRlU3RyZWFtUmVhZGVyLnJlYWRsaW5lCisKKyAgICBzaXplb2JqOiBvYmplY3QgPSBOb25lCisgICAgLworW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCiBzdGF0aWMgUHlPYmplY3QgKgotbWJzdHJlYW1yZWFkZXJfcmVhZGxpbmUoTXVsdGlieXRlU3RyZWFtUmVhZGVyT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK19tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVTdHJlYW1SZWFkZXJfcmVhZGxpbmVfaW1wbChNdWx0aWJ5dGVTdHJlYW1SZWFkZXJPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpzaXplb2JqKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWU1YWMzMDJhNmQwOTk5ZGUgaW5wdXQ9NDFjY2M2NGY5YmIwY2VjM10qLwogewotICAgIFB5T2JqZWN0ICpzaXplb2JqID0gTlVMTDsKICAgICBQeV9zc2l6ZV90IHNpemU7CiAKLSAgICBpZiAoIVB5QXJnX1VucGFja1R1cGxlKGFyZ3MsICJyZWFkbGluZSIsIDAsIDEsICZzaXplb2JqKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KLSAgICBpZiAoc2l6ZW9iaiA9PSBQeV9Ob25lIHx8IHNpemVvYmogPT0gTlVMTCkKKyAgICBpZiAoc2l6ZW9iaiA9PSBQeV9Ob25lKQogICAgICAgICBzaXplID0gLTE7CiAgICAgZWxzZSBpZiAoUHlMb25nX0NoZWNrKHNpemVvYmopKQogICAgICAgICBzaXplID0gUHlMb25nX0FzU3NpemVfdChzaXplb2JqKTsKQEAgLTEzOTAsMTYgKzE0MTAsMjEgQEAKICAgICByZXR1cm4gbWJzdHJlYW1yZWFkZXJfaXJlYWQoc2VsZiwgInJlYWRsaW5lIiwgc2l6ZSk7CiB9CiAKKy8qW2NsaW5pYyBpbnB1dF0KKyBfbXVsdGlieXRlY29kZWMuTXVsdGlieXRlU3RyZWFtUmVhZGVyLnJlYWRsaW5lcworCisgICAgc2l6ZWhpbnRvYmo6IG9iamVjdCA9IE5vbmUKKyAgICAvCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKIHN0YXRpYyBQeU9iamVjdCAqCi1tYnN0cmVhbXJlYWRlcl9yZWFkbGluZXMoTXVsdGlieXRlU3RyZWFtUmVhZGVyT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK19tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVTdHJlYW1SZWFkZXJfcmVhZGxpbmVzX2ltcGwoTXVsdGlieXRlU3RyZWFtUmVhZGVyT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqc2l6ZWhpbnRvYmopCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NjhmMDI0MTc4Yjc3Y2IwZiBpbnB1dD01NDkzMmY1ZDRkODhlODgwXSovCiB7Ci0gICAgUHlPYmplY3QgKnNpemVoaW50b2JqID0gTlVMTCwgKnIsICpzcjsKKyAgICBQeU9iamVjdCAqciwgKnNyOwogICAgIFB5X3NzaXplX3Qgc2l6ZWhpbnQ7CiAKLSAgICBpZiAoIVB5QXJnX1VucGFja1R1cGxlKGFyZ3MsICJyZWFkbGluZXMiLCAwLCAxLCAmc2l6ZWhpbnRvYmopKQotICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIGlmIChzaXplaGludG9iaiA9PSBQeV9Ob25lIHx8IHNpemVoaW50b2JqID09IE5VTEwpCisgICAgaWYgKHNpemVoaW50b2JqID09IFB5X05vbmUpCiAgICAgICAgIHNpemVoaW50ID0gLTE7CiAgICAgZWxzZSBpZiAoUHlMb25nX0NoZWNrKHNpemVoaW50b2JqKSkKICAgICAgICAgc2l6ZWhpbnQgPSBQeUxvbmdfQXNTc2l6ZV90KHNpemVoaW50b2JqKTsKQEAgLTE0MjAsOCArMTQ0NSwxMyBAQAogICAgIHJldHVybiBzcjsKIH0KIAorLypbY2xpbmljIGlucHV0XQorIF9tdWx0aWJ5dGVjb2RlYy5NdWx0aWJ5dGVTdHJlYW1SZWFkZXIucmVzZXQKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKwogc3RhdGljIFB5T2JqZWN0ICoKLW1ic3RyZWFtcmVhZGVyX3Jlc2V0KE11bHRpYnl0ZVN0cmVhbVJlYWRlck9iamVjdCAqc2VsZikKK19tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVTdHJlYW1SZWFkZXJfcmVzZXRfaW1wbChNdWx0aWJ5dGVTdHJlYW1SZWFkZXJPYmplY3QgKnNlbGYpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MTM4NDkwMzcwYTY4MGFiYyBpbnB1dD01ZDQxNDBkYjg0YjVlMWUyXSovCiB7CiAgICAgaWYgKHNlbGYtPmNvZGVjLT5kZWNyZXNldCAhPSBOVUxMICYmCiAgICAgICAgIHNlbGYtPmNvZGVjLT5kZWNyZXNldCgmc2VsZi0+c3RhdGUsIHNlbGYtPmNvZGVjLT5jb25maWcpICE9IDApCkBAIC0xNDMyLDE0ICsxNDYyLDEwIEBACiB9CiAKIHN0YXRpYyBzdHJ1Y3QgUHlNZXRob2REZWYgbWJzdHJlYW1yZWFkZXJfbWV0aG9kc1tdID0gewotICAgIHsicmVhZCIsICAgICAgICAgICAgKFB5Q0Z1bmN0aW9uKW1ic3RyZWFtcmVhZGVyX3JlYWQsCi0gICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUywgTlVMTH0sCi0gICAgeyJyZWFkbGluZSIsICAgICAgICAoUHlDRnVuY3Rpb24pbWJzdHJlYW1yZWFkZXJfcmVhZGxpbmUsCi0gICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUywgTlVMTH0sCi0gICAgeyJyZWFkbGluZXMiLCAgICAgICAoUHlDRnVuY3Rpb24pbWJzdHJlYW1yZWFkZXJfcmVhZGxpbmVzLAotICAgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MsIE5VTEx9LAotICAgIHsicmVzZXQiLCAgICAgICAgICAgKFB5Q0Z1bmN0aW9uKW1ic3RyZWFtcmVhZGVyX3Jlc2V0LAotICAgICAgICAgICAgICAgICAgICBNRVRIX05PQVJHUywgTlVMTH0sCisgICAgX01VTFRJQllURUNPREVDX01VTFRJQllURVNUUkVBTVJFQURFUl9SRUFEX01FVEhPRERFRgorICAgIF9NVUxUSUJZVEVDT0RFQ19NVUxUSUJZVEVTVFJFQU1SRUFERVJfUkVBRExJTkVfTUVUSE9EREVGCisgICAgX01VTFRJQllURUNPREVDX01VTFRJQllURVNUUkVBTVJFQURFUl9SRUFETElORVNfTUVUSE9EREVGCisgICAgX01VTFRJQllURUNPREVDX01VTFRJQllURVNUUkVBTVJFQURFUl9SRVNFVF9NRVRIT0RERUYKICAgICB7TlVMTCwgICAgICAgICAgICAgIE5VTEx9LAogfTsKIApAQCAtMTU2Miw5ICsxNTg4LDEwIEBACiB9OwogCiAKLS8qKgotICogTXVsdGlieXRlU3RyZWFtV3JpdGVyIG9iamVjdAotICovCisvKltjbGluaWMgaW5wdXRdCisgY2xhc3MgX211bHRpYnl0ZWNvZGVjLk11bHRpYnl0ZVN0cmVhbVdyaXRlciAiTXVsdGlieXRlU3RyZWFtV3JpdGVyT2JqZWN0ICoiICImTXVsdGlieXRlU3RyZWFtV3JpdGVyX1R5cGUiCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZGEzOWEzZWU1ZTZiNGIwZCBpbnB1dD1jZGUyMjc4MGEyMTVkNmFjXSovCiAKIHN0YXRpYyBpbnQKIG1ic3RyZWFtd3JpdGVyX2l3cml0ZShNdWx0aWJ5dGVTdHJlYW1Xcml0ZXJPYmplY3QgKnNlbGYsCkBAIC0xNTg1LDggKzE2MTIsMTYgQEAKICAgICByZXR1cm4gMDsKIH0KIAorLypbY2xpbmljIGlucHV0XQorIF9tdWx0aWJ5dGVjb2RlYy5NdWx0aWJ5dGVTdHJlYW1Xcml0ZXIud3JpdGUKKworICAgIHN0cm9iajogb2JqZWN0CisgICAgLworW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCiBzdGF0aWMgUHlPYmplY3QgKgotbWJzdHJlYW13cml0ZXJfd3JpdGUoTXVsdGlieXRlU3RyZWFtV3JpdGVyT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqc3Ryb2JqKQorX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVdyaXRlcl93cml0ZShNdWx0aWJ5dGVTdHJlYW1Xcml0ZXJPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpzdHJvYmopCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NDRlOWViMGRiMDM3NGNiMSBpbnB1dD01NTFkYzRjMDE4YzEwYTJiXSovCiB7CiAgICAgaWYgKG1ic3RyZWFtd3JpdGVyX2l3cml0ZShzZWxmLCBzdHJvYmopKQogICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTE1OTQsOCArMTYyOSwxNiBAQAogICAgICAgICBQeV9SRVRVUk5fTk9ORTsKIH0KIAorLypbY2xpbmljIGlucHV0XQorIF9tdWx0aWJ5dGVjb2RlYy5NdWx0aWJ5dGVTdHJlYW1Xcml0ZXIud3JpdGVsaW5lcworCisgICAgbGluZXM6IG9iamVjdAorICAgIC8KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKwogc3RhdGljIFB5T2JqZWN0ICoKLW1ic3RyZWFtd3JpdGVyX3dyaXRlbGluZXMoTXVsdGlieXRlU3RyZWFtV3JpdGVyT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqbGluZXMpCitfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlU3RyZWFtV3JpdGVyX3dyaXRlbGluZXMoTXVsdGlieXRlU3RyZWFtV3JpdGVyT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqbGluZXMpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NGZhY2JiMDYzOGRkZTE3MiBpbnB1dD01Nzc5N2ZlNzAwOGQ0ZTk2XSovCiB7CiAgICAgUHlPYmplY3QgKnN0cm9iajsKICAgICBpbnQgaSwgcjsKQEAgLTE2MjEsOCArMTY2NCwxMyBAQAogICAgIFB5X1JFVFVSTl9OT05FOwogfQogCisvKltjbGluaWMgaW5wdXRdCisgX211bHRpYnl0ZWNvZGVjLk11bHRpYnl0ZVN0cmVhbVdyaXRlci5yZXNldAorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCiBzdGF0aWMgUHlPYmplY3QgKgotbWJzdHJlYW13cml0ZXJfcmVzZXQoTXVsdGlieXRlU3RyZWFtV3JpdGVyT2JqZWN0ICpzZWxmKQorX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVdyaXRlcl9yZXNldF9pbXBsKE11bHRpYnl0ZVN0cmVhbVdyaXRlck9iamVjdCAqc2VsZikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD04ZjU0YTRkOWIwM2RiNWZmIGlucHV0PWI1NmRiY2JhZjM1Y2MxMGNdKi8KIHsKICAgICBQeU9iamVjdCAqcHdydDsKIApAQCAtMTcyMSwxMyArMTc2OSwxMCBAQAogfQogCiBzdGF0aWMgc3RydWN0IFB5TWV0aG9kRGVmIG1ic3RyZWFtd3JpdGVyX21ldGhvZHNbXSA9IHsKLSAgICB7IndyaXRlIiwgICAgICAgICAgIChQeUNGdW5jdGlvbiltYnN0cmVhbXdyaXRlcl93cml0ZSwKLSAgICAgICAgICAgICAgICAgICAgTUVUSF9PLCBOVUxMfSwKLSAgICB7IndyaXRlbGluZXMiLCAgICAgIChQeUNGdW5jdGlvbiltYnN0cmVhbXdyaXRlcl93cml0ZWxpbmVzLAotICAgICAgICAgICAgICAgICAgICBNRVRIX08sIE5VTEx9LAotICAgIHsicmVzZXQiLCAgICAgICAgICAgKFB5Q0Z1bmN0aW9uKW1ic3RyZWFtd3JpdGVyX3Jlc2V0LAotICAgICAgICAgICAgICAgICAgICBNRVRIX05PQVJHUywgTlVMTH0sCi0gICAge05VTEwsICAgICAgICAgICAgICBOVUxMfSwKKyAgICBfTVVMVElCWVRFQ09ERUNfTVVMVElCWVRFU1RSRUFNV1JJVEVSX1dSSVRFX01FVEhPRERFRgorICAgIF9NVUxUSUJZVEVDT0RFQ19NVUxUSUJZVEVTVFJFQU1XUklURVJfV1JJVEVMSU5FU19NRVRIT0RERUYKKyAgICBfTVVMVElCWVRFQ09ERUNfTVVMVElCWVRFU1RSRUFNV1JJVEVSX1JFU0VUX01FVEhPRERFRgorICAgIHtOVUxMLCBOVUxMfSwKIH07CiAKIHN0YXRpYyBQeU1lbWJlckRlZiBtYnN0cmVhbXdyaXRlcl9tZW1iZXJzW10gPSB7CkBAIC0xNzgxLDEyICsxODI2LDE2IEBACiB9OwogCiAKLS8qKgotICogRXhwb3NlZCBmYWN0b3J5IGZ1bmN0aW9uCi0gKi8KKy8qW2NsaW5pYyBpbnB1dF0KK19tdWx0aWJ5dGVjb2RlYy5fX2NyZWF0ZV9jb2RlYworCisgICAgYXJnOiBvYmplY3QKKyAgICAvCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1fX2NyZWF0ZV9jb2RlYyhQeU9iamVjdCAqaWdub3JlLCBQeU9iamVjdCAqYXJnKQorX211bHRpYnl0ZWNvZGVjX19fY3JlYXRlX2NvZGVjKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmcpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZmJlNzRmNjUxMDY0MDE2MyBpbnB1dD02ODQwYjJhNmIxODNmY2ZhXSovCiB7CiAgICAgTXVsdGlieXRlQ29kZWNPYmplY3QgKnNlbGY7CiAgICAgTXVsdGlieXRlQ29kZWMgKmNvZGVjOwpAQCAtMTgwOSw3ICsxODU4LDcgQEAKIH0KIAogc3RhdGljIHN0cnVjdCBQeU1ldGhvZERlZiBfX21ldGhvZHNbXSA9IHsKLSAgICB7Il9fY3JlYXRlX2NvZGVjIiwgKFB5Q0Z1bmN0aW9uKV9fY3JlYXRlX2NvZGVjLCBNRVRIX099LAorICAgIF9NVUxUSUJZVEVDT0RFQ19fX0NSRUFURV9DT0RFQ19NRVRIT0RERUYKICAgICB7TlVMTCwgTlVMTH0sCiB9OwogCmRpZmYgLS1naXQgYS9Nb2R1bGVzL2NsaW5pYy9fbHptYW1vZHVsZS5jLmggYi9Nb2R1bGVzL2NsaW5pYy9fbHptYW1vZHVsZS5jLmgKaW5kZXggYzFhZDg4Mi4uYTQ2YTE1MiAxMDA2NDQKLS0tIGEvTW9kdWxlcy9jbGluaWMvX2x6bWFtb2R1bGUuYy5oCisrKyBiL01vZHVsZXMvY2xpbmljL19sem1hbW9kdWxlLmMuaApAQCAtNjIsMzQgKzYyLDQzIEBACiB9CiAKIFB5RG9jX1NUUlZBUihfbHptYV9MWk1BRGVjb21wcmVzc29yX2RlY29tcHJlc3NfX2RvY19fLAotImRlY29tcHJlc3MoJHNlbGYsIGRhdGEsIC8pXG4iCisiZGVjb21wcmVzcygkc2VsZiwgLywgZGF0YSwgbWF4X2xlbmd0aD0tMSlcbiIKICItLVxuIgogIlxuIgotIlByb3ZpZGUgZGF0YSB0byB0aGUgZGVjb21wcmVzc29yIG9iamVjdC5cbiIKKyJEZWNvbXByZXNzZXMgKmRhdGEqLCByZXR1cm5pbmcgdW5jb21wcmVzc2VkIGRhdGEgYXMgYnl0ZXMuXG4iCiAiXG4iCi0iUmV0dXJucyBhIGNodW5rIG9mIGRlY29tcHJlc3NlZCBkYXRhIGlmIHBvc3NpYmxlLCBvciBiXCdcJyBvdGhlcndpc2UuXG4iCisiSWYgKm1heF9sZW5ndGgqIGlzIG5vbm5lZ2F0aXZlLCByZXR1cm5zIGF0IG1vc3QgKm1heF9sZW5ndGgqIGJ5dGVzIG9mXG4iCisiZGVjb21wcmVzc2VkIGRhdGEuIElmIHRoaXMgbGltaXQgaXMgcmVhY2hlZCBhbmQgZnVydGhlciBvdXRwdXQgY2FuIGJlXG4iCisicHJvZHVjZWQsICpzZWxmLm5lZWRzX2lucHV0KiB3aWxsIGJlIHNldCB0byBgYEZhbHNlYGAuIEluIHRoaXMgY2FzZSwgdGhlIG5leHRcbiIKKyJjYWxsIHRvICpkZWNvbXByZXNzKCkqIG1heSBwcm92aWRlICpkYXRhKiBhcyBiXCdcJyB0byBvYnRhaW4gbW9yZSBvZiB0aGUgb3V0cHV0LlxuIgogIlxuIgotIkF0dGVtcHRpbmcgdG8gZGVjb21wcmVzcyBkYXRhIGFmdGVyIHRoZSBlbmQgb2Ygc3RyZWFtIGlzIHJlYWNoZWRcbiIKLSJyYWlzZXMgYW4gRU9GRXJyb3IuICBBbnkgZGF0YSBmb3VuZCBhZnRlciB0aGUgZW5kIG9mIHRoZSBzdHJlYW1cbiIKLSJpcyBpZ25vcmVkIGFuZCBzYXZlZCBpbiB0aGUgdW51c2VkX2RhdGEgYXR0cmlidXRlLiIpOworIklmIGFsbCBvZiB0aGUgaW5wdXQgZGF0YSB3YXMgZGVjb21wcmVzc2VkIGFuZCByZXR1cm5lZCAoZWl0aGVyIGJlY2F1c2UgdGhpc1xuIgorIndhcyBsZXNzIHRoYW4gKm1heF9sZW5ndGgqIGJ5dGVzLCBvciBiZWNhdXNlICptYXhfbGVuZ3RoKiB3YXMgbmVnYXRpdmUpLFxuIgorIipzZWxmLm5lZWRzX2lucHV0KiB3aWxsIGJlIHNldCB0byBUcnVlLlxuIgorIlxuIgorIkF0dGVtcHRpbmcgdG8gZGVjb21wcmVzcyBkYXRhIGFmdGVyIHRoZSBlbmQgb2Ygc3RyZWFtIGlzIHJlYWNoZWQgcmFpc2VzIGFuXG4iCisiRU9GRXJyb3IuICBBbnkgZGF0YSBmb3VuZCBhZnRlciB0aGUgZW5kIG9mIHRoZSBzdHJlYW0gaXMgaWdub3JlZCBhbmQgc2F2ZWQgaW5cbiIKKyJ0aGUgdW51c2VkX2RhdGEgYXR0cmlidXRlLiIpOwogCiAjZGVmaW5lIF9MWk1BX0xaTUFERUNPTVBSRVNTT1JfREVDT01QUkVTU19NRVRIT0RERUYgICAgXAotICAgIHsiZGVjb21wcmVzcyIsIChQeUNGdW5jdGlvbilfbHptYV9MWk1BRGVjb21wcmVzc29yX2RlY29tcHJlc3MsIE1FVEhfVkFSQVJHUywgX2x6bWFfTFpNQURlY29tcHJlc3Nvcl9kZWNvbXByZXNzX19kb2NfX30sCisgICAgeyJkZWNvbXByZXNzIiwgKFB5Q0Z1bmN0aW9uKV9sem1hX0xaTUFEZWNvbXByZXNzb3JfZGVjb21wcmVzcywgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIF9sem1hX0xaTUFEZWNvbXByZXNzb3JfZGVjb21wcmVzc19fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotX2x6bWFfTFpNQURlY29tcHJlc3Nvcl9kZWNvbXByZXNzX2ltcGwoRGVjb21wcmVzc29yICpzZWxmLCBQeV9idWZmZXIgKmRhdGEpOworX2x6bWFfTFpNQURlY29tcHJlc3Nvcl9kZWNvbXByZXNzX2ltcGwoRGVjb21wcmVzc29yICpzZWxmLCBQeV9idWZmZXIgKmRhdGEsIFB5X3NzaXplX3QgbWF4X2xlbmd0aCk7CiAKIHN0YXRpYyBQeU9iamVjdCAqCi1fbHptYV9MWk1BRGVjb21wcmVzc29yX2RlY29tcHJlc3MoRGVjb21wcmVzc29yICpzZWxmLCBQeU9iamVjdCAqYXJncykKK19sem1hX0xaTUFEZWNvbXByZXNzb3JfZGVjb21wcmVzcyhEZWNvbXByZXNzb3IgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewogICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsiZGF0YSIsICJtYXhfbGVuZ3RoIiwgTlVMTH07CiAgICAgUHlfYnVmZmVyIGRhdGEgPSB7TlVMTCwgTlVMTH07CisgICAgUHlfc3NpemVfdCBtYXhfbGVuZ3RoID0gLTE7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKLSAgICAgICAgInkqOmRlY29tcHJlc3MiLAotICAgICAgICAmZGF0YSkpCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAieSp8bjpkZWNvbXByZXNzIiwgX2tleXdvcmRzLAorICAgICAgICAmZGF0YSwgJm1heF9sZW5ndGgpKQogICAgICAgICBnb3RvIGV4aXQ7Ci0gICAgcmV0dXJuX3ZhbHVlID0gX2x6bWFfTFpNQURlY29tcHJlc3Nvcl9kZWNvbXByZXNzX2ltcGwoc2VsZiwgJmRhdGEpOworICAgIHJldHVybl92YWx1ZSA9IF9sem1hX0xaTUFEZWNvbXByZXNzb3JfZGVjb21wcmVzc19pbXBsKHNlbGYsICZkYXRhLCBtYXhfbGVuZ3RoKTsKIAogZXhpdDoKICAgICAvKiBDbGVhbnVwIGZvciBkYXRhICovCkBAIC0yNDIsNCArMjUxLDQgQEAKIAogICAgIHJldHVybiByZXR1cm5fdmFsdWU7CiB9Ci0vKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ODA4ZmVjODIxNmFjNzEyYiBpbnB1dD1hOTA0OTA1NDAxM2ExYjc3XSovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZDE3ZmFjMzhiMDk2MjZkOCBpbnB1dD1hOTA0OTA1NDAxM2ExYjc3XSovCmRpZmYgLS1naXQgYS9Nb2R1bGVzL2NsaW5pYy9hcnJheW1vZHVsZS5jLmggYi9Nb2R1bGVzL2NsaW5pYy9hcnJheW1vZHVsZS5jLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTdkNzY5MAotLS0gL2Rldi9udWxsCisrKyBiL01vZHVsZXMvY2xpbmljL2FycmF5bW9kdWxlLmMuaApAQCAtMCwwICsxLDUwNSBAQAorLypbY2xpbmljIGlucHV0XQorcHJlc2VydmUKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGFycmF5X2FycmF5X19fY29weV9fX19kb2NfXywKKyJfX2NvcHlfXygkc2VsZiwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBhIGNvcHkgb2YgdGhlIGFycmF5LiIpOworCisjZGVmaW5lIEFSUkFZX0FSUkFZX19fQ09QWV9fX01FVEhPRERFRiAgICBcCisgICAgeyJfX2NvcHlfXyIsIChQeUNGdW5jdGlvbilhcnJheV9hcnJheV9fX2NvcHlfXywgTUVUSF9OT0FSR1MsIGFycmF5X2FycmF5X19fY29weV9fX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCithcnJheV9hcnJheV9fX2NvcHlfX19pbXBsKGFycmF5b2JqZWN0ICpzZWxmKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2FycmF5X2FycmF5X19fY29weV9fKGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBhcnJheV9hcnJheV9fX2NvcHlfX19pbXBsKHNlbGYpOworfQorCitQeURvY19TVFJWQVIoYXJyYXlfYXJyYXlfX19kZWVwY29weV9fX19kb2NfXywKKyJfX2RlZXBjb3B5X18oJHNlbGYsIHVudXNlZCwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBhIGNvcHkgb2YgdGhlIGFycmF5LiIpOworCisjZGVmaW5lIEFSUkFZX0FSUkFZX19fREVFUENPUFlfX19NRVRIT0RERUYgICAgXAorICAgIHsiX19kZWVwY29weV9fIiwgKFB5Q0Z1bmN0aW9uKWFycmF5X2FycmF5X19fZGVlcGNvcHlfXywgTUVUSF9PLCBhcnJheV9hcnJheV9fX2RlZXBjb3B5X19fX2RvY19ffSwKKworUHlEb2NfU1RSVkFSKGFycmF5X2FycmF5X2NvdW50X19kb2NfXywKKyJjb3VudCgkc2VsZiwgdiwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBudW1iZXIgb2Ygb2NjdXJyZW5jZXMgb2YgdiBpbiB0aGUgYXJyYXkuIik7CisKKyNkZWZpbmUgQVJSQVlfQVJSQVlfQ09VTlRfTUVUSE9EREVGICAgIFwKKyAgICB7ImNvdW50IiwgKFB5Q0Z1bmN0aW9uKWFycmF5X2FycmF5X2NvdW50LCBNRVRIX08sIGFycmF5X2FycmF5X2NvdW50X19kb2NfX30sCisKK1B5RG9jX1NUUlZBUihhcnJheV9hcnJheV9pbmRleF9fZG9jX18sCisiaW5kZXgoJHNlbGYsIHYsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gaW5kZXggb2YgZmlyc3Qgb2NjdXJyZW5jZSBvZiB2IGluIHRoZSBhcnJheS4iKTsKKworI2RlZmluZSBBUlJBWV9BUlJBWV9JTkRFWF9NRVRIT0RERUYgICAgXAorICAgIHsiaW5kZXgiLCAoUHlDRnVuY3Rpb24pYXJyYXlfYXJyYXlfaW5kZXgsIE1FVEhfTywgYXJyYXlfYXJyYXlfaW5kZXhfX2RvY19ffSwKKworUHlEb2NfU1RSVkFSKGFycmF5X2FycmF5X3JlbW92ZV9fZG9jX18sCisicmVtb3ZlKCRzZWxmLCB2LCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmVtb3ZlIHRoZSBmaXJzdCBvY2N1cnJlbmNlIG9mIHYgaW4gdGhlIGFycmF5LiIpOworCisjZGVmaW5lIEFSUkFZX0FSUkFZX1JFTU9WRV9NRVRIT0RERUYgICAgXAorICAgIHsicmVtb3ZlIiwgKFB5Q0Z1bmN0aW9uKWFycmF5X2FycmF5X3JlbW92ZSwgTUVUSF9PLCBhcnJheV9hcnJheV9yZW1vdmVfX2RvY19ffSwKKworUHlEb2NfU1RSVkFSKGFycmF5X2FycmF5X3BvcF9fZG9jX18sCisicG9wKCRzZWxmLCBpPS0xLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSBpLXRoIGVsZW1lbnQgYW5kIGRlbGV0ZSBpdCBmcm9tIHRoZSBhcnJheS5cbiIKKyJcbiIKKyJpIGRlZmF1bHRzIHRvIC0xLiIpOworCisjZGVmaW5lIEFSUkFZX0FSUkFZX1BPUF9NRVRIT0RERUYgICAgXAorICAgIHsicG9wIiwgKFB5Q0Z1bmN0aW9uKWFycmF5X2FycmF5X3BvcCwgTUVUSF9WQVJBUkdTLCBhcnJheV9hcnJheV9wb3BfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2FycmF5X2FycmF5X3BvcF9pbXBsKGFycmF5b2JqZWN0ICpzZWxmLCBQeV9zc2l6ZV90IGkpOworCitzdGF0aWMgUHlPYmplY3QgKgorYXJyYXlfYXJyYXlfcG9wKGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeV9zc2l6ZV90IGkgPSAtMTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAifG46cG9wIiwKKyAgICAgICAgJmkpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYXJyYXlfYXJyYXlfcG9wX2ltcGwoc2VsZiwgaSk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKGFycmF5X2FycmF5X2V4dGVuZF9fZG9jX18sCisiZXh0ZW5kKCRzZWxmLCBiYiwgLylcbiIKKyItLVxuIgorIlxuIgorIkFwcGVuZCBpdGVtcyB0byB0aGUgZW5kIG9mIHRoZSBhcnJheS4iKTsKKworI2RlZmluZSBBUlJBWV9BUlJBWV9FWFRFTkRfTUVUSE9EREVGICAgIFwKKyAgICB7ImV4dGVuZCIsIChQeUNGdW5jdGlvbilhcnJheV9hcnJheV9leHRlbmQsIE1FVEhfTywgYXJyYXlfYXJyYXlfZXh0ZW5kX19kb2NfX30sCisKK1B5RG9jX1NUUlZBUihhcnJheV9hcnJheV9pbnNlcnRfX2RvY19fLAorImluc2VydCgkc2VsZiwgaSwgdiwgLylcbiIKKyItLVxuIgorIlxuIgorIkluc2VydCBhIG5ldyBpdGVtIHYgaW50byB0aGUgYXJyYXkgYmVmb3JlIHBvc2l0aW9uIGkuIik7CisKKyNkZWZpbmUgQVJSQVlfQVJSQVlfSU5TRVJUX01FVEhPRERFRiAgICBcCisgICAgeyJpbnNlcnQiLCAoUHlDRnVuY3Rpb24pYXJyYXlfYXJyYXlfaW5zZXJ0LCBNRVRIX1ZBUkFSR1MsIGFycmF5X2FycmF5X2luc2VydF9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorYXJyYXlfYXJyYXlfaW5zZXJ0X2ltcGwoYXJyYXlvYmplY3QgKnNlbGYsIFB5X3NzaXplX3QgaSwgUHlPYmplY3QgKnYpOworCitzdGF0aWMgUHlPYmplY3QgKgorYXJyYXlfYXJyYXlfaW5zZXJ0KGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeV9zc2l6ZV90IGk7CisgICAgUHlPYmplY3QgKnY7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIm5POmluc2VydCIsCisgICAgICAgICZpLCAmdikpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBhcnJheV9hcnJheV9pbnNlcnRfaW1wbChzZWxmLCBpLCB2KTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitQeURvY19TVFJWQVIoYXJyYXlfYXJyYXlfYnVmZmVyX2luZm9fX2RvY19fLAorImJ1ZmZlcl9pbmZvKCRzZWxmLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGEgdHVwbGUgKGFkZHJlc3MsIGxlbmd0aCkgZ2l2aW5nIHRoZSBjdXJyZW50IG1lbW9yeSBhZGRyZXNzIGFuZCB0aGUgbGVuZ3RoIGluIGl0ZW1zIG9mIHRoZSBidWZmZXIgdXNlZCB0byBob2xkIGFycmF5XCdzIGNvbnRlbnRzLlxuIgorIlxuIgorIlRoZSBsZW5ndGggc2hvdWxkIGJlIG11bHRpcGxpZWQgYnkgdGhlIGl0ZW1zaXplIGF0dHJpYnV0ZSB0byBjYWxjdWxhdGVcbiIKKyJ0aGUgYnVmZmVyIGxlbmd0aCBpbiBieXRlcy4iKTsKKworI2RlZmluZSBBUlJBWV9BUlJBWV9CVUZGRVJfSU5GT19NRVRIT0RERUYgICAgXAorICAgIHsiYnVmZmVyX2luZm8iLCAoUHlDRnVuY3Rpb24pYXJyYXlfYXJyYXlfYnVmZmVyX2luZm8sIE1FVEhfTk9BUkdTLCBhcnJheV9hcnJheV9idWZmZXJfaW5mb19fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorYXJyYXlfYXJyYXlfYnVmZmVyX2luZm9faW1wbChhcnJheW9iamVjdCAqc2VsZik7CisKK3N0YXRpYyBQeU9iamVjdCAqCithcnJheV9hcnJheV9idWZmZXJfaW5mbyhhcnJheW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gYXJyYXlfYXJyYXlfYnVmZmVyX2luZm9faW1wbChzZWxmKTsKK30KKworUHlEb2NfU1RSVkFSKGFycmF5X2FycmF5X2FwcGVuZF9fZG9jX18sCisiYXBwZW5kKCRzZWxmLCB2LCAvKVxuIgorIi0tXG4iCisiXG4iCisiQXBwZW5kIG5ldyB2YWx1ZSB2IHRvIHRoZSBlbmQgb2YgdGhlIGFycmF5LiIpOworCisjZGVmaW5lIEFSUkFZX0FSUkFZX0FQUEVORF9NRVRIT0RERUYgICAgXAorICAgIHsiYXBwZW5kIiwgKFB5Q0Z1bmN0aW9uKWFycmF5X2FycmF5X2FwcGVuZCwgTUVUSF9PLCBhcnJheV9hcnJheV9hcHBlbmRfX2RvY19ffSwKKworUHlEb2NfU1RSVkFSKGFycmF5X2FycmF5X2J5dGVzd2FwX19kb2NfXywKKyJieXRlc3dhcCgkc2VsZiwgLylcbiIKKyItLVxuIgorIlxuIgorIkJ5dGVzd2FwIGFsbCBpdGVtcyBvZiB0aGUgYXJyYXkuXG4iCisiXG4iCisiSWYgdGhlIGl0ZW1zIGluIHRoZSBhcnJheSBhcmUgbm90IDEsIDIsIDQsIG9yIDggYnl0ZXMgaW4gc2l6ZSwgUnVudGltZUVycm9yIGlzXG4iCisicmFpc2VkLiIpOworCisjZGVmaW5lIEFSUkFZX0FSUkFZX0JZVEVTV0FQX01FVEhPRERFRiAgICBcCisgICAgeyJieXRlc3dhcCIsIChQeUNGdW5jdGlvbilhcnJheV9hcnJheV9ieXRlc3dhcCwgTUVUSF9OT0FSR1MsIGFycmF5X2FycmF5X2J5dGVzd2FwX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCithcnJheV9hcnJheV9ieXRlc3dhcF9pbXBsKGFycmF5b2JqZWN0ICpzZWxmKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2FycmF5X2FycmF5X2J5dGVzd2FwKGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBhcnJheV9hcnJheV9ieXRlc3dhcF9pbXBsKHNlbGYpOworfQorCitQeURvY19TVFJWQVIoYXJyYXlfYXJyYXlfcmV2ZXJzZV9fZG9jX18sCisicmV2ZXJzZSgkc2VsZiwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldmVyc2UgdGhlIG9yZGVyIG9mIHRoZSBpdGVtcyBpbiB0aGUgYXJyYXkuIik7CisKKyNkZWZpbmUgQVJSQVlfQVJSQVlfUkVWRVJTRV9NRVRIT0RERUYgICAgXAorICAgIHsicmV2ZXJzZSIsIChQeUNGdW5jdGlvbilhcnJheV9hcnJheV9yZXZlcnNlLCBNRVRIX05PQVJHUywgYXJyYXlfYXJyYXlfcmV2ZXJzZV9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorYXJyYXlfYXJyYXlfcmV2ZXJzZV9pbXBsKGFycmF5b2JqZWN0ICpzZWxmKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2FycmF5X2FycmF5X3JldmVyc2UoYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIGFycmF5X2FycmF5X3JldmVyc2VfaW1wbChzZWxmKTsKK30KKworUHlEb2NfU1RSVkFSKGFycmF5X2FycmF5X2Zyb21maWxlX19kb2NfXywKKyJmcm9tZmlsZSgkc2VsZiwgZiwgbiwgLylcbiIKKyItLVxuIgorIlxuIgorIlJlYWQgbiBvYmplY3RzIGZyb20gdGhlIGZpbGUgb2JqZWN0IGYgYW5kIGFwcGVuZCB0aGVtIHRvIHRoZSBlbmQgb2YgdGhlIGFycmF5LiIpOworCisjZGVmaW5lIEFSUkFZX0FSUkFZX0ZST01GSUxFX01FVEhPRERFRiAgICBcCisgICAgeyJmcm9tZmlsZSIsIChQeUNGdW5jdGlvbilhcnJheV9hcnJheV9mcm9tZmlsZSwgTUVUSF9WQVJBUkdTLCBhcnJheV9hcnJheV9mcm9tZmlsZV9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorYXJyYXlfYXJyYXlfZnJvbWZpbGVfaW1wbChhcnJheW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmYsIFB5X3NzaXplX3Qgbik7CisKK3N0YXRpYyBQeU9iamVjdCAqCithcnJheV9hcnJheV9mcm9tZmlsZShhcnJheW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlPYmplY3QgKmY7CisgICAgUHlfc3NpemVfdCBuOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJPbjpmcm9tZmlsZSIsCisgICAgICAgICZmLCAmbikpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBhcnJheV9hcnJheV9mcm9tZmlsZV9pbXBsKHNlbGYsIGYsIG4pOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK1B5RG9jX1NUUlZBUihhcnJheV9hcnJheV90b2ZpbGVfX2RvY19fLAorInRvZmlsZSgkc2VsZiwgZiwgLylcbiIKKyItLVxuIgorIlxuIgorIldyaXRlIGFsbCBpdGVtcyAoYXMgbWFjaGluZSB2YWx1ZXMpIHRvIHRoZSBmaWxlIG9iamVjdCBmLiIpOworCisjZGVmaW5lIEFSUkFZX0FSUkFZX1RPRklMRV9NRVRIT0RERUYgICAgXAorICAgIHsidG9maWxlIiwgKFB5Q0Z1bmN0aW9uKWFycmF5X2FycmF5X3RvZmlsZSwgTUVUSF9PLCBhcnJheV9hcnJheV90b2ZpbGVfX2RvY19ffSwKKworUHlEb2NfU1RSVkFSKGFycmF5X2FycmF5X2Zyb21saXN0X19kb2NfXywKKyJmcm9tbGlzdCgkc2VsZiwgbGlzdCwgLylcbiIKKyItLVxuIgorIlxuIgorIkFwcGVuZCBpdGVtcyB0byBhcnJheSBmcm9tIGxpc3QuIik7CisKKyNkZWZpbmUgQVJSQVlfQVJSQVlfRlJPTUxJU1RfTUVUSE9EREVGICAgIFwKKyAgICB7ImZyb21saXN0IiwgKFB5Q0Z1bmN0aW9uKWFycmF5X2FycmF5X2Zyb21saXN0LCBNRVRIX08sIGFycmF5X2FycmF5X2Zyb21saXN0X19kb2NfX30sCisKK1B5RG9jX1NUUlZBUihhcnJheV9hcnJheV90b2xpc3RfX2RvY19fLAorInRvbGlzdCgkc2VsZiwgLylcbiIKKyItLVxuIgorIlxuIgorIkNvbnZlcnQgYXJyYXkgdG8gYW4gb3JkaW5hcnkgbGlzdCB3aXRoIHRoZSBzYW1lIGl0ZW1zLiIpOworCisjZGVmaW5lIEFSUkFZX0FSUkFZX1RPTElTVF9NRVRIT0RERUYgICAgXAorICAgIHsidG9saXN0IiwgKFB5Q0Z1bmN0aW9uKWFycmF5X2FycmF5X3RvbGlzdCwgTUVUSF9OT0FSR1MsIGFycmF5X2FycmF5X3RvbGlzdF9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorYXJyYXlfYXJyYXlfdG9saXN0X2ltcGwoYXJyYXlvYmplY3QgKnNlbGYpOworCitzdGF0aWMgUHlPYmplY3QgKgorYXJyYXlfYXJyYXlfdG9saXN0KGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBhcnJheV9hcnJheV90b2xpc3RfaW1wbChzZWxmKTsKK30KKworUHlEb2NfU1RSVkFSKGFycmF5X2FycmF5X2Zyb21zdHJpbmdfX2RvY19fLAorImZyb21zdHJpbmcoJHNlbGYsIGJ1ZmZlciwgLylcbiIKKyItLVxuIgorIlxuIgorIkFwcGVuZHMgaXRlbXMgZnJvbSB0aGUgc3RyaW5nLCBpbnRlcnByZXRpbmcgaXQgYXMgYW4gYXJyYXkgb2YgbWFjaGluZSB2YWx1ZXMsIGFzIGlmIGl0IGhhZCBiZWVuIHJlYWQgZnJvbSBhIGZpbGUgdXNpbmcgdGhlIGZyb21maWxlKCkgbWV0aG9kKS5cbiIKKyJcbiIKKyJUaGlzIG1ldGhvZCBpcyBkZXByZWNhdGVkLiBVc2UgZnJvbWJ5dGVzIGluc3RlYWQuIik7CisKKyNkZWZpbmUgQVJSQVlfQVJSQVlfRlJPTVNUUklOR19NRVRIT0RERUYgICAgXAorICAgIHsiZnJvbXN0cmluZyIsIChQeUNGdW5jdGlvbilhcnJheV9hcnJheV9mcm9tc3RyaW5nLCBNRVRIX1ZBUkFSR1MsIGFycmF5X2FycmF5X2Zyb21zdHJpbmdfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2FycmF5X2FycmF5X2Zyb21zdHJpbmdfaW1wbChhcnJheW9iamVjdCAqc2VsZiwgUHlfYnVmZmVyICpidWZmZXIpOworCitzdGF0aWMgUHlPYmplY3QgKgorYXJyYXlfYXJyYXlfZnJvbXN0cmluZyhhcnJheW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlfYnVmZmVyIGJ1ZmZlciA9IHtOVUxMLCBOVUxMfTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAicyo6ZnJvbXN0cmluZyIsCisgICAgICAgICZidWZmZXIpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYXJyYXlfYXJyYXlfZnJvbXN0cmluZ19pbXBsKHNlbGYsICZidWZmZXIpOworCitleGl0OgorICAgIC8qIENsZWFudXAgZm9yIGJ1ZmZlciAqLworICAgIGlmIChidWZmZXIub2JqKQorICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJmJ1ZmZlcik7CisKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitQeURvY19TVFJWQVIoYXJyYXlfYXJyYXlfZnJvbWJ5dGVzX19kb2NfXywKKyJmcm9tYnl0ZXMoJHNlbGYsIGJ1ZmZlciwgLylcbiIKKyItLVxuIgorIlxuIgorIkFwcGVuZHMgaXRlbXMgZnJvbSB0aGUgc3RyaW5nLCBpbnRlcnByZXRpbmcgaXQgYXMgYW4gYXJyYXkgb2YgbWFjaGluZSB2YWx1ZXMsIGFzIGlmIGl0IGhhZCBiZWVuIHJlYWQgZnJvbSBhIGZpbGUgdXNpbmcgdGhlIGZyb21maWxlKCkgbWV0aG9kKS4iKTsKKworI2RlZmluZSBBUlJBWV9BUlJBWV9GUk9NQllURVNfTUVUSE9EREVGICAgIFwKKyAgICB7ImZyb21ieXRlcyIsIChQeUNGdW5jdGlvbilhcnJheV9hcnJheV9mcm9tYnl0ZXMsIE1FVEhfVkFSQVJHUywgYXJyYXlfYXJyYXlfZnJvbWJ5dGVzX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCithcnJheV9hcnJheV9mcm9tYnl0ZXNfaW1wbChhcnJheW9iamVjdCAqc2VsZiwgUHlfYnVmZmVyICpidWZmZXIpOworCitzdGF0aWMgUHlPYmplY3QgKgorYXJyYXlfYXJyYXlfZnJvbWJ5dGVzKGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeV9idWZmZXIgYnVmZmVyID0ge05VTEwsIE5VTEx9OworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJ5Kjpmcm9tYnl0ZXMiLAorICAgICAgICAmYnVmZmVyKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGFycmF5X2FycmF5X2Zyb21ieXRlc19pbXBsKHNlbGYsICZidWZmZXIpOworCitleGl0OgorICAgIC8qIENsZWFudXAgZm9yIGJ1ZmZlciAqLworICAgIGlmIChidWZmZXIub2JqKQorICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJmJ1ZmZlcik7CisKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitQeURvY19TVFJWQVIoYXJyYXlfYXJyYXlfdG9ieXRlc19fZG9jX18sCisidG9ieXRlcygkc2VsZiwgLylcbiIKKyItLVxuIgorIlxuIgorIkNvbnZlcnQgdGhlIGFycmF5IHRvIGFuIGFycmF5IG9mIG1hY2hpbmUgdmFsdWVzIGFuZCByZXR1cm4gdGhlIGJ5dGVzIHJlcHJlc2VudGF0aW9uLiIpOworCisjZGVmaW5lIEFSUkFZX0FSUkFZX1RPQllURVNfTUVUSE9EREVGICAgIFwKKyAgICB7InRvYnl0ZXMiLCAoUHlDRnVuY3Rpb24pYXJyYXlfYXJyYXlfdG9ieXRlcywgTUVUSF9OT0FSR1MsIGFycmF5X2FycmF5X3RvYnl0ZXNfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2FycmF5X2FycmF5X3RvYnl0ZXNfaW1wbChhcnJheW9iamVjdCAqc2VsZik7CisKK3N0YXRpYyBQeU9iamVjdCAqCithcnJheV9hcnJheV90b2J5dGVzKGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBhcnJheV9hcnJheV90b2J5dGVzX2ltcGwoc2VsZik7Cit9CisKK1B5RG9jX1NUUlZBUihhcnJheV9hcnJheV90b3N0cmluZ19fZG9jX18sCisidG9zdHJpbmcoJHNlbGYsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJDb252ZXJ0IHRoZSBhcnJheSB0byBhbiBhcnJheSBvZiBtYWNoaW5lIHZhbHVlcyBhbmQgcmV0dXJuIHRoZSBieXRlcyByZXByZXNlbnRhdGlvbi5cbiIKKyJcbiIKKyJUaGlzIG1ldGhvZCBpcyBkZXByZWNhdGVkLiBVc2UgdG9ieXRlcyBpbnN0ZWFkLiIpOworCisjZGVmaW5lIEFSUkFZX0FSUkFZX1RPU1RSSU5HX01FVEhPRERFRiAgICBcCisgICAgeyJ0b3N0cmluZyIsIChQeUNGdW5jdGlvbilhcnJheV9hcnJheV90b3N0cmluZywgTUVUSF9OT0FSR1MsIGFycmF5X2FycmF5X3Rvc3RyaW5nX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCithcnJheV9hcnJheV90b3N0cmluZ19pbXBsKGFycmF5b2JqZWN0ICpzZWxmKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2FycmF5X2FycmF5X3Rvc3RyaW5nKGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBhcnJheV9hcnJheV90b3N0cmluZ19pbXBsKHNlbGYpOworfQorCitQeURvY19TVFJWQVIoYXJyYXlfYXJyYXlfZnJvbXVuaWNvZGVfX2RvY19fLAorImZyb211bmljb2RlKCRzZWxmLCB1c3RyLCAvKVxuIgorIi0tXG4iCisiXG4iCisiRXh0ZW5kcyB0aGlzIGFycmF5IHdpdGggZGF0YSBmcm9tIHRoZSB1bmljb2RlIHN0cmluZyB1c3RyLlxuIgorIlxuIgorIlRoZSBhcnJheSBtdXN0IGJlIGEgdW5pY29kZSB0eXBlIGFycmF5OyBvdGhlcndpc2UgYSBWYWx1ZUVycm9yIGlzIHJhaXNlZC5cbiIKKyJVc2UgYXJyYXkuZnJvbWJ5dGVzKHVzdHIuZW5jb2RlKC4uLikpIHRvIGFwcGVuZCBVbmljb2RlIGRhdGEgdG8gYW4gYXJyYXkgb2ZcbiIKKyJzb21lIG90aGVyIHR5cGUuIik7CisKKyNkZWZpbmUgQVJSQVlfQVJSQVlfRlJPTVVOSUNPREVfTUVUSE9EREVGICAgIFwKKyAgICB7ImZyb211bmljb2RlIiwgKFB5Q0Z1bmN0aW9uKWFycmF5X2FycmF5X2Zyb211bmljb2RlLCBNRVRIX1ZBUkFSR1MsIGFycmF5X2FycmF5X2Zyb211bmljb2RlX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCithcnJheV9hcnJheV9mcm9tdW5pY29kZV9pbXBsKGFycmF5b2JqZWN0ICpzZWxmLCBQeV9VTklDT0RFICp1c3RyLCBQeV9zc2l6ZV9jbGVhbl90IHVzdHJfbGVuZ3RoKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2FycmF5X2FycmF5X2Zyb211bmljb2RlKGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeV9VTklDT0RFICp1c3RyOworICAgIFB5X3NzaXplX2NsZWFuX3QgdXN0cl9sZW5ndGg7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgInUjOmZyb211bmljb2RlIiwKKyAgICAgICAgJnVzdHIsICZ1c3RyX2xlbmd0aCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBhcnJheV9hcnJheV9mcm9tdW5pY29kZV9pbXBsKHNlbGYsIHVzdHIsIHVzdHJfbGVuZ3RoKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitQeURvY19TVFJWQVIoYXJyYXlfYXJyYXlfdG91bmljb2RlX19kb2NfXywKKyJ0b3VuaWNvZGUoJHNlbGYsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJFeHRlbmRzIHRoaXMgYXJyYXkgd2l0aCBkYXRhIGZyb20gdGhlIHVuaWNvZGUgc3RyaW5nIHVzdHIuXG4iCisiXG4iCisiQ29udmVydCB0aGUgYXJyYXkgdG8gYSB1bmljb2RlIHN0cmluZy4gIFRoZSBhcnJheSBtdXN0IGJlIGEgdW5pY29kZSB0eXBlIGFycmF5O1xuIgorIm90aGVyd2lzZSBhIFZhbHVlRXJyb3IgaXMgcmFpc2VkLiAgVXNlIGFycmF5LnRvYnl0ZXMoKS5kZWNvZGUoKSB0byBvYnRhaW4gYVxuIgorInVuaWNvZGUgc3RyaW5nIGZyb20gYW4gYXJyYXkgb2Ygc29tZSBvdGhlciB0eXBlLiIpOworCisjZGVmaW5lIEFSUkFZX0FSUkFZX1RPVU5JQ09ERV9NRVRIT0RERUYgICAgXAorICAgIHsidG91bmljb2RlIiwgKFB5Q0Z1bmN0aW9uKWFycmF5X2FycmF5X3RvdW5pY29kZSwgTUVUSF9OT0FSR1MsIGFycmF5X2FycmF5X3RvdW5pY29kZV9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorYXJyYXlfYXJyYXlfdG91bmljb2RlX2ltcGwoYXJyYXlvYmplY3QgKnNlbGYpOworCitzdGF0aWMgUHlPYmplY3QgKgorYXJyYXlfYXJyYXlfdG91bmljb2RlKGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBhcnJheV9hcnJheV90b3VuaWNvZGVfaW1wbChzZWxmKTsKK30KKworUHlEb2NfU1RSVkFSKGFycmF5X2FycmF5X19fc2l6ZW9mX19fX2RvY19fLAorIl9fc2l6ZW9mX18oJHNlbGYsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJTaXplIG9mIHRoZSBhcnJheSBpbiBtZW1vcnksIGluIGJ5dGVzLiIpOworCisjZGVmaW5lIEFSUkFZX0FSUkFZX19fU0laRU9GX19fTUVUSE9EREVGICAgIFwKKyAgICB7Il9fc2l6ZW9mX18iLCAoUHlDRnVuY3Rpb24pYXJyYXlfYXJyYXlfX19zaXplb2ZfXywgTUVUSF9OT0FSR1MsIGFycmF5X2FycmF5X19fc2l6ZW9mX19fX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2FycmF5X2FycmF5X19fc2l6ZW9mX19faW1wbChhcnJheW9iamVjdCAqc2VsZik7CisKK3N0YXRpYyBQeU9iamVjdCAqCithcnJheV9hcnJheV9fX3NpemVvZl9fKGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBhcnJheV9hcnJheV9fX3NpemVvZl9fX2ltcGwoc2VsZik7Cit9CisKK1B5RG9jX1NUUlZBUihhcnJheV9fYXJyYXlfcmVjb25zdHJ1Y3Rvcl9fZG9jX18sCisiX2FycmF5X3JlY29uc3RydWN0b3IoJG1vZHVsZSwgYXJyYXl0eXBlLCB0eXBlY29kZSwgbWZvcm1hdF9jb2RlLCBpdGVtcyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAvKVxuIgorIi0tXG4iCisiXG4iCisiSW50ZXJuYWwuIFVzZWQgZm9yIHBpY2tsaW5nIHN1cHBvcnQuIik7CisKKyNkZWZpbmUgQVJSQVlfX0FSUkFZX1JFQ09OU1RSVUNUT1JfTUVUSE9EREVGICAgIFwKKyAgICB7Il9hcnJheV9yZWNvbnN0cnVjdG9yIiwgKFB5Q0Z1bmN0aW9uKWFycmF5X19hcnJheV9yZWNvbnN0cnVjdG9yLCBNRVRIX1ZBUkFSR1MsIGFycmF5X19hcnJheV9yZWNvbnN0cnVjdG9yX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCithcnJheV9fYXJyYXlfcmVjb25zdHJ1Y3Rvcl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5VHlwZU9iamVjdCAqYXJyYXl0eXBlLCBpbnQgdHlwZWNvZGUsIGVudW0gbWFjaGluZV9mb3JtYXRfY29kZSBtZm9ybWF0X2NvZGUsIFB5T2JqZWN0ICppdGVtcyk7CisKK3N0YXRpYyBQeU9iamVjdCAqCithcnJheV9fYXJyYXlfcmVjb25zdHJ1Y3RvcihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeVR5cGVPYmplY3QgKmFycmF5dHlwZTsKKyAgICBpbnQgdHlwZWNvZGU7CisgICAgZW51bSBtYWNoaW5lX2Zvcm1hdF9jb2RlIG1mb3JtYXRfY29kZTsKKyAgICBQeU9iamVjdCAqaXRlbXM7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIk9DaU86X2FycmF5X3JlY29uc3RydWN0b3IiLAorICAgICAgICAmYXJyYXl0eXBlLCAmdHlwZWNvZGUsICZtZm9ybWF0X2NvZGUsICZpdGVtcykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBhcnJheV9fYXJyYXlfcmVjb25zdHJ1Y3Rvcl9pbXBsKG1vZHVsZSwgYXJyYXl0eXBlLCB0eXBlY29kZSwgbWZvcm1hdF9jb2RlLCBpdGVtcyk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKGFycmF5X2FycmF5X19fcmVkdWNlX2V4X19fX2RvY19fLAorIl9fcmVkdWNlX2V4X18oJHNlbGYsIHZhbHVlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHN0YXRlIGluZm9ybWF0aW9uIGZvciBwaWNrbGluZy4iKTsKKworI2RlZmluZSBBUlJBWV9BUlJBWV9fX1JFRFVDRV9FWF9fX01FVEhPRERFRiAgICBcCisgICAgeyJfX3JlZHVjZV9leF9fIiwgKFB5Q0Z1bmN0aW9uKWFycmF5X2FycmF5X19fcmVkdWNlX2V4X18sIE1FVEhfTywgYXJyYXlfYXJyYXlfX19yZWR1Y2VfZXhfX19fZG9jX199LAorCitQeURvY19TVFJWQVIoYXJyYXlfYXJyYXlpdGVyYXRvcl9fX3JlZHVjZV9fX19kb2NfXywKKyJfX3JlZHVjZV9fKCRzZWxmLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHN0YXRlIGluZm9ybWF0aW9uIGZvciBwaWNrbGluZy4iKTsKKworI2RlZmluZSBBUlJBWV9BUlJBWUlURVJBVE9SX19fUkVEVUNFX19fTUVUSE9EREVGICAgIFwKKyAgICB7Il9fcmVkdWNlX18iLCAoUHlDRnVuY3Rpb24pYXJyYXlfYXJyYXlpdGVyYXRvcl9fX3JlZHVjZV9fLCBNRVRIX05PQVJHUywgYXJyYXlfYXJyYXlpdGVyYXRvcl9fX3JlZHVjZV9fX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCithcnJheV9hcnJheWl0ZXJhdG9yX19fcmVkdWNlX19faW1wbChhcnJheWl0ZXJvYmplY3QgKnNlbGYpOworCitzdGF0aWMgUHlPYmplY3QgKgorYXJyYXlfYXJyYXlpdGVyYXRvcl9fX3JlZHVjZV9fKGFycmF5aXRlcm9iamVjdCAqc2VsZiwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gYXJyYXlfYXJyYXlpdGVyYXRvcl9fX3JlZHVjZV9fX2ltcGwoc2VsZik7Cit9CisKK1B5RG9jX1NUUlZBUihhcnJheV9hcnJheWl0ZXJhdG9yX19fc2V0c3RhdGVfX19fZG9jX18sCisiX19zZXRzdGF0ZV9fKCRzZWxmLCBzdGF0ZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlNldCBzdGF0ZSBpbmZvcm1hdGlvbiBmb3IgdW5waWNrbGluZy4iKTsKKworI2RlZmluZSBBUlJBWV9BUlJBWUlURVJBVE9SX19fU0VUU1RBVEVfX19NRVRIT0RERUYgICAgXAorICAgIHsiX19zZXRzdGF0ZV9fIiwgKFB5Q0Z1bmN0aW9uKWFycmF5X2FycmF5aXRlcmF0b3JfX19zZXRzdGF0ZV9fLCBNRVRIX08sIGFycmF5X2FycmF5aXRlcmF0b3JfX19zZXRzdGF0ZV9fX19kb2NfX30sCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZTFkZWI2MWM2YTNiYzhjOCBpbnB1dD1hOTA0OTA1NDAxM2ExYjc3XSovCmRpZmYgLS1naXQgYS9Nb2R1bGVzL2NsaW5pYy9iaW5hc2NpaS5jLmggYi9Nb2R1bGVzL2NsaW5pYy9iaW5hc2NpaS5jLmgKaW5kZXggZjY0NzAzMi4uYjJiNmU2YiAxMDA2NDQKLS0tIGEvTW9kdWxlcy9jbGluaWMvYmluYXNjaWkuYy5oCisrKyBiL01vZHVsZXMvY2xpbmljL2JpbmFzY2lpLmMuaApAQCAtMzIwLDcgKzMyMCw3IEBACiAgICAgICAgICZkYXRhLCAmY3JjKSkKICAgICAgICAgZ290byBleGl0OwogICAgIF9yZXR1cm5fdmFsdWUgPSBiaW5hc2NpaV9jcmMzMl9pbXBsKG1vZHVsZSwgJmRhdGEsIGNyYyk7Ci0gICAgaWYgKChfcmV0dXJuX3ZhbHVlID09IC0xKSAmJiBQeUVycl9PY2N1cnJlZCgpKQorICAgIGlmICgoX3JldHVybl92YWx1ZSA9PSAodW5zaWduZWQgaW50KS0xKSAmJiBQeUVycl9PY2N1cnJlZCgpKQogICAgICAgICBnb3RvIGV4aXQ7CiAgICAgcmV0dXJuX3ZhbHVlID0gUHlMb25nX0Zyb21VbnNpZ25lZExvbmcoKHVuc2lnbmVkIGxvbmcpX3JldHVybl92YWx1ZSk7CiAKQEAgLTU0Myw0ICs1NDMsNCBAQAogCiAgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKIH0KLS8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1lNDZkMjlmOGM5YWRhZTdlIGlucHV0PWE5MDQ5MDU0MDEzYTFiNzddKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD03NzExMjZmOGY1M2U4NGU3IGlucHV0PWE5MDQ5MDU0MDEzYTFiNzddKi8KZGlmZiAtLWdpdCBhL01vZHVsZXMvY2xpbmljL2NtYXRobW9kdWxlLmMuaCBiL01vZHVsZXMvY2xpbmljL2NtYXRobW9kdWxlLmMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44M2RlNTE4Ci0tLSAvZGV2L251bGwKKysrIGIvTW9kdWxlcy9jbGluaWMvY21hdGhtb2R1bGUuYy5oCkBAIC0wLDAgKzEsODUxIEBACisvKltjbGluaWMgaW5wdXRdCitwcmVzZXJ2ZQorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoY21hdGhfYWNvc19fZG9jX18sCisiYWNvcygkbW9kdWxlLCB6LCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSBhcmMgY29zaW5lIG9mIHouIik7CisKKyNkZWZpbmUgQ01BVEhfQUNPU19NRVRIT0RERUYgICAgXAorICAgIHsiYWNvcyIsIChQeUNGdW5jdGlvbiljbWF0aF9hY29zLCBNRVRIX1ZBUkFSR1MsIGNtYXRoX2Fjb3NfX2RvY19ffSwKKworc3RhdGljIFB5X2NvbXBsZXgKK2NtYXRoX2Fjb3NfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9jb21wbGV4IHopOworCitzdGF0aWMgUHlPYmplY3QgKgorY21hdGhfYWNvcyhQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeV9jb21wbGV4IHo7CisgICAgUHlfY29tcGxleCBfcmV0dXJuX3ZhbHVlOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJEOmFjb3MiLAorICAgICAgICAmeikpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICAvKiBtb2RpZmljYXRpb25zIGZvciB6ICovCisgICAgZXJybm8gPSAwOyBQeUZQRV9TVEFSVF9QUk9URUNUKCJjb21wbGV4IGZ1bmN0aW9uIiwgZ290byBleGl0KTsKKyAgICBfcmV0dXJuX3ZhbHVlID0gY21hdGhfYWNvc19pbXBsKG1vZHVsZSwgeik7CisgICAgUHlGUEVfRU5EX1BST1RFQ1QoX3JldHVybl92YWx1ZSk7CisgICAgaWYgKGVycm5vID09IEVET00pIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJtYXRoIGRvbWFpbiBlcnJvciIpOworICAgICAgICBnb3RvIGV4aXQ7CisgICAgfQorICAgIGVsc2UgaWYgKGVycm5vID09IEVSQU5HRSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT3ZlcmZsb3dFcnJvciwgIm1hdGggcmFuZ2UgZXJyb3IiKTsKKyAgICAgICAgZ290byBleGl0OworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgcmV0dXJuX3ZhbHVlID0gUHlDb21wbGV4X0Zyb21DQ29tcGxleChfcmV0dXJuX3ZhbHVlKTsKKyAgICB9CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKGNtYXRoX2Fjb3NoX19kb2NfXywKKyJhY29zaCgkbW9kdWxlLCB6LCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSBpbnZlcnNlIGh5cGVyYm9saWMgY29zaW5lIG9mIHouIik7CisKKyNkZWZpbmUgQ01BVEhfQUNPU0hfTUVUSE9EREVGICAgIFwKKyAgICB7ImFjb3NoIiwgKFB5Q0Z1bmN0aW9uKWNtYXRoX2Fjb3NoLCBNRVRIX1ZBUkFSR1MsIGNtYXRoX2Fjb3NoX19kb2NfX30sCisKK3N0YXRpYyBQeV9jb21wbGV4CitjbWF0aF9hY29zaF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2NvbXBsZXggeik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitjbWF0aF9hY29zaChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeV9jb21wbGV4IHo7CisgICAgUHlfY29tcGxleCBfcmV0dXJuX3ZhbHVlOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJEOmFjb3NoIiwKKyAgICAgICAgJnopKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgLyogbW9kaWZpY2F0aW9ucyBmb3IgeiAqLworICAgIGVycm5vID0gMDsgUHlGUEVfU1RBUlRfUFJPVEVDVCgiY29tcGxleCBmdW5jdGlvbiIsIGdvdG8gZXhpdCk7CisgICAgX3JldHVybl92YWx1ZSA9IGNtYXRoX2Fjb3NoX2ltcGwobW9kdWxlLCB6KTsKKyAgICBQeUZQRV9FTkRfUFJPVEVDVChfcmV0dXJuX3ZhbHVlKTsKKyAgICBpZiAoZXJybm8gPT0gRURPTSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgIm1hdGggZG9tYWluIGVycm9yIik7CisgICAgICAgIGdvdG8gZXhpdDsKKyAgICB9CisgICAgZWxzZSBpZiAoZXJybm8gPT0gRVJBTkdFKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PdmVyZmxvd0Vycm9yLCAibWF0aCByYW5nZSBlcnJvciIpOworICAgICAgICBnb3RvIGV4aXQ7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICByZXR1cm5fdmFsdWUgPSBQeUNvbXBsZXhfRnJvbUNDb21wbGV4KF9yZXR1cm5fdmFsdWUpOworICAgIH0KKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitQeURvY19TVFJWQVIoY21hdGhfYXNpbl9fZG9jX18sCisiYXNpbigkbW9kdWxlLCB6LCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSBhcmMgc2luZSBvZiB6LiIpOworCisjZGVmaW5lIENNQVRIX0FTSU5fTUVUSE9EREVGICAgIFwKKyAgICB7ImFzaW4iLCAoUHlDRnVuY3Rpb24pY21hdGhfYXNpbiwgTUVUSF9WQVJBUkdTLCBjbWF0aF9hc2luX19kb2NfX30sCisKK3N0YXRpYyBQeV9jb21wbGV4CitjbWF0aF9hc2luX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfY29tcGxleCB6KTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2NtYXRoX2FzaW4oUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlfY29tcGxleCB6OworICAgIFB5X2NvbXBsZXggX3JldHVybl92YWx1ZTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiRDphc2luIiwKKyAgICAgICAgJnopKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgLyogbW9kaWZpY2F0aW9ucyBmb3IgeiAqLworICAgIGVycm5vID0gMDsgUHlGUEVfU1RBUlRfUFJPVEVDVCgiY29tcGxleCBmdW5jdGlvbiIsIGdvdG8gZXhpdCk7CisgICAgX3JldHVybl92YWx1ZSA9IGNtYXRoX2FzaW5faW1wbChtb2R1bGUsIHopOworICAgIFB5RlBFX0VORF9QUk9URUNUKF9yZXR1cm5fdmFsdWUpOworICAgIGlmIChlcnJubyA9PSBFRE9NKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAibWF0aCBkb21haW4gZXJyb3IiKTsKKyAgICAgICAgZ290byBleGl0OworICAgIH0KKyAgICBlbHNlIGlmIChlcnJubyA9PSBFUkFOR0UpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX092ZXJmbG93RXJyb3IsICJtYXRoIHJhbmdlIGVycm9yIik7CisgICAgICAgIGdvdG8gZXhpdDsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIHJldHVybl92YWx1ZSA9IFB5Q29tcGxleF9Gcm9tQ0NvbXBsZXgoX3JldHVybl92YWx1ZSk7CisgICAgfQorCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK1B5RG9jX1NUUlZBUihjbWF0aF9hc2luaF9fZG9jX18sCisiYXNpbmgoJG1vZHVsZSwgeiwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgaW52ZXJzZSBoeXBlcmJvbGljIHNpbmUgb2Ygei4iKTsKKworI2RlZmluZSBDTUFUSF9BU0lOSF9NRVRIT0RERUYgICAgXAorICAgIHsiYXNpbmgiLCAoUHlDRnVuY3Rpb24pY21hdGhfYXNpbmgsIE1FVEhfVkFSQVJHUywgY21hdGhfYXNpbmhfX2RvY19ffSwKKworc3RhdGljIFB5X2NvbXBsZXgKK2NtYXRoX2FzaW5oX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfY29tcGxleCB6KTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2NtYXRoX2FzaW5oKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5X2NvbXBsZXggejsKKyAgICBQeV9jb21wbGV4IF9yZXR1cm5fdmFsdWU7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIkQ6YXNpbmgiLAorICAgICAgICAmeikpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICAvKiBtb2RpZmljYXRpb25zIGZvciB6ICovCisgICAgZXJybm8gPSAwOyBQeUZQRV9TVEFSVF9QUk9URUNUKCJjb21wbGV4IGZ1bmN0aW9uIiwgZ290byBleGl0KTsKKyAgICBfcmV0dXJuX3ZhbHVlID0gY21hdGhfYXNpbmhfaW1wbChtb2R1bGUsIHopOworICAgIFB5RlBFX0VORF9QUk9URUNUKF9yZXR1cm5fdmFsdWUpOworICAgIGlmIChlcnJubyA9PSBFRE9NKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAibWF0aCBkb21haW4gZXJyb3IiKTsKKyAgICAgICAgZ290byBleGl0OworICAgIH0KKyAgICBlbHNlIGlmIChlcnJubyA9PSBFUkFOR0UpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX092ZXJmbG93RXJyb3IsICJtYXRoIHJhbmdlIGVycm9yIik7CisgICAgICAgIGdvdG8gZXhpdDsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIHJldHVybl92YWx1ZSA9IFB5Q29tcGxleF9Gcm9tQ0NvbXBsZXgoX3JldHVybl92YWx1ZSk7CisgICAgfQorCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK1B5RG9jX1NUUlZBUihjbWF0aF9hdGFuX19kb2NfXywKKyJhdGFuKCRtb2R1bGUsIHosIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIGFyYyB0YW5nZW50IG9mIHouIik7CisKKyNkZWZpbmUgQ01BVEhfQVRBTl9NRVRIT0RERUYgICAgXAorICAgIHsiYXRhbiIsIChQeUNGdW5jdGlvbiljbWF0aF9hdGFuLCBNRVRIX1ZBUkFSR1MsIGNtYXRoX2F0YW5fX2RvY19ffSwKKworc3RhdGljIFB5X2NvbXBsZXgKK2NtYXRoX2F0YW5faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9jb21wbGV4IHopOworCitzdGF0aWMgUHlPYmplY3QgKgorY21hdGhfYXRhbihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeV9jb21wbGV4IHo7CisgICAgUHlfY29tcGxleCBfcmV0dXJuX3ZhbHVlOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJEOmF0YW4iLAorICAgICAgICAmeikpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICAvKiBtb2RpZmljYXRpb25zIGZvciB6ICovCisgICAgZXJybm8gPSAwOyBQeUZQRV9TVEFSVF9QUk9URUNUKCJjb21wbGV4IGZ1bmN0aW9uIiwgZ290byBleGl0KTsKKyAgICBfcmV0dXJuX3ZhbHVlID0gY21hdGhfYXRhbl9pbXBsKG1vZHVsZSwgeik7CisgICAgUHlGUEVfRU5EX1BST1RFQ1QoX3JldHVybl92YWx1ZSk7CisgICAgaWYgKGVycm5vID09IEVET00pIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJtYXRoIGRvbWFpbiBlcnJvciIpOworICAgICAgICBnb3RvIGV4aXQ7CisgICAgfQorICAgIGVsc2UgaWYgKGVycm5vID09IEVSQU5HRSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT3ZlcmZsb3dFcnJvciwgIm1hdGggcmFuZ2UgZXJyb3IiKTsKKyAgICAgICAgZ290byBleGl0OworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgcmV0dXJuX3ZhbHVlID0gUHlDb21wbGV4X0Zyb21DQ29tcGxleChfcmV0dXJuX3ZhbHVlKTsKKyAgICB9CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKGNtYXRoX2F0YW5oX19kb2NfXywKKyJhdGFuaCgkbW9kdWxlLCB6LCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSBpbnZlcnNlIGh5cGVyYm9saWMgdGFuZ2VudCBvZiB6LiIpOworCisjZGVmaW5lIENNQVRIX0FUQU5IX01FVEhPRERFRiAgICBcCisgICAgeyJhdGFuaCIsIChQeUNGdW5jdGlvbiljbWF0aF9hdGFuaCwgTUVUSF9WQVJBUkdTLCBjbWF0aF9hdGFuaF9fZG9jX199LAorCitzdGF0aWMgUHlfY29tcGxleAorY21hdGhfYXRhbmhfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9jb21wbGV4IHopOworCitzdGF0aWMgUHlPYmplY3QgKgorY21hdGhfYXRhbmgoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlfY29tcGxleCB6OworICAgIFB5X2NvbXBsZXggX3JldHVybl92YWx1ZTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiRDphdGFuaCIsCisgICAgICAgICZ6KSkKKyAgICAgICAgZ290byBleGl0OworICAgIC8qIG1vZGlmaWNhdGlvbnMgZm9yIHogKi8KKyAgICBlcnJubyA9IDA7IFB5RlBFX1NUQVJUX1BST1RFQ1QoImNvbXBsZXggZnVuY3Rpb24iLCBnb3RvIGV4aXQpOworICAgIF9yZXR1cm5fdmFsdWUgPSBjbWF0aF9hdGFuaF9pbXBsKG1vZHVsZSwgeik7CisgICAgUHlGUEVfRU5EX1BST1RFQ1QoX3JldHVybl92YWx1ZSk7CisgICAgaWYgKGVycm5vID09IEVET00pIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJtYXRoIGRvbWFpbiBlcnJvciIpOworICAgICAgICBnb3RvIGV4aXQ7CisgICAgfQorICAgIGVsc2UgaWYgKGVycm5vID09IEVSQU5HRSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT3ZlcmZsb3dFcnJvciwgIm1hdGggcmFuZ2UgZXJyb3IiKTsKKyAgICAgICAgZ290byBleGl0OworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgcmV0dXJuX3ZhbHVlID0gUHlDb21wbGV4X0Zyb21DQ29tcGxleChfcmV0dXJuX3ZhbHVlKTsKKyAgICB9CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKGNtYXRoX2Nvc19fZG9jX18sCisiY29zKCRtb2R1bGUsIHosIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIGNvc2luZSBvZiB6LiIpOworCisjZGVmaW5lIENNQVRIX0NPU19NRVRIT0RERUYgICAgXAorICAgIHsiY29zIiwgKFB5Q0Z1bmN0aW9uKWNtYXRoX2NvcywgTUVUSF9WQVJBUkdTLCBjbWF0aF9jb3NfX2RvY19ffSwKKworc3RhdGljIFB5X2NvbXBsZXgKK2NtYXRoX2Nvc19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2NvbXBsZXggeik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitjbWF0aF9jb3MoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlfY29tcGxleCB6OworICAgIFB5X2NvbXBsZXggX3JldHVybl92YWx1ZTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiRDpjb3MiLAorICAgICAgICAmeikpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICAvKiBtb2RpZmljYXRpb25zIGZvciB6ICovCisgICAgZXJybm8gPSAwOyBQeUZQRV9TVEFSVF9QUk9URUNUKCJjb21wbGV4IGZ1bmN0aW9uIiwgZ290byBleGl0KTsKKyAgICBfcmV0dXJuX3ZhbHVlID0gY21hdGhfY29zX2ltcGwobW9kdWxlLCB6KTsKKyAgICBQeUZQRV9FTkRfUFJPVEVDVChfcmV0dXJuX3ZhbHVlKTsKKyAgICBpZiAoZXJybm8gPT0gRURPTSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgIm1hdGggZG9tYWluIGVycm9yIik7CisgICAgICAgIGdvdG8gZXhpdDsKKyAgICB9CisgICAgZWxzZSBpZiAoZXJybm8gPT0gRVJBTkdFKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PdmVyZmxvd0Vycm9yLCAibWF0aCByYW5nZSBlcnJvciIpOworICAgICAgICBnb3RvIGV4aXQ7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICByZXR1cm5fdmFsdWUgPSBQeUNvbXBsZXhfRnJvbUNDb21wbGV4KF9yZXR1cm5fdmFsdWUpOworICAgIH0KKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitQeURvY19TVFJWQVIoY21hdGhfY29zaF9fZG9jX18sCisiY29zaCgkbW9kdWxlLCB6LCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSBoeXBlcmJvbGljIGNvc2luZSBvZiB6LiIpOworCisjZGVmaW5lIENNQVRIX0NPU0hfTUVUSE9EREVGICAgIFwKKyAgICB7ImNvc2giLCAoUHlDRnVuY3Rpb24pY21hdGhfY29zaCwgTUVUSF9WQVJBUkdTLCBjbWF0aF9jb3NoX19kb2NfX30sCisKK3N0YXRpYyBQeV9jb21wbGV4CitjbWF0aF9jb3NoX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfY29tcGxleCB6KTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2NtYXRoX2Nvc2goUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlfY29tcGxleCB6OworICAgIFB5X2NvbXBsZXggX3JldHVybl92YWx1ZTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiRDpjb3NoIiwKKyAgICAgICAgJnopKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgLyogbW9kaWZpY2F0aW9ucyBmb3IgeiAqLworICAgIGVycm5vID0gMDsgUHlGUEVfU1RBUlRfUFJPVEVDVCgiY29tcGxleCBmdW5jdGlvbiIsIGdvdG8gZXhpdCk7CisgICAgX3JldHVybl92YWx1ZSA9IGNtYXRoX2Nvc2hfaW1wbChtb2R1bGUsIHopOworICAgIFB5RlBFX0VORF9QUk9URUNUKF9yZXR1cm5fdmFsdWUpOworICAgIGlmIChlcnJubyA9PSBFRE9NKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAibWF0aCBkb21haW4gZXJyb3IiKTsKKyAgICAgICAgZ290byBleGl0OworICAgIH0KKyAgICBlbHNlIGlmIChlcnJubyA9PSBFUkFOR0UpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX092ZXJmbG93RXJyb3IsICJtYXRoIHJhbmdlIGVycm9yIik7CisgICAgICAgIGdvdG8gZXhpdDsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIHJldHVybl92YWx1ZSA9IFB5Q29tcGxleF9Gcm9tQ0NvbXBsZXgoX3JldHVybl92YWx1ZSk7CisgICAgfQorCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK1B5RG9jX1NUUlZBUihjbWF0aF9leHBfX2RvY19fLAorImV4cCgkbW9kdWxlLCB6LCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSBleHBvbmVudGlhbCB2YWx1ZSBlKip6LiIpOworCisjZGVmaW5lIENNQVRIX0VYUF9NRVRIT0RERUYgICAgXAorICAgIHsiZXhwIiwgKFB5Q0Z1bmN0aW9uKWNtYXRoX2V4cCwgTUVUSF9WQVJBUkdTLCBjbWF0aF9leHBfX2RvY19ffSwKKworc3RhdGljIFB5X2NvbXBsZXgKK2NtYXRoX2V4cF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2NvbXBsZXggeik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitjbWF0aF9leHAoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlfY29tcGxleCB6OworICAgIFB5X2NvbXBsZXggX3JldHVybl92YWx1ZTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiRDpleHAiLAorICAgICAgICAmeikpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICAvKiBtb2RpZmljYXRpb25zIGZvciB6ICovCisgICAgZXJybm8gPSAwOyBQeUZQRV9TVEFSVF9QUk9URUNUKCJjb21wbGV4IGZ1bmN0aW9uIiwgZ290byBleGl0KTsKKyAgICBfcmV0dXJuX3ZhbHVlID0gY21hdGhfZXhwX2ltcGwobW9kdWxlLCB6KTsKKyAgICBQeUZQRV9FTkRfUFJPVEVDVChfcmV0dXJuX3ZhbHVlKTsKKyAgICBpZiAoZXJybm8gPT0gRURPTSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgIm1hdGggZG9tYWluIGVycm9yIik7CisgICAgICAgIGdvdG8gZXhpdDsKKyAgICB9CisgICAgZWxzZSBpZiAoZXJybm8gPT0gRVJBTkdFKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PdmVyZmxvd0Vycm9yLCAibWF0aCByYW5nZSBlcnJvciIpOworICAgICAgICBnb3RvIGV4aXQ7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICByZXR1cm5fdmFsdWUgPSBQeUNvbXBsZXhfRnJvbUNDb21wbGV4KF9yZXR1cm5fdmFsdWUpOworICAgIH0KKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitQeURvY19TVFJWQVIoY21hdGhfbG9nMTBfX2RvY19fLAorImxvZzEwKCRtb2R1bGUsIHosIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIGJhc2UtMTAgbG9nYXJpdGhtIG9mIHouIik7CisKKyNkZWZpbmUgQ01BVEhfTE9HMTBfTUVUSE9EREVGICAgIFwKKyAgICB7ImxvZzEwIiwgKFB5Q0Z1bmN0aW9uKWNtYXRoX2xvZzEwLCBNRVRIX1ZBUkFSR1MsIGNtYXRoX2xvZzEwX19kb2NfX30sCisKK3N0YXRpYyBQeV9jb21wbGV4CitjbWF0aF9sb2cxMF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2NvbXBsZXggeik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitjbWF0aF9sb2cxMChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeV9jb21wbGV4IHo7CisgICAgUHlfY29tcGxleCBfcmV0dXJuX3ZhbHVlOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJEOmxvZzEwIiwKKyAgICAgICAgJnopKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgLyogbW9kaWZpY2F0aW9ucyBmb3IgeiAqLworICAgIGVycm5vID0gMDsgUHlGUEVfU1RBUlRfUFJPVEVDVCgiY29tcGxleCBmdW5jdGlvbiIsIGdvdG8gZXhpdCk7CisgICAgX3JldHVybl92YWx1ZSA9IGNtYXRoX2xvZzEwX2ltcGwobW9kdWxlLCB6KTsKKyAgICBQeUZQRV9FTkRfUFJPVEVDVChfcmV0dXJuX3ZhbHVlKTsKKyAgICBpZiAoZXJybm8gPT0gRURPTSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgIm1hdGggZG9tYWluIGVycm9yIik7CisgICAgICAgIGdvdG8gZXhpdDsKKyAgICB9CisgICAgZWxzZSBpZiAoZXJybm8gPT0gRVJBTkdFKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PdmVyZmxvd0Vycm9yLCAibWF0aCByYW5nZSBlcnJvciIpOworICAgICAgICBnb3RvIGV4aXQ7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICByZXR1cm5fdmFsdWUgPSBQeUNvbXBsZXhfRnJvbUNDb21wbGV4KF9yZXR1cm5fdmFsdWUpOworICAgIH0KKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitQeURvY19TVFJWQVIoY21hdGhfc2luX19kb2NfXywKKyJzaW4oJG1vZHVsZSwgeiwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgc2luZSBvZiB6LiIpOworCisjZGVmaW5lIENNQVRIX1NJTl9NRVRIT0RERUYgICAgXAorICAgIHsic2luIiwgKFB5Q0Z1bmN0aW9uKWNtYXRoX3NpbiwgTUVUSF9WQVJBUkdTLCBjbWF0aF9zaW5fX2RvY19ffSwKKworc3RhdGljIFB5X2NvbXBsZXgKK2NtYXRoX3Npbl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2NvbXBsZXggeik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitjbWF0aF9zaW4oUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlfY29tcGxleCB6OworICAgIFB5X2NvbXBsZXggX3JldHVybl92YWx1ZTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiRDpzaW4iLAorICAgICAgICAmeikpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICAvKiBtb2RpZmljYXRpb25zIGZvciB6ICovCisgICAgZXJybm8gPSAwOyBQeUZQRV9TVEFSVF9QUk9URUNUKCJjb21wbGV4IGZ1bmN0aW9uIiwgZ290byBleGl0KTsKKyAgICBfcmV0dXJuX3ZhbHVlID0gY21hdGhfc2luX2ltcGwobW9kdWxlLCB6KTsKKyAgICBQeUZQRV9FTkRfUFJPVEVDVChfcmV0dXJuX3ZhbHVlKTsKKyAgICBpZiAoZXJybm8gPT0gRURPTSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgIm1hdGggZG9tYWluIGVycm9yIik7CisgICAgICAgIGdvdG8gZXhpdDsKKyAgICB9CisgICAgZWxzZSBpZiAoZXJybm8gPT0gRVJBTkdFKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PdmVyZmxvd0Vycm9yLCAibWF0aCByYW5nZSBlcnJvciIpOworICAgICAgICBnb3RvIGV4aXQ7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICByZXR1cm5fdmFsdWUgPSBQeUNvbXBsZXhfRnJvbUNDb21wbGV4KF9yZXR1cm5fdmFsdWUpOworICAgIH0KKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitQeURvY19TVFJWQVIoY21hdGhfc2luaF9fZG9jX18sCisic2luaCgkbW9kdWxlLCB6LCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSBoeXBlcmJvbGljIHNpbmUgb2Ygei4iKTsKKworI2RlZmluZSBDTUFUSF9TSU5IX01FVEhPRERFRiAgICBcCisgICAgeyJzaW5oIiwgKFB5Q0Z1bmN0aW9uKWNtYXRoX3NpbmgsIE1FVEhfVkFSQVJHUywgY21hdGhfc2luaF9fZG9jX199LAorCitzdGF0aWMgUHlfY29tcGxleAorY21hdGhfc2luaF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2NvbXBsZXggeik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitjbWF0aF9zaW5oKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5X2NvbXBsZXggejsKKyAgICBQeV9jb21wbGV4IF9yZXR1cm5fdmFsdWU7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIkQ6c2luaCIsCisgICAgICAgICZ6KSkKKyAgICAgICAgZ290byBleGl0OworICAgIC8qIG1vZGlmaWNhdGlvbnMgZm9yIHogKi8KKyAgICBlcnJubyA9IDA7IFB5RlBFX1NUQVJUX1BST1RFQ1QoImNvbXBsZXggZnVuY3Rpb24iLCBnb3RvIGV4aXQpOworICAgIF9yZXR1cm5fdmFsdWUgPSBjbWF0aF9zaW5oX2ltcGwobW9kdWxlLCB6KTsKKyAgICBQeUZQRV9FTkRfUFJPVEVDVChfcmV0dXJuX3ZhbHVlKTsKKyAgICBpZiAoZXJybm8gPT0gRURPTSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgIm1hdGggZG9tYWluIGVycm9yIik7CisgICAgICAgIGdvdG8gZXhpdDsKKyAgICB9CisgICAgZWxzZSBpZiAoZXJybm8gPT0gRVJBTkdFKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PdmVyZmxvd0Vycm9yLCAibWF0aCByYW5nZSBlcnJvciIpOworICAgICAgICBnb3RvIGV4aXQ7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICByZXR1cm5fdmFsdWUgPSBQeUNvbXBsZXhfRnJvbUNDb21wbGV4KF9yZXR1cm5fdmFsdWUpOworICAgIH0KKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitQeURvY19TVFJWQVIoY21hdGhfc3FydF9fZG9jX18sCisic3FydCgkbW9kdWxlLCB6LCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSBzcXVhcmUgcm9vdCBvZiB6LiIpOworCisjZGVmaW5lIENNQVRIX1NRUlRfTUVUSE9EREVGICAgIFwKKyAgICB7InNxcnQiLCAoUHlDRnVuY3Rpb24pY21hdGhfc3FydCwgTUVUSF9WQVJBUkdTLCBjbWF0aF9zcXJ0X19kb2NfX30sCisKK3N0YXRpYyBQeV9jb21wbGV4CitjbWF0aF9zcXJ0X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfY29tcGxleCB6KTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2NtYXRoX3NxcnQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlfY29tcGxleCB6OworICAgIFB5X2NvbXBsZXggX3JldHVybl92YWx1ZTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiRDpzcXJ0IiwKKyAgICAgICAgJnopKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgLyogbW9kaWZpY2F0aW9ucyBmb3IgeiAqLworICAgIGVycm5vID0gMDsgUHlGUEVfU1RBUlRfUFJPVEVDVCgiY29tcGxleCBmdW5jdGlvbiIsIGdvdG8gZXhpdCk7CisgICAgX3JldHVybl92YWx1ZSA9IGNtYXRoX3NxcnRfaW1wbChtb2R1bGUsIHopOworICAgIFB5RlBFX0VORF9QUk9URUNUKF9yZXR1cm5fdmFsdWUpOworICAgIGlmIChlcnJubyA9PSBFRE9NKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAibWF0aCBkb21haW4gZXJyb3IiKTsKKyAgICAgICAgZ290byBleGl0OworICAgIH0KKyAgICBlbHNlIGlmIChlcnJubyA9PSBFUkFOR0UpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX092ZXJmbG93RXJyb3IsICJtYXRoIHJhbmdlIGVycm9yIik7CisgICAgICAgIGdvdG8gZXhpdDsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIHJldHVybl92YWx1ZSA9IFB5Q29tcGxleF9Gcm9tQ0NvbXBsZXgoX3JldHVybl92YWx1ZSk7CisgICAgfQorCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK1B5RG9jX1NUUlZBUihjbWF0aF90YW5fX2RvY19fLAorInRhbigkbW9kdWxlLCB6LCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSB0YW5nZW50IG9mIHouIik7CisKKyNkZWZpbmUgQ01BVEhfVEFOX01FVEhPRERFRiAgICBcCisgICAgeyJ0YW4iLCAoUHlDRnVuY3Rpb24pY21hdGhfdGFuLCBNRVRIX1ZBUkFSR1MsIGNtYXRoX3Rhbl9fZG9jX199LAorCitzdGF0aWMgUHlfY29tcGxleAorY21hdGhfdGFuX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfY29tcGxleCB6KTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2NtYXRoX3RhbihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeV9jb21wbGV4IHo7CisgICAgUHlfY29tcGxleCBfcmV0dXJuX3ZhbHVlOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJEOnRhbiIsCisgICAgICAgICZ6KSkKKyAgICAgICAgZ290byBleGl0OworICAgIC8qIG1vZGlmaWNhdGlvbnMgZm9yIHogKi8KKyAgICBlcnJubyA9IDA7IFB5RlBFX1NUQVJUX1BST1RFQ1QoImNvbXBsZXggZnVuY3Rpb24iLCBnb3RvIGV4aXQpOworICAgIF9yZXR1cm5fdmFsdWUgPSBjbWF0aF90YW5faW1wbChtb2R1bGUsIHopOworICAgIFB5RlBFX0VORF9QUk9URUNUKF9yZXR1cm5fdmFsdWUpOworICAgIGlmIChlcnJubyA9PSBFRE9NKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAibWF0aCBkb21haW4gZXJyb3IiKTsKKyAgICAgICAgZ290byBleGl0OworICAgIH0KKyAgICBlbHNlIGlmIChlcnJubyA9PSBFUkFOR0UpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX092ZXJmbG93RXJyb3IsICJtYXRoIHJhbmdlIGVycm9yIik7CisgICAgICAgIGdvdG8gZXhpdDsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIHJldHVybl92YWx1ZSA9IFB5Q29tcGxleF9Gcm9tQ0NvbXBsZXgoX3JldHVybl92YWx1ZSk7CisgICAgfQorCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK1B5RG9jX1NUUlZBUihjbWF0aF90YW5oX19kb2NfXywKKyJ0YW5oKCRtb2R1bGUsIHosIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIGh5cGVyYm9saWMgdGFuZ2VudCBvZiB6LiIpOworCisjZGVmaW5lIENNQVRIX1RBTkhfTUVUSE9EREVGICAgIFwKKyAgICB7InRhbmgiLCAoUHlDRnVuY3Rpb24pY21hdGhfdGFuaCwgTUVUSF9WQVJBUkdTLCBjbWF0aF90YW5oX19kb2NfX30sCisKK3N0YXRpYyBQeV9jb21wbGV4CitjbWF0aF90YW5oX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfY29tcGxleCB6KTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2NtYXRoX3RhbmgoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlfY29tcGxleCB6OworICAgIFB5X2NvbXBsZXggX3JldHVybl92YWx1ZTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiRDp0YW5oIiwKKyAgICAgICAgJnopKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgLyogbW9kaWZpY2F0aW9ucyBmb3IgeiAqLworICAgIGVycm5vID0gMDsgUHlGUEVfU1RBUlRfUFJPVEVDVCgiY29tcGxleCBmdW5jdGlvbiIsIGdvdG8gZXhpdCk7CisgICAgX3JldHVybl92YWx1ZSA9IGNtYXRoX3RhbmhfaW1wbChtb2R1bGUsIHopOworICAgIFB5RlBFX0VORF9QUk9URUNUKF9yZXR1cm5fdmFsdWUpOworICAgIGlmIChlcnJubyA9PSBFRE9NKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAibWF0aCBkb21haW4gZXJyb3IiKTsKKyAgICAgICAgZ290byBleGl0OworICAgIH0KKyAgICBlbHNlIGlmIChlcnJubyA9PSBFUkFOR0UpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX092ZXJmbG93RXJyb3IsICJtYXRoIHJhbmdlIGVycm9yIik7CisgICAgICAgIGdvdG8gZXhpdDsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIHJldHVybl92YWx1ZSA9IFB5Q29tcGxleF9Gcm9tQ0NvbXBsZXgoX3JldHVybl92YWx1ZSk7CisgICAgfQorCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK1B5RG9jX1NUUlZBUihjbWF0aF9sb2dfX2RvY19fLAorImxvZygkbW9kdWxlLCB4LCB5X29iaj1Ob25lLCAvKVxuIgorIi0tXG4iCisiXG4iCisiVGhlIGxvZ2FyaXRobSBvZiB6IHRvIHRoZSBnaXZlbiBiYXNlLlxuIgorIlxuIgorIklmIHRoZSBiYXNlIG5vdCBzcGVjaWZpZWQsIHJldHVybnMgdGhlIG5hdHVyYWwgbG9nYXJpdGhtIChiYXNlIGUpIG9mIHouIik7CisKKyNkZWZpbmUgQ01BVEhfTE9HX01FVEhPRERFRiAgICBcCisgICAgeyJsb2ciLCAoUHlDRnVuY3Rpb24pY21hdGhfbG9nLCBNRVRIX1ZBUkFSR1MsIGNtYXRoX2xvZ19fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorY21hdGhfbG9nX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfY29tcGxleCB4LCBQeU9iamVjdCAqeV9vYmopOworCitzdGF0aWMgUHlPYmplY3QgKgorY21hdGhfbG9nKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5X2NvbXBsZXggeDsKKyAgICBQeU9iamVjdCAqeV9vYmogPSBOVUxMOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJEfE86bG9nIiwKKyAgICAgICAgJngsICZ5X29iaikpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBjbWF0aF9sb2dfaW1wbChtb2R1bGUsIHgsIHlfb2JqKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitQeURvY19TVFJWQVIoY21hdGhfcGhhc2VfX2RvY19fLAorInBoYXNlKCRtb2R1bGUsIHosIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gYXJndW1lbnQsIGFsc28ga25vd24gYXMgdGhlIHBoYXNlIGFuZ2xlLCBvZiBhIGNvbXBsZXguIik7CisKKyNkZWZpbmUgQ01BVEhfUEhBU0VfTUVUSE9EREVGICAgIFwKKyAgICB7InBoYXNlIiwgKFB5Q0Z1bmN0aW9uKWNtYXRoX3BoYXNlLCBNRVRIX1ZBUkFSR1MsIGNtYXRoX3BoYXNlX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitjbWF0aF9waGFzZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2NvbXBsZXggeik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitjbWF0aF9waGFzZShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeV9jb21wbGV4IHo7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIkQ6cGhhc2UiLAorICAgICAgICAmeikpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBjbWF0aF9waGFzZV9pbXBsKG1vZHVsZSwgeik7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKGNtYXRoX3BvbGFyX19kb2NfXywKKyJwb2xhcigkbW9kdWxlLCB6LCAvKVxuIgorIi0tXG4iCisiXG4iCisiQ29udmVydCBhIGNvbXBsZXggZnJvbSByZWN0YW5ndWxhciBjb29yZGluYXRlcyB0byBwb2xhciBjb29yZGluYXRlcy5cbiIKKyJcbiIKKyJyIGlzIHRoZSBkaXN0YW5jZSBmcm9tIDAgYW5kIHBoaSB0aGUgcGhhc2UgYW5nbGUuIik7CisKKyNkZWZpbmUgQ01BVEhfUE9MQVJfTUVUSE9EREVGICAgIFwKKyAgICB7InBvbGFyIiwgKFB5Q0Z1bmN0aW9uKWNtYXRoX3BvbGFyLCBNRVRIX1ZBUkFSR1MsIGNtYXRoX3BvbGFyX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitjbWF0aF9wb2xhcl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2NvbXBsZXggeik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitjbWF0aF9wb2xhcihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeV9jb21wbGV4IHo7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIkQ6cG9sYXIiLAorICAgICAgICAmeikpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBjbWF0aF9wb2xhcl9pbXBsKG1vZHVsZSwgeik7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKGNtYXRoX3JlY3RfX2RvY19fLAorInJlY3QoJG1vZHVsZSwgciwgcGhpLCAvKVxuIgorIi0tXG4iCisiXG4iCisiQ29udmVydCBmcm9tIHBvbGFyIGNvb3JkaW5hdGVzIHRvIHJlY3Rhbmd1bGFyIGNvb3JkaW5hdGVzLiIpOworCisjZGVmaW5lIENNQVRIX1JFQ1RfTUVUSE9EREVGICAgIFwKKyAgICB7InJlY3QiLCAoUHlDRnVuY3Rpb24pY21hdGhfcmVjdCwgTUVUSF9WQVJBUkdTLCBjbWF0aF9yZWN0X19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitjbWF0aF9yZWN0X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgZG91YmxlIHIsIGRvdWJsZSBwaGkpOworCitzdGF0aWMgUHlPYmplY3QgKgorY21hdGhfcmVjdChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBkb3VibGUgcjsKKyAgICBkb3VibGUgcGhpOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJkZDpyZWN0IiwKKyAgICAgICAgJnIsICZwaGkpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gY21hdGhfcmVjdF9pbXBsKG1vZHVsZSwgciwgcGhpKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitQeURvY19TVFJWQVIoY21hdGhfaXNmaW5pdGVfX2RvY19fLAorImlzZmluaXRlKCRtb2R1bGUsIHosIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gVHJ1ZSBpZiBib3RoIHRoZSByZWFsIGFuZCBpbWFnaW5hcnkgcGFydHMgb2YgeiBhcmUgZmluaXRlLCBlbHNlIEZhbHNlLiIpOworCisjZGVmaW5lIENNQVRIX0lTRklOSVRFX01FVEhPRERFRiAgICBcCisgICAgeyJpc2Zpbml0ZSIsIChQeUNGdW5jdGlvbiljbWF0aF9pc2Zpbml0ZSwgTUVUSF9WQVJBUkdTLCBjbWF0aF9pc2Zpbml0ZV9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorY21hdGhfaXNmaW5pdGVfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9jb21wbGV4IHopOworCitzdGF0aWMgUHlPYmplY3QgKgorY21hdGhfaXNmaW5pdGUoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlfY29tcGxleCB6OworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJEOmlzZmluaXRlIiwKKyAgICAgICAgJnopKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gY21hdGhfaXNmaW5pdGVfaW1wbChtb2R1bGUsIHopOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK1B5RG9jX1NUUlZBUihjbWF0aF9pc25hbl9fZG9jX18sCisiaXNuYW4oJG1vZHVsZSwgeiwgLylcbiIKKyItLVxuIgorIlxuIgorIkNoZWNrcyBpZiB0aGUgcmVhbCBvciBpbWFnaW5hcnkgcGFydCBvZiB6IG5vdCBhIG51bWJlciAoTmFOKS4iKTsKKworI2RlZmluZSBDTUFUSF9JU05BTl9NRVRIT0RERUYgICAgXAorICAgIHsiaXNuYW4iLCAoUHlDRnVuY3Rpb24pY21hdGhfaXNuYW4sIE1FVEhfVkFSQVJHUywgY21hdGhfaXNuYW5fX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2NtYXRoX2lzbmFuX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfY29tcGxleCB6KTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2NtYXRoX2lzbmFuKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5X2NvbXBsZXggejsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiRDppc25hbiIsCisgICAgICAgICZ6KSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGNtYXRoX2lzbmFuX2ltcGwobW9kdWxlLCB6KTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitQeURvY19TVFJWQVIoY21hdGhfaXNpbmZfX2RvY19fLAorImlzaW5mKCRtb2R1bGUsIHosIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJDaGVja3MgaWYgdGhlIHJlYWwgb3IgaW1hZ2luYXJ5IHBhcnQgb2YgeiBpcyBpbmZpbml0ZS4iKTsKKworI2RlZmluZSBDTUFUSF9JU0lORl9NRVRIT0RERUYgICAgXAorICAgIHsiaXNpbmYiLCAoUHlDRnVuY3Rpb24pY21hdGhfaXNpbmYsIE1FVEhfVkFSQVJHUywgY21hdGhfaXNpbmZfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2NtYXRoX2lzaW5mX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfY29tcGxleCB6KTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2NtYXRoX2lzaW5mKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5X2NvbXBsZXggejsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiRDppc2luZiIsCisgICAgICAgICZ6KSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGNtYXRoX2lzaW5mX2ltcGwobW9kdWxlLCB6KTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTQ0MDdmODk4YWUwN2M4M2QgaW5wdXQ9YTkwNDkwNTQwMTNhMWI3N10qLwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9jbGluaWMvZmNudGxtb2R1bGUuYy5oIGIvTW9kdWxlcy9jbGluaWMvZmNudGxtb2R1bGUuYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3N2U1NWQKLS0tIC9kZXYvbnVsbAorKysgYi9Nb2R1bGVzL2NsaW5pYy9mY250bG1vZHVsZS5jLmgKQEAgLTAsMCArMSwxODggQEAKKy8qW2NsaW5pYyBpbnB1dF0KK3ByZXNlcnZlCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihmY250bF9mY250bF9fZG9jX18sCisiZmNudGwoJG1vZHVsZSwgZmQsIGNvZGUsIGFyZz1Ob25lLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUGVyZm9ybSB0aGUgb3BlcmF0aW9uIGBjb2RlYCBvbiBmaWxlIGRlc2NyaXB0b3IgZmQuXG4iCisiXG4iCisiVGhlIHZhbHVlcyB1c2VkIGZvciBgY29kZWAgYXJlIG9wZXJhdGluZyBzeXN0ZW0gZGVwZW5kZW50LCBhbmQgYXJlIGF2YWlsYWJsZVxuIgorImFzIGNvbnN0YW50cyBpbiB0aGUgZmNudGwgbW9kdWxlLCB1c2luZyB0aGUgc2FtZSBuYW1lcyBhcyB1c2VkIGluXG4iCisidGhlIHJlbGV2YW50IEMgaGVhZGVyIGZpbGVzLiAgVGhlIGFyZ3VtZW50IGFyZyBpcyBvcHRpb25hbCwgYW5kXG4iCisiZGVmYXVsdHMgdG8gMDsgaXQgbWF5IGJlIGFuIGludCBvciBhIHN0cmluZy4gIElmIGFyZyBpcyBnaXZlbiBhcyBhIHN0cmluZyxcbiIKKyJ0aGUgcmV0dXJuIHZhbHVlIG9mIGZjbnRsIGlzIGEgc3RyaW5nIG9mIHRoYXQgbGVuZ3RoLCBjb250YWluaW5nIHRoZVxuIgorInJlc3VsdGluZyB2YWx1ZSBwdXQgaW4gdGhlIGFyZyBidWZmZXIgYnkgdGhlIG9wZXJhdGluZyBzeXN0ZW0uICBUaGUgbGVuZ3RoXG4iCisib2YgdGhlIGFyZyBzdHJpbmcgaXMgbm90IGFsbG93ZWQgdG8gZXhjZWVkIDEwMjQgYnl0ZXMuICBJZiB0aGUgYXJnIGdpdmVuXG4iCisiaXMgYW4gaW50ZWdlciBvciBpZiBub25lIGlzIHNwZWNpZmllZCwgdGhlIHJlc3VsdCB2YWx1ZSBpcyBhbiBpbnRlZ2VyXG4iCisiY29ycmVzcG9uZGluZyB0byB0aGUgcmV0dXJuIHZhbHVlIG9mIHRoZSBmY250bCBjYWxsIGluIHRoZSBDIGNvZGUuIik7CisKKyNkZWZpbmUgRkNOVExfRkNOVExfTUVUSE9EREVGICAgIFwKKyAgICB7ImZjbnRsIiwgKFB5Q0Z1bmN0aW9uKWZjbnRsX2ZjbnRsLCBNRVRIX1ZBUkFSR1MsIGZjbnRsX2ZjbnRsX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitmY250bF9mY250bF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCwgaW50IGNvZGUsIFB5T2JqZWN0ICphcmcpOworCitzdGF0aWMgUHlPYmplY3QgKgorZmNudGxfZmNudGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgaW50IGZkOworICAgIGludCBjb2RlOworICAgIFB5T2JqZWN0ICphcmcgPSBOVUxMOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJPJml8TzpmY250bCIsCisgICAgICAgIGNvbnZfZGVzY3JpcHRvciwgJmZkLCAmY29kZSwgJmFyZykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBmY250bF9mY250bF9pbXBsKG1vZHVsZSwgZmQsIGNvZGUsIGFyZyk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKGZjbnRsX2lvY3RsX19kb2NfXywKKyJpb2N0bCgkbW9kdWxlLCBmZCwgb3AsIGFyZz1Ob25lLCBtdXRhdGVfZmxhZz1UcnVlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUGVyZm9ybSB0aGUgb3BlcmF0aW9uIG9wIG9uIGZpbGUgZGVzY3JpcHRvciBmZC5cbiIKKyJcbiIKKyJUaGUgdmFsdWVzIHVzZWQgZm9yIG9wIGFyZSBvcGVyYXRpbmcgc3lzdGVtIGRlcGVuZGVudCwgYW5kIGFyZSBhdmFpbGFibGUgYXNcbiIKKyJjb25zdGFudHMgaW4gdGhlIGZjbnRsIG9yIHRlcm1pb3MgbGlicmFyeSBtb2R1bGVzLCB1c2luZyB0aGUgc2FtZSBuYW1lcyBhc1xuIgorInVzZWQgaW4gdGhlIHJlbGV2YW50IEMgaGVhZGVyIGZpbGVzLlxuIgorIlxuIgorIlRoZSBhcmd1bWVudCBgYXJnYCBpcyBvcHRpb25hbCwgYW5kIGRlZmF1bHRzIHRvIDA7IGl0IG1heSBiZSBhbiBpbnQgb3IgYVxuIgorImJ1ZmZlciBjb250YWluaW5nIGNoYXJhY3RlciBkYXRhIChtb3N0IGxpa2VseSBhIHN0cmluZyBvciBhbiBhcnJheSkuXG4iCisiXG4iCisiSWYgdGhlIGFyZ3VtZW50IGlzIGEgbXV0YWJsZSBidWZmZXIgKHN1Y2ggYXMgYW4gYXJyYXkpIGFuZCBpZiB0aGVcbiIKKyJtdXRhdGVfZmxhZyBhcmd1bWVudCAod2hpY2ggaXMgb25seSBhbGxvd2VkIGluIHRoaXMgY2FzZSkgaXMgdHJ1ZSB0aGVuIHRoZVxuIgorImJ1ZmZlciBpcyAoaW4gZWZmZWN0KSBwYXNzZWQgdG8gdGhlIG9wZXJhdGluZyBzeXN0ZW0gYW5kIGNoYW5nZXMgbWFkZSBieVxuIgorInRoZSBPUyB3aWxsIGJlIHJlZmxlY3RlZCBpbiB0aGUgY29udGVudHMgb2YgdGhlIGJ1ZmZlciBhZnRlciB0aGUgY2FsbCBoYXNcbiIKKyJyZXR1cm5lZC4gIFRoZSByZXR1cm4gdmFsdWUgaXMgdGhlIGludGVnZXIgcmV0dXJuZWQgYnkgdGhlIGlvY3RsIHN5c3RlbVxuIgorImNhbGwuXG4iCisiXG4iCisiSWYgdGhlIGFyZ3VtZW50IGlzIGEgbXV0YWJsZSBidWZmZXIgYW5kIHRoZSBtdXRhYmxlX2ZsYWcgYXJndW1lbnQgaXMgbm90XG4iCisicGFzc2VkIG9yIGlzIGZhbHNlLCB0aGUgYmVoYXZpb3IgaXMgYXMgaWYgYSBzdHJpbmcgaGFkIGJlZW4gcGFzc2VkLiAgVGhpc1xuIgorImJlaGF2aW9yIHdpbGwgY2hhbmdlIGluIGZ1dHVyZSByZWxlYXNlcyBvZiBQeXRob24uXG4iCisiXG4iCisiSWYgdGhlIGFyZ3VtZW50IGlzIGFuIGltbXV0YWJsZSBidWZmZXIgKG1vc3QgbGlrZWx5IGEgc3RyaW5nKSB0aGVuIGEgY29weVxuIgorIm9mIHRoZSBidWZmZXIgaXMgcGFzc2VkIHRvIHRoZSBvcGVyYXRpbmcgc3lzdGVtIGFuZCB0aGUgcmV0dXJuIHZhbHVlIGlzIGFcbiIKKyJzdHJpbmcgb2YgdGhlIHNhbWUgbGVuZ3RoIGNvbnRhaW5pbmcgd2hhdGV2ZXIgdGhlIG9wZXJhdGluZyBzeXN0ZW0gcHV0IGluXG4iCisidGhlIGJ1ZmZlci4gIFRoZSBsZW5ndGggb2YgdGhlIGFyZyBidWZmZXIgaW4gdGhpcyBjYXNlIGlzIG5vdCBhbGxvd2VkIHRvXG4iCisiZXhjZWVkIDEwMjQgYnl0ZXMuXG4iCisiXG4iCisiSWYgdGhlIGFyZyBnaXZlbiBpcyBhbiBpbnRlZ2VyIG9yIGlmIG5vbmUgaXMgc3BlY2lmaWVkLCB0aGUgcmVzdWx0IHZhbHVlIGlzXG4iCisiYW4gaW50ZWdlciBjb3JyZXNwb25kaW5nIHRvIHRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIGlvY3RsIGNhbGwgaW4gdGhlIENcbiIKKyJjb2RlLiIpOworCisjZGVmaW5lIEZDTlRMX0lPQ1RMX01FVEhPRERFRiAgICBcCisgICAgeyJpb2N0bCIsIChQeUNGdW5jdGlvbilmY250bF9pb2N0bCwgTUVUSF9WQVJBUkdTLCBmY250bF9pb2N0bF9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorZmNudGxfaW9jdGxfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQsIHVuc2lnbmVkIGludCBjb2RlLCBQeU9iamVjdCAqb2JfYXJnLCBpbnQgbXV0YXRlX2FyZyk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitmY250bF9pb2N0bChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBpbnQgZmQ7CisgICAgdW5zaWduZWQgaW50IGNvZGU7CisgICAgUHlPYmplY3QgKm9iX2FyZyA9IE5VTEw7CisgICAgaW50IG11dGF0ZV9hcmcgPSAxOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJPJkl8T3A6aW9jdGwiLAorICAgICAgICBjb252X2Rlc2NyaXB0b3IsICZmZCwgJmNvZGUsICZvYl9hcmcsICZtdXRhdGVfYXJnKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGZjbnRsX2lvY3RsX2ltcGwobW9kdWxlLCBmZCwgY29kZSwgb2JfYXJnLCBtdXRhdGVfYXJnKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitQeURvY19TVFJWQVIoZmNudGxfZmxvY2tfX2RvY19fLAorImZsb2NrKCRtb2R1bGUsIGZkLCBjb2RlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUGVyZm9ybSB0aGUgbG9jayBvcGVyYXRpb24gb3Agb24gZmlsZSBkZXNjcmlwdG9yIGZkLlxuIgorIlxuIgorIlNlZSB0aGUgVW5peCBtYW51YWwgcGFnZSBmb3IgZmxvY2soMikgZm9yIGRldGFpbHMgKE9uIHNvbWUgc3lzdGVtcywgdGhpc1xuIgorImZ1bmN0aW9uIGlzIGVtdWxhdGVkIHVzaW5nIGZjbnRsKCkpLiIpOworCisjZGVmaW5lIEZDTlRMX0ZMT0NLX01FVEhPRERFRiAgICBcCisgICAgeyJmbG9jayIsIChQeUNGdW5jdGlvbilmY250bF9mbG9jaywgTUVUSF9WQVJBUkdTLCBmY250bF9mbG9ja19fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorZmNudGxfZmxvY2tfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQsIGludCBjb2RlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2ZjbnRsX2Zsb2NrKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIGludCBmZDsKKyAgICBpbnQgY29kZTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiTyZpOmZsb2NrIiwKKyAgICAgICAgY29udl9kZXNjcmlwdG9yLCAmZmQsICZjb2RlKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGZjbnRsX2Zsb2NrX2ltcGwobW9kdWxlLCBmZCwgY29kZSk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKGZjbnRsX2xvY2tmX19kb2NfXywKKyJsb2NrZigkbW9kdWxlLCBmZCwgY29kZSwgbGVub2JqPU5vbmUsIHN0YXJ0b2JqPU5vbmUsIHdoZW5jZT0wLCAvKVxuIgorIi0tXG4iCisiXG4iCisiQSB3cmFwcGVyIGFyb3VuZCB0aGUgZmNudGwoKSBsb2NraW5nIGNhbGxzLlxuIgorIlxuIgorImZkIGlzIHRoZSBmaWxlIGRlc2NyaXB0b3Igb2YgdGhlIGZpbGUgdG8gbG9jayBvciB1bmxvY2ssIGFuZCBvcGVyYXRpb24gaXMgb25lXG4iCisib2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6XG4iCisiXG4iCisiICAgIExPQ0tfVU4gLSB1bmxvY2tcbiIKKyIgICAgTE9DS19TSCAtIGFjcXVpcmUgYSBzaGFyZWQgbG9ja1xuIgorIiAgICBMT0NLX0VYIC0gYWNxdWlyZSBhbiBleGNsdXNpdmUgbG9ja1xuIgorIlxuIgorIldoZW4gb3BlcmF0aW9uIGlzIExPQ0tfU0ggb3IgTE9DS19FWCwgaXQgY2FuIGFsc28gYmUgYml0d2lzZSBPUmVkIHdpdGhcbiIKKyJMT0NLX05CIHRvIGF2b2lkIGJsb2NraW5nIG9uIGxvY2sgYWNxdWlzaXRpb24uICBJZiBMT0NLX05CIGlzIHVzZWQgYW5kIHRoZVxuIgorImxvY2sgY2Fubm90IGJlIGFjcXVpcmVkLCBhbiBJT0Vycm9yIHdpbGwgYmUgcmFpc2VkIGFuZCB0aGUgZXhjZXB0aW9uIHdpbGxcbiIKKyJoYXZlIGFuIGVycm5vIGF0dHJpYnV0ZSBzZXQgdG8gRUFDQ0VTIG9yIEVBR0FJTiAoZGVwZW5kaW5nIG9uIHRoZSBvcGVyYXRpbmdcbiIKKyJzeXN0ZW0gLS0gZm9yIHBvcnRhYmlsaXR5LCBjaGVjayBmb3IgZWl0aGVyIHZhbHVlKS5cbiIKKyJcbiIKKyJsZW5ndGggaXMgdGhlIG51bWJlciBvZiBieXRlcyB0byBsb2NrLCB3aXRoIHRoZSBkZWZhdWx0IG1lYW5pbmcgdG8gbG9jayB0b1xuIgorIkVPRi4gIHN0YXJ0IGlzIHRoZSBieXRlIG9mZnNldCwgcmVsYXRpdmUgdG8gd2hlbmNlLCB0byB0aGF0IHRoZSBsb2NrXG4iCisic3RhcnRzLiAgd2hlbmNlIGlzIGFzIHdpdGggZmlsZW9iai5zZWVrKCksIHNwZWNpZmljYWxseTpcbiIKKyJcbiIKKyIgICAgMCAtIHJlbGF0aXZlIHRvIHRoZSBzdGFydCBvZiB0aGUgZmlsZSAoU0VFS19TRVQpXG4iCisiICAgIDEgLSByZWxhdGl2ZSB0byB0aGUgY3VycmVudCBidWZmZXIgcG9zaXRpb24gKFNFRUtfQ1VSKVxuIgorIiAgICAyIC0gcmVsYXRpdmUgdG8gdGhlIGVuZCBvZiB0aGUgZmlsZSAoU0VFS19FTkQpIik7CisKKyNkZWZpbmUgRkNOVExfTE9DS0ZfTUVUSE9EREVGICAgIFwKKyAgICB7ImxvY2tmIiwgKFB5Q0Z1bmN0aW9uKWZjbnRsX2xvY2tmLCBNRVRIX1ZBUkFSR1MsIGZjbnRsX2xvY2tmX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitmY250bF9sb2NrZl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCwgaW50IGNvZGUsIFB5T2JqZWN0ICpsZW5vYmosIFB5T2JqZWN0ICpzdGFydG9iaiwgaW50IHdoZW5jZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitmY250bF9sb2NrZihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBpbnQgZmQ7CisgICAgaW50IGNvZGU7CisgICAgUHlPYmplY3QgKmxlbm9iaiA9IE5VTEw7CisgICAgUHlPYmplY3QgKnN0YXJ0b2JqID0gTlVMTDsKKyAgICBpbnQgd2hlbmNlID0gMDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiTyZpfE9PaTpsb2NrZiIsCisgICAgICAgIGNvbnZfZGVzY3JpcHRvciwgJmZkLCAmY29kZSwgJmxlbm9iaiwgJnN0YXJ0b2JqLCAmd2hlbmNlKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGZjbnRsX2xvY2tmX2ltcGwobW9kdWxlLCBmZCwgY29kZSwgbGVub2JqLCBzdGFydG9iaiwgd2hlbmNlKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTg0YmRkZTczYTkyZjdjNjEgaW5wdXQ9YTkwNDkwNTQwMTNhMWI3N10qLwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9jbGluaWMvZ3JwbW9kdWxlLmMuaCBiL01vZHVsZXMvY2xpbmljL2dycG1vZHVsZS5jLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjgxODMwOQotLS0gL2Rldi9udWxsCisrKyBiL01vZHVsZXMvY2xpbmljL2dycG1vZHVsZS5jLmgKQEAgLTAsMCArMSw4NyBAQAorLypbY2xpbmljIGlucHV0XQorcHJlc2VydmUKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGdycF9nZXRncmdpZF9fZG9jX18sCisiZ2V0Z3JnaWQoJG1vZHVsZSwgLywgaWQpXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIGdyb3VwIGRhdGFiYXNlIGVudHJ5IGZvciB0aGUgZ2l2ZW4gbnVtZXJpYyBncm91cCBJRC5cbiIKKyJcbiIKKyJJZiBpZCBpcyBub3QgdmFsaWQsIHJhaXNlIEtleUVycm9yLiIpOworCisjZGVmaW5lIEdSUF9HRVRHUkdJRF9NRVRIT0RERUYgICAgXAorICAgIHsiZ2V0Z3JnaWQiLCAoUHlDRnVuY3Rpb24pZ3JwX2dldGdyZ2lkLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgZ3JwX2dldGdyZ2lkX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitncnBfZ2V0Z3JnaWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqaWQpOworCitzdGF0aWMgUHlPYmplY3QgKgorZ3JwX2dldGdyZ2lkKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsiaWQiLCBOVUxMfTsKKyAgICBQeU9iamVjdCAqaWQ7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJPOmdldGdyZ2lkIiwgX2tleXdvcmRzLAorICAgICAgICAmaWQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gZ3JwX2dldGdyZ2lkX2ltcGwobW9kdWxlLCBpZCk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKGdycF9nZXRncm5hbV9fZG9jX18sCisiZ2V0Z3JuYW0oJG1vZHVsZSwgLywgbmFtZSlcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgZ3JvdXAgZGF0YWJhc2UgZW50cnkgZm9yIHRoZSBnaXZlbiBncm91cCBuYW1lLlxuIgorIlxuIgorIklmIG5hbWUgaXMgbm90IHZhbGlkLCByYWlzZSBLZXlFcnJvci4iKTsKKworI2RlZmluZSBHUlBfR0VUR1JOQU1fTUVUSE9EREVGICAgIFwKKyAgICB7ImdldGdybmFtIiwgKFB5Q0Z1bmN0aW9uKWdycF9nZXRncm5hbSwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIGdycF9nZXRncm5hbV9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorZ3JwX2dldGdybmFtX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKm5hbWUpOworCitzdGF0aWMgUHlPYmplY3QgKgorZ3JwX2dldGdybmFtKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsibmFtZSIsIE5VTEx9OworICAgIFB5T2JqZWN0ICpuYW1lOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiVTpnZXRncm5hbSIsIF9rZXl3b3JkcywKKyAgICAgICAgJm5hbWUpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gZ3JwX2dldGdybmFtX2ltcGwobW9kdWxlLCBuYW1lKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitQeURvY19TVFJWQVIoZ3JwX2dldGdyYWxsX19kb2NfXywKKyJnZXRncmFsbCgkbW9kdWxlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGEgbGlzdCBvZiBhbGwgYXZhaWxhYmxlIGdyb3VwIGVudHJpZXMsIGluIGFyYml0cmFyeSBvcmRlci5cbiIKKyJcbiIKKyJBbiBlbnRyeSB3aG9zZSBuYW1lIHN0YXJ0cyB3aXRoIFwnK1wnIG9yIFwnLVwnIHJlcHJlc2VudHMgYW4gaW5zdHJ1Y3Rpb25cbiIKKyJ0byB1c2UgWVAvTklTIGFuZCBtYXkgbm90IGJlIGFjY2Vzc2libGUgdmlhIGdldGdybmFtIG9yIGdldGdyZ2lkLiIpOworCisjZGVmaW5lIEdSUF9HRVRHUkFMTF9NRVRIT0RERUYgICAgXAorICAgIHsiZ2V0Z3JhbGwiLCAoUHlDRnVuY3Rpb24pZ3JwX2dldGdyYWxsLCBNRVRIX05PQVJHUywgZ3JwX2dldGdyYWxsX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitncnBfZ2V0Z3JhbGxfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2dycF9nZXRncmFsbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBncnBfZ2V0Z3JhbGxfaW1wbChtb2R1bGUpOworfQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTQ3MDlhNmJhNDBiYjhkZjkgaW5wdXQ9YTkwNDkwNTQwMTNhMWI3N10qLwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9jbGluaWMvcHdkbW9kdWxlLmMuaCBiL01vZHVsZXMvY2xpbmljL3B3ZG1vZHVsZS5jLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmE0MDA0MgotLS0gL2Rldi9udWxsCisrKyBiL01vZHVsZXMvY2xpbmljL3B3ZG1vZHVsZS5jLmgKQEAgLTAsMCArMSw3MyBAQAorLypbY2xpbmljIGlucHV0XQorcHJlc2VydmUKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKHB3ZF9nZXRwd3VpZF9fZG9jX18sCisiZ2V0cHd1aWQoJG1vZHVsZSwgdWlkb2JqLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSBwYXNzd29yZCBkYXRhYmFzZSBlbnRyeSBmb3IgdGhlIGdpdmVuIG51bWVyaWMgdXNlciBJRC5cbiIKKyJcbiIKKyJTZWUgYGhlbHAocHdkKWAgZm9yIG1vcmUgb24gcGFzc3dvcmQgZGF0YWJhc2UgZW50cmllcy4iKTsKKworI2RlZmluZSBQV0RfR0VUUFdVSURfTUVUSE9EREVGICAgIFwKKyAgICB7ImdldHB3dWlkIiwgKFB5Q0Z1bmN0aW9uKXB3ZF9nZXRwd3VpZCwgTUVUSF9PLCBwd2RfZ2V0cHd1aWRfX2RvY19ffSwKKworUHlEb2NfU1RSVkFSKHB3ZF9nZXRwd25hbV9fZG9jX18sCisiZ2V0cHduYW0oJG1vZHVsZSwgYXJnLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSBwYXNzd29yZCBkYXRhYmFzZSBlbnRyeSBmb3IgdGhlIGdpdmVuIHVzZXIgbmFtZS5cbiIKKyJcbiIKKyJTZWUgYGhlbHAocHdkKWAgZm9yIG1vcmUgb24gcGFzc3dvcmQgZGF0YWJhc2UgZW50cmllcy4iKTsKKworI2RlZmluZSBQV0RfR0VUUFdOQU1fTUVUSE9EREVGICAgIFwKKyAgICB7ImdldHB3bmFtIiwgKFB5Q0Z1bmN0aW9uKXB3ZF9nZXRwd25hbSwgTUVUSF9WQVJBUkdTLCBwd2RfZ2V0cHduYW1fX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK3B3ZF9nZXRwd25hbV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmcpOworCitzdGF0aWMgUHlPYmplY3QgKgorcHdkX2dldHB3bmFtKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5T2JqZWN0ICphcmc7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIlU6Z2V0cHduYW0iLAorICAgICAgICAmYXJnKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IHB3ZF9nZXRwd25hbV9pbXBsKG1vZHVsZSwgYXJnKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCisjaWYgZGVmaW5lZChIQVZFX0dFVFBXRU5UKQorCitQeURvY19TVFJWQVIocHdkX2dldHB3YWxsX19kb2NfXywKKyJnZXRwd2FsbCgkbW9kdWxlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGEgbGlzdCBvZiBhbGwgYXZhaWxhYmxlIHBhc3N3b3JkIGRhdGFiYXNlIGVudHJpZXMsIGluIGFyYml0cmFyeSBvcmRlci5cbiIKKyJcbiIKKyJTZWUgaGVscChwd2QpIGZvciBtb3JlIG9uIHBhc3N3b3JkIGRhdGFiYXNlIGVudHJpZXMuIik7CisKKyNkZWZpbmUgUFdEX0dFVFBXQUxMX01FVEhPRERFRiAgICBcCisgICAgeyJnZXRwd2FsbCIsIChQeUNGdW5jdGlvbilwd2RfZ2V0cHdhbGwsIE1FVEhfTk9BUkdTLCBwd2RfZ2V0cHdhbGxfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK3B3ZF9nZXRwd2FsbF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorcHdkX2dldHB3YWxsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIHB3ZF9nZXRwd2FsbF9pbXBsKG1vZHVsZSk7Cit9CisKKyNlbmRpZiAvKiBkZWZpbmVkKEhBVkVfR0VUUFdFTlQpICovCisKKyNpZm5kZWYgUFdEX0dFVFBXQUxMX01FVEhPRERFRgorICAgICNkZWZpbmUgUFdEX0dFVFBXQUxMX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKFBXRF9HRVRQV0FMTF9NRVRIT0RERUYpICovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MmUyM2Y5MjAwMjBhNzUwYSBpbnB1dD1hOTA0OTA1NDAxM2ExYjc3XSovCmRpZmYgLS1naXQgYS9Nb2R1bGVzL2NsaW5pYy9zcHdkbW9kdWxlLmMuaCBiL01vZHVsZXMvY2xpbmljL3Nwd2Rtb2R1bGUuYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIwOTFmYzkKLS0tIC9kZXYvbnVsbAorKysgYi9Nb2R1bGVzL2NsaW5pYy9zcHdkbW9kdWxlLmMuaApAQCAtMCwwICsxLDcwIEBACisvKltjbGluaWMgaW5wdXRdCitwcmVzZXJ2ZQorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCisjaWYgZGVmaW5lZChIQVZFX0dFVFNQTkFNKQorCitQeURvY19TVFJWQVIoc3B3ZF9nZXRzcG5hbV9fZG9jX18sCisiZ2V0c3BuYW0oJG1vZHVsZSwgYXJnLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSBzaGFkb3cgcGFzc3dvcmQgZGF0YWJhc2UgZW50cnkgZm9yIHRoZSBnaXZlbiB1c2VyIG5hbWUuXG4iCisiXG4iCisiU2VlIGBoZWxwKHNwd2QpYCBmb3IgbW9yZSBvbiBzaGFkb3cgcGFzc3dvcmQgZGF0YWJhc2UgZW50cmllcy4iKTsKKworI2RlZmluZSBTUFdEX0dFVFNQTkFNX01FVEhPRERFRiAgICBcCisgICAgeyJnZXRzcG5hbSIsIChQeUNGdW5jdGlvbilzcHdkX2dldHNwbmFtLCBNRVRIX1ZBUkFSR1MsIHNwd2RfZ2V0c3BuYW1fX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK3Nwd2RfZ2V0c3BuYW1faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJnKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3Nwd2RfZ2V0c3BuYW0oUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlPYmplY3QgKmFyZzsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiVTpnZXRzcG5hbSIsCisgICAgICAgICZhcmcpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gc3B3ZF9nZXRzcG5hbV9pbXBsKG1vZHVsZSwgYXJnKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCisjZW5kaWYgLyogZGVmaW5lZChIQVZFX0dFVFNQTkFNKSAqLworCisjaWZuZGVmIFNQV0RfR0VUU1BOQU1fTUVUSE9EREVGCisgICAgI2RlZmluZSBTUFdEX0dFVFNQTkFNX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKFNQV0RfR0VUU1BOQU1fTUVUSE9EREVGKSAqLworCisjaWYgZGVmaW5lZChIQVZFX0dFVFNQRU5UKQorCitQeURvY19TVFJWQVIoc3B3ZF9nZXRzcGFsbF9fZG9jX18sCisiZ2V0c3BhbGwoJG1vZHVsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBhIGxpc3Qgb2YgYWxsIGF2YWlsYWJsZSBzaGFkb3cgcGFzc3dvcmQgZGF0YWJhc2UgZW50cmllcywgaW4gYXJiaXRyYXJ5IG9yZGVyLlxuIgorIlxuIgorIlNlZSBgaGVscChzcHdkKWAgZm9yIG1vcmUgb24gc2hhZG93IHBhc3N3b3JkIGRhdGFiYXNlIGVudHJpZXMuIik7CisKKyNkZWZpbmUgU1BXRF9HRVRTUEFMTF9NRVRIT0RERUYgICAgXAorICAgIHsiZ2V0c3BhbGwiLCAoUHlDRnVuY3Rpb24pc3B3ZF9nZXRzcGFsbCwgTUVUSF9OT0FSR1MsIHNwd2RfZ2V0c3BhbGxfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK3Nwd2RfZ2V0c3BhbGxfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3Nwd2RfZ2V0c3BhbGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gc3B3ZF9nZXRzcGFsbF9pbXBsKG1vZHVsZSk7Cit9CisKKyNlbmRpZiAvKiBkZWZpbmVkKEhBVkVfR0VUU1BFTlQpICovCisKKyNpZm5kZWYgU1BXRF9HRVRTUEFMTF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIFNQV0RfR0VUU1BBTExfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoU1BXRF9HRVRTUEFMTF9NRVRIT0RERUYpICovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NDFmZWM0YTE1YjBjZDJhMCBpbnB1dD1hOTA0OTA1NDAxM2ExYjc3XSovCmRpZmYgLS1naXQgYS9Nb2R1bGVzL2NtYXRobW9kdWxlLmMgYi9Nb2R1bGVzL2NtYXRobW9kdWxlLmMKaW5kZXggZWIyODUzYy4uNTc0NmRiMSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9jbWF0aG1vZHVsZS5jCisrKyBiL01vZHVsZXMvY21hdGhtb2R1bGUuYwpAQCAtOCw2ICs4LDQxIEBACiAgICBmbG9hdC5oLiAgV2UgYXNzdW1lIHRoYXQgRkxUX1JBRElYIGlzIGVpdGhlciAyIG9yIDE2LiAqLwogI2luY2x1ZGUgPGZsb2F0Lmg+CiAKKyNpbmNsdWRlICJjbGluaWMvY21hdGhtb2R1bGUuYy5oIgorLypbY2xpbmljIGlucHV0XQorb3V0cHV0IHByZXNldCBmaWxlCittb2R1bGUgY21hdGgKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kYTM5YTNlZTVlNmI0YjBkIGlucHV0PWVmN2UwZmRkOGExNDNjMDNdKi8KKworLypbcHl0aG9uIGlucHV0XQorY2xhc3MgUHlfY29tcGxleF9wcm90ZWN0ZWRfY29udmVydGVyKFB5X2NvbXBsZXhfY29udmVydGVyKToKKyAgICBkZWYgbW9kaWZ5KHNlbGYpOgorICAgICAgICByZXR1cm4gJ2Vycm5vID0gMDsgUHlGUEVfU1RBUlRfUFJPVEVDVCgiY29tcGxleCBmdW5jdGlvbiIsIGdvdG8gZXhpdCk7JworCisKK2NsYXNzIFB5X2NvbXBsZXhfcHJvdGVjdGVkX3JldHVybl9jb252ZXJ0ZXIoQ1JldHVybkNvbnZlcnRlcik6CisgICAgdHlwZSA9ICJQeV9jb21wbGV4IgorCisgICAgZGVmIHJlbmRlcihzZWxmLCBmdW5jdGlvbiwgZGF0YSk6CisgICAgICAgIHNlbGYuZGVjbGFyZShkYXRhKQorICAgICAgICBkYXRhLnJldHVybl9jb252ZXJzaW9uLmFwcGVuZCgiIiIKK1B5RlBFX0VORF9QUk9URUNUKF9yZXR1cm5fdmFsdWUpOworaWYgKGVycm5vID09IEVET00pIHt7CisgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJtYXRoIGRvbWFpbiBlcnJvciIpOworICAgIGdvdG8gZXhpdDsKK319CitlbHNlIGlmIChlcnJubyA9PSBFUkFOR0UpIHt7CisgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX092ZXJmbG93RXJyb3IsICJtYXRoIHJhbmdlIGVycm9yIik7CisgICAgZ290byBleGl0OworfX0KK2Vsc2Uge3sKKyAgICByZXR1cm5fdmFsdWUgPSBQeUNvbXBsZXhfRnJvbUNDb21wbGV4KF9yZXR1cm5fdmFsdWUpOworfX0KKyIiIi5zdHJpcCgpKQorW3B5dGhvbiBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworLypbcHl0aG9uIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWRhMzlhM2VlNWU2YjRiMGQgaW5wdXQ9MjMxMDE5MDM5YTZmYmI5YV0qLworCiAjaWYgKEZMVF9SQURJWCAhPSAyICYmIEZMVF9SQURJWCAhPSAxNikKICNlcnJvciAiTW9kdWxlcy9jbWF0aG1vZHVsZS5jIGV4cGVjdHMgRkxUX1JBRElYIHRvIGJlIDIgb3IgMTYiCiAjZW5kaWYKQEAgLTQ4LDEyICs4MywxMiBAQAogI2RlZmluZSBDTV9TQ0FMRV9ET1dOICgtKENNX1NDQUxFX1VQKzEpLzIpCiAKIC8qIGZvcndhcmQgZGVjbGFyYXRpb25zICovCi1zdGF0aWMgUHlfY29tcGxleCBjX2FzaW5oKFB5X2NvbXBsZXgpOwotc3RhdGljIFB5X2NvbXBsZXggY19hdGFuaChQeV9jb21wbGV4KTsKLXN0YXRpYyBQeV9jb21wbGV4IGNfY29zaChQeV9jb21wbGV4KTsKLXN0YXRpYyBQeV9jb21wbGV4IGNfc2luaChQeV9jb21wbGV4KTsKLXN0YXRpYyBQeV9jb21wbGV4IGNfc3FydChQeV9jb21wbGV4KTsKLXN0YXRpYyBQeV9jb21wbGV4IGNfdGFuaChQeV9jb21wbGV4KTsKK3N0YXRpYyBQeV9jb21wbGV4IGNtYXRoX2FzaW5oX2ltcGwoUHlNb2R1bGVEZWYgKiwgUHlfY29tcGxleCk7CitzdGF0aWMgUHlfY29tcGxleCBjbWF0aF9hdGFuaF9pbXBsKFB5TW9kdWxlRGVmICosIFB5X2NvbXBsZXgpOworc3RhdGljIFB5X2NvbXBsZXggY21hdGhfY29zaF9pbXBsKFB5TW9kdWxlRGVmICosIFB5X2NvbXBsZXgpOworc3RhdGljIFB5X2NvbXBsZXggY21hdGhfc2luaF9pbXBsKFB5TW9kdWxlRGVmICosIFB5X2NvbXBsZXgpOworc3RhdGljIFB5X2NvbXBsZXggY21hdGhfc3FydF9pbXBsKFB5TW9kdWxlRGVmICosIFB5X2NvbXBsZXgpOworc3RhdGljIFB5X2NvbXBsZXggY21hdGhfdGFuaF9pbXBsKFB5TW9kdWxlRGVmICosIFB5X2NvbXBsZXgpOwogc3RhdGljIFB5T2JqZWN0ICogbWF0aF9lcnJvcih2b2lkKTsKIAogLyogQ29kZSB0byBkZWFsIHdpdGggc3BlY2lhbCB2YWx1ZXMgKGluZmluaXRpZXMsIE5hTnMsIGV0Yy4pLiAqLwpAQCAtMTIzLDggKzE1OCwxOCBAQAogCiBzdGF0aWMgUHlfY29tcGxleCBhY29zX3NwZWNpYWxfdmFsdWVzWzddWzddOwogCisvKltjbGluaWMgaW5wdXRdCitjbWF0aC5hY29zIC0+IFB5X2NvbXBsZXhfcHJvdGVjdGVkCisKKyAgICB6OiBQeV9jb21wbGV4X3Byb3RlY3RlZAorICAgIC8KKworUmV0dXJuIHRoZSBhcmMgY29zaW5lIG9mIHouCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKIHN0YXRpYyBQeV9jb21wbGV4Ci1jX2Fjb3MoUHlfY29tcGxleCB6KQorY21hdGhfYWNvc19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2NvbXBsZXggeikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD03YzFkZDIxZmY4MThkYjZiIGlucHV0PWJkNmNiZDc4YWU4NTE5MjddKi8KIHsKICAgICBQeV9jb21wbGV4IHMxLCBzMiwgcjsKIApAQCAtMTQ1LDEwICsxOTAsMTAgQEAKICAgICB9IGVsc2UgewogICAgICAgICBzMS5yZWFsID0gMS4tei5yZWFsOwogICAgICAgICBzMS5pbWFnID0gLXouaW1hZzsKLSAgICAgICAgczEgPSBjX3NxcnQoczEpOworICAgICAgICBzMSA9IGNtYXRoX3NxcnRfaW1wbChtb2R1bGUsIHMxKTsKICAgICAgICAgczIucmVhbCA9IDEuK3oucmVhbDsKICAgICAgICAgczIuaW1hZyA9IHouaW1hZzsKLSAgICAgICAgczIgPSBjX3NxcnQoczIpOworICAgICAgICBzMiA9IGNtYXRoX3NxcnRfaW1wbChtb2R1bGUsIHMyKTsKICAgICAgICAgci5yZWFsID0gMi4qYXRhbjIoczEucmVhbCwgczIucmVhbCk7CiAgICAgICAgIHIuaW1hZyA9IG1fYXNpbmgoczIucmVhbCpzMS5pbWFnIC0gczIuaW1hZypzMS5yZWFsKTsKICAgICB9CkBAIC0xNTYsMTYgKzIwMSwxOCBAQAogICAgIHJldHVybiByOwogfQogCi1QeURvY19TVFJWQVIoY19hY29zX2RvYywKLSJhY29zKHgpXG4iCi0iXG4iCi0iUmV0dXJuIHRoZSBhcmMgY29zaW5lIG9mIHguIik7Ci0KIAogc3RhdGljIFB5X2NvbXBsZXggYWNvc2hfc3BlY2lhbF92YWx1ZXNbN11bN107CiAKKy8qW2NsaW5pYyBpbnB1dF0KK2NtYXRoLmFjb3NoID0gY21hdGguYWNvcworCitSZXR1cm4gdGhlIGludmVyc2UgaHlwZXJib2xpYyBjb3NpbmUgb2Ygei4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKwogc3RhdGljIFB5X2NvbXBsZXgKLWNfYWNvc2goUHlfY29tcGxleCB6KQorY21hdGhfYWNvc2hfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9jb21wbGV4IHopCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YzIzYzc3NjQyOWRlZjk4MSBpbnB1dD1iYzAxNjQxMjA4MGJiM2U5XSovCiB7CiAgICAgUHlfY29tcGxleCBzMSwgczIsIHI7CiAKQEAgLTE3OCwxMCArMjI1LDEwIEBACiAgICAgfSBlbHNlIHsKICAgICAgICAgczEucmVhbCA9IHoucmVhbCAtIDEuOwogICAgICAgICBzMS5pbWFnID0gei5pbWFnOwotICAgICAgICBzMSA9IGNfc3FydChzMSk7CisgICAgICAgIHMxID0gY21hdGhfc3FydF9pbXBsKG1vZHVsZSwgczEpOwogICAgICAgICBzMi5yZWFsID0gei5yZWFsICsgMS47CiAgICAgICAgIHMyLmltYWcgPSB6LmltYWc7Ci0gICAgICAgIHMyID0gY19zcXJ0KHMyKTsKKyAgICAgICAgczIgPSBjbWF0aF9zcXJ0X2ltcGwobW9kdWxlLCBzMik7CiAgICAgICAgIHIucmVhbCA9IG1fYXNpbmgoczEucmVhbCpzMi5yZWFsICsgczEuaW1hZypzMi5pbWFnKTsKICAgICAgICAgci5pbWFnID0gMi4qYXRhbjIoczEuaW1hZywgczIucmVhbCk7CiAgICAgfQpAQCAtMTg5LDM1ICsyMzYsMzggQEAKICAgICByZXR1cm4gcjsKIH0KIAotUHlEb2NfU1RSVkFSKGNfYWNvc2hfZG9jLAotImFjb3NoKHgpXG4iCi0iXG4iCi0iUmV0dXJuIHRoZSBpbnZlcnNlIGh5cGVyYm9saWMgY29zaW5lIG9mIHguIik7CisvKltjbGluaWMgaW5wdXRdCitjbWF0aC5hc2luID0gY21hdGguYWNvcwogCitSZXR1cm4gdGhlIGFyYyBzaW5lIG9mIHouCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKIHN0YXRpYyBQeV9jb21wbGV4Ci1jX2FzaW4oUHlfY29tcGxleCB6KQorY21hdGhfYXNpbl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2NvbXBsZXggeikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD00MmQyMzQ2ZDQ2NjkwODI2IGlucHV0PWJlMGJmMGNmZGQ1MjM5YzVdKi8KIHsKICAgICAvKiBhc2luKHopID0gLWkgYXNpbmgoaXopICovCiAgICAgUHlfY29tcGxleCBzLCByOwogICAgIHMucmVhbCA9IC16LmltYWc7CiAgICAgcy5pbWFnID0gei5yZWFsOwotICAgIHMgPSBjX2FzaW5oKHMpOworICAgIHMgPSBjbWF0aF9hc2luaF9pbXBsKG1vZHVsZSwgcyk7CiAgICAgci5yZWFsID0gcy5pbWFnOwogICAgIHIuaW1hZyA9IC1zLnJlYWw7CiAgICAgcmV0dXJuIHI7CiB9CiAKLVB5RG9jX1NUUlZBUihjX2FzaW5fZG9jLAotImFzaW4oeClcbiIKLSJcbiIKLSJSZXR1cm4gdGhlIGFyYyBzaW5lIG9mIHguIik7Ci0KIAogc3RhdGljIFB5X2NvbXBsZXggYXNpbmhfc3BlY2lhbF92YWx1ZXNbN11bN107CiAKKy8qW2NsaW5pYyBpbnB1dF0KK2NtYXRoLmFzaW5oID0gY21hdGguYWNvcworCitSZXR1cm4gdGhlIGludmVyc2UgaHlwZXJib2xpYyBzaW5lIG9mIHouCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKIHN0YXRpYyBQeV9jb21wbGV4Ci1jX2FzaW5oKFB5X2NvbXBsZXggeikKK2NtYXRoX2FzaW5oX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfY29tcGxleCB6KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTBjNjY2NDgyM2M3YjFiMzUgaW5wdXQ9NWEyMWZhMDI0MjkyOGM5Yl0qLwogewogICAgIFB5X2NvbXBsZXggczEsIHMyLCByOwogCkBAIC0yMzUsMTAgKzI4NSwxMCBAQAogICAgIH0gZWxzZSB7CiAgICAgICAgIHMxLnJlYWwgPSAxLit6LmltYWc7CiAgICAgICAgIHMxLmltYWcgPSAtei5yZWFsOwotICAgICAgICBzMSA9IGNfc3FydChzMSk7CisgICAgICAgIHMxID0gY21hdGhfc3FydF9pbXBsKG1vZHVsZSwgczEpOwogICAgICAgICBzMi5yZWFsID0gMS4tei5pbWFnOwogICAgICAgICBzMi5pbWFnID0gei5yZWFsOwotICAgICAgICBzMiA9IGNfc3FydChzMik7CisgICAgICAgIHMyID0gY21hdGhfc3FydF9pbXBsKG1vZHVsZSwgczIpOwogICAgICAgICByLnJlYWwgPSBtX2FzaW5oKHMxLnJlYWwqczIuaW1hZy1zMi5yZWFsKnMxLmltYWcpOwogICAgICAgICByLmltYWcgPSBhdGFuMih6LmltYWcsIHMxLnJlYWwqczIucmVhbC1zMS5pbWFnKnMyLmltYWcpOwogICAgIH0KQEAgLTI0NiwyMCArMjk2LDIyIEBACiAgICAgcmV0dXJuIHI7CiB9CiAKLVB5RG9jX1NUUlZBUihjX2FzaW5oX2RvYywKLSJhc2luaCh4KVxuIgotIlxuIgotIlJldHVybiB0aGUgaW52ZXJzZSBoeXBlcmJvbGljIHNpbmUgb2YgeC4iKTsKIAorLypbY2xpbmljIGlucHV0XQorY21hdGguYXRhbiA9IGNtYXRoLmFjb3MKKworUmV0dXJuIHRoZSBhcmMgdGFuZ2VudCBvZiB6LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwogCiBzdGF0aWMgUHlfY29tcGxleAotY19hdGFuKFB5X2NvbXBsZXggeikKK2NtYXRoX2F0YW5faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9jb21wbGV4IHopCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YjdkNDRmMDJjNmE1YzNiNSBpbnB1dD0zYjIxZmY3ZDVlYWM2MzJhXSovCiB7CiAgICAgLyogYXRhbih6KSA9IC1pIGF0YW5oKGl6KSAqLwogICAgIFB5X2NvbXBsZXggcywgcjsKICAgICBzLnJlYWwgPSAtei5pbWFnOwogICAgIHMuaW1hZyA9IHoucmVhbDsKLSAgICBzID0gY19hdGFuaChzKTsKKyAgICBzID0gY21hdGhfYXRhbmhfaW1wbChtb2R1bGUsIHMpOwogICAgIHIucmVhbCA9IHMuaW1hZzsKICAgICByLmltYWcgPSAtcy5yZWFsOwogICAgIHJldHVybiByOwpAQCAtMjk1LDE2ICszNDcsMTggQEAKICAgICByZXR1cm4gYXRhbjIoei5pbWFnLCB6LnJlYWwpOwogfQogCi1QeURvY19TVFJWQVIoY19hdGFuX2RvYywKLSJhdGFuKHgpXG4iCi0iXG4iCi0iUmV0dXJuIHRoZSBhcmMgdGFuZ2VudCBvZiB4LiIpOwotCiAKIHN0YXRpYyBQeV9jb21wbGV4IGF0YW5oX3NwZWNpYWxfdmFsdWVzWzddWzddOwogCisvKltjbGluaWMgaW5wdXRdCitjbWF0aC5hdGFuaCA9IGNtYXRoLmFjb3MKKworUmV0dXJuIHRoZSBpbnZlcnNlIGh5cGVyYm9saWMgdGFuZ2VudCBvZiB6LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCiBzdGF0aWMgUHlfY29tcGxleAotY19hdGFuaChQeV9jb21wbGV4IHopCitjbWF0aF9hdGFuaF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2NvbXBsZXggeikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0yNzllMGI5ZmVmYzhkYTdjIGlucHV0PWRmMTljZGM5ZjlkNDMxYzldKi8KIHsKICAgICBQeV9jb21wbGV4IHI7CiAgICAgZG91YmxlIGF5LCBoOwpAQCAtMzEzLDcgKzM2Nyw3IEBACiAKICAgICAvKiBSZWR1Y2UgdG8gY2FzZSB3aGVyZSB6LnJlYWwgPj0gMC4sIHVzaW5nIGF0YW5oKHopID0gLWF0YW5oKC16KS4gKi8KICAgICBpZiAoei5yZWFsIDwgMC4pIHsKLSAgICAgICAgcmV0dXJuIGNfbmVnKGNfYXRhbmgoY19uZWcoeikpKTsKKyAgICAgICAgcmV0dXJuIF9QeV9jX25lZyhjbWF0aF9hdGFuaF9pbXBsKG1vZHVsZSwgX1B5X2NfbmVnKHopKSk7CiAgICAgfQogCiAgICAgYXkgPSBmYWJzKHouaW1hZyk7CkBAIC0zNTAsMzQgKzQwNCwzOCBAQAogICAgIHJldHVybiByOwogfQogCi1QeURvY19TVFJWQVIoY19hdGFuaF9kb2MsCi0iYXRhbmgoeClcbiIKLSJcbiIKLSJSZXR1cm4gdGhlIGludmVyc2UgaHlwZXJib2xpYyB0YW5nZW50IG9mIHguIik7CiAKKy8qW2NsaW5pYyBpbnB1dF0KK2NtYXRoLmNvcyA9IGNtYXRoLmFjb3MKKworUmV0dXJuIHRoZSBjb3NpbmUgb2Ygei4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAogc3RhdGljIFB5X2NvbXBsZXgKLWNfY29zKFB5X2NvbXBsZXggeikKK2NtYXRoX2Nvc19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2NvbXBsZXggeikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD05ZDFjZGMxYjVlNzYxNjY3IGlucHV0PTYwMjJlMzliNzcxMjdhYzddKi8KIHsKICAgICAvKiBjb3MoeikgPSBjb3NoKGl6KSAqLwogICAgIFB5X2NvbXBsZXggcjsKICAgICByLnJlYWwgPSAtei5pbWFnOwogICAgIHIuaW1hZyA9IHoucmVhbDsKLSAgICByID0gY19jb3NoKHIpOworICAgIHIgPSBjbWF0aF9jb3NoX2ltcGwobW9kdWxlLCByKTsKICAgICByZXR1cm4gcjsKIH0KIAotUHlEb2NfU1RSVkFSKGNfY29zX2RvYywKLSJjb3MoeClcbiIKLSJcbiIKLSJSZXR1cm4gdGhlIGNvc2luZSBvZiB4LiIpOwotCiAKIC8qIGNvc2goaW5maW5pdHkgKyBpKnkpIG5lZWRzIHRvIGJlIGRlYWx0IHdpdGggc3BlY2lhbGx5ICovCiBzdGF0aWMgUHlfY29tcGxleCBjb3NoX3NwZWNpYWxfdmFsdWVzWzddWzddOwogCisvKltjbGluaWMgaW5wdXRdCitjbWF0aC5jb3NoID0gY21hdGguYWNvcworCitSZXR1cm4gdGhlIGh5cGVyYm9saWMgY29zaW5lIG9mIHouCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKIHN0YXRpYyBQeV9jb21wbGV4Ci1jX2Nvc2goUHlfY29tcGxleCB6KQorY21hdGhfY29zaF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2NvbXBsZXggeikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1mM2I1ZDMyODJiMzAyNGQzIGlucHV0PWQ2YjY2MzM5ZTljYzMzMmJdKi8KIHsKICAgICBQeV9jb21wbGV4IHI7CiAgICAgZG91YmxlIHhfbWludXNfb25lOwpAQCAtNDI2LDE4ICs0ODQsMjAgQEAKICAgICByZXR1cm4gcjsKIH0KIAotUHlEb2NfU1RSVkFSKGNfY29zaF9kb2MsCi0iY29zaCh4KVxuIgotIlxuIgotIlJldHVybiB0aGUgaHlwZXJib2xpYyBjb3NpbmUgb2YgeC4iKTsKLQogCiAvKiBleHAoaW5maW5pdHkgKyBpKnkpIGFuZCBleHAoLWluZmluaXR5ICsgaSp5KSBuZWVkIHNwZWNpYWwgdHJlYXRtZW50IGZvcgogICAgZmluaXRlIHkgKi8KIHN0YXRpYyBQeV9jb21wbGV4IGV4cF9zcGVjaWFsX3ZhbHVlc1s3XVs3XTsKIAorLypbY2xpbmljIGlucHV0XQorY21hdGguZXhwID0gY21hdGguYWNvcworCitSZXR1cm4gdGhlIGV4cG9uZW50aWFsIHZhbHVlIGUqKnouCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKIHN0YXRpYyBQeV9jb21wbGV4Ci1jX2V4cChQeV9jb21wbGV4IHopCitjbWF0aF9leHBfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9jb21wbGV4IHopCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NmY4ODI1ZWIyYmNhZDliYSBpbnB1dD04YjllNmNmOGE5MjE3NGMzXSovCiB7CiAgICAgUHlfY29tcGxleCByOwogICAgIGRvdWJsZSBsOwpAQCAtNDg2LDEyICs1NDYsNiBAQAogICAgIHJldHVybiByOwogfQogCi1QeURvY19TVFJWQVIoY19leHBfZG9jLAotImV4cCh4KVxuIgotIlxuIgotIlJldHVybiB0aGUgZXhwb25lbnRpYWwgdmFsdWUgZSoqeC4iKTsKLQotCiBzdGF0aWMgUHlfY29tcGxleCBsb2dfc3BlY2lhbF92YWx1ZXNbN11bN107CiAKIHN0YXRpYyBQeV9jb21wbGV4CkBAIC01NjQsOCArNjE4LDE1IEBACiB9CiAKIAorLypbY2xpbmljIGlucHV0XQorY21hdGgubG9nMTAgPSBjbWF0aC5hY29zCisKK1JldHVybiB0aGUgYmFzZS0xMCBsb2dhcml0aG0gb2Ygei4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKwogc3RhdGljIFB5X2NvbXBsZXgKLWNfbG9nMTAoUHlfY29tcGxleCB6KQorY21hdGhfbG9nMTBfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9jb21wbGV4IHopCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YzdjNDI2Y2EwZTc4MjM0MSBpbnB1dD1jZmY1NjQ0ZjczYzE1MTljXSovCiB7CiAgICAgUHlfY29tcGxleCByOwogICAgIGludCBlcnJub19zYXZlOwpAQCAtNTc4LDM2ICs2MzksNDAgQEAKICAgICByZXR1cm4gcjsKIH0KIAotUHlEb2NfU1RSVkFSKGNfbG9nMTBfZG9jLAotImxvZzEwKHgpXG4iCi0iXG4iCi0iUmV0dXJuIHRoZSBiYXNlLTEwIGxvZ2FyaXRobSBvZiB4LiIpOwogCisvKltjbGluaWMgaW5wdXRdCitjbWF0aC5zaW4gPSBjbWF0aC5hY29zCisKK1JldHVybiB0aGUgc2luZSBvZiB6LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwogCiBzdGF0aWMgUHlfY29tcGxleAotY19zaW4oUHlfY29tcGxleCB6KQorY21hdGhfc2luX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfY29tcGxleCB6KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWU3ZjVlMmIyNTM4MjVhYzcgaW5wdXQ9MmQzNTE5ODQyYThiNGI4NV0qLwogewogICAgIC8qIHNpbih6KSA9IC1pIHNpbihpeikgKi8KICAgICBQeV9jb21wbGV4IHMsIHI7CiAgICAgcy5yZWFsID0gLXouaW1hZzsKICAgICBzLmltYWcgPSB6LnJlYWw7Ci0gICAgcyA9IGNfc2luaChzKTsKKyAgICBzID0gY21hdGhfc2luaF9pbXBsKG1vZHVsZSwgcyk7CiAgICAgci5yZWFsID0gcy5pbWFnOwogICAgIHIuaW1hZyA9IC1zLnJlYWw7CiAgICAgcmV0dXJuIHI7CiB9CiAKLVB5RG9jX1NUUlZBUihjX3Npbl9kb2MsCi0ic2luKHgpXG4iCi0iXG4iCi0iUmV0dXJuIHRoZSBzaW5lIG9mIHguIik7Ci0KIAogLyogc2luaChpbmZpbml0eSArIGkqeSkgbmVlZHMgdG8gYmUgZGVhbHQgd2l0aCBzcGVjaWFsbHkgKi8KIHN0YXRpYyBQeV9jb21wbGV4IHNpbmhfc3BlY2lhbF92YWx1ZXNbN11bN107CiAKKy8qW2NsaW5pYyBpbnB1dF0KK2NtYXRoLnNpbmggPSBjbWF0aC5hY29zCisKK1JldHVybiB0aGUgaHlwZXJib2xpYyBzaW5lIG9mIHouCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKIHN0YXRpYyBQeV9jb21wbGV4Ci1jX3NpbmgoUHlfY29tcGxleCB6KQorY21hdGhfc2luaF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2NvbXBsZXggeikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kNzFmZmY4Mjk4MDQzYTk1IGlucHV0PWQyZDNmYzhjMWRkZmQyZGRdKi8KIHsKICAgICBQeV9jb21wbGV4IHI7CiAgICAgZG91YmxlIHhfbWludXNfb25lOwpAQCAtNjU1LDE2ICs3MjAsMTggQEAKICAgICByZXR1cm4gcjsKIH0KIAotUHlEb2NfU1RSVkFSKGNfc2luaF9kb2MsCi0ic2luaCh4KVxuIgotIlxuIgotIlJldHVybiB0aGUgaHlwZXJib2xpYyBzaW5lIG9mIHguIik7Ci0KIAogc3RhdGljIFB5X2NvbXBsZXggc3FydF9zcGVjaWFsX3ZhbHVlc1s3XVs3XTsKIAorLypbY2xpbmljIGlucHV0XQorY21hdGguc3FydCA9IGNtYXRoLmFjb3MKKworUmV0dXJuIHRoZSBzcXVhcmUgcm9vdCBvZiB6LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCiBzdGF0aWMgUHlfY29tcGxleAotY19zcXJ0KFB5X2NvbXBsZXggeikKK2NtYXRoX3NxcnRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9jb21wbGV4IHopCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YjZiZGEyODNkMGM1YTdiNCBpbnB1dD03MDg4YjE2NmZjOWE1OGM3XSovCiB7CiAgICAgLyoKICAgICAgICBNZXRob2Q6IHVzZSBzeW1tZXRyaWVzIHRvIHJlZHVjZSB0byB0aGUgY2FzZSB3aGVuIHggPSB6LnJlYWwgYW5kIHkKQEAgLTczMCwzNiArNzk3LDQwIEBACiAgICAgcmV0dXJuIHI7CiB9CiAKLVB5RG9jX1NUUlZBUihjX3NxcnRfZG9jLAotInNxcnQoeClcbiIKLSJcbiIKLSJSZXR1cm4gdGhlIHNxdWFyZSByb290IG9mIHguIik7CiAKKy8qW2NsaW5pYyBpbnB1dF0KK2NtYXRoLnRhbiA9IGNtYXRoLmFjb3MKKworUmV0dXJuIHRoZSB0YW5nZW50IG9mIHouCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKIHN0YXRpYyBQeV9jb21wbGV4Ci1jX3RhbihQeV9jb21wbGV4IHopCitjbWF0aF90YW5faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9jb21wbGV4IHopCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZGYzNzRiYWNmMzZkOTliNCBpbnB1dD1mYzE2N2U1Mjg3Njc4ODhlXSovCiB7CiAgICAgLyogdGFuKHopID0gLWkgdGFuaChpeikgKi8KICAgICBQeV9jb21wbGV4IHMsIHI7CiAgICAgcy5yZWFsID0gLXouaW1hZzsKICAgICBzLmltYWcgPSB6LnJlYWw7Ci0gICAgcyA9IGNfdGFuaChzKTsKKyAgICBzID0gY21hdGhfdGFuaF9pbXBsKG1vZHVsZSwgcyk7CiAgICAgci5yZWFsID0gcy5pbWFnOwogICAgIHIuaW1hZyA9IC1zLnJlYWw7CiAgICAgcmV0dXJuIHI7CiB9CiAKLVB5RG9jX1NUUlZBUihjX3Rhbl9kb2MsCi0idGFuKHgpXG4iCi0iXG4iCi0iUmV0dXJuIHRoZSB0YW5nZW50IG9mIHguIik7Ci0KIAogLyogdGFuaChpbmZpbml0eSArIGkqeSkgbmVlZHMgdG8gYmUgZGVhbHQgd2l0aCBzcGVjaWFsbHkgKi8KIHN0YXRpYyBQeV9jb21wbGV4IHRhbmhfc3BlY2lhbF92YWx1ZXNbN11bN107CiAKKy8qW2NsaW5pYyBpbnB1dF0KK2NtYXRoLnRhbmggPSBjbWF0aC5hY29zCisKK1JldHVybiB0aGUgaHlwZXJib2xpYyB0YW5nZW50IG9mIHouCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKIHN0YXRpYyBQeV9jb21wbGV4Ci1jX3RhbmgoUHlfY29tcGxleCB6KQorY21hdGhfdGFuaF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2NvbXBsZXggeikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1mNTc4NzczZDI3YTE4ZTk2IGlucHV0PTIyZjY3ZjlkYzZkMjk2ODVdKi8KIHsKICAgICAvKiBGb3JtdWxhOgogCkBAIC04MjIsMjcgKzg5MywzNSBAQAogICAgIHJldHVybiByOwogfQogCi1QeURvY19TVFJWQVIoY190YW5oX2RvYywKLSJ0YW5oKHgpXG4iCi0iXG4iCi0iUmV0dXJuIHRoZSBoeXBlcmJvbGljIHRhbmdlbnQgb2YgeC4iKTsKIAorLypbY2xpbmljIGlucHV0XQorY21hdGgubG9nCisKKyAgICB4OiBQeV9jb21wbGV4CisgICAgeV9vYmo6IG9iamVjdCA9IE5VTEwKKyAgICAvCisKK1RoZSBsb2dhcml0aG0gb2YgeiB0byB0aGUgZ2l2ZW4gYmFzZS4KKworSWYgdGhlIGJhc2Ugbm90IHNwZWNpZmllZCwgcmV0dXJucyB0aGUgbmF0dXJhbCBsb2dhcml0aG0gKGJhc2UgZSkgb2Ygei4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLWNtYXRoX2xvZyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitjbWF0aF9sb2dfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9jb21wbGV4IHgsIFB5T2JqZWN0ICp5X29iaikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0zNWUyYTFlNTIyOWI1YTQ2IGlucHV0PWVlMGU4MjNhN2M2ZTY4ZWFdKi8KIHsKLSAgICBQeV9jb21wbGV4IHg7CiAgICAgUHlfY29tcGxleCB5OwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJEfEQiLCAmeCwgJnkpKQotICAgICAgICByZXR1cm4gTlVMTDsKLQogICAgIGVycm5vID0gMDsKICAgICBQeUZQRV9TVEFSVF9QUk9URUNUKCJjb21wbGV4IGZ1bmN0aW9uIiwgcmV0dXJuIDApCiAgICAgeCA9IGNfbG9nKHgpOwotICAgIGlmIChQeVR1cGxlX0dFVF9TSVpFKGFyZ3MpID09IDIpIHsKKyAgICBpZiAoeV9vYmogIT0gTlVMTCkgeworICAgICAgICB5ID0gUHlDb21wbGV4X0FzQ0NvbXBsZXgoeV9vYmopOworICAgICAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkgeworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KICAgICAgICAgeSA9IGNfbG9nKHkpOwotICAgICAgICB4ID0gY19xdW90KHgsIHkpOworICAgICAgICB4ID0gX1B5X2NfcXVvdCh4LCB5KTsKICAgICB9CiAgICAgUHlGUEVfRU5EX1BST1RFQ1QoeCkKICAgICBpZiAoZXJybm8gIT0gMCkKQEAgLTg1MCwxMCArOTI5LDYgQEAKICAgICByZXR1cm4gUHlDb21wbGV4X0Zyb21DQ29tcGxleCh4KTsKIH0KIAotUHlEb2NfU1RSVkFSKGNtYXRoX2xvZ19kb2MsCi0ibG9nKHhbLCBiYXNlXSkgLT4gdGhlIGxvZ2FyaXRobSBvZiB4IHRvIHRoZSBnaXZlbiBiYXNlLlxuXAotSWYgdGhlIGJhc2Ugbm90IHNwZWNpZmllZCwgcmV0dXJucyB0aGUgbmF0dXJhbCBsb2dhcml0aG0gKGJhc2UgZSkgb2YgeC4iKTsKLQogCiAvKiBBbmQgbm93IHRoZSBnbHVlIHRvIG1ha2UgdGhlbSBhdmFpbGFibGUgZnJvbSBQeXRob246ICovCiAKQEAgLTg2OSw1NyArOTQ0LDIyIEBACiAgICAgcmV0dXJuIE5VTEw7CiB9CiAKLXN0YXRpYyBQeU9iamVjdCAqCi1tYXRoXzEoUHlPYmplY3QgKmFyZ3MsIFB5X2NvbXBsZXggKCpmdW5jKShQeV9jb21wbGV4KSkKLXsKLSAgICBQeV9jb21wbGV4IHgsciA7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJEIiwgJngpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBlcnJubyA9IDA7Ci0gICAgUHlGUEVfU1RBUlRfUFJPVEVDVCgiY29tcGxleCBmdW5jdGlvbiIsIHJldHVybiAwKTsKLSAgICByID0gKCpmdW5jKSh4KTsKLSAgICBQeUZQRV9FTkRfUFJPVEVDVChyKTsKLSAgICBpZiAoZXJybm8gPT0gRURPTSkgewotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgIm1hdGggZG9tYWluIGVycm9yIik7Ci0gICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KLSAgICBlbHNlIGlmIChlcnJubyA9PSBFUkFOR0UpIHsKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX092ZXJmbG93RXJyb3IsICJtYXRoIHJhbmdlIGVycm9yIik7Ci0gICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KLSAgICBlbHNlIHsKLSAgICAgICAgcmV0dXJuIFB5Q29tcGxleF9Gcm9tQ0NvbXBsZXgocik7Ci0gICAgfQotfQogCi0jZGVmaW5lIEZVTkMxKHN0dWJuYW1lLCBmdW5jKSBcCi0gICAgc3RhdGljIFB5T2JqZWN0ICogc3R1Ym5hbWUoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKSB7IFwKLSAgICAgICAgcmV0dXJuIG1hdGhfMShhcmdzLCBmdW5jKTsgXAotICAgIH0KKy8qW2NsaW5pYyBpbnB1dF0KK2NtYXRoLnBoYXNlCiAKLUZVTkMxKGNtYXRoX2Fjb3MsIGNfYWNvcykKLUZVTkMxKGNtYXRoX2Fjb3NoLCBjX2Fjb3NoKQotRlVOQzEoY21hdGhfYXNpbiwgY19hc2luKQotRlVOQzEoY21hdGhfYXNpbmgsIGNfYXNpbmgpCi1GVU5DMShjbWF0aF9hdGFuLCBjX2F0YW4pCi1GVU5DMShjbWF0aF9hdGFuaCwgY19hdGFuaCkKLUZVTkMxKGNtYXRoX2NvcywgY19jb3MpCi1GVU5DMShjbWF0aF9jb3NoLCBjX2Nvc2gpCi1GVU5DMShjbWF0aF9leHAsIGNfZXhwKQotRlVOQzEoY21hdGhfbG9nMTAsIGNfbG9nMTApCi1GVU5DMShjbWF0aF9zaW4sIGNfc2luKQotRlVOQzEoY21hdGhfc2luaCwgY19zaW5oKQotRlVOQzEoY21hdGhfc3FydCwgY19zcXJ0KQotRlVOQzEoY21hdGhfdGFuLCBjX3RhbikKLUZVTkMxKGNtYXRoX3RhbmgsIGNfdGFuaCkKKyAgICB6OiBQeV9jb21wbGV4CisgICAgLworCitSZXR1cm4gYXJndW1lbnQsIGFsc28ga25vd24gYXMgdGhlIHBoYXNlIGFuZ2xlLCBvZiBhIGNvbXBsZXguCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1jbWF0aF9waGFzZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitjbWF0aF9waGFzZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2NvbXBsZXggeikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1lMDllYWYzNzNjYjYyNGMzIGlucHV0PTVjZjc1MjI4YmE5NGI2OWRdKi8KIHsKLSAgICBQeV9jb21wbGV4IHo7CiAgICAgZG91YmxlIHBoaTsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIkQ6cGhhc2UiLCAmeikpCi0gICAgICAgIHJldHVybiBOVUxMOworCiAgICAgZXJybm8gPSAwOwogICAgIFB5RlBFX1NUQVJUX1BST1RFQ1QoImFyZyBmdW5jdGlvbiIsIHJldHVybiAwKQogICAgIHBoaSA9IGNfYXRhbjIoeik7CkBAIC05MzAsMjAgKzk3MCwyNiBAQAogICAgICAgICByZXR1cm4gUHlGbG9hdF9Gcm9tRG91YmxlKHBoaSk7CiB9CiAKLVB5RG9jX1NUUlZBUihjbWF0aF9waGFzZV9kb2MsCi0icGhhc2UoeikgLT4gZmxvYXRcblxuXAotUmV0dXJuIGFyZ3VtZW50LCBhbHNvIGtub3duIGFzIHRoZSBwaGFzZSBhbmdsZSwgb2YgYSBjb21wbGV4LiIpOworLypbY2xpbmljIGlucHV0XQorY21hdGgucG9sYXIKKworICAgIHo6IFB5X2NvbXBsZXgKKyAgICAvCisKK0NvbnZlcnQgYSBjb21wbGV4IGZyb20gcmVjdGFuZ3VsYXIgY29vcmRpbmF0ZXMgdG8gcG9sYXIgY29vcmRpbmF0ZXMuCisKK3IgaXMgdGhlIGRpc3RhbmNlIGZyb20gMCBhbmQgcGhpIHRoZSBwaGFzZSBhbmdsZS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLWNtYXRoX3BvbGFyKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK2NtYXRoX3BvbGFyX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfY29tcGxleCB6KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTA3ZDQxYjE2Yzg3Nzg3NWEgaW5wdXQ9MjZjMzUzNTc0ZmQxYTg2MV0qLwogewotICAgIFB5X2NvbXBsZXggejsKICAgICBkb3VibGUgciwgcGhpOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiRDpwb2xhciIsICZ6KSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisKICAgICBQeUZQRV9TVEFSVF9QUk9URUNUKCJwb2xhciBmdW5jdGlvbiIsIHJldHVybiAwKQogICAgIHBoaSA9IGNfYXRhbjIoeik7IC8qIHNob3VsZCBub3QgY2F1c2UgYW55IGV4Y2VwdGlvbiAqLwotICAgIHIgPSBjX2Ficyh6KTsgLyogc2V0cyBlcnJubyB0byBFUkFOR0Ugb24gb3ZlcmZsb3c7ICBvdGhlcndpc2UgMCAqLworICAgIHIgPSBfUHlfY19hYnMoeik7IC8qIHNldHMgZXJybm8gdG8gRVJBTkdFIG9uIG92ZXJmbG93OyAgb3RoZXJ3aXNlIDAgKi8KICAgICBQeUZQRV9FTkRfUFJPVEVDVChyKQogICAgIGlmIChlcnJubyAhPSAwKQogICAgICAgICByZXR1cm4gbWF0aF9lcnJvcigpOwpAQCAtOTUxLDExICs5OTcsNiBAQAogICAgICAgICByZXR1cm4gUHlfQnVpbGRWYWx1ZSgiZGQiLCByLCBwaGkpOwogfQogCi1QeURvY19TVFJWQVIoY21hdGhfcG9sYXJfZG9jLAotInBvbGFyKHopIC0+IHI6IGZsb2F0LCBwaGk6IGZsb2F0XG5cblwKLUNvbnZlcnQgYSBjb21wbGV4IGZyb20gcmVjdGFuZ3VsYXIgY29vcmRpbmF0ZXMgdG8gcG9sYXIgY29vcmRpbmF0ZXMuIHIgaXNcblwKLXRoZSBkaXN0YW5jZSBmcm9tIDAgYW5kIHBoaSB0aGUgcGhhc2UgYW5nbGUuIik7Ci0KIC8qCiAgIHJlY3QoKSBpc24ndCBjb3ZlcmVkIGJ5IHRoZSBDOTkgc3RhbmRhcmQsIGJ1dCBpdCdzIG5vdCB0b28gaGFyZCB0bwogICBmaWd1cmUgb3V0ICdzcGlyaXQgb2YgQzk5JyBydWxlcyBmb3Igc3BlY2lhbCB2YWx1ZSBoYW5kaW5nOgpAQCAtOTY5LDEzICsxMDEwLDIxIEBACiAKIHN0YXRpYyBQeV9jb21wbGV4IHJlY3Rfc3BlY2lhbF92YWx1ZXNbN11bN107CiAKKy8qW2NsaW5pYyBpbnB1dF0KK2NtYXRoLnJlY3QKKworICAgIHI6IGRvdWJsZQorICAgIHBoaTogZG91YmxlCisgICAgLworCitDb252ZXJ0IGZyb20gcG9sYXIgY29vcmRpbmF0ZXMgdG8gcmVjdGFuZ3VsYXIgY29vcmRpbmF0ZXMuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKIHN0YXRpYyBQeU9iamVjdCAqCi1jbWF0aF9yZWN0KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK2NtYXRoX3JlY3RfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBkb3VibGUgciwgZG91YmxlIHBoaSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kOTdhODc0OWJkNjNlOWQ1IGlucHV0PTI0YzU2NDZkMTQ3ZWZkNjldKi8KIHsKICAgICBQeV9jb21wbGV4IHo7Ci0gICAgZG91YmxlIHIsIHBoaTsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImRkOnJlY3QiLCAmciwgJnBoaSkpCi0gICAgICAgIHJldHVybiBOVUxMOwogICAgIGVycm5vID0gMDsKICAgICBQeUZQRV9TVEFSVF9QUk9URUNUKCJyZWN0IGZ1bmN0aW9uIiwgcmV0dXJuIDApCiAKQEAgLTEwMjYsNzkgKzEwNzUsNzUgQEAKICAgICAgICAgcmV0dXJuIFB5Q29tcGxleF9Gcm9tQ0NvbXBsZXgoeik7CiB9CiAKLVB5RG9jX1NUUlZBUihjbWF0aF9yZWN0X2RvYywKLSJyZWN0KHIsIHBoaSkgLT4gejogY29tcGxleFxuXG5cCi1Db252ZXJ0IGZyb20gcG9sYXIgY29vcmRpbmF0ZXMgdG8gcmVjdGFuZ3VsYXIgY29vcmRpbmF0ZXMuIik7CisvKltjbGluaWMgaW5wdXRdCitjbWF0aC5pc2Zpbml0ZSA9IGNtYXRoLnBvbGFyCisKK1JldHVybiBUcnVlIGlmIGJvdGggdGhlIHJlYWwgYW5kIGltYWdpbmFyeSBwYXJ0cyBvZiB6IGFyZSBmaW5pdGUsIGVsc2UgRmFsc2UuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1jbWF0aF9pc2Zpbml0ZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitjbWF0aF9pc2Zpbml0ZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2NvbXBsZXggeikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD04ZjY2ODJmYTkzZGU0NWQ2IGlucHV0PTg0OGU3ZWU3MDE4OTU4MTVdKi8KIHsKLSAgICBQeV9jb21wbGV4IHo7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJEOmlzZmluaXRlIiwgJnopKQotICAgICAgICByZXR1cm4gTlVMTDsKICAgICByZXR1cm4gUHlCb29sX0Zyb21Mb25nKFB5X0lTX0ZJTklURSh6LnJlYWwpICYmIFB5X0lTX0ZJTklURSh6LmltYWcpKTsKIH0KIAotUHlEb2NfU1RSVkFSKGNtYXRoX2lzZmluaXRlX2RvYywKLSJpc2Zpbml0ZSh6KSAtPiBib29sXG5cCi1SZXR1cm4gVHJ1ZSBpZiBib3RoIHRoZSByZWFsIGFuZCBpbWFnaW5hcnkgcGFydHMgb2YgeiBhcmUgZmluaXRlLCBlbHNlIEZhbHNlLiIpOworLypbY2xpbmljIGlucHV0XQorY21hdGguaXNuYW4gPSBjbWF0aC5wb2xhcgorCitDaGVja3MgaWYgdGhlIHJlYWwgb3IgaW1hZ2luYXJ5IHBhcnQgb2YgeiBub3QgYSBudW1iZXIgKE5hTikuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1jbWF0aF9pc25hbihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitjbWF0aF9pc25hbl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2NvbXBsZXggeikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1iODVmZThjMjA0NzcxOGVlIGlucHV0PTcxNzk5ZjVkMjg0YzliYWZdKi8KIHsKLSAgICBQeV9jb21wbGV4IHo7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJEOmlzbmFuIiwgJnopKQotICAgICAgICByZXR1cm4gTlVMTDsKICAgICByZXR1cm4gUHlCb29sX0Zyb21Mb25nKFB5X0lTX05BTih6LnJlYWwpIHx8IFB5X0lTX05BTih6LmltYWcpKTsKIH0KIAotUHlEb2NfU1RSVkFSKGNtYXRoX2lzbmFuX2RvYywKLSJpc25hbih6KSAtPiBib29sXG5cCi1DaGVja3MgaWYgdGhlIHJlYWwgb3IgaW1hZ2luYXJ5IHBhcnQgb2YgeiBub3QgYSBudW1iZXIgKE5hTikiKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2NtYXRoLmlzaW5mID0gY21hdGgucG9sYXIKKworQ2hlY2tzIGlmIHRoZSByZWFsIG9yIGltYWdpbmFyeSBwYXJ0IG9mIHogaXMgaW5maW5pdGUuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1jbWF0aF9pc2luZihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitjbWF0aF9pc2luZl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2NvbXBsZXggeikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD04Y2E5YzYxMDllNDY4YmY0IGlucHV0PTM2M2RmMTU1YzcxODEzMjldKi8KIHsKLSAgICBQeV9jb21wbGV4IHo7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJEOmlzaW5mIiwgJnopKQotICAgICAgICByZXR1cm4gTlVMTDsKICAgICByZXR1cm4gUHlCb29sX0Zyb21Mb25nKFB5X0lTX0lORklOSVRZKHoucmVhbCkgfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X0lTX0lORklOSVRZKHouaW1hZykpOwogfQogCi1QeURvY19TVFJWQVIoY21hdGhfaXNpbmZfZG9jLAotImlzaW5mKHopIC0+IGJvb2xcblwKLUNoZWNrcyBpZiB0aGUgcmVhbCBvciBpbWFnaW5hcnkgcGFydCBvZiB6IGlzIGluZmluaXRlLiIpOwotCiAKIFB5RG9jX1NUUlZBUihtb2R1bGVfZG9jLAogIlRoaXMgbW9kdWxlIGlzIGFsd2F5cyBhdmFpbGFibGUuIEl0IHByb3ZpZGVzIGFjY2VzcyB0byBtYXRoZW1hdGljYWxcbiIKICJmdW5jdGlvbnMgZm9yIGNvbXBsZXggbnVtYmVycy4iKTsKIAogc3RhdGljIFB5TWV0aG9kRGVmIGNtYXRoX21ldGhvZHNbXSA9IHsKLSAgICB7ImFjb3MiLCAgIGNtYXRoX2Fjb3MsICBNRVRIX1ZBUkFSR1MsIGNfYWNvc19kb2N9LAotICAgIHsiYWNvc2giLCAgY21hdGhfYWNvc2gsIE1FVEhfVkFSQVJHUywgY19hY29zaF9kb2N9LAotICAgIHsiYXNpbiIsICAgY21hdGhfYXNpbiwgIE1FVEhfVkFSQVJHUywgY19hc2luX2RvY30sCi0gICAgeyJhc2luaCIsICBjbWF0aF9hc2luaCwgTUVUSF9WQVJBUkdTLCBjX2FzaW5oX2RvY30sCi0gICAgeyJhdGFuIiwgICBjbWF0aF9hdGFuLCAgTUVUSF9WQVJBUkdTLCBjX2F0YW5fZG9jfSwKLSAgICB7ImF0YW5oIiwgIGNtYXRoX2F0YW5oLCBNRVRIX1ZBUkFSR1MsIGNfYXRhbmhfZG9jfSwKLSAgICB7ImNvcyIsICAgIGNtYXRoX2NvcywgICBNRVRIX1ZBUkFSR1MsIGNfY29zX2RvY30sCi0gICAgeyJjb3NoIiwgICBjbWF0aF9jb3NoLCAgTUVUSF9WQVJBUkdTLCBjX2Nvc2hfZG9jfSwKLSAgICB7ImV4cCIsICAgIGNtYXRoX2V4cCwgICBNRVRIX1ZBUkFSR1MsIGNfZXhwX2RvY30sCi0gICAgeyJpc2Zpbml0ZSIsIGNtYXRoX2lzZmluaXRlLCBNRVRIX1ZBUkFSR1MsIGNtYXRoX2lzZmluaXRlX2RvY30sCi0gICAgeyJpc2luZiIsICBjbWF0aF9pc2luZiwgTUVUSF9WQVJBUkdTLCBjbWF0aF9pc2luZl9kb2N9LAotICAgIHsiaXNuYW4iLCAgY21hdGhfaXNuYW4sIE1FVEhfVkFSQVJHUywgY21hdGhfaXNuYW5fZG9jfSwKLSAgICB7ImxvZyIsICAgIGNtYXRoX2xvZywgICBNRVRIX1ZBUkFSR1MsIGNtYXRoX2xvZ19kb2N9LAotICAgIHsibG9nMTAiLCAgY21hdGhfbG9nMTAsIE1FVEhfVkFSQVJHUywgY19sb2cxMF9kb2N9LAotICAgIHsicGhhc2UiLCAgY21hdGhfcGhhc2UsIE1FVEhfVkFSQVJHUywgY21hdGhfcGhhc2VfZG9jfSwKLSAgICB7InBvbGFyIiwgIGNtYXRoX3BvbGFyLCBNRVRIX1ZBUkFSR1MsIGNtYXRoX3BvbGFyX2RvY30sCi0gICAgeyJyZWN0IiwgICBjbWF0aF9yZWN0LCAgTUVUSF9WQVJBUkdTLCBjbWF0aF9yZWN0X2RvY30sCi0gICAgeyJzaW4iLCAgICBjbWF0aF9zaW4sICAgTUVUSF9WQVJBUkdTLCBjX3Npbl9kb2N9LAotICAgIHsic2luaCIsICAgY21hdGhfc2luaCwgIE1FVEhfVkFSQVJHUywgY19zaW5oX2RvY30sCi0gICAgeyJzcXJ0IiwgICBjbWF0aF9zcXJ0LCAgTUVUSF9WQVJBUkdTLCBjX3NxcnRfZG9jfSwKLSAgICB7InRhbiIsICAgIGNtYXRoX3RhbiwgICBNRVRIX1ZBUkFSR1MsIGNfdGFuX2RvY30sCi0gICAgeyJ0YW5oIiwgICBjbWF0aF90YW5oLCAgTUVUSF9WQVJBUkdTLCBjX3RhbmhfZG9jfSwKLSAgICB7TlVMTCwgICAgICAgICAgICAgIE5VTEx9ICAgICAgICAgICAvKiBzZW50aW5lbCAqLworICAgIENNQVRIX0FDT1NfTUVUSE9EREVGCisgICAgQ01BVEhfQUNPU0hfTUVUSE9EREVGCisgICAgQ01BVEhfQVNJTl9NRVRIT0RERUYKKyAgICBDTUFUSF9BU0lOSF9NRVRIT0RERUYKKyAgICBDTUFUSF9BVEFOX01FVEhPRERFRgorICAgIENNQVRIX0FUQU5IX01FVEhPRERFRgorICAgIENNQVRIX0NPU19NRVRIT0RERUYKKyAgICBDTUFUSF9DT1NIX01FVEhPRERFRgorICAgIENNQVRIX0VYUF9NRVRIT0RERUYKKyAgICBDTUFUSF9JU0ZJTklURV9NRVRIT0RERUYKKyAgICBDTUFUSF9JU0lORl9NRVRIT0RERUYKKyAgICBDTUFUSF9JU05BTl9NRVRIT0RERUYKKyAgICBDTUFUSF9MT0dfTUVUSE9EREVGCisgICAgQ01BVEhfTE9HMTBfTUVUSE9EREVGCisgICAgQ01BVEhfUEhBU0VfTUVUSE9EREVGCisgICAgQ01BVEhfUE9MQVJfTUVUSE9EREVGCisgICAgQ01BVEhfUkVDVF9NRVRIT0RERUYKKyAgICBDTUFUSF9TSU5fTUVUSE9EREVGCisgICAgQ01BVEhfU0lOSF9NRVRIT0RERUYKKyAgICBDTUFUSF9TUVJUX01FVEhPRERFRgorICAgIENNQVRIX1RBTl9NRVRIT0RERUYKKyAgICBDTUFUSF9UQU5IX01FVEhPRERFRgorICAgIHtOVUxMLCBOVUxMfSAgLyogc2VudGluZWwgKi8KIH07CiAKIApkaWZmIC0tZ2l0IGEvTW9kdWxlcy9mYXVsdGhhbmRsZXIuYyBiL01vZHVsZXMvZmF1bHRoYW5kbGVyLmMKaW5kZXggYzE3ZmZkOC4uNTY4NzI0YiAxMDA2NDQKLS0tIGEvTW9kdWxlcy9mYXVsdGhhbmRsZXIuYworKysgYi9Nb2R1bGVzL2ZhdWx0aGFuZGxlci5jCkBAIC01LDcgKzUsMTMgQEAKICNpbmNsdWRlIDxmcmFtZW9iamVjdC5oPgogI2luY2x1ZGUgPHNpZ25hbC5oPgogI2lmIGRlZmluZWQoSEFWRV9QVEhSRUFEX1NJR01BU0spICYmICFkZWZpbmVkKEhBVkVfQlJPS0VOX1BUSFJFQURfU0lHTUFTSykKLSNpbmNsdWRlIDxwdGhyZWFkLmg+CisjICBpbmNsdWRlIDxwdGhyZWFkLmg+CisjZW5kaWYKKyNpZmRlZiBNU19XSU5ET1dTCisjICBpbmNsdWRlIDx3aW5kb3dzLmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX1NZU19SRVNPVVJDRV9ICisjICBpbmNsdWRlIDxzeXMvcmVzb3VyY2UuaD4KICNlbmRpZgogCiAvKiBBbGxvY2F0ZSBhdCBtYXhpbXVtIDEwMCBNQiBvZiB0aGUgc3RhY2sgdG8gcmFpc2UgdGhlIHN0YWNrIG92ZXJmbG93ICovCkBAIC04MDQsMTIgKzgxMCw0MSBAQAogI2VuZGlmICAgLyogRkFVTFRIQU5ETEVSX1VTRVIgKi8KIAogCitzdGF0aWMgdm9pZAorZmF1bHRoYW5kbGVyX3N1cHByZXNzX2NyYXNoX3JlcG9ydCh2b2lkKQoreworI2lmZGVmIE1TX1dJTkRPV1MKKyAgICBVSU5UIG1vZGU7CisKKyAgICAvKiBDb25maWd1cmUgV2luZG93cyB0byBub3QgZGlzcGxheSB0aGUgV2luZG93cyBFcnJvciBSZXBvcnRpbmcgZGlhbG9nICovCisgICAgbW9kZSA9IFNldEVycm9yTW9kZShTRU1fTk9HUEZBVUxURVJST1JCT1gpOworICAgIFNldEVycm9yTW9kZShtb2RlIHwgU0VNX05PR1BGQVVMVEVSUk9SQk9YKTsKKyNlbmRpZgorCisjaWZkZWYgSEFWRV9TWVNfUkVTT1VSQ0VfSAorICAgIHN0cnVjdCBybGltaXQgcmw7CisKKyAgICAvKiBEaXNhYmxlIGNyZWF0aW9uIG9mIGNvcmUgZHVtcCAqLworICAgIGlmIChnZXRybGltaXQoUkxJTUlUX0NPUkUsICZybCkgIT0gMCkgeworICAgICAgICBybC5ybGltX2N1ciA9IDA7CisgICAgICAgIHNldHJsaW1pdChSTElNSVRfQ09SRSwgJnJsKTsKKyAgICB9CisjZW5kaWYKKworI2lmZGVmIF9NU0NfVkVSCisgICAgLyogVmlzdWFsIFN0dWRpbzogY29uZmlndXJlIGFib3J0KCkgdG8gbm90IGRpc3BsYXkgYW4gZXJyb3IgbWVzc2FnZSBub3IKKyAgICAgICBvcGVuIGEgcG9wdXAgYXNraW5nIHRvIHJlcG9ydCB0aGUgZmF1bHQuICovCisgICAgX3NldF9hYm9ydF9iZWhhdmlvcigwLCBfV1JJVEVfQUJPUlRfTVNHIHwgX0NBTExfUkVQT1JURkFVTFQpOworI2VuZGlmCit9CisKIHN0YXRpYyBQeU9iamVjdCAqCiBmYXVsdGhhbmRsZXJfcmVhZF9udWxsKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKICAgICB2b2xhdGlsZSBpbnQgKng7CiAgICAgdm9sYXRpbGUgaW50IHk7CiAKKyAgICBmYXVsdGhhbmRsZXJfc3VwcHJlc3NfY3Jhc2hfcmVwb3J0KCk7CiAgICAgeCA9IE5VTEw7CiAgICAgeSA9ICp4OwogICAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmcoeSk7CkBAIC04MTksNiArODU0LDcgQEAKIHN0YXRpYyB2b2lkCiBmYXVsdGhhbmRsZXJfcmFpc2Vfc2lnc2Vndih2b2lkKQogeworICAgIGZhdWx0aGFuZGxlcl9zdXBwcmVzc19jcmFzaF9yZXBvcnQoKTsKICNpZiBkZWZpbmVkKE1TX1dJTkRPV1MpCiAgICAgLyogRm9yIFNJR1NFR1YsIGZhdWx0aGFuZGxlcl9mYXRhbF9lcnJvcigpIHJlc3RvcmVzIHRoZSBwcmV2aW91cyBzaWduYWwKICAgICAgICBoYW5kbGVyIGFuZCB0aGVuIGdpdmVzIGJhY2sgdGhlIGV4ZWN1dGlvbiBmbG93IHRvIHRoZSBwcm9ncmFtICh3aXRob3V0CkBAIC04NjEsNiArODk3LDcgQEAKICAgICAvKiBEbyBhbiBpbnRlZ2VyIGRpdmlzaW9uIGJ5IHplcm86IHJhaXNlIGEgU0lHRlBFIG9uIEludGVsIENQVSwgYnV0IG5vdCBvbgogICAgICAgIFBvd2VyUEMuIFVzZSB2b2xhdGlsZSB0byBkaXNhYmxlIGNvbXBpbGUtdGltZSBvcHRpbWl6YXRpb25zLiAqLwogICAgIHZvbGF0aWxlIGludCB4ID0gMSwgeSA9IDAsIHo7CisgICAgZmF1bHRoYW5kbGVyX3N1cHByZXNzX2NyYXNoX3JlcG9ydCgpOwogICAgIHogPSB4IC8geTsKICAgICAvKiBJZiB0aGUgZGl2aXNpb24gYnkgemVybyBkaWRuJ3QgcmFpc2UgYSBTSUdGUEUgKGUuZy4gb24gUG93ZXJQQyksCiAgICAgICAgcmFpc2UgaXQgbWFudWFsbHkuICovCkBAIC04NzMsMzkgKzkxMCwxOCBAQAogc3RhdGljIFB5T2JqZWN0ICoKIGZhdWx0aGFuZGxlcl9zaWdhYnJ0KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKLSNpZmRlZiBfTVNDX1ZFUgotICAgIC8qIFZpc3VhbCBTdHVkaW86IGNvbmZpZ3VyZSBhYm9ydCgpIHRvIG5vdCBkaXNwbGF5IGFuIGVycm9yIG1lc3NhZ2Ugbm9yCi0gICAgICAgb3BlbiBhIHBvcHVwIGFza2luZyB0byByZXBvcnQgdGhlIGZhdWx0LiAqLwotICAgIF9zZXRfYWJvcnRfYmVoYXZpb3IoMCwgX1dSSVRFX0FCT1JUX01TRyB8IF9DQUxMX1JFUE9SVEZBVUxUKTsKLSNlbmRpZgorICAgIGZhdWx0aGFuZGxlcl9zdXBwcmVzc19jcmFzaF9yZXBvcnQoKTsKICAgICBhYm9ydCgpOwogICAgIFB5X1JFVFVSTl9OT05FOwogfQogCi0jaWZkZWYgU0lHQlVTCi1zdGF0aWMgUHlPYmplY3QgKgotZmF1bHRoYW5kbGVyX3NpZ2J1cyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCi17Ci0gICAgcmFpc2UoU0lHQlVTKTsKLSAgICBQeV9SRVRVUk5fTk9ORTsKLX0KLSNlbmRpZgotCi0jaWZkZWYgU0lHSUxMCi1zdGF0aWMgUHlPYmplY3QgKgotZmF1bHRoYW5kbGVyX3NpZ2lsbChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCi17Ci0gICAgcmFpc2UoU0lHSUxMKTsKLSAgICBQeV9SRVRVUk5fTk9ORTsKLX0KLSNlbmRpZgotCiBzdGF0aWMgUHlPYmplY3QgKgogZmF1bHRoYW5kbGVyX2ZhdGFsX2Vycm9yX3B5KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKICAgICBjaGFyICptZXNzYWdlOwogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAieTpmYXRhbF9lcnJvciIsICZtZXNzYWdlKSkKICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgZmF1bHRoYW5kbGVyX3N1cHByZXNzX2NyYXNoX3JlcG9ydCgpOwogICAgIFB5X0ZhdGFsRXJyb3IobWVzc2FnZSk7CiAgICAgUHlfUkVUVVJOX05PTkU7CiB9CkBAIC05MzEsNiArOTQ3LDcgQEAKICAgICBzaXplX3QgZGVwdGgsIHNpemU7CiAgICAgY2hhciAqc3AgPSAoY2hhciAqKSZkZXB0aCwgKnN0b3A7CiAKKyAgICBmYXVsdGhhbmRsZXJfc3VwcHJlc3NfY3Jhc2hfcmVwb3J0KCk7CiAgICAgZGVwdGggPSAwOwogICAgIHN0b3AgPSBzdGFja19vdmVyZmxvdyhzcCAtIFNUQUNLX09WRVJGTE9XX01BWF9TSVpFLAogICAgICAgICAgICAgICAgICAgICAgICAgICBzcCArIFNUQUNLX09WRVJGTE9XX01BWF9TSVpFLApAQCAtMTAyMCwxNCArMTAzNyw2IEBACiAgICAgIFB5RG9jX1NUUigiX3NpZ2FicnQoKTogcmFpc2UgYSBTSUdBQlJUIHNpZ25hbCIpfSwKICAgICB7Il9zaWdmcGUiLCAoUHlDRnVuY3Rpb24pZmF1bHRoYW5kbGVyX3NpZ2ZwZSwgTUVUSF9OT0FSR1MsCiAgICAgIFB5RG9jX1NUUigiX3NpZ2ZwZSgpOiByYWlzZSBhIFNJR0ZQRSBzaWduYWwiKX0sCi0jaWZkZWYgU0lHQlVTCi0gICAgeyJfc2lnYnVzIiwgKFB5Q0Z1bmN0aW9uKWZhdWx0aGFuZGxlcl9zaWdidXMsIE1FVEhfTk9BUkdTLAotICAgICBQeURvY19TVFIoIl9zaWdidXMoKTogcmFpc2UgYSBTSUdCVVMgc2lnbmFsIil9LAotI2VuZGlmCi0jaWZkZWYgU0lHSUxMCi0gICAgeyJfc2lnaWxsIiwgKFB5Q0Z1bmN0aW9uKWZhdWx0aGFuZGxlcl9zaWdpbGwsIE1FVEhfTk9BUkdTLAotICAgICBQeURvY19TVFIoIl9zaWdpbGwoKTogcmFpc2UgYSBTSUdJTEwgc2lnbmFsIil9LAotI2VuZGlmCiAgICAgeyJfZmF0YWxfZXJyb3IiLCBmYXVsdGhhbmRsZXJfZmF0YWxfZXJyb3JfcHksIE1FVEhfVkFSQVJHUywKICAgICAgUHlEb2NfU1RSKCJfZmF0YWxfZXJyb3IobWVzc2FnZSk6IGNhbGwgUHlfRmF0YWxFcnJvcihtZXNzYWdlKSIpfSwKICNpZiBkZWZpbmVkKEhBVkVfU0lHQUxUU1RBQ0spICYmIGRlZmluZWQoSEFWRV9TSUdBQ1RJT04pCmRpZmYgLS1naXQgYS9Nb2R1bGVzL2ZjbnRsbW9kdWxlLmMgYi9Nb2R1bGVzL2ZjbnRsbW9kdWxlLmMKaW5kZXggOTMyNTk0MC4uMWYxY2VmOSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9mY250bG1vZHVsZS5jCisrKyBiL01vZHVsZXMvZmNudGxtb2R1bGUuYwpAQCAtMTUsNiArMTUsMTIgQEAKICNpbmNsdWRlIDxzdHJvcHRzLmg+CiAjZW5kaWYKIAorLypbY2xpbmljIGlucHV0XQorb3V0cHV0IHByZXNldCBmaWxlCittb2R1bGUgZmNudGwKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kYTM5YTNlZTVlNmI0YjBkIGlucHV0PWM3MzU2ZmRiMTI2YTkwNGFdKi8KKwogc3RhdGljIGludAogY29udl9kZXNjcmlwdG9yKFB5T2JqZWN0ICpvYmplY3QsIGludCAqdGFyZ2V0KQogewpAQCAtMjYsNDggKzMyLDcyIEBACiAgICAgcmV0dXJuIDE7CiB9CiAKKy8qIE11c3QgY29tZSBhZnRlciBjb252X2Rlc2NyaXB0b3IgZGVmaW5pdGlvbi4gKi8KKyNpbmNsdWRlICJjbGluaWMvZmNudGxtb2R1bGUuYy5oIgogCi0vKiBmY250bChmZCwgb3AsIFthcmddKSAqLworLypbY2xpbmljIGlucHV0XQorZmNudGwuZmNudGwKKworICAgIGZkOiBvYmplY3QodHlwZT0naW50JywgY29udmVydGVyPSdjb252X2Rlc2NyaXB0b3InKQorICAgIGNvZGU6IGludAorICAgIGFyZzogb2JqZWN0ID0gTlVMTAorICAgIC8KKworUGVyZm9ybSB0aGUgb3BlcmF0aW9uIGBjb2RlYCBvbiBmaWxlIGRlc2NyaXB0b3IgZmQuCisKK1RoZSB2YWx1ZXMgdXNlZCBmb3IgYGNvZGVgIGFyZSBvcGVyYXRpbmcgc3lzdGVtIGRlcGVuZGVudCwgYW5kIGFyZSBhdmFpbGFibGUKK2FzIGNvbnN0YW50cyBpbiB0aGUgZmNudGwgbW9kdWxlLCB1c2luZyB0aGUgc2FtZSBuYW1lcyBhcyB1c2VkIGluCit0aGUgcmVsZXZhbnQgQyBoZWFkZXIgZmlsZXMuICBUaGUgYXJndW1lbnQgYXJnIGlzIG9wdGlvbmFsLCBhbmQKK2RlZmF1bHRzIHRvIDA7IGl0IG1heSBiZSBhbiBpbnQgb3IgYSBzdHJpbmcuICBJZiBhcmcgaXMgZ2l2ZW4gYXMgYSBzdHJpbmcsCit0aGUgcmV0dXJuIHZhbHVlIG9mIGZjbnRsIGlzIGEgc3RyaW5nIG9mIHRoYXQgbGVuZ3RoLCBjb250YWluaW5nIHRoZQorcmVzdWx0aW5nIHZhbHVlIHB1dCBpbiB0aGUgYXJnIGJ1ZmZlciBieSB0aGUgb3BlcmF0aW5nIHN5c3RlbS4gIFRoZSBsZW5ndGgKK29mIHRoZSBhcmcgc3RyaW5nIGlzIG5vdCBhbGxvd2VkIHRvIGV4Y2VlZCAxMDI0IGJ5dGVzLiAgSWYgdGhlIGFyZyBnaXZlbgoraXMgYW4gaW50ZWdlciBvciBpZiBub25lIGlzIHNwZWNpZmllZCwgdGhlIHJlc3VsdCB2YWx1ZSBpcyBhbiBpbnRlZ2VyCitjb3JyZXNwb25kaW5nIHRvIHRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIGZjbnRsIGNhbGwgaW4gdGhlIEMgY29kZS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLWZjbnRsX2ZjbnRsKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK2ZjbnRsX2ZjbnRsX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkLCBpbnQgY29kZSwgUHlPYmplY3QgKmFyZykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1hZmM1YmZhNzRhMDNlZjBkIGlucHV0PTQ4NTBjMTNhNDFlODY5MzBdKi8KIHsKLSAgICBpbnQgZmQ7Ci0gICAgaW50IGNvZGU7Ci0gICAgaW50IGFyZzsKKyAgICB1bnNpZ25lZCBpbnQgaW50X2FyZyA9IDA7CiAgICAgaW50IHJldDsKICAgICBjaGFyICpzdHI7CiAgICAgUHlfc3NpemVfdCBsZW47CiAgICAgY2hhciBidWZbMTAyNF07CiAKLSAgICBpZiAoUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTyZpcyM6ZmNudGwiLAotICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnZfZGVzY3JpcHRvciwgJmZkLCAmY29kZSwgJnN0ciwgJmxlbikpIHsKLSAgICAgICAgaWYgKGxlbiA+IHNpemVvZiBidWYpIHsKLSAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmY250bCBzdHJpbmcgYXJnIHRvbyBsb25nIik7Ci0gICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoYXJnICE9IE5VTEwpIHsKKyAgICAgICAgaW50IHBhcnNlX3Jlc3VsdDsKKworICAgICAgICBpZiAoUHlBcmdfUGFyc2UoYXJnLCAicyMiLCAmc3RyLCAmbGVuKSkgeworICAgICAgICAgICAgaWYgKChzaXplX3QpbGVuID4gc2l6ZW9mIGJ1ZikgeworICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZmNudGwgc3RyaW5nIGFyZyB0b28gbG9uZyIpOworICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICAgICAgfQorICAgICAgICAgICAgbWVtY3B5KGJ1Ziwgc3RyLCBsZW4pOworICAgICAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgICAgICAgICAgcmV0ID0gZmNudGwoZmQsIGNvZGUsIGJ1Zik7CisgICAgICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgICAgICAgICAgaWYgKHJldCA8IDApIHsKKyAgICAgICAgICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfSU9FcnJvcik7CisgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgICAgICB9CisgICAgICAgICAgICByZXR1cm4gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShidWYsIGxlbik7CiAgICAgICAgIH0KLSAgICAgICAgbWVtY3B5KGJ1Ziwgc3RyLCBsZW4pOwotICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgICAgIHJldCA9IGZjbnRsKGZkLCBjb2RlLCBidWYpOwotICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotICAgICAgICBpZiAocmV0IDwgMCkgewotICAgICAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX0lPRXJyb3IpOwotICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICAgICAgUHlFcnJfQ2xlYXIoKTsKKyAgICAgICAgcGFyc2VfcmVzdWx0ID0gUHlBcmdfUGFyc2UoYXJnLAorICAgICAgICAgICAgIkk7ZmNudGwgcmVxdWlyZXMgYSBmaWxlIG9yIGZpbGUgZGVzY3JpcHRvciwiCisgICAgICAgICAgICAiIGFuIGludGVnZXIgYW5kIG9wdGlvbmFsbHkgYSB0aGlyZCBpbnRlZ2VyIG9yIGEgc3RyaW5nIiwKKyAgICAgICAgICAgICZpbnRfYXJnKTsKKyAgICAgICAgaWYgKCFwYXJzZV9yZXN1bHQpIHsKKyAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgfQotICAgICAgICByZXR1cm4gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShidWYsIGxlbik7CiAgICAgfQogCi0gICAgUHlFcnJfQ2xlYXIoKTsKLSAgICBhcmcgPSAwOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAotICAgICAgICAgIk8maXxJO2ZjbnRsIHJlcXVpcmVzIGEgZmlsZSBvciBmaWxlIGRlc2NyaXB0b3IsIgotICAgICAgICAgIiBhbiBpbnRlZ2VyIGFuZCBvcHRpb25hbGx5IGEgdGhpcmQgaW50ZWdlciBvciBhIHN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnZfZGVzY3JpcHRvciwgJmZkLCAmY29kZSwgJmFyZykpIHsKLSAgICAgIHJldHVybiBOVUxMOwotICAgIH0KICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgcmV0ID0gZmNudGwoZmQsIGNvZGUsIGFyZyk7CisgICAgcmV0ID0gZmNudGwoZmQsIGNvZGUsIChpbnQpaW50X2FyZyk7CiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKICAgICBpZiAocmV0IDwgMCkgewogICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfSU9FcnJvcik7CkBAIC03NiwyOSArMTA2LDUzIEBACiAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZygobG9uZylyZXQpOwogfQogCi1QeURvY19TVFJWQVIoZmNudGxfZG9jLAotImZjbnRsKGZkLCBvcCwgW2FyZ10pXG5cCi1cblwKLVBlcmZvcm0gdGhlIG9wZXJhdGlvbiBvcCBvbiBmaWxlIGRlc2NyaXB0b3IgZmQuICBUaGUgdmFsdWVzIHVzZWRcblwKLWZvciBvcCBhcmUgb3BlcmF0aW5nIHN5c3RlbSBkZXBlbmRlbnQsIGFuZCBhcmUgYXZhaWxhYmxlXG5cCi1hcyBjb25zdGFudHMgaW4gdGhlIGZjbnRsIG1vZHVsZSwgdXNpbmcgdGhlIHNhbWUgbmFtZXMgYXMgdXNlZCBpblxuXAotdGhlIHJlbGV2YW50IEMgaGVhZGVyIGZpbGVzLiAgVGhlIGFyZ3VtZW50IGFyZyBpcyBvcHRpb25hbCwgYW5kXG5cCi1kZWZhdWx0cyB0byAwOyBpdCBtYXkgYmUgYW4gaW50IG9yIGEgc3RyaW5nLiAgSWYgYXJnIGlzIGdpdmVuIGFzIGEgc3RyaW5nLFxuXAotdGhlIHJldHVybiB2YWx1ZSBvZiBmY250bCBpcyBhIHN0cmluZyBvZiB0aGF0IGxlbmd0aCwgY29udGFpbmluZyB0aGVcblwKLXJlc3VsdGluZyB2YWx1ZSBwdXQgaW4gdGhlIGFyZyBidWZmZXIgYnkgdGhlIG9wZXJhdGluZyBzeXN0ZW0uICBUaGUgbGVuZ3RoXG5cCi1vZiB0aGUgYXJnIHN0cmluZyBpcyBub3QgYWxsb3dlZCB0byBleGNlZWQgMTAyNCBieXRlcy4gIElmIHRoZSBhcmcgZ2l2ZW5cblwKLWlzIGFuIGludGVnZXIgb3IgaWYgbm9uZSBpcyBzcGVjaWZpZWQsIHRoZSByZXN1bHQgdmFsdWUgaXMgYW4gaW50ZWdlclxuXAotY29ycmVzcG9uZGluZyB0byB0aGUgcmV0dXJuIHZhbHVlIG9mIHRoZSBmY250bCBjYWxsIGluIHRoZSBDIGNvZGUuIik7CiAKKy8qW2NsaW5pYyBpbnB1dF0KK2ZjbnRsLmlvY3RsCiAKLS8qIGlvY3RsKGZkLCBvcCwgW2FyZ10pICovCisgICAgZmQ6IG9iamVjdCh0eXBlPSdpbnQnLCBjb252ZXJ0ZXI9J2NvbnZfZGVzY3JpcHRvcicpCisgICAgb3AgYXMgY29kZTogdW5zaWduZWRfaW50KGJpdHdpc2U9VHJ1ZSkKKyAgICBhcmcgYXMgb2JfYXJnOiBvYmplY3QgPSBOVUxMCisgICAgbXV0YXRlX2ZsYWcgYXMgbXV0YXRlX2FyZzogYm9vbCA9IFRydWUKKyAgICAvCisKK1BlcmZvcm0gdGhlIG9wZXJhdGlvbiBvcCBvbiBmaWxlIGRlc2NyaXB0b3IgZmQuCisKK1RoZSB2YWx1ZXMgdXNlZCBmb3Igb3AgYXJlIG9wZXJhdGluZyBzeXN0ZW0gZGVwZW5kZW50LCBhbmQgYXJlIGF2YWlsYWJsZSBhcworY29uc3RhbnRzIGluIHRoZSBmY250bCBvciB0ZXJtaW9zIGxpYnJhcnkgbW9kdWxlcywgdXNpbmcgdGhlIHNhbWUgbmFtZXMgYXMKK3VzZWQgaW4gdGhlIHJlbGV2YW50IEMgaGVhZGVyIGZpbGVzLgorCitUaGUgYXJndW1lbnQgYGFyZ2AgaXMgb3B0aW9uYWwsIGFuZCBkZWZhdWx0cyB0byAwOyBpdCBtYXkgYmUgYW4gaW50IG9yIGEKK2J1ZmZlciBjb250YWluaW5nIGNoYXJhY3RlciBkYXRhIChtb3N0IGxpa2VseSBhIHN0cmluZyBvciBhbiBhcnJheSkuCisKK0lmIHRoZSBhcmd1bWVudCBpcyBhIG11dGFibGUgYnVmZmVyIChzdWNoIGFzIGFuIGFycmF5KSBhbmQgaWYgdGhlCittdXRhdGVfZmxhZyBhcmd1bWVudCAod2hpY2ggaXMgb25seSBhbGxvd2VkIGluIHRoaXMgY2FzZSkgaXMgdHJ1ZSB0aGVuIHRoZQorYnVmZmVyIGlzIChpbiBlZmZlY3QpIHBhc3NlZCB0byB0aGUgb3BlcmF0aW5nIHN5c3RlbSBhbmQgY2hhbmdlcyBtYWRlIGJ5Cit0aGUgT1Mgd2lsbCBiZSByZWZsZWN0ZWQgaW4gdGhlIGNvbnRlbnRzIG9mIHRoZSBidWZmZXIgYWZ0ZXIgdGhlIGNhbGwgaGFzCityZXR1cm5lZC4gIFRoZSByZXR1cm4gdmFsdWUgaXMgdGhlIGludGVnZXIgcmV0dXJuZWQgYnkgdGhlIGlvY3RsIHN5c3RlbQorY2FsbC4KKworSWYgdGhlIGFyZ3VtZW50IGlzIGEgbXV0YWJsZSBidWZmZXIgYW5kIHRoZSBtdXRhYmxlX2ZsYWcgYXJndW1lbnQgaXMgbm90CitwYXNzZWQgb3IgaXMgZmFsc2UsIHRoZSBiZWhhdmlvciBpcyBhcyBpZiBhIHN0cmluZyBoYWQgYmVlbiBwYXNzZWQuICBUaGlzCitiZWhhdmlvciB3aWxsIGNoYW5nZSBpbiBmdXR1cmUgcmVsZWFzZXMgb2YgUHl0aG9uLgorCitJZiB0aGUgYXJndW1lbnQgaXMgYW4gaW1tdXRhYmxlIGJ1ZmZlciAobW9zdCBsaWtlbHkgYSBzdHJpbmcpIHRoZW4gYSBjb3B5CitvZiB0aGUgYnVmZmVyIGlzIHBhc3NlZCB0byB0aGUgb3BlcmF0aW5nIHN5c3RlbSBhbmQgdGhlIHJldHVybiB2YWx1ZSBpcyBhCitzdHJpbmcgb2YgdGhlIHNhbWUgbGVuZ3RoIGNvbnRhaW5pbmcgd2hhdGV2ZXIgdGhlIG9wZXJhdGluZyBzeXN0ZW0gcHV0IGluCit0aGUgYnVmZmVyLiAgVGhlIGxlbmd0aCBvZiB0aGUgYXJnIGJ1ZmZlciBpbiB0aGlzIGNhc2UgaXMgbm90IGFsbG93ZWQgdG8KK2V4Y2VlZCAxMDI0IGJ5dGVzLgorCitJZiB0aGUgYXJnIGdpdmVuIGlzIGFuIGludGVnZXIgb3IgaWYgbm9uZSBpcyBzcGVjaWZpZWQsIHRoZSByZXN1bHQgdmFsdWUgaXMKK2FuIGludGVnZXIgY29ycmVzcG9uZGluZyB0byB0aGUgcmV0dXJuIHZhbHVlIG9mIHRoZSBpb2N0bCBjYWxsIGluIHRoZSBDCitjb2RlLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwogCiBzdGF0aWMgUHlPYmplY3QgKgotZmNudGxfaW9jdGwoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorZmNudGxfaW9jdGxfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQsIHVuc2lnbmVkIGludCBjb2RlLCBQeU9iamVjdCAqb2JfYXJnLCBpbnQgbXV0YXRlX2FyZykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1hZDQ3NzM4YzExODYyMmJmIGlucHV0PWE1NWE2ZWU4ZTQ5NGM0NDldKi8KIHsKICNkZWZpbmUgSU9DVExfQlVGU1ogMTAyNAotICAgIGludCBmZDsKLSAgICAvKiBJbiBQeUFyZ19QYXJzZVR1cGxlIGJlbG93LCB3ZSB1c2UgdGhlIHVuc2lnbmVkIG5vbi1jaGVja2VkICdJJworICAgIC8qIFdlIHVzZSB0aGUgdW5zaWduZWQgbm9uLWNoZWNrZWQgJ0knCiAgICAgICAgZm9ybWF0IGZvciB0aGUgJ2NvZGUnIHBhcmFtZXRlciBiZWNhdXNlIFB5dGhvbiB0dXJucyAweDgwMDAwMDAKICAgICAgICBpbnRvIGVpdGhlciBhIGxhcmdlIHBvc2l0aXZlIG51bWJlciAoUHlMb25nIG9yIFB5SW50IG9uIDY0LWJpdAogICAgICAgIHBsYXRmb3Jtcykgb3IgYSBuZWdhdGl2ZSBudW1iZXIgb24gb3RoZXJzICgzMi1iaXQgUHlJbnQpCkBAIC0xMTEsMTAxICsxNjUsOTggQEAKICAgICAgICBpbiB0aGVpciB1bnNpZ25lZCBsb25nIGlvY3RsIGNvZGVzIHRoaXMgd2lsbCBicmVhayBhbmQgbmVlZAogICAgICAgIHNwZWNpYWwgY2FzaW5nIGJhc2VkIG9uIHRoZSBwbGF0Zm9ybSBiZWluZyBidWlsdCBvbi4KICAgICAgKi8KLSAgICB1bnNpZ25lZCBpbnQgY29kZTsKLSAgICBpbnQgYXJnOworICAgIGludCBhcmcgPSAwOwogICAgIGludCByZXQ7CiAgICAgUHlfYnVmZmVyIHBzdHI7CiAgICAgY2hhciAqc3RyOwogICAgIFB5X3NzaXplX3QgbGVuOwotICAgIGludCBtdXRhdGVfYXJnID0gMTsKICAgICBjaGFyIGJ1ZltJT0NUTF9CVUZTWisxXTsgIC8qIGFyZ3VtZW50IHBsdXMgTlVMIGJ5dGUgKi8KIAotICAgIGlmIChQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPJkl3KnxpOmlvY3RsIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb252X2Rlc2NyaXB0b3IsICZmZCwgJmNvZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgJnBzdHIsICZtdXRhdGVfYXJnKSkgewotICAgICAgICBjaGFyICphcmc7Ci0gICAgICAgIHN0ciA9IHBzdHIuYnVmOwotICAgICAgICBsZW4gPSBwc3RyLmxlbjsKKyAgICBpZiAob2JfYXJnICE9IE5VTEwpIHsKKyAgICAgICAgaWYgKFB5QXJnX1BhcnNlKG9iX2FyZywgIncqOmlvY3RsIiwgJnBzdHIpKSB7CisgICAgICAgICAgICBjaGFyICphcmc7CisgICAgICAgICAgICBzdHIgPSBwc3RyLmJ1ZjsKKyAgICAgICAgICAgIGxlbiA9IHBzdHIubGVuOwogCi0gICAgICAgIGlmIChtdXRhdGVfYXJnKSB7Ci0gICAgICAgICAgICBpZiAobGVuIDw9IElPQ1RMX0JVRlNaKSB7Ci0gICAgICAgICAgICAgICAgbWVtY3B5KGJ1Ziwgc3RyLCBsZW4pOwotICAgICAgICAgICAgICAgIGJ1ZltsZW5dID0gJ1wwJzsKLSAgICAgICAgICAgICAgICBhcmcgPSBidWY7CisgICAgICAgICAgICBpZiAobXV0YXRlX2FyZykgeworICAgICAgICAgICAgICAgIGlmIChsZW4gPD0gSU9DVExfQlVGU1opIHsKKyAgICAgICAgICAgICAgICAgICAgbWVtY3B5KGJ1Ziwgc3RyLCBsZW4pOworICAgICAgICAgICAgICAgICAgICBidWZbbGVuXSA9ICdcMCc7CisgICAgICAgICAgICAgICAgICAgIGFyZyA9IGJ1ZjsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGFyZyA9IHN0cjsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICBhcmcgPSBzdHI7CisgICAgICAgICAgICAgICAgaWYgKGxlbiA+IElPQ1RMX0JVRlNaKSB7CisgICAgICAgICAgICAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJnBzdHIpOworICAgICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICJpb2N0bCBzdHJpbmcgYXJnIHRvbyBsb25nIik7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgbWVtY3B5KGJ1Ziwgc3RyLCBsZW4pOworICAgICAgICAgICAgICAgICAgICBidWZbbGVuXSA9ICdcMCc7CisgICAgICAgICAgICAgICAgICAgIGFyZyA9IGJ1ZjsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoYnVmID09IGFyZykgeworICAgICAgICAgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMgLyogdGhpbmsgYXJyYXkucmVzaXplKCkgKi8KKyAgICAgICAgICAgICAgICByZXQgPSBpb2N0bChmZCwgY29kZSwgYXJnKTsKKyAgICAgICAgICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgcmV0ID0gaW9jdGwoZmQsIGNvZGUsIGFyZyk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAobXV0YXRlX2FyZyAmJiAobGVuIDw9IElPQ1RMX0JVRlNaKSkgeworICAgICAgICAgICAgICAgIG1lbWNweShzdHIsIGJ1ZiwgbGVuKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJnBzdHIpOyAvKiBObyBmdXJ0aGVyIGFjY2VzcyB0byBzdHIgYmVsb3cgdGhpcyBwb2ludCAqLworICAgICAgICAgICAgaWYgKHJldCA8IDApIHsKKyAgICAgICAgICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfSU9FcnJvcik7CisgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAobXV0YXRlX2FyZykgeworICAgICAgICAgICAgICAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmcocmV0KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgIHJldHVybiBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKGJ1ZiwgbGVuKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgICAgICBlbHNlIHsKKworICAgICAgICBQeUVycl9DbGVhcigpOworICAgICAgICBpZiAoUHlBcmdfUGFyc2Uob2JfYXJnLCAicyo6aW9jdGwiLCAmcHN0cikpIHsKKyAgICAgICAgICAgIHN0ciA9IHBzdHIuYnVmOworICAgICAgICAgICAgbGVuID0gcHN0ci5sZW47CiAgICAgICAgICAgICBpZiAobGVuID4gSU9DVExfQlVGU1opIHsKICAgICAgICAgICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZwc3RyKTsKICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgImlvY3RsIHN0cmluZyBhcmcgdG9vIGxvbmciKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlvY3RsIHN0cmluZyBhcmcgdG9vIGxvbmciKTsKICAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgIG1lbWNweShidWYsIHN0ciwgbGVuKTsKLSAgICAgICAgICAgICAgICBidWZbbGVuXSA9ICdcMCc7Ci0gICAgICAgICAgICAgICAgYXJnID0gYnVmOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIGlmIChidWYgPT0gYXJnKSB7Ci0gICAgICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTIC8qIHRoaW5rIGFycmF5LnJlc2l6ZSgpICovCi0gICAgICAgICAgICByZXQgPSBpb2N0bChmZCwgY29kZSwgYXJnKTsKKyAgICAgICAgICAgIG1lbWNweShidWYsIHN0ciwgbGVuKTsKKyAgICAgICAgICAgIGJ1ZltsZW5dID0gJ1wwJzsKKyAgICAgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgICAgIHJldCA9IGlvY3RsKGZkLCBjb2RlLCBidWYpOwogICAgICAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLSAgICAgICAgfQotICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIHJldCA9IGlvY3RsKGZkLCBjb2RlLCBhcmcpOwotICAgICAgICB9Ci0gICAgICAgIGlmIChtdXRhdGVfYXJnICYmIChsZW4gPD0gSU9DVExfQlVGU1opKSB7Ci0gICAgICAgICAgICBtZW1jcHkoc3RyLCBidWYsIGxlbik7Ci0gICAgICAgIH0KLSAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmcHN0cik7IC8qIE5vIGZ1cnRoZXIgYWNjZXNzIHRvIHN0ciBiZWxvdyB0aGlzIHBvaW50ICovCi0gICAgICAgIGlmIChyZXQgPCAwKSB7Ci0gICAgICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfSU9FcnJvcik7Ci0gICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgfQotICAgICAgICBpZiAobXV0YXRlX2FyZykgewotICAgICAgICAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZyhyZXQpOwotICAgICAgICB9Ci0gICAgICAgIGVsc2UgeworICAgICAgICAgICAgaWYgKHJldCA8IDApIHsKKyAgICAgICAgICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZwc3RyKTsKKyAgICAgICAgICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfSU9FcnJvcik7CisgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZwc3RyKTsKICAgICAgICAgICAgIHJldHVybiBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKGJ1ZiwgbGVuKTsKICAgICAgICAgfQotICAgIH0KIAotICAgIFB5RXJyX0NsZWFyKCk7Ci0gICAgaWYgKFB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk8mSXMqOmlvY3RsIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb252X2Rlc2NyaXB0b3IsICZmZCwgJmNvZGUsICZwc3RyKSkgewotICAgICAgICBzdHIgPSBwc3RyLmJ1ZjsKLSAgICAgICAgbGVuID0gcHN0ci5sZW47Ci0gICAgICAgIGlmIChsZW4gPiBJT0NUTF9CVUZTWikgewotICAgICAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmcHN0cik7Ci0gICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaW9jdGwgc3RyaW5nIGFyZyB0b28gbG9uZyIpOwotICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIFB5RXJyX0NsZWFyKCk7CisgICAgICAgIGlmICghUHlBcmdfUGFyc2Uob2JfYXJnLAorICAgICAgICAgICAgICJpO2lvY3RsIHJlcXVpcmVzIGEgZmlsZSBvciBmaWxlIGRlc2NyaXB0b3IsIgorICAgICAgICAgICAgICIgYW4gaW50ZWdlciBhbmQgb3B0aW9uYWxseSBhbiBpbnRlZ2VyIG9yIGJ1ZmZlciBhcmd1bWVudCIsCisgICAgICAgICAgICAgJmFyZykpIHsKKyAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgfQotICAgICAgICBtZW1jcHkoYnVmLCBzdHIsIGxlbik7Ci0gICAgICAgIGJ1ZltsZW5dID0gJ1wwJzsKLSAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgICAgICByZXQgPSBpb2N0bChmZCwgY29kZSwgYnVmKTsKLSAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLSAgICAgICAgaWYgKHJldCA8IDApIHsKLSAgICAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJnBzdHIpOwotICAgICAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX0lPRXJyb3IpOwotICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIH0KLSAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmcHN0cik7Ci0gICAgICAgIHJldHVybiBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKGJ1ZiwgbGVuKTsKLSAgICB9Ci0KLSAgICBQeUVycl9DbGVhcigpOwotICAgIGFyZyA9IDA7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCi0gICAgICAgICAiTyZJfGk7aW9jdGwgcmVxdWlyZXMgYSBmaWxlIG9yIGZpbGUgZGVzY3JpcHRvciwiCi0gICAgICAgICAiIGFuIGludGVnZXIgYW5kIG9wdGlvbmFsbHkgYW4gaW50ZWdlciBvciBidWZmZXIgYXJndW1lbnQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb252X2Rlc2NyaXB0b3IsICZmZCwgJmNvZGUsICZhcmcpKSB7Ci0gICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgLy8gRmFsbC10aHJvdWdoIHRvIG91dHNpZGUgdGhlICdpZicgc3RhdGVtZW50LgogICAgIH0KICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCiAgICAgcmV0ID0gaW9jdGwoZmQsIGNvZGUsIGFyZyk7CkBAIC0yMTgsNTIgKzI2OSwyNSBAQAogI3VuZGVmIElPQ1RMX0JVRlNaCiB9CiAKLVB5RG9jX1NUUlZBUihpb2N0bF9kb2MsCi0iaW9jdGwoZmQsIG9wWywgYXJnWywgbXV0YXRlX2ZsYWddXSlcblwKLVxuXAotUGVyZm9ybSB0aGUgb3BlcmF0aW9uIG9wIG9uIGZpbGUgZGVzY3JpcHRvciBmZC4gIFRoZSB2YWx1ZXMgdXNlZCBmb3Igb3BcblwKLWFyZSBvcGVyYXRpbmcgc3lzdGVtIGRlcGVuZGVudCwgYW5kIGFyZSBhdmFpbGFibGUgYXMgY29uc3RhbnRzIGluIHRoZVxuXAotZmNudGwgb3IgdGVybWlvcyBsaWJyYXJ5IG1vZHVsZXMsIHVzaW5nIHRoZSBzYW1lIG5hbWVzIGFzIHVzZWQgaW4gdGhlXG5cCi1yZWxldmFudCBDIGhlYWRlciBmaWxlcy5cblwKLVxuXAotVGhlIGFyZ3VtZW50IGFyZyBpcyBvcHRpb25hbCwgYW5kIGRlZmF1bHRzIHRvIDA7IGl0IG1heSBiZSBhbiBpbnQgb3IgYVxuXAotYnVmZmVyIGNvbnRhaW5pbmcgY2hhcmFjdGVyIGRhdGEgKG1vc3QgbGlrZWx5IGEgc3RyaW5nIG9yIGFuIGFycmF5KS4gXG5cCi1cblwKLUlmIHRoZSBhcmd1bWVudCBpcyBhIG11dGFibGUgYnVmZmVyIChzdWNoIGFzIGFuIGFycmF5KSBhbmQgaWYgdGhlXG5cCi1tdXRhdGVfZmxhZyBhcmd1bWVudCAod2hpY2ggaXMgb25seSBhbGxvd2VkIGluIHRoaXMgY2FzZSkgaXMgdHJ1ZSB0aGVuIHRoZVxuXAotYnVmZmVyIGlzIChpbiBlZmZlY3QpIHBhc3NlZCB0byB0aGUgb3BlcmF0aW5nIHN5c3RlbSBhbmQgY2hhbmdlcyBtYWRlIGJ5XG5cCi10aGUgT1Mgd2lsbCBiZSByZWZsZWN0ZWQgaW4gdGhlIGNvbnRlbnRzIG9mIHRoZSBidWZmZXIgYWZ0ZXIgdGhlIGNhbGwgaGFzXG5cCi1yZXR1cm5lZC4gIFRoZSByZXR1cm4gdmFsdWUgaXMgdGhlIGludGVnZXIgcmV0dXJuZWQgYnkgdGhlIGlvY3RsIHN5c3RlbVxuXAotY2FsbC5cblwKLVxuXAotSWYgdGhlIGFyZ3VtZW50IGlzIGEgbXV0YWJsZSBidWZmZXIgYW5kIHRoZSBtdXRhYmxlX2ZsYWcgYXJndW1lbnQgaXMgbm90XG5cCi1wYXNzZWQgb3IgaXMgZmFsc2UsIHRoZSBiZWhhdmlvciBpcyBhcyBpZiBhIHN0cmluZyBoYWQgYmVlbiBwYXNzZWQuICBUaGlzXG5cCi1iZWhhdmlvciB3aWxsIGNoYW5nZSBpbiBmdXR1cmUgcmVsZWFzZXMgb2YgUHl0aG9uLlxuXAotXG5cCi1JZiB0aGUgYXJndW1lbnQgaXMgYW4gaW1tdXRhYmxlIGJ1ZmZlciAobW9zdCBsaWtlbHkgYSBzdHJpbmcpIHRoZW4gYSBjb3B5XG5cCi1vZiB0aGUgYnVmZmVyIGlzIHBhc3NlZCB0byB0aGUgb3BlcmF0aW5nIHN5c3RlbSBhbmQgdGhlIHJldHVybiB2YWx1ZSBpcyBhXG5cCi1zdHJpbmcgb2YgdGhlIHNhbWUgbGVuZ3RoIGNvbnRhaW5pbmcgd2hhdGV2ZXIgdGhlIG9wZXJhdGluZyBzeXN0ZW0gcHV0IGluXG5cCi10aGUgYnVmZmVyLiAgVGhlIGxlbmd0aCBvZiB0aGUgYXJnIGJ1ZmZlciBpbiB0aGlzIGNhc2UgaXMgbm90IGFsbG93ZWQgdG9cblwKLWV4Y2VlZCAxMDI0IGJ5dGVzLlxuXAotXG5cCi1JZiB0aGUgYXJnIGdpdmVuIGlzIGFuIGludGVnZXIgb3IgaWYgbm9uZSBpcyBzcGVjaWZpZWQsIHRoZSByZXN1bHQgdmFsdWUgaXNcblwKLWFuIGludGVnZXIgY29ycmVzcG9uZGluZyB0byB0aGUgcmV0dXJuIHZhbHVlIG9mIHRoZSBpb2N0bCBjYWxsIGluIHRoZSBDXG5cCi1jb2RlLiIpOworLypbY2xpbmljIGlucHV0XQorZmNudGwuZmxvY2sKIAorICAgIGZkOiBvYmplY3QodHlwZT0naW50JywgY29udmVydGVyPSdjb252X2Rlc2NyaXB0b3InKQorICAgIGNvZGU6IGludAorICAgIC8KIAotLyogZmxvY2soZmQsIG9wZXJhdGlvbikgKi8KK1BlcmZvcm0gdGhlIGxvY2sgb3BlcmF0aW9uIG9wIG9uIGZpbGUgZGVzY3JpcHRvciBmZC4KKworU2VlIHRoZSBVbml4IG1hbnVhbCBwYWdlIGZvciBmbG9jaygyKSBmb3IgZGV0YWlscyAoT24gc29tZSBzeXN0ZW1zLCB0aGlzCitmdW5jdGlvbiBpcyBlbXVsYXRlZCB1c2luZyBmY250bCgpKS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLWZjbnRsX2Zsb2NrKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK2ZjbnRsX2Zsb2NrX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkLCBpbnQgY29kZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1jOTAzNTEzM2E3ZGJmYzk2IGlucHV0PWI3NjJhYTk0NDhkMDVlNDNdKi8KIHsKLSAgICBpbnQgZmQ7Ci0gICAgaW50IGNvZGU7CiAgICAgaW50IHJldDsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTyZpOmZsb2NrIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29udl9kZXNjcmlwdG9yLCAmZmQsICZjb2RlKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KICNpZmRlZiBIQVZFX0ZMT0NLCiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwogICAgIHJldCA9IGZsb2NrKGZkLCBjb2RlKTsKQEAgLTI5OSwyOSArMzIzLDQ5IEBACiAgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19JT0Vycm9yKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKLSAgICByZXR1cm4gUHlfTm9uZTsKKyAgICBQeV9SRVRVUk5fTk9ORTsKIH0KIAotUHlEb2NfU1RSVkFSKGZsb2NrX2RvYywKLSJmbG9jayhmZCwgb3BlcmF0aW9uKVxuXAotXG5cCi1QZXJmb3JtIHRoZSBsb2NrIG9wZXJhdGlvbiBvcCBvbiBmaWxlIGRlc2NyaXB0b3IgZmQuICBTZWUgdGhlIFVuaXggXG5cCi1tYW51YWwgcGFnZSBmb3IgZmxvY2soMikgZm9yIGRldGFpbHMuICAoT24gc29tZSBzeXN0ZW1zLCB0aGlzIGZ1bmN0aW9uIGlzXG5cCi1lbXVsYXRlZCB1c2luZyBmY250bCgpLikiKTsKIAorLypbY2xpbmljIGlucHV0XQorZmNudGwubG9ja2YKIAotLyogbG9ja2YoZmQsIG9wZXJhdGlvbikgKi8KKyAgICBmZDogb2JqZWN0KHR5cGU9J2ludCcsIGNvbnZlcnRlcj0nY29udl9kZXNjcmlwdG9yJykKKyAgICBjb2RlOiBpbnQKKyAgICBsZW5vYmo6IG9iamVjdCA9IE5VTEwKKyAgICBzdGFydG9iajogb2JqZWN0ID0gTlVMTAorICAgIHdoZW5jZTogaW50ID0gMAorICAgIC8KKworQSB3cmFwcGVyIGFyb3VuZCB0aGUgZmNudGwoKSBsb2NraW5nIGNhbGxzLgorCitmZCBpcyB0aGUgZmlsZSBkZXNjcmlwdG9yIG9mIHRoZSBmaWxlIHRvIGxvY2sgb3IgdW5sb2NrLCBhbmQgb3BlcmF0aW9uIGlzIG9uZQorb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CisKKyAgICBMT0NLX1VOIC0gdW5sb2NrCisgICAgTE9DS19TSCAtIGFjcXVpcmUgYSBzaGFyZWQgbG9jaworICAgIExPQ0tfRVggLSBhY3F1aXJlIGFuIGV4Y2x1c2l2ZSBsb2NrCisKK1doZW4gb3BlcmF0aW9uIGlzIExPQ0tfU0ggb3IgTE9DS19FWCwgaXQgY2FuIGFsc28gYmUgYml0d2lzZSBPUmVkIHdpdGgKK0xPQ0tfTkIgdG8gYXZvaWQgYmxvY2tpbmcgb24gbG9jayBhY3F1aXNpdGlvbi4gIElmIExPQ0tfTkIgaXMgdXNlZCBhbmQgdGhlCitsb2NrIGNhbm5vdCBiZSBhY3F1aXJlZCwgYW4gSU9FcnJvciB3aWxsIGJlIHJhaXNlZCBhbmQgdGhlIGV4Y2VwdGlvbiB3aWxsCitoYXZlIGFuIGVycm5vIGF0dHJpYnV0ZSBzZXQgdG8gRUFDQ0VTIG9yIEVBR0FJTiAoZGVwZW5kaW5nIG9uIHRoZSBvcGVyYXRpbmcKK3N5c3RlbSAtLSBmb3IgcG9ydGFiaWxpdHksIGNoZWNrIGZvciBlaXRoZXIgdmFsdWUpLgorCitsZW5ndGggaXMgdGhlIG51bWJlciBvZiBieXRlcyB0byBsb2NrLCB3aXRoIHRoZSBkZWZhdWx0IG1lYW5pbmcgdG8gbG9jayB0bworRU9GLiAgc3RhcnQgaXMgdGhlIGJ5dGUgb2Zmc2V0LCByZWxhdGl2ZSB0byB3aGVuY2UsIHRvIHRoYXQgdGhlIGxvY2sKK3N0YXJ0cy4gIHdoZW5jZSBpcyBhcyB3aXRoIGZpbGVvYmouc2VlaygpLCBzcGVjaWZpY2FsbHk6CisKKyAgICAwIC0gcmVsYXRpdmUgdG8gdGhlIHN0YXJ0IG9mIHRoZSBmaWxlIChTRUVLX1NFVCkKKyAgICAxIC0gcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgYnVmZmVyIHBvc2l0aW9uIChTRUVLX0NVUikKKyAgICAyIC0gcmVsYXRpdmUgdG8gdGhlIGVuZCBvZiB0aGUgZmlsZSAoU0VFS19FTkQpCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKIHN0YXRpYyBQeU9iamVjdCAqCi1mY250bF9sb2NrZihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitmY250bF9sb2NrZl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCwgaW50IGNvZGUsIFB5T2JqZWN0ICpsZW5vYmosIFB5T2JqZWN0ICpzdGFydG9iaiwgaW50IHdoZW5jZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD01NTM2ZGYyODkyYmYzY2U5IGlucHV0PTQ0ODU2ZmEwNmRiMzYxODRdKi8KIHsKLSAgICBpbnQgZmQsIGNvZGUsIHJldCwgd2hlbmNlID0gMDsKLSAgICBQeU9iamVjdCAqbGVub2JqID0gTlVMTCwgKnN0YXJ0b2JqID0gTlVMTDsKLQotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTyZpfE9PaTpsb2NrZiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnZfZGVzY3JpcHRvciwgJmZkLCAmY29kZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJmxlbm9iaiwgJnN0YXJ0b2JqLCAmd2hlbmNlKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaW50IHJldDsKIAogI2lmbmRlZiBMT0NLX1NICiAjZGVmaW5lIExPQ0tfU0ggICAgICAgICAxICAgICAgIC8qIHNoYXJlZCBsb2NrICovCkBAIC0zNzQsNDMgKzQxOCwxNyBAQAogICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfSU9FcnJvcik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLSAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0gICAgcmV0dXJuIFB5X05vbmU7CisgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAKLVB5RG9jX1NUUlZBUihsb2NrZl9kb2MsCi0ibG9ja2YgKGZkLCBvcGVyYXRpb24sIGxlbmd0aD0wLCBzdGFydD0wLCB3aGVuY2U9MClcblwKLVxuXAotVGhpcyBpcyBlc3NlbnRpYWxseSBhIHdyYXBwZXIgYXJvdW5kIHRoZSBmY250bCgpIGxvY2tpbmcgY2FsbHMuICBmZCBpcyB0aGVcblwKLWZpbGUgZGVzY3JpcHRvciBvZiB0aGUgZmlsZSB0byBsb2NrIG9yIHVubG9jaywgYW5kIG9wZXJhdGlvbiBpcyBvbmUgb2YgdGhlXG5cCi1mb2xsb3dpbmcgdmFsdWVzOlxuXAotXG5cCi0gICAgTE9DS19VTiAtIHVubG9ja1xuXAotICAgIExPQ0tfU0ggLSBhY3F1aXJlIGEgc2hhcmVkIGxvY2tcblwKLSAgICBMT0NLX0VYIC0gYWNxdWlyZSBhbiBleGNsdXNpdmUgbG9ja1xuXAotXG5cCi1XaGVuIG9wZXJhdGlvbiBpcyBMT0NLX1NIIG9yIExPQ0tfRVgsIGl0IGNhbiBhbHNvIGJlIGJpdHdpc2UgT1JlZCB3aXRoXG5cCi1MT0NLX05CIHRvIGF2b2lkIGJsb2NraW5nIG9uIGxvY2sgYWNxdWlzaXRpb24uICBJZiBMT0NLX05CIGlzIHVzZWQgYW5kIHRoZVxuXAotbG9jayBjYW5ub3QgYmUgYWNxdWlyZWQsIGFuIElPRXJyb3Igd2lsbCBiZSByYWlzZWQgYW5kIHRoZSBleGNlcHRpb24gd2lsbFxuXAotaGF2ZSBhbiBlcnJubyBhdHRyaWJ1dGUgc2V0IHRvIEVBQ0NFUyBvciBFQUdBSU4gKGRlcGVuZGluZyBvbiB0aGUgb3BlcmF0aW5nXG5cCi1zeXN0ZW0gLS0gZm9yIHBvcnRhYmlsaXR5LCBjaGVjayBmb3IgZWl0aGVyIHZhbHVlKS5cblwKLVxuXAotbGVuZ3RoIGlzIHRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gbG9jaywgd2l0aCB0aGUgZGVmYXVsdCBtZWFuaW5nIHRvIGxvY2sgdG9cblwKLUVPRi4gIHN0YXJ0IGlzIHRoZSBieXRlIG9mZnNldCwgcmVsYXRpdmUgdG8gd2hlbmNlLCB0byB0aGF0IHRoZSBsb2NrXG5cCi1zdGFydHMuICB3aGVuY2UgaXMgYXMgd2l0aCBmaWxlb2JqLnNlZWsoKSwgc3BlY2lmaWNhbGx5OlxuXAotXG5cCi0gICAgMCAtIHJlbGF0aXZlIHRvIHRoZSBzdGFydCBvZiB0aGUgZmlsZSAoU0VFS19TRVQpXG5cCi0gICAgMSAtIHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IGJ1ZmZlciBwb3NpdGlvbiAoU0VFS19DVVIpXG5cCi0gICAgMiAtIHJlbGF0aXZlIHRvIHRoZSBlbmQgb2YgdGhlIGZpbGUgKFNFRUtfRU5EKSIpOwotCiAvKiBMaXN0IG9mIGZ1bmN0aW9ucyAqLwogCiBzdGF0aWMgUHlNZXRob2REZWYgZmNudGxfbWV0aG9kc1tdID0gewotICAgIHsiZmNudGwiLCAgICAgICAgICAgZmNudGxfZmNudGwsIE1FVEhfVkFSQVJHUywgZmNudGxfZG9jfSwKLSAgICB7ImlvY3RsIiwgICAgICAgICAgIGZjbnRsX2lvY3RsLCBNRVRIX1ZBUkFSR1MsIGlvY3RsX2RvY30sCi0gICAgeyJmbG9jayIsICAgICAgICAgICBmY250bF9mbG9jaywgTUVUSF9WQVJBUkdTLCBmbG9ja19kb2N9LAotICAgIHsibG9ja2YiLCAgICAgICBmY250bF9sb2NrZiwgTUVUSF9WQVJBUkdTLCBsb2NrZl9kb2N9LAotICAgIHtOVUxMLCAgICAgICAgICAgICAgTlVMTH0gICAgICAgICAgIC8qIHNlbnRpbmVsICovCisgICAgRkNOVExfRkNOVExfTUVUSE9EREVGCisgICAgRkNOVExfSU9DVExfTUVUSE9EREVGCisgICAgRkNOVExfRkxPQ0tfTUVUSE9EREVGCisgICAgRkNOVExfTE9DS0ZfTUVUSE9EREVGCisgICAge05VTEwsIE5VTEx9ICAvKiBzZW50aW5lbCAqLwogfTsKIAogCmRpZmYgLS1naXQgYS9Nb2R1bGVzL2djbW9kdWxlLmMgYi9Nb2R1bGVzL2djbW9kdWxlLmMKaW5kZXggOWJiMzY2Ni4uMTQyNjg3YiAxMDA2NDQKLS0tIGEvTW9kdWxlcy9nY21vZHVsZS5jCisrKyBiL01vZHVsZXMvZ2Ntb2R1bGUuYwpAQCAtMjUsNiArMjUsNyBAQAogCiAjaW5jbHVkZSAiUHl0aG9uLmgiCiAjaW5jbHVkZSAiZnJhbWVvYmplY3QuaCIgICAgICAgIC8qIGZvciBQeUZyYW1lX0NsZWFyRnJlZUxpc3QgKi8KKyNpbmNsdWRlICJweXRpbWUuaCIgICAgICAgICAgICAgLyogZm9yIF9QeVRpbWVfbW9ub3RvbmljLCBfUHlUaW1lX0lOVEVSVkFMICovCiAKIC8qIEdldCBhbiBvYmplY3QncyBHQyBoZWFkICovCiAjZGVmaW5lIEFTX0dDKG8pICgoUHlHQ19IZWFkICopKG8pLTEpCkBAIC0xNjYsNyArMTY3LDYgQEAKICAgICAgICAgICAgICAgICBERUJVR19VTkNPTExFQ1RBQkxFIHwgXAogICAgICAgICAgICAgICAgIERFQlVHX1NBVkVBTEwKIHN0YXRpYyBpbnQgZGVidWc7Ci1zdGF0aWMgUHlPYmplY3QgKnRtb2QgPSBOVUxMOwogCiAvKiBSdW5uaW5nIHN0YXRzIHBlciBnZW5lcmF0aW9uICovCiBzdHJ1Y3QgZ2NfZ2VuZXJhdGlvbl9zdGF0cyB7CkBAIC04OTQsMjYgKzg5NCw2IEBACiAgICAgKHZvaWQpUHlTZXRfQ2xlYXJGcmVlTGlzdCgpOwogfQogCi1zdGF0aWMgZG91YmxlCi1nZXRfdGltZSh2b2lkKQotewotICAgIGRvdWJsZSByZXN1bHQgPSAwOwotICAgIGlmICh0bW9kICE9IE5VTEwpIHsKLSAgICAgICAgX1B5X0lERU5USUZJRVIodGltZSk7Ci0KLSAgICAgICAgUHlPYmplY3QgKmYgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKHRtb2QsICZQeUlkX3RpbWUsIE5VTEwpOwotICAgICAgICBpZiAoZiA9PSBOVUxMKSB7Ci0gICAgICAgICAgICBQeUVycl9DbGVhcigpOwotICAgICAgICB9Ci0gICAgICAgIGVsc2UgewotICAgICAgICAgICAgaWYgKFB5RmxvYXRfQ2hlY2soZikpCi0gICAgICAgICAgICAgICAgcmVzdWx0ID0gUHlGbG9hdF9Bc0RvdWJsZShmKTsKLSAgICAgICAgICAgIFB5X0RFQ1JFRihmKTsKLSAgICAgICAgfQotICAgIH0KLSAgICByZXR1cm4gcmVzdWx0OwotfQotCiAvKiBUaGlzIGlzIHRoZSBtYWluIGZ1bmN0aW9uLiAgUmVhZCB0aGlzIHRvIHVuZGVyc3RhbmQgaG93IHRoZQogICogY29sbGVjdGlvbiBwcm9jZXNzIHdvcmtzLiAqLwogc3RhdGljIFB5X3NzaXplX3QKQEAgLTkyOCw3ICs5MDgsOCBAQAogICAgIFB5R0NfSGVhZCB1bnJlYWNoYWJsZTsgLyogbm9uLXByb2JsZW1hdGljIHVucmVhY2hhYmxlIHRyYXNoICovCiAgICAgUHlHQ19IZWFkIGZpbmFsaXplcnM7ICAvKiBvYmplY3RzIHdpdGgsICYgcmVhY2hhYmxlIGZyb20sIF9fZGVsX18gKi8KICAgICBQeUdDX0hlYWQgKmdjOwotICAgIGRvdWJsZSB0MSA9IDAuMDsKKyAgICBfUHlUaW1lX3RpbWV2YWwgdDE7CisKICAgICBzdHJ1Y3QgZ2NfZ2VuZXJhdGlvbl9zdGF0cyAqc3RhdHMgPSAmZ2VuZXJhdGlvbl9zdGF0c1tnZW5lcmF0aW9uXTsKIAogICAgIGlmIChkZWJ1ZyAmIERFQlVHX1NUQVRTKSB7CkBAIC05MzYsOSArOTE3LDEwIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRpb24pOwogICAgICAgICBQeVN5c19Xcml0ZVN0ZGVycigiZ2M6IG9iamVjdHMgaW4gZWFjaCBnZW5lcmF0aW9uOiIpOwogICAgICAgICBmb3IgKGkgPSAwOyBpIDwgTlVNX0dFTkVSQVRJT05TOyBpKyspCi0gICAgICAgICAgICBQeVN5c19Xcml0ZVN0ZGVycigiICUiIFBZX0ZPUk1BVF9TSVpFX1QgImQiLAorICAgICAgICAgICAgUHlTeXNfRm9ybWF0U3RkZXJyKCIgJXpkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdjX2xpc3Rfc2l6ZShHRU5fSEVBRChpKSkpOwotICAgICAgICB0MSA9IGdldF90aW1lKCk7CisgICAgICAgIF9QeVRpbWVfbW9ub3RvbmljKCZ0MSk7CisKICAgICAgICAgUHlTeXNfV3JpdGVTdGRlcnIoIlxuIik7CiAgICAgfQogCkBAIC0xMDQyLDE5ICsxMDI0LDE2IEBACiAgICAgICAgICAgICBkZWJ1Z19jeWNsZSgidW5jb2xsZWN0YWJsZSIsIEZST01fR0MoZ2MpKTsKICAgICB9CiAgICAgaWYgKGRlYnVnICYgREVCVUdfU1RBVFMpIHsKLSAgICAgICAgZG91YmxlIHQyID0gZ2V0X3RpbWUoKTsKKyAgICAgICAgX1B5VGltZV90aW1ldmFsIHQyOworICAgICAgICBfUHlUaW1lX21vbm90b25pYygmdDIpOworCiAgICAgICAgIGlmIChtID09IDAgJiYgbiA9PSAwKQogICAgICAgICAgICAgUHlTeXNfV3JpdGVTdGRlcnIoImdjOiBkb25lIik7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIFB5U3lzX1dyaXRlU3RkZXJyKAotICAgICAgICAgICAgICAgICJnYzogZG9uZSwgIgotICAgICAgICAgICAgICAgICIlIiBQWV9GT1JNQVRfU0laRV9UICJkIHVucmVhY2hhYmxlLCAiCi0gICAgICAgICAgICAgICAgIiUiIFBZX0ZPUk1BVF9TSVpFX1QgImQgdW5jb2xsZWN0YWJsZSIsCisgICAgICAgICAgICBQeVN5c19Gb3JtYXRTdGRlcnIoCisgICAgICAgICAgICAgICAgImdjOiBkb25lLCAlemQgdW5yZWFjaGFibGUsICV6ZCB1bmNvbGxlY3RhYmxlIiwKICAgICAgICAgICAgICAgICBuK20sIG4pOwotICAgICAgICBpZiAodDEgJiYgdDIpIHsKLSAgICAgICAgICAgIFB5U3lzX1dyaXRlU3RkZXJyKCIsICUuNGZzIGVsYXBzZWQiLCB0Mi10MSk7Ci0gICAgICAgIH0KLSAgICAgICAgUHlTeXNfV3JpdGVTdGRlcnIoIi5cbiIpOworICAgICAgICBQeVN5c19Xcml0ZVN0ZGVycigiLCAlLjRmcyBlbGFwc2VkXG4iLCBfUHlUaW1lX0lOVEVSVkFMKHQxLCB0MikpOwogICAgIH0KIAogICAgIC8qIEFwcGVuZCBpbnN0YW5jZXMgaW4gdGhlIHVuY29sbGVjdGFibGUgc2V0IHRvIGEgUHl0aG9uCkBAIC0xNTgxLDE4ICsxNTYwLDYgQEAKICAgICBpZiAoUHlNb2R1bGVfQWRkT2JqZWN0KG0sICJjYWxsYmFja3MiLCBjYWxsYmFja3MpIDwgMCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICAvKiBJbXBvcnRpbmcgY2FuJ3QgYmUgZG9uZSBpbiBjb2xsZWN0KCkgYmVjYXVzZSBjb2xsZWN0KCkKLSAgICAgKiBjYW4gYmUgY2FsbGVkIHZpYSBQeUdDX0NvbGxlY3QoKSBpbiBQeV9GaW5hbGl6ZSgpLgotICAgICAqIFRoaXMgd291bGRuJ3QgYmUgYSBwcm9ibGVtLCBleGNlcHQgdGhhdCA8aW5pdGlhbGl6ZWQ+IGlzCi0gICAgICogcmVzZXQgdG8gMCBiZWZvcmUgY2FsbGluZyBjb2xsZWN0IHdoaWNoIHRyaXBzIHVwCi0gICAgICogdGhlIGltcG9ydCBhbmQgdHJpZ2dlcnMgYW4gYXNzZXJ0aW9uLgotICAgICAqLwotICAgIGlmICh0bW9kID09IE5VTEwpIHsKLSAgICAgICAgdG1vZCA9IFB5SW1wb3J0X0ltcG9ydE1vZHVsZU5vQmxvY2soInRpbWUiKTsKLSAgICAgICAgaWYgKHRtb2QgPT0gTlVMTCkKLSAgICAgICAgICAgIFB5RXJyX0NsZWFyKCk7Ci0gICAgfQotCiAjZGVmaW5lIEFERF9JTlQoTkFNRSkgaWYgKFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICNOQU1FLCBOQU1FKSA8IDApIHJldHVybiBOVUxMCiAgICAgQUREX0lOVChERUJVR19TVEFUUyk7CiAgICAgQUREX0lOVChERUJVR19DT0xMRUNUQUJMRSk7CkBAIC0xNjgxLDcgKzE2NDgsNiBAQAogX1B5R0NfRmluaSh2b2lkKQogewogICAgIFB5X0NMRUFSKGNhbGxiYWNrcyk7Ci0gICAgUHlfQ0xFQVIodG1vZCk7CiB9CiAKIC8qIGZvciBkZWJ1Z2dpbmcgKi8KQEAgLTE3MTUsMTUgKzE2ODEsMTkgQEAKICAgICAgICAgX1B5T2JqZWN0X0dDX1VOVFJBQ0sob3ApOwogfQogCi1QeU9iamVjdCAqCi1fUHlPYmplY3RfR0NfTWFsbG9jKHNpemVfdCBiYXNpY3NpemUpCitzdGF0aWMgUHlPYmplY3QgKgorX1B5T2JqZWN0X0dDX0FsbG9jKGludCB1c2VfY2FsbG9jLCBzaXplX3QgYmFzaWNzaXplKQogewogICAgIFB5T2JqZWN0ICpvcDsKICAgICBQeUdDX0hlYWQgKmc7CisgICAgc2l6ZV90IHNpemU7CiAgICAgaWYgKGJhc2ljc2l6ZSA+IFBZX1NTSVpFX1RfTUFYIC0gc2l6ZW9mKFB5R0NfSGVhZCkpCiAgICAgICAgIHJldHVybiBQeUVycl9Ob01lbW9yeSgpOwotICAgIGcgPSAoUHlHQ19IZWFkICopUHlPYmplY3RfTUFMTE9DKAotICAgICAgICBzaXplb2YoUHlHQ19IZWFkKSArIGJhc2ljc2l6ZSk7CisgICAgc2l6ZSA9IHNpemVvZihQeUdDX0hlYWQpICsgYmFzaWNzaXplOworICAgIGlmICh1c2VfY2FsbG9jKQorICAgICAgICBnID0gKFB5R0NfSGVhZCAqKVB5T2JqZWN0X0NhbGxvYygxLCBzaXplKTsKKyAgICBlbHNlCisgICAgICAgIGcgPSAoUHlHQ19IZWFkICopUHlPYmplY3RfTWFsbG9jKHNpemUpOwogICAgIGlmIChnID09IE5VTEwpCiAgICAgICAgIHJldHVybiBQeUVycl9Ob01lbW9yeSgpOwogICAgIGctPmdjLmdjX3JlZnMgPSAwOwpAQCAtMTc0Myw2ICsxNzEzLDE4IEBACiB9CiAKIFB5T2JqZWN0ICoKK19QeU9iamVjdF9HQ19NYWxsb2Moc2l6ZV90IGJhc2ljc2l6ZSkKK3sKKyAgICByZXR1cm4gX1B5T2JqZWN0X0dDX0FsbG9jKDAsIGJhc2ljc2l6ZSk7Cit9CisKK1B5T2JqZWN0ICoKK19QeU9iamVjdF9HQ19DYWxsb2Moc2l6ZV90IGJhc2ljc2l6ZSkKK3sKKyAgICByZXR1cm4gX1B5T2JqZWN0X0dDX0FsbG9jKDEsIGJhc2ljc2l6ZSk7Cit9CisKK1B5T2JqZWN0ICoKIF9QeU9iamVjdF9HQ19OZXcoUHlUeXBlT2JqZWN0ICp0cCkKIHsKICAgICBQeU9iamVjdCAqb3AgPSBfUHlPYmplY3RfR0NfTWFsbG9jKF9QeU9iamVjdF9TSVpFKHRwKSk7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL2dldHBhdGguYyBiL01vZHVsZXMvZ2V0cGF0aC5jCmluZGV4IGMwNTc3MzcuLjExZWVjZTQgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvZ2V0cGF0aC5jCisrKyBiL01vZHVsZXMvZ2V0cGF0aC5jCkBAIC0zMzYsNyArMzM2LDcgQEAKICAgICBqb2lucGF0aChwcmVmaXgsIEwiTW9kdWxlcy9TZXR1cCIpOwogICAgIGlmIChpc2ZpbGUocHJlZml4KSkgewogICAgICAgICAvKiBDaGVjayBWUEFUSCB0byBzZWUgaWYgYXJndjBfcGF0aCBpcyBpbiB0aGUgYnVpbGQgZGlyZWN0b3J5LiAqLwotICAgICAgICB2cGF0aCA9IF9QeV9jaGFyMndjaGFyKFZQQVRILCBOVUxMKTsKKyAgICAgICAgdnBhdGggPSBQeV9EZWNvZGVMb2NhbGUoVlBBVEgsIE5VTEwpOwogICAgICAgICBpZiAodnBhdGggIT0gTlVMTCkgewogICAgICAgICAgICAgd2NzbmNweShwcmVmaXgsIGFyZ3YwX3BhdGgsIE1BWFBBVEhMRU4pOwogICAgICAgICAgICAgcHJlZml4W01BWFBBVEhMRU5dID0gTCdcMCc7CkBAIC00OTEsMTAgKzQ5MSwxMCBAQAogICAgIHdjaGFyX3QgKl9weXRob25wYXRoLCAqX3ByZWZpeCwgKl9leGVjX3ByZWZpeDsKICAgICB3Y2hhcl90ICpsaWJfcHl0aG9uOwogCi0gICAgX3B5dGhvbnBhdGggPSBfUHlfY2hhcjJ3Y2hhcihQWVRIT05QQVRILCBOVUxMKTsKLSAgICBfcHJlZml4ID0gX1B5X2NoYXIyd2NoYXIoUFJFRklYLCBOVUxMKTsKLSAgICBfZXhlY19wcmVmaXggPSBfUHlfY2hhcjJ3Y2hhcihFWEVDX1BSRUZJWCwgTlVMTCk7Ci0gICAgbGliX3B5dGhvbiA9IF9QeV9jaGFyMndjaGFyKCJsaWIvcHl0aG9uIiBWRVJTSU9OLCBOVUxMKTsKKyAgICBfcHl0aG9ucGF0aCA9IFB5X0RlY29kZUxvY2FsZShQWVRIT05QQVRILCBOVUxMKTsKKyAgICBfcHJlZml4ID0gUHlfRGVjb2RlTG9jYWxlKFBSRUZJWCwgTlVMTCk7CisgICAgX2V4ZWNfcHJlZml4ID0gUHlfRGVjb2RlTG9jYWxlKEVYRUNfUFJFRklYLCBOVUxMKTsKKyAgICBsaWJfcHl0aG9uID0gUHlfRGVjb2RlTG9jYWxlKCJsaWIvcHl0aG9uIiBWRVJTSU9OLCBOVUxMKTsKIAogICAgIGlmICghX3B5dGhvbnBhdGggfHwgIV9wcmVmaXggfHwgIV9leGVjX3ByZWZpeCB8fCAhbGliX3B5dGhvbikgewogICAgICAgICBQeV9GYXRhbEVycm9yKApAQCAtNTAzLDcgKzUwMyw3IEBACiAgICAgfQogCiAgICAgaWYgKF9wYXRoKSB7Ci0gICAgICAgIHBhdGhfYnVmZmVyID0gX1B5X2NoYXIyd2NoYXIoX3BhdGgsIE5VTEwpOworICAgICAgICBwYXRoX2J1ZmZlciA9IFB5X0RlY29kZUxvY2FsZShfcGF0aCwgTlVMTCk7CiAgICAgICAgIHBhdGggPSBwYXRoX2J1ZmZlcjsKICAgICB9CiAKQEAgLTU4NCw3ICs1ODQsNyBAQAogICAgICAgICAqKiBiZSBydW5uaW5nIHRoZSBpbnRlcnByZXRlciBpbiB0aGUgYnVpbGQgZGlyZWN0b3J5LCBzbyB3ZSB1c2UgdGhlCiAgICAgICAgICoqIGJ1aWxkLWRpcmVjdG9yeS1zcGVjaWZpYyBsb2dpYyB0byBmaW5kIExpYiBhbmQgc3VjaC4KICAgICAgICAgKi8KLSAgICAgICAgd2NoYXJfdCogd2J1ZiA9IF9QeV9jaGFyMndjaGFyKG1vZFBhdGgsIE5VTEwpOworICAgICAgICB3Y2hhcl90KiB3YnVmID0gUHlfRGVjb2RlTG9jYWxlKG1vZFBhdGgsIE5VTEwpOwogICAgICAgICBpZiAod2J1ZiA9PSBOVUxMKSB7CiAgICAgICAgICAgICBQeV9GYXRhbEVycm9yKCJDYW5ub3QgZGVjb2RlIGZyYW1ld29yayBsb2NhdGlvbiIpOwogICAgICAgICB9CkBAIC03MDksNyArNzA5LDcgQEAKIAogICAgIGlmIChfcnRweXBhdGggJiYgX3J0cHlwYXRoWzBdICE9ICdcMCcpIHsKICAgICAgICAgc2l6ZV90IHJ0cHlwYXRoX2xlbjsKLSAgICAgICAgcnRweXBhdGggPSBfUHlfY2hhcjJ3Y2hhcihfcnRweXBhdGgsICZydHB5cGF0aF9sZW4pOworICAgICAgICBydHB5cGF0aCA9IFB5X0RlY29kZUxvY2FsZShfcnRweXBhdGgsICZydHB5cGF0aF9sZW4pOwogICAgICAgICBpZiAocnRweXBhdGggIT0gTlVMTCkKICAgICAgICAgICAgIGJ1ZnN6ICs9IHJ0cHlwYXRoX2xlbiArIDE7CiAgICAgfQpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9ncnBtb2R1bGUuYyBiL01vZHVsZXMvZ3JwbW9kdWxlLmMKaW5kZXggZGE3ODI1My4uZjc5NzliZSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9ncnBtb2R1bGUuYworKysgYi9Nb2R1bGVzL2dycG1vZHVsZS5jCkBAIC02LDYgKzYsMTMgQEAKIAogI2luY2x1ZGUgPGdycC5oPgogCisjaW5jbHVkZSAiY2xpbmljL2dycG1vZHVsZS5jLmgiCisvKltjbGluaWMgaW5wdXRdCitvdXRwdXQgcHJlc2V0IGZpbGUKK21vZHVsZSBncnAKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kYTM5YTNlZTVlNmI0YjBkIGlucHV0PTY4MTgwYTlhOWVmYjg1MDZdKi8KKwogc3RhdGljIFB5U3RydWN0U2VxdWVuY2VfRmllbGQgc3RydWN0X2dyb3VwX3R5cGVfZmllbGRzW10gPSB7CiAgICB7ImdyX25hbWUiLCAiZ3JvdXAgbmFtZSJ9LAogICAgeyJncl9wYXNzd2QiLCAicGFzc3dvcmQifSwKQEAgLTc2LDE0ICs4MywyNSBAQAogICAgIHJldHVybiB2OwogfQogCisvKltjbGluaWMgaW5wdXRdCitncnAuZ2V0Z3JnaWQKKworICAgIGlkOiBvYmplY3QKKworUmV0dXJuIHRoZSBncm91cCBkYXRhYmFzZSBlbnRyeSBmb3IgdGhlIGdpdmVuIG51bWVyaWMgZ3JvdXAgSUQuCisKK0lmIGlkIGlzIG5vdCB2YWxpZCwgcmFpc2UgS2V5RXJyb3IuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKIHN0YXRpYyBQeU9iamVjdCAqCi1ncnBfZ2V0Z3JnaWQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpweW9faWQpCitncnBfZ2V0Z3JnaWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqaWQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9OGExMWY1ZmRlYjhjNzhhMCBpbnB1dD0xNWZhMGUyY2NmNWNkYTI1XSovCiB7CiAgICAgUHlPYmplY3QgKnB5X2ludF9pZDsKICAgICBnaWRfdCBnaWQ7CiAgICAgc3RydWN0IGdyb3VwICpwOwogCi0gICAgcHlfaW50X2lkID0gUHlOdW1iZXJfTG9uZyhweW9faWQpOworICAgIHB5X2ludF9pZCA9IFB5TnVtYmVyX0xvbmcoaWQpOwogICAgIGlmICghcHlfaW50X2lkKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgaWYgKCFfUHlfR2lkX0NvbnZlcnRlcihweV9pbnRfaWQsICZnaWQpKSB7CkBAIC0xMDMsMjIgKzEyMSwzMSBAQAogICAgIHJldHVybiBta2dyZW50KHApOwogfQogCi1zdGF0aWMgUHlPYmplY3QgKgotZ3JwX2dldGdybmFtKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKLXsKLSAgICBjaGFyICpuYW1lOwotICAgIHN0cnVjdCBncm91cCAqcDsKLSAgICBQeU9iamVjdCAqYXJnLCAqYnl0ZXMsICpyZXR2YWwgPSBOVUxMOworLypbY2xpbmljIGlucHV0XQorZ3JwLmdldGdybmFtCiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIlU6Z2V0Z3JuYW0iLCAmYXJnKSkKKyAgICBuYW1lOiB1bmljb2RlCisKK1JldHVybiB0aGUgZ3JvdXAgZGF0YWJhc2UgZW50cnkgZm9yIHRoZSBnaXZlbiBncm91cCBuYW1lLgorCitJZiBuYW1lIGlzIG5vdCB2YWxpZCwgcmFpc2UgS2V5RXJyb3IuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK3N0YXRpYyBQeU9iamVjdCAqCitncnBfZ2V0Z3JuYW1faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqbmFtZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1jZDQ3NTExZjQ4NTRkYThlIGlucHV0PTA4ZGVkMjlhZmZhM2M4NjNdKi8KK3sKKyAgICBjaGFyICpuYW1lX2NoYXJzOworICAgIHN0cnVjdCBncm91cCAqcDsKKyAgICBQeU9iamVjdCAqYnl0ZXMsICpyZXR2YWwgPSBOVUxMOworCisgICAgaWYgKChieXRlcyA9IFB5VW5pY29kZV9FbmNvZGVGU0RlZmF1bHQobmFtZSkpID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIGlmICgoYnl0ZXMgPSBQeVVuaWNvZGVfRW5jb2RlRlNEZWZhdWx0KGFyZykpID09IE5VTEwpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIGlmIChQeUJ5dGVzX0FzU3RyaW5nQW5kU2l6ZShieXRlcywgJm5hbWUsIE5VTEwpID09IC0xKQorICAgIGlmIChQeUJ5dGVzX0FzU3RyaW5nQW5kU2l6ZShieXRlcywgJm5hbWVfY2hhcnMsIE5VTEwpID09IC0xKQogICAgICAgICBnb3RvIG91dDsKIAotICAgIGlmICgocCA9IGdldGdybmFtKG5hbWUpKSA9PSBOVUxMKSB7Ci0gICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19LZXlFcnJvciwgImdldGdybmFtKCk6IG5hbWUgbm90IGZvdW5kOiAlcyIsIG5hbWUpOworICAgIGlmICgocCA9IGdldGdybmFtKG5hbWVfY2hhcnMpKSA9PSBOVUxMKSB7CisgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19LZXlFcnJvciwgImdldGdybmFtKCk6IG5hbWUgbm90IGZvdW5kOiAlcyIsIG5hbWVfY2hhcnMpOwogICAgICAgICBnb3RvIG91dDsKICAgICB9CiAgICAgcmV0dmFsID0gbWtncmVudChwKTsKQEAgLTEyNyw4ICsxNTQsMTggQEAKICAgICByZXR1cm4gcmV0dmFsOwogfQogCisvKltjbGluaWMgaW5wdXRdCitncnAuZ2V0Z3JhbGwKKworUmV0dXJuIGEgbGlzdCBvZiBhbGwgYXZhaWxhYmxlIGdyb3VwIGVudHJpZXMsIGluIGFyYml0cmFyeSBvcmRlci4KKworQW4gZW50cnkgd2hvc2UgbmFtZSBzdGFydHMgd2l0aCAnKycgb3IgJy0nIHJlcHJlc2VudHMgYW4gaW5zdHJ1Y3Rpb24KK3RvIHVzZSBZUC9OSVMgYW5kIG1heSBub3QgYmUgYWNjZXNzaWJsZSB2aWEgZ2V0Z3JuYW0gb3IgZ2V0Z3JnaWQuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKIHN0YXRpYyBQeU9iamVjdCAqCi1ncnBfZ2V0Z3JhbGwoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICppZ25vcmUpCitncnBfZ2V0Z3JhbGxfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWFkZDkwMzdhMjBjMjAyZGUgaW5wdXQ9ZDdkZjc2YzgyNWMzNjdkZl0qLwogewogICAgIFB5T2JqZWN0ICpkOwogICAgIHN0cnVjdCBncm91cCAqcDsKQEAgLTE1MSwyMCArMTg4LDEwIEBACiB9CiAKIHN0YXRpYyBQeU1ldGhvZERlZiBncnBfbWV0aG9kc1tdID0gewotICAgIHsiZ2V0Z3JnaWQiLCAgICAgICAgZ3JwX2dldGdyZ2lkLCAgIE1FVEhfTywKLSAgICAgImdldGdyZ2lkKGlkKSAtPiAoZ3JfbmFtZSxncl9wYXNzd2QsZ3JfZ2lkLGdyX21lbSlcblwKLVJldHVybiB0aGUgZ3JvdXAgZGF0YWJhc2UgZW50cnkgZm9yIHRoZSBnaXZlbiBudW1lcmljIGdyb3VwIElELiAgSWZcblwKLWlkIGlzIG5vdCB2YWxpZCwgcmFpc2UgS2V5RXJyb3IuIn0sCi0gICAgeyJnZXRncm5hbSIsICAgICAgICBncnBfZ2V0Z3JuYW0sICAgTUVUSF9WQVJBUkdTLAotICAgICAiZ2V0Z3JuYW0obmFtZSkgLT4gKGdyX25hbWUsZ3JfcGFzc3dkLGdyX2dpZCxncl9tZW0pXG5cCi1SZXR1cm4gdGhlIGdyb3VwIGRhdGFiYXNlIGVudHJ5IGZvciB0aGUgZ2l2ZW4gZ3JvdXAgbmFtZS4gIElmXG5cCi1uYW1lIGlzIG5vdCB2YWxpZCwgcmFpc2UgS2V5RXJyb3IuIn0sCi0gICAgeyJnZXRncmFsbCIsICAgICAgICBncnBfZ2V0Z3JhbGwsICAgTUVUSF9OT0FSR1MsCi0gICAgICJnZXRncmFsbCgpIC0+IGxpc3Qgb2YgdHVwbGVzXG5cCi1SZXR1cm4gYSBsaXN0IG9mIGFsbCBhdmFpbGFibGUgZ3JvdXAgZW50cmllcywgaW4gYXJiaXRyYXJ5IG9yZGVyLlxuXAotQW4gZW50cnkgd2hvc2UgbmFtZSBzdGFydHMgd2l0aCAnKycgb3IgJy0nIHJlcHJlc2VudHMgYW4gaW5zdHJ1Y3Rpb25cblwKLXRvIHVzZSBZUC9OSVMgYW5kIG1heSBub3QgYmUgYWNjZXNzaWJsZSB2aWEgZ2V0Z3JuYW0gb3IgZ2V0Z3JnaWQuIn0sCi0gICAge05VTEwsICAgICAgICAgICAgICBOVUxMfSAgICAgICAgICAgLyogc2VudGluZWwgKi8KKyAgICBHUlBfR0VUR1JHSURfTUVUSE9EREVGCisgICAgR1JQX0dFVEdSTkFNX01FVEhPRERFRgorICAgIEdSUF9HRVRHUkFMTF9NRVRIT0RERUYKKyAgICB7TlVMTCwgTlVMTH0KIH07CiAKIFB5RG9jX1NUUlZBUihncnBfX2RvY19fLApkaWZmIC0tZ2l0IGEvTW9kdWxlcy9tYWluLmMgYi9Nb2R1bGVzL21haW4uYwppbmRleCA4N2EyMWQ3Li5jNDg4M2M5IDEwMDY0NAotLS0gYS9Nb2R1bGVzL21haW4uYworKysgYi9Nb2R1bGVzL21haW4uYwpAQCAtOSw3ICs5LDYgQEAKICNpbmNsdWRlIDx3aW5kb3dzLmg+CiAjaWZkZWYgSEFWRV9GQ05UTF9ICiAjaW5jbHVkZSA8ZmNudGwuaD4KLSNkZWZpbmUgUEFUSF9NQVggTUFYUEFUSExFTgogI2VuZGlmCiAjZW5kaWYKIApAQCAtMzQzLDYgKzM0Miw4IEBACiAgICAgaW50IHZlcnNpb24gPSAwOwogICAgIGludCBzYXdfdW5idWZmZXJlZF9mbGFnID0gMDsKICAgICBQeUNvbXBpbGVyRmxhZ3MgY2Y7CisgICAgUHlPYmplY3QgKndhcm5pbmdfb3B0aW9uID0gTlVMTDsKKyAgICBQeU9iamVjdCAqd2FybmluZ19vcHRpb25zID0gTlVMTDsKIAogICAgIGNmLmNmX2ZsYWdzID0gMDsKIApAQCAtNDY1LDcgKzQ2NiwxNSBAQAogICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgY2FzZSAnVyc6Ci0gICAgICAgICAgICBQeVN5c19BZGRXYXJuT3B0aW9uKF9QeU9TX29wdGFyZyk7CisgICAgICAgICAgICBpZiAod2FybmluZ19vcHRpb25zID09IE5VTEwpCisgICAgICAgICAgICAgICAgd2FybmluZ19vcHRpb25zID0gUHlMaXN0X05ldygwKTsKKyAgICAgICAgICAgIGlmICh3YXJuaW5nX29wdGlvbnMgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICBQeV9GYXRhbEVycm9yKCJmYWlsdXJlIGluIGhhbmRsaW5nIG9mIC1XIGFyZ3VtZW50Iik7CisgICAgICAgICAgICB3YXJuaW5nX29wdGlvbiA9IFB5VW5pY29kZV9Gcm9tV2lkZUNoYXIoX1B5T1Nfb3B0YXJnLCAtMSk7CisgICAgICAgICAgICBpZiAod2FybmluZ19vcHRpb24gPT0gTlVMTCkKKyAgICAgICAgICAgICAgICBQeV9GYXRhbEVycm9yKCJmYWlsdXJlIGluIGhhbmRsaW5nIG9mIC1XIGFyZ3VtZW50Iik7CisgICAgICAgICAgICBQeUxpc3RfQXBwZW5kKHdhcm5pbmdfb3B0aW9ucywgd2FybmluZ19vcHRpb24pOworICAgICAgICAgICAgUHlfREVDUkVGKHdhcm5pbmdfb3B0aW9uKTsKICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIGNhc2UgJ1gnOgpAQCAtNTU5LDYgKzU2OCwxMiBAQAogICAgICAgICBQeU1lbV9SYXdGcmVlKGJ1Zik7CiAgICAgfQogI2VuZGlmCisgICAgaWYgKHdhcm5pbmdfb3B0aW9ucyAhPSBOVUxMKSB7CisgICAgICAgIFB5X3NzaXplX3QgaTsKKyAgICAgICAgZm9yIChpID0gMDsgaSA8IFB5TGlzdF9HRVRfU0laRSh3YXJuaW5nX29wdGlvbnMpOyBpKyspIHsKKyAgICAgICAgICAgIFB5U3lzX0FkZFdhcm5PcHRpb25Vbmljb2RlKFB5TGlzdF9HRVRfSVRFTSh3YXJuaW5nX29wdGlvbnMsIGkpKTsKKyAgICAgICAgfQorICAgIH0KIAogICAgIGlmIChjb21tYW5kID09IE5VTEwgJiYgbW9kdWxlID09IE5VTEwgJiYgX1B5T1Nfb3B0aW5kIDwgYXJnYyAmJgogICAgICAgICB3Y3NjbXAoYXJndltfUHlPU19vcHRpbmRdLCBMIi0iKSAhPSAwKQpAQCAtNjMxLDcgKzY0Niw3IEBACiAgICAgICAgICAgICAvKiBVc2VkIGJ5IE1hYy9Ub29scy9weXRob253LmMgdG8gZm9yd2FyZAogICAgICAgICAgICAgICogdGhlIGFyZ3YwIG9mIHRoZSBzdHViIGV4ZWN1dGFibGUKICAgICAgICAgICAgICAqLwotICAgICAgICAgICAgd2NoYXJfdCogd2J1ZiA9IF9QeV9jaGFyMndjaGFyKHB5dmVudl9sYXVuY2hlciwgTlVMTCk7CisgICAgICAgICAgICB3Y2hhcl90KiB3YnVmID0gUHlfRGVjb2RlTG9jYWxlKHB5dmVudl9sYXVuY2hlciwgTlVMTCk7CiAKICAgICAgICAgICAgIGlmICh3YnVmID09IE5VTEwpIHsKICAgICAgICAgICAgICAgICBQeV9GYXRhbEVycm9yKCJDYW5ub3QgZGVjb2RlIF9fUFlWRU5WX0xBVU5DSEVSX18iKTsKQEAgLTY1Miw2ICs2NjcsNyBAQAogICAgIFB5X1NldFByb2dyYW1OYW1lKGFyZ3ZbMF0pOwogI2VuZGlmCiAgICAgUHlfSW5pdGlhbGl6ZSgpOworICAgIFB5X1hERUNSRUYod2FybmluZ19vcHRpb25zKTsKIAogICAgIGlmICghUHlfUXVpZXRGbGFnICYmIChQeV9WZXJib3NlRmxhZyB8fAogICAgICAgICAgICAgICAgICAgICAgICAgKGNvbW1hbmQgPT0gTlVMTCAmJiBmaWxlbmFtZSA9PSBOVUxMICYmCkBAIC03MTMsNyArNzI5LDcgQEAKICAgICAgICAgICAgICAgICBjaGFyICpjZmlsZW5hbWVfYnVmZmVyOwogICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmNmaWxlbmFtZTsKICAgICAgICAgICAgICAgICBpbnQgZXJyID0gZXJybm87Ci0gICAgICAgICAgICAgICAgY2ZpbGVuYW1lX2J1ZmZlciA9IF9QeV93Y2hhcjJjaGFyKGZpbGVuYW1lLCBOVUxMKTsKKyAgICAgICAgICAgICAgICBjZmlsZW5hbWVfYnVmZmVyID0gUHlfRW5jb2RlTG9jYWxlKGZpbGVuYW1lLCBOVUxMKTsKICAgICAgICAgICAgICAgICBpZiAoY2ZpbGVuYW1lX2J1ZmZlciAhPSBOVUxMKQogICAgICAgICAgICAgICAgICAgICBjZmlsZW5hbWUgPSBjZmlsZW5hbWVfYnVmZmVyOwogICAgICAgICAgICAgICAgIGVsc2UKZGlmZiAtLWdpdCBhL01vZHVsZXMvbWF0aG1vZHVsZS5jIGIvTW9kdWxlcy9tYXRobW9kdWxlLmMKaW5kZXggOTEwZDVlYS4uOWM5N2EyYSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9tYXRobW9kdWxlLmMKKysrIGIvTW9kdWxlcy9tYXRobW9kdWxlLmMKQEAgLTIyMyw2ICsyMjMsMzUgQEAKICAgICByZXR1cm4gbnVtL2RlbjsKIH0KIAorLyogQ29uc3RhbnQgZm9yICtpbmZpbml0eSwgZ2VuZXJhdGVkIGluIHRoZSBzYW1lIHdheSBhcyBmbG9hdCgnaW5mJykuICovCisKK3N0YXRpYyBkb3VibGUKK21faW5mKHZvaWQpCit7CisjaWZuZGVmIFBZX05PX1NIT1JUX0ZMT0FUX1JFUFIKKyAgICByZXR1cm4gX1B5X2RnX2luZmluaXR5KDApOworI2Vsc2UKKyAgICByZXR1cm4gUHlfSFVHRV9WQUw7CisjZW5kaWYKK30KKworLyogQ29uc3RhbnQgbmFuIHZhbHVlLCBnZW5lcmF0ZWQgaW4gdGhlIHNhbWUgd2F5IGFzIGZsb2F0KCduYW4nKS4gKi8KKy8qIFdlIGRvbid0IGN1cnJlbnRseSBhc3N1bWUgdGhhdCBQeV9OQU4gaXMgZGVmaW5lZCBldmVyeXdoZXJlLiAqLworCisjaWYgIWRlZmluZWQoUFlfTk9fU0hPUlRfRkxPQVRfUkVQUikgfHwgZGVmaW5lZChQeV9OQU4pCisKK3N0YXRpYyBkb3VibGUKK21fbmFuKHZvaWQpCit7CisjaWZuZGVmIFBZX05PX1NIT1JUX0ZMT0FUX1JFUFIKKyAgICByZXR1cm4gX1B5X2RnX3N0ZG5hbigwKTsKKyNlbHNlCisgICAgcmV0dXJuIFB5X05BTjsKKyNlbmRpZgorfQorCisjZW5kaWYKKwogc3RhdGljIGRvdWJsZQogbV90Z2FtbWEoZG91YmxlIHgpCiB7CkBAIC0xMDEwLDcgKzEwMzksNyBAQAogICAgIFB5X3NzaXplX3QgbSA9ICptX3B0cjsKIAogICAgIG0gKz0gbTsgIC8qIGRvdWJsZSAqLwotICAgIGlmIChuIDwgbSAmJiBtIDwgKFBZX1NTSVpFX1RfTUFYIC8gc2l6ZW9mKGRvdWJsZSkpKSB7CisgICAgaWYgKG4gPCBtICYmIChzaXplX3QpbSA8ICgoc2l6ZV90KVBZX1NTSVpFX1RfTUFYIC8gc2l6ZW9mKGRvdWJsZSkpKSB7CiAgICAgICAgIGRvdWJsZSAqcCA9ICpwX3B0cjsKICAgICAgICAgaWYgKHAgPT0gcHMpIHsKICAgICAgICAgICAgIHYgPSBQeU1lbV9NYWxsb2Moc2l6ZW9mKGRvdWJsZSkgKiBtKTsKQEAgLTE0MDgsNiArMTQzNyw3IEBACiBtYXRoX2ZhY3RvcmlhbChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZykKIHsKICAgICBsb25nIHg7CisgICAgaW50IG92ZXJmbG93OwogICAgIFB5T2JqZWN0ICpyZXN1bHQsICpvZGRfcGFydCwgKnR3b192YWx1YXRpb247CiAKICAgICBpZiAoUHlGbG9hdF9DaGVjayhhcmcpKSB7CkBAIC0xNDIxLDE1ICsxNDUxLDIyIEBACiAgICAgICAgIGx4ID0gUHlMb25nX0Zyb21Eb3VibGUoZHgpOwogICAgICAgICBpZiAobHggPT0gTlVMTCkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICB4ID0gUHlMb25nX0FzTG9uZyhseCk7CisgICAgICAgIHggPSBQeUxvbmdfQXNMb25nQW5kT3ZlcmZsb3cobHgsICZvdmVyZmxvdyk7CiAgICAgICAgIFB5X0RFQ1JFRihseCk7CiAgICAgfQogICAgIGVsc2UKLSAgICAgICAgeCA9IFB5TG9uZ19Bc0xvbmcoYXJnKTsKKyAgICAgICAgeCA9IFB5TG9uZ19Bc0xvbmdBbmRPdmVyZmxvdyhhcmcsICZvdmVyZmxvdyk7CiAKLSAgICBpZiAoeCA9PSAtMSAmJiBQeUVycl9PY2N1cnJlZCgpKQorICAgIGlmICh4ID09IC0xICYmIFB5RXJyX09jY3VycmVkKCkpIHsKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgaWYgKHggPCAwKSB7CisgICAgfQorICAgIGVsc2UgaWYgKG92ZXJmbG93ID09IDEpIHsKKyAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX092ZXJmbG93RXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAiZmFjdG9yaWFsKCkgYXJndW1lbnQgc2hvdWxkIG5vdCBleGNlZWQgJWxkIiwKKyAgICAgICAgICAgICAgICAgICAgIExPTkdfTUFYKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIGVsc2UgaWYgKG92ZXJmbG93ID09IC0xIHx8IHggPCAwKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgImZhY3RvcmlhbCgpIG5vdCBkZWZpbmVkIGZvciBuZWdhdGl2ZSB2YWx1ZXMiKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC0yMDAxLDcgKzIwMzgsMTEgQEAKIAogICAgIFB5TW9kdWxlX0FkZE9iamVjdChtLCAicGkiLCBQeUZsb2F0X0Zyb21Eb3VibGUoUHlfTUFUSF9QSSkpOwogICAgIFB5TW9kdWxlX0FkZE9iamVjdChtLCAiZSIsIFB5RmxvYXRfRnJvbURvdWJsZShQeV9NQVRIX0UpKTsKKyAgICBQeU1vZHVsZV9BZGRPYmplY3QobSwgImluZiIsIFB5RmxvYXRfRnJvbURvdWJsZShtX2luZigpKSk7CisjaWYgIWRlZmluZWQoUFlfTk9fU0hPUlRfRkxPQVRfUkVQUikgfHwgZGVmaW5lZChQeV9OQU4pCisgICAgUHlNb2R1bGVfQWRkT2JqZWN0KG0sICJuYW4iLCBQeUZsb2F0X0Zyb21Eb3VibGUobV9uYW4oKSkpOworI2VuZGlmCiAKLSAgICBmaW5hbGx5OgorICBmaW5hbGx5OgogICAgIHJldHVybiBtOwogfQpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9tZDVtb2R1bGUuYyBiL01vZHVsZXMvbWQ1bW9kdWxlLmMKaW5kZXggNWNiM2QzNi4uNjVmNWMzNSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9tZDVtb2R1bGUuYworKysgYi9Nb2R1bGVzL21kNW1vZHVsZS5jCkBAIC0xOSw2ICsxOSwxMSBAQAogI2luY2x1ZGUgIlB5dGhvbi5oIgogI2luY2x1ZGUgImhhc2hsaWIuaCIKIAorLypbY2xpbmljIGlucHV0XQorbW9kdWxlIF9tZDUKK2NsYXNzIE1ENVR5cGUgIk1ENW9iamVjdCAqIiAiJlB5VHlwZV9UeXBlIgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWRhMzlhM2VlNWU2YjRiMGQgaW5wdXQ9NmU1MjYxNzE5OTU3YTkxMl0qLwogCiAvKiBTb21lIHVzZWZ1bCB0eXBlcyAqLwogCkBAIC0zMzIsMTAgKzMzNywzMyBAQAogCiAvKiBFeHRlcm5hbCBtZXRob2RzIGZvciBhIGhhc2ggb2JqZWN0ICovCiAKLVB5RG9jX1NUUlZBUihNRDVfY29weV9fZG9jX18sICJSZXR1cm4gYSBjb3B5IG9mIHRoZSBoYXNoIG9iamVjdC4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK01ENVR5cGUuY29weQorCitSZXR1cm4gYSBjb3B5IG9mIHRoZSBoYXNoIG9iamVjdC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKE1ENVR5cGVfY29weV9fZG9jX18sCisiY29weSgkc2VsZiwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBhIGNvcHkgb2YgdGhlIGhhc2ggb2JqZWN0LiIpOworCisjZGVmaW5lIE1ENVRZUEVfQ09QWV9NRVRIT0RERUYgICAgXAorICAgIHsiY29weSIsIChQeUNGdW5jdGlvbilNRDVUeXBlX2NvcHksIE1FVEhfTk9BUkdTLCBNRDVUeXBlX2NvcHlfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLU1ENV9jb3B5KE1ENW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnVudXNlZCkKK01ENVR5cGVfY29weV9pbXBsKE1ENW9iamVjdCAqc2VsZik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitNRDVUeXBlX2NvcHkoTUQ1b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBNRDVUeXBlX2NvcHlfaW1wbChzZWxmKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK01ENVR5cGVfY29weV9pbXBsKE1ENW9iamVjdCAqc2VsZikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0zYjNhODg5MjBiM2RjN2Y0IGlucHV0PTJjMDllNmQyNDkzZjMwNzldKi8KIHsKICAgICBNRDVvYmplY3QgKm5ld29iajsKIApAQCAtMzUxLDExICszNzksMzMgQEAKICAgICByZXR1cm4gKFB5T2JqZWN0ICopbmV3b2JqOwogfQogCi1QeURvY19TVFJWQVIoTUQ1X2RpZ2VzdF9fZG9jX18sCisvKltjbGluaWMgaW5wdXRdCitNRDVUeXBlLmRpZ2VzdAorCitSZXR1cm4gdGhlIGRpZ2VzdCB2YWx1ZSBhcyBhIHN0cmluZyBvZiBiaW5hcnkgZGF0YS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKE1ENVR5cGVfZGlnZXN0X19kb2NfXywKKyJkaWdlc3QoJHNlbGYsIC8pXG4iCisiLS1cbiIKKyJcbiIKICJSZXR1cm4gdGhlIGRpZ2VzdCB2YWx1ZSBhcyBhIHN0cmluZyBvZiBiaW5hcnkgZGF0YS4iKTsKIAorI2RlZmluZSBNRDVUWVBFX0RJR0VTVF9NRVRIT0RERUYgICAgXAorICAgIHsiZGlnZXN0IiwgKFB5Q0Z1bmN0aW9uKU1ENVR5cGVfZGlnZXN0LCBNRVRIX05PQVJHUywgTUQ1VHlwZV9kaWdlc3RfX2RvY19ffSwKKwogc3RhdGljIFB5T2JqZWN0ICoKLU1ENV9kaWdlc3QoTUQ1b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdW51c2VkKQorTUQ1VHlwZV9kaWdlc3RfaW1wbChNRDVvYmplY3QgKnNlbGYpOworCitzdGF0aWMgUHlPYmplY3QgKgorTUQ1VHlwZV9kaWdlc3QoTUQ1b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBNRDVUeXBlX2RpZ2VzdF9pbXBsKHNlbGYpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorTUQ1VHlwZV9kaWdlc3RfaW1wbChNRDVvYmplY3QgKnNlbGYpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9N2E3OTZiMjhmYTg5NDg1ZiBpbnB1dD03Yjk2ZTY1Mzg5NDEyYTM0XSovCiB7CiAgICAgdW5zaWduZWQgY2hhciBkaWdlc3RbTUQ1X0RJR0VTVFNJWkVdOwogICAgIHN0cnVjdCBtZDVfc3RhdGUgdGVtcDsKQEAgLTM2NSwxMSArNDE1LDMzIEBACiAgICAgcmV0dXJuIFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoKGNvbnN0IGNoYXIgKilkaWdlc3QsIE1ENV9ESUdFU1RTSVpFKTsKIH0KIAotUHlEb2NfU1RSVkFSKE1ENV9oZXhkaWdlc3RfX2RvY19fLAorLypbY2xpbmljIGlucHV0XQorTUQ1VHlwZS5oZXhkaWdlc3QKKworUmV0dXJuIHRoZSBkaWdlc3QgdmFsdWUgYXMgYSBzdHJpbmcgb2YgaGV4YWRlY2ltYWwgZGlnaXRzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoTUQ1VHlwZV9oZXhkaWdlc3RfX2RvY19fLAorImhleGRpZ2VzdCgkc2VsZiwgLylcbiIKKyItLVxuIgorIlxuIgogIlJldHVybiB0aGUgZGlnZXN0IHZhbHVlIGFzIGEgc3RyaW5nIG9mIGhleGFkZWNpbWFsIGRpZ2l0cy4iKTsKIAorI2RlZmluZSBNRDVUWVBFX0hFWERJR0VTVF9NRVRIT0RERUYgICAgXAorICAgIHsiaGV4ZGlnZXN0IiwgKFB5Q0Z1bmN0aW9uKU1ENVR5cGVfaGV4ZGlnZXN0LCBNRVRIX05PQVJHUywgTUQ1VHlwZV9oZXhkaWdlc3RfX2RvY19ffSwKKwogc3RhdGljIFB5T2JqZWN0ICoKLU1ENV9oZXhkaWdlc3QoTUQ1b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdW51c2VkKQorTUQ1VHlwZV9oZXhkaWdlc3RfaW1wbChNRDVvYmplY3QgKnNlbGYpOworCitzdGF0aWMgUHlPYmplY3QgKgorTUQ1VHlwZV9oZXhkaWdlc3QoTUQ1b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBNRDVUeXBlX2hleGRpZ2VzdF9pbXBsKHNlbGYpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorTUQ1VHlwZV9oZXhkaWdlc3RfaW1wbChNRDVvYmplY3QgKnNlbGYpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZGFhNzM2MDlmOTRmOTJlMSBpbnB1dD1iNjBiMTlkZTY0NDc5OGRkXSovCiB7CiAgICAgdW5zaWduZWQgY2hhciBkaWdlc3RbTUQ1X0RJR0VTVFNJWkVdOwogICAgIHN0cnVjdCBtZDVfc3RhdGUgdGVtcDsKQEAgLTQwMSwxOCArNDczLDMwIEBACiAgICAgcmV0dXJuIHJldHZhbDsKIH0KIAotUHlEb2NfU1RSVkFSKE1ENV91cGRhdGVfX2RvY19fLAotIlVwZGF0ZSB0aGlzIGhhc2ggb2JqZWN0J3Mgc3RhdGUgd2l0aCB0aGUgcHJvdmlkZWQgc3RyaW5nLiIpOworLypbY2xpbmljIGlucHV0XQorTUQ1VHlwZS51cGRhdGUKKworICAgIG9iajogb2JqZWN0CisgICAgLworCitVcGRhdGUgdGhpcyBoYXNoIG9iamVjdCdzIHN0YXRlIHdpdGggdGhlIHByb3ZpZGVkIHN0cmluZy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKE1ENVR5cGVfdXBkYXRlX19kb2NfXywKKyJ1cGRhdGUoJHNlbGYsIG9iaiwgLylcbiIKKyItLVxuIgorIlxuIgorIlVwZGF0ZSB0aGlzIGhhc2ggb2JqZWN0XCdzIHN0YXRlIHdpdGggdGhlIHByb3ZpZGVkIHN0cmluZy4iKTsKKworI2RlZmluZSBNRDVUWVBFX1VQREFURV9NRVRIT0RERUYgICAgXAorICAgIHsidXBkYXRlIiwgKFB5Q0Z1bmN0aW9uKU1ENVR5cGVfdXBkYXRlLCBNRVRIX08sIE1ENVR5cGVfdXBkYXRlX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1NRDVfdXBkYXRlKE1ENW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitNRDVUeXBlX3VwZGF0ZShNRDVvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpvYmopCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9OWQwOWI2YzZjZGM2Y2FjMyBpbnB1dD02ZTFlZmNkOWVjZjE3MDMyXSovCiB7Ci0gICAgUHlPYmplY3QgKm9iajsKICAgICBQeV9idWZmZXIgYnVmOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPOnVwZGF0ZSIsICZvYmopKQotICAgICAgICByZXR1cm4gTlVMTDsKLQogICAgIEdFVF9CVUZGRVJfVklFV19PUl9FUlJPVVQob2JqLCAmYnVmKTsKIAogICAgIG1kNV9wcm9jZXNzKCZzZWxmLT5oYXNoX3N0YXRlLCBidWYuYnVmLCBidWYubGVuKTsKQEAgLTQyMywxMCArNTA3LDEwIEBACiB9CiAKIHN0YXRpYyBQeU1ldGhvZERlZiBNRDVfbWV0aG9kc1tdID0gewotICAgIHsiY29weSIsICAgICAgKFB5Q0Z1bmN0aW9uKU1ENV9jb3B5LCAgICAgIE1FVEhfTk9BUkdTLCAgTUQ1X2NvcHlfX2RvY19ffSwKLSAgICB7ImRpZ2VzdCIsICAgIChQeUNGdW5jdGlvbilNRDVfZGlnZXN0LCAgICBNRVRIX05PQVJHUywgIE1ENV9kaWdlc3RfX2RvY19ffSwKLSAgICB7ImhleGRpZ2VzdCIsIChQeUNGdW5jdGlvbilNRDVfaGV4ZGlnZXN0LCBNRVRIX05PQVJHUywgIE1ENV9oZXhkaWdlc3RfX2RvY19ffSwKLSAgICB7InVwZGF0ZSIsICAgIChQeUNGdW5jdGlvbilNRDVfdXBkYXRlLCAgICBNRVRIX1ZBUkFSR1MsIE1ENV91cGRhdGVfX2RvY19ffSwKKyAgICBNRDVUWVBFX0NPUFlfTUVUSE9EREVGCisgICAgTUQ1VFlQRV9ESUdFU1RfTUVUSE9EREVGCisgICAgTUQ1VFlQRV9IRVhESUdFU1RfTUVUSE9EREVGCisgICAgTUQ1VFlQRV9VUERBVEVfTUVUSE9EREVGCiAgICAge05VTEwsICAgICAgICBOVUxMfSAgICAgICAgIC8qIHNlbnRpbmVsICovCiB9OwogCkBAIC01MDIsMjcgKzU4Niw1NSBAQAogCiAvKiBUaGUgc2luZ2xlIG1vZHVsZS1sZXZlbCBmdW5jdGlvbjogbmV3KCkgKi8KIAotUHlEb2NfU1RSVkFSKE1ENV9uZXdfX2RvY19fLAorLypbY2xpbmljIGlucHV0XQorX21kNS5tZDUKKworICAgIHN0cmluZzogb2JqZWN0KGNfZGVmYXVsdD0iTlVMTCIpID0gYicnCisKK1JldHVybiBhIG5ldyBNRDUgaGFzaCBvYmplY3Q7IG9wdGlvbmFsbHkgaW5pdGlhbGl6ZWQgd2l0aCBhIHN0cmluZy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKF9tZDVfbWQ1X19kb2NfXywKKyJtZDUoJG1vZHVsZSwgLywgc3RyaW5nPWJcJ1wnKVxuIgorIi0tXG4iCisiXG4iCiAiUmV0dXJuIGEgbmV3IE1ENSBoYXNoIG9iamVjdDsgb3B0aW9uYWxseSBpbml0aWFsaXplZCB3aXRoIGEgc3RyaW5nLiIpOwogCisjZGVmaW5lIF9NRDVfTUQ1X01FVEhPRERFRiAgICBcCisgICAgeyJtZDUiLCAoUHlDRnVuY3Rpb24pX21kNV9tZDUsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBfbWQ1X21kNV9fZG9jX199LAorCiBzdGF0aWMgUHlPYmplY3QgKgotTUQ1X25ldyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RpY3QpCitfbWQ1X21kNV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpzdHJpbmcpOworCitzdGF0aWMgUHlPYmplY3QgKgorX21kNV9tZDUoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgc3RhdGljIGNoYXIgKmt3bGlzdFtdID0geyJzdHJpbmciLCBOVUxMfTsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InN0cmluZyIsIE5VTEx9OworICAgIFB5T2JqZWN0ICpzdHJpbmcgPSBOVUxMOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAifE86bWQ1IiwgX2tleXdvcmRzLAorICAgICAgICAmc3RyaW5nKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IF9tZDVfbWQ1X2ltcGwobW9kdWxlLCBzdHJpbmcpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitfbWQ1X21kNV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpzdHJpbmcpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MTAzOWU5MTJkOTE5ODgwZSBpbnB1dD1kMTJlZjhmNzJkNjg0ZjdiXSovCit7CiAgICAgTUQ1b2JqZWN0ICpuZXc7Ci0gICAgUHlPYmplY3QgKmRhdGFfb2JqID0gTlVMTDsKICAgICBQeV9idWZmZXIgYnVmOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkaWN0LCAifE86bmV3Iiwga3dsaXN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZkYXRhX29iaikpIHsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotCi0gICAgaWYgKGRhdGFfb2JqKQotICAgICAgICBHRVRfQlVGRkVSX1ZJRVdfT1JfRVJST1VUKGRhdGFfb2JqLCAmYnVmKTsKKyAgICBpZiAoc3RyaW5nKQorICAgICAgICBHRVRfQlVGRkVSX1ZJRVdfT1JfRVJST1VUKHN0cmluZywgJmJ1Zik7CiAKICAgICBpZiAoKG5ldyA9IG5ld01ENW9iamVjdCgpKSA9PSBOVUxMKSB7Ci0gICAgICAgIGlmIChkYXRhX29iaikKKyAgICAgICAgaWYgKHN0cmluZykKICAgICAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJmJ1Zik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KQEAgLTUzMSwxMSArNjQzLDExIEBACiAKICAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkgewogICAgICAgICBQeV9ERUNSRUYobmV3KTsKLSAgICAgICAgaWYgKGRhdGFfb2JqKQorICAgICAgICBpZiAoc3RyaW5nKQogICAgICAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmYnVmKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIGlmIChkYXRhX29iaikgeworICAgIGlmIChzdHJpbmcpIHsKICAgICAgICAgbWQ1X3Byb2Nlc3MoJm5ldy0+aGFzaF9zdGF0ZSwgYnVmLmJ1ZiwgYnVmLmxlbik7CiAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJmJ1Zik7CiAgICAgfQpAQCAtNTQ3LDcgKzY1OSw3IEBACiAvKiBMaXN0IG9mIGZ1bmN0aW9ucyBleHBvcnRlZCBieSB0aGlzIG1vZHVsZSAqLwogCiBzdGF0aWMgc3RydWN0IFB5TWV0aG9kRGVmIE1ENV9mdW5jdGlvbnNbXSA9IHsKLSAgICB7Im1kNSIsIChQeUNGdW5jdGlvbilNRDVfbmV3LCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgTUQ1X25ld19fZG9jX199LAorICAgIF9NRDVfTUQ1X01FVEhPRERFRgogICAgIHtOVUxMLCAgICAgIE5VTEx9ICAgICAgICAgICAgLyogU2VudGluZWwgKi8KIH07CiAKZGlmZiAtLWdpdCBhL01vZHVsZXMvcG9zaXhtb2R1bGUuYyBiL01vZHVsZXMvcG9zaXhtb2R1bGUuYwppbmRleCA2MjhkZWMyLi4xMThhMzgwIDEwMDY0NAotLS0gYS9Nb2R1bGVzL3Bvc2l4bW9kdWxlLmMKKysrIGIvTW9kdWxlcy9wb3NpeG1vZHVsZS5jCkBAIC02LDcgKzYsNyBAQAogICAgZnVuY3Rpb25zIGFyZSBlaXRoZXIgdW5pbXBsZW1lbnRlZCBvciBpbXBsZW1lbnRlZCBkaWZmZXJlbnRseS4gIFRoZSBzb3VyY2UKICAgIGFzc3VtZXMgdGhhdCBmb3IgV2luZG93cyBOVCwgdGhlIG1hY3JvICdNU19XSU5ET1dTJyBpcyBkZWZpbmVkIGluZGVwZW5kZW50CiAgICBvZiB0aGUgY29tcGlsZXIgdXNlZC4gIERpZmZlcmVudCBjb21waWxlcnMgZGVmaW5lIHRoZWlyIG93biBmZWF0dXJlCi0gICB0ZXN0IG1hY3JvLCBlLmcuICdfX0JPUkxBTkRDX18nIG9yICdfTVNDX1ZFUicuICovCisgICB0ZXN0IG1hY3JvLCBlLmcuICdfTVNDX1ZFUicuICovCiAKIAogCkBAIC0yNyw2ICsyNyw4IEBACiAjaW5jbHVkZSAiUHl0aG9uLmgiCiAjaWZuZGVmIE1TX1dJTkRPV1MKICNpbmNsdWRlICJwb3NpeG1vZHVsZS5oIgorI2Vsc2UKKyNpbmNsdWRlICJ3aW5yZXBhcnNlLmgiCiAjZW5kaWYKIAogI2lmZGVmIF9fY3BsdXNwbHVzCkBAIC0xNDEsMTMgKzE0Myw2IEBACiAjZGVmaW5lIEhBVkVfU1lTVEVNICAgICAxCiAjaW5jbHVkZSA8cHJvY2Vzcy5oPgogI2Vsc2UKLSNpZmRlZiBfX0JPUkxBTkRDX18gICAgICAgICAgICAgLyogQm9ybGFuZCBjb21waWxlciAqLwotI2RlZmluZSBIQVZFX0VYRUNWICAgICAgMQotI2RlZmluZSBIQVZFX09QRU5ESVIgICAgMQotI2RlZmluZSBIQVZFX1BJUEUgICAgICAgMQotI2RlZmluZSBIQVZFX1NZU1RFTSAgICAgMQotI2RlZmluZSBIQVZFX1dBSVQgICAgICAgMQotI2Vsc2UKICNpZmRlZiBfTVNDX1ZFUiAgICAgICAgIC8qIE1pY3Jvc29mdCBjb21waWxlciAqLwogI2RlZmluZSBIQVZFX0dFVFBQSUQgICAgMQogI2RlZmluZSBIQVZFX0dFVExPR0lOICAgMQpAQCAtMTc3LDE0ICsxNzIsMTQgQEAKICNkZWZpbmUgSEFWRV9XQUlUICAgICAgIDEKICNkZWZpbmUgSEFWRV9UVFlOQU1FICAgIDEKICNlbmRpZiAgLyogX01TQ19WRVIgKi8KLSNlbmRpZiAgLyogX19CT1JMQU5EQ19fICovCiAjZW5kaWYgIC8qICEgX19XQVRDT01DX18gfHwgX19RTlhfXyAqLwogCiAKIC8qW2NsaW5pYyBpbnB1dF0KKyMgb25lIG9mIHRoZSBmZXcgdGltZXMgd2UgbGllIGFib3V0IHRoaXMgbmFtZSEKIG1vZHVsZSBvcwogW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwotLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWRhMzlhM2VlNWU2YjRiMGQgaW5wdXQ9OGNmZjA5NmQxMTMzMjg4Zl0qLworLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWRhMzlhM2VlNWU2YjRiMGQgaW5wdXQ9OTRhMGYwZjk3OGFjYWUxN10qLwogCiAjaWZuZGVmIF9NU0NfVkVSCiAKQEAgLTIxMSwxMSArMjA2LDcgQEAKIGV4dGVybiBpbnQgY2hkaXIoY29uc3QgY2hhciAqKTsKIGV4dGVybiBpbnQgcm1kaXIoY29uc3QgY2hhciAqKTsKICNlbmRpZgotI2lmZGVmIF9fQk9STEFORENfXwotZXh0ZXJuIGludCBjaG1vZChjb25zdCBjaGFyICosIGludCk7Ci0jZWxzZQogZXh0ZXJuIGludCBjaG1vZChjb25zdCBjaGFyICosIG1vZGVfdCk7Ci0jZW5kaWYKIC8qI2lmZGVmIEhBVkVfRkNITU9ECiBleHRlcm4gaW50IGZjaG1vZChpbnQsIG1vZGVfdCk7CiAjZW5kaWYqLwpAQCAtMzAxLDYgKzI5Miw5IEBACiAjaWZuZGVmIElPX1JFUEFSU0VfVEFHX1NZTUxJTksKICNkZWZpbmUgSU9fUkVQQVJTRV9UQUdfU1lNTElOSyAoMHhBMDAwMDAwQ0wpCiAjZW5kaWYKKyNpZm5kZWYgSU9fUkVQQVJTRV9UQUdfTU9VTlRfUE9JTlQKKyNkZWZpbmUgSU9fUkVQQVJTRV9UQUdfTU9VTlRfUE9JTlQgKDB4QTAwMDAwMDNMKQorI2VuZGlmCiAjaW5jbHVkZSAib3NkZWZzLmgiCiAjaW5jbHVkZSA8bWFsbG9jLmg+CiAjaW5jbHVkZSA8d2luZG93cy5oPgpAQCAtNzAxLDcgKzY5NSw2IEBACiB9CiAKIAotCiAvKgogICogQSBQeUFyZ19QYXJzZVR1cGxlICJjb252ZXJ0ZXIiIGZ1bmN0aW9uCiAgKiB0aGF0IGhhbmRsZXMgZmlsZXN5c3RlbSBwYXRocyBpbiB0aGUgbWFubmVyCkBAIC03OTcsOCArNzkwLDggQEAKICAgICBQeU9iamVjdCAqY2xlYW51cDsKIH0gcGF0aF90OwogCi0jZGVmaW5lIFBBVEhfVF9JTklUSUFMSVpFKGZ1bmN0aW9uX25hbWUsIG51bGxhYmxlLCBhbGxvd19mZCkgXAotICAgIHtmdW5jdGlvbl9uYW1lLCBOVUxMLCBudWxsYWJsZSwgYWxsb3dfZmQsIE5VTEwsIE5VTEwsIDAsIDAsIE5VTEwsIE5VTEx9CisjZGVmaW5lIFBBVEhfVF9JTklUSUFMSVpFKGZ1bmN0aW9uX25hbWUsIGFyZ3VtZW50X25hbWUsIG51bGxhYmxlLCBhbGxvd19mZCkgXAorICAgIHtmdW5jdGlvbl9uYW1lLCBhcmd1bWVudF9uYW1lLCBudWxsYWJsZSwgYWxsb3dfZmQsIE5VTEwsIE5VTEwsIC0xLCAwLCBOVUxMLCBOVUxMfQogCiBzdGF0aWMgdm9pZAogcGF0aF9jbGVhbnVwKHBhdGhfdCAqcGF0aCkgewpAQCAtOTIwLDggKzkxMyw4IEBACiAjZW5kaWYKIAogICAgIG5hcnJvdyA9IFB5Qnl0ZXNfQVNfU1RSSU5HKGJ5dGVzKTsKLSAgICBpZiAobGVuZ3RoICE9IHN0cmxlbihuYXJyb3cpKSB7Ci0gICAgICAgIEZPUk1BVF9FWENFUFRJT04oUHlFeGNfVmFsdWVFcnJvciwgImVtYmVkZGVkIE5VTCBjaGFyYWN0ZXIgaW4gJXMiKTsKKyAgICBpZiAoKHNpemVfdClsZW5ndGggIT0gc3RybGVuKG5hcnJvdykpIHsKKyAgICAgICAgRk9STUFUX0VYQ0VQVElPTihQeUV4Y19WYWx1ZUVycm9yLCAiZW1iZWRkZWQgbnVsbCBjaGFyYWN0ZXIgaW4gJXMiKTsKICAgICAgICAgUHlfREVDUkVGKGJ5dGVzKTsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQpAQCAtMTAyMiwyMSArMTAxNSwzNSBAQAogICAgIHJldHVybiAwOwogfQogCi0vKiBBIGhlbHBlciB1c2VkIGJ5IGEgbnVtYmVyIG9mIFBPU0lYLW9ubHkgZnVuY3Rpb25zICovCi0jaWZuZGVmIE1TX1dJTkRPV1MKLXN0YXRpYyBpbnQKLV9wYXJzZV9vZmZfdChQeU9iamVjdCogYXJnLCB2b2lkKiBhZGRyKQotewotI2lmICFkZWZpbmVkKEhBVkVfTEFSR0VGSUxFX1NVUFBPUlQpCi0gICAgKigob2ZmX3QqKWFkZHIpID0gUHlMb25nX0FzTG9uZyhhcmcpOworI2lmZGVmIE1TX1dJTkRPV1MKKyAgICB0eXBlZGVmIFBZX0xPTkdfTE9ORyBQeV9vZmZfdDsKICNlbHNlCi0gICAgKigob2ZmX3QqKWFkZHIpID0gUHlMb25nX0FzTG9uZ0xvbmcoYXJnKTsKKyAgICB0eXBlZGVmIG9mZl90IFB5X29mZl90OworI2VuZGlmCisKK3N0YXRpYyBpbnQKK1B5X29mZl90X2NvbnZlcnRlcihQeU9iamVjdCAqYXJnLCB2b2lkICphZGRyKQoreworI2lmZGVmIEhBVkVfTEFSR0VGSUxFX1NVUFBPUlQKKyAgICAqKChQeV9vZmZfdCAqKWFkZHIpID0gUHlMb25nX0FzTG9uZ0xvbmcoYXJnKTsKKyNlbHNlCisgICAgKigoUHlfb2ZmX3QgKilhZGRyKSA9IFB5TG9uZ19Bc0xvbmcoYXJnKTsKICNlbmRpZgogICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKQogICAgICAgICByZXR1cm4gMDsKICAgICByZXR1cm4gMTsKIH0KKworc3RhdGljIFB5T2JqZWN0ICoKK1B5TG9uZ19Gcm9tUHlfb2ZmX3QoUHlfb2ZmX3Qgb2Zmc2V0KQoreworI2lmZGVmIEhBVkVfTEFSR0VGSUxFX1NVUFBPUlQKKyAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nTG9uZyhvZmZzZXQpOworI2Vsc2UKKyAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nKG9mZnNldCk7CiAjZW5kaWYKK30KKwogCiAjaWYgZGVmaW5lZCBfTVNDX1ZFUiAmJiBfTVNDX1ZFUiA+PSAxNDAwCiAvKiBNaWNyb3NvZnQgQ1JUIGluIFZTMjAwNSBhbmQgaGlnaGVyIHdpbGwgdmVyaWZ5IHRoYXQgYSBmaWxlaGFuZGxlIGlzCkBAIC0xMDYyLDE1ICsxMDY5LDMzIEBACiAvKiBUaGUgYWN0dWFsIHNpemUgb2YgdGhlIHN0cnVjdHVyZSBpcyBkZXRlcm1pbmVkIGF0IHJ1bnRpbWUuCiAgKiBPbmx5IHRoZSBmaXJzdCBpdGVtcyBtdXN0IGJlIHByZXNlbnQuCiAgKi8KKworI2lmIF9NU0NfVkVSID49IDE5MDAKKwordHlwZWRlZiBzdHJ1Y3QgeworICAgIENSSVRJQ0FMX1NFQ1RJT04gbG9jazsKKyAgICBpbnRwdHJfdCBvc2ZobmQ7CisgICAgX19pbnQ2NCBzdGFydHBvczsKKyAgICBjaGFyIG9zZmlsZTsKK30gbXlfaW9pbmZvOworCisjZGVmaW5lIElPSU5GT19MMkUgNgorI2RlZmluZSBJT0lORk9fQVJSQVlTIDEyOAorCisjZWxzZQorCiB0eXBlZGVmIHN0cnVjdCB7CiAgICAgaW50cHRyX3Qgb3NmaG5kOwogICAgIGNoYXIgb3NmaWxlOwogfSBteV9pb2luZm87CiAKLWV4dGVybiBfX2RlY2xzcGVjKGRsbGltcG9ydCkgY2hhciAqIF9fcGlvaW5mb1tdOwogI2RlZmluZSBJT0lORk9fTDJFIDUKLSNkZWZpbmUgSU9JTkZPX0FSUkFZX0VMVFMgICAoMSA8PCBJT0lORk9fTDJFKQogI2RlZmluZSBJT0lORk9fQVJSQVlTIDY0CisKKyNlbmRpZgorCitleHRlcm4gX19kZWNsc3BlYyhkbGxpbXBvcnQpIGNoYXIgKiBfX3Bpb2luZm9bXTsKKyNkZWZpbmUgSU9JTkZPX0FSUkFZX0VMVFMgICAoMSA8PCBJT0lORk9fTDJFKQogI2RlZmluZSBfTkhBTkRMRV8gICAgICAgICAgIChJT0lORk9fQVJSQVlTICogSU9JTkZPX0FSUkFZX0VMVFMpCiAjZGVmaW5lIEZPUEVOIDB4MDEKICNkZWZpbmUgX05PX0NPTlNPTEVfRklMRU5PIChpbnRwdHJfdCktMgpAQCAtMTEzMiw0MSArMTE1Nyw2IEBACiAjZW5kaWYKIAogI2lmZGVmIE1TX1dJTkRPV1MKLS8qIFRoZSBmb2xsb3dpbmcgc3RydWN0dXJlIHdhcyBjb3BpZWQgZnJvbQotICAgaHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L21zNzkxNTE0LmFzcHggYXMgdGhlIHJlcXVpcmVkCi0gICBpbmNsdWRlIGRvZXNuJ3Qgc2VlbSB0byBiZSBwcmVzZW50IGluIHRoZSBXaW5kb3dzIFNESyAoYXQgbGVhc3QgYXMgaW5jbHVkZWQKLSAgIHdpdGggVmlzdWFsIFN0dWRpbyBFeHByZXNzKS4gKi8KLXR5cGVkZWYgc3RydWN0IF9SRVBBUlNFX0RBVEFfQlVGRkVSIHsKLSAgICBVTE9ORyBSZXBhcnNlVGFnOwotICAgIFVTSE9SVCBSZXBhcnNlRGF0YUxlbmd0aDsKLSAgICBVU0hPUlQgUmVzZXJ2ZWQ7Ci0gICAgdW5pb24gewotICAgICAgICBzdHJ1Y3QgewotICAgICAgICAgICAgVVNIT1JUIFN1YnN0aXR1dGVOYW1lT2Zmc2V0OwotICAgICAgICAgICAgVVNIT1JUIFN1YnN0aXR1dGVOYW1lTGVuZ3RoOwotICAgICAgICAgICAgVVNIT1JUIFByaW50TmFtZU9mZnNldDsKLSAgICAgICAgICAgIFVTSE9SVCBQcmludE5hbWVMZW5ndGg7Ci0gICAgICAgICAgICBVTE9ORyBGbGFnczsKLSAgICAgICAgICAgIFdDSEFSIFBhdGhCdWZmZXJbMV07Ci0gICAgICAgIH0gU3ltYm9saWNMaW5rUmVwYXJzZUJ1ZmZlcjsKLQotICAgICAgICBzdHJ1Y3QgewotICAgICAgICAgICAgVVNIT1JUIFN1YnN0aXR1dGVOYW1lT2Zmc2V0OwotICAgICAgICAgICAgVVNIT1JUICBTdWJzdGl0dXRlTmFtZUxlbmd0aDsKLSAgICAgICAgICAgIFVTSE9SVCAgUHJpbnROYW1lT2Zmc2V0OwotICAgICAgICAgICAgVVNIT1JUICBQcmludE5hbWVMZW5ndGg7Ci0gICAgICAgICAgICBXQ0hBUiAgUGF0aEJ1ZmZlclsxXTsKLSAgICAgICAgfSBNb3VudFBvaW50UmVwYXJzZUJ1ZmZlcjsKLQotICAgICAgICBzdHJ1Y3QgewotICAgICAgICAgICAgVUNIQVIgIERhdGFCdWZmZXJbMV07Ci0gICAgICAgIH0gR2VuZXJpY1JlcGFyc2VCdWZmZXI7Ci0gICAgfTsKLX0gUkVQQVJTRV9EQVRBX0JVRkZFUiwgKlBSRVBBUlNFX0RBVEFfQlVGRkVSOwotCi0jZGVmaW5lIFJFUEFSU0VfREFUQV9CVUZGRVJfSEVBREVSX1NJWkUgIEZJRUxEX09GRlNFVChSRVBBUlNFX0RBVEFfQlVGRkVSLFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdlbmVyaWNSZXBhcnNlQnVmZmVyKQotI2RlZmluZSBNQVhJTVVNX1JFUEFSU0VfREFUQV9CVUZGRVJfU0laRSAgKCAxNiAqIDEwMjQgKQogCiBzdGF0aWMgaW50CiB3aW4zMl9nZXRfcmVwYXJzZV90YWcoSEFORExFIHJlcGFyc2VfcG9pbnRfaGFuZGxlLCBVTE9ORyAqcmVwYXJzZV90YWcpCkBAIC0xMzUxLDQ3ICsxMzQxLDM2IEBACiAKIC8qIFBPU0lYIGdlbmVyaWMgbWV0aG9kcyAqLwogCi1zdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfZmlsZGVzKFB5T2JqZWN0ICpmZG9iaiwgaW50ICgqZnVuYykoaW50KSkKK3N0YXRpYyBpbnQKK2ZpbGRlc19jb252ZXJ0ZXIoUHlPYmplY3QgKm8sIHZvaWQgKnApCiB7CiAgICAgaW50IGZkOwotICAgIGludCByZXM7Ci0gICAgZmQgPSBQeU9iamVjdF9Bc0ZpbGVEZXNjcmlwdG9yKGZkb2JqKTsKKyAgICBpbnQgKnBvaW50ZXIgPSAoaW50ICopcDsKKyAgICBmZCA9IFB5T2JqZWN0X0FzRmlsZURlc2NyaXB0b3Iobyk7CiAgICAgaWYgKGZkIDwgMCkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgaWYgKCFfUHlWZXJpZnlfZmQoZmQpKQotICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgcmVzID0gKCpmdW5jKShmZCk7Ci0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLSAgICBpZiAocmVzIDwgMCkKLSAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7Ci0gICAgUHlfSU5DUkVGKFB5X05vbmUpOwotICAgIHJldHVybiBQeV9Ob25lOworICAgICAgICByZXR1cm4gMDsKKyAgICBpZiAoIV9QeVZlcmlmeV9mZChmZCkpIHsKKyAgICAgICAgcG9zaXhfZXJyb3IoKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorICAgICpwb2ludGVyID0gZmQ7CisgICAgcmV0dXJuIDE7CiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF8xc3RyKGNvbnN0IGNoYXIgKmZ1bmNfbmFtZSwgUHlPYmplY3QgKmFyZ3MsIGNoYXIgKmZvcm1hdCwKLSAgICAgICAgICAgaW50ICgqZnVuYykoY29uc3QgY2hhciopKQorcG9zaXhfZmlsZGVzX2ZkKGludCBmZCwgaW50ICgqZnVuYykoaW50KSkKIHsKLSAgICBwYXRoX3QgcGF0aDsKICAgICBpbnQgcmVzOwotICAgIG1lbXNldCgmcGF0aCwgMCwgc2l6ZW9mKHBhdGgpKTsKLSAgICBwYXRoLmZ1bmN0aW9uX25hbWUgPSBmdW5jX25hbWU7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIGZvcm1hdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIHJlcyA9ICgqZnVuYykocGF0aC5uYXJyb3cpOwotICAgIFB5X0VORF9BTExPV19USFJFQURTCi0gICAgaWYgKHJlcyA8IDApIHsKLSAgICAgICAgcGF0aF9lcnJvcigmcGF0aCk7Ci0gICAgICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7Ci0gICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KLSAgICBwYXRoX2NsZWFudXAoJnBhdGgpOwotICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKLSAgICByZXR1cm4gUHlfTm9uZTsKKyAgICBpbnQgYXN5bmNfZXJyID0gMDsKKworICAgIGRvIHsKKyAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgICAgICByZXMgPSAoKmZ1bmMpKGZkKTsKKyAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICB9IHdoaWxlIChyZXMgIT0gMCAmJiBlcnJubyA9PSBFSU5UUiAmJiAhKGFzeW5jX2VyciA9IFB5RXJyX0NoZWNrU2lnbmFscygpKSk7CisgICAgaWYgKHJlcyAhPSAwKQorICAgICAgICByZXR1cm4gKCFhc3luY19lcnIpID8gcG9zaXhfZXJyb3IoKSA6IE5VTEw7CisgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAKIApAQCAtMTQ3MCw2ICsxNDQ5LDcgQEAKICAgIFRoZXJlZm9yZSwgd2UgaW1wbGVtZW50IG91ciBvd24gc3RhdCwgYmFzZWQgb24gdGhlIFdpbjMyIEFQSSBkaXJlY3RseS4KICovCiAjZGVmaW5lIEhBVkVfU1RBVF9OU0VDIDEKKyNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVF9TVF9GSUxFX0FUVFJJQlVURVMgMQogCiBzdHJ1Y3Qgd2luMzJfc3RhdHsKICAgICB1bnNpZ25lZCBsb25nIHN0X2RldjsKQEAgLTE0ODYsNiArMTQ2Niw3IEBACiAgICAgaW50IHN0X210aW1lX25zZWM7CiAgICAgdGltZV90IHN0X2N0aW1lOwogICAgIGludCBzdF9jdGltZV9uc2VjOworICAgIHVuc2lnbmVkIGxvbmcgc3RfZmlsZV9hdHRyaWJ1dGVzOwogfTsKIAogc3RhdGljIF9faW50NjQgc2Vjc19iZXR3ZWVuX2Vwb2NocyA9IDExNjQ0NDczNjAwOyAvKiBTZWNvbmRzIGJldHdlZW4gMS4xLjE2MDEgYW5kIDEuMS4xOTcwICovCkBAIC0xNTUwLDYgKzE1MzEsNyBAQAogICAgICAgICAvKiBub3cgc2V0IHRoZSBiaXRzIHRoYXQgbWFrZSB0aGlzIGEgc3ltbGluayAqLwogICAgICAgICByZXN1bHQtPnN0X21vZGUgfD0gU19JRkxOSzsKICAgICB9CisgICAgcmVzdWx0LT5zdF9maWxlX2F0dHJpYnV0ZXMgPSBpbmZvLT5kd0ZpbGVBdHRyaWJ1dGVzOwogCiAgICAgcmV0dXJuIDA7CiB9CkBAIC0yMDE0LDYgKzE5OTYsOSBAQAogI2lmZGVmIEhBVkVfU1RSVUNUX1NUQVRfU1RfQklSVEhUSU1FCiAgICAgeyJzdF9iaXJ0aHRpbWUiLCAgICJ0aW1lIG9mIGNyZWF0aW9uIn0sCiAjZW5kaWYKKyNpZmRlZiBIQVZFX1NUUlVDVF9TVEFUX1NUX0ZJTEVfQVRUUklCVVRFUworICAgIHsic3RfZmlsZV9hdHRyaWJ1dGVzIiwgIldpbmRvd3MgZmlsZSBhdHRyaWJ1dGUgYml0cyJ9LAorI2VuZGlmCiAgICAgezB9CiB9OwogCkBAIC0yMDUzLDYgKzIwMzgsMTIgQEAKICNkZWZpbmUgU1RfQklSVEhUSU1FX0lEWCBTVF9HRU5fSURYCiAjZW5kaWYKIAorI2lmZGVmIEhBVkVfU1RSVUNUX1NUQVRfU1RfRklMRV9BVFRSSUJVVEVTCisjZGVmaW5lIFNUX0ZJTEVfQVRUUklCVVRFU19JRFggKFNUX0JJUlRIVElNRV9JRFgrMSkKKyNlbHNlCisjZGVmaW5lIFNUX0ZJTEVfQVRUUklCVVRFU19JRFggU1RfQklSVEhUSU1FX0lEWAorI2VuZGlmCisKIHN0YXRpYyBQeVN0cnVjdFNlcXVlbmNlX0Rlc2Mgc3RhdF9yZXN1bHRfZGVzYyA9IHsKICAgICAic3RhdF9yZXN1bHQiLCAvKiBuYW1lICovCiAgICAgc3RhdF9yZXN1bHRfX2RvY19fLCAvKiBkb2MgKi8KQEAgLTIxNTQsMTAgKzIxNDUsMTIgQEAKIFB5RG9jX1NUUlZBUihzdGF0X2Zsb2F0X3RpbWVzX19kb2NfXywKICJzdGF0X2Zsb2F0X3RpbWVzKFtuZXd2YWxdKSAtPiBvbGR2YWxcblxuXAogRGV0ZXJtaW5lIHdoZXRoZXIgb3MuW2xmXXN0YXQgcmVwcmVzZW50cyB0aW1lIHN0YW1wcyBhcyBmbG9hdCBvYmplY3RzLlxuXAotSWYgbmV3dmFsIGlzIFRydWUsIGZ1dHVyZSBjYWxscyB0byBzdGF0KCkgcmV0dXJuIGZsb2F0cywgaWYgaXQgaXMgRmFsc2UsXG5cCi1mdXR1cmUgY2FsbHMgcmV0dXJuIGludHMuIFxuXAotSWYgbmV3dmFsIGlzIG9taXR0ZWQsIHJldHVybiB0aGUgY3VycmVudCBzZXR0aW5nLlxuIik7CitcblwKK0lmIHZhbHVlIGlzIFRydWUsIGZ1dHVyZSBjYWxscyB0byBzdGF0KCkgcmV0dXJuIGZsb2F0czsgaWYgaXQgaXMgRmFsc2UsXG5cCitmdXR1cmUgY2FsbHMgcmV0dXJuIGludHMuXG5cCitJZiB2YWx1ZSBpcyBvbWl0dGVkLCByZXR1cm4gdGhlIGN1cnJlbnQgc2V0dGluZy5cbiIpOwogCisvKiBBQyAzLjU6IHRoZSBwdWJsaWMgZGVmYXVsdCB2YWx1ZSBzaG91bGQgYmUgTm9uZSwgbm90IHJlYWR5IGZvciB0aGF0IHlldCAqLwogc3RhdGljIFB5T2JqZWN0Kgogc3RhdF9mbG9hdF90aW1lcyhQeU9iamVjdCogc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7CkBAIC0yMzE3LDYgKzIzMTAsMTAgQEAKICAgICBQeVN0cnVjdFNlcXVlbmNlX1NFVF9JVEVNKHYsIFNUX0ZMQUdTX0lEWCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5TG9uZ19Gcm9tTG9uZygobG9uZylzdC0+c3RfZmxhZ3MpKTsKICNlbmRpZgorI2lmZGVmIEhBVkVfU1RSVUNUX1NUQVRfU1RfRklMRV9BVFRSSUJVVEVTCisgICAgUHlTdHJ1Y3RTZXF1ZW5jZV9TRVRfSVRFTSh2LCBTVF9GSUxFX0FUVFJJQlVURVNfSURYLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlMb25nX0Zyb21VbnNpZ25lZExvbmcoc3QtPnN0X2ZpbGVfYXR0cmlidXRlcykpOworI2VuZGlmCiAKICAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkgewogICAgICAgICBQeV9ERUNSRUYodik7CkBAIC0yMzgwLDExICsyMzc3LDE3NiBAQAogICAgIHJldHVybiBfcHlzdGF0X2Zyb21zdHJ1Y3RzdGF0KCZzdCk7CiB9CiAKLSNpZmRlZiBIQVZFX0ZTVEFUQVQKLSAgICAjZGVmaW5lIE9TX1NUQVRfRElSX0ZEX0NPTlZFUlRFUiBkaXJfZmRfY29udmVydGVyCisvKltweXRob24gaW5wdXRdCisKK2ZvciBzIGluICIiIgorCitGQUNDRVNTQVQKK0ZDSE1PREFUCitGQ0hPV05BVAorRlNUQVRBVAorTElOS0FUCitNS0RJUkFUCitNS0ZJRk9BVAorTUtOT0RBVAorT1BFTkFUCitSRUFETElOS0FUCitTWU1MSU5LQVQKK1VOTElOS0FUCisKKyIiIi5zdHJpcCgpLnNwbGl0KCk6CisgICAgcyA9IHMuc3RyaXAoKQorICAgIHByaW50KCIiIgorI2lmZGVmIEhBVkVfe3N9CisgICAgI2RlZmluZSB7c31fRElSX0ZEX0NPTlZFUlRFUiBkaXJfZmRfY29udmVydGVyCiAjZWxzZQotICAgICNkZWZpbmUgT1NfU1RBVF9ESVJfRkRfQ09OVkVSVEVSIGRpcl9mZF91bmF2YWlsYWJsZQorICAgICNkZWZpbmUge3N9X0RJUl9GRF9DT05WRVJURVIgZGlyX2ZkX3VuYXZhaWxhYmxlCiAjZW5kaWYKKyIiIi5yc3RyaXAoKS5mb3JtYXQocz1zKSkKKworZm9yIHMgaW4gIiIiCisKK0ZDSERJUgorRkNITU9ECitGQ0hPV04KK0ZET1BFTkRJUgorRkVYRUNWRQorRlBBVEhDT05GCitGU1RBVFZGUworRlRSVU5DQVRFCisKKyIiIi5zdHJpcCgpLnNwbGl0KCk6CisgICAgcyA9IHMuc3RyaXAoKQorICAgIHByaW50KCIiIgorI2lmZGVmIEhBVkVfe3N9CisgICAgI2RlZmluZSBQQVRIX0hBVkVfe3N9IDEKKyNlbHNlCisgICAgI2RlZmluZSBQQVRIX0hBVkVfe3N9IDAKKyNlbmRpZgorCisiIiIucnN0cmlwKCkuZm9ybWF0KHM9cykpCitbcHl0aG9uIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKKyNpZmRlZiBIQVZFX0ZBQ0NFU1NBVAorICAgICNkZWZpbmUgRkFDQ0VTU0FUX0RJUl9GRF9DT05WRVJURVIgZGlyX2ZkX2NvbnZlcnRlcgorI2Vsc2UKKyAgICAjZGVmaW5lIEZBQ0NFU1NBVF9ESVJfRkRfQ09OVkVSVEVSIGRpcl9mZF91bmF2YWlsYWJsZQorI2VuZGlmCisKKyNpZmRlZiBIQVZFX0ZDSE1PREFUCisgICAgI2RlZmluZSBGQ0hNT0RBVF9ESVJfRkRfQ09OVkVSVEVSIGRpcl9mZF9jb252ZXJ0ZXIKKyNlbHNlCisgICAgI2RlZmluZSBGQ0hNT0RBVF9ESVJfRkRfQ09OVkVSVEVSIGRpcl9mZF91bmF2YWlsYWJsZQorI2VuZGlmCisKKyNpZmRlZiBIQVZFX0ZDSE9XTkFUCisgICAgI2RlZmluZSBGQ0hPV05BVF9ESVJfRkRfQ09OVkVSVEVSIGRpcl9mZF9jb252ZXJ0ZXIKKyNlbHNlCisgICAgI2RlZmluZSBGQ0hPV05BVF9ESVJfRkRfQ09OVkVSVEVSIGRpcl9mZF91bmF2YWlsYWJsZQorI2VuZGlmCisKKyNpZmRlZiBIQVZFX0ZTVEFUQVQKKyAgICAjZGVmaW5lIEZTVEFUQVRfRElSX0ZEX0NPTlZFUlRFUiBkaXJfZmRfY29udmVydGVyCisjZWxzZQorICAgICNkZWZpbmUgRlNUQVRBVF9ESVJfRkRfQ09OVkVSVEVSIGRpcl9mZF91bmF2YWlsYWJsZQorI2VuZGlmCisKKyNpZmRlZiBIQVZFX0xJTktBVAorICAgICNkZWZpbmUgTElOS0FUX0RJUl9GRF9DT05WRVJURVIgZGlyX2ZkX2NvbnZlcnRlcgorI2Vsc2UKKyAgICAjZGVmaW5lIExJTktBVF9ESVJfRkRfQ09OVkVSVEVSIGRpcl9mZF91bmF2YWlsYWJsZQorI2VuZGlmCisKKyNpZmRlZiBIQVZFX01LRElSQVQKKyAgICAjZGVmaW5lIE1LRElSQVRfRElSX0ZEX0NPTlZFUlRFUiBkaXJfZmRfY29udmVydGVyCisjZWxzZQorICAgICNkZWZpbmUgTUtESVJBVF9ESVJfRkRfQ09OVkVSVEVSIGRpcl9mZF91bmF2YWlsYWJsZQorI2VuZGlmCisKKyNpZmRlZiBIQVZFX01LRklGT0FUCisgICAgI2RlZmluZSBNS0ZJRk9BVF9ESVJfRkRfQ09OVkVSVEVSIGRpcl9mZF9jb252ZXJ0ZXIKKyNlbHNlCisgICAgI2RlZmluZSBNS0ZJRk9BVF9ESVJfRkRfQ09OVkVSVEVSIGRpcl9mZF91bmF2YWlsYWJsZQorI2VuZGlmCisKKyNpZmRlZiBIQVZFX01LTk9EQVQKKyAgICAjZGVmaW5lIE1LTk9EQVRfRElSX0ZEX0NPTlZFUlRFUiBkaXJfZmRfY29udmVydGVyCisjZWxzZQorICAgICNkZWZpbmUgTUtOT0RBVF9ESVJfRkRfQ09OVkVSVEVSIGRpcl9mZF91bmF2YWlsYWJsZQorI2VuZGlmCisKKyNpZmRlZiBIQVZFX09QRU5BVAorICAgICNkZWZpbmUgT1BFTkFUX0RJUl9GRF9DT05WRVJURVIgZGlyX2ZkX2NvbnZlcnRlcgorI2Vsc2UKKyAgICAjZGVmaW5lIE9QRU5BVF9ESVJfRkRfQ09OVkVSVEVSIGRpcl9mZF91bmF2YWlsYWJsZQorI2VuZGlmCisKKyNpZmRlZiBIQVZFX1JFQURMSU5LQVQKKyAgICAjZGVmaW5lIFJFQURMSU5LQVRfRElSX0ZEX0NPTlZFUlRFUiBkaXJfZmRfY29udmVydGVyCisjZWxzZQorICAgICNkZWZpbmUgUkVBRExJTktBVF9ESVJfRkRfQ09OVkVSVEVSIGRpcl9mZF91bmF2YWlsYWJsZQorI2VuZGlmCisKKyNpZmRlZiBIQVZFX1NZTUxJTktBVAorICAgICNkZWZpbmUgU1lNTElOS0FUX0RJUl9GRF9DT05WRVJURVIgZGlyX2ZkX2NvbnZlcnRlcgorI2Vsc2UKKyAgICAjZGVmaW5lIFNZTUxJTktBVF9ESVJfRkRfQ09OVkVSVEVSIGRpcl9mZF91bmF2YWlsYWJsZQorI2VuZGlmCisKKyNpZmRlZiBIQVZFX1VOTElOS0FUCisgICAgI2RlZmluZSBVTkxJTktBVF9ESVJfRkRfQ09OVkVSVEVSIGRpcl9mZF9jb252ZXJ0ZXIKKyNlbHNlCisgICAgI2RlZmluZSBVTkxJTktBVF9ESVJfRkRfQ09OVkVSVEVSIGRpcl9mZF91bmF2YWlsYWJsZQorI2VuZGlmCisKKyNpZmRlZiBIQVZFX0ZDSERJUgorICAgICNkZWZpbmUgUEFUSF9IQVZFX0ZDSERJUiAxCisjZWxzZQorICAgICNkZWZpbmUgUEFUSF9IQVZFX0ZDSERJUiAwCisjZW5kaWYKKworI2lmZGVmIEhBVkVfRkNITU9ECisgICAgI2RlZmluZSBQQVRIX0hBVkVfRkNITU9EIDEKKyNlbHNlCisgICAgI2RlZmluZSBQQVRIX0hBVkVfRkNITU9EIDAKKyNlbmRpZgorCisjaWZkZWYgSEFWRV9GQ0hPV04KKyAgICAjZGVmaW5lIFBBVEhfSEFWRV9GQ0hPV04gMQorI2Vsc2UKKyAgICAjZGVmaW5lIFBBVEhfSEFWRV9GQ0hPV04gMAorI2VuZGlmCisKKyNpZmRlZiBIQVZFX0ZET1BFTkRJUgorICAgICNkZWZpbmUgUEFUSF9IQVZFX0ZET1BFTkRJUiAxCisjZWxzZQorICAgICNkZWZpbmUgUEFUSF9IQVZFX0ZET1BFTkRJUiAwCisjZW5kaWYKKworI2lmZGVmIEhBVkVfRkVYRUNWRQorICAgICNkZWZpbmUgUEFUSF9IQVZFX0ZFWEVDVkUgMQorI2Vsc2UKKyAgICAjZGVmaW5lIFBBVEhfSEFWRV9GRVhFQ1ZFIDAKKyNlbmRpZgorCisjaWZkZWYgSEFWRV9GUEFUSENPTkYKKyAgICAjZGVmaW5lIFBBVEhfSEFWRV9GUEFUSENPTkYgMQorI2Vsc2UKKyAgICAjZGVmaW5lIFBBVEhfSEFWRV9GUEFUSENPTkYgMAorI2VuZGlmCisKKyNpZmRlZiBIQVZFX0ZTVEFUVkZTCisgICAgI2RlZmluZSBQQVRIX0hBVkVfRlNUQVRWRlMgMQorI2Vsc2UKKyAgICAjZGVmaW5lIFBBVEhfSEFWRV9GU1RBVFZGUyAwCisjZW5kaWYKKworI2lmZGVmIEhBVkVfRlRSVU5DQVRFCisgICAgI2RlZmluZSBQQVRIX0hBVkVfRlRSVU5DQVRFIDEKKyNlbHNlCisgICAgI2RlZmluZSBQQVRIX0hBVkVfRlRSVU5DQVRFIDAKKyNlbmRpZgorLypbcHl0aG9uIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTRiZDRmNmY3ZDQxMjY3ZjEgaW5wdXQ9ODBiNGM4OTBiNjc3NGVhNV0qLwogCiAKIC8qW3B5dGhvbiBpbnB1dF0KQEAgLTI0MDAsMjIgKzI1NjIsMjUgQEAKICAgICBkZWYgY29udmVydGVyX2luaXQoc2VsZiwgKiwgYWxsb3dfZmQ9RmFsc2UsIG51bGxhYmxlPUZhbHNlKToKICAgICAgICAgIyByaWdodCBub3cgcGF0aF90IGRvZXNuJ3Qgc3VwcG9ydCBkZWZhdWx0IHZhbHVlcy4KICAgICAgICAgIyB0byBzdXBwb3J0IGEgZGVmYXVsdCB2YWx1ZSwgeW91J2xsIG5lZWQgdG8gb3ZlcnJpZGUgaW5pdGlhbGl6ZSgpLgotICAgICAgICBpZiBzZWxmLmRlZmF1bHQgaXMgbm90IHVuc3BlY2lmaWVkOgorICAgICAgICBpZiBzZWxmLmRlZmF1bHQgbm90IGluICh1bnNwZWNpZmllZCwgTm9uZSk6CiAgICAgICAgICAgICBmYWlsKCJDYW4ndCBzcGVjaWZ5IGEgZGVmYXVsdCB0byB0aGUgcGF0aF90IGNvbnZlcnRlciEiKQogCi0gICAgICAgIGlmIHNlbGYuY19kZWZhdWx0IGlzIG5vdCBOb25lOgotICAgICAgICAgICAgZmFpbCgiQ2FuJ3Qgc3BlY2lmeSBhIGNfZGVmYXVsdCB0byB0aGUgcGF0aF90IGNvbnZlcnRlciEiKQorICAgICAgICBpZiBzZWxmLmNfZGVmYXVsdCBub3QgaW4gKE5vbmUsICdQeV9Ob25lJyk6CisgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoIkNhbid0IHNwZWNpZnkgYSBjX2RlZmF1bHQgdG8gdGhlIHBhdGhfdCBjb252ZXJ0ZXIhIikKIAogICAgICAgICBzZWxmLm51bGxhYmxlID0gbnVsbGFibGUKICAgICAgICAgc2VsZi5hbGxvd19mZCA9IGFsbG93X2ZkCiAKICAgICBkZWYgcHJlX3JlbmRlcihzZWxmKToKICAgICAgICAgZGVmIHN0cmlmeSh2YWx1ZSk6CisgICAgICAgICAgICBpZiBpc2luc3RhbmNlKHZhbHVlLCBzdHIpOgorICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZQogICAgICAgICAgICAgcmV0dXJuIHN0cihpbnQoYm9vbCh2YWx1ZSkpKQogCiAgICAgICAgICMgYWRkIHNlbGYucHlfbmFtZSBoZXJlIHdoZW4gbWVyZ2luZyB3aXRoIHBvc2l4bW9kdWxlIGNvbnZlcnNpb24KLSAgICAgICAgc2VsZi5jX2RlZmF1bHQgPSAnUEFUSF9UX0lOSVRJQUxJWkUoInt9Iiwge30sIHt9KScuZm9ybWF0KAorICAgICAgICBzZWxmLmNfZGVmYXVsdCA9ICdQQVRIX1RfSU5JVElBTElaRSgie30iLCAie30iLCB7fSwge30pJy5mb3JtYXQoCiAgICAgICAgICAgICBzZWxmLmZ1bmN0aW9uLm5hbWUsCisgICAgICAgICAgICBzZWxmLm5hbWUsCiAgICAgICAgICAgICBzdHJpZnkoc2VsZi5udWxsYWJsZSksCiAgICAgICAgICAgICBzdHJpZnkoc2VsZi5hbGxvd19mZCksCiAgICAgICAgICAgICApCkBAIC0yNDI2LDE1ICsyNTkxLDg3IEBACiAKIGNsYXNzIGRpcl9mZF9jb252ZXJ0ZXIoQ0NvbnZlcnRlcik6CiAgICAgdHlwZSA9ICdpbnQnCi0gICAgY29udmVydGVyID0gJ09TX1NUQVRfRElSX0ZEX0NPTlZFUlRFUicKIAotICAgIGRlZiBjb252ZXJ0ZXJfaW5pdChzZWxmKToKKyAgICBkZWYgY29udmVydGVyX2luaXQoc2VsZiwgcmVxdWlyZXM9Tm9uZSk6CiAgICAgICAgIGlmIHNlbGYuZGVmYXVsdCBpbiAodW5zcGVjaWZpZWQsIE5vbmUpOgogICAgICAgICAgICAgc2VsZi5jX2RlZmF1bHQgPSAnREVGQVVMVF9ESVJfRkQnCisgICAgICAgIGlmIGlzaW5zdGFuY2UocmVxdWlyZXMsIHN0cik6CisgICAgICAgICAgICBzZWxmLmNvbnZlcnRlciA9IHJlcXVpcmVzLnVwcGVyKCkgKyAnX0RJUl9GRF9DT05WRVJURVInCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLmNvbnZlcnRlciA9ICdkaXJfZmRfY29udmVydGVyJwogCitjbGFzcyBmaWxkZXNfY29udmVydGVyKENDb252ZXJ0ZXIpOgorICAgIHR5cGUgPSAnaW50JworICAgIGNvbnZlcnRlciA9ICdmaWxkZXNfY29udmVydGVyJworCitjbGFzcyB1aWRfdF9jb252ZXJ0ZXIoQ0NvbnZlcnRlcik6CisgICAgdHlwZSA9ICJ1aWRfdCIKKyAgICBjb252ZXJ0ZXIgPSAnX1B5X1VpZF9Db252ZXJ0ZXInCisKK2NsYXNzIGdpZF90X2NvbnZlcnRlcihDQ29udmVydGVyKToKKyAgICB0eXBlID0gImdpZF90IgorICAgIGNvbnZlcnRlciA9ICdfUHlfR2lkX0NvbnZlcnRlcicKKworY2xhc3MgZGV2X3RfY29udmVydGVyKENDb252ZXJ0ZXIpOgorICAgIHR5cGUgPSAnZGV2X3QnCisgICAgY29udmVydGVyID0gJ19QeV9EZXZfQ29udmVydGVyJworCitjbGFzcyBkZXZfdF9yZXR1cm5fY29udmVydGVyKHVuc2lnbmVkX2xvbmdfcmV0dXJuX2NvbnZlcnRlcik6CisgICAgdHlwZSA9ICdkZXZfdCcKKyAgICBjb252ZXJzaW9uX2ZuID0gJ19QeUxvbmdfRnJvbURldicKKyAgICB1bnNpZ25lZF9jYXN0ID0gJyhkZXZfdCknCisKK2NsYXNzIEZTQ29udmVydGVyX2NvbnZlcnRlcihDQ29udmVydGVyKToKKyAgICB0eXBlID0gJ1B5T2JqZWN0IConCisgICAgY29udmVydGVyID0gJ1B5VW5pY29kZV9GU0NvbnZlcnRlcicKKyAgICBkZWYgY29udmVydGVyX2luaXQoc2VsZik6CisgICAgICAgIGlmIHNlbGYuZGVmYXVsdCBpcyBub3QgdW5zcGVjaWZpZWQ6CisgICAgICAgICAgICBmYWlsKCJGU0NvbnZlcnRlcl9jb252ZXJ0ZXIgZG9lcyBub3Qgc3VwcG9ydCBkZWZhdWx0IHZhbHVlcyIpCisgICAgICAgIHNlbGYuY19kZWZhdWx0ID0gJ05VTEwnCisKKyAgICBkZWYgY2xlYW51cChzZWxmKToKKyAgICAgICAgcmV0dXJuICJQeV9YREVDUkVGKCIgKyBzZWxmLm5hbWUgKyAiKTtcbiIKKworY2xhc3MgcGlkX3RfY29udmVydGVyKENDb252ZXJ0ZXIpOgorICAgIHR5cGUgPSAncGlkX3QnCisgICAgZm9ybWF0X3VuaXQgPSAnIiBfUHlfUEFSU0VfUElEICInCisKK2NsYXNzIGlkdHlwZV90X2NvbnZlcnRlcihpbnRfY29udmVydGVyKToKKyAgICB0eXBlID0gJ2lkdHlwZV90JworCitjbGFzcyBpZF90X2NvbnZlcnRlcihDQ29udmVydGVyKToKKyAgICB0eXBlID0gJ2lkX3QnCisgICAgZm9ybWF0X3VuaXQgPSAnIiBfUHlfUEFSU0VfUElEICInCisKK2NsYXNzIFB5X2ludHB0cl90X2NvbnZlcnRlcihDQ29udmVydGVyKToKKyAgICB0eXBlID0gJ1B5X2ludHB0cl90JworICAgIGZvcm1hdF91bml0ID0gJyIgX1B5X1BBUlNFX0lOVFBUUiAiJworCitjbGFzcyBQeV9vZmZfdF9jb252ZXJ0ZXIoQ0NvbnZlcnRlcik6CisgICAgdHlwZSA9ICdQeV9vZmZfdCcKKyAgICBjb252ZXJ0ZXIgPSAnUHlfb2ZmX3RfY29udmVydGVyJworCitjbGFzcyBQeV9vZmZfdF9yZXR1cm5fY29udmVydGVyKGxvbmdfcmV0dXJuX2NvbnZlcnRlcik6CisgICAgdHlwZSA9ICdQeV9vZmZfdCcKKyAgICBjb252ZXJzaW9uX2ZuID0gJ1B5TG9uZ19Gcm9tUHlfb2ZmX3QnCisKK2NsYXNzIHBhdGhfY29uZm5hbWVfY29udmVydGVyKENDb252ZXJ0ZXIpOgorICAgIHR5cGU9ImludCIKKyAgICBjb252ZXJ0ZXI9ImNvbnZfcGF0aF9jb25mbmFtZSIKKworY2xhc3MgY29uZnN0cl9jb25mbmFtZV9jb252ZXJ0ZXIocGF0aF9jb25mbmFtZV9jb252ZXJ0ZXIpOgorICAgIGNvbnZlcnRlcj0nY29udl9jb25mc3RyX2NvbmZuYW1lJworCitjbGFzcyBzeXNjb25mX2NvbmZuYW1lX2NvbnZlcnRlcihwYXRoX2NvbmZuYW1lX2NvbnZlcnRlcik6CisgICAgY29udmVydGVyPSJjb252X3N5c2NvbmZfY29uZm5hbWUiCisKK2NsYXNzIHNjaGVkX3BhcmFtX2NvbnZlcnRlcihDQ29udmVydGVyKToKKyAgICB0eXBlID0gJ3N0cnVjdCBzY2hlZF9wYXJhbScKKyAgICBjb252ZXJ0ZXIgPSAnY29udmVydF9zY2hlZF9wYXJhbScKKyAgICBpbXBsX2J5X3JlZmVyZW5jZSA9IFRydWU7CiAKIFtweXRob24gc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KLS8qW3B5dGhvbiBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kYTM5YTNlZTVlNmI0YjBkIGlucHV0PTVjOWY0NTZmNTMyNDRmYzNdKi8KKy8qW3B5dGhvbiBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kYTM5YTNlZTVlNmI0YjBkIGlucHV0PWFmZmU2ODMxNmYxNjA0MDFdKi8KIAogLypbY2xpbmljIGlucHV0XQogCkBAIC0yNDQ1LDcgKzI2ODIsNyBAQAogCiAgICAgKgogCi0gICAgZGlyX2ZkIDogZGlyX2ZkID0gTm9uZQorICAgIGRpcl9mZCA6IGRpcl9mZChyZXF1aXJlcz0nZnN0YXRhdCcpID0gTm9uZQogICAgICAgICBJZiBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZSBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksCiAgICAgICAgIGFuZCBwYXRoIHNob3VsZCBiZSBhIHJlbGF0aXZlIHN0cmluZzsgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8KICAgICAgICAgdGhhdCBkaXJlY3RvcnkuCkBAIC0yNTAxLDEzICsyNzM4LDEzIEBACiB7CiAgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CiAgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJwYXRoIiwgImRpcl9mZCIsICJmb2xsb3dfc3ltbGlua3MiLCBOVUxMfTsKLSAgICBwYXRoX3QgcGF0aCA9IFBBVEhfVF9JTklUSUFMSVpFKCJzdGF0IiwgMCwgMSk7CisgICAgcGF0aF90IHBhdGggPSBQQVRIX1RfSU5JVElBTElaRSgic3RhdCIsICJwYXRoIiwgMCwgMSk7CiAgICAgaW50IGRpcl9mZCA9IERFRkFVTFRfRElSX0ZEOwogICAgIGludCBmb2xsb3dfc3ltbGlua3MgPSAxOwogCiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAogICAgICAgICAiTyZ8JE8mcDpzdGF0IiwgX2tleXdvcmRzLAotICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsIE9TX1NUQVRfRElSX0ZEX0NPTlZFUlRFUiwgJmRpcl9mZCwgJmZvbGxvd19zeW1saW5rcykpCisgICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwgRlNUQVRBVF9ESVJfRkRfQ09OVkVSVEVSLCAmZGlyX2ZkLCAmZm9sbG93X3N5bWxpbmtzKSkKICAgICAgICAgZ290byBleGl0OwogICAgIHJldHVybl92YWx1ZSA9IG9zX3N0YXRfaW1wbChtb2R1bGUsICZwYXRoLCBkaXJfZmQsIGZvbGxvd19zeW1saW5rcyk7CiAKQEAgLTI1MjAsNDkgKzI3NTcsNzQgQEAKIAogc3RhdGljIFB5T2JqZWN0ICoKIG9zX3N0YXRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIGludCBkaXJfZmQsIGludCBmb2xsb3dfc3ltbGlua3MpCi0vKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZjFkY2FhNWUyNGRiOTg4MiBpbnB1dD01YWUxNTViZDQ3NWZkMjBhXSovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MGU5Zjk1MDhmYTBjMDYwNyBpbnB1dD0wOTlkMzU2YzMwNmZhMjRhXSovCiB7CiAgICAgcmV0dXJuIHBvc2l4X2RvX3N0YXQoInN0YXQiLCBwYXRoLCBkaXJfZmQsIGZvbGxvd19zeW1saW5rcyk7CiB9CiAKLVB5RG9jX1NUUlZBUihwb3NpeF9sc3RhdF9fZG9jX18sCi0ibHN0YXQocGF0aCwgKiwgZGlyX2ZkPU5vbmUpIC0+IHN0YXQgcmVzdWx0XG5cblwKLUxpa2Ugc3RhdCgpLCBidXQgZG8gbm90IGZvbGxvdyBzeW1ib2xpYyBsaW5rcy5cblwKLUVxdWl2YWxlbnQgdG8gc3RhdChwYXRoLCBmb2xsb3dfc3ltbGlua3M9RmFsc2UpLiIpOworCisvKltjbGluaWMgaW5wdXRdCitvcy5sc3RhdAorCisgICAgcGF0aCA6IHBhdGhfdAorCisgICAgKgorCisgICAgZGlyX2ZkIDogZGlyX2ZkKHJlcXVpcmVzPSdmc3RhdGF0JykgPSBOb25lCisKK1BlcmZvcm0gYSBzdGF0IHN5c3RlbSBjYWxsIG9uIHRoZSBnaXZlbiBwYXRoLCB3aXRob3V0IGZvbGxvd2luZyBzeW1ib2xpYyBsaW5rcy4KKworTGlrZSBzdGF0KCksIGJ1dCBkbyBub3QgZm9sbG93IHN5bWJvbGljIGxpbmtzLgorRXF1aXZhbGVudCB0byBzdGF0KHBhdGgsIGZvbGxvd19zeW1saW5rcz1GYWxzZSkuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19sc3RhdF9fZG9jX18sCisibHN0YXQoJG1vZHVsZSwgLywgcGF0aCwgKiwgZGlyX2ZkPU5vbmUpXG4iCisiLS1cbiIKKyJcbiIKKyJQZXJmb3JtIGEgc3RhdCBzeXN0ZW0gY2FsbCBvbiB0aGUgZ2l2ZW4gcGF0aCwgd2l0aG91dCBmb2xsb3dpbmcgc3ltYm9saWMgbGlua3MuXG4iCisiXG4iCisiTGlrZSBzdGF0KCksIGJ1dCBkbyBub3QgZm9sbG93IHN5bWJvbGljIGxpbmtzLlxuIgorIkVxdWl2YWxlbnQgdG8gc3RhdChwYXRoLCBmb2xsb3dfc3ltbGlua3M9RmFsc2UpLiIpOworCisjZGVmaW5lIE9TX0xTVEFUX01FVEhPRERFRiAgICBcCisgICAgeyJsc3RhdCIsIChQeUNGdW5jdGlvbilvc19sc3RhdCwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX2xzdGF0X19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9sc3RhdChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCi17Ci0gICAgc3RhdGljIGNoYXIgKmtleXdvcmRzW10gPSB7InBhdGgiLCAiZGlyX2ZkIiwgTlVMTH07Ci0gICAgcGF0aF90IHBhdGg7Ci0gICAgaW50IGRpcl9mZCA9IERFRkFVTFRfRElSX0ZEOwotICAgIGludCBmb2xsb3dfc3ltbGlua3MgPSAwOwotICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWU7Citvc19sc3RhdF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgaW50IGRpcl9mZCk7CiAKLSAgICBtZW1zZXQoJnBhdGgsIDAsIHNpemVvZihwYXRoKSk7Ci0gICAgcGF0aC5mdW5jdGlvbl9uYW1lID0gImxzdGF0IjsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsICJPJnwkTyY6bHN0YXQiLCBrZXl3b3JkcywKLSAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLAotI2lmZGVmIEhBVkVfRlNUQVRBVAotICAgICAgICBkaXJfZmRfY29udmVydGVyLCAmZGlyX2ZkCi0jZWxzZQotICAgICAgICBkaXJfZmRfdW5hdmFpbGFibGUsICZkaXJfZmQKLSNlbmRpZgotICAgICAgICApKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICByZXR1cm5fdmFsdWUgPSBwb3NpeF9kb19zdGF0KCJsc3RhdCIsICZwYXRoLCBkaXJfZmQsIGZvbGxvd19zeW1saW5rcyk7CitzdGF0aWMgUHlPYmplY3QgKgorb3NfbHN0YXQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJwYXRoIiwgImRpcl9mZCIsIE5VTEx9OworICAgIHBhdGhfdCBwYXRoID0gUEFUSF9UX0lOSVRJQUxJWkUoImxzdGF0IiwgInBhdGgiLCAwLCAwKTsKKyAgICBpbnQgZGlyX2ZkID0gREVGQVVMVF9ESVJfRkQ7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJPJnwkTyY6bHN0YXQiLCBfa2V5d29yZHMsCisgICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwgRlNUQVRBVF9ESVJfRkRfQ09OVkVSVEVSLCAmZGlyX2ZkKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX2xzdGF0X2ltcGwobW9kdWxlLCAmcGF0aCwgZGlyX2ZkKTsKKworZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBwYXRoICovCiAgICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKKwogICAgIHJldHVybiByZXR1cm5fdmFsdWU7CiB9CiAKK3N0YXRpYyBQeU9iamVjdCAqCitvc19sc3RhdF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgaW50IGRpcl9mZCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD04NTcwMjI0NzIyNGEyYjFjIGlucHV0PTBiNzQ3NDc2NTkyN2I5MjVdKi8KK3sKKyAgICBpbnQgZm9sbG93X3N5bWxpbmtzID0gMDsKKyAgICByZXR1cm4gcG9zaXhfZG9fc3RhdCgibHN0YXQiLCBwYXRoLCBkaXJfZmQsIGZvbGxvd19zeW1saW5rcyk7Cit9CiAKLSNpZmRlZiBIQVZFX0ZBQ0NFU1NBVAotICAgICNkZWZpbmUgT1NfQUNDRVNTX0RJUl9GRF9DT05WRVJURVIgZGlyX2ZkX2NvbnZlcnRlcgotI2Vsc2UKLSAgICAjZGVmaW5lIE9TX0FDQ0VTU19ESVJfRkRfQ09OVkVSVEVSIGRpcl9mZF91bmF2YWlsYWJsZQotI2VuZGlmCisKIC8qW2NsaW5pYyBpbnB1dF0KLW9zLmFjY2Vzcworb3MuYWNjZXNzIC0+IGJvb2wKIAogICAgIHBhdGg6IHBhdGhfdChhbGxvd19mZD1UcnVlKQogICAgICAgICBQYXRoIHRvIGJlIHRlc3RlZDsgY2FuIGJlIHN0cmluZywgYnl0ZXMsIG9yIG9wZW4tZmlsZS1kZXNjcmlwdG9yIGludC4KQEAgLTI1NzMsNyArMjgzNSw3IEBACiAKICAgICAqCiAKLSAgICBkaXJfZmQgOiBkaXJfZmQgPSBOb25lCisgICAgZGlyX2ZkIDogZGlyX2ZkKHJlcXVpcmVzPSdmYWNjZXNzYXQnKSA9IE5vbmUKICAgICAgICAgSWYgbm90IE5vbmUsIGl0IHNob3VsZCBiZSBhIGZpbGUgZGVzY3JpcHRvciBvcGVuIHRvIGEgZGlyZWN0b3J5LAogICAgICAgICBhbmQgcGF0aCBzaG91bGQgYmUgcmVsYXRpdmU7IHBhdGggd2lsbCB0aGVuIGJlIHJlbGF0aXZlIHRvIHRoYXQKICAgICAgICAgZGlyZWN0b3J5LgpAQCAtMjYzNSw3ICsyODk3LDcgQEAKICNkZWZpbmUgT1NfQUNDRVNTX01FVEhPRERFRiAgICBcCiAgICAgeyJhY2Nlc3MiLCAoUHlDRnVuY3Rpb24pb3NfYWNjZXNzLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfYWNjZXNzX19kb2NfX30sCiAKLXN0YXRpYyBQeU9iamVjdCAqCitzdGF0aWMgaW50CiBvc19hY2Nlc3NfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIGludCBtb2RlLCBpbnQgZGlyX2ZkLCBpbnQgZWZmZWN0aXZlX2lkcywgaW50IGZvbGxvd19zeW1saW5rcyk7CiAKIHN0YXRpYyBQeU9iamVjdCAqCkBAIC0yNjQzLDE3ICsyOTA1LDIxIEBACiB7CiAgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CiAgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJwYXRoIiwgIm1vZGUiLCAiZGlyX2ZkIiwgImVmZmVjdGl2ZV9pZHMiLCAiZm9sbG93X3N5bWxpbmtzIiwgTlVMTH07Ci0gICAgcGF0aF90IHBhdGggPSBQQVRIX1RfSU5JVElBTElaRSgiYWNjZXNzIiwgMCwgMSk7CisgICAgcGF0aF90IHBhdGggPSBQQVRIX1RfSU5JVElBTElaRSgiYWNjZXNzIiwgInBhdGgiLCAwLCAxKTsKICAgICBpbnQgbW9kZTsKICAgICBpbnQgZGlyX2ZkID0gREVGQVVMVF9ESVJfRkQ7CiAgICAgaW50IGVmZmVjdGl2ZV9pZHMgPSAwOwogICAgIGludCBmb2xsb3dfc3ltbGlua3MgPSAxOworICAgIGludCBfcmV0dXJuX3ZhbHVlOwogCiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAogICAgICAgICAiTyZpfCRPJnBwOmFjY2VzcyIsIF9rZXl3b3JkcywKLSAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLCAmbW9kZSwgT1NfU1RBVF9ESVJfRkRfQ09OVkVSVEVSLCAmZGlyX2ZkLCAmZWZmZWN0aXZlX2lkcywgJmZvbGxvd19zeW1saW5rcykpCisgICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwgJm1vZGUsIEZBQ0NFU1NBVF9ESVJfRkRfQ09OVkVSVEVSLCAmZGlyX2ZkLCAmZWZmZWN0aXZlX2lkcywgJmZvbGxvd19zeW1saW5rcykpCiAgICAgICAgIGdvdG8gZXhpdDsKLSAgICByZXR1cm5fdmFsdWUgPSBvc19hY2Nlc3NfaW1wbChtb2R1bGUsICZwYXRoLCBtb2RlLCBkaXJfZmQsIGVmZmVjdGl2ZV9pZHMsIGZvbGxvd19zeW1saW5rcyk7CisgICAgX3JldHVybl92YWx1ZSA9IG9zX2FjY2Vzc19pbXBsKG1vZHVsZSwgJnBhdGgsIG1vZGUsIGRpcl9mZCwgZWZmZWN0aXZlX2lkcywgZm9sbG93X3N5bWxpbmtzKTsKKyAgICBpZiAoKF9yZXR1cm5fdmFsdWUgPT0gLTEpICYmIFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBQeUJvb2xfRnJvbUxvbmcoKGxvbmcpX3JldHVybl92YWx1ZSk7CiAKIGV4aXQ6CiAgICAgLyogQ2xlYW51cCBmb3IgcGF0aCAqLwpAQCAtMjY2MiwxMSArMjkyOCwxMSBAQAogICAgIHJldHVybiByZXR1cm5fdmFsdWU7CiB9CiAKLXN0YXRpYyBQeU9iamVjdCAqCitzdGF0aWMgaW50CiBvc19hY2Nlc3NfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIGludCBtb2RlLCBpbnQgZGlyX2ZkLCBpbnQgZWZmZWN0aXZlX2lkcywgaW50IGZvbGxvd19zeW1saW5rcykKLS8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1hNmVkNGYxNTFiZTlkZjBmIGlucHV0PTJlMmU3NTk0MzcxZjViN2VdKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kZmQ0MDQ2NjY5MDZmMDEyIGlucHV0PWI3NWE3NTY3OTdhZjQ1ZWNdKi8KIHsKLSAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBpbnQgcmV0dXJuX3ZhbHVlOwogCiAjaWZkZWYgTVNfV0lORE9XUwogICAgIERXT1JEIGF0dHI7CkBAIC0yNjc2LDExICsyOTQyLDExIEBACiAKICNpZm5kZWYgSEFWRV9GQUNDRVNTQVQKICAgICBpZiAoZm9sbG93X3N5bWxpbmtzX3NwZWNpZmllZCgiYWNjZXNzIiwgZm9sbG93X3N5bWxpbmtzKSkKLSAgICAgICAgZ290byBleGl0OworICAgICAgICByZXR1cm4gLTE7CiAKICAgICBpZiAoZWZmZWN0aXZlX2lkcykgewogICAgICAgICBhcmd1bWVudF91bmF2YWlsYWJsZV9lcnJvcigiYWNjZXNzIiwgImVmZmVjdGl2ZV9pZHMiKTsKLSAgICAgICAgZ290byBleGl0OworICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogI2VuZGlmCiAKQEAgLTI3MDAsMTEgKzI5NjYsMTAgQEAKICAgICAgKiAgICAgKiBvciBpdCdzIGEgZGlyZWN0b3J5LgogICAgICAqIChEaXJlY3RvcmllcyBjYW5ub3QgYmUgcmVhZC1vbmx5IG9uIFdpbmRvd3MuKQogICAgICovCi0gICAgcmV0dXJuX3ZhbHVlID0gUHlCb29sX0Zyb21Mb25nKAotICAgICAgICAoYXR0ciAhPSBJTlZBTElEX0ZJTEVfQVRUUklCVVRFUykgJiYKKyAgICByZXR1cm5fdmFsdWUgPSAoYXR0ciAhPSBJTlZBTElEX0ZJTEVfQVRUUklCVVRFUykgJiYKICAgICAgICAgICAgICghKG1vZGUgJiAyKSB8fAogICAgICAgICAgICAgIShhdHRyICYgRklMRV9BVFRSSUJVVEVfUkVBRE9OTFkpIHx8Ci0gICAgICAgICAgICAoYXR0ciAmIEZJTEVfQVRUUklCVVRFX0RJUkVDVE9SWSkpKTsKKyAgICAgICAgICAgIChhdHRyICYgRklMRV9BVFRSSUJVVEVfRElSRUNUT1JZKSk7CiAjZWxzZQogCiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwpAQCAtMjcyMywxMiArMjk4OCw5IEBACiAjZW5kaWYKICAgICAgICAgcmVzdWx0ID0gYWNjZXNzKHBhdGgtPm5hcnJvdywgbW9kZSk7CiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLSAgICByZXR1cm5fdmFsdWUgPSBQeUJvb2xfRnJvbUxvbmcoIXJlc3VsdCk7CisgICAgcmV0dXJuX3ZhbHVlID0gIXJlc3VsdDsKICNlbmRpZgogCi0jaWZuZGVmIEhBVkVfRkFDQ0VTU0FUCi1leGl0OgotI2VuZGlmCiAgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKIH0KIApAQCAtMjc0Nyw3ICszMDA5LDYgQEAKIAogCiAjaWZkZWYgSEFWRV9UVFlOQU1FCi0KIC8qW2NsaW5pYyBpbnB1dF0KIG9zLnR0eW5hbWUgLT4gRGVjb2RlRlNEZWZhdWx0CiAKQEAgLTI4MDUsMTcgKzMwNjYsMzYgQEAKICAgICAgICAgcG9zaXhfZXJyb3IoKTsKICAgICByZXR1cm4gcmV0OwogfQotI2Vsc2UKLSNkZWZpbmUgT1NfVFRZTkFNRV9NRVRIT0RERUYKICNlbmRpZgogCiAjaWZkZWYgSEFWRV9DVEVSTUlECi1QeURvY19TVFJWQVIocG9zaXhfY3Rlcm1pZF9fZG9jX18sCi0iY3Rlcm1pZCgpIC0+IHN0cmluZ1xuXG5cCi1SZXR1cm4gdGhlIG5hbWUgb2YgdGhlIGNvbnRyb2xsaW5nIHRlcm1pbmFsIGZvciB0aGlzIHByb2Nlc3MuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5jdGVybWlkCisKK1JldHVybiB0aGUgbmFtZSBvZiB0aGUgY29udHJvbGxpbmcgdGVybWluYWwgZm9yIHRoaXMgcHJvY2Vzcy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2N0ZXJtaWRfX2RvY19fLAorImN0ZXJtaWQoJG1vZHVsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgbmFtZSBvZiB0aGUgY29udHJvbGxpbmcgdGVybWluYWwgZm9yIHRoaXMgcHJvY2Vzcy4iKTsKKworI2RlZmluZSBPU19DVEVSTUlEX01FVEhPRERFRiAgICBcCisgICAgeyJjdGVybWlkIiwgKFB5Q0Z1bmN0aW9uKW9zX2N0ZXJtaWQsIE1FVEhfTk9BUkdTLCBvc19jdGVybWlkX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9jdGVybWlkKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqbm9hcmdzKQorb3NfY3Rlcm1pZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfY3Rlcm1pZChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBvc19jdGVybWlkX2ltcGwobW9kdWxlKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2N0ZXJtaWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTI3N2JmNzk2NGVjMmQ3ODIgaW5wdXQ9M2I4N2ZkZDUyNTU2MzgyZF0qLwogewogICAgIGNoYXIgKnJldDsKICAgICBjaGFyIGJ1ZmZlcltMX2N0ZXJtaWRdOwpAQCAtMjgyOSwxMDYgKzMxMDksMjM0IEBACiAgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwogICAgIHJldHVybiBQeVVuaWNvZGVfRGVjb2RlRlNEZWZhdWx0KGJ1ZmZlcik7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBIQVZFX0NURVJNSUQgKi8KIAotUHlEb2NfU1RSVkFSKHBvc2l4X2NoZGlyX19kb2NfXywKLSJjaGRpcihwYXRoKVxuXG5cCi1DaGFuZ2UgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkgdG8gdGhlIHNwZWNpZmllZCBwYXRoLlxuXAotXG5cCi1wYXRoIG1heSBhbHdheXMgYmUgc3BlY2lmaWVkIGFzIGEgc3RyaW5nLlxuXAotT24gc29tZSBwbGF0Zm9ybXMsIHBhdGggbWF5IGFsc28gYmUgc3BlY2lmaWVkIGFzIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLlxuXAotICBJZiB0aGlzIGZ1bmN0aW9uYWxpdHkgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHJhaXNlcyBhbiBleGNlcHRpb24uIik7CisKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmNoZGlyCisKKyAgICBwYXRoOiBwYXRoX3QoYWxsb3dfZmQ9J1BBVEhfSEFWRV9GQ0hESVInKQorCitDaGFuZ2UgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkgdG8gdGhlIHNwZWNpZmllZCBwYXRoLgorCitwYXRoIG1heSBhbHdheXMgYmUgc3BlY2lmaWVkIGFzIGEgc3RyaW5nLgorT24gc29tZSBwbGF0Zm9ybXMsIHBhdGggbWF5IGFsc28gYmUgc3BlY2lmaWVkIGFzIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLgorICBJZiB0aGlzIGZ1bmN0aW9uYWxpdHkgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHJhaXNlcyBhbiBleGNlcHRpb24uCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19jaGRpcl9fZG9jX18sCisiY2hkaXIoJG1vZHVsZSwgLywgcGF0aClcbiIKKyItLVxuIgorIlxuIgorIkNoYW5nZSB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSB0byB0aGUgc3BlY2lmaWVkIHBhdGguXG4iCisiXG4iCisicGF0aCBtYXkgYWx3YXlzIGJlIHNwZWNpZmllZCBhcyBhIHN0cmluZy5cbiIKKyJPbiBzb21lIHBsYXRmb3JtcywgcGF0aCBtYXkgYWxzbyBiZSBzcGVjaWZpZWQgYXMgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuXG4iCisiICBJZiB0aGlzIGZ1bmN0aW9uYWxpdHkgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHJhaXNlcyBhbiBleGNlcHRpb24uIik7CisKKyNkZWZpbmUgT1NfQ0hESVJfTUVUSE9EREVGICAgIFwKKyAgICB7ImNoZGlyIiwgKFB5Q0Z1bmN0aW9uKW9zX2NoZGlyLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfY2hkaXJfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2NoZGlyKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKLXsKLSAgICBwYXRoX3QgcGF0aDsKLSAgICBpbnQgcmVzdWx0OwotICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwotICAgIHN0YXRpYyBjaGFyICprZXl3b3Jkc1tdID0geyJwYXRoIiwgTlVMTH07Citvc19jaGRpcl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCk7CiAKLSAgICBtZW1zZXQoJnBhdGgsIDAsIHNpemVvZihwYXRoKSk7Ci0gICAgcGF0aC5mdW5jdGlvbl9uYW1lID0gImNoZGlyIjsKLSNpZmRlZiBIQVZFX0ZDSERJUgotICAgIHBhdGguYWxsb3dfZmQgPSAxOwotI2VuZGlmCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAiTyY6Y2hkaXIiLCBrZXl3b3JkcywKLSAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoCi0gICAgICAgICkpCi0gICAgICAgIHJldHVybiBOVUxMOworc3RhdGljIFB5T2JqZWN0ICoKK29zX2NoZGlyKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsicGF0aCIsIE5VTEx9OworICAgIHBhdGhfdCBwYXRoID0gUEFUSF9UX0lOSVRJQUxJWkUoImNoZGlyIiwgInBhdGgiLCAwLCBQQVRIX0hBVkVfRkNIRElSKTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgIk8mOmNoZGlyIiwgX2tleXdvcmRzLAorICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfY2hkaXJfaW1wbChtb2R1bGUsICZwYXRoKTsKKworZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBwYXRoICovCisgICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKKworICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19jaGRpcl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1jYzA3NTkyZGQyM2NhOWUwIGlucHV0PTFhNGExNWI0ZDEyY2IxNWRdKi8KK3sKKyAgICBpbnQgcmVzdWx0OwogCiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwogI2lmZGVmIE1TX1dJTkRPV1MKLSAgICBpZiAocGF0aC53aWRlKQotICAgICAgICByZXN1bHQgPSB3aW4zMl93Y2hkaXIocGF0aC53aWRlKTsKKyAgICBpZiAocGF0aC0+d2lkZSkKKyAgICAgICAgcmVzdWx0ID0gd2luMzJfd2NoZGlyKHBhdGgtPndpZGUpOwogICAgIGVsc2UKLSAgICAgICAgcmVzdWx0ID0gd2luMzJfY2hkaXIocGF0aC5uYXJyb3cpOworICAgICAgICByZXN1bHQgPSB3aW4zMl9jaGRpcihwYXRoLT5uYXJyb3cpOwogICAgIHJlc3VsdCA9ICFyZXN1bHQ7IC8qIG9uIHVuaXgsIHN1Y2Nlc3MgPSAwLCBvbiB3aW5kb3dzLCBzdWNjZXNzID0gITAgKi8KICNlbHNlCiAjaWZkZWYgSEFWRV9GQ0hESVIKLSAgICBpZiAocGF0aC5mZCAhPSAtMSkKLSAgICAgICAgcmVzdWx0ID0gZmNoZGlyKHBhdGguZmQpOworICAgIGlmIChwYXRoLT5mZCAhPSAtMSkKKyAgICAgICAgcmVzdWx0ID0gZmNoZGlyKHBhdGgtPmZkKTsKICAgICBlbHNlCiAjZW5kaWYKLSAgICAgICAgcmVzdWx0ID0gY2hkaXIocGF0aC5uYXJyb3cpOworICAgICAgICByZXN1bHQgPSBjaGRpcihwYXRoLT5uYXJyb3cpOwogI2VuZGlmCiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKIAogICAgIGlmIChyZXN1bHQpIHsKLSAgICAgICAgcmV0dXJuX3ZhbHVlID0gcGF0aF9lcnJvcigmcGF0aCk7Ci0gICAgICAgIGdvdG8gZXhpdDsKKyAgICAgICAgcmV0dXJuIHBhdGhfZXJyb3IocGF0aCk7CiAgICAgfQogCi0gICAgcmV0dXJuX3ZhbHVlID0gUHlfTm9uZTsKLSAgICBQeV9JTkNSRUYoUHlfTm9uZSk7CisgICAgUHlfUkVUVVJOX05PTkU7Cit9CisKKworI2lmZGVmIEhBVkVfRkNIRElSCisvKltjbGluaWMgaW5wdXRdCitvcy5mY2hkaXIKKworICAgIGZkOiBmaWxkZXMKKworQ2hhbmdlIHRvIHRoZSBkaXJlY3Rvcnkgb2YgdGhlIGdpdmVuIGZpbGUgZGVzY3JpcHRvci4KKworZmQgbXVzdCBiZSBvcGVuZWQgb24gYSBkaXJlY3RvcnksIG5vdCBhIGZpbGUuCitFcXVpdmFsZW50IHRvIG9zLmNoZGlyKGZkKS4KKworW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfZmNoZGlyX19kb2NfXywKKyJmY2hkaXIoJG1vZHVsZSwgLywgZmQpXG4iCisiLS1cbiIKKyJcbiIKKyJDaGFuZ2UgdG8gdGhlIGRpcmVjdG9yeSBvZiB0aGUgZ2l2ZW4gZmlsZSBkZXNjcmlwdG9yLlxuIgorIlxuIgorImZkIG11c3QgYmUgb3BlbmVkIG9uIGEgZGlyZWN0b3J5LCBub3QgYSBmaWxlLlxuIgorIkVxdWl2YWxlbnQgdG8gb3MuY2hkaXIoZmQpLiIpOworCisjZGVmaW5lIE9TX0ZDSERJUl9NRVRIT0RERUYgICAgXAorICAgIHsiZmNoZGlyIiwgKFB5Q0Z1bmN0aW9uKW9zX2ZjaGRpciwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX2ZjaGRpcl9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZmNoZGlyX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2ZjaGRpcihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7ImZkIiwgTlVMTH07CisgICAgaW50IGZkOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiTyY6ZmNoZGlyIiwgX2tleXdvcmRzLAorICAgICAgICBmaWxkZXNfY29udmVydGVyLCAmZmQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfZmNoZGlyX2ltcGwobW9kdWxlLCBmZCk7CiAKIGV4aXQ6Ci0gICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKICAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOwogfQogCi0jaWZkZWYgSEFWRV9GQ0hESVIKLVB5RG9jX1NUUlZBUihwb3NpeF9mY2hkaXJfX2RvY19fLAotImZjaGRpcihmZClcblxuXAotQ2hhbmdlIHRvIHRoZSBkaXJlY3Rvcnkgb2YgdGhlIGdpdmVuIGZpbGUgZGVzY3JpcHRvci4gIGZkIG11c3QgYmVcblwKLW9wZW5lZCBvbiBhIGRpcmVjdG9yeSwgbm90IGEgZmlsZS4gIEVxdWl2YWxlbnQgdG8gb3MuY2hkaXIoZmQpLiIpOwotCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfZmNoZGlyKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqZmRvYmopCitvc19mY2hkaXJfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9OWY2ZGJjODliMjc3ODgzNCBpbnB1dD0xOGU4MTY0NzlhMmZhOTg1XSovCiB7Ci0gICAgcmV0dXJuIHBvc2l4X2ZpbGRlcyhmZG9iaiwgZmNoZGlyKTsKKyAgICByZXR1cm4gcG9zaXhfZmlsZGVzX2ZkKGZkLCBmY2hkaXIpOwogfQogI2VuZGlmIC8qIEhBVkVfRkNIRElSICovCiAKIAotUHlEb2NfU1RSVkFSKHBvc2l4X2NobW9kX19kb2NfXywKLSJjaG1vZChwYXRoLCBtb2RlLCAqLCBkaXJfZmQ9Tm9uZSwgZm9sbG93X3N5bWxpbmtzPVRydWUpXG5cblwKLUNoYW5nZSB0aGUgYWNjZXNzIHBlcm1pc3Npb25zIG9mIGEgZmlsZS5cblwKLVxuXAotcGF0aCBtYXkgYWx3YXlzIGJlIHNwZWNpZmllZCBhcyBhIHN0cmluZy5cblwKLU9uIHNvbWUgcGxhdGZvcm1zLCBwYXRoIG1heSBhbHNvIGJlIHNwZWNpZmllZCBhcyBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvci5cblwKLSAgSWYgdGhpcyBmdW5jdGlvbmFsaXR5IGlzIHVuYXZhaWxhYmxlLCB1c2luZyBpdCByYWlzZXMgYW4gZXhjZXB0aW9uLlxuXAotSWYgZGlyX2ZkIGlzIG5vdCBOb25lLCBpdCBzaG91bGQgYmUgYSBmaWxlIGRlc2NyaXB0b3Igb3BlbiB0byBhIGRpcmVjdG9yeSxcblwKLSAgYW5kIHBhdGggc2hvdWxkIGJlIHJlbGF0aXZlOyBwYXRoIHdpbGwgdGhlbiBiZSByZWxhdGl2ZSB0byB0aGF0IGRpcmVjdG9yeS5cblwKLUlmIGZvbGxvd19zeW1saW5rcyBpcyBGYWxzZSwgYW5kIHRoZSBsYXN0IGVsZW1lbnQgb2YgdGhlIHBhdGggaXMgYSBzeW1ib2xpY1xuXAotICBsaW5rLCBjaG1vZCB3aWxsIG1vZGlmeSB0aGUgc3ltYm9saWMgbGluayBpdHNlbGYgaW5zdGVhZCBvZiB0aGUgZmlsZSB0aGVcblwKLSAgbGluayBwb2ludHMgdG8uXG5cCi1JdCBpcyBhbiBlcnJvciB0byB1c2UgZGlyX2ZkIG9yIGZvbGxvd19zeW1saW5rcyB3aGVuIHNwZWNpZnlpbmcgcGF0aCBhc1xuXAotICBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvci5cblwKLWRpcl9mZCBhbmQgZm9sbG93X3N5bWxpbmtzIG1heSBub3QgYmUgaW1wbGVtZW50ZWQgb24geW91ciBwbGF0Zm9ybS5cblwKLSAgSWYgdGhleSBhcmUgdW5hdmFpbGFibGUsIHVzaW5nIHRoZW0gd2lsbCByYWlzZSBhIE5vdEltcGxlbWVudGVkRXJyb3IuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5jaG1vZAorCisgICAgcGF0aDogcGF0aF90KGFsbG93X2ZkPSdQQVRIX0hBVkVfRkNITU9EJykKKyAgICAgICAgUGF0aCB0byBiZSBtb2RpZmllZC4gIE1heSBhbHdheXMgYmUgc3BlY2lmaWVkIGFzIGEgc3RyIG9yIGJ5dGVzLgorICAgICAgICBPbiBzb21lIHBsYXRmb3JtcywgcGF0aCBtYXkgYWxzbyBiZSBzcGVjaWZpZWQgYXMgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuCisgICAgICAgIElmIHRoaXMgZnVuY3Rpb25hbGl0eSBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgcmFpc2VzIGFuIGV4Y2VwdGlvbi4KKworICAgIG1vZGU6IGludAorICAgICAgICBPcGVyYXRpbmctc3lzdGVtIG1vZGUgYml0ZmllbGQuCisKKyAgICAqCisKKyAgICBkaXJfZmQgOiBkaXJfZmQocmVxdWlyZXM9J2ZjaG1vZGF0JykgPSBOb25lCisgICAgICAgIElmIG5vdCBOb25lLCBpdCBzaG91bGQgYmUgYSBmaWxlIGRlc2NyaXB0b3Igb3BlbiB0byBhIGRpcmVjdG9yeSwKKyAgICAgICAgYW5kIHBhdGggc2hvdWxkIGJlIHJlbGF0aXZlOyBwYXRoIHdpbGwgdGhlbiBiZSByZWxhdGl2ZSB0byB0aGF0CisgICAgICAgIGRpcmVjdG9yeS4KKworICAgIGZvbGxvd19zeW1saW5rczogYm9vbCA9IFRydWUKKyAgICAgICAgSWYgRmFsc2UsIGFuZCB0aGUgbGFzdCBlbGVtZW50IG9mIHRoZSBwYXRoIGlzIGEgc3ltYm9saWMgbGluaywKKyAgICAgICAgY2htb2Qgd2lsbCBtb2RpZnkgdGhlIHN5bWJvbGljIGxpbmsgaXRzZWxmIGluc3RlYWQgb2YgdGhlIGZpbGUKKyAgICAgICAgdGhlIGxpbmsgcG9pbnRzIHRvLgorCitDaGFuZ2UgdGhlIGFjY2VzcyBwZXJtaXNzaW9ucyBvZiBhIGZpbGUuCisKK0l0IGlzIGFuIGVycm9yIHRvIHVzZSBkaXJfZmQgb3IgZm9sbG93X3N5bWxpbmtzIHdoZW4gc3BlY2lmeWluZyBwYXRoIGFzCisgIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLgorZGlyX2ZkIGFuZCBmb2xsb3dfc3ltbGlua3MgbWF5IG5vdCBiZSBpbXBsZW1lbnRlZCBvbiB5b3VyIHBsYXRmb3JtLgorICBJZiB0aGV5IGFyZSB1bmF2YWlsYWJsZSwgdXNpbmcgdGhlbSB3aWxsIHJhaXNlIGEgTm90SW1wbGVtZW50ZWRFcnJvci4KKworW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfY2htb2RfX2RvY19fLAorImNobW9kKCRtb2R1bGUsIC8sIHBhdGgsIG1vZGUsICosIGRpcl9mZD1Ob25lLCBmb2xsb3dfc3ltbGlua3M9VHJ1ZSlcbiIKKyItLVxuIgorIlxuIgorIkNoYW5nZSB0aGUgYWNjZXNzIHBlcm1pc3Npb25zIG9mIGEgZmlsZS5cbiIKKyJcbiIKKyIgIHBhdGhcbiIKKyIgICAgUGF0aCB0byBiZSBtb2RpZmllZC4gIE1heSBhbHdheXMgYmUgc3BlY2lmaWVkIGFzIGEgc3RyIG9yIGJ5dGVzLlxuIgorIiAgICBPbiBzb21lIHBsYXRmb3JtcywgcGF0aCBtYXkgYWxzbyBiZSBzcGVjaWZpZWQgYXMgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuXG4iCisiICAgIElmIHRoaXMgZnVuY3Rpb25hbGl0eSBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgcmFpc2VzIGFuIGV4Y2VwdGlvbi5cbiIKKyIgIG1vZGVcbiIKKyIgICAgT3BlcmF0aW5nLXN5c3RlbSBtb2RlIGJpdGZpZWxkLlxuIgorIiAgZGlyX2ZkXG4iCisiICAgIElmIG5vdCBOb25lLCBpdCBzaG91bGQgYmUgYSBmaWxlIGRlc2NyaXB0b3Igb3BlbiB0byBhIGRpcmVjdG9yeSxcbiIKKyIgICAgYW5kIHBhdGggc2hvdWxkIGJlIHJlbGF0aXZlOyBwYXRoIHdpbGwgdGhlbiBiZSByZWxhdGl2ZSB0byB0aGF0XG4iCisiICAgIGRpcmVjdG9yeS5cbiIKKyIgIGZvbGxvd19zeW1saW5rc1xuIgorIiAgICBJZiBGYWxzZSwgYW5kIHRoZSBsYXN0IGVsZW1lbnQgb2YgdGhlIHBhdGggaXMgYSBzeW1ib2xpYyBsaW5rLFxuIgorIiAgICBjaG1vZCB3aWxsIG1vZGlmeSB0aGUgc3ltYm9saWMgbGluayBpdHNlbGYgaW5zdGVhZCBvZiB0aGUgZmlsZVxuIgorIiAgICB0aGUgbGluayBwb2ludHMgdG8uXG4iCisiXG4iCisiSXQgaXMgYW4gZXJyb3IgdG8gdXNlIGRpcl9mZCBvciBmb2xsb3dfc3ltbGlua3Mgd2hlbiBzcGVjaWZ5aW5nIHBhdGggYXNcbiIKKyIgIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLlxuIgorImRpcl9mZCBhbmQgZm9sbG93X3N5bWxpbmtzIG1heSBub3QgYmUgaW1wbGVtZW50ZWQgb24geW91ciBwbGF0Zm9ybS5cbiIKKyIgIElmIHRoZXkgYXJlIHVuYXZhaWxhYmxlLCB1c2luZyB0aGVtIHdpbGwgcmFpc2UgYSBOb3RJbXBsZW1lbnRlZEVycm9yLiIpOworCisjZGVmaW5lIE9TX0NITU9EX01FVEhPRERFRiAgICBcCisgICAgeyJjaG1vZCIsIChQeUNGdW5jdGlvbilvc19jaG1vZCwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX2NobW9kX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9jaG1vZChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCitvc19jaG1vZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgaW50IG1vZGUsIGludCBkaXJfZmQsIGludCBmb2xsb3dfc3ltbGlua3MpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfY2htb2QoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgcGF0aF90IHBhdGg7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJwYXRoIiwgIm1vZGUiLCAiZGlyX2ZkIiwgImZvbGxvd19zeW1saW5rcyIsIE5VTEx9OworICAgIHBhdGhfdCBwYXRoID0gUEFUSF9UX0lOSVRJQUxJWkUoImNobW9kIiwgInBhdGgiLCAwLCBQQVRIX0hBVkVfRkNITU9EKTsKICAgICBpbnQgbW9kZTsKICAgICBpbnQgZGlyX2ZkID0gREVGQVVMVF9ESVJfRkQ7CiAgICAgaW50IGZvbGxvd19zeW1saW5rcyA9IDE7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJPJml8JE8mcDpjaG1vZCIsIF9rZXl3b3JkcywKKyAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLCAmbW9kZSwgRkNITU9EQVRfRElSX0ZEX0NPTlZFUlRFUiwgJmRpcl9mZCwgJmZvbGxvd19zeW1saW5rcykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19jaG1vZF9pbXBsKG1vZHVsZSwgJnBhdGgsIG1vZGUsIGRpcl9mZCwgZm9sbG93X3N5bWxpbmtzKTsKKworZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBwYXRoICovCisgICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKKworICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19jaG1vZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgaW50IG1vZGUsIGludCBkaXJfZmQsIGludCBmb2xsb3dfc3ltbGlua3MpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MWU5ZGIwMzFhZWE0NjQyMiBpbnB1dD03ZjE2MThlNWUxNWNjMTk2XSovCit7CiAgICAgaW50IHJlc3VsdDsKLSAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKLSAgICBzdGF0aWMgY2hhciAqa2V5d29yZHNbXSA9IHsicGF0aCIsICJtb2RlIiwgImRpcl9mZCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZvbGxvd19zeW1saW5rcyIsIE5VTEx9OwogCiAjaWZkZWYgTVNfV0lORE9XUwogICAgIERXT1JEIGF0dHI7CkBAIC0yOTM4LDMzICszMzQ2LDE3IEBACiAgICAgaW50IGZjaG1vZGF0X25vZm9sbG93X3Vuc3VwcG9ydGVkID0gMDsKICNlbmRpZgogCi0gICAgbWVtc2V0KCZwYXRoLCAwLCBzaXplb2YocGF0aCkpOwotICAgIHBhdGguZnVuY3Rpb25fbmFtZSA9ICJjaG1vZCI7Ci0jaWZkZWYgSEFWRV9GQ0hNT0QKLSAgICBwYXRoLmFsbG93X2ZkID0gMTsKLSNlbmRpZgotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgIk8maXwkTyZwOmNobW9kIiwga2V5d29yZHMsCi0gICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwKLSAgICAgICAgJm1vZGUsCi0jaWZkZWYgSEFWRV9GQ0hNT0RBVAotICAgICAgICBkaXJfZmRfY29udmVydGVyLCAmZGlyX2ZkLAotI2Vsc2UKLSAgICAgICAgZGlyX2ZkX3VuYXZhaWxhYmxlLCAmZGlyX2ZkLAotI2VuZGlmCi0gICAgICAgICZmb2xsb3dfc3ltbGlua3MpKQotICAgICAgICByZXR1cm4gTlVMTDsKLQogI2lmICEoZGVmaW5lZChIQVZFX0ZDSE1PREFUKSB8fCBkZWZpbmVkKEhBVkVfTENITU9EKSkKICAgICBpZiAoZm9sbG93X3N5bWxpbmtzX3NwZWNpZmllZCgiY2htb2QiLCBmb2xsb3dfc3ltbGlua3MpKQotICAgICAgICBnb3RvIGV4aXQ7CisgICAgICAgIHJldHVybiBOVUxMOwogI2VuZGlmCiAKICNpZmRlZiBNU19XSU5ET1dTCiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIGlmIChwYXRoLndpZGUpCi0gICAgICAgIGF0dHIgPSBHZXRGaWxlQXR0cmlidXRlc1cocGF0aC53aWRlKTsKKyAgICBpZiAocGF0aC0+d2lkZSkKKyAgICAgICAgYXR0ciA9IEdldEZpbGVBdHRyaWJ1dGVzVyhwYXRoLT53aWRlKTsKICAgICBlbHNlCi0gICAgICAgIGF0dHIgPSBHZXRGaWxlQXR0cmlidXRlc0EocGF0aC5uYXJyb3cpOworICAgICAgICBhdHRyID0gR2V0RmlsZUF0dHJpYnV0ZXNBKHBhdGgtPm5hcnJvdyk7CiAgICAgaWYgKGF0dHIgPT0gSU5WQUxJRF9GSUxFX0FUVFJJQlVURVMpCiAgICAgICAgIHJlc3VsdCA9IDA7CiAgICAgZWxzZSB7CkBAIC0yOTcyLDI3ICszMzY0LDI2IEBACiAgICAgICAgICAgICBhdHRyICY9IH5GSUxFX0FUVFJJQlVURV9SRUFET05MWTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgYXR0ciB8PSBGSUxFX0FUVFJJQlVURV9SRUFET05MWTsKLSAgICAgICAgaWYgKHBhdGgud2lkZSkKLSAgICAgICAgICAgIHJlc3VsdCA9IFNldEZpbGVBdHRyaWJ1dGVzVyhwYXRoLndpZGUsIGF0dHIpOworICAgICAgICBpZiAocGF0aC0+d2lkZSkKKyAgICAgICAgICAgIHJlc3VsdCA9IFNldEZpbGVBdHRyaWJ1dGVzVyhwYXRoLT53aWRlLCBhdHRyKTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgcmVzdWx0ID0gU2V0RmlsZUF0dHJpYnV0ZXNBKHBhdGgubmFycm93LCBhdHRyKTsKKyAgICAgICAgICAgIHJlc3VsdCA9IFNldEZpbGVBdHRyaWJ1dGVzQShwYXRoLT5uYXJyb3csIGF0dHIpOwogICAgIH0KICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogCiAgICAgaWYgKCFyZXN1bHQpIHsKLSAgICAgICAgcmV0dXJuX3ZhbHVlID0gcGF0aF9lcnJvcigmcGF0aCk7Ci0gICAgICAgIGdvdG8gZXhpdDsKKyAgICAgICAgcmV0dXJuIHBhdGhfZXJyb3IocGF0aCk7CiAgICAgfQogI2Vsc2UgLyogTVNfV0lORE9XUyAqLwogICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKICNpZmRlZiBIQVZFX0ZDSE1PRAotICAgIGlmIChwYXRoLmZkICE9IC0xKQotICAgICAgICByZXN1bHQgPSBmY2htb2QocGF0aC5mZCwgbW9kZSk7CisgICAgaWYgKHBhdGgtPmZkICE9IC0xKQorICAgICAgICByZXN1bHQgPSBmY2htb2QocGF0aC0+ZmQsIG1vZGUpOwogICAgIGVsc2UKICNlbmRpZgogI2lmZGVmIEhBVkVfTENITU9ECiAgICAgaWYgKCghZm9sbG93X3N5bWxpbmtzKSAmJiAoZGlyX2ZkID09IERFRkFVTFRfRElSX0ZEKSkKLSAgICAgICAgcmVzdWx0ID0gbGNobW9kKHBhdGgubmFycm93LCBtb2RlKTsKKyAgICAgICAgcmVzdWx0ID0gbGNobW9kKHBhdGgtPm5hcnJvdywgbW9kZSk7CiAgICAgZWxzZQogI2VuZGlmCiAjaWZkZWYgSEFWRV9GQ0hNT0RBVApAQCAtMzAwNyw3ICszMzk4LDcgQEAKICAgICAgICAgICogc3VwcG9ydCBkaXJfZmQgYW5kIGZvbGxvd19zeW1saW5rcz1GYWxzZS4gIChIb3BlZnVsbHkuKQogICAgICAgICAgKiBVbnRpbCB0aGVuLCB3ZSBuZWVkIHRvIGJlIGNhcmVmdWwgd2hhdCBleGNlcHRpb24gd2UgcmFpc2UuCiAgICAgICAgICAqLwotICAgICAgICByZXN1bHQgPSBmY2htb2RhdChkaXJfZmQsIHBhdGgubmFycm93LCBtb2RlLAorICAgICAgICByZXN1bHQgPSBmY2htb2RhdChkaXJfZmQsIHBhdGgtPm5hcnJvdywgbW9kZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93X3N5bWxpbmtzID8gMCA6IEFUX1NZTUxJTktfTk9GT0xMT1cpOwogICAgICAgICAvKgogICAgICAgICAgKiBCdXQgd2FpdCEgIFdlIGNhbid0IHRocm93IHRoZSBleGNlcHRpb24gd2l0aG91dCBhbGxvd2luZyB0aHJlYWRzLApAQCAtMzAyMCw3ICszNDExLDcgQEAKICAgICB9CiAgICAgZWxzZQogI2VuZGlmCi0gICAgICAgIHJlc3VsdCA9IGNobW9kKHBhdGgubmFycm93LCBtb2RlKTsKKyAgICAgICAgcmVzdWx0ID0gY2htb2QocGF0aC0+bmFycm93LCBtb2RlKTsKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogCiAgICAgaWYgKHJlc3VsdCkgewpAQCAtMzAzNCwyNzIgKzM0MjUsNTk5IEBACiAgICAgICAgIH0KICAgICAgICAgZWxzZQogI2VuZGlmCi0gICAgICAgICAgICByZXR1cm5fdmFsdWUgPSBwYXRoX2Vycm9yKCZwYXRoKTsKLSAgICAgICAgZ290byBleGl0OworICAgICAgICByZXR1cm4gcGF0aF9lcnJvcihwYXRoKTsKICAgICB9CiAjZW5kaWYKIAotICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKLSAgICByZXR1cm5fdmFsdWUgPSBQeV9Ob25lOwotZXhpdDoKLSAgICBwYXRoX2NsZWFudXAoJnBhdGgpOwotICAgIHJldHVybiByZXR1cm5fdmFsdWU7CisgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAKIAogI2lmZGVmIEhBVkVfRkNITU9ECi1QeURvY19TVFJWQVIocG9zaXhfZmNobW9kX19kb2NfXywKLSJmY2htb2QoZmQsIG1vZGUpXG5cblwKLUNoYW5nZSB0aGUgYWNjZXNzIHBlcm1pc3Npb25zIG9mIHRoZSBmaWxlIGdpdmVuIGJ5IGZpbGVcblwKLWRlc2NyaXB0b3IgZmQuICBFcXVpdmFsZW50IHRvIG9zLmNobW9kKGZkLCBtb2RlKS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmZjaG1vZAorCisgICAgZmQ6IGludAorICAgIG1vZGU6IGludAorCitDaGFuZ2UgdGhlIGFjY2VzcyBwZXJtaXNzaW9ucyBvZiB0aGUgZmlsZSBnaXZlbiBieSBmaWxlIGRlc2NyaXB0b3IgZmQuCisKK0VxdWl2YWxlbnQgdG8gb3MuY2htb2QoZmQsIG1vZGUpLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfZmNobW9kX19kb2NfXywKKyJmY2htb2QoJG1vZHVsZSwgLywgZmQsIG1vZGUpXG4iCisiLS1cbiIKKyJcbiIKKyJDaGFuZ2UgdGhlIGFjY2VzcyBwZXJtaXNzaW9ucyBvZiB0aGUgZmlsZSBnaXZlbiBieSBmaWxlIGRlc2NyaXB0b3IgZmQuXG4iCisiXG4iCisiRXF1aXZhbGVudCB0byBvcy5jaG1vZChmZCwgbW9kZSkuIik7CisKKyNkZWZpbmUgT1NfRkNITU9EX01FVEhPRERFRiAgICBcCisgICAgeyJmY2htb2QiLCAoUHlDRnVuY3Rpb24pb3NfZmNobW9kLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfZmNobW9kX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9mY2htb2QoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3NfZmNobW9kX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkLCBpbnQgbW9kZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19mY2htb2QoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgaW50IGZkLCBtb2RlLCByZXM7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpaTpmY2htb2QiLCAmZmQsICZtb2RlKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIHJlcyA9IGZjaG1vZChmZCwgbW9kZSk7Ci0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLSAgICBpZiAocmVzIDwgMCkKLSAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJmZCIsICJtb2RlIiwgTlVMTH07CisgICAgaW50IGZkOworICAgIGludCBtb2RlOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiaWk6ZmNobW9kIiwgX2tleXdvcmRzLAorICAgICAgICAmZmQsICZtb2RlKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX2ZjaG1vZF9pbXBsKG1vZHVsZSwgZmQsIG1vZGUpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19mY2htb2RfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQsIGludCBtb2RlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTNjMTlmYmZkNzI0YThlMGYgaW5wdXQ9OGFiMTE5NzVjYTAxZWU1Yl0qLworeworICAgIGludCByZXM7CisgICAgaW50IGFzeW5jX2VyciA9IDA7CisKKyAgICBkbyB7CisgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgcmVzID0gZmNobW9kKGZkLCBtb2RlKTsKKyAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICB9IHdoaWxlIChyZXMgIT0gMCAmJiBlcnJubyA9PSBFSU5UUiAmJiAhKGFzeW5jX2VyciA9IFB5RXJyX0NoZWNrU2lnbmFscygpKSk7CisgICAgaWYgKHJlcyAhPSAwKQorICAgICAgICByZXR1cm4gKCFhc3luY19lcnIpID8gcG9zaXhfZXJyb3IoKSA6IE5VTEw7CisKICAgICBQeV9SRVRVUk5fTk9ORTsKIH0KICNlbmRpZiAvKiBIQVZFX0ZDSE1PRCAqLwogCisKICNpZmRlZiBIQVZFX0xDSE1PRAotUHlEb2NfU1RSVkFSKHBvc2l4X2xjaG1vZF9fZG9jX18sCi0ibGNobW9kKHBhdGgsIG1vZGUpXG5cblwKLUNoYW5nZSB0aGUgYWNjZXNzIHBlcm1pc3Npb25zIG9mIGEgZmlsZS4gSWYgcGF0aCBpcyBhIHN5bWxpbmssIHRoaXNcblwKLWFmZmVjdHMgdGhlIGxpbmsgaXRzZWxmIHJhdGhlciB0aGFuIHRoZSB0YXJnZXQuXG5cCi1FcXVpdmFsZW50IHRvIGNobW9kKHBhdGgsIG1vZGUsIGZvbGxvd19zeW1saW5rcz1GYWxzZSkuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5sY2htb2QKKworICAgIHBhdGg6IHBhdGhfdAorICAgIG1vZGU6IGludAorCitDaGFuZ2UgdGhlIGFjY2VzcyBwZXJtaXNzaW9ucyBvZiBhIGZpbGUsIHdpdGhvdXQgZm9sbG93aW5nIHN5bWJvbGljIGxpbmtzLgorCitJZiBwYXRoIGlzIGEgc3ltbGluaywgdGhpcyBhZmZlY3RzIHRoZSBsaW5rIGl0c2VsZiByYXRoZXIgdGhhbiB0aGUgdGFyZ2V0LgorRXF1aXZhbGVudCB0byBjaG1vZChwYXRoLCBtb2RlLCBmb2xsb3dfc3ltbGlua3M9RmFsc2UpLiIKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2xjaG1vZF9fZG9jX18sCisibGNobW9kKCRtb2R1bGUsIC8sIHBhdGgsIG1vZGUpXG4iCisiLS1cbiIKKyJcbiIKKyJDaGFuZ2UgdGhlIGFjY2VzcyBwZXJtaXNzaW9ucyBvZiBhIGZpbGUsIHdpdGhvdXQgZm9sbG93aW5nIHN5bWJvbGljIGxpbmtzLlxuIgorIlxuIgorIklmIHBhdGggaXMgYSBzeW1saW5rLCB0aGlzIGFmZmVjdHMgdGhlIGxpbmsgaXRzZWxmIHJhdGhlciB0aGFuIHRoZSB0YXJnZXQuXG4iCisiRXF1aXZhbGVudCB0byBjaG1vZChwYXRoLCBtb2RlLCBmb2xsb3dfc3ltbGlua3M9RmFsc2UpLlwiIik7CisKKyNkZWZpbmUgT1NfTENITU9EX01FVEhPRERFRiAgICBcCisgICAgeyJsY2htb2QiLCAoUHlDRnVuY3Rpb24pb3NfbGNobW9kLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfbGNobW9kX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9sY2htb2QoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3NfbGNobW9kX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoLCBpbnQgbW9kZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19sY2htb2QoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgcGF0aF90IHBhdGg7Ci0gICAgaW50IGk7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJwYXRoIiwgIm1vZGUiLCBOVUxMfTsKKyAgICBwYXRoX3QgcGF0aCA9IFBBVEhfVF9JTklUSUFMSVpFKCJsY2htb2QiLCAicGF0aCIsIDAsIDApOworICAgIGludCBtb2RlOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiTyZpOmxjaG1vZCIsIF9rZXl3b3JkcywKKyAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLCAmbW9kZSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19sY2htb2RfaW1wbChtb2R1bGUsICZwYXRoLCBtb2RlKTsKKworZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBwYXRoICovCisgICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKKworICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19sY2htb2RfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIGludCBtb2RlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTI4NDk5NzdkNjVmOGM2OGMgaW5wdXQ9OTBjNTY2M2M3NDY1ZDI0Zl0qLworewogICAgIGludCByZXM7Ci0gICAgbWVtc2V0KCZwYXRoLCAwLCBzaXplb2YocGF0aCkpOwotICAgIHBhdGguZnVuY3Rpb25fbmFtZSA9ICJsY2htb2QiOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTyZpOmxjaG1vZCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwgJmkpKQotICAgICAgICByZXR1cm4gTlVMTDsKICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgcmVzID0gbGNobW9kKHBhdGgubmFycm93LCBpKTsKKyAgICByZXMgPSBsY2htb2QocGF0aC0+bmFycm93LCBtb2RlKTsKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogICAgIGlmIChyZXMgPCAwKSB7Ci0gICAgICAgIHBhdGhfZXJyb3IoJnBhdGgpOwotICAgICAgICBwYXRoX2NsZWFudXAoJnBhdGgpOworICAgICAgICBwYXRoX2Vycm9yKHBhdGgpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0gICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKICAgICBQeV9SRVRVUk5fTk9ORTsKIH0KICNlbmRpZiAvKiBIQVZFX0xDSE1PRCAqLwogCiAKICNpZmRlZiBIQVZFX0NIRkxBR1MKLVB5RG9jX1NUUlZBUihwb3NpeF9jaGZsYWdzX19kb2NfXywKLSJjaGZsYWdzKHBhdGgsIGZsYWdzLCAqLCBmb2xsb3dfc3ltbGlua3M9VHJ1ZSlcblxuXAotU2V0IGZpbGUgZmxhZ3MuXG5cCi1cblwKLUlmIGZvbGxvd19zeW1saW5rcyBpcyBGYWxzZSwgYW5kIHRoZSBsYXN0IGVsZW1lbnQgb2YgdGhlIHBhdGggaXMgYSBzeW1ib2xpY1xuXAotICBsaW5rLCBjaGZsYWdzIHdpbGwgY2hhbmdlIGZsYWdzIG9uIHRoZSBzeW1ib2xpYyBsaW5rIGl0c2VsZiBpbnN0ZWFkIG9mIHRoZVxuXAotICBmaWxlIHRoZSBsaW5rIHBvaW50cyB0by5cblwKLWZvbGxvd19zeW1saW5rcyBtYXkgbm90IGJlIGltcGxlbWVudGVkIG9uIHlvdXIgcGxhdGZvcm0uICBJZiBpdCBpc1xuXAotdW5hdmFpbGFibGUsIHVzaW5nIGl0IHdpbGwgcmFpc2UgYSBOb3RJbXBsZW1lbnRlZEVycm9yLiIpOworLypbY2xpbmljIGlucHV0XQorb3MuY2hmbGFncworCisgICAgcGF0aDogcGF0aF90CisgICAgZmxhZ3M6IHVuc2lnbmVkX2xvbmcoYml0d2lzZT1UcnVlKQorICAgIGZvbGxvd19zeW1saW5rczogYm9vbD1UcnVlCisKK1NldCBmaWxlIGZsYWdzLgorCitJZiBmb2xsb3dfc3ltbGlua3MgaXMgRmFsc2UsIGFuZCB0aGUgbGFzdCBlbGVtZW50IG9mIHRoZSBwYXRoIGlzIGEgc3ltYm9saWMKKyAgbGluaywgY2hmbGFncyB3aWxsIGNoYW5nZSBmbGFncyBvbiB0aGUgc3ltYm9saWMgbGluayBpdHNlbGYgaW5zdGVhZCBvZiB0aGUKKyAgZmlsZSB0aGUgbGluayBwb2ludHMgdG8uCitmb2xsb3dfc3ltbGlua3MgbWF5IG5vdCBiZSBpbXBsZW1lbnRlZCBvbiB5b3VyIHBsYXRmb3JtLiAgSWYgaXQgaXMKK3VuYXZhaWxhYmxlLCB1c2luZyBpdCB3aWxsIHJhaXNlIGEgTm90SW1wbGVtZW50ZWRFcnJvci4KKworW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfY2hmbGFnc19fZG9jX18sCisiY2hmbGFncygkbW9kdWxlLCAvLCBwYXRoLCBmbGFncywgZm9sbG93X3N5bWxpbmtzPVRydWUpXG4iCisiLS1cbiIKKyJcbiIKKyJTZXQgZmlsZSBmbGFncy5cbiIKKyJcbiIKKyJJZiBmb2xsb3dfc3ltbGlua3MgaXMgRmFsc2UsIGFuZCB0aGUgbGFzdCBlbGVtZW50IG9mIHRoZSBwYXRoIGlzIGEgc3ltYm9saWNcbiIKKyIgIGxpbmssIGNoZmxhZ3Mgd2lsbCBjaGFuZ2UgZmxhZ3Mgb24gdGhlIHN5bWJvbGljIGxpbmsgaXRzZWxmIGluc3RlYWQgb2YgdGhlXG4iCisiICBmaWxlIHRoZSBsaW5rIHBvaW50cyB0by5cbiIKKyJmb2xsb3dfc3ltbGlua3MgbWF5IG5vdCBiZSBpbXBsZW1lbnRlZCBvbiB5b3VyIHBsYXRmb3JtLiAgSWYgaXQgaXNcbiIKKyJ1bmF2YWlsYWJsZSwgdXNpbmcgaXQgd2lsbCByYWlzZSBhIE5vdEltcGxlbWVudGVkRXJyb3IuIik7CisKKyNkZWZpbmUgT1NfQ0hGTEFHU19NRVRIT0RERUYgICAgXAorICAgIHsiY2hmbGFncyIsIChQeUNGdW5jdGlvbilvc19jaGZsYWdzLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfY2hmbGFnc19fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfY2hmbGFncyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCitvc19jaGZsYWdzX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoLCB1bnNpZ25lZCBsb25nIGZsYWdzLCBpbnQgZm9sbG93X3N5bWxpbmtzKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2NoZmxhZ3MoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgcGF0aF90IHBhdGg7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJwYXRoIiwgImZsYWdzIiwgImZvbGxvd19zeW1saW5rcyIsIE5VTEx9OworICAgIHBhdGhfdCBwYXRoID0gUEFUSF9UX0lOSVRJQUxJWkUoImNoZmxhZ3MiLCAicGF0aCIsIDAsIDApOwogICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAgICAgaW50IGZvbGxvd19zeW1saW5rcyA9IDE7Ci0gICAgaW50IHJlc3VsdDsKLSAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKLSAgICBzdGF0aWMgY2hhciAqa2V5d29yZHNbXSA9IHsicGF0aCIsICJmbGFncyIsICJmb2xsb3dfc3ltbGlua3MiLCBOVUxMfTsKIAotICAgIG1lbXNldCgmcGF0aCwgMCwgc2l6ZW9mKHBhdGgpKTsKLSAgICBwYXRoLmZ1bmN0aW9uX25hbWUgPSAiY2hmbGFncyI7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAiTyZrfCRpOmNoZmxhZ3MiLCBrZXl3b3JkcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAmZmxhZ3MsICZmb2xsb3dfc3ltbGlua3MpKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJPJmt8cDpjaGZsYWdzIiwgX2tleXdvcmRzLAorICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsICZmbGFncywgJmZvbGxvd19zeW1saW5rcykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19jaGZsYWdzX2ltcGwobW9kdWxlLCAmcGF0aCwgZmxhZ3MsIGZvbGxvd19zeW1saW5rcyk7CisKK2V4aXQ6CisgICAgLyogQ2xlYW51cCBmb3IgcGF0aCAqLworICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7CisKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfY2hmbGFnc19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgdW5zaWduZWQgbG9uZyBmbGFncywgaW50IGZvbGxvd19zeW1saW5rcykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0yNzY3OTI3YmYwNzFlM2NmIGlucHV0PTAzMjdlMjlmZWI4NzYyMzZdKi8KK3sKKyAgICBpbnQgcmVzdWx0OwogCiAjaWZuZGVmIEhBVkVfTENIRkxBR1MKICAgICBpZiAoZm9sbG93X3N5bWxpbmtzX3NwZWNpZmllZCgiY2hmbGFncyIsIGZvbGxvd19zeW1saW5rcykpCi0gICAgICAgIGdvdG8gZXhpdDsKKyAgICAgICAgcmV0dXJuIE5VTEw7CiAjZW5kaWYKIAogICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKICNpZmRlZiBIQVZFX0xDSEZMQUdTCiAgICAgaWYgKCFmb2xsb3dfc3ltbGlua3MpCi0gICAgICAgIHJlc3VsdCA9IGxjaGZsYWdzKHBhdGgubmFycm93LCBmbGFncyk7CisgICAgICAgIHJlc3VsdCA9IGxjaGZsYWdzKHBhdGgtPm5hcnJvdywgZmxhZ3MpOwogICAgIGVsc2UKICNlbmRpZgotICAgICAgICByZXN1bHQgPSBjaGZsYWdzKHBhdGgubmFycm93LCBmbGFncyk7CisgICAgICAgIHJlc3VsdCA9IGNoZmxhZ3MocGF0aC0+bmFycm93LCBmbGFncyk7CiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKIAotICAgIGlmIChyZXN1bHQpIHsKLSAgICAgICAgcmV0dXJuX3ZhbHVlID0gcGF0aF9lcnJvcigmcGF0aCk7Ci0gICAgICAgIGdvdG8gZXhpdDsKLSAgICB9CisgICAgaWYgKHJlc3VsdCkKKyAgICAgICAgcmV0dXJuIHBhdGhfZXJyb3IocGF0aCk7CiAKLSAgICByZXR1cm5fdmFsdWUgPSBQeV9Ob25lOwotICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKLQotZXhpdDoKLSAgICBwYXRoX2NsZWFudXAoJnBhdGgpOwotICAgIHJldHVybiByZXR1cm5fdmFsdWU7CisgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAjZW5kaWYgLyogSEFWRV9DSEZMQUdTICovCiAKKwogI2lmZGVmIEhBVkVfTENIRkxBR1MKLVB5RG9jX1NUUlZBUihwb3NpeF9sY2hmbGFnc19fZG9jX18sCi0ibGNoZmxhZ3MocGF0aCwgZmxhZ3MpXG5cblwKLVNldCBmaWxlIGZsYWdzLlxuXAotVGhpcyBmdW5jdGlvbiB3aWxsIG5vdCBmb2xsb3cgc3ltYm9saWMgbGlua3MuXG5cCi1FcXVpdmFsZW50IHRvIGNoZmxhZ3MocGF0aCwgZmxhZ3MsIGZvbGxvd19zeW1saW5rcz1GYWxzZSkuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5sY2hmbGFncworCisgICAgcGF0aDogcGF0aF90CisgICAgZmxhZ3M6IHVuc2lnbmVkX2xvbmcoYml0d2lzZT1UcnVlKQorCitTZXQgZmlsZSBmbGFncy4KKworVGhpcyBmdW5jdGlvbiB3aWxsIG5vdCBmb2xsb3cgc3ltYm9saWMgbGlua3MuCitFcXVpdmFsZW50IHRvIGNoZmxhZ3MocGF0aCwgZmxhZ3MsIGZvbGxvd19zeW1saW5rcz1GYWxzZSkuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19sY2hmbGFnc19fZG9jX18sCisibGNoZmxhZ3MoJG1vZHVsZSwgLywgcGF0aCwgZmxhZ3MpXG4iCisiLS1cbiIKKyJcbiIKKyJTZXQgZmlsZSBmbGFncy5cbiIKKyJcbiIKKyJUaGlzIGZ1bmN0aW9uIHdpbGwgbm90IGZvbGxvdyBzeW1ib2xpYyBsaW5rcy5cbiIKKyJFcXVpdmFsZW50IHRvIGNoZmxhZ3MocGF0aCwgZmxhZ3MsIGZvbGxvd19zeW1saW5rcz1GYWxzZSkuIik7CisKKyNkZWZpbmUgT1NfTENIRkxBR1NfTUVUSE9EREVGICAgIFwKKyAgICB7ImxjaGZsYWdzIiwgKFB5Q0Z1bmN0aW9uKW9zX2xjaGZsYWdzLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfbGNoZmxhZ3NfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2xjaGZsYWdzKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX2xjaGZsYWdzX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoLCB1bnNpZ25lZCBsb25nIGZsYWdzKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2xjaGZsYWdzKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewotICAgIHBhdGhfdCBwYXRoOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsicGF0aCIsICJmbGFncyIsIE5VTEx9OworICAgIHBhdGhfdCBwYXRoID0gUEFUSF9UX0lOSVRJQUxJWkUoImxjaGZsYWdzIiwgInBhdGgiLCAwLCAwKTsKICAgICB1bnNpZ25lZCBsb25nIGZsYWdzOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiTyZrOmxjaGZsYWdzIiwgX2tleXdvcmRzLAorICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsICZmbGFncykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19sY2hmbGFnc19pbXBsKG1vZHVsZSwgJnBhdGgsIGZsYWdzKTsKKworZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBwYXRoICovCisgICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKKworICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19sY2hmbGFnc19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgdW5zaWduZWQgbG9uZyBmbGFncykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1iYjkzYjZiOGE1ZTQ1YWE3IGlucHV0PWY5ZjgyZWE4YjU4NWNhOWRdKi8KK3sKICAgICBpbnQgcmVzOwotICAgIG1lbXNldCgmcGF0aCwgMCwgc2l6ZW9mKHBhdGgpKTsKLSAgICBwYXRoLmZ1bmN0aW9uX25hbWUgPSAibGNoZmxhZ3MiOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTyZrOmxjaGZsYWdzIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLCAmZmxhZ3MpKQotICAgICAgICByZXR1cm4gTlVMTDsKICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgcmVzID0gbGNoZmxhZ3MocGF0aC5uYXJyb3csIGZsYWdzKTsKKyAgICByZXMgPSBsY2hmbGFncyhwYXRoLT5uYXJyb3csIGZsYWdzKTsKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogICAgIGlmIChyZXMgPCAwKSB7Ci0gICAgICAgIHBhdGhfZXJyb3IoJnBhdGgpOwotICAgICAgICBwYXRoX2NsZWFudXAoJnBhdGgpOwotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgcmV0dXJuIHBhdGhfZXJyb3IocGF0aCk7CiAgICAgfQotICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7CiAgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAjZW5kaWYgLyogSEFWRV9MQ0hGTEFHUyAqLwogCisKICNpZmRlZiBIQVZFX0NIUk9PVAotUHlEb2NfU1RSVkFSKHBvc2l4X2Nocm9vdF9fZG9jX18sCi0iY2hyb290KHBhdGgpXG5cblwKLUNoYW5nZSByb290IGRpcmVjdG9yeSB0byBwYXRoLiIpOworLypbY2xpbmljIGlucHV0XQorb3MuY2hyb290CisgICAgcGF0aDogcGF0aF90CisKK0NoYW5nZSByb290IGRpcmVjdG9yeSB0byBwYXRoLgorCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19jaHJvb3RfX2RvY19fLAorImNocm9vdCgkbW9kdWxlLCAvLCBwYXRoKVxuIgorIi0tXG4iCisiXG4iCisiQ2hhbmdlIHJvb3QgZGlyZWN0b3J5IHRvIHBhdGguIik7CisKKyNkZWZpbmUgT1NfQ0hST09UX01FVEhPRERFRiAgICBcCisgICAgeyJjaHJvb3QiLCAoUHlDRnVuY3Rpb24pb3NfY2hyb290LCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfY2hyb290X19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9jaHJvb3QoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3NfY2hyb290X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2Nocm9vdChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKLSAgICByZXR1cm4gcG9zaXhfMXN0cigiY2hyb290IiwgYXJncywgIk8mOmNocm9vdCIsIGNocm9vdCk7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJwYXRoIiwgTlVMTH07CisgICAgcGF0aF90IHBhdGggPSBQQVRIX1RfSU5JVElBTElaRSgiY2hyb290IiwgInBhdGgiLCAwLCAwKTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgIk8mOmNocm9vdCIsIF9rZXl3b3JkcywKKyAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX2Nocm9vdF9pbXBsKG1vZHVsZSwgJnBhdGgpOworCitleGl0OgorICAgIC8qIENsZWFudXAgZm9yIHBhdGggKi8KKyAgICBwYXRoX2NsZWFudXAoJnBhdGgpOworCisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKIH0KLSNlbmRpZgorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfY2hyb290X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTE1YjEyNTZjYmU0ZjI0YTEgaW5wdXQ9MTQ4MjI5NjU2NTJjM2RjM10qLworeworICAgIGludCByZXM7CisgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgIHJlcyA9IGNocm9vdChwYXRoLT5uYXJyb3cpOworICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgaWYgKHJlcyA8IDApCisgICAgICAgIHJldHVybiBwYXRoX2Vycm9yKHBhdGgpOworICAgIFB5X1JFVFVSTl9OT05FOworfQorI2VuZGlmIC8qIEhBVkVfQ0hST09UICovCisKIAogI2lmZGVmIEhBVkVfRlNZTkMKLVB5RG9jX1NUUlZBUihwb3NpeF9mc3luY19fZG9jX18sCi0iZnN5bmMoZmlsZGVzKVxuXG5cCi1mb3JjZSB3cml0ZSBvZiBmaWxlIHdpdGggZmlsZWRlc2NyaXB0b3IgdG8gZGlzay4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmZzeW5jCisKKyAgICBmZDogZmlsZGVzCisKK0ZvcmNlIHdyaXRlIG9mIGZkIHRvIGRpc2suCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19mc3luY19fZG9jX18sCisiZnN5bmMoJG1vZHVsZSwgLywgZmQpXG4iCisiLS1cbiIKKyJcbiIKKyJGb3JjZSB3cml0ZSBvZiBmZCB0byBkaXNrLiIpOworCisjZGVmaW5lIE9TX0ZTWU5DX01FVEhPRERFRiAgICBcCisgICAgeyJmc3luYyIsIChQeUNGdW5jdGlvbilvc19mc3luYywgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX2ZzeW5jX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9mc3luYyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmZkb2JqKQorb3NfZnN5bmNfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZnN5bmMoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgcmV0dXJuIHBvc2l4X2ZpbGRlcyhmZG9iaiwgZnN5bmMpOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsiZmQiLCBOVUxMfTsKKyAgICBpbnQgZmQ7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJPJjpmc3luYyIsIF9rZXl3b3JkcywKKyAgICAgICAgZmlsZGVzX2NvbnZlcnRlciwgJmZkKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX2ZzeW5jX2ltcGwobW9kdWxlLCBmZCk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2ZzeW5jX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTU5ZjMyZDNhMGIzNjAxMzMgaW5wdXQ9MjFjMzY0NWMwNTY5NjdmMl0qLworeworICAgIHJldHVybiBwb3NpeF9maWxkZXNfZmQoZmQsIGZzeW5jKTsKIH0KICNlbmRpZiAvKiBIQVZFX0ZTWU5DICovCiAKKwogI2lmZGVmIEhBVkVfU1lOQwotUHlEb2NfU1RSVkFSKHBvc2l4X3N5bmNfX2RvY19fLAotInN5bmMoKVxuXG5cCi1Gb3JjZSB3cml0ZSBvZiBldmVyeXRoaW5nIHRvIGRpc2suIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5zeW5jCisKK0ZvcmNlIHdyaXRlIG9mIGV2ZXJ5dGhpbmcgdG8gZGlzay4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3N5bmNfX2RvY19fLAorInN5bmMoJG1vZHVsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIkZvcmNlIHdyaXRlIG9mIGV2ZXJ5dGhpbmcgdG8gZGlzay4iKTsKKworI2RlZmluZSBPU19TWU5DX01FVEhPRERFRiAgICBcCisgICAgeyJzeW5jIiwgKFB5Q0Z1bmN0aW9uKW9zX3N5bmMsIE1FVEhfTk9BUkdTLCBvc19zeW5jX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9zeW5jKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqbm9hcmdzKQorb3Nfc3luY19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc3luYyhQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBvc19zeW5jX2ltcGwobW9kdWxlKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3N5bmNfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTUyNmM0OTU2ODNkMGJiMzggaW5wdXQ9ODQ3NDlmZTVlOWI0MDRmZl0qLwogewogICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKICAgICBzeW5jKCk7CiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKICAgICBQeV9SRVRVUk5fTk9ORTsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIEhBVkVfU1lOQyAqLworCiAKICNpZmRlZiBIQVZFX0ZEQVRBU1lOQwotCiAjaWZkZWYgX19ocHV4CiBleHRlcm4gaW50IGZkYXRhc3luYyhpbnQpOyAvKiBPbiBIUC1VWCwgaW4gbGliYyBidXQgbm90IGluIHVuaXN0ZC5oICovCiAjZW5kaWYKIAotUHlEb2NfU1RSVkFSKHBvc2l4X2ZkYXRhc3luY19fZG9jX18sCi0iZmRhdGFzeW5jKGZpbGRlcylcblxuXAotZm9yY2Ugd3JpdGUgb2YgZmlsZSB3aXRoIGZpbGVkZXNjcmlwdG9yIHRvIGRpc2suXG5cCi0gZG9lcyBub3QgZm9yY2UgdXBkYXRlIG9mIG1ldGFkYXRhLiIpOworLypbY2xpbmljIGlucHV0XQorb3MuZmRhdGFzeW5jCisKKyAgICBmZDogZmlsZGVzCisKK0ZvcmNlIHdyaXRlIG9mIGZkIHRvIGRpc2sgd2l0aG91dCBmb3JjaW5nIHVwZGF0ZSBvZiBtZXRhZGF0YS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2ZkYXRhc3luY19fZG9jX18sCisiZmRhdGFzeW5jKCRtb2R1bGUsIC8sIGZkKVxuIgorIi0tXG4iCisiXG4iCisiRm9yY2Ugd3JpdGUgb2YgZmQgdG8gZGlzayB3aXRob3V0IGZvcmNpbmcgdXBkYXRlIG9mIG1ldGFkYXRhLiIpOworCisjZGVmaW5lIE9TX0ZEQVRBU1lOQ19NRVRIT0RERUYgICAgXAorICAgIHsiZmRhdGFzeW5jIiwgKFB5Q0Z1bmN0aW9uKW9zX2ZkYXRhc3luYywgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX2ZkYXRhc3luY19fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfZmRhdGFzeW5jKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqZmRvYmopCitvc19mZGF0YXN5bmNfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZmRhdGFzeW5jKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewotICAgIHJldHVybiBwb3NpeF9maWxkZXMoZmRvYmosIGZkYXRhc3luYyk7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJmZCIsIE5VTEx9OworICAgIGludCBmZDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgIk8mOmZkYXRhc3luYyIsIF9rZXl3b3JkcywKKyAgICAgICAgZmlsZGVzX2NvbnZlcnRlciwgJmZkKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX2ZkYXRhc3luY19pbXBsKG1vZHVsZSwgZmQpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19mZGF0YXN5bmNfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MjMzNWZkZmQzN2M5MjE4MCBpbnB1dD1iYzc0NzkxZWU1NGRkMjkxXSovCit7CisgICAgcmV0dXJuIHBvc2l4X2ZpbGRlc19mZChmZCwgZmRhdGFzeW5jKTsKIH0KICNlbmRpZiAvKiBIQVZFX0ZEQVRBU1lOQyAqLwogCiAKICNpZmRlZiBIQVZFX0NIT1dOCi1QeURvY19TVFJWQVIocG9zaXhfY2hvd25fX2RvY19fLAotImNob3duKHBhdGgsIHVpZCwgZ2lkLCAqLCBkaXJfZmQ9Tm9uZSwgZm9sbG93X3N5bWxpbmtzPVRydWUpXG5cblwKLUNoYW5nZSB0aGUgb3duZXIgYW5kIGdyb3VwIGlkIG9mIHBhdGggdG8gdGhlIG51bWVyaWMgdWlkIGFuZCBnaWQuXG5cCi1cblwKLXBhdGggbWF5IGFsd2F5cyBiZSBzcGVjaWZpZWQgYXMgYSBzdHJpbmcuXG5cCi1PbiBzb21lIHBsYXRmb3JtcywgcGF0aCBtYXkgYWxzbyBiZSBzcGVjaWZpZWQgYXMgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuXG5cCi0gIElmIHRoaXMgZnVuY3Rpb25hbGl0eSBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgcmFpc2VzIGFuIGV4Y2VwdGlvbi5cblwKLUlmIGRpcl9mZCBpcyBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZSBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksXG5cCi0gIGFuZCBwYXRoIHNob3VsZCBiZSByZWxhdGl2ZTsgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8gdGhhdCBkaXJlY3RvcnkuXG5cCi1JZiBmb2xsb3dfc3ltbGlua3MgaXMgRmFsc2UsIGFuZCB0aGUgbGFzdCBlbGVtZW50IG9mIHRoZSBwYXRoIGlzIGEgc3ltYm9saWNcblwKLSAgbGluaywgY2hvd24gd2lsbCBtb2RpZnkgdGhlIHN5bWJvbGljIGxpbmsgaXRzZWxmIGluc3RlYWQgb2YgdGhlIGZpbGUgdGhlXG5cCi0gIGxpbmsgcG9pbnRzIHRvLlxuXAotSXQgaXMgYW4gZXJyb3IgdG8gdXNlIGRpcl9mZCBvciBmb2xsb3dfc3ltbGlua3Mgd2hlbiBzcGVjaWZ5aW5nIHBhdGggYXNcblwKLSAgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuXG5cCi1kaXJfZmQgYW5kIGZvbGxvd19zeW1saW5rcyBtYXkgbm90IGJlIGltcGxlbWVudGVkIG9uIHlvdXIgcGxhdGZvcm0uXG5cCi0gIElmIHRoZXkgYXJlIHVuYXZhaWxhYmxlLCB1c2luZyB0aGVtIHdpbGwgcmFpc2UgYSBOb3RJbXBsZW1lbnRlZEVycm9yLiIpOworLypbY2xpbmljIGlucHV0XQorb3MuY2hvd24KKworICAgIHBhdGggOiBwYXRoX3QoYWxsb3dfZmQ9J1BBVEhfSEFWRV9GQ0hPV04nKQorICAgICAgICBQYXRoIHRvIGJlIGV4YW1pbmVkOyBjYW4gYmUgc3RyaW5nLCBieXRlcywgb3Igb3Blbi1maWxlLWRlc2NyaXB0b3IgaW50LgorCisgICAgdWlkOiB1aWRfdAorCisgICAgZ2lkOiBnaWRfdAorCisgICAgKgorCisgICAgZGlyX2ZkIDogZGlyX2ZkKHJlcXVpcmVzPSdmY2hvd25hdCcpID0gTm9uZQorICAgICAgICBJZiBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZSBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksCisgICAgICAgIGFuZCBwYXRoIHNob3VsZCBiZSByZWxhdGl2ZTsgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8gdGhhdAorICAgICAgICBkaXJlY3RvcnkuCisKKyAgICBmb2xsb3dfc3ltbGlua3M6IGJvb2wgPSBUcnVlCisgICAgICAgIElmIEZhbHNlLCBhbmQgdGhlIGxhc3QgZWxlbWVudCBvZiB0aGUgcGF0aCBpcyBhIHN5bWJvbGljIGxpbmssCisgICAgICAgIHN0YXQgd2lsbCBleGFtaW5lIHRoZSBzeW1ib2xpYyBsaW5rIGl0c2VsZiBpbnN0ZWFkIG9mIHRoZSBmaWxlCisgICAgICAgIHRoZSBsaW5rIHBvaW50cyB0by4KKworQ2hhbmdlIHRoZSBvd25lciBhbmQgZ3JvdXAgaWQgb2YgcGF0aCB0byB0aGUgbnVtZXJpYyB1aWQgYW5kIGdpZC5cCisKK3BhdGggbWF5IGFsd2F5cyBiZSBzcGVjaWZpZWQgYXMgYSBzdHJpbmcuCitPbiBzb21lIHBsYXRmb3JtcywgcGF0aCBtYXkgYWxzbyBiZSBzcGVjaWZpZWQgYXMgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuCisgIElmIHRoaXMgZnVuY3Rpb25hbGl0eSBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgcmFpc2VzIGFuIGV4Y2VwdGlvbi4KK0lmIGRpcl9mZCBpcyBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZSBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksCisgIGFuZCBwYXRoIHNob3VsZCBiZSByZWxhdGl2ZTsgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8gdGhhdCBkaXJlY3RvcnkuCitJZiBmb2xsb3dfc3ltbGlua3MgaXMgRmFsc2UsIGFuZCB0aGUgbGFzdCBlbGVtZW50IG9mIHRoZSBwYXRoIGlzIGEgc3ltYm9saWMKKyAgbGluaywgY2hvd24gd2lsbCBtb2RpZnkgdGhlIHN5bWJvbGljIGxpbmsgaXRzZWxmIGluc3RlYWQgb2YgdGhlIGZpbGUgdGhlCisgIGxpbmsgcG9pbnRzIHRvLgorSXQgaXMgYW4gZXJyb3IgdG8gdXNlIGRpcl9mZCBvciBmb2xsb3dfc3ltbGlua3Mgd2hlbiBzcGVjaWZ5aW5nIHBhdGggYXMKKyAgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuCitkaXJfZmQgYW5kIGZvbGxvd19zeW1saW5rcyBtYXkgbm90IGJlIGltcGxlbWVudGVkIG9uIHlvdXIgcGxhdGZvcm0uCisgIElmIHRoZXkgYXJlIHVuYXZhaWxhYmxlLCB1c2luZyB0aGVtIHdpbGwgcmFpc2UgYSBOb3RJbXBsZW1lbnRlZEVycm9yLgorCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19jaG93bl9fZG9jX18sCisiY2hvd24oJG1vZHVsZSwgLywgcGF0aCwgdWlkLCBnaWQsICosIGRpcl9mZD1Ob25lLCBmb2xsb3dfc3ltbGlua3M9VHJ1ZSlcbiIKKyItLVxuIgorIlxuIgorIkNoYW5nZSB0aGUgb3duZXIgYW5kIGdyb3VwIGlkIG9mIHBhdGggdG8gdGhlIG51bWVyaWMgdWlkIGFuZCBnaWQuXFxcbiIKKyJcbiIKKyIgIHBhdGhcbiIKKyIgICAgUGF0aCB0byBiZSBleGFtaW5lZDsgY2FuIGJlIHN0cmluZywgYnl0ZXMsIG9yIG9wZW4tZmlsZS1kZXNjcmlwdG9yIGludC5cbiIKKyIgIGRpcl9mZFxuIgorIiAgICBJZiBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZSBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksXG4iCisiICAgIGFuZCBwYXRoIHNob3VsZCBiZSByZWxhdGl2ZTsgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8gdGhhdFxuIgorIiAgICBkaXJlY3RvcnkuXG4iCisiICBmb2xsb3dfc3ltbGlua3NcbiIKKyIgICAgSWYgRmFsc2UsIGFuZCB0aGUgbGFzdCBlbGVtZW50IG9mIHRoZSBwYXRoIGlzIGEgc3ltYm9saWMgbGluayxcbiIKKyIgICAgc3RhdCB3aWxsIGV4YW1pbmUgdGhlIHN5bWJvbGljIGxpbmsgaXRzZWxmIGluc3RlYWQgb2YgdGhlIGZpbGVcbiIKKyIgICAgdGhlIGxpbmsgcG9pbnRzIHRvLlxuIgorIlxuIgorInBhdGggbWF5IGFsd2F5cyBiZSBzcGVjaWZpZWQgYXMgYSBzdHJpbmcuXG4iCisiT24gc29tZSBwbGF0Zm9ybXMsIHBhdGggbWF5IGFsc28gYmUgc3BlY2lmaWVkIGFzIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLlxuIgorIiAgSWYgdGhpcyBmdW5jdGlvbmFsaXR5IGlzIHVuYXZhaWxhYmxlLCB1c2luZyBpdCByYWlzZXMgYW4gZXhjZXB0aW9uLlxuIgorIklmIGRpcl9mZCBpcyBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZSBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksXG4iCisiICBhbmQgcGF0aCBzaG91bGQgYmUgcmVsYXRpdmU7IHBhdGggd2lsbCB0aGVuIGJlIHJlbGF0aXZlIHRvIHRoYXQgZGlyZWN0b3J5LlxuIgorIklmIGZvbGxvd19zeW1saW5rcyBpcyBGYWxzZSwgYW5kIHRoZSBsYXN0IGVsZW1lbnQgb2YgdGhlIHBhdGggaXMgYSBzeW1ib2xpY1xuIgorIiAgbGluaywgY2hvd24gd2lsbCBtb2RpZnkgdGhlIHN5bWJvbGljIGxpbmsgaXRzZWxmIGluc3RlYWQgb2YgdGhlIGZpbGUgdGhlXG4iCisiICBsaW5rIHBvaW50cyB0by5cbiIKKyJJdCBpcyBhbiBlcnJvciB0byB1c2UgZGlyX2ZkIG9yIGZvbGxvd19zeW1saW5rcyB3aGVuIHNwZWNpZnlpbmcgcGF0aCBhc1xuIgorIiAgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuXG4iCisiZGlyX2ZkIGFuZCBmb2xsb3dfc3ltbGlua3MgbWF5IG5vdCBiZSBpbXBsZW1lbnRlZCBvbiB5b3VyIHBsYXRmb3JtLlxuIgorIiAgSWYgdGhleSBhcmUgdW5hdmFpbGFibGUsIHVzaW5nIHRoZW0gd2lsbCByYWlzZSBhIE5vdEltcGxlbWVudGVkRXJyb3IuIik7CisKKyNkZWZpbmUgT1NfQ0hPV05fTUVUSE9EREVGICAgIFwKKyAgICB7ImNob3duIiwgKFB5Q0Z1bmN0aW9uKW9zX2Nob3duLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfY2hvd25fX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2Nob3duKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK29zX2Nob3duX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoLCB1aWRfdCB1aWQsIGdpZF90IGdpZCwgaW50IGRpcl9mZCwgaW50IGZvbGxvd19zeW1saW5rcyk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19jaG93bihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKLSAgICBwYXRoX3QgcGF0aDsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InBhdGgiLCAidWlkIiwgImdpZCIsICJkaXJfZmQiLCAiZm9sbG93X3N5bWxpbmtzIiwgTlVMTH07CisgICAgcGF0aF90IHBhdGggPSBQQVRIX1RfSU5JVElBTElaRSgiY2hvd24iLCAicGF0aCIsIDAsIFBBVEhfSEFWRV9GQ0hPV04pOwogICAgIHVpZF90IHVpZDsKICAgICBnaWRfdCBnaWQ7CiAgICAgaW50IGRpcl9mZCA9IERFRkFVTFRfRElSX0ZEOwogICAgIGludCBmb2xsb3dfc3ltbGlua3MgPSAxOwotICAgIGludCByZXN1bHQ7Ci0gICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7Ci0gICAgc3RhdGljIGNoYXIgKmtleXdvcmRzW10gPSB7InBhdGgiLCAidWlkIiwgImdpZCIsICJkaXJfZmQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmb2xsb3dfc3ltbGlua3MiLCBOVUxMfTsKIAotICAgIG1lbXNldCgmcGF0aCwgMCwgc2l6ZW9mKHBhdGgpKTsKLSAgICBwYXRoLmZ1bmN0aW9uX25hbWUgPSAiY2hvd24iOwotI2lmZGVmIEhBVkVfRkNIT1dOCi0gICAgcGF0aC5hbGxvd19mZCA9IDE7Ci0jZW5kaWYKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsICJPJk8mTyZ8JE8mcDpjaG93biIsIGtleXdvcmRzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfUHlfVWlkX0NvbnZlcnRlciwgJnVpZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfUHlfR2lkX0NvbnZlcnRlciwgJmdpZCwKLSNpZmRlZiBIQVZFX0ZDSE9XTkFUCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlyX2ZkX2NvbnZlcnRlciwgJmRpcl9mZCwKLSNlbHNlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlyX2ZkX3VuYXZhaWxhYmxlLCAmZGlyX2ZkLAotI2VuZGlmCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmZvbGxvd19zeW1saW5rcykpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgIk8mTyZPJnwkTyZwOmNob3duIiwgX2tleXdvcmRzLAorICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsIF9QeV9VaWRfQ29udmVydGVyLCAmdWlkLCBfUHlfR2lkX0NvbnZlcnRlciwgJmdpZCwgRkNIT1dOQVRfRElSX0ZEX0NPTlZFUlRFUiwgJmRpcl9mZCwgJmZvbGxvd19zeW1saW5rcykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19jaG93bl9pbXBsKG1vZHVsZSwgJnBhdGgsIHVpZCwgZ2lkLCBkaXJfZmQsIGZvbGxvd19zeW1saW5rcyk7CisKK2V4aXQ6CisgICAgLyogQ2xlYW51cCBmb3IgcGF0aCAqLworICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7CisKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfY2hvd25faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIHVpZF90IHVpZCwgZ2lkX3QgZ2lkLCBpbnQgZGlyX2ZkLCBpbnQgZm9sbG93X3N5bWxpbmtzKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTIyZjAxMWUzYjRmOWZmNDkgaW5wdXQ9YTYxY2MzNTU3NDgxNGQ1ZF0qLworeworICAgIGludCByZXN1bHQ7CiAKICNpZiAhKGRlZmluZWQoSEFWRV9MQ0hPV04pIHx8IGRlZmluZWQoSEFWRV9GQ0hPV05BVCkpCiAgICAgaWYgKGZvbGxvd19zeW1saW5rc19zcGVjaWZpZWQoImNob3duIiwgZm9sbG93X3N5bWxpbmtzKSkKLSAgICAgICAgZ290byBleGl0OworICAgICAgICByZXR1cm4gTlVMTDsKICNlbmRpZgotICAgIGlmIChkaXJfZmRfYW5kX2ZkX2ludmFsaWQoImNob3duIiwgZGlyX2ZkLCBwYXRoLmZkKSB8fAotICAgICAgICBmZF9hbmRfZm9sbG93X3N5bWxpbmtzX2ludmFsaWQoImNob3duIiwgcGF0aC5mZCwgZm9sbG93X3N5bWxpbmtzKSkKLSAgICAgICAgZ290byBleGl0OworICAgIGlmIChkaXJfZmRfYW5kX2ZkX2ludmFsaWQoImNob3duIiwgZGlyX2ZkLCBwYXRoLT5mZCkgfHwKKyAgICAgICAgZmRfYW5kX2ZvbGxvd19zeW1saW5rc19pbnZhbGlkKCJjaG93biIsIHBhdGgtPmZkLCBmb2xsb3dfc3ltbGlua3MpKQorICAgICAgICByZXR1cm4gTlVMTDsKIAogI2lmZGVmIF9fQVBQTEVfXwogICAgIC8qCkBAIC0zMzEwLDEwMiArNDAyOCwxNjggQEAKICAgICAgKi8KICAgICBpZiAoKCFmb2xsb3dfc3ltbGlua3MpICYmIChsY2hvd24gPT0gTlVMTCkpIHsKICAgICAgICAgZm9sbG93X3N5bWxpbmtzX3NwZWNpZmllZCgiY2hvd24iLCBmb2xsb3dfc3ltbGlua3MpOwotICAgICAgICBnb3RvIGV4aXQ7CisgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KICNlbmRpZgogCiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwogI2lmZGVmIEhBVkVfRkNIT1dOCi0gICAgaWYgKHBhdGguZmQgIT0gLTEpCi0gICAgICAgIHJlc3VsdCA9IGZjaG93bihwYXRoLmZkLCB1aWQsIGdpZCk7CisgICAgaWYgKHBhdGgtPmZkICE9IC0xKQorICAgICAgICByZXN1bHQgPSBmY2hvd24ocGF0aC0+ZmQsIHVpZCwgZ2lkKTsKICAgICBlbHNlCiAjZW5kaWYKICNpZmRlZiBIQVZFX0xDSE9XTgogICAgIGlmICgoIWZvbGxvd19zeW1saW5rcykgJiYgKGRpcl9mZCA9PSBERUZBVUxUX0RJUl9GRCkpCi0gICAgICAgIHJlc3VsdCA9IGxjaG93bihwYXRoLm5hcnJvdywgdWlkLCBnaWQpOworICAgICAgICByZXN1bHQgPSBsY2hvd24ocGF0aC0+bmFycm93LCB1aWQsIGdpZCk7CiAgICAgZWxzZQogI2VuZGlmCiAjaWZkZWYgSEFWRV9GQ0hPV05BVAogICAgIGlmICgoZGlyX2ZkICE9IERFRkFVTFRfRElSX0ZEKSB8fCAoIWZvbGxvd19zeW1saW5rcykpCi0gICAgICAgIHJlc3VsdCA9IGZjaG93bmF0KGRpcl9mZCwgcGF0aC5uYXJyb3csIHVpZCwgZ2lkLAorICAgICAgICByZXN1bHQgPSBmY2hvd25hdChkaXJfZmQsIHBhdGgtPm5hcnJvdywgdWlkLCBnaWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd19zeW1saW5rcyA/IDAgOiBBVF9TWU1MSU5LX05PRk9MTE9XKTsKICAgICBlbHNlCiAjZW5kaWYKLSAgICAgICAgcmVzdWx0ID0gY2hvd24ocGF0aC5uYXJyb3csIHVpZCwgZ2lkKTsKKyAgICAgICAgcmVzdWx0ID0gY2hvd24ocGF0aC0+bmFycm93LCB1aWQsIGdpZCk7CiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKIAotICAgIGlmIChyZXN1bHQpIHsKLSAgICAgICAgcmV0dXJuX3ZhbHVlID0gcGF0aF9lcnJvcigmcGF0aCk7Ci0gICAgICAgIGdvdG8gZXhpdDsKLSAgICB9CisgICAgaWYgKHJlc3VsdCkKKyAgICAgICAgcmV0dXJuIHBhdGhfZXJyb3IocGF0aCk7CiAKLSAgICByZXR1cm5fdmFsdWUgPSBQeV9Ob25lOwotICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKLQotZXhpdDoKLSAgICBwYXRoX2NsZWFudXAoJnBhdGgpOwotICAgIHJldHVybiByZXR1cm5fdmFsdWU7CisgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAjZW5kaWYgLyogSEFWRV9DSE9XTiAqLwogCisKICNpZmRlZiBIQVZFX0ZDSE9XTgotUHlEb2NfU1RSVkFSKHBvc2l4X2ZjaG93bl9fZG9jX18sCi0iZmNob3duKGZkLCB1aWQsIGdpZClcblxuXAotQ2hhbmdlIHRoZSBvd25lciBhbmQgZ3JvdXAgaWQgb2YgdGhlIGZpbGUgZ2l2ZW4gYnkgZmlsZSBkZXNjcmlwdG9yXG5cCi1mZCB0byB0aGUgbnVtZXJpYyB1aWQgYW5kIGdpZC4gIEVxdWl2YWxlbnQgdG8gb3MuY2hvd24oZmQsIHVpZCwgZ2lkKS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmZjaG93bgorCisgICAgZmQ6IGludAorICAgIHVpZDogdWlkX3QKKyAgICBnaWQ6IGdpZF90CisKK0NoYW5nZSB0aGUgb3duZXIgYW5kIGdyb3VwIGlkIG9mIHRoZSBmaWxlIHNwZWNpZmllZCBieSBmaWxlIGRlc2NyaXB0b3IuCisKK0VxdWl2YWxlbnQgdG8gb3MuY2hvd24oZmQsIHVpZCwgZ2lkKS4KKworW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfZmNob3duX19kb2NfXywKKyJmY2hvd24oJG1vZHVsZSwgLywgZmQsIHVpZCwgZ2lkKVxuIgorIi0tXG4iCisiXG4iCisiQ2hhbmdlIHRoZSBvd25lciBhbmQgZ3JvdXAgaWQgb2YgdGhlIGZpbGUgc3BlY2lmaWVkIGJ5IGZpbGUgZGVzY3JpcHRvci5cbiIKKyJcbiIKKyJFcXVpdmFsZW50IHRvIG9zLmNob3duKGZkLCB1aWQsIGdpZCkuIik7CisKKyNkZWZpbmUgT1NfRkNIT1dOX01FVEhPRERFRiAgICBcCisgICAgeyJmY2hvd24iLCAoUHlDRnVuY3Rpb24pb3NfZmNob3duLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfZmNob3duX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9mY2hvd24oUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3NfZmNob3duX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkLCB1aWRfdCB1aWQsIGdpZF90IGdpZCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19mY2hvd24oUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJmZCIsICJ1aWQiLCAiZ2lkIiwgTlVMTH07CiAgICAgaW50IGZkOwogICAgIHVpZF90IHVpZDsKICAgICBnaWRfdCBnaWQ7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJpTyZPJjpmY2hvd24iLCBfa2V5d29yZHMsCisgICAgICAgICZmZCwgX1B5X1VpZF9Db252ZXJ0ZXIsICZ1aWQsIF9QeV9HaWRfQ29udmVydGVyLCAmZ2lkKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX2ZjaG93bl9pbXBsKG1vZHVsZSwgZmQsIHVpZCwgZ2lkKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZmNob3duX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkLCB1aWRfdCB1aWQsIGdpZF90IGdpZCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD02ODc3ODFjYjdkODk3NGQ2IGlucHV0PTNhZjU0NGJhMWIxM2EwZDddKi8KK3sKICAgICBpbnQgcmVzOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaU8mTyY6ZmNob3duIiwgJmZkLAotICAgICAgICAgICAgICAgICAgICAgICAgICBfUHlfVWlkX0NvbnZlcnRlciwgJnVpZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgX1B5X0dpZF9Db252ZXJ0ZXIsICZnaWQpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgcmVzID0gZmNob3duKGZkLCB1aWQsIGdpZCk7Ci0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLSAgICBpZiAocmVzIDwgMCkKLSAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CisgICAgaW50IGFzeW5jX2VyciA9IDA7CisKKyAgICBkbyB7CisgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgcmVzID0gZmNob3duKGZkLCB1aWQsIGdpZCk7CisgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgfSB3aGlsZSAocmVzICE9IDAgJiYgZXJybm8gPT0gRUlOVFIgJiYgIShhc3luY19lcnIgPSBQeUVycl9DaGVja1NpZ25hbHMoKSkpOworICAgIGlmIChyZXMgIT0gMCkKKyAgICAgICAgcmV0dXJuICghYXN5bmNfZXJyKSA/IHBvc2l4X2Vycm9yKCkgOiBOVUxMOworCiAgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAjZW5kaWYgLyogSEFWRV9GQ0hPV04gKi8KIAorCiAjaWZkZWYgSEFWRV9MQ0hPV04KLVB5RG9jX1NUUlZBUihwb3NpeF9sY2hvd25fX2RvY19fLAotImxjaG93bihwYXRoLCB1aWQsIGdpZClcblxuXAotQ2hhbmdlIHRoZSBvd25lciBhbmQgZ3JvdXAgaWQgb2YgcGF0aCB0byB0aGUgbnVtZXJpYyB1aWQgYW5kIGdpZC5cblwKLVRoaXMgZnVuY3Rpb24gd2lsbCBub3QgZm9sbG93IHN5bWJvbGljIGxpbmtzLlxuXAotRXF1aXZhbGVudCB0byBvcy5jaG93bihwYXRoLCB1aWQsIGdpZCwgZm9sbG93X3N5bWxpbmtzPUZhbHNlKS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmxjaG93bgorCisgICAgcGF0aCA6IHBhdGhfdAorICAgIHVpZDogdWlkX3QKKyAgICBnaWQ6IGdpZF90CisKK0NoYW5nZSB0aGUgb3duZXIgYW5kIGdyb3VwIGlkIG9mIHBhdGggdG8gdGhlIG51bWVyaWMgdWlkIGFuZCBnaWQuCisKK1RoaXMgZnVuY3Rpb24gd2lsbCBub3QgZm9sbG93IHN5bWJvbGljIGxpbmtzLgorRXF1aXZhbGVudCB0byBvcy5jaG93bihwYXRoLCB1aWQsIGdpZCwgZm9sbG93X3N5bWxpbmtzPUZhbHNlKS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2xjaG93bl9fZG9jX18sCisibGNob3duKCRtb2R1bGUsIC8sIHBhdGgsIHVpZCwgZ2lkKVxuIgorIi0tXG4iCisiXG4iCisiQ2hhbmdlIHRoZSBvd25lciBhbmQgZ3JvdXAgaWQgb2YgcGF0aCB0byB0aGUgbnVtZXJpYyB1aWQgYW5kIGdpZC5cbiIKKyJcbiIKKyJUaGlzIGZ1bmN0aW9uIHdpbGwgbm90IGZvbGxvdyBzeW1ib2xpYyBsaW5rcy5cbiIKKyJFcXVpdmFsZW50IHRvIG9zLmNob3duKHBhdGgsIHVpZCwgZ2lkLCBmb2xsb3dfc3ltbGlua3M9RmFsc2UpLiIpOworCisjZGVmaW5lIE9TX0xDSE9XTl9NRVRIT0RERUYgICAgXAorICAgIHsibGNob3duIiwgKFB5Q0Z1bmN0aW9uKW9zX2xjaG93biwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX2xjaG93bl9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfbGNob3duKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX2xjaG93bl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgdWlkX3QgdWlkLCBnaWRfdCBnaWQpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfbGNob3duKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewotICAgIHBhdGhfdCBwYXRoOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsicGF0aCIsICJ1aWQiLCAiZ2lkIiwgTlVMTH07CisgICAgcGF0aF90IHBhdGggPSBQQVRIX1RfSU5JVElBTElaRSgibGNob3duIiwgInBhdGgiLCAwLCAwKTsKICAgICB1aWRfdCB1aWQ7CiAgICAgZ2lkX3QgZ2lkOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiTyZPJk8mOmxjaG93biIsIF9rZXl3b3JkcywKKyAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLCBfUHlfVWlkX0NvbnZlcnRlciwgJnVpZCwgX1B5X0dpZF9Db252ZXJ0ZXIsICZnaWQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfbGNob3duX2ltcGwobW9kdWxlLCAmcGF0aCwgdWlkLCBnaWQpOworCitleGl0OgorICAgIC8qIENsZWFudXAgZm9yIHBhdGggKi8KKyAgICBwYXRoX2NsZWFudXAoJnBhdGgpOworCisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2xjaG93bl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgdWlkX3QgdWlkLCBnaWRfdCBnaWQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YmYyNWZkYjBkMjUxMzBlMiBpbnB1dD1iMWM2MDE0ZDU2M2E3MTYxXSovCit7CiAgICAgaW50IHJlczsKLSAgICBtZW1zZXQoJnBhdGgsIDAsIHNpemVvZihwYXRoKSk7Ci0gICAgcGF0aC5mdW5jdGlvbl9uYW1lID0gImxjaG93biI7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPJk8mTyY6bGNob3duIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICBfUHlfVWlkX0NvbnZlcnRlciwgJnVpZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgX1B5X0dpZF9Db252ZXJ0ZXIsICZnaWQpKQotICAgICAgICByZXR1cm4gTlVMTDsKICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgcmVzID0gbGNob3duKHBhdGgubmFycm93LCB1aWQsIGdpZCk7CisgICAgcmVzID0gbGNob3duKHBhdGgtPm5hcnJvdywgdWlkLCBnaWQpOwogICAgIFB5X0VORF9BTExPV19USFJFQURTCiAgICAgaWYgKHJlcyA8IDApIHsKLSAgICAgICAgcGF0aF9lcnJvcigmcGF0aCk7Ci0gICAgICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7Ci0gICAgICAgIHJldHVybiBOVUxMOworICAgICAgICByZXR1cm4gcGF0aF9lcnJvcihwYXRoKTsKICAgICB9Ci0gICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKLSAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0gICAgcmV0dXJuIFB5X05vbmU7CisgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAjZW5kaWYgLyogSEFWRV9MQ0hPV04gKi8KIApAQCAtMzQ2MiwxNDggKzQyNDYsMjA5IEBACiAgICAgcmV0dXJuIFB5VW5pY29kZV9EZWNvZGVGU0RlZmF1bHQoYnVmKTsKIH0KIAotUHlEb2NfU1RSVkFSKHBvc2l4X2dldGN3ZF9fZG9jX18sCi0iZ2V0Y3dkKCkgLT4gcGF0aFxuXG5cCi1SZXR1cm4gYSB1bmljb2RlIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuIik7CisKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmdldGN3ZAorCitSZXR1cm4gYSB1bmljb2RlIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19nZXRjd2RfX2RvY19fLAorImdldGN3ZCgkbW9kdWxlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGEgdW5pY29kZSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LiIpOworCisjZGVmaW5lIE9TX0dFVENXRF9NRVRIT0RERUYgICAgXAorICAgIHsiZ2V0Y3dkIiwgKFB5Q0Z1bmN0aW9uKW9zX2dldGN3ZCwgTUVUSF9OT0FSR1MsIG9zX2dldGN3ZF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfZ2V0Y3dkX3VuaWNvZGUoUHlPYmplY3QgKnNlbGYpCitvc19nZXRjd2RfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2dldGN3ZChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBvc19nZXRjd2RfaW1wbChtb2R1bGUpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZ2V0Y3dkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kNzBiMjgxZGI1Yzc4ZmY3IGlucHV0PWYwNjkyMTFiYjcwZTNkMzldKi8KIHsKICAgICByZXR1cm4gcG9zaXhfZ2V0Y3dkKDApOwogfQogCi1QeURvY19TVFJWQVIocG9zaXhfZ2V0Y3dkYl9fZG9jX18sCi0iZ2V0Y3dkYigpIC0+IHBhdGhcblxuXAotUmV0dXJuIGEgYnl0ZXMgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS4iKTsKKworLypbY2xpbmljIGlucHV0XQorb3MuZ2V0Y3dkYgorCitSZXR1cm4gYSBieXRlcyBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfZ2V0Y3dkYl9fZG9jX18sCisiZ2V0Y3dkYigkbW9kdWxlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGEgYnl0ZXMgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS4iKTsKKworI2RlZmluZSBPU19HRVRDV0RCX01FVEhPRERFRiAgICBcCisgICAgeyJnZXRjd2RiIiwgKFB5Q0Z1bmN0aW9uKW9zX2dldGN3ZGIsIE1FVEhfTk9BUkdTLCBvc19nZXRjd2RiX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9nZXRjd2RfYnl0ZXMoUHlPYmplY3QgKnNlbGYpCitvc19nZXRjd2RiX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19nZXRjd2RiKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIG9zX2dldGN3ZGJfaW1wbChtb2R1bGUpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZ2V0Y3dkYl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NzVkYTQ3ZjJkNzVmOTE2NiBpbnB1dD1mNmY2YTM3OGRhZDNkOWNiXSovCiB7CiAgICAgcmV0dXJuIHBvc2l4X2dldGN3ZCgxKTsKIH0KIAorCiAjaWYgKCghZGVmaW5lZChIQVZFX0xJTkspKSAmJiBkZWZpbmVkKE1TX1dJTkRPV1MpKQogI2RlZmluZSBIQVZFX0xJTksgMQogI2VuZGlmCiAKICNpZmRlZiBIQVZFX0xJTksKLVB5RG9jX1NUUlZBUihwb3NpeF9saW5rX19kb2NfXywKLSJsaW5rKHNyYywgZHN0LCAqLCBzcmNfZGlyX2ZkPU5vbmUsIGRzdF9kaXJfZmQ9Tm9uZSwgZm9sbG93X3N5bWxpbmtzPVRydWUpXG5cblwKLUNyZWF0ZSBhIGhhcmQgbGluayB0byBhIGZpbGUuXG5cCi1cblwKLUlmIGVpdGhlciBzcmNfZGlyX2ZkIG9yIGRzdF9kaXJfZmQgaXMgbm90IE5vbmUsIGl0IHNob3VsZCBiZSBhIGZpbGVcblwKLSAgZGVzY3JpcHRvciBvcGVuIHRvIGEgZGlyZWN0b3J5LCBhbmQgdGhlIHJlc3BlY3RpdmUgcGF0aCBzdHJpbmcgKHNyYyBvciBkc3QpXG5cCi0gIHNob3VsZCBiZSByZWxhdGl2ZTsgdGhlIHBhdGggd2lsbCB0aGVuIGJlIHJlbGF0aXZlIHRvIHRoYXQgZGlyZWN0b3J5LlxuXAotSWYgZm9sbG93X3N5bWxpbmtzIGlzIEZhbHNlLCBhbmQgdGhlIGxhc3QgZWxlbWVudCBvZiBzcmMgaXMgYSBzeW1ib2xpY1xuXAotICBsaW5rLCBsaW5rIHdpbGwgY3JlYXRlIGEgbGluayB0byB0aGUgc3ltYm9saWMgbGluayBpdHNlbGYgaW5zdGVhZCBvZiB0aGVcblwKLSAgZmlsZSB0aGUgbGluayBwb2ludHMgdG8uXG5cCi1zcmNfZGlyX2ZkLCBkc3RfZGlyX2ZkLCBhbmQgZm9sbG93X3N5bWxpbmtzIG1heSBub3QgYmUgaW1wbGVtZW50ZWQgb24geW91clxuXAotICBwbGF0Zm9ybS4gIElmIHRoZXkgYXJlIHVuYXZhaWxhYmxlLCB1c2luZyB0aGVtIHdpbGwgcmFpc2UgYVxuXAotICBOb3RJbXBsZW1lbnRlZEVycm9yLiIpOworLypbY2xpbmljIGlucHV0XQorCitvcy5saW5rCisKKyAgICBzcmMgOiBwYXRoX3QKKyAgICBkc3QgOiBwYXRoX3QKKyAgICAqCisgICAgc3JjX2Rpcl9mZCA6IGRpcl9mZCA9IE5vbmUKKyAgICBkc3RfZGlyX2ZkIDogZGlyX2ZkID0gTm9uZQorICAgIGZvbGxvd19zeW1saW5rczogYm9vbCA9IFRydWUKKworQ3JlYXRlIGEgaGFyZCBsaW5rIHRvIGEgZmlsZS4KKworSWYgZWl0aGVyIHNyY19kaXJfZmQgb3IgZHN0X2Rpcl9mZCBpcyBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZQorICBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksIGFuZCB0aGUgcmVzcGVjdGl2ZSBwYXRoIHN0cmluZyAoc3JjIG9yIGRzdCkKKyAgc2hvdWxkIGJlIHJlbGF0aXZlOyB0aGUgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8gdGhhdCBkaXJlY3RvcnkuCitJZiBmb2xsb3dfc3ltbGlua3MgaXMgRmFsc2UsIGFuZCB0aGUgbGFzdCBlbGVtZW50IG9mIHNyYyBpcyBhIHN5bWJvbGljCisgIGxpbmssIGxpbmsgd2lsbCBjcmVhdGUgYSBsaW5rIHRvIHRoZSBzeW1ib2xpYyBsaW5rIGl0c2VsZiBpbnN0ZWFkIG9mIHRoZQorICBmaWxlIHRoZSBsaW5rIHBvaW50cyB0by4KK3NyY19kaXJfZmQsIGRzdF9kaXJfZmQsIGFuZCBmb2xsb3dfc3ltbGlua3MgbWF5IG5vdCBiZSBpbXBsZW1lbnRlZCBvbiB5b3VyCisgIHBsYXRmb3JtLiAgSWYgdGhleSBhcmUgdW5hdmFpbGFibGUsIHVzaW5nIHRoZW0gd2lsbCByYWlzZSBhCisgIE5vdEltcGxlbWVudGVkRXJyb3IuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19saW5rX19kb2NfXywKKyJsaW5rKCRtb2R1bGUsIC8sIHNyYywgZHN0LCAqLCBzcmNfZGlyX2ZkPU5vbmUsIGRzdF9kaXJfZmQ9Tm9uZSxcbiIKKyIgICAgIGZvbGxvd19zeW1saW5rcz1UcnVlKVxuIgorIi0tXG4iCisiXG4iCisiQ3JlYXRlIGEgaGFyZCBsaW5rIHRvIGEgZmlsZS5cbiIKKyJcbiIKKyJJZiBlaXRoZXIgc3JjX2Rpcl9mZCBvciBkc3RfZGlyX2ZkIGlzIG5vdCBOb25lLCBpdCBzaG91bGQgYmUgYSBmaWxlXG4iCisiICBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksIGFuZCB0aGUgcmVzcGVjdGl2ZSBwYXRoIHN0cmluZyAoc3JjIG9yIGRzdClcbiIKKyIgIHNob3VsZCBiZSByZWxhdGl2ZTsgdGhlIHBhdGggd2lsbCB0aGVuIGJlIHJlbGF0aXZlIHRvIHRoYXQgZGlyZWN0b3J5LlxuIgorIklmIGZvbGxvd19zeW1saW5rcyBpcyBGYWxzZSwgYW5kIHRoZSBsYXN0IGVsZW1lbnQgb2Ygc3JjIGlzIGEgc3ltYm9saWNcbiIKKyIgIGxpbmssIGxpbmsgd2lsbCBjcmVhdGUgYSBsaW5rIHRvIHRoZSBzeW1ib2xpYyBsaW5rIGl0c2VsZiBpbnN0ZWFkIG9mIHRoZVxuIgorIiAgZmlsZSB0aGUgbGluayBwb2ludHMgdG8uXG4iCisic3JjX2Rpcl9mZCwgZHN0X2Rpcl9mZCwgYW5kIGZvbGxvd19zeW1saW5rcyBtYXkgbm90IGJlIGltcGxlbWVudGVkIG9uIHlvdXJcbiIKKyIgIHBsYXRmb3JtLiAgSWYgdGhleSBhcmUgdW5hdmFpbGFibGUsIHVzaW5nIHRoZW0gd2lsbCByYWlzZSBhXG4iCisiICBOb3RJbXBsZW1lbnRlZEVycm9yLiIpOworCisjZGVmaW5lIE9TX0xJTktfTUVUSE9EREVGICAgIFwKKyAgICB7ImxpbmsiLCAoUHlDRnVuY3Rpb24pb3NfbGluaywgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX2xpbmtfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2xpbmsoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQorb3NfbGlua19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqc3JjLCBwYXRoX3QgKmRzdCwgaW50IHNyY19kaXJfZmQsIGludCBkc3RfZGlyX2ZkLCBpbnQgZm9sbG93X3N5bWxpbmtzKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2xpbmsoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgcGF0aF90IHNyYywgZHN0OworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsic3JjIiwgImRzdCIsICJzcmNfZGlyX2ZkIiwgImRzdF9kaXJfZmQiLCAiZm9sbG93X3N5bWxpbmtzIiwgTlVMTH07CisgICAgcGF0aF90IHNyYyA9IFBBVEhfVF9JTklUSUFMSVpFKCJsaW5rIiwgInNyYyIsIDAsIDApOworICAgIHBhdGhfdCBkc3QgPSBQQVRIX1RfSU5JVElBTElaRSgibGluayIsICJkc3QiLCAwLCAwKTsKICAgICBpbnQgc3JjX2Rpcl9mZCA9IERFRkFVTFRfRElSX0ZEOwogICAgIGludCBkc3RfZGlyX2ZkID0gREVGQVVMVF9ESVJfRkQ7CiAgICAgaW50IGZvbGxvd19zeW1saW5rcyA9IDE7Ci0gICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7Ci0gICAgc3RhdGljIGNoYXIgKmtleXdvcmRzW10gPSB7InNyYyIsICJkc3QiLCAic3JjX2Rpcl9mZCIsICJkc3RfZGlyX2ZkIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZm9sbG93X3N5bWxpbmtzIiwgTlVMTH07CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJPJk8mfCRPJk8mcDpsaW5rIiwgX2tleXdvcmRzLAorICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnNyYywgcGF0aF9jb252ZXJ0ZXIsICZkc3QsIGRpcl9mZF9jb252ZXJ0ZXIsICZzcmNfZGlyX2ZkLCBkaXJfZmRfY29udmVydGVyLCAmZHN0X2Rpcl9mZCwgJmZvbGxvd19zeW1saW5rcykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19saW5rX2ltcGwobW9kdWxlLCAmc3JjLCAmZHN0LCBzcmNfZGlyX2ZkLCBkc3RfZGlyX2ZkLCBmb2xsb3dfc3ltbGlua3MpOworCitleGl0OgorICAgIC8qIENsZWFudXAgZm9yIHNyYyAqLworICAgIHBhdGhfY2xlYW51cCgmc3JjKTsKKyAgICAvKiBDbGVhbnVwIGZvciBkc3QgKi8KKyAgICBwYXRoX2NsZWFudXAoJmRzdCk7CisKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfbGlua19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqc3JjLCBwYXRoX3QgKmRzdCwgaW50IHNyY19kaXJfZmQsIGludCBkc3RfZGlyX2ZkLCBpbnQgZm9sbG93X3N5bWxpbmtzKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTUzNDc3NjYyZmUwMmUxODMgaW5wdXQ9YjAwOTVlYmJjYmFhN2UwNF0qLworewogI2lmZGVmIE1TX1dJTkRPV1MKICAgICBCT09MIHJlc3VsdDsKICNlbHNlCiAgICAgaW50IHJlc3VsdDsKICNlbmRpZgogCi0gICAgbWVtc2V0KCZzcmMsIDAsIHNpemVvZihzcmMpKTsKLSAgICBtZW1zZXQoJmRzdCwgMCwgc2l6ZW9mKGRzdCkpOwotICAgIHNyYy5mdW5jdGlvbl9uYW1lID0gImxpbmsiOwotICAgIGRzdC5mdW5jdGlvbl9uYW1lID0gImxpbmsiOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgIk8mTyZ8TyZPJnA6bGluayIsIGtleXdvcmRzLAotICAgICAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZzcmMsCi0gICAgICAgICAgICBwYXRoX2NvbnZlcnRlciwgJmRzdCwKLSAgICAgICAgICAgIGRpcl9mZF9jb252ZXJ0ZXIsICZzcmNfZGlyX2ZkLAotICAgICAgICAgICAgZGlyX2ZkX2NvbnZlcnRlciwgJmRzdF9kaXJfZmQsCi0gICAgICAgICAgICAmZm9sbG93X3N5bWxpbmtzKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KICNpZm5kZWYgSEFWRV9MSU5LQVQKICAgICBpZiAoKHNyY19kaXJfZmQgIT0gREVGQVVMVF9ESVJfRkQpIHx8IChkc3RfZGlyX2ZkICE9IERFRkFVTFRfRElSX0ZEKSkgewogICAgICAgICBhcmd1bWVudF91bmF2YWlsYWJsZV9lcnJvcigibGluayIsICJzcmNfZGlyX2ZkIGFuZCBkc3RfZGlyX2ZkIik7Ci0gICAgICAgIGdvdG8gZXhpdDsKKyAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogI2VuZGlmCiAKLSAgICBpZiAoKHNyYy5uYXJyb3cgJiYgZHN0LndpZGUpIHx8IChzcmMud2lkZSAmJiBkc3QubmFycm93KSkgeworICAgIGlmICgoc3JjLT5uYXJyb3cgJiYgZHN0LT53aWRlKSB8fCAoc3JjLT53aWRlICYmIGRzdC0+bmFycm93KSkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfTm90SW1wbGVtZW50ZWRFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICJsaW5rOiBzcmMgYW5kIGRzdCBtdXN0IGJlIHRoZSBzYW1lIHR5cGUiKTsKLSAgICAgICAgZ290byBleGl0OworICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKICNpZmRlZiBNU19XSU5ET1dTCiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIGlmIChzcmMud2lkZSkKLSAgICAgICAgcmVzdWx0ID0gQ3JlYXRlSGFyZExpbmtXKGRzdC53aWRlLCBzcmMud2lkZSwgTlVMTCk7CisgICAgaWYgKHNyYy0+d2lkZSkKKyAgICAgICAgcmVzdWx0ID0gQ3JlYXRlSGFyZExpbmtXKGRzdC0+d2lkZSwgc3JjLT53aWRlLCBOVUxMKTsKICAgICBlbHNlCi0gICAgICAgIHJlc3VsdCA9IENyZWF0ZUhhcmRMaW5rQShkc3QubmFycm93LCBzcmMubmFycm93LCBOVUxMKTsKKyAgICAgICAgcmVzdWx0ID0gQ3JlYXRlSGFyZExpbmtBKGRzdC0+bmFycm93LCBzcmMtPm5hcnJvdywgTlVMTCk7CiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKIAotICAgIGlmICghcmVzdWx0KSB7Ci0gICAgICAgIHJldHVybl92YWx1ZSA9IHBhdGhfZXJyb3IyKCZzcmMsICZkc3QpOwotICAgICAgICBnb3RvIGV4aXQ7Ci0gICAgfQorICAgIGlmICghcmVzdWx0KQorICAgICAgICByZXR1cm4gcGF0aF9lcnJvcjIoc3JjLCBkc3QpOwogI2Vsc2UKICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCiAjaWZkZWYgSEFWRV9MSU5LQVQKICAgICBpZiAoKHNyY19kaXJfZmQgIT0gREVGQVVMVF9ESVJfRkQpIHx8CiAgICAgICAgIChkc3RfZGlyX2ZkICE9IERFRkFVTFRfRElSX0ZEKSB8fAogICAgICAgICAoIWZvbGxvd19zeW1saW5rcykpCi0gICAgICAgIHJlc3VsdCA9IGxpbmthdChzcmNfZGlyX2ZkLCBzcmMubmFycm93LAotICAgICAgICAgICAgZHN0X2Rpcl9mZCwgZHN0Lm5hcnJvdywKKyAgICAgICAgcmVzdWx0ID0gbGlua2F0KHNyY19kaXJfZmQsIHNyYy0+bmFycm93LAorICAgICAgICAgICAgZHN0X2Rpcl9mZCwgZHN0LT5uYXJyb3csCiAgICAgICAgICAgICBmb2xsb3dfc3ltbGlua3MgPyBBVF9TWU1MSU5LX0ZPTExPVyA6IDApOwogICAgIGVsc2UKICNlbmRpZgotICAgICAgICByZXN1bHQgPSBsaW5rKHNyYy5uYXJyb3csIGRzdC5uYXJyb3cpOworICAgICAgICByZXN1bHQgPSBsaW5rKHNyYy0+bmFycm93LCBkc3QtPm5hcnJvdyk7CiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKIAotICAgIGlmIChyZXN1bHQpIHsKLSAgICAgICAgcmV0dXJuX3ZhbHVlID0gcGF0aF9lcnJvcjIoJnNyYywgJmRzdCk7Ci0gICAgICAgIGdvdG8gZXhpdDsKLSAgICB9CisgICAgaWYgKHJlc3VsdCkKKyAgICAgICAgcmV0dXJuIHBhdGhfZXJyb3IyKHNyYywgZHN0KTsKICNlbmRpZgogCi0gICAgcmV0dXJuX3ZhbHVlID0gUHlfTm9uZTsKLSAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0KLWV4aXQ6Ci0gICAgcGF0aF9jbGVhbnVwKCZzcmMpOwotICAgIHBhdGhfY2xlYW51cCgmZHN0KTsKLSAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworICAgIFB5X1JFVFVSTl9OT05FOwogfQogI2VuZGlmCiAKIAotCi1QeURvY19TVFJWQVIocG9zaXhfbGlzdGRpcl9fZG9jX18sCi0ibGlzdGRpcihwYXRoPScuJykgLT4gbGlzdF9vZl9maWxlbmFtZXNcblxuXAotUmV0dXJuIGEgbGlzdCBjb250YWluaW5nIHRoZSBuYW1lcyBvZiB0aGUgZmlsZXMgaW4gdGhlIGRpcmVjdG9yeS5cblwKLVRoZSBsaXN0IGlzIGluIGFyYml0cmFyeSBvcmRlci4gIEl0IGRvZXMgbm90IGluY2x1ZGUgdGhlIHNwZWNpYWxcblwKLWVudHJpZXMgJy4nIGFuZCAnLi4nIGV2ZW4gaWYgdGhleSBhcmUgcHJlc2VudCBpbiB0aGUgZGlyZWN0b3J5LlxuXAotXG5cCi1wYXRoIGNhbiBiZSBzcGVjaWZpZWQgYXMgZWl0aGVyIHN0ciBvciBieXRlcy4gIElmIHBhdGggaXMgYnl0ZXMsXG5cCi0gIHRoZSBmaWxlbmFtZXMgcmV0dXJuZWQgd2lsbCBhbHNvIGJlIGJ5dGVzOyBpbiBhbGwgb3RoZXIgY2lyY3Vtc3RhbmNlc1xuXAotICB0aGUgZmlsZW5hbWVzIHJldHVybmVkIHdpbGwgYmUgc3RyLlxuXAotT24gc29tZSBwbGF0Zm9ybXMsIHBhdGggbWF5IGFsc28gYmUgc3BlY2lmaWVkIGFzIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yO1xuXAotICB0aGUgZmlsZSBkZXNjcmlwdG9yIG11c3QgcmVmZXIgdG8gYSBkaXJlY3RvcnkuXG5cCi0gIElmIHRoaXMgZnVuY3Rpb25hbGl0eSBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgcmFpc2VzIE5vdEltcGxlbWVudGVkRXJyb3IuIik7Ci0KICNpZiBkZWZpbmVkKE1TX1dJTkRPV1MpICYmICFkZWZpbmVkKEhBVkVfT1BFTkRJUikKIHN0YXRpYyBQeU9iamVjdCAqCiBfbGlzdGRpcl93aW5kb3dzX25vX29wZW5kaXIocGF0aF90ICpwYXRoLCBQeU9iamVjdCAqbGlzdCkKIHsKLSAgICBzdGF0aWMgY2hhciAqa2V5d29yZHNbXSA9IHsicGF0aCIsIE5VTEx9OwogICAgIFB5T2JqZWN0ICp2OwogICAgIEhBTkRMRSBoRmluZEZpbGUgPSBJTlZBTElEX0hBTkRMRV9WQUxVRTsKICAgICBCT09MIHJlc3VsdDsKQEAgLTM4NjIsMzggKzQ3MDcsODUgQEAKIH0gIC8qIGVuZCBvZiBfcG9zaXhfbGlzdGRpciAqLwogI2VuZGlmICAvKiB3aGljaCBPUyAqLwogCisKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmxpc3RkaXIKKworICAgIHBhdGggOiBwYXRoX3QobnVsbGFibGU9VHJ1ZSwgYWxsb3dfZmQ9J1BBVEhfSEFWRV9GRE9QRU5ESVInKSA9IE5vbmUKKworUmV0dXJuIGEgbGlzdCBjb250YWluaW5nIHRoZSBuYW1lcyBvZiB0aGUgZmlsZXMgaW4gdGhlIGRpcmVjdG9yeS4KKworcGF0aCBjYW4gYmUgc3BlY2lmaWVkIGFzIGVpdGhlciBzdHIgb3IgYnl0ZXMuICBJZiBwYXRoIGlzIGJ5dGVzLAorICB0aGUgZmlsZW5hbWVzIHJldHVybmVkIHdpbGwgYWxzbyBiZSBieXRlczsgaW4gYWxsIG90aGVyIGNpcmN1bXN0YW5jZXMKKyAgdGhlIGZpbGVuYW1lcyByZXR1cm5lZCB3aWxsIGJlIHN0ci4KK0lmIHBhdGggaXMgTm9uZSwgdXNlcyB0aGUgcGF0aD0nLicuCitPbiBzb21lIHBsYXRmb3JtcywgcGF0aCBtYXkgYWxzbyBiZSBzcGVjaWZpZWQgYXMgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3I7XAorICB0aGUgZmlsZSBkZXNjcmlwdG9yIG11c3QgcmVmZXIgdG8gYSBkaXJlY3RvcnkuCisgIElmIHRoaXMgZnVuY3Rpb25hbGl0eSBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgcmFpc2VzIE5vdEltcGxlbWVudGVkRXJyb3IuCisKK1RoZSBsaXN0IGlzIGluIGFyYml0cmFyeSBvcmRlci4gIEl0IGRvZXMgbm90IGluY2x1ZGUgdGhlIHNwZWNpYWwKK2VudHJpZXMgJy4nIGFuZCAnLi4nIGV2ZW4gaWYgdGhleSBhcmUgcHJlc2VudCBpbiB0aGUgZGlyZWN0b3J5LgorCisKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2xpc3RkaXJfX2RvY19fLAorImxpc3RkaXIoJG1vZHVsZSwgLywgcGF0aD1Ob25lKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGEgbGlzdCBjb250YWluaW5nIHRoZSBuYW1lcyBvZiB0aGUgZmlsZXMgaW4gdGhlIGRpcmVjdG9yeS5cbiIKKyJcbiIKKyJwYXRoIGNhbiBiZSBzcGVjaWZpZWQgYXMgZWl0aGVyIHN0ciBvciBieXRlcy4gIElmIHBhdGggaXMgYnl0ZXMsXG4iCisiICB0aGUgZmlsZW5hbWVzIHJldHVybmVkIHdpbGwgYWxzbyBiZSBieXRlczsgaW4gYWxsIG90aGVyIGNpcmN1bXN0YW5jZXNcbiIKKyIgIHRoZSBmaWxlbmFtZXMgcmV0dXJuZWQgd2lsbCBiZSBzdHIuXG4iCisiSWYgcGF0aCBpcyBOb25lLCB1c2VzIHRoZSBwYXRoPVwnLlwnLlxuIgorIk9uIHNvbWUgcGxhdGZvcm1zLCBwYXRoIG1heSBhbHNvIGJlIHNwZWNpZmllZCBhcyBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvcjtcXFxuIgorIiAgdGhlIGZpbGUgZGVzY3JpcHRvciBtdXN0IHJlZmVyIHRvIGEgZGlyZWN0b3J5LlxuIgorIiAgSWYgdGhpcyBmdW5jdGlvbmFsaXR5IGlzIHVuYXZhaWxhYmxlLCB1c2luZyBpdCByYWlzZXMgTm90SW1wbGVtZW50ZWRFcnJvci5cbiIKKyJcbiIKKyJUaGUgbGlzdCBpcyBpbiBhcmJpdHJhcnkgb3JkZXIuICBJdCBkb2VzIG5vdCBpbmNsdWRlIHRoZSBzcGVjaWFsXG4iCisiZW50cmllcyBcJy5cJyBhbmQgXCcuLlwnIGV2ZW4gaWYgdGhleSBhcmUgcHJlc2VudCBpbiB0aGUgZGlyZWN0b3J5LiIpOworCisjZGVmaW5lIE9TX0xJU1RESVJfTUVUSE9EREVGICAgIFwKKyAgICB7Imxpc3RkaXIiLCAoUHlDRnVuY3Rpb24pb3NfbGlzdGRpciwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX2xpc3RkaXJfX2RvY19ffSwKKwogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2xpc3RkaXIoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQorb3NfbGlzdGRpcl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19saXN0ZGlyKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewotICAgIHBhdGhfdCBwYXRoOwotICAgIFB5T2JqZWN0ICpsaXN0ID0gTlVMTDsKLSAgICBzdGF0aWMgY2hhciAqa2V5d29yZHNbXSA9IHsicGF0aCIsIE5VTEx9OwotICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWU7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJwYXRoIiwgTlVMTH07CisgICAgcGF0aF90IHBhdGggPSBQQVRIX1RfSU5JVElBTElaRSgibGlzdGRpciIsICJwYXRoIiwgMSwgUEFUSF9IQVZFX0ZET1BFTkRJUik7CiAKLSAgICBtZW1zZXQoJnBhdGgsIDAsIHNpemVvZihwYXRoKSk7Ci0gICAgcGF0aC5mdW5jdGlvbl9uYW1lID0gImxpc3RkaXIiOwotICAgIHBhdGgubnVsbGFibGUgPSAxOwotI2lmZGVmIEhBVkVfRkRPUEVORElSCi0gICAgcGF0aC5hbGxvd19mZCA9IDE7Ci0gICAgcGF0aC5mZCA9IC0xOwotI2VuZGlmCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAifE8mOmxpc3RkaXIiLCBfa2V5d29yZHMsCisgICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19saXN0ZGlyX2ltcGwobW9kdWxlLCAmcGF0aCk7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsICJ8TyY6bGlzdGRpciIsIGtleXdvcmRzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCkpIHsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotCi0jaWYgZGVmaW5lZChNU19XSU5ET1dTKSAmJiAhZGVmaW5lZChIQVZFX09QRU5ESVIpCi0gICAgcmV0dXJuX3ZhbHVlID0gX2xpc3RkaXJfd2luZG93c19ub19vcGVuZGlyKCZwYXRoLCBsaXN0KTsKLSNlbHNlCi0gICAgcmV0dXJuX3ZhbHVlID0gX3Bvc2l4X2xpc3RkaXIoJnBhdGgsIGxpc3QpOwotI2VuZGlmCitleGl0OgorICAgIC8qIENsZWFudXAgZm9yIHBhdGggKi8KICAgICBwYXRoX2NsZWFudXAoJnBhdGgpOworCiAgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKIH0KIAorc3RhdGljIFB5T2JqZWN0ICoKK29zX2xpc3RkaXJfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZTE1OWJkOWJlNjkwOTAxOCBpbnB1dD0wOWUzMDA0MTZlM2NkNzI5XSovCit7CisjaWYgZGVmaW5lZChNU19XSU5ET1dTKSAmJiAhZGVmaW5lZChIQVZFX09QRU5ESVIpCisgICAgcmV0dXJuIF9saXN0ZGlyX3dpbmRvd3Nfbm9fb3BlbmRpcihwYXRoLCBOVUxMKTsKKyNlbHNlCisgICAgcmV0dXJuIF9wb3NpeF9saXN0ZGlyKHBhdGgsIE5VTEwpOworI2VuZGlmCit9CisKICNpZmRlZiBNU19XSU5ET1dTCiAvKiBBIGhlbHBlciBmdW5jdGlvbiBmb3IgYWJzcGF0aCBvbiB3aW4zMiAqLworLyogQUMgMy41OiBwcm9iYWJseSBqdXN0IGNvbnZlcnQgdG8gdXNpbmcgcGF0aCBjb252ZXJ0ZXIgKi8KIHN0YXRpYyBQeU9iamVjdCAqCiBwb3NpeF9fZ2V0ZnVsbHBhdGhuYW1lKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKQEAgLTM5NDksMjUgKzQ4NDEsNTkgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZywgTlVMTCk7CiAgICAgfQogICAgIHJldHVybiBQeUJ5dGVzX0Zyb21TdHJpbmcob3V0YnVmKTsKLX0gLyogZW5kIG9mIHBvc2l4X19nZXRmdWxscGF0aG5hbWUgKi8KK30KIAogCisvKltjbGluaWMgaW5wdXRdCitvcy5fZ2V0ZmluYWxwYXRobmFtZQogCi0vKiBBIGhlbHBlciBmdW5jdGlvbiBmb3Igc2FtZXBhdGggb24gd2luZG93cyAqLworICAgIHBhdGg6IHVuaWNvZGUKKyAgICAvCisKK0EgaGVscGVyIGZ1bmN0aW9uIGZvciBzYW1lcGF0aCBvbiB3aW5kb3dzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfX2dldGZpbmFscGF0aG5hbWVfX2RvY19fLAorIl9nZXRmaW5hbHBhdGhuYW1lKCRtb2R1bGUsIHBhdGgsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJBIGhlbHBlciBmdW5jdGlvbiBmb3Igc2FtZXBhdGggb24gd2luZG93cy4iKTsKKworI2RlZmluZSBPU19fR0VURklOQUxQQVRITkFNRV9NRVRIT0RERUYgICAgXAorICAgIHsiX2dldGZpbmFscGF0aG5hbWUiLCAoUHlDRnVuY3Rpb24pb3NfX2dldGZpbmFscGF0aG5hbWUsIE1FVEhfVkFSQVJHUywgb3NfX2dldGZpbmFscGF0aG5hbWVfX2RvY19ffSwKKwogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X19nZXRmaW5hbHBhdGhuYW1lKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX19nZXRmaW5hbHBhdGhuYW1lX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKnBhdGgpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfX2dldGZpbmFscGF0aG5hbWUoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlPYmplY3QgKnBhdGg7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIlU6X2dldGZpbmFscGF0aG5hbWUiLAorICAgICAgICAmcGF0aCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19fZ2V0ZmluYWxwYXRobmFtZV9pbXBsKG1vZHVsZSwgcGF0aCk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX19nZXRmaW5hbHBhdGhuYW1lX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKnBhdGgpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NDU2M2M2ZWFjZjFiMDg4MSBpbnB1dD03MWQ1ZTg5MzM0ODkxYmY0XSovCiB7CiAgICAgSEFORExFIGhGaWxlOwogICAgIGludCBidWZfc2l6ZTsKICAgICB3Y2hhcl90ICp0YXJnZXRfcGF0aDsKICAgICBpbnQgcmVzdWx0X2xlbmd0aDsKLSAgICBQeU9iamVjdCAqcG8sICpyZXN1bHQ7Ci0gICAgd2NoYXJfdCAqcGF0aDsKKyAgICBQeU9iamVjdCAqcmVzdWx0OworICAgIHdjaGFyX3QgKnBhdGhfd2NoYXI7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIlV8Ol9nZXRmaW5hbHBhdGhuYW1lIiwgJnBvKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgcGF0aCA9IFB5VW5pY29kZV9Bc1VuaWNvZGUocG8pOwotICAgIGlmIChwYXRoID09IE5VTEwpCisgICAgcGF0aF93Y2hhciA9IFB5VW5pY29kZV9Bc1VuaWNvZGUocGF0aCk7CisgICAgaWYgKHBhdGhfd2NoYXIgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICBpZighY2hlY2tfR2V0RmluYWxQYXRoTmFtZUJ5SGFuZGxlKCkpIHsKQEAgLTM5NzgsNyArNDkwNCw3IEBACiAgICAgfQogCiAgICAgaEZpbGUgPSBDcmVhdGVGaWxlVygKLSAgICAgICAgcGF0aCwKKyAgICAgICAgcGF0aF93Y2hhciwKICAgICAgICAgMCwgLyogZGVzaXJlZCBhY2Nlc3MgKi8KICAgICAgICAgMCwgLyogc2hhcmUgbW9kZSAqLwogICAgICAgICBOVUxMLCAvKiBzZWN1cml0eSBhdHRyaWJ1dGVzICovCkBAIC0zOTg4LDE0ICs0OTE0LDE0IEBACiAgICAgICAgIE5VTEwpOwogCiAgICAgaWYoaEZpbGUgPT0gSU5WQUxJRF9IQU5ETEVfVkFMVUUpCi0gICAgICAgIHJldHVybiB3aW4zMl9lcnJvcl9vYmplY3QoIkNyZWF0ZUZpbGVXIiwgcG8pOworICAgICAgICByZXR1cm4gd2luMzJfZXJyb3Jfb2JqZWN0KCJDcmVhdGVGaWxlVyIsIHBhdGgpOwogCiAgICAgLyogV2UgaGF2ZSBhIGdvb2QgaGFuZGxlIHRvIHRoZSB0YXJnZXQsIHVzZSBpdCB0byBkZXRlcm1pbmUgdGhlCiAgICAgICAgdGFyZ2V0IHBhdGggbmFtZS4gKi8KICAgICBidWZfc2l6ZSA9IFB5X0dldEZpbmFsUGF0aE5hbWVCeUhhbmRsZVcoaEZpbGUsIDAsIDAsIFZPTFVNRV9OQU1FX05UKTsKIAogICAgIGlmKCFidWZfc2l6ZSkKLSAgICAgICAgcmV0dXJuIHdpbjMyX2Vycm9yX29iamVjdCgiR2V0RmluYWxQYXRoTmFtZUJ5SGFuZGxlIiwgcG8pOworICAgICAgICByZXR1cm4gd2luMzJfZXJyb3Jfb2JqZWN0KCJHZXRGaW5hbFBhdGhOYW1lQnlIYW5kbGUiLCBwYXRoKTsKIAogICAgIHRhcmdldF9wYXRoID0gKHdjaGFyX3QgKilQeU1lbV9NYWxsb2MoKGJ1Zl9zaXplKzEpKnNpemVvZih3Y2hhcl90KSk7CiAgICAgaWYoIXRhcmdldF9wYXRoKQpAQCAtNDAwNCwyMSArNDkzMCwyMSBAQAogICAgIHJlc3VsdF9sZW5ndGggPSBQeV9HZXRGaW5hbFBhdGhOYW1lQnlIYW5kbGVXKGhGaWxlLCB0YXJnZXRfcGF0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWZfc2l6ZSwgVk9MVU1FX05BTUVfRE9TKTsKICAgICBpZighcmVzdWx0X2xlbmd0aCkKLSAgICAgICAgcmV0dXJuIHdpbjMyX2Vycm9yX29iamVjdCgiR2V0RmluYWxQYXRoTmFteUJ5SGFuZGxlIiwgcG8pOworICAgICAgICByZXR1cm4gd2luMzJfZXJyb3Jfb2JqZWN0KCJHZXRGaW5hbFBhdGhOYW15QnlIYW5kbGUiLCBwYXRoKTsKIAogICAgIGlmKCFDbG9zZUhhbmRsZShoRmlsZSkpCi0gICAgICAgIHJldHVybiB3aW4zMl9lcnJvcl9vYmplY3QoIkNsb3NlSGFuZGxlIiwgcG8pOworICAgICAgICByZXR1cm4gd2luMzJfZXJyb3Jfb2JqZWN0KCJDbG9zZUhhbmRsZSIsIHBhdGgpOwogCiAgICAgdGFyZ2V0X3BhdGhbcmVzdWx0X2xlbmd0aF0gPSAwOwogICAgIHJlc3VsdCA9IFB5VW5pY29kZV9Gcm9tV2lkZUNoYXIodGFyZ2V0X3BhdGgsIHJlc3VsdF9sZW5ndGgpOwogICAgIFB5TWVtX0ZyZWUodGFyZ2V0X3BhdGgpOwogICAgIHJldHVybiByZXN1bHQ7Ci0KLX0gLyogZW5kIG9mIHBvc2l4X19nZXRmaW5hbHBhdGhuYW1lICovCit9CiAKIFB5RG9jX1NUUlZBUihwb3NpeF9faXNkaXJfX2RvY19fLAogIlJldHVybiB0cnVlIGlmIHRoZSBwYXRobmFtZSByZWZlcnMgdG8gYW4gZXhpc3RpbmcgZGlyZWN0b3J5LiIpOwogCisvKiBBQyAzLjU6IGNvbnZlcnQgdXNpbmcgcGF0aCBjb252ZXJ0ZXIgKi8KIHN0YXRpYyBQeU9iamVjdCAqCiBwb3NpeF9faXNkaXIoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewpAQCAtNDA1NSwyMiArNDk4MSw1NSBAQAogICAgICAgICBQeV9SRVRVUk5fRkFMU0U7CiB9CiAKLVB5RG9jX1NUUlZBUihwb3NpeF9fZ2V0dm9sdW1lcGF0aG5hbWVfX2RvY19fLAotIlJldHVybiB2b2x1bWUgbW91bnQgcG9pbnQgb2YgdGhlIHNwZWNpZmllZCBwYXRoLiIpOwogCi0vKiBBIGhlbHBlciBmdW5jdGlvbiBmb3IgaXNtb3VudCBvbiB3aW5kb3dzICovCisvKltjbGluaWMgaW5wdXRdCitvcy5fZ2V0dm9sdW1lcGF0aG5hbWUKKworICAgIHBhdGg6IHVuaWNvZGUKKworQSBoZWxwZXIgZnVuY3Rpb24gZm9yIGlzbW91bnQgb24gV2luMzIuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19fZ2V0dm9sdW1lcGF0aG5hbWVfX2RvY19fLAorIl9nZXR2b2x1bWVwYXRobmFtZSgkbW9kdWxlLCAvLCBwYXRoKVxuIgorIi0tXG4iCisiXG4iCisiQSBoZWxwZXIgZnVuY3Rpb24gZm9yIGlzbW91bnQgb24gV2luMzIuIik7CisKKyNkZWZpbmUgT1NfX0dFVFZPTFVNRVBBVEhOQU1FX01FVEhPRERFRiAgICBcCisgICAgeyJfZ2V0dm9sdW1lcGF0aG5hbWUiLCAoUHlDRnVuY3Rpb24pb3NfX2dldHZvbHVtZXBhdGhuYW1lLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfX2dldHZvbHVtZXBhdGhuYW1lX19kb2NfX30sCisKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9fZ2V0dm9sdW1lcGF0aG5hbWUoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3NfX2dldHZvbHVtZXBhdGhuYW1lX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKnBhdGgpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfX2dldHZvbHVtZXBhdGhuYW1lKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewotICAgIFB5T2JqZWN0ICpwbywgKnJlc3VsdDsKLSAgICB3Y2hhcl90ICpwYXRoLCAqbW91bnRwYXRoPU5VTEw7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJwYXRoIiwgTlVMTH07CisgICAgUHlPYmplY3QgKnBhdGg7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJVOl9nZXR2b2x1bWVwYXRobmFtZSIsIF9rZXl3b3JkcywKKyAgICAgICAgJnBhdGgpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfX2dldHZvbHVtZXBhdGhuYW1lX2ltcGwobW9kdWxlLCBwYXRoKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfX2dldHZvbHVtZXBhdGhuYW1lX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKnBhdGgpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YWMwODMzYjZkNmRhNzY1NyBpbnB1dD03ZWFjYWRjNDBhY2JkYTZiXSovCit7CisgICAgUHlPYmplY3QgKnJlc3VsdDsKKyAgICB3Y2hhcl90ICpwYXRoX3djaGFyLCAqbW91bnRwYXRoPU5VTEw7CiAgICAgc2l6ZV90IGJ1ZmxlbjsKICAgICBCT09MIHJldDsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiVXw6X2dldHZvbHVtZXBhdGhuYW1lIiwgJnBvKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgcGF0aCA9IFB5VW5pY29kZV9Bc1VuaWNvZGVBbmRTaXplKHBvLCAmYnVmbGVuKTsKLSAgICBpZiAocGF0aCA9PSBOVUxMKQorICAgIHBhdGhfd2NoYXIgPSBQeVVuaWNvZGVfQXNVbmljb2RlQW5kU2l6ZShwYXRoLCAmYnVmbGVuKTsKKyAgICBpZiAocGF0aF93Y2hhciA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICBidWZsZW4gKz0gMTsKIApAQCAtNDA4NywxMiArNTA0NiwxMiBAQAogICAgICAgICByZXR1cm4gUHlFcnJfTm9NZW1vcnkoKTsKIAogICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICByZXQgPSBHZXRWb2x1bWVQYXRoTmFtZVcocGF0aCwgbW91bnRwYXRoLAorICAgIHJldCA9IEdldFZvbHVtZVBhdGhOYW1lVyhwYXRoX3djaGFyLCBtb3VudHBhdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X1NBRkVfRE9XTkNBU1QoYnVmbGVuLCBzaXplX3QsIERXT1JEKSk7CiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKIAogICAgIGlmICghcmV0KSB7Ci0gICAgICAgIHJlc3VsdCA9IHdpbjMyX2Vycm9yX29iamVjdCgiX2dldHZvbHVtZXBhdGhuYW1lIiwgcG8pOworICAgICAgICByZXN1bHQgPSB3aW4zMl9lcnJvcl9vYmplY3QoIl9nZXR2b2x1bWVwYXRobmFtZSIsIHBhdGgpOwogICAgICAgICBnb3RvIGV4aXQ7CiAgICAgfQogICAgIHJlc3VsdCA9IFB5VW5pY29kZV9Gcm9tV2lkZUNoYXIobW91bnRwYXRoLCB3Y3NsZW4obW91bnRwYXRoKSk7CkBAIC00MTAxLDc4ICs1MDYwLDEwNyBAQAogICAgIFB5TWVtX0ZyZWUobW91bnRwYXRoKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotLyogZW5kIG9mIHBvc2l4X19nZXR2b2x1bWVwYXRobmFtZSAqLwogCiAjZW5kaWYgLyogTVNfV0lORE9XUyAqLwogCi1QeURvY19TVFJWQVIocG9zaXhfbWtkaXJfX2RvY19fLAotIm1rZGlyKHBhdGgsIG1vZGU9MG83NzcsICosIGRpcl9mZD1Ob25lKVxuXG5cCi1DcmVhdGUgYSBkaXJlY3RvcnkuXG5cCi1cblwKLUlmIGRpcl9mZCBpcyBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZSBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksXG5cCi0gIGFuZCBwYXRoIHNob3VsZCBiZSByZWxhdGl2ZTsgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8gdGhhdCBkaXJlY3RvcnkuXG5cCi1kaXJfZmQgbWF5IG5vdCBiZSBpbXBsZW1lbnRlZCBvbiB5b3VyIHBsYXRmb3JtLlxuXAotICBJZiBpdCBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgd2lsbCByYWlzZSBhIE5vdEltcGxlbWVudGVkRXJyb3IuXG5cCi1cblwKLVRoZSBtb2RlIGFyZ3VtZW50IGlzIGlnbm9yZWQgb24gV2luZG93cy4iKTsKKworLypbY2xpbmljIGlucHV0XQorb3MubWtkaXIKKworICAgIHBhdGggOiBwYXRoX3QKKworICAgIG1vZGU6IGludCA9IDBvNzc3CisKKyAgICAqCisKKyAgICBkaXJfZmQgOiBkaXJfZmQocmVxdWlyZXM9J21rZGlyYXQnKSA9IE5vbmUKKworIyAibWtkaXIocGF0aCwgbW9kZT0wbzc3NywgKiwgZGlyX2ZkPU5vbmUpXG5cblwKKworQ3JlYXRlIGEgZGlyZWN0b3J5LgorCitJZiBkaXJfZmQgaXMgbm90IE5vbmUsIGl0IHNob3VsZCBiZSBhIGZpbGUgZGVzY3JpcHRvciBvcGVuIHRvIGEgZGlyZWN0b3J5LAorICBhbmQgcGF0aCBzaG91bGQgYmUgcmVsYXRpdmU7IHBhdGggd2lsbCB0aGVuIGJlIHJlbGF0aXZlIHRvIHRoYXQgZGlyZWN0b3J5LgorZGlyX2ZkIG1heSBub3QgYmUgaW1wbGVtZW50ZWQgb24geW91ciBwbGF0Zm9ybS4KKyAgSWYgaXQgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHdpbGwgcmFpc2UgYSBOb3RJbXBsZW1lbnRlZEVycm9yLgorCitUaGUgbW9kZSBhcmd1bWVudCBpcyBpZ25vcmVkIG9uIFdpbmRvd3MuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19ta2Rpcl9fZG9jX18sCisibWtkaXIoJG1vZHVsZSwgLywgcGF0aCwgbW9kZT01MTEsICosIGRpcl9mZD1Ob25lKVxuIgorIi0tXG4iCisiXG4iCisiQ3JlYXRlIGEgZGlyZWN0b3J5LlxuIgorIlxuIgorIklmIGRpcl9mZCBpcyBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZSBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksXG4iCisiICBhbmQgcGF0aCBzaG91bGQgYmUgcmVsYXRpdmU7IHBhdGggd2lsbCB0aGVuIGJlIHJlbGF0aXZlIHRvIHRoYXQgZGlyZWN0b3J5LlxuIgorImRpcl9mZCBtYXkgbm90IGJlIGltcGxlbWVudGVkIG9uIHlvdXIgcGxhdGZvcm0uXG4iCisiICBJZiBpdCBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgd2lsbCByYWlzZSBhIE5vdEltcGxlbWVudGVkRXJyb3IuXG4iCisiXG4iCisiVGhlIG1vZGUgYXJndW1lbnQgaXMgaWdub3JlZCBvbiBXaW5kb3dzLiIpOworCisjZGVmaW5lIE9TX01LRElSX01FVEhPRERFRiAgICBcCisgICAgeyJta2RpciIsIChQeUNGdW5jdGlvbilvc19ta2RpciwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX21rZGlyX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9ta2RpcihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCi17Ci0gICAgcGF0aF90IHBhdGg7Ci0gICAgaW50IG1vZGUgPSAwNzc3OwotICAgIGludCBkaXJfZmQgPSBERUZBVUxUX0RJUl9GRDsKLSAgICBzdGF0aWMgY2hhciAqa2V5d29yZHNbXSA9IHsicGF0aCIsICJtb2RlIiwgImRpcl9mZCIsIE5VTEx9OwotICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwotICAgIGludCByZXN1bHQ7Citvc19ta2Rpcl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgaW50IG1vZGUsIGludCBkaXJfZmQpOwogCi0gICAgbWVtc2V0KCZwYXRoLCAwLCBzaXplb2YocGF0aCkpOwotICAgIHBhdGguZnVuY3Rpb25fbmFtZSA9ICJta2RpciI7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAiTyZ8aSRPJjpta2RpciIsIGtleXdvcmRzLAotICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsICZtb2RlLAotI2lmZGVmIEhBVkVfTUtESVJBVAotICAgICAgICBkaXJfZmRfY29udmVydGVyLCAmZGlyX2ZkCi0jZWxzZQotICAgICAgICBkaXJfZmRfdW5hdmFpbGFibGUsICZkaXJfZmQKLSNlbmRpZgotICAgICAgICApKQotICAgICAgICByZXR1cm4gTlVMTDsKK3N0YXRpYyBQeU9iamVjdCAqCitvc19ta2RpcihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InBhdGgiLCAibW9kZSIsICJkaXJfZmQiLCBOVUxMfTsKKyAgICBwYXRoX3QgcGF0aCA9IFBBVEhfVF9JTklUSUFMSVpFKCJta2RpciIsICJwYXRoIiwgMCwgMCk7CisgICAgaW50IG1vZGUgPSA1MTE7CisgICAgaW50IGRpcl9mZCA9IERFRkFVTFRfRElSX0ZEOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiTyZ8aSRPJjpta2RpciIsIF9rZXl3b3JkcywKKyAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLCAmbW9kZSwgTUtESVJBVF9ESVJfRkRfQ09OVkVSVEVSLCAmZGlyX2ZkKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX21rZGlyX2ltcGwobW9kdWxlLCAmcGF0aCwgbW9kZSwgZGlyX2ZkKTsKKworZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBwYXRoICovCisgICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKKworICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19ta2Rpcl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgaW50IG1vZGUsIGludCBkaXJfZmQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NTVjNmVmMmJjMWIyMDdlNiBpbnB1dD1lOTY1ZjY4Mzc3ZTliMWNlXSovCit7CisgICAgaW50IHJlc3VsdDsKIAogI2lmZGVmIE1TX1dJTkRPV1MKICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgaWYgKHBhdGgud2lkZSkKLSAgICAgICAgcmVzdWx0ID0gQ3JlYXRlRGlyZWN0b3J5VyhwYXRoLndpZGUsIE5VTEwpOworICAgIGlmIChwYXRoLT53aWRlKQorICAgICAgICByZXN1bHQgPSBDcmVhdGVEaXJlY3RvcnlXKHBhdGgtPndpZGUsIE5VTEwpOwogICAgIGVsc2UKLSAgICAgICAgcmVzdWx0ID0gQ3JlYXRlRGlyZWN0b3J5QShwYXRoLm5hcnJvdywgTlVMTCk7CisgICAgICAgIHJlc3VsdCA9IENyZWF0ZURpcmVjdG9yeUEocGF0aC0+bmFycm93LCBOVUxMKTsKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogCi0gICAgaWYgKCFyZXN1bHQpIHsKLSAgICAgICAgcmV0dXJuX3ZhbHVlID0gcGF0aF9lcnJvcigmcGF0aCk7Ci0gICAgICAgIGdvdG8gZXhpdDsKLSAgICB9CisgICAgaWYgKCFyZXN1bHQpCisgICAgICAgIHJldHVybiBwYXRoX2Vycm9yKHBhdGgpOwogI2Vsc2UKICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCiAjaWYgSEFWRV9NS0RJUkFUCiAgICAgaWYgKGRpcl9mZCAhPSBERUZBVUxUX0RJUl9GRCkKLSAgICAgICAgcmVzdWx0ID0gbWtkaXJhdChkaXJfZmQsIHBhdGgubmFycm93LCBtb2RlKTsKKyAgICAgICAgcmVzdWx0ID0gbWtkaXJhdChkaXJfZmQsIHBhdGgtPm5hcnJvdywgbW9kZSk7CiAgICAgZWxzZQogI2VuZGlmCiAjaWYgKCBkZWZpbmVkKF9fV0FUQ09NQ19fKSB8fCBkZWZpbmVkKFBZQ0NfVkFDUFApICkgJiYgIWRlZmluZWQoX19RTlhfXykKLSAgICAgICAgcmVzdWx0ID0gbWtkaXIocGF0aC5uYXJyb3cpOworICAgICAgICByZXN1bHQgPSBta2RpcihwYXRoLT5uYXJyb3cpOwogI2Vsc2UKLSAgICAgICAgcmVzdWx0ID0gbWtkaXIocGF0aC5uYXJyb3csIG1vZGUpOworICAgICAgICByZXN1bHQgPSBta2RpcihwYXRoLT5uYXJyb3csIG1vZGUpOwogI2VuZGlmCiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLSAgICBpZiAocmVzdWx0IDwgMCkgewotICAgICAgICByZXR1cm5fdmFsdWUgPSBwYXRoX2Vycm9yKCZwYXRoKTsKLSAgICAgICAgZ290byBleGl0OwotICAgIH0KKyAgICBpZiAocmVzdWx0IDwgMCkKKyAgICAgICAgcmV0dXJuIHBhdGhfZXJyb3IocGF0aCk7CiAjZW5kaWYKLSAgICByZXR1cm5fdmFsdWUgPSBQeV9Ob25lOwotICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKLWV4aXQ6Ci0gICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKLSAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworICAgIFB5X1JFVFVSTl9OT05FOwogfQogCiAKQEAgLTQxODMsMTcgKzUxNzEsNDggQEAKIAogCiAjaWZkZWYgSEFWRV9OSUNFCi1QeURvY19TVFJWQVIocG9zaXhfbmljZV9fZG9jX18sCi0ibmljZShpbmMpIC0+IG5ld19wcmlvcml0eVxuXG5cCi1EZWNyZWFzZSB0aGUgcHJpb3JpdHkgb2YgcHJvY2VzcyBieSBpbmMgYW5kIHJldHVybiB0aGUgbmV3IHByaW9yaXR5LiIpOworLypbY2xpbmljIGlucHV0XQorb3MubmljZQorCisgICAgaW5jcmVtZW50OiBpbnQKKyAgICAvCisKK0FkZCBpbmNyZW1lbnQgdG8gdGhlIHByaW9yaXR5IG9mIHByb2Nlc3MgYW5kIHJldHVybiB0aGUgbmV3IHByaW9yaXR5LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfbmljZV9fZG9jX18sCisibmljZSgkbW9kdWxlLCBpbmNyZW1lbnQsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJBZGQgaW5jcmVtZW50IHRvIHRoZSBwcmlvcml0eSBvZiBwcm9jZXNzIGFuZCByZXR1cm4gdGhlIG5ldyBwcmlvcml0eS4iKTsKKworI2RlZmluZSBPU19OSUNFX01FVEhPRERFRiAgICBcCisgICAgeyJuaWNlIiwgKFB5Q0Z1bmN0aW9uKW9zX25pY2UsIE1FVEhfVkFSQVJHUywgb3NfbmljZV9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfbmljZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCi17Ci0gICAgaW50IGluY3JlbWVudCwgdmFsdWU7Citvc19uaWNlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGluY3JlbWVudCk7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImk6bmljZSIsICZpbmNyZW1lbnQpKQotICAgICAgICByZXR1cm4gTlVMTDsKK3N0YXRpYyBQeU9iamVjdCAqCitvc19uaWNlKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIGludCBpbmNyZW1lbnQ7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgImk6bmljZSIsCisgICAgICAgICZpbmNyZW1lbnQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfbmljZV9pbXBsKG1vZHVsZSwgaW5jcmVtZW50KTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfbmljZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBpbmNyZW1lbnQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YzM2MGRjMmEzYmQ4ZTNkMCBpbnB1dD04NjRiZTJkNDAyYTIxZGEyXSovCit7CisgICAgaW50IHZhbHVlOwogCiAgICAgLyogVGhlcmUgYXJlIHR3byBmbGF2b3VycyBvZiAnbmljZSc6IG9uZSB0aGF0IHJldHVybnMgdGhlIG5ldwogICAgICAgIHByaW9yaXR5IChhcyByZXF1aXJlZCBieSBhbG1vc3QgYWxsIHN0YW5kYXJkcyBvdXQgdGhlcmUpIGFuZCB0aGUKQEAgLTQyMjAsMTcgKzUyMzksNTEgQEAKIAogCiAjaWZkZWYgSEFWRV9HRVRQUklPUklUWQotUHlEb2NfU1RSVkFSKHBvc2l4X2dldHByaW9yaXR5X19kb2NfXywKLSJnZXRwcmlvcml0eSh3aGljaCwgd2hvKSAtPiBjdXJyZW50X3ByaW9yaXR5XG5cblwKLUdldCBwcm9ncmFtIHNjaGVkdWxpbmcgcHJpb3JpdHkuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5nZXRwcmlvcml0eQorCisgICAgd2hpY2g6IGludAorICAgIHdobzogaW50CisKK1JldHVybiBwcm9ncmFtIHNjaGVkdWxpbmcgcHJpb3JpdHkuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19nZXRwcmlvcml0eV9fZG9jX18sCisiZ2V0cHJpb3JpdHkoJG1vZHVsZSwgLywgd2hpY2gsIHdobylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBwcm9ncmFtIHNjaGVkdWxpbmcgcHJpb3JpdHkuIik7CisKKyNkZWZpbmUgT1NfR0VUUFJJT1JJVFlfTUVUSE9EREVGICAgIFwKKyAgICB7ImdldHByaW9yaXR5IiwgKFB5Q0Z1bmN0aW9uKW9zX2dldHByaW9yaXR5LCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfZ2V0cHJpb3JpdHlfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2dldHByaW9yaXR5KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKLXsKLSAgICBpbnQgd2hpY2gsIHdobywgcmV0dmFsOworb3NfZ2V0cHJpb3JpdHlfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgd2hpY2gsIGludCB3aG8pOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpaSIsICZ3aGljaCwgJndobykpCi0gICAgICAgIHJldHVybiBOVUxMOworc3RhdGljIFB5T2JqZWN0ICoKK29zX2dldHByaW9yaXR5KFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsid2hpY2giLCAid2hvIiwgTlVMTH07CisgICAgaW50IHdoaWNoOworICAgIGludCB3aG87CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJpaTpnZXRwcmlvcml0eSIsIF9rZXl3b3JkcywKKyAgICAgICAgJndoaWNoLCAmd2hvKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX2dldHByaW9yaXR5X2ltcGwobW9kdWxlLCB3aGljaCwgd2hvKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZ2V0cHJpb3JpdHlfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgd2hpY2gsIGludCB3aG8pCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ODE2MzljZjc2NWYwNWRhZSBpbnB1dD05YmU2MTVkNDBlMjU0NGVmXSovCit7CisgICAgaW50IHJldHZhbDsKKwogICAgIGVycm5vID0gMDsKICAgICByZXR2YWwgPSBnZXRwcmlvcml0eSh3aGljaCwgd2hvKTsKICAgICBpZiAoZXJybm8gIT0gMCkKQEAgLTQyNDEsMTggKzUyOTQsNTQgQEAKIAogCiAjaWZkZWYgSEFWRV9TRVRQUklPUklUWQotUHlEb2NfU1RSVkFSKHBvc2l4X3NldHByaW9yaXR5X19kb2NfXywKLSJzZXRwcmlvcml0eSh3aGljaCwgd2hvLCBwcmlvKSAtPiBOb25lXG5cblwKLVNldCBwcm9ncmFtIHNjaGVkdWxpbmcgcHJpb3JpdHkuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5zZXRwcmlvcml0eQorCisgICAgd2hpY2g6IGludAorICAgIHdobzogaW50CisgICAgcHJpb3JpdHk6IGludAorCitTZXQgcHJvZ3JhbSBzY2hlZHVsaW5nIHByaW9yaXR5LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfc2V0cHJpb3JpdHlfX2RvY19fLAorInNldHByaW9yaXR5KCRtb2R1bGUsIC8sIHdoaWNoLCB3aG8sIHByaW9yaXR5KVxuIgorIi0tXG4iCisiXG4iCisiU2V0IHByb2dyYW0gc2NoZWR1bGluZyBwcmlvcml0eS4iKTsKKworI2RlZmluZSBPU19TRVRQUklPUklUWV9NRVRIT0RERUYgICAgXAorICAgIHsic2V0cHJpb3JpdHkiLCAoUHlDRnVuY3Rpb24pb3Nfc2V0cHJpb3JpdHksIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc19zZXRwcmlvcml0eV9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfc2V0cHJpb3JpdHkoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQotewotICAgIGludCB3aGljaCwgd2hvLCBwcmlvLCByZXR2YWw7Citvc19zZXRwcmlvcml0eV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCB3aGljaCwgaW50IHdobywgaW50IHByaW9yaXR5KTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaWlpIiwgJndoaWNoLCAmd2hvLCAmcHJpbykpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIHJldHZhbCA9IHNldHByaW9yaXR5KHdoaWNoLCB3aG8sIHByaW8pOworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NldHByaW9yaXR5KFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsid2hpY2giLCAid2hvIiwgInByaW9yaXR5IiwgTlVMTH07CisgICAgaW50IHdoaWNoOworICAgIGludCB3aG87CisgICAgaW50IHByaW9yaXR5OworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiaWlpOnNldHByaW9yaXR5IiwgX2tleXdvcmRzLAorICAgICAgICAmd2hpY2gsICZ3aG8sICZwcmlvcml0eSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19zZXRwcmlvcml0eV9pbXBsKG1vZHVsZSwgd2hpY2gsIHdobywgcHJpb3JpdHkpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zZXRwcmlvcml0eV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCB3aGljaCwgaW50IHdobywgaW50IHByaW9yaXR5KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWRkYWQ2MjY1MWZiMjEyMGMgaW5wdXQ9NzEwY2NiZjY1YjlkYzUxM10qLworeworICAgIGludCByZXR2YWw7CisKKyAgICByZXR2YWwgPSBzZXRwcmlvcml0eSh3aGljaCwgd2hvLCBwcmlvcml0eSk7CiAgICAgaWYgKHJldHZhbCA9PSAtMSkKICAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CiAgICAgUHlfUkVUVVJOX05PTkU7CkBAIC00MjYxLDE3ICs1MzUwLDEwIEBACiAKIAogc3RhdGljIFB5T2JqZWN0ICoKLWludGVybmFsX3JlbmFtZShQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncywgaW50IGlzX3JlcGxhY2UpCitpbnRlcm5hbF9yZW5hbWUocGF0aF90ICpzcmMsIHBhdGhfdCAqZHN0LCBpbnQgc3JjX2Rpcl9mZCwgaW50IGRzdF9kaXJfZmQsIGludCBpc19yZXBsYWNlKQogewogICAgIGNoYXIgKmZ1bmN0aW9uX25hbWUgPSBpc19yZXBsYWNlID8gInJlcGxhY2UiIDogInJlbmFtZSI7Ci0gICAgcGF0aF90IHNyYzsKLSAgICBwYXRoX3QgZHN0OwotICAgIGludCBzcmNfZGlyX2ZkID0gREVGQVVMVF9ESVJfRkQ7Ci0gICAgaW50IGRzdF9kaXJfZmQgPSBERUZBVUxUX0RJUl9GRDsKICAgICBpbnQgZGlyX2ZkX3NwZWNpZmllZDsKLSAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKLSAgICBjaGFyIGZvcm1hdFsyNF07Ci0gICAgc3RhdGljIGNoYXIgKmtleXdvcmRzW10gPSB7InNyYyIsICJkc3QiLCAic3JjX2Rpcl9mZCIsICJkc3RfZGlyX2ZkIiwgTlVMTH07CiAKICNpZmRlZiBNU19XSU5ET1dTCiAgICAgQk9PTCByZXN1bHQ7CkBAIC00MjgwLDIxMCArNTM2Miw0MTkgQEAKICAgICBpbnQgcmVzdWx0OwogI2VuZGlmCiAKLSAgICBtZW1zZXQoJnNyYywgMCwgc2l6ZW9mKHNyYykpOwotICAgIG1lbXNldCgmZHN0LCAwLCBzaXplb2YoZHN0KSk7Ci0gICAgc3JjLmZ1bmN0aW9uX25hbWUgPSBmdW5jdGlvbl9uYW1lOwotICAgIGRzdC5mdW5jdGlvbl9uYW1lID0gZnVuY3Rpb25fbmFtZTsKLSAgICBzdHJjcHkoZm9ybWF0LCAiTyZPJnwkTyZPJjoiKTsKLSAgICBzdHJjYXQoZm9ybWF0LCBmdW5jdGlvbl9uYW1lKTsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsIGZvcm1hdCwga2V5d29yZHMsCi0gICAgICAgIHBhdGhfY29udmVydGVyLCAmc3JjLAotICAgICAgICBwYXRoX2NvbnZlcnRlciwgJmRzdCwKLSAgICAgICAgZGlyX2ZkX2NvbnZlcnRlciwgJnNyY19kaXJfZmQsCi0gICAgICAgIGRpcl9mZF9jb252ZXJ0ZXIsICZkc3RfZGlyX2ZkKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KICAgICBkaXJfZmRfc3BlY2lmaWVkID0gKHNyY19kaXJfZmQgIT0gREVGQVVMVF9ESVJfRkQpIHx8CiAgICAgICAgICAgICAgICAgICAgICAgIChkc3RfZGlyX2ZkICE9IERFRkFVTFRfRElSX0ZEKTsKICNpZm5kZWYgSEFWRV9SRU5BTUVBVAogICAgIGlmIChkaXJfZmRfc3BlY2lmaWVkKSB7CiAgICAgICAgIGFyZ3VtZW50X3VuYXZhaWxhYmxlX2Vycm9yKGZ1bmN0aW9uX25hbWUsICJzcmNfZGlyX2ZkIGFuZCBkc3RfZGlyX2ZkIik7Ci0gICAgICAgIGdvdG8gZXhpdDsKKyAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogI2VuZGlmCiAKLSAgICBpZiAoKHNyYy5uYXJyb3cgJiYgZHN0LndpZGUpIHx8IChzcmMud2lkZSAmJiBkc3QubmFycm93KSkgeworICAgIGlmICgoc3JjLT5uYXJyb3cgJiYgZHN0LT53aWRlKSB8fCAoc3JjLT53aWRlICYmIGRzdC0+bmFycm93KSkgewogICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVmFsdWVFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICIlczogc3JjIGFuZCBkc3QgbXVzdCBiZSB0aGUgc2FtZSB0eXBlIiwgZnVuY3Rpb25fbmFtZSk7Ci0gICAgICAgIGdvdG8gZXhpdDsKKyAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCiAjaWZkZWYgTVNfV0lORE9XUwogICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICBpZiAoc3JjLndpZGUpCi0gICAgICAgIHJlc3VsdCA9IE1vdmVGaWxlRXhXKHNyYy53aWRlLCBkc3Qud2lkZSwgZmxhZ3MpOworICAgIGlmIChzcmMtPndpZGUpCisgICAgICAgIHJlc3VsdCA9IE1vdmVGaWxlRXhXKHNyYy0+d2lkZSwgZHN0LT53aWRlLCBmbGFncyk7CiAgICAgZWxzZQotICAgICAgICByZXN1bHQgPSBNb3ZlRmlsZUV4QShzcmMubmFycm93LCBkc3QubmFycm93LCBmbGFncyk7CisgICAgICAgIHJlc3VsdCA9IE1vdmVGaWxlRXhBKHNyYy0+bmFycm93LCBkc3QtPm5hcnJvdywgZmxhZ3MpOwogICAgIFB5X0VORF9BTExPV19USFJFQURTCiAKLSAgICBpZiAoIXJlc3VsdCkgewotICAgICAgICByZXR1cm5fdmFsdWUgPSBwYXRoX2Vycm9yMigmc3JjLCAmZHN0KTsKLSAgICAgICAgZ290byBleGl0OwotICAgIH0KKyAgICBpZiAoIXJlc3VsdCkKKyAgICAgICAgcmV0dXJuIHBhdGhfZXJyb3IyKHNyYywgZHN0KTsKIAogI2Vsc2UKICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCiAjaWZkZWYgSEFWRV9SRU5BTUVBVAogICAgIGlmIChkaXJfZmRfc3BlY2lmaWVkKQotICAgICAgICByZXN1bHQgPSByZW5hbWVhdChzcmNfZGlyX2ZkLCBzcmMubmFycm93LCBkc3RfZGlyX2ZkLCBkc3QubmFycm93KTsKKyAgICAgICAgcmVzdWx0ID0gcmVuYW1lYXQoc3JjX2Rpcl9mZCwgc3JjLT5uYXJyb3csIGRzdF9kaXJfZmQsIGRzdC0+bmFycm93KTsKICAgICBlbHNlCiAjZW5kaWYKLSAgICAgICAgcmVzdWx0ID0gcmVuYW1lKHNyYy5uYXJyb3csIGRzdC5uYXJyb3cpOworICAgICAgICByZXN1bHQgPSByZW5hbWUoc3JjLT5uYXJyb3csIGRzdC0+bmFycm93KTsKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogCi0gICAgaWYgKHJlc3VsdCkgewotICAgICAgICByZXR1cm5fdmFsdWUgPSBwYXRoX2Vycm9yMigmc3JjLCAmZHN0KTsKLSAgICAgICAgZ290byBleGl0OwotICAgIH0KKyAgICBpZiAocmVzdWx0KQorICAgICAgICByZXR1cm4gcGF0aF9lcnJvcjIoc3JjLCBkc3QpOwogI2VuZGlmCisgICAgUHlfUkVUVVJOX05PTkU7Cit9CiAKLSAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0gICAgcmV0dXJuX3ZhbHVlID0gUHlfTm9uZTsKKworLypbY2xpbmljIGlucHV0XQorb3MucmVuYW1lCisKKyAgICBzcmMgOiBwYXRoX3QKKyAgICBkc3QgOiBwYXRoX3QKKyAgICAqCisgICAgc3JjX2Rpcl9mZCA6IGRpcl9mZCA9IE5vbmUKKyAgICBkc3RfZGlyX2ZkIDogZGlyX2ZkID0gTm9uZQorCitSZW5hbWUgYSBmaWxlIG9yIGRpcmVjdG9yeS4KKworSWYgZWl0aGVyIHNyY19kaXJfZmQgb3IgZHN0X2Rpcl9mZCBpcyBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZQorICBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksIGFuZCB0aGUgcmVzcGVjdGl2ZSBwYXRoIHN0cmluZyAoc3JjIG9yIGRzdCkKKyAgc2hvdWxkIGJlIHJlbGF0aXZlOyB0aGUgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8gdGhhdCBkaXJlY3RvcnkuCitzcmNfZGlyX2ZkIGFuZCBkc3RfZGlyX2ZkLCBtYXkgbm90IGJlIGltcGxlbWVudGVkIG9uIHlvdXIgcGxhdGZvcm0uCisgIElmIHRoZXkgYXJlIHVuYXZhaWxhYmxlLCB1c2luZyB0aGVtIHdpbGwgcmFpc2UgYSBOb3RJbXBsZW1lbnRlZEVycm9yLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfcmVuYW1lX19kb2NfXywKKyJyZW5hbWUoJG1vZHVsZSwgLywgc3JjLCBkc3QsICosIHNyY19kaXJfZmQ9Tm9uZSwgZHN0X2Rpcl9mZD1Ob25lKVxuIgorIi0tXG4iCisiXG4iCisiUmVuYW1lIGEgZmlsZSBvciBkaXJlY3RvcnkuXG4iCisiXG4iCisiSWYgZWl0aGVyIHNyY19kaXJfZmQgb3IgZHN0X2Rpcl9mZCBpcyBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZVxuIgorIiAgZGVzY3JpcHRvciBvcGVuIHRvIGEgZGlyZWN0b3J5LCBhbmQgdGhlIHJlc3BlY3RpdmUgcGF0aCBzdHJpbmcgKHNyYyBvciBkc3QpXG4iCisiICBzaG91bGQgYmUgcmVsYXRpdmU7IHRoZSBwYXRoIHdpbGwgdGhlbiBiZSByZWxhdGl2ZSB0byB0aGF0IGRpcmVjdG9yeS5cbiIKKyJzcmNfZGlyX2ZkIGFuZCBkc3RfZGlyX2ZkLCBtYXkgbm90IGJlIGltcGxlbWVudGVkIG9uIHlvdXIgcGxhdGZvcm0uXG4iCisiICBJZiB0aGV5IGFyZSB1bmF2YWlsYWJsZSwgdXNpbmcgdGhlbSB3aWxsIHJhaXNlIGEgTm90SW1wbGVtZW50ZWRFcnJvci4iKTsKKworI2RlZmluZSBPU19SRU5BTUVfTUVUSE9EREVGICAgIFwKKyAgICB7InJlbmFtZSIsIChQeUNGdW5jdGlvbilvc19yZW5hbWUsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc19yZW5hbWVfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3JlbmFtZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqc3JjLCBwYXRoX3QgKmRzdCwgaW50IHNyY19kaXJfZmQsIGludCBkc3RfZGlyX2ZkKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3JlbmFtZShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InNyYyIsICJkc3QiLCAic3JjX2Rpcl9mZCIsICJkc3RfZGlyX2ZkIiwgTlVMTH07CisgICAgcGF0aF90IHNyYyA9IFBBVEhfVF9JTklUSUFMSVpFKCJyZW5hbWUiLCAic3JjIiwgMCwgMCk7CisgICAgcGF0aF90IGRzdCA9IFBBVEhfVF9JTklUSUFMSVpFKCJyZW5hbWUiLCAiZHN0IiwgMCwgMCk7CisgICAgaW50IHNyY19kaXJfZmQgPSBERUZBVUxUX0RJUl9GRDsKKyAgICBpbnQgZHN0X2Rpcl9mZCA9IERFRkFVTFRfRElSX0ZEOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiTyZPJnwkTyZPJjpyZW5hbWUiLCBfa2V5d29yZHMsCisgICAgICAgIHBhdGhfY29udmVydGVyLCAmc3JjLCBwYXRoX2NvbnZlcnRlciwgJmRzdCwgZGlyX2ZkX2NvbnZlcnRlciwgJnNyY19kaXJfZmQsIGRpcl9mZF9jb252ZXJ0ZXIsICZkc3RfZGlyX2ZkKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3JlbmFtZV9pbXBsKG1vZHVsZSwgJnNyYywgJmRzdCwgc3JjX2Rpcl9mZCwgZHN0X2Rpcl9mZCk7CisKIGV4aXQ6CisgICAgLyogQ2xlYW51cCBmb3Igc3JjICovCiAgICAgcGF0aF9jbGVhbnVwKCZzcmMpOworICAgIC8qIENsZWFudXAgZm9yIGRzdCAqLwogICAgIHBhdGhfY2xlYW51cCgmZHN0KTsKKwogICAgIHJldHVybiByZXR1cm5fdmFsdWU7CiB9CiAKLVB5RG9jX1NUUlZBUihwb3NpeF9yZW5hbWVfX2RvY19fLAotInJlbmFtZShzcmMsIGRzdCwgKiwgc3JjX2Rpcl9mZD1Ob25lLCBkc3RfZGlyX2ZkPU5vbmUpXG5cblwKLVJlbmFtZSBhIGZpbGUgb3IgZGlyZWN0b3J5LlxuXAotXG5cCi1JZiBlaXRoZXIgc3JjX2Rpcl9mZCBvciBkc3RfZGlyX2ZkIGlzIG5vdCBOb25lLCBpdCBzaG91bGQgYmUgYSBmaWxlXG5cCi0gIGRlc2NyaXB0b3Igb3BlbiB0byBhIGRpcmVjdG9yeSwgYW5kIHRoZSByZXNwZWN0aXZlIHBhdGggc3RyaW5nIChzcmMgb3IgZHN0KVxuXAotICBzaG91bGQgYmUgcmVsYXRpdmU7IHRoZSBwYXRoIHdpbGwgdGhlbiBiZSByZWxhdGl2ZSB0byB0aGF0IGRpcmVjdG9yeS5cblwKLXNyY19kaXJfZmQgYW5kIGRzdF9kaXJfZmQsIG1heSBub3QgYmUgaW1wbGVtZW50ZWQgb24geW91ciBwbGF0Zm9ybS5cblwKLSAgSWYgdGhleSBhcmUgdW5hdmFpbGFibGUsIHVzaW5nIHRoZW0gd2lsbCByYWlzZSBhIE5vdEltcGxlbWVudGVkRXJyb3IuIik7Ci0KIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9yZW5hbWUoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQorb3NfcmVuYW1lX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpzcmMsIHBhdGhfdCAqZHN0LCBpbnQgc3JjX2Rpcl9mZCwgaW50IGRzdF9kaXJfZmQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YzkzNmJkYzgxZjQ2MGExZSBpbnB1dD1mYWE2MWM4NDc5MTJjODUwXSovCiB7Ci0gICAgcmV0dXJuIGludGVybmFsX3JlbmFtZShhcmdzLCBrd2FyZ3MsIDApOworICAgIHJldHVybiBpbnRlcm5hbF9yZW5hbWUoc3JjLCBkc3QsIHNyY19kaXJfZmQsIGRzdF9kaXJfZmQsIDApOwogfQogCi1QeURvY19TVFJWQVIocG9zaXhfcmVwbGFjZV9fZG9jX18sCi0icmVwbGFjZShzcmMsIGRzdCwgKiwgc3JjX2Rpcl9mZD1Ob25lLCBkc3RfZGlyX2ZkPU5vbmUpXG5cblwKLVJlbmFtZSBhIGZpbGUgb3IgZGlyZWN0b3J5LCBvdmVyd3JpdGluZyB0aGUgZGVzdGluYXRpb24uXG5cCi1cblwKLUlmIGVpdGhlciBzcmNfZGlyX2ZkIG9yIGRzdF9kaXJfZmQgaXMgbm90IE5vbmUsIGl0IHNob3VsZCBiZSBhIGZpbGVcblwKLSAgZGVzY3JpcHRvciBvcGVuIHRvIGEgZGlyZWN0b3J5LCBhbmQgdGhlIHJlc3BlY3RpdmUgcGF0aCBzdHJpbmcgKHNyYyBvciBkc3QpXG5cCi0gIHNob3VsZCBiZSByZWxhdGl2ZTsgdGhlIHBhdGggd2lsbCB0aGVuIGJlIHJlbGF0aXZlIHRvIHRoYXQgZGlyZWN0b3J5LlxuXAotc3JjX2Rpcl9mZCBhbmQgZHN0X2Rpcl9mZCwgbWF5IG5vdCBiZSBpbXBsZW1lbnRlZCBvbiB5b3VyIHBsYXRmb3JtLlxuXAotICBJZiB0aGV5IGFyZSB1bmF2YWlsYWJsZSwgdXNpbmcgdGhlbSB3aWxsIHJhaXNlIGEgTm90SW1wbGVtZW50ZWRFcnJvci4iKTsKKworLypbY2xpbmljIGlucHV0XQorb3MucmVwbGFjZSA9IG9zLnJlbmFtZQorCitSZW5hbWUgYSBmaWxlIG9yIGRpcmVjdG9yeSwgb3ZlcndyaXRpbmcgdGhlIGRlc3RpbmF0aW9uLgorCitJZiBlaXRoZXIgc3JjX2Rpcl9mZCBvciBkc3RfZGlyX2ZkIGlzIG5vdCBOb25lLCBpdCBzaG91bGQgYmUgYSBmaWxlCisgIGRlc2NyaXB0b3Igb3BlbiB0byBhIGRpcmVjdG9yeSwgYW5kIHRoZSByZXNwZWN0aXZlIHBhdGggc3RyaW5nIChzcmMgb3IgZHN0KQorICBzaG91bGQgYmUgcmVsYXRpdmU7IHRoZSBwYXRoIHdpbGwgdGhlbiBiZSByZWxhdGl2ZSB0byB0aGF0IGRpcmVjdG9yeS4KK3NyY19kaXJfZmQgYW5kIGRzdF9kaXJfZmQsIG1heSBub3QgYmUgaW1wbGVtZW50ZWQgb24geW91ciBwbGF0Zm9ybS4KKyAgSWYgdGhleSBhcmUgdW5hdmFpbGFibGUsIHVzaW5nIHRoZW0gd2lsbCByYWlzZSBhIE5vdEltcGxlbWVudGVkRXJyb3IuIgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfcmVwbGFjZV9fZG9jX18sCisicmVwbGFjZSgkbW9kdWxlLCAvLCBzcmMsIGRzdCwgKiwgc3JjX2Rpcl9mZD1Ob25lLCBkc3RfZGlyX2ZkPU5vbmUpXG4iCisiLS1cbiIKKyJcbiIKKyJSZW5hbWUgYSBmaWxlIG9yIGRpcmVjdG9yeSwgb3ZlcndyaXRpbmcgdGhlIGRlc3RpbmF0aW9uLlxuIgorIlxuIgorIklmIGVpdGhlciBzcmNfZGlyX2ZkIG9yIGRzdF9kaXJfZmQgaXMgbm90IE5vbmUsIGl0IHNob3VsZCBiZSBhIGZpbGVcbiIKKyIgIGRlc2NyaXB0b3Igb3BlbiB0byBhIGRpcmVjdG9yeSwgYW5kIHRoZSByZXNwZWN0aXZlIHBhdGggc3RyaW5nIChzcmMgb3IgZHN0KVxuIgorIiAgc2hvdWxkIGJlIHJlbGF0aXZlOyB0aGUgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8gdGhhdCBkaXJlY3RvcnkuXG4iCisic3JjX2Rpcl9mZCBhbmQgZHN0X2Rpcl9mZCwgbWF5IG5vdCBiZSBpbXBsZW1lbnRlZCBvbiB5b3VyIHBsYXRmb3JtLlxuIgorIiAgSWYgdGhleSBhcmUgdW5hdmFpbGFibGUsIHVzaW5nIHRoZW0gd2lsbCByYWlzZSBhIE5vdEltcGxlbWVudGVkRXJyb3IuXCIiKTsKKworI2RlZmluZSBPU19SRVBMQUNFX01FVEhPRERFRiAgICBcCisgICAgeyJyZXBsYWNlIiwgKFB5Q0Z1bmN0aW9uKW9zX3JlcGxhY2UsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc19yZXBsYWNlX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9yZXBsYWNlKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKLXsKLSAgICByZXR1cm4gaW50ZXJuYWxfcmVuYW1lKGFyZ3MsIGt3YXJncywgMSk7Ci19Ci0KLVB5RG9jX1NUUlZBUihwb3NpeF9ybWRpcl9fZG9jX18sCi0icm1kaXIocGF0aCwgKiwgZGlyX2ZkPU5vbmUpXG5cblwKLVJlbW92ZSBhIGRpcmVjdG9yeS5cblwKLVxuXAotSWYgZGlyX2ZkIGlzIG5vdCBOb25lLCBpdCBzaG91bGQgYmUgYSBmaWxlIGRlc2NyaXB0b3Igb3BlbiB0byBhIGRpcmVjdG9yeSxcblwKLSAgYW5kIHBhdGggc2hvdWxkIGJlIHJlbGF0aXZlOyBwYXRoIHdpbGwgdGhlbiBiZSByZWxhdGl2ZSB0byB0aGF0IGRpcmVjdG9yeS5cblwKLWRpcl9mZCBtYXkgbm90IGJlIGltcGxlbWVudGVkIG9uIHlvdXIgcGxhdGZvcm0uXG5cCi0gIElmIGl0IGlzIHVuYXZhaWxhYmxlLCB1c2luZyBpdCB3aWxsIHJhaXNlIGEgTm90SW1wbGVtZW50ZWRFcnJvci4iKTsKK29zX3JlcGxhY2VfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnNyYywgcGF0aF90ICpkc3QsIGludCBzcmNfZGlyX2ZkLCBpbnQgZHN0X2Rpcl9mZCk7CiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9ybWRpcihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCitvc19yZXBsYWNlKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewotICAgIHBhdGhfdCBwYXRoOwotICAgIGludCBkaXJfZmQgPSBERUZBVUxUX0RJUl9GRDsKLSAgICBzdGF0aWMgY2hhciAqa2V5d29yZHNbXSA9IHsicGF0aCIsICJkaXJfZmQiLCBOVUxMfTsKLSAgICBpbnQgcmVzdWx0OwogICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsic3JjIiwgImRzdCIsICJzcmNfZGlyX2ZkIiwgImRzdF9kaXJfZmQiLCBOVUxMfTsKKyAgICBwYXRoX3Qgc3JjID0gUEFUSF9UX0lOSVRJQUxJWkUoInJlcGxhY2UiLCAic3JjIiwgMCwgMCk7CisgICAgcGF0aF90IGRzdCA9IFBBVEhfVF9JTklUSUFMSVpFKCJyZXBsYWNlIiwgImRzdCIsIDAsIDApOworICAgIGludCBzcmNfZGlyX2ZkID0gREVGQVVMVF9ESVJfRkQ7CisgICAgaW50IGRzdF9kaXJfZmQgPSBERUZBVUxUX0RJUl9GRDsKIAotICAgIG1lbXNldCgmcGF0aCwgMCwgc2l6ZW9mKHBhdGgpKTsKLSAgICBwYXRoLmZ1bmN0aW9uX25hbWUgPSAicm1kaXIiOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgIk8mfCRPJjpybWRpciIsIGtleXdvcmRzLAotICAgICAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLAotI2lmZGVmIEhBVkVfVU5MSU5LQVQKLSAgICAgICAgICAgIGRpcl9mZF9jb252ZXJ0ZXIsICZkaXJfZmQKLSNlbHNlCi0gICAgICAgICAgICBkaXJfZmRfdW5hdmFpbGFibGUsICZkaXJfZmQKLSNlbmRpZgotICAgICAgICAgICAgKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiTyZPJnwkTyZPJjpyZXBsYWNlIiwgX2tleXdvcmRzLAorICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnNyYywgcGF0aF9jb252ZXJ0ZXIsICZkc3QsIGRpcl9mZF9jb252ZXJ0ZXIsICZzcmNfZGlyX2ZkLCBkaXJfZmRfY29udmVydGVyLCAmZHN0X2Rpcl9mZCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19yZXBsYWNlX2ltcGwobW9kdWxlLCAmc3JjLCAmZHN0LCBzcmNfZGlyX2ZkLCBkc3RfZGlyX2ZkKTsKKworZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBzcmMgKi8KKyAgICBwYXRoX2NsZWFudXAoJnNyYyk7CisgICAgLyogQ2xlYW51cCBmb3IgZHN0ICovCisgICAgcGF0aF9jbGVhbnVwKCZkc3QpOworCisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3JlcGxhY2VfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnNyYywgcGF0aF90ICpkc3QsIGludCBzcmNfZGlyX2ZkLCBpbnQgZHN0X2Rpcl9mZCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0yMjRlNDcxMGQyOTBkMTcxIGlucHV0PTI1NTE1ZGZiMTA3Yzg0MjFdKi8KK3sKKyAgICByZXR1cm4gaW50ZXJuYWxfcmVuYW1lKHNyYywgZHN0LCBzcmNfZGlyX2ZkLCBkc3RfZGlyX2ZkLCAxKTsKK30KKworCisvKltjbGluaWMgaW5wdXRdCitvcy5ybWRpcgorCisgICAgcGF0aDogcGF0aF90CisgICAgKgorICAgIGRpcl9mZDogZGlyX2ZkKHJlcXVpcmVzPSd1bmxpbmthdCcpID0gTm9uZQorCitSZW1vdmUgYSBkaXJlY3RvcnkuCisKK0lmIGRpcl9mZCBpcyBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZSBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksCisgIGFuZCBwYXRoIHNob3VsZCBiZSByZWxhdGl2ZTsgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8gdGhhdCBkaXJlY3RvcnkuCitkaXJfZmQgbWF5IG5vdCBiZSBpbXBsZW1lbnRlZCBvbiB5b3VyIHBsYXRmb3JtLgorICBJZiBpdCBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgd2lsbCByYWlzZSBhIE5vdEltcGxlbWVudGVkRXJyb3IuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19ybWRpcl9fZG9jX18sCisicm1kaXIoJG1vZHVsZSwgLywgcGF0aCwgKiwgZGlyX2ZkPU5vbmUpXG4iCisiLS1cbiIKKyJcbiIKKyJSZW1vdmUgYSBkaXJlY3RvcnkuXG4iCisiXG4iCisiSWYgZGlyX2ZkIGlzIG5vdCBOb25lLCBpdCBzaG91bGQgYmUgYSBmaWxlIGRlc2NyaXB0b3Igb3BlbiB0byBhIGRpcmVjdG9yeSxcbiIKKyIgIGFuZCBwYXRoIHNob3VsZCBiZSByZWxhdGl2ZTsgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8gdGhhdCBkaXJlY3RvcnkuXG4iCisiZGlyX2ZkIG1heSBub3QgYmUgaW1wbGVtZW50ZWQgb24geW91ciBwbGF0Zm9ybS5cbiIKKyIgIElmIGl0IGlzIHVuYXZhaWxhYmxlLCB1c2luZyBpdCB3aWxsIHJhaXNlIGEgTm90SW1wbGVtZW50ZWRFcnJvci4iKTsKKworI2RlZmluZSBPU19STURJUl9NRVRIT0RERUYgICAgXAorICAgIHsicm1kaXIiLCAoUHlDRnVuY3Rpb24pb3Nfcm1kaXIsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc19ybWRpcl9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfcm1kaXJfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIGludCBkaXJfZmQpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfcm1kaXIoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJwYXRoIiwgImRpcl9mZCIsIE5VTEx9OworICAgIHBhdGhfdCBwYXRoID0gUEFUSF9UX0lOSVRJQUxJWkUoInJtZGlyIiwgInBhdGgiLCAwLCAwKTsKKyAgICBpbnQgZGlyX2ZkID0gREVGQVVMVF9ESVJfRkQ7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJPJnwkTyY6cm1kaXIiLCBfa2V5d29yZHMsCisgICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwgVU5MSU5LQVRfRElSX0ZEX0NPTlZFUlRFUiwgJmRpcl9mZCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19ybWRpcl9pbXBsKG1vZHVsZSwgJnBhdGgsIGRpcl9mZCk7CisKK2V4aXQ6CisgICAgLyogQ2xlYW51cCBmb3IgcGF0aCAqLworICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7CisKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfcm1kaXJfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIGludCBkaXJfZmQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NzBiOWZkYmUzYmVlMDU5MSBpbnB1dD0zOGM4YjM3NWNhMzRhN2UyXSovCit7CisgICAgaW50IHJlc3VsdDsKIAogICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKICNpZmRlZiBNU19XSU5ET1dTCi0gICAgaWYgKHBhdGgud2lkZSkKLSAgICAgICAgcmVzdWx0ID0gUmVtb3ZlRGlyZWN0b3J5VyhwYXRoLndpZGUpOworICAgIGlmIChwYXRoLT53aWRlKQorICAgICAgICByZXN1bHQgPSBSZW1vdmVEaXJlY3RvcnlXKHBhdGgtPndpZGUpOwogICAgIGVsc2UKLSAgICAgICAgcmVzdWx0ID0gUmVtb3ZlRGlyZWN0b3J5QShwYXRoLm5hcnJvdyk7CisgICAgICAgIHJlc3VsdCA9IFJlbW92ZURpcmVjdG9yeUEocGF0aC0+bmFycm93KTsKICAgICByZXN1bHQgPSAhcmVzdWx0OyAvKiBXaW5kb3dzLCBzdWNjZXNzPTEsIFVOSVgsIHN1Y2Nlc3M9MCAqLwogI2Vsc2UKICNpZmRlZiBIQVZFX1VOTElOS0FUCiAgICAgaWYgKGRpcl9mZCAhPSBERUZBVUxUX0RJUl9GRCkKLSAgICAgICAgcmVzdWx0ID0gdW5saW5rYXQoZGlyX2ZkLCBwYXRoLm5hcnJvdywgQVRfUkVNT1ZFRElSKTsKKyAgICAgICAgcmVzdWx0ID0gdW5saW5rYXQoZGlyX2ZkLCBwYXRoLT5uYXJyb3csIEFUX1JFTU9WRURJUik7CiAgICAgZWxzZQogI2VuZGlmCi0gICAgICAgIHJlc3VsdCA9IHJtZGlyKHBhdGgubmFycm93KTsKKyAgICAgICAgcmVzdWx0ID0gcm1kaXIocGF0aC0+bmFycm93KTsKICNlbmRpZgogICAgIFB5X0VORF9BTExPV19USFJFQURTCiAKLSAgICBpZiAocmVzdWx0KSB7Ci0gICAgICAgIHJldHVybl92YWx1ZSA9IHBhdGhfZXJyb3IoJnBhdGgpOwotICAgICAgICBnb3RvIGV4aXQ7Ci0gICAgfQorICAgIGlmIChyZXN1bHQpCisgICAgICAgIHJldHVybiBwYXRoX2Vycm9yKHBhdGgpOwogCi0gICAgcmV0dXJuX3ZhbHVlID0gUHlfTm9uZTsKLSAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0KLWV4aXQ6Ci0gICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKLSAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworICAgIFB5X1JFVFVSTl9OT05FOwogfQogCiAKICNpZmRlZiBIQVZFX1NZU1RFTQotUHlEb2NfU1RSVkFSKHBvc2l4X3N5c3RlbV9fZG9jX18sCi0ic3lzdGVtKGNvbW1hbmQpIC0+IGV4aXRfc3RhdHVzXG5cblwKLUV4ZWN1dGUgdGhlIGNvbW1hbmQgKGEgc3RyaW5nKSBpbiBhIHN1YnNoZWxsLiIpOworI2lmZGVmIE1TX1dJTkRPV1MKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnN5c3RlbSAtPiBsb25nCisKKyAgICBjb21tYW5kOiBQeV9VTklDT0RFCisKK0V4ZWN1dGUgdGhlIGNvbW1hbmQgaW4gYSBzdWJzaGVsbC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3N5c3RlbV9fZG9jX18sCisic3lzdGVtKCRtb2R1bGUsIC8sIGNvbW1hbmQpXG4iCisiLS1cbiIKKyJcbiIKKyJFeGVjdXRlIHRoZSBjb21tYW5kIGluIGEgc3Vic2hlbGwuIik7CisKKyNkZWZpbmUgT1NfU1lTVEVNX01FVEhPRERFRiAgICBcCisgICAgeyJzeXN0ZW0iLCAoUHlDRnVuY3Rpb24pb3Nfc3lzdGVtLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3Nfc3lzdGVtX19kb2NfX30sCisKK3N0YXRpYyBsb25nCitvc19zeXN0ZW1faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9VTklDT0RFICpjb21tYW5kKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3N5c3RlbShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19zeXN0ZW0oUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgbG9uZyBzdHM7Ci0jaWZkZWYgTVNfV0lORE9XUwotICAgIHdjaGFyX3QgKmNvbW1hbmQ7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJ1OnN5c3RlbSIsICZjb21tYW5kKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJjb21tYW5kIiwgTlVMTH07CisgICAgUHlfVU5JQ09ERSAqY29tbWFuZDsKKyAgICBsb25nIF9yZXR1cm5fdmFsdWU7CiAKLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgc3RzID0gX3dzeXN0ZW0oY29tbWFuZCk7Ci0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLSNlbHNlCi0gICAgUHlPYmplY3QgKmNvbW1hbmRfb2JqOwotICAgIGNoYXIgKmNvbW1hbmQ7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPJjpzeXN0ZW0iLAotICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfRlNDb252ZXJ0ZXIsICZjb21tYW5kX29iaikpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgInU6c3lzdGVtIiwgX2tleXdvcmRzLAorICAgICAgICAmY29tbWFuZCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICBfcmV0dXJuX3ZhbHVlID0gb3Nfc3lzdGVtX2ltcGwobW9kdWxlLCBjb21tYW5kKTsKKyAgICBpZiAoKF9yZXR1cm5fdmFsdWUgPT0gLTEpICYmIFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBQeUxvbmdfRnJvbUxvbmcoX3JldHVybl92YWx1ZSk7CiAKLSAgICBjb21tYW5kID0gUHlCeXRlc19Bc1N0cmluZyhjb21tYW5kX29iaik7CitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBsb25nCitvc19zeXN0ZW1faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9VTklDT0RFICpjb21tYW5kKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTI5ZmU2OTljMGIyZTlkMzggaW5wdXQ9MzAzZjVjZTk3ZGY2MDZiMF0qLworeworICAgIGxvbmcgcmVzdWx0OwogICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICBzdHMgPSBzeXN0ZW0oY29tbWFuZCk7CisgICAgcmVzdWx0ID0gX3dzeXN0ZW0oY29tbWFuZCk7CiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLSAgICBQeV9ERUNSRUYoY29tbWFuZF9vYmopOwotI2VuZGlmCi0gICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZyhzdHMpOworICAgIHJldHVybiByZXN1bHQ7Cit9CisjZWxzZSAvKiBNU19XSU5ET1dTICovCisvKltjbGluaWMgaW5wdXRdCitvcy5zeXN0ZW0gLT4gbG9uZworCisgICAgY29tbWFuZDogRlNDb252ZXJ0ZXIKKworRXhlY3V0ZSB0aGUgY29tbWFuZCBpbiBhIHN1YnNoZWxsLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfc3lzdGVtX19kb2NfXywKKyJzeXN0ZW0oJG1vZHVsZSwgLywgY29tbWFuZClcbiIKKyItLVxuIgorIlxuIgorIkV4ZWN1dGUgdGhlIGNvbW1hbmQgaW4gYSBzdWJzaGVsbC4iKTsKKworI2RlZmluZSBPU19TWVNURU1fTUVUSE9EREVGICAgIFwKKyAgICB7InN5c3RlbSIsIChQeUNGdW5jdGlvbilvc19zeXN0ZW0sIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc19zeXN0ZW1fX2RvY19ffSwKKworc3RhdGljIGxvbmcKK29zX3N5c3RlbV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpjb21tYW5kKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3N5c3RlbShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7ImNvbW1hbmQiLCBOVUxMfTsKKyAgICBQeU9iamVjdCAqY29tbWFuZCA9IE5VTEw7CisgICAgbG9uZyBfcmV0dXJuX3ZhbHVlOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiTyY6c3lzdGVtIiwgX2tleXdvcmRzLAorICAgICAgICBQeVVuaWNvZGVfRlNDb252ZXJ0ZXIsICZjb21tYW5kKSkKKyAgICAgICAgZ290byBleGl0OworICAgIF9yZXR1cm5fdmFsdWUgPSBvc19zeXN0ZW1faW1wbChtb2R1bGUsIGNvbW1hbmQpOworICAgIGlmICgoX3JldHVybl92YWx1ZSA9PSAtMSkgJiYgUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IFB5TG9uZ19Gcm9tTG9uZyhfcmV0dXJuX3ZhbHVlKTsKKworZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBjb21tYW5kICovCisgICAgUHlfWERFQ1JFRihjb21tYW5kKTsKKworICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBsb25nCitvc19zeXN0ZW1faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqY29tbWFuZCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD01YmU5ZjNjNDBlYWQzYmFkIGlucHV0PTg2YTU4NTU0YmE2MDk0YWZdKi8KK3sKKyAgICBsb25nIHJlc3VsdDsKKyAgICBjaGFyICpieXRlcyA9IFB5Qnl0ZXNfQXNTdHJpbmcoY29tbWFuZCk7CisgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgIHJlc3VsdCA9IHN5c3RlbShieXRlcyk7CisgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICByZXR1cm4gcmVzdWx0OwogfQogI2VuZGlmCisjZW5kaWYgLyogSEFWRV9TWVNURU0gKi8KIAogCi1QeURvY19TVFJWQVIocG9zaXhfdW1hc2tfX2RvY19fLAotInVtYXNrKG5ld19tYXNrKSAtPiBvbGRfbWFza1xuXG5cCi1TZXQgdGhlIGN1cnJlbnQgbnVtZXJpYyB1bWFzayBhbmQgcmV0dXJuIHRoZSBwcmV2aW91cyB1bWFzay4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnVtYXNrCisKKyAgICBtYXNrOiBpbnQKKyAgICAvCisKK1NldCB0aGUgY3VycmVudCBudW1lcmljIHVtYXNrIGFuZCByZXR1cm4gdGhlIHByZXZpb3VzIHVtYXNrLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfdW1hc2tfX2RvY19fLAorInVtYXNrKCRtb2R1bGUsIG1hc2ssIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJTZXQgdGhlIGN1cnJlbnQgbnVtZXJpYyB1bWFzayBhbmQgcmV0dXJuIHRoZSBwcmV2aW91cyB1bWFzay4iKTsKKworI2RlZmluZSBPU19VTUFTS19NRVRIT0RERUYgICAgXAorICAgIHsidW1hc2siLCAoUHlDRnVuY3Rpb24pb3NfdW1hc2ssIE1FVEhfVkFSQVJHUywgb3NfdW1hc2tfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3VtYXNrKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX3VtYXNrX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IG1hc2spOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfdW1hc2soUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgaW50IGk7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpOnVtYXNrIiwgJmkpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBpID0gKGludCl1bWFzayhpKTsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBpbnQgbWFzazsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiaTp1bWFzayIsCisgICAgICAgICZtYXNrKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3VtYXNrX2ltcGwobW9kdWxlLCBtYXNrKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfdW1hc2tfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgbWFzaykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD05MDA0OGIzOWQyZDRhOTYxIGlucHV0PWFiNmJmZDliMjRkOGE3ZThdKi8KK3sKKyAgICBpbnQgaSA9IChpbnQpdW1hc2sobWFzayk7CiAgICAgaWYgKGkgPCAwKQogICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKICAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nKChsb25nKWkpOwpAQCAtNDUxMiw3ICs1ODAzLDEwIEBACiAgICAgICAgICAgICBmaW5kX2RhdGFfaGFuZGxlID0gRmluZEZpcnN0RmlsZVcobHBGaWxlTmFtZSwgJmZpbmRfZGF0YSk7CiAKICAgICAgICAgICAgIGlmKGZpbmRfZGF0YV9oYW5kbGUgIT0gSU5WQUxJRF9IQU5ETEVfVkFMVUUpIHsKLSAgICAgICAgICAgICAgICBpc19saW5rID0gZmluZF9kYXRhLmR3UmVzZXJ2ZWQwID09IElPX1JFUEFSU0VfVEFHX1NZTUxJTks7CisgICAgICAgICAgICAgICAgLyogSU9fUkVQQVJTRV9UQUdfU1lNTElOSyBpZiBpdCBpcyBhIHN5bWxpbmsgYW5kCisgICAgICAgICAgICAgICAgICAgSU9fUkVQQVJTRV9UQUdfTU9VTlRfUE9JTlQgaWYgaXQgaXMgYSBqdW5jdGlvbiBwb2ludC4gKi8KKyAgICAgICAgICAgICAgICBpc19saW5rID0gZmluZF9kYXRhLmR3UmVzZXJ2ZWQwID09IElPX1JFUEFSU0VfVEFHX1NZTUxJTksgfHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgZmluZF9kYXRhLmR3UmVzZXJ2ZWQwID09IElPX1JFUEFSU0VfVEFHX01PVU5UX1BPSU5UOwogICAgICAgICAgICAgICAgIEZpbmRDbG9zZShmaW5kX2RhdGFfaGFuZGxlKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQpAQCAtNDUyNSw4MSArNTgxOSwxNDcgQEAKIH0KICNlbmRpZiAvKiBNU19XSU5ET1dTICovCiAKLVB5RG9jX1NUUlZBUihwb3NpeF91bmxpbmtfX2RvY19fLAotInVubGluayhwYXRoLCAqLCBkaXJfZmQ9Tm9uZSlcblxuXAotUmVtb3ZlIGEgZmlsZSAoc2FtZSBhcyByZW1vdmUoKSkuXG5cCi1cblwKLUlmIGRpcl9mZCBpcyBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZSBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksXG5cCi0gIGFuZCBwYXRoIHNob3VsZCBiZSByZWxhdGl2ZTsgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8gdGhhdCBkaXJlY3RvcnkuXG5cCi1kaXJfZmQgbWF5IG5vdCBiZSBpbXBsZW1lbnRlZCBvbiB5b3VyIHBsYXRmb3JtLlxuXAotICBJZiBpdCBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgd2lsbCByYWlzZSBhIE5vdEltcGxlbWVudGVkRXJyb3IuIik7CiAKLVB5RG9jX1NUUlZBUihwb3NpeF9yZW1vdmVfX2RvY19fLAotInJlbW92ZShwYXRoLCAqLCBkaXJfZmQ9Tm9uZSlcblxuXAotUmVtb3ZlIGEgZmlsZSAoc2FtZSBhcyB1bmxpbmsoKSkuXG5cCi1cblwKLUlmIGRpcl9mZCBpcyBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZSBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksXG5cCi0gIGFuZCBwYXRoIHNob3VsZCBiZSByZWxhdGl2ZTsgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8gdGhhdCBkaXJlY3RvcnkuXG5cCi1kaXJfZmQgbWF5IG5vdCBiZSBpbXBsZW1lbnRlZCBvbiB5b3VyIHBsYXRmb3JtLlxuXAotICBJZiBpdCBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgd2lsbCByYWlzZSBhIE5vdEltcGxlbWVudGVkRXJyb3IuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy51bmxpbmsKKworICAgIHBhdGg6IHBhdGhfdAorICAgICoKKyAgICBkaXJfZmQ6IGRpcl9mZChyZXF1aXJlcz0ndW5saW5rYXQnKT1Ob25lCisKK1JlbW92ZSBhIGZpbGUgKHNhbWUgYXMgcmVtb3ZlKCkpLgorCitJZiBkaXJfZmQgaXMgbm90IE5vbmUsIGl0IHNob3VsZCBiZSBhIGZpbGUgZGVzY3JpcHRvciBvcGVuIHRvIGEgZGlyZWN0b3J5LAorICBhbmQgcGF0aCBzaG91bGQgYmUgcmVsYXRpdmU7IHBhdGggd2lsbCB0aGVuIGJlIHJlbGF0aXZlIHRvIHRoYXQgZGlyZWN0b3J5LgorZGlyX2ZkIG1heSBub3QgYmUgaW1wbGVtZW50ZWQgb24geW91ciBwbGF0Zm9ybS4KKyAgSWYgaXQgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHdpbGwgcmFpc2UgYSBOb3RJbXBsZW1lbnRlZEVycm9yLgorCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc191bmxpbmtfX2RvY19fLAorInVubGluaygkbW9kdWxlLCAvLCBwYXRoLCAqLCBkaXJfZmQ9Tm9uZSlcbiIKKyItLVxuIgorIlxuIgorIlJlbW92ZSBhIGZpbGUgKHNhbWUgYXMgcmVtb3ZlKCkpLlxuIgorIlxuIgorIklmIGRpcl9mZCBpcyBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZSBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksXG4iCisiICBhbmQgcGF0aCBzaG91bGQgYmUgcmVsYXRpdmU7IHBhdGggd2lsbCB0aGVuIGJlIHJlbGF0aXZlIHRvIHRoYXQgZGlyZWN0b3J5LlxuIgorImRpcl9mZCBtYXkgbm90IGJlIGltcGxlbWVudGVkIG9uIHlvdXIgcGxhdGZvcm0uXG4iCisiICBJZiBpdCBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgd2lsbCByYWlzZSBhIE5vdEltcGxlbWVudGVkRXJyb3IuIik7CisKKyNkZWZpbmUgT1NfVU5MSU5LX01FVEhPRERFRiAgICBcCisgICAgeyJ1bmxpbmsiLCAoUHlDRnVuY3Rpb24pb3NfdW5saW5rLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfdW5saW5rX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF91bmxpbmsoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQotewotICAgIHBhdGhfdCBwYXRoOwotICAgIGludCBkaXJfZmQgPSBERUZBVUxUX0RJUl9GRDsKLSAgICBzdGF0aWMgY2hhciAqa2V5d29yZHNbXSA9IHsicGF0aCIsICJkaXJfZmQiLCBOVUxMfTsKLSAgICBpbnQgcmVzdWx0OwotICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworb3NfdW5saW5rX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoLCBpbnQgZGlyX2ZkKTsKIAotICAgIG1lbXNldCgmcGF0aCwgMCwgc2l6ZW9mKHBhdGgpKTsKLSAgICBwYXRoLmZ1bmN0aW9uX25hbWUgPSAidW5saW5rIjsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsICJPJnwkTyY6dW5saW5rIiwga2V5d29yZHMsCi0gICAgICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsCi0jaWZkZWYgSEFWRV9VTkxJTktBVAotICAgICAgICAgICAgZGlyX2ZkX2NvbnZlcnRlciwgJmRpcl9mZAotI2Vsc2UKLSAgICAgICAgICAgIGRpcl9mZF91bmF2YWlsYWJsZSwgJmRpcl9mZAotI2VuZGlmCi0gICAgICAgICAgICApKQotICAgICAgICByZXR1cm4gTlVMTDsKK3N0YXRpYyBQeU9iamVjdCAqCitvc191bmxpbmsoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJwYXRoIiwgImRpcl9mZCIsIE5VTEx9OworICAgIHBhdGhfdCBwYXRoID0gUEFUSF9UX0lOSVRJQUxJWkUoInVubGluayIsICJwYXRoIiwgMCwgMCk7CisgICAgaW50IGRpcl9mZCA9IERFRkFVTFRfRElSX0ZEOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiTyZ8JE8mOnVubGluayIsIF9rZXl3b3JkcywKKyAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLCBVTkxJTktBVF9ESVJfRkRfQ09OVkVSVEVSLCAmZGlyX2ZkKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3VubGlua19pbXBsKG1vZHVsZSwgJnBhdGgsIGRpcl9mZCk7CisKK2V4aXQ6CisgICAgLyogQ2xlYW51cCBmb3IgcGF0aCAqLworICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7CisKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfdW5saW5rX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoLCBpbnQgZGlyX2ZkKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTU5YTZlNjZkNjdmZjJlNzUgaW5wdXQ9ZDdiY2RlMmIxYjJhMjU1Ml0qLworeworICAgIGludCByZXN1bHQ7CiAKICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCiAjaWZkZWYgTVNfV0lORE9XUwotICAgIGlmIChwYXRoLndpZGUpCi0gICAgICAgIHJlc3VsdCA9IFB5X0RlbGV0ZUZpbGVXKHBhdGgud2lkZSk7CisgICAgaWYgKHBhdGgtPndpZGUpCisgICAgICAgIHJlc3VsdCA9IFB5X0RlbGV0ZUZpbGVXKHBhdGgtPndpZGUpOwogICAgIGVsc2UKLSAgICAgICAgcmVzdWx0ID0gRGVsZXRlRmlsZUEocGF0aC5uYXJyb3cpOworICAgICAgICByZXN1bHQgPSBEZWxldGVGaWxlQShwYXRoLT5uYXJyb3cpOwogICAgIHJlc3VsdCA9ICFyZXN1bHQ7IC8qIFdpbmRvd3MsIHN1Y2Nlc3M9MSwgVU5JWCwgc3VjY2Vzcz0wICovCiAjZWxzZQogI2lmZGVmIEhBVkVfVU5MSU5LQVQKICAgICBpZiAoZGlyX2ZkICE9IERFRkFVTFRfRElSX0ZEKQotICAgICAgICByZXN1bHQgPSB1bmxpbmthdChkaXJfZmQsIHBhdGgubmFycm93LCAwKTsKKyAgICAgICAgcmVzdWx0ID0gdW5saW5rYXQoZGlyX2ZkLCBwYXRoLT5uYXJyb3csIDApOwogICAgIGVsc2UKICNlbmRpZiAvKiBIQVZFX1VOTElOS0FUICovCi0gICAgICAgIHJlc3VsdCA9IHVubGluayhwYXRoLm5hcnJvdyk7CisgICAgICAgIHJlc3VsdCA9IHVubGluayhwYXRoLT5uYXJyb3cpOwogI2VuZGlmCiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKIAotICAgIGlmIChyZXN1bHQpIHsKLSAgICAgICAgcmV0dXJuX3ZhbHVlID0gcGF0aF9lcnJvcigmcGF0aCk7Ci0gICAgICAgIGdvdG8gZXhpdDsKLSAgICB9CisgICAgaWYgKHJlc3VsdCkKKyAgICAgICAgcmV0dXJuIHBhdGhfZXJyb3IocGF0aCk7CiAKLSAgICByZXR1cm5fdmFsdWUgPSBQeV9Ob25lOwotICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKLQotZXhpdDoKLSAgICBwYXRoX2NsZWFudXAoJnBhdGgpOwotICAgIHJldHVybiByZXR1cm5fdmFsdWU7CisgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAKIAotUHlEb2NfU1RSVkFSKHBvc2l4X3VuYW1lX19kb2NfXywKLSJ1bmFtZSgpIC0+IHVuYW1lX3Jlc3VsdFxuXG5cCi1SZXR1cm4gYW4gb2JqZWN0IGlkZW50aWZ5aW5nIHRoZSBjdXJyZW50IG9wZXJhdGluZyBzeXN0ZW0uXG5cCi1UaGUgb2JqZWN0IGJlaGF2ZXMgbGlrZSBhIG5hbWVkIHR1cGxlIHdpdGggdGhlIGZvbGxvd2luZyBmaWVsZHM6XG5cCi0gIChzeXNuYW1lLCBub2RlbmFtZSwgcmVsZWFzZSwgdmVyc2lvbiwgbWFjaGluZSkiKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnJlbW92ZSA9IG9zLnVubGluaworCitSZW1vdmUgYSBmaWxlIChzYW1lIGFzIHVubGluaygpKS4KKworSWYgZGlyX2ZkIGlzIG5vdCBOb25lLCBpdCBzaG91bGQgYmUgYSBmaWxlIGRlc2NyaXB0b3Igb3BlbiB0byBhIGRpcmVjdG9yeSwKKyAgYW5kIHBhdGggc2hvdWxkIGJlIHJlbGF0aXZlOyBwYXRoIHdpbGwgdGhlbiBiZSByZWxhdGl2ZSB0byB0aGF0IGRpcmVjdG9yeS4KK2Rpcl9mZCBtYXkgbm90IGJlIGltcGxlbWVudGVkIG9uIHlvdXIgcGxhdGZvcm0uCisgIElmIGl0IGlzIHVuYXZhaWxhYmxlLCB1c2luZyBpdCB3aWxsIHJhaXNlIGEgTm90SW1wbGVtZW50ZWRFcnJvci4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3JlbW92ZV9fZG9jX18sCisicmVtb3ZlKCRtb2R1bGUsIC8sIHBhdGgsICosIGRpcl9mZD1Ob25lKVxuIgorIi0tXG4iCisiXG4iCisiUmVtb3ZlIGEgZmlsZSAoc2FtZSBhcyB1bmxpbmsoKSkuXG4iCisiXG4iCisiSWYgZGlyX2ZkIGlzIG5vdCBOb25lLCBpdCBzaG91bGQgYmUgYSBmaWxlIGRlc2NyaXB0b3Igb3BlbiB0byBhIGRpcmVjdG9yeSxcbiIKKyIgIGFuZCBwYXRoIHNob3VsZCBiZSByZWxhdGl2ZTsgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8gdGhhdCBkaXJlY3RvcnkuXG4iCisiZGlyX2ZkIG1heSBub3QgYmUgaW1wbGVtZW50ZWQgb24geW91ciBwbGF0Zm9ybS5cbiIKKyIgIElmIGl0IGlzIHVuYXZhaWxhYmxlLCB1c2luZyBpdCB3aWxsIHJhaXNlIGEgTm90SW1wbGVtZW50ZWRFcnJvci4iKTsKKworI2RlZmluZSBPU19SRU1PVkVfTUVUSE9EREVGICAgIFwKKyAgICB7InJlbW92ZSIsIChQeUNGdW5jdGlvbilvc19yZW1vdmUsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc19yZW1vdmVfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3JlbW92ZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgaW50IGRpcl9mZCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19yZW1vdmUoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJwYXRoIiwgImRpcl9mZCIsIE5VTEx9OworICAgIHBhdGhfdCBwYXRoID0gUEFUSF9UX0lOSVRJQUxJWkUoInJlbW92ZSIsICJwYXRoIiwgMCwgMCk7CisgICAgaW50IGRpcl9mZCA9IERFRkFVTFRfRElSX0ZEOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiTyZ8JE8mOnJlbW92ZSIsIF9rZXl3b3JkcywKKyAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLCBVTkxJTktBVF9ESVJfRkRfQ09OVkVSVEVSLCAmZGlyX2ZkKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3JlbW92ZV9pbXBsKG1vZHVsZSwgJnBhdGgsIGRpcl9mZCk7CisKK2V4aXQ6CisgICAgLyogQ2xlYW51cCBmb3IgcGF0aCAqLworICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7CisKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfcmVtb3ZlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoLCBpbnQgZGlyX2ZkKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWNiMTcwY2YxZTE5NWI4ZWQgaW5wdXQ9ZTA1YzVhYjU1Y2QzMDk4M10qLworeworICAgIHJldHVybiBvc191bmxpbmtfaW1wbChtb2R1bGUsIHBhdGgsIGRpcl9mZCk7Cit9CisKIAogc3RhdGljIFB5U3RydWN0U2VxdWVuY2VfRmllbGQgdW5hbWVfcmVzdWx0X2ZpZWxkc1tdID0gewogICAgIHsic3lzbmFtZSIsICAgICJvcGVyYXRpbmcgc3lzdGVtIG5hbWUifSwKQEAgLTQ2MjksOCArNTk4OSw0MCBAQAogCiAKICNpZmRlZiBIQVZFX1VOQU1FCisvKltjbGluaWMgaW5wdXRdCitvcy51bmFtZQorCitSZXR1cm4gYW4gb2JqZWN0IGlkZW50aWZ5aW5nIHRoZSBjdXJyZW50IG9wZXJhdGluZyBzeXN0ZW0uCisKK1RoZSBvYmplY3QgYmVoYXZlcyBsaWtlIGEgbmFtZWQgdHVwbGUgd2l0aCB0aGUgZm9sbG93aW5nIGZpZWxkczoKKyAgKHN5c25hbWUsIG5vZGVuYW1lLCByZWxlYXNlLCB2ZXJzaW9uLCBtYWNoaW5lKQorCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc191bmFtZV9fZG9jX18sCisidW5hbWUoJG1vZHVsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBhbiBvYmplY3QgaWRlbnRpZnlpbmcgdGhlIGN1cnJlbnQgb3BlcmF0aW5nIHN5c3RlbS5cbiIKKyJcbiIKKyJUaGUgb2JqZWN0IGJlaGF2ZXMgbGlrZSBhIG5hbWVkIHR1cGxlIHdpdGggdGhlIGZvbGxvd2luZyBmaWVsZHM6XG4iCisiICAoc3lzbmFtZSwgbm9kZW5hbWUsIHJlbGVhc2UsIHZlcnNpb24sIG1hY2hpbmUpIik7CisKKyNkZWZpbmUgT1NfVU5BTUVfTUVUSE9EREVGICAgIFwKKyAgICB7InVuYW1lIiwgKFB5Q0Z1bmN0aW9uKW9zX3VuYW1lLCBNRVRIX05PQVJHUywgb3NfdW5hbWVfX2RvY19ffSwKKwogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3VuYW1lKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqbm9hcmdzKQorb3NfdW5hbWVfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3VuYW1lKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIG9zX3VuYW1lX2ltcGwobW9kdWxlKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3VuYW1lX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD00NTlhODY1MjFmZjUwNDFjIGlucHV0PWU2OGJkMjQ2ZGIzMDQzZWRdKi8KIHsKICAgICBzdHJ1Y3QgdXRzbmFtZSB1OwogICAgIGludCByZXM7CkBAIC00NjY5LDMxICs2MDYxLDYgQEAKICNlbmRpZiAvKiBIQVZFX1VOQU1FICovCiAKIAotUHlEb2NfU1RSVkFSKHBvc2l4X3V0aW1lX19kb2NfXywKLSJ1dGltZShwYXRoLCB0aW1lcz1Ob25lLCAqLCBucz1Ob25lLCBkaXJfZmQ9Tm9uZSwgZm9sbG93X3N5bWxpbmtzPVRydWUpXG5cCi1TZXQgdGhlIGFjY2VzcyBhbmQgbW9kaWZpZWQgdGltZSBvZiBwYXRoLlxuXAotXG5cCi1wYXRoIG1heSBhbHdheXMgYmUgc3BlY2lmaWVkIGFzIGEgc3RyaW5nLlxuXAotT24gc29tZSBwbGF0Zm9ybXMsIHBhdGggbWF5IGFsc28gYmUgc3BlY2lmaWVkIGFzIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLlxuXAotICBJZiB0aGlzIGZ1bmN0aW9uYWxpdHkgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHJhaXNlcyBhbiBleGNlcHRpb24uXG5cCi1cblwKLUlmIHRpbWVzIGlzIG5vdCBOb25lLCBpdCBtdXN0IGJlIGEgdHVwbGUgKGF0aW1lLCBtdGltZSk7XG5cCi0gICAgYXRpbWUgYW5kIG10aW1lIHNob3VsZCBiZSBleHByZXNzZWQgYXMgZmxvYXQgc2Vjb25kcyBzaW5jZSB0aGUgZXBvY2guXG5cCi1JZiBucyBpcyBub3QgTm9uZSwgaXQgbXVzdCBiZSBhIHR1cGxlIChhdGltZV9ucywgbXRpbWVfbnMpO1xuXAotICAgIGF0aW1lX25zIGFuZCBtdGltZV9ucyBzaG91bGQgYmUgZXhwcmVzc2VkIGFzIGludGVnZXIgbmFub3NlY29uZHNcblwKLSAgICBzaW5jZSB0aGUgZXBvY2guXG5cCi1JZiBib3RoIHRpbWVzIGFuZCBucyBhcmUgTm9uZSwgdXRpbWUgdXNlcyB0aGUgY3VycmVudCB0aW1lLlxuXAotU3BlY2lmeWluZyB0dXBsZXMgZm9yIGJvdGggdGltZXMgYW5kIG5zIGlzIGFuIGVycm9yLlxuXAotXG5cCi1JZiBkaXJfZmQgaXMgbm90IE5vbmUsIGl0IHNob3VsZCBiZSBhIGZpbGUgZGVzY3JpcHRvciBvcGVuIHRvIGEgZGlyZWN0b3J5LFxuXAotICBhbmQgcGF0aCBzaG91bGQgYmUgcmVsYXRpdmU7IHBhdGggd2lsbCB0aGVuIGJlIHJlbGF0aXZlIHRvIHRoYXQgZGlyZWN0b3J5LlxuXAotSWYgZm9sbG93X3N5bWxpbmtzIGlzIEZhbHNlLCBhbmQgdGhlIGxhc3QgZWxlbWVudCBvZiB0aGUgcGF0aCBpcyBhIHN5bWJvbGljXG5cCi0gIGxpbmssIHV0aW1lIHdpbGwgbW9kaWZ5IHRoZSBzeW1ib2xpYyBsaW5rIGl0c2VsZiBpbnN0ZWFkIG9mIHRoZSBmaWxlIHRoZVxuXAotICBsaW5rIHBvaW50cyB0by5cblwKLUl0IGlzIGFuIGVycm9yIHRvIHVzZSBkaXJfZmQgb3IgZm9sbG93X3N5bWxpbmtzIHdoZW4gc3BlY2lmeWluZyBwYXRoXG5cCi0gIGFzIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLlxuXAotZGlyX2ZkIGFuZCBmb2xsb3dfc3ltbGlua3MgbWF5IG5vdCBiZSBhdmFpbGFibGUgb24geW91ciBwbGF0Zm9ybS5cblwKLSAgSWYgdGhleSBhcmUgdW5hdmFpbGFibGUsIHVzaW5nIHRoZW0gd2lsbCByYWlzZSBhIE5vdEltcGxlbWVudGVkRXJyb3IuIik7CiAKIHR5cGVkZWYgc3RydWN0IHsKICAgICBpbnQgICAgbm93OwpAQCAtNDc3OSw2ICs2MTQ2LDkgQEAKICNlbmRpZgogfQogCisgICAgI2RlZmluZSBGVVRJTUVOU0FUX0RJUl9GRF9DT05WRVJURVIgZGlyX2ZkX2NvbnZlcnRlcgorI2Vsc2UKKyAgICAjZGVmaW5lIEZVVElNRU5TQVRfRElSX0ZEX0NPTlZFUlRFUiBkaXJfZmRfdW5hdmFpbGFibGUKICNlbmRpZgogCiAjZGVmaW5lIFVUSU1FX0hBVkVfRkQgKGRlZmluZWQoSEFWRV9GVVRJTUVTKSB8fCBkZWZpbmVkKEhBVkVfRlVUSU1FTlMpKQpAQCAtNDc5Nyw2ICs2MTY3LDkgQEAKICNlbmRpZgogfQogCisgICAgI2RlZmluZSBQQVRIX1VUSU1FX0hBVkVfRkQgMQorI2Vsc2UKKyAgICAjZGVmaW5lIFBBVEhfVVRJTUVfSEFWRV9GRCAwCiAjZW5kaWYKIAogCkBAIC00ODYyLDE5ICs2MjM1LDEwOCBAQAogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKKworLypbY2xpbmljIGlucHV0XQorb3MudXRpbWUKKworICAgIHBhdGg6IHBhdGhfdChhbGxvd19mZD0nUEFUSF9VVElNRV9IQVZFX0ZEJykKKyAgICB0aW1lczogb2JqZWN0ID0gTlVMTAorICAgICoKKyAgICBuczogb2JqZWN0ID0gTlVMTAorICAgIGRpcl9mZDogZGlyX2ZkKHJlcXVpcmVzPSdmdXRpbWVuc2F0JykgPSBOb25lCisgICAgZm9sbG93X3N5bWxpbmtzOiBib29sPVRydWUKKworIyAidXRpbWUocGF0aCwgdGltZXM9Tm9uZSwgKiwgbnM9Tm9uZSwgZGlyX2ZkPU5vbmUsIGZvbGxvd19zeW1saW5rcz1UcnVlKVxuXAorCitTZXQgdGhlIGFjY2VzcyBhbmQgbW9kaWZpZWQgdGltZSBvZiBwYXRoLgorCitwYXRoIG1heSBhbHdheXMgYmUgc3BlY2lmaWVkIGFzIGEgc3RyaW5nLgorT24gc29tZSBwbGF0Zm9ybXMsIHBhdGggbWF5IGFsc28gYmUgc3BlY2lmaWVkIGFzIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLgorICBJZiB0aGlzIGZ1bmN0aW9uYWxpdHkgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHJhaXNlcyBhbiBleGNlcHRpb24uCisKK0lmIHRpbWVzIGlzIG5vdCBOb25lLCBpdCBtdXN0IGJlIGEgdHVwbGUgKGF0aW1lLCBtdGltZSk7CisgICAgYXRpbWUgYW5kIG10aW1lIHNob3VsZCBiZSBleHByZXNzZWQgYXMgZmxvYXQgc2Vjb25kcyBzaW5jZSB0aGUgZXBvY2guCitJZiBucyBpcyBub3QgTm9uZSwgaXQgbXVzdCBiZSBhIHR1cGxlIChhdGltZV9ucywgbXRpbWVfbnMpOworICAgIGF0aW1lX25zIGFuZCBtdGltZV9ucyBzaG91bGQgYmUgZXhwcmVzc2VkIGFzIGludGVnZXIgbmFub3NlY29uZHMKKyAgICBzaW5jZSB0aGUgZXBvY2guCitJZiBib3RoIHRpbWVzIGFuZCBucyBhcmUgTm9uZSwgdXRpbWUgdXNlcyB0aGUgY3VycmVudCB0aW1lLgorU3BlY2lmeWluZyB0dXBsZXMgZm9yIGJvdGggdGltZXMgYW5kIG5zIGlzIGFuIGVycm9yLgorCitJZiBkaXJfZmQgaXMgbm90IE5vbmUsIGl0IHNob3VsZCBiZSBhIGZpbGUgZGVzY3JpcHRvciBvcGVuIHRvIGEgZGlyZWN0b3J5LAorICBhbmQgcGF0aCBzaG91bGQgYmUgcmVsYXRpdmU7IHBhdGggd2lsbCB0aGVuIGJlIHJlbGF0aXZlIHRvIHRoYXQgZGlyZWN0b3J5LgorSWYgZm9sbG93X3N5bWxpbmtzIGlzIEZhbHNlLCBhbmQgdGhlIGxhc3QgZWxlbWVudCBvZiB0aGUgcGF0aCBpcyBhIHN5bWJvbGljCisgIGxpbmssIHV0aW1lIHdpbGwgbW9kaWZ5IHRoZSBzeW1ib2xpYyBsaW5rIGl0c2VsZiBpbnN0ZWFkIG9mIHRoZSBmaWxlIHRoZQorICBsaW5rIHBvaW50cyB0by4KK0l0IGlzIGFuIGVycm9yIHRvIHVzZSBkaXJfZmQgb3IgZm9sbG93X3N5bWxpbmtzIHdoZW4gc3BlY2lmeWluZyBwYXRoCisgIGFzIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLgorZGlyX2ZkIGFuZCBmb2xsb3dfc3ltbGlua3MgbWF5IG5vdCBiZSBhdmFpbGFibGUgb24geW91ciBwbGF0Zm9ybS4KKyAgSWYgdGhleSBhcmUgdW5hdmFpbGFibGUsIHVzaW5nIHRoZW0gd2lsbCByYWlzZSBhIE5vdEltcGxlbWVudGVkRXJyb3IuCisKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3V0aW1lX19kb2NfXywKKyJ1dGltZSgkbW9kdWxlLCAvLCBwYXRoLCB0aW1lcz1Ob25lLCAqLCBucz1Ob25lLCBkaXJfZmQ9Tm9uZSxcbiIKKyIgICAgICBmb2xsb3dfc3ltbGlua3M9VHJ1ZSlcbiIKKyItLVxuIgorIlxuIgorIlNldCB0aGUgYWNjZXNzIGFuZCBtb2RpZmllZCB0aW1lIG9mIHBhdGguXG4iCisiXG4iCisicGF0aCBtYXkgYWx3YXlzIGJlIHNwZWNpZmllZCBhcyBhIHN0cmluZy5cbiIKKyJPbiBzb21lIHBsYXRmb3JtcywgcGF0aCBtYXkgYWxzbyBiZSBzcGVjaWZpZWQgYXMgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuXG4iCisiICBJZiB0aGlzIGZ1bmN0aW9uYWxpdHkgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHJhaXNlcyBhbiBleGNlcHRpb24uXG4iCisiXG4iCisiSWYgdGltZXMgaXMgbm90IE5vbmUsIGl0IG11c3QgYmUgYSB0dXBsZSAoYXRpbWUsIG10aW1lKTtcbiIKKyIgICAgYXRpbWUgYW5kIG10aW1lIHNob3VsZCBiZSBleHByZXNzZWQgYXMgZmxvYXQgc2Vjb25kcyBzaW5jZSB0aGUgZXBvY2guXG4iCisiSWYgbnMgaXMgbm90IE5vbmUsIGl0IG11c3QgYmUgYSB0dXBsZSAoYXRpbWVfbnMsIG10aW1lX25zKTtcbiIKKyIgICAgYXRpbWVfbnMgYW5kIG10aW1lX25zIHNob3VsZCBiZSBleHByZXNzZWQgYXMgaW50ZWdlciBuYW5vc2Vjb25kc1xuIgorIiAgICBzaW5jZSB0aGUgZXBvY2guXG4iCisiSWYgYm90aCB0aW1lcyBhbmQgbnMgYXJlIE5vbmUsIHV0aW1lIHVzZXMgdGhlIGN1cnJlbnQgdGltZS5cbiIKKyJTcGVjaWZ5aW5nIHR1cGxlcyBmb3IgYm90aCB0aW1lcyBhbmQgbnMgaXMgYW4gZXJyb3IuXG4iCisiXG4iCisiSWYgZGlyX2ZkIGlzIG5vdCBOb25lLCBpdCBzaG91bGQgYmUgYSBmaWxlIGRlc2NyaXB0b3Igb3BlbiB0byBhIGRpcmVjdG9yeSxcbiIKKyIgIGFuZCBwYXRoIHNob3VsZCBiZSByZWxhdGl2ZTsgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8gdGhhdCBkaXJlY3RvcnkuXG4iCisiSWYgZm9sbG93X3N5bWxpbmtzIGlzIEZhbHNlLCBhbmQgdGhlIGxhc3QgZWxlbWVudCBvZiB0aGUgcGF0aCBpcyBhIHN5bWJvbGljXG4iCisiICBsaW5rLCB1dGltZSB3aWxsIG1vZGlmeSB0aGUgc3ltYm9saWMgbGluayBpdHNlbGYgaW5zdGVhZCBvZiB0aGUgZmlsZSB0aGVcbiIKKyIgIGxpbmsgcG9pbnRzIHRvLlxuIgorIkl0IGlzIGFuIGVycm9yIHRvIHVzZSBkaXJfZmQgb3IgZm9sbG93X3N5bWxpbmtzIHdoZW4gc3BlY2lmeWluZyBwYXRoXG4iCisiICBhcyBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvci5cbiIKKyJkaXJfZmQgYW5kIGZvbGxvd19zeW1saW5rcyBtYXkgbm90IGJlIGF2YWlsYWJsZSBvbiB5b3VyIHBsYXRmb3JtLlxuIgorIiAgSWYgdGhleSBhcmUgdW5hdmFpbGFibGUsIHVzaW5nIHRoZW0gd2lsbCByYWlzZSBhIE5vdEltcGxlbWVudGVkRXJyb3IuIik7CisKKyNkZWZpbmUgT1NfVVRJTUVfTUVUSE9EREVGICAgIFwKKyAgICB7InV0aW1lIiwgKFB5Q0Z1bmN0aW9uKW9zX3V0aW1lLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfdXRpbWVfX2RvY19ffSwKKwogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3V0aW1lKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK29zX3V0aW1lX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoLCBQeU9iamVjdCAqdGltZXMsIFB5T2JqZWN0ICpucywgaW50IGRpcl9mZCwgaW50IGZvbGxvd19zeW1saW5rcyk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc191dGltZShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKLSAgICBwYXRoX3QgcGF0aDsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InBhdGgiLCAidGltZXMiLCAibnMiLCAiZGlyX2ZkIiwgImZvbGxvd19zeW1saW5rcyIsIE5VTEx9OworICAgIHBhdGhfdCBwYXRoID0gUEFUSF9UX0lOSVRJQUxJWkUoInV0aW1lIiwgInBhdGgiLCAwLCBQQVRIX1VUSU1FX0hBVkVfRkQpOwogICAgIFB5T2JqZWN0ICp0aW1lcyA9IE5VTEw7CiAgICAgUHlPYmplY3QgKm5zID0gTlVMTDsKICAgICBpbnQgZGlyX2ZkID0gREVGQVVMVF9ESVJfRkQ7CiAgICAgaW50IGZvbGxvd19zeW1saW5rcyA9IDE7Ci0gICAgY2hhciAqa2V5d29yZHNbXSA9IHsicGF0aCIsICJ0aW1lcyIsICJucyIsICJkaXJfZmQiLAotICAgICAgICAgICAgICAgICAgICAgICAgImZvbGxvd19zeW1saW5rcyIsIE5VTEx9OwogCi0gICAgdXRpbWVfdCB1dGltZTsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJPJnxPJE9PJnA6dXRpbWUiLCBfa2V5d29yZHMsCisgICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwgJnRpbWVzLCAmbnMsIEZVVElNRU5TQVRfRElSX0ZEX0NPTlZFUlRFUiwgJmRpcl9mZCwgJmZvbGxvd19zeW1saW5rcykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc191dGltZV9pbXBsKG1vZHVsZSwgJnBhdGgsIHRpbWVzLCBucywgZGlyX2ZkLCBmb2xsb3dfc3ltbGlua3MpOwogCitleGl0OgorICAgIC8qIENsZWFudXAgZm9yIHBhdGggKi8KKyAgICBwYXRoX2NsZWFudXAoJnBhdGgpOworCisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3V0aW1lX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoLCBQeU9iamVjdCAqdGltZXMsIFB5T2JqZWN0ICpucywgaW50IGRpcl9mZCwgaW50IGZvbGxvd19zeW1saW5rcykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD04OTE0ODljMzVjYzY4YzVkIGlucHV0PTFmMThjMTdkNTk0MWFhODJdKi8KK3sKICNpZmRlZiBNU19XSU5ET1dTCiAgICAgSEFORExFIGhGaWxlOwogICAgIEZJTEVUSU1FIGF0aW1lLCBtdGltZTsKQEAgLTQ4ODMsMjUgKzYzNDUsOSBAQAogI2VuZGlmCiAKICAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICB1dGltZV90IHV0aW1lOwogCi0gICAgbWVtc2V0KCZwYXRoLCAwLCBzaXplb2YocGF0aCkpOwotICAgIHBhdGguZnVuY3Rpb25fbmFtZSA9ICJ1dGltZSI7CiAgICAgbWVtc2V0KCZ1dGltZSwgMCwgc2l6ZW9mKHV0aW1lX3QpKTsKLSNpZiBVVElNRV9IQVZFX0ZECi0gICAgcGF0aC5hbGxvd19mZCA9IDE7Ci0jZW5kaWYKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCi0gICAgICAgICAgICAiTyZ8TyRPTyZwOnV0aW1lIiwga2V5d29yZHMsCi0gICAgICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsCi0gICAgICAgICAgICAmdGltZXMsICZucywKLSNpZiBVVElNRV9IQVZFX0RJUl9GRAotICAgICAgICAgICAgZGlyX2ZkX2NvbnZlcnRlciwgJmRpcl9mZCwKLSNlbHNlCi0gICAgICAgICAgICBkaXJfZmRfdW5hdmFpbGFibGUsICZkaXJfZmQsCi0jZW5kaWYKLSAgICAgICAgICAgICZmb2xsb3dfc3ltbGlua3MKLSAgICAgICAgICAgICkpCi0gICAgICAgIHJldHVybiBOVUxMOwogCiAgICAgaWYgKHRpbWVzICYmICh0aW1lcyAhPSBQeV9Ob25lKSAmJiBucykgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKQEAgLTQ5NTUsOSArNjQwMSw5IEBACiAgICAgICAgIGdvdG8gZXhpdDsKICNlbmRpZgogCi0gICAgaWYgKHBhdGhfYW5kX2Rpcl9mZF9pbnZhbGlkKCJ1dGltZSIsICZwYXRoLCBkaXJfZmQpIHx8Ci0gICAgICAgIGRpcl9mZF9hbmRfZmRfaW52YWxpZCgidXRpbWUiLCBkaXJfZmQsIHBhdGguZmQpIHx8Ci0gICAgICAgIGZkX2FuZF9mb2xsb3dfc3ltbGlua3NfaW52YWxpZCgidXRpbWUiLCBwYXRoLmZkLCBmb2xsb3dfc3ltbGlua3MpKQorICAgIGlmIChwYXRoX2FuZF9kaXJfZmRfaW52YWxpZCgidXRpbWUiLCBwYXRoLCBkaXJfZmQpIHx8CisgICAgICAgIGRpcl9mZF9hbmRfZmRfaW52YWxpZCgidXRpbWUiLCBkaXJfZmQsIHBhdGgtPmZkKSB8fAorICAgICAgICBmZF9hbmRfZm9sbG93X3N5bWxpbmtzX2ludmFsaWQoInV0aW1lIiwgcGF0aC0+ZmQsIGZvbGxvd19zeW1saW5rcykpCiAgICAgICAgIGdvdG8gZXhpdDsKIAogI2lmICFkZWZpbmVkKEhBVkVfVVRJTUVOU0FUKQpAQCAtNDk3MSwxNyArNjQxNywxNyBAQAogCiAjaWZkZWYgTVNfV0lORE9XUwogICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICBpZiAocGF0aC53aWRlKQotICAgICAgICBoRmlsZSA9IENyZWF0ZUZpbGVXKHBhdGgud2lkZSwgRklMRV9XUklURV9BVFRSSUJVVEVTLCAwLAorICAgIGlmIChwYXRoLT53aWRlKQorICAgICAgICBoRmlsZSA9IENyZWF0ZUZpbGVXKHBhdGgtPndpZGUsIEZJTEVfV1JJVEVfQVRUUklCVVRFUywgMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBPUEVOX0VYSVNUSU5HLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZJTEVfRkxBR19CQUNLVVBfU0VNQU5USUNTLCBOVUxMKTsKICAgICBlbHNlCi0gICAgICAgIGhGaWxlID0gQ3JlYXRlRmlsZUEocGF0aC5uYXJyb3csIEZJTEVfV1JJVEVfQVRUUklCVVRFUywgMCwKKyAgICAgICAgaEZpbGUgPSBDcmVhdGVGaWxlQShwYXRoLT5uYXJyb3csIEZJTEVfV1JJVEVfQVRUUklCVVRFUywgMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBPUEVOX0VYSVNUSU5HLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZJTEVfRkxBR19CQUNLVVBfU0VNQU5USUNTLCBOVUxMKTsKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogICAgIGlmIChoRmlsZSA9PSBJTlZBTElEX0hBTkRMRV9WQUxVRSkgewotICAgICAgICBwYXRoX2Vycm9yKCZwYXRoKTsKKyAgICAgICAgcGF0aF9lcnJvcihwYXRoKTsKICAgICAgICAgZ290byBleGl0OwogICAgIH0KIApAQCAtNTAwNiwyMyArNjQ1MiwyMyBAQAogCiAjaWYgVVRJTUVfSEFWRV9OT0ZPTExPV19TWU1MSU5LUwogICAgIGlmICgoIWZvbGxvd19zeW1saW5rcykgJiYgKGRpcl9mZCA9PSBERUZBVUxUX0RJUl9GRCkpCi0gICAgICAgIHJlc3VsdCA9IHV0aW1lX25vZm9sbG93X3N5bWxpbmtzKCZ1dGltZSwgcGF0aC5uYXJyb3cpOworICAgICAgICByZXN1bHQgPSB1dGltZV9ub2ZvbGxvd19zeW1saW5rcygmdXRpbWUsIHBhdGgtPm5hcnJvdyk7CiAgICAgZWxzZQogI2VuZGlmCiAKICNpZiBVVElNRV9IQVZFX0RJUl9GRAogICAgIGlmICgoZGlyX2ZkICE9IERFRkFVTFRfRElSX0ZEKSB8fCAoIWZvbGxvd19zeW1saW5rcykpCi0gICAgICAgIHJlc3VsdCA9IHV0aW1lX2Rpcl9mZCgmdXRpbWUsIGRpcl9mZCwgcGF0aC5uYXJyb3csIGZvbGxvd19zeW1saW5rcyk7CisgICAgICAgIHJlc3VsdCA9IHV0aW1lX2Rpcl9mZCgmdXRpbWUsIGRpcl9mZCwgcGF0aC0+bmFycm93LCBmb2xsb3dfc3ltbGlua3MpOwogICAgIGVsc2UKICNlbmRpZgogCiAjaWYgVVRJTUVfSEFWRV9GRAotICAgIGlmIChwYXRoLmZkICE9IC0xKQotICAgICAgICByZXN1bHQgPSB1dGltZV9mZCgmdXRpbWUsIHBhdGguZmQpOworICAgIGlmIChwYXRoLT5mZCAhPSAtMSkKKyAgICAgICAgcmVzdWx0ID0gdXRpbWVfZmQoJnV0aW1lLCBwYXRoLT5mZCk7CiAgICAgZWxzZQogI2VuZGlmCiAKLSAgICByZXN1bHQgPSB1dGltZV9kZWZhdWx0KCZ1dGltZSwgcGF0aC5uYXJyb3cpOworICAgIHJlc3VsdCA9IHV0aW1lX2RlZmF1bHQoJnV0aW1lLCBwYXRoLT5uYXJyb3cpOwogCiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKIApAQCAtNTAzOCw3ICs2NDg0LDYgQEAKICAgICByZXR1cm5fdmFsdWUgPSBQeV9Ob25lOwogCiBleGl0OgotICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7CiAjaWZkZWYgTVNfV0lORE9XUwogICAgIGlmIChoRmlsZSAhPSBJTlZBTElEX0hBTkRMRV9WQUxVRSkKICAgICAgICAgQ2xvc2VIYW5kbGUoaEZpbGUpOwpAQCAtNTA0OCwxNyArNjQ5Myw0OSBAQAogCiAvKiBQcm9jZXNzIG9wZXJhdGlvbnMgKi8KIAotUHlEb2NfU1RSVkFSKHBvc2l4X19leGl0X19kb2NfXywKLSJfZXhpdChzdGF0dXMpXG5cblwKLUV4aXQgdG8gdGhlIHN5c3RlbSB3aXRoIHNwZWNpZmllZCBzdGF0dXMsIHdpdGhvdXQgbm9ybWFsIGV4aXQgcHJvY2Vzc2luZy4iKTsKKworLypbY2xpbmljIGlucHV0XQorb3MuX2V4aXQKKworICAgIHN0YXR1czogaW50CisKK0V4aXQgdG8gdGhlIHN5c3RlbSB3aXRoIHNwZWNpZmllZCBzdGF0dXMsIHdpdGhvdXQgbm9ybWFsIGV4aXQgcHJvY2Vzc2luZy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX19leGl0X19kb2NfXywKKyJfZXhpdCgkbW9kdWxlLCAvLCBzdGF0dXMpXG4iCisiLS1cbiIKKyJcbiIKKyJFeGl0IHRvIHRoZSBzeXN0ZW0gd2l0aCBzcGVjaWZpZWQgc3RhdHVzLCB3aXRob3V0IG5vcm1hbCBleGl0IHByb2Nlc3NpbmcuIik7CisKKyNkZWZpbmUgT1NfX0VYSVRfTUVUSE9EREVGICAgIFwKKyAgICB7Il9leGl0IiwgKFB5Q0Z1bmN0aW9uKW9zX19leGl0LCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfX2V4aXRfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X19leGl0KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX19leGl0X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IHN0YXR1cyk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19fZXhpdChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKLSAgICBpbnQgc3RzOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaTpfZXhpdCIsICZzdHMpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBfZXhpdChzdHMpOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsic3RhdHVzIiwgTlVMTH07CisgICAgaW50IHN0YXR1czsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgImk6X2V4aXQiLCBfa2V5d29yZHMsCisgICAgICAgICZzdGF0dXMpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfX2V4aXRfaW1wbChtb2R1bGUsIHN0YXR1cyk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX19leGl0X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IHN0YXR1cykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD00Zjk4NThjNGNjMmRjYjg5IGlucHV0PTVlNmQ1NzU1NmIwYzRhNjJdKi8KK3sKKyAgICBfZXhpdChzdGF0dXMpOwogICAgIHJldHVybiBOVUxMOyAvKiBNYWtlIGdjYyAtV2FsbCBoYXBweSAqLwogfQogCkBAIC01MTk2LDk2ICs2NjczLDE2MCBAQAogfQogI2VuZGlmCiAKKwogI2lmZGVmIEhBVkVfRVhFQ1YKLVB5RG9jX1NUUlZBUihwb3NpeF9leGVjdl9fZG9jX18sCi0iZXhlY3YocGF0aCwgYXJncylcblxuXAotRXhlY3V0ZSBhbiBleGVjdXRhYmxlIHBhdGggd2l0aCBhcmd1bWVudHMsIHJlcGxhY2luZyBjdXJyZW50IHByb2Nlc3MuXG5cCi1cblwKLSAgICBwYXRoOiBwYXRoIG9mIGV4ZWN1dGFibGUgZmlsZVxuXAotICAgIGFyZ3M6IHR1cGxlIG9yIGxpc3Qgb2Ygc3RyaW5ncyIpOworLypbY2xpbmljIGlucHV0XQorb3MuZXhlY3YKKworICAgIHBhdGg6IEZTQ29udmVydGVyCisgICAgICAgIFBhdGggb2YgZXhlY3V0YWJsZSBmaWxlLgorICAgIGFyZ3Y6IG9iamVjdAorICAgICAgICBUdXBsZSBvciBsaXN0IG9mIHN0cmluZ3MuCisgICAgLworCitFeGVjdXRlIGFuIGV4ZWN1dGFibGUgcGF0aCB3aXRoIGFyZ3VtZW50cywgcmVwbGFjaW5nIGN1cnJlbnQgcHJvY2Vzcy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2V4ZWN2X19kb2NfXywKKyJleGVjdigkbW9kdWxlLCBwYXRoLCBhcmd2LCAvKVxuIgorIi0tXG4iCisiXG4iCisiRXhlY3V0ZSBhbiBleGVjdXRhYmxlIHBhdGggd2l0aCBhcmd1bWVudHMsIHJlcGxhY2luZyBjdXJyZW50IHByb2Nlc3MuXG4iCisiXG4iCisiICBwYXRoXG4iCisiICAgIFBhdGggb2YgZXhlY3V0YWJsZSBmaWxlLlxuIgorIiAgYXJndlxuIgorIiAgICBUdXBsZSBvciBsaXN0IG9mIHN0cmluZ3MuIik7CisKKyNkZWZpbmUgT1NfRVhFQ1ZfTUVUSE9EREVGICAgIFwKKyAgICB7ImV4ZWN2IiwgKFB5Q0Z1bmN0aW9uKW9zX2V4ZWN2LCBNRVRIX1ZBUkFSR1MsIG9zX2V4ZWN2X19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9leGVjdihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19leGVjdl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpwYXRoLCBQeU9iamVjdCAqYXJndik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19leGVjdihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBQeU9iamVjdCAqb3BhdGg7Ci0gICAgY2hhciAqcGF0aDsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeU9iamVjdCAqcGF0aCA9IE5VTEw7CiAgICAgUHlPYmplY3QgKmFyZ3Y7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIk8mTzpleGVjdiIsCisgICAgICAgIFB5VW5pY29kZV9GU0NvbnZlcnRlciwgJnBhdGgsICZhcmd2KSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX2V4ZWN2X2ltcGwobW9kdWxlLCBwYXRoLCBhcmd2KTsKKworZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBwYXRoICovCisgICAgUHlfWERFQ1JFRihwYXRoKTsKKworICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19leGVjdl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpwYXRoLCBQeU9iamVjdCAqYXJndikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1iMGY1ZjJjYWE2MDk3ZWRjIGlucHV0PTk2MDQxNTU5OTI1ZTUyMjldKi8KK3sKKyAgICBjaGFyICpwYXRoX2NoYXI7CiAgICAgY2hhciAqKmFyZ3ZsaXN0OwogICAgIFB5X3NzaXplX3QgYXJnYzsKIAogICAgIC8qIGV4ZWN2IGhhcyB0d28gYXJndW1lbnRzOiAocGF0aCwgYXJndiksIHdoZXJlCiAgICAgICAgYXJndiBpcyBhIGxpc3Qgb3IgdHVwbGUgb2Ygc3RyaW5ncy4gKi8KIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTyZPOmV4ZWN2IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0ZTQ29udmVydGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAmb3BhdGgsICZhcmd2KSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgcGF0aCA9IFB5Qnl0ZXNfQXNTdHJpbmcob3BhdGgpOworICAgIHBhdGhfY2hhciA9IFB5Qnl0ZXNfQXNTdHJpbmcocGF0aCk7CiAgICAgaWYgKCFQeUxpc3RfQ2hlY2soYXJndikgJiYgIVB5VHVwbGVfQ2hlY2soYXJndikpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICJleGVjdigpIGFyZyAyIG11c3QgYmUgYSB0dXBsZSBvciBsaXN0Iik7Ci0gICAgICAgIFB5X0RFQ1JFRihvcGF0aCk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KICAgICBhcmdjID0gUHlTZXF1ZW5jZV9TaXplKGFyZ3YpOwogICAgIGlmIChhcmdjIDwgMSkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgImV4ZWN2KCkgYXJnIDIgbXVzdCBub3QgYmUgZW1wdHkiKTsKLSAgICAgICAgUHlfREVDUkVGKG9wYXRoKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCiAgICAgYXJndmxpc3QgPSBwYXJzZV9hcmdsaXN0KGFyZ3YsICZhcmdjKTsKICAgICBpZiAoYXJndmxpc3QgPT0gTlVMTCkgewotICAgICAgICBQeV9ERUNSRUYob3BhdGgpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKLSAgICBleGVjdihwYXRoLCBhcmd2bGlzdCk7CisgICAgZXhlY3YocGF0aF9jaGFyLCBhcmd2bGlzdCk7CiAKICAgICAvKiBJZiB3ZSBnZXQgaGVyZSBpdCdzIGRlZmluaXRlbHkgYW4gZXJyb3IgKi8KIAogICAgIGZyZWVfc3RyaW5nX2FycmF5KGFyZ3ZsaXN0LCBhcmdjKTsKLSAgICBQeV9ERUNSRUYob3BhdGgpOwogICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwogfQogCi1QeURvY19TVFJWQVIocG9zaXhfZXhlY3ZlX19kb2NfXywKLSJleGVjdmUocGF0aCwgYXJncywgZW52KVxuXG5cCi1FeGVjdXRlIGEgcGF0aCB3aXRoIGFyZ3VtZW50cyBhbmQgZW52aXJvbm1lbnQsIHJlcGxhY2luZyBjdXJyZW50IHByb2Nlc3MuXG5cCi1cblwKLSAgICBwYXRoOiBwYXRoIG9mIGV4ZWN1dGFibGUgZmlsZVxuXAotICAgIGFyZ3M6IHR1cGxlIG9yIGxpc3Qgb2YgYXJndW1lbnRzXG5cCi0gICAgZW52OiBkaWN0aW9uYXJ5IG9mIHN0cmluZ3MgbWFwcGluZyB0byBzdHJpbmdzXG5cCi1cblwKLU9uIHNvbWUgcGxhdGZvcm1zLCB5b3UgbWF5IHNwZWNpZnkgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IgZm9yIHBhdGg7XG5cCi0gIGV4ZWN2ZSB3aWxsIGV4ZWN1dGUgdGhlIHByb2dyYW0gdGhlIGZpbGUgZGVzY3JpcHRvciBpcyBvcGVuIHRvLlxuXAotICBJZiB0aGlzIGZ1bmN0aW9uYWxpdHkgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHJhaXNlcyBOb3RJbXBsZW1lbnRlZEVycm9yLiIpOworCisvKltjbGluaWMgaW5wdXRdCitvcy5leGVjdmUKKworICAgIHBhdGg6IHBhdGhfdChhbGxvd19mZD0nUEFUSF9IQVZFX0ZFWEVDVkUnKQorICAgICAgICBQYXRoIG9mIGV4ZWN1dGFibGUgZmlsZS4KKyAgICBhcmd2OiBvYmplY3QKKyAgICAgICAgVHVwbGUgb3IgbGlzdCBvZiBzdHJpbmdzLgorICAgIGVudjogb2JqZWN0CisgICAgICAgIERpY3Rpb25hcnkgb2Ygc3RyaW5ncyBtYXBwaW5nIHRvIHN0cmluZ3MuCisKK0V4ZWN1dGUgYW4gZXhlY3V0YWJsZSBwYXRoIHdpdGggYXJndW1lbnRzLCByZXBsYWNpbmcgY3VycmVudCBwcm9jZXNzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfZXhlY3ZlX19kb2NfXywKKyJleGVjdmUoJG1vZHVsZSwgLywgcGF0aCwgYXJndiwgZW52KVxuIgorIi0tXG4iCisiXG4iCisiRXhlY3V0ZSBhbiBleGVjdXRhYmxlIHBhdGggd2l0aCBhcmd1bWVudHMsIHJlcGxhY2luZyBjdXJyZW50IHByb2Nlc3MuXG4iCisiXG4iCisiICBwYXRoXG4iCisiICAgIFBhdGggb2YgZXhlY3V0YWJsZSBmaWxlLlxuIgorIiAgYXJndlxuIgorIiAgICBUdXBsZSBvciBsaXN0IG9mIHN0cmluZ3MuXG4iCisiICBlbnZcbiIKKyIgICAgRGljdGlvbmFyeSBvZiBzdHJpbmdzIG1hcHBpbmcgdG8gc3RyaW5ncy4iKTsKKworI2RlZmluZSBPU19FWEVDVkVfTUVUSE9EREVGICAgIFwKKyAgICB7ImV4ZWN2ZSIsIChQeUNGdW5jdGlvbilvc19leGVjdmUsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc19leGVjdmVfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2V4ZWN2ZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCitvc19leGVjdmVfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIFB5T2JqZWN0ICphcmd2LCBQeU9iamVjdCAqZW52KTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2V4ZWN2ZShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKLSAgICBwYXRoX3QgcGF0aDsKLSAgICBQeU9iamVjdCAqYXJndiwgKmVudjsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InBhdGgiLCAiYXJndiIsICJlbnYiLCBOVUxMfTsKKyAgICBwYXRoX3QgcGF0aCA9IFBBVEhfVF9JTklUSUFMSVpFKCJleGVjdmUiLCAicGF0aCIsIDAsIFBBVEhfSEFWRV9GRVhFQ1ZFKTsKKyAgICBQeU9iamVjdCAqYXJndjsKKyAgICBQeU9iamVjdCAqZW52OworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiTyZPTzpleGVjdmUiLCBfa2V5d29yZHMsCisgICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwgJmFyZ3YsICZlbnYpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfZXhlY3ZlX2ltcGwobW9kdWxlLCAmcGF0aCwgYXJndiwgZW52KTsKKworZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBwYXRoICovCisgICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKKworICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19leGVjdmVfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIFB5T2JqZWN0ICphcmd2LCBQeU9iamVjdCAqZW52KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWZiMjgzNzYwZjVkMTVhYjcgaW5wdXQ9NjI2ODA0ZmEwOTI2MDZkOV0qLworewogICAgIGNoYXIgKiphcmd2bGlzdCA9IE5VTEw7CiAgICAgY2hhciAqKmVudmxpc3Q7CiAgICAgUHlfc3NpemVfdCBhcmdjLCBlbnZjOwotICAgIHN0YXRpYyBjaGFyICprZXl3b3Jkc1tdID0geyJwYXRoIiwgImFyZ3YiLCAiZW52aXJvbm1lbnQiLCBOVUxMfTsKIAogICAgIC8qIGV4ZWN2ZSBoYXMgdGhyZWUgYXJndW1lbnRzOiAocGF0aCwgYXJndiwgZW52KSwgd2hlcmUKICAgICAgICBhcmd2IGlzIGEgbGlzdCBvciB0dXBsZSBvZiBzdHJpbmdzIGFuZCBlbnYgaXMgYSBkaWN0aW9uYXJ5CiAgICAgICAgbGlrZSBwb3NpeC5lbnZpcm9uLiAqLwogCi0gICAgbWVtc2V0KCZwYXRoLCAwLCBzaXplb2YocGF0aCkpOwotICAgIHBhdGguZnVuY3Rpb25fbmFtZSA9ICJleGVjdmUiOwotI2lmZGVmIEhBVkVfRkVYRUNWRQotICAgIHBhdGguYWxsb3dfZmQgPSAxOwotI2VuZGlmCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAiTyZPTzpleGVjdmUiLCBrZXl3b3JkcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAmYXJndiwgJmVudgotICAgICAgICAgICAgICAgICAgICAgICAgICApKQotICAgICAgICByZXR1cm4gTlVMTDsKLQogICAgIGlmICghUHlMaXN0X0NoZWNrKGFyZ3YpICYmICFQeVR1cGxlX0NoZWNrKGFyZ3YpKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAiZXhlY3ZlOiBhcmd2IG11c3QgYmUgYSB0dXBsZSBvciBsaXN0Iik7CkBAIC01MzA4LDE1ICs2ODQ5LDE1IEBACiAgICAgICAgIGdvdG8gZmFpbDsKIAogI2lmZGVmIEhBVkVfRkVYRUNWRQotICAgIGlmIChwYXRoLmZkID4gLTEpCi0gICAgICAgIGZleGVjdmUocGF0aC5mZCwgYXJndmxpc3QsIGVudmxpc3QpOworICAgIGlmIChwYXRoLT5mZCA+IC0xKQorICAgICAgICBmZXhlY3ZlKHBhdGgtPmZkLCBhcmd2bGlzdCwgZW52bGlzdCk7CiAgICAgZWxzZQogI2VuZGlmCi0gICAgICAgIGV4ZWN2ZShwYXRoLm5hcnJvdywgYXJndmxpc3QsIGVudmxpc3QpOworICAgICAgICBleGVjdmUocGF0aC0+bmFycm93LCBhcmd2bGlzdCwgZW52bGlzdCk7CiAKICAgICAvKiBJZiB3ZSBnZXQgaGVyZSBpdCdzIGRlZmluaXRlbHkgYW4gZXJyb3IgKi8KIAotICAgIHBhdGhfZXJyb3IoJnBhdGgpOworICAgIHBhdGhfZXJyb3IocGF0aCk7CiAKICAgICB3aGlsZSAoLS1lbnZjID49IDApCiAgICAgICAgIFB5TWVtX0RFTChlbnZsaXN0W2VudmNdKTsKQEAgLTUzMjQsMjkgKzY4NjUsNzMgQEAKICAgZmFpbDoKICAgICBpZiAoYXJndmxpc3QpCiAgICAgICAgIGZyZWVfc3RyaW5nX2FycmF5KGFyZ3ZsaXN0LCBhcmdjKTsKLSAgICBwYXRoX2NsZWFudXAoJnBhdGgpOwogICAgIHJldHVybiBOVUxMOwogfQogI2VuZGlmIC8qIEhBVkVfRVhFQ1YgKi8KIAogCiAjaWZkZWYgSEFWRV9TUEFXTlYKLVB5RG9jX1NUUlZBUihwb3NpeF9zcGF3bnZfX2RvY19fLAotInNwYXdudihtb2RlLCBwYXRoLCBhcmdzKVxuXG5cCi1FeGVjdXRlIHRoZSBwcm9ncmFtICdwYXRoJyBpbiBhIG5ldyBwcm9jZXNzLlxuXAotXG5cCi0gICAgbW9kZTogbW9kZSBvZiBwcm9jZXNzIGNyZWF0aW9uXG5cCi0gICAgcGF0aDogcGF0aCBvZiBleGVjdXRhYmxlIGZpbGVcblwKLSAgICBhcmdzOiB0dXBsZSBvciBsaXN0IG9mIHN0cmluZ3MiKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnNwYXdudgorCisgICAgbW9kZTogaW50CisgICAgICAgIE1vZGUgb2YgcHJvY2VzcyBjcmVhdGlvbi4KKyAgICBwYXRoOiBGU0NvbnZlcnRlcgorICAgICAgICBQYXRoIG9mIGV4ZWN1dGFibGUgZmlsZS4KKyAgICBhcmd2OiBvYmplY3QKKyAgICAgICAgVHVwbGUgb3IgbGlzdCBvZiBzdHJpbmdzLgorICAgIC8KKworRXhlY3V0ZSB0aGUgcHJvZ3JhbSBzcGVjaWZpZWQgYnkgcGF0aCBpbiBhIG5ldyBwcm9jZXNzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfc3Bhd252X19kb2NfXywKKyJzcGF3bnYoJG1vZHVsZSwgbW9kZSwgcGF0aCwgYXJndiwgLylcbiIKKyItLVxuIgorIlxuIgorIkV4ZWN1dGUgdGhlIHByb2dyYW0gc3BlY2lmaWVkIGJ5IHBhdGggaW4gYSBuZXcgcHJvY2Vzcy5cbiIKKyJcbiIKKyIgIG1vZGVcbiIKKyIgICAgTW9kZSBvZiBwcm9jZXNzIGNyZWF0aW9uLlxuIgorIiAgcGF0aFxuIgorIiAgICBQYXRoIG9mIGV4ZWN1dGFibGUgZmlsZS5cbiIKKyIgIGFyZ3ZcbiIKKyIgICAgVHVwbGUgb3IgbGlzdCBvZiBzdHJpbmdzLiIpOworCisjZGVmaW5lIE9TX1NQQVdOVl9NRVRIT0RERUYgICAgXAorICAgIHsic3Bhd252IiwgKFB5Q0Z1bmN0aW9uKW9zX3NwYXdudiwgTUVUSF9WQVJBUkdTLCBvc19zcGF3bnZfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3NwYXdudihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19zcGF3bnZfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgbW9kZSwgUHlPYmplY3QgKnBhdGgsIFB5T2JqZWN0ICphcmd2KTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NwYXdudihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBQeU9iamVjdCAqb3BhdGg7Ci0gICAgY2hhciAqcGF0aDsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBpbnQgbW9kZTsKKyAgICBQeU9iamVjdCAqcGF0aCA9IE5VTEw7CiAgICAgUHlPYmplY3QgKmFyZ3Y7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgImlPJk86c3Bhd252IiwKKyAgICAgICAgJm1vZGUsIFB5VW5pY29kZV9GU0NvbnZlcnRlciwgJnBhdGgsICZhcmd2KSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3NwYXdudl9pbXBsKG1vZHVsZSwgbW9kZSwgcGF0aCwgYXJndik7CisKK2V4aXQ6CisgICAgLyogQ2xlYW51cCBmb3IgcGF0aCAqLworICAgIFB5X1hERUNSRUYocGF0aCk7CisKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc3Bhd252X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IG1vZGUsIFB5T2JqZWN0ICpwYXRoLCBQeU9iamVjdCAqYXJndikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kZmVlNmJlMDYyZTc4MGUzIGlucHV0PTA0MmM5MWRmYzFlNmRlYmNdKi8KK3sKKyAgICBjaGFyICpwYXRoX2NoYXI7CiAgICAgY2hhciAqKmFyZ3ZsaXN0OwotICAgIGludCBtb2RlLCBpOworICAgIGludCBpOwogICAgIFB5X3NzaXplX3QgYXJnYzsKICAgICBQeV9pbnRwdHJfdCBzcGF3bnZhbDsKICAgICBQeU9iamVjdCAqKCpnZXRpdGVtKShQeU9iamVjdCAqLCBQeV9zc2l6ZV90KTsKQEAgLTUzNTQsMTEgKzY5MzksNyBAQAogICAgIC8qIHNwYXdudiBoYXMgdGhyZWUgYXJndW1lbnRzOiAobW9kZSwgcGF0aCwgYXJndiksIHdoZXJlCiAgICAgICAgYXJndiBpcyBhIGxpc3Qgb3IgdHVwbGUgb2Ygc3RyaW5ncy4gKi8KIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaU8mTzpzcGF3bnYiLCAmbW9kZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0ZTQ29udmVydGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAmb3BhdGgsICZhcmd2KSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgcGF0aCA9IFB5Qnl0ZXNfQXNTdHJpbmcob3BhdGgpOworICAgIHBhdGhfY2hhciA9IFB5Qnl0ZXNfQXNTdHJpbmcocGF0aCk7CiAgICAgaWYgKFB5TGlzdF9DaGVjayhhcmd2KSkgewogICAgICAgICBhcmdjID0gUHlMaXN0X1NpemUoYXJndik7CiAgICAgICAgIGdldGl0ZW0gPSBQeUxpc3RfR2V0SXRlbTsKQEAgLTUzNzAsMTMgKzY5NTEsMTEgQEAKICAgICBlbHNlIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICJzcGF3bnYoKSBhcmcgMiBtdXN0IGJlIGEgdHVwbGUgb3IgbGlzdCIpOwotICAgICAgICBQeV9ERUNSRUYob3BhdGgpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKICAgICBhcmd2bGlzdCA9IFB5TWVtX05FVyhjaGFyICosIGFyZ2MrMSk7CiAgICAgaWYgKGFyZ3ZsaXN0ID09IE5VTEwpIHsKLSAgICAgICAgUHlfREVDUkVGKG9wYXRoKTsKICAgICAgICAgcmV0dXJuIFB5RXJyX05vTWVtb3J5KCk7CiAgICAgfQogICAgIGZvciAoaSA9IDA7IGkgPCBhcmdjOyBpKyspIHsKQEAgLTUzODYsNyArNjk2NSw2IEBACiAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoCiAgICAgICAgICAgICAgICAgUHlFeGNfVHlwZUVycm9yLAogICAgICAgICAgICAgICAgICJzcGF3bnYoKSBhcmcgMiBtdXN0IGNvbnRhaW4gb25seSBzdHJpbmdzIik7Ci0gICAgICAgICAgICBQeV9ERUNSRUYob3BhdGgpOwogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIH0KICAgICB9CkBAIC01Mzk2LDExICs2OTc0LDEwIEBACiAgICAgICAgIG1vZGUgPSBfUF9PVkVSTEFZOwogCiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIHNwYXdudmFsID0gX3NwYXdudihtb2RlLCBwYXRoLCBhcmd2bGlzdCk7CisgICAgc3Bhd252YWwgPSBfc3Bhd252KG1vZGUsIHBhdGhfY2hhciwgYXJndmxpc3QpOwogICAgIFB5X0VORF9BTExPV19USFJFQURTCiAKICAgICBmcmVlX3N0cmluZ19hcnJheShhcmd2bGlzdCwgYXJnYyk7Ci0gICAgUHlfREVDUkVGKG9wYXRoKTsKIAogICAgIGlmIChzcGF3bnZhbCA9PSAtMSkKICAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CkBAIC01NDA5LDI1ICs2OTg2LDczIEBACiB9CiAKIAotUHlEb2NfU1RSVkFSKHBvc2l4X3NwYXdudmVfX2RvY19fLAotInNwYXdudmUobW9kZSwgcGF0aCwgYXJncywgZW52KVxuXG5cCi1FeGVjdXRlIHRoZSBwcm9ncmFtICdwYXRoJyBpbiBhIG5ldyBwcm9jZXNzLlxuXAotXG5cCi0gICAgbW9kZTogbW9kZSBvZiBwcm9jZXNzIGNyZWF0aW9uXG5cCi0gICAgcGF0aDogcGF0aCBvZiBleGVjdXRhYmxlIGZpbGVcblwKLSAgICBhcmdzOiB0dXBsZSBvciBsaXN0IG9mIGFyZ3VtZW50c1xuXAotICAgIGVudjogZGljdGlvbmFyeSBvZiBzdHJpbmdzIG1hcHBpbmcgdG8gc3RyaW5ncyIpOworLypbY2xpbmljIGlucHV0XQorb3Muc3Bhd252ZQorCisgICAgbW9kZTogaW50CisgICAgICAgIE1vZGUgb2YgcHJvY2VzcyBjcmVhdGlvbi4KKyAgICBwYXRoOiBGU0NvbnZlcnRlcgorICAgICAgICBQYXRoIG9mIGV4ZWN1dGFibGUgZmlsZS4KKyAgICBhcmd2OiBvYmplY3QKKyAgICAgICAgVHVwbGUgb3IgbGlzdCBvZiBzdHJpbmdzLgorICAgIGVudjogb2JqZWN0CisgICAgICAgIERpY3Rpb25hcnkgb2Ygc3RyaW5ncyBtYXBwaW5nIHRvIHN0cmluZ3MuCisgICAgLworCitFeGVjdXRlIHRoZSBwcm9ncmFtIHNwZWNpZmllZCBieSBwYXRoIGluIGEgbmV3IHByb2Nlc3MuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19zcGF3bnZlX19kb2NfXywKKyJzcGF3bnZlKCRtb2R1bGUsIG1vZGUsIHBhdGgsIGFyZ3YsIGVudiwgLylcbiIKKyItLVxuIgorIlxuIgorIkV4ZWN1dGUgdGhlIHByb2dyYW0gc3BlY2lmaWVkIGJ5IHBhdGggaW4gYSBuZXcgcHJvY2Vzcy5cbiIKKyJcbiIKKyIgIG1vZGVcbiIKKyIgICAgTW9kZSBvZiBwcm9jZXNzIGNyZWF0aW9uLlxuIgorIiAgcGF0aFxuIgorIiAgICBQYXRoIG9mIGV4ZWN1dGFibGUgZmlsZS5cbiIKKyIgIGFyZ3ZcbiIKKyIgICAgVHVwbGUgb3IgbGlzdCBvZiBzdHJpbmdzLlxuIgorIiAgZW52XG4iCisiICAgIERpY3Rpb25hcnkgb2Ygc3RyaW5ncyBtYXBwaW5nIHRvIHN0cmluZ3MuIik7CisKKyNkZWZpbmUgT1NfU1BBV05WRV9NRVRIT0RERUYgICAgXAorICAgIHsic3Bhd252ZSIsIChQeUNGdW5jdGlvbilvc19zcGF3bnZlLCBNRVRIX1ZBUkFSR1MsIG9zX3NwYXdudmVfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3NwYXdudmUoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3Nfc3Bhd252ZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBtb2RlLCBQeU9iamVjdCAqcGF0aCwgUHlPYmplY3QgKmFyZ3YsIFB5T2JqZWN0ICplbnYpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc3Bhd252ZShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBQeU9iamVjdCAqb3BhdGg7Ci0gICAgY2hhciAqcGF0aDsKLSAgICBQeU9iamVjdCAqYXJndiwgKmVudjsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBpbnQgbW9kZTsKKyAgICBQeU9iamVjdCAqcGF0aCA9IE5VTEw7CisgICAgUHlPYmplY3QgKmFyZ3Y7CisgICAgUHlPYmplY3QgKmVudjsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiaU8mT086c3Bhd252ZSIsCisgICAgICAgICZtb2RlLCBQeVVuaWNvZGVfRlNDb252ZXJ0ZXIsICZwYXRoLCAmYXJndiwgJmVudikpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19zcGF3bnZlX2ltcGwobW9kdWxlLCBtb2RlLCBwYXRoLCBhcmd2LCBlbnYpOworCitleGl0OgorICAgIC8qIENsZWFudXAgZm9yIHBhdGggKi8KKyAgICBQeV9YREVDUkVGKHBhdGgpOworCisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NwYXdudmVfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgbW9kZSwgUHlPYmplY3QgKnBhdGgsIFB5T2JqZWN0ICphcmd2LCBQeU9iamVjdCAqZW52KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTZmN2RmMzg0NzNmNjNjN2MgaW5wdXQ9MDIzNjJmZDkzNzk2M2Y4Zl0qLworeworICAgIGNoYXIgKnBhdGhfY2hhcjsKICAgICBjaGFyICoqYXJndmxpc3Q7CiAgICAgY2hhciAqKmVudmxpc3Q7CiAgICAgUHlPYmplY3QgKnJlcyA9IE5VTEw7Ci0gICAgaW50IG1vZGU7CiAgICAgUHlfc3NpemVfdCBhcmdjLCBpLCBlbnZjOwogICAgIFB5X2ludHB0cl90IHNwYXdudmFsOwogICAgIFB5T2JqZWN0ICooKmdldGl0ZW0pKFB5T2JqZWN0ICosIFB5X3NzaXplX3QpOwpAQCAtNTQzNywxMSArNzA2Miw3IEBACiAgICAgICAgYXJndiBpcyBhIGxpc3Qgb3IgdHVwbGUgb2Ygc3RyaW5ncyBhbmQgZW52IGlzIGEgZGljdGlvbmFyeQogICAgICAgIGxpa2UgcG9zaXguZW52aXJvbi4gKi8KIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaU8mT086c3Bhd252ZSIsICZtb2RlLAotICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfRlNDb252ZXJ0ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICZvcGF0aCwgJmFyZ3YsICZlbnYpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBwYXRoID0gUHlCeXRlc19Bc1N0cmluZyhvcGF0aCk7CisgICAgcGF0aF9jaGFyID0gUHlCeXRlc19Bc1N0cmluZyhwYXRoKTsKICAgICBpZiAoUHlMaXN0X0NoZWNrKGFyZ3YpKSB7CiAgICAgICAgIGFyZ2MgPSBQeUxpc3RfU2l6ZShhcmd2KTsKICAgICAgICAgZ2V0aXRlbSA9IFB5TGlzdF9HZXRJdGVtOwpAQCAtNTQ4NSw3ICs3MTA2LDcgQEAKICAgICAgICAgbW9kZSA9IF9QX09WRVJMQVk7CiAKICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgc3Bhd252YWwgPSBfc3Bhd252ZShtb2RlLCBwYXRoLCBhcmd2bGlzdCwgZW52bGlzdCk7CisgICAgc3Bhd252YWwgPSBfc3Bhd252ZShtb2RlLCBwYXRoX2NoYXIsIGFyZ3ZsaXN0LCBlbnZsaXN0KTsKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogCiAgICAgaWYgKHNwYXdudmFsID09IC0xKQpAQCAtNTQ5OSw3ICs3MTIwLDYgQEAKICAgZmFpbF8xOgogICAgIGZyZWVfc3RyaW5nX2FycmF5KGFyZ3ZsaXN0LCBsYXN0YXJnKTsKICAgZmFpbF8wOgotICAgIFB5X0RFQ1JFRihvcGF0aCk7CiAgICAgcmV0dXJuIHJlczsKIH0KIApAQCAtNTUwNywxNCArNzEyNywzNyBAQAogCiAKICNpZmRlZiBIQVZFX0ZPUksxCi1QeURvY19TVFJWQVIocG9zaXhfZm9yazFfX2RvY19fLAotImZvcmsxKCkgLT4gcGlkXG5cblwKLUZvcmsgYSBjaGlsZCBwcm9jZXNzIHdpdGggYSBzaW5nbGUgbXVsdGlwbGV4ZWQgKGkuZS4sIG5vdCBib3VuZCkgdGhyZWFkLlxuXAotXG5cCi1SZXR1cm4gMCB0byBjaGlsZCBwcm9jZXNzIGFuZCBQSUQgb2YgY2hpbGQgdG8gcGFyZW50IHByb2Nlc3MuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5mb3JrMQorCitGb3JrIGEgY2hpbGQgcHJvY2VzcyB3aXRoIGEgc2luZ2xlIG11bHRpcGxleGVkIChpLmUuLCBub3QgYm91bmQpIHRocmVhZC4KKworUmV0dXJuIDAgdG8gY2hpbGQgcHJvY2VzcyBhbmQgUElEIG9mIGNoaWxkIHRvIHBhcmVudCBwcm9jZXNzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfZm9yazFfX2RvY19fLAorImZvcmsxKCRtb2R1bGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJGb3JrIGEgY2hpbGQgcHJvY2VzcyB3aXRoIGEgc2luZ2xlIG11bHRpcGxleGVkIChpLmUuLCBub3QgYm91bmQpIHRocmVhZC5cbiIKKyJcbiIKKyJSZXR1cm4gMCB0byBjaGlsZCBwcm9jZXNzIGFuZCBQSUQgb2YgY2hpbGQgdG8gcGFyZW50IHByb2Nlc3MuIik7CisKKyNkZWZpbmUgT1NfRk9SSzFfTUVUSE9EREVGICAgIFwKKyAgICB7ImZvcmsxIiwgKFB5Q0Z1bmN0aW9uKW9zX2ZvcmsxLCBNRVRIX05PQVJHUywgb3NfZm9yazFfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2ZvcmsxKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqbm9hcmdzKQorb3NfZm9yazFfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2ZvcmsxKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIG9zX2ZvcmsxX2ltcGwobW9kdWxlKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2ZvcmsxX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1mYTA0MDg4ZDZiYzAyZWZhIGlucHV0PTEyZGIwMjE2Nzg5MzkyNmVdKi8KIHsKICAgICBwaWRfdCBwaWQ7CiAgICAgaW50IHJlc3VsdCA9IDA7CkBAIC01NTM3LDE3ICs3MTgwLDQxIEBACiAgICAgfQogICAgIHJldHVybiBQeUxvbmdfRnJvbVBpZChwaWQpOwogfQotI2VuZGlmCisjZW5kaWYgLyogSEFWRV9GT1JLMSAqLwogCiAKICNpZmRlZiBIQVZFX0ZPUksKLVB5RG9jX1NUUlZBUihwb3NpeF9mb3JrX19kb2NfXywKLSJmb3JrKCkgLT4gcGlkXG5cblwKLUZvcmsgYSBjaGlsZCBwcm9jZXNzLlxuXAotUmV0dXJuIDAgdG8gY2hpbGQgcHJvY2VzcyBhbmQgUElEIG9mIGNoaWxkIHRvIHBhcmVudCBwcm9jZXNzLiIpOworLypbY2xpbmljIGlucHV0XQorb3MuZm9yaworCitGb3JrIGEgY2hpbGQgcHJvY2Vzcy4KKworUmV0dXJuIDAgdG8gY2hpbGQgcHJvY2VzcyBhbmQgUElEIG9mIGNoaWxkIHRvIHBhcmVudCBwcm9jZXNzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfZm9ya19fZG9jX18sCisiZm9yaygkbW9kdWxlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiRm9yayBhIGNoaWxkIHByb2Nlc3MuXG4iCisiXG4iCisiUmV0dXJuIDAgdG8gY2hpbGQgcHJvY2VzcyBhbmQgUElEIG9mIGNoaWxkIHRvIHBhcmVudCBwcm9jZXNzLiIpOworCisjZGVmaW5lIE9TX0ZPUktfTUVUSE9EREVGICAgIFwKKyAgICB7ImZvcmsiLCAoUHlDRnVuY3Rpb24pb3NfZm9yaywgTUVUSF9OT0FSR1MsIG9zX2ZvcmtfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2ZvcmsoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpub2FyZ3MpCitvc19mb3JrX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19mb3JrKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIG9zX2ZvcmtfaW1wbChtb2R1bGUpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZm9ya19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YjNjOGU2YmRjMTFlZWRjNiBpbnB1dD0xM2M5NTY0MTMxMTBlZWFhXSovCiB7CiAgICAgcGlkX3QgcGlkOwogICAgIGludCByZXN1bHQgPSAwOwpAQCAtNTU3MCw5MiArNzIzNywyMjEgQEAKICAgICB9CiAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tUGlkKHBpZCk7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBIQVZFX0ZPUksgKi8KKwogCiAjaWZkZWYgSEFWRV9TQ0hFRF9ICi0KICNpZmRlZiBIQVZFX1NDSEVEX0dFVF9QUklPUklUWV9NQVgKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnNjaGVkX2dldF9wcmlvcml0eV9tYXgKIAotUHlEb2NfU1RSVkFSKHBvc2l4X3NjaGVkX2dldF9wcmlvcml0eV9tYXhfX2RvY19fLAotInNjaGVkX2dldF9wcmlvcml0eV9tYXgocG9saWN5KVxuXG5cCi1HZXQgdGhlIG1heGltdW0gc2NoZWR1bGluZyBwcmlvcml0eSBmb3IgKnBvbGljeSouIik7CisgICAgcG9saWN5OiBpbnQKKworR2V0IHRoZSBtYXhpbXVtIHNjaGVkdWxpbmcgcHJpb3JpdHkgZm9yIHBvbGljeS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3NjaGVkX2dldF9wcmlvcml0eV9tYXhfX2RvY19fLAorInNjaGVkX2dldF9wcmlvcml0eV9tYXgoJG1vZHVsZSwgLywgcG9saWN5KVxuIgorIi0tXG4iCisiXG4iCisiR2V0IHRoZSBtYXhpbXVtIHNjaGVkdWxpbmcgcHJpb3JpdHkgZm9yIHBvbGljeS4iKTsKKworI2RlZmluZSBPU19TQ0hFRF9HRVRfUFJJT1JJVFlfTUFYX01FVEhPRERFRiAgICBcCisgICAgeyJzY2hlZF9nZXRfcHJpb3JpdHlfbWF4IiwgKFB5Q0Z1bmN0aW9uKW9zX3NjaGVkX2dldF9wcmlvcml0eV9tYXgsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc19zY2hlZF9nZXRfcHJpb3JpdHlfbWF4X19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9zY2hlZF9nZXRfcHJpb3JpdHlfbWF4KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKLXsKLSAgICBpbnQgcG9saWN5LCBtYXg7Citvc19zY2hlZF9nZXRfcHJpb3JpdHlfbWF4X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IHBvbGljeSk7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImk6c2NoZWRfZ2V0X3ByaW9yaXR5X21heCIsICZwb2xpY3kpKQotICAgICAgICByZXR1cm4gTlVMTDsKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zY2hlZF9nZXRfcHJpb3JpdHlfbWF4KFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsicG9saWN5IiwgTlVMTH07CisgICAgaW50IHBvbGljeTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgImk6c2NoZWRfZ2V0X3ByaW9yaXR5X21heCIsIF9rZXl3b3JkcywKKyAgICAgICAgJnBvbGljeSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19zY2hlZF9nZXRfcHJpb3JpdHlfbWF4X2ltcGwobW9kdWxlLCBwb2xpY3kpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zY2hlZF9nZXRfcHJpb3JpdHlfbWF4X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IHBvbGljeSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1hNTgwYTUyZjI1MjM4YzFmIGlucHV0PTIwOTdiNzk5OGVjYTY4NzRdKi8KK3sKKyAgICBpbnQgbWF4OworCiAgICAgbWF4ID0gc2NoZWRfZ2V0X3ByaW9yaXR5X21heChwb2xpY3kpOwogICAgIGlmIChtYXggPCAwKQogICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKICAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nKG1heCk7CiB9CiAKLVB5RG9jX1NUUlZBUihwb3NpeF9zY2hlZF9nZXRfcHJpb3JpdHlfbWluX19kb2NfXywKLSJzY2hlZF9nZXRfcHJpb3JpdHlfbWluKHBvbGljeSlcblxuXAotR2V0IHRoZSBtaW5pbXVtIHNjaGVkdWxpbmcgcHJpb3JpdHkgZm9yICpwb2xpY3kqLiIpOworCisvKltjbGluaWMgaW5wdXRdCitvcy5zY2hlZF9nZXRfcHJpb3JpdHlfbWluCisKKyAgICBwb2xpY3k6IGludAorCitHZXQgdGhlIG1pbmltdW0gc2NoZWR1bGluZyBwcmlvcml0eSBmb3IgcG9saWN5LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfc2NoZWRfZ2V0X3ByaW9yaXR5X21pbl9fZG9jX18sCisic2NoZWRfZ2V0X3ByaW9yaXR5X21pbigkbW9kdWxlLCAvLCBwb2xpY3kpXG4iCisiLS1cbiIKKyJcbiIKKyJHZXQgdGhlIG1pbmltdW0gc2NoZWR1bGluZyBwcmlvcml0eSBmb3IgcG9saWN5LiIpOworCisjZGVmaW5lIE9TX1NDSEVEX0dFVF9QUklPUklUWV9NSU5fTUVUSE9EREVGICAgIFwKKyAgICB7InNjaGVkX2dldF9wcmlvcml0eV9taW4iLCAoUHlDRnVuY3Rpb24pb3Nfc2NoZWRfZ2V0X3ByaW9yaXR5X21pbiwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX3NjaGVkX2dldF9wcmlvcml0eV9taW5fX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3NjaGVkX2dldF9wcmlvcml0eV9taW4oUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQotewotICAgIGludCBwb2xpY3ksIG1pbjsKK29zX3NjaGVkX2dldF9wcmlvcml0eV9taW5faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgcG9saWN5KTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaTpzY2hlZF9nZXRfcHJpb3JpdHlfbWluIiwgJnBvbGljeSkpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIG1pbiA9IHNjaGVkX2dldF9wcmlvcml0eV9taW4ocG9saWN5KTsKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zY2hlZF9nZXRfcHJpb3JpdHlfbWluKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsicG9saWN5IiwgTlVMTH07CisgICAgaW50IHBvbGljeTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgImk6c2NoZWRfZ2V0X3ByaW9yaXR5X21pbiIsIF9rZXl3b3JkcywKKyAgICAgICAgJnBvbGljeSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19zY2hlZF9nZXRfcHJpb3JpdHlfbWluX2ltcGwobW9kdWxlLCBwb2xpY3kpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zY2hlZF9nZXRfcHJpb3JpdHlfbWluX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IHBvbGljeSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1iYWQ4YmExMGU3ZDBlOTc3IGlucHV0PTIxYmM4ZmEwZDcwOTgzYmZdKi8KK3sKKyAgICBpbnQgbWluID0gc2NoZWRfZ2V0X3ByaW9yaXR5X21pbihwb2xpY3kpOwogICAgIGlmIChtaW4gPCAwKQogICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKICAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nKG1pbik7CiB9Ci0KICNlbmRpZiAvKiBIQVZFX1NDSEVEX0dFVF9QUklPUklUWV9NQVggKi8KIAotI2lmZGVmIEhBVkVfU0NIRURfU0VUU0NIRURVTEVSCiAKLVB5RG9jX1NUUlZBUihwb3NpeF9zY2hlZF9nZXRzY2hlZHVsZXJfX2RvY19fLAotInNjaGVkX2dldHNjaGVkdWxlcihwaWQpXG5cblwKLUdldCB0aGUgc2NoZWR1bGluZyBwb2xpY3kgZm9yIHRoZSBwcm9jZXNzIHdpdGggYSBQSUQgb2YgKnBpZCouXG5cCi1QYXNzaW5nIGEgUElEIG9mIDAgcmV0dXJucyB0aGUgc2NoZWR1bGluZyBwb2xpY3kgZm9yIHRoZSBjYWxsaW5nIHByb2Nlc3MuIik7CisjaWZkZWYgSEFWRV9TQ0hFRF9TRVRTQ0hFRFVMRVIKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnNjaGVkX2dldHNjaGVkdWxlcgorICAgIHBpZDogcGlkX3QKKyAgICAvCisKK0dldCB0aGUgc2NoZWR1bGluZyBwb2xpY3kgZm9yIHRoZSBwcm9jZXNzIGlkZW50aWZpZWR5IGJ5IHBpZC4KKworUGFzc2luZyAwIGZvciBwaWQgcmV0dXJucyB0aGUgc2NoZWR1bGluZyBwb2xpY3kgZm9yIHRoZSBjYWxsaW5nIHByb2Nlc3MuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19zY2hlZF9nZXRzY2hlZHVsZXJfX2RvY19fLAorInNjaGVkX2dldHNjaGVkdWxlcigkbW9kdWxlLCBwaWQsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJHZXQgdGhlIHNjaGVkdWxpbmcgcG9saWN5IGZvciB0aGUgcHJvY2VzcyBpZGVudGlmaWVkeSBieSBwaWQuXG4iCisiXG4iCisiUGFzc2luZyAwIGZvciBwaWQgcmV0dXJucyB0aGUgc2NoZWR1bGluZyBwb2xpY3kgZm9yIHRoZSBjYWxsaW5nIHByb2Nlc3MuIik7CisKKyNkZWZpbmUgT1NfU0NIRURfR0VUU0NIRURVTEVSX01FVEhPRERFRiAgICBcCisgICAgeyJzY2hlZF9nZXRzY2hlZHVsZXIiLCAoUHlDRnVuY3Rpb24pb3Nfc2NoZWRfZ2V0c2NoZWR1bGVyLCBNRVRIX1ZBUkFSR1MsIG9zX3NjaGVkX2dldHNjaGVkdWxlcl9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfc2NoZWRfZ2V0c2NoZWR1bGVyKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX3NjaGVkX2dldHNjaGVkdWxlcl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBpZF90IHBpZCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zY2hlZF9nZXRzY2hlZHVsZXIoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CiAgICAgcGlkX3QgcGlkOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICIiIF9QeV9QQVJTRV9QSUQgIjpzY2hlZF9nZXRzY2hlZHVsZXIiLAorICAgICAgICAmcGlkKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3NjaGVkX2dldHNjaGVkdWxlcl9pbXBsKG1vZHVsZSwgcGlkKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2NoZWRfZ2V0c2NoZWR1bGVyX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGlkX3QgcGlkKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWUwZDYyNDQyMDdiMWQ4MjggaW5wdXQ9NWYxNGNmZDFmMTg5ZTFhMF0qLworewogICAgIGludCBwb2xpY3k7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgX1B5X1BBUlNFX1BJRCAiOnNjaGVkX2dldHNjaGVkdWxlciIsICZwaWQpKQotICAgICAgICByZXR1cm4gTlVMTDsKICAgICBwb2xpY3kgPSBzY2hlZF9nZXRzY2hlZHVsZXIocGlkKTsKICAgICBpZiAocG9saWN5IDwgMCkKICAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CiAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZyhwb2xpY3kpOwogfQorI2VuZGlmIC8qIEhBVkVfU0NIRURfU0VUU0NIRURVTEVSICovCiAKLSNlbmRpZgogCiAjaWYgZGVmaW5lZChIQVZFX1NDSEVEX1NFVFNDSEVEVUxFUikgfHwgZGVmaW5lZChIQVZFX1NDSEVEX1NFVFBBUkFNKQorLypbY2xpbmljIGlucHV0XQorY2xhc3Mgb3Muc2NoZWRfcGFyYW0gIlB5T2JqZWN0ICoiICImU2NoZWRQYXJhbVR5cGUiCisKK0BjbGFzc21ldGhvZAorb3Muc2NoZWRfcGFyYW0uX19uZXdfXworCisgICAgc2NoZWRfcHJpb3JpdHk6IG9iamVjdAorICAgICAgICBBIHNjaGVkdWxpbmcgcGFyYW1ldGVyLgorCitDdXJyZW50IGhhcyBvbmx5IG9uZSBmaWVsZDogc2NoZWRfcHJpb3JpdHkiKTsKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3NjaGVkX3BhcmFtX19kb2NfXywKKyJzY2hlZF9wYXJhbShzY2hlZF9wcmlvcml0eSlcbiIKKyItLVxuIgorIlxuIgorIkN1cnJlbnQgaGFzIG9ubHkgb25lIGZpZWxkOiBzY2hlZF9wcmlvcml0eVwiKTtcbiIKKyJcbiIKKyIgIHNjaGVkX3ByaW9yaXR5XG4iCisiICAgIEEgc2NoZWR1bGluZyBwYXJhbWV0ZXIuIik7CiAKIHN0YXRpYyBQeU9iamVjdCAqCi1zY2hlZF9wYXJhbV9uZXcoUHlUeXBlT2JqZWN0ICp0eXBlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKLXsKLSAgICBQeU9iamVjdCAqcmVzLCAqcHJpb3JpdHk7Ci0gICAgc3RhdGljIGNoYXIgKmt3bGlzdFtdID0geyJzY2hlZF9wcmlvcml0eSIsIE5VTEx9Oworb3Nfc2NoZWRfcGFyYW1faW1wbChQeVR5cGVPYmplY3QgKnR5cGUsIFB5T2JqZWN0ICpzY2hlZF9wcmlvcml0eSk7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsICJPOnNjaGVkX3BhcmFtIiwga3dsaXN0LCAmcHJpb3JpdHkpKQotICAgICAgICByZXR1cm4gTlVMTDsKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zY2hlZF9wYXJhbShQeVR5cGVPYmplY3QgKnR5cGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsic2NoZWRfcHJpb3JpdHkiLCBOVUxMfTsKKyAgICBQeU9iamVjdCAqc2NoZWRfcHJpb3JpdHk7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJPOnNjaGVkX3BhcmFtIiwgX2tleXdvcmRzLAorICAgICAgICAmc2NoZWRfcHJpb3JpdHkpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3Nfc2NoZWRfcGFyYW1faW1wbCh0eXBlLCBzY2hlZF9wcmlvcml0eSk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NjaGVkX3BhcmFtX2ltcGwoUHlUeXBlT2JqZWN0ICp0eXBlLCBQeU9iamVjdCAqc2NoZWRfcHJpb3JpdHkpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZDM3OTFlMzQ1ZjdmZTU3MyBpbnB1dD03M2E0YzIyZjcwNzFmYzYyXSovCit7CisgICAgUHlPYmplY3QgKnJlczsKKwogICAgIHJlcyA9IFB5U3RydWN0U2VxdWVuY2VfTmV3KHR5cGUpOwogICAgIGlmICghcmVzKQogICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBQeV9JTkNSRUYocHJpb3JpdHkpOwotICAgIFB5U3RydWN0U2VxdWVuY2VfU0VUX0lURU0ocmVzLCAwLCBwcmlvcml0eSk7CisgICAgUHlfSU5DUkVGKHNjaGVkX3ByaW9yaXR5KTsKKyAgICBQeVN0cnVjdFNlcXVlbmNlX1NFVF9JVEVNKHJlcywgMCwgc2NoZWRfcHJpb3JpdHkpOwogICAgIHJldHVybiByZXM7CiB9CiAKLVB5RG9jX1NUUlZBUihzY2hlZF9wYXJhbV9fZG9jX18sCi0ic2NoZWRfcGFyYW0oc2NoZWRfcHJpb3JpdHkpOiBBIHNjaGVkdWxpbmcgcGFyYW1ldGVyLlxuXG5cCi1DdXJyZW50IGhhcyBvbmx5IG9uZSBmaWVsZDogc2NoZWRfcHJpb3JpdHkiKTsKIAogc3RhdGljIFB5U3RydWN0U2VxdWVuY2VfRmllbGQgc2NoZWRfcGFyYW1fZmllbGRzW10gPSB7CiAgICAgeyJzY2hlZF9wcmlvcml0eSIsICJ0aGUgc2NoZWR1bGluZyBwcmlvcml0eSJ9LApAQCAtNTY2NCw3ICs3NDYwLDcgQEAKIAogc3RhdGljIFB5U3RydWN0U2VxdWVuY2VfRGVzYyBzY2hlZF9wYXJhbV9kZXNjID0gewogICAgICJzY2hlZF9wYXJhbSIsIC8qIG5hbWUgKi8KLSAgICBzY2hlZF9wYXJhbV9fZG9jX18sIC8qIGRvYyAqLworICAgIG9zX3NjaGVkX3BhcmFtX19kb2NfXywgLyogZG9jICovCiAgICAgc2NoZWRfcGFyYW1fZmllbGRzLAogICAgIDEKIH07CkBAIC01Njg4LDExOCArNzQ4NCwyODAgQEAKICAgICByZXMtPnNjaGVkX3ByaW9yaXR5ID0gUHlfU0FGRV9ET1dOQ0FTVChwcmlvcml0eSwgbG9uZywgaW50KTsKICAgICByZXR1cm4gMTsKIH0KKyNlbmRpZiAvKiBkZWZpbmVkKEhBVkVfU0NIRURfU0VUU0NIRURVTEVSKSB8fCBkZWZpbmVkKEhBVkVfU0NIRURfU0VUUEFSQU0pICovCiAKLSNlbmRpZgogCiAjaWZkZWYgSEFWRV9TQ0hFRF9TRVRTQ0hFRFVMRVIKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnNjaGVkX3NldHNjaGVkdWxlcgogCi1QeURvY19TVFJWQVIocG9zaXhfc2NoZWRfc2V0c2NoZWR1bGVyX19kb2NfXywKLSJzY2hlZF9zZXRzY2hlZHVsZXIocGlkLCBwb2xpY3ksIHBhcmFtKVxuXG5cCi1TZXQgdGhlIHNjaGVkdWxpbmcgcG9saWN5LCAqcG9saWN5KiwgZm9yICpwaWQqLlxuXAotSWYgKnBpZCogaXMgMCwgdGhlIGNhbGxpbmcgcHJvY2VzcyBpcyBjaGFuZ2VkLlxuXAotKnBhcmFtKiBpcyBhbiBpbnN0YW5jZSBvZiBzY2hlZF9wYXJhbS4iKTsKKyAgICBwaWQ6IHBpZF90CisgICAgcG9saWN5OiBpbnQKKyAgICBwYXJhbTogc2NoZWRfcGFyYW0KKyAgICAvCisKK1NldCB0aGUgc2NoZWR1bGluZyBwb2xpY3kgZm9yIHRoZSBwcm9jZXNzIGlkZW50aWZpZWQgYnkgcGlkLgorCitJZiBwaWQgaXMgMCwgdGhlIGNhbGxpbmcgcHJvY2VzcyBpcyBjaGFuZ2VkLgorcGFyYW0gaXMgYW4gaW5zdGFuY2Ugb2Ygc2NoZWRfcGFyYW0uCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19zY2hlZF9zZXRzY2hlZHVsZXJfX2RvY19fLAorInNjaGVkX3NldHNjaGVkdWxlcigkbW9kdWxlLCBwaWQsIHBvbGljeSwgcGFyYW0sIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJTZXQgdGhlIHNjaGVkdWxpbmcgcG9saWN5IGZvciB0aGUgcHJvY2VzcyBpZGVudGlmaWVkIGJ5IHBpZC5cbiIKKyJcbiIKKyJJZiBwaWQgaXMgMCwgdGhlIGNhbGxpbmcgcHJvY2VzcyBpcyBjaGFuZ2VkLlxuIgorInBhcmFtIGlzIGFuIGluc3RhbmNlIG9mIHNjaGVkX3BhcmFtLiIpOworCisjZGVmaW5lIE9TX1NDSEVEX1NFVFNDSEVEVUxFUl9NRVRIT0RERUYgICAgXAorICAgIHsic2NoZWRfc2V0c2NoZWR1bGVyIiwgKFB5Q0Z1bmN0aW9uKW9zX3NjaGVkX3NldHNjaGVkdWxlciwgTUVUSF9WQVJBUkdTLCBvc19zY2hlZF9zZXRzY2hlZHVsZXJfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3NjaGVkX3NldHNjaGVkdWxlcihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19zY2hlZF9zZXRzY2hlZHVsZXJfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwaWRfdCBwaWQsIGludCBwb2xpY3ksIHN0cnVjdCBzY2hlZF9wYXJhbSAqcGFyYW0pOworCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2NoZWRfc2V0c2NoZWR1bGVyKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogeworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwogICAgIHBpZF90IHBpZDsKICAgICBpbnQgcG9saWN5OwogICAgIHN0cnVjdCBzY2hlZF9wYXJhbSBwYXJhbTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCBfUHlfUEFSU0VfUElEICJpTyY6c2NoZWRfc2V0c2NoZWR1bGVyIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJnBpZCwgJnBvbGljeSwgJmNvbnZlcnRfc2NoZWRfcGFyYW0sICZwYXJhbSkpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiIiBfUHlfUEFSU0VfUElEICJpTyY6c2NoZWRfc2V0c2NoZWR1bGVyIiwKKyAgICAgICAgJnBpZCwgJnBvbGljeSwgY29udmVydF9zY2hlZF9wYXJhbSwgJnBhcmFtKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3NjaGVkX3NldHNjaGVkdWxlcl9pbXBsKG1vZHVsZSwgcGlkLCBwb2xpY3ksICZwYXJhbSk7CiAKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NjaGVkX3NldHNjaGVkdWxlcl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBpZF90IHBpZCwgaW50IHBvbGljeSwgc3RydWN0IHNjaGVkX3BhcmFtICpwYXJhbSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0zNmFiZGI3M2Y4MWMyMjRmIGlucHV0PWM1ODFmOTQ2OWE1MzI3ZGRdKi8KK3sKICAgICAvKgogICAgICoqIHNjaGVkX3NldHNjaGVkdWxlcigpIHJldHVybnMgMCBpbiBMaW51eCwgYnV0IHRoZSBwcmV2aW91cwogICAgICoqIHNjaGVkdWxpbmcgcG9saWN5IHVuZGVyIFNvbGFyaXMvSWxsdW1vcywgYW5kIG90aGVycy4KICAgICAqKiBPbiBlcnJvciwgLTEgaXMgcmV0dXJuZWQgaW4gYWxsIE9wZXJhdGluZyBTeXN0ZW1zLgogICAgICovCi0gICAgaWYgKHNjaGVkX3NldHNjaGVkdWxlcihwaWQsIHBvbGljeSwgJnBhcmFtKSA9PSAtMSkKKyAgICBpZiAoc2NoZWRfc2V0c2NoZWR1bGVyKHBpZCwgcG9saWN5LCBwYXJhbSkgPT0gLTEpCiAgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwogICAgIFB5X1JFVFVSTl9OT05FOwogfQorI2VuZGlmICAvKiBIQVZFX1NDSEVEX1NFVFNDSEVEVUxFUiovCiAKLSNlbmRpZgogCiAjaWZkZWYgSEFWRV9TQ0hFRF9TRVRQQVJBTQorLypbY2xpbmljIGlucHV0XQorb3Muc2NoZWRfZ2V0cGFyYW0KKyAgICBwaWQ6IHBpZF90CisgICAgLwogCi1QeURvY19TVFJWQVIocG9zaXhfc2NoZWRfZ2V0cGFyYW1fX2RvY19fLAotInNjaGVkX2dldHBhcmFtKHBpZCkgLT4gc2NoZWRfcGFyYW1cblxuXAotUmV0dXJucyBzY2hlZHVsaW5nIHBhcmFtZXRlcnMgZm9yIHRoZSBwcm9jZXNzIHdpdGggKnBpZCogYXMgYW4gaW5zdGFuY2Ugb2YgdGhlXG5cCi1zY2hlZF9wYXJhbSBjbGFzcy4gQSBQSUQgb2YgMCBtZWFucyB0aGUgY2FsbGluZyBwcm9jZXNzLiIpOworUmV0dXJucyBzY2hlZHVsaW5nIHBhcmFtZXRlcnMgZm9yIHRoZSBwcm9jZXNzIGlkZW50aWZpZWQgYnkgcGlkLgorCitJZiBwaWQgaXMgMCwgcmV0dXJucyBwYXJhbWV0ZXJzIGZvciB0aGUgY2FsbGluZyBwcm9jZXNzLgorUmV0dXJuIHZhbHVlIGlzIGFuIGluc3RhbmNlIG9mIHNjaGVkX3BhcmFtLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfc2NoZWRfZ2V0cGFyYW1fX2RvY19fLAorInNjaGVkX2dldHBhcmFtKCRtb2R1bGUsIHBpZCwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybnMgc2NoZWR1bGluZyBwYXJhbWV0ZXJzIGZvciB0aGUgcHJvY2VzcyBpZGVudGlmaWVkIGJ5IHBpZC5cbiIKKyJcbiIKKyJJZiBwaWQgaXMgMCwgcmV0dXJucyBwYXJhbWV0ZXJzIGZvciB0aGUgY2FsbGluZyBwcm9jZXNzLlxuIgorIlJldHVybiB2YWx1ZSBpcyBhbiBpbnN0YW5jZSBvZiBzY2hlZF9wYXJhbS4iKTsKKworI2RlZmluZSBPU19TQ0hFRF9HRVRQQVJBTV9NRVRIT0RERUYgICAgXAorICAgIHsic2NoZWRfZ2V0cGFyYW0iLCAoUHlDRnVuY3Rpb24pb3Nfc2NoZWRfZ2V0cGFyYW0sIE1FVEhfVkFSQVJHUywgb3Nfc2NoZWRfZ2V0cGFyYW1fX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3NjaGVkX2dldHBhcmFtKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKLXsKLSAgICBwaWRfdCBwaWQ7Ci0gICAgc3RydWN0IHNjaGVkX3BhcmFtIHBhcmFtOwotICAgIFB5T2JqZWN0ICpyZXMsICpwcmlvcml0eTsKK29zX3NjaGVkX2dldHBhcmFtX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGlkX3QgcGlkKTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCBfUHlfUEFSU0VfUElEICI6c2NoZWRfZ2V0cGFyYW0iLCAmcGlkKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2NoZWRfZ2V0cGFyYW0oUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgcGlkX3QgcGlkOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICIiIF9QeV9QQVJTRV9QSUQgIjpzY2hlZF9nZXRwYXJhbSIsCisgICAgICAgICZwaWQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3Nfc2NoZWRfZ2V0cGFyYW1faW1wbChtb2R1bGUsIHBpZCk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NjaGVkX2dldHBhcmFtX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGlkX3QgcGlkKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWIzM2FjYzhkYjAwNGE4YzkgaW5wdXQ9MThhMWVmOWMyZWZhZTI5Nl0qLworeworICAgIHN0cnVjdCBzY2hlZF9wYXJhbSBwYXJhbTsKKyAgICBQeU9iamVjdCAqcmVzdWx0OworICAgIFB5T2JqZWN0ICpwcmlvcml0eTsKKwogICAgIGlmIChzY2hlZF9nZXRwYXJhbShwaWQsICZwYXJhbSkpCiAgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwotICAgIHJlcyA9IFB5U3RydWN0U2VxdWVuY2VfTmV3KCZTY2hlZFBhcmFtVHlwZSk7Ci0gICAgaWYgKCFyZXMpCisgICAgcmVzdWx0ID0gUHlTdHJ1Y3RTZXF1ZW5jZV9OZXcoJlNjaGVkUGFyYW1UeXBlKTsKKyAgICBpZiAoIXJlc3VsdCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgcHJpb3JpdHkgPSBQeUxvbmdfRnJvbUxvbmcocGFyYW0uc2NoZWRfcHJpb3JpdHkpOwogICAgIGlmICghcHJpb3JpdHkpIHsKLSAgICAgICAgUHlfREVDUkVGKHJlcyk7CisgICAgICAgIFB5X0RFQ1JFRihyZXN1bHQpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0gICAgUHlTdHJ1Y3RTZXF1ZW5jZV9TRVRfSVRFTShyZXMsIDAsIHByaW9yaXR5KTsKLSAgICByZXR1cm4gcmVzOworICAgIFB5U3RydWN0U2VxdWVuY2VfU0VUX0lURU0ocmVzdWx0LCAwLCBwcmlvcml0eSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotUHlEb2NfU1RSVkFSKHBvc2l4X3NjaGVkX3NldHBhcmFtX19kb2NfXywKLSJzY2hlZF9zZXRwYXJhbShwaWQsIHBhcmFtKVxuXG5cCi1TZXQgc2NoZWR1bGluZyBwYXJhbWV0ZXJzIGZvciBhIHByb2Nlc3Mgd2l0aCBQSUQgKnBpZCouXG5cCi1BIFBJRCBvZiAwIG1lYW5zIHRoZSBjYWxsaW5nIHByb2Nlc3MuIik7CisKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnNjaGVkX3NldHBhcmFtCisgICAgcGlkOiBwaWRfdAorICAgIHBhcmFtOiBzY2hlZF9wYXJhbQorICAgIC8KKworU2V0IHNjaGVkdWxpbmcgcGFyYW1ldGVycyBmb3IgdGhlIHByb2Nlc3MgaWRlbnRpZmllZCBieSBwaWQuCisKK0lmIHBpZCBpcyAwLCBzZXRzIHBhcmFtZXRlcnMgZm9yIHRoZSBjYWxsaW5nIHByb2Nlc3MuCitwYXJhbSBzaG91bGQgYmUgYW4gaW5zdGFuY2Ugb2Ygc2NoZWRfcGFyYW0uCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19zY2hlZF9zZXRwYXJhbV9fZG9jX18sCisic2NoZWRfc2V0cGFyYW0oJG1vZHVsZSwgcGlkLCBwYXJhbSwgLylcbiIKKyItLVxuIgorIlxuIgorIlNldCBzY2hlZHVsaW5nIHBhcmFtZXRlcnMgZm9yIHRoZSBwcm9jZXNzIGlkZW50aWZpZWQgYnkgcGlkLlxuIgorIlxuIgorIklmIHBpZCBpcyAwLCBzZXRzIHBhcmFtZXRlcnMgZm9yIHRoZSBjYWxsaW5nIHByb2Nlc3MuXG4iCisicGFyYW0gc2hvdWxkIGJlIGFuIGluc3RhbmNlIG9mIHNjaGVkX3BhcmFtLiIpOworCisjZGVmaW5lIE9TX1NDSEVEX1NFVFBBUkFNX01FVEhPRERFRiAgICBcCisgICAgeyJzY2hlZF9zZXRwYXJhbSIsIChQeUNGdW5jdGlvbilvc19zY2hlZF9zZXRwYXJhbSwgTUVUSF9WQVJBUkdTLCBvc19zY2hlZF9zZXRwYXJhbV9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfc2NoZWRfc2V0cGFyYW0oUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3Nfc2NoZWRfc2V0cGFyYW1faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwaWRfdCBwaWQsIHN0cnVjdCBzY2hlZF9wYXJhbSAqcGFyYW0pOworCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2NoZWRfc2V0cGFyYW0oUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CiAgICAgcGlkX3QgcGlkOwogICAgIHN0cnVjdCBzY2hlZF9wYXJhbSBwYXJhbTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCBfUHlfUEFSU0VfUElEICJPJjpzY2hlZF9zZXRwYXJhbSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICZwaWQsICZjb252ZXJ0X3NjaGVkX3BhcmFtLCAmcGFyYW0pKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBpZiAoc2NoZWRfc2V0cGFyYW0ocGlkLCAmcGFyYW0pKQorICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiIiBfUHlfUEFSU0VfUElEICJPJjpzY2hlZF9zZXRwYXJhbSIsCisgICAgICAgICZwaWQsIGNvbnZlcnRfc2NoZWRfcGFyYW0sICZwYXJhbSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19zY2hlZF9zZXRwYXJhbV9pbXBsKG1vZHVsZSwgcGlkLCAmcGFyYW0pOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zY2hlZF9zZXRwYXJhbV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBpZF90IHBpZCwgc3RydWN0IHNjaGVkX3BhcmFtICpwYXJhbSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD00ODhiZGY1YmNiZTBkNGU4IGlucHV0PTZiOGQ2ZGZjZWNkYzIxYmRdKi8KK3sKKyAgICBpZiAoc2NoZWRfc2V0cGFyYW0ocGlkLCBwYXJhbSkpCiAgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwogICAgIFB5X1JFVFVSTl9OT05FOwogfQorI2VuZGlmIC8qIEhBVkVfU0NIRURfU0VUUEFSQU0gKi8KIAotI2VuZGlmCiAKICNpZmRlZiBIQVZFX1NDSEVEX1JSX0dFVF9JTlRFUlZBTAorLypbY2xpbmljIGlucHV0XQorb3Muc2NoZWRfcnJfZ2V0X2ludGVydmFsIC0+IGRvdWJsZQorICAgIHBpZDogcGlkX3QKKyAgICAvCiAKLVB5RG9jX1NUUlZBUihwb3NpeF9zY2hlZF9ycl9nZXRfaW50ZXJ2YWxfX2RvY19fLAotInNjaGVkX3JyX2dldF9pbnRlcnZhbChwaWQpIC0+IGZsb2F0XG5cblwKLVJldHVybiB0aGUgcm91bmQtcm9iaW4gcXVhbnR1bSBmb3IgdGhlIHByb2Nlc3Mgd2l0aCBQSUQgKnBpZCogaW4gc2Vjb25kcy4iKTsKK1JldHVybiB0aGUgcm91bmQtcm9iaW4gcXVhbnR1bSBmb3IgdGhlIHByb2Nlc3MgaWRlbnRpZmllZCBieSBwaWQsIGluIHNlY29uZHMuCisKK1ZhbHVlIHJldHVybmVkIGlzIGEgZmxvYXQuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19zY2hlZF9ycl9nZXRfaW50ZXJ2YWxfX2RvY19fLAorInNjaGVkX3JyX2dldF9pbnRlcnZhbCgkbW9kdWxlLCBwaWQsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIHJvdW5kLXJvYmluIHF1YW50dW0gZm9yIHRoZSBwcm9jZXNzIGlkZW50aWZpZWQgYnkgcGlkLCBpbiBzZWNvbmRzLlxuIgorIlxuIgorIlZhbHVlIHJldHVybmVkIGlzIGEgZmxvYXQuIik7CisKKyNkZWZpbmUgT1NfU0NIRURfUlJfR0VUX0lOVEVSVkFMX01FVEhPRERFRiAgICBcCisgICAgeyJzY2hlZF9ycl9nZXRfaW50ZXJ2YWwiLCAoUHlDRnVuY3Rpb24pb3Nfc2NoZWRfcnJfZ2V0X2ludGVydmFsLCBNRVRIX1ZBUkFSR1MsIG9zX3NjaGVkX3JyX2dldF9pbnRlcnZhbF9fZG9jX199LAorCitzdGF0aWMgZG91YmxlCitvc19zY2hlZF9ycl9nZXRfaW50ZXJ2YWxfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwaWRfdCBwaWQpOwogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfc2NoZWRfcnJfZ2V0X2ludGVydmFsKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX3NjaGVkX3JyX2dldF9pbnRlcnZhbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKICAgICBwaWRfdCBwaWQ7Ci0gICAgc3RydWN0IHRpbWVzcGVjIGludGVydmFsOworICAgIGRvdWJsZSBfcmV0dXJuX3ZhbHVlOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIF9QeV9QQVJTRV9QSUQgIjpzY2hlZF9ycl9nZXRfaW50ZXJ2YWwiLCAmcGlkKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgaWYgKHNjaGVkX3JyX2dldF9pbnRlcnZhbChwaWQsICZpbnRlcnZhbCkpCi0gICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwotICAgIHJldHVybiBQeUZsb2F0X0Zyb21Eb3VibGUoKGRvdWJsZSlpbnRlcnZhbC50dl9zZWMgKyAxZS05KmludGVydmFsLnR2X25zZWMpOworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiIiBfUHlfUEFSU0VfUElEICI6c2NoZWRfcnJfZ2V0X2ludGVydmFsIiwKKyAgICAgICAgJnBpZCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICBfcmV0dXJuX3ZhbHVlID0gb3Nfc2NoZWRfcnJfZ2V0X2ludGVydmFsX2ltcGwobW9kdWxlLCBwaWQpOworICAgIGlmICgoX3JldHVybl92YWx1ZSA9PSAtMS4wKSAmJiBQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gUHlGbG9hdF9Gcm9tRG91YmxlKF9yZXR1cm5fdmFsdWUpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7CiB9CiAKLSNlbmRpZgorc3RhdGljIGRvdWJsZQorb3Nfc2NoZWRfcnJfZ2V0X2ludGVydmFsX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGlkX3QgcGlkKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTViM2I4ZDFmMjdmYjJjMGEgaW5wdXQ9MmE5NzNkYTE1Y2NhNmZhZV0qLworeworICAgIHN0cnVjdCB0aW1lc3BlYyBpbnRlcnZhbDsKKyAgICBpZiAoc2NoZWRfcnJfZ2V0X2ludGVydmFsKHBpZCwgJmludGVydmFsKSkgeworICAgICAgICBwb3NpeF9lcnJvcigpOworICAgICAgICByZXR1cm4gLTEuMDsKKyAgICB9CisgICAgcmV0dXJuIChkb3VibGUpaW50ZXJ2YWwudHZfc2VjICsgMWUtOSppbnRlcnZhbC50dl9uc2VjOworfQorI2VuZGlmIC8qIEhBVkVfU0NIRURfUlJfR0VUX0lOVEVSVkFMICovCiAKLVB5RG9jX1NUUlZBUihwb3NpeF9zY2hlZF95aWVsZF9fZG9jX18sCi0ic2NoZWRfeWllbGQoKVxuXG5cCi1Wb2x1bnRhcmlseSByZWxpbnF1aXNoIHRoZSBDUFUuIik7CisKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnNjaGVkX3lpZWxkCisKK1ZvbHVudGFyaWx5IHJlbGlucXVpc2ggdGhlIENQVS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3NjaGVkX3lpZWxkX19kb2NfXywKKyJzY2hlZF95aWVsZCgkbW9kdWxlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiVm9sdW50YXJpbHkgcmVsaW5xdWlzaCB0aGUgQ1BVLiIpOworCisjZGVmaW5lIE9TX1NDSEVEX1lJRUxEX01FVEhPRERFRiAgICBcCisgICAgeyJzY2hlZF95aWVsZCIsIChQeUNGdW5jdGlvbilvc19zY2hlZF95aWVsZCwgTUVUSF9OT0FSR1MsIG9zX3NjaGVkX3lpZWxkX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9zY2hlZF95aWVsZChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKm5vYXJncykKK29zX3NjaGVkX3lpZWxkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zY2hlZF95aWVsZChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBvc19zY2hlZF95aWVsZF9pbXBsKG1vZHVsZSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zY2hlZF95aWVsZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9OWQyZTVmMjlmMTM3MDMyNCBpbnB1dD1lNTRkNmY5ODE4OTM5MWQ0XSovCiB7CiAgICAgaWYgKHNjaGVkX3lpZWxkKCkpCiAgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwpAQCAtNTgwNywzOSArNzc2NSw3MiBAQAogfQogCiAjaWZkZWYgSEFWRV9TQ0hFRF9TRVRBRkZJTklUWQotCiAvKiBUaGUgbWluaW11bSBudW1iZXIgb2YgQ1BVcyBhbGxvY2F0ZWQgaW4gYSBjcHVfc2V0X3QgKi8KIHN0YXRpYyBjb25zdCBpbnQgTkNQVVNfU1RBUlQgPSBzaXplb2YodW5zaWduZWQgbG9uZykgKiBDSEFSX0JJVDsKIAotUHlEb2NfU1RSVkFSKHBvc2l4X3NjaGVkX3NldGFmZmluaXR5X19kb2NfXywKLSJzY2hlZF9zZXRhZmZpbml0eShwaWQsIGNwdV9zZXQpXG5cblwKLVNldCB0aGUgYWZmaW5pdHkgb2YgdGhlIHByb2Nlc3Mgd2l0aCBQSUQgKnBpZCogdG8gKmNwdV9zZXQqLiIpOworLypbY2xpbmljIGlucHV0XQorb3Muc2NoZWRfc2V0YWZmaW5pdHkKKyAgICBwaWQ6IHBpZF90CisgICAgbWFzayA6IG9iamVjdAorICAgIC8KKworU2V0IHRoZSBDUFUgYWZmaW5pdHkgb2YgdGhlIHByb2Nlc3MgaWRlbnRpZmllZCBieSBwaWQgdG8gbWFzay4KKworbWFzayBzaG91bGQgYmUgYW4gaXRlcmFibGUgb2YgaW50ZWdlcnMgaWRlbnRpZnlpbmcgQ1BVcy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3NjaGVkX3NldGFmZmluaXR5X19kb2NfXywKKyJzY2hlZF9zZXRhZmZpbml0eSgkbW9kdWxlLCBwaWQsIG1hc2ssIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJTZXQgdGhlIENQVSBhZmZpbml0eSBvZiB0aGUgcHJvY2VzcyBpZGVudGlmaWVkIGJ5IHBpZCB0byBtYXNrLlxuIgorIlxuIgorIm1hc2sgc2hvdWxkIGJlIGFuIGl0ZXJhYmxlIG9mIGludGVnZXJzIGlkZW50aWZ5aW5nIENQVXMuIik7CisKKyNkZWZpbmUgT1NfU0NIRURfU0VUQUZGSU5JVFlfTUVUSE9EREVGICAgIFwKKyAgICB7InNjaGVkX3NldGFmZmluaXR5IiwgKFB5Q0Z1bmN0aW9uKW9zX3NjaGVkX3NldGFmZmluaXR5LCBNRVRIX1ZBUkFSR1MsIG9zX3NjaGVkX3NldGFmZmluaXR5X19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9zY2hlZF9zZXRhZmZpbml0eShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19zY2hlZF9zZXRhZmZpbml0eV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBpZF90IHBpZCwgUHlPYmplY3QgKm1hc2spOworCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2NoZWRfc2V0YWZmaW5pdHkoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CiAgICAgcGlkX3QgcGlkOworICAgIFB5T2JqZWN0ICptYXNrOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICIiIF9QeV9QQVJTRV9QSUQgIk86c2NoZWRfc2V0YWZmaW5pdHkiLAorICAgICAgICAmcGlkLCAmbWFzaykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19zY2hlZF9zZXRhZmZpbml0eV9pbXBsKG1vZHVsZSwgcGlkLCBtYXNrKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2NoZWRfc2V0YWZmaW5pdHlfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwaWRfdCBwaWQsIFB5T2JqZWN0ICptYXNrKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTUxOTk5Mjk3MzgxMzAxOTYgaW5wdXQ9YTA3OTFhNTk3YzcwODViYV0qLworewogICAgIGludCBuY3B1czsKICAgICBzaXplX3Qgc2V0c2l6ZTsKLSAgICBjcHVfc2V0X3QgKm1hc2sgPSBOVUxMOwotICAgIFB5T2JqZWN0ICppdGVyYWJsZSwgKml0ZXJhdG9yID0gTlVMTCwgKml0ZW07CisgICAgY3B1X3NldF90ICpjcHVfc2V0ID0gTlVMTDsKKyAgICBQeU9iamVjdCAqaXRlcmF0b3IgPSBOVUxMLCAqaXRlbTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCBfUHlfUEFSU0VfUElEICJPOnNjaGVkX3NldGFmZmluaXR5IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJnBpZCwgJml0ZXJhYmxlKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KLSAgICBpdGVyYXRvciA9IFB5T2JqZWN0X0dldEl0ZXIoaXRlcmFibGUpOworICAgIGl0ZXJhdG9yID0gUHlPYmplY3RfR2V0SXRlcihtYXNrKTsKICAgICBpZiAoaXRlcmF0b3IgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICBuY3B1cyA9IE5DUFVTX1NUQVJUOwogICAgIHNldHNpemUgPSBDUFVfQUxMT0NfU0laRShuY3B1cyk7Ci0gICAgbWFzayA9IENQVV9BTExPQyhuY3B1cyk7Ci0gICAgaWYgKG1hc2sgPT0gTlVMTCkgeworICAgIGNwdV9zZXQgPSBDUFVfQUxMT0MobmNwdXMpOworICAgIGlmIChjcHVfc2V0ID09IE5VTEwpIHsKICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKICAgICAgICAgZ290byBlcnJvcjsKICAgICB9Ci0gICAgQ1BVX1pFUk9fUyhzZXRzaXplLCBtYXNrKTsKKyAgICBDUFVfWkVST19TKHNldHNpemUsIGNwdV9zZXQpOwogCiAgICAgd2hpbGUgKChpdGVtID0gUHlJdGVyX05leHQoaXRlcmF0b3IpKSkgewogICAgICAgICBsb25nIGNwdTsKQEAgLTU4ODAsNDggKzc4NzEsODAgQEAKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIG5ld3NldHNpemUgPSBDUFVfQUxMT0NfU0laRShuZXduY3B1cyk7CiAgICAgICAgICAgICBDUFVfWkVST19TKG5ld3NldHNpemUsIG5ld21hc2spOwotICAgICAgICAgICAgbWVtY3B5KG5ld21hc2ssIG1hc2ssIHNldHNpemUpOwotICAgICAgICAgICAgQ1BVX0ZSRUUobWFzayk7CisgICAgICAgICAgICBtZW1jcHkobmV3bWFzaywgY3B1X3NldCwgc2V0c2l6ZSk7CisgICAgICAgICAgICBDUFVfRlJFRShjcHVfc2V0KTsKICAgICAgICAgICAgIHNldHNpemUgPSBuZXdzZXRzaXplOwotICAgICAgICAgICAgbWFzayA9IG5ld21hc2s7CisgICAgICAgICAgICBjcHVfc2V0ID0gbmV3bWFzazsKICAgICAgICAgICAgIG5jcHVzID0gbmV3bmNwdXM7CiAgICAgICAgIH0KLSAgICAgICAgQ1BVX1NFVF9TKGNwdSwgc2V0c2l6ZSwgbWFzayk7CisgICAgICAgIENQVV9TRVRfUyhjcHUsIHNldHNpemUsIGNwdV9zZXQpOwogICAgIH0KICAgICBQeV9DTEVBUihpdGVyYXRvcik7CiAKLSAgICBpZiAoc2NoZWRfc2V0YWZmaW5pdHkocGlkLCBzZXRzaXplLCBtYXNrKSkgeworICAgIGlmIChzY2hlZF9zZXRhZmZpbml0eShwaWQsIHNldHNpemUsIGNwdV9zZXQpKSB7CiAgICAgICAgIHBvc2l4X2Vycm9yKCk7CiAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgfQotICAgIENQVV9GUkVFKG1hc2spOworICAgIENQVV9GUkVFKGNwdV9zZXQpOwogICAgIFB5X1JFVFVSTl9OT05FOwogCiBlcnJvcjoKLSAgICBpZiAobWFzaykKLSAgICAgICAgQ1BVX0ZSRUUobWFzayk7CisgICAgaWYgKGNwdV9zZXQpCisgICAgICAgIENQVV9GUkVFKGNwdV9zZXQpOwogICAgIFB5X1hERUNSRUYoaXRlcmF0b3IpOwogICAgIHJldHVybiBOVUxMOwogfQogCi1QeURvY19TVFJWQVIocG9zaXhfc2NoZWRfZ2V0YWZmaW5pdHlfX2RvY19fLAotInNjaGVkX2dldGFmZmluaXR5KHBpZCwgbmNwdXMpIC0+IGNwdV9zZXRcblxuXAotUmV0dXJuIHRoZSBhZmZpbml0eSBvZiB0aGUgcHJvY2VzcyB3aXRoIFBJRCAqcGlkKi5cblwKLVRoZSByZXR1cm5lZCBjcHVfc2V0IHdpbGwgYmUgb2Ygc2l6ZSAqbmNwdXMqLiIpOworCisvKltjbGluaWMgaW5wdXRdCitvcy5zY2hlZF9nZXRhZmZpbml0eQorICAgIHBpZDogcGlkX3QKKyAgICAvCisKK1JldHVybiB0aGUgYWZmaW5pdHkgb2YgdGhlIHByb2Nlc3MgaWRlbnRpZmllZCBieSBwaWQuCisKK1RoZSBhZmZpbml0eSBpcyByZXR1cm5lZCBhcyBhIHNldCBvZiBDUFUgaWRlbnRpZmllcnMuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19zY2hlZF9nZXRhZmZpbml0eV9fZG9jX18sCisic2NoZWRfZ2V0YWZmaW5pdHkoJG1vZHVsZSwgcGlkLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSBhZmZpbml0eSBvZiB0aGUgcHJvY2VzcyBpZGVudGlmaWVkIGJ5IHBpZC5cbiIKKyJcbiIKKyJUaGUgYWZmaW5pdHkgaXMgcmV0dXJuZWQgYXMgYSBzZXQgb2YgQ1BVIGlkZW50aWZpZXJzLiIpOworCisjZGVmaW5lIE9TX1NDSEVEX0dFVEFGRklOSVRZX01FVEhPRERFRiAgICBcCisgICAgeyJzY2hlZF9nZXRhZmZpbml0eSIsIChQeUNGdW5jdGlvbilvc19zY2hlZF9nZXRhZmZpbml0eSwgTUVUSF9WQVJBUkdTLCBvc19zY2hlZF9nZXRhZmZpbml0eV9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfc2NoZWRfZ2V0YWZmaW5pdHkoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3Nfc2NoZWRfZ2V0YWZmaW5pdHlfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwaWRfdCBwaWQpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2NoZWRfZ2V0YWZmaW5pdHkoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CiAgICAgcGlkX3QgcGlkOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICIiIF9QeV9QQVJTRV9QSUQgIjpzY2hlZF9nZXRhZmZpbml0eSIsCisgICAgICAgICZwaWQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3Nfc2NoZWRfZ2V0YWZmaW5pdHlfaW1wbChtb2R1bGUsIHBpZCk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NjaGVkX2dldGFmZmluaXR5X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGlkX3QgcGlkKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTdiMjczYjBmY2E5ODMwZjAgaW5wdXQ9ZWFmMTYxOTM2ODc0YjhhMV0qLworewogICAgIGludCBjcHUsIG5jcHVzLCBjb3VudDsKICAgICBzaXplX3Qgc2V0c2l6ZTsKICAgICBjcHVfc2V0X3QgKm1hc2sgPSBOVUxMOwogICAgIFB5T2JqZWN0ICpyZXMgPSBOVUxMOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIF9QeV9QQVJTRV9QSUQgIjpzY2hlZF9nZXRhZmZpbml0eSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICZwaWQpKQotICAgICAgICByZXR1cm4gTlVMTDsKLQogICAgIG5jcHVzID0gTkNQVVNfU1RBUlQ7CiAgICAgd2hpbGUgKDEpIHsKICAgICAgICAgc2V0c2l6ZSA9IENQVV9BTExPQ19TSVpFKG5jcHVzKTsKQEAgLTU5NzEsNiArNzk5NCw0NyBAQAogCiAjZW5kaWYgLyogSEFWRV9TQ0hFRF9IICovCiAKKyNpZm5kZWYgT1NfU0NIRURfR0VUX1BSSU9SSVRZX01BWF9NRVRIT0RERUYKKyNkZWZpbmUgT1NfU0NIRURfR0VUX1BSSU9SSVRZX01BWF9NRVRIT0RERUYKKyNlbmRpZiAgLyogT1NfU0NIRURfR0VUX1BSSU9SSVRZX01BWF9NRVRIT0RERUYgKi8KKworI2lmbmRlZiBPU19TQ0hFRF9HRVRfUFJJT1JJVFlfTUlOX01FVEhPRERFRgorI2RlZmluZSBPU19TQ0hFRF9HRVRfUFJJT1JJVFlfTUlOX01FVEhPRERFRgorI2VuZGlmICAvKiBPU19TQ0hFRF9HRVRfUFJJT1JJVFlfTUlOX01FVEhPRERFRiAqLworCisjaWZuZGVmIE9TX1NDSEVEX0dFVFNDSEVEVUxFUl9NRVRIT0RERUYKKyNkZWZpbmUgT1NfU0NIRURfR0VUU0NIRURVTEVSX01FVEhPRERFRgorI2VuZGlmICAvKiBPU19TQ0hFRF9HRVRTQ0hFRFVMRVJfTUVUSE9EREVGICovCisKKyNpZm5kZWYgT1NfU0NIRURfU0VUU0NIRURVTEVSX01FVEhPRERFRgorI2RlZmluZSBPU19TQ0hFRF9TRVRTQ0hFRFVMRVJfTUVUSE9EREVGCisjZW5kaWYgIC8qIE9TX1NDSEVEX1NFVFNDSEVEVUxFUl9NRVRIT0RERUYgKi8KKworI2lmbmRlZiBPU19TQ0hFRF9HRVRQQVJBTV9NRVRIT0RERUYKKyNkZWZpbmUgT1NfU0NIRURfR0VUUEFSQU1fTUVUSE9EREVGCisjZW5kaWYgIC8qIE9TX1NDSEVEX0dFVFBBUkFNX01FVEhPRERFRiAqLworCisjaWZuZGVmIE9TX1NDSEVEX1NFVFBBUkFNX01FVEhPRERFRgorI2RlZmluZSBPU19TQ0hFRF9TRVRQQVJBTV9NRVRIT0RERUYKKyNlbmRpZiAgLyogT1NfU0NIRURfU0VUUEFSQU1fTUVUSE9EREVGICovCisKKyNpZm5kZWYgT1NfU0NIRURfUlJfR0VUX0lOVEVSVkFMX01FVEhPRERFRgorI2RlZmluZSBPU19TQ0hFRF9SUl9HRVRfSU5URVJWQUxfTUVUSE9EREVGCisjZW5kaWYgIC8qIE9TX1NDSEVEX1JSX0dFVF9JTlRFUlZBTF9NRVRIT0RERUYgKi8KKworI2lmbmRlZiBPU19TQ0hFRF9ZSUVMRF9NRVRIT0RERUYKKyNkZWZpbmUgT1NfU0NIRURfWUlFTERfTUVUSE9EREVGCisjZW5kaWYgIC8qIE9TX1NDSEVEX1lJRUxEX01FVEhPRERFRiAqLworCisjaWZuZGVmIE9TX1NDSEVEX1NFVEFGRklOSVRZX01FVEhPRERFRgorI2RlZmluZSBPU19TQ0hFRF9TRVRBRkZJTklUWV9NRVRIT0RERUYKKyNlbmRpZiAgLyogT1NfU0NIRURfU0VUQUZGSU5JVFlfTUVUSE9EREVGICovCisKKyNpZm5kZWYgT1NfU0NIRURfR0VUQUZGSU5JVFlfTUVUSE9EREVGCisjZGVmaW5lIE9TX1NDSEVEX0dFVEFGRklOSVRZX01FVEhPRERFRgorI2VuZGlmICAvKiBPU19TQ0hFRF9HRVRBRkZJTklUWV9NRVRIT0RERUYgKi8KKworCiAvKiBBSVggdXNlcyAvZGV2L3B0YyBidXQgaXMgb3RoZXJ3aXNlIHRoZSBzYW1lIGFzIC9kZXYvcHRteCAqLwogLyogSVJJWCBoYXMgYm90aCAvZGV2L3B0YyBhbmQgL2Rldi9wdG14LCB1c2UgcHRteCAqLwogI2lmIGRlZmluZWQoSEFWRV9ERVZfUFRDKSAmJiAhZGVmaW5lZChIQVZFX0RFVl9QVE1YKQpAQCAtNTk5NywxMyArODA2MSw0MSBAQAogI2VuZGlmCiAjZW5kaWYgLyogZGVmaW5lZChIQVZFX09QRU5QVFkpIHx8IGRlZmluZWQoSEFWRV9GT1JLUFRZKSB8fCBkZWZpbmVkKEhBVkVfREVWX1BUTVggKi8KIAorCiAjaWYgZGVmaW5lZChIQVZFX09QRU5QVFkpIHx8IGRlZmluZWQoSEFWRV9fR0VUUFRZKSB8fCBkZWZpbmVkKEhBVkVfREVWX1BUTVgpCi1QeURvY19TVFJWQVIocG9zaXhfb3BlbnB0eV9fZG9jX18sCi0ib3BlbnB0eSgpIC0+IChtYXN0ZXJfZmQsIHNsYXZlX2ZkKVxuXG5cCi1PcGVuIGEgcHNldWRvLXRlcm1pbmFsLCByZXR1cm5pbmcgb3BlbiBmZCdzIGZvciBib3RoIG1hc3RlciBhbmQgc2xhdmUgZW5kLlxuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5vcGVucHR5CisKK09wZW4gYSBwc2V1ZG8tdGVybWluYWwuCisKK1JldHVybiBhIHR1cGxlIG9mIChtYXN0ZXJfZmQsIHNsYXZlX2ZkKSBjb250YWluaW5nIG9wZW4gZmlsZSBkZXNjcmlwdG9ycworZm9yIGJvdGggdGhlIG1hc3RlciBhbmQgc2xhdmUgZW5kcy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX29wZW5wdHlfX2RvY19fLAorIm9wZW5wdHkoJG1vZHVsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIk9wZW4gYSBwc2V1ZG8tdGVybWluYWwuXG4iCisiXG4iCisiUmV0dXJuIGEgdHVwbGUgb2YgKG1hc3Rlcl9mZCwgc2xhdmVfZmQpIGNvbnRhaW5pbmcgb3BlbiBmaWxlIGRlc2NyaXB0b3JzXG4iCisiZm9yIGJvdGggdGhlIG1hc3RlciBhbmQgc2xhdmUgZW5kcy4iKTsKKworI2RlZmluZSBPU19PUEVOUFRZX01FVEhPRERFRiAgICBcCisgICAgeyJvcGVucHR5IiwgKFB5Q0Z1bmN0aW9uKW9zX29wZW5wdHksIE1FVEhfTk9BUkdTLCBvc19vcGVucHR5X19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9vcGVucHR5KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqbm9hcmdzKQorb3Nfb3BlbnB0eV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfb3BlbnB0eShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBvc19vcGVucHR5X2ltcGwobW9kdWxlKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX29wZW5wdHlfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWIxMmQzYzE3MzU0Njg0NjQgaW5wdXQ9ZjNkOTlmZDk5ZTc2MjkwN10qLwogewogICAgIGludCBtYXN0ZXJfZmQgPSAtMSwgc2xhdmVfZmQgPSAtMTsKICNpZm5kZWYgSEFWRV9PUEVOUFRZCkBAIC02MDkyLDE1ICs4MTg0LDQ1IEBACiB9CiAjZW5kaWYgLyogZGVmaW5lZChIQVZFX09QRU5QVFkpIHx8IGRlZmluZWQoSEFWRV9fR0VUUFRZKSB8fCBkZWZpbmVkKEhBVkVfREVWX1BUTVgpICovCiAKKwogI2lmZGVmIEhBVkVfRk9SS1BUWQotUHlEb2NfU1RSVkFSKHBvc2l4X2ZvcmtwdHlfX2RvY19fLAotImZvcmtwdHkoKSAtPiAocGlkLCBtYXN0ZXJfZmQpXG5cblwKLUZvcmsgYSBuZXcgcHJvY2VzcyB3aXRoIGEgbmV3IHBzZXVkby10ZXJtaW5hbCBhcyBjb250cm9sbGluZyB0dHkuXG5cblwKLUxpa2UgZm9yaygpLCByZXR1cm4gMCBhcyBwaWQgdG8gY2hpbGQgcHJvY2VzcywgYW5kIFBJRCBvZiBjaGlsZCB0byBwYXJlbnQuXG5cCi1UbyBib3RoLCByZXR1cm4gZmQgb2YgbmV3bHkgb3BlbmVkIHBzZXVkby10ZXJtaW5hbC5cbiIpOworLypbY2xpbmljIGlucHV0XQorb3MuZm9ya3B0eQorCitGb3JrIGEgbmV3IHByb2Nlc3Mgd2l0aCBhIG5ldyBwc2V1ZG8tdGVybWluYWwgYXMgY29udHJvbGxpbmcgdHR5LgorCitSZXR1cm5zIGEgdHVwbGUgb2YgKHBpZCwgbWFzdGVyX2ZkKS4KK0xpa2UgZm9yaygpLCByZXR1cm4gcGlkIG9mIDAgdG8gdGhlIGNoaWxkIHByb2Nlc3MsCithbmQgcGlkIG9mIGNoaWxkIHRvIHRoZSBwYXJlbnQgcHJvY2Vzcy4KK1RvIGJvdGgsIHJldHVybiBmZCBvZiBuZXdseSBvcGVuZWQgcHNldWRvLXRlcm1pbmFsLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfZm9ya3B0eV9fZG9jX18sCisiZm9ya3B0eSgkbW9kdWxlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiRm9yayBhIG5ldyBwcm9jZXNzIHdpdGggYSBuZXcgcHNldWRvLXRlcm1pbmFsIGFzIGNvbnRyb2xsaW5nIHR0eS5cbiIKKyJcbiIKKyJSZXR1cm5zIGEgdHVwbGUgb2YgKHBpZCwgbWFzdGVyX2ZkKS5cbiIKKyJMaWtlIGZvcmsoKSwgcmV0dXJuIHBpZCBvZiAwIHRvIHRoZSBjaGlsZCBwcm9jZXNzLFxuIgorImFuZCBwaWQgb2YgY2hpbGQgdG8gdGhlIHBhcmVudCBwcm9jZXNzLlxuIgorIlRvIGJvdGgsIHJldHVybiBmZCBvZiBuZXdseSBvcGVuZWQgcHNldWRvLXRlcm1pbmFsLiIpOworCisjZGVmaW5lIE9TX0ZPUktQVFlfTUVUSE9EREVGICAgIFwKKyAgICB7ImZvcmtwdHkiLCAoUHlDRnVuY3Rpb24pb3NfZm9ya3B0eSwgTUVUSF9OT0FSR1MsIG9zX2ZvcmtwdHlfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2ZvcmtwdHkoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpub2FyZ3MpCitvc19mb3JrcHR5X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19mb3JrcHR5KFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIG9zX2ZvcmtwdHlfaW1wbChtb2R1bGUpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZm9ya3B0eV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZDRmODI5NThkMmVkNWNhZCBpbnB1dD1mMWY3ZjRiYWUzOTY2MDEwXSovCiB7CiAgICAgaW50IG1hc3Rlcl9mZCA9IC0xLCByZXN1bHQgPSAwOwogICAgIHBpZF90IHBpZDsKQEAgLTYxMjQsNTkgKzgyNDYsMTQ1IEBACiAgICAgfQogICAgIHJldHVybiBQeV9CdWlsZFZhbHVlKCIoTmkpIiwgUHlMb25nX0Zyb21QaWQocGlkKSwgbWFzdGVyX2ZkKTsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIEhBVkVfRk9SS1BUWSAqLwogCiAKICNpZmRlZiBIQVZFX0dFVEVHSUQKLVB5RG9jX1NUUlZBUihwb3NpeF9nZXRlZ2lkX19kb2NfXywKLSJnZXRlZ2lkKCkgLT4gZWdpZFxuXG5cCi1SZXR1cm4gdGhlIGN1cnJlbnQgcHJvY2VzcydzIGVmZmVjdGl2ZSBncm91cCBpZC4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmdldGVnaWQKKworUmV0dXJuIHRoZSBjdXJyZW50IHByb2Nlc3MncyBlZmZlY3RpdmUgZ3JvdXAgaWQuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19nZXRlZ2lkX19kb2NfXywKKyJnZXRlZ2lkKCRtb2R1bGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIGN1cnJlbnQgcHJvY2Vzc1wncyBlZmZlY3RpdmUgZ3JvdXAgaWQuIik7CisKKyNkZWZpbmUgT1NfR0VURUdJRF9NRVRIT0RERUYgICAgXAorICAgIHsiZ2V0ZWdpZCIsIChQeUNGdW5jdGlvbilvc19nZXRlZ2lkLCBNRVRIX05PQVJHUywgb3NfZ2V0ZWdpZF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfZ2V0ZWdpZChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKm5vYXJncykKK29zX2dldGVnaWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2dldGVnaWQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gb3NfZ2V0ZWdpZF9pbXBsKG1vZHVsZSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19nZXRlZ2lkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1mZDEyYzM0NmZhNDFjY2NiIGlucHV0PTE1OTZmNzlhZDExMDdkNWRdKi8KIHsKICAgICByZXR1cm4gX1B5TG9uZ19Gcm9tR2lkKGdldGVnaWQoKSk7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBIQVZFX0dFVEVHSUQgKi8KIAogCiAjaWZkZWYgSEFWRV9HRVRFVUlECi1QeURvY19TVFJWQVIocG9zaXhfZ2V0ZXVpZF9fZG9jX18sCi0iZ2V0ZXVpZCgpIC0+IGV1aWRcblxuXAotUmV0dXJuIHRoZSBjdXJyZW50IHByb2Nlc3MncyBlZmZlY3RpdmUgdXNlciBpZC4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmdldGV1aWQKKworUmV0dXJuIHRoZSBjdXJyZW50IHByb2Nlc3MncyBlZmZlY3RpdmUgdXNlciBpZC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2dldGV1aWRfX2RvY19fLAorImdldGV1aWQoJG1vZHVsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgY3VycmVudCBwcm9jZXNzXCdzIGVmZmVjdGl2ZSB1c2VyIGlkLiIpOworCisjZGVmaW5lIE9TX0dFVEVVSURfTUVUSE9EREVGICAgIFwKKyAgICB7ImdldGV1aWQiLCAoUHlDRnVuY3Rpb24pb3NfZ2V0ZXVpZCwgTUVUSF9OT0FSR1MsIG9zX2dldGV1aWRfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2dldGV1aWQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpub2FyZ3MpCitvc19nZXRldWlkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19nZXRldWlkKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIG9zX2dldGV1aWRfaW1wbChtb2R1bGUpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZ2V0ZXVpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MDNkOThlMDdmNGJjMDNkNCBpbnB1dD00NjQ0YzY2MmQzYmQ5ZjE5XSovCiB7CiAgICAgcmV0dXJuIF9QeUxvbmdfRnJvbVVpZChnZXRldWlkKCkpOwogfQotI2VuZGlmCisjZW5kaWYgLyogSEFWRV9HRVRFVUlEICovCiAKIAogI2lmZGVmIEhBVkVfR0VUR0lECi1QeURvY19TVFJWQVIocG9zaXhfZ2V0Z2lkX19kb2NfXywKLSJnZXRnaWQoKSAtPiBnaWRcblxuXAotUmV0dXJuIHRoZSBjdXJyZW50IHByb2Nlc3MncyBncm91cCBpZC4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmdldGdpZAorCitSZXR1cm4gdGhlIGN1cnJlbnQgcHJvY2VzcydzIGdyb3VwIGlkLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfZ2V0Z2lkX19kb2NfXywKKyJnZXRnaWQoJG1vZHVsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgY3VycmVudCBwcm9jZXNzXCdzIGdyb3VwIGlkLiIpOworCisjZGVmaW5lIE9TX0dFVEdJRF9NRVRIT0RERUYgICAgXAorICAgIHsiZ2V0Z2lkIiwgKFB5Q0Z1bmN0aW9uKW9zX2dldGdpZCwgTUVUSF9OT0FSR1MsIG9zX2dldGdpZF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfZ2V0Z2lkKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqbm9hcmdzKQorb3NfZ2V0Z2lkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19nZXRnaWQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gb3NfZ2V0Z2lkX2ltcGwobW9kdWxlKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2dldGdpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MDdiMDM1NjEyMWI4MDk4ZCBpbnB1dD01ODc5NjM0NGNkODdjMGY2XSovCiB7CiAgICAgcmV0dXJuIF9QeUxvbmdfRnJvbUdpZChnZXRnaWQoKSk7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBIQVZFX0dFVEdJRCAqLwogCiAKLVB5RG9jX1NUUlZBUihwb3NpeF9nZXRwaWRfX2RvY19fLAotImdldHBpZCgpIC0+IHBpZFxuXG5cCi1SZXR1cm4gdGhlIGN1cnJlbnQgcHJvY2VzcyBpZCIpOworLypbY2xpbmljIGlucHV0XQorb3MuZ2V0cGlkCisKK1JldHVybiB0aGUgY3VycmVudCBwcm9jZXNzIGlkLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfZ2V0cGlkX19kb2NfXywKKyJnZXRwaWQoJG1vZHVsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgY3VycmVudCBwcm9jZXNzIGlkLiIpOworCisjZGVmaW5lIE9TX0dFVFBJRF9NRVRIT0RERUYgICAgXAorICAgIHsiZ2V0cGlkIiwgKFB5Q0Z1bmN0aW9uKW9zX2dldHBpZCwgTUVUSF9OT0FSR1MsIG9zX2dldHBpZF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfZ2V0cGlkKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqbm9hcmdzKQorb3NfZ2V0cGlkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19nZXRwaWQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gb3NfZ2V0cGlkX2ltcGwobW9kdWxlKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2dldHBpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZDYzYTAxYTNjZWJjNTczZCBpbnB1dD01YTlhMDBmMGFiNjhhYTAwXSovCiB7CiAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tUGlkKGdldHBpZCgpKTsKIH0KIAogI2lmZGVmIEhBVkVfR0VUR1JPVVBMSVNUCisKKy8qIEFDIDMuNTogZnVubnkgYXBwbGUgbG9naWMgYmVsb3cgKi8KIFB5RG9jX1NUUlZBUihwb3NpeF9nZXRncm91cGxpc3RfX2RvY19fLAogImdldGdyb3VwbGlzdCh1c2VyLCBncm91cCkgLT4gbGlzdCBvZiBncm91cHMgdG8gd2hpY2ggYSB1c2VyIGJlbG9uZ3NcblxuXAogUmV0dXJucyBhIGxpc3Qgb2YgZ3JvdXBzIHRvIHdoaWNoIGEgdXNlciBiZWxvbmdzLlxuXG5cCkBAIC02MjQ5LDE1ICs4NDU3LDM3IEBACiAKICAgICByZXR1cm4gbGlzdDsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIEhBVkVfR0VUR1JPVVBMSVNUICovCisKIAogI2lmZGVmIEhBVkVfR0VUR1JPVVBTCi1QeURvY19TVFJWQVIocG9zaXhfZ2V0Z3JvdXBzX19kb2NfXywKLSJnZXRncm91cHMoKSAtPiBsaXN0IG9mIGdyb3VwIElEc1xuXG5cCi1SZXR1cm4gbGlzdCBvZiBzdXBwbGVtZW50YWwgZ3JvdXAgSURzIGZvciB0aGUgcHJvY2Vzcy4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmdldGdyb3VwcworCitSZXR1cm4gbGlzdCBvZiBzdXBwbGVtZW50YWwgZ3JvdXAgSURzIGZvciB0aGUgcHJvY2Vzcy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2dldGdyb3Vwc19fZG9jX18sCisiZ2V0Z3JvdXBzKCRtb2R1bGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gbGlzdCBvZiBzdXBwbGVtZW50YWwgZ3JvdXAgSURzIGZvciB0aGUgcHJvY2Vzcy4iKTsKKworI2RlZmluZSBPU19HRVRHUk9VUFNfTUVUSE9EREVGICAgIFwKKyAgICB7ImdldGdyb3VwcyIsIChQeUNGdW5jdGlvbilvc19nZXRncm91cHMsIE1FVEhfTk9BUkdTLCBvc19nZXRncm91cHNfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2dldGdyb3VwcyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKm5vYXJncykKK29zX2dldGdyb3Vwc19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZ2V0Z3JvdXBzKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIG9zX2dldGdyb3Vwc19pbXBsKG1vZHVsZSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19nZXRncm91cHNfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWQ5YTM1NTliMmU2ZjRhYjggaW5wdXQ9ZDNmMTA5NDEyZTZhMTU1Y10qLwogewogICAgIFB5T2JqZWN0ICpyZXN1bHQgPSBOVUxMOwogCkBAIC02MzU2LDcgKzg1ODYsNyBAQAogCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIEhBVkVfR0VUR1JPVVBTICovCiAKICNpZmRlZiBIQVZFX0lOSVRHUk9VUFMKIFB5RG9jX1NUUlZBUihwb3NpeF9pbml0Z3JvdXBzX19kb2NfXywKQEAgLTYzNjUsNiArODU5NSw3IEBACiB0aGUgZ3JvdXBzIG9mIHdoaWNoIHRoZSBzcGVjaWZpZWQgdXNlcm5hbWUgaXMgYSBtZW1iZXIsIHBsdXMgdGhlIHNwZWNpZmllZFxuXAogZ3JvdXAgaWQuIik7CiAKKy8qIEFDIDMuNTogZnVubnkgYXBwbGUgbG9naWMgKi8KIHN0YXRpYyBQeU9iamVjdCAqCiBwb3NpeF9pbml0Z3JvdXBzKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKQEAgLTYzOTcsMjAgKzg2MjgsNTIgQEAKICAgICBQeV9JTkNSRUYoUHlfTm9uZSk7CiAgICAgcmV0dXJuIFB5X05vbmU7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBIQVZFX0lOSVRHUk9VUFMgKi8KKwogCiAjaWZkZWYgSEFWRV9HRVRQR0lECi1QeURvY19TVFJWQVIocG9zaXhfZ2V0cGdpZF9fZG9jX18sCi0iZ2V0cGdpZChwaWQpIC0+IHBnaWRcblxuXAotQ2FsbCB0aGUgc3lzdGVtIGNhbGwgZ2V0cGdpZCgpLiIpOworLypbY2xpbmljIGlucHV0XQorb3MuZ2V0cGdpZAorCisgICAgcGlkOiBwaWRfdAorCitDYWxsIHRoZSBzeXN0ZW0gY2FsbCBnZXRwZ2lkKCksIGFuZCByZXR1cm4gdGhlIHJlc3VsdC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2dldHBnaWRfX2RvY19fLAorImdldHBnaWQoJG1vZHVsZSwgLywgcGlkKVxuIgorIi0tXG4iCisiXG4iCisiQ2FsbCB0aGUgc3lzdGVtIGNhbGwgZ2V0cGdpZCgpLCBhbmQgcmV0dXJuIHRoZSByZXN1bHQuIik7CisKKyNkZWZpbmUgT1NfR0VUUEdJRF9NRVRIT0RERUYgICAgXAorICAgIHsiZ2V0cGdpZCIsIChQeUNGdW5jdGlvbilvc19nZXRwZ2lkLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfZ2V0cGdpZF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfZ2V0cGdpZChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19nZXRwZ2lkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGlkX3QgcGlkKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2dldHBnaWQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgcGlkX3QgcGlkLCBwZ2lkOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCBfUHlfUEFSU0VfUElEICI6Z2V0cGdpZCIsICZwaWQpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBwZ2lkID0gZ2V0cGdpZChwaWQpOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsicGlkIiwgTlVMTH07CisgICAgcGlkX3QgcGlkOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiIiBfUHlfUEFSU0VfUElEICI6Z2V0cGdpZCIsIF9rZXl3b3JkcywKKyAgICAgICAgJnBpZCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19nZXRwZ2lkX2ltcGwobW9kdWxlLCBwaWQpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19nZXRwZ2lkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGlkX3QgcGlkKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTNkYjRlZDY4NjE3OTE2MGQgaW5wdXQ9MzlkNzEwYWUzYmFhZjFjN10qLworeworICAgIHBpZF90IHBnaWQgPSBnZXRwZ2lkKHBpZCk7CiAgICAgaWYgKHBnaWQgPCAwKQogICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKICAgICByZXR1cm4gUHlMb25nX0Zyb21QaWQocGdpZCk7CkBAIC02NDE5LDEyICs4NjgyLDMzIEBACiAKIAogI2lmZGVmIEhBVkVfR0VUUEdSUAotUHlEb2NfU1RSVkFSKHBvc2l4X2dldHBncnBfX2RvY19fLAotImdldHBncnAoKSAtPiBwZ3JwXG5cblwKLVJldHVybiB0aGUgY3VycmVudCBwcm9jZXNzIGdyb3VwIGlkLiIpOworLypbY2xpbmljIGlucHV0XQorb3MuZ2V0cGdycAorCitSZXR1cm4gdGhlIGN1cnJlbnQgcHJvY2VzcyBncm91cCBpZC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2dldHBncnBfX2RvY19fLAorImdldHBncnAoJG1vZHVsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgY3VycmVudCBwcm9jZXNzIGdyb3VwIGlkLiIpOworCisjZGVmaW5lIE9TX0dFVFBHUlBfTUVUSE9EREVGICAgIFwKKyAgICB7ImdldHBncnAiLCAoUHlDRnVuY3Rpb24pb3NfZ2V0cGdycCwgTUVUSF9OT0FSR1MsIG9zX2dldHBncnBfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2dldHBncnAoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpub2FyZ3MpCitvc19nZXRwZ3JwX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19nZXRwZ3JwKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIG9zX2dldHBncnBfaW1wbChtb2R1bGUpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZ2V0cGdycF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9M2IwZDM2NjNlYTA1NDI3NyBpbnB1dD02ODQ2ZmIyYmI5YTM3MDVlXSovCiB7CiAjaWZkZWYgR0VUUEdSUF9IQVZFX0FSRwogICAgIHJldHVybiBQeUxvbmdfRnJvbVBpZChnZXRwZ3JwKDApKTsKQEAgLTY0MzYsMTIgKzg3MjAsMzMgQEAKIAogCiAjaWZkZWYgSEFWRV9TRVRQR1JQCi1QeURvY19TVFJWQVIocG9zaXhfc2V0cGdycF9fZG9jX18sCi0ic2V0cGdycCgpXG5cblwKLU1ha2UgdGhpcyBwcm9jZXNzIHRoZSBwcm9jZXNzIGdyb3VwIGxlYWRlci4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnNldHBncnAKKworTWFrZSB0aGUgY3VycmVudCBwcm9jZXNzIHRoZSBsZWFkZXIgb2YgaXRzIHByb2Nlc3MgZ3JvdXAuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19zZXRwZ3JwX19kb2NfXywKKyJzZXRwZ3JwKCRtb2R1bGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJNYWtlIHRoZSBjdXJyZW50IHByb2Nlc3MgdGhlIGxlYWRlciBvZiBpdHMgcHJvY2VzcyBncm91cC4iKTsKKworI2RlZmluZSBPU19TRVRQR1JQX01FVEhPRERFRiAgICBcCisgICAgeyJzZXRwZ3JwIiwgKFB5Q0Z1bmN0aW9uKW9zX3NldHBncnAsIE1FVEhfTk9BUkdTLCBvc19zZXRwZ3JwX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9zZXRwZ3JwKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqbm9hcmdzKQorb3Nfc2V0cGdycF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2V0cGdycChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBvc19zZXRwZ3JwX2ltcGwobW9kdWxlKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NldHBncnBfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PThmYmIwZWUyOWVmNmZiMmQgaW5wdXQ9MWYwNjE5ZmNiNTczMWU3ZV0qLwogewogI2lmZGVmIFNFVFBHUlBfSEFWRV9BUkcKICAgICBpZiAoc2V0cGdycCgwLCAwKSA8IDApCkBAIC02NDUyLDcgKzg3NTcsNiBAQAogICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKICAgICByZXR1cm4gUHlfTm9uZTsKIH0KLQogI2VuZGlmIC8qIEhBVkVfU0VUUEdSUCAqLwogCiAjaWZkZWYgSEFWRV9HRVRQUElECkBAIC02NDk5LDE0ICs4ODAzLDQwIEBACiB9CiAjZW5kaWYgLypNU19XSU5ET1dTKi8KIAotUHlEb2NfU1RSVkFSKHBvc2l4X2dldHBwaWRfX2RvY19fLAotImdldHBwaWQoKSAtPiBwcGlkXG5cblwKLVJldHVybiB0aGUgcGFyZW50J3MgcHJvY2VzcyBpZC4gIElmIHRoZSBwYXJlbnQgcHJvY2VzcyBoYXMgYWxyZWFkeSBleGl0ZWQsXG5cCi1XaW5kb3dzIG1hY2hpbmVzIHdpbGwgc3RpbGwgcmV0dXJuIGl0cyBpZDsgb3RoZXJzIHN5c3RlbXMgd2lsbCByZXR1cm4gdGhlIGlkXG5cCi1vZiB0aGUgJ2luaXQnIHByb2Nlc3MgKDEpLiIpOworCisvKltjbGluaWMgaW5wdXRdCitvcy5nZXRwcGlkCisKK1JldHVybiB0aGUgcGFyZW50J3MgcHJvY2VzcyBpZC4KKworSWYgdGhlIHBhcmVudCBwcm9jZXNzIGhhcyBhbHJlYWR5IGV4aXRlZCwgV2luZG93cyBtYWNoaW5lcyB3aWxsIHN0aWxsCityZXR1cm4gaXRzIGlkOyBvdGhlcnMgc3lzdGVtcyB3aWxsIHJldHVybiB0aGUgaWQgb2YgdGhlICdpbml0JyBwcm9jZXNzICgxKS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2dldHBwaWRfX2RvY19fLAorImdldHBwaWQoJG1vZHVsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgcGFyZW50XCdzIHByb2Nlc3MgaWQuXG4iCisiXG4iCisiSWYgdGhlIHBhcmVudCBwcm9jZXNzIGhhcyBhbHJlYWR5IGV4aXRlZCwgV2luZG93cyBtYWNoaW5lcyB3aWxsIHN0aWxsXG4iCisicmV0dXJuIGl0cyBpZDsgb3RoZXJzIHN5c3RlbXMgd2lsbCByZXR1cm4gdGhlIGlkIG9mIHRoZSBcJ2luaXRcJyBwcm9jZXNzICgxKS4iKTsKKworI2RlZmluZSBPU19HRVRQUElEX01FVEhPRERFRiAgICBcCisgICAgeyJnZXRwcGlkIiwgKFB5Q0Z1bmN0aW9uKW9zX2dldHBwaWQsIE1FVEhfTk9BUkdTLCBvc19nZXRwcGlkX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9nZXRwcGlkKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqbm9hcmdzKQorb3NfZ2V0cHBpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZ2V0cHBpZChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBvc19nZXRwcGlkX2ltcGwobW9kdWxlKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2dldHBwaWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTlmZjNiMzg3NzgxZWRmM2EgaW5wdXQ9ZTYzN2NiODc1MzljMDMwZV0qLwogewogI2lmZGVmIE1TX1dJTkRPV1MKICAgICByZXR1cm4gd2luMzJfZ2V0cHBpZCgpOwpAQCAtNjUxOCwxMiArODg0OCwzMyBAQAogCiAKICNpZmRlZiBIQVZFX0dFVExPR0lOCi1QeURvY19TVFJWQVIocG9zaXhfZ2V0bG9naW5fX2RvY19fLAotImdldGxvZ2luKCkgLT4gc3RyaW5nXG5cblwKLVJldHVybiB0aGUgYWN0dWFsIGxvZ2luIG5hbWUuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5nZXRsb2dpbgorCitSZXR1cm4gdGhlIGFjdHVhbCBsb2dpbiBuYW1lLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfZ2V0bG9naW5fX2RvY19fLAorImdldGxvZ2luKCRtb2R1bGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIGFjdHVhbCBsb2dpbiBuYW1lLiIpOworCisjZGVmaW5lIE9TX0dFVExPR0lOX01FVEhPRERFRiAgICBcCisgICAgeyJnZXRsb2dpbiIsIChQeUNGdW5jdGlvbilvc19nZXRsb2dpbiwgTUVUSF9OT0FSR1MsIG9zX2dldGxvZ2luX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9nZXRsb2dpbihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKm5vYXJncykKK29zX2dldGxvZ2luX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19nZXRsb2dpbihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBvc19nZXRsb2dpbl9pbXBsKG1vZHVsZSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19nZXRsb2dpbl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YWI2MjExZGFiMTA0Y2JiMiBpbnB1dD0yYTIxYWIxZTkxNzE2M2RmXSovCiB7CiAgICAgUHlPYmplY3QgKnJlc3VsdCA9IE5VTEw7CiAjaWZkZWYgTVNfV0lORE9XUwpAQCAtNjU1Niw3NyArODkwNywxMDEgQEAKIH0KICNlbmRpZiAvKiBIQVZFX0dFVExPR0lOICovCiAKKwogI2lmZGVmIEhBVkVfR0VUVUlECi1QeURvY19TVFJWQVIocG9zaXhfZ2V0dWlkX19kb2NfXywKLSJnZXR1aWQoKSAtPiB1aWRcblxuXAotUmV0dXJuIHRoZSBjdXJyZW50IHByb2Nlc3MncyB1c2VyIGlkLiIpOworLypbY2xpbmljIGlucHV0XQorb3MuZ2V0dWlkCisKK1JldHVybiB0aGUgY3VycmVudCBwcm9jZXNzJ3MgdXNlciBpZC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2dldHVpZF9fZG9jX18sCisiZ2V0dWlkKCRtb2R1bGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIGN1cnJlbnQgcHJvY2Vzc1wncyB1c2VyIGlkLiIpOworCisjZGVmaW5lIE9TX0dFVFVJRF9NRVRIT0RERUYgICAgXAorICAgIHsiZ2V0dWlkIiwgKFB5Q0Z1bmN0aW9uKW9zX2dldHVpZCwgTUVUSF9OT0FSR1MsIG9zX2dldHVpZF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfZ2V0dWlkKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqbm9hcmdzKQorb3NfZ2V0dWlkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19nZXR1aWQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gb3NfZ2V0dWlkX2ltcGwobW9kdWxlKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2dldHVpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NzdlMGRjZjJlMzdkMWU4OSBpbnB1dD1iNTNjOGIzNWYxMTBhNTE2XSovCiB7CiAgICAgcmV0dXJuIF9QeUxvbmdfRnJvbVVpZChnZXR1aWQoKSk7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBIQVZFX0dFVFVJRCAqLwogCiAKLSNpZmRlZiBIQVZFX0tJTEwKLVB5RG9jX1NUUlZBUihwb3NpeF9raWxsX19kb2NfXywKLSJraWxsKHBpZCwgc2lnKVxuXG5cCi1LaWxsIGEgcHJvY2VzcyB3aXRoIGEgc2lnbmFsLiIpOwotCi1zdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfa2lsbChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCi17Ci0gICAgcGlkX3QgcGlkOwotICAgIGludCBzaWc7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIF9QeV9QQVJTRV9QSUQgImk6a2lsbCIsICZwaWQsICZzaWcpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBpZiAoa2lsbChwaWQsIHNpZykgPT0gLTEpCi0gICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwotICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKLSAgICByZXR1cm4gUHlfTm9uZTsKLX0KLSNlbmRpZgotCi0jaWZkZWYgSEFWRV9LSUxMUEcKLVB5RG9jX1NUUlZBUihwb3NpeF9raWxscGdfX2RvY19fLAotImtpbGxwZyhwZ2lkLCBzaWcpXG5cblwKLUtpbGwgYSBwcm9jZXNzIGdyb3VwIHdpdGggYSBzaWduYWwuIik7Ci0KLXN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9raWxscGcoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQotewotICAgIGludCBzaWc7Ci0gICAgcGlkX3QgcGdpZDsKLSAgICAvKiBYWFggc29tZSBtYW4gcGFnZXMgbWFrZSB0aGUgYHBnaWRgIHBhcmFtZXRlciBhbiBpbnQsIG90aGVycwotICAgICAgIGEgcGlkX3QuIFNpbmNlIGdldHBncnAoKSByZXR1cm5zIGEgcGlkX3QsIHdlIGFzc3VtZSBraWxscGcgc2hvdWxkCi0gICAgICAgdGFrZSB0aGUgc2FtZSB0eXBlLiBNb3Jlb3ZlciwgcGlkX3QgaXMgYWx3YXlzIGF0IGxlYXN0IGFzIHdpZGUgYXMKLSAgICAgICBpbnQgKGVsc2UgY29tcGlsYXRpb24gb2YgdGhpcyBtb2R1bGUgZmFpbHMpLCB3aGljaCBpcyBzYWZlLiAqLwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCBfUHlfUEFSU0VfUElEICJpOmtpbGxwZyIsICZwZ2lkLCAmc2lnKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgaWYgKGtpbGxwZyhwZ2lkLCBzaWcpID09IC0xKQotICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKLSAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0gICAgcmV0dXJuIFB5X05vbmU7Ci19Ci0jZW5kaWYKLQogI2lmZGVmIE1TX1dJTkRPV1MKLVB5RG9jX1NUUlZBUih3aW4zMl9raWxsX19kb2NfXywKLSJraWxsKHBpZCwgc2lnKVxuXG5cCi1LaWxsIGEgcHJvY2VzcyB3aXRoIGEgc2lnbmFsLiIpOworI2RlZmluZSBIQVZFX0tJTEwKKyNlbmRpZiAvKiBNU19XSU5ET1dTICovCisKKyNpZmRlZiBIQVZFX0tJTEwKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmtpbGwKKworICAgIHBpZDogcGlkX3QKKyAgICBzaWduYWw6IFB5X3NzaXplX3QKKyAgICAvCisKK0tpbGwgYSBwcm9jZXNzIHdpdGggYSBzaWduYWwuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19raWxsX19kb2NfXywKKyJraWxsKCRtb2R1bGUsIHBpZCwgc2lnbmFsLCAvKVxuIgorIi0tXG4iCisiXG4iCisiS2lsbCBhIHByb2Nlc3Mgd2l0aCBhIHNpZ25hbC4iKTsKKworI2RlZmluZSBPU19LSUxMX01FVEhPRERFRiAgICBcCisgICAgeyJraWxsIiwgKFB5Q0Z1bmN0aW9uKW9zX2tpbGwsIE1FVEhfVkFSQVJHUywgb3Nfa2lsbF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotd2luMzJfa2lsbChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19raWxsX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGlkX3QgcGlkLCBQeV9zc2l6ZV90IHNpZ25hbCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19raWxsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHBpZF90IHBpZDsKKyAgICBQeV9zc2l6ZV90IHNpZ25hbDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiIiBfUHlfUEFSU0VfUElEICJuOmtpbGwiLAorICAgICAgICAmcGlkLCAmc2lnbmFsKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX2tpbGxfaW1wbChtb2R1bGUsIHBpZCwgc2lnbmFsKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfa2lsbF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBpZF90IHBpZCwgUHlfc3NpemVfdCBzaWduYWwpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MmY1Yzc3OTIwZWQ1NzVlNiBpbnB1dD02MWEzNmI4NmNhMjc1YWI5XSovCisjaWZuZGVmIE1TX1dJTkRPV1MKK3sKKyAgICBpZiAoa2lsbChwaWQsIChpbnQpc2lnbmFsKSA9PSAtMSkKKyAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CisgICAgUHlfUkVUVVJOX05PTkU7Cit9CisjZWxzZSAvKiAhTVNfV0lORE9XUyAqLwogewogICAgIFB5T2JqZWN0ICpyZXN1bHQ7Ci0gICAgcGlkX3QgcGlkOwotICAgIERXT1JEIHNpZywgZXJyOworICAgIERXT1JEIHNpZyA9IChEV09SRClzaWduYWw7CisgICAgRFdPUkQgZXJyOwogICAgIEhBTkRMRSBoYW5kbGU7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgX1B5X1BBUlNFX1BJRCAiazpraWxsIiwgJnBpZCwgJnNpZykpCi0gICAgICAgIHJldHVybiBOVUxMOwotCiAgICAgLyogQ29uc29sZSBwcm9jZXNzZXMgd2hpY2ggc2hhcmUgYSBjb21tb24gY29uc29sZSBjYW4gYmUgc2VudCBDVFJMK0Mgb3IKICAgICAgICBDVFJMK0JSRUFLIGV2ZW50cywgcHJvdmlkZWQgdGhleSBoYW5kbGUgc2FpZCBldmVudHMuICovCiAgICAgaWYgKHNpZyA9PSBDVFJMX0NfRVZFTlQgfHwgc2lnID09IENUUkxfQlJFQUtfRVZFTlQpIHsKQEAgLTY2NTcsMTAzICs5MDMyLDMwOCBAQAogICAgIENsb3NlSGFuZGxlKGhhbmRsZSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLSNlbmRpZiAvKiBNU19XSU5ET1dTICovCisjZW5kaWYgLyogIU1TX1dJTkRPV1MgKi8KKyNlbmRpZiAvKiBIQVZFX0tJTEwgKi8KKworCisjaWZkZWYgSEFWRV9LSUxMUEcKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmtpbGxwZworCisgICAgcGdpZDogcGlkX3QKKyAgICBzaWduYWw6IGludAorICAgIC8KKworS2lsbCBhIHByb2Nlc3MgZ3JvdXAgd2l0aCBhIHNpZ25hbC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2tpbGxwZ19fZG9jX18sCisia2lsbHBnKCRtb2R1bGUsIHBnaWQsIHNpZ25hbCwgLylcbiIKKyItLVxuIgorIlxuIgorIktpbGwgYSBwcm9jZXNzIGdyb3VwIHdpdGggYSBzaWduYWwuIik7CisKKyNkZWZpbmUgT1NfS0lMTFBHX01FVEhPRERFRiAgICBcCisgICAgeyJraWxscGciLCAoUHlDRnVuY3Rpb24pb3Nfa2lsbHBnLCBNRVRIX1ZBUkFSR1MsIG9zX2tpbGxwZ19fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfa2lsbHBnX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGlkX3QgcGdpZCwgaW50IHNpZ25hbCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19raWxscGcoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgcGlkX3QgcGdpZDsKKyAgICBpbnQgc2lnbmFsOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICIiIF9QeV9QQVJTRV9QSUQgImk6a2lsbHBnIiwKKyAgICAgICAgJnBnaWQsICZzaWduYWwpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3Nfa2lsbHBnX2ltcGwobW9kdWxlLCBwZ2lkLCBzaWduYWwpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19raWxscGdfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwaWRfdCBwZ2lkLCBpbnQgc2lnbmFsKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTBlMDUyMTVkMWMwMDdlMDEgaW5wdXQ9MzhiNTQ0OWViOGZhZWMxOV0qLworeworICAgIC8qIFhYWCBzb21lIG1hbiBwYWdlcyBtYWtlIHRoZSBgcGdpZGAgcGFyYW1ldGVyIGFuIGludCwgb3RoZXJzCisgICAgICAgYSBwaWRfdC4gU2luY2UgZ2V0cGdycCgpIHJldHVybnMgYSBwaWRfdCwgd2UgYXNzdW1lIGtpbGxwZyBzaG91bGQKKyAgICAgICB0YWtlIHRoZSBzYW1lIHR5cGUuIE1vcmVvdmVyLCBwaWRfdCBpcyBhbHdheXMgYXQgbGVhc3QgYXMgd2lkZSBhcworICAgICAgIGludCAoZWxzZSBjb21waWxhdGlvbiBvZiB0aGlzIG1vZHVsZSBmYWlscyksIHdoaWNoIGlzIHNhZmUuICovCisgICAgaWYgKGtpbGxwZyhwZ2lkLCBzaWduYWwpID09IC0xKQorICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKKyAgICBQeV9SRVRVUk5fTk9ORTsKK30KKyNlbmRpZiAvKiBIQVZFX0tJTExQRyAqLworCiAKICNpZmRlZiBIQVZFX1BMT0NLCi0KICNpZmRlZiBIQVZFX1NZU19MT0NLX0gKICNpbmNsdWRlIDxzeXMvbG9jay5oPgogI2VuZGlmCiAKLVB5RG9jX1NUUlZBUihwb3NpeF9wbG9ja19fZG9jX18sCi0icGxvY2sob3ApXG5cblwKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnBsb2NrCisgICAgb3A6IGludAorICAgIC8KKwogTG9jayBwcm9ncmFtIHNlZ21lbnRzIGludG8gbWVtb3J5LiIpOworW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfcGxvY2tfX2RvY19fLAorInBsb2NrKCRtb2R1bGUsIG9wLCAvKVxuIgorIi0tXG4iCisiXG4iCisiTG9jayBwcm9ncmFtIHNlZ21lbnRzIGludG8gbWVtb3J5LlwiKTsiKTsKKworI2RlZmluZSBPU19QTE9DS19NRVRIT0RERUYgICAgXAorICAgIHsicGxvY2siLCAoUHlDRnVuY3Rpb24pb3NfcGxvY2ssIE1FVEhfVkFSQVJHUywgb3NfcGxvY2tfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3Bsb2NrKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX3Bsb2NrX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IG9wKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3Bsb2NrKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogeworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwogICAgIGludCBvcDsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImk6cGxvY2siLCAmb3ApKQotICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiaTpwbG9jayIsCisgICAgICAgICZvcCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19wbG9ja19pbXBsKG1vZHVsZSwgb3ApOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19wbG9ja19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBvcCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0yNzQ0ZmU0YjZlNWY0ZGJjIGlucHV0PWU2ZTVlMzQ4ZTE1MjVmNjBdKi8KK3sKICAgICBpZiAocGxvY2sob3ApID09IC0xKQogICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKLSAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0gICAgcmV0dXJuIFB5X05vbmU7CisgICAgUHlfUkVUVVJOX05PTkU7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBIQVZFX1BMT0NLICovCisKIAogI2lmZGVmIEhBVkVfU0VUVUlECi1QeURvY19TVFJWQVIocG9zaXhfc2V0dWlkX19kb2NfXywKLSJzZXR1aWQodWlkKVxuXG5cCi1TZXQgdGhlIGN1cnJlbnQgcHJvY2VzcydzIHVzZXIgaWQuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5zZXR1aWQKKworICAgIHVpZDogdWlkX3QKKyAgICAvCisKK1NldCB0aGUgY3VycmVudCBwcm9jZXNzJ3MgdXNlciBpZC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3NldHVpZF9fZG9jX18sCisic2V0dWlkKCRtb2R1bGUsIHVpZCwgLylcbiIKKyItLVxuIgorIlxuIgorIlNldCB0aGUgY3VycmVudCBwcm9jZXNzXCdzIHVzZXIgaWQuIik7CisKKyNkZWZpbmUgT1NfU0VUVUlEX01FVEhPRERFRiAgICBcCisgICAgeyJzZXR1aWQiLCAoUHlDRnVuY3Rpb24pb3Nfc2V0dWlkLCBNRVRIX1ZBUkFSR1MsIG9zX3NldHVpZF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfc2V0dWlkKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX3NldHVpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHVpZF90IHVpZCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zZXR1aWQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CiAgICAgdWlkX3QgdWlkOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTyY6c2V0dWlkIiwgX1B5X1VpZF9Db252ZXJ0ZXIsICZ1aWQpKQotICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiTyY6c2V0dWlkIiwKKyAgICAgICAgX1B5X1VpZF9Db252ZXJ0ZXIsICZ1aWQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3Nfc2V0dWlkX2ltcGwobW9kdWxlLCB1aWQpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zZXR1aWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCB1aWRfdCB1aWQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YWVhMzQ0YmMyMmNjZjQwMCBpbnB1dD1jOTIxYTMyODVhYTIyMjU2XSovCit7CiAgICAgaWYgKHNldHVpZCh1aWQpIDwgMCkKICAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7Ci0gICAgUHlfSU5DUkVGKFB5X05vbmUpOwotICAgIHJldHVybiBQeV9Ob25lOworICAgIFB5X1JFVFVSTl9OT05FOwogfQogI2VuZGlmIC8qIEhBVkVfU0VUVUlEICovCiAKIAogI2lmZGVmIEhBVkVfU0VURVVJRAotUHlEb2NfU1RSVkFSKHBvc2l4X3NldGV1aWRfX2RvY19fLAotInNldGV1aWQodWlkKVxuXG5cCi1TZXQgdGhlIGN1cnJlbnQgcHJvY2VzcydzIGVmZmVjdGl2ZSB1c2VyIGlkLiIpOworLypbY2xpbmljIGlucHV0XQorb3Muc2V0ZXVpZAorCisgICAgZXVpZDogdWlkX3QKKyAgICAvCisKK1NldCB0aGUgY3VycmVudCBwcm9jZXNzJ3MgZWZmZWN0aXZlIHVzZXIgaWQuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19zZXRldWlkX19kb2NfXywKKyJzZXRldWlkKCRtb2R1bGUsIGV1aWQsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJTZXQgdGhlIGN1cnJlbnQgcHJvY2Vzc1wncyBlZmZlY3RpdmUgdXNlciBpZC4iKTsKKworI2RlZmluZSBPU19TRVRFVUlEX01FVEhPRERFRiAgICBcCisgICAgeyJzZXRldWlkIiwgKFB5Q0Z1bmN0aW9uKW9zX3NldGV1aWQsIE1FVEhfVkFSQVJHUywgb3Nfc2V0ZXVpZF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfc2V0ZXVpZCAoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3Nfc2V0ZXVpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHVpZF90IGV1aWQpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2V0ZXVpZChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKICAgICB1aWRfdCBldWlkOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTyY6c2V0ZXVpZCIsIF9QeV9VaWRfQ29udmVydGVyLCAmZXVpZCkpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIGlmIChzZXRldWlkKGV1aWQpIDwgMCkgeworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJPJjpzZXRldWlkIiwKKyAgICAgICAgX1B5X1VpZF9Db252ZXJ0ZXIsICZldWlkKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3NldGV1aWRfaW1wbChtb2R1bGUsIGV1aWQpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zZXRldWlkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgdWlkX3QgZXVpZCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD02ZTgyNGNjZTRmM2I4YTVkIGlucHV0PWJhOTNkOTI3ZTQ3ODFhYTldKi8KK3sKKyAgICBpZiAoc2V0ZXVpZChldWlkKSA8IDApCiAgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKLSAgICAgICAgcmV0dXJuIFB5X05vbmU7Ci0gICAgfQorICAgIFB5X1JFVFVSTl9OT05FOwogfQogI2VuZGlmIC8qIEhBVkVfU0VURVVJRCAqLwogCisKICNpZmRlZiBIQVZFX1NFVEVHSUQKLVB5RG9jX1NUUlZBUihwb3NpeF9zZXRlZ2lkX19kb2NfXywKLSJzZXRlZ2lkKGdpZClcblxuXAotU2V0IHRoZSBjdXJyZW50IHByb2Nlc3MncyBlZmZlY3RpdmUgZ3JvdXAgaWQuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5zZXRlZ2lkCisKKyAgICBlZ2lkOiBnaWRfdAorICAgIC8KKworU2V0IHRoZSBjdXJyZW50IHByb2Nlc3MncyBlZmZlY3RpdmUgZ3JvdXAgaWQuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19zZXRlZ2lkX19kb2NfXywKKyJzZXRlZ2lkKCRtb2R1bGUsIGVnaWQsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJTZXQgdGhlIGN1cnJlbnQgcHJvY2Vzc1wncyBlZmZlY3RpdmUgZ3JvdXAgaWQuIik7CisKKyNkZWZpbmUgT1NfU0VURUdJRF9NRVRIT0RERUYgICAgXAorICAgIHsic2V0ZWdpZCIsIChQeUNGdW5jdGlvbilvc19zZXRlZ2lkLCBNRVRIX1ZBUkFSR1MsIG9zX3NldGVnaWRfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3NldGVnaWQgKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX3NldGVnaWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBnaWRfdCBlZ2lkKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NldGVnaWQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CiAgICAgZ2lkX3QgZWdpZDsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk8mOnNldGVnaWQiLCBfUHlfR2lkX0NvbnZlcnRlciwgJmVnaWQpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBpZiAoc2V0ZWdpZChlZ2lkKSA8IDApIHsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiTyY6c2V0ZWdpZCIsCisgICAgICAgIF9QeV9HaWRfQ29udmVydGVyLCAmZWdpZCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19zZXRlZ2lkX2ltcGwobW9kdWxlLCBlZ2lkKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2V0ZWdpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGdpZF90IGVnaWQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ODBhMzIyNjNhNGQ1NmE5YyBpbnB1dD00MDgwNTI2ZDBjY2Q2Y2UzXSovCit7CisgICAgaWYgKHNldGVnaWQoZWdpZCkgPCAwKQogICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKLSAgICB9IGVsc2UgewotICAgICAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0gICAgICAgIHJldHVybiBQeV9Ob25lOwotICAgIH0KKyAgICBQeV9SRVRVUk5fTk9ORTsKIH0KICNlbmRpZiAvKiBIQVZFX1NFVEVHSUQgKi8KIAorCiAjaWZkZWYgSEFWRV9TRVRSRVVJRAotUHlEb2NfU1RSVkFSKHBvc2l4X3NldHJldWlkX19kb2NfXywKLSJzZXRyZXVpZChydWlkLCBldWlkKVxuXG5cCi1TZXQgdGhlIGN1cnJlbnQgcHJvY2VzcydzIHJlYWwgYW5kIGVmZmVjdGl2ZSB1c2VyIGlkcy4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnNldHJldWlkCisKKyAgICBydWlkOiB1aWRfdAorICAgIGV1aWQ6IHVpZF90CisgICAgLworCitTZXQgdGhlIGN1cnJlbnQgcHJvY2VzcydzIHJlYWwgYW5kIGVmZmVjdGl2ZSB1c2VyIGlkcy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3NldHJldWlkX19kb2NfXywKKyJzZXRyZXVpZCgkbW9kdWxlLCBydWlkLCBldWlkLCAvKVxuIgorIi0tXG4iCisiXG4iCisiU2V0IHRoZSBjdXJyZW50IHByb2Nlc3NcJ3MgcmVhbCBhbmQgZWZmZWN0aXZlIHVzZXIgaWRzLiIpOworCisjZGVmaW5lIE9TX1NFVFJFVUlEX01FVEhPRERFRiAgICBcCisgICAgeyJzZXRyZXVpZCIsIChQeUNGdW5jdGlvbilvc19zZXRyZXVpZCwgTUVUSF9WQVJBUkdTLCBvc19zZXRyZXVpZF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfc2V0cmV1aWQgKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX3NldHJldWlkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgdWlkX3QgcnVpZCwgdWlkX3QgZXVpZCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zZXRyZXVpZChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICB1aWRfdCBydWlkLCBldWlkOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTyZPJjpzZXRyZXVpZCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIF9QeV9VaWRfQ29udmVydGVyLCAmcnVpZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgX1B5X1VpZF9Db252ZXJ0ZXIsICZldWlkKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgdWlkX3QgcnVpZDsKKyAgICB1aWRfdCBldWlkOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJPJk8mOnNldHJldWlkIiwKKyAgICAgICAgX1B5X1VpZF9Db252ZXJ0ZXIsICZydWlkLCBfUHlfVWlkX0NvbnZlcnRlciwgJmV1aWQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3Nfc2V0cmV1aWRfaW1wbChtb2R1bGUsIHJ1aWQsIGV1aWQpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zZXRyZXVpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHVpZF90IHJ1aWQsIHVpZF90IGV1aWQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZDdmMjI2Zjk0M2RhZDczOSBpbnB1dD0wY2E4OTc4ZGU2NjM4ODBjXSovCit7CiAgICAgaWYgKHNldHJldWlkKHJ1aWQsIGV1aWQpIDwgMCkgewogICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKICAgICB9IGVsc2UgewpAQCAtNjc2Myw1MyArOTM0MywxMjggQEAKIH0KICNlbmRpZiAvKiBIQVZFX1NFVFJFVUlEICovCiAKKwogI2lmZGVmIEhBVkVfU0VUUkVHSUQKLVB5RG9jX1NUUlZBUihwb3NpeF9zZXRyZWdpZF9fZG9jX18sCi0ic2V0cmVnaWQocmdpZCwgZWdpZClcblxuXAotU2V0IHRoZSBjdXJyZW50IHByb2Nlc3MncyByZWFsIGFuZCBlZmZlY3RpdmUgZ3JvdXAgaWRzLiIpOworLypbY2xpbmljIGlucHV0XQorb3Muc2V0cmVnaWQKKworICAgIHJnaWQ6IGdpZF90CisgICAgZWdpZDogZ2lkX3QKKyAgICAvCisKK1NldCB0aGUgY3VycmVudCBwcm9jZXNzJ3MgcmVhbCBhbmQgZWZmZWN0aXZlIGdyb3VwIGlkcy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3NldHJlZ2lkX19kb2NfXywKKyJzZXRyZWdpZCgkbW9kdWxlLCByZ2lkLCBlZ2lkLCAvKVxuIgorIi0tXG4iCisiXG4iCisiU2V0IHRoZSBjdXJyZW50IHByb2Nlc3NcJ3MgcmVhbCBhbmQgZWZmZWN0aXZlIGdyb3VwIGlkcy4iKTsKKworI2RlZmluZSBPU19TRVRSRUdJRF9NRVRIT0RERUYgICAgXAorICAgIHsic2V0cmVnaWQiLCAoUHlDRnVuY3Rpb24pb3Nfc2V0cmVnaWQsIE1FVEhfVkFSQVJHUywgb3Nfc2V0cmVnaWRfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3NldHJlZ2lkIChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19zZXRyZWdpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGdpZF90IHJnaWQsIGdpZF90IGVnaWQpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2V0cmVnaWQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgZ2lkX3QgcmdpZCwgZWdpZDsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk8mTyY6c2V0cmVnaWQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICBfUHlfR2lkX0NvbnZlcnRlciwgJnJnaWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIF9QeV9HaWRfQ29udmVydGVyLCAmZWdpZCkpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIGlmIChzZXRyZWdpZChyZ2lkLCBlZ2lkKSA8IDApIHsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBnaWRfdCByZ2lkOworICAgIGdpZF90IGVnaWQ7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIk8mTyY6c2V0cmVnaWQiLAorICAgICAgICBfUHlfR2lkX0NvbnZlcnRlciwgJnJnaWQsIF9QeV9HaWRfQ29udmVydGVyLCAmZWdpZCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19zZXRyZWdpZF9pbXBsKG1vZHVsZSwgcmdpZCwgZWdpZCk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NldHJlZ2lkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgZ2lkX3QgcmdpZCwgZ2lkX3QgZWdpZCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1hODJkOWFiNzBmOGU2NTYyIGlucHV0PWM1OTQ5OWY3Mjg0NmRiNzhdKi8KK3sKKyAgICBpZiAoc2V0cmVnaWQocmdpZCwgZWdpZCkgPCAwKQogICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKLSAgICB9IGVsc2UgewotICAgICAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0gICAgICAgIHJldHVybiBQeV9Ob25lOwotICAgIH0KKyAgICBQeV9SRVRVUk5fTk9ORTsKIH0KICNlbmRpZiAvKiBIQVZFX1NFVFJFR0lEICovCiAKKwogI2lmZGVmIEhBVkVfU0VUR0lECi1QeURvY19TVFJWQVIocG9zaXhfc2V0Z2lkX19kb2NfXywKLSJzZXRnaWQoZ2lkKVxuXG5cCi1TZXQgdGhlIGN1cnJlbnQgcHJvY2VzcydzIGdyb3VwIGlkLiIpOworLypbY2xpbmljIGlucHV0XQorb3Muc2V0Z2lkCisgICAgZ2lkOiBnaWRfdAorICAgIC8KKworU2V0IHRoZSBjdXJyZW50IHByb2Nlc3MncyBncm91cCBpZC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3NldGdpZF9fZG9jX18sCisic2V0Z2lkKCRtb2R1bGUsIGdpZCwgLylcbiIKKyItLVxuIgorIlxuIgorIlNldCB0aGUgY3VycmVudCBwcm9jZXNzXCdzIGdyb3VwIGlkLiIpOworCisjZGVmaW5lIE9TX1NFVEdJRF9NRVRIT0RERUYgICAgXAorICAgIHsic2V0Z2lkIiwgKFB5Q0Z1bmN0aW9uKW9zX3NldGdpZCwgTUVUSF9WQVJBUkdTLCBvc19zZXRnaWRfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3NldGdpZChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19zZXRnaWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBnaWRfdCBnaWQpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2V0Z2lkKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogeworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwogICAgIGdpZF90IGdpZDsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk8mOnNldGdpZCIsIF9QeV9HaWRfQ29udmVydGVyLCAmZ2lkKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIk8mOnNldGdpZCIsCisgICAgICAgIF9QeV9HaWRfQ29udmVydGVyLCAmZ2lkKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3NldGdpZF9pbXBsKG1vZHVsZSwgZ2lkKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2V0Z2lkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgZ2lkX3QgZ2lkKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTA4Mjg3ODg2ZGI0MzVmMjMgaW5wdXQ9MjdkMzBjNDA1OTA0NWRjNl0qLworewogICAgIGlmIChzZXRnaWQoZ2lkKSA8IDApCiAgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwotICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKLSAgICByZXR1cm4gUHlfTm9uZTsKKyAgICBQeV9SRVRVUk5fTk9ORTsKIH0KICNlbmRpZiAvKiBIQVZFX1NFVEdJRCAqLwogCisKICNpZmRlZiBIQVZFX1NFVEdST1VQUwotUHlEb2NfU1RSVkFSKHBvc2l4X3NldGdyb3Vwc19fZG9jX18sCi0ic2V0Z3JvdXBzKGxpc3QpXG5cblwKLVNldCB0aGUgZ3JvdXBzIG9mIHRoZSBjdXJyZW50IHByb2Nlc3MgdG8gbGlzdC4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnNldGdyb3VwcworCisgICAgZ3JvdXBzOiBvYmplY3QKKyAgICAvCisKK1NldCB0aGUgZ3JvdXBzIG9mIHRoZSBjdXJyZW50IHByb2Nlc3MgdG8gbGlzdC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3NldGdyb3Vwc19fZG9jX18sCisic2V0Z3JvdXBzKCRtb2R1bGUsIGdyb3VwcywgLylcbiIKKyItLVxuIgorIlxuIgorIlNldCB0aGUgZ3JvdXBzIG9mIHRoZSBjdXJyZW50IHByb2Nlc3MgdG8gbGlzdC4iKTsKKworI2RlZmluZSBPU19TRVRHUk9VUFNfTUVUSE9EREVGICAgIFwKKyAgICB7InNldGdyb3VwcyIsIChQeUNGdW5jdGlvbilvc19zZXRncm91cHMsIE1FVEhfTywgb3Nfc2V0Z3JvdXBzX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9zZXRncm91cHMoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpncm91cHMpCitvc19zZXRncm91cHMoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmdyb3VwcykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0wYjhkZTY1ZDViM2NkYTk0IGlucHV0PWZhNzQyY2EzZGFmODVhN2VdKi8KIHsKICAgICBpbnQgaSwgbGVuOwogICAgIGdpZF90IGdyb3VwbGlzdFtNQVhfR1JPVVBTXTsKQEAgLTY5MTAsODMgKzk1NjUsMjIwIEBACiB9CiAjZW5kaWYgLyogSEFWRV9XQUlUMyB8fCBIQVZFX1dBSVQ0ICovCiAKKwogI2lmZGVmIEhBVkVfV0FJVDMKLVB5RG9jX1NUUlZBUihwb3NpeF93YWl0M19fZG9jX18sCi0id2FpdDMob3B0aW9ucykgLT4gKHBpZCwgc3RhdHVzLCBydXNhZ2UpXG5cblwKLVdhaXQgZm9yIGNvbXBsZXRpb24gb2YgYSBjaGlsZCBwcm9jZXNzLiIpOworLypbY2xpbmljIGlucHV0XQorb3Mud2FpdDMKKworICAgIG9wdGlvbnM6IGludAorV2FpdCBmb3IgY29tcGxldGlvbiBvZiBhIGNoaWxkIHByb2Nlc3MuCisKK1JldHVybnMgYSB0dXBsZSBvZiBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY2hpbGQgcHJvY2VzczoKKyAgKHBpZCwgc3RhdHVzLCBydXNhZ2UpCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc193YWl0M19fZG9jX18sCisid2FpdDMoJG1vZHVsZSwgLywgb3B0aW9ucylcbiIKKyItLVxuIgorIlxuIgorIldhaXQgZm9yIGNvbXBsZXRpb24gb2YgYSBjaGlsZCBwcm9jZXNzLlxuIgorIlxuIgorIlJldHVybnMgYSB0dXBsZSBvZiBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY2hpbGQgcHJvY2VzczpcbiIKKyIgIChwaWQsIHN0YXR1cywgcnVzYWdlKSIpOworCisjZGVmaW5lIE9TX1dBSVQzX01FVEhPRERFRiAgICBcCisgICAgeyJ3YWl0MyIsIChQeUNGdW5jdGlvbilvc193YWl0MywgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX3dhaXQzX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF93YWl0MyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc193YWl0M19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBvcHRpb25zKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3dhaXQzKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsib3B0aW9ucyIsIE5VTEx9OworICAgIGludCBvcHRpb25zOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiaTp3YWl0MyIsIF9rZXl3b3JkcywKKyAgICAgICAgJm9wdGlvbnMpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3Nfd2FpdDNfaW1wbChtb2R1bGUsIG9wdGlvbnMpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc193YWl0M19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBvcHRpb25zKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTFmMmE2M2I2YTkzY2JiNTcgaW5wdXQ9OGFjNGM1Njk1NmI2MTcxMF0qLwogewogICAgIHBpZF90IHBpZDsKLSAgICBpbnQgb3B0aW9uczsKICAgICBzdHJ1Y3QgcnVzYWdlIHJ1OworICAgIGludCBhc3luY19lcnIgPSAwOwogICAgIFdBSVRfVFlQRSBzdGF0dXM7CiAgICAgV0FJVF9TVEFUVVNfSU5UKHN0YXR1cykgPSAwOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpOndhaXQzIiwgJm9wdGlvbnMpKQotICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICBwaWQgPSB3YWl0Mygmc3RhdHVzLCBvcHRpb25zLCAmcnUpOwotICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgZG8geworICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgICAgIHBpZCA9IHdhaXQzKCZzdGF0dXMsIG9wdGlvbnMsICZydSk7CisgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgfSB3aGlsZSAocGlkIDwgMCAmJiBlcnJubyA9PSBFSU5UUiAmJiAhKGFzeW5jX2VyciA9IFB5RXJyX0NoZWNrU2lnbmFscygpKSk7CisgICAgaWYgKHBpZCA8IDApCisgICAgICAgIHJldHVybiAoIWFzeW5jX2VycikgPyBwb3NpeF9lcnJvcigpIDogTlVMTDsKIAogICAgIHJldHVybiB3YWl0X2hlbHBlcihwaWQsIFdBSVRfU1RBVFVTX0lOVChzdGF0dXMpLCAmcnUpOwogfQogI2VuZGlmIC8qIEhBVkVfV0FJVDMgKi8KIAorCiAjaWZkZWYgSEFWRV9XQUlUNAotUHlEb2NfU1RSVkFSKHBvc2l4X3dhaXQ0X19kb2NfXywKLSJ3YWl0NChwaWQsIG9wdGlvbnMpIC0+IChwaWQsIHN0YXR1cywgcnVzYWdlKVxuXG5cCi1XYWl0IGZvciBjb21wbGV0aW9uIG9mIGEgZ2l2ZW4gY2hpbGQgcHJvY2Vzcy4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KKworb3Mud2FpdDQKKworICAgIHBpZDogcGlkX3QKKyAgICBvcHRpb25zOiBpbnQKKworV2FpdCBmb3IgY29tcGxldGlvbiBvZiBhIHNwZWNpZmljIGNoaWxkIHByb2Nlc3MuCisKK1JldHVybnMgYSB0dXBsZSBvZiBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY2hpbGQgcHJvY2VzczoKKyAgKHBpZCwgc3RhdHVzLCBydXNhZ2UpCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc193YWl0NF9fZG9jX18sCisid2FpdDQoJG1vZHVsZSwgLywgcGlkLCBvcHRpb25zKVxuIgorIi0tXG4iCisiXG4iCisiV2FpdCBmb3IgY29tcGxldGlvbiBvZiBhIHNwZWNpZmljIGNoaWxkIHByb2Nlc3MuXG4iCisiXG4iCisiUmV0dXJucyBhIHR1cGxlIG9mIGluZm9ybWF0aW9uIGFib3V0IHRoZSBjaGlsZCBwcm9jZXNzOlxuIgorIiAgKHBpZCwgc3RhdHVzLCBydXNhZ2UpIik7CisKKyNkZWZpbmUgT1NfV0FJVDRfTUVUSE9EREVGICAgIFwKKyAgICB7IndhaXQ0IiwgKFB5Q0Z1bmN0aW9uKW9zX3dhaXQ0LCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3Nfd2FpdDRfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3dhaXQ0KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX3dhaXQ0X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGlkX3QgcGlkLCBpbnQgb3B0aW9ucyk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc193YWl0NChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InBpZCIsICJvcHRpb25zIiwgTlVMTH07CiAgICAgcGlkX3QgcGlkOwogICAgIGludCBvcHRpb25zOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiIiBfUHlfUEFSU0VfUElEICJpOndhaXQ0IiwgX2tleXdvcmRzLAorICAgICAgICAmcGlkLCAmb3B0aW9ucykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc193YWl0NF9pbXBsKG1vZHVsZSwgcGlkLCBvcHRpb25zKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfd2FpdDRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwaWRfdCBwaWQsIGludCBvcHRpb25zKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTIwZGZiMDUyODlkMzdkYzYgaW5wdXQ9ZDExZGVlZDA3NTA2MDBiYV0qLworeworICAgIHBpZF90IHJlczsKICAgICBzdHJ1Y3QgcnVzYWdlIHJ1OworICAgIGludCBhc3luY19lcnIgPSAwOwogICAgIFdBSVRfVFlQRSBzdGF0dXM7CiAgICAgV0FJVF9TVEFUVVNfSU5UKHN0YXR1cykgPSAwOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIF9QeV9QQVJTRV9QSUQgImk6d2FpdDQiLCAmcGlkLCAmb3B0aW9ucykpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIGRvIHsKKyAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgICAgICByZXMgPSB3YWl0NChwaWQsICZzdGF0dXMsIG9wdGlvbnMsICZydSk7CisgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgfSB3aGlsZSAocmVzIDwgMCAmJiBlcnJubyA9PSBFSU5UUiAmJiAhKGFzeW5jX2VyciA9IFB5RXJyX0NoZWNrU2lnbmFscygpKSk7CisgICAgaWYgKHJlcyA8IDApCisgICAgICAgIHJldHVybiAoIWFzeW5jX2VycikgPyBwb3NpeF9lcnJvcigpIDogTlVMTDsKIAotICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICBwaWQgPSB3YWl0NChwaWQsICZzdGF0dXMsIG9wdGlvbnMsICZydSk7Ci0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLQotICAgIHJldHVybiB3YWl0X2hlbHBlcihwaWQsIFdBSVRfU1RBVFVTX0lOVChzdGF0dXMpLCAmcnUpOworICAgIHJldHVybiB3YWl0X2hlbHBlcihyZXMsIFdBSVRfU1RBVFVTX0lOVChzdGF0dXMpLCAmcnUpOwogfQogI2VuZGlmIC8qIEhBVkVfV0FJVDQgKi8KIAorCiAjaWYgZGVmaW5lZChIQVZFX1dBSVRJRCkgJiYgIWRlZmluZWQoX19BUFBMRV9fKQotUHlEb2NfU1RSVkFSKHBvc2l4X3dhaXRpZF9fZG9jX18sCi0id2FpdGlkKGlkdHlwZSwgaWQsIG9wdGlvbnMpIC0+IHdhaXRpZF9yZXN1bHRcblxuXAotV2FpdCBmb3IgdGhlIGNvbXBsZXRpb24gb2Ygb25lIG9yIG1vcmUgY2hpbGQgcHJvY2Vzc2VzLlxuXG5cCi1pZHR5cGUgY2FuIGJlIFBfUElELCBQX1BHSUQgb3IgUF9BTEwuXG5cCi1pZCBzcGVjaWZpZXMgdGhlIHBpZCB0byB3YWl0IG9uLlxuXAotb3B0aW9ucyBpcyBjb25zdHJ1Y3RlZCBmcm9tIHRoZSBPUmluZyBvZiBvbmUgb3IgbW9yZSBvZiBXRVhJVEVELCBXU1RPUFBFRFxuXAotb3IgV0NPTlRJTlVFRCBhbmQgYWRkaXRpb25hbGx5IG1heSBiZSBPUmVkIHdpdGggV05PSEFORyBvciBXTk9XQUlULlxuXAotUmV0dXJucyBlaXRoZXIgd2FpdGlkX3Jlc3VsdCBvciBOb25lIGlmIFdOT0hBTkcgaXMgc3BlY2lmaWVkIGFuZCB0aGVyZSBhcmVcblwKLW5vIGNoaWxkcmVuIGluIGEgd2FpdGFibGUgc3RhdGUuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy53YWl0aWQKKworICAgIGlkdHlwZTogaWR0eXBlX3QKKyAgICAgICAgTXVzdCBiZSBvbmUgb2YgYmUgUF9QSUQsIFBfUEdJRCBvciBQX0FMTC4KKyAgICBpZDogaWRfdAorICAgICAgICBUaGUgaWQgdG8gd2FpdCBvbi4KKyAgICBvcHRpb25zOiBpbnQKKyAgICAgICAgQ29uc3RydWN0ZWQgZnJvbSB0aGUgT1Jpbmcgb2Ygb25lIG9yIG1vcmUgb2YgV0VYSVRFRCwgV1NUT1BQRUQKKyAgICAgICAgb3IgV0NPTlRJTlVFRCBhbmQgYWRkaXRpb25hbGx5IG1heSBiZSBPUmVkIHdpdGggV05PSEFORyBvciBXTk9XQUlULgorICAgIC8KKworUmV0dXJucyB0aGUgcmVzdWx0IG9mIHdhaXRpbmcgZm9yIGEgcHJvY2VzcyBvciBwcm9jZXNzZXMuCisKK1JldHVybnMgZWl0aGVyIHdhaXRpZF9yZXN1bHQgb3IgTm9uZSBpZiBXTk9IQU5HIGlzIHNwZWNpZmllZCBhbmQgdGhlcmUgYXJlCitubyBjaGlsZHJlbiBpbiBhIHdhaXRhYmxlIHN0YXRlLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfd2FpdGlkX19kb2NfXywKKyJ3YWl0aWQoJG1vZHVsZSwgaWR0eXBlLCBpZCwgb3B0aW9ucywgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybnMgdGhlIHJlc3VsdCBvZiB3YWl0aW5nIGZvciBhIHByb2Nlc3Mgb3IgcHJvY2Vzc2VzLlxuIgorIlxuIgorIiAgaWR0eXBlXG4iCisiICAgIE11c3QgYmUgb25lIG9mIGJlIFBfUElELCBQX1BHSUQgb3IgUF9BTEwuXG4iCisiICBpZFxuIgorIiAgICBUaGUgaWQgdG8gd2FpdCBvbi5cbiIKKyIgIG9wdGlvbnNcbiIKKyIgICAgQ29uc3RydWN0ZWQgZnJvbSB0aGUgT1Jpbmcgb2Ygb25lIG9yIG1vcmUgb2YgV0VYSVRFRCwgV1NUT1BQRURcbiIKKyIgICAgb3IgV0NPTlRJTlVFRCBhbmQgYWRkaXRpb25hbGx5IG1heSBiZSBPUmVkIHdpdGggV05PSEFORyBvciBXTk9XQUlULlxuIgorIlxuIgorIlJldHVybnMgZWl0aGVyIHdhaXRpZF9yZXN1bHQgb3IgTm9uZSBpZiBXTk9IQU5HIGlzIHNwZWNpZmllZCBhbmQgdGhlcmUgYXJlXG4iCisibm8gY2hpbGRyZW4gaW4gYSB3YWl0YWJsZSBzdGF0ZS4iKTsKKworI2RlZmluZSBPU19XQUlUSURfTUVUSE9EREVGICAgIFwKKyAgICB7IndhaXRpZCIsIChQeUNGdW5jdGlvbilvc193YWl0aWQsIE1FVEhfVkFSQVJHUywgb3Nfd2FpdGlkX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF93YWl0aWQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3Nfd2FpdGlkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaWR0eXBlX3QgaWR0eXBlLCBpZF90IGlkLCBpbnQgb3B0aW9ucyk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc193YWl0aWQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgUHlPYmplY3QgKnJlc3VsdDsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKICAgICBpZHR5cGVfdCBpZHR5cGU7CiAgICAgaWRfdCBpZDsKLSAgICBpbnQgb3B0aW9ucywgcmVzOworICAgIGludCBvcHRpb25zOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJpIiBfUHlfUEFSU0VfUElEICJpOndhaXRpZCIsCisgICAgICAgICZpZHR5cGUsICZpZCwgJm9wdGlvbnMpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3Nfd2FpdGlkX2ltcGwobW9kdWxlLCBpZHR5cGUsIGlkLCBvcHRpb25zKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfd2FpdGlkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaWR0eXBlX3QgaWR0eXBlLCBpZF90IGlkLCBpbnQgb3B0aW9ucykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1mYjQ0YmY5N2YwMTAyMWIyIGlucHV0PWQ4ZTdmNzZlMDUyYjc5MjBdKi8KK3sKKyAgICBQeU9iamVjdCAqcmVzdWx0OworICAgIGludCByZXM7CisgICAgaW50IGFzeW5jX2VyciA9IDA7CiAgICAgc2lnaW5mb190IHNpOwogICAgIHNpLnNpX3BpZCA9IDA7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpIiBfUHlfUEFSU0VfUElEICJpOndhaXRpZCIsICZpZHR5cGUsICZpZCwgJm9wdGlvbnMpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgcmVzID0gd2FpdGlkKGlkdHlwZSwgaWQsICZzaSwgb3B0aW9ucyk7Ci0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLSAgICBpZiAocmVzID09IC0xKQotICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKKworICAgIGRvIHsKKyAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgICAgICByZXMgPSB3YWl0aWQoaWR0eXBlLCBpZCwgJnNpLCBvcHRpb25zKTsKKyAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICB9IHdoaWxlIChyZXMgPCAwICYmIGVycm5vID09IEVJTlRSICYmICEoYXN5bmNfZXJyID0gUHlFcnJfQ2hlY2tTaWduYWxzKCkpKTsKKyAgICBpZiAocmVzIDwgMCkKKyAgICAgICAgcmV0dXJuICghYXN5bmNfZXJyKSA/IHBvc2l4X2Vycm9yKCkgOiBOVUxMOwogCiAgICAgaWYgKHNpLnNpX3BpZCA9PSAwKQogICAgICAgICBQeV9SRVRVUk5fTk9ORTsKQEAgLTcwMDcsNzkgKzk3OTksMjAwIEBACiAKICAgICByZXR1cm4gcmVzdWx0OwogfQotI2VuZGlmCisjZW5kaWYgLyogZGVmaW5lZChIQVZFX1dBSVRJRCkgJiYgIWRlZmluZWQoX19BUFBMRV9fKSAqLwogCi0jaWZkZWYgSEFWRV9XQUlUUElECi1QeURvY19TVFJWQVIocG9zaXhfd2FpdHBpZF9fZG9jX18sCi0id2FpdHBpZChwaWQsIG9wdGlvbnMpIC0+IChwaWQsIHN0YXR1cylcblxuXAotV2FpdCBmb3IgY29tcGxldGlvbiBvZiBhIGdpdmVuIGNoaWxkIHByb2Nlc3MuIik7CisKKyNpZiBkZWZpbmVkKEhBVkVfV0FJVFBJRCkKKy8qW2NsaW5pYyBpbnB1dF0KK29zLndhaXRwaWQKKyAgICBwaWQ6IHBpZF90CisgICAgb3B0aW9uczogaW50CisgICAgLworCitXYWl0IGZvciBjb21wbGV0aW9uIG9mIGEgZ2l2ZW4gY2hpbGQgcHJvY2Vzcy4KKworUmV0dXJucyBhIHR1cGxlIG9mIGluZm9ybWF0aW9uIHJlZ2FyZGluZyB0aGUgY2hpbGQgcHJvY2VzczoKKyAgICAocGlkLCBzdGF0dXMpCisKK1RoZSBvcHRpb25zIGFyZ3VtZW50IGlzIGlnbm9yZWQgb24gV2luZG93cy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3dhaXRwaWRfX2RvY19fLAorIndhaXRwaWQoJG1vZHVsZSwgcGlkLCBvcHRpb25zLCAvKVxuIgorIi0tXG4iCisiXG4iCisiV2FpdCBmb3IgY29tcGxldGlvbiBvZiBhIGdpdmVuIGNoaWxkIHByb2Nlc3MuXG4iCisiXG4iCisiUmV0dXJucyBhIHR1cGxlIG9mIGluZm9ybWF0aW9uIHJlZ2FyZGluZyB0aGUgY2hpbGQgcHJvY2VzczpcbiIKKyIgICAgKHBpZCwgc3RhdHVzKVxuIgorIlxuIgorIlRoZSBvcHRpb25zIGFyZ3VtZW50IGlzIGlnbm9yZWQgb24gV2luZG93cy4iKTsKKworI2RlZmluZSBPU19XQUlUUElEX01FVEhPRERFRiAgICBcCisgICAgeyJ3YWl0cGlkIiwgKFB5Q0Z1bmN0aW9uKW9zX3dhaXRwaWQsIE1FVEhfVkFSQVJHUywgb3Nfd2FpdHBpZF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfd2FpdHBpZChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc193YWl0cGlkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGlkX3QgcGlkLCBpbnQgb3B0aW9ucyk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc193YWl0cGlkKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogeworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwogICAgIHBpZF90IHBpZDsKICAgICBpbnQgb3B0aW9uczsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiIiBfUHlfUEFSU0VfUElEICJpOndhaXRwaWQiLAorICAgICAgICAmcGlkLCAmb3B0aW9ucykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc193YWl0cGlkX2ltcGwobW9kdWxlLCBwaWQsIG9wdGlvbnMpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc193YWl0cGlkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGlkX3QgcGlkLCBpbnQgb3B0aW9ucykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0wOTVhNmIwMGFmNzBiN2FjIGlucHV0PTBiZjE2NjZiODc1OGZkYTNdKi8KK3sKKyAgICBwaWRfdCByZXM7CisgICAgaW50IGFzeW5jX2VyciA9IDA7CiAgICAgV0FJVF9UWVBFIHN0YXR1czsKICAgICBXQUlUX1NUQVRVU19JTlQoc3RhdHVzKSA9IDA7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgX1B5X1BBUlNFX1BJRCAiaTp3YWl0cGlkIiwgJnBpZCwgJm9wdGlvbnMpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgcGlkID0gd2FpdHBpZChwaWQsICZzdGF0dXMsIG9wdGlvbnMpOwotICAgIFB5X0VORF9BTExPV19USFJFQURTCi0gICAgaWYgKHBpZCA9PSAtMSkKLSAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CisgICAgZG8geworICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgICAgIHJlcyA9IHdhaXRwaWQocGlkLCAmc3RhdHVzLCBvcHRpb25zKTsKKyAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICB9IHdoaWxlIChyZXMgPCAwICYmIGVycm5vID09IEVJTlRSICYmICEoYXN5bmNfZXJyID0gUHlFcnJfQ2hlY2tTaWduYWxzKCkpKTsKKyAgICBpZiAocmVzIDwgMCkKKyAgICAgICAgcmV0dXJuICghYXN5bmNfZXJyKSA/IHBvc2l4X2Vycm9yKCkgOiBOVUxMOwogCi0gICAgcmV0dXJuIFB5X0J1aWxkVmFsdWUoIk5pIiwgUHlMb25nX0Zyb21QaWQocGlkKSwgV0FJVF9TVEFUVVNfSU5UKHN0YXR1cykpOworICAgIHJldHVybiBQeV9CdWlsZFZhbHVlKCJOaSIsIFB5TG9uZ19Gcm9tUGlkKHJlcyksIFdBSVRfU1RBVFVTX0lOVChzdGF0dXMpKTsKIH0KLQogI2VsaWYgZGVmaW5lZChIQVZFX0NXQUlUKQotCiAvKiBNUyBDIGhhcyBhIHZhcmlhbnQgb2Ygd2FpdHBpZCgpIHRoYXQncyB1c2FibGUgZm9yIG1vc3QgcHVycG9zZXMuICovCi1QeURvY19TVFJWQVIocG9zaXhfd2FpdHBpZF9fZG9jX18sCi0id2FpdHBpZChwaWQsIG9wdGlvbnMpIC0+IChwaWQsIHN0YXR1cyA8PCA4KVxuXG4iCi0iV2FpdCBmb3IgY29tcGxldGlvbiBvZiBhIGdpdmVuIHByb2Nlc3MuICBvcHRpb25zIGlzIGlnbm9yZWQgb24gV2luZG93cy4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLndhaXRwaWQKKyAgICBwaWQ6IFB5X2ludHB0cl90CisgICAgb3B0aW9uczogaW50CisgICAgLworCitXYWl0IGZvciBjb21wbGV0aW9uIG9mIGEgZ2l2ZW4gcHJvY2Vzcy4KKworUmV0dXJucyBhIHR1cGxlIG9mIGluZm9ybWF0aW9uIHJlZ2FyZGluZyB0aGUgcHJvY2VzczoKKyAgICAocGlkLCBzdGF0dXMgPDwgOCkKKworVGhlIG9wdGlvbnMgYXJndW1lbnQgaXMgaWdub3JlZCBvbiBXaW5kb3dzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfd2FpdHBpZF9fZG9jX18sCisid2FpdHBpZCgkbW9kdWxlLCBwaWQsIG9wdGlvbnMsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJXYWl0IGZvciBjb21wbGV0aW9uIG9mIGEgZ2l2ZW4gcHJvY2Vzcy5cbiIKKyJcbiIKKyJSZXR1cm5zIGEgdHVwbGUgb2YgaW5mb3JtYXRpb24gcmVnYXJkaW5nIHRoZSBwcm9jZXNzOlxuIgorIiAgICAocGlkLCBzdGF0dXMgPDwgOClcbiIKKyJcbiIKKyJUaGUgb3B0aW9ucyBhcmd1bWVudCBpcyBpZ25vcmVkIG9uIFdpbmRvd3MuIik7CisKKyNkZWZpbmUgT1NfV0FJVFBJRF9NRVRIT0RERUYgICAgXAorICAgIHsid2FpdHBpZCIsIChQeUNGdW5jdGlvbilvc193YWl0cGlkLCBNRVRIX1ZBUkFSR1MsIG9zX3dhaXRwaWRfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3dhaXRwaWQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQotewotICAgIFB5X2ludHB0cl90IHBpZDsKLSAgICBpbnQgc3RhdHVzLCBvcHRpb25zOworb3Nfd2FpdHBpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2ludHB0cl90IHBpZCwgaW50IG9wdGlvbnMpOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIF9QeV9QQVJTRV9JTlRQVFIgImk6d2FpdHBpZCIsICZwaWQsICZvcHRpb25zKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIHBpZCA9IF9jd2FpdCgmc3RhdHVzLCBwaWQsIG9wdGlvbnMpOwotICAgIFB5X0VORF9BTExPV19USFJFQURTCi0gICAgaWYgKHBpZCA9PSAtMSkKLSAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CitzdGF0aWMgUHlPYmplY3QgKgorb3Nfd2FpdHBpZChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeV9pbnRwdHJfdCBwaWQ7CisgICAgaW50IG9wdGlvbnM7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIiIgX1B5X1BBUlNFX0lOVFBUUiAiaTp3YWl0cGlkIiwKKyAgICAgICAgJnBpZCwgJm9wdGlvbnMpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3Nfd2FpdHBpZF9pbXBsKG1vZHVsZSwgcGlkLCBvcHRpb25zKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfd2FpdHBpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2ludHB0cl90IHBpZCwgaW50IG9wdGlvbnMpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YzIwYjk1YjE1YWQ0NGEzYSBpbnB1dD00NDRjOGY1MWNjYTViODYyXSovCit7CisgICAgaW50IHN0YXR1czsKKyAgICBQeV9pbnRwdHJfdCByZXM7CisgICAgaW50IGFzeW5jX2VyciA9IDA7CisKKyAgICBkbyB7CisgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgcmVzID0gX2N3YWl0KCZzdGF0dXMsIHBpZCwgb3B0aW9ucyk7CisgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgfSB3aGlsZSAocmVzIDwgMCAmJiBlcnJubyA9PSBFSU5UUiAmJiAhKGFzeW5jX2VyciA9IFB5RXJyX0NoZWNrU2lnbmFscygpKSk7CisgICAgaWYgKHJlcyAhPSAwKQorICAgICAgICByZXR1cm4gKCFhc3luY19lcnIpID8gcG9zaXhfZXJyb3IoKSA6IE5VTEw7CiAKICAgICAvKiBzaGlmdCB0aGUgc3RhdHVzIGxlZnQgYSBieXRlIHNvIHRoaXMgaXMgbW9yZSBsaWtlIHRoZSBQT1NJWCB3YWl0cGlkICovCi0gICAgcmV0dXJuIFB5X0J1aWxkVmFsdWUoX1B5X1BBUlNFX0lOVFBUUiAiaSIsIHBpZCwgc3RhdHVzIDw8IDgpOworICAgIHJldHVybiBQeV9CdWlsZFZhbHVlKF9QeV9QQVJTRV9JTlRQVFIgImkiLCByZXMsIHN0YXR1cyA8PCA4KTsKIH0KLSNlbmRpZiAvKiBIQVZFX1dBSVRQSUQgfHwgSEFWRV9DV0FJVCAqLworI2VuZGlmCisKIAogI2lmZGVmIEhBVkVfV0FJVAotUHlEb2NfU1RSVkFSKHBvc2l4X3dhaXRfX2RvY19fLAotIndhaXQoKSAtPiAocGlkLCBzdGF0dXMpXG5cblwKLVdhaXQgZm9yIGNvbXBsZXRpb24gb2YgYSBjaGlsZCBwcm9jZXNzLiIpOworLypbY2xpbmljIGlucHV0XQorb3Mud2FpdAorCitXYWl0IGZvciBjb21wbGV0aW9uIG9mIGEgY2hpbGQgcHJvY2Vzcy4KKworUmV0dXJucyBhIHR1cGxlIG9mIGluZm9ybWF0aW9uIGFib3V0IHRoZSBjaGlsZCBwcm9jZXNzOgorICAgIChwaWQsIHN0YXR1cykKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3dhaXRfX2RvY19fLAorIndhaXQoJG1vZHVsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIldhaXQgZm9yIGNvbXBsZXRpb24gb2YgYSBjaGlsZCBwcm9jZXNzLlxuIgorIlxuIgorIlJldHVybnMgYSB0dXBsZSBvZiBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY2hpbGQgcHJvY2VzczpcbiIKKyIgICAgKHBpZCwgc3RhdHVzKSIpOworCisjZGVmaW5lIE9TX1dBSVRfTUVUSE9EREVGICAgIFwKKyAgICB7IndhaXQiLCAoUHlDRnVuY3Rpb24pb3Nfd2FpdCwgTUVUSF9OT0FSR1MsIG9zX3dhaXRfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3dhaXQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpub2FyZ3MpCitvc193YWl0X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc193YWl0KFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIG9zX3dhaXRfaW1wbChtb2R1bGUpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfd2FpdF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MmE4M2E5ZDE2NGU3ZTZhOCBpbnB1dD0wM2IwMTgyZDRhNDcwMGNlXSovCiB7CiAgICAgcGlkX3QgcGlkOworICAgIGludCBhc3luY19lcnIgPSAwOwogICAgIFdBSVRfVFlQRSBzdGF0dXM7CiAgICAgV0FJVF9TVEFUVVNfSU5UKHN0YXR1cykgPSAwOwogCi0gICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIHBpZCA9IHdhaXQoJnN0YXR1cyk7Ci0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLSAgICBpZiAocGlkID09IC0xKQotICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKKyAgICBkbyB7CisgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgcGlkID0gd2FpdCgmc3RhdHVzKTsKKyAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICB9IHdoaWxlIChwaWQgPCAwICYmIGVycm5vID09IEVJTlRSICYmICEoYXN5bmNfZXJyID0gUHlFcnJfQ2hlY2tTaWduYWxzKCkpKTsKKyAgICBpZiAocGlkIDwgMCkKKyAgICAgICAgcmV0dXJuICghYXN5bmNfZXJyKSA/IHBvc2l4X2Vycm9yKCkgOiBOVUxMOwogCiAgICAgcmV0dXJuIFB5X0J1aWxkVmFsdWUoIk5pIiwgUHlMb25nX0Zyb21QaWQocGlkKSwgV0FJVF9TVEFUVVNfSU5UKHN0YXR1cykpOwogfQotI2VuZGlmCisjZW5kaWYgLyogSEFWRV9XQUlUICovCiAKIAogI2lmIGRlZmluZWQoSEFWRV9SRUFETElOSykgfHwgZGVmaW5lZChNU19XSU5ET1dTKQpAQCAtNzA5NSw2ICsxMDAwOCw3IEBACiAKICNpZmRlZiBIQVZFX1JFQURMSU5LCiAKKy8qIEFDIDMuNTogbWVyZ2Ugd2luMzIgYW5kIG5vdCB0b2dldGhlciAqLwogc3RhdGljIFB5T2JqZWN0ICoKIHBvc2l4X3JlYWRsaW5rKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKQEAgLTcxMDksMTIgKzEwMDIzLDcgQEAKICAgICBwYXRoLmZ1bmN0aW9uX25hbWUgPSAicmVhZGxpbmsiOwogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgIk8mfCRPJjpyZWFkbGluayIsIGtleXdvcmRzLAogICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsCi0jaWZkZWYgSEFWRV9SRUFETElOS0FUCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGRpcl9mZF9jb252ZXJ0ZXIsICZkaXJfZmQKLSNlbHNlCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGRpcl9mZF91bmF2YWlsYWJsZSwgJmRpcl9mZAotI2VuZGlmCi0gICAgICAgICAgICAgICAgICAgICAgICAgICkpCisgICAgICAgICAgICAgICAgICAgICAgICAgIFJFQURMSU5LQVRfRElSX0ZEX0NPTlZFUlRFUiwgJmRpcl9mZCkpCiAgICAgICAgIHJldHVybiBOVUxMOwogCiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwpAQCAtNzE0MCwyMyArMTAwNDksODYgQEAKICAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOwogfQogCi0KICNlbmRpZiAvKiBIQVZFX1JFQURMSU5LICovCiAKKyNpZiAhZGVmaW5lZChIQVZFX1JFQURMSU5LKSAmJiBkZWZpbmVkKE1TX1dJTkRPV1MpCisKK3N0YXRpYyBQeU9iamVjdCAqCit3aW5fcmVhZGxpbmsoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQoreworICAgIHdjaGFyX3QgKnBhdGg7CisgICAgRFdPUkQgbl9ieXRlc19yZXR1cm5lZDsKKyAgICBEV09SRCBpb19yZXN1bHQ7CisgICAgUHlPYmplY3QgKnBvLCAqcmVzdWx0OworICAgICAgICBpbnQgZGlyX2ZkOworICAgIEhBTkRMRSByZXBhcnNlX3BvaW50X2hhbmRsZTsKKworICAgIGNoYXIgdGFyZ2V0X2J1ZmZlcltNQVhJTVVNX1JFUEFSU0VfREFUQV9CVUZGRVJfU0laRV07CisgICAgUkVQQVJTRV9EQVRBX0JVRkZFUiAqcmRiID0gKFJFUEFSU0VfREFUQV9CVUZGRVIgKil0YXJnZXRfYnVmZmVyOworICAgIHdjaGFyX3QgKnByaW50X25hbWU7CisKKyAgICBzdGF0aWMgY2hhciAqa2V5d29yZHNbXSA9IHsicGF0aCIsICJkaXJfZmQiLCBOVUxMfTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgIlV8JE8mOnJlYWRsaW5rIiwga2V5d29yZHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICZwbywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgZGlyX2ZkX3VuYXZhaWxhYmxlLCAmZGlyX2ZkCisgICAgICAgICAgICAgICAgICAgICAgICAgICkpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgcGF0aCA9IFB5VW5pY29kZV9Bc1VuaWNvZGUocG8pOworICAgIGlmIChwYXRoID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgLyogRmlyc3QgZ2V0IGEgaGFuZGxlIHRvIHRoZSByZXBhcnNlIHBvaW50ICovCisgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgIHJlcGFyc2VfcG9pbnRfaGFuZGxlID0gQ3JlYXRlRmlsZVcoCisgICAgICAgIHBhdGgsCisgICAgICAgIDAsCisgICAgICAgIDAsCisgICAgICAgIDAsCisgICAgICAgIE9QRU5fRVhJU1RJTkcsCisgICAgICAgIEZJTEVfRkxBR19PUEVOX1JFUEFSU0VfUE9JTlR8RklMRV9GTEFHX0JBQ0tVUF9TRU1BTlRJQ1MsCisgICAgICAgIDApOworICAgIFB5X0VORF9BTExPV19USFJFQURTCisKKyAgICBpZiAocmVwYXJzZV9wb2ludF9oYW5kbGU9PUlOVkFMSURfSEFORExFX1ZBTFVFKQorICAgICAgICByZXR1cm4gd2luMzJfZXJyb3Jfb2JqZWN0KCJyZWFkbGluayIsIHBvKTsKKworICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAvKiBOZXcgY2FsbCBEZXZpY2VJb0NvbnRyb2wgdG8gcmVhZCB0aGUgcmVwYXJzZSBwb2ludCAqLworICAgIGlvX3Jlc3VsdCA9IERldmljZUlvQ29udHJvbCgKKyAgICAgICAgcmVwYXJzZV9wb2ludF9oYW5kbGUsCisgICAgICAgIEZTQ1RMX0dFVF9SRVBBUlNFX1BPSU5ULAorICAgICAgICAwLCAwLCAvKiBpbiBidWZmZXIgKi8KKyAgICAgICAgdGFyZ2V0X2J1ZmZlciwgc2l6ZW9mKHRhcmdldF9idWZmZXIpLAorICAgICAgICAmbl9ieXRlc19yZXR1cm5lZCwKKyAgICAgICAgMCAvKiB3ZSdyZSBub3QgdXNpbmcgT1ZFUkxBUFBFRF9JTyAqLworICAgICAgICApOworICAgIENsb3NlSGFuZGxlKHJlcGFyc2VfcG9pbnRfaGFuZGxlKTsKKyAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworCisgICAgaWYgKGlvX3Jlc3VsdD09MCkKKyAgICAgICAgcmV0dXJuIHdpbjMyX2Vycm9yX29iamVjdCgicmVhZGxpbmsiLCBwbyk7CisKKyAgICBpZiAocmRiLT5SZXBhcnNlVGFnICE9IElPX1JFUEFSU0VfVEFHX1NZTUxJTkspCisgICAgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKKyAgICAgICAgICAgICAgICAibm90IGEgc3ltYm9saWMgbGluayIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgcHJpbnRfbmFtZSA9IHJkYi0+U3ltYm9saWNMaW5rUmVwYXJzZUJ1ZmZlci5QYXRoQnVmZmVyICsKKyAgICAgICAgICAgICAgICAgcmRiLT5TeW1ib2xpY0xpbmtSZXBhcnNlQnVmZmVyLlByaW50TmFtZU9mZnNldDsKKworICAgIHJlc3VsdCA9IFB5VW5pY29kZV9Gcm9tV2lkZUNoYXIocHJpbnRfbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgcmRiLT5TeW1ib2xpY0xpbmtSZXBhcnNlQnVmZmVyLlByaW50TmFtZUxlbmd0aC8yKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCisjZW5kaWYgLyogIWRlZmluZWQoSEFWRV9SRUFETElOSykgJiYgZGVmaW5lZChNU19XSU5ET1dTKSAqLworCisKIAogI2lmZGVmIEhBVkVfU1lNTElOSwotUHlEb2NfU1RSVkFSKHBvc2l4X3N5bWxpbmtfX2RvY19fLAotInN5bWxpbmsoc3JjLCBkc3QsIHRhcmdldF9pc19kaXJlY3Rvcnk9RmFsc2UsICosIGRpcl9mZD1Ob25lKVxuXG5cCi1DcmVhdGUgYSBzeW1ib2xpYyBsaW5rIHBvaW50aW5nIHRvIHNyYyBuYW1lZCBkc3QuXG5cblwKLXRhcmdldF9pc19kaXJlY3RvcnkgaXMgcmVxdWlyZWQgb24gV2luZG93cyBpZiB0aGUgdGFyZ2V0IGlzIHRvIGJlXG5cCi0gIGludGVycHJldGVkIGFzIGEgZGlyZWN0b3J5LiAgKE9uIFdpbmRvd3MsIHN5bWxpbmsgcmVxdWlyZXNcblwKLSAgV2luZG93cyA2LjAgb3IgZ3JlYXRlciwgYW5kIHJhaXNlcyBhIE5vdEltcGxlbWVudGVkRXJyb3Igb3RoZXJ3aXNlLilcblwKLSAgdGFyZ2V0X2lzX2RpcmVjdG9yeSBpcyBpZ25vcmVkIG9uIG5vbi1XaW5kb3dzIHBsYXRmb3Jtcy5cblwKLVxuXAotSWYgZGlyX2ZkIGlzIG5vdCBOb25lLCBpdCBzaG91bGQgYmUgYSBmaWxlIGRlc2NyaXB0b3Igb3BlbiB0byBhIGRpcmVjdG9yeSxcblwKLSAgYW5kIHBhdGggc2hvdWxkIGJlIHJlbGF0aXZlOyBwYXRoIHdpbGwgdGhlbiBiZSByZWxhdGl2ZSB0byB0aGF0IGRpcmVjdG9yeS5cblwKLWRpcl9mZCBtYXkgbm90IGJlIGltcGxlbWVudGVkIG9uIHlvdXIgcGxhdGZvcm0uXG5cCi0gIElmIGl0IGlzIHVuYXZhaWxhYmxlLCB1c2luZyBpdCB3aWxsIHJhaXNlIGEgTm90SW1wbGVtZW50ZWRFcnJvci4iKTsKIAogI2lmIGRlZmluZWQoTVNfV0lORE9XUykKIApAQCAtNzMwMiwxODkgKzEwMjc0LDE0OCBAQAogICAgICAgICAmJiBzcmNfaW5mby5kd0ZpbGVBdHRyaWJ1dGVzICYgRklMRV9BVFRSSUJVVEVfRElSRUNUT1JZCiAgICAgKTsKIH0KLQogI2VuZGlmCiAKKworLypbY2xpbmljIGlucHV0XQorb3Muc3ltbGluaworICAgIHNyYzogcGF0aF90CisgICAgZHN0OiBwYXRoX3QKKyAgICB0YXJnZXRfaXNfZGlyZWN0b3J5OiBib29sID0gRmFsc2UKKyAgICAqCisgICAgZGlyX2ZkOiBkaXJfZmQocmVxdWlyZXM9J3N5bWxpbmthdCcpPU5vbmUKKworIyAic3ltbGluayhzcmMsIGRzdCwgdGFyZ2V0X2lzX2RpcmVjdG9yeT1GYWxzZSwgKiwgZGlyX2ZkPU5vbmUpXG5cblwKKworQ3JlYXRlIGEgc3ltYm9saWMgbGluayBwb2ludGluZyB0byBzcmMgbmFtZWQgZHN0LgorCit0YXJnZXRfaXNfZGlyZWN0b3J5IGlzIHJlcXVpcmVkIG9uIFdpbmRvd3MgaWYgdGhlIHRhcmdldCBpcyB0byBiZQorICBpbnRlcnByZXRlZCBhcyBhIGRpcmVjdG9yeS4gIChPbiBXaW5kb3dzLCBzeW1saW5rIHJlcXVpcmVzCisgIFdpbmRvd3MgNi4wIG9yIGdyZWF0ZXIsIGFuZCByYWlzZXMgYSBOb3RJbXBsZW1lbnRlZEVycm9yIG90aGVyd2lzZS4pCisgIHRhcmdldF9pc19kaXJlY3RvcnkgaXMgaWdub3JlZCBvbiBub24tV2luZG93cyBwbGF0Zm9ybXMuCisKK0lmIGRpcl9mZCBpcyBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZSBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksCisgIGFuZCBwYXRoIHNob3VsZCBiZSByZWxhdGl2ZTsgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8gdGhhdCBkaXJlY3RvcnkuCitkaXJfZmQgbWF5IG5vdCBiZSBpbXBsZW1lbnRlZCBvbiB5b3VyIHBsYXRmb3JtLgorICBJZiBpdCBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgd2lsbCByYWlzZSBhIE5vdEltcGxlbWVudGVkRXJyb3IuCisKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3N5bWxpbmtfX2RvY19fLAorInN5bWxpbmsoJG1vZHVsZSwgLywgc3JjLCBkc3QsIHRhcmdldF9pc19kaXJlY3Rvcnk9RmFsc2UsICosIGRpcl9mZD1Ob25lKVxuIgorIi0tXG4iCisiXG4iCisiQ3JlYXRlIGEgc3ltYm9saWMgbGluayBwb2ludGluZyB0byBzcmMgbmFtZWQgZHN0LlxuIgorIlxuIgorInRhcmdldF9pc19kaXJlY3RvcnkgaXMgcmVxdWlyZWQgb24gV2luZG93cyBpZiB0aGUgdGFyZ2V0IGlzIHRvIGJlXG4iCisiICBpbnRlcnByZXRlZCBhcyBhIGRpcmVjdG9yeS4gIChPbiBXaW5kb3dzLCBzeW1saW5rIHJlcXVpcmVzXG4iCisiICBXaW5kb3dzIDYuMCBvciBncmVhdGVyLCBhbmQgcmFpc2VzIGEgTm90SW1wbGVtZW50ZWRFcnJvciBvdGhlcndpc2UuKVxuIgorIiAgdGFyZ2V0X2lzX2RpcmVjdG9yeSBpcyBpZ25vcmVkIG9uIG5vbi1XaW5kb3dzIHBsYXRmb3Jtcy5cbiIKKyJcbiIKKyJJZiBkaXJfZmQgaXMgbm90IE5vbmUsIGl0IHNob3VsZCBiZSBhIGZpbGUgZGVzY3JpcHRvciBvcGVuIHRvIGEgZGlyZWN0b3J5LFxuIgorIiAgYW5kIHBhdGggc2hvdWxkIGJlIHJlbGF0aXZlOyBwYXRoIHdpbGwgdGhlbiBiZSByZWxhdGl2ZSB0byB0aGF0IGRpcmVjdG9yeS5cbiIKKyJkaXJfZmQgbWF5IG5vdCBiZSBpbXBsZW1lbnRlZCBvbiB5b3VyIHBsYXRmb3JtLlxuIgorIiAgSWYgaXQgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHdpbGwgcmFpc2UgYSBOb3RJbXBsZW1lbnRlZEVycm9yLiIpOworCisjZGVmaW5lIE9TX1NZTUxJTktfTUVUSE9EREVGICAgIFwKKyAgICB7InN5bWxpbmsiLCAoUHlDRnVuY3Rpb24pb3Nfc3ltbGluaywgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX3N5bWxpbmtfX2RvY19ffSwKKwogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3N5bWxpbmsoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQorb3Nfc3ltbGlua19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqc3JjLCBwYXRoX3QgKmRzdCwgaW50IHRhcmdldF9pc19kaXJlY3RvcnksIGludCBkaXJfZmQpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc3ltbGluayhQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKLSAgICBwYXRoX3Qgc3JjOwotICAgIHBhdGhfdCBkc3Q7Ci0gICAgaW50IGRpcl9mZCA9IERFRkFVTFRfRElSX0ZEOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsic3JjIiwgImRzdCIsICJ0YXJnZXRfaXNfZGlyZWN0b3J5IiwgImRpcl9mZCIsIE5VTEx9OworICAgIHBhdGhfdCBzcmMgPSBQQVRIX1RfSU5JVElBTElaRSgic3ltbGluayIsICJzcmMiLCAwLCAwKTsKKyAgICBwYXRoX3QgZHN0ID0gUEFUSF9UX0lOSVRJQUxJWkUoInN5bWxpbmsiLCAiZHN0IiwgMCwgMCk7CiAgICAgaW50IHRhcmdldF9pc19kaXJlY3RvcnkgPSAwOwotICAgIHN0YXRpYyBjaGFyICprZXl3b3Jkc1tdID0geyJzcmMiLCAiZHN0IiwgInRhcmdldF9pc19kaXJlY3RvcnkiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXJfZmQiLCBOVUxMfTsKLSAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlOworICAgIGludCBkaXJfZmQgPSBERUZBVUxUX0RJUl9GRDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgIk8mTyZ8cCRPJjpzeW1saW5rIiwgX2tleXdvcmRzLAorICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnNyYywgcGF0aF9jb252ZXJ0ZXIsICZkc3QsICZ0YXJnZXRfaXNfZGlyZWN0b3J5LCBTWU1MSU5LQVRfRElSX0ZEX0NPTlZFUlRFUiwgJmRpcl9mZCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19zeW1saW5rX2ltcGwobW9kdWxlLCAmc3JjLCAmZHN0LCB0YXJnZXRfaXNfZGlyZWN0b3J5LCBkaXJfZmQpOworCitleGl0OgorICAgIC8qIENsZWFudXAgZm9yIHNyYyAqLworICAgIHBhdGhfY2xlYW51cCgmc3JjKTsKKyAgICAvKiBDbGVhbnVwIGZvciBkc3QgKi8KKyAgICBwYXRoX2NsZWFudXAoJmRzdCk7CisKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc3ltbGlua19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqc3JjLCBwYXRoX3QgKmRzdCwgaW50IHRhcmdldF9pc19kaXJlY3RvcnksIGludCBkaXJfZmQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MWEzMWU2ZDg4YWFmZTliNiBpbnB1dD1lODIwZWM0NDcyNTQ3YmMzXSovCit7CiAjaWZkZWYgTVNfV0lORE9XUwogICAgIERXT1JEIHJlc3VsdDsKICNlbHNlCiAgICAgaW50IHJlc3VsdDsKICNlbmRpZgogCi0gICAgbWVtc2V0KCZzcmMsIDAsIHNpemVvZihzcmMpKTsKLSAgICBzcmMuZnVuY3Rpb25fbmFtZSA9ICJzeW1saW5rIjsKLSAgICBzcmMuYXJndW1lbnRfbmFtZSA9ICJzcmMiOwotICAgIG1lbXNldCgmZHN0LCAwLCBzaXplb2YoZHN0KSk7Ci0gICAgZHN0LmZ1bmN0aW9uX25hbWUgPSAic3ltbGluayI7Ci0gICAgZHN0LmFyZ3VtZW50X25hbWUgPSAiZHN0IjsKLQogI2lmZGVmIE1TX1dJTkRPV1MKICAgICBpZiAoIWNoZWNrX0NyZWF0ZVN5bWJvbGljTGluaygpKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19Ob3RJbXBsZW1lbnRlZEVycm9yLAogICAgICAgICAgICAgIkNyZWF0ZVN5bWJvbGljTGluayBmdW5jdGlvbnMgbm90IGZvdW5kIik7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICB9CiAgICAgaWYgKCF3aW4zMl9jYW5fc3ltbGluaykgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT1NFcnJvciwgInN5bWJvbGljIGxpbmsgcHJpdmlsZWdlIG5vdCBoZWxkIik7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICB9CiAjZW5kaWYKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgIk8mTyZ8aSRPJjpzeW1saW5rIiwKLSAgICAgICAgICAgIGtleXdvcmRzLAotICAgICAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZzcmMsCi0gICAgICAgICAgICBwYXRoX2NvbnZlcnRlciwgJmRzdCwKLSAgICAgICAgICAgICZ0YXJnZXRfaXNfZGlyZWN0b3J5LAotI2lmZGVmIEhBVkVfU1lNTElOS0FUCi0gICAgICAgICAgICBkaXJfZmRfY29udmVydGVyLCAmZGlyX2ZkCi0jZWxzZQotICAgICAgICAgICAgZGlyX2ZkX3VuYXZhaWxhYmxlLCAmZGlyX2ZkCi0jZW5kaWYKLSAgICAgICAgICAgICkpCi0gICAgICAgIHJldHVybiBOVUxMOwotCi0gICAgaWYgKChzcmMubmFycm93ICYmIGRzdC53aWRlKSB8fCAoc3JjLndpZGUgJiYgZHN0Lm5hcnJvdykpIHsKKyAgICBpZiAoKHNyYy0+bmFycm93ICYmIGRzdC0+d2lkZSkgfHwgKHNyYy0+d2lkZSAmJiBkc3QtPm5hcnJvdykpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCiAgICAgICAgICAgICAic3ltbGluazogc3JjIGFuZCBkc3QgbXVzdCBiZSB0aGUgc2FtZSB0eXBlIik7Ci0gICAgICAgIHJldHVybl92YWx1ZSA9IE5VTEw7Ci0gICAgICAgIGdvdG8gZXhpdDsKKyAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCiAjaWZkZWYgTVNfV0lORE9XUwogCiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIGlmIChkc3Qud2lkZSkgeworICAgIGlmIChkc3QtPndpZGUpIHsKICAgICAgICAgLyogaWYgc3JjIGlzIGEgZGlyZWN0b3J5LCBlbnN1cmUgdGFyZ2V0X2lzX2RpcmVjdG9yeT09MSAqLwotICAgICAgICB0YXJnZXRfaXNfZGlyZWN0b3J5IHw9IF9jaGVja19kaXJXKHNyYy53aWRlLCBkc3Qud2lkZSk7Ci0gICAgICAgIHJlc3VsdCA9IFB5X0NyZWF0ZVN5bWJvbGljTGlua1coZHN0LndpZGUsIHNyYy53aWRlLAorICAgICAgICB0YXJnZXRfaXNfZGlyZWN0b3J5IHw9IF9jaGVja19kaXJXKHNyYy0+d2lkZSwgZHN0LT53aWRlKTsKKyAgICAgICAgcmVzdWx0ID0gUHlfQ3JlYXRlU3ltYm9saWNMaW5rVyhkc3QtPndpZGUsIHNyYy0+d2lkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRfaXNfZGlyZWN0b3J5KTsKICAgICB9CiAgICAgZWxzZSB7CiAgICAgICAgIC8qIGlmIHNyYyBpcyBhIGRpcmVjdG9yeSwgZW5zdXJlIHRhcmdldF9pc19kaXJlY3Rvcnk9PTEgKi8KLSAgICAgICAgdGFyZ2V0X2lzX2RpcmVjdG9yeSB8PSBfY2hlY2tfZGlyQShzcmMubmFycm93LCBkc3QubmFycm93KTsKLSAgICAgICAgcmVzdWx0ID0gUHlfQ3JlYXRlU3ltYm9saWNMaW5rQShkc3QubmFycm93LCBzcmMubmFycm93LAorICAgICAgICB0YXJnZXRfaXNfZGlyZWN0b3J5IHw9IF9jaGVja19kaXJBKHNyYy0+bmFycm93LCBkc3QtPm5hcnJvdyk7CisgICAgICAgIHJlc3VsdCA9IFB5X0NyZWF0ZVN5bWJvbGljTGlua0EoZHN0LT5uYXJyb3csIHNyYy0+bmFycm93LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldF9pc19kaXJlY3RvcnkpOwogICAgIH0KICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogCi0gICAgaWYgKCFyZXN1bHQpIHsKLSAgICAgICAgcmV0dXJuX3ZhbHVlID0gcGF0aF9lcnJvcjIoJnNyYywgJmRzdCk7Ci0gICAgICAgIGdvdG8gZXhpdDsKLSAgICB9CisgICAgaWYgKCFyZXN1bHQpCisgICAgICAgIHJldHVybiBwYXRoX2Vycm9yMihzcmMsIGRzdCk7CiAKICNlbHNlCiAKICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCiAjaWYgSEFWRV9TWU1MSU5LQVQKICAgICBpZiAoZGlyX2ZkICE9IERFRkFVTFRfRElSX0ZEKQotICAgICAgICByZXN1bHQgPSBzeW1saW5rYXQoc3JjLm5hcnJvdywgZGlyX2ZkLCBkc3QubmFycm93KTsKKyAgICAgICAgcmVzdWx0ID0gc3ltbGlua2F0KHNyYy0+bmFycm93LCBkaXJfZmQsIGRzdC0+bmFycm93KTsKICAgICBlbHNlCiAjZW5kaWYKLSAgICAgICAgcmVzdWx0ID0gc3ltbGluayhzcmMubmFycm93LCBkc3QubmFycm93KTsKKyAgICAgICAgcmVzdWx0ID0gc3ltbGluayhzcmMtPm5hcnJvdywgZHN0LT5uYXJyb3cpOwogICAgIFB5X0VORF9BTExPV19USFJFQURTCiAKLSAgICBpZiAocmVzdWx0KSB7Ci0gICAgICAgIHJldHVybl92YWx1ZSA9IHBhdGhfZXJyb3IyKCZzcmMsICZkc3QpOwotICAgICAgICBnb3RvIGV4aXQ7Ci0gICAgfQorICAgIGlmIChyZXN1bHQpCisgICAgICAgIHJldHVybiBwYXRoX2Vycm9yMihzcmMsIGRzdCk7CiAjZW5kaWYKIAotICAgIHJldHVybl92YWx1ZSA9IFB5X05vbmU7Ci0gICAgUHlfSU5DUkVGKFB5X05vbmUpOwotICAgIGdvdG8gZXhpdDsgLyogc2lsZW5jZSAidW51c2VkIGxhYmVsIiB3YXJuaW5nICovCi1leGl0OgotICAgIHBhdGhfY2xlYW51cCgmc3JjKTsKLSAgICBwYXRoX2NsZWFudXAoJmRzdCk7Ci0gICAgcmV0dXJuIHJldHVybl92YWx1ZTsKKyAgICBQeV9SRVRVUk5fTk9ORTsKIH0KLQogI2VuZGlmIC8qIEhBVkVfU1lNTElOSyAqLwogCiAKLSNpZiAhZGVmaW5lZChIQVZFX1JFQURMSU5LKSAmJiBkZWZpbmVkKE1TX1dJTkRPV1MpCi0KLXN0YXRpYyBQeU9iamVjdCAqCi13aW5fcmVhZGxpbmsoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQotewotICAgIHdjaGFyX3QgKnBhdGg7Ci0gICAgRFdPUkQgbl9ieXRlc19yZXR1cm5lZDsKLSAgICBEV09SRCBpb19yZXN1bHQ7Ci0gICAgUHlPYmplY3QgKnBvLCAqcmVzdWx0OwotICAgICAgICBpbnQgZGlyX2ZkOwotICAgIEhBTkRMRSByZXBhcnNlX3BvaW50X2hhbmRsZTsKLQotICAgIGNoYXIgdGFyZ2V0X2J1ZmZlcltNQVhJTVVNX1JFUEFSU0VfREFUQV9CVUZGRVJfU0laRV07Ci0gICAgUkVQQVJTRV9EQVRBX0JVRkZFUiAqcmRiID0gKFJFUEFSU0VfREFUQV9CVUZGRVIgKil0YXJnZXRfYnVmZmVyOwotICAgIHdjaGFyX3QgKnByaW50X25hbWU7Ci0KLSAgICBzdGF0aWMgY2hhciAqa2V5d29yZHNbXSA9IHsicGF0aCIsICJkaXJfZmQiLCBOVUxMfTsKLQotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgIlV8JE8mOnJlYWRsaW5rIiwga2V5d29yZHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICZwbywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgZGlyX2ZkX3VuYXZhaWxhYmxlLCAmZGlyX2ZkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICkpCi0gICAgICAgIHJldHVybiBOVUxMOwotCi0gICAgcGF0aCA9IFB5VW5pY29kZV9Bc1VuaWNvZGUocG8pOwotICAgIGlmIChwYXRoID09IE5VTEwpCi0gICAgICAgIHJldHVybiBOVUxMOwotCi0gICAgLyogRmlyc3QgZ2V0IGEgaGFuZGxlIHRvIHRoZSByZXBhcnNlIHBvaW50ICovCi0gICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIHJlcGFyc2VfcG9pbnRfaGFuZGxlID0gQ3JlYXRlRmlsZVcoCi0gICAgICAgIHBhdGgsCi0gICAgICAgIDAsCi0gICAgICAgIDAsCi0gICAgICAgIDAsCi0gICAgICAgIE9QRU5fRVhJU1RJTkcsCi0gICAgICAgIEZJTEVfRkxBR19PUEVOX1JFUEFSU0VfUE9JTlR8RklMRV9GTEFHX0JBQ0tVUF9TRU1BTlRJQ1MsCi0gICAgICAgIDApOwotICAgIFB5X0VORF9BTExPV19USFJFQURTCi0KLSAgICBpZiAocmVwYXJzZV9wb2ludF9oYW5kbGU9PUlOVkFMSURfSEFORExFX1ZBTFVFKQotICAgICAgICByZXR1cm4gd2luMzJfZXJyb3Jfb2JqZWN0KCJyZWFkbGluayIsIHBvKTsKLQotICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICAvKiBOZXcgY2FsbCBEZXZpY2VJb0NvbnRyb2wgdG8gcmVhZCB0aGUgcmVwYXJzZSBwb2ludCAqLwotICAgIGlvX3Jlc3VsdCA9IERldmljZUlvQ29udHJvbCgKLSAgICAgICAgcmVwYXJzZV9wb2ludF9oYW5kbGUsCi0gICAgICAgIEZTQ1RMX0dFVF9SRVBBUlNFX1BPSU5ULAotICAgICAgICAwLCAwLCAvKiBpbiBidWZmZXIgKi8KLSAgICAgICAgdGFyZ2V0X2J1ZmZlciwgc2l6ZW9mKHRhcmdldF9idWZmZXIpLAotICAgICAgICAmbl9ieXRlc19yZXR1cm5lZCwKLSAgICAgICAgMCAvKiB3ZSdyZSBub3QgdXNpbmcgT1ZFUkxBUFBFRF9JTyAqLwotICAgICAgICApOwotICAgIENsb3NlSGFuZGxlKHJlcGFyc2VfcG9pbnRfaGFuZGxlKTsKLSAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotCi0gICAgaWYgKGlvX3Jlc3VsdD09MCkKLSAgICAgICAgcmV0dXJuIHdpbjMyX2Vycm9yX29iamVjdCgicmVhZGxpbmsiLCBwbyk7Ci0KLSAgICBpZiAocmRiLT5SZXBhcnNlVGFnICE9IElPX1JFUEFSU0VfVEFHX1NZTUxJTkspCi0gICAgewotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKLSAgICAgICAgICAgICAgICAibm90IGEgc3ltYm9saWMgbGluayIpOwotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9Ci0gICAgcHJpbnRfbmFtZSA9IHJkYi0+U3ltYm9saWNMaW5rUmVwYXJzZUJ1ZmZlci5QYXRoQnVmZmVyICsKLSAgICAgICAgICAgICAgICAgcmRiLT5TeW1ib2xpY0xpbmtSZXBhcnNlQnVmZmVyLlByaW50TmFtZU9mZnNldDsKLQotICAgIHJlc3VsdCA9IFB5VW5pY29kZV9Gcm9tV2lkZUNoYXIocHJpbnRfbmFtZSwKLSAgICAgICAgICAgICAgICAgICAgcmRiLT5TeW1ib2xpY0xpbmtSZXBhcnNlQnVmZmVyLlByaW50TmFtZUxlbmd0aC8yKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0jZW5kaWYgLyogIWRlZmluZWQoSEFWRV9SRUFETElOSykgJiYgZGVmaW5lZChNU19XSU5ET1dTKSAqLwogCiAKIHN0YXRpYyBQeVN0cnVjdFNlcXVlbmNlX0ZpZWxkIHRpbWVzX3Jlc3VsdF9maWVsZHNbXSA9IHsKQEAgLTc1NTAsMTUgKzEwNDgxLDQ4IEBACiAgICAgcmV0dXJuIHZhbHVlOwogfQogCi1QeURvY19TVFJWQVIocG9zaXhfdGltZXNfX2RvY19fLAotInRpbWVzKCkgLT4gdGltZXNfcmVzdWx0XG5cblwKLVJldHVybiBhbiBvYmplY3QgY29udGFpbmluZyBmbG9hdGluZyBwb2ludCBudW1iZXJzIGluZGljYXRpbmcgcHJvY2Vzc1xuXAotdGltZXMuICBUaGUgb2JqZWN0IGJlaGF2ZXMgbGlrZSBhIG5hbWVkIHR1cGxlIHdpdGggdGhlc2UgZmllbGRzOlxuXAotICAodXRpbWUsIHN0aW1lLCBjdXRpbWUsIGNzdGltZSwgZWxhcHNlZF90aW1lKSIpOwogCi0jaWYgZGVmaW5lZChNU19XSU5ET1dTKQorI2lmbmRlZiBNU19XSU5ET1dTCisjZGVmaW5lIE5FRURfVElDS1NfUEVSX1NFQ09ORAorc3RhdGljIGxvbmcgdGlja3NfcGVyX3NlY29uZCA9IC0xOworI2VuZGlmIC8qIE1TX1dJTkRPV1MgKi8KKworLypbY2xpbmljIGlucHV0XQorb3MudGltZXMKKworUmV0dXJuIGEgY29sbGVjdGlvbiBjb250YWluaW5nIHByb2Nlc3MgdGltaW5nIGluZm9ybWF0aW9uLgorCitUaGUgb2JqZWN0IHJldHVybmVkIGJlaGF2ZXMgbGlrZSBhIG5hbWVkIHR1cGxlIHdpdGggdGhlc2UgZmllbGRzOgorICAodXRpbWUsIHN0aW1lLCBjdXRpbWUsIGNzdGltZSwgZWxhcHNlZF90aW1lKQorQWxsIGZpZWxkcyBhcmUgZmxvYXRpbmcgcG9pbnQgbnVtYmVycy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3RpbWVzX19kb2NfXywKKyJ0aW1lcygkbW9kdWxlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGEgY29sbGVjdGlvbiBjb250YWluaW5nIHByb2Nlc3MgdGltaW5nIGluZm9ybWF0aW9uLlxuIgorIlxuIgorIlRoZSBvYmplY3QgcmV0dXJuZWQgYmVoYXZlcyBsaWtlIGEgbmFtZWQgdHVwbGUgd2l0aCB0aGVzZSBmaWVsZHM6XG4iCisiICAodXRpbWUsIHN0aW1lLCBjdXRpbWUsIGNzdGltZSwgZWxhcHNlZF90aW1lKVxuIgorIkFsbCBmaWVsZHMgYXJlIGZsb2F0aW5nIHBvaW50IG51bWJlcnMuIik7CisKKyNkZWZpbmUgT1NfVElNRVNfTUVUSE9EREVGICAgIFwKKyAgICB7InRpbWVzIiwgKFB5Q0Z1bmN0aW9uKW9zX3RpbWVzLCBNRVRIX05PQVJHUywgb3NfdGltZXNfX2RvY19ffSwKKwogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3RpbWVzKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqbm9hcmdzKQorb3NfdGltZXNfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3RpbWVzKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIG9zX3RpbWVzX2ltcGwobW9kdWxlKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3RpbWVzX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1iODY4OTZkMDMxYTliNzY4IGlucHV0PTJiZjlkZjNkNmFiMmU0OGJdKi8KKyNpZmRlZiBNU19XSU5ET1dTCiB7CiAgICAgRklMRVRJTUUgY3JlYXRlLCBleGl0LCBrZXJuZWwsIHVzZXI7CiAgICAgSEFORExFIGhQcm9jOwpAQCAtNzU3OCwxMiArMTA1NDIsMTAgQEAKICAgICAgICAgKGRvdWJsZSkwLAogICAgICAgICAoZG91YmxlKTApOwogfQotI2Vsc2UgLyogTm90IFdpbmRvd3MgKi8KLSNkZWZpbmUgTkVFRF9USUNLU19QRVJfU0VDT05ECi1zdGF0aWMgbG9uZyB0aWNrc19wZXJfc2Vjb25kID0gLTE7Ci1zdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfdGltZXMoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpub2FyZ3MpCisjZWxzZSAvKiBNU19XSU5ET1dTICovCiB7CisKKwogICAgIHN0cnVjdCB0bXMgdDsKICAgICBjbG9ja190IGM7CiAgICAgZXJybm8gPSAwOwpAQCAtNzU5NywyMyArMTA1NTksNTMgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAoZG91YmxlKXQudG1zX2NzdGltZSAvIHRpY2tzX3Blcl9zZWNvbmQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgKGRvdWJsZSljIC8gdGlja3NfcGVyX3NlY29uZCk7CiB9Ci0jZW5kaWYKLQorI2VuZGlmIC8qIE1TX1dJTkRPV1MgKi8KICNlbmRpZiAvKiBIQVZFX1RJTUVTICovCiAKIAogI2lmZGVmIEhBVkVfR0VUU0lECi1QeURvY19TVFJWQVIocG9zaXhfZ2V0c2lkX19kb2NfXywKLSJnZXRzaWQocGlkKSAtPiBzaWRcblxuXAotQ2FsbCB0aGUgc3lzdGVtIGNhbGwgZ2V0c2lkKCkuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5nZXRzaWQKKworICAgIHBpZDogcGlkX3QKKyAgICAvCisKK0NhbGwgdGhlIHN5c3RlbSBjYWxsIGdldHNpZChwaWQpIGFuZCByZXR1cm4gdGhlIHJlc3VsdC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2dldHNpZF9fZG9jX18sCisiZ2V0c2lkKCRtb2R1bGUsIHBpZCwgLylcbiIKKyItLVxuIgorIlxuIgorIkNhbGwgdGhlIHN5c3RlbSBjYWxsIGdldHNpZChwaWQpIGFuZCByZXR1cm4gdGhlIHJlc3VsdC4iKTsKKworI2RlZmluZSBPU19HRVRTSURfTUVUSE9EREVGICAgIFwKKyAgICB7ImdldHNpZCIsIChQeUNGdW5jdGlvbilvc19nZXRzaWQsIE1FVEhfVkFSQVJHUywgb3NfZ2V0c2lkX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9nZXRzaWQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3NfZ2V0c2lkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGlkX3QgcGlkKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2dldHNpZChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKICAgICBwaWRfdCBwaWQ7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIiIgX1B5X1BBUlNFX1BJRCAiOmdldHNpZCIsCisgICAgICAgICZwaWQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfZ2V0c2lkX2ltcGwobW9kdWxlLCBwaWQpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19nZXRzaWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwaWRfdCBwaWQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZWE4MzkwZjM5NWY0ZTBlMSBpbnB1dD1lZWIyYjkyM2EzMGNlMDRlXSovCit7CiAgICAgaW50IHNpZDsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgX1B5X1BBUlNFX1BJRCAiOmdldHNpZCIsICZwaWQpKQotICAgICAgICByZXR1cm4gTlVMTDsKICAgICBzaWQgPSBnZXRzaWQocGlkKTsKICAgICBpZiAoc2lkIDwgMCkKICAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CkBAIC03NjIzLDUzICsxMDYxNSwxMzUgQEAKIAogCiAjaWZkZWYgSEFWRV9TRVRTSUQKLVB5RG9jX1NUUlZBUihwb3NpeF9zZXRzaWRfX2RvY19fLAotInNldHNpZCgpXG5cblwKLUNhbGwgdGhlIHN5c3RlbSBjYWxsIHNldHNpZCgpLiIpOworLypbY2xpbmljIGlucHV0XQorb3Muc2V0c2lkCisKK0NhbGwgdGhlIHN5c3RlbSBjYWxsIHNldHNpZCgpLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfc2V0c2lkX19kb2NfXywKKyJzZXRzaWQoJG1vZHVsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIkNhbGwgdGhlIHN5c3RlbSBjYWxsIHNldHNpZCgpLiIpOworCisjZGVmaW5lIE9TX1NFVFNJRF9NRVRIT0RERUYgICAgXAorICAgIHsic2V0c2lkIiwgKFB5Q0Z1bmN0aW9uKW9zX3NldHNpZCwgTUVUSF9OT0FSR1MsIG9zX3NldHNpZF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfc2V0c2lkKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqbm9hcmdzKQorb3Nfc2V0c2lkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zZXRzaWQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gb3Nfc2V0c2lkX2ltcGwobW9kdWxlKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NldHNpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MmE5YTE0MzVkOGQ3NjRkNSBpbnB1dD01ZmZmNDU4NThlMmYwNzc2XSovCiB7CiAgICAgaWYgKHNldHNpZCgpIDwgMCkKICAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7Ci0gICAgUHlfSU5DUkVGKFB5X05vbmUpOwotICAgIHJldHVybiBQeV9Ob25lOworICAgIFB5X1JFVFVSTl9OT05FOwogfQogI2VuZGlmIC8qIEhBVkVfU0VUU0lEICovCiAKKwogI2lmZGVmIEhBVkVfU0VUUEdJRAotUHlEb2NfU1RSVkFSKHBvc2l4X3NldHBnaWRfX2RvY19fLAotInNldHBnaWQocGlkLCBwZ3JwKVxuXG5cCi1DYWxsIHRoZSBzeXN0ZW0gY2FsbCBzZXRwZ2lkKCkuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5zZXRwZ2lkCisKKyAgICBwaWQ6IHBpZF90CisgICAgcGdycDogcGlkX3QKKyAgICAvCisKK0NhbGwgdGhlIHN5c3RlbSBjYWxsIHNldHBnaWQocGlkLCBwZ3JwKS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3NldHBnaWRfX2RvY19fLAorInNldHBnaWQoJG1vZHVsZSwgcGlkLCBwZ3JwLCAvKVxuIgorIi0tXG4iCisiXG4iCisiQ2FsbCB0aGUgc3lzdGVtIGNhbGwgc2V0cGdpZChwaWQsIHBncnApLiIpOworCisjZGVmaW5lIE9TX1NFVFBHSURfTUVUSE9EREVGICAgIFwKKyAgICB7InNldHBnaWQiLCAoUHlDRnVuY3Rpb24pb3Nfc2V0cGdpZCwgTUVUSF9WQVJBUkdTLCBvc19zZXRwZ2lkX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9zZXRwZ2lkKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX3NldHBnaWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwaWRfdCBwaWQsIHBpZF90IHBncnApOworCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2V0cGdpZChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKICAgICBwaWRfdCBwaWQ7Ci0gICAgaW50IHBncnA7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIF9QeV9QQVJTRV9QSUQgImk6c2V0cGdpZCIsICZwaWQsICZwZ3JwKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgcGlkX3QgcGdycDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiIiBfUHlfUEFSU0VfUElEICIiIF9QeV9QQVJTRV9QSUQgIjpzZXRwZ2lkIiwKKyAgICAgICAgJnBpZCwgJnBncnApKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3Nfc2V0cGdpZF9pbXBsKG1vZHVsZSwgcGlkLCBwZ3JwKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2V0cGdpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBpZF90IHBpZCwgcGlkX3QgcGdycCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD03YWQ3OWI3MjVmODkwZTFmIGlucHV0PWZjZWIzOTVlY2E1NzJlMWFdKi8KK3sKICAgICBpZiAoc2V0cGdpZChwaWQsIHBncnApIDwgMCkKICAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7Ci0gICAgUHlfSU5DUkVGKFB5X05vbmUpOwotICAgIHJldHVybiBQeV9Ob25lOworICAgIFB5X1JFVFVSTl9OT05FOwogfQogI2VuZGlmIC8qIEhBVkVfU0VUUEdJRCAqLwogCiAKICNpZmRlZiBIQVZFX1RDR0VUUEdSUAotUHlEb2NfU1RSVkFSKHBvc2l4X3RjZ2V0cGdycF9fZG9jX18sCi0idGNnZXRwZ3JwKGZkKSAtPiBwZ2lkXG5cblwKLVJldHVybiB0aGUgcHJvY2VzcyBncm91cCBhc3NvY2lhdGVkIHdpdGggdGhlIHRlcm1pbmFsIGdpdmVuIGJ5IGEgZmQuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy50Y2dldHBncnAKKworICAgIGZkOiBpbnQKKyAgICAvCisKK1JldHVybiB0aGUgcHJvY2VzcyBncm91cCBhc3NvY2lhdGVkIHdpdGggdGhlIHRlcm1pbmFsIHNwZWNpZmllZCBieSBmZC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3RjZ2V0cGdycF9fZG9jX18sCisidGNnZXRwZ3JwKCRtb2R1bGUsIGZkLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSBwcm9jZXNzIGdyb3VwIGFzc29jaWF0ZWQgd2l0aCB0aGUgdGVybWluYWwgc3BlY2lmaWVkIGJ5IGZkLiIpOworCisjZGVmaW5lIE9TX1RDR0VUUEdSUF9NRVRIT0RERUYgICAgXAorICAgIHsidGNnZXRwZ3JwIiwgKFB5Q0Z1bmN0aW9uKW9zX3RjZ2V0cGdycCwgTUVUSF9WQVJBUkdTLCBvc190Y2dldHBncnBfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3RjZ2V0cGdycChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc190Y2dldHBncnBfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfdGNnZXRwZ3JwKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogeworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwogICAgIGludCBmZDsKLSAgICBwaWRfdCBwZ2lkOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaTp0Y2dldHBncnAiLCAmZmQpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBwZ2lkID0gdGNnZXRwZ3JwKGZkKTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiaTp0Y2dldHBncnAiLAorICAgICAgICAmZmQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfdGNnZXRwZ3JwX2ltcGwobW9kdWxlLCBmZCk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3RjZ2V0cGdycF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1hYmNmNTJlZDRjOGQyMmNiIGlucHV0PTdmNmMxOGVhYzEwYWRhODZdKi8KK3sKKyAgICBwaWRfdCBwZ2lkID0gdGNnZXRwZ3JwKGZkKTsKICAgICBpZiAocGdpZCA8IDApCiAgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwogICAgIHJldHVybiBQeUxvbmdfRnJvbVBpZChwZ2lkKTsKQEAgLTc2NzgsMjEgKzEwNzUyLDUyIEBACiAKIAogI2lmZGVmIEhBVkVfVENTRVRQR1JQCi1QeURvY19TVFJWQVIocG9zaXhfdGNzZXRwZ3JwX19kb2NfXywKLSJ0Y3NldHBncnAoZmQsIHBnaWQpXG5cblwKLVNldCB0aGUgcHJvY2VzcyBncm91cCBhc3NvY2lhdGVkIHdpdGggdGhlIHRlcm1pbmFsIGdpdmVuIGJ5IGEgZmQuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy50Y3NldHBncnAKKworICAgIGZkOiBpbnQKKyAgICBwZ2lkOiBwaWRfdAorICAgIC8KKworU2V0IHRoZSBwcm9jZXNzIGdyb3VwIGFzc29jaWF0ZWQgd2l0aCB0aGUgdGVybWluYWwgc3BlY2lmaWVkIGJ5IGZkLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfdGNzZXRwZ3JwX19kb2NfXywKKyJ0Y3NldHBncnAoJG1vZHVsZSwgZmQsIHBnaWQsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJTZXQgdGhlIHByb2Nlc3MgZ3JvdXAgYXNzb2NpYXRlZCB3aXRoIHRoZSB0ZXJtaW5hbCBzcGVjaWZpZWQgYnkgZmQuIik7CisKKyNkZWZpbmUgT1NfVENTRVRQR1JQX01FVEhPRERFRiAgICBcCisgICAgeyJ0Y3NldHBncnAiLCAoUHlDRnVuY3Rpb24pb3NfdGNzZXRwZ3JwLCBNRVRIX1ZBUkFSR1MsIG9zX3Rjc2V0cGdycF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfdGNzZXRwZ3JwKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX3Rjc2V0cGdycF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCwgcGlkX3QgcGdpZCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc190Y3NldHBncnAoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CiAgICAgaW50IGZkOwogICAgIHBpZF90IHBnaWQ7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpIiBfUHlfUEFSU0VfUElEICI6dGNzZXRwZ3JwIiwgJmZkLCAmcGdpZCkpCi0gICAgICAgIHJldHVybiBOVUxMOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJpIiBfUHlfUEFSU0VfUElEICI6dGNzZXRwZ3JwIiwKKyAgICAgICAgJmZkLCAmcGdpZCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc190Y3NldHBncnBfaW1wbChtb2R1bGUsIGZkLCBwZ2lkKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfdGNzZXRwZ3JwX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkLCBwaWRfdCBwZ2lkKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTc2ZjliYjhmZDAwZjIwZjUgaW5wdXQ9NWJkYzk5N2M2YTYxOTAyMF0qLworewogICAgIGlmICh0Y3NldHBncnAoZmQsIHBnaWQpIDwgMCkKICAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7Ci0gICAgUHlfSU5DUkVGKFB5X05vbmUpOwotICAgIHJldHVybiBQeV9Ob25lOworICAgIFB5X1JFVFVSTl9OT05FOwogfQogI2VuZGlmIC8qIEhBVkVfVENTRVRQR1JQICovCiAKQEAgLTc3MDIsMTIxICsxMDgwNywyMjQgQEAKIGV4dGVybiBpbnQgX1B5X29wZW5fY2xvZXhlY193b3JrczsKICNlbmRpZgogCi1QeURvY19TVFJWQVIocG9zaXhfb3Blbl9fZG9jX18sCi0ib3BlbihwYXRoLCBmbGFncywgbW9kZT0wbzc3NywgKiwgZGlyX2ZkPU5vbmUpXG5cblwKLU9wZW4gYSBmaWxlIGZvciBsb3cgbGV2ZWwgSU8uICBSZXR1cm5zIGEgZmlsZSBoYW5kbGUgKGludGVnZXIpLlxuXAotXG5cCi1JZiBkaXJfZmQgaXMgbm90IE5vbmUsIGl0IHNob3VsZCBiZSBhIGZpbGUgZGVzY3JpcHRvciBvcGVuIHRvIGEgZGlyZWN0b3J5LFxuXAotICBhbmQgcGF0aCBzaG91bGQgYmUgcmVsYXRpdmU7IHBhdGggd2lsbCB0aGVuIGJlIHJlbGF0aXZlIHRvIHRoYXQgZGlyZWN0b3J5LlxuXAotZGlyX2ZkIG1heSBub3QgYmUgaW1wbGVtZW50ZWQgb24geW91ciBwbGF0Zm9ybS5cblwKLSAgSWYgaXQgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHdpbGwgcmFpc2UgYSBOb3RJbXBsZW1lbnRlZEVycm9yLiIpOworCisvKltjbGluaWMgaW5wdXRdCitvcy5vcGVuIC0+IGludAorICAgIHBhdGg6IHBhdGhfdAorICAgIGZsYWdzOiBpbnQKKyAgICBtb2RlOiBpbnQgPSAwbzc3NworICAgICoKKyAgICBkaXJfZmQ6IGRpcl9mZChyZXF1aXJlcz0nb3BlbmF0JykgPSBOb25lCisKKyMgIm9wZW4ocGF0aCwgZmxhZ3MsIG1vZGU9MG83NzcsICosIGRpcl9mZD1Ob25lKVxuXG5cCisKK09wZW4gYSBmaWxlIGZvciBsb3cgbGV2ZWwgSU8uICBSZXR1cm5zIGEgZmlsZSBkZXNjcmlwdG9yIChpbnRlZ2VyKS4KKworSWYgZGlyX2ZkIGlzIG5vdCBOb25lLCBpdCBzaG91bGQgYmUgYSBmaWxlIGRlc2NyaXB0b3Igb3BlbiB0byBhIGRpcmVjdG9yeSwKKyAgYW5kIHBhdGggc2hvdWxkIGJlIHJlbGF0aXZlOyBwYXRoIHdpbGwgdGhlbiBiZSByZWxhdGl2ZSB0byB0aGF0IGRpcmVjdG9yeS4KK2Rpcl9mZCBtYXkgbm90IGJlIGltcGxlbWVudGVkIG9uIHlvdXIgcGxhdGZvcm0uCisgIElmIGl0IGlzIHVuYXZhaWxhYmxlLCB1c2luZyBpdCB3aWxsIHJhaXNlIGEgTm90SW1wbGVtZW50ZWRFcnJvci4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX29wZW5fX2RvY19fLAorIm9wZW4oJG1vZHVsZSwgLywgcGF0aCwgZmxhZ3MsIG1vZGU9NTExLCAqLCBkaXJfZmQ9Tm9uZSlcbiIKKyItLVxuIgorIlxuIgorIk9wZW4gYSBmaWxlIGZvciBsb3cgbGV2ZWwgSU8uICBSZXR1cm5zIGEgZmlsZSBkZXNjcmlwdG9yIChpbnRlZ2VyKS5cbiIKKyJcbiIKKyJJZiBkaXJfZmQgaXMgbm90IE5vbmUsIGl0IHNob3VsZCBiZSBhIGZpbGUgZGVzY3JpcHRvciBvcGVuIHRvIGEgZGlyZWN0b3J5LFxuIgorIiAgYW5kIHBhdGggc2hvdWxkIGJlIHJlbGF0aXZlOyBwYXRoIHdpbGwgdGhlbiBiZSByZWxhdGl2ZSB0byB0aGF0IGRpcmVjdG9yeS5cbiIKKyJkaXJfZmQgbWF5IG5vdCBiZSBpbXBsZW1lbnRlZCBvbiB5b3VyIHBsYXRmb3JtLlxuIgorIiAgSWYgaXQgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHdpbGwgcmFpc2UgYSBOb3RJbXBsZW1lbnRlZEVycm9yLiIpOworCisjZGVmaW5lIE9TX09QRU5fTUVUSE9EREVGICAgIFwKKyAgICB7Im9wZW4iLCAoUHlDRnVuY3Rpb24pb3Nfb3BlbiwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX29wZW5fX2RvY19ffSwKKworc3RhdGljIGludAorb3Nfb3Blbl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgaW50IGZsYWdzLCBpbnQgbW9kZSwgaW50IGRpcl9mZCk7CiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9vcGVuKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK29zX29wZW4oUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgcGF0aF90IHBhdGg7Ci0gICAgaW50IGZsYWdzOwotICAgIGludCBtb2RlID0gMDc3NzsKLSAgICBpbnQgZGlyX2ZkID0gREVGQVVMVF9ESVJfRkQ7Ci0gICAgaW50IGZkOwogICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwotICAgIHN0YXRpYyBjaGFyICprZXl3b3Jkc1tdID0geyJwYXRoIiwgImZsYWdzIiwgIm1vZGUiLCAiZGlyX2ZkIiwgTlVMTH07CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJwYXRoIiwgImZsYWdzIiwgIm1vZGUiLCAiZGlyX2ZkIiwgTlVMTH07CisgICAgcGF0aF90IHBhdGggPSBQQVRIX1RfSU5JVElBTElaRSgib3BlbiIsICJwYXRoIiwgMCwgMCk7CisgICAgaW50IGZsYWdzOworICAgIGludCBtb2RlID0gNTExOworICAgIGludCBkaXJfZmQgPSBERUZBVUxUX0RJUl9GRDsKKyAgICBpbnQgX3JldHVybl92YWx1ZTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgIk8maXxpJE8mOm9wZW4iLCBfa2V5d29yZHMsCisgICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwgJmZsYWdzLCAmbW9kZSwgT1BFTkFUX0RJUl9GRF9DT05WRVJURVIsICZkaXJfZmQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgX3JldHVybl92YWx1ZSA9IG9zX29wZW5faW1wbChtb2R1bGUsICZwYXRoLCBmbGFncywgbW9kZSwgZGlyX2ZkKTsKKyAgICBpZiAoKF9yZXR1cm5fdmFsdWUgPT0gLTEpICYmIFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBQeUxvbmdfRnJvbUxvbmcoKGxvbmcpX3JldHVybl92YWx1ZSk7CisKK2V4aXQ6CisgICAgLyogQ2xlYW51cCBmb3IgcGF0aCAqLworICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7CisKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgaW50Citvc19vcGVuX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoLCBpbnQgZmxhZ3MsIGludCBtb2RlLCBpbnQgZGlyX2ZkKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTA1YjY4ZmM0ZWQ1ZTI5YzkgaW5wdXQ9YWQ4NjIzYjI5YWNkMjkzNF0qLworeworICAgIGludCBmZDsKKyAgICBpbnQgYXN5bmNfZXJyID0gMDsKKwogI2lmZGVmIE9fQ0xPRVhFQwogICAgIGludCAqYXRvbWljX2ZsYWdfd29ya3MgPSAmX1B5X29wZW5fY2xvZXhlY193b3JrczsKICNlbGlmICFkZWZpbmVkKE1TX1dJTkRPV1MpCiAgICAgaW50ICphdG9taWNfZmxhZ193b3JrcyA9IE5VTEw7CiAjZW5kaWYKIAotICAgIG1lbXNldCgmcGF0aCwgMCwgc2l6ZW9mKHBhdGgpKTsKLSAgICBwYXRoLmZ1bmN0aW9uX25hbWUgPSAib3BlbiI7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAiTyZpfGkkTyY6b3BlbiIsIGtleXdvcmRzLAotICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsCi0gICAgICAgICZmbGFncywgJm1vZGUsCi0jaWZkZWYgSEFWRV9PUEVOQVQKLSAgICAgICAgZGlyX2ZkX2NvbnZlcnRlciwgJmRpcl9mZAotI2Vsc2UKLSAgICAgICAgZGlyX2ZkX3VuYXZhaWxhYmxlLCAmZGlyX2ZkCi0jZW5kaWYKLSAgICAgICAgKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KICNpZmRlZiBNU19XSU5ET1dTCiAgICAgZmxhZ3MgfD0gT19OT0lOSEVSSVQ7CiAjZWxpZiBkZWZpbmVkKE9fQ0xPRVhFQykKICAgICBmbGFncyB8PSBPX0NMT0VYRUM7CiAjZW5kaWYKIAotICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICBkbyB7CisgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKICNpZmRlZiBNU19XSU5ET1dTCi0gICAgaWYgKHBhdGgud2lkZSkKLSAgICAgICAgZmQgPSBfd29wZW4ocGF0aC53aWRlLCBmbGFncywgbW9kZSk7Ci0gICAgZWxzZQorICAgICAgICBpZiAocGF0aC0+d2lkZSkKKyAgICAgICAgICAgIGZkID0gX3dvcGVuKHBhdGgtPndpZGUsIGZsYWdzLCBtb2RlKTsKKyAgICAgICAgZWxzZQogI2VuZGlmCiAjaWZkZWYgSEFWRV9PUEVOQVQKLSAgICBpZiAoZGlyX2ZkICE9IERFRkFVTFRfRElSX0ZEKQotICAgICAgICBmZCA9IG9wZW5hdChkaXJfZmQsIHBhdGgubmFycm93LCBmbGFncywgbW9kZSk7Ci0gICAgZWxzZQorICAgICAgICBpZiAoZGlyX2ZkICE9IERFRkFVTFRfRElSX0ZEKQorICAgICAgICAgICAgZmQgPSBvcGVuYXQoZGlyX2ZkLCBwYXRoLT5uYXJyb3csIGZsYWdzLCBtb2RlKTsKKyAgICAgICAgZWxzZQogI2VuZGlmCi0gICAgICAgIGZkID0gb3BlbihwYXRoLm5hcnJvdywgZmxhZ3MsIG1vZGUpOwotICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgICAgICAgICBmZCA9IG9wZW4ocGF0aC0+bmFycm93LCBmbGFncywgbW9kZSk7CisgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgfSB3aGlsZSAoZmQgPCAwICYmIGVycm5vID09IEVJTlRSICYmICEoYXN5bmNfZXJyID0gUHlFcnJfQ2hlY2tTaWduYWxzKCkpKTsKIAogICAgIGlmIChmZCA9PSAtMSkgewotICAgICAgICBQeUVycl9TZXRGcm9tRXJybm9XaXRoRmlsZW5hbWVPYmplY3QoUHlFeGNfT1NFcnJvciwgcGF0aC5vYmplY3QpOwotICAgICAgICBnb3RvIGV4aXQ7CisgICAgICAgIGlmICghYXN5bmNfZXJyKQorICAgICAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vV2l0aEZpbGVuYW1lT2JqZWN0KFB5RXhjX09TRXJyb3IsIHBhdGgtPm9iamVjdCk7CisgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAKICNpZm5kZWYgTVNfV0lORE9XUwogICAgIGlmIChfUHlfc2V0X2luaGVyaXRhYmxlKGZkLCAwLCBhdG9taWNfZmxhZ193b3JrcykgPCAwKSB7CiAgICAgICAgIGNsb3NlKGZkKTsKLSAgICAgICAgZ290byBleGl0OworICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogI2VuZGlmCiAKLSAgICByZXR1cm5fdmFsdWUgPSBQeUxvbmdfRnJvbUxvbmcoKGxvbmcpZmQpOworICAgIHJldHVybiBmZDsKK30KKworCisvKltjbGluaWMgaW5wdXRdCitvcy5jbG9zZQorCisgICAgZmQ6IGludAorCitDbG9zZSBhIGZpbGUgZGVzY3JpcHRvci4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2Nsb3NlX19kb2NfXywKKyJjbG9zZSgkbW9kdWxlLCAvLCBmZClcbiIKKyItLVxuIgorIlxuIgorIkNsb3NlIGEgZmlsZSBkZXNjcmlwdG9yLiIpOworCisjZGVmaW5lIE9TX0NMT1NFX01FVEhPRERFRiAgICBcCisgICAgeyJjbG9zZSIsIChQeUNGdW5jdGlvbilvc19jbG9zZSwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX2Nsb3NlX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19jbG9zZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19jbG9zZShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7ImZkIiwgTlVMTH07CisgICAgaW50IGZkOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiaTpjbG9zZSIsIF9rZXl3b3JkcywKKyAgICAgICAgJmZkKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX2Nsb3NlX2ltcGwobW9kdWxlLCBmZCk7CiAKIGV4aXQ6Ci0gICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKICAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOwogfQogCi1QeURvY19TVFJWQVIocG9zaXhfY2xvc2VfX2RvY19fLAotImNsb3NlKGZkKVxuXG5cCi1DbG9zZSBhIGZpbGUgZGVzY3JpcHRvciAoZm9yIGxvdyBsZXZlbCBJTykuIik7Ci0KLS8qCi1UaGUgdW5kZXJzY29yZSBhdCBlbmQgb2YgZnVuY3Rpb24gbmFtZSBhdm9pZHMgYSBuYW1lIGNsYXNoIHdpdGggdGhlIGxpYmMKLWZ1bmN0aW9uIHBvc2l4X2Nsb3NlLgotKi8KIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9jbG9zZV8oUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3NfY2xvc2VfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9OTI3MDA0ZTI5YWQ1NTgwOCBpbnB1dD0yYmM0MjQ1MWNhNWMzMjIzXSovCiB7Ci0gICAgaW50IGZkLCByZXM7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpOmNsb3NlIiwgJmZkKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaW50IHJlczsKICAgICBpZiAoIV9QeVZlcmlmeV9mZChmZCkpCiAgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOworICAgIC8qIFdlIGRvIG5vdCB3YW50IHRvIHJldHJ5IHVwb24gRUlOVFI6IHNlZSBodHRwOi8vbHduLm5ldC9BcnRpY2xlcy81NzY0NzgvCisgICAgICogYW5kIGh0dHA6Ly9saW51eC5kZXJrZWlsZXIuY29tL01haWxpbmctTGlzdHMvS2VybmVsLzIwMDUtMDkvMzAwMC5odG1sCisgICAgICogZm9yIG1vcmUgZGV0YWlscy4KKyAgICAgKi8KICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCiAgICAgcmVzID0gY2xvc2UoZmQpOwogICAgIFB5X0VORF9BTExPV19USFJFQURTCiAgICAgaWYgKHJlcyA8IDApCiAgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwotICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKLSAgICByZXR1cm4gUHlfTm9uZTsKKyAgICBQeV9SRVRVUk5fTk9ORTsKIH0KIAogCi1QeURvY19TVFJWQVIocG9zaXhfY2xvc2VyYW5nZV9fZG9jX18sCi0iY2xvc2VyYW5nZShmZF9sb3csIGZkX2hpZ2gpXG5cblwKLUNsb3NlcyBhbGwgZmlsZSBkZXNjcmlwdG9ycyBpbiBbZmRfbG93LCBmZF9oaWdoKSwgaWdub3JpbmcgZXJyb3JzLiIpOworLypbY2xpbmljIGlucHV0XQorb3MuY2xvc2VyYW5nZQorCisgICAgZmRfbG93OiBpbnQKKyAgICBmZF9oaWdoOiBpbnQKKyAgICAvCisKK0Nsb3NlcyBhbGwgZmlsZSBkZXNjcmlwdG9ycyBpbiBbZmRfbG93LCBmZF9oaWdoKSwgaWdub3JpbmcgZXJyb3JzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfY2xvc2VyYW5nZV9fZG9jX18sCisiY2xvc2VyYW5nZSgkbW9kdWxlLCBmZF9sb3csIGZkX2hpZ2gsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJDbG9zZXMgYWxsIGZpbGUgZGVzY3JpcHRvcnMgaW4gW2ZkX2xvdywgZmRfaGlnaCksIGlnbm9yaW5nIGVycm9ycy4iKTsKKworI2RlZmluZSBPU19DTE9TRVJBTkdFX01FVEhPRERFRiAgICBcCisgICAgeyJjbG9zZXJhbmdlIiwgKFB5Q0Z1bmN0aW9uKW9zX2Nsb3NlcmFuZ2UsIE1FVEhfVkFSQVJHUywgb3NfY2xvc2VyYW5nZV9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfY2xvc2VyYW5nZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19jbG9zZXJhbmdlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkX2xvdywgaW50IGZkX2hpZ2gpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfY2xvc2VyYW5nZShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBpbnQgZmRfZnJvbSwgZmRfdG8sIGk7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpaTpjbG9zZXJhbmdlIiwgJmZkX2Zyb20sICZmZF90bykpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIGludCBmZF9sb3c7CisgICAgaW50IGZkX2hpZ2g7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgImlpOmNsb3NlcmFuZ2UiLAorICAgICAgICAmZmRfbG93LCAmZmRfaGlnaCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19jbG9zZXJhbmdlX2ltcGwobW9kdWxlLCBmZF9sb3csIGZkX2hpZ2gpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19jbG9zZXJhbmdlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkX2xvdywgaW50IGZkX2hpZ2gpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MGE5MjllY2UzODY4MTFjMyBpbnB1dD01ODU1YTNkMDUzZWJkNGVjXSovCit7CisgICAgaW50IGk7CiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIGZvciAoaSA9IGZkX2Zyb207IGkgPCBmZF90bzsgaSsrKQorICAgIGZvciAoaSA9IGZkX2xvdzsgaSA8IGZkX2hpZ2g7IGkrKykKICAgICAgICAgaWYgKF9QeVZlcmlmeV9mZChpKSkKICAgICAgICAgICAgIGNsb3NlKGkpOwogICAgIFB5X0VORF9BTExPV19USFJFQURTCkBAIC03ODI0LDM2ICsxMTAzMiw5OSBAQAogfQogCiAKLVB5RG9jX1NUUlZBUihwb3NpeF9kdXBfX2RvY19fLAotImR1cChmZCkgLT4gZmQyXG5cblwKLVJldHVybiBhIGR1cGxpY2F0ZSBvZiBhIGZpbGUgZGVzY3JpcHRvci4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmR1cCAtPiBpbnQKKworICAgIGZkOiBpbnQKKyAgICAvCisKK1JldHVybiBhIGR1cGxpY2F0ZSBvZiBhIGZpbGUgZGVzY3JpcHRvci4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2R1cF9fZG9jX18sCisiZHVwKCRtb2R1bGUsIGZkLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGEgZHVwbGljYXRlIG9mIGEgZmlsZSBkZXNjcmlwdG9yLiIpOworCisjZGVmaW5lIE9TX0RVUF9NRVRIT0RERUYgICAgXAorICAgIHsiZHVwIiwgKFB5Q0Z1bmN0aW9uKW9zX2R1cCwgTUVUSF9WQVJBUkdTLCBvc19kdXBfX2RvY19ffSwKKworc3RhdGljIGludAorb3NfZHVwX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2R1cChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19kdXAoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CiAgICAgaW50IGZkOworICAgIGludCBfcmV0dXJuX3ZhbHVlOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpOmR1cCIsICZmZCkpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiaTpkdXAiLAorICAgICAgICAmZmQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgX3JldHVybl92YWx1ZSA9IG9zX2R1cF9pbXBsKG1vZHVsZSwgZmQpOworICAgIGlmICgoX3JldHVybl92YWx1ZSA9PSAtMSkgJiYgUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IFB5TG9uZ19Gcm9tTG9uZygobG9uZylfcmV0dXJuX3ZhbHVlKTsKIAotICAgIGZkID0gX1B5X2R1cChmZCk7Ci0gICAgaWYgKGZkID09IC0xKQotICAgICAgICByZXR1cm4gTlVMTDsKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KIAotICAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmcoKGxvbmcpZmQpOworc3RhdGljIGludAorb3NfZHVwX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTc1OTQzZTA1N2IyNWUxYmQgaW5wdXQ9NmYxMGY3ZWE5N2Y3ODUyYV0qLworeworICAgIHJldHVybiBfUHlfZHVwKGZkKTsKIH0KIAogCi1QeURvY19TVFJWQVIocG9zaXhfZHVwMl9fZG9jX18sCi0iZHVwMihvbGRfZmQsIG5ld19mZClcblxuXAotRHVwbGljYXRlIGZpbGUgZGVzY3JpcHRvci4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmR1cDIKKyAgICBmZDogaW50CisgICAgZmQyOiBpbnQKKyAgICBpbmhlcml0YWJsZTogYm9vbD1UcnVlCisKK0R1cGxpY2F0ZSBmaWxlIGRlc2NyaXB0b3IuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19kdXAyX19kb2NfXywKKyJkdXAyKCRtb2R1bGUsIC8sIGZkLCBmZDIsIGluaGVyaXRhYmxlPVRydWUpXG4iCisiLS1cbiIKKyJcbiIKKyJEdXBsaWNhdGUgZmlsZSBkZXNjcmlwdG9yLiIpOworCisjZGVmaW5lIE9TX0RVUDJfTUVUSE9EREVGICAgIFwKKyAgICB7ImR1cDIiLCAoUHlDRnVuY3Rpb24pb3NfZHVwMiwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX2R1cDJfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2R1cDIoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQorb3NfZHVwMl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCwgaW50IGZkMiwgaW50IGluaGVyaXRhYmxlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2R1cDIoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgc3RhdGljIGNoYXIgKmtleXdvcmRzW10gPSB7ImZkIiwgImZkMiIsICJpbmhlcml0YWJsZSIsIE5VTEx9OwotICAgIGludCBmZCwgZmQyOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsiZmQiLCAiZmQyIiwgImluaGVyaXRhYmxlIiwgTlVMTH07CisgICAgaW50IGZkOworICAgIGludCBmZDI7CiAgICAgaW50IGluaGVyaXRhYmxlID0gMTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgImlpfHA6ZHVwMiIsIF9rZXl3b3JkcywKKyAgICAgICAgJmZkLCAmZmQyLCAmaW5oZXJpdGFibGUpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfZHVwMl9pbXBsKG1vZHVsZSwgZmQsIGZkMiwgaW5oZXJpdGFibGUpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19kdXAyX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkLCBpbnQgZmQyLCBpbnQgaW5oZXJpdGFibGUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NTMxZTQ4MmRkMTFhOTlhMCBpbnB1dD03NmU5NmY1MTFiZTAzNTJmXSovCit7CiAgICAgaW50IHJlczsKICNpZiBkZWZpbmVkKEhBVkVfRFVQMykgJiYgXAogICAgICEoZGVmaW5lZChIQVZFX0ZDTlRMX0gpICYmIGRlZmluZWQoRl9EVVAyRkRfQ0xPRVhFQykpCkBAIC03ODYxLDEzICsxMTEzMiwxMyBAQAogICAgIGludCBkdXAzX3dvcmtzID0gLTE7CiAjZW5kaWYKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgImlpfGk6ZHVwMiIsIGtleXdvcmRzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZmZCwgJmZkMiwgJmluaGVyaXRhYmxlKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KICAgICBpZiAoIV9QeVZlcmlmeV9mZF9kdXAyKGZkLCBmZDIpKQogICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKIAorICAgIC8qIGR1cDIoKSBjYW4gZmFpbCB3aXRoIEVJTlRSIGlmIHRoZSB0YXJnZXQgRkQgaXMgYWxyZWFkeSBvcGVuLCBiZWNhdXNlIGl0CisgICAgICogdGhlbiBoYXMgdG8gYmUgY2xvc2VkLiBTZWUgb3NfY2xvc2VfaW1wbCgpIGZvciB3aHkgd2UgZG9uJ3QgaGFuZGxlIEVJTlRSCisgICAgICogdXBvbiBjbG9zZSgpLCBhbmQgdGhlcmVmb3JlIGJlbG93LgorICAgICAqLwogI2lmZGVmIE1TX1dJTkRPV1MKICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCiAgICAgcmVzID0gZHVwMihmZCwgZmQyKTsKQEAgLTc5MjUsMzAgKzExMTk2LDcxIEBACiAKICNlbmRpZgogCi0gICAgUHlfSU5DUkVGKFB5X05vbmUpOwotICAgIHJldHVybiBQeV9Ob25lOworICAgIFB5X1JFVFVSTl9OT05FOwogfQogCisKICNpZmRlZiBIQVZFX0xPQ0tGCi1QeURvY19TVFJWQVIocG9zaXhfbG9ja2ZfX2RvY19fLAotImxvY2tmKGZkLCBjbWQsIGxlbilcblxuXAotQXBwbHksIHRlc3Qgb3IgcmVtb3ZlIGEgUE9TSVggbG9jayBvbiBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvci5cblxuXAotZmQgaXMgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuXG5cCi1jbWQgc3BlY2lmaWVzIHRoZSBjb21tYW5kIHRvIHVzZSAtIG9uZSBvZiBGX0xPQ0ssIEZfVExPQ0ssIEZfVUxPQ0sgb3JcblwKLUZfVEVTVC5cblwKLWxlbiBzcGVjaWZpZXMgdGhlIHNlY3Rpb24gb2YgdGhlIGZpbGUgdG8gbG9jay4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmxvY2tmCisKKyAgICBmZDogaW50CisgICAgICAgIEFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLgorICAgIGNvbW1hbmQ6IGludAorICAgICAgICBPbmUgb2YgRl9MT0NLLCBGX1RMT0NLLCBGX1VMT0NLIG9yIEZfVEVTVC4KKyAgICBsZW5ndGg6IFB5X29mZl90CisgICAgICAgIFRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gbG9jaywgc3RhcnRpbmcgYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24uCisgICAgLworCitBcHBseSwgdGVzdCBvciByZW1vdmUgYSBQT1NJWCBsb2NrIG9uIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLgorCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19sb2NrZl9fZG9jX18sCisibG9ja2YoJG1vZHVsZSwgZmQsIGNvbW1hbmQsIGxlbmd0aCwgLylcbiIKKyItLVxuIgorIlxuIgorIkFwcGx5LCB0ZXN0IG9yIHJlbW92ZSBhIFBPU0lYIGxvY2sgb24gYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuXG4iCisiXG4iCisiICBmZFxuIgorIiAgICBBbiBvcGVuIGZpbGUgZGVzY3JpcHRvci5cbiIKKyIgIGNvbW1hbmRcbiIKKyIgICAgT25lIG9mIEZfTE9DSywgRl9UTE9DSywgRl9VTE9DSyBvciBGX1RFU1QuXG4iCisiICBsZW5ndGhcbiIKKyIgICAgVGhlIG51bWJlciBvZiBieXRlcyB0byBsb2NrLCBzdGFydGluZyBhdCB0aGUgY3VycmVudCBwb3NpdGlvbi4iKTsKKworI2RlZmluZSBPU19MT0NLRl9NRVRIT0RERUYgICAgXAorICAgIHsibG9ja2YiLCAoUHlDRnVuY3Rpb24pb3NfbG9ja2YsIE1FVEhfVkFSQVJHUywgb3NfbG9ja2ZfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2xvY2tmKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX2xvY2tmX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkLCBpbnQgY29tbWFuZCwgUHlfb2ZmX3QgbGVuZ3RoKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2xvY2tmKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogewotICAgIGludCBmZCwgY21kLCByZXM7Ci0gICAgb2ZmX3QgbGVuOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaWlPJjpsb2NrZiIsCi0gICAgICAgICAgICAmZmQsICZjbWQsIF9wYXJzZV9vZmZfdCwgJmxlbikpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIGludCBmZDsKKyAgICBpbnQgY29tbWFuZDsKKyAgICBQeV9vZmZfdCBsZW5ndGg7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgImlpTyY6bG9ja2YiLAorICAgICAgICAmZmQsICZjb21tYW5kLCBQeV9vZmZfdF9jb252ZXJ0ZXIsICZsZW5ndGgpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfbG9ja2ZfaW1wbChtb2R1bGUsIGZkLCBjb21tYW5kLCBsZW5ndGgpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19sb2NrZl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCwgaW50IGNvbW1hbmQsIFB5X29mZl90IGxlbmd0aCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0xYjI4MzQ2YWM3MzM1YzBmIGlucHV0PTY1ZGE0MWQyMTA2ZTliNzldKi8KK3sKKyAgICBpbnQgcmVzOwogCiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIHJlcyA9IGxvY2tmKGZkLCBjbWQsIGxlbik7CisgICAgcmVzID0gbG9ja2YoZmQsIGNvbW1hbmQsIGxlbmd0aCk7CiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKIAogICAgIGlmIChyZXMgPCAwKQpAQCAtNzk1Niw5NSArMTEyNjgsMTc5IEBACiAKICAgICBQeV9SRVRVUk5fTk9ORTsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIEhBVkVfTE9DS0YgKi8KIAogCi1QeURvY19TVFJWQVIocG9zaXhfbHNlZWtfX2RvY19fLAotImxzZWVrKGZkLCBwb3MsIGhvdykgLT4gbmV3cG9zXG5cblwKLVNldCB0aGUgY3VycmVudCBwb3NpdGlvbiBvZiBhIGZpbGUgZGVzY3JpcHRvci5cblwKLVJldHVybiB0aGUgbmV3IGN1cnNvciBwb3NpdGlvbiBpbiBieXRlcywgc3RhcnRpbmcgZnJvbSB0aGUgYmVnaW5uaW5nLiIpOworLypbY2xpbmljIGlucHV0XQorb3MubHNlZWsgLT4gUHlfb2ZmX3QKKworICAgIGZkOiBpbnQKKyAgICBwb3NpdGlvbjogUHlfb2ZmX3QKKyAgICBob3c6IGludAorICAgIC8KKworU2V0IHRoZSBwb3NpdGlvbiBvZiBhIGZpbGUgZGVzY3JpcHRvci4gIFJldHVybiB0aGUgbmV3IHBvc2l0aW9uLgorCitSZXR1cm4gdGhlIG5ldyBjdXJzb3IgcG9zaXRpb24gaW4gbnVtYmVyIG9mIGJ5dGVzCityZWxhdGl2ZSB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSBmaWxlLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfbHNlZWtfX2RvY19fLAorImxzZWVrKCRtb2R1bGUsIGZkLCBwb3NpdGlvbiwgaG93LCAvKVxuIgorIi0tXG4iCisiXG4iCisiU2V0IHRoZSBwb3NpdGlvbiBvZiBhIGZpbGUgZGVzY3JpcHRvci4gIFJldHVybiB0aGUgbmV3IHBvc2l0aW9uLlxuIgorIlxuIgorIlJldHVybiB0aGUgbmV3IGN1cnNvciBwb3NpdGlvbiBpbiBudW1iZXIgb2YgYnl0ZXNcbiIKKyJyZWxhdGl2ZSB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSBmaWxlLiIpOworCisjZGVmaW5lIE9TX0xTRUVLX01FVEhPRERFRiAgICBcCisgICAgeyJsc2VlayIsIChQeUNGdW5jdGlvbilvc19sc2VlaywgTUVUSF9WQVJBUkdTLCBvc19sc2Vla19fZG9jX199LAorCitzdGF0aWMgUHlfb2ZmX3QKK29zX2xzZWVrX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkLCBQeV9vZmZfdCBwb3NpdGlvbiwgaW50IGhvdyk7CiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9sc2VlayhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19sc2VlayhQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBpbnQgZmQsIGhvdzsKLSNpZmRlZiBNU19XSU5ET1dTCi0gICAgUFlfTE9OR19MT05HIHBvcywgcmVzOwotI2Vsc2UKLSAgICBvZmZfdCBwb3MsIHJlczsKLSNlbmRpZgotICAgIFB5T2JqZWN0ICpwb3NvYmo7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpT2k6bHNlZWsiLCAmZmQsICZwb3NvYmosICZob3cpKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBpbnQgZmQ7CisgICAgUHlfb2ZmX3QgcG9zaXRpb247CisgICAgaW50IGhvdzsKKyAgICBQeV9vZmZfdCBfcmV0dXJuX3ZhbHVlOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJpTyZpOmxzZWVrIiwKKyAgICAgICAgJmZkLCBQeV9vZmZfdF9jb252ZXJ0ZXIsICZwb3NpdGlvbiwgJmhvdykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICBfcmV0dXJuX3ZhbHVlID0gb3NfbHNlZWtfaW1wbChtb2R1bGUsIGZkLCBwb3NpdGlvbiwgaG93KTsKKyAgICBpZiAoKF9yZXR1cm5fdmFsdWUgPT0gLTEpICYmIFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBQeUxvbmdfRnJvbVB5X29mZl90KF9yZXR1cm5fdmFsdWUpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeV9vZmZfdAorb3NfbHNlZWtfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQsIFB5X29mZl90IHBvc2l0aW9uLCBpbnQgaG93KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTg4Y2ZjMTQ2ZjU1NjY3YWYgaW5wdXQ9OTAyNjU0YWQzZjk2YTZkM10qLworeworICAgIFB5X29mZl90IHJlc3VsdDsKKworICAgIGlmICghX1B5VmVyaWZ5X2ZkKGZkKSkgeworICAgICAgICBwb3NpeF9lcnJvcigpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQogI2lmZGVmIFNFRUtfU0VUCiAgICAgLyogVHVybiAwLCAxLCAyIGludG8gU0VFS197U0VULENVUixFTkR9ICovCiAgICAgc3dpdGNoIChob3cpIHsKLSAgICBjYXNlIDA6IGhvdyA9IFNFRUtfU0VUOyBicmVhazsKLSAgICBjYXNlIDE6IGhvdyA9IFNFRUtfQ1VSOyBicmVhazsKLSAgICBjYXNlIDI6IGhvdyA9IFNFRUtfRU5EOyBicmVhazsKKyAgICAgICAgY2FzZSAwOiBob3cgPSBTRUVLX1NFVDsgYnJlYWs7CisgICAgICAgIGNhc2UgMTogaG93ID0gU0VFS19DVVI7IGJyZWFrOworICAgICAgICBjYXNlIDI6IGhvdyA9IFNFRUtfRU5EOyBicmVhazsKICAgICB9CiAjZW5kaWYgLyogU0VFS19FTkQgKi8KIAotI2lmICFkZWZpbmVkKEhBVkVfTEFSR0VGSUxFX1NVUFBPUlQpCi0gICAgcG9zID0gUHlMb25nX0FzTG9uZyhwb3NvYmopOwotI2Vsc2UKLSAgICBwb3MgPSBQeUxvbmdfQXNMb25nTG9uZyhwb3NvYmopOwotI2VuZGlmCiAgICAgaWYgKFB5RXJyX09jY3VycmVkKCkpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgICAgICByZXR1cm4gLTE7CiAKLSAgICBpZiAoIV9QeVZlcmlmeV9mZChmZCkpCi0gICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOworICAgIGlmICghX1B5VmVyaWZ5X2ZkKGZkKSkgeworICAgICAgICBwb3NpeF9lcnJvcigpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQogICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKICNpZmRlZiBNU19XSU5ET1dTCi0gICAgcmVzID0gX2xzZWVraTY0KGZkLCBwb3MsIGhvdyk7CisgICAgcmVzdWx0ID0gX2xzZWVraTY0KGZkLCBwb3NpdGlvbiwgaG93KTsKICNlbHNlCi0gICAgcmVzID0gbHNlZWsoZmQsIHBvcywgaG93KTsKKyAgICByZXN1bHQgPSBsc2VlayhmZCwgcG9zaXRpb24sIGhvdyk7CiAjZW5kaWYKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotICAgIGlmIChyZXMgPCAwKQotICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKKyAgICBpZiAocmVzdWx0IDwgMCkKKyAgICAgICAgcG9zaXhfZXJyb3IoKTsKIAotI2lmICFkZWZpbmVkKEhBVkVfTEFSR0VGSUxFX1NVUFBPUlQpCi0gICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZyhyZXMpOwotI2Vsc2UKLSAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nTG9uZyhyZXMpOwotI2VuZGlmCisgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAogCi1QeURvY19TVFJWQVIocG9zaXhfcmVhZF9fZG9jX18sCi0icmVhZChmZCwgYnVmZmVyc2l6ZSkgLT4gYnl0ZXNcblxuXAotUmVhZCBhIGZpbGUgZGVzY3JpcHRvci4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnJlYWQKKyAgICBmZDogaW50CisgICAgbGVuZ3RoOiBQeV9zc2l6ZV90CisgICAgLworCitSZWFkIGZyb20gYSBmaWxlIGRlc2NyaXB0b3IuICBSZXR1cm5zIGEgYnl0ZXMgb2JqZWN0LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfcmVhZF9fZG9jX18sCisicmVhZCgkbW9kdWxlLCBmZCwgbGVuZ3RoLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmVhZCBmcm9tIGEgZmlsZSBkZXNjcmlwdG9yLiAgUmV0dXJucyBhIGJ5dGVzIG9iamVjdC4iKTsKKworI2RlZmluZSBPU19SRUFEX01FVEhPRERFRiAgICBcCisgICAgeyJyZWFkIiwgKFB5Q0Z1bmN0aW9uKW9zX3JlYWQsIE1FVEhfVkFSQVJHUywgb3NfcmVhZF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfcmVhZChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19yZWFkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkLCBQeV9zc2l6ZV90IGxlbmd0aCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19yZWFkKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogewotICAgIGludCBmZCwgc2l6ZTsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBpbnQgZmQ7CisgICAgUHlfc3NpemVfdCBsZW5ndGg7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgImluOnJlYWQiLAorICAgICAgICAmZmQsICZsZW5ndGgpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfcmVhZF9pbXBsKG1vZHVsZSwgZmQsIGxlbmd0aCk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3JlYWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQsIFB5X3NzaXplX3QgbGVuZ3RoKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTFmM2JjMjcyNjBhMjQ5NjggaW5wdXQ9MWRmMmVhYTI3YzBiZjFkM10qLworewogICAgIFB5X3NzaXplX3QgbjsKKyAgICBpbnQgYXN5bmNfZXJyID0gMDsKICAgICBQeU9iamVjdCAqYnVmZmVyOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaWk6cmVhZCIsICZmZCwgJnNpemUpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBpZiAoc2l6ZSA8IDApIHsKKworICAgIGlmIChsZW5ndGggPCAwKSB7CiAgICAgICAgIGVycm5vID0gRUlOVkFMOwogICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKICAgICB9Ci0gICAgYnVmZmVyID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZSgoY2hhciAqKU5VTEwsIHNpemUpOworICAgIGlmICghX1B5VmVyaWZ5X2ZkKGZkKSkKKyAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CisKKyNpZmRlZiBNU19XSU5ET1dTCisgICAgI2RlZmluZSBSRUFEX0NBU1QgKGludCkKKyAgICBpZiAobGVuZ3RoID4gSU5UX01BWCkKKyAgICAgICAgbGVuZ3RoID0gSU5UX01BWDsKKyNlbHNlCisgICAgI2RlZmluZSBSRUFEX0NBU1QKKyNlbmRpZgorCisgICAgYnVmZmVyID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZSgoY2hhciAqKU5VTEwsIGxlbmd0aCk7CiAgICAgaWYgKGJ1ZmZlciA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBpZiAoIV9QeVZlcmlmeV9mZChmZCkpIHsKLSAgICAgICAgUHlfREVDUkVGKGJ1ZmZlcik7Ci0gICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwotICAgIH0KLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgbiA9IHJlYWQoZmQsIFB5Qnl0ZXNfQVNfU1RSSU5HKGJ1ZmZlciksIHNpemUpOwotICAgIFB5X0VORF9BTExPV19USFJFQURTCisKKyAgICBkbyB7CisgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgbiA9IHJlYWQoZmQsIFB5Qnl0ZXNfQVNfU1RSSU5HKGJ1ZmZlciksIFJFQURfQ0FTVCBsZW5ndGgpOworICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIH0gd2hpbGUgKG4gPCAwICYmIGVycm5vID09IEVJTlRSICYmICEoYXN5bmNfZXJyID0gUHlFcnJfQ2hlY2tTaWduYWxzKCkpKTsKKwogICAgIGlmIChuIDwgMCkgewogICAgICAgICBQeV9ERUNSRUYoYnVmZmVyKTsKLSAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CisgICAgICAgIHJldHVybiAoIWFzeW5jX2VycikgPyBwb3NpeF9lcnJvcigpIDogTlVMTDsKICAgICB9Ci0gICAgaWYgKG4gIT0gc2l6ZSkKKworICAgIGlmIChuICE9IGxlbmd0aCkKICAgICAgICAgX1B5Qnl0ZXNfUmVzaXplKCZidWZmZXIsIG4pOworCiAgICAgcmV0dXJuIGJ1ZmZlcjsKIH0KIApAQCAtODEwNiwxMjAgKzExNTAyLDI3MCBAQAogfQogI2VuZGlmCiAKKwogI2lmZGVmIEhBVkVfUkVBRFYKLVB5RG9jX1NUUlZBUihwb3NpeF9yZWFkdl9fZG9jX18sCi0icmVhZHYoZmQsIGJ1ZmZlcnMpIC0+IGJ5dGVzcmVhZFxuXG5cCi1SZWFkIGZyb20gYSBmaWxlIGRlc2NyaXB0b3IgZmQgaW50byBhIG51bWJlciBvZiBtdXRhYmxlLCBieXRlcy1saWtlXG5cCi1vYmplY3RzIChcImJ1ZmZlcnNcIikuICByZWFkdiB3aWxsIHRyYW5zZmVyIGRhdGEgaW50byBlYWNoIGJ1ZmZlclxuXAotdW50aWwgaXQgaXMgZnVsbCBhbmQgdGhlbiBtb3ZlIG9uIHRvIHRoZSBuZXh0IGJ1ZmZlciBpbiB0aGUgc2VxdWVuY2VcblwKLXRvIGhvbGQgdGhlIHJlc3Qgb2YgdGhlIGRhdGEuXG5cblwKLXJlYWR2IHJldHVybnMgdGhlIHRvdGFsIG51bWJlciBvZiBieXRlcyByZWFkICh3aGljaCBtYXkgYmUgbGVzcyB0aGFuXG5cCi10aGUgdG90YWwgY2FwYWNpdHkgb2YgYWxsIHRoZSBidWZmZXJzLiIpOworLypbY2xpbmljIGlucHV0XQorb3MucmVhZHYgLT4gUHlfc3NpemVfdAorCisgICAgZmQ6IGludAorICAgIGJ1ZmZlcnM6IG9iamVjdAorICAgIC8KKworUmVhZCBmcm9tIGEgZmlsZSBkZXNjcmlwdG9yIGZkIGludG8gYW4gaXRlcmFibGUgb2YgYnVmZmVycy4KKworVGhlIGJ1ZmZlcnMgc2hvdWxkIGJlIG11dGFibGUgYnVmZmVycyBhY2NlcHRpbmcgYnl0ZXMuCityZWFkdiB3aWxsIHRyYW5zZmVyIGRhdGEgaW50byBlYWNoIGJ1ZmZlciB1bnRpbCBpdCBpcyBmdWxsCithbmQgdGhlbiBtb3ZlIG9uIHRvIHRoZSBuZXh0IGJ1ZmZlciBpbiB0aGUgc2VxdWVuY2UgdG8gaG9sZAordGhlIHJlc3Qgb2YgdGhlIGRhdGEuCisKK3JlYWR2IHJldHVybnMgdGhlIHRvdGFsIG51bWJlciBvZiBieXRlcyByZWFkLAord2hpY2ggbWF5IGJlIGxlc3MgdGhhbiB0aGUgdG90YWwgY2FwYWNpdHkgb2YgYWxsIHRoZSBidWZmZXJzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfcmVhZHZfX2RvY19fLAorInJlYWR2KCRtb2R1bGUsIGZkLCBidWZmZXJzLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmVhZCBmcm9tIGEgZmlsZSBkZXNjcmlwdG9yIGZkIGludG8gYW4gaXRlcmFibGUgb2YgYnVmZmVycy5cbiIKKyJcbiIKKyJUaGUgYnVmZmVycyBzaG91bGQgYmUgbXV0YWJsZSBidWZmZXJzIGFjY2VwdGluZyBieXRlcy5cbiIKKyJyZWFkdiB3aWxsIHRyYW5zZmVyIGRhdGEgaW50byBlYWNoIGJ1ZmZlciB1bnRpbCBpdCBpcyBmdWxsXG4iCisiYW5kIHRoZW4gbW92ZSBvbiB0byB0aGUgbmV4dCBidWZmZXIgaW4gdGhlIHNlcXVlbmNlIHRvIGhvbGRcbiIKKyJ0aGUgcmVzdCBvZiB0aGUgZGF0YS5cbiIKKyJcbiIKKyJyZWFkdiByZXR1cm5zIHRoZSB0b3RhbCBudW1iZXIgb2YgYnl0ZXMgcmVhZCxcbiIKKyJ3aGljaCBtYXkgYmUgbGVzcyB0aGFuIHRoZSB0b3RhbCBjYXBhY2l0eSBvZiBhbGwgdGhlIGJ1ZmZlcnMuIik7CisKKyNkZWZpbmUgT1NfUkVBRFZfTUVUSE9EREVGICAgIFwKKyAgICB7InJlYWR2IiwgKFB5Q0Z1bmN0aW9uKW9zX3JlYWR2LCBNRVRIX1ZBUkFSR1MsIG9zX3JlYWR2X19kb2NfX30sCisKK3N0YXRpYyBQeV9zc2l6ZV90Citvc19yZWFkdl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCwgUHlPYmplY3QgKmJ1ZmZlcnMpOwogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfcmVhZHYoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3NfcmVhZHYoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgaW50IGZkLCBjbnQ7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgaW50IGZkOworICAgIFB5T2JqZWN0ICpidWZmZXJzOworICAgIFB5X3NzaXplX3QgX3JldHVybl92YWx1ZTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiaU86cmVhZHYiLAorICAgICAgICAmZmQsICZidWZmZXJzKSkKKyAgICAgICAgZ290byBleGl0OworICAgIF9yZXR1cm5fdmFsdWUgPSBvc19yZWFkdl9pbXBsKG1vZHVsZSwgZmQsIGJ1ZmZlcnMpOworICAgIGlmICgoX3JldHVybl92YWx1ZSA9PSAtMSkgJiYgUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IFB5TG9uZ19Gcm9tU3NpemVfdChfcmV0dXJuX3ZhbHVlKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlfc3NpemVfdAorb3NfcmVhZHZfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQsIFB5T2JqZWN0ICpidWZmZXJzKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTcyNzQ4YjFjMzJhNmUyYTEgaW5wdXQ9ZTY3OWViNWRiZmEwMzU3ZF0qLworeworICAgIGludCBjbnQ7CiAgICAgUHlfc3NpemVfdCBuOwotICAgIFB5T2JqZWN0ICpzZXE7CisgICAgaW50IGFzeW5jX2VyciA9IDA7CiAgICAgc3RydWN0IGlvdmVjICppb3Y7CiAgICAgUHlfYnVmZmVyICpidWY7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImlPOnJlYWR2IiwgJmZkLCAmc2VxKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgaWYgKCFQeVNlcXVlbmNlX0NoZWNrKHNlcSkpIHsKKyAgICBpZiAoIVB5U2VxdWVuY2VfQ2hlY2soYnVmZmVycykpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKICAgICAgICAgICAgICJyZWFkdigpIGFyZyAyIG11c3QgYmUgYSBzZXF1ZW5jZSIpOwotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KLSAgICBjbnQgPSBQeVNlcXVlbmNlX1NpemUoc2VxKTsKIAotICAgIGlmIChpb3Zfc2V0dXAoJmlvdiwgJmJ1Ziwgc2VxLCBjbnQsIFB5QlVGX1dSSVRBQkxFKSA8IDApCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIGNudCA9IFB5U2VxdWVuY2VfU2l6ZShidWZmZXJzKTsKIAotICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICBuID0gcmVhZHYoZmQsIGlvdiwgY250KTsKLSAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIGlmIChpb3Zfc2V0dXAoJmlvdiwgJmJ1ZiwgYnVmZmVycywgY250LCBQeUJVRl9XUklUQUJMRSkgPCAwKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICBkbyB7CisgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgbiA9IHJlYWR2KGZkLCBpb3YsIGNudCk7CisgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgfSB3aGlsZSAobiA8IDAgJiYgZXJybm8gPT0gRUlOVFIgJiYgIShhc3luY19lcnIgPSBQeUVycl9DaGVja1NpZ25hbHMoKSkpOwogCiAgICAgaW92X2NsZWFudXAoaW92LCBidWYsIGNudCk7Ci0gICAgaWYgKG4gPCAwKQotICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKKyAgICBpZiAobiA8IDApIHsKKyAgICAgICAgaWYgKCFhc3luY19lcnIpCisgICAgICAgICAgICBwb3NpeF9lcnJvcigpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQogCi0gICAgcmV0dXJuIFB5TG9uZ19Gcm9tU3NpemVfdChuKTsKKyAgICByZXR1cm4gbjsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIEhBVkVfUkVBRFYgKi8KKwogCiAjaWZkZWYgSEFWRV9QUkVBRAotUHlEb2NfU1RSVkFSKHBvc2l4X3ByZWFkX19kb2NfXywKLSJwcmVhZChmZCwgYnVmZmVyc2l6ZSwgb2Zmc2V0KSAtPiBzdHJpbmdcblxuXAotUmVhZCBmcm9tIGEgZmlsZSBkZXNjcmlwdG9yLCBmZCwgYXQgYSBwb3NpdGlvbiBvZiBvZmZzZXQuIEl0IHdpbGwgcmVhZCB1cFxuXAotdG8gYnVmZmVyc2l6ZSBudW1iZXIgb2YgYnl0ZXMuIFRoZSBmaWxlIG9mZnNldCByZW1haW5zIHVuY2hhbmdlZC4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KKyMgVE9ETyBsZW5ndGggc2hvdWxkIGJlIHNpemVfdCEgIGJ1dCBQeXRob24gZG9lc24ndCBzdXBwb3J0IHBhcnNpbmcgc2l6ZV90IHlldC4KK29zLnByZWFkCisKKyAgICBmZDogaW50CisgICAgbGVuZ3RoOiBpbnQKKyAgICBvZmZzZXQ6IFB5X29mZl90CisgICAgLworCitSZWFkIGEgbnVtYmVyIG9mIGJ5dGVzIGZyb20gYSBmaWxlIGRlc2NyaXB0b3Igc3RhcnRpbmcgYXQgYSBwYXJ0aWN1bGFyIG9mZnNldC4KKworUmVhZCBsZW5ndGggYnl0ZXMgZnJvbSBmaWxlIGRlc2NyaXB0b3IgZmQsIHN0YXJ0aW5nIGF0IG9mZnNldCBieXRlcyBmcm9tCit0aGUgYmVnaW5uaW5nIG9mIHRoZSBmaWxlLiAgVGhlIGZpbGUgb2Zmc2V0IHJlbWFpbnMgdW5jaGFuZ2VkLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfcHJlYWRfX2RvY19fLAorInByZWFkKCRtb2R1bGUsIGZkLCBsZW5ndGgsIG9mZnNldCwgLylcbiIKKyItLVxuIgorIlxuIgorIlJlYWQgYSBudW1iZXIgb2YgYnl0ZXMgZnJvbSBhIGZpbGUgZGVzY3JpcHRvciBzdGFydGluZyBhdCBhIHBhcnRpY3VsYXIgb2Zmc2V0LlxuIgorIlxuIgorIlJlYWQgbGVuZ3RoIGJ5dGVzIGZyb20gZmlsZSBkZXNjcmlwdG9yIGZkLCBzdGFydGluZyBhdCBvZmZzZXQgYnl0ZXMgZnJvbVxuIgorInRoZSBiZWdpbm5pbmcgb2YgdGhlIGZpbGUuICBUaGUgZmlsZSBvZmZzZXQgcmVtYWlucyB1bmNoYW5nZWQuIik7CisKKyNkZWZpbmUgT1NfUFJFQURfTUVUSE9EREVGICAgIFwKKyAgICB7InByZWFkIiwgKFB5Q0Z1bmN0aW9uKW9zX3ByZWFkLCBNRVRIX1ZBUkFSR1MsIG9zX3ByZWFkX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9wcmVhZChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCi17Ci0gICAgaW50IGZkLCBzaXplOwotICAgIG9mZl90IG9mZnNldDsKLSAgICBQeV9zc2l6ZV90IG47Ci0gICAgUHlPYmplY3QgKmJ1ZmZlcjsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImlpTyY6cHJlYWQiLCAmZmQsICZzaXplLCBfcGFyc2Vfb2ZmX3QsICZvZmZzZXQpKQotICAgICAgICByZXR1cm4gTlVMTDsKK29zX3ByZWFkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkLCBpbnQgbGVuZ3RoLCBQeV9vZmZfdCBvZmZzZXQpOwogCi0gICAgaWYgKHNpemUgPCAwKSB7CitzdGF0aWMgUHlPYmplY3QgKgorb3NfcHJlYWQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgaW50IGZkOworICAgIGludCBsZW5ndGg7CisgICAgUHlfb2ZmX3Qgb2Zmc2V0OworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJpaU8mOnByZWFkIiwKKyAgICAgICAgJmZkLCAmbGVuZ3RoLCBQeV9vZmZfdF9jb252ZXJ0ZXIsICZvZmZzZXQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfcHJlYWRfaW1wbChtb2R1bGUsIGZkLCBsZW5ndGgsIG9mZnNldCk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3ByZWFkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkLCBpbnQgbGVuZ3RoLCBQeV9vZmZfdCBvZmZzZXQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9N2I2MmJmNmMwNmUyMGFlOCBpbnB1dD0wODQ5NDhkY2JhYTM1ZDRjXSovCit7CisgICAgUHlfc3NpemVfdCBuOworICAgIGludCBhc3luY19lcnIgPSAwOworICAgIFB5T2JqZWN0ICpidWZmZXI7CisKKyAgICBpZiAobGVuZ3RoIDwgMCkgewogICAgICAgICBlcnJubyA9IEVJTlZBTDsKICAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CiAgICAgfQotICAgIGJ1ZmZlciA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoKGNoYXIgKilOVUxMLCBzaXplKTsKKyAgICBidWZmZXIgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKChjaGFyICopTlVMTCwgbGVuZ3RoKTsKICAgICBpZiAoYnVmZmVyID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIGlmICghX1B5VmVyaWZ5X2ZkKGZkKSkgewogICAgICAgICBQeV9ERUNSRUYoYnVmZmVyKTsKICAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CiAgICAgfQotICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICBuID0gcHJlYWQoZmQsIFB5Qnl0ZXNfQVNfU1RSSU5HKGJ1ZmZlciksIHNpemUsIG9mZnNldCk7Ci0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKworICAgIGRvIHsKKyAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgICAgICBuID0gcHJlYWQoZmQsIFB5Qnl0ZXNfQVNfU1RSSU5HKGJ1ZmZlciksIGxlbmd0aCwgb2Zmc2V0KTsKKyAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICB9IHdoaWxlIChuIDwgMCAmJiBlcnJubyA9PSBFSU5UUiAmJiAhKGFzeW5jX2VyciA9IFB5RXJyX0NoZWNrU2lnbmFscygpKSk7CisKICAgICBpZiAobiA8IDApIHsKICAgICAgICAgUHlfREVDUkVGKGJ1ZmZlcik7Ci0gICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOworICAgICAgICByZXR1cm4gKCFhc3luY19lcnIpID8gcG9zaXhfZXJyb3IoKSA6IE5VTEw7CiAgICAgfQotICAgIGlmIChuICE9IHNpemUpCisgICAgaWYgKG4gIT0gbGVuZ3RoKQogICAgICAgICBfUHlCeXRlc19SZXNpemUoJmJ1ZmZlciwgbik7CiAgICAgcmV0dXJuIGJ1ZmZlcjsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIEhBVkVfUFJFQUQgKi8KIAotUHlEb2NfU1RSVkFSKHBvc2l4X3dyaXRlX19kb2NfXywKLSJ3cml0ZShmZCwgZGF0YSkgLT4gYnl0ZXN3cml0dGVuXG5cblwKLVdyaXRlIGJ5dGVzIHRvIGEgZmlsZSBkZXNjcmlwdG9yLiIpOworCisvKltjbGluaWMgaW5wdXRdCitvcy53cml0ZSAtPiBQeV9zc2l6ZV90CisKKyAgICBmZDogaW50CisgICAgZGF0YTogUHlfYnVmZmVyCisgICAgLworCitXcml0ZSBhIGJ5dGVzIG9iamVjdCB0byBhIGZpbGUgZGVzY3JpcHRvci4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3dyaXRlX19kb2NfXywKKyJ3cml0ZSgkbW9kdWxlLCBmZCwgZGF0YSwgLylcbiIKKyItLVxuIgorIlxuIgorIldyaXRlIGEgYnl0ZXMgb2JqZWN0IHRvIGEgZmlsZSBkZXNjcmlwdG9yLiIpOworCisjZGVmaW5lIE9TX1dSSVRFX01FVEhPRERFRiAgICBcCisgICAgeyJ3cml0ZSIsIChQeUNGdW5jdGlvbilvc193cml0ZSwgTUVUSF9WQVJBUkdTLCBvc193cml0ZV9fZG9jX199LAorCitzdGF0aWMgUHlfc3NpemVfdAorb3Nfd3JpdGVfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQsIFB5X2J1ZmZlciAqZGF0YSk7CiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF93cml0ZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc193cml0ZShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBQeV9idWZmZXIgcGJ1ZjsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKICAgICBpbnQgZmQ7Ci0gICAgUHlfc3NpemVfdCBzaXplLCBsZW47CisgICAgUHlfYnVmZmVyIGRhdGEgPSB7TlVMTCwgTlVMTH07CisgICAgUHlfc3NpemVfdCBfcmV0dXJuX3ZhbHVlOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpeSo6d3JpdGUiLCAmZmQsICZwYnVmKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJpeSo6d3JpdGUiLAorICAgICAgICAmZmQsICZkYXRhKSkKKyAgICAgICAgZ290byBleGl0OworICAgIF9yZXR1cm5fdmFsdWUgPSBvc193cml0ZV9pbXBsKG1vZHVsZSwgZmQsICZkYXRhKTsKKyAgICBpZiAoKF9yZXR1cm5fdmFsdWUgPT0gLTEpICYmIFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBQeUxvbmdfRnJvbVNzaXplX3QoX3JldHVybl92YWx1ZSk7CisKK2V4aXQ6CisgICAgLyogQ2xlYW51cCBmb3IgZGF0YSAqLworICAgIGlmIChkYXRhLm9iaikKKyAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZkYXRhKTsKKworICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeV9zc2l6ZV90Citvc193cml0ZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCwgUHlfYnVmZmVyICpkYXRhKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWFlYjk2YWNmZGQ0ZDUxMTIgaW5wdXQ9MzIwN2UyODk2MzIzNGYzY10qLworeworICAgIFB5X3NzaXplX3Qgc2l6ZTsKKyAgICBpbnQgYXN5bmNfZXJyID0gMDsKKyAgICBQeV9zc2l6ZV90IGxlbiA9IGRhdGEtPmxlbjsKKwogICAgIGlmICghX1B5VmVyaWZ5X2ZkKGZkKSkgewotICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZwYnVmKTsKLSAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CisgICAgICAgIHBvc2l4X2Vycm9yKCk7CisgICAgICAgIHJldHVybiAtMTsKICAgICB9Ci0gICAgbGVuID0gcGJ1Zi5sZW47Ci0gICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworCisgICAgZG8geworICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCiAjaWZkZWYgTVNfV0lORE9XUwotICAgIGlmIChsZW4gPiBJTlRfTUFYKQotICAgICAgICBsZW4gPSBJTlRfTUFYOwotICAgIHNpemUgPSB3cml0ZShmZCwgcGJ1Zi5idWYsIChpbnQpbGVuKTsKKyAgICAgICAgaWYgKGxlbiA+IElOVF9NQVgpCisgICAgICAgICAgICBsZW4gPSBJTlRfTUFYOworICAgICAgICBzaXplID0gd3JpdGUoZmQsIGRhdGEtPmJ1ZiwgKGludClsZW4pOwogI2Vsc2UKLSAgICBzaXplID0gd3JpdGUoZmQsIHBidWYuYnVmLCBsZW4pOworICAgICAgICBzaXplID0gd3JpdGUoZmQsIGRhdGEtPmJ1ZiwgbGVuKTsKICNlbmRpZgotICAgIFB5X0VORF9BTExPV19USFJFQURTCi0gICAgUHlCdWZmZXJfUmVsZWFzZSgmcGJ1Zik7Ci0gICAgaWYgKHNpemUgPCAwKQotICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKLSAgICByZXR1cm4gUHlMb25nX0Zyb21Tc2l6ZV90KHNpemUpOworICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIH0gd2hpbGUgKHNpemUgPCAwICYmIGVycm5vID09IEVJTlRSICYmICEoYXN5bmNfZXJyID0gUHlFcnJfQ2hlY2tTaWduYWxzKCkpKTsKKworICAgIGlmIChzaXplIDwgMCkgeworICAgICAgICBpZiAoIWFzeW5jX2VycikKKyAgICAgICAgICAgIHBvc2l4X2Vycm9yKCk7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisgICAgcmV0dXJuIHNpemU7CiB9CiAKICNpZmRlZiBIQVZFX1NFTkRGSUxFCkBAIC04MjI5LDExICsxMTc3NSwxMyBAQAogICAgICAgICAgICAgLT4gYnl0ZXN3cml0dGVuXG5cCiBDb3B5IG5ieXRlcyBieXRlcyBmcm9tIGZpbGUgZGVzY3JpcHRvciBpbiB0byBmaWxlIGRlc2NyaXB0b3Igb3V0LiIpOwogCisvKiBBQyAzLjU6IGRvbid0IGJvdGhlciBjb252ZXJ0aW5nLCBoYXMgb3B0aW9uYWwgZ3JvdXAqLwogc3RhdGljIFB5T2JqZWN0ICoKIHBvc2l4X3NlbmRmaWxlKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZGljdCkKIHsKICAgICBpbnQgaW4sIG91dDsKICAgICBQeV9zc2l6ZV90IHJldDsKKyAgICBpbnQgYXN5bmNfZXJyID0gMDsKICAgICBvZmZfdCBvZmZzZXQ7CiAKICNpZiBkZWZpbmVkKF9fRnJlZUJTRF9fKSB8fCBkZWZpbmVkKF9fRHJhZ29uRmx5X18pIHx8IGRlZmluZWQoX19BUFBMRV9fKQpAQCAtODI1NCwxMCArMTE4MDIsMTAgQEAKIAogI2lmZGVmIF9fQVBQTEVfXwogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZGljdCwgImlpTyZPJnxPT2k6c2VuZGZpbGUiLAotICAgICAgICBrZXl3b3JkcywgJm91dCwgJmluLCBfcGFyc2Vfb2ZmX3QsICZvZmZzZXQsIF9wYXJzZV9vZmZfdCwgJnNieXRlcywKKyAgICAgICAga2V5d29yZHMsICZvdXQsICZpbiwgUHlfb2ZmX3RfY29udmVydGVyLCAmb2Zmc2V0LCBQeV9vZmZfdF9jb252ZXJ0ZXIsICZzYnl0ZXMsCiAjZWxzZQogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZGljdCwgImlpTyZufE9PaTpzZW5kZmlsZSIsCi0gICAgICAgIGtleXdvcmRzLCAmb3V0LCAmaW4sIF9wYXJzZV9vZmZfdCwgJm9mZnNldCwgJmxlbiwKKyAgICAgICAga2V5d29yZHMsICZvdXQsICZpbiwgUHlfb2ZmX3RfY29udmVydGVyLCAmb2Zmc2V0LCAmbGVuLAogI2VuZGlmCiAgICAgICAgICAgICAgICAgJmhlYWRlcnMsICZ0cmFpbGVycywgJmZsYWdzKSkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtODI5NiwxMyArMTE4NDQsMTUgQEAKICAgICAgICAgfQogICAgIH0KIAotICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICBkbyB7CisgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKICNpZmRlZiBfX0FQUExFX18KLSAgICByZXQgPSBzZW5kZmlsZShpbiwgb3V0LCBvZmZzZXQsICZzYnl0ZXMsICZzZiwgZmxhZ3MpOworICAgICAgICByZXQgPSBzZW5kZmlsZShpbiwgb3V0LCBvZmZzZXQsICZzYnl0ZXMsICZzZiwgZmxhZ3MpOwogI2Vsc2UKLSAgICByZXQgPSBzZW5kZmlsZShpbiwgb3V0LCBvZmZzZXQsIGxlbiwgJnNmLCAmc2J5dGVzLCBmbGFncyk7CisgICAgICAgIHJldCA9IHNlbmRmaWxlKGluLCBvdXQsIG9mZnNldCwgbGVuLCAmc2YsICZzYnl0ZXMsIGZsYWdzKTsKICNlbmRpZgotICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgfSB3aGlsZSAocmV0IDwgMCAmJiBlcnJubyA9PSBFSU5UUiAmJiAhKGFzeW5jX2VyciA9IFB5RXJyX0NoZWNrU2lnbmFscygpKSk7CiAKICAgICBpZiAoc2YuaGVhZGVycyAhPSBOVUxMKQogICAgICAgICBpb3ZfY2xlYW51cChzZi5oZWFkZXJzLCBoYnVmLCBzZi5oZHJfY250KTsKQEAgLTgzMjEsNyArMTE4NzEsNyBAQAogICAgICAgICAgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwogICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOworICAgICAgICByZXR1cm4gKCFhc3luY19lcnIpID8gcG9zaXhfZXJyb3IoKSA6IE5VTEw7CiAgICAgfQogICAgIGdvdG8gZG9uZTsKIApAQCAtODM0Miw3NiArMTE4OTIsMTkwIEBACiAgICAgICAgIHJldHVybiBOVUxMOwogI2lmZGVmIGxpbnV4CiAgICAgaWYgKG9mZm9iaiA9PSBQeV9Ob25lKSB7Ci0gICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICAgICAgcmV0ID0gc2VuZGZpbGUob3V0LCBpbiwgTlVMTCwgY291bnQpOwotICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgICAgICBkbyB7CisgICAgICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgICAgICAgICByZXQgPSBzZW5kZmlsZShvdXQsIGluLCBOVUxMLCBjb3VudCk7CisgICAgICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgICAgICB9IHdoaWxlIChyZXQgPCAwICYmIGVycm5vID09IEVJTlRSICYmICEoYXN5bmNfZXJyID0gUHlFcnJfQ2hlY2tTaWduYWxzKCkpKTsKICAgICAgICAgaWYgKHJldCA8IDApCi0gICAgICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKKyAgICAgICAgICAgIHJldHVybiAoIWFzeW5jX2VycikgPyBwb3NpeF9lcnJvcigpIDogTlVMTDsKICAgICAgICAgcmV0dXJuIFB5X0J1aWxkVmFsdWUoIm4iLCByZXQpOwogICAgIH0KICNlbmRpZgotICAgIGlmICghX3BhcnNlX29mZl90KG9mZm9iaiwgJm9mZnNldCkpCisgICAgaWYgKCFQeV9vZmZfdF9jb252ZXJ0ZXIob2Zmb2JqLCAmb2Zmc2V0KSkKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIHJldCA9IHNlbmRmaWxlKG91dCwgaW4sICZvZmZzZXQsIGNvdW50KTsKLSAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworCisgICAgZG8geworICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgICAgIHJldCA9IHNlbmRmaWxlKG91dCwgaW4sICZvZmZzZXQsIGNvdW50KTsKKyAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICB9IHdoaWxlIChyZXQgPCAwICYmIGVycm5vID09IEVJTlRSICYmICEoYXN5bmNfZXJyID0gUHlFcnJfQ2hlY2tTaWduYWxzKCkpKTsKICAgICBpZiAocmV0IDwgMCkKLSAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CisgICAgICAgIHJldHVybiAoIWFzeW5jX2VycikgPyBwb3NpeF9lcnJvcigpIDogTlVMTDsKICAgICByZXR1cm4gUHlfQnVpbGRWYWx1ZSgibiIsIHJldCk7CiAjZW5kaWYKIH0KLSNlbmRpZgorI2VuZGlmIC8qIEhBVkVfU0VOREZJTEUgKi8KIAotUHlEb2NfU1RSVkFSKHBvc2l4X2ZzdGF0X19kb2NfXywKLSJmc3RhdChmZCkgLT4gc3RhdCByZXN1bHRcblxuXAotTGlrZSBzdGF0KCksIGJ1dCBmb3IgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuXG5cCi1FcXVpdmFsZW50IHRvIHN0YXQoZmQ9ZmQpLiIpOworCisvKltjbGluaWMgaW5wdXRdCitvcy5mc3RhdAorCisgICAgZmQgOiBpbnQKKworUGVyZm9ybSBhIHN0YXQgc3lzdGVtIGNhbGwgb24gdGhlIGdpdmVuIGZpbGUgZGVzY3JpcHRvci4KKworTGlrZSBzdGF0KCksIGJ1dCBmb3IgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuCitFcXVpdmFsZW50IHRvIG9zLnN0YXQoZmQpLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfZnN0YXRfX2RvY19fLAorImZzdGF0KCRtb2R1bGUsIC8sIGZkKVxuIgorIi0tXG4iCisiXG4iCisiUGVyZm9ybSBhIHN0YXQgc3lzdGVtIGNhbGwgb24gdGhlIGdpdmVuIGZpbGUgZGVzY3JpcHRvci5cbiIKKyJcbiIKKyJMaWtlIHN0YXQoKSwgYnV0IGZvciBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvci5cbiIKKyJFcXVpdmFsZW50IHRvIG9zLnN0YXQoZmQpLiIpOworCisjZGVmaW5lIE9TX0ZTVEFUX01FVEhPRERFRiAgICBcCisgICAgeyJmc3RhdCIsIChQeUNGdW5jdGlvbilvc19mc3RhdCwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX2ZzdGF0X19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9mc3RhdChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19mc3RhdF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19mc3RhdChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7ImZkIiwgTlVMTH07CiAgICAgaW50IGZkOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiaTpmc3RhdCIsIF9rZXl3b3JkcywKKyAgICAgICAgJmZkKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX2ZzdGF0X2ltcGwobW9kdWxlLCBmZCk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2ZzdGF0X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWRhZTRhOTY3OGM3YmQ4ODEgaW5wdXQ9MjdlMGUwZWJiZTU2MDBjOV0qLworewogICAgIFNUUlVDVF9TVEFUIHN0OwogICAgIGludCByZXM7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpOmZzdGF0IiwgJmZkKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIHJlcyA9IEZTVEFUKGZkLCAmc3QpOwotICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgaW50IGFzeW5jX2VyciA9IDA7CisKKyAgICBkbyB7CisgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgcmVzID0gRlNUQVQoZmQsICZzdCk7CisgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgfSB3aGlsZSAocmVzICE9IDAgJiYgZXJybm8gPT0gRUlOVFIgJiYgIShhc3luY19lcnIgPSBQeUVycl9DaGVja1NpZ25hbHMoKSkpOwogICAgIGlmIChyZXMgIT0gMCkgewogI2lmZGVmIE1TX1dJTkRPV1MKICAgICAgICAgcmV0dXJuIFB5RXJyX1NldEZyb21XaW5kb3dzRXJyKDApOwogI2Vsc2UKLSAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CisgICAgICAgIHJldHVybiAoIWFzeW5jX2VycikgPyBwb3NpeF9lcnJvcigpIDogTlVMTDsKICNlbmRpZgogICAgIH0KIAogICAgIHJldHVybiBfcHlzdGF0X2Zyb21zdHJ1Y3RzdGF0KCZzdCk7CiB9CiAKLVB5RG9jX1NUUlZBUihwb3NpeF9pc2F0dHlfX2RvY19fLAotImlzYXR0eShmZCkgLT4gYm9vbFxuXG5cCi1SZXR1cm4gVHJ1ZSBpZiB0aGUgZmlsZSBkZXNjcmlwdG9yICdmZCcgaXMgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3JcblwKLWNvbm5lY3RlZCB0byB0aGUgc2xhdmUgZW5kIG9mIGEgdGVybWluYWwuIik7CisKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmlzYXR0eSAtPiBib29sCisgICAgZmQ6IGludAorICAgIC8KKworUmV0dXJuIFRydWUgaWYgdGhlIGZkIGlzIGNvbm5lY3RlZCB0byBhIHRlcm1pbmFsLgorCitSZXR1cm4gVHJ1ZSBpZiB0aGUgZmlsZSBkZXNjcmlwdG9yIGlzIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yCitjb25uZWN0ZWQgdG8gdGhlIHNsYXZlIGVuZCBvZiBhIHRlcm1pbmFsLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfaXNhdHR5X19kb2NfXywKKyJpc2F0dHkoJG1vZHVsZSwgZmQsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gVHJ1ZSBpZiB0aGUgZmQgaXMgY29ubmVjdGVkIHRvIGEgdGVybWluYWwuXG4iCisiXG4iCisiUmV0dXJuIFRydWUgaWYgdGhlIGZpbGUgZGVzY3JpcHRvciBpcyBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvclxuIgorImNvbm5lY3RlZCB0byB0aGUgc2xhdmUgZW5kIG9mIGEgdGVybWluYWwuIik7CisKKyNkZWZpbmUgT1NfSVNBVFRZX01FVEhPRERFRiAgICBcCisgICAgeyJpc2F0dHkiLCAoUHlDRnVuY3Rpb24pb3NfaXNhdHR5LCBNRVRIX1ZBUkFSR1MsIG9zX2lzYXR0eV9fZG9jX199LAorCitzdGF0aWMgaW50Citvc19pc2F0dHlfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQpOwogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfaXNhdHR5KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX2lzYXR0eShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKICAgICBpbnQgZmQ7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpOmlzYXR0eSIsICZmZCkpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIGlmICghX1B5VmVyaWZ5X2ZkKGZkKSkKLSAgICAgICAgcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZygwKTsKLSAgICByZXR1cm4gUHlCb29sX0Zyb21Mb25nKGlzYXR0eShmZCkpOworICAgIGludCBfcmV0dXJuX3ZhbHVlOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJpOmlzYXR0eSIsCisgICAgICAgICZmZCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICBfcmV0dXJuX3ZhbHVlID0gb3NfaXNhdHR5X2ltcGwobW9kdWxlLCBmZCk7CisgICAgaWYgKChfcmV0dXJuX3ZhbHVlID09IC0xKSAmJiBQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gUHlCb29sX0Zyb21Mb25nKChsb25nKV9yZXR1cm5fdmFsdWUpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7CiB9CiAKK3N0YXRpYyBpbnQKK29zX2lzYXR0eV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD00YmZhZGJmZTIyNzE1MDk3IGlucHV0PTA4Y2U5NGFhMWVhZjdiNWVdKi8KK3sKKyAgICBpZiAoIV9QeVZlcmlmeV9mZChmZCkpCisgICAgICAgIHJldHVybiAwOworICAgIHJldHVybiBpc2F0dHkoZmQpOworfQorCisKICNpZmRlZiBIQVZFX1BJUEUKLVB5RG9jX1NUUlZBUihwb3NpeF9waXBlX19kb2NfXywKLSJwaXBlKCkgLT4gKHJlYWRfZW5kLCB3cml0ZV9lbmQpXG5cblwKLUNyZWF0ZSBhIHBpcGUuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5waXBlCisKK0NyZWF0ZSBhIHBpcGUuCisKK1JldHVybnMgYSB0dXBsZSBvZiB0d28gZmlsZSBkZXNjcmlwdG9yczoKKyAgKHJlYWRfZmQsIHdyaXRlX2ZkKQorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfcGlwZV9fZG9jX18sCisicGlwZSgkbW9kdWxlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiQ3JlYXRlIGEgcGlwZS5cbiIKKyJcbiIKKyJSZXR1cm5zIGEgdHVwbGUgb2YgdHdvIGZpbGUgZGVzY3JpcHRvcnM6XG4iCisiICAocmVhZF9mZCwgd3JpdGVfZmQpIik7CisKKyNkZWZpbmUgT1NfUElQRV9NRVRIT0RERUYgICAgXAorICAgIHsicGlwZSIsIChQeUNGdW5jdGlvbilvc19waXBlLCBNRVRIX05PQVJHUywgb3NfcGlwZV9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfcGlwZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKm5vYXJncykKK29zX3BpcGVfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3BpcGUoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gb3NfcGlwZV9pbXBsKG1vZHVsZSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19waXBlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0wZGEyNDc5ZjIyNjZlNzc0IGlucHV0PTAyNTM1ZThjOGZhNmM0ZDRdKi8KIHsKICAgICBpbnQgZmRzWzJdOwogI2lmZGVmIE1TX1dJTkRPV1MKQEAgLTg0NzksMjUgKzEyMTQzLDY0IEBACiB9CiAjZW5kaWYgIC8qIEhBVkVfUElQRSAqLwogCisKICNpZmRlZiBIQVZFX1BJUEUyCi1QeURvY19TVFJWQVIocG9zaXhfcGlwZTJfX2RvY19fLAotInBpcGUyKGZsYWdzKSAtPiAocmVhZF9lbmQsIHdyaXRlX2VuZClcblxuXAotQ3JlYXRlIGEgcGlwZSB3aXRoIGZsYWdzIHNldCBhdG9taWNhbGx5LlxuXAotZmxhZ3MgY2FuIGJlIGNvbnN0cnVjdGVkIGJ5IE9SaW5nIHRvZ2V0aGVyIG9uZSBvciBtb3JlIG9mIHRoZXNlIHZhbHVlczpcblwKLU9fTk9OQkxPQ0ssIE9fQ0xPRVhFQy5cblwKLSIpOworLypbY2xpbmljIGlucHV0XQorb3MucGlwZTIKKworICAgIGZsYWdzOiBpbnQKKyAgICAvCisKK0NyZWF0ZSBhIHBpcGUgd2l0aCBmbGFncyBzZXQgYXRvbWljYWxseS4KKworUmV0dXJucyBhIHR1cGxlIG9mIHR3byBmaWxlIGRlc2NyaXB0b3JzOgorICAocmVhZF9mZCwgd3JpdGVfZmQpCisKK2ZsYWdzIGNhbiBiZSBjb25zdHJ1Y3RlZCBieSBPUmluZyB0b2dldGhlciBvbmUgb3IgbW9yZSBvZiB0aGVzZSB2YWx1ZXM6CitPX05PTkJMT0NLLCBPX0NMT0VYRUMuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19waXBlMl9fZG9jX18sCisicGlwZTIoJG1vZHVsZSwgZmxhZ3MsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJDcmVhdGUgYSBwaXBlIHdpdGggZmxhZ3Mgc2V0IGF0b21pY2FsbHkuXG4iCisiXG4iCisiUmV0dXJucyBhIHR1cGxlIG9mIHR3byBmaWxlIGRlc2NyaXB0b3JzOlxuIgorIiAgKHJlYWRfZmQsIHdyaXRlX2ZkKVxuIgorIlxuIgorImZsYWdzIGNhbiBiZSBjb25zdHJ1Y3RlZCBieSBPUmluZyB0b2dldGhlciBvbmUgb3IgbW9yZSBvZiB0aGVzZSB2YWx1ZXM6XG4iCisiT19OT05CTE9DSywgT19DTE9FWEVDLiIpOworCisjZGVmaW5lIE9TX1BJUEUyX01FVEhPRERFRiAgICBcCisgICAgeyJwaXBlMiIsIChQeUNGdW5jdGlvbilvc19waXBlMiwgTUVUSF9WQVJBUkdTLCBvc19waXBlMl9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfcGlwZTIoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmcpCitvc19waXBlMl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmbGFncyk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19waXBlMihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKICAgICBpbnQgZmxhZ3M7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgImk6cGlwZTIiLAorICAgICAgICAmZmxhZ3MpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfcGlwZTJfaW1wbChtb2R1bGUsIGZsYWdzKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfcGlwZTJfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmxhZ3MpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9OWUyN2M3OTljZTE5MjIwYiBpbnB1dD1mMjYxYjZlN2U2M2M2ODE3XSovCit7CiAgICAgaW50IGZkc1syXTsKICAgICBpbnQgcmVzOwogCi0gICAgZmxhZ3MgPSBfUHlMb25nX0FzSW50KGFyZyk7Ci0gICAgaWYgKGZsYWdzID09IC0xICYmIFB5RXJyX09jY3VycmVkKCkpCi0gICAgICAgIHJldHVybiBOVUxMOwotCiAgICAgcmVzID0gcGlwZTIoZmRzLCBmbGFncyk7CiAgICAgaWYgKHJlcyAhPSAwKQogICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKQEAgLTg1MDUsMzA2ICsxMjIwOCw2MzUgQEAKIH0KICNlbmRpZiAvKiBIQVZFX1BJUEUyICovCiAKKwogI2lmZGVmIEhBVkVfV1JJVEVWCi1QeURvY19TVFJWQVIocG9zaXhfd3JpdGV2X19kb2NfXywKLSJ3cml0ZXYoZmQsIGJ1ZmZlcnMpIC0+IGJ5dGVzd3JpdHRlblxuXG5cCi1Xcml0ZSB0aGUgY29udGVudHMgb2YgKmJ1ZmZlcnMqIHRvIGZpbGUgZGVzY3JpcHRvciAqZmQqLiAqYnVmZmVycypcblwKLW11c3QgYmUgYSBzZXF1ZW5jZSBvZiBieXRlcy1saWtlIG9iamVjdHMuXG5cblwKLXdyaXRldiB3cml0ZXMgdGhlIGNvbnRlbnRzIG9mIGVhY2ggb2JqZWN0IHRvIHRoZSBmaWxlIGRlc2NyaXB0b3JcblwKLWFuZCByZXR1cm5zIHRoZSB0b3RhbCBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbi4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLndyaXRldiAtPiBQeV9zc2l6ZV90CisgICAgZmQ6IGludAorICAgIGJ1ZmZlcnM6IG9iamVjdAorICAgIC8KKworSXRlcmF0ZSBvdmVyIGJ1ZmZlcnMsIGFuZCB3cml0ZSB0aGUgY29udGVudHMgb2YgZWFjaCB0byBhIGZpbGUgZGVzY3JpcHRvci4KKworUmV0dXJucyB0aGUgdG90YWwgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4uCitidWZmZXJzIG11c3QgYmUgYSBzZXF1ZW5jZSBvZiBieXRlcy1saWtlIG9iamVjdHMuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc193cml0ZXZfX2RvY19fLAorIndyaXRldigkbW9kdWxlLCBmZCwgYnVmZmVycywgLylcbiIKKyItLVxuIgorIlxuIgorIkl0ZXJhdGUgb3ZlciBidWZmZXJzLCBhbmQgd3JpdGUgdGhlIGNvbnRlbnRzIG9mIGVhY2ggdG8gYSBmaWxlIGRlc2NyaXB0b3IuXG4iCisiXG4iCisiUmV0dXJucyB0aGUgdG90YWwgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4uXG4iCisiYnVmZmVycyBtdXN0IGJlIGEgc2VxdWVuY2Ugb2YgYnl0ZXMtbGlrZSBvYmplY3RzLiIpOworCisjZGVmaW5lIE9TX1dSSVRFVl9NRVRIT0RERUYgICAgXAorICAgIHsid3JpdGV2IiwgKFB5Q0Z1bmN0aW9uKW9zX3dyaXRldiwgTUVUSF9WQVJBUkdTLCBvc193cml0ZXZfX2RvY19ffSwKKworc3RhdGljIFB5X3NzaXplX3QKK29zX3dyaXRldl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCwgUHlPYmplY3QgKmJ1ZmZlcnMpOwogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfd3JpdGV2KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX3dyaXRldihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBpbnQgZmQsIGNudDsKLSAgICBQeV9zc2l6ZV90IHJlczsKLSAgICBQeU9iamVjdCAqc2VxOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIGludCBmZDsKKyAgICBQeU9iamVjdCAqYnVmZmVyczsKKyAgICBQeV9zc2l6ZV90IF9yZXR1cm5fdmFsdWU7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgImlPOndyaXRldiIsCisgICAgICAgICZmZCwgJmJ1ZmZlcnMpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgX3JldHVybl92YWx1ZSA9IG9zX3dyaXRldl9pbXBsKG1vZHVsZSwgZmQsIGJ1ZmZlcnMpOworICAgIGlmICgoX3JldHVybl92YWx1ZSA9PSAtMSkgJiYgUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IFB5TG9uZ19Gcm9tU3NpemVfdChfcmV0dXJuX3ZhbHVlKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlfc3NpemVfdAorb3Nfd3JpdGV2X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkLCBQeU9iamVjdCAqYnVmZmVycykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD01OTFjNjYyZGNjYmU0OTUxIGlucHV0PTViOGQxN2ZlNDE4OWQyZmVdKi8KK3sKKyAgICBpbnQgY250OworICAgIFB5X3NzaXplX3QgcmVzdWx0OworICAgIGludCBhc3luY19lcnIgPSAwOwogICAgIHN0cnVjdCBpb3ZlYyAqaW92OwogICAgIFB5X2J1ZmZlciAqYnVmOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaU86d3JpdGV2IiwgJmZkLCAmc2VxKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgaWYgKCFQeVNlcXVlbmNlX0NoZWNrKHNlcSkpIHsKKworICAgIGlmICghUHlTZXF1ZW5jZV9DaGVjayhidWZmZXJzKSkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAogICAgICAgICAgICAgIndyaXRldigpIGFyZyAyIG11c3QgYmUgYSBzZXF1ZW5jZSIpOwotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KLSAgICBjbnQgPSBQeVNlcXVlbmNlX1NpemUoc2VxKTsKKyAgICBjbnQgPSBQeVNlcXVlbmNlX1NpemUoYnVmZmVycyk7CiAKLSAgICBpZiAoaW92X3NldHVwKCZpb3YsICZidWYsIHNlcSwgY250LCBQeUJVRl9TSU1QTEUpIDwgMCkgewotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoaW92X3NldHVwKCZpb3YsICZidWYsIGJ1ZmZlcnMsIGNudCwgUHlCVUZfU0lNUExFKSA8IDApIHsKKyAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KIAotICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICByZXMgPSB3cml0ZXYoZmQsIGlvdiwgY250KTsKLSAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIGRvIHsKKyAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgICAgICByZXN1bHQgPSB3cml0ZXYoZmQsIGlvdiwgY250KTsKKyAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICB9IHdoaWxlIChyZXN1bHQgPCAwICYmIGVycm5vID09IEVJTlRSICYmICEoYXN5bmNfZXJyID0gUHlFcnJfQ2hlY2tTaWduYWxzKCkpKTsKIAogICAgIGlvdl9jbGVhbnVwKGlvdiwgYnVmLCBjbnQpOwotICAgIGlmIChyZXMgPCAwKQotICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKKyAgICBpZiAocmVzdWx0IDwgMCAmJiAhYXN5bmNfZXJyKQorICAgICAgICBwb3NpeF9lcnJvcigpOwogCi0gICAgcmV0dXJuIFB5TG9uZ19Gcm9tU3NpemVfdChyZXMpOwotfQotI2VuZGlmCi0KLSNpZmRlZiBIQVZFX1BXUklURQotUHlEb2NfU1RSVkFSKHBvc2l4X3B3cml0ZV9fZG9jX18sCi0icHdyaXRlKGZkLCBzdHJpbmcsIG9mZnNldCkgLT4gYnl0ZXN3cml0dGVuXG5cblwKLVdyaXRlIHN0cmluZyB0byBhIGZpbGUgZGVzY3JpcHRvciwgZmQsIGZyb20gb2Zmc2V0LCBsZWF2aW5nIHRoZSBmaWxlXG5cCi1vZmZzZXQgdW5jaGFuZ2VkLiIpOwotCi1zdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfcHdyaXRlKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKLXsKLSAgICBQeV9idWZmZXIgcGJ1ZjsKLSAgICBpbnQgZmQ7Ci0gICAgb2ZmX3Qgb2Zmc2V0OwotICAgIFB5X3NzaXplX3Qgc2l6ZTsKLQotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaXkqTyY6cHdyaXRlIiwgJmZkLCAmcGJ1ZiwgX3BhcnNlX29mZl90LCAmb2Zmc2V0KSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KLSAgICBpZiAoIV9QeVZlcmlmeV9mZChmZCkpIHsKLSAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmcGJ1Zik7Ci0gICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwotICAgIH0KLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgc2l6ZSA9IHB3cml0ZShmZCwgcGJ1Zi5idWYsIChzaXplX3QpcGJ1Zi5sZW4sIG9mZnNldCk7Ci0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLSAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZwYnVmKTsKLSAgICBpZiAoc2l6ZSA8IDApCi0gICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwotICAgIHJldHVybiBQeUxvbmdfRnJvbVNzaXplX3Qoc2l6ZSk7Ci19Ci0jZW5kaWYKLQotI2lmZGVmIEhBVkVfTUtGSUZPCi1QeURvY19TVFJWQVIocG9zaXhfbWtmaWZvX19kb2NfXywKLSJta2ZpZm8ocGF0aCwgbW9kZT0wbzY2NiwgKiwgZGlyX2ZkPU5vbmUpXG5cblwKLUNyZWF0ZSBhIEZJRk8gKGEgUE9TSVggbmFtZWQgcGlwZSkuXG5cCi1cblwKLUlmIGRpcl9mZCBpcyBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZSBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksXG5cCi0gIGFuZCBwYXRoIHNob3VsZCBiZSByZWxhdGl2ZTsgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8gdGhhdCBkaXJlY3RvcnkuXG5cCi1kaXJfZmQgbWF5IG5vdCBiZSBpbXBsZW1lbnRlZCBvbiB5b3VyIHBsYXRmb3JtLlxuXAotICBJZiBpdCBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgd2lsbCByYWlzZSBhIE5vdEltcGxlbWVudGVkRXJyb3IuIik7Ci0KLXN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9ta2ZpZm8oUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQotewotICAgIHBhdGhfdCBwYXRoOwotICAgIGludCBtb2RlID0gMDY2NjsKLSAgICBpbnQgZGlyX2ZkID0gREVGQVVMVF9ESVJfRkQ7Ci0gICAgaW50IHJlc3VsdDsKLSAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKLSAgICBzdGF0aWMgY2hhciAqa2V5d29yZHNbXSA9IHsicGF0aCIsICJtb2RlIiwgImRpcl9mZCIsIE5VTEx9OwotCi0gICAgbWVtc2V0KCZwYXRoLCAwLCBzaXplb2YocGF0aCkpOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgIk8mfGkkTyY6bWtmaWZvIiwga2V5d29yZHMsCi0gICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwKLSAgICAgICAgJm1vZGUsCi0jaWZkZWYgSEFWRV9NS0ZJRk9BVAotICAgICAgICBkaXJfZmRfY29udmVydGVyLCAmZGlyX2ZkCi0jZWxzZQotICAgICAgICBkaXJfZmRfdW5hdmFpbGFibGUsICZkaXJfZmQKLSNlbmRpZgotICAgICAgICApKQotICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSNpZmRlZiBIQVZFX01LRklGT0FUCi0gICAgaWYgKGRpcl9mZCAhPSBERUZBVUxUX0RJUl9GRCkKLSAgICAgICAgcmVzdWx0ID0gbWtmaWZvYXQoZGlyX2ZkLCBwYXRoLm5hcnJvdywgbW9kZSk7Ci0gICAgZWxzZQotI2VuZGlmCi0gICAgICAgIHJlc3VsdCA9IG1rZmlmbyhwYXRoLm5hcnJvdywgbW9kZSk7Ci0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLQotICAgIGlmIChyZXN1bHQgPCAwKSB7Ci0gICAgICAgIHJldHVybl92YWx1ZSA9IHBvc2l4X2Vycm9yKCk7Ci0gICAgICAgIGdvdG8gZXhpdDsKLSAgICB9Ci0KLSAgICByZXR1cm5fdmFsdWUgPSBQeV9Ob25lOwotICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKLQotZXhpdDoKLSAgICBwYXRoX2NsZWFudXAoJnBhdGgpOwotICAgIHJldHVybiByZXR1cm5fdmFsdWU7Ci19Ci0jZW5kaWYKLQotI2lmIGRlZmluZWQoSEFWRV9NS05PRCkgJiYgZGVmaW5lZChIQVZFX01BS0VERVYpCi1QeURvY19TVFJWQVIocG9zaXhfbWtub2RfX2RvY19fLAotIm1rbm9kKGZpbGVuYW1lLCBtb2RlPTBvNjAwLCBkZXZpY2U9MCwgKiwgZGlyX2ZkPU5vbmUpXG5cblwKLUNyZWF0ZSBhIGZpbGVzeXN0ZW0gbm9kZSAoZmlsZSwgZGV2aWNlIHNwZWNpYWwgZmlsZSBvciBuYW1lZCBwaXBlKVxuXAotbmFtZWQgZmlsZW5hbWUuIG1vZGUgc3BlY2lmaWVzIGJvdGggdGhlIHBlcm1pc3Npb25zIHRvIHVzZSBhbmQgdGhlXG5cCi10eXBlIG9mIG5vZGUgdG8gYmUgY3JlYXRlZCwgYmVpbmcgY29tYmluZWQgKGJpdHdpc2UgT1IpIHdpdGggb25lIG9mXG5cCi1TX0lGUkVHLCBTX0lGQ0hSLCBTX0lGQkxLLCBhbmQgU19JRklGTy4gRm9yIFNfSUZDSFIgYW5kIFNfSUZCTEssXG5cCi1kZXZpY2UgZGVmaW5lcyB0aGUgbmV3bHkgY3JlYXRlZCBkZXZpY2Ugc3BlY2lhbCBmaWxlIChwcm9iYWJseSB1c2luZ1xuXAotb3MubWFrZWRldigpKSwgb3RoZXJ3aXNlIGl0IGlzIGlnbm9yZWQuXG5cCi1cblwKLUlmIGRpcl9mZCBpcyBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZSBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksXG5cCi0gIGFuZCBwYXRoIHNob3VsZCBiZSByZWxhdGl2ZTsgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8gdGhhdCBkaXJlY3RvcnkuXG5cCi1kaXJfZmQgbWF5IG5vdCBiZSBpbXBsZW1lbnRlZCBvbiB5b3VyIHBsYXRmb3JtLlxuXAotICBJZiBpdCBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgd2lsbCByYWlzZSBhIE5vdEltcGxlbWVudGVkRXJyb3IuIik7Ci0KLQotc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X21rbm9kKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKLXsKLSAgICBwYXRoX3QgcGF0aDsKLSAgICBpbnQgbW9kZSA9IDA2NjY7Ci0gICAgZGV2X3QgZGV2aWNlID0gMDsKLSAgICBpbnQgZGlyX2ZkID0gREVGQVVMVF9ESVJfRkQ7Ci0gICAgaW50IHJlc3VsdDsKLSAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKLSAgICBzdGF0aWMgY2hhciAqa2V5d29yZHNbXSA9IHsicGF0aCIsICJtb2RlIiwgImRldmljZSIsICJkaXJfZmQiLCBOVUxMfTsKLQotICAgIG1lbXNldCgmcGF0aCwgMCwgc2l6ZW9mKHBhdGgpKTsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsICJPJnxpTyYkTyY6bWtub2QiLCBrZXl3b3JkcywKLSAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLAotICAgICAgICAmbW9kZSwgX1B5X0Rldl9Db252ZXJ0ZXIsICZkZXZpY2UsCi0jaWZkZWYgSEFWRV9NS05PREFUCi0gICAgICAgIGRpcl9mZF9jb252ZXJ0ZXIsICZkaXJfZmQKLSNlbHNlCi0gICAgICAgIGRpcl9mZF91bmF2YWlsYWJsZSwgJmRpcl9mZAotI2VuZGlmCi0gICAgICAgICkpCi0gICAgICAgIHJldHVybiBOVUxMOwotCi0gICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotI2lmZGVmIEhBVkVfTUtOT0RBVAotICAgIGlmIChkaXJfZmQgIT0gREVGQVVMVF9ESVJfRkQpCi0gICAgICAgIHJlc3VsdCA9IG1rbm9kYXQoZGlyX2ZkLCBwYXRoLm5hcnJvdywgbW9kZSwgZGV2aWNlKTsKLSAgICBlbHNlCi0jZW5kaWYKLSAgICAgICAgcmVzdWx0ID0gbWtub2QocGF0aC5uYXJyb3csIG1vZGUsIGRldmljZSk7Ci0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLQotICAgIGlmIChyZXN1bHQgPCAwKSB7Ci0gICAgICAgIHJldHVybl92YWx1ZSA9IHBvc2l4X2Vycm9yKCk7Ci0gICAgICAgIGdvdG8gZXhpdDsKLSAgICB9Ci0KLSAgICByZXR1cm5fdmFsdWUgPSBQeV9Ob25lOwotICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKLQotZXhpdDoKLSAgICBwYXRoX2NsZWFudXAoJnBhdGgpOwotICAgIHJldHVybiByZXR1cm5fdmFsdWU7Ci19Ci0jZW5kaWYKLQotI2lmZGVmIEhBVkVfREVWSUNFX01BQ1JPUwotUHlEb2NfU1RSVkFSKHBvc2l4X21ham9yX19kb2NfXywKLSJtYWpvcihkZXZpY2UpIC0+IG1ham9yIG51bWJlclxuXAotRXh0cmFjdHMgYSBkZXZpY2UgbWFqb3IgbnVtYmVyIGZyb20gYSByYXcgZGV2aWNlIG51bWJlci4iKTsKLQotc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X21ham9yKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKLXsKLSAgICBkZXZfdCBkZXZpY2U7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPJjptYWpvciIsIF9QeV9EZXZfQ29udmVydGVyLCAmZGV2aWNlKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZygobG9uZyltYWpvcihkZXZpY2UpKTsKLX0KLQotUHlEb2NfU1RSVkFSKHBvc2l4X21pbm9yX19kb2NfXywKLSJtaW5vcihkZXZpY2UpIC0+IG1pbm9yIG51bWJlclxuXAotRXh0cmFjdHMgYSBkZXZpY2UgbWlub3IgbnVtYmVyIGZyb20gYSByYXcgZGV2aWNlIG51bWJlci4iKTsKLQotc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X21pbm9yKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKLXsKLSAgICBkZXZfdCBkZXZpY2U7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPJjptaW5vciIsIF9QeV9EZXZfQ29udmVydGVyLCAmZGV2aWNlKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZygobG9uZyltaW5vcihkZXZpY2UpKTsKLX0KLQotUHlEb2NfU1RSVkFSKHBvc2l4X21ha2VkZXZfX2RvY19fLAotIm1ha2VkZXYobWFqb3IsIG1pbm9yKSAtPiBkZXZpY2UgbnVtYmVyXG5cCi1Db21wb3NlcyBhIHJhdyBkZXZpY2UgbnVtYmVyIGZyb20gdGhlIG1ham9yIGFuZCBtaW5vciBkZXZpY2UgbnVtYmVycy4iKTsKLQotc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X21ha2VkZXYoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQotewotICAgIGludCBtYWpvciwgbWlub3I7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpaTptYWtlZGV2IiwgJm1ham9yLCAmbWlub3IpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICByZXR1cm4gX1B5TG9uZ19Gcm9tRGV2KG1ha2VkZXYobWFqb3IsIG1pbm9yKSk7Ci19Ci0jZW5kaWYgLyogZGV2aWNlIG1hY3JvcyAqLwotCi0KLSNpZmRlZiBIQVZFX0ZUUlVOQ0FURQotUHlEb2NfU1RSVkFSKHBvc2l4X2Z0cnVuY2F0ZV9fZG9jX18sCi0iZnRydW5jYXRlKGZkLCBsZW5ndGgpXG5cblwKLVRydW5jYXRlIGEgZmlsZSB0byBhIHNwZWNpZmllZCBsZW5ndGguIik7Ci0KLXN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9mdHJ1bmNhdGUoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQotewotICAgIGludCBmZDsKLSAgICBvZmZfdCBsZW5ndGg7Ci0gICAgaW50IHJlczsKLQotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaU8mOmZ0cnVuY2F0ZSIsICZmZCwgX3BhcnNlX29mZl90LCAmbGVuZ3RoKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgcmVzID0gZnRydW5jYXRlKGZkLCBsZW5ndGgpOwotICAgIFB5X0VORF9BTExPV19USFJFQURTCi0gICAgaWYgKHJlcyA8IDApCi0gICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwotICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKLSAgICByZXR1cm4gUHlfTm9uZTsKLX0KLSNlbmRpZgotCi0jaWZkZWYgSEFWRV9UUlVOQ0FURQotUHlEb2NfU1RSVkFSKHBvc2l4X3RydW5jYXRlX19kb2NfXywKLSJ0cnVuY2F0ZShwYXRoLCBsZW5ndGgpXG5cblwKLVRydW5jYXRlIHRoZSBmaWxlIGdpdmVuIGJ5IHBhdGggdG8gbGVuZ3RoIGJ5dGVzLlxuXAotT24gc29tZSBwbGF0Zm9ybXMsIHBhdGggbWF5IGFsc28gYmUgc3BlY2lmaWVkIGFzIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLlxuXAotICBJZiB0aGlzIGZ1bmN0aW9uYWxpdHkgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHJhaXNlcyBhbiBleGNlcHRpb24uIik7Ci0KLXN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF90cnVuY2F0ZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCi17Ci0gICAgcGF0aF90IHBhdGg7Ci0gICAgb2ZmX3QgbGVuZ3RoOwotICAgIGludCByZXM7Ci0gICAgUHlPYmplY3QgKnJlc3VsdCA9IE5VTEw7Ci0gICAgc3RhdGljIGNoYXIgKmtleXdvcmRzW10gPSB7InBhdGgiLCAibGVuZ3RoIiwgTlVMTH07Ci0KLSAgICBtZW1zZXQoJnBhdGgsIDAsIHNpemVvZihwYXRoKSk7Ci0gICAgcGF0aC5mdW5jdGlvbl9uYW1lID0gInRydW5jYXRlIjsKLSNpZmRlZiBIQVZFX0ZUUlVOQ0FURQotICAgIHBhdGguYWxsb3dfZmQgPSAxOwotI2VuZGlmCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAiTyZPJjp0cnVuY2F0ZSIsIGtleXdvcmRzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfcGFyc2Vfb2ZmX3QsICZsZW5ndGgpKQotICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSNpZmRlZiBIQVZFX0ZUUlVOQ0FURQotICAgIGlmIChwYXRoLmZkICE9IC0xKQotICAgICAgICByZXMgPSBmdHJ1bmNhdGUocGF0aC5mZCwgbGVuZ3RoKTsKLSAgICBlbHNlCi0jZW5kaWYKLSAgICAgICAgcmVzID0gdHJ1bmNhdGUocGF0aC5uYXJyb3csIGxlbmd0aCk7Ci0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLSAgICBpZiAocmVzIDwgMCkKLSAgICAgICAgcmVzdWx0ID0gcGF0aF9lcnJvcigmcGF0aCk7Ci0gICAgZWxzZSB7Ci0gICAgICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKLSAgICAgICAgcmVzdWx0ID0gUHlfTm9uZTsKLSAgICB9Ci0gICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQorI2VuZGlmIC8qIEhBVkVfV1JJVEVWICovCisKKworI2lmZGVmIEhBVkVfUFdSSVRFCisvKltjbGluaWMgaW5wdXRdCitvcy5wd3JpdGUgLT4gUHlfc3NpemVfdAorCisgICAgZmQ6IGludAorICAgIGJ1ZmZlcjogUHlfYnVmZmVyCisgICAgb2Zmc2V0OiBQeV9vZmZfdAorICAgIC8KKworV3JpdGUgYnl0ZXMgdG8gYSBmaWxlIGRlc2NyaXB0b3Igc3RhcnRpbmcgYXQgYSBwYXJ0aWN1bGFyIG9mZnNldC4KKworV3JpdGUgYnVmZmVyIHRvIGZkLCBzdGFydGluZyBhdCBvZmZzZXQgYnl0ZXMgZnJvbSB0aGUgYmVnaW5uaW5nIG9mCit0aGUgZmlsZS4gIFJldHVybnMgdGhlIG51bWJlciBvZiBieXRlcyB3cml0dGUuICBEb2VzIG5vdCBjaGFuZ2UgdGhlCitjdXJyZW50IGZpbGUgb2Zmc2V0LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfcHdyaXRlX19kb2NfXywKKyJwd3JpdGUoJG1vZHVsZSwgZmQsIGJ1ZmZlciwgb2Zmc2V0LCAvKVxuIgorIi0tXG4iCisiXG4iCisiV3JpdGUgYnl0ZXMgdG8gYSBmaWxlIGRlc2NyaXB0b3Igc3RhcnRpbmcgYXQgYSBwYXJ0aWN1bGFyIG9mZnNldC5cbiIKKyJcbiIKKyJXcml0ZSBidWZmZXIgdG8gZmQsIHN0YXJ0aW5nIGF0IG9mZnNldCBieXRlcyBmcm9tIHRoZSBiZWdpbm5pbmcgb2ZcbiIKKyJ0aGUgZmlsZS4gIFJldHVybnMgdGhlIG51bWJlciBvZiBieXRlcyB3cml0dGUuICBEb2VzIG5vdCBjaGFuZ2UgdGhlXG4iCisiY3VycmVudCBmaWxlIG9mZnNldC4iKTsKKworI2RlZmluZSBPU19QV1JJVEVfTUVUSE9EREVGICAgIFwKKyAgICB7InB3cml0ZSIsIChQeUNGdW5jdGlvbilvc19wd3JpdGUsIE1FVEhfVkFSQVJHUywgb3NfcHdyaXRlX19kb2NfX30sCisKK3N0YXRpYyBQeV9zc2l6ZV90Citvc19wd3JpdGVfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQsIFB5X2J1ZmZlciAqYnVmZmVyLCBQeV9vZmZfdCBvZmZzZXQpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfcHdyaXRlKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIGludCBmZDsKKyAgICBQeV9idWZmZXIgYnVmZmVyID0ge05VTEwsIE5VTEx9OworICAgIFB5X29mZl90IG9mZnNldDsKKyAgICBQeV9zc2l6ZV90IF9yZXR1cm5fdmFsdWU7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIml5Kk8mOnB3cml0ZSIsCisgICAgICAgICZmZCwgJmJ1ZmZlciwgUHlfb2ZmX3RfY29udmVydGVyLCAmb2Zmc2V0KSkKKyAgICAgICAgZ290byBleGl0OworICAgIF9yZXR1cm5fdmFsdWUgPSBvc19wd3JpdGVfaW1wbChtb2R1bGUsIGZkLCAmYnVmZmVyLCBvZmZzZXQpOworICAgIGlmICgoX3JldHVybl92YWx1ZSA9PSAtMSkgJiYgUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IFB5TG9uZ19Gcm9tU3NpemVfdChfcmV0dXJuX3ZhbHVlKTsKKworZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBidWZmZXIgKi8KKyAgICBpZiAoYnVmZmVyLm9iaikKKyAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZidWZmZXIpOworCisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5X3NzaXplX3QKK29zX3B3cml0ZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCwgUHlfYnVmZmVyICpidWZmZXIsIFB5X29mZl90IG9mZnNldCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1lYzljYzViMjIzOGU5NmE3IGlucHV0PTE5OTAzZjFiM2RkMjYzNzddKi8KK3sKKyAgICBQeV9zc2l6ZV90IHNpemU7CisgICAgaW50IGFzeW5jX2VyciA9IDA7CisKKyAgICBpZiAoIV9QeVZlcmlmeV9mZChmZCkpIHsKKyAgICAgICAgcG9zaXhfZXJyb3IoKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKworICAgIGRvIHsKKyAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgICAgICBzaXplID0gcHdyaXRlKGZkLCBidWZmZXItPmJ1ZiwgKHNpemVfdClidWZmZXItPmxlbiwgb2Zmc2V0KTsKKyAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICB9IHdoaWxlIChzaXplIDwgMCAmJiBlcnJubyA9PSBFSU5UUiAmJiAhKGFzeW5jX2VyciA9IFB5RXJyX0NoZWNrU2lnbmFscygpKSk7CisKKyAgICBpZiAoc2l6ZSA8IDAgJiYgIWFzeW5jX2VycikKKyAgICAgICAgcG9zaXhfZXJyb3IoKTsKKyAgICByZXR1cm4gc2l6ZTsKK30KKyNlbmRpZiAvKiBIQVZFX1BXUklURSAqLworCisKKyNpZmRlZiBIQVZFX01LRklGTworLypbY2xpbmljIGlucHV0XQorb3MubWtmaWZvCisKKyAgICBwYXRoOiBwYXRoX3QKKyAgICBtb2RlOiBpbnQ9MG82NjYKKyAgICAqCisgICAgZGlyX2ZkOiBkaXJfZmQocmVxdWlyZXM9J21rZmlmb2F0Jyk9Tm9uZQorCitDcmVhdGUgYSAiZmlmbyIgKGEgUE9TSVggbmFtZWQgcGlwZSkuCisKK0lmIGRpcl9mZCBpcyBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZSBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksCisgIGFuZCBwYXRoIHNob3VsZCBiZSByZWxhdGl2ZTsgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8gdGhhdCBkaXJlY3RvcnkuCitkaXJfZmQgbWF5IG5vdCBiZSBpbXBsZW1lbnRlZCBvbiB5b3VyIHBsYXRmb3JtLgorICBJZiBpdCBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgd2lsbCByYWlzZSBhIE5vdEltcGxlbWVudGVkRXJyb3IuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19ta2ZpZm9fX2RvY19fLAorIm1rZmlmbygkbW9kdWxlLCAvLCBwYXRoLCBtb2RlPTQzOCwgKiwgZGlyX2ZkPU5vbmUpXG4iCisiLS1cbiIKKyJcbiIKKyJDcmVhdGUgYSBcImZpZm9cIiAoYSBQT1NJWCBuYW1lZCBwaXBlKS5cbiIKKyJcbiIKKyJJZiBkaXJfZmQgaXMgbm90IE5vbmUsIGl0IHNob3VsZCBiZSBhIGZpbGUgZGVzY3JpcHRvciBvcGVuIHRvIGEgZGlyZWN0b3J5LFxuIgorIiAgYW5kIHBhdGggc2hvdWxkIGJlIHJlbGF0aXZlOyBwYXRoIHdpbGwgdGhlbiBiZSByZWxhdGl2ZSB0byB0aGF0IGRpcmVjdG9yeS5cbiIKKyJkaXJfZmQgbWF5IG5vdCBiZSBpbXBsZW1lbnRlZCBvbiB5b3VyIHBsYXRmb3JtLlxuIgorIiAgSWYgaXQgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHdpbGwgcmFpc2UgYSBOb3RJbXBsZW1lbnRlZEVycm9yLiIpOworCisjZGVmaW5lIE9TX01LRklGT19NRVRIT0RERUYgICAgXAorICAgIHsibWtmaWZvIiwgKFB5Q0Z1bmN0aW9uKW9zX21rZmlmbywgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX21rZmlmb19fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfbWtmaWZvX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoLCBpbnQgbW9kZSwgaW50IGRpcl9mZCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19ta2ZpZm8oUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJwYXRoIiwgIm1vZGUiLCAiZGlyX2ZkIiwgTlVMTH07CisgICAgcGF0aF90IHBhdGggPSBQQVRIX1RfSU5JVElBTElaRSgibWtmaWZvIiwgInBhdGgiLCAwLCAwKTsKKyAgICBpbnQgbW9kZSA9IDQzODsKKyAgICBpbnQgZGlyX2ZkID0gREVGQVVMVF9ESVJfRkQ7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJPJnxpJE8mOm1rZmlmbyIsIF9rZXl3b3JkcywKKyAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLCAmbW9kZSwgTUtGSUZPQVRfRElSX0ZEX0NPTlZFUlRFUiwgJmRpcl9mZCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19ta2ZpZm9faW1wbChtb2R1bGUsICZwYXRoLCBtb2RlLCBkaXJfZmQpOworCitleGl0OgorICAgIC8qIENsZWFudXAgZm9yIHBhdGggKi8KKyAgICBwYXRoX2NsZWFudXAoJnBhdGgpOworCisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX21rZmlmb19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgaW50IG1vZGUsIGludCBkaXJfZmQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YjMzMjE5Mjc1NDY4OTNkMCBpbnB1dD03MzAzMmU5OGEzNmUwZTE5XSovCit7CisgICAgaW50IHJlc3VsdDsKKyAgICBpbnQgYXN5bmNfZXJyID0gMDsKKworICAgIGRvIHsKKyAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworI2lmZGVmIEhBVkVfTUtGSUZPQVQKKyAgICAgICAgaWYgKGRpcl9mZCAhPSBERUZBVUxUX0RJUl9GRCkKKyAgICAgICAgICAgIHJlc3VsdCA9IG1rZmlmb2F0KGRpcl9mZCwgcGF0aC0+bmFycm93LCBtb2RlKTsKKyAgICAgICAgZWxzZQogI2VuZGlmCisgICAgICAgICAgICByZXN1bHQgPSBta2ZpZm8ocGF0aC0+bmFycm93LCBtb2RlKTsKKyAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICB9IHdoaWxlIChyZXN1bHQgIT0gMCAmJiBlcnJubyA9PSBFSU5UUiAmJgorICAgICAgICAgICAgICEoYXN5bmNfZXJyID0gUHlFcnJfQ2hlY2tTaWduYWxzKCkpKTsKKyAgICBpZiAocmVzdWx0ICE9IDApCisgICAgICAgIHJldHVybiAoIWFzeW5jX2VycikgPyBwb3NpeF9lcnJvcigpIDogTlVMTDsKKworICAgIFB5X1JFVFVSTl9OT05FOworfQorI2VuZGlmIC8qIEhBVkVfTUtGSUZPICovCisKKworI2lmIGRlZmluZWQoSEFWRV9NS05PRCkgJiYgZGVmaW5lZChIQVZFX01BS0VERVYpCisvKltjbGluaWMgaW5wdXRdCitvcy5ta25vZAorCisgICAgcGF0aDogcGF0aF90CisgICAgbW9kZTogaW50PTBvNjAwCisgICAgZGV2aWNlOiBkZXZfdD0wCisgICAgKgorICAgIGRpcl9mZDogZGlyX2ZkKHJlcXVpcmVzPSdta25vZGF0Jyk9Tm9uZQorCitDcmVhdGUgYSBub2RlIGluIHRoZSBmaWxlIHN5c3RlbS4KKworQ3JlYXRlIGEgbm9kZSBpbiB0aGUgZmlsZSBzeXN0ZW0gKGZpbGUsIGRldmljZSBzcGVjaWFsIGZpbGUgb3IgbmFtZWQgcGlwZSkKK2F0IHBhdGguICBtb2RlIHNwZWNpZmllcyBib3RoIHRoZSBwZXJtaXNzaW9ucyB0byB1c2UgYW5kIHRoZQordHlwZSBvZiBub2RlIHRvIGJlIGNyZWF0ZWQsIGJlaW5nIGNvbWJpbmVkIChiaXR3aXNlIE9SKSB3aXRoIG9uZSBvZgorU19JRlJFRywgU19JRkNIUiwgU19JRkJMSywgYW5kIFNfSUZJRk8uICBJZiBTX0lGQ0hSIG9yIFNfSUZCTEsgaXMgc2V0IG9uIG1vZGUsCitkZXZpY2UgZGVmaW5lcyB0aGUgbmV3bHkgY3JlYXRlZCBkZXZpY2Ugc3BlY2lhbCBmaWxlIChwcm9iYWJseSB1c2luZworb3MubWFrZWRldigpKS4gIE90aGVyd2lzZSBkZXZpY2UgaXMgaWdub3JlZC4KKworSWYgZGlyX2ZkIGlzIG5vdCBOb25lLCBpdCBzaG91bGQgYmUgYSBmaWxlIGRlc2NyaXB0b3Igb3BlbiB0byBhIGRpcmVjdG9yeSwKKyAgYW5kIHBhdGggc2hvdWxkIGJlIHJlbGF0aXZlOyBwYXRoIHdpbGwgdGhlbiBiZSByZWxhdGl2ZSB0byB0aGF0IGRpcmVjdG9yeS4KK2Rpcl9mZCBtYXkgbm90IGJlIGltcGxlbWVudGVkIG9uIHlvdXIgcGxhdGZvcm0uCisgIElmIGl0IGlzIHVuYXZhaWxhYmxlLCB1c2luZyBpdCB3aWxsIHJhaXNlIGEgTm90SW1wbGVtZW50ZWRFcnJvci4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX21rbm9kX19kb2NfXywKKyJta25vZCgkbW9kdWxlLCAvLCBwYXRoLCBtb2RlPTM4NCwgZGV2aWNlPTAsICosIGRpcl9mZD1Ob25lKVxuIgorIi0tXG4iCisiXG4iCisiQ3JlYXRlIGEgbm9kZSBpbiB0aGUgZmlsZSBzeXN0ZW0uXG4iCisiXG4iCisiQ3JlYXRlIGEgbm9kZSBpbiB0aGUgZmlsZSBzeXN0ZW0gKGZpbGUsIGRldmljZSBzcGVjaWFsIGZpbGUgb3IgbmFtZWQgcGlwZSlcbiIKKyJhdCBwYXRoLiAgbW9kZSBzcGVjaWZpZXMgYm90aCB0aGUgcGVybWlzc2lvbnMgdG8gdXNlIGFuZCB0aGVcbiIKKyJ0eXBlIG9mIG5vZGUgdG8gYmUgY3JlYXRlZCwgYmVpbmcgY29tYmluZWQgKGJpdHdpc2UgT1IpIHdpdGggb25lIG9mXG4iCisiU19JRlJFRywgU19JRkNIUiwgU19JRkJMSywgYW5kIFNfSUZJRk8uICBJZiBTX0lGQ0hSIG9yIFNfSUZCTEsgaXMgc2V0IG9uIG1vZGUsXG4iCisiZGV2aWNlIGRlZmluZXMgdGhlIG5ld2x5IGNyZWF0ZWQgZGV2aWNlIHNwZWNpYWwgZmlsZSAocHJvYmFibHkgdXNpbmdcbiIKKyJvcy5tYWtlZGV2KCkpLiAgT3RoZXJ3aXNlIGRldmljZSBpcyBpZ25vcmVkLlxuIgorIlxuIgorIklmIGRpcl9mZCBpcyBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZSBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksXG4iCisiICBhbmQgcGF0aCBzaG91bGQgYmUgcmVsYXRpdmU7IHBhdGggd2lsbCB0aGVuIGJlIHJlbGF0aXZlIHRvIHRoYXQgZGlyZWN0b3J5LlxuIgorImRpcl9mZCBtYXkgbm90IGJlIGltcGxlbWVudGVkIG9uIHlvdXIgcGxhdGZvcm0uXG4iCisiICBJZiBpdCBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgd2lsbCByYWlzZSBhIE5vdEltcGxlbWVudGVkRXJyb3IuIik7CisKKyNkZWZpbmUgT1NfTUtOT0RfTUVUSE9EREVGICAgIFwKKyAgICB7Im1rbm9kIiwgKFB5Q0Z1bmN0aW9uKW9zX21rbm9kLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfbWtub2RfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX21rbm9kX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoLCBpbnQgbW9kZSwgZGV2X3QgZGV2aWNlLCBpbnQgZGlyX2ZkKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX21rbm9kKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsicGF0aCIsICJtb2RlIiwgImRldmljZSIsICJkaXJfZmQiLCBOVUxMfTsKKyAgICBwYXRoX3QgcGF0aCA9IFBBVEhfVF9JTklUSUFMSVpFKCJta25vZCIsICJwYXRoIiwgMCwgMCk7CisgICAgaW50IG1vZGUgPSAzODQ7CisgICAgZGV2X3QgZGV2aWNlID0gMDsKKyAgICBpbnQgZGlyX2ZkID0gREVGQVVMVF9ESVJfRkQ7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJPJnxpTyYkTyY6bWtub2QiLCBfa2V5d29yZHMsCisgICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwgJm1vZGUsIF9QeV9EZXZfQ29udmVydGVyLCAmZGV2aWNlLCBNS05PREFUX0RJUl9GRF9DT05WRVJURVIsICZkaXJfZmQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfbWtub2RfaW1wbChtb2R1bGUsICZwYXRoLCBtb2RlLCBkZXZpY2UsIGRpcl9mZCk7CisKK2V4aXQ6CisgICAgLyogQ2xlYW51cCBmb3IgcGF0aCAqLworICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7CisKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfbWtub2RfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIGludCBtb2RlLCBkZXZfdCBkZXZpY2UsIGludCBkaXJfZmQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZjcxZDU0ZWFmOWJiNmYxYSBpbnB1dD1lZTQ0NTMxNTUxYTRkODNiXSovCit7CisgICAgaW50IHJlc3VsdDsKKyAgICBpbnQgYXN5bmNfZXJyID0gMDsKKworICAgIGRvIHsKKyAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworI2lmZGVmIEhBVkVfTUtOT0RBVAorICAgICAgICBpZiAoZGlyX2ZkICE9IERFRkFVTFRfRElSX0ZEKQorICAgICAgICAgICAgcmVzdWx0ID0gbWtub2RhdChkaXJfZmQsIHBhdGgtPm5hcnJvdywgbW9kZSwgZGV2aWNlKTsKKyAgICAgICAgZWxzZQorI2VuZGlmCisgICAgICAgICAgICByZXN1bHQgPSBta25vZChwYXRoLT5uYXJyb3csIG1vZGUsIGRldmljZSk7CisgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgfSB3aGlsZSAocmVzdWx0ICE9IDAgJiYgZXJybm8gPT0gRUlOVFIgJiYKKyAgICAgICAgICAgICAhKGFzeW5jX2VyciA9IFB5RXJyX0NoZWNrU2lnbmFscygpKSk7CisgICAgaWYgKHJlc3VsdCAhPSAwKQorICAgICAgICByZXR1cm4gKCFhc3luY19lcnIpID8gcG9zaXhfZXJyb3IoKSA6IE5VTEw7CisKKyAgICBQeV9SRVRVUk5fTk9ORTsKK30KKyNlbmRpZiAvKiBkZWZpbmVkKEhBVkVfTUtOT0QpICYmIGRlZmluZWQoSEFWRV9NQUtFREVWKSAqLworCisKKyNpZmRlZiBIQVZFX0RFVklDRV9NQUNST1MKKy8qW2NsaW5pYyBpbnB1dF0KK29zLm1ham9yIC0+IHVuc2lnbmVkX2ludAorCisgICAgZGV2aWNlOiBkZXZfdAorICAgIC8KKworRXh0cmFjdHMgYSBkZXZpY2UgbWFqb3IgbnVtYmVyIGZyb20gYSByYXcgZGV2aWNlIG51bWJlci4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX21ham9yX19kb2NfXywKKyJtYWpvcigkbW9kdWxlLCBkZXZpY2UsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJFeHRyYWN0cyBhIGRldmljZSBtYWpvciBudW1iZXIgZnJvbSBhIHJhdyBkZXZpY2UgbnVtYmVyLiIpOworCisjZGVmaW5lIE9TX01BSk9SX01FVEhPRERFRiAgICBcCisgICAgeyJtYWpvciIsIChQeUNGdW5jdGlvbilvc19tYWpvciwgTUVUSF9WQVJBUkdTLCBvc19tYWpvcl9fZG9jX199LAorCitzdGF0aWMgdW5zaWduZWQgaW50Citvc19tYWpvcl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGRldl90IGRldmljZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19tYWpvcihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBkZXZfdCBkZXZpY2U7CisgICAgdW5zaWduZWQgaW50IF9yZXR1cm5fdmFsdWU7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIk8mOm1ham9yIiwKKyAgICAgICAgX1B5X0Rldl9Db252ZXJ0ZXIsICZkZXZpY2UpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgX3JldHVybl92YWx1ZSA9IG9zX21ham9yX2ltcGwobW9kdWxlLCBkZXZpY2UpOworICAgIGlmICgoX3JldHVybl92YWx1ZSA9PSAodW5zaWduZWQgaW50KS0xKSAmJiBQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gUHlMb25nX0Zyb21VbnNpZ25lZExvbmcoKHVuc2lnbmVkIGxvbmcpX3JldHVybl92YWx1ZSk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIHVuc2lnbmVkIGludAorb3NfbWFqb3JfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBkZXZfdCBkZXZpY2UpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YTJkMDZlOTA4ZWJmOTViNSBpbnB1dD0xZTE2YTRkMzBjNGQ0NDYyXSovCit7CisgICAgcmV0dXJuIG1ham9yKGRldmljZSk7Cit9CisKKworLypbY2xpbmljIGlucHV0XQorb3MubWlub3IgLT4gdW5zaWduZWRfaW50CisKKyAgICBkZXZpY2U6IGRldl90CisgICAgLworCitFeHRyYWN0cyBhIGRldmljZSBtaW5vciBudW1iZXIgZnJvbSBhIHJhdyBkZXZpY2UgbnVtYmVyLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfbWlub3JfX2RvY19fLAorIm1pbm9yKCRtb2R1bGUsIGRldmljZSwgLylcbiIKKyItLVxuIgorIlxuIgorIkV4dHJhY3RzIGEgZGV2aWNlIG1pbm9yIG51bWJlciBmcm9tIGEgcmF3IGRldmljZSBudW1iZXIuIik7CisKKyNkZWZpbmUgT1NfTUlOT1JfTUVUSE9EREVGICAgIFwKKyAgICB7Im1pbm9yIiwgKFB5Q0Z1bmN0aW9uKW9zX21pbm9yLCBNRVRIX1ZBUkFSR1MsIG9zX21pbm9yX19kb2NfX30sCisKK3N0YXRpYyB1bnNpZ25lZCBpbnQKK29zX21pbm9yX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgZGV2X3QgZGV2aWNlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX21pbm9yKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIGRldl90IGRldmljZTsKKyAgICB1bnNpZ25lZCBpbnQgX3JldHVybl92YWx1ZTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiTyY6bWlub3IiLAorICAgICAgICBfUHlfRGV2X0NvbnZlcnRlciwgJmRldmljZSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICBfcmV0dXJuX3ZhbHVlID0gb3NfbWlub3JfaW1wbChtb2R1bGUsIGRldmljZSk7CisgICAgaWYgKChfcmV0dXJuX3ZhbHVlID09ICh1bnNpZ25lZCBpbnQpLTEpICYmIFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBQeUxvbmdfRnJvbVVuc2lnbmVkTG9uZygodW5zaWduZWQgbG9uZylfcmV0dXJuX3ZhbHVlKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgdW5zaWduZWQgaW50Citvc19taW5vcl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGRldl90IGRldmljZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD02MzMyMjg3ZWUzZjAwNmUyIGlucHV0PTA4NDJjNmQyM2YyNGM2NWVdKi8KK3sKKyAgICByZXR1cm4gbWlub3IoZGV2aWNlKTsKK30KKworCisvKltjbGluaWMgaW5wdXRdCitvcy5tYWtlZGV2IC0+IGRldl90CisKKyAgICBtYWpvcjogaW50CisgICAgbWlub3I6IGludAorICAgIC8KKworQ29tcG9zZXMgYSByYXcgZGV2aWNlIG51bWJlciBmcm9tIHRoZSBtYWpvciBhbmQgbWlub3IgZGV2aWNlIG51bWJlcnMuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19tYWtlZGV2X19kb2NfXywKKyJtYWtlZGV2KCRtb2R1bGUsIG1ham9yLCBtaW5vciwgLylcbiIKKyItLVxuIgorIlxuIgorIkNvbXBvc2VzIGEgcmF3IGRldmljZSBudW1iZXIgZnJvbSB0aGUgbWFqb3IgYW5kIG1pbm9yIGRldmljZSBudW1iZXJzLiIpOworCisjZGVmaW5lIE9TX01BS0VERVZfTUVUSE9EREVGICAgIFwKKyAgICB7Im1ha2VkZXYiLCAoUHlDRnVuY3Rpb24pb3NfbWFrZWRldiwgTUVUSF9WQVJBUkdTLCBvc19tYWtlZGV2X19kb2NfX30sCisKK3N0YXRpYyBkZXZfdAorb3NfbWFrZWRldl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBtYWpvciwgaW50IG1pbm9yKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX21ha2VkZXYoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgaW50IG1ham9yOworICAgIGludCBtaW5vcjsKKyAgICBkZXZfdCBfcmV0dXJuX3ZhbHVlOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJpaTptYWtlZGV2IiwKKyAgICAgICAgJm1ham9yLCAmbWlub3IpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgX3JldHVybl92YWx1ZSA9IG9zX21ha2VkZXZfaW1wbChtb2R1bGUsIG1ham9yLCBtaW5vcik7CisgICAgaWYgKChfcmV0dXJuX3ZhbHVlID09IChkZXZfdCktMSkgJiYgUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IF9QeUxvbmdfRnJvbURldihfcmV0dXJuX3ZhbHVlKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgZGV2X3QKK29zX21ha2VkZXZfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgbWFqb3IsIGludCBtaW5vcikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0zOGU5YTk3NzRjOTY1MTFhIGlucHV0PTRiOWZkOGZjNzNjYmU0OGZdKi8KK3sKKyAgICByZXR1cm4gbWFrZWRldihtYWpvciwgbWlub3IpOworfQorI2VuZGlmIC8qIEhBVkVfREVWSUNFX01BQ1JPUyAqLworCisKKyNpZmRlZiBIQVZFX0ZUUlVOQ0FURQorLypbY2xpbmljIGlucHV0XQorb3MuZnRydW5jYXRlCisKKyAgICBmZDogaW50CisgICAgbGVuZ3RoOiBQeV9vZmZfdAorICAgIC8KKworVHJ1bmNhdGUgYSBmaWxlLCBzcGVjaWZpZWQgYnkgZmlsZSBkZXNjcmlwdG9yLCB0byBhIHNwZWNpZmljIGxlbmd0aC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2Z0cnVuY2F0ZV9fZG9jX18sCisiZnRydW5jYXRlKCRtb2R1bGUsIGZkLCBsZW5ndGgsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJUcnVuY2F0ZSBhIGZpbGUsIHNwZWNpZmllZCBieSBmaWxlIGRlc2NyaXB0b3IsIHRvIGEgc3BlY2lmaWMgbGVuZ3RoLiIpOworCisjZGVmaW5lIE9TX0ZUUlVOQ0FURV9NRVRIT0RERUYgICAgXAorICAgIHsiZnRydW5jYXRlIiwgKFB5Q0Z1bmN0aW9uKW9zX2Z0cnVuY2F0ZSwgTUVUSF9WQVJBUkdTLCBvc19mdHJ1bmNhdGVfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2Z0cnVuY2F0ZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCwgUHlfb2ZmX3QgbGVuZ3RoKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2Z0cnVuY2F0ZShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBpbnQgZmQ7CisgICAgUHlfb2ZmX3QgbGVuZ3RoOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJpTyY6ZnRydW5jYXRlIiwKKyAgICAgICAgJmZkLCBQeV9vZmZfdF9jb252ZXJ0ZXIsICZsZW5ndGgpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfZnRydW5jYXRlX2ltcGwobW9kdWxlLCBmZCwgbGVuZ3RoKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZnRydW5jYXRlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkLCBQeV9vZmZfdCBsZW5ndGgpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NjIzMjY3NjZjYjliNzZiZiBpbnB1dD02M2I0MzY0MWU1MjgxOGYyXSovCit7CisgICAgaW50IHJlc3VsdDsKKyAgICBpbnQgYXN5bmNfZXJyID0gMDsKKworICAgIGRvIHsKKyAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgICAgICByZXN1bHQgPSBmdHJ1bmNhdGUoZmQsIGxlbmd0aCk7CisgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgfSB3aGlsZSAocmVzdWx0ICE9IDAgJiYgZXJybm8gPT0gRUlOVFIgJiYKKyAgICAgICAgICAgICAhKGFzeW5jX2VyciA9IFB5RXJyX0NoZWNrU2lnbmFscygpKSk7CisgICAgaWYgKHJlc3VsdCAhPSAwKQorICAgICAgICByZXR1cm4gKCFhc3luY19lcnIpID8gcG9zaXhfZXJyb3IoKSA6IE5VTEw7CisgICAgUHlfUkVUVVJOX05PTkU7Cit9CisjZW5kaWYgLyogSEFWRV9GVFJVTkNBVEUgKi8KKworCisjaWZkZWYgSEFWRV9UUlVOQ0FURQorLypbY2xpbmljIGlucHV0XQorb3MudHJ1bmNhdGUKKyAgICBwYXRoOiBwYXRoX3QoYWxsb3dfZmQ9J1BBVEhfSEFWRV9GVFJVTkNBVEUnKQorICAgIGxlbmd0aDogUHlfb2ZmX3QKKworVHJ1bmNhdGUgYSBmaWxlLCBzcGVjaWZpZWQgYnkgcGF0aCwgdG8gYSBzcGVjaWZpYyBsZW5ndGguCisKK09uIHNvbWUgcGxhdGZvcm1zLCBwYXRoIG1heSBhbHNvIGJlIHNwZWNpZmllZCBhcyBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvci4KKyAgSWYgdGhpcyBmdW5jdGlvbmFsaXR5IGlzIHVuYXZhaWxhYmxlLCB1c2luZyBpdCByYWlzZXMgYW4gZXhjZXB0aW9uLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfdHJ1bmNhdGVfX2RvY19fLAorInRydW5jYXRlKCRtb2R1bGUsIC8sIHBhdGgsIGxlbmd0aClcbiIKKyItLVxuIgorIlxuIgorIlRydW5jYXRlIGEgZmlsZSwgc3BlY2lmaWVkIGJ5IHBhdGgsIHRvIGEgc3BlY2lmaWMgbGVuZ3RoLlxuIgorIlxuIgorIk9uIHNvbWUgcGxhdGZvcm1zLCBwYXRoIG1heSBhbHNvIGJlIHNwZWNpZmllZCBhcyBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvci5cbiIKKyIgIElmIHRoaXMgZnVuY3Rpb25hbGl0eSBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgcmFpc2VzIGFuIGV4Y2VwdGlvbi4iKTsKKworI2RlZmluZSBPU19UUlVOQ0FURV9NRVRIT0RERUYgICAgXAorICAgIHsidHJ1bmNhdGUiLCAoUHlDRnVuY3Rpb24pb3NfdHJ1bmNhdGUsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc190cnVuY2F0ZV9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfdHJ1bmNhdGVfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIFB5X29mZl90IGxlbmd0aCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc190cnVuY2F0ZShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InBhdGgiLCAibGVuZ3RoIiwgTlVMTH07CisgICAgcGF0aF90IHBhdGggPSBQQVRIX1RfSU5JVElBTElaRSgidHJ1bmNhdGUiLCAicGF0aCIsIDAsIFBBVEhfSEFWRV9GVFJVTkNBVEUpOworICAgIFB5X29mZl90IGxlbmd0aDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgIk8mTyY6dHJ1bmNhdGUiLCBfa2V5d29yZHMsCisgICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwgUHlfb2ZmX3RfY29udmVydGVyLCAmbGVuZ3RoKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3RydW5jYXRlX2ltcGwobW9kdWxlLCAmcGF0aCwgbGVuZ3RoKTsKKworZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBwYXRoICovCisgICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKKworICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc190cnVuY2F0ZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgUHlfb2ZmX3QgbGVuZ3RoKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTZiZDc2MjYyZDJlMDI3YzYgaW5wdXQ9NzcyMjljZjBiNTBhOWI3N10qLworeworICAgIGludCByZXN1bHQ7CisKKyAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisjaWZkZWYgSEFWRV9GVFJVTkNBVEUKKyAgICBpZiAocGF0aC0+ZmQgIT0gLTEpCisgICAgICAgIHJlc3VsdCA9IGZ0cnVuY2F0ZShwYXRoLT5mZCwgbGVuZ3RoKTsKKyAgICBlbHNlCisjZW5kaWYKKyAgICAgICAgcmVzdWx0ID0gdHJ1bmNhdGUocGF0aC0+bmFycm93LCBsZW5ndGgpOworICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgaWYgKHJlc3VsdCA8IDApCisgICAgICAgIHJldHVybiBwYXRoX2Vycm9yKHBhdGgpOworCisgICAgUHlfUkVUVVJOX05PTkU7Cit9CisjZW5kaWYgLyogSEFWRV9UUlVOQ0FURSAqLworCiAKIC8qIElzc3VlICMyMjM5NjogT24gMzItYml0IEFJWCBwbGF0Zm9ybSwgdGhlIHByb3RvdHlwZXMgb2Ygb3MucG9zaXhfZmFkdmlzZSgpCiAgICBhbmQgb3MucG9zaXhfZmFsbG9jYXRlKCkgaW4gc3lzdGVtIGhlYWRlcnMgYXJlIHdyb25nIGlmIF9MQVJHRV9GSUxFUyBpcwpAQCAtODgxNCwxODYgKzEyODQ2LDM3NSBAQAogIyAgZGVmaW5lIFBPU0lYX0ZBRFZJU0VfQUlYX0JVRwogI2VuZGlmCiAKKwogI2lmIGRlZmluZWQoSEFWRV9QT1NJWF9GQUxMT0NBVEUpICYmICFkZWZpbmVkKFBPU0lYX0ZBRFZJU0VfQUlYX0JVRykKLVB5RG9jX1NUUlZBUihwb3NpeF9wb3NpeF9mYWxsb2NhdGVfX2RvY19fLAotInBvc2l4X2ZhbGxvY2F0ZShmZCwgb2Zmc2V0LCBsZW4pXG5cblwKLUVuc3VyZXMgdGhhdCBlbm91Z2ggZGlzayBzcGFjZSBpcyBhbGxvY2F0ZWQgZm9yIHRoZSBmaWxlIHNwZWNpZmllZCBieSBmZFxuXAotc3RhcnRpbmcgZnJvbSBvZmZzZXQgYW5kIGNvbnRpbnVpbmcgZm9yIGxlbiBieXRlcy4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnBvc2l4X2ZhbGxvY2F0ZQorCisgICAgZmQ6IGludAorICAgIG9mZnNldDogUHlfb2ZmX3QKKyAgICBsZW5ndGg6IFB5X29mZl90CisgICAgLworCitFbnN1cmUgYSBmaWxlIGhhcyBhbGxvY2F0ZWQgYXQgbGVhc3QgYSBwYXJ0aWN1bGFyIG51bWJlciBvZiBieXRlcyBvbiBkaXNrLgorCitFbnN1cmUgdGhhdCB0aGUgZmlsZSBzcGVjaWZpZWQgYnkgZmQgZW5jb21wYXNzZXMgYSByYW5nZSBvZiBieXRlcworc3RhcnRpbmcgYXQgb2Zmc2V0IGJ5dGVzIGZyb20gdGhlIGJlZ2lubmluZyBhbmQgY29udGludWluZyBmb3IgbGVuZ3RoIGJ5dGVzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfcG9zaXhfZmFsbG9jYXRlX19kb2NfXywKKyJwb3NpeF9mYWxsb2NhdGUoJG1vZHVsZSwgZmQsIG9mZnNldCwgbGVuZ3RoLCAvKVxuIgorIi0tXG4iCisiXG4iCisiRW5zdXJlIGEgZmlsZSBoYXMgYWxsb2NhdGVkIGF0IGxlYXN0IGEgcGFydGljdWxhciBudW1iZXIgb2YgYnl0ZXMgb24gZGlzay5cbiIKKyJcbiIKKyJFbnN1cmUgdGhhdCB0aGUgZmlsZSBzcGVjaWZpZWQgYnkgZmQgZW5jb21wYXNzZXMgYSByYW5nZSBvZiBieXRlc1xuIgorInN0YXJ0aW5nIGF0IG9mZnNldCBieXRlcyBmcm9tIHRoZSBiZWdpbm5pbmcgYW5kIGNvbnRpbnVpbmcgZm9yIGxlbmd0aCBieXRlcy4iKTsKKworI2RlZmluZSBPU19QT1NJWF9GQUxMT0NBVEVfTUVUSE9EREVGICAgIFwKKyAgICB7InBvc2l4X2ZhbGxvY2F0ZSIsIChQeUNGdW5jdGlvbilvc19wb3NpeF9mYWxsb2NhdGUsIE1FVEhfVkFSQVJHUywgb3NfcG9zaXhfZmFsbG9jYXRlX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9wb3NpeF9mYWxsb2NhdGUoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3NfcG9zaXhfZmFsbG9jYXRlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkLCBQeV9vZmZfdCBvZmZzZXQsIFB5X29mZl90IGxlbmd0aCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19wb3NpeF9mYWxsb2NhdGUoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgb2ZmX3QgbGVuLCBvZmZzZXQ7Ci0gICAgaW50IHJlcywgZmQ7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgaW50IGZkOworICAgIFB5X29mZl90IG9mZnNldDsKKyAgICBQeV9vZmZfdCBsZW5ndGg7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImlPJk8mOnBvc2l4X2ZhbGxvY2F0ZSIsCi0gICAgICAgICAgICAmZmQsIF9wYXJzZV9vZmZfdCwgJm9mZnNldCwgX3BhcnNlX29mZl90LCAmbGVuKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJpTyZPJjpwb3NpeF9mYWxsb2NhdGUiLAorICAgICAgICAmZmQsIFB5X29mZl90X2NvbnZlcnRlciwgJm9mZnNldCwgUHlfb2ZmX3RfY29udmVydGVyLCAmbGVuZ3RoKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3Bvc2l4X2ZhbGxvY2F0ZV9pbXBsKG1vZHVsZSwgZmQsIG9mZnNldCwgbGVuZ3RoKTsKIAotICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICByZXMgPSBwb3NpeF9mYWxsb2NhdGUoZmQsIG9mZnNldCwgbGVuKTsKLSAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotICAgIGlmIChyZXMgIT0gMCkgewotICAgICAgICBlcnJubyA9IHJlczsKLSAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7Ci0gICAgfQorZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfcG9zaXhfZmFsbG9jYXRlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkLCBQeV9vZmZfdCBvZmZzZXQsIFB5X29mZl90IGxlbmd0aCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0wY2Q3MDJkMjA2NWM3OWRiIGlucHV0PWQ3YTJlZjBhYjJjYTUyZmJdKi8KK3sKKyAgICBpbnQgcmVzdWx0OworICAgIGludCBhc3luY19lcnIgPSAwOworCisgICAgZG8geworICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgICAgIHJlc3VsdCA9IHBvc2l4X2ZhbGxvY2F0ZShmZCwgb2Zmc2V0LCBsZW5ndGgpOworICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIH0gd2hpbGUgKHJlc3VsdCAhPSAwICYmIGVycm5vID09IEVJTlRSICYmCisgICAgICAgICAgICAgIShhc3luY19lcnIgPSBQeUVycl9DaGVja1NpZ25hbHMoKSkpOworICAgIGlmIChyZXN1bHQgIT0gMCkKKyAgICAgICAgcmV0dXJuICghYXN5bmNfZXJyKSA/IHBvc2l4X2Vycm9yKCkgOiBOVUxMOwogICAgIFB5X1JFVFVSTl9OT05FOwogfQotI2VuZGlmCisjZW5kaWYgLyogSEFWRV9QT1NJWF9GQUxMT0NBVEUpICYmICFQT1NJWF9GQURWSVNFX0FJWF9CVUcgKi8KKwogCiAjaWYgZGVmaW5lZChIQVZFX1BPU0lYX0ZBRFZJU0UpICYmICFkZWZpbmVkKFBPU0lYX0ZBRFZJU0VfQUlYX0JVRykKLVB5RG9jX1NUUlZBUihwb3NpeF9wb3NpeF9mYWR2aXNlX19kb2NfXywKLSJwb3NpeF9mYWR2aXNlKGZkLCBvZmZzZXQsIGxlbiwgYWR2aWNlKVxuXG5cCi1Bbm5vdW5jZXMgYW4gaW50ZW50aW9uIHRvIGFjY2VzcyBkYXRhIGluIGEgc3BlY2lmaWMgcGF0dGVybiB0aHVzIGFsbG93aW5nXG5cCi10aGUga2VybmVsIHRvIG1ha2Ugb3B0aW1pemF0aW9ucy5cblwKLVRoZSBhZHZpY2UgYXBwbGllcyB0byB0aGUgcmVnaW9uIG9mIHRoZSBmaWxlIHNwZWNpZmllZCBieSBmZCBzdGFydGluZyBhdFxuXAotb2Zmc2V0IGFuZCBjb250aW51aW5nIGZvciBsZW4gYnl0ZXMuXG5cCi1hZHZpY2UgaXMgb25lIG9mIFBPU0lYX0ZBRFZfTk9STUFMLCBQT1NJWF9GQURWX1NFUVVFTlRJQUwsXG5cCi1QT1NJWF9GQURWX1JBTkRPTSwgUE9TSVhfRkFEVl9OT1JFVVNFLCBQT1NJWF9GQURWX1dJTExORUVEIG9yXG5cCi1QT1NJWF9GQURWX0RPTlRORUVELiIpOworLypbY2xpbmljIGlucHV0XQorb3MucG9zaXhfZmFkdmlzZQorCisgICAgZmQ6IGludAorICAgIG9mZnNldDogUHlfb2ZmX3QKKyAgICBsZW5ndGg6IFB5X29mZl90CisgICAgYWR2aWNlOiBpbnQKKyAgICAvCisKK0Fubm91bmNlIGFuIGludGVudGlvbiB0byBhY2Nlc3MgZGF0YSBpbiBhIHNwZWNpZmljIHBhdHRlcm4uCisKK0Fubm91bmNlIGFuIGludGVudGlvbiB0byBhY2Nlc3MgZGF0YSBpbiBhIHNwZWNpZmljIHBhdHRlcm4sIHRodXMgYWxsb3dpbmcKK3RoZSBrZXJuZWwgdG8gbWFrZSBvcHRpbWl6YXRpb25zLgorVGhlIGFkdmljZSBhcHBsaWVzIHRvIHRoZSByZWdpb24gb2YgdGhlIGZpbGUgc3BlY2lmaWVkIGJ5IGZkIHN0YXJ0aW5nIGF0CitvZmZzZXQgYW5kIGNvbnRpbnVpbmcgZm9yIGxlbmd0aCBieXRlcy4KK2FkdmljZSBpcyBvbmUgb2YgUE9TSVhfRkFEVl9OT1JNQUwsIFBPU0lYX0ZBRFZfU0VRVUVOVElBTCwKK1BPU0lYX0ZBRFZfUkFORE9NLCBQT1NJWF9GQURWX05PUkVVU0UsIFBPU0lYX0ZBRFZfV0lMTE5FRUQsIG9yCitQT1NJWF9GQURWX0RPTlRORUVELgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfcG9zaXhfZmFkdmlzZV9fZG9jX18sCisicG9zaXhfZmFkdmlzZSgkbW9kdWxlLCBmZCwgb2Zmc2V0LCBsZW5ndGgsIGFkdmljZSwgLylcbiIKKyItLVxuIgorIlxuIgorIkFubm91bmNlIGFuIGludGVudGlvbiB0byBhY2Nlc3MgZGF0YSBpbiBhIHNwZWNpZmljIHBhdHRlcm4uXG4iCisiXG4iCisiQW5ub3VuY2UgYW4gaW50ZW50aW9uIHRvIGFjY2VzcyBkYXRhIGluIGEgc3BlY2lmaWMgcGF0dGVybiwgdGh1cyBhbGxvd2luZ1xuIgorInRoZSBrZXJuZWwgdG8gbWFrZSBvcHRpbWl6YXRpb25zLlxuIgorIlRoZSBhZHZpY2UgYXBwbGllcyB0byB0aGUgcmVnaW9uIG9mIHRoZSBmaWxlIHNwZWNpZmllZCBieSBmZCBzdGFydGluZyBhdFxuIgorIm9mZnNldCBhbmQgY29udGludWluZyBmb3IgbGVuZ3RoIGJ5dGVzLlxuIgorImFkdmljZSBpcyBvbmUgb2YgUE9TSVhfRkFEVl9OT1JNQUwsIFBPU0lYX0ZBRFZfU0VRVUVOVElBTCxcbiIKKyJQT1NJWF9GQURWX1JBTkRPTSwgUE9TSVhfRkFEVl9OT1JFVVNFLCBQT1NJWF9GQURWX1dJTExORUVELCBvclxuIgorIlBPU0lYX0ZBRFZfRE9OVE5FRUQuIik7CisKKyNkZWZpbmUgT1NfUE9TSVhfRkFEVklTRV9NRVRIT0RERUYgICAgXAorICAgIHsicG9zaXhfZmFkdmlzZSIsIChQeUNGdW5jdGlvbilvc19wb3NpeF9mYWR2aXNlLCBNRVRIX1ZBUkFSR1MsIG9zX3Bvc2l4X2ZhZHZpc2VfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3Bvc2l4X2ZhZHZpc2UoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3NfcG9zaXhfZmFkdmlzZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCwgUHlfb2ZmX3Qgb2Zmc2V0LCBQeV9vZmZfdCBsZW5ndGgsIGludCBhZHZpY2UpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfcG9zaXhfZmFkdmlzZShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBvZmZfdCBsZW4sIG9mZnNldDsKLSAgICBpbnQgcmVzLCBmZCwgYWR2aWNlOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIGludCBmZDsKKyAgICBQeV9vZmZfdCBvZmZzZXQ7CisgICAgUHlfb2ZmX3QgbGVuZ3RoOworICAgIGludCBhZHZpY2U7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImlPJk8maTpwb3NpeF9mYWR2aXNlIiwKLSAgICAgICAgICAgICZmZCwgX3BhcnNlX29mZl90LCAmb2Zmc2V0LCBfcGFyc2Vfb2ZmX3QsICZsZW4sICZhZHZpY2UpKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgImlPJk8maTpwb3NpeF9mYWR2aXNlIiwKKyAgICAgICAgJmZkLCBQeV9vZmZfdF9jb252ZXJ0ZXIsICZvZmZzZXQsIFB5X29mZl90X2NvbnZlcnRlciwgJmxlbmd0aCwgJmFkdmljZSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19wb3NpeF9mYWR2aXNlX2ltcGwobW9kdWxlLCBmZCwgb2Zmc2V0LCBsZW5ndGgsIGFkdmljZSk7CiAKLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgcmVzID0gcG9zaXhfZmFkdmlzZShmZCwgb2Zmc2V0LCBsZW4sIGFkdmljZSk7Ci0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLSAgICBpZiAocmVzICE9IDApIHsKLSAgICAgICAgZXJybm8gPSByZXM7Ci0gICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwotICAgIH0KK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3Bvc2l4X2ZhZHZpc2VfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQsIFB5X29mZl90IG9mZnNldCwgUHlfb2ZmX3QgbGVuZ3RoLCBpbnQgYWR2aWNlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWRhZDkzZjMyYzA0ZGQ0ZjcgaW5wdXQ9MGZiZTU1NGVkYzJmMDRiNV0qLworeworICAgIGludCByZXN1bHQ7CisgICAgaW50IGFzeW5jX2VyciA9IDA7CisKKyAgICBkbyB7CisgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgcmVzdWx0ID0gcG9zaXhfZmFkdmlzZShmZCwgb2Zmc2V0LCBsZW5ndGgsIGFkdmljZSk7CisgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgfSB3aGlsZSAocmVzdWx0ICE9IDAgJiYgZXJybm8gPT0gRUlOVFIgJiYKKyAgICAgICAgICAgICAhKGFzeW5jX2VyciA9IFB5RXJyX0NoZWNrU2lnbmFscygpKSk7CisgICAgaWYgKHJlc3VsdCAhPSAwKQorICAgICAgICByZXR1cm4gKCFhc3luY19lcnIpID8gcG9zaXhfZXJyb3IoKSA6IE5VTEw7CiAgICAgUHlfUkVUVVJOX05PTkU7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBIQVZFX1BPU0lYX0ZBRFZJU0UgJiYgIVBPU0lYX0ZBRFZJU0VfQUlYX0JVRyAqLwogCiAjaWZkZWYgSEFWRV9QVVRFTlYKLVB5RG9jX1NUUlZBUihwb3NpeF9wdXRlbnZfX2RvY19fLAotInB1dGVudihrZXksIHZhbHVlKVxuXG5cCi1DaGFuZ2Ugb3IgYWRkIGFuIGVudmlyb25tZW50IHZhcmlhYmxlLiIpOwogCiAvKiBTYXZlIHB1dGVudigpIHBhcmFtZXRlcnMgYXMgdmFsdWVzIGhlcmUsIHNvIHdlIGNhbiBjb2xsZWN0IHRoZW0gd2hlbiB0aGV5CiAgKiBnZXQgcmUtc2V0IHdpdGggYW5vdGhlciBjYWxsIGZvciB0aGUgc2FtZSBrZXkuICovCiBzdGF0aWMgUHlPYmplY3QgKnBvc2l4X3B1dGVudl9nYXJiYWdlOwogCi1zdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfcHV0ZW52KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3N0YXRpYyB2b2lkCitwb3NpeF9wdXRlbnZfZ2FyYmFnZV9zZXRpdGVtKFB5T2JqZWN0ICpuYW1lLCBQeU9iamVjdCAqdmFsdWUpCiB7Ci0gICAgUHlPYmplY3QgKm5ld3N0ciA9IE5VTEw7CisgICAgLyogSW5zdGFsbCB0aGUgZmlyc3QgYXJnIGFuZCBuZXdzdHIgaW4gcG9zaXhfcHV0ZW52X2dhcmJhZ2U7CisgICAgICogdGhpcyB3aWxsIGNhdXNlIHByZXZpb3VzIHZhbHVlIHRvIGJlIGNvbGxlY3RlZC4gIFRoaXMgaGFzIHRvCisgICAgICogaGFwcGVuIGFmdGVyIHRoZSByZWFsIHB1dGVudigpIGNhbGwgYmVjYXVzZSB0aGUgb2xkIHZhbHVlCisgICAgICogd2FzIHN0aWxsIGFjY2Vzc2libGUgdW50aWwgdGhlbi4gKi8KKyAgICBpZiAoUHlEaWN0X1NldEl0ZW0ocG9zaXhfcHV0ZW52X2dhcmJhZ2UsIG5hbWUsIHZhbHVlKSkKKyAgICAgICAgLyogcmVhbGx5IG5vdCBtdWNoIHdlIGNhbiBkbzsganVzdCBsZWFrICovCisgICAgICAgIFB5RXJyX0NsZWFyKCk7CisgICAgZWxzZQorICAgICAgICBQeV9ERUNSRUYodmFsdWUpOworfQorCisKICNpZmRlZiBNU19XSU5ET1dTCi0gICAgUHlPYmplY3QgKm9zMSwgKm9zMjsKLSAgICB3Y2hhcl90ICpuZXdlbnY7CisvKltjbGluaWMgaW5wdXRdCitvcy5wdXRlbnYKKworICAgIG5hbWU6IHVuaWNvZGUKKyAgICB2YWx1ZTogdW5pY29kZQorICAgIC8KKworQ2hhbmdlIG9yIGFkZCBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3B1dGVudl9fZG9jX18sCisicHV0ZW52KCRtb2R1bGUsIG5hbWUsIHZhbHVlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiQ2hhbmdlIG9yIGFkZCBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZS4iKTsKKworI2RlZmluZSBPU19QVVRFTlZfTUVUSE9EREVGICAgIFwKKyAgICB7InB1dGVudiIsIChQeUNGdW5jdGlvbilvc19wdXRlbnYsIE1FVEhfVkFSQVJHUywgb3NfcHV0ZW52X19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19wdXRlbnZfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqbmFtZSwgUHlPYmplY3QgKnZhbHVlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3B1dGVudihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeU9iamVjdCAqbmFtZTsKKyAgICBQeU9iamVjdCAqdmFsdWU7CiAKICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIlVVOnB1dGVudiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICZvczEsICZvczIpKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgIlVVOnB1dGVudiIsCisgICAgICAgICZuYW1lLCAmdmFsdWUpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfcHV0ZW52X2ltcGwobW9kdWxlLCBuYW1lLCB2YWx1ZSk7CiAKLSAgICBuZXdzdHIgPSBQeVVuaWNvZGVfRnJvbUZvcm1hdCgiJVU9JVUiLCBvczEsIG9zMik7Ci0gICAgaWYgKG5ld3N0ciA9PSBOVUxMKSB7CitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19wdXRlbnZfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqbmFtZSwgUHlPYmplY3QgKnZhbHVlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTVjZTllZjliMTU2MDZlN2UgaW5wdXQ9YmE1ODY1ODFjMmU2MTA1Zl0qLworeworICAgIHdjaGFyX3QgKmVudjsKKworICAgIFB5T2JqZWN0ICp1bmljb2RlID0gUHlVbmljb2RlX0Zyb21Gb3JtYXQoIiVVPSVVIiwgbmFtZSwgdmFsdWUpOworICAgIGlmICh1bmljb2RlID09IE5VTEwpIHsKICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKLSAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIGlmIChfTUFYX0VOViA8IFB5VW5pY29kZV9HRVRfTEVOR1RIKG5ld3N0cikpIHsKKyAgICBpZiAoX01BWF9FTlYgPCBQeVVuaWNvZGVfR0VUX0xFTkdUSCh1bmljb2RlKSkgewogICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVmFsdWVFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICJ0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgbG9uZ2VyIHRoYW4gJXUgY2hhcmFjdGVycyIsCiAgICAgICAgICAgICAgICAgICAgICBfTUFYX0VOVik7CiAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgfQogCi0gICAgbmV3ZW52ID0gUHlVbmljb2RlX0FzVW5pY29kZShuZXdzdHIpOwotICAgIGlmIChuZXdlbnYgPT0gTlVMTCkKKyAgICBlbnYgPSBQeVVuaWNvZGVfQXNVbmljb2RlKHVuaWNvZGUpOworICAgIGlmIChlbnYgPT0gTlVMTCkKICAgICAgICAgZ290byBlcnJvcjsKLSAgICBpZiAoX3dwdXRlbnYobmV3ZW52KSkgeworICAgIGlmIChfd3B1dGVudihlbnYpKSB7CiAgICAgICAgIHBvc2l4X2Vycm9yKCk7CiAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgfQotI2Vsc2UKLSAgICBQeU9iamVjdCAqb3MxLCAqb3MyOwotICAgIGNoYXIgKnMxLCAqczI7Ci0gICAgY2hhciAqbmV3ZW52OwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICJPJk8mOnB1dGVudiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9GU0NvbnZlcnRlciwgJm9zMSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0ZTQ29udmVydGVyLCAmb3MyKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgczEgPSBQeUJ5dGVzX0FzU3RyaW5nKG9zMSk7Ci0gICAgczIgPSBQeUJ5dGVzX0FzU3RyaW5nKG9zMik7Ci0KLSAgICBuZXdzdHIgPSBQeUJ5dGVzX0Zyb21Gb3JtYXQoIiVzPSVzIiwgczEsIHMyKTsKLSAgICBpZiAobmV3c3RyID09IE5VTEwpIHsKLSAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKLSAgICAgICAgZ290byBlcnJvcjsKLSAgICB9Ci0KLSAgICBuZXdlbnYgPSBQeUJ5dGVzX0FTX1NUUklORyhuZXdzdHIpOwotICAgIGlmIChwdXRlbnYobmV3ZW52KSkgewotICAgICAgICBwb3NpeF9lcnJvcigpOwotICAgICAgICBnb3RvIGVycm9yOwotICAgIH0KLSNlbmRpZgotCi0gICAgLyogSW5zdGFsbCB0aGUgZmlyc3QgYXJnIGFuZCBuZXdzdHIgaW4gcG9zaXhfcHV0ZW52X2dhcmJhZ2U7Ci0gICAgICogdGhpcyB3aWxsIGNhdXNlIHByZXZpb3VzIHZhbHVlIHRvIGJlIGNvbGxlY3RlZC4gIFRoaXMgaGFzIHRvCi0gICAgICogaGFwcGVuIGFmdGVyIHRoZSByZWFsIHB1dGVudigpIGNhbGwgYmVjYXVzZSB0aGUgb2xkIHZhbHVlCi0gICAgICogd2FzIHN0aWxsIGFjY2Vzc2libGUgdW50aWwgdGhlbi4gKi8KLSAgICBpZiAoUHlEaWN0X1NldEl0ZW0ocG9zaXhfcHV0ZW52X2dhcmJhZ2UsIG9zMSwgbmV3c3RyKSkgewotICAgICAgICAvKiByZWFsbHkgbm90IG11Y2ggd2UgY2FuIGRvOyBqdXN0IGxlYWsgKi8KLSAgICAgICAgUHlFcnJfQ2xlYXIoKTsKLSAgICB9Ci0gICAgZWxzZSB7Ci0gICAgICAgIFB5X0RFQ1JFRihuZXdzdHIpOwotICAgIH0KLQotI2lmbmRlZiBNU19XSU5ET1dTCi0gICAgUHlfREVDUkVGKG9zMSk7Ci0gICAgUHlfREVDUkVGKG9zMik7Ci0jZW5kaWYKKyAgICBwb3NpeF9wdXRlbnZfZ2FyYmFnZV9zZXRpdGVtKG5hbWUsIHVuaWNvZGUpOwogICAgIFB5X1JFVFVSTl9OT05FOwogCiBlcnJvcjoKLSNpZm5kZWYgTVNfV0lORE9XUwotICAgIFB5X0RFQ1JFRihvczEpOwotICAgIFB5X0RFQ1JFRihvczIpOwotI2VuZGlmCi0gICAgUHlfWERFQ1JFRihuZXdzdHIpOworICAgIFB5X0RFQ1JFRih1bmljb2RlKTsKICAgICByZXR1cm4gTlVMTDsKIH0KLSNlbmRpZiAvKiBwdXRlbnYgKi8KKyNlbHNlIC8qIE1TX1dJTkRPV1MgKi8KKy8qW2NsaW5pYyBpbnB1dF0KK29zLnB1dGVudgogCi0jaWZkZWYgSEFWRV9VTlNFVEVOVgotUHlEb2NfU1RSVkFSKHBvc2l4X3Vuc2V0ZW52X19kb2NfXywKLSJ1bnNldGVudihrZXkpXG5cblwKLURlbGV0ZSBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZS4iKTsKKyAgICBuYW1lOiBGU0NvbnZlcnRlcgorICAgIHZhbHVlOiBGU0NvbnZlcnRlcgorICAgIC8KKworQ2hhbmdlIG9yIGFkZCBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3B1dGVudl9fZG9jX18sCisicHV0ZW52KCRtb2R1bGUsIG5hbWUsIHZhbHVlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiQ2hhbmdlIG9yIGFkZCBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZS4iKTsKKworI2RlZmluZSBPU19QVVRFTlZfTUVUSE9EREVGICAgIFwKKyAgICB7InB1dGVudiIsIChQeUNGdW5jdGlvbilvc19wdXRlbnYsIE1FVEhfVkFSQVJHUywgb3NfcHV0ZW52X19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF91bnNldGVudihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19wdXRlbnZfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqbmFtZSwgUHlPYmplY3QgKnZhbHVlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3B1dGVudihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBQeU9iamVjdCAqbmFtZTsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeU9iamVjdCAqbmFtZSA9IE5VTEw7CisgICAgUHlPYmplY3QgKnZhbHVlID0gTlVMTDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiTyZPJjpwdXRlbnYiLAorICAgICAgICBQeVVuaWNvZGVfRlNDb252ZXJ0ZXIsICZuYW1lLCBQeVVuaWNvZGVfRlNDb252ZXJ0ZXIsICZ2YWx1ZSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19wdXRlbnZfaW1wbChtb2R1bGUsIG5hbWUsIHZhbHVlKTsKKworZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBuYW1lICovCisgICAgUHlfWERFQ1JFRihuYW1lKTsKKyAgICAvKiBDbGVhbnVwIGZvciB2YWx1ZSAqLworICAgIFB5X1hERUNSRUYodmFsdWUpOworCisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3B1dGVudl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpuYW1lLCBQeU9iamVjdCAqdmFsdWUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ODVhYjIyMzM5M2RjN2FmZCBpbnB1dD1hOTdiYzYxNTJmNjg4ZDMxXSovCit7CisgICAgUHlPYmplY3QgKmJ5dGVzID0gTlVMTDsKKyAgICBjaGFyICplbnY7CisgICAgY2hhciAqbmFtZV9zdHJpbmcgPSBQeUJ5dGVzX0FzU3RyaW5nKG5hbWUpOworICAgIGNoYXIgKnZhbHVlX3N0cmluZyA9IFB5Qnl0ZXNfQXNTdHJpbmcodmFsdWUpOworCisgICAgYnl0ZXMgPSBQeUJ5dGVzX0Zyb21Gb3JtYXQoIiVzPSVzIiwgbmFtZV9zdHJpbmcsIHZhbHVlX3N0cmluZyk7CisgICAgaWYgKGJ5dGVzID09IE5VTEwpIHsKKyAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgZW52ID0gUHlCeXRlc19BU19TVFJJTkcoYnl0ZXMpOworICAgIGlmIChwdXRlbnYoZW52KSkgeworICAgICAgICBQeV9ERUNSRUYoYnl0ZXMpOworICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKKyAgICB9CisKKyAgICBwb3NpeF9wdXRlbnZfZ2FyYmFnZV9zZXRpdGVtKG5hbWUsIGJ5dGVzKTsKKyAgICBQeV9SRVRVUk5fTk9ORTsKK30KKyNlbmRpZiAvKiBNU19XSU5ET1dTICovCisjZW5kaWYgLyogSEFWRV9QVVRFTlYgKi8KKworCisjaWZkZWYgSEFWRV9VTlNFVEVOVgorLypbY2xpbmljIGlucHV0XQorb3MudW5zZXRlbnYKKyAgICBuYW1lOiBGU0NvbnZlcnRlcgorICAgIC8KKworRGVsZXRlIGFuIGVudmlyb25tZW50IHZhcmlhYmxlLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfdW5zZXRlbnZfX2RvY19fLAorInVuc2V0ZW52KCRtb2R1bGUsIG5hbWUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJEZWxldGUgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUuIik7CisKKyNkZWZpbmUgT1NfVU5TRVRFTlZfTUVUSE9EREVGICAgIFwKKyAgICB7InVuc2V0ZW52IiwgKFB5Q0Z1bmN0aW9uKW9zX3Vuc2V0ZW52LCBNRVRIX1ZBUkFSR1MsIG9zX3Vuc2V0ZW52X19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitvc191bnNldGVudl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpuYW1lKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3Vuc2V0ZW52KFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5T2JqZWN0ICpuYW1lID0gTlVMTDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiTyY6dW5zZXRlbnYiLAorICAgICAgICBQeVVuaWNvZGVfRlNDb252ZXJ0ZXIsICZuYW1lKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3Vuc2V0ZW52X2ltcGwobW9kdWxlLCBuYW1lKTsKKworZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBuYW1lICovCisgICAgUHlfWERFQ1JFRihuYW1lKTsKKworICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc191bnNldGVudl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpuYW1lKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTkxMzE4Yzk5NWY5YTA3NjcgaW5wdXQ9MmJiNTI4OGE1OTljNzEwN10qLworewogI2lmbmRlZiBIQVZFX0JST0tFTl9VTlNFVEVOVgogICAgIGludCBlcnI7CiAjZW5kaWYKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTyY6dW5zZXRlbnYiLAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9GU0NvbnZlcnRlciwgJm5hbWUpKQotICAgICAgICByZXR1cm4gTlVMTDsKLQogI2lmZGVmIEhBVkVfQlJPS0VOX1VOU0VURU5WCiAgICAgdW5zZXRlbnYoUHlCeXRlc19BU19TVFJJTkcobmFtZSkpOwogI2Vsc2UKICAgICBlcnIgPSB1bnNldGVudihQeUJ5dGVzX0FTX1NUUklORyhuYW1lKSk7Ci0gICAgaWYgKGVycikgewotICAgICAgICBQeV9ERUNSRUYobmFtZSk7CisgICAgaWYgKGVycikKICAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7Ci0gICAgfQogI2VuZGlmCiAKICAgICAvKiBSZW1vdmUgdGhlIGtleSBmcm9tIHBvc2l4X3B1dGVudl9nYXJiYWdlOwpAQCAtOTAwNSwyMyArMTMyMjYsNTMgQEAKICAgICAgICAgLyogcmVhbGx5IG5vdCBtdWNoIHdlIGNhbiBkbzsganVzdCBsZWFrICovCiAgICAgICAgIFB5RXJyX0NsZWFyKCk7CiAgICAgfQotICAgIFB5X0RFQ1JFRihuYW1lKTsKICAgICBQeV9SRVRVUk5fTk9ORTsKIH0KLSNlbmRpZiAvKiB1bnNldGVudiAqLworI2VuZGlmIC8qIEhBVkVfVU5TRVRFTlYgKi8KIAotUHlEb2NfU1RSVkFSKHBvc2l4X3N0cmVycm9yX19kb2NfXywKLSJzdHJlcnJvcihjb2RlKSAtPiBzdHJpbmdcblxuXAotVHJhbnNsYXRlIGFuIGVycm9yIGNvZGUgdG8gYSBtZXNzYWdlIHN0cmluZy4iKTsKKworLypbY2xpbmljIGlucHV0XQorb3Muc3RyZXJyb3IKKworICAgIGNvZGU6IGludAorICAgIC8KKworVHJhbnNsYXRlIGFuIGVycm9yIGNvZGUgdG8gYSBtZXNzYWdlIHN0cmluZy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3N0cmVycm9yX19kb2NfXywKKyJzdHJlcnJvcigkbW9kdWxlLCBjb2RlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiVHJhbnNsYXRlIGFuIGVycm9yIGNvZGUgdG8gYSBtZXNzYWdlIHN0cmluZy4iKTsKKworI2RlZmluZSBPU19TVFJFUlJPUl9NRVRIT0RERUYgICAgXAorICAgIHsic3RyZXJyb3IiLCAoUHlDRnVuY3Rpb24pb3Nfc3RyZXJyb3IsIE1FVEhfVkFSQVJHUywgb3Nfc3RyZXJyb3JfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3N0cmVycm9yKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX3N0cmVycm9yX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGNvZGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc3RyZXJyb3IoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CiAgICAgaW50IGNvZGU7Ci0gICAgY2hhciAqbWVzc2FnZTsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImk6c3RyZXJyb3IiLCAmY29kZSkpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIG1lc3NhZ2UgPSBzdHJlcnJvcihjb2RlKTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiaTpzdHJlcnJvciIsCisgICAgICAgICZjb2RlKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3N0cmVycm9yX2ltcGwobW9kdWxlLCBjb2RlKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc3RyZXJyb3JfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgY29kZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD04NjY1YzcwYmIyY2E0NzIwIGlucHV0PTc1YTg2NzNkOTc5MTVhOTFdKi8KK3sKKyAgICBjaGFyICptZXNzYWdlID0gc3RyZXJyb3IoY29kZSk7CiAgICAgaWYgKG1lc3NhZ2UgPT0gTlVMTCkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJlcnJvcigpIGFyZ3VtZW50IG91dCBvZiByYW5nZSIpOwpAQCAtOTAzMiwxNTggKzEzMjgzLDQ3MCBAQAogCiAKICNpZmRlZiBIQVZFX1NZU19XQUlUX0gKLQogI2lmZGVmIFdDT1JFRFVNUAotUHlEb2NfU1RSVkFSKHBvc2l4X1dDT1JFRFVNUF9fZG9jX18sCi0iV0NPUkVEVU1QKHN0YXR1cykgLT4gYm9vbFxuXG5cCi1SZXR1cm4gVHJ1ZSBpZiB0aGUgcHJvY2VzcyByZXR1cm5pbmcgJ3N0YXR1cycgd2FzIGR1bXBlZCB0byBhIGNvcmUgZmlsZS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLldDT1JFRFVNUCAtPiBib29sCisKKyAgICBzdGF0dXM6IGludAorICAgIC8KKworUmV0dXJuIFRydWUgaWYgdGhlIHByb2Nlc3MgcmV0dXJuaW5nIHN0YXR1cyB3YXMgZHVtcGVkIHRvIGEgY29yZSBmaWxlLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfV0NPUkVEVU1QX19kb2NfXywKKyJXQ09SRURVTVAoJG1vZHVsZSwgc3RhdHVzLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIFRydWUgaWYgdGhlIHByb2Nlc3MgcmV0dXJuaW5nIHN0YXR1cyB3YXMgZHVtcGVkIHRvIGEgY29yZSBmaWxlLiIpOworCisjZGVmaW5lIE9TX1dDT1JFRFVNUF9NRVRIT0RERUYgICAgXAorICAgIHsiV0NPUkVEVU1QIiwgKFB5Q0Z1bmN0aW9uKW9zX1dDT1JFRFVNUCwgTUVUSF9WQVJBUkdTLCBvc19XQ09SRURVTVBfX2RvY19ffSwKKworc3RhdGljIGludAorb3NfV0NPUkVEVU1QX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IHN0YXR1cyk7CiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9XQ09SRURVTVAoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3NfV0NPUkVEVU1QKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogewotICAgIFdBSVRfVFlQRSBzdGF0dXM7Ci0gICAgV0FJVF9TVEFUVVNfSU5UKHN0YXR1cykgPSAwOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIGludCBzdGF0dXM7CisgICAgaW50IF9yZXR1cm5fdmFsdWU7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImk6V0NPUkVEVU1QIiwgJldBSVRfU1RBVFVTX0lOVChzdGF0dXMpKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJpOldDT1JFRFVNUCIsCisgICAgICAgICZzdGF0dXMpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgX3JldHVybl92YWx1ZSA9IG9zX1dDT1JFRFVNUF9pbXBsKG1vZHVsZSwgc3RhdHVzKTsKKyAgICBpZiAoKF9yZXR1cm5fdmFsdWUgPT0gLTEpICYmIFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBQeUJvb2xfRnJvbUxvbmcoKGxvbmcpX3JldHVybl92YWx1ZSk7CiAKLSAgICByZXR1cm4gUHlCb29sX0Zyb21Mb25nKFdDT1JFRFVNUChzdGF0dXMpKTsKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIGludAorb3NfV0NPUkVEVU1QX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IHN0YXR1cykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1lMDRkNTVjMDljMjk5ODI4IGlucHV0PThiMDVlN2FiMzg1MjhkMDRdKi8KK3sKKyAgICBXQUlUX1RZUEUgd2FpdF9zdGF0dXM7CisgICAgV0FJVF9TVEFUVVNfSU5UKHdhaXRfc3RhdHVzKSA9IHN0YXR1czsKKyAgICByZXR1cm4gV0NPUkVEVU1QKHdhaXRfc3RhdHVzKTsKIH0KICNlbmRpZiAvKiBXQ09SRURVTVAgKi8KIAorCiAjaWZkZWYgV0lGQ09OVElOVUVECi1QeURvY19TVFJWQVIocG9zaXhfV0lGQ09OVElOVUVEX19kb2NfXywKLSJXSUZDT05USU5VRUQoc3RhdHVzKSAtPiBib29sXG5cblwKLVJldHVybiBUcnVlIGlmIHRoZSBwcm9jZXNzIHJldHVybmluZyAnc3RhdHVzJyB3YXMgY29udGludWVkIGZyb20gYVxuXAotam9iIGNvbnRyb2wgc3RvcC4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLldJRkNPTlRJTlVFRCAtPiBib29sCisKKyAgICBzdGF0dXM6IGludAorCitSZXR1cm4gVHJ1ZSBpZiBhIHBhcnRpY3VsYXIgcHJvY2VzcyB3YXMgY29udGludWVkIGZyb20gYSBqb2IgY29udHJvbCBzdG9wLgorCitSZXR1cm4gVHJ1ZSBpZiB0aGUgcHJvY2VzcyByZXR1cm5pbmcgc3RhdHVzIHdhcyBjb250aW51ZWQgZnJvbSBhCitqb2IgY29udHJvbCBzdG9wLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfV0lGQ09OVElOVUVEX19kb2NfXywKKyJXSUZDT05USU5VRUQoJG1vZHVsZSwgLywgc3RhdHVzKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIFRydWUgaWYgYSBwYXJ0aWN1bGFyIHByb2Nlc3Mgd2FzIGNvbnRpbnVlZCBmcm9tIGEgam9iIGNvbnRyb2wgc3RvcC5cbiIKKyJcbiIKKyJSZXR1cm4gVHJ1ZSBpZiB0aGUgcHJvY2VzcyByZXR1cm5pbmcgc3RhdHVzIHdhcyBjb250aW51ZWQgZnJvbSBhXG4iCisiam9iIGNvbnRyb2wgc3RvcC4iKTsKKworI2RlZmluZSBPU19XSUZDT05USU5VRURfTUVUSE9EREVGICAgIFwKKyAgICB7IldJRkNPTlRJTlVFRCIsIChQeUNGdW5jdGlvbilvc19XSUZDT05USU5VRUQsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc19XSUZDT05USU5VRURfX2RvY19ffSwKKworc3RhdGljIGludAorb3NfV0lGQ09OVElOVUVEX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IHN0YXR1cyk7CiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9XSUZDT05USU5VRUQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3NfV0lGQ09OVElOVUVEKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewotICAgIFdBSVRfVFlQRSBzdGF0dXM7Ci0gICAgV0FJVF9TVEFUVVNfSU5UKHN0YXR1cykgPSAwOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsic3RhdHVzIiwgTlVMTH07CisgICAgaW50IHN0YXR1czsKKyAgICBpbnQgX3JldHVybl92YWx1ZTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaTpXQ09OVElOVUVEIiwgJldBSVRfU1RBVFVTX0lOVChzdGF0dXMpKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiaTpXSUZDT05USU5VRUQiLCBfa2V5d29yZHMsCisgICAgICAgICZzdGF0dXMpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgX3JldHVybl92YWx1ZSA9IG9zX1dJRkNPTlRJTlVFRF9pbXBsKG1vZHVsZSwgc3RhdHVzKTsKKyAgICBpZiAoKF9yZXR1cm5fdmFsdWUgPT0gLTEpICYmIFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBQeUJvb2xfRnJvbUxvbmcoKGxvbmcpX3JldHVybl92YWx1ZSk7CiAKLSAgICByZXR1cm4gUHlCb29sX0Zyb21Mb25nKFdJRkNPTlRJTlVFRChzdGF0dXMpKTsKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIGludAorb3NfV0lGQ09OVElOVUVEX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IHN0YXR1cykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD05YzRlNjEwNWE0NTIwYWI1IGlucHV0PWU3NzdlN2QzOGViMjViZDldKi8KK3sKKyAgICBXQUlUX1RZUEUgd2FpdF9zdGF0dXM7CisgICAgV0FJVF9TVEFUVVNfSU5UKHdhaXRfc3RhdHVzKSA9IHN0YXR1czsKKyAgICByZXR1cm4gV0lGQ09OVElOVUVEKHdhaXRfc3RhdHVzKTsKIH0KICNlbmRpZiAvKiBXSUZDT05USU5VRUQgKi8KIAorCiAjaWZkZWYgV0lGU1RPUFBFRAotUHlEb2NfU1RSVkFSKHBvc2l4X1dJRlNUT1BQRURfX2RvY19fLAotIldJRlNUT1BQRUQoc3RhdHVzKSAtPiBib29sXG5cblwKLVJldHVybiBUcnVlIGlmIHRoZSBwcm9jZXNzIHJldHVybmluZyAnc3RhdHVzJyB3YXMgc3RvcHBlZC4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLldJRlNUT1BQRUQgLT4gYm9vbAorCisgICAgc3RhdHVzOiBpbnQKKworUmV0dXJuIFRydWUgaWYgdGhlIHByb2Nlc3MgcmV0dXJuaW5nIHN0YXR1cyB3YXMgc3RvcHBlZC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX1dJRlNUT1BQRURfX2RvY19fLAorIldJRlNUT1BQRUQoJG1vZHVsZSwgLywgc3RhdHVzKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIFRydWUgaWYgdGhlIHByb2Nlc3MgcmV0dXJuaW5nIHN0YXR1cyB3YXMgc3RvcHBlZC4iKTsKKworI2RlZmluZSBPU19XSUZTVE9QUEVEX01FVEhPRERFRiAgICBcCisgICAgeyJXSUZTVE9QUEVEIiwgKFB5Q0Z1bmN0aW9uKW9zX1dJRlNUT1BQRUQsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc19XSUZTVE9QUEVEX19kb2NfX30sCisKK3N0YXRpYyBpbnQKK29zX1dJRlNUT1BQRURfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgc3RhdHVzKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X1dJRlNUT1BQRUQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3NfV0lGU1RPUFBFRChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKLSAgICBXQUlUX1RZUEUgc3RhdHVzOwotICAgIFdBSVRfU1RBVFVTX0lOVChzdGF0dXMpID0gMDsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InN0YXR1cyIsIE5VTEx9OworICAgIGludCBzdGF0dXM7CisgICAgaW50IF9yZXR1cm5fdmFsdWU7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImk6V0lGU1RPUFBFRCIsICZXQUlUX1NUQVRVU19JTlQoc3RhdHVzKSkpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgImk6V0lGU1RPUFBFRCIsIF9rZXl3b3JkcywKKyAgICAgICAgJnN0YXR1cykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICBfcmV0dXJuX3ZhbHVlID0gb3NfV0lGU1RPUFBFRF9pbXBsKG1vZHVsZSwgc3RhdHVzKTsKKyAgICBpZiAoKF9yZXR1cm5fdmFsdWUgPT0gLTEpICYmIFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBQeUJvb2xfRnJvbUxvbmcoKGxvbmcpX3JldHVybl92YWx1ZSk7CiAKLSAgICByZXR1cm4gUHlCb29sX0Zyb21Mb25nKFdJRlNUT1BQRUQoc3RhdHVzKSk7CitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBpbnQKK29zX1dJRlNUT1BQRURfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgc3RhdHVzKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWUwZGUyZGE4ZWM5NTkzZmYgaW5wdXQ9MDQzY2I3ZjEyODllZjkwNF0qLworeworICAgIFdBSVRfVFlQRSB3YWl0X3N0YXR1czsKKyAgICBXQUlUX1NUQVRVU19JTlQod2FpdF9zdGF0dXMpID0gc3RhdHVzOworICAgIHJldHVybiBXSUZTVE9QUEVEKHdhaXRfc3RhdHVzKTsKIH0KICNlbmRpZiAvKiBXSUZTVE9QUEVEICovCiAKKwogI2lmZGVmIFdJRlNJR05BTEVECi1QeURvY19TVFJWQVIocG9zaXhfV0lGU0lHTkFMRURfX2RvY19fLAotIldJRlNJR05BTEVEKHN0YXR1cykgLT4gYm9vbFxuXG5cCi1SZXR1cm4gVHJ1ZSBpZiB0aGUgcHJvY2VzcyByZXR1cm5pbmcgJ3N0YXR1cycgd2FzIHRlcm1pbmF0ZWQgYnkgYSBzaWduYWwuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5XSUZTSUdOQUxFRCAtPiBib29sCisKKyAgICBzdGF0dXM6IGludAorCitSZXR1cm4gVHJ1ZSBpZiB0aGUgcHJvY2VzcyByZXR1cm5pbmcgc3RhdHVzIHdhcyB0ZXJtaW5hdGVkIGJ5IGEgc2lnbmFsLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfV0lGU0lHTkFMRURfX2RvY19fLAorIldJRlNJR05BTEVEKCRtb2R1bGUsIC8sIHN0YXR1cylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBUcnVlIGlmIHRoZSBwcm9jZXNzIHJldHVybmluZyBzdGF0dXMgd2FzIHRlcm1pbmF0ZWQgYnkgYSBzaWduYWwuIik7CisKKyNkZWZpbmUgT1NfV0lGU0lHTkFMRURfTUVUSE9EREVGICAgIFwKKyAgICB7IldJRlNJR05BTEVEIiwgKFB5Q0Z1bmN0aW9uKW9zX1dJRlNJR05BTEVELCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfV0lGU0lHTkFMRURfX2RvY19ffSwKKworc3RhdGljIGludAorb3NfV0lGU0lHTkFMRURfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgc3RhdHVzKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X1dJRlNJR05BTEVEKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX1dJRlNJR05BTEVEKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewotICAgIFdBSVRfVFlQRSBzdGF0dXM7Ci0gICAgV0FJVF9TVEFUVVNfSU5UKHN0YXR1cykgPSAwOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsic3RhdHVzIiwgTlVMTH07CisgICAgaW50IHN0YXR1czsKKyAgICBpbnQgX3JldHVybl92YWx1ZTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaTpXSUZTSUdOQUxFRCIsICZXQUlUX1NUQVRVU19JTlQoc3RhdHVzKSkpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgImk6V0lGU0lHTkFMRUQiLCBfa2V5d29yZHMsCisgICAgICAgICZzdGF0dXMpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgX3JldHVybl92YWx1ZSA9IG9zX1dJRlNJR05BTEVEX2ltcGwobW9kdWxlLCBzdGF0dXMpOworICAgIGlmICgoX3JldHVybl92YWx1ZSA9PSAtMSkgJiYgUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IFB5Qm9vbF9Gcm9tTG9uZygobG9uZylfcmV0dXJuX3ZhbHVlKTsKIAotICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcoV0lGU0lHTkFMRUQoc3RhdHVzKSk7CitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBpbnQKK29zX1dJRlNJR05BTEVEX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IHN0YXR1cykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1mMTRkMTA2NTU4ZjQwNmJlIGlucHV0PWQ1NWJhN2NjOWNlNWRjNDNdKi8KK3sKKyAgICBXQUlUX1RZUEUgd2FpdF9zdGF0dXM7CisgICAgV0FJVF9TVEFUVVNfSU5UKHdhaXRfc3RhdHVzKSA9IHN0YXR1czsKKyAgICByZXR1cm4gV0lGU0lHTkFMRUQod2FpdF9zdGF0dXMpOwogfQogI2VuZGlmIC8qIFdJRlNJR05BTEVEICovCiAKKwogI2lmZGVmIFdJRkVYSVRFRAotUHlEb2NfU1RSVkFSKHBvc2l4X1dJRkVYSVRFRF9fZG9jX18sCi0iV0lGRVhJVEVEKHN0YXR1cykgLT4gYm9vbFxuXG5cCi1SZXR1cm4gdHJ1ZSBpZiB0aGUgcHJvY2VzcyByZXR1cm5pbmcgJ3N0YXR1cycgZXhpdGVkIHVzaW5nIHRoZSBleGl0KClcblwKLXN5c3RlbSBjYWxsLiIpOworLypbY2xpbmljIGlucHV0XQorb3MuV0lGRVhJVEVEIC0+IGJvb2wKKworICAgIHN0YXR1czogaW50CisKK1JldHVybiBUcnVlIGlmIHRoZSBwcm9jZXNzIHJldHVybmluZyBzdGF0dXMgZXhpdGVkIHZpYSB0aGUgZXhpdCgpIHN5c3RlbSBjYWxsLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfV0lGRVhJVEVEX19kb2NfXywKKyJXSUZFWElURUQoJG1vZHVsZSwgLywgc3RhdHVzKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIFRydWUgaWYgdGhlIHByb2Nlc3MgcmV0dXJuaW5nIHN0YXR1cyBleGl0ZWQgdmlhIHRoZSBleGl0KCkgc3lzdGVtIGNhbGwuIik7CisKKyNkZWZpbmUgT1NfV0lGRVhJVEVEX01FVEhPRERFRiAgICBcCisgICAgeyJXSUZFWElURUQiLCAoUHlDRnVuY3Rpb24pb3NfV0lGRVhJVEVELCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfV0lGRVhJVEVEX19kb2NfX30sCisKK3N0YXRpYyBpbnQKK29zX1dJRkVYSVRFRF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBzdGF0dXMpOwogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfV0lGRVhJVEVEKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX1dJRkVYSVRFRChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKLSAgICBXQUlUX1RZUEUgc3RhdHVzOwotICAgIFdBSVRfU1RBVFVTX0lOVChzdGF0dXMpID0gMDsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InN0YXR1cyIsIE5VTEx9OworICAgIGludCBzdGF0dXM7CisgICAgaW50IF9yZXR1cm5fdmFsdWU7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImk6V0lGRVhJVEVEIiwgJldBSVRfU1RBVFVTX0lOVChzdGF0dXMpKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiaTpXSUZFWElURUQiLCBfa2V5d29yZHMsCisgICAgICAgICZzdGF0dXMpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgX3JldHVybl92YWx1ZSA9IG9zX1dJRkVYSVRFRF9pbXBsKG1vZHVsZSwgc3RhdHVzKTsKKyAgICBpZiAoKF9yZXR1cm5fdmFsdWUgPT0gLTEpICYmIFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBQeUJvb2xfRnJvbUxvbmcoKGxvbmcpX3JldHVybl92YWx1ZSk7CiAKLSAgICByZXR1cm4gUHlCb29sX0Zyb21Mb25nKFdJRkVYSVRFRChzdGF0dXMpKTsKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIGludAorb3NfV0lGRVhJVEVEX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IHN0YXR1cykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0yZjc2MDg3ZDUzNzIxMjU1IGlucHV0PWQ2Mzc3NWE2NzkxNTg2YzBdKi8KK3sKKyAgICBXQUlUX1RZUEUgd2FpdF9zdGF0dXM7CisgICAgV0FJVF9TVEFUVVNfSU5UKHdhaXRfc3RhdHVzKSA9IHN0YXR1czsKKyAgICByZXR1cm4gV0lGRVhJVEVEKHdhaXRfc3RhdHVzKTsKIH0KICNlbmRpZiAvKiBXSUZFWElURUQgKi8KIAorCiAjaWZkZWYgV0VYSVRTVEFUVVMKLVB5RG9jX1NUUlZBUihwb3NpeF9XRVhJVFNUQVRVU19fZG9jX18sCi0iV0VYSVRTVEFUVVMoc3RhdHVzKSAtPiBpbnRlZ2VyXG5cblwKLVJldHVybiB0aGUgcHJvY2VzcyByZXR1cm4gY29kZSBmcm9tICdzdGF0dXMnLiIpOworLypbY2xpbmljIGlucHV0XQorb3MuV0VYSVRTVEFUVVMgLT4gaW50CisKKyAgICBzdGF0dXM6IGludAorCitSZXR1cm4gdGhlIHByb2Nlc3MgcmV0dXJuIGNvZGUgZnJvbSBzdGF0dXMuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19XRVhJVFNUQVRVU19fZG9jX18sCisiV0VYSVRTVEFUVVMoJG1vZHVsZSwgLywgc3RhdHVzKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSBwcm9jZXNzIHJldHVybiBjb2RlIGZyb20gc3RhdHVzLiIpOworCisjZGVmaW5lIE9TX1dFWElUU1RBVFVTX01FVEhPRERFRiAgICBcCisgICAgeyJXRVhJVFNUQVRVUyIsIChQeUNGdW5jdGlvbilvc19XRVhJVFNUQVRVUywgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX1dFWElUU1RBVFVTX19kb2NfX30sCisKK3N0YXRpYyBpbnQKK29zX1dFWElUU1RBVFVTX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IHN0YXR1cyk7CiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9XRVhJVFNUQVRVUyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19XRVhJVFNUQVRVUyhQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKLSAgICBXQUlUX1RZUEUgc3RhdHVzOwotICAgIFdBSVRfU1RBVFVTX0lOVChzdGF0dXMpID0gMDsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InN0YXR1cyIsIE5VTEx9OworICAgIGludCBzdGF0dXM7CisgICAgaW50IF9yZXR1cm5fdmFsdWU7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImk6V0VYSVRTVEFUVVMiLCAmV0FJVF9TVEFUVVNfSU5UKHN0YXR1cykpKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJpOldFWElUU1RBVFVTIiwgX2tleXdvcmRzLAorICAgICAgICAmc3RhdHVzKSkKKyAgICAgICAgZ290byBleGl0OworICAgIF9yZXR1cm5fdmFsdWUgPSBvc19XRVhJVFNUQVRVU19pbXBsKG1vZHVsZSwgc3RhdHVzKTsKKyAgICBpZiAoKF9yZXR1cm5fdmFsdWUgPT0gLTEpICYmIFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBQeUxvbmdfRnJvbUxvbmcoKGxvbmcpX3JldHVybl92YWx1ZSk7CiAKLSAgICByZXR1cm4gUHlfQnVpbGRWYWx1ZSgiaSIsIFdFWElUU1RBVFVTKHN0YXR1cykpOworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgaW50Citvc19XRVhJVFNUQVRVU19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBzdGF0dXMpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MTNiNmMyNzBlMmEzMjZiMSBpbnB1dD1lMWZiNDk0NGUzNzc1ODViXSovCit7CisgICAgV0FJVF9UWVBFIHdhaXRfc3RhdHVzOworICAgIFdBSVRfU1RBVFVTX0lOVCh3YWl0X3N0YXR1cykgPSBzdGF0dXM7CisgICAgcmV0dXJuIFdFWElUU1RBVFVTKHdhaXRfc3RhdHVzKTsKIH0KICNlbmRpZiAvKiBXRVhJVFNUQVRVUyAqLwogCisKICNpZmRlZiBXVEVSTVNJRwotUHlEb2NfU1RSVkFSKHBvc2l4X1dURVJNU0lHX19kb2NfXywKLSJXVEVSTVNJRyhzdGF0dXMpIC0+IGludGVnZXJcblxuXAotUmV0dXJuIHRoZSBzaWduYWwgdGhhdCB0ZXJtaW5hdGVkIHRoZSBwcm9jZXNzIHRoYXQgcHJvdmlkZWQgdGhlICdzdGF0dXMnXG5cCi12YWx1ZS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLldURVJNU0lHIC0+IGludAorCisgICAgc3RhdHVzOiBpbnQKKworUmV0dXJuIHRoZSBzaWduYWwgdGhhdCB0ZXJtaW5hdGVkIHRoZSBwcm9jZXNzIHRoYXQgcHJvdmlkZWQgdGhlIHN0YXR1cyB2YWx1ZS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX1dURVJNU0lHX19kb2NfXywKKyJXVEVSTVNJRygkbW9kdWxlLCAvLCBzdGF0dXMpXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIHNpZ25hbCB0aGF0IHRlcm1pbmF0ZWQgdGhlIHByb2Nlc3MgdGhhdCBwcm92aWRlZCB0aGUgc3RhdHVzIHZhbHVlLiIpOworCisjZGVmaW5lIE9TX1dURVJNU0lHX01FVEhPRERFRiAgICBcCisgICAgeyJXVEVSTVNJRyIsIChQeUNGdW5jdGlvbilvc19XVEVSTVNJRywgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX1dURVJNU0lHX19kb2NfX30sCisKK3N0YXRpYyBpbnQKK29zX1dURVJNU0lHX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IHN0YXR1cyk7CiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9XVEVSTVNJRyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19XVEVSTVNJRyhQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKLSAgICBXQUlUX1RZUEUgc3RhdHVzOwotICAgIFdBSVRfU1RBVFVTX0lOVChzdGF0dXMpID0gMDsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InN0YXR1cyIsIE5VTEx9OworICAgIGludCBzdGF0dXM7CisgICAgaW50IF9yZXR1cm5fdmFsdWU7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImk6V1RFUk1TSUciLCAmV0FJVF9TVEFUVVNfSU5UKHN0YXR1cykpKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJpOldURVJNU0lHIiwgX2tleXdvcmRzLAorICAgICAgICAmc3RhdHVzKSkKKyAgICAgICAgZ290byBleGl0OworICAgIF9yZXR1cm5fdmFsdWUgPSBvc19XVEVSTVNJR19pbXBsKG1vZHVsZSwgc3RhdHVzKTsKKyAgICBpZiAoKF9yZXR1cm5fdmFsdWUgPT0gLTEpICYmIFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBQeUxvbmdfRnJvbUxvbmcoKGxvbmcpX3JldHVybl92YWx1ZSk7CiAKLSAgICByZXR1cm4gUHlfQnVpbGRWYWx1ZSgiaSIsIFdURVJNU0lHKHN0YXR1cykpOworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgaW50Citvc19XVEVSTVNJR19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBzdGF0dXMpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YmYxZmQ0YjAwMmQwYTllZCBpbnB1dD03MjdmZDdmODRlYzNmMjQzXSovCit7CisgICAgV0FJVF9UWVBFIHdhaXRfc3RhdHVzOworICAgIFdBSVRfU1RBVFVTX0lOVCh3YWl0X3N0YXR1cykgPSBzdGF0dXM7CisgICAgcmV0dXJuIFdURVJNU0lHKHdhaXRfc3RhdHVzKTsKIH0KICNlbmRpZiAvKiBXVEVSTVNJRyAqLwogCisKICNpZmRlZiBXU1RPUFNJRwotUHlEb2NfU1RSVkFSKHBvc2l4X1dTVE9QU0lHX19kb2NfXywKLSJXU1RPUFNJRyhzdGF0dXMpIC0+IGludGVnZXJcblxuXAotUmV0dXJuIHRoZSBzaWduYWwgdGhhdCBzdG9wcGVkIHRoZSBwcm9jZXNzIHRoYXQgcHJvdmlkZWRcblwKLXRoZSAnc3RhdHVzJyB2YWx1ZS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLldTVE9QU0lHIC0+IGludAorCisgICAgc3RhdHVzOiBpbnQKKworUmV0dXJuIHRoZSBzaWduYWwgdGhhdCBzdG9wcGVkIHRoZSBwcm9jZXNzIHRoYXQgcHJvdmlkZWQgdGhlIHN0YXR1cyB2YWx1ZS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX1dTVE9QU0lHX19kb2NfXywKKyJXU1RPUFNJRygkbW9kdWxlLCAvLCBzdGF0dXMpXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIHNpZ25hbCB0aGF0IHN0b3BwZWQgdGhlIHByb2Nlc3MgdGhhdCBwcm92aWRlZCB0aGUgc3RhdHVzIHZhbHVlLiIpOworCisjZGVmaW5lIE9TX1dTVE9QU0lHX01FVEhPRERFRiAgICBcCisgICAgeyJXU1RPUFNJRyIsIChQeUNGdW5jdGlvbilvc19XU1RPUFNJRywgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX1dTVE9QU0lHX19kb2NfX30sCisKK3N0YXRpYyBpbnQKK29zX1dTVE9QU0lHX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IHN0YXR1cyk7CiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9XU1RPUFNJRyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19XU1RPUFNJRyhQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKLSAgICBXQUlUX1RZUEUgc3RhdHVzOwotICAgIFdBSVRfU1RBVFVTX0lOVChzdGF0dXMpID0gMDsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InN0YXR1cyIsIE5VTEx9OworICAgIGludCBzdGF0dXM7CisgICAgaW50IF9yZXR1cm5fdmFsdWU7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImk6V1NUT1BTSUciLCAmV0FJVF9TVEFUVVNfSU5UKHN0YXR1cykpKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJpOldTVE9QU0lHIiwgX2tleXdvcmRzLAorICAgICAgICAmc3RhdHVzKSkKKyAgICAgICAgZ290byBleGl0OworICAgIF9yZXR1cm5fdmFsdWUgPSBvc19XU1RPUFNJR19pbXBsKG1vZHVsZSwgc3RhdHVzKTsKKyAgICBpZiAoKF9yZXR1cm5fdmFsdWUgPT0gLTEpICYmIFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBQeUxvbmdfRnJvbUxvbmcoKGxvbmcpX3JldHVybl92YWx1ZSk7CiAKLSAgICByZXR1cm4gUHlfQnVpbGRWYWx1ZSgiaSIsIFdTVE9QU0lHKHN0YXR1cykpOworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgaW50Citvc19XU1RPUFNJR19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBzdGF0dXMpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9OTJlMTY0N2QyOWVlMDU0OSBpbnB1dD00NmViZjFkMWIyOTNjNWMxXSovCit7CisgICAgV0FJVF9UWVBFIHdhaXRfc3RhdHVzOworICAgIFdBSVRfU1RBVFVTX0lOVCh3YWl0X3N0YXR1cykgPSBzdGF0dXM7CisgICAgcmV0dXJuIFdTVE9QU0lHKHdhaXRfc3RhdHVzKTsKIH0KICNlbmRpZiAvKiBXU1RPUFNJRyAqLwotCiAjZW5kaWYgLyogSEFWRV9TWVNfV0FJVF9IICovCiAKIAorI2lmbmRlZiBPU19XQ09SRURVTVBfTUVUSE9EREVGCisjZGVmaW5lIE9TX1dDT1JFRFVNUF9NRVRIT0RERUYKKyNlbmRpZiAvKiBPU19XQ09SRURVTVBfTUVUSE9EREVGICovCisKKyNpZm5kZWYgT1NfV0lGQ09OVElOVUVEX01FVEhPRERFRgorI2RlZmluZSBPU19XSUZDT05USU5VRURfTUVUSE9EREVGCisjZW5kaWYgLyogT1NfV0lGQ09OVElOVUVEX01FVEhPRERFRiAqLworCisjaWZuZGVmIE9TX1dJRlNUT1BQRURfTUVUSE9EREVGCisjZGVmaW5lIE9TX1dJRlNUT1BQRURfTUVUSE9EREVGCisjZW5kaWYgLyogT1NfV0lGU1RPUFBFRF9NRVRIT0RERUYgKi8KKworI2lmbmRlZiBPU19XSUZTSUdOQUxFRF9NRVRIT0RERUYKKyNkZWZpbmUgT1NfV0lGU0lHTkFMRURfTUVUSE9EREVGCisjZW5kaWYgLyogT1NfV0lGU0lHTkFMRURfTUVUSE9EREVGICovCisKKyNpZm5kZWYgT1NfV0lGRVhJVEVEX01FVEhPRERFRgorI2RlZmluZSBPU19XSUZFWElURURfTUVUSE9EREVGCisjZW5kaWYgLyogT1NfV0lGRVhJVEVEX01FVEhPRERFRiAqLworCisjaWZuZGVmIE9TX1dFWElUU1RBVFVTX01FVEhPRERFRgorI2RlZmluZSBPU19XRVhJVFNUQVRVU19NRVRIT0RERUYKKyNlbmRpZiAvKiBPU19XRVhJVFNUQVRVU19NRVRIT0RERUYgKi8KKworI2lmbmRlZiBPU19XVEVSTVNJR19NRVRIT0RERUYKKyNkZWZpbmUgT1NfV1RFUk1TSUdfTUVUSE9EREVGCisjZW5kaWYgLyogT1NfV1RFUk1TSUdfTUVUSE9EREVGICovCisKKyNpZm5kZWYgT1NfV1NUT1BTSUdfTUVUSE9EREVGCisjZGVmaW5lIE9TX1dTVE9QU0lHX01FVEhPRERFRgorI2VuZGlmIC8qIE9TX1dTVE9QU0lHX01FVEhPRERFRiAqLworCisKICNpZiBkZWZpbmVkKEhBVkVfRlNUQVRWRlMpICYmIGRlZmluZWQoSEFWRV9TWVNfU1RBVFZGU19IKQogI2lmZGVmIF9TQ09fRFMKIC8qIFNDTyBPcGVuU2VydmVyIDUuMCBhbmQgbGF0ZXIgcmVxdWlyZXMgX1NWSUQzIGJlZm9yZSBpdCByZXZlYWxzIHRoZQpAQCAtOTIzNSwxMDQgKzEzNzk4LDE5NiBAQAogICAgIHJldHVybiB2OwogfQogCi1QeURvY19TVFJWQVIocG9zaXhfZnN0YXR2ZnNfX2RvY19fLAotImZzdGF0dmZzKGZkKSAtPiBzdGF0dmZzIHJlc3VsdFxuXG5cCi1QZXJmb3JtIGFuIGZzdGF0dmZzIHN5c3RlbSBjYWxsIG9uIHRoZSBnaXZlbiBmZC5cblwKLUVxdWl2YWxlbnQgdG8gc3RhdHZmcyhmZCkuIik7CisKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmZzdGF0dmZzCisgICAgZmQ6IGludAorICAgIC8KKworUGVyZm9ybSBhbiBmc3RhdHZmcyBzeXN0ZW0gY2FsbCBvbiB0aGUgZ2l2ZW4gZmQuCisKK0VxdWl2YWxlbnQgdG8gc3RhdHZmcyhmZCkuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19mc3RhdHZmc19fZG9jX18sCisiZnN0YXR2ZnMoJG1vZHVsZSwgZmQsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJQZXJmb3JtIGFuIGZzdGF0dmZzIHN5c3RlbSBjYWxsIG9uIHRoZSBnaXZlbiBmZC5cbiIKKyJcbiIKKyJFcXVpdmFsZW50IHRvIHN0YXR2ZnMoZmQpLiIpOworCisjZGVmaW5lIE9TX0ZTVEFUVkZTX01FVEhPRERFRiAgICBcCisgICAgeyJmc3RhdHZmcyIsIChQeUNGdW5jdGlvbilvc19mc3RhdHZmcywgTUVUSF9WQVJBUkdTLCBvc19mc3RhdHZmc19fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfZnN0YXR2ZnMoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3NfZnN0YXR2ZnNfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZnN0YXR2ZnMoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgaW50IGZkLCByZXM7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgaW50IGZkOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJpOmZzdGF0dmZzIiwKKyAgICAgICAgJmZkKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX2ZzdGF0dmZzX2ltcGwobW9kdWxlLCBmZCk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2ZzdGF0dmZzX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTBlMzJiZjA3Zjk0NmVjMGQgaW5wdXQ9ZDgxMjIyNDNhYzUwOTc1ZV0qLworeworICAgIGludCByZXN1bHQ7CisgICAgaW50IGFzeW5jX2VyciA9IDA7CiAgICAgc3RydWN0IHN0YXR2ZnMgc3Q7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImk6ZnN0YXR2ZnMiLCAmZmQpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgcmVzID0gZnN0YXR2ZnMoZmQsICZzdCk7Ci0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLSAgICBpZiAocmVzICE9IDApCi0gICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOworICAgIGRvIHsKKyAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgICAgICByZXN1bHQgPSBmc3RhdHZmcyhmZCwgJnN0KTsKKyAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICB9IHdoaWxlIChyZXN1bHQgIT0gMCAmJiBlcnJubyA9PSBFSU5UUiAmJgorICAgICAgICAgICAgICEoYXN5bmNfZXJyID0gUHlFcnJfQ2hlY2tTaWduYWxzKCkpKTsKKyAgICBpZiAocmVzdWx0ICE9IDApCisgICAgICAgIHJldHVybiAoIWFzeW5jX2VycikgPyBwb3NpeF9lcnJvcigpIDogTlVMTDsKIAogICAgIHJldHVybiBfcHlzdGF0dmZzX2Zyb21zdHJ1Y3RzdGF0dmZzKHN0KTsKIH0KLSNlbmRpZiAvKiBIQVZFX0ZTVEFUVkZTICYmIEhBVkVfU1lTX1NUQVRWRlNfSCAqLworI2VuZGlmIC8qIGRlZmluZWQoSEFWRV9GU1RBVFZGUykgJiYgZGVmaW5lZChIQVZFX1NZU19TVEFUVkZTX0gpICovCiAKIAogI2lmIGRlZmluZWQoSEFWRV9TVEFUVkZTKSAmJiBkZWZpbmVkKEhBVkVfU1lTX1NUQVRWRlNfSCkKICNpbmNsdWRlIDxzeXMvc3RhdHZmcy5oPgorLypbY2xpbmljIGlucHV0XQorb3Muc3RhdHZmcwogCi1QeURvY19TVFJWQVIocG9zaXhfc3RhdHZmc19fZG9jX18sCi0ic3RhdHZmcyhwYXRoKVxuXG5cCi1QZXJmb3JtIGEgc3RhdHZmcyBzeXN0ZW0gY2FsbCBvbiB0aGUgZ2l2ZW4gcGF0aC5cblwKLVxuXAotcGF0aCBtYXkgYWx3YXlzIGJlIHNwZWNpZmllZCBhcyBhIHN0cmluZy5cblwKLU9uIHNvbWUgcGxhdGZvcm1zLCBwYXRoIG1heSBhbHNvIGJlIHNwZWNpZmllZCBhcyBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvci5cblwKLSAgSWYgdGhpcyBmdW5jdGlvbmFsaXR5IGlzIHVuYXZhaWxhYmxlLCB1c2luZyBpdCByYWlzZXMgYW4gZXhjZXB0aW9uLiIpOworICAgIHBhdGg6IHBhdGhfdChhbGxvd19mZD0nUEFUSF9IQVZFX0ZTVEFUVkZTJykKKworUGVyZm9ybSBhIHN0YXR2ZnMgc3lzdGVtIGNhbGwgb24gdGhlIGdpdmVuIHBhdGguCisKK3BhdGggbWF5IGFsd2F5cyBiZSBzcGVjaWZpZWQgYXMgYSBzdHJpbmcuCitPbiBzb21lIHBsYXRmb3JtcywgcGF0aCBtYXkgYWxzbyBiZSBzcGVjaWZpZWQgYXMgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuCisgIElmIHRoaXMgZnVuY3Rpb25hbGl0eSBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgcmFpc2VzIGFuIGV4Y2VwdGlvbi4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3N0YXR2ZnNfX2RvY19fLAorInN0YXR2ZnMoJG1vZHVsZSwgLywgcGF0aClcbiIKKyItLVxuIgorIlxuIgorIlBlcmZvcm0gYSBzdGF0dmZzIHN5c3RlbSBjYWxsIG9uIHRoZSBnaXZlbiBwYXRoLlxuIgorIlxuIgorInBhdGggbWF5IGFsd2F5cyBiZSBzcGVjaWZpZWQgYXMgYSBzdHJpbmcuXG4iCisiT24gc29tZSBwbGF0Zm9ybXMsIHBhdGggbWF5IGFsc28gYmUgc3BlY2lmaWVkIGFzIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLlxuIgorIiAgSWYgdGhpcyBmdW5jdGlvbmFsaXR5IGlzIHVuYXZhaWxhYmxlLCB1c2luZyBpdCByYWlzZXMgYW4gZXhjZXB0aW9uLiIpOworCisjZGVmaW5lIE9TX1NUQVRWRlNfTUVUSE9EREVGICAgIFwKKyAgICB7InN0YXR2ZnMiLCAoUHlDRnVuY3Rpb24pb3Nfc3RhdHZmcywgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX3N0YXR2ZnNfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3N0YXR2ZnMoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQotewotICAgIHN0YXRpYyBjaGFyICprZXl3b3Jkc1tdID0geyJwYXRoIiwgTlVMTH07Ci0gICAgcGF0aF90IHBhdGg7Ci0gICAgaW50IHJlc3VsdDsKLSAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKLSAgICBzdHJ1Y3Qgc3RhdHZmcyBzdDsKK29zX3N0YXR2ZnNfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgpOwogCi0gICAgbWVtc2V0KCZwYXRoLCAwLCBzaXplb2YocGF0aCkpOwotICAgIHBhdGguZnVuY3Rpb25fbmFtZSA9ICJzdGF0dmZzIjsKLSNpZmRlZiBIQVZFX0ZTVEFUVkZTCi0gICAgcGF0aC5hbGxvd19mZCA9IDE7Ci0jZW5kaWYKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsICJPJjpzdGF0dmZzIiwga2V5d29yZHMsCi0gICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aAotICAgICAgICApKQotICAgICAgICByZXR1cm4gTlVMTDsKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zdGF0dmZzKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsicGF0aCIsIE5VTEx9OworICAgIHBhdGhfdCBwYXRoID0gUEFUSF9UX0lOSVRJQUxJWkUoInN0YXR2ZnMiLCAicGF0aCIsIDAsIFBBVEhfSEFWRV9GU1RBVFZGUyk7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJPJjpzdGF0dmZzIiwgX2tleXdvcmRzLAorICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3Nfc3RhdHZmc19pbXBsKG1vZHVsZSwgJnBhdGgpOworCitleGl0OgorICAgIC8qIENsZWFudXAgZm9yIHBhdGggKi8KKyAgICBwYXRoX2NsZWFudXAoJnBhdGgpOworCisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3N0YXR2ZnNfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MDBmZjU0OTgzMzYwYjQ0NiBpbnB1dD0zZjVjMzU3OTFjNjY5YmQ5XSovCit7CisgICAgaW50IHJlc3VsdDsKKyAgICBzdHJ1Y3Qgc3RhdHZmcyBzdDsKIAogICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKICNpZmRlZiBIQVZFX0ZTVEFUVkZTCi0gICAgaWYgKHBhdGguZmQgIT0gLTEpIHsKKyAgICBpZiAocGF0aC0+ZmQgIT0gLTEpIHsKICNpZmRlZiBfX0FQUExFX18KICAgICAgICAgLyogaGFuZGxlIHdlYWstbGlua2luZyBvbiBNYWMgT1MgWCAxMC4zICovCiAgICAgICAgIGlmIChmc3RhdHZmcyA9PSBOVUxMKSB7Ci0gICAgICAgICAgICBmZF9zcGVjaWZpZWQoInN0YXR2ZnMiLCBwYXRoLmZkKTsKLSAgICAgICAgICAgIGdvdG8gZXhpdDsKKyAgICAgICAgICAgIGZkX3NwZWNpZmllZCgic3RhdHZmcyIsIHBhdGgtPmZkKTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICB9CiAjZW5kaWYKLSAgICAgICAgcmVzdWx0ID0gZnN0YXR2ZnMocGF0aC5mZCwgJnN0KTsKKyAgICAgICAgcmVzdWx0ID0gZnN0YXR2ZnMocGF0aC0+ZmQsICZzdCk7CiAgICAgfQogICAgIGVsc2UKICNlbmRpZgotICAgICAgICByZXN1bHQgPSBzdGF0dmZzKHBhdGgubmFycm93LCAmc3QpOworICAgICAgICByZXN1bHQgPSBzdGF0dmZzKHBhdGgtPm5hcnJvdywgJnN0KTsKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogCiAgICAgaWYgKHJlc3VsdCkgewotICAgICAgICByZXR1cm5fdmFsdWUgPSBwYXRoX2Vycm9yKCZwYXRoKTsKLSAgICAgICAgZ290byBleGl0OworICAgICAgICByZXR1cm4gcGF0aF9lcnJvcihwYXRoKTsKICAgICB9CiAKLSAgICByZXR1cm5fdmFsdWUgPSBfcHlzdGF0dmZzX2Zyb21zdHJ1Y3RzdGF0dmZzKHN0KTsKLQotZXhpdDoKLSAgICBwYXRoX2NsZWFudXAoJnBhdGgpOwotICAgIHJldHVybiByZXR1cm5fdmFsdWU7CisgICAgcmV0dXJuIF9weXN0YXR2ZnNfZnJvbXN0cnVjdHN0YXR2ZnMoc3QpOwogfQotI2VuZGlmIC8qIEhBVkVfU1RBVFZGUyAqLworI2VuZGlmIC8qIGRlZmluZWQoSEFWRV9TVEFUVkZTKSAmJiBkZWZpbmVkKEhBVkVfU1lTX1NUQVRWRlNfSCkgKi8KKwogCiAjaWZkZWYgTVNfV0lORE9XUwotUHlEb2NfU1RSVkFSKHdpbjMyX19nZXRkaXNrdXNhZ2VfX2RvY19fLAotIl9nZXRkaXNrdXNhZ2UocGF0aCkgLT4gKHRvdGFsLCBmcmVlKVxuXG5cCi1SZXR1cm4gZGlzayB1c2FnZSBzdGF0aXN0aWNzIGFib3V0IHRoZSBnaXZlbiBwYXRoIGFzICh0b3RhbCwgZnJlZSkgdHVwbGUuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5fZ2V0ZGlza3VzYWdlCisKKyAgICBwYXRoOiBQeV9VTklDT0RFCisKK1JldHVybiBkaXNrIHVzYWdlIHN0YXRpc3RpY3MgYWJvdXQgdGhlIGdpdmVuIHBhdGggYXMgYSAodG90YWwsIGZyZWUpIHR1cGxlLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfX2dldGRpc2t1c2FnZV9fZG9jX18sCisiX2dldGRpc2t1c2FnZSgkbW9kdWxlLCAvLCBwYXRoKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGRpc2sgdXNhZ2Ugc3RhdGlzdGljcyBhYm91dCB0aGUgZ2l2ZW4gcGF0aCBhcyBhICh0b3RhbCwgZnJlZSkgdHVwbGUuIik7CisKKyNkZWZpbmUgT1NfX0dFVERJU0tVU0FHRV9NRVRIT0RERUYgICAgXAorICAgIHsiX2dldGRpc2t1c2FnZSIsIChQeUNGdW5jdGlvbilvc19fZ2V0ZGlza3VzYWdlLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfX2dldGRpc2t1c2FnZV9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotd2luMzJfX2dldGRpc2t1c2FnZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19fZ2V0ZGlza3VzYWdlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfVU5JQ09ERSAqcGF0aCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19fZ2V0ZGlza3VzYWdlKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsicGF0aCIsIE5VTEx9OworICAgIFB5X1VOSUNPREUgKnBhdGg7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJ1Ol9nZXRkaXNrdXNhZ2UiLCBfa2V5d29yZHMsCisgICAgICAgICZwYXRoKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX19nZXRkaXNrdXNhZ2VfaW1wbChtb2R1bGUsIHBhdGgpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19fZ2V0ZGlza3VzYWdlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfVU5JQ09ERSAqcGF0aCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0wNTRjOTcyMTc5YjEzNzA4IGlucHV0PTY0NTgxMzNhZWQ4OTNjNzhdKi8KIHsKICAgICBCT09MIHJldHZhbDsKICAgICBVTEFSR0VfSU5URUdFUiBfLCB0b3RhbCwgZnJlZTsKLSAgICBjb25zdCB3Y2hhcl90ICpwYXRoOwotCi0gICAgaWYgKCEgUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAidSIsICZwYXRoKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCiAgICAgcmV0dmFsID0gR2V0RGlza0ZyZWVTcGFjZUV4VyhwYXRoLCAmXywgJnRvdGFsLCAmZnJlZSk7CkBAIC05MzQyLDcgKzEzOTk3LDcgQEAKIAogICAgIHJldHVybiBQeV9CdWlsZFZhbHVlKCIoTEwpIiwgdG90YWwuUXVhZFBhcnQsIGZyZWUuUXVhZFBhcnQpOwogfQotI2VuZGlmCisjZW5kaWYgLyogTVNfV0lORE9XUyAqLwogCiAKIC8qIFRoaXMgaXMgdXNlZCBmb3IgZnBhdGhjb25mKCksIHBhdGhjb25mKCksIGNvbmZzdHIoKSBhbmQgc3lzY29uZigpLgpAQCAtOTQ5OSw4MSArMTQxNTQsMTQ5IEBACiB9CiAjZW5kaWYKIAorCiAjaWZkZWYgSEFWRV9GUEFUSENPTkYKLVB5RG9jX1NUUlZBUihwb3NpeF9mcGF0aGNvbmZfX2RvY19fLAotImZwYXRoY29uZihmZCwgbmFtZSkgLT4gaW50ZWdlclxuXG5cCi1SZXR1cm4gdGhlIGNvbmZpZ3VyYXRpb24gbGltaXQgbmFtZSBmb3IgdGhlIGZpbGUgZGVzY3JpcHRvciBmZC5cblwKLUlmIHRoZXJlIGlzIG5vIGxpbWl0LCByZXR1cm4gLTEuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5mcGF0aGNvbmYgLT4gbG9uZworCisgICAgZmQ6IGludAorICAgIG5hbWU6IHBhdGhfY29uZm5hbWUKKyAgICAvCisKK1JldHVybiB0aGUgY29uZmlndXJhdGlvbiBsaW1pdCBuYW1lIGZvciB0aGUgZmlsZSBkZXNjcmlwdG9yIGZkLgorCitJZiB0aGVyZSBpcyBubyBsaW1pdCwgcmV0dXJuIC0xLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfZnBhdGhjb25mX19kb2NfXywKKyJmcGF0aGNvbmYoJG1vZHVsZSwgZmQsIG5hbWUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIGNvbmZpZ3VyYXRpb24gbGltaXQgbmFtZSBmb3IgdGhlIGZpbGUgZGVzY3JpcHRvciBmZC5cbiIKKyJcbiIKKyJJZiB0aGVyZSBpcyBubyBsaW1pdCwgcmV0dXJuIC0xLiIpOworCisjZGVmaW5lIE9TX0ZQQVRIQ09ORl9NRVRIT0RERUYgICAgXAorICAgIHsiZnBhdGhjb25mIiwgKFB5Q0Z1bmN0aW9uKW9zX2ZwYXRoY29uZiwgTUVUSF9WQVJBUkdTLCBvc19mcGF0aGNvbmZfX2RvY19ffSwKKworc3RhdGljIGxvbmcKK29zX2ZwYXRoY29uZl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCwgaW50IG5hbWUpOwogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfZnBhdGhjb25mKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX2ZwYXRoY29uZihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBQeU9iamVjdCAqcmVzdWx0ID0gTlVMTDsKLSAgICBpbnQgbmFtZSwgZmQ7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgaW50IGZkOworICAgIGludCBuYW1lOworICAgIGxvbmcgX3JldHVybl92YWx1ZTsKIAotICAgIGlmIChQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpTyY6ZnBhdGhjb25mIiwgJmZkLAotICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnZfcGF0aF9jb25mbmFtZSwgJm5hbWUpKSB7Ci0gICAgICAgIGxvbmcgbGltaXQ7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJpTyY6ZnBhdGhjb25mIiwKKyAgICAgICAgJmZkLCBjb252X3BhdGhfY29uZm5hbWUsICZuYW1lKSkKKyAgICAgICAgZ290byBleGl0OworICAgIF9yZXR1cm5fdmFsdWUgPSBvc19mcGF0aGNvbmZfaW1wbChtb2R1bGUsIGZkLCBuYW1lKTsKKyAgICBpZiAoKF9yZXR1cm5fdmFsdWUgPT0gLTEpICYmIFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBQeUxvbmdfRnJvbUxvbmcoX3JldHVybl92YWx1ZSk7CiAKLSAgICAgICAgZXJybm8gPSAwOwotICAgICAgICBsaW1pdCA9IGZwYXRoY29uZihmZCwgbmFtZSk7Ci0gICAgICAgIGlmIChsaW1pdCA9PSAtMSAmJiBlcnJubyAhPSAwKQotICAgICAgICAgICAgcG9zaXhfZXJyb3IoKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgcmVzdWx0ID0gUHlMb25nX0Zyb21Mb25nKGxpbWl0KTsKLSAgICB9Ci0gICAgcmV0dXJuIHJlc3VsdDsKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKIH0KLSNlbmRpZgorCitzdGF0aWMgbG9uZworb3NfZnBhdGhjb25mX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkLCBpbnQgbmFtZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0zYmYwNGI0MGUwNTIzYThjIGlucHV0PTU5NDJhMDI0ZDM3Nzc4MTBdKi8KK3sKKyAgICBsb25nIGxpbWl0OworCisgICAgZXJybm8gPSAwOworICAgIGxpbWl0ID0gZnBhdGhjb25mKGZkLCBuYW1lKTsKKyAgICBpZiAobGltaXQgPT0gLTEgJiYgZXJybm8gIT0gMCkKKyAgICAgICAgcG9zaXhfZXJyb3IoKTsKKworICAgIHJldHVybiBsaW1pdDsKK30KKyNlbmRpZiAvKiBIQVZFX0ZQQVRIQ09ORiAqLwogCiAKICNpZmRlZiBIQVZFX1BBVEhDT05GCi1QeURvY19TVFJWQVIocG9zaXhfcGF0aGNvbmZfX2RvY19fLAotInBhdGhjb25mKHBhdGgsIG5hbWUpIC0+IGludGVnZXJcblxuXAotUmV0dXJuIHRoZSBjb25maWd1cmF0aW9uIGxpbWl0IG5hbWUgZm9yIHRoZSBmaWxlIG9yIGRpcmVjdG9yeSBwYXRoLlxuXAotSWYgdGhlcmUgaXMgbm8gbGltaXQsIHJldHVybiAtMS5cblwKLU9uIHNvbWUgcGxhdGZvcm1zLCBwYXRoIG1heSBhbHNvIGJlIHNwZWNpZmllZCBhcyBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvci5cblwKLSAgSWYgdGhpcyBmdW5jdGlvbmFsaXR5IGlzIHVuYXZhaWxhYmxlLCB1c2luZyBpdCByYWlzZXMgYW4gZXhjZXB0aW9uLiIpOworLypbY2xpbmljIGlucHV0XQorb3MucGF0aGNvbmYgLT4gbG9uZworICAgIHBhdGg6IHBhdGhfdChhbGxvd19mZD0nUEFUSF9IQVZFX0ZQQVRIQ09ORicpCisgICAgbmFtZTogcGF0aF9jb25mbmFtZQorCitSZXR1cm4gdGhlIGNvbmZpZ3VyYXRpb24gbGltaXQgbmFtZSBmb3IgdGhlIGZpbGUgb3IgZGlyZWN0b3J5IHBhdGguCisKK0lmIHRoZXJlIGlzIG5vIGxpbWl0LCByZXR1cm4gLTEuCitPbiBzb21lIHBsYXRmb3JtcywgcGF0aCBtYXkgYWxzbyBiZSBzcGVjaWZpZWQgYXMgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuCisgIElmIHRoaXMgZnVuY3Rpb25hbGl0eSBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgcmFpc2VzIGFuIGV4Y2VwdGlvbi4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3BhdGhjb25mX19kb2NfXywKKyJwYXRoY29uZigkbW9kdWxlLCAvLCBwYXRoLCBuYW1lKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSBjb25maWd1cmF0aW9uIGxpbWl0IG5hbWUgZm9yIHRoZSBmaWxlIG9yIGRpcmVjdG9yeSBwYXRoLlxuIgorIlxuIgorIklmIHRoZXJlIGlzIG5vIGxpbWl0LCByZXR1cm4gLTEuXG4iCisiT24gc29tZSBwbGF0Zm9ybXMsIHBhdGggbWF5IGFsc28gYmUgc3BlY2lmaWVkIGFzIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLlxuIgorIiAgSWYgdGhpcyBmdW5jdGlvbmFsaXR5IGlzIHVuYXZhaWxhYmxlLCB1c2luZyBpdCByYWlzZXMgYW4gZXhjZXB0aW9uLiIpOworCisjZGVmaW5lIE9TX1BBVEhDT05GX01FVEhPRERFRiAgICBcCisgICAgeyJwYXRoY29uZiIsIChQeUNGdW5jdGlvbilvc19wYXRoY29uZiwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX3BhdGhjb25mX19kb2NfX30sCisKK3N0YXRpYyBsb25nCitvc19wYXRoY29uZl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgaW50IG5hbWUpOwogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfcGF0aGNvbmYoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQorb3NfcGF0aGNvbmYoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgcGF0aF90IHBhdGg7Ci0gICAgUHlPYmplY3QgKnJlc3VsdCA9IE5VTEw7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJwYXRoIiwgIm5hbWUiLCBOVUxMfTsKKyAgICBwYXRoX3QgcGF0aCA9IFBBVEhfVF9JTklUSUFMSVpFKCJwYXRoY29uZiIsICJwYXRoIiwgMCwgUEFUSF9IQVZFX0ZQQVRIQ09ORik7CiAgICAgaW50IG5hbWU7Ci0gICAgc3RhdGljIGNoYXIgKmtleXdvcmRzW10gPSB7InBhdGgiLCAibmFtZSIsIE5VTEx9OworICAgIGxvbmcgX3JldHVybl92YWx1ZTsKIAotICAgIG1lbXNldCgmcGF0aCwgMCwgc2l6ZW9mKHBhdGgpKTsKLSAgICBwYXRoLmZ1bmN0aW9uX25hbWUgPSAicGF0aGNvbmYiOwotI2lmZGVmIEhBVkVfRlBBVEhDT05GCi0gICAgcGF0aC5hbGxvd19mZCA9IDE7Ci0jZW5kaWYKLSAgICBpZiAoUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgIk8mTyY6cGF0aGNvbmYiLCBrZXl3b3JkcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnZfcGF0aF9jb25mbmFtZSwgJm5hbWUpKSB7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiTyZPJjpwYXRoY29uZiIsIF9rZXl3b3JkcywKKyAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLCBjb252X3BhdGhfY29uZm5hbWUsICZuYW1lKSkKKyAgICAgICAgZ290byBleGl0OworICAgIF9yZXR1cm5fdmFsdWUgPSBvc19wYXRoY29uZl9pbXBsKG1vZHVsZSwgJnBhdGgsIG5hbWUpOworICAgIGlmICgoX3JldHVybl92YWx1ZSA9PSAtMSkgJiYgUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IFB5TG9uZ19Gcm9tTG9uZyhfcmV0dXJuX3ZhbHVlKTsKKworZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBwYXRoICovCisgICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKKworICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBsb25nCitvc19wYXRoY29uZl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgaW50IG5hbWUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MWE1M2UxMjViNmNmNjNlNCBpbnB1dD1iYzNlMmE5ODVhZjI3ZTVlXSovCit7CiAgICAgbG9uZyBsaW1pdDsKIAogICAgIGVycm5vID0gMDsKICNpZmRlZiBIQVZFX0ZQQVRIQ09ORgotICAgIGlmIChwYXRoLmZkICE9IC0xKQotICAgICAgICBsaW1pdCA9IGZwYXRoY29uZihwYXRoLmZkLCBuYW1lKTsKKyAgICBpZiAocGF0aC0+ZmQgIT0gLTEpCisgICAgICAgIGxpbWl0ID0gZnBhdGhjb25mKHBhdGgtPmZkLCBuYW1lKTsKICAgICBlbHNlCiAjZW5kaWYKLSAgICAgICAgbGltaXQgPSBwYXRoY29uZihwYXRoLm5hcnJvdywgbmFtZSk7CisgICAgICAgIGxpbWl0ID0gcGF0aGNvbmYocGF0aC0+bmFycm93LCBuYW1lKTsKICAgICBpZiAobGltaXQgPT0gLTEgJiYgZXJybm8gIT0gMCkgewogICAgICAgICBpZiAoZXJybm8gPT0gRUlOVkFMKQogICAgICAgICAgICAgLyogY291bGQgYmUgYSBwYXRoIG9yIG5hbWUgcHJvYmxlbSAqLwogICAgICAgICAgICAgcG9zaXhfZXJyb3IoKTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgcmVzdWx0ID0gcGF0aF9lcnJvcigmcGF0aCk7CisgICAgICAgICAgICBwYXRoX2Vycm9yKHBhdGgpOwogICAgIH0KLSAgICBlbHNlCi0gICAgICAgIHJlc3VsdCA9IFB5TG9uZ19Gcm9tTG9uZyhsaW1pdCk7Ci0gICAgfQotICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKKworICAgIHJldHVybiBsaW1pdDsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIEhBVkVfUEFUSENPTkYgKi8KIAogI2lmZGVmIEhBVkVfQ09ORlNUUgogc3RhdGljIHN0cnVjdCBjb25zdGRlZiBwb3NpeF9jb25zdGFudHNfY29uZnN0cltdID0gewpAQCAtOTczNywyMSArMTQ0NjAsNTIgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8gc2l6ZW9mKHN0cnVjdCBjb25zdGRlZikpOwogfQogCi1QeURvY19TVFJWQVIocG9zaXhfY29uZnN0cl9fZG9jX18sCi0iY29uZnN0cihuYW1lKSAtPiBzdHJpbmdcblxuXAotUmV0dXJuIGEgc3RyaW5nLXZhbHVlZCBzeXN0ZW0gY29uZmlndXJhdGlvbiB2YXJpYWJsZS4iKTsKKworLypbY2xpbmljIGlucHV0XQorb3MuY29uZnN0cgorCisgICAgbmFtZTogY29uZnN0cl9jb25mbmFtZQorICAgIC8KKworUmV0dXJuIGEgc3RyaW5nLXZhbHVlZCBzeXN0ZW0gY29uZmlndXJhdGlvbiB2YXJpYWJsZS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2NvbmZzdHJfX2RvY19fLAorImNvbmZzdHIoJG1vZHVsZSwgbmFtZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBhIHN0cmluZy12YWx1ZWQgc3lzdGVtIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUuIik7CisKKyNkZWZpbmUgT1NfQ09ORlNUUl9NRVRIT0RERUYgICAgXAorICAgIHsiY29uZnN0ciIsIChQeUNGdW5jdGlvbilvc19jb25mc3RyLCBNRVRIX1ZBUkFSR1MsIG9zX2NvbmZzdHJfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2NvbmZzdHIoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3NfY29uZnN0cl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBuYW1lKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2NvbmZzdHIoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgaW50IG5hbWU7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIk8mOmNvbmZzdHIiLAorICAgICAgICBjb252X2NvbmZzdHJfY29uZm5hbWUsICZuYW1lKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX2NvbmZzdHJfaW1wbChtb2R1bGUsIG5hbWUpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19jb25mc3RyX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IG5hbWUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9M2Y1ZThhYmE5ZjhlMzE3NCBpbnB1dD0xOGZiNGQwNTY3MjQyZTY1XSovCiB7CiAgICAgUHlPYmplY3QgKnJlc3VsdCA9IE5VTEw7Ci0gICAgaW50IG5hbWU7CiAgICAgY2hhciBidWZmZXJbMjU1XTsKICAgICBzaXplX3QgbGVuOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPJjpjb25mc3RyIiwgY29udl9jb25mc3RyX2NvbmZuYW1lLCAmbmFtZSkpCi0gICAgICAgIHJldHVybiBOVUxMOwotCiAgICAgZXJybm8gPSAwOwogICAgIGxlbiA9IGNvbmZzdHIobmFtZSwgYnVmZmVyLCBzaXplb2YoYnVmZmVyKSk7CiAgICAgaWYgKGxlbiA9PSAwKSB7CkBAIC05NzY1LDEwICsxNDUxOSwxMiBAQAogICAgIH0KIAogICAgIGlmIChsZW4gPj0gc2l6ZW9mKGJ1ZmZlcikpIHsKKyAgICAgICAgc2l6ZV90IGxlbjI7CiAgICAgICAgIGNoYXIgKmJ1ZiA9IFB5TWVtX01hbGxvYyhsZW4pOwogICAgICAgICBpZiAoYnVmID09IE5VTEwpCiAgICAgICAgICAgICByZXR1cm4gUHlFcnJfTm9NZW1vcnkoKTsKLSAgICAgICAgY29uZnN0cihuYW1lLCBidWYsIGxlbik7CisgICAgICAgIGxlbjIgPSBjb25mc3RyKG5hbWUsIGJ1ZiwgbGVuKTsKKyAgICAgICAgYXNzZXJ0KGxlbiA9PSBsZW4yKTsKICAgICAgICAgcmVzdWx0ID0gUHlVbmljb2RlX0RlY29kZUZTRGVmYXVsdEFuZFNpemUoYnVmLCBsZW4tMSk7CiAgICAgICAgIFB5TWVtX0ZyZWUoYnVmKTsKICAgICB9CkBAIC05Nzc2LDcgKzE0NTMyLDcgQEAKICAgICAgICAgcmVzdWx0ID0gUHlVbmljb2RlX0RlY29kZUZTRGVmYXVsdEFuZFNpemUoYnVmZmVyLCBsZW4tMSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIEhBVkVfQ09ORlNUUiAqLwogCiAKICNpZmRlZiBIQVZFX1NZU0NPTkYKQEAgLTEwMjgzLDI5ICsxNTAzOSw2MCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLyBzaXplb2Yoc3RydWN0IGNvbnN0ZGVmKSk7CiB9CiAKLVB5RG9jX1NUUlZBUihwb3NpeF9zeXNjb25mX19kb2NfXywKLSJzeXNjb25mKG5hbWUpIC0+IGludGVnZXJcblxuXAotUmV0dXJuIGFuIGludGVnZXItdmFsdWVkIHN5c3RlbSBjb25maWd1cmF0aW9uIHZhcmlhYmxlLiIpOworCisvKltjbGluaWMgaW5wdXRdCitvcy5zeXNjb25mIC0+IGxvbmcKKyAgICBuYW1lOiBzeXNjb25mX2NvbmZuYW1lCisgICAgLworCitSZXR1cm4gYW4gaW50ZWdlci12YWx1ZWQgc3lzdGVtIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19zeXNjb25mX19kb2NfXywKKyJzeXNjb25mKCRtb2R1bGUsIG5hbWUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gYW4gaW50ZWdlci12YWx1ZWQgc3lzdGVtIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUuIik7CisKKyNkZWZpbmUgT1NfU1lTQ09ORl9NRVRIT0RERUYgICAgXAorICAgIHsic3lzY29uZiIsIChQeUNGdW5jdGlvbilvc19zeXNjb25mLCBNRVRIX1ZBUkFSR1MsIG9zX3N5c2NvbmZfX2RvY19ffSwKKworc3RhdGljIGxvbmcKK29zX3N5c2NvbmZfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgbmFtZSk7CiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9zeXNjb25mKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX3N5c2NvbmYoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgUHlPYmplY3QgKnJlc3VsdCA9IE5VTEw7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CiAgICAgaW50IG5hbWU7CisgICAgbG9uZyBfcmV0dXJuX3ZhbHVlOwogCi0gICAgaWYgKFB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk8mOnN5c2NvbmYiLCBjb252X3N5c2NvbmZfY29uZm5hbWUsICZuYW1lKSkgewotICAgICAgICBsb25nIHZhbHVlOworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiTyY6c3lzY29uZiIsCisgICAgICAgIGNvbnZfc3lzY29uZl9jb25mbmFtZSwgJm5hbWUpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgX3JldHVybl92YWx1ZSA9IG9zX3N5c2NvbmZfaW1wbChtb2R1bGUsIG5hbWUpOworICAgIGlmICgoX3JldHVybl92YWx1ZSA9PSAtMSkgJiYgUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IFB5TG9uZ19Gcm9tTG9uZyhfcmV0dXJuX3ZhbHVlKTsKIAotICAgICAgICBlcnJubyA9IDA7Ci0gICAgICAgIHZhbHVlID0gc3lzY29uZihuYW1lKTsKLSAgICAgICAgaWYgKHZhbHVlID09IC0xICYmIGVycm5vICE9IDApCi0gICAgICAgICAgICBwb3NpeF9lcnJvcigpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICByZXN1bHQgPSBQeUxvbmdfRnJvbUxvbmcodmFsdWUpOwotICAgIH0KLSAgICByZXR1cm4gcmVzdWx0OworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOwogfQotI2VuZGlmCisKK3N0YXRpYyBsb25nCitvc19zeXNjb25mX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IG5hbWUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9N2IwNmRmZGM0NzI0MzFlNCBpbnB1dD0yNzllMzQzMGEzM2YyOWU0XSovCit7CisgICAgbG9uZyB2YWx1ZTsKKworICAgIGVycm5vID0gMDsKKyAgICB2YWx1ZSA9IHN5c2NvbmYobmFtZSk7CisgICAgaWYgKHZhbHVlID09IC0xICYmIGVycm5vICE9IDApCisgICAgICAgIHBvc2l4X2Vycm9yKCk7CisgICAgcmV0dXJuIHZhbHVlOworfQorI2VuZGlmIC8qIEhBVkVfU1lTQ09ORiAqLwogCiAKIC8qIFRoaXMgY29kZSBpcyB1c2VkIHRvIGVuc3VyZSB0aGF0IHRoZSB0YWJsZXMgb2YgY29uZmlndXJhdGlvbiB2YWx1ZSBuYW1lcwpAQCAtMTAzODIsMTMgKzE1MTY5LDM5IEBACiB9CiAKIAotUHlEb2NfU1RSVkFSKHBvc2l4X2Fib3J0X19kb2NfXywKLSJhYm9ydCgpIC0+IGRvZXMgbm90IHJldHVybiFcblxuXAotQWJvcnQgdGhlIGludGVycHJldGVyIGltbWVkaWF0ZWx5LiAgVGhpcyAnZHVtcHMgY29yZScgb3Igb3RoZXJ3aXNlIGZhaWxzXG5cCi1pbiB0aGUgaGFyZGVzdCB3YXkgcG9zc2libGUgb24gdGhlIGhvc3Rpbmcgb3BlcmF0aW5nIHN5c3RlbS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmFib3J0CisKK0Fib3J0IHRoZSBpbnRlcnByZXRlciBpbW1lZGlhdGVseS4KKworVGhpcyBmdW5jdGlvbiAnZHVtcHMgY29yZScgb3Igb3RoZXJ3aXNlIGZhaWxzIGluIHRoZSBoYXJkZXN0IHdheSBwb3NzaWJsZQorb24gdGhlIGhvc3Rpbmcgb3BlcmF0aW5nIHN5c3RlbS4gIFRoaXMgZnVuY3Rpb24gbmV2ZXIgcmV0dXJucy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2Fib3J0X19kb2NfXywKKyJhYm9ydCgkbW9kdWxlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiQWJvcnQgdGhlIGludGVycHJldGVyIGltbWVkaWF0ZWx5LlxuIgorIlxuIgorIlRoaXMgZnVuY3Rpb24gXCdkdW1wcyBjb3JlXCcgb3Igb3RoZXJ3aXNlIGZhaWxzIGluIHRoZSBoYXJkZXN0IHdheSBwb3NzaWJsZVxuIgorIm9uIHRoZSBob3N0aW5nIG9wZXJhdGluZyBzeXN0ZW0uICBUaGlzIGZ1bmN0aW9uIG5ldmVyIHJldHVybnMuIik7CisKKyNkZWZpbmUgT1NfQUJPUlRfTUVUSE9EREVGICAgIFwKKyAgICB7ImFib3J0IiwgKFB5Q0Z1bmN0aW9uKW9zX2Fib3J0LCBNRVRIX05PQVJHUywgb3NfYWJvcnRfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2Fib3J0KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqbm9hcmdzKQorb3NfYWJvcnRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2Fib3J0KFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIG9zX2Fib3J0X2ltcGwobW9kdWxlKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2Fib3J0X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1jZGVkMmNjOGM1NDUzZDNhIGlucHV0PWNmMmM3ZDk4YmM1MDQwNDddKi8KIHsKICAgICBhYm9ydCgpOwogICAgIC8qTk9UUkVBQ0hFRCovCkBAIC0xMDM5Nyw5ICsxNTIxMCwxMSBAQAogfQogCiAjaWZkZWYgTVNfV0lORE9XUworLyogQUMgMy41OiBjaGFuZ2UgdG8gcGF0aF90PyBidXQgdGhhdCBtaWdodCBjaGFuZ2UgZXhjZXB0aW9ucyAqLwogUHlEb2NfU1RSVkFSKHdpbjMyX3N0YXJ0ZmlsZV9fZG9jX18sCi0ic3RhcnRmaWxlKGZpbGVwYXRoIFssIG9wZXJhdGlvbl0pIC0gU3RhcnQgYSBmaWxlIHdpdGggaXRzIGFzc29jaWF0ZWRcblwKLWFwcGxpY2F0aW9uLlxuXAorInN0YXJ0ZmlsZShmaWxlcGF0aCBbLCBvcGVyYXRpb25dKVxuXAorXG5cCitTdGFydCBhIGZpbGUgd2l0aCBpdHMgYXNzb2NpYXRlZCBhcHBsaWNhdGlvbi5cblwKIFxuXAogV2hlbiBcIm9wZXJhdGlvblwiIGlzIG5vdCBzcGVjaWZpZWQgb3IgXCJvcGVuXCIsIHRoaXMgYWN0cyBsaWtlXG5cCiBkb3VibGUtY2xpY2tpbmcgdGhlIGZpbGUgaW4gRXhwbG9yZXIsIG9yIGdpdmluZyB0aGUgZmlsZSBuYW1lIGFzIGFuXG5cCkBAIC0xMDQxNiw2ICsxNTIzMSwzNyBAQAogYW4gYWJzb2x1dGUgcGF0aCwgbWFrZSBzdXJlIHRoZSBmaXJzdCBjaGFyYWN0ZXIgaXMgbm90IGEgc2xhc2ggKFwiL1wiKTtcblwKIHRoZSB1bmRlcmx5aW5nIFdpbjMyIFNoZWxsRXhlY3V0ZSBmdW5jdGlvbiBkb2Vzbid0IHdvcmsgaWYgaXQgaXMuIik7CiAKKy8qIEdyYWIgU2hlbGxFeGVjdXRlIGR5bmFtaWNhbGx5IGZyb20gc2hlbGwzMiAqLworc3RhdGljIGludCBoYXNfU2hlbGxFeGVjdXRlID0gLTE7CitzdGF0aWMgSElOU1RBTkNFIChDQUxMQkFDSyAqUHlfU2hlbGxFeGVjdXRlQSkoSFdORCwgTFBDU1RSLCBMUENTVFIsIExQQ1NUUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMUENTVFIsIElOVCk7CitzdGF0aWMgSElOU1RBTkNFIChDQUxMQkFDSyAqUHlfU2hlbGxFeGVjdXRlVykoSFdORCwgTFBDV1NUUiwgTFBDV1NUUiwgTFBDV1NUUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMUENXU1RSLCBJTlQpOworc3RhdGljIGludAorY2hlY2tfU2hlbGxFeGVjdXRlKCkKK3sKKyAgICBISU5TVEFOQ0UgaFNoZWxsMzI7CisKKyAgICAvKiBvbmx5IHJlY2hlY2sgKi8KKyAgICBpZiAoLTEgPT0gaGFzX1NoZWxsRXhlY3V0ZSkgeworICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgICAgIGhTaGVsbDMyID0gTG9hZExpYnJhcnlXKEwiU0hFTEwzMiIpOworICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgICAgICBpZiAoaFNoZWxsMzIpIHsKKyAgICAgICAgICAgICooRkFSUFJPQyopJlB5X1NoZWxsRXhlY3V0ZUEgPSBHZXRQcm9jQWRkcmVzcyhoU2hlbGwzMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlNoZWxsRXhlY3V0ZUEiKTsKKyAgICAgICAgICAgICooRkFSUFJPQyopJlB5X1NoZWxsRXhlY3V0ZVcgPSBHZXRQcm9jQWRkcmVzcyhoU2hlbGwzMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlNoZWxsRXhlY3V0ZVciKTsKKyAgICAgICAgICAgIGhhc19TaGVsbEV4ZWN1dGUgPSBQeV9TaGVsbEV4ZWN1dGVBICYmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfU2hlbGxFeGVjdXRlVzsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGhhc19TaGVsbEV4ZWN1dGUgPSAwOworICAgICAgICB9CisgICAgfQorICAgIHJldHVybiBoYXNfU2hlbGxFeGVjdXRlOworfQorCisKIHN0YXRpYyBQeU9iamVjdCAqCiB3aW4zMl9zdGFydGZpbGUoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewpAQCAtMTA0MjYsNiArMTUyNzIsMTQgQEAKICAgICBISU5TVEFOQ0UgcmM7CiAKICAgICBQeU9iamVjdCAqdW5pcGF0aCwgKnVvcGVyYXRpb24gPSBOVUxMOworCisgICAgaWYoIWNoZWNrX1NoZWxsRXhlY3V0ZSgpKSB7CisgICAgICAgIC8qIElmIHRoZSBPUyBkb2Vzbid0IGhhdmUgU2hlbGxFeGVjdXRlLCByZXR1cm4gYQorICAgICAgICAgICBOb3RJbXBsZW1lbnRlZEVycm9yLiAqLworICAgICAgICByZXR1cm4gUHlFcnJfRm9ybWF0KFB5RXhjX05vdEltcGxlbWVudGVkRXJyb3IsCisgICAgICAgICAgICAic3RhcnRmaWxlIG5vdCBhdmFpbGFibGUgb24gdGhpcyBwbGF0Zm9ybSIpOworICAgIH0KKwogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiVXxzOnN0YXJ0ZmlsZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICZ1bmlwYXRoLCAmb3BlcmF0aW9uKSkgewogICAgICAgICBQeUVycl9DbGVhcigpOwpAQCAtMTA0NTQsOCArMTUzMDgsOCBAQAogICAgICAgICB3b3BlcmF0aW9uID0gTlVMTDsKIAogICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICByYyA9IFNoZWxsRXhlY3V0ZVcoKEhXTkQpMCwgd29wZXJhdGlvbiwgd3BhdGgsCi0gICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIE5VTEwsIFNXX1NIT1dOT1JNQUwpOworICAgIHJjID0gUHlfU2hlbGxFeGVjdXRlVygoSFdORCkwLCB3b3BlcmF0aW9uLCB3cGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCwgU1dfU0hPV05PUk1BTCk7CiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKIAogICAgIFB5X1hERUNSRUYodW9wZXJhdGlvbik7CkBAIC0xMDQ3Nyw4ICsxNTMzMSw4IEBACiAgICAgfQogICAgIGZpbGVwYXRoID0gUHlCeXRlc19Bc1N0cmluZyhvZmlsZXBhdGgpOwogICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICByYyA9IFNoZWxsRXhlY3V0ZSgoSFdORCkwLCBvcGVyYXRpb24sIGZpbGVwYXRoLAotICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIE5VTEwsIFNXX1NIT1dOT1JNQUwpOworICAgIHJjID0gUHlfU2hlbGxFeGVjdXRlQSgoSFdORCkwLCBvcGVyYXRpb24sIGZpbGVwYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBOVUxMLCBTV19TSE9XTk9STUFMKTsKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogICAgIGlmIChyYyA8PSAoSElOU1RBTkNFKTMyKSB7CiAgICAgICAgIFB5T2JqZWN0ICplcnJ2YWwgPSB3aW4zMl9lcnJvcigic3RhcnRmaWxlIiwgZmlsZXBhdGgpOwpAQCAtMTA0ODksMTcgKzE1MzQzLDQ1IEBACiAgICAgUHlfSU5DUkVGKFB5X05vbmUpOwogICAgIHJldHVybiBQeV9Ob25lOwogfQotI2VuZGlmCisjZW5kaWYgLyogTVNfV0lORE9XUyAqLworCiAKICNpZmRlZiBIQVZFX0dFVExPQURBVkcKLVB5RG9jX1NUUlZBUihwb3NpeF9nZXRsb2FkYXZnX19kb2NfXywKLSJnZXRsb2FkYXZnKCkgLT4gKGZsb2F0LCBmbG9hdCwgZmxvYXQpXG5cblwKLVJldHVybiB0aGUgbnVtYmVyIG9mIHByb2Nlc3NlcyBpbiB0aGUgc3lzdGVtIHJ1biBxdWV1ZSBhdmVyYWdlZCBvdmVyXG5cCi10aGUgbGFzdCAxLCA1LCBhbmQgMTUgbWludXRlcyBvciByYWlzZXMgT1NFcnJvciBpZiB0aGUgbG9hZCBhdmVyYWdlXG5cCi13YXMgdW5vYnRhaW5hYmxlIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5nZXRsb2FkYXZnCisKK1JldHVybiBhdmVyYWdlIHJlY2VudCBzeXN0ZW0gbG9hZCBpbmZvcm1hdGlvbi4KKworUmV0dXJuIHRoZSBudW1iZXIgb2YgcHJvY2Vzc2VzIGluIHRoZSBzeXN0ZW0gcnVuIHF1ZXVlIGF2ZXJhZ2VkIG92ZXIKK3RoZSBsYXN0IDEsIDUsIGFuZCAxNSBtaW51dGVzIGFzIGEgdHVwbGUgb2YgdGhyZWUgZmxvYXRzLgorUmFpc2VzIE9TRXJyb3IgaWYgdGhlIGxvYWQgYXZlcmFnZSB3YXMgdW5vYnRhaW5hYmxlLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfZ2V0bG9hZGF2Z19fZG9jX18sCisiZ2V0bG9hZGF2ZygkbW9kdWxlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGF2ZXJhZ2UgcmVjZW50IHN5c3RlbSBsb2FkIGluZm9ybWF0aW9uLlxuIgorIlxuIgorIlJldHVybiB0aGUgbnVtYmVyIG9mIHByb2Nlc3NlcyBpbiB0aGUgc3lzdGVtIHJ1biBxdWV1ZSBhdmVyYWdlZCBvdmVyXG4iCisidGhlIGxhc3QgMSwgNSwgYW5kIDE1IG1pbnV0ZXMgYXMgYSB0dXBsZSBvZiB0aHJlZSBmbG9hdHMuXG4iCisiUmFpc2VzIE9TRXJyb3IgaWYgdGhlIGxvYWQgYXZlcmFnZSB3YXMgdW5vYnRhaW5hYmxlLiIpOworCisjZGVmaW5lIE9TX0dFVExPQURBVkdfTUVUSE9EREVGICAgIFwKKyAgICB7ImdldGxvYWRhdmciLCAoUHlDRnVuY3Rpb24pb3NfZ2V0bG9hZGF2ZywgTUVUSF9OT0FSR1MsIG9zX2dldGxvYWRhdmdfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2dldGxvYWRhdmcoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpub2FyZ3MpCitvc19nZXRsb2FkYXZnX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19nZXRsb2FkYXZnKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIG9zX2dldGxvYWRhdmdfaW1wbChtb2R1bGUpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZ2V0bG9hZGF2Z19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9Njc1OTNhOTI0NTdkNTVhZiBpbnB1dD0zZDZkODI2Yjc2ZDhhMzRlXSovCiB7CiAgICAgZG91YmxlIGxvYWRhdmdbM107CiAgICAgaWYgKGdldGxvYWRhdmcobG9hZGF2ZywgMykhPTMpIHsKQEAgLTEwNTA4LDcyICsxNTM5MCwxOTMgQEAKICAgICB9IGVsc2UKICAgICAgICAgcmV0dXJuIFB5X0J1aWxkVmFsdWUoImRkZCIsIGxvYWRhdmdbMF0sIGxvYWRhdmdbMV0sIGxvYWRhdmdbMl0pOwogfQotI2VuZGlmCisjZW5kaWYgLyogSEFWRV9HRVRMT0FEQVZHICovCiAKLVB5RG9jX1NUUlZBUihkZXZpY2VfZW5jb2RpbmdfX2RvY19fLAotImRldmljZV9lbmNvZGluZyhmZCkgLT4gc3RyXG5cblwKLVJldHVybiBhIHN0cmluZyBkZXNjcmliaW5nIHRoZSBlbmNvZGluZyBvZiB0aGUgZGV2aWNlXG5cCi1pZiB0aGUgb3V0cHV0IGlzIGEgdGVybWluYWw7IGVsc2UgcmV0dXJuIE5vbmUuIik7CisKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmRldmljZV9lbmNvZGluZworICAgIGZkOiBpbnQKKworUmV0dXJuIGEgc3RyaW5nIGRlc2NyaWJpbmcgdGhlIGVuY29kaW5nIG9mIGEgdGVybWluYWwncyBmaWxlIGRlc2NyaXB0b3IuCisKK1RoZSBmaWxlIGRlc2NyaXB0b3IgbXVzdCBiZSBhdHRhY2hlZCB0byBhIHRlcm1pbmFsLgorSWYgdGhlIGRldmljZSBpcyBub3QgYSB0ZXJtaW5hbCwgcmV0dXJuIE5vbmUuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19kZXZpY2VfZW5jb2RpbmdfX2RvY19fLAorImRldmljZV9lbmNvZGluZygkbW9kdWxlLCAvLCBmZClcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBhIHN0cmluZyBkZXNjcmliaW5nIHRoZSBlbmNvZGluZyBvZiBhIHRlcm1pbmFsXCdzIGZpbGUgZGVzY3JpcHRvci5cbiIKKyJcbiIKKyJUaGUgZmlsZSBkZXNjcmlwdG9yIG11c3QgYmUgYXR0YWNoZWQgdG8gYSB0ZXJtaW5hbC5cbiIKKyJJZiB0aGUgZGV2aWNlIGlzIG5vdCBhIHRlcm1pbmFsLCByZXR1cm4gTm9uZS4iKTsKKworI2RlZmluZSBPU19ERVZJQ0VfRU5DT0RJTkdfTUVUSE9EREVGICAgIFwKKyAgICB7ImRldmljZV9lbmNvZGluZyIsIChQeUNGdW5jdGlvbilvc19kZXZpY2VfZW5jb2RpbmcsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc19kZXZpY2VfZW5jb2RpbmdfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLWRldmljZV9lbmNvZGluZyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19kZXZpY2VfZW5jb2RpbmdfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZGV2aWNlX2VuY29kaW5nKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogeworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsiZmQiLCBOVUxMfTsKICAgICBpbnQgZmQ7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImk6ZGV2aWNlX2VuY29kaW5nIiwgJmZkKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiaTpkZXZpY2VfZW5jb2RpbmciLCBfa2V5d29yZHMsCisgICAgICAgICZmZCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19kZXZpY2VfZW5jb2RpbmdfaW1wbChtb2R1bGUsIGZkKTsKIAorZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZGV2aWNlX2VuY29kaW5nX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWU5ZjgyNzRkNDJmNWNjZTMgaW5wdXQ9OWUxZDRhNDJiNjZkZjMxMl0qLworewogICAgIHJldHVybiBfUHlfZGV2aWNlX2VuY29kaW5nKGZkKTsKIH0KIAotI2lmZGVmIEhBVkVfU0VUUkVTVUlECi1QeURvY19TVFJWQVIocG9zaXhfc2V0cmVzdWlkX19kb2NfXywKLSJzZXRyZXN1aWQocnVpZCwgZXVpZCwgc3VpZClcblxuXAotU2V0IHRoZSBjdXJyZW50IHByb2Nlc3MncyByZWFsLCBlZmZlY3RpdmUsIGFuZCBzYXZlZCB1c2VyIGlkcy4iKTsKIAotc3RhdGljIFB5T2JqZWN0KgotcG9zaXhfc2V0cmVzdWlkIChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCisjaWZkZWYgSEFWRV9TRVRSRVNVSUQKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnNldHJlc3VpZAorCisgICAgcnVpZDogdWlkX3QKKyAgICBldWlkOiB1aWRfdAorICAgIHN1aWQ6IHVpZF90CisgICAgLworCitTZXQgdGhlIGN1cnJlbnQgcHJvY2VzcydzIHJlYWwsIGVmZmVjdGl2ZSwgYW5kIHNhdmVkIHVzZXIgaWRzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfc2V0cmVzdWlkX19kb2NfXywKKyJzZXRyZXN1aWQoJG1vZHVsZSwgcnVpZCwgZXVpZCwgc3VpZCwgLylcbiIKKyItLVxuIgorIlxuIgorIlNldCB0aGUgY3VycmVudCBwcm9jZXNzXCdzIHJlYWwsIGVmZmVjdGl2ZSwgYW5kIHNhdmVkIHVzZXIgaWRzLiIpOworCisjZGVmaW5lIE9TX1NFVFJFU1VJRF9NRVRIT0RERUYgICAgXAorICAgIHsic2V0cmVzdWlkIiwgKFB5Q0Z1bmN0aW9uKW9zX3NldHJlc3VpZCwgTUVUSF9WQVJBUkdTLCBvc19zZXRyZXN1aWRfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NldHJlc3VpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHVpZF90IHJ1aWQsIHVpZF90IGV1aWQsIHVpZF90IHN1aWQpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2V0cmVzdWlkKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogewotICAgIC8qIFdlIGFzc3VtZSB1aWRfdCBpcyBubyBsYXJnZXIgdGhhbiBhIGxvbmcuICovCi0gICAgdWlkX3QgcnVpZCwgZXVpZCwgc3VpZDsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk8mTyZPJjpzZXRyZXN1aWQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICBfUHlfVWlkX0NvbnZlcnRlciwgJnJ1aWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIF9QeV9VaWRfQ29udmVydGVyLCAmZXVpZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgX1B5X1VpZF9Db252ZXJ0ZXIsICZzdWlkKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgdWlkX3QgcnVpZDsKKyAgICB1aWRfdCBldWlkOworICAgIHVpZF90IHN1aWQ7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIk8mTyZPJjpzZXRyZXN1aWQiLAorICAgICAgICBfUHlfVWlkX0NvbnZlcnRlciwgJnJ1aWQsIF9QeV9VaWRfQ29udmVydGVyLCAmZXVpZCwgX1B5X1VpZF9Db252ZXJ0ZXIsICZzdWlkKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3NldHJlc3VpZF9pbXBsKG1vZHVsZSwgcnVpZCwgZXVpZCwgc3VpZCk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NldHJlc3VpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHVpZF90IHJ1aWQsIHVpZF90IGV1aWQsIHVpZF90IHN1aWQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MmUzNDU3Y2ZlN2NkMWY5NCBpbnB1dD05ZTMzY2I3OWE4Mjc5MmYzXSovCit7CiAgICAgaWYgKHNldHJlc3VpZChydWlkLCBldWlkLCBzdWlkKSA8IDApCiAgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwogICAgIFB5X1JFVFVSTl9OT05FOwogfQotI2VuZGlmCisjZW5kaWYgLyogSEFWRV9TRVRSRVNVSUQgKi8KKwogCiAjaWZkZWYgSEFWRV9TRVRSRVNHSUQKLVB5RG9jX1NUUlZBUihwb3NpeF9zZXRyZXNnaWRfX2RvY19fLAotInNldHJlc2dpZChyZ2lkLCBlZ2lkLCBzZ2lkKVxuXG5cCi1TZXQgdGhlIGN1cnJlbnQgcHJvY2VzcydzIHJlYWwsIGVmZmVjdGl2ZSwgYW5kIHNhdmVkIGdyb3VwIGlkcy4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnNldHJlc2dpZAogCi1zdGF0aWMgUHlPYmplY3QqCi1wb3NpeF9zZXRyZXNnaWQgKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKKyAgICByZ2lkOiBnaWRfdAorICAgIGVnaWQ6IGdpZF90CisgICAgc2dpZDogZ2lkX3QKKyAgICAvCisKK1NldCB0aGUgY3VycmVudCBwcm9jZXNzJ3MgcmVhbCwgZWZmZWN0aXZlLCBhbmQgc2F2ZWQgZ3JvdXAgaWRzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfc2V0cmVzZ2lkX19kb2NfXywKKyJzZXRyZXNnaWQoJG1vZHVsZSwgcmdpZCwgZWdpZCwgc2dpZCwgLylcbiIKKyItLVxuIgorIlxuIgorIlNldCB0aGUgY3VycmVudCBwcm9jZXNzXCdzIHJlYWwsIGVmZmVjdGl2ZSwgYW5kIHNhdmVkIGdyb3VwIGlkcy4iKTsKKworI2RlZmluZSBPU19TRVRSRVNHSURfTUVUSE9EREVGICAgIFwKKyAgICB7InNldHJlc2dpZCIsIChQeUNGdW5jdGlvbilvc19zZXRyZXNnaWQsIE1FVEhfVkFSQVJHUywgb3Nfc2V0cmVzZ2lkX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zZXRyZXNnaWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBnaWRfdCByZ2lkLCBnaWRfdCBlZ2lkLCBnaWRfdCBzZ2lkKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NldHJlc2dpZChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBnaWRfdCByZ2lkLCBlZ2lkLCBzZ2lkOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTyZPJk8mOnNldHJlc2dpZCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIF9QeV9HaWRfQ29udmVydGVyLCAmcmdpZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgX1B5X0dpZF9Db252ZXJ0ZXIsICZlZ2lkLAotICAgICAgICAgICAgICAgICAgICAgICAgICBfUHlfR2lkX0NvbnZlcnRlciwgJnNnaWQpKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBnaWRfdCByZ2lkOworICAgIGdpZF90IGVnaWQ7CisgICAgZ2lkX3Qgc2dpZDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiTyZPJk8mOnNldHJlc2dpZCIsCisgICAgICAgIF9QeV9HaWRfQ29udmVydGVyLCAmcmdpZCwgX1B5X0dpZF9Db252ZXJ0ZXIsICZlZ2lkLCBfUHlfR2lkX0NvbnZlcnRlciwgJnNnaWQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3Nfc2V0cmVzZ2lkX2ltcGwobW9kdWxlLCByZ2lkLCBlZ2lkLCBzZ2lkKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2V0cmVzZ2lkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgZ2lkX3QgcmdpZCwgZ2lkX3QgZWdpZCwgZ2lkX3Qgc2dpZCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD04YTdlZTZjMWYyNDgyMzYyIGlucHV0PTMzZTllMDc4NWVmNDI2YjFdKi8KK3sKICAgICBpZiAoc2V0cmVzZ2lkKHJnaWQsIGVnaWQsIHNnaWQpIDwgMCkKICAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CiAgICAgUHlfUkVUVVJOX05PTkU7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBIQVZFX1NFVFJFU0dJRCAqLworCiAKICNpZmRlZiBIQVZFX0dFVFJFU1VJRAotUHlEb2NfU1RSVkFSKHBvc2l4X2dldHJlc3VpZF9fZG9jX18sCi0iZ2V0cmVzdWlkKCkgLT4gKHJ1aWQsIGV1aWQsIHN1aWQpXG5cblwKLUdldCB0dXBsZSBvZiB0aGUgY3VycmVudCBwcm9jZXNzJ3MgcmVhbCwgZWZmZWN0aXZlLCBhbmQgc2F2ZWQgdXNlciBpZHMuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5nZXRyZXN1aWQKIAotc3RhdGljIFB5T2JqZWN0KgotcG9zaXhfZ2V0cmVzdWlkIChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKm5vYXJncykKK1JldHVybiBhIHR1cGxlIG9mIHRoZSBjdXJyZW50IHByb2Nlc3MncyByZWFsLCBlZmZlY3RpdmUsIGFuZCBzYXZlZCB1c2VyIGlkcy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2dldHJlc3VpZF9fZG9jX18sCisiZ2V0cmVzdWlkKCRtb2R1bGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gYSB0dXBsZSBvZiB0aGUgY3VycmVudCBwcm9jZXNzXCdzIHJlYWwsIGVmZmVjdGl2ZSwgYW5kIHNhdmVkIHVzZXIgaWRzLiIpOworCisjZGVmaW5lIE9TX0dFVFJFU1VJRF9NRVRIT0RERUYgICAgXAorICAgIHsiZ2V0cmVzdWlkIiwgKFB5Q0Z1bmN0aW9uKW9zX2dldHJlc3VpZCwgTUVUSF9OT0FSR1MsIG9zX2dldHJlc3VpZF9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZ2V0cmVzdWlkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19nZXRyZXN1aWQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gb3NfZ2V0cmVzdWlkX2ltcGwobW9kdWxlKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2dldHJlc3VpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZDA3ODY2ODZhNmVmMTMyMCBpbnB1dD00MWNjZmE4ZTFmNjUxN2FkXSovCiB7CiAgICAgdWlkX3QgcnVpZCwgZXVpZCwgc3VpZDsKICAgICBpZiAoZ2V0cmVzdWlkKCZydWlkLCAmZXVpZCwgJnN1aWQpIDwgMCkKQEAgLTEwNTgyLDU5ICsxNTU4NSwxMTYgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfUHlMb25nX0Zyb21VaWQoZXVpZCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX1B5TG9uZ19Gcm9tVWlkKHN1aWQpKTsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIEhBVkVfR0VUUkVTVUlEICovCisKIAogI2lmZGVmIEhBVkVfR0VUUkVTR0lECi1QeURvY19TVFJWQVIocG9zaXhfZ2V0cmVzZ2lkX19kb2NfXywKLSJnZXRyZXNnaWQoKSAtPiAocmdpZCwgZWdpZCwgc2dpZClcblxuXAotR2V0IHR1cGxlIG9mIHRoZSBjdXJyZW50IHByb2Nlc3MncyByZWFsLCBlZmZlY3RpdmUsIGFuZCBzYXZlZCBncm91cCBpZHMuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5nZXRyZXNnaWQKIAotc3RhdGljIFB5T2JqZWN0KgotcG9zaXhfZ2V0cmVzZ2lkIChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKm5vYXJncykKK1JldHVybiBhIHR1cGxlIG9mIHRoZSBjdXJyZW50IHByb2Nlc3MncyByZWFsLCBlZmZlY3RpdmUsIGFuZCBzYXZlZCBncm91cCBpZHMuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19nZXRyZXNnaWRfX2RvY19fLAorImdldHJlc2dpZCgkbW9kdWxlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGEgdHVwbGUgb2YgdGhlIGN1cnJlbnQgcHJvY2Vzc1wncyByZWFsLCBlZmZlY3RpdmUsIGFuZCBzYXZlZCBncm91cCBpZHMuIik7CisKKyNkZWZpbmUgT1NfR0VUUkVTR0lEX01FVEhPRERFRiAgICBcCisgICAgeyJnZXRyZXNnaWQiLCAoUHlDRnVuY3Rpb24pb3NfZ2V0cmVzZ2lkLCBNRVRIX05PQVJHUywgb3NfZ2V0cmVzZ2lkX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19nZXRyZXNnaWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2dldHJlc2dpZChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQogewotICAgIHVpZF90IHJnaWQsIGVnaWQsIHNnaWQ7CisgICAgcmV0dXJuIG9zX2dldHJlc2dpZF9pbXBsKG1vZHVsZSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19nZXRyZXNnaWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTA1MjQ5YWM3OTVmYTc1OWYgaW5wdXQ9NTE3ZTY4ZGI5Y2EzMmRmNl0qLworeworICAgIGdpZF90IHJnaWQsIGVnaWQsIHNnaWQ7CiAgICAgaWYgKGdldHJlc2dpZCgmcmdpZCwgJmVnaWQsICZzZ2lkKSA8IDApCiAgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwogICAgIHJldHVybiBQeV9CdWlsZFZhbHVlKCIoTk5OKSIsIF9QeUxvbmdfRnJvbUdpZChyZ2lkKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfUHlMb25nX0Zyb21HaWQoZWdpZCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX1B5TG9uZ19Gcm9tR2lkKHNnaWQpKTsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIEhBVkVfR0VUUkVTR0lEICovCisKIAogI2lmZGVmIFVTRV9YQVRUUlMKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmdldHhhdHRyCiAKLVB5RG9jX1NUUlZBUihwb3NpeF9nZXR4YXR0cl9fZG9jX18sCi0iZ2V0eGF0dHIocGF0aCwgYXR0cmlidXRlLCAqLCBmb2xsb3dfc3ltbGlua3M9VHJ1ZSkgLT4gdmFsdWVcblxuXAotUmV0dXJuIHRoZSB2YWx1ZSBvZiBleHRlbmRlZCBhdHRyaWJ1dGUgYXR0cmlidXRlIG9uIHBhdGguXG5cCi1cblwKLXBhdGggbWF5IGJlIGVpdGhlciBhIHN0cmluZyBvciBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvci5cblwKLUlmIGZvbGxvd19zeW1saW5rcyBpcyBGYWxzZSwgYW5kIHRoZSBsYXN0IGVsZW1lbnQgb2YgdGhlIHBhdGggaXMgYSBzeW1ib2xpY1xuXAotICBsaW5rLCBnZXR4YXR0ciB3aWxsIGV4YW1pbmUgdGhlIHN5bWJvbGljIGxpbmsgaXRzZWxmIGluc3RlYWQgb2YgdGhlIGZpbGVcblwKLSAgdGhlIGxpbmsgcG9pbnRzIHRvLiIpOworICAgIHBhdGg6IHBhdGhfdChhbGxvd19mZD1UcnVlKQorICAgIGF0dHJpYnV0ZTogcGF0aF90CisgICAgKgorICAgIGZvbGxvd19zeW1saW5rczogYm9vbCA9IFRydWUKKworUmV0dXJuIHRoZSB2YWx1ZSBvZiBleHRlbmRlZCBhdHRyaWJ1dGUgYXR0cmlidXRlIG9uIHBhdGguCisKK3BhdGggbWF5IGJlIGVpdGhlciBhIHN0cmluZyBvciBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvci4KK0lmIGZvbGxvd19zeW1saW5rcyBpcyBGYWxzZSwgYW5kIHRoZSBsYXN0IGVsZW1lbnQgb2YgdGhlIHBhdGggaXMgYSBzeW1ib2xpYworICBsaW5rLCBnZXR4YXR0ciB3aWxsIGV4YW1pbmUgdGhlIHN5bWJvbGljIGxpbmsgaXRzZWxmIGluc3RlYWQgb2YgdGhlIGZpbGUKKyAgdGhlIGxpbmsgcG9pbnRzIHRvLgorCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19nZXR4YXR0cl9fZG9jX18sCisiZ2V0eGF0dHIoJG1vZHVsZSwgLywgcGF0aCwgYXR0cmlidXRlLCAqLCBmb2xsb3dfc3ltbGlua3M9VHJ1ZSlcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgdmFsdWUgb2YgZXh0ZW5kZWQgYXR0cmlidXRlIGF0dHJpYnV0ZSBvbiBwYXRoLlxuIgorIlxuIgorInBhdGggbWF5IGJlIGVpdGhlciBhIHN0cmluZyBvciBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvci5cbiIKKyJJZiBmb2xsb3dfc3ltbGlua3MgaXMgRmFsc2UsIGFuZCB0aGUgbGFzdCBlbGVtZW50IG9mIHRoZSBwYXRoIGlzIGEgc3ltYm9saWNcbiIKKyIgIGxpbmssIGdldHhhdHRyIHdpbGwgZXhhbWluZSB0aGUgc3ltYm9saWMgbGluayBpdHNlbGYgaW5zdGVhZCBvZiB0aGUgZmlsZVxuIgorIiAgdGhlIGxpbmsgcG9pbnRzIHRvLiIpOworCisjZGVmaW5lIE9TX0dFVFhBVFRSX01FVEhPRERFRiAgICBcCisgICAgeyJnZXR4YXR0ciIsIChQeUNGdW5jdGlvbilvc19nZXR4YXR0ciwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX2dldHhhdHRyX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9nZXR4YXR0cihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCitvc19nZXR4YXR0cl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgcGF0aF90ICphdHRyaWJ1dGUsIGludCBmb2xsb3dfc3ltbGlua3MpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZ2V0eGF0dHIoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgcGF0aF90IHBhdGg7Ci0gICAgcGF0aF90IGF0dHJpYnV0ZTsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InBhdGgiLCAiYXR0cmlidXRlIiwgImZvbGxvd19zeW1saW5rcyIsIE5VTEx9OworICAgIHBhdGhfdCBwYXRoID0gUEFUSF9UX0lOSVRJQUxJWkUoImdldHhhdHRyIiwgInBhdGgiLCAwLCAxKTsKKyAgICBwYXRoX3QgYXR0cmlidXRlID0gUEFUSF9UX0lOSVRJQUxJWkUoImdldHhhdHRyIiwgImF0dHJpYnV0ZSIsIDAsIDApOwogICAgIGludCBmb2xsb3dfc3ltbGlua3MgPSAxOwotICAgIFB5T2JqZWN0ICpidWZmZXIgPSBOVUxMOwotICAgIGludCBpOwotICAgIHN0YXRpYyBjaGFyICprZXl3b3Jkc1tdID0geyJwYXRoIiwgImF0dHJpYnV0ZSIsICJmb2xsb3dfc3ltbGlua3MiLCBOVUxMfTsKIAotICAgIG1lbXNldCgmcGF0aCwgMCwgc2l6ZW9mKHBhdGgpKTsKLSAgICBtZW1zZXQoJmF0dHJpYnV0ZSwgMCwgc2l6ZW9mKGF0dHJpYnV0ZSkpOwotICAgIHBhdGguZnVuY3Rpb25fbmFtZSA9ICJnZXR4YXR0ciI7Ci0gICAgYXR0cmlidXRlLmZ1bmN0aW9uX25hbWUgPSAiZ2V0eGF0dHIiOwotICAgIHBhdGguYWxsb3dfZmQgPSAxOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgIk8mTyZ8JHA6Z2V0eGF0dHIiLCBrZXl3b3JkcywKLSAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLAotICAgICAgICBwYXRoX2NvbnZlcnRlciwgJmF0dHJpYnV0ZSwKLSAgICAgICAgJmZvbGxvd19zeW1saW5rcykpCi0gICAgICAgIHJldHVybiBOVUxMOwotCi0gICAgaWYgKGZkX2FuZF9mb2xsb3dfc3ltbGlua3NfaW52YWxpZCgiZ2V0eGF0dHIiLCBwYXRoLmZkLCBmb2xsb3dfc3ltbGlua3MpKQorICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgIk8mTyZ8JHA6Z2V0eGF0dHIiLCBfa2V5d29yZHMsCisgICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwgcGF0aF9jb252ZXJ0ZXIsICZhdHRyaWJ1dGUsICZmb2xsb3dfc3ltbGlua3MpKQogICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfZ2V0eGF0dHJfaW1wbChtb2R1bGUsICZwYXRoLCAmYXR0cmlidXRlLCBmb2xsb3dfc3ltbGlua3MpOworCitleGl0OgorICAgIC8qIENsZWFudXAgZm9yIHBhdGggKi8KKyAgICBwYXRoX2NsZWFudXAoJnBhdGgpOworICAgIC8qIENsZWFudXAgZm9yIGF0dHJpYnV0ZSAqLworICAgIHBhdGhfY2xlYW51cCgmYXR0cmlidXRlKTsKKworICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19nZXR4YXR0cl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgcGF0aF90ICphdHRyaWJ1dGUsIGludCBmb2xsb3dfc3ltbGlua3MpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YmJjOTQ1NGZlMmI5ZWE4NiBpbnB1dD04YzhlYTNiYWI3OGQ4OWMyXSovCit7CisgICAgUHlfc3NpemVfdCBpOworICAgIFB5T2JqZWN0ICpidWZmZXIgPSBOVUxMOworCisgICAgaWYgKGZkX2FuZF9mb2xsb3dfc3ltbGlua3NfaW52YWxpZCgiZ2V0eGF0dHIiLCBwYXRoLT5mZCwgZm9sbG93X3N5bWxpbmtzKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICBmb3IgKGkgPSAwOyA7IGkrKykgewogICAgICAgICB2b2lkICpwdHI7CkBAIC0xMDY0MiwzMCArMTU3MDIsMjkgQEAKICAgICAgICAgc3RhdGljIFB5X3NzaXplX3QgYnVmZmVyX3NpemVzW10gPSB7MTI4LCBYQVRUUl9TSVpFX01BWCwgMH07CiAgICAgICAgIFB5X3NzaXplX3QgYnVmZmVyX3NpemUgPSBidWZmZXJfc2l6ZXNbaV07CiAgICAgICAgIGlmICghYnVmZmVyX3NpemUpIHsKLSAgICAgICAgICAgIHBhdGhfZXJyb3IoJnBhdGgpOwotICAgICAgICAgICAgZ290byBleGl0OworICAgICAgICAgICAgcGF0aF9lcnJvcihwYXRoKTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICB9CiAgICAgICAgIGJ1ZmZlciA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoTlVMTCwgYnVmZmVyX3NpemUpOwogICAgICAgICBpZiAoIWJ1ZmZlcikKLSAgICAgICAgICAgIGdvdG8gZXhpdDsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICBwdHIgPSBQeUJ5dGVzX0FTX1NUUklORyhidWZmZXIpOwogCiAgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFM7Ci0gICAgICAgIGlmIChwYXRoLmZkID49IDApCi0gICAgICAgICAgICByZXN1bHQgPSBmZ2V0eGF0dHIocGF0aC5mZCwgYXR0cmlidXRlLm5hcnJvdywgcHRyLCBidWZmZXJfc2l6ZSk7CisgICAgICAgIGlmIChwYXRoLT5mZCA+PSAwKQorICAgICAgICAgICAgcmVzdWx0ID0gZmdldHhhdHRyKHBhdGgtPmZkLCBhdHRyaWJ1dGUtPm5hcnJvdywgcHRyLCBidWZmZXJfc2l6ZSk7CiAgICAgICAgIGVsc2UgaWYgKGZvbGxvd19zeW1saW5rcykKLSAgICAgICAgICAgIHJlc3VsdCA9IGdldHhhdHRyKHBhdGgubmFycm93LCBhdHRyaWJ1dGUubmFycm93LCBwdHIsIGJ1ZmZlcl9zaXplKTsKKyAgICAgICAgICAgIHJlc3VsdCA9IGdldHhhdHRyKHBhdGgtPm5hcnJvdywgYXR0cmlidXRlLT5uYXJyb3csIHB0ciwgYnVmZmVyX3NpemUpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICByZXN1bHQgPSBsZ2V0eGF0dHIocGF0aC5uYXJyb3csIGF0dHJpYnV0ZS5uYXJyb3csIHB0ciwgYnVmZmVyX3NpemUpOworICAgICAgICAgICAgcmVzdWx0ID0gbGdldHhhdHRyKHBhdGgtPm5hcnJvdywgYXR0cmlidXRlLT5uYXJyb3csIHB0ciwgYnVmZmVyX3NpemUpOwogICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUzsKIAogICAgICAgICBpZiAocmVzdWx0IDwgMCkgewogICAgICAgICAgICAgUHlfREVDUkVGKGJ1ZmZlcik7Ci0gICAgICAgICAgICBidWZmZXIgPSBOVUxMOwogICAgICAgICAgICAgaWYgKGVycm5vID09IEVSQU5HRSkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIHBhdGhfZXJyb3IoJnBhdGgpOwotICAgICAgICAgICAgZ290byBleGl0OworICAgICAgICAgICAgcGF0aF9lcnJvcihwYXRoKTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKHJlc3VsdCAhPSBidWZmZXJfc2l6ZSkgewpAQCAtMTA2NzUsMTY4ICsxNTczNCwyNTkgQEAKICAgICAgICAgYnJlYWs7CiAgICAgfQogCi1leGl0OgotICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7Ci0gICAgcGF0aF9jbGVhbnVwKCZhdHRyaWJ1dGUpOwogICAgIHJldHVybiBidWZmZXI7CiB9CiAKLVB5RG9jX1NUUlZBUihwb3NpeF9zZXR4YXR0cl9fZG9jX18sCi0ic2V0eGF0dHIocGF0aCwgYXR0cmlidXRlLCB2YWx1ZSwgZmxhZ3M9MCwgKiwgZm9sbG93X3N5bWxpbmtzPVRydWUpXG5cblwKLVNldCBleHRlbmRlZCBhdHRyaWJ1dGUgYXR0cmlidXRlIG9uIHBhdGggdG8gdmFsdWUuXG5cCi1wYXRoIG1heSBiZSBlaXRoZXIgYSBzdHJpbmcgb3IgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuXG5cCi1JZiBmb2xsb3dfc3ltbGlua3MgaXMgRmFsc2UsIGFuZCB0aGUgbGFzdCBlbGVtZW50IG9mIHRoZSBwYXRoIGlzIGEgc3ltYm9saWNcblwKLSAgbGluaywgc2V0eGF0dHIgd2lsbCBtb2RpZnkgdGhlIHN5bWJvbGljIGxpbmsgaXRzZWxmIGluc3RlYWQgb2YgdGhlIGZpbGVcblwKLSAgdGhlIGxpbmsgcG9pbnRzIHRvLiIpOworCisvKltjbGluaWMgaW5wdXRdCitvcy5zZXR4YXR0cgorCisgICAgcGF0aDogcGF0aF90KGFsbG93X2ZkPVRydWUpCisgICAgYXR0cmlidXRlOiBwYXRoX3QKKyAgICB2YWx1ZTogUHlfYnVmZmVyCisgICAgZmxhZ3M6IGludCA9IDAKKyAgICAqCisgICAgZm9sbG93X3N5bWxpbmtzOiBib29sID0gVHJ1ZQorCitTZXQgZXh0ZW5kZWQgYXR0cmlidXRlIGF0dHJpYnV0ZSBvbiBwYXRoIHRvIHZhbHVlLgorCitwYXRoIG1heSBiZSBlaXRoZXIgYSBzdHJpbmcgb3IgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuCitJZiBmb2xsb3dfc3ltbGlua3MgaXMgRmFsc2UsIGFuZCB0aGUgbGFzdCBlbGVtZW50IG9mIHRoZSBwYXRoIGlzIGEgc3ltYm9saWMKKyAgbGluaywgc2V0eGF0dHIgd2lsbCBtb2RpZnkgdGhlIHN5bWJvbGljIGxpbmsgaXRzZWxmIGluc3RlYWQgb2YgdGhlIGZpbGUKKyAgdGhlIGxpbmsgcG9pbnRzIHRvLgorCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19zZXR4YXR0cl9fZG9jX18sCisic2V0eGF0dHIoJG1vZHVsZSwgLywgcGF0aCwgYXR0cmlidXRlLCB2YWx1ZSwgZmxhZ3M9MCwgKixcbiIKKyIgICAgICAgICBmb2xsb3dfc3ltbGlua3M9VHJ1ZSlcbiIKKyItLVxuIgorIlxuIgorIlNldCBleHRlbmRlZCBhdHRyaWJ1dGUgYXR0cmlidXRlIG9uIHBhdGggdG8gdmFsdWUuXG4iCisiXG4iCisicGF0aCBtYXkgYmUgZWl0aGVyIGEgc3RyaW5nIG9yIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLlxuIgorIklmIGZvbGxvd19zeW1saW5rcyBpcyBGYWxzZSwgYW5kIHRoZSBsYXN0IGVsZW1lbnQgb2YgdGhlIHBhdGggaXMgYSBzeW1ib2xpY1xuIgorIiAgbGluaywgc2V0eGF0dHIgd2lsbCBtb2RpZnkgdGhlIHN5bWJvbGljIGxpbmsgaXRzZWxmIGluc3RlYWQgb2YgdGhlIGZpbGVcbiIKKyIgIHRoZSBsaW5rIHBvaW50cyB0by4iKTsKKworI2RlZmluZSBPU19TRVRYQVRUUl9NRVRIT0RERUYgICAgXAorICAgIHsic2V0eGF0dHIiLCAoUHlDRnVuY3Rpb24pb3Nfc2V0eGF0dHIsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc19zZXR4YXR0cl9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfc2V0eGF0dHIoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQorb3Nfc2V0eGF0dHJfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIHBhdGhfdCAqYXR0cmlidXRlLCBQeV9idWZmZXIgKnZhbHVlLCBpbnQgZmxhZ3MsIGludCBmb2xsb3dfc3ltbGlua3MpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2V0eGF0dHIoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgcGF0aF90IHBhdGg7Ci0gICAgcGF0aF90IGF0dHJpYnV0ZTsKLSAgICBQeV9idWZmZXIgdmFsdWU7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJwYXRoIiwgImF0dHJpYnV0ZSIsICJ2YWx1ZSIsICJmbGFncyIsICJmb2xsb3dfc3ltbGlua3MiLCBOVUxMfTsKKyAgICBwYXRoX3QgcGF0aCA9IFBBVEhfVF9JTklUSUFMSVpFKCJzZXR4YXR0ciIsICJwYXRoIiwgMCwgMSk7CisgICAgcGF0aF90IGF0dHJpYnV0ZSA9IFBBVEhfVF9JTklUSUFMSVpFKCJzZXR4YXR0ciIsICJhdHRyaWJ1dGUiLCAwLCAwKTsKKyAgICBQeV9idWZmZXIgdmFsdWUgPSB7TlVMTCwgTlVMTH07CiAgICAgaW50IGZsYWdzID0gMDsKICAgICBpbnQgZm9sbG93X3N5bWxpbmtzID0gMTsKLSAgICBpbnQgcmVzdWx0OwotICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwotICAgIHN0YXRpYyBjaGFyICprZXl3b3Jkc1tdID0geyJwYXRoIiwgImF0dHJpYnV0ZSIsICJ2YWx1ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZsYWdzIiwgImZvbGxvd19zeW1saW5rcyIsIE5VTEx9OwogCi0gICAgbWVtc2V0KCZwYXRoLCAwLCBzaXplb2YocGF0aCkpOwotICAgIHBhdGguZnVuY3Rpb25fbmFtZSA9ICJzZXR4YXR0ciI7Ci0gICAgcGF0aC5hbGxvd19mZCA9IDE7Ci0gICAgbWVtc2V0KCZhdHRyaWJ1dGUsIDAsIHNpemVvZihhdHRyaWJ1dGUpKTsKLSAgICBtZW1zZXQoJnZhbHVlLCAwLCBzaXplb2YodmFsdWUpKTsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsICJPJk8meSp8aSRwOnNldHhhdHRyIiwKLSAgICAgICAga2V5d29yZHMsCi0gICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwKLSAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZhdHRyaWJ1dGUsCi0gICAgICAgICZ2YWx1ZSwgJmZsYWdzLAotICAgICAgICAmZm9sbG93X3N5bWxpbmtzKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KLSAgICBpZiAoZmRfYW5kX2ZvbGxvd19zeW1saW5rc19pbnZhbGlkKCJzZXR4YXR0ciIsIHBhdGguZmQsIGZvbGxvd19zeW1saW5rcykpCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiTyZPJnkqfGkkcDpzZXR4YXR0ciIsIF9rZXl3b3JkcywKKyAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLCBwYXRoX2NvbnZlcnRlciwgJmF0dHJpYnV0ZSwgJnZhbHVlLCAmZmxhZ3MsICZmb2xsb3dfc3ltbGlua3MpKQogICAgICAgICBnb3RvIGV4aXQ7Ci0KLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTOwotICAgIGlmIChwYXRoLmZkID4gLTEpCi0gICAgICAgIHJlc3VsdCA9IGZzZXR4YXR0cihwYXRoLmZkLCBhdHRyaWJ1dGUubmFycm93LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUuYnVmLCB2YWx1ZS5sZW4sIGZsYWdzKTsKLSAgICBlbHNlIGlmIChmb2xsb3dfc3ltbGlua3MpCi0gICAgICAgIHJlc3VsdCA9IHNldHhhdHRyKHBhdGgubmFycm93LCBhdHRyaWJ1dGUubmFycm93LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUuYnVmLCB2YWx1ZS5sZW4sIGZsYWdzKTsKLSAgICBlbHNlCi0gICAgICAgIHJlc3VsdCA9IGxzZXR4YXR0cihwYXRoLm5hcnJvdywgYXR0cmlidXRlLm5hcnJvdywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLmJ1ZiwgdmFsdWUubGVuLCBmbGFncyk7Ci0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFM7Ci0KLSAgICBpZiAocmVzdWx0KSB7Ci0gICAgICAgIHJldHVybl92YWx1ZSA9IHBhdGhfZXJyb3IoJnBhdGgpOwotICAgICAgICBnb3RvIGV4aXQ7Ci0gICAgfQotCi0gICAgcmV0dXJuX3ZhbHVlID0gUHlfTm9uZTsKLSAgICBQeV9JTkNSRUYocmV0dXJuX3ZhbHVlKTsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19zZXR4YXR0cl9pbXBsKG1vZHVsZSwgJnBhdGgsICZhdHRyaWJ1dGUsICZ2YWx1ZSwgZmxhZ3MsIGZvbGxvd19zeW1saW5rcyk7CiAKIGV4aXQ6CisgICAgLyogQ2xlYW51cCBmb3IgcGF0aCAqLwogICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7CisgICAgLyogQ2xlYW51cCBmb3IgYXR0cmlidXRlICovCiAgICAgcGF0aF9jbGVhbnVwKCZhdHRyaWJ1dGUpOwotICAgIFB5QnVmZmVyX1JlbGVhc2UoJnZhbHVlKTsKKyAgICAvKiBDbGVhbnVwIGZvciB2YWx1ZSAqLworICAgIGlmICh2YWx1ZS5vYmopCisgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmdmFsdWUpOwogCiAgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKIH0KIAotUHlEb2NfU1RSVkFSKHBvc2l4X3JlbW92ZXhhdHRyX19kb2NfXywKLSJyZW1vdmV4YXR0cihwYXRoLCBhdHRyaWJ1dGUsICosIGZvbGxvd19zeW1saW5rcz1UcnVlKVxuXG5cCi1SZW1vdmUgZXh0ZW5kZWQgYXR0cmlidXRlIGF0dHJpYnV0ZSBvbiBwYXRoLlxuXAotcGF0aCBtYXkgYmUgZWl0aGVyIGEgc3RyaW5nIG9yIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLlxuXAotSWYgZm9sbG93X3N5bWxpbmtzIGlzIEZhbHNlLCBhbmQgdGhlIGxhc3QgZWxlbWVudCBvZiB0aGUgcGF0aCBpcyBhIHN5bWJvbGljXG5cCi0gIGxpbmssIHJlbW92ZXhhdHRyIHdpbGwgbW9kaWZ5IHRoZSBzeW1ib2xpYyBsaW5rIGl0c2VsZiBpbnN0ZWFkIG9mIHRoZSBmaWxlXG5cCi0gIHRoZSBsaW5rIHBvaW50cyB0by4iKTsKLQogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3JlbW92ZXhhdHRyKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK29zX3NldHhhdHRyX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoLCBwYXRoX3QgKmF0dHJpYnV0ZSwgUHlfYnVmZmVyICp2YWx1ZSwgaW50IGZsYWdzLCBpbnQgZm9sbG93X3N5bWxpbmtzKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTJmZjg0NWQ4ZTAyNGIyMTggaW5wdXQ9ZjBkMjY4MzM5OTIwMTVjMl0qLwogewotICAgIHBhdGhfdCBwYXRoOwotICAgIHBhdGhfdCBhdHRyaWJ1dGU7Ci0gICAgaW50IGZvbGxvd19zeW1saW5rcyA9IDE7Ci0gICAgaW50IHJlc3VsdDsKLSAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKLSAgICBzdGF0aWMgY2hhciAqa2V5d29yZHNbXSA9IHsicGF0aCIsICJhdHRyaWJ1dGUiLCAiZm9sbG93X3N5bWxpbmtzIiwgTlVMTH07CisgICAgc3NpemVfdCByZXN1bHQ7CiAKLSAgICBtZW1zZXQoJnBhdGgsIDAsIHNpemVvZihwYXRoKSk7Ci0gICAgcGF0aC5mdW5jdGlvbl9uYW1lID0gInJlbW92ZXhhdHRyIjsKLSAgICBtZW1zZXQoJmF0dHJpYnV0ZSwgMCwgc2l6ZW9mKGF0dHJpYnV0ZSkpOwotICAgIGF0dHJpYnV0ZS5mdW5jdGlvbl9uYW1lID0gInJlbW92ZXhhdHRyIjsKLSAgICBwYXRoLmFsbG93X2ZkID0gMTsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsICJPJk8mfCRwOnJlbW92ZXhhdHRyIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXl3b3JkcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZhdHRyaWJ1dGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmZvbGxvd19zeW1saW5rcykpCisgICAgaWYgKGZkX2FuZF9mb2xsb3dfc3ltbGlua3NfaW52YWxpZCgic2V0eGF0dHIiLCBwYXRoLT5mZCwgZm9sbG93X3N5bWxpbmtzKSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICBpZiAoZmRfYW5kX2ZvbGxvd19zeW1saW5rc19pbnZhbGlkKCJyZW1vdmV4YXR0ciIsIHBhdGguZmQsIGZvbGxvd19zeW1saW5rcykpCi0gICAgICAgIGdvdG8gZXhpdDsKLQogICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFM7Ci0gICAgaWYgKHBhdGguZmQgPiAtMSkKLSAgICAgICAgcmVzdWx0ID0gZnJlbW92ZXhhdHRyKHBhdGguZmQsIGF0dHJpYnV0ZS5uYXJyb3cpOworICAgIGlmIChwYXRoLT5mZCA+IC0xKQorICAgICAgICByZXN1bHQgPSBmc2V0eGF0dHIocGF0aC0+ZmQsIGF0dHJpYnV0ZS0+bmFycm93LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUtPmJ1ZiwgdmFsdWUtPmxlbiwgZmxhZ3MpOwogICAgIGVsc2UgaWYgKGZvbGxvd19zeW1saW5rcykKLSAgICAgICAgcmVzdWx0ID0gcmVtb3ZleGF0dHIocGF0aC5uYXJyb3csIGF0dHJpYnV0ZS5uYXJyb3cpOworICAgICAgICByZXN1bHQgPSBzZXR4YXR0cihwYXRoLT5uYXJyb3csIGF0dHJpYnV0ZS0+bmFycm93LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUtPmJ1ZiwgdmFsdWUtPmxlbiwgZmxhZ3MpOwogICAgIGVsc2UKLSAgICAgICAgcmVzdWx0ID0gbHJlbW92ZXhhdHRyKHBhdGgubmFycm93LCBhdHRyaWJ1dGUubmFycm93KTsKKyAgICAgICAgcmVzdWx0ID0gbHNldHhhdHRyKHBhdGgtPm5hcnJvdywgYXR0cmlidXRlLT5uYXJyb3csCisgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZS0+YnVmLCB2YWx1ZS0+bGVuLCBmbGFncyk7CiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFM7CiAKICAgICBpZiAocmVzdWx0KSB7Ci0gICAgICAgIHJldHVybl92YWx1ZSA9IHBhdGhfZXJyb3IoJnBhdGgpOwotICAgICAgICBnb3RvIGV4aXQ7CisgICAgICAgIHBhdGhfZXJyb3IocGF0aCk7CisgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIAotICAgIHJldHVybl92YWx1ZSA9IFB5X05vbmU7Ci0gICAgUHlfSU5DUkVGKHJldHVybl92YWx1ZSk7CisgICAgUHlfUkVUVVJOX05PTkU7Cit9CisKKworLypbY2xpbmljIGlucHV0XQorb3MucmVtb3ZleGF0dHIKKworICAgIHBhdGg6IHBhdGhfdChhbGxvd19mZD1UcnVlKQorICAgIGF0dHJpYnV0ZTogcGF0aF90CisgICAgKgorICAgIGZvbGxvd19zeW1saW5rczogYm9vbCA9IFRydWUKKworUmVtb3ZlIGV4dGVuZGVkIGF0dHJpYnV0ZSBhdHRyaWJ1dGUgb24gcGF0aC4KKworcGF0aCBtYXkgYmUgZWl0aGVyIGEgc3RyaW5nIG9yIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLgorSWYgZm9sbG93X3N5bWxpbmtzIGlzIEZhbHNlLCBhbmQgdGhlIGxhc3QgZWxlbWVudCBvZiB0aGUgcGF0aCBpcyBhIHN5bWJvbGljCisgIGxpbmssIHJlbW92ZXhhdHRyIHdpbGwgbW9kaWZ5IHRoZSBzeW1ib2xpYyBsaW5rIGl0c2VsZiBpbnN0ZWFkIG9mIHRoZSBmaWxlCisgIHRoZSBsaW5rIHBvaW50cyB0by4KKworW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfcmVtb3ZleGF0dHJfX2RvY19fLAorInJlbW92ZXhhdHRyKCRtb2R1bGUsIC8sIHBhdGgsIGF0dHJpYnV0ZSwgKiwgZm9sbG93X3N5bWxpbmtzPVRydWUpXG4iCisiLS1cbiIKKyJcbiIKKyJSZW1vdmUgZXh0ZW5kZWQgYXR0cmlidXRlIGF0dHJpYnV0ZSBvbiBwYXRoLlxuIgorIlxuIgorInBhdGggbWF5IGJlIGVpdGhlciBhIHN0cmluZyBvciBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvci5cbiIKKyJJZiBmb2xsb3dfc3ltbGlua3MgaXMgRmFsc2UsIGFuZCB0aGUgbGFzdCBlbGVtZW50IG9mIHRoZSBwYXRoIGlzIGEgc3ltYm9saWNcbiIKKyIgIGxpbmssIHJlbW92ZXhhdHRyIHdpbGwgbW9kaWZ5IHRoZSBzeW1ib2xpYyBsaW5rIGl0c2VsZiBpbnN0ZWFkIG9mIHRoZSBmaWxlXG4iCisiICB0aGUgbGluayBwb2ludHMgdG8uIik7CisKKyNkZWZpbmUgT1NfUkVNT1ZFWEFUVFJfTUVUSE9EREVGICAgIFwKKyAgICB7InJlbW92ZXhhdHRyIiwgKFB5Q0Z1bmN0aW9uKW9zX3JlbW92ZXhhdHRyLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfcmVtb3ZleGF0dHJfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3JlbW92ZXhhdHRyX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoLCBwYXRoX3QgKmF0dHJpYnV0ZSwgaW50IGZvbGxvd19zeW1saW5rcyk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19yZW1vdmV4YXR0cihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InBhdGgiLCAiYXR0cmlidXRlIiwgImZvbGxvd19zeW1saW5rcyIsIE5VTEx9OworICAgIHBhdGhfdCBwYXRoID0gUEFUSF9UX0lOSVRJQUxJWkUoInJlbW92ZXhhdHRyIiwgInBhdGgiLCAwLCAxKTsKKyAgICBwYXRoX3QgYXR0cmlidXRlID0gUEFUSF9UX0lOSVRJQUxJWkUoInJlbW92ZXhhdHRyIiwgImF0dHJpYnV0ZSIsIDAsIDApOworICAgIGludCBmb2xsb3dfc3ltbGlua3MgPSAxOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiTyZPJnwkcDpyZW1vdmV4YXR0ciIsIF9rZXl3b3JkcywKKyAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLCBwYXRoX2NvbnZlcnRlciwgJmF0dHJpYnV0ZSwgJmZvbGxvd19zeW1saW5rcykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19yZW1vdmV4YXR0cl9pbXBsKG1vZHVsZSwgJnBhdGgsICZhdHRyaWJ1dGUsIGZvbGxvd19zeW1saW5rcyk7CiAKIGV4aXQ6CisgICAgLyogQ2xlYW51cCBmb3IgcGF0aCAqLwogICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7CisgICAgLyogQ2xlYW51cCBmb3IgYXR0cmlidXRlICovCiAgICAgcGF0aF9jbGVhbnVwKCZhdHRyaWJ1dGUpOwogCiAgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKIH0KIAotUHlEb2NfU1RSVkFSKHBvc2l4X2xpc3R4YXR0cl9fZG9jX18sCi0ibGlzdHhhdHRyKHBhdGg9Jy4nLCAqLCBmb2xsb3dfc3ltbGlua3M9VHJ1ZSlcblxuXAotUmV0dXJuIGEgbGlzdCBvZiBleHRlbmRlZCBhdHRyaWJ1dGVzIG9uIHBhdGguXG5cCi1cblwKLXBhdGggbWF5IGJlIGVpdGhlciBOb25lLCBhIHN0cmluZywgb3IgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuXG5cCi1pZiBwYXRoIGlzIE5vbmUsIGxpc3R4YXR0ciB3aWxsIGV4YW1pbmUgdGhlIGN1cnJlbnQgZGlyZWN0b3J5LlxuXAotSWYgZm9sbG93X3N5bWxpbmtzIGlzIEZhbHNlLCBhbmQgdGhlIGxhc3QgZWxlbWVudCBvZiB0aGUgcGF0aCBpcyBhIHN5bWJvbGljXG5cCi0gIGxpbmssIGxpc3R4YXR0ciB3aWxsIGV4YW1pbmUgdGhlIHN5bWJvbGljIGxpbmsgaXRzZWxmIGluc3RlYWQgb2YgdGhlIGZpbGVcblwKLSAgdGhlIGxpbmsgcG9pbnRzIHRvLiIpOworc3RhdGljIFB5T2JqZWN0ICoKK29zX3JlbW92ZXhhdHRyX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoLCBwYXRoX3QgKmF0dHJpYnV0ZSwgaW50IGZvbGxvd19zeW1saW5rcykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD04ZGZjNzE1YmY2MDdjNGNmIGlucHV0PWNkYjU0ODM0MTYxZTMzMjldKi8KK3sKKyAgICBzc2l6ZV90IHJlc3VsdDsKKworICAgIGlmIChmZF9hbmRfZm9sbG93X3N5bWxpbmtzX2ludmFsaWQoInJlbW92ZXhhdHRyIiwgcGF0aC0+ZmQsIGZvbGxvd19zeW1saW5rcykpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUzsKKyAgICBpZiAocGF0aC0+ZmQgPiAtMSkKKyAgICAgICAgcmVzdWx0ID0gZnJlbW92ZXhhdHRyKHBhdGgtPmZkLCBhdHRyaWJ1dGUtPm5hcnJvdyk7CisgICAgZWxzZSBpZiAoZm9sbG93X3N5bWxpbmtzKQorICAgICAgICByZXN1bHQgPSByZW1vdmV4YXR0cihwYXRoLT5uYXJyb3csIGF0dHJpYnV0ZS0+bmFycm93KTsKKyAgICBlbHNlCisgICAgICAgIHJlc3VsdCA9IGxyZW1vdmV4YXR0cihwYXRoLT5uYXJyb3csIGF0dHJpYnV0ZS0+bmFycm93KTsKKyAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUzsKKworICAgIGlmIChyZXN1bHQpIHsKKyAgICAgICAgcmV0dXJuIHBhdGhfZXJyb3IocGF0aCk7CisgICAgfQorCisgICAgUHlfUkVUVVJOX05PTkU7Cit9CisKKworLypbY2xpbmljIGlucHV0XQorb3MubGlzdHhhdHRyCisKKyAgICBwYXRoOiBwYXRoX3QoYWxsb3dfZmQ9VHJ1ZSwgbnVsbGFibGU9VHJ1ZSkgPSBOb25lCisgICAgKgorICAgIGZvbGxvd19zeW1saW5rczogYm9vbCA9IFRydWUKKworUmV0dXJuIGEgbGlzdCBvZiBleHRlbmRlZCBhdHRyaWJ1dGVzIG9uIHBhdGguCisKK3BhdGggbWF5IGJlIGVpdGhlciBOb25lLCBhIHN0cmluZywgb3IgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuCitpZiBwYXRoIGlzIE5vbmUsIGxpc3R4YXR0ciB3aWxsIGV4YW1pbmUgdGhlIGN1cnJlbnQgZGlyZWN0b3J5LgorSWYgZm9sbG93X3N5bWxpbmtzIGlzIEZhbHNlLCBhbmQgdGhlIGxhc3QgZWxlbWVudCBvZiB0aGUgcGF0aCBpcyBhIHN5bWJvbGljCisgIGxpbmssIGxpc3R4YXR0ciB3aWxsIGV4YW1pbmUgdGhlIHN5bWJvbGljIGxpbmsgaXRzZWxmIGluc3RlYWQgb2YgdGhlIGZpbGUKKyAgdGhlIGxpbmsgcG9pbnRzIHRvLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfbGlzdHhhdHRyX19kb2NfXywKKyJsaXN0eGF0dHIoJG1vZHVsZSwgLywgcGF0aD1Ob25lLCAqLCBmb2xsb3dfc3ltbGlua3M9VHJ1ZSlcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBhIGxpc3Qgb2YgZXh0ZW5kZWQgYXR0cmlidXRlcyBvbiBwYXRoLlxuIgorIlxuIgorInBhdGggbWF5IGJlIGVpdGhlciBOb25lLCBhIHN0cmluZywgb3IgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuXG4iCisiaWYgcGF0aCBpcyBOb25lLCBsaXN0eGF0dHIgd2lsbCBleGFtaW5lIHRoZSBjdXJyZW50IGRpcmVjdG9yeS5cbiIKKyJJZiBmb2xsb3dfc3ltbGlua3MgaXMgRmFsc2UsIGFuZCB0aGUgbGFzdCBlbGVtZW50IG9mIHRoZSBwYXRoIGlzIGEgc3ltYm9saWNcbiIKKyIgIGxpbmssIGxpc3R4YXR0ciB3aWxsIGV4YW1pbmUgdGhlIHN5bWJvbGljIGxpbmsgaXRzZWxmIGluc3RlYWQgb2YgdGhlIGZpbGVcbiIKKyIgIHRoZSBsaW5rIHBvaW50cyB0by4iKTsKKworI2RlZmluZSBPU19MSVNUWEFUVFJfTUVUSE9EREVGICAgIFwKKyAgICB7Imxpc3R4YXR0ciIsIChQeUNGdW5jdGlvbilvc19saXN0eGF0dHIsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc19saXN0eGF0dHJfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2xpc3R4YXR0cihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCitvc19saXN0eGF0dHJfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIGludCBmb2xsb3dfc3ltbGlua3MpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfbGlzdHhhdHRyKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewotICAgIHBhdGhfdCBwYXRoOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsicGF0aCIsICJmb2xsb3dfc3ltbGlua3MiLCBOVUxMfTsKKyAgICBwYXRoX3QgcGF0aCA9IFBBVEhfVF9JTklUSUFMSVpFKCJsaXN0eGF0dHIiLCAicGF0aCIsIDEsIDEpOwogICAgIGludCBmb2xsb3dfc3ltbGlua3MgPSAxOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAifE8mJHA6bGlzdHhhdHRyIiwgX2tleXdvcmRzLAorICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsICZmb2xsb3dfc3ltbGlua3MpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfbGlzdHhhdHRyX2ltcGwobW9kdWxlLCAmcGF0aCwgZm9sbG93X3N5bWxpbmtzKTsKKworZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBwYXRoICovCisgICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKKworICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19saXN0eGF0dHJfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIGludCBmb2xsb3dfc3ltbGlua3MpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MzEwNGNhZmRhMWEzZDg4NyBpbnB1dD0wOGNjYTUzYWMwYjA3YzEzXSovCit7CiAgICAgUHlfc3NpemVfdCBpOwogICAgIFB5T2JqZWN0ICpyZXN1bHQgPSBOVUxMOworICAgIGNvbnN0IGNoYXIgKm5hbWU7CiAgICAgY2hhciAqYnVmZmVyID0gTlVMTDsKLSAgICBjaGFyICpuYW1lOwotICAgIHN0YXRpYyBjaGFyICprZXl3b3Jkc1tdID0geyJwYXRoIiwgImZvbGxvd19zeW1saW5rcyIsIE5VTEx9OwogCi0gICAgbWVtc2V0KCZwYXRoLCAwLCBzaXplb2YocGF0aCkpOwotICAgIHBhdGguZnVuY3Rpb25fbmFtZSA9ICJsaXN0eGF0dHIiOwotICAgIHBhdGguYWxsb3dfZmQgPSAxOwotICAgIHBhdGguZmQgPSAtMTsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsICJ8TyYkcDpsaXN0eGF0dHIiLCBrZXl3b3JkcywKLSAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLAotICAgICAgICAmZm9sbG93X3N5bWxpbmtzKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KLSAgICBpZiAoZmRfYW5kX2ZvbGxvd19zeW1saW5rc19pbnZhbGlkKCJsaXN0eGF0dHIiLCBwYXRoLmZkLCBmb2xsb3dfc3ltbGlua3MpKQorICAgIGlmIChmZF9hbmRfZm9sbG93X3N5bWxpbmtzX2ludmFsaWQoImxpc3R4YXR0ciIsIHBhdGgtPmZkLCBmb2xsb3dfc3ltbGlua3MpKQogICAgICAgICBnb3RvIGV4aXQ7CiAKLSAgICBuYW1lID0gcGF0aC5uYXJyb3cgPyBwYXRoLm5hcnJvdyA6ICIuIjsKKyAgICBuYW1lID0gcGF0aC0+bmFycm93ID8gcGF0aC0+bmFycm93IDogIi4iOworCiAgICAgZm9yIChpID0gMDsgOyBpKyspIHsKICAgICAgICAgY2hhciAqc3RhcnQsICp0cmFjZSwgKmVuZDsKICAgICAgICAgc3NpemVfdCBsZW5ndGg7CkBAIC0xMDg0NCw3ICsxNTk5NCw3IEBACiAgICAgICAgIFB5X3NzaXplX3QgYnVmZmVyX3NpemUgPSBidWZmZXJfc2l6ZXNbaV07CiAgICAgICAgIGlmICghYnVmZmVyX3NpemUpIHsKICAgICAgICAgICAgIC8qIEVSQU5HRSAqLwotICAgICAgICAgICAgcGF0aF9lcnJvcigmcGF0aCk7CisgICAgICAgICAgICBwYXRoX2Vycm9yKHBhdGgpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgYnVmZmVyID0gUHlNZW1fTUFMTE9DKGJ1ZmZlcl9zaXplKTsKQEAgLTEwODU0LDggKzE2MDA0LDggQEAKICAgICAgICAgfQogCiAgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFM7Ci0gICAgICAgIGlmIChwYXRoLmZkID4gLTEpCi0gICAgICAgICAgICBsZW5ndGggPSBmbGlzdHhhdHRyKHBhdGguZmQsIGJ1ZmZlciwgYnVmZmVyX3NpemUpOworICAgICAgICBpZiAocGF0aC0+ZmQgPiAtMSkKKyAgICAgICAgICAgIGxlbmd0aCA9IGZsaXN0eGF0dHIocGF0aC0+ZmQsIGJ1ZmZlciwgYnVmZmVyX3NpemUpOwogICAgICAgICBlbHNlIGlmIChmb2xsb3dfc3ltbGlua3MpCiAgICAgICAgICAgICBsZW5ndGggPSBsaXN0eGF0dHIobmFtZSwgYnVmZmVyLCBidWZmZXJfc2l6ZSk7CiAgICAgICAgIGVsc2UKQEAgLTEwODY4LDcgKzE2MDE4LDcgQEAKICAgICAgICAgICAgICAgICBidWZmZXIgPSBOVUxMOwogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgcGF0aF9lcnJvcigmcGF0aCk7CisgICAgICAgICAgICBwYXRoX2Vycm9yKHBhdGgpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KIApAQCAtMTA5MDEsNDMgKzE2MDUxLDcxIEBACiAgICAgYnJlYWs7CiAgICAgfQogZXhpdDoKLSAgICBwYXRoX2NsZWFudXAoJnBhdGgpOwogICAgIGlmIChidWZmZXIpCiAgICAgICAgIFB5TWVtX0ZSRUUoYnVmZmVyKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotCiAjZW5kaWYgLyogVVNFX1hBVFRSUyAqLwogCiAKLVB5RG9jX1NUUlZBUihwb3NpeF91cmFuZG9tX19kb2NfXywKLSJ1cmFuZG9tKG4pIC0+IHN0clxuXG5cCi1SZXR1cm4gbiByYW5kb20gYnl0ZXMgc3VpdGFibGUgZm9yIGNyeXB0b2dyYXBoaWMgdXNlLiIpOworLypbY2xpbmljIGlucHV0XQorb3MudXJhbmRvbQorCisgICAgc2l6ZTogUHlfc3NpemVfdAorICAgIC8KKworUmV0dXJuIGEgYnl0ZXMgb2JqZWN0IGNvbnRhaW5pbmcgcmFuZG9tIGJ5dGVzIHN1aXRhYmxlIGZvciBjcnlwdG9ncmFwaGljIHVzZS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3VyYW5kb21fX2RvY19fLAorInVyYW5kb20oJG1vZHVsZSwgc2l6ZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBhIGJ5dGVzIG9iamVjdCBjb250YWluaW5nIHJhbmRvbSBieXRlcyBzdWl0YWJsZSBmb3IgY3J5cHRvZ3JhcGhpYyB1c2UuIik7CisKKyNkZWZpbmUgT1NfVVJBTkRPTV9NRVRIT0RERUYgICAgXAorICAgIHsidXJhbmRvbSIsIChQeUNGdW5jdGlvbilvc191cmFuZG9tLCBNRVRIX1ZBUkFSR1MsIG9zX3VyYW5kb21fX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3VyYW5kb20oUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQotewotICAgIFB5X3NzaXplX3Qgc2l6ZTsKLSAgICBQeU9iamVjdCAqcmVzdWx0OwotICAgIGludCByZXQ7Citvc191cmFuZG9tX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfc3NpemVfdCBzaXplKTsKIAotICAgICAvKiBSZWFkIGFyZ3VtZW50cyAqLwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAibjp1cmFuZG9tIiwgJnNpemUpKQotICAgICAgICByZXR1cm4gTlVMTDsKK3N0YXRpYyBQeU9iamVjdCAqCitvc191cmFuZG9tKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5X3NzaXplX3Qgc2l6ZTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAibjp1cmFuZG9tIiwKKyAgICAgICAgJnNpemUpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfdXJhbmRvbV9pbXBsKG1vZHVsZSwgc2l6ZSk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3VyYW5kb21faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9zc2l6ZV90IHNpemUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NWRiZmY1ODJjYWI5NGNiOSBpbnB1dD00MDY3Y2RiMWI2Nzc2YzI5XSovCit7CisgICAgUHlPYmplY3QgKmJ5dGVzOworICAgIGludCByZXN1bHQ7CisKICAgICBpZiAoc2l6ZSA8IDApCiAgICAgICAgIHJldHVybiBQeUVycl9Gb3JtYXQoUHlFeGNfVmFsdWVFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmVnYXRpdmUgYXJndW1lbnQgbm90IGFsbG93ZWQiKTsKLSAgICByZXN1bHQgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKE5VTEwsIHNpemUpOwotICAgIGlmIChyZXN1bHQgPT0gTlVMTCkKKyAgICBieXRlcyA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoTlVMTCwgc2l6ZSk7CisgICAgaWYgKGJ5dGVzID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwogCi0gICAgcmV0ID0gX1B5T1NfVVJhbmRvbShQeUJ5dGVzX0FTX1NUUklORyhyZXN1bHQpLAotICAgICAgICAgICAgICAgICAgICAgICAgUHlCeXRlc19HRVRfU0laRShyZXN1bHQpKTsKLSAgICBpZiAocmV0ID09IC0xKSB7Ci0gICAgICAgIFB5X0RFQ1JFRihyZXN1bHQpOworICAgIHJlc3VsdCA9IF9QeU9TX1VSYW5kb20oUHlCeXRlc19BU19TVFJJTkcoYnl0ZXMpLAorICAgICAgICAgICAgICAgICAgICAgICAgUHlCeXRlc19HRVRfU0laRShieXRlcykpOworICAgIGlmIChyZXN1bHQgPT0gLTEpIHsKKyAgICAgICAgUHlfREVDUkVGKGJ5dGVzKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIHJldHVybiByZXN1bHQ7CisgICAgcmV0dXJuIGJ5dGVzOwogfQogCiAvKiBUZXJtaW5hbCBzaXplIHF1ZXJ5aW5nICovCkBAIC0xMDk2MSw2ICsxNjEzOSw3IEBACiB9OwogCiAjaWYgZGVmaW5lZChURVJNU0laRV9VU0VfQ09OSU8pIHx8IGRlZmluZWQoVEVSTVNJWkVfVVNFX0lPQ1RMKQorLyogQUMgMy41OiBmZCBzaG91bGQgYWNjZXB0IE5vbmUgKi8KIFB5RG9jX1NUUlZBUih0ZXJtc2l6ZV9fZG9jX18sCiAgICAgIlJldHVybiB0aGUgc2l6ZSBvZiB0aGUgdGVybWluYWwgd2luZG93IGFzIChjb2x1bW5zLCBsaW5lcykuXG4iICAgICAgICBcCiAgICAgIlxuIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCkBAIC0xMTA0NiwxMyArMTYyMjUsMzQgQEAKIH0KICNlbmRpZiAvKiBkZWZpbmVkKFRFUk1TSVpFX1VTRV9DT05JTykgfHwgZGVmaW5lZChURVJNU0laRV9VU0VfSU9DVEwpICovCiAKLVB5RG9jX1NUUlZBUihwb3NpeF9jcHVfY291bnRfX2RvY19fLAotImNwdV9jb3VudCgpIC0+IGludGVnZXJcblxuXAotUmV0dXJuIHRoZSBudW1iZXIgb2YgQ1BVcyBpbiB0aGUgc3lzdGVtLCBvciBOb25lIGlmIHRoaXMgdmFsdWUgY2Fubm90IGJlXG5cCi1lc3RhYmxpc2hlZC4iKTsKKworLypbY2xpbmljIGlucHV0XQorb3MuY3B1X2NvdW50CisKK1JldHVybiB0aGUgbnVtYmVyIG9mIENQVXMgaW4gdGhlIHN5c3RlbTsgcmV0dXJuIE5vbmUgaWYgaW5kZXRlcm1pbmFibGUuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19jcHVfY291bnRfX2RvY19fLAorImNwdV9jb3VudCgkbW9kdWxlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSBudW1iZXIgb2YgQ1BVcyBpbiB0aGUgc3lzdGVtOyByZXR1cm4gTm9uZSBpZiBpbmRldGVybWluYWJsZS4iKTsKKworI2RlZmluZSBPU19DUFVfQ09VTlRfTUVUSE9EREVGICAgIFwKKyAgICB7ImNwdV9jb3VudCIsIChQeUNGdW5jdGlvbilvc19jcHVfY291bnQsIE1FVEhfTk9BUkdTLCBvc19jcHVfY291bnRfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2NwdV9jb3VudChQeU9iamVjdCAqc2VsZikKK29zX2NwdV9jb3VudF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfY3B1X2NvdW50KFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIG9zX2NwdV9jb3VudF9pbXBsKG1vZHVsZSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19jcHVfY291bnRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTkyZTJhNGE3MjllYjc3NDAgaW5wdXQ9ZDU1ZTJmOGYzODIzYTYyOF0qLwogewogICAgIGludCBuY3B1ID0gMDsKICNpZmRlZiBNU19XSU5ET1dTCkBAIC0xMTA4MSw0MiArMTYyODEsMTAzIEBACiAgICAgICAgIFB5X1JFVFVSTl9OT05FOwogfQogCi1QeURvY19TVFJWQVIoZ2V0X2luaGVyaXRhYmxlX19kb2NfXywKLSAgICAiZ2V0X2luaGVyaXRhYmxlKGZkKSAtPiBib29sXG4iIFwKLSAgICAiXG4iIFwKLSAgICAiR2V0IHRoZSBjbG9zZS1vbi1leGUgZmxhZyBvZiB0aGUgc3BlY2lmaWVkIGZpbGUgZGVzY3JpcHRvci4iKTsKIAotc3RhdGljIFB5T2JqZWN0KgotcG9zaXhfZ2V0X2luaGVyaXRhYmxlKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmdldF9pbmhlcml0YWJsZSAtPiBib29sCisKKyAgICBmZDogaW50CisgICAgLworCitHZXQgdGhlIGNsb3NlLW9uLWV4ZSBmbGFnIG9mIHRoZSBzcGVjaWZpZWQgZmlsZSBkZXNjcmlwdG9yLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfZ2V0X2luaGVyaXRhYmxlX19kb2NfXywKKyJnZXRfaW5oZXJpdGFibGUoJG1vZHVsZSwgZmQsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJHZXQgdGhlIGNsb3NlLW9uLWV4ZSBmbGFnIG9mIHRoZSBzcGVjaWZpZWQgZmlsZSBkZXNjcmlwdG9yLiIpOworCisjZGVmaW5lIE9TX0dFVF9JTkhFUklUQUJMRV9NRVRIT0RERUYgICAgXAorICAgIHsiZ2V0X2luaGVyaXRhYmxlIiwgKFB5Q0Z1bmN0aW9uKW9zX2dldF9pbmhlcml0YWJsZSwgTUVUSF9WQVJBUkdTLCBvc19nZXRfaW5oZXJpdGFibGVfX2RvY19ffSwKKworc3RhdGljIGludAorb3NfZ2V0X2luaGVyaXRhYmxlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2dldF9pbmhlcml0YWJsZShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBpbnQgZmQ7CisgICAgaW50IF9yZXR1cm5fdmFsdWU7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgImk6Z2V0X2luaGVyaXRhYmxlIiwKKyAgICAgICAgJmZkKSkKKyAgICAgICAgZ290byBleGl0OworICAgIF9yZXR1cm5fdmFsdWUgPSBvc19nZXRfaW5oZXJpdGFibGVfaW1wbChtb2R1bGUsIGZkKTsKKyAgICBpZiAoKF9yZXR1cm5fdmFsdWUgPT0gLTEpICYmIFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBQeUJvb2xfRnJvbUxvbmcoKGxvbmcpX3JldHVybl92YWx1ZSk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIGludAorb3NfZ2V0X2luaGVyaXRhYmxlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTI2MWQxZGQyYjBkYmRjMzUgaW5wdXQ9ODlhYzAwOGRjOWFiNmI5NV0qLworeworICAgIGlmICghX1B5VmVyaWZ5X2ZkKGZkKSl7CisgICAgICAgIHBvc2l4X2Vycm9yKCk7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICByZXR1cm4gX1B5X2dldF9pbmhlcml0YWJsZShmZCk7Cit9CisKKworLypbY2xpbmljIGlucHV0XQorb3Muc2V0X2luaGVyaXRhYmxlCisgICAgZmQ6IGludAorICAgIGluaGVyaXRhYmxlOiBpbnQKKyAgICAvCisKK1NldCB0aGUgaW5oZXJpdGFibGUgZmxhZyBvZiB0aGUgc3BlY2lmaWVkIGZpbGUgZGVzY3JpcHRvci4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3NldF9pbmhlcml0YWJsZV9fZG9jX18sCisic2V0X2luaGVyaXRhYmxlKCRtb2R1bGUsIGZkLCBpbmhlcml0YWJsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlNldCB0aGUgaW5oZXJpdGFibGUgZmxhZyBvZiB0aGUgc3BlY2lmaWVkIGZpbGUgZGVzY3JpcHRvci4iKTsKKworI2RlZmluZSBPU19TRVRfSU5IRVJJVEFCTEVfTUVUSE9EREVGICAgIFwKKyAgICB7InNldF9pbmhlcml0YWJsZSIsIChQeUNGdW5jdGlvbilvc19zZXRfaW5oZXJpdGFibGUsIE1FVEhfVkFSQVJHUywgb3Nfc2V0X2luaGVyaXRhYmxlX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zZXRfaW5oZXJpdGFibGVfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQsIGludCBpbmhlcml0YWJsZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zZXRfaW5oZXJpdGFibGUoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CiAgICAgaW50IGZkOwogICAgIGludCBpbmhlcml0YWJsZTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaTpnZXRfaW5oZXJpdGFibGUiLCAmZmQpKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgImlpOnNldF9pbmhlcml0YWJsZSIsCisgICAgICAgICZmZCwgJmluaGVyaXRhYmxlKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3NldF9pbmhlcml0YWJsZV9pbXBsKG1vZHVsZSwgZmQsIGluaGVyaXRhYmxlKTsKIAotICAgIGlmICghX1B5VmVyaWZ5X2ZkKGZkKSkKLSAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7Ci0KLSAgICBpbmhlcml0YWJsZSA9IF9QeV9nZXRfaW5oZXJpdGFibGUoZmQpOwotICAgIGlmIChpbmhlcml0YWJsZSA8IDApCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcoaW5oZXJpdGFibGUpOworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOwogfQogCi1QeURvY19TVFJWQVIoc2V0X2luaGVyaXRhYmxlX19kb2NfXywKLSAgICAic2V0X2luaGVyaXRhYmxlKGZkLCBpbmhlcml0YWJsZSlcbiIgXAotICAgICJcbiIgXAotICAgICJTZXQgdGhlIGluaGVyaXRhYmxlIGZsYWcgb2YgdGhlIHNwZWNpZmllZCBmaWxlIGRlc2NyaXB0b3IuIik7Ci0KLXN0YXRpYyBQeU9iamVjdCoKLXBvc2l4X3NldF9pbmhlcml0YWJsZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2V0X2luaGVyaXRhYmxlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkLCBpbnQgaW5oZXJpdGFibGUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NjRkZmU1ZTE1YzkwNjUzOSBpbnB1dD05Y2VhZWFkODdhMWUyNDAyXSovCiB7Ci0gICAgaW50IGZkLCBpbmhlcml0YWJsZTsKLQotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaWk6c2V0X2luaGVyaXRhYmxlIiwgJmZkLCAmaW5oZXJpdGFibGUpKQotICAgICAgICByZXR1cm4gTlVMTDsKLQogICAgIGlmICghX1B5VmVyaWZ5X2ZkKGZkKSkKICAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CiAKQEAgLTExMTI3LDU1ICsxNjM4OCwxNjAgQEAKIAogCiAjaWZkZWYgTVNfV0lORE9XUwotUHlEb2NfU1RSVkFSKGdldF9oYW5kbGVfaW5oZXJpdGFibGVfX2RvY19fLAotICAgICJnZXRfaGFuZGxlX2luaGVyaXRhYmxlKGZkKSAtPiBib29sXG4iIFwKLSAgICAiXG4iIFwKLSAgICAiR2V0IHRoZSBjbG9zZS1vbi1leGUgZmxhZyBvZiB0aGUgc3BlY2lmaWVkIGZpbGUgZGVzY3JpcHRvci4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmdldF9oYW5kbGVfaW5oZXJpdGFibGUgLT4gYm9vbAorICAgIGhhbmRsZTogUHlfaW50cHRyX3QKKyAgICAvCiAKLXN0YXRpYyBQeU9iamVjdCoKLXBvc2l4X2dldF9oYW5kbGVfaW5oZXJpdGFibGUoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorR2V0IHRoZSBjbG9zZS1vbi1leGUgZmxhZyBvZiB0aGUgc3BlY2lmaWVkIGZpbGUgZGVzY3JpcHRvci4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2dldF9oYW5kbGVfaW5oZXJpdGFibGVfX2RvY19fLAorImdldF9oYW5kbGVfaW5oZXJpdGFibGUoJG1vZHVsZSwgaGFuZGxlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiR2V0IHRoZSBjbG9zZS1vbi1leGUgZmxhZyBvZiB0aGUgc3BlY2lmaWVkIGZpbGUgZGVzY3JpcHRvci4iKTsKKworI2RlZmluZSBPU19HRVRfSEFORExFX0lOSEVSSVRBQkxFX01FVEhPRERFRiAgICBcCisgICAgeyJnZXRfaGFuZGxlX2luaGVyaXRhYmxlIiwgKFB5Q0Z1bmN0aW9uKW9zX2dldF9oYW5kbGVfaW5oZXJpdGFibGUsIE1FVEhfVkFSQVJHUywgb3NfZ2V0X2hhbmRsZV9pbmhlcml0YWJsZV9fZG9jX199LAorCitzdGF0aWMgaW50Citvc19nZXRfaGFuZGxlX2luaGVyaXRhYmxlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfaW50cHRyX3QgaGFuZGxlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2dldF9oYW5kbGVfaW5oZXJpdGFibGUoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CiAgICAgUHlfaW50cHRyX3QgaGFuZGxlOwotICAgIERXT1JEIGZsYWdzOworICAgIGludCBfcmV0dXJuX3ZhbHVlOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIF9QeV9QQVJTRV9JTlRQVFIgIjpnZXRfaGFuZGxlX2luaGVyaXRhYmxlIiwgJmhhbmRsZSkpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiIiBfUHlfUEFSU0VfSU5UUFRSICI6Z2V0X2hhbmRsZV9pbmhlcml0YWJsZSIsCisgICAgICAgICZoYW5kbGUpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgX3JldHVybl92YWx1ZSA9IG9zX2dldF9oYW5kbGVfaW5oZXJpdGFibGVfaW1wbChtb2R1bGUsIGhhbmRsZSk7CisgICAgaWYgKChfcmV0dXJuX3ZhbHVlID09IC0xKSAmJiBQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gUHlCb29sX0Zyb21Mb25nKChsb25nKV9yZXR1cm5fdmFsdWUpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBpbnQKK29zX2dldF9oYW5kbGVfaW5oZXJpdGFibGVfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9pbnRwdHJfdCBoYW5kbGUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZDViZjlkODY5MDBiZjQ1NyBpbnB1dD01Zjc3NTk0NDNhYWUzZGM1XSovCit7CisgICAgRFdPUkQgZmxhZ3M7CiAKICAgICBpZiAoIUdldEhhbmRsZUluZm9ybWF0aW9uKChIQU5ETEUpaGFuZGxlLCAmZmxhZ3MpKSB7CiAgICAgICAgIFB5RXJyX1NldEZyb21XaW5kb3dzRXJyKDApOwotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KIAotICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcoZmxhZ3MgJiBIQU5ETEVfRkxBR19JTkhFUklUKTsKKyAgICByZXR1cm4gZmxhZ3MgJiBIQU5ETEVfRkxBR19JTkhFUklUOwogfQogCi1QeURvY19TVFJWQVIoc2V0X2hhbmRsZV9pbmhlcml0YWJsZV9fZG9jX18sCi0gICAgInNldF9oYW5kbGVfaW5oZXJpdGFibGUoZmQsIGluaGVyaXRhYmxlKVxuIiBcCi0gICAgIlxuIiBcCi0gICAgIlNldCB0aGUgaW5oZXJpdGFibGUgZmxhZyBvZiB0aGUgc3BlY2lmaWVkIGhhbmRsZS4iKTsKIAotc3RhdGljIFB5T2JqZWN0KgotcG9zaXhfc2V0X2hhbmRsZV9pbmhlcml0YWJsZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCisvKltjbGluaWMgaW5wdXRdCitvcy5zZXRfaGFuZGxlX2luaGVyaXRhYmxlCisgICAgaGFuZGxlOiBQeV9pbnRwdHJfdAorICAgIGluaGVyaXRhYmxlOiBib29sCisgICAgLworCitTZXQgdGhlIGluaGVyaXRhYmxlIGZsYWcgb2YgdGhlIHNwZWNpZmllZCBoYW5kbGUuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19zZXRfaGFuZGxlX2luaGVyaXRhYmxlX19kb2NfXywKKyJzZXRfaGFuZGxlX2luaGVyaXRhYmxlKCRtb2R1bGUsIGhhbmRsZSwgaW5oZXJpdGFibGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJTZXQgdGhlIGluaGVyaXRhYmxlIGZsYWcgb2YgdGhlIHNwZWNpZmllZCBoYW5kbGUuIik7CisKKyNkZWZpbmUgT1NfU0VUX0hBTkRMRV9JTkhFUklUQUJMRV9NRVRIT0RERUYgICAgXAorICAgIHsic2V0X2hhbmRsZV9pbmhlcml0YWJsZSIsIChQeUNGdW5jdGlvbilvc19zZXRfaGFuZGxlX2luaGVyaXRhYmxlLCBNRVRIX1ZBUkFSR1MsIG9zX3NldF9oYW5kbGVfaW5oZXJpdGFibGVfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NldF9oYW5kbGVfaW5oZXJpdGFibGVfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9pbnRwdHJfdCBoYW5kbGUsIGludCBpbmhlcml0YWJsZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zZXRfaGFuZGxlX2luaGVyaXRhYmxlKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogewotICAgIGludCBpbmhlcml0YWJsZSA9IDE7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CiAgICAgUHlfaW50cHRyX3QgaGFuZGxlOwotICAgIERXT1JEIGZsYWdzOworICAgIGludCBpbmhlcml0YWJsZTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCBfUHlfUEFSU0VfSU5UUFRSICJpOnNldF9oYW5kbGVfaW5oZXJpdGFibGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAmaGFuZGxlLCAmaW5oZXJpdGFibGUpKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIiIgX1B5X1BBUlNFX0lOVFBUUiAicDpzZXRfaGFuZGxlX2luaGVyaXRhYmxlIiwKKyAgICAgICAgJmhhbmRsZSwgJmluaGVyaXRhYmxlKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3NldF9oYW5kbGVfaW5oZXJpdGFibGVfaW1wbChtb2R1bGUsIGhhbmRsZSwgaW5oZXJpdGFibGUpOwogCi0gICAgaWYgKGluaGVyaXRhYmxlKQotICAgICAgICBmbGFncyA9IEhBTkRMRV9GTEFHX0lOSEVSSVQ7Ci0gICAgZWxzZQotICAgICAgICBmbGFncyA9IDA7CitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zZXRfaGFuZGxlX2luaGVyaXRhYmxlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfaW50cHRyX3QgaGFuZGxlLCBpbnQgaW5oZXJpdGFibGUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZWU1ZmNjNmQ5ZjBkNGY4YiBpbnB1dD1lNjRiMmIyNzMwNDY5ZGVmXSovCit7CisgICAgRFdPUkQgZmxhZ3MgPSBpbmhlcml0YWJsZSA/IEhBTkRMRV9GTEFHX0lOSEVSSVQgOiAwOwogICAgIGlmICghU2V0SGFuZGxlSW5mb3JtYXRpb24oKEhBTkRMRSloYW5kbGUsIEhBTkRMRV9GTEFHX0lOSEVSSVQsIGZsYWdzKSkgewogICAgICAgICBQeUVycl9TZXRGcm9tV2luZG93c0VycigwKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogICAgIFB5X1JFVFVSTl9OT05FOwogfQotI2VuZGlmICAgLyogTVNfV0lORE9XUyAqLworI2VuZGlmIC8qIE1TX1dJTkRPV1MgKi8KKworI2lmbmRlZiBNU19XSU5ET1dTCitQeURvY19TVFJWQVIoZ2V0X2Jsb2NraW5nX19kb2NfXywKKyAgICAiZ2V0X2Jsb2NraW5nKGZkKSAtPiBib29sXG4iIFwKKyAgICAiXG4iIFwKKyAgICAiR2V0IHRoZSBibG9ja2luZyBtb2RlIG9mIHRoZSBmaWxlIGRlc2NyaXB0b3I6XG4iIFwKKyAgICAiRmFsc2UgaWYgdGhlIE9fTk9OQkxPQ0sgZmxhZyBpcyBzZXQsIFRydWUgaWYgdGhlIGZsYWcgaXMgY2xlYXJlZC4iKTsKKworc3RhdGljIFB5T2JqZWN0KgorcG9zaXhfZ2V0X2Jsb2NraW5nKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBpbnQgZmQ7CisgICAgaW50IGJsb2NraW5nOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpOmdldF9ibG9ja2luZyIsICZmZCkpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgaWYgKCFfUHlWZXJpZnlfZmQoZmQpKQorICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKKworICAgIGJsb2NraW5nID0gX1B5X2dldF9ibG9ja2luZyhmZCk7CisgICAgaWYgKGJsb2NraW5nIDwgMCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZyhibG9ja2luZyk7Cit9CisKK1B5RG9jX1NUUlZBUihzZXRfYmxvY2tpbmdfX2RvY19fLAorICAgICJzZXRfYmxvY2tpbmcoZmQsIGJsb2NraW5nKVxuIiBcCisgICAgIlxuIiBcCisgICAgIlNldCB0aGUgYmxvY2tpbmcgbW9kZSBvZiB0aGUgc3BlY2lmaWVkIGZpbGUgZGVzY3JpcHRvci5cbiIgXAorICAgICJTZXQgdGhlIE9fTk9OQkxPQ0sgZmxhZyBpZiBibG9ja2luZyBpcyBGYWxzZSxcbiIgXAorICAgICJjbGVhciB0aGUgT19OT05CTE9DSyBmbGFnIG90aGVyd2lzZS4iKTsKKworc3RhdGljIFB5T2JqZWN0KgorcG9zaXhfc2V0X2Jsb2NraW5nKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBpbnQgZmQsIGJsb2NraW5nOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpaTpzZXRfYmxvY2tpbmciLCAmZmQsICZibG9ja2luZykpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgaWYgKCFfUHlWZXJpZnlfZmQoZmQpKQorICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKKworICAgIGlmIChfUHlfc2V0X2Jsb2NraW5nKGZkLCBibG9ja2luZykgPCAwKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBQeV9SRVRVUk5fTk9ORTsKK30KKyNlbmRpZiAgIC8qICFNU19XSU5ET1dTICovCiAKIAogLypbY2xpbmljIGlucHV0XQpAQCAtMTExODUsNyArMTY1NTEsNDc5IEBACiAjaWZuZGVmIE9TX1RUWU5BTUVfTUVUSE9EREVGCiAgICAgI2RlZmluZSBPU19UVFlOQU1FX01FVEhPRERFRgogI2VuZGlmIC8qICFkZWZpbmVkKE9TX1RUWU5BTUVfTUVUSE9EREVGKSAqLwotLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTVkMDcxYmJjOGY0OWVhMTIgaW5wdXQ9NTI0Y2UyZTAyMWU0ZWJhNl0qLworCisjaWZuZGVmIE9TX0NURVJNSURfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19DVEVSTUlEX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX0NURVJNSURfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX0ZDSERJUl9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX0ZDSERJUl9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19GQ0hESVJfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX0ZDSE1PRF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX0ZDSE1PRF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19GQ0hNT0RfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX0xDSE1PRF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX0xDSE1PRF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19MQ0hNT0RfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX0NIRkxBR1NfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19DSEZMQUdTX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX0NIRkxBR1NfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX0xDSEZMQUdTX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfTENIRkxBR1NfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfTENIRkxBR1NfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX0NIUk9PVF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX0NIUk9PVF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19DSFJPT1RfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX0ZTWU5DX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfRlNZTkNfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfRlNZTkNfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1NZTkNfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19TWU5DX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1NZTkNfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX0ZEQVRBU1lOQ19NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX0ZEQVRBU1lOQ19NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19GREFUQVNZTkNfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX0NIT1dOX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfQ0hPV05fTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfQ0hPV05fTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX0ZDSE9XTl9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX0ZDSE9XTl9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19GQ0hPV05fTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX0xDSE9XTl9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX0xDSE9XTl9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19MQ0hPV05fTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX0xJTktfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19MSU5LX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX0xJTktfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX19HRVRGSU5BTFBBVEhOQU1FX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfX0dFVEZJTkFMUEFUSE5BTUVfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfX0dFVEZJTkFMUEFUSE5BTUVfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX19HRVRWT0xVTUVQQVRITkFNRV9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX19HRVRWT0xVTUVQQVRITkFNRV9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19fR0VUVk9MVU1FUEFUSE5BTUVfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX05JQ0VfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19OSUNFX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX05JQ0VfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX0dFVFBSSU9SSVRZX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfR0VUUFJJT1JJVFlfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfR0VUUFJJT1JJVFlfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1NFVFBSSU9SSVRZX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfU0VUUFJJT1JJVFlfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfU0VUUFJJT1JJVFlfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1NZU1RFTV9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1NZU1RFTV9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19TWVNURU1fTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1NZU1RFTV9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1NZU1RFTV9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19TWVNURU1fTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1VOQU1FX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfVU5BTUVfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfVU5BTUVfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX0VYRUNWX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfRVhFQ1ZfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfRVhFQ1ZfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX0VYRUNWRV9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX0VYRUNWRV9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19FWEVDVkVfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1NQQVdOVl9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1NQQVdOVl9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19TUEFXTlZfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1NQQVdOVkVfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19TUEFXTlZFX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1NQQVdOVkVfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX0ZPUksxX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfRk9SSzFfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfRk9SSzFfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX0ZPUktfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19GT1JLX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX0ZPUktfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1NDSEVEX0dFVF9QUklPUklUWV9NQVhfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19TQ0hFRF9HRVRfUFJJT1JJVFlfTUFYX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1NDSEVEX0dFVF9QUklPUklUWV9NQVhfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1NDSEVEX0dFVF9QUklPUklUWV9NSU5fTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19TQ0hFRF9HRVRfUFJJT1JJVFlfTUlOX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1NDSEVEX0dFVF9QUklPUklUWV9NSU5fTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1NDSEVEX0dFVFNDSEVEVUxFUl9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1NDSEVEX0dFVFNDSEVEVUxFUl9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19TQ0hFRF9HRVRTQ0hFRFVMRVJfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1NDSEVEX1NFVFNDSEVEVUxFUl9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1NDSEVEX1NFVFNDSEVEVUxFUl9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19TQ0hFRF9TRVRTQ0hFRFVMRVJfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1NDSEVEX0dFVFBBUkFNX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfU0NIRURfR0VUUEFSQU1fTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfU0NIRURfR0VUUEFSQU1fTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1NDSEVEX1NFVFBBUkFNX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfU0NIRURfU0VUUEFSQU1fTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfU0NIRURfU0VUUEFSQU1fTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1NDSEVEX1JSX0dFVF9JTlRFUlZBTF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1NDSEVEX1JSX0dFVF9JTlRFUlZBTF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19TQ0hFRF9SUl9HRVRfSU5URVJWQUxfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1NDSEVEX1lJRUxEX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfU0NIRURfWUlFTERfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfU0NIRURfWUlFTERfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1NDSEVEX1NFVEFGRklOSVRZX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfU0NIRURfU0VUQUZGSU5JVFlfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfU0NIRURfU0VUQUZGSU5JVFlfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1NDSEVEX0dFVEFGRklOSVRZX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfU0NIRURfR0VUQUZGSU5JVFlfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfU0NIRURfR0VUQUZGSU5JVFlfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX09QRU5QVFlfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19PUEVOUFRZX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX09QRU5QVFlfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX0ZPUktQVFlfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19GT1JLUFRZX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX0ZPUktQVFlfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX0dFVEVHSURfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19HRVRFR0lEX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX0dFVEVHSURfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX0dFVEVVSURfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19HRVRFVUlEX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX0dFVEVVSURfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX0dFVEdJRF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX0dFVEdJRF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19HRVRHSURfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX0dFVEdST1VQU19NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX0dFVEdST1VQU19NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19HRVRHUk9VUFNfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX0dFVFBHSURfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19HRVRQR0lEX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX0dFVFBHSURfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX0dFVFBHUlBfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19HRVRQR1JQX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX0dFVFBHUlBfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1NFVFBHUlBfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19TRVRQR1JQX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1NFVFBHUlBfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX0dFVFBQSURfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19HRVRQUElEX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX0dFVFBQSURfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX0dFVExPR0lOX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfR0VUTE9HSU5fTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfR0VUTE9HSU5fTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX0dFVFVJRF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX0dFVFVJRF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19HRVRVSURfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX0tJTExfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19LSUxMX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX0tJTExfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX0tJTExQR19NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX0tJTExQR19NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19LSUxMUEdfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1BMT0NLX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfUExPQ0tfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfUExPQ0tfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1NFVFVJRF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1NFVFVJRF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19TRVRVSURfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1NFVEVVSURfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19TRVRFVUlEX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1NFVEVVSURfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1NFVEVHSURfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19TRVRFR0lEX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1NFVEVHSURfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1NFVFJFVUlEX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfU0VUUkVVSURfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfU0VUUkVVSURfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1NFVFJFR0lEX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfU0VUUkVHSURfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfU0VUUkVHSURfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1NFVEdJRF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1NFVEdJRF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19TRVRHSURfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1NFVEdST1VQU19NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1NFVEdST1VQU19NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19TRVRHUk9VUFNfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1dBSVQzX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfV0FJVDNfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfV0FJVDNfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1dBSVQ0X01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfV0FJVDRfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfV0FJVDRfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1dBSVRJRF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1dBSVRJRF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19XQUlUSURfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1dBSVRQSURfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19XQUlUUElEX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1dBSVRQSURfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1dBSVRQSURfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19XQUlUUElEX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1dBSVRQSURfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1dBSVRfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19XQUlUX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1dBSVRfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1NZTUxJTktfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19TWU1MSU5LX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1NZTUxJTktfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1RJTUVTX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfVElNRVNfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfVElNRVNfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX0dFVFNJRF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX0dFVFNJRF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19HRVRTSURfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1NFVFNJRF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1NFVFNJRF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19TRVRTSURfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1NFVFBHSURfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19TRVRQR0lEX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1NFVFBHSURfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1RDR0VUUEdSUF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1RDR0VUUEdSUF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19UQ0dFVFBHUlBfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1RDU0VUUEdSUF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1RDU0VUUEdSUF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19UQ1NFVFBHUlBfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX0xPQ0tGX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfTE9DS0ZfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfTE9DS0ZfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1JFQURWX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfUkVBRFZfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfUkVBRFZfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1BSRUFEX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfUFJFQURfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfUFJFQURfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1BJUEVfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19QSVBFX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1BJUEVfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1BJUEUyX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfUElQRTJfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfUElQRTJfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1dSSVRFVl9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1dSSVRFVl9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19XUklURVZfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1BXUklURV9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1BXUklURV9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19QV1JJVEVfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX01LRklGT19NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX01LRklGT19NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19NS0ZJRk9fTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX01LTk9EX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfTUtOT0RfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfTUtOT0RfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX01BSk9SX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfTUFKT1JfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfTUFKT1JfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX01JTk9SX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfTUlOT1JfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfTUlOT1JfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX01BS0VERVZfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19NQUtFREVWX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX01BS0VERVZfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX0ZUUlVOQ0FURV9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX0ZUUlVOQ0FURV9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19GVFJVTkNBVEVfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1RSVU5DQVRFX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfVFJVTkNBVEVfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfVFJVTkNBVEVfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1BPU0lYX0ZBTExPQ0FURV9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1BPU0lYX0ZBTExPQ0FURV9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19QT1NJWF9GQUxMT0NBVEVfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1BPU0lYX0ZBRFZJU0VfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19QT1NJWF9GQURWSVNFX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1BPU0lYX0ZBRFZJU0VfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1BVVEVOVl9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1BVVEVOVl9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19QVVRFTlZfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1BVVEVOVl9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1BVVEVOVl9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19QVVRFTlZfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1VOU0VURU5WX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfVU5TRVRFTlZfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfVU5TRVRFTlZfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1dDT1JFRFVNUF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1dDT1JFRFVNUF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19XQ09SRURVTVBfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1dJRkNPTlRJTlVFRF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1dJRkNPTlRJTlVFRF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19XSUZDT05USU5VRURfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1dJRlNUT1BQRURfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19XSUZTVE9QUEVEX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1dJRlNUT1BQRURfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1dJRlNJR05BTEVEX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfV0lGU0lHTkFMRURfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfV0lGU0lHTkFMRURfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1dJRkVYSVRFRF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1dJRkVYSVRFRF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19XSUZFWElURURfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1dFWElUU1RBVFVTX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfV0VYSVRTVEFUVVNfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfV0VYSVRTVEFUVVNfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1dURVJNU0lHX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfV1RFUk1TSUdfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfV1RFUk1TSUdfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1dTVE9QU0lHX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfV1NUT1BTSUdfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfV1NUT1BTSUdfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX0ZTVEFUVkZTX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfRlNUQVRWRlNfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfRlNUQVRWRlNfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1NUQVRWRlNfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19TVEFUVkZTX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1NUQVRWRlNfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX19HRVRESVNLVVNBR0VfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19fR0VURElTS1VTQUdFX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX19HRVRESVNLVVNBR0VfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX0ZQQVRIQ09ORl9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX0ZQQVRIQ09ORl9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19GUEFUSENPTkZfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1BBVEhDT05GX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfUEFUSENPTkZfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfUEFUSENPTkZfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX0NPTkZTVFJfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19DT05GU1RSX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX0NPTkZTVFJfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1NZU0NPTkZfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19TWVNDT05GX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1NZU0NPTkZfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX0dFVExPQURBVkdfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19HRVRMT0FEQVZHX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX0dFVExPQURBVkdfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1NFVFJFU1VJRF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1NFVFJFU1VJRF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19TRVRSRVNVSURfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1NFVFJFU0dJRF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1NFVFJFU0dJRF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19TRVRSRVNHSURfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX0dFVFJFU1VJRF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX0dFVFJFU1VJRF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19HRVRSRVNVSURfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX0dFVFJFU0dJRF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX0dFVFJFU0dJRF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19HRVRSRVNHSURfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX0dFVFhBVFRSX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfR0VUWEFUVFJfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfR0VUWEFUVFJfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1NFVFhBVFRSX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfU0VUWEFUVFJfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfU0VUWEFUVFJfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1JFTU9WRVhBVFRSX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfUkVNT1ZFWEFUVFJfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfUkVNT1ZFWEFUVFJfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX0xJU1RYQVRUUl9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX0xJU1RYQVRUUl9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19MSVNUWEFUVFJfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX0dFVF9IQU5ETEVfSU5IRVJJVEFCTEVfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19HRVRfSEFORExFX0lOSEVSSVRBQkxFX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX0dFVF9IQU5ETEVfSU5IRVJJVEFCTEVfTUVUSE9EREVGKSAqLworCisjaWZuZGVmIE9TX1NFVF9IQU5ETEVfSU5IRVJJVEFCTEVfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19TRVRfSEFORExFX0lOSEVSSVRBQkxFX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1NFVF9IQU5ETEVfSU5IRVJJVEFCTEVfTUVUSE9EREVGKSAqLworLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTUyYTYxNDBiMGIwNTJjZTYgaW5wdXQ9NTI0Y2UyZTAyMWU0ZWJhNl0qLwogCiAKIHN0YXRpYyBQeU1ldGhvZERlZiBwb3NpeF9tZXRob2RzW10gPSB7CkBAIC0xMTE5Myw3MSArMTcwMzEsMjYgQEAKICAgICBPU19TVEFUX01FVEhPRERFRgogICAgIE9TX0FDQ0VTU19NRVRIT0RERUYKICAgICBPU19UVFlOQU1FX01FVEhPRERFRgotCi0gICAgeyJjaGRpciIsICAgICAgICAgICAoUHlDRnVuY3Rpb24pcG9zaXhfY2hkaXIsCi0gICAgICAgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLAotICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXhfY2hkaXJfX2RvY19ffSwKLSNpZmRlZiBIQVZFX0NIRkxBR1MKLSAgICB7ImNoZmxhZ3MiLCAgICAgICAgIChQeUNGdW5jdGlvbilwb3NpeF9jaGZsYWdzLAotICAgICAgICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywKLSAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l4X2NoZmxhZ3NfX2RvY19ffSwKLSNlbmRpZiAvKiBIQVZFX0NIRkxBR1MgKi8KLSAgICB7ImNobW9kIiwgICAgICAgICAgIChQeUNGdW5jdGlvbilwb3NpeF9jaG1vZCwKLSAgICAgICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsCi0gICAgICAgICAgICAgICAgICAgICAgICBwb3NpeF9jaG1vZF9fZG9jX199LAotI2lmZGVmIEhBVkVfRkNITU9ECi0gICAgeyJmY2htb2QiLCAgICAgICAgICBwb3NpeF9mY2htb2QsIE1FVEhfVkFSQVJHUywgcG9zaXhfZmNobW9kX19kb2NfX30sCi0jZW5kaWYgLyogSEFWRV9GQ0hNT0QgKi8KLSNpZmRlZiBIQVZFX0NIT1dOCi0gICAgeyJjaG93biIsICAgICAgICAgICAoUHlDRnVuY3Rpb24pcG9zaXhfY2hvd24sCi0gICAgICAgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLAotICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXhfY2hvd25fX2RvY19ffSwKLSNlbmRpZiAvKiBIQVZFX0NIT1dOICovCi0jaWZkZWYgSEFWRV9MQ0hNT0QKLSAgICB7ImxjaG1vZCIsICAgICAgICAgIHBvc2l4X2xjaG1vZCwgTUVUSF9WQVJBUkdTLCBwb3NpeF9sY2htb2RfX2RvY19ffSwKLSNlbmRpZiAvKiBIQVZFX0xDSE1PRCAqLwotI2lmZGVmIEhBVkVfRkNIT1dOCi0gICAgeyJmY2hvd24iLCAgICAgICAgICBwb3NpeF9mY2hvd24sIE1FVEhfVkFSQVJHUywgcG9zaXhfZmNob3duX19kb2NfX30sCi0jZW5kaWYgLyogSEFWRV9GQ0hPV04gKi8KLSNpZmRlZiBIQVZFX0xDSEZMQUdTCi0gICAgeyJsY2hmbGFncyIsICAgICAgICBwb3NpeF9sY2hmbGFncywgTUVUSF9WQVJBUkdTLCBwb3NpeF9sY2hmbGFnc19fZG9jX199LAotI2VuZGlmIC8qIEhBVkVfTENIRkxBR1MgKi8KLSNpZmRlZiBIQVZFX0xDSE9XTgotICAgIHsibGNob3duIiwgICAgICAgICAgcG9zaXhfbGNob3duLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X2xjaG93bl9fZG9jX199LAotI2VuZGlmIC8qIEhBVkVfTENIT1dOICovCi0jaWZkZWYgSEFWRV9DSFJPT1QKLSAgICB7ImNocm9vdCIsICAgICAgICAgIHBvc2l4X2Nocm9vdCwgTUVUSF9WQVJBUkdTLCBwb3NpeF9jaHJvb3RfX2RvY19ffSwKLSNlbmRpZgotI2lmZGVmIEhBVkVfQ1RFUk1JRAotICAgIHsiY3Rlcm1pZCIsICAgICAgICAgcG9zaXhfY3Rlcm1pZCwgTUVUSF9OT0FSR1MsIHBvc2l4X2N0ZXJtaWRfX2RvY19ffSwKLSNlbmRpZgotICAgIHsiZ2V0Y3dkIiwgICAgICAgICAgKFB5Q0Z1bmN0aW9uKXBvc2l4X2dldGN3ZF91bmljb2RlLAotICAgIE1FVEhfTk9BUkdTLCBwb3NpeF9nZXRjd2RfX2RvY19ffSwKLSAgICB7ImdldGN3ZGIiLCAgICAgICAgIChQeUNGdW5jdGlvbilwb3NpeF9nZXRjd2RfYnl0ZXMsCi0gICAgTUVUSF9OT0FSR1MsIHBvc2l4X2dldGN3ZGJfX2RvY19ffSwKLSNpZiBkZWZpbmVkKEhBVkVfTElOSykgfHwgZGVmaW5lZChNU19XSU5ET1dTKQotICAgIHsibGluayIsICAgICAgICAgICAgKFB5Q0Z1bmN0aW9uKXBvc2l4X2xpbmssCi0gICAgICAgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLAotICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXhfbGlua19fZG9jX199LAotI2VuZGlmIC8qIEhBVkVfTElOSyAqLwotICAgIHsibGlzdGRpciIsICAgICAgICAgKFB5Q0Z1bmN0aW9uKXBvc2l4X2xpc3RkaXIsCi0gICAgICAgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLAotICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXhfbGlzdGRpcl9fZG9jX199LAotICAgIHsibHN0YXQiLCAgICAgICAgICAgKFB5Q0Z1bmN0aW9uKXBvc2l4X2xzdGF0LAotICAgICAgICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywKLSAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l4X2xzdGF0X19kb2NfX30sCi0gICAgeyJta2RpciIsICAgICAgICAgICAoUHlDRnVuY3Rpb24pcG9zaXhfbWtkaXIsCi0gICAgICAgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLAotICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXhfbWtkaXJfX2RvY19ffSwKLSNpZmRlZiBIQVZFX05JQ0UKLSAgICB7Im5pY2UiLCAgICAgICAgICAgIHBvc2l4X25pY2UsIE1FVEhfVkFSQVJHUywgcG9zaXhfbmljZV9fZG9jX199LAotI2VuZGlmIC8qIEhBVkVfTklDRSAqLwotI2lmZGVmIEhBVkVfR0VUUFJJT1JJVFkKLSAgICB7ImdldHByaW9yaXR5IiwgICAgIHBvc2l4X2dldHByaW9yaXR5LCBNRVRIX1ZBUkFSR1MsIHBvc2l4X2dldHByaW9yaXR5X19kb2NfX30sCi0jZW5kaWYgLyogSEFWRV9HRVRQUklPUklUWSAqLwotI2lmZGVmIEhBVkVfU0VUUFJJT1JJVFkKLSAgICB7InNldHByaW9yaXR5IiwgICAgIHBvc2l4X3NldHByaW9yaXR5LCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3NldHByaW9yaXR5X19kb2NfX30sCi0jZW5kaWYgLyogSEFWRV9TRVRQUklPUklUWSAqLworICAgIE9TX0NIRElSX01FVEhPRERFRgorICAgIE9TX0NIRkxBR1NfTUVUSE9EREVGCisgICAgT1NfQ0hNT0RfTUVUSE9EREVGCisgICAgT1NfRkNITU9EX01FVEhPRERFRgorICAgIE9TX0xDSE1PRF9NRVRIT0RERUYKKyAgICBPU19DSE9XTl9NRVRIT0RERUYKKyAgICBPU19GQ0hPV05fTUVUSE9EREVGCisgICAgT1NfTENIT1dOX01FVEhPRERFRgorICAgIE9TX0xDSEZMQUdTX01FVEhPRERFRgorICAgIE9TX0NIUk9PVF9NRVRIT0RERUYKKyAgICBPU19DVEVSTUlEX01FVEhPRERFRgorICAgIE9TX0dFVENXRF9NRVRIT0RERUYKKyAgICBPU19HRVRDV0RCX01FVEhPRERFRgorICAgIE9TX0xJTktfTUVUSE9EREVGCisgICAgT1NfTElTVERJUl9NRVRIT0RERUYKKyAgICBPU19MU1RBVF9NRVRIT0RERUYKKyAgICBPU19NS0RJUl9NRVRIT0RERUYKKyAgICBPU19OSUNFX01FVEhPRERFRgorICAgIE9TX0dFVFBSSU9SSVRZX01FVEhPRERFRgorICAgIE9TX1NFVFBSSU9SSVRZX01FVEhPRERFRgogI2lmZGVmIEhBVkVfUkVBRExJTksKICAgICB7InJlYWRsaW5rIiwgICAgICAgIChQeUNGdW5jdGlvbilwb3NpeF9yZWFkbGluaywKICAgICAgICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsCkBAIC0xMTI2OCwzNzUgKzE3MDYxLDE2MCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywKICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRsaW5rX19kb2NfX30sCiAjZW5kaWYgLyogIWRlZmluZWQoSEFWRV9SRUFETElOSykgJiYgZGVmaW5lZChNU19XSU5ET1dTKSAqLwotICAgIHsicmVuYW1lIiwgICAgICAgICAgKFB5Q0Z1bmN0aW9uKXBvc2l4X3JlbmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsCi0gICAgICAgICAgICAgICAgICAgICAgICBwb3NpeF9yZW5hbWVfX2RvY19ffSwKLSAgICB7InJlcGxhY2UiLCAgICAgICAgIChQeUNGdW5jdGlvbilwb3NpeF9yZXBsYWNlLAotICAgICAgICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywKLSAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l4X3JlcGxhY2VfX2RvY19ffSwKLSAgICB7InJtZGlyIiwgICAgICAgICAgIChQeUNGdW5jdGlvbilwb3NpeF9ybWRpciwKLSAgICAgICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsCi0gICAgICAgICAgICAgICAgICAgICAgICBwb3NpeF9ybWRpcl9fZG9jX199LAorICAgIE9TX1JFTkFNRV9NRVRIT0RERUYKKyAgICBPU19SRVBMQUNFX01FVEhPRERFRgorICAgIE9TX1JNRElSX01FVEhPRERFRgogICAgIHsic3RhdF9mbG9hdF90aW1lcyIsIHN0YXRfZmxvYXRfdGltZXMsIE1FVEhfVkFSQVJHUywgc3RhdF9mbG9hdF90aW1lc19fZG9jX199LAotI2lmIGRlZmluZWQoSEFWRV9TWU1MSU5LKQotICAgIHsic3ltbGluayIsICAgICAgICAgKFB5Q0Z1bmN0aW9uKXBvc2l4X3N5bWxpbmssCi0gICAgICAgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLAotICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXhfc3ltbGlua19fZG9jX199LAotI2VuZGlmIC8qIEhBVkVfU1lNTElOSyAqLwotI2lmZGVmIEhBVkVfU1lTVEVNCi0gICAgeyJzeXN0ZW0iLCAgICAgICAgICBwb3NpeF9zeXN0ZW0sIE1FVEhfVkFSQVJHUywgcG9zaXhfc3lzdGVtX19kb2NfX30sCi0jZW5kaWYKLSAgICB7InVtYXNrIiwgICAgICAgICAgIHBvc2l4X3VtYXNrLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3VtYXNrX19kb2NfX30sCi0jaWZkZWYgSEFWRV9VTkFNRQotICAgIHsidW5hbWUiLCAgICAgICAgICAgcG9zaXhfdW5hbWUsIE1FVEhfTk9BUkdTLCBwb3NpeF91bmFtZV9fZG9jX199LAotI2VuZGlmIC8qIEhBVkVfVU5BTUUgKi8KLSAgICB7InVubGluayIsICAgICAgICAgIChQeUNGdW5jdGlvbilwb3NpeF91bmxpbmssCi0gICAgICAgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLAotICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXhfdW5saW5rX19kb2NfX30sCi0gICAgeyJyZW1vdmUiLCAgICAgICAgICAoUHlDRnVuY3Rpb24pcG9zaXhfdW5saW5rLAotICAgICAgICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywKLSAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l4X3JlbW92ZV9fZG9jX199LAotICAgIHsidXRpbWUiLCAgICAgICAgICAgKFB5Q0Z1bmN0aW9uKXBvc2l4X3V0aW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywgcG9zaXhfdXRpbWVfX2RvY19ffSwKLSNpZmRlZiBIQVZFX1RJTUVTCi0gICAgeyJ0aW1lcyIsICAgICAgICAgICBwb3NpeF90aW1lcywgTUVUSF9OT0FSR1MsIHBvc2l4X3RpbWVzX19kb2NfX30sCi0jZW5kaWYgLyogSEFWRV9USU1FUyAqLwotICAgIHsiX2V4aXQiLCAgICAgICAgICAgcG9zaXhfX2V4aXQsIE1FVEhfVkFSQVJHUywgcG9zaXhfX2V4aXRfX2RvY19ffSwKLSNpZmRlZiBIQVZFX0VYRUNWCi0gICAgeyJleGVjdiIsICAgICAgICAgICBwb3NpeF9leGVjdiwgTUVUSF9WQVJBUkdTLCBwb3NpeF9leGVjdl9fZG9jX199LAotICAgIHsiZXhlY3ZlIiwgICAgICAgICAgKFB5Q0Z1bmN0aW9uKXBvc2l4X2V4ZWN2ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsCi0gICAgICAgICAgICAgICAgICAgICAgICBwb3NpeF9leGVjdmVfX2RvY19ffSwKLSNlbmRpZiAvKiBIQVZFX0VYRUNWICovCi0jaWZkZWYgSEFWRV9TUEFXTlYKLSAgICB7InNwYXdudiIsICAgICAgICAgIHBvc2l4X3NwYXdudiwgTUVUSF9WQVJBUkdTLCBwb3NpeF9zcGF3bnZfX2RvY19ffSwKLSAgICB7InNwYXdudmUiLCAgICAgICAgIHBvc2l4X3NwYXdudmUsIE1FVEhfVkFSQVJHUywgcG9zaXhfc3Bhd252ZV9fZG9jX199LAotI2VuZGlmIC8qIEhBVkVfU1BBV05WICovCi0jaWZkZWYgSEFWRV9GT1JLMQotICAgIHsiZm9yazEiLCAgICAgICBwb3NpeF9mb3JrMSwgTUVUSF9OT0FSR1MsIHBvc2l4X2ZvcmsxX19kb2NfX30sCi0jZW5kaWYgLyogSEFWRV9GT1JLMSAqLwotI2lmZGVmIEhBVkVfRk9SSwotICAgIHsiZm9yayIsICAgICAgICAgICAgcG9zaXhfZm9yaywgTUVUSF9OT0FSR1MsIHBvc2l4X2ZvcmtfX2RvY19ffSwKLSNlbmRpZiAvKiBIQVZFX0ZPUksgKi8KLSNpZmRlZiBIQVZFX1NDSEVEX0gKLSNpZmRlZiBIQVZFX1NDSEVEX0dFVF9QUklPUklUWV9NQVgKLSAgICB7InNjaGVkX2dldF9wcmlvcml0eV9tYXgiLCBwb3NpeF9zY2hlZF9nZXRfcHJpb3JpdHlfbWF4LCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3NjaGVkX2dldF9wcmlvcml0eV9tYXhfX2RvY19ffSwKLSAgICB7InNjaGVkX2dldF9wcmlvcml0eV9taW4iLCBwb3NpeF9zY2hlZF9nZXRfcHJpb3JpdHlfbWluLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3NjaGVkX2dldF9wcmlvcml0eV9taW5fX2RvY19ffSwKLSNlbmRpZgotI2lmZGVmIEhBVkVfU0NIRURfU0VUUEFSQU0KLSAgICB7InNjaGVkX2dldHBhcmFtIiwgcG9zaXhfc2NoZWRfZ2V0cGFyYW0sIE1FVEhfVkFSQVJHUywgcG9zaXhfc2NoZWRfZ2V0cGFyYW1fX2RvY19ffSwKLSNlbmRpZgotI2lmZGVmIEhBVkVfU0NIRURfU0VUU0NIRURVTEVSCi0gICAgeyJzY2hlZF9nZXRzY2hlZHVsZXIiLCBwb3NpeF9zY2hlZF9nZXRzY2hlZHVsZXIsIE1FVEhfVkFSQVJHUywgcG9zaXhfc2NoZWRfZ2V0c2NoZWR1bGVyX19kb2NfX30sCi0jZW5kaWYKLSNpZmRlZiBIQVZFX1NDSEVEX1JSX0dFVF9JTlRFUlZBTAotICAgIHsic2NoZWRfcnJfZ2V0X2ludGVydmFsIiwgcG9zaXhfc2NoZWRfcnJfZ2V0X2ludGVydmFsLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3NjaGVkX3JyX2dldF9pbnRlcnZhbF9fZG9jX199LAotI2VuZGlmCi0jaWZkZWYgSEFWRV9TQ0hFRF9TRVRQQVJBTQotICAgIHsic2NoZWRfc2V0cGFyYW0iLCBwb3NpeF9zY2hlZF9zZXRwYXJhbSwgTUVUSF9WQVJBUkdTLCBwb3NpeF9zY2hlZF9zZXRwYXJhbV9fZG9jX199LAotI2VuZGlmCi0jaWZkZWYgSEFWRV9TQ0hFRF9TRVRTQ0hFRFVMRVIKLSAgICB7InNjaGVkX3NldHNjaGVkdWxlciIsIHBvc2l4X3NjaGVkX3NldHNjaGVkdWxlciwgTUVUSF9WQVJBUkdTLCBwb3NpeF9zY2hlZF9zZXRzY2hlZHVsZXJfX2RvY19ffSwKLSNlbmRpZgotICAgIHsic2NoZWRfeWllbGQiLCAgICAgcG9zaXhfc2NoZWRfeWllbGQsIE1FVEhfTk9BUkdTLCBwb3NpeF9zY2hlZF95aWVsZF9fZG9jX199LAotI2lmZGVmIEhBVkVfU0NIRURfU0VUQUZGSU5JVFkKLSAgICB7InNjaGVkX3NldGFmZmluaXR5IiwgcG9zaXhfc2NoZWRfc2V0YWZmaW5pdHksIE1FVEhfVkFSQVJHUywgcG9zaXhfc2NoZWRfc2V0YWZmaW5pdHlfX2RvY19ffSwKLSAgICB7InNjaGVkX2dldGFmZmluaXR5IiwgcG9zaXhfc2NoZWRfZ2V0YWZmaW5pdHksIE1FVEhfVkFSQVJHUywgcG9zaXhfc2NoZWRfZ2V0YWZmaW5pdHlfX2RvY19ffSwKLSNlbmRpZgotI2VuZGlmIC8qIEhBVkVfU0NIRURfSCAqLwotI2lmIGRlZmluZWQoSEFWRV9PUEVOUFRZKSB8fCBkZWZpbmVkKEhBVkVfX0dFVFBUWSkgfHwgZGVmaW5lZChIQVZFX0RFVl9QVE1YKQotICAgIHsib3BlbnB0eSIsICAgICAgICAgcG9zaXhfb3BlbnB0eSwgTUVUSF9OT0FSR1MsIHBvc2l4X29wZW5wdHlfX2RvY19ffSwKLSNlbmRpZiAvKiBIQVZFX09QRU5QVFkgfHwgSEFWRV9fR0VUUFRZIHx8IEhBVkVfREVWX1BUTVggKi8KLSNpZmRlZiBIQVZFX0ZPUktQVFkKLSAgICB7ImZvcmtwdHkiLCAgICAgICAgIHBvc2l4X2ZvcmtwdHksIE1FVEhfTk9BUkdTLCBwb3NpeF9mb3JrcHR5X19kb2NfX30sCi0jZW5kaWYgLyogSEFWRV9GT1JLUFRZICovCi0jaWZkZWYgSEFWRV9HRVRFR0lECi0gICAgeyJnZXRlZ2lkIiwgICAgICAgICBwb3NpeF9nZXRlZ2lkLCBNRVRIX05PQVJHUywgcG9zaXhfZ2V0ZWdpZF9fZG9jX199LAotI2VuZGlmIC8qIEhBVkVfR0VURUdJRCAqLwotI2lmZGVmIEhBVkVfR0VURVVJRAotICAgIHsiZ2V0ZXVpZCIsICAgICAgICAgcG9zaXhfZ2V0ZXVpZCwgTUVUSF9OT0FSR1MsIHBvc2l4X2dldGV1aWRfX2RvY19ffSwKLSNlbmRpZiAvKiBIQVZFX0dFVEVVSUQgKi8KLSNpZmRlZiBIQVZFX0dFVEdJRAotICAgIHsiZ2V0Z2lkIiwgICAgICAgICAgcG9zaXhfZ2V0Z2lkLCBNRVRIX05PQVJHUywgcG9zaXhfZ2V0Z2lkX19kb2NfX30sCi0jZW5kaWYgLyogSEFWRV9HRVRHSUQgKi8KKyAgICBPU19TWU1MSU5LX01FVEhPRERFRgorICAgIE9TX1NZU1RFTV9NRVRIT0RERUYKKyAgICBPU19VTUFTS19NRVRIT0RERUYKKyAgICBPU19VTkFNRV9NRVRIT0RERUYKKyAgICBPU19VTkxJTktfTUVUSE9EREVGCisgICAgT1NfUkVNT1ZFX01FVEhPRERFRgorICAgIE9TX1VUSU1FX01FVEhPRERFRgorICAgIE9TX1RJTUVTX01FVEhPRERFRgorICAgIE9TX19FWElUX01FVEhPRERFRgorICAgIE9TX0VYRUNWX01FVEhPRERFRgorICAgIE9TX0VYRUNWRV9NRVRIT0RERUYKKyAgICBPU19TUEFXTlZfTUVUSE9EREVGCisgICAgT1NfU1BBV05WRV9NRVRIT0RERUYKKyAgICBPU19GT1JLMV9NRVRIT0RERUYKKyAgICBPU19GT1JLX01FVEhPRERFRgorICAgIE9TX1NDSEVEX0dFVF9QUklPUklUWV9NQVhfTUVUSE9EREVGCisgICAgT1NfU0NIRURfR0VUX1BSSU9SSVRZX01JTl9NRVRIT0RERUYKKyAgICBPU19TQ0hFRF9HRVRQQVJBTV9NRVRIT0RERUYKKyAgICBPU19TQ0hFRF9HRVRTQ0hFRFVMRVJfTUVUSE9EREVGCisgICAgT1NfU0NIRURfUlJfR0VUX0lOVEVSVkFMX01FVEhPRERFRgorICAgIE9TX1NDSEVEX1NFVFBBUkFNX01FVEhPRERFRgorICAgIE9TX1NDSEVEX1NFVFNDSEVEVUxFUl9NRVRIT0RERUYKKyAgICBPU19TQ0hFRF9ZSUVMRF9NRVRIT0RERUYKKyAgICBPU19TQ0hFRF9TRVRBRkZJTklUWV9NRVRIT0RERUYKKyAgICBPU19TQ0hFRF9HRVRBRkZJTklUWV9NRVRIT0RERUYKKyAgICBPU19PUEVOUFRZX01FVEhPRERFRgorICAgIE9TX0ZPUktQVFlfTUVUSE9EREVGCisgICAgT1NfR0VURUdJRF9NRVRIT0RERUYKKyAgICBPU19HRVRFVUlEX01FVEhPRERFRgorICAgIE9TX0dFVEdJRF9NRVRIT0RERUYKICNpZmRlZiBIQVZFX0dFVEdST1VQTElTVAogICAgIHsiZ2V0Z3JvdXBsaXN0IiwgICAgcG9zaXhfZ2V0Z3JvdXBsaXN0LCBNRVRIX1ZBUkFSR1MsIHBvc2l4X2dldGdyb3VwbGlzdF9fZG9jX199LAogI2VuZGlmCi0jaWZkZWYgSEFWRV9HRVRHUk9VUFMKLSAgICB7ImdldGdyb3VwcyIsICAgICAgIHBvc2l4X2dldGdyb3VwcywgTUVUSF9OT0FSR1MsIHBvc2l4X2dldGdyb3Vwc19fZG9jX199LAotI2VuZGlmCi0gICAgeyJnZXRwaWQiLCAgICAgICAgICBwb3NpeF9nZXRwaWQsIE1FVEhfTk9BUkdTLCBwb3NpeF9nZXRwaWRfX2RvY19ffSwKLSNpZmRlZiBIQVZFX0dFVFBHUlAKLSAgICB7ImdldHBncnAiLCAgICAgICAgIHBvc2l4X2dldHBncnAsIE1FVEhfTk9BUkdTLCBwb3NpeF9nZXRwZ3JwX19kb2NfX30sCi0jZW5kaWYgLyogSEFWRV9HRVRQR1JQICovCi0jaWZkZWYgSEFWRV9HRVRQUElECi0gICAgeyJnZXRwcGlkIiwgICAgICAgICBwb3NpeF9nZXRwcGlkLCBNRVRIX05PQVJHUywgcG9zaXhfZ2V0cHBpZF9fZG9jX199LAotI2VuZGlmIC8qIEhBVkVfR0VUUFBJRCAqLwotI2lmZGVmIEhBVkVfR0VUVUlECi0gICAgeyJnZXR1aWQiLCAgICAgICAgICBwb3NpeF9nZXR1aWQsIE1FVEhfTk9BUkdTLCBwb3NpeF9nZXR1aWRfX2RvY19ffSwKLSNlbmRpZiAvKiBIQVZFX0dFVFVJRCAqLwotI2lmZGVmIEhBVkVfR0VUTE9HSU4KLSAgICB7ImdldGxvZ2luIiwgICAgICAgIHBvc2l4X2dldGxvZ2luLCBNRVRIX05PQVJHUywgcG9zaXhfZ2V0bG9naW5fX2RvY19ffSwKLSNlbmRpZgotI2lmZGVmIEhBVkVfS0lMTAotICAgIHsia2lsbCIsICAgICAgICAgICAgcG9zaXhfa2lsbCwgTUVUSF9WQVJBUkdTLCBwb3NpeF9raWxsX19kb2NfX30sCi0jZW5kaWYgLyogSEFWRV9LSUxMICovCi0jaWZkZWYgSEFWRV9LSUxMUEcKLSAgICB7ImtpbGxwZyIsICAgICAgICAgIHBvc2l4X2tpbGxwZywgTUVUSF9WQVJBUkdTLCBwb3NpeF9raWxscGdfX2RvY19ffSwKLSNlbmRpZiAvKiBIQVZFX0tJTExQRyAqLwotI2lmZGVmIEhBVkVfUExPQ0sKLSAgICB7InBsb2NrIiwgICAgICAgICAgIHBvc2l4X3Bsb2NrLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3Bsb2NrX19kb2NfX30sCi0jZW5kaWYgLyogSEFWRV9QTE9DSyAqLworICAgIE9TX0dFVEdST1VQU19NRVRIT0RERUYKKyAgICBPU19HRVRQSURfTUVUSE9EREVGCisgICAgT1NfR0VUUEdSUF9NRVRIT0RERUYKKyAgICBPU19HRVRQUElEX01FVEhPRERFRgorICAgIE9TX0dFVFVJRF9NRVRIT0RERUYKKyAgICBPU19HRVRMT0dJTl9NRVRIT0RERUYKKyAgICBPU19LSUxMX01FVEhPRERFRgorICAgIE9TX0tJTExQR19NRVRIT0RERUYKKyAgICBPU19QTE9DS19NRVRIT0RERUYKICNpZmRlZiBNU19XSU5ET1dTCiAgICAgeyJzdGFydGZpbGUiLCAgICAgICB3aW4zMl9zdGFydGZpbGUsIE1FVEhfVkFSQVJHUywgd2luMzJfc3RhcnRmaWxlX19kb2NfX30sCi0gICAgeyJraWxsIiwgICAgd2luMzJfa2lsbCwgTUVUSF9WQVJBUkdTLCB3aW4zMl9raWxsX19kb2NfX30sCiAjZW5kaWYKLSNpZmRlZiBIQVZFX1NFVFVJRAotICAgIHsic2V0dWlkIiwgICAgICAgICAgcG9zaXhfc2V0dWlkLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3NldHVpZF9fZG9jX199LAotI2VuZGlmIC8qIEhBVkVfU0VUVUlEICovCi0jaWZkZWYgSEFWRV9TRVRFVUlECi0gICAgeyJzZXRldWlkIiwgICAgICAgICBwb3NpeF9zZXRldWlkLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3NldGV1aWRfX2RvY19ffSwKLSNlbmRpZiAvKiBIQVZFX1NFVEVVSUQgKi8KLSNpZmRlZiBIQVZFX1NFVEVHSUQKLSAgICB7InNldGVnaWQiLCAgICAgICAgIHBvc2l4X3NldGVnaWQsIE1FVEhfVkFSQVJHUywgcG9zaXhfc2V0ZWdpZF9fZG9jX199LAotI2VuZGlmIC8qIEhBVkVfU0VURUdJRCAqLwotI2lmZGVmIEhBVkVfU0VUUkVVSUQKLSAgICB7InNldHJldWlkIiwgICAgICAgIHBvc2l4X3NldHJldWlkLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3NldHJldWlkX19kb2NfX30sCi0jZW5kaWYgLyogSEFWRV9TRVRSRVVJRCAqLwotI2lmZGVmIEhBVkVfU0VUUkVHSUQKLSAgICB7InNldHJlZ2lkIiwgICAgICAgIHBvc2l4X3NldHJlZ2lkLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3NldHJlZ2lkX19kb2NfX30sCi0jZW5kaWYgLyogSEFWRV9TRVRSRUdJRCAqLwotI2lmZGVmIEhBVkVfU0VUR0lECi0gICAgeyJzZXRnaWQiLCAgICAgICAgICBwb3NpeF9zZXRnaWQsIE1FVEhfVkFSQVJHUywgcG9zaXhfc2V0Z2lkX19kb2NfX30sCi0jZW5kaWYgLyogSEFWRV9TRVRHSUQgKi8KLSNpZmRlZiBIQVZFX1NFVEdST1VQUwotICAgIHsic2V0Z3JvdXBzIiwgICAgICAgcG9zaXhfc2V0Z3JvdXBzLCBNRVRIX08sIHBvc2l4X3NldGdyb3Vwc19fZG9jX199LAotI2VuZGlmIC8qIEhBVkVfU0VUR1JPVVBTICovCisgICAgT1NfU0VUVUlEX01FVEhPRERFRgorICAgIE9TX1NFVEVVSURfTUVUSE9EREVGCisgICAgT1NfU0VUUkVVSURfTUVUSE9EREVGCisgICAgT1NfU0VUR0lEX01FVEhPRERFRgorICAgIE9TX1NFVEVHSURfTUVUSE9EREVGCisgICAgT1NfU0VUUkVHSURfTUVUSE9EREVGCisgICAgT1NfU0VUR1JPVVBTX01FVEhPRERFRgogI2lmZGVmIEhBVkVfSU5JVEdST1VQUwogICAgIHsiaW5pdGdyb3VwcyIsICAgICAgcG9zaXhfaW5pdGdyb3VwcywgTUVUSF9WQVJBUkdTLCBwb3NpeF9pbml0Z3JvdXBzX19kb2NfX30sCiAjZW5kaWYgLyogSEFWRV9JTklUR1JPVVBTICovCi0jaWZkZWYgSEFWRV9HRVRQR0lECi0gICAgeyJnZXRwZ2lkIiwgICAgICAgICBwb3NpeF9nZXRwZ2lkLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X2dldHBnaWRfX2RvY19ffSwKLSNlbmRpZiAvKiBIQVZFX0dFVFBHSUQgKi8KLSNpZmRlZiBIQVZFX1NFVFBHUlAKLSAgICB7InNldHBncnAiLCAgICAgICAgIHBvc2l4X3NldHBncnAsIE1FVEhfTk9BUkdTLCBwb3NpeF9zZXRwZ3JwX19kb2NfX30sCi0jZW5kaWYgLyogSEFWRV9TRVRQR1JQICovCi0jaWZkZWYgSEFWRV9XQUlUCi0gICAgeyJ3YWl0IiwgICAgICAgICAgICBwb3NpeF93YWl0LCBNRVRIX05PQVJHUywgcG9zaXhfd2FpdF9fZG9jX199LAotI2VuZGlmIC8qIEhBVkVfV0FJVCAqLwotI2lmZGVmIEhBVkVfV0FJVDMKLSAgICB7IndhaXQzIiwgICAgICAgICAgIHBvc2l4X3dhaXQzLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3dhaXQzX19kb2NfX30sCi0jZW5kaWYgLyogSEFWRV9XQUlUMyAqLwotI2lmZGVmIEhBVkVfV0FJVDQKLSAgICB7IndhaXQ0IiwgICAgICAgICAgIHBvc2l4X3dhaXQ0LCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3dhaXQ0X19kb2NfX30sCi0jZW5kaWYgLyogSEFWRV9XQUlUNCAqLwotI2lmIGRlZmluZWQoSEFWRV9XQUlUSUQpICYmICFkZWZpbmVkKF9fQVBQTEVfXykKLSAgICB7IndhaXRpZCIsICAgICAgICAgIHBvc2l4X3dhaXRpZCwgTUVUSF9WQVJBUkdTLCBwb3NpeF93YWl0aWRfX2RvY19ffSwKLSNlbmRpZgotI2lmIGRlZmluZWQoSEFWRV9XQUlUUElEKSB8fCBkZWZpbmVkKEhBVkVfQ1dBSVQpCi0gICAgeyJ3YWl0cGlkIiwgICAgICAgICBwb3NpeF93YWl0cGlkLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3dhaXRwaWRfX2RvY19ffSwKLSNlbmRpZiAvKiBIQVZFX1dBSVRQSUQgKi8KLSNpZmRlZiBIQVZFX0dFVFNJRAotICAgIHsiZ2V0c2lkIiwgICAgICAgICAgcG9zaXhfZ2V0c2lkLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X2dldHNpZF9fZG9jX199LAotI2VuZGlmIC8qIEhBVkVfR0VUU0lEICovCi0jaWZkZWYgSEFWRV9TRVRTSUQKLSAgICB7InNldHNpZCIsICAgICAgICAgIHBvc2l4X3NldHNpZCwgTUVUSF9OT0FSR1MsIHBvc2l4X3NldHNpZF9fZG9jX199LAotI2VuZGlmIC8qIEhBVkVfU0VUU0lEICovCi0jaWZkZWYgSEFWRV9TRVRQR0lECi0gICAgeyJzZXRwZ2lkIiwgICAgICAgICBwb3NpeF9zZXRwZ2lkLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3NldHBnaWRfX2RvY19ffSwKLSNlbmRpZiAvKiBIQVZFX1NFVFBHSUQgKi8KLSNpZmRlZiBIQVZFX1RDR0VUUEdSUAotICAgIHsidGNnZXRwZ3JwIiwgICAgICAgcG9zaXhfdGNnZXRwZ3JwLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3RjZ2V0cGdycF9fZG9jX199LAotI2VuZGlmIC8qIEhBVkVfVENHRVRQR1JQICovCi0jaWZkZWYgSEFWRV9UQ1NFVFBHUlAKLSAgICB7InRjc2V0cGdycCIsICAgICAgIHBvc2l4X3Rjc2V0cGdycCwgTUVUSF9WQVJBUkdTLCBwb3NpeF90Y3NldHBncnBfX2RvY19ffSwKLSNlbmRpZiAvKiBIQVZFX1RDU0VUUEdSUCAqLwotICAgIHsib3BlbiIsICAgICAgICAgICAgKFB5Q0Z1bmN0aW9uKXBvc2l4X29wZW4sXAotICAgICAgICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywKLSAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l4X29wZW5fX2RvY19ffSwKLSAgICB7ImNsb3NlIiwgICAgICAgICAgIHBvc2l4X2Nsb3NlXywgTUVUSF9WQVJBUkdTLCBwb3NpeF9jbG9zZV9fZG9jX199LAotICAgIHsiY2xvc2VyYW5nZSIsICAgICAgcG9zaXhfY2xvc2VyYW5nZSwgTUVUSF9WQVJBUkdTLCBwb3NpeF9jbG9zZXJhbmdlX19kb2NfX30sCi0gICAgeyJkZXZpY2VfZW5jb2RpbmciLCBkZXZpY2VfZW5jb2RpbmcsIE1FVEhfVkFSQVJHUywgZGV2aWNlX2VuY29kaW5nX19kb2NfX30sCi0gICAgeyJkdXAiLCAgICAgICAgICAgICBwb3NpeF9kdXAsIE1FVEhfVkFSQVJHUywgcG9zaXhfZHVwX19kb2NfX30sCi0gICAgeyJkdXAyIiwgICAgICAgICAgICAoUHlDRnVuY3Rpb24pcG9zaXhfZHVwMiwKLSAgICAgICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsIHBvc2l4X2R1cDJfX2RvY19ffSwKLSNpZmRlZiBIQVZFX0xPQ0tGCi0gICAgeyJsb2NrZiIsICAgICAgICAgICBwb3NpeF9sb2NrZiwgTUVUSF9WQVJBUkdTLCBwb3NpeF9sb2NrZl9fZG9jX199LAotI2VuZGlmCi0gICAgeyJsc2VlayIsICAgICAgICAgICBwb3NpeF9sc2VlaywgTUVUSF9WQVJBUkdTLCBwb3NpeF9sc2Vla19fZG9jX199LAotICAgIHsicmVhZCIsICAgICAgICAgICAgcG9zaXhfcmVhZCwgTUVUSF9WQVJBUkdTLCBwb3NpeF9yZWFkX19kb2NfX30sCi0jaWZkZWYgSEFWRV9SRUFEVgotICAgIHsicmVhZHYiLCAgICAgICAgICAgcG9zaXhfcmVhZHYsIE1FVEhfVkFSQVJHUywgcG9zaXhfcmVhZHZfX2RvY19ffSwKLSNlbmRpZgotI2lmZGVmIEhBVkVfUFJFQUQKLSAgICB7InByZWFkIiwgICAgICAgICAgIHBvc2l4X3ByZWFkLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3ByZWFkX19kb2NfX30sCi0jZW5kaWYKLSAgICB7IndyaXRlIiwgICAgICAgICAgIHBvc2l4X3dyaXRlLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3dyaXRlX19kb2NfX30sCi0jaWZkZWYgSEFWRV9XUklURVYKLSAgICB7IndyaXRldiIsICAgICAgICAgIHBvc2l4X3dyaXRldiwgTUVUSF9WQVJBUkdTLCBwb3NpeF93cml0ZXZfX2RvY19ffSwKLSNlbmRpZgotI2lmZGVmIEhBVkVfUFdSSVRFCi0gICAgeyJwd3JpdGUiLCAgICAgICAgICBwb3NpeF9wd3JpdGUsIE1FVEhfVkFSQVJHUywgcG9zaXhfcHdyaXRlX19kb2NfX30sCi0jZW5kaWYKKyAgICBPU19HRVRQR0lEX01FVEhPRERFRgorICAgIE9TX1NFVFBHUlBfTUVUSE9EREVGCisgICAgT1NfV0FJVF9NRVRIT0RERUYKKyAgICBPU19XQUlUM19NRVRIT0RERUYKKyAgICBPU19XQUlUNF9NRVRIT0RERUYKKyAgICBPU19XQUlUSURfTUVUSE9EREVGCisgICAgT1NfV0FJVFBJRF9NRVRIT0RERUYKKyAgICBPU19HRVRTSURfTUVUSE9EREVGCisgICAgT1NfU0VUU0lEX01FVEhPRERFRgorICAgIE9TX1NFVFBHSURfTUVUSE9EREVGCisgICAgT1NfVENHRVRQR1JQX01FVEhPRERFRgorICAgIE9TX1RDU0VUUEdSUF9NRVRIT0RERUYKKyAgICBPU19PUEVOX01FVEhPRERFRgorICAgIE9TX0NMT1NFX01FVEhPRERFRgorICAgIE9TX0NMT1NFUkFOR0VfTUVUSE9EREVGCisgICAgT1NfREVWSUNFX0VOQ09ESU5HX01FVEhPRERFRgorICAgIE9TX0RVUF9NRVRIT0RERUYKKyAgICBPU19EVVAyX01FVEhPRERFRgorICAgIE9TX0xPQ0tGX01FVEhPRERFRgorICAgIE9TX0xTRUVLX01FVEhPRERFRgorICAgIE9TX1JFQURfTUVUSE9EREVGCisgICAgT1NfUkVBRFZfTUVUSE9EREVGCisgICAgT1NfUFJFQURfTUVUSE9EREVGCisgICAgT1NfV1JJVEVfTUVUSE9EREVGCisgICAgT1NfV1JJVEVWX01FVEhPRERFRgorICAgIE9TX1BXUklURV9NRVRIT0RERUYKICNpZmRlZiBIQVZFX1NFTkRGSUxFCiAgICAgeyJzZW5kZmlsZSIsICAgICAgICAoUHlDRnVuY3Rpb24pcG9zaXhfc2VuZGZpbGUsIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXhfc2VuZGZpbGVfX2RvY19ffSwKICNlbmRpZgotICAgIHsiZnN0YXQiLCAgICAgICAgICAgcG9zaXhfZnN0YXQsIE1FVEhfVkFSQVJHUywgcG9zaXhfZnN0YXRfX2RvY19ffSwKLSAgICB7ImlzYXR0eSIsICAgICAgICAgIHBvc2l4X2lzYXR0eSwgTUVUSF9WQVJBUkdTLCBwb3NpeF9pc2F0dHlfX2RvY19ffSwKLSNpZmRlZiBIQVZFX1BJUEUKLSAgICB7InBpcGUiLCAgICAgICAgICAgIHBvc2l4X3BpcGUsIE1FVEhfTk9BUkdTLCBwb3NpeF9waXBlX19kb2NfX30sCi0jZW5kaWYKLSNpZmRlZiBIQVZFX1BJUEUyCi0gICAgeyJwaXBlMiIsICAgICAgICAgICBwb3NpeF9waXBlMiwgTUVUSF9PLCBwb3NpeF9waXBlMl9fZG9jX199LAotI2VuZGlmCi0jaWZkZWYgSEFWRV9NS0ZJRk8KLSAgICB7Im1rZmlmbyIsICAgICAgICAgIChQeUNGdW5jdGlvbilwb3NpeF9ta2ZpZm8sCi0gICAgICAgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLAotICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXhfbWtmaWZvX19kb2NfX30sCi0jZW5kaWYKLSNpZiBkZWZpbmVkKEhBVkVfTUtOT0QpICYmIGRlZmluZWQoSEFWRV9NQUtFREVWKQotICAgIHsibWtub2QiLCAgICAgICAgICAgKFB5Q0Z1bmN0aW9uKXBvc2l4X21rbm9kLAotICAgICAgICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywKLSAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l4X21rbm9kX19kb2NfX30sCi0jZW5kaWYKLSNpZmRlZiBIQVZFX0RFVklDRV9NQUNST1MKLSAgICB7Im1ham9yIiwgICAgICAgICAgIHBvc2l4X21ham9yLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X21ham9yX19kb2NfX30sCi0gICAgeyJtaW5vciIsICAgICAgICAgICBwb3NpeF9taW5vciwgTUVUSF9WQVJBUkdTLCBwb3NpeF9taW5vcl9fZG9jX199LAotICAgIHsibWFrZWRldiIsICAgICAgICAgcG9zaXhfbWFrZWRldiwgTUVUSF9WQVJBUkdTLCBwb3NpeF9tYWtlZGV2X19kb2NfX30sCi0jZW5kaWYKLSNpZmRlZiBIQVZFX0ZUUlVOQ0FURQotICAgIHsiZnRydW5jYXRlIiwgICAgICAgcG9zaXhfZnRydW5jYXRlLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X2Z0cnVuY2F0ZV9fZG9jX199LAotI2VuZGlmCi0jaWZkZWYgSEFWRV9UUlVOQ0FURQotICAgIHsidHJ1bmNhdGUiLCAgICAgICAgKFB5Q0Z1bmN0aW9uKXBvc2l4X3RydW5jYXRlLAotICAgICAgICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywKLSAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l4X3RydW5jYXRlX19kb2NfX30sCi0jZW5kaWYKLSNpZiBkZWZpbmVkKEhBVkVfUE9TSVhfRkFMTE9DQVRFKSAmJiAhZGVmaW5lZChQT1NJWF9GQURWSVNFX0FJWF9CVUcpCi0gICAgeyJwb3NpeF9mYWxsb2NhdGUiLCBwb3NpeF9wb3NpeF9mYWxsb2NhdGUsIE1FVEhfVkFSQVJHUywgcG9zaXhfcG9zaXhfZmFsbG9jYXRlX19kb2NfX30sCi0jZW5kaWYKLSNpZiBkZWZpbmVkKEhBVkVfUE9TSVhfRkFEVklTRSkgJiYgIWRlZmluZWQoUE9TSVhfRkFEVklTRV9BSVhfQlVHKQotICAgIHsicG9zaXhfZmFkdmlzZSIsICAgcG9zaXhfcG9zaXhfZmFkdmlzZSwgTUVUSF9WQVJBUkdTLCBwb3NpeF9wb3NpeF9mYWR2aXNlX19kb2NfX30sCi0jZW5kaWYKLSNpZmRlZiBIQVZFX1BVVEVOVgotICAgIHsicHV0ZW52IiwgICAgICAgICAgcG9zaXhfcHV0ZW52LCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3B1dGVudl9fZG9jX199LAotI2VuZGlmCi0jaWZkZWYgSEFWRV9VTlNFVEVOVgotICAgIHsidW5zZXRlbnYiLCAgICAgICAgcG9zaXhfdW5zZXRlbnYsIE1FVEhfVkFSQVJHUywgcG9zaXhfdW5zZXRlbnZfX2RvY19ffSwKLSNlbmRpZgotICAgIHsic3RyZXJyb3IiLCAgICAgICAgcG9zaXhfc3RyZXJyb3IsIE1FVEhfVkFSQVJHUywgcG9zaXhfc3RyZXJyb3JfX2RvY19ffSwKLSNpZmRlZiBIQVZFX0ZDSERJUgotICAgIHsiZmNoZGlyIiwgICAgICAgICAgcG9zaXhfZmNoZGlyLCBNRVRIX08sIHBvc2l4X2ZjaGRpcl9fZG9jX199LAotI2VuZGlmCi0jaWZkZWYgSEFWRV9GU1lOQwotICAgIHsiZnN5bmMiLCAgICAgICBwb3NpeF9mc3luYywgTUVUSF9PLCBwb3NpeF9mc3luY19fZG9jX199LAotI2VuZGlmCi0jaWZkZWYgSEFWRV9TWU5DCi0gICAgeyJzeW5jIiwgICAgICAgIHBvc2l4X3N5bmMsIE1FVEhfTk9BUkdTLCBwb3NpeF9zeW5jX19kb2NfX30sCi0jZW5kaWYKLSNpZmRlZiBIQVZFX0ZEQVRBU1lOQwotICAgIHsiZmRhdGFzeW5jIiwgICBwb3NpeF9mZGF0YXN5bmMsICBNRVRIX08sIHBvc2l4X2ZkYXRhc3luY19fZG9jX199LAotI2VuZGlmCi0jaWZkZWYgSEFWRV9TWVNfV0FJVF9ICi0jaWZkZWYgV0NPUkVEVU1QCi0gICAgeyJXQ09SRURVTVAiLCAgICAgICBwb3NpeF9XQ09SRURVTVAsIE1FVEhfVkFSQVJHUywgcG9zaXhfV0NPUkVEVU1QX19kb2NfX30sCi0jZW5kaWYgLyogV0NPUkVEVU1QICovCi0jaWZkZWYgV0lGQ09OVElOVUVECi0gICAgeyJXSUZDT05USU5VRUQiLHBvc2l4X1dJRkNPTlRJTlVFRCwgTUVUSF9WQVJBUkdTLCBwb3NpeF9XSUZDT05USU5VRURfX2RvY19ffSwKLSNlbmRpZiAvKiBXSUZDT05USU5VRUQgKi8KLSNpZmRlZiBXSUZTVE9QUEVECi0gICAgeyJXSUZTVE9QUEVEIiwgICAgICBwb3NpeF9XSUZTVE9QUEVELCBNRVRIX1ZBUkFSR1MsIHBvc2l4X1dJRlNUT1BQRURfX2RvY19ffSwKLSNlbmRpZiAvKiBXSUZTVE9QUEVEICovCi0jaWZkZWYgV0lGU0lHTkFMRUQKLSAgICB7IldJRlNJR05BTEVEIiwgICAgIHBvc2l4X1dJRlNJR05BTEVELCBNRVRIX1ZBUkFSR1MsIHBvc2l4X1dJRlNJR05BTEVEX19kb2NfX30sCi0jZW5kaWYgLyogV0lGU0lHTkFMRUQgKi8KLSNpZmRlZiBXSUZFWElURUQKLSAgICB7IldJRkVYSVRFRCIsICAgICAgIHBvc2l4X1dJRkVYSVRFRCwgTUVUSF9WQVJBUkdTLCBwb3NpeF9XSUZFWElURURfX2RvY19ffSwKLSNlbmRpZiAvKiBXSUZFWElURUQgKi8KLSNpZmRlZiBXRVhJVFNUQVRVUwotICAgIHsiV0VYSVRTVEFUVVMiLCAgICAgcG9zaXhfV0VYSVRTVEFUVVMsIE1FVEhfVkFSQVJHUywgcG9zaXhfV0VYSVRTVEFUVVNfX2RvY19ffSwKLSNlbmRpZiAvKiBXRVhJVFNUQVRVUyAqLwotI2lmZGVmIFdURVJNU0lHCi0gICAgeyJXVEVSTVNJRyIsICAgICAgICBwb3NpeF9XVEVSTVNJRywgTUVUSF9WQVJBUkdTLCBwb3NpeF9XVEVSTVNJR19fZG9jX199LAotI2VuZGlmIC8qIFdURVJNU0lHICovCi0jaWZkZWYgV1NUT1BTSUcKLSAgICB7IldTVE9QU0lHIiwgICAgICAgIHBvc2l4X1dTVE9QU0lHLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X1dTVE9QU0lHX19kb2NfX30sCi0jZW5kaWYgLyogV1NUT1BTSUcgKi8KLSNlbmRpZiAvKiBIQVZFX1NZU19XQUlUX0ggKi8KLSNpZiBkZWZpbmVkKEhBVkVfRlNUQVRWRlMpICYmIGRlZmluZWQoSEFWRV9TWVNfU1RBVFZGU19IKQotICAgIHsiZnN0YXR2ZnMiLCAgICAgICAgcG9zaXhfZnN0YXR2ZnMsIE1FVEhfVkFSQVJHUywgcG9zaXhfZnN0YXR2ZnNfX2RvY19ffSwKLSNlbmRpZgotI2lmIGRlZmluZWQoSEFWRV9TVEFUVkZTKSAmJiBkZWZpbmVkKEhBVkVfU1lTX1NUQVRWRlNfSCkKLSAgICB7InN0YXR2ZnMiLCAgICAgICAgIChQeUNGdW5jdGlvbilwb3NpeF9zdGF0dmZzLAotICAgICAgICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywKLSAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l4X3N0YXR2ZnNfX2RvY19ffSwKLSNlbmRpZgotI2lmZGVmIEhBVkVfQ09ORlNUUgotICAgIHsiY29uZnN0ciIsICAgICAgICAgcG9zaXhfY29uZnN0ciwgTUVUSF9WQVJBUkdTLCBwb3NpeF9jb25mc3RyX19kb2NfX30sCi0jZW5kaWYKLSNpZmRlZiBIQVZFX1NZU0NPTkYKLSAgICB7InN5c2NvbmYiLCAgICAgICAgIHBvc2l4X3N5c2NvbmYsIE1FVEhfVkFSQVJHUywgcG9zaXhfc3lzY29uZl9fZG9jX199LAotI2VuZGlmCi0jaWZkZWYgSEFWRV9GUEFUSENPTkYKLSAgICB7ImZwYXRoY29uZiIsICAgICAgIHBvc2l4X2ZwYXRoY29uZiwgTUVUSF9WQVJBUkdTLCBwb3NpeF9mcGF0aGNvbmZfX2RvY19ffSwKLSNlbmRpZgotI2lmZGVmIEhBVkVfUEFUSENPTkYKLSAgICB7InBhdGhjb25mIiwgICAgICAgIChQeUNGdW5jdGlvbilwb3NpeF9wYXRoY29uZiwKLSAgICAgICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsCi0gICAgICAgICAgICAgICAgICAgICAgICBwb3NpeF9wYXRoY29uZl9fZG9jX199LAotI2VuZGlmCi0gICAgeyJhYm9ydCIsICAgICAgICAgICBwb3NpeF9hYm9ydCwgTUVUSF9OT0FSR1MsIHBvc2l4X2Fib3J0X19kb2NfX30sCisgICAgT1NfRlNUQVRfTUVUSE9EREVGCisgICAgT1NfSVNBVFRZX01FVEhPRERFRgorICAgIE9TX1BJUEVfTUVUSE9EREVGCisgICAgT1NfUElQRTJfTUVUSE9EREVGCisgICAgT1NfTUtGSUZPX01FVEhPRERFRgorICAgIE9TX01LTk9EX01FVEhPRERFRgorICAgIE9TX01BSk9SX01FVEhPRERFRgorICAgIE9TX01JTk9SX01FVEhPRERFRgorICAgIE9TX01BS0VERVZfTUVUSE9EREVGCisgICAgT1NfRlRSVU5DQVRFX01FVEhPRERFRgorICAgIE9TX1RSVU5DQVRFX01FVEhPRERFRgorICAgIE9TX1BPU0lYX0ZBTExPQ0FURV9NRVRIT0RERUYKKyAgICBPU19QT1NJWF9GQURWSVNFX01FVEhPRERFRgorICAgIE9TX1BVVEVOVl9NRVRIT0RERUYKKyAgICBPU19VTlNFVEVOVl9NRVRIT0RERUYKKyAgICBPU19TVFJFUlJPUl9NRVRIT0RERUYKKyAgICBPU19GQ0hESVJfTUVUSE9EREVGCisgICAgT1NfRlNZTkNfTUVUSE9EREVGCisgICAgT1NfU1lOQ19NRVRIT0RERUYKKyAgICBPU19GREFUQVNZTkNfTUVUSE9EREVGCisgICAgT1NfV0NPUkVEVU1QX01FVEhPRERFRgorICAgIE9TX1dJRkNPTlRJTlVFRF9NRVRIT0RERUYKKyAgICBPU19XSUZTVE9QUEVEX01FVEhPRERFRgorICAgIE9TX1dJRlNJR05BTEVEX01FVEhPRERFRgorICAgIE9TX1dJRkVYSVRFRF9NRVRIT0RERUYKKyAgICBPU19XRVhJVFNUQVRVU19NRVRIT0RERUYKKyAgICBPU19XVEVSTVNJR19NRVRIT0RERUYKKyAgICBPU19XU1RPUFNJR19NRVRIT0RERUYKKyAgICBPU19GU1RBVFZGU19NRVRIT0RERUYKKyAgICBPU19TVEFUVkZTX01FVEhPRERFRgorICAgIE9TX0NPTkZTVFJfTUVUSE9EREVGCisgICAgT1NfU1lTQ09ORl9NRVRIT0RERUYKKyAgICBPU19GUEFUSENPTkZfTUVUSE9EREVGCisgICAgT1NfUEFUSENPTkZfTUVUSE9EREVGCisgICAgT1NfQUJPUlRfTUVUSE9EREVGCiAjaWZkZWYgTVNfV0lORE9XUwogICAgIHsiX2dldGZ1bGxwYXRobmFtZSIsICAgICAgICBwb3NpeF9fZ2V0ZnVsbHBhdGhuYW1lLCBNRVRIX1ZBUkFSR1MsIE5VTEx9LAotICAgIHsiX2dldGZpbmFscGF0aG5hbWUiLCAgICAgICBwb3NpeF9fZ2V0ZmluYWxwYXRobmFtZSwgTUVUSF9WQVJBUkdTLCBOVUxMfSwKICAgICB7Il9pc2RpciIsICAgICAgICAgICAgICAgICAgcG9zaXhfX2lzZGlyLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X19pc2Rpcl9fZG9jX199LAotICAgIHsiX2dldGRpc2t1c2FnZSIsICAgICAgICAgICB3aW4zMl9fZ2V0ZGlza3VzYWdlLCBNRVRIX1ZBUkFSR1MsIHdpbjMyX19nZXRkaXNrdXNhZ2VfX2RvY19ffSwKLSAgICB7Il9nZXR2b2x1bWVwYXRobmFtZSIsICAgICAgcG9zaXhfX2dldHZvbHVtZXBhdGhuYW1lLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X19nZXR2b2x1bWVwYXRobmFtZV9fZG9jX199LAogI2VuZGlmCi0jaWZkZWYgSEFWRV9HRVRMT0FEQVZHCi0gICAgeyJnZXRsb2FkYXZnIiwgICAgICBwb3NpeF9nZXRsb2FkYXZnLCBNRVRIX05PQVJHUywgcG9zaXhfZ2V0bG9hZGF2Z19fZG9jX199LAotI2VuZGlmCi0gICAgeyJ1cmFuZG9tIiwgICAgICAgICBwb3NpeF91cmFuZG9tLCAgIE1FVEhfVkFSQVJHUywgcG9zaXhfdXJhbmRvbV9fZG9jX199LAotI2lmZGVmIEhBVkVfU0VUUkVTVUlECi0gICAgeyJzZXRyZXN1aWQiLCAgICAgICBwb3NpeF9zZXRyZXN1aWQsIE1FVEhfVkFSQVJHUywgcG9zaXhfc2V0cmVzdWlkX19kb2NfX30sCi0jZW5kaWYKLSNpZmRlZiBIQVZFX1NFVFJFU0dJRAotICAgIHsic2V0cmVzZ2lkIiwgICAgICAgcG9zaXhfc2V0cmVzZ2lkLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3NldHJlc2dpZF9fZG9jX199LAotI2VuZGlmCi0jaWZkZWYgSEFWRV9HRVRSRVNVSUQKLSAgICB7ImdldHJlc3VpZCIsICAgICAgIHBvc2l4X2dldHJlc3VpZCwgTUVUSF9OT0FSR1MsIHBvc2l4X2dldHJlc3VpZF9fZG9jX199LAotI2VuZGlmCi0jaWZkZWYgSEFWRV9HRVRSRVNHSUQKLSAgICB7ImdldHJlc2dpZCIsICAgICAgIHBvc2l4X2dldHJlc2dpZCwgTUVUSF9OT0FSR1MsIHBvc2l4X2dldHJlc2dpZF9fZG9jX199LAotI2VuZGlmCisgICAgT1NfX0dFVERJU0tVU0FHRV9NRVRIT0RERUYKKyAgICBPU19fR0VURklOQUxQQVRITkFNRV9NRVRIT0RERUYKKyAgICBPU19fR0VUVk9MVU1FUEFUSE5BTUVfTUVUSE9EREVGCisgICAgT1NfR0VUTE9BREFWR19NRVRIT0RERUYKKyAgICBPU19VUkFORE9NX01FVEhPRERFRgorICAgIE9TX1NFVFJFU1VJRF9NRVRIT0RERUYKKyAgICBPU19TRVRSRVNHSURfTUVUSE9EREVGCisgICAgT1NfR0VUUkVTVUlEX01FVEhPRERFRgorICAgIE9TX0dFVFJFU0dJRF9NRVRIT0RERUYKIAotI2lmZGVmIFVTRV9YQVRUUlMKLSAgICB7InNldHhhdHRyIiwgKFB5Q0Z1bmN0aW9uKXBvc2l4X3NldHhhdHRyLAotICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLAotICAgICAgICAgICAgICAgICBwb3NpeF9zZXR4YXR0cl9fZG9jX199LAotICAgIHsiZ2V0eGF0dHIiLCAoUHlDRnVuY3Rpb24pcG9zaXhfZ2V0eGF0dHIsCi0gICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsCi0gICAgICAgICAgICAgICAgIHBvc2l4X2dldHhhdHRyX19kb2NfX30sCi0gICAgeyJyZW1vdmV4YXR0ciIsIChQeUNGdW5jdGlvbilwb3NpeF9yZW1vdmV4YXR0ciwKLSAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywKLSAgICAgICAgICAgICAgICAgcG9zaXhfcmVtb3ZleGF0dHJfX2RvY19ffSwKLSAgICB7Imxpc3R4YXR0ciIsIChQeUNGdW5jdGlvbilwb3NpeF9saXN0eGF0dHIsCi0gICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsCi0gICAgICAgICAgICAgICAgIHBvc2l4X2xpc3R4YXR0cl9fZG9jX199LAotI2VuZGlmCisgICAgT1NfR0VUWEFUVFJfTUVUSE9EREVGCisgICAgT1NfU0VUWEFUVFJfTUVUSE9EREVGCisgICAgT1NfUkVNT1ZFWEFUVFJfTUVUSE9EREVGCisgICAgT1NfTElTVFhBVFRSX01FVEhPRERFRgorCiAjaWYgZGVmaW5lZChURVJNU0laRV9VU0VfQ09OSU8pIHx8IGRlZmluZWQoVEVSTVNJWkVfVVNFX0lPQ1RMKQogICAgIHsiZ2V0X3Rlcm1pbmFsX3NpemUiLCBnZXRfdGVybWluYWxfc2l6ZSwgTUVUSF9WQVJBUkdTLCB0ZXJtc2l6ZV9fZG9jX199LAogI2VuZGlmCi0gICAgeyJjcHVfY291bnQiLCAoUHlDRnVuY3Rpb24pcG9zaXhfY3B1X2NvdW50LAotICAgICAgICAgICAgICAgICAgTUVUSF9OT0FSR1MsIHBvc2l4X2NwdV9jb3VudF9fZG9jX199LAotICAgIHsiZ2V0X2luaGVyaXRhYmxlIiwgcG9zaXhfZ2V0X2luaGVyaXRhYmxlLCBNRVRIX1ZBUkFSR1MsIGdldF9pbmhlcml0YWJsZV9fZG9jX199LAotICAgIHsic2V0X2luaGVyaXRhYmxlIiwgcG9zaXhfc2V0X2luaGVyaXRhYmxlLCBNRVRIX1ZBUkFSR1MsIHNldF9pbmhlcml0YWJsZV9fZG9jX199LAotI2lmZGVmIE1TX1dJTkRPV1MKLSAgICB7ImdldF9oYW5kbGVfaW5oZXJpdGFibGUiLCBwb3NpeF9nZXRfaGFuZGxlX2luaGVyaXRhYmxlLAotICAgICBNRVRIX1ZBUkFSR1MsIGdldF9oYW5kbGVfaW5oZXJpdGFibGVfX2RvY19ffSwKLSAgICB7InNldF9oYW5kbGVfaW5oZXJpdGFibGUiLCBwb3NpeF9zZXRfaGFuZGxlX2luaGVyaXRhYmxlLAotICAgICBNRVRIX1ZBUkFSR1MsIHNldF9oYW5kbGVfaW5oZXJpdGFibGVfX2RvY19ffSwKKyAgICBPU19DUFVfQ09VTlRfTUVUSE9EREVGCisgICAgT1NfR0VUX0lOSEVSSVRBQkxFX01FVEhPRERFRgorICAgIE9TX1NFVF9JTkhFUklUQUJMRV9NRVRIT0RERUYKKyAgICBPU19HRVRfSEFORExFX0lOSEVSSVRBQkxFX01FVEhPRERFRgorICAgIE9TX1NFVF9IQU5ETEVfSU5IRVJJVEFCTEVfTUVUSE9EREVGCisjaWZuZGVmIE1TX1dJTkRPV1MKKyAgICB7ImdldF9ibG9ja2luZyIsIHBvc2l4X2dldF9ibG9ja2luZywgTUVUSF9WQVJBUkdTLCBnZXRfYmxvY2tpbmdfX2RvY19ffSwKKyAgICB7InNldF9ibG9ja2luZyIsIHBvc2l4X3NldF9ibG9ja2luZywgTUVUSF9WQVJBUkdTLCBzZXRfYmxvY2tpbmdfX2RvY19ffSwKICNlbmRpZgogICAgIHtOVUxMLCAgICAgICAgICAgICAgTlVMTH0gICAgICAgICAgICAvKiBTZW50aW5lbCAqLwogfTsKQEAgLTEyMDgwLDcgKzE3NjU4LDcgQEAKIH0KIAogCi0jaWYgKGRlZmluZWQoX01TQ19WRVIpIHx8IGRlZmluZWQoX19XQVRDT01DX18pIHx8IGRlZmluZWQoX19CT1JMQU5EQ19fKSkgJiYgIWRlZmluZWQoX19RTlhfXykKKyNpZmRlZiBNU19XSU5ET1dTCiAjZGVmaW5lIElOSVRGVU5DIFB5SW5pdF9udAogI2RlZmluZSBNT0ROQU1FICJudCIKIApAQCAtMTIzMDIsNyArMTc4ODAsNyBAQAogICAgICAgICBzY2hlZF9wYXJhbV9kZXNjLm5hbWUgPSBNT0ROQU1FICIuc2NoZWRfcGFyYW0iOwogICAgICAgICBpZiAoUHlTdHJ1Y3RTZXF1ZW5jZV9Jbml0VHlwZTIoJlNjaGVkUGFyYW1UeXBlLCAmc2NoZWRfcGFyYW1fZGVzYykgPCAwKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIFNjaGVkUGFyYW1UeXBlLnRwX25ldyA9IHNjaGVkX3BhcmFtX25ldzsKKyAgICAgICAgU2NoZWRQYXJhbVR5cGUudHBfbmV3ID0gb3Nfc2NoZWRfcGFyYW07CiAjZW5kaWYKIAogICAgICAgICAvKiBpbml0aWFsaXplIFRlcm1pbmFsU2l6ZV9pbmZvICovCmRpZmYgLS1naXQgYS9Nb2R1bGVzL3B3ZG1vZHVsZS5jIGIvTW9kdWxlcy9wd2Rtb2R1bGUuYwppbmRleCBlYmI4NzEyLi5iMDI3NTNmIDEwMDY0NAotLS0gYS9Nb2R1bGVzL3B3ZG1vZHVsZS5jCisrKyBiL01vZHVsZXMvcHdkbW9kdWxlLmMKQEAgLTYsNiArNiwxMyBAQAogCiAjaW5jbHVkZSA8cHdkLmg+CiAKKyNpbmNsdWRlICJjbGluaWMvcHdkbW9kdWxlLmMuaCIKKy8qW2NsaW5pYyBpbnB1dF0KK291dHB1dCBwcmVzZXQgZmlsZQorbW9kdWxlIHB3ZAorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWRhMzlhM2VlNWU2YjRiMGQgaW5wdXQ9YmJjZjY4YjFmNTQ5ZjkxN10qLworCiBzdGF0aWMgUHlTdHJ1Y3RTZXF1ZW5jZV9GaWVsZCBzdHJ1Y3RfcHdkX3R5cGVfZmllbGRzW10gPSB7CiAgICAgeyJwd19uYW1lIiwgInVzZXIgbmFtZSJ9LAogICAgIHsicHdfcGFzc3dkIiwgInBhc3N3b3JkIn0sCkBAIC04NywxOCArOTQsMjUgQEAKICAgICByZXR1cm4gdjsKIH0KIAotUHlEb2NfU1RSVkFSKHB3ZF9nZXRwd3VpZF9fZG9jX18sCi0iZ2V0cHd1aWQodWlkKSAtPiAocHdfbmFtZSxwd19wYXNzd2QscHdfdWlkLFxuXAotICAgICAgICAgICAgICAgICAgcHdfZ2lkLHB3X2dlY29zLHB3X2Rpcixwd19zaGVsbClcblwKLVJldHVybiB0aGUgcGFzc3dvcmQgZGF0YWJhc2UgZW50cnkgZm9yIHRoZSBnaXZlbiBudW1lcmljIHVzZXIgSUQuXG5cCi1TZWUgaGVscChwd2QpIGZvciBtb3JlIG9uIHBhc3N3b3JkIGRhdGFiYXNlIGVudHJpZXMuIik7CisvKltjbGluaWMgaW5wdXRdCitwd2QuZ2V0cHd1aWQKKworICAgIHVpZG9iajogb2JqZWN0CisgICAgLworCitSZXR1cm4gdGhlIHBhc3N3b3JkIGRhdGFiYXNlIGVudHJ5IGZvciB0aGUgZ2l2ZW4gbnVtZXJpYyB1c2VyIElELgorCitTZWUgYGhlbHAocHdkKWAgZm9yIG1vcmUgb24gcGFzc3dvcmQgZGF0YWJhc2UgZW50cmllcy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLXB3ZF9nZXRwd3VpZChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitwd2RfZ2V0cHd1aWQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKnVpZG9iaikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1jYmEyOWFlNGMyYmNiOGUxIGlucHV0PWFlNjRkNTA3YTFjNmQzZThdKi8KIHsKICAgICB1aWRfdCB1aWQ7CiAgICAgc3RydWN0IHBhc3N3ZCAqcDsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk8mOmdldHB3dWlkIiwgX1B5X1VpZF9Db252ZXJ0ZXIsICZ1aWQpKSB7CisKKyAgICBpZiAoIV9QeV9VaWRfQ29udmVydGVyKHVpZG9iaiwgJnVpZCkpIHsKICAgICAgICAgaWYgKFB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMoUHlFeGNfT3ZlcmZsb3dFcnJvcikpCiAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfS2V5RXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAgImdldHB3dWlkKCk6IHVpZCBub3QgZm91bmQiKTsKQEAgLTExNiwyMSArMTMwLDI1IEBACiAgICAgcmV0dXJuIG1rcHdlbnQocCk7CiB9CiAKLVB5RG9jX1NUUlZBUihwd2RfZ2V0cHduYW1fX2RvY19fLAotImdldHB3bmFtKG5hbWUpIC0+IChwd19uYW1lLHB3X3Bhc3N3ZCxwd191aWQsXG5cCi0gICAgICAgICAgICAgICAgICAgIHB3X2dpZCxwd19nZWNvcyxwd19kaXIscHdfc2hlbGwpXG5cCi1SZXR1cm4gdGhlIHBhc3N3b3JkIGRhdGFiYXNlIGVudHJ5IGZvciB0aGUgZ2l2ZW4gdXNlciBuYW1lLlxuXAotU2VlIGhlbHAocHdkKSBmb3IgbW9yZSBvbiBwYXNzd29yZCBkYXRhYmFzZSBlbnRyaWVzLiIpOworLypbY2xpbmljIGlucHV0XQorcHdkLmdldHB3bmFtCisKKyAgICBhcmc6IHVuaWNvZGUKKyAgICAvCisKK1JldHVybiB0aGUgcGFzc3dvcmQgZGF0YWJhc2UgZW50cnkgZm9yIHRoZSBnaXZlbiB1c2VyIG5hbWUuCisKK1NlZSBgaGVscChwd2QpYCBmb3IgbW9yZSBvbiBwYXNzd29yZCBkYXRhYmFzZSBlbnRyaWVzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwogCiBzdGF0aWMgUHlPYmplY3QgKgotcHdkX2dldHB3bmFtKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3B3ZF9nZXRwd25hbV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmcpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NjY4NDhkNDJkMzg2ZmNhMyBpbnB1dD1kNWY3ZTcwMDkxOWIwMmQzXSovCiB7CiAgICAgY2hhciAqbmFtZTsKICAgICBzdHJ1Y3QgcGFzc3dkICpwOwotICAgIFB5T2JqZWN0ICphcmcsICpieXRlcywgKnJldHZhbCA9IE5VTEw7CisgICAgUHlPYmplY3QgKmJ5dGVzLCAqcmV0dmFsID0gTlVMTDsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiVTpnZXRwd25hbSIsICZhcmcpKQotICAgICAgICByZXR1cm4gTlVMTDsKICAgICBpZiAoKGJ5dGVzID0gUHlVbmljb2RlX0VuY29kZUZTRGVmYXVsdChhcmcpKSA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICBpZiAoUHlCeXRlc19Bc1N0cmluZ0FuZFNpemUoYnl0ZXMsICZuYW1lLCBOVUxMKSA9PSAtMSkKQEAgLTE0NywxNCArMTY1LDE3IEBACiB9CiAKICNpZmRlZiBIQVZFX0dFVFBXRU5UCi1QeURvY19TVFJWQVIocHdkX2dldHB3YWxsX19kb2NfXywKLSJnZXRwd2FsbCgpIC0+IGxpc3Rfb2ZfZW50cmllc1xuXAotUmV0dXJuIGEgbGlzdCBvZiBhbGwgYXZhaWxhYmxlIHBhc3N3b3JkIGRhdGFiYXNlIGVudHJpZXMsIFwKLWluIGFyYml0cmFyeSBvcmRlci5cblwKLVNlZSBoZWxwKHB3ZCkgZm9yIG1vcmUgb24gcGFzc3dvcmQgZGF0YWJhc2UgZW50cmllcy4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK3B3ZC5nZXRwd2FsbAorCitSZXR1cm4gYSBsaXN0IG9mIGFsbCBhdmFpbGFibGUgcGFzc3dvcmQgZGF0YWJhc2UgZW50cmllcywgaW4gYXJiaXRyYXJ5IG9yZGVyLgorCitTZWUgaGVscChwd2QpIGZvciBtb3JlIG9uIHBhc3N3b3JkIGRhdGFiYXNlIGVudHJpZXMuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wd2RfZ2V0cHdhbGwoUHlPYmplY3QgKnNlbGYpCitwd2RfZ2V0cHdhbGxfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWFiMzBlMzdiZjI2ZDQzMWQgaW5wdXQ9ZDdlY2ViZmQ5MDIxOWI4NV0qLwogewogICAgIFB5T2JqZWN0ICpkOwogICAgIHN0cnVjdCBwYXNzd2QgKnA7CkBAIC0xNzcsMTEgKzE5OCwxMCBAQAogI2VuZGlmCiAKIHN0YXRpYyBQeU1ldGhvZERlZiBwd2RfbWV0aG9kc1tdID0gewotICAgIHsiZ2V0cHd1aWQiLCAgICAgICAgcHdkX2dldHB3dWlkLCBNRVRIX1ZBUkFSR1MsIHB3ZF9nZXRwd3VpZF9fZG9jX199LAotICAgIHsiZ2V0cHduYW0iLCAgICAgICAgcHdkX2dldHB3bmFtLCBNRVRIX1ZBUkFSR1MsIHB3ZF9nZXRwd25hbV9fZG9jX199LAorICAgIFBXRF9HRVRQV1VJRF9NRVRIT0RERUYKKyAgICBQV0RfR0VUUFdOQU1fTUVUSE9EREVGCiAjaWZkZWYgSEFWRV9HRVRQV0VOVAotICAgIHsiZ2V0cHdhbGwiLCAgICAgICAgKFB5Q0Z1bmN0aW9uKXB3ZF9nZXRwd2FsbCwKLSAgICAgICAgTUVUSF9OT0FSR1MsICBwd2RfZ2V0cHdhbGxfX2RvY19ffSwKKyAgICBQV0RfR0VUUFdBTExfTUVUSE9EREVGCiAjZW5kaWYKICAgICB7TlVMTCwgICAgICAgICAgICAgIE5VTEx9ICAgICAgICAgICAvKiBzZW50aW5lbCAqLwogfTsKZGlmZiAtLWdpdCBhL01vZHVsZXMvcHlleHBhdC5jIGIvTW9kdWxlcy9weWV4cGF0LmMKaW5kZXggNGNlZDUzYi4uM2YzNGU2MyAxMDA2NDQKLS0tIGEvTW9kdWxlcy9weWV4cGF0LmMKKysrIGIvTW9kdWxlcy9weWV4cGF0LmMKQEAgLTYsNiArNiwxMyBAQAogCiAjaW5jbHVkZSAicHlleHBhdC5oIgogCisvKiBEbyBub3QgZW1pdCBDbGluaWMgb3V0cHV0IHRvIGEgZmlsZSBhcyB0aGF0IHdyZWFrcyBoYXZvYyB3aXRoIGNvbmRpdGlvbmFsbHkKKyAgIGluY2x1ZGVkIG1ldGhvZHMuICovCisvKltjbGluaWMgaW5wdXRdCittb2R1bGUgcHlleHBhdAorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWRhMzlhM2VlNWU2YjRiMGQgaW5wdXQ9YjE2OGQ1MDNhNDQ5MGMxNV0qLworCiAjZGVmaW5lIFhNTF9DT01CSU5FRF9WRVJTSU9OICgxMDAwMCpYTUxfTUFKT1JfVkVSU0lPTisxMDAqWE1MX01JTk9SX1ZFUlNJT04rWE1MX01JQ1JPX1ZFUlNJT04pCiAKIHN0YXRpYyBYTUxfTWVtb3J5X0hhbmRsaW5nX1N1aXRlIEV4cGF0TWVtb3J5SGFuZGxlciA9IHsKQEAgLTY3MSw2ICs2NzgsMTEgQEAKIFZPSURfSEFORExFUihFbmREb2N0eXBlRGVjbCwgKHZvaWQgKnVzZXJEYXRhKSwgKCIoKSIpKQogCiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisvKltjbGluaWMgaW5wdXRdCitjbGFzcyBweWV4cGF0LnhtbHBhcnNlciAieG1scGFyc2VvYmplY3QgKiIgIiZYbWxwYXJzZXR5cGUiCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZGEzOWEzZWU1ZTZiNGIwZCBpbnB1dD0yMzkzMTYyMzg1MjMyZTFjXSovCisKIAogc3RhdGljIFB5T2JqZWN0ICoKIGdldF9wYXJzZV9yZXN1bHQoeG1scGFyc2VvYmplY3QgKnNlbGYsIGludCBydikKQEAgLTY4NywyNSArNjk5LDYwIEBACiAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZyhydik7CiB9CiAKLVB5RG9jX1NUUlZBUih4bWxwYXJzZV9QYXJzZV9fZG9jX18sCi0iUGFyc2UoZGF0YVssIGlzZmluYWxdKVxuXAotUGFyc2UgWE1MIGRhdGEuICBgaXNmaW5hbCcgc2hvdWxkIGJlIHRydWUgYXQgZW5kIG9mIGlucHV0LiIpOwotCiAjZGVmaW5lIE1BWF9DSFVOS19TSVpFICgxIDw8IDIwKQogCisvKltjbGluaWMgaW5wdXRdCitweWV4cGF0LnhtbHBhcnNlci5QYXJzZQorCisgICAgZGF0YTogb2JqZWN0CisgICAgaXNGaW5hbDogaW50ID0gMAorICAgIC8KKworUGFyc2UgWE1MIGRhdGEuCisKK2Bpc2ZpbmFsJyBzaG91bGQgYmUgdHJ1ZSBhdCBlbmQgb2YgaW5wdXQuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihweWV4cGF0X3htbHBhcnNlcl9QYXJzZV9fZG9jX18sCisiUGFyc2UoJHNlbGYsIGRhdGEsIGlzRmluYWw9MCwgLylcbiIKKyItLVxuIgorIlxuIgorIlBhcnNlIFhNTCBkYXRhLlxuIgorIlxuIgorImBpc2ZpbmFsXCcgc2hvdWxkIGJlIHRydWUgYXQgZW5kIG9mIGlucHV0LiIpOworCisjZGVmaW5lIFBZRVhQQVRfWE1MUEFSU0VSX1BBUlNFX01FVEhPRERFRiAgICBcCisgICAgeyJQYXJzZSIsIChQeUNGdW5jdGlvbilweWV4cGF0X3htbHBhcnNlcl9QYXJzZSwgTUVUSF9WQVJBUkdTLCBweWV4cGF0X3htbHBhcnNlcl9QYXJzZV9fZG9jX199LAorCiBzdGF0aWMgUHlPYmplY3QgKgoteG1scGFyc2VfUGFyc2UoeG1scGFyc2VvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorcHlleHBhdF94bWxwYXJzZXJfUGFyc2VfaW1wbCh4bWxwYXJzZW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmRhdGEsIGludCBpc0ZpbmFsKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3B5ZXhwYXRfeG1scGFyc2VyX1BhcnNlKHhtbHBhcnNlb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKICAgICBQeU9iamVjdCAqZGF0YTsKICAgICBpbnQgaXNGaW5hbCA9IDA7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIk98aTpQYXJzZSIsCisgICAgICAgICZkYXRhLCAmaXNGaW5hbCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBweWV4cGF0X3htbHBhcnNlcl9QYXJzZV9pbXBsKHNlbGYsIGRhdGEsIGlzRmluYWwpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitweWV4cGF0X3htbHBhcnNlcl9QYXJzZV9pbXBsKHhtbHBhcnNlb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqZGF0YSwgaW50IGlzRmluYWwpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NjViMTY1MmIwMWYyMDg1NiBpbnB1dD1lMzdiODFiODk0OGNhN2UwXSovCit7CiAgICAgY29uc3QgY2hhciAqczsKICAgICBQeV9zc2l6ZV90IHNsZW47CiAgICAgUHlfYnVmZmVyIHZpZXc7CiAgICAgaW50IHJjOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPfGk6UGFyc2UiLCAmZGF0YSwgJmlzRmluYWwpKQotICAgICAgICByZXR1cm4gTlVMTDsKLQogICAgIGlmIChQeVVuaWNvZGVfQ2hlY2soZGF0YSkpIHsKICAgICAgICAgdmlldy5idWYgPSBOVUxMOwogICAgICAgICBzID0gUHlVbmljb2RlX0FzVVRGOEFuZFNpemUoZGF0YSwgJnNsZW4pOwpAQCAtNzgwLDE4ICs4MjcsMzMgQEAKICAgICByZXR1cm4gLTE7CiB9CiAKLVB5RG9jX1NUUlZBUih4bWxwYXJzZV9QYXJzZUZpbGVfX2RvY19fLAotIlBhcnNlRmlsZShmaWxlKVxuXAotUGFyc2UgWE1MIGRhdGEgZnJvbSBmaWxlLWxpa2Ugb2JqZWN0LiIpOworLypbY2xpbmljIGlucHV0XQorcHlleHBhdC54bWxwYXJzZXIuUGFyc2VGaWxlCisKKyAgICBmaWxlOiBvYmplY3QKKyAgICAvCisKK1BhcnNlIFhNTCBkYXRhIGZyb20gZmlsZS1saWtlIG9iamVjdC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKHB5ZXhwYXRfeG1scGFyc2VyX1BhcnNlRmlsZV9fZG9jX18sCisiUGFyc2VGaWxlKCRzZWxmLCBmaWxlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUGFyc2UgWE1MIGRhdGEgZnJvbSBmaWxlLWxpa2Ugb2JqZWN0LiIpOworCisjZGVmaW5lIFBZRVhQQVRfWE1MUEFSU0VSX1BBUlNFRklMRV9NRVRIT0RERUYgICAgXAorICAgIHsiUGFyc2VGaWxlIiwgKFB5Q0Z1bmN0aW9uKXB5ZXhwYXRfeG1scGFyc2VyX1BhcnNlRmlsZSwgTUVUSF9PLCBweWV4cGF0X3htbHBhcnNlcl9QYXJzZUZpbGVfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXhtbHBhcnNlX1BhcnNlRmlsZSh4bWxwYXJzZW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmYpCitweWV4cGF0X3htbHBhcnNlcl9QYXJzZUZpbGUoeG1scGFyc2VvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpmaWxlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTJlMTM4MDNjM2Q4YzIyYjIgaW5wdXQ9ZmJiNWExMmI2MDM4ZDczNV0qLwogewogICAgIGludCBydiA9IDE7CiAgICAgUHlPYmplY3QgKnJlYWRtZXRob2QgPSBOVUxMOwogICAgIF9QeV9JREVOVElGSUVSKHJlYWQpOwogCi0gICAgcmVhZG1ldGhvZCA9IF9QeU9iamVjdF9HZXRBdHRySWQoZiwgJlB5SWRfcmVhZCk7CisgICAgcmVhZG1ldGhvZCA9IF9QeU9iamVjdF9HZXRBdHRySWQoZmlsZSwgJlB5SWRfcmVhZCk7CiAgICAgaWYgKHJlYWRtZXRob2QgPT0gTlVMTCkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgImFyZ3VtZW50IG11c3QgaGF2ZSAncmVhZCcgYXR0cmlidXRlIik7CkBAIC04MjMsNDIgKzg4NSwxMTcgQEAKICAgICByZXR1cm4gZ2V0X3BhcnNlX3Jlc3VsdChzZWxmLCBydik7CiB9CiAKLVB5RG9jX1NUUlZBUih4bWxwYXJzZV9TZXRCYXNlX19kb2NfXywKLSJTZXRCYXNlKGJhc2VfdXJsKVxuXAotU2V0IHRoZSBiYXNlIFVSTCBmb3IgdGhlIHBhcnNlci4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK3B5ZXhwYXQueG1scGFyc2VyLlNldEJhc2UKKworICAgIGJhc2U6IHN0cgorICAgIC8KKworU2V0IHRoZSBiYXNlIFVSTCBmb3IgdGhlIHBhcnNlci4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKHB5ZXhwYXRfeG1scGFyc2VyX1NldEJhc2VfX2RvY19fLAorIlNldEJhc2UoJHNlbGYsIGJhc2UsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJTZXQgdGhlIGJhc2UgVVJMIGZvciB0aGUgcGFyc2VyLiIpOworCisjZGVmaW5lIFBZRVhQQVRfWE1MUEFSU0VSX1NFVEJBU0VfTUVUSE9EREVGICAgIFwKKyAgICB7IlNldEJhc2UiLCAoUHlDRnVuY3Rpb24pcHlleHBhdF94bWxwYXJzZXJfU2V0QmFzZSwgTUVUSF9WQVJBUkdTLCBweWV4cGF0X3htbHBhcnNlcl9TZXRCYXNlX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi14bWxwYXJzZV9TZXRCYXNlKHhtbHBhcnNlb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKLXsKLSAgICBjaGFyICpiYXNlOworcHlleHBhdF94bWxwYXJzZXJfU2V0QmFzZV9pbXBsKHhtbHBhcnNlb2JqZWN0ICpzZWxmLCBjb25zdCBjaGFyICpiYXNlKTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiczpTZXRCYXNlIiwgJmJhc2UpKQotICAgICAgICByZXR1cm4gTlVMTDsKK3N0YXRpYyBQeU9iamVjdCAqCitweWV4cGF0X3htbHBhcnNlcl9TZXRCYXNlKHhtbHBhcnNlb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBjb25zdCBjaGFyICpiYXNlOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJzOlNldEJhc2UiLAorICAgICAgICAmYmFzZSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBweWV4cGF0X3htbHBhcnNlcl9TZXRCYXNlX2ltcGwoc2VsZiwgYmFzZSk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK3B5ZXhwYXRfeG1scGFyc2VyX1NldEJhc2VfaW1wbCh4bWxwYXJzZW9iamVjdCAqc2VsZiwgY29uc3QgY2hhciAqYmFzZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD01YmRiNDlmNjY4OWE1ZjkzIGlucHV0PWM2ODRlNWRlODk1ZWUxYThdKi8KK3sKICAgICBpZiAoIVhNTF9TZXRCYXNlKHNlbGYtPml0c2VsZiwgYmFzZSkpIHsKICAgICAgICAgcmV0dXJuIFB5RXJyX05vTWVtb3J5KCk7CiAgICAgfQotICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKLSAgICByZXR1cm4gUHlfTm9uZTsKKyAgICBQeV9SRVRVUk5fTk9ORTsKIH0KIAotUHlEb2NfU1RSVkFSKHhtbHBhcnNlX0dldEJhc2VfX2RvY19fLAotIkdldEJhc2UoKSAtPiB1cmxcblwKLVJldHVybiBiYXNlIFVSTCBzdHJpbmcgZm9yIHRoZSBwYXJzZXIuIik7CisvKltjbGluaWMgaW5wdXRdCitweWV4cGF0LnhtbHBhcnNlci5HZXRCYXNlCisKK1JldHVybiBiYXNlIFVSTCBzdHJpbmcgZm9yIHRoZSBwYXJzZXIuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihweWV4cGF0X3htbHBhcnNlcl9HZXRCYXNlX19kb2NfXywKKyJHZXRCYXNlKCRzZWxmLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGJhc2UgVVJMIHN0cmluZyBmb3IgdGhlIHBhcnNlci4iKTsKKworI2RlZmluZSBQWUVYUEFUX1hNTFBBUlNFUl9HRVRCQVNFX01FVEhPRERFRiAgICBcCisgICAgeyJHZXRCYXNlIiwgKFB5Q0Z1bmN0aW9uKXB5ZXhwYXRfeG1scGFyc2VyX0dldEJhc2UsIE1FVEhfTk9BUkdTLCBweWV4cGF0X3htbHBhcnNlcl9HZXRCYXNlX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi14bWxwYXJzZV9HZXRCYXNlKHhtbHBhcnNlb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdW51c2VkKQorcHlleHBhdF94bWxwYXJzZXJfR2V0QmFzZV9pbXBsKHhtbHBhcnNlb2JqZWN0ICpzZWxmKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3B5ZXhwYXRfeG1scGFyc2VyX0dldEJhc2UoeG1scGFyc2VvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIHB5ZXhwYXRfeG1scGFyc2VyX0dldEJhc2VfaW1wbChzZWxmKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK3B5ZXhwYXRfeG1scGFyc2VyX0dldEJhc2VfaW1wbCh4bWxwYXJzZW9iamVjdCAqc2VsZikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1lZjYwNDZlZTI4ZjJiOGVlIGlucHV0PTkxOGQ3MWMzODAwOTYyMGVdKi8KIHsKICAgICByZXR1cm4gUHlfQnVpbGRWYWx1ZSgieiIsIFhNTF9HZXRCYXNlKHNlbGYtPml0c2VsZikpOwogfQogCi1QeURvY19TVFJWQVIoeG1scGFyc2VfR2V0SW5wdXRDb250ZXh0X19kb2NfXywKLSJHZXRJbnB1dENvbnRleHQoKSAtPiBzdHJpbmdcblwKLVJldHVybiB0aGUgdW50cmFuc2xhdGVkIHRleHQgb2YgdGhlIGlucHV0IHRoYXQgY2F1c2VkIHRoZSBjdXJyZW50IGV2ZW50LlxuXAotSWYgdGhlIGV2ZW50IHdhcyBnZW5lcmF0ZWQgYnkgYSBsYXJnZSBhbW91bnQgb2YgdGV4dCAoc3VjaCBhcyBhIHN0YXJ0IHRhZ1xuXAotZm9yIGFuIGVsZW1lbnQgd2l0aCBtYW55IGF0dHJpYnV0ZXMpLCBub3QgYWxsIG9mIHRoZSB0ZXh0IG1heSBiZSBhdmFpbGFibGUuIik7CisvKltjbGluaWMgaW5wdXRdCitweWV4cGF0LnhtbHBhcnNlci5HZXRJbnB1dENvbnRleHQKKworUmV0dXJuIHRoZSB1bnRyYW5zbGF0ZWQgdGV4dCBvZiB0aGUgaW5wdXQgdGhhdCBjYXVzZWQgdGhlIGN1cnJlbnQgZXZlbnQuCisKK0lmIHRoZSBldmVudCB3YXMgZ2VuZXJhdGVkIGJ5IGEgbGFyZ2UgYW1vdW50IG9mIHRleHQgKHN1Y2ggYXMgYSBzdGFydCB0YWcKK2ZvciBhbiBlbGVtZW50IHdpdGggbWFueSBhdHRyaWJ1dGVzKSwgbm90IGFsbCBvZiB0aGUgdGV4dCBtYXkgYmUgYXZhaWxhYmxlLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIocHlleHBhdF94bWxwYXJzZXJfR2V0SW5wdXRDb250ZXh0X19kb2NfXywKKyJHZXRJbnB1dENvbnRleHQoJHNlbGYsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIHVudHJhbnNsYXRlZCB0ZXh0IG9mIHRoZSBpbnB1dCB0aGF0IGNhdXNlZCB0aGUgY3VycmVudCBldmVudC5cbiIKKyJcbiIKKyJJZiB0aGUgZXZlbnQgd2FzIGdlbmVyYXRlZCBieSBhIGxhcmdlIGFtb3VudCBvZiB0ZXh0IChzdWNoIGFzIGEgc3RhcnQgdGFnXG4iCisiZm9yIGFuIGVsZW1lbnQgd2l0aCBtYW55IGF0dHJpYnV0ZXMpLCBub3QgYWxsIG9mIHRoZSB0ZXh0IG1heSBiZSBhdmFpbGFibGUuIik7CisKKyNkZWZpbmUgUFlFWFBBVF9YTUxQQVJTRVJfR0VUSU5QVVRDT05URVhUX01FVEhPRERFRiAgICBcCisgICAgeyJHZXRJbnB1dENvbnRleHQiLCAoUHlDRnVuY3Rpb24pcHlleHBhdF94bWxwYXJzZXJfR2V0SW5wdXRDb250ZXh0LCBNRVRIX05PQVJHUywgcHlleHBhdF94bWxwYXJzZXJfR2V0SW5wdXRDb250ZXh0X19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi14bWxwYXJzZV9HZXRJbnB1dENvbnRleHQoeG1scGFyc2VvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp1bnVzZWQpCitweWV4cGF0X3htbHBhcnNlcl9HZXRJbnB1dENvbnRleHRfaW1wbCh4bWxwYXJzZW9iamVjdCAqc2VsZik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitweWV4cGF0X3htbHBhcnNlcl9HZXRJbnB1dENvbnRleHQoeG1scGFyc2VvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIHB5ZXhwYXRfeG1scGFyc2VyX0dldElucHV0Q29udGV4dF9pbXBsKHNlbGYpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorcHlleHBhdF94bWxwYXJzZXJfR2V0SW5wdXRDb250ZXh0X2ltcGwoeG1scGFyc2VvYmplY3QgKnNlbGYpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NjJmZjAzMzkwZjA3NGNkMiBpbnB1dD0wMzRkZjg3MTJkYjY4Mzc5XSovCiB7CiAgICAgaWYgKHNlbGYtPmluX2NhbGxiYWNrKSB7CiAgICAgICAgIGludCBvZmZzZXQsIHNpemU7CkBAIC04NzUsMjQgKzEwMTIsNTIgQEAKICAgICAgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAKLVB5RG9jX1NUUlZBUih4bWxwYXJzZV9FeHRlcm5hbEVudGl0eVBhcnNlckNyZWF0ZV9fZG9jX18sCi0iRXh0ZXJuYWxFbnRpdHlQYXJzZXJDcmVhdGUoY29udGV4dFssIGVuY29kaW5nXSlcblwKLUNyZWF0ZSBhIHBhcnNlciBmb3IgcGFyc2luZyBhbiBleHRlcm5hbCBlbnRpdHkgYmFzZWQgb24gdGhlXG5cCi1pbmZvcm1hdGlvbiBwYXNzZWQgdG8gdGhlIEV4dGVybmFsRW50aXR5UmVmSGFuZGxlci4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK3B5ZXhwYXQueG1scGFyc2VyLkV4dGVybmFsRW50aXR5UGFyc2VyQ3JlYXRlCisKKyAgICBjb250ZXh0OiBzdHIobnVsbGFibGU9VHJ1ZSkKKyAgICBlbmNvZGluZzogc3RyID0gTlVMTAorICAgIC8KKworQ3JlYXRlIGEgcGFyc2VyIGZvciBwYXJzaW5nIGFuIGV4dGVybmFsIGVudGl0eSBiYXNlZCBvbiB0aGUgaW5mb3JtYXRpb24gcGFzc2VkIHRvIHRoZSBFeHRlcm5hbEVudGl0eVJlZkhhbmRsZXIuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihweWV4cGF0X3htbHBhcnNlcl9FeHRlcm5hbEVudGl0eVBhcnNlckNyZWF0ZV9fZG9jX18sCisiRXh0ZXJuYWxFbnRpdHlQYXJzZXJDcmVhdGUoJHNlbGYsIGNvbnRleHQsIGVuY29kaW5nPU5vbmUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJDcmVhdGUgYSBwYXJzZXIgZm9yIHBhcnNpbmcgYW4gZXh0ZXJuYWwgZW50aXR5IGJhc2VkIG9uIHRoZSBpbmZvcm1hdGlvbiBwYXNzZWQgdG8gdGhlIEV4dGVybmFsRW50aXR5UmVmSGFuZGxlci4iKTsKKworI2RlZmluZSBQWUVYUEFUX1hNTFBBUlNFUl9FWFRFUk5BTEVOVElUWVBBUlNFUkNSRUFURV9NRVRIT0RERUYgICAgXAorICAgIHsiRXh0ZXJuYWxFbnRpdHlQYXJzZXJDcmVhdGUiLCAoUHlDRnVuY3Rpb24pcHlleHBhdF94bWxwYXJzZXJfRXh0ZXJuYWxFbnRpdHlQYXJzZXJDcmVhdGUsIE1FVEhfVkFSQVJHUywgcHlleHBhdF94bWxwYXJzZXJfRXh0ZXJuYWxFbnRpdHlQYXJzZXJDcmVhdGVfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXhtbHBhcnNlX0V4dGVybmFsRW50aXR5UGFyc2VyQ3JlYXRlKHhtbHBhcnNlb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3B5ZXhwYXRfeG1scGFyc2VyX0V4dGVybmFsRW50aXR5UGFyc2VyQ3JlYXRlX2ltcGwoeG1scGFyc2VvYmplY3QgKnNlbGYsIGNvbnN0IGNoYXIgKmNvbnRleHQsIGNvbnN0IGNoYXIgKmVuY29kaW5nKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3B5ZXhwYXRfeG1scGFyc2VyX0V4dGVybmFsRW50aXR5UGFyc2VyQ3JlYXRlKHhtbHBhcnNlb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBjaGFyICpjb250ZXh0OwotICAgIGNoYXIgKmVuY29kaW5nID0gTlVMTDsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBjb25zdCBjaGFyICpjb250ZXh0OworICAgIGNvbnN0IGNoYXIgKmVuY29kaW5nID0gTlVMTDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAienxzOkV4dGVybmFsRW50aXR5UGFyc2VyQ3JlYXRlIiwKKyAgICAgICAgJmNvbnRleHQsICZlbmNvZGluZykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBweWV4cGF0X3htbHBhcnNlcl9FeHRlcm5hbEVudGl0eVBhcnNlckNyZWF0ZV9pbXBsKHNlbGYsIGNvbnRleHQsIGVuY29kaW5nKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorcHlleHBhdF94bWxwYXJzZXJfRXh0ZXJuYWxFbnRpdHlQYXJzZXJDcmVhdGVfaW1wbCh4bWxwYXJzZW9iamVjdCAqc2VsZiwgY29uc3QgY2hhciAqY29udGV4dCwgY29uc3QgY2hhciAqZW5jb2RpbmcpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NDk0OGMzNWYzZGQwMTEzMyBpbnB1dD0yODMyMDY1NzVkOTYwMjcyXSovCit7CiAgICAgeG1scGFyc2VvYmplY3QgKm5ld19wYXJzZXI7CiAgICAgaW50IGk7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInp8czpFeHRlcm5hbEVudGl0eVBhcnNlckNyZWF0ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICZjb250ZXh0LCAmZW5jb2RpbmcpKSB7Ci0gICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KLQogICAgIG5ld19wYXJzZXIgPSBQeU9iamVjdF9HQ19OZXcoeG1scGFyc2VvYmplY3QsICZYbWxwYXJzZXR5cGUpOwogICAgIGlmIChuZXdfcGFyc2VyID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtOTQ4LDQxICsxMTEzLDExNCBAQAogICAgIHJldHVybiAoUHlPYmplY3QgKiluZXdfcGFyc2VyOwogfQogCi1QeURvY19TVFJWQVIoeG1scGFyc2VfU2V0UGFyYW1FbnRpdHlQYXJzaW5nX19kb2NfXywKLSJTZXRQYXJhbUVudGl0eVBhcnNpbmcoZmxhZykgLT4gc3VjY2Vzc1xuXAotQ29udHJvbHMgcGFyc2luZyBvZiBwYXJhbWV0ZXIgZW50aXRpZXMgKGluY2x1ZGluZyB0aGUgZXh0ZXJuYWwgRFREXG5cCi1zdWJzZXQpLiBQb3NzaWJsZSBmbGFnIHZhbHVlcyBhcmUgWE1MX1BBUkFNX0VOVElUWV9QQVJTSU5HX05FVkVSLFxuXAotWE1MX1BBUkFNX0VOVElUWV9QQVJTSU5HX1VOTEVTU19TVEFOREFMT05FIGFuZFxuXAotWE1MX1BBUkFNX0VOVElUWV9QQVJTSU5HX0FMV0FZUy4gUmV0dXJucyB0cnVlIGlmIHNldHRpbmcgdGhlIGZsYWdcblwKLXdhcyBzdWNjZXNzZnVsLiIpOworLypbY2xpbmljIGlucHV0XQorcHlleHBhdC54bWxwYXJzZXIuU2V0UGFyYW1FbnRpdHlQYXJzaW5nCiAKLXN0YXRpYyBQeU9iamVjdCoKLXhtbHBhcnNlX1NldFBhcmFtRW50aXR5UGFyc2luZyh4bWxwYXJzZW9iamVjdCAqcCwgUHlPYmplY3QqIGFyZ3MpCisgICAgZmxhZzogaW50CisgICAgLworCitDb250cm9scyBwYXJzaW5nIG9mIHBhcmFtZXRlciBlbnRpdGllcyAoaW5jbHVkaW5nIHRoZSBleHRlcm5hbCBEVEQgc3Vic2V0KS4KKworUG9zc2libGUgZmxhZyB2YWx1ZXMgYXJlIFhNTF9QQVJBTV9FTlRJVFlfUEFSU0lOR19ORVZFUiwKK1hNTF9QQVJBTV9FTlRJVFlfUEFSU0lOR19VTkxFU1NfU1RBTkRBTE9ORSBhbmQKK1hNTF9QQVJBTV9FTlRJVFlfUEFSU0lOR19BTFdBWVMuIFJldHVybnMgdHJ1ZSBpZiBzZXR0aW5nIHRoZSBmbGFnCit3YXMgc3VjY2Vzc2Z1bC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKHB5ZXhwYXRfeG1scGFyc2VyX1NldFBhcmFtRW50aXR5UGFyc2luZ19fZG9jX18sCisiU2V0UGFyYW1FbnRpdHlQYXJzaW5nKCRzZWxmLCBmbGFnLCAvKVxuIgorIi0tXG4iCisiXG4iCisiQ29udHJvbHMgcGFyc2luZyBvZiBwYXJhbWV0ZXIgZW50aXRpZXMgKGluY2x1ZGluZyB0aGUgZXh0ZXJuYWwgRFREIHN1YnNldCkuXG4iCisiXG4iCisiUG9zc2libGUgZmxhZyB2YWx1ZXMgYXJlIFhNTF9QQVJBTV9FTlRJVFlfUEFSU0lOR19ORVZFUixcbiIKKyJYTUxfUEFSQU1fRU5USVRZX1BBUlNJTkdfVU5MRVNTX1NUQU5EQUxPTkUgYW5kXG4iCisiWE1MX1BBUkFNX0VOVElUWV9QQVJTSU5HX0FMV0FZUy4gUmV0dXJucyB0cnVlIGlmIHNldHRpbmcgdGhlIGZsYWdcbiIKKyJ3YXMgc3VjY2Vzc2Z1bC4iKTsKKworI2RlZmluZSBQWUVYUEFUX1hNTFBBUlNFUl9TRVRQQVJBTUVOVElUWVBBUlNJTkdfTUVUSE9EREVGICAgIFwKKyAgICB7IlNldFBhcmFtRW50aXR5UGFyc2luZyIsIChQeUNGdW5jdGlvbilweWV4cGF0X3htbHBhcnNlcl9TZXRQYXJhbUVudGl0eVBhcnNpbmcsIE1FVEhfVkFSQVJHUywgcHlleHBhdF94bWxwYXJzZXJfU2V0UGFyYW1FbnRpdHlQYXJzaW5nX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitweWV4cGF0X3htbHBhcnNlcl9TZXRQYXJhbUVudGl0eVBhcnNpbmdfaW1wbCh4bWxwYXJzZW9iamVjdCAqc2VsZiwgaW50IGZsYWcpOworCitzdGF0aWMgUHlPYmplY3QgKgorcHlleHBhdF94bWxwYXJzZXJfU2V0UGFyYW1FbnRpdHlQYXJzaW5nKHhtbHBhcnNlb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKICAgICBpbnQgZmxhZzsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImkiLCAmZmxhZykpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIGZsYWcgPSBYTUxfU2V0UGFyYW1FbnRpdHlQYXJzaW5nKHAtPml0c2VsZiwgZmxhZyk7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgImk6U2V0UGFyYW1FbnRpdHlQYXJzaW5nIiwKKyAgICAgICAgJmZsYWcpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gcHlleHBhdF94bWxwYXJzZXJfU2V0UGFyYW1FbnRpdHlQYXJzaW5nX2ltcGwoc2VsZiwgZmxhZyk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK3B5ZXhwYXRfeG1scGFyc2VyX1NldFBhcmFtRW50aXR5UGFyc2luZ19pbXBsKHhtbHBhcnNlb2JqZWN0ICpzZWxmLCBpbnQgZmxhZykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0wZjgyMDg4MmJjNzc2OGNjIGlucHV0PThhZWExOWI0YjE1ZTlhZjFdKi8KK3sKKyAgICBmbGFnID0gWE1MX1NldFBhcmFtRW50aXR5UGFyc2luZyhzZWxmLT5pdHNlbGYsIGZsYWcpOwogICAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmcoZmxhZyk7CiB9CiAKIAogI2lmIFhNTF9DT01CSU5FRF9WRVJTSU9OID49IDE5NTA1Ci1QeURvY19TVFJWQVIoeG1scGFyc2VfVXNlRm9yZWlnbkRURF9fZG9jX18sCi0iVXNlRm9yZWlnbkRURChbZmxhZ10pXG5cCi1BbGxvd3MgdGhlIGFwcGxpY2F0aW9uIHRvIHByb3ZpZGUgYW4gYXJ0aWZpY2lhbCBleHRlcm5hbCBzdWJzZXQgaWYgb25lIGlzXG5cCi1ub3Qgc3BlY2lmaWVkIGFzIHBhcnQgb2YgdGhlIGRvY3VtZW50IGluc3RhbmNlLiAgVGhpcyByZWFkaWx5IGFsbG93cyB0aGVcblwKLXVzZSBvZiBhICdkZWZhdWx0JyBkb2N1bWVudCB0eXBlIGNvbnRyb2xsZWQgYnkgdGhlIGFwcGxpY2F0aW9uLCB3aGlsZSBzdGlsbFxuXAotZ2V0dGluZyB0aGUgYWR2YW50YWdlIG9mIHByb3ZpZGluZyBkb2N1bWVudCB0eXBlIGluZm9ybWF0aW9uIHRvIHRoZSBwYXJzZXIuXG5cCi0nZmxhZycgZGVmYXVsdHMgdG8gVHJ1ZSBpZiBub3QgcHJvdmlkZWQuIik7CisvKltjbGluaWMgaW5wdXRdCitweWV4cGF0LnhtbHBhcnNlci5Vc2VGb3JlaWduRFRECisKKyAgICBmbGFnOiBib29sID0gVHJ1ZQorICAgIC8KKworQWxsb3dzIHRoZSBhcHBsaWNhdGlvbiB0byBwcm92aWRlIGFuIGFydGlmaWNpYWwgZXh0ZXJuYWwgc3Vic2V0IGlmIG9uZSBpcyBub3Qgc3BlY2lmaWVkIGFzIHBhcnQgb2YgdGhlIGRvY3VtZW50IGluc3RhbmNlLgorCitUaGlzIHJlYWRpbHkgYWxsb3dzIHRoZSB1c2Ugb2YgYSAnZGVmYXVsdCcgZG9jdW1lbnQgdHlwZSBjb250cm9sbGVkIGJ5IHRoZQorYXBwbGljYXRpb24sIHdoaWxlIHN0aWxsIGdldHRpbmcgdGhlIGFkdmFudGFnZSBvZiBwcm92aWRpbmcgZG9jdW1lbnQgdHlwZQoraW5mb3JtYXRpb24gdG8gdGhlIHBhcnNlci4gJ2ZsYWcnIGRlZmF1bHRzIHRvIFRydWUgaWYgbm90IHByb3ZpZGVkLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIocHlleHBhdF94bWxwYXJzZXJfVXNlRm9yZWlnbkRURF9fZG9jX18sCisiVXNlRm9yZWlnbkRURCgkc2VsZiwgZmxhZz1UcnVlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiQWxsb3dzIHRoZSBhcHBsaWNhdGlvbiB0byBwcm92aWRlIGFuIGFydGlmaWNpYWwgZXh0ZXJuYWwgc3Vic2V0IGlmIG9uZSBpcyBub3Qgc3BlY2lmaWVkIGFzIHBhcnQgb2YgdGhlIGRvY3VtZW50IGluc3RhbmNlLlxuIgorIlxuIgorIlRoaXMgcmVhZGlseSBhbGxvd3MgdGhlIHVzZSBvZiBhIFwnZGVmYXVsdFwnIGRvY3VtZW50IHR5cGUgY29udHJvbGxlZCBieSB0aGVcbiIKKyJhcHBsaWNhdGlvbiwgd2hpbGUgc3RpbGwgZ2V0dGluZyB0aGUgYWR2YW50YWdlIG9mIHByb3ZpZGluZyBkb2N1bWVudCB0eXBlXG4iCisiaW5mb3JtYXRpb24gdG8gdGhlIHBhcnNlci4gXCdmbGFnXCcgZGVmYXVsdHMgdG8gVHJ1ZSBpZiBub3QgcHJvdmlkZWQuIik7CisKKyNkZWZpbmUgUFlFWFBBVF9YTUxQQVJTRVJfVVNFRk9SRUlHTkRURF9NRVRIT0RERUYgICAgXAorICAgIHsiVXNlRm9yZWlnbkRURCIsIChQeUNGdW5jdGlvbilweWV4cGF0X3htbHBhcnNlcl9Vc2VGb3JlaWduRFRELCBNRVRIX1ZBUkFSR1MsIHB5ZXhwYXRfeG1scGFyc2VyX1VzZUZvcmVpZ25EVERfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXhtbHBhcnNlX1VzZUZvcmVpZ25EVEQoeG1scGFyc2VvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorcHlleHBhdF94bWxwYXJzZXJfVXNlRm9yZWlnbkRURF9pbXBsKHhtbHBhcnNlb2JqZWN0ICpzZWxmLCBpbnQgZmxhZyk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitweWV4cGF0X3htbHBhcnNlcl9Vc2VGb3JlaWduRFREKHhtbHBhcnNlb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKICAgICBpbnQgZmxhZyA9IDE7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgInxwOlVzZUZvcmVpZ25EVEQiLAorICAgICAgICAmZmxhZykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBweWV4cGF0X3htbHBhcnNlcl9Vc2VGb3JlaWduRFREX2ltcGwoc2VsZiwgZmxhZyk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK3B5ZXhwYXRfeG1scGFyc2VyX1VzZUZvcmVpZ25EVERfaW1wbCh4bWxwYXJzZW9iamVjdCAqc2VsZiwgaW50IGZsYWcpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MjJlOTI0YWU2Y2FkNjdkNiBpbnB1dD03ODE0NGM1MTlkMTE2YTZlXSovCit7CiAgICAgZW51bSBYTUxfRXJyb3IgcmM7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJ8cDpVc2VGb3JlaWduRFREIiwgJmZsYWcpKQotICAgICAgICByZXR1cm4gTlVMTDsKKwogICAgIHJjID0gWE1MX1VzZUZvcmVpZ25EVEQoc2VsZi0+aXRzZWxmLCBmbGFnID8gWE1MX1RSVUUgOiBYTUxfRkFMU0UpOwogICAgIGlmIChyYyAhPSBYTUxfRVJST1JfTk9ORSkgewogICAgICAgICByZXR1cm4gc2V0X2Vycm9yKHNlbGYsIHJjKTsKQEAgLTk5MiwyOSArMTIzMCw4NiBAQAogfQogI2VuZGlmCiAKLXN0YXRpYyBQeU9iamVjdCAqeG1scGFyc2VfZGlyKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCogbm9hcmdzKTsKKy8qW2NsaW5pYyBpbnB1dF0KK3B5ZXhwYXQueG1scGFyc2VyLl9fZGlyX18KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKHB5ZXhwYXRfeG1scGFyc2VyX19fZGlyX19fX2RvY19fLAorIl9fZGlyX18oJHNlbGYsIC8pXG4iCisiLS0iKTsKKworI2RlZmluZSBQWUVYUEFUX1hNTFBBUlNFUl9fX0RJUl9fX01FVEhPRERFRiAgICBcCisgICAgeyJfX2Rpcl9fIiwgKFB5Q0Z1bmN0aW9uKXB5ZXhwYXRfeG1scGFyc2VyX19fZGlyX18sIE1FVEhfTk9BUkdTLCBweWV4cGF0X3htbHBhcnNlcl9fX2Rpcl9fX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitweWV4cGF0X3htbHBhcnNlcl9fX2Rpcl9fX2ltcGwoeG1scGFyc2VvYmplY3QgKnNlbGYpOworCitzdGF0aWMgUHlPYmplY3QgKgorcHlleHBhdF94bWxwYXJzZXJfX19kaXJfXyh4bWxwYXJzZW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gcHlleHBhdF94bWxwYXJzZXJfX19kaXJfX19pbXBsKHNlbGYpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorcHlleHBhdF94bWxwYXJzZXJfX19kaXJfX19pbXBsKHhtbHBhcnNlb2JqZWN0ICpzZWxmKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTFlZDZlZmU4M2JjMzA0Y2MgaW5wdXQ9NzZhYTQ1NWYyYTY2MTM4NF0qLworeworI2RlZmluZSBBUFBFTkQobGlzdCwgc3RyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICBQeU9iamVjdCAqbyA9IFB5VW5pY29kZV9Gcm9tU3RyaW5nKHN0cik7ICAgICAgICBcCisgICAgICAgICAgICAgICAgaWYgKG8gIT0gTlVMTCkgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgIFB5TGlzdF9BcHBlbmQobGlzdCwgbyk7ICAgICAgICAgXAorICAgICAgICAgICAgICAgIFB5X1hERUNSRUYobyk7ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIH0gd2hpbGUgKDApCisKKyAgICBpbnQgaTsKKyAgICBQeU9iamVjdCAqcmMgPSBQeUxpc3RfTmV3KDApOworICAgIGlmICghcmMpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGZvciAoaSA9IDA7IGhhbmRsZXJfaW5mb1tpXS5uYW1lICE9IE5VTEw7IGkrKykgeworICAgICAgICBQeU9iamVjdCAqbyA9IGdldF9oYW5kbGVyX25hbWUoJmhhbmRsZXJfaW5mb1tpXSk7CisgICAgICAgIGlmIChvICE9IE5VTEwpCisgICAgICAgICAgICBQeUxpc3RfQXBwZW5kKHJjLCBvKTsKKyAgICAgICAgUHlfWERFQ1JFRihvKTsKKyAgICB9CisgICAgQVBQRU5EKHJjLCAiRXJyb3JDb2RlIik7CisgICAgQVBQRU5EKHJjLCAiRXJyb3JMaW5lTnVtYmVyIik7CisgICAgQVBQRU5EKHJjLCAiRXJyb3JDb2x1bW5OdW1iZXIiKTsKKyAgICBBUFBFTkQocmMsICJFcnJvckJ5dGVJbmRleCIpOworICAgIEFQUEVORChyYywgIkN1cnJlbnRMaW5lTnVtYmVyIik7CisgICAgQVBQRU5EKHJjLCAiQ3VycmVudENvbHVtbk51bWJlciIpOworICAgIEFQUEVORChyYywgIkN1cnJlbnRCeXRlSW5kZXgiKTsKKyAgICBBUFBFTkQocmMsICJidWZmZXJfc2l6ZSIpOworICAgIEFQUEVORChyYywgImJ1ZmZlcl90ZXh0Iik7CisgICAgQVBQRU5EKHJjLCAiYnVmZmVyX3VzZWQiKTsKKyAgICBBUFBFTkQocmMsICJuYW1lc3BhY2VfcHJlZml4ZXMiKTsKKyAgICBBUFBFTkQocmMsICJvcmRlcmVkX2F0dHJpYnV0ZXMiKTsKKyAgICBBUFBFTkQocmMsICJzcGVjaWZpZWRfYXR0cmlidXRlcyIpOworICAgIEFQUEVORChyYywgImludGVybiIpOworCisjdW5kZWYgQVBQRU5ECisKKyAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkgeworICAgICAgICBQeV9ERUNSRUYocmMpOworICAgICAgICByYyA9IE5VTEw7CisgICAgfQorCisgICAgcmV0dXJuIHJjOworfQogCiBzdGF0aWMgc3RydWN0IFB5TWV0aG9kRGVmIHhtbHBhcnNlX21ldGhvZHNbXSA9IHsKLSAgICB7IlBhcnNlIiwgICAgIChQeUNGdW5jdGlvbil4bWxwYXJzZV9QYXJzZSwKLSAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUywgeG1scGFyc2VfUGFyc2VfX2RvY19ffSwKLSAgICB7IlBhcnNlRmlsZSIsIChQeUNGdW5jdGlvbil4bWxwYXJzZV9QYXJzZUZpbGUsCi0gICAgICAgICAgICAgICAgICBNRVRIX08sICAgICAgIHhtbHBhcnNlX1BhcnNlRmlsZV9fZG9jX199LAotICAgIHsiU2V0QmFzZSIsICAgKFB5Q0Z1bmN0aW9uKXhtbHBhcnNlX1NldEJhc2UsCi0gICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MsIHhtbHBhcnNlX1NldEJhc2VfX2RvY19ffSwKLSAgICB7IkdldEJhc2UiLCAgIChQeUNGdW5jdGlvbil4bWxwYXJzZV9HZXRCYXNlLAotICAgICAgICAgICAgICAgICAgTUVUSF9OT0FSR1MsIHhtbHBhcnNlX0dldEJhc2VfX2RvY19ffSwKLSAgICB7IkV4dGVybmFsRW50aXR5UGFyc2VyQ3JlYXRlIiwgKFB5Q0Z1bmN0aW9uKXhtbHBhcnNlX0V4dGVybmFsRW50aXR5UGFyc2VyQ3JlYXRlLAotICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTLCB4bWxwYXJzZV9FeHRlcm5hbEVudGl0eVBhcnNlckNyZWF0ZV9fZG9jX199LAotICAgIHsiU2V0UGFyYW1FbnRpdHlQYXJzaW5nIiwgKFB5Q0Z1bmN0aW9uKXhtbHBhcnNlX1NldFBhcmFtRW50aXR5UGFyc2luZywKLSAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUywgeG1scGFyc2VfU2V0UGFyYW1FbnRpdHlQYXJzaW5nX19kb2NfX30sCi0gICAgeyJHZXRJbnB1dENvbnRleHQiLCAoUHlDRnVuY3Rpb24peG1scGFyc2VfR2V0SW5wdXRDb250ZXh0LAotICAgICAgICAgICAgICAgICAgTUVUSF9OT0FSR1MsIHhtbHBhcnNlX0dldElucHV0Q29udGV4dF9fZG9jX199LAorICAgIFBZRVhQQVRfWE1MUEFSU0VSX1BBUlNFX01FVEhPRERFRgorICAgIFBZRVhQQVRfWE1MUEFSU0VSX1BBUlNFRklMRV9NRVRIT0RERUYKKyAgICBQWUVYUEFUX1hNTFBBUlNFUl9TRVRCQVNFX01FVEhPRERFRgorICAgIFBZRVhQQVRfWE1MUEFSU0VSX0dFVEJBU0VfTUVUSE9EREVGCisgICAgUFlFWFBBVF9YTUxQQVJTRVJfR0VUSU5QVVRDT05URVhUX01FVEhPRERFRgorICAgIFBZRVhQQVRfWE1MUEFSU0VSX0VYVEVSTkFMRU5USVRZUEFSU0VSQ1JFQVRFX01FVEhPRERFRgorICAgIFBZRVhQQVRfWE1MUEFSU0VSX1NFVFBBUkFNRU5USVRZUEFSU0lOR19NRVRIT0RERUYKICNpZiBYTUxfQ09NQklORURfVkVSU0lPTiA+PSAxOTUwNQotICAgIHsiVXNlRm9yZWlnbkRURCIsIChQeUNGdW5jdGlvbil4bWxwYXJzZV9Vc2VGb3JlaWduRFRELAotICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTLCB4bWxwYXJzZV9Vc2VGb3JlaWduRFREX19kb2NfX30sCisgICAgUFlFWFBBVF9YTUxQQVJTRVJfVVNFRk9SRUlHTkRURF9NRVRIT0RERUYKICNlbmRpZgotICAgIHsiX19kaXJfXyIsIHhtbHBhcnNlX2RpciwgTUVUSF9OT0FSR1N9LAotICAgIHtOVUxMLCAgICAgICAgTlVMTH0gICAgICAgICAvKiBzZW50aW5lbCAqLworICAgIFBZRVhQQVRfWE1MUEFSU0VSX19fRElSX19fTUVUSE9EREVGCisgICAge05VTEwsIE5VTEx9ICAvKiBzZW50aW5lbCAqLwogfTsKIAogLyogLS0tLS0tLS0tLSAqLwpAQCAtMTA3Nyw3ICsxMzcyLDcgQEAKIAogCiBzdGF0aWMgUHlPYmplY3QgKgotbmV3eG1scGFyc2VvYmplY3QoY2hhciAqZW5jb2RpbmcsIGNoYXIgKm5hbWVzcGFjZV9zZXBhcmF0b3IsIFB5T2JqZWN0ICppbnRlcm4pCituZXd4bWxwYXJzZW9iamVjdChjb25zdCBjaGFyICplbmNvZGluZywgY29uc3QgY2hhciAqbmFtZXNwYWNlX3NlcGFyYXRvciwgUHlPYmplY3QgKmludGVybikKIHsKICAgICBpbnQgaTsKICAgICB4bWxwYXJzZW9iamVjdCAqc2VsZjsKQEAgLTEyNTUsNTIgKzE1NTAsNiBAQAogICAgIHJldHVybiBQeU9iamVjdF9HZW5lcmljR2V0QXR0cigoUHlPYmplY3QqKXNlbGYsIG5hbWVvYmopOwogfQogCi1zdGF0aWMgUHlPYmplY3QgKgoteG1scGFyc2VfZGlyKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCogbm9hcmdzKQotewotI2RlZmluZSBBUFBFTkQobGlzdCwgc3RyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICBQeU9iamVjdCAqbyA9IFB5VW5pY29kZV9Gcm9tU3RyaW5nKHN0cik7ICAgICAgICBcCi0gICAgICAgICAgICAgICAgaWYgKG8gIT0gTlVMTCkgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgIFB5TGlzdF9BcHBlbmQobGlzdCwgbyk7ICAgICAgICAgXAotICAgICAgICAgICAgICAgIFB5X1hERUNSRUYobyk7ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIH0gd2hpbGUgKDApCi0KLSAgICBpbnQgaTsKLSAgICBQeU9iamVjdCAqcmMgPSBQeUxpc3RfTmV3KDApOwotICAgIGlmICghcmMpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIGZvciAoaSA9IDA7IGhhbmRsZXJfaW5mb1tpXS5uYW1lICE9IE5VTEw7IGkrKykgewotICAgICAgICBQeU9iamVjdCAqbyA9IGdldF9oYW5kbGVyX25hbWUoJmhhbmRsZXJfaW5mb1tpXSk7Ci0gICAgICAgIGlmIChvICE9IE5VTEwpCi0gICAgICAgICAgICBQeUxpc3RfQXBwZW5kKHJjLCBvKTsKLSAgICAgICAgUHlfWERFQ1JFRihvKTsKLSAgICB9Ci0gICAgQVBQRU5EKHJjLCAiRXJyb3JDb2RlIik7Ci0gICAgQVBQRU5EKHJjLCAiRXJyb3JMaW5lTnVtYmVyIik7Ci0gICAgQVBQRU5EKHJjLCAiRXJyb3JDb2x1bW5OdW1iZXIiKTsKLSAgICBBUFBFTkQocmMsICJFcnJvckJ5dGVJbmRleCIpOwotICAgIEFQUEVORChyYywgIkN1cnJlbnRMaW5lTnVtYmVyIik7Ci0gICAgQVBQRU5EKHJjLCAiQ3VycmVudENvbHVtbk51bWJlciIpOwotICAgIEFQUEVORChyYywgIkN1cnJlbnRCeXRlSW5kZXgiKTsKLSAgICBBUFBFTkQocmMsICJidWZmZXJfc2l6ZSIpOwotICAgIEFQUEVORChyYywgImJ1ZmZlcl90ZXh0Iik7Ci0gICAgQVBQRU5EKHJjLCAiYnVmZmVyX3VzZWQiKTsKLSAgICBBUFBFTkQocmMsICJuYW1lc3BhY2VfcHJlZml4ZXMiKTsKLSAgICBBUFBFTkQocmMsICJvcmRlcmVkX2F0dHJpYnV0ZXMiKTsKLSAgICBBUFBFTkQocmMsICJzcGVjaWZpZWRfYXR0cmlidXRlcyIpOwotICAgIEFQUEVORChyYywgImludGVybiIpOwotCi0jdW5kZWYgQVBQRU5ECi0KLSAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkgewotICAgICAgICBQeV9ERUNSRUYocmMpOwotICAgICAgICByYyA9IE5VTEw7Ci0gICAgfQotCi0gICAgcmV0dXJuIHJjOwotfQotCiBzdGF0aWMgaW50CiBzZXRoYW5kbGVyKHhtbHBhcnNlb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqbmFtZSwgUHlPYmplY3QqIHYpCiB7CkBAIC0xNTA2LDI0ICsxNzU1LDU1IEBACiAvKiBFbmQgb2YgY29kZSBmb3IgeG1scGFyc2VyIG9iamVjdHMgKi8KIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCiAKKy8qW2NsaW5pYyBpbnB1dF0KK3B5ZXhwYXQuUGFyc2VyQ3JlYXRlCisKKyAgICBlbmNvZGluZzogc3RyKG51bGxhYmxlPVRydWUpID0gTlVMTAorICAgIG5hbWVzcGFjZV9zZXBhcmF0b3I6IHN0cihudWxsYWJsZT1UcnVlKSA9IE5VTEwKKyAgICBpbnRlcm46IG9iamVjdCA9IE5VTEwKKworUmV0dXJuIGEgbmV3IFhNTCBwYXJzZXIgb2JqZWN0LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCiBQeURvY19TVFJWQVIocHlleHBhdF9QYXJzZXJDcmVhdGVfX2RvY19fLAotIlBhcnNlckNyZWF0ZShbZW5jb2RpbmdbLCBuYW1lc3BhY2Vfc2VwYXJhdG9yXV0pIC0+IHBhcnNlclxuXAotUmV0dXJuIGEgbmV3IFhNTCBwYXJzZXIgb2JqZWN0LiIpOworIlBhcnNlckNyZWF0ZSgkbW9kdWxlLCAvLCBlbmNvZGluZz1Ob25lLCBuYW1lc3BhY2Vfc2VwYXJhdG9yPU5vbmUsXG4iCisiICAgICAgICAgICAgIGludGVybj1Ob25lKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGEgbmV3IFhNTCBwYXJzZXIgb2JqZWN0LiIpOworCisjZGVmaW5lIFBZRVhQQVRfUEFSU0VSQ1JFQVRFX01FVEhPRERFRiAgICBcCisgICAgeyJQYXJzZXJDcmVhdGUiLCAoUHlDRnVuY3Rpb24pcHlleHBhdF9QYXJzZXJDcmVhdGUsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBweWV4cGF0X1BhcnNlckNyZWF0ZV9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcHlleHBhdF9QYXJzZXJDcmVhdGUoUHlPYmplY3QgKm5vdHVzZWQsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3cpCitweWV4cGF0X1BhcnNlckNyZWF0ZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGNvbnN0IGNoYXIgKmVuY29kaW5nLCBjb25zdCBjaGFyICpuYW1lc3BhY2Vfc2VwYXJhdG9yLCBQeU9iamVjdCAqaW50ZXJuKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3B5ZXhwYXRfUGFyc2VyQ3JlYXRlKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewotICAgIGNoYXIgKmVuY29kaW5nID0gTlVMTDsKLSAgICBjaGFyICpuYW1lc3BhY2Vfc2VwYXJhdG9yID0gTlVMTDsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7ImVuY29kaW5nIiwgIm5hbWVzcGFjZV9zZXBhcmF0b3IiLCAiaW50ZXJuIiwgTlVMTH07CisgICAgY29uc3QgY2hhciAqZW5jb2RpbmcgPSBOVUxMOworICAgIGNvbnN0IGNoYXIgKm5hbWVzcGFjZV9zZXBhcmF0b3IgPSBOVUxMOwogICAgIFB5T2JqZWN0ICppbnRlcm4gPSBOVUxMOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAifHp6TzpQYXJzZXJDcmVhdGUiLCBfa2V5d29yZHMsCisgICAgICAgICZlbmNvZGluZywgJm5hbWVzcGFjZV9zZXBhcmF0b3IsICZpbnRlcm4pKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gcHlleHBhdF9QYXJzZXJDcmVhdGVfaW1wbChtb2R1bGUsIGVuY29kaW5nLCBuYW1lc3BhY2Vfc2VwYXJhdG9yLCBpbnRlcm4pOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitweWV4cGF0X1BhcnNlckNyZWF0ZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGNvbnN0IGNoYXIgKmVuY29kaW5nLCBjb25zdCBjaGFyICpuYW1lc3BhY2Vfc2VwYXJhdG9yLCBQeU9iamVjdCAqaW50ZXJuKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTRmYzAyN2RkMzNiN2EyYWMgaW5wdXQ9NzFiOWY0NzFhYTZmOGY4Nl0qLworewogICAgIFB5T2JqZWN0ICpyZXN1bHQ7CiAgICAgaW50IGludGVybl9kZWNyZWYgPSAwOwotICAgIHN0YXRpYyBjaGFyICprd2xpc3RbXSA9IHsiZW5jb2RpbmciLCAibmFtZXNwYWNlX3NlcGFyYXRvciIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpbnRlcm4iLCBOVUxMfTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3LCAifHp6TzpQYXJzZXJDcmVhdGUiLCBrd2xpc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmVuY29kaW5nLCAmbmFtZXNwYWNlX3NlcGFyYXRvciwgJmludGVybikpCi0gICAgICAgIHJldHVybiBOVUxMOwogICAgIGlmIChuYW1lc3BhY2Vfc2VwYXJhdG9yICE9IE5VTEwKICAgICAgICAgJiYgc3RybGVuKG5hbWVzcGFjZV9zZXBhcmF0b3IpID4gMSkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKQEAgLTE1NTMsMjkgKzE4MzMsNTYgQEAKICAgICByZXR1cm4gcmVzdWx0OwogfQogCisvKltjbGluaWMgaW5wdXRdCitweWV4cGF0LkVycm9yU3RyaW5nCisKKyAgICBjb2RlOiBsb25nCisgICAgLworCitSZXR1cm5zIHN0cmluZyBlcnJvciBmb3IgZ2l2ZW4gbnVtYmVyLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCiBQeURvY19TVFJWQVIocHlleHBhdF9FcnJvclN0cmluZ19fZG9jX18sCi0iRXJyb3JTdHJpbmcoZXJybm8pIC0+IHN0cmluZ1xuXAotUmV0dXJucyBzdHJpbmcgZXJyb3IgZm9yIGdpdmVuIG51bWJlci4iKTsKKyJFcnJvclN0cmluZygkbW9kdWxlLCBjb2RlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJucyBzdHJpbmcgZXJyb3IgZm9yIGdpdmVuIG51bWJlci4iKTsKKworI2RlZmluZSBQWUVYUEFUX0VSUk9SU1RSSU5HX01FVEhPRERFRiAgICBcCisgICAgeyJFcnJvclN0cmluZyIsIChQeUNGdW5jdGlvbilweWV4cGF0X0Vycm9yU3RyaW5nLCBNRVRIX1ZBUkFSR1MsIHB5ZXhwYXRfRXJyb3JTdHJpbmdfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXB5ZXhwYXRfRXJyb3JTdHJpbmcoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQotewotICAgIGxvbmcgY29kZSA9IDA7CitweWV4cGF0X0Vycm9yU3RyaW5nX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgbG9uZyBjb2RlKTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAibDpFcnJvclN0cmluZyIsICZjb2RlKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CitzdGF0aWMgUHlPYmplY3QgKgorcHlleHBhdF9FcnJvclN0cmluZyhQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBsb25nIGNvZGU7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgImw6RXJyb3JTdHJpbmciLAorICAgICAgICAmY29kZSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBweWV4cGF0X0Vycm9yU3RyaW5nX2ltcGwobW9kdWxlLCBjb2RlKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorcHlleHBhdF9FcnJvclN0cmluZ19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGxvbmcgY29kZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1jNzBmM2NkODJiZmFmMDY3IGlucHV0PWNjNjdkZTAxMGQ5ZTYyYjNdKi8KK3sKICAgICByZXR1cm4gUHlfQnVpbGRWYWx1ZSgieiIsIFhNTF9FcnJvclN0cmluZygoaW50KWNvZGUpKTsKIH0KIAogLyogTGlzdCBvZiBtZXRob2RzIGRlZmluZWQgaW4gdGhlIG1vZHVsZSAqLwogCiBzdGF0aWMgc3RydWN0IFB5TWV0aG9kRGVmIHB5ZXhwYXRfbWV0aG9kc1tdID0gewotICAgIHsiUGFyc2VyQ3JlYXRlIiwgICAgKFB5Q0Z1bmN0aW9uKXB5ZXhwYXRfUGFyc2VyQ3JlYXRlLAotICAgICBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgcHlleHBhdF9QYXJzZXJDcmVhdGVfX2RvY19ffSwKLSAgICB7IkVycm9yU3RyaW5nIiwgICAgIChQeUNGdW5jdGlvbilweWV4cGF0X0Vycm9yU3RyaW5nLAotICAgICBNRVRIX1ZBUkFSR1MsICAgICAgcHlleHBhdF9FcnJvclN0cmluZ19fZG9jX199LAotCi0gICAge05VTEwsICAgICAgIChQeUNGdW5jdGlvbilOVUxMLCAwLCBOVUxMfSAgICAgICAgICAgIC8qIHNlbnRpbmVsICovCisgICAgUFlFWFBBVF9QQVJTRVJDUkVBVEVfTUVUSE9EREVGCisgICAgUFlFWFBBVF9FUlJPUlNUUklOR19NRVRIT0RERUYKKyAgICB7TlVMTCwgTlVMTH0gIC8qIHNlbnRpbmVsICovCiB9OwogCiAvKiBNb2R1bGUgZG9jc3RyaW5nICovCkBAIC0xNjYwLDcgKzE5NjcsNyBAQAogICAgIFB5TW9kdWxlX0FkZE9iamVjdChtLCAiWE1MUGFyc2VyVHlwZSIsIChQeU9iamVjdCAqKSAmWG1scGFyc2V0eXBlKTsKIAogICAgIFB5TW9kdWxlX0FkZFN0cmluZ0NvbnN0YW50KG0sICJFWFBBVF9WRVJTSU9OIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhciAqKSBYTUxfRXhwYXRWZXJzaW9uKCkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9FeHBhdFZlcnNpb24oKSk7CiAgICAgewogICAgICAgICBYTUxfRXhwYXRfVmVyc2lvbiBpbmZvID0gWE1MX0V4cGF0VmVyc2lvbkluZm8oKTsKICAgICAgICAgUHlNb2R1bGVfQWRkT2JqZWN0KG0sICJ2ZXJzaW9uX2luZm8iLApAQCAtMTc0MCw3ICsyMDQ3LDcgQEAKIAogI2RlZmluZSBNWUNPTlNUKG5hbWUpIFwKICAgICBpZiAoUHlNb2R1bGVfQWRkU3RyaW5nQ29uc3RhbnQoZXJyb3JzX21vZHVsZSwgI25hbWUsICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhciAqKVhNTF9FcnJvclN0cmluZyhuYW1lKSkgPCAwKSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9FcnJvclN0cmluZyhuYW1lKSkgPCAwKSAgICAgICAgIFwKICAgICAgICAgcmV0dXJuIE5VTEw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIHRtcG51bSA9IFB5TG9uZ19Gcm9tTG9uZyhuYW1lKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgaWYgKHRtcG51bSA9PSBOVUxMKSByZXR1cm4gTlVMTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKQEAgLTE5NTEsMyArMjI1OCwxMiBAQAogCiAgICAge05VTEwsIE5VTEwsIE5VTEx9IC8qIHNlbnRpbmVsICovCiB9OworCisvKltjbGluaWMgaW5wdXRdCitkdW1wIGJ1ZmZlcgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCisjaWZuZGVmIFBZRVhQQVRfWE1MUEFSU0VSX1VTRUZPUkVJR05EVERfTUVUSE9EREVGCisgICAgI2RlZmluZSBQWUVYUEFUX1hNTFBBUlNFUl9VU0VGT1JFSUdORFREX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKFBZRVhQQVRfWE1MUEFSU0VSX1VTRUZPUkVJR05EVERfTUVUSE9EREVGKSAqLworLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWE3ODgwY2I3OGJiZDU4Y2UgaW5wdXQ9NTI0Y2UyZTAyMWU0ZWJhNl0qLwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9yZWFkbGluZS5jIGIvTW9kdWxlcy9yZWFkbGluZS5jCmluZGV4IGYzNDlkM2IuLjI2ZGZmZmIgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvcmVhZGxpbmUuYworKysgYi9Nb2R1bGVzL3JlYWRsaW5lLmMKQEAgLTIzNyw2ICsyMzcsNDMgQEAKIFRoZSBkZWZhdWx0IGZpbGVuYW1lIGlzIH4vLmhpc3RvcnkuIik7CiAKIAorI2lmZGVmIEhBVkVfUkxfQVBQRU5EX0hJU1RPUlkKKy8qIEV4cG9ydGVkIGZ1bmN0aW9uIHRvIHNhdmUgcGFydCBvZiBhIHJlYWRsaW5lIGhpc3RvcnkgZmlsZSAqLworCitzdGF0aWMgUHlPYmplY3QgKgorYXBwZW5kX2hpc3RvcnlfZmlsZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgaW50IG5lbGVtZW50czsKKyAgICBQeU9iamVjdCAqZmlsZW5hbWVfb2JqID0gUHlfTm9uZSwgKmZpbGVuYW1lX2J5dGVzOworICAgIGNoYXIgKmZpbGVuYW1lOworICAgIGludCBlcnI7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpfE86YXBwZW5kX2hpc3RvcnlfZmlsZSIsICZuZWxlbWVudHMsICZmaWxlbmFtZV9vYmopKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoZmlsZW5hbWVfb2JqICE9IFB5X05vbmUpIHsKKyAgICAgICAgaWYgKCFQeVVuaWNvZGVfRlNDb252ZXJ0ZXIoZmlsZW5hbWVfb2JqLCAmZmlsZW5hbWVfYnl0ZXMpKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIGZpbGVuYW1lID0gUHlCeXRlc19Bc1N0cmluZyhmaWxlbmFtZV9ieXRlcyk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgZmlsZW5hbWVfYnl0ZXMgPSBOVUxMOworICAgICAgICBmaWxlbmFtZSA9IE5VTEw7CisgICAgfQorICAgIGVycm5vID0gZXJyID0gYXBwZW5kX2hpc3RvcnkobmVsZW1lbnRzLCBmaWxlbmFtZSk7CisgICAgaWYgKCFlcnIgJiYgX2hpc3RvcnlfbGVuZ3RoID49IDApCisgICAgICAgIGhpc3RvcnlfdHJ1bmNhdGVfZmlsZShmaWxlbmFtZSwgX2hpc3RvcnlfbGVuZ3RoKTsKKyAgICBQeV9YREVDUkVGKGZpbGVuYW1lX2J5dGVzKTsKKyAgICBlcnJubyA9IGVycjsKKyAgICBpZiAoZXJybm8pCisgICAgICAgIHJldHVybiBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfSU9FcnJvcik7CisgICAgUHlfUkVUVVJOX05PTkU7Cit9CisKK1B5RG9jX1NUUlZBUihkb2NfYXBwZW5kX2hpc3RvcnlfZmlsZSwKKyJhcHBlbmRfaGlzdG9yeV9maWxlKG5lbGVtZW50c1ssIGZpbGVuYW1lXSkgLT4gTm9uZVxuXAorQXBwZW5kIHRoZSBsYXN0IG5lbGVtZW50cyBvZiB0aGUgaGlzdG9yeSBsaXN0IHRvIGZpbGUuXG5cCitUaGUgZGVmYXVsdCBmaWxlbmFtZSBpcyB+Ly5oaXN0b3J5LiIpOworI2VuZGlmCisKKwogLyogU2V0IGhpc3RvcnkgbGVuZ3RoICovCiAKIHN0YXRpYyBQeU9iamVjdCoKQEAgLTc0Nyw2ICs3ODQsMTAgQEAKICAgICAgTUVUSF9WQVJBUkdTLCBkb2NfcmVhZF9oaXN0b3J5X2ZpbGV9LAogICAgIHsid3JpdGVfaGlzdG9yeV9maWxlIiwgd3JpdGVfaGlzdG9yeV9maWxlLAogICAgICBNRVRIX1ZBUkFSR1MsIGRvY193cml0ZV9oaXN0b3J5X2ZpbGV9LAorI2lmZGVmIEhBVkVfUkxfQVBQRU5EX0hJU1RPUlkKKyAgICB7ImFwcGVuZF9oaXN0b3J5X2ZpbGUiLCBhcHBlbmRfaGlzdG9yeV9maWxlLAorICAgICBNRVRIX1ZBUkFSR1MsIGRvY19hcHBlbmRfaGlzdG9yeV9maWxlfSwKKyNlbmRpZgogICAgIHsiZ2V0X2hpc3RvcnlfaXRlbSIsIGdldF9oaXN0b3J5X2l0ZW0sCiAgICAgIE1FVEhfVkFSQVJHUywgZG9jX2dldF9oaXN0b3J5X2l0ZW19LAogICAgIHsiZ2V0X2N1cnJlbnRfaGlzdG9yeV9sZW5ndGgiLCAoUHlDRnVuY3Rpb24pZ2V0X2N1cnJlbnRfaGlzdG9yeV9sZW5ndGgsCmRpZmYgLS1naXQgYS9Nb2R1bGVzL3NoYTFtb2R1bGUuYyBiL01vZHVsZXMvc2hhMW1vZHVsZS5jCmluZGV4IGI0NGZlMTguLjg5NjFkZTQgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvc2hhMW1vZHVsZS5jCisrKyBiL01vZHVsZXMvc2hhMW1vZHVsZS5jCkBAIC0xOSw2ICsxOSwxMSBAQAogI2luY2x1ZGUgIlB5dGhvbi5oIgogI2luY2x1ZGUgImhhc2hsaWIuaCIKIAorLypbY2xpbmljIGlucHV0XQorbW9kdWxlIF9zaGExCitjbGFzcyBTSEExVHlwZSAiU0hBMW9iamVjdCAqIiAiJlB5VHlwZV9UeXBlIgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWRhMzlhM2VlNWU2YjRiMGQgaW5wdXQ9M2RjOWEyMGQxYmVjYjc1OV0qLwogCiAvKiBTb21lIHVzZWZ1bCB0eXBlcyAqLwogCkBAIC0zMDksMTAgKzMxNCwzMyBAQAogCiAvKiBFeHRlcm5hbCBtZXRob2RzIGZvciBhIGhhc2ggb2JqZWN0ICovCiAKLVB5RG9jX1NUUlZBUihTSEExX2NvcHlfX2RvY19fLCAiUmV0dXJuIGEgY29weSBvZiB0aGUgaGFzaCBvYmplY3QuIik7CisvKltjbGluaWMgaW5wdXRdCitTSEExVHlwZS5jb3B5CisKK1JldHVybiBhIGNvcHkgb2YgdGhlIGhhc2ggb2JqZWN0LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoU0hBMVR5cGVfY29weV9fZG9jX18sCisiY29weSgkc2VsZiwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBhIGNvcHkgb2YgdGhlIGhhc2ggb2JqZWN0LiIpOworCisjZGVmaW5lIFNIQTFUWVBFX0NPUFlfTUVUSE9EREVGICAgIFwKKyAgICB7ImNvcHkiLCAoUHlDRnVuY3Rpb24pU0hBMVR5cGVfY29weSwgTUVUSF9OT0FSR1MsIFNIQTFUeXBlX2NvcHlfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLVNIQTFfY29weShTSEExb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdW51c2VkKQorU0hBMVR5cGVfY29weV9pbXBsKFNIQTFvYmplY3QgKnNlbGYpOworCitzdGF0aWMgUHlPYmplY3QgKgorU0hBMVR5cGVfY29weShTSEExb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBTSEExVHlwZV9jb3B5X2ltcGwoc2VsZik7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitTSEExVHlwZV9jb3B5X2ltcGwoU0hBMW9iamVjdCAqc2VsZikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0xYTMyMGU3NWE3NDQ0MDk4IGlucHV0PWI3ZWFlMTBkZjZmODliMzZdKi8KIHsKICAgICBTSEExb2JqZWN0ICpuZXdvYmo7CiAKQEAgLTMyMywxMSArMzUxLDMzIEBACiAgICAgcmV0dXJuIChQeU9iamVjdCAqKW5ld29iajsKIH0KIAotUHlEb2NfU1RSVkFSKFNIQTFfZGlnZXN0X19kb2NfXywKKy8qW2NsaW5pYyBpbnB1dF0KK1NIQTFUeXBlLmRpZ2VzdAorCitSZXR1cm4gdGhlIGRpZ2VzdCB2YWx1ZSBhcyBhIHN0cmluZyBvZiBiaW5hcnkgZGF0YS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKFNIQTFUeXBlX2RpZ2VzdF9fZG9jX18sCisiZGlnZXN0KCRzZWxmLCAvKVxuIgorIi0tXG4iCisiXG4iCiAiUmV0dXJuIHRoZSBkaWdlc3QgdmFsdWUgYXMgYSBzdHJpbmcgb2YgYmluYXJ5IGRhdGEuIik7CiAKKyNkZWZpbmUgU0hBMVRZUEVfRElHRVNUX01FVEhPRERFRiAgICBcCisgICAgeyJkaWdlc3QiLCAoUHlDRnVuY3Rpb24pU0hBMVR5cGVfZGlnZXN0LCBNRVRIX05PQVJHUywgU0hBMVR5cGVfZGlnZXN0X19kb2NfX30sCisKIHN0YXRpYyBQeU9iamVjdCAqCi1TSEExX2RpZ2VzdChTSEExb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdW51c2VkKQorU0hBMVR5cGVfZGlnZXN0X2ltcGwoU0hBMW9iamVjdCAqc2VsZik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitTSEExVHlwZV9kaWdlc3QoU0hBMW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gU0hBMVR5cGVfZGlnZXN0X2ltcGwoc2VsZik7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitTSEExVHlwZV9kaWdlc3RfaW1wbChTSEExb2JqZWN0ICpzZWxmKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWM0OTIwZjc1MjI4YmZiZmQgaW5wdXQ9MjA1ZDQ3ZTE5MjdmZDAwOV0qLwogewogICAgIHVuc2lnbmVkIGNoYXIgZGlnZXN0W1NIQTFfRElHRVNUU0laRV07CiAgICAgc3RydWN0IHNoYTFfc3RhdGUgdGVtcDsKQEAgLTMzNywxMSArMzg3LDMzIEBACiAgICAgcmV0dXJuIFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoKGNvbnN0IGNoYXIgKilkaWdlc3QsIFNIQTFfRElHRVNUU0laRSk7CiB9CiAKLVB5RG9jX1NUUlZBUihTSEExX2hleGRpZ2VzdF9fZG9jX18sCisvKltjbGluaWMgaW5wdXRdCitTSEExVHlwZS5oZXhkaWdlc3QKKworUmV0dXJuIHRoZSBkaWdlc3QgdmFsdWUgYXMgYSBzdHJpbmcgb2YgaGV4YWRlY2ltYWwgZGlnaXRzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoU0hBMVR5cGVfaGV4ZGlnZXN0X19kb2NfXywKKyJoZXhkaWdlc3QoJHNlbGYsIC8pXG4iCisiLS1cbiIKKyJcbiIKICJSZXR1cm4gdGhlIGRpZ2VzdCB2YWx1ZSBhcyBhIHN0cmluZyBvZiBoZXhhZGVjaW1hbCBkaWdpdHMuIik7CiAKKyNkZWZpbmUgU0hBMVRZUEVfSEVYRElHRVNUX01FVEhPRERFRiAgICBcCisgICAgeyJoZXhkaWdlc3QiLCAoUHlDRnVuY3Rpb24pU0hBMVR5cGVfaGV4ZGlnZXN0LCBNRVRIX05PQVJHUywgU0hBMVR5cGVfaGV4ZGlnZXN0X19kb2NfX30sCisKIHN0YXRpYyBQeU9iamVjdCAqCi1TSEExX2hleGRpZ2VzdChTSEExb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdW51c2VkKQorU0hBMVR5cGVfaGV4ZGlnZXN0X2ltcGwoU0hBMW9iamVjdCAqc2VsZik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitTSEExVHlwZV9oZXhkaWdlc3QoU0hBMW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gU0hBMVR5cGVfaGV4ZGlnZXN0X2ltcGwoc2VsZik7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitTSEExVHlwZV9oZXhkaWdlc3RfaW1wbChTSEExb2JqZWN0ICpzZWxmKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTZlMzQ1YWFjMjAxODg3YjIgaW5wdXQ9OTc2OTEwNTVjMGM3NGFiMF0qLwogewogICAgIHVuc2lnbmVkIGNoYXIgZGlnZXN0W1NIQTFfRElHRVNUU0laRV07CiAgICAgc3RydWN0IHNoYTFfc3RhdGUgdGVtcDsKQEAgLTM3MywxOCArNDQ1LDMwIEBACiAgICAgcmV0dXJuIHJldHZhbDsKIH0KIAotUHlEb2NfU1RSVkFSKFNIQTFfdXBkYXRlX19kb2NfXywKLSJVcGRhdGUgdGhpcyBoYXNoIG9iamVjdCdzIHN0YXRlIHdpdGggdGhlIHByb3ZpZGVkIHN0cmluZy4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK1NIQTFUeXBlLnVwZGF0ZQorCisgICAgb2JqOiBvYmplY3QKKyAgICAvCisKK1VwZGF0ZSB0aGlzIGhhc2ggb2JqZWN0J3Mgc3RhdGUgd2l0aCB0aGUgcHJvdmlkZWQgc3RyaW5nLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoU0hBMVR5cGVfdXBkYXRlX19kb2NfXywKKyJ1cGRhdGUoJHNlbGYsIG9iaiwgLylcbiIKKyItLVxuIgorIlxuIgorIlVwZGF0ZSB0aGlzIGhhc2ggb2JqZWN0XCdzIHN0YXRlIHdpdGggdGhlIHByb3ZpZGVkIHN0cmluZy4iKTsKKworI2RlZmluZSBTSEExVFlQRV9VUERBVEVfTUVUSE9EREVGICAgIFwKKyAgICB7InVwZGF0ZSIsIChQeUNGdW5jdGlvbilTSEExVHlwZV91cGRhdGUsIE1FVEhfTywgU0hBMVR5cGVfdXBkYXRlX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1TSEExX3VwZGF0ZShTSEExb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK1NIQTFUeXBlX3VwZGF0ZShTSEExb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqb2JqKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWFiMjBhODZhMjVlN2QyNTUgaW5wdXQ9YWFkOGUwNzgxMmVkYmJhM10qLwogewotICAgIFB5T2JqZWN0ICpvYmo7CiAgICAgUHlfYnVmZmVyIGJ1ZjsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTzp1cGRhdGUiLCAmb2JqKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KICAgICBHRVRfQlVGRkVSX1ZJRVdfT1JfRVJST1VUKG9iaiwgJmJ1Zik7CiAKICAgICBzaGExX3Byb2Nlc3MoJnNlbGYtPmhhc2hfc3RhdGUsIGJ1Zi5idWYsIGJ1Zi5sZW4pOwpAQCAtMzk1LDEwICs0NzksMTAgQEAKIH0KIAogc3RhdGljIFB5TWV0aG9kRGVmIFNIQTFfbWV0aG9kc1tdID0gewotICAgIHsiY29weSIsICAgICAgKFB5Q0Z1bmN0aW9uKVNIQTFfY29weSwgICAgICBNRVRIX05PQVJHUywgIFNIQTFfY29weV9fZG9jX199LAotICAgIHsiZGlnZXN0IiwgICAgKFB5Q0Z1bmN0aW9uKVNIQTFfZGlnZXN0LCAgICBNRVRIX05PQVJHUywgIFNIQTFfZGlnZXN0X19kb2NfX30sCi0gICAgeyJoZXhkaWdlc3QiLCAoUHlDRnVuY3Rpb24pU0hBMV9oZXhkaWdlc3QsIE1FVEhfTk9BUkdTLCAgU0hBMV9oZXhkaWdlc3RfX2RvY19ffSwKLSAgICB7InVwZGF0ZSIsICAgIChQeUNGdW5jdGlvbilTSEExX3VwZGF0ZSwgICAgTUVUSF9WQVJBUkdTLCBTSEExX3VwZGF0ZV9fZG9jX199LAorICAgIFNIQTFUWVBFX0NPUFlfTUVUSE9EREVGCisgICAgU0hBMVRZUEVfRElHRVNUX01FVEhPRERFRgorICAgIFNIQTFUWVBFX0hFWERJR0VTVF9NRVRIT0RERUYKKyAgICBTSEExVFlQRV9VUERBVEVfTUVUSE9EREVGCiAgICAge05VTEwsICAgICAgICBOVUxMfSAgICAgICAgIC8qIHNlbnRpbmVsICovCiB9OwogCkBAIC00NzQsMjcgKzU1OCw1NSBAQAogCiAvKiBUaGUgc2luZ2xlIG1vZHVsZS1sZXZlbCBmdW5jdGlvbjogbmV3KCkgKi8KIAotUHlEb2NfU1RSVkFSKFNIQTFfbmV3X19kb2NfXywKKy8qW2NsaW5pYyBpbnB1dF0KK19zaGExLnNoYTEKKworICAgIHN0cmluZzogb2JqZWN0KGNfZGVmYXVsdD0iTlVMTCIpID0gYicnCisKK1JldHVybiBhIG5ldyBTSEExIGhhc2ggb2JqZWN0OyBvcHRpb25hbGx5IGluaXRpYWxpemVkIHdpdGggYSBzdHJpbmcuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihfc2hhMV9zaGExX19kb2NfXywKKyJzaGExKCRtb2R1bGUsIC8sIHN0cmluZz1iXCdcJylcbiIKKyItLVxuIgorIlxuIgogIlJldHVybiBhIG5ldyBTSEExIGhhc2ggb2JqZWN0OyBvcHRpb25hbGx5IGluaXRpYWxpemVkIHdpdGggYSBzdHJpbmcuIik7CiAKKyNkZWZpbmUgX1NIQTFfU0hBMV9NRVRIT0RERUYgICAgXAorICAgIHsic2hhMSIsIChQeUNGdW5jdGlvbilfc2hhMV9zaGExLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgX3NoYTFfc2hhMV9fZG9jX199LAorCiBzdGF0aWMgUHlPYmplY3QgKgotU0hBMV9uZXcoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkaWN0KQorX3NoYTFfc2hhMV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpzdHJpbmcpOworCitzdGF0aWMgUHlPYmplY3QgKgorX3NoYTFfc2hhMShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKLSAgICBzdGF0aWMgY2hhciAqa3dsaXN0W10gPSB7InN0cmluZyIsIE5VTEx9OworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsic3RyaW5nIiwgTlVMTH07CisgICAgUHlPYmplY3QgKnN0cmluZyA9IE5VTEw7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJ8TzpzaGExIiwgX2tleXdvcmRzLAorICAgICAgICAmc3RyaW5nKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IF9zaGExX3NoYTFfaW1wbChtb2R1bGUsIHN0cmluZyk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK19zaGExX3NoYTFfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqc3RyaW5nKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWM5MDY4NTUyZjA3Yjg5NTQgaW5wdXQ9MjdlYTU0MjgxZDk5NWVjMl0qLworewogICAgIFNIQTFvYmplY3QgKm5ldzsKLSAgICBQeU9iamVjdCAqZGF0YV9vYmogPSBOVUxMOwogICAgIFB5X2J1ZmZlciBidWY7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RpY3QsICJ8TzpuZXciLCBrd2xpc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmRhdGFfb2JqKSkgewotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9Ci0KLSAgICBpZiAoZGF0YV9vYmopCi0gICAgICAgIEdFVF9CVUZGRVJfVklFV19PUl9FUlJPVVQoZGF0YV9vYmosICZidWYpOworICAgIGlmIChzdHJpbmcpCisgICAgICAgIEdFVF9CVUZGRVJfVklFV19PUl9FUlJPVVQoc3RyaW5nLCAmYnVmKTsKIAogICAgIGlmICgobmV3ID0gbmV3U0hBMW9iamVjdCgpKSA9PSBOVUxMKSB7Ci0gICAgICAgIGlmIChkYXRhX29iaikKKyAgICAgICAgaWYgKHN0cmluZykKICAgICAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJmJ1Zik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KQEAgLTUwMywxMSArNjE1LDExIEBACiAKICAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkgewogICAgICAgICBQeV9ERUNSRUYobmV3KTsKLSAgICAgICAgaWYgKGRhdGFfb2JqKQorICAgICAgICBpZiAoc3RyaW5nKQogICAgICAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmYnVmKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIGlmIChkYXRhX29iaikgeworICAgIGlmIChzdHJpbmcpIHsKICAgICAgICAgc2hhMV9wcm9jZXNzKCZuZXctPmhhc2hfc3RhdGUsIGJ1Zi5idWYsIGJ1Zi5sZW4pOwogICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZidWYpOwogICAgIH0KQEAgLTUxOSw3ICs2MzEsNyBAQAogLyogTGlzdCBvZiBmdW5jdGlvbnMgZXhwb3J0ZWQgYnkgdGhpcyBtb2R1bGUgKi8KIAogc3RhdGljIHN0cnVjdCBQeU1ldGhvZERlZiBTSEExX2Z1bmN0aW9uc1tdID0gewotICAgIHsic2hhMSIsKFB5Q0Z1bmN0aW9uKVNIQTFfbmV3LCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUyxTSEExX25ld19fZG9jX199LAorICAgIF9TSEExX1NIQTFfTUVUSE9EREVGCiAgICAge05VTEwsICAgICAgTlVMTH0gICAgICAgICAgICAvKiBTZW50aW5lbCAqLwogfTsKIApkaWZmIC0tZ2l0IGEvTW9kdWxlcy9zaGEyNTZtb2R1bGUuYyBiL01vZHVsZXMvc2hhMjU2bW9kdWxlLmMKaW5kZXggYjA1YmZjMS4uN2IxNDg4NiAxMDA2NDQKLS0tIGEvTW9kdWxlcy9zaGEyNTZtb2R1bGUuYworKysgYi9Nb2R1bGVzL3NoYTI1Nm1vZHVsZS5jCkBAIC0yMCw2ICsyMCwxMSBAQAogI2luY2x1ZGUgInN0cnVjdG1lbWJlci5oIgogI2luY2x1ZGUgImhhc2hsaWIuaCIKIAorLypbY2xpbmljIGlucHV0XQorbW9kdWxlIF9zaGEyNTYKK2NsYXNzIFNIQTI1NlR5cGUgIlNIQW9iamVjdCAqIiAiJlB5VHlwZV9UeXBlIgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWRhMzlhM2VlNWU2YjRiMGQgaW5wdXQ9NzFhMzkxNzRkNGYwYTc0NF0qLwogCiAvKiBTb21lIHVzZWZ1bCB0eXBlcyAqLwogCkBAIC0zOTMsMTAgKzM5OCwzMyBAQAogCiAvKiBFeHRlcm5hbCBtZXRob2RzIGZvciBhIGhhc2ggb2JqZWN0ICovCiAKLVB5RG9jX1NUUlZBUihTSEEyNTZfY29weV9fZG9jX18sICJSZXR1cm4gYSBjb3B5IG9mIHRoZSBoYXNoIG9iamVjdC4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK1NIQTI1NlR5cGUuY29weQorCitSZXR1cm4gYSBjb3B5IG9mIHRoZSBoYXNoIG9iamVjdC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKFNIQTI1NlR5cGVfY29weV9fZG9jX18sCisiY29weSgkc2VsZiwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBhIGNvcHkgb2YgdGhlIGhhc2ggb2JqZWN0LiIpOworCisjZGVmaW5lIFNIQTI1NlRZUEVfQ09QWV9NRVRIT0RERUYgICAgXAorICAgIHsiY29weSIsIChQeUNGdW5jdGlvbilTSEEyNTZUeXBlX2NvcHksIE1FVEhfTk9BUkdTLCBTSEEyNTZUeXBlX2NvcHlfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLVNIQTI1Nl9jb3B5KFNIQW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnVudXNlZCkKK1NIQTI1NlR5cGVfY29weV9pbXBsKFNIQW9iamVjdCAqc2VsZik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitTSEEyNTZUeXBlX2NvcHkoU0hBb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBTSEEyNTZUeXBlX2NvcHlfaW1wbChzZWxmKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK1NIQTI1NlR5cGVfY29weV9pbXBsKFNIQW9iamVjdCAqc2VsZikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1mNzE2YzM5ZDNmODFjMjdjIGlucHV0PWY1ODg0MGE2MThkNGYyYTddKi8KIHsKICAgICBTSEFvYmplY3QgKm5ld29iajsKIApAQCAtNDEyLDExICs0NDAsMzMgQEAKICAgICByZXR1cm4gKFB5T2JqZWN0ICopbmV3b2JqOwogfQogCi1QeURvY19TVFJWQVIoU0hBMjU2X2RpZ2VzdF9fZG9jX18sCisvKltjbGluaWMgaW5wdXRdCitTSEEyNTZUeXBlLmRpZ2VzdAorCitSZXR1cm4gdGhlIGRpZ2VzdCB2YWx1ZSBhcyBhIHN0cmluZyBvZiBiaW5hcnkgZGF0YS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKFNIQTI1NlR5cGVfZGlnZXN0X19kb2NfXywKKyJkaWdlc3QoJHNlbGYsIC8pXG4iCisiLS1cbiIKKyJcbiIKICJSZXR1cm4gdGhlIGRpZ2VzdCB2YWx1ZSBhcyBhIHN0cmluZyBvZiBiaW5hcnkgZGF0YS4iKTsKIAorI2RlZmluZSBTSEEyNTZUWVBFX0RJR0VTVF9NRVRIT0RERUYgICAgXAorICAgIHsiZGlnZXN0IiwgKFB5Q0Z1bmN0aW9uKVNIQTI1NlR5cGVfZGlnZXN0LCBNRVRIX05PQVJHUywgU0hBMjU2VHlwZV9kaWdlc3RfX2RvY19ffSwKKwogc3RhdGljIFB5T2JqZWN0ICoKLVNIQTI1Nl9kaWdlc3QoU0hBb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdW51c2VkKQorU0hBMjU2VHlwZV9kaWdlc3RfaW1wbChTSEFvYmplY3QgKnNlbGYpOworCitzdGF0aWMgUHlPYmplY3QgKgorU0hBMjU2VHlwZV9kaWdlc3QoU0hBb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBTSEEyNTZUeXBlX2RpZ2VzdF9pbXBsKHNlbGYpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorU0hBMjU2VHlwZV9kaWdlc3RfaW1wbChTSEFvYmplY3QgKnNlbGYpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NzJkMzQ3MjNkN2JiNjk0YyBpbnB1dD0xZmI3NTJlNTg5NTQxNTdkXSovCiB7CiAgICAgdW5zaWduZWQgY2hhciBkaWdlc3RbU0hBX0RJR0VTVFNJWkVdOwogICAgIFNIQW9iamVjdCB0ZW1wOwpAQCAtNDI2LDExICs0NzYsMzMgQEAKICAgICByZXR1cm4gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZSgoY29uc3QgY2hhciAqKWRpZ2VzdCwgc2VsZi0+ZGlnZXN0c2l6ZSk7CiB9CiAKLVB5RG9jX1NUUlZBUihTSEEyNTZfaGV4ZGlnZXN0X19kb2NfXywKKy8qW2NsaW5pYyBpbnB1dF0KK1NIQTI1NlR5cGUuaGV4ZGlnZXN0CisKK1JldHVybiB0aGUgZGlnZXN0IHZhbHVlIGFzIGEgc3RyaW5nIG9mIGhleGFkZWNpbWFsIGRpZ2l0cy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKFNIQTI1NlR5cGVfaGV4ZGlnZXN0X19kb2NfXywKKyJoZXhkaWdlc3QoJHNlbGYsIC8pXG4iCisiLS1cbiIKKyJcbiIKICJSZXR1cm4gdGhlIGRpZ2VzdCB2YWx1ZSBhcyBhIHN0cmluZyBvZiBoZXhhZGVjaW1hbCBkaWdpdHMuIik7CiAKKyNkZWZpbmUgU0hBMjU2VFlQRV9IRVhESUdFU1RfTUVUSE9EREVGICAgIFwKKyAgICB7ImhleGRpZ2VzdCIsIChQeUNGdW5jdGlvbilTSEEyNTZUeXBlX2hleGRpZ2VzdCwgTUVUSF9OT0FSR1MsIFNIQTI1NlR5cGVfaGV4ZGlnZXN0X19kb2NfX30sCisKIHN0YXRpYyBQeU9iamVjdCAqCi1TSEEyNTZfaGV4ZGlnZXN0KFNIQW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnVudXNlZCkKK1NIQTI1NlR5cGVfaGV4ZGlnZXN0X2ltcGwoU0hBb2JqZWN0ICpzZWxmKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK1NIQTI1NlR5cGVfaGV4ZGlnZXN0KFNIQW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gU0hBMjU2VHlwZV9oZXhkaWdlc3RfaW1wbChzZWxmKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK1NIQTI1NlR5cGVfaGV4ZGlnZXN0X2ltcGwoU0hBb2JqZWN0ICpzZWxmKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTM2ODdhYTYxODNjN2QyN2YgaW5wdXQ9MGNjNGM3MTQ2OTMwMTBkMV0qLwogewogICAgIHVuc2lnbmVkIGNoYXIgZGlnZXN0W1NIQV9ESUdFU1RTSVpFXTsKICAgICBTSEFvYmplY3QgdGVtcDsKQEAgLTQ2MiwxOCArNTM0LDMwIEBACiAgICAgcmV0dXJuIHJldHZhbDsKIH0KIAotUHlEb2NfU1RSVkFSKFNIQTI1Nl91cGRhdGVfX2RvY19fLAotIlVwZGF0ZSB0aGlzIGhhc2ggb2JqZWN0J3Mgc3RhdGUgd2l0aCB0aGUgcHJvdmlkZWQgc3RyaW5nLiIpOworLypbY2xpbmljIGlucHV0XQorU0hBMjU2VHlwZS51cGRhdGUKKworICAgIG9iajogb2JqZWN0CisgICAgLworCitVcGRhdGUgdGhpcyBoYXNoIG9iamVjdCdzIHN0YXRlIHdpdGggdGhlIHByb3ZpZGVkIHN0cmluZy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKFNIQTI1NlR5cGVfdXBkYXRlX19kb2NfXywKKyJ1cGRhdGUoJHNlbGYsIG9iaiwgLylcbiIKKyItLVxuIgorIlxuIgorIlVwZGF0ZSB0aGlzIGhhc2ggb2JqZWN0XCdzIHN0YXRlIHdpdGggdGhlIHByb3ZpZGVkIHN0cmluZy4iKTsKKworI2RlZmluZSBTSEEyNTZUWVBFX1VQREFURV9NRVRIT0RERUYgICAgXAorICAgIHsidXBkYXRlIiwgKFB5Q0Z1bmN0aW9uKVNIQTI1NlR5cGVfdXBkYXRlLCBNRVRIX08sIFNIQTI1NlR5cGVfdXBkYXRlX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1TSEEyNTZfdXBkYXRlKFNIQW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitTSEEyNTZUeXBlX3VwZGF0ZShTSEFvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpvYmopCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YjQ3ZjUzZDdjYmVhYmVlNCBpbnB1dD1iMmQ0NDlkNWIzMGYwZjVhXSovCiB7Ci0gICAgUHlPYmplY3QgKm9iajsKICAgICBQeV9idWZmZXIgYnVmOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPOnVwZGF0ZSIsICZvYmopKQotICAgICAgICByZXR1cm4gTlVMTDsKLQogICAgIEdFVF9CVUZGRVJfVklFV19PUl9FUlJPVVQob2JqLCAmYnVmKTsKIAogICAgIHNoYV91cGRhdGUoc2VsZiwgYnVmLmJ1ZiwgYnVmLmxlbik7CkBAIC00ODQsMTAgKzU2OCwxMCBAQAogfQogCiBzdGF0aWMgUHlNZXRob2REZWYgU0hBX21ldGhvZHNbXSA9IHsKLSAgICB7ImNvcHkiLCAgICAgIChQeUNGdW5jdGlvbilTSEEyNTZfY29weSwgICAgICBNRVRIX05PQVJHUywgIFNIQTI1Nl9jb3B5X19kb2NfX30sCi0gICAgeyJkaWdlc3QiLCAgICAoUHlDRnVuY3Rpb24pU0hBMjU2X2RpZ2VzdCwgICAgTUVUSF9OT0FSR1MsICBTSEEyNTZfZGlnZXN0X19kb2NfX30sCi0gICAgeyJoZXhkaWdlc3QiLCAoUHlDRnVuY3Rpb24pU0hBMjU2X2hleGRpZ2VzdCwgTUVUSF9OT0FSR1MsICBTSEEyNTZfaGV4ZGlnZXN0X19kb2NfX30sCi0gICAgeyJ1cGRhdGUiLCAgICAoUHlDRnVuY3Rpb24pU0hBMjU2X3VwZGF0ZSwgICAgTUVUSF9WQVJBUkdTLCBTSEEyNTZfdXBkYXRlX19kb2NfX30sCisgICAgU0hBMjU2VFlQRV9DT1BZX01FVEhPRERFRgorICAgIFNIQTI1NlRZUEVfRElHRVNUX01FVEhPRERFRgorICAgIFNIQTI1NlRZUEVfSEVYRElHRVNUX01FVEhPRERFRgorICAgIFNIQTI1NlRZUEVfVVBEQVRFX01FVEhPRERFRgogICAgIHtOVUxMLCAgICAgICAgTlVMTH0gICAgICAgICAvKiBzZW50aW5lbCAqLwogfTsKIApAQCAtNTk0LDI3ICs2NzgsNTUgQEAKIAogLyogVGhlIHNpbmdsZSBtb2R1bGUtbGV2ZWwgZnVuY3Rpb246IG5ldygpICovCiAKLVB5RG9jX1NUUlZBUihTSEEyNTZfbmV3X19kb2NfXywKKy8qW2NsaW5pYyBpbnB1dF0KK19zaGEyNTYuc2hhMjU2CisKKyAgICBzdHJpbmc6IG9iamVjdChjX2RlZmF1bHQ9Ik5VTEwiKSA9IGInJworCitSZXR1cm4gYSBuZXcgU0hBLTI1NiBoYXNoIG9iamVjdDsgb3B0aW9uYWxseSBpbml0aWFsaXplZCB3aXRoIGEgc3RyaW5nLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoX3NoYTI1Nl9zaGEyNTZfX2RvY19fLAorInNoYTI1NigkbW9kdWxlLCAvLCBzdHJpbmc9YlwnXCcpXG4iCisiLS1cbiIKKyJcbiIKICJSZXR1cm4gYSBuZXcgU0hBLTI1NiBoYXNoIG9iamVjdDsgb3B0aW9uYWxseSBpbml0aWFsaXplZCB3aXRoIGEgc3RyaW5nLiIpOwogCisjZGVmaW5lIF9TSEEyNTZfU0hBMjU2X01FVEhPRERFRiAgICBcCisgICAgeyJzaGEyNTYiLCAoUHlDRnVuY3Rpb24pX3NoYTI1Nl9zaGEyNTYsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBfc2hhMjU2X3NoYTI1Nl9fZG9jX199LAorCiBzdGF0aWMgUHlPYmplY3QgKgotU0hBMjU2X25ldyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RpY3QpCitfc2hhMjU2X3NoYTI1Nl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpzdHJpbmcpOworCitzdGF0aWMgUHlPYmplY3QgKgorX3NoYTI1Nl9zaGEyNTYoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgc3RhdGljIGNoYXIgKmt3bGlzdFtdID0geyJzdHJpbmciLCBOVUxMfTsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InN0cmluZyIsIE5VTEx9OworICAgIFB5T2JqZWN0ICpzdHJpbmcgPSBOVUxMOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAifE86c2hhMjU2IiwgX2tleXdvcmRzLAorICAgICAgICAmc3RyaW5nKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IF9zaGEyNTZfc2hhMjU2X2ltcGwobW9kdWxlLCBzdHJpbmcpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitfc2hhMjU2X3NoYTI1Nl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpzdHJpbmcpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NGIxMjYzZDFlMmZjZGI5OCBpbnB1dD0wOWNjZTNmYjg1NTA1NmIyXSovCit7CiAgICAgU0hBb2JqZWN0ICpuZXc7Ci0gICAgUHlPYmplY3QgKmRhdGFfb2JqID0gTlVMTDsKICAgICBQeV9idWZmZXIgYnVmOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkaWN0LCAifE86bmV3Iiwga3dsaXN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZkYXRhX29iaikpIHsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotCi0gICAgaWYgKGRhdGFfb2JqKQotICAgICAgICBHRVRfQlVGRkVSX1ZJRVdfT1JfRVJST1VUKGRhdGFfb2JqLCAmYnVmKTsKKyAgICBpZiAoc3RyaW5nKQorICAgICAgICBHRVRfQlVGRkVSX1ZJRVdfT1JfRVJST1VUKHN0cmluZywgJmJ1Zik7CiAKICAgICBpZiAoKG5ldyA9IG5ld1NIQTI1Nm9iamVjdCgpKSA9PSBOVUxMKSB7Ci0gICAgICAgIGlmIChkYXRhX29iaikKKyAgICAgICAgaWYgKHN0cmluZykKICAgICAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJmJ1Zik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KQEAgLTYyMywxMSArNzM1LDExIEBACiAKICAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkgewogICAgICAgICBQeV9ERUNSRUYobmV3KTsKLSAgICAgICAgaWYgKGRhdGFfb2JqKQorICAgICAgICBpZiAoc3RyaW5nKQogICAgICAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmYnVmKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIGlmIChkYXRhX29iaikgeworICAgIGlmIChzdHJpbmcpIHsKICAgICAgICAgc2hhX3VwZGF0ZShuZXcsIGJ1Zi5idWYsIGJ1Zi5sZW4pOwogICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZidWYpOwogICAgIH0KQEAgLTYzNSwyNyArNzQ3LDU1IEBACiAgICAgcmV0dXJuIChQeU9iamVjdCAqKW5ldzsKIH0KIAotUHlEb2NfU1RSVkFSKFNIQTIyNF9uZXdfX2RvY19fLAorLypbY2xpbmljIGlucHV0XQorX3NoYTI1Ni5zaGEyMjQKKworICAgIHN0cmluZzogb2JqZWN0KGNfZGVmYXVsdD0iTlVMTCIpID0gYicnCisKK1JldHVybiBhIG5ldyBTSEEtMjI0IGhhc2ggb2JqZWN0OyBvcHRpb25hbGx5IGluaXRpYWxpemVkIHdpdGggYSBzdHJpbmcuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihfc2hhMjU2X3NoYTIyNF9fZG9jX18sCisic2hhMjI0KCRtb2R1bGUsIC8sIHN0cmluZz1iXCdcJylcbiIKKyItLVxuIgorIlxuIgogIlJldHVybiBhIG5ldyBTSEEtMjI0IGhhc2ggb2JqZWN0OyBvcHRpb25hbGx5IGluaXRpYWxpemVkIHdpdGggYSBzdHJpbmcuIik7CiAKKyNkZWZpbmUgX1NIQTI1Nl9TSEEyMjRfTUVUSE9EREVGICAgIFwKKyAgICB7InNoYTIyNCIsIChQeUNGdW5jdGlvbilfc2hhMjU2X3NoYTIyNCwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIF9zaGEyNTZfc2hhMjI0X19kb2NfX30sCisKIHN0YXRpYyBQeU9iamVjdCAqCi1TSEEyMjRfbmV3KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZGljdCkKK19zaGEyNTZfc2hhMjI0X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKnN0cmluZyk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitfc2hhMjU2X3NoYTIyNChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKLSAgICBzdGF0aWMgY2hhciAqa3dsaXN0W10gPSB7InN0cmluZyIsIE5VTEx9OworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsic3RyaW5nIiwgTlVMTH07CisgICAgUHlPYmplY3QgKnN0cmluZyA9IE5VTEw7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJ8TzpzaGEyMjQiLCBfa2V5d29yZHMsCisgICAgICAgICZzdHJpbmcpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gX3NoYTI1Nl9zaGEyMjRfaW1wbChtb2R1bGUsIHN0cmluZyk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK19zaGEyNTZfc2hhMjI0X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKnN0cmluZykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD00ZGRlMGViMWNkYWViYzA2IGlucHV0PTI3YTA0YmEyNGMzNTNhNzNdKi8KK3sKICAgICBTSEFvYmplY3QgKm5ldzsKLSAgICBQeU9iamVjdCAqZGF0YV9vYmogPSBOVUxMOwogICAgIFB5X2J1ZmZlciBidWY7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RpY3QsICJ8TzpuZXciLCBrd2xpc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmRhdGFfb2JqKSkgewotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9Ci0KLSAgICBpZiAoZGF0YV9vYmopCi0gICAgICAgIEdFVF9CVUZGRVJfVklFV19PUl9FUlJPVVQoZGF0YV9vYmosICZidWYpOworICAgIGlmIChzdHJpbmcpCisgICAgICAgIEdFVF9CVUZGRVJfVklFV19PUl9FUlJPVVQoc3RyaW5nLCAmYnVmKTsKIAogICAgIGlmICgobmV3ID0gbmV3U0hBMjI0b2JqZWN0KCkpID09IE5VTEwpIHsKLSAgICAgICAgaWYgKGRhdGFfb2JqKQorICAgICAgICBpZiAoc3RyaW5nKQogICAgICAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmYnVmKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQpAQCAtNjY0LDExICs4MDQsMTEgQEAKIAogICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKSB7CiAgICAgICAgIFB5X0RFQ1JFRihuZXcpOwotICAgICAgICBpZiAoZGF0YV9vYmopCisgICAgICAgIGlmIChzdHJpbmcpCiAgICAgICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZidWYpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0gICAgaWYgKGRhdGFfb2JqKSB7CisgICAgaWYgKHN0cmluZykgewogICAgICAgICBzaGFfdXBkYXRlKG5ldywgYnVmLmJ1ZiwgYnVmLmxlbik7CiAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJmJ1Zik7CiAgICAgfQpAQCAtNjgwLDggKzgyMCw4IEBACiAvKiBMaXN0IG9mIGZ1bmN0aW9ucyBleHBvcnRlZCBieSB0aGlzIG1vZHVsZSAqLwogCiBzdGF0aWMgc3RydWN0IFB5TWV0aG9kRGVmIFNIQV9mdW5jdGlvbnNbXSA9IHsKLSAgICB7InNoYTI1NiIsIChQeUNGdW5jdGlvbilTSEEyNTZfbmV3LCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgU0hBMjU2X25ld19fZG9jX199LAotICAgIHsic2hhMjI0IiwgKFB5Q0Z1bmN0aW9uKVNIQTIyNF9uZXcsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBTSEEyMjRfbmV3X19kb2NfX30sCisgICAgX1NIQTI1Nl9TSEEyNTZfTUVUSE9EREVGCisgICAgX1NIQTI1Nl9TSEEyMjRfTUVUSE9EREVGCiAgICAge05VTEwsICAgICAgTlVMTH0gICAgICAgICAgICAvKiBTZW50aW5lbCAqLwogfTsKIApkaWZmIC0tZ2l0IGEvTW9kdWxlcy9zaGE1MTJtb2R1bGUuYyBiL01vZHVsZXMvc2hhNTEybW9kdWxlLmMKaW5kZXggNDdjNTdlNS4uODQzZjk1ZCAxMDA2NDQKLS0tIGEvTW9kdWxlcy9zaGE1MTJtb2R1bGUuYworKysgYi9Nb2R1bGVzL3NoYTUxMm1vZHVsZS5jCkBAIC0yMCw2ICsyMCwxMiBAQAogI2luY2x1ZGUgInN0cnVjdG1lbWJlci5oIgogI2luY2x1ZGUgImhhc2hsaWIuaCIKIAorLypbY2xpbmljIGlucHV0XQorbW9kdWxlIF9zaGE1MTIKK2NsYXNzIFNIQTUxMlR5cGUgIlNIQW9iamVjdCAqIiAiJlB5VHlwZV9UeXBlIgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWRhMzlhM2VlNWU2YjRiMGQgaW5wdXQ9ODFhM2NjZGU5MmJjZmU4ZF0qLworCiAjaWZkZWYgUFlfTE9OR19MT05HIC8qIElmIG5vIFBZX0xPTkdfTE9ORywgZG9uJ3QgY29tcGlsZSBhbnl0aGluZyEgKi8KIAogLyogU29tZSB1c2VmdWwgdHlwZXMgKi8KQEAgLTQ1OSwxMCArNDY1LDMzIEBACiAKIC8qIEV4dGVybmFsIG1ldGhvZHMgZm9yIGEgaGFzaCBvYmplY3QgKi8KIAotUHlEb2NfU1RSVkFSKFNIQTUxMl9jb3B5X19kb2NfXywgIlJldHVybiBhIGNvcHkgb2YgdGhlIGhhc2ggb2JqZWN0LiIpOworLypbY2xpbmljIGlucHV0XQorU0hBNTEyVHlwZS5jb3B5CisKK1JldHVybiBhIGNvcHkgb2YgdGhlIGhhc2ggb2JqZWN0LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoU0hBNTEyVHlwZV9jb3B5X19kb2NfXywKKyJjb3B5KCRzZWxmLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGEgY29weSBvZiB0aGUgaGFzaCBvYmplY3QuIik7CisKKyNkZWZpbmUgU0hBNTEyVFlQRV9DT1BZX01FVEhPRERFRiAgICBcCisgICAgeyJjb3B5IiwgKFB5Q0Z1bmN0aW9uKVNIQTUxMlR5cGVfY29weSwgTUVUSF9OT0FSR1MsIFNIQTUxMlR5cGVfY29weV9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotU0hBNTEyX2NvcHkoU0hBb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdW51c2VkKQorU0hBNTEyVHlwZV9jb3B5X2ltcGwoU0hBb2JqZWN0ICpzZWxmKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK1NIQTUxMlR5cGVfY29weShTSEFvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIFNIQTUxMlR5cGVfY29weV9pbXBsKHNlbGYpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorU0hBNTEyVHlwZV9jb3B5X2ltcGwoU0hBb2JqZWN0ICpzZWxmKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTE0ZjhlNmNlOWM2MWVjZTAgaW5wdXQ9OWY1ZjMxZTZjNDU3Nzc2YV0qLwogewogICAgIFNIQW9iamVjdCAqbmV3b2JqOwogCkBAIC00NzgsMTEgKzUwNywzMyBAQAogICAgIHJldHVybiAoUHlPYmplY3QgKiluZXdvYmo7CiB9CiAKLVB5RG9jX1NUUlZBUihTSEE1MTJfZGlnZXN0X19kb2NfXywKKy8qW2NsaW5pYyBpbnB1dF0KK1NIQTUxMlR5cGUuZGlnZXN0CisKK1JldHVybiB0aGUgZGlnZXN0IHZhbHVlIGFzIGEgc3RyaW5nIG9mIGJpbmFyeSBkYXRhLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoU0hBNTEyVHlwZV9kaWdlc3RfX2RvY19fLAorImRpZ2VzdCgkc2VsZiwgLylcbiIKKyItLVxuIgorIlxuIgogIlJldHVybiB0aGUgZGlnZXN0IHZhbHVlIGFzIGEgc3RyaW5nIG9mIGJpbmFyeSBkYXRhLiIpOwogCisjZGVmaW5lIFNIQTUxMlRZUEVfRElHRVNUX01FVEhPRERFRiAgICBcCisgICAgeyJkaWdlc3QiLCAoUHlDRnVuY3Rpb24pU0hBNTEyVHlwZV9kaWdlc3QsIE1FVEhfTk9BUkdTLCBTSEE1MTJUeXBlX2RpZ2VzdF9fZG9jX199LAorCiBzdGF0aWMgUHlPYmplY3QgKgotU0hBNTEyX2RpZ2VzdChTSEFvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp1bnVzZWQpCitTSEE1MTJUeXBlX2RpZ2VzdF9pbXBsKFNIQW9iamVjdCAqc2VsZik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitTSEE1MTJUeXBlX2RpZ2VzdChTSEFvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIFNIQTUxMlR5cGVfZGlnZXN0X2ltcGwoc2VsZik7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitTSEE1MTJUeXBlX2RpZ2VzdF9pbXBsKFNIQW9iamVjdCAqc2VsZikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1iZThkZTAyNGIyMzI5NzdlIGlucHV0PTYwYzJjZWRlOWUwMjMwMThdKi8KIHsKICAgICB1bnNpZ25lZCBjaGFyIGRpZ2VzdFtTSEFfRElHRVNUU0laRV07CiAgICAgU0hBb2JqZWN0IHRlbXA7CkBAIC00OTIsMTEgKzU0MywzMyBAQAogICAgIHJldHVybiBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKChjb25zdCBjaGFyICopZGlnZXN0LCBzZWxmLT5kaWdlc3RzaXplKTsKIH0KIAotUHlEb2NfU1RSVkFSKFNIQTUxMl9oZXhkaWdlc3RfX2RvY19fLAorLypbY2xpbmljIGlucHV0XQorU0hBNTEyVHlwZS5oZXhkaWdlc3QKKworUmV0dXJuIHRoZSBkaWdlc3QgdmFsdWUgYXMgYSBzdHJpbmcgb2YgaGV4YWRlY2ltYWwgZGlnaXRzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoU0hBNTEyVHlwZV9oZXhkaWdlc3RfX2RvY19fLAorImhleGRpZ2VzdCgkc2VsZiwgLylcbiIKKyItLVxuIgorIlxuIgogIlJldHVybiB0aGUgZGlnZXN0IHZhbHVlIGFzIGEgc3RyaW5nIG9mIGhleGFkZWNpbWFsIGRpZ2l0cy4iKTsKIAorI2RlZmluZSBTSEE1MTJUWVBFX0hFWERJR0VTVF9NRVRIT0RERUYgICAgXAorICAgIHsiaGV4ZGlnZXN0IiwgKFB5Q0Z1bmN0aW9uKVNIQTUxMlR5cGVfaGV4ZGlnZXN0LCBNRVRIX05PQVJHUywgU0hBNTEyVHlwZV9oZXhkaWdlc3RfX2RvY19ffSwKKwogc3RhdGljIFB5T2JqZWN0ICoKLVNIQTUxMl9oZXhkaWdlc3QoU0hBb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdW51c2VkKQorU0hBNTEyVHlwZV9oZXhkaWdlc3RfaW1wbChTSEFvYmplY3QgKnNlbGYpOworCitzdGF0aWMgUHlPYmplY3QgKgorU0hBNTEyVHlwZV9oZXhkaWdlc3QoU0hBb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBTSEE1MTJUeXBlX2hleGRpZ2VzdF9pbXBsKHNlbGYpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorU0hBNTEyVHlwZV9oZXhkaWdlc3RfaW1wbChTSEFvYmplY3QgKnNlbGYpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MjhhNGFiMmY5YTE3ODFiOCBpbnB1dD00OThiODc3YjI1Y2JlMGEyXSovCiB7CiAgICAgdW5zaWduZWQgY2hhciBkaWdlc3RbU0hBX0RJR0VTVFNJWkVdOwogICAgIFNIQW9iamVjdCB0ZW1wOwpAQCAtNTI4LDE4ICs2MDEsMzAgQEAKICAgICByZXR1cm4gcmV0dmFsOwogfQogCi1QeURvY19TVFJWQVIoU0hBNTEyX3VwZGF0ZV9fZG9jX18sCi0iVXBkYXRlIHRoaXMgaGFzaCBvYmplY3QncyBzdGF0ZSB3aXRoIHRoZSBwcm92aWRlZCBzdHJpbmcuIik7CisvKltjbGluaWMgaW5wdXRdCitTSEE1MTJUeXBlLnVwZGF0ZQorCisgICAgb2JqOiBvYmplY3QKKyAgICAvCisKK1VwZGF0ZSB0aGlzIGhhc2ggb2JqZWN0J3Mgc3RhdGUgd2l0aCB0aGUgcHJvdmlkZWQgc3RyaW5nLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoU0hBNTEyVHlwZV91cGRhdGVfX2RvY19fLAorInVwZGF0ZSgkc2VsZiwgb2JqLCAvKVxuIgorIi0tXG4iCisiXG4iCisiVXBkYXRlIHRoaXMgaGFzaCBvYmplY3RcJ3Mgc3RhdGUgd2l0aCB0aGUgcHJvdmlkZWQgc3RyaW5nLiIpOworCisjZGVmaW5lIFNIQTUxMlRZUEVfVVBEQVRFX01FVEhPRERFRiAgICBcCisgICAgeyJ1cGRhdGUiLCAoUHlDRnVuY3Rpb24pU0hBNTEyVHlwZV91cGRhdGUsIE1FVEhfTywgU0hBNTEyVHlwZV91cGRhdGVfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLVNIQTUxMl91cGRhdGUoU0hBb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK1NIQTUxMlR5cGVfdXBkYXRlKFNIQW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKm9iaikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD02YmU1NzRjZGMzYTljNTJkIGlucHV0PWRlZDJiNDY2NTY1NjYyODNdKi8KIHsKLSAgICBQeU9iamVjdCAqb2JqOwogICAgIFB5X2J1ZmZlciBidWY7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk86dXBkYXRlIiwgJm9iaikpCi0gICAgICAgIHJldHVybiBOVUxMOwotCiAgICAgR0VUX0JVRkZFUl9WSUVXX09SX0VSUk9VVChvYmosICZidWYpOwogCiAgICAgc2hhNTEyX3VwZGF0ZShzZWxmLCBidWYuYnVmLCBidWYubGVuKTsKQEAgLTU0OCwxMiArNjMzLDMyIEBACiAgICAgUHlfSU5DUkVGKFB5X05vbmUpOwogICAgIHJldHVybiBQeV9Ob25lOwogfQorLypbY2xpbmljIGlucHV0XQorZHVtcCBidWZmZXIKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworI2lmbmRlZiBTSEE1MTJUWVBFX0NPUFlfTUVUSE9EREVGCisgICAgI2RlZmluZSBTSEE1MTJUWVBFX0NPUFlfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoU0hBNTEyVFlQRV9DT1BZX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBTSEE1MTJUWVBFX0RJR0VTVF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIFNIQTUxMlRZUEVfRElHRVNUX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKFNIQTUxMlRZUEVfRElHRVNUX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBTSEE1MTJUWVBFX0hFWERJR0VTVF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIFNIQTUxMlRZUEVfSEVYRElHRVNUX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKFNIQTUxMlRZUEVfSEVYRElHRVNUX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBTSEE1MTJUWVBFX1VQREFURV9NRVRIT0RERUYKKyAgICAjZGVmaW5lIFNIQTUxMlRZUEVfVVBEQVRFX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKFNIQTUxMlRZUEVfVVBEQVRFX01FVEhPRERFRikgKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kZTcxMzk0N2QzMTEzMGU5IGlucHV0PTUyNGNlMmUwMjFlNGViYTZdKi8KIAogc3RhdGljIFB5TWV0aG9kRGVmIFNIQV9tZXRob2RzW10gPSB7Ci0gICAgeyJjb3B5IiwgICAgICAoUHlDRnVuY3Rpb24pU0hBNTEyX2NvcHksICAgICAgTUVUSF9OT0FSR1MsIFNIQTUxMl9jb3B5X19kb2NfX30sCi0gICAgeyJkaWdlc3QiLCAgICAoUHlDRnVuY3Rpb24pU0hBNTEyX2RpZ2VzdCwgICAgTUVUSF9OT0FSR1MsIFNIQTUxMl9kaWdlc3RfX2RvY19ffSwKLSAgICB7ImhleGRpZ2VzdCIsIChQeUNGdW5jdGlvbilTSEE1MTJfaGV4ZGlnZXN0LCBNRVRIX05PQVJHUywgU0hBNTEyX2hleGRpZ2VzdF9fZG9jX199LAotICAgIHsidXBkYXRlIiwgICAgKFB5Q0Z1bmN0aW9uKVNIQTUxMl91cGRhdGUsICAgIE1FVEhfVkFSQVJHUywgU0hBNTEyX3VwZGF0ZV9fZG9jX199LAorICAgIFNIQTUxMlRZUEVfQ09QWV9NRVRIT0RERUYKKyAgICBTSEE1MTJUWVBFX0RJR0VTVF9NRVRIT0RERUYKKyAgICBTSEE1MTJUWVBFX0hFWERJR0VTVF9NRVRIT0RERUYKKyAgICBTSEE1MTJUWVBFX1VQREFURV9NRVRIT0RERUYKICAgICB7TlVMTCwgICAgICAgIE5VTEx9ICAgICAgICAgLyogc2VudGluZWwgKi8KIH07CiAKQEAgLTY2MCwyNyArNzY1LDU1IEBACiAKIC8qIFRoZSBzaW5nbGUgbW9kdWxlLWxldmVsIGZ1bmN0aW9uOiBuZXcoKSAqLwogCi1QeURvY19TVFJWQVIoU0hBNTEyX25ld19fZG9jX18sCisvKltjbGluaWMgaW5wdXRdCitfc2hhNTEyLnNoYTUxMgorCisgICAgc3RyaW5nOiBvYmplY3QoY19kZWZhdWx0PSJOVUxMIikgPSBiJycKKworUmV0dXJuIGEgbmV3IFNIQS01MTIgaGFzaCBvYmplY3Q7IG9wdGlvbmFsbHkgaW5pdGlhbGl6ZWQgd2l0aCBhIHN0cmluZy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKF9zaGE1MTJfc2hhNTEyX19kb2NfXywKKyJzaGE1MTIoJG1vZHVsZSwgLywgc3RyaW5nPWJcJ1wnKVxuIgorIi0tXG4iCisiXG4iCiAiUmV0dXJuIGEgbmV3IFNIQS01MTIgaGFzaCBvYmplY3Q7IG9wdGlvbmFsbHkgaW5pdGlhbGl6ZWQgd2l0aCBhIHN0cmluZy4iKTsKIAorI2RlZmluZSBfU0hBNTEyX1NIQTUxMl9NRVRIT0RERUYgICAgXAorICAgIHsic2hhNTEyIiwgKFB5Q0Z1bmN0aW9uKV9zaGE1MTJfc2hhNTEyLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgX3NoYTUxMl9zaGE1MTJfX2RvY19ffSwKKwogc3RhdGljIFB5T2JqZWN0ICoKLVNIQTUxMl9uZXcoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkaWN0KQorX3NoYTUxMl9zaGE1MTJfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqc3RyaW5nKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK19zaGE1MTJfc2hhNTEyKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewotICAgIHN0YXRpYyBjaGFyICprd2xpc3RbXSA9IHsic3RyaW5nIiwgTlVMTH07CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJzdHJpbmciLCBOVUxMfTsKKyAgICBQeU9iamVjdCAqc3RyaW5nID0gTlVMTDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgInxPOnNoYTUxMiIsIF9rZXl3b3JkcywKKyAgICAgICAgJnN0cmluZykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBfc2hhNTEyX3NoYTUxMl9pbXBsKG1vZHVsZSwgc3RyaW5nKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorX3NoYTUxMl9zaGE1MTJfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqc3RyaW5nKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTllMzliMTExMTVmMzY4NzggaW5wdXQ9ZTY5YmFkOWFlOWI2YTMwOF0qLworewogICAgIFNIQW9iamVjdCAqbmV3OwotICAgIFB5T2JqZWN0ICpkYXRhX29iaiA9IE5VTEw7CiAgICAgUHlfYnVmZmVyIGJ1ZjsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZGljdCwgInxPOm5ldyIsIGt3bGlzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZGF0YV9vYmopKSB7Ci0gICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KLQotICAgIGlmIChkYXRhX29iaikKLSAgICAgICAgR0VUX0JVRkZFUl9WSUVXX09SX0VSUk9VVChkYXRhX29iaiwgJmJ1Zik7CisgICAgaWYgKHN0cmluZykKKyAgICAgICAgR0VUX0JVRkZFUl9WSUVXX09SX0VSUk9VVChzdHJpbmcsICZidWYpOwogCiAgICAgaWYgKChuZXcgPSBuZXdTSEE1MTJvYmplY3QoKSkgPT0gTlVMTCkgewotICAgICAgICBpZiAoZGF0YV9vYmopCisgICAgICAgIGlmIChzdHJpbmcpCiAgICAgICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZidWYpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CkBAIC02ODksMTEgKzgyMiwxMSBAQAogCiAgICAgaWYgKFB5RXJyX09jY3VycmVkKCkpIHsKICAgICAgICAgUHlfREVDUkVGKG5ldyk7Ci0gICAgICAgIGlmIChkYXRhX29iaikKKyAgICAgICAgaWYgKHN0cmluZykKICAgICAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJmJ1Zik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLSAgICBpZiAoZGF0YV9vYmopIHsKKyAgICBpZiAoc3RyaW5nKSB7CiAgICAgICAgIHNoYTUxMl91cGRhdGUobmV3LCBidWYuYnVmLCBidWYubGVuKTsKICAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmYnVmKTsKICAgICB9CkBAIC03MDEsMjcgKzgzNCw1NSBAQAogICAgIHJldHVybiAoUHlPYmplY3QgKiluZXc7CiB9CiAKLVB5RG9jX1NUUlZBUihTSEEzODRfbmV3X19kb2NfXywKKy8qW2NsaW5pYyBpbnB1dF0KK19zaGE1MTIuc2hhMzg0CisKKyAgICBzdHJpbmc6IG9iamVjdChjX2RlZmF1bHQ9Ik5VTEwiKSA9IGInJworCitSZXR1cm4gYSBuZXcgU0hBLTM4NCBoYXNoIG9iamVjdDsgb3B0aW9uYWxseSBpbml0aWFsaXplZCB3aXRoIGEgc3RyaW5nLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoX3NoYTUxMl9zaGEzODRfX2RvY19fLAorInNoYTM4NCgkbW9kdWxlLCAvLCBzdHJpbmc9YlwnXCcpXG4iCisiLS1cbiIKKyJcbiIKICJSZXR1cm4gYSBuZXcgU0hBLTM4NCBoYXNoIG9iamVjdDsgb3B0aW9uYWxseSBpbml0aWFsaXplZCB3aXRoIGEgc3RyaW5nLiIpOwogCisjZGVmaW5lIF9TSEE1MTJfU0hBMzg0X01FVEhPRERFRiAgICBcCisgICAgeyJzaGEzODQiLCAoUHlDRnVuY3Rpb24pX3NoYTUxMl9zaGEzODQsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBfc2hhNTEyX3NoYTM4NF9fZG9jX199LAorCiBzdGF0aWMgUHlPYmplY3QgKgotU0hBMzg0X25ldyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RpY3QpCitfc2hhNTEyX3NoYTM4NF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpzdHJpbmcpOworCitzdGF0aWMgUHlPYmplY3QgKgorX3NoYTUxMl9zaGEzODQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgc3RhdGljIGNoYXIgKmt3bGlzdFtdID0geyJzdHJpbmciLCBOVUxMfTsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InN0cmluZyIsIE5VTEx9OworICAgIFB5T2JqZWN0ICpzdHJpbmcgPSBOVUxMOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAifE86c2hhMzg0IiwgX2tleXdvcmRzLAorICAgICAgICAmc3RyaW5nKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IF9zaGE1MTJfc2hhMzg0X2ltcGwobW9kdWxlLCBzdHJpbmcpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitfc2hhNTEyX3NoYTM4NF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpzdHJpbmcpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9Mzk3YzZmYmEzNTI1YjkzYSBpbnB1dD1jOTMyNzc4OGQ0ZWE0NTQ1XSovCit7CiAgICAgU0hBb2JqZWN0ICpuZXc7Ci0gICAgUHlPYmplY3QgKmRhdGFfb2JqID0gTlVMTDsKICAgICBQeV9idWZmZXIgYnVmOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkaWN0LCAifE86bmV3Iiwga3dsaXN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZkYXRhX29iaikpIHsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotCi0gICAgaWYgKGRhdGFfb2JqKQotICAgICAgICBHRVRfQlVGRkVSX1ZJRVdfT1JfRVJST1VUKGRhdGFfb2JqLCAmYnVmKTsKKyAgICBpZiAoc3RyaW5nKQorICAgICAgICBHRVRfQlVGRkVSX1ZJRVdfT1JfRVJST1VUKHN0cmluZywgJmJ1Zik7CiAKICAgICBpZiAoKG5ldyA9IG5ld1NIQTM4NG9iamVjdCgpKSA9PSBOVUxMKSB7Ci0gICAgICAgIGlmIChkYXRhX29iaikKKyAgICAgICAgaWYgKHN0cmluZykKICAgICAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJmJ1Zik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KQEAgLTczMCwxMSArODkxLDExIEBACiAKICAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkgewogICAgICAgICBQeV9ERUNSRUYobmV3KTsKLSAgICAgICAgaWYgKGRhdGFfb2JqKQorICAgICAgICBpZiAoc3RyaW5nKQogICAgICAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmYnVmKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIGlmIChkYXRhX29iaikgeworICAgIGlmIChzdHJpbmcpIHsKICAgICAgICAgc2hhNTEyX3VwZGF0ZShuZXcsIGJ1Zi5idWYsIGJ1Zi5sZW4pOwogICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZidWYpOwogICAgIH0KQEAgLTc0MywxMSArOTA0LDI0IEBACiB9CiAKIAorLypbY2xpbmljIGlucHV0XQorZHVtcCBidWZmZXIKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworI2lmbmRlZiBfU0hBNTEyX1NIQTUxMl9NRVRIT0RERUYKKyAgICAjZGVmaW5lIF9TSEE1MTJfU0hBNTEyX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKF9TSEE1MTJfU0hBNTEyX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBfU0hBNTEyX1NIQTM4NF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIF9TSEE1MTJfU0hBMzg0X01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKF9TSEE1MTJfU0hBMzg0X01FVEhPRERFRikgKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD02OWQ4NGFhOTQ0NWIwMWQ4IGlucHV0PTUyNGNlMmUwMjFlNGViYTZdKi8KKwogLyogTGlzdCBvZiBmdW5jdGlvbnMgZXhwb3J0ZWQgYnkgdGhpcyBtb2R1bGUgKi8KIAogc3RhdGljIHN0cnVjdCBQeU1ldGhvZERlZiBTSEFfZnVuY3Rpb25zW10gPSB7Ci0gICAgeyJzaGE1MTIiLCAoUHlDRnVuY3Rpb24pU0hBNTEyX25ldywgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIFNIQTUxMl9uZXdfX2RvY19ffSwKLSAgICB7InNoYTM4NCIsIChQeUNGdW5jdGlvbilTSEEzODRfbmV3LCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgU0hBMzg0X25ld19fZG9jX199LAorICAgIF9TSEE1MTJfU0hBNTEyX01FVEhPRERFRgorICAgIF9TSEE1MTJfU0hBMzg0X01FVEhPRERFRgogICAgIHtOVUxMLCAgICAgIE5VTEx9ICAgICAgICAgICAgLyogU2VudGluZWwgKi8KIH07CiAKZGlmZiAtLWdpdCBhL01vZHVsZXMvc2lnbmFsbW9kdWxlLmMgYi9Nb2R1bGVzL3NpZ25hbG1vZHVsZS5jCmluZGV4IGZlZGFkZGYuLmVhYmUyZjAgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvc2lnbmFsbW9kdWxlLmMKKysrIGIvTW9kdWxlcy9zaWduYWxtb2R1bGUuYwpAQCAtNyw2ICs3LDkgQEAKICNpZm5kZWYgTVNfV0lORE9XUwogI2luY2x1ZGUgInBvc2l4bW9kdWxlLmgiCiAjZW5kaWYKKyNpZmRlZiBNU19XSU5ET1dTCisjaW5jbHVkZSAic29ja2V0bW9kdWxlLmgiICAgLyogbmVlZGVkIGZvciBTT0NLRVRfVCAqLworI2VuZGlmCiAKICNpZmRlZiBNU19XSU5ET1dTCiAjaW5jbHVkZSA8d2luZG93cy5oPgpAQCAtODcsNyArOTAsMjAgQEAKICAgICBQeU9iamVjdCAqZnVuYzsKIH0gSGFuZGxlcnNbTlNJR107CiAKKyNpZmRlZiBNU19XSU5ET1dTCisjZGVmaW5lIElOVkFMSURfRkQgKChTT0NLRVRfVCktMSkKKworc3RhdGljIHZvbGF0aWxlIHN0cnVjdCB7CisgICAgU09DS0VUX1QgZmQ7CisgICAgaW50IHVzZV9zZW5kOworICAgIGludCBzZW5kX2Vycl9zZXQ7CisgICAgaW50IHNlbmRfZXJybm87CisgICAgaW50IHNlbmRfd2luX2Vycm9yOworfSB3YWtldXAgPSB7SU5WQUxJRF9GRCwgMCwgMH07CisjZWxzZQorI2RlZmluZSBJTlZBTElEX0ZEICgtMSkKIHN0YXRpYyB2b2xhdGlsZSBzaWdfYXRvbWljX3Qgd2FrZXVwX2ZkID0gLTE7CisjZW5kaWYKIAogLyogU3BlZWQgdXAgc2lnY2hlY2soKSB3aGVuIG5vbmUgdHJpcHBlZCAqLwogc3RhdGljIHZvbGF0aWxlIHNpZ19hdG9taWNfdCBpc190cmlwcGVkID0gMDsKQEAgLTE3Miw3ICsxODgsNyBAQAogfQogCiBzdGF0aWMgaW50Ci1yZXBvcnRfd2FrZXVwX2Vycm9yKHZvaWQgKmRhdGEpCityZXBvcnRfd2FrZXVwX3dyaXRlX2Vycm9yKHZvaWQgKmRhdGEpCiB7CiAgICAgaW50IHNhdmVfZXJybm8gPSBlcnJubzsKICAgICBlcnJubyA9IChpbnQpIChQeV9pbnRwdHJfdCkgZGF0YTsKQEAgLTE4NCwyNSArMjAwLDg2IEBACiAgICAgcmV0dXJuIDA7CiB9CiAKKyNpZmRlZiBNU19XSU5ET1dTCitzdGF0aWMgaW50CityZXBvcnRfd2FrZXVwX3NlbmRfZXJyb3Iodm9pZCogUHlfVU5VU0VEKGRhdGEpKQoreworICAgIFB5T2JqZWN0ICpyZXM7CisKKyAgICBpZiAod2FrZXVwLnNlbmRfd2luX2Vycm9yKSB7CisgICAgICAgIC8qIFB5RXJyX1NldEV4Y0Zyb21XaW5kb3dzRXJyKCkgaW52b2tlcyBGb3JtYXRNZXNzYWdlKCkgd2hpY2gKKyAgICAgICAgICAgcmVjb2duaXplcyB0aGUgZXJyb3IgY29kZXMgdXNlZCBieSBib3RoIEdldExhc3RFcnJvcigpIGFuZAorICAgICAgICAgICBXU0FHZXRMYXN0RXJyb3IgKi8KKyAgICAgICAgcmVzID0gUHlFcnJfU2V0RXhjRnJvbVdpbmRvd3NFcnIoUHlFeGNfT1NFcnJvciwgd2FrZXVwLnNlbmRfd2luX2Vycm9yKTsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIGVycm5vID0gd2FrZXVwLnNlbmRfZXJybm87CisgICAgICAgIHJlcyA9IFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19PU0Vycm9yKTsKKyAgICB9CisKKyAgICBhc3NlcnQocmVzID09IE5VTEwpOworICAgIHdha2V1cC5zZW5kX2Vycl9zZXQgPSAwOworCisgICAgUHlTeXNfV3JpdGVTdGRlcnIoIkV4Y2VwdGlvbiBpZ25vcmVkIHdoZW4gdHJ5aW5nIHRvIHNlbmQgdG8gdGhlICIKKyAgICAgICAgICAgICAgICAgICAgICAic2lnbmFsIHdha2V1cCBmZDpcbiIpOworICAgIFB5RXJyX1dyaXRlVW5yYWlzYWJsZShOVUxMKTsKKworICAgIHJldHVybiAwOworfQorI2VuZGlmICAgLyogTVNfV0lORE9XUyAqLworCiBzdGF0aWMgdm9pZAogdHJpcF9zaWduYWwoaW50IHNpZ19udW0pCiB7CiAgICAgdW5zaWduZWQgY2hhciBieXRlOwotICAgIGludCByYyA9IDA7CisgICAgaW50IGZkOworICAgIFB5X3NzaXplX3QgcmM7CiAKICAgICBIYW5kbGVyc1tzaWdfbnVtXS50cmlwcGVkID0gMTsKLSAgICBpZiAod2FrZXVwX2ZkICE9IC0xKSB7CisKKyNpZmRlZiBNU19XSU5ET1dTCisgICAgZmQgPSBQeV9TQUZFX0RPV05DQVNUKHdha2V1cC5mZCwgU09DS0VUX1QsIGludCk7CisjZWxzZQorICAgIGZkID0gd2FrZXVwX2ZkOworI2VuZGlmCisKKyAgICBpZiAoZmQgIT0gSU5WQUxJRF9GRCkgewogICAgICAgICBieXRlID0gKHVuc2lnbmVkIGNoYXIpc2lnX251bTsKLSAgICAgICAgd2hpbGUgKChyYyA9IHdyaXRlKHdha2V1cF9mZCwgJmJ5dGUsIDEpKSA9PSAtMSAmJiBlcnJubyA9PSBFSU5UUik7Ci0gICAgICAgIGlmIChyYyA9PSAtMSkKLSAgICAgICAgICAgIFB5X0FkZFBlbmRpbmdDYWxsKHJlcG9ydF93YWtldXBfZXJyb3IsICh2b2lkICopIChQeV9pbnRwdHJfdCkgZXJybm8pOworI2lmZGVmIE1TX1dJTkRPV1MKKyAgICAgICAgaWYgKHdha2V1cC51c2Vfc2VuZCkgeworICAgICAgICAgICAgZG8geworICAgICAgICAgICAgICAgIHJjID0gc2VuZChmZCwgJmJ5dGUsIDEsIDApOworICAgICAgICAgICAgfSB3aGlsZSAocmMgPCAwICYmIGVycm5vID09IEVJTlRSKTsKKworICAgICAgICAgICAgLyogd2Ugb25seSBoYXZlIGEgc3RvcmFnZSBmb3Igb25lIGVycm9yIGluIHRoZSB3YWtldXAgc3RydWN0dXJlICovCisgICAgICAgICAgICBpZiAocmMgPCAwICYmICF3YWtldXAuc2VuZF9lcnJfc2V0KSB7CisgICAgICAgICAgICAgICAgd2FrZXVwLnNlbmRfZXJyX3NldCA9IDE7CisgICAgICAgICAgICAgICAgd2FrZXVwLnNlbmRfZXJybm8gPSBlcnJubzsKKyAgICAgICAgICAgICAgICB3YWtldXAuc2VuZF93aW5fZXJyb3IgPSBHZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgICAgICAgICBQeV9BZGRQZW5kaW5nQ2FsbChyZXBvcnRfd2FrZXVwX3NlbmRfZXJyb3IsIE5VTEwpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGVsc2UKKyNlbmRpZgorICAgICAgICB7CisgICAgICAgICAgICBieXRlID0gKHVuc2lnbmVkIGNoYXIpc2lnX251bTsKKyAgICAgICAgICAgIGRvIHsKKyAgICAgICAgICAgICAgICByYyA9IHdyaXRlKGZkLCAmYnl0ZSwgMSk7CisgICAgICAgICAgICB9IHdoaWxlIChyYyA8IDAgJiYgZXJybm8gPT0gRUlOVFIpOworCisgICAgICAgICAgICBpZiAocmMgPCAwKSB7CisgICAgICAgICAgICAgICAgUHlfQWRkUGVuZGluZ0NhbGwocmVwb3J0X3dha2V1cF93cml0ZV9lcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodm9pZCAqKShQeV9pbnRwdHJfdCllcnJubyk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KICAgICB9Ci0gICAgaWYgKGlzX3RyaXBwZWQpCi0gICAgICAgIHJldHVybjsKLSAgICAvKiBTZXQgaXNfdHJpcHBlZCBhZnRlciBzZXR0aW5nIC50cmlwcGVkLCBhcyBpdCBnZXRzCi0gICAgICAgY2xlYXJlZCBpbiBQeUVycl9DaGVja1NpZ25hbHMoKSBiZWZvcmUgLnRyaXBwZWQuICovCi0gICAgaXNfdHJpcHBlZCA9IDE7Ci0gICAgUHlfQWRkUGVuZGluZ0NhbGwoY2hlY2tzaWduYWxzX3dpdGhhcmcsIE5VTEwpOworCisgICAgaWYgKCFpc190cmlwcGVkKSB7CisgICAgICAgIC8qIFNldCBpc190cmlwcGVkIGFmdGVyIHNldHRpbmcgLnRyaXBwZWQsIGFzIGl0IGdldHMKKyAgICAgICAgICAgY2xlYXJlZCBpbiBQeUVycl9DaGVja1NpZ25hbHMoKSBiZWZvcmUgLnRyaXBwZWQuICovCisgICAgICAgIGlzX3RyaXBwZWQgPSAxOworICAgICAgICBQeV9BZGRQZW5kaW5nQ2FsbChjaGVja3NpZ25hbHNfd2l0aGFyZywgTlVMTCk7CisgICAgfQogfQogCiBzdGF0aWMgdm9pZApAQCAtMjI3LDcgKzMwNCw3IEBACiAgICAgaWYgKHNpZ19udW0gIT0gU0lHQ0hMRCkKICNlbmRpZgogICAgIC8qIElmIHRoZSBoYW5kbGVyIHdhcyBub3Qgc2V0IHVwIHdpdGggc2lnYWN0aW9uLCByZWluc3RhbGwgaXQuICBTZWUKLSAgICAgKiBQeXRob24vcHl0aG9ucnVuLmMgZm9yIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBQeU9TX3NldHNpZyB3aGljaAorICAgICAqIFB5dGhvbi9weWxpZmVjeWNsZS5jIGZvciB0aGUgaW1wbGVtZW50YXRpb24gb2YgUHlPU19zZXRzaWcgd2hpY2gKICAgICAgKiBtYWtlcyB0aGlzIHRydWUuICBTZWUgYWxzbyBpc3N1ZTgzNTQuICovCiAgICAgUHlPU19zZXRzaWcoc2lnX251bSwgc2lnbmFsX2hhbmRsZXIpOwogI2VuZGlmCkBAIC00MjYsMTAgKzUwMywyOSBAQAogc3RhdGljIFB5T2JqZWN0ICoKIHNpZ25hbF9zZXRfd2FrZXVwX2ZkKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBzdHJ1Y3Qgc3RhdCBidWY7CisjaWZkZWYgTVNfV0lORE9XUworICAgIFB5T2JqZWN0ICpmZG9iajsKKyAgICBTT0NLRVRfVCBmZCwgb2xkX2ZkOworICAgIGludCByZXM7CisgICAgaW50IHJlc19zaXplID0gc2l6ZW9mIHJlczsKKyAgICBQeU9iamVjdCAqbW9kOworICAgIHN0cnVjdCBzdGF0IHN0OworICAgIGludCBpc19zb2NrZXQ7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk86c2V0X3dha2V1cF9mZCIsICZmZG9iaikpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgZmQgPSBQeUxvbmdfQXNTb2NrZXRfdChmZG9iaik7CisgICAgaWYgKGZkID09IChTT0NLRVRfVCkoLTEpICYmIFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgIHJldHVybiBOVUxMOworI2Vsc2UKICAgICBpbnQgZmQsIG9sZF9mZDsKKyAgICBzdHJ1Y3Qgc3RhdCBzdDsKKwogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaTpzZXRfd2FrZXVwX2ZkIiwgJmZkKSkKICAgICAgICAgcmV0dXJuIE5VTEw7CisjZW5kaWYKKwogI2lmZGVmIFdJVEhfVEhSRUFECiAgICAgaWYgKFB5VGhyZWFkX2dldF90aHJlYWRfaWRlbnQoKSAhPSBtYWluX3RocmVhZCkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKQEAgLTQzNywyMSArNTMzLDkxIEBACiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KICNlbmRpZgotICAgIGlmIChmZCAhPSAtMSAmJiAoIV9QeVZlcmlmeV9mZChmZCkgfHwgZnN0YXQoZmQsICZidWYpICE9IDApKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAiaW52YWxpZCBmZCIpOwotICAgICAgICByZXR1cm4gTlVMTDsKKworI2lmZGVmIE1TX1dJTkRPV1MKKyAgICBpc19zb2NrZXQgPSAwOworICAgIGlmIChmZCAhPSBJTlZBTElEX0ZEKSB7CisgICAgICAgIC8qIEltcG9ydCB0aGUgX3NvY2tldCBtb2R1bGUgdG8gY2FsbCBXU0FTdGFydHVwKCkgKi8KKyAgICAgICAgbW9kID0gUHlJbXBvcnRfSW1wb3J0TW9kdWxlTm9CbG9jaygiX3NvY2tldCIpOworICAgICAgICBpZiAobW9kID09IE5VTEwpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgUHlfREVDUkVGKG1vZCk7CisKKyAgICAgICAgLyogdGVzdCB0aGUgc29ja2V0ICovCisgICAgICAgIGlmIChnZXRzb2Nrb3B0KGZkLCBTT0xfU09DS0VULCBTT19FUlJPUiwKKyAgICAgICAgICAgICAgICAgICAgICAgKGNoYXIgKikmcmVzLCAmcmVzX3NpemUpICE9IDApIHsKKyAgICAgICAgICAgIGludCBlcnIgPSBXU0FHZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgICAgIGlmIChlcnIgIT0gV1NBRU5PVFNPQ0spIHsKKyAgICAgICAgICAgICAgICBQeUVycl9TZXRFeGNGcm9tV2luZG93c0VycihQeUV4Y19PU0Vycm9yLCBlcnIpOworICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAoIV9QeVZlcmlmeV9mZChmZCkpIHsKKyAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgImludmFsaWQgZmQiKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKGZzdGF0KGZkLCAmc3QpICE9IDApIHsKKyAgICAgICAgICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfT1NFcnJvcik7CisgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC8qIG9uIFdpbmRvd3MsIGEgZmlsZSBjYW5ub3QgYmUgc2V0IHRvIG5vbi1ibG9ja2luZyBtb2RlICovCisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBpc19zb2NrZXQgPSAxOworCisgICAgICAgICAgICAvKiBXaW5kb3dzIGRvZXMgbm90IHByb3ZpZGUgYSBmdW5jdGlvbiB0byB0ZXN0IGlmIGEgc29ja2V0CisgICAgICAgICAgICAgICBpcyBpbiBub24tYmxvY2tpbmcgbW9kZSAqLworICAgICAgICB9CiAgICAgfQorCisgICAgb2xkX2ZkID0gd2FrZXVwLmZkOworICAgIHdha2V1cC5mZCA9IGZkOworICAgIHdha2V1cC51c2Vfc2VuZCA9IGlzX3NvY2tldDsKKworICAgIGlmIChvbGRfZmQgIT0gSU5WQUxJRF9GRCkKKyAgICAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tU29ja2V0X3Qob2xkX2ZkKTsKKyAgICBlbHNlCisgICAgICAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmcoLTEpOworI2Vsc2UKKyAgICBpZiAoZmQgIT0gLTEpIHsKKyAgICAgICAgaW50IGJsb2NraW5nOworCisgICAgICAgIGlmICghX1B5VmVyaWZ5X2ZkKGZkKSkgeworICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJpbnZhbGlkIGZkIik7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChmc3RhdChmZCwgJnN0KSAhPSAwKSB7CisgICAgICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfT1NFcnJvcik7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorCisgICAgICAgIGJsb2NraW5nID0gX1B5X2dldF9ibG9ja2luZyhmZCk7CisgICAgICAgIGlmIChibG9ja2luZyA8IDApCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgaWYgKGJsb2NraW5nKSB7CisgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVmFsdWVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAidGhlIGZkICVpIG11c3QgYmUgaW4gbm9uLWJsb2NraW5nIG1vZGUiLAorICAgICAgICAgICAgICAgICAgICAgICAgIGZkKTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisgICAgfQorCiAgICAgb2xkX2ZkID0gd2FrZXVwX2ZkOwogICAgIHdha2V1cF9mZCA9IGZkOworCiAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZyhvbGRfZmQpOworI2VuZGlmCiB9CiAKIFB5RG9jX1NUUlZBUihzZXRfd2FrZXVwX2ZkX2RvYywKICJzZXRfd2FrZXVwX2ZkKGZkKSAtPiBmZFxuXAogXG5cCi1TZXRzIHRoZSBmZCB0byBiZSB3cml0dGVuIHRvICh3aXRoICdcXDAnKSB3aGVuIGEgc2lnbmFsXG5cCitTZXRzIHRoZSBmZCB0byBiZSB3cml0dGVuIHRvICh3aXRoIHRoZSBzaWduYWwgbnVtYmVyKSB3aGVuIGEgc2lnbmFsXG5cCiBjb21lcyBpbi4gIEEgbGlicmFyeSBjYW4gdXNlIHRoaXMgdG8gd2FrZXVwIHNlbGVjdCBvciBwb2xsLlxuXAotVGhlIHByZXZpb3VzIGZkIGlzIHJldHVybmVkLlxuXAorVGhlIHByZXZpb3VzIGZkIG9yIC0xIGlzIHJldHVybmVkLlxuXAogXG5cCiBUaGUgZmQgbXVzdCBiZSBub24tYmxvY2tpbmcuIik7CiAKQEAgLTQ1OSwxMCArNjI1LDE3IEBACiBpbnQKIFB5U2lnbmFsX1NldFdha2V1cEZkKGludCBmZCkKIHsKLSAgICBpbnQgb2xkX2ZkID0gd2FrZXVwX2ZkOworICAgIGludCBvbGRfZmQ7CiAgICAgaWYgKGZkIDwgMCkKICAgICAgICAgZmQgPSAtMTsKKworI2lmZGVmIE1TX1dJTkRPV1MKKyAgICBvbGRfZmQgPSBQeV9TQUZFX0RPV05DQVNUKHdha2V1cC5mZCwgU09DS0VUX1QsIGludCk7CisgICAgd2FrZXVwLmZkID0gZmQ7CisjZWxzZQorICAgIG9sZF9mZCA9IHdha2V1cF9mZDsKICAgICB3YWtldXBfZmQgPSBmZDsKKyNlbmRpZgogICAgIHJldHVybiBvbGRfZmQ7CiB9CiAKQEAgLTk1Niw3ICsxMTI5LDcgQEAKIAogc3RhdGljIHN0cnVjdCBQeU1vZHVsZURlZiBzaWduYWxtb2R1bGUgPSB7CiAgICAgUHlNb2R1bGVEZWZfSEVBRF9JTklULAotICAgICJzaWduYWwiLAorICAgICJfc2lnbmFsIiwKICAgICBtb2R1bGVfZG9jLAogICAgIC0xLAogICAgIHNpZ25hbF9tZXRob2RzLApAQCAtOTY3LDcgKzExNDAsNyBAQAogfTsKIAogUHlNT0RJTklUX0ZVTkMKLVB5SW5pdF9zaWduYWwodm9pZCkKK1B5SW5pdF9fc2lnbmFsKHZvaWQpCiB7CiAgICAgUHlPYmplY3QgKm0sICpkLCAqeDsKICAgICBpbnQgaTsKQEAgLTEzODAsNyArMTU1Myw3IEBACiB2b2lkCiBQeU9TX0luaXRJbnRlcnJ1cHRzKHZvaWQpCiB7Ci0gICAgUHlPYmplY3QgKm0gPSBQeUltcG9ydF9JbXBvcnRNb2R1bGUoInNpZ25hbCIpOworICAgIFB5T2JqZWN0ICptID0gUHlJbXBvcnRfSW1wb3J0TW9kdWxlKCJfc2lnbmFsIik7CiAgICAgaWYgKG0pIHsKICAgICAgICAgUHlfREVDUkVGKG0pOwogICAgIH0KZGlmZiAtLWdpdCBhL01vZHVsZXMvc29ja2V0bW9kdWxlLmMgYi9Nb2R1bGVzL3NvY2tldG1vZHVsZS5jCmluZGV4IGNiNDRkMDUuLjU5MTNlNjUgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvc29ja2V0bW9kdWxlLmMKKysrIGIvTW9kdWxlcy9zb2NrZXRtb2R1bGUuYwpAQCAtMTIxLDcgKzEyMSw3IEBACiBnZXRzb2NrbmFtZSgpIC0tIHJldHVybiBsb2NhbCBhZGRyZXNzXG5cCiBnZXRzb2Nrb3B0KGxldmVsLCBvcHRuYW1lWywgYnVmbGVuXSkgLS0gZ2V0IHNvY2tldCBvcHRpb25zXG5cCiBnZXR0aW1lb3V0KCkgLS0gcmV0dXJuIHRpbWVvdXQgb3IgTm9uZVxuXAotbGlzdGVuKG4pIC0tIHN0YXJ0IGxpc3RlbmluZyBmb3IgaW5jb21pbmcgY29ubmVjdGlvbnNcblwKK2xpc3Rlbihbbl0pIC0tIHN0YXJ0IGxpc3RlbmluZyBmb3IgaW5jb21pbmcgY29ubmVjdGlvbnNcblwKIHJlY3YoYnVmbGVuWywgZmxhZ3NdKSAtLSByZWNlaXZlIGRhdGFcblwKIHJlY3ZfaW50byhidWZmZXJbLCBuYnl0ZXNbLCBmbGFnc11dKSAtLSByZWNlaXZlIGRhdGEgKGludG8gYSBidWZmZXIpXG5cCiByZWN2ZnJvbShidWZsZW5bLCBmbGFnc10pIC0tIHJlY2VpdmUgZGF0YSBhbmQgc2VuZGVyXCdzIGFkZHJlc3NcblwKQEAgLTI4NCwxNCArMjg0LDE1IEBACiAjICBpbmNsdWRlIDxmY250bC5oPgogIyBlbmRpZgogCisjaWYgZGVmaW5lZChfTVNDX1ZFUikgJiYgX01TQ19WRVIgPj0gMTgwMAorLyogUHJvdmlkZXMgdGhlIElzV2luZG93czdTUDFPckdyZWF0ZXIoKSBmdW5jdGlvbiAqLworI2luY2x1ZGUgPFZlcnNpb25IZWxwZXJzLmg+CisjZW5kaWYKKwogI2VuZGlmCiAKICNpbmNsdWRlIDxzdGRkZWYuaD4KIAotI2lmbmRlZiBvZmZzZXRvZgotIyBkZWZpbmUgb2Zmc2V0b2YodHlwZSwgbWVtYmVyKSAoKHNpemVfdCkoJigodHlwZSAqKTApLT5tZW1iZXIpKQotI2VuZGlmCi0KICNpZm5kZWYgT19OT05CTE9DSwogIyBkZWZpbmUgT19OT05CTE9DSyBPX05ERUxBWQogI2VuZGlmCkBAIC01NTIsNiArNTUzLDkgQEAKIHN0YXRpYyBpbnQKIGludGVybmFsX3NldGJsb2NraW5nKFB5U29ja2V0U29ja09iamVjdCAqcywgaW50IGJsb2NrKQogeworI2lmZGVmIE1TX1dJTkRPV1MKKyAgICB1X2xvbmcgYXJnOworI2VuZGlmCiAjaWYgIWRlZmluZWQoTVNfV0lORE9XUykgXAogICAgICYmICEoKGRlZmluZWQoSEFWRV9TWVNfSU9DVExfSCkgJiYgZGVmaW5lZChGSU9OQklPKSkpCiAgICAgaW50IGRlbGF5X2ZsYWcsIG5ld19kZWxheV9mbGFnOwpAQCAtNTc4LDggKzU4Miw4IEBACiAgICAgICAgIGZjbnRsKHMtPnNvY2tfZmQsIEZfU0VURkwsIG5ld19kZWxheV9mbGFnKTsKICNlbmRpZgogI2Vsc2UgLyogTVNfV0lORE9XUyAqLwotICAgIGJsb2NrID0gIWJsb2NrOwotICAgIGlvY3Rsc29ja2V0KHMtPnNvY2tfZmQsIEZJT05CSU8sICh1X2xvbmcqKSZibG9jayk7CisgICAgYXJnID0gIWJsb2NrOworICAgIGlvY3Rsc29ja2V0KHMtPnNvY2tfZmQsIEZJT05CSU8sICZhcmcpOwogI2VuZGlmIC8qIE1TX1dJTkRPV1MgKi8KICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogCkBAIC02ODEsNyArNjg1LDcgQEAKICAgICAgICAgZG91YmxlIGludGVydmFsID0gcy0+c29ja190aW1lb3V0OyBcCiAgICAgICAgIGludCBoYXNfdGltZW91dCA9IHMtPnNvY2tfdGltZW91dCA+IDAuMDsgXAogICAgICAgICBpZiAoaGFzX3RpbWVvdXQpIHsgXAotICAgICAgICAgICAgX1B5VGltZV9nZXR0aW1lb2ZkYXkoJm5vdyk7IFwKKyAgICAgICAgICAgIF9QeVRpbWVfbW9ub3RvbmljKCZub3cpOyBcCiAgICAgICAgICAgICBkZWFkbGluZSA9IG5vdzsgXAogICAgICAgICAgICAgX1B5VGltZV9BRERfU0VDT05EUyhkZWFkbGluZSwgcy0+c29ja190aW1lb3V0KTsgXAogICAgICAgICB9IFwKQEAgLTY5Miw3ICs2OTYsNyBAQAogICAgICAgICAgICAgaWYgKCFoYXNfdGltZW91dCB8fCBcCiAgICAgICAgICAgICAgICAgKCFDSEVDS19FUlJOTyhFV09VTERCTE9DSykgJiYgIUNIRUNLX0VSUk5PKEVBR0FJTikpKSBcCiAgICAgICAgICAgICAgICAgYnJlYWs7IFwKLSAgICAgICAgICAgIF9QeVRpbWVfZ2V0dGltZW9mZGF5KCZub3cpOyBcCisgICAgICAgICAgICBfUHlUaW1lX21vbm90b25pYygmbm93KTsgXAogICAgICAgICAgICAgaW50ZXJ2YWwgPSBfUHlUaW1lX0lOVEVSVkFMKG5vdywgZGVhZGxpbmUpOyBcCiAgICAgICAgIH0gXAogICAgIH0gXApAQCAtMTIxNCw2ICsxMjE4LDcxIEBACiAgICAgfQogfQogCisvKiBIZWxwZXIgZm9yIGdldHNvY2thZGRyYXJnOiBieXBhc3MgSUROQSBmb3IgQVNDSUktb25seSBob3N0IG5hbWVzCisgICAoaW4gcGFydGljdWxhciwgbnVtZXJpYyBJUCBhZGRyZXNzZXMpLiAqLworc3RydWN0IG1heWJlX2lkbmEgeworICAgIFB5T2JqZWN0ICpvYmo7CisgICAgY2hhciAqYnVmOworfTsKKworc3RhdGljIHZvaWQKK2lkbmFfY2xlYW51cChzdHJ1Y3QgbWF5YmVfaWRuYSAqZGF0YSkKK3sKKyAgICBQeV9DTEVBUihkYXRhLT5vYmopOworfQorCitzdGF0aWMgaW50CitpZG5hX2NvbnZlcnRlcihQeU9iamVjdCAqb2JqLCBzdHJ1Y3QgbWF5YmVfaWRuYSAqZGF0YSkKK3sKKyAgICBzaXplX3QgbGVuOworICAgIFB5T2JqZWN0ICpvYmoyLCAqb2JqMzsKKyAgICBpZiAob2JqID09IE5VTEwpIHsKKyAgICAgICAgaWRuYV9jbGVhbnVwKGRhdGEpOworICAgICAgICByZXR1cm4gMTsKKyAgICB9CisgICAgZGF0YS0+b2JqID0gTlVMTDsKKyAgICBsZW4gPSAtMTsKKyAgICBpZiAoUHlCeXRlc19DaGVjayhvYmopKSB7CisgICAgICAgIGRhdGEtPmJ1ZiA9IFB5Qnl0ZXNfQXNTdHJpbmcob2JqKTsKKyAgICAgICAgbGVuID0gUHlCeXRlc19TaXplKG9iaik7CisgICAgfQorICAgIGVsc2UgaWYgKFB5Qnl0ZUFycmF5X0NoZWNrKG9iaikpIHsKKyAgICAgICAgZGF0YS0+YnVmID0gUHlCeXRlQXJyYXlfQXNTdHJpbmcob2JqKTsKKyAgICAgICAgbGVuID0gUHlCeXRlQXJyYXlfU2l6ZShvYmopOworICAgIH0KKyAgICBlbHNlIGlmIChQeVVuaWNvZGVfQ2hlY2sob2JqKSAmJiBQeVVuaWNvZGVfUkVBRFkob2JqKSA9PSAwICYmIFB5VW5pY29kZV9JU19DT01QQUNUX0FTQ0lJKG9iaikpIHsKKyAgICAgICAgZGF0YS0+YnVmID0gUHlVbmljb2RlX0RBVEEob2JqKTsKKyAgICAgICAgbGVuID0gUHlVbmljb2RlX0dFVF9MRU5HVEgob2JqKTsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIG9iajIgPSBQeVVuaWNvZGVfRnJvbU9iamVjdChvYmopOworICAgICAgICBpZiAoIW9iajIpIHsKKyAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsICJzdHJpbmcgb3IgdW5pY29kZSB0ZXh0IGJ1ZmZlciBleHBlY3RlZCwgbm90ICVzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBvYmotPm9iX3R5cGUtPnRwX25hbWUpOworICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIH0KKyAgICAgICAgb2JqMyA9IFB5VW5pY29kZV9Bc0VuY29kZWRTdHJpbmcob2JqMiwgImlkbmEiLCBOVUxMKTsKKyAgICAgICAgUHlfREVDUkVGKG9iajIpOworICAgICAgICBpZiAoIW9iajMpIHsKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJlbmNvZGluZyBvZiBob3N0bmFtZSBmYWlsZWQiKTsKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICB9CisgICAgICAgIGlmICghUHlCeXRlc19DaGVjayhvYmozKSkgeworICAgICAgICAgICAgUHlfREVDUkVGKG9iajMpOworICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgImVuY29kaW5nIG9mIGhvc3RuYW1lIGZhaWxlZCB0byByZXR1cm4gYnl0ZXMiKTsKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICB9CisgICAgICAgIGRhdGEtPm9iaiA9IG9iajM7CisgICAgICAgIGRhdGEtPmJ1ZiA9IFB5Qnl0ZXNfQVNfU1RSSU5HKG9iajMpOworICAgICAgICBsZW4gPSBQeUJ5dGVzX0dFVF9TSVpFKG9iajMpOworICAgIH0KKyAgICBpZiAoc3RybGVuKGRhdGEtPmJ1ZikgIT0gbGVuKSB7CisgICAgICAgIFB5X0NMRUFSKGRhdGEtPm9iaik7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJob3N0IG5hbWUgbXVzdCBub3QgY29udGFpbiBudWxsIGNoYXJhY3RlciIpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisgICAgcmV0dXJuIFB5X0NMRUFOVVBfU1VQUE9SVEVEOworfQogCiAvKiBQYXJzZSBhIHNvY2tldCBhZGRyZXNzIGFyZ3VtZW50IGFjY29yZGluZyB0byB0aGUgc29ja2V0IG9iamVjdCdzCiAgICBhZGRyZXNzIGZhbWlseS4gIFJldHVybiAxIGlmIHRoZSBhZGRyZXNzIHdhcyBpbiB0aGUgcHJvcGVyIGZvcm1hdCwKQEAgLTEyNDQsMTIgKzEzMTMsMTMgQEAKICAgICAgICAgICAgIFB5X0lOQ1JFRihhcmdzKTsKICAgICAgICAgaWYgKCFQeUFyZ19QYXJzZShhcmdzLCAieSMiLCAmcGF0aCwgJmxlbikpCiAgICAgICAgICAgICBnb3RvIHVuaXhfb3V0OworICAgICAgICBhc3NlcnQobGVuID49IDApOwogCiAgICAgICAgIGFkZHIgPSAoc3RydWN0IHNvY2thZGRyX3VuKilhZGRyX3JldDsKICNpZmRlZiBsaW51eAogICAgICAgICBpZiAobGVuID4gMCAmJiBwYXRoWzBdID09IDApIHsKICAgICAgICAgICAgIC8qIExpbnV4IGFic3RyYWN0IG5hbWVzcGFjZSBleHRlbnNpb24gKi8KLSAgICAgICAgICAgIGlmIChsZW4gPiBzaXplb2YgYWRkci0+c3VuX3BhdGgpIHsKKyAgICAgICAgICAgIGlmICgoc2l6ZV90KWxlbiA+IHNpemVvZiBhZGRyLT5zdW5fcGF0aCkgewogICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PU0Vycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQUZfVU5JWCBwYXRoIHRvbyBsb25nIik7CiAgICAgICAgICAgICAgICAgZ290byB1bml4X291dDsKQEAgLTEyNTksNyArMTMyOSw3IEBACiAjZW5kaWYgLyogbGludXggKi8KICAgICAgICAgewogICAgICAgICAgICAgLyogcmVndWxhciBOVUxMLXRlcm1pbmF0ZWQgc3RyaW5nICovCi0gICAgICAgICAgICBpZiAobGVuID49IHNpemVvZiBhZGRyLT5zdW5fcGF0aCkgeworICAgICAgICAgICAgaWYgKChzaXplX3QpbGVuID49IHNpemVvZiBhZGRyLT5zdW5fcGF0aCkgewogICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PU0Vycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQUZfVU5JWCBwYXRoIHRvbyBsb25nIik7CiAgICAgICAgICAgICAgICAgZ290byB1bml4X291dDsKQEAgLTEzMDgsNyArMTM3OCw3IEBACiAgICAgY2FzZSBBRl9JTkVUOgogICAgIHsKICAgICAgICAgc3RydWN0IHNvY2thZGRyX2luKiBhZGRyOwotICAgICAgICBjaGFyICpob3N0OworICAgICAgICBzdHJ1Y3QgbWF5YmVfaWRuYSBob3N0ID0ge05VTEwsIE5VTEx9OwogICAgICAgICBpbnQgcG9ydCwgcmVzdWx0OwogICAgICAgICBpZiAoIVB5VHVwbGVfQ2hlY2soYXJncykpIHsKICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdCgKQEAgLTEzMTgsMTMgKzEzODgsMTMgQEAKICAgICAgICAgICAgICAgICBQeV9UWVBFKGFyZ3MpLT50cF9uYW1lKTsKICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICB9Ci0gICAgICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiZXRpOmdldHNvY2thZGRyYXJnIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZG5hIiwgJmhvc3QsICZwb3J0KSkKKyAgICAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPJmk6Z2V0c29ja2FkZHJhcmciLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWRuYV9jb252ZXJ0ZXIsICZob3N0LCAmcG9ydCkpCiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgYWRkcj0oc3RydWN0IHNvY2thZGRyX2luKilhZGRyX3JldDsKLSAgICAgICAgcmVzdWx0ID0gc2V0aXBhZGRyKGhvc3QsIChzdHJ1Y3Qgc29ja2FkZHIgKilhZGRyLAorICAgICAgICByZXN1bHQgPSBzZXRpcGFkZHIoaG9zdC5idWYsIChzdHJ1Y3Qgc29ja2FkZHIgKilhZGRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKCphZGRyKSwgIEFGX0lORVQpOwotICAgICAgICBQeU1lbV9GcmVlKGhvc3QpOworICAgICAgICBpZG5hX2NsZWFudXAoJmhvc3QpOwogICAgICAgICBpZiAocmVzdWx0IDwgMCkKICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICBpZiAocG9ydCA8IDAgfHwgcG9ydCA+IDB4ZmZmZikgewpAQCAtMTM0Myw3ICsxNDEzLDcgQEAKICAgICBjYXNlIEFGX0lORVQ2OgogICAgIHsKICAgICAgICAgc3RydWN0IHNvY2thZGRyX2luNiogYWRkcjsKLSAgICAgICAgY2hhciAqaG9zdDsKKyAgICAgICAgc3RydWN0IG1heWJlX2lkbmEgaG9zdCA9IHtOVUxMLCBOVUxMfTsKICAgICAgICAgaW50IHBvcnQsIHJlc3VsdDsKICAgICAgICAgdW5zaWduZWQgaW50IGZsb3dpbmZvLCBzY29wZV9pZDsKICAgICAgICAgZmxvd2luZm8gPSBzY29wZV9pZCA9IDA7CkBAIC0xMzU1LDE1ICsxNDI1LDE1IEBACiAgICAgICAgICAgICAgICAgUHlfVFlQRShhcmdzKS0+dHBfbmFtZSk7CiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgfQotICAgICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImV0aXxJSSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRuYSIsICZob3N0LCAmcG9ydCwgJmZsb3dpbmZvLAorICAgICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk8maXxJSSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZG5hX2NvbnZlcnRlciwgJmhvc3QsICZwb3J0LCAmZmxvd2luZm8sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc2NvcGVfaWQpKSB7CiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgfQogICAgICAgICBhZGRyID0gKHN0cnVjdCBzb2NrYWRkcl9pbjYqKWFkZHJfcmV0OwotICAgICAgICByZXN1bHQgPSBzZXRpcGFkZHIoaG9zdCwgKHN0cnVjdCBzb2NrYWRkciAqKWFkZHIsCisgICAgICAgIHJlc3VsdCA9IHNldGlwYWRkcihob3N0LmJ1ZiwgKHN0cnVjdCBzb2NrYWRkciAqKWFkZHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoKmFkZHIpLCBBRl9JTkVUNik7Ci0gICAgICAgIFB5TWVtX0ZyZWUoaG9zdCk7CisgICAgICAgIGlkbmFfY2xlYW51cCgmaG9zdCk7CiAgICAgICAgIGlmIChyZXN1bHQgPCAwKQogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIGlmIChwb3J0IDwgMCB8fCBwb3J0ID4gMHhmZmZmKSB7CkBAIC0xNjExLDcgKzE2ODEsNyBAQAogCiAgICAgICAgICAgICBpZiAobGVuID09IDApIHsKICAgICAgICAgICAgICAgICBpZnIuaWZyX2lmaW5kZXggPSAwOwotICAgICAgICAgICAgfSBlbHNlIGlmIChsZW4gPCBzaXplb2YoaWZyLmlmcl9uYW1lKSkgeworICAgICAgICAgICAgfSBlbHNlIGlmICgoc2l6ZV90KWxlbiA8IHNpemVvZihpZnIuaWZyX25hbWUpKSB7CiAgICAgICAgICAgICAgICAgc3RybmNweShpZnIuaWZyX25hbWUsIFB5Qnl0ZXNfQVNfU1RSSU5HKGludGVyZmFjZU5hbWUpLCBzaXplb2YoaWZyLmlmcl9uYW1lKSk7CiAgICAgICAgICAgICAgICAgaWZyLmlmcl9uYW1lWyhzaXplb2YoaWZyLmlmcl9uYW1lKSktMV0gPSAnXDAnOwogICAgICAgICAgICAgICAgIGlmIChpb2N0bChzLT5zb2NrX2ZkLCBTSU9DR0lGSU5ERVgsICZpZnIpIDwgMCkgewpAQCAtMTk2Nyw2ICsyMDM3LDcgQEAKICAgICBQeU9iamVjdCAqYWRkciA9IE5VTEw7CiAgICAgUHlPYmplY3QgKnJlcyA9IE5VTEw7CiAgICAgaW50IHRpbWVvdXQ7CisgICAgaW50IGFzeW5jX2VyciA9IDA7CiAjaWYgZGVmaW5lZChIQVZFX0FDQ0VQVDQpICYmIGRlZmluZWQoU09DS19DTE9FWEVDKQogICAgIC8qIGFjY2VwdDQoKSBpcyBhdmFpbGFibGUgb24gTGludXggMi42LjI4KyBhbmQgZ2xpYmMgMi4xMCAqLwogICAgIHN0YXRpYyBpbnQgYWNjZXB0NF93b3JrcyA9IC0xOwpAQCAtMTk4MCwyNyArMjA1MSwyNyBAQAogICAgICAgICByZXR1cm4gc2VsZWN0X2Vycm9yKCk7CiAKICAgICBCRUdJTl9TRUxFQ1RfTE9PUChzKQotCi0gICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIHRpbWVvdXQgPSBpbnRlcm5hbF9zZWxlY3RfZXgocywgMCwgaW50ZXJ2YWwpOwotICAgIGlmICghdGltZW91dCkgeworICAgIGRvIHsKKyAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgICAgICB0aW1lb3V0ID0gaW50ZXJuYWxfc2VsZWN0X2V4KHMsIDAsIGludGVydmFsKTsKKyAgICAgICAgaWYgKCF0aW1lb3V0KSB7CiAjaWYgZGVmaW5lZChIQVZFX0FDQ0VQVDQpICYmIGRlZmluZWQoU09DS19DTE9FWEVDKQotICAgICAgICBpZiAoYWNjZXB0NF93b3JrcyAhPSAwKSB7Ci0gICAgICAgICAgICBuZXdmZCA9IGFjY2VwdDQocy0+c29ja19mZCwgU0FTMlNBKCZhZGRyYnVmKSwgJmFkZHJsZW4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgU09DS19DTE9FWEVDKTsKLSAgICAgICAgICAgIGlmIChuZXdmZCA9PSBJTlZBTElEX1NPQ0tFVCAmJiBhY2NlcHQ0X3dvcmtzID09IC0xKSB7Ci0gICAgICAgICAgICAgICAgLyogT24gTGludXggb2xkZXIgdGhhbiAyLjYuMjgsIGFjY2VwdDQoKSBmYWlscyB3aXRoIEVOT1NZUyAqLwotICAgICAgICAgICAgICAgIGFjY2VwdDRfd29ya3MgPSAoZXJybm8gIT0gRU5PU1lTKTsKKyAgICAgICAgICAgIGlmIChhY2NlcHQ0X3dvcmtzICE9IDApIHsKKyAgICAgICAgICAgICAgICBuZXdmZCA9IGFjY2VwdDQocy0+c29ja19mZCwgU0FTMlNBKCZhZGRyYnVmKSwgJmFkZHJsZW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNPQ0tfQ0xPRVhFQyk7CisgICAgICAgICAgICAgICAgaWYgKG5ld2ZkID09IElOVkFMSURfU09DS0VUICYmIGFjY2VwdDRfd29ya3MgPT0gLTEpIHsKKyAgICAgICAgICAgICAgICAgICAgLyogT24gTGludXggb2xkZXIgdGhhbiAyLjYuMjgsIGFjY2VwdDQoKSBmYWlscyB3aXRoIEVOT1NZUyAqLworICAgICAgICAgICAgICAgICAgICBhY2NlcHQ0X3dvcmtzID0gKGVycm5vICE9IEVOT1NZUyk7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIGlmIChhY2NlcHQ0X3dvcmtzID09IDApCi0gICAgICAgICAgICBuZXdmZCA9IGFjY2VwdChzLT5zb2NrX2ZkLCBTQVMyU0EoJmFkZHJidWYpLCAmYWRkcmxlbik7CisgICAgICAgICAgICBpZiAoYWNjZXB0NF93b3JrcyA9PSAwKQorICAgICAgICAgICAgICAgIG5ld2ZkID0gYWNjZXB0KHMtPnNvY2tfZmQsIFNBUzJTQSgmYWRkcmJ1ZiksICZhZGRybGVuKTsKICNlbHNlCi0gICAgICAgIG5ld2ZkID0gYWNjZXB0KHMtPnNvY2tfZmQsIFNBUzJTQSgmYWRkcmJ1ZiksICZhZGRybGVuKTsKKyAgICAgICAgICAgIG5ld2ZkID0gYWNjZXB0KHMtPnNvY2tfZmQsIFNBUzJTQSgmYWRkcmJ1ZiksICZhZGRybGVuKTsKICNlbmRpZgotICAgIH0KLSAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotCisgICAgICAgIH0KKyAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICB9IHdoaWxlIChuZXdmZCA8IDAgJiYgZXJybm8gPT0gRUlOVFIgJiYgIShhc3luY19lcnIgPSBQeUVycl9DaGVja1NpZ25hbHMoKSkpOwogICAgIGlmICh0aW1lb3V0ID09IDEpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKHNvY2tldF90aW1lb3V0LCAidGltZWQgb3V0Iik7CiAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtMjAwOCw3ICsyMDc5LDcgQEAKICAgICBFTkRfU0VMRUNUX0xPT1AocykKIAogICAgIGlmIChuZXdmZCA9PSBJTlZBTElEX1NPQ0tFVCkKLSAgICAgICAgcmV0dXJuIHMtPmVycm9yaGFuZGxlcigpOworICAgICAgICByZXR1cm4gKCFhc3luY19lcnIpID8gcy0+ZXJyb3JoYW5kbGVyKCkgOiBOVUxMOwogCiAjaWZkZWYgTVNfV0lORE9XUwogICAgIGlmICghU2V0SGFuZGxlSW5mb3JtYXRpb24oKEhBTkRMRSluZXdmZCwgSEFORExFX0ZMQUdfSU5IRVJJVCwgMCkpIHsKQEAgLTIyNzEsNiArMjM0MiwxMCBAQAogewogICAgIFNPQ0tFVF9UIGZkOwogCisgICAgLyogV2UgZG8gbm90IHdhbnQgdG8gcmV0cnkgdXBvbiBFSU5UUjogc2VlIGh0dHA6Ly9sd24ubmV0L0FydGljbGVzLzU3NjQ3OC8KKyAgICAgKiBhbmQgaHR0cDovL2xpbnV4LmRlcmtlaWxlci5jb20vTWFpbGluZy1MaXN0cy9LZXJuZWwvMjAwNS0wOS8zMDAwLmh0bWwKKyAgICAgKiBmb3IgbW9yZSBkZXRhaWxzLgorICAgICAqLwogICAgIGlmICgoZmQgPSBzLT5zb2NrX2ZkKSAhPSAtMSkgewogICAgICAgICBzLT5zb2NrX2ZkID0gLTE7CiAgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKQEAgLTI0NDMsMTAgKzI1MTgsOCBAQAogCiAgICAgLyogU2lnbmFscyBhcmUgbm90IGVycm9ycyAodGhvdWdoIHRoZXkgbWF5IHJhaXNlIGV4Y2VwdGlvbnMpLiAgQWRhcHRlZAogICAgICAgIGZyb20gUHlFcnJfU2V0RnJvbUVycm5vV2l0aEZpbGVuYW1lT2JqZWN0KCkuICovCi0jaWZkZWYgRUlOVFIKICAgICBpZiAocmVzID09IEVJTlRSICYmIFB5RXJyX0NoZWNrU2lnbmFscygpKQogICAgICAgICByZXR1cm4gTlVMTDsKLSNlbmRpZgogCiAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZygobG9uZykgcmVzKTsKIH0KQEAgLTI1MzQsMTQgKzI2MDcsMTYgQEAKIC8qIHMubGlzdGVuKG4pIG1ldGhvZCAqLwogCiBzdGF0aWMgUHlPYmplY3QgKgotc29ja19saXN0ZW4oUHlTb2NrZXRTb2NrT2JqZWN0ICpzLCBQeU9iamVjdCAqYXJnKQorc29ja19saXN0ZW4oUHlTb2NrZXRTb2NrT2JqZWN0ICpzLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBpbnQgYmFja2xvZzsKKyAgICAvKiBXZSB0cnkgdG8gY2hvb3NlIGEgZGVmYXVsdCBiYWNrbG9nIGhpZ2ggZW5vdWdoIHRvIGF2b2lkIGNvbm5lY3Rpb24gZHJvcHMKKyAgICAgKiBmb3IgY29tbW9uIHdvcmtsb2FkcywgeWV0IG5vdCB0b28gaGlnaCB0byBsaW1pdCByZXNvdXJjZSB1c2FnZS4gKi8KKyAgICBpbnQgYmFja2xvZyA9IFB5X01JTihTT01BWENPTk4sIDEyOCk7CiAgICAgaW50IHJlczsKIAotICAgIGJhY2tsb2cgPSBfUHlMb25nX0FzSW50KGFyZyk7Ci0gICAgaWYgKGJhY2tsb2cgPT0gLTEgJiYgUHlFcnJfT2NjdXJyZWQoKSkKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInxpOmxpc3RlbiIsICZiYWNrbG9nKSkKICAgICAgICAgcmV0dXJuIE5VTEw7CisKICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCiAgICAgLyogVG8gYXZvaWQgcHJvYmxlbXMgb24gc3lzdGVtcyB0aGF0IGRvbid0IGFsbG93IGEgbmVnYXRpdmUgYmFja2xvZwogICAgICAqICh3aGljaCBkb2Vzbid0IG1ha2Ugc2Vuc2UgYW55d2F5KSB3ZSBmb3JjZSBhIG1pbmltdW0gdmFsdWUgb2YgMC4gKi8KQEAgLTI1NTYsMTIgKzI2MzEsMTIgQEAKIH0KIAogUHlEb2NfU1RSVkFSKGxpc3Rlbl9kb2MsCi0ibGlzdGVuKGJhY2tsb2cpXG5cCisibGlzdGVuKFtiYWNrbG9nXSlcblwKIFxuXAotRW5hYmxlIGEgc2VydmVyIHRvIGFjY2VwdCBjb25uZWN0aW9ucy4gIFRoZSBiYWNrbG9nIGFyZ3VtZW50IG11c3QgYmUgYXRcblwKLWxlYXN0IDAgKGlmIGl0IGlzIGxvd2VyLCBpdCBpcyBzZXQgdG8gMCk7IGl0IHNwZWNpZmllcyB0aGUgbnVtYmVyIG9mXG5cCitFbmFibGUgYSBzZXJ2ZXIgdG8gYWNjZXB0IGNvbm5lY3Rpb25zLiAgSWYgYmFja2xvZyBpcyBzcGVjaWZpZWQsIGl0IG11c3QgYmVcblwKK2F0IGxlYXN0IDAgKGlmIGl0IGlzIGxvd2VyLCBpdCBpcyBzZXQgdG8gMCk7IGl0IHNwZWNpZmllcyB0aGUgbnVtYmVyIG9mXG5cCiB1bmFjY2VwdGVkIGNvbm5lY3Rpb25zIHRoYXQgdGhlIHN5c3RlbSB3aWxsIGFsbG93IGJlZm9yZSByZWZ1c2luZyBuZXdcblwKLWNvbm5lY3Rpb25zLiIpOworY29ubmVjdGlvbnMuIElmIG5vdCBzcGVjaWZpZWQsIGEgZGVmYXVsdCByZWFzb25hYmxlIHZhbHVlIGlzIGNob3Nlbi4iKTsKIAogCiAvKgpAQCAtMjU3OCw2ICsyNjUzLDcgQEAKIHsKICAgICBQeV9zc2l6ZV90IG91dGxlbiA9IC0xOwogICAgIGludCB0aW1lb3V0OworICAgIGludCBhc3luY19lcnIgPSAwOwogCiAgICAgaWYgKCFJU19TRUxFQ1RBQkxFKHMpKSB7CiAgICAgICAgIHNlbGVjdF9lcnJvcigpOwpAQCAtMjU4OSwxOCArMjY2NSwyMCBAQAogICAgIH0KIAogICAgIEJFR0lOX1NFTEVDVF9MT09QKHMpCi0gICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIHRpbWVvdXQgPSBpbnRlcm5hbF9zZWxlY3RfZXgocywgMCwgaW50ZXJ2YWwpOwotICAgIGlmICghdGltZW91dCkgeworICAgIGRvIHsKKyAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgICAgICB0aW1lb3V0ID0gaW50ZXJuYWxfc2VsZWN0X2V4KHMsIDAsIGludGVydmFsKTsKKyAgICAgICAgaWYgKCF0aW1lb3V0KSB7CiAjaWZkZWYgTVNfV0lORE9XUwotICAgICAgICBpZiAobGVuID4gSU5UX01BWCkKLSAgICAgICAgICAgIGxlbiA9IElOVF9NQVg7Ci0gICAgICAgIG91dGxlbiA9IHJlY3Yocy0+c29ja19mZCwgY2J1ZiwgKGludClsZW4sIGZsYWdzKTsKKyAgICAgICAgICAgIGlmIChsZW4gPiBJTlRfTUFYKQorICAgICAgICAgICAgICAgIGxlbiA9IElOVF9NQVg7CisgICAgICAgICAgICBvdXRsZW4gPSByZWN2KHMtPnNvY2tfZmQsIGNidWYsIChpbnQpbGVuLCBmbGFncyk7CiAjZWxzZQotICAgICAgICBvdXRsZW4gPSByZWN2KHMtPnNvY2tfZmQsIGNidWYsIGxlbiwgZmxhZ3MpOworICAgICAgICAgICAgb3V0bGVuID0gcmVjdihzLT5zb2NrX2ZkLCBjYnVmLCBsZW4sIGZsYWdzKTsKICNlbmRpZgotICAgIH0KLSAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgICAgICB9CisgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgfSB3aGlsZSAob3V0bGVuIDwgMCAmJiBlcnJubyA9PSBFSU5UUiAmJiAhKGFzeW5jX2VyciA9IFB5RXJyX0NoZWNrU2lnbmFscygpKSk7CiAKICAgICBpZiAodGltZW91dCA9PSAxKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhzb2NrZXRfdGltZW91dCwgInRpbWVkIG91dCIpOwpAQCAtMjYxMCw3ICsyNjg4LDggQEAKICAgICBpZiAob3V0bGVuIDwgMCkgewogICAgICAgICAvKiBOb3RlOiB0aGUgY2FsbCB0byBlcnJvcmhhbmRsZXIoKSBBTFdBWVMgaW5kaXJlY3RseSByZXR1cm5lZAogICAgICAgICAgICBOVUxMLCBzbyBpZ25vcmUgaXRzIHJldHVybiB2YWx1ZSAqLwotICAgICAgICBzLT5lcnJvcmhhbmRsZXIoKTsKKyAgICAgICAgaWYgKCFhc3luY19lcnIpCisgICAgICAgICAgICBzLT5lcnJvcmhhbmRsZXIoKTsKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KICAgICByZXR1cm4gb3V0bGVuOwpAQCAtMjc0Nyw2ICsyODI2LDcgQEAKICAgICBpbnQgdGltZW91dDsKICAgICBQeV9zc2l6ZV90IG4gPSAtMTsKICAgICBzb2NrbGVuX3QgYWRkcmxlbjsKKyAgICBpbnQgYXN5bmNfZXJyID0gMDsKIAogICAgICphZGRyID0gTlVMTDsKIApAQCAtMjc1OSwyMSArMjgzOSwyMyBAQAogICAgIH0KIAogICAgIEJFR0lOX1NFTEVDVF9MT09QKHMpCi0gICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIG1lbXNldCgmYWRkcmJ1ZiwgMCwgYWRkcmxlbik7Ci0gICAgdGltZW91dCA9IGludGVybmFsX3NlbGVjdF9leChzLCAwLCBpbnRlcnZhbCk7Ci0gICAgaWYgKCF0aW1lb3V0KSB7CisgICAgZG8geworICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgICAgIG1lbXNldCgmYWRkcmJ1ZiwgMCwgYWRkcmxlbik7CisgICAgICAgIHRpbWVvdXQgPSBpbnRlcm5hbF9zZWxlY3RfZXgocywgMCwgaW50ZXJ2YWwpOworICAgICAgICBpZiAoIXRpbWVvdXQpIHsKICNpZmRlZiBNU19XSU5ET1dTCi0gICAgICAgIGlmIChsZW4gPiBJTlRfTUFYKQotICAgICAgICAgICAgbGVuID0gSU5UX01BWDsKLSAgICAgICAgbiA9IHJlY3Zmcm9tKHMtPnNvY2tfZmQsIGNidWYsIChpbnQpbGVuLCBmbGFncywKLSAgICAgICAgICAgICAgICAgICAgICh2b2lkICopICZhZGRyYnVmLCAmYWRkcmxlbik7CisgICAgICAgICAgICBpZiAobGVuID4gSU5UX01BWCkKKyAgICAgICAgICAgICAgICBsZW4gPSBJTlRfTUFYOworICAgICAgICAgICAgbiA9IHJlY3Zmcm9tKHMtPnNvY2tfZmQsIGNidWYsIChpbnQpbGVuLCBmbGFncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAodm9pZCAqKSAmYWRkcmJ1ZiwgJmFkZHJsZW4pOwogI2Vsc2UKLSAgICAgICAgbiA9IHJlY3Zmcm9tKHMtPnNvY2tfZmQsIGNidWYsIGxlbiwgZmxhZ3MsCi0gICAgICAgICAgICAgICAgICAgICBTQVMyU0EoJmFkZHJidWYpLCAmYWRkcmxlbik7CisgICAgICAgICAgICBuID0gcmVjdmZyb20ocy0+c29ja19mZCwgY2J1ZiwgbGVuLCBmbGFncywKKyAgICAgICAgICAgICAgICAgICAgICAgICBTQVMyU0EoJmFkZHJidWYpLCAmYWRkcmxlbik7CiAjZW5kaWYKLSAgICB9Ci0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgfQorICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIH0gd2hpbGUgKG4gPCAwICYmIGVycm5vID09IEVJTlRSICYmICEoYXN5bmNfZXJyID0gUHlFcnJfQ2hlY2tTaWduYWxzKCkpKTsKIAogICAgIGlmICh0aW1lb3V0ID09IDEpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKHNvY2tldF90aW1lb3V0LCAidGltZWQgb3V0Iik7CkBAIC0yNzgxLDcgKzI4NjMsOCBAQAogICAgIH0KICAgICBFTkRfU0VMRUNUX0xPT1AocykKICAgICBpZiAobiA8IDApIHsKLSAgICAgICAgcy0+ZXJyb3JoYW5kbGVyKCk7CisgICAgICAgIGlmICghYXN5bmNfZXJyKQorICAgICAgICAgICAgcy0+ZXJyb3JoYW5kbGVyKCk7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAKQEAgLTI5MjEsNiArMzAwNCw3IEBACiB7CiAgICAgc3NpemVfdCBieXRlc19yZWNlaXZlZCA9IC0xOwogICAgIGludCB0aW1lb3V0OworICAgIGludCBhc3luY19lcnIgPSAwOwogICAgIHNvY2tfYWRkcl90IGFkZHJidWY7CiAgICAgc29ja2xlbl90IGFkZHJidWZsZW47CiAgICAgc3RydWN0IG1zZ2hkciBtc2cgPSB7MH07CkBAIC0yOTU2LDI1ICszMDQwLDI5IEBACiAgICAgfQogCiAgICAgQkVHSU5fU0VMRUNUX0xPT1AocykKLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTOwotICAgIG1zZy5tc2dfbmFtZSA9IFNBUzJTQSgmYWRkcmJ1Zik7Ci0gICAgbXNnLm1zZ19uYW1lbGVuID0gYWRkcmJ1ZmxlbjsKLSAgICBtc2cubXNnX2lvdiA9IGlvdjsKLSAgICBtc2cubXNnX2lvdmxlbiA9IGlvdmxlbjsKLSAgICBtc2cubXNnX2NvbnRyb2wgPSBjb250cm9sYnVmOwotICAgIG1zZy5tc2dfY29udHJvbGxlbiA9IGNvbnRyb2xsZW47Ci0gICAgdGltZW91dCA9IGludGVybmFsX3NlbGVjdF9leChzLCAwLCBpbnRlcnZhbCk7Ci0gICAgaWYgKCF0aW1lb3V0KQotICAgICAgICBieXRlc19yZWNlaXZlZCA9IHJlY3Ztc2cocy0+c29ja19mZCwgJm1zZywgZmxhZ3MpOwotICAgIFB5X0VORF9BTExPV19USFJFQURTOwotICAgIGlmICh0aW1lb3V0ID09IDEpIHsKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKHNvY2tldF90aW1lb3V0LCAidGltZWQgb3V0Iik7Ci0gICAgICAgIGdvdG8gZmluYWxseTsKLSAgICB9CisgICAgZG8geworICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTOworICAgICAgICBtc2cubXNnX25hbWUgPSBTQVMyU0EoJmFkZHJidWYpOworICAgICAgICBtc2cubXNnX25hbWVsZW4gPSBhZGRyYnVmbGVuOworICAgICAgICBtc2cubXNnX2lvdiA9IGlvdjsKKyAgICAgICAgbXNnLm1zZ19pb3ZsZW4gPSBpb3ZsZW47CisgICAgICAgIG1zZy5tc2dfY29udHJvbCA9IGNvbnRyb2xidWY7CisgICAgICAgIG1zZy5tc2dfY29udHJvbGxlbiA9IGNvbnRyb2xsZW47CisgICAgICAgIHRpbWVvdXQgPSBpbnRlcm5hbF9zZWxlY3RfZXgocywgMCwgaW50ZXJ2YWwpOworICAgICAgICBpZiAoIXRpbWVvdXQpCisgICAgICAgICAgICBieXRlc19yZWNlaXZlZCA9IHJlY3Ztc2cocy0+c29ja19mZCwgJm1zZywgZmxhZ3MpOworICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUzsKKyAgICAgICAgaWYgKHRpbWVvdXQgPT0gMSkgeworICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKHNvY2tldF90aW1lb3V0LCAidGltZWQgb3V0Iik7CisgICAgICAgICAgICBnb3RvIGZpbmFsbHk7CisgICAgICAgIH0KKyAgICB9IHdoaWxlIChieXRlc19yZWNlaXZlZCA8IDAgJiYgZXJybm8gPT0gRUlOVFIgJiYKKyAgICAgICAgICAgICAhKGFzeW5jX2VyciA9IFB5RXJyX0NoZWNrU2lnbmFscygpKSk7CiAgICAgRU5EX1NFTEVDVF9MT09QKHMpCiAKICAgICBpZiAoYnl0ZXNfcmVjZWl2ZWQgPCAwKSB7Ci0gICAgICAgIHMtPmVycm9yaGFuZGxlcigpOworICAgICAgICBpZiAoIWFzeW5jX2VycikKKyAgICAgICAgICAgIHMtPmVycm9yaGFuZGxlcigpOwogICAgICAgICBnb3RvIGZpbmFsbHk7CiAgICAgfQogCkBAIC0zMjMzLDYgKzMzMjEsNyBAQAogewogICAgIGNoYXIgKmJ1ZjsKICAgICBQeV9zc2l6ZV90IGxlbiwgbiA9IC0xOworICAgIGludCBhc3luY19lcnIgPSAwOwogICAgIGludCBmbGFncyA9IDAsIHRpbWVvdXQ7CiAgICAgUHlfYnVmZmVyIHBidWY7CiAKQEAgLTMyNDcsMTggKzMzMzYsMjAgQEAKICAgICBsZW4gPSBwYnVmLmxlbjsKIAogICAgIEJFR0lOX1NFTEVDVF9MT09QKHMpCi0gICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIHRpbWVvdXQgPSBpbnRlcm5hbF9zZWxlY3RfZXgocywgMSwgaW50ZXJ2YWwpOwotICAgIGlmICghdGltZW91dCkgeworICAgIGRvIHsKKyAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgICAgICB0aW1lb3V0ID0gaW50ZXJuYWxfc2VsZWN0X2V4KHMsIDEsIGludGVydmFsKTsKKyAgICAgICAgaWYgKCF0aW1lb3V0KSB7CiAjaWZkZWYgTVNfV0lORE9XUwotICAgICAgICBpZiAobGVuID4gSU5UX01BWCkKLSAgICAgICAgICAgIGxlbiA9IElOVF9NQVg7Ci0gICAgICAgIG4gPSBzZW5kKHMtPnNvY2tfZmQsIGJ1ZiwgKGludClsZW4sIGZsYWdzKTsKKyAgICAgICAgICAgIGlmIChsZW4gPiBJTlRfTUFYKQorICAgICAgICAgICAgICAgIGxlbiA9IElOVF9NQVg7CisgICAgICAgICAgICBuID0gc2VuZChzLT5zb2NrX2ZkLCBidWYsIChpbnQpbGVuLCBmbGFncyk7CiAjZWxzZQotICAgICAgICBuID0gc2VuZChzLT5zb2NrX2ZkLCBidWYsIGxlbiwgZmxhZ3MpOworICAgICAgICAgICAgbiA9IHNlbmQocy0+c29ja19mZCwgYnVmLCBsZW4sIGZsYWdzKTsKICNlbmRpZgotICAgIH0KLSAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgICAgICB9CisgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgfSB3aGlsZSAobiA8IDAgJiYgZXJybm8gPT0gRUlOVFIgJiYgIShhc3luY19lcnIgPSBQeUVycl9DaGVja1NpZ25hbHMoKSkpOwogICAgIGlmICh0aW1lb3V0ID09IDEpIHsKICAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmcGJ1Zik7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhzb2NrZXRfdGltZW91dCwgInRpbWVkIG91dCIpOwpAQCAtMzI2OCw3ICszMzU5LDcgQEAKIAogICAgIFB5QnVmZmVyX1JlbGVhc2UoJnBidWYpOwogICAgIGlmIChuIDwgMCkKLSAgICAgICAgcmV0dXJuIHMtPmVycm9yaGFuZGxlcigpOworICAgICAgICByZXR1cm4gKCFhc3luY19lcnIpID8gcy0+ZXJyb3JoYW5kbGVyKCkgOiBOVUxMOwogICAgIHJldHVybiBQeUxvbmdfRnJvbVNzaXplX3Qobik7CiB9CiAKQEAgLTMyODcsNyArMzM3OCw4IEBACiB7CiAgICAgY2hhciAqYnVmOwogICAgIFB5X3NzaXplX3QgbGVuLCBuID0gLTE7Ci0gICAgaW50IGZsYWdzID0gMCwgdGltZW91dCwgc2F2ZWRfZXJybm87CisgICAgaW50IGFzeW5jX2VyciA9IDA7CisgICAgaW50IGZsYWdzID0gMCwgdGltZW91dDsKICAgICBQeV9idWZmZXIgcGJ1ZjsKIAogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAieSp8aTpzZW5kYWxsIiwgJnBidWYsICZmbGFncykpCkBAIC0zMzE5LDI5ICszNDExLDE2IEBACiAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoc29ja2V0X3RpbWVvdXQsICJ0aW1lZCBvdXQiKTsKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICB9Ci0gICAgICAgIC8qIFB5RXJyX0NoZWNrU2lnbmFscygpIG1pZ2h0IGNoYW5nZSBlcnJubyAqLwotICAgICAgICBzYXZlZF9lcnJubyA9IGVycm5vOwotICAgICAgICAvKiBXZSBtdXN0IHJ1biBvdXIgc2lnbmFsIGhhbmRsZXJzIGJlZm9yZSBsb29waW5nIGFnYWluLgotICAgICAgICAgICBzZW5kKCkgY2FuIHJldHVybiBhIHN1Y2Nlc3NmdWwgcGFydGlhbCB3cml0ZSB3aGVuIGl0IGlzCi0gICAgICAgICAgIGludGVycnVwdGVkLCBzbyB3ZSBjYW4ndCByZXN0cmljdCBvdXJzZWx2ZXMgdG8gRUlOVFIuICovCi0gICAgICAgIGlmIChQeUVycl9DaGVja1NpZ25hbHMoKSkgewotICAgICAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmcGJ1Zik7Ci0gICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgaWYgKG4gPj0gMCkgeworICAgICAgICAgICAgYnVmICs9IG47CisgICAgICAgICAgICBsZW4gLT0gbjsKICAgICAgICAgfQotICAgICAgICBpZiAobiA8IDApIHsKLSAgICAgICAgICAgIC8qIElmIGludGVycnVwdGVkLCB0cnkgYWdhaW4gKi8KLSAgICAgICAgICAgIGlmIChzYXZlZF9lcnJubyA9PSBFSU5UUikKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBidWYgKz0gbjsKLSAgICAgICAgbGVuIC09IG47Ci0gICAgfSB3aGlsZSAobGVuID4gMCk7CisgICAgfSB3aGlsZSAobGVuID4gMCAmJiAobiA+PSAwIHx8IGVycm5vID09IEVJTlRSKSAmJgorICAgICAgICAgICAgICEoYXN5bmNfZXJyID0gUHlFcnJfQ2hlY2tTaWduYWxzKCkpKTsKICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZwYnVmKTsKIAotICAgIGlmIChuIDwgMCkKLSAgICAgICAgcmV0dXJuIHMtPmVycm9yaGFuZGxlcigpOworICAgIGlmIChuIDwgMCB8fCBhc3luY19lcnIpCisgICAgICAgIHJldHVybiAoIWFzeW5jX2VycikgPyBzLT5lcnJvcmhhbmRsZXIoKSA6IE5VTEw7CiAKICAgICBQeV9JTkNSRUYoUHlfTm9uZSk7CiAgICAgcmV0dXJuIFB5X05vbmU7CkBAIC0zMzY3LDYgKzM0NDYsNyBAQAogICAgIFB5X3NzaXplX3QgbGVuLCBhcmdsZW47CiAgICAgc29ja19hZGRyX3QgYWRkcmJ1ZjsKICAgICBpbnQgYWRkcmxlbiwgbiA9IC0xLCBmbGFncywgdGltZW91dDsKKyAgICBpbnQgYXN5bmNfZXJyID0gMDsKIAogICAgIGZsYWdzID0gMDsKICAgICBhcmdsZW4gPSBQeVR1cGxlX1NpemUoYXJncyk7CkBAIC0zNDAxLDIwICszNDgxLDIyIEBACiAgICAgfQogCiAgICAgQkVHSU5fU0VMRUNUX0xPT1AocykKLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgdGltZW91dCA9IGludGVybmFsX3NlbGVjdF9leChzLCAxLCBpbnRlcnZhbCk7Ci0gICAgaWYgKCF0aW1lb3V0KSB7CisgICAgZG8geworICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgICAgIHRpbWVvdXQgPSBpbnRlcm5hbF9zZWxlY3RfZXgocywgMSwgaW50ZXJ2YWwpOworICAgICAgICBpZiAoIXRpbWVvdXQpIHsKICNpZmRlZiBNU19XSU5ET1dTCi0gICAgICAgIGlmIChsZW4gPiBJTlRfTUFYKQotICAgICAgICAgICAgbGVuID0gSU5UX01BWDsKLSAgICAgICAgbiA9IHNlbmR0byhzLT5zb2NrX2ZkLCBidWYsIChpbnQpbGVuLCBmbGFncywKLSAgICAgICAgICAgICAgICAgICBTQVMyU0EoJmFkZHJidWYpLCBhZGRybGVuKTsKKyAgICAgICAgICAgIGlmIChsZW4gPiBJTlRfTUFYKQorICAgICAgICAgICAgICAgIGxlbiA9IElOVF9NQVg7CisgICAgICAgICAgICBuID0gc2VuZHRvKHMtPnNvY2tfZmQsIGJ1ZiwgKGludClsZW4sIGZsYWdzLAorICAgICAgICAgICAgICAgICAgICAgICBTQVMyU0EoJmFkZHJidWYpLCBhZGRybGVuKTsKICNlbHNlCi0gICAgICAgIG4gPSBzZW5kdG8ocy0+c29ja19mZCwgYnVmLCBsZW4sIGZsYWdzLAotICAgICAgICAgICAgICAgICAgIFNBUzJTQSgmYWRkcmJ1ZiksIGFkZHJsZW4pOworICAgICAgICAgICAgbiA9IHNlbmR0byhzLT5zb2NrX2ZkLCBidWYsIGxlbiwgZmxhZ3MsCisgICAgICAgICAgICAgICAgICAgICAgIFNBUzJTQSgmYWRkcmJ1ZiksIGFkZHJsZW4pOwogI2VuZGlmCi0gICAgfQotICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgICAgIH0KKyAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICB9IHdoaWxlIChuIDwgMCAmJiBlcnJubyA9PSBFSU5UUiAmJiAhKGFzeW5jX2VyciA9IFB5RXJyX0NoZWNrU2lnbmFscygpKSk7CiAKICAgICBpZiAodGltZW91dCA9PSAxKSB7CiAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJnBidWYpOwpAQCAtMzQyNCw3ICszNTA2LDcgQEAKICAgICBFTkRfU0VMRUNUX0xPT1AocykKICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZwYnVmKTsKICAgICBpZiAobiA8IDApCi0gICAgICAgIHJldHVybiBzLT5lcnJvcmhhbmRsZXIoKTsKKyAgICAgICAgcmV0dXJuICghYXN5bmNfZXJyKSA/IHMtPmVycm9yaGFuZGxlcigpIDogTlVMTDsKICAgICByZXR1cm4gUHlMb25nX0Zyb21Tc2l6ZV90KG4pOwogfQogCkBAIC0zNDU2LDYgKzM1MzgsNyBAQAogICAgIHZvaWQgKmNvbnRyb2xidWYgPSBOVUxMOwogICAgIHNpemVfdCBjb250cm9sbGVuLCBjb250cm9sbGVuX2xhc3Q7CiAgICAgc3NpemVfdCBieXRlc19zZW50ID0gLTE7CisgICAgaW50IGFzeW5jX2VyciA9IDA7CiAgICAgaW50IGFkZHJsZW4sIHRpbWVvdXQsIGZsYWdzID0gMDsKICAgICBQeU9iamVjdCAqZGF0YV9hcmcsICpjbXNnX2FyZyA9IE5VTEwsICphZGRyX2FyZyA9IE5VTEwsICpkYXRhX2Zhc3QgPSBOVUxMLAogICAgICAgICAqY21zZ19mYXN0ID0gTlVMTCwgKnJldHZhbCA9IE5VTEw7CkBAIC0zNjEzLDE5ICszNjk2LDIzIEBACiAgICAgfQogCiAgICAgQkVHSU5fU0VMRUNUX0xPT1AocykKLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTOwotICAgIHRpbWVvdXQgPSBpbnRlcm5hbF9zZWxlY3RfZXgocywgMSwgaW50ZXJ2YWwpOwotICAgIGlmICghdGltZW91dCkKLSAgICAgICAgYnl0ZXNfc2VudCA9IHNlbmRtc2cocy0+c29ja19mZCwgJm1zZywgZmxhZ3MpOwotICAgIFB5X0VORF9BTExPV19USFJFQURTOwotICAgIGlmICh0aW1lb3V0ID09IDEpIHsKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKHNvY2tldF90aW1lb3V0LCAidGltZWQgb3V0Iik7Ci0gICAgICAgIGdvdG8gZmluYWxseTsKLSAgICB9CisgICAgZG8geworICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTOworICAgICAgICB0aW1lb3V0ID0gaW50ZXJuYWxfc2VsZWN0X2V4KHMsIDEsIGludGVydmFsKTsKKyAgICAgICAgaWYgKCF0aW1lb3V0KQorICAgICAgICAgICAgYnl0ZXNfc2VudCA9IHNlbmRtc2cocy0+c29ja19mZCwgJm1zZywgZmxhZ3MpOworICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUzsKKyAgICAgICAgaWYgKHRpbWVvdXQgPT0gMSkgeworICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKHNvY2tldF90aW1lb3V0LCAidGltZWQgb3V0Iik7CisgICAgICAgICAgICBnb3RvIGZpbmFsbHk7CisgICAgICAgIH0KKyAgICB9IHdoaWxlIChieXRlc19zZW50IDwgMCAmJiBlcnJubyA9PSBFSU5UUiAmJgorICAgICAgICAgICAgICEoYXN5bmNfZXJyID0gUHlFcnJfQ2hlY2tTaWduYWxzKCkpKTsKICAgICBFTkRfU0VMRUNUX0xPT1AocykKIAogICAgIGlmIChieXRlc19zZW50IDwgMCkgewotICAgICAgICBzLT5lcnJvcmhhbmRsZXIoKTsKKyAgICAgICAgaWYgKCFhc3luY19lcnIpCisgICAgICAgICAgICBzLT5lcnJvcmhhbmRsZXIoKTsKICAgICAgICAgZ290byBmaW5hbGx5OwogICAgIH0KICAgICByZXR2YWwgPSBQeUxvbmdfRnJvbVNzaXplX3QoYnl0ZXNfc2VudCk7CkBAIC0zNzk1LDcgKzM4ODIsNyBAQAogICAgIHsic2hhcmUiLCAgICAgICAgIChQeUNGdW5jdGlvbilzb2NrX3NoYXJlLCBNRVRIX1ZBUkFSR1MsCiAgICAgICAgICAgICAgICAgICAgICAgc29ja19zaGFyZV9kb2N9LAogI2VuZGlmCi0gICAgeyJsaXN0ZW4iLCAgICAgICAgICAgIChQeUNGdW5jdGlvbilzb2NrX2xpc3RlbiwgTUVUSF9PLAorICAgIHsibGlzdGVuIiwgICAgICAgICAgICAoUHlDRnVuY3Rpb24pc29ja19saXN0ZW4sIE1FVEhfVkFSQVJHUywKICAgICAgICAgICAgICAgICAgICAgICBsaXN0ZW5fZG9jfSwKICAgICB7InJlY3YiLCAgICAgICAgICAgICAgKFB5Q0Z1bmN0aW9uKXNvY2tfcmVjdiwgTUVUSF9WQVJBUkdTLAogICAgICAgICAgICAgICAgICAgICAgIHJlY3ZfZG9jfSwKQEAgLTQyMjQsNyArNDMxMSw3IEBACiAvKiBDb252ZW5pZW5jZSBmdW5jdGlvbiBjb21tb24gdG8gZ2V0aG9zdGJ5bmFtZV9leCBhbmQgZ2V0aG9zdGJ5YWRkciAqLwogCiBzdGF0aWMgUHlPYmplY3QgKgotZ2V0aG9zdF9jb21tb24oc3RydWN0IGhvc3RlbnQgKmgsIHN0cnVjdCBzb2NrYWRkciAqYWRkciwgaW50IGFsZW4sIGludCBhZikKK2dldGhvc3RfY29tbW9uKHN0cnVjdCBob3N0ZW50ICpoLCBzdHJ1Y3Qgc29ja2FkZHIgKmFkZHIsIHNpemVfdCBhbGVuLCBpbnQgYWYpCiB7CiAgICAgY2hhciAqKnBjaDsKICAgICBQeU9iamVjdCAqcnRuX3R1cGxlID0gKFB5T2JqZWN0ICopTlVMTDsKQEAgLTU3NzgsMTEgKzU4NjUsMTUgQEAKIAogI2lmZGVmIE1TX1dJTkRPV1MKICAgICBpZiAoc3VwcG9ydF93c2Ffbm9faW5oZXJpdCA9PSAtMSkgeworI2lmIGRlZmluZWQoX01TQ19WRVIpICYmIF9NU0NfVkVSID49IDE4MDAKKyAgICAgICAgc3VwcG9ydF93c2Ffbm9faW5oZXJpdCA9IElzV2luZG93czdTUDFPckdyZWF0ZXIoKTsKKyNlbHNlCiAgICAgICAgIERXT1JEIHZlcnNpb24gPSBHZXRWZXJzaW9uKCk7CiAgICAgICAgIERXT1JEIG1ham9yID0gKERXT1JEKUxPQllURShMT1dPUkQodmVyc2lvbikpOwogICAgICAgICBEV09SRCBtaW5vciA9IChEV09SRClISUJZVEUoTE9XT1JEKHZlcnNpb24pKTsKICAgICAgICAgLyogbmVlZCBXaW5kb3dzIDcgU1AxLCAyMDA4IFIyIFNQMSBvciBsYXRlciAqLwotICAgICAgICBzdXBwb3J0X3dzYV9ub19pbmhlcml0ID0gKG1ham9yID49IDYgJiYgbWlub3IgPj0gMSk7CisgICAgICAgIHN1cHBvcnRfd3NhX25vX2luaGVyaXQgPSBtYWpvciA+IDYgfHwgKG1ham9yID09IDYgJiYgbWlub3IgPj0gMSk7CisjZW5kaWYKICAgICB9CiAjZW5kaWYKIApAQCAtNjE4MSw2ICs2MjcyLDkgQEAKICNpZmRlZiAgU09fUFJJT1JJVFkKICAgICBQeU1vZHVsZV9BZGRJbnRNYWNybyhtLCBTT19QUklPUklUWSk7CiAjZW5kaWYKKyNpZmRlZiAgU09fTUFSSworICAgIFB5TW9kdWxlX0FkZEludE1hY3JvKG0sIFNPX01BUkspOworI2VuZGlmCiAKICAgICAvKiBNYXhpbXVtIG51bWJlciBvZiBjb25uZWN0aW9ucyBmb3IgImxpc3RlbiIgKi8KICNpZmRlZiAgU09NQVhDT05OCmRpZmYgLS1naXQgYS9Nb2R1bGVzL3Nwd2Rtb2R1bGUuYyBiL01vZHVsZXMvc3B3ZG1vZHVsZS5jCmluZGV4IDY4ZWExYjUuLjAxM2NiMTEgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvc3B3ZG1vZHVsZS5jCisrKyBiL01vZHVsZXMvc3B3ZG1vZHVsZS5jCkBAIC0xMCw2ICsxMCwxMyBAQAogI2luY2x1ZGUgPHNoYWRvdy5oPgogI2VuZGlmCiAKKyNpbmNsdWRlICJjbGluaWMvc3B3ZG1vZHVsZS5jLmgiCisKKy8qW2NsaW5pYyBpbnB1dF0KK291dHB1dCBwcmVzZXQgZmlsZQorbW9kdWxlIHNwd2QKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kYTM5YTNlZTVlNmI0YjBkIGlucHV0PWIzNDY0YTM2NjcyNzhmYWVdKi8KIAogUHlEb2NfU1RSVkFSKHNwd2RfX2RvY19fLAogIlRoaXMgbW9kdWxlIHByb3ZpZGVzIGFjY2VzcyB0byB0aGUgVW5peCBzaGFkb3cgcGFzc3dvcmQgZGF0YWJhc2UuXG5cCkBAIC0xMDcsMjAgKzExNCwyNSBAQAogCiAjaWZkZWYgSEFWRV9HRVRTUE5BTQogCi1QeURvY19TVFJWQVIoc3B3ZF9nZXRzcG5hbV9fZG9jX18sCi0iZ2V0c3BuYW0obmFtZSkgLT4gKHNwX25hbXAsIHNwX3B3ZHAsIHNwX2xzdGNoZywgc3BfbWluLCBzcF9tYXgsXG5cCi0gICAgICAgICAgICAgICAgICAgIHNwX3dhcm4sIHNwX2luYWN0LCBzcF9leHBpcmUsIHNwX2ZsYWcpXG5cCi1SZXR1cm4gdGhlIHNoYWRvdyBwYXNzd29yZCBkYXRhYmFzZSBlbnRyeSBmb3IgdGhlIGdpdmVuIHVzZXIgbmFtZS5cblwKLVNlZSBzcHdkLl9fZG9jX18gZm9yIG1vcmUgb24gc2hhZG93IHBhc3N3b3JkIGRhdGFiYXNlIGVudHJpZXMuIik7CisvKltjbGluaWMgaW5wdXRdCitzcHdkLmdldHNwbmFtCiAKLXN0YXRpYyBQeU9iamVjdCogc3B3ZF9nZXRzcG5hbShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCisgICAgYXJnOiB1bmljb2RlCisgICAgLworCitSZXR1cm4gdGhlIHNoYWRvdyBwYXNzd29yZCBkYXRhYmFzZSBlbnRyeSBmb3IgdGhlIGdpdmVuIHVzZXIgbmFtZS4KKworU2VlIGBoZWxwKHNwd2QpYCBmb3IgbW9yZSBvbiBzaGFkb3cgcGFzc3dvcmQgZGF0YWJhc2UgZW50cmllcy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworc3RhdGljIFB5T2JqZWN0ICoKK3Nwd2RfZ2V0c3BuYW1faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJnKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTlmNmJiZTUxYTRlYjNiMjEgaW5wdXQ9ZGQ4OTQyOWU2MTY3YTAwZl0qLwogewogICAgIGNoYXIgKm5hbWU7CiAgICAgc3RydWN0IHNwd2QgKnA7Ci0gICAgUHlPYmplY3QgKmFyZywgKmJ5dGVzLCAqcmV0dmFsID0gTlVMTDsKKyAgICBQeU9iamVjdCAqYnl0ZXMsICpyZXR2YWwgPSBOVUxMOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJVOmdldHNwbmFtIiwgJmFyZykpCi0gICAgICAgIHJldHVybiBOVUxMOwogICAgIGlmICgoYnl0ZXMgPSBQeVVuaWNvZGVfRW5jb2RlRlNEZWZhdWx0KGFyZykpID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIGlmIChQeUJ5dGVzX0FzU3RyaW5nQW5kU2l6ZShieXRlcywgJm5hbWUsIE5VTEwpID09IC0xKQpAQCAtMTM5LDE0ICsxNTEsMTcgQEAKIAogI2lmZGVmIEhBVkVfR0VUU1BFTlQKIAotUHlEb2NfU1RSVkFSKHNwd2RfZ2V0c3BhbGxfX2RvY19fLAotImdldHNwYWxsKCkgLT4gbGlzdF9vZl9lbnRyaWVzXG5cCi1SZXR1cm4gYSBsaXN0IG9mIGFsbCBhdmFpbGFibGUgc2hhZG93IHBhc3N3b3JkIGRhdGFiYXNlIGVudHJpZXMsIFwKLWluIGFyYml0cmFyeSBvcmRlci5cblwKLVNlZSBzcHdkLl9fZG9jX18gZm9yIG1vcmUgb24gc2hhZG93IHBhc3N3b3JkIGRhdGFiYXNlIGVudHJpZXMuIik7CisvKltjbGluaWMgaW5wdXRdCitzcHdkLmdldHNwYWxsCisKK1JldHVybiBhIGxpc3Qgb2YgYWxsIGF2YWlsYWJsZSBzaGFkb3cgcGFzc3dvcmQgZGF0YWJhc2UgZW50cmllcywgaW4gYXJiaXRyYXJ5IG9yZGVyLgorCitTZWUgYGhlbHAoc3B3ZClgIGZvciBtb3JlIG9uIHNoYWRvdyBwYXNzd29yZCBkYXRhYmFzZSBlbnRyaWVzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwogCiBzdGF0aWMgUHlPYmplY3QgKgotc3B3ZF9nZXRzcGFsbChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitzcHdkX2dldHNwYWxsX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1iMTJkOGVjN2JkYjI5NjEyIGlucHV0PWIyYzg0Yjc4NTdkNjIyYmRdKi8KIHsKICAgICBQeU9iamVjdCAqZDsKICAgICBzdHJ1Y3Qgc3B3ZCAqcDsKQEAgLTE3MSwxMCArMTg2LDEwIEBACiAKIHN0YXRpYyBQeU1ldGhvZERlZiBzcHdkX21ldGhvZHNbXSA9IHsKICNpZmRlZiBIQVZFX0dFVFNQTkFNCi0gICAgeyJnZXRzcG5hbSIsICAgICAgICBzcHdkX2dldHNwbmFtLCBNRVRIX1ZBUkFSR1MsIHNwd2RfZ2V0c3BuYW1fX2RvY19ffSwKKyAgICBTUFdEX0dFVFNQTkFNX01FVEhPRERFRgogI2VuZGlmCiAjaWZkZWYgSEFWRV9HRVRTUEVOVAotICAgIHsiZ2V0c3BhbGwiLCAgICAgICAgc3B3ZF9nZXRzcGFsbCwgTUVUSF9OT0FSR1MsIHNwd2RfZ2V0c3BhbGxfX2RvY19ffSwKKyAgICBTUFdEX0dFVFNQQUxMX01FVEhPRERFRgogI2VuZGlmCiAgICAge05VTEwsICAgICAgICAgICAgICBOVUxMfSAgICAgICAgICAgLyogc2VudGluZWwgKi8KIH07CmRpZmYgLS1naXQgYS9Nb2R1bGVzL3NyZS5oIGIvTW9kdWxlcy9zcmUuaAppbmRleCA0MmZlMjhkLi5iNjMyMTY1IDEwMDY0NAotLS0gYS9Nb2R1bGVzL3NyZS5oCisrKyBiL01vZHVsZXMvc3JlLmgKQEAgLTE4LDggKzE4LDEwIEBACiAjZGVmaW5lIFNSRV9DT0RFIFB5X1VDUzQKICNpZiBTSVpFT0ZfU0laRV9UID4gNAogIyBkZWZpbmUgU1JFX01BWFJFUEVBVCAofihTUkVfQ09ERSkwKQorIyBkZWZpbmUgU1JFX01BWEdST1VQUyAoKH4oU1JFX0NPREUpMCkgLyAyKQogI2Vsc2UKICMgZGVmaW5lIFNSRV9NQVhSRVBFQVQgKChTUkVfQ09ERSlQWV9TU0laRV9UX01BWCkKKyMgZGVmaW5lIFNSRV9NQVhHUk9VUFMgKChTUkVfQ09ERSlQWV9TU0laRV9UX01BWCAvIFNJWkVPRl9TSVpFX1QgLyAyKQogI2VuZGlmCiAKIHR5cGVkZWYgc3RydWN0IHsKQEAgLTUyLDkgKzU0LDYgQEAKIAogdHlwZWRlZiB1bnNpZ25lZCBpbnQgKCpTUkVfVE9MT1dFUl9IT09LKSh1bnNpZ25lZCBpbnQgY2gpOwogCi0vKiBGSVhNRTogPGZsPiBzaG91bGRuJ3QgYmUgYSBjb25zdGFudCwgcmVhbGx5Li4uICovCi0jZGVmaW5lIFNSRV9NQVJLX1NJWkUgMjAwCi0KIHR5cGVkZWYgc3RydWN0IFNSRV9SRVBFQVRfVCB7CiAgICAgUHlfc3NpemVfdCBjb3VudDsKICAgICBTUkVfQ09ERSogcGF0dGVybjsgLyogcG9pbnRzIHRvIFJFUEVBVCBvcGVyYXRvciBhcmd1bWVudHMgKi8KQEAgLTc2LDcgKzc1LDcgQEAKICAgICAvKiByZWdpc3RlcnMgKi8KICAgICBQeV9zc2l6ZV90IGxhc3RpbmRleDsKICAgICBQeV9zc2l6ZV90IGxhc3RtYXJrOwotICAgIHZvaWQqIG1hcmtbU1JFX01BUktfU0laRV07CisgICAgdm9pZCoqIG1hcms7CiAgICAgLyogZHluYW1pY2FsbHkgYWxsb2NhdGVkIHN0dWZmICovCiAgICAgY2hhciogZGF0YV9zdGFjazsKICAgICBzaXplX3QgZGF0YV9zdGFja19zaXplOwpAQCAtODUsNyArODQsNyBAQAogICAgIC8qIGN1cnJlbnQgcmVwZWF0IGNvbnRleHQgKi8KICAgICBTUkVfUkVQRUFUICpyZXBlYXQ7CiAgICAgLyogaG9va3MgKi8KLSAgICBTUkVfVE9MT1dFUl9IT09LIGxvd2VyOworICAgIFNSRV9UT0xPV0VSX0hPT0sgbG93ZXIsIHVwcGVyOwogfSBTUkVfU1RBVEU7CiAKIHR5cGVkZWYgc3RydWN0IHsKZGlmZiAtLWdpdCBhL01vZHVsZXMvc3JlX2NvbnN0YW50cy5oIGIvTW9kdWxlcy9zcmVfY29uc3RhbnRzLmgKaW5kZXggNTk0MGQ1YS4uNjYzMjQ0MiAxMDA2NDQKLS0tIGEvTW9kdWxlcy9zcmVfY29uc3RhbnRzLmgKKysrIGIvTW9kdWxlcy9zcmVfY29uc3RhbnRzLmgKQEAgLTExLDcgKzExLDcgQEAKICAqIFNlZSB0aGUgX3NyZS5jIGZpbGUgZm9yIGluZm9ybWF0aW9uIG9uIHVzYWdlIGFuZCByZWRpc3RyaWJ1dGlvbi4KICAqLwogCi0jZGVmaW5lIFNSRV9NQUdJQyAyMDAzMTAxNworI2RlZmluZSBTUkVfTUFHSUMgMjAxNDA5MTcKICNkZWZpbmUgU1JFX09QX0ZBSUxVUkUgMAogI2RlZmluZSBTUkVfT1BfU1VDQ0VTUyAxCiAjZGVmaW5lIFNSRV9PUF9BTlkgMgpAQCAtNDQsNiArNDQsNyBAQAogI2RlZmluZSBTUkVfT1BfUkVQRUFUX09ORSAyOQogI2RlZmluZSBTUkVfT1BfU1VCUEFUVEVSTiAzMAogI2RlZmluZSBTUkVfT1BfTUlOX1JFUEVBVF9PTkUgMzEKKyNkZWZpbmUgU1JFX09QX1JBTkdFX0lHTk9SRSAzMgogI2RlZmluZSBTUkVfQVRfQkVHSU5OSU5HIDAKICNkZWZpbmUgU1JFX0FUX0JFR0lOTklOR19MSU5FIDEKICNkZWZpbmUgU1JFX0FUX0JFR0lOTklOR19TVFJJTkcgMgpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9zcmVfbGliLmggYi9Nb2R1bGVzL3NyZV9saWIuaAppbmRleCA1YzZjNWE1Li40NjNhOTA4IDEwMDY0NAotLS0gYS9Nb2R1bGVzL3NyZV9saWIuaAorKysgYi9Nb2R1bGVzL3NyZV9saWIuaApAQCAtMTAxLDcgKzEwMSw3IEBACiB9CiAKIExPQ0FMKGludCkKLVNSRShjaGFyc2V0KShTUkVfQ09ERSogc2V0LCBTUkVfQ09ERSBjaCkKK1NSRShjaGFyc2V0KShTUkVfU1RBVEUqIHN0YXRlLCBTUkVfQ09ERSogc2V0LCBTUkVfQ09ERSBjaCkKIHsKICAgICAvKiBjaGVjayBpZiBjaGFyYWN0ZXIgaXMgYSBtZW1iZXIgb2YgdGhlIGdpdmVuIHNldCAqLwogCkBAIC0xNDIsNiArMTQyLDIwIEBACiAgICAgICAgICAgICBzZXQgKz0gMjsKICAgICAgICAgICAgIGJyZWFrOwogCisgICAgICAgIGNhc2UgU1JFX09QX1JBTkdFX0lHTk9SRToKKyAgICAgICAgICAgIC8qIDxSQU5HRV9JR05PUkU+IDxsb3dlcj4gPHVwcGVyPiAqLworICAgICAgICB7CisgICAgICAgICAgICBTUkVfQ09ERSB1Y2g7CisgICAgICAgICAgICAvKiBjaCBpcyBhbHJlYWR5IGxvd2VyIGNhc2VkICovCisgICAgICAgICAgICBpZiAoc2V0WzBdIDw9IGNoICYmIGNoIDw9IHNldFsxXSkKKyAgICAgICAgICAgICAgICByZXR1cm4gb2s7CisgICAgICAgICAgICB1Y2ggPSBzdGF0ZS0+dXBwZXIoY2gpOworICAgICAgICAgICAgaWYgKHNldFswXSA8PSB1Y2ggJiYgdWNoIDw9IHNldFsxXSkKKyAgICAgICAgICAgICAgICByZXR1cm4gb2s7CisgICAgICAgICAgICBzZXQgKz0gMjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKICAgICAgICAgY2FzZSBTUkVfT1BfTkVHQVRFOgogICAgICAgICAgICAgb2sgPSAhb2s7CiAgICAgICAgICAgICBicmVhazsKQEAgLTE5Myw3ICsyMDcsNyBAQAogICAgIGNhc2UgU1JFX09QX0lOOgogICAgICAgICAvKiByZXBlYXRlZCBzZXQgKi8KICAgICAgICAgVFJBQ0UoKCJ8JXB8JXB8Q09VTlQgSU5cbiIsIHBhdHRlcm4sIHB0cikpOwotICAgICAgICB3aGlsZSAocHRyIDwgZW5kICYmIFNSRShjaGFyc2V0KShwYXR0ZXJuICsgMiwgKnB0cikpCisgICAgICAgIHdoaWxlIChwdHIgPCBlbmQgJiYgU1JFKGNoYXJzZXQpKHN0YXRlLCBwYXR0ZXJuICsgMiwgKnB0cikpCiAgICAgICAgICAgICBwdHIrKzsKICAgICAgICAgYnJlYWs7CiAKQEAgLTYyOCw3ICs2NDIsOCBAQAogICAgICAgICAgICAgLyogbWF0Y2ggc2V0IG1lbWJlciAob3Igbm9uX21lbWJlcikgKi8KICAgICAgICAgICAgIC8qIDxJTj4gPHNraXA+IDxzZXQ+ICovCiAgICAgICAgICAgICBUUkFDRSgoInwlcHwlcHxJTlxuIiwgY3R4LT5wYXR0ZXJuLCBjdHgtPnB0cikpOwotICAgICAgICAgICAgaWYgKGN0eC0+cHRyID49IGVuZCB8fCAhU1JFKGNoYXJzZXQpKGN0eC0+cGF0dGVybiArIDEsICpjdHgtPnB0cikpCisgICAgICAgICAgICBpZiAoY3R4LT5wdHIgPj0gZW5kIHx8CisgICAgICAgICAgICAgICAgIVNSRShjaGFyc2V0KShzdGF0ZSwgY3R4LT5wYXR0ZXJuICsgMSwgKmN0eC0+cHRyKSkKICAgICAgICAgICAgICAgICBSRVRVUk5fRkFJTFVSRTsKICAgICAgICAgICAgIGN0eC0+cGF0dGVybiArPSBjdHgtPnBhdHRlcm5bMF07CiAgICAgICAgICAgICBjdHgtPnB0cisrOwpAQCAtNjU3LDcgKzY3Miw3IEBACiAgICAgICAgIGNhc2UgU1JFX09QX0lOX0lHTk9SRToKICAgICAgICAgICAgIFRSQUNFKCgifCVwfCVwfElOX0lHTk9SRVxuIiwgY3R4LT5wYXR0ZXJuLCBjdHgtPnB0cikpOwogICAgICAgICAgICAgaWYgKGN0eC0+cHRyID49IGVuZAotICAgICAgICAgICAgICAgIHx8ICFTUkUoY2hhcnNldCkoY3R4LT5wYXR0ZXJuKzEsCisgICAgICAgICAgICAgICAgfHwgIVNSRShjaGFyc2V0KShzdGF0ZSwgY3R4LT5wYXR0ZXJuKzEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoU1JFX0NPREUpc3RhdGUtPmxvd2VyKCpjdHgtPnB0cikpKQogICAgICAgICAgICAgICAgIFJFVFVSTl9GQUlMVVJFOwogICAgICAgICAgICAgY3R4LT5wYXR0ZXJuICs9IGN0eC0+cGF0dGVyblswXTsKQEAgLTY4OCw3ICs3MDMsOCBAQAogICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgICBpZiAoY3R4LT5wYXR0ZXJuWzFdID09IFNSRV9PUF9JTiAmJgogICAgICAgICAgICAgICAgICAgICAoY3R4LT5wdHIgPj0gZW5kIHx8Ci0gICAgICAgICAgICAgICAgICAgICAhU1JFKGNoYXJzZXQpKGN0eC0+cGF0dGVybiArIDMsIChTUkVfQ09ERSkgKmN0eC0+cHRyKSkpCisgICAgICAgICAgICAgICAgICAgICAhU1JFKGNoYXJzZXQpKHN0YXRlLCBjdHgtPnBhdHRlcm4gKyAzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoU1JFX0NPREUpICpjdHgtPnB0cikpKQogICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgICBzdGF0ZS0+cHRyID0gY3R4LT5wdHI7CiAgICAgICAgICAgICAgICAgRE9fSlVNUChKVU1QX0JSQU5DSCwganVtcF9icmFuY2gsIGN0eC0+cGF0dGVybisxKTsKQEAgLTEzMTAsNyArMTMyNiw3IEBACiAgICAgICAgIC8qIHBhdHRlcm4gc3RhcnRzIHdpdGggYSBjaGFyYWN0ZXIgZnJvbSBhIGtub3duIHNldCAqLwogICAgICAgICBlbmQgPSAoU1JFX0NIQVIgKilzdGF0ZS0+ZW5kOwogICAgICAgICBmb3IgKDs7KSB7Ci0gICAgICAgICAgICB3aGlsZSAocHRyIDwgZW5kICYmICFTUkUoY2hhcnNldCkoY2hhcnNldCwgKnB0cikpCisgICAgICAgICAgICB3aGlsZSAocHRyIDwgZW5kICYmICFTUkUoY2hhcnNldCkoc3RhdGUsIGNoYXJzZXQsICpwdHIpKQogICAgICAgICAgICAgICAgIHB0cisrOwogICAgICAgICAgICAgaWYgKHB0ciA+PSBlbmQpCiAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL3RpbWVtb2R1bGUuYyBiL01vZHVsZXMvdGltZW1vZHVsZS5jCmluZGV4IGQwOTE3YTQuLjdmNWYzMTQgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvdGltZW1vZHVsZS5jCisrKyBiL01vZHVsZXMvdGltZW1vZHVsZS5jCkBAIC0yNywyOCArMjcsMTMgQEAKICNkZWZpbmUgV0lOMzJfTEVBTl9BTkRfTUVBTgogI2luY2x1ZGUgPHdpbmRvd3MuaD4KICNpbmNsdWRlICJweXRocmVhZC5oIgotCi0jaWYgZGVmaW5lZChfX0JPUkxBTkRDX18pCi0vKiBUaGVzZSBvdmVycmlkZXMgbm90IG5lZWRlZCBmb3IgV2luMzIgKi8KLSNkZWZpbmUgdGltZXpvbmUgX3RpbWV6b25lCi0jZGVmaW5lIHR6bmFtZSBfdHpuYW1lCi0jZGVmaW5lIGRheWxpZ2h0IF9kYXlsaWdodAotI2VuZGlmIC8qIF9fQk9STEFORENfXyAqLwogI2VuZGlmIC8qIE1TX1dJTkRPV1MgKi8KICNlbmRpZiAvKiAhX19XQVRDT01DX18gfHwgX19RTlhfXyAqLwogCi0jaWYgZGVmaW5lZChfX0FQUExFX18pCi0jaW5jbHVkZSA8bWFjaC9tYWNoX3RpbWUuaD4KLSNlbmRpZgotCiAvKiBGb3J3YXJkIGRlY2xhcmF0aW9ucyAqLwogc3RhdGljIGludCBmbG9hdHNsZWVwKGRvdWJsZSk7CiBzdGF0aWMgUHlPYmplY3QqIGZsb2F0dGltZShfUHlfY2xvY2tfaW5mb190ICppbmZvKTsKIAotI2lmZGVmIE1TX1dJTkRPV1MKLXN0YXRpYyBPU1ZFUlNJT05JTkZPRVggd2ludmVyOwotI2VuZGlmCi0KIHN0YXRpYyBQeU9iamVjdCAqCiB0aW1lX3RpbWUoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp1bnVzZWQpCiB7CkBAIC05MiwxMiArNzcsMTIgQEAKIH0KICNlbmRpZiAvKiBIQVZFX0NMT0NLICovCiAKLSNpZiBkZWZpbmVkKE1TX1dJTkRPV1MpICYmICFkZWZpbmVkKF9fQk9STEFORENfXykKKyNpZmRlZiBNU19XSU5ET1dTCiAjZGVmaW5lIFdJTjMyX1BFUkZfQ09VTlRFUgogLyogV2luMzIgaGFzIGJldHRlciBjbG9jayByZXBsYWNlbWVudDsgd2UgaGF2ZSBvdXIgb3duIHZlcnNpb24sIGR1ZSB0byBNYXJrCiAgICBIYW1tb25kIGFuZCBUaW0gUGV0ZXJzICovCi1zdGF0aWMgaW50Ci13aW5fcGVyZl9jb3VudGVyKF9QeV9jbG9ja19pbmZvX3QgKmluZm8sIFB5T2JqZWN0ICoqcmVzdWx0KQorc3RhdGljIFB5T2JqZWN0Kgord2luX3BlcmZfY291bnRlcihfUHlfY2xvY2tfaW5mb190ICppbmZvKQogewogICAgIHN0YXRpYyBMT05HTE9ORyBjcHVfZnJlcXVlbmN5ID0gMDsKICAgICBzdGF0aWMgTE9OR0xPTkcgY3RyU3RhcnQ7CkBAIC0xMDksMTAgKzk0LDggQEAKICAgICAgICAgUXVlcnlQZXJmb3JtYW5jZUNvdW50ZXIoJm5vdyk7CiAgICAgICAgIGN0clN0YXJ0ID0gbm93LlF1YWRQYXJ0OwogICAgICAgICBpZiAoIVF1ZXJ5UGVyZm9ybWFuY2VGcmVxdWVuY3koJmZyZXEpIHx8IGZyZXEuUXVhZFBhcnQgPT0gMCkgewotICAgICAgICAgICAgLyogVW5saWtlbHkgdG8gaGFwcGVuIC0gdGhpcyB3b3JrcyBvbiBhbGwgaW50ZWwKLSAgICAgICAgICAgICAgIG1hY2hpbmVzIGF0IGxlYXN0ISAgUmV2ZXJ0IHRvIGNsb2NrKCkgKi8KLSAgICAgICAgICAgICpyZXN1bHQgPSBOVUxMOwotICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgUHlFcnJfU2V0RnJvbVdpbmRvd3NFcnIoMCk7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgfQogICAgICAgICBjcHVfZnJlcXVlbmN5ID0gZnJlcS5RdWFkUGFydDsKICAgICB9CkBAIC0xMjQsMTAgKzEwNyw5IEBACiAgICAgICAgIGluZm8tPm1vbm90b25pYyA9IDE7CiAgICAgICAgIGluZm8tPmFkanVzdGFibGUgPSAwOwogICAgIH0KLSAgICAqcmVzdWx0ID0gUHlGbG9hdF9Gcm9tRG91YmxlKGRpZmYgLyAoZG91YmxlKWNwdV9mcmVxdWVuY3kpOwotICAgIHJldHVybiAwOworICAgIHJldHVybiBQeUZsb2F0X0Zyb21Eb3VibGUoZGlmZiAvIChkb3VibGUpY3B1X2ZyZXF1ZW5jeSk7CiB9Ci0jZW5kaWYKKyNlbmRpZiAgIC8qIE1TX1dJTkRPV1MgKi8KIAogI2lmIGRlZmluZWQoV0lOMzJfUEVSRl9DT1VOVEVSKSB8fCBkZWZpbmVkKEhBVkVfQ0xPQ0spCiAjZGVmaW5lIFBZQ0xPQ0sKQEAgLTEzNSwxMSArMTE3LDEwIEBACiBweWNsb2NrKF9QeV9jbG9ja19pbmZvX3QgKmluZm8pCiB7CiAjaWZkZWYgV0lOMzJfUEVSRl9DT1VOVEVSCi0gICAgUHlPYmplY3QgKnJlczsKLSAgICBpZiAod2luX3BlcmZfY291bnRlcihpbmZvLCAmcmVzKSA9PSAwKQotICAgICAgICByZXR1cm4gcmVzOwotI2VuZGlmCisgICAgcmV0dXJuIHdpbl9wZXJmX2NvdW50ZXIoaW5mbyk7CisjZWxzZQogICAgIHJldHVybiBmbG9hdGNsb2NrKGluZm8pOworI2VuZGlmCiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCkBAIC0xNjksNyArMTUwLDcgQEAKIAogICAgIHJldCA9IGNsb2NrX2dldHRpbWUoKGNsb2NraWRfdCljbGtfaWQsICZ0cCk7CiAgICAgaWYgKHJldCAhPSAwKSB7Ci0gICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19JT0Vycm9yKTsKKyAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX09TRXJyb3IpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAgICAgcmV0dXJuIFB5RmxvYXRfRnJvbURvdWJsZSh0cC50dl9zZWMgKyB0cC50dl9uc2VjICogMWUtOSk7CkBAIC0yMDAsNyArMTgxLDcgQEAKIAogICAgIHJldCA9IGNsb2NrX3NldHRpbWUoKGNsb2NraWRfdCljbGtfaWQsICZ0cCk7CiAgICAgaWYgKHJldCAhPSAwKSB7Ci0gICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19JT0Vycm9yKTsKKyAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX09TRXJyb3IpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAgICAgUHlfUkVUVVJOX05PTkU7CkBAIC0yMjMsNyArMjA0LDcgQEAKIAogICAgIHJldCA9IGNsb2NrX2dldHJlcygoY2xvY2tpZF90KWNsa19pZCwgJnRwKTsKICAgICBpZiAocmV0ICE9IDApIHsKLSAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX0lPRXJyb3IpOworICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfT1NFcnJvcik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIApAQCAtOTAzLDEyMiArODg0LDE1IEBACiBzaG91bGQgbm90IGJlIHJlbGllZCBvbi4iKTsKICNlbmRpZiAvKiBIQVZFX1dPUktJTkdfVFpTRVQgKi8KIAotI2lmIGRlZmluZWQoTVNfV0lORE9XUykgfHwgZGVmaW5lZChfX0FQUExFX18pIFwKLSAgICB8fCAoZGVmaW5lZChIQVZFX0NMT0NLX0dFVFRJTUUpIFwKLSAgICAgICAgJiYgKGRlZmluZWQoQ0xPQ0tfSElHSFJFUykgfHwgZGVmaW5lZChDTE9DS19NT05PVE9OSUMpKSkKLSNkZWZpbmUgUFlNT05PVE9OSUMKLSNlbmRpZgotCi0jaWZkZWYgUFlNT05PVE9OSUMKLXN0YXRpYyBQeU9iamVjdCoKK3N0YXRpYyBQeU9iamVjdCAqCiBweW1vbm90b25pYyhfUHlfY2xvY2tfaW5mb190ICppbmZvKQogewotI2lmIGRlZmluZWQoTVNfV0lORE9XUykKLSAgICBzdGF0aWMgVUxPTkdMT05HICgqR2V0VGlja0NvdW50NjQpICh2b2lkKSA9IE5VTEw7Ci0gICAgc3RhdGljIFVMT05HTE9ORyAoQ0FMTEJBQ0sgKlB5X0dldFRpY2tDb3VudDY0KSh2b2lkKTsKLSAgICBzdGF0aWMgaW50IGhhc19nZXRpY2tjb3VudDY0ID0gLTE7Ci0gICAgZG91YmxlIHJlc3VsdDsKLQotICAgIGlmIChoYXNfZ2V0aWNrY291bnQ2NCA9PSAtMSkgewotICAgICAgICAvKiBHZXRUaWNrQ291bnQ2NCgpIHdhcyBhZGRlZCB0byBXaW5kb3dzIFZpc3RhICovCi0gICAgICAgIGlmICh3aW52ZXIuZHdNYWpvclZlcnNpb24gPj0gNikgewotICAgICAgICAgICAgSElOU1RBTkNFIGhLZXJuZWwzMjsKLSAgICAgICAgICAgIGhLZXJuZWwzMiA9IEdldE1vZHVsZUhhbmRsZVcoTCJLRVJORUwzMiIpOwotICAgICAgICAgICAgKihGQVJQUk9DKikmUHlfR2V0VGlja0NvdW50NjQgPSBHZXRQcm9jQWRkcmVzcyhoS2VybmVsMzIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJHZXRUaWNrQ291bnQ2NCIpOwotICAgICAgICAgICAgaGFzX2dldGlja2NvdW50NjQgPSAoUHlfR2V0VGlja0NvdW50NjQgIT0gTlVMTCk7Ci0gICAgICAgIH0KLSAgICAgICAgZWxzZQotICAgICAgICAgICAgaGFzX2dldGlja2NvdW50NjQgPSAwOwotICAgIH0KLQotICAgIGlmIChoYXNfZ2V0aWNrY291bnQ2NCkgewotICAgICAgICBVTE9OR0xPTkcgdGlja3M7Ci0gICAgICAgIHRpY2tzID0gUHlfR2V0VGlja0NvdW50NjQoKTsKLSAgICAgICAgcmVzdWx0ID0gKGRvdWJsZSl0aWNrcyAqIDFlLTM7Ci0gICAgfQotICAgIGVsc2UgewotICAgICAgICBzdGF0aWMgRFdPUkQgbGFzdF90aWNrcyA9IDA7Ci0gICAgICAgIHN0YXRpYyBEV09SRCBuX292ZXJmbG93ID0gMDsKLSAgICAgICAgRFdPUkQgdGlja3M7Ci0KLSAgICAgICAgdGlja3MgPSBHZXRUaWNrQ291bnQoKTsKLSAgICAgICAgaWYgKHRpY2tzIDwgbGFzdF90aWNrcykKLSAgICAgICAgICAgIG5fb3ZlcmZsb3crKzsKLSAgICAgICAgbGFzdF90aWNrcyA9IHRpY2tzOwotCi0gICAgICAgIHJlc3VsdCA9IGxkZXhwKG5fb3ZlcmZsb3csIDMyKTsKLSAgICAgICAgcmVzdWx0ICs9IHRpY2tzOwotICAgICAgICByZXN1bHQgKj0gMWUtMzsKLSAgICB9Ci0KLSAgICBpZiAoaW5mbykgewotICAgICAgICBEV09SRCB0aW1lQWRqdXN0bWVudCwgdGltZUluY3JlbWVudDsKLSAgICAgICAgQk9PTCBpc1RpbWVBZGp1c3RtZW50RGlzYWJsZWQsIG9rOwotICAgICAgICBpZiAoaGFzX2dldGlja2NvdW50NjQpCi0gICAgICAgICAgICBpbmZvLT5pbXBsZW1lbnRhdGlvbiA9ICJHZXRUaWNrQ291bnQ2NCgpIjsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgaW5mby0+aW1wbGVtZW50YXRpb24gPSAiR2V0VGlja0NvdW50KCkiOwotICAgICAgICBpbmZvLT5tb25vdG9uaWMgPSAxOwotICAgICAgICBvayA9IEdldFN5c3RlbVRpbWVBZGp1c3RtZW50KCZ0aW1lQWRqdXN0bWVudCwgJnRpbWVJbmNyZW1lbnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmlzVGltZUFkanVzdG1lbnREaXNhYmxlZCk7Ci0gICAgICAgIGlmICghb2spIHsKLSAgICAgICAgICAgIFB5RXJyX1NldEZyb21XaW5kb3dzRXJyKDApOwotICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIH0KLSAgICAgICAgaW5mby0+cmVzb2x1dGlvbiA9IHRpbWVJbmNyZW1lbnQgKiAxZS03OwotICAgICAgICBpbmZvLT5hZGp1c3RhYmxlID0gMDsKLSAgICB9Ci0gICAgcmV0dXJuIFB5RmxvYXRfRnJvbURvdWJsZShyZXN1bHQpOwotCi0jZWxpZiBkZWZpbmVkKF9fQVBQTEVfXykKLSAgICBzdGF0aWMgbWFjaF90aW1lYmFzZV9pbmZvX2RhdGFfdCB0aW1lYmFzZTsKLSAgICB1aW50NjRfdCB0aW1lOwotICAgIGRvdWJsZSBzZWNzOwotCi0gICAgaWYgKHRpbWViYXNlLmRlbm9tID09IDApIHsKLSAgICAgICAgLyogQWNjb3JkaW5nIHRvIHRoZSBUZWNobmljYWwgUSZBIFFBMTM5OCwgbWFjaF90aW1lYmFzZV9pbmZvKCkgY2Fubm90Ci0gICAgICAgICAgIGZhaWw6IGh0dHBzOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9saWJyYXJ5L21hYy8jcWEvcWExMzk4LyAqLwotICAgICAgICAodm9pZCltYWNoX3RpbWViYXNlX2luZm8oJnRpbWViYXNlKTsKLSAgICB9Ci0KLSAgICB0aW1lID0gbWFjaF9hYnNvbHV0ZV90aW1lKCk7Ci0gICAgc2VjcyA9IChkb3VibGUpdGltZSAqIHRpbWViYXNlLm51bWVyIC8gdGltZWJhc2UuZGVub20gKiAxZS05OwotICAgIGlmIChpbmZvKSB7Ci0gICAgICAgIGluZm8tPmltcGxlbWVudGF0aW9uID0gIm1hY2hfYWJzb2x1dGVfdGltZSgpIjsKLSAgICAgICAgaW5mby0+cmVzb2x1dGlvbiA9IChkb3VibGUpdGltZWJhc2UubnVtZXIgLyB0aW1lYmFzZS5kZW5vbSAqIDFlLTk7Ci0gICAgICAgIGluZm8tPm1vbm90b25pYyA9IDE7Ci0gICAgICAgIGluZm8tPmFkanVzdGFibGUgPSAwOwotICAgIH0KLSAgICByZXR1cm4gUHlGbG9hdF9Gcm9tRG91YmxlKHNlY3MpOwotCi0jZWxpZiBkZWZpbmVkKEhBVkVfQ0xPQ0tfR0VUVElNRSkgJiYgKGRlZmluZWQoQ0xPQ0tfSElHSFJFUykgfHwgZGVmaW5lZChDTE9DS19NT05PVE9OSUMpKQotICAgIHN0cnVjdCB0aW1lc3BlYyB0cDsKLSNpZmRlZiBDTE9DS19ISUdIUkVTCi0gICAgY29uc3QgY2xvY2tpZF90IGNsa19pZCA9IENMT0NLX0hJR0hSRVM7Ci0gICAgY29uc3QgY2hhciAqZnVuY3Rpb24gPSAiY2xvY2tfZ2V0dGltZShDTE9DS19ISUdIUkVTKSI7Ci0jZWxzZQotICAgIGNvbnN0IGNsb2NraWRfdCBjbGtfaWQgPSBDTE9DS19NT05PVE9OSUM7Ci0gICAgY29uc3QgY2hhciAqZnVuY3Rpb24gPSAiY2xvY2tfZ2V0dGltZShDTE9DS19NT05PVE9OSUMpIjsKLSNlbmRpZgotCi0gICAgaWYgKGNsb2NrX2dldHRpbWUoY2xrX2lkLCAmdHApICE9IDApIHsKLSAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX09TRXJyb3IpOworICAgIF9QeVRpbWVfdGltZXZhbCB0djsKKyAgICBpZiAoX1B5VGltZV9tb25vdG9uaWNfaW5mbygmdHYsIGluZm8pIDwgMCkgeworICAgICAgICBhc3NlcnQoaW5mbyAhPSBOVUxMKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotCi0gICAgaWYgKGluZm8pIHsKLSAgICAgICAgc3RydWN0IHRpbWVzcGVjIHJlczsKLSAgICAgICAgaW5mby0+bW9ub3RvbmljID0gMTsKLSAgICAgICAgaW5mby0+aW1wbGVtZW50YXRpb24gPSBmdW5jdGlvbjsKLSAgICAgICAgaW5mby0+YWRqdXN0YWJsZSA9IDA7Ci0gICAgICAgIGlmIChjbG9ja19nZXRyZXMoY2xrX2lkLCAmcmVzKSA9PSAwKQotICAgICAgICAgICAgaW5mby0+cmVzb2x1dGlvbiA9IHJlcy50dl9zZWMgKyByZXMudHZfbnNlYyAqIDFlLTk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGluZm8tPnJlc29sdXRpb24gPSAxZS05OwotICAgIH0KLSAgICByZXR1cm4gUHlGbG9hdF9Gcm9tRG91YmxlKHRwLnR2X3NlYyArIHRwLnR2X25zZWMgKiAxZS05KTsKLSNlbmRpZgorICAgIHJldHVybiBQeUZsb2F0X0Zyb21Eb3VibGUoKGRvdWJsZSl0di50dl9zZWMgKyB0di50dl91c2VjICogMWUtNik7CiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCkBAIC0xMDMxLDQwICs5MDUsMTUgQEAKICJtb25vdG9uaWMoKSAtPiBmbG9hdFxuXAogXG5cCiBNb25vdG9uaWMgY2xvY2ssIGNhbm5vdCBnbyBiYWNrd2FyZC4iKTsKLSNlbmRpZiAgIC8qIFBZTU9OT1RPTklDICovCiAKIHN0YXRpYyBQeU9iamVjdCoKIHBlcmZfY291bnRlcihfUHlfY2xvY2tfaW5mb190ICppbmZvKQogewotI2lmIGRlZmluZWQoV0lOMzJfUEVSRl9DT1VOVEVSKSB8fCBkZWZpbmVkKFBZTU9OT1RPTklDKQotICAgIFB5T2JqZWN0ICpyZXM7Ci0jZW5kaWYKLSNpZiBkZWZpbmVkKFdJTjMyX1BFUkZfQ09VTlRFUikKLSAgICBzdGF0aWMgaW50IHVzZV9wZXJmX2NvdW50ZXIgPSAxOwotI2VuZGlmCi0jaWZkZWYgUFlNT05PVE9OSUMKLSAgICBzdGF0aWMgaW50IHVzZV9tb25vdG9uaWMgPSAxOwotI2VuZGlmCi0KICNpZmRlZiBXSU4zMl9QRVJGX0NPVU5URVIKLSAgICBpZiAodXNlX3BlcmZfY291bnRlcikgewotICAgICAgICBpZiAod2luX3BlcmZfY291bnRlcihpbmZvLCAmcmVzKSA9PSAwKQotICAgICAgICAgICAgcmV0dXJuIHJlczsKLSAgICAgICAgdXNlX3BlcmZfY291bnRlciA9IDA7Ci0gICAgfQorICAgIHJldHVybiB3aW5fcGVyZl9jb3VudGVyKGluZm8pOworI2Vsc2UKKyAgICByZXR1cm4gcHltb25vdG9uaWMoaW5mbyk7CiAjZW5kaWYKLQotI2lmZGVmIFBZTU9OT1RPTklDCi0gICAgaWYgKHVzZV9tb25vdG9uaWMpIHsKLSAgICAgICAgcmVzID0gcHltb25vdG9uaWMoaW5mbyk7Ci0gICAgICAgIGlmIChyZXMgIT0gTlVMTCkKLSAgICAgICAgICAgIHJldHVybiByZXM7Ci0gICAgICAgIHVzZV9tb25vdG9uaWMgPSAwOwotICAgICAgICBQeUVycl9DbGVhcigpOwotICAgIH0KLSNlbmRpZgotCi0gICAgcmV0dXJuIGZsb2F0dGltZShpbmZvKTsKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKQEAgLTEyMzEsMTAgKzEwODAsOCBAQAogICAgIGVsc2UgaWYgKHN0cmNtcChuYW1lLCAiY2xvY2siKSA9PSAwKQogICAgICAgICBvYmogPSBweWNsb2NrKCZpbmZvKTsKICNlbmRpZgotI2lmZGVmIFBZTU9OT1RPTklDCiAgICAgZWxzZSBpZiAoc3RyY21wKG5hbWUsICJtb25vdG9uaWMiKSA9PSAwKQogICAgICAgICBvYmogPSBweW1vbm90b25pYygmaW5mbyk7Ci0jZW5kaWYKICAgICBlbHNlIGlmIChzdHJjbXAobmFtZSwgInBlcmZfY291bnRlciIpID09IDApCiAgICAgICAgIG9iaiA9IHBlcmZfY291bnRlcigmaW5mbyk7CiAgICAgZWxzZSBpZiAoc3RyY21wKG5hbWUsICJwcm9jZXNzX3RpbWUiKSA9PSAwKQpAQCAtMTQyNiw5ICsxMjczLDcgQEAKICNpZmRlZiBIQVZFX1dPUktJTkdfVFpTRVQKICAgICB7InR6c2V0IiwgICAgICAgICAgIHRpbWVfdHpzZXQsIE1FVEhfTk9BUkdTLCB0enNldF9kb2N9LAogI2VuZGlmCi0jaWZkZWYgUFlNT05PVE9OSUMKICAgICB7Im1vbm90b25pYyIsICAgICAgIHRpbWVfbW9ub3RvbmljLCBNRVRIX05PQVJHUywgbW9ub3RvbmljX2RvY30sCi0jZW5kaWYKICAgICB7InByb2Nlc3NfdGltZSIsICAgIHRpbWVfcHJvY2Vzc190aW1lLCBNRVRIX05PQVJHUywgcHJvY2Vzc190aW1lX2RvY30sCiAgICAgeyJwZXJmX2NvdW50ZXIiLCAgICB0aW1lX3BlcmZfY291bnRlciwgTUVUSF9OT0FSR1MsIHBlcmZfY291bnRlcl9kb2N9LAogICAgIHsiZ2V0X2Nsb2NrX2luZm8iLCAgdGltZV9nZXRfY2xvY2tfaW5mbywgTUVUSF9WQVJBUkdTLCBnZXRfY2xvY2tfaW5mb19kb2N9LApAQCAtMTUxMCwxNSArMTM1NSw2IEBACiAgICAgICAgIGlmIChQeVN0cnVjdFNlcXVlbmNlX0luaXRUeXBlMigmU3RydWN0VGltZVR5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc3RydWN0X3RpbWVfdHlwZV9kZXNjKSA8IDApCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLQotI2lmZGVmIE1TX1dJTkRPV1MKLSAgICAgICAgd2ludmVyLmR3T1NWZXJzaW9uSW5mb1NpemUgPSBzaXplb2Yod2ludmVyKTsKLSAgICAgICAgaWYgKCFHZXRWZXJzaW9uRXgoKE9TVkVSU0lPTklORk8qKSZ3aW52ZXIpKSB7Ci0gICAgICAgICAgICBQeV9ERUNSRUYobSk7Ci0gICAgICAgICAgICBQeUVycl9TZXRGcm9tV2luZG93c0VycigwKTsKLSAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICB9Ci0jZW5kaWYKICAgICB9CiAgICAgUHlfSU5DUkVGKCZTdHJ1Y3RUaW1lVHlwZSk7CiAjaWZkZWYgSEFWRV9TVFJVQ1RfVE1fVE1fWk9ORQpAQCAtMTUzNSwyOSArMTM3MSwxMCBAQAogZmxvYXR0aW1lKF9QeV9jbG9ja19pbmZvX3QgKmluZm8pCiB7CiAgICAgX1B5VGltZV90aW1ldmFsIHQ7Ci0jaWZkZWYgSEFWRV9DTE9DS19HRVRUSU1FCi0gICAgc3RydWN0IHRpbWVzcGVjIHRwOwotICAgIGludCByZXQ7Ci0KLSAgICAvKiBfUHlUaW1lX2dldHRpbWVvZmRheSgpIGRvZXMgbm90IHVzZSBjbG9ja19nZXR0aW1lKCkKLSAgICAgICBiZWNhdXNlIGl0IHdvdWxkIHJlcXVpcmUgdG8gbGluayBQeXRob24gdG8gdGhlIHJ0IChyZWFsLXRpbWUpCi0gICAgICAgbGlicmFyeSwgYXQgbGVhc3Qgb24gTGludXggKi8KLSAgICByZXQgPSBjbG9ja19nZXR0aW1lKENMT0NLX1JFQUxUSU1FLCAmdHApOwotICAgIGlmIChyZXQgPT0gMCkgewotICAgICAgICBpZiAoaW5mbykgewotICAgICAgICAgICAgc3RydWN0IHRpbWVzcGVjIHJlczsKLSAgICAgICAgICAgIGluZm8tPmltcGxlbWVudGF0aW9uID0gImNsb2NrX2dldHRpbWUoQ0xPQ0tfUkVBTFRJTUUpIjsKLSAgICAgICAgICAgIGluZm8tPm1vbm90b25pYyA9IDA7Ci0gICAgICAgICAgICBpbmZvLT5hZGp1c3RhYmxlID0gMTsKLSAgICAgICAgICAgIGlmIChjbG9ja19nZXRyZXMoQ0xPQ0tfUkVBTFRJTUUsICZyZXMpID09IDApCi0gICAgICAgICAgICAgICAgaW5mby0+cmVzb2x1dGlvbiA9IHJlcy50dl9zZWMgKyByZXMudHZfbnNlYyAqIDFlLTk7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgaW5mby0+cmVzb2x1dGlvbiA9IDFlLTk7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIFB5RmxvYXRfRnJvbURvdWJsZSh0cC50dl9zZWMgKyB0cC50dl9uc2VjICogMWUtOSk7CisgICAgaWYgKF9QeVRpbWVfZ2V0dGltZW9mZGF5X2luZm8oJnQsIGluZm8pIDwgMCkgeworICAgICAgICBhc3NlcnQoaW5mbyAhPSBOVUxMKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotI2VuZGlmCi0gICAgX1B5VGltZV9nZXR0aW1lb2ZkYXlfaW5mbygmdCwgaW5mbyk7CiAgICAgcmV0dXJuIFB5RmxvYXRfRnJvbURvdWJsZSgoZG91YmxlKXQudHZfc2VjICsgdC50dl91c2VjICogMWUtNik7CiB9CiAKQEAgLTE1OTEsNyArMTQwOCw3IEBACiAgICAgICAgIGVsc2UKICNlbmRpZgogICAgICAgICB7Ci0gICAgICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfSU9FcnJvcik7CisgICAgICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfT1NFcnJvcik7CiAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgICAgIH0KICAgICB9CkBAIC0xNjI1LDcgKzE0NDIsNyBAQAogICAgICAgICAgICAgaWYgKHJjID09IFdBSVRfT0JKRUNUXzApIHsKICAgICAgICAgICAgICAgICBQeV9CTE9DS19USFJFQURTCiAgICAgICAgICAgICAgICAgZXJybm8gPSBFSU5UUjsKLSAgICAgICAgICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfSU9FcnJvcik7CisgICAgICAgICAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX09TRXJyb3IpOwogICAgICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvTW9kdWxlcy90a2FwcGluaXQuYyBiL01vZHVsZXMvdGthcHBpbml0LmMKaW5kZXggMmVkODU5NC4uNzYxNmQ5ZCAxMDA2NDQKLS0tIGEvTW9kdWxlcy90a2FwcGluaXQuYworKysgYi9Nb2R1bGVzL3RrYXBwaW5pdC5jCkBAIC0yNiw5ICsyNiw2IEBACiBpbnQKIFRjbF9BcHBJbml0KFRjbF9JbnRlcnAgKmludGVycCkKIHsKLSNpZmRlZiBXSVRIX01PUkVCVVRUT05TCi0gICAgVGtfV2luZG93IG1haW5fd2luZG93OwotI2VuZGlmCiAgICAgY29uc3QgY2hhciAqX3RraW50ZXJfc2tpcF90a19pbml0OwogI2lmZGVmIFRLSU5URVJfUFJPVEVDVF9MT0FEVEsKICAgICBjb25zdCBjaGFyICpfdGtpbnRlcl90a19mYWlsZWQ7CkBAIC0xMTMsMjkgKzExMCwxMyBAQAogICAgICAgICByZXR1cm4gVENMX0VSUk9SOwogICAgIH0KIAotI2lmZGVmIFdJVEhfTU9SRUJVVFRPTlMKLSAgICBtYWluX3dpbmRvdyA9IFRrX01haW5XaW5kb3coaW50ZXJwKTsKLSNlbHNlCiAgICAgVGtfTWFpbldpbmRvdyhpbnRlcnApOwotI2VuZGlmCiAKICNpZmRlZiBUS19BUVVBCiAgICAgVGtNYWNPU1hJbml0QXBwbGVFdmVudHMoaW50ZXJwKTsKICAgICBUa01hY09TWEluaXRNZW51cyhpbnRlcnApOwogI2VuZGlmCiAKLSNpZmRlZiBXSVRIX01PUkVCVVRUT05TCi0gICAgewotICAgICAgICBleHRlcm4gVGNsX0NtZFByb2Mgc3R1ZEJ1dHRvbkNtZDsKLSAgICAgICAgZXh0ZXJuIFRjbF9DbWRQcm9jIHRyaUJ1dHRvbkNtZDsKLQotICAgICAgICBUY2xfQ3JlYXRlQ29tbWFuZChpbnRlcnAsICJzdHVkYnV0dG9uIiwgc3R1ZEJ1dHRvbkNtZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgKENsaWVudERhdGEpIG1haW5fd2luZG93LCBOVUxMKTsKLSAgICAgICAgVGNsX0NyZWF0ZUNvbW1hbmQoaW50ZXJwLCAidHJpYnV0dG9uIiwgdHJpQnV0dG9uQ21kLAotICAgICAgICAgICAgICAgICAgICAgICAgICAoQ2xpZW50RGF0YSkgbWFpbl93aW5kb3csIE5VTEwpOwotICAgIH0KLSNlbmRpZgotCiAjaWZkZWYgV0lUSF9QSUwgLyogMC4yYjUgYW5kIGxhdGVyIC0tIG5vdCB5ZXQgcmVsZWFzZWQgYXMgb2YgTWF5IDE0ICovCiAgICAgewogICAgICAgICBleHRlcm4gdm9pZCBUa0ltYWdpbmdfSW5pdChUY2xfSW50ZXJwICopOwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy91bmljb2RlZGF0YV9kYi5oIGIvTW9kdWxlcy91bmljb2RlZGF0YV9kYi5oCmluZGV4IGVjMTFmYTEuLmE3OTEzMmYgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvdW5pY29kZWRhdGFfZGIuaAorKysgYi9Nb2R1bGVzL3VuaWNvZGVkYXRhX2RiLmgKQEAgLTEsNiArMSw2IEBACiAvKiB0aGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBUb29scy91bmljb2RlL21ha2V1bmljb2RlZGF0YS5weSAzLjIgKi8KIAotI2RlZmluZSBVTklEQVRBX1ZFUlNJT04gIjYuMy4wIgorI2RlZmluZSBVTklEQVRBX1ZFUlNJT04gIjcuMC4wIgogLyogYSBsaXN0IG9mIHVuaXF1ZSBkYXRhYmFzZSByZWNvcmRzICovCiBjb25zdCBfUHlVbmljb2RlX0RhdGFiYXNlUmVjb3JkIF9QeVVuaWNvZGVfRGF0YWJhc2VfUmVjb3Jkc1tdID0gewogICAgIHswLCAwLCAwLCAwLCAwLCAwfSwKQEAgLTMyMyw3ICszMjMsOSBAQAogICAgIHsyNywgMCwgMTksIDAsIDEsIDEzNn0sCiAgICAgezE0LCAwLCAxOSwgMCwgNSwgMH0sCiAgICAgezgsIDAsIDE5LCAwLCA1LCAwfSwKKyAgICB7OSwgMCwgOSwgMCwgNSwgMH0sCiAgICAgezksIDAsIDQsIDAsIDUsIDB9LAorICAgIHszMCwgMCwgNCwgMCwgNSwgMH0sCiAgICAgezksIDAsIDEyLCAwLCA1LCAwfSwKICAgICB7MzAsIDAsIDEsIDAsIDUsIDE3MH0sCiAgICAgezUsIDIxNiwgMSwgMCwgNSwgMH0sCkBAIC0zMzUsOCArMzM3LDggQEAKIH07CiAKIC8qIFJlaW5kZXhpbmcgb2YgTkZDIGZpcnN0IGNoYXJhY3RlcnMuICovCi0jZGVmaW5lIFRPVEFMX0ZJUlNUIDM3MgotI2RlZmluZSBUT1RBTF9MQVNUIDU2CisjZGVmaW5lIFRPVEFMX0ZJUlNUIDM3NgorI2RlZmluZSBUT1RBTF9MQVNUIDYyCiBzdHJ1Y3QgcmVpbmRleHtpbnQgc3RhcnQ7c2hvcnQgY291bnQsaW5kZXg7fTsKIHN0YXRpYyBzdHJ1Y3QgcmVpbmRleCBuZmNfZmlyc3RbXSA9IHsKICAgeyA2MCwgMiwgMH0sCkBAIC01NDYsNiArNTQ4LDkgQEAKICAgeyA2OTc4NywgMCwgMzY4fSwKICAgeyA2OTc5NywgMCwgMzY5fSwKICAgeyA2OTkzNywgMSwgMzcwfSwKKyAgeyA3MDQ3MSwgMCwgMzcyfSwKKyAgeyA3MDg0MSwgMCwgMzczfSwKKyAgeyA3MTA5NiwgMSwgMzc0fSwKICAgezAsMCwwfQogfTsKIApAQCAtNTgzLDYgKzU4OCwxMiBAQAogICB7IDEyNDQxLCAxLCA1Mn0sCiAgIHsgNjk4MTgsIDAsIDU0fSwKICAgeyA2OTkyNywgMCwgNTV9LAorICB7IDcwNDYyLCAwLCA1Nn0sCisgIHsgNzA0ODcsIDAsIDU3fSwKKyAgeyA3MDgzMiwgMCwgNTh9LAorICB7IDcwODQyLCAwLCA1OX0sCisgIHsgNzA4NDUsIDAsIDYwfSwKKyAgeyA3MTA4NywgMCwgNjF9LAogICB7MCwwLDB9CiB9OwogCkBAIC03MTQsMzYgKzcyNSw0MyBAQAogICAgIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAKICAgICAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgCiAgICAgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjIsIDEyMiwgMTIzLCAxMjQsIAotICAgIDEyNSwgMTI2LCAxMjcsIDEyNywgMTI4LCAxMjksIDEzMCwgMTMxLCAxMzIsIDEzMywgMTM0LCAxMzUsIDEzNiwgMTM3LCA4NCwgCi0gICAgMTM4LCAxMzksIDE0MCwgMTQxLCAxNDIsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDE0MywgODQsIDE0NCwgMTQ1LCAxNDYsIAotICAgIDg0LCAxNDcsIDg0LCAxNDgsIDg0LCA4NCwgODQsIDE0OSwgODQsIDg0LCA4NCwgMTUwLCAxNTEsIDE1MiwgMTUzLCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAxNTQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDQxLCA0MSwgNDEsIDQxLCA0MSwgNDEsIDE1NSwgODQsIDE1NiwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA0MSwgNDEsIDQxLCA0MSwgNDEsIDQxLCA0MSwgNDEsIDE1NywgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDQxLCA0MSwgNDEsIDQxLCAxNTgsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDE1OSwgMTYwLCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDE2MSwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgNzgsIDE2MiwgMTYzLCAxNjQsIDE2NSwgODQsIDE2NiwgODQsIDE2NywgMTY4LCAxNjksIDE3MCwgMTcxLCAxNzIsIAotICAgIDE3MywgMTc0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDE3NSwgMTc2LCA4NCwgODQsIDE3NywgMTc4LCAxNzksIAotICAgIDE4MCwgMTgxLCA4NCwgMTgyLCAxODMsIDE4NCwgMTg1LCAxODYsIDE4NywgMTg4LCAxODksIDE5MCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAxMDEsIDEwMSwgMTAxLCAKKyAgICAxMjUsIDEyNiwgMTI3LCAxMjcsIDEyOCwgMTI5LCAxMzAsIDEzMSwgMTMyLCAxMzMsIDEzNCwgMTM1LCAxMzYsIDEzNywgCisgICAgMTM4LCAxMzksIDE0MCwgMTQxLCAxNDIsIDE0MywgMTQ0LCAxMzgsIDQxLCA0MSwgMTQ1LCAxMzgsIDE0NiwgMTQ3LCAxNDgsIAorICAgIDE0OSwgMTUwLCAxNTEsIDE1MiwgMTUzLCAxNTQsIDEzOCwgMTM4LCAxMzgsIDE1NSwgMTM4LCAxMzgsIDEzOCwgMTU2LCAKKyAgICAxNTcsIDE1OCwgMTU5LCAxNjAsIDE2MSwgMTYyLCAxMzgsIDEzOCwgMTYzLCAxMzgsIDE2NCwgMTY1LCAxNjYsIDEzOCwgCisgICAgMTM4LCAxMzgsIDE2NywgMTM4LCAxMzgsIDEzOCwgMTY4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDQxLCA0MSwgNDEsIDQxLCA0MSwgNDEsIDQxLCAxNjksIDE3MCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDQxLCA0MSwgNDEsIDQxLCA0MSwgNDEsIDQxLCA0MSwgMTcxLCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDQxLCA0MSwgNDEsIDQxLCAxNzIsIDE3MywgMTc0LCAxNzUsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDE3NiwgMTc3LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTc4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTc5LCAxODAsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCA3OCwgCisgICAgMTgxLCAxODIsIDE4MywgMTg0LCAxMzgsIDE4NSwgMTM4LCAxODYsIDE4NywgMTg4LCAxODksIDE5MCwgMTkxLCAxOTIsIAorICAgIDE5MywgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDE5NCwgMTk1LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDE5NiwgMTk3LCAxMzgsIDEzOCwgMTk4LCAxOTksIDIwMCwgMjAxLCAyMDIsIDEzOCwgMjAzLCAKKyAgICAyMDQsIDIwNSwgMjA2LCAyMDcsIDIwOCwgMjA5LCAyMTAsIDIxMSwgMjEyLCAyMTMsIDIxNCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEwMSwgMTAxLCAxMDEsIAogICAgIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAKICAgICAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgCiAgICAgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIApAQCAtNzY3LDM1OSArNzg1LDQ1OSBAQAogICAgIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAKICAgICAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgCiAgICAgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIAotICAgIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxOTEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAKKyAgICAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMjE1LCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgCiAgICAgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIAotICAgIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTkyLCAKLSAgICAxMDEsIDE5MywgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDEyMiwgMTIyLCAxMjIsIDEyMiwgMTk0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICAxOTUsIDg0LCAxOTYsIDE5NywgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgCisgICAgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAyMTYsIAorICAgIDEwMSwgMjE3LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEyMiwgMTIyLCAxMjIsIDEyMiwgMjE4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAyMTksIDEzOCwgMjIwLCAyMjEsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIAogICAgIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAKICAgICAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgCiAgICAgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIApAQCAtMTE1NSw4ICsxMjczLDggQEAKICAgICAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgCiAgICAgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIAogICAgIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAKKyAgICAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDIyMiwgMTIxLCAxMjEsIDEyMSwgCiAgICAgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIAotICAgIDE5OCwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAKICAgICAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgCiAgICAgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIAogICAgIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAKQEAgLTExOTIsNyArMTMxMCw3IEBACiAgICAgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIAogICAgIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAKICAgICAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgCi0gICAgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDE5OCwgCisgICAgMTIxLCAxMjEsIDEyMSwgMTIxLCAyMjIsIAogfTsKIAogc3RhdGljIHVuc2lnbmVkIHNob3J0IGluZGV4MltdID0gewpAQCAtMTI0NCw3ICsxMzYyLDcgQEAKICAgICA2OSwgNTksIDY5LCA2OSwgNzAsIDYwLCA2MiwgNjIsIDYyLCA2MCwgNjAsIDYwLCA2MiwgNjIsIDcxLCA2MCwgNjAsIDYwLCAKICAgICA2MiwgNjIsIDYyLCA2MiwgNjAsIDYxLCA2MiwgNjIsIDYwLCA3MiwgNzMsIDczLCA3MiwgNzMsIDczLCA3MiwgNjAsIDYwLCAKICAgICA2MCwgNjAsIDYwLCA2MCwgNjAsIDYwLCA2MCwgNjAsIDYwLCA2MCwgNjAsIDQ0LCA0NywgNDQsIDQ3LCA3NCwgNTQsIDQ0LCAKLSAgICA0NywgMCwgMCwgNTEsIDQ3LCA0NywgNDcsIDc1LCAwLCAwLCAwLCAwLCAwLCA1OCwgNzYsIDM4LCA3NSwgMzgsIDM4LCAzOCwgCisgICAgNDcsIDAsIDAsIDUxLCA0NywgNDcsIDQ3LCA3NSwgNDQsIDAsIDAsIDAsIDAsIDU4LCA3NiwgMzgsIDc1LCAzOCwgMzgsIDM4LCAKICAgICAwLCAzOCwgMCwgMzgsIDM4LCA0MywgMzksIDM5LCAzOSwgMzksIDM5LCAzOSwgMzksIDM5LCAzOSwgMzksIDM5LCAzOSwgMzksIAogICAgIDM5LCAzOSwgMzksIDM5LCAwLCAzOSwgMzksIDM5LCAzOSwgMzksIDM5LCAzOSwgMzgsIDM4LCA0MywgNDMsIDQzLCA0MywgCiAgICAgNDMsIDQxLCA0MSwgNDEsIDQxLCA0MSwgNDEsIDQxLCA0MSwgNDEsIDQxLCA0MSwgNDEsIDQxLCA0MSwgNDEsIDQxLCA0MSwgCkBAIC0xMjY3LDE1MyArMTM4NSwxNTQgQEAKICAgICAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCA0NCwgNDcsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAKICAgICAzOCwgNDMsIDQ0LCA0NywgMzgsIDQzLCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCAKICAgICA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCAKLSAgICA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCAKKyAgICA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCAKKyAgICA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCAwLCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIAogICAgIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIAotICAgIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDAsIDAsIDUzLCA4MywgODMsIDgzLCA4MywgODMsIDgzLCAwLCA0NywgNDcsIDQ3LCAKKyAgICA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCAwLCAwLCA1MywgODMsIDgzLCA4MywgODMsIDgzLCA4MywgMCwgCiAgICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAzNSwgCi0gICAgMCwgODMsIDg0LCAwLCAwLCAwLCAwLCA4NSwgMCwgODYsIDgxLCA4MSwgODEsIDgxLCA4NiwgODEsIDgxLCA4MSwgODcsIDg2LCAKLSAgICA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4NiwgODYsIDg2LCA4NiwgODYsIDg2LCA4MSwgODEsIDg2LCA4MSwgODEsIDg3LCAKLSAgICA4OCwgODEsIDg5LCA5MCwgOTEsIDkyLCA5MywgOTQsIDk1LCA5NiwgOTcsIDk4LCA5OCwgOTksIDEwMCwgMTAxLCAxMDIsIAotICAgIDEwMywgMTA0LCAxMDUsIDEwNiwgMTA0LCA4MSwgODYsIDEwNCwgOTcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwNywgCi0gICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAotICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDAsIDAsIDAsIDAsIAotICAgIDAsIDEwNywgMTA3LCAxMDcsIDEwNCwgMTA0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDgsIDEwOCwgCi0gICAgMTA4LCAxMDgsIDEwOCwgMCwgNzgsIDc4LCAxMDksIDExMCwgMTEwLCAxMTEsIDExMiwgMTEzLCAyNiwgMjYsIDgxLCA4MSwgCi0gICAgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgMTE0LCAxMTUsIDExNiwgMTEzLCAxMTcsIDAsIDExMywgMTEzLCAxMTgsIDExOCwgCi0gICAgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIAotICAgIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAKLSAgICAxMTgsIDExOCwgMTIwLCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDEyMSwgCi0gICAgMTIyLCAxMjMsIDExNCwgMTE1LCAxMTYsIDEyNCwgMTI1LCAxMjYsIDEyNiwgMTI3LCA4NiwgODEsIDgxLCA4MSwgODEsIDgxLCAKLSAgICA4NiwgODEsIDgxLCA4NiwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMTAsIAotICAgIDEyOSwgMTI5LCAxMTMsIDExOCwgMTE4LCAxMzAsIDExOCwgMTE4LCAxMTgsIDExOCwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgCi0gICAgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIAotICAgIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAKLSAgICAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgCi0gICAgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIAotICAgIDExOCwgMTE5LCAxMTgsIDExOSwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAKLSAgICAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTksIDExMywgMTE4LCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgCi0gICAgMTA4LCAyNiwgODEsIDgxLCA4MSwgODEsIDg2LCA4MSwgMTIwLCAxMjAsIDgxLCA4MSwgMjYsIDg2LCA4MSwgODEsIDg2LCAKLSAgICAxMTgsIDExOCwgMTMyLCAxMzIsIDEzMiwgMTMyLCAxMzIsIDEzMiwgMTMyLCAxMzIsIDEzMiwgMTMyLCAxMTgsIDExOCwgCi0gICAgMTE4LCAxMzMsIDEzMywgMTE4LCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIAotICAgIDExMywgMTEzLCAxMTMsIDExMywgMCwgMTE3LCAxMTgsIDEzNCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAKLSAgICAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgCi0gICAgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgODEsIDg2LCA4MSwgODEsIDg2LCA4MSwgODEsIAotICAgIDg2LCA4NiwgODYsIDgxLCA4NiwgODYsIDgxLCA4NiwgODEsIDgxLCA4MSwgODYsIDgxLCA4NiwgODEsIDg2LCA4MSwgODYsIAotICAgIDgxLCA4MSwgMCwgMCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgCi0gICAgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIAotICAgIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAKLSAgICAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgCi0gICAgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIAotICAgIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAKLSAgICAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgCi0gICAgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEzNiwgCi0gICAgMTM2LCAxMzYsIDEzNiwgMTM2LCAxMzYsIDEzNiwgMTM2LCAxMzYsIDEzNiwgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAotICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKLSAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgODEsIAotICAgIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDg2LCA4MSwgMTM3LCAxMzcsIDI2LCAxMzgsIDEzOCwgMTM4LCAxMzcsIDAsIDAsIAorICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAorICAgIDQ3LCA0NywgMzUsIDAsIDgzLCA4NCwgMCwgMCwgMjYsIDI2LCA4NSwgMCwgODYsIDgxLCA4MSwgODEsIDgxLCA4NiwgODEsIAorICAgIDgxLCA4MSwgODcsIDg2LCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4NiwgODYsIDg2LCA4NiwgODYsIDg2LCA4MSwgODEsIAorICAgIDg2LCA4MSwgODEsIDg3LCA4OCwgODEsIDg5LCA5MCwgOTEsIDkyLCA5MywgOTQsIDk1LCA5NiwgOTcsIDk4LCA5OCwgOTksIAorICAgIDEwMCwgMTAxLCAxMDIsIDEwMywgMTA0LCAxMDUsIDEwNiwgMTA0LCA4MSwgODYsIDEwNCwgOTcsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCi0gICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgODEsIDgxLCA4MSwgODEsIDEzNywgODEsIDgxLCAKLSAgICA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgMTM3LCA4MSwgODEsIDgxLCAxMzcsIDgxLCA4MSwgODEsIDgxLCA4MSwgMCwgCi0gICAgMCwgMTA0LCAxMDQsIDEwNCwgMTA0LCAxMDQsIDEwNCwgMTA0LCAxMDQsIDEwNCwgMTA0LCAxMDQsIDEwNCwgMTA0LCAxMDQsIAotICAgIDEwNCwgMCwgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKLSAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCA4NiwgODYsIDg2LCAKLSAgICAwLCAwLCAxMDQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAxMDcsIDEwNywgMTA3LCAxMDQsIDEwNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMTA4LCAxMDgsIDEwOCwgMTA4LCAxMDgsIDEwOCwgNzgsIDc4LCAxMDksIDExMCwgMTEwLCAxMTEsIDExMiwgMTEzLCAyNiwgCisgICAgMjYsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgMTE0LCAxMTUsIDExNiwgMTEzLCAxMTcsIDAsIDExMywgMTEzLCAKKyAgICAxMTgsIDExOCwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgCisgICAgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIAorICAgIDExOCwgMTE4LCAxMTgsIDExOCwgMTIwLCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAKKyAgICAxMTgsIDEyMSwgMTIyLCAxMjMsIDExNCwgMTE1LCAxMTYsIDEyNCwgMTI1LCAxMjYsIDEyNiwgMTI3LCA4NiwgODEsIDgxLCAKKyAgICA4MSwgODEsIDgxLCA4NiwgODEsIDgxLCA4NiwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgCisgICAgMTI4LCAxMTAsIDEyOSwgMTI5LCAxMTMsIDExOCwgMTE4LCAxMzAsIDExOCwgMTE4LCAxMTgsIDExOCwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAKKyAgICAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgCisgICAgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIAorICAgIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAKKyAgICAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgCisgICAgMTE4LCAxMTgsIDExOCwgMTE5LCAxMTgsIDExOSwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIAorICAgIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTksIDExMywgMTE4LCA4MSwgODEsIDgxLCA4MSwgCisgICAgODEsIDgxLCA4MSwgMTA4LCAyNiwgODEsIDgxLCA4MSwgODEsIDg2LCA4MSwgMTIwLCAxMjAsIDgxLCA4MSwgMjYsIDg2LCAKKyAgICA4MSwgODEsIDg2LCAxMTgsIDExOCwgMTMyLCAxMzIsIDEzMiwgMTMyLCAxMzIsIDEzMiwgMTMyLCAxMzIsIDEzMiwgMTMyLCAKKyAgICAxMTgsIDExOCwgMTE4LCAxMzMsIDEzMywgMTE4LCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgCisgICAgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMCwgMTE3LCAxMTgsIDEzNCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIAorICAgIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAKKyAgICAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgODEsIDg2LCA4MSwgODEsIAorICAgIDg2LCA4MSwgODEsIDg2LCA4NiwgODYsIDgxLCA4NiwgODYsIDgxLCA4NiwgODEsIDgxLCA4MSwgODYsIDgxLCA4NiwgODEsIAorICAgIDg2LCA4MSwgODYsIDgxLCA4MSwgMCwgMCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgCisgICAgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIAorICAgIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAKKyAgICAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgCisgICAgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIAorICAgIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAKKyAgICAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDEzNSwgMTM1LCAxMzUsIDEzNSwgCisgICAgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDEzNiwgMTM2LCAxMzYsIDEzNiwgMTM2LCAxMzYsIDEzNiwgMTM2LCAxMzYsIDEzNiwgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDg2LCA4MSwgMTM3LCAxMzcsIDI2LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzcsIDAsIDAsIDAsIDAsIDAsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgODEsIDgxLCAKKyAgICA4MSwgODEsIDEzNywgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgMTM3LCA4MSwgODEsIDgxLCAxMzcsIAorICAgIDgxLCA4MSwgODEsIDgxLCA4MSwgMCwgMCwgMTA0LCAxMDQsIDEwNCwgMTA0LCAxMDQsIDEwNCwgMTA0LCAxMDQsIDEwNCwgCisgICAgMTA0LCAxMDQsIDEwNCwgMTA0LCAxMDQsIDEwNCwgMCwgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCA4NiwgODYsIDg2LCAwLCAwLCAxMDQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDExOCwgMCwgMTE4LCAKLSAgICAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDgxLCAKLSAgICA4MSwgODYsIDgxLCA4MSwgODYsIDgxLCA4MSwgODEsIDg2LCA4NiwgODYsIDEyMSwgMTIyLCAxMjMsIDgxLCA4MSwgODEsIAotICAgIDg2LCA4MSwgODEsIDg2LCA4NiwgODEsIDgxLCA4MSwgODEsIDAsIDEzNSwgMTM1LCAxMzUsIDEzOSwgNDgsIDQ4LCA0OCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIAorICAgIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4MSwgODEsIDg2LCA4MSwgODEsIDg2LCA4MSwgODEsIAorICAgIDgxLCA4NiwgODYsIDg2LCAxMjEsIDEyMiwgMTIzLCA4MSwgODEsIDgxLCA4NiwgODEsIDgxLCA4NiwgODYsIDgxLCA4MSwgCisgICAgODEsIDgxLCA4MSwgMTM1LCAxMzUsIDEzNSwgMTM5LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCiAgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDE0MCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDE0MCwgNDgsIDQ4LCAxNDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTM1LCAxMzksIAotICAgIDE0MSwgNDgsIDEzOSwgMTM5LCAxMzksIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzksIDEzOSwgCi0gICAgMTM5LCAxMzksIDE0MiwgMTM5LCAxMzksIDQ4LCA4MSwgODYsIDgxLCA4MSwgMTM1LCAxMzUsIDEzNSwgMTQzLCAxNDMsIAotICAgIDE0MywgMTQzLCAxNDMsIDE0MywgMTQzLCAxNDMsIDQ4LCA0OCwgMTM1LCAxMzUsIDgzLCA4MywgMTQ0LCAxNDQsIDE0NCwgCi0gICAgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCA4MywgNTMsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAxMzUsIDEzOSwgMTM5LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDAsIDAsIDQ4LCA0OCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAKLSAgICA0OCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDE0NSwgNDgsIDE0NiwgMTM5LCAxMzksIDEzNSwgMTM1LCAxMzUsIAotICAgIDEzNSwgMCwgMCwgMTM5LCAxMzksIDAsIDAsIDE0NywgMTQ3LCAxNDIsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAxNDYsIDAsIDAsIDAsIDAsIDE0MywgMTQzLCAwLCAxNDMsIDQ4LCA0OCwgMTM1LCAxMzUsIDAsIDAsIDE0NCwgMTQ0LCAxNDQsIAotICAgIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgNDgsIDQ4LCA4NSwgODUsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgCi0gICAgMTQ4LCAxNDgsIDgwLCA4NSwgMCwgMCwgMCwgMCwgMCwgMTM1LCAxMzUsIDEzOSwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDAsIDQ4LCAxNDMsIDAsIDQ4LCAxNDMsIDAsIDQ4LCA0OCwgMCwgMCwgMTQ1LCAwLCAxMzksIDEzOSwgMTM5LCAxMzUsIAotICAgIDEzNSwgMCwgMCwgMCwgMCwgMTM1LCAxMzUsIDAsIDAsIDEzNSwgMTM1LCAxNDIsIDAsIDAsIDAsIDEzNSwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMTQzLCAxNDMsIDE0MywgNDgsIDAsIDE0MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQ0LCAxNDQsIDE0NCwgCi0gICAgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxMzUsIDEzNSwgNDgsIDQ4LCA0OCwgMTM1LCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzUsIDEzNSwgMTM5LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCAwLCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCAKLSAgICA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAxNDUsIDQ4LCAxMzksIDEzOSwgMTM5LCAxMzUsIDEzNSwgMTM1LCAKLSAgICAxMzUsIDEzNSwgMCwgMTM1LCAxMzUsIDEzOSwgMCwgMTM5LCAxMzksIDE0MiwgMCwgMCwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgMTM1LCAxMzUsIDAsIDAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgCi0gICAgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgODMsIDg1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAxMzUsIDEzOSwgMTM5LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDQ4LCA0OCwgCi0gICAgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDAsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgMCwgMCwgMTQ1LCA0OCwgMTQ2LCAxMzUsIDEzOSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAwLCAwLCAxMzksIAotICAgIDE0NywgMCwgMCwgMTQ3LCAxNDcsIDE0MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQ5LCAxNDYsIDAsIDAsIDAsIDAsIAotICAgIDE0MywgMTQzLCAwLCA0OCwgNDgsIDQ4LCAxMzUsIDEzNSwgMCwgMCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgCi0gICAgMTQ0LCAxNDQsIDE0NCwgMTQ0LCA4MCwgNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDEzNSwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIAotICAgIDAsIDQ4LCA0OCwgMTQwLCA0OCwgMCwgMCwgMCwgNDgsIDQ4LCAwLCA0OCwgMCwgNDgsIDQ4LCAwLCAwLCAwLCA0OCwgNDgsIAotICAgIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDAsIDAsIDAsIDAsIDE0NiwgMTM5LCAxMzUsIDEzOSwgMTM5LCAwLCAwLCAwLCAxMzksIDEzOSwgMTM5LCAwLCAxNDcsIAotICAgIDE0NywgMTQ3LCAxNDIsIDAsIDAsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAxNDYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ4LCAKLSAgICAxNDgsIDE0OCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgODUsIDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAxMzksIDEzOSwgCi0gICAgMTM5LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxNDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxNDAsIAorICAgIDQ4LCA0OCwgMTQwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDEzNSwgMTM5LCAxNDEsIDQ4LCAxMzksIDEzOSwgMTM5LCAxMzUsIAorICAgIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxNDIsIDEzOSwgMTM5LCA0OCwgCisgICAgODEsIDg2LCA4MSwgODEsIDEzNSwgMTM1LCAxMzUsIDE0MywgMTQzLCAxNDMsIDE0MywgMTQzLCAxNDMsIDE0MywgMTQzLCAKKyAgICA0OCwgNDgsIDEzNSwgMTM1LCA4MywgODMsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIAorICAgIDE0NCwgODMsIDUzLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICAxMzUsIDEzOSwgMTM5LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDQ4LCA0OCwgMCwgMCwgNDgsIAogICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAKLSAgICAwLCAwLCA0OCwgMTM1LCAxMzUsIDEzNSwgMTM5LCAxMzksIDEzOSwgMTM5LCAwLCAxMzUsIDEzNSwgMTUwLCAwLCAxMzUsIAotICAgIDEzNSwgMTM1LCAxNDIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE1MSwgMTUyLCAwLCA0OCwgNDgsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDQ4LCA0OCwgMTM1LCAxMzUsIDAsIDAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIAotICAgIDE0NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCA4MCwgMCwgMCwgCi0gICAgMTM5LCAxMzksIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCAwLCAwLCAxNDUsIDQ4LCAxNDYsIDEzOSwgMTM5LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDAsIDAsIDEzOSwgMTM5LCAwLCAKKyAgICAwLCAxNDcsIDE0NywgMTQyLCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQ2LCAwLCAwLCAwLCAwLCAxNDMsIDE0MywgCisgICAgMCwgMTQzLCA0OCwgNDgsIDEzNSwgMTM1LCAwLCAwLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgCisgICAgMTQ0LCAxNDQsIDQ4LCA0OCwgODUsIDg1LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCA4MCwgODUsIDAsIDAsIDAsIAorICAgIDAsIDAsIDEzNSwgMTM1LCAxMzksIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgMCwgMCwgCiAgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgMCwgMCwgMTQ1LCA0OCwgMTM5LCAxNTQsIDE0NywgMTM5LCAxNDYsIDEzOSwgMTM5LCAwLCAxNTQsIDE0NywgMTQ3LCAKLSAgICAwLCAxNDcsIDE0NywgMTM1LCAxNDIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0NiwgMTQ2LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCA0OCwgMCwgNDgsIDQ4LCAxMzUsIDEzNSwgMCwgMCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIAotICAgIDE0NCwgMTQ0LCAwLCA0OCwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEzOSwgCi0gICAgMTM5LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCAxNDMsIDAsIDQ4LCAxNDMsIDAsIAorICAgIDQ4LCA0OCwgMCwgMCwgMTQ1LCAwLCAxMzksIDEzOSwgMTM5LCAxMzUsIDEzNSwgMCwgMCwgMCwgMCwgMTM1LCAxMzUsIDAsIAorICAgIDAsIDEzNSwgMTM1LCAxNDIsIDAsIDAsIDAsIDEzNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQzLCAxNDMsIDE0MywgNDgsIAorICAgIDAsIDE0MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgCisgICAgMTQ0LCAxMzUsIDEzNSwgNDgsIDQ4LCA0OCwgMTM1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzUsIAorICAgIDEzNSwgMTM5LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCAwLCA0OCwgCiAgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCAwLCAwLCAxNDUsIDQ4LCAxMzksIDEzOSwgMTM5LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMCwgMTM1LCAxMzUsIAorICAgIDEzOSwgMCwgMTM5LCAxMzksIDE0MiwgMCwgMCwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDQ4LCA0OCwgMTM1LCAxMzUsIDAsIDAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAKKyAgICAxNDQsIDE0NCwgODMsIDg1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzUsIDEzOSwgCisgICAgMTM5LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDQ4LCA0OCwgMCwgMCwgNDgsIDQ4LCA0OCwgCiAgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDAsIDAsIDQ4LCAxNDYsIDEzOSwgMTM5LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDAsIDEzOSwgMTM5LCAxMzksIDAsIAotICAgIDE0NywgMTQ3LCAxNDcsIDE0MiwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgNDgsIDQ4LCAxMzUsIDEzNSwgMCwgMCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgCi0gICAgMTQ0LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAwLCAwLCAwLCA4MCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgMCwgMCwgMTM5LCAxMzksIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgCisgICAgMCwgMTQ1LCA0OCwgMTQ2LCAxMzUsIDEzOSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAwLCAwLCAxMzksIDE0NywgMCwgMCwgMTQ3LCAKKyAgICAxNDcsIDE0MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQ5LCAxNDYsIDAsIDAsIDAsIDAsIDE0MywgMTQzLCAwLCA0OCwgCisgICAgNDgsIDQ4LCAxMzUsIDEzNSwgMCwgMCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAKKyAgICA4MCwgNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEzNSwgCisgICAgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgMTQwLCA0OCwgCisgICAgMCwgMCwgMCwgNDgsIDQ4LCAwLCA0OCwgMCwgNDgsIDQ4LCAwLCAwLCAwLCA0OCwgNDgsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIAorICAgIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIDAsIDE0NiwgCisgICAgMTM5LCAxMzUsIDEzOSwgMTM5LCAwLCAwLCAwLCAxMzksIDEzOSwgMTM5LCAwLCAxNDcsIDE0NywgMTQ3LCAxNDIsIDAsIDAsIAorICAgIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAxNDYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0NCwgCisgICAgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ4LCAxNDgsIDE0OCwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgODUsIDI2LCAwLCAwLCAwLCAwLCAwLCAxMzUsIDEzOSwgMTM5LCAxMzksIDAsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAogICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIAotICAgIDE1NSwgMCwgMCwgMCwgMCwgMTQ2LCAxMzksIDEzOSwgMTM1LCAxMzUsIDEzNSwgMCwgMTM1LCAwLCAxMzksIDEzOSwgMTQ3LCAKLSAgICAxMzksIDE0NywgMTQ3LCAxNDcsIDE0NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMTM5LCAxMzksIDgzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgNDgsIDEzNSwgMTM1LCAKKyAgICAxMzUsIDEzOSwgMTM5LCAxMzksIDEzOSwgMCwgMTM1LCAxMzUsIDE1MCwgMCwgMTM1LCAxMzUsIDEzNSwgMTQyLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAxNTEsIDE1MiwgMCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDEzNSwgMTM1LCAKKyAgICAwLCAwLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgODAsIDAsIDEzNSwgMTM5LCAxMzksIDAsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAxNDUsIDQ4LCAKKyAgICAxMzksIDE1NCwgMTQ3LCAxMzksIDE0NiwgMTM5LCAxMzksIDAsIDE1NCwgMTQ3LCAxNDcsIDAsIDE0NywgMTQ3LCAxMzUsIAorICAgIDE0MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQ2LCAxNDYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCAwLCA0OCwgNDgsIAorICAgIDEzNSwgMTM1LCAwLCAwLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDAsIDQ4LCAKKyAgICA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTM1LCAxMzksIDEzOSwgMCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDQ4LCAKKyAgICAxNDYsIDEzOSwgMTM5LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDAsIDEzOSwgMTM5LCAxMzksIDAsIDE0NywgMTQ3LCAxNDcsIAorICAgIDE0MiwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCAKKyAgICAxMzUsIDEzNSwgMCwgMCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDgsIAorICAgIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAwLCAwLCAwLCA4MCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMTM5LCAKKyAgICAxMzksIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDAsIDQ4LCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMTU1LCAwLCAwLCAwLCAKKyAgICAwLCAxNDYsIDEzOSwgMTM5LCAxMzUsIDEzNSwgMTM1LCAwLCAxMzUsIDAsIDEzOSwgMTM5LCAxNDcsIDEzOSwgMTQ3LCAxNDcsIAorICAgIDE0NywgMTQ2LCAwLCAwLCAwLCAwLCAwLCAwLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAKKyAgICAxNDQsIDAsIDAsIDEzOSwgMTM5LCA4MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgCiAgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCiAgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxMzUsIDQ4LCAxNTYsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTU3LCAKLSAgICAxNTcsIDE0MiwgMCwgMCwgMCwgMCwgODUsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDUzLCAxMzUsIDE1OCwgMTU4LCAxNTgsIAotICAgIDE1OCwgMTM1LCAxMzUsIDEzNSwgODMsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgCi0gICAgODMsIDgzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDAsIDQ4LCAwLCAwLCA0OCwgNDgsIAotICAgIDAsIDQ4LCAwLCAwLCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCAwLCA0OCwgMCwgNDgsIDAsIDAsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDEzNSwgNDgsIDE1NiwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxNTksIDE1OSwgMCwgMTM1LCAxMzUsIDQ4LCAwLCAwLCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDAsIDUzLCAwLCAxNjAsIDE2MCwgMTYwLCAxNjAsIDEzNSwgMTM1LCAwLCAwLCAxNDQsIDE0NCwgCi0gICAgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDAsIDAsIDE1NiwgMTU2LCA0OCwgNDgsIDAsIDAsIDAsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDEzNSwgNDgsIDE1NiwgMTM1LCAxMzUsIDEzNSwgMTM1LCAKKyAgICAxNTcsIDE1NywgMTQyLCAwLCAwLCAwLCAwLCA4NSwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNTMsIDEzNSwgMTU4LCAxNTgsIAorICAgIDE1OCwgMTU4LCAxMzUsIDEzNSwgMTM1LCA4MywgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgCisgICAgMTQ0LCA4MywgODMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgMCwgNDgsIDAsIDAsIAorICAgIDQ4LCA0OCwgMCwgNDgsIDAsIDAsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDAsIDQ4LCAwLCA0OCwgMCwgMCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgMTM1LCA0OCwgMTU2LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDE1OSwgMTU5LCAwLCAxMzUsIDEzNSwgNDgsIDAsIDAsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNTMsIDAsIDE2MCwgMTYwLCAxNjAsIDE2MCwgMTM1LCAxMzUsIDAsIDAsIDE0NCwgCisgICAgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMCwgMCwgMTU2LCAxNTYsIDQ4LCA0OCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgNDgsIDgwLCA4MCwgODAsIDgzLCA4MywgODMsIDgzLCA4MywgODMsIDgzLCA4MywgMTYxLCA4MywgCi0gICAgODMsIDgzLCA4MywgODMsIDgzLCA4MCwgODMsIDgwLCA4MCwgODAsIDg2LCA4NiwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCi0gICAgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA4MCwgODAsIDgwLCA4MywgODMsIDgzLCA4MywgODMsIDgzLCA4MywgODMsIDE2MSwgCisgICAgODMsIDgzLCA4MywgODMsIDgzLCA4MywgODAsIDgzLCA4MCwgODAsIDgwLCA4NiwgODYsIDgwLCA4MCwgODAsIDgwLCA4MCwgCisgICAgODAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAKICAgICAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCA4MCwgODYsIDgwLCA4NiwgODAsIDE2MiwgMTYzLCAxNjQsIDE2MywgCiAgICAgMTY0LCAxMzksIDEzOSwgNDgsIDQ4LCA0OCwgMTQzLCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDE0MywgCiAgICAgNDgsIDQ4LCA0OCwgNDgsIDE0MywgNDgsIDQ4LCA0OCwgNDgsIDE0MywgNDgsIDQ4LCA0OCwgNDgsIDE0MywgNDgsIDQ4LCAKQEAgLTE1MTMsMTAgKzE2MzIsMTAgQEAKICAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKICAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKICAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA4MywgODMsIDgzLCAxNzMsIDE3MywgMTczLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDEzNSwgMTM1LCAxNDIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDEzNSwgMTM1LCAKKyAgICA0OCwgNDgsIDQ4LCA4MywgODMsIDgzLCAxNzMsIDE3MywgMTczLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgMTM1LCAxMzUsIDE0MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTM1LCAxMzUsIAogICAgIDE0MiwgODMsIDgzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAogICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxMzUsIDEzNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCAKQEAgLTE1NDQsNyArMTY2Myw3IEBACiAgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCiAgICAgNDgsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKICAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDAsIDAsIDAsIDEzNSwgMTM1LCAxMzUsIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM1LCAxMzUsIDEzOSwgMTM5LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgMCwgMTM1LCAxMzUsIDEzNSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzUsIDEzNSwgMTM5LCAxMzksIAogICAgIDEzOSwgMCwgMCwgMCwgMCwgMTM5LCAxMzksIDEzNSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgODcsIDgxLCA4NiwgCiAgICAgMCwgMCwgMCwgMCwgMjYsIDAsIDAsIDAsIDEzOCwgMTM4LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIAogICAgIDE0NCwgMTQ0LCAxNDQsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCkBAIC0xNTY3LDI5NSArMTY4NiwyOTcgQEAKICAgICA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCAwLCAwLCA4NiwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIAogICAgIDE0NCwgMTQ0LCAwLCAwLCAwLCAwLCAwLCAwLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAKICAgICAxNDQsIDAsIDAsIDAsIDAsIDAsIDAsIDgzLCA4MywgODMsIDgzLCA4MywgODMsIDgzLCA1MywgODMsIDgzLCA4MywgODMsIAotICAgIDgzLCA4MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgODMsIDgzLCAwLCAwLCA4MSwgODEsIDgxLCA4MSwgODEsIDg2LCA4NiwgODYsIDg2LCA4NiwgODYsIDgxLCA4MSwgODYsIDgyLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzOSwgNDgsIDE0MCwgNDgsIAotICAgIDE0MCwgNDgsIDE0MCwgNDgsIDE0MCwgNDgsIDE0MCwgNDgsIDQ4LCA0OCwgMTQwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzUsIDEzNSwgMTM1LCAxMzUsIAorICAgIDEzOSwgNDgsIDE0MCwgNDgsIDE0MCwgNDgsIDE0MCwgNDgsIDE0MCwgNDgsIDE0MCwgNDgsIDQ4LCA0OCwgMTQwLCA0OCwgCiAgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTQ1LCAxNDYsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAKLSAgICAxNDcsIDEzNSwgMTQ3LCAxMzksIDEzOSwgMTQ3LCAxNDcsIDEzNSwgMTQ3LCAxNzUsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCAwLCAwLCAwLCAwLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDgzLCA4MywgCi0gICAgODMsIDgzLCA4MywgODMsIDgzLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODEsIDg2LCA4MSwgCi0gICAgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgMCwgMCwgMCwgMTM1LCAKLSAgICAxMzUsIDEzOSwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTM5LCAxMzUsIDEzNSwgCi0gICAgMTM1LCAxMzUsIDEzOSwgMTM5LCAxMzUsIDEzNSwgMTc1LCAxNDIsIDEzOSwgMTM5LCA0OCwgNDgsIDE0NCwgMTQ0LCAxNDQsIAotICAgIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxNDUsIDE0NiwgMTM1LCAKKyAgICAxMzUsIDEzNSwgMTM1LCAxMzUsIDE0NywgMTM1LCAxNDcsIDEzOSwgMTM5LCAxNDcsIDE0NywgMTM1LCAxNDcsIDE3NSwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIDAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgCisgICAgMTQ0LCAxNDQsIDE0NCwgODMsIDgzLCA4MywgODMsIDgzLCA4MywgODMsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKKyAgICA4MCwgODAsIDgwLCA4MSwgODYsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKKyAgICA4MCwgODAsIDgwLCAwLCAwLCAwLCAxMzUsIDEzNSwgMTM5LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKICAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDE0NSwgCi0gICAgMTM5LCAxMzUsIDEzNSwgMTM5LCAxMzksIDEzOSwgMTM1LCAxMzksIDEzNSwgMTM1LCAxMzUsIDE3NSwgMTc1LCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA4MywgODMsIDgzLCA4MywgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDEzOSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzksIDEzOSwgMTM1LCAxMzUsIDE3NSwgMTQyLCAxMzUsIAorICAgIDEzNSwgNDgsIDQ4LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDQ4LCA0OCwgCiAgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgCi0gICAgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzOSwgMTM5LCAxMzUsIDE0NSwgMCwgMCwgMCwgODMsIAotICAgIDgzLCA4MywgODMsIDgzLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDAsIDAsIAotICAgIDAsIDQ4LCA0OCwgNDgsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgNDgsIDQ4LCAKICAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNTMsIDUzLCA1MywgNTMsIDUzLCA1MywgODMsIDgzLCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxNDUsIDEzOSwgMTM1LCAxMzUsIDEzOSwgMTM5LCAxMzksIDEzNSwgMTM5LCAxMzUsIAorICAgIDEzNSwgMTM1LCAxNzUsIDE3NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODMsIDgzLCA4MywgODMsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDEzOSwgMTM5LCAKKyAgICAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgCisgICAgMTM5LCAxMzksIDEzNSwgMTQ1LCAwLCAwLCAwLCA4MywgODMsIDgzLCA4MywgODMsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAKKyAgICAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIAorICAgIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA1MywgNTMsIDUzLCA1MywgNTMsIDUzLCA4MywgODMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDgzLCA4MywgODMsIDgzLCA4MywgODMsIAotICAgIDgzLCA4MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODEsIDgxLCA4MSwgODMsIDE3NiwgODYsIDg2LCA4NiwgODYsIDg2LCAKLSAgICA4MSwgODEsIDg2LCA4NiwgODYsIDg2LCA4MSwgMTM5LCAxNzYsIDE3NiwgMTc2LCAxNzYsIDE3NiwgMTc2LCAxNzYsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA4NiwgNDgsIDQ4LCA0OCwgNDgsIDEzOSwgMTM5LCA4MSwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCisgICAgMCwgMCwgODMsIDgzLCA4MywgODMsIDgzLCA4MywgODMsIDgzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4MSwgODEsIDgxLCAKKyAgICA4MywgMTc2LCA4NiwgODYsIDg2LCA4NiwgODYsIDgxLCA4MSwgODYsIDg2LCA4NiwgODYsIDgxLCAxMzksIDE3NiwgMTc2LCAKKyAgICAxNzYsIDE3NiwgMTc2LCAxNzYsIDE3NiwgNDgsIDQ4LCA0OCwgNDgsIDg2LCA0OCwgNDgsIDQ4LCA0OCwgMTM5LCAxMzksIAorICAgIDgxLCA0OCwgNDgsIDAsIDgxLCA4MSwgMCwgMCwgMCwgMCwgMCwgMCwgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKICAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNTEsIDUxLCA1MSwgNTMsIDUxLCA1MSwgNTEsIDUxLCAKLSAgICA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTMsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCAKLSAgICA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUzLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCAKLSAgICA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCAKLSAgICA1MSwgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDUxLCA0NywgNDcsIDQ3LCAKICAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNTEsIDUxLCA1MSwgNTEsIDUxLCAKKyAgICA1MSwgNTEsIDUxLCA1MywgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MywgNTEsIDUxLCAKKyAgICA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTMsIDUxLCAKICAgICA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCAKLSAgICA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDgxLCA4MSwgODYsIDgxLCAKLSAgICA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4NiwgODEsIDgxLCAxNzcsIDE3OCwgODYsIDE3OSwgODEsIDgxLCA4MSwgODEsIAorICAgIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAorICAgIDQ3LCA0NywgNDcsIDQ3LCA1MSwgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAorICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAorICAgIDQ3LCA0NywgNDcsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIAorICAgIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIAorICAgIDUxLCA1MSwgNTEsIDUxLCA4MSwgODEsIDg2LCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODYsIDgxLCA4MSwgMTc3LCAKKyAgICAxNzgsIDg2LCAxNzksIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIAogICAgIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE4MCwgODYsIAotICAgIDgxLCA4NiwgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIAotICAgIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIAotICAgIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIAotICAgIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIAotICAgIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIAotICAgIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIAotICAgIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIAotICAgIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIAotICAgIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgNDMsIDQzLCA0MywgNDMsIDM1LCAxODEsIDQ3LCA0NywgNDQsIDQ3LCAKLSAgICAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAKLSAgICAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAKLSAgICAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAKLSAgICAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAKLSAgICAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAKLSAgICA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgNDMsIDM4LCAzOCwgMzgsIDM4LCAKLSAgICAzOCwgMzgsIDM4LCAzOCwgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgMCwgMCwgMzgsIDM4LCAzOCwgMzgsIDM4LCAzOCwgMCwgCi0gICAgMCwgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCAzOCwgMzgsIDM4LCAzOCwgMzgsIDM4LCAzOCwgMzgsIDQzLCAKKyAgICA4MSwgODEsIDgxLCA4MSwgMCwgMCwgMCwgMCwgMCwgMCwgMTgwLCA4NiwgODEsIDg2LCAzOCwgNDMsIDM4LCA0MywgMzgsIAorICAgIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIAorICAgIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIAorICAgIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIAorICAgIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIAorICAgIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIAorICAgIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIAorICAgIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIAorICAgIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIAorICAgIDQzLCA0MywgNDMsIDQzLCA0MywgMzUsIDE4MSwgNDcsIDQ3LCA0NCwgNDcsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCAKKyAgICA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCAKKyAgICA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCAKKyAgICA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCAKKyAgICA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCAKKyAgICA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQzLCAKICAgICA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgMzgsIDM4LCAzOCwgMzgsIDM4LCAzOCwgMzgsIDM4LCA0MywgNDMsIDQzLCAKICAgICA0MywgNDMsIDQzLCAwLCAwLCAzOCwgMzgsIDM4LCAzOCwgMzgsIDM4LCAwLCAwLCA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCAKLSAgICA0MywgNDMsIDAsIDM4LCAwLCAzOCwgMCwgMzgsIDAsIDM4LCA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgNDMsIDM4LCAKLSAgICAzOCwgMzgsIDM4LCAzOCwgMzgsIDM4LCAzOCwgNDMsIDE4MiwgNDMsIDE4MiwgNDMsIDE4MiwgNDMsIDE4MiwgNDMsIDE4MiwgCi0gICAgNDMsIDE4MiwgNDMsIDE4MiwgMCwgMCwgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCAxODMsIDE4MywgMTgzLCAKLSAgICAxODMsIDE4MywgMTgzLCAxODMsIDE4MywgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCAxODMsIDE4MywgMTgzLCAKLSAgICAxODMsIDE4MywgMTgzLCAxODMsIDE4MywgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCAxODMsIDE4MywgMTgzLCAKLSAgICAxODMsIDE4MywgMTgzLCAxODMsIDE4MywgNDMsIDQzLCA0MywgNDMsIDQzLCAwLCA0MywgNDMsIDM4LCAzOCwgMzgsIDE4NCwgCi0gICAgMTgzLCA1OCwgMTgyLCA1OCwgNTgsIDc2LCA0MywgNDMsIDQzLCAwLCA0MywgNDMsIDM4LCAxODQsIDM4LCAxODQsIDE4MywgCi0gICAgNzYsIDc2LCA3NiwgNDMsIDQzLCA0MywgMTgyLCAwLCAwLCA0MywgNDMsIDM4LCAzOCwgMzgsIDE4NCwgMCwgNzYsIDc2LCAKLSAgICA3NiwgNDMsIDQzLCA0MywgMTgyLCA0MywgNDMsIDQzLCA0MywgMzgsIDM4LCAzOCwgMTg0LCAzOCwgNzYsIDE4NSwgMTg1LCAKLSAgICAwLCAwLCA0MywgNDMsIDQzLCAwLCA0MywgNDMsIDM4LCAxODQsIDM4LCAxODQsIDE4MywgMTg1LCA1OCwgMCwgMTg2LCAxODYsIAotICAgIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE3NCwgMTc0LCAxNzQsIDE4OCwgMTg5LCAKLSAgICAxOTAsIDE5MSwgODQsIDE5MCwgMTkwLCAxOTAsIDIyLCAxOTIsIDE5MywgMTk0LCAxOTUsIDE5NiwgMTkzLCAxOTQsIDE5NSwgCi0gICAgMTk2LCAyMiwgMjIsIDIyLCAxMzgsIDE5NywgMTk3LCAxOTcsIDIyLCAxOTgsIDE5OSwgMjAwLCAyMDEsIDIwMiwgMjAzLCAKLSAgICAyMDQsIDIxLCAyMDUsIDExMCwgMjA1LCAyMDYsIDIwNywgMjIsIDE5MiwgMTkyLCAxMzgsIDI4LCAzNiwgMjIsIDE5MiwgCi0gICAgMTM4LCAxOTcsIDIwOCwgMjA4LCAxMzgsIDEzOCwgMTM4LCAyMDksIDE2MywgMTY0LCAxOTIsIDE5MiwgMTkyLCAxMzgsIAotICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgNzgsIDEzOCwgMjA4LCAxMzgsIDEzOCwgMTkyLCAxMzgsIDEzOCwgCi0gICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDE4NywgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDAsIDIxMCwgMjExLCAyMTIsIAotICAgIDIxMywgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMjE0LCA1MSwgMCwgMCwgMzQsIDIxNCwgMjE0LCAyMTQsIDIxNCwgCi0gICAgMjE0LCAyMTUsIDIxNSwgMjE2LCAyMTcsIDIxOCwgMjE5LCAyMTQsIDM0LCAzNCwgMzQsIDM0LCAyMTQsIDIxNCwgMjE0LCAKLSAgICAyMTQsIDIxNCwgMjE1LCAyMTUsIDIxNiwgMjE3LCAyMTgsIDAsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIAotICAgIDUxLCA1MSwgNTEsIDUxLCAwLCAwLCAwLCA4NSwgODUsIDg1LCA4NSwgODUsIDg1LCA4NSwgODUsIDIyMCwgMjIxLCA4NSwgCi0gICAgODUsIDIzLCA4NSwgODUsIDg1LCA4NSwgODUsIDg1LCA4NSwgODUsIDg1LCA4NSwgODUsIDg1LCA4NSwgODUsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDgxLCA4MSwgMTc2LCAxNzYsIAotICAgIDgxLCA4MSwgODEsIDgxLCAxNzYsIDE3NiwgMTc2LCA4MSwgODEsIDgyLCA4MiwgODIsIDgyLCA4MSwgODIsIDgyLCA4MiwgCi0gICAgMTc2LCAxNzYsIDgxLCA4NiwgODEsIDE3NiwgMTc2LCA4NiwgODYsIDg2LCA4NiwgODEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDIyMiwgMjIyLCA0OSwgMjIzLCAyNiwgMjIzLCAyMjIsIDQ5LCAyNiwgMjIzLCAzNSwgCi0gICAgNDksIDQ5LCA0OSwgMzUsIDM1LCA0OSwgNDksIDQ5LCA0NiwgMjYsIDQ5LCAyMjMsIDI2LCA3OCwgNDksIDQ5LCA0OSwgNDksIAotICAgIDQ5LCAyNiwgMjYsIDIyMiwgMjIzLCAyMjMsIDI2LCA0OSwgMjYsIDIyNCwgMjYsIDQ5LCAyNiwgMTg0LCAyMjQsIDQ5LCA0OSwgCi0gICAgMjI1LCAzNSwgNDksIDQ5LCA0NCwgNDksIDM1LCAxNTYsIDE1NiwgMTU2LCAxNTYsIDM1LCAyNiwgMjIyLCAzNSwgMzUsIDQ5LCAKLSAgICA0OSwgMjI2LCA3OCwgNzgsIDc4LCA3OCwgNDksIDM1LCAzNSwgMzUsIDM1LCAyNiwgNzgsIDI2LCAyNiwgNDcsIDgwLCAyMjcsIAotICAgIDIyNywgMjI3LCAzNywgMzcsIDIyNywgMjI3LCAyMjcsIDIyNywgMjI3LCAyMjcsIDM3LCAzNywgMzcsIDM3LCAyMjcsIDIyOCwgCi0gICAgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOSwgMjI5LCAyMjksIAotICAgIDIyOSwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjksIDIyOSwgMjI5LCAKLSAgICAyMjksIDIyOSwgMjI5LCAxNzMsIDE3MywgMTczLCA0NCwgNDcsIDE3MywgMTczLCAxNzMsIDE3MywgMzcsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDQwLCA0MCwgNDAsIDQwLCA0MCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAyMzAsIDIzMCwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDc4LCAyNiwgMjYsIDc4LCAyNiwgMjYsIDc4LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjMwLCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAzMCwgMzAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyMzEsIDIzMCwgMjMwLCAyNiwgMjYsIDQwLCAyNiwgNDAsIAorICAgIDQzLCA0MywgMzgsIDM4LCAzOCwgMzgsIDM4LCAzOCwgMzgsIDM4LCA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgNDMsIAorICAgIDM4LCAzOCwgMzgsIDM4LCAzOCwgMzgsIDM4LCAzOCwgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgMCwgMCwgMzgsIDM4LCAzOCwgCisgICAgMzgsIDM4LCAzOCwgMCwgMCwgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCAwLCAzOCwgMCwgMzgsIDAsIDM4LCAwLCAKKyAgICAzOCwgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCAzOCwgMzgsIDM4LCAzOCwgMzgsIDM4LCAzOCwgMzgsIDQzLCAKKyAgICAxODIsIDQzLCAxODIsIDQzLCAxODIsIDQzLCAxODIsIDQzLCAxODIsIDQzLCAxODIsIDQzLCAxODIsIDAsIDAsIDQzLCA0MywgCisgICAgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgMTgzLCAxODMsIDE4MywgMTgzLCAxODMsIDE4MywgMTgzLCAxODMsIDQzLCA0MywgCisgICAgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgMTgzLCAxODMsIDE4MywgMTgzLCAxODMsIDE4MywgMTgzLCAxODMsIDQzLCA0MywgCisgICAgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgMTgzLCAxODMsIDE4MywgMTgzLCAxODMsIDE4MywgMTgzLCAxODMsIDQzLCA0MywgCisgICAgNDMsIDQzLCA0MywgMCwgNDMsIDQzLCAzOCwgMzgsIDM4LCAxODQsIDE4MywgNTgsIDE4MiwgNTgsIDU4LCA3NiwgNDMsIDQzLCAKKyAgICA0MywgMCwgNDMsIDQzLCAzOCwgMTg0LCAzOCwgMTg0LCAxODMsIDc2LCA3NiwgNzYsIDQzLCA0MywgNDMsIDE4MiwgMCwgMCwgCisgICAgNDMsIDQzLCAzOCwgMzgsIDM4LCAxODQsIDAsIDc2LCA3NiwgNzYsIDQzLCA0MywgNDMsIDE4MiwgNDMsIDQzLCA0MywgNDMsIAorICAgIDM4LCAzOCwgMzgsIDE4NCwgMzgsIDc2LCAxODUsIDE4NSwgMCwgMCwgNDMsIDQzLCA0MywgMCwgNDMsIDQzLCAzOCwgMTg0LCAKKyAgICAzOCwgMTg0LCAxODMsIDE4NSwgNTgsIDAsIDE4NiwgMTg2LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIAorICAgIDE4NywgMTg3LCAxNzQsIDE3NCwgMTc0LCAxODgsIDE4OSwgMTkwLCAxOTEsIDg0LCAxOTAsIDE5MCwgMTkwLCAyMiwgMTkyLCAKKyAgICAxOTMsIDE5NCwgMTk1LCAxOTYsIDE5MywgMTk0LCAxOTUsIDE5NiwgMjIsIDIyLCAyMiwgMTM4LCAxOTcsIDE5NywgMTk3LCAKKyAgICAyMiwgMTk4LCAxOTksIDIwMCwgMjAxLCAyMDIsIDIwMywgMjA0LCAyMSwgMjA1LCAxMTAsIDIwNSwgMjA2LCAyMDcsIDIyLCAKKyAgICAxOTIsIDE5MiwgMTM4LCAyOCwgMzYsIDIyLCAxOTIsIDEzOCwgMTk3LCAyMDgsIDIwOCwgMTM4LCAxMzgsIDEzOCwgMjA5LCAKKyAgICAxNjMsIDE2NCwgMTkyLCAxOTIsIDE5MiwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDc4LCAxMzgsIAorICAgIDIwOCwgMTM4LCAxMzgsIDE5MiwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxODcsIDE3NCwgMTc0LCAKKyAgICAxNzQsIDE3NCwgMTc0LCAwLCAyMTAsIDIxMSwgMjEyLCAyMTMsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDIxNCwgCisgICAgNTEsIDAsIDAsIDM0LCAyMTQsIDIxNCwgMjE0LCAyMTQsIDIxNCwgMjE1LCAyMTUsIDIxNiwgMjE3LCAyMTgsIDIxOSwgMjE0LCAKKyAgICAzNCwgMzQsIDM0LCAzNCwgMjE0LCAyMTQsIDIxNCwgMjE0LCAyMTQsIDIxNSwgMjE1LCAyMTYsIDIxNywgMjE4LCAwLCA1MSwgCisgICAgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgMCwgMCwgMCwgODUsIDg1LCA4NSwgODUsIAorICAgIDg1LCA4NSwgODUsIDg1LCAyMjAsIDIyMSwgODUsIDg1LCAyMywgODUsIDg1LCA4NSwgODUsIDg1LCA4NSwgODUsIDg1LCA4NSwgCisgICAgODUsIDg1LCA4NSwgODUsIDg1LCA4NSwgODUsIDg1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA4MSwgODEsIDE3NiwgMTc2LCA4MSwgODEsIDgxLCA4MSwgMTc2LCAxNzYsIDE3NiwgODEsIDgxLCA4MiwgCisgICAgODIsIDgyLCA4MiwgODEsIDgyLCA4MiwgODIsIDE3NiwgMTc2LCA4MSwgODYsIDgxLCAxNzYsIDE3NiwgODYsIDg2LCA4NiwgCisgICAgODYsIDgxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyMjIsIDIyMiwgNDksIDIyMywgCisgICAgMjYsIDIyMywgMjIyLCA0OSwgMjYsIDIyMywgMzUsIDQ5LCA0OSwgNDksIDM1LCAzNSwgNDksIDQ5LCA0OSwgNDYsIDI2LCAKKyAgICA0OSwgMjIzLCAyNiwgNzgsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgMjYsIDI2LCAyMjIsIDIyMywgMjIzLCAyNiwgNDksIDI2LCAKKyAgICAyMjQsIDI2LCA0OSwgMjYsIDE4NCwgMjI0LCA0OSwgNDksIDIyNSwgMzUsIDQ5LCA0OSwgNDQsIDQ5LCAzNSwgMTU2LCAxNTYsIAorICAgIDE1NiwgMTU2LCAzNSwgMjYsIDIyMiwgMzUsIDM1LCA0OSwgNDksIDIyNiwgNzgsIDc4LCA3OCwgNzgsIDQ5LCAzNSwgMzUsIAorICAgIDM1LCAzNSwgMjYsIDc4LCAyNiwgMjYsIDQ3LCA4MCwgMjI3LCAyMjcsIDIyNywgMzcsIDM3LCAyMjcsIDIyNywgMjI3LCAKKyAgICAyMjcsIDIyNywgMjI3LCAzNywgMzcsIDM3LCAzNywgMjI3LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIAorICAgIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjksIDIyOSwgMjI5LCAyMjksIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAKKyAgICAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI5LCAyMjksIDIyOSwgMjI5LCAyMjksIDIyOSwgMTczLCAxNzMsIDE3MywgNDQsIAorICAgIDQ3LCAxNzMsIDE3MywgMTczLCAxNzMsIDM3LCAwLCAwLCAwLCAwLCAwLCAwLCA0MCwgNDAsIDQwLCA0MCwgNDAsIDMwLCAzMCwgCisgICAgMzAsIDMwLCAzMCwgMjMwLCAyMzAsIDI2LCAyNiwgMjYsIDI2LCA3OCwgMjYsIDI2LCA3OCwgMjYsIDI2LCA3OCwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDIzMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMzAsIDMwLCAyNiwgCiAgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMzAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDc4LCA3OCwgNzgsIDc4LCA3OCwgCi0gICAgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDQwLCAyMzIsIDIzMywgMjMzLCAyMzQsIDc4LCA3OCwgNDAsIDIzMywgMjM0LCAKLSAgICAyMzIsIDIzMywgMjM0LCAyMzIsIDc4LCA0MCwgNzgsIDIzMywgMjM1LCAyMzYsIDc4LCAyMzMsIDIzMiwgNzgsIDc4LCA3OCwgCi0gICAgMjMzLCAyMzIsIDIzMiwgMjMzLCA0MCwgMjMzLCAyMzMsIDIzMiwgMjMyLCA0MCwgMjM0LCA0MCwgMjM0LCA0MCwgNDAsIDQwLCAKLSAgICA0MCwgMjMzLCAyMzcsIDIyNiwgMjMzLCAyMjYsIDIyNiwgMjMyLCAyMzIsIDIzMiwgNDAsIDQwLCA0MCwgNDAsIDc4LCAyMzIsIAotICAgIDc4LCAyMzIsIDIzMywgMjMzLCAyMzIsIDIzMiwgMjMyLCAyMzQsIDIzMiwgMjMyLCAyMzQsIDIzMiwgMjMyLCAyMzQsIDIzMywgCi0gICAgMjM0LCAyMzIsIDIzMiwgMjMzLCA3OCwgNzgsIDc4LCA3OCwgNzgsIDIzMywgMjMyLCAyMzIsIDIzMiwgNzgsIDc4LCA3OCwgCi0gICAgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgMjMyLCAyMzgsIDQwLCAyMzQsIDc4LCAyMzMsIDIzMywgMjMzLCAyMzMsIDIzMiwgCi0gICAgMjMyLCAyMzMsIDIzMywgNzgsIDIzMCwgMjM4LCAyMzgsIDIzNCwgMjM0LCAyMzIsIDIzMiwgMjM0LCAyMzQsIDIzMiwgMjMyLCAKLSAgICAyMzQsIDIzNCwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjM0LCAyMzQsIDIzMywgMjMzLCAyMzQsIDIzNCwgCi0gICAgMjMzLCAyMzMsIDIzNCwgMjM0LCAyMzIsIDIzMiwgMjMyLCA3OCwgNzgsIDIzMiwgMjMyLCAyMzIsIDIzMiwgNzgsIDc4LCAKLSAgICA0MCwgNzgsIDc4LCAyMzIsIDQwLCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDIzMiwgMjMyLCA3OCwgNDAsIAotICAgIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzNCwgMjM0LCAyMzQsIDIzNCwgMjMyLCAyMzIsIDIzMiwgMjMyLCAKLSAgICAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgNzgsIDc4LCA3OCwgNzgsIDc4LCAyMzIsIDIzMywgNzgsIDc4LCA3OCwgNzgsIAotICAgIDc4LCA3OCwgNzgsIDc4LCA3OCwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDc4LCA3OCwgMjMyLCAyMzIsIDc4LCA3OCwgCi0gICAgNzgsIDc4LCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzNCwgMjM0LCAyMzQsIAotICAgIDIzNCwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjM0LCAyMzQsIDIzNCwgMjM0LCA3OCwgNzgsIDIzMiwgMjMyLCAKLSAgICAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAxNjMsIDE2NCwgMTYzLCAxNjQsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDMwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjMyLCAyMzIsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyMzksIDI0MCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyMzEsIDIzMCwgMjMwLCAyNiwgMjYsIDQwLCAyNiwgNDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDMwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA0MCwgMjMyLCAKKyAgICAyMzMsIDIzMywgMjM0LCA3OCwgNzgsIDQwLCAyMzMsIDIzNCwgMjMyLCAyMzMsIDIzNCwgMjMyLCA3OCwgNDAsIDc4LCAyMzMsIAorICAgIDIzNSwgMjM2LCA3OCwgMjMzLCAyMzIsIDc4LCA3OCwgNzgsIDIzMywgMjMyLCAyMzIsIDIzMywgNDAsIDIzMywgMjMzLCAKKyAgICAyMzIsIDIzMiwgNDAsIDIzNCwgNDAsIDIzNCwgNDAsIDQwLCA0MCwgNDAsIDIzMywgMjM3LCAyMjYsIDIzMywgMjI2LCAyMjYsIAorICAgIDIzMiwgMjMyLCAyMzIsIDQwLCA0MCwgNDAsIDQwLCA3OCwgMjMyLCA3OCwgMjMyLCAyMzMsIDIzMywgMjMyLCAyMzIsIDIzMiwgCisgICAgMjM0LCAyMzIsIDIzMiwgMjM0LCAyMzIsIDIzMiwgMjM0LCAyMzMsIDIzNCwgMjMyLCAyMzIsIDIzMywgNzgsIDc4LCA3OCwgCisgICAgNzgsIDc4LCAyMzMsIDIzMiwgMjMyLCAyMzIsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDIzMiwgMjM4LCAKKyAgICA0MCwgMjM0LCA3OCwgMjMzLCAyMzMsIDIzMywgMjMzLCAyMzIsIDIzMiwgMjMzLCAyMzMsIDc4LCAyMzAsIDIzOCwgMjM4LCAKKyAgICAyMzQsIDIzNCwgMjMyLCAyMzIsIDIzNCwgMjM0LCAyMzIsIDIzMiwgMjM0LCAyMzQsIDIzMiwgMjMyLCAyMzIsIDIzMiwgCisgICAgMjMyLCAyMzIsIDIzNCwgMjM0LCAyMzMsIDIzMywgMjM0LCAyMzQsIDIzMywgMjMzLCAyMzQsIDIzNCwgMjMyLCAyMzIsIAorICAgIDIzMiwgNzgsIDc4LCAyMzIsIDIzMiwgMjMyLCAyMzIsIDc4LCA3OCwgNDAsIDc4LCA3OCwgMjMyLCA0MCwgNzgsIDc4LCA3OCwgCisgICAgNzgsIDc4LCA3OCwgNzgsIDc4LCAyMzIsIDIzMiwgNzgsIDQwLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzQsIAorICAgIDIzNCwgMjM0LCAyMzQsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDc4LCA3OCwgNzgsIAorICAgIDc4LCA3OCwgMjMyLCAyMzMsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDIzMiwgMjMyLCAyMzIsIDIzMiwgCisgICAgMjMyLCA3OCwgNzgsIDIzMiwgMjMyLCA3OCwgNzgsIDc4LCA3OCwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAKKyAgICAyMzIsIDIzMiwgMjMyLCAyMzQsIDIzNCwgMjM0LCAyMzQsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzNCwgCisgICAgMjM0LCAyMzQsIDIzNCwgNzgsIDc4LCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIAorICAgIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMTYzLCAxNjQsIAorICAgIDE2MywgMTY0LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAzMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDIzMiwgMjMyLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjM5LCAyNDAsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCiAgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCiAgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCiAgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCi0gICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgMjYsIDc4LCAyNiwgCisgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgMjYsIDc4LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCA4MCwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgCisgICAgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCiAgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCA4MCwgMjYsIDI2LCAyNiwgMjYsIDI2LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgCi0gICAgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDc4LCA3OCwgNzgsIDc4LCA3OCwgCisgICAgNzgsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKICAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNywgMzcsIDM3LCAzNywgMzcsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAKICAgICAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAKLSAgICAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIDM0LCAKLSAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKLSAgICAzNCwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIAorICAgIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAorICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAyNDEsIDI0MSwgMjQxLCAyNDEsIAogICAgIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAKICAgICAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgCiAgICAgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIAogICAgIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAKLSAgICAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjI3LCAyNDIsIDI0MiwgMjQyLCAyNDIsIDI0MiwgCi0gICAgMjQyLCAyNDIsIDI0MiwgMjQyLCAyNDIsIDI0MiwgMjQyLCAyNDIsIDI0MiwgMjQyLCAyNDIsIDI0MiwgMjQyLCAyNDIsIAotICAgIDI0MiwgMjQyLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgCisgICAgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIAorICAgIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjI3LCAyNDIsIDI0MiwgMjQyLCAyNDIsIDI0MiwgMjQyLCAyNDIsIDI0MiwgMjQyLCAKKyAgICAyNDIsIDI0MiwgMjQyLCAyNDIsIDI0MiwgMjQyLCAyNDIsIDI0MiwgMjQyLCAyNDIsIDI0MiwgMjQyLCAzMCwgMzAsIDMwLCAKICAgICAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAKICAgICAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAKICAgICAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAKLSAgICAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAyNiwgMjYsIDI2LCAyNiwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAKICAgICAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAKLSAgICAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAKLSAgICAzMCwgMzAsIDI2LCAyNiwgMzAsIDMwLCAzMCwgMzAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAzMCwgMzAsIDI2LCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAzMCwgMzAsIDI2LCAyNiwgMzAsIDQwLCAyNiwgMjYsIDI2LCAyNiwgMzAsIDMwLCAyNiwgMjYsIDMwLCA0MCwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDMwLCAzMCwgMzAsIDI2LCAyNiwgMzAsIDI2LCAyNiwgMzAsIDMwLCAzMCwgMzAsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAzMCwgMzAsIDMwLCAzMCwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMzAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgNzgsIDc4LCAKLSAgICA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDMwLCAzMCwgMjYsIDI2LCAzMCwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDMwLCAzMCwgMjYsIDI2LCAyNiwgMjYsIDMwLCAzMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMzAsIDI2LCAKLSAgICAzMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMzAsIDI2LCAKLSAgICAzMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAzMCwgMzAsIDI2LCAzMCwgMzAsIDMwLCAKLSAgICAyNiwgMzAsIDMwLCAzMCwgMzAsIDI2LCAzMCwgMzAsIDI2LCA0MCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAzMCwgMjYsIDI2LCAyNiwgMjYsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAKKyAgICAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAKKyAgICAzMCwgMzAsIDMwLCAzMCwgMzAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDMwLCAKKyAgICAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAyNiwgMjYsIDMwLCAKKyAgICAzMCwgMzAsIDMwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMzAsIDMwLCAyNiwgMzAsIDMwLCAKKyAgICAzMCwgMzAsIDMwLCAzMCwgMzAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMzAsIDMwLCAyNiwgMjYsIDMwLCAKKyAgICA0MCwgMjYsIDI2LCAyNiwgMjYsIDMwLCAzMCwgMjYsIDI2LCAzMCwgNDAsIDI2LCAyNiwgMjYsIDI2LCAzMCwgMzAsIDMwLCAKKyAgICAyNiwgMjYsIDMwLCAyNiwgMjYsIDMwLCAzMCwgMzAsIDMwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMzAsIDMwLCAzMCwgMzAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDMwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKKyAgICA3OCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAzMCwgMzAsIDI2LCAyNiwgMzAsIDI2LCAyNiwgMjYsIDI2LCAzMCwgMzAsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAzMCwgMzAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDMwLCAyNiwgMzAsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDMwLCAyNiwgMzAsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMzAsIDMwLCAyNiwgMzAsIDMwLCAzMCwgMjYsIDMwLCAzMCwgMzAsIDMwLCAKKyAgICAyNiwgMzAsIDMwLCAyNiwgNDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAzMCwgMzAsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDgwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDMwLCAzMCwgMjYsIDI2LCAyNiwgMjYsIDMwLCAKKyAgICAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAyNiwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAKKyAgICAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDI2LCAzMCwgMjYsIDI2LCAyNiwgMjYsIDMwLCAKKyAgICAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAKKyAgICAzMCwgMzAsIDMwLCAzMCwgMzAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKICAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKICAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDMwLCAzMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgODAsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMzAsIDMwLCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDI2LCAzMCwgMzAsIDMwLCAKLSAgICAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMjYsIDMwLCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAKLSAgICAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDMwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIAogICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMzAsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAzMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDE2MywgMTY0LCAxNjMsIDE2NCwgMTYzLCAxNjQsIDE2MywgMTY0LCAxNjMsIDE2NCwgCi0gICAgMTYzLCAxNjQsIDE2MywgMTY0LCAyNDIsIDI0MiwgMjQyLCAyNDIsIDI0MiwgMjQyLCAyNDIsIDI0MiwgMjQyLCAyNDIsIAorICAgIDI2LCAyNiwgMzAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAxNjMsIDE2NCwgMTYzLCAxNjQsIDE2MywgMTY0LCAxNjMsIDE2NCwgMTYzLCAxNjQsIDE2MywgMTY0LCAxNjMsIDE2NCwgCisgICAgMjQyLCAyNDIsIDI0MiwgMjQyLCAyNDIsIDI0MiwgMjQyLCAyNDIsIDI0MiwgMjQyLCAxNTMsIDE1MywgMTUzLCAxNTMsIAogICAgIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAKLSAgICAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDE1MywgMTUzLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCiAgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjMyLCA3OCwgNzgsIAotICAgIDIzMiwgMjMyLCAxNjMsIDE2NCwgNzgsIDIzMiwgMjMyLCA3OCwgMjMyLCAyMzIsIDIzMiwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKLSAgICAyMzIsIDIzMiwgMjMyLCAyMzIsIDc4LCA3OCwgNzgsIDc4LCA3OCwgMjMyLCAyMzIsIDIzMiwgNzgsIDc4LCA3OCwgMjMyLCAKLSAgICAyMzIsIDIzMiwgMjMyLCA5LCAxMCwgOSwgMTAsIDksIDEwLCA5LCAxMCwgMTYzLCAxNjQsIDc4LCA3OCwgNzgsIDc4LCA3OCwgCi0gICAgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDIzMiwgNzgsIDc4LCAyMzIsIDIzMiwgMTYzLCAxNjQsIAorICAgIDc4LCAyMzIsIDIzMiwgNzgsIDIzMiwgMjMyLCAyMzIsIDc4LCA3OCwgNzgsIDc4LCA3OCwgMjMyLCAyMzIsIDIzMiwgMjMyLCAKKyAgICA3OCwgNzgsIDc4LCA3OCwgNzgsIDIzMiwgMjMyLCAyMzIsIDc4LCA3OCwgNzgsIDIzMiwgMjMyLCAyMzIsIDIzMiwgOSwgMTAsIAorICAgIDksIDEwLCA5LCAxMCwgOSwgMTAsIDE2MywgMTY0LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgCisgICAgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCiAgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCiAgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCiAgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCiAgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCiAgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCiAgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCi0gICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDc4LCA3OCwgNzgsIDc4LCA3OCwgCisgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgCiAgICAgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgCiAgICAgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgCiAgICAgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgCiAgICAgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgCiAgICAgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgCiAgICAgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgCi0gICAgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgCi0gICAgMTYzLCAxNjQsIDksIDEwLCAxNjMsIDE2NCwgMTYzLCAxNjQsIDE2MywgMTY0LCAxNjMsIDE2NCwgMTYzLCAxNjQsIDE2MywgCi0gICAgMTY0LCAxNjMsIDE2NCwgMTYzLCAxNjQsIDE2MywgMTY0LCA3OCwgNzgsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIAotICAgIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAKLSAgICAyMzIsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgMjMyLCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgCi0gICAgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgNzgsIDc4LCA3OCwgMjMyLCA3OCwgNzgsIDc4LCA3OCwgMjMyLCAyMzIsIAotICAgIDIzMiwgMjMyLCAyMzIsIDc4LCAyMzIsIDIzMiwgNzgsIDc4LCAxNjMsIDE2NCwgMTYzLCAxNjQsIDIzMiwgNzgsIDc4LCA3OCwgCi0gICAgNzgsIDIzMiwgNzgsIDIzMiwgMjMyLCAyMzIsIDc4LCA3OCwgMjMyLCAyMzIsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKLSAgICA3OCwgNzgsIDc4LCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCA3OCwgNzgsIDE2MywgMTY0LCA3OCwgNzgsIDc4LCAKLSAgICA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAyMzIsIDIzMiwgMjI2LCAyMzIsIDIzMiwgMjMyLCAyMzIsIAotICAgIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDc4LCAyMzIsIDIzMiwgCi0gICAgMjMyLCAyMzIsIDc4LCA3OCwgMjMyLCA3OCwgMjMyLCA3OCwgNzgsIDIzMiwgNzgsIDIzMiwgMjMyLCAyMzIsIDIzMiwgNzgsIAotICAgIDc4LCA3OCwgNzgsIDc4LCAyMzIsIDIzMiwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgMjMyLCAyMzIsIDIzMiwgNzgsIDc4LCAKLSAgICA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKLSAgICA3OCwgNzgsIDc4LCA3OCwgMjMyLCAyMzIsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgCi0gICAgMjMyLCAyMzIsIDc4LCA3OCwgNzgsIDc4LCAyMzIsIDIzMiwgMjMyLCAyMzIsIDc4LCAyMzIsIDIzMiwgNzgsIDc4LCAyMzIsIAotICAgIDIyNiwgMjE2LCAyMTYsIDc4LCA3OCwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAKKyAgICA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgMTYzLCAxNjQsIDksIDEwLCAxNjMsIAorICAgIDE2NCwgMTYzLCAxNjQsIDE2MywgMTY0LCAxNjMsIDE2NCwgMTYzLCAxNjQsIDE2MywgMTY0LCAxNjMsIDE2NCwgMTYzLCAKKyAgICAxNjQsIDE2MywgMTY0LCA3OCwgNzgsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgCisgICAgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDc4LCA3OCwgNzgsIDc4LCAKKyAgICA3OCwgNzgsIDc4LCA3OCwgMjMyLCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIAorICAgIDIzMiwgNzgsIDc4LCA3OCwgMjMyLCA3OCwgNzgsIDc4LCA3OCwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDc4LCAyMzIsIAorICAgIDIzMiwgNzgsIDc4LCAxNjMsIDE2NCwgMTYzLCAxNjQsIDIzMiwgNzgsIDc4LCA3OCwgNzgsIDIzMiwgNzgsIDIzMiwgMjMyLCAKKyAgICAyMzIsIDc4LCA3OCwgMjMyLCAyMzIsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAyMzIsIDIzMiwgCisgICAgMjMyLCAyMzIsIDIzMiwgMjMyLCA3OCwgNzgsIDE2MywgMTY0LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKKyAgICA3OCwgNzgsIDc4LCAyMzIsIDIzMiwgMjI2LCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAKKyAgICAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDc4LCAyMzIsIDIzMiwgMjMyLCAyMzIsIDc4LCA3OCwgMjMyLCAKKyAgICA3OCwgMjMyLCA3OCwgNzgsIDIzMiwgNzgsIDIzMiwgMjMyLCAyMzIsIDIzMiwgNzgsIDc4LCA3OCwgNzgsIDc4LCAyMzIsIAorICAgIDIzMiwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgMjMyLCAyMzIsIDIzMiwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIAorICAgIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgMjMyLCAKKyAgICAyMzIsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgMjMyLCAyMzIsIDc4LCA3OCwgNzgsIAorICAgIDc4LCAyMzIsIDIzMiwgMjMyLCAyMzIsIDc4LCAyMzIsIDIzMiwgNzgsIDc4LCAyMzIsIDIyNiwgMjE2LCAyMTYsIDc4LCA3OCwgCiAgICAgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIAogICAgIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAKLSAgICAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgNzgsIDc4LCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgCi0gICAgNzgsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAKICAgICAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgCi0gICAgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgNzgsIDc4LCA3OCwgCi0gICAgNzgsIDc4LCAyNDMsIDc4LCAyMzIsIDc4LCA3OCwgNzgsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCA3OCwgNzgsIDc4LCAKLSAgICA3OCwgNzgsIDIzMiwgMjMyLCAyMzIsIDc4LCA3OCwgNzgsIDc4LCAyMzIsIDc4LCA3OCwgNzgsIDIzMiwgMjMyLCAyMzIsIAotICAgIDIzMiwgMjMyLCA3OCwgMjMyLCA3OCwgNzgsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjMyLCA3OCwgNzgsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCA3OCwgMjMyLCAyMzIsIDIzMiwgCisgICAgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIAorICAgIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAKKyAgICAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCA3OCwgNzgsIDc4LCA3OCwgNzgsIDI0MywgNzgsIAorICAgIDIzMiwgNzgsIDc4LCA3OCwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDc4LCA3OCwgNzgsIDc4LCA3OCwgMjMyLCAyMzIsIAorICAgIDIzMiwgNzgsIDc4LCA3OCwgNzgsIDIzMiwgNzgsIDc4LCA3OCwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDc4LCAyMzIsIAorICAgIDc4LCA3OCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAogICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgNzgsIDc4LCA3OCwgNzgsIAorICAgIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgMjYsIAorICAgIDI2LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDMwLCAzMCwgMzAsIAorICAgIDMwLCAzMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCiAgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgCi0gICAgNzgsIDc4LCA3OCwgNzgsIDI2LCAyNiwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgMCwgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAzMCwgMzAsIDMwLCAzMCwgMzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIAogICAgIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIAotICAgIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDAsIDQ3LCA0NywgCisgICAgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgCisgICAgNDQsIDQ0LCAwLCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKICAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKKyAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDAsIDQ0LCA0NywgNDQsIAorICAgIDQ0LCA0NCwgNDcsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDQsIDQ0LCA0NCwgNDcsIDQ0LCA0NywgNDcsIAorICAgIDQ0LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA1MSwgNTEsIDQ0LCA0NCwgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIAorICAgIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIAorICAgIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIAorICAgIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIAorICAgIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIAorICAgIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIAorICAgIDQ3LCA0NCwgNDcsIDQ3LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCA0NCwgNDcsIDQ0LCA0NywgODEsIDgxLCA4MSwgNDQsIAorICAgIDQ3LCAwLCAwLCAwLCAwLCAwLCAxMzgsIDEzOCwgMTM4LCAxMzgsIDE1MywgMTM4LCAxMzgsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCiAgICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMCwgNDQsIDQ3LCA0NCwgNDQsIDQ0LCA0NywgNDcsIDQ0LCAKLSAgICA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NCwgNDQsIDQ0LCA0NywgNDQsIDQ3LCA0NywgNDQsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDUxLCA1MSwgNDQsIDQ0LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCAKLSAgICA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCAKLSAgICA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCAKLSAgICA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCAKLSAgICA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCAKLSAgICA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDcsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDQ0LCA0NywgNDQsIDQ3LCA4MSwgODEsIDgxLCA0NCwgNDcsIDAsIDAsIDAsIDAsIDAsIAotICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTUzLCAxMzgsIDEzOCwgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAwLCA0NywgMCwgMCwgMCwgMCwgMCwgNDcsIDAsIAotICAgIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMCwgNDcsIDAsIDAsIAorICAgIDAsIDAsIDAsIDQ3LCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCiAgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCiAgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTEsIDgzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAxNDIsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUxLCA4MywgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQyLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIAogICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgMCwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCAKKyAgICA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgCiAgICAgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgCi0gICAgMTM4LCAxMzgsIDI4LCAzNiwgMjgsIDM2LCAxMzgsIDEzOCwgMTM4LCAyOCwgMzYsIDEzOCwgMjgsIDM2LCAxMzgsIDEzOCwgCi0gICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCA4NCwgMTM4LCAxMzgsIDg0LCAxMzgsIDI4LCAzNiwgMTM4LCAKLSAgICAxMzgsIDI4LCAzNiwgMTYzLCAxNjQsIDE2MywgMTY0LCAxNjMsIDE2NCwgMTYzLCAxNjQsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCi0gICAgMTM4LCA1MiwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCA4NCwgODQsIDAsIDAsIAorICAgIDgxLCA4MSwgODEsIDgxLCAxMzgsIDEzOCwgMjgsIDM2LCAyOCwgMzYsIDEzOCwgMTM4LCAxMzgsIDI4LCAzNiwgMTM4LCAyOCwgCisgICAgMzYsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDg0LCAxMzgsIDEzOCwgODQsIDEzOCwgCisgICAgMjgsIDM2LCAxMzgsIDEzOCwgMjgsIDM2LCAxNjMsIDE2NCwgMTYzLCAxNjQsIDE2MywgMTY0LCAxNjMsIDE2NCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDUyLCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDg0LCA4NCwgMTM4LCAxMzgsIDEzOCwgMTM4LCA4NCwgMTM4LCAxOTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgCi0gICAgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIAotICAgIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAwLCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NSwgMjQ0LCAKKyAgICAwLCAwLCAwLCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIAorICAgIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMCwgMjQ0LCAKKyAgICAyNDQsIDI0NCwgMjQ0LCAyNDUsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgCiAgICAgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIAogICAgIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAKICAgICAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgCiAgICAgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIAogICAgIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAKLSAgICAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDUsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIAorICAgIDI0NCwgMjQ0LCAyNDQsIDI0NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjQ1LCAyNDUsIDI0NSwgCiAgICAgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIAogICAgIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAKICAgICAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgCkBAIC0xODcwLDgxICsxOTkxLDgxIEBACiAgICAgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIAogICAgIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAKICAgICAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgCi0gICAgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAKLSAgICAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMCwgMCwgMCwgMCwgMjQ2LCAyNDcsIDI0NywgMjQ3LCAKLSAgICAyNDQsIDI0OCwgMTcwLCAyNDksIDI1MCwgMjUxLCAyNTAsIDI1MSwgMjUwLCAyNTEsIDI1MCwgMjUxLCAyNTAsIDI1MSwgCi0gICAgMjQ0LCAyNDQsIDI1MCwgMjUxLCAyNTAsIDI1MSwgMjUwLCAyNTEsIDI1MCwgMjUxLCAyNTIsIDI1MywgMjU0LCAyNTQsIAotICAgIDI0NCwgMjQ5LCAyNDksIDI0OSwgMjQ5LCAyNDksIDI0OSwgMjQ5LCAyNDksIDI0OSwgMjU1LCAyNTYsIDI1NywgMjU4LCAKLSAgICAyNTksIDI1OSwgMjUyLCAyNDgsIDI0OCwgMjQ4LCAyNDgsIDI0OCwgMjQ1LCAyNDQsIDI2MCwgMjYwLCAyNjAsIDI0OCwgCi0gICAgMTcwLCAyNDcsIDI0NCwgMjYsIDAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCi0gICAgMTcwLCAyNjEsIDE3MCwgMjYxLCAxNzAsIDI2MSwgMTcwLCAyNjEsIDE3MCwgMjYxLCAxNzAsIDI2MSwgMTcwLCAyNjEsIAotICAgIDE3MCwgMjYxLCAxNzAsIDI2MSwgMTcwLCAyNjEsIDE3MCwgMjYxLCAxNzAsIDI2MSwgMTcwLCAxNzAsIDI2MSwgMTcwLCAKLSAgICAyNjEsIDE3MCwgMjYxLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAyNjEsIDI2MSwgMTcwLCAyNjEsIDI2MSwgCi0gICAgMTcwLCAyNjEsIDI2MSwgMTcwLCAyNjEsIDI2MSwgMTcwLCAyNjEsIDI2MSwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAotICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKLSAgICAxNzAsIDE3MCwgMTcwLCAyNjEsIDE3MCwgMTcwLCAwLCAwLCAyNjIsIDI2MiwgMjYzLCAyNjMsIDI0OCwgMjY0LCAyNjUsIAotICAgIDI1MiwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDI2MSwgMTcwLCAKKyAgICAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgCisgICAgMjQ1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAwLCAKKyAgICAwLCAwLCAwLCAyNDYsIDI0NywgMjQ3LCAyNDcsIDI0NCwgMjQ4LCAxNzAsIDI0OSwgMjUwLCAyNTEsIDI1MCwgMjUxLCAyNTAsIAorICAgIDI1MSwgMjUwLCAyNTEsIDI1MCwgMjUxLCAyNDQsIDI0NCwgMjUwLCAyNTEsIDI1MCwgMjUxLCAyNTAsIDI1MSwgMjUwLCAKKyAgICAyNTEsIDI1MiwgMjUzLCAyNTQsIDI1NCwgMjQ0LCAyNDksIDI0OSwgMjQ5LCAyNDksIDI0OSwgMjQ5LCAyNDksIDI0OSwgCisgICAgMjQ5LCAyNTUsIDI1NiwgMjU3LCAyNTgsIDI1OSwgMjU5LCAyNTIsIDI0OCwgMjQ4LCAyNDgsIDI0OCwgMjQ4LCAyNDUsIAorICAgIDI0NCwgMjYwLCAyNjAsIDI2MCwgMjQ4LCAxNzAsIDI0NywgMjQ0LCAyNiwgMCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDI2MSwgMTcwLCAyNjEsIDE3MCwgMjYxLCAxNzAsIDI2MSwgMTcwLCAKICAgICAyNjEsIDE3MCwgMjYxLCAxNzAsIDI2MSwgMTcwLCAyNjEsIDE3MCwgMjYxLCAxNzAsIDI2MSwgMTcwLCAyNjEsIDE3MCwgCi0gICAgMjYxLCAxNzAsIDI2MSwgMTcwLCAyNjEsIDE3MCwgMjYxLCAxNzAsIDE3MCwgMjYxLCAxNzAsIDI2MSwgMTcwLCAyNjEsIAotICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDI2MSwgMjYxLCAxNzAsIDI2MSwgMjYxLCAxNzAsIDI2MSwgMjYxLCAKLSAgICAxNzAsIDI2MSwgMjYxLCAxNzAsIDI2MSwgMjYxLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMjYxLCAxNzAsIDE3MCwgMjYxLCAxNzAsIDI2MSwgMTcwLCAyNjEsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDI2MSwgMjYxLCAxNzAsIDI2MSwgMjYxLCAxNzAsIDI2MSwgMjYxLCAxNzAsIDI2MSwgMjYxLCAxNzAsIDI2MSwgMjYxLCAKICAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCi0gICAgMjYxLCAxNzAsIDE3MCwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNDcsIDI0OCwgMjQ4LCAyNjQsIDI2NSwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAyNjEsIDE3MCwgMTcwLCAwLCAwLCAyNjIsIDI2MiwgCisgICAgMjYzLCAyNjMsIDI0OCwgMjY0LCAyNjUsIDI1MiwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDI2MSwgMTcwLCAyNjEsIDE3MCwgMjYxLCAxNzAsIDI2MSwgMTcwLCAyNjEsIDE3MCwgMjYxLCAKKyAgICAxNzAsIDI2MSwgMTcwLCAyNjEsIDE3MCwgMjYxLCAxNzAsIDI2MSwgMTcwLCAyNjEsIDE3MCwgMjYxLCAxNzAsIDE3MCwgCisgICAgMjYxLCAxNzAsIDI2MSwgMTcwLCAyNjEsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDI2MSwgMjYxLCAxNzAsIAorICAgIDI2MSwgMjYxLCAxNzAsIDI2MSwgMjYxLCAxNzAsIDI2MSwgMjYxLCAxNzAsIDI2MSwgMjYxLCAxNzAsIDE3MCwgMTcwLCAKICAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCi0gICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAwLCAwLCAwLCAKLSAgICAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgCi0gICAgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIAotICAgIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAKLSAgICAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgCi0gICAgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIAotICAgIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAKLSAgICAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDAsIDI2NiwgMjY2LCAyNjcsIDI2NywgCi0gICAgMjY3LCAyNjcsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAyNjEsIDE3MCwgMTcwLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI0NywgMjQ4LCAKKyAgICAyNDgsIDI2NCwgMjY1LCAwLCAwLCAwLCAwLCAwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCiAgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAotICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDAsIDAsIDAsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAKKyAgICAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgCisgICAgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIAorICAgIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAKKyAgICAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgCisgICAgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIAorICAgIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAKKyAgICAyNjUsIDI2NSwgMCwgMjY2LCAyNjYsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCisgICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAwLCAwLCAwLCAwLCAwLCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgCiAgICAgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIAotICAgIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAKLSAgICAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAotICAgIDE3MCwgMTcwLCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKKyAgICAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKICAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCi0gICAgMjY4LCAyNjgsIDI2OCwgMjQ1LCAyNDUsIDAsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIAotICAgIDI2NywgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKKyAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNDUsIDI0NSwgMCwgMjY3LCAyNjcsIDI2NywgCisgICAgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAogICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKLSAgICAyNjgsIDI2OCwgMjY4LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjQ1LCAyNzAsIDI3MCwgCi0gICAgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNjgsIAorICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAKKyAgICAyNjksIDI2OSwgMjY5LCAyNDUsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgCisgICAgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAorICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKKyAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjQ1LCAyNDUsIDI0NSwgMjY2LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgCisgICAgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAorICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKKyAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCisgICAgMjY4LCAyNjgsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIAorICAgIDI3MCwgMjcwLCAyNzAsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKKyAgICAyNjgsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCisgICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAorICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKKyAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDAsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCisgICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAorICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKKyAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCisgICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAorICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKKyAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCisgICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAorICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKKyAgICAyNjgsIDI2OCwgMjY4LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCisgICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAorICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKKyAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCisgICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAorICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKKyAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCisgICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI0NSwgMjQ1LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAogICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKICAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI0NSwgCi0gICAgMjQ1LCAyNDUsIDI2NiwgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjgsIAotICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKLSAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCi0gICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNzAsIDI3MCwgMjcwLCAyNzAsIAotICAgIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNjgsIDI2OCwgMjY4LCAKLSAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI2OCwgCi0gICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAotICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKLSAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCi0gICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAwLCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAotICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKLSAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCi0gICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAotICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKLSAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCi0gICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAotICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKLSAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjQ1LCAyNDUsIDI0NSwgCi0gICAgMjQ1LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAotICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKLSAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCi0gICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAotICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKLSAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCi0gICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAotICAgIDI2OCwgMjY4LCAyNDUsIDI0NSwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKLSAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCi0gICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNDUsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAogICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKICAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCiAgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIApAQCAtMTk1Nyw2NDkgKzIwNzgsMTEgQEAKICAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCiAgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAogICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKLSAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCi0gICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAotICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKLSAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCi0gICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAogICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAotICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAyNDgsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKLSAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCi0gICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAotICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKLSAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCi0gICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAotICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKLSAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCi0gICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAotICAgIDE3MCwgMTcwLCAwLCAwLCAwLCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgCi0gICAgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIAotICAgIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAKLSAgICAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgCi0gICAgMjQ0LCAyNDQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA1MywgNTMsIDUzLCA1MywgNTMsIAotICAgIDUzLCA4MywgODMsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDUzLCAxMzgsIDEzOCwgCi0gICAgMTM4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTQ0LCAKLSAgICAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCA0OCwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgCi0gICAgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgCi0gICAgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgCi0gICAgNDQsIDQ3LCA0OCwgODEsIDgyLCA4MiwgODIsIDEzOCwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIAotICAgIDEzOCwgNTIsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCAKLSAgICA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDgxLCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIAotICAgIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCA4MSwgODEsIDgzLCA4MywgODMsIDgzLCA4MywgODMsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDU0LCA1NCwgNTQsIDU0LCA1NCwgNTQsIDU0LCA1NCwgNTQsIDU0LCA1NCwgNTQsIDU0LCA1NCwgNTQsIDU0LCAKLSAgICA1NCwgNTQsIDU0LCA1NCwgNTQsIDU0LCA1NCwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTQsIDU0LCAKLSAgICA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ3LCA0NywgNDQsIDQ3LCAKLSAgICA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCAKLSAgICA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCAKLSAgICA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCAKLSAgICA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA1MSwgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NCwgNDcsIDQ0LCAKLSAgICA0NywgNDQsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA1MiwgMjcxLCAyNzEsIDQ0LCA0NywgNDQsIAotICAgIDQ3LCAwLCA0NCwgNDcsIDQ0LCA0NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDQsIDQ3LCA0NCwgCi0gICAgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MSwgNTEsIDQ3LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgMTM1LCA0OCwgNDgsIDQ4LCAxNDIsIDQ4LCA0OCwgNDgsIDQ4LCAxMzUsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgMTM5LCAxMzksIDEzNSwgMTM1LCAxMzksIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAxNDgsIDE0OCwgMTQ4LCAKLSAgICAxNDgsIDE0OCwgMTQ4LCA4MCwgODAsIDg1LCAyMjUsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDEzOSwgMTM5LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAKLSAgICAxMzksIDEzOSwgMTQyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4MywgODMsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgCi0gICAgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMCwgMCwgMCwgMCwgMCwgMCwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgCi0gICAgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgODMsIDgzLCA4MywgNDgsIDAsIDAsIDAsIDAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIAotICAgIDE0NCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCA4NiwgCi0gICAgODYsIDg2LCA4MywgODMsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAKLSAgICAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzOSwgMTc1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4MywgMTcwLCAKLSAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCi0gICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDAsIAotICAgIDAsIDAsIDEzNSwgMTM1LCAxMzUsIDEzOSwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxNDUsIAotICAgIDEzOSwgMTM5LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzOSwgMTM5LCAxMzUsIDEzOSwgMTM5LCAxMzksIDE3NSwgODMsIDgzLCAKLSAgICA4MywgODMsIDgzLCA4MywgODMsIDgzLCA4MywgODMsIDgzLCA4MywgODMsIDAsIDUzLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIAotICAgIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDAsIDAsIDAsIDAsIDgzLCA4MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzksIDEzOSwgMTM1LCAxMzUsIAotICAgIDEzOSwgMTM5LCAxMzUsIDEzNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgMTM1LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDEzNSwgMTM5LCAwLCAwLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAKLSAgICAxNDQsIDE0NCwgMTQ0LCAxNDQsIDAsIDAsIDgzLCA4MywgODMsIDgzLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNTMsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDgwLCA4MCwgODAsIAotICAgIDQ4LCAxMzksIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDgxLCAKLSAgICA0OCwgODEsIDgxLCA4NiwgNDgsIDQ4LCA4MSwgODEsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgODEsIDgxLCA0OCwgODEsIDQ4LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA0OCwgNDgsIDUzLCA4MywgODMsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTM5LCAxMzUsIAotICAgIDEzNSwgMTM5LCAxMzksIDgzLCA4MywgNDgsIDUzLCA1MywgMTM5LCAxNDIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxMzksIDEzOSwgMTM1LCAxMzksIDEzOSwgMTM1LCAxMzksIDEzOSwgODMsIDEzOSwgCi0gICAgMTQyLCAwLCAwLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgCi0gICAgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIAotICAgIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAKLSAgICAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgCi0gICAgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIAotICAgIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAKLSAgICAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgCi0gICAgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIAotICAgIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAKLSAgICAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgCi0gICAgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIAotICAgIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAKLSAgICAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgCi0gICAgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIAotICAgIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAKLSAgICAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgCi0gICAgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIAotICAgIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAKLSAgICAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgCi0gICAgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIAotICAgIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjczLCAyNzMsIDI3MywgMjczLCAKLSAgICAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgCi0gICAgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIAotICAgIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAKLSAgICAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgCi0gICAgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIAotICAgIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAKLSAgICAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgCi0gICAgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIAotICAgIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3NCwgMjc0LCAKLSAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCi0gICAgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAotICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKLSAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCi0gICAgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAotICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKLSAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCi0gICAgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAotICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKLSAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCi0gICAgMTcwLCAxNzAsIDI3NCwgMTcwLCAyNzQsIDE3MCwgMTcwLCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAotICAgIDI3NCwgMjc0LCAyNzQsIDE3MCwgMjc0LCAxNzAsIDI3NCwgMTcwLCAxNzAsIDI3NCwgMjc0LCAxNzAsIDE3MCwgMTcwLCAKLSAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCi0gICAgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAotICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKLSAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCi0gICAgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMCwgMCwgMjc0LCAKLSAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCi0gICAgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAotICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKLSAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCi0gICAgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAotICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKLSAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCi0gICAgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzUsIAotICAgIDM1LCAzNSwgMzUsIDM1LCAwLCAwLCAwLCAwLCAwLCAyNzUsIDI3NiwgMjc1LCAyNzcsIDI3NywgMjc3LCAyNzcsIDI3NywgCi0gICAgMjc3LCAyNzcsIDI3NywgMjc3LCAyMTUsIDI3NSwgMjc1LCAyNzUsIDI3NSwgMjc1LCAyNzUsIDI3NSwgMjc1LCAyNzUsIAotICAgIDI3NSwgMjc1LCAyNzUsIDI3NSwgMCwgMjc1LCAyNzUsIDI3NSwgMjc1LCAyNzUsIDAsIDI3NSwgMCwgMjc1LCAyNzUsIDAsIAotICAgIDI3NSwgMjc1LCAwLCAyNzUsIDI3NSwgMjc1LCAyNzUsIDI3NSwgMjc1LCAyNzUsIDI3NSwgMjc1LCAyNzcsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAyNzgsIDI3OCwgCi0gICAgMjc4LCAyNzgsIDI3OCwgMjc4LCAyNzgsIDI3OCwgMjc4LCAyNzgsIDI3OCwgMjc4LCAyNzgsIDI3OCwgMjc4LCAyNzgsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTk1LCAyNzksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMCwgMCwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMjgwLCAyNiwgMCwgMCwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDI4MSwgMjgxLCAyODEsIDI4MSwgMjgxLCAyODEsIDI4MSwgMjgyLCAyODMsIDI4MSwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI4MSwgCi0gICAgMjg0LCAyODQsIDI4NSwgMjg1LCAyODIsIDI4MywgMjgyLCAyODMsIDI4MiwgMjgzLCAyODIsIDI4MywgMjgyLCAyODMsIAotICAgIDI4MiwgMjgzLCAyODIsIDI4MywgMjgyLCAyODMsIDI0NywgMjQ3LCAyODIsIDI4MywgMjgxLCAyODEsIDI4MSwgMjgxLCAKLSAgICAyODUsIDI4NSwgMjg1LCAyODYsIDI4MSwgMjg2LCAwLCAyODEsIDI4NiwgMjgxLCAyODEsIDI4NCwgMjg3LCAyODgsIDI4NywgCi0gICAgMjg4LCAyODcsIDI4OCwgMjg5LCAyODEsIDI4MSwgMjkwLCAyOTEsIDI5MiwgMjkyLCAyOTMsIDAsIDI4MSwgMjk0LCAyODksIAotICAgIDI4MSwgMCwgMCwgMCwgMCwgMTMxLCAxMzEsIDEzMSwgMTE4LCAxMzEsIDAsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDAsIDAsIDE3NCwgMCwgMjk1LCAyOTUsIDI5NiwgMjk3LCAyOTYsIDI5NSwgMjk1LCAyOTgsIAotICAgIDI5OSwgMjk1LCAzMDAsIDMwMSwgMzAyLCAzMDEsIDMwMSwgMzAzLCAzMDMsIDMwMywgMzAzLCAzMDMsIDMwMywgMzAzLCAKLSAgICAzMDMsIDMwMywgMzAzLCAzMDEsIDI5NSwgMzA0LCAzMDUsIDMwNCwgMjk1LCAyOTUsIDMwNiwgMzA2LCAzMDYsIDMwNiwgCi0gICAgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIAotICAgIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAyOTgsIDI5NSwgMjk5LCAzMDcsIDMwOCwgMzA3LCAKLSAgICAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgCi0gICAgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMjk4LCAzMDUsIAotICAgIDI5OSwgMzA1LCAyOTgsIDI5OSwgMzEwLCAzMTEsIDMxMiwgMzEwLCAzMTAsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAKLSAgICAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzE0LCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgCi0gICAgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIAotICAgIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAKLSAgICAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTQsIDMxNCwgMzEzLCAzMTMsIDMxMywgCi0gICAgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIAotICAgIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAwLCAKLSAgICAwLCAwLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAwLCAwLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAKLSAgICAwLCAwLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAwLCAwLCAzMTMsIDMxMywgMzEzLCAwLCAwLCAwLCAyOTcsIAotICAgIDI5NywgMzA1LCAzMDcsIDMxNSwgMjk3LCAyOTcsIDAsIDMxNiwgMzE3LCAzMTcsIDMxNywgMzE3LCAzMTYsIDMxNiwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzE4LCAzMTgsIDMxOCwgMjYsIDMwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICAwLCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgMCwgMCwgMCwgMCwgMCwgODMsIDEzOCwgODMsIDAsIDAsIDAsIDAsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIAotICAgIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAKLSAgICAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgCi0gICAgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDAsIDAsIDAsIDgwLCA4MCwgCi0gICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIAotICAgIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAKLSAgICAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgCi0gICAgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIAotICAgIDMxOSwgMzE5LCAxNTMsIDE1MywgMTUzLCAxNTMsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMTUzLCAwLCAwLCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAotICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAotICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4NiwgMCwgMCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDAsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxNzMsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTczLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA4MywgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA4MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgCi0gICAgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgCi0gICAgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgMCwgMCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAwLCAwLCAxMDcsIDAsIDEwNywgCi0gICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAotICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKLSAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCi0gICAgMTA3LCAwLCAxMDcsIDEwNywgMCwgMCwgMCwgMTA3LCAwLCAwLCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAotICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKLSAgICAxMDcsIDEwNywgMCwgMTA0LCAzMjAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKLSAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAzMjAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgCi0gICAgMzIwLCAwLCAwLCAwLCAxMzgsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKLSAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCi0gICAgMTA3LCAwLCAwLCAwLCAwLCAwLCAxMDQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKLSAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCi0gICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAotICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAxMDcsIDEwNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMTA3LCAxMzUsIDEzNSwgMTM1LCAwLCAxMzUsIDEzNSwgMCwgMCwgMCwgMCwgMCwgMTM1LCA4NiwgMTM1LCA4MSwgMTA3LCAKLSAgICAxMDcsIDEwNywgMTA3LCAwLCAxMDcsIDEwNywgMTA3LCAwLCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAotICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKLSAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAwLCAwLCAwLCAwLCA4MSwgMTc2LCA4NiwgMCwgMCwgMCwgMCwgMTQyLCAKLSAgICAzMjAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA0LCAxMDQsIAotICAgIDEwNCwgMTA0LCAxMDQsIDEwNCwgMTA0LCAxMDQsIDEwNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA3LCAxMDcsIDEwNywgCi0gICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAotICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDMyMCwgMzIwLCAKLSAgICAxMDQsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCi0gICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAotICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKLSAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDAsIDAsIDAsIAotICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKLSAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCi0gICAgMTA3LCAwLCAwLCAzMjAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMTA3LCAxMDcsIDEwNywgMTA3LCAKLSAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCi0gICAgMTA3LCAwLCAwLCAwLCAwLCAwLCAzMjAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMTA3LCAxMDcsIAotICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKLSAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCi0gICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAotICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKLSAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCi0gICAgMTA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMjEsIDMyMSwgMzIxLCAzMjEsIDMyMSwgMzIxLCAzMjEsIDMyMSwgMzIxLCAzMjEsIAotICAgIDMyMSwgMzIxLCAzMjEsIDMyMSwgMzIxLCAzMjEsIDMyMSwgMzIxLCAzMjEsIDMyMSwgMzIxLCAzMjEsIDMyMSwgMzIxLCAKLSAgICAzMjEsIDMyMSwgMzIxLCAzMjEsIDMyMSwgMzIxLCAzMjEsIDAsIDEzOSwgMTM1LCAxMzksIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIAotICAgIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDE0MiwgODMsIDgzLCA4MywgODMsIDgzLCA4MywgCi0gICAgODMsIDAsIDAsIDAsIDAsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAKLSAgICAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgCi0gICAgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDEzNSwgMTM1LCAxMzksIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTQwLCA0OCwgMTQwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDE0MCwgNDgsIDQ4LCA0OCwgNDgsIDEzOSwgMTM5LCAxMzksIDEzNSwgCi0gICAgMTM1LCAxMzUsIDEzNSwgMTM5LCAxMzksIDE0MiwgMTQxLCA4MywgODMsIDE4OCwgODMsIDgzLCA4MywgODMsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDgxLCA4MSwgODEsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDE0OSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzksIDEzNSwgMTUwLCAxNTAsIDEzNSwgMTM1LCAKLSAgICAxMzUsIDE0MiwgMTQyLCAwLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDgzLCAKLSAgICA4MywgODMsIDgzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzUsIDEzNSwgMTM5LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxMzksIDEzOSwgMTM5LCAxMzUsIDEzNSwgMTM1LCAKLSAgICAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzksIDE3NSwgNDgsIDQ4LCA0OCwgNDgsIDgzLCA4MywgODMsIDgzLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxMzUsIAotICAgIDEzOSwgMTM1LCAxMzksIDEzOSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTc1LCAxNDUsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTczLCAKLSAgICAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgCi0gICAgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIAotICAgIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAKLSAgICAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgCi0gICAgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIAotICAgIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAKLSAgICAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODMsIDgzLCA4MywgODMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAKLSAgICAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgCi0gICAgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIAotICAgIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTM1LCAxMzUsIDEzNSwgMTM1LCA1MywgNTMsIDUzLCAKLSAgICA1MywgNTMsIDUzLCA1MywgNTMsIDUzLCA1MywgNTMsIDUzLCA1MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTcwLCAxNzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDgwLCA4MCwgCi0gICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCi0gICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCi0gICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCi0gICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCi0gICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCi0gICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCi0gICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4MCwgODAsIDgwLCAKLSAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKLSAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKLSAgICAwLCAwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAotICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAotICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAotICAgIDMyMiwgMzIyLCAzMjIsIDMyMiwgMzIyLCAzMjIsIDMyMiwgMzIzLCAzMjMsIDE3NiwgMTc2LCAxNzYsIDgwLCA4MCwgODAsIAotICAgIDMyNCwgMzIzLCAzMjMsIDMyMywgMzIzLCAzMjMsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCA4NiwgCi0gICAgODYsIDg2LCA4NiwgODYsIDg2LCA4NiwgODYsIDgwLCA4MCwgODEsIDgxLCA4MSwgODEsIDgxLCA4NiwgODYsIDgwLCA4MCwgCi0gICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCi0gICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgxLCA4MSwgODEsIDgxLCA4MCwgODAsIDgwLCA4MCwgCi0gICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgMzIyLCAzMjIsIDMyMiwgMzIyLCAzMjIsIDMyMiwgODAsIDgwLCAKLSAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKLSAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNiwgMjYsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCiAgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCiAgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDgxLCA4MSwgODEsIDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAKLSAgICAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIAotICAgIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAotICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAotICAgIDM1LCAzNSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIAotICAgIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMCwgCi0gICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCi0gICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCi0gICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCi0gICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ5LCAwLCAKLSAgICA0OSwgNDksIDAsIDAsIDQ5LCAwLCAwLCA0OSwgNDksIDAsIDAsIDQ5LCA0OSwgNDksIDQ5LCAwLCA0OSwgNDksIDQ5LCA0OSwgCi0gICAgNDksIDQ5LCA0OSwgNDksIDM1LCAzNSwgMzUsIDM1LCAwLCAzNSwgMCwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDAsIAotICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIAotICAgIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIAotICAgIDQ5LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAotICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ5LCA0OSwgMCwgNDksIDQ5LCA0OSwgNDksIDAsIDAsIDQ5LCAKLSAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgMCwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDAsIDM1LCAzNSwgMzUsIAotICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAotICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgNDksIDQ5LCAwLCA0OSwgNDksIDQ5LCA0OSwgMCwgNDksIDQ5LCA0OSwgNDksIDQ5LCAwLCAKLSAgICA0OSwgMCwgMCwgMCwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDAsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKLSAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKLSAgICAzNSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKLSAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKLSAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ5LCAKLSAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKLSAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKLSAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCA0OSwgNDksIDQ5LCAKLSAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKLSAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKLSAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKLSAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKLSAgICA0OSwgNDksIDQ5LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKLSAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKLSAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKLSAgICA0OSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKLSAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKLSAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDM1LCAKLSAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKLSAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAwLCAwLCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIAotICAgIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgMzI1LCAKLSAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKLSAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMjI2LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCA0OSwgNDksIDQ5LCA0OSwgCi0gICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCi0gICAgNDksIDQ5LCA0OSwgMzI1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAotICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMjI2LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKLSAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKLSAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgMzI1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCi0gICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMjI2LCAzNSwgMzUsIAotICAgIDM1LCAzNSwgMzUsIDM1LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIAotICAgIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgMzI1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKLSAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKLSAgICAzNSwgMjI2LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCi0gICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgMzI1LCAzNSwgMzUsIAotICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAotICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMjI2LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCA0OSwgMzUsIDAsIDAsIDMyNiwgMzI2LCAKLSAgICAzMjYsIDMyNiwgMzI2LCAzMjYsIDMyNiwgMzI2LCAzMjYsIDMyNiwgMzI2LCAzMjYsIDMyNiwgMzI2LCAzMjYsIDMyNiwgCi0gICAgMzI2LCAzMjYsIDMyNiwgMzI2LCAzMjYsIDMyNiwgMzI2LCAzMjYsIDMyNiwgMzI2LCAzMjYsIDMyNiwgMzI2LCAzMjYsIAotICAgIDMyNiwgMzI2LCAzMjYsIDMyNiwgMzI2LCAzMjYsIDMyNiwgMzI2LCAzMjYsIDMyNiwgMzI2LCAzMjYsIDMyNiwgMzI2LCAKLSAgICAzMjYsIDMyNiwgMzI2LCAzMjYsIDMyNiwgMzI2LCAxMzEsIDEzMSwgMTMxLCAxMzEsIDAsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDAsIDEzMSwgMTMxLCAwLCAxMzEsIDAsIDAsIAotICAgIDEzMSwgMCwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAwLCAxMzEsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDAsIDEzMSwgMCwgMTMxLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzEsIDAsIDAsIDAsIDAsIDEzMSwgMCwgMTMxLCAKLSAgICAwLCAxMzEsIDAsIDEzMSwgMTMxLCAxMzEsIDAsIDEzMSwgMTMxLCAwLCAxMzEsIDAsIDAsIDEzMSwgMCwgMTMxLCAwLCAxMzEsIAotICAgIDAsIDEzMSwgMCwgMTMxLCAwLCAxMzEsIDEzMSwgMCwgMTMxLCAwLCAwLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDAsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMCwgMTMxLCAxMzEsIDEzMSwgMTMxLCAwLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDAsIDEzMSwgMCwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAwLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMCwgMCwgMCwgMCwgMCwgMTMxLCAxMzEsIDEzMSwgMCwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDAsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3OCwgNzgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCi0gICAgMzQsIDM0LCAwLCAwLCAwLCAwLCAwLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIAotICAgIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAKLSAgICAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAzMjcsIDAsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgCi0gICAgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIAotICAgIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAzMjgsIDMyOCwgMzI4LCAKLSAgICAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgCi0gICAgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMjIyLCAyMjIsIDAsIDAsIDAsIDAsIDMyOCwgCi0gICAgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIAotICAgIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAKLSAgICAzMjgsIDMyOCwgMzI4LCAyNDEsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKLSAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAyNjgsIDI2OCwgMjY4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCi0gICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAotICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKLSAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDAsIDAsIDAsIDAsIDAsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCi0gICAgMjY4LCAyNjgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI2OCwgMjY4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMCwgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDAsIDI2LCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAxNzAsIAogICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKICAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCiAgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIApAQCAtMjYwNywzNiArMjA5MCw4NDMgQEAKICAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCiAgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAogICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKLSAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCi0gICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAyNDgsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCiAgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAogICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKICAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCiAgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAogICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKLSAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMCwgMCwgMCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIAorICAgIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAKKyAgICAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgCisgICAgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIAorICAgIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNTMsIDUzLCA1MywgNTMsIDUzLCA1MywgODMsIDgzLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA1MywgMTM4LCAxMzgsIDEzOCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAKKyAgICAxNDQsIDE0NCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIAorICAgIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIAorICAgIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDgsIDgxLCA4MiwgODIsIDgyLCAxMzgsIDgxLCAKKyAgICA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCAxMzgsIDUyLCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgCisgICAgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgCisgICAgNDcsIDQ0LCA0NywgNTEsIDUxLCAwLCA4MSwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgODEsIAorICAgIDgxLCA4MywgODMsIDgzLCA4MywgODMsIDgzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NCwgNTQsIDU0LCA1NCwgNTQsIAorICAgIDU0LCA1NCwgNTQsIDU0LCA1NCwgNTQsIDU0LCA1NCwgNTQsIDU0LCA1NCwgNTQsIDU0LCA1NCwgNTQsIDU0LCA1NCwgNTQsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDU0LCA1NCwgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIAorICAgIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NywgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIAorICAgIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIAorICAgIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIAorICAgIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNTEsIAorICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NCwgNDcsIDQ0LCA0NywgNDQsIAorICAgIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNTIsIDI3MSwgMjcxLCA0NCwgNDcsIDQ0LCA0NywgMCwgNDQsIDQ3LCA0NCwgNDcsIDQ3LCAKKyAgICA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCAKKyAgICA0NywgNDQsIDQ3LCA0NCwgNDQsIDQ0LCA0NCwgMCwgMCwgNDQsIDQ0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNTEsIDUxLCA0NywgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDEzNSwgNDgsIDQ4LCA0OCwgMTQyLCA0OCwgNDgsIDQ4LCA0OCwgMTM1LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDEzOSwgCisgICAgMTM5LCAxMzUsIDEzNSwgMTM5LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMCwgMCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIAorICAgIDE0OCwgODAsIDgwLCA4NSwgMjI1LCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAxMzksIDEzOSwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxMzksIAorICAgIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAKKyAgICAxMzksIDE0MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODMsIDgzLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgCisgICAgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDAsIDAsIDAsIDAsIDAsIDAsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCAKKyAgICA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDgzLCAKKyAgICA4MywgODMsIDQ4LCAwLCAwLCAwLCAwLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgODYsIDg2LCAKKyAgICA4NiwgODMsIDgzLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAKKyAgICAxMzUsIDEzNSwgMTM1LCAxMzksIDE3NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODMsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAwLCAwLCAwLCAKKyAgICAxMzUsIDEzNSwgMTM1LCAxMzksIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTQ1LCAxMzksIAorICAgIDEzOSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzksIDEzOSwgMTM1LCAxMzksIDEzOSwgMTM5LCAxNzUsIDgzLCA4MywgODMsIAorICAgIDgzLCA4MywgODMsIDgzLCA4MywgODMsIDgzLCA4MywgODMsIDgzLCAwLCA1MywgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIAorICAgIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAwLCAwLCAwLCAwLCA4MywgODMsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTM1LCA1MywgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAKKyAgICAxNDQsIDE0NCwgMTQ0LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTM1LCAxMzUsIDEzNSwgCisgICAgMTM1LCAxMzUsIDEzNSwgMTM5LCAxMzksIDEzNSwgMTM1LCAxMzksIDEzOSwgMTM1LCAxMzUsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDEzNSwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxMzUsIDEzOSwgMCwgMCwgCisgICAgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAwLCAwLCA4MywgODMsIDgzLCA4MywgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDUzLCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA4MCwgODAsIDgwLCA0OCwgMTM5LCAxMzUsIDEzOSwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA4MSwgNDgsIDgxLCA4MSwgODYsIDQ4LCA0OCwgODEsIDgxLCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDgxLCA4MSwgNDgsIDgxLCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA1MywgODMsIDgzLCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDEzOSwgMTM1LCAxMzUsIDEzOSwgMTM5LCA4MywgODMsIDQ4LCA1MywgCisgICAgNTMsIDEzOSwgMTQyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIAorICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAorICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAorICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAyNzEsIDUxLCA1MSwgNTEsIDUxLCAwLCAwLCAwLCAwLCA0NywgNDcsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDEzOSwgMTM5LCAxMzUsIDEzOSwgMTM5LCAKKyAgICAxMzUsIDEzOSwgMTM5LCA4MywgMTM5LCAxNDIsIDAsIDAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgCisgICAgMTQ0LCAxNDQsIDE0NCwgMCwgMCwgMCwgMCwgMCwgMCwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIAorICAgIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAKKyAgICAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgCisgICAgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIAorICAgIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAKKyAgICAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgCisgICAgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIAorICAgIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAKKyAgICAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgCisgICAgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIAorICAgIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAKKyAgICAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgCisgICAgMjYxLCAyNjEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgCisgICAgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIDAsIDI3MiwgCisgICAgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIAorICAgIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAKKyAgICAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgCisgICAgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIAorICAgIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAKKyAgICAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgCisgICAgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIAorICAgIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAKKyAgICAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgCisgICAgMjcyLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIAorICAgIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAKKyAgICAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgCisgICAgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIAorICAgIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAKKyAgICAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgCisgICAgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIAorICAgIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAKKyAgICAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgCisgICAgMjczLCAyNzMsIDI3MywgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAogICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKLSAgICAyNzQsIDI3NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAorICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKKyAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCisgICAgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAorICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKKyAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCisgICAgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAorICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKKyAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMTcwLCAxNzAsIDI3NCwgMTcwLCAyNzQsIDE3MCwgMTcwLCAyNzQsIDI3NCwgCisgICAgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDE3MCwgMjc0LCAxNzAsIDI3NCwgMTcwLCAxNzAsIAorICAgIDI3NCwgMjc0LCAxNzAsIDE3MCwgMTcwLCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKKyAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCisgICAgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAorICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKKyAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCisgICAgMjc0LCAyNzQsIDI3NCwgMCwgMCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKKyAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCisgICAgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAorICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKKyAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCisgICAgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAorICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKKyAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzUsIDM1LCAzNSwgMzUsIDM1LCAwLCAwLCAwLCAwLCAwLCAyNzUsIDI3NiwgMjc1LCAKKyAgICAyNzcsIDI3NywgMjc3LCAyNzcsIDI3NywgMjc3LCAyNzcsIDI3NywgMjc3LCAyMTUsIDI3NSwgMjc1LCAyNzUsIDI3NSwgCisgICAgMjc1LCAyNzUsIDI3NSwgMjc1LCAyNzUsIDI3NSwgMjc1LCAyNzUsIDI3NSwgMCwgMjc1LCAyNzUsIDI3NSwgMjc1LCAyNzUsIAorICAgIDAsIDI3NSwgMCwgMjc1LCAyNzUsIDAsIDI3NSwgMjc1LCAwLCAyNzUsIDI3NSwgMjc1LCAyNzUsIDI3NSwgMjc1LCAyNzUsIAorICAgIDI3NSwgMjc1LCAyNzcsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCisgICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCisgICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAyNzgsIDI3OCwgMjc4LCAyNzgsIDI3OCwgMjc4LCAyNzgsIDI3OCwgMjc4LCAyNzgsIDI3OCwgCisgICAgMjc4LCAyNzgsIDI3OCwgMjc4LCAyNzgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCisgICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCisgICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCisgICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCisgICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCisgICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMjc5LCAxOTUsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCisgICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCisgICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMCwgMCwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCisgICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMjgwLCAyNiwgMCwgMCwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCisgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDI4MSwgMjgxLCAyODEsIDI4MSwgMjgxLCAyODEsIAorICAgIDI4MSwgMjgyLCAyODMsIDI4MSwgMCwgMCwgMCwgMCwgMCwgMCwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDg2LCA4NiwgCisgICAgODYsIDg2LCA4NiwgODYsIDg2LCAwLCAwLCAyODEsIDI4NCwgMjg0LCAyODUsIDI4NSwgMjgyLCAyODMsIDI4MiwgMjgzLCAKKyAgICAyODIsIDI4MywgMjgyLCAyODMsIDI4MiwgMjgzLCAyODIsIDI4MywgMjgyLCAyODMsIDI4MiwgMjgzLCAyNDcsIDI0NywgCisgICAgMjgyLCAyODMsIDI4MSwgMjgxLCAyODEsIDI4MSwgMjg1LCAyODUsIDI4NSwgMjg2LCAyODEsIDI4NiwgMCwgMjgxLCAyODYsIAorICAgIDI4MSwgMjgxLCAyODQsIDI4NywgMjg4LCAyODcsIDI4OCwgMjg3LCAyODgsIDI4OSwgMjgxLCAyODEsIDI5MCwgMjkxLCAKKyAgICAyOTIsIDI5MiwgMjkzLCAwLCAyODEsIDI5NCwgMjg5LCAyODEsIDAsIDAsIDAsIDAsIDEzMSwgMTMxLCAxMzEsIDExOCwgCisgICAgMTMxLCAwLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCisgICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCisgICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCisgICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAwLCAwLCAxNzQsIDAsIDI5NSwgMjk1LCAKKyAgICAyOTYsIDI5NywgMjk2LCAyOTUsIDI5NSwgMjk4LCAyOTksIDI5NSwgMzAwLCAzMDEsIDMwMiwgMzAxLCAzMDEsIDMwMywgCisgICAgMzAzLCAzMDMsIDMwMywgMzAzLCAzMDMsIDMwMywgMzAzLCAzMDMsIDMwMywgMzAxLCAyOTUsIDMwNCwgMzA1LCAzMDQsIAorICAgIDI5NSwgMjk1LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAKKyAgICAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgCisgICAgMjk4LCAyOTUsIDI5OSwgMzA3LCAzMDgsIDMwNywgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIAorICAgIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAKKyAgICAzMDksIDMwOSwgMzA5LCAzMDksIDI5OCwgMzA1LCAyOTksIDMwNSwgMjk4LCAyOTksIDMxMCwgMzExLCAzMTIsIDMxMCwgCisgICAgMzEwLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxNCwgMzEzLCAzMTMsIAorICAgIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAKKyAgICAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgCisgICAgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIAorICAgIDMxMywgMzE0LCAzMTQsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAKKyAgICAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgCisgICAgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMCwgMCwgMCwgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMCwgCisgICAgMCwgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMCwgMCwgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMCwgCisgICAgMCwgMzEzLCAzMTMsIDMxMywgMCwgMCwgMCwgMjk3LCAyOTcsIDMwNSwgMzA3LCAzMTUsIDI5NywgMjk3LCAwLCAzMTYsIAorICAgIDMxNywgMzE3LCAzMTcsIDMxNywgMzE2LCAzMTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMxOCwgMzE4LCAKKyAgICAzMTgsIDI2LCAzMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIDAsIDAsIDgzLCAxMzgsIDgzLCAwLCAwLCAKKyAgICAwLCAwLCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIAorICAgIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAKKyAgICAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgCisgICAgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAwLCAwLCAwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAzMTksIAorICAgIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAKKyAgICAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgCisgICAgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIAorICAgIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMTUzLCAxNTMsIDE1MywgMTUzLCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDE1MywgMTUzLCAKKyAgICAyNiwgMCwgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMCwgMCwgCisgICAgMjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAorICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAorICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDg2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAxNzQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgODYsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAKKyAgICAzMjAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAzMjAsIDAsIDAsIDAsIAorICAgIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTQ4LCAxNDgsIAorICAgIDE0OCwgMTQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDE3MywgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCAxNzMsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgODEsIDgxLCA4MSwgODEsIDgxLCAwLCAwLCAwLCAwLCAwLCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA4MywgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA4MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCAKKyAgICA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCAKKyAgICA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKKyAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKKyAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDgzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMCwgCisgICAgMCwgMTA3LCAwLCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMCwgMTA3LCAxMDcsIDAsIDAsIDAsIDEwNywgMCwgMCwgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDAsIDEwNCwgMzIxLCAzMjEsIDMyMSwgMzIxLCAzMjEsIDMyMSwgMzIxLCAzMjEsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAzMjIsIDMyMiwgMzIxLCAzMjEsIDMyMSwgCisgICAgMzIxLCAzMjEsIDMyMSwgMzIxLCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMyMSwgMzIxLCAzMjEsIAorICAgIDMyMSwgMzIxLCAzMjEsIDMyMSwgMzIxLCAzMjEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMzIxLCAzMjEsIDMyMSwgMzIxLCAzMjEsIDMyMSwgMCwgMCwgMCwgMTM4LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMCwgMCwgMCwgMCwgMCwgMTA0LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMCwgMCwgMCwgMCwgMCwgMCwgMTA3LCAxMDcsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwNywgMTM1LCAxMzUsIDEzNSwgMCwgCisgICAgMTM1LCAxMzUsIDAsIDAsIDAsIDAsIDAsIDEzNSwgODYsIDEzNSwgODEsIDEwNywgMTA3LCAxMDcsIDEwNywgMCwgMTA3LCAKKyAgICAxMDcsIDEwNywgMCwgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMCwgMCwgMCwgMCwgODEsIDE3NiwgODYsIDAsIDAsIDAsIDAsIDE0MiwgMzIxLCAzMjEsIDMyMSwgMzIxLCAzMjEsIAorICAgIDMyMSwgMzIxLCAzMjEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwNCwgMTA0LCAxMDQsIDEwNCwgMTA0LCAxMDQsIDEwNCwgCisgICAgMTA0LCAxMDQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAzMjEsIDMyMSwgMTA0LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMzIxLCAzMjEsIDMyMSwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDMyMiwgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCA4MSwgODYsIAorICAgIDAsIDAsIDAsIDAsIDMyMSwgMzIxLCAzMjEsIDMyMSwgMzIxLCAxMDQsIDEwNCwgMTA0LCAxMDQsIDEwNCwgMTA0LCAxMDQsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDAsIDAsIDAsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAwLCAwLCAzMjEsIDMyMSwgMzIxLCAzMjEsIDMyMSwgMzIxLCAzMjEsIDMyMSwgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAwLCAwLCAwLCAwLCAwLCAzMjEsIDMyMSwgMzIxLCAzMjEsIDMyMSwgMzIxLCAKKyAgICAzMjEsIDMyMSwgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA0LCAxMDQsIDEwNCwgMTA0LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMjEsIDMyMSwgMzIxLCAzMjEsIDMyMSwgMzIxLCAzMjEsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzIzLCAzMjMsIDMyMywgMzIzLCAKKyAgICAzMjMsIDMyMywgMzIzLCAzMjMsIDMyMywgMzIzLCAzMjMsIDMyMywgMzIzLCAzMjMsIDMyMywgMzIzLCAzMjMsIDMyMywgCisgICAgMzIzLCAzMjMsIDMyMywgMzIzLCAzMjMsIDMyMywgMzIzLCAzMjMsIDMyMywgMzIzLCAzMjMsIDMyMywgMzIzLCAwLCAxMzksIAorICAgIDEzNSwgMTM5LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAKKyAgICAxNDIsIDgzLCA4MywgODMsIDgzLCA4MywgODMsIDgzLCAwLCAwLCAwLCAwLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgCisgICAgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIAorICAgIDE1MywgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDIsIDEzNSwgMTM1LCAxMzksIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTQwLCAKKyAgICA0OCwgMTQwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDE0MCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDEzOSwgMTM5LCAxMzksIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM5LCAxMzksIDE0MiwgMTQxLCA4MywgCisgICAgODMsIDE4OCwgODMsIDgzLCA4MywgODMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgCisgICAgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDAsIDAsIDAsIDAsIDAsIDAsIDgxLCA4MSwgODEsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDE0OSwgMTM1LCAxMzUsIAorICAgIDEzNSwgMTM1LCAxMzksIDEzNSwgMTUwLCAxNTAsIDEzNSwgMTM1LCAxMzUsIDE0MiwgMTQyLCAwLCAxNDQsIDE0NCwgMTQ0LCAKKyAgICAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDgzLCA4MywgODMsIDgzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDE0NSwgODMsIDgzLCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTM1LCAxMzUsIDEzOSwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTM5LCAxMzksIDEzOSwgMTM1LCAxMzUsIAorICAgIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM5LCAxNzUsIDQ4LCA0OCwgNDgsIDQ4LCA4MywgODMsIDgzLCAKKyAgICA4MywgMCwgMCwgMCwgMCwgODMsIDAsIDAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIAorICAgIDE0NCwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIAorICAgIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTM5LCAxMzksIDEzOSwgMTM1LCAxMzUsIAorICAgIDEzNSwgMTM5LCAxMzksIDEzNSwgMTc1LCAxNDUsIDEzNSwgODMsIDgzLCA4MywgODMsIDgzLCA4MywgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCAxMzUsIDEzOSwgMTM5LCAxMzksIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDE0NSwgMTQyLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDEzNSwgMTM5LCAxMzksIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgNDgsIAorICAgIDQ4LCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgMCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAxNDUsIDQ4LCAxNDYsIDEzOSwgMTM1LCAxMzksIDEzOSwgMTM5LCAxMzksIDAsIDAsIAorICAgIDEzOSwgMTM5LCAwLCAwLCAxNDcsIDE0NywgMTc1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDYsIDAsIDAsIDAsIAorICAgIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTM5LCAxMzksIDAsIDAsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCAwLCAKKyAgICAwLCAwLCA4MSwgODEsIDgxLCA4MSwgODEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDE0NiwgMTM5LCAxMzksIDEzNSwgMTM1LCAxMzUsIDEzNSwgCisgICAgMTM1LCAxMzUsIDEzOSwgMTQ5LCAxNDcsIDE0NywgMTQ2LCAxNDcsIDEzNSwgMTM1LCAxMzksIDE0MiwgMTQ1LCA0OCwgNDgsIAorICAgIDgzLCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIAorICAgIDE0NCwgMTQ0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDE0NiwgMTM5LCAxMzksIDEzNSwgMTM1LCAxMzUsIDEzNSwgMCwgMCwgMTM5LCAKKyAgICAxMzksIDE0NywgMTQ3LCAxMzUsIDEzNSwgMTM5LCAxNDIsIDE0NSwgODMsIDgzLCA4MywgODMsIDgzLCA4MywgODMsIDgzLCAKKyAgICA4MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTM5LCAKKyAgICAxMzksIDEzOSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzOSwgMTM5LCAxMzUsIDEzOSwgCisgICAgMTQyLCAxMzUsIDgzLCA4MywgODMsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDQsIDE0NCwgMTQ0LCAKKyAgICAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxMzUsIDEzOSwgMTM1LCAxMzksIDEzOSwgMTM1LCAxMzUsIDEzNSwgCisgICAgMTM1LCAxMzUsIDEzNSwgMTc1LCAxNDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAKKyAgICAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDQsIDQ0LCAKKyAgICA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCAKKyAgICA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKKyAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKKyAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAKKyAgICAxNDQsIDE0NCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgCisgICAgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIAorICAgIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAKKyAgICAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgCisgICAgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIAorICAgIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAKKyAgICAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgCisgICAgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAwLCA4MywgCisgICAgODMsIDgzLCA4MywgODMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDE0NCwgMTQ0LCAxNDQsIAorICAgIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMCwgMCwgMCwgMCwgODMsIDgzLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAxNzYsIDE3NiwgMTc2LCAxNzYsIDE3NiwgODMsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDgxLCAKKyAgICA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MywgODMsIDgzLCA4MywgODMsIDgwLCA4MCwgODAsIDgwLCA1MywgNTMsIDUzLCAKKyAgICA1MywgODMsIDgwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAKKyAgICAxNDQsIDE0NCwgMTQ0LCAxNDQsIDAsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDQ4LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgCisgICAgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIAorICAgIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAKKyAgICAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDEzNSwgMTM1LCAxMzUsIDEzNSwgNTMsIDUzLCA1MywgNTMsIDUzLCA1MywgNTMsIDUzLCA1MywgNTMsIDUzLCAKKyAgICA1MywgNTMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDE3MCwgMTcwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgODAsIDEzNSwgCisgICAgMTc2LCA4MywgMTc0LCAxNzQsIDE3NCwgMTc0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAorICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAorICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAorICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAorICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAorICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAorICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCisgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCisgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgMCwgMCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKKyAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKKyAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKKyAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAzMjQsIDMyNCwgMzI0LCAzMjQsIDMyNCwgMzI0LCAzMjQsIDMyNSwgMzI1LCAxNzYsIAorICAgIDE3NiwgMTc2LCA4MCwgODAsIDgwLCAzMjYsIDMyNSwgMzI1LCAzMjUsIDMyNSwgMzI1LCAxNzQsIDE3NCwgMTc0LCAxNzQsIAorICAgIDE3NCwgMTc0LCAxNzQsIDE3NCwgODYsIDg2LCA4NiwgODYsIDg2LCA4NiwgODYsIDg2LCA4MCwgODAsIDgxLCA4MSwgODEsIAorICAgIDgxLCA4MSwgODYsIDg2LCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAorICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MSwgODEsIAorICAgIDgxLCA4MSwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDMyNCwgMzI0LCAKKyAgICAzMjQsIDMyNCwgMzI0LCAzMjQsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKKyAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgODEsIAorICAgIDgxLCA4MSwgMjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0OCwgMTQ4LCAxNDgsIAorICAgIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAKKyAgICAxNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIAorICAgIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIAorICAgIDQ5LCA0OSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAorICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIAorICAgIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIAorICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAwLCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCisgICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCisgICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDM1LCAzNSwgCisgICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCisgICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgNDksIDAsIDQ5LCA0OSwgMCwgMCwgNDksIDAsIDAsIDQ5LCA0OSwgMCwgMCwgNDksIAorICAgIDQ5LCA0OSwgNDksIDAsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgMzUsIDM1LCAzNSwgMzUsIDAsIDM1LCAwLCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMCwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAorICAgIDM1LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIAorICAgIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAorICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgNDksIAorICAgIDQ5LCAwLCA0OSwgNDksIDQ5LCA0OSwgMCwgMCwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAwLCA0OSwgNDksIAorICAgIDQ5LCA0OSwgNDksIDQ5LCA0OSwgMCwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCisgICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCA0OSwgNDksIDAsIDQ5LCAKKyAgICA0OSwgNDksIDQ5LCAwLCA0OSwgNDksIDQ5LCA0OSwgNDksIDAsIDQ5LCAwLCAwLCAwLCA0OSwgNDksIDQ5LCA0OSwgNDksIAorICAgIDQ5LCA0OSwgMCwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCisgICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCisgICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCisgICAgNDksIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCisgICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCisgICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAzNSwgCisgICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCisgICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCisgICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgMzUsIDM1LCAzNSwgCisgICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCisgICAgMzUsIDM1LCAzNSwgMzUsIDM1LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCisgICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDM1LCAzNSwgMzUsIDM1LCAzNSwgCisgICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCisgICAgMzUsIDM1LCAzNSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCisgICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCisgICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCisgICAgMzUsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCisgICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCisgICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCisgICAgMzUsIDAsIDAsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKKyAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAzMjcsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCisgICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAyMjYsIAorICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIAorICAgIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAzMjcsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAyMjYsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCisgICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAzMjcsIAorICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAorICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAyMjYsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ5LCA0OSwgNDksIDQ5LCAKKyAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKKyAgICA0OSwgNDksIDQ5LCAzMjcsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCisgICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAyMjYsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAorICAgIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIAorICAgIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAzMjcsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAyMjYsIDM1LCAzNSwgCisgICAgMzUsIDM1LCAzNSwgMzUsIDQ5LCAzNSwgMCwgMCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIAorICAgIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAKKyAgICAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgCisgICAgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAwLCAwLCAzMjEsIDMyMSwgMzIxLCAzMjEsIDMyMSwgMzIxLCAzMjEsIDMyMSwgMzIxLCA4NiwgODYsIDg2LCA4NiwgCisgICAgODYsIDg2LCA4NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAwLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCisgICAgMTMxLCAwLCAxMzEsIDEzMSwgMCwgMTMxLCAwLCAwLCAxMzEsIDAsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMCwgMTMxLCAxMzEsIDEzMSwgMTMxLCAwLCAxMzEsIDAsIDEzMSwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMTMxLCAwLCAwLCAwLCAwLCAxMzEsIDAsIDEzMSwgMCwgMTMxLCAwLCAxMzEsIDEzMSwgMTMxLCAwLCAxMzEsIDEzMSwgCisgICAgMCwgMTMxLCAwLCAwLCAxMzEsIDAsIDEzMSwgMCwgMTMxLCAwLCAxMzEsIDAsIDEzMSwgMCwgMTMxLCAxMzEsIDAsIDEzMSwgCisgICAgMCwgMCwgMTMxLCAxMzEsIDEzMSwgMTMxLCAwLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDAsIDEzMSwgCisgICAgMTMxLCAxMzEsIDEzMSwgMCwgMTMxLCAxMzEsIDEzMSwgMTMxLCAwLCAxMzEsIDAsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMCwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCisgICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDAsIDAsIDAsIDAsIDAsIDEzMSwgMTMxLCAxMzEsIDAsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAwLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNzgsIDc4LCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDAsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAxNTMsIDE1MywgMCwgMCwgCisgICAgMCwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIAorICAgIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAKKyAgICAyNDEsIDI0MSwgMzI5LCAwLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgCisgICAgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIAorICAgIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMzMwLCAzMzAsIDMzMCwgMzMwLCAzMzAsIDMzMCwgMzMwLCAKKyAgICAzMzAsIDMzMCwgMzMwLCAzMzAsIDMzMCwgMzMwLCAzMzAsIDMzMCwgMzMwLCAzMzAsIDMzMCwgMzMwLCAzMzAsIDMzMCwgCisgICAgMzMwLCAzMzAsIDMzMCwgMzMwLCAzMzAsIDIyMiwgMjIyLCAwLCAwLCAwLCAwLCAzMzAsIDMzMCwgMzMwLCAzMzAsIDMzMCwgCisgICAgMzMwLCAzMzAsIDMzMCwgMzMwLCAzMzAsIDMzMCwgMzMwLCAzMzAsIDMzMCwgMzMwLCAzMzAsIDMzMCwgMzMwLCAzMzAsIAorICAgIDMzMCwgMzMwLCAzMzAsIDMzMCwgMzMwLCAzMzAsIDMzMCwgMzMwLCAzMzAsIDMzMCwgMzMwLCAzMzAsIDMzMCwgMjQxLCAKKyAgICAzMzAsIDMzMCwgMzMwLCAzMzAsIDMzMCwgMzMwLCAzMzAsIDMzMCwgMzMwLCAzMzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDgwLCA4MCwgODAsIDgwLCAKKyAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKKyAgICA4MCwgODAsIDgwLCA4MCwgMjY4LCAyNjgsIDI2OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAorICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKKyAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCisgICAgMjY4LCAwLCAwLCAwLCAwLCAwLCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAyNjgsIDI2OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMCwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDAsIDAsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKKyAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCisgICAgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTc0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNzQsIDE3NCwgCiAgICAgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIAogICAgIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAKICAgICAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgCiAgICAgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIAogICAgIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAKICAgICAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgCi0gICAgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCiAgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCiAgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCiAgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCkBAIC0yNjQ5LDggKzI5MzksOCBAQAogICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAogICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAogICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgCisgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIAogICAgIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAKICAgICAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgCiAgICAgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIApAQCAtMjY1OSw3ICsyOTQ5LDcgQEAKICAgICAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgCiAgICAgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIAogICAgIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAKLSAgICAyNzMsIDI3MywgMjczLCAyNzMsIDAsIDAsIAorICAgIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDAsIDAsIAogfTsKIAogLyogZGVjb21wb3NpdGlvbiBkYXRhICovCkBAIC0zMTQ2LDM1OSArMzQzNiwzNTUgQEAKICAgICA1MCwgNDksIDI2MDg1LCA3NzAsIDUwLCA1MCwgMjYwODUsIDc3MCwgNTAsIDUxLCAyNjA4NSwgNzcwLCA1MCwgNTIsIAogICAgIDI2MDg1LCA3NzAsIDUwLCA1MywgMjYwODUsIDc3MCwgNTAsIDU0LCAyNjA4NSwgNzcwLCA1MCwgNTUsIDI2MDg1LCA3NzAsIAogICAgIDUwLCA1NiwgMjYwODUsIDc3MCwgNTAsIDU3LCAyNjA4NSwgNzcwLCA1MSwgNDgsIDI2MDg1LCA3NzAsIDUxLCA0OSwgCi0gICAgMjYwODUsIDc3OCwgMTAzLCA5NywgMTA4LCAyNTksIDQyODYzLCAyNTksIDI5NCwgMjU5LCAzMzksIDI1NiwgMzU5MTIsIAotICAgIDI1NiwgMjYzNTYsIDI1NiwgMzY1NTQsIDI1NiwgMzYwNDAsIDI1NiwgMjgzNjksIDI1NiwgMjAwMTgsIDI1NiwgMjE0NzcsIAotICAgIDI1NiwgNDA4NjAsIDI1NiwgNDA4NjAsIDI1NiwgMjI4NjUsIDI1NiwgMzczMjksIDI1NiwgMjE4OTUsIDI1NiwgMjI4NTYsIAotICAgIDI1NiwgMjUwNzgsIDI1NiwgMzAzMTMsIDI1NiwgMzI2NDUsIDI1NiwgMzQzNjcsIDI1NiwgMzQ3NDYsIDI1NiwgMzUwNjQsIAotICAgIDI1NiwgMzcwMDcsIDI1NiwgMjcxMzgsIDI1NiwgMjc5MzEsIDI1NiwgMjg4ODksIDI1NiwgMjk2NjIsIDI1NiwgMzM4NTMsIAotICAgIDI1NiwgMzcyMjYsIDI1NiwgMzk0MDksIDI1NiwgMjAwOTgsIDI1NiwgMjEzNjUsIDI1NiwgMjczOTYsIDI1NiwgMjkyMTEsIAotICAgIDI1NiwgMzQzNDksIDI1NiwgNDA0NzgsIDI1NiwgMjM4ODgsIDI1NiwgMjg2NTEsIDI1NiwgMzQyNTMsIDI1NiwgMzUxNzIsIAotICAgIDI1NiwgMjUyODksIDI1NiwgMzMyNDAsIDI1NiwgMzQ4NDcsIDI1NiwgMjQyNjYsIDI1NiwgMjYzOTEsIDI1NiwgMjgwMTAsIAotICAgIDI1NiwgMjk0MzYsIDI1NiwgMzcwNzAsIDI1NiwgMjAzNTgsIDI1NiwgMjA5MTksIDI1NiwgMjEyMTQsIDI1NiwgMjU3OTYsIAotICAgIDI1NiwgMjczNDcsIDI1NiwgMjkyMDAsIDI1NiwgMzA0MzksIDI1NiwgMzI3NjksIDI1NiwgMzQzMTAsIDI1NiwgMzQzOTYsIAotICAgIDI1NiwgMzYzMzUsIDI1NiwgMzg3MDYsIDI1NiwgMzk3OTEsIDI1NiwgNDA0NDIsIDI1NiwgMzA4NjAsIDI1NiwgMzExMDMsIAotICAgIDI1NiwgMzIxNjAsIDI1NiwgMzM3MzcsIDI1NiwgMzc2MzYsIDI1NiwgNDA1NzUsIDI1NiwgMzU1NDIsIDI1NiwgMjI3NTEsIAotICAgIDI1NiwgMjQzMjQsIDI1NiwgMzE4NDAsIDI1NiwgMzI4OTQsIDI1NiwgMjkyODIsIDI1NiwgMzA5MjIsIDI1NiwgMzYwMzQsIAotICAgIDI1NiwgMzg2NDcsIDI1NiwgMjI3NDQsIDI1NiwgMjM2NTAsIDI1NiwgMjcxNTUsIDI1NiwgMjgxMjIsIDI1NiwgMjg0MzEsIAotICAgIDI1NiwgMzIwNDcsIDI1NiwgMzIzMTEsIDI1NiwgMzg0NzUsIDI1NiwgMjEyMDIsIDI1NiwgMzI5MDcsIDI1NiwgMjA5NTYsIAotICAgIDI1NiwgMjA5NDAsIDI1NiwgMzEyNjAsIDI1NiwgMzIxOTAsIDI1NiwgMzM3NzcsIDI1NiwgMzg1MTcsIDI1NiwgMzU3MTIsIAotICAgIDI1NiwgMjUyOTUsIDI1NiwgMjcxMzgsIDI1NiwgMzU1ODIsIDI1NiwgMjAwMjUsIDI1NiwgMjM1MjcsIDI1NiwgMjQ1OTQsIAotICAgIDI1NiwgMjk1NzUsIDI1NiwgMzAwNjQsIDI1NiwgMjEyNzEsIDI1NiwgMzA5NzEsIDI1NiwgMjA0MTUsIDI1NiwgMjQ0ODksIAotICAgIDI1NiwgMTk5ODEsIDI1NiwgMjc4NTIsIDI1NiwgMjU5NzYsIDI1NiwgMzIwMzQsIDI1NiwgMjE0NDMsIDI1NiwgMjI2MjIsIAotICAgIDI1NiwgMzA0NjUsIDI1NiwgMzM4NjUsIDI1NiwgMzU0OTgsIDI1NiwgMjc1NzgsIDI1NiwgMzY3ODQsIDI1NiwgMjc3ODQsIAotICAgIDI1NiwgMjUzNDIsIDI1NiwgMzM1MDksIDI1NiwgMjU1MDQsIDI1NiwgMzAwNTMsIDI1NiwgMjAxNDIsIDI1NiwgMjA4NDEsIAotICAgIDI1NiwgMjA5MzcsIDI1NiwgMjY3NTMsIDI1NiwgMzE5NzUsIDI1NiwgMzMzOTEsIDI1NiwgMzU1MzgsIDI1NiwgMzczMjcsIAotICAgIDI1NiwgMjEyMzcsIDI1NiwgMjE1NzAsIDI1NiwgMjI4OTksIDI1NiwgMjQzMDAsIDI1NiwgMjYwNTMsIDI1NiwgMjg2NzAsIAotICAgIDI1NiwgMzEwMTgsIDI1NiwgMzgzMTcsIDI1NiwgMzk1MzAsIDI1NiwgNDA1OTksIDI1NiwgNDA2NTQsIDI1NiwgMjExNDcsIAotICAgIDI1NiwgMjYzMTAsIDI1NiwgMjc1MTEsIDI1NiwgMzY3MDYsIDI1NiwgMjQxODAsIDI1NiwgMjQ5NzYsIDI1NiwgMjUwODgsIAotICAgIDI1NiwgMjU3NTQsIDI1NiwgMjg0NTEsIDI1NiwgMjkwMDEsIDI1NiwgMjk4MzMsIDI1NiwgMzExNzgsIDI1NiwgMzIyNDQsIAotICAgIDI1NiwgMzI4NzksIDI1NiwgMzY2NDYsIDI1NiwgMzQwMzAsIDI1NiwgMzY4OTksIDI1NiwgMzc3MDYsIDI1NiwgMjEwMTUsIAotICAgIDI1NiwgMjExNTUsIDI1NiwgMjE2OTMsIDI1NiwgMjg4NzIsIDI1NiwgMzUwMTAsIDI1NiwgMzU0OTgsIDI1NiwgMjQyNjUsIAotICAgIDI1NiwgMjQ1NjUsIDI1NiwgMjU0NjcsIDI1NiwgMjc1NjYsIDI1NiwgMzE4MDYsIDI1NiwgMjk1NTcsIDI1NiwgMjAxOTYsIAotICAgIDI1NiwgMjIyNjUsIDI1NiwgMjM1MjcsIDI1NiwgMjM5OTQsIDI1NiwgMjQ2MDQsIDI1NiwgMjk2MTgsIDI1NiwgMjk4MDEsIAotICAgIDI1NiwgMzI2NjYsIDI1NiwgMzI4MzgsIDI1NiwgMzc0MjgsIDI1NiwgMzg2NDYsIDI1NiwgMzg3MjgsIDI1NiwgMzg5MzYsIAotICAgIDI1NiwgMjAzNjMsIDI1NiwgMzExNTAsIDI1NiwgMzczMDAsIDI1NiwgMzg1ODQsIDI1NiwgMjQ4MDEsIDI1NiwgMjAxMDIsIAotICAgIDI1NiwgMjA2OTgsIDI1NiwgMjM1MzQsIDI1NiwgMjM2MTUsIDI1NiwgMjYwMDksIDI1NiwgMjcxMzgsIDI1NiwgMjkxMzQsIAotICAgIDI1NiwgMzAyNzQsIDI1NiwgMzQwNDQsIDI1NiwgMzY5ODgsIDI1NiwgNDA4NDUsIDI1NiwgMjYyNDgsIDI1NiwgMzg0NDYsIAotICAgIDI1NiwgMjExMjksIDI1NiwgMjY0OTEsIDI1NiwgMjY2MTEsIDI1NiwgMjc5NjksIDI1NiwgMjgzMTYsIDI1NiwgMjk3MDUsIAotICAgIDI1NiwgMzAwNDEsIDI1NiwgMzA4MjcsIDI1NiwgMzIwMTYsIDI1NiwgMzkwMDYsIDI1NiwgMjA4NDUsIDI1NiwgMjUxMzQsIAotICAgIDI1NiwgMzg1MjAsIDI1NiwgMjA1MjMsIDI1NiwgMjM4MzMsIDI1NiwgMjgxMzgsIDI1NiwgMzY2NTAsIDI1NiwgMjQ0NTksIAotICAgIDI1NiwgMjQ5MDAsIDI1NiwgMjY2NDcsIDI1NiwgMjk1NzUsIDI1NiwgMzg1MzQsIDI1NiwgMjEwMzMsIDI1NiwgMjE1MTksIAotICAgIDI1NiwgMjM2NTMsIDI1NiwgMjYxMzEsIDI1NiwgMjY0NDYsIDI1NiwgMjY3OTIsIDI1NiwgMjc4NzcsIDI1NiwgMjk3MDIsIAotICAgIDI1NiwgMzAxNzgsIDI1NiwgMzI2MzMsIDI1NiwgMzUwMjMsIDI1NiwgMzUwNDEsIDI1NiwgMzczMjQsIDI1NiwgMzg2MjYsIAotICAgIDI1NiwgMjEzMTEsIDI1NiwgMjgzNDYsIDI1NiwgMjE1MzMsIDI1NiwgMjkxMzYsIDI1NiwgMjk4NDgsIDI1NiwgMzQyOTgsIAotICAgIDI1NiwgMzg1NjMsIDI1NiwgNDAwMjMsIDI1NiwgNDA2MDcsIDI1NiwgMjY1MTksIDI1NiwgMjgxMDcsIDI1NiwgMzMyNTYsIAotICAgIDI1NiwgMzE0MzUsIDI1NiwgMzE1MjAsIDI1NiwgMzE4OTAsIDI1NiwgMjkzNzYsIDI1NiwgMjg4MjUsIDI1NiwgMzU2NzIsIAotICAgIDI1NiwgMjAxNjAsIDI1NiwgMzM1OTAsIDI1NiwgMjEwNTAsIDI1NiwgMjA5OTksIDI1NiwgMjQyMzAsIDI1NiwgMjUyOTksIAotICAgIDI1NiwgMzE5NTgsIDI1NiwgMjM0MjksIDI1NiwgMjc5MzQsIDI1NiwgMjYyOTIsIDI1NiwgMzY2NjcsIDI1NiwgMzQ4OTIsIAotICAgIDI1NiwgMzg0NzcsIDI1NiwgMzUyMTEsIDI1NiwgMjQyNzUsIDI1NiwgMjA4MDAsIDI1NiwgMjE5NTIsIDI1NiwgMjI2MTgsIAotICAgIDI1NiwgMjYyMjgsIDI1NiwgMjA5NTgsIDI1NiwgMjk0ODIsIDI1NiwgMzA0MTAsIDI1NiwgMzEwMzYsIDI1NiwgMzEwNzAsIAotICAgIDI1NiwgMzEwNzcsIDI1NiwgMzExMTksIDI1NiwgMzg3NDIsIDI1NiwgMzE5MzQsIDI1NiwgMzI3MDEsIDI1NiwgMzQzMjIsIAotICAgIDI1NiwgMzU1NzYsIDI1NiwgMzY5MjAsIDI1NiwgMzcxMTcsIDI1NiwgMzkxNTEsIDI1NiwgMzkxNjQsIDI1NiwgMzkyMDgsIAotICAgIDI1NiwgNDAzNzIsIDI1NiwgMzcwODYsIDI1NiwgMzg1ODMsIDI1NiwgMjAzOTgsIDI1NiwgMjA3MTEsIDI1NiwgMjA4MTMsIAotICAgIDI1NiwgMjExOTMsIDI1NiwgMjEyMjAsIDI1NiwgMjEzMjksIDI1NiwgMjE5MTcsIDI1NiwgMjIwMjIsIDI1NiwgMjIxMjAsIAotICAgIDI1NiwgMjI1OTIsIDI1NiwgMjI2OTYsIDI1NiwgMjM2NTIsIDI1NiwgMjM2NjIsIDI1NiwgMjQ3MjQsIDI1NiwgMjQ5MzYsIAotICAgIDI1NiwgMjQ5NzQsIDI1NiwgMjUwNzQsIDI1NiwgMjU5MzUsIDI1NiwgMjYwODIsIDI1NiwgMjYyNTcsIDI1NiwgMjY3NTcsIAotICAgIDI1NiwgMjgwMjMsIDI1NiwgMjgxODYsIDI1NiwgMjg0NTAsIDI1NiwgMjkwMzgsIDI1NiwgMjkyMjcsIDI1NiwgMjk3MzAsIAotICAgIDI1NiwgMzA4NjUsIDI1NiwgMzEwMzgsIDI1NiwgMzEwNDksIDI1NiwgMzEwNDgsIDI1NiwgMzEwNTYsIDI1NiwgMzEwNjIsIAotICAgIDI1NiwgMzEwNjksIDI1NiwgMzExMTcsIDI1NiwgMzExMTgsIDI1NiwgMzEyOTYsIDI1NiwgMzEzNjEsIDI1NiwgMzE2ODAsIAotICAgIDI1NiwgMzIyNDQsIDI1NiwgMzIyNjUsIDI1NiwgMzIzMjEsIDI1NiwgMzI2MjYsIDI1NiwgMzI3NzMsIDI1NiwgMzMyNjEsIAotICAgIDI1NiwgMzM0MDEsIDI1NiwgMzM0MDEsIDI1NiwgMzM4NzksIDI1NiwgMzUwODgsIDI1NiwgMzUyMjIsIDI1NiwgMzU1ODUsIAotICAgIDI1NiwgMzU2NDEsIDI1NiwgMzYwNTEsIDI1NiwgMzYxMDQsIDI1NiwgMzY3OTAsIDI1NiwgMzY5MjAsIDI1NiwgMzg2MjcsIAotICAgIDI1NiwgMzg5MTEsIDI1NiwgMzg5NzEsIDI1NiwgMjQ2OTMsIDI1NiwgMTQ4MjA2LCAyNTYsIDMzMzA0LCAyNTYsIDIwMDA2LCAKLSAgICAyNTYsIDIwOTE3LCAyNTYsIDIwODQwLCAyNTYsIDIwMzUyLCAyNTYsIDIwODA1LCAyNTYsIDIwODY0LCAyNTYsIDIxMTkxLCAKLSAgICAyNTYsIDIxMjQyLCAyNTYsIDIxOTE3LCAyNTYsIDIxODQ1LCAyNTYsIDIxOTEzLCAyNTYsIDIxOTg2LCAyNTYsIDIyNjE4LCAKLSAgICAyNTYsIDIyNzA3LCAyNTYsIDIyODUyLCAyNTYsIDIyODY4LCAyNTYsIDIzMTM4LCAyNTYsIDIzMzM2LCAyNTYsIDI0Mjc0LCAKLSAgICAyNTYsIDI0MjgxLCAyNTYsIDI0NDI1LCAyNTYsIDI0NDkzLCAyNTYsIDI0NzkyLCAyNTYsIDI0OTEwLCAyNTYsIDI0ODQwLCAKLSAgICAyNTYsIDI0OTc0LCAyNTYsIDI0OTI4LCAyNTYsIDI1MDc0LCAyNTYsIDI1MTQwLCAyNTYsIDI1NTQwLCAyNTYsIDI1NjI4LCAKLSAgICAyNTYsIDI1NjgyLCAyNTYsIDI1OTQyLCAyNTYsIDI2MjI4LCAyNTYsIDI2MzkxLCAyNTYsIDI2Mzk1LCAyNTYsIDI2NDU0LCAKLSAgICAyNTYsIDI3NTEzLCAyNTYsIDI3NTc4LCAyNTYsIDI3OTY5LCAyNTYsIDI4Mzc5LCAyNTYsIDI4MzYzLCAyNTYsIDI4NDUwLCAKLSAgICAyNTYsIDI4NzAyLCAyNTYsIDI5MDM4LCAyNTYsIDMwNjMxLCAyNTYsIDI5MjM3LCAyNTYsIDI5MzU5LCAyNTYsIDI5NDgyLCAKLSAgICAyNTYsIDI5ODA5LCAyNTYsIDI5OTU4LCAyNTYsIDMwMDExLCAyNTYsIDMwMjM3LCAyNTYsIDMwMjM5LCAyNTYsIDMwNDEwLCAKLSAgICAyNTYsIDMwNDI3LCAyNTYsIDMwNDUyLCAyNTYsIDMwNTM4LCAyNTYsIDMwNTI4LCAyNTYsIDMwOTI0LCAyNTYsIDMxNDA5LCAKLSAgICAyNTYsIDMxNjgwLCAyNTYsIDMxODY3LCAyNTYsIDMyMDkxLCAyNTYsIDMyMjQ0LCAyNTYsIDMyNTc0LCAyNTYsIDMyNzczLCAKLSAgICAyNTYsIDMzNjE4LCAyNTYsIDMzNzc1LCAyNTYsIDM0NjgxLCAyNTYsIDM1MTM3LCAyNTYsIDM1MjA2LCAyNTYsIDM1MjIyLCAKLSAgICAyNTYsIDM1NTE5LCAyNTYsIDM1NTc2LCAyNTYsIDM1NTMxLCAyNTYsIDM1NTg1LCAyNTYsIDM1NTgyLCAyNTYsIDM1NTY1LCAKLSAgICAyNTYsIDM1NjQxLCAyNTYsIDM1NzIyLCAyNTYsIDM2MTA0LCAyNTYsIDM2NjY0LCAyNTYsIDM2OTc4LCAyNTYsIDM3MjczLCAKLSAgICAyNTYsIDM3NDk0LCAyNTYsIDM4NTI0LCAyNTYsIDM4NjI3LCAyNTYsIDM4NzQyLCAyNTYsIDM4ODc1LCAyNTYsIDM4OTExLCAKLSAgICAyNTYsIDM4OTIzLCAyNTYsIDM4OTcxLCAyNTYsIDM5Njk4LCAyNTYsIDQwODYwLCAyNTYsIDE0MTM4NiwgMjU2LCAxNDEzODAsIAotICAgIDI1NiwgMTQ0MzQxLCAyNTYsIDE1MjYxLCAyNTYsIDE2NDA4LCAyNTYsIDE2NDQxLCAyNTYsIDE1MjEzNywgMjU2LCAKLSAgICAxNTQ4MzIsIDI1NiwgMTYzNTM5LCAyNTYsIDQwNzcxLCAyNTYsIDQwODQ2LCA1MTQsIDEwMiwgMTAyLCA1MTQsIDEwMiwgCi0gICAgMTA1LCA1MTQsIDEwMiwgMTA4LCA3NzAsIDEwMiwgMTAyLCAxMDUsIDc3MCwgMTAyLCAxMDIsIDEwOCwgNTE0LCAzODMsIAotICAgIDExNiwgNTE0LCAxMTUsIDExNiwgNTE0LCAxMzk2LCAxMzk4LCA1MTQsIDEzOTYsIDEzODEsIDUxNCwgMTM5NiwgMTM4NywgCi0gICAgNTE0LCAxNDA2LCAxMzk4LCA1MTQsIDEzOTYsIDEzODksIDUxMiwgMTQ5NywgMTQ2MCwgNTEyLCAxNTIyLCAxNDYzLCAyNjIsIAotICAgIDE1MDYsIDI2MiwgMTQ4OCwgMjYyLCAxNDkxLCAyNjIsIDE0OTIsIDI2MiwgMTQ5OSwgMjYyLCAxNTAwLCAyNjIsIDE1MDEsIAotICAgIDI2MiwgMTUxMiwgMjYyLCAxNTE0LCAyNjIsIDQzLCA1MTIsIDE1MTMsIDE0NzMsIDUxMiwgMTUxMywgMTQ3NCwgNTEyLCAKLSAgICA2NDMyOSwgMTQ3MywgNTEyLCA2NDMyOSwgMTQ3NCwgNTEyLCAxNDg4LCAxNDYzLCA1MTIsIDE0ODgsIDE0NjQsIDUxMiwgCi0gICAgMTQ4OCwgMTQ2OCwgNTEyLCAxNDg5LCAxNDY4LCA1MTIsIDE0OTAsIDE0NjgsIDUxMiwgMTQ5MSwgMTQ2OCwgNTEyLCAxNDkyLCAKLSAgICAxNDY4LCA1MTIsIDE0OTMsIDE0NjgsIDUxMiwgMTQ5NCwgMTQ2OCwgNTEyLCAxNDk2LCAxNDY4LCA1MTIsIDE0OTcsIDE0NjgsIAotICAgIDUxMiwgMTQ5OCwgMTQ2OCwgNTEyLCAxNDk5LCAxNDY4LCA1MTIsIDE1MDAsIDE0NjgsIDUxMiwgMTUwMiwgMTQ2OCwgNTEyLCAKLSAgICAxNTA0LCAxNDY4LCA1MTIsIDE1MDUsIDE0NjgsIDUxMiwgMTUwNywgMTQ2OCwgNTEyLCAxNTA4LCAxNDY4LCA1MTIsIDE1MTAsIAotICAgIDE0NjgsIDUxMiwgMTUxMSwgMTQ2OCwgNTEyLCAxNTEyLCAxNDY4LCA1MTIsIDE1MTMsIDE0NjgsIDUxMiwgMTUxNCwgMTQ2OCwgCi0gICAgNTEyLCAxNDkzLCAxNDY1LCA1MTIsIDE0ODksIDE0NzEsIDUxMiwgMTQ5OSwgMTQ3MSwgNTEyLCAxNTA4LCAxNDcxLCA1MTQsIAotICAgIDE0ODgsIDE1MDAsIDI2NywgMTY0OSwgMjY4LCAxNjQ5LCAyNjcsIDE2NTksIDI2OCwgMTY1OSwgMjY5LCAxNjU5LCAyNzAsIAotICAgIDE2NTksIDI2NywgMTY2MiwgMjY4LCAxNjYyLCAyNjksIDE2NjIsIDI3MCwgMTY2MiwgMjY3LCAxNjY0LCAyNjgsIDE2NjQsIAotICAgIDI2OSwgMTY2NCwgMjcwLCAxNjY0LCAyNjcsIDE2NTgsIDI2OCwgMTY1OCwgMjY5LCAxNjU4LCAyNzAsIDE2NTgsIDI2NywgCi0gICAgMTY2MywgMjY4LCAxNjYzLCAyNjksIDE2NjMsIDI3MCwgMTY2MywgMjY3LCAxNjU3LCAyNjgsIDE2NTcsIDI2OSwgMTY1NywgCi0gICAgMjcwLCAxNjU3LCAyNjcsIDE3MDAsIDI2OCwgMTcwMCwgMjY5LCAxNzAwLCAyNzAsIDE3MDAsIDI2NywgMTcwMiwgMjY4LCAKLSAgICAxNzAyLCAyNjksIDE3MDIsIDI3MCwgMTcwMiwgMjY3LCAxNjY4LCAyNjgsIDE2NjgsIDI2OSwgMTY2OCwgMjcwLCAxNjY4LCAKLSAgICAyNjcsIDE2NjcsIDI2OCwgMTY2NywgMjY5LCAxNjY3LCAyNzAsIDE2NjcsIDI2NywgMTY3MCwgMjY4LCAxNjcwLCAyNjksIAotICAgIDE2NzAsIDI3MCwgMTY3MCwgMjY3LCAxNjcxLCAyNjgsIDE2NzEsIDI2OSwgMTY3MSwgMjcwLCAxNjcxLCAyNjcsIDE2NzcsIAotICAgIDI2OCwgMTY3NywgMjY3LCAxNjc2LCAyNjgsIDE2NzYsIDI2NywgMTY3OCwgMjY4LCAxNjc4LCAyNjcsIDE2NzIsIDI2OCwgCi0gICAgMTY3MiwgMjY3LCAxNjg4LCAyNjgsIDE2ODgsIDI2NywgMTY4MSwgMjY4LCAxNjgxLCAyNjcsIDE3MDUsIDI2OCwgMTcwNSwgCi0gICAgMjY5LCAxNzA1LCAyNzAsIDE3MDUsIDI2NywgMTcxMSwgMjY4LCAxNzExLCAyNjksIDE3MTEsIDI3MCwgMTcxMSwgMjY3LCAKLSAgICAxNzE1LCAyNjgsIDE3MTUsIDI2OSwgMTcxNSwgMjcwLCAxNzE1LCAyNjcsIDE3MTMsIDI2OCwgMTcxMywgMjY5LCAxNzEzLCAKLSAgICAyNzAsIDE3MTMsIDI2NywgMTcyMiwgMjY4LCAxNzIyLCAyNjcsIDE3MjMsIDI2OCwgMTcyMywgMjY5LCAxNzIzLCAyNzAsIAotICAgIDE3MjMsIDI2NywgMTcyOCwgMjY4LCAxNzI4LCAyNjcsIDE3MjksIDI2OCwgMTcyOSwgMjY5LCAxNzI5LCAyNzAsIDE3MjksIAotICAgIDI2NywgMTcyNiwgMjY4LCAxNzI2LCAyNjksIDE3MjYsIDI3MCwgMTcyNiwgMjY3LCAxNzQ2LCAyNjgsIDE3NDYsIDI2NywgCi0gICAgMTc0NywgMjY4LCAxNzQ3LCAyNjcsIDE3MDksIDI2OCwgMTcwOSwgMjY5LCAxNzA5LCAyNzAsIDE3MDksIDI2NywgMTczNSwgCi0gICAgMjY4LCAxNzM1LCAyNjcsIDE3MzQsIDI2OCwgMTczNCwgMjY3LCAxNzM2LCAyNjgsIDE3MzYsIDI2NywgMTY1NSwgMjY3LCAKLSAgICAxNzM5LCAyNjgsIDE3MzksIDI2NywgMTczMywgMjY4LCAxNzMzLCAyNjcsIDE3MzcsIDI2OCwgMTczNywgMjY3LCAxNzQ0LCAKLSAgICAyNjgsIDE3NDQsIDI2OSwgMTc0NCwgMjcwLCAxNzQ0LCAyNjksIDE2MDksIDI3MCwgMTYwOSwgNTIzLCAxNTc0LCAxNTc1LCAKLSAgICA1MjQsIDE1NzQsIDE1NzUsIDUyMywgMTU3NCwgMTc0OSwgNTI0LCAxNTc0LCAxNzQ5LCA1MjMsIDE1NzQsIDE2MDgsIDUyNCwgCi0gICAgMTU3NCwgMTYwOCwgNTIzLCAxNTc0LCAxNzM1LCA1MjQsIDE1NzQsIDE3MzUsIDUyMywgMTU3NCwgMTczNCwgNTI0LCAxNTc0LCAKLSAgICAxNzM0LCA1MjMsIDE1NzQsIDE3MzYsIDUyNCwgMTU3NCwgMTczNiwgNTIzLCAxNTc0LCAxNzQ0LCA1MjQsIDE1NzQsIDE3NDQsIAotICAgIDUyNSwgMTU3NCwgMTc0NCwgNTIzLCAxNTc0LCAxNjA5LCA1MjQsIDE1NzQsIDE2MDksIDUyNSwgMTU3NCwgMTYwOSwgMjY3LCAKLSAgICAxNzQwLCAyNjgsIDE3NDAsIDI2OSwgMTc0MCwgMjcwLCAxNzQwLCA1MjMsIDE1NzQsIDE1ODAsIDUyMywgMTU3NCwgMTU4MSwgCi0gICAgNTIzLCAxNTc0LCAxNjA1LCA1MjMsIDE1NzQsIDE2MDksIDUyMywgMTU3NCwgMTYxMCwgNTIzLCAxNTc2LCAxNTgwLCA1MjMsIAotICAgIDE1NzYsIDE1ODEsIDUyMywgMTU3NiwgMTU4MiwgNTIzLCAxNTc2LCAxNjA1LCA1MjMsIDE1NzYsIDE2MDksIDUyMywgMTU3NiwgCi0gICAgMTYxMCwgNTIzLCAxNTc4LCAxNTgwLCA1MjMsIDE1NzgsIDE1ODEsIDUyMywgMTU3OCwgMTU4MiwgNTIzLCAxNTc4LCAxNjA1LCAKLSAgICA1MjMsIDE1NzgsIDE2MDksIDUyMywgMTU3OCwgMTYxMCwgNTIzLCAxNTc5LCAxNTgwLCA1MjMsIDE1NzksIDE2MDUsIDUyMywgCi0gICAgMTU3OSwgMTYwOSwgNTIzLCAxNTc5LCAxNjEwLCA1MjMsIDE1ODAsIDE1ODEsIDUyMywgMTU4MCwgMTYwNSwgNTIzLCAxNTgxLCAKLSAgICAxNTgwLCA1MjMsIDE1ODEsIDE2MDUsIDUyMywgMTU4MiwgMTU4MCwgNTIzLCAxNTgyLCAxNTgxLCA1MjMsIDE1ODIsIDE2MDUsIAotICAgIDUyMywgMTU4NywgMTU4MCwgNTIzLCAxNTg3LCAxNTgxLCA1MjMsIDE1ODcsIDE1ODIsIDUyMywgMTU4NywgMTYwNSwgNTIzLCAKLSAgICAxNTg5LCAxNTgxLCA1MjMsIDE1ODksIDE2MDUsIDUyMywgMTU5MCwgMTU4MCwgNTIzLCAxNTkwLCAxNTgxLCA1MjMsIDE1OTAsIAotICAgIDE1ODIsIDUyMywgMTU5MCwgMTYwNSwgNTIzLCAxNTkxLCAxNTgxLCA1MjMsIDE1OTEsIDE2MDUsIDUyMywgMTU5MiwgMTYwNSwgCi0gICAgNTIzLCAxNTkzLCAxNTgwLCA1MjMsIDE1OTMsIDE2MDUsIDUyMywgMTU5NCwgMTU4MCwgNTIzLCAxNTk0LCAxNjA1LCA1MjMsIAotICAgIDE2MDEsIDE1ODAsIDUyMywgMTYwMSwgMTU4MSwgNTIzLCAxNjAxLCAxNTgyLCA1MjMsIDE2MDEsIDE2MDUsIDUyMywgMTYwMSwgCi0gICAgMTYwOSwgNTIzLCAxNjAxLCAxNjEwLCA1MjMsIDE2MDIsIDE1ODEsIDUyMywgMTYwMiwgMTYwNSwgNTIzLCAxNjAyLCAxNjA5LCAKLSAgICA1MjMsIDE2MDIsIDE2MTAsIDUyMywgMTYwMywgMTU3NSwgNTIzLCAxNjAzLCAxNTgwLCA1MjMsIDE2MDMsIDE1ODEsIDUyMywgCi0gICAgMTYwMywgMTU4MiwgNTIzLCAxNjAzLCAxNjA0LCA1MjMsIDE2MDMsIDE2MDUsIDUyMywgMTYwMywgMTYwOSwgNTIzLCAxNjAzLCAKLSAgICAxNjEwLCA1MjMsIDE2MDQsIDE1ODAsIDUyMywgMTYwNCwgMTU4MSwgNTIzLCAxNjA0LCAxNTgyLCA1MjMsIDE2MDQsIDE2MDUsIAotICAgIDUyMywgMTYwNCwgMTYwOSwgNTIzLCAxNjA0LCAxNjEwLCA1MjMsIDE2MDUsIDE1ODAsIDUyMywgMTYwNSwgMTU4MSwgNTIzLCAKLSAgICAxNjA1LCAxNTgyLCA1MjMsIDE2MDUsIDE2MDUsIDUyMywgMTYwNSwgMTYwOSwgNTIzLCAxNjA1LCAxNjEwLCA1MjMsIDE2MDYsIAotICAgIDE1ODAsIDUyMywgMTYwNiwgMTU4MSwgNTIzLCAxNjA2LCAxNTgyLCA1MjMsIDE2MDYsIDE2MDUsIDUyMywgMTYwNiwgMTYwOSwgCi0gICAgNTIzLCAxNjA2LCAxNjEwLCA1MjMsIDE2MDcsIDE1ODAsIDUyMywgMTYwNywgMTYwNSwgNTIzLCAxNjA3LCAxNjA5LCA1MjMsIAotICAgIDE2MDcsIDE2MTAsIDUyMywgMTYxMCwgMTU4MCwgNTIzLCAxNjEwLCAxNTgxLCA1MjMsIDE2MTAsIDE1ODIsIDUyMywgMTYxMCwgCi0gICAgMTYwNSwgNTIzLCAxNjEwLCAxNjA5LCA1MjMsIDE2MTAsIDE2MTAsIDUyMywgMTU4NCwgMTY0OCwgNTIzLCAxNTg1LCAxNjQ4LCAKLSAgICA1MjMsIDE2MDksIDE2NDgsIDc3OSwgMzIsIDE2MTIsIDE2MTcsIDc3OSwgMzIsIDE2MTMsIDE2MTcsIDc3OSwgMzIsIDE2MTQsIAotICAgIDE2MTcsIDc3OSwgMzIsIDE2MTUsIDE2MTcsIDc3OSwgMzIsIDE2MTYsIDE2MTcsIDc3OSwgMzIsIDE2MTcsIDE2NDgsIDUyNCwgCi0gICAgMTU3NCwgMTU4NSwgNTI0LCAxNTc0LCAxNTg2LCA1MjQsIDE1NzQsIDE2MDUsIDUyNCwgMTU3NCwgMTYwNiwgNTI0LCAxNTc0LCAKLSAgICAxNjA5LCA1MjQsIDE1NzQsIDE2MTAsIDUyNCwgMTU3NiwgMTU4NSwgNTI0LCAxNTc2LCAxNTg2LCA1MjQsIDE1NzYsIDE2MDUsIAotICAgIDUyNCwgMTU3NiwgMTYwNiwgNTI0LCAxNTc2LCAxNjA5LCA1MjQsIDE1NzYsIDE2MTAsIDUyNCwgMTU3OCwgMTU4NSwgNTI0LCAKLSAgICAxNTc4LCAxNTg2LCA1MjQsIDE1NzgsIDE2MDUsIDUyNCwgMTU3OCwgMTYwNiwgNTI0LCAxNTc4LCAxNjA5LCA1MjQsIDE1NzgsIAotICAgIDE2MTAsIDUyNCwgMTU3OSwgMTU4NSwgNTI0LCAxNTc5LCAxNTg2LCA1MjQsIDE1NzksIDE2MDUsIDUyNCwgMTU3OSwgMTYwNiwgCi0gICAgNTI0LCAxNTc5LCAxNjA5LCA1MjQsIDE1NzksIDE2MTAsIDUyNCwgMTYwMSwgMTYwOSwgNTI0LCAxNjAxLCAxNjEwLCA1MjQsIAotICAgIDE2MDIsIDE2MDksIDUyNCwgMTYwMiwgMTYxMCwgNTI0LCAxNjAzLCAxNTc1LCA1MjQsIDE2MDMsIDE2MDQsIDUyNCwgMTYwMywgCi0gICAgMTYwNSwgNTI0LCAxNjAzLCAxNjA5LCA1MjQsIDE2MDMsIDE2MTAsIDUyNCwgMTYwNCwgMTYwNSwgNTI0LCAxNjA0LCAxNjA5LCAKLSAgICA1MjQsIDE2MDQsIDE2MTAsIDUyNCwgMTYwNSwgMTU3NSwgNTI0LCAxNjA1LCAxNjA1LCA1MjQsIDE2MDYsIDE1ODUsIDUyNCwgCi0gICAgMTYwNiwgMTU4NiwgNTI0LCAxNjA2LCAxNjA1LCA1MjQsIDE2MDYsIDE2MDYsIDUyNCwgMTYwNiwgMTYwOSwgNTI0LCAxNjA2LCAKLSAgICAxNjEwLCA1MjQsIDE2MDksIDE2NDgsIDUyNCwgMTYxMCwgMTU4NSwgNTI0LCAxNjEwLCAxNTg2LCA1MjQsIDE2MTAsIDE2MDUsIAotICAgIDUyNCwgMTYxMCwgMTYwNiwgNTI0LCAxNjEwLCAxNjA5LCA1MjQsIDE2MTAsIDE2MTAsIDUyNSwgMTU3NCwgMTU4MCwgNTI1LCAKLSAgICAxNTc0LCAxNTgxLCA1MjUsIDE1NzQsIDE1ODIsIDUyNSwgMTU3NCwgMTYwNSwgNTI1LCAxNTc0LCAxNjA3LCA1MjUsIDE1NzYsIAotICAgIDE1ODAsIDUyNSwgMTU3NiwgMTU4MSwgNTI1LCAxNTc2LCAxNTgyLCA1MjUsIDE1NzYsIDE2MDUsIDUyNSwgMTU3NiwgMTYwNywgCi0gICAgNTI1LCAxNTc4LCAxNTgwLCA1MjUsIDE1NzgsIDE1ODEsIDUyNSwgMTU3OCwgMTU4MiwgNTI1LCAxNTc4LCAxNjA1LCA1MjUsIAotICAgIDE1NzgsIDE2MDcsIDUyNSwgMTU3OSwgMTYwNSwgNTI1LCAxNTgwLCAxNTgxLCA1MjUsIDE1ODAsIDE2MDUsIDUyNSwgMTU4MSwgCi0gICAgMTU4MCwgNTI1LCAxNTgxLCAxNjA1LCA1MjUsIDE1ODIsIDE1ODAsIDUyNSwgMTU4MiwgMTYwNSwgNTI1LCAxNTg3LCAxNTgwLCAKLSAgICA1MjUsIDE1ODcsIDE1ODEsIDUyNSwgMTU4NywgMTU4MiwgNTI1LCAxNTg3LCAxNjA1LCA1MjUsIDE1ODksIDE1ODEsIDUyNSwgCi0gICAgMTU4OSwgMTU4MiwgNTI1LCAxNTg5LCAxNjA1LCA1MjUsIDE1OTAsIDE1ODAsIDUyNSwgMTU5MCwgMTU4MSwgNTI1LCAxNTkwLCAKLSAgICAxNTgyLCA1MjUsIDE1OTAsIDE2MDUsIDUyNSwgMTU5MSwgMTU4MSwgNTI1LCAxNTkyLCAxNjA1LCA1MjUsIDE1OTMsIDE1ODAsIAotICAgIDUyNSwgMTU5MywgMTYwNSwgNTI1LCAxNTk0LCAxNTgwLCA1MjUsIDE1OTQsIDE2MDUsIDUyNSwgMTYwMSwgMTU4MCwgNTI1LCAKLSAgICAxNjAxLCAxNTgxLCA1MjUsIDE2MDEsIDE1ODIsIDUyNSwgMTYwMSwgMTYwNSwgNTI1LCAxNjAyLCAxNTgxLCA1MjUsIDE2MDIsIAotICAgIDE2MDUsIDUyNSwgMTYwMywgMTU4MCwgNTI1LCAxNjAzLCAxNTgxLCA1MjUsIDE2MDMsIDE1ODIsIDUyNSwgMTYwMywgMTYwNCwgCi0gICAgNTI1LCAxNjAzLCAxNjA1LCA1MjUsIDE2MDQsIDE1ODAsIDUyNSwgMTYwNCwgMTU4MSwgNTI1LCAxNjA0LCAxNTgyLCA1MjUsIAotICAgIDE2MDQsIDE2MDUsIDUyNSwgMTYwNCwgMTYwNywgNTI1LCAxNjA1LCAxNTgwLCA1MjUsIDE2MDUsIDE1ODEsIDUyNSwgMTYwNSwgCi0gICAgMTU4MiwgNTI1LCAxNjA1LCAxNjA1LCA1MjUsIDE2MDYsIDE1ODAsIDUyNSwgMTYwNiwgMTU4MSwgNTI1LCAxNjA2LCAxNTgyLCAKLSAgICA1MjUsIDE2MDYsIDE2MDUsIDUyNSwgMTYwNiwgMTYwNywgNTI1LCAxNjA3LCAxNTgwLCA1MjUsIDE2MDcsIDE2MDUsIDUyNSwgCi0gICAgMTYwNywgMTY0OCwgNTI1LCAxNjEwLCAxNTgwLCA1MjUsIDE2MTAsIDE1ODEsIDUyNSwgMTYxMCwgMTU4MiwgNTI1LCAxNjEwLCAKLSAgICAxNjA1LCA1MjUsIDE2MTAsIDE2MDcsIDUyNiwgMTU3NCwgMTYwNSwgNTI2LCAxNTc0LCAxNjA3LCA1MjYsIDE1NzYsIDE2MDUsIAotICAgIDUyNiwgMTU3NiwgMTYwNywgNTI2LCAxNTc4LCAxNjA1LCA1MjYsIDE1NzgsIDE2MDcsIDUyNiwgMTU3OSwgMTYwNSwgNTI2LCAKLSAgICAxNTc5LCAxNjA3LCA1MjYsIDE1ODcsIDE2MDUsIDUyNiwgMTU4NywgMTYwNywgNTI2LCAxNTg4LCAxNjA1LCA1MjYsIDE1ODgsIAotICAgIDE2MDcsIDUyNiwgMTYwMywgMTYwNCwgNTI2LCAxNjAzLCAxNjA1LCA1MjYsIDE2MDQsIDE2MDUsIDUyNiwgMTYwNiwgMTYwNSwgCi0gICAgNTI2LCAxNjA2LCAxNjA3LCA1MjYsIDE2MTAsIDE2MDUsIDUyNiwgMTYxMCwgMTYwNywgNzgyLCAxNjAwLCAxNjE0LCAxNjE3LCAKLSAgICA3ODIsIDE2MDAsIDE2MTUsIDE2MTcsIDc4MiwgMTYwMCwgMTYxNiwgMTYxNywgNTIzLCAxNTkxLCAxNjA5LCA1MjMsIDE1OTEsIAotICAgIDE2MTAsIDUyMywgMTU5MywgMTYwOSwgNTIzLCAxNTkzLCAxNjEwLCA1MjMsIDE1OTQsIDE2MDksIDUyMywgMTU5NCwgMTYxMCwgCi0gICAgNTIzLCAxNTg3LCAxNjA5LCA1MjMsIDE1ODcsIDE2MTAsIDUyMywgMTU4OCwgMTYwOSwgNTIzLCAxNTg4LCAxNjEwLCA1MjMsIAotICAgIDE1ODEsIDE2MDksIDUyMywgMTU4MSwgMTYxMCwgNTIzLCAxNTgwLCAxNjA5LCA1MjMsIDE1ODAsIDE2MTAsIDUyMywgMTU4MiwgCi0gICAgMTYwOSwgNTIzLCAxNTgyLCAxNjEwLCA1MjMsIDE1ODksIDE2MDksIDUyMywgMTU4OSwgMTYxMCwgNTIzLCAxNTkwLCAxNjA5LCAKLSAgICA1MjMsIDE1OTAsIDE2MTAsIDUyMywgMTU4OCwgMTU4MCwgNTIzLCAxNTg4LCAxNTgxLCA1MjMsIDE1ODgsIDE1ODIsIDUyMywgCi0gICAgMTU4OCwgMTYwNSwgNTIzLCAxNTg4LCAxNTg1LCA1MjMsIDE1ODcsIDE1ODUsIDUyMywgMTU4OSwgMTU4NSwgNTIzLCAxNTkwLCAKLSAgICAxNTg1LCA1MjQsIDE1OTEsIDE2MDksIDUyNCwgMTU5MSwgMTYxMCwgNTI0LCAxNTkzLCAxNjA5LCA1MjQsIDE1OTMsIDE2MTAsIAotICAgIDUyNCwgMTU5NCwgMTYwOSwgNTI0LCAxNTk0LCAxNjEwLCA1MjQsIDE1ODcsIDE2MDksIDUyNCwgMTU4NywgMTYxMCwgNTI0LCAKLSAgICAxNTg4LCAxNjA5LCA1MjQsIDE1ODgsIDE2MTAsIDUyNCwgMTU4MSwgMTYwOSwgNTI0LCAxNTgxLCAxNjEwLCA1MjQsIDE1ODAsIAotICAgIDE2MDksIDUyNCwgMTU4MCwgMTYxMCwgNTI0LCAxNTgyLCAxNjA5LCA1MjQsIDE1ODIsIDE2MTAsIDUyNCwgMTU4OSwgMTYwOSwgCi0gICAgNTI0LCAxNTg5LCAxNjEwLCA1MjQsIDE1OTAsIDE2MDksIDUyNCwgMTU5MCwgMTYxMCwgNTI0LCAxNTg4LCAxNTgwLCA1MjQsIAotICAgIDE1ODgsIDE1ODEsIDUyNCwgMTU4OCwgMTU4MiwgNTI0LCAxNTg4LCAxNjA1LCA1MjQsIDE1ODgsIDE1ODUsIDUyNCwgMTU4NywgCi0gICAgMTU4NSwgNTI0LCAxNTg5LCAxNTg1LCA1MjQsIDE1OTAsIDE1ODUsIDUyNSwgMTU4OCwgMTU4MCwgNTI1LCAxNTg4LCAxNTgxLCAKLSAgICA1MjUsIDE1ODgsIDE1ODIsIDUyNSwgMTU4OCwgMTYwNSwgNTI1LCAxNTg3LCAxNjA3LCA1MjUsIDE1ODgsIDE2MDcsIDUyNSwgCi0gICAgMTU5MSwgMTYwNSwgNTI2LCAxNTg3LCAxNTgwLCA1MjYsIDE1ODcsIDE1ODEsIDUyNiwgMTU4NywgMTU4MiwgNTI2LCAxNTg4LCAKLSAgICAxNTgwLCA1MjYsIDE1ODgsIDE1ODEsIDUyNiwgMTU4OCwgMTU4MiwgNTI2LCAxNTkxLCAxNjA1LCA1MjYsIDE1OTIsIDE2MDUsIAotICAgIDUyNCwgMTU3NSwgMTYxMSwgNTIzLCAxNTc1LCAxNjExLCA3ODEsIDE1NzgsIDE1ODAsIDE2MDUsIDc4MCwgMTU3OCwgMTU4MSwgCi0gICAgMTU4MCwgNzgxLCAxNTc4LCAxNTgxLCAxNTgwLCA3ODEsIDE1NzgsIDE1ODEsIDE2MDUsIDc4MSwgMTU3OCwgMTU4MiwgCi0gICAgMTYwNSwgNzgxLCAxNTc4LCAxNjA1LCAxNTgwLCA3ODEsIDE1NzgsIDE2MDUsIDE1ODEsIDc4MSwgMTU3OCwgMTYwNSwgCi0gICAgMTU4MiwgNzgwLCAxNTgwLCAxNjA1LCAxNTgxLCA3ODEsIDE1ODAsIDE2MDUsIDE1ODEsIDc4MCwgMTU4MSwgMTYwNSwgCi0gICAgMTYxMCwgNzgwLCAxNTgxLCAxNjA1LCAxNjA5LCA3ODEsIDE1ODcsIDE1ODEsIDE1ODAsIDc4MSwgMTU4NywgMTU4MCwgCi0gICAgMTU4MSwgNzgwLCAxNTg3LCAxNTgwLCAxNjA5LCA3ODAsIDE1ODcsIDE2MDUsIDE1ODEsIDc4MSwgMTU4NywgMTYwNSwgCi0gICAgMTU4MSwgNzgxLCAxNTg3LCAxNjA1LCAxNTgwLCA3ODAsIDE1ODcsIDE2MDUsIDE2MDUsIDc4MSwgMTU4NywgMTYwNSwgCi0gICAgMTYwNSwgNzgwLCAxNTg5LCAxNTgxLCAxNTgxLCA3ODEsIDE1ODksIDE1ODEsIDE1ODEsIDc4MCwgMTU4OSwgMTYwNSwgCi0gICAgMTYwNSwgNzgwLCAxNTg4LCAxNTgxLCAxNjA1LCA3ODEsIDE1ODgsIDE1ODEsIDE2MDUsIDc4MCwgMTU4OCwgMTU4MCwgCi0gICAgMTYxMCwgNzgwLCAxNTg4LCAxNjA1LCAxNTgyLCA3ODEsIDE1ODgsIDE2MDUsIDE1ODIsIDc4MCwgMTU4OCwgMTYwNSwgCi0gICAgMTYwNSwgNzgxLCAxNTg4LCAxNjA1LCAxNjA1LCA3ODAsIDE1OTAsIDE1ODEsIDE2MDksIDc4MCwgMTU5MCwgMTU4MiwgCi0gICAgMTYwNSwgNzgxLCAxNTkwLCAxNTgyLCAxNjA1LCA3ODAsIDE1OTEsIDE2MDUsIDE1ODEsIDc4MSwgMTU5MSwgMTYwNSwgCi0gICAgMTU4MSwgNzgxLCAxNTkxLCAxNjA1LCAxNjA1LCA3ODAsIDE1OTEsIDE2MDUsIDE2MTAsIDc4MCwgMTU5MywgMTU4MCwgCi0gICAgMTYwNSwgNzgwLCAxNTkzLCAxNjA1LCAxNjA1LCA3ODEsIDE1OTMsIDE2MDUsIDE2MDUsIDc4MCwgMTU5MywgMTYwNSwgCi0gICAgMTYwOSwgNzgwLCAxNTk0LCAxNjA1LCAxNjA1LCA3ODAsIDE1OTQsIDE2MDUsIDE2MTAsIDc4MCwgMTU5NCwgMTYwNSwgCi0gICAgMTYwOSwgNzgwLCAxNjAxLCAxNTgyLCAxNjA1LCA3ODEsIDE2MDEsIDE1ODIsIDE2MDUsIDc4MCwgMTYwMiwgMTYwNSwgCi0gICAgMTU4MSwgNzgwLCAxNjAyLCAxNjA1LCAxNjA1LCA3ODAsIDE2MDQsIDE1ODEsIDE2MDUsIDc4MCwgMTYwNCwgMTU4MSwgCi0gICAgMTYxMCwgNzgwLCAxNjA0LCAxNTgxLCAxNjA5LCA3ODEsIDE2MDQsIDE1ODAsIDE1ODAsIDc4MCwgMTYwNCwgMTU4MCwgCi0gICAgMTU4MCwgNzgwLCAxNjA0LCAxNTgyLCAxNjA1LCA3ODEsIDE2MDQsIDE1ODIsIDE2MDUsIDc4MCwgMTYwNCwgMTYwNSwgCi0gICAgMTU4MSwgNzgxLCAxNjA0LCAxNjA1LCAxNTgxLCA3ODEsIDE2MDUsIDE1ODEsIDE1ODAsIDc4MSwgMTYwNSwgMTU4MSwgCi0gICAgMTYwNSwgNzgwLCAxNjA1LCAxNTgxLCAxNjEwLCA3ODEsIDE2MDUsIDE1ODAsIDE1ODEsIDc4MSwgMTYwNSwgMTU4MCwgCi0gICAgMTYwNSwgNzgxLCAxNjA1LCAxNTgyLCAxNTgwLCA3ODEsIDE2MDUsIDE1ODIsIDE2MDUsIDc4MSwgMTYwNSwgMTU4MCwgCi0gICAgMTU4MiwgNzgxLCAxNjA3LCAxNjA1LCAxNTgwLCA3ODEsIDE2MDcsIDE2MDUsIDE2MDUsIDc4MSwgMTYwNiwgMTU4MSwgCi0gICAgMTYwNSwgNzgwLCAxNjA2LCAxNTgxLCAxNjA5LCA3ODAsIDE2MDYsIDE1ODAsIDE2MDUsIDc4MSwgMTYwNiwgMTU4MCwgCi0gICAgMTYwNSwgNzgwLCAxNjA2LCAxNTgwLCAxNjA5LCA3ODAsIDE2MDYsIDE2MDUsIDE2MTAsIDc4MCwgMTYwNiwgMTYwNSwgCi0gICAgMTYwOSwgNzgwLCAxNjEwLCAxNjA1LCAxNjA1LCA3ODEsIDE2MTAsIDE2MDUsIDE2MDUsIDc4MCwgMTU3NiwgMTU4MiwgCi0gICAgMTYxMCwgNzgwLCAxNTc4LCAxNTgwLCAxNjEwLCA3ODAsIDE1NzgsIDE1ODAsIDE2MDksIDc4MCwgMTU3OCwgMTU4MiwgCi0gICAgMTYxMCwgNzgwLCAxNTc4LCAxNTgyLCAxNjA5LCA3ODAsIDE1NzgsIDE2MDUsIDE2MTAsIDc4MCwgMTU3OCwgMTYwNSwgCi0gICAgMTYwOSwgNzgwLCAxNTgwLCAxNjA1LCAxNjEwLCA3ODAsIDE1ODAsIDE1ODEsIDE2MDksIDc4MCwgMTU4MCwgMTYwNSwgCi0gICAgMTYwOSwgNzgwLCAxNTg3LCAxNTgyLCAxNjA5LCA3ODAsIDE1ODksIDE1ODEsIDE2MTAsIDc4MCwgMTU4OCwgMTU4MSwgCi0gICAgMTYxMCwgNzgwLCAxNTkwLCAxNTgxLCAxNjEwLCA3ODAsIDE2MDQsIDE1ODAsIDE2MTAsIDc4MCwgMTYwNCwgMTYwNSwgCi0gICAgMTYxMCwgNzgwLCAxNjEwLCAxNTgxLCAxNjEwLCA3ODAsIDE2MTAsIDE1ODAsIDE2MTAsIDc4MCwgMTYxMCwgMTYwNSwgCi0gICAgMTYxMCwgNzgwLCAxNjA1LCAxNjA1LCAxNjEwLCA3ODAsIDE2MDIsIDE2MDUsIDE2MTAsIDc4MCwgMTYwNiwgMTU4MSwgCi0gICAgMTYxMCwgNzgxLCAxNjAyLCAxNjA1LCAxNTgxLCA3ODEsIDE2MDQsIDE1ODEsIDE2MDUsIDc4MCwgMTU5MywgMTYwNSwgCi0gICAgMTYxMCwgNzgwLCAxNjAzLCAxNjA1LCAxNjEwLCA3ODEsIDE2MDYsIDE1ODAsIDE1ODEsIDc4MCwgMTYwNSwgMTU4MiwgCi0gICAgMTYxMCwgNzgxLCAxNjA0LCAxNTgwLCAxNjA1LCA3ODAsIDE2MDMsIDE2MDUsIDE2MDUsIDc4MCwgMTYwNCwgMTU4MCwgCi0gICAgMTYwNSwgNzgwLCAxNjA2LCAxNTgwLCAxNTgxLCA3ODAsIDE1ODAsIDE1ODEsIDE2MTAsIDc4MCwgMTU4MSwgMTU4MCwgCi0gICAgMTYxMCwgNzgwLCAxNjA1LCAxNTgwLCAxNjEwLCA3ODAsIDE2MDEsIDE2MDUsIDE2MTAsIDc4MCwgMTU3NiwgMTU4MSwgCi0gICAgMTYxMCwgNzgxLCAxNjAzLCAxNjA1LCAxNjA1LCA3ODEsIDE1OTMsIDE1ODAsIDE2MDUsIDc4MSwgMTU4OSwgMTYwNSwgCi0gICAgMTYwNSwgNzgwLCAxNTg3LCAxNTgyLCAxNjEwLCA3ODAsIDE2MDYsIDE1ODAsIDE2MTAsIDc3OSwgMTU4OSwgMTYwNCwgCi0gICAgMTc0NiwgNzc5LCAxNjAyLCAxNjA0LCAxNzQ2LCAxMDM1LCAxNTc1LCAxNjA0LCAxNjA0LCAxNjA3LCAxMDM1LCAxNTc1LCAKLSAgICAxNjAzLCAxNTc2LCAxNTg1LCAxMDM1LCAxNjA1LCAxNTgxLCAxNjA1LCAxNTgzLCAxMDM1LCAxNTg5LCAxNjA0LCAxNTkzLCAKLSAgICAxNjA1LCAxMDM1LCAxNTg1LCAxNTg3LCAxNjA4LCAxNjA0LCAxMDM1LCAxNTkzLCAxNjA0LCAxNjEwLCAxNjA3LCAxMDM1LCAKLSAgICAxNjA4LCAxNTg3LCAxNjA0LCAxNjA1LCA3NzksIDE1ODksIDE2MDQsIDE2MDksIDQ2MTksIDE1ODksIDE2MDQsIDE2MDksIAotICAgIDMyLCAxNTc1LCAxNjA0LCAxNjA0LCAxNjA3LCAzMiwgMTU5MywgMTYwNCwgMTYxMCwgMTYwNywgMzIsIDE2MDgsIDE1ODcsIAotICAgIDE2MDQsIDE2MDUsIDIwNTksIDE1ODAsIDE2MDQsIDMyLCAxNTgwLCAxNjA0LCAxNTc1LCAxNjA0LCAxNjA3LCAxMDM1LCAKLSAgICAxNTg1LCAxNzQwLCAxNTc1LCAxNjA0LCAyNjUsIDQ0LCAyNjUsIDEyMjg5LCAyNjUsIDEyMjkwLCAyNjUsIDU4LCAyNjUsIAotICAgIDU5LCAyNjUsIDMzLCAyNjUsIDYzLCAyNjUsIDEyMzEwLCAyNjUsIDEyMzExLCAyNjUsIDgyMzAsIDI2NSwgODIyOSwgMjY1LCAKLSAgICA4MjEyLCAyNjUsIDgyMTEsIDI2NSwgOTUsIDI2NSwgOTUsIDI2NSwgNDAsIDI2NSwgNDEsIDI2NSwgMTIzLCAyNjUsIDEyNSwgCi0gICAgMjY1LCAxMjMwOCwgMjY1LCAxMjMwOSwgMjY1LCAxMjMwNCwgMjY1LCAxMjMwNSwgMjY1LCAxMjI5OCwgMjY1LCAxMjI5OSwgCi0gICAgMjY1LCAxMjI5NiwgMjY1LCAxMjI5NywgMjY1LCAxMjMwMCwgMjY1LCAxMjMwMSwgMjY1LCAxMjMwMiwgMjY1LCAxMjMwMywgCi0gICAgMjY1LCA5MSwgMjY1LCA5MywgMjU4LCA4MjU0LCAyNTgsIDgyNTQsIDI1OCwgODI1NCwgMjU4LCA4MjU0LCAyNTgsIDk1LCAKLSAgICAyNTgsIDk1LCAyNTgsIDk1LCAyNzEsIDQ0LCAyNzEsIDEyMjg5LCAyNzEsIDQ2LCAyNzEsIDU5LCAyNzEsIDU4LCAyNzEsIAotICAgIDYzLCAyNzEsIDMzLCAyNzEsIDgyMTIsIDI3MSwgNDAsIDI3MSwgNDEsIDI3MSwgMTIzLCAyNzEsIDEyNSwgMjcxLCAxMjMwOCwgCi0gICAgMjcxLCAxMjMwOSwgMjcxLCAzNSwgMjcxLCAzOCwgMjcxLCA0MiwgMjcxLCA0MywgMjcxLCA0NSwgMjcxLCA2MCwgMjcxLCAKLSAgICA2MiwgMjcxLCA2MSwgMjcxLCA5MiwgMjcxLCAzNiwgMjcxLCAzNywgMjcxLCA2NCwgNTIzLCAzMiwgMTYxMSwgNTI2LCAKLSAgICAxNjAwLCAxNjExLCA1MjMsIDMyLCAxNjEyLCA1MjMsIDMyLCAxNjEzLCA1MjMsIDMyLCAxNjE0LCA1MjYsIDE2MDAsIDE2MTQsIAotICAgIDUyMywgMzIsIDE2MTUsIDUyNiwgMTYwMCwgMTYxNSwgNTIzLCAzMiwgMTYxNiwgNTI2LCAxNjAwLCAxNjE2LCA1MjMsIDMyLCAKLSAgICAxNjE3LCA1MjYsIDE2MDAsIDE2MTcsIDUyMywgMzIsIDE2MTgsIDUyNiwgMTYwMCwgMTYxOCwgMjY3LCAxNTY5LCAyNjcsIAotICAgIDE1NzAsIDI2OCwgMTU3MCwgMjY3LCAxNTcxLCAyNjgsIDE1NzEsIDI2NywgMTU3MiwgMjY4LCAxNTcyLCAyNjcsIDE1NzMsIAotICAgIDI2OCwgMTU3MywgMjY3LCAxNTc0LCAyNjgsIDE1NzQsIDI2OSwgMTU3NCwgMjcwLCAxNTc0LCAyNjcsIDE1NzUsIDI2OCwgCi0gICAgMTU3NSwgMjY3LCAxNTc2LCAyNjgsIDE1NzYsIDI2OSwgMTU3NiwgMjcwLCAxNTc2LCAyNjcsIDE1NzcsIDI2OCwgMTU3NywgCi0gICAgMjY3LCAxNTc4LCAyNjgsIDE1NzgsIDI2OSwgMTU3OCwgMjcwLCAxNTc4LCAyNjcsIDE1NzksIDI2OCwgMTU3OSwgMjY5LCAKLSAgICAxNTc5LCAyNzAsIDE1NzksIDI2NywgMTU4MCwgMjY4LCAxNTgwLCAyNjksIDE1ODAsIDI3MCwgMTU4MCwgMjY3LCAxNTgxLCAKLSAgICAyNjgsIDE1ODEsIDI2OSwgMTU4MSwgMjcwLCAxNTgxLCAyNjcsIDE1ODIsIDI2OCwgMTU4MiwgMjY5LCAxNTgyLCAyNzAsIAotICAgIDE1ODIsIDI2NywgMTU4MywgMjY4LCAxNTgzLCAyNjcsIDE1ODQsIDI2OCwgMTU4NCwgMjY3LCAxNTg1LCAyNjgsIDE1ODUsIAotICAgIDI2NywgMTU4NiwgMjY4LCAxNTg2LCAyNjcsIDE1ODcsIDI2OCwgMTU4NywgMjY5LCAxNTg3LCAyNzAsIDE1ODcsIDI2NywgCi0gICAgMTU4OCwgMjY4LCAxNTg4LCAyNjksIDE1ODgsIDI3MCwgMTU4OCwgMjY3LCAxNTg5LCAyNjgsIDE1ODksIDI2OSwgMTU4OSwgCi0gICAgMjcwLCAxNTg5LCAyNjcsIDE1OTAsIDI2OCwgMTU5MCwgMjY5LCAxNTkwLCAyNzAsIDE1OTAsIDI2NywgMTU5MSwgMjY4LCAKLSAgICAxNTkxLCAyNjksIDE1OTEsIDI3MCwgMTU5MSwgMjY3LCAxNTkyLCAyNjgsIDE1OTIsIDI2OSwgMTU5MiwgMjcwLCAxNTkyLCAKLSAgICAyNjcsIDE1OTMsIDI2OCwgMTU5MywgMjY5LCAxNTkzLCAyNzAsIDE1OTMsIDI2NywgMTU5NCwgMjY4LCAxNTk0LCAyNjksIAotICAgIDE1OTQsIDI3MCwgMTU5NCwgMjY3LCAxNjAxLCAyNjgsIDE2MDEsIDI2OSwgMTYwMSwgMjcwLCAxNjAxLCAyNjcsIDE2MDIsIAotICAgIDI2OCwgMTYwMiwgMjY5LCAxNjAyLCAyNzAsIDE2MDIsIDI2NywgMTYwMywgMjY4LCAxNjAzLCAyNjksIDE2MDMsIDI3MCwgCi0gICAgMTYwMywgMjY3LCAxNjA0LCAyNjgsIDE2MDQsIDI2OSwgMTYwNCwgMjcwLCAxNjA0LCAyNjcsIDE2MDUsIDI2OCwgMTYwNSwgCi0gICAgMjY5LCAxNjA1LCAyNzAsIDE2MDUsIDI2NywgMTYwNiwgMjY4LCAxNjA2LCAyNjksIDE2MDYsIDI3MCwgMTYwNiwgMjY3LCAKLSAgICAxNjA3LCAyNjgsIDE2MDcsIDI2OSwgMTYwNywgMjcwLCAxNjA3LCAyNjcsIDE2MDgsIDI2OCwgMTYwOCwgMjY3LCAxNjA5LCAKLSAgICAyNjgsIDE2MDksIDI2NywgMTYxMCwgMjY4LCAxNjEwLCAyNjksIDE2MTAsIDI3MCwgMTYxMCwgNTIzLCAxNjA0LCAxNTcwLCAKLSAgICA1MjQsIDE2MDQsIDE1NzAsIDUyMywgMTYwNCwgMTU3MSwgNTI0LCAxNjA0LCAxNTcxLCA1MjMsIDE2MDQsIDE1NzMsIDUyNCwgCi0gICAgMTYwNCwgMTU3MywgNTIzLCAxNjA0LCAxNTc1LCA1MjQsIDE2MDQsIDE1NzUsIDI2NCwgMzMsIDI2NCwgMzQsIDI2NCwgMzUsIAotICAgIDI2NCwgMzYsIDI2NCwgMzcsIDI2NCwgMzgsIDI2NCwgMzksIDI2NCwgNDAsIDI2NCwgNDEsIDI2NCwgNDIsIDI2NCwgNDMsIAotICAgIDI2NCwgNDQsIDI2NCwgNDUsIDI2NCwgNDYsIDI2NCwgNDcsIDI2NCwgNDgsIDI2NCwgNDksIDI2NCwgNTAsIDI2NCwgNTEsIAotICAgIDI2NCwgNTIsIDI2NCwgNTMsIDI2NCwgNTQsIDI2NCwgNTUsIDI2NCwgNTYsIDI2NCwgNTcsIDI2NCwgNTgsIDI2NCwgNTksIAotICAgIDI2NCwgNjAsIDI2NCwgNjEsIDI2NCwgNjIsIDI2NCwgNjMsIDI2NCwgNjQsIDI2NCwgNjUsIDI2NCwgNjYsIDI2NCwgNjcsIAotICAgIDI2NCwgNjgsIDI2NCwgNjksIDI2NCwgNzAsIDI2NCwgNzEsIDI2NCwgNzIsIDI2NCwgNzMsIDI2NCwgNzQsIDI2NCwgNzUsIAotICAgIDI2NCwgNzYsIDI2NCwgNzcsIDI2NCwgNzgsIDI2NCwgNzksIDI2NCwgODAsIDI2NCwgODEsIDI2NCwgODIsIDI2NCwgODMsIAotICAgIDI2NCwgODQsIDI2NCwgODUsIDI2NCwgODYsIDI2NCwgODcsIDI2NCwgODgsIDI2NCwgODksIDI2NCwgOTAsIDI2NCwgOTEsIAotICAgIDI2NCwgOTIsIDI2NCwgOTMsIDI2NCwgOTQsIDI2NCwgOTUsIDI2NCwgOTYsIDI2NCwgOTcsIDI2NCwgOTgsIDI2NCwgOTksIAotICAgIDI2NCwgMTAwLCAyNjQsIDEwMSwgMjY0LCAxMDIsIDI2NCwgMTAzLCAyNjQsIDEwNCwgMjY0LCAxMDUsIDI2NCwgMTA2LCAKLSAgICAyNjQsIDEwNywgMjY0LCAxMDgsIDI2NCwgMTA5LCAyNjQsIDExMCwgMjY0LCAxMTEsIDI2NCwgMTEyLCAyNjQsIDExMywgCi0gICAgMjY0LCAxMTQsIDI2NCwgMTE1LCAyNjQsIDExNiwgMjY0LCAxMTcsIDI2NCwgMTE4LCAyNjQsIDExOSwgMjY0LCAxMjAsIAotICAgIDI2NCwgMTIxLCAyNjQsIDEyMiwgMjY0LCAxMjMsIDI2NCwgMTI0LCAyNjQsIDEyNSwgMjY0LCAxMjYsIDI2NCwgMTA2MjksIAotICAgIDI2NCwgMTA2MzAsIDI3MiwgMTIyOTAsIDI3MiwgMTIzMDAsIDI3MiwgMTIzMDEsIDI3MiwgMTIyODksIDI3MiwgMTI1MzksIAotICAgIDI3MiwgMTI1MzAsIDI3MiwgMTI0NDksIDI3MiwgMTI0NTEsIDI3MiwgMTI0NTMsIDI3MiwgMTI0NTUsIDI3MiwgMTI0NTcsIAotICAgIDI3MiwgMTI1MTUsIDI3MiwgMTI1MTcsIDI3MiwgMTI1MTksIDI3MiwgMTI0ODMsIDI3MiwgMTI1NDAsIDI3MiwgMTI0NTAsIAotICAgIDI3MiwgMTI0NTIsIDI3MiwgMTI0NTQsIDI3MiwgMTI0NTYsIDI3MiwgMTI0NTgsIDI3MiwgMTI0NTksIDI3MiwgMTI0NjEsIAotICAgIDI3MiwgMTI0NjMsIDI3MiwgMTI0NjUsIDI3MiwgMTI0NjcsIDI3MiwgMTI0NjksIDI3MiwgMTI0NzEsIDI3MiwgMTI0NzMsIAotICAgIDI3MiwgMTI0NzUsIDI3MiwgMTI0NzcsIDI3MiwgMTI0NzksIDI3MiwgMTI0ODEsIDI3MiwgMTI0ODQsIDI3MiwgMTI0ODYsIAotICAgIDI3MiwgMTI0ODgsIDI3MiwgMTI0OTAsIDI3MiwgMTI0OTEsIDI3MiwgMTI0OTIsIDI3MiwgMTI0OTMsIDI3MiwgMTI0OTQsIAotICAgIDI3MiwgMTI0OTUsIDI3MiwgMTI0OTgsIDI3MiwgMTI1MDEsIDI3MiwgMTI1MDQsIDI3MiwgMTI1MDcsIDI3MiwgMTI1MTAsIAotICAgIDI3MiwgMTI1MTEsIDI3MiwgMTI1MTIsIDI3MiwgMTI1MTMsIDI3MiwgMTI1MTQsIDI3MiwgMTI1MTYsIDI3MiwgMTI1MTgsIAotICAgIDI3MiwgMTI1MjAsIDI3MiwgMTI1MjEsIDI3MiwgMTI1MjIsIDI3MiwgMTI1MjMsIDI3MiwgMTI1MjQsIDI3MiwgMTI1MjUsIAotICAgIDI3MiwgMTI1MjcsIDI3MiwgMTI1MzEsIDI3MiwgMTI0NDEsIDI3MiwgMTI0NDIsIDI3MiwgMTI2NDQsIDI3MiwgMTI1OTMsIAotICAgIDI3MiwgMTI1OTQsIDI3MiwgMTI1OTUsIDI3MiwgMTI1OTYsIDI3MiwgMTI1OTcsIDI3MiwgMTI1OTgsIDI3MiwgMTI1OTksIAotICAgIDI3MiwgMTI2MDAsIDI3MiwgMTI2MDEsIDI3MiwgMTI2MDIsIDI3MiwgMTI2MDMsIDI3MiwgMTI2MDQsIDI3MiwgMTI2MDUsIAotICAgIDI3MiwgMTI2MDYsIDI3MiwgMTI2MDcsIDI3MiwgMTI2MDgsIDI3MiwgMTI2MDksIDI3MiwgMTI2MTAsIDI3MiwgMTI2MTEsIAotICAgIDI3MiwgMTI2MTIsIDI3MiwgMTI2MTMsIDI3MiwgMTI2MTQsIDI3MiwgMTI2MTUsIDI3MiwgMTI2MTYsIDI3MiwgMTI2MTcsIAotICAgIDI3MiwgMTI2MTgsIDI3MiwgMTI2MTksIDI3MiwgMTI2MjAsIDI3MiwgMTI2MjEsIDI3MiwgMTI2MjIsIDI3MiwgMTI2MjMsIAotICAgIDI3MiwgMTI2MjQsIDI3MiwgMTI2MjUsIDI3MiwgMTI2MjYsIDI3MiwgMTI2MjcsIDI3MiwgMTI2MjgsIDI3MiwgMTI2MjksIAotICAgIDI3MiwgMTI2MzAsIDI3MiwgMTI2MzEsIDI3MiwgMTI2MzIsIDI3MiwgMTI2MzMsIDI3MiwgMTI2MzQsIDI3MiwgMTI2MzUsIAotICAgIDI3MiwgMTI2MzYsIDI3MiwgMTI2MzcsIDI3MiwgMTI2MzgsIDI3MiwgMTI2MzksIDI3MiwgMTI2NDAsIDI3MiwgMTI2NDEsIAotICAgIDI3MiwgMTI2NDIsIDI3MiwgMTI2NDMsIDI2NCwgMTYyLCAyNjQsIDE2MywgMjY0LCAxNzIsIDI2NCwgMTc1LCAyNjQsIDE2NiwgCi0gICAgMjY0LCAxNjUsIDI2NCwgODM2MSwgMjcyLCA5NDc0LCAyNzIsIDg1OTIsIDI3MiwgODU5MywgMjcyLCA4NTk0LCAyNzIsIAotICAgIDg1OTUsIDI3MiwgOTYzMiwgMjcyLCA5Njc1LCA1MTIsIDY5Nzg1LCA2OTgxOCwgNTEyLCA2OTc4NywgNjk4MTgsIDUxMiwgCi0gICAgNjk3OTcsIDY5ODE4LCA1MTIsIDY5OTM3LCA2OTkyNywgNTEyLCA2OTkzOCwgNjk5MjcsIDUxMiwgMTE5MTI3LCAxMTkxNDEsIAotICAgIDUxMiwgMTE5MTI4LCAxMTkxNDEsIDUxMiwgMTE5MTM1LCAxMTkxNTAsIDUxMiwgMTE5MTM1LCAxMTkxNTEsIDUxMiwgCi0gICAgMTE5MTM1LCAxMTkxNTIsIDUxMiwgMTE5MTM1LCAxMTkxNTMsIDUxMiwgMTE5MTM1LCAxMTkxNTQsIDUxMiwgMTE5MjI1LCAKLSAgICAxMTkxNDEsIDUxMiwgMTE5MjI2LCAxMTkxNDEsIDUxMiwgMTE5MjI3LCAxMTkxNTAsIDUxMiwgMTE5MjI4LCAxMTkxNTAsIAotICAgIDUxMiwgMTE5MjI3LCAxMTkxNTEsIDUxMiwgMTE5MjI4LCAxMTkxNTEsIDI2MiwgNjUsIDI2MiwgNjYsIDI2MiwgNjcsIDI2MiwgCi0gICAgNjgsIDI2MiwgNjksIDI2MiwgNzAsIDI2MiwgNzEsIDI2MiwgNzIsIDI2MiwgNzMsIDI2MiwgNzQsIDI2MiwgNzUsIDI2MiwgCi0gICAgNzYsIDI2MiwgNzcsIDI2MiwgNzgsIDI2MiwgNzksIDI2MiwgODAsIDI2MiwgODEsIDI2MiwgODIsIDI2MiwgODMsIDI2MiwgCi0gICAgODQsIDI2MiwgODUsIDI2MiwgODYsIDI2MiwgODcsIDI2MiwgODgsIDI2MiwgODksIDI2MiwgOTAsIDI2MiwgOTcsIDI2MiwgCi0gICAgOTgsIDI2MiwgOTksIDI2MiwgMTAwLCAyNjIsIDEwMSwgMjYyLCAxMDIsIDI2MiwgMTAzLCAyNjIsIDEwNCwgMjYyLCAxMDUsIAotICAgIDI2MiwgMTA2LCAyNjIsIDEwNywgMjYyLCAxMDgsIDI2MiwgMTA5LCAyNjIsIDExMCwgMjYyLCAxMTEsIDI2MiwgMTEyLCAKLSAgICAyNjIsIDExMywgMjYyLCAxMTQsIDI2MiwgMTE1LCAyNjIsIDExNiwgMjYyLCAxMTcsIDI2MiwgMTE4LCAyNjIsIDExOSwgCi0gICAgMjYyLCAxMjAsIDI2MiwgMTIxLCAyNjIsIDEyMiwgMjYyLCA2NSwgMjYyLCA2NiwgMjYyLCA2NywgMjYyLCA2OCwgMjYyLCAKLSAgICA2OSwgMjYyLCA3MCwgMjYyLCA3MSwgMjYyLCA3MiwgMjYyLCA3MywgMjYyLCA3NCwgMjYyLCA3NSwgMjYyLCA3NiwgMjYyLCAKLSAgICA3NywgMjYyLCA3OCwgMjYyLCA3OSwgMjYyLCA4MCwgMjYyLCA4MSwgMjYyLCA4MiwgMjYyLCA4MywgMjYyLCA4NCwgMjYyLCAKLSAgICA4NSwgMjYyLCA4NiwgMjYyLCA4NywgMjYyLCA4OCwgMjYyLCA4OSwgMjYyLCA5MCwgMjYyLCA5NywgMjYyLCA5OCwgMjYyLCAKLSAgICA5OSwgMjYyLCAxMDAsIDI2MiwgMTAxLCAyNjIsIDEwMiwgMjYyLCAxMDMsIDI2MiwgMTA1LCAyNjIsIDEwNiwgMjYyLCAxMDcsIAotICAgIDI2MiwgMTA4LCAyNjIsIDEwOSwgMjYyLCAxMTAsIDI2MiwgMTExLCAyNjIsIDExMiwgMjYyLCAxMTMsIDI2MiwgMTE0LCAKLSAgICAyNjIsIDExNSwgMjYyLCAxMTYsIDI2MiwgMTE3LCAyNjIsIDExOCwgMjYyLCAxMTksIDI2MiwgMTIwLCAyNjIsIDEyMSwgCi0gICAgMjYyLCAxMjIsIDI2MiwgNjUsIDI2MiwgNjYsIDI2MiwgNjcsIDI2MiwgNjgsIDI2MiwgNjksIDI2MiwgNzAsIDI2MiwgNzEsIAotICAgIDI2MiwgNzIsIDI2MiwgNzMsIDI2MiwgNzQsIDI2MiwgNzUsIDI2MiwgNzYsIDI2MiwgNzcsIDI2MiwgNzgsIDI2MiwgNzksIAotICAgIDI2MiwgODAsIDI2MiwgODEsIDI2MiwgODIsIDI2MiwgODMsIDI2MiwgODQsIDI2MiwgODUsIDI2MiwgODYsIDI2MiwgODcsIAotICAgIDI2MiwgODgsIDI2MiwgODksIDI2MiwgOTAsIDI2MiwgOTcsIDI2MiwgOTgsIDI2MiwgOTksIDI2MiwgMTAwLCAyNjIsIDEwMSwgCi0gICAgMjYyLCAxMDIsIDI2MiwgMTAzLCAyNjIsIDEwNCwgMjYyLCAxMDUsIDI2MiwgMTA2LCAyNjIsIDEwNywgMjYyLCAxMDgsIAorICAgIDI2MDg1LCA3NzgsIDEwMywgOTcsIDEwOCwgMjU5LCAxMDk4LCAyNTksIDExMDAsIDI1OSwgNDI4NjMsIDI1OSwgMjk0LCAKKyAgICAyNTksIDMzOSwgMjU5LCA0Mjc5MSwgMjU5LCA0MzgzMSwgMjU5LCA2MTksIDI1OSwgNDM4NTgsIDI1NiwgMzU5MTIsIDI1NiwgCisgICAgMjYzNTYsIDI1NiwgMzY1NTQsIDI1NiwgMzYwNDAsIDI1NiwgMjgzNjksIDI1NiwgMjAwMTgsIDI1NiwgMjE0NzcsIDI1NiwgCisgICAgNDA4NjAsIDI1NiwgNDA4NjAsIDI1NiwgMjI4NjUsIDI1NiwgMzczMjksIDI1NiwgMjE4OTUsIDI1NiwgMjI4NTYsIDI1NiwgCisgICAgMjUwNzgsIDI1NiwgMzAzMTMsIDI1NiwgMzI2NDUsIDI1NiwgMzQzNjcsIDI1NiwgMzQ3NDYsIDI1NiwgMzUwNjQsIDI1NiwgCisgICAgMzcwMDcsIDI1NiwgMjcxMzgsIDI1NiwgMjc5MzEsIDI1NiwgMjg4ODksIDI1NiwgMjk2NjIsIDI1NiwgMzM4NTMsIDI1NiwgCisgICAgMzcyMjYsIDI1NiwgMzk0MDksIDI1NiwgMjAwOTgsIDI1NiwgMjEzNjUsIDI1NiwgMjczOTYsIDI1NiwgMjkyMTEsIDI1NiwgCisgICAgMzQzNDksIDI1NiwgNDA0NzgsIDI1NiwgMjM4ODgsIDI1NiwgMjg2NTEsIDI1NiwgMzQyNTMsIDI1NiwgMzUxNzIsIDI1NiwgCisgICAgMjUyODksIDI1NiwgMzMyNDAsIDI1NiwgMzQ4NDcsIDI1NiwgMjQyNjYsIDI1NiwgMjYzOTEsIDI1NiwgMjgwMTAsIDI1NiwgCisgICAgMjk0MzYsIDI1NiwgMzcwNzAsIDI1NiwgMjAzNTgsIDI1NiwgMjA5MTksIDI1NiwgMjEyMTQsIDI1NiwgMjU3OTYsIDI1NiwgCisgICAgMjczNDcsIDI1NiwgMjkyMDAsIDI1NiwgMzA0MzksIDI1NiwgMzI3NjksIDI1NiwgMzQzMTAsIDI1NiwgMzQzOTYsIDI1NiwgCisgICAgMzYzMzUsIDI1NiwgMzg3MDYsIDI1NiwgMzk3OTEsIDI1NiwgNDA0NDIsIDI1NiwgMzA4NjAsIDI1NiwgMzExMDMsIDI1NiwgCisgICAgMzIxNjAsIDI1NiwgMzM3MzcsIDI1NiwgMzc2MzYsIDI1NiwgNDA1NzUsIDI1NiwgMzU1NDIsIDI1NiwgMjI3NTEsIDI1NiwgCisgICAgMjQzMjQsIDI1NiwgMzE4NDAsIDI1NiwgMzI4OTQsIDI1NiwgMjkyODIsIDI1NiwgMzA5MjIsIDI1NiwgMzYwMzQsIDI1NiwgCisgICAgMzg2NDcsIDI1NiwgMjI3NDQsIDI1NiwgMjM2NTAsIDI1NiwgMjcxNTUsIDI1NiwgMjgxMjIsIDI1NiwgMjg0MzEsIDI1NiwgCisgICAgMzIwNDcsIDI1NiwgMzIzMTEsIDI1NiwgMzg0NzUsIDI1NiwgMjEyMDIsIDI1NiwgMzI5MDcsIDI1NiwgMjA5NTYsIDI1NiwgCisgICAgMjA5NDAsIDI1NiwgMzEyNjAsIDI1NiwgMzIxOTAsIDI1NiwgMzM3NzcsIDI1NiwgMzg1MTcsIDI1NiwgMzU3MTIsIDI1NiwgCisgICAgMjUyOTUsIDI1NiwgMjcxMzgsIDI1NiwgMzU1ODIsIDI1NiwgMjAwMjUsIDI1NiwgMjM1MjcsIDI1NiwgMjQ1OTQsIDI1NiwgCisgICAgMjk1NzUsIDI1NiwgMzAwNjQsIDI1NiwgMjEyNzEsIDI1NiwgMzA5NzEsIDI1NiwgMjA0MTUsIDI1NiwgMjQ0ODksIDI1NiwgCisgICAgMTk5ODEsIDI1NiwgMjc4NTIsIDI1NiwgMjU5NzYsIDI1NiwgMzIwMzQsIDI1NiwgMjE0NDMsIDI1NiwgMjI2MjIsIDI1NiwgCisgICAgMzA0NjUsIDI1NiwgMzM4NjUsIDI1NiwgMzU0OTgsIDI1NiwgMjc1NzgsIDI1NiwgMzY3ODQsIDI1NiwgMjc3ODQsIDI1NiwgCisgICAgMjUzNDIsIDI1NiwgMzM1MDksIDI1NiwgMjU1MDQsIDI1NiwgMzAwNTMsIDI1NiwgMjAxNDIsIDI1NiwgMjA4NDEsIDI1NiwgCisgICAgMjA5MzcsIDI1NiwgMjY3NTMsIDI1NiwgMzE5NzUsIDI1NiwgMzMzOTEsIDI1NiwgMzU1MzgsIDI1NiwgMzczMjcsIDI1NiwgCisgICAgMjEyMzcsIDI1NiwgMjE1NzAsIDI1NiwgMjI4OTksIDI1NiwgMjQzMDAsIDI1NiwgMjYwNTMsIDI1NiwgMjg2NzAsIDI1NiwgCisgICAgMzEwMTgsIDI1NiwgMzgzMTcsIDI1NiwgMzk1MzAsIDI1NiwgNDA1OTksIDI1NiwgNDA2NTQsIDI1NiwgMjExNDcsIDI1NiwgCisgICAgMjYzMTAsIDI1NiwgMjc1MTEsIDI1NiwgMzY3MDYsIDI1NiwgMjQxODAsIDI1NiwgMjQ5NzYsIDI1NiwgMjUwODgsIDI1NiwgCisgICAgMjU3NTQsIDI1NiwgMjg0NTEsIDI1NiwgMjkwMDEsIDI1NiwgMjk4MzMsIDI1NiwgMzExNzgsIDI1NiwgMzIyNDQsIDI1NiwgCisgICAgMzI4NzksIDI1NiwgMzY2NDYsIDI1NiwgMzQwMzAsIDI1NiwgMzY4OTksIDI1NiwgMzc3MDYsIDI1NiwgMjEwMTUsIDI1NiwgCisgICAgMjExNTUsIDI1NiwgMjE2OTMsIDI1NiwgMjg4NzIsIDI1NiwgMzUwMTAsIDI1NiwgMzU0OTgsIDI1NiwgMjQyNjUsIDI1NiwgCisgICAgMjQ1NjUsIDI1NiwgMjU0NjcsIDI1NiwgMjc1NjYsIDI1NiwgMzE4MDYsIDI1NiwgMjk1NTcsIDI1NiwgMjAxOTYsIDI1NiwgCisgICAgMjIyNjUsIDI1NiwgMjM1MjcsIDI1NiwgMjM5OTQsIDI1NiwgMjQ2MDQsIDI1NiwgMjk2MTgsIDI1NiwgMjk4MDEsIDI1NiwgCisgICAgMzI2NjYsIDI1NiwgMzI4MzgsIDI1NiwgMzc0MjgsIDI1NiwgMzg2NDYsIDI1NiwgMzg3MjgsIDI1NiwgMzg5MzYsIDI1NiwgCisgICAgMjAzNjMsIDI1NiwgMzExNTAsIDI1NiwgMzczMDAsIDI1NiwgMzg1ODQsIDI1NiwgMjQ4MDEsIDI1NiwgMjAxMDIsIDI1NiwgCisgICAgMjA2OTgsIDI1NiwgMjM1MzQsIDI1NiwgMjM2MTUsIDI1NiwgMjYwMDksIDI1NiwgMjcxMzgsIDI1NiwgMjkxMzQsIDI1NiwgCisgICAgMzAyNzQsIDI1NiwgMzQwNDQsIDI1NiwgMzY5ODgsIDI1NiwgNDA4NDUsIDI1NiwgMjYyNDgsIDI1NiwgMzg0NDYsIDI1NiwgCisgICAgMjExMjksIDI1NiwgMjY0OTEsIDI1NiwgMjY2MTEsIDI1NiwgMjc5NjksIDI1NiwgMjgzMTYsIDI1NiwgMjk3MDUsIDI1NiwgCisgICAgMzAwNDEsIDI1NiwgMzA4MjcsIDI1NiwgMzIwMTYsIDI1NiwgMzkwMDYsIDI1NiwgMjA4NDUsIDI1NiwgMjUxMzQsIDI1NiwgCisgICAgMzg1MjAsIDI1NiwgMjA1MjMsIDI1NiwgMjM4MzMsIDI1NiwgMjgxMzgsIDI1NiwgMzY2NTAsIDI1NiwgMjQ0NTksIDI1NiwgCisgICAgMjQ5MDAsIDI1NiwgMjY2NDcsIDI1NiwgMjk1NzUsIDI1NiwgMzg1MzQsIDI1NiwgMjEwMzMsIDI1NiwgMjE1MTksIDI1NiwgCisgICAgMjM2NTMsIDI1NiwgMjYxMzEsIDI1NiwgMjY0NDYsIDI1NiwgMjY3OTIsIDI1NiwgMjc4NzcsIDI1NiwgMjk3MDIsIDI1NiwgCisgICAgMzAxNzgsIDI1NiwgMzI2MzMsIDI1NiwgMzUwMjMsIDI1NiwgMzUwNDEsIDI1NiwgMzczMjQsIDI1NiwgMzg2MjYsIDI1NiwgCisgICAgMjEzMTEsIDI1NiwgMjgzNDYsIDI1NiwgMjE1MzMsIDI1NiwgMjkxMzYsIDI1NiwgMjk4NDgsIDI1NiwgMzQyOTgsIDI1NiwgCisgICAgMzg1NjMsIDI1NiwgNDAwMjMsIDI1NiwgNDA2MDcsIDI1NiwgMjY1MTksIDI1NiwgMjgxMDcsIDI1NiwgMzMyNTYsIDI1NiwgCisgICAgMzE0MzUsIDI1NiwgMzE1MjAsIDI1NiwgMzE4OTAsIDI1NiwgMjkzNzYsIDI1NiwgMjg4MjUsIDI1NiwgMzU2NzIsIDI1NiwgCisgICAgMjAxNjAsIDI1NiwgMzM1OTAsIDI1NiwgMjEwNTAsIDI1NiwgMjA5OTksIDI1NiwgMjQyMzAsIDI1NiwgMjUyOTksIDI1NiwgCisgICAgMzE5NTgsIDI1NiwgMjM0MjksIDI1NiwgMjc5MzQsIDI1NiwgMjYyOTIsIDI1NiwgMzY2NjcsIDI1NiwgMzQ4OTIsIDI1NiwgCisgICAgMzg0NzcsIDI1NiwgMzUyMTEsIDI1NiwgMjQyNzUsIDI1NiwgMjA4MDAsIDI1NiwgMjE5NTIsIDI1NiwgMjI2MTgsIDI1NiwgCisgICAgMjYyMjgsIDI1NiwgMjA5NTgsIDI1NiwgMjk0ODIsIDI1NiwgMzA0MTAsIDI1NiwgMzEwMzYsIDI1NiwgMzEwNzAsIDI1NiwgCisgICAgMzEwNzcsIDI1NiwgMzExMTksIDI1NiwgMzg3NDIsIDI1NiwgMzE5MzQsIDI1NiwgMzI3MDEsIDI1NiwgMzQzMjIsIDI1NiwgCisgICAgMzU1NzYsIDI1NiwgMzY5MjAsIDI1NiwgMzcxMTcsIDI1NiwgMzkxNTEsIDI1NiwgMzkxNjQsIDI1NiwgMzkyMDgsIDI1NiwgCisgICAgNDAzNzIsIDI1NiwgMzcwODYsIDI1NiwgMzg1ODMsIDI1NiwgMjAzOTgsIDI1NiwgMjA3MTEsIDI1NiwgMjA4MTMsIDI1NiwgCisgICAgMjExOTMsIDI1NiwgMjEyMjAsIDI1NiwgMjEzMjksIDI1NiwgMjE5MTcsIDI1NiwgMjIwMjIsIDI1NiwgMjIxMjAsIDI1NiwgCisgICAgMjI1OTIsIDI1NiwgMjI2OTYsIDI1NiwgMjM2NTIsIDI1NiwgMjM2NjIsIDI1NiwgMjQ3MjQsIDI1NiwgMjQ5MzYsIDI1NiwgCisgICAgMjQ5NzQsIDI1NiwgMjUwNzQsIDI1NiwgMjU5MzUsIDI1NiwgMjYwODIsIDI1NiwgMjYyNTcsIDI1NiwgMjY3NTcsIDI1NiwgCisgICAgMjgwMjMsIDI1NiwgMjgxODYsIDI1NiwgMjg0NTAsIDI1NiwgMjkwMzgsIDI1NiwgMjkyMjcsIDI1NiwgMjk3MzAsIDI1NiwgCisgICAgMzA4NjUsIDI1NiwgMzEwMzgsIDI1NiwgMzEwNDksIDI1NiwgMzEwNDgsIDI1NiwgMzEwNTYsIDI1NiwgMzEwNjIsIDI1NiwgCisgICAgMzEwNjksIDI1NiwgMzExMTcsIDI1NiwgMzExMTgsIDI1NiwgMzEyOTYsIDI1NiwgMzEzNjEsIDI1NiwgMzE2ODAsIDI1NiwgCisgICAgMzIyNDQsIDI1NiwgMzIyNjUsIDI1NiwgMzIzMjEsIDI1NiwgMzI2MjYsIDI1NiwgMzI3NzMsIDI1NiwgMzMyNjEsIDI1NiwgCisgICAgMzM0MDEsIDI1NiwgMzM0MDEsIDI1NiwgMzM4NzksIDI1NiwgMzUwODgsIDI1NiwgMzUyMjIsIDI1NiwgMzU1ODUsIDI1NiwgCisgICAgMzU2NDEsIDI1NiwgMzYwNTEsIDI1NiwgMzYxMDQsIDI1NiwgMzY3OTAsIDI1NiwgMzY5MjAsIDI1NiwgMzg2MjcsIDI1NiwgCisgICAgMzg5MTEsIDI1NiwgMzg5NzEsIDI1NiwgMjQ2OTMsIDI1NiwgMTQ4MjA2LCAyNTYsIDMzMzA0LCAyNTYsIDIwMDA2LCAyNTYsIAorICAgIDIwOTE3LCAyNTYsIDIwODQwLCAyNTYsIDIwMzUyLCAyNTYsIDIwODA1LCAyNTYsIDIwODY0LCAyNTYsIDIxMTkxLCAyNTYsIAorICAgIDIxMjQyLCAyNTYsIDIxOTE3LCAyNTYsIDIxODQ1LCAyNTYsIDIxOTEzLCAyNTYsIDIxOTg2LCAyNTYsIDIyNjE4LCAyNTYsIAorICAgIDIyNzA3LCAyNTYsIDIyODUyLCAyNTYsIDIyODY4LCAyNTYsIDIzMTM4LCAyNTYsIDIzMzM2LCAyNTYsIDI0Mjc0LCAyNTYsIAorICAgIDI0MjgxLCAyNTYsIDI0NDI1LCAyNTYsIDI0NDkzLCAyNTYsIDI0NzkyLCAyNTYsIDI0OTEwLCAyNTYsIDI0ODQwLCAyNTYsIAorICAgIDI0OTc0LCAyNTYsIDI0OTI4LCAyNTYsIDI1MDc0LCAyNTYsIDI1MTQwLCAyNTYsIDI1NTQwLCAyNTYsIDI1NjI4LCAyNTYsIAorICAgIDI1NjgyLCAyNTYsIDI1OTQyLCAyNTYsIDI2MjI4LCAyNTYsIDI2MzkxLCAyNTYsIDI2Mzk1LCAyNTYsIDI2NDU0LCAyNTYsIAorICAgIDI3NTEzLCAyNTYsIDI3NTc4LCAyNTYsIDI3OTY5LCAyNTYsIDI4Mzc5LCAyNTYsIDI4MzYzLCAyNTYsIDI4NDUwLCAyNTYsIAorICAgIDI4NzAyLCAyNTYsIDI5MDM4LCAyNTYsIDMwNjMxLCAyNTYsIDI5MjM3LCAyNTYsIDI5MzU5LCAyNTYsIDI5NDgyLCAyNTYsIAorICAgIDI5ODA5LCAyNTYsIDI5OTU4LCAyNTYsIDMwMDExLCAyNTYsIDMwMjM3LCAyNTYsIDMwMjM5LCAyNTYsIDMwNDEwLCAyNTYsIAorICAgIDMwNDI3LCAyNTYsIDMwNDUyLCAyNTYsIDMwNTM4LCAyNTYsIDMwNTI4LCAyNTYsIDMwOTI0LCAyNTYsIDMxNDA5LCAyNTYsIAorICAgIDMxNjgwLCAyNTYsIDMxODY3LCAyNTYsIDMyMDkxLCAyNTYsIDMyMjQ0LCAyNTYsIDMyNTc0LCAyNTYsIDMyNzczLCAyNTYsIAorICAgIDMzNjE4LCAyNTYsIDMzNzc1LCAyNTYsIDM0NjgxLCAyNTYsIDM1MTM3LCAyNTYsIDM1MjA2LCAyNTYsIDM1MjIyLCAyNTYsIAorICAgIDM1NTE5LCAyNTYsIDM1NTc2LCAyNTYsIDM1NTMxLCAyNTYsIDM1NTg1LCAyNTYsIDM1NTgyLCAyNTYsIDM1NTY1LCAyNTYsIAorICAgIDM1NjQxLCAyNTYsIDM1NzIyLCAyNTYsIDM2MTA0LCAyNTYsIDM2NjY0LCAyNTYsIDM2OTc4LCAyNTYsIDM3MjczLCAyNTYsIAorICAgIDM3NDk0LCAyNTYsIDM4NTI0LCAyNTYsIDM4NjI3LCAyNTYsIDM4NzQyLCAyNTYsIDM4ODc1LCAyNTYsIDM4OTExLCAyNTYsIAorICAgIDM4OTIzLCAyNTYsIDM4OTcxLCAyNTYsIDM5Njk4LCAyNTYsIDQwODYwLCAyNTYsIDE0MTM4NiwgMjU2LCAxNDEzODAsIDI1NiwgCisgICAgMTQ0MzQxLCAyNTYsIDE1MjYxLCAyNTYsIDE2NDA4LCAyNTYsIDE2NDQxLCAyNTYsIDE1MjEzNywgMjU2LCAxNTQ4MzIsIAorICAgIDI1NiwgMTYzNTM5LCAyNTYsIDQwNzcxLCAyNTYsIDQwODQ2LCA1MTQsIDEwMiwgMTAyLCA1MTQsIDEwMiwgMTA1LCA1MTQsIAorICAgIDEwMiwgMTA4LCA3NzAsIDEwMiwgMTAyLCAxMDUsIDc3MCwgMTAyLCAxMDIsIDEwOCwgNTE0LCAzODMsIDExNiwgNTE0LCAKKyAgICAxMTUsIDExNiwgNTE0LCAxMzk2LCAxMzk4LCA1MTQsIDEzOTYsIDEzODEsIDUxNCwgMTM5NiwgMTM4NywgNTE0LCAxNDA2LCAKKyAgICAxMzk4LCA1MTQsIDEzOTYsIDEzODksIDUxMiwgMTQ5NywgMTQ2MCwgNTEyLCAxNTIyLCAxNDYzLCAyNjIsIDE1MDYsIDI2MiwgCisgICAgMTQ4OCwgMjYyLCAxNDkxLCAyNjIsIDE0OTIsIDI2MiwgMTQ5OSwgMjYyLCAxNTAwLCAyNjIsIDE1MDEsIDI2MiwgMTUxMiwgCisgICAgMjYyLCAxNTE0LCAyNjIsIDQzLCA1MTIsIDE1MTMsIDE0NzMsIDUxMiwgMTUxMywgMTQ3NCwgNTEyLCA2NDMyOSwgMTQ3MywgCisgICAgNTEyLCA2NDMyOSwgMTQ3NCwgNTEyLCAxNDg4LCAxNDYzLCA1MTIsIDE0ODgsIDE0NjQsIDUxMiwgMTQ4OCwgMTQ2OCwgNTEyLCAKKyAgICAxNDg5LCAxNDY4LCA1MTIsIDE0OTAsIDE0NjgsIDUxMiwgMTQ5MSwgMTQ2OCwgNTEyLCAxNDkyLCAxNDY4LCA1MTIsIDE0OTMsIAorICAgIDE0NjgsIDUxMiwgMTQ5NCwgMTQ2OCwgNTEyLCAxNDk2LCAxNDY4LCA1MTIsIDE0OTcsIDE0NjgsIDUxMiwgMTQ5OCwgMTQ2OCwgCisgICAgNTEyLCAxNDk5LCAxNDY4LCA1MTIsIDE1MDAsIDE0NjgsIDUxMiwgMTUwMiwgMTQ2OCwgNTEyLCAxNTA0LCAxNDY4LCA1MTIsIAorICAgIDE1MDUsIDE0NjgsIDUxMiwgMTUwNywgMTQ2OCwgNTEyLCAxNTA4LCAxNDY4LCA1MTIsIDE1MTAsIDE0NjgsIDUxMiwgMTUxMSwgCisgICAgMTQ2OCwgNTEyLCAxNTEyLCAxNDY4LCA1MTIsIDE1MTMsIDE0NjgsIDUxMiwgMTUxNCwgMTQ2OCwgNTEyLCAxNDkzLCAxNDY1LCAKKyAgICA1MTIsIDE0ODksIDE0NzEsIDUxMiwgMTQ5OSwgMTQ3MSwgNTEyLCAxNTA4LCAxNDcxLCA1MTQsIDE0ODgsIDE1MDAsIDI2NywgCisgICAgMTY0OSwgMjY4LCAxNjQ5LCAyNjcsIDE2NTksIDI2OCwgMTY1OSwgMjY5LCAxNjU5LCAyNzAsIDE2NTksIDI2NywgMTY2MiwgCisgICAgMjY4LCAxNjYyLCAyNjksIDE2NjIsIDI3MCwgMTY2MiwgMjY3LCAxNjY0LCAyNjgsIDE2NjQsIDI2OSwgMTY2NCwgMjcwLCAKKyAgICAxNjY0LCAyNjcsIDE2NTgsIDI2OCwgMTY1OCwgMjY5LCAxNjU4LCAyNzAsIDE2NTgsIDI2NywgMTY2MywgMjY4LCAxNjYzLCAKKyAgICAyNjksIDE2NjMsIDI3MCwgMTY2MywgMjY3LCAxNjU3LCAyNjgsIDE2NTcsIDI2OSwgMTY1NywgMjcwLCAxNjU3LCAyNjcsIAorICAgIDE3MDAsIDI2OCwgMTcwMCwgMjY5LCAxNzAwLCAyNzAsIDE3MDAsIDI2NywgMTcwMiwgMjY4LCAxNzAyLCAyNjksIDE3MDIsIAorICAgIDI3MCwgMTcwMiwgMjY3LCAxNjY4LCAyNjgsIDE2NjgsIDI2OSwgMTY2OCwgMjcwLCAxNjY4LCAyNjcsIDE2NjcsIDI2OCwgCisgICAgMTY2NywgMjY5LCAxNjY3LCAyNzAsIDE2NjcsIDI2NywgMTY3MCwgMjY4LCAxNjcwLCAyNjksIDE2NzAsIDI3MCwgMTY3MCwgCisgICAgMjY3LCAxNjcxLCAyNjgsIDE2NzEsIDI2OSwgMTY3MSwgMjcwLCAxNjcxLCAyNjcsIDE2NzcsIDI2OCwgMTY3NywgMjY3LCAKKyAgICAxNjc2LCAyNjgsIDE2NzYsIDI2NywgMTY3OCwgMjY4LCAxNjc4LCAyNjcsIDE2NzIsIDI2OCwgMTY3MiwgMjY3LCAxNjg4LCAKKyAgICAyNjgsIDE2ODgsIDI2NywgMTY4MSwgMjY4LCAxNjgxLCAyNjcsIDE3MDUsIDI2OCwgMTcwNSwgMjY5LCAxNzA1LCAyNzAsIAorICAgIDE3MDUsIDI2NywgMTcxMSwgMjY4LCAxNzExLCAyNjksIDE3MTEsIDI3MCwgMTcxMSwgMjY3LCAxNzE1LCAyNjgsIDE3MTUsIAorICAgIDI2OSwgMTcxNSwgMjcwLCAxNzE1LCAyNjcsIDE3MTMsIDI2OCwgMTcxMywgMjY5LCAxNzEzLCAyNzAsIDE3MTMsIDI2NywgCisgICAgMTcyMiwgMjY4LCAxNzIyLCAyNjcsIDE3MjMsIDI2OCwgMTcyMywgMjY5LCAxNzIzLCAyNzAsIDE3MjMsIDI2NywgMTcyOCwgCisgICAgMjY4LCAxNzI4LCAyNjcsIDE3MjksIDI2OCwgMTcyOSwgMjY5LCAxNzI5LCAyNzAsIDE3MjksIDI2NywgMTcyNiwgMjY4LCAKKyAgICAxNzI2LCAyNjksIDE3MjYsIDI3MCwgMTcyNiwgMjY3LCAxNzQ2LCAyNjgsIDE3NDYsIDI2NywgMTc0NywgMjY4LCAxNzQ3LCAKKyAgICAyNjcsIDE3MDksIDI2OCwgMTcwOSwgMjY5LCAxNzA5LCAyNzAsIDE3MDksIDI2NywgMTczNSwgMjY4LCAxNzM1LCAyNjcsIAorICAgIDE3MzQsIDI2OCwgMTczNCwgMjY3LCAxNzM2LCAyNjgsIDE3MzYsIDI2NywgMTY1NSwgMjY3LCAxNzM5LCAyNjgsIDE3MzksIAorICAgIDI2NywgMTczMywgMjY4LCAxNzMzLCAyNjcsIDE3MzcsIDI2OCwgMTczNywgMjY3LCAxNzQ0LCAyNjgsIDE3NDQsIDI2OSwgCisgICAgMTc0NCwgMjcwLCAxNzQ0LCAyNjksIDE2MDksIDI3MCwgMTYwOSwgNTIzLCAxNTc0LCAxNTc1LCA1MjQsIDE1NzQsIDE1NzUsIAorICAgIDUyMywgMTU3NCwgMTc0OSwgNTI0LCAxNTc0LCAxNzQ5LCA1MjMsIDE1NzQsIDE2MDgsIDUyNCwgMTU3NCwgMTYwOCwgNTIzLCAKKyAgICAxNTc0LCAxNzM1LCA1MjQsIDE1NzQsIDE3MzUsIDUyMywgMTU3NCwgMTczNCwgNTI0LCAxNTc0LCAxNzM0LCA1MjMsIDE1NzQsIAorICAgIDE3MzYsIDUyNCwgMTU3NCwgMTczNiwgNTIzLCAxNTc0LCAxNzQ0LCA1MjQsIDE1NzQsIDE3NDQsIDUyNSwgMTU3NCwgMTc0NCwgCisgICAgNTIzLCAxNTc0LCAxNjA5LCA1MjQsIDE1NzQsIDE2MDksIDUyNSwgMTU3NCwgMTYwOSwgMjY3LCAxNzQwLCAyNjgsIDE3NDAsIAorICAgIDI2OSwgMTc0MCwgMjcwLCAxNzQwLCA1MjMsIDE1NzQsIDE1ODAsIDUyMywgMTU3NCwgMTU4MSwgNTIzLCAxNTc0LCAxNjA1LCAKKyAgICA1MjMsIDE1NzQsIDE2MDksIDUyMywgMTU3NCwgMTYxMCwgNTIzLCAxNTc2LCAxNTgwLCA1MjMsIDE1NzYsIDE1ODEsIDUyMywgCisgICAgMTU3NiwgMTU4MiwgNTIzLCAxNTc2LCAxNjA1LCA1MjMsIDE1NzYsIDE2MDksIDUyMywgMTU3NiwgMTYxMCwgNTIzLCAxNTc4LCAKKyAgICAxNTgwLCA1MjMsIDE1NzgsIDE1ODEsIDUyMywgMTU3OCwgMTU4MiwgNTIzLCAxNTc4LCAxNjA1LCA1MjMsIDE1NzgsIDE2MDksIAorICAgIDUyMywgMTU3OCwgMTYxMCwgNTIzLCAxNTc5LCAxNTgwLCA1MjMsIDE1NzksIDE2MDUsIDUyMywgMTU3OSwgMTYwOSwgNTIzLCAKKyAgICAxNTc5LCAxNjEwLCA1MjMsIDE1ODAsIDE1ODEsIDUyMywgMTU4MCwgMTYwNSwgNTIzLCAxNTgxLCAxNTgwLCA1MjMsIDE1ODEsIAorICAgIDE2MDUsIDUyMywgMTU4MiwgMTU4MCwgNTIzLCAxNTgyLCAxNTgxLCA1MjMsIDE1ODIsIDE2MDUsIDUyMywgMTU4NywgMTU4MCwgCisgICAgNTIzLCAxNTg3LCAxNTgxLCA1MjMsIDE1ODcsIDE1ODIsIDUyMywgMTU4NywgMTYwNSwgNTIzLCAxNTg5LCAxNTgxLCA1MjMsIAorICAgIDE1ODksIDE2MDUsIDUyMywgMTU5MCwgMTU4MCwgNTIzLCAxNTkwLCAxNTgxLCA1MjMsIDE1OTAsIDE1ODIsIDUyMywgMTU5MCwgCisgICAgMTYwNSwgNTIzLCAxNTkxLCAxNTgxLCA1MjMsIDE1OTEsIDE2MDUsIDUyMywgMTU5MiwgMTYwNSwgNTIzLCAxNTkzLCAxNTgwLCAKKyAgICA1MjMsIDE1OTMsIDE2MDUsIDUyMywgMTU5NCwgMTU4MCwgNTIzLCAxNTk0LCAxNjA1LCA1MjMsIDE2MDEsIDE1ODAsIDUyMywgCisgICAgMTYwMSwgMTU4MSwgNTIzLCAxNjAxLCAxNTgyLCA1MjMsIDE2MDEsIDE2MDUsIDUyMywgMTYwMSwgMTYwOSwgNTIzLCAxNjAxLCAKKyAgICAxNjEwLCA1MjMsIDE2MDIsIDE1ODEsIDUyMywgMTYwMiwgMTYwNSwgNTIzLCAxNjAyLCAxNjA5LCA1MjMsIDE2MDIsIDE2MTAsIAorICAgIDUyMywgMTYwMywgMTU3NSwgNTIzLCAxNjAzLCAxNTgwLCA1MjMsIDE2MDMsIDE1ODEsIDUyMywgMTYwMywgMTU4MiwgNTIzLCAKKyAgICAxNjAzLCAxNjA0LCA1MjMsIDE2MDMsIDE2MDUsIDUyMywgMTYwMywgMTYwOSwgNTIzLCAxNjAzLCAxNjEwLCA1MjMsIDE2MDQsIAorICAgIDE1ODAsIDUyMywgMTYwNCwgMTU4MSwgNTIzLCAxNjA0LCAxNTgyLCA1MjMsIDE2MDQsIDE2MDUsIDUyMywgMTYwNCwgMTYwOSwgCisgICAgNTIzLCAxNjA0LCAxNjEwLCA1MjMsIDE2MDUsIDE1ODAsIDUyMywgMTYwNSwgMTU4MSwgNTIzLCAxNjA1LCAxNTgyLCA1MjMsIAorICAgIDE2MDUsIDE2MDUsIDUyMywgMTYwNSwgMTYwOSwgNTIzLCAxNjA1LCAxNjEwLCA1MjMsIDE2MDYsIDE1ODAsIDUyMywgMTYwNiwgCisgICAgMTU4MSwgNTIzLCAxNjA2LCAxNTgyLCA1MjMsIDE2MDYsIDE2MDUsIDUyMywgMTYwNiwgMTYwOSwgNTIzLCAxNjA2LCAxNjEwLCAKKyAgICA1MjMsIDE2MDcsIDE1ODAsIDUyMywgMTYwNywgMTYwNSwgNTIzLCAxNjA3LCAxNjA5LCA1MjMsIDE2MDcsIDE2MTAsIDUyMywgCisgICAgMTYxMCwgMTU4MCwgNTIzLCAxNjEwLCAxNTgxLCA1MjMsIDE2MTAsIDE1ODIsIDUyMywgMTYxMCwgMTYwNSwgNTIzLCAxNjEwLCAKKyAgICAxNjA5LCA1MjMsIDE2MTAsIDE2MTAsIDUyMywgMTU4NCwgMTY0OCwgNTIzLCAxNTg1LCAxNjQ4LCA1MjMsIDE2MDksIDE2NDgsIAorICAgIDc3OSwgMzIsIDE2MTIsIDE2MTcsIDc3OSwgMzIsIDE2MTMsIDE2MTcsIDc3OSwgMzIsIDE2MTQsIDE2MTcsIDc3OSwgMzIsIAorICAgIDE2MTUsIDE2MTcsIDc3OSwgMzIsIDE2MTYsIDE2MTcsIDc3OSwgMzIsIDE2MTcsIDE2NDgsIDUyNCwgMTU3NCwgMTU4NSwgCisgICAgNTI0LCAxNTc0LCAxNTg2LCA1MjQsIDE1NzQsIDE2MDUsIDUyNCwgMTU3NCwgMTYwNiwgNTI0LCAxNTc0LCAxNjA5LCA1MjQsIAorICAgIDE1NzQsIDE2MTAsIDUyNCwgMTU3NiwgMTU4NSwgNTI0LCAxNTc2LCAxNTg2LCA1MjQsIDE1NzYsIDE2MDUsIDUyNCwgMTU3NiwgCisgICAgMTYwNiwgNTI0LCAxNTc2LCAxNjA5LCA1MjQsIDE1NzYsIDE2MTAsIDUyNCwgMTU3OCwgMTU4NSwgNTI0LCAxNTc4LCAxNTg2LCAKKyAgICA1MjQsIDE1NzgsIDE2MDUsIDUyNCwgMTU3OCwgMTYwNiwgNTI0LCAxNTc4LCAxNjA5LCA1MjQsIDE1NzgsIDE2MTAsIDUyNCwgCisgICAgMTU3OSwgMTU4NSwgNTI0LCAxNTc5LCAxNTg2LCA1MjQsIDE1NzksIDE2MDUsIDUyNCwgMTU3OSwgMTYwNiwgNTI0LCAxNTc5LCAKKyAgICAxNjA5LCA1MjQsIDE1NzksIDE2MTAsIDUyNCwgMTYwMSwgMTYwOSwgNTI0LCAxNjAxLCAxNjEwLCA1MjQsIDE2MDIsIDE2MDksIAorICAgIDUyNCwgMTYwMiwgMTYxMCwgNTI0LCAxNjAzLCAxNTc1LCA1MjQsIDE2MDMsIDE2MDQsIDUyNCwgMTYwMywgMTYwNSwgNTI0LCAKKyAgICAxNjAzLCAxNjA5LCA1MjQsIDE2MDMsIDE2MTAsIDUyNCwgMTYwNCwgMTYwNSwgNTI0LCAxNjA0LCAxNjA5LCA1MjQsIDE2MDQsIAorICAgIDE2MTAsIDUyNCwgMTYwNSwgMTU3NSwgNTI0LCAxNjA1LCAxNjA1LCA1MjQsIDE2MDYsIDE1ODUsIDUyNCwgMTYwNiwgMTU4NiwgCisgICAgNTI0LCAxNjA2LCAxNjA1LCA1MjQsIDE2MDYsIDE2MDYsIDUyNCwgMTYwNiwgMTYwOSwgNTI0LCAxNjA2LCAxNjEwLCA1MjQsIAorICAgIDE2MDksIDE2NDgsIDUyNCwgMTYxMCwgMTU4NSwgNTI0LCAxNjEwLCAxNTg2LCA1MjQsIDE2MTAsIDE2MDUsIDUyNCwgMTYxMCwgCisgICAgMTYwNiwgNTI0LCAxNjEwLCAxNjA5LCA1MjQsIDE2MTAsIDE2MTAsIDUyNSwgMTU3NCwgMTU4MCwgNTI1LCAxNTc0LCAxNTgxLCAKKyAgICA1MjUsIDE1NzQsIDE1ODIsIDUyNSwgMTU3NCwgMTYwNSwgNTI1LCAxNTc0LCAxNjA3LCA1MjUsIDE1NzYsIDE1ODAsIDUyNSwgCisgICAgMTU3NiwgMTU4MSwgNTI1LCAxNTc2LCAxNTgyLCA1MjUsIDE1NzYsIDE2MDUsIDUyNSwgMTU3NiwgMTYwNywgNTI1LCAxNTc4LCAKKyAgICAxNTgwLCA1MjUsIDE1NzgsIDE1ODEsIDUyNSwgMTU3OCwgMTU4MiwgNTI1LCAxNTc4LCAxNjA1LCA1MjUsIDE1NzgsIDE2MDcsIAorICAgIDUyNSwgMTU3OSwgMTYwNSwgNTI1LCAxNTgwLCAxNTgxLCA1MjUsIDE1ODAsIDE2MDUsIDUyNSwgMTU4MSwgMTU4MCwgNTI1LCAKKyAgICAxNTgxLCAxNjA1LCA1MjUsIDE1ODIsIDE1ODAsIDUyNSwgMTU4MiwgMTYwNSwgNTI1LCAxNTg3LCAxNTgwLCA1MjUsIDE1ODcsIAorICAgIDE1ODEsIDUyNSwgMTU4NywgMTU4MiwgNTI1LCAxNTg3LCAxNjA1LCA1MjUsIDE1ODksIDE1ODEsIDUyNSwgMTU4OSwgMTU4MiwgCisgICAgNTI1LCAxNTg5LCAxNjA1LCA1MjUsIDE1OTAsIDE1ODAsIDUyNSwgMTU5MCwgMTU4MSwgNTI1LCAxNTkwLCAxNTgyLCA1MjUsIAorICAgIDE1OTAsIDE2MDUsIDUyNSwgMTU5MSwgMTU4MSwgNTI1LCAxNTkyLCAxNjA1LCA1MjUsIDE1OTMsIDE1ODAsIDUyNSwgMTU5MywgCisgICAgMTYwNSwgNTI1LCAxNTk0LCAxNTgwLCA1MjUsIDE1OTQsIDE2MDUsIDUyNSwgMTYwMSwgMTU4MCwgNTI1LCAxNjAxLCAxNTgxLCAKKyAgICA1MjUsIDE2MDEsIDE1ODIsIDUyNSwgMTYwMSwgMTYwNSwgNTI1LCAxNjAyLCAxNTgxLCA1MjUsIDE2MDIsIDE2MDUsIDUyNSwgCisgICAgMTYwMywgMTU4MCwgNTI1LCAxNjAzLCAxNTgxLCA1MjUsIDE2MDMsIDE1ODIsIDUyNSwgMTYwMywgMTYwNCwgNTI1LCAxNjAzLCAKKyAgICAxNjA1LCA1MjUsIDE2MDQsIDE1ODAsIDUyNSwgMTYwNCwgMTU4MSwgNTI1LCAxNjA0LCAxNTgyLCA1MjUsIDE2MDQsIDE2MDUsIAorICAgIDUyNSwgMTYwNCwgMTYwNywgNTI1LCAxNjA1LCAxNTgwLCA1MjUsIDE2MDUsIDE1ODEsIDUyNSwgMTYwNSwgMTU4MiwgNTI1LCAKKyAgICAxNjA1LCAxNjA1LCA1MjUsIDE2MDYsIDE1ODAsIDUyNSwgMTYwNiwgMTU4MSwgNTI1LCAxNjA2LCAxNTgyLCA1MjUsIDE2MDYsIAorICAgIDE2MDUsIDUyNSwgMTYwNiwgMTYwNywgNTI1LCAxNjA3LCAxNTgwLCA1MjUsIDE2MDcsIDE2MDUsIDUyNSwgMTYwNywgMTY0OCwgCisgICAgNTI1LCAxNjEwLCAxNTgwLCA1MjUsIDE2MTAsIDE1ODEsIDUyNSwgMTYxMCwgMTU4MiwgNTI1LCAxNjEwLCAxNjA1LCA1MjUsIAorICAgIDE2MTAsIDE2MDcsIDUyNiwgMTU3NCwgMTYwNSwgNTI2LCAxNTc0LCAxNjA3LCA1MjYsIDE1NzYsIDE2MDUsIDUyNiwgMTU3NiwgCisgICAgMTYwNywgNTI2LCAxNTc4LCAxNjA1LCA1MjYsIDE1NzgsIDE2MDcsIDUyNiwgMTU3OSwgMTYwNSwgNTI2LCAxNTc5LCAxNjA3LCAKKyAgICA1MjYsIDE1ODcsIDE2MDUsIDUyNiwgMTU4NywgMTYwNywgNTI2LCAxNTg4LCAxNjA1LCA1MjYsIDE1ODgsIDE2MDcsIDUyNiwgCisgICAgMTYwMywgMTYwNCwgNTI2LCAxNjAzLCAxNjA1LCA1MjYsIDE2MDQsIDE2MDUsIDUyNiwgMTYwNiwgMTYwNSwgNTI2LCAxNjA2LCAKKyAgICAxNjA3LCA1MjYsIDE2MTAsIDE2MDUsIDUyNiwgMTYxMCwgMTYwNywgNzgyLCAxNjAwLCAxNjE0LCAxNjE3LCA3ODIsIDE2MDAsIAorICAgIDE2MTUsIDE2MTcsIDc4MiwgMTYwMCwgMTYxNiwgMTYxNywgNTIzLCAxNTkxLCAxNjA5LCA1MjMsIDE1OTEsIDE2MTAsIDUyMywgCisgICAgMTU5MywgMTYwOSwgNTIzLCAxNTkzLCAxNjEwLCA1MjMsIDE1OTQsIDE2MDksIDUyMywgMTU5NCwgMTYxMCwgNTIzLCAxNTg3LCAKKyAgICAxNjA5LCA1MjMsIDE1ODcsIDE2MTAsIDUyMywgMTU4OCwgMTYwOSwgNTIzLCAxNTg4LCAxNjEwLCA1MjMsIDE1ODEsIDE2MDksIAorICAgIDUyMywgMTU4MSwgMTYxMCwgNTIzLCAxNTgwLCAxNjA5LCA1MjMsIDE1ODAsIDE2MTAsIDUyMywgMTU4MiwgMTYwOSwgNTIzLCAKKyAgICAxNTgyLCAxNjEwLCA1MjMsIDE1ODksIDE2MDksIDUyMywgMTU4OSwgMTYxMCwgNTIzLCAxNTkwLCAxNjA5LCA1MjMsIDE1OTAsIAorICAgIDE2MTAsIDUyMywgMTU4OCwgMTU4MCwgNTIzLCAxNTg4LCAxNTgxLCA1MjMsIDE1ODgsIDE1ODIsIDUyMywgMTU4OCwgMTYwNSwgCisgICAgNTIzLCAxNTg4LCAxNTg1LCA1MjMsIDE1ODcsIDE1ODUsIDUyMywgMTU4OSwgMTU4NSwgNTIzLCAxNTkwLCAxNTg1LCA1MjQsIAorICAgIDE1OTEsIDE2MDksIDUyNCwgMTU5MSwgMTYxMCwgNTI0LCAxNTkzLCAxNjA5LCA1MjQsIDE1OTMsIDE2MTAsIDUyNCwgMTU5NCwgCisgICAgMTYwOSwgNTI0LCAxNTk0LCAxNjEwLCA1MjQsIDE1ODcsIDE2MDksIDUyNCwgMTU4NywgMTYxMCwgNTI0LCAxNTg4LCAxNjA5LCAKKyAgICA1MjQsIDE1ODgsIDE2MTAsIDUyNCwgMTU4MSwgMTYwOSwgNTI0LCAxNTgxLCAxNjEwLCA1MjQsIDE1ODAsIDE2MDksIDUyNCwgCisgICAgMTU4MCwgMTYxMCwgNTI0LCAxNTgyLCAxNjA5LCA1MjQsIDE1ODIsIDE2MTAsIDUyNCwgMTU4OSwgMTYwOSwgNTI0LCAxNTg5LCAKKyAgICAxNjEwLCA1MjQsIDE1OTAsIDE2MDksIDUyNCwgMTU5MCwgMTYxMCwgNTI0LCAxNTg4LCAxNTgwLCA1MjQsIDE1ODgsIDE1ODEsIAorICAgIDUyNCwgMTU4OCwgMTU4MiwgNTI0LCAxNTg4LCAxNjA1LCA1MjQsIDE1ODgsIDE1ODUsIDUyNCwgMTU4NywgMTU4NSwgNTI0LCAKKyAgICAxNTg5LCAxNTg1LCA1MjQsIDE1OTAsIDE1ODUsIDUyNSwgMTU4OCwgMTU4MCwgNTI1LCAxNTg4LCAxNTgxLCA1MjUsIDE1ODgsIAorICAgIDE1ODIsIDUyNSwgMTU4OCwgMTYwNSwgNTI1LCAxNTg3LCAxNjA3LCA1MjUsIDE1ODgsIDE2MDcsIDUyNSwgMTU5MSwgMTYwNSwgCisgICAgNTI2LCAxNTg3LCAxNTgwLCA1MjYsIDE1ODcsIDE1ODEsIDUyNiwgMTU4NywgMTU4MiwgNTI2LCAxNTg4LCAxNTgwLCA1MjYsIAorICAgIDE1ODgsIDE1ODEsIDUyNiwgMTU4OCwgMTU4MiwgNTI2LCAxNTkxLCAxNjA1LCA1MjYsIDE1OTIsIDE2MDUsIDUyNCwgMTU3NSwgCisgICAgMTYxMSwgNTIzLCAxNTc1LCAxNjExLCA3ODEsIDE1NzgsIDE1ODAsIDE2MDUsIDc4MCwgMTU3OCwgMTU4MSwgMTU4MCwgNzgxLCAKKyAgICAxNTc4LCAxNTgxLCAxNTgwLCA3ODEsIDE1NzgsIDE1ODEsIDE2MDUsIDc4MSwgMTU3OCwgMTU4MiwgMTYwNSwgNzgxLCAKKyAgICAxNTc4LCAxNjA1LCAxNTgwLCA3ODEsIDE1NzgsIDE2MDUsIDE1ODEsIDc4MSwgMTU3OCwgMTYwNSwgMTU4MiwgNzgwLCAKKyAgICAxNTgwLCAxNjA1LCAxNTgxLCA3ODEsIDE1ODAsIDE2MDUsIDE1ODEsIDc4MCwgMTU4MSwgMTYwNSwgMTYxMCwgNzgwLCAKKyAgICAxNTgxLCAxNjA1LCAxNjA5LCA3ODEsIDE1ODcsIDE1ODEsIDE1ODAsIDc4MSwgMTU4NywgMTU4MCwgMTU4MSwgNzgwLCAKKyAgICAxNTg3LCAxNTgwLCAxNjA5LCA3ODAsIDE1ODcsIDE2MDUsIDE1ODEsIDc4MSwgMTU4NywgMTYwNSwgMTU4MSwgNzgxLCAKKyAgICAxNTg3LCAxNjA1LCAxNTgwLCA3ODAsIDE1ODcsIDE2MDUsIDE2MDUsIDc4MSwgMTU4NywgMTYwNSwgMTYwNSwgNzgwLCAKKyAgICAxNTg5LCAxNTgxLCAxNTgxLCA3ODEsIDE1ODksIDE1ODEsIDE1ODEsIDc4MCwgMTU4OSwgMTYwNSwgMTYwNSwgNzgwLCAKKyAgICAxNTg4LCAxNTgxLCAxNjA1LCA3ODEsIDE1ODgsIDE1ODEsIDE2MDUsIDc4MCwgMTU4OCwgMTU4MCwgMTYxMCwgNzgwLCAKKyAgICAxNTg4LCAxNjA1LCAxNTgyLCA3ODEsIDE1ODgsIDE2MDUsIDE1ODIsIDc4MCwgMTU4OCwgMTYwNSwgMTYwNSwgNzgxLCAKKyAgICAxNTg4LCAxNjA1LCAxNjA1LCA3ODAsIDE1OTAsIDE1ODEsIDE2MDksIDc4MCwgMTU5MCwgMTU4MiwgMTYwNSwgNzgxLCAKKyAgICAxNTkwLCAxNTgyLCAxNjA1LCA3ODAsIDE1OTEsIDE2MDUsIDE1ODEsIDc4MSwgMTU5MSwgMTYwNSwgMTU4MSwgNzgxLCAKKyAgICAxNTkxLCAxNjA1LCAxNjA1LCA3ODAsIDE1OTEsIDE2MDUsIDE2MTAsIDc4MCwgMTU5MywgMTU4MCwgMTYwNSwgNzgwLCAKKyAgICAxNTkzLCAxNjA1LCAxNjA1LCA3ODEsIDE1OTMsIDE2MDUsIDE2MDUsIDc4MCwgMTU5MywgMTYwNSwgMTYwOSwgNzgwLCAKKyAgICAxNTk0LCAxNjA1LCAxNjA1LCA3ODAsIDE1OTQsIDE2MDUsIDE2MTAsIDc4MCwgMTU5NCwgMTYwNSwgMTYwOSwgNzgwLCAKKyAgICAxNjAxLCAxNTgyLCAxNjA1LCA3ODEsIDE2MDEsIDE1ODIsIDE2MDUsIDc4MCwgMTYwMiwgMTYwNSwgMTU4MSwgNzgwLCAKKyAgICAxNjAyLCAxNjA1LCAxNjA1LCA3ODAsIDE2MDQsIDE1ODEsIDE2MDUsIDc4MCwgMTYwNCwgMTU4MSwgMTYxMCwgNzgwLCAKKyAgICAxNjA0LCAxNTgxLCAxNjA5LCA3ODEsIDE2MDQsIDE1ODAsIDE1ODAsIDc4MCwgMTYwNCwgMTU4MCwgMTU4MCwgNzgwLCAKKyAgICAxNjA0LCAxNTgyLCAxNjA1LCA3ODEsIDE2MDQsIDE1ODIsIDE2MDUsIDc4MCwgMTYwNCwgMTYwNSwgMTU4MSwgNzgxLCAKKyAgICAxNjA0LCAxNjA1LCAxNTgxLCA3ODEsIDE2MDUsIDE1ODEsIDE1ODAsIDc4MSwgMTYwNSwgMTU4MSwgMTYwNSwgNzgwLCAKKyAgICAxNjA1LCAxNTgxLCAxNjEwLCA3ODEsIDE2MDUsIDE1ODAsIDE1ODEsIDc4MSwgMTYwNSwgMTU4MCwgMTYwNSwgNzgxLCAKKyAgICAxNjA1LCAxNTgyLCAxNTgwLCA3ODEsIDE2MDUsIDE1ODIsIDE2MDUsIDc4MSwgMTYwNSwgMTU4MCwgMTU4MiwgNzgxLCAKKyAgICAxNjA3LCAxNjA1LCAxNTgwLCA3ODEsIDE2MDcsIDE2MDUsIDE2MDUsIDc4MSwgMTYwNiwgMTU4MSwgMTYwNSwgNzgwLCAKKyAgICAxNjA2LCAxNTgxLCAxNjA5LCA3ODAsIDE2MDYsIDE1ODAsIDE2MDUsIDc4MSwgMTYwNiwgMTU4MCwgMTYwNSwgNzgwLCAKKyAgICAxNjA2LCAxNTgwLCAxNjA5LCA3ODAsIDE2MDYsIDE2MDUsIDE2MTAsIDc4MCwgMTYwNiwgMTYwNSwgMTYwOSwgNzgwLCAKKyAgICAxNjEwLCAxNjA1LCAxNjA1LCA3ODEsIDE2MTAsIDE2MDUsIDE2MDUsIDc4MCwgMTU3NiwgMTU4MiwgMTYxMCwgNzgwLCAKKyAgICAxNTc4LCAxNTgwLCAxNjEwLCA3ODAsIDE1NzgsIDE1ODAsIDE2MDksIDc4MCwgMTU3OCwgMTU4MiwgMTYxMCwgNzgwLCAKKyAgICAxNTc4LCAxNTgyLCAxNjA5LCA3ODAsIDE1NzgsIDE2MDUsIDE2MTAsIDc4MCwgMTU3OCwgMTYwNSwgMTYwOSwgNzgwLCAKKyAgICAxNTgwLCAxNjA1LCAxNjEwLCA3ODAsIDE1ODAsIDE1ODEsIDE2MDksIDc4MCwgMTU4MCwgMTYwNSwgMTYwOSwgNzgwLCAKKyAgICAxNTg3LCAxNTgyLCAxNjA5LCA3ODAsIDE1ODksIDE1ODEsIDE2MTAsIDc4MCwgMTU4OCwgMTU4MSwgMTYxMCwgNzgwLCAKKyAgICAxNTkwLCAxNTgxLCAxNjEwLCA3ODAsIDE2MDQsIDE1ODAsIDE2MTAsIDc4MCwgMTYwNCwgMTYwNSwgMTYxMCwgNzgwLCAKKyAgICAxNjEwLCAxNTgxLCAxNjEwLCA3ODAsIDE2MTAsIDE1ODAsIDE2MTAsIDc4MCwgMTYxMCwgMTYwNSwgMTYxMCwgNzgwLCAKKyAgICAxNjA1LCAxNjA1LCAxNjEwLCA3ODAsIDE2MDIsIDE2MDUsIDE2MTAsIDc4MCwgMTYwNiwgMTU4MSwgMTYxMCwgNzgxLCAKKyAgICAxNjAyLCAxNjA1LCAxNTgxLCA3ODEsIDE2MDQsIDE1ODEsIDE2MDUsIDc4MCwgMTU5MywgMTYwNSwgMTYxMCwgNzgwLCAKKyAgICAxNjAzLCAxNjA1LCAxNjEwLCA3ODEsIDE2MDYsIDE1ODAsIDE1ODEsIDc4MCwgMTYwNSwgMTU4MiwgMTYxMCwgNzgxLCAKKyAgICAxNjA0LCAxNTgwLCAxNjA1LCA3ODAsIDE2MDMsIDE2MDUsIDE2MDUsIDc4MCwgMTYwNCwgMTU4MCwgMTYwNSwgNzgwLCAKKyAgICAxNjA2LCAxNTgwLCAxNTgxLCA3ODAsIDE1ODAsIDE1ODEsIDE2MTAsIDc4MCwgMTU4MSwgMTU4MCwgMTYxMCwgNzgwLCAKKyAgICAxNjA1LCAxNTgwLCAxNjEwLCA3ODAsIDE2MDEsIDE2MDUsIDE2MTAsIDc4MCwgMTU3NiwgMTU4MSwgMTYxMCwgNzgxLCAKKyAgICAxNjAzLCAxNjA1LCAxNjA1LCA3ODEsIDE1OTMsIDE1ODAsIDE2MDUsIDc4MSwgMTU4OSwgMTYwNSwgMTYwNSwgNzgwLCAKKyAgICAxNTg3LCAxNTgyLCAxNjEwLCA3ODAsIDE2MDYsIDE1ODAsIDE2MTAsIDc3OSwgMTU4OSwgMTYwNCwgMTc0NiwgNzc5LCAKKyAgICAxNjAyLCAxNjA0LCAxNzQ2LCAxMDM1LCAxNTc1LCAxNjA0LCAxNjA0LCAxNjA3LCAxMDM1LCAxNTc1LCAxNjAzLCAxNTc2LCAKKyAgICAxNTg1LCAxMDM1LCAxNjA1LCAxNTgxLCAxNjA1LCAxNTgzLCAxMDM1LCAxNTg5LCAxNjA0LCAxNTkzLCAxNjA1LCAxMDM1LCAKKyAgICAxNTg1LCAxNTg3LCAxNjA4LCAxNjA0LCAxMDM1LCAxNTkzLCAxNjA0LCAxNjEwLCAxNjA3LCAxMDM1LCAxNjA4LCAxNTg3LCAKKyAgICAxNjA0LCAxNjA1LCA3NzksIDE1ODksIDE2MDQsIDE2MDksIDQ2MTksIDE1ODksIDE2MDQsIDE2MDksIDMyLCAxNTc1LCAKKyAgICAxNjA0LCAxNjA0LCAxNjA3LCAzMiwgMTU5MywgMTYwNCwgMTYxMCwgMTYwNywgMzIsIDE2MDgsIDE1ODcsIDE2MDQsIDE2MDUsIAorICAgIDIwNTksIDE1ODAsIDE2MDQsIDMyLCAxNTgwLCAxNjA0LCAxNTc1LCAxNjA0LCAxNjA3LCAxMDM1LCAxNTg1LCAxNzQwLCAKKyAgICAxNTc1LCAxNjA0LCAyNjUsIDQ0LCAyNjUsIDEyMjg5LCAyNjUsIDEyMjkwLCAyNjUsIDU4LCAyNjUsIDU5LCAyNjUsIDMzLCAKKyAgICAyNjUsIDYzLCAyNjUsIDEyMzEwLCAyNjUsIDEyMzExLCAyNjUsIDgyMzAsIDI2NSwgODIyOSwgMjY1LCA4MjEyLCAyNjUsIAorICAgIDgyMTEsIDI2NSwgOTUsIDI2NSwgOTUsIDI2NSwgNDAsIDI2NSwgNDEsIDI2NSwgMTIzLCAyNjUsIDEyNSwgMjY1LCAxMjMwOCwgCisgICAgMjY1LCAxMjMwOSwgMjY1LCAxMjMwNCwgMjY1LCAxMjMwNSwgMjY1LCAxMjI5OCwgMjY1LCAxMjI5OSwgMjY1LCAxMjI5NiwgCisgICAgMjY1LCAxMjI5NywgMjY1LCAxMjMwMCwgMjY1LCAxMjMwMSwgMjY1LCAxMjMwMiwgMjY1LCAxMjMwMywgMjY1LCA5MSwgMjY1LCAKKyAgICA5MywgMjU4LCA4MjU0LCAyNTgsIDgyNTQsIDI1OCwgODI1NCwgMjU4LCA4MjU0LCAyNTgsIDk1LCAyNTgsIDk1LCAyNTgsIAorICAgIDk1LCAyNzEsIDQ0LCAyNzEsIDEyMjg5LCAyNzEsIDQ2LCAyNzEsIDU5LCAyNzEsIDU4LCAyNzEsIDYzLCAyNzEsIDMzLCAKKyAgICAyNzEsIDgyMTIsIDI3MSwgNDAsIDI3MSwgNDEsIDI3MSwgMTIzLCAyNzEsIDEyNSwgMjcxLCAxMjMwOCwgMjcxLCAxMjMwOSwgCisgICAgMjcxLCAzNSwgMjcxLCAzOCwgMjcxLCA0MiwgMjcxLCA0MywgMjcxLCA0NSwgMjcxLCA2MCwgMjcxLCA2MiwgMjcxLCA2MSwgCisgICAgMjcxLCA5MiwgMjcxLCAzNiwgMjcxLCAzNywgMjcxLCA2NCwgNTIzLCAzMiwgMTYxMSwgNTI2LCAxNjAwLCAxNjExLCA1MjMsIAorICAgIDMyLCAxNjEyLCA1MjMsIDMyLCAxNjEzLCA1MjMsIDMyLCAxNjE0LCA1MjYsIDE2MDAsIDE2MTQsIDUyMywgMzIsIDE2MTUsIAorICAgIDUyNiwgMTYwMCwgMTYxNSwgNTIzLCAzMiwgMTYxNiwgNTI2LCAxNjAwLCAxNjE2LCA1MjMsIDMyLCAxNjE3LCA1MjYsIAorICAgIDE2MDAsIDE2MTcsIDUyMywgMzIsIDE2MTgsIDUyNiwgMTYwMCwgMTYxOCwgMjY3LCAxNTY5LCAyNjcsIDE1NzAsIDI2OCwgCisgICAgMTU3MCwgMjY3LCAxNTcxLCAyNjgsIDE1NzEsIDI2NywgMTU3MiwgMjY4LCAxNTcyLCAyNjcsIDE1NzMsIDI2OCwgMTU3MywgCisgICAgMjY3LCAxNTc0LCAyNjgsIDE1NzQsIDI2OSwgMTU3NCwgMjcwLCAxNTc0LCAyNjcsIDE1NzUsIDI2OCwgMTU3NSwgMjY3LCAKKyAgICAxNTc2LCAyNjgsIDE1NzYsIDI2OSwgMTU3NiwgMjcwLCAxNTc2LCAyNjcsIDE1NzcsIDI2OCwgMTU3NywgMjY3LCAxNTc4LCAKKyAgICAyNjgsIDE1NzgsIDI2OSwgMTU3OCwgMjcwLCAxNTc4LCAyNjcsIDE1NzksIDI2OCwgMTU3OSwgMjY5LCAxNTc5LCAyNzAsIAorICAgIDE1NzksIDI2NywgMTU4MCwgMjY4LCAxNTgwLCAyNjksIDE1ODAsIDI3MCwgMTU4MCwgMjY3LCAxNTgxLCAyNjgsIDE1ODEsIAorICAgIDI2OSwgMTU4MSwgMjcwLCAxNTgxLCAyNjcsIDE1ODIsIDI2OCwgMTU4MiwgMjY5LCAxNTgyLCAyNzAsIDE1ODIsIDI2NywgCisgICAgMTU4MywgMjY4LCAxNTgzLCAyNjcsIDE1ODQsIDI2OCwgMTU4NCwgMjY3LCAxNTg1LCAyNjgsIDE1ODUsIDI2NywgMTU4NiwgCisgICAgMjY4LCAxNTg2LCAyNjcsIDE1ODcsIDI2OCwgMTU4NywgMjY5LCAxNTg3LCAyNzAsIDE1ODcsIDI2NywgMTU4OCwgMjY4LCAKKyAgICAxNTg4LCAyNjksIDE1ODgsIDI3MCwgMTU4OCwgMjY3LCAxNTg5LCAyNjgsIDE1ODksIDI2OSwgMTU4OSwgMjcwLCAxNTg5LCAKKyAgICAyNjcsIDE1OTAsIDI2OCwgMTU5MCwgMjY5LCAxNTkwLCAyNzAsIDE1OTAsIDI2NywgMTU5MSwgMjY4LCAxNTkxLCAyNjksIAorICAgIDE1OTEsIDI3MCwgMTU5MSwgMjY3LCAxNTkyLCAyNjgsIDE1OTIsIDI2OSwgMTU5MiwgMjcwLCAxNTkyLCAyNjcsIDE1OTMsIAorICAgIDI2OCwgMTU5MywgMjY5LCAxNTkzLCAyNzAsIDE1OTMsIDI2NywgMTU5NCwgMjY4LCAxNTk0LCAyNjksIDE1OTQsIDI3MCwgCisgICAgMTU5NCwgMjY3LCAxNjAxLCAyNjgsIDE2MDEsIDI2OSwgMTYwMSwgMjcwLCAxNjAxLCAyNjcsIDE2MDIsIDI2OCwgMTYwMiwgCisgICAgMjY5LCAxNjAyLCAyNzAsIDE2MDIsIDI2NywgMTYwMywgMjY4LCAxNjAzLCAyNjksIDE2MDMsIDI3MCwgMTYwMywgMjY3LCAKKyAgICAxNjA0LCAyNjgsIDE2MDQsIDI2OSwgMTYwNCwgMjcwLCAxNjA0LCAyNjcsIDE2MDUsIDI2OCwgMTYwNSwgMjY5LCAxNjA1LCAKKyAgICAyNzAsIDE2MDUsIDI2NywgMTYwNiwgMjY4LCAxNjA2LCAyNjksIDE2MDYsIDI3MCwgMTYwNiwgMjY3LCAxNjA3LCAyNjgsIAorICAgIDE2MDcsIDI2OSwgMTYwNywgMjcwLCAxNjA3LCAyNjcsIDE2MDgsIDI2OCwgMTYwOCwgMjY3LCAxNjA5LCAyNjgsIDE2MDksIAorICAgIDI2NywgMTYxMCwgMjY4LCAxNjEwLCAyNjksIDE2MTAsIDI3MCwgMTYxMCwgNTIzLCAxNjA0LCAxNTcwLCA1MjQsIDE2MDQsIAorICAgIDE1NzAsIDUyMywgMTYwNCwgMTU3MSwgNTI0LCAxNjA0LCAxNTcxLCA1MjMsIDE2MDQsIDE1NzMsIDUyNCwgMTYwNCwgMTU3MywgCisgICAgNTIzLCAxNjA0LCAxNTc1LCA1MjQsIDE2MDQsIDE1NzUsIDI2NCwgMzMsIDI2NCwgMzQsIDI2NCwgMzUsIDI2NCwgMzYsIAorICAgIDI2NCwgMzcsIDI2NCwgMzgsIDI2NCwgMzksIDI2NCwgNDAsIDI2NCwgNDEsIDI2NCwgNDIsIDI2NCwgNDMsIDI2NCwgNDQsIAorICAgIDI2NCwgNDUsIDI2NCwgNDYsIDI2NCwgNDcsIDI2NCwgNDgsIDI2NCwgNDksIDI2NCwgNTAsIDI2NCwgNTEsIDI2NCwgNTIsIAorICAgIDI2NCwgNTMsIDI2NCwgNTQsIDI2NCwgNTUsIDI2NCwgNTYsIDI2NCwgNTcsIDI2NCwgNTgsIDI2NCwgNTksIDI2NCwgNjAsIAorICAgIDI2NCwgNjEsIDI2NCwgNjIsIDI2NCwgNjMsIDI2NCwgNjQsIDI2NCwgNjUsIDI2NCwgNjYsIDI2NCwgNjcsIDI2NCwgNjgsIAorICAgIDI2NCwgNjksIDI2NCwgNzAsIDI2NCwgNzEsIDI2NCwgNzIsIDI2NCwgNzMsIDI2NCwgNzQsIDI2NCwgNzUsIDI2NCwgNzYsIAorICAgIDI2NCwgNzcsIDI2NCwgNzgsIDI2NCwgNzksIDI2NCwgODAsIDI2NCwgODEsIDI2NCwgODIsIDI2NCwgODMsIDI2NCwgODQsIAorICAgIDI2NCwgODUsIDI2NCwgODYsIDI2NCwgODcsIDI2NCwgODgsIDI2NCwgODksIDI2NCwgOTAsIDI2NCwgOTEsIDI2NCwgOTIsIAorICAgIDI2NCwgOTMsIDI2NCwgOTQsIDI2NCwgOTUsIDI2NCwgOTYsIDI2NCwgOTcsIDI2NCwgOTgsIDI2NCwgOTksIDI2NCwgMTAwLCAKKyAgICAyNjQsIDEwMSwgMjY0LCAxMDIsIDI2NCwgMTAzLCAyNjQsIDEwNCwgMjY0LCAxMDUsIDI2NCwgMTA2LCAyNjQsIDEwNywgCisgICAgMjY0LCAxMDgsIDI2NCwgMTA5LCAyNjQsIDExMCwgMjY0LCAxMTEsIDI2NCwgMTEyLCAyNjQsIDExMywgMjY0LCAxMTQsIAorICAgIDI2NCwgMTE1LCAyNjQsIDExNiwgMjY0LCAxMTcsIDI2NCwgMTE4LCAyNjQsIDExOSwgMjY0LCAxMjAsIDI2NCwgMTIxLCAKKyAgICAyNjQsIDEyMiwgMjY0LCAxMjMsIDI2NCwgMTI0LCAyNjQsIDEyNSwgMjY0LCAxMjYsIDI2NCwgMTA2MjksIDI2NCwgMTA2MzAsIAorICAgIDI3MiwgMTIyOTAsIDI3MiwgMTIzMDAsIDI3MiwgMTIzMDEsIDI3MiwgMTIyODksIDI3MiwgMTI1MzksIDI3MiwgMTI1MzAsIAorICAgIDI3MiwgMTI0NDksIDI3MiwgMTI0NTEsIDI3MiwgMTI0NTMsIDI3MiwgMTI0NTUsIDI3MiwgMTI0NTcsIDI3MiwgMTI1MTUsIAorICAgIDI3MiwgMTI1MTcsIDI3MiwgMTI1MTksIDI3MiwgMTI0ODMsIDI3MiwgMTI1NDAsIDI3MiwgMTI0NTAsIDI3MiwgMTI0NTIsIAorICAgIDI3MiwgMTI0NTQsIDI3MiwgMTI0NTYsIDI3MiwgMTI0NTgsIDI3MiwgMTI0NTksIDI3MiwgMTI0NjEsIDI3MiwgMTI0NjMsIAorICAgIDI3MiwgMTI0NjUsIDI3MiwgMTI0NjcsIDI3MiwgMTI0NjksIDI3MiwgMTI0NzEsIDI3MiwgMTI0NzMsIDI3MiwgMTI0NzUsIAorICAgIDI3MiwgMTI0NzcsIDI3MiwgMTI0NzksIDI3MiwgMTI0ODEsIDI3MiwgMTI0ODQsIDI3MiwgMTI0ODYsIDI3MiwgMTI0ODgsIAorICAgIDI3MiwgMTI0OTAsIDI3MiwgMTI0OTEsIDI3MiwgMTI0OTIsIDI3MiwgMTI0OTMsIDI3MiwgMTI0OTQsIDI3MiwgMTI0OTUsIAorICAgIDI3MiwgMTI0OTgsIDI3MiwgMTI1MDEsIDI3MiwgMTI1MDQsIDI3MiwgMTI1MDcsIDI3MiwgMTI1MTAsIDI3MiwgMTI1MTEsIAorICAgIDI3MiwgMTI1MTIsIDI3MiwgMTI1MTMsIDI3MiwgMTI1MTQsIDI3MiwgMTI1MTYsIDI3MiwgMTI1MTgsIDI3MiwgMTI1MjAsIAorICAgIDI3MiwgMTI1MjEsIDI3MiwgMTI1MjIsIDI3MiwgMTI1MjMsIDI3MiwgMTI1MjQsIDI3MiwgMTI1MjUsIDI3MiwgMTI1MjcsIAorICAgIDI3MiwgMTI1MzEsIDI3MiwgMTI0NDEsIDI3MiwgMTI0NDIsIDI3MiwgMTI2NDQsIDI3MiwgMTI1OTMsIDI3MiwgMTI1OTQsIAorICAgIDI3MiwgMTI1OTUsIDI3MiwgMTI1OTYsIDI3MiwgMTI1OTcsIDI3MiwgMTI1OTgsIDI3MiwgMTI1OTksIDI3MiwgMTI2MDAsIAorICAgIDI3MiwgMTI2MDEsIDI3MiwgMTI2MDIsIDI3MiwgMTI2MDMsIDI3MiwgMTI2MDQsIDI3MiwgMTI2MDUsIDI3MiwgMTI2MDYsIAorICAgIDI3MiwgMTI2MDcsIDI3MiwgMTI2MDgsIDI3MiwgMTI2MDksIDI3MiwgMTI2MTAsIDI3MiwgMTI2MTEsIDI3MiwgMTI2MTIsIAorICAgIDI3MiwgMTI2MTMsIDI3MiwgMTI2MTQsIDI3MiwgMTI2MTUsIDI3MiwgMTI2MTYsIDI3MiwgMTI2MTcsIDI3MiwgMTI2MTgsIAorICAgIDI3MiwgMTI2MTksIDI3MiwgMTI2MjAsIDI3MiwgMTI2MjEsIDI3MiwgMTI2MjIsIDI3MiwgMTI2MjMsIDI3MiwgMTI2MjQsIAorICAgIDI3MiwgMTI2MjUsIDI3MiwgMTI2MjYsIDI3MiwgMTI2MjcsIDI3MiwgMTI2MjgsIDI3MiwgMTI2MjksIDI3MiwgMTI2MzAsIAorICAgIDI3MiwgMTI2MzEsIDI3MiwgMTI2MzIsIDI3MiwgMTI2MzMsIDI3MiwgMTI2MzQsIDI3MiwgMTI2MzUsIDI3MiwgMTI2MzYsIAorICAgIDI3MiwgMTI2MzcsIDI3MiwgMTI2MzgsIDI3MiwgMTI2MzksIDI3MiwgMTI2NDAsIDI3MiwgMTI2NDEsIDI3MiwgMTI2NDIsIAorICAgIDI3MiwgMTI2NDMsIDI2NCwgMTYyLCAyNjQsIDE2MywgMjY0LCAxNzIsIDI2NCwgMTc1LCAyNjQsIDE2NiwgMjY0LCAxNjUsIAorICAgIDI2NCwgODM2MSwgMjcyLCA5NDc0LCAyNzIsIDg1OTIsIDI3MiwgODU5MywgMjcyLCA4NTk0LCAyNzIsIDg1OTUsIDI3MiwgCisgICAgOTYzMiwgMjcyLCA5Njc1LCA1MTIsIDY5Nzg1LCA2OTgxOCwgNTEyLCA2OTc4NywgNjk4MTgsIDUxMiwgNjk3OTcsIDY5ODE4LCAKKyAgICA1MTIsIDY5OTM3LCA2OTkyNywgNTEyLCA2OTkzOCwgNjk5MjcsIDUxMiwgNzA0NzEsIDcwNDYyLCA1MTIsIDcwNDcxLCAKKyAgICA3MDQ4NywgNTEyLCA3MDg0MSwgNzA4NDIsIDUxMiwgNzA4NDEsIDcwODMyLCA1MTIsIDcwODQxLCA3MDg0NSwgNTEyLCAKKyAgICA3MTA5NiwgNzEwODcsIDUxMiwgNzEwOTcsIDcxMDg3LCA1MTIsIDExOTEyNywgMTE5MTQxLCA1MTIsIDExOTEyOCwgCisgICAgMTE5MTQxLCA1MTIsIDExOTEzNSwgMTE5MTUwLCA1MTIsIDExOTEzNSwgMTE5MTUxLCA1MTIsIDExOTEzNSwgMTE5MTUyLCAKKyAgICA1MTIsIDExOTEzNSwgMTE5MTUzLCA1MTIsIDExOTEzNSwgMTE5MTU0LCA1MTIsIDExOTIyNSwgMTE5MTQxLCA1MTIsIAorICAgIDExOTIyNiwgMTE5MTQxLCA1MTIsIDExOTIyNywgMTE5MTUwLCA1MTIsIDExOTIyOCwgMTE5MTUwLCA1MTIsIDExOTIyNywgCisgICAgMTE5MTUxLCA1MTIsIDExOTIyOCwgMTE5MTUxLCAyNjIsIDY1LCAyNjIsIDY2LCAyNjIsIDY3LCAyNjIsIDY4LCAyNjIsIDY5LCAKKyAgICAyNjIsIDcwLCAyNjIsIDcxLCAyNjIsIDcyLCAyNjIsIDczLCAyNjIsIDc0LCAyNjIsIDc1LCAyNjIsIDc2LCAyNjIsIDc3LCAKKyAgICAyNjIsIDc4LCAyNjIsIDc5LCAyNjIsIDgwLCAyNjIsIDgxLCAyNjIsIDgyLCAyNjIsIDgzLCAyNjIsIDg0LCAyNjIsIDg1LCAKKyAgICAyNjIsIDg2LCAyNjIsIDg3LCAyNjIsIDg4LCAyNjIsIDg5LCAyNjIsIDkwLCAyNjIsIDk3LCAyNjIsIDk4LCAyNjIsIDk5LCAKKyAgICAyNjIsIDEwMCwgMjYyLCAxMDEsIDI2MiwgMTAyLCAyNjIsIDEwMywgMjYyLCAxMDQsIDI2MiwgMTA1LCAyNjIsIDEwNiwgCisgICAgMjYyLCAxMDcsIDI2MiwgMTA4LCAyNjIsIDEwOSwgMjYyLCAxMTAsIDI2MiwgMTExLCAyNjIsIDExMiwgMjYyLCAxMTMsIAorICAgIDI2MiwgMTE0LCAyNjIsIDExNSwgMjYyLCAxMTYsIDI2MiwgMTE3LCAyNjIsIDExOCwgMjYyLCAxMTksIDI2MiwgMTIwLCAKKyAgICAyNjIsIDEyMSwgMjYyLCAxMjIsIDI2MiwgNjUsIDI2MiwgNjYsIDI2MiwgNjcsIDI2MiwgNjgsIDI2MiwgNjksIDI2MiwgNzAsIAorICAgIDI2MiwgNzEsIDI2MiwgNzIsIDI2MiwgNzMsIDI2MiwgNzQsIDI2MiwgNzUsIDI2MiwgNzYsIDI2MiwgNzcsIDI2MiwgNzgsIAorICAgIDI2MiwgNzksIDI2MiwgODAsIDI2MiwgODEsIDI2MiwgODIsIDI2MiwgODMsIDI2MiwgODQsIDI2MiwgODUsIDI2MiwgODYsIAorICAgIDI2MiwgODcsIDI2MiwgODgsIDI2MiwgODksIDI2MiwgOTAsIDI2MiwgOTcsIDI2MiwgOTgsIDI2MiwgOTksIDI2MiwgMTAwLCAKKyAgICAyNjIsIDEwMSwgMjYyLCAxMDIsIDI2MiwgMTAzLCAyNjIsIDEwNSwgMjYyLCAxMDYsIDI2MiwgMTA3LCAyNjIsIDEwOCwgCiAgICAgMjYyLCAxMDksIDI2MiwgMTEwLCAyNjIsIDExMSwgMjYyLCAxMTIsIDI2MiwgMTEzLCAyNjIsIDExNCwgMjYyLCAxMTUsIAogICAgIDI2MiwgMTE2LCAyNjIsIDExNywgMjYyLCAxMTgsIDI2MiwgMTE5LCAyNjIsIDEyMCwgMjYyLCAxMjEsIDI2MiwgMTIyLCAKLSAgICAyNjIsIDY1LCAyNjIsIDY3LCAyNjIsIDY4LCAyNjIsIDcxLCAyNjIsIDc0LCAyNjIsIDc1LCAyNjIsIDc4LCAyNjIsIDc5LCAKLSAgICAyNjIsIDgwLCAyNjIsIDgxLCAyNjIsIDgzLCAyNjIsIDg0LCAyNjIsIDg1LCAyNjIsIDg2LCAyNjIsIDg3LCAyNjIsIDg4LCAKLSAgICAyNjIsIDg5LCAyNjIsIDkwLCAyNjIsIDk3LCAyNjIsIDk4LCAyNjIsIDk5LCAyNjIsIDEwMCwgMjYyLCAxMDIsIDI2MiwgCi0gICAgMTA0LCAyNjIsIDEwNSwgMjYyLCAxMDYsIDI2MiwgMTA3LCAyNjIsIDEwOCwgMjYyLCAxMDksIDI2MiwgMTEwLCAyNjIsIAotICAgIDExMiwgMjYyLCAxMTMsIDI2MiwgMTE0LCAyNjIsIDExNSwgMjYyLCAxMTYsIDI2MiwgMTE3LCAyNjIsIDExOCwgMjYyLCAKLSAgICAxMTksIDI2MiwgMTIwLCAyNjIsIDEyMSwgMjYyLCAxMjIsIDI2MiwgNjUsIDI2MiwgNjYsIDI2MiwgNjcsIDI2MiwgNjgsIAotICAgIDI2MiwgNjksIDI2MiwgNzAsIDI2MiwgNzEsIDI2MiwgNzIsIDI2MiwgNzMsIDI2MiwgNzQsIDI2MiwgNzUsIDI2MiwgNzYsIAotICAgIDI2MiwgNzcsIDI2MiwgNzgsIDI2MiwgNzksIDI2MiwgODAsIDI2MiwgODEsIDI2MiwgODIsIDI2MiwgODMsIDI2MiwgODQsIAotICAgIDI2MiwgODUsIDI2MiwgODYsIDI2MiwgODcsIDI2MiwgODgsIDI2MiwgODksIDI2MiwgOTAsIDI2MiwgOTcsIDI2MiwgOTgsIAotICAgIDI2MiwgOTksIDI2MiwgMTAwLCAyNjIsIDEwMSwgMjYyLCAxMDIsIDI2MiwgMTAzLCAyNjIsIDEwNCwgMjYyLCAxMDUsIDI2MiwgCi0gICAgMTA2LCAyNjIsIDEwNywgMjYyLCAxMDgsIDI2MiwgMTA5LCAyNjIsIDExMCwgMjYyLCAxMTEsIDI2MiwgMTEyLCAyNjIsIAotICAgIDExMywgMjYyLCAxMTQsIDI2MiwgMTE1LCAyNjIsIDExNiwgMjYyLCAxMTcsIDI2MiwgMTE4LCAyNjIsIDExOSwgMjYyLCAKLSAgICAxMjAsIDI2MiwgMTIxLCAyNjIsIDEyMiwgMjYyLCA2NSwgMjYyLCA2NiwgMjYyLCA2OCwgMjYyLCA2OSwgMjYyLCA3MCwgCi0gICAgMjYyLCA3MSwgMjYyLCA3NCwgMjYyLCA3NSwgMjYyLCA3NiwgMjYyLCA3NywgMjYyLCA3OCwgMjYyLCA3OSwgMjYyLCA4MCwgCisgICAgMjYyLCA2NSwgMjYyLCA2NiwgMjYyLCA2NywgMjYyLCA2OCwgMjYyLCA2OSwgMjYyLCA3MCwgMjYyLCA3MSwgMjYyLCA3MiwgCisgICAgMjYyLCA3MywgMjYyLCA3NCwgMjYyLCA3NSwgMjYyLCA3NiwgMjYyLCA3NywgMjYyLCA3OCwgMjYyLCA3OSwgMjYyLCA4MCwgCisgICAgMjYyLCA4MSwgMjYyLCA4MiwgMjYyLCA4MywgMjYyLCA4NCwgMjYyLCA4NSwgMjYyLCA4NiwgMjYyLCA4NywgMjYyLCA4OCwgCisgICAgMjYyLCA4OSwgMjYyLCA5MCwgMjYyLCA5NywgMjYyLCA5OCwgMjYyLCA5OSwgMjYyLCAxMDAsIDI2MiwgMTAxLCAyNjIsIAorICAgIDEwMiwgMjYyLCAxMDMsIDI2MiwgMTA0LCAyNjIsIDEwNSwgMjYyLCAxMDYsIDI2MiwgMTA3LCAyNjIsIDEwOCwgMjYyLCAKKyAgICAxMDksIDI2MiwgMTEwLCAyNjIsIDExMSwgMjYyLCAxMTIsIDI2MiwgMTEzLCAyNjIsIDExNCwgMjYyLCAxMTUsIDI2MiwgCisgICAgMTE2LCAyNjIsIDExNywgMjYyLCAxMTgsIDI2MiwgMTE5LCAyNjIsIDEyMCwgMjYyLCAxMjEsIDI2MiwgMTIyLCAyNjIsIDY1LCAKKyAgICAyNjIsIDY3LCAyNjIsIDY4LCAyNjIsIDcxLCAyNjIsIDc0LCAyNjIsIDc1LCAyNjIsIDc4LCAyNjIsIDc5LCAyNjIsIDgwLCAKICAgICAyNjIsIDgxLCAyNjIsIDgzLCAyNjIsIDg0LCAyNjIsIDg1LCAyNjIsIDg2LCAyNjIsIDg3LCAyNjIsIDg4LCAyNjIsIDg5LCAKLSAgICAyNjIsIDk3LCAyNjIsIDk4LCAyNjIsIDk5LCAyNjIsIDEwMCwgMjYyLCAxMDEsIDI2MiwgMTAyLCAyNjIsIDEwMywgMjYyLCAKLSAgICAxMDQsIDI2MiwgMTA1LCAyNjIsIDEwNiwgMjYyLCAxMDcsIDI2MiwgMTA4LCAyNjIsIDEwOSwgMjYyLCAxMTAsIDI2MiwgCi0gICAgMTExLCAyNjIsIDExMiwgMjYyLCAxMTMsIDI2MiwgMTE0LCAyNjIsIDExNSwgMjYyLCAxMTYsIDI2MiwgMTE3LCAyNjIsIAotICAgIDExOCwgMjYyLCAxMTksIDI2MiwgMTIwLCAyNjIsIDEyMSwgMjYyLCAxMjIsIDI2MiwgNjUsIDI2MiwgNjYsIDI2MiwgNjgsIAotICAgIDI2MiwgNjksIDI2MiwgNzAsIDI2MiwgNzEsIDI2MiwgNzMsIDI2MiwgNzQsIDI2MiwgNzUsIDI2MiwgNzYsIDI2MiwgNzcsIAotICAgIDI2MiwgNzksIDI2MiwgODMsIDI2MiwgODQsIDI2MiwgODUsIDI2MiwgODYsIDI2MiwgODcsIDI2MiwgODgsIDI2MiwgODksIAotICAgIDI2MiwgOTcsIDI2MiwgOTgsIDI2MiwgOTksIDI2MiwgMTAwLCAyNjIsIDEwMSwgMjYyLCAxMDIsIDI2MiwgMTAzLCAyNjIsIAotICAgIDEwNCwgMjYyLCAxMDUsIDI2MiwgMTA2LCAyNjIsIDEwNywgMjYyLCAxMDgsIDI2MiwgMTA5LCAyNjIsIDExMCwgMjYyLCAKLSAgICAxMTEsIDI2MiwgMTEyLCAyNjIsIDExMywgMjYyLCAxMTQsIDI2MiwgMTE1LCAyNjIsIDExNiwgMjYyLCAxMTcsIDI2MiwgCi0gICAgMTE4LCAyNjIsIDExOSwgMjYyLCAxMjAsIDI2MiwgMTIxLCAyNjIsIDEyMiwgMjYyLCA2NSwgMjYyLCA2NiwgMjYyLCA2NywgCi0gICAgMjYyLCA2OCwgMjYyLCA2OSwgMjYyLCA3MCwgMjYyLCA3MSwgMjYyLCA3MiwgMjYyLCA3MywgMjYyLCA3NCwgMjYyLCA3NSwgCi0gICAgMjYyLCA3NiwgMjYyLCA3NywgMjYyLCA3OCwgMjYyLCA3OSwgMjYyLCA4MCwgMjYyLCA4MSwgMjYyLCA4MiwgMjYyLCA4MywgCi0gICAgMjYyLCA4NCwgMjYyLCA4NSwgMjYyLCA4NiwgMjYyLCA4NywgMjYyLCA4OCwgMjYyLCA4OSwgMjYyLCA5MCwgMjYyLCA5NywgCisgICAgMjYyLCA5MCwgMjYyLCA5NywgMjYyLCA5OCwgMjYyLCA5OSwgMjYyLCAxMDAsIDI2MiwgMTAyLCAyNjIsIDEwNCwgMjYyLCAKKyAgICAxMDUsIDI2MiwgMTA2LCAyNjIsIDEwNywgMjYyLCAxMDgsIDI2MiwgMTA5LCAyNjIsIDExMCwgMjYyLCAxMTIsIDI2MiwgCisgICAgMTEzLCAyNjIsIDExNCwgMjYyLCAxMTUsIDI2MiwgMTE2LCAyNjIsIDExNywgMjYyLCAxMTgsIDI2MiwgMTE5LCAyNjIsIAorICAgIDEyMCwgMjYyLCAxMjEsIDI2MiwgMTIyLCAyNjIsIDY1LCAyNjIsIDY2LCAyNjIsIDY3LCAyNjIsIDY4LCAyNjIsIDY5LCAKKyAgICAyNjIsIDcwLCAyNjIsIDcxLCAyNjIsIDcyLCAyNjIsIDczLCAyNjIsIDc0LCAyNjIsIDc1LCAyNjIsIDc2LCAyNjIsIDc3LCAKKyAgICAyNjIsIDc4LCAyNjIsIDc5LCAyNjIsIDgwLCAyNjIsIDgxLCAyNjIsIDgyLCAyNjIsIDgzLCAyNjIsIDg0LCAyNjIsIDg1LCAKKyAgICAyNjIsIDg2LCAyNjIsIDg3LCAyNjIsIDg4LCAyNjIsIDg5LCAyNjIsIDkwLCAyNjIsIDk3LCAyNjIsIDk4LCAyNjIsIDk5LCAKKyAgICAyNjIsIDEwMCwgMjYyLCAxMDEsIDI2MiwgMTAyLCAyNjIsIDEwMywgMjYyLCAxMDQsIDI2MiwgMTA1LCAyNjIsIDEwNiwgCisgICAgMjYyLCAxMDcsIDI2MiwgMTA4LCAyNjIsIDEwOSwgMjYyLCAxMTAsIDI2MiwgMTExLCAyNjIsIDExMiwgMjYyLCAxMTMsIAorICAgIDI2MiwgMTE0LCAyNjIsIDExNSwgMjYyLCAxMTYsIDI2MiwgMTE3LCAyNjIsIDExOCwgMjYyLCAxMTksIDI2MiwgMTIwLCAKKyAgICAyNjIsIDEyMSwgMjYyLCAxMjIsIDI2MiwgNjUsIDI2MiwgNjYsIDI2MiwgNjgsIDI2MiwgNjksIDI2MiwgNzAsIDI2MiwgNzEsIAorICAgIDI2MiwgNzQsIDI2MiwgNzUsIDI2MiwgNzYsIDI2MiwgNzcsIDI2MiwgNzgsIDI2MiwgNzksIDI2MiwgODAsIDI2MiwgODEsIAorICAgIDI2MiwgODMsIDI2MiwgODQsIDI2MiwgODUsIDI2MiwgODYsIDI2MiwgODcsIDI2MiwgODgsIDI2MiwgODksIDI2MiwgOTcsIAorICAgIDI2MiwgOTgsIDI2MiwgOTksIDI2MiwgMTAwLCAyNjIsIDEwMSwgMjYyLCAxMDIsIDI2MiwgMTAzLCAyNjIsIDEwNCwgMjYyLCAKKyAgICAxMDUsIDI2MiwgMTA2LCAyNjIsIDEwNywgMjYyLCAxMDgsIDI2MiwgMTA5LCAyNjIsIDExMCwgMjYyLCAxMTEsIDI2MiwgCisgICAgMTEyLCAyNjIsIDExMywgMjYyLCAxMTQsIDI2MiwgMTE1LCAyNjIsIDExNiwgMjYyLCAxMTcsIDI2MiwgMTE4LCAyNjIsIAorICAgIDExOSwgMjYyLCAxMjAsIDI2MiwgMTIxLCAyNjIsIDEyMiwgMjYyLCA2NSwgMjYyLCA2NiwgMjYyLCA2OCwgMjYyLCA2OSwgCisgICAgMjYyLCA3MCwgMjYyLCA3MSwgMjYyLCA3MywgMjYyLCA3NCwgMjYyLCA3NSwgMjYyLCA3NiwgMjYyLCA3NywgMjYyLCA3OSwgCisgICAgMjYyLCA4MywgMjYyLCA4NCwgMjYyLCA4NSwgMjYyLCA4NiwgMjYyLCA4NywgMjYyLCA4OCwgMjYyLCA4OSwgMjYyLCA5NywgCiAgICAgMjYyLCA5OCwgMjYyLCA5OSwgMjYyLCAxMDAsIDI2MiwgMTAxLCAyNjIsIDEwMiwgMjYyLCAxMDMsIDI2MiwgMTA0LCAyNjIsIAogICAgIDEwNSwgMjYyLCAxMDYsIDI2MiwgMTA3LCAyNjIsIDEwOCwgMjYyLCAxMDksIDI2MiwgMTEwLCAyNjIsIDExMSwgMjYyLCAKICAgICAxMTIsIDI2MiwgMTEzLCAyNjIsIDExNCwgMjYyLCAxMTUsIDI2MiwgMTE2LCAyNjIsIDExNywgMjYyLCAxMTgsIDI2MiwgCkBAIC0zNTM2LDMzICszODIyLDE1IEBACiAgICAgMjYyLCA4OSwgMjYyLCA5MCwgMjYyLCA5NywgMjYyLCA5OCwgMjYyLCA5OSwgMjYyLCAxMDAsIDI2MiwgMTAxLCAyNjIsIAogICAgIDEwMiwgMjYyLCAxMDMsIDI2MiwgMTA0LCAyNjIsIDEwNSwgMjYyLCAxMDYsIDI2MiwgMTA3LCAyNjIsIDEwOCwgMjYyLCAKICAgICAxMDksIDI2MiwgMTEwLCAyNjIsIDExMSwgMjYyLCAxMTIsIDI2MiwgMTEzLCAyNjIsIDExNCwgMjYyLCAxMTUsIDI2MiwgCi0gICAgMTE2LCAyNjIsIDExNywgMjYyLCAxMTgsIDI2MiwgMTE5LCAyNjIsIDEyMCwgMjYyLCAxMjEsIDI2MiwgMTIyLCAyNjIsIAotICAgIDMwNSwgMjYyLCA1NjcsIDI2MiwgOTEzLCAyNjIsIDkxNCwgMjYyLCA5MTUsIDI2MiwgOTE2LCAyNjIsIDkxNywgMjYyLCAKLSAgICA5MTgsIDI2MiwgOTE5LCAyNjIsIDkyMCwgMjYyLCA5MjEsIDI2MiwgOTIyLCAyNjIsIDkyMywgMjYyLCA5MjQsIDI2MiwgCi0gICAgOTI1LCAyNjIsIDkyNiwgMjYyLCA5MjcsIDI2MiwgOTI4LCAyNjIsIDkyOSwgMjYyLCAxMDEyLCAyNjIsIDkzMSwgMjYyLCAKLSAgICA5MzIsIDI2MiwgOTMzLCAyNjIsIDkzNCwgMjYyLCA5MzUsIDI2MiwgOTM2LCAyNjIsIDkzNywgMjYyLCA4NzExLCAyNjIsIAotICAgIDk0NSwgMjYyLCA5NDYsIDI2MiwgOTQ3LCAyNjIsIDk0OCwgMjYyLCA5NDksIDI2MiwgOTUwLCAyNjIsIDk1MSwgMjYyLCAKLSAgICA5NTIsIDI2MiwgOTUzLCAyNjIsIDk1NCwgMjYyLCA5NTUsIDI2MiwgOTU2LCAyNjIsIDk1NywgMjYyLCA5NTgsIDI2MiwgCi0gICAgOTU5LCAyNjIsIDk2MCwgMjYyLCA5NjEsIDI2MiwgOTYyLCAyNjIsIDk2MywgMjYyLCA5NjQsIDI2MiwgOTY1LCAyNjIsIAotICAgIDk2NiwgMjYyLCA5NjcsIDI2MiwgOTY4LCAyNjIsIDk2OSwgMjYyLCA4NzA2LCAyNjIsIDEwMTMsIDI2MiwgOTc3LCAyNjIsIAotICAgIDEwMDgsIDI2MiwgOTgxLCAyNjIsIDEwMDksIDI2MiwgOTgyLCAyNjIsIDkxMywgMjYyLCA5MTQsIDI2MiwgOTE1LCAyNjIsIAotICAgIDkxNiwgMjYyLCA5MTcsIDI2MiwgOTE4LCAyNjIsIDkxOSwgMjYyLCA5MjAsIDI2MiwgOTIxLCAyNjIsIDkyMiwgMjYyLCAKLSAgICA5MjMsIDI2MiwgOTI0LCAyNjIsIDkyNSwgMjYyLCA5MjYsIDI2MiwgOTI3LCAyNjIsIDkyOCwgMjYyLCA5MjksIDI2MiwgCi0gICAgMTAxMiwgMjYyLCA5MzEsIDI2MiwgOTMyLCAyNjIsIDkzMywgMjYyLCA5MzQsIDI2MiwgOTM1LCAyNjIsIDkzNiwgMjYyLCAKLSAgICA5MzcsIDI2MiwgODcxMSwgMjYyLCA5NDUsIDI2MiwgOTQ2LCAyNjIsIDk0NywgMjYyLCA5NDgsIDI2MiwgOTQ5LCAyNjIsIAotICAgIDk1MCwgMjYyLCA5NTEsIDI2MiwgOTUyLCAyNjIsIDk1MywgMjYyLCA5NTQsIDI2MiwgOTU1LCAyNjIsIDk1NiwgMjYyLCAKLSAgICA5NTcsIDI2MiwgOTU4LCAyNjIsIDk1OSwgMjYyLCA5NjAsIDI2MiwgOTYxLCAyNjIsIDk2MiwgMjYyLCA5NjMsIDI2MiwgCi0gICAgOTY0LCAyNjIsIDk2NSwgMjYyLCA5NjYsIDI2MiwgOTY3LCAyNjIsIDk2OCwgMjYyLCA5NjksIDI2MiwgODcwNiwgMjYyLCAKLSAgICAxMDEzLCAyNjIsIDk3NywgMjYyLCAxMDA4LCAyNjIsIDk4MSwgMjYyLCAxMDA5LCAyNjIsIDk4MiwgMjYyLCA5MTMsIDI2MiwgCi0gICAgOTE0LCAyNjIsIDkxNSwgMjYyLCA5MTYsIDI2MiwgOTE3LCAyNjIsIDkxOCwgMjYyLCA5MTksIDI2MiwgOTIwLCAyNjIsIAotICAgIDkyMSwgMjYyLCA5MjIsIDI2MiwgOTIzLCAyNjIsIDkyNCwgMjYyLCA5MjUsIDI2MiwgOTI2LCAyNjIsIDkyNywgMjYyLCAKLSAgICA5MjgsIDI2MiwgOTI5LCAyNjIsIDEwMTIsIDI2MiwgOTMxLCAyNjIsIDkzMiwgMjYyLCA5MzMsIDI2MiwgOTM0LCAyNjIsIAotICAgIDkzNSwgMjYyLCA5MzYsIDI2MiwgOTM3LCAyNjIsIDg3MTEsIDI2MiwgOTQ1LCAyNjIsIDk0NiwgMjYyLCA5NDcsIDI2MiwgCi0gICAgOTQ4LCAyNjIsIDk0OSwgMjYyLCA5NTAsIDI2MiwgOTUxLCAyNjIsIDk1MiwgMjYyLCA5NTMsIDI2MiwgOTU0LCAyNjIsIAotICAgIDk1NSwgMjYyLCA5NTYsIDI2MiwgOTU3LCAyNjIsIDk1OCwgMjYyLCA5NTksIDI2MiwgOTYwLCAyNjIsIDk2MSwgMjYyLCAKLSAgICA5NjIsIDI2MiwgOTYzLCAyNjIsIDk2NCwgMjYyLCA5NjUsIDI2MiwgOTY2LCAyNjIsIDk2NywgMjYyLCA5NjgsIDI2MiwgCi0gICAgOTY5LCAyNjIsIDg3MDYsIDI2MiwgMTAxMywgMjYyLCA5NzcsIDI2MiwgMTAwOCwgMjYyLCA5ODEsIDI2MiwgMTAwOSwgMjYyLCAKLSAgICA5ODIsIDI2MiwgOTEzLCAyNjIsIDkxNCwgMjYyLCA5MTUsIDI2MiwgOTE2LCAyNjIsIDkxNywgMjYyLCA5MTgsIDI2MiwgCisgICAgMTE2LCAyNjIsIDExNywgMjYyLCAxMTgsIDI2MiwgMTE5LCAyNjIsIDEyMCwgMjYyLCAxMjEsIDI2MiwgMTIyLCAyNjIsIDY1LCAKKyAgICAyNjIsIDY2LCAyNjIsIDY3LCAyNjIsIDY4LCAyNjIsIDY5LCAyNjIsIDcwLCAyNjIsIDcxLCAyNjIsIDcyLCAyNjIsIDczLCAKKyAgICAyNjIsIDc0LCAyNjIsIDc1LCAyNjIsIDc2LCAyNjIsIDc3LCAyNjIsIDc4LCAyNjIsIDc5LCAyNjIsIDgwLCAyNjIsIDgxLCAKKyAgICAyNjIsIDgyLCAyNjIsIDgzLCAyNjIsIDg0LCAyNjIsIDg1LCAyNjIsIDg2LCAyNjIsIDg3LCAyNjIsIDg4LCAyNjIsIDg5LCAKKyAgICAyNjIsIDkwLCAyNjIsIDk3LCAyNjIsIDk4LCAyNjIsIDk5LCAyNjIsIDEwMCwgMjYyLCAxMDEsIDI2MiwgMTAyLCAyNjIsIAorICAgIDEwMywgMjYyLCAxMDQsIDI2MiwgMTA1LCAyNjIsIDEwNiwgMjYyLCAxMDcsIDI2MiwgMTA4LCAyNjIsIDEwOSwgMjYyLCAKKyAgICAxMTAsIDI2MiwgMTExLCAyNjIsIDExMiwgMjYyLCAxMTMsIDI2MiwgMTE0LCAyNjIsIDExNSwgMjYyLCAxMTYsIDI2MiwgCisgICAgMTE3LCAyNjIsIDExOCwgMjYyLCAxMTksIDI2MiwgMTIwLCAyNjIsIDEyMSwgMjYyLCAxMjIsIDI2MiwgMzA1LCAyNjIsIAorICAgIDU2NywgMjYyLCA5MTMsIDI2MiwgOTE0LCAyNjIsIDkxNSwgMjYyLCA5MTYsIDI2MiwgOTE3LCAyNjIsIDkxOCwgMjYyLCAKICAgICA5MTksIDI2MiwgOTIwLCAyNjIsIDkyMSwgMjYyLCA5MjIsIDI2MiwgOTIzLCAyNjIsIDkyNCwgMjYyLCA5MjUsIDI2MiwgCiAgICAgOTI2LCAyNjIsIDkyNywgMjYyLCA5MjgsIDI2MiwgOTI5LCAyNjIsIDEwMTIsIDI2MiwgOTMxLCAyNjIsIDkzMiwgMjYyLCAKICAgICA5MzMsIDI2MiwgOTM0LCAyNjIsIDkzNSwgMjYyLCA5MzYsIDI2MiwgOTM3LCAyNjIsIDg3MTEsIDI2MiwgOTQ1LCAyNjIsIApAQCAtMzU3OCwzMzkgKzM4NDYsNTQ2IEBACiAgICAgOTUxLCAyNjIsIDk1MiwgMjYyLCA5NTMsIDI2MiwgOTU0LCAyNjIsIDk1NSwgMjYyLCA5NTYsIDI2MiwgOTU3LCAyNjIsIAogICAgIDk1OCwgMjYyLCA5NTksIDI2MiwgOTYwLCAyNjIsIDk2MSwgMjYyLCA5NjIsIDI2MiwgOTYzLCAyNjIsIDk2NCwgMjYyLCAKICAgICA5NjUsIDI2MiwgOTY2LCAyNjIsIDk2NywgMjYyLCA5NjgsIDI2MiwgOTY5LCAyNjIsIDg3MDYsIDI2MiwgMTAxMywgMjYyLCAKLSAgICA5NzcsIDI2MiwgMTAwOCwgMjYyLCA5ODEsIDI2MiwgMTAwOSwgMjYyLCA5ODIsIDI2MiwgOTg4LCAyNjIsIDk4OSwgMjYyLCAKLSAgICA0OCwgMjYyLCA0OSwgMjYyLCA1MCwgMjYyLCA1MSwgMjYyLCA1MiwgMjYyLCA1MywgMjYyLCA1NCwgMjYyLCA1NSwgMjYyLCAKLSAgICA1NiwgMjYyLCA1NywgMjYyLCA0OCwgMjYyLCA0OSwgMjYyLCA1MCwgMjYyLCA1MSwgMjYyLCA1MiwgMjYyLCA1MywgMjYyLCAKLSAgICA1NCwgMjYyLCA1NSwgMjYyLCA1NiwgMjYyLCA1NywgMjYyLCA0OCwgMjYyLCA0OSwgMjYyLCA1MCwgMjYyLCA1MSwgMjYyLCAKLSAgICA1MiwgMjYyLCA1MywgMjYyLCA1NCwgMjYyLCA1NSwgMjYyLCA1NiwgMjYyLCA1NywgMjYyLCA0OCwgMjYyLCA0OSwgMjYyLCAKLSAgICA1MCwgMjYyLCA1MSwgMjYyLCA1MiwgMjYyLCA1MywgMjYyLCA1NCwgMjYyLCA1NSwgMjYyLCA1NiwgMjYyLCA1NywgMjYyLCAKLSAgICA0OCwgMjYyLCA0OSwgMjYyLCA1MCwgMjYyLCA1MSwgMjYyLCA1MiwgMjYyLCA1MywgMjYyLCA1NCwgMjYyLCA1NSwgMjYyLCAKLSAgICA1NiwgMjYyLCA1NywgMjYyLCAxNTc1LCAyNjIsIDE1NzYsIDI2MiwgMTU4MCwgMjYyLCAxNTgzLCAyNjIsIDE2MDgsIDI2MiwgCi0gICAgMTU4NiwgMjYyLCAxNTgxLCAyNjIsIDE1OTEsIDI2MiwgMTYxMCwgMjYyLCAxNjAzLCAyNjIsIDE2MDQsIDI2MiwgMTYwNSwgCi0gICAgMjYyLCAxNjA2LCAyNjIsIDE1ODcsIDI2MiwgMTU5MywgMjYyLCAxNjAxLCAyNjIsIDE1ODksIDI2MiwgMTYwMiwgMjYyLCAKLSAgICAxNTg1LCAyNjIsIDE1ODgsIDI2MiwgMTU3OCwgMjYyLCAxNTc5LCAyNjIsIDE1ODIsIDI2MiwgMTU4NCwgMjYyLCAxNTkwLCAKLSAgICAyNjIsIDE1OTIsIDI2MiwgMTU5NCwgMjYyLCAxNjQ2LCAyNjIsIDE3MjIsIDI2MiwgMTY5NywgMjYyLCAxNjQ3LCAyNjIsIAotICAgIDE1NzYsIDI2MiwgMTU4MCwgMjYyLCAxNjA3LCAyNjIsIDE1ODEsIDI2MiwgMTYxMCwgMjYyLCAxNjAzLCAyNjIsIDE2MDQsIAotICAgIDI2MiwgMTYwNSwgMjYyLCAxNjA2LCAyNjIsIDE1ODcsIDI2MiwgMTU5MywgMjYyLCAxNjAxLCAyNjIsIDE1ODksIDI2MiwgCi0gICAgMTYwMiwgMjYyLCAxNTg4LCAyNjIsIDE1NzgsIDI2MiwgMTU3OSwgMjYyLCAxNTgyLCAyNjIsIDE1OTAsIDI2MiwgMTU5NCwgCi0gICAgMjYyLCAxNTgwLCAyNjIsIDE1ODEsIDI2MiwgMTYxMCwgMjYyLCAxNjA0LCAyNjIsIDE2MDYsIDI2MiwgMTU4NywgMjYyLCAKLSAgICAxNTkzLCAyNjIsIDE1ODksIDI2MiwgMTYwMiwgMjYyLCAxNTg4LCAyNjIsIDE1ODIsIDI2MiwgMTU5MCwgMjYyLCAxNTk0LCAKLSAgICAyNjIsIDE3MjIsIDI2MiwgMTY0NywgMjYyLCAxNTc2LCAyNjIsIDE1ODAsIDI2MiwgMTYwNywgMjYyLCAxNTgxLCAyNjIsIAotICAgIDE1OTEsIDI2MiwgMTYxMCwgMjYyLCAxNjAzLCAyNjIsIDE2MDUsIDI2MiwgMTYwNiwgMjYyLCAxNTg3LCAyNjIsIDE1OTMsIAotICAgIDI2MiwgMTYwMSwgMjYyLCAxNTg5LCAyNjIsIDE2MDIsIDI2MiwgMTU4OCwgMjYyLCAxNTc4LCAyNjIsIDE1NzksIDI2MiwgCi0gICAgMTU4MiwgMjYyLCAxNTkwLCAyNjIsIDE1OTIsIDI2MiwgMTU5NCwgMjYyLCAxNjQ2LCAyNjIsIDE2OTcsIDI2MiwgMTU3NSwgCi0gICAgMjYyLCAxNTc2LCAyNjIsIDE1ODAsIDI2MiwgMTU4MywgMjYyLCAxNjA3LCAyNjIsIDE2MDgsIDI2MiwgMTU4NiwgMjYyLCAKLSAgICAxNTgxLCAyNjIsIDE1OTEsIDI2MiwgMTYxMCwgMjYyLCAxNjA0LCAyNjIsIDE2MDUsIDI2MiwgMTYwNiwgMjYyLCAxNTg3LCAKLSAgICAyNjIsIDE1OTMsIDI2MiwgMTYwMSwgMjYyLCAxNTg5LCAyNjIsIDE2MDIsIDI2MiwgMTU4NSwgMjYyLCAxNTg4LCAyNjIsIAotICAgIDE1NzgsIDI2MiwgMTU3OSwgMjYyLCAxNTgyLCAyNjIsIDE1ODQsIDI2MiwgMTU5MCwgMjYyLCAxNTkyLCAyNjIsIDE1OTQsIAotICAgIDI2MiwgMTU3NiwgMjYyLCAxNTgwLCAyNjIsIDE1ODMsIDI2MiwgMTYwOCwgMjYyLCAxNTg2LCAyNjIsIDE1ODEsIDI2MiwgCi0gICAgMTU5MSwgMjYyLCAxNjEwLCAyNjIsIDE2MDQsIDI2MiwgMTYwNSwgMjYyLCAxNjA2LCAyNjIsIDE1ODcsIDI2MiwgMTU5MywgCi0gICAgMjYyLCAxNjAxLCAyNjIsIDE1ODksIDI2MiwgMTYwMiwgMjYyLCAxNTg1LCAyNjIsIDE1ODgsIDI2MiwgMTU3OCwgMjYyLCAKLSAgICAxNTc5LCAyNjIsIDE1ODIsIDI2MiwgMTU4NCwgMjYyLCAxNTkwLCAyNjIsIDE1OTIsIDI2MiwgMTU5NCwgNTE0LCA0OCwgNDYsIAotICAgIDUxNCwgNDgsIDQ0LCA1MTQsIDQ5LCA0NCwgNTE0LCA1MCwgNDQsIDUxNCwgNTEsIDQ0LCA1MTQsIDUyLCA0NCwgNTE0LCA1MywgCi0gICAgNDQsIDUxNCwgNTQsIDQ0LCA1MTQsIDU1LCA0NCwgNTE0LCA1NiwgNDQsIDUxNCwgNTcsIDQ0LCA3NzAsIDQwLCA2NSwgNDEsIAotICAgIDc3MCwgNDAsIDY2LCA0MSwgNzcwLCA0MCwgNjcsIDQxLCA3NzAsIDQwLCA2OCwgNDEsIDc3MCwgNDAsIDY5LCA0MSwgNzcwLCAKLSAgICA0MCwgNzAsIDQxLCA3NzAsIDQwLCA3MSwgNDEsIDc3MCwgNDAsIDcyLCA0MSwgNzcwLCA0MCwgNzMsIDQxLCA3NzAsIDQwLCAKLSAgICA3NCwgNDEsIDc3MCwgNDAsIDc1LCA0MSwgNzcwLCA0MCwgNzYsIDQxLCA3NzAsIDQwLCA3NywgNDEsIDc3MCwgNDAsIDc4LCAKLSAgICA0MSwgNzcwLCA0MCwgNzksIDQxLCA3NzAsIDQwLCA4MCwgNDEsIDc3MCwgNDAsIDgxLCA0MSwgNzcwLCA0MCwgODIsIDQxLCAKLSAgICA3NzAsIDQwLCA4MywgNDEsIDc3MCwgNDAsIDg0LCA0MSwgNzcwLCA0MCwgODUsIDQxLCA3NzAsIDQwLCA4NiwgNDEsIDc3MCwgCi0gICAgNDAsIDg3LCA0MSwgNzcwLCA0MCwgODgsIDQxLCA3NzAsIDQwLCA4OSwgNDEsIDc3MCwgNDAsIDkwLCA0MSwgNzcwLCAKLSAgICAxMjMwOCwgODMsIDEyMzA5LCAyNjMsIDY3LCAyNjMsIDgyLCA1MTksIDY3LCA2OCwgNTE5LCA4NywgOTAsIDI2NiwgNjUsIAotICAgIDI2NiwgNjYsIDI2NiwgNjcsIDI2NiwgNjgsIDI2NiwgNjksIDI2NiwgNzAsIDI2NiwgNzEsIDI2NiwgNzIsIDI2NiwgNzMsIAotICAgIDI2NiwgNzQsIDI2NiwgNzUsIDI2NiwgNzYsIDI2NiwgNzcsIDI2NiwgNzgsIDI2NiwgNzksIDI2NiwgODAsIDI2NiwgODEsIAotICAgIDI2NiwgODIsIDI2NiwgODMsIDI2NiwgODQsIDI2NiwgODUsIDI2NiwgODYsIDI2NiwgODcsIDI2NiwgODgsIDI2NiwgODksIAotICAgIDI2NiwgOTAsIDUyMiwgNzIsIDg2LCA1MjIsIDc3LCA4NiwgNTIyLCA4MywgNjgsIDUyMiwgODMsIDgzLCA3NzgsIDgwLCA4MCwgCi0gICAgODYsIDUyMiwgODcsIDY3LCA1MTUsIDc3LCA2NywgNTE1LCA3NywgNjgsIDUyMiwgNjgsIDc0LCA1MjIsIDEyNDExLCAKLSAgICAxMjM2MywgNTIyLCAxMjQ2NywgMTI0NjcsIDI2NiwgMTI0NjksIDI2NiwgMjUxNjMsIDI2NiwgMjMzODMsIDI2NiwgMjE0NTIsIAotICAgIDI2NiwgMTI0ODcsIDI2NiwgMjAxMDgsIDI2NiwgMjI4MTAsIDI2NiwgMzUyOTksIDI2NiwgMjI4MjUsIDI2NiwgMjAxMzIsIAotICAgIDI2NiwgMjYxNDQsIDI2NiwgMjg5NjEsIDI2NiwgMjYwMDksIDI2NiwgMjEwNjksIDI2NiwgMjQ0NjAsIDI2NiwgMjA4NzcsIAotICAgIDI2NiwgMjYwMzIsIDI2NiwgMjEwMjEsIDI2NiwgMzIwNjYsIDI2NiwgMjk5ODMsIDI2NiwgMzYwMDksIDI2NiwgMjI3NjgsIAotICAgIDI2NiwgMjE1NjEsIDI2NiwgMjg0MzYsIDI2NiwgMjUyMzcsIDI2NiwgMjU0MjksIDI2NiwgMTk5NjgsIDI2NiwgMTk5NzcsIAotICAgIDI2NiwgMzY5MzgsIDI2NiwgMjQwMzgsIDI2NiwgMjAwMTMsIDI2NiwgMjE0OTEsIDI2NiwgMjUzNTEsIDI2NiwgMzYyMDgsIAotICAgIDI2NiwgMjUxNzEsIDI2NiwgMzExMDUsIDI2NiwgMzEzNTQsIDI2NiwgMjE1MTIsIDI2NiwgMjgyODgsIDI2NiwgMjYzNzcsIAotICAgIDI2NiwgMjYzNzYsIDI2NiwgMzAwMDMsIDI2NiwgMjExMDYsIDI2NiwgMjE5NDIsIDc3MCwgMTIzMDgsIDI2NDEyLCAxMjMwOSwgCi0gICAgNzcwLCAxMjMwOCwgMTk5NzcsIDEyMzA5LCA3NzAsIDEyMzA4LCAyMDEwOCwgMTIzMDksIDc3MCwgMTIzMDgsIDIzNDMzLCAKLSAgICAxMjMwOSwgNzcwLCAxMjMwOCwgMjg4NTcsIDEyMzA5LCA3NzAsIDEyMzA4LCAyNTE3MSwgMTIzMDksIDc3MCwgMTIzMDgsIAotICAgIDMwNDIzLCAxMjMwOSwgNzcwLCAxMjMwOCwgMjEyMTMsIDEyMzA5LCA3NzAsIDEyMzA4LCAyNTk0MywgMTIzMDksIDI2MywgCi0gICAgMjQ0NzEsIDI2MywgMjE0ODcsIDI1NiwgMjAwMjksIDI1NiwgMjAwMjQsIDI1NiwgMjAwMzMsIDI1NiwgMTMxMzYyLCAyNTYsIAotICAgIDIwMzIwLCAyNTYsIDIwMzk4LCAyNTYsIDIwNDExLCAyNTYsIDIwNDgyLCAyNTYsIDIwNjAyLCAyNTYsIDIwNjMzLCAyNTYsIAotICAgIDIwNzExLCAyNTYsIDIwNjg3LCAyNTYsIDEzNDcwLCAyNTYsIDEzMjY2NiwgMjU2LCAyMDgxMywgMjU2LCAyMDgyMCwgMjU2LCAKLSAgICAyMDgzNiwgMjU2LCAyMDg1NSwgMjU2LCAxMzIzODAsIDI1NiwgMTM0OTcsIDI1NiwgMjA4MzksIDI1NiwgMjA4NzcsIDI1NiwgCi0gICAgMTMyNDI3LCAyNTYsIDIwODg3LCAyNTYsIDIwOTAwLCAyNTYsIDIwMTcyLCAyNTYsIDIwOTA4LCAyNTYsIDIwOTE3LCAyNTYsIAotICAgIDE2ODQxNSwgMjU2LCAyMDk4MSwgMjU2LCAyMDk5NSwgMjU2LCAxMzUzNSwgMjU2LCAyMTA1MSwgMjU2LCAyMTA2MiwgMjU2LCAKLSAgICAyMTEwNiwgMjU2LCAyMTExMSwgMjU2LCAxMzU4OSwgMjU2LCAyMTE5MSwgMjU2LCAyMTE5MywgMjU2LCAyMTIyMCwgMjU2LCAKLSAgICAyMTI0MiwgMjU2LCAyMTI1MywgMjU2LCAyMTI1NCwgMjU2LCAyMTI3MSwgMjU2LCAyMTMyMSwgMjU2LCAyMTMyOSwgMjU2LCAKLSAgICAyMTMzOCwgMjU2LCAyMTM2MywgMjU2LCAyMTM3MywgMjU2LCAyMTM3NSwgMjU2LCAyMTM3NSwgMjU2LCAyMTM3NSwgMjU2LCAKLSAgICAxMzM2NzYsIDI1NiwgMjg3ODQsIDI1NiwgMjE0NTAsIDI1NiwgMjE0NzEsIDI1NiwgMTMzOTg3LCAyNTYsIDIxNDgzLCAyNTYsIAotICAgIDIxNDg5LCAyNTYsIDIxNTEwLCAyNTYsIDIxNjYyLCAyNTYsIDIxNTYwLCAyNTYsIDIxNTc2LCAyNTYsIDIxNjA4LCAyNTYsIAotICAgIDIxNjY2LCAyNTYsIDIxNzUwLCAyNTYsIDIxNzc2LCAyNTYsIDIxODQzLCAyNTYsIDIxODU5LCAyNTYsIDIxODkyLCAyNTYsIAotICAgIDIxODkyLCAyNTYsIDIxOTEzLCAyNTYsIDIxOTMxLCAyNTYsIDIxOTM5LCAyNTYsIDIxOTU0LCAyNTYsIDIyMjk0LCAyNTYsIAotICAgIDIyMDIyLCAyNTYsIDIyMjk1LCAyNTYsIDIyMDk3LCAyNTYsIDIyMTMyLCAyNTYsIDIwOTk5LCAyNTYsIDIyNzY2LCAyNTYsIAotICAgIDIyNDc4LCAyNTYsIDIyNTE2LCAyNTYsIDIyNTQxLCAyNTYsIDIyNDExLCAyNTYsIDIyNTc4LCAyNTYsIDIyNTc3LCAyNTYsIAotICAgIDIyNzAwLCAyNTYsIDEzNjQyMCwgMjU2LCAyMjc3MCwgMjU2LCAyMjc3NSwgMjU2LCAyMjc5MCwgMjU2LCAyMjgxMCwgMjU2LCAKLSAgICAyMjgxOCwgMjU2LCAyMjg4MiwgMjU2LCAxMzY4NzIsIDI1NiwgMTM2OTM4LCAyNTYsIDIzMDIwLCAyNTYsIDIzMDY3LCAyNTYsIAotICAgIDIzMDc5LCAyNTYsIDIzMDAwLCAyNTYsIDIzMTQyLCAyNTYsIDE0MDYyLCAyNTYsIDE0MDc2LCAyNTYsIDIzMzA0LCAyNTYsIAotICAgIDIzMzU4LCAyNTYsIDIzMzU4LCAyNTYsIDEzNzY3MiwgMjU2LCAyMzQ5MSwgMjU2LCAyMzUxMiwgMjU2LCAyMzUyNywgMjU2LCAKLSAgICAyMzUzOSwgMjU2LCAxMzgwMDgsIDI1NiwgMjM1NTEsIDI1NiwgMjM1NTgsIDI1NiwgMjQ0MDMsIDI1NiwgMjM1ODYsIDI1NiwgCi0gICAgMTQyMDksIDI1NiwgMjM2NDgsIDI1NiwgMjM2NjIsIDI1NiwgMjM3NDQsIDI1NiwgMjM2OTMsIDI1NiwgMTM4NzI0LCAyNTYsIAotICAgIDIzODc1LCAyNTYsIDEzODcyNiwgMjU2LCAyMzkxOCwgMjU2LCAyMzkxNSwgMjU2LCAyMzkzMiwgMjU2LCAyNDAzMywgMjU2LCAKLSAgICAyNDAzNCwgMjU2LCAxNDM4MywgMjU2LCAyNDA2MSwgMjU2LCAyNDEwNCwgMjU2LCAyNDEyNSwgMjU2LCAyNDE2OSwgMjU2LCAKLSAgICAxNDQzNCwgMjU2LCAxMzk2NTEsIDI1NiwgMTQ0NjAsIDI1NiwgMjQyNDAsIDI1NiwgMjQyNDMsIDI1NiwgMjQyNDYsIDI1NiwgCi0gICAgMjQyNjYsIDI1NiwgMTcyOTQ2LCAyNTYsIDI0MzE4LCAyNTYsIDE0MDA4MSwgMjU2LCAxNDAwODEsIDI1NiwgMzMyODEsIAotICAgIDI1NiwgMjQzNTQsIDI1NiwgMjQzNTQsIDI1NiwgMTQ1MzUsIDI1NiwgMTQ0MDU2LCAyNTYsIDE1NjEyMiwgMjU2LCAyNDQxOCwgCi0gICAgMjU2LCAyNDQyNywgMjU2LCAxNDU2MywgMjU2LCAyNDQ3NCwgMjU2LCAyNDUyNSwgMjU2LCAyNDUzNSwgMjU2LCAyNDU2OSwgCi0gICAgMjU2LCAyNDcwNSwgMjU2LCAxNDY1MCwgMjU2LCAxNDYyMCwgMjU2LCAyNDcyNCwgMjU2LCAxNDEwMTIsIDI1NiwgMjQ3NzUsIAotICAgIDI1NiwgMjQ5MDQsIDI1NiwgMjQ5MDgsIDI1NiwgMjQ5MTAsIDI1NiwgMjQ5MDgsIDI1NiwgMjQ5NTQsIDI1NiwgMjQ5NzQsIAotICAgIDI1NiwgMjUwMTAsIDI1NiwgMjQ5OTYsIDI1NiwgMjUwMDcsIDI1NiwgMjUwNTQsIDI1NiwgMjUwNzQsIDI1NiwgMjUwNzgsIAotICAgIDI1NiwgMjUxMDQsIDI1NiwgMjUxMTUsIDI1NiwgMjUxODEsIDI1NiwgMjUyNjUsIDI1NiwgMjUzMDAsIDI1NiwgMjU0MjQsIAotICAgIDI1NiwgMTQyMDkyLCAyNTYsIDI1NDA1LCAyNTYsIDI1MzQwLCAyNTYsIDI1NDQ4LCAyNTYsIDI1NDc1LCAyNTYsIDI1NTcyLCAKLSAgICAyNTYsIDE0MjMyMSwgMjU2LCAyNTYzNCwgMjU2LCAyNTU0MSwgMjU2LCAyNTUxMywgMjU2LCAxNDg5NCwgMjU2LCAyNTcwNSwgCi0gICAgMjU2LCAyNTcyNiwgMjU2LCAyNTc1NywgMjU2LCAyNTcxOSwgMjU2LCAxNDk1NiwgMjU2LCAyNTkzNSwgMjU2LCAyNTk2NCwgCi0gICAgMjU2LCAxNDMzNzAsIDI1NiwgMjYwODMsIDI1NiwgMjYzNjAsIDI1NiwgMjYxODUsIDI1NiwgMTUxMjksIDI1NiwgMjYyNTcsIAotICAgIDI1NiwgMTUxMTIsIDI1NiwgMTUwNzYsIDI1NiwgMjA4ODIsIDI1NiwgMjA4ODUsIDI1NiwgMjYzNjgsIDI1NiwgMjYyNjgsIAotICAgIDI1NiwgMzI5NDEsIDI1NiwgMTczNjksIDI1NiwgMjYzOTEsIDI1NiwgMjYzOTUsIDI1NiwgMjY0MDEsIDI1NiwgMjY0NjIsIAotICAgIDI1NiwgMjY0NTEsIDI1NiwgMTQ0MzIzLCAyNTYsIDE1MTc3LCAyNTYsIDI2NjE4LCAyNTYsIDI2NTAxLCAyNTYsIDI2NzA2LCAKLSAgICAyNTYsIDI2NzU3LCAyNTYsIDE0NDQ5MywgMjU2LCAyNjc2NiwgMjU2LCAyNjY1NSwgMjU2LCAyNjkwMCwgMjU2LCAxNTI2MSwgCi0gICAgMjU2LCAyNjk0NiwgMjU2LCAyNzA0MywgMjU2LCAyNzExNCwgMjU2LCAyNzMwNCwgMjU2LCAxNDUwNTksIDI1NiwgMjczNTUsIAotICAgIDI1NiwgMTUzODQsIDI1NiwgMjc0MjUsIDI1NiwgMTQ1NTc1LCAyNTYsIDI3NDc2LCAyNTYsIDE1NDM4LCAyNTYsIDI3NTA2LCAKLSAgICAyNTYsIDI3NTUxLCAyNTYsIDI3NTc4LCAyNTYsIDI3NTc5LCAyNTYsIDE0NjA2MSwgMjU2LCAxMzg1MDcsIDI1NiwgCi0gICAgMTQ2MTcwLCAyNTYsIDI3NzI2LCAyNTYsIDE0NjYyMCwgMjU2LCAyNzgzOSwgMjU2LCAyNzg1MywgMjU2LCAyNzc1MSwgMjU2LCAKLSAgICAyNzkyNiwgMjU2LCAyNzk2NiwgMjU2LCAyODAyMywgMjU2LCAyNzk2OSwgMjU2LCAyODAwOSwgMjU2LCAyODAyNCwgMjU2LCAKLSAgICAyODAzNywgMjU2LCAxNDY3MTgsIDI1NiwgMjc5NTYsIDI1NiwgMjgyMDcsIDI1NiwgMjgyNzAsIDI1NiwgMTU2NjcsIDI1NiwgCi0gICAgMjgzNjMsIDI1NiwgMjgzNTksIDI1NiwgMTQ3MTUzLCAyNTYsIDI4MTUzLCAyNTYsIDI4NTI2LCAyNTYsIDE0NzI5NCwgMjU2LCAKLSAgICAxNDczNDIsIDI1NiwgMjg2MTQsIDI1NiwgMjg3MjksIDI1NiwgMjg3MDIsIDI1NiwgMjg2OTksIDI1NiwgMTU3NjYsIDI1NiwgCi0gICAgMjg3NDYsIDI1NiwgMjg3OTcsIDI1NiwgMjg3OTEsIDI1NiwgMjg4NDUsIDI1NiwgMTMyMzg5LCAyNTYsIDI4OTk3LCAyNTYsIAotICAgIDE0ODA2NywgMjU2LCAyOTA4NCwgMjU2LCAxNDgzOTUsIDI1NiwgMjkyMjQsIDI1NiwgMjkyMzcsIDI1NiwgMjkyNjQsIDI1NiwgCi0gICAgMTQ5MDAwLCAyNTYsIDI5MzEyLCAyNTYsIDI5MzMzLCAyNTYsIDE0OTMwMSwgMjU2LCAxNDk1MjQsIDI1NiwgMjk1NjIsIAotICAgIDI1NiwgMjk1NzksIDI1NiwgMTYwNDQsIDI1NiwgMjk2MDUsIDI1NiwgMTYwNTYsIDI1NiwgMTYwNTYsIDI1NiwgMjk3NjcsIAotICAgIDI1NiwgMjk3ODgsIDI1NiwgMjk4MDksIDI1NiwgMjk4MjksIDI1NiwgMjk4OTgsIDI1NiwgMTYxNTUsIDI1NiwgMjk5ODgsIAotICAgIDI1NiwgMTUwNTgyLCAyNTYsIDMwMDE0LCAyNTYsIDE1MDY3NCwgMjU2LCAzMDA2NCwgMjU2LCAxMzk2NzksIDI1NiwgCi0gICAgMzAyMjQsIDI1NiwgMTUxNDU3LCAyNTYsIDE1MTQ4MCwgMjU2LCAxNTE2MjAsIDI1NiwgMTYzODAsIDI1NiwgMTYzOTIsIAotICAgIDI1NiwgMzA0NTIsIDI1NiwgMTUxNzk1LCAyNTYsIDE1MTc5NCwgMjU2LCAxNTE4MzMsIDI1NiwgMTUxODU5LCAyNTYsIAotICAgIDMwNDk0LCAyNTYsIDMwNDk1LCAyNTYsIDMwNDk1LCAyNTYsIDMwNTM4LCAyNTYsIDE2NDQxLCAyNTYsIDMwNjAzLCAyNTYsIAotICAgIDE2NDU0LCAyNTYsIDE2NTM0LCAyNTYsIDE1MjYwNSwgMjU2LCAzMDc5OCwgMjU2LCAzMDg2MCwgMjU2LCAzMDkyNCwgMjU2LCAKLSAgICAxNjYxMSwgMjU2LCAxNTMxMjYsIDI1NiwgMzEwNjIsIDI1NiwgMTUzMjQyLCAyNTYsIDE1MzI4NSwgMjU2LCAzMTExOSwgCi0gICAgMjU2LCAzMTIxMSwgMjU2LCAxNjY4NywgMjU2LCAzMTI5NiwgMjU2LCAzMTMwNiwgMjU2LCAzMTMxMSwgMjU2LCAxNTM5ODAsIAotICAgIDI1NiwgMTU0Mjc5LCAyNTYsIDE1NDI3OSwgMjU2LCAzMTQ3MCwgMjU2LCAxNjg5OCwgMjU2LCAxNTQ1MzksIDI1NiwgCi0gICAgMzE2ODYsIDI1NiwgMzE2ODksIDI1NiwgMTY5MzUsIDI1NiwgMTU0NzUyLCAyNTYsIDMxOTU0LCAyNTYsIDE3MDU2LCAyNTYsIAotICAgIDMxOTc2LCAyNTYsIDMxOTcxLCAyNTYsIDMyMDAwLCAyNTYsIDE1NTUyNiwgMjU2LCAzMjA5OSwgMjU2LCAxNzE1MywgMjU2LCAKLSAgICAzMjE5OSwgMjU2LCAzMjI1OCwgMjU2LCAzMjMyNSwgMjU2LCAxNzIwNCwgMjU2LCAxNTYyMDAsIDI1NiwgMTU2MjMxLCAyNTYsIAotICAgIDE3MjQxLCAyNTYsIDE1NjM3NywgMjU2LCAzMjYzNCwgMjU2LCAxNTY0NzgsIDI1NiwgMzI2NjEsIDI1NiwgMzI3NjIsIDI1NiwgCi0gICAgMzI3NzMsIDI1NiwgMTU2ODkwLCAyNTYsIDE1Njk2MywgMjU2LCAzMjg2NCwgMjU2LCAxNTcwOTYsIDI1NiwgMzI4ODAsIAotICAgIDI1NiwgMTQ0MjIzLCAyNTYsIDE3MzY1LCAyNTYsIDMyOTQ2LCAyNTYsIDMzMDI3LCAyNTYsIDE3NDE5LCAyNTYsIDMzMDg2LCAKLSAgICAyNTYsIDIzMjIxLCAyNTYsIDE1NzYwNywgMjU2LCAxNTc2MjEsIDI1NiwgMTQ0Mjc1LCAyNTYsIDE0NDI4NCwgMjU2LCAKLSAgICAzMzI4MSwgMjU2LCAzMzI4NCwgMjU2LCAzNjc2NiwgMjU2LCAxNzUxNSwgMjU2LCAzMzQyNSwgMjU2LCAzMzQxOSwgMjU2LCAKLSAgICAzMzQzNywgMjU2LCAyMTE3MSwgMjU2LCAzMzQ1NywgMjU2LCAzMzQ1OSwgMjU2LCAzMzQ2OSwgMjU2LCAzMzUxMCwgMjU2LCAKLSAgICAxNTg1MjQsIDI1NiwgMzM1MDksIDI1NiwgMzM1NjUsIDI1NiwgMzM2MzUsIDI1NiwgMzM3MDksIDI1NiwgMzM1NzEsIDI1NiwgCi0gICAgMzM3MjUsIDI1NiwgMzM3NjcsIDI1NiwgMzM4NzksIDI1NiwgMzM2MTksIDI1NiwgMzM3MzgsIDI1NiwgMzM3NDAsIDI1NiwgCi0gICAgMzM3NTYsIDI1NiwgMTU4Nzc0LCAyNTYsIDE1OTA4MywgMjU2LCAxNTg5MzMsIDI1NiwgMTc3MDcsIDI1NiwgMzQwMzMsIAotICAgIDI1NiwgMzQwMzUsIDI1NiwgMzQwNzAsIDI1NiwgMTYwNzE0LCAyNTYsIDM0MTQ4LCAyNTYsIDE1OTUzMiwgMjU2LCAxNzc1NywgCi0gICAgMjU2LCAxNzc2MSwgMjU2LCAxNTk2NjUsIDI1NiwgMTU5OTU0LCAyNTYsIDE3NzcxLCAyNTYsIDM0Mzg0LCAyNTYsIDM0Mzk2LCAKLSAgICAyNTYsIDM0NDA3LCAyNTYsIDM0NDA5LCAyNTYsIDM0NDczLCAyNTYsIDM0NDQwLCAyNTYsIDM0NTc0LCAyNTYsIDM0NTMwLCAKLSAgICAyNTYsIDM0NjgxLCAyNTYsIDM0NjAwLCAyNTYsIDM0NjY3LCAyNTYsIDM0Njk0LCAyNTYsIDE3ODc5LCAyNTYsIDM0Nzg1LCAKLSAgICAyNTYsIDM0ODE3LCAyNTYsIDE3OTEzLCAyNTYsIDM0OTEyLCAyNTYsIDM0OTE1LCAyNTYsIDE2MTM4MywgMjU2LCAzNTAzMSwgCi0gICAgMjU2LCAzNTAzOCwgMjU2LCAxNzk3MywgMjU2LCAzNTA2NiwgMjU2LCAxMzQ5OSwgMjU2LCAxNjE5NjYsIDI1NiwgMTYyMTUwLCAKLSAgICAyNTYsIDE4MTEwLCAyNTYsIDE4MTE5LCAyNTYsIDM1NDg4LCAyNTYsIDM1NTY1LCAyNTYsIDM1NzIyLCAyNTYsIDM1OTI1LCAKLSAgICAyNTYsIDE2Mjk4NCwgMjU2LCAzNjAxMSwgMjU2LCAzNjAzMywgMjU2LCAzNjEyMywgMjU2LCAzNjIxNSwgMjU2LCAxNjM2MzEsIAotICAgIDI1NiwgMTMzMTI0LCAyNTYsIDM2Mjk5LCAyNTYsIDM2Mjg0LCAyNTYsIDM2MzM2LCAyNTYsIDEzMzM0MiwgMjU2LCAzNjU2NCwgCi0gICAgMjU2LCAzNjY2NCwgMjU2LCAxNjUzMzAsIDI1NiwgMTY1MzU3LCAyNTYsIDM3MDEyLCAyNTYsIDM3MTA1LCAyNTYsIDM3MTM3LCAKLSAgICAyNTYsIDE2NTY3OCwgMjU2LCAzNzE0NywgMjU2LCAzNzQzMiwgMjU2LCAzNzU5MSwgMjU2LCAzNzU5MiwgMjU2LCAzNzUwMCwgCi0gICAgMjU2LCAzNzg4MSwgMjU2LCAzNzkwOSwgMjU2LCAxNjY5MDYsIDI1NiwgMzgyODMsIDI1NiwgMTg4MzcsIDI1NiwgMzgzMjcsIAotICAgIDI1NiwgMTY3Mjg3LCAyNTYsIDE4OTE4LCAyNTYsIDM4NTk1LCAyNTYsIDIzOTg2LCAyNTYsIDM4NjkxLCAyNTYsIDE2ODI2MSwgCi0gICAgMjU2LCAxNjg0NzQsIDI1NiwgMTkwNTQsIDI1NiwgMTkwNjIsIDI1NiwgMzg4ODAsIDI1NiwgMTY4OTcwLCAyNTYsIDE5MTIyLCAKLSAgICAyNTYsIDE2OTExMCwgMjU2LCAzODkyMywgMjU2LCAzODkyMywgMjU2LCAzODk1MywgMjU2LCAxNjkzOTgsIDI1NiwgMzkxMzgsIAotICAgIDI1NiwgMTkyNTEsIDI1NiwgMzkyMDksIDI1NiwgMzkzMzUsIDI1NiwgMzkzNjIsIDI1NiwgMzk0MjIsIDI1NiwgMTk0MDYsIAotICAgIDI1NiwgMTcwODAwLCAyNTYsIDM5Njk4LCAyNTYsIDQwMDAwLCAyNTYsIDQwMTg5LCAyNTYsIDE5NjYyLCAyNTYsIDE5NjkzLCAKLSAgICAyNTYsIDQwMjk1LCAyNTYsIDE3MjIzOCwgMjU2LCAxOTcwNCwgMjU2LCAxNzIyOTMsIDI1NiwgMTcyNTU4LCAyNTYsIAotICAgIDE3MjY4OSwgMjU2LCA0MDYzNSwgMjU2LCAxOTc5OCwgMjU2LCA0MDY5NywgMjU2LCA0MDcwMiwgMjU2LCA0MDcwOSwgMjU2LCAKLSAgICA0MDcxOSwgMjU2LCA0MDcyNiwgMjU2LCA0MDc2MywgMjU2LCAxNzM1NjgsIAorICAgIDk3NywgMjYyLCAxMDA4LCAyNjIsIDk4MSwgMjYyLCAxMDA5LCAyNjIsIDk4MiwgMjYyLCA5MTMsIDI2MiwgOTE0LCAyNjIsIAorICAgIDkxNSwgMjYyLCA5MTYsIDI2MiwgOTE3LCAyNjIsIDkxOCwgMjYyLCA5MTksIDI2MiwgOTIwLCAyNjIsIDkyMSwgMjYyLCAKKyAgICA5MjIsIDI2MiwgOTIzLCAyNjIsIDkyNCwgMjYyLCA5MjUsIDI2MiwgOTI2LCAyNjIsIDkyNywgMjYyLCA5MjgsIDI2MiwgCisgICAgOTI5LCAyNjIsIDEwMTIsIDI2MiwgOTMxLCAyNjIsIDkzMiwgMjYyLCA5MzMsIDI2MiwgOTM0LCAyNjIsIDkzNSwgMjYyLCAKKyAgICA5MzYsIDI2MiwgOTM3LCAyNjIsIDg3MTEsIDI2MiwgOTQ1LCAyNjIsIDk0NiwgMjYyLCA5NDcsIDI2MiwgOTQ4LCAyNjIsIAorICAgIDk0OSwgMjYyLCA5NTAsIDI2MiwgOTUxLCAyNjIsIDk1MiwgMjYyLCA5NTMsIDI2MiwgOTU0LCAyNjIsIDk1NSwgMjYyLCAKKyAgICA5NTYsIDI2MiwgOTU3LCAyNjIsIDk1OCwgMjYyLCA5NTksIDI2MiwgOTYwLCAyNjIsIDk2MSwgMjYyLCA5NjIsIDI2MiwgCisgICAgOTYzLCAyNjIsIDk2NCwgMjYyLCA5NjUsIDI2MiwgOTY2LCAyNjIsIDk2NywgMjYyLCA5NjgsIDI2MiwgOTY5LCAyNjIsIAorICAgIDg3MDYsIDI2MiwgMTAxMywgMjYyLCA5NzcsIDI2MiwgMTAwOCwgMjYyLCA5ODEsIDI2MiwgMTAwOSwgMjYyLCA5ODIsIDI2MiwgCisgICAgOTEzLCAyNjIsIDkxNCwgMjYyLCA5MTUsIDI2MiwgOTE2LCAyNjIsIDkxNywgMjYyLCA5MTgsIDI2MiwgOTE5LCAyNjIsIAorICAgIDkyMCwgMjYyLCA5MjEsIDI2MiwgOTIyLCAyNjIsIDkyMywgMjYyLCA5MjQsIDI2MiwgOTI1LCAyNjIsIDkyNiwgMjYyLCAKKyAgICA5MjcsIDI2MiwgOTI4LCAyNjIsIDkyOSwgMjYyLCAxMDEyLCAyNjIsIDkzMSwgMjYyLCA5MzIsIDI2MiwgOTMzLCAyNjIsIAorICAgIDkzNCwgMjYyLCA5MzUsIDI2MiwgOTM2LCAyNjIsIDkzNywgMjYyLCA4NzExLCAyNjIsIDk0NSwgMjYyLCA5NDYsIDI2MiwgCisgICAgOTQ3LCAyNjIsIDk0OCwgMjYyLCA5NDksIDI2MiwgOTUwLCAyNjIsIDk1MSwgMjYyLCA5NTIsIDI2MiwgOTUzLCAyNjIsIAorICAgIDk1NCwgMjYyLCA5NTUsIDI2MiwgOTU2LCAyNjIsIDk1NywgMjYyLCA5NTgsIDI2MiwgOTU5LCAyNjIsIDk2MCwgMjYyLCAKKyAgICA5NjEsIDI2MiwgOTYyLCAyNjIsIDk2MywgMjYyLCA5NjQsIDI2MiwgOTY1LCAyNjIsIDk2NiwgMjYyLCA5NjcsIDI2MiwgCisgICAgOTY4LCAyNjIsIDk2OSwgMjYyLCA4NzA2LCAyNjIsIDEwMTMsIDI2MiwgOTc3LCAyNjIsIDEwMDgsIDI2MiwgOTgxLCAyNjIsIAorICAgIDEwMDksIDI2MiwgOTgyLCAyNjIsIDkxMywgMjYyLCA5MTQsIDI2MiwgOTE1LCAyNjIsIDkxNiwgMjYyLCA5MTcsIDI2MiwgCisgICAgOTE4LCAyNjIsIDkxOSwgMjYyLCA5MjAsIDI2MiwgOTIxLCAyNjIsIDkyMiwgMjYyLCA5MjMsIDI2MiwgOTI0LCAyNjIsIAorICAgIDkyNSwgMjYyLCA5MjYsIDI2MiwgOTI3LCAyNjIsIDkyOCwgMjYyLCA5MjksIDI2MiwgMTAxMiwgMjYyLCA5MzEsIDI2MiwgCisgICAgOTMyLCAyNjIsIDkzMywgMjYyLCA5MzQsIDI2MiwgOTM1LCAyNjIsIDkzNiwgMjYyLCA5MzcsIDI2MiwgODcxMSwgMjYyLCAKKyAgICA5NDUsIDI2MiwgOTQ2LCAyNjIsIDk0NywgMjYyLCA5NDgsIDI2MiwgOTQ5LCAyNjIsIDk1MCwgMjYyLCA5NTEsIDI2MiwgCisgICAgOTUyLCAyNjIsIDk1MywgMjYyLCA5NTQsIDI2MiwgOTU1LCAyNjIsIDk1NiwgMjYyLCA5NTcsIDI2MiwgOTU4LCAyNjIsIAorICAgIDk1OSwgMjYyLCA5NjAsIDI2MiwgOTYxLCAyNjIsIDk2MiwgMjYyLCA5NjMsIDI2MiwgOTY0LCAyNjIsIDk2NSwgMjYyLCAKKyAgICA5NjYsIDI2MiwgOTY3LCAyNjIsIDk2OCwgMjYyLCA5NjksIDI2MiwgODcwNiwgMjYyLCAxMDEzLCAyNjIsIDk3NywgMjYyLCAKKyAgICAxMDA4LCAyNjIsIDk4MSwgMjYyLCAxMDA5LCAyNjIsIDk4MiwgMjYyLCA5ODgsIDI2MiwgOTg5LCAyNjIsIDQ4LCAyNjIsIAorICAgIDQ5LCAyNjIsIDUwLCAyNjIsIDUxLCAyNjIsIDUyLCAyNjIsIDUzLCAyNjIsIDU0LCAyNjIsIDU1LCAyNjIsIDU2LCAyNjIsIAorICAgIDU3LCAyNjIsIDQ4LCAyNjIsIDQ5LCAyNjIsIDUwLCAyNjIsIDUxLCAyNjIsIDUyLCAyNjIsIDUzLCAyNjIsIDU0LCAyNjIsIAorICAgIDU1LCAyNjIsIDU2LCAyNjIsIDU3LCAyNjIsIDQ4LCAyNjIsIDQ5LCAyNjIsIDUwLCAyNjIsIDUxLCAyNjIsIDUyLCAyNjIsIAorICAgIDUzLCAyNjIsIDU0LCAyNjIsIDU1LCAyNjIsIDU2LCAyNjIsIDU3LCAyNjIsIDQ4LCAyNjIsIDQ5LCAyNjIsIDUwLCAyNjIsIAorICAgIDUxLCAyNjIsIDUyLCAyNjIsIDUzLCAyNjIsIDU0LCAyNjIsIDU1LCAyNjIsIDU2LCAyNjIsIDU3LCAyNjIsIDQ4LCAyNjIsIAorICAgIDQ5LCAyNjIsIDUwLCAyNjIsIDUxLCAyNjIsIDUyLCAyNjIsIDUzLCAyNjIsIDU0LCAyNjIsIDU1LCAyNjIsIDU2LCAyNjIsIAorICAgIDU3LCAyNjIsIDE1NzUsIDI2MiwgMTU3NiwgMjYyLCAxNTgwLCAyNjIsIDE1ODMsIDI2MiwgMTYwOCwgMjYyLCAxNTg2LCAKKyAgICAyNjIsIDE1ODEsIDI2MiwgMTU5MSwgMjYyLCAxNjEwLCAyNjIsIDE2MDMsIDI2MiwgMTYwNCwgMjYyLCAxNjA1LCAyNjIsIAorICAgIDE2MDYsIDI2MiwgMTU4NywgMjYyLCAxNTkzLCAyNjIsIDE2MDEsIDI2MiwgMTU4OSwgMjYyLCAxNjAyLCAyNjIsIDE1ODUsIAorICAgIDI2MiwgMTU4OCwgMjYyLCAxNTc4LCAyNjIsIDE1NzksIDI2MiwgMTU4MiwgMjYyLCAxNTg0LCAyNjIsIDE1OTAsIDI2MiwgCisgICAgMTU5MiwgMjYyLCAxNTk0LCAyNjIsIDE2NDYsIDI2MiwgMTcyMiwgMjYyLCAxNjk3LCAyNjIsIDE2NDcsIDI2MiwgMTU3NiwgCisgICAgMjYyLCAxNTgwLCAyNjIsIDE2MDcsIDI2MiwgMTU4MSwgMjYyLCAxNjEwLCAyNjIsIDE2MDMsIDI2MiwgMTYwNCwgMjYyLCAKKyAgICAxNjA1LCAyNjIsIDE2MDYsIDI2MiwgMTU4NywgMjYyLCAxNTkzLCAyNjIsIDE2MDEsIDI2MiwgMTU4OSwgMjYyLCAxNjAyLCAKKyAgICAyNjIsIDE1ODgsIDI2MiwgMTU3OCwgMjYyLCAxNTc5LCAyNjIsIDE1ODIsIDI2MiwgMTU5MCwgMjYyLCAxNTk0LCAyNjIsIAorICAgIDE1ODAsIDI2MiwgMTU4MSwgMjYyLCAxNjEwLCAyNjIsIDE2MDQsIDI2MiwgMTYwNiwgMjYyLCAxNTg3LCAyNjIsIDE1OTMsIAorICAgIDI2MiwgMTU4OSwgMjYyLCAxNjAyLCAyNjIsIDE1ODgsIDI2MiwgMTU4MiwgMjYyLCAxNTkwLCAyNjIsIDE1OTQsIDI2MiwgCisgICAgMTcyMiwgMjYyLCAxNjQ3LCAyNjIsIDE1NzYsIDI2MiwgMTU4MCwgMjYyLCAxNjA3LCAyNjIsIDE1ODEsIDI2MiwgMTU5MSwgCisgICAgMjYyLCAxNjEwLCAyNjIsIDE2MDMsIDI2MiwgMTYwNSwgMjYyLCAxNjA2LCAyNjIsIDE1ODcsIDI2MiwgMTU5MywgMjYyLCAKKyAgICAxNjAxLCAyNjIsIDE1ODksIDI2MiwgMTYwMiwgMjYyLCAxNTg4LCAyNjIsIDE1NzgsIDI2MiwgMTU3OSwgMjYyLCAxNTgyLCAKKyAgICAyNjIsIDE1OTAsIDI2MiwgMTU5MiwgMjYyLCAxNTk0LCAyNjIsIDE2NDYsIDI2MiwgMTY5NywgMjYyLCAxNTc1LCAyNjIsIAorICAgIDE1NzYsIDI2MiwgMTU4MCwgMjYyLCAxNTgzLCAyNjIsIDE2MDcsIDI2MiwgMTYwOCwgMjYyLCAxNTg2LCAyNjIsIDE1ODEsIAorICAgIDI2MiwgMTU5MSwgMjYyLCAxNjEwLCAyNjIsIDE2MDQsIDI2MiwgMTYwNSwgMjYyLCAxNjA2LCAyNjIsIDE1ODcsIDI2MiwgCisgICAgMTU5MywgMjYyLCAxNjAxLCAyNjIsIDE1ODksIDI2MiwgMTYwMiwgMjYyLCAxNTg1LCAyNjIsIDE1ODgsIDI2MiwgMTU3OCwgCisgICAgMjYyLCAxNTc5LCAyNjIsIDE1ODIsIDI2MiwgMTU4NCwgMjYyLCAxNTkwLCAyNjIsIDE1OTIsIDI2MiwgMTU5NCwgMjYyLCAKKyAgICAxNTc2LCAyNjIsIDE1ODAsIDI2MiwgMTU4MywgMjYyLCAxNjA4LCAyNjIsIDE1ODYsIDI2MiwgMTU4MSwgMjYyLCAxNTkxLCAKKyAgICAyNjIsIDE2MTAsIDI2MiwgMTYwNCwgMjYyLCAxNjA1LCAyNjIsIDE2MDYsIDI2MiwgMTU4NywgMjYyLCAxNTkzLCAyNjIsIAorICAgIDE2MDEsIDI2MiwgMTU4OSwgMjYyLCAxNjAyLCAyNjIsIDE1ODUsIDI2MiwgMTU4OCwgMjYyLCAxNTc4LCAyNjIsIDE1NzksIAorICAgIDI2MiwgMTU4MiwgMjYyLCAxNTg0LCAyNjIsIDE1OTAsIDI2MiwgMTU5MiwgMjYyLCAxNTk0LCA1MTQsIDQ4LCA0NiwgNTE0LCAKKyAgICA0OCwgNDQsIDUxNCwgNDksIDQ0LCA1MTQsIDUwLCA0NCwgNTE0LCA1MSwgNDQsIDUxNCwgNTIsIDQ0LCA1MTQsIDUzLCA0NCwgCisgICAgNTE0LCA1NCwgNDQsIDUxNCwgNTUsIDQ0LCA1MTQsIDU2LCA0NCwgNTE0LCA1NywgNDQsIDc3MCwgNDAsIDY1LCA0MSwgNzcwLCAKKyAgICA0MCwgNjYsIDQxLCA3NzAsIDQwLCA2NywgNDEsIDc3MCwgNDAsIDY4LCA0MSwgNzcwLCA0MCwgNjksIDQxLCA3NzAsIDQwLCAKKyAgICA3MCwgNDEsIDc3MCwgNDAsIDcxLCA0MSwgNzcwLCA0MCwgNzIsIDQxLCA3NzAsIDQwLCA3MywgNDEsIDc3MCwgNDAsIDc0LCAKKyAgICA0MSwgNzcwLCA0MCwgNzUsIDQxLCA3NzAsIDQwLCA3NiwgNDEsIDc3MCwgNDAsIDc3LCA0MSwgNzcwLCA0MCwgNzgsIDQxLCAKKyAgICA3NzAsIDQwLCA3OSwgNDEsIDc3MCwgNDAsIDgwLCA0MSwgNzcwLCA0MCwgODEsIDQxLCA3NzAsIDQwLCA4MiwgNDEsIDc3MCwgCisgICAgNDAsIDgzLCA0MSwgNzcwLCA0MCwgODQsIDQxLCA3NzAsIDQwLCA4NSwgNDEsIDc3MCwgNDAsIDg2LCA0MSwgNzcwLCA0MCwgCisgICAgODcsIDQxLCA3NzAsIDQwLCA4OCwgNDEsIDc3MCwgNDAsIDg5LCA0MSwgNzcwLCA0MCwgOTAsIDQxLCA3NzAsIDEyMzA4LCAKKyAgICA4MywgMTIzMDksIDI2MywgNjcsIDI2MywgODIsIDUxOSwgNjcsIDY4LCA1MTksIDg3LCA5MCwgMjY2LCA2NSwgMjY2LCA2NiwgCisgICAgMjY2LCA2NywgMjY2LCA2OCwgMjY2LCA2OSwgMjY2LCA3MCwgMjY2LCA3MSwgMjY2LCA3MiwgMjY2LCA3MywgMjY2LCA3NCwgCisgICAgMjY2LCA3NSwgMjY2LCA3NiwgMjY2LCA3NywgMjY2LCA3OCwgMjY2LCA3OSwgMjY2LCA4MCwgMjY2LCA4MSwgMjY2LCA4MiwgCisgICAgMjY2LCA4MywgMjY2LCA4NCwgMjY2LCA4NSwgMjY2LCA4NiwgMjY2LCA4NywgMjY2LCA4OCwgMjY2LCA4OSwgMjY2LCA5MCwgCisgICAgNTIyLCA3MiwgODYsIDUyMiwgNzcsIDg2LCA1MjIsIDgzLCA2OCwgNTIyLCA4MywgODMsIDc3OCwgODAsIDgwLCA4NiwgNTIyLCAKKyAgICA4NywgNjcsIDUxNSwgNzcsIDY3LCA1MTUsIDc3LCA2OCwgNTIyLCA2OCwgNzQsIDUyMiwgMTI0MTEsIDEyMzYzLCA1MjIsIAorICAgIDEyNDY3LCAxMjQ2NywgMjY2LCAxMjQ2OSwgMjY2LCAyNTE2MywgMjY2LCAyMzM4MywgMjY2LCAyMTQ1MiwgMjY2LCAxMjQ4NywgCisgICAgMjY2LCAyMDEwOCwgMjY2LCAyMjgxMCwgMjY2LCAzNTI5OSwgMjY2LCAyMjgyNSwgMjY2LCAyMDEzMiwgMjY2LCAyNjE0NCwgCisgICAgMjY2LCAyODk2MSwgMjY2LCAyNjAwOSwgMjY2LCAyMTA2OSwgMjY2LCAyNDQ2MCwgMjY2LCAyMDg3NywgMjY2LCAyNjAzMiwgCisgICAgMjY2LCAyMTAyMSwgMjY2LCAzMjA2NiwgMjY2LCAyOTk4MywgMjY2LCAzNjAwOSwgMjY2LCAyMjc2OCwgMjY2LCAyMTU2MSwgCisgICAgMjY2LCAyODQzNiwgMjY2LCAyNTIzNywgMjY2LCAyNTQyOSwgMjY2LCAxOTk2OCwgMjY2LCAxOTk3NywgMjY2LCAzNjkzOCwgCisgICAgMjY2LCAyNDAzOCwgMjY2LCAyMDAxMywgMjY2LCAyMTQ5MSwgMjY2LCAyNTM1MSwgMjY2LCAzNjIwOCwgMjY2LCAyNTE3MSwgCisgICAgMjY2LCAzMTEwNSwgMjY2LCAzMTM1NCwgMjY2LCAyMTUxMiwgMjY2LCAyODI4OCwgMjY2LCAyNjM3NywgMjY2LCAyNjM3NiwgCisgICAgMjY2LCAzMDAwMywgMjY2LCAyMTEwNiwgMjY2LCAyMTk0MiwgNzcwLCAxMjMwOCwgMjY0MTIsIDEyMzA5LCA3NzAsIDEyMzA4LCAKKyAgICAxOTk3NywgMTIzMDksIDc3MCwgMTIzMDgsIDIwMTA4LCAxMjMwOSwgNzcwLCAxMjMwOCwgMjM0MzMsIDEyMzA5LCA3NzAsIAorICAgIDEyMzA4LCAyODg1NywgMTIzMDksIDc3MCwgMTIzMDgsIDI1MTcxLCAxMjMwOSwgNzcwLCAxMjMwOCwgMzA0MjMsIDEyMzA5LCAKKyAgICA3NzAsIDEyMzA4LCAyMTIxMywgMTIzMDksIDc3MCwgMTIzMDgsIDI1OTQzLCAxMjMwOSwgMjYzLCAyNDQ3MSwgMjYzLCAKKyAgICAyMTQ4NywgMjU2LCAyMDAyOSwgMjU2LCAyMDAyNCwgMjU2LCAyMDAzMywgMjU2LCAxMzEzNjIsIDI1NiwgMjAzMjAsIDI1NiwgCisgICAgMjAzOTgsIDI1NiwgMjA0MTEsIDI1NiwgMjA0ODIsIDI1NiwgMjA2MDIsIDI1NiwgMjA2MzMsIDI1NiwgMjA3MTEsIDI1NiwgCisgICAgMjA2ODcsIDI1NiwgMTM0NzAsIDI1NiwgMTMyNjY2LCAyNTYsIDIwODEzLCAyNTYsIDIwODIwLCAyNTYsIDIwODM2LCAyNTYsIAorICAgIDIwODU1LCAyNTYsIDEzMjM4MCwgMjU2LCAxMzQ5NywgMjU2LCAyMDgzOSwgMjU2LCAyMDg3NywgMjU2LCAxMzI0MjcsIDI1NiwgCisgICAgMjA4ODcsIDI1NiwgMjA5MDAsIDI1NiwgMjAxNzIsIDI1NiwgMjA5MDgsIDI1NiwgMjA5MTcsIDI1NiwgMTY4NDE1LCAyNTYsIAorICAgIDIwOTgxLCAyNTYsIDIwOTk1LCAyNTYsIDEzNTM1LCAyNTYsIDIxMDUxLCAyNTYsIDIxMDYyLCAyNTYsIDIxMTA2LCAyNTYsIAorICAgIDIxMTExLCAyNTYsIDEzNTg5LCAyNTYsIDIxMTkxLCAyNTYsIDIxMTkzLCAyNTYsIDIxMjIwLCAyNTYsIDIxMjQyLCAyNTYsIAorICAgIDIxMjUzLCAyNTYsIDIxMjU0LCAyNTYsIDIxMjcxLCAyNTYsIDIxMzIxLCAyNTYsIDIxMzI5LCAyNTYsIDIxMzM4LCAyNTYsIAorICAgIDIxMzYzLCAyNTYsIDIxMzczLCAyNTYsIDIxMzc1LCAyNTYsIDIxMzc1LCAyNTYsIDIxMzc1LCAyNTYsIDEzMzY3NiwgMjU2LCAKKyAgICAyODc4NCwgMjU2LCAyMTQ1MCwgMjU2LCAyMTQ3MSwgMjU2LCAxMzM5ODcsIDI1NiwgMjE0ODMsIDI1NiwgMjE0ODksIDI1NiwgCisgICAgMjE1MTAsIDI1NiwgMjE2NjIsIDI1NiwgMjE1NjAsIDI1NiwgMjE1NzYsIDI1NiwgMjE2MDgsIDI1NiwgMjE2NjYsIDI1NiwgCisgICAgMjE3NTAsIDI1NiwgMjE3NzYsIDI1NiwgMjE4NDMsIDI1NiwgMjE4NTksIDI1NiwgMjE4OTIsIDI1NiwgMjE4OTIsIDI1NiwgCisgICAgMjE5MTMsIDI1NiwgMjE5MzEsIDI1NiwgMjE5MzksIDI1NiwgMjE5NTQsIDI1NiwgMjIyOTQsIDI1NiwgMjIwMjIsIDI1NiwgCisgICAgMjIyOTUsIDI1NiwgMjIwOTcsIDI1NiwgMjIxMzIsIDI1NiwgMjA5OTksIDI1NiwgMjI3NjYsIDI1NiwgMjI0NzgsIDI1NiwgCisgICAgMjI1MTYsIDI1NiwgMjI1NDEsIDI1NiwgMjI0MTEsIDI1NiwgMjI1NzgsIDI1NiwgMjI1NzcsIDI1NiwgMjI3MDAsIDI1NiwgCisgICAgMTM2NDIwLCAyNTYsIDIyNzcwLCAyNTYsIDIyNzc1LCAyNTYsIDIyNzkwLCAyNTYsIDIyODEwLCAyNTYsIDIyODE4LCAyNTYsIAorICAgIDIyODgyLCAyNTYsIDEzNjg3MiwgMjU2LCAxMzY5MzgsIDI1NiwgMjMwMjAsIDI1NiwgMjMwNjcsIDI1NiwgMjMwNzksIDI1NiwgCisgICAgMjMwMDAsIDI1NiwgMjMxNDIsIDI1NiwgMTQwNjIsIDI1NiwgMTQwNzYsIDI1NiwgMjMzMDQsIDI1NiwgMjMzNTgsIDI1NiwgCisgICAgMjMzNTgsIDI1NiwgMTM3NjcyLCAyNTYsIDIzNDkxLCAyNTYsIDIzNTEyLCAyNTYsIDIzNTI3LCAyNTYsIDIzNTM5LCAyNTYsIAorICAgIDEzODAwOCwgMjU2LCAyMzU1MSwgMjU2LCAyMzU1OCwgMjU2LCAyNDQwMywgMjU2LCAyMzU4NiwgMjU2LCAxNDIwOSwgMjU2LCAKKyAgICAyMzY0OCwgMjU2LCAyMzY2MiwgMjU2LCAyMzc0NCwgMjU2LCAyMzY5MywgMjU2LCAxMzg3MjQsIDI1NiwgMjM4NzUsIDI1NiwgCisgICAgMTM4NzI2LCAyNTYsIDIzOTE4LCAyNTYsIDIzOTE1LCAyNTYsIDIzOTMyLCAyNTYsIDI0MDMzLCAyNTYsIDI0MDM0LCAyNTYsIAorICAgIDE0MzgzLCAyNTYsIDI0MDYxLCAyNTYsIDI0MTA0LCAyNTYsIDI0MTI1LCAyNTYsIDI0MTY5LCAyNTYsIDE0NDM0LCAyNTYsIAorICAgIDEzOTY1MSwgMjU2LCAxNDQ2MCwgMjU2LCAyNDI0MCwgMjU2LCAyNDI0MywgMjU2LCAyNDI0NiwgMjU2LCAyNDI2NiwgMjU2LCAKKyAgICAxNzI5NDYsIDI1NiwgMjQzMTgsIDI1NiwgMTQwMDgxLCAyNTYsIDE0MDA4MSwgMjU2LCAzMzI4MSwgMjU2LCAyNDM1NCwgCisgICAgMjU2LCAyNDM1NCwgMjU2LCAxNDUzNSwgMjU2LCAxNDQwNTYsIDI1NiwgMTU2MTIyLCAyNTYsIDI0NDE4LCAyNTYsIDI0NDI3LCAKKyAgICAyNTYsIDE0NTYzLCAyNTYsIDI0NDc0LCAyNTYsIDI0NTI1LCAyNTYsIDI0NTM1LCAyNTYsIDI0NTY5LCAyNTYsIDI0NzA1LCAKKyAgICAyNTYsIDE0NjUwLCAyNTYsIDE0NjIwLCAyNTYsIDI0NzI0LCAyNTYsIDE0MTAxMiwgMjU2LCAyNDc3NSwgMjU2LCAyNDkwNCwgCisgICAgMjU2LCAyNDkwOCwgMjU2LCAyNDkxMCwgMjU2LCAyNDkwOCwgMjU2LCAyNDk1NCwgMjU2LCAyNDk3NCwgMjU2LCAyNTAxMCwgCisgICAgMjU2LCAyNDk5NiwgMjU2LCAyNTAwNywgMjU2LCAyNTA1NCwgMjU2LCAyNTA3NCwgMjU2LCAyNTA3OCwgMjU2LCAyNTEwNCwgCisgICAgMjU2LCAyNTExNSwgMjU2LCAyNTE4MSwgMjU2LCAyNTI2NSwgMjU2LCAyNTMwMCwgMjU2LCAyNTQyNCwgMjU2LCAxNDIwOTIsIAorICAgIDI1NiwgMjU0MDUsIDI1NiwgMjUzNDAsIDI1NiwgMjU0NDgsIDI1NiwgMjU0NzUsIDI1NiwgMjU1NzIsIDI1NiwgMTQyMzIxLCAKKyAgICAyNTYsIDI1NjM0LCAyNTYsIDI1NTQxLCAyNTYsIDI1NTEzLCAyNTYsIDE0ODk0LCAyNTYsIDI1NzA1LCAyNTYsIDI1NzI2LCAKKyAgICAyNTYsIDI1NzU3LCAyNTYsIDI1NzE5LCAyNTYsIDE0OTU2LCAyNTYsIDI1OTM1LCAyNTYsIDI1OTY0LCAyNTYsIDE0MzM3MCwgCisgICAgMjU2LCAyNjA4MywgMjU2LCAyNjM2MCwgMjU2LCAyNjE4NSwgMjU2LCAxNTEyOSwgMjU2LCAyNjI1NywgMjU2LCAxNTExMiwgCisgICAgMjU2LCAxNTA3NiwgMjU2LCAyMDg4MiwgMjU2LCAyMDg4NSwgMjU2LCAyNjM2OCwgMjU2LCAyNjI2OCwgMjU2LCAzMjk0MSwgCisgICAgMjU2LCAxNzM2OSwgMjU2LCAyNjM5MSwgMjU2LCAyNjM5NSwgMjU2LCAyNjQwMSwgMjU2LCAyNjQ2MiwgMjU2LCAyNjQ1MSwgCisgICAgMjU2LCAxNDQzMjMsIDI1NiwgMTUxNzcsIDI1NiwgMjY2MTgsIDI1NiwgMjY1MDEsIDI1NiwgMjY3MDYsIDI1NiwgMjY3NTcsIAorICAgIDI1NiwgMTQ0NDkzLCAyNTYsIDI2NzY2LCAyNTYsIDI2NjU1LCAyNTYsIDI2OTAwLCAyNTYsIDE1MjYxLCAyNTYsIDI2OTQ2LCAKKyAgICAyNTYsIDI3MDQzLCAyNTYsIDI3MTE0LCAyNTYsIDI3MzA0LCAyNTYsIDE0NTA1OSwgMjU2LCAyNzM1NSwgMjU2LCAxNTM4NCwgCisgICAgMjU2LCAyNzQyNSwgMjU2LCAxNDU1NzUsIDI1NiwgMjc0NzYsIDI1NiwgMTU0MzgsIDI1NiwgMjc1MDYsIDI1NiwgMjc1NTEsIAorICAgIDI1NiwgMjc1NzgsIDI1NiwgMjc1NzksIDI1NiwgMTQ2MDYxLCAyNTYsIDEzODUwNywgMjU2LCAxNDYxNzAsIDI1NiwgCisgICAgMjc3MjYsIDI1NiwgMTQ2NjIwLCAyNTYsIDI3ODM5LCAyNTYsIDI3ODUzLCAyNTYsIDI3NzUxLCAyNTYsIDI3OTI2LCAyNTYsIAorICAgIDI3OTY2LCAyNTYsIDI4MDIzLCAyNTYsIDI3OTY5LCAyNTYsIDI4MDA5LCAyNTYsIDI4MDI0LCAyNTYsIDI4MDM3LCAyNTYsIAorICAgIDE0NjcxOCwgMjU2LCAyNzk1NiwgMjU2LCAyODIwNywgMjU2LCAyODI3MCwgMjU2LCAxNTY2NywgMjU2LCAyODM2MywgMjU2LCAKKyAgICAyODM1OSwgMjU2LCAxNDcxNTMsIDI1NiwgMjgxNTMsIDI1NiwgMjg1MjYsIDI1NiwgMTQ3Mjk0LCAyNTYsIDE0NzM0MiwgCisgICAgMjU2LCAyODYxNCwgMjU2LCAyODcyOSwgMjU2LCAyODcwMiwgMjU2LCAyODY5OSwgMjU2LCAxNTc2NiwgMjU2LCAyODc0NiwgCisgICAgMjU2LCAyODc5NywgMjU2LCAyODc5MSwgMjU2LCAyODg0NSwgMjU2LCAxMzIzODksIDI1NiwgMjg5OTcsIDI1NiwgMTQ4MDY3LCAKKyAgICAyNTYsIDI5MDg0LCAyNTYsIDE0ODM5NSwgMjU2LCAyOTIyNCwgMjU2LCAyOTIzNywgMjU2LCAyOTI2NCwgMjU2LCAxNDkwMDAsIAorICAgIDI1NiwgMjkzMTIsIDI1NiwgMjkzMzMsIDI1NiwgMTQ5MzAxLCAyNTYsIDE0OTUyNCwgMjU2LCAyOTU2MiwgMjU2LCAyOTU3OSwgCisgICAgMjU2LCAxNjA0NCwgMjU2LCAyOTYwNSwgMjU2LCAxNjA1NiwgMjU2LCAxNjA1NiwgMjU2LCAyOTc2NywgMjU2LCAyOTc4OCwgCisgICAgMjU2LCAyOTgwOSwgMjU2LCAyOTgyOSwgMjU2LCAyOTg5OCwgMjU2LCAxNjE1NSwgMjU2LCAyOTk4OCwgMjU2LCAxNTA1ODIsIAorICAgIDI1NiwgMzAwMTQsIDI1NiwgMTUwNjc0LCAyNTYsIDMwMDY0LCAyNTYsIDEzOTY3OSwgMjU2LCAzMDIyNCwgMjU2LCAKKyAgICAxNTE0NTcsIDI1NiwgMTUxNDgwLCAyNTYsIDE1MTYyMCwgMjU2LCAxNjM4MCwgMjU2LCAxNjM5MiwgMjU2LCAzMDQ1MiwgCisgICAgMjU2LCAxNTE3OTUsIDI1NiwgMTUxNzk0LCAyNTYsIDE1MTgzMywgMjU2LCAxNTE4NTksIDI1NiwgMzA0OTQsIDI1NiwgCisgICAgMzA0OTUsIDI1NiwgMzA0OTUsIDI1NiwgMzA1MzgsIDI1NiwgMTY0NDEsIDI1NiwgMzA2MDMsIDI1NiwgMTY0NTQsIDI1NiwgCisgICAgMTY1MzQsIDI1NiwgMTUyNjA1LCAyNTYsIDMwNzk4LCAyNTYsIDMwODYwLCAyNTYsIDMwOTI0LCAyNTYsIDE2NjExLCAyNTYsIAorICAgIDE1MzEyNiwgMjU2LCAzMTA2MiwgMjU2LCAxNTMyNDIsIDI1NiwgMTUzMjg1LCAyNTYsIDMxMTE5LCAyNTYsIDMxMjExLCAKKyAgICAyNTYsIDE2Njg3LCAyNTYsIDMxMjk2LCAyNTYsIDMxMzA2LCAyNTYsIDMxMzExLCAyNTYsIDE1Mzk4MCwgMjU2LCAxNTQyNzksIAorICAgIDI1NiwgMTU0Mjc5LCAyNTYsIDMxNDcwLCAyNTYsIDE2ODk4LCAyNTYsIDE1NDUzOSwgMjU2LCAzMTY4NiwgMjU2LCAzMTY4OSwgCisgICAgMjU2LCAxNjkzNSwgMjU2LCAxNTQ3NTIsIDI1NiwgMzE5NTQsIDI1NiwgMTcwNTYsIDI1NiwgMzE5NzYsIDI1NiwgMzE5NzEsIAorICAgIDI1NiwgMzIwMDAsIDI1NiwgMTU1NTI2LCAyNTYsIDMyMDk5LCAyNTYsIDE3MTUzLCAyNTYsIDMyMTk5LCAyNTYsIDMyMjU4LCAKKyAgICAyNTYsIDMyMzI1LCAyNTYsIDE3MjA0LCAyNTYsIDE1NjIwMCwgMjU2LCAxNTYyMzEsIDI1NiwgMTcyNDEsIDI1NiwgCisgICAgMTU2Mzc3LCAyNTYsIDMyNjM0LCAyNTYsIDE1NjQ3OCwgMjU2LCAzMjY2MSwgMjU2LCAzMjc2MiwgMjU2LCAzMjc3MywgMjU2LCAKKyAgICAxNTY4OTAsIDI1NiwgMTU2OTYzLCAyNTYsIDMyODY0LCAyNTYsIDE1NzA5NiwgMjU2LCAzMjg4MCwgMjU2LCAxNDQyMjMsIAorICAgIDI1NiwgMTczNjUsIDI1NiwgMzI5NDYsIDI1NiwgMzMwMjcsIDI1NiwgMTc0MTksIDI1NiwgMzMwODYsIDI1NiwgMjMyMjEsIAorICAgIDI1NiwgMTU3NjA3LCAyNTYsIDE1NzYyMSwgMjU2LCAxNDQyNzUsIDI1NiwgMTQ0Mjg0LCAyNTYsIDMzMjgxLCAyNTYsIAorICAgIDMzMjg0LCAyNTYsIDM2NzY2LCAyNTYsIDE3NTE1LCAyNTYsIDMzNDI1LCAyNTYsIDMzNDE5LCAyNTYsIDMzNDM3LCAyNTYsIAorICAgIDIxMTcxLCAyNTYsIDMzNDU3LCAyNTYsIDMzNDU5LCAyNTYsIDMzNDY5LCAyNTYsIDMzNTEwLCAyNTYsIDE1ODUyNCwgMjU2LCAKKyAgICAzMzUwOSwgMjU2LCAzMzU2NSwgMjU2LCAzMzYzNSwgMjU2LCAzMzcwOSwgMjU2LCAzMzU3MSwgMjU2LCAzMzcyNSwgMjU2LCAKKyAgICAzMzc2NywgMjU2LCAzMzg3OSwgMjU2LCAzMzYxOSwgMjU2LCAzMzczOCwgMjU2LCAzMzc0MCwgMjU2LCAzMzc1NiwgMjU2LCAKKyAgICAxNTg3NzQsIDI1NiwgMTU5MDgzLCAyNTYsIDE1ODkzMywgMjU2LCAxNzcwNywgMjU2LCAzNDAzMywgMjU2LCAzNDAzNSwgCisgICAgMjU2LCAzNDA3MCwgMjU2LCAxNjA3MTQsIDI1NiwgMzQxNDgsIDI1NiwgMTU5NTMyLCAyNTYsIDE3NzU3LCAyNTYsIDE3NzYxLCAKKyAgICAyNTYsIDE1OTY2NSwgMjU2LCAxNTk5NTQsIDI1NiwgMTc3NzEsIDI1NiwgMzQzODQsIDI1NiwgMzQzOTYsIDI1NiwgMzQ0MDcsIAorICAgIDI1NiwgMzQ0MDksIDI1NiwgMzQ0NzMsIDI1NiwgMzQ0NDAsIDI1NiwgMzQ1NzQsIDI1NiwgMzQ1MzAsIDI1NiwgMzQ2ODEsIAorICAgIDI1NiwgMzQ2MDAsIDI1NiwgMzQ2NjcsIDI1NiwgMzQ2OTQsIDI1NiwgMTc4NzksIDI1NiwgMzQ3ODUsIDI1NiwgMzQ4MTcsIAorICAgIDI1NiwgMTc5MTMsIDI1NiwgMzQ5MTIsIDI1NiwgMzQ5MTUsIDI1NiwgMTYxMzgzLCAyNTYsIDM1MDMxLCAyNTYsIDM1MDM4LCAKKyAgICAyNTYsIDE3OTczLCAyNTYsIDM1MDY2LCAyNTYsIDEzNDk5LCAyNTYsIDE2MTk2NiwgMjU2LCAxNjIxNTAsIDI1NiwgMTgxMTAsIAorICAgIDI1NiwgMTgxMTksIDI1NiwgMzU0ODgsIDI1NiwgMzU1NjUsIDI1NiwgMzU3MjIsIDI1NiwgMzU5MjUsIDI1NiwgMTYyOTg0LCAKKyAgICAyNTYsIDM2MDExLCAyNTYsIDM2MDMzLCAyNTYsIDM2MTIzLCAyNTYsIDM2MjE1LCAyNTYsIDE2MzYzMSwgMjU2LCAxMzMxMjQsIAorICAgIDI1NiwgMzYyOTksIDI1NiwgMzYyODQsIDI1NiwgMzYzMzYsIDI1NiwgMTMzMzQyLCAyNTYsIDM2NTY0LCAyNTYsIDM2NjY0LCAKKyAgICAyNTYsIDE2NTMzMCwgMjU2LCAxNjUzNTcsIDI1NiwgMzcwMTIsIDI1NiwgMzcxMDUsIDI1NiwgMzcxMzcsIDI1NiwgCisgICAgMTY1Njc4LCAyNTYsIDM3MTQ3LCAyNTYsIDM3NDMyLCAyNTYsIDM3NTkxLCAyNTYsIDM3NTkyLCAyNTYsIDM3NTAwLCAyNTYsIAorICAgIDM3ODgxLCAyNTYsIDM3OTA5LCAyNTYsIDE2NjkwNiwgMjU2LCAzODI4MywgMjU2LCAxODgzNywgMjU2LCAzODMyNywgMjU2LCAKKyAgICAxNjcyODcsIDI1NiwgMTg5MTgsIDI1NiwgMzg1OTUsIDI1NiwgMjM5ODYsIDI1NiwgMzg2OTEsIDI1NiwgMTY4MjYxLCAyNTYsIAorICAgIDE2ODQ3NCwgMjU2LCAxOTA1NCwgMjU2LCAxOTA2MiwgMjU2LCAzODg4MCwgMjU2LCAxNjg5NzAsIDI1NiwgMTkxMjIsIDI1NiwgCisgICAgMTY5MTEwLCAyNTYsIDM4OTIzLCAyNTYsIDM4OTIzLCAyNTYsIDM4OTUzLCAyNTYsIDE2OTM5OCwgMjU2LCAzOTEzOCwgMjU2LCAKKyAgICAxOTI1MSwgMjU2LCAzOTIwOSwgMjU2LCAzOTMzNSwgMjU2LCAzOTM2MiwgMjU2LCAzOTQyMiwgMjU2LCAxOTQwNiwgMjU2LCAKKyAgICAxNzA4MDAsIDI1NiwgMzk2OTgsIDI1NiwgNDAwMDAsIDI1NiwgNDAxODksIDI1NiwgMTk2NjIsIDI1NiwgMTk2OTMsIDI1NiwgCisgICAgNDAyOTUsIDI1NiwgMTcyMjM4LCAyNTYsIDE5NzA0LCAyNTYsIDE3MjI5MywgMjU2LCAxNzI1NTgsIDI1NiwgMTcyNjg5LCAKKyAgICAyNTYsIDQwNjM1LCAyNTYsIDE5Nzk4LCAyNTYsIDQwNjk3LCAyNTYsIDQwNzAyLCAyNTYsIDQwNzA5LCAyNTYsIDQwNzE5LCAKKyAgICAyNTYsIDQwNzI2LCAyNTYsIDQwNzYzLCAyNTYsIDE3MzU2OCwgCiB9OwogCiAvKiBpbmRleCB0YWJsZXMgZm9yIHRoZSBkZWNvbXBvc2l0aW9uIGRhdGEgKi8KLSNkZWZpbmUgREVDT01QX1NISUZUIDgKKyNkZWZpbmUgREVDT01QX1NISUZUIDcKIHN0YXRpYyB1bnNpZ25lZCBjaGFyIGRlY29tcF9pbmRleDFbXSA9IHsKLSAgICAwLCAxLCAyLCAzLCA0LCA1LCA2LCA3LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCAxNiwgNywgMTcsIDE4LCAxOSwgMjAsIDIxLCAyMiwgMjMsIDI0LCA3LCA3LCA3LCA3LCA3LCAyNSwgCi0gICAgNywgMjYsIDI3LCAyOCwgMjksIDMwLCAzMSwgMzIsIDMzLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCAzNCwgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCi0gICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCi0gICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCi0gICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgMzUsIDM2LCAzNywgMzgsIDM5LCA0MCwgCi0gICAgNDEsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDQyLCA0MywgNywgNywgNywgNywgCi0gICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCi0gICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCi0gICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCi0gICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCi0gICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCi0gICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCi0gICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCi0gICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNDQsIDcsIDcsIDQ1LCAKLSAgICA0NiwgNDcsIDQ4LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA0OSwgNywgNywgNTAsIDUxLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA1MiwgNTMsIDU0LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKKyAgICAwLCAxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5LCAwLCAxMCwgMTEsIDEyLCAwLCAwLCAwLCAwLCAxMywgMTQsIDE1LCAwLCAKKyAgICAxNiwgMTcsIDE4LCAxOSwgMjAsIDIxLCAyMiwgMjMsIDI0LCAyNSwgMjYsIDI3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyOCwgMCwgMCwgMCwgMjksIDMwLCAzMSwgMzIsIDMzLCAzNCwgCisgICAgMzUsIDM2LCAzNywgMzgsIDM5LCA0MCwgNDEsIDAsIDQyLCA0MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDQsIAorICAgIDQ1LCAwLCAwLCA0NiwgMCwgNDcsIDAsIDAsIDQ4LCA0OSwgNTAsIDUxLCA1MiwgNTMsIDU0LCA1NSwgNTYsIDU3LCA1OCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTksIDYwLCA2MSwgMCwgMCwgMCwgMCwgMCwgMCwgNjIsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYzLCA2NCwgNjUsIDY2LCA2NywgNjgsIDY5LCA3MCwgNzEsIDcyLCA3MywgCisgICAgNzQsIDc1LCA3NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNzcsIDc4LCAwLCAwLCAwLCA3OSwgMCwgMCwgODAsIDAsIAorICAgIDgxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4MiwgODMsIDAsIDAsIDAsIDAsIDg0LCA4NSwgCisgICAgODYsIDg3LCA4OCwgODksIDkwLCA5MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgOTIsIDkzLCAwLCAwLCAwLCAwLCA5NCwgOTUsIDk2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5NywgOTgsIDk5LCAxMDAsIDEwMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiB9OwogCiBzdGF0aWMgdW5zaWduZWQgc2hvcnQgZGVjb21wX2luZGV4MltdID0gewpAQCAtMzk3OCwzOCArNDQ1MywyMiBAQAogICAgIDAsIDAsIDAsIDAsIDEwNjYsIDEwNjksIDEwNzIsIDEwNzUsIDAsIDAsIDEwNzgsIDEwODEsIDAsIDAsIDEwODQsIDEwODcsIAogICAgIDEwOTAsIDEwOTMsIDEwOTYsIDEwOTksIDAsIDAsIDExMDIsIDExMDUsIDExMDgsIDExMTEsIDExMTQsIDExMTcsIDAsIDAsIAogICAgIDExMjAsIDExMjMsIDExMjYsIDExMjksIDExMzIsIDExMzUsIDExMzgsIDExNDEsIDExNDQsIDExNDcsIDExNTAsIDExNTMsIAotICAgIDAsIDAsIDExNTYsIDExNTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDExNjIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDExNjUsIDExNjgsIDExNzEsIDExNzQsIAotICAgIDExNzcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDExODAsIDExODMsIDExODYsIDExODksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDExOTIsIDAsIDExOTUsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDExOTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDExNTYsIDExNTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDExNjIsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDExNjUsIDExNjgsIDExNzEsIDExNzQsIDExNzcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDExODAsIDExODMsIDExODYsIDExODksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDExOTIsIDAsIDExOTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDExOTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyMDEsIDAsIDAsIDAsIApAQCAtNDAzMSwxOTEgKzQ0OTAsMTc1IEBACiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMTI2NywgMCwgMCwgMTI3MCwgMTI3MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMTI3NiwgMTI3OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTI4MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTI4NSwgMTI4OCwgMTI5MSwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTI2NywgMCwgMCwgMTI3MCwgMTI3MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTI3NiwgMTI3OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTI4MiwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMTI4NSwgMTI4OCwgMTI5MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMTI5NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTI5NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTI5NywgMCwgMCwgMCwgMCwgMCwgMCwgMTMwMCwgMTMwMywgMCwgCi0gICAgMTMwNiwgMTMwOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTMxMiwgMTMxNSwgMTMxOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMTI5NywgMCwgMCwgMCwgMCwgMCwgMCwgMTMwMCwgMTMwMywgMCwgMTMwNiwgMTMwOSwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTMyMSwgMCwgMTMyNCwgMTMyNywgMTMzMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTMzMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMTMxMiwgMTMxNSwgMTMxOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTMzNiwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTMzOSwgMTM0MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMTMyMSwgMCwgMTMyNCwgMTMyNywgMTMzMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTM0NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMTMzMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTMzNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMTMzOSwgMTM0MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTM0NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTM0NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMTM1MCwgMCwgMCwgMCwgMCwgMTM1MywgMCwgMCwgMCwgMCwgMTM1NiwgMCwgMCwgMCwgMCwgMTM1OSwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTM2MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTM2NSwgMCwgCisgICAgMTM2OCwgMTM3MSwgMTM3NCwgMTM3NywgMTM4MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTM4MywgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTM4NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMTM4OSwgMCwgMCwgMCwgMCwgMTM5MiwgMCwgMCwgMCwgMCwgMTM5NSwgMCwgMCwgMCwgMCwgMTM5OCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQwMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQwNCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQwNywgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQwOSwgMCwgMTQxMiwgMCwgMTQxNSwgMCwgMTQxOCwgMCwgMTQyMSwgMCwgMCwgCisgICAgMCwgMTQyNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQyNywgMCwgMTQzMCwgCisgICAgMCwgMCwgMTQzMywgMTQzNiwgMCwgMTQzOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQ0MiwgMTQ0NCwgMTQ0NiwgMCwgCisgICAgMTQ0OCwgMTQ1MCwgMTQ1MiwgMTQ1NCwgMTQ1NiwgMTQ1OCwgMTQ2MCwgMTQ2MiwgMTQ2NCwgMTQ2NiwgMTQ2OCwgMCwgCisgICAgMTQ3MCwgMTQ3MiwgMTQ3NCwgMTQ3NiwgMTQ3OCwgMTQ4MCwgMTQ4MiwgMTQ4NCwgMTQ4NiwgMTQ4OCwgMTQ5MCwgMTQ5MiwgCisgICAgMTQ5NCwgMTQ5NiwgMTQ5OCwgMTUwMCwgMTUwMiwgMTUwNCwgMCwgMTUwNiwgMTUwOCwgMTUxMCwgMTUxMiwgMTUxNCwgCisgICAgMTUxNiwgMTUxOCwgMTUyMCwgMTUyMiwgMTUyNCwgMTUyNiwgMTUyOCwgMTUzMCwgMTUzMiwgMTUzNCwgMTUzNiwgMTUzOCwgCisgICAgMTU0MCwgMTU0MiwgMTU0NCwgMTU0NiwgMTU0OCwgMTU1MCwgMTU1MiwgMTU1NCwgMTU1NiwgMTU1OCwgMTU2MCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTU2MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMTM0NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTM1MCwgMCwgMCwgMCwgMCwgMTM1MywgMCwgMCwgMCwgMCwgCi0gICAgMTM1NiwgMCwgMCwgMCwgMCwgMTM1OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTM2MiwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTM2NSwgMCwgMTM2OCwgMTM3MSwgMTM3NCwgMTM3NywgMTM4MCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMTM4MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTM4NiwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTM4OSwgMCwgMCwgMCwgMCwgMTM5MiwgMCwgMCwgMCwgMCwgMTM5NSwgMCwgCi0gICAgMCwgMCwgMCwgMTM5OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQwMSwgMCwgMCwgMCwgMCwgMCwgCisgICAgMTU2NCwgMTU2NiwgMTU2OCwgMTU3MCwgMTU3MiwgMTU3NCwgMTU3NiwgMTU3OCwgMTU4MCwgMTU4MiwgMTU4NCwgMTU4NiwgCisgICAgMTU4OCwgMTU5MCwgMTU5MiwgMTU5NCwgMTU5NiwgMTU5OCwgMTYwMCwgMTYwMiwgMTYwNCwgMTYwNiwgMTYwOCwgMTYxMCwgCisgICAgMTYxMiwgMTYxNCwgMTYxNiwgMTYxOCwgMTYyMCwgMTYyMiwgMTYyNCwgMTYyNiwgMTYyOCwgMTYzMCwgMTYzMiwgMTYzNCwgCisgICAgMTYzNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTYzOCwgMTY0MSwgMTY0NCwgCisgICAgMTY0NywgMTY1MCwgMTY1MywgMTY1NiwgMTY1OSwgMTY2MiwgMTY2NSwgMTY2OCwgMTY3MSwgMTY3NCwgMTY3NywgMTY4MCwgCisgICAgMTY4MywgMTY4NiwgMTY4OSwgMTY5MiwgMTY5NSwgMTY5OCwgMTcwMSwgMTcwNCwgMTcwNywgMTcxMCwgMTcxMywgMTcxNiwgCisgICAgMTcxOSwgMTcyMiwgMTcyNSwgMTcyOCwgMTczMSwgMTczNCwgMTczNywgMTc0MCwgMTc0MywgMTc0NiwgMTc0OSwgMTc1MiwgCisgICAgMTc1NSwgMTc1OCwgMTc2MSwgMTc2NCwgMTc2NywgMTc3MCwgMTc3MywgMTc3NiwgMTc3OSwgMTc4MiwgMTc4NSwgMTc4OCwgCisgICAgMTc5MSwgMTc5NCwgMTc5NywgMTgwMCwgMTgwMywgMTgwNiwgMTgwOSwgMTgxMiwgMTgxNSwgMTgxOCwgMTgyMSwgMTgyNCwgCisgICAgMTgyNywgMTgzMCwgMTgzMywgMTgzNiwgMTgzOSwgMTg0MiwgMTg0NSwgMTg0OCwgMTg1MSwgMTg1NCwgMTg1NywgMTg2MCwgCisgICAgMTg2MywgMTg2NiwgMTg2OSwgMTg3MiwgMTg3NSwgMTg3OCwgMTg4MSwgMTg4NCwgMTg4NywgMTg5MCwgMTg5MywgMTg5NiwgCisgICAgMTg5OSwgMTkwMiwgMTkwNSwgMTkwOCwgMTkxMSwgMTkxNCwgMTkxNywgMTkyMCwgMTkyMywgMTkyNiwgMTkyOSwgMTkzMiwgCisgICAgMTkzNSwgMTkzOCwgMTk0MSwgMTk0NCwgMTk0NywgMTk1MCwgMTk1MywgMTk1NiwgMTk1OSwgMTk2MiwgMTk2NSwgMTk2OCwgCisgICAgMTk3MSwgMTk3NCwgMTk3NywgMTk4MCwgMTk4MywgMTk4NiwgMTk4OSwgMTk5MiwgMTk5NSwgMTk5OCwgMjAwMSwgMjAwNCwgCisgICAgMjAwNywgMjAxMCwgMjAxMywgMjAxNiwgMjAxOSwgMjAyMiwgMjAyNSwgMjAyOCwgMjAzMSwgMjAzNCwgMjAzNywgMjA0MCwgCisgICAgMjA0MywgMjA0NiwgMjA0OSwgMjA1MiwgMjA1NSwgMjA1OCwgMjA2MSwgMjA2NCwgMjA2NywgMjA3MCwgMjA3MywgMjA3NiwgCisgICAgMjA3OSwgMjA4MiwgMjA4NSwgMjA4OCwgMjA5MSwgMjA5NCwgMjA5NywgMjEwMCwgMjEwMywgMCwgMCwgMCwgMCwgMjEwNiwgCisgICAgMjEwOSwgMjExMiwgMjExNSwgMjExOCwgMjEyMSwgMjEyNCwgMjEyNywgMjEzMCwgMjEzMywgMjEzNiwgMjEzOSwgMjE0MiwgCisgICAgMjE0NSwgMjE0OCwgMjE1MSwgMjE1NCwgMjE1NywgMjE2MCwgMjE2MywgMjE2NiwgMjE2OSwgMjE3MiwgMjE3NSwgMjE3OCwgCisgICAgMjE4MSwgMjE4NCwgMjE4NywgMjE5MCwgMjE5MywgMjE5NiwgMjE5OSwgMjIwMiwgMjIwNSwgMjIwOCwgMjIxMSwgMjIxNCwgCisgICAgMjIxNywgMjIyMCwgMjIyMywgMjIyNiwgMjIyOSwgMjIzMiwgMjIzNSwgMjIzOCwgMjI0MSwgMjI0NCwgMjI0NywgMjI1MCwgCisgICAgMjI1MywgMjI1NiwgMjI1OSwgMjI2MiwgMjI2NSwgMjI2OCwgMjI3MSwgMjI3NCwgMjI3NywgMjI4MCwgMjI4MywgMjI4NiwgCisgICAgMjI4OSwgMjI5MiwgMjI5NSwgMjI5OCwgMjMwMSwgMjMwNCwgMjMwNywgMjMxMCwgMjMxMywgMjMxNiwgMjMxOSwgMjMyMiwgCisgICAgMjMyNSwgMjMyOCwgMjMzMSwgMjMzNCwgMjMzNywgMjM0MCwgMjM0MywgMjM0NiwgMjM0OSwgMjM1MiwgMjM1NSwgMjM1OCwgCisgICAgMjM2MSwgMjM2NCwgMjM2NywgMjM3MCwgMjM3MywgMCwgMCwgMCwgMCwgMCwgMCwgMjM3NiwgMjM3OSwgMjM4MiwgMjM4NSwgCisgICAgMjM4OCwgMjM5MSwgMjM5NCwgMjM5NywgMjQwMCwgMjQwMywgMjQwNiwgMjQwOSwgMjQxMiwgMjQxNSwgMjQxOCwgMjQyMSwgCisgICAgMjQyNCwgMjQyNywgMjQzMCwgMjQzMywgMjQzNiwgMjQzOSwgMCwgMCwgMjQ0MiwgMjQ0NSwgMjQ0OCwgMjQ1MSwgMjQ1NCwgCisgICAgMjQ1NywgMCwgMCwgMjQ2MCwgMjQ2MywgMjQ2NiwgMjQ2OSwgMjQ3MiwgMjQ3NSwgMjQ3OCwgMjQ4MSwgMjQ4NCwgMjQ4NywgCisgICAgMjQ5MCwgMjQ5MywgMjQ5NiwgMjQ5OSwgMjUwMiwgMjUwNSwgMjUwOCwgMjUxMSwgMjUxNCwgMjUxNywgMjUyMCwgMjUyMywgCisgICAgMjUyNiwgMjUyOSwgMjUzMiwgMjUzNSwgMjUzOCwgMjU0MSwgMjU0NCwgMjU0NywgMjU1MCwgMjU1MywgMjU1NiwgMjU1OSwgCisgICAgMjU2MiwgMjU2NSwgMjU2OCwgMjU3MSwgMCwgMCwgMjU3NCwgMjU3NywgMjU4MCwgMjU4MywgMjU4NiwgMjU4OSwgMCwgMCwgCisgICAgMjU5MiwgMjU5NSwgMjU5OCwgMjYwMSwgMjYwNCwgMjYwNywgMjYxMCwgMjYxMywgMCwgMjYxNiwgMCwgMjYxOSwgMCwgCisgICAgMjYyMiwgMCwgMjYyNSwgMjYyOCwgMjYzMSwgMjYzNCwgMjYzNywgMjY0MCwgMjY0MywgMjY0NiwgMjY0OSwgMjY1MiwgCisgICAgMjY1NSwgMjY1OCwgMjY2MSwgMjY2NCwgMjY2NywgMjY3MCwgMjY3MywgMjY3NiwgMjY3OSwgMjY4MSwgMjY4NCwgMjY4NiwgCisgICAgMjY4OSwgMjY5MSwgMjY5NCwgMjY5NiwgMjY5OSwgMjcwMSwgMjcwNCwgMjcwNiwgMjcwOSwgMCwgMCwgMjcxMSwgMjcxNCwgCisgICAgMjcxNywgMjcyMCwgMjcyMywgMjcyNiwgMjcyOSwgMjczMiwgMjczNSwgMjczOCwgMjc0MSwgMjc0NCwgMjc0NywgMjc1MCwgCisgICAgMjc1MywgMjc1NiwgMjc1OSwgMjc2MiwgMjc2NSwgMjc2OCwgMjc3MSwgMjc3NCwgMjc3NywgMjc4MCwgMjc4MywgMjc4NiwgCisgICAgMjc4OSwgMjc5MiwgMjc5NSwgMjc5OCwgMjgwMSwgMjgwNCwgMjgwNywgMjgxMCwgMjgxMywgMjgxNiwgMjgxOSwgMjgyMiwgCisgICAgMjgyNSwgMjgyOCwgMjgzMSwgMjgzNCwgMjgzNywgMjg0MCwgMjg0MywgMjg0NiwgMjg0OSwgMjg1MiwgMjg1NSwgMjg1OCwgCisgICAgMjg2MSwgMjg2NCwgMjg2NywgMCwgMjg3MCwgMjg3MywgMjg3NiwgMjg3OSwgMjg4MiwgMjg4NSwgMjg4NywgMjg5MCwgCisgICAgMjg5MywgMjg5NSwgMjg5OCwgMjkwMSwgMjkwNCwgMjkwNywgMjkxMCwgMCwgMjkxMywgMjkxNiwgMjkxOSwgMjkyMiwgCisgICAgMjkyNCwgMjkyNywgMjkyOSwgMjkzMiwgMjkzNSwgMjkzOCwgMjk0MSwgMjk0NCwgMjk0NywgMjk1MCwgMCwgMCwgMjk1MiwgCisgICAgMjk1NSwgMjk1OCwgMjk2MSwgMjk2NCwgMjk2NywgMCwgMjk2OSwgMjk3MiwgMjk3NSwgMjk3OCwgMjk4MSwgMjk4NCwgCisgICAgMjk4NywgMjk4OSwgMjk5MiwgMjk5NSwgMjk5OCwgMzAwMSwgMzAwNCwgMzAwNywgMzAxMCwgMzAxMiwgMzAxNSwgMzAxOCwgCisgICAgMzAyMCwgMCwgMCwgMzAyMiwgMzAyNSwgMzAyOCwgMCwgMzAzMSwgMzAzNCwgMzAzNywgMzA0MCwgMzA0MiwgMzA0NSwgCisgICAgMzA0NywgMzA1MCwgMzA1MiwgMCwgMzA1NSwgMzA1NywgMzA1OSwgMzA2MSwgMzA2MywgMzA2NSwgMzA2NywgMzA2OSwgCisgICAgMzA3MSwgMzA3MywgMzA3NSwgMCwgMCwgMCwgMCwgMCwgMCwgMzA3NywgMCwgMCwgMCwgMCwgMCwgMzA3OSwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzA4MiwgMzA4NCwgMzA4NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMzA5MSwgMCwgMCwgMCwgMzA5MywgMzA5NiwgMCwgMzEwMCwgMzEwMywgMCwgMCwgMCwgMCwgMzEwNywgMCwgMzExMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzExMywgMzExNiwgMzExOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMzEyMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzEyNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMzEyOSwgMzEzMSwgMCwgMCwgMzEzMywgMzEzNSwgMzEzNywgMzEzOSwgMzE0MSwgMzE0MywgCisgICAgMzE0NSwgMzE0NywgMzE0OSwgMzE1MSwgMzE1MywgMzE1NSwgMzE1NywgMzE1OSwgMzE2MSwgMzE2MywgMzE2NSwgMzE2NywgCisgICAgMzE2OSwgMzE3MSwgMzE3MywgMzE3NSwgMzE3NywgMzE3OSwgMzE4MSwgMzE4MywgMzE4NSwgMCwgMzE4NywgMzE4OSwgCisgICAgMzE5MSwgMzE5MywgMzE5NSwgMzE5NywgMzE5OSwgMzIwMSwgMzIwMywgMzIwNSwgMzIwNywgMzIwOSwgMzIxMSwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzIxMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMzIxNiwgMzIyMCwgMzIyNCwgMzIyNiwgMCwgMzIyOSwgMzIzMywgMzIzNywgMCwgMzIzOSwgMzI0MiwgMzI0NCwgCisgICAgMzI0NiwgMzI0OCwgMzI1MCwgMzI1MiwgMzI1NCwgMzI1NiwgMzI1OCwgMzI2MCwgMCwgMzI2MiwgMzI2NCwgMCwgMCwgCisgICAgMzI2NywgMzI2OSwgMzI3MSwgMzI3MywgMzI3NSwgMCwgMCwgMzI3NywgMzI4MCwgMzI4NCwgMCwgMzI4NywgMCwgMzI4OSwgCisgICAgMCwgMzI5MSwgMCwgMzI5MywgMzI5NSwgMzI5NywgMzI5OSwgMCwgMzMwMSwgMzMwMywgMzMwNSwgMCwgMzMwNywgMzMwOSwgCisgICAgMzMxMSwgMzMxMywgMzMxNSwgMzMxNywgMzMxOSwgMCwgMzMyMSwgMzMyNSwgMzMyNywgMzMyOSwgMzMzMSwgMzMzMywgMCwgCisgICAgMCwgMCwgMCwgMzMzNSwgMzMzNywgMzMzOSwgMzM0MSwgMzM0MywgMCwgMCwgMCwgMCwgMCwgMCwgMzM0NSwgMzM0OSwgCisgICAgMzM1MywgMzM1OCwgMzM2MiwgMzM2NiwgMzM3MCwgMzM3NCwgMzM3OCwgMzM4MiwgMzM4NiwgMzM5MCwgMzM5NCwgMzM5OCwgCisgICAgMzQwMiwgMzQwNiwgMzQwOSwgMzQxMSwgMzQxNCwgMzQxOCwgMzQyMSwgMzQyMywgMzQyNiwgMzQzMCwgMzQzNSwgMzQzOCwgCisgICAgMzQ0MCwgMzQ0MywgMzQ0NywgMzQ0OSwgMzQ1MSwgMzQ1MywgMzQ1NSwgMzQ1NywgMzQ2MCwgMzQ2NCwgMzQ2NywgMzQ2OSwgCisgICAgMzQ3MiwgMzQ3NiwgMzQ4MSwgMzQ4NCwgMzQ4NiwgMzQ4OSwgMzQ5MywgMzQ5NSwgMzQ5NywgMzQ5OSwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMzUwMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMzUwNSwgMzUwOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzUxMSwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQwNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMzUxNCwgMzUxNywgMzUyMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzUyMywgMCwgMCwgMCwgMCwgMzUyNiwgCisgICAgMCwgMCwgMzUyOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMzUzMiwgMCwgMzUzNSwgMCwgMCwgMCwgMCwgMCwgMzUzOCwgMzU0MSwgMCwgMzU0NSwgMzU0OCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzU1MiwgMCwgMCwgMzU1NSwgMCwgMCwgMzU1OCwgCisgICAgMCwgMzU2MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMzU2NCwgMCwgMzU2NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzU3MCwgMzU3MywgMzU3NiwgMzU3OSwgCisgICAgMzU4MiwgMCwgMCwgMzU4NSwgMzU4OCwgMCwgMCwgMzU5MSwgMzU5NCwgMCwgMCwgMCwgMCwgMCwgMCwgMzU5NywgMzYwMCwgCisgICAgMCwgMCwgMzYwMywgMzYwNiwgMCwgMCwgMzYwOSwgMzYxMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzYxNSwgCisgICAgMzYxOCwgMzYyMSwgMzYyNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMzYyNywgMzYzMCwgMzYzMywgMzYzNiwgMCwgMCwgMCwgMCwgMCwgMCwgMzYzOSwgMzY0MiwgCisgICAgMzY0NSwgMzY0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMTQwNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQwOSwgMCwgMTQxMiwgMCwgCi0gICAgMTQxNSwgMCwgMTQxOCwgMCwgMTQyMSwgMCwgMCwgMCwgMTQyNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMTQyNywgMCwgMTQzMCwgMCwgMCwgMTQzMywgMTQzNiwgMCwgMTQzOSwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQ0MiwgMTQ0NCwgMTQ0NiwgMCwgMTQ0OCwgMTQ1MCwgMTQ1MiwgCi0gICAgMTQ1NCwgMTQ1NiwgMTQ1OCwgMTQ2MCwgMTQ2MiwgMTQ2NCwgMTQ2NiwgMTQ2OCwgMCwgMTQ3MCwgMTQ3MiwgMTQ3NCwgCi0gICAgMTQ3NiwgMTQ3OCwgMTQ4MCwgMTQ4MiwgMTQ4NCwgMTQ4NiwgMTQ4OCwgMTQ5MCwgMTQ5MiwgMTQ5NCwgMTQ5NiwgMTQ5OCwgCi0gICAgMTUwMCwgMTUwMiwgMTUwNCwgMCwgMTUwNiwgMTUwOCwgMTUxMCwgMTUxMiwgMTUxNCwgMTUxNiwgMTUxOCwgMTUyMCwgCi0gICAgMTUyMiwgMTUyNCwgMTUyNiwgMTUyOCwgMTUzMCwgMTUzMiwgMTUzNCwgMTUzNiwgMTUzOCwgMTU0MCwgMTU0MiwgMTU0NCwgCi0gICAgMTU0NiwgMTU0OCwgMTU1MCwgMTU1MiwgMTU1NCwgMTU1NiwgMTU1OCwgMTU2MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMTU2MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTU2NCwgMTU2NiwgMTU2OCwgCi0gICAgMTU3MCwgMTU3MiwgMTU3NCwgMTU3NiwgMTU3OCwgMTU4MCwgMTU4MiwgMTU4NCwgMTU4NiwgMTU4OCwgMTU5MCwgMTU5MiwgCi0gICAgMTU5NCwgMTU5NiwgMTU5OCwgMTYwMCwgMTYwMiwgMTYwNCwgMTYwNiwgMTYwOCwgMTYxMCwgMTYxMiwgMTYxNCwgMTYxNiwgCi0gICAgMTYxOCwgMTYyMCwgMTYyMiwgMTYyNCwgMTYyNiwgMTYyOCwgMTYzMCwgMTYzMiwgMTYzNCwgMTYzNiwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTYzOCwgMTY0MSwgMTY0NCwgMTY0NywgMTY1MCwgMTY1MywgCi0gICAgMTY1NiwgMTY1OSwgMTY2MiwgMTY2NSwgMTY2OCwgMTY3MSwgMTY3NCwgMTY3NywgMTY4MCwgMTY4MywgMTY4NiwgMTY4OSwgCi0gICAgMTY5MiwgMTY5NSwgMTY5OCwgMTcwMSwgMTcwNCwgMTcwNywgMTcxMCwgMTcxMywgMTcxNiwgMTcxOSwgMTcyMiwgMTcyNSwgCi0gICAgMTcyOCwgMTczMSwgMTczNCwgMTczNywgMTc0MCwgMTc0MywgMTc0NiwgMTc0OSwgMTc1MiwgMTc1NSwgMTc1OCwgMTc2MSwgCi0gICAgMTc2NCwgMTc2NywgMTc3MCwgMTc3MywgMTc3NiwgMTc3OSwgMTc4MiwgMTc4NSwgMTc4OCwgMTc5MSwgMTc5NCwgMTc5NywgCi0gICAgMTgwMCwgMTgwMywgMTgwNiwgMTgwOSwgMTgxMiwgMTgxNSwgMTgxOCwgMTgyMSwgMTgyNCwgMTgyNywgMTgzMCwgMTgzMywgCi0gICAgMTgzNiwgMTgzOSwgMTg0MiwgMTg0NSwgMTg0OCwgMTg1MSwgMTg1NCwgMTg1NywgMTg2MCwgMTg2MywgMTg2NiwgMTg2OSwgCi0gICAgMTg3MiwgMTg3NSwgMTg3OCwgMTg4MSwgMTg4NCwgMTg4NywgMTg5MCwgMTg5MywgMTg5NiwgMTg5OSwgMTkwMiwgMTkwNSwgCi0gICAgMTkwOCwgMTkxMSwgMTkxNCwgMTkxNywgMTkyMCwgMTkyMywgMTkyNiwgMTkyOSwgMTkzMiwgMTkzNSwgMTkzOCwgMTk0MSwgCi0gICAgMTk0NCwgMTk0NywgMTk1MCwgMTk1MywgMTk1NiwgMTk1OSwgMTk2MiwgMTk2NSwgMTk2OCwgMTk3MSwgMTk3NCwgMTk3NywgCi0gICAgMTk4MCwgMTk4MywgMTk4NiwgMTk4OSwgMTk5MiwgMTk5NSwgMTk5OCwgMjAwMSwgMjAwNCwgMjAwNywgMjAxMCwgMjAxMywgCi0gICAgMjAxNiwgMjAxOSwgMjAyMiwgMjAyNSwgMjAyOCwgMjAzMSwgMjAzNCwgMjAzNywgMjA0MCwgMjA0MywgMjA0NiwgMjA0OSwgCi0gICAgMjA1MiwgMjA1NSwgMjA1OCwgMjA2MSwgMjA2NCwgMjA2NywgMjA3MCwgMjA3MywgMjA3NiwgMjA3OSwgMjA4MiwgMjA4NSwgCi0gICAgMjA4OCwgMjA5MSwgMjA5NCwgMjA5NywgMjEwMCwgMjEwMywgMCwgMCwgMCwgMCwgMjEwNiwgMjEwOSwgMjExMiwgMjExNSwgCi0gICAgMjExOCwgMjEyMSwgMjEyNCwgMjEyNywgMjEzMCwgMjEzMywgMjEzNiwgMjEzOSwgMjE0MiwgMjE0NSwgMjE0OCwgMjE1MSwgCi0gICAgMjE1NCwgMjE1NywgMjE2MCwgMjE2MywgMjE2NiwgMjE2OSwgMjE3MiwgMjE3NSwgMjE3OCwgMjE4MSwgMjE4NCwgMjE4NywgCi0gICAgMjE5MCwgMjE5MywgMjE5NiwgMjE5OSwgMjIwMiwgMjIwNSwgMjIwOCwgMjIxMSwgMjIxNCwgMjIxNywgMjIyMCwgMjIyMywgCi0gICAgMjIyNiwgMjIyOSwgMjIzMiwgMjIzNSwgMjIzOCwgMjI0MSwgMjI0NCwgMjI0NywgMjI1MCwgMjI1MywgMjI1NiwgMjI1OSwgCi0gICAgMjI2MiwgMjI2NSwgMjI2OCwgMjI3MSwgMjI3NCwgMjI3NywgMjI4MCwgMjI4MywgMjI4NiwgMjI4OSwgMjI5MiwgMjI5NSwgCi0gICAgMjI5OCwgMjMwMSwgMjMwNCwgMjMwNywgMjMxMCwgMjMxMywgMjMxNiwgMjMxOSwgMjMyMiwgMjMyNSwgMjMyOCwgMjMzMSwgCi0gICAgMjMzNCwgMjMzNywgMjM0MCwgMjM0MywgMjM0NiwgMjM0OSwgMjM1MiwgMjM1NSwgMjM1OCwgMjM2MSwgMjM2NCwgMjM2NywgCi0gICAgMjM3MCwgMjM3MywgMCwgMCwgMCwgMCwgMCwgMCwgMjM3NiwgMjM3OSwgMjM4MiwgMjM4NSwgMjM4OCwgMjM5MSwgMjM5NCwgCi0gICAgMjM5NywgMjQwMCwgMjQwMywgMjQwNiwgMjQwOSwgMjQxMiwgMjQxNSwgMjQxOCwgMjQyMSwgMjQyNCwgMjQyNywgMjQzMCwgCi0gICAgMjQzMywgMjQzNiwgMjQzOSwgMCwgMCwgMjQ0MiwgMjQ0NSwgMjQ0OCwgMjQ1MSwgMjQ1NCwgMjQ1NywgMCwgMCwgMjQ2MCwgCi0gICAgMjQ2MywgMjQ2NiwgMjQ2OSwgMjQ3MiwgMjQ3NSwgMjQ3OCwgMjQ4MSwgMjQ4NCwgMjQ4NywgMjQ5MCwgMjQ5MywgMjQ5NiwgCi0gICAgMjQ5OSwgMjUwMiwgMjUwNSwgMjUwOCwgMjUxMSwgMjUxNCwgMjUxNywgMjUyMCwgMjUyMywgMjUyNiwgMjUyOSwgMjUzMiwgCi0gICAgMjUzNSwgMjUzOCwgMjU0MSwgMjU0NCwgMjU0NywgMjU1MCwgMjU1MywgMjU1NiwgMjU1OSwgMjU2MiwgMjU2NSwgMjU2OCwgCi0gICAgMjU3MSwgMCwgMCwgMjU3NCwgMjU3NywgMjU4MCwgMjU4MywgMjU4NiwgMjU4OSwgMCwgMCwgMjU5MiwgMjU5NSwgMjU5OCwgCi0gICAgMjYwMSwgMjYwNCwgMjYwNywgMjYxMCwgMjYxMywgMCwgMjYxNiwgMCwgMjYxOSwgMCwgMjYyMiwgMCwgMjYyNSwgMjYyOCwgCi0gICAgMjYzMSwgMjYzNCwgMjYzNywgMjY0MCwgMjY0MywgMjY0NiwgMjY0OSwgMjY1MiwgMjY1NSwgMjY1OCwgMjY2MSwgMjY2NCwgCi0gICAgMjY2NywgMjY3MCwgMjY3MywgMjY3NiwgMjY3OSwgMjY4MSwgMjY4NCwgMjY4NiwgMjY4OSwgMjY5MSwgMjY5NCwgMjY5NiwgCi0gICAgMjY5OSwgMjcwMSwgMjcwNCwgMjcwNiwgMjcwOSwgMCwgMCwgMjcxMSwgMjcxNCwgMjcxNywgMjcyMCwgMjcyMywgMjcyNiwgCi0gICAgMjcyOSwgMjczMiwgMjczNSwgMjczOCwgMjc0MSwgMjc0NCwgMjc0NywgMjc1MCwgMjc1MywgMjc1NiwgMjc1OSwgMjc2MiwgCi0gICAgMjc2NSwgMjc2OCwgMjc3MSwgMjc3NCwgMjc3NywgMjc4MCwgMjc4MywgMjc4NiwgMjc4OSwgMjc5MiwgMjc5NSwgMjc5OCwgCi0gICAgMjgwMSwgMjgwNCwgMjgwNywgMjgxMCwgMjgxMywgMjgxNiwgMjgxOSwgMjgyMiwgMjgyNSwgMjgyOCwgMjgzMSwgMjgzNCwgCi0gICAgMjgzNywgMjg0MCwgMjg0MywgMjg0NiwgMjg0OSwgMjg1MiwgMjg1NSwgMjg1OCwgMjg2MSwgMjg2NCwgMjg2NywgMCwgCi0gICAgMjg3MCwgMjg3MywgMjg3NiwgMjg3OSwgMjg4MiwgMjg4NSwgMjg4NywgMjg5MCwgMjg5MywgMjg5NSwgMjg5OCwgMjkwMSwgCi0gICAgMjkwNCwgMjkwNywgMjkxMCwgMCwgMjkxMywgMjkxNiwgMjkxOSwgMjkyMiwgMjkyNCwgMjkyNywgMjkyOSwgMjkzMiwgCi0gICAgMjkzNSwgMjkzOCwgMjk0MSwgMjk0NCwgMjk0NywgMjk1MCwgMCwgMCwgMjk1MiwgMjk1NSwgMjk1OCwgMjk2MSwgMjk2NCwgCi0gICAgMjk2NywgMCwgMjk2OSwgMjk3MiwgMjk3NSwgMjk3OCwgMjk4MSwgMjk4NCwgMjk4NywgMjk4OSwgMjk5MiwgMjk5NSwgCi0gICAgMjk5OCwgMzAwMSwgMzAwNCwgMzAwNywgMzAxMCwgMzAxMiwgMzAxNSwgMzAxOCwgMzAyMCwgMCwgMCwgMzAyMiwgMzAyNSwgCi0gICAgMzAyOCwgMCwgMzAzMSwgMzAzNCwgMzAzNywgMzA0MCwgMzA0MiwgMzA0NSwgMzA0NywgMzA1MCwgMzA1MiwgMCwgMzA1NSwgCi0gICAgMzA1NywgMzA1OSwgMzA2MSwgMzA2MywgMzA2NSwgMzA2NywgMzA2OSwgMzA3MSwgMzA3MywgMzA3NSwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMzA3NywgMCwgMCwgMCwgMCwgMCwgMzA3OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMzA4MiwgMzA4NCwgMzA4NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzA5MSwgMCwgMCwgMCwgMzA5MywgMzA5NiwgMCwgCi0gICAgMzEwMCwgMzEwMywgMCwgMCwgMCwgMCwgMzEwNywgMCwgMzExMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzExMywgCi0gICAgMzExNiwgMzExOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzEyMiwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMzEyNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzEyOSwgMzEzMSwgCi0gICAgMCwgMCwgMzEzMywgMzEzNSwgMzEzNywgMzEzOSwgMzE0MSwgMzE0MywgMzE0NSwgMzE0NywgMzE0OSwgMzE1MSwgMzE1MywgCi0gICAgMzE1NSwgMzE1NywgMzE1OSwgMzE2MSwgMzE2MywgMzE2NSwgMzE2NywgMzE2OSwgMzE3MSwgMzE3MywgMzE3NSwgMzE3NywgCi0gICAgMzE3OSwgMzE4MSwgMzE4MywgMzE4NSwgMCwgMzE4NywgMzE4OSwgMzE5MSwgMzE5MywgMzE5NSwgMzE5NywgMzE5OSwgCi0gICAgMzIwMSwgMzIwMywgMzIwNSwgMzIwNywgMzIwOSwgMzIxMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMzIxMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzIxNiwgMzIyMCwgMzIyNCwgCi0gICAgMzIyNiwgMCwgMzIyOSwgMzIzMywgMzIzNywgMCwgMzIzOSwgMzI0MiwgMzI0NCwgMzI0NiwgMzI0OCwgMzI1MCwgMzI1MiwgCi0gICAgMzI1NCwgMzI1NiwgMzI1OCwgMzI2MCwgMCwgMzI2MiwgMzI2NCwgMCwgMCwgMzI2NywgMzI2OSwgMzI3MSwgMzI3MywgCi0gICAgMzI3NSwgMCwgMCwgMzI3NywgMzI4MCwgMzI4NCwgMCwgMzI4NywgMCwgMzI4OSwgMCwgMzI5MSwgMCwgMzI5MywgMzI5NSwgCi0gICAgMzI5NywgMzI5OSwgMCwgMzMwMSwgMzMwMywgMzMwNSwgMCwgMzMwNywgMzMwOSwgMzMxMSwgMzMxMywgMzMxNSwgMzMxNywgCi0gICAgMzMxOSwgMCwgMzMyMSwgMzMyNSwgMzMyNywgMzMyOSwgMzMzMSwgMzMzMywgMCwgMCwgMCwgMCwgMzMzNSwgMzMzNywgCi0gICAgMzMzOSwgMzM0MSwgMzM0MywgMCwgMCwgMCwgMCwgMCwgMCwgMzM0NSwgMzM0OSwgMzM1MywgMzM1OCwgMzM2MiwgMzM2NiwgCi0gICAgMzM3MCwgMzM3NCwgMzM3OCwgMzM4MiwgMzM4NiwgMzM5MCwgMzM5NCwgMzM5OCwgMzQwMiwgMzQwNiwgMzQwOSwgMzQxMSwgCi0gICAgMzQxNCwgMzQxOCwgMzQyMSwgMzQyMywgMzQyNiwgMzQzMCwgMzQzNSwgMzQzOCwgMzQ0MCwgMzQ0MywgMzQ0NywgMzQ0OSwgCi0gICAgMzQ1MSwgMzQ1MywgMzQ1NSwgMzQ1NywgMzQ2MCwgMzQ2NCwgMzQ2NywgMzQ2OSwgMzQ3MiwgMzQ3NiwgMzQ4MSwgMzQ4NCwgCi0gICAgMzQ4NiwgMzQ4OSwgMzQ5MywgMzQ5NSwgMzQ5NywgMzQ5OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzUwMSwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzUwNSwgMzUwOCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzUxMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzUxNCwgCi0gICAgMzUxNywgMzUyMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzUyMywgMCwgMCwgMCwgMCwgMzUyNiwgMCwgMCwgMzUyOSwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzUzMiwgMCwgMzUzNSwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMzUzOCwgMzU0MSwgMCwgMzU0NSwgMzU0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMzU1MiwgMCwgMCwgMzU1NSwgMCwgMCwgMzU1OCwgMCwgMzU2MSwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzU2NCwgMCwgMzU2NywgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzU3MCwgMzU3MywgMzU3NiwgMzU3OSwgMzU4MiwgMCwgMCwgMzU4NSwgMzU4OCwgCi0gICAgMCwgMCwgMzU5MSwgMzU5NCwgMCwgMCwgMCwgMCwgMCwgMCwgMzU5NywgMzYwMCwgMCwgMCwgMzYwMywgMzYwNiwgMCwgMCwgCi0gICAgMzYwOSwgMzYxMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzYxNSwgMzYxOCwgMzYyMSwgMzYyNCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzYyNywgCi0gICAgMzYzMCwgMzYzMywgMzYzNiwgMCwgMCwgMCwgMCwgMCwgMCwgMzYzOSwgMzY0MiwgMzY0NSwgMzY0OCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzY1MSwgMzY1MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzY1MSwgMzY1MywgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCkBAIC00MjU2LDIzICs0Njk5LDcgQEAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCA0MTAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MTAxLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MTAzLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKQEAgLTQzNzAsMTcyICs0Nzk3LDcgQEAKICAgICA2NTMwLCA2NTMzLCA2NTM2LCA2NTM5LCA2NTQyLCA2NTQ1LCA2NTQ4LCA2NTUxLCA2NTU0LCA2NTU4LCA2NTYyLCA2NTY2LCAKICAgICA2NTcwLCA2NTc0LCA2NTc4LCA2NTgyLCA2NTg2LCA2NTkwLCA2NTk0LCA2NTk4LCA2NjAyLCA2NjA2LCA2NjEwLCA2NjE0LCAKICAgICA2NjE4LCA2NjIyLCA2NjI2LCA2NjMwLCA2NjM0LCA2NjM4LCA2NjQyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCA2NjQ2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA2NjQ4LCA2NjUwLCAwLCAwLCAwLCAwLCAwLCAwLCA2NjUyLCA2NjU0LCA2NjU2LCA2NjU4LCA2NjYwLCA2NjYyLCA2NjY0LCAKLSAgICA2NjY2LCA2NjY4LCA2NjcwLCA2NjcyLCA2Njc0LCA2Njc2LCA2Njc4LCA2NjgwLCA2NjgyLCA2Njg0LCA2Njg2LCA2Njg4LCAKLSAgICA2NjkwLCA2NjkyLCA2Njk0LCA2Njk2LCA2Njk4LCA2NzAwLCA2NzAyLCA2NzA0LCA2NzA2LCA2NzA4LCA2NzEwLCA2NzEyLCAKLSAgICA2NzE0LCA2NzE2LCA2NzE4LCA2NzIwLCA2NzIyLCA2NzI0LCA2NzI2LCA2NzI4LCA2NzMwLCA2NzMyLCA2NzM0LCA2NzM2LCAKLSAgICA2NzM4LCA2NzQwLCA2NzQyLCA2NzQ0LCA2NzQ2LCA2NzQ4LCA2NzUwLCA2NzUyLCA2NzU0LCA2NzU2LCA2NzU4LCA2NzYwLCAKLSAgICA2NzYyLCA2NzY0LCA2NzY2LCA2NzY4LCA2NzcwLCA2NzcyLCA2Nzc0LCA2Nzc2LCA2Nzc4LCA2NzgwLCA2NzgyLCA2Nzg0LCAKLSAgICA2Nzg2LCA2Nzg4LCA2NzkwLCA2NzkyLCA2Nzk0LCA2Nzk2LCA2Nzk4LCA2ODAwLCA2ODAyLCA2ODA0LCA2ODA2LCA2ODA4LCAKLSAgICA2ODEwLCA2ODEyLCA2ODE0LCA2ODE2LCA2ODE4LCA2ODIwLCA2ODIyLCA2ODI0LCA2ODI2LCA2ODI4LCA2ODMwLCA2ODMyLCAKLSAgICA2ODM0LCA2ODM2LCA2ODM4LCA2ODQwLCA2ODQyLCA2ODQ0LCA2ODQ2LCA2ODQ4LCA2ODUwLCA2ODUyLCA2ODU0LCA2ODU2LCAKLSAgICA2ODU4LCA2ODYwLCA2ODYyLCA2ODY0LCA2ODY2LCA2ODY4LCA2ODcwLCA2ODcyLCA2ODc0LCA2ODc2LCA2ODc4LCA2ODgwLCAKLSAgICA2ODgyLCA2ODg0LCA2ODg2LCA2ODg4LCA2ODkwLCA2ODkyLCA2ODk0LCA2ODk2LCA2ODk4LCA2OTAwLCA2OTAyLCA2OTA0LCAKLSAgICA2OTA2LCA2OTA4LCA2OTEwLCA2OTEyLCA2OTE0LCA2OTE2LCA2OTE4LCA2OTIwLCA2OTIyLCA2OTI0LCA2OTI2LCA2OTI4LCAKLSAgICA2OTMwLCA2OTMyLCA2OTM0LCA2OTM2LCA2OTM4LCA2OTQwLCA2OTQyLCA2OTQ0LCA2OTQ2LCA2OTQ4LCA2OTUwLCA2OTUyLCAKLSAgICA2OTU0LCA2OTU2LCA2OTU4LCA2OTYwLCA2OTYyLCA2OTY0LCA2OTY2LCA2OTY4LCA2OTcwLCA2OTcyLCA2OTc0LCA2OTc2LCAKLSAgICA2OTc4LCA2OTgwLCA2OTgyLCA2OTg0LCA2OTg2LCA2OTg4LCA2OTkwLCA2OTkyLCA2OTk0LCA2OTk2LCA2OTk4LCA3MDAwLCAKLSAgICA3MDAyLCA3MDA0LCA3MDA2LCA3MDA4LCA3MDEwLCA3MDEyLCA3MDE0LCA3MDE2LCA3MDE4LCA3MDIwLCA3MDIyLCA3MDI0LCAKLSAgICA3MDI2LCA3MDI4LCA3MDMwLCA3MDMyLCA3MDM0LCA3MDM2LCA3MDM4LCA3MDQwLCA3MDQyLCA3MDQ0LCA3MDQ2LCA3MDQ4LCAKLSAgICA3MDUwLCA3MDUyLCA3MDU0LCA3MDU2LCA3MDU4LCA3MDYwLCA3MDYyLCA3MDY0LCA3MDY2LCA3MDY4LCA3MDcwLCA3MDcyLCAKLSAgICA3MDc0LCA3MDc2LCA3MDc4LCA3MDgwLCA3MDgyLCA3MDg0LCA3MDg2LCA3MDg4LCA3MDkwLCA3MDkyLCA3MDk0LCA3MDk2LCAKLSAgICA3MDk4LCA3MTAwLCA3MTAyLCA3MTA0LCA3MTA2LCA3MTA4LCA3MTEwLCA3MTEyLCA3MTE0LCA3MTE2LCA3MTE4LCA3MTIwLCAKLSAgICA3MTIyLCA3MTI0LCA3MTI2LCA3MTI4LCA3MTMwLCA3MTMyLCA3MTM0LCA3MTM2LCA3MTM4LCA3MTQwLCA3MTQyLCA3MTQ0LCAKLSAgICA3MTQ2LCA3MTQ4LCA3MTUwLCA3MTUyLCA3MTU0LCA3MTU2LCA3MTU4LCA3MTYwLCA3MTYyLCA3MTY0LCA3MTY2LCA3MTY4LCAKLSAgICA3MTcwLCA3MTcyLCA3MTc0LCA3MTc2LCA3MTc4LCA3MTgwLCA3MTgyLCA3MTg0LCA3MTg2LCA3MTg4LCA3MTkwLCAwLCAwLCAKLSAgICA3MTkyLCAwLCA3MTk0LCAwLCAwLCA3MTk2LCA3MTk4LCA3MjAwLCA3MjAyLCA3MjA0LCA3MjA2LCA3MjA4LCA3MjEwLCAKLSAgICA3MjEyLCA3MjE0LCAwLCA3MjE2LCAwLCA3MjE4LCAwLCAwLCA3MjIwLCA3MjIyLCAwLCAwLCAwLCA3MjI0LCA3MjI2LCAKLSAgICA3MjI4LCA3MjMwLCA3MjMyLCA3MjM0LCA3MjM2LCA3MjM4LCA3MjQwLCA3MjQyLCA3MjQ0LCA3MjQ2LCA3MjQ4LCA3MjUwLCAKLSAgICA3MjUyLCA3MjU0LCA3MjU2LCA3MjU4LCA3MjYwLCA3MjYyLCA3MjY0LCA3MjY2LCA3MjY4LCA3MjcwLCA3MjcyLCA3Mjc0LCAKLSAgICA3Mjc2LCA3Mjc4LCA3MjgwLCA3MjgyLCA3Mjg0LCA3Mjg2LCA3Mjg4LCA3MjkwLCA3MjkyLCA3Mjk0LCA3Mjk2LCA3Mjk4LCAKLSAgICA3MzAwLCA3MzAyLCA3MzA0LCA3MzA2LCA3MzA4LCA3MzEwLCA3MzEyLCA3MzE0LCA3MzE2LCA3MzE4LCA3MzIwLCA3MzIyLCAKLSAgICA3MzI0LCA3MzI2LCA3MzI4LCA3MzMwLCA3MzMyLCA3MzM0LCA3MzM2LCA3MzM4LCA3MzQwLCA3MzQyLCA3MzQ0LCA3MzQ2LCAKLSAgICA3MzQ4LCA3MzUwLCA3MzUyLCA3MzU0LCA3MzU2LCA3MzU4LCAwLCAwLCA3MzYwLCA3MzYyLCA3MzY0LCA3MzY2LCA3MzY4LCAKLSAgICA3MzcwLCA3MzcyLCA3Mzc0LCA3Mzc2LCA3Mzc4LCA3MzgwLCA3MzgyLCA3Mzg0LCA3Mzg2LCA3Mzg4LCA3MzkwLCA3MzkyLCAKLSAgICA3Mzk0LCA3Mzk2LCA3Mzk4LCA3NDAwLCA3NDAyLCA3NDA0LCA3NDA2LCA3NDA4LCA3NDEwLCA3NDEyLCA3NDE0LCA3NDE2LCAKLSAgICA3NDE4LCA3NDIwLCA3NDIyLCA3NDI0LCA3NDI2LCA3NDI4LCA3NDMwLCA3NDMyLCA3NDM0LCA3NDM2LCA3NDM4LCA3NDQwLCAKLSAgICA3NDQyLCA3NDQ0LCA3NDQ2LCA3NDQ4LCA3NDUwLCA3NDUyLCA3NDU0LCA3NDU2LCA3NDU4LCA3NDYwLCA3NDYyLCA3NDY0LCAKLSAgICA3NDY2LCA3NDY4LCA3NDcwLCA3NDcyLCA3NDc0LCA3NDc2LCA3NDc4LCA3NDgwLCA3NDgyLCA3NDg0LCA3NDg2LCA3NDg4LCAKLSAgICA3NDkwLCA3NDkyLCA3NDk0LCA3NDk2LCA3NDk4LCA3NTAwLCA3NTAyLCA3NTA0LCA3NTA2LCA3NTA4LCA3NTEwLCA3NTEyLCAKLSAgICA3NTE0LCA3NTE2LCA3NTE4LCA3NTIwLCA3NTIyLCA3NTI0LCA3NTI2LCA3NTI4LCA3NTMwLCA3NTMyLCA3NTM0LCA3NTM2LCAKLSAgICA3NTM4LCA3NTQwLCA3NTQyLCA3NTQ0LCA3NTQ2LCA3NTQ4LCA3NTUwLCA3NTUyLCA3NTU0LCA3NTU2LCA3NTU4LCA3NTYwLCAKLSAgICA3NTYyLCA3NTY0LCA3NTY2LCA3NTY4LCA3NTcwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA3NTcyLCA3NTc1LCA3NTc4LCA3NTgxLCA3NTg1LCA3NTg5LCA3NTkyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCA3NTk1LCA3NTk4LCA3NjAxLCA3NjA0LCA3NjA3LCAwLCAwLCAwLCAwLCAwLCA3NjEwLCAwLCA3NjEzLCA3NjE2LCAKLSAgICA3NjE4LCA3NjIwLCA3NjIyLCA3NjI0LCA3NjI2LCA3NjI4LCA3NjMwLCA3NjMyLCA3NjM0LCA3NjM2LCA3NjM5LCA3NjQyLCAKLSAgICA3NjQ1LCA3NjQ4LCA3NjUxLCA3NjU0LCA3NjU3LCA3NjYwLCA3NjYzLCA3NjY2LCA3NjY5LCA3NjcyLCAwLCA3Njc1LCAKLSAgICA3Njc4LCA3NjgxLCA3Njg0LCA3Njg3LCAwLCA3NjkwLCAwLCA3NjkzLCA3Njk2LCAwLCA3Njk5LCA3NzAyLCAwLCA3NzA1LCAKLSAgICA3NzA4LCA3NzExLCA3NzE0LCA3NzE3LCA3NzIwLCA3NzIzLCA3NzI2LCA3NzI5LCA3NzMyLCA3NzM1LCA3NzM3LCA3NzM5LCAKLSAgICA3NzQxLCA3NzQzLCA3NzQ1LCA3NzQ3LCA3NzQ5LCA3NzUxLCA3NzUzLCA3NzU1LCA3NzU3LCA3NzU5LCA3NzYxLCA3NzYzLCAKLSAgICA3NzY1LCA3NzY3LCA3NzY5LCA3NzcxLCA3NzczLCA3Nzc1LCA3Nzc3LCA3Nzc5LCA3NzgxLCA3NzgzLCA3Nzg1LCA3Nzg3LCAKLSAgICA3Nzg5LCA3NzkxLCA3NzkzLCA3Nzk1LCA3Nzk3LCA3Nzk5LCA3ODAxLCA3ODAzLCA3ODA1LCA3ODA3LCA3ODA5LCA3ODExLCAKLSAgICA3ODEzLCA3ODE1LCA3ODE3LCA3ODE5LCA3ODIxLCA3ODIzLCA3ODI1LCA3ODI3LCA3ODI5LCA3ODMxLCA3ODMzLCA3ODM1LCAKLSAgICA3ODM3LCA3ODM5LCA3ODQxLCA3ODQzLCA3ODQ1LCA3ODQ3LCA3ODQ5LCA3ODUxLCA3ODUzLCA3ODU1LCA3ODU3LCA3ODU5LCAKLSAgICA3ODYxLCA3ODYzLCA3ODY1LCA3ODY3LCA3ODY5LCA3ODcxLCA3ODczLCA3ODc1LCA3ODc3LCA3ODc5LCA3ODgxLCA3ODgzLCAKLSAgICA3ODg1LCA3ODg3LCA3ODg5LCA3ODkxLCA3ODkzLCA3ODk1LCA3ODk3LCA3ODk5LCA3OTAxLCA3OTAzLCA3OTA1LCA3OTA3LCAKLSAgICA3OTA5LCA3OTExLCA3OTEzLCA3OTE1LCA3OTE3LCA3OTE5LCA3OTIxLCA3OTIzLCA3OTI1LCA3OTI3LCA3OTI5LCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3OTMxLCA3OTMzLCA3OTM1LCA3OTM3LCA3OTM5LCA3OTQxLCA3OTQzLCA3OTQ1LCAKLSAgICA3OTQ3LCA3OTQ5LCA3OTUxLCA3OTUzLCA3OTU1LCA3OTU3LCA3OTU5LCA3OTYxLCA3OTYzLCA3OTY1LCA3OTY3LCA3OTY5LCAKLSAgICA3OTcxLCA3OTczLCA3OTc1LCA3OTc3LCA3OTgwLCA3OTgzLCA3OTg2LCA3OTg5LCA3OTkyLCA3OTk1LCA3OTk4LCA4MDAxLCAKLSAgICA4MDA0LCA4MDA3LCA4MDEwLCA4MDEzLCA4MDE2LCA4MDE5LCA4MDIyLCA4MDI1LCA4MDI4LCA4MDMxLCA4MDMzLCA4MDM1LCAKLSAgICA4MDM3LCA4MDM5LCA4MDQyLCA4MDQ1LCA4MDQ4LCA4MDUxLCA4MDU0LCA4MDU3LCA4MDYwLCA4MDYzLCA4MDY2LCA4MDY5LCAKLSAgICA4MDcyLCA4MDc1LCA4MDc4LCA4MDgxLCA4MDg0LCA4MDg3LCA4MDkwLCA4MDkzLCA4MDk2LCA4MDk5LCA4MTAyLCA4MTA1LCAKLSAgICA4MTA4LCA4MTExLCA4MTE0LCA4MTE3LCA4MTIwLCA4MTIzLCA4MTI2LCA4MTI5LCA4MTMyLCA4MTM1LCA4MTM4LCA4MTQxLCAKLSAgICA4MTQ0LCA4MTQ3LCA4MTUwLCA4MTUzLCA4MTU2LCA4MTU5LCA4MTYyLCA4MTY1LCA4MTY4LCA4MTcxLCA4MTc0LCA4MTc3LCAKLSAgICA4MTgwLCA4MTgzLCA4MTg2LCA4MTg5LCA4MTkyLCA4MTk1LCA4MTk4LCA4MjAxLCA4MjA0LCA4MjA3LCA4MjEwLCA4MjEzLCAKLSAgICA4MjE2LCA4MjE5LCA4MjIyLCA4MjI1LCA4MjI4LCA4MjMxLCA4MjM0LCA4MjM3LCA4MjQwLCA4MjQzLCA4MjQ2LCA4MjQ5LCAKLSAgICA4MjUyLCA4MjU1LCA4MjU4LCA4MjYxLCA4MjY0LCA4MjY3LCA4MjcwLCA4MjczLCA4Mjc2LCA4Mjc5LCA4MjgyLCA4Mjg1LCAKLSAgICA4Mjg4LCA4MjkxLCA4Mjk0LCA4Mjk3LCA4MzAwLCA4MzAzLCA4MzA2LCA4MzA5LCA4MzEyLCA4MzE1LCA4MzE4LCA4MzIxLCAKLSAgICA4MzI1LCA4MzI5LCA4MzMzLCA4MzM3LCA4MzQxLCA4MzQ1LCA4MzQ4LCA4MzUxLCA4MzU0LCA4MzU3LCA4MzYwLCA4MzYzLCAKLSAgICA4MzY2LCA4MzY5LCA4MzcyLCA4Mzc1LCA4Mzc4LCA4MzgxLCA4Mzg0LCA4Mzg3LCA4MzkwLCA4MzkzLCA4Mzk2LCA4Mzk5LCAKLSAgICA4NDAyLCA4NDA1LCA4NDA4LCA4NDExLCA4NDE0LCA4NDE3LCA4NDIwLCA4NDIzLCA4NDI2LCA4NDI5LCA4NDMyLCA4NDM1LCAKLSAgICA4NDM4LCA4NDQxLCA4NDQ0LCA4NDQ3LCA4NDUwLCA4NDUzLCA4NDU2LCA4NDU5LCA4NDYyLCA4NDY1LCA4NDY4LCA4NDcxLCAKLSAgICA4NDc0LCA4NDc3LCA4NDgwLCA4NDgzLCA4NDg2LCA4NDg5LCA4NDkyLCA4NDk1LCA4NDk4LCA4NTAxLCA4NTA0LCA4NTA3LCAKLSAgICA4NTEwLCA4NTEzLCA4NTE2LCA4NTE5LCA4NTIyLCA4NTI1LCA4NTI4LCA4NTMxLCA4NTM0LCA4NTM3LCA4NTQwLCA4NTQzLCAKLSAgICA4NTQ2LCA4NTQ5LCA4NTUyLCA4NTU1LCA4NTU4LCA4NTYxLCA4NTY0LCA4NTY3LCA4NTcwLCA4NTczLCA4NTc2LCA4NTc5LCAKLSAgICA4NTgyLCA4NTg1LCA4NTg4LCA4NTkxLCA4NTk0LCA4NTk3LCA4NjAwLCA4NjAzLCA4NjA2LCA4NjA5LCA4NjEyLCA4NjE1LCAKLSAgICA4NjE4LCA4NjIxLCA4NjI0LCA4NjI3LCA4NjMwLCA4NjMzLCA4NjM2LCA4NjM5LCA4NjQyLCA4NjQ1LCA4NjQ4LCA4NjUxLCAKLSAgICA4NjU0LCA4NjU3LCA4NjYwLCA4NjYzLCA4NjY2LCA4NjY5LCA4NjcyLCA4Njc1LCA4Njc4LCA4NjgxLCA4Njg0LCA4Njg3LCAKLSAgICA4NjkwLCA4NjkzLCA4Njk2LCA4Njk5LCA4NzAyLCA4NzA1LCA4NzA4LCA4NzExLCA4NzE0LCA4NzE3LCA4NzIwLCA4NzIzLCAKLSAgICA4NzI2LCA4NzI5LCA4NzMyLCA4NzM1LCA4NzM4LCA4NzQxLCA4NzQ0LCA4NzQ3LCA4NzUwLCA4NzUzLCA4NzU2LCA4NzU5LCAKLSAgICA4NzYyLCA4NzY1LCA4NzY4LCA4NzcxLCA4Nzc1LCA4Nzc5LCA4NzgzLCA4Nzg2LCA4Nzg5LCA4NzkyLCA4Nzk1LCA4Nzk4LCAKLSAgICA4ODAxLCA4ODA0LCA4ODA3LCA4ODEwLCA4ODEzLCA4ODE2LCA4ODE5LCA4ODIyLCA4ODI1LCA4ODI4LCA4ODMxLCA4ODM0LCAKLSAgICA4ODM3LCA4ODQwLCA4ODQzLCA4ODQ2LCA4ODQ5LCA4ODUyLCA4ODU1LCA4ODU4LCA4ODYxLCA4ODY0LCA4ODY3LCA4ODcwLCAKLSAgICA4ODczLCA4ODc2LCA4ODc5LCA4ODgyLCA4ODg1LCA4ODg4LCA4ODkxLCA4ODk0LCA4ODk3LCA4OTAwLCA4OTAzLCA4OTA2LCAKLSAgICA4OTA5LCA4OTEyLCA4OTE1LCA4OTE4LCA4OTIxLCA4OTI0LCA4OTI3LCA4OTMwLCA4OTMzLCA4OTM2LCA4OTM5LCA4OTQyLCAKLSAgICA4OTQ1LCA4OTQ4LCA4OTUxLCA4OTU0LCA4OTU3LCA4OTYwLCA4OTYzLCA4OTY2LCA4OTY5LCA4OTcyLCA4OTc1LCA4OTc4LCAKLSAgICA4OTgxLCA4OTg0LCA4OTg3LCA4OTkwLCA4OTkzLCA4OTk2LCA4OTk5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5MDAyLCA5MDA2LCA5MDEwLCA5MDE0LCA5MDE4LCA5MDIyLCA5MDI2LCA5MDMwLCAKLSAgICA5MDM0LCA5MDM4LCA5MDQyLCA5MDQ2LCA5MDUwLCA5MDU0LCA5MDU4LCA5MDYyLCA5MDY2LCA5MDcwLCA5MDc0LCA5MDc4LCAKLSAgICA5MDgyLCA5MDg2LCA5MDkwLCA5MDk0LCA5MDk4LCA5MTAyLCA5MTA2LCA5MTEwLCA5MTE0LCA5MTE4LCA5MTIyLCA5MTI2LCAKLSAgICA5MTMwLCA5MTM0LCA5MTM4LCA5MTQyLCA5MTQ2LCA5MTUwLCA5MTU0LCA5MTU4LCA5MTYyLCA5MTY2LCA5MTcwLCA5MTc0LCAKLSAgICA5MTc4LCA5MTgyLCA5MTg2LCA5MTkwLCA5MTk0LCA5MTk4LCA5MjAyLCA5MjA2LCA5MjEwLCA5MjE0LCA5MjE4LCA5MjIyLCAKLSAgICA5MjI2LCA5MjMwLCA5MjM0LCA5MjM4LCA5MjQyLCA5MjQ2LCA5MjUwLCA5MjU0LCAwLCAwLCA5MjU4LCA5MjYyLCA5MjY2LCAKLSAgICA5MjcwLCA5Mjc0LCA5Mjc4LCA5MjgyLCA5Mjg2LCA5MjkwLCA5Mjk0LCA5Mjk4LCA5MzAyLCA5MzA2LCA5MzEwLCA5MzE0LCAKLSAgICA5MzE4LCA5MzIyLCA5MzI2LCA5MzMwLCA5MzM0LCA5MzM4LCA5MzQyLCA5MzQ2LCA5MzUwLCA5MzU0LCA5MzU4LCA5MzYyLCAKLSAgICA5MzY2LCA5MzcwLCA5Mzc0LCA5Mzc4LCA5MzgyLCA5Mzg2LCA5MzkwLCA5Mzk0LCA5Mzk4LCA5NDAyLCA5NDA2LCA5NDEwLCAKLSAgICA5NDE0LCA5NDE4LCA5NDIyLCA5NDI2LCA5NDMwLCA5NDM0LCA5NDM4LCA5NDQyLCA5NDQ2LCA5NDUwLCA5NDU0LCA5NDU4LCAKLSAgICA5NDYyLCA5NDY2LCA5NDcwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5NDc0LCAKLSAgICA5NDc4LCA5NDgyLCA5NDg3LCA5NDkyLCA5NDk3LCA5NTAyLCA5NTA3LCA5NTEyLCA5NTE3LCA5NTIxLCA5NTQwLCA5NTQ5LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5NTU0LCA5NTU2LCAKLSAgICA5NTU4LCA5NTYwLCA5NTYyLCA5NTY0LCA5NTY2LCA5NTY4LCA5NTcwLCA5NTcyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5NTc0LCA5NTc2LCA5NTc4LCA5NTgwLCA5NTgyLCAKLSAgICA5NTg0LCA5NTg2LCA5NTg4LCA5NTkwLCA5NTkyLCA5NTk0LCA5NTk2LCA5NTk4LCA5NjAwLCA5NjAyLCA5NjA0LCA5NjA2LCAKLSAgICA5NjA4LCA5NjEwLCA5NjEyLCA5NjE0LCAwLCAwLCA5NjE2LCA5NjE4LCA5NjIwLCA5NjIyLCA5NjI0LCA5NjI2LCA5NjI4LCAKLSAgICA5NjMwLCA5NjMyLCA5NjM0LCA5NjM2LCA5NjM4LCAwLCA5NjQwLCA5NjQyLCA5NjQ0LCA5NjQ2LCA5NjQ4LCA5NjUwLCAKLSAgICA5NjUyLCA5NjU0LCA5NjU2LCA5NjU4LCA5NjYwLCA5NjYyLCA5NjY0LCA5NjY2LCA5NjY4LCA5NjcwLCA5NjcyLCA5Njc0LCAKLSAgICA5Njc2LCAwLCA5Njc4LCA5NjgwLCA5NjgyLCA5Njg0LCAwLCAwLCAwLCAwLCA5Njg2LCA5Njg5LCA5NjkyLCAwLCA5Njk1LCAKLSAgICAwLCA5Njk4LCA5NzAxLCA5NzA0LCA5NzA3LCA5NzEwLCA5NzEzLCA5NzE2LCA5NzE5LCA5NzIyLCA5NzI1LCA5NzI4LCAKLSAgICA5NzMwLCA5NzMyLCA5NzM0LCA5NzM2LCA5NzM4LCA5NzQwLCA5NzQyLCA5NzQ0LCA5NzQ2LCA5NzQ4LCA5NzUwLCA5NzUyLCAKLSAgICA5NzU0LCA5NzU2LCA5NzU4LCA5NzYwLCA5NzYyLCA5NzY0LCA5NzY2LCA5NzY4LCA5NzcwLCA5NzcyLCA5Nzc0LCA5Nzc2LCAKLSAgICA5Nzc4LCA5NzgwLCA5NzgyLCA5Nzg0LCA5Nzg2LCA5Nzg4LCA5NzkwLCA5NzkyLCA5Nzk0LCA5Nzk2LCA5Nzk4LCA5ODAwLCAKLSAgICA5ODAyLCA5ODA0LCA5ODA2LCA5ODA4LCA5ODEwLCA5ODEyLCA5ODE0LCA5ODE2LCA5ODE4LCA5ODIwLCA5ODIyLCA5ODI0LCAKLSAgICA5ODI2LCA5ODI4LCA5ODMwLCA5ODMyLCA5ODM0LCA5ODM2LCA5ODM4LCA5ODQwLCA5ODQyLCA5ODQ0LCA5ODQ2LCA5ODQ4LCAKLSAgICA5ODUwLCA5ODUyLCA5ODU0LCA5ODU2LCA5ODU4LCA5ODYwLCA5ODYyLCA5ODY0LCA5ODY2LCA5ODY4LCA5ODcwLCA5ODcyLCAKLSAgICA5ODc0LCA5ODc2LCA5ODc4LCA5ODgwLCA5ODgyLCA5ODg0LCA5ODg2LCA5ODg4LCA5ODkwLCA5ODkyLCA5ODk0LCA5ODk2LCAKLSAgICA5ODk4LCA5OTAwLCA5OTAyLCA5OTA0LCA5OTA2LCA5OTA4LCA5OTEwLCA5OTEyLCA5OTE0LCA5OTE2LCA5OTE4LCA5OTIwLCAKLSAgICA5OTIyLCA5OTI0LCA5OTI2LCA5OTI4LCA5OTMwLCA5OTMyLCA5OTM0LCA5OTM2LCA5OTM4LCA5OTQwLCA5OTQyLCA5OTQ0LCAKLSAgICA5OTQ2LCA5OTQ4LCA5OTUwLCA5OTUyLCA5OTU0LCA5OTU2LCA5OTU4LCA5OTYwLCA5OTYyLCA5OTY1LCA5OTY4LCA5OTcxLCAKLSAgICA5OTc0LCA5OTc3LCA5OTgwLCA5OTgzLCAwLCAwLCAwLCAwLCA5OTg2LCA5OTg4LCA5OTkwLCA5OTkyLCA5OTk0LCA5OTk2LCAKLSAgICA5OTk4LCAxMDAwMCwgMTAwMDIsIDEwMDA0LCAxMDAwNiwgMTAwMDgsIDEwMDEwLCAxMDAxMiwgMTAwMTQsIDEwMDE2LCAKLSAgICAxMDAxOCwgMTAwMjAsIDEwMDIyLCAxMDAyNCwgMTAwMjYsIDEwMDI4LCAxMDAzMCwgMTAwMzIsIDEwMDM0LCAxMDAzNiwgCi0gICAgMTAwMzgsIDEwMDQwLCAxMDA0MiwgMTAwNDQsIDEwMDQ2LCAxMDA0OCwgMTAwNTAsIDEwMDUyLCAxMDA1NCwgMTAwNTYsIAotICAgIDEwMDU4LCAxMDA2MCwgMTAwNjIsIDEwMDY0LCAxMDA2NiwgMTAwNjgsIDEwMDcwLCAxMDA3MiwgMTAwNzQsIDEwMDc2LCAKLSAgICAxMDA3OCwgMTAwODAsIDEwMDgyLCAxMDA4NCwgMTAwODYsIDEwMDg4LCAxMDA5MCwgMTAwOTIsIDEwMDk0LCAxMDA5NiwgCi0gICAgMTAwOTgsIDEwMTAwLCAxMDEwMiwgMTAxMDQsIDEwMTA2LCAxMDEwOCwgMTAxMTAsIDEwMTEyLCAxMDExNCwgMTAxMTYsIAotICAgIDEwMTE4LCAxMDEyMCwgMTAxMjIsIDEwMTI0LCAxMDEyNiwgMTAxMjgsIDEwMTMwLCAxMDEzMiwgMTAxMzQsIDEwMTM2LCAKLSAgICAxMDEzOCwgMTAxNDAsIDEwMTQyLCAxMDE0NCwgMTAxNDYsIDEwMTQ4LCAxMDE1MCwgMTAxNTIsIDEwMTU0LCAxMDE1NiwgCi0gICAgMTAxNTgsIDEwMTYwLCAxMDE2MiwgMTAxNjQsIDEwMTY2LCAxMDE2OCwgMTAxNzAsIDEwMTcyLCAxMDE3NCwgMTAxNzYsIAotICAgIDEwMTc4LCAxMDE4MCwgMTAxODIsIDEwMTg0LCAxMDE4NiwgMTAxODgsIDEwMTkwLCAxMDE5MiwgMTAxOTQsIDEwMTk2LCAKLSAgICAxMDE5OCwgMTAyMDAsIDEwMjAyLCAxMDIwNCwgMTAyMDYsIDEwMjA4LCAxMDIxMCwgMTAyMTIsIDEwMjE0LCAxMDIxNiwgCi0gICAgMTAyMTgsIDEwMjIwLCAxMDIyMiwgMTAyMjQsIDEwMjI2LCAxMDIyOCwgMTAyMzAsIDEwMjMyLCAxMDIzNCwgMTAyMzYsIAotICAgIDEwMjM4LCAxMDI0MCwgMTAyNDIsIDEwMjQ0LCAxMDI0NiwgMTAyNDgsIDEwMjUwLCAxMDI1MiwgMTAyNTQsIDEwMjU2LCAKLSAgICAxMDI1OCwgMTAyNjAsIDEwMjYyLCAxMDI2NCwgMTAyNjYsIDEwMjY4LCAxMDI3MCwgMTAyNzIsIDEwMjc0LCAxMDI3NiwgCi0gICAgMTAyNzgsIDEwMjgwLCAxMDI4MiwgMTAyODQsIDEwMjg2LCAxMDI4OCwgMTAyOTAsIDEwMjkyLCAxMDI5NCwgMTAyOTYsIAotICAgIDEwMjk4LCAxMDMwMCwgMTAzMDIsIDEwMzA0LCAxMDMwNiwgMTAzMDgsIDEwMzEwLCAxMDMxMiwgMTAzMTQsIDEwMzE2LCAKLSAgICAxMDMxOCwgMTAzMjAsIDEwMzIyLCAxMDMyNCwgMTAzMjYsIDEwMzI4LCAxMDMzMCwgMTAzMzIsIDEwMzM0LCAxMDMzNiwgCi0gICAgMTAzMzgsIDEwMzQwLCAxMDM0MiwgMTAzNDQsIDEwMzQ2LCAxMDM0OCwgMTAzNTAsIDEwMzUyLCAxMDM1NCwgMTAzNTYsIAotICAgIDEwMzU4LCAxMDM2MCwgMTAzNjIsIDEwMzY0LCAwLCAwLCAwLCAxMDM2NiwgMTAzNjgsIDEwMzcwLCAxMDM3MiwgMTAzNzQsIAotICAgIDEwMzc2LCAwLCAwLCAxMDM3OCwgMTAzODAsIDEwMzgyLCAxMDM4NCwgMTAzODYsIDEwMzg4LCAwLCAwLCAxMDM5MCwgCi0gICAgMTAzOTIsIDEwMzk0LCAxMDM5NiwgMTAzOTgsIDEwNDAwLCAwLCAwLCAxMDQwMiwgMTA0MDQsIDEwNDA2LCAwLCAwLCAwLCAKLSAgICAxMDQwOCwgMTA0MTAsIDEwNDEyLCAxMDQxNCwgMTA0MTYsIDEwNDE4LCAxMDQyMCwgMCwgMTA0MjIsIDEwNDI0LCAxMDQyNiwgCi0gICAgMTA0MjgsIDEwNDMwLCAxMDQzMiwgMTA0MzQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwNDM2LCAwLCAxMDQzOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA0NDIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwNDQ1LCAxMDQ0OCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjY0NiwgNjY0OCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCkBAIC00NTQ0LDYxMSArNDgwNiw4MTMgQEAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2NjUwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDQ1MSwgMTA0NTQsIDEwNDU3LCAxMDQ2MCwgMTA0NjMsIAotICAgIDEwNDY2LCAxMDQ2OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjY1MiwgNjY1NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA0NzIsIDEwNDc1LCAKLSAgICAxMDQ3OCwgMTA0ODEsIDEwNDg0LCAxMDQ4NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjY1NiwgNjY1OCwgNjY2MCwgNjY2MiwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMTA0OTAsIDEwNDkyLCAxMDQ5NCwgMTA0OTYsIDEwNDk4LCAxMDUwMCwgMTA1MDIsIDEwNTA0LCAxMDUwNiwgMTA1MDgsIAotICAgIDEwNTEwLCAxMDUxMiwgMTA1MTQsIDEwNTE2LCAxMDUxOCwgMTA1MjAsIDEwNTIyLCAxMDUyNCwgMTA1MjYsIDEwNTI4LCAKLSAgICAxMDUzMCwgMTA1MzIsIDEwNTM0LCAxMDUzNiwgMTA1MzgsIDEwNTQwLCAxMDU0MiwgMTA1NDQsIDEwNTQ2LCAxMDU0OCwgCi0gICAgMTA1NTAsIDEwNTUyLCAxMDU1NCwgMTA1NTYsIDEwNTU4LCAxMDU2MCwgMTA1NjIsIDEwNTY0LCAxMDU2NiwgMTA1NjgsIAotICAgIDEwNTcwLCAxMDU3MiwgMTA1NzQsIDEwNTc2LCAxMDU3OCwgMTA1ODAsIDEwNTgyLCAxMDU4NCwgMTA1ODYsIDEwNTg4LCAKLSAgICAxMDU5MCwgMTA1OTIsIDEwNTk0LCAxMDU5NiwgMTA1OTgsIDEwNjAwLCAxMDYwMiwgMTA2MDQsIDEwNjA2LCAxMDYwOCwgCi0gICAgMTA2MTAsIDEwNjEyLCAxMDYxNCwgMTA2MTYsIDEwNjE4LCAxMDYyMCwgMTA2MjIsIDEwNjI0LCAxMDYyNiwgMTA2MjgsIAotICAgIDEwNjMwLCAxMDYzMiwgMTA2MzQsIDEwNjM2LCAxMDYzOCwgMTA2NDAsIDEwNjQyLCAxMDY0NCwgMTA2NDYsIDEwNjQ4LCAKLSAgICAxMDY1MCwgMTA2NTIsIDEwNjU0LCAxMDY1NiwgMTA2NTgsIDAsIDEwNjYwLCAxMDY2MiwgMTA2NjQsIDEwNjY2LCAxMDY2OCwgCi0gICAgMTA2NzAsIDEwNjcyLCAxMDY3NCwgMTA2NzYsIDEwNjc4LCAxMDY4MCwgMTA2ODIsIDEwNjg0LCAxMDY4NiwgMTA2ODgsIAotICAgIDEwNjkwLCAxMDY5MiwgMTA2OTQsIDEwNjk2LCAxMDY5OCwgMTA3MDAsIDEwNzAyLCAxMDcwNCwgMTA3MDYsIDEwNzA4LCAKLSAgICAxMDcxMCwgMTA3MTIsIDEwNzE0LCAxMDcxNiwgMTA3MTgsIDEwNzIwLCAxMDcyMiwgMTA3MjQsIDEwNzI2LCAxMDcyOCwgCi0gICAgMTA3MzAsIDEwNzMyLCAxMDczNCwgMTA3MzYsIDEwNzM4LCAxMDc0MCwgMTA3NDIsIDEwNzQ0LCAxMDc0NiwgMTA3NDgsIAotICAgIDEwNzUwLCAxMDc1MiwgMTA3NTQsIDEwNzU2LCAxMDc1OCwgMTA3NjAsIDEwNzYyLCAxMDc2NCwgMTA3NjYsIDEwNzY4LCAKLSAgICAxMDc3MCwgMTA3NzIsIDEwNzc0LCAxMDc3NiwgMTA3NzgsIDEwNzgwLCAxMDc4MiwgMTA3ODQsIDEwNzg2LCAxMDc4OCwgCi0gICAgMTA3OTAsIDEwNzkyLCAxMDc5NCwgMTA3OTYsIDEwNzk4LCAxMDgwMCwgMCwgMTA4MDIsIDEwODA0LCAwLCAwLCAxMDgwNiwgCi0gICAgMCwgMCwgMTA4MDgsIDEwODEwLCAwLCAwLCAxMDgxMiwgMTA4MTQsIDEwODE2LCAxMDgxOCwgMCwgMTA4MjAsIDEwODIyLCAKLSAgICAxMDgyNCwgMTA4MjYsIDEwODI4LCAxMDgzMCwgMTA4MzIsIDEwODM0LCAxMDgzNiwgMTA4MzgsIDEwODQwLCAxMDg0MiwgMCwgCi0gICAgMTA4NDQsIDAsIDEwODQ2LCAxMDg0OCwgMTA4NTAsIDEwODUyLCAxMDg1NCwgMTA4NTYsIDEwODU4LCAwLCAxMDg2MCwgCi0gICAgMTA4NjIsIDEwODY0LCAxMDg2NiwgMTA4NjgsIDEwODcwLCAxMDg3MiwgMTA4NzQsIDEwODc2LCAxMDg3OCwgMTA4ODAsIAotICAgIDEwODgyLCAxMDg4NCwgMTA4ODYsIDEwODg4LCAxMDg5MCwgMTA4OTIsIDEwODk0LCAxMDg5NiwgMTA4OTgsIDEwOTAwLCAKLSAgICAxMDkwMiwgMTA5MDQsIDEwOTA2LCAxMDkwOCwgMTA5MTAsIDEwOTEyLCAxMDkxNCwgMTA5MTYsIDEwOTE4LCAxMDkyMCwgCi0gICAgMTA5MjIsIDEwOTI0LCAxMDkyNiwgMTA5MjgsIDEwOTMwLCAxMDkzMiwgMTA5MzQsIDEwOTM2LCAxMDkzOCwgMTA5NDAsIAotICAgIDEwOTQyLCAxMDk0NCwgMTA5NDYsIDEwOTQ4LCAxMDk1MCwgMTA5NTIsIDEwOTU0LCAxMDk1NiwgMTA5NTgsIDEwOTYwLCAKLSAgICAxMDk2MiwgMTA5NjQsIDEwOTY2LCAxMDk2OCwgMTA5NzAsIDEwOTcyLCAxMDk3NCwgMTA5NzYsIDEwOTc4LCAxMDk4MCwgCi0gICAgMTA5ODIsIDEwOTg0LCAxMDk4NiwgMTA5ODgsIDAsIDEwOTkwLCAxMDk5MiwgMTA5OTQsIDEwOTk2LCAwLCAwLCAxMDk5OCwgCi0gICAgMTEwMDAsIDExMDAyLCAxMTAwNCwgMTEwMDYsIDExMDA4LCAxMTAxMCwgMTEwMTIsIDAsIDExMDE0LCAxMTAxNiwgMTEwMTgsIAotICAgIDExMDIwLCAxMTAyMiwgMTEwMjQsIDExMDI2LCAwLCAxMTAyOCwgMTEwMzAsIDExMDMyLCAxMTAzNCwgMTEwMzYsIDExMDM4LCAKLSAgICAxMTA0MCwgMTEwNDIsIDExMDQ0LCAxMTA0NiwgMTEwNDgsIDExMDUwLCAxMTA1MiwgMTEwNTQsIDExMDU2LCAxMTA1OCwgCi0gICAgMTEwNjAsIDExMDYyLCAxMTA2NCwgMTEwNjYsIDExMDY4LCAxMTA3MCwgMTEwNzIsIDExMDc0LCAxMTA3NiwgMTEwNzgsIAotICAgIDExMDgwLCAxMTA4MiwgMCwgMTEwODQsIDExMDg2LCAxMTA4OCwgMTEwOTAsIDAsIDExMDkyLCAxMTA5NCwgMTEwOTYsIAotICAgIDExMDk4LCAxMTEwMCwgMCwgMTExMDIsIDAsIDAsIDAsIDExMTA0LCAxMTEwNiwgMTExMDgsIDExMTEwLCAxMTExMiwgCi0gICAgMTExMTQsIDExMTE2LCAwLCAxMTExOCwgMTExMjAsIDExMTIyLCAxMTEyNCwgMTExMjYsIDExMTI4LCAxMTEzMCwgMTExMzIsIAotICAgIDExMTM0LCAxMTEzNiwgMTExMzgsIDExMTQwLCAxMTE0MiwgMTExNDQsIDExMTQ2LCAxMTE0OCwgMTExNTAsIDExMTUyLCAKLSAgICAxMTE1NCwgMTExNTYsIDExMTU4LCAxMTE2MCwgMTExNjIsIDExMTY0LCAxMTE2NiwgMTExNjgsIDExMTcwLCAxMTE3MiwgCi0gICAgMTExNzQsIDExMTc2LCAxMTE3OCwgMTExODAsIDExMTgyLCAxMTE4NCwgMTExODYsIDExMTg4LCAxMTE5MCwgMTExOTIsIAotICAgIDExMTk0LCAxMTE5NiwgMTExOTgsIDExMjAwLCAxMTIwMiwgMTEyMDQsIDExMjA2LCAxMTIwOCwgMTEyMTAsIDExMjEyLCAKLSAgICAxMTIxNCwgMTEyMTYsIDExMjE4LCAxMTIyMCwgMTEyMjIsIDExMjI0LCAxMTIyNiwgMTEyMjgsIDExMjMwLCAxMTIzMiwgCi0gICAgMTEyMzQsIDExMjM2LCAxMTIzOCwgMTEyNDAsIDExMjQyLCAxMTI0NCwgMTEyNDYsIDExMjQ4LCAxMTI1MCwgMTEyNTIsIAotICAgIDExMjU0LCAxMTI1NiwgMTEyNTgsIDExMjYwLCAxMTI2MiwgMTEyNjQsIDExMjY2LCAxMTI2OCwgMTEyNzAsIDExMjcyLCAKLSAgICAxMTI3NCwgMTEyNzYsIDExMjc4LCAxMTI4MCwgMTEyODIsIDExMjg0LCAxMTI4NiwgMTEyODgsIDExMjkwLCAxMTI5MiwgCi0gICAgMTEyOTQsIDExMjk2LCAxMTI5OCwgMTEzMDAsIDExMzAyLCAxMTMwNCwgMTEzMDYsIDExMzA4LCAxMTMxMCwgMTEzMTIsIAotICAgIDExMzE0LCAxMTMxNiwgMTEzMTgsIDExMzIwLCAxMTMyMiwgMTEzMjQsIDExMzI2LCAxMTMyOCwgMTEzMzAsIDExMzMyLCAKLSAgICAxMTMzNCwgMTEzMzYsIDExMzM4LCAxMTM0MCwgMTEzNDIsIDExMzQ0LCAxMTM0NiwgMTEzNDgsIDExMzUwLCAxMTM1MiwgCi0gICAgMTEzNTQsIDExMzU2LCAxMTM1OCwgMTEzNjAsIDExMzYyLCAxMTM2NCwgMTEzNjYsIDExMzY4LCAxMTM3MCwgMTEzNzIsIAotICAgIDExMzc0LCAxMTM3NiwgMTEzNzgsIDExMzgwLCAxMTM4MiwgMTEzODQsIDExMzg2LCAxMTM4OCwgMTEzOTAsIDExMzkyLCAKLSAgICAxMTM5NCwgMTEzOTYsIDExMzk4LCAxMTQwMCwgMTE0MDIsIDExNDA0LCAxMTQwNiwgMTE0MDgsIDExNDEwLCAxMTQxMiwgCi0gICAgMTE0MTQsIDExNDE2LCAxMTQxOCwgMTE0MjAsIDExNDIyLCAxMTQyNCwgMTE0MjYsIDExNDI4LCAxMTQzMCwgMTE0MzIsIAotICAgIDExNDM0LCAxMTQzNiwgMTE0MzgsIDExNDQwLCAxMTQ0MiwgMTE0NDQsIDExNDQ2LCAxMTQ0OCwgMTE0NTAsIDExNDUyLCAKLSAgICAxMTQ1NCwgMTE0NTYsIDExNDU4LCAxMTQ2MCwgMTE0NjIsIDExNDY0LCAxMTQ2NiwgMTE0NjgsIDExNDcwLCAxMTQ3MiwgCi0gICAgMTE0NzQsIDExNDc2LCAxMTQ3OCwgMTE0ODAsIDExNDgyLCAxMTQ4NCwgMTE0ODYsIDExNDg4LCAxMTQ5MCwgMTE0OTIsIAotICAgIDExNDk0LCAxMTQ5NiwgMTE0OTgsIDExNTAwLCAxMTUwMiwgMTE1MDQsIDExNTA2LCAxMTUwOCwgMTE1MTAsIDExNTEyLCAKLSAgICAxMTUxNCwgMTE1MTYsIDExNTE4LCAxMTUyMCwgMTE1MjIsIDExNTI0LCAxMTUyNiwgMTE1MjgsIDExNTMwLCAxMTUzMiwgCi0gICAgMTE1MzQsIDExNTM2LCAxMTUzOCwgMTE1NDAsIDExNTQyLCAxMTU0NCwgMTE1NDYsIDExNTQ4LCAxMTU1MCwgMTE1NTIsIAotICAgIDExNTU0LCAxMTU1NiwgMTE1NTgsIDExNTYwLCAxMTU2MiwgMTE1NjQsIDExNTY2LCAxMTU2OCwgMTE1NzAsIDExNTcyLCAKLSAgICAxMTU3NCwgMTE1NzYsIDExNTc4LCAxMTU4MCwgMTE1ODIsIDExNTg0LCAxMTU4NiwgMTE1ODgsIDExNTkwLCAxMTU5MiwgCi0gICAgMTE1OTQsIDExNTk2LCAxMTU5OCwgMTE2MDAsIDExNjAyLCAxMTYwNCwgMTE2MDYsIDExNjA4LCAxMTYxMCwgMTE2MTIsIAotICAgIDExNjE0LCAxMTYxNiwgMTE2MTgsIDExNjIwLCAxMTYyMiwgMTE2MjQsIDExNjI2LCAxMTYyOCwgMTE2MzAsIDExNjMyLCAKLSAgICAxMTYzNCwgMTE2MzYsIDExNjM4LCAxMTY0MCwgMTE2NDIsIDExNjQ0LCAxMTY0NiwgMTE2NDgsIDExNjUwLCAxMTY1MiwgCi0gICAgMTE2NTQsIDExNjU2LCAxMTY1OCwgMTE2NjAsIDExNjYyLCAxMTY2NCwgMTE2NjYsIDExNjY4LCAxMTY3MCwgMTE2NzIsIAotICAgIDExNjc0LCAxMTY3NiwgMTE2NzgsIDExNjgwLCAxMTY4MiwgMTE2ODQsIDExNjg2LCAxMTY4OCwgMTE2OTAsIDExNjkyLCAKLSAgICAxMTY5NCwgMTE2OTYsIDExNjk4LCAxMTcwMCwgMTE3MDIsIDExNzA0LCAxMTcwNiwgMTE3MDgsIDExNzEwLCAxMTcxMiwgCi0gICAgMTE3MTQsIDExNzE2LCAxMTcxOCwgMTE3MjAsIDExNzIyLCAxMTcyNCwgMTE3MjYsIDExNzI4LCAxMTczMCwgMTE3MzIsIAotICAgIDExNzM0LCAxMTczNiwgMTE3MzgsIDExNzQwLCAxMTc0MiwgMTE3NDQsIDExNzQ2LCAxMTc0OCwgMTE3NTAsIDExNzUyLCAKLSAgICAxMTc1NCwgMTE3NTYsIDExNzU4LCAxMTc2MCwgMTE3NjIsIDExNzY0LCAxMTc2NiwgMTE3NjgsIDExNzcwLCAxMTc3MiwgCi0gICAgMTE3NzQsIDExNzc2LCAxMTc3OCwgMTE3ODAsIDExNzgyLCAxMTc4NCwgMTE3ODYsIDExNzg4LCAxMTc5MCwgMTE3OTIsIAotICAgIDExNzk0LCAxMTc5NiwgMCwgMCwgMTE3OTgsIDExODAwLCAxMTgwMiwgMTE4MDQsIDExODA2LCAxMTgwOCwgMTE4MTAsIAotICAgIDExODEyLCAxMTgxNCwgMTE4MTYsIDExODE4LCAxMTgyMCwgMTE4MjIsIDExODI0LCAxMTgyNiwgMTE4MjgsIDExODMwLCAKLSAgICAxMTgzMiwgMTE4MzQsIDExODM2LCAxMTgzOCwgMTE4NDAsIDExODQyLCAxMTg0NCwgMTE4NDYsIDExODQ4LCAxMTg1MCwgCi0gICAgMTE4NTIsIDExODU0LCAxMTg1NiwgMTE4NTgsIDExODYwLCAxMTg2MiwgMTE4NjQsIDExODY2LCAxMTg2OCwgMTE4NzAsIAotICAgIDExODcyLCAxMTg3NCwgMTE4NzYsIDExODc4LCAxMTg4MCwgMTE4ODIsIDExODg0LCAxMTg4NiwgMTE4ODgsIDExODkwLCAKLSAgICAxMTg5MiwgMTE4OTQsIDExODk2LCAxMTg5OCwgMTE5MDAsIDExOTAyLCAxMTkwNCwgMTE5MDYsIDExOTA4LCAxMTkxMCwgCi0gICAgMTE5MTIsIDExOTE0LCAxMTkxNiwgMTE5MTgsIDExOTIwLCAxMTkyMiwgMTE5MjQsIDExOTI2LCAxMTkyOCwgMTE5MzAsIAotICAgIDExOTMyLCAxMTkzNCwgMTE5MzYsIDExOTM4LCAxMTk0MCwgMTE5NDIsIDExOTQ0LCAxMTk0NiwgMTE5NDgsIDExOTUwLCAKLSAgICAxMTk1MiwgMTE5NTQsIDExOTU2LCAxMTk1OCwgMTE5NjAsIDExOTYyLCAxMTk2NCwgMTE5NjYsIDExOTY4LCAxMTk3MCwgCi0gICAgMTE5NzIsIDExOTc0LCAxMTk3NiwgMTE5NzgsIDExOTgwLCAxMTk4MiwgMTE5ODQsIDExOTg2LCAxMTk4OCwgMTE5OTAsIAotICAgIDExOTkyLCAxMTk5NCwgMTE5OTYsIDExOTk4LCAxMjAwMCwgMTIwMDIsIDEyMDA0LCAxMjAwNiwgMTIwMDgsIDEyMDEwLCAKLSAgICAxMjAxMiwgMTIwMTQsIDEyMDE2LCAxMjAxOCwgMTIwMjAsIDEyMDIyLCAxMjAyNCwgMTIwMjYsIDEyMDI4LCAxMjAzMCwgCi0gICAgMTIwMzIsIDEyMDM0LCAxMjAzNiwgMTIwMzgsIDEyMDQwLCAxMjA0MiwgMTIwNDQsIDEyMDQ2LCAxMjA0OCwgMTIwNTAsIAotICAgIDEyMDUyLCAxMjA1NCwgMTIwNTYsIDEyMDU4LCAxMjA2MCwgMTIwNjIsIDEyMDY0LCAxMjA2NiwgMTIwNjgsIDEyMDcwLCAKLSAgICAxMjA3MiwgMTIwNzQsIDEyMDc2LCAxMjA3OCwgMTIwODAsIDEyMDgyLCAxMjA4NCwgMTIwODYsIDEyMDg4LCAxMjA5MCwgCi0gICAgMTIwOTIsIDEyMDk0LCAxMjA5NiwgMTIwOTgsIDEyMTAwLCAxMjEwMiwgMTIxMDQsIDEyMTA2LCAxMjEwOCwgMTIxMTAsIAotICAgIDEyMTEyLCAxMjExNCwgMTIxMTYsIDEyMTE4LCAxMjEyMCwgMTIxMjIsIDEyMTI0LCAxMjEyNiwgMTIxMjgsIDEyMTMwLCAKLSAgICAxMjEzMiwgMTIxMzQsIDEyMTM2LCAxMjEzOCwgMTIxNDAsIDEyMTQyLCAxMjE0NCwgMTIxNDYsIDEyMTQ4LCAxMjE1MCwgCi0gICAgMTIxNTIsIDEyMTU0LCAxMjE1NiwgMTIxNTgsIDEyMTYwLCAxMjE2MiwgMTIxNjQsIDEyMTY2LCAxMjE2OCwgMTIxNzAsIAotICAgIDEyMTcyLCAxMjE3NCwgMTIxNzYsIDEyMTc4LCAxMjE4MCwgMTIxODIsIDEyMTg0LCAxMjE4NiwgMTIxODgsIDEyMTkwLCAKLSAgICAxMjE5MiwgMTIxOTQsIDEyMTk2LCAxMjE5OCwgMTIyMDAsIDEyMjAyLCAxMjIwNCwgMTIyMDYsIDEyMjA4LCAxMjIxMCwgCi0gICAgMTIyMTIsIDEyMjE0LCAxMjIxNiwgMTIyMTgsIDEyMjIwLCAxMjIyMiwgMTIyMjQsIDEyMjI2LCAxMjIyOCwgMTIyMzAsIAotICAgIDEyMjMyLCAxMjIzNCwgMTIyMzYsIDEyMjM4LCAxMjI0MCwgMTIyNDIsIDEyMjQ0LCAxMjI0NiwgMTIyNDgsIDEyMjUwLCAKLSAgICAxMjI1MiwgMTIyNTQsIDEyMjU2LCAxMjI1OCwgMTIyNjAsIDEyMjYyLCAxMjI2NCwgMTIyNjYsIDEyMjY4LCAxMjI3MCwgCi0gICAgMTIyNzIsIDEyMjc0LCAxMjI3NiwgMTIyNzgsIDEyMjgwLCAxMjI4MiwgMTIyODQsIDEyMjg2LCAxMjI4OCwgMTIyOTAsIAotICAgIDEyMjkyLCAxMjI5NCwgMTIyOTYsIDEyMjk4LCAxMjMwMCwgMTIzMDIsIDEyMzA0LCAxMjMwNiwgMTIzMDgsIDEyMzEwLCAKLSAgICAxMjMxMiwgMTIzMTQsIDEyMzE2LCAxMjMxOCwgMTIzMjAsIDEyMzIyLCAxMjMyNCwgMTIzMjYsIDEyMzI4LCAxMjMzMCwgCi0gICAgMTIzMzIsIDEyMzM0LCAxMjMzNiwgMTIzMzgsIDEyMzQwLCAxMjM0MiwgMTIzNDQsIDEyMzQ2LCAxMjM0OCwgMTIzNTAsIAotICAgIDEyMzUyLCAxMjM1NCwgMTIzNTYsIDEyMzU4LCAxMjM2MCwgMTIzNjIsIDEyMzY0LCAxMjM2NiwgMTIzNjgsIDEyMzcwLCAKLSAgICAxMjM3MiwgMTIzNzQsIDEyMzc2LCAxMjM3OCwgMTIzODAsIDAsIDAsIDEyMzgyLCAxMjM4NCwgMTIzODYsIDEyMzg4LCAKLSAgICAxMjM5MCwgMTIzOTIsIDEyMzk0LCAxMjM5NiwgMTIzOTgsIDEyNDAwLCAxMjQwMiwgMTI0MDQsIDEyNDA2LCAxMjQwOCwgCi0gICAgMTI0MTAsIDEyNDEyLCAxMjQxNCwgMTI0MTYsIDEyNDE4LCAxMjQyMCwgMTI0MjIsIDEyNDI0LCAxMjQyNiwgMTI0MjgsIAotICAgIDEyNDMwLCAxMjQzMiwgMTI0MzQsIDEyNDM2LCAxMjQzOCwgMTI0NDAsIDEyNDQyLCAxMjQ0NCwgMTI0NDYsIDEyNDQ4LCAKLSAgICAxMjQ1MCwgMTI0NTIsIDEyNDU0LCAxMjQ1NiwgMTI0NTgsIDEyNDYwLCAxMjQ2MiwgMTI0NjQsIDEyNDY2LCAxMjQ2OCwgCi0gICAgMTI0NzAsIDEyNDcyLCAxMjQ3NCwgMTI0NzYsIDEyNDc4LCAxMjQ4MCwgMTI0ODIsIDEyNDg0LCAxMjQ4NiwgMTI0ODgsIDAsIAotICAgIDEyNDkwLCAxMjQ5MiwgMTI0OTQsIDEyNDk2LCAxMjQ5OCwgMTI1MDAsIDEyNTAyLCAxMjUwNCwgMTI1MDYsIDEyNTA4LCAKLSAgICAxMjUxMCwgMTI1MTIsIDEyNTE0LCAxMjUxNiwgMTI1MTgsIDEyNTIwLCAxMjUyMiwgMTI1MjQsIDEyNTI2LCAxMjUyOCwgCi0gICAgMTI1MzAsIDEyNTMyLCAxMjUzNCwgMTI1MzYsIDEyNTM4LCAxMjU0MCwgMTI1NDIsIDAsIDEyNTQ0LCAxMjU0NiwgMCwgCi0gICAgMTI1NDgsIDAsIDAsIDEyNTUwLCAwLCAxMjU1MiwgMTI1NTQsIDEyNTU2LCAxMjU1OCwgMTI1NjAsIDEyNTYyLCAxMjU2NCwgCi0gICAgMTI1NjYsIDEyNTY4LCAxMjU3MCwgMCwgMTI1NzIsIDEyNTc0LCAxMjU3NiwgMTI1NzgsIDAsIDEyNTgwLCAwLCAxMjU4MiwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMTI1ODQsIDAsIDAsIDAsIDAsIDEyNTg2LCAwLCAxMjU4OCwgMCwgMTI1OTAsIDAsIDEyNTkyLCAKLSAgICAxMjU5NCwgMTI1OTYsIDAsIDEyNTk4LCAxMjYwMCwgMCwgMTI2MDIsIDAsIDAsIDEyNjA0LCAwLCAxMjYwNiwgMCwgMTI2MDgsIAotICAgIDAsIDEyNjEwLCAwLCAxMjYxMiwgMCwgMTI2MTQsIDEyNjE2LCAwLCAxMjYxOCwgMCwgMCwgMTI2MjAsIDEyNjIyLCAxMjYyNCwgCi0gICAgMTI2MjYsIDAsIDEyNjI4LCAxMjYzMCwgMTI2MzIsIDEyNjM0LCAxMjYzNiwgMTI2MzgsIDEyNjQwLCAwLCAxMjY0MiwgCi0gICAgMTI2NDQsIDEyNjQ2LCAxMjY0OCwgMCwgMTI2NTAsIDEyNjUyLCAxMjY1NCwgMTI2NTYsIDAsIDEyNjU4LCAwLCAxMjY2MCwgCi0gICAgMTI2NjIsIDEyNjY0LCAxMjY2NiwgMTI2NjgsIDEyNjcwLCAxMjY3MiwgMTI2NzQsIDEyNjc2LCAxMjY3OCwgMCwgMTI2ODAsIAotICAgIDEyNjgyLCAxMjY4NCwgMTI2ODYsIDEyNjg4LCAxMjY5MCwgMTI2OTIsIDEyNjk0LCAxMjY5NiwgMTI2OTgsIDEyNzAwLCAKLSAgICAxMjcwMiwgMTI3MDQsIDEyNzA2LCAxMjcwOCwgMTI3MTAsIDEyNzEyLCAwLCAwLCAwLCAwLCAwLCAxMjcxNCwgMTI3MTYsIAotICAgIDEyNzE4LCAwLCAxMjcyMCwgMTI3MjIsIDEyNzI0LCAxMjcyNiwgMTI3MjgsIDAsIDEyNzMwLCAxMjczMiwgMTI3MzQsIAotICAgIDEyNzM2LCAxMjczOCwgMTI3NDAsIDEyNzQyLCAxMjc0NCwgMTI3NDYsIDEyNzQ4LCAxMjc1MCwgMTI3NTIsIDEyNzU0LCAKLSAgICAxMjc1NiwgMTI3NTgsIDEyNzYwLCAxMjc2MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjY2NCwgNjY2NiwgNjY2OCwgNjY3MCwgNjY3MiwgNjY3NCwgNjY3NiwgNjY3OCwgCisgICAgNjY4MCwgNjY4MiwgNjY4NCwgNjY4NiwgNjY4OCwgNjY5MCwgNjY5MiwgNjY5NCwgNjY5NiwgNjY5OCwgNjcwMCwgNjcwMiwgCisgICAgNjcwNCwgNjcwNiwgNjcwOCwgNjcxMCwgNjcxMiwgNjcxNCwgNjcxNiwgNjcxOCwgNjcyMCwgNjcyMiwgNjcyNCwgNjcyNiwgCisgICAgNjcyOCwgNjczMCwgNjczMiwgNjczNCwgNjczNiwgNjczOCwgNjc0MCwgNjc0MiwgNjc0NCwgNjc0NiwgNjc0OCwgNjc1MCwgCisgICAgNjc1MiwgNjc1NCwgNjc1NiwgNjc1OCwgNjc2MCwgNjc2MiwgNjc2NCwgNjc2NiwgNjc2OCwgNjc3MCwgNjc3MiwgNjc3NCwgCisgICAgNjc3NiwgNjc3OCwgNjc4MCwgNjc4MiwgNjc4NCwgNjc4NiwgNjc4OCwgNjc5MCwgNjc5MiwgNjc5NCwgNjc5NiwgNjc5OCwgCisgICAgNjgwMCwgNjgwMiwgNjgwNCwgNjgwNiwgNjgwOCwgNjgxMCwgNjgxMiwgNjgxNCwgNjgxNiwgNjgxOCwgNjgyMCwgNjgyMiwgCisgICAgNjgyNCwgNjgyNiwgNjgyOCwgNjgzMCwgNjgzMiwgNjgzNCwgNjgzNiwgNjgzOCwgNjg0MCwgNjg0MiwgNjg0NCwgNjg0NiwgCisgICAgNjg0OCwgNjg1MCwgNjg1MiwgNjg1NCwgNjg1NiwgNjg1OCwgNjg2MCwgNjg2MiwgNjg2NCwgNjg2NiwgNjg2OCwgNjg3MCwgCisgICAgNjg3MiwgNjg3NCwgNjg3NiwgNjg3OCwgNjg4MCwgNjg4MiwgNjg4NCwgNjg4NiwgNjg4OCwgNjg5MCwgNjg5MiwgNjg5NCwgCisgICAgNjg5NiwgNjg5OCwgNjkwMCwgNjkwMiwgNjkwNCwgNjkwNiwgNjkwOCwgNjkxMCwgNjkxMiwgNjkxNCwgNjkxNiwgNjkxOCwgCisgICAgNjkyMCwgNjkyMiwgNjkyNCwgNjkyNiwgNjkyOCwgNjkzMCwgNjkzMiwgNjkzNCwgNjkzNiwgNjkzOCwgNjk0MCwgNjk0MiwgCisgICAgNjk0NCwgNjk0NiwgNjk0OCwgNjk1MCwgNjk1MiwgNjk1NCwgNjk1NiwgNjk1OCwgNjk2MCwgNjk2MiwgNjk2NCwgNjk2NiwgCisgICAgNjk2OCwgNjk3MCwgNjk3MiwgNjk3NCwgNjk3NiwgNjk3OCwgNjk4MCwgNjk4MiwgNjk4NCwgNjk4NiwgNjk4OCwgNjk5MCwgCisgICAgNjk5MiwgNjk5NCwgNjk5NiwgNjk5OCwgNzAwMCwgNzAwMiwgNzAwNCwgNzAwNiwgNzAwOCwgNzAxMCwgNzAxMiwgNzAxNCwgCisgICAgNzAxNiwgNzAxOCwgNzAyMCwgNzAyMiwgNzAyNCwgNzAyNiwgNzAyOCwgNzAzMCwgNzAzMiwgNzAzNCwgNzAzNiwgNzAzOCwgCisgICAgNzA0MCwgNzA0MiwgNzA0NCwgNzA0NiwgNzA0OCwgNzA1MCwgNzA1MiwgNzA1NCwgNzA1NiwgNzA1OCwgNzA2MCwgNzA2MiwgCisgICAgNzA2NCwgNzA2NiwgNzA2OCwgNzA3MCwgNzA3MiwgNzA3NCwgNzA3NiwgNzA3OCwgNzA4MCwgNzA4MiwgNzA4NCwgNzA4NiwgCisgICAgNzA4OCwgNzA5MCwgNzA5MiwgNzA5NCwgNzA5NiwgNzA5OCwgNzEwMCwgNzEwMiwgNzEwNCwgNzEwNiwgNzEwOCwgNzExMCwgCisgICAgNzExMiwgNzExNCwgNzExNiwgNzExOCwgNzEyMCwgNzEyMiwgNzEyNCwgNzEyNiwgNzEyOCwgNzEzMCwgNzEzMiwgNzEzNCwgCisgICAgNzEzNiwgNzEzOCwgNzE0MCwgNzE0MiwgNzE0NCwgNzE0NiwgNzE0OCwgNzE1MCwgNzE1MiwgNzE1NCwgNzE1NiwgNzE1OCwgCisgICAgNzE2MCwgNzE2MiwgNzE2NCwgNzE2NiwgNzE2OCwgNzE3MCwgNzE3MiwgNzE3NCwgNzE3NiwgNzE3OCwgNzE4MCwgNzE4MiwgCisgICAgNzE4NCwgNzE4NiwgNzE4OCwgNzE5MCwgNzE5MiwgNzE5NCwgNzE5NiwgNzE5OCwgNzIwMCwgNzIwMiwgMCwgMCwgNzIwNCwgCisgICAgMCwgNzIwNiwgMCwgMCwgNzIwOCwgNzIxMCwgNzIxMiwgNzIxNCwgNzIxNiwgNzIxOCwgNzIyMCwgNzIyMiwgNzIyNCwgCisgICAgNzIyNiwgMCwgNzIyOCwgMCwgNzIzMCwgMCwgMCwgNzIzMiwgNzIzNCwgMCwgMCwgMCwgNzIzNiwgNzIzOCwgNzI0MCwgCisgICAgNzI0MiwgNzI0NCwgNzI0NiwgNzI0OCwgNzI1MCwgNzI1MiwgNzI1NCwgNzI1NiwgNzI1OCwgNzI2MCwgNzI2MiwgNzI2NCwgCisgICAgNzI2NiwgNzI2OCwgNzI3MCwgNzI3MiwgNzI3NCwgNzI3NiwgNzI3OCwgNzI4MCwgNzI4MiwgNzI4NCwgNzI4NiwgNzI4OCwgCisgICAgNzI5MCwgNzI5MiwgNzI5NCwgNzI5NiwgNzI5OCwgNzMwMCwgNzMwMiwgNzMwNCwgNzMwNiwgNzMwOCwgNzMxMCwgNzMxMiwgCisgICAgNzMxNCwgNzMxNiwgNzMxOCwgNzMyMCwgNzMyMiwgNzMyNCwgNzMyNiwgNzMyOCwgNzMzMCwgNzMzMiwgNzMzNCwgNzMzNiwgCisgICAgNzMzOCwgNzM0MCwgNzM0MiwgNzM0NCwgNzM0NiwgNzM0OCwgNzM1MCwgNzM1MiwgNzM1NCwgNzM1NiwgNzM1OCwgNzM2MCwgCisgICAgNzM2MiwgNzM2NCwgNzM2NiwgNzM2OCwgNzM3MCwgMCwgMCwgNzM3MiwgNzM3NCwgNzM3NiwgNzM3OCwgNzM4MCwgNzM4MiwgCisgICAgNzM4NCwgNzM4NiwgNzM4OCwgNzM5MCwgNzM5MiwgNzM5NCwgNzM5NiwgNzM5OCwgNzQwMCwgNzQwMiwgNzQwNCwgNzQwNiwgCisgICAgNzQwOCwgNzQxMCwgNzQxMiwgNzQxNCwgNzQxNiwgNzQxOCwgNzQyMCwgNzQyMiwgNzQyNCwgNzQyNiwgNzQyOCwgNzQzMCwgCisgICAgNzQzMiwgNzQzNCwgNzQzNiwgNzQzOCwgNzQ0MCwgNzQ0MiwgNzQ0NCwgNzQ0NiwgNzQ0OCwgNzQ1MCwgNzQ1MiwgNzQ1NCwgCisgICAgNzQ1NiwgNzQ1OCwgNzQ2MCwgNzQ2MiwgNzQ2NCwgNzQ2NiwgNzQ2OCwgNzQ3MCwgNzQ3MiwgNzQ3NCwgNzQ3NiwgNzQ3OCwgCisgICAgNzQ4MCwgNzQ4MiwgNzQ4NCwgNzQ4NiwgNzQ4OCwgNzQ5MCwgNzQ5MiwgNzQ5NCwgNzQ5NiwgNzQ5OCwgNzUwMCwgNzUwMiwgCisgICAgNzUwNCwgNzUwNiwgNzUwOCwgNzUxMCwgNzUxMiwgNzUxNCwgNzUxNiwgNzUxOCwgNzUyMCwgNzUyMiwgNzUyNCwgNzUyNiwgCisgICAgNzUyOCwgNzUzMCwgNzUzMiwgNzUzNCwgNzUzNiwgNzUzOCwgNzU0MCwgNzU0MiwgNzU0NCwgNzU0NiwgNzU0OCwgNzU1MCwgCisgICAgNzU1MiwgNzU1NCwgNzU1NiwgNzU1OCwgNzU2MCwgNzU2MiwgNzU2NCwgNzU2NiwgNzU2OCwgNzU3MCwgNzU3MiwgNzU3NCwgCisgICAgNzU3NiwgNzU3OCwgNzU4MCwgNzU4MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNzU4NCwgCisgICAgNzU4NywgNzU5MCwgNzU5MywgNzU5NywgNzYwMSwgNzYwNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNzYwNywgNzYxMCwgNzYxMywgNzYxNiwgNzYxOSwgMCwgMCwgMCwgMCwgMCwgNzYyMiwgMCwgNzYyNSwgNzYyOCwgNzYzMCwgCisgICAgNzYzMiwgNzYzNCwgNzYzNiwgNzYzOCwgNzY0MCwgNzY0MiwgNzY0NCwgNzY0NiwgNzY0OCwgNzY1MSwgNzY1NCwgNzY1NywgCisgICAgNzY2MCwgNzY2MywgNzY2NiwgNzY2OSwgNzY3MiwgNzY3NSwgNzY3OCwgNzY4MSwgNzY4NCwgMCwgNzY4NywgNzY5MCwgCisgICAgNzY5MywgNzY5NiwgNzY5OSwgMCwgNzcwMiwgMCwgNzcwNSwgNzcwOCwgMCwgNzcxMSwgNzcxNCwgMCwgNzcxNywgNzcyMCwgCisgICAgNzcyMywgNzcyNiwgNzcyOSwgNzczMiwgNzczNSwgNzczOCwgNzc0MSwgNzc0NCwgNzc0NywgNzc0OSwgNzc1MSwgNzc1MywgCisgICAgNzc1NSwgNzc1NywgNzc1OSwgNzc2MSwgNzc2MywgNzc2NSwgNzc2NywgNzc2OSwgNzc3MSwgNzc3MywgNzc3NSwgNzc3NywgCisgICAgNzc3OSwgNzc4MSwgNzc4MywgNzc4NSwgNzc4NywgNzc4OSwgNzc5MSwgNzc5MywgNzc5NSwgNzc5NywgNzc5OSwgNzgwMSwgCisgICAgNzgwMywgNzgwNSwgNzgwNywgNzgwOSwgNzgxMSwgNzgxMywgNzgxNSwgNzgxNywgNzgxOSwgNzgyMSwgNzgyMywgNzgyNSwgCisgICAgNzgyNywgNzgyOSwgNzgzMSwgNzgzMywgNzgzNSwgNzgzNywgNzgzOSwgNzg0MSwgNzg0MywgNzg0NSwgNzg0NywgNzg0OSwgCisgICAgNzg1MSwgNzg1MywgNzg1NSwgNzg1NywgNzg1OSwgNzg2MSwgNzg2MywgNzg2NSwgNzg2NywgNzg2OSwgNzg3MSwgNzg3MywgCisgICAgNzg3NSwgNzg3NywgNzg3OSwgNzg4MSwgNzg4MywgNzg4NSwgNzg4NywgNzg4OSwgNzg5MSwgNzg5MywgNzg5NSwgNzg5NywgCisgICAgNzg5OSwgNzkwMSwgNzkwMywgNzkwNSwgNzkwNywgNzkwOSwgNzkxMSwgNzkxMywgNzkxNSwgNzkxNywgNzkxOSwgNzkyMSwgCisgICAgNzkyMywgNzkyNSwgNzkyNywgNzkyOSwgNzkzMSwgNzkzMywgNzkzNSwgNzkzNywgNzkzOSwgNzk0MSwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgNzk0MywgNzk0NSwgNzk0NywgNzk0OSwgNzk1MSwgNzk1MywgNzk1NSwgNzk1NywgNzk1OSwgCisgICAgNzk2MSwgNzk2MywgNzk2NSwgNzk2NywgNzk2OSwgNzk3MSwgNzk3MywgNzk3NSwgNzk3NywgNzk3OSwgNzk4MSwgNzk4MywgCisgICAgNzk4NSwgNzk4NywgNzk4OSwgNzk5MiwgNzk5NSwgNzk5OCwgODAwMSwgODAwNCwgODAwNywgODAxMCwgODAxMywgODAxNiwgCisgICAgODAxOSwgODAyMiwgODAyNSwgODAyOCwgODAzMSwgODAzNCwgODAzNywgODA0MCwgODA0MywgODA0NSwgODA0NywgODA0OSwgCisgICAgODA1MSwgODA1NCwgODA1NywgODA2MCwgODA2MywgODA2NiwgODA2OSwgODA3MiwgODA3NSwgODA3OCwgODA4MSwgODA4NCwgCisgICAgODA4NywgODA5MCwgODA5MywgODA5NiwgODA5OSwgODEwMiwgODEwNSwgODEwOCwgODExMSwgODExNCwgODExNywgODEyMCwgCisgICAgODEyMywgODEyNiwgODEyOSwgODEzMiwgODEzNSwgODEzOCwgODE0MSwgODE0NCwgODE0NywgODE1MCwgODE1MywgODE1NiwgCisgICAgODE1OSwgODE2MiwgODE2NSwgODE2OCwgODE3MSwgODE3NCwgODE3NywgODE4MCwgODE4MywgODE4NiwgODE4OSwgODE5MiwgCisgICAgODE5NSwgODE5OCwgODIwMSwgODIwNCwgODIwNywgODIxMCwgODIxMywgODIxNiwgODIxOSwgODIyMiwgODIyNSwgODIyOCwgCisgICAgODIzMSwgODIzNCwgODIzNywgODI0MCwgODI0MywgODI0NiwgODI0OSwgODI1MiwgODI1NSwgODI1OCwgODI2MSwgODI2NCwgCisgICAgODI2NywgODI3MCwgODI3MywgODI3NiwgODI3OSwgODI4MiwgODI4NSwgODI4OCwgODI5MSwgODI5NCwgODI5NywgODMwMCwgCisgICAgODMwMywgODMwNiwgODMwOSwgODMxMiwgODMxNSwgODMxOCwgODMyMSwgODMyNCwgODMyNywgODMzMCwgODMzMywgODMzNywgCisgICAgODM0MSwgODM0NSwgODM0OSwgODM1MywgODM1NywgODM2MCwgODM2MywgODM2NiwgODM2OSwgODM3MiwgODM3NSwgODM3OCwgCisgICAgODM4MSwgODM4NCwgODM4NywgODM5MCwgODM5MywgODM5NiwgODM5OSwgODQwMiwgODQwNSwgODQwOCwgODQxMSwgODQxNCwgCisgICAgODQxNywgODQyMCwgODQyMywgODQyNiwgODQyOSwgODQzMiwgODQzNSwgODQzOCwgODQ0MSwgODQ0NCwgODQ0NywgODQ1MCwgCisgICAgODQ1MywgODQ1NiwgODQ1OSwgODQ2MiwgODQ2NSwgODQ2OCwgODQ3MSwgODQ3NCwgODQ3NywgODQ4MCwgODQ4MywgODQ4NiwgCisgICAgODQ4OSwgODQ5MiwgODQ5NSwgODQ5OCwgODUwMSwgODUwNCwgODUwNywgODUxMCwgODUxMywgODUxNiwgODUxOSwgODUyMiwgCisgICAgODUyNSwgODUyOCwgODUzMSwgODUzNCwgODUzNywgODU0MCwgODU0MywgODU0NiwgODU0OSwgODU1MiwgODU1NSwgODU1OCwgCisgICAgODU2MSwgODU2NCwgODU2NywgODU3MCwgODU3MywgODU3NiwgODU3OSwgODU4MiwgODU4NSwgODU4OCwgODU5MSwgODU5NCwgCisgICAgODU5NywgODYwMCwgODYwMywgODYwNiwgODYwOSwgODYxMiwgODYxNSwgODYxOCwgODYyMSwgODYyNCwgODYyNywgODYzMCwgCisgICAgODYzMywgODYzNiwgODYzOSwgODY0MiwgODY0NSwgODY0OCwgODY1MSwgODY1NCwgODY1NywgODY2MCwgODY2MywgODY2NiwgCisgICAgODY2OSwgODY3MiwgODY3NSwgODY3OCwgODY4MSwgODY4NCwgODY4NywgODY5MCwgODY5MywgODY5NiwgODY5OSwgODcwMiwgCisgICAgODcwNSwgODcwOCwgODcxMSwgODcxNCwgODcxNywgODcyMCwgODcyMywgODcyNiwgODcyOSwgODczMiwgODczNSwgODczOCwgCisgICAgODc0MSwgODc0NCwgODc0NywgODc1MCwgODc1MywgODc1NiwgODc1OSwgODc2MiwgODc2NSwgODc2OCwgODc3MSwgODc3NCwgCisgICAgODc3NywgODc4MCwgODc4MywgODc4NywgODc5MSwgODc5NSwgODc5OCwgODgwMSwgODgwNCwgODgwNywgODgxMCwgODgxMywgCisgICAgODgxNiwgODgxOSwgODgyMiwgODgyNSwgODgyOCwgODgzMSwgODgzNCwgODgzNywgODg0MCwgODg0MywgODg0NiwgODg0OSwgCisgICAgODg1MiwgODg1NSwgODg1OCwgODg2MSwgODg2NCwgODg2NywgODg3MCwgODg3MywgODg3NiwgODg3OSwgODg4MiwgODg4NSwgCisgICAgODg4OCwgODg5MSwgODg5NCwgODg5NywgODkwMCwgODkwMywgODkwNiwgODkwOSwgODkxMiwgODkxNSwgODkxOCwgODkyMSwgCisgICAgODkyNCwgODkyNywgODkzMCwgODkzMywgODkzNiwgODkzOSwgODk0MiwgODk0NSwgODk0OCwgODk1MSwgODk1NCwgODk1NywgCisgICAgODk2MCwgODk2MywgODk2NiwgODk2OSwgODk3MiwgODk3NSwgODk3OCwgODk4MSwgODk4NCwgODk4NywgODk5MCwgODk5MywgCisgICAgODk5NiwgODk5OSwgOTAwMiwgOTAwNSwgOTAwOCwgOTAxMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgOTAxNCwgOTAxOCwgOTAyMiwgOTAyNiwgOTAzMCwgOTAzNCwgOTAzOCwgOTA0MiwgOTA0NiwgCisgICAgOTA1MCwgOTA1NCwgOTA1OCwgOTA2MiwgOTA2NiwgOTA3MCwgOTA3NCwgOTA3OCwgOTA4MiwgOTA4NiwgOTA5MCwgOTA5NCwgCisgICAgOTA5OCwgOTEwMiwgOTEwNiwgOTExMCwgOTExNCwgOTExOCwgOTEyMiwgOTEyNiwgOTEzMCwgOTEzNCwgOTEzOCwgOTE0MiwgCisgICAgOTE0NiwgOTE1MCwgOTE1NCwgOTE1OCwgOTE2MiwgOTE2NiwgOTE3MCwgOTE3NCwgOTE3OCwgOTE4MiwgOTE4NiwgOTE5MCwgCisgICAgOTE5NCwgOTE5OCwgOTIwMiwgOTIwNiwgOTIxMCwgOTIxNCwgOTIxOCwgOTIyMiwgOTIyNiwgOTIzMCwgOTIzNCwgOTIzOCwgCisgICAgOTI0MiwgOTI0NiwgOTI1MCwgOTI1NCwgOTI1OCwgOTI2MiwgOTI2NiwgMCwgMCwgOTI3MCwgOTI3NCwgOTI3OCwgOTI4MiwgCisgICAgOTI4NiwgOTI5MCwgOTI5NCwgOTI5OCwgOTMwMiwgOTMwNiwgOTMxMCwgOTMxNCwgOTMxOCwgOTMyMiwgOTMyNiwgOTMzMCwgCisgICAgOTMzNCwgOTMzOCwgOTM0MiwgOTM0NiwgOTM1MCwgOTM1NCwgOTM1OCwgOTM2MiwgOTM2NiwgOTM3MCwgOTM3NCwgOTM3OCwgCisgICAgOTM4MiwgOTM4NiwgOTM5MCwgOTM5NCwgOTM5OCwgOTQwMiwgOTQwNiwgOTQxMCwgOTQxNCwgOTQxOCwgOTQyMiwgOTQyNiwgCisgICAgOTQzMCwgOTQzNCwgOTQzOCwgOTQ0MiwgOTQ0NiwgOTQ1MCwgOTQ1NCwgOTQ1OCwgOTQ2MiwgOTQ2NiwgOTQ3MCwgOTQ3NCwgCisgICAgOTQ3OCwgOTQ4MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOTQ4NiwgOTQ5MCwgCisgICAgOTQ5NCwgOTQ5OSwgOTUwNCwgOTUwOSwgOTUxNCwgOTUxOSwgOTUyNCwgOTUyOSwgOTUzMywgOTU1MiwgOTU2MSwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOTU2NiwgOTU2OCwgOTU3MCwgCisgICAgOTU3MiwgOTU3NCwgOTU3NiwgOTU3OCwgOTU4MCwgOTU4MiwgOTU4NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOTU4NiwgOTU4OCwgOTU5MCwgOTU5MiwgOTU5NCwgOTU5NiwgCisgICAgOTU5OCwgOTYwMCwgOTYwMiwgOTYwNCwgOTYwNiwgOTYwOCwgOTYxMCwgOTYxMiwgOTYxNCwgOTYxNiwgOTYxOCwgOTYyMCwgCisgICAgOTYyMiwgOTYyNCwgOTYyNiwgMCwgMCwgOTYyOCwgOTYzMCwgOTYzMiwgOTYzNCwgOTYzNiwgOTYzOCwgOTY0MCwgOTY0MiwgCisgICAgOTY0NCwgOTY0NiwgOTY0OCwgOTY1MCwgMCwgOTY1MiwgOTY1NCwgOTY1NiwgOTY1OCwgOTY2MCwgOTY2MiwgOTY2NCwgCisgICAgOTY2NiwgOTY2OCwgOTY3MCwgOTY3MiwgOTY3NCwgOTY3NiwgOTY3OCwgOTY4MCwgOTY4MiwgOTY4NCwgOTY4NiwgOTY4OCwgCisgICAgMCwgOTY5MCwgOTY5MiwgOTY5NCwgOTY5NiwgMCwgMCwgMCwgMCwgOTY5OCwgOTcwMSwgOTcwNCwgMCwgOTcwNywgMCwgCisgICAgOTcxMCwgOTcxMywgOTcxNiwgOTcxOSwgOTcyMiwgOTcyNSwgOTcyOCwgOTczMSwgOTczNCwgOTczNywgOTc0MCwgOTc0MiwgCisgICAgOTc0NCwgOTc0NiwgOTc0OCwgOTc1MCwgOTc1MiwgOTc1NCwgOTc1NiwgOTc1OCwgOTc2MCwgOTc2MiwgOTc2NCwgOTc2NiwgCisgICAgOTc2OCwgOTc3MCwgOTc3MiwgOTc3NCwgOTc3NiwgOTc3OCwgOTc4MCwgOTc4MiwgOTc4NCwgOTc4NiwgOTc4OCwgOTc5MCwgCisgICAgOTc5MiwgOTc5NCwgOTc5NiwgOTc5OCwgOTgwMCwgOTgwMiwgOTgwNCwgOTgwNiwgOTgwOCwgOTgxMCwgOTgxMiwgOTgxNCwgCisgICAgOTgxNiwgOTgxOCwgOTgyMCwgOTgyMiwgOTgyNCwgOTgyNiwgOTgyOCwgOTgzMCwgOTgzMiwgOTgzNCwgOTgzNiwgOTgzOCwgCisgICAgOTg0MCwgOTg0MiwgOTg0NCwgOTg0NiwgOTg0OCwgOTg1MCwgOTg1MiwgOTg1NCwgOTg1NiwgOTg1OCwgOTg2MCwgOTg2MiwgCisgICAgOTg2NCwgOTg2NiwgOTg2OCwgOTg3MCwgOTg3MiwgOTg3NCwgOTg3NiwgOTg3OCwgOTg4MCwgOTg4MiwgOTg4NCwgOTg4NiwgCisgICAgOTg4OCwgOTg5MCwgOTg5MiwgOTg5NCwgOTg5NiwgOTg5OCwgOTkwMCwgOTkwMiwgOTkwNCwgOTkwNiwgOTkwOCwgOTkxMCwgCisgICAgOTkxMiwgOTkxNCwgOTkxNiwgOTkxOCwgOTkyMCwgOTkyMiwgOTkyNCwgOTkyNiwgOTkyOCwgOTkzMCwgOTkzMiwgOTkzNCwgCisgICAgOTkzNiwgOTkzOCwgOTk0MCwgOTk0MiwgOTk0NCwgOTk0NiwgOTk0OCwgOTk1MCwgOTk1MiwgOTk1NCwgOTk1NiwgOTk1OCwgCisgICAgOTk2MCwgOTk2MiwgOTk2NCwgOTk2NiwgOTk2OCwgOTk3MCwgOTk3MiwgOTk3NCwgOTk3NywgOTk4MCwgOTk4MywgOTk4NiwgCisgICAgOTk4OSwgOTk5MiwgOTk5NSwgMCwgMCwgMCwgMCwgOTk5OCwgMTAwMDAsIDEwMDAyLCAxMDAwNCwgMTAwMDYsIDEwMDA4LCAKKyAgICAxMDAxMCwgMTAwMTIsIDEwMDE0LCAxMDAxNiwgMTAwMTgsIDEwMDIwLCAxMDAyMiwgMTAwMjQsIDEwMDI2LCAxMDAyOCwgCisgICAgMTAwMzAsIDEwMDMyLCAxMDAzNCwgMTAwMzYsIDEwMDM4LCAxMDA0MCwgMTAwNDIsIDEwMDQ0LCAxMDA0NiwgMTAwNDgsIAorICAgIDEwMDUwLCAxMDA1MiwgMTAwNTQsIDEwMDU2LCAxMDA1OCwgMTAwNjAsIDEwMDYyLCAxMDA2NCwgMTAwNjYsIDEwMDY4LCAKKyAgICAxMDA3MCwgMTAwNzIsIDEwMDc0LCAxMDA3NiwgMTAwNzgsIDEwMDgwLCAxMDA4MiwgMTAwODQsIDEwMDg2LCAxMDA4OCwgCisgICAgMTAwOTAsIDEwMDkyLCAxMDA5NCwgMTAwOTYsIDEwMDk4LCAxMDEwMCwgMTAxMDIsIDEwMTA0LCAxMDEwNiwgMTAxMDgsIAorICAgIDEwMTEwLCAxMDExMiwgMTAxMTQsIDEwMTE2LCAxMDExOCwgMTAxMjAsIDEwMTIyLCAxMDEyNCwgMTAxMjYsIDEwMTI4LCAKKyAgICAxMDEzMCwgMTAxMzIsIDEwMTM0LCAxMDEzNiwgMTAxMzgsIDEwMTQwLCAxMDE0MiwgMTAxNDQsIDEwMTQ2LCAxMDE0OCwgCisgICAgMTAxNTAsIDEwMTUyLCAxMDE1NCwgMTAxNTYsIDEwMTU4LCAxMDE2MCwgMTAxNjIsIDEwMTY0LCAxMDE2NiwgMTAxNjgsIAorICAgIDEwMTcwLCAxMDE3MiwgMTAxNzQsIDEwMTc2LCAxMDE3OCwgMTAxODAsIDEwMTgyLCAxMDE4NCwgMTAxODYsIDEwMTg4LCAKKyAgICAxMDE5MCwgMTAxOTIsIDEwMTk0LCAxMDE5NiwgMTAxOTgsIDEwMjAwLCAxMDIwMiwgMTAyMDQsIDEwMjA2LCAxMDIwOCwgCisgICAgMTAyMTAsIDEwMjEyLCAxMDIxNCwgMTAyMTYsIDEwMjE4LCAxMDIyMCwgMTAyMjIsIDEwMjI0LCAxMDIyNiwgMTAyMjgsIAorICAgIDEwMjMwLCAxMDIzMiwgMTAyMzQsIDEwMjM2LCAxMDIzOCwgMTAyNDAsIDEwMjQyLCAxMDI0NCwgMTAyNDYsIDEwMjQ4LCAKKyAgICAxMDI1MCwgMTAyNTIsIDEwMjU0LCAxMDI1NiwgMTAyNTgsIDEwMjYwLCAxMDI2MiwgMTAyNjQsIDEwMjY2LCAxMDI2OCwgCisgICAgMTAyNzAsIDEwMjcyLCAxMDI3NCwgMTAyNzYsIDEwMjc4LCAxMDI4MCwgMTAyODIsIDEwMjg0LCAxMDI4NiwgMTAyODgsIAorICAgIDEwMjkwLCAxMDI5MiwgMTAyOTQsIDEwMjk2LCAxMDI5OCwgMTAzMDAsIDEwMzAyLCAxMDMwNCwgMTAzMDYsIDEwMzA4LCAKKyAgICAxMDMxMCwgMTAzMTIsIDEwMzE0LCAxMDMxNiwgMTAzMTgsIDEwMzIwLCAxMDMyMiwgMTAzMjQsIDEwMzI2LCAxMDMyOCwgCisgICAgMTAzMzAsIDEwMzMyLCAxMDMzNCwgMTAzMzYsIDEwMzM4LCAxMDM0MCwgMTAzNDIsIDEwMzQ0LCAxMDM0NiwgMTAzNDgsIAorICAgIDEwMzUwLCAxMDM1MiwgMTAzNTQsIDEwMzU2LCAxMDM1OCwgMTAzNjAsIDEwMzYyLCAxMDM2NCwgMTAzNjYsIDEwMzY4LCAKKyAgICAxMDM3MCwgMTAzNzIsIDEwMzc0LCAxMDM3NiwgMCwgMCwgMCwgMTAzNzgsIDEwMzgwLCAxMDM4MiwgMTAzODQsIDEwMzg2LCAKKyAgICAxMDM4OCwgMCwgMCwgMTAzOTAsIDEwMzkyLCAxMDM5NCwgMTAzOTYsIDEwMzk4LCAxMDQwMCwgMCwgMCwgMTA0MDIsIAorICAgIDEwNDA0LCAxMDQwNiwgMTA0MDgsIDEwNDEwLCAxMDQxMiwgMCwgMCwgMTA0MTQsIDEwNDE2LCAxMDQxOCwgMCwgMCwgMCwgCisgICAgMTA0MjAsIDEwNDIyLCAxMDQyNCwgMTA0MjYsIDEwNDI4LCAxMDQzMCwgMTA0MzIsIDAsIDEwNDM0LCAxMDQzNiwgMTA0MzgsIAorICAgIDEwNDQwLCAxMDQ0MiwgMTA0NDQsIDEwNDQ2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAxMjc2NCwgMTI3NjcsIDEyNzcwLCAxMjc3MywgMTI3NzYsIDEyNzc5LCAxMjc4MiwgMTI3ODUsIAotICAgIDEyNzg4LCAxMjc5MSwgMTI3OTQsIDAsIDAsIDAsIDAsIDAsIDEyNzk3LCAxMjgwMSwgMTI4MDUsIDEyODA5LCAxMjgxMywgCi0gICAgMTI4MTcsIDEyODIxLCAxMjgyNSwgMTI4MjksIDEyODMzLCAxMjgzNywgMTI4NDEsIDEyODQ1LCAxMjg0OSwgMTI4NTMsIAotICAgIDEyODU3LCAxMjg2MSwgMTI4NjUsIDEyODY5LCAxMjg3MywgMTI4NzcsIDEyODgxLCAxMjg4NSwgMTI4ODksIDEyODkzLCAKLSAgICAxMjg5NywgMTI5MDEsIDEyOTA1LCAxMjkwNywgMTI5MDksIDEyOTEyLCAwLCAxMjkxNSwgMTI5MTcsIDEyOTE5LCAxMjkyMSwgCi0gICAgMTI5MjMsIDEyOTI1LCAxMjkyNywgMTI5MjksIDEyOTMxLCAxMjkzMywgMTI5MzUsIDEyOTM3LCAxMjkzOSwgMTI5NDEsIAotICAgIDEyOTQzLCAxMjk0NSwgMTI5NDcsIDEyOTQ5LCAxMjk1MSwgMTI5NTMsIDEyOTU1LCAxMjk1NywgMTI5NTksIDEyOTYxLCAKLSAgICAxMjk2MywgMTI5NjUsIDEyOTY3LCAxMjk3MCwgMTI5NzMsIDEyOTc2LCAxMjk3OSwgMTI5ODMsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyOTg2LCAxMjk4OSwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTI5OTIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDEwNDQ4LCAwLCAxMDQ1MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMTA0NTQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDEyOTk1LCAxMjk5OCwgMTMwMDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDEzMDAzLCAxMzAwNSwgMTMwMDcsIDEzMDA5LCAxMzAxMSwgMTMwMTMsIDEzMDE1LCAxMzAxNywgMTMwMTksIDEzMDIxLCAKLSAgICAxMzAyMywgMTMwMjUsIDEzMDI3LCAxMzAyOSwgMTMwMzEsIDEzMDMzLCAxMzAzNSwgMTMwMzcsIDEzMDM5LCAxMzA0MSwgCi0gICAgMTMwNDMsIDEzMDQ1LCAxMzA0NywgMTMwNDksIDEzMDUxLCAxMzA1MywgMTMwNTUsIDEzMDU3LCAxMzA1OSwgMTMwNjEsIAotICAgIDEzMDYzLCAxMzA2NSwgMTMwNjcsIDEzMDY5LCAxMzA3MSwgMTMwNzMsIDEzMDc1LCAxMzA3NywgMTMwNzksIDEzMDgxLCAKLSAgICAxMzA4MywgMTMwODUsIDEzMDg3LCAwLCAwLCAwLCAwLCAwLCAxMzA4OSwgMTMwOTMsIDEzMDk3LCAxMzEwMSwgMTMxMDUsIAotICAgIDEzMTA5LCAxMzExMywgMTMxMTcsIDEzMTIxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzEyNSwgMTMxMjcsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwNDU3LCAxMDQ2MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMTA0NjMsIDEwNDY2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAxMzEyOSwgMTMxMzEsIDEzMTMzLCAxMzEzNSwgMTMxMzcsIDEzMTM5LCAxMzE0MSwgMTMxNDMsIDEzMTQ1LCAKLSAgICAxMzE0NywgMTMxNDksIDEzMTUxLCAxMzE1MywgMTMxNTUsIDEzMTU3LCAxMzE1OSwgMTMxNjEsIDEzMTYzLCAxMzE2NSwgCi0gICAgMTMxNjcsIDEzMTY5LCAxMzE3MSwgMTMxNzMsIDEzMTc1LCAxMzE3NywgMTMxNzksIDEzMTgxLCAxMzE4MywgMTMxODUsIAotICAgIDEzMTg3LCAxMzE4OSwgMTMxOTEsIDEzMTkzLCAxMzE5NSwgMTMxOTcsIDEzMTk5LCAxMzIwMSwgMTMyMDMsIDEzMjA1LCAKLSAgICAxMzIwNywgMTMyMDksIDEzMjExLCAxMzIxMywgMTMyMTUsIDEzMjE3LCAxMzIxOSwgMTMyMjEsIDEzMjIzLCAxMzIyNSwgCi0gICAgMTMyMjcsIDEzMjI5LCAxMzIzMSwgMTMyMzMsIDEzMjM1LCAxMzIzNywgMTMyMzksIDEzMjQxLCAxMzI0MywgMTMyNDUsIAotICAgIDEzMjQ3LCAxMzI0OSwgMTMyNTEsIDEzMjUzLCAxMzI1NSwgMTMyNTcsIDEzMjU5LCAxMzI2MSwgMTMyNjMsIDEzMjY1LCAKLSAgICAxMzI2NywgMTMyNjksIDEzMjcxLCAxMzI3MywgMTMyNzUsIDEzMjc3LCAxMzI3OSwgMTMyODEsIDEzMjgzLCAxMzI4NSwgCi0gICAgMTMyODcsIDEzMjg5LCAxMzI5MSwgMTMyOTMsIDEzMjk1LCAxMzI5NywgMTMyOTksIDEzMzAxLCAxMzMwMywgMTMzMDUsIAotICAgIDEzMzA3LCAxMzMwOSwgMTMzMTEsIDEzMzEzLCAxMzMxNSwgMTMzMTcsIDEzMzE5LCAxMzMyMSwgMTMzMjMsIDEzMzI1LCAKLSAgICAxMzMyNywgMTMzMjksIDEzMzMxLCAxMzMzMywgMTMzMzUsIDEzMzM3LCAxMzMzOSwgMTMzNDEsIDEzMzQzLCAxMzM0NSwgCi0gICAgMTMzNDcsIDEzMzQ5LCAxMzM1MSwgMTMzNTMsIDEzMzU1LCAxMzM1NywgMTMzNTksIDEzMzYxLCAxMzM2MywgMTMzNjUsIAotICAgIDEzMzY3LCAxMzM2OSwgMTMzNzEsIDEzMzczLCAxMzM3NSwgMTMzNzcsIDEzMzc5LCAxMzM4MSwgMTMzODMsIDEzMzg1LCAKLSAgICAxMzM4NywgMTMzODksIDEzMzkxLCAxMzM5MywgMTMzOTUsIDEzMzk3LCAxMzM5OSwgMTM0MDEsIDEzNDAzLCAxMzQwNSwgCi0gICAgMTM0MDcsIDEzNDA5LCAxMzQxMSwgMTM0MTMsIDEzNDE1LCAxMzQxNywgMTM0MTksIDEzNDIxLCAxMzQyMywgMTM0MjUsIAotICAgIDEzNDI3LCAxMzQyOSwgMTM0MzEsIDEzNDMzLCAxMzQzNSwgMTM0MzcsIDEzNDM5LCAxMzQ0MSwgMTM0NDMsIDEzNDQ1LCAKLSAgICAxMzQ0NywgMTM0NDksIDEzNDUxLCAxMzQ1MywgMTM0NTUsIDEzNDU3LCAxMzQ1OSwgMTM0NjEsIDEzNDYzLCAxMzQ2NSwgCi0gICAgMTM0NjcsIDEzNDY5LCAxMzQ3MSwgMTM0NzMsIDEzNDc1LCAxMzQ3NywgMTM0NzksIDEzNDgxLCAxMzQ4MywgMTM0ODUsIAotICAgIDEzNDg3LCAxMzQ4OSwgMTM0OTEsIDEzNDkzLCAxMzQ5NSwgMTM0OTcsIDEzNDk5LCAxMzUwMSwgMTM1MDMsIDEzNTA1LCAKLSAgICAxMzUwNywgMTM1MDksIDEzNTExLCAxMzUxMywgMTM1MTUsIDEzNTE3LCAxMzUxOSwgMTM1MjEsIDEzNTIzLCAxMzUyNSwgCi0gICAgMTM1MjcsIDEzNTI5LCAxMzUzMSwgMTM1MzMsIDEzNTM1LCAxMzUzNywgMTM1MzksIDEzNTQxLCAxMzU0MywgMTM1NDUsIAotICAgIDEzNTQ3LCAxMzU0OSwgMTM1NTEsIDEzNTUzLCAxMzU1NSwgMTM1NTcsIDEzNTU5LCAxMzU2MSwgMTM1NjMsIDEzNTY1LCAKLSAgICAxMzU2NywgMTM1NjksIDEzNTcxLCAxMzU3MywgMTM1NzUsIDEzNTc3LCAxMzU3OSwgMTM1ODEsIDEzNTgzLCAxMzU4NSwgCi0gICAgMTM1ODcsIDEzNTg5LCAxMzU5MSwgMTM1OTMsIDEzNTk1LCAxMzU5NywgMTM1OTksIDEzNjAxLCAxMzYwMywgMTM2MDUsIAotICAgIDEzNjA3LCAxMzYwOSwgMTM2MTEsIDEzNjEzLCAxMzYxNSwgMTM2MTcsIDEzNjE5LCAxMzYyMSwgMTM2MjMsIDEzNjI1LCAKLSAgICAxMzYyNywgMTM2MjksIDEzNjMxLCAxMzYzMywgMTM2MzUsIDEzNjM3LCAxMzYzOSwgMTM2NDEsIDEzNjQzLCAxMzY0NSwgCi0gICAgMTM2NDcsIDEzNjQ5LCAxMzY1MSwgMTM2NTMsIDEzNjU1LCAxMzY1NywgMTM2NTksIDEzNjYxLCAxMzY2MywgMTM2NjUsIAotICAgIDEzNjY3LCAxMzY2OSwgMTM2NzEsIDEzNjczLCAxMzY3NSwgMTM2NzcsIDEzNjc5LCAxMzY4MSwgMTM2ODMsIDEzNjg1LCAKLSAgICAxMzY4NywgMTM2ODksIDEzNjkxLCAxMzY5MywgMTM2OTUsIDEzNjk3LCAxMzY5OSwgMTM3MDEsIDEzNzAzLCAxMzcwNSwgCi0gICAgMTM3MDcsIDEzNzA5LCAxMzcxMSwgMTM3MTMsIDEzNzE1LCAxMzcxNywgMTM3MTksIDEzNzIxLCAxMzcyMywgMTM3MjUsIAotICAgIDEzNzI3LCAxMzcyOSwgMTM3MzEsIDEzNzMzLCAxMzczNSwgMTM3MzcsIDEzNzM5LCAxMzc0MSwgMTM3NDMsIDEzNzQ1LCAKLSAgICAxMzc0NywgMTM3NDksIDEzNzUxLCAxMzc1MywgMTM3NTUsIDEzNzU3LCAxMzc1OSwgMTM3NjEsIDEzNzYzLCAxMzc2NSwgCi0gICAgMTM3NjcsIDEzNzY5LCAxMzc3MSwgMTM3NzMsIDEzNzc1LCAxMzc3NywgMTM3NzksIDEzNzgxLCAxMzc4MywgMTM3ODUsIAotICAgIDEzNzg3LCAxMzc4OSwgMTM3OTEsIDEzNzkzLCAxMzc5NSwgMTM3OTcsIDEzNzk5LCAxMzgwMSwgMTM4MDMsIDEzODA1LCAKLSAgICAxMzgwNywgMTM4MDksIDEzODExLCAxMzgxMywgMTM4MTUsIDEzODE3LCAxMzgxOSwgMTM4MjEsIDEzODIzLCAxMzgyNSwgCi0gICAgMTM4MjcsIDEzODI5LCAxMzgzMSwgMTM4MzMsIDEzODM1LCAxMzgzNywgMTM4MzksIDEzODQxLCAxMzg0MywgMTM4NDUsIAotICAgIDEzODQ3LCAxMzg0OSwgMTM4NTEsIDEzODUzLCAxMzg1NSwgMTM4NTcsIDEzODU5LCAxMzg2MSwgMTM4NjMsIDEzODY1LCAKLSAgICAxMzg2NywgMTM4NjksIDEzODcxLCAxMzg3MywgMTM4NzUsIDEzODc3LCAxMzg3OSwgMTM4ODEsIDEzODgzLCAxMzg4NSwgCi0gICAgMTM4ODcsIDEzODg5LCAxMzg5MSwgMTM4OTMsIDEzODk1LCAxMzg5NywgMTM4OTksIDEzOTAxLCAxMzkwMywgMTM5MDUsIAotICAgIDEzOTA3LCAxMzkwOSwgMTM5MTEsIDEzOTEzLCAxMzkxNSwgMTM5MTcsIDEzOTE5LCAxMzkyMSwgMTM5MjMsIDEzOTI1LCAKLSAgICAxMzkyNywgMTM5MjksIDEzOTMxLCAxMzkzMywgMTM5MzUsIDEzOTM3LCAxMzkzOSwgMTM5NDEsIDEzOTQzLCAxMzk0NSwgCi0gICAgMTM5NDcsIDEzOTQ5LCAxMzk1MSwgMTM5NTMsIDEzOTU1LCAxMzk1NywgMTM5NTksIDEzOTYxLCAxMzk2MywgMTM5NjUsIAotICAgIDEzOTY3LCAxMzk2OSwgMTM5NzEsIDEzOTczLCAxMzk3NSwgMTM5NzcsIDEzOTc5LCAxMzk4MSwgMTM5ODMsIDEzOTg1LCAKLSAgICAxMzk4NywgMTM5ODksIDEzOTkxLCAxMzk5MywgMTM5OTUsIDEzOTk3LCAxMzk5OSwgMTQwMDEsIDE0MDAzLCAxNDAwNSwgCi0gICAgMTQwMDcsIDE0MDA5LCAxNDAxMSwgMTQwMTMsIDE0MDE1LCAxNDAxNywgMTQwMTksIDE0MDIxLCAxNDAyMywgMTQwMjUsIAotICAgIDE0MDI3LCAxNDAyOSwgMTQwMzEsIDE0MDMzLCAxNDAzNSwgMTQwMzcsIDE0MDM5LCAxNDA0MSwgMTQwNDMsIDE0MDQ1LCAKLSAgICAxNDA0NywgMTQwNDksIDE0MDUxLCAxNDA1MywgMTQwNTUsIDE0MDU3LCAxNDA1OSwgMTQwNjEsIDE0MDYzLCAxNDA2NSwgCi0gICAgMTQwNjcsIDE0MDY5LCAxNDA3MSwgMTQwNzMsIDE0MDc1LCAxNDA3NywgMTQwNzksIDE0MDgxLCAxNDA4MywgMTQwODUsIAotICAgIDE0MDg3LCAxNDA4OSwgMTQwOTEsIDE0MDkzLCAxNDA5NSwgMTQwOTcsIDE0MDk5LCAxNDEwMSwgMTQxMDMsIDE0MTA1LCAKLSAgICAxNDEwNywgMTQxMDksIDE0MTExLCAxNDExMywgMTQxMTUsIDE0MTE3LCAxNDExOSwgMTQxMjEsIDE0MTIzLCAxNDEyNSwgCi0gICAgMTQxMjcsIDE0MTI5LCAxNDEzMSwgMTQxMzMsIDE0MTM1LCAxNDEzNywgMTQxMzksIDE0MTQxLCAxNDE0MywgMTQxNDUsIAotICAgIDE0MTQ3LCAxNDE0OSwgMTQxNTEsIDE0MTUzLCAxNDE1NSwgMTQxNTcsIDE0MTU5LCAxNDE2MSwgMTQxNjMsIDE0MTY1LCAKLSAgICAxNDE2NywgMTQxNjksIDE0MTcxLCAxNDE3MywgMTQxNzUsIDE0MTc3LCAxNDE3OSwgMTQxODEsIDE0MTgzLCAxNDE4NSwgCi0gICAgMTQxODcsIDE0MTg5LCAxNDE5MSwgMTQxOTMsIDE0MTk1LCAxNDE5NywgMTQxOTksIDE0MjAxLCAxNDIwMywgMTQyMDUsIAotICAgIDE0MjA3LCAxNDIwOSwgMTQyMTEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwNDY5LCAKKyAgICAxMDQ3MiwgMCwgMTA0NzUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwNDc4LCAxMDQ4MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMTA0ODQsIDEwNDg3LCAxMDQ5MCwgMTA0OTMsIDEwNDk2LCAxMDQ5OSwgMTA1MDIsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwNTA1LCAxMDUwOCwgMTA1MTEsIDEwNTE0LCAxMDUxNywgCisgICAgMTA1MjAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwNTIzLCAxMDUyNSwgMTA1MjcsIAorICAgIDEwNTI5LCAxMDUzMSwgMTA1MzMsIDEwNTM1LCAxMDUzNywgMTA1MzksIDEwNTQxLCAxMDU0MywgMTA1NDUsIDEwNTQ3LCAKKyAgICAxMDU0OSwgMTA1NTEsIDEwNTUzLCAxMDU1NSwgMTA1NTcsIDEwNTU5LCAxMDU2MSwgMTA1NjMsIDEwNTY1LCAxMDU2NywgCisgICAgMTA1NjksIDEwNTcxLCAxMDU3MywgMTA1NzUsIDEwNTc3LCAxMDU3OSwgMTA1ODEsIDEwNTgzLCAxMDU4NSwgMTA1ODcsIAorICAgIDEwNTg5LCAxMDU5MSwgMTA1OTMsIDEwNTk1LCAxMDU5NywgMTA1OTksIDEwNjAxLCAxMDYwMywgMTA2MDUsIDEwNjA3LCAKKyAgICAxMDYwOSwgMTA2MTEsIDEwNjEzLCAxMDYxNSwgMTA2MTcsIDEwNjE5LCAxMDYyMSwgMTA2MjMsIDEwNjI1LCAxMDYyNywgCisgICAgMTA2MjksIDEwNjMxLCAxMDYzMywgMTA2MzUsIDEwNjM3LCAxMDYzOSwgMTA2NDEsIDEwNjQzLCAxMDY0NSwgMTA2NDcsIAorICAgIDEwNjQ5LCAxMDY1MSwgMTA2NTMsIDEwNjU1LCAxMDY1NywgMTA2NTksIDEwNjYxLCAxMDY2MywgMTA2NjUsIDEwNjY3LCAKKyAgICAxMDY2OSwgMTA2NzEsIDEwNjczLCAxMDY3NSwgMTA2NzcsIDEwNjc5LCAxMDY4MSwgMTA2ODMsIDEwNjg1LCAxMDY4NywgCisgICAgMTA2ODksIDEwNjkxLCAwLCAxMDY5MywgMTA2OTUsIDEwNjk3LCAxMDY5OSwgMTA3MDEsIDEwNzAzLCAxMDcwNSwgMTA3MDcsIAorICAgIDEwNzA5LCAxMDcxMSwgMTA3MTMsIDEwNzE1LCAxMDcxNywgMTA3MTksIDEwNzIxLCAxMDcyMywgMTA3MjUsIDEwNzI3LCAKKyAgICAxMDcyOSwgMTA3MzEsIDEwNzMzLCAxMDczNSwgMTA3MzcsIDEwNzM5LCAxMDc0MSwgMTA3NDMsIDEwNzQ1LCAxMDc0NywgCisgICAgMTA3NDksIDEwNzUxLCAxMDc1MywgMTA3NTUsIDEwNzU3LCAxMDc1OSwgMTA3NjEsIDEwNzYzLCAxMDc2NSwgMTA3NjcsIAorICAgIDEwNzY5LCAxMDc3MSwgMTA3NzMsIDEwNzc1LCAxMDc3NywgMTA3NzksIDEwNzgxLCAxMDc4MywgMTA3ODUsIDEwNzg3LCAKKyAgICAxMDc4OSwgMTA3OTEsIDEwNzkzLCAxMDc5NSwgMTA3OTcsIDEwNzk5LCAxMDgwMSwgMTA4MDMsIDEwODA1LCAxMDgwNywgCisgICAgMTA4MDksIDEwODExLCAxMDgxMywgMTA4MTUsIDEwODE3LCAxMDgxOSwgMTA4MjEsIDEwODIzLCAxMDgyNSwgMTA4MjcsIAorICAgIDEwODI5LCAxMDgzMSwgMTA4MzMsIDAsIDEwODM1LCAxMDgzNywgMCwgMCwgMTA4MzksIDAsIDAsIDEwODQxLCAxMDg0MywgMCwgCisgICAgMCwgMTA4NDUsIDEwODQ3LCAxMDg0OSwgMTA4NTEsIDAsIDEwODUzLCAxMDg1NSwgMTA4NTcsIDEwODU5LCAxMDg2MSwgCisgICAgMTA4NjMsIDEwODY1LCAxMDg2NywgMTA4NjksIDEwODcxLCAxMDg3MywgMTA4NzUsIDAsIDEwODc3LCAwLCAxMDg3OSwgCisgICAgMTA4ODEsIDEwODgzLCAxMDg4NSwgMTA4ODcsIDEwODg5LCAxMDg5MSwgMCwgMTA4OTMsIDEwODk1LCAxMDg5NywgMTA4OTksIAorICAgIDEwOTAxLCAxMDkwMywgMTA5MDUsIDEwOTA3LCAxMDkwOSwgMTA5MTEsIDEwOTEzLCAxMDkxNSwgMTA5MTcsIDEwOTE5LCAKKyAgICAxMDkyMSwgMTA5MjMsIDEwOTI1LCAxMDkyNywgMTA5MjksIDEwOTMxLCAxMDkzMywgMTA5MzUsIDEwOTM3LCAxMDkzOSwgCisgICAgMTA5NDEsIDEwOTQzLCAxMDk0NSwgMTA5NDcsIDEwOTQ5LCAxMDk1MSwgMTA5NTMsIDEwOTU1LCAxMDk1NywgMTA5NTksIAorICAgIDEwOTYxLCAxMDk2MywgMTA5NjUsIDEwOTY3LCAxMDk2OSwgMTA5NzEsIDEwOTczLCAxMDk3NSwgMTA5NzcsIDEwOTc5LCAKKyAgICAxMDk4MSwgMTA5ODMsIDEwOTg1LCAxMDk4NywgMTA5ODksIDEwOTkxLCAxMDk5MywgMTA5OTUsIDEwOTk3LCAxMDk5OSwgCisgICAgMTEwMDEsIDExMDAzLCAxMTAwNSwgMTEwMDcsIDExMDA5LCAxMTAxMSwgMTEwMTMsIDExMDE1LCAxMTAxNywgMTEwMTksIAorICAgIDExMDIxLCAwLCAxMTAyMywgMTEwMjUsIDExMDI3LCAxMTAyOSwgMCwgMCwgMTEwMzEsIDExMDMzLCAxMTAzNSwgMTEwMzcsIAorICAgIDExMDM5LCAxMTA0MSwgMTEwNDMsIDExMDQ1LCAwLCAxMTA0NywgMTEwNDksIDExMDUxLCAxMTA1MywgMTEwNTUsIDExMDU3LCAKKyAgICAxMTA1OSwgMCwgMTEwNjEsIDExMDYzLCAxMTA2NSwgMTEwNjcsIDExMDY5LCAxMTA3MSwgMTEwNzMsIDExMDc1LCAxMTA3NywgCisgICAgMTEwNzksIDExMDgxLCAxMTA4MywgMTEwODUsIDExMDg3LCAxMTA4OSwgMTEwOTEsIDExMDkzLCAxMTA5NSwgMTEwOTcsIAorICAgIDExMDk5LCAxMTEwMSwgMTExMDMsIDExMTA1LCAxMTEwNywgMTExMDksIDExMTExLCAxMTExMywgMTExMTUsIDAsIDExMTE3LCAKKyAgICAxMTExOSwgMTExMjEsIDExMTIzLCAwLCAxMTEyNSwgMTExMjcsIDExMTI5LCAxMTEzMSwgMTExMzMsIDAsIDExMTM1LCAwLCAKKyAgICAwLCAwLCAxMTEzNywgMTExMzksIDExMTQxLCAxMTE0MywgMTExNDUsIDExMTQ3LCAxMTE0OSwgMCwgMTExNTEsIDExMTUzLCAKKyAgICAxMTE1NSwgMTExNTcsIDExMTU5LCAxMTE2MSwgMTExNjMsIDExMTY1LCAxMTE2NywgMTExNjksIDExMTcxLCAxMTE3MywgCisgICAgMTExNzUsIDExMTc3LCAxMTE3OSwgMTExODEsIDExMTgzLCAxMTE4NSwgMTExODcsIDExMTg5LCAxMTE5MSwgMTExOTMsIAorICAgIDExMTk1LCAxMTE5NywgMTExOTksIDExMjAxLCAxMTIwMywgMTEyMDUsIDExMjA3LCAxMTIwOSwgMTEyMTEsIDExMjEzLCAKKyAgICAxMTIxNSwgMTEyMTcsIDExMjE5LCAxMTIyMSwgMTEyMjMsIDExMjI1LCAxMTIyNywgMTEyMjksIDExMjMxLCAxMTIzMywgCisgICAgMTEyMzUsIDExMjM3LCAxMTIzOSwgMTEyNDEsIDExMjQzLCAxMTI0NSwgMTEyNDcsIDExMjQ5LCAxMTI1MSwgMTEyNTMsIAorICAgIDExMjU1LCAxMTI1NywgMTEyNTksIDExMjYxLCAxMTI2MywgMTEyNjUsIDExMjY3LCAxMTI2OSwgMTEyNzEsIDExMjczLCAKKyAgICAxMTI3NSwgMTEyNzcsIDExMjc5LCAxMTI4MSwgMTEyODMsIDExMjg1LCAxMTI4NywgMTEyODksIDExMjkxLCAxMTI5MywgCisgICAgMTEyOTUsIDExMjk3LCAxMTI5OSwgMTEzMDEsIDExMzAzLCAxMTMwNSwgMTEzMDcsIDExMzA5LCAxMTMxMSwgMTEzMTMsIAorICAgIDExMzE1LCAxMTMxNywgMTEzMTksIDExMzIxLCAxMTMyMywgMTEzMjUsIDExMzI3LCAxMTMyOSwgMTEzMzEsIDExMzMzLCAKKyAgICAxMTMzNSwgMTEzMzcsIDExMzM5LCAxMTM0MSwgMTEzNDMsIDExMzQ1LCAxMTM0NywgMTEzNDksIDExMzUxLCAxMTM1MywgCisgICAgMTEzNTUsIDExMzU3LCAxMTM1OSwgMTEzNjEsIDExMzYzLCAxMTM2NSwgMTEzNjcsIDExMzY5LCAxMTM3MSwgMTEzNzMsIAorICAgIDExMzc1LCAxMTM3NywgMTEzNzksIDExMzgxLCAxMTM4MywgMTEzODUsIDExMzg3LCAxMTM4OSwgMTEzOTEsIDExMzkzLCAKKyAgICAxMTM5NSwgMTEzOTcsIDExMzk5LCAxMTQwMSwgMTE0MDMsIDExNDA1LCAxMTQwNywgMTE0MDksIDExNDExLCAxMTQxMywgCisgICAgMTE0MTUsIDExNDE3LCAxMTQxOSwgMTE0MjEsIDExNDIzLCAxMTQyNSwgMTE0MjcsIDExNDI5LCAxMTQzMSwgMTE0MzMsIAorICAgIDExNDM1LCAxMTQzNywgMTE0MzksIDExNDQxLCAxMTQ0MywgMTE0NDUsIDExNDQ3LCAxMTQ0OSwgMTE0NTEsIDExNDUzLCAKKyAgICAxMTQ1NSwgMTE0NTcsIDExNDU5LCAxMTQ2MSwgMTE0NjMsIDExNDY1LCAxMTQ2NywgMTE0NjksIDExNDcxLCAxMTQ3MywgCisgICAgMTE0NzUsIDExNDc3LCAxMTQ3OSwgMTE0ODEsIDExNDgzLCAxMTQ4NSwgMTE0ODcsIDExNDg5LCAxMTQ5MSwgMTE0OTMsIAorICAgIDExNDk1LCAxMTQ5NywgMTE0OTksIDExNTAxLCAxMTUwMywgMTE1MDUsIDExNTA3LCAxMTUwOSwgMTE1MTEsIDExNTEzLCAKKyAgICAxMTUxNSwgMTE1MTcsIDExNTE5LCAxMTUyMSwgMTE1MjMsIDExNTI1LCAxMTUyNywgMTE1MjksIDExNTMxLCAxMTUzMywgCisgICAgMTE1MzUsIDExNTM3LCAxMTUzOSwgMTE1NDEsIDExNTQzLCAxMTU0NSwgMTE1NDcsIDExNTQ5LCAxMTU1MSwgMTE1NTMsIAorICAgIDExNTU1LCAxMTU1NywgMTE1NTksIDExNTYxLCAxMTU2MywgMTE1NjUsIDExNTY3LCAxMTU2OSwgMTE1NzEsIDExNTczLCAKKyAgICAxMTU3NSwgMTE1NzcsIDExNTc5LCAxMTU4MSwgMTE1ODMsIDExNTg1LCAxMTU4NywgMTE1ODksIDExNTkxLCAxMTU5MywgCisgICAgMTE1OTUsIDExNTk3LCAxMTU5OSwgMTE2MDEsIDExNjAzLCAxMTYwNSwgMTE2MDcsIDExNjA5LCAxMTYxMSwgMTE2MTMsIAorICAgIDExNjE1LCAxMTYxNywgMTE2MTksIDExNjIxLCAxMTYyMywgMTE2MjUsIDExNjI3LCAxMTYyOSwgMTE2MzEsIDExNjMzLCAKKyAgICAxMTYzNSwgMTE2MzcsIDExNjM5LCAxMTY0MSwgMTE2NDMsIDExNjQ1LCAxMTY0NywgMTE2NDksIDExNjUxLCAxMTY1MywgCisgICAgMTE2NTUsIDExNjU3LCAxMTY1OSwgMTE2NjEsIDExNjYzLCAxMTY2NSwgMTE2NjcsIDExNjY5LCAxMTY3MSwgMTE2NzMsIAorICAgIDExNjc1LCAxMTY3NywgMTE2NzksIDExNjgxLCAxMTY4MywgMTE2ODUsIDExNjg3LCAxMTY4OSwgMTE2OTEsIDExNjkzLCAKKyAgICAxMTY5NSwgMTE2OTcsIDExNjk5LCAxMTcwMSwgMTE3MDMsIDExNzA1LCAxMTcwNywgMTE3MDksIDExNzExLCAxMTcxMywgCisgICAgMTE3MTUsIDExNzE3LCAxMTcxOSwgMTE3MjEsIDExNzIzLCAxMTcyNSwgMTE3MjcsIDExNzI5LCAxMTczMSwgMTE3MzMsIAorICAgIDExNzM1LCAxMTczNywgMTE3MzksIDExNzQxLCAxMTc0MywgMTE3NDUsIDExNzQ3LCAxMTc0OSwgMTE3NTEsIDExNzUzLCAKKyAgICAxMTc1NSwgMTE3NTcsIDExNzU5LCAxMTc2MSwgMTE3NjMsIDExNzY1LCAxMTc2NywgMTE3NjksIDExNzcxLCAxMTc3MywgCisgICAgMTE3NzUsIDExNzc3LCAxMTc3OSwgMTE3ODEsIDExNzgzLCAxMTc4NSwgMTE3ODcsIDExNzg5LCAxMTc5MSwgMTE3OTMsIAorICAgIDExNzk1LCAxMTc5NywgMTE3OTksIDExODAxLCAxMTgwMywgMTE4MDUsIDExODA3LCAxMTgwOSwgMTE4MTEsIDExODEzLCAKKyAgICAxMTgxNSwgMTE4MTcsIDExODE5LCAxMTgyMSwgMTE4MjMsIDExODI1LCAxMTgyNywgMTE4MjksIDAsIDAsIDExODMxLCAKKyAgICAxMTgzMywgMTE4MzUsIDExODM3LCAxMTgzOSwgMTE4NDEsIDExODQzLCAxMTg0NSwgMTE4NDcsIDExODQ5LCAxMTg1MSwgCisgICAgMTE4NTMsIDExODU1LCAxMTg1NywgMTE4NTksIDExODYxLCAxMTg2MywgMTE4NjUsIDExODY3LCAxMTg2OSwgMTE4NzEsIAorICAgIDExODczLCAxMTg3NSwgMTE4NzcsIDExODc5LCAxMTg4MSwgMTE4ODMsIDExODg1LCAxMTg4NywgMTE4ODksIDExODkxLCAKKyAgICAxMTg5MywgMTE4OTUsIDExODk3LCAxMTg5OSwgMTE5MDEsIDExOTAzLCAxMTkwNSwgMTE5MDcsIDExOTA5LCAxMTkxMSwgCisgICAgMTE5MTMsIDExOTE1LCAxMTkxNywgMTE5MTksIDExOTIxLCAxMTkyMywgMTE5MjUsIDExOTI3LCAxMTkyOSwgMTE5MzEsIAorICAgIDExOTMzLCAxMTkzNSwgMTE5MzcsIDExOTM5LCAxMTk0MSwgMTE5NDMsIDExOTQ1LCAxMTk0NywgMTE5NDksIDExOTUxLCAKKyAgICAxMTk1MywgMTE5NTUsIDExOTU3LCAxMTk1OSwgMTE5NjEsIDExOTYzLCAxMTk2NSwgMTE5NjcsIDExOTY5LCAxMTk3MSwgCisgICAgMTE5NzMsIDExOTc1LCAxMTk3NywgMTE5NzksIDExOTgxLCAxMTk4MywgMTE5ODUsIDExOTg3LCAxMTk4OSwgMTE5OTEsIAorICAgIDExOTkzLCAxMTk5NSwgMTE5OTcsIDExOTk5LCAxMjAwMSwgMTIwMDMsIDEyMDA1LCAxMjAwNywgMTIwMDksIDEyMDExLCAKKyAgICAxMjAxMywgMTIwMTUsIDEyMDE3LCAxMjAxOSwgMTIwMjEsIDEyMDIzLCAxMjAyNSwgMTIwMjcsIDEyMDI5LCAxMjAzMSwgCisgICAgMTIwMzMsIDEyMDM1LCAxMjAzNywgMTIwMzksIDEyMDQxLCAxMjA0MywgMTIwNDUsIDEyMDQ3LCAxMjA0OSwgMTIwNTEsIAorICAgIDEyMDUzLCAxMjA1NSwgMTIwNTcsIDEyMDU5LCAxMjA2MSwgMTIwNjMsIDEyMDY1LCAxMjA2NywgMTIwNjksIDEyMDcxLCAKKyAgICAxMjA3MywgMTIwNzUsIDEyMDc3LCAxMjA3OSwgMTIwODEsIDEyMDgzLCAxMjA4NSwgMTIwODcsIDEyMDg5LCAxMjA5MSwgCisgICAgMTIwOTMsIDEyMDk1LCAxMjA5NywgMTIwOTksIDEyMTAxLCAxMjEwMywgMTIxMDUsIDEyMTA3LCAxMjEwOSwgMTIxMTEsIAorICAgIDEyMTEzLCAxMjExNSwgMTIxMTcsIDEyMTE5LCAxMjEyMSwgMTIxMjMsIDEyMTI1LCAxMjEyNywgMTIxMjksIDEyMTMxLCAKKyAgICAxMjEzMywgMTIxMzUsIDEyMTM3LCAxMjEzOSwgMTIxNDEsIDEyMTQzLCAxMjE0NSwgMTIxNDcsIDEyMTQ5LCAxMjE1MSwgCisgICAgMTIxNTMsIDEyMTU1LCAxMjE1NywgMTIxNTksIDEyMTYxLCAxMjE2MywgMTIxNjUsIDEyMTY3LCAxMjE2OSwgMTIxNzEsIAorICAgIDEyMTczLCAxMjE3NSwgMTIxNzcsIDEyMTc5LCAxMjE4MSwgMTIxODMsIDEyMTg1LCAxMjE4NywgMTIxODksIDEyMTkxLCAKKyAgICAxMjE5MywgMTIxOTUsIDEyMTk3LCAxMjE5OSwgMTIyMDEsIDEyMjAzLCAxMjIwNSwgMTIyMDcsIDEyMjA5LCAxMjIxMSwgCisgICAgMTIyMTMsIDEyMjE1LCAxMjIxNywgMTIyMTksIDEyMjIxLCAxMjIyMywgMTIyMjUsIDEyMjI3LCAxMjIyOSwgMTIyMzEsIAorICAgIDEyMjMzLCAxMjIzNSwgMTIyMzcsIDEyMjM5LCAxMjI0MSwgMTIyNDMsIDEyMjQ1LCAxMjI0NywgMTIyNDksIDEyMjUxLCAKKyAgICAxMjI1MywgMTIyNTUsIDEyMjU3LCAxMjI1OSwgMTIyNjEsIDEyMjYzLCAxMjI2NSwgMTIyNjcsIDEyMjY5LCAxMjI3MSwgCisgICAgMTIyNzMsIDEyMjc1LCAxMjI3NywgMTIyNzksIDEyMjgxLCAxMjI4MywgMTIyODUsIDEyMjg3LCAxMjI4OSwgMTIyOTEsIAorICAgIDEyMjkzLCAxMjI5NSwgMTIyOTcsIDEyMjk5LCAxMjMwMSwgMTIzMDMsIDEyMzA1LCAxMjMwNywgMTIzMDksIDEyMzExLCAKKyAgICAxMjMxMywgMTIzMTUsIDEyMzE3LCAxMjMxOSwgMTIzMjEsIDEyMzIzLCAxMjMyNSwgMTIzMjcsIDEyMzI5LCAxMjMzMSwgCisgICAgMTIzMzMsIDEyMzM1LCAxMjMzNywgMTIzMzksIDEyMzQxLCAxMjM0MywgMTIzNDUsIDEyMzQ3LCAxMjM0OSwgMTIzNTEsIAorICAgIDEyMzUzLCAxMjM1NSwgMTIzNTcsIDEyMzU5LCAxMjM2MSwgMTIzNjMsIDEyMzY1LCAxMjM2NywgMTIzNjksIDEyMzcxLCAKKyAgICAxMjM3MywgMTIzNzUsIDEyMzc3LCAxMjM3OSwgMTIzODEsIDEyMzgzLCAxMjM4NSwgMTIzODcsIDEyMzg5LCAxMjM5MSwgCisgICAgMTIzOTMsIDEyMzk1LCAxMjM5NywgMTIzOTksIDEyNDAxLCAxMjQwMywgMTI0MDUsIDEyNDA3LCAxMjQwOSwgMTI0MTEsIAorICAgIDEyNDEzLCAwLCAwLCAxMjQxNSwgMTI0MTcsIDEyNDE5LCAxMjQyMSwgMTI0MjMsIDEyNDI1LCAxMjQyNywgMTI0MjksIAorICAgIDEyNDMxLCAxMjQzMywgMTI0MzUsIDEyNDM3LCAxMjQzOSwgMTI0NDEsIDEyNDQzLCAxMjQ0NSwgMTI0NDcsIDEyNDQ5LCAKKyAgICAxMjQ1MSwgMTI0NTMsIDEyNDU1LCAxMjQ1NywgMTI0NTksIDEyNDYxLCAxMjQ2MywgMTI0NjUsIDEyNDY3LCAxMjQ2OSwgCisgICAgMTI0NzEsIDEyNDczLCAxMjQ3NSwgMTI0NzcsIDEyNDc5LCAxMjQ4MSwgMTI0ODMsIDEyNDg1LCAxMjQ4NywgMTI0ODksIAorICAgIDEyNDkxLCAxMjQ5MywgMTI0OTUsIDEyNDk3LCAxMjQ5OSwgMTI1MDEsIDEyNTAzLCAxMjUwNSwgMTI1MDcsIDEyNTA5LCAKKyAgICAxMjUxMSwgMTI1MTMsIDEyNTE1LCAxMjUxNywgMTI1MTksIDEyNTIxLCAwLCAxMjUyMywgMTI1MjUsIDEyNTI3LCAxMjUyOSwgCisgICAgMTI1MzEsIDEyNTMzLCAxMjUzNSwgMTI1MzcsIDEyNTM5LCAxMjU0MSwgMTI1NDMsIDEyNTQ1LCAxMjU0NywgMTI1NDksIAorICAgIDEyNTUxLCAxMjU1MywgMTI1NTUsIDEyNTU3LCAxMjU1OSwgMTI1NjEsIDEyNTYzLCAxMjU2NSwgMTI1NjcsIDEyNTY5LCAKKyAgICAxMjU3MSwgMTI1NzMsIDEyNTc1LCAwLCAxMjU3NywgMTI1NzksIDAsIDEyNTgxLCAwLCAwLCAxMjU4MywgMCwgMTI1ODUsIAorICAgIDEyNTg3LCAxMjU4OSwgMTI1OTEsIDEyNTkzLCAxMjU5NSwgMTI1OTcsIDEyNTk5LCAxMjYwMSwgMTI2MDMsIDAsIDEyNjA1LCAKKyAgICAxMjYwNywgMTI2MDksIDEyNjExLCAwLCAxMjYxMywgMCwgMTI2MTUsIDAsIDAsIDAsIDAsIDAsIDAsIDEyNjE3LCAwLCAwLCAKKyAgICAwLCAwLCAxMjYxOSwgMCwgMTI2MjEsIDAsIDEyNjIzLCAwLCAxMjYyNSwgMTI2MjcsIDEyNjI5LCAwLCAxMjYzMSwgMTI2MzMsIAorICAgIDAsIDEyNjM1LCAwLCAwLCAxMjYzNywgMCwgMTI2MzksIDAsIDEyNjQxLCAwLCAxMjY0MywgMCwgMTI2NDUsIDAsIDEyNjQ3LCAKKyAgICAxMjY0OSwgMCwgMTI2NTEsIDAsIDAsIDEyNjUzLCAxMjY1NSwgMTI2NTcsIDEyNjU5LCAwLCAxMjY2MSwgMTI2NjMsIAorICAgIDEyNjY1LCAxMjY2NywgMTI2NjksIDEyNjcxLCAxMjY3MywgMCwgMTI2NzUsIDEyNjc3LCAxMjY3OSwgMTI2ODEsIDAsIAorICAgIDEyNjgzLCAxMjY4NSwgMTI2ODcsIDEyNjg5LCAwLCAxMjY5MSwgMCwgMTI2OTMsIDEyNjk1LCAxMjY5NywgMTI2OTksIAorICAgIDEyNzAxLCAxMjcwMywgMTI3MDUsIDEyNzA3LCAxMjcwOSwgMTI3MTEsIDAsIDEyNzEzLCAxMjcxNSwgMTI3MTcsIDEyNzE5LCAKKyAgICAxMjcyMSwgMTI3MjMsIDEyNzI1LCAxMjcyNywgMTI3MjksIDEyNzMxLCAxMjczMywgMTI3MzUsIDEyNzM3LCAxMjczOSwgCisgICAgMTI3NDEsIDEyNzQzLCAxMjc0NSwgMCwgMCwgMCwgMCwgMCwgMTI3NDcsIDEyNzQ5LCAxMjc1MSwgMCwgMTI3NTMsIDEyNzU1LCAKKyAgICAxMjc1NywgMTI3NTksIDEyNzYxLCAwLCAxMjc2MywgMTI3NjUsIDEyNzY3LCAxMjc2OSwgMTI3NzEsIDEyNzczLCAxMjc3NSwgCisgICAgMTI3NzcsIDEyNzc5LCAxMjc4MSwgMTI3ODMsIDEyNzg1LCAxMjc4NywgMTI3ODksIDEyNzkxLCAxMjc5MywgMTI3OTUsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyNzk3LCAxMjgwMCwgCisgICAgMTI4MDMsIDEyODA2LCAxMjgwOSwgMTI4MTIsIDEyODE1LCAxMjgxOCwgMTI4MjEsIDEyODI0LCAxMjgyNywgMCwgMCwgMCwgCisgICAgMCwgMCwgMTI4MzAsIDEyODM0LCAxMjgzOCwgMTI4NDIsIDEyODQ2LCAxMjg1MCwgMTI4NTQsIDEyODU4LCAxMjg2MiwgCisgICAgMTI4NjYsIDEyODcwLCAxMjg3NCwgMTI4NzgsIDEyODgyLCAxMjg4NiwgMTI4OTAsIDEyODk0LCAxMjg5OCwgMTI5MDIsIAorICAgIDEyOTA2LCAxMjkxMCwgMTI5MTQsIDEyOTE4LCAxMjkyMiwgMTI5MjYsIDEyOTMwLCAxMjkzNCwgMTI5MzgsIDEyOTQwLCAKKyAgICAxMjk0MiwgMTI5NDUsIDAsIDEyOTQ4LCAxMjk1MCwgMTI5NTIsIDEyOTU0LCAxMjk1NiwgMTI5NTgsIDEyOTYwLCAxMjk2MiwgCisgICAgMTI5NjQsIDEyOTY2LCAxMjk2OCwgMTI5NzAsIDEyOTcyLCAxMjk3NCwgMTI5NzYsIDEyOTc4LCAxMjk4MCwgMTI5ODIsIAorICAgIDEyOTg0LCAxMjk4NiwgMTI5ODgsIDEyOTkwLCAxMjk5MiwgMTI5OTQsIDEyOTk2LCAxMjk5OCwgMTMwMDAsIDEzMDAzLCAKKyAgICAxMzAwNiwgMTMwMDksIDEzMDEyLCAxMzAxNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTMwMTksIDEzMDIyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAxMzAyNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTMwMjgsIDEzMDMxLCAKKyAgICAxMzAzNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTMwMzYsIDEzMDM4LCAxMzA0MCwgMTMwNDIsIAorICAgIDEzMDQ0LCAxMzA0NiwgMTMwNDgsIDEzMDUwLCAxMzA1MiwgMTMwNTQsIDEzMDU2LCAxMzA1OCwgMTMwNjAsIDEzMDYyLCAKKyAgICAxMzA2NCwgMTMwNjYsIDEzMDY4LCAxMzA3MCwgMTMwNzIsIDEzMDc0LCAxMzA3NiwgMTMwNzgsIDEzMDgwLCAxMzA4MiwgCisgICAgMTMwODQsIDEzMDg2LCAxMzA4OCwgMTMwOTAsIDEzMDkyLCAxMzA5NCwgMTMwOTYsIDEzMDk4LCAxMzEwMCwgMTMxMDIsIAorICAgIDEzMTA0LCAxMzEwNiwgMTMxMDgsIDEzMTEwLCAxMzExMiwgMTMxMTQsIDEzMTE2LCAxMzExOCwgMTMxMjAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDEzMTIyLCAxMzEyNiwgMTMxMzAsIDEzMTM0LCAxMzEzOCwgMTMxNDIsIDEzMTQ2LCAxMzE1MCwgMTMxNTQsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDEzMTU4LCAxMzE2MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTMxNjIsIDEzMTY0LCAxMzE2NiwgMTMxNjgsIDEzMTcwLCAxMzE3MiwgMTMxNzQsIAorICAgIDEzMTc2LCAxMzE3OCwgMTMxODAsIDEzMTgyLCAxMzE4NCwgMTMxODYsIDEzMTg4LCAxMzE5MCwgMTMxOTIsIDEzMTk0LCAKKyAgICAxMzE5NiwgMTMxOTgsIDEzMjAwLCAxMzIwMiwgMTMyMDQsIDEzMjA2LCAxMzIwOCwgMTMyMTAsIDEzMjEyLCAxMzIxNCwgCisgICAgMTMyMTYsIDEzMjE4LCAxMzIyMCwgMTMyMjIsIDEzMjI0LCAxMzIyNiwgMTMyMjgsIDEzMjMwLCAxMzIzMiwgMTMyMzQsIAorICAgIDEzMjM2LCAxMzIzOCwgMTMyNDAsIDEzMjQyLCAxMzI0NCwgMTMyNDYsIDEzMjQ4LCAxMzI1MCwgMTMyNTIsIDEzMjU0LCAKKyAgICAxMzI1NiwgMTMyNTgsIDEzMjYwLCAxMzI2MiwgMTMyNjQsIDEzMjY2LCAxMzI2OCwgMTMyNzAsIDEzMjcyLCAxMzI3NCwgCisgICAgMTMyNzYsIDEzMjc4LCAxMzI4MCwgMTMyODIsIDEzMjg0LCAxMzI4NiwgMTMyODgsIDEzMjkwLCAxMzI5MiwgMTMyOTQsIAorICAgIDEzMjk2LCAxMzI5OCwgMTMzMDAsIDEzMzAyLCAxMzMwNCwgMTMzMDYsIDEzMzA4LCAxMzMxMCwgMTMzMTIsIDEzMzE0LCAKKyAgICAxMzMxNiwgMTMzMTgsIDEzMzIwLCAxMzMyMiwgMTMzMjQsIDEzMzI2LCAxMzMyOCwgMTMzMzAsIDEzMzMyLCAxMzMzNCwgCisgICAgMTMzMzYsIDEzMzM4LCAxMzM0MCwgMTMzNDIsIDEzMzQ0LCAxMzM0NiwgMTMzNDgsIDEzMzUwLCAxMzM1MiwgMTMzNTQsIAorICAgIDEzMzU2LCAxMzM1OCwgMTMzNjAsIDEzMzYyLCAxMzM2NCwgMTMzNjYsIDEzMzY4LCAxMzM3MCwgMTMzNzIsIDEzMzc0LCAKKyAgICAxMzM3NiwgMTMzNzgsIDEzMzgwLCAxMzM4MiwgMTMzODQsIDEzMzg2LCAxMzM4OCwgMTMzOTAsIDEzMzkyLCAxMzM5NCwgCisgICAgMTMzOTYsIDEzMzk4LCAxMzQwMCwgMTM0MDIsIDEzNDA0LCAxMzQwNiwgMTM0MDgsIDEzNDEwLCAxMzQxMiwgMTM0MTQsIAorICAgIDEzNDE2LCAxMzQxOCwgMTM0MjAsIDEzNDIyLCAxMzQyNCwgMTM0MjYsIDEzNDI4LCAxMzQzMCwgMTM0MzIsIDEzNDM0LCAKKyAgICAxMzQzNiwgMTM0MzgsIDEzNDQwLCAxMzQ0MiwgMTM0NDQsIDEzNDQ2LCAxMzQ0OCwgMTM0NTAsIDEzNDUyLCAxMzQ1NCwgCisgICAgMTM0NTYsIDEzNDU4LCAxMzQ2MCwgMTM0NjIsIDEzNDY0LCAxMzQ2NiwgMTM0NjgsIDEzNDcwLCAxMzQ3MiwgMTM0NzQsIAorICAgIDEzNDc2LCAxMzQ3OCwgMTM0ODAsIDEzNDgyLCAxMzQ4NCwgMTM0ODYsIDEzNDg4LCAxMzQ5MCwgMTM0OTIsIDEzNDk0LCAKKyAgICAxMzQ5NiwgMTM0OTgsIDEzNTAwLCAxMzUwMiwgMTM1MDQsIDEzNTA2LCAxMzUwOCwgMTM1MTAsIDEzNTEyLCAxMzUxNCwgCisgICAgMTM1MTYsIDEzNTE4LCAxMzUyMCwgMTM1MjIsIDEzNTI0LCAxMzUyNiwgMTM1MjgsIDEzNTMwLCAxMzUzMiwgMTM1MzQsIAorICAgIDEzNTM2LCAxMzUzOCwgMTM1NDAsIDEzNTQyLCAxMzU0NCwgMTM1NDYsIDEzNTQ4LCAxMzU1MCwgMTM1NTIsIDEzNTU0LCAKKyAgICAxMzU1NiwgMTM1NTgsIDEzNTYwLCAxMzU2MiwgMTM1NjQsIDEzNTY2LCAxMzU2OCwgMTM1NzAsIDEzNTcyLCAxMzU3NCwgCisgICAgMTM1NzYsIDEzNTc4LCAxMzU4MCwgMTM1ODIsIDEzNTg0LCAxMzU4NiwgMTM1ODgsIDEzNTkwLCAxMzU5MiwgMTM1OTQsIAorICAgIDEzNTk2LCAxMzU5OCwgMTM2MDAsIDEzNjAyLCAxMzYwNCwgMTM2MDYsIDEzNjA4LCAxMzYxMCwgMTM2MTIsIDEzNjE0LCAKKyAgICAxMzYxNiwgMTM2MTgsIDEzNjIwLCAxMzYyMiwgMTM2MjQsIDEzNjI2LCAxMzYyOCwgMTM2MzAsIDEzNjMyLCAxMzYzNCwgCisgICAgMTM2MzYsIDEzNjM4LCAxMzY0MCwgMTM2NDIsIDEzNjQ0LCAxMzY0NiwgMTM2NDgsIDEzNjUwLCAxMzY1MiwgMTM2NTQsIAorICAgIDEzNjU2LCAxMzY1OCwgMTM2NjAsIDEzNjYyLCAxMzY2NCwgMTM2NjYsIDEzNjY4LCAxMzY3MCwgMTM2NzIsIDEzNjc0LCAKKyAgICAxMzY3NiwgMTM2NzgsIDEzNjgwLCAxMzY4MiwgMTM2ODQsIDEzNjg2LCAxMzY4OCwgMTM2OTAsIDEzNjkyLCAxMzY5NCwgCisgICAgMTM2OTYsIDEzNjk4LCAxMzcwMCwgMTM3MDIsIDEzNzA0LCAxMzcwNiwgMTM3MDgsIDEzNzEwLCAxMzcxMiwgMTM3MTQsIAorICAgIDEzNzE2LCAxMzcxOCwgMTM3MjAsIDEzNzIyLCAxMzcyNCwgMTM3MjYsIDEzNzI4LCAxMzczMCwgMTM3MzIsIDEzNzM0LCAKKyAgICAxMzczNiwgMTM3MzgsIDEzNzQwLCAxMzc0MiwgMTM3NDQsIDEzNzQ2LCAxMzc0OCwgMTM3NTAsIDEzNzUyLCAxMzc1NCwgCisgICAgMTM3NTYsIDEzNzU4LCAxMzc2MCwgMTM3NjIsIDEzNzY0LCAxMzc2NiwgMTM3NjgsIDEzNzcwLCAxMzc3MiwgMTM3NzQsIAorICAgIDEzNzc2LCAxMzc3OCwgMTM3ODAsIDEzNzgyLCAxMzc4NCwgMTM3ODYsIDEzNzg4LCAxMzc5MCwgMTM3OTIsIDEzNzk0LCAKKyAgICAxMzc5NiwgMTM3OTgsIDEzODAwLCAxMzgwMiwgMTM4MDQsIDEzODA2LCAxMzgwOCwgMTM4MTAsIDEzODEyLCAxMzgxNCwgCisgICAgMTM4MTYsIDEzODE4LCAxMzgyMCwgMTM4MjIsIDEzODI0LCAxMzgyNiwgMTM4MjgsIDEzODMwLCAxMzgzMiwgMTM4MzQsIAorICAgIDEzODM2LCAxMzgzOCwgMTM4NDAsIDEzODQyLCAxMzg0NCwgMTM4NDYsIDEzODQ4LCAxMzg1MCwgMTM4NTIsIDEzODU0LCAKKyAgICAxMzg1NiwgMTM4NTgsIDEzODYwLCAxMzg2MiwgMTM4NjQsIDEzODY2LCAxMzg2OCwgMTM4NzAsIDEzODcyLCAxMzg3NCwgCisgICAgMTM4NzYsIDEzODc4LCAxMzg4MCwgMTM4ODIsIDEzODg0LCAxMzg4NiwgMTM4ODgsIDEzODkwLCAxMzg5MiwgMTM4OTQsIAorICAgIDEzODk2LCAxMzg5OCwgMTM5MDAsIDEzOTAyLCAxMzkwNCwgMTM5MDYsIDEzOTA4LCAxMzkxMCwgMTM5MTIsIDEzOTE0LCAKKyAgICAxMzkxNiwgMTM5MTgsIDEzOTIwLCAxMzkyMiwgMTM5MjQsIDEzOTI2LCAxMzkyOCwgMTM5MzAsIDEzOTMyLCAxMzkzNCwgCisgICAgMTM5MzYsIDEzOTM4LCAxMzk0MCwgMTM5NDIsIDEzOTQ0LCAxMzk0NiwgMTM5NDgsIDEzOTUwLCAxMzk1MiwgMTM5NTQsIAorICAgIDEzOTU2LCAxMzk1OCwgMTM5NjAsIDEzOTYyLCAxMzk2NCwgMTM5NjYsIDEzOTY4LCAxMzk3MCwgMTM5NzIsIDEzOTc0LCAKKyAgICAxMzk3NiwgMTM5NzgsIDEzOTgwLCAxMzk4MiwgMTM5ODQsIDEzOTg2LCAxMzk4OCwgMTM5OTAsIDEzOTkyLCAxMzk5NCwgCisgICAgMTM5OTYsIDEzOTk4LCAxNDAwMCwgMTQwMDIsIDE0MDA0LCAxNDAwNiwgMTQwMDgsIDE0MDEwLCAxNDAxMiwgMTQwMTQsIAorICAgIDE0MDE2LCAxNDAxOCwgMTQwMjAsIDE0MDIyLCAxNDAyNCwgMTQwMjYsIDE0MDI4LCAxNDAzMCwgMTQwMzIsIDE0MDM0LCAKKyAgICAxNDAzNiwgMTQwMzgsIDE0MDQwLCAxNDA0MiwgMTQwNDQsIDE0MDQ2LCAxNDA0OCwgMTQwNTAsIDE0MDUyLCAxNDA1NCwgCisgICAgMTQwNTYsIDE0MDU4LCAxNDA2MCwgMTQwNjIsIDE0MDY0LCAxNDA2NiwgMTQwNjgsIDE0MDcwLCAxNDA3MiwgMTQwNzQsIAorICAgIDE0MDc2LCAxNDA3OCwgMTQwODAsIDE0MDgyLCAxNDA4NCwgMTQwODYsIDE0MDg4LCAxNDA5MCwgMTQwOTIsIDE0MDk0LCAKKyAgICAxNDA5NiwgMTQwOTgsIDE0MTAwLCAxNDEwMiwgMTQxMDQsIDE0MTA2LCAxNDEwOCwgMTQxMTAsIDE0MTEyLCAxNDExNCwgCisgICAgMTQxMTYsIDE0MTE4LCAxNDEyMCwgMTQxMjIsIDE0MTI0LCAxNDEyNiwgMTQxMjgsIDE0MTMwLCAxNDEzMiwgMTQxMzQsIAorICAgIDE0MTM2LCAxNDEzOCwgMTQxNDAsIDE0MTQyLCAxNDE0NCwgMTQxNDYsIDE0MTQ4LCAxNDE1MCwgMTQxNTIsIDE0MTU0LCAKKyAgICAxNDE1NiwgMTQxNTgsIDE0MTYwLCAxNDE2MiwgMTQxNjQsIDE0MTY2LCAxNDE2OCwgMTQxNzAsIDE0MTcyLCAxNDE3NCwgCisgICAgMTQxNzYsIDE0MTc4LCAxNDE4MCwgMTQxODIsIDE0MTg0LCAxNDE4NiwgMTQxODgsIDE0MTkwLCAxNDE5MiwgMTQxOTQsIAorICAgIDE0MTk2LCAxNDE5OCwgMTQyMDAsIDE0MjAyLCAxNDIwNCwgMTQyMDYsIDE0MjA4LCAxNDIxMCwgMTQyMTIsIDE0MjE0LCAKKyAgICAxNDIxNiwgMTQyMTgsIDE0MjIwLCAxNDIyMiwgMTQyMjQsIDE0MjI2LCAxNDIyOCwgMTQyMzAsIDE0MjMyLCAxNDIzNCwgCisgICAgMTQyMzYsIDE0MjM4LCAxNDI0MCwgMTQyNDIsIDE0MjQ0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKIH07CiAKIC8qIE5GQyBwYWlycyAqLwogI2RlZmluZSBDT01QX1NISUZUIDIKIHN0YXRpYyB1bnNpZ25lZCBzaG9ydCBjb21wX2luZGV4W10gPSB7Ci0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMiwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNCwgNSwgNiwgNywgOCwgOSwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTAsIDAsIDAsIDExLCAwLCAxMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTMsIAotICAgIDE0LCAxNSwgMCwgMCwgMTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE3LCAxOCwgMCwgMTksIDIwLCAyMSwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMjIsIDIzLCAyNCwgMjUsIDI2LCAyNywgMjgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI5LCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMCwgMzEsIDMyLCAwLCAwLCAzMywgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMzQsIDM1LCAzNiwgMCwgMzcsIDM4LCAzOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDAsIDQxLCA0MiwgNDMsIDQ0LCAKLSAgICA0NSwgNDYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA0OCwgMCwgNDksIDAsIDUwLCA1MSwgNTIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUzLCAwLCA1NCwgMCwgNTUsIDU2LCA1NywgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTgsIDU5LCAwLCAwLCA2MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjEsIDYyLCAKLSAgICA2MywgMCwgNjQsIDY1LCA2NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjcsIDY4LCA2OSwgNzAsIDcxLCA3MiwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgNzMsIDc0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3NSwgNzYsIDc3LCAKLSAgICA3OCwgNzksIDgwLCA4MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODIsIDgzLCA4NCwgMCwgODUsIDg2LCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA4NywgODgsIDAsIDg5LCA5MCwgOTEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDkyLCA5MywgOTQsIAotICAgIDk1LCA5NiwgOTcsIDk4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5OSwgMCwgMCwgMCwgMTAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAxMDEsIDEwMiwgMCwgMCwgMTAzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDQsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwNSwgMTA2LCAxMDcsIDAsIDEwOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMTA5LCAxMTAsIDExMSwgMCwgMTEyLCAwLCAxMTMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDExNCwgMTE1LCAxMTYsIAotICAgIDExNywgMTE4LCAxMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyMCwgMCwgMCwgMTIxLCAwLCAxMjIsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDEyMywgMTI0LCAxMjUsIDAsIDAsIDEyNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTI3LCAKLSAgICAxMjgsIDAsIDEyOSwgMTMwLCAxMzEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEzMiwgMTMzLCAxMzQsIDEzNSwgMTM2LCAxMzcsIAotICAgIDEzOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTM5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAxNDAsIDE0MSwgMTQyLCAwLCAwLCAxNDMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0NCwgMTQ1LCAxNDYsIDAsIDE0NywgCi0gICAgMTQ4LCAxNDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE1MCwgMTUxLCAxNTIsIDE1MywgMTU0LCAxNTUsIDE1NiwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMTU3LCAwLCAxNTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE1OSwgMCwgMTYwLCAKLSAgICAwLCAxNjEsIDE2MiwgMTYzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNjQsIDAsIDE2NSwgMCwgMTY2LCAxNjcsIDE2OCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMTY5LCAxNzAsIDAsIDAsIDE3MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTcyLCAKLSAgICAxNzMsIDE3NCwgMCwgMTc1LCAxNzYsIDE3NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTc4LCAxNzksIDE4MCwgMTgxLCAxODIsIAotICAgIDE4MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTg0LCAxODUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDE4NiwgMTg3LCAxODgsIDE4OSwgMTkwLCAxOTEsIDE5MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTkzLCAxOTQsIDE5NSwgCi0gICAgMCwgMTk2LCAxOTcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5OCwgMTk5LCAwLCAyMDAsIDIwMSwgMjAyLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAyMDMsIDIwNCwgMjA1LCAyMDYsIDIwNywgMjA4LCAyMDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDIxMCwgMCwgMCwgMCwgMjExLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyMTIsIDIxMywgMjE0LCAwLCAyMTUsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDIxNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjE3LCAKLSAgICAyMTgsIDIxOSwgMCwgMjIwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyMjEsIDIyMiwgMjIzLCAwLCAyMjQsIDAsIAotICAgIDIyNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjI2LCAwLCAwLCAwLCAwLCAwLCAwLCAyMjcsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDIyOCwgMCwgMjI5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyMzAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDIzMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjMyLCAyMzMsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDIzNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMjM1LCAwLCAyMzYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDIzNywgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjM4LCAwLCAyMzksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDI0MCwgMjQxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNDIsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDI0MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjQ0LCAyNDUsIAotICAgIDI0NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjQ3LCAwLCAyNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDI0OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjUwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNTEsIDI1MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMjUzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNTQsIDAsIDI1NSwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMjU2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNTcsIDAsIAotICAgIDI1OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjU5LCAyNjAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDI2MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjYyLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNjMsIDI2NCwgMjY1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAyNjYsIDAsIDI2NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjY4LCAwLCAyNjksIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI3MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjcxLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNzIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDI3MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjc0LCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNzUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI3NiwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjc3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAyNzgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI3OSwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjgwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyODEsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI4MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMjgzLCAwLCAyODQsIDAsIDI4NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjg2LCAwLCAyODcsIDAsIAotICAgIDI4OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjg5LCAwLCAyOTAsIDAsIDI5MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMjkyLCAwLCAyOTMsIDAsIDI5NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjk1LCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyOTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDI5NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjk4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAyOTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMwMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAzMDIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMwMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMzA0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMDUsIDMwNiwgMCwgMzA3LCAKLSAgICAwLCAwLCAwLCAzMDgsIDAsIDAsIDAsIDAsIDAsIDAsIDMwOSwgMCwgMCwgMzEwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAzMTEsIDAsIDAsIDMxMiwgMCwgMCwgMCwgMzEzLCAwLCAwLCAwLCAwLCAwLCAwLCAzMTQsIDMxNSwgMCwgMzE2LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMTcsIDAsIDAsIDMxOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMzE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMjAsIDMyMSwgMCwgMzIyLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMjMsIDAsIDAsIDMyNCwgMCwgMCwgMCwgMzI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAzMjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMyNywgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMzI4LCAzMjksIDAsIDMzMCwgMCwgMCwgMCwgMzMxLCAwLCAwLCAwLCAwLCAwLCAwLCAzMzIsIDAsIDAsIAotICAgIDMzMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzM0LCAwLCAwLCAzMzUsIDAsIDAsIDAsIDMzNiwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMzM3LCAzMzgsIDAsIDMzOSwgMCwgMCwgMCwgMzQwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNDEsIDAsIDAsIAotICAgIDM0MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzQzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAzNDQsIDM0NSwgMCwgMzQ2LCAwLCAwLCAwLCAzNDcsIDAsIDAsIDAsIDAsIDAsIDAsIDM0OCwgMCwgMCwgMzQ5LCAKLSAgICAwLCAwLCAwLCAzNTAsIDAsIDAsIDAsIDAsIDAsIDAsIDM1MSwgMCwgMCwgMCwgMCwgMCwgMCwgMzUyLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAzNTMsIDAsIDAsIDAsIDAsIDAsIDAsIDM1NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMzU1LCAwLCAwLCAwLCAwLCAwLCAwLCAzNTYsIDM1NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMzU4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDM2MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzYxLCAzNjIsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM2MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMzY0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNjUsIDM2NiwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMzY3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNjgsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM2OSwgMzcwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAzNzEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM3MiwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzczLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNzQsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM3NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMzc2LCAzNzcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM3OCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzc5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzODAsIAotICAgIDM4MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzgyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAzODMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM4NCwgMzg1LCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzODYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDM4NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzg4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAzODksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM5MCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzkxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAzOTIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM5MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMzk0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzOTUsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM5NiwgMzk3LCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzOTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM5OSwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCA0MDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQwMiwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDAzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA0MDQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQwNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgNDA2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MDcsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQwOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgNDA5LCA0MTAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQxMSwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDEyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MTMsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQxNCwgNDE1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCA0MTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQxNywgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA0MTksIDQyMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDIxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MjIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQyMywgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDI0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCA0MjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQyNiwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDI3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MjgsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQyOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgNDMwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MzEsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQzMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDMzLCAwLCAKLSAgICAwLCA0MzQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQzNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgNDM2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MzcsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQzOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgNDM5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NDAsIDQ0MSwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgNDQyLCA0NDMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ0NCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDQ1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCA0NDYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ0NywgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCA0NDksIDAsIDAsIDAsIDAsIDAsIDAsIDQ1MCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgNDUxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NTIsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ1MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgNDU0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDQ1NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDU3LCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCA0NTgsIDAsIDAsIDAsIDAsIDAsIDAsIDQ1OSwgMCwgMCwgMCwgMCwgMCwgMCwgNDYwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCA0NjEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ2MiwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDYzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NjQsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ2NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgNDY2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NjcsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDQ2OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDY5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCA0NzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ3MSwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDcyLCAwLCAwLCAwLCAwLCAwLCAwLCA0NzMsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDQ3NCwgMCwgMCwgMCwgMCwgMCwgMCwgNDc1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA0NzYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ3NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgNDc4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NzksIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNDgxLCAwLCAwLCAwLCAwLCAwLCAwLCA0ODIsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4MywgMCwgMCwgMCwgMCwgMCwgMCwgNDg0LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCA0ODUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4NiwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDg3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCA0ODgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgNDkwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OTEsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDQ5MiwgMCwgMCwgMCwgMCwgMCwgMCwgNDkzLCAwLCAwLCAwLCAwLCAwLCAwLCA0OTQsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDQ5NSwgMCwgMCwgMCwgMCwgMCwgMCwgNDk2LCAwLCAwLCAwLCAwLCAwLCAwLCA0OTcsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDQ5OCwgMCwgMCwgMCwgMCwgMCwgMCwgNDk5LCAwLCAwLCAwLCAwLCAwLCAwLCA1MDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUwMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTAyLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MDMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDUwNCwgMCwgMCwgMCwgMCwgMCwgMCwgNTA1LCAwLCAwLCAwLCAwLCAwLCAwLCA1MDYsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDUwNywgMCwgMCwgMCwgMCwgMCwgMCwgNTA4LCAwLCAwLCAwLCAwLCAwLCAwLCA1MDksIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDUxMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTExLCAwLCAwLCAwLCAwLCAwLCAwLCA1MTIsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDUxMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTE0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA1MTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUxNiwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTE3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA1MTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUxOSwgMCwgMCwgMCwgMCwgMCwgMCwgNTIwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCA1MjEsIDAsIDAsIDAsIDAsIDAsIDAsIDUyMiwgMCwgMCwgMCwgMCwgMCwgMCwgNTIzLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MjQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDUyNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTI2LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MjcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUyOCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTI5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCA1MzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUzMSwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTMyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MzMsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDUzNCwgMCwgMCwgMCwgMCwgMCwgMCwgNTM1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCA1MzYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUzNywgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgNTM4LCAwLCAwLCAwLCAwLCAwLCAwLCA1MzksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU0MCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTQxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCA1NDIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU0MywgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTQ0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NDUsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU0NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgNTQ3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NDgsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU0OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NTEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDU1MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUzLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NTQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1NSwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTU2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCA1NTcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1OCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTU5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NjAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU2MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgNTYyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NjMsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU2NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTY1LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDU2NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTY4LCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NjksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU3MCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTcxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCA1NzIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU3MywgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTc0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NzUsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU3NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgNTc3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NzgsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU3OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTgwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1ODEsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU4MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNTgzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1ODQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDU4NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTg2LCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1ODcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDU4OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTg5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA1OTAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU5MSwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTkyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA1OTMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU5NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgNTk1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1OTYsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU5NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNTk4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1OTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDYwMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjAxLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MDIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDYwMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjA0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA2MDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYwNiwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA2MDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYwOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgNjEwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MTEsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYxMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNjEzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MTQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDYxNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjE2LCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MTcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDYxOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA2MjAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYyMSwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjIyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA2MjMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYyNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgNjI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MjYsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYyNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNjI4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MjksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDYzMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjMxLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MzIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDYzMywgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMiwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNCwgNSwgCisgICAgNiwgNywgOCwgOSwgMTAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDExLCAwLCAwLCAxMiwgMCwgMTMsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDE0LCAxNSwgMTYsIDE3LCAwLCAxOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMTksIDIwLCAwLCAyMSwgMjIsIDIzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNCwgMjUsIDI2LCAyNywgMjgsIDI5LCAKKyAgICAzMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDMyLCAzMywgMzQsIDM1LCAwLCAzNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzcsIDM4LCAzOSwgMCwgCisgICAgNDAsIDQxLCA0MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDMsIDQ0LCA0NSwgNDYsIDQ3LCAwLCA0OCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgNDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUwLCAwLCAwLCAKKyAgICA1MSwgNTIsIDUzLCAwLCA1NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDAsIDU2LCAwLCA1NywgNTgsIDU5LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MCwgMCwgNjEsIDAsIDYyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA2MywgNjQsIDY1LCAwLCA2NiwgNjcsIDY4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2OSwgNzAsIDcxLCA3MiwgNzMsIDAsIAorICAgIDc0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3NSwgNzYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDc3LCAwLCA3OCwgNzksIDgwLCA4MSwgMCwgODIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDgzLCA4NCwgODUsIAorICAgIDAsIDg2LCA4NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODgsIDg5LCA5MCwgOTEsIDkyLCA5MywgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgOTQsIDk1LCA5NiwgOTcsIDk4LCA5OSwgMTAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAxMDEsIDAsIDAsIDEwMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTAzLCAxMDQsIDAsIDAsIDEwNSwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAxMDcsIDEwOCwgMTA5LCAwLCAxMTAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDExMSwgMTEyLCAxMTMsIAorICAgIDExNCwgMTE1LCAwLCAwLCAxMTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDExNywgMTE4LCAxMTksIDEyMCwgMTIxLCAKKyAgICAxMjIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyMywgMCwgMTI0LCAwLCAwLCAxMjUsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDEyNiwgMTI3LCAxMjgsIDAsIDAsIDEyOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMTMwLCAxMzEsIDEzMiwgMTMzLCAxMzQsIDEzNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTM2LCAxMzcsIDEzOCwgMTM5LCAKKyAgICAxNDAsIDE0MSwgMTQyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDE0NCwgMTQ1LCAxNDYsIDAsIDAsIDE0NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMTQ4LCAxNDksIDE1MCwgMTUxLCAxNTIsIDE1MywgMTU0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNTUsIDE1NiwgMTU3LCAKKyAgICAxNTgsIDE1OSwgMTYwLCAxNjEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE2MiwgMCwgMTYzLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNjQsIDAsIDE2NSwgMCwgMTY2LCAxNjcsIDE2OCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMTY5LCAwLCAwLCAxNzAsIDE3MSwgMTcyLCAxNzMsIDE3NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTc1LCAKKyAgICAxNzYsIDAsIDAsIDE3NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTc4LCAxNzksIDE4MCwgMTgxLCAxODIsIAorICAgIDE4MywgMTg0LCAxODUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE4NiwgMTg3LCAxODgsIDE4OSwgMTkwLCAxOTEsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5MiwgMCwgMTkzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAxOTQsIDE5NSwgMTk2LCAxOTcsIDE5OCwgMTk5LCAyMDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDIwMSwgMjAyLCAKKyAgICAyMDMsIDIwNCwgMjA1LCAyMDYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDIwNywgMjA4LCAwLCAyMDksIAorICAgIDIxMCwgMjExLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyMTIsIDIxMywgMjE0LCAyMTUsIDIxNiwgMjE3LCAyMTgsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDIxOSwgMCwgMCwgMCwgMjIwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAyMjEsIDIyMiwgMjIzLCAwLCAyMjQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDIyNSwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjI2LCAyMjcsIDIyOCwgMCwgMjI5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAyMzAsIDIzMSwgMjMyLCAwLCAyMzMsIDAsIDIzNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjM1LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAyMzYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDIzNywgMCwgMjM4LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyMzksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDI0MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjQxLCAyNDIsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI0MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMjQ0LCAyNDUsIDI0NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjQ3LCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNDgsIDI0OSwgMjUwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAyNTEsIDI1MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjUzLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNTQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDI1NSwgMjU2LCAwLCAyNTcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI1OCwgMCwgCisgICAgMjU5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNjAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDI2MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjYyLCAKKyAgICAyNjMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI2NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjY1LCAyNjYsIDI2NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMjY4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNjksIDI3MCwgMjcxLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNzIsIDI3MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMjc0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNzUsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI3NiwgMjc3LCAwLCAyNzgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDI3OSwgMCwgMjgwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyODEsIDI4MiwgCisgICAgMjgzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyODQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDI4NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjg2LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyODcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI4OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMjg5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyOTAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI5MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjkyLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyOTMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI5NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMjk1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyOTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDI5NywgMjk4LCAyOTksIDAsIDMwMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMzAxLCAwLCAzMDIsIDAsIDMwMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzA0LCAzMDUsIDMwNiwgMCwgMzA3LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMDgsIDAsIDMwOSwgMCwgMzEwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMTEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMxMiwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzEzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAzMTQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMxNSwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzE2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAzMTcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMxOCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAzMjAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMyMSwgMzIyLCAwLCAwLCAKKyAgICAzMjMsIDAsIDAsIDMyNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzI1LCAwLCAwLCAzMjYsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDMyNywgMCwgMCwgMCwgMzI4LCAwLCAwLCAzMjksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMzMCwgCisgICAgMzMxLCAwLCAzMzIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMzMywgMCwgMCwgMCwgMzM0LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMzUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDMzNiwgMzM3LCAzMzgsIDAsIDMzOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzQwLCAwLCAwLCAzNDEsIAorICAgIDAsIDAsIDAsIDM0MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzQzLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNDQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM0NSwgMzQ2LCAwLCAKKyAgICAwLCAzNDcsIDAsIDAsIDM0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzQ5LCAwLCAwLCAzNTAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDM1MSwgMCwgMCwgMCwgMzUyLCAwLCAwLCAzNTMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDM1NCwgMzU1LCAwLCAzNTYsIDAsIDAsIDAsIDM1NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzU4LCAwLCAwLCAwLCAzNTksIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM2MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMzYxLCAzNjIsIDM2MywgMCwgMzY0LCAwLCAwLCAzNjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM2NiwgMCwgCisgICAgMCwgMzY3LCAwLCAwLCAwLCAzNjgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM2OSwgMCwgMCwgMCwgMCwgMCwgMCwgMzcwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNzEsIDAsIDAsIDAsIDAsIDAsIDAsIDM3MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMzczLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNzQsIDM3NSwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzc2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAzNzcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM3OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzc5LCAzODAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDM4MSwgMzgyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzODMsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM4NCwgMzg1LCAzODYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDM4NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzg4LCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzODksIDM5MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMzkxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzOTIsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM5MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMzk0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzOTUsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM5NiwgMzk3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAzOTgsIDM5OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MDEsIDQwMiwgNDAzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCA0MDQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDQwNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDA2LCA0MDcsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQwOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNDA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MTAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQxMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgNDEyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MTMsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQxNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNDE1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MTYsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQxNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgNDE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MTksIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQyMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgNDIxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MjIsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQyMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgNDI0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MjUsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQyNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgNDI3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MjgsIAorICAgIDQyOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDMwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MzEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDQzMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDMzLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MzQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDQzNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDM2LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MzcsIDQzOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgNDM5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ0MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgNDQyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NDMsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ0NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgNDQ1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NDYsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ0NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgNDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NDksIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ1MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgNDUxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NTIsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ1MywgMCwgMCwgMCwgNDU0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCA0NTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ1NiwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDU3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCA0NTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ1OSwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDYwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA0NjEsIDQ2MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDYzLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NjQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDQ2NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDY2LCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NjcsIDAsIDAsIDAsIDAsIDAsIDAsIDQ2OCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgNDY5LCAwLCAwLCAwLCAwLCAwLCAwLCA0NzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDQ3MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDcyLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NzMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDQ3NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDc1LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NzYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ3NywgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgNDc4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NzksIDAsIDAsIDAsIDAsIDAsIDAsIDQ4MCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA0ODIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4MywgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDg0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA0ODUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4NiwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgNDg3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0ODgsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgNDkwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OTEsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDQ5MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDkzLCAwLCAwLCAwLCAwLCAwLCAwLCA0OTQsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ5NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgNDk2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OTcsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ5OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgNDk5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDUwMSwgMCwgMCwgMCwgMCwgMCwgMCwgNTAyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MDMsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDUwNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTA1LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MDYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDUwNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTA4LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDUxMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTExLCAwLCAwLCAwLCAwLCAwLCAwLCA1MTIsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUxMywgMCwgMCwgMCwgMCwgMCwgMCwgNTE0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA1MTUsIDAsIDAsIDAsIDAsIDAsIDAsIDUxNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTE3LCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCA1MTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgNTIwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MjEsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUyMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgNTIzLCAwLCAwLCAwLCAwLCAwLCAwLCA1MjQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUyNSwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgNTI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MjcsIDAsIDAsIDAsIDAsIDAsIDAsIDUyOCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgNTI5LCAwLCAwLCAwLCAwLCAwLCAwLCA1MzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUzMSwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgNTMyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MzMsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUzNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgNTM1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MzYsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUzNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgNTM4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MzksIDAsIDAsIDAsIDAsIDAsIDAsIDU0MCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgNTQxLCAwLCAwLCAwLCAwLCAwLCAwLCA1NDIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDU0MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTQ0LCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDU0NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTQ3LCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDU0OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NTEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDU1MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUzLCAwLCAwLCAwLCAwLCAwLCAwLCA1NTQsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgNTU2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NTcsIDAsIDAsIDAsIDAsIDAsIDAsIDU1OCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTU5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA1NjAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU2MSwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTYyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCA1NjMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU2NCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTY1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCA1NjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU2NywgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTY4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCA1NjksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU3MCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTcxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCA1NzIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU3MywgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTc0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCA1NzUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU3NiwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTc3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCA1NzgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU3OSwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTgwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA1ODEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU4MiwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTgzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA1ODQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU4NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTg2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA1ODcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU4OCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTg5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA1OTAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU5MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTkyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA1OTMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU5NCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTk1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA1OTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU5NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTk4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA1OTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYwMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCA2MDIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYwMywgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjA0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCA2MDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYwNiwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA2MDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYwOSwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjEwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA2MTEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYxMiwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjEzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA2MTQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYxNSwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjE2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA2MTcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYxOCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCA2MjAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYyMSwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjIyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCA2MjMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYyNCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCA2MjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYyNywgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjI4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCA2MjksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYzMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjMxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCA2MzIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYzMywgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjM0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCA2MzUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYzNiwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjM3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA2MzgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYzOSwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjQwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA2NDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDY0MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjQzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA2NDQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDY0NSwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjQ2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA2NDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDY0OCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjQ5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA2NTAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDY1MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjUyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA2NTMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDY1NCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA2NTYsIAogfTsKIAogc3RhdGljIHVuc2lnbmVkIGludCBjb21wX2RhdGFbXSA9IHsKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4ODE0LCAwLCAwLCAwLCA4ODAwLCAwLCAwLCAwLCA4ODE1LCAxOTIsIDE5MywgMTk0LCAKLSAgICAxOTUsIDI1NiwgMjU4LCA1NTAsIDE5NiwgNzg0MiwgMTk3LCAwLCA0NjEsIDUxMiwgNTE0LCAwLCAwLCAwLCA3ODQwLCAwLCAKLSAgICA3NjgwLCAwLCAwLCAyNjAsIDAsIDAsIDAsIDc2ODIsIDAsIDAsIDc2ODQsIDAsIDAsIDAsIDAsIDc2ODYsIDAsIDAsIDI2MiwgCi0gICAgMjY0LCAwLCAwLCAwLCAyNjYsIDAsIDAsIDAsIDAsIDI2OCwgMCwgMTk5LCAwLCAwLCAwLCAwLCA3NjkwLCAwLCAwLCAwLCAwLCAKLSAgICAyNzAsIDAsIDc2OTIsIDAsIDAsIDAsIDc2OTYsIDAsIDc2OTgsIDAsIDAsIDc2OTQsIDAsIDIwMCwgMjAxLCAyMDIsIDc4NjgsIAotICAgIDI3NCwgMjc2LCAyNzgsIDIwMywgNzg2NiwgMCwgMCwgMjgyLCA1MTYsIDUxOCwgMCwgMCwgMCwgNzg2NCwgMCwgMCwgMCwgCi0gICAgNTUyLCAyODAsIDc3MDQsIDAsIDc3MDYsIDAsIDAsIDAsIDAsIDc3MTAsIDAsIDAsIDUwMCwgMjg0LCAwLCA3NzEyLCAyODYsIAotICAgIDI4OCwgMCwgMCwgMCwgMCwgNDg2LCAwLCAyOTAsIDAsIDAsIDAsIDAsIDI5MiwgMCwgMCwgMCwgNzcxNCwgNzcxOCwgMCwgMCwgCi0gICAgMCwgNTQyLCAwLCA3NzE2LCAwLCAwLCAwLCA3NzIwLCAwLCAwLCA3NzIyLCAwLCAwLCAwLCAyMDQsIDIwNSwgMjA2LCAyOTYsIAotICAgIDI5OCwgMzAwLCAzMDQsIDIwNywgNzg4MCwgMCwgMCwgNDYzLCA1MjAsIDUyMiwgMCwgMCwgMCwgNzg4MiwgMCwgMCwgMCwgMCwgCi0gICAgMzAyLCAwLCAwLCA3NzI0LCAwLCAwLCAwLCAwLCAzMDgsIDAsIDAsIDc3MjgsIDAsIDAsIDAsIDAsIDAsIDQ4OCwgMCwgCi0gICAgNzczMCwgMCwgMCwgMCwgMzEwLCAwLCAwLCAwLCAwLCA3NzMyLCAwLCAwLCAzMTMsIDAsIDAsIDAsIDAsIDAsIDMxNywgMCwgCi0gICAgNzczNCwgMCwgMCwgMCwgMzE1LCAwLCA3NzQwLCAwLCAwLCA3NzM4LCAwLCAwLCA3NzQyLCAwLCAwLCAwLCAwLCA3NzQ0LCAwLCAKLSAgICAwLCA3NzQ2LCAwLCAwLCA1MDQsIDMyMywgMCwgMjA5LCAwLCAwLCA3NzQ4LCAwLCAwLCAwLCAwLCAzMjcsIDAsIDc3NTAsIDAsIAotICAgIDAsIDAsIDMyNSwgMCwgNzc1NCwgMCwgMCwgNzc1MiwgMCwgMjEwLCAyMTEsIDIxMiwgMjEzLCAzMzIsIDMzNCwgNTU4LCAKLSAgICAyMTQsIDc4ODYsIDAsIDMzNiwgNDY1LCA1MjQsIDUyNiwgMCwgMCwgNDE2LCA3ODg0LCAwLCAwLCAwLCAwLCA0OTAsIDAsIDAsIAotICAgIDc3NjQsIDAsIDAsIDAsIDAsIDc3NjYsIDAsIDAsIDM0MCwgMCwgMCwgMCwgMCwgNzc2OCwgMCwgMCwgMCwgMCwgMzQ0LCAKLSAgICA1MjgsIDUzMCwgMCwgMCwgMCwgNzc3MCwgMCwgMCwgMCwgMzQyLCAwLCAwLCAwLCAwLCA3Nzc0LCAwLCAwLCAzNDYsIDM0OCwgCi0gICAgMCwgMCwgMCwgNzc3NiwgMCwgMCwgMCwgMCwgMzUyLCAwLCA3Nzc4LCAwLCAwLCA1MzYsIDM1MCwgMCwgMCwgMCwgMCwgCi0gICAgNzc4NiwgMCwgMCwgMCwgMCwgMzU2LCAwLCA3Nzg4LCAwLCAwLCA1MzgsIDM1NCwgMCwgNzc5MiwgMCwgMCwgNzc5MCwgMCwgCi0gICAgMjE3LCAyMTgsIDIxOSwgMzYwLCAzNjIsIDM2NCwgMCwgMjIwLCA3OTEwLCAzNjYsIDM2OCwgNDY3LCA1MzIsIDUzNCwgMCwgCi0gICAgMCwgNDMxLCA3OTA4LCA3Nzk0LCAwLCAwLCAwLCAzNzAsIDc3OTgsIDAsIDc3OTYsIDAsIDAsIDAsIDAsIDAsIDc4MDQsIDAsIAotICAgIDc4MDYsIDAsIDAsIDc4MDgsIDc4MTAsIDM3MiwgMCwgMCwgMCwgNzgxNCwgNzgxMiwgMCwgNzgxNiwgMCwgMCwgMCwgMCwgCi0gICAgNzgxOCwgNzgyMCwgNzkyMiwgMjIxLCAzNzQsIDc5MjgsIDU2MiwgMCwgNzgyMiwgMzc2LCA3OTI2LCAwLCAwLCAwLCAwLCAKLSAgICA3OTI0LCAwLCAwLCAwLCAzNzcsIDc4MjQsIDAsIDAsIDAsIDM3OSwgMCwgMCwgMCwgMCwgMzgxLCAwLCA3ODI2LCAwLCAwLCAKLSAgICAwLCAwLCA3ODI4LCAwLCAyMjQsIDIyNSwgMjI2LCAyMjcsIDI1NywgMjU5LCA1NTEsIDIyOCwgNzg0MywgMjI5LCAwLCA0NjIsIAotICAgIDUxMywgNTE1LCAwLCAwLCAwLCA3ODQxLCAwLCA3NjgxLCAwLCAwLCAyNjEsIDAsIDAsIDAsIDc2ODMsIDAsIDAsIDc2ODUsIAotICAgIDAsIDAsIDAsIDAsIDc2ODcsIDAsIDAsIDI2MywgMjY1LCAwLCAwLCAwLCAyNjcsIDAsIDAsIDAsIDAsIDI2OSwgMCwgMjMxLCAKLSAgICAwLCAwLCAwLCAwLCA3NjkxLCAwLCAwLCAwLCAwLCAyNzEsIDAsIDc2OTMsIDAsIDAsIDAsIDc2OTcsIDAsIDc2OTksIDAsIDAsIAotICAgIDc2OTUsIDAsIDIzMiwgMjMzLCAyMzQsIDc4NjksIDI3NSwgMjc3LCAyNzksIDIzNSwgNzg2NywgMCwgMCwgMjgzLCA1MTcsIAotICAgIDUxOSwgMCwgMCwgMCwgNzg2NSwgMCwgMCwgMCwgNTUzLCAyODEsIDc3MDUsIDAsIDc3MDcsIDAsIDAsIDAsIDAsIDc3MTEsIAotICAgIDAsIDAsIDUwMSwgMjg1LCAwLCA3NzEzLCAyODcsIDI4OSwgMCwgMCwgMCwgMCwgNDg3LCAwLCAyOTEsIDAsIDAsIDAsIDAsIAotICAgIDI5MywgMCwgMCwgMCwgNzcxNSwgNzcxOSwgMCwgMCwgMCwgNTQzLCAwLCA3NzE3LCAwLCAwLCAwLCA3NzIxLCAwLCAwLCAKLSAgICA3NzIzLCAwLCA3ODMwLCAwLCAyMzYsIDIzNywgMjM4LCAyOTcsIDI5OSwgMzAxLCAwLCAyMzksIDc4ODEsIDAsIDAsIDQ2NCwgCi0gICAgNTIxLCA1MjMsIDAsIDAsIDAsIDc4ODMsIDAsIDAsIDAsIDAsIDMwMywgMCwgMCwgNzcyNSwgMCwgMCwgMCwgMCwgMzA5LCAwLCAKLSAgICAwLCAwLCAwLCA0OTYsIDAsIDc3MjksIDAsIDAsIDAsIDAsIDAsIDQ4OSwgMCwgNzczMSwgMCwgMCwgMCwgMzExLCAwLCAwLCAKLSAgICAwLCAwLCA3NzMzLCAwLCAwLCAzMTQsIDAsIDAsIDAsIDAsIDAsIDMxOCwgMCwgNzczNSwgMCwgMCwgMCwgMzE2LCAwLCAKLSAgICA3NzQxLCAwLCAwLCA3NzM5LCAwLCAwLCA3NzQzLCAwLCAwLCAwLCAwLCA3NzQ1LCAwLCAwLCA3NzQ3LCAwLCAwLCA1MDUsIAotICAgIDMyNCwgMCwgMjQxLCAwLCAwLCA3NzQ5LCAwLCAwLCAwLCAwLCAzMjgsIDAsIDc3NTEsIDAsIDAsIDAsIDMyNiwgMCwgNzc1NSwgCi0gICAgMCwgMCwgNzc1MywgMCwgMjQyLCAyNDMsIDI0NCwgMjQ1LCAzMzMsIDMzNSwgNTU5LCAyNDYsIDc4ODcsIDAsIDMzNywgNDY2LCAKLSAgICA1MjUsIDUyNywgMCwgMCwgNDE3LCA3ODg1LCAwLCAwLCAwLCAwLCA0OTEsIDAsIDAsIDc3NjUsIDAsIDAsIDAsIDAsIDc3NjcsIAotICAgIDAsIDAsIDM0MSwgMCwgMCwgMCwgMCwgNzc2OSwgMCwgMCwgMCwgMCwgMzQ1LCA1MjksIDUzMSwgMCwgMCwgMCwgNzc3MSwgMCwgCi0gICAgMCwgMCwgMzQzLCAwLCAwLCAwLCAwLCA3Nzc1LCAwLCAwLCAzNDcsIDM0OSwgMCwgMCwgMCwgNzc3NywgMCwgMCwgMCwgMCwgCi0gICAgMzUzLCAwLCA3Nzc5LCAwLCAwLCA1MzcsIDM1MSwgMCwgMCwgMCwgMCwgNzc4NywgNzgzMSwgMCwgMCwgMCwgMzU3LCAwLCAKLSAgICA3Nzg5LCAwLCAwLCA1MzksIDM1NSwgMCwgNzc5MywgMCwgMCwgNzc5MSwgMCwgMjQ5LCAyNTAsIDI1MSwgMzYxLCAzNjMsIAotICAgIDM2NSwgMCwgMjUyLCA3OTExLCAzNjcsIDM2OSwgNDY4LCA1MzMsIDUzNSwgMCwgMCwgNDMyLCA3OTA5LCA3Nzk1LCAwLCAwLCAKLSAgICAwLCAzNzEsIDc3OTksIDAsIDc3OTcsIDAsIDAsIDAsIDAsIDAsIDc4MDUsIDAsIDc4MDcsIDAsIDAsIDc4MDksIDc4MTEsIAotICAgIDM3MywgMCwgMCwgMCwgNzgxNSwgNzgxMywgMCwgNzgzMiwgMCwgMCwgMCwgNzgxNywgMCwgMCwgMCwgMCwgNzgxOSwgNzgyMSwgCi0gICAgNzkyMywgMjUzLCAzNzUsIDc5MjksIDU2MywgMCwgNzgyMywgMjU1LCA3OTI3LCA3ODMzLCAwLCAwLCAwLCA3OTI1LCAwLCAwLCAKLSAgICAwLCAzNzgsIDc4MjUsIDAsIDAsIDAsIDM4MCwgMCwgMCwgMCwgMCwgMzgyLCAwLCA3ODI3LCAwLCAwLCAwLCAwLCA3ODI5LCAKLSAgICAwLCA4MTczLCA5MDEsIDAsIDAsIDgxMjksIDAsIDAsIDAsIDc4NDYsIDc4NDQsIDAsIDc4NTAsIDc4NDgsIDAsIDAsIDAsIAotICAgIDQ3OCwgMCwgMCwgMCwgMCwgNTA2LCAwLCAwLCAwLCA1MDgsIDAsIDAsIDQ4MiwgMCwgMCwgMCwgMCwgNzY4OCwgMCwgMCwgCi0gICAgNzg3MiwgNzg3MCwgMCwgNzg3NiwgNzg3NCwgMCwgMCwgMCwgMCwgNzcyNiwgMCwgMCwgNzg5MCwgNzg4OCwgMCwgNzg5NCwgCi0gICAgNzg5MiwgMCwgMCwgMCwgMCwgNzc1NiwgMCwgMCwgNTU2LCAwLCAwLCA3NzU4LCA1NTQsIDAsIDAsIDAsIDAsIDUxMCwgMCwgCi0gICAgMCwgNDc1LCA0NzEsIDAsIDAsIDQ2OSwgMCwgMCwgMCwgMCwgMCwgMCwgNDczLCA3ODQ3LCA3ODQ1LCAwLCA3ODUxLCA3ODQ5LCAKLSAgICAwLCAwLCAwLCA0NzksIDAsIDAsIDAsIDAsIDUwNywgMCwgMCwgMCwgNTA5LCAwLCAwLCA0ODMsIDAsIDAsIDAsIDAsIDc2ODksIAotICAgIDAsIDAsIDc4NzMsIDc4NzEsIDAsIDc4NzcsIDc4NzUsIDAsIDAsIDAsIDAsIDc3MjcsIDAsIDAsIDc4OTEsIDc4ODksIDAsIAotICAgIDc4OTUsIDc4OTMsIDAsIDAsIDAsIDAsIDc3NTcsIDAsIDAsIDU1NywgMCwgMCwgNzc1OSwgNTU1LCAwLCAwLCAwLCAwLCAKLSAgICA1MTEsIDAsIDAsIDQ3NiwgNDcyLCAwLCAwLCA0NzAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ3NCwgNzg1NiwgNzg1NCwgMCwgCi0gICAgNzg2MCwgNzg1OCwgMCwgMCwgMCwgNzg1NywgNzg1NSwgMCwgNzg2MSwgNzg1OSwgMCwgMCwgMCwgNzcwMCwgNzcwMiwgMCwgCi0gICAgMCwgNzcwMSwgNzcwMywgMCwgMCwgNzc2MCwgNzc2MiwgMCwgMCwgNzc2MSwgNzc2MywgMCwgMCwgMCwgMCwgNzc4MCwgMCwgCi0gICAgMCwgMCwgNzc4MSwgMCwgMCwgMCwgNzc4MiwgMCwgMCwgMCwgNzc4MywgMCwgMCwgNzgwMCwgMCwgMCwgMCwgNzgwMSwgMCwgCi0gICAgMCwgMCwgMCwgMCwgNzgwMiwgMCwgMCwgMCwgNzgwMywgMCwgMCwgNzgzNSwgMCwgNzkwMCwgNzg5OCwgMCwgNzkwNCwgCi0gICAgNzkwMiwgMCwgMCwgMCwgMCwgNzkwNiwgMCwgMCwgNzkwMSwgNzg5OSwgMCwgNzkwNSwgNzkwMywgMCwgMCwgMCwgMCwgCi0gICAgNzkwNywgMCwgMCwgNzkxNCwgNzkxMiwgMCwgNzkxOCwgNzkxNiwgMCwgMCwgMCwgMCwgNzkyMCwgMCwgMCwgNzkxNSwgCi0gICAgNzkxMywgMCwgNzkxOSwgNzkxNywgMCwgMCwgMCwgMCwgNzkyMSwgMCwgMCwgMCwgMCwgMCwgNDk0LCA0OTIsIDAsIDAsIDAsIAotICAgIDQ5MywgMCwgMCwgMCwgNDgwLCAwLCAwLCAwLCA0ODEsIDAsIDAsIDAsIDAsIDc3MDgsIDAsIDAsIDAsIDc3MDksIDAsIDAsIAotICAgIDU2MCwgMCwgMCwgMCwgNTYxLCAwLCAwLCAwLCAwLCAwLCAwLCA0OTUsIDgxMjIsIDkwMiwgMCwgMCwgODEyMSwgODEyMCwgMCwgCi0gICAgMCwgMCwgMCwgNzk0NCwgNzk0NSwgMCwgODEyNCwgMCwgMCwgODEzNiwgOTA0LCAwLCAwLCAwLCAwLCA3OTYwLCA3OTYxLCAKLSAgICA4MTM4LCA5MDUsIDAsIDAsIDAsIDAsIDc5NzYsIDc5NzcsIDAsIDgxNDAsIDAsIDAsIDgxNTQsIDkwNiwgMCwgMCwgODE1MywgCi0gICAgODE1MiwgMCwgOTM4LCAwLCAwLCA3OTkyLCA3OTkzLCA4MTg0LCA5MDgsIDAsIDAsIDAsIDAsIDgwMDgsIDgwMDksIDAsIDAsIAotICAgIDAsIDgxNzIsIDgxNzAsIDkxMCwgMCwgMCwgODE2OSwgODE2OCwgMCwgOTM5LCAwLCAwLCAwLCA4MDI1LCA4MTg2LCA5MTEsIAotICAgIDAsIDAsIDAsIDAsIDgwNDAsIDgwNDEsIDAsIDgxODgsIDAsIDAsIDAsIDgxMTYsIDAsIDAsIDAsIDgxMzIsIDAsIDAsIAotICAgIDgwNDgsIDk0MCwgMCwgMCwgODExMywgODExMiwgMCwgMCwgMCwgMCwgNzkzNiwgNzkzNywgODExOCwgODExNSwgMCwgMCwgCi0gICAgODA1MCwgOTQxLCAwLCAwLCAwLCAwLCA3OTUyLCA3OTUzLCA4MDUyLCA5NDIsIDAsIDAsIDAsIDAsIDc5NjgsIDc5NjksIAotICAgIDgxMzQsIDgxMzEsIDAsIDAsIDgwNTQsIDk0MywgMCwgMCwgODE0NSwgODE0NCwgMCwgOTcwLCAwLCAwLCA3OTg0LCA3OTg1LCAKLSAgICA4MTUwLCAwLCAwLCAwLCA4MDU2LCA5NzIsIDAsIDAsIDAsIDAsIDgwMDAsIDgwMDEsIDAsIDAsIDgxNjQsIDgxNjUsIDgwNTgsIAotICAgIDk3MywgMCwgMCwgODE2MSwgODE2MCwgMCwgOTcxLCAwLCAwLCA4MDE2LCA4MDE3LCA4MTY2LCAwLCAwLCAwLCA4MDYwLCAKLSAgICA5NzQsIDAsIDAsIDAsIDAsIDgwMzIsIDgwMzMsIDgxODIsIDgxNzksIDAsIDAsIDgxNDYsIDkxMiwgMCwgMCwgODE1MSwgMCwgCi0gICAgMCwgMCwgODE2MiwgOTQ0LCAwLCAwLCA4MTY3LCAwLCAwLCAwLCAwLCA4MTgwLCAwLCAwLCAwLCA5NzksIDAsIDAsIDAsIDAsIAotICAgIDAsIDk4MCwgMCwgMCwgMCwgMTAzMSwgMCwgMTIzMiwgMCwgMTIzNCwgMCwgMTAyNywgMCwgMCwgMTAyNCwgMCwgMCwgMCwgMCwgCi0gICAgMTIzOCwgMCwgMTAyNSwgMCwgMTIxNywgMCwgMTI0NCwgMCwgMCwgMCwgMTI0NiwgMTAzNywgMCwgMCwgMCwgMTI1MCwgCi0gICAgMTA0OSwgMCwgMTI1MiwgMCwgMTAzNiwgMCwgMCwgMCwgMCwgMCwgMTI1NCwgMTI2MiwgMTAzOCwgMCwgMTI2NCwgMCwgMCwgCi0gICAgMTI2NiwgMCwgMCwgMCwgMCwgMTI2OCwgMCwgMCwgMCwgMTI3MiwgMCwgMCwgMCwgMTI2MCwgMCwgMTIzMywgMCwgMTIzNSwgCi0gICAgMCwgMTEwNywgMCwgMCwgMTEwNCwgMCwgMCwgMCwgMCwgMTIzOSwgMCwgMTEwNSwgMCwgMTIxOCwgMCwgMTI0NSwgMCwgMCwgCi0gICAgMCwgMTI0NywgMTExNywgMCwgMCwgMCwgMTI1MSwgMTA4MSwgMCwgMTI1MywgMCwgMTExNiwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMTI1NSwgMTI2MywgMTExOCwgMCwgMTI2NSwgMCwgMCwgMTI2NywgMCwgMCwgMCwgMCwgMTI2OSwgMCwgMCwgMCwgMTI3MywgCi0gICAgMCwgMCwgMCwgMTI2MSwgMCwgMCwgMCwgMTExMSwgMTE0MiwgMCwgMCwgMCwgMTE0MywgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMTI0MiwgMCwgMCwgMCwgMTI0MywgMCwgMCwgMCwgMTI1OCwgMCwgMCwgMCwgMTI1OSwgMCwgMCwgMTU3MCwgMTU3MSwgCi0gICAgMTU3MywgMCwgMCwgMCwgMCwgMCwgMCwgMTU3MiwgMCwgMCwgMCwgMTU3NCwgMCwgMCwgMCwgMTczMCwgMCwgMCwgMCwgCi0gICAgMTc0NywgMCwgMCwgMCwgMTcyOCwgMCwgMjM0NSwgMCwgMCwgMCwgMjM1MywgMCwgMCwgMCwgMjM1NiwgMCwgMCwgMCwgMCwgCi0gICAgMjUwNywgMjUwOCwgMjg5MSwgMjg4OCwgMjg5MiwgMCwgMjk2NCwgMCwgMCwgMCwgMCwgMCwgMCwgMzAxOCwgMzAyMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMzAxOSwgMCwgMzE0NCwgMCwgMCwgMCwgMCwgMCwgMzI2NCwgMCwgMCwgMzI3NCwgMzI3MSwgCi0gICAgMzI3MiwgMCwgMCwgMCwgMCwgMCwgMCwgMzI3NSwgMCwgMzQwMiwgMzQwNCwgMCwgMCwgMzQwMywgMCwgMCwgMCwgMCwgMCwgCi0gICAgMzU0NiwgMzU0OCwgMzU1MCwgMCwgMCwgMCwgMCwgMCwgMzU0OSwgMCwgMCwgNDEzNCwgMCwgMCwgMCwgMCwgNjkxOCwgMCwgCi0gICAgMCwgMCwgNjkyMCwgMCwgMCwgMCwgNjkyMiwgMCwgMCwgMCwgNjkyNCwgMCwgMCwgMCwgNjkyNiwgMCwgMCwgMCwgNjkzMCwgCi0gICAgMCwgMCwgMCwgNjk3MSwgMCwgMCwgMCwgNjk3MywgMCwgMCwgMCwgNjk3NiwgMCwgMCwgMCwgNjk3NywgMCwgMCwgMCwgCi0gICAgNjk3OSwgNzczNiwgMCwgMCwgMCwgNzczNywgMCwgMCwgMCwgNzc3MiwgMCwgMCwgMCwgNzc3MywgMCwgMCwgMCwgMCwgMCwgCi0gICAgNzc4NCwgMCwgMCwgMCwgNzc4NSwgMCwgMCwgMCwgNzg1MiwgMCwgMCwgNzg2MiwgMCwgMCwgMCwgMCwgNzg1MywgMCwgMCwgCi0gICAgNzg2MywgMCwgMCwgMCwgMCwgNzg3OCwgMCwgMCwgMCwgNzg3OSwgMCwgMCwgMCwgNzg5NiwgMCwgMCwgMCwgNzg5NywgMCwgCi0gICAgNzkzOCwgNzk0MCwgMCwgMCwgNzk0MiwgODA2NCwgMCwgMCwgNzkzOSwgNzk0MSwgMCwgMCwgNzk0MywgODA2NSwgMCwgMCwgCi0gICAgMCwgODA2NiwgMCwgMCwgMCwgODA2NywgMCwgMCwgMCwgODA2OCwgMCwgMCwgMCwgODA2OSwgMCwgMCwgMCwgODA3MCwgMCwgCi0gICAgMCwgMCwgODA3MSwgMCwgMCwgNzk0NiwgNzk0OCwgMCwgMCwgNzk1MCwgODA3MiwgMCwgMCwgNzk0NywgNzk0OSwgMCwgMCwgCi0gICAgNzk1MSwgODA3MywgMCwgMCwgMCwgODA3NCwgMCwgMCwgMCwgODA3NSwgMCwgMCwgMCwgODA3NiwgMCwgMCwgMCwgODA3NywgCi0gICAgMCwgMCwgMCwgODA3OCwgMCwgMCwgMCwgODA3OSwgMCwgMCwgNzk1NCwgNzk1NiwgMCwgMCwgNzk1NSwgNzk1NywgMCwgMCwgCi0gICAgNzk2MiwgNzk2NCwgMCwgMCwgNzk2MywgNzk2NSwgMCwgMCwgNzk3MCwgNzk3MiwgMCwgMCwgNzk3NCwgODA4MCwgMCwgMCwgCi0gICAgNzk3MSwgNzk3MywgMCwgMCwgNzk3NSwgODA4MSwgMCwgMCwgMCwgODA4MiwgMCwgMCwgMCwgODA4MywgMCwgMCwgMCwgCi0gICAgODA4NCwgMCwgMCwgMCwgODA4NSwgMCwgMCwgMCwgODA4NiwgMCwgMCwgMCwgODA4NywgMCwgMCwgNzk3OCwgNzk4MCwgMCwgCi0gICAgMCwgNzk4MiwgODA4OCwgMCwgMCwgNzk3OSwgNzk4MSwgMCwgMCwgNzk4MywgODA4OSwgMCwgMCwgMCwgODA5MCwgMCwgMCwgCi0gICAgMCwgODA5MSwgMCwgMCwgMCwgODA5MiwgMCwgMCwgMCwgODA5MywgMCwgMCwgMCwgODA5NCwgMCwgMCwgMCwgODA5NSwgMCwgCi0gICAgMCwgNzk4NiwgNzk4OCwgMCwgMCwgNzk5MCwgMCwgMCwgMCwgNzk4NywgNzk4OSwgMCwgMCwgNzk5MSwgMCwgMCwgMCwgCi0gICAgNzk5NCwgNzk5NiwgMCwgMCwgNzk5OCwgMCwgMCwgMCwgNzk5NSwgNzk5NywgMCwgMCwgNzk5OSwgMCwgMCwgMCwgODAwMiwgCi0gICAgODAwNCwgMCwgMCwgODAwMywgODAwNSwgMCwgMCwgODAxMCwgODAxMiwgMCwgMCwgODAxMSwgODAxMywgMCwgMCwgODAxOCwgCi0gICAgODAyMCwgMCwgMCwgODAyMiwgMCwgMCwgMCwgODAxOSwgODAyMSwgMCwgMCwgODAyMywgMCwgMCwgMCwgODAyNywgODAyOSwgCi0gICAgMCwgMCwgODAzMSwgMCwgMCwgMCwgODAzNCwgODAzNiwgMCwgMCwgODAzOCwgODA5NiwgMCwgMCwgODAzNSwgODAzNywgMCwgCi0gICAgMCwgODAzOSwgODA5NywgMCwgMCwgMCwgODA5OCwgMCwgMCwgMCwgODA5OSwgMCwgMCwgMCwgODEwMCwgMCwgMCwgMCwgCi0gICAgODEwMSwgMCwgMCwgMCwgODEwMiwgMCwgMCwgMCwgODEwMywgMCwgMCwgODA0MiwgODA0NCwgMCwgMCwgODA0NiwgODEwNCwgCi0gICAgMCwgMCwgODA0MywgODA0NSwgMCwgMCwgODA0NywgODEwNSwgMCwgMCwgMCwgODEwNiwgMCwgMCwgMCwgODEwNywgMCwgMCwgCi0gICAgMCwgODEwOCwgMCwgMCwgMCwgODEwOSwgMCwgMCwgMCwgODExMCwgMCwgMCwgMCwgODExMSwgMCwgMCwgMCwgODExNCwgMCwgCi0gICAgMCwgMCwgODEzMCwgMCwgMCwgMCwgODE3OCwgMCwgMCwgMCwgODExOSwgMCwgMCwgODE0MSwgODE0MiwgMCwgMCwgODE0MywgCi0gICAgMCwgMCwgMCwgMCwgODEzNSwgMCwgMCwgMCwgODE4MywgMCwgMCwgODE1NywgODE1OCwgMCwgMCwgODE1OSwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgODYwMiwgMCwgMCwgMCwgODYwMywgMCwgMCwgMCwgODYyMiwgMCwgMCwgMCwgODY1MywgMCwgMCwgMCwgCi0gICAgODY1NSwgMCwgMCwgMCwgODY1NCwgMCwgMCwgMCwgODcwOCwgMCwgMCwgMCwgODcxMywgMCwgMCwgMCwgODcxNiwgMCwgMCwgCi0gICAgMCwgODc0MCwgMCwgMCwgMCwgODc0MiwgMCwgMCwgMCwgODc2OSwgMCwgMCwgMCwgODc3MiwgMCwgMCwgMCwgODc3NSwgMCwgCi0gICAgMCwgMCwgODc3NywgMCwgMCwgMCwgODgxMywgMCwgMCwgMCwgODgwMiwgMCwgMCwgMCwgODgxNiwgMCwgMCwgMCwgODgxNywgCi0gICAgMCwgMCwgMCwgODgyMCwgMCwgMCwgMCwgODgyMSwgMCwgMCwgMCwgODgyNCwgMCwgMCwgMCwgODgyNSwgMCwgMCwgMCwgCi0gICAgODgzMiwgMCwgMCwgMCwgODgzMywgMCwgMCwgMCwgODkyOCwgMCwgMCwgMCwgODkyOSwgMCwgMCwgMCwgODgzNiwgMCwgMCwgCi0gICAgMCwgODgzNywgMCwgMCwgMCwgODg0MCwgMCwgMCwgMCwgODg0MSwgMCwgMCwgMCwgODkzMCwgMCwgMCwgMCwgODkzMSwgMCwgCi0gICAgMCwgMCwgODg3NiwgMCwgMCwgMCwgODg3NywgMCwgMCwgMCwgODg3OCwgMCwgMCwgMCwgODg3OSwgMCwgMCwgMCwgODkzOCwgCi0gICAgMCwgMCwgMCwgODkzOSwgMCwgMCwgMCwgODk0MCwgMCwgMCwgMCwgODk0MSwgMTI0MzYsIDAsIDAsIDAsIDEyMzY0LCAwLCAwLCAKLSAgICAwLCAxMjM2NiwgMCwgMCwgMCwgMTIzNjgsIDAsIDAsIDAsIDEyMzcwLCAwLCAwLCAwLCAxMjM3MiwgMCwgMCwgMCwgMTIzNzQsIAotICAgIDAsIDAsIDAsIDEyMzc2LCAwLCAwLCAwLCAxMjM3OCwgMCwgMCwgMCwgMTIzODAsIDAsIDAsIDAsIDEyMzgyLCAwLCAwLCAwLCAKLSAgICAxMjM4NCwgMCwgMCwgMCwgMTIzODYsIDAsIDAsIDAsIDEyMzg5LCAwLCAwLCAwLCAxMjM5MSwgMCwgMCwgMCwgMTIzOTMsIDAsIAotICAgIDAsIDAsIDEyNDAwLCAxMjQwMSwgMCwgMCwgMTI0MDMsIDEyNDA0LCAwLCAwLCAxMjQwNiwgMTI0MDcsIDAsIDAsIDEyNDA5LCAKLSAgICAxMjQxMCwgMCwgMCwgMTI0MTIsIDEyNDEzLCAwLCAwLCAxMjQ0NiwgMCwgMCwgMCwgMTI1MzIsIDAsIDAsIDAsIDEyNDYwLCAKLSAgICAwLCAwLCAwLCAxMjQ2MiwgMCwgMCwgMCwgMTI0NjQsIDAsIDAsIDAsIDEyNDY2LCAwLCAwLCAwLCAxMjQ2OCwgMCwgMCwgMCwgCi0gICAgMTI0NzAsIDAsIDAsIDAsIDEyNDcyLCAwLCAwLCAwLCAxMjQ3NCwgMCwgMCwgMCwgMTI0NzYsIDAsIDAsIDAsIDEyNDc4LCAwLCAKLSAgICAwLCAwLCAxMjQ4MCwgMCwgMCwgMCwgMTI0ODIsIDAsIDAsIDAsIDEyNDg1LCAwLCAwLCAwLCAxMjQ4NywgMCwgMCwgMCwgCi0gICAgMTI0ODksIDAsIDAsIDAsIDEyNDk2LCAxMjQ5NywgMCwgMCwgMTI0OTksIDEyNTAwLCAwLCAwLCAxMjUwMiwgMTI1MDMsIDAsIAotICAgIDAsIDEyNTA1LCAxMjUwNiwgMCwgMCwgMTI1MDgsIDEyNTA5LCAwLCAwLCAxMjUzNSwgMCwgMCwgMCwgMTI1MzYsIDAsIDAsIAotICAgIDAsIDEyNTM3LCAwLCAwLCAwLCAxMjUzOCwgMCwgMCwgMCwgMTI1NDIsIDAsIDAsIDAsIDAsIDAsIDY5Nzg2LCAwLCAwLCAwLCAKLSAgICA2OTc4OCwgMCwgMCwgMCwgNjk4MDMsIDAsIDAsIDAsIDAsIDY5OTM0LCAwLCAwLCAwLCA2OTkzNSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODgxNCwgMCwgODgwMCwgMCwgMCwgMCwgMCwgMCwgODgxNSwgMCwgMCwgMTkyLCAxOTMsIAorICAgIDE5NCwgMTk1LCAyNTYsIDI1OCwgNTUwLCAxOTYsIDc4NDIsIDE5NywgMCwgNDYxLCA1MTIsIDUxNCwgMCwgMCwgMCwgNzg0MCwgCisgICAgMCwgNzY4MCwgMCwgMCwgMjYwLCAwLCAwLCAwLCAwLCAwLCA3NjgyLCAwLCAwLCA3Njg0LCAwLCAwLCAwLCAwLCA3Njg2LCAwLCAKKyAgICAwLCAwLCAwLCAyNjIsIDI2NCwgMCwgMCwgMCwgMjY2LCAwLCAwLCAwLCAwLCAyNjgsIDAsIDAsIDAsIDAsIDAsIDE5OSwgMCwgCisgICAgMCwgNzY5MCwgMCwgMCwgMCwgMCwgMjcwLCAwLCA3NjkyLCAwLCAwLCAwLCA3Njk2LCAwLCA3Njk4LCAwLCAwLCA3Njk0LCAwLCAKKyAgICAwLCAwLCAyMDAsIDIwMSwgMjAyLCA3ODY4LCAyNzQsIDI3NiwgMjc4LCAyMDMsIDc4NjYsIDAsIDAsIDI4MiwgNTE2LCA1MTgsIAorICAgIDAsIDAsIDAsIDc4NjQsIDAsIDAsIDAsIDU1MiwgMjgwLCA3NzA0LCAwLCA3NzA2LCAwLCAwLCA3NzEwLCAwLCAwLCAwLCAwLCAKKyAgICA1MDAsIDI4NCwgMCwgNzcxMiwgMjg2LCAyODgsIDAsIDAsIDAsIDAsIDQ4NiwgMCwgMCwgMCwgMCwgMCwgMjkwLCAwLCAwLCAKKyAgICAyOTIsIDAsIDAsIDAsIDc3MTQsIDc3MTgsIDAsIDAsIDAsIDU0MiwgMCwgNzcxNiwgMCwgMCwgMCwgNzcyMCwgMCwgMCwgCisgICAgNzcyMiwgMCwgMCwgMCwgMCwgMCwgMjA0LCAyMDUsIDIwNiwgMjk2LCAyOTgsIDMwMCwgMzA0LCAyMDcsIDc4ODAsIDAsIDAsIAorICAgIDQ2MywgNTIwLCA1MjIsIDAsIDAsIDAsIDc4ODIsIDMwMiwgMCwgMCwgNzcyNCwgMCwgMCwgMzA4LCAwLCAwLCAwLCAwLCAKKyAgICA3NzI4LCAwLCA0ODgsIDAsIDAsIDAsIDAsIDAsIDc3MzAsIDAsIDAsIDAsIDMxMCwgNzczMiwgMCwgMCwgMCwgMCwgMzEzLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAzMTcsIDAsIDc3MzQsIDAsIDAsIDAsIDMxNSwgMCwgNzc0MCwgMCwgMCwgNzczOCwgMCwgMCwgMCwgCisgICAgMCwgNzc0MiwgNzc0NCwgMCwgMCwgMCwgMCwgMCwgMCwgNzc0NiwgNTA0LCAzMjMsIDAsIDIwOSwgMCwgMCwgNzc0OCwgMCwgCisgICAgMCwgMCwgMCwgMzI3LCAwLCA3NzUwLCAwLCAwLCAwLCAzMjUsIDAsIDc3NTQsIDAsIDAsIDc3NTIsIDAsIDAsIDAsIDIxMCwgCisgICAgMjExLCAyMTIsIDIxMywgMzMyLCAzMzQsIDU1OCwgMjE0LCA3ODg2LCAwLCAzMzYsIDQ2NSwgNTI0LCA1MjYsIDAsIDAsIAorICAgIDQxNiwgNzg4NCwgNDkwLCAwLCAwLCAwLCAwLCA3NzY0LCAwLCAwLCAwLCAwLCA3NzY2LCAwLCAwLCAwLCAwLCAzNDAsIAorICAgIDc3NjgsIDAsIDAsIDAsIDAsIDM0NCwgNTI4LCA1MzAsIDAsIDAsIDAsIDc3NzAsIDAsIDAsIDAsIDM0MiwgNzc3NCwgMCwgMCwgCisgICAgMCwgMCwgMzQ2LCAzNDgsIDAsIDAsIDAsIDc3NzYsIDAsIDAsIDAsIDAsIDM1MiwgMCwgNzc3OCwgMCwgMCwgNTM2LCAzNTAsIAorICAgIDAsIDAsIDc3ODYsIDAsIDAsIDAsIDAsIDM1NiwgMCwgMCwgMCwgMCwgMCwgNzc4OCwgMCwgMCwgNTM4LCAzNTQsIDAsIAorICAgIDc3OTIsIDAsIDAsIDc3OTAsIDAsIDAsIDAsIDIxNywgMjE4LCAyMTksIDM2MCwgMzYyLCAzNjQsIDAsIDIyMCwgNzkxMCwgCisgICAgMzY2LCAzNjgsIDQ2NywgNTMyLCA1MzQsIDAsIDAsIDQzMSwgNzkwOCwgNzc5NCwgMCwgMCwgMCwgMzcwLCA3Nzk4LCAwLCAKKyAgICA3Nzk2LCAwLCAwLCAwLCA3ODA0LCAwLCAwLCAwLCAwLCAwLCA3ODA2LCA3ODA4LCA3ODEwLCAzNzIsIDAsIDAsIDAsIDc4MTQsIAorICAgIDc4MTIsIDAsIDc4MTYsIDAsIDAsIDc4MTgsIDc4MjAsIDAsIDAsIDc5MjIsIDIyMSwgMzc0LCA3OTI4LCA1NjIsIDAsIAorICAgIDc4MjIsIDM3NiwgNzkyNiwgMCwgMCwgMCwgMCwgNzkyNCwgMCwgMCwgMCwgMCwgMCwgMzc3LCA3ODI0LCAwLCAwLCAwLCAKKyAgICAzNzksIDAsIDAsIDAsIDAsIDM4MSwgMCwgMCwgMCwgMCwgMCwgNzgyNiwgNzgyOCwgMCwgMCwgMCwgMjI0LCAyMjUsIDIyNiwgCisgICAgMjI3LCAyNTcsIDI1OSwgNTUxLCAyMjgsIDc4NDMsIDIyOSwgMCwgNDYyLCA1MTMsIDUxNSwgMCwgMCwgMCwgNzg0MSwgMCwgCisgICAgNzY4MSwgMCwgMCwgMjYxLCAwLCA3NjgzLCAwLCAwLCAwLCAwLCAwLCAwLCA3Njg1LCA3Njg3LCAwLCAwLCAwLCAwLCAyNjMsIAorICAgIDI2NSwgMCwgMCwgMCwgMjY3LCAwLCAwLCAwLCAwLCAyNjksIDAsIDIzMSwgMCwgMCwgNzY5MSwgMCwgMCwgMCwgMCwgMjcxLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA3NjkzLCAwLCAwLCAwLCA3Njk3LCAwLCA3Njk5LCAwLCAwLCA3Njk1LCAwLCAwLCAwLCAyMzIsIAorICAgIDIzMywgMjM0LCA3ODY5LCAyNzUsIDI3NywgMjc5LCAyMzUsIDc4NjcsIDAsIDAsIDI4MywgNTE3LCA1MTksIDAsIDAsIDAsIAorICAgIDc4NjUsIDAsIDAsIDAsIDU1MywgMjgxLCA3NzA1LCAwLCA3NzA3LCAwLCAwLCA3NzExLCAwLCAwLCAwLCAwLCA1MDEsIDI4NSwgCisgICAgMCwgNzcxMywgMjg3LCAyODksIDAsIDAsIDAsIDAsIDQ4NywgMCwgMjkxLCAwLCAwLCAyOTMsIDAsIDAsIDAsIDc3MTUsIAorICAgIDc3MTksIDAsIDAsIDAsIDU0MywgMCwgMCwgMCwgMCwgMCwgNzcxNywgMCwgMCwgMCwgNzcyMSwgMCwgMCwgNzcyMywgMCwgCisgICAgNzgzMCwgMCwgMCwgMCwgMjM2LCAyMzcsIDIzOCwgMjk3LCAyOTksIDMwMSwgMCwgMjM5LCA3ODgxLCAwLCAwLCA0NjQsIAorICAgIDUyMSwgNTIzLCAwLCAwLCAwLCA3ODgzLCAwLCAwLCAwLCAwLCAzMDMsIDAsIDAsIDc3MjUsIDAsIDAsIDMwOSwgMCwgMCwgMCwgCisgICAgMCwgNDk2LCAwLCAwLCAwLCA3NzI5LCAwLCAwLCAwLCAwLCAwLCA0ODksIDAsIDc3MzEsIDAsIDAsIDAsIDMxMSwgMCwgMCwgCisgICAgMCwgMCwgNzczMywgMCwgMCwgMCwgMCwgMzE0LCAwLCAzMTgsIDAsIDAsIDAsIDAsIDAsIDc3MzUsIDAsIDAsIDAsIDMxNiwgCisgICAgMCwgNzc0MSwgMCwgMCwgNzczOSwgMCwgMCwgMCwgMCwgNzc0MywgMCwgMCwgMCwgMCwgNzc0NSwgMCwgMCwgNzc0NywgMCwgCisgICAgMCwgMCwgMCwgNTA1LCAzMjQsIDAsIDI0MSwgMCwgMCwgNzc0OSwgMCwgMCwgMCwgMCwgMzI4LCAwLCAwLCAwLCAwLCAwLCAKKyAgICA3NzUxLCAwLCAwLCAwLCAzMjYsIDAsIDc3NTUsIDAsIDAsIDc3NTMsIDAsIDAsIDAsIDI0MiwgMjQzLCAyNDQsIDI0NSwgCisgICAgMzMzLCAzMzUsIDU1OSwgMjQ2LCA3ODg3LCAwLCAzMzcsIDQ2NiwgNTI1LCA1MjcsIDAsIDAsIDQxNywgNzg4NSwgMCwgMCwgCisgICAgMCwgMCwgNDkxLCAwLCAwLCAwLCAwLCA3NzY1LCA3NzY3LCAwLCAwLCAwLCAwLCAzNDEsIDAsIDAsIDAsIDAsIDc3NjksIDAsIAorICAgIDAsIDAsIDAsIDM0NSwgNTI5LCA1MzEsIDAsIDAsIDAsIDc3NzEsIDAsIDAsIDAsIDM0MywgMCwgMCwgMCwgMCwgNzc3NSwgMCwgCisgICAgMCwgMCwgMCwgMzQ3LCAzNDksIDAsIDAsIDAsIDc3NzcsIDAsIDAsIDAsIDAsIDM1MywgMCwgMCwgMCwgMCwgMCwgNzc3OSwgCisgICAgMCwgMCwgNTM3LCAzNTEsIDAsIDAsIDc3ODcsIDc4MzEsIDAsIDAsIDAsIDM1NywgMCwgNzc4OSwgMCwgMCwgNTM5LCAzNTUsIAorICAgIDAsIDc3OTMsIDAsIDAsIDc3OTEsIDAsIDAsIDAsIDI0OSwgMjUwLCAyNTEsIDM2MSwgMzYzLCAzNjUsIDAsIDI1MiwgNzkxMSwgCisgICAgMzY3LCAzNjksIDQ2OCwgNTMzLCA1MzUsIDAsIDAsIDQzMiwgNzkwOSwgNzc5NSwgMCwgMCwgMCwgMzcxLCA3Nzk5LCAwLCAKKyAgICA3Nzk3LCAwLCAwLCAwLCA3ODA1LCAwLCA3ODA3LCAwLCAwLCAwLCAwLCA3ODA5LCA3ODExLCAzNzMsIDAsIDAsIDAsIDc4MTUsIAorICAgIDc4MTMsIDAsIDc4MzIsIDAsIDAsIDAsIDc4MTcsIDAsIDAsIDc4MTksIDc4MjEsIDAsIDAsIDc5MjMsIDI1MywgMzc1LCAKKyAgICA3OTI5LCA1NjMsIDAsIDc4MjMsIDI1NSwgNzkyNywgNzgzMywgMCwgMCwgMCwgNzkyNSwgMCwgMzc4LCA3ODI1LCAwLCAwLCAKKyAgICAwLCAzODAsIDAsIDAsIDAsIDAsIDM4MiwgMCwgNzgyNywgMCwgMCwgMCwgMCwgNzgyOSwgMCwgMCwgMCwgODE3MywgOTAxLCAKKyAgICAwLCAwLCA4MTI5LCAwLCA3ODQ2LCA3ODQ0LCAwLCA3ODUwLCA3ODQ4LCAwLCAwLCAwLCAwLCAwLCA0NzgsIDAsIDAsIDUwNiwgCisgICAgMCwgMCwgMCwgMCwgMCwgNTA4LCAwLCAwLCA0ODIsIDAsIDAsIDc2ODgsIDAsIDAsIDAsIDAsIDc4NzIsIDc4NzAsIDAsIAorICAgIDc4NzYsIDAsIDAsIDAsIDAsIDc4NzQsIDAsIDAsIDc3MjYsIDAsIDAsIDAsIDAsIDc4OTAsIDc4ODgsIDAsIDc4OTQsIDAsIAorICAgIDAsIDAsIDAsIDc4OTIsIDAsIDAsIDc3NTYsIDAsIDAsIDU1NiwgMCwgMCwgNzc1OCwgMCwgMCwgNTU0LCAwLCAwLCA1MTAsIAorICAgIDAsIDAsIDAsIDAsIDQ3NSwgNDcxLCAwLCAwLCA0NjksIDAsIDAsIDQ3MywgMCwgMCwgNzg0NywgNzg0NSwgMCwgNzg1MSwgCisgICAgNzg0OSwgMCwgMCwgMCwgMCwgMCwgNDc5LCAwLCAwLCA1MDcsIDAsIDAsIDAsIDAsIDAsIDUwOSwgMCwgMCwgNDgzLCAwLCAwLCAKKyAgICA3Njg5LCAwLCAwLCAwLCAwLCA3ODczLCA3ODcxLCAwLCA3ODc3LCAwLCAwLCAwLCAwLCA3ODc1LCAwLCAwLCA3NzI3LCAwLCAKKyAgICAwLCAwLCAwLCA3ODkxLCA3ODg5LCAwLCA3ODk1LCAwLCAwLCAwLCAwLCA3ODkzLCAwLCAwLCA3NzU3LCAwLCAwLCA1NTcsIDAsIAorICAgIDAsIDc3NTksIDAsIDAsIDU1NSwgMCwgMCwgNTExLCAwLCAwLCAwLCAwLCA0NzYsIDQ3MiwgMCwgMCwgNDcwLCAwLCAwLCAKKyAgICA0NzQsIDAsIDAsIDc4NTYsIDc4NTQsIDAsIDc4NjAsIDc4NTgsIDAsIDAsIDAsIDAsIDAsIDc4NTcsIDc4NTUsIDAsIDc4NjEsIAorICAgIDAsIDAsIDAsIDAsIDc4NTksIDAsIDc3MDAsIDc3MDIsIDAsIDAsIDAsIDAsIDc3MDEsIDc3MDMsIDc3NjAsIDc3NjIsIDAsIAorICAgIDAsIDAsIDAsIDc3NjEsIDc3NjMsIDAsIDAsIDc3ODAsIDAsIDc3ODEsIDAsIDAsIDAsIDAsIDAsIDc3ODIsIDAsIDc3ODMsIAorICAgIDAsIDAsIDAsIDAsIDc4MDAsIDAsIDAsIDAsIDAsIDAsIDc4MDEsIDAsIDAsIDAsIDc4MDIsIDAsIDc4MDMsIDAsIDAsIDAsIAorICAgIDAsIDc4MzUsIDAsIDAsIDAsIDc5MDAsIDc4OTgsIDAsIDc5MDQsIDAsIDAsIDAsIDAsIDc5MDIsIDAsIDAsIDAsIDAsIAorICAgIDc5MDYsIDc5MDEsIDc4OTksIDAsIDc5MDUsIDc5MDMsIDAsIDAsIDAsIDAsIDc5MDcsIDAsIDAsIDAsIDAsIDc5MTQsIAorICAgIDc5MTIsIDAsIDc5MTgsIDAsIDAsIDAsIDAsIDc5MTYsIDAsIDAsIDAsIDAsIDc5MjAsIDc5MTUsIDc5MTMsIDAsIDc5MTksIAorICAgIDc5MTcsIDAsIDAsIDAsIDAsIDc5MjEsIDAsIDAsIDAsIDQ5NCwgMCwgMCwgNDkyLCAwLCAwLCAwLCAwLCAwLCA0OTMsIDAsIAorICAgIDQ4MCwgMCwgMCwgMCwgMCwgMCwgNDgxLCAwLCAwLCA3NzA4LCAwLCAwLCAwLCAwLCAwLCA3NzA5LCA1NjAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDU2MSwgMCwgMCwgMCwgMCwgNDk1LCAwLCAwLCA4MTIyLCA5MDIsIDAsIDAsIDgxMjEsIDgxMjAsIDc5NDQsIAorICAgIDc5NDUsIDAsIDAsIDAsIDAsIDAsIDgxMjQsIDgxMzYsIDkwNCwgMCwgMCwgMCwgMCwgNzk2MCwgNzk2MSwgMCwgMCwgODEzOCwgCisgICAgOTA1LCA3OTc2LCA3OTc3LCAwLCAwLCAwLCAwLCAwLCA4MTQwLCA4MTU0LCA5MDYsIDAsIDAsIDgxNTMsIDgxNTIsIDAsIAorICAgIDkzOCwgMCwgMCwgNzk5MiwgNzk5MywgMCwgMCwgODE4NCwgOTA4LCA4MDA4LCA4MDA5LCAwLCAwLCAwLCAwLCAwLCA4MTcyLCAKKyAgICAwLCAwLCA4MTcwLCA5MTAsIDAsIDAsIDgxNjksIDgxNjgsIDAsIDkzOSwgMCwgMCwgMCwgODAyNSwgMCwgMCwgODE4NiwgCisgICAgOTExLCAwLCAwLCAwLCAwLCA4MDQwLCA4MDQxLCAwLCA4MTg4LCAwLCAwLCAwLCAwLCAwLCA4MTE2LCAwLCA4MTMyLCAwLCAwLCAKKyAgICAwLCAwLCA4MDQ4LCA5NDAsIDAsIDAsIDgxMTMsIDgxMTIsIDc5MzYsIDc5MzcsIDAsIDAsIDAsIDAsIDgxMTgsIDgxMTUsIAorICAgIDgwNTAsIDk0MSwgMCwgMCwgMCwgMCwgNzk1MiwgNzk1MywgMCwgMCwgODA1MiwgOTQyLCA3OTY4LCA3OTY5LCAwLCAwLCAwLCAKKyAgICAwLCA4MTM0LCA4MTMxLCA4MDU0LCA5NDMsIDAsIDAsIDgxNDUsIDgxNDQsIDAsIDk3MCwgMCwgMCwgNzk4NCwgNzk4NSwgCisgICAgODE1MCwgMCwgMCwgMCwgMCwgMCwgODA1NiwgOTcyLCA4MDAwLCA4MDAxLCAwLCAwLCAwLCAwLCA4MTY0LCA4MTY1LCAwLCAwLCAKKyAgICA4MDU4LCA5NzMsIDAsIDAsIDgxNjEsIDgxNjAsIDAsIDk3MSwgMCwgMCwgODAxNiwgODAxNywgMCwgMCwgMCwgMCwgODE2NiwgCisgICAgMCwgODA2MCwgOTc0LCAwLCAwLCAwLCAwLCA4MDMyLCA4MDMzLCA4MTgyLCA4MTc5LCAwLCAwLCAwLCAwLCA4MTQ2LCA5MTIsIAorICAgIDAsIDAsIDgxNTEsIDAsIDgxNjIsIDk0NCwgMCwgMCwgODE2NywgMCwgMCwgMCwgMCwgMCwgMCwgODE4MCwgMCwgOTc5LCAwLCAKKyAgICAwLCAwLCAwLCAwLCA5ODAsIDAsIDEwMzEsIDAsIDAsIDAsIDEyMzIsIDAsIDEyMzQsIDAsIDAsIDAsIDEwMjcsIDEwMjQsIDAsIAorICAgIDAsIDAsIDAsIDEyMzgsIDAsIDEwMjUsIDAsIDAsIDAsIDEyMTcsIDAsIDEyNDQsIDAsIDAsIDAsIDAsIDAsIDEyNDYsIDAsIAorICAgIDAsIDEwMzcsIDAsIDAsIDAsIDEyNTAsIDEwNDksIDAsIDEyNTIsIDAsIDAsIDAsIDEwMzYsIDAsIDAsIDAsIDEyNTQsIDAsIAorICAgIDAsIDEyNjIsIDEwMzgsIDAsIDEyNjQsIDAsIDAsIDEyNjYsIDAsIDAsIDEyNjgsIDAsIDAsIDAsIDAsIDAsIDEyNzIsIDAsIAorICAgIDEyNjAsIDAsIDAsIDAsIDEyMzMsIDAsIDEyMzUsIDAsIDAsIDAsIDExMDcsIDExMDQsIDAsIDAsIDAsIDAsIDEyMzksIDAsIAorICAgIDExMDUsIDAsIDAsIDAsIDEyMTgsIDAsIDEyNDUsIDAsIDAsIDAsIDAsIDAsIDEyNDcsIDAsIDAsIDExMTcsIDAsIDAsIDAsIAorICAgIDEyNTEsIDEwODEsIDAsIDEyNTMsIDAsIDAsIDAsIDExMTYsIDAsIDAsIDAsIDEyNTUsIDAsIDAsIDEyNjMsIDExMTgsIDAsIAorICAgIDEyNjUsIDAsIDAsIDEyNjcsIDAsIDAsIDEyNjksIDAsIDAsIDAsIDAsIDAsIDEyNzMsIDAsIDEyNjEsIDAsIDAsIDAsIDAsIAorICAgIDAsIDExMTEsIDAsIDAsIDExNDIsIDAsIDExNDMsIDAsIDAsIDAsIDAsIDEyNDIsIDAsIDAsIDAsIDAsIDAsIDEyNDMsIDAsIAorICAgIDEyNTgsIDAsIDAsIDAsIDAsIDAsIDEyNTksIDE1NzAsIDE1NzEsIDE1NzMsIDAsIDAsIDAsIDAsIDE1NzIsIDAsIDE1NzQsIAorICAgIDAsIDAsIDAsIDAsIDAsIDE3MzAsIDAsIDE3NDcsIDAsIDAsIDAsIDAsIDAsIDE3MjgsIDAsIDAsIDAsIDIzNDUsIDAsIAorICAgIDIzNTMsIDAsIDAsIDAsIDAsIDAsIDIzNTYsIDAsIDAsIDI1MDcsIDI1MDgsIDAsIDAsIDI4OTEsIDI4ODgsIDI4OTIsIDAsIAorICAgIDAsIDAsIDI5NjQsIDAsIDAsIDAsIDAsIDMwMTgsIDMwMjAsIDAsIDAsIDAsIDAsIDMwMTksIDAsIDAsIDAsIDMxNDQsIDAsIAorICAgIDAsIDAsIDMyNjQsIDMyNzQsIDMyNzEsIDMyNzIsIDAsIDAsIDAsIDAsIDMyNzUsIDAsIDAsIDAsIDM0MDIsIDM0MDQsIDAsIAorICAgIDAsIDAsIDAsIDM0MDMsIDAsIDAsIDAsIDM1NDYsIDM1NDgsIDM1NTAsIDAsIDAsIDAsIDM1NDksIDQxMzQsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDY5MTgsIDAsIDY5MjAsIDAsIDAsIDAsIDAsIDAsIDY5MjIsIDAsIDY5MjQsIDAsIDAsIDAsIDAsIDAsIAorICAgIDY5MjYsIDAsIDY5MzAsIDAsIDAsIDAsIDAsIDAsIDY5NzEsIDAsIDY5NzMsIDAsIDAsIDAsIDAsIDAsIDY5NzYsIDAsIAorICAgIDY5NzcsIDAsIDAsIDAsIDAsIDAsIDY5NzksIDAsIDAsIDc3MzYsIDAsIDc3MzcsIDAsIDAsIDAsIDAsIDAsIDc3NzIsIDAsIAorICAgIDc3NzMsIDAsIDAsIDAsIDc3ODQsIDAsIDAsIDAsIDAsIDAsIDc3ODUsIDAsIDc4NTIsIDAsIDAsIDc4NjIsIDAsIDAsIAorICAgIDc4NTMsIDAsIDAsIDc4NjMsIDAsIDAsIDc4NzgsIDAsIDAsIDAsIDAsIDAsIDc4NzksIDAsIDc4OTYsIDAsIDAsIDAsIDAsIAorICAgIDAsIDc4OTcsIDAsIDAsIDAsIDc5MzgsIDc5NDAsIDAsIDAsIDc5NDIsIDgwNjQsIDc5MzksIDc5NDEsIDAsIDAsIDc5NDMsIAorICAgIDgwNjUsIDAsIDAsIDAsIDAsIDAsIDgwNjYsIDAsIDgwNjcsIDAsIDAsIDAsIDAsIDAsIDgwNjgsIDAsIDgwNjksIDAsIDAsIAorICAgIDAsIDAsIDAsIDgwNzAsIDAsIDgwNzEsIDAsIDAsIDAsIDAsIDc5NDYsIDc5NDgsIDAsIDAsIDc5NTAsIDgwNzIsIDc5NDcsIAorICAgIDc5NDksIDAsIDAsIDc5NTEsIDgwNzMsIDAsIDAsIDAsIDAsIDAsIDgwNzQsIDAsIDgwNzUsIDAsIDAsIDAsIDAsIDAsIAorICAgIDgwNzYsIDAsIDgwNzcsIDAsIDAsIDAsIDAsIDAsIDgwNzgsIDAsIDgwNzksIDAsIDAsIDAsIDAsIDc5NTQsIDc5NTYsIAorICAgIDc5NTUsIDc5NTcsIDAsIDAsIDAsIDAsIDc5NjIsIDc5NjQsIDc5NjMsIDc5NjUsIDAsIDAsIDAsIDAsIDc5NzAsIDc5NzIsIAorICAgIDAsIDAsIDc5NzQsIDgwODAsIDc5NzEsIDc5NzMsIDAsIDAsIDc5NzUsIDgwODEsIDAsIDAsIDAsIDAsIDAsIDgwODIsIDAsIAorICAgIDgwODMsIDAsIDAsIDAsIDAsIDAsIDgwODQsIDAsIDgwODUsIDAsIDAsIDAsIDAsIDAsIDgwODYsIDAsIDgwODcsIDAsIDAsIAorICAgIDAsIDAsIDc5NzgsIDc5ODAsIDAsIDAsIDc5ODIsIDgwODgsIDc5NzksIDc5ODEsIDAsIDAsIDc5ODMsIDgwODksIDAsIDAsIAorICAgIDAsIDAsIDAsIDgwOTAsIDAsIDgwOTEsIDAsIDAsIDAsIDAsIDAsIDgwOTIsIDAsIDgwOTMsIDAsIDAsIDAsIDAsIDAsIAorICAgIDgwOTQsIDAsIDgwOTUsIDAsIDAsIDAsIDAsIDc5ODYsIDc5ODgsIDAsIDAsIDc5OTAsIDAsIDc5ODcsIDc5ODksIDAsIDAsIAorICAgIDc5OTEsIDAsIDAsIDAsIDAsIDAsIDc5OTQsIDc5OTYsIDAsIDAsIDc5OTgsIDAsIDc5OTUsIDc5OTcsIDAsIDAsIDc5OTksIAorICAgIDAsIDAsIDAsIDAsIDAsIDgwMDIsIDgwMDQsIDgwMDMsIDgwMDUsIDAsIDAsIDAsIDAsIDgwMTAsIDgwMTIsIDgwMTEsIAorICAgIDgwMTMsIDAsIDAsIDAsIDAsIDgwMTgsIDgwMjAsIDAsIDAsIDgwMjIsIDAsIDgwMTksIDgwMjEsIDAsIDAsIDgwMjMsIDAsIAorICAgIDAsIDAsIDAsIDAsIDgwMjcsIDgwMjksIDAsIDAsIDgwMzEsIDAsIDgwMzQsIDgwMzYsIDAsIDAsIDgwMzgsIDgwOTYsIDAsIAorICAgIDAsIDAsIDAsIDgwMzUsIDgwMzcsIDAsIDAsIDgwMzksIDgwOTcsIDAsIDgwOTgsIDAsIDAsIDAsIDAsIDAsIDgwOTksIDAsIAorICAgIDgxMDAsIDAsIDAsIDAsIDAsIDAsIDgxMDEsIDAsIDgxMDIsIDAsIDAsIDAsIDAsIDAsIDgxMDMsIDgwNDIsIDgwNDQsIDAsIAorICAgIDAsIDgwNDYsIDgxMDQsIDAsIDAsIDAsIDAsIDgwNDMsIDgwNDUsIDAsIDAsIDgwNDcsIDgxMDUsIDAsIDgxMDYsIDAsIDAsIAorICAgIDAsIDAsIDAsIDgxMDcsIDAsIDgxMDgsIDAsIDAsIDAsIDAsIDAsIDgxMDksIDAsIDgxMTAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDgxMTEsIDAsIDgxMTQsIDAsIDAsIDAsIDAsIDAsIDgxMzAsIDAsIDgxNzgsIDAsIDAsIDAsIDAsIDAsIDgxMTksIDgxNDEsIAorICAgIDgxNDIsIDAsIDAsIDgxNDMsIDAsIDAsIDAsIDAsIDAsIDAsIDgxMzUsIDAsIDgxODMsIDAsIDAsIDAsIDAsIDgxNTcsIAorICAgIDgxNTgsIDAsIDAsIDgxNTksIDAsIDAsIDAsIDAsIDg2MDIsIDAsIDg2MDMsIDAsIDAsIDAsIDAsIDAsIDg2MjIsIDAsIAorICAgIDg2NTMsIDAsIDAsIDAsIDAsIDAsIDg2NTUsIDAsIDg2NTQsIDAsIDAsIDAsIDAsIDAsIDg3MDgsIDAsIDg3MTMsIDAsIDAsIAorICAgIDAsIDAsIDAsIDg3MTYsIDAsIDg3NDAsIDAsIDAsIDAsIDAsIDAsIDg3NDIsIDAsIDg3NjksIDAsIDAsIDAsIDAsIDAsIAorICAgIDg3NzIsIDAsIDg3NzUsIDAsIDAsIDAsIDAsIDAsIDg3NzcsIDAsIDg4MTMsIDAsIDAsIDAsIDAsIDAsIDg4MDIsIDAsIAorICAgIDg4MTYsIDAsIDAsIDAsIDAsIDAsIDg4MTcsIDAsIDg4MjAsIDAsIDAsIDAsIDAsIDAsIDg4MjEsIDAsIDg4MjQsIDAsIDAsIAorICAgIDAsIDAsIDAsIDg4MjUsIDAsIDg4MzIsIDAsIDAsIDAsIDAsIDAsIDg4MzMsIDAsIDg5MjgsIDAsIDAsIDAsIDAsIDAsIAorICAgIDg5MjksIDAsIDg4MzYsIDAsIDAsIDAsIDAsIDAsIDg4MzcsIDAsIDg4NDAsIDAsIDAsIDAsIDAsIDAsIDg4NDEsIDAsIAorICAgIDg5MzAsIDAsIDAsIDAsIDAsIDAsIDg5MzEsIDAsIDg4NzYsIDAsIDAsIDAsIDAsIDAsIDg4NzcsIDAsIDg4NzgsIDAsIDAsIAorICAgIDAsIDAsIDAsIDg4NzksIDAsIDg5MzgsIDAsIDAsIDAsIDAsIDAsIDg5MzksIDAsIDg5NDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDg5NDEsIDAsIDAsIDEyNDM2LCAwLCAxMjM2NCwgMCwgMCwgMCwgMCwgMCwgMTIzNjYsIDAsIDEyMzY4LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAxMjM3MCwgMCwgMTIzNzIsIDAsIDAsIDAsIDAsIDAsIDEyMzc0LCAwLCAxMjM3NiwgMCwgMCwgMCwgMCwgMCwgMTIzNzgsIAorICAgIDAsIDEyMzgwLCAwLCAwLCAwLCAwLCAwLCAxMjM4MiwgMCwgMTIzODQsIDAsIDAsIDAsIDAsIDAsIDEyMzg2LCAwLCAxMjM4OSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMTIzOTEsIDAsIDEyMzkzLCAwLCAwLCAwLCAwLCAwLCAxMjQwMCwgMTI0MDEsIDEyNDAzLCAKKyAgICAxMjQwNCwgMCwgMCwgMCwgMCwgMTI0MDYsIDEyNDA3LCAxMjQwOSwgMTI0MTAsIDAsIDAsIDAsIDAsIDEyNDEyLCAxMjQxMywgCisgICAgMTI0NDYsIDAsIDAsIDAsIDAsIDAsIDEyNTMyLCAwLCAxMjQ2MCwgMCwgMCwgMCwgMCwgMCwgMTI0NjIsIDAsIDEyNDY0LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAxMjQ2NiwgMCwgMTI0NjgsIDAsIDAsIDAsIDAsIDAsIDEyNDcwLCAwLCAxMjQ3MiwgMCwgMCwgMCwgMCwgCisgICAgMCwgMTI0NzQsIDAsIDEyNDc2LCAwLCAwLCAwLCAwLCAwLCAxMjQ3OCwgMCwgMTI0ODAsIDAsIDAsIDAsIDAsIDAsIDEyNDgyLCAKKyAgICAwLCAxMjQ4NSwgMCwgMCwgMCwgMCwgMCwgMTI0ODcsIDAsIDEyNDg5LCAwLCAwLCAwLCAwLCAwLCAxMjQ5NiwgMTI0OTcsIAorICAgIDEyNDk5LCAxMjUwMCwgMCwgMCwgMCwgMCwgMTI1MDIsIDEyNTAzLCAxMjUwNSwgMTI1MDYsIDAsIDAsIDAsIDAsIDEyNTA4LCAKKyAgICAxMjUwOSwgMTI1MzUsIDAsIDAsIDAsIDAsIDAsIDEyNTM2LCAwLCAxMjUzNywgMCwgMCwgMCwgMCwgMCwgMTI1MzgsIDAsIAorICAgIDEyNTQyLCAwLCAwLCAwLCA2OTc4NiwgMCwgMCwgMCwgMCwgMCwgNjk3ODgsIDAsIDY5ODAzLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA2OTkzNCwgMCwgNjk5MzUsIDAsIDAsIDcwNDc1LCA3MDQ3NiwgMCwgMCwgNzA4NDQsIDcwODQzLCA3MDg0NiwgMCwgMCwgCisgICAgNzEwOTgsIDAsIDAsIDAsIDAsIDAsIDcxMDk5LCAKIH07CiAKIHN0YXRpYyBjb25zdCBjaGFuZ2VfcmVjb3JkIGNoYW5nZV9yZWNvcmRzXzNfMl8wW10gPSB7CkBAIC01MjEwLDczICs1Njc0LDc0IEBACiB9Owogc3RhdGljIHVuc2lnbmVkIGNoYXIgY2hhbmdlc18zXzJfMF9pbmRleFtdID0gewogICAgIDAsIDEsIDIsIDIsIDMsIDQsIDUsIDYsIDIsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAxNywgMTgsIAotICAgIDE5LCAyMCwgMjEsIDIyLCAyMywgMjQsIDIsIDIsIDI1LCAyNiwgMjcsIDI4LCAyOSwgMzAsIDMxLCAzMiwgMzMsIDM0LCAzNSwgCi0gICAgMzYsIDIsIDIsIDIsIDM3LCAzOCwgMiwgMzksIDIsIDQwLCA0MSwgNDIsIDQzLCA0NCwgNDUsIDQ2LCA0NywgNDgsIDQ5LCAKLSAgICA1MCwgMiwgNTEsIDIsIDIsIDUyLCA1MywgNTQsIDU1LCA1NiwgMiwgNTcsIDU4LCA1OSwgNjAsIDIsIDIsIDYxLCA2MiwgNjMsIAotICAgIDY0LCA2NSwgNjUsIDIsIDIsIDIsIDIsIDY2LCAyLCA2NywgNjgsIDY5LCA3MCwgNzEsIDIsIDIsIDIsIDcyLCA3MywgNzQsIAotICAgIDc1LCA3NiwgNzcsIDc4LCA3OSwgODAsIDgxLCAyLCAyLCAyLCAyLCAyLCAyLCA4MiwgMiwgMiwgMiwgMiwgMiwgODMsIDIsIAorICAgIDE5LCAyMCwgMjEsIDIyLCAyMywgMjQsIDI1LCAyLCAyNiwgMjcsIDI4LCAyOSwgMzAsIDMxLCAzMiwgMzMsIDM0LCAzNSwgCisgICAgMzYsIDM3LCAyLCAyLCAyLCAzOCwgMzksIDIsIDQwLCAyLCA0MSwgNDIsIDQzLCA0NCwgNDUsIDQ2LCA0NywgNDgsIDQ5LCAKKyAgICA1MCwgNTEsIDIsIDUyLCAyLCAyLCA1MywgNTQsIDU1LCA1NiwgNTcsIDIsIDU4LCA1OSwgNjAsIDYxLCAyLCAyLCA2MiwgNjMsIAorICAgIDY0LCA2NSwgNjYsIDY2LCAyLCAyLCAyLCAyLCA2NywgNjgsIDY5LCA3MCwgNzEsIDcyLCA3MywgMiwgMiwgMiwgNzQsIDc1LCAKKyAgICA3NiwgNzcsIDc4LCA3OSwgODAsIDgxLCA4MiwgODMsIDIsIDIsIDIsIDIsIDIsIDIsIDg0LCAyLCAyLCAyLCAyLCAyLCA4NSwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCi0gICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgODQsIDIsIDg1LCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCA4NiwgCi0gICAgODcsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDg4LCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCA4OSwgOTAsIAorICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDg2LCAyLCA4NywgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCisgICAgODgsIDg5LCAyLCAyLCAyLCAyLCAyLCAyLCAyLCA5MCwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgOTEsIAorICAgIDkyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKKyAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCA5MywgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCi0gICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgOTEsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAotICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAotICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDkyLCAyLCAyLCAyLCAyLCAKLSAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCA5MywgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCi0gICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgOTQsIDk1LCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCA5NiwgNDksIDQ5LCAKLSAgICA5NywgOTgsIDQ5LCA5OSwgMTAwLCAxMDEsIDEwMiwgMTAzLCAxMDQsIDEwNSwgMTA2LCAxMDcsIDIsIDIsIDIsIDIsIDIsIDIsIAorICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDk0LCAyLCAyLCAyLCAKKyAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCA5NSwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCisgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgOTYsIDk3LCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCA5OCwgNTAsIDUwLCAKKyAgICA5OSwgMTAwLCA1MCwgMTAxLCAxMDIsIDEwMywgMTA0LCAxMDUsIDEwNiwgMTA3LCAxMDgsIDEwOSwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCi0gICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMTA4LCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKKyAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAxMTAsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAogICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAogICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAotICAgIDIsIDIsIDIsIDIsIDEwOSwgMTEwLCAxMTEsIDExMiwgMTEzLCAxMTQsIDIsIDIsIDIsIDExNSwgMTE2LCAyLCAxMTcsIDExOCwgCi0gICAgMTE5LCAxMjAsIDEyMSwgMTIyLCAyLCAxMjMsIDEyNCwgMTI1LCAxMjYsIDEyNywgMiwgMiwgMiwgMiwgMiwgMiwgMTI4LCAyLCAKLSAgICAxMjksIDEzMCwgMTMxLCAyLCAxMzIsIDIsIDEzMywgMiwgMiwgMiwgMTM0LCAyLCAyLCAyLCAxMzUsIDEzNiwgMTM3LCAxMzgsIAotICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDEzOSwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCi0gICAgMiwgMiwgMiwgMiwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgMTQwLCAyLCAxNDEsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAotICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKLSAgICA0OSwgMTQyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKKyAgICAyLCAyLCAyLCAyLCAyLCAxMTEsIDExMiwgMTEzLCAxMTQsIDExNSwgMTE2LCAyLCAyLCAxMTcsIDExOCwgMTE5LCAyLCAxMjAsIAorICAgIDEyMSwgMTIyLCAxMjMsIDEyNCwgMTI1LCAyLCAxMjYsIDEyNywgMTI4LCAxMjksIDEzMCwgMTMxLCAyLCA1MCwgNTAsIDEzMiwgCisgICAgMiwgMTMzLCAxMzQsIDEzNSwgMTM2LCAxMzcsIDEzOCwgMTM5LCAxNDAsIDE0MSwgMiwgMiwgMiwgMTQyLCAyLCAyLCAyLCAKKyAgICAxNDMsIDE0NCwgMTQ1LCAxNDYsIDE0NywgMTQ4LCAxNDksIDIsIDIsIDE1MCwgMiwgMTUxLCAxNTIsIDE1MywgMiwgMiwgMiwgCisgICAgMTU0LCAyLCAyLCAyLCAxNTUsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAorICAgIDUwLCAxNTYsIDE1NywgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCisgICAgMiwgMiwgMiwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAxNTgsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAogICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAogICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAogICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAotICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDQ5LCA0OSwgNDksIDQ5LCAxNDMsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAotICAgIDIsIDIsIDE0NCwgMTQ1LCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKKyAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCA1MCwgNTAsIAorICAgIDUwLCA1MCwgMTU5LCAxNjAsIDE2MSwgMTYyLCAyLCAyLCAyLCAyLCAyLCAyLCAxNjMsIDE2NCwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCi0gICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMTQ2LCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKKyAgICAyLCAyLCAxNjUsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAorICAgIDIsIDIsIDE2NiwgMTY3LCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKKyAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAxNjgsIDIsIAorICAgIDE2OSwgMiwgMTcwLCAyLCAyLCAxNzEsIDIsIDIsIDIsIDE3MiwgMTczLCAxNzQsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAogICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAotICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDE0NywgMiwgMTQ4LCAyLCAxNDksIDIsIDIsIDE1MCwgMiwgMiwgMiwgMTUxLCAxNTIsIAotICAgIDE1MywgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCi0gICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMTU0LCAxNTUsIAotICAgIDIsIDIsIDE1NiwgMTU3LCAxNTgsIDE1OSwgMTYwLCAyLCAxNjEsIDE2MiwgMTYzLCAxNjQsIDE2NSwgMTY2LCAxNjcsIDE0OCwgCi0gICAgMTY4LCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAxNjksIDE3MCwgOTMsIDIsIAotICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDgyLCAxNzEsIDIsIDE3MiwgMTczLCAyLCAyLCAyLCAKKyAgICA1MCwgMTc1LCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAxNzYsIDE3NywgMiwgMiwgMTc4LCAxNzksIDE4MCwgCisgICAgMTgxLCAxODIsIDIsIDE4MywgMTg0LCA1MCwgMTg1LCAxODYsIDE4NywgMTg4LCAxODksIDE5MCwgMTkxLCAxOTIsIDE5MywgCisgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMTk0LCAxOTUsIDk1LCAyLCAyLCAyLCAyLCAyLCAyLCAKKyAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCA4NCwgMTk2LCAyLCAxOTcsIDE5OCwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCi0gICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMTc0LCAyLCAyLCAKLSAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAxNzUsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAotICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDE3NiwgMiwgMiwgMiwgCisgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMTk5LCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKKyAgICAyLCAyLCAyLCAyLCAyMDAsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAorICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIwMSwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCisgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMjAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKLSAgICAyLCAyLCAxNzcsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAogICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAogICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAogICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAogICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAotICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDQ5LCA0OSwgNDksIAotICAgIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIAotICAgIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgMTc4LCA0OSwgMTc5LCAyLCAyLCAyLCAyLCAyLCAKKyAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCisgICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCisgICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDIwMywgNTAsIDIwNCwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCisgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMTk5LCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKLSAgICAyLCAyLCAyLCAxNzQsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAogICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAogICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAogICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIApAQCAtNTUxMSw3ICs1OTc2LDcgQEAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKLSAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCA0OSwgMTgwLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKKyAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCA1MCwgMjA1LCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKQEAgLTU1NzUsNyArNjA0MCw3IEBACiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCi0gICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCisgICAgMiwgMiwgMiwgMiwgMiwgMiwgCiB9OwogCiBzdGF0aWMgdW5zaWduZWQgY2hhciBjaGFuZ2VzXzNfMl8wX2RhdGFbXSA9IHsKQEAgLTU2MTEsNyArNjA3Niw3IEBACiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgMTAsIDAsIDksIDksIDAsIDAsIDAsIDksIDksIAotICAgIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDksIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIApAQCAtNTYyMywxNiArNjA4OCwxNiBAQAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDAsIDAsIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDExLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAKICAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCAwLCA5LCAwLCA5LCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCAKICAgICA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKQEAgLTU2NjAsMTYgKzYxMjUsMTYgQEAKICAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCAwLCAwLCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAKICAgICA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKQEAgLTU2OTYsMTggKzYxNjEsMTggQEAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCAwLCAyMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIApAQCAtNTcxNiw3OTYgKzYxODEsMzEwIEBACiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMjEsIDIxLCAyMSwgMjEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIAotICAgIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDAsIDAsIDAsIDAsIDksIAotICAgIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIAotICAgIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIAotICAgIDAsIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIAotICAgIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDIyLCAyMywgCi0gICAgMjQsIDI1LCAyNiwgMjcsIDI4LCAyOSwgMzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDIxLCAyMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzEsIDMxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCA5LCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAzMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCA5LCAwLCA5LCA5LCA5LCAKLSAgICA5LCAwLCAwLCAwLCAwLCAwLCAwLCAzNSwgNCwgMCwgMCwgMzYsIDM3LCAzOCwgMzksIDQwLCA0MSwgMSwgMSwgMCwgMCwgMCwgCi0gICAgNCwgMzUsIDgsIDYsIDcsIDM2LCAzNywgMzgsIDM5LCA0MCwgNDEsIDEsIDEsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MywgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDQsIDQ0LCA0NCwgNDQsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDQ1LCA0NiwgMTEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgOSwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgCi0gICAgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKLSAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKLSAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKLSAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKLSAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKLSAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKLSAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKLSAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCAwLCAwLCAwLCAwLCAwLCA5LCAwLCAwLCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDUwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUxLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAKLSAgICAwLCAwLCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIAotICAgIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDE5LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjEsIDIxLCAyMSwgMjEsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDksIDksIDksIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIAogICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAogICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDAsIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIAorICAgIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDIyLCAyMywgMjQsIDI1LCAyNiwgMjcsIDI4LCAyOSwgMzAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDIxLCAyMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzEsIDMxLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKICAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKICAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAwLCAwLCAwLCAxLCAxLCAyMSwgMjEsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDEsIDAsIDIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDQ5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNCwgMTQsIDE0LCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCAwLCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAKKyAgICA5LCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAKKyAgICA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKICAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKICAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKICAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKICAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAKICAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA5LCA5LCA5LCA5LCA5LCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA1MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDAsIDAsIDksIAotICAgIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIAotICAgIDAsIDAsIDAsIDksIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDAsIDksIDksIDAsIDAsIAotICAgIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDksIAotICAgIDksIDksIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIAogICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAogICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAogICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAogICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIAogICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAogICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMywgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzQsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDAsIAorICAgIDAsIDAsIDAsIDAsIDksIDAsIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDM1LCA0LCAwLCAwLCAzNiwgMzcsIDM4LCAKKyAgICAzOSwgNDAsIDQxLCAxLCAxLCAwLCAwLCAwLCA0LCAzNSwgOCwgNiwgNywgMzYsIDM3LCAzOCwgMzksIDQwLCA0MSwgMSwgMSwgCisgICAgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgCiAgICAgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMywgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDIsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQzLCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA0NCwgNDQsIDQ0LCA0NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDUsIDQ2LCAxMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCiAgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCiAgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKKyAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKKyAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ3LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCAwLCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCA1NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU0LCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgOSwgOSwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTQsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDksIDAsIDAsIDAsIDAsIDksIDksIDksIAorICAgIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCisgICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCisgICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCisgICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCisgICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCisgICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCisgICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCisgICAgMzQsIDM0LCAzNCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgCisgICAgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgMCwgCisgICAgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgMCwgOSwgMCwgMCwgOSwgMCwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgMCwgOSwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgOSwgMCwgMCwgMCwgMCwgOSwgMCwgOSwgMCwgOSwgMCwgOSwgOSwgOSwgMCwgOSwgOSwgMCwgOSwgMCwgMCwgOSwgMCwgCi0gICAgOSwgMCwgOSwgMCwgOSwgMCwgOSwgMCwgOSwgOSwgMCwgOSwgMCwgMCwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgMCwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgMCwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgCi0gICAgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCiAgICAgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgCi0gICAgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgCi0gICAgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIApAQCAtNjUxNiwzOCArNjQ5NSw2NTcgQEAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgNTIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCAKICAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAKKyAgICA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCAKICAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKICAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCiAgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCiAgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCiAgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCiAgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDUsIDQ2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAwLCAwLCAwLCAxLCAxLCAyMSwgMjEsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDEsIDAsIDIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDQ5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNCwgMTQsIDE0LCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCAwLCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAKKyAgICA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCA1MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDAsIDAsIDksIDAsIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDAsIDAsIDAsIDksIDAsIDAsIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDAsIDksIDksIDAsIAorICAgIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIAorICAgIDksIDksIDksIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIAorICAgIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDksIDAsIDAsIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDAsIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDAsIDAsIDksIDksIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDAsIDksIDksIDksIAorICAgIDksIDksIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDksIDksIDAsIDAsIDksIDksIDksIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDksIDksIAorICAgIDksIDksIDksIDksIDksIDAsIDAsIDAsIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIAorICAgIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIAorICAgIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDU0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTQsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgMCwgOSwgOSwgMCwgOSwgMCwgMCwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgCisgICAgMCwgOSwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgOSwgMCwgOSwgMCwgOSwgMCwgOSwgOSwgOSwgCisgICAgMCwgOSwgOSwgMCwgOSwgMCwgMCwgOSwgMCwgOSwgMCwgOSwgMCwgOSwgMCwgOSwgMCwgOSwgOSwgMCwgOSwgMCwgMCwgOSwgCisgICAgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgMCwgOSwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogfTsKIAogc3RhdGljIGNvbnN0IGNoYW5nZV9yZWNvcmQqIGdldF9jaGFuZ2VfM18yXzAoUHlfVUNTNCBuKQpkaWZmIC0tZ2l0IGEvTW9kdWxlcy91bmljb2RlbmFtZV9kYi5oIGIvTW9kdWxlcy91bmljb2RlbmFtZV9kYi5oCmluZGV4IDdjY2IxMjYuLmRkMDVmODUgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvdW5pY29kZW5hbWVfZGIuaAorKysgYi9Nb2R1bGVzL3VuaWNvZGVuYW1lX2RiLmgKQEAgLTQsNzYgKzQsNzUgQEAKIAogLyogbGV4aWNvbiAqLwogc3RhdGljIHVuc2lnbmVkIGNoYXIgbGV4aWNvbltdID0gewotICAgIDc2LCA2OSwgODQsIDg0LCA2OSwgMjEwLCA4NywgNzMsIDg0LCAyMDAsIDgzLCA4OSwgNzYsIDc2LCA2NSwgNjYsIDc2LCAKLSAgICAxOTcsIDgzLCA3NywgNjUsIDc2LCAyMDQsIDgzLCA3MywgNzEsIDIwNiwgNjcsIDY1LCA4MCwgNzMsIDg0LCA2NSwgMjA0LCAKLSAgICA3NiwgNjUsIDg0LCA3MywgMjA2LCA4OSwgMjAxLCA2NSwgODIsIDY1LCA2NiwgNzMsIDE5NSwgNjcsIDc0LCAyMDMsIDc3LCAKKyAgICA3NiwgNjksIDg0LCA4NCwgNjksIDIxMCwgODcsIDczLCA4NCwgMjAwLCA4MywgNzMsIDcxLCAyMDYsIDgzLCA4OSwgNzYsIAorICAgIDc2LCA2NSwgNjYsIDc2LCAxOTcsIDgzLCA3NywgNjUsIDc2LCAyMDQsIDY3LCA2NSwgODAsIDczLCA4NCwgNjUsIDIwNCwgCisgICAgNzYsIDY1LCA4NCwgNzMsIDIwNiwgNjUsIDgyLCA2NSwgNjYsIDczLCAxOTUsIDg5LCAyMDEsIDY3LCA3NCwgMjAzLCA3NywgCiAgICAgNjUsIDg0LCA3MiwgNjksIDc3LCA2NSwgODQsIDczLCA2NywgNjUsIDIwNCwgNjksIDcxLCA4OSwgODAsIDg0LCA3MywgNjUsIAotICAgIDIwNiwgNzIsIDczLCA2OSwgODIsIDc5LCA3MSwgNzYsIDg5LCA4MCwgMjAwLCA2NywgNzksIDc3LCA4MCwgNjUsIDg0LCA3MywgCi0gICAgNjYsIDczLCA3NiwgNzMsIDg0LCAyMTcsIDY3LCA4NSwgNzgsIDY5LCA3MywgNzAsIDc5LCA4MiwgMjA1LCA4MywgODksIDc3LCAKLSAgICA2NiwgNzksIDIwNCwgNzAsIDc5LCA4MiwgNzcsIDEyOCwgNjcsIDY1LCA3OCwgNjUsIDY4LCA3MywgNjUsIDIwNiwgODMsIAotICAgIDg5LCA3NiwgNzYsIDY1LCA2NiwgNzMsIDY3LCAyMTEsIDY2LCA2NSwgNzcsIDg1LCAyMDUsIDY4LCA3MywgNzEsIDczLCAKLSAgICAyMTIsIDY1LCA3OCwgMTk2LCA2NiwgNzksIDc2LCAxOTYsIDcyLCA2NSwgNzgsIDcxLCA4NSwgMjA0LCA4NiwgNzksIDg3LCAKLSAgICA2OSwgMjA0LCA3MSwgODIsIDY5LCA2OSwgMjAzLCA3NiwgNzMsIDcxLCA2NSwgODQsIDg1LCA4MiwgMTk3LCA3NywgODUsIAotICAgIDgzLCA3MywgNjcsIDY1LCAyMDQsIDY5LCA4NCwgNzIsIDczLCA3OSwgODAsIDczLCAxOTUsIDg0LCA3MywgNzcsIDY5LCAKLSAgICAyMTEsIDcwLCA3OSwgMjEwLCA3MywgODQsIDY1LCA3NiwgNzMsIDE5NSwgNjcsIDg5LCA4MiwgNzMsIDc2LCA3NiwgNzMsIAotICAgIDE5NSwgODIsIDY1LCA2OCwgNzMsIDY3LCA2NSwgMjA0LCA4MywgNjUsIDc4LCA4MywgNDUsIDgzLCA2OSwgODIsIDczLCAKLSAgICAxOTgsIDg0LCA2NSwgNzcsIDczLCAyMDQsIDY3LCA3MywgODIsIDY3LCA3NiwgNjksIDE5NiwgNjcsIDc5LCA3NywgNjYsIAotICAgIDczLCA3OCwgNzMsIDc4LCAxOTksIDg0LCA2NSwgMjAxLCA3MCwgNzMsIDc4LCA2NSwgMjA0LCA4NiwgNjUsIDIwMSwgODMsIAotICAgIDgxLCA4NSwgNjUsIDgyLCAxOTcsIDc2LCA2OSwgNzAsIDIxMiwgODIsIDczLCA3MSwgNzIsIDIxMiwgODYsIDY1LCA4MiwgCi0gICAgNzMsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDY2LCA4MiwgNjUsIDczLCA3NiwgNzYsIDE5NywgODAsIDY1LCA4NCwgODQsIDY5LCAKLSAgICA4MiwgMjA2LCA2NSwgNjYsIDc5LCA4NiwgNjksIDEyOCwgNjYsIDg5LCA5MCwgNjUsIDc4LCA4NCwgNzMsIDc4LCAxOTcsIAotICAgIDgzLCA3MywgNzEsIDc4LCAxMjgsIDY2LCA2OSwgNzYsIDc5LCA4NywgMTI4LCA2OCwgNzksIDg1LCA2NiwgNzYsIDE5NywgCi0gICAgNzMsIDgzLCA3OSwgNzYsIDY1LCA4NCwgNjksIDE5NiwgNzgsIDg1LCA3NywgNjYsIDY5LCAyMTAsIDc1LCA2NSwgODQsIDY1LCAKLSAgICA3NSwgNjUsIDc4LCAxOTMsIDE5NCwgNzcsIDc5LCA2OCwgNzMsIDcwLCA3MywgNjksIDIxMCwgNjgsIDc5LCAyMTIsIDc1LCAKLSAgICA2NSwgNzgsIDcxLCA4OCwgMjAxLCA2NSwgMTI4LCA3NiwgNzMsIDc4LCA2OSwgNjUsIDIxMCwgODQsIDczLCA2NiwgNjksIAotICAgIDg0LCA2NSwgMjA2LCA3OSwgMTk4LCA3MywgNzgsIDczLCA4NCwgNzMsIDY1LCAyMDQsIDc3LCA2OSwgNjksIDIwNSwgODYsIAotICAgIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDIwNCwgNzcsIDg5LCA2NSwgNzgsIDc3LCA2NSwgMjEwLCA4NSwgMTI4LCA3NSwgCi0gICAgNzIsIDc3LCA2OSwgMjEwLCA4NywgNzIsIDczLCA4NCwgMTk3LCA2NSwgNjYsIDc5LCA4NiwgMTk3LCA2NywgNjUsIDgyLCAKLSAgICA4MiwgNzMsIDY5LCAyMTAsIDczLCAxMjgsIDY1LCA4MiwgODIsIDc5LCA4NywgMTI4LCA4OSwgNjksIDIwMCwgNzksIDEyOCwgCi0gICAgNzcsIDY1LCA4MiwgNzUsIDEyOCwgNjUsIDgyLCA4MiwgNzksIDIxNSwgNjcsIDc5LCA4MCwgODQsIDczLCAxOTUsIDgwLCAKLSAgICA3MiwgNjUsIDgzLCA2OSwgNDUsIDE5NywgNzcsIDc5LCA3OCwgNzEsIDc5LCA3NiwgNzMsIDY1LCAyMDYsIDY4LCA2OSwgODYsIAotICAgIDY1LCA3OCwgNjUsIDcxLCA2NSwgODIsIDIwMSwgNjYsIDc2LCA2NSwgNjcsIDIwMywgODQsIDczLCA3NiwgMTk3LCA4MywgCi0gICAgODksIDc3LCA2NiwgNzksIDc2LCAxMjgsIDgwLCA2NSwgODIsIDY5LCA3OCwgODQsIDcyLCA2OSwgODMsIDczLCA5MCwgNjksIAotICAgIDE5NiwgODQsIDcyLCA2NSwgMjA1LCA3NCwgNzksIDc4LCA3MSwgODMsIDY5LCA3OSwgNzgsIDE5OSwgODMsIDg0LCA4MiwgCi0gICAgNzksIDc1LCA2OSwgMTI4LCA4MywgODEsIDg1LCA2NSwgODIsIDY5LCAxOTYsIDY2LCA3OSwgMjE2LCA3MiwgNjksIDY2LCAKLSAgICA4MiwgNjksIDIxNSwgNzcsIDczLCA2NSwgMjA3LCA4MCwgNzYsIDg1LCAyMTEsIDgyLCA3MywgNzEsIDcyLCA4NCwgODcsIAotICAgIDY1LCA4MiwgNjgsIDIxMSwgNzEsIDY5LCA3OSwgODIsIDcxLCA3MywgNjUsIDIwNiwgNjgsIDgyLCA2NSwgODcsIDczLCA3OCwgCi0gICAgNzEsIDIxMSwgNjcsIDcyLCA3OSwgODMsIDY5LCA3OSwgNzgsIDE5OSwgNzIsIDY1LCA3NiwgNzAsIDg3LCA3MywgNjgsIDg0LCAKLSAgICAyMDAsIDY2LCA2NSwgNzYsIDczLCA3OCwgNjksIDgzLCAxOTcsIDcyLCA3OSwgNzksIDc1LCAxMjgsIDIxMywgODQsIDg3LCAKLSAgICA3OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgMjA1LCA4MCwgNzIsIDY1LCA4MywgNjksIDQ1LCAxOTYsIAotICAgIDY1LCA3NiwgNjcsIDcyLCA2OSwgNzcsIDczLCA2NywgNjUsIDIwNCwgNjUsIDc2LCA2OSwgMTk4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA3MywgMTk1LCA3OSwgNzgsIDY5LCAxMjgsIDg0LCA3OSwgMTI4LCA4NCwgODcsIDIwNywgCi0gICAgNzIsIDY5LCA2NSwgODYsIDIxNywgNzksIDg2LCA2OSwgMjEwLCA2NywgNzksIDc4LCA4MywgNzksIDc4LCA2NSwgNzgsIAotICAgIDIxMiwgNjYsIDgyLCA2NSwgNzIsIDc3LCAyMDEsIDgzLCA2NywgODIsIDczLCA4MCwgMjEyLCA4NSwgMjA4LCA3NiwgNzksIAotICAgIDIxNSwgNzIsIDY1LCAyMDAsIDc5LCA3OCwgMTk3LCA2OCwgNzksIDg3LCAyMDYsIDcyLCA3MywgNzEsIDIwMCwgNzAsIDg1LCAKLSAgICA3NiwgNzYsIDg3LCA3MywgNjgsIDg0LCAyMDAsIDY2LCA4MiwgNjUsIDY3LCA3NSwgNjksIDg0LCAxMjgsIDY5LCA4MSwgODUsIAotICAgIDY1LCAyMDQsIDg0LCA2NSwgMTk5LCA2NiwgNjUsIDgyLCAxMjgsIDY4LCA3OSwgNzcsIDczLCA3OCwgMjA3LCA3OCwgODUsIAotICAgIDc3LCA2OSwgODIsIDczLCAxOTUsIDcwLCA4MiwgNjUsIDc1LCA4NCwgODUsIDIxMCwgODQsIDcyLCA4MiwgNjksIDE5NywgCi0gICAgNjcsIDcyLCA2NSwgODIsIDY1LCA2NywgODQsIDY5LCAyMTAsIDc3LCA2NSwgNzYsIDY1LCA4OSwgNjUsIDc2LCA2NSwgMjA1LCAKLSAgICA4MCwgNzIsIDY1LCA4MywgNjksIDQ1LCAxOTUsIDg0LCA3OSwgNzgsIDE5NywgNjgsIDc5LCA4NSwgNjYsIDc2LCA2OSwgNDUsIAotICAgIDgzLCA4NCwgODIsIDg1LCA2NywgMjAzLCA3NiwgNjksIDcwLCA4NCwgODcsIDY1LCA4MiwgNjgsIDIxMSwgNzIsIDczLCA4MiwgCi0gICAgNjUsIDcxLCA2NSwgNzgsIDE5MywgNjUsIDY3LCA4NSwgODQsIDY5LCAxMjgsIDc0LCA4NSwgNzgsIDcxLCA4MywgNjksIDc5LCAKLSAgICA3OCwgMTk5LCA3MSwgNzYsIDY1LCA3MSwgNzksIDc2LCA3MywgODQsIDczLCAxOTUsIDY2LCA2OSwgNzgsIDcxLCA2NSwgNzYsIAotICAgIDIwMSwgNzcsIDY5LCA2OCwgNzMsIDY1LCAyMDQsIDg0LCA2OSwgNzYsIDg1LCA3MSwgMjEzLCA4NiwgNzksIDY3LCA2NSwgCi0gICAgNzYsIDczLCAxOTUsIDY1LCA4MiwgNzcsIDY5LCA3OCwgNzMsIDY1LCAyMDYsIDc0LCA2OSwgNjksIDIwNSwgNzgsIDY5LCAKLSAgICA3MSwgNjUsIDg0LCA3MywgODYsIDE5NywgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAyMDAsIDc0LCA2NSwgODYsIAotICAgIDY1LCA3OCwgNjksIDgzLCAxOTcsIDc5LCA4MiwgNzMsIDg5LCAxOTMsIDg0LCA3MiwgODIsIDY5LCA2OSwgMTI4LCA4NywgCi0gICAgNjksIDgzLCA4NCwgNDUsIDY3LCA4MiwgNjksIDE5NywgNzAsIDc5LCA4NSwgODIsIDEyOCwgNzIsIDY1LCAxMjgsIDcyLCAKLSAgICA2NSwgNzYsIDE5OCwgNzcsIDY1LCA4MiwgMjAzLCA3NSwgNjUsIDc4LCA3OCwgNjUsIDY4LCAxOTMsIDc4LCA2OSwgMjE1LCAKLSAgICA4MCwgNzIsIDY1LCA4MywgNjksIDQ1LCAxOTMsIDg0LCA3MiwgNjUsIDIwMSwgNjcsIDcyLCA2OSwgODIsIDc5LCA3NSwgNjksIAotICAgIDE5NywgNjgsIDc5LCA4NCwgMjExLCA3MSwgODUsIDc0LCA2NSwgODIsIDY1LCA4NCwgMjAxLCA2NywgNzIsIDY1LCAyMDUsIAotICAgIDc2LCA4NSwgMTk3LCA4MywgNzIsIDY1LCA4MiwgNjUsIDY4LCAxOTMsIDgzLCA3MywgNzgsIDcyLCA2NSwgNzYsIDE5MywgCi0gICAgNzUsIDY1LCAxMjgsIDgyLCA4NSwgNzgsIDczLCAxOTUsIDgzLCA2NSwgODUsIDgyLCA2NSwgODMsIDcyLCA4NCwgODIsIAotICAgIDE5MywgODQsIDY5LCA4NCwgODIsIDY1LCA3MSwgODIsIDY1LCAyMDUsIDY4LCA2OSwgODMsIDY5LCA4MiwgNjksIDIxMiwgCi0gICAgNzIsIDY1LCA3NywgOTAsIDE5MywgODMsIDg5LCA4MiwgNzMsIDY1LCAxOTUsIDg0LCA3MywgNzYsIDY4LCA2OSwgMTI4LCAKLSAgICA3MSwgODUsIDgyLCA3NywgODUsIDc1LCA3MiwgMjAxLCA3NywgNjUsIDEyOCwgNzcsIDY1LCA4OSwgNjksIDIwMywgNzcsIAotICAgIDY5LCA2OSwgODQsIDY5LCAyMDEsIDc4LCA3OSwgODQsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDcwLCA3MywgODYsIDY5LCAKLSAgICAxMjgsIDgwLCA2NSwgMTI4LCA4OSwgNjUsIDEyOCwgNzYsIDczLCA3MSwgNzIsIDIxMiwgODMsIDczLCA4OCwgMTI4LCA2OSwgCi0gICAgNzMsIDcxLCA3MiwgODQsIDEyOCwgNzYsIDY5LCA4MCwgNjcsIDcyLCAxOTMsIDc4LCA2NSwgMTI4LCA4MywgNjksIDg2LCAKLSAgICA2OSwgNzgsIDEyOCwgNzYsIDc5LCA3OCwgMTk5LCA3OCwgNzMsIDc4LCA2OSwgMTI4LCA4NCwgODUsIDgyLCA3NSwgNzMsIAotICAgIDE5NSwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgMjA0LCA3OSwgODAsIDY5LCAyMDYsIDgyLCA2NSwgCi0gICAgMTI4LCA4MywgNjUsIDEyOCwgODMsIDg1LCA3OCwgNjgsIDY1LCA3OCwgNjksIDgzLCAxOTcsIDg2LCA3MywgNjksIDIxMiwgCi0gICAgNzYsIDY1LCAyMDcsIDkwLCA5MCwgODksIDg4LCAxMjgsIDkwLCA5MCwgODksIDg0LCAxMjgsIDkwLCA5MCwgODksIDgyLCAKKyAgICAyMDYsIDcyLCA3MywgNjksIDgyLCA3OSwgNzEsIDc2LCA4OSwgODAsIDIwMCwgNjcsIDg1LCA3OCwgNjksIDczLCA3MCwgNzksIAorICAgIDgyLCAyMDUsIDY3LCA3OSwgNzcsIDgwLCA2NSwgODQsIDczLCA2NiwgNzMsIDc2LCA3MywgODQsIDIxNywgODMsIDg5LCA3NywgCisgICAgNjYsIDc5LCAyMDQsIDcwLCA3OSwgODIsIDc3LCAxMjgsIDY4LCA3MywgNzEsIDczLCAyMTIsIDY3LCA2NSwgNzgsIDY1LCAKKyAgICA2OCwgNzMsIDY1LCAyMDYsIDgzLCA4OSwgNzYsIDc2LCA2NSwgNjYsIDczLCA2NywgMjExLCA2NiwgNjUsIDc3LCA4NSwgCisgICAgMjA1LCA4NiwgNzksIDg3LCA2OSwgMjA0LCA2NSwgNzgsIDE5NiwgNjYsIDc5LCA3NiwgMTk2LCA3MiwgNjUsIDc4LCA3MSwgCisgICAgODUsIDIwNCwgNzYsIDczLCA3OCwgNjksIDY1LCAyMTAsIDcxLCA4MiwgNjksIDY5LCAyMDMsIDc2LCA3MywgNzEsIDY1LCAKKyAgICA4NCwgODUsIDgyLCAxOTcsIDg0LCA3MywgNzcsIDY5LCAyMTEsIDc3LCA4NSwgODMsIDczLCA2NywgNjUsIDIwNCwgNjksIAorICAgIDg0LCA3MiwgNzMsIDc5LCA4MCwgNzMsIDE5NSwgMTkzLCA3MCwgNzksIDIxMCwgNjcsIDg5LCA4MiwgNzMsIDc2LCA3NiwgCisgICAgNzMsIDE5NSwgNzMsIDg0LCA2NSwgNzYsIDczLCAxOTUsIDY3LCA3OSwgNzcsIDY2LCA3MywgNzgsIDczLCA3OCwgMTk5LCAKKyAgICA4MiwgNjUsIDY4LCA3MywgNjcsIDY1LCAyMDQsIDgzLCA2NSwgNzgsIDgzLCA0NSwgODMsIDY5LCA4MiwgNzMsIDE5OCwgNjcsIAorICAgIDczLCA4MiwgNjcsIDc2LCA2OSwgMTk2LCA4NCwgNjUsIDc3LCA3MywgMjA0LCA4NCwgNjUsIDIwMSwgNzAsIDczLCA3OCwgCisgICAgNjUsIDIwNCwgNzgsIDg1LCA3NywgNjYsIDY5LCAyMTAsIDY1LCA4MiwgODIsIDc5LCA4NywgMTI4LCA4NiwgNjUsIDIwMSwgCisgICAgNzYsIDY5LCA3MCwgMjEyLCA4MiwgNzMsIDcxLCA3MiwgMjEyLCA4MywgODEsIDg1LCA2NSwgODIsIDE5NywgNjgsIDc5LCAKKyAgICA4NSwgNjYsIDc2LCAxOTcsIDY1LCA4MiwgODIsIDc5LCAyMTUsIDY1LCA2NiwgNzksIDg2LCA2OSwgMTI4LCA4MywgNzMsIAorICAgIDcxLCA3OCwgMTI4LCA4NiwgNjUsIDgyLCA3MywgNjUsIDg0LCA3MywgNzksIDIwNiwgNjYsIDY5LCA3NiwgNzksIDg3LCAKKyAgICAxMjgsIDY2LCA4MiwgNjUsIDczLCA3NiwgNzYsIDE5NywgODAsIDY1LCA4NCwgODQsIDY5LCA4MiwgMjA2LCA2NiwgODksIAorICAgIDkwLCA2NSwgNzgsIDg0LCA3MywgNzgsIDE5NywgODcsIDcyLCA3MywgODQsIDE5NywgNjYsIDc2LCA2NSwgNjcsIDIwMywgCisgICAgNzMsIDgzLCA3OSwgNzYsIDY1LCA4NCwgNjksIDE5NiwgNjUsIDEyOCwgMTk0LCA3NSwgNjUsIDg0LCA2NSwgNzUsIDY1LCAKKyAgICA3OCwgMTkzLCA3NywgNzksIDY4LCA3MywgNzAsIDczLCA2OSwgMjEwLCA3NywgODksIDY1LCA3OCwgNzcsIDY1LCAyMTAsIAorICAgIDY4LCA3OSwgMjEyLCA3NSwgNjUsIDc4LCA3MSwgODgsIDIwMSwgNzUsIDczLCA3NSwgNjUsIDc1LCA4NSwgMjAxLCA3NywgCisgICAgNjksIDc4LCA2OCwgMTk3LCA4NSwgMTI4LCA4NCwgNzMsIDY2LCA2OSwgODQsIDY1LCAyMDYsIDc5LCAxOTgsIDczLCAxMjgsIAorICAgIDc5LCAxMjgsIDcyLCA2OSwgNjUsIDg2LCAyMTcsIDczLCA3OCwgNzMsIDg0LCA3MywgNjUsIDIwNCwgODYsIDY5LCA4MiwgCisgICAgODQsIDczLCA2NywgNjUsIDIwNCwgNzcsIDY5LCA2OSwgMjA1LCA2NywgNzksIDgwLCA4NCwgNzMsIDE5NSwgNzUsIDcyLCAKKyAgICA3NywgNjksIDIxMCwgNzcsIDY1LCA4MiwgNzUsIDEyOCwgNjUsIDY2LCA3OSwgODYsIDE5NywgNjcsIDY1LCA4MiwgODIsIAorICAgIDczLCA2OSwgMjEwLCA4MiwgNzMsIDcxLCA3MiwgODQsIDg3LCA2NSwgODIsIDY4LCAyMTEsIDg5LCA2OSwgMjAwLCA4MCwgCisgICAgNzIsIDY1LCA4MywgNjksIDQ1LCAxOTcsIDY4LCA2OSwgODYsIDY1LCA3OCwgNjUsIDcxLCA2NSwgODIsIDIwMSwgNzcsIDc5LCAKKyAgICA3OCwgNzEsIDc5LCA3NiwgNzMsIDY1LCAyMDYsIDgzLCA4NCwgODIsIDc5LCA3NSwgNjksIDEyOCwgNzYsIDY5LCA3MCwgODQsIAorICAgIDg3LCA2NSwgODIsIDY4LCAyMTEsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDEyOCwgODQsIDczLCA3NiwgMTk3LCA2OCwgCisgICAgODUsIDgwLCA3NiwgNzksIDg5LCA2NSwgMjA2LCA2NiwgNzksIDIxNiwgODAsIDY1LCA4MiwgNjksIDc4LCA4NCwgNzIsIDY5LCAKKyAgICA4MywgNzMsIDkwLCA2OSwgMTk2LCA4MywgODEsIDg1LCA2NSwgODIsIDY5LCAxOTYsIDg0LCA3MiwgNjUsIDIwNSwgNzQsIAorICAgIDc5LCA3OCwgNzEsIDgzLCA2OSwgNzksIDc4LCAxOTksIDgwLCA3NiwgODUsIDIxMSwgNzksIDc4LCA2OSwgMTI4LCA3MiwgCisgICAgNjksIDY2LCA4MiwgNjksIDIxNSwgNzcsIDczLCA2NSwgMjA3LCA4NCwgODcsIDc5LCAxMjgsIDIxMywgNjcsIDc5LCA3OCwgCisgICAgODMsIDc5LCA3OCwgNjUsIDc4LCAyMTIsIDcxLCA2OSwgNzksIDgyLCA3MSwgNzMsIDY1LCAyMDYsIDcyLCA3OSwgNzksIDc1LCAKKyAgICAxMjgsIDY4LCA4MiwgNjUsIDg3LCA3MywgNzgsIDcxLCAyMTEsIDcyLCA3NywgNzksIDc4LCAxOTksIDgwLCA2NSwgNzIsIAorICAgIDY1LCA4NywgMjAwLCA2NywgNzIsIDc5LCA4MywgNjksIDc5LCA3OCwgMTk5LCA3NiwgNzksIDIxNSwgODYsIDc5LCA2NywgCisgICAgNjUsIDc2LCA3MywgMTk1LCA3MiwgNjUsIDc2LCA3MCwgODcsIDczLCA2OCwgODQsIDIwMCwgNjYsIDY1LCA3NiwgNzMsIDc4LCAKKyAgICA2OSwgODMsIDE5NywgODQsIDg3LCAyMDcsIDc5LCA3OCwgMTk3LCA4NSwgMjA4LCA4MywgNjcsIDgyLCA3MywgODAsIDIxMiwgCisgICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDIwNSwgODAsIDcyLCA2NSwgODMsIDY5LCA0NSwgMTk2LCA4NCwgNzksIAorICAgIDEyOCwgNjUsIDc2LCA2NywgNzIsIDY5LCA3NywgNzMsIDY3LCA2NSwgMjA0LCA2NSwgNzYsIDY5LCAxOTgsIDcyLCA3MywgCisgICAgNzEsIDIwMCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNzMsIDE5NSwgODQsIDcyLCA4MiwgNjksIAorICAgIDE5NywgNjgsIDc5LCA4NywgMjA2LCA3OSwgODYsIDY5LCAyMTAsIDgzLCA3MywgNzgsIDcyLCA2NSwgNzYsIDE5MywgNzgsIAorICAgIDg1LCA3NywgNjksIDgyLCA3MywgMTk1LCA2NiwgNjUsIDgyLCAxMjgsIDg0LCA3OSwgNzgsIDE5NywgNjYsIDgyLCA2NSwgCisgICAgNzIsIDc3LCAyMDEsIDY2LCA2NSwgODIsIDE5NCwgNzAsIDc5LCA4NSwgODIsIDEyOCwgNzIsIDY1LCAyMDAsIDc3LCA2NSwgCisgICAgODIsIDIwMywgODQsIDcyLCA4MiwgNjksIDY5LCAxMjgsIDc4LCA3OSwgODIsIDg0LCAyMDAsIDcwLCA4NSwgNzYsIDc2LCAKKyAgICA4NywgNzMsIDY4LCA4NCwgMjAwLCA2NiwgODIsIDY1LCA2NywgNzUsIDY5LCA4NCwgMTI4LCA2OSwgODEsIDg1LCA2NSwgCisgICAgMjA0LCA3NiwgNzMsIDcxLCA3MiwgMjEyLCA4NCwgNjUsIDE5OSwgNjgsIDc5LCA3NywgNzMsIDc4LCAyMDcsIDc2LCA3OSwgCisgICAgNzgsIDE5OSwgNjUsIDY3LCA4NSwgODQsIDY5LCAxMjgsIDcwLCA4MiwgNjUsIDc1LCA4NCwgODUsIDIxMCwgNzIsIDY1LCAKKyAgICAxMjgsIDc3LCA2NSwgNzYsIDY1LCA4OSwgNjUsIDc2LCA2NSwgMjA1LCA2NywgNzIsIDY1LCA4MiwgNjUsIDY3LCA4NCwgNjksIAorICAgIDIxMCwgODAsIDcyLCA2NSwgODMsIDY5LCA0NSwgMTk1LCA2OCwgNzksIDg1LCA2NiwgNzYsIDY5LCA0NSwgODMsIDg0LCA4MiwgCisgICAgODUsIDY3LCAyMDMsIDcyLCA2NSwgNzYsIDE5OCwgNzIsIDczLCA4MiwgNjUsIDcxLCA2NSwgNzgsIDE5MywgNzQsIDg1LCAKKyAgICA3OCwgNzEsIDgzLCA2OSwgNzksIDc4LCAxOTksIDg0LCA2OSwgNzYsIDg1LCA3MSwgMjEzLCA2NSwgODIsIDc3LCA2OSwgNzgsIAorICAgIDczLCA2NSwgMjA2LCA2NiwgNjksIDc4LCA3MSwgNjUsIDc2LCAyMDEsIDcxLCA3NiwgNjUsIDcxLCA3OSwgNzYsIDczLCA4NCwgCisgICAgNzMsIDE5NSwgODUsIDgwLCA4NywgNjUsIDgyLCA2OCwgMjExLCA3MCwgNzMsIDg2LCA2OSwgMTI4LCA3NywgNjksIDY4LCAKKyAgICA3MywgNjUsIDIwNCwgNzgsIDY5LCA3MSwgNjUsIDg0LCA3MywgODYsIDE5NywgNzQsIDY5LCA2OSwgMjA1LCA3NSwgNjUsIAorICAgIDEyOCwgNjgsIDc5LCA4NywgNzgsIDg3LCA2NSwgODIsIDY4LCAyMTEsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgMjAwLCA3NCwgNjUsIDg2LCA2NSwgNzgsIDY5LCA4MywgMTk3LCA2OCwgNzksIDg0LCAyMTEsIDc5LCA4MiwgNzMsIDg5LCAKKyAgICAxOTMsIDgwLCA2NSwgMTI4LCA4NywgNjksIDgzLCA4NCwgNDUsIDY3LCA4MiwgNjksIDE5NywgODIsIDg1LCA3OCwgNzMsIAorICAgIDE5NSwgODMsIDEyOCwgNzUsIDY1LCA3OCwgNzgsIDY1LCA2OCwgMTkzLCA4MywgNzMsIDg4LCAxMjgsIDc3LCA2NSwgMTI4LCAKKyAgICA3OCwgNjksIDIxNSwgODAsIDcyLCA2NSwgODMsIDY5LCA0NSwgMTkzLCA4MywgNzksIDg1LCA4NCwgMjAwLCA4NCwgNzIsIAorICAgIDY1LCAyMDEsIDg5LCA2NSwgMTI4LCA2NywgNjUsIDgyLCAxOTYsIDY3LCA3MiwgNjksIDgyLCA3OSwgNzUsIDY5LCAxOTcsIAorICAgIDY5LCA3MywgNzEsIDcyLCA4NCwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCAyMDQsIDgzLCA2OSwgCisgICAgODYsIDY5LCA3OCwgMTI4LCA4MywgNzIsIDY1LCA4MiwgNjUsIDY4LCAxOTMsIDY3LCA3MywgODQsIDIwMSwgNzEsIDg1LCAKKyAgICA3NCwgNjUsIDgyLCA2NSwgODQsIDIwMSwgNzgsIDY1LCAxMjgsIDc4LCA3MywgNzgsIDY5LCAxMjgsIDg0LCA4NSwgODIsIAorICAgIDc4LCA2OSwgMTk2LCA4NywgNjUsIDgyLCA2NSwgNzgsIDE5OSwgNjcsIDcyLCA2NSwgMjA1LCA3MSwgODIsIDY1LCA3OCwgCisgICAgODQsIDcyLCAxOTMsIDkwLCA5MCwgODksIDg4LCAxMjgsIDkwLCA5MCwgODksIDg0LCAxMjgsIDkwLCA5MCwgODksIDgyLCAKICAgICA4OCwgMTI4LCA5MCwgOTAsIDg5LCA4MiwgMTI4LCA5MCwgOTAsIDg5LCA4MCwgMTI4LCA5MCwgOTAsIDg5LCA2NSwgMTI4LCAKICAgICA5MCwgOTAsIDg5LCAxMjgsIDkwLCA5MCwgODUsIDg4LCAxMjgsIDkwLCA5MCwgODUsIDgyLCA4OCwgMTI4LCA5MCwgOTAsIAogICAgIDg1LCA4MiwgMTI4LCA5MCwgOTAsIDg1LCA4MCwgMTI4LCA5MCwgOTAsIDg1LCAxMjgsIDkwLCA5MCwgODMsIDg5LCA2NSwgCkBAIC04NCwxODEgKzgzLDE5MiBAQAogICAgIDkwLCA2OSwgODAsIDEyOCwgOTAsIDkwLCA2OSwgNjksIDEyOCwgOTAsIDkwLCA2OSwgMTI4LCA5MCwgOTAsIDY1LCA4OCwgCiAgICAgMTI4LCA5MCwgOTAsIDY1LCA4NCwgMTI4LCA5MCwgOTAsIDY1LCA4MCwgMTI4LCA5MCwgOTAsIDY1LCA2NSwgMTI4LCA5MCwgCiAgICAgOTAsIDY1LCAxMjgsIDkwLCA4OSwgNzEsIDc5LCA4MywgMTI4LCA5MCwgODcsIDgzLCA4MCwgMTI4LCA5MCwgODcsIDc4LCAKLSAgICA3NCwgMTI4LCA5MCwgODcsIDc4LCA2NiwgODMsIDgwLCAxMjgsIDkwLCA4NywgNzQsIDEyOCwgOTAsIDg3LCA2NSwgODIsIAotICAgIDY1LCA3NSwgNjUsIDg5LCAxMjgsIDkwLCA4NywgNjUsIDEyOCwgOTAsIDg1LCA4NCwgMTI4LCA5MCwgODUsIDc5LCA4OCwgCi0gICAgMTI4LCA5MCwgODUsIDc5LCA4MCwgMTI4LCA5MCwgODUsIDc5LCAxMjgsIDkwLCA4NSwgNzcsIDEyOCwgOTAsIDg1LCA2NiwgCi0gICAgODUsIDgyLCAxMjgsIDkwLCA4NSwgNTMsIDEyOCwgOTAsIDg1LCAxODEsIDkwLCA4MywgNzIsIDY1LCAxMjgsIDkwLCA4MiwgCi0gICAgNjUsIDEyOCwgOTAsIDgxLCA2NSwgODAsIDcyLCAxOTMsIDkwLCA3OSwgODQsIDEyOCwgOTAsIDc5LCA3OSwgMTI4LCA5MCwgCi0gICAgNzksIDY1LCAxMjgsIDkwLCA3NiwgNjUsIDc3LCAxOTMsIDkwLCA3NiwgNjUsIDEyOCwgOTAsIDc2LCAxOTMsIDkwLCA3NCwgCi0gICAgNjksIDEyOCwgOTAsIDczLCA5MCwgNTAsIDEyOCwgOTAsIDczLCA4MSwgNjUsIDY1LCAxMjgsIDkwLCA3MywgNzgsIDc5LCAKLSAgICA4MiwgMTI4LCA5MCwgNzMsIDc2LCA2OCwgNjksIDEyOCwgOTAsIDczLCA3MSwgOTAsIDY1LCAxOTksIDkwLCA3MywgNzEsIAotICAgIDEyOCwgOTAsIDczLCA2OCwgMTkzLCA5MCwgNzMsIDY2LCAxMjgsIDkwLCA3MywgMTk0LCA5MCwgNzMsIDUxLCAxMjgsIDkwLCAKLSAgICAyMDEsIDkwLCA3MiwgODksIDg4LCAxMjgsIDkwLCA3MiwgODksIDg0LCAxMjgsIDkwLCA3MiwgODksIDgyLCA4OCwgMTI4LCAKLSAgICA5MCwgNzIsIDg5LCA4MiwgMTI4LCA5MCwgNzIsIDg5LCA4MCwgMTI4LCA5MCwgNzIsIDg5LCAxMjgsIDkwLCA3MiwgODcsIAotICAgIDY5LCAxMjgsIDkwLCA3MiwgODcsIDY1LCAxMjgsIDkwLCA3MiwgODUsIDg4LCAxMjgsIDkwLCA3MiwgODUsIDg0LCAxMjgsIAotICAgIDkwLCA3MiwgODUsIDgyLCA4OCwgMTI4LCA5MCwgNzIsIDg1LCA4MiwgMTI4LCA5MCwgNzIsIDg1LCA4MCwgMTI4LCA5MCwgCi0gICAgNzIsIDg1LCA3OSwgODgsIDEyOCwgOTAsIDcyLCA4NSwgNzksIDgwLCAxMjgsIDkwLCA3MiwgODUsIDc5LCAxMjgsIDkwLCAKLSAgICA3MiwgODUsIDEyOCwgOTAsIDcyLCA3OSwgODgsIDEyOCwgOTAsIDcyLCA3OSwgODQsIDEyOCwgOTAsIDcyLCA3OSwgODAsIAotICAgIDEyOCwgOTAsIDcyLCA3OSwgNzksIDEyOCwgOTAsIDcyLCA3OSwgMTI4LCA5MCwgNzIsIDczLCA4NiwgNjksIDg0LCA2OSwgCi0gICAgMTI4LCA5MCwgNzIsIDczLCAxMjgsIDkwLCA3MiwgNjksIDg4LCAxMjgsIDkwLCA3MiwgNjksIDg0LCAxMjgsIDkwLCA3MiwgCi0gICAgNjksIDgwLCAxMjgsIDkwLCA3MiwgNjksIDY5LCAxMjgsIDkwLCA3MiwgNjksIDEyOCwgOTAsIDcyLCAxOTcsIDkwLCA3MiwgCi0gICAgNjUsIDg4LCAxMjgsIDkwLCA3MiwgNjUsIDg0LCAxMjgsIDkwLCA3MiwgNjUsIDgyLCAxMjgsIDkwLCA3MiwgNjUsIDgwLCAKLSAgICAxMjgsIDkwLCA3MiwgNjUsIDczLCA3OCwgMTI4LCA5MCwgNzIsIDY1LCA2NSwgMTI4LCA5MCwgNzIsIDY1LCAxMjgsIDkwLCAKLSAgICA3MiwgMTI4LCA5MCwgNjksIDg0LCA2NSwgMTI4LCA5MCwgNjksIDgyLCA3OSwgMTI4LCA5MCwgNjksIDgyLCAyMDcsIDkwLCAKLSAgICA2OSwgNzgsIDEyOCwgOTAsIDY5LCA3NywgNzYsIDg5LCA2NSwgMTI4LCA5MCwgNjksIDc3LCA3NiwgNzQsIDY1LCAxMjgsIAotICAgIDkwLCA2OSwgNTAsIDEyOCwgOTAsIDE5NywgOTAsIDY1LCA4OSwgNzgsIDEyOCwgOTAsIDY1LCA4OSwgNzMsIDc4LCAxMjgsIAotICAgIDkwLCA2NSwgODksIDczLCAyMDYsIDkwLCA2NSwgODYsIDczLCA4OSwgNjUsIDc4LCA3MywgMTI4LCA5MCwgNjUsIDg0LCA2NSwgCi0gICAgMTI4LCA5MCwgNjUsIDgyLCA4MSwgNjUsIDEyOCwgOTAsIDY1LCA4MSwgNjksIDE5OCwgOTAsIDY1LCA3NywgODgsIDEyOCwgCi0gICAgOTAsIDY1LCAyMDQsIDkwLCA2NSwgNzMsIDc4LCAxMjgsIDkwLCA2NSwgNzMsIDIwNiwgOTAsIDY1LCA3MywgMTI4LCA5MCwgCi0gICAgNjUsIDcyLCAxMjgsIDkwLCA2NSwgMjAwLCA5MCwgNjUsIDcxLCAxMjgsIDkwLCA2NSwgNjksIDcwLCAxMjgsIDkwLCA0OCwgCi0gICAgNDksIDU0LCA3MiwgMTI4LCA5MCwgNDgsIDQ5LCA1NCwgNzEsIDEyOCwgOTAsIDQ4LCA0OSwgNTQsIDcwLCAxMjgsIDkwLCAKLSAgICA0OCwgNDksIDU0LCA2OSwgMTI4LCA5MCwgNDgsIDQ5LCA1NCwgNjgsIDEyOCwgOTAsIDQ4LCA0OSwgNTQsIDY3LCAxMjgsIAotICAgIDkwLCA0OCwgNDksIDU0LCA2NiwgMTI4LCA5MCwgNDgsIDQ5LCA1NCwgNjUsIDEyOCwgOTAsIDQ4LCA0OSwgNTQsIDEyOCwgCi0gICAgOTAsIDQ4LCA0OSwgNTMsIDczLCAxMjgsIDkwLCA0OCwgNDksIDUzLCA3MiwgMTI4LCA5MCwgNDgsIDQ5LCA1MywgNzEsIAotICAgIDEyOCwgOTAsIDQ4LCA0OSwgNTMsIDcwLCAxMjgsIDkwLCA0OCwgNDksIDUzLCA2OSwgMTI4LCA5MCwgNDgsIDQ5LCA1MywgCi0gICAgNjgsIDEyOCwgOTAsIDQ4LCA0OSwgNTMsIDY3LCAxMjgsIDkwLCA0OCwgNDksIDUzLCA2NiwgMTI4LCA5MCwgNDgsIDQ5LCAKLSAgICA1MywgNjUsIDEyOCwgOTAsIDQ4LCA0OSwgNTMsIDEyOCwgOTAsIDQ4LCA0OSwgNTIsIDEyOCwgOTAsIDQ4LCA0OSwgNTEsIAotICAgIDEyOCwgOTAsIDQ4LCA0OSwgNTAsIDEyOCwgOTAsIDQ4LCA0OSwgNDksIDEyOCwgOTAsIDQ4LCA0OSwgNDgsIDEyOCwgOTAsIAotICAgIDQ4LCA0OCwgNTcsIDEyOCwgOTAsIDQ4LCA0OCwgNTYsIDEyOCwgOTAsIDQ4LCA0OCwgNTUsIDEyOCwgOTAsIDQ4LCA0OCwgCi0gICAgNTQsIDEyOCwgOTAsIDQ4LCA0OCwgNTMsIDY1LCAxMjgsIDkwLCA0OCwgNDgsIDUzLCAxMjgsIDkwLCA0OCwgNDgsIDUyLCAKLSAgICA2NSwgMTI4LCA5MCwgNDgsIDQ4LCA1MiwgMTI4LCA5MCwgNDgsIDQ4LCA1MSwgNjYsIDEyOCwgOTAsIDQ4LCA0OCwgNTEsIAotICAgIDY1LCAxMjgsIDkwLCA0OCwgNDgsIDUxLCAxMjgsIDkwLCA0OCwgNDgsIDUwLCA2OCwgMTI4LCA5MCwgNDgsIDQ4LCA1MCwgCi0gICAgNjcsIDEyOCwgOTAsIDQ4LCA0OCwgNTAsIDY2LCAxMjgsIDkwLCA0OCwgNDgsIDUwLCA2NSwgMTI4LCA5MCwgNDgsIDQ4LCAKLSAgICA1MCwgMTI4LCA5MCwgNDgsIDQ4LCA0OSwgMTI4LCA5MCwgMTI4LCAyMTgsIDg5LCA4OSwgODgsIDEyOCwgODksIDg5LCA4NCwgCi0gICAgMTI4LCA4OSwgODksIDgyLCA4OCwgMTI4LCA4OSwgODksIDgyLCAxMjgsIDg5LCA4OSwgODAsIDEyOCwgODksIDg5LCA2OSwgCi0gICAgMTI4LCA4OSwgODksIDY1LCA2NSwgMTI4LCA4OSwgODksIDY1LCAxMjgsIDg5LCA4OSwgMTI4LCA4OSwgODcsIDc5LCA3OSwgCi0gICAgMTI4LCA4OSwgODcsIDc5LCAxMjgsIDg5LCA4NywgNzMsIDczLCAxMjgsIDg5LCA4NywgNzMsIDEyOCwgODksIDg3LCA2OSwgCi0gICAgMTI4LCA4OSwgODcsIDY1LCA2NSwgMTI4LCA4OSwgODcsIDY1LCAxMjgsIDg5LCA4NiwgMTI4LCA4OSwgODUsIDg4LCAxMjgsIAotICAgIDg5LCA4NSwgODcsIDc5LCA4MSwgMTI4LCA4OSwgODUsIDg1LCA3NSwgNjUsIDc2LCA2OSwgNjUsIDgwLCA3MywgNzgsIDg0LCAKLSAgICA4NSwgMTI4LCA4OSwgODUsIDg1LCAxMjgsIDg5LCA4NSwgODQsIDEyOCwgODksIDg1LCA4MywgMTI4LCA4OSwgODUsIDIxMSwgCi0gICAgODksIDg1LCA4MiwgODgsIDEyOCwgODksIDg1LCA4MiwgMTI4LCA4OSwgODUsIDgxLCAxMjgsIDg5LCA4NSwgMjA5LCA4OSwgCi0gICAgODUsIDgwLCAxMjgsIDg5LCA4NSwgNzksIDg4LCAxMjgsIDg5LCA4NSwgNzksIDg0LCAxMjgsIDg5LCA4NSwgNzksIDgwLCAKLSAgICAxMjgsIDg5LCA4NSwgNzksIDc3LCAxMjgsIDg5LCA4NSwgNzksIDEyOCwgODksIDg1LCA3OCwgMTI4LCA4OSwgODUsIDc3LCAKLSAgICAxMjgsIDg5LCA4NSwgNjksIDgxLCAxMjgsIDg5LCA4NSwgNjksIDEyOCwgODksIDg1LCA2OCwgNzIsIDEyOCwgODksIDg1LCAKLSAgICA2OCwgMjAwLCA4OSwgODUsIDY1LCA3OCwgMTI4LCA4OSwgODUsIDY1LCA2OSwgNzgsIDEyOCwgODksIDg1LCA0NSwgODksIAotICAgIDY5LCA3OSwgMTI4LCA4OSwgODUsIDQ1LCA4OSwgNjksIDEyOCwgODksIDg1LCA0NSwgODUsIDEyOCwgODksIDg1LCA0NSwgCi0gICAgNzksIDEyOCwgODksIDg1LCA0NSwgNzMsIDEyOCwgODksIDg1LCA0NSwgNjksIDc5LCAxMjgsIDg5LCA4NSwgNDUsIDY5LCAKLSAgICAxMjgsIDg5LCA4NSwgNDUsIDY1LCA2OSwgMTI4LCA4OSwgODUsIDQ1LCA2NSwgMTI4LCA4OSwgODUsIDEyOCwgODksIDIxMywgCi0gICAgODksIDgwLCA4MywgNzMsIDc2LCA3MywgMTI4LCA4OSwgODAsIDc5LCA4MiwgODIsIDc5LCA3MywgMTI4LCA4OSwgODAsIDc5LCAKLSAgICA3NSwgODIsIDczLCA4MywgNzMsIDgzLCAxMjgsIDg5LCA4MCwgNzksIDc1LCA4MiwgNzMsIDgzLCA3MywgMjExLCA4OSwgODAsIAotICAgIDc5LCA3MSwgNjksIDcxLCA4MiwgNjUsIDc3LCA3NywgNjksIDc4LCA3MywgMTI4LCA4OSwgNzksIDg5LCAxMjgsIDg5LCA3OSwgCi0gICAgODgsIDEyOCwgODksIDc5LCA4NSwgODQsIDcyLCA3MCwgODUsIDc2LCA3OCwgNjksIDgzLCA4MywgMTI4LCA4OSwgNzksIDg1LCAKLSAgICA4NCwgNzIsIDcwLCA4NSwgMjA0LCA4OSwgNzksIDg0LCAxMjgsIDg5LCA3OSwgODIsIDczLCAxMjgsIDg5LCA3OSwgODEsIAotICAgIDEyOCwgODksIDc5LCAyMDksIDg5LCA3OSwgODAsIDEyOCwgODksIDc5LCA3OSwgMTI4LCA4OSwgNzksIDc3LCA3OSwgMTI4LCAKLSAgICA4OSwgNzksIDcxLCA3MiwgMTI4LCA4OSwgNzksIDY4LCA3MiwgMTI4LCA4OSwgNzksIDY4LCAxMjgsIDg5LCA3OSwgMTk2LCAKLSAgICA4OSwgNzksIDY1LCAxMjgsIDg5LCA3OSwgNDUsIDg5LCA2OSwgNzksIDEyOCwgODksIDc5LCA0NSwgODksIDY1LCA2OSwgCi0gICAgMTI4LCA4OSwgNzksIDQ1LCA4OSwgNjUsIDEyOCwgODksIDc5LCA0NSwgNzksIDEyOCwgODksIDc5LCA0NSwgNzMsIDEyOCwgCi0gICAgODksIDc5LCA0NSwgNjksIDc5LCAxMjgsIDg5LCA3OSwgNDUsIDY1LCA2OSwgMTI4LCA4OSwgNzksIDQ1LCA2NSwgMTI4LCAKLSAgICA4OSwgNzksIDEyOCwgODksIDIwNywgODksIDczLCA5MCwgNjksIDg0LCAxMjgsIDg5LCA3MywgODgsIDEyOCwgODksIDczLCAKLSAgICA4NywgNzgsIDEyOCwgODksIDczLCA4NCwgMTI4LCA4OSwgNzMsIDgwLCAxMjgsIDg5LCA3MywgNzgsIDcxLCAxMjgsIDg5LCAKLSAgICA3MywgNzMsIDEyOCwgODksIDczLCAxOTksIDg5LCA3MywgNjksIDg4LCAxMjgsIDg5LCA3MywgNjksIDg0LCAxMjgsIDg5LCAKLSAgICA3MywgNjksIDgwLCAxMjgsIDg5LCA3MywgNjksIDY5LCAxMjgsIDg5LCA3MywgNjksIDEyOCwgODksIDczLCA2OCwgNjgsIAotICAgIDczLCA4MywgMjAwLCA4OSwgNzMsIDQ1LCA4NSwgMTI4LCA4OSwgNzMsIDEyOCwgODksIDcwLCA2OSwgODMsIDczLCA4MywgCi0gICAgMTI4LCA4OSwgNzAsIDY5LCA4MywgNzMsIDIxMSwgODksIDcwLCA2OSwgMjA2LCA4OSwgNjksIDg5LCAxMjgsIDg5LCA2OSwgCi0gICAgODcsIDEyOCwgODksIDY5LCA4NSwgODgsIDEyOCwgODksIDY5LCA4NSwgODIsIDY1LCA2OSwgMTI4LCA4OSwgNjksIDg1LCAKLSAgICA4MSwgMTI4LCA4OSwgNjksIDg1LCA3NywgMTI4LCA4OSwgNjksIDg1LCA2NSwgNjksIDg0LCAxMjgsIDg5LCA2OSwgODUsIAotICAgIDY1LCA2OSwgMTI4LCA4OSwgNjksIDg0LCA3MywgODYsIDEyOCwgODksIDY5LCA4MywgODQsIDg1LCAxMjgsIDg5LCA2OSwgCi0gICAgODMsIDczLCA2OSwgODUsIDc4LCA3MSwgNDUsIDgzLCA3MywgNzksIDgzLCAxMjgsIDg5LCA2OSwgODMsIDczLCA2OSwgODUsIAotICAgIDc4LCA3MSwgNDUsIDgwLCA2NSwgNzgsIDgzLCA3MywgNzksIDgzLCAxMjgsIDg5LCA2OSwgODMsIDczLCA2OSwgODUsIDc4LCAKLSAgICA3MSwgNDUsIDc3LCA3MywgNjksIDg1LCA3NywgMTI4LCA4OSwgNjksIDgzLCA3MywgNjksIDg1LCA3OCwgNzEsIDQ1LCA3MiwgCi0gICAgNzMsIDY5LCA4NSwgNzIsIDEyOCwgODksIDY5LCA4MywgNzMsIDY5LCA4NSwgNzgsIDcxLCAxMjgsIDg5LCA2OSwgODIsIDg1LCAKLSAgICAxMjgsIDg5LCA2OSwgODIsIDIxMywgODksIDY5LCA4MiwgNzMsIDEyOCwgODksIDY5LCA4MiwgNjUsIDIwMCwgODksIDY5LCAKLSAgICA4MiwgMTI4LCA4OSwgNjksIDc5LCA4MiwgNzMsIDc4LCA3MiwgNzMsIDY5LCA4NSwgNzIsIDEyOCwgODksIDY5LCA3OSwgNDUsIAotICAgIDg5LCA2NSwgMTI4LCA4OSwgNjksIDc5LCA0NSwgODUsIDEyOCwgODksIDY5LCA3OSwgNDUsIDc5LCAxMjgsIDg5LCA2OSwgCi0gICAgNzgsIDczLCA4MywgNjksIDIwMSwgODksIDY5LCA3OCwgNjUsIDgwLCAxMjgsIDg5LCA2OSwgNzgsIDEyOCwgODksIDY5LCAKLSAgICAyMDYsIDg5LCA2OSwgNzYsIDc2LCA3OSwgODcsIDEyOCwgODksIDY5LCA3NiwgNzYsIDc5LCAyMTUsIDg5LCA2OSwgNzIsIAotICAgIDEyOCwgODksIDY5LCA2OSwgMTI4LCA4OSwgNjksIDY1LCAyMTAsIDg5LCA2OSwgNjUsIDEyOCwgODksIDY1LCA5MCwgOTAsIAotICAgIDEyOCwgODksIDY1LCA5MCwgNzIsIDEyOCwgODksIDY1LCA5MCwgMTI4LCA4OSwgNjUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgCi0gICAgMTI4LCA4OSwgNjUsIDg5LCAxMjgsIDg5LCA2NSwgODcsIDEyOCwgODksIDY1LCA4NiwgMTI4LCA4OSwgNjUsIDg1LCAxMjgsIAotICAgIDg5LCA2NSwgODQsIDg0LCAxMjgsIDg5LCA2NSwgODQsIDczLCAxMjgsIDg5LCA2NSwgODQsIDcyLCAxMjgsIDg5LCA2NSwgCi0gICAgODQsIDEyOCwgODksIDY1LCA4MywgODMsIDEyOCwgODksIDY1LCA4MywgNzIsIDEyOCwgODksIDY1LCA4MywgMTI4LCA4OSwgCi0gICAgNjUsIDgyLCA4MiwgMTI4LCA4OSwgNjUsIDgyLCAxMjgsIDg5LCA2NSwgMjEwLCA4OSwgNjUsIDgxLCAxMjgsIDg5LCA2NSwgCi0gICAgODAsIDEyOCwgODksIDY1LCA3OCwgODMsIDY1LCA4OSwgNjUsIDEyOCwgODksIDY1LCA3OCwgNzEsIDEyOCwgODksIDY1LCAKLSAgICA3OCwgMTk5LCA4OSwgNjUsIDc4LCAxMjgsIDg5LCA2NSwgNzcsIDc5LCA3NSwgMTI4LCA4OSwgNjUsIDc3LCA2NSwgNzUsIAotICAgIDc1LCA2NSwgNzgsIDEyOCwgODksIDY1LCA3NywgMTI4LCA4OSwgNjUsIDc2LCAxMjgsIDg5LCA2NSwgNzUsIDcyLCA3MiwgCi0gICAgMTI4LCA4OSwgNjUsIDc1LCA3MiwgMTI4LCA4OSwgNjUsIDc1LCA2NSwgODMsIDcyLCAxMjgsIDg5LCA2NSwgNzUsIDEyOCwgCi0gICAgODksIDY1LCA3NCwgODUsIDgyLCA4NiwgNjksIDY4LCA3MywgMTk1LCA4OSwgNjUsIDc0LCAxMjgsIDg5LCA2NSwgNzMsIAotICAgIDEyOCwgODksIDY1LCA3MiwgNzIsIDEyOCwgODksIDY1LCA3MiwgMTI4LCA4OSwgNjUsIDcxLCA3OCwgMTI4LCA4OSwgNjUsIAotICAgIDcxLCA3MiwgNzIsIDEyOCwgODksIDY1LCA3MSwgNzIsIDEyOCwgODksIDY1LCA3MSwgMTI4LCA4OSwgNjUsIDcwLCAyMTMsIAotICAgIDg5LCA2NSwgNzAsIDEyOCwgODksIDY1LCA2OSwgNzcsIDc3LCA2NSwgNjksIDEyOCwgODksIDY1LCA2OCwgNzIsIDEyOCwgCi0gICAgODksIDY1LCA2OCwgNjgsIDcyLCAxMjgsIDg5LCA2NSwgNjgsIDY4LCAxMjgsIDg5LCA2NSwgNjgsIDEyOCwgODksIDY1LCAKLSAgICA2NywgNzIsIDEyOCwgODksIDY1LCA2NiwgNzIsIDEyOCwgODksIDY1LCA2NiwgMTI4LCA4OSwgNjUsIDY1LCA4MiwgODUsIAotICAgIDEyOCwgODksIDY1LCA2NSwgNzMsIDEyOCwgODksIDY1LCA2NSwgNjgsIDc5LCAxMjgsIDg5LCA2NSwgNDUsIDg5LCA3OSwgCi0gICAgMTI4LCA4OSwgNjUsIDQ1LCA4NSwgMTI4LCA4OSwgNjUsIDQ1LCA3OSwgMTI4LCA4OSwgNDgsIDQ4LCA1NiwgMTI4LCA4OSwgCi0gICAgNDgsIDQ4LCA1NSwgMTI4LCA4OSwgNDgsIDQ4LCA1NCwgMTI4LCA4OSwgNDgsIDQ4LCA1MywgMTI4LCA4OSwgNDgsIDQ4LCAKLSAgICA1MiwgMTI4LCA4OSwgNDgsIDQ4LCA1MSwgMTI4LCA4OSwgNDgsIDQ4LCA1MCwgMTI4LCA4OSwgNDgsIDQ4LCA0OSwgNjUsIAotICAgIDEyOCwgODksIDQ4LCA0OCwgNDksIDEyOCwgODksIDQ1LCA2NywgODIsIDY5LCAxOTcsIDg4LCA4OSwgODgsIDEyOCwgODgsIAotICAgIDg5LCA4NSwgMTI4LCA4OCwgODksIDg0LCAxMjgsIDg4LCA4OSwgODIsIDg4LCAxMjgsIDg4LCA4OSwgODIsIDEyOCwgODgsIAotICAgIDg5LCA4MCwgMTI4LCA4OCwgODksIDc5LCAxMjgsIDg4LCA4OSwgNzMsIDEyOCwgODgsIDg5LCA2OSwgNjksIDEyOCwgODgsIAotICAgIDg5LCA2OSwgMTI4LCA4OCwgODksIDY1LCA2NSwgMTI4LCA4OCwgODksIDY1LCAxMjgsIDg4LCA4OSwgMTI4LCA4OCwgODcsIAotICAgIDczLCAxMjgsIDg4LCA4NywgNjksIDY5LCAxMjgsIDg4LCA4NywgNjksIDEyOCwgODgsIDg3LCA2NSwgNjUsIDEyOCwgODgsIAotICAgIDg3LCA2NSwgMTI4LCA4OCwgODYsIDY5LCAxMjgsIDg4LCA4NiwgNjUsIDEyOCwgODgsIDg1LCA3OSwgODgsIDEyOCwgODgsIAotICAgIDg1LCA3OSwgMTI4LCA4OCwgODUsIDEyOCwgODgsIDgzLCA3MiwgNjUsIDY1LCA4OSwgNjUsIDg0LCA3MiwgNzMsIDg5LCA2NSwgCi0gICAgMTI4LCA4OCwgNzksIDg4LCAxMjgsIDg4LCA3OSwgODQsIDEyOCwgODgsIDc5LCA4MiwgMTI4LCA4OCwgNzksIDgwLCAxMjgsIAotICAgIDg4LCA3OSwgNjUsIDEyOCwgODgsIDc5LCAxMjgsIDg4LCA3MywgODgsIDEyOCwgODgsIDczLCA4NCwgMTI4LCA4OCwgNzMsIAotICAgIDgyLCA3OSwgMjA2LCA4OCwgNzMsIDgwLCAxMjgsIDg4LCA3MywgNjksIDg4LCAxMjgsIDg4LCA3MywgNjksIDg0LCAxMjgsIAotICAgIDg4LCA3MywgNjksIDgwLCAxMjgsIDg4LCA3MywgNjksIDEyOCwgODgsIDczLCAxMjgsIDg4LCA3MSwgMTI4LCA4OCwgNjksIAotICAgIDgzLCA4NCwgNjksIDIxMSwgODgsIDY5LCA3MiwgMTI4LCA4OCwgNjksIDY5LCAxMjgsIDg4LCA2OSwgMTI4LCA4OCwgNjUsIAotICAgIDc4LCAxMjgsIDg4LCA2NSwgNjUsIDEyOCwgODgsIDY1LCAxMjgsIDg4LCA0OCwgNDgsIDU2LCA2NSwgMTI4LCA4OCwgNDgsIAotICAgIDQ4LCA1NiwgMTI4LCA4OCwgNDgsIDQ4LCA1NSwgMTI4LCA4OCwgNDgsIDQ4LCA1NCwgNjUsIDEyOCwgODgsIDQ4LCA0OCwgCi0gICAgNTQsIDEyOCwgODgsIDQ4LCA0OCwgNTMsIDEyOCwgODgsIDQ4LCA0OCwgNTIsIDY2LCAxMjgsIDg4LCA0OCwgNDgsIDUyLCAKLSAgICA2NSwgMTI4LCA4OCwgNDgsIDQ4LCA1MiwgMTI4LCA4OCwgNDgsIDQ4LCA1MSwgMTI4LCA4OCwgNDgsIDQ4LCA1MCwgMTI4LCAKLSAgICA4OCwgNDgsIDQ4LCA0OSwgMTI4LCA4NywgOTAsIDEyOCwgODcsIDg5LCA3OCwgNzgsIDEyOCwgODcsIDg5LCA3OCwgMjA2LCAKLSAgICA4NywgODYsIDEyOCwgODcsIDg1LCA4MCwgMTI4LCA4NywgODUsIDc5LCA4OCwgMTI4LCA4NywgODUsIDc5LCA4MCwgMTI4LCAKLSAgICA4NywgODUsIDc5LCAxMjgsIDg3LCA4NSwgNzgsIDc0LCAyMDcsIDg3LCA4NSwgNzgsIDEyOCwgODcsIDg1LCA3NiwgODUsIAotICAgIDEyOCwgODcsIDg1LCA3NiwgMjEzLCA4NywgODUsIDY5LCAxMjgsIDg3LCA4NSwgNjUsIDY5LCA4NCwgMTI4LCA4NywgODUsIAotICAgIDY1LCA2OSwgNzgsIDEyOCwgODcsIDg1LCAxMjgsIDg3LCA4MiwgMjE3LCA4NywgODIsIDc5LCA3OCwgNzEsIDEyOCwgODcsIAotICAgIDgyLCA3MywgODQsIDczLCA3OCwgMTk5LCA4NywgODIsIDY5LCA3OCwgNjcsIDcyLCAxMjgsIDg3LCA4MiwgNjksIDY1LCA4NCwgCi0gICAgMjAwLCA4NywgODIsIDY1LCA4MCwgODAsIDY5LCAxOTYsIDg3LCA4MiwgNjUsIDgwLCAxMjgsIDg3LCA3OSwgODgsIDEyOCwgCi0gICAgODcsIDc5LCA4MiwgODIsIDczLCA2OSwgMTk2LCA4NywgNzksIDgyLCA3NSwgNjksIDgyLCAxMjgsIDg3LCA3OSwgODIsIDc1LCAKLSAgICAxMjgsIDg3LCA3OSwgODIsIDIwMywgODcsIDc5LCA4MiwgNjgsIDgzLCA4MCwgNjUsIDY3LCA2OSwgMTI4LCA4NywgNzksIAotICAgIDgyLCAxOTYsIDg3LCA3OSwgODAsIDEyOCwgODcsIDc5LCA3OSwgNzgsIDEyOCwgODcsIDc5LCA3OSwgNzYsIDEyOCwgODcsIAotICAgIDc5LCA3OSwgNjgsIDgzLCA0NSwgNjcsIDgyLCA2OSwgMTk3LCA4NywgNzksIDc5LCA2OCwgMTI4LCA4NywgNzksIDc4LCAKLSAgICAxMjgsIDg3LCA3OSwgMjA2LCA4NywgNzksIDc3LCA2OSwgNzgsIDIxMSwgODcsIDc5LCA3NywgNjksIDIwNiwgODcsIDc5LCAKLSAgICA3NywgNjUsIDc4LCAyMTEsIDg3LCA3OSwgNzcsIDY1LCA3OCwgMTI4LCA4NywgNzksIDc3LCA2NSwgMjA2LCA4NywgNzksIAotICAgIDc2LCA3OSwgODMsIDc5LCAxMjgsIDg3LCA3OSwgNzYsIDE5OCwgODcsIDc5LCA2OSwgMTI4LCA4NywgNzksIDY1LCAxMjgsIAotICAgIDg3LCA3MywgODQsIDcyLCA3OSwgODUsIDIxMiwgODcsIDczLCA4NCwgNzIsIDczLCA3OCwgMTI4LCA4NywgNzMsIDc4LCA4NCwgCi0gICAgNjksIDgyLCAxMjgsIDg3LCA3MywgNzgsIDc1LCA3MywgNzgsIDE5OSwgODcsIDczLCA3OCwgNzQsIDY1LCAxMjgsIDg3LCAKLSAgICA3MywgNzgsIDcxLCA4MywgMTI4LCA4NywgNzMsIDc4LCA2OSwgMTI4LCA4NywgNzMsIDc4LCAxOTcsIDg3LCA3MywgNzgsIAotICAgIDY4LCA4NSwgMTI4LCA4NywgNzMsIDc4LCA2OCwgMTI4LCA4NywgNzMsIDc4LCAxOTYsIDg3LCA3MywgNzgsIDEyOCwgODcsIAorICAgIDc0LCAxMjgsIDkwLCA4NywgNzgsIDY2LCA4MywgODAsIDEyOCwgOTAsIDg3LCA3NCwgMTI4LCA5MCwgODcsIDIwMiwgOTAsIAorICAgIDg3LCA2NSwgODIsIDY1LCA3NSwgNjUsIDg5LCAxMjgsIDkwLCA4NywgNjUsIDEyOCwgOTAsIDg1LCA4NCwgMTI4LCA5MCwgCisgICAgODUsIDc5LCA4OCwgMTI4LCA5MCwgODUsIDc5LCA4MCwgMTI4LCA5MCwgODUsIDc5LCAxMjgsIDkwLCA4NSwgNzcsIDEyOCwgCisgICAgOTAsIDg1LCA2NiwgODUsIDgyLCAxMjgsIDkwLCA4NSwgNTMsIDEyOCwgOTAsIDg1LCAxODEsIDkwLCA4MywgNzIsIDY1LCAKKyAgICAxMjgsIDkwLCA4MiwgNjUsIDEyOCwgOTAsIDgxLCA2NSwgODAsIDcyLCAxOTMsIDkwLCA3OSwgODQsIDEyOCwgOTAsIDc5LCAKKyAgICA3OSwgMTI4LCA5MCwgNzksIDY1LCAxMjgsIDkwLCA3NiwgNjUsIDc3LCAxOTMsIDkwLCA3NiwgNjUsIDEyOCwgOTAsIDc2LCAKKyAgICAxOTMsIDkwLCA3NCwgNjksIDEyOCwgOTAsIDczLCA5MCwgNTAsIDEyOCwgOTAsIDczLCA4MSwgNjUsIDY1LCAxMjgsIDkwLCAKKyAgICA3MywgNzgsIDc5LCA4MiwgMTI4LCA5MCwgNzMsIDc2LCA2OCwgNjksIDEyOCwgOTAsIDczLCA3MSwgOTAsIDY1LCAxOTksIAorICAgIDkwLCA3MywgNzEsIDEyOCwgOTAsIDczLCA2OCwgMTkzLCA5MCwgNzMsIDY2LCAxMjgsIDkwLCA3MywgMTk0LCA5MCwgNzMsIAorICAgIDUxLCAxMjgsIDkwLCAyMDEsIDkwLCA3MiwgODksIDg4LCAxMjgsIDkwLCA3MiwgODksIDg0LCAxMjgsIDkwLCA3MiwgODksIAorICAgIDgyLCA4OCwgMTI4LCA5MCwgNzIsIDg5LCA4MiwgMTI4LCA5MCwgNzIsIDg5LCA4MCwgMTI4LCA5MCwgNzIsIDg5LCAxMjgsIAorICAgIDkwLCA3MiwgODcsIDY5LCAxMjgsIDkwLCA3MiwgODcsIDY1LCAxMjgsIDkwLCA3MiwgODUsIDg4LCAxMjgsIDkwLCA3MiwgCisgICAgODUsIDg0LCAxMjgsIDkwLCA3MiwgODUsIDgyLCA4OCwgMTI4LCA5MCwgNzIsIDg1LCA4MiwgMTI4LCA5MCwgNzIsIDg1LCAKKyAgICA4MCwgMTI4LCA5MCwgNzIsIDg1LCA3OSwgODgsIDEyOCwgOTAsIDcyLCA4NSwgNzksIDgwLCAxMjgsIDkwLCA3MiwgODUsIAorICAgIDc5LCAxMjgsIDkwLCA3MiwgODUsIDEyOCwgOTAsIDcyLCA3OSwgODgsIDEyOCwgOTAsIDcyLCA3OSwgODQsIDEyOCwgOTAsIAorICAgIDcyLCA3OSwgODAsIDEyOCwgOTAsIDcyLCA3OSwgNzksIDEyOCwgOTAsIDcyLCA3OSwgNzMsIDEyOCwgOTAsIDcyLCA3OSwgCisgICAgMTI4LCA5MCwgNzIsIDczLCA4NiwgNjksIDg0LCA2OSwgMTI4LCA5MCwgNzIsIDczLCA3NiwgMTI4LCA5MCwgNzIsIDczLCAKKyAgICAxMjgsIDkwLCA3MiwgNjksIDg4LCAxMjgsIDkwLCA3MiwgNjksIDg0LCAxMjgsIDkwLCA3MiwgNjksIDgwLCAxMjgsIDkwLCAKKyAgICA3MiwgNjksIDY5LCAxMjgsIDkwLCA3MiwgNjksIDEyOCwgOTAsIDcyLCAxOTcsIDkwLCA3MiwgNjUsIDg5LCA3MywgNzgsIAorICAgIDEyOCwgOTAsIDcyLCA2NSwgODgsIDEyOCwgOTAsIDcyLCA2NSwgODQsIDEyOCwgOTAsIDcyLCA2NSwgODIsIDEyOCwgOTAsIAorICAgIDcyLCA2NSwgODAsIDEyOCwgOTAsIDcyLCA2NSwgNzMsIDc4LCAxMjgsIDkwLCA3MiwgNjUsIDY1LCAxMjgsIDkwLCA3MiwgCisgICAgNjUsIDEyOCwgOTAsIDcyLCAxMjgsIDkwLCA2OSwgODQsIDY1LCAxMjgsIDkwLCA2OSwgODIsIDc5LCAxMjgsIDkwLCA2OSwgCisgICAgODIsIDIwNywgOTAsIDY5LCA3OCwgMTI4LCA5MCwgNjksIDc3LCA3NiwgODksIDY1LCAxMjgsIDkwLCA2OSwgNzcsIDc2LCAKKyAgICA3NCwgNjUsIDEyOCwgOTAsIDY5LCA1MCwgMTI4LCA5MCwgMTk3LCA5MCwgNjUsIDg5LCA3OCwgMTI4LCA5MCwgNjUsIDg5LCAKKyAgICA3MywgNzgsIDEyOCwgOTAsIDY1LCA4OSwgNzMsIDIwNiwgOTAsIDY1LCA4NiwgNzMsIDg5LCA2NSwgNzgsIDczLCAxMjgsIAorICAgIDkwLCA2NSwgODQsIDY1LCAxMjgsIDkwLCA2NSwgODIsIDgxLCA2NSwgMTI4LCA5MCwgNjUsIDgyLCA3NiwgMTI4LCA5MCwgCisgICAgNjUsIDgxLCA2OSwgMTk4LCA5MCwgNjUsIDc3LCA4OCwgMTI4LCA5MCwgNjUsIDIwNCwgOTAsIDY1LCA3MywgNzgsIDEyOCwgCisgICAgOTAsIDY1LCA3MywgMjA2LCA5MCwgNjUsIDczLCAxMjgsIDkwLCA2NSwgNzIsIDEyOCwgOTAsIDY1LCAyMDAsIDkwLCA2NSwgCisgICAgNzEsIDEyOCwgOTAsIDY1LCA2OSwgNzAsIDEyOCwgOTAsIDE5MywgOTAsIDQ4LCA0OSwgNTQsIDcyLCAxMjgsIDkwLCA0OCwgCisgICAgNDksIDU0LCA3MSwgMTI4LCA5MCwgNDgsIDQ5LCA1NCwgNzAsIDEyOCwgOTAsIDQ4LCA0OSwgNTQsIDY5LCAxMjgsIDkwLCAKKyAgICA0OCwgNDksIDU0LCA2OCwgMTI4LCA5MCwgNDgsIDQ5LCA1NCwgNjcsIDEyOCwgOTAsIDQ4LCA0OSwgNTQsIDY2LCAxMjgsIAorICAgIDkwLCA0OCwgNDksIDU0LCA2NSwgMTI4LCA5MCwgNDgsIDQ5LCA1NCwgMTI4LCA5MCwgNDgsIDQ5LCA1MywgNzMsIDEyOCwgCisgICAgOTAsIDQ4LCA0OSwgNTMsIDcyLCAxMjgsIDkwLCA0OCwgNDksIDUzLCA3MSwgMTI4LCA5MCwgNDgsIDQ5LCA1MywgNzAsIAorICAgIDEyOCwgOTAsIDQ4LCA0OSwgNTMsIDY5LCAxMjgsIDkwLCA0OCwgNDksIDUzLCA2OCwgMTI4LCA5MCwgNDgsIDQ5LCA1MywgCisgICAgNjcsIDEyOCwgOTAsIDQ4LCA0OSwgNTMsIDY2LCAxMjgsIDkwLCA0OCwgNDksIDUzLCA2NSwgMTI4LCA5MCwgNDgsIDQ5LCAKKyAgICA1MywgMTI4LCA5MCwgNDgsIDQ5LCA1MiwgMTI4LCA5MCwgNDgsIDQ5LCA1MSwgMTI4LCA5MCwgNDgsIDQ5LCA1MCwgMTI4LCAKKyAgICA5MCwgNDgsIDQ5LCA0OSwgMTI4LCA5MCwgNDgsIDQ5LCA0OCwgMTI4LCA5MCwgNDgsIDQ4LCA1NywgMTI4LCA5MCwgNDgsIAorICAgIDQ4LCA1NiwgMTI4LCA5MCwgNDgsIDQ4LCA1NSwgMTI4LCA5MCwgNDgsIDQ4LCA1NCwgMTI4LCA5MCwgNDgsIDQ4LCA1MywgCisgICAgNjUsIDEyOCwgOTAsIDQ4LCA0OCwgNTMsIDEyOCwgOTAsIDQ4LCA0OCwgNTIsIDY1LCAxMjgsIDkwLCA0OCwgNDgsIDUyLCAKKyAgICAxMjgsIDkwLCA0OCwgNDgsIDUxLCA2NiwgMTI4LCA5MCwgNDgsIDQ4LCA1MSwgNjUsIDEyOCwgOTAsIDQ4LCA0OCwgNTEsIAorICAgIDEyOCwgOTAsIDQ4LCA0OCwgNTAsIDY4LCAxMjgsIDkwLCA0OCwgNDgsIDUwLCA2NywgMTI4LCA5MCwgNDgsIDQ4LCA1MCwgCisgICAgNjYsIDEyOCwgOTAsIDQ4LCA0OCwgNTAsIDY1LCAxMjgsIDkwLCA0OCwgNDgsIDUwLCAxMjgsIDkwLCA0OCwgNDgsIDQ5LCAKKyAgICAxMjgsIDkwLCAxMjgsIDIxOCwgODksIDg5LCA4OCwgMTI4LCA4OSwgODksIDg0LCAxMjgsIDg5LCA4OSwgODIsIDg4LCAxMjgsIAorICAgIDg5LCA4OSwgODIsIDEyOCwgODksIDg5LCA4MCwgMTI4LCA4OSwgODksIDY5LCAxMjgsIDg5LCA4OSwgNjUsIDY1LCAxMjgsIAorICAgIDg5LCA4OSwgNjUsIDEyOCwgODksIDg5LCAxMjgsIDg5LCA4NywgNzksIDc5LCAxMjgsIDg5LCA4NywgNzksIDEyOCwgODksIAorICAgIDg3LCA3MywgNzMsIDEyOCwgODksIDg3LCA3MywgMTI4LCA4OSwgODcsIDY5LCAxMjgsIDg5LCA4NywgNjUsIDY1LCAxMjgsIAorICAgIDg5LCA4NywgNjUsIDEyOCwgODksIDg2LCAxMjgsIDg5LCA4NSwgODgsIDEyOCwgODksIDg1LCA4NywgNzksIDgxLCAxMjgsIAorICAgIDg5LCA4NSwgODUsIDc1LCA2NSwgNzYsIDY5LCA2NSwgODAsIDczLCA3OCwgODQsIDg1LCAxMjgsIDg5LCA4NSwgODUsIDEyOCwgCisgICAgODksIDg1LCA4NCwgMTI4LCA4OSwgODUsIDgzLCAxMjgsIDg5LCA4NSwgMjExLCA4OSwgODUsIDgyLCA4OCwgMTI4LCA4OSwgCisgICAgODUsIDgyLCAxMjgsIDg5LCA4NSwgODEsIDEyOCwgODksIDg1LCAyMDksIDg5LCA4NSwgODAsIDEyOCwgODksIDg1LCA3OSwgCisgICAgODgsIDEyOCwgODksIDg1LCA3OSwgODQsIDEyOCwgODksIDg1LCA3OSwgODAsIDEyOCwgODksIDg1LCA3OSwgNzcsIDEyOCwgCisgICAgODksIDg1LCA3OSwgMTI4LCA4OSwgODUsIDc4LCAxMjgsIDg5LCA4NSwgNzcsIDEyOCwgODksIDg1LCA3NCwgMTI4LCA4OSwgCisgICAgODUsIDY5LCA4MSwgMTI4LCA4OSwgODUsIDY5LCAxMjgsIDg5LCA4NSwgNjgsIDcyLCAxMjgsIDg5LCA4NSwgNjgsIDIwMCwgCisgICAgODksIDg1LCA2NSwgNzgsIDEyOCwgODksIDg1LCA2NSwgNjksIDc4LCAxMjgsIDg5LCA4NSwgNDUsIDg5LCA2OSwgNzksIAorICAgIDEyOCwgODksIDg1LCA0NSwgODksIDY5LCAxMjgsIDg5LCA4NSwgNDUsIDg1LCAxMjgsIDg5LCA4NSwgNDUsIDc5LCAxMjgsIAorICAgIDg5LCA4NSwgNDUsIDczLCAxMjgsIDg5LCA4NSwgNDUsIDY5LCA3OSwgMTI4LCA4OSwgODUsIDQ1LCA2OSwgMTI4LCA4OSwgCisgICAgODUsIDQ1LCA2NSwgNjksIDEyOCwgODksIDg1LCA0NSwgNjUsIDEyOCwgODksIDg1LCAxMjgsIDg5LCAyMTMsIDg5LCA4MiwgCisgICAgODksIDEyOCwgODksIDgwLCA4MywgNzMsIDc2LCA3MywgMTI4LCA4OSwgODAsIDc5LCA4MiwgODIsIDc5LCA3MywgMTI4LCAKKyAgICA4OSwgODAsIDc5LCA3NSwgODIsIDczLCA4MywgNzMsIDgzLCAxMjgsIDg5LCA4MCwgNzksIDc1LCA4MiwgNzMsIDgzLCA3MywgCisgICAgMjExLCA4OSwgODAsIDc5LCA3MSwgNjksIDcxLCA4MiwgNjUsIDc3LCA3NywgNjksIDc4LCA3MywgMTI4LCA4OSwgNzksIDg5LCAKKyAgICAxMjgsIDg5LCA3OSwgODgsIDEyOCwgODksIDc5LCA4NywgNjgsIDEyOCwgODksIDc5LCA4NSwgODQsIDcyLCA3MCwgODUsIAorICAgIDc2LCA3OCwgNjksIDgzLCA4MywgMTI4LCA4OSwgNzksIDg1LCA4NCwgNzIsIDcwLCA4NSwgMjA0LCA4OSwgNzksIDg0LCAKKyAgICAxMjgsIDg5LCA3OSwgODIsIDczLCAxMjgsIDg5LCA3OSwgODEsIDEyOCwgODksIDc5LCAyMDksIDg5LCA3OSwgODAsIDEyOCwgCisgICAgODksIDc5LCA3OSwgMTI4LCA4OSwgNzksIDc3LCA3OSwgMTI4LCA4OSwgNzksIDcxLCA3MiwgMTI4LCA4OSwgNzksIDY4LCAKKyAgICA3MiwgMTI4LCA4OSwgNzksIDY4LCAxMjgsIDg5LCA3OSwgMTk2LCA4OSwgNzksIDY1LCAxMjgsIDg5LCA3OSwgNDUsIDg5LCAKKyAgICA2OSwgNzksIDEyOCwgODksIDc5LCA0NSwgODksIDY1LCA2OSwgMTI4LCA4OSwgNzksIDQ1LCA4OSwgNjUsIDEyOCwgODksIAorICAgIDc5LCA0NSwgNzksIDEyOCwgODksIDc5LCA0NSwgNzMsIDEyOCwgODksIDc5LCA0NSwgNjksIDc5LCAxMjgsIDg5LCA3OSwgCisgICAgNDUsIDY1LCA2OSwgMTI4LCA4OSwgNzksIDQ1LCA2NSwgMTI4LCA4OSwgNzksIDEyOCwgODksIDIwNywgODksIDczLCA5MCwgCisgICAgNjksIDg0LCAxMjgsIDg5LCA3MywgODgsIDEyOCwgODksIDczLCA4NywgNzgsIDEyOCwgODksIDczLCA4NCwgMTI4LCA4OSwgCisgICAgNzMsIDgwLCAxMjgsIDg5LCA3MywgNzgsIDcxLCAxMjgsIDg5LCA3MywgNzMsIDEyOCwgODksIDczLCAxOTksIDg5LCA3MywgCisgICAgNjksIDg4LCAxMjgsIDg5LCA3MywgNjksIDg0LCAxMjgsIDg5LCA3MywgNjksIDgwLCAxMjgsIDg5LCA3MywgNjksIDY5LCAKKyAgICAxMjgsIDg5LCA3MywgNjksIDEyOCwgODksIDczLCA2OCwgNjgsIDczLCA4MywgMjAwLCA4OSwgNzMsIDQ1LCA4NSwgMTI4LCAKKyAgICA4OSwgNzMsIDEyOCwgODksIDcwLCA2OSwgODMsIDczLCA4MywgMTI4LCA4OSwgNzAsIDY5LCA4MywgNzMsIDIxMSwgODksIAorICAgIDcwLCA2OSwgMjA2LCA4OSwgNjksIDg5LCAxMjgsIDg5LCA2OSwgODcsIDEyOCwgODksIDY5LCA4NSwgODgsIDEyOCwgODksIAorICAgIDY5LCA4NSwgODIsIDY1LCA2OSwgMTI4LCA4OSwgNjksIDg1LCA4MSwgMTI4LCA4OSwgNjksIDg1LCA3NywgMTI4LCA4OSwgCisgICAgNjksIDg1LCA2NSwgNjksIDg0LCAxMjgsIDg5LCA2OSwgODUsIDY1LCA2OSwgMTI4LCA4OSwgNjksIDg0LCA3MywgODYsIAorICAgIDEyOCwgODksIDY5LCA4MywgODQsIDg1LCAxMjgsIDg5LCA2OSwgODMsIDczLCA2OSwgODUsIDc4LCA3MSwgNDUsIDgzLCA3MywgCisgICAgNzksIDgzLCAxMjgsIDg5LCA2OSwgODMsIDczLCA2OSwgODUsIDc4LCA3MSwgNDUsIDgwLCA2NSwgNzgsIDgzLCA3MywgNzksIAorICAgIDgzLCAxMjgsIDg5LCA2OSwgODMsIDczLCA2OSwgODUsIDc4LCA3MSwgNDUsIDc3LCA3MywgNjksIDg1LCA3NywgMTI4LCA4OSwgCisgICAgNjksIDgzLCA3MywgNjksIDg1LCA3OCwgNzEsIDQ1LCA3MiwgNzMsIDY5LCA4NSwgNzIsIDEyOCwgODksIDY5LCA4MywgNzMsIAorICAgIDY5LCA4NSwgNzgsIDcxLCAxMjgsIDg5LCA2OSwgODIsIDg1LCAxMjgsIDg5LCA2OSwgODIsIDIxMywgODksIDY5LCA4MiwgCisgICAgNzMsIDEyOCwgODksIDY5LCA4MiwgNjUsIDIwMCwgODksIDY5LCA4MiwgMTI4LCA4OSwgNjksIDc5LCA4MiwgNzMsIDc4LCAKKyAgICA3MiwgNzMsIDY5LCA4NSwgNzIsIDEyOCwgODksIDY5LCA3OSwgNDUsIDg5LCA2NSwgMTI4LCA4OSwgNjksIDc5LCA0NSwgODUsIAorICAgIDEyOCwgODksIDY5LCA3OSwgNDUsIDc5LCAxMjgsIDg5LCA2OSwgNzgsIDczLCA4MywgNjksIDIwMSwgODksIDY5LCA3OCwgCisgICAgNjUsIDgwLCAxMjgsIDg5LCA2OSwgNzgsIDEyOCwgODksIDY5LCAyMDYsIDg5LCA2OSwgNzYsIDc2LCA3OSwgODcsIDEyOCwgCisgICAgODksIDY5LCA3NiwgNzYsIDc5LCAyMTUsIDg5LCA2OSwgNzMsIDc4LCAxMjgsIDg5LCA2OSwgNzIsIDEyOCwgODksIDY5LCAKKyAgICA2OSwgNzEsIDEyOCwgODksIDY5LCA2OSwgMTI4LCA4OSwgNjksIDY1LCAyMTAsIDg5LCA2OSwgNjUsIDEyOCwgODksIDY1LCAKKyAgICA5MCwgOTAsIDEyOCwgODksIDY1LCA5MCwgNzIsIDEyOCwgODksIDY1LCA5MCwgMTI4LCA4OSwgNjUsIDg5LCA2OCwgMTI4LCAKKyAgICA4OSwgNjUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA4OSwgNjUsIDg5LCAxMjgsIDg5LCA2NSwgODcsIDEyOCwgODksIAorICAgIDY1LCA4NiwgMTI4LCA4OSwgNjUsIDg1LCAxMjgsIDg5LCA2NSwgODQsIDg0LCAxMjgsIDg5LCA2NSwgODQsIDczLCAxMjgsIAorICAgIDg5LCA2NSwgODQsIDcyLCAxMjgsIDg5LCA2NSwgODQsIDEyOCwgODksIDY1LCA4MywgODMsIDEyOCwgODksIDY1LCA4MywgCisgICAgNzIsIDEyOCwgODksIDY1LCA4MywgMTI4LCA4OSwgNjUsIDgyLCA4MiwgMTI4LCA4OSwgNjUsIDgyLCAxMjgsIDg5LCA2NSwgCisgICAgMjEwLCA4OSwgNjUsIDgxLCAxMjgsIDg5LCA2NSwgODAsIDEyOCwgODksIDY1LCA3OCwgODMsIDY1LCA4OSwgNjUsIDEyOCwgCisgICAgODksIDY1LCA3OCwgNzEsIDEyOCwgODksIDY1LCA3OCwgMTk5LCA4OSwgNjUsIDc4LCAxMjgsIDg5LCA2NSwgNzcsIDc5LCAKKyAgICA3NSwgMTI4LCA4OSwgNjUsIDc3LCA2NSwgNzUsIDc1LCA2NSwgNzgsIDEyOCwgODksIDY1LCA3NywgMTI4LCA4OSwgNjUsIAorICAgIDc2LCAxMjgsIDg5LCA2NSwgNzUsIDcyLCA3MiwgMTI4LCA4OSwgNjUsIDc1LCA3MiwgMTI4LCA4OSwgNjUsIDc1LCA2NSwgCisgICAgODMsIDcyLCAxMjgsIDg5LCA2NSwgNzUsIDEyOCwgODksIDY1LCA3NCwgODUsIDgyLCA4NiwgNjksIDY4LCA3MywgMTk1LCAKKyAgICA4OSwgNjUsIDc0LCAxMjgsIDg5LCA2NSwgNzMsIDEyOCwgODksIDY1LCA3MiwgNzIsIDEyOCwgODksIDY1LCA3MiwgMTI4LCAKKyAgICA4OSwgNjUsIDcxLCA3OCwgMTI4LCA4OSwgNjUsIDcxLCA3MiwgNzIsIDEyOCwgODksIDY1LCA3MSwgNzIsIDEyOCwgODksIAorICAgIDY1LCA3MSwgMTI4LCA4OSwgNjUsIDcwLCAyMTMsIDg5LCA2NSwgNzAsIDEyOCwgODksIDY1LCA2OSwgNzcsIDc3LCA2NSwgCisgICAgNjksIDEyOCwgODksIDY1LCA2OCwgNzIsIDEyOCwgODksIDY1LCA2OCwgNjgsIDcyLCAxMjgsIDg5LCA2NSwgNjgsIDY4LCAKKyAgICAxMjgsIDg5LCA2NSwgNjgsIDEyOCwgODksIDY1LCA2NywgNzIsIDEyOCwgODksIDY1LCA2NiwgNzIsIDEyOCwgODksIDY1LCAKKyAgICA2NiwgMTI4LCA4OSwgNjUsIDY1LCA4MiwgODUsIDEyOCwgODksIDY1LCA2NSwgNzMsIDEyOCwgODksIDY1LCA2NSwgNjgsIAorICAgIDc5LCAxMjgsIDg5LCA2NSwgNDUsIDg5LCA3OSwgMTI4LCA4OSwgNjUsIDQ1LCA4NSwgMTI4LCA4OSwgNjUsIDQ1LCA3OSwgCisgICAgMTI4LCA4OSwgNDgsIDQ4LCA1NiwgMTI4LCA4OSwgNDgsIDQ4LCA1NSwgMTI4LCA4OSwgNDgsIDQ4LCA1NCwgMTI4LCA4OSwgCisgICAgNDgsIDQ4LCA1MywgMTI4LCA4OSwgNDgsIDQ4LCA1MiwgMTI4LCA4OSwgNDgsIDQ4LCA1MSwgMTI4LCA4OSwgNDgsIDQ4LCAKKyAgICA1MCwgMTI4LCA4OSwgNDgsIDQ4LCA0OSwgNjUsIDEyOCwgODksIDQ4LCA0OCwgNDksIDEyOCwgODksIDQ1LCA2NywgODIsIAorICAgIDY5LCAxOTcsIDg4LCA4OSwgODgsIDEyOCwgODgsIDg5LCA4NSwgMTI4LCA4OCwgODksIDg0LCAxMjgsIDg4LCA4OSwgODIsIAorICAgIDg4LCAxMjgsIDg4LCA4OSwgODIsIDEyOCwgODgsIDg5LCA4MCwgMTI4LCA4OCwgODksIDc5LCA3OSwgNzQsIDEyOCwgODgsIAorICAgIDg5LCA3OSwgNzksIDEyOCwgODgsIDg5LCA3OSwgMTI4LCA4OCwgODksIDczLCAxMjgsIDg4LCA4OSwgNjksIDY5LCAyMDUsIAorICAgIDg4LCA4OSwgNjksIDY5LCAxMjgsIDg4LCA4OSwgNjksIDEyOCwgODgsIDg5LCA2NSwgNjUsIDEyOCwgODgsIDg5LCA2NSwgCisgICAgMTI4LCA4OCwgODksIDEyOCwgODgsIDg3LCA3MywgMTI4LCA4OCwgODcsIDY5LCA2OSwgMTI4LCA4OCwgODcsIDY5LCAxMjgsIAorICAgIDg4LCA4NywgNjUsIDY1LCAxMjgsIDg4LCA4NywgNjUsIDEyOCwgODgsIDg3LCAxMjgsIDg4LCA4NiwgNjksIDEyOCwgODgsIAorICAgIDg2LCA2NSwgMTI4LCA4OCwgODUsIDc5LCA4OCwgMTI4LCA4OCwgODUsIDc5LCAxMjgsIDg4LCA4NSwgMTI4LCA4OCwgODMsIAorICAgIDcyLCA2NSwgNjUsIDg5LCA2NSwgODQsIDcyLCA3MywgODksIDY1LCAxMjgsIDg4LCA3OSwgODgsIDEyOCwgODgsIDc5LCA4NCwgCisgICAgMTI4LCA4OCwgNzksIDgyLCAxMjgsIDg4LCA3OSwgODAsIDcyLCAxMjgsIDg4LCA3OSwgODAsIDEyOCwgODgsIDc5LCA2NSwgCisgICAgMTI4LCA4OCwgNzksIDEyOCwgODgsIDczLCA4OCwgMTI4LCA4OCwgNzMsIDg0LCAxMjgsIDg4LCA3MywgODIsIDc5LCAyMDYsIAorICAgIDg4LCA3MywgODAsIDEyOCwgODgsIDczLCA2OSwgODgsIDEyOCwgODgsIDczLCA2OSwgODQsIDEyOCwgODgsIDczLCA2OSwgCisgICAgODAsIDEyOCwgODgsIDczLCA2OSwgMTI4LCA4OCwgNzMsIDY1LCA2NiwgMTI4LCA4OCwgNzMsIDEyOCwgODgsIDcxLCAxMjgsIAorICAgIDg4LCA2OSwgODksIDc4LCAxMjgsIDg4LCA2OSwgODMsIDg0LCA2OSwgMjExLCA4OCwgNjksIDcyLCAxMjgsIDg4LCA2OSwgCisgICAgNjksIDEyOCwgODgsIDY5LCAxMjgsIDg4LCA2NSwgODUsIDgzLCAxMjgsIDg4LCA2NSwgODUsIDEyOCwgODgsIDY1LCA4MCwgCisgICAgNzIsIDEyOCwgODgsIDY1LCA3OCwgMTI4LCA4OCwgNjUsIDY1LCAxMjgsIDg4LCA2NSwgMTI4LCA4OCwgNDgsIDQ4LCA1NiwgCisgICAgNjUsIDEyOCwgODgsIDQ4LCA0OCwgNTYsIDEyOCwgODgsIDQ4LCA0OCwgNTUsIDEyOCwgODgsIDQ4LCA0OCwgNTQsIDY1LCAKKyAgICAxMjgsIDg4LCA0OCwgNDgsIDU0LCAxMjgsIDg4LCA0OCwgNDgsIDUzLCAxMjgsIDg4LCA0OCwgNDgsIDUyLCA2NiwgMTI4LCAKKyAgICA4OCwgNDgsIDQ4LCA1MiwgNjUsIDEyOCwgODgsIDQ4LCA0OCwgNTIsIDEyOCwgODgsIDQ4LCA0OCwgNTEsIDEyOCwgODgsIAorICAgIDQ4LCA0OCwgNTAsIDEyOCwgODgsIDQ4LCA0OCwgNDksIDEyOCwgODgsIDQ1LCAyMTYsIDg3LCA5MCwgMTI4LCA4NywgODksIAorICAgIDc4LCA3OCwgMTI4LCA4NywgODksIDc4LCAyMDYsIDg3LCA4NiwgNzMsIDEyOCwgODcsIDg2LCA2OSwgMTI4LCA4NywgODYsIAorICAgIDY1LCAxMjgsIDg3LCA4NiwgMTI4LCA4NywgODUsIDgwLCAxMjgsIDg3LCA4NSwgNzksIDg4LCAxMjgsIDg3LCA4NSwgNzksIAorICAgIDgwLCAxMjgsIDg3LCA4NSwgNzksIDEyOCwgODcsIDg1LCA3OCwgNzQsIDIwNywgODcsIDg1LCA3OCwgMTI4LCA4NywgODUsIAorICAgIDc2LCA4NSwgMTI4LCA4NywgODUsIDc2LCAyMTMsIDg3LCA4NSwgNzMsIDEyOCwgODcsIDg1LCA2OSwgMTI4LCA4NywgODUsIAorICAgIDY1LCA2OSwgODQsIDEyOCwgODcsIDg1LCA2NSwgNjksIDc4LCAxMjgsIDg3LCA4NSwgMTI4LCA4NywgODIsIDIxNywgODcsIAorICAgIDgyLCA3OSwgNzgsIDcxLCAxMjgsIDg3LCA4MiwgNzMsIDg0LCA3MywgNzgsIDE5OSwgODcsIDgyLCA2OSwgNzgsIDY3LCA3MiwgCisgICAgMTI4LCA4NywgODIsIDY5LCA2NSwgODQsIDIwMCwgODcsIDgyLCA2NSwgODAsIDgwLCA2OSwgMTk2LCA4NywgODIsIDY1LCAKKyAgICA4MCwgMTI4LCA4NywgNzksIDg4LCAxMjgsIDg3LCA3OSwgODcsIDEyOCwgODcsIDc5LCA4MiwgODIsIDczLCA2OSwgMTk2LCAKKyAgICA4NywgNzksIDgyLCA3NiwgMTk2LCA4NywgNzksIDgyLCA3NSwgNjksIDgyLCAxMjgsIDg3LCA3OSwgODIsIDc1LCAxMjgsIAorICAgIDg3LCA3OSwgODIsIDIwMywgODcsIDc5LCA4MiwgNjgsIDgzLCA4MCwgNjUsIDY3LCA2OSwgMTI4LCA4NywgNzksIDgyLCAKKyAgICAxOTYsIDg3LCA3OSwgODAsIDEyOCwgODcsIDc5LCA3OSwgNzgsIDEyOCwgODcsIDc5LCA3OSwgNzYsIDEyOCwgODcsIDc5LCAKKyAgICA3OSwgNjgsIDgzLCA0NSwgNjcsIDgyLCA2OSwgMTk3LCA4NywgNzksIDc5LCA2OCwgMTI4LCA4NywgNzksIDc4LCAxMjgsIAorICAgIDg3LCA3OSwgMjA2LCA4NywgNzksIDc3LCA2OSwgNzgsIDIxMSwgODcsIDc5LCA3NywgNjksIDIwNiwgODcsIDc5LCA3NywgCisgICAgNjUsIDc4LCAyMTEsIDg3LCA3OSwgNzcsIDY1LCA3OCwgMTI4LCA4NywgNzksIDc3LCA2NSwgMjA2LCA4NywgNzksIDc2LCAKKyAgICA3OSwgODMsIDc5LCAxMjgsIDg3LCA3OSwgNzYsIDE5OCwgODcsIDc5LCA2OSwgMTI4LCA4NywgNzksIDY1LCAxMjgsIDg3LCAKKyAgICA3MywgODQsIDcyLCA3OSwgODUsIDIxMiwgODcsIDczLCA4NCwgNzIsIDczLCA3OCwgMTI4LCA4NywgNzMsIDg0LCA3MiwgNzMsIAorICAgIDIwNiwgODcsIDczLCA4MiwgNjksIDE5NiwgODcsIDczLCA3OCwgODQsIDY5LCA4MiwgMTI4LCA4NywgNzMsIDc4LCA3NSwgCisgICAgNzMsIDc4LCAxOTksIDg3LCA3MywgNzgsIDc0LCA2NSwgMTI4LCA4NywgNzMsIDc4LCA3MSwgODMsIDEyOCwgODcsIDczLCAKKyAgICA3OCwgNjksIDEyOCwgODcsIDczLCA3OCwgMTk3LCA4NywgNzMsIDc4LCA2OCwgODUsIDEyOCwgODcsIDczLCA3OCwgNjgsIAorICAgIDc5LCA4NywgMTI4LCA4NywgNzMsIDc4LCA2OCwgMTI4LCA4NywgNzMsIDc4LCAxOTYsIDg3LCA3MywgNzgsIDEyOCwgODcsIAogICAgIDczLCA3MSwgNzgsIDg5LCA2NSwgNzgsIDEyOCwgODcsIDczLCA3MSwgNzEsIDc2LCAyMTcsIDg3LCA3MywgNjgsIDY5LCA0NSwgCiAgICAgNzIsIDY5LCA2NSwgNjgsIDY5LCAxOTYsIDg3LCA3MywgNjgsIDE5NywgODcsIDczLCA2NSwgNzgsIDcxLCA4NywgNjUsIDY1LCAKICAgICA3NSwgMTI4LCA4NywgNzMsIDY1LCA3OCwgNzEsIDEyOCwgODcsIDcyLCA3OSwgNzYsIDE5NywgODcsIDcyLCA3MywgODQsIAogICAgIDY5LCA0NSwgNzAsIDY5LCA2NSwgODQsIDcyLCA2OSwgODIsIDY5LCAxOTYsIDg3LCA3MiwgNzMsIDg0LCA2OSwgMTI4LCA4NywgCiAgICAgNzIsIDY5LCA2OSwgNzYsIDY5LCAxOTYsIDg3LCA3MiwgNjksIDY5LCA3NiwgNjcsIDcyLCA2NSwgNzMsIDIxMCwgODcsIDcyLCAKICAgICA2OSwgNjksIDc2LCAxMjgsIDg3LCA3MiwgNjksIDY5LCAyMDQsIDg3LCA3MiwgNjksIDY1LCA4NCwgMTI4LCA4NywgNzIsIAotICAgIDY1LCA3NiwgNjksIDEyOCwgODcsIDcxLCAxMjgsIDg3LCA2OSwgODgsIDEyOCwgODcsIDY5LCA4NSwgODgsIDEyOCwgODcsIAotICAgIDY5LCA4MywgODQsIDY5LCA4MiwgMjA2LCA4NywgNjksIDgzLCA4NCwgMTI4LCA4NywgNjksIDgzLCAyMTIsIDg3LCA2OSwgCi0gICAgODAsIDEyOCwgODcsIDY5LCA3OSwgMTI4LCA4NywgNjksIDc4LCAxMjgsIDg3LCA2OSwgNzYsIDc2LCAxMjgsIDg3LCA2OSwgCi0gICAgNzMsIDcxLCA3MiwgMjEyLCA4NywgNjksIDczLCA2OSwgODIsIDgzLCA4NCwgODIsIDY1LCA4MywgMjExLCA4NywgNjksIDY5LCAKLSAgICA3OCwgMTI4LCA4NywgNjksIDY4LCA3MSwgNjksIDQ1LCA4NCwgNjUsIDczLCA3NiwgNjksIDE5NiwgODcsIDY5LCA2OCwgNjgsIAotICAgIDczLCA3OCwgNzEsIDEyOCwgODcsIDY5LCA2NSwgODIsIDIxNywgODcsIDY5LCA2NSwgODAsIDc5LCA3OCwgMTI4LCA4NywgCi0gICAgNjcsIDEyOCwgODcsIDY2LCAxMjgsIDg3LCA2NSwgODksIDEyOCwgODcsIDY1LCAyMTcsIDg3LCA2NSwgODgsIDczLCA3OCwgCi0gICAgMTk5LCA4NywgNjUsIDg4LCAxMjgsIDg3LCA2NSwgODcsIDQ1LCA2NSwgODksIDczLCA3OCwgNDUsIDgyLCA2OSwgODMsIDcyLCAKLSAgICAxMjgsIDg3LCA2NSwgODcsIDEyOCwgODcsIDY1LCAyMTUsIDg3LCA2NSwgODYsIDIxNywgODcsIDY1LCA4NiwgNzMsIDc4LCAKLSAgICAxOTksIDg3LCA2NSwgODYsIDY5LCA4MywgMTI4LCA4NywgNjUsIDg2LCA2OSwgMTI4LCA4NywgNjUsIDg2LCAxOTcsIDg3LCAKLSAgICA2NSwgODUsIDEyOCwgODcsIDY1LCA4NCwgODQsIDc5LCAxMjgsIDg3LCA2NSwgODQsIDY5LCA4MiwgNzcsIDY5LCA3NiwgNzksIAotICAgIDc4LCAxMjgsIDg3LCA2NSwgODQsIDY5LCA4MiwgMTI4LCA4NywgNjUsIDg0LCA2OSwgMjEwLCA4NywgNjUsIDg0LCA2NywgCi0gICAgNzIsIDEyOCwgODcsIDY1LCA4NCwgMTI4LCA4NywgNjUsIDgzLCA4NCwgNzMsIDc4LCA3MSwgMTI4LCA4NywgNjUsIDgzLCAKLSAgICA4MywgNjUsIDc2LCA3NiwgNjUsIDc3LCAxMjgsIDg3LCA2NSwgODMsIDc2LCA2NSwgMTI4LCA4NywgNjUsIDgzLCA3NiwgCi0gICAgMTkzLCA4NywgNjUsIDgzLCA2NSwgNzYsIDc2LCA2NSwgNzcsIDEyOCwgODcsIDY1LCA4MywgNjUsIDc2LCA3NiwgNjUsIAotICAgIDIwNSwgODcsIDY1LCA4MiwgNzgsIDczLCA3OCwgMTk5LCA4NywgNjUsIDgwLCAxMjgsIDg3LCA2NSwgNzgsIDczLCA3OCwgCi0gICAgMTk5LCA4NywgNjUsIDc4LCA3MSwgNzUsIDg1LCA3OSwgODEsIDEyOCwgODcsIDY1LCA3OCwgNjgsIDY5LCA4MiwgNjksIDgyLCAKLSAgICAxMjgsIDg3LCA2NSwgNzgsIDEyOCwgODcsIDY1LCA3NiwgNzYsIDEyOCwgODcsIDY1LCA3NiwgNzUsIDEyOCwgODcsIDY1LCAKLSAgICA3NiwgMjAzLCA4NywgNjUsIDczLCA4NCwgNzMsIDc4LCA3MSwgMTI4LCA4NywgNjUsIDczLCAxMjgsIDg3LCA2NSwgNjksIAotICAgIDc4LCAxMjgsIDg3LCA2NSwgNjksIDEyOCwgODcsIDY1LCA2NSwgODYsIDg1LCAxMjgsIDg3LCA0OCwgNTAsIDUzLCAxMjgsIAotICAgIDg3LCA0OCwgNTAsIDUyLCA2NSwgMTI4LCA4NywgNDgsIDUwLCA1MiwgMTI4LCA4NywgNDgsIDUwLCA1MSwgMTI4LCA4NywgCi0gICAgNDgsIDUwLCA1MCwgMTI4LCA4NywgNDgsIDUwLCA0OSwgMTI4LCA4NywgNDgsIDUwLCA0OCwgMTI4LCA4NywgNDgsIDQ5LCAKLSAgICA1NywgMTI4LCA4NywgNDgsIDQ5LCA1NiwgNjUsIDEyOCwgODcsIDQ4LCA0OSwgNTYsIDEyOCwgODcsIDQ4LCA0OSwgNTUsIAotICAgIDY1LCAxMjgsIDg3LCA0OCwgNDksIDU1LCAxMjgsIDg3LCA0OCwgNDksIDU0LCAxMjgsIDg3LCA0OCwgNDksIDUzLCAxMjgsIAotICAgIDg3LCA0OCwgNDksIDUyLCA2NSwgMTI4LCA4NywgNDgsIDQ5LCA1MiwgMTI4LCA4NywgNDgsIDQ5LCA1MSwgMTI4LCA4NywgCi0gICAgNDgsIDQ5LCA1MCwgMTI4LCA4NywgNDgsIDQ5LCA0OSwgMTI4LCA4NywgNDgsIDQ5LCA0OCwgNjUsIDEyOCwgODcsIDQ4LCAKLSAgICA0OSwgNDgsIDEyOCwgODcsIDQ4LCA0OCwgNTcsIDY1LCAxMjgsIDg3LCA0OCwgNDgsIDU3LCAxMjgsIDg3LCA0OCwgNDgsIAotICAgIDU2LCAxMjgsIDg3LCA0OCwgNDgsIDU1LCAxMjgsIDg3LCA0OCwgNDgsIDU0LCAxMjgsIDg3LCA0OCwgNDgsIDUzLCAxMjgsIAotICAgIDg3LCA0OCwgNDgsIDUyLCAxMjgsIDg3LCA0OCwgNDgsIDUxLCA2NSwgMTI4LCA4NywgNDgsIDQ4LCA1MSwgMTI4LCA4NywgCi0gICAgNDgsIDQ4LCA1MCwgMTI4LCA4NywgNDgsIDQ4LCA0OSwgMTI4LCA4NiwgOTAsIDc3LCA2OSwgODQsIDEyOCwgODYsIDg5LCAKLSAgICA4OCwgMTI4LCA4NiwgODksIDg0LCAxMjgsIDg2LCA4OSwgODIsIDg4LCAxMjgsIDg2LCA4OSwgODIsIDEyOCwgODYsIDg5LCAKLSAgICA4MCwgMTI4LCA4NiwgODksIDEyOCwgODYsIDg3LCA2NSwgMTI4LCA4NiwgODUsIDg4LCAxMjgsIDg2LCA4NSwgODUsIDEyOCwgCisgICAgNjUsIDc2LCA2OSwgMTI4LCA4NywgNzIsIDEyOCwgODcsIDcxLCAxMjgsIDg3LCA2OSwgODgsIDEyOCwgODcsIDY5LCA4NSwgCisgICAgODgsIDEyOCwgODcsIDY5LCA4MywgODQsIDY5LCA4MiwgMjA2LCA4NywgNjksIDgzLCA4NCwgMTI4LCA4NywgNjksIDgzLCAKKyAgICAyMTIsIDg3LCA2OSwgODAsIDEyOCwgODcsIDY5LCA3OSwgMTI4LCA4NywgNjksIDc4LCAxMjgsIDg3LCA2OSwgNzYsIDc2LCAKKyAgICAxMjgsIDg3LCA2OSwgNzMsIDcxLCA3MiwgMjEyLCA4NywgNjksIDczLCA2OSwgODIsIDgzLCA4NCwgODIsIDY1LCA4MywgCisgICAgMjExLCA4NywgNjksIDczLCAxMjgsIDg3LCA2OSwgNjksIDc4LCAxMjgsIDg3LCA2OSwgNjgsIDcxLCA2OSwgNDUsIDg0LCAKKyAgICA2NSwgNzMsIDc2LCA2OSwgMTk2LCA4NywgNjksIDY4LCA2OCwgNzMsIDc4LCA3MSwgMTI4LCA4NywgNjksIDY2LCAxMjgsIAorICAgIDg3LCA2OSwgNjUsIDgyLCAyMTcsIDg3LCA2OSwgNjUsIDgwLCA3OSwgNzgsIDEyOCwgODcsIDY3LCAxMjgsIDg3LCA2NiwgCisgICAgMTI4LCA4NywgNjUsIDg5LCAxMjgsIDg3LCA2NSwgMjE3LCA4NywgNjUsIDg4LCA3MywgNzgsIDE5OSwgODcsIDY1LCA4OCwgCisgICAgMTI4LCA4NywgNjUsIDg3LCA0NSwgNjUsIDg5LCA3MywgNzgsIDQ1LCA4MiwgNjksIDgzLCA3MiwgMTI4LCA4NywgNjUsIDg3LCAKKyAgICAxMjgsIDg3LCA2NSwgMjE1LCA4NywgNjUsIDg2LCAyMTcsIDg3LCA2NSwgODYsIDczLCA3OCwgMTk5LCA4NywgNjUsIDg2LCAKKyAgICA2OSwgODMsIDEyOCwgODcsIDY1LCA4NiwgNjksIDEyOCwgODcsIDY1LCA4NiwgMTk3LCA4NywgNjUsIDg1LCAxMjgsIDg3LCAKKyAgICA2NSwgODQsIDg0LCA3OSwgMTI4LCA4NywgNjUsIDg0LCA2OSwgODIsIDc3LCA2OSwgNzYsIDc5LCA3OCwgMTI4LCA4NywgNjUsIAorICAgIDg0LCA2OSwgODIsIDEyOCwgODcsIDY1LCA4NCwgNjksIDIxMCwgODcsIDY1LCA4NCwgNjcsIDcyLCAxMjgsIDg3LCA2NSwgCisgICAgODQsIDEyOCwgODcsIDY1LCA4MywgODQsIDczLCA3OCwgNzEsIDEyOCwgODcsIDY1LCA4MywgODQsIDY5LCA2NiwgNjUsIDgzLCAKKyAgICA3NSwgNjksIDg0LCAxMjgsIDg3LCA2NSwgODMsIDgzLCA2NSwgNzYsIDc2LCA2NSwgNzcsIDEyOCwgODcsIDY1LCA4MywgNzYsIAorICAgIDY1LCAxMjgsIDg3LCA2NSwgODMsIDc2LCAxOTMsIDg3LCA2NSwgODMsIDY1LCA3NiwgNzYsIDY1LCA3NywgMTI4LCA4NywgCisgICAgNjUsIDgzLCA2NSwgNzYsIDc2LCA2NSwgMjA1LCA4NywgNjUsIDgyLCA3OCwgNzMsIDc4LCAxOTksIDg3LCA2NSwgODAsIAorICAgIDEyOCwgODcsIDY1LCA3OCwgNzMsIDc4LCAxOTksIDg3LCA2NSwgNzgsIDcxLCA3NSwgODUsIDc5LCA4MSwgMTI4LCA4NywgCisgICAgNjUsIDc4LCA2OCwgNjksIDgyLCA2OSwgODIsIDEyOCwgODcsIDY1LCA3OCwgMTI4LCA4NywgNjUsIDc2LCA3NiwgMTI4LCAKKyAgICA4NywgNjUsIDc2LCA3NSwgMTI4LCA4NywgNjUsIDc2LCAyMDMsIDg3LCA2NSwgNzMsIDg0LCA3MywgNzgsIDcxLCAxMjgsIAorICAgIDg3LCA2NSwgNzMsIDEyOCwgODcsIDY1LCA2OSwgNzgsIDEyOCwgODcsIDY1LCA2OSwgMTI4LCA4NywgNjUsIDY4LCA2OCwgCisgICAgNjUsIDEyOCwgODcsIDY1LCA2NSwgODYsIDg1LCAxMjgsIDg3LCA0OCwgNTAsIDUzLCAxMjgsIDg3LCA0OCwgNTAsIDUyLCAKKyAgICA2NSwgMTI4LCA4NywgNDgsIDUwLCA1MiwgMTI4LCA4NywgNDgsIDUwLCA1MSwgMTI4LCA4NywgNDgsIDUwLCA1MCwgMTI4LCAKKyAgICA4NywgNDgsIDUwLCA0OSwgMTI4LCA4NywgNDgsIDUwLCA0OCwgMTI4LCA4NywgNDgsIDQ5LCA1NywgMTI4LCA4NywgNDgsIAorICAgIDQ5LCA1NiwgNjUsIDEyOCwgODcsIDQ4LCA0OSwgNTYsIDEyOCwgODcsIDQ4LCA0OSwgNTUsIDY1LCAxMjgsIDg3LCA0OCwgCisgICAgNDksIDU1LCAxMjgsIDg3LCA0OCwgNDksIDU0LCAxMjgsIDg3LCA0OCwgNDksIDUzLCAxMjgsIDg3LCA0OCwgNDksIDUyLCAKKyAgICA2NSwgMTI4LCA4NywgNDgsIDQ5LCA1MiwgMTI4LCA4NywgNDgsIDQ5LCA1MSwgMTI4LCA4NywgNDgsIDQ5LCA1MCwgMTI4LCAKKyAgICA4NywgNDgsIDQ5LCA0OSwgMTI4LCA4NywgNDgsIDQ5LCA0OCwgNjUsIDEyOCwgODcsIDQ4LCA0OSwgNDgsIDEyOCwgODcsIAorICAgIDQ4LCA0OCwgNTcsIDY1LCAxMjgsIDg3LCA0OCwgNDgsIDU3LCAxMjgsIDg3LCA0OCwgNDgsIDU2LCAxMjgsIDg3LCA0OCwgCisgICAgNDgsIDU1LCAxMjgsIDg3LCA0OCwgNDgsIDU0LCAxMjgsIDg3LCA0OCwgNDgsIDUzLCAxMjgsIDg3LCA0OCwgNDgsIDUyLCAKKyAgICAxMjgsIDg3LCA0OCwgNDgsIDUxLCA2NSwgMTI4LCA4NywgNDgsIDQ4LCA1MSwgMTI4LCA4NywgNDgsIDQ4LCA1MCwgMTI4LCAKKyAgICA4NywgNDgsIDQ4LCA0OSwgMTI4LCA4NiwgOTAsIDc3LCA2OSwgODQsIDEyOCwgODYsIDg5LCA4OCwgMTI4LCA4NiwgODksIAorICAgIDg0LCAxMjgsIDg2LCA4OSwgODIsIDg4LCAxMjgsIDg2LCA4OSwgODIsIDEyOCwgODYsIDg5LCA4MCwgMTI4LCA4NiwgODksIAorICAgIDEyOCwgODYsIDg3LCA3NCwgMTI4LCA4NiwgODcsIDY1LCAxMjgsIDg2LCA4NSwgODgsIDEyOCwgODYsIDg1LCA4NSwgMTI4LCAKICAgICA4NiwgODUsIDg0LCAxMjgsIDg2LCA4NSwgODIsIDg4LCAxMjgsIDg2LCA4NSwgODIsIDEyOCwgODYsIDg1LCA4MCwgMTI4LCAKICAgICA4NiwgODUsIDc2LCA3MSwgNjUsIDIxMCwgODYsIDg1LCA2OSwgODEsIDEyOCwgODYsIDg0LCA4MywgMTI4LCA4NiwgODQsIAogICAgIDEyOCwgODYsIDgzLCA1NywgNTcsIDEyOCwgODYsIDgzLCA1NywgNTYsIDEyOCwgODYsIDgzLCA1NywgNTUsIDEyOCwgODYsIApAQCAtMzQ3LDIzMiArMzU3LDI1MCBAQAogICAgIDQ4LCA0OSwgMTI4LCA4NiwgODMsIDQ5LCA0OCwgNDgsIDEyOCwgODYsIDgzLCA0OSwgNDgsIDEyOCwgODYsIDgzLCA0OSwgCiAgICAgMTI4LCA4NiwgODMsIDEyOCwgODYsIDgyLCA2NSwgNjcsIDcyLCA4OSwgMTI4LCA4NiwgNzksIDg4LCAxMjgsIDg2LCA3OSwgCiAgICAgODcsIDY5LCA3NiwgNDUsIDY3LCA2NSwgODIsIDgyLCA3MywgNjksIDIxMCwgODYsIDc5LCA4NywgMTI4LCA4NiwgNzksIDg1LCAKLSAgICAxMjgsIDg2LCA3OSwgODQsIDEyOCwgODYsIDc5LCA4MCwgMTI4LCA4NiwgNzksIDc5LCAxMjgsIDg2LCA3OSwgNzcsIDEyOCwgCi0gICAgODYsIDc5LCA3NiwgODUsIDc3LCAxOTcsIDg2LCA3OSwgNzYsIDg0LCA2NSwgNzEsIDE5NywgODYsIDc5LCA3NiwgNjcsIDY1LCAKLSAgICA3OCwgNzksIDEyOCwgODYsIDc5LCA3MywgMTk2LCA4NiwgNzksIDczLCA2NywgNzMsIDc4LCA3MSwgMTI4LCA4NiwgNzksIAotICAgIDczLCA2NywgNjksIDc2LCA2OSwgODMsIDIxMSwgODYsIDc5LCA3MywgNjcsIDY5LCAxOTYsIDg2LCA3OSwgNjcsIDY1LCA3NiwgCi0gICAgNzMsIDkwLCA2NSwgODQsIDczLCA3OSwgMjA2LCA4NiwgNzksIDY3LCA2NSwgMjA0LCA4NiwgNzksIDEyOCwgODYsIDczLCAKLSAgICA4OCwgMTI4LCA4NiwgNzMsIDg0LCA4MiwgNzMsIDc5LCA3NiwgNDUsIDUwLCAxMjgsIDg2LCA3MywgODQsIDgyLCA3MywgNzksIAotICAgIDc2LCAxMjgsIDg2LCA3MywgODQsIDY1LCA2OSwgNDUsIDUwLCAxMjgsIDg2LCA3MywgODQsIDY1LCA2OSwgMTI4LCA4NiwgCi0gICAgNzMsIDg0LCAxMjgsIDg2LCA3MywgODMsIDczLCA3MSwgNzksIDg0LCA3MiwgNzMsIDE5NSwgODYsIDczLCA4MywgNjUsIDgyLCAKLSAgICA3MSwgNjUsIDg5LCA2NSwgMTI4LCA4NiwgNzMsIDgzLCA2NSwgODIsIDcxLCA2NSwgMTI4LCA4NiwgNzMsIDgzLCA2NSwgODIsIAotICAgIDcxLCAxOTMsIDg2LCA3MywgODIsIDczLCA2NSwgNzcsIDEyOCwgODYsIDczLCA4MiwgNzEsIDc5LCAxMjgsIDg2LCA3MywgCi0gICAgODIsIDcxLCA2NSwgMTI4LCA4NiwgNzMsIDgyLCA2NSwgNzcsIDY1LCAxMjgsIDg2LCA3MywgODAsIDEyOCwgODYsIDczLCAKLSAgICA3OSwgNzYsIDczLCA3OCwgMTI4LCA4NiwgNzMsIDc4LCA2OSwgNzEsIDY1LCA4MiwgNDUsIDUxLCAxMjgsIDg2LCA3MywgNzgsIAotICAgIDY5LCA3MSwgNjUsIDgyLCA0NSwgNTAsIDEyOCwgODYsIDczLCA3OCwgNjksIDcxLCA2NSwgODIsIDEyOCwgODYsIDczLCA3OCwgCi0gICAgNjksIDcxLCA2NSwgMjEwLCA4NiwgNzMsIDc4LCA2OSwgMTI4LCA4NiwgNzMsIDc4LCAxMjgsIDg2LCA3MywgNzYsIDc2LCAKLSAgICA2NSwgNzEsIDY5LCAxMjgsIDg2LCA3MywgNzMsIDEyOCwgODYsIDczLCA2OSwgODgsIDEyOCwgODYsIDczLCA2OSwgODcsIAotICAgIDczLCA3OCwgMTk5LCA4NiwgNzMsIDY5LCA4NywgNjgsIDY1LCA4NCwgMTkzLCA4NiwgNzMsIDY5LCA4NCwgMTI4LCA4NiwgCi0gICAgNzMsIDY5LCA4MCwgMTI4LCA4NiwgNzMsIDY5LCAxMjgsIDg2LCA3MywgNjgsIDc0LCA0NSwgNTAsIDEyOCwgODYsIDczLCAKLSAgICA2OCwgNzQsIDEyOCwgODYsIDczLCA2OCwgNjksIDc5LCA2NywgNjUsIDgzLCA4MywgNjksIDg0LCA4NCwgNjksIDEyOCwgODYsIAotICAgIDczLCA2OCwgNjksIDIwNywgODYsIDczLCA2OCwgNjUsIDEyOCwgODYsIDczLCA2NywgODQsIDc5LCA4MiwgMjE3LCA4NiwgCi0gICAgNzMsIDY2LCA4MiwgNjUsIDg0LCA3MywgNzksIDIwNiwgODYsIDczLCAxMjgsIDg2LCA3MCwgNjUsIDEyOCwgODYsIDY5LCAKLSAgICA4OCwgMTI4LCA4NiwgNjksIDg3LCAxMjgsIDg2LCA2OSwgMjE1LCA4NiwgNjksIDg1LCA4OCwgMTI4LCA4NiwgNjksIDg1LCAKLSAgICA3NywgMTI4LCA4NiwgNjksIDg1LCA2NSwgNjksIDgwLCA2OSwgNzgsIDEyOCwgODYsIDY5LCA4NSwgNjUsIDY5LCAxMjgsIAotICAgIDg2LCA2OSwgODMsIDg0LCA2NSwgMTI4LCA4NiwgNjksIDgzLCA4MywgNjksIDIwNCwgODYsIDY5LCA4MiwgMjE3LCA4NiwgCi0gICAgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDc2LCA4OSwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIAotICAgIDc2LCAyMTcsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA1NCwgNDUsIDQ4LCA1NCwgMTI4LCA4NiwgCi0gICAgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTQsIDQ1LCA0OCwgNTMsIDEyOCwgODYsIDY5LCA4MiwgODQsIAotICAgIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDU0LCA0NSwgNDgsIDUyLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCAKLSAgICA3NiwgNDUsIDQ4LCA1NCwgNDUsIDQ4LCA1MSwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgCi0gICAgNTQsIDQ1LCA0OCwgNTAsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDU0LCA0NSwgNDgsIAotICAgIDQ5LCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA1NCwgNDUsIDQ4LCA0OCwgMTI4LCA4NiwgCi0gICAgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTMsIDQ1LCA0OCwgNTQsIDEyOCwgODYsIDY5LCA4MiwgODQsIAotICAgIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUzLCA0NSwgNDgsIDUzLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCAKLSAgICA3NiwgNDUsIDQ4LCA1MywgNDUsIDQ4LCA1MiwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgCi0gICAgNTMsIDQ1LCA0OCwgNTEsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUzLCA0NSwgNDgsIAotICAgIDUwLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA1MywgNDUsIDQ4LCA0OSwgMTI4LCA4NiwgCi0gICAgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTMsIDQ1LCA0OCwgNDgsIDEyOCwgODYsIDY5LCA4MiwgODQsIAotICAgIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUyLCA0NSwgNDgsIDU0LCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCAKLSAgICA3NiwgNDUsIDQ4LCA1MiwgNDUsIDQ4LCA1MywgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgCi0gICAgNTIsIDQ1LCA0OCwgNTIsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUyLCA0NSwgNDgsIAotICAgIDUxLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA1MiwgNDUsIDQ4LCA1MCwgMTI4LCA4NiwgCi0gICAgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTIsIDQ1LCA0OCwgNDksIDEyOCwgODYsIDY5LCA4MiwgODQsIAotICAgIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUyLCA0NSwgNDgsIDQ4LCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCAKLSAgICA3NiwgNDUsIDQ4LCA1MSwgNDUsIDQ4LCA1NCwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgCi0gICAgNTEsIDQ1LCA0OCwgNTMsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUxLCA0NSwgNDgsIAotICAgIDUyLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA1MSwgNDUsIDQ4LCA1MSwgMTI4LCA4NiwgCi0gICAgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTEsIDQ1LCA0OCwgNTAsIDEyOCwgODYsIDY5LCA4MiwgODQsIAotICAgIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUxLCA0NSwgNDgsIDQ5LCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCAKLSAgICA3NiwgNDUsIDQ4LCA1MSwgNDUsIDQ4LCA0OCwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgCi0gICAgNTAsIDQ1LCA0OCwgNTQsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUwLCA0NSwgNDgsIAotICAgIDUzLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA1MCwgNDUsIDQ4LCA1MiwgMTI4LCA4NiwgCi0gICAgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTAsIDQ1LCA0OCwgNTEsIDEyOCwgODYsIDY5LCA4MiwgODQsIAotICAgIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUwLCA0NSwgNDgsIDUwLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCAKLSAgICA3NiwgNDUsIDQ4LCA1MCwgNDUsIDQ4LCA0OSwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgCi0gICAgNTAsIDQ1LCA0OCwgNDgsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDQ5LCA0NSwgNDgsIAotICAgIDU0LCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA0OSwgNDUsIDQ4LCA1MywgMTI4LCA4NiwgCi0gICAgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNDksIDQ1LCA0OCwgNTIsIDEyOCwgODYsIDY5LCA4MiwgODQsIAotICAgIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDQ5LCA0NSwgNDgsIDUxLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCAKLSAgICA3NiwgNDUsIDQ4LCA0OSwgNDUsIDQ4LCA1MCwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgCi0gICAgNDksIDQ1LCA0OCwgNDksIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDQ5LCA0NSwgNDgsIAotICAgIDQ4LCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA0OCwgNDUsIDQ4LCA1NCwgMTI4LCA4NiwgCi0gICAgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNDgsIDQ1LCA0OCwgNTMsIDEyOCwgODYsIDY5LCA4MiwgODQsIAotICAgIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDQ4LCA0NSwgNDgsIDUyLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCAKLSAgICA3NiwgNDUsIDQ4LCA0OCwgNDUsIDQ4LCA1MSwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgCi0gICAgNDgsIDQ1LCA0OCwgNTAsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDQ4LCA0NSwgNDgsIAotICAgIDQ5LCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA0OCwgNDUsIDQ4LCA0OCwgMTI4LCA4NiwgCi0gICAgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDEyOCwgODYsIDY5LCA4MiwgODMsIDczLCA2NywgNzYsIDY5LCAxMjgsIDg2LCAKLSAgICA2OSwgODIsIDgzLCAxOTcsIDg2LCA2OSwgODIsIDcxLCA2OSwgMTI4LCA4NiwgNjksIDgyLCA2OCwgNzMsIDcxLCA4MiwgNzMsIAotICAgIDgzLCAxMjgsIDg2LCA2OSwgODAsIDEyOCwgODYsIDY5LCA3OCwgNjgsIDEyOCwgODYsIDY5LCA3MywgNzYsIDEyOCwgODYsIAorICAgIDEyOCwgODYsIDc5LCA4NCwgMTI4LCA4NiwgNzksIDIxMSwgODYsIDc5LCA4MCwgMTI4LCA4NiwgNzksIDc5LCA3MywgMTI4LCAKKyAgICA4NiwgNzksIDc5LCAxMjgsIDg2LCA3OSwgNzcsIDEyOCwgODYsIDc5LCA3NiwgODUsIDc3LCAxOTcsIDg2LCA3OSwgNzYsIAorICAgIDg0LCA2NSwgNzEsIDE5NywgODYsIDc5LCA3NiwgNjcsIDY1LCA3OCwgNzksIDEyOCwgODYsIDc5LCA3NiwgNjUsIDgwLCA4NSwgCisgICAgMjAzLCA4NiwgNzksIDczLCAxOTYsIDg2LCA3OSwgNzMsIDY3LCA3MywgNzgsIDcxLCAxMjgsIDg2LCA3OSwgNzMsIDY3LCAKKyAgICA2OSwgNzYsIDY5LCA4MywgMjExLCA4NiwgNzksIDczLCA2NywgNjksIDE5NiwgODYsIDc5LCA2NywgNjUsIDc2LCA3MywgOTAsIAorICAgIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDg2LCA3OSwgNjcsIDY1LCAyMDQsIDg2LCA3OSwgMTI4LCA4NiwgNzMsIDg5LCA3OSwgCisgICAgMTI4LCA4NiwgNzMsIDg4LCAxMjgsIDg2LCA3MywgODQsIDgyLCA3MywgNzksIDc2LCA0NSwgNTAsIDEyOCwgODYsIDczLCAKKyAgICA4NCwgODIsIDczLCA3OSwgNzYsIDEyOCwgODYsIDczLCA4NCwgNjUsIDY5LCA0NSwgNTAsIDEyOCwgODYsIDczLCA4NCwgNjUsIAorICAgIDY5LCAxMjgsIDg2LCA3MywgODQsIDEyOCwgODYsIDczLCA4MywgNzMsIDcxLCA3OSwgODQsIDcyLCA3MywgMTk1LCA4NiwgCisgICAgNzMsIDgzLCA2NSwgODIsIDcxLCA2NSwgODksIDY1LCAxMjgsIDg2LCA3MywgODMsIDY1LCA4MiwgNzEsIDY1LCAxMjgsIDg2LCAKKyAgICA3MywgODMsIDY1LCA4MiwgNzEsIDE5MywgODYsIDczLCA4MiwgNzMsIDY1LCA3NywgMTI4LCA4NiwgNzMsIDgyLCA3MSwgNzksIAorICAgIDEyOCwgODYsIDczLCA4MiwgNzEsIDY1LCAxMjgsIDg2LCA3MywgODIsIDY1LCA3NywgNjUsIDEyOCwgODYsIDczLCA4MCwgCisgICAgMTI4LCA4NiwgNzMsIDc5LCA3NiwgNzMsIDc4LCAxMjgsIDg2LCA3MywgNzgsIDY5LCA3MSwgNjUsIDgyLCA0NSwgNTEsIAorICAgIDEyOCwgODYsIDczLCA3OCwgNjksIDcxLCA2NSwgODIsIDQ1LCA1MCwgMTI4LCA4NiwgNzMsIDc4LCA2OSwgNzEsIDY1LCA4MiwgCisgICAgMTI4LCA4NiwgNzMsIDc4LCA2OSwgNzEsIDY1LCAyMTAsIDg2LCA3MywgNzgsIDY5LCAxMjgsIDg2LCA3MywgNzgsIDE5NywgCisgICAgODYsIDczLCA3OCwgMTI4LCA4NiwgNzMsIDc2LCA3NiwgNjUsIDcxLCA2OSwgMTI4LCA4NiwgNzMsIDczLCAxMjgsIDg2LCAKKyAgICA3MywgNjksIDg4LCAxMjgsIDg2LCA3MywgNjksIDg3LCA3MywgNzgsIDE5OSwgODYsIDczLCA2OSwgODcsIDY4LCA2NSwgODQsIAorICAgIDE5MywgODYsIDczLCA2OSwgODQsIDEyOCwgODYsIDczLCA2OSwgMjEyLCA4NiwgNzMsIDY5LCA4MCwgMTI4LCA4NiwgNzMsIAorICAgIDY5LCAxMjgsIDg2LCA3MywgNjgsIDc0LCA0NSwgNTAsIDEyOCwgODYsIDczLCA2OCwgNzQsIDEyOCwgODYsIDczLCA2OCwgCisgICAgNjksIDc5LCA2NywgNjUsIDgzLCA4MywgNjksIDg0LCA4NCwgNjksIDEyOCwgODYsIDczLCA2OCwgNjksIDIwNywgODYsIDczLCAKKyAgICA2OCwgNjUsIDEyOCwgODYsIDczLCA2NywgODQsIDc5LCA4MiwgMjE3LCA4NiwgNzMsIDY2LCA4MiwgNjUsIDg0LCA3MywgNzksIAorICAgIDIwNiwgODYsIDcwLCA2NSwgMTI4LCA4NiwgNjksIDg5LCA5MCwgMTI4LCA4NiwgNjksIDg4LCAxMjgsIDg2LCA2OSwgODcsIAorICAgIDEyOCwgODYsIDY5LCAyMTUsIDg2LCA2OSwgODUsIDg4LCAxMjgsIDg2LCA2OSwgODUsIDc3LCAxMjgsIDg2LCA2OSwgODUsIAorICAgIDY1LCA2OSwgODAsIDY5LCA3OCwgMTI4LCA4NiwgNjksIDg1LCA2NSwgNjksIDEyOCwgODYsIDY5LCA4MywgODQsIDY1LCAKKyAgICAxMjgsIDg2LCA2OSwgODMsIDgzLCA2OSwgMjA0LCA4NiwgNjksIDgyLCAyMTcsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIAorICAgIDY1LCA3NiwgNzYsIDg5LCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNzYsIDIxNywgODYsIDY5LCA4MiwgCisgICAgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDU0LCA0NSwgNDgsIDU0LCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIAorICAgIDY1LCA3NiwgNDUsIDQ4LCA1NCwgNDUsIDQ4LCA1MywgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCAKKyAgICA0OCwgNTQsIDQ1LCA0OCwgNTIsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDU0LCA0NSwgCisgICAgNDgsIDUxLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA1NCwgNDUsIDQ4LCA1MCwgMTI4LCAKKyAgICA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTQsIDQ1LCA0OCwgNDksIDEyOCwgODYsIDY5LCA4MiwgCisgICAgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDU0LCA0NSwgNDgsIDQ4LCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIAorICAgIDY1LCA3NiwgNDUsIDQ4LCA1MywgNDUsIDQ4LCA1NCwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCAKKyAgICA0OCwgNTMsIDQ1LCA0OCwgNTMsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUzLCA0NSwgCisgICAgNDgsIDUyLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA1MywgNDUsIDQ4LCA1MSwgMTI4LCAKKyAgICA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTMsIDQ1LCA0OCwgNTAsIDEyOCwgODYsIDY5LCA4MiwgCisgICAgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUzLCA0NSwgNDgsIDQ5LCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIAorICAgIDY1LCA3NiwgNDUsIDQ4LCA1MywgNDUsIDQ4LCA0OCwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCAKKyAgICA0OCwgNTIsIDQ1LCA0OCwgNTQsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUyLCA0NSwgCisgICAgNDgsIDUzLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA1MiwgNDUsIDQ4LCA1MiwgMTI4LCAKKyAgICA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTIsIDQ1LCA0OCwgNTEsIDEyOCwgODYsIDY5LCA4MiwgCisgICAgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUyLCA0NSwgNDgsIDUwLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIAorICAgIDY1LCA3NiwgNDUsIDQ4LCA1MiwgNDUsIDQ4LCA0OSwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCAKKyAgICA0OCwgNTIsIDQ1LCA0OCwgNDgsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUxLCA0NSwgCisgICAgNDgsIDU0LCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA1MSwgNDUsIDQ4LCA1MywgMTI4LCAKKyAgICA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTEsIDQ1LCA0OCwgNTIsIDEyOCwgODYsIDY5LCA4MiwgCisgICAgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUxLCA0NSwgNDgsIDUxLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIAorICAgIDY1LCA3NiwgNDUsIDQ4LCA1MSwgNDUsIDQ4LCA1MCwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCAKKyAgICA0OCwgNTEsIDQ1LCA0OCwgNDksIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUxLCA0NSwgCisgICAgNDgsIDQ4LCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA1MCwgNDUsIDQ4LCA1NCwgMTI4LCAKKyAgICA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTAsIDQ1LCA0OCwgNTMsIDEyOCwgODYsIDY5LCA4MiwgCisgICAgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUwLCA0NSwgNDgsIDUyLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIAorICAgIDY1LCA3NiwgNDUsIDQ4LCA1MCwgNDUsIDQ4LCA1MSwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCAKKyAgICA0OCwgNTAsIDQ1LCA0OCwgNTAsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUwLCA0NSwgCisgICAgNDgsIDQ5LCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA1MCwgNDUsIDQ4LCA0OCwgMTI4LCAKKyAgICA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNDksIDQ1LCA0OCwgNTQsIDEyOCwgODYsIDY5LCA4MiwgCisgICAgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDQ5LCA0NSwgNDgsIDUzLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIAorICAgIDY1LCA3NiwgNDUsIDQ4LCA0OSwgNDUsIDQ4LCA1MiwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCAKKyAgICA0OCwgNDksIDQ1LCA0OCwgNTEsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDQ5LCA0NSwgCisgICAgNDgsIDUwLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA0OSwgNDUsIDQ4LCA0OSwgMTI4LCAKKyAgICA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNDksIDQ1LCA0OCwgNDgsIDEyOCwgODYsIDY5LCA4MiwgCisgICAgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDQ4LCA0NSwgNDgsIDU0LCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIAorICAgIDY1LCA3NiwgNDUsIDQ4LCA0OCwgNDUsIDQ4LCA1MywgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCAKKyAgICA0OCwgNDgsIDQ1LCA0OCwgNTIsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDQ4LCA0NSwgCisgICAgNDgsIDUxLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA0OCwgNDUsIDQ4LCA1MCwgMTI4LCAKKyAgICA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNDgsIDQ1LCA0OCwgNDksIDEyOCwgODYsIDY5LCA4MiwgCisgICAgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDQ4LCA0NSwgNDgsIDQ4LCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIAorICAgIDY1LCA3NiwgMTI4LCA4NiwgNjksIDgyLCA4MywgNzMsIDY3LCA3NiwgNjksIDEyOCwgODYsIDY5LCA4MiwgODMsIDE5NywgCisgICAgODYsIDY5LCA4MiwgNzEsIDY5LCAxMjgsIDg2LCA2OSwgODIsIDY4LCA3MywgNzEsIDgyLCA3MywgODMsIDEyOCwgODYsIDY5LCAKKyAgICA4MiwgMTI4LCA4NiwgNjksIDgwLCAxMjgsIDg2LCA2OSwgNzgsIDY4LCAxMjgsIDg2LCA2OSwgNzMsIDc2LCAxMjgsIDg2LCAKICAgICA2OSwgNzIsIDczLCA2NywgNzYsIDY5LCAxMjgsIDg2LCA2OSwgNzIsIDEyOCwgODYsIDY5LCAyMDAsIDg2LCA2OSwgNjksIAogICAgIDEyOCwgODYsIDY5LCAxOTcsIDg2LCA2OSwgNjgsIDY5LCAxMjgsIDg2LCA2OSwgNjcsIDg0LCA3OSwgMjEwLCA4NiwgNjUsIAogICAgIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA4NiwgNjUsIDg4LCAxMjgsIDg2LCA2NSwgODYsIDEyOCwgODYsIDY1LCAyMTQsIAogICAgIDg2LCA2NSwgODUsIDEyOCwgODYsIDY1LCA4NCwgNzIsIDg5LCAxMjgsIDg2LCA2NSwgODQsIDEyOCwgODYsIDY1LCA4MywgCiAgICAgODQsIDc4LCA2OSwgODMsIDIxMSwgODYsIDY1LCA4MywgNzMsIDgzLCAxMjgsIDg2LCA2NSwgODIsIDg5LCAyMTEsIDg2LCAKLSAgICA2NSwgODIsIDczLCA3NSwgNjUsIDEyOCwgODYsIDY1LCA4MiwgNzMsIDY1LCA3OCwgMjEyLCA4NiwgNjUsIDgyLCA3MywgNjUsIAotICAgIDEyOCwgODYsIDY1LCA4MiwgNzMsIDE5MywgODYsIDY1LCA4MiwgNjksIDczLCA2NSwgMjAxLCA4NiwgNjUsIDgyLCA2OSwgCi0gICAgNzMsIDE5MywgODYsIDY1LCA4MCwgNzksIDg1LCA4MiwgODMsIDEyOCwgODYsIDY1LCA4MCwgMTI4LCA4NiwgNjUsIDc4LCAKLSAgICA2OSwgMTI4LCA4NiwgNjUsIDc3LCA2NSwgNzEsIDc5LCA3NywgODUsIDc1LCA3MiwgNjUsIDEyOCwgODYsIDY1LCA3NywgNjUsIAotICAgIDcxLCA3OSwgNzcsIDg1LCA3NSwgNzIsIDE5MywgODYsIDY1LCA3NiwgNzYsIDY5LCA4OSwgMTI4LCA4NiwgNjUsIDczLCAKLSAgICAxMjgsIDg2LCA2NSwgNzIsIDEyOCwgODYsIDY1LCA2NSwgODYsIDg1LCAxMjgsIDg2LCA2NSwgNjUsIDEyOCwgODYsIDQ4LCAKLSAgICA1MiwgNDgsIDY1LCAxMjgsIDg2LCA0OCwgNTIsIDQ4LCAxMjgsIDg2LCA0OCwgNTEsIDU3LCAxMjgsIDg2LCA0OCwgNTEsIAotICAgIDU2LCAxMjgsIDg2LCA0OCwgNTEsIDU1LCA2NSwgMTI4LCA4NiwgNDgsIDUxLCA1NSwgMTI4LCA4NiwgNDgsIDUxLCA1NCwgCi0gICAgMTI4LCA4NiwgNDgsIDUxLCA1MywgMTI4LCA4NiwgNDgsIDUxLCA1MiwgMTI4LCA4NiwgNDgsIDUxLCA1MSwgNjUsIDEyOCwgCi0gICAgODYsIDQ4LCA1MSwgNTEsIDEyOCwgODYsIDQ4LCA1MSwgNTAsIDEyOCwgODYsIDQ4LCA1MSwgNDksIDY1LCAxMjgsIDg2LCAKLSAgICA0OCwgNTEsIDQ5LCAxMjgsIDg2LCA0OCwgNTEsIDQ4LCA2NSwgMTI4LCA4NiwgNDgsIDUxLCA0OCwgMTI4LCA4NiwgNDgsIAotICAgIDUwLCA1NywgNjUsIDEyOCwgODYsIDQ4LCA1MCwgNTcsIDEyOCwgODYsIDQ4LCA1MCwgNTYsIDY1LCAxMjgsIDg2LCA0OCwgCi0gICAgNTAsIDU2LCAxMjgsIDg2LCA0OCwgNTAsIDU1LCAxMjgsIDg2LCA0OCwgNTAsIDU0LCAxMjgsIDg2LCA0OCwgNTAsIDUzLCAKLSAgICAxMjgsIDg2LCA0OCwgNTAsIDUyLCAxMjgsIDg2LCA0OCwgNTAsIDUxLCA2NSwgMTI4LCA4NiwgNDgsIDUwLCA1MSwgMTI4LCAKLSAgICA4NiwgNDgsIDUwLCA1MCwgMTI4LCA4NiwgNDgsIDUwLCA0OSwgMTI4LCA4NiwgNDgsIDUwLCA0OCwgNzYsIDEyOCwgODYsIAotICAgIDQ4LCA1MCwgNDgsIDc1LCAxMjgsIDg2LCA0OCwgNTAsIDQ4LCA3NCwgMTI4LCA4NiwgNDgsIDUwLCA0OCwgNzMsIDEyOCwgCi0gICAgODYsIDQ4LCA1MCwgNDgsIDcyLCAxMjgsIDg2LCA0OCwgNTAsIDQ4LCA3MSwgMTI4LCA4NiwgNDgsIDUwLCA0OCwgNzAsIAotICAgIDEyOCwgODYsIDQ4LCA1MCwgNDgsIDY5LCAxMjgsIDg2LCA0OCwgNTAsIDQ4LCA2OCwgMTI4LCA4NiwgNDgsIDUwLCA0OCwgCi0gICAgNjcsIDEyOCwgODYsIDQ4LCA1MCwgNDgsIDY2LCAxMjgsIDg2LCA0OCwgNTAsIDQ4LCA2NSwgMTI4LCA4NiwgNDgsIDUwLCAKLSAgICA0OCwgMTI4LCA4NiwgNDgsIDQ5LCA1NywgMTI4LCA4NiwgNDgsIDQ5LCA1NiwgMTI4LCA4NiwgNDgsIDQ5LCA1NSwgMTI4LCAKLSAgICA4NiwgNDgsIDQ5LCA1NCwgMTI4LCA4NiwgNDgsIDQ5LCA1MywgMTI4LCA4NiwgNDgsIDQ5LCA1MiwgMTI4LCA4NiwgNDgsIAotICAgIDQ5LCA1MSwgMTI4LCA4NiwgNDgsIDQ5LCA1MCwgNjYsIDEyOCwgODYsIDQ4LCA0OSwgNTAsIDY1LCAxMjgsIDg2LCA0OCwgCi0gICAgNDksIDUwLCAxMjgsIDg2LCA0OCwgNDksIDQ5LCA2NywgMTI4LCA4NiwgNDgsIDQ5LCA0OSwgNjYsIDEyOCwgODYsIDQ4LCAKLSAgICA0OSwgNDksIDY1LCAxMjgsIDg2LCA0OCwgNDksIDQ5LCAxMjgsIDg2LCA0OCwgNDksIDQ4LCAxMjgsIDg2LCA0OCwgNDgsIAotICAgIDU3LCAxMjgsIDg2LCA0OCwgNDgsIDU2LCAxMjgsIDg2LCA0OCwgNDgsIDU1LCA2NiwgMTI4LCA4NiwgNDgsIDQ4LCA1NSwgCi0gICAgNjUsIDEyOCwgODYsIDQ4LCA0OCwgNTUsIDEyOCwgODYsIDQ4LCA0OCwgNTQsIDEyOCwgODYsIDQ4LCA0OCwgNTMsIDEyOCwgCi0gICAgODYsIDQ4LCA0OCwgNTIsIDEyOCwgODYsIDQ4LCA0OCwgNTEsIDEyOCwgODYsIDQ4LCA0OCwgNTAsIDY1LCAxMjgsIDg2LCAKLSAgICA0OCwgNDgsIDUwLCAxMjgsIDg2LCA0OCwgNDgsIDQ5LCA3MywgMTI4LCA4NiwgNDgsIDQ4LCA0OSwgNzIsIDEyOCwgODYsIAotICAgIDQ4LCA0OCwgNDksIDcxLCAxMjgsIDg2LCA0OCwgNDgsIDQ5LCA3MCwgMTI4LCA4NiwgNDgsIDQ4LCA0OSwgNjksIDEyOCwgCi0gICAgODYsIDQ4LCA0OCwgNDksIDY4LCAxMjgsIDg2LCA0OCwgNDgsIDQ5LCA2NywgMTI4LCA4NiwgNDgsIDQ4LCA0OSwgNjYsIAotICAgIDEyOCwgODYsIDQ4LCA0OCwgNDksIDY1LCAxMjgsIDg2LCA0OCwgNDgsIDQ5LCAxMjgsIDg1LCA5MCwgODUsIDEyOCwgODUsIAotICAgIDkwLCA1MSwgMTI4LCA4NSwgOTAsIDE3OSwgODUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA4NSwgODksIDEyOCwgODUsIAotICAgIDg1LCA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgODUsIDg1LCA4NSwgODUsIDEyOCwgODUsIDg1LCA4NSwgNTEsIDEyOCwgCi0gICAgODUsIDg1LCA4NSwgNTAsIDEyOCwgODUsIDg1LCA2OSwgMTI4LCA4NSwgODQsIDg1LCA3NSwgNzMsIDEyOCwgODUsIDgzLCAKLSAgICA4MywgODUsIDUxLCAxMjgsIDg1LCA4MywgODMsIDg1LCAxMjgsIDg1LCA4MywgNzIsIDg4LCAxMjgsIDg1LCA4MywgNzIsIAotICAgIDg1LCA3NywgODgsIDEyOCwgODUsIDgzLCA3MiwgNjksIDc4LCA3OCwgNjUsIDEyOCwgODUsIDgzLCA3MiwgNTAsIDEyOCwgCi0gICAgODUsIDgzLCA3MiwgMTI4LCA4NSwgODMsIDIwMCwgODUsIDgzLCA2OSwgMTk2LCA4NSwgODMsIDY5LCA0NSwgNTAsIDEyOCwgCi0gICAgODUsIDgzLCA2OSwgNDUsIDQ5LCAxMjgsIDg1LCA4MywgNjksIDEyOCwgODUsIDgzLCAxOTcsIDg1LCA4MiwgODUsIDIxOCwgCi0gICAgODUsIDgyLCA4NSwgODMsIDEyOCwgODUsIDgyLCA4NSwgNjgsIDY1LCAxMjgsIDg1LCA4MiwgODUsIDY4LCAxOTMsIDg1LCAKLSAgICA4MiwgODUsIDEyOCwgODUsIDgyLCAyMTMsIDg1LCA4MiwgNzgsIDEyOCwgODUsIDgyLCA3MywgNzgsIDY5LCAxMjgsIDg1LCAKLSAgICA4MiwgNzMsIDUxLCAxMjgsIDg1LCA4MiwgNzMsIDEyOCwgODUsIDgyLCA2NSwgNzgsIDg1LCA4MywgMTI4LCA4NSwgODIsIAotICAgIDY1LCAxMjgsIDg1LCA4MiwgNTIsIDEyOCwgODUsIDgyLCA1MCwgMTI4LCA4NSwgODIsIDE3OCwgODUsIDgwLCA4NywgNjUsIAotICAgIDgyLCA2OCwgODMsIDEyOCwgODUsIDgwLCA4NywgNjUsIDgyLCA2OCwgMjExLCA4NSwgODAsIDg3LCA2NSwgODIsIDY4LCAKLSAgICAxMjgsIDg1LCA4MCwgODcsIDY1LCA4MiwgMTk2LCA4NSwgODAsIDg0LCA4NSwgODIsIDc4LCAxMjgsIDg1LCA4MCwgODMsIAotICAgIDczLCA3NiwgNzksIDc4LCAxMjgsIDg1LCA4MCwgODMsIDczLCA3NiwgNzksIDIwNiwgODUsIDgwLCA4MiwgNzMsIDcxLCA3MiwgCi0gICAgMjEyLCA4NSwgODAsIDgwLCA2OSwgMjEwLCA4NSwgODAsIDY1LCA2OCwgNzIsIDc3LCA2NSwgNzgsIDczLCA4OSwgNjUsIAotICAgIDEyOCwgODUsIDgwLCA0NSwgODAsIDc5LCA3MywgNzgsIDg0LCA3MywgNzgsIDE5OSwgODUsIDc5LCA3OCwgMTI4LCA4NSwgCi0gICAgNzgsIDc4LCAxMjgsIDg1LCA3OCwgNzcsIDY1LCA4MiwgODIsIDczLCA2OSwgMTk2LCA4NSwgNzgsIDc1LCA3OCwgNzksIDg3LCAKLSAgICA3OCwgMTI4LCA4NSwgNzgsIDczLCA4NiwgNjksIDgyLCA4MywgNjUsIDIwNCwgODUsIDc4LCA3MywgODQsIDg5LCAxMjgsIAotICAgIDg1LCA3OCwgNzMsIDg0LCAxMjgsIDg1LCA3OCwgNzMsIDIxMiwgODUsIDc4LCA3MywgNzksIDc4LCAxMjgsIDg1LCA3OCwgCi0gICAgNzMsIDc5LCAyMDYsIDg1LCA3OCwgNzMsIDcwLCA3MywgNjksIDE5NiwgODUsIDc4LCA2OCwgMjA3LCA4NSwgNzgsIDY4LCAKLSAgICA2OSwgODIsIDg0LCA3MywgNjksIDEyOCwgODUsIDc4LCA2OCwgNjksIDgyLCA3NiwgNzMsIDc4LCAxOTcsIDg1LCA3OCwgNjgsIAotICAgIDY5LCA4MiwgNjgsIDc5LCA4NCwgMTI4LCA4NSwgNzgsIDY4LCA2OSwgODIsIDY2LCA2NSwgODIsIDEyOCwgODUsIDc4LCA2OCwgCi0gICAgNjksIDIxMCwgODUsIDc4LCA2NywgNzMsIDE5MywgODUsIDc4LCA2NSwgODMsIDgwLCA3MywgODIsIDY1LCA4NCwgNjksIDY4LCAKLSAgICAxMjgsIDg1LCA3OCwgNjUsIDgwLCAxMjgsIDg1LCA3OCwgNjUsIDc3LCA4NSwgODMsIDY5LCAxOTYsIDg1LCA3OCwgNjUsIAotICAgIDEyOCwgODUsIDIwNiwgODUsIDc3LCA4NSwgNzcsIDEyOCwgODUsIDc3LCA4NSwgMjA1LCA4NSwgNzcsIDY2LCA4MiwgNjksIAotICAgIDc2LCA3NiwgNjUsIDEyOCwgODUsIDc3LCA2NiwgODIsIDY5LCA3NiwgNzYsIDE5MywgODUsIDc3LCA2NiwgNzMsIDc4LCAKLSAgICAxMjgsIDg1LCA3NSwgODUsIDEyOCwgODUsIDc1LCA4MiwgNjUsIDczLCA3OCwgNzMsIDY1LCAyMDYsIDg1LCA3NSwgNjUsIAotICAgIDgyLCA2NSwgMTI4LCA4NSwgNzUsIDY1LCA4MiwgMTkzLCA4NSwgNzUsIDEyOCwgODUsIDczLCA3NiwgNzYsIDY5LCA2NSwgCi0gICAgNzgsIDc4LCAxMjgsIDg1LCA3MywgNzEsIDcyLCA4NSwgMjEwLCA4NSwgNzEsIDY1LCA4MiwgNzMsIDg0LCA3MywgMTk1LCAKLSAgICA4NSwgNjksIDg5LCAxMjgsIDg1LCA2OSwgNzMsIDEyOCwgODUsIDY5LCA2OSwgMTI4LCA4NSwgNjksIDY1LCAxMjgsIDg1LCAKLSAgICA2OCwgODUsIDcxLCAxMjgsIDg1LCA2OCwgNjUsIDg0LCA4NCwgNjUsIDEyOCwgODUsIDY4LCA2NSwgODQsIDg0LCAxOTMsIAotICAgIDg1LCA2OCwgNjUsIDY1LCA4NCwgMTI4LCA4NSwgNjgsIDEyOCwgODUsIDE5NiwgODUsIDY3LCAxMjgsIDg1LCA2NiwgODUsIAotICAgIDcwLCA3MywgNzYsIDczLCAxMjgsIDg1LCA2NiwgNzIsIDY1LCA4OSwgNjUsIDg0LCAyMDcsIDg1LCA2NiwgNjUsIDY4LCA2NSwgCi0gICAgNzcsIDY1LCAxMjgsIDg1LCA2NiwgMTI4LCA4NSwgNjUsIDg0LCA3MiwgMTI4LCA4NSwgNjUsIDc4LCA3MSwgMTI4LCA4NSwgCi0gICAgNjUsIDEyOCwgODUsIDE3OCwgODUsIDQ4LCA1MiwgNTAsIDEyOCwgODUsIDQ4LCA1MiwgNDksIDEyOCwgODUsIDQ4LCA1MiwgCi0gICAgNDgsIDEyOCwgODUsIDQ4LCA1MSwgNTcsIDEyOCwgODUsIDQ4LCA1MSwgNTYsIDEyOCwgODUsIDQ4LCA1MSwgNTUsIDEyOCwgCi0gICAgODUsIDQ4LCA1MSwgNTQsIDEyOCwgODUsIDQ4LCA1MSwgNTMsIDEyOCwgODUsIDQ4LCA1MSwgNTIsIDEyOCwgODUsIDQ4LCAKLSAgICA1MSwgNTEsIDEyOCwgODUsIDQ4LCA1MSwgNTAsIDY1LCAxMjgsIDg1LCA0OCwgNTEsIDUwLCAxMjgsIDg1LCA0OCwgNTEsIAotICAgIDQ5LCAxMjgsIDg1LCA0OCwgNTEsIDQ4LCAxMjgsIDg1LCA0OCwgNTAsIDU3LCA2NSwgMTI4LCA4NSwgNDgsIDUwLCA1NywgCi0gICAgMTI4LCA4NSwgNDgsIDUwLCA1NiwgMTI4LCA4NSwgNDgsIDUwLCA1NSwgMTI4LCA4NSwgNDgsIDUwLCA1NCwgMTI4LCA4NSwgCi0gICAgNDgsIDUwLCA1MywgMTI4LCA4NSwgNDgsIDUwLCA1MiwgMTI4LCA4NSwgNDgsIDUwLCA1MSwgNjUsIDEyOCwgODUsIDQ4LCAKLSAgICA1MCwgNTEsIDEyOCwgODUsIDQ4LCA1MCwgNTAsIDEyOCwgODUsIDQ4LCA1MCwgNDksIDEyOCwgODUsIDQ4LCA1MCwgNDgsIAotICAgIDEyOCwgODUsIDQ4LCA0OSwgNTcsIDEyOCwgODUsIDQ4LCA0OSwgNTYsIDEyOCwgODUsIDQ4LCA0OSwgNTUsIDEyOCwgODUsIAotICAgIDQ4LCA0OSwgNTQsIDEyOCwgODUsIDQ4LCA0OSwgNTMsIDEyOCwgODUsIDQ4LCA0OSwgNTIsIDEyOCwgODUsIDQ4LCA0OSwgCi0gICAgNTEsIDEyOCwgODUsIDQ4LCA0OSwgNTAsIDEyOCwgODUsIDQ4LCA0OSwgNDksIDEyOCwgODUsIDQ4LCA0OSwgNDgsIDEyOCwgCi0gICAgODUsIDQ4LCA0OCwgNTcsIDEyOCwgODUsIDQ4LCA0OCwgNTYsIDEyOCwgODUsIDQ4LCA0OCwgNTUsIDEyOCwgODUsIDQ4LCAKLSAgICA0OCwgNTQsIDY2LCAxMjgsIDg1LCA0OCwgNDgsIDU0LCA2NSwgMTI4LCA4NSwgNDgsIDQ4LCA1NCwgMTI4LCA4NSwgNDgsIAotICAgIDQ4LCA1MywgMTI4LCA4NSwgNDgsIDQ4LCA1MiwgMTI4LCA4NSwgNDgsIDQ4LCA1MSwgMTI4LCA4NSwgNDgsIDQ4LCA1MCwgCi0gICAgMTI4LCA4NSwgNDgsIDQ4LCA0OSwgMTI4LCA4NSwgNDUsIDczLCA0NSwgNzMsIDEyOCwgODUsIDQ1LCA2OSwgNzksIDQ1LCAKLSAgICA2OSwgODUsIDEyOCwgODUsIDQ1LCA2NiwgODIsIDc0LCA3MSwgODUsIDEyOCwgODQsIDkwLCA4NSwgMTI4LCA4NCwgOTAsIAotICAgIDc5LCA2NSwgMTI4LCA4NCwgOTAsIDc5LCAxMjgsIDg0LCA5MCwgNzMsIDIxMCwgODQsIDkwLCA3MywgMTI4LCA4NCwgOTAsIAotICAgIDY5LCA2OSwgMTI4LCA4NCwgOTAsIDY5LCAxMjgsIDg0LCA5MCwgNjUsIDY1LCAxMjgsIDg0LCA5MCwgNjUsIDEyOCwgODQsIAotICAgIDkwLCAxMjgsIDg0LCA4OSwgMjEwLCA4NCwgODksIDgwLCA2OSwgNDUsIDE4MywgODQsIDg5LCA4MCwgNjksIDQ1LCAxODIsIAotICAgIDg0LCA4OSwgODAsIDY5LCA0NSwgMTgxLCA4NCwgODksIDgwLCA2OSwgNDUsIDE4MCwgODQsIDg5LCA4MCwgNjksIDQ1LCAKLSAgICAxNzksIDg0LCA4OSwgODAsIDY5LCA0NSwgMTc4LCA4NCwgODksIDgwLCA2OSwgNDUsIDE3NywgODQsIDg5LCA4MCwgMTk3LCAKLSAgICA4NCwgODksIDc5LCAxMjgsIDg0LCA4OSwgNzMsIDEyOCwgODQsIDg5LCA2OSwgMTI4LCA4NCwgODksIDY1LCAxMjgsIDg0LCAKLSAgICA4NywgNzksIDc5LCAxMjgsIDg0LCA4NywgNzksIDQ1LCA4NywgNjUsIDIxNywgODQsIDg3LCA3OSwgNDUsIDg0LCA3MiwgNzMsIAotICAgIDgyLCA4NCwgODksIDEyOCwgODQsIDg3LCA3OSwgNDUsIDc2LCA3MywgNzgsIDE5NywgODQsIDg3LCA3OSwgNDUsIDcyLCA2OSwgCi0gICAgNjUsIDY4LCA2OSwgMTk2LCA4NCwgODcsIDc5LCA0NSwgNjksIDIwNSwgODQsIDg3LCA3MywgODMsIDg0LCA2OSwgMTk2LCAKLSAgICA4NCwgODcsIDczLCA3MywgMTI4LCA4NCwgODcsIDczLCAxMjgsIDg0LCA4NywgNjksIDc4LCA4NCwgODksIDQ1LCA4NCwgODcsIAotICAgIDc5LCAxMjgsIDg0LCA4NywgNjksIDc4LCA4NCwgODksIDQ1LCA4NCwgNzIsIDgyLCA2OSwgNjksIDEyOCwgODQsIDg3LCA2OSwgCi0gICAgNzgsIDg0LCA4OSwgNDUsIDgzLCA3MywgODgsIDEyOCwgODQsIDg3LCA2OSwgNzgsIDg0LCA4OSwgNDUsIDgzLCA2OSwgODYsIAotICAgIDY5LCA3OCwgMTI4LCA4NCwgODcsIDY5LCA3OCwgODQsIDg5LCA0NSwgNzksIDc4LCA2OSwgMTI4LCA4NCwgODcsIDY5LCA3OCwgCi0gICAgODQsIDg5LCA0NSwgNzgsIDczLCA3OCwgNjksIDEyOCwgODQsIDg3LCA2OSwgNzgsIDg0LCA4OSwgNDUsIDcwLCA3OSwgODUsIAotICAgIDgyLCAxMjgsIDg0LCA4NywgNjksIDc4LCA4NCwgODksIDQ1LCA3MCwgNzMsIDg2LCA2OSwgMTI4LCA4NCwgODcsIDY5LCA3OCwgCi0gICAgODQsIDg5LCA0NSwgNjksIDczLCA3MSwgNzIsIDg0LCAyMDAsIDg0LCA4NywgNjksIDc4LCA4NCwgODksIDQ1LCA2OSwgNzMsIAotICAgIDcxLCA3MiwgODQsIDEyOCwgODQsIDg3LCA2OSwgNzgsIDg0LCA4OSwgMTI4LCA4NCwgODcsIDY5LCA3OCwgODQsIDIxNywgCi0gICAgODQsIDg3LCA2OSwgNzYsIDg2LCA2OSwgNDUsIDg0LCA3MiwgNzMsIDgyLCA4NCwgODksIDEyOCwgODQsIDg3LCA2OSwgNzYsIAotICAgIDg2LCA2OSwgMTI4LCA4NCwgODcsIDY5LCA3NiwgODYsIDE5NywgODQsIDg3LCA2OSwgMTI4LCA4NCwgODcsIDY1LCA2NSwgCi0gICAgMTI4LCA4NCwgODcsIDY1LCAxMjgsIDg0LCA4NiwgODIsIDczLCA2OCwgNzksIDEyOCwgODQsIDg2LCA3MywgNzcsIDY1LCAKLSAgICA2OCwgODUsIDIxMCwgODQsIDg1LCA4OCwgMTI4LCA4NCwgODUsIDg1LCA3NywgODUsIDEyOCwgODQsIDg1LCA4NSwgMTI4LCAKLSAgICA4NCwgODUsIDg0LCA4NCwgODksIDEyOCwgODQsIDg1LCA4NCwgNjksIDg5LCA2NSwgODMsIDY1LCA4NCwgMTI4LCA4NCwgODUsIAotICAgIDg0LCAxMjgsIDg0LCA4NSwgODIsIDg4LCAxMjgsIDg0LCA4NSwgODIsIDg1LCAxMjgsIDg0LCA4NSwgODIsIDg0LCA3NiwgCi0gICAgNjksIDEyOCwgODQsIDg1LCA4MiwgNzksIDUwLCAxMjgsIDg0LCA4NSwgODIsIDc4LCA4MywgODQsIDczLCA3NiwgNjksIAotICAgIDEyOCwgODQsIDg1LCA4MiwgNzgsIDY5LCAxOTYsIDg0LCA4NSwgODIsIDIwNiwgODQsIDg1LCA4MiwgNzUsIDczLCA4MywgCi0gICAgMjAwLCA4NCwgODUsIDgyLCA2NiwgNjUsIDc4LCAxMjgsIDg0LCA4NSwgODIsIDEyOCwgODQsIDg1LCA4MCwgMTI4LCA4NCwgCi0gICAgODUsIDc5LCA4OCwgMTI4LCA4NCwgODUsIDc5LCA4NCwgMTI4LCA4NCwgODUsIDc5LCA4MCwgMTI4LCA4NCwgODUsIDc5LCAKLSAgICAxMjgsIDg0LCA4NSwgNzgsIDc4LCA4OSwgMTI4LCA4NCwgODUsIDc3LCA2OSwgODQsIDY5LCA4MywgMTI4LCA4NCwgODUsIAotICAgIDc3LCA2NSwgNjksIDEyOCwgODQsIDg1LCA3NywgMTI4LCA4NCwgODUsIDc2LCA3MywgODAsIDEyOCwgODQsIDg1LCA3NSwgCi0gICAgODcsIDY5LCA3OCwgODQsIDczLCA4MywgMTI4LCA4NCwgODUsIDc1LCAxMjgsIDg0LCA4NSwgNzEsIDgyLCA3MywgMjAzLCAKLSAgICA4NCwgODUsIDcxLCA1MCwgMTI4LCA4NCwgODUsIDcxLCAxNzgsIDg0LCA4NSwgNjUsIDgyLCA2OSwgMTk5LCA4NCwgODUsIAotICAgIDY1LCA2OSwgODAsIDEyOCwgODQsIDg1LCA2NSwgNjksIDEyOCwgODQsIDIxMywgODQsIDg0LCA4NSwgODUsIDEyOCwgODQsIAotICAgIDg0LCA4NSwgNjgsIDY4LCA2NSwgNzEsIDEyOCwgODQsIDg0LCA4NSwgNjgsIDY4LCA2NSwgNjUsIDcxLCAxMjgsIDg0LCA4NCwgCi0gICAgODUsIDEyOCwgODQsIDg0LCA4NCwgNzIsIDY1LCAxMjgsIDg0LCA4NCwgODQsIDY1LCAxMjgsIDg0LCA4NCwgODMsIDg1LCAKLSAgICAxMjgsIDg0LCA4NCwgODMsIDc5LCAxMjgsIDg0LCA4NCwgODMsIDczLCAxMjgsIDg0LCA4NCwgODMsIDY5LCA2OSwgMTI4LCAKLSAgICA4NCwgODQsIDgzLCA2OSwgMTI4LCA4NCwgODQsIDgzLCA2NSwgMTI4LCA4NCwgODQsIDc5LCA3OSwgMTI4LCA4NCwgODQsIAotICAgIDczLCA3MywgMTI4LCA4NCwgODQsIDczLCAxMjgsIDg0LCA4NCwgNzIsIDg3LCA2OSwgMTI4LCA4NCwgODQsIDcyLCA4NSwgCi0gICAgMTI4LCA4NCwgODQsIDcyLCA3OSwgNzksIDEyOCwgODQsIDg0LCA3MiwgNzksIDEyOCwgODQsIDg0LCA3MiwgNzMsIDEyOCwgCi0gICAgODQsIDg0LCA3MiwgNjksIDY5LCAxMjgsIDg0LCA4NCwgNzIsIDY5LCAxMjgsIDg0LCA4NCwgNzIsIDY1LCA2NSwgMTI4LCAKLSAgICA4NCwgODQsIDcyLCAxMjgsIDg0LCA4NCwgNjksIDcyLCA2OSwgNzIsIDEyOCwgODQsIDg0LCA2OSwgNzIsIDY5LCAyMDAsIAotICAgIDg0LCA4NCwgNjksIDcyLCAxMjgsIDg0LCA4NCwgNjksIDIwMCwgODQsIDg0LCA2OSwgNjksIDEyOCwgODQsIDg0LCA2NSwgCi0gICAgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDg0LCA4NCwgNjUsIDg1LCAxMjgsIDg0LCA4NCwgNjUsIDczLCAxMjgsIDg0LCAKLSAgICA4NCwgNjUsIDY1LCAxMjgsIDg0LCA4NCwgNTAsIDEyOCwgODQsIDgzLCA4NywgNjksIDEyOCwgODQsIDgzLCA4NywgNjUsIAotICAgIDEyOCwgODQsIDgzLCA4NiwgMTI4LCA4NCwgODMsIDgzLCA2OSwgMTI4LCA4NCwgODMsIDgzLCA2NSwgMTI4LCA4NCwgODMsIAotICAgIDcyLCA4NSwgNzEsIDgzLCAxMjgsIDg0LCA4MywgNzIsIDc5LCA3OSwgNzUsIDEyOCwgODQsIDgzLCA3MiwgNzksIDc5LCAKLSAgICAyMDMsIDg0LCA4MywgNzIsIDY5LCA4MywgMTI4LCA4NCwgODMsIDcyLCA2OSwgNzEsIDEyOCwgODQsIDgzLCA3MiwgNjksIAotICAgIDE5OSwgODQsIDgzLCA3MiwgNjksIDEyOCwgODQsIDgzLCA3MiwgNjUsIDEyOCwgODQsIDgzLCA2OSwgODIsIDY5LCAxMjgsIAotICAgIDg0LCA4MywgNjUsIDY4LCA3MywgMTI4LCA4NCwgODMsIDY1LCA2OCwgMjAxLCA4NCwgODMsIDY1LCA2NSwgNjgsIDczLCA4OSwgCi0gICAgMTI4LCA4NCwgODMsIDY1LCA2NSwgMTI4LCA4NCwgODMsIDE5MywgODQsIDgyLCA4OSwgNjYsIDc2LCA3MywgNzksIDIwNiwgCi0gICAgODQsIDgyLCA4NSwgODQsIDcyLCAxMjgsIDg0LCA4MiwgODUsIDc4LCA3NSwgMTI4LCA4NCwgODIsIDg1LCA3OCwgNjcsIDY1LCAKLSAgICA4NCwgNjksIDE5NiwgODQsIDgyLCA4NSwgNzcsIDgwLCA2OSwgODQsIDEyOCwgODQsIDgyLCA4NSwgNjksIDEyOCwgODQsIAotICAgIDgyLCA4NSwgNjcsIDc1LCAxMjgsIDg0LCA4MiwgNzksIDgwLCA3MywgNjcsIDY1LCAyMDQsIDg0LCA4MiwgNzksIDgwLCA3MiwgCi0gICAgODksIDEyOCwgODQsIDgyLCA3OSwgNzcsIDczLCA3NSwgNzksIDgzLCA4OSwgNzgsIDY1LCA3MSwgNzcsIDY1LCAxMjgsIDg0LCAKLSAgICA4MiwgNzksIDc3LCA3MywgNzUsIDc5LCA4MCwgODMsIDczLCA3MCwgNzMsIDgzLCA4NCwgNzksIDc4LCAxMjgsIDg0LCA4MiwgCi0gICAgNzksIDc3LCA3MywgNzUsIDc5LCA4MCwgNjUsIDgyLCA2NSwgNzUsIDY1LCA3NiwgNjksIDgzLCA3NywgNjUsIDEyOCwgODQsIAotICAgIDgyLCA3OSwgNzcsIDczLCA3NSwgNzksIDc4LCAxMjgsIDg0LCA4MiwgNzksIDc3LCA3MywgNzUsIDc5LCAyMDYsIDg0LCA4MiwgCi0gICAgNzksIDc3LCA3MywgNzUsIDc5LCA3NiwgODksIDcxLCA3MywgODMsIDc3LCA2NSwgMTI4LCA4NCwgODIsIDc5LCA3NiwgNzYsIAotICAgIDY5LCA4OSwgNjYsIDg1LCA4MywgMTI4LCA4NCwgODIsIDc5LCA3NSwgODUsIDg0LCA2NSwgODMsIDg0LCAyMDEsIDg0LCA4MiwgCi0gICAgNzksIDY5LCA5MCwgNjksIDc4LCA3MywgNjUsIDIwNiwgODQsIDgyLCA3MywgODUsIDc3LCA4MCwgNzIsIDEyOCwgODQsIDgyLCAKLSAgICA3MywgODQsIDc5LCAyMTEsIDg0LCA4MiwgNzMsIDg0LCA3MywgNzcsIDc5LCA4MiwgNzMsIDc5LCA3OCwgMTI4LCA4NCwgODIsIAotICAgIDczLCA4MywgNzMsIDc3LCA3OSwgODUsIDEyOCwgODQsIDgyLCA3MywgODMsIDY5LCA3NywgNjksIDEyOCwgODQsIDgyLCA3MywgCi0gICAgODAsIDc5LCA2OCwgMTI4LCA4NCwgODIsIDczLCA4MCwgNzYsIDczLCAxMjgsIDg0LCA4MiwgNzMsIDgwLCA3NiwgMTk3LCAKLSAgICA4NCwgODIsIDczLCA3OSwgMjA2LCA4NCwgODIsIDczLCA3MywgODMsIDY1LCA4MCwgMTI4LCA4NCwgODIsIDczLCA3MSwgODIsIAotICAgIDY1LCA3NywgNzcsIDc5LCAyMTEsIDg0LCA4MiwgNzMsIDcxLCA4MiwgNjUsIDIwNSwgODQsIDgyLCA3MywgNzEsIDc5LCA4MiwgCi0gICAgNzEsIDc5LCA3OCwgMTI4LCA4NCwgODIsIDczLCA3MCwgNzksIDc4LCA3MywgNjUsIDgzLCAxMjgsIDg0LCA4MiwgNzMsIDcwLCAKLSAgICA3OSwgNzYsIDczLCA2NSwgODQsIDE5NywgODQsIDgyLCA3MywgNjgsIDY5LCA3OCwgODQsIDEyOCwgODQsIDgyLCA3MywgNjgsIAotICAgIDY5LCA3OCwgMjEyLCA4NCwgODIsIDczLCA2NywgNzksIDc2LCA3OSwgNzgsIDEyOCwgODQsIDgyLCA3MywgNjUsIDc4LCA3MSwgCi0gICAgODUsIDc2LCA2NSwgMjEwLCA4NCwgODIsIDczLCA2NSwgNzgsIDcxLCA3NiwgNjksIDQ1LCA4MiwgNzksIDg1LCA3OCwgMTk2LCAKLSAgICA4NCwgODIsIDczLCA2NSwgNzgsIDcxLCA3NiwgNjksIDQ1LCA3MiwgNjksIDY1LCA2OCwgNjksIDE5NiwgODQsIDgyLCA3MywgCi0gICAgNjUsIDc4LCA3MSwgNzYsIDY5LCAxMjgsIDg0LCA4MiwgNzMsIDY1LCA3OCwgNzEsIDc2LCAxOTcsIDg0LCA4MiwgNzMsIDY1LCAKLSAgICAxMjgsIDg0LCA4MiwgNzMsIDEyOCwgODQsIDgyLCA2OSwgODMsIDczLCA3NiwgNzYsIDc5LCAxMjgsIDg0LCA4MiwgNjksIAotICAgIDc4LCA2OCwgMTI4LCA4NCwgODIsIDY5LCA3OCwgMTk2LCA4NCwgODIsIDY5LCA3NywgNzksIDc2LCA3OSwgNDUsIDUxLCAKKyAgICA2NSwgODIsIDczLCA3NSwgNjUsIDEyOCwgODYsIDY1LCA4MiwgNzMsIDY1LCA3OCwgODQsIDEyOCwgODYsIDY1LCA4MiwgNzMsIAorICAgIDY1LCA3OCwgMjEyLCA4NiwgNjUsIDgyLCA3MywgNjUsIDEyOCwgODYsIDY1LCA4MiwgNzMsIDE5MywgODYsIDY1LCA4MiwgCisgICAgNjksIDczLCA2NSwgMjAxLCA4NiwgNjUsIDgyLCA2OSwgNzMsIDE5MywgODYsIDY1LCA4MCwgNzksIDg1LCA4MiwgODMsIAorICAgIDEyOCwgODYsIDY1LCA4MCwgMTI4LCA4NiwgNjUsIDc4LCA2OSwgMTI4LCA4NiwgNjUsIDc3LCA2NSwgNzEsIDc5LCA3NywgCisgICAgODUsIDc1LCA3MiwgNjUsIDEyOCwgODYsIDY1LCA3NywgNjUsIDcxLCA3OSwgNzcsIDg1LCA3NSwgNzIsIDE5MywgODYsIDY1LCAKKyAgICA3NiwgNzYsIDY5LCA4OSwgMTI4LCA4NiwgNjUsIDc0LCAxMjgsIDg2LCA2NSwgNzMsIDEyOCwgODYsIDY1LCA3MiwgMTI4LCAKKyAgICA4NiwgNjUsIDIwMCwgODYsIDY1LCA2NSwgODYsIDg1LCAxMjgsIDg2LCA2NSwgNjUsIDEyOCwgODYsIDQ4LCA1MiwgNDgsIAorICAgIDY1LCAxMjgsIDg2LCA0OCwgNTIsIDQ4LCAxMjgsIDg2LCA0OCwgNTEsIDU3LCAxMjgsIDg2LCA0OCwgNTEsIDU2LCAxMjgsIAorICAgIDg2LCA0OCwgNTEsIDU1LCA2NSwgMTI4LCA4NiwgNDgsIDUxLCA1NSwgMTI4LCA4NiwgNDgsIDUxLCA1NCwgMTI4LCA4NiwgCisgICAgNDgsIDUxLCA1MywgMTI4LCA4NiwgNDgsIDUxLCA1MiwgMTI4LCA4NiwgNDgsIDUxLCA1MSwgNjUsIDEyOCwgODYsIDQ4LCAKKyAgICA1MSwgNTEsIDEyOCwgODYsIDQ4LCA1MSwgNTAsIDEyOCwgODYsIDQ4LCA1MSwgNDksIDY1LCAxMjgsIDg2LCA0OCwgNTEsIAorICAgIDQ5LCAxMjgsIDg2LCA0OCwgNTEsIDQ4LCA2NSwgMTI4LCA4NiwgNDgsIDUxLCA0OCwgMTI4LCA4NiwgNDgsIDUwLCA1NywgCisgICAgNjUsIDEyOCwgODYsIDQ4LCA1MCwgNTcsIDEyOCwgODYsIDQ4LCA1MCwgNTYsIDY1LCAxMjgsIDg2LCA0OCwgNTAsIDU2LCAKKyAgICAxMjgsIDg2LCA0OCwgNTAsIDU1LCAxMjgsIDg2LCA0OCwgNTAsIDU0LCAxMjgsIDg2LCA0OCwgNTAsIDUzLCAxMjgsIDg2LCAKKyAgICA0OCwgNTAsIDUyLCAxMjgsIDg2LCA0OCwgNTAsIDUxLCA2NSwgMTI4LCA4NiwgNDgsIDUwLCA1MSwgMTI4LCA4NiwgNDgsIAorICAgIDUwLCA1MCwgMTI4LCA4NiwgNDgsIDUwLCA0OSwgMTI4LCA4NiwgNDgsIDUwLCA0OCwgNzYsIDEyOCwgODYsIDQ4LCA1MCwgCisgICAgNDgsIDc1LCAxMjgsIDg2LCA0OCwgNTAsIDQ4LCA3NCwgMTI4LCA4NiwgNDgsIDUwLCA0OCwgNzMsIDEyOCwgODYsIDQ4LCAKKyAgICA1MCwgNDgsIDcyLCAxMjgsIDg2LCA0OCwgNTAsIDQ4LCA3MSwgMTI4LCA4NiwgNDgsIDUwLCA0OCwgNzAsIDEyOCwgODYsIAorICAgIDQ4LCA1MCwgNDgsIDY5LCAxMjgsIDg2LCA0OCwgNTAsIDQ4LCA2OCwgMTI4LCA4NiwgNDgsIDUwLCA0OCwgNjcsIDEyOCwgCisgICAgODYsIDQ4LCA1MCwgNDgsIDY2LCAxMjgsIDg2LCA0OCwgNTAsIDQ4LCA2NSwgMTI4LCA4NiwgNDgsIDUwLCA0OCwgMTI4LCAKKyAgICA4NiwgNDgsIDQ5LCA1NywgMTI4LCA4NiwgNDgsIDQ5LCA1NiwgMTI4LCA4NiwgNDgsIDQ5LCA1NSwgMTI4LCA4NiwgNDgsIAorICAgIDQ5LCA1NCwgMTI4LCA4NiwgNDgsIDQ5LCA1MywgMTI4LCA4NiwgNDgsIDQ5LCA1MiwgMTI4LCA4NiwgNDgsIDQ5LCA1MSwgCisgICAgMTI4LCA4NiwgNDgsIDQ5LCA1MCwgNjYsIDEyOCwgODYsIDQ4LCA0OSwgNTAsIDY1LCAxMjgsIDg2LCA0OCwgNDksIDUwLCAKKyAgICAxMjgsIDg2LCA0OCwgNDksIDQ5LCA2NywgMTI4LCA4NiwgNDgsIDQ5LCA0OSwgNjYsIDEyOCwgODYsIDQ4LCA0OSwgNDksIAorICAgIDY1LCAxMjgsIDg2LCA0OCwgNDksIDQ5LCAxMjgsIDg2LCA0OCwgNDksIDQ4LCAxMjgsIDg2LCA0OCwgNDgsIDU3LCAxMjgsIAorICAgIDg2LCA0OCwgNDgsIDU2LCAxMjgsIDg2LCA0OCwgNDgsIDU1LCA2NiwgMTI4LCA4NiwgNDgsIDQ4LCA1NSwgNjUsIDEyOCwgCisgICAgODYsIDQ4LCA0OCwgNTUsIDEyOCwgODYsIDQ4LCA0OCwgNTQsIDEyOCwgODYsIDQ4LCA0OCwgNTMsIDEyOCwgODYsIDQ4LCAKKyAgICA0OCwgNTIsIDEyOCwgODYsIDQ4LCA0OCwgNTEsIDEyOCwgODYsIDQ4LCA0OCwgNTAsIDY1LCAxMjgsIDg2LCA0OCwgNDgsIAorICAgIDUwLCAxMjgsIDg2LCA0OCwgNDgsIDQ5LCA3MywgMTI4LCA4NiwgNDgsIDQ4LCA0OSwgNzIsIDEyOCwgODYsIDQ4LCA0OCwgCisgICAgNDksIDcxLCAxMjgsIDg2LCA0OCwgNDgsIDQ5LCA3MCwgMTI4LCA4NiwgNDgsIDQ4LCA0OSwgNjksIDEyOCwgODYsIDQ4LCAKKyAgICA0OCwgNDksIDY4LCAxMjgsIDg2LCA0OCwgNDgsIDQ5LCA2NywgMTI4LCA4NiwgNDgsIDQ4LCA0OSwgNjYsIDEyOCwgODYsIAorICAgIDQ4LCA0OCwgNDksIDY1LCAxMjgsIDg2LCA0OCwgNDgsIDQ5LCAxMjgsIDg1LCA5MCwgODUsIDEyOCwgODUsIDkwLCA1MSwgCisgICAgMTI4LCA4NSwgOTAsIDE3OSwgODUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA4NSwgODksIDEyOCwgODUsIDg3LCA4NSwgCisgICAgMTI4LCA4NSwgODUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA4NSwgODUsIDg1LCA4NSwgMTI4LCA4NSwgODUsIDg1LCAKKyAgICA1MSwgMTI4LCA4NSwgODUsIDg1LCA1MCwgMTI4LCA4NSwgODUsIDY5LCAxMjgsIDg1LCA4NCwgODUsIDc1LCA3MywgMTI4LCAKKyAgICA4NSwgODMsIDgzLCA4NSwgNTEsIDEyOCwgODUsIDgzLCA4MywgODUsIDEyOCwgODUsIDgzLCA3MiwgODgsIDEyOCwgODUsIAorICAgIDgzLCA3MiwgODUsIDc3LCA4OCwgMTI4LCA4NSwgODMsIDcyLCA2OSwgNzgsIDc4LCA2NSwgMTI4LCA4NSwgODMsIDcyLCA1MCwgCisgICAgMTI4LCA4NSwgODMsIDcyLCAxMjgsIDg1LCA4MywgMjAwLCA4NSwgODMsIDY5LCAxOTYsIDg1LCA4MywgNjksIDQ1LCA1MCwgCisgICAgMTI4LCA4NSwgODMsIDY5LCA0NSwgNDksIDEyOCwgODUsIDgzLCA2OSwgMTI4LCA4NSwgODMsIDE5NywgODUsIDgyLCA4NSwgCisgICAgMjE4LCA4NSwgODIsIDg1LCA4MywgMTI4LCA4NSwgODIsIDg1LCA2OCwgNjUsIDEyOCwgODUsIDgyLCA4NSwgNjgsIDE5MywgCisgICAgODUsIDgyLCA4NSwgMTI4LCA4NSwgODIsIDIxMywgODUsIDgyLCA3OCwgMTI4LCA4NSwgODIsIDczLCA3OCwgNjksIDEyOCwgCisgICAgODUsIDgyLCA3MywgNTEsIDEyOCwgODUsIDgyLCA3MywgMTI4LCA4NSwgODIsIDY1LCA3OCwgODUsIDgzLCAxMjgsIDg1LCAKKyAgICA4MiwgNjUsIDEyOCwgODUsIDgyLCA1MiwgMTI4LCA4NSwgODIsIDUwLCAxMjgsIDg1LCA4MiwgMTc4LCA4NSwgODAsIDg3LCAKKyAgICA2NSwgODIsIDY4LCA4MywgMTI4LCA4NSwgODAsIDg3LCA2NSwgODIsIDY4LCAxMjgsIDg1LCA4MCwgODcsIDY1LCA4MiwgCisgICAgMTk2LCA4NSwgODAsIDg0LCA4NSwgODIsIDc4LCAxMjgsIDg1LCA4MCwgODMsIDczLCA3NiwgNzksIDc4LCAxMjgsIDg1LCAKKyAgICA4MCwgODMsIDczLCA3NiwgNzksIDIwNiwgODUsIDgwLCA4MiwgNzMsIDcxLCA3MiwgMjEyLCA4NSwgODAsIDgwLCA2OSwgCisgICAgMjEwLCA4NSwgODAsIDY1LCA2OCwgNzIsIDc3LCA2NSwgNzgsIDczLCA4OSwgNjUsIDEyOCwgODUsIDgwLCA0NSwgODAsIDc5LCAKKyAgICA3MywgNzgsIDg0LCA3MywgNzgsIDE5OSwgODUsIDc5LCA3OCwgMTI4LCA4NSwgNzgsIDc4LCAxMjgsIDg1LCA3OCwgNzcsIAorICAgIDY1LCA4MiwgODIsIDczLCA2OSwgMTk2LCA4NSwgNzgsIDc1LCA3OCwgNzksIDg3LCA3OCwgMTI4LCA4NSwgNzgsIDczLCA4NiwgCisgICAgNjksIDgyLCA4MywgNjUsIDIwNCwgODUsIDc4LCA3MywgODQsIDg5LCAxMjgsIDg1LCA3OCwgNzMsIDg0LCAxMjgsIDg1LCAKKyAgICA3OCwgNzMsIDIxMiwgODUsIDc4LCA3MywgNzksIDc4LCAxMjgsIDg1LCA3OCwgNzMsIDc5LCAyMDYsIDg1LCA3OCwgNzMsIAorICAgIDcwLCA3MywgNjksIDE5NiwgODUsIDc4LCA2OCwgMjA3LCA4NSwgNzgsIDY4LCA2OSwgODIsIDg0LCA3MywgNjksIDEyOCwgCisgICAgODUsIDc4LCA2OCwgNjksIDgyLCA3NiwgNzMsIDc4LCAxOTcsIDg1LCA3OCwgNjgsIDY5LCA4MiwgNjgsIDc5LCA4NCwgMTI4LCAKKyAgICA4NSwgNzgsIDY4LCA2OSwgODIsIDY2LCA2NSwgODIsIDEyOCwgODUsIDc4LCA2OCwgNjksIDIxMCwgODUsIDc4LCA2NywgNzMsIAorICAgIDE5MywgODUsIDc4LCA2NywgNjksIDgyLCA4NCwgNjUsIDczLCA3OCwgODQsIDIxNywgODUsIDc4LCA2NSwgODMsIDgwLCA3MywgCisgICAgODIsIDY1LCA4NCwgNjksIDY4LCAxMjgsIDg1LCA3OCwgNjUsIDgwLCAxMjgsIDg1LCA3OCwgNjUsIDc3LCA4NSwgODMsIDY5LCAKKyAgICAxOTYsIDg1LCA3OCwgNjUsIDEyOCwgODUsIDIwNiwgODUsIDc3LCA4NSwgNzcsIDEyOCwgODUsIDc3LCA4NSwgMjA1LCA4NSwgCisgICAgNzcsIDY2LCA4MiwgNjksIDc2LCA3NiwgNjUsIDEyOCwgODUsIDc3LCA2NiwgODIsIDY5LCA3NiwgNzYsIDE5MywgODUsIDc3LCAKKyAgICA2NiwgNzMsIDc4LCAxMjgsIDg1LCA3NSwgODUsIDEyOCwgODUsIDc1LCA4MiwgNjUsIDczLCA3OCwgNzMsIDY1LCAyMDYsIAorICAgIDg1LCA3NSwgNjUsIDgyLCA2NSwgMTI4LCA4NSwgNzUsIDY1LCA4MiwgMTkzLCA4NSwgNzUsIDEyOCwgODUsIDczLCA3NiwgCisgICAgNzYsIDY5LCA2NSwgNzgsIDc4LCAxMjgsIDg1LCA3MywgNzEsIDcyLCA4NSwgMjEwLCA4NSwgNzEsIDY1LCA4MiwgNzMsIDg0LCAKKyAgICA3MywgMTk1LCA4NSwgNjksIDg5LCAxMjgsIDg1LCA2OSwgNzMsIDEyOCwgODUsIDY5LCA2OSwgMTI4LCA4NSwgNjksIDY1LCAKKyAgICAxMjgsIDg1LCA2OCwgODUsIDcxLCAxMjgsIDg1LCA2OCwgNjUsIDg0LCA4NCwgNjUsIDEyOCwgODUsIDY4LCA2NSwgODQsIAorICAgIDg0LCAxOTMsIDg1LCA2OCwgNjUsIDY1LCA4NCwgMTI4LCA4NSwgNjgsIDEyOCwgODUsIDE5NiwgODUsIDY3LCAxMjgsIDg1LCAKKyAgICA2NiwgODUsIDcwLCA3MywgNzYsIDczLCAxMjgsIDg1LCA2NiwgNzIsIDY1LCA4OSwgNjUsIDg0LCAyMDcsIDg1LCA2NiwgNjUsIAorICAgIDY4LCA2NSwgNzcsIDY1LCAxMjgsIDg1LCA2NiwgMTI4LCA4NSwgNjUsIDg0LCA3MiwgMTI4LCA4NSwgNjUsIDc4LCA3MSwgCisgICAgMTI4LCA4NSwgNjUsIDEyOCwgODUsIDE3OCwgODUsIDQ4LCA1MiwgNTAsIDEyOCwgODUsIDQ4LCA1MiwgNDksIDEyOCwgODUsIAorICAgIDQ4LCA1MiwgNDgsIDEyOCwgODUsIDQ4LCA1MSwgNTcsIDEyOCwgODUsIDQ4LCA1MSwgNTYsIDEyOCwgODUsIDQ4LCA1MSwgCisgICAgNTUsIDEyOCwgODUsIDQ4LCA1MSwgNTQsIDEyOCwgODUsIDQ4LCA1MSwgNTMsIDEyOCwgODUsIDQ4LCA1MSwgNTIsIDEyOCwgCisgICAgODUsIDQ4LCA1MSwgNTEsIDEyOCwgODUsIDQ4LCA1MSwgNTAsIDY1LCAxMjgsIDg1LCA0OCwgNTEsIDUwLCAxMjgsIDg1LCAKKyAgICA0OCwgNTEsIDQ5LCAxMjgsIDg1LCA0OCwgNTEsIDQ4LCAxMjgsIDg1LCA0OCwgNTAsIDU3LCA2NSwgMTI4LCA4NSwgNDgsIAorICAgIDUwLCA1NywgMTI4LCA4NSwgNDgsIDUwLCA1NiwgMTI4LCA4NSwgNDgsIDUwLCA1NSwgMTI4LCA4NSwgNDgsIDUwLCA1NCwgCisgICAgMTI4LCA4NSwgNDgsIDUwLCA1MywgMTI4LCA4NSwgNDgsIDUwLCA1MiwgMTI4LCA4NSwgNDgsIDUwLCA1MSwgNjUsIDEyOCwgCisgICAgODUsIDQ4LCA1MCwgNTEsIDEyOCwgODUsIDQ4LCA1MCwgNTAsIDEyOCwgODUsIDQ4LCA1MCwgNDksIDEyOCwgODUsIDQ4LCAKKyAgICA1MCwgNDgsIDEyOCwgODUsIDQ4LCA0OSwgNTcsIDEyOCwgODUsIDQ4LCA0OSwgNTYsIDEyOCwgODUsIDQ4LCA0OSwgNTUsIAorICAgIDEyOCwgODUsIDQ4LCA0OSwgNTQsIDEyOCwgODUsIDQ4LCA0OSwgNTMsIDEyOCwgODUsIDQ4LCA0OSwgNTIsIDEyOCwgODUsIAorICAgIDQ4LCA0OSwgNTEsIDEyOCwgODUsIDQ4LCA0OSwgNTAsIDEyOCwgODUsIDQ4LCA0OSwgNDksIDEyOCwgODUsIDQ4LCA0OSwgCisgICAgNDgsIDEyOCwgODUsIDQ4LCA0OCwgNTcsIDEyOCwgODUsIDQ4LCA0OCwgNTYsIDEyOCwgODUsIDQ4LCA0OCwgNTUsIDEyOCwgCisgICAgODUsIDQ4LCA0OCwgNTQsIDY2LCAxMjgsIDg1LCA0OCwgNDgsIDU0LCA2NSwgMTI4LCA4NSwgNDgsIDQ4LCA1NCwgMTI4LCAKKyAgICA4NSwgNDgsIDQ4LCA1MywgMTI4LCA4NSwgNDgsIDQ4LCA1MiwgMTI4LCA4NSwgNDgsIDQ4LCA1MSwgMTI4LCA4NSwgNDgsIAorICAgIDQ4LCA1MCwgMTI4LCA4NSwgNDgsIDQ4LCA0OSwgMTI4LCA4NSwgNDUsIDgzLCA3MiwgNjUsIDgwLCA2OSwgMTk2LCA4NSwgCisgICAgNDUsIDczLCA0NSwgNzMsIDEyOCwgODUsIDQ1LCA2OSwgNzksIDQ1LCA2OSwgODUsIDEyOCwgODUsIDQ1LCA2NiwgODIsIDc0LCAKKyAgICA3MSwgODUsIDEyOCwgODQsIDkwLCA4NSwgMTI4LCA4NCwgOTAsIDc5LCA2NSwgMTI4LCA4NCwgOTAsIDc5LCAxMjgsIDg0LCAKKyAgICA5MCwgNzMsIDIxMCwgODQsIDkwLCA3MywgMTI4LCA4NCwgOTAsIDY5LCA2OSwgMTI4LCA4NCwgOTAsIDY5LCAxMjgsIDg0LCAKKyAgICA5MCwgNjUsIDY1LCAxMjgsIDg0LCA5MCwgNjUsIDEyOCwgODQsIDkwLCAxMjgsIDg0LCA4OSwgMjEwLCA4NCwgODksIDgwLCAKKyAgICA2OSwgNDUsIDE4MywgODQsIDg5LCA4MCwgNjksIDQ1LCAxODIsIDg0LCA4OSwgODAsIDY5LCA0NSwgMTgxLCA4NCwgODksIAorICAgIDgwLCA2OSwgNDUsIDE4MCwgODQsIDg5LCA4MCwgNjksIDQ1LCAxNzksIDg0LCA4OSwgODAsIDY5LCA0NSwgMTc4LCA4NCwgCisgICAgODksIDgwLCA2OSwgNDUsIDE3NywgODQsIDg5LCA4MCwgMTk3LCA4NCwgODksIDc5LCAxMjgsIDg0LCA4OSwgNzMsIDEyOCwgCisgICAgODQsIDg5LCA2OSwgMTI4LCA4NCwgODksIDY1LCA4OSwgMTI4LCA4NCwgODksIDY1LCAxMjgsIDg0LCA4OCwgODcsIDg2LCAKKyAgICAxMjgsIDg0LCA4OCwgODcsIDIxNCwgODQsIDg4LCA3MiwgNjksIDY5LCAyMDIsIDg0LCA4NywgNzksIDc5LCAxMjgsIDg0LCAKKyAgICA4NywgNzksIDQ1LCA4NywgNjUsIDIxNywgODQsIDg3LCA3OSwgNDUsIDg0LCA3MiwgNzMsIDgyLCA4NCwgODksIDEyOCwgODQsIAorICAgIDg3LCA3OSwgNDUsIDc2LCA3MywgNzgsIDE5NywgODQsIDg3LCA3OSwgNDUsIDcyLCA2OSwgNjUsIDY4LCA2OSwgMTk2LCA4NCwgCisgICAgODcsIDc5LCA0NSwgNjksIDIwNSwgODQsIDg3LCA3MywgODMsIDg0LCA2OSwgMTk2LCA4NCwgODcsIDczLCA3MywgMTI4LCAKKyAgICA4NCwgODcsIDczLCAxMjgsIDg0LCA4NywgNjksIDc4LCA4NCwgODksIDQ1LCA4NCwgODcsIDc5LCAxMjgsIDg0LCA4NywgNjksIAorICAgIDc4LCA4NCwgODksIDQ1LCA4NCwgNzIsIDgyLCA2OSwgNjksIDEyOCwgODQsIDg3LCA2OSwgNzgsIDg0LCA4OSwgNDUsIDgzLCAKKyAgICA3MywgODgsIDEyOCwgODQsIDg3LCA2OSwgNzgsIDg0LCA4OSwgNDUsIDgzLCA2OSwgODYsIDY5LCA3OCwgMTI4LCA4NCwgODcsIAorICAgIDY5LCA3OCwgODQsIDg5LCA0NSwgNzksIDc4LCA2OSwgMTI4LCA4NCwgODcsIDY5LCA3OCwgODQsIDg5LCA0NSwgNzgsIDczLCAKKyAgICA3OCwgNjksIDEyOCwgODQsIDg3LCA2OSwgNzgsIDg0LCA4OSwgNDUsIDcwLCA3OSwgODUsIDgyLCAxMjgsIDg0LCA4NywgNjksIAorICAgIDc4LCA4NCwgODksIDQ1LCA3MCwgNzMsIDg2LCA2OSwgMTI4LCA4NCwgODcsIDY5LCA3OCwgODQsIDg5LCA0NSwgNjksIDczLCAKKyAgICA3MSwgNzIsIDg0LCAyMDAsIDg0LCA4NywgNjksIDc4LCA4NCwgODksIDQ1LCA2OSwgNzMsIDcxLCA3MiwgODQsIDEyOCwgODQsIAorICAgIDg3LCA2OSwgNzgsIDg0LCA4OSwgMTI4LCA4NCwgODcsIDY5LCA3OCwgODQsIDIxNywgODQsIDg3LCA2OSwgNzYsIDg2LCA2OSwgCisgICAgNDUsIDg0LCA3MiwgNzMsIDgyLCA4NCwgODksIDEyOCwgODQsIDg3LCA2OSwgNzYsIDg2LCA2OSwgMTI4LCA4NCwgODcsIDY5LCAKKyAgICA3NiwgODYsIDE5NywgODQsIDg3LCA2OSwgMTI4LCA4NCwgODcsIDY1LCA2NSwgMTI4LCA4NCwgODcsIDY1LCAxMjgsIDg0LCAKKyAgICA4NiwgODIsIDczLCA2OCwgNzksIDEyOCwgODQsIDg2LCA3MywgNzcsIDY1LCA2OCwgODUsIDIxMCwgODQsIDg1LCA4OCwgCisgICAgMTI4LCA4NCwgODUsIDg1LCA3NywgODUsIDEyOCwgODQsIDg1LCA4NSwgMTI4LCA4NCwgODUsIDg0LCA4NCwgODksIDEyOCwgCisgICAgODQsIDg1LCA4NCwgNjksIDg5LCA2NSwgODMsIDY1LCA4NCwgMTI4LCA4NCwgODUsIDg0LCAxMjgsIDg0LCA4NSwgODIsIDg4LCAKKyAgICAxMjgsIDg0LCA4NSwgODIsIDg1LCAxMjgsIDg0LCA4NSwgODIsIDg0LCA3NiwgNjksIDEyOCwgODQsIDg1LCA4MiwgNzksIAorICAgIDUwLCAxMjgsIDg0LCA4NSwgODIsIDc4LCA4MywgODQsIDczLCA3NiwgNjksIDEyOCwgODQsIDg1LCA4MiwgMjA2LCA4NCwgCisgICAgODUsIDgyLCA3NSwgNzMsIDgzLCAyMDAsIDg0LCA4NSwgODIsIDc1LCA3MywgMTk1LCA4NCwgODUsIDgyLCA2NiwgNjUsIDc4LCAKKyAgICAxMjgsIDg0LCA4NSwgODIsIDEyOCwgODQsIDg1LCA4MCwgMTI4LCA4NCwgODUsIDc5LCA4OCwgMTI4LCA4NCwgODUsIDc5LCAKKyAgICA4NCwgMTI4LCA4NCwgODUsIDc5LCA4MCwgMTI4LCA4NCwgODUsIDc5LCAxMjgsIDg0LCA4NSwgNzgsIDc4LCA4OSwgMTI4LCAKKyAgICA4NCwgODUsIDc3LCA2OSwgODQsIDY5LCA4MywgMTI4LCA4NCwgODUsIDc3LCA2NSwgNjksIDEyOCwgODQsIDg1LCA3NywgCisgICAgMTI4LCA4NCwgODUsIDc2LCA3MywgODAsIDEyOCwgODQsIDg1LCA3NSwgODcsIDY5LCA3OCwgODQsIDczLCA4MywgMTI4LCAKKyAgICA4NCwgODUsIDc1LCAxMjgsIDg0LCA4NSwgNzEsIDgyLCA3MywgMjAzLCA4NCwgODUsIDcxLCA1MCwgMTI4LCA4NCwgODUsIAorICAgIDcxLCAxNzgsIDg0LCA4NSwgNjYsIDEyOCwgODQsIDg1LCA2NSwgODIsIDY5LCAxOTksIDg0LCA4NSwgNjUsIDY5LCA4MCwgCisgICAgMTI4LCA4NCwgODUsIDY1LCA2OSwgMTI4LCA4NCwgMjEzLCA4NCwgODQsIDg1LCA4NSwgMTI4LCA4NCwgODQsIDg1LCA2OCwgCisgICAgNjgsIDY1LCA3MSwgMTI4LCA4NCwgODQsIDg1LCA2OCwgNjgsIDY1LCA2NSwgNzEsIDEyOCwgODQsIDg0LCA4NSwgMTI4LCAKKyAgICA4NCwgODQsIDg0LCA3MiwgNjUsIDEyOCwgODQsIDg0LCA4NCwgNjUsIDEyOCwgODQsIDg0LCA4MywgODUsIDEyOCwgODQsIAorICAgIDg0LCA4MywgNzksIDEyOCwgODQsIDg0LCA4MywgNzMsIDEyOCwgODQsIDg0LCA4MywgNjksIDY5LCAxMjgsIDg0LCA4NCwgCisgICAgODMsIDY5LCAxMjgsIDg0LCA4NCwgODMsIDY1LCAxMjgsIDg0LCA4NCwgNzksIDc5LCAxMjgsIDg0LCA4NCwgNzMsIDczLCAKKyAgICAxMjgsIDg0LCA4NCwgNzMsIDEyOCwgODQsIDg0LCA3MiwgODcsIDY5LCAxMjgsIDg0LCA4NCwgNzIsIDg1LCAxMjgsIDg0LCAKKyAgICA4NCwgNzIsIDc5LCA3OSwgMTI4LCA4NCwgODQsIDcyLCA3OSwgMTI4LCA4NCwgODQsIDcyLCA3MywgMTI4LCA4NCwgODQsIAorICAgIDcyLCA2OSwgNjksIDEyOCwgODQsIDg0LCA3MiwgNjksIDEyOCwgODQsIDg0LCA3MiwgNjUsIDY1LCAxMjgsIDg0LCA4NCwgCisgICAgNzIsIDEyOCwgODQsIDg0LCA2OSwgNzIsIDY5LCA3MiwgMTI4LCA4NCwgODQsIDY5LCA3MiwgNjksIDIwMCwgODQsIDg0LCAKKyAgICA2OSwgNzIsIDEyOCwgODQsIDg0LCA2OSwgMjAwLCA4NCwgODQsIDY5LCA2OSwgMTI4LCA4NCwgODQsIDY1LCA4OSwgNjUsIAorICAgIDc4LCA3OCwgNjUsIDEyOCwgODQsIDg0LCA2NSwgODUsIDEyOCwgODQsIDg0LCA2NSwgNzMsIDEyOCwgODQsIDg0LCA2NSwgCisgICAgNjUsIDEyOCwgODQsIDg0LCA1MCwgMTI4LCA4NCwgODMsIDg3LCA2OSwgMTI4LCA4NCwgODMsIDg3LCA2NiwgMTI4LCA4NCwgCisgICAgODMsIDg3LCA2NSwgMTI4LCA4NCwgODMsIDg2LCAxMjgsIDg0LCA4MywgODMsIDY5LCAxMjgsIDg0LCA4MywgODMsIDY1LCAKKyAgICAxMjgsIDg0LCA4MywgNzksIDIxNCwgODQsIDgzLCA3MywgODUsIDEyOCwgODQsIDgzLCA3MiwgODUsIDcxLCA4MywgMTI4LCAKKyAgICA4NCwgODMsIDcyLCA3OSwgNzksIDc1LCAxMjgsIDg0LCA4MywgNzIsIDc5LCA3OSwgMjAzLCA4NCwgODMsIDcyLCA3OSwgNzksIAorICAgIDc0LCAxMjgsIDg0LCA4MywgNzIsIDY5LCA4MywgMTI4LCA4NCwgODMsIDcyLCA2OSwgNzEsIDEyOCwgODQsIDgzLCA3MiwgCisgICAgNjksIDE5OSwgODQsIDgzLCA3MiwgNjksIDY5LCA3NCwgMTI4LCA4NCwgODMsIDcyLCA2OSwgMTI4LCA4NCwgODMsIDcyLCAKKyAgICA2NSwgMTk0LCA4NCwgODMsIDcyLCA2NSwgMTI4LCA4NCwgODMsIDY5LCA4MiwgNjksIDEyOCwgODQsIDgzLCA2OSwgNjksIAorICAgIDY2LCAxMjgsIDg0LCA4MywgNjUsIDY4LCA3MywgMTI4LCA4NCwgODMsIDY1LCA2OCwgMjAxLCA4NCwgODMsIDY1LCA2NiwgCisgICAgMTI4LCA4NCwgODMsIDY1LCA2NSwgNjgsIDczLCA4OSwgMTI4LCA4NCwgODMsIDY1LCA2NSwgMTI4LCA4NCwgODMsIDE5MywgCisgICAgODQsIDgyLCA4OSwgNjYsIDc2LCA3MywgNzksIDIwNiwgODQsIDgyLCA4NSwgODQsIDcyLCAxMjgsIDg0LCA4MiwgODUsIDc4LCAKKyAgICA3NSwgMTI4LCA4NCwgODIsIDg1LCA3OCwgNjcsIDY1LCA4NCwgNjksIDE5NiwgODQsIDgyLCA4NSwgNzcsIDgwLCA2OSwgODQsIAorICAgIDEyOCwgODQsIDgyLCA4NSwgNzcsIDgwLCA0NSwgNTcsIDEyOCwgODQsIDgyLCA4NSwgNzcsIDgwLCA0NSwgNTYsIDEyOCwgCisgICAgODQsIDgyLCA4NSwgNzcsIDgwLCA0NSwgNTUsIDEyOCwgODQsIDgyLCA4NSwgNzcsIDgwLCA0NSwgNTQsIDEyOCwgODQsIDgyLCAKKyAgICA4NSwgNzcsIDgwLCA0NSwgNTMsIDEyOCwgODQsIDgyLCA4NSwgNzcsIDgwLCA0NSwgNTIsIDEyOCwgODQsIDgyLCA4NSwgNzcsIAorICAgIDgwLCA0NSwgNTEsIDEyOCwgODQsIDgyLCA4NSwgNzcsIDgwLCA0NSwgNTAsIDQ5LCAxMjgsIDg0LCA4MiwgODUsIDc3LCA4MCwgCisgICAgNDUsIDUwLCA0OCwgMTI4LCA4NCwgODIsIDg1LCA3NywgODAsIDQ1LCA1MCwgMTI4LCA4NCwgODIsIDg1LCA3NywgODAsIDQ1LCAKKyAgICA0OSwgNTcsIDEyOCwgODQsIDgyLCA4NSwgNzcsIDgwLCA0NSwgNDksIDU2LCAxMjgsIDg0LCA4MiwgODUsIDc3LCA4MCwgNDUsIAorICAgIDQ5LCA1NSwgMTI4LCA4NCwgODIsIDg1LCA3NywgODAsIDQ1LCA0OSwgNTQsIDEyOCwgODQsIDgyLCA4NSwgNzcsIDgwLCA0NSwgCisgICAgNDksIDUzLCAxMjgsIDg0LCA4MiwgODUsIDc3LCA4MCwgNDUsIDQ5LCA1MiwgMTI4LCA4NCwgODIsIDg1LCA3NywgODAsIDQ1LCAKKyAgICA0OSwgNTEsIDEyOCwgODQsIDgyLCA4NSwgNzcsIDgwLCA0NSwgNDksIDUwLCAxMjgsIDg0LCA4MiwgODUsIDc3LCA4MCwgNDUsIAorICAgIDQ5LCA0OSwgMTI4LCA4NCwgODIsIDg1LCA3NywgODAsIDQ1LCA0OSwgNDgsIDEyOCwgODQsIDgyLCA4NSwgNzcsIDgwLCA0NSwgCisgICAgNDksIDEyOCwgODQsIDgyLCA4NSwgNjksIDEyOCwgODQsIDgyLCA4NSwgNjcsIDc1LCAxMjgsIDg0LCA4MiwgNzksIDgwLCAKKyAgICA3MywgNjcsIDY1LCAyMDQsIDg0LCA4MiwgNzksIDgwLCA3MiwgODksIDEyOCwgODQsIDgyLCA3OSwgNzcsIDczLCA3NSwgNzksIAorICAgIDgzLCA4OSwgNzgsIDY1LCA3MSwgNzcsIDY1LCAxMjgsIDg0LCA4MiwgNzksIDc3LCA3MywgNzUsIDc5LCA4MCwgODMsIDczLCAKKyAgICA3MCwgNzMsIDgzLCA4NCwgNzksIDc4LCAxMjgsIDg0LCA4MiwgNzksIDc3LCA3MywgNzUsIDc5LCA4MCwgNjUsIDgyLCA2NSwgCisgICAgNzUsIDY1LCA3NiwgNjksIDgzLCA3NywgNjUsIDEyOCwgODQsIDgyLCA3OSwgNzcsIDczLCA3NSwgNzksIDc4LCAxMjgsIDg0LCAKKyAgICA4MiwgNzksIDc3LCA3MywgNzUsIDc5LCAyMDYsIDg0LCA4MiwgNzksIDc3LCA3MywgNzUsIDc5LCA3NiwgODksIDcxLCA3MywgCisgICAgODMsIDc3LCA2NSwgMTI4LCA4NCwgODIsIDc5LCA3NiwgNzYsIDY5LCA4OSwgNjYsIDg1LCA4MywgMTI4LCA4NCwgODIsIDc5LCAKKyAgICA3NSwgODUsIDg0LCA2NSwgODMsIDg0LCAyMDEsIDg0LCA4MiwgNzksIDY5LCA5MCwgNjksIDc4LCA3MywgNjUsIDIwNiwgODQsIAorICAgIDgyLCA3MywgODUsIDc3LCA4MCwgNzIsIDEyOCwgODQsIDgyLCA3MywgODQsIDc5LCAyMTEsIDg0LCA4MiwgNzMsIDg0LCA3MywgCisgICAgNzcsIDc5LCA4MiwgNzMsIDc5LCA3OCwgMTI4LCA4NCwgODIsIDczLCA4MywgNzMsIDc3LCA3OSwgODUsIDEyOCwgODQsIDgyLCAKKyAgICA3MywgODMsIDY5LCA3NywgNjksIDEyOCwgODQsIDgyLCA3MywgODAsIDc5LCA2OCwgMTI4LCA4NCwgODIsIDczLCA4MCwgNzYsIAorICAgIDczLCAxMjgsIDg0LCA4MiwgNzMsIDgwLCA3NiwgMTk3LCA4NCwgODIsIDczLCA3OSwgMjA2LCA4NCwgODIsIDczLCA3NiwgCisgICAgNzYsIDczLCA3OSwgNzgsIDgzLCAxMjgsIDg0LCA4MiwgNzMsIDczLCA4MywgNjUsIDgwLCAxMjgsIDg0LCA4MiwgNzMsIDcxLCAKKyAgICA4MiwgNjUsIDc3LCA3NywgNzksIDIxMSwgODQsIDgyLCA3MywgNzEsIDgyLCA2NSwgMjA1LCA4NCwgODIsIDczLCA3MSwgNzksIAorICAgIDgyLCA3MSwgNzksIDc4LCAxMjgsIDg0LCA4MiwgNzMsIDcwLCA3OSwgNzgsIDczLCA2NSwgODMsIDEyOCwgODQsIDgyLCA3MywgCisgICAgNzAsIDc5LCA3NiwgNzMsIDY1LCA4NCwgMTk3LCA4NCwgODIsIDczLCA2OCwgNjksIDc4LCA4NCwgMTI4LCA4NCwgODIsIDczLCAKKyAgICA2OCwgNjksIDc4LCAyMTIsIDg0LCA4MiwgNzMsIDY3LCA3OSwgNzYsIDc5LCA3OCwgMTI4LCA4NCwgODIsIDczLCA2NSwgNzgsIAorICAgIDcxLCA4NSwgNzYsIDY1LCAyMTAsIDg0LCA4MiwgNzMsIDY1LCA3OCwgNzEsIDc2LCA2OSwgNDUsIDgyLCA3OSwgODUsIDc4LCAKKyAgICAxOTYsIDg0LCA4MiwgNzMsIDY1LCA3OCwgNzEsIDc2LCA2OSwgNDUsIDcyLCA2OSwgNjUsIDY4LCA2OSwgMTk2LCA4NCwgODIsIAorICAgIDczLCA2NSwgNzgsIDcxLCA3NiwgNjksIDEyOCwgODQsIDgyLCA3MywgNjUsIDc4LCA3MSwgNzYsIDE5NywgODQsIDgyLCA3MywgCisgICAgNjUsIDEyOCwgODQsIDgyLCA3MywgMTI4LCA4NCwgODIsIDY5LCA4MywgNzMsIDc2LCA3NiwgNzksIDEyOCwgODQsIDgyLCAKKyAgICA2OSwgNzgsIDY4LCAxMjgsIDg0LCA4MiwgNjksIDc4LCAxOTYsIDg0LCA4MiwgNjksIDc3LCA3OSwgNzYsIDc5LCA0NSwgNTEsIAogICAgIDEyOCwgODQsIDgyLCA2OSwgNzcsIDc5LCA3NiwgNzksIDQ1LCA1MCwgMTI4LCA4NCwgODIsIDY5LCA3NywgNzksIDc2LCA3OSwgCiAgICAgNDUsIDQ5LCAxMjgsIDg0LCA4MiwgNjksIDY5LCAxMjgsIDg0LCA4MiwgNjksIDE5NywgODQsIDgyLCA2OSwgNjUsIDY4LCAKICAgICA3MywgNzgsIDcxLCAxMjgsIDg0LCA4MiwgNjUsIDg5LCAxMjgsIDg0LCA4MiwgNjUsIDgwLCA2OSwgOTAsIDczLCA4NSwgNzcsIApAQCAtNTgzLDE0MTQgKzYxMSwxNDgzIEBACiAgICAgODQsIDgyLCA2NSwgMjA1LCA4NCwgODIsIDY1LCA3MywgNzgsIDEyOCwgODQsIDgyLCA2NSwgNzMsIDIwNiwgODQsIDgyLCAKICAgICA2NSwgNzMsIDc2LCA3MywgNzgsIDE5OSwgODQsIDgyLCA2NSwgNzAsIDcwLCA3MywgNjcsIDEyOCwgODQsIDgyLCA2NSwgNzAsIAogICAgIDcwLCA3MywgMTk1LCA4NCwgODIsIDY1LCA2OCwgMTk3LCA4NCwgODIsIDY1LCA2NywgODQsIDc5LCA4MiwgMTI4LCA4NCwgCi0gICAgODIsIDY1LCA2NywgNzUsIDEyOCwgODQsIDgyLCAxMjgsIDg0LCA3OSwgODgsIDEyOCwgODQsIDc5LCA4NywgNjksIDgyLCAKLSAgICAxMjgsIDg0LCA3OSwgODUsIDgyLCA3OCwgNzksIDczLCAyMTEsIDg0LCA3OSwgODQsIDY1LCAyMDQsIDg0LCA3OSwgODQsIAotICAgIDEyOCwgODQsIDc5LCA4MiwgODQsIDc5LCA3MywgODMsIDE5NywgODQsIDc5LCA4MiwgNjcsIDg1LCA3NiwgODUsIDgzLCAKLSAgICAxMjgsIDg0LCA3OSwgODIsIDY3LCA4NSwgNzYsIDg1LCAyMTEsIDg0LCA3OSwgODIsIDY3LCA3MiwgMTI4LCA4NCwgNzksIAotICAgIDgxLCAxMjgsIDg0LCA3OSwgODAsIDY2LCA2NSwgODIsIDEyOCwgODQsIDc5LCA4MCwgNDUsIDc2LCA3MywgNzEsIDcyLCA4NCwgCi0gICAgNjksIDE5NiwgODQsIDc5LCA4MCwgMTI4LCA4NCwgNzksIDIwOCwgODQsIDc5LCA3OSwgODQsIDcyLCAxMjgsIDg0LCA3OSwgCi0gICAgNzksIDc4LCAxMjgsIDg0LCA3OSwgNzgsIDc5LCA4MywgMTI4LCA4NCwgNzksIDc4LCA3MSwgODUsIDY5LCAxMjgsIDg0LCAKLSAgICA3OSwgNzgsIDcxLCA4NSwgMTk3LCA4NCwgNzksIDc4LCA3MSwgMTI4LCA4NCwgNzksIDc4LCA2OSwgNDUsIDU2LCAxMjgsIAotICAgIDg0LCA3OSwgNzgsIDY5LCA0NSwgNTUsIDEyOCwgODQsIDc5LCA3OCwgNjksIDQ1LCA1NCwgMTI4LCA4NCwgNzksIDc4LCA2OSwgCi0gICAgNDUsIDUzLCAxMjgsIDg0LCA3OSwgNzgsIDY5LCA0NSwgNTIsIDEyOCwgODQsIDc5LCA3OCwgNjksIDQ1LCA1MSwgMTI4LCAKLSAgICA4NCwgNzksIDc4LCA2OSwgNDUsIDUwLCAxMjgsIDg0LCA3OSwgNzgsIDY5LCA0NSwgNDksIDEyOCwgODQsIDc5LCA3OCwgNjksIAotICAgIDEyOCwgODQsIDc5LCA3OCwgNjUsIDIwNCwgODQsIDc5LCA3NywgODAsIDczLCAxMjgsIDg0LCA3OSwgNzcsIDY1LCA4NCwgCi0gICAgNzksIDEyOCwgODQsIDc5LCA3NiwgNzksIDc4LCA3MSwgMTI4LCA4NCwgNzksIDc1LCA4OSwgMjA3LCA4NCwgNzksIDczLCAKLSAgICA3NiwgNjksIDg0LCAxMjgsIDg0LCA3OSwgNzEsIDY5LCA4NCwgNzIsIDY5LCA4MiwgMTI4LCA4NCwgNzksIDY4LCAyMDcsIAotICAgIDg0LCA3OSwgNjUsIDc4LCA2OCwgNjUsIDc1LCA3MiwgNzMsIDY1LCA4NCwgMTI4LCA4NCwgNzksIDY1LCAxMjgsIDg0LCA3OCwgCi0gICAgMTI4LCA4NCwgNzYsIDg2LCAxMjgsIDg0LCA3NiwgODUsIDEyOCwgODQsIDc2LCA3OSwgMTI4LCA4NCwgNzYsIDczLCAxMjgsIAotICAgIDg0LCA3NiwgNzIsIDg5LCA2NSwgMTI4LCA4NCwgNzYsIDcyLCA4NywgNjksIDEyOCwgODQsIDc2LCA3MiwgODUsIDEyOCwgCi0gICAgODQsIDc2LCA3MiwgNzksIDc5LCAxMjgsIDg0LCA3NiwgNzIsIDc5LCAxMjgsIDg0LCA3NiwgNzIsIDczLCAxMjgsIDg0LCAKLSAgICA3NiwgNzIsIDY5LCA2OSwgMTI4LCA4NCwgNzYsIDcyLCA2OSwgMTI4LCA4NCwgNzYsIDcyLCA2NSwgMTI4LCA4NCwgNzYsIAotICAgIDY5LCA2OSwgMTI4LCA4NCwgNzYsIDY1LCAxMjgsIDg0LCA3NCwgNjksIDEyOCwgODQsIDczLCA4OCwgMTI4LCA4NCwgNzMsIAotICAgIDg3LCA3OCwgMTI4LCA4NCwgNzMsIDg3LCA2NSwgMjE4LCA4NCwgNzMsIDg0LCA4NSwgNjUsIDY5LCA4MCwgMTI4LCA4NCwgCi0gICAgNzMsIDg0LCA3NiwgNzksIDEyOCwgODQsIDczLCA4NCwgMTkzLCA4NCwgNzMsIDg0LCAxMjgsIDg0LCA3MywgODIsIDg5LCAKLSAgICA2NSwgNzUsIDEyOCwgODQsIDczLCA4MiwgODQsIDE5MywgODQsIDczLCA4MiwgNzksIDc4LCA3MywgNjUsIDIwNiwgODQsIAotICAgIDczLCA4MiwgNjksIDE5NiwgODQsIDczLCA4MiwgMTI4LCA4NCwgNzMsIDIxMCwgODQsIDczLCA4MCwgODAsIDczLCAxMjgsIAotICAgIDg0LCA3MywgODAsIDY5LCA3MiwgNjUsIDEyOCwgODQsIDczLCA4MCwgMTI4LCA4NCwgNzMsIDIwOCwgODQsIDczLCA3OCwgCi0gICAgODksIDEyOCwgODQsIDczLCA3OCwgMjE3LCA4NCwgNzMsIDc4LCA3OCwgNjksIDEyOCwgODQsIDczLCA3OCwgNjcsIDg0LCAKLSAgICA4NSwgODIsIDY5LCAxMjgsIDg0LCA3MywgNzgsIDY1LCA3MSwgNzcsIDY1LCAxMjgsIDg0LCA3MywgNzcsIDY5LCA4MywgCi0gICAgMTI4LCA4NCwgNzMsIDc3LCA2OSwgMjEwLCA4NCwgNzMsIDc3LCA2OSwgMTI4LCA4NCwgNzMsIDc2LCA2OCwgMTk3LCA4NCwgCi0gICAgNzMsIDc2LCAxMjgsIDg0LCA3MywgMjA0LCA4NCwgNzMsIDc1LCA2OSwgODUsIDg0LCA0NSwgODQsIDcyLCA3MywgNjksIDg1LCAKLSAgICA4NCwgNzIsIDEyOCwgODQsIDczLCA3NSwgNjksIDg1LCA4NCwgNDUsIDgzLCA3MywgNzksIDgzLCA0NSwgNzUsIDczLCA4OSwgCi0gICAgNjksIDc5LCA3NSwgMTI4LCA4NCwgNzMsIDc1LCA2OSwgODUsIDg0LCA0NSwgODMsIDczLCA3OSwgODMsIDEyOCwgODQsIDczLCAKLSAgICA3NSwgNjksIDg1LCA4NCwgNDUsIDgyLCA3MywgNjksIDg1LCA3NiwgMTI4LCA4NCwgNzMsIDc1LCA2OSwgODUsIDg0LCA0NSwgCi0gICAgODAsIDczLCA2OSwgODUsIDgwLCAxMjgsIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIDQ1LCA3NywgNzMsIDY5LCA4NSwgNzcsIAotICAgIDEyOCwgODQsIDczLCA3NSwgNjksIDg1LCA4NCwgNDUsIDc1LCA3MywgODksIDY5LCA3OSwgNzUsIDEyOCwgODQsIDczLCA3NSwgCi0gICAgNjksIDg1LCA4NCwgNDUsIDY3LCA3MywgNjksIDg1LCA2NywgMTI4LCA4NCwgNzMsIDc1LCA2OSwgODUsIDg0LCA0NSwgNjcsIAotICAgIDcyLCA3MywgNjksIDg1LCA2NywgNzIsIDEyOCwgODQsIDczLCA3NSwgNjksIDg1LCA4NCwgMTI4LCA4NCwgNzMsIDc1LCA2OSwgCi0gICAgODUsIDIxMiwgODQsIDczLCA3MSwgNzIsIDg0LCA3NiwgODksIDQ1LCA2NywgNzYsIDc5LCA4MywgNjksIDE5NiwgODQsIDczLCAKLSAgICA3MSwgNzIsIDIxMiwgODQsIDczLCA3MSwgNjksIDgyLCAxMjgsIDg0LCA3MywgNzEsIDY5LCAyMTAsIDg0LCA3MywgNzAsIAotICAgIDczLCA3OCwgNjUsIDcxLCAyMDAsIDg0LCA3MywgNjksIDg4LCAxMjgsIDg0LCA3MywgNjksIDgwLCAxMjgsIDg0LCA3MywgCi0gICAgMTk3LCA4NCwgNzMsIDY3LCA3NSwgNjksIDg0LCAxMjgsIDg0LCA3MywgNjcsIDc1LCAxMjgsIDg0LCA3MywgNjcsIDIwMywgCi0gICAgODQsIDczLCA2NSwgODIsIDY1LCAxMjgsIDg0LCA3MiwgOTAsIDEyOCwgODQsIDcyLCA4OSwgNzksIDc5LCAyMDUsIDg0LCAKLSAgICA3MiwgODcsIDc5LCA3OSwgMTI4LCA4NCwgNzIsIDg3LCA3OSwgMTI4LCA4NCwgNzIsIDg3LCA3MywgNzMsIDEyOCwgODQsIAotICAgIDcyLCA4NywgNzMsIDEyOCwgODQsIDcyLCA4NywgNjksIDY5LCAxMjgsIDg0LCA3MiwgODcsIDY1LCA2NSwgMTI4LCA4NCwgCi0gICAgNzIsIDg3LCA2NSwgMTI4LCA4NCwgNzIsIDg1LCA4MiwgMjExLCA4NCwgNzIsIDg1LCA4MiwgNzMsIDgzLCA2NSwgMjE4LCAKLSAgICA4NCwgNzIsIDg1LCA3OCwgNzEsIDEyOCwgODQsIDcyLCA4NSwgNzgsIDY4LCA2OSwgODIsIDgzLCA4NCwgNzksIDgyLCA3NywgCi0gICAgMTI4LCA4NCwgNzIsIDg1LCA3OCwgNjgsIDY5LCA4MiwgMTI4LCA4NCwgNzIsIDg1LCA3OCwgNjgsIDY5LCAyMTAsIDg0LCAKLSAgICA3MiwgODUsIDc3LCA2NiwgMjExLCA4NCwgNzIsIDgyLCA3OSwgODcsIDczLCA3OCwgMTk5LCA4NCwgNzIsIDgyLCA3OSwgODUsIAotICAgIDcxLCA3MiwgMTI4LCA4NCwgNzIsIDgyLCA3OSwgODUsIDcxLCAyMDAsIDg0LCA3MiwgODIsIDY5LCA2OSwgNDUsIDg0LCA3MiwgCi0gICAgNzMsIDgyLCA4NCwgODksIDEyOCwgODQsIDcyLCA4MiwgNjksIDY5LCA0NSwgODAsIDY5LCA4MiwgNDUsIDY5LCAyMDUsIDg0LCAKLSAgICA3MiwgODIsIDY5LCA2OSwgNDUsIDc2LCA3MywgNzgsIDE5NywgODQsIDcyLCA4MiwgNjksIDY5LCA0NSwgNjksIDIwNSwgODQsIAotICAgIDcyLCA4MiwgNjksIDY5LCA0NSwgMTk2LCA4NCwgNzIsIDgyLCA2OSwgNjUsIDY4LCAxMjgsIDg0LCA3MiwgNzksIDg1LCA4MywgCi0gICAgNjUsIDc4LCA2OCwgMjExLCA4NCwgNzIsIDc5LCA4NSwgODMsIDY1LCA3OCwgNjgsIDEyOCwgODQsIDcyLCA3OSwgODUsIDgzLCAKLSAgICA2NSwgNzgsIDE5NiwgODQsIDcyLCA3OSwgODUsIDcxLCA3MiwgMjEyLCA4NCwgNzIsIDc5LCA4NSwgMTI4LCA4NCwgNzIsIAotICAgIDc5LCA4MiwgNzgsIDEyOCwgODQsIDcyLCA3OSwgODIsIDIwNiwgODQsIDcyLCA3OSwgNzgsIDcxLCAxMjgsIDg0LCA3MiwgCi0gICAgNzksIDY1LCAxMjgsIDg0LCA3MiwgMjA3LCA4NCwgNzIsIDczLCA4NSwgODQsIDcyLCAxMjgsIDg0LCA3MiwgNzMsIDg0LCAKLSAgICA2NSwgMTI4LCA4NCwgNzIsIDczLCA4MiwgODQsIDg5LCA0NSwgODMsIDY5LCA2NywgNzksIDc4LCAxOTYsIDg0LCA3MiwgNzMsIAotICAgIDgyLCA4NCwgODksIDQ1LCA3OSwgNzgsIDY5LCAxMjgsIDg0LCA3MiwgNzMsIDgyLCA4NCwgMjE3LCA4NCwgNzIsIDczLCA4MiwgCi0gICAgODQsIDY5LCA2OSwgNzgsIDEyOCwgODQsIDcyLCA3MywgODIsIDg0LCA2OSwgNjksIDIwNiwgODQsIDcyLCA3MywgODIsIDY4LCAKLSAgICA4MywgMTI4LCA4NCwgNzIsIDczLCA4MiwgNjgsIDIxMSwgODQsIDcyLCA3MywgODIsIDY4LCAxMjgsIDg0LCA3MiwgNzMsIAotICAgIDgyLCAxOTYsIDg0LCA3MiwgNzMsIDIwNiwgODQsIDcyLCA3MywgNzMsIDEyOCwgODQsIDcyLCA3MywgNzEsIDcyLCAxMjgsIAotICAgIDg0LCA3MiwgNzMsIDY5LCA4NSwgODQsIDIwMCwgODQsIDcyLCA2OSwgODksIDEyOCwgODQsIDcyLCA2OSwgODQsIDcyLCA2OSwgCi0gICAgMTI4LCA4NCwgNzIsIDY5LCA4NCwgNzIsIDEyOCwgODQsIDcyLCA2OSwgODQsIDY1LCAxMjgsIDg0LCA3MiwgNjksIDg0LCAKLSAgICAxOTMsIDg0LCA3MiwgNjksIDgzLCA4MCwgNzMsIDY1LCAyMDYsIDg0LCA3MiwgNjksIDgzLCA2OSwgNzksIDgzLCAxMjgsIAotICAgIDg0LCA3MiwgNjksIDgzLCA2OSwgNzksIDIxMSwgODQsIDcyLCA2OSwgMjExLCA4NCwgNzIsIDY5LCA4MiwgNzcsIDc5LCA2OCwgCi0gICAgODksIDc4LCA2NSwgNzcsIDczLCA2NywgMTI4LCA4NCwgNzIsIDY5LCA4MiwgNjksIDcwLCA3OSwgODIsIDY5LCAxMjgsIDg0LCAKLSAgICA3MiwgNjksIDgyLCAxOTcsIDg0LCA3MiwgNjksIDIwNiwgODQsIDcyLCA2OSwgNzcsIDY1LCA4NCwgNzMsIDgzLCA3NywgNzksIAotICAgIDIxMSwgODQsIDcyLCA2OSwgNzcsIDY1LCAxMjgsIDg0LCA3MiwgNjksIDc3LCAxOTMsIDg0LCA3MiwgNjksIDcyLCAxMjgsIAotICAgIDg0LCA3MiwgNjksIDIwMCwgODQsIDcyLCAxOTcsIDg0LCA3MiwgNjUsIDg3LCAxMjgsIDg0LCA3MiwgNjUsIDc4LCA4NCwgCi0gICAgNzIsIDY1LCA3NSwgNzIsIDY1LCA4NCwgMTI4LCA4NCwgNzIsIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDg0LCA3MiwgNjUsIDc4LCAKLSAgICAxMjgsIDg0LCA3MiwgNjUsIDIwNiwgODQsIDcyLCA2NSwgNzYsIDEyOCwgODQsIDcyLCA2NSwgMjA0LCA4NCwgNzIsIDY1LCAKLSAgICA3MiwgNjUsIDc4LCAxMjgsIDg0LCA3MiwgNjUsIDY1LCA3OCwgMTkzLCA4NCwgNzIsIDY1LCA2NSwgNzYsIDg1LCAxMjgsIAotICAgIDg0LCA3MiwgNDUsIDY3LCA4MiwgNjksIDE5NywgODQsIDY5LCA4OCwgODQsIDEyOCwgODQsIDY5LCA4OCwgMTI4LCA4NCwgCi0gICAgNjksIDg2LCA3MywgODIsIDEyOCwgODQsIDY5LCA4NSwgODQsIDY5LCA4NSwgODgsIDEyOCwgODQsIDY5LCA4NSwgODQsIDY5LCAKLSAgICA4NSwgODcsIDY5LCA3OCwgMTI4LCA4NCwgNjksIDg1LCA4NCwgMTI4LCA4NCwgNjksIDg1LCA3OCwgMTI4LCA4NCwgNjksIAotICAgIDg1LCA2NSwgNjksIDgxLCAxMjgsIDg0LCA2OSwgODUsIDY1LCA2OSwgNzgsIDEyOCwgODQsIDY5LCA4NSwgMTI4LCA4NCwgCi0gICAgNjksIDg0LCA4MiwgNjUsIDgzLCA3MywgNzcsIDc5LCA4NSwgMTI4LCA4NCwgNjksIDg0LCA4MiwgNjUsIDgzLCA2OSwgNzcsIAotICAgIDY5LCAxMjgsIDg0LCA2OSwgODQsIDgyLCA2NSwgODAsIDc2LCA3MywgMTI4LCA4NCwgNjksIDg0LCA4MiwgNjUsIDcwLCA3OSwgCi0gICAgNzgsIDczLCA2NSwgODMsIDEyOCwgODQsIDY5LCA4NCwgNzIsIDEyOCwgODQsIDY5LCA4NCwgMjAwLCA4NCwgNjksIDg0LCAKLSAgICA2NSwgODIsIDg0LCA3OSwgMjExLCA4NCwgNjksIDg0LCA2NSwgODIsIDg0LCA3MywgNzcsIDc5LCA4MiwgNzMsIDc5LCA3OCwgCi0gICAgMTI4LCA4NCwgNjksIDg0LCAxMjgsIDg0LCA2OSwgMjEyLCA4NCwgNjksIDgzLCA4MywgNjksIDgyLCA2NSwgMTI4LCA4NCwgCi0gICAgNjksIDgzLCA4MywgNjksIDgyLCAxOTMsIDg0LCA2OSwgODMsIDgzLCA2NSwgODIsIDc5LCAyMDYsIDg0LCA2OSwgODMsIAorICAgIDgyLCA2NSwgNjcsIDc1LCA2NiwgNjUsIDc2LCA3NiwgMTI4LCA4NCwgODIsIDY1LCA2NywgNzUsIDEyOCwgODQsIDgyLCA2NSwgCisgICAgMTI4LCA4NCwgODIsIDEyOCwgODQsIDc5LCA4OCwgMTI4LCA4NCwgNzksIDg3LCA2OSwgODIsIDEyOCwgODQsIDc5LCA4NiwgCisgICAgMTI4LCA4NCwgNzksIDg1LCA4MiwgNzgsIDc5LCA3MywgMjExLCA4NCwgNzksIDg1LCA2NywgNzIsIDg0LCA3OSwgNzgsIAorICAgIDE5NywgODQsIDc5LCA4NCwgNjUsIDIwNCwgODQsIDc5LCA4NCwgMTI4LCA4NCwgNzksIDgzLCAxMjgsIDg0LCA3OSwgODIsIAorICAgIDg0LCA3OSwgNzMsIDgzLCAxOTcsIDg0LCA3OSwgODIsIDc4LCA2NSwgNjgsIDc5LCAxMjgsIDg0LCA3OSwgODIsIDY3LCA4NSwgCisgICAgNzYsIDg1LCA4MywgMTI4LCA4NCwgNzksIDgyLCA2NywgODUsIDc2LCA4NSwgMjExLCA4NCwgNzksIDgyLCA2NywgNzIsIAorICAgIDEyOCwgODQsIDc5LCA4MSwgMTI4LCA4NCwgNzksIDgwLCA2NiwgNjUsIDgyLCAxMjgsIDg0LCA3OSwgODAsIDQ1LCA3NiwgCisgICAgNzMsIDcxLCA3MiwgODQsIDY5LCAxOTYsIDg0LCA3OSwgODAsIDEyOCwgODQsIDc5LCAyMDgsIDg0LCA3OSwgNzksIDg0LCAKKyAgICA3MiwgMTI4LCA4NCwgNzksIDc5LCA3OCwgMTI4LCA4NCwgNzksIDc4LCA3OSwgODMsIDEyOCwgODQsIDc5LCA3OCwgNzEsIAorICAgIDg1LCA2OSwgMTI4LCA4NCwgNzksIDc4LCA3MSwgODUsIDE5NywgODQsIDc5LCA3OCwgNzEsIDEyOCwgODQsIDc5LCA3OCwgCisgICAgNjksIDQ1LCA1NiwgMTI4LCA4NCwgNzksIDc4LCA2OSwgNDUsIDU1LCAxMjgsIDg0LCA3OSwgNzgsIDY5LCA0NSwgNTQsIAorICAgIDEyOCwgODQsIDc5LCA3OCwgNjksIDQ1LCA1MywgMTI4LCA4NCwgNzksIDc4LCA2OSwgNDUsIDUyLCAxMjgsIDg0LCA3OSwgCisgICAgNzgsIDY5LCA0NSwgNTEsIDEyOCwgODQsIDc5LCA3OCwgNjksIDQ1LCA1MCwgMTI4LCA4NCwgNzksIDc4LCA2OSwgNDUsIDQ5LCAKKyAgICAxMjgsIDg0LCA3OSwgNzgsIDY5LCAxMjgsIDg0LCA3OSwgNzgsIDY1LCAyMDQsIDg0LCA3OSwgNzcsIDgwLCA3MywgMTI4LCAKKyAgICA4NCwgNzksIDc3LCA2NSwgODQsIDc5LCAxMjgsIDg0LCA3OSwgNzYsIDc5LCA3OCwgNzEsIDEyOCwgODQsIDc5LCA3NSwgODksIAorICAgIDIwNywgODQsIDc5LCA3MywgNzYsIDY5LCA4NCwgMTI4LCA4NCwgNzksIDcxLCA2OSwgODQsIDcyLCA2OSwgODIsIDEyOCwgCisgICAgODQsIDc5LCA2OCwgMjA3LCA4NCwgNzksIDY1LCA3OCwgNjgsIDY1LCA3NSwgNzIsIDczLCA2NSwgODQsIDEyOCwgODQsIDc5LCAKKyAgICA2NSwgMTI4LCA4NCwgNzgsIDEyOCwgODQsIDc2LCA4NiwgMTI4LCA4NCwgNzYsIDg1LCAxMjgsIDg0LCA3NiwgNzksIDEyOCwgCisgICAgODQsIDc2LCA3MywgMTI4LCA4NCwgNzYsIDcyLCA4OSwgNjUsIDEyOCwgODQsIDc2LCA3MiwgODcsIDY5LCAxMjgsIDg0LCAKKyAgICA3NiwgNzIsIDg1LCAxMjgsIDg0LCA3NiwgNzIsIDc5LCA3OSwgMTI4LCA4NCwgNzYsIDcyLCA3OSwgMTI4LCA4NCwgNzYsIAorICAgIDcyLCA3MywgMTI4LCA4NCwgNzYsIDcyLCA2OSwgNjksIDEyOCwgODQsIDc2LCA3MiwgNjksIDEyOCwgODQsIDc2LCA3MiwgCisgICAgNjUsIDEyOCwgODQsIDc2LCA2OSwgNjksIDEyOCwgODQsIDc2LCA2NSwgMTI4LCA4NCwgNzQsIDY5LCAxMjgsIDg0LCA3MywgCisgICAgODgsIDEyOCwgODQsIDczLCA4NywgODIsIDEyOCwgODQsIDczLCA4NywgNzgsIDEyOCwgODQsIDczLCA4NywgNjUsIDIxOCwgCisgICAgODQsIDczLCA4NCwgODUsIDY1LCA2OSwgODAsIDEyOCwgODQsIDczLCA4NCwgNzYsIDc5LCAxMjgsIDg0LCA3MywgODQsIAorICAgIDE5MywgODQsIDczLCA4NCwgMTI4LCA4NCwgNzMsIDgyLCA4OSwgNjUsIDc1LCAxMjgsIDg0LCA3MywgODIsIDg0LCAxOTMsIAorICAgIDg0LCA3MywgODIsIDc5LCA3OCwgNzMsIDY1LCAyMDYsIDg0LCA3MywgODIsIDcyLCA4NSwgODQsIDE5MywgODQsIDczLCA4MiwgCisgICAgNjksIDE5NiwgODQsIDczLCA4MiwgMTI4LCA4NCwgNzMsIDIxMCwgODQsIDczLCA4MCwgODAsIDczLCAxMjgsIDg0LCA3MywgCisgICAgODAsIDY5LCA3MiwgNjUsIDEyOCwgODQsIDczLCA4MCwgMTI4LCA4NCwgNzMsIDIwOCwgODQsIDczLCA3OCwgODksIDEyOCwgCisgICAgODQsIDczLCA3OCwgMjE3LCA4NCwgNzMsIDc4LCA3OCwgNjksIDEyOCwgODQsIDczLCA3OCwgNjcsIDg0LCA4NSwgODIsIDY5LCAKKyAgICAxMjgsIDg0LCA3MywgNzgsIDY1LCA3MSwgNzcsIDY1LCAxMjgsIDg0LCA3MywgNzcsIDY5LCA4MywgMTI4LCA4NCwgNzMsIAorICAgIDc3LCA2OSwgMjEwLCA4NCwgNzMsIDc3LCA2OSwgMTI4LCA4NCwgNzMsIDc2LCA2OSwgODMsIDEyOCwgODQsIDczLCA3NiwgCisgICAgNjgsIDY5LCAxMjgsIDg0LCA3MywgNzYsIDY4LCAxOTcsIDg0LCA3MywgNzYsIDEyOCwgODQsIDczLCAyMDQsIDg0LCA3MywgCisgICAgNzUsIDY5LCA4NSwgODQsIDQ1LCA4NCwgNzIsIDczLCA2OSwgODUsIDg0LCA3MiwgMTI4LCA4NCwgNzMsIDc1LCA2OSwgODUsIAorICAgIDg0LCA0NSwgODMsIDczLCA3OSwgODMsIDQ1LCA3NSwgNzMsIDg5LCA2OSwgNzksIDc1LCAxMjgsIDg0LCA3MywgNzUsIDY5LCAKKyAgICA4NSwgODQsIDQ1LCA4MywgNzMsIDc5LCA4MywgMTI4LCA4NCwgNzMsIDc1LCA2OSwgODUsIDg0LCA0NSwgODIsIDczLCA2OSwgCisgICAgODUsIDc2LCAxMjgsIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIDQ1LCA4MCwgNzMsIDY5LCA4NSwgODAsIDEyOCwgODQsIDczLCAKKyAgICA3NSwgNjksIDg1LCA4NCwgNDUsIDc3LCA3MywgNjksIDg1LCA3NywgMTI4LCA4NCwgNzMsIDc1LCA2OSwgODUsIDg0LCA0NSwgCisgICAgNzUsIDczLCA4OSwgNjksIDc5LCA3NSwgMTI4LCA4NCwgNzMsIDc1LCA2OSwgODUsIDg0LCA0NSwgNjcsIDczLCA2OSwgODUsIAorICAgIDY3LCAxMjgsIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIDQ1LCA2NywgNzIsIDczLCA2OSwgODUsIDY3LCA3MiwgMTI4LCA4NCwgCisgICAgNzMsIDc1LCA2OSwgODUsIDg0LCAxMjgsIDg0LCA3MywgNzUsIDY5LCA4NSwgMjEyLCA4NCwgNzMsIDcxLCA3MiwgODQsIDc2LCAKKyAgICA4OSwgNDUsIDY3LCA3NiwgNzksIDgzLCA2OSwgMTk2LCA4NCwgNzMsIDcxLCA3MiwgMjEyLCA4NCwgNzMsIDcxLCA2OSwgODIsIAorICAgIDEyOCwgODQsIDczLCA3MSwgNjksIDIxMCwgODQsIDczLCA3MCwgNzMsIDc4LCA2NSwgNzEsIDIwMCwgODQsIDczLCA2OSwgCisgICAgODgsIDEyOCwgODQsIDczLCA2OSwgODAsIDEyOCwgODQsIDczLCAxOTcsIDg0LCA3MywgNjcsIDc1LCA2OSwgODQsIDgzLCAKKyAgICAxMjgsIDg0LCA3MywgNjcsIDc1LCA2OSwgODQsIDEyOCwgODQsIDczLCA2NywgNzUsIDEyOCwgODQsIDczLCA2NywgMjAzLCAKKyAgICA4NCwgNzMsIDY1LCA4MiwgNjUsIDEyOCwgODQsIDczLCA1MCwgMTI4LCA4NCwgNzIsIDkwLCAxMjgsIDg0LCA3MiwgODksIAorICAgIDc5LCA3OSwgMjA1LCA4NCwgNzIsIDg3LCA3OSwgNzksIDEyOCwgODQsIDcyLCA4NywgNzksIDEyOCwgODQsIDcyLCA4NywgCisgICAgNzMsIDczLCAxMjgsIDg0LCA3MiwgODcsIDczLCAxMjgsIDg0LCA3MiwgODcsIDY5LCA2OSwgMTI4LCA4NCwgNzIsIDg3LCAKKyAgICA2NSwgNjUsIDEyOCwgODQsIDcyLCA4NywgNjUsIDEyOCwgODQsIDcyLCA4NSwgODIsIDIxMSwgODQsIDcyLCA4NSwgODIsIAorICAgIDczLCA4MywgNjUsIDIxOCwgODQsIDcyLCA4NSwgNzgsIDcxLCAxMjgsIDg0LCA3MiwgODUsIDc4LCA2OCwgNjksIDgyLCA4MywgCisgICAgODQsIDc5LCA4MiwgNzcsIDEyOCwgODQsIDcyLCA4NSwgNzgsIDY4LCA2OSwgODIsIDEyOCwgODQsIDcyLCA4NSwgNzgsIDY4LCAKKyAgICA2OSwgMjEwLCA4NCwgNzIsIDg1LCA3NywgNjYsIDIxMSwgODQsIDcyLCA4MiwgNzksIDg3LCA3MywgNzgsIDE5OSwgODQsIAorICAgIDcyLCA4MiwgNzksIDg1LCA3MSwgNzIsIDEyOCwgODQsIDcyLCA4MiwgNzksIDg1LCA3MSwgMjAwLCA4NCwgNzIsIDgyLCA2OSwgCisgICAgNjksIDQ1LCA4NCwgNzIsIDczLCA4MiwgODQsIDg5LCAxMjgsIDg0LCA3MiwgODIsIDY5LCA2OSwgNDUsIDgwLCA2OSwgODIsIAorICAgIDQ1LCA2OSwgMjA1LCA4NCwgNzIsIDgyLCA2OSwgNjksIDQ1LCA3NiwgNzMsIDc4LCAxOTcsIDg0LCA3MiwgODIsIDY5LCA2OSwgCisgICAgNDUsIDY5LCAyMDUsIDg0LCA3MiwgODIsIDY5LCA2OSwgNDUsIDE5NiwgODQsIDcyLCA4MiwgNjksIDY1LCA2OCwgMTI4LCAKKyAgICA4NCwgNzIsIDc5LCA4NSwgODMsIDY1LCA3OCwgNjgsIDgzLCAxMjgsIDg0LCA3MiwgNzksIDg1LCA4MywgNjUsIDc4LCA2OCwgCisgICAgMjExLCA4NCwgNzIsIDc5LCA4NSwgODMsIDY1LCA3OCwgNjgsIDEyOCwgODQsIDcyLCA3OSwgODUsIDgzLCA2NSwgNzgsIAorICAgIDE5NiwgODQsIDcyLCA3OSwgODUsIDcxLCA3MiwgMjEyLCA4NCwgNzIsIDc5LCA4NSwgMTI4LCA4NCwgNzIsIDc5LCA4MiwgCisgICAgNzgsIDEyOCwgODQsIDcyLCA3OSwgODIsIDIwNiwgODQsIDcyLCA3OSwgNzgsIDcxLCAxMjgsIDg0LCA3MiwgNzksIDc3LCAKKyAgICAxMjgsIDg0LCA3MiwgNzksIDc0LCAxMjgsIDg0LCA3MiwgNzksIDY1LCAxMjgsIDg0LCA3MiwgMjA3LCA4NCwgNzIsIDczLCAKKyAgICA4NSwgODQsIDcyLCAxMjgsIDg0LCA3MiwgNzMsIDg0LCA2NSwgMTI4LCA4NCwgNzIsIDczLCA4MiwgODQsIDg5LCA0NSwgODMsIAorICAgIDY5LCA2NywgNzksIDc4LCAxOTYsIDg0LCA3MiwgNzMsIDgyLCA4NCwgODksIDQ1LCA3OSwgNzgsIDY5LCAxMjgsIDg0LCA3MiwgCisgICAgNzMsIDgyLCA4NCwgMjE3LCA4NCwgNzIsIDczLCA4MiwgODQsIDY5LCA2OSwgNzgsIDEyOCwgODQsIDcyLCA3MywgODIsIDg0LCAKKyAgICA2OSwgNjksIDIwNiwgODQsIDcyLCA3MywgODIsIDY4LCA4MywgMTI4LCA4NCwgNzIsIDczLCA4MiwgNjgsIDIxMSwgODQsIAorICAgIDcyLCA3MywgODIsIDY4LCA0NSwgODMsIDg0LCA2NSwgNzEsIDE5NywgODQsIDcyLCA3MywgODIsIDY4LCAxMjgsIDg0LCA3MiwgCisgICAgNzMsIDgyLCAxOTYsIDg0LCA3MiwgNzMsIDczLCAxMjgsIDg0LCA3MiwgNzMsIDcxLCA3MiwgMTI4LCA4NCwgNzIsIDczLCAKKyAgICA2OSwgODUsIDg0LCAyMDAsIDg0LCA3MiwgNzMsIDY3LCAyMDMsIDg0LCA3MiwgNzMsIDY1LCA2NiwgMTI4LCA4NCwgNzIsIAorICAgIDY5LCA4OSwgMTI4LCA4NCwgNzIsIDY5LCA4NCwgNzIsIDY5LCAxMjgsIDg0LCA3MiwgNjksIDg0LCA3MiwgMTI4LCA4NCwgCisgICAgNzIsIDY5LCA4NCwgNjUsIDEyOCwgODQsIDcyLCA2OSwgODQsIDE5MywgODQsIDcyLCA2OSwgODMsIDgwLCA3MywgNjUsIAorICAgIDIwNiwgODQsIDcyLCA2OSwgODMsIDY5LCA3OSwgODMsIDEyOCwgODQsIDcyLCA2OSwgODMsIDY5LCA3OSwgMjExLCA4NCwgCisgICAgNzIsIDY5LCAyMTEsIDg0LCA3MiwgNjksIDgyLCA3NywgNzksIDc3LCA2OSwgODQsIDY5LCA4MiwgMTI4LCA4NCwgNzIsIDY5LCAKKyAgICA4MiwgNzcsIDc5LCA2OCwgODksIDc4LCA2NSwgNzcsIDczLCA2NywgMTI4LCA4NCwgNzIsIDY5LCA4MiwgNjksIDcwLCA3OSwgCisgICAgODIsIDY5LCAxMjgsIDg0LCA3MiwgNjksIDgyLCAxOTcsIDg0LCA3MiwgNjksIDIwNiwgODQsIDcyLCA2OSwgNzcsIDY1LCAKKyAgICA4NCwgNzMsIDgzLCA3NywgNzksIDIxMSwgODQsIDcyLCA2OSwgNzcsIDY1LCAxMjgsIDg0LCA3MiwgNjksIDc3LCAxOTMsIAorICAgIDg0LCA3MiwgNjksIDcyLCAxMjgsIDg0LCA3MiwgNjksIDIwMCwgODQsIDcyLCA2OSwgNjUsIDEyOCwgODQsIDcyLCAxOTcsIAorICAgIDg0LCA3MiwgNjUsIDg3LCAxMjgsIDg0LCA3MiwgNjUsIDc4LCA4NCwgNzIsIDY1LCA3NSwgNzIsIDY1LCA4NCwgMTI4LCA4NCwgCisgICAgNzIsIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDg0LCA3MiwgNjUsIDc4LCAxMjgsIDg0LCA3MiwgNjUsIDIwNiwgODQsIDcyLCAKKyAgICA2NSwgNzcsIDY5LCA2OCwgNzIsIDEyOCwgODQsIDcyLCA2NSwgNzYsIDEyOCwgODQsIDcyLCA2NSwgMjA0LCA4NCwgNzIsIAorICAgIDY1LCA3NCwgMTI4LCA4NCwgNzIsIDY1LCA3MiwgNjUsIDc4LCAxMjgsIDg0LCA3MiwgNjUsIDY1LCA3OCwgMTkzLCA4NCwgCisgICAgNzIsIDY1LCA2NSwgNzYsIDg1LCAxMjgsIDg0LCA3MiwgNDUsIDY3LCA4MiwgNjksIDE5NywgODQsIDY5LCA4OCwgODQsIAorICAgIDEyOCwgODQsIDY5LCA4OCwgMjEyLCA4NCwgNjksIDg4LCAxMjgsIDg0LCA2OSwgODYsIDczLCA4MiwgMTI4LCA4NCwgNjksIAorICAgIDg1LCA4NCwgNjksIDg1LCA4OCwgMTI4LCA4NCwgNjksIDg1LCA4NCwgNjksIDg1LCA4NywgNjksIDc4LCAxMjgsIDg0LCA2OSwgCisgICAgODUsIDg0LCAxMjgsIDg0LCA2OSwgODUsIDc4LCAxMjgsIDg0LCA2OSwgODUsIDY1LCA2OSwgODEsIDEyOCwgODQsIDY5LCAKKyAgICA4NSwgNjUsIDY5LCA3OCwgMTI4LCA4NCwgNjksIDg1LCAxMjgsIDg0LCA2OSwgODQsIDgyLCA2NSwgODMsIDczLCA3NywgNzksIAorICAgIDg1LCAxMjgsIDg0LCA2OSwgODQsIDgyLCA2NSwgODMsIDY5LCA3NywgNjksIDEyOCwgODQsIDY5LCA4NCwgODIsIDY1LCA4MCwgCisgICAgNzYsIDczLCAxMjgsIDg0LCA2OSwgODQsIDgyLCA2NSwgNzEsIDgyLCA2NSwgMjA1LCA4NCwgNjksIDg0LCA4MiwgNjUsIDcwLCAKKyAgICA3OSwgNzgsIDczLCA2NSwgODMsIDEyOCwgODQsIDY5LCA4NCwgNzIsIDEyOCwgODQsIDY5LCA4NCwgMjAwLCA4NCwgNjksIAorICAgIDg0LCA2NSwgODIsIDg0LCA3OSwgMjExLCA4NCwgNjksIDg0LCA2NSwgODIsIDg0LCA3MywgNzcsIDc5LCA4MiwgNzMsIDc5LCAKKyAgICA3OCwgMTI4LCA4NCwgNjksIDg0LCAxMjgsIDg0LCA2OSwgMjEyLCA4NCwgNjksIDgzLCA4MywgNjksIDgyLCA2NSwgMTI4LCAKKyAgICA4NCwgNjksIDgzLCA4MywgNjksIDgyLCAxOTMsIDg0LCA2OSwgODMsIDgzLCA2NSwgODIsIDc5LCAyMDYsIDg0LCA2OSwgODMsIAogICAgIDIwMCwgODQsIDY5LCA4MiwgNzcsIDczLCA3OCwgNjUsIDg0LCA3OSwgODIsIDEyOCwgODQsIDY5LCA4MCwgMTI4LCA4NCwgCiAgICAgNjksIDc4LCA4NSwgODQsIDc5LCAxMjgsIDg0LCA2OSwgNzgsIDg1LCAxMjgsIDg0LCA2OSwgNzgsIDIxMywgODQsIDY5LCAKLSAgICA3OCwgODQsIDcyLCAxMjgsIDg0LCA2OSwgNzgsIDg0LCAxMjgsIDg0LCA2OSwgNzgsIDIxMSwgODQsIDY5LCA3OCwgNzgsIAotICAgIDczLCAyMTEsIDg0LCA2OSwgNzgsIDcxLCAxOTcsIDg0LCA2OSwgNzgsIDQ1LCA4NCwgNzIsIDczLCA4MiwgODQsIDg5LCAKLSAgICAxMjgsIDg0LCA2OSwgNzgsIDEyOCwgODQsIDY5LCAyMDYsIDg0LCA2OSwgNzcsIDgwLCA4NSwgMjExLCA4NCwgNjksIDc2LCAKLSAgICA4NSwgMTI4LCA4NCwgNjksIDc2LCA3OSwgODUsIDIxMSwgODQsIDY5LCA3NiwgNzYsIDY5LCAyMTAsIDg0LCA2OSwgNzYsIAotICAgIDczLCA4MywgNzIsIDE5MywgODQsIDY5LCA3NiwgNjksIDg2LCA3MywgODMsIDczLCA3OSwgNzgsIDEyOCwgODQsIDY5LCA3NiwgCi0gICAgNjksIDgzLCA2NywgNzksIDgwLCA2OSwgMTI4LCA4NCwgNjksIDc2LCA2OSwgODAsIDcyLCA3OSwgNzgsIDY5LCAxMjgsIDg0LCAKLSAgICA2OSwgNzYsIDY5LCA4MCwgNzIsIDc5LCA3OCwgMTk3LCA4NCwgNjksIDc2LCA2OSwgNzMsIDY1LCAxMjgsIDg0LCA2OSwgNzYsIAotICAgIDY5LCA3MSwgODIsIDY1LCA4MCwgMjAwLCA4NCwgNjksIDczLCA4NywgODMsIDEyOCwgODQsIDY5LCA3MSwgNjksIDcyLCAKLSAgICAxMjgsIDg0LCA2OSwgNjksIDY5LCA2OSwgMTI4LCA4NCwgNjksIDE5NywgODQsIDY5LCA2OCwgODUsIDc4LCA3MSwgMTI4LCAKLSAgICA4NCwgNjksIDY1LCA4MiwgMjExLCA4NCwgNjksIDY1LCA4MiwgNjgsIDgyLCA3OSwgODAsIDQ1LCA4MywgODAsIDc5LCA3NSwgCi0gICAgNjksIDE5NiwgODQsIDY5LCA2NSwgODIsIDY4LCA4MiwgNzksIDgwLCA0NSwgODMsIDcyLCA2NSwgNzgsIDc1LCA2OSwgMTk2LCAKLSAgICA4NCwgNjksIDY1LCA4MiwgNjgsIDgyLCA3OSwgODAsIDQ1LCA2NiwgNjUsIDgyLCA2NiwgNjksIDE5NiwgODQsIDY5LCA2NSwgCi0gICAgODIsIDQ1LCA3OSwgNzAsIDE5OCwgODQsIDY5LCA2NSwgNjcsIDg1LCAyMDgsIDg0LCA2OSwgNDUsIDg1LCAxMjgsIDg0LCAKLSAgICA2OSwgNDUsIDUwLCAxMjgsIDg0LCA2NywgNzIsIDY5LCA3MiwgNjksIDcyLCAxMjgsIDg0LCA2NywgNzIsIDY5LCA3MiwgNjksIAotICAgIDIwMCwgODQsIDY3LCA3MiwgNjksIDcyLCAxMjgsIDg0LCA2NywgNzIsIDY5LCAyMDAsIDg0LCA2NywgNzIsIDY5LCAxMjgsIAotICAgIDg0LCAxOTUsIDg0LCA2NSwgODksIDEyOCwgODQsIDY1LCA4OCwgNzMsIDEyOCwgODQsIDY1LCA4OCwgMTI4LCA4NCwgNjUsIAotICAgIDg3LCA2OSwgNzYsIDc2LCA2OSwgNzcsIDY5LCAyMTIsIDg0LCA2NSwgODcsIDY1LCAxMjgsIDg0LCA2NSwgODcsIDEyOCwgCi0gICAgODQsIDY1LCA4NiwgNzMsIDg5LCA2NSwgNzgsIDczLCAxMjgsIDg0LCA2NSwgODYsIDEyOCwgODQsIDY1LCAyMTQsIDg0LCAKLSAgICA2NSwgODUsIDgyLCA4NSwgODMsIDEyOCwgODQsIDY1LCAyMTMsIDg0LCA2NSwgODQsIDg3LCA2OSwgNjksIDc2LCAxMjgsIAotICAgIDg0LCA2NSwgODQsIDg3LCA2OSwgNjksIDIwNCwgODQsIDY1LCA4NCwgODQsIDc5LCA3OSwgNjksIDE5NiwgODQsIDY1LCA4NCwgCi0gICAgMTI4LCA4NCwgNjUsIDgyLCA4NSwgNzgsIDcxLCAxMjgsIDg0LCA2NSwgODIsIDg0LCA2NSwgODIsIDQ1LCA1MCwgMTI4LCAKLSAgICA4NCwgNjUsIDgyLCA4NCwgNjUsIDgyLCAxMjgsIDg0LCA2NSwgODEsIDEyOCwgODQsIDY1LCA4MCwgNjksIDgyLCAxMjgsIAotICAgIDg0LCA2NSwgODAsIDE5NywgODQsIDY1LCA4MCwgMTI4LCA4NCwgNjUsIDc5LCAxMjgsIDg0LCA2NSwgNzgsIDc4LCA2OSwgCi0gICAgMTk2LCA4NCwgNjUsIDc4LCA3MSwgNjksIDgyLCA3MywgNzgsIDY5LCAxMjgsIDg0LCA2NSwgNzgsIDE5OSwgODQsIDY1LCAKLSAgICA3OCwgNjUsIDY2LCA2NSwgODQsIDE5MywgODQsIDY1LCA3OCwgMTI4LCA4NCwgNjUsIDc3LCA3MywgNzgsIDcxLCAxMjgsIAotICAgIDg0LCA2NSwgNzcsIDEyOCwgODQsIDY1LCA3NiwgNzYsIDEyOCwgODQsIDY1LCA3NiwgMjA0LCA4NCwgNjUsIDc2LCA3MywgCi0gICAgNzgsIDcxLCAxMjgsIDg0LCA2NSwgNzYsIDczLCA3OCwgMTk5LCA4NCwgNjUsIDc2LCA2OSwgNzgsIDg0LCA4MywgMTI4LCAKLSAgICA4NCwgNjUsIDc2LCA2OSwgNzgsIDIxMiwgODQsIDY1LCA3NSwgODIsIDIwMSwgODQsIDY1LCA3NSwgNzIsIDY1LCA3NiwgNzYsIAotICAgIDg1LCA4MywgMTI4LCA4NCwgNjUsIDc1LCA2OSwgMTI4LCA4NCwgNjUsIDc1LCA1MiwgMTI4LCA4NCwgNjUsIDc1LCAxMjgsIAotICAgIDg0LCA2NSwgNzMsIDgzLCA4OSwgNzksIDg1LCAxMjgsIDg0LCA2NSwgNzMsIDc2LCA3NiwgNjksIDgzLCAyMTEsIDg0LCA2NSwgCi0gICAgNzMsIDc2LCAxMjgsIDg0LCA2NSwgNzMsIDIwNCwgODQsIDY1LCA3MiwgMTI4LCA4NCwgNjUsIDIwMCwgODQsIDY1LCA3MSwgCi0gICAgNjYsIDY1LCA3OCwgODcsIDE5MywgODQsIDY1LCA3MSwgNjUsIDc2LCA3OSwgMTk5LCA4NCwgNjUsIDcxLCAxMjgsIDg0LCAKLSAgICA2NSwgNjksIDIwNiwgODQsIDY1LCA2NywgNzUsIDEyOCwgODQsIDY1LCA2NywgMjAzLCA4NCwgNjUsIDY2LCA4NSwgNzYsIAotICAgIDY1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA4NCwgNjUsIDY2LCA4NSwgNzYsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDg0LCA2NSwgCi0gICAgNjYsIDgzLCAxMjgsIDg0LCA2NSwgNjYsIDc2LCA2OSwgMTI4LCA4NCwgNjUsIDY2LCAxMjgsIDg0LCA2NSwgMTk0LCA4NCwgCi0gICAgNjUsIDY1LCA4MywgNzIsIDY1LCA2OSwgMTI4LCA4NCwgNjUsIDY1LCA4MSwgMTI4LCA4NCwgNjUsIDY1LCA3NywgMTI4LCAKLSAgICA4NCwgNjUsIDY1LCA3NiwgODUsIDc0LCAxOTMsIDg0LCA2NSwgNjUsIDczLCAxMjgsIDg0LCA2NSwgNjUsIDcwLCAxMjgsIAotICAgIDg0LCA2NSwgNTAsIDEyOCwgODQsIDY1LCA0NSwgODIsIDc5LCA3NiwgMTI4LCA4NCwgNjUsIDQ1LCA1MCwgMTI4LCA4NCwgCi0gICAgNDgsIDUxLCA1NCwgMTI4LCA4NCwgNDgsIDUxLCA1MywgMTI4LCA4NCwgNDgsIDUxLCA1MiwgMTI4LCA4NCwgNDgsIDUxLCAKLSAgICA1MSwgNjUsIDEyOCwgODQsIDQ4LCA1MSwgNTEsIDEyOCwgODQsIDQ4LCA1MSwgNTAsIDY1LCAxMjgsIDg0LCA0OCwgNTEsIAotICAgIDUwLCAxMjgsIDg0LCA0OCwgNTEsIDQ5LCAxMjgsIDg0LCA0OCwgNTEsIDQ4LCAxMjgsIDg0LCA0OCwgNTAsIDU3LCAxMjgsIAotICAgIDg0LCA0OCwgNTAsIDU2LCAxMjgsIDg0LCA0OCwgNTAsIDU1LCAxMjgsIDg0LCA0OCwgNTAsIDU0LCAxMjgsIDg0LCA0OCwgCi0gICAgNTAsIDUzLCAxMjgsIDg0LCA0OCwgNTAsIDUyLCAxMjgsIDg0LCA0OCwgNTAsIDUxLCAxMjgsIDg0LCA0OCwgNTAsIDUwLCAKLSAgICAxMjgsIDg0LCA0OCwgNTAsIDQ5LCAxMjgsIDg0LCA0OCwgNTAsIDQ4LCAxMjgsIDg0LCA0OCwgNDksIDU3LCAxMjgsIDg0LCAKLSAgICA0OCwgNDksIDU2LCAxMjgsIDg0LCA0OCwgNDksIDU1LCAxMjgsIDg0LCA0OCwgNDksIDU0LCA2NSwgMTI4LCA4NCwgNDgsIAotICAgIDQ5LCA1NCwgMTI4LCA4NCwgNDgsIDQ5LCA1MywgMTI4LCA4NCwgNDgsIDQ5LCA1MiwgMTI4LCA4NCwgNDgsIDQ5LCA1MSwgCi0gICAgMTI4LCA4NCwgNDgsIDQ5LCA1MCwgMTI4LCA4NCwgNDgsIDQ5LCA0OSwgNjUsIDEyOCwgODQsIDQ4LCA0OSwgNDksIDEyOCwgCi0gICAgODQsIDQ4LCA0OSwgNDgsIDEyOCwgODQsIDQ4LCA0OCwgNTcsIDY1LCAxMjgsIDg0LCA0OCwgNDgsIDU3LCAxMjgsIDg0LCAKLSAgICA0OCwgNDgsIDU2LCA2NSwgMTI4LCA4NCwgNDgsIDQ4LCA1NiwgMTI4LCA4NCwgNDgsIDQ4LCA1NSwgNjUsIDEyOCwgODQsIAotICAgIDQ4LCA0OCwgNTUsIDEyOCwgODQsIDQ4LCA0OCwgNTQsIDEyOCwgODQsIDQ4LCA0OCwgNTMsIDEyOCwgODQsIDQ4LCA0OCwgCi0gICAgNTIsIDEyOCwgODQsIDQ4LCA0OCwgNTEsIDY1LCAxMjgsIDg0LCA0OCwgNDgsIDUxLCAxMjgsIDg0LCA0OCwgNDgsIDUwLCAKLSAgICAxMjgsIDg0LCA0OCwgNDgsIDQ5LCAxMjgsIDg0LCA0NSwgODMsIDcyLCA3MywgODIsIDg0LCAxMjgsIDgzLCA5MCwgOTAsIAotICAgIDEyOCwgODMsIDkwLCA4NywgNzEsIDEyOCwgODMsIDkwLCA4NywgNjUsIDEyOCwgODMsIDkwLCA4NSwgMTI4LCA4MywgOTAsIAotICAgIDc5LCAxMjgsIDgzLCA5MCwgNzMsIDEyOCwgODMsIDkwLCA2OSwgNjksIDEyOCwgODMsIDkwLCA2OSwgMTI4LCA4MywgOTAsIAotICAgIDY1LCA2NSwgMTI4LCA4MywgOTAsIDY1LCAxMjgsIDgzLCA5MCwgMTI4LCA4MywgODksIDg4LCAxMjgsIDgzLCA4OSwgODQsIAotICAgIDEyOCwgODMsIDg5LCA4MywgODQsIDY5LCAyMDUsIDgzLCA4OSwgODIsIDg4LCAxMjgsIDgzLCA4OSwgODIsIDc3LCA2NSwgCi0gICAgODQsIDczLCA3NSwgNzMsIDEyOCwgODMsIDg5LCA4MiwgNzcsIDY1LCAxMjgsIDgzLCA4OSwgODIsIDczLCA3OCwgNzEsIDY5LCAKLSAgICAxMjgsIDgzLCA4OSwgODIsIDEyOCwgODMsIDg5LCA4MCwgMTI4LCA4MywgODksIDc5LCA4NSwgODcsIDY1LCAxMjgsIDgzLCAKLSAgICA4OSwgNzgsIDY5LCA4NiwgNzcsIDY1LCAxMjgsIDgzLCA4OSwgNzgsIDY4LCA2OSwgODMsIDc3LCA3OSwgMjExLCA4MywgODksIAotICAgIDc4LCA2NywgNzIsIDgyLCA3OSwgNzgsIDc5LCA4NSwgMjExLCA4MywgODksIDc4LCA2NSwgNzEsIDc3LCAxOTMsIDgzLCA4OSwgCi0gICAgNzgsIDY1LCA3MCwgNzMsIDEyOCwgODMsIDg5LCA3OCwgMTI4LCA4MywgODksIDc3LCA3NywgNjksIDg0LCA4MiwgODksIAotICAgIDEyOCwgODMsIDg5LCA3NywgNzcsIDY5LCA4NCwgODIsIDczLCAxOTUsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDgzLCAKLSAgICAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1NywgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNTYsIAotICAgIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDU1LCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1NCwgCi0gICAgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNTMsIDUyLCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCAKLSAgICA1MywgNTEsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDUzLCA1MCwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIAotICAgIDc2LCA0NSwgNTMsIDQ5LCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1MywgNDgsIDEyOCwgODMsIDg5LCA3NywgCi0gICAgNjYsIDc5LCA3NiwgNDUsIDUzLCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1MiwgNTcsIDEyOCwgODMsIDg5LCAKLSAgICA3NywgNjYsIDc5LCA3NiwgNDUsIDUyLCA1NiwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNTIsIDU1LCAxMjgsIAotICAgIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1MiwgNTMsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDUyLCAKLSAgICA1MSwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNTIsIDUwLCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIAotICAgIDQ1LCA1MiwgNDgsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDUyLCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgCi0gICAgNzYsIDQ1LCA1MSwgNTcsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDUxLCA1NiwgMTI4LCA4MywgODksIDc3LCAKLSAgICA2NiwgNzksIDc2LCA0NSwgNTEsIDU1LCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1MSwgNTQsIDEyOCwgODMsIAotICAgIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDUxLCA1MCwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNTEsIDQ4LCAKLSAgICAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1MSwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNTAsIAotICAgIDU3LCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1MCwgNTUsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgCi0gICAgNDUsIDUwLCA1NCwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNTAsIDUzLCAxMjgsIDgzLCA4OSwgNzcsIDY2LCAKLSAgICA3OSwgNzYsIDQ1LCA1MCwgNTIsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDUwLCA1MSwgMTI4LCA4MywgODksIAotICAgIDc3LCA2NiwgNzksIDc2LCA0NSwgNTAsIDUwLCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1MCwgNDksIDEyOCwgCi0gICAgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDUwLCA0OCwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNTAsIAotICAgIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDQ5LCA1NywgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgCi0gICAgNDksIDU2LCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA0OSwgNTUsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCAKLSAgICA3NiwgNDUsIDQ5LCA1NCwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNDksIDUzLCAxMjgsIDgzLCA4OSwgNzcsIAotICAgIDY2LCA3OSwgNzYsIDQ1LCA0OSwgNTIsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDQ5LCA1MSwgMTI4LCA4MywgCi0gICAgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNDksIDUwLCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA0OSwgNDksIAotICAgIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDQ5LCA0OCwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgCi0gICAgNDksIDEyOCwgODMsIDg5LCA3NiwgNzksIDg0LCAyMDEsIDgzLCA4OSwgMTI4LCA4MywgODcsIDkwLCAxMjgsIDgzLCA4NywgCi0gICAgODUsIDc4LCAxOTksIDgzLCA4NywgNzksIDgyLCA2OCwgODMsIDEyOCwgODMsIDg3LCA3OSwgODIsIDY4LCAxMjgsIDgzLCAKLSAgICA4NywgNzksIDc5LCAxMjgsIDgzLCA4NywgNzksIDEyOCwgODMsIDg3LCA3MywgODIsIDIwNCwgODMsIDg3LCA3MywgNzcsIAotICAgIDc3LCA3MywgNzgsIDcxLCAxMjgsIDgzLCA4NywgNzMsIDc3LCA3NywgNjksIDgyLCAxMjgsIDgzLCA4NywgNzMsIDczLCAKLSAgICAxMjgsIDgzLCA4NywgNzMsIDEyOCwgODMsIDg3LCA3MSwgMTI4LCA4MywgODcsIDY5LCA2OSwgODQsIDEyOCwgODMsIDg3LCAKLSAgICA2OSwgNjksIDIxMiwgODMsIDg3LCA2OSwgNjUsIDg0LCAxMjgsIDgzLCA4NywgNjksIDY1LCAyMTIsIDgzLCA4NywgNjUsIAotICAgIDgzLCAyMDAsIDgzLCA4NywgNjUsIDgwLCA4MCwgNzMsIDc4LCA3MSwgMTI4LCA4MywgODcsIDY1LCA2NSwgMTI4LCA4MywgCi0gICAgODcsIDEyOCwgODMsIDg2LCA2NSwgODMsIDg0LCAyMDEsIDgzLCA4NiwgNjUsIDgyLCA3MywgODQsIDY1LCAxMjgsIDgzLCAKLSAgICA4NiwgNjUsIDgyLCA3MywgODQsIDE5MywgODMsIDg1LCA4OCwgMTI4LCA4MywgODUsIDg1LCAxMjgsIDgzLCA4NSwgODQsIAotICAgIDEyOCwgODMsIDg1LCA4MywgODAsIDY5LCA3OCwgODMsIDczLCA3OSwgMjA2LCA4MywgODUsIDgzLCA3MiwgNzMsIDEyOCwgCi0gICAgODMsIDg1LCA4MiwgODksIDY1LCAxMjgsIDgzLCA4NSwgODIsIDg4LCAxMjgsIDgzLCA4NSwgODIsIDgyLCA3OSwgODUsIDc4LCAKLSAgICA2OCwgMTI4LCA4MywgODUsIDgyLCA4MiwgNzksIDg1LCA3OCwgMTk2LCA4MywgODUsIDgyLCA3MCwgNjksIDgyLCAxMjgsIAotICAgIDgzLCA4NSwgODIsIDcwLCA2NSwgNjcsIDE5NywgODMsIDg1LCA4MiwgNjksIDEyOCwgODMsIDg1LCA4MiwgNjUsIDc4LCA3MSwgCi0gICAgMTI4LCA4MywgODUsIDgyLCA1NywgMTI4LCA4MywgODUsIDgyLCAxMjgsIDgzLCA4NSwgMjEwLCA4MywgODUsIDgwLCA4MiwgCi0gICAgNjUsIDc2LCA3MywgNzgsIDY5LCA2NSwgMjEwLCA4MywgODUsIDgwLCA2OSwgODIsIDg2LCA3MywgODMsIDY5LCAxMjgsIDgzLCAKLSAgICA4NSwgODAsIDY5LCA4MiwgODMsIDY5LCA4NCwgMTI4LCA4MywgODUsIDgwLCA2OSwgODIsIDgzLCA2OSwgMjEyLCA4MywgODUsIAotICAgIDgwLCA2OSwgODIsIDgzLCA2NywgODIsIDczLCA4MCwgMjEyLCA4MywgODUsIDgwLCA2OSwgODIsIDczLCA3NywgODAsIDc5LCAKLSAgICA4MywgNjksIDE5NiwgODMsIDg1LCA4MCwgNjksIDgyLCA3MCwgNzMsIDg4LCA2OSwgMTk2LCA4MywgODUsIDgwLCA2OSwgCi0gICAgMjEwLCA4MywgODUsIDgwLCAxMjgsIDgzLCA4NSwgNzksIDg4LCAxMjgsIDgzLCA4NSwgNzksIDgwLCAxMjgsIDgzLCA4NSwgCi0gICAgNzksIDEyOCwgODMsIDg1LCA3OCwgODMsIDY5LCAyMTIsIDgzLCA4NSwgNzgsIDgyLCA3MywgODMsIDY5LCAxMjgsIDgzLCAKLSAgICA4NSwgNzgsIDgyLCA3MywgODMsIDE5NywgODMsIDg1LCA3OCwgNzEsIDc2LCA2NSwgODMsIDgzLCA2OSwgODMsIDEyOCwgODMsIAotICAgIDg1LCA3OCwgNzEsIDEyOCwgODMsIDg1LCA3OCwgNzAsIDc2LCA3OSwgODcsIDY5LCA4MiwgMTI4LCA4MywgODUsIDc4LCAKLSAgICAxMjgsIDgzLCA4NSwgMjA2LCA4MywgODUsIDc3LCA3NywgNjksIDgyLCAxMjgsIDgzLCA4NSwgNzcsIDc3LCA2NSwgODQsIAotICAgIDczLCA3OSwgNzgsIDEyOCwgODMsIDg1LCA3NywgNzcsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDgzLCA4NSwgNzcsIDY1LCA4MywgCi0gICAgNzIsIDEyOCwgODMsIDg1LCA3NywgMTI4LCA4MywgODUsIDc2LCA3MCwgODUsIDgyLCAxMjgsIDgzLCA4NSwgNzUsIDg1LCAKLSAgICA3OCwgMTI4LCA4MywgODUsIDc1LCA4NSwgMjA2LCA4MywgODUsIDc1LCA4NSwgMTI4LCA4MywgODUsIDc1LCAyMTMsIDgzLCAKLSAgICA4NSwgNzMsIDg0LCA2NSwgNjYsIDc2LCA2OSwgMTI4LCA4MywgODUsIDczLCA4NCwgMTI4LCA4MywgODUsIDcyLCA4NSwgODIsIAotICAgIDEyOCwgODMsIDg1LCA2OSwgMTI4LCA4MywgODUsIDY4LCA1MCwgMTI4LCA4MywgODUsIDY4LCAxMjgsIDgzLCA4NSwgNjcsIAotICAgIDY3LCA2OSwgNjksIDY4LCA4MywgMTI4LCA4MywgODUsIDY3LCA2NywgNjksIDY5LCA2OCwgMjExLCA4MywgODUsIDY3LCA2NywgCi0gICAgNjksIDY5LCA2OCwgMTI4LCA4MywgODUsIDY3LCA2NywgNjksIDY5LCAxOTYsIDgzLCA4NSwgNjYsIDg1LCA3OCwgNzMsIDg0LCAKLSAgICAxMjgsIDgzLCA4NSwgNjYsIDgzLCA4NCwgNzMsIDg0LCA4NSwgODQsIDczLCA3OSwgMjA2LCA4MywgODUsIDY2LCA4MywgODQsIAotICAgIDczLCA4NCwgODUsIDg0LCA2OSwgMTI4LCA4MywgODUsIDY2LCA4MywgODQsIDczLCA4NCwgODUsIDg0LCAxOTcsIDgzLCA4NSwgCi0gICAgNjYsIDgzLCA2OSwgODQsIDEyOCwgODMsIDg1LCA2NiwgODMsIDY5LCAyMTIsIDgzLCA4NSwgNjYsIDgzLCA2NywgODIsIDczLCAKLSAgICA4MCwgMjEyLCA4MywgODUsIDY2LCA4MCwgODUsIDc4LCA2NywgODQsIDczLCA4MywgMTI4LCA4MywgODUsIDY2LCA3NiwgNzMsIAotICAgIDc4LCA2OSwgNjUsIDIxMCwgODMsIDg1LCA2NiwgNzYsIDczLCA3NywgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDgzLCA4NSwgCi0gICAgNjYsIDc2LCA3MywgNzcsIDY1LCA4NCwgNjksIDQ1LCA1MSwgMTI4LCA4MywgODUsIDY2LCA3NiwgNzMsIDc3LCA2NSwgODQsIAotICAgIDY5LCA0NSwgNTAsIDEyOCwgODMsIDg1LCA2NiwgNzYsIDczLCA3NywgNjUsIDg0LCA2OSwgMTI4LCA4MywgODUsIDY2LCA3NiwgCi0gICAgNzMsIDc3LCA2NSwgODQsIDE5NywgODMsIDg1LCA2NiwgNzQsIDc5LCA3MywgNzgsIDY5LCAxOTYsIDgzLCA4NSwgNjYsIDc0LCAKLSAgICA2OSwgNjcsIDg0LCAxMjgsIDgzLCA4NSwgNjYsIDczLCA4NCwgNzksIDEyOCwgODMsIDg1LCA2NiwgNzEsIDgyLCA3OSwgODUsIAotICAgIDgwLCAxMjgsIDgzLCA4NSwgNjYsIDcxLCA4MiwgNzksIDg1LCAyMDgsIDgzLCA4NSwgNjYsIDEyOCwgODMsIDg1LCA2NSwgCi0gICAgNjksIDg0LCAxMjgsIDgzLCA4NSwgNjUsIDY5LCA3OCwgMTI4LCA4MywgODUsIDY1LCA2OSwgMTI4LCA4MywgODUsIDY1LCAKLSAgICAxMjgsIDgzLCAyMTMsIDgzLCA4NCwgODgsIDEyOCwgODMsIDg0LCA4NywgNjUsIDEyOCwgODMsIDg0LCA4NSwgNjgsIDg5LCAKLSAgICAxMjgsIDgzLCA4NCwgODUsIDY3LCA3NSwgNDUsIDc5LCA4NSwgMjEyLCA4MywgODQsIDgzLCAxMjgsIDgzLCA4NCwgODIsIAotICAgIDc5LCA3OCwgMTk5LCA4MywgODQsIDgyLCA3OSwgNzUsIDY5LCA4MywgMTI4LCA4MywgODQsIDgyLCA3OSwgNzUsIDY5LCAKLSAgICAyMTEsIDgzLCA4NCwgODIsIDc5LCA3NSwgNjksIDQ1LCA1NywgMTI4LCA4MywgODQsIDgyLCA3OSwgNzUsIDY5LCA0NSwgNTYsIAotICAgIDEyOCwgODMsIDg0LCA4MiwgNzksIDc1LCA2OSwgNDUsIDU1LCAxMjgsIDgzLCA4NCwgODIsIDc5LCA3NSwgNjksIDQ1LCA1NCwgCi0gICAgMTI4LCA4MywgODQsIDgyLCA3OSwgNzUsIDY5LCA0NSwgNTMsIDEyOCwgODMsIDg0LCA4MiwgNzksIDc1LCA2OSwgNDUsIDUyLCAKLSAgICAxMjgsIDgzLCA4NCwgODIsIDc5LCA3NSwgNjksIDQ1LCA1MSwgMTI4LCA4MywgODQsIDgyLCA3OSwgNzUsIDY5LCA0NSwgNTAsIAotICAgIDEyOCwgODMsIDg0LCA4MiwgNzksIDc1LCA2OSwgNDUsIDQ5LCA0OSwgMTI4LCA4MywgODQsIDgyLCA3OSwgNzUsIDY5LCA0NSwgCi0gICAgNDksIDQ4LCAxMjgsIDgzLCA4NCwgODIsIDc5LCA3NSwgNjksIDQ1LCA0OSwgMTI4LCA4MywgODQsIDgyLCA3OSwgNzUsIAotICAgIDE5NywgODMsIDg0LCA4MiwgNzMsIDgwLCA2OSwgMTI4LCA4MywgODQsIDgyLCA3MywgNzgsIDcxLCAxMjgsIDgzLCA4NCwgCi0gICAgODIsIDczLCA3OCwgMTk5LCA4MywgODQsIDgyLCA3MywgNzUsIDY5LCA4NCwgNzIsIDgyLCA3OSwgODUsIDcxLCA3MiwgMTI4LCAKLSAgICA4MywgODQsIDgyLCA3MywgNjgsIDY5LCAxMjgsIDgzLCA4NCwgODIsIDczLCA2NywgODQsIDc2LCAyMTcsIDgzLCA4NCwgODIsIAotICAgIDY5LCA4NCwgNjcsIDcyLCA2OSwgMTk2LCA4MywgODQsIDgyLCA2OSwgODMsIDIxMSwgODMsIDg0LCA4MiwgNjksIDc4LCA3MSwgCi0gICAgODQsIDcyLCAxMjgsIDgzLCA4NCwgODIsIDY5LCA2NSwgNzcsIDY5LCA4MiwgMTI4LCA4MywgODQsIDgyLCA2NSwgODcsIDY2LCAKLSAgICA2OSwgODIsIDgyLCA4OSwgMTI4LCA4MywgODQsIDgyLCA2NSwgODQsIDg1LCA3NywgNDUsIDUwLCAxMjgsIDgzLCA4NCwgODIsIAotICAgIDY1LCA4NCwgODUsIDc3LCAxMjgsIDgzLCA4NCwgODIsIDY1LCA4NCwgODUsIDIwNSwgODMsIDg0LCA4MiwgNjUsIDg0LCA3MywgCi0gICAgNjUsIDIwNiwgODMsIDg0LCA4MiwgNjUsIDczLCA3OCwgNjksIDgyLCAxMjgsIDgzLCA4NCwgODIsIDY1LCA3MywgNzEsIDcyLCAKLSAgICA4NCwgNzgsIDY5LCA4MywgODMsIDEyOCwgODMsIDg0LCA4MiwgNjUsIDczLCA3MSwgNzIsIDIxMiwgODMsIDg0LCA4MiwgNjUsIAotICAgIDczLCA3MCwgMTI4LCA4MywgODQsIDgyLCA2NSwgNzEsIDcxLCA3MywgODMsIDc3LCA2NSwgODQsIDY1LCAxMjgsIDgzLCA4NCwgCi0gICAgNzksIDg2LCA2OSwgMTI4LCA4MywgODQsIDc5LCA4MiwgNjksIDEyOCwgODMsIDg0LCA3OSwgODAsIDg3LCA2NSwgODQsIDY3LCAKLSAgICA3MiwgMTI4LCA4MywgODQsIDc5LCA4MCwgODAsIDczLCA3OCwgNzEsIDEyOCwgODMsIDg0LCA3OSwgODAsIDgwLCA2NSwgNzEsIAotICAgIDY5LCAxMjgsIDgzLCA4NCwgNzksIDgwLCAxMjgsIDgzLCA4NCwgNzksIDIwOCwgODMsIDg0LCA3OSwgNzgsIDY5LCAxMjgsIAotICAgIDgzLCA4NCwgNzksIDY3LCA3NSwgMTI4LCA4MywgODQsIDczLCA3NywgNzcsIDY5LCAxMjgsIDgzLCA4NCwgNzMsIDc2LCAKLSAgICAyMDQsIDgzLCA4NCwgNzMsIDc2LCAxOTcsIDgzLCA4NCwgNzMsIDcxLCA3NywgNjUsIDEyOCwgODMsIDg0LCA2OSwgODAsIAotICAgIDEyOCwgODMsIDg0LCA2OSwgNzcsIDEyOCwgODMsIDg0LCA2OSwgNjUsIDc3LCA3MywgNzgsIDE5OSwgODMsIDg0LCA2OSwgCi0gICAgNjUsIDc3LCAxMjgsIDgzLCA4NCwgNjksIDY1LCAyMDUsIDgzLCA4NCwgNjUsIDg2LCA4MiwgNzksIDg1LCAxMjgsIDgzLCAKLSAgICA4NCwgNjUsIDg2LCA4MiwgNzksIDgzLCAxMjgsIDgzLCA4NCwgNjUsIDg2LCA4MiwgNzksIDIxMSwgODMsIDg0LCA2NSwgODUsIAotICAgIDgyLCA3OSwgODMsIDEyOCwgODMsIDg0LCA2NSwgODQsIDg1LCAxOTcsIDgzLCA4NCwgNjUsIDg0LCA3MywgNzksIDc4LCAKLSAgICAxMjgsIDgzLCA4NCwgNjUsIDg0LCA2OSwgODIsIDgzLCAxMjgsIDgzLCA4NCwgNjUsIDg0LCA2OSwgMTI4LCA4MywgODQsIAotICAgIDY1LCA4MiwgMjEyLCA4MywgODQsIDY1LCA4MiwgODMsIDEyOCwgODMsIDg0LCA2NSwgODIsIDgyLCA2OSwgMTk2LCA4MywgCi0gICAgODQsIDY1LCA4MiwgNzUsIDEyOCwgODMsIDg0LCA2NSwgODIsIDEyOCwgODMsIDg0LCA2NSwgMjEwLCA4MywgODQsIDY1LCAKLSAgICA3OCwgNjgsIDgzLCA4NCwgNzMsIDc2LCA3NiwgMTI4LCA4MywgODQsIDY1LCA3OCwgNjgsIDY1LCA4MiwgMTk2LCA4MywgODQsIAotICAgIDY1LCA3OCwgNjgsIDEyOCwgODMsIDg0LCA2NSwgNzgsIDEyOCwgODMsIDg0LCA2NSwgNzYsIDc2LCA3MywgNzksIDc4LCAKLSAgICAxMjgsIDgzLCA4NCwgNjUsIDcwLCA3MCwgMTI4LCA4MywgODQsIDY1LCA3MCwgMTk4LCA4MywgODQsIDY1LCA2NywgNjcsIAotICAgIDY1LCA4NCwgNzksIDEyOCwgODMsIDg0LCA2NSwgNjcsIDY3LCA2NSwgODQsIDczLCA4MywgODMsIDczLCA3NywgNzksIDEyOCwgCi0gICAgODMsIDg0LCA1MCwgMTI4LCA4MywgODMsIDg5LCA4OCwgMTI4LCA4MywgODMsIDg5LCA4NCwgMTI4LCA4MywgODMsIDg5LCAKLSAgICA4MiwgODgsIDEyOCwgODMsIDgzLCA4OSwgODIsIDEyOCwgODMsIDgzLCA4OSwgODAsIDEyOCwgODMsIDgzLCA4OSwgMTI4LCAKLSAgICA4MywgODMsIDg1LCA4OCwgMTI4LCA4MywgODMsIDg1LCA4NSwgMTI4LCA4MywgODMsIDg1LCA4NCwgMTI4LCA4MywgODMsIAotICAgIDg1LCA4MCwgMTI4LCA4MywgODMsIDc5LCA4OCwgMTI4LCA4MywgODMsIDc5LCA4NCwgMTI4LCA4MywgODMsIDc5LCA4MCwgCi0gICAgMTI4LCA4MywgODMsIDc5LCA3OSwgMTI4LCA4MywgODMsIDc5LCAxMjgsIDgzLCA4MywgNzMsIDg4LCAxMjgsIDgzLCA4MywgCi0gICAgNzMsIDg0LCAxMjgsIDgzLCA4MywgNzMsIDgwLCAxMjgsIDgzLCA4MywgNzMsIDczLCAxMjgsIDgzLCA4MywgNzMsIDY5LCAKLSAgICA4OCwgMTI4LCA4MywgODMsIDczLCA2OSwgODAsIDEyOCwgODMsIDgzLCA3MywgNjksIDEyOCwgODMsIDgzLCA3MywgMTI4LCAKLSAgICA4MywgODMsIDcyLCA2OSwgMTI4LCA4MywgODMsIDY5LCA4OCwgMTI4LCA4MywgODMsIDY5LCA4MCwgMTI4LCA4MywgODMsIAotICAgIDY5LCA2OSwgMTI4LCA4MywgODMsIDY1LCA4OCwgMTI4LCA4MywgODMsIDY1LCA4NSwgMTI4LCA4MywgODMsIDY1LCA4NCwgCi0gICAgMTI4LCA4MywgODMsIDY1LCA4MCwgMTI4LCA4MywgODMsIDY1LCA3OCwgNzEsIDg5LCA2OSwgNzksIDgyLCA3MywgNzgsIDcyLCAKLSAgICA3MywgNjksIDg1LCA3MiwgMTI4LCA4MywgODMsIDY1LCA3OCwgNzEsIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIDQ1LCA4MCwgCi0gICAgNzMsIDY5LCA4NSwgODAsIDEyOCwgODMsIDgzLCA2NSwgNzgsIDcxLCA4NCwgNzMsIDc1LCA2OSwgODUsIDg0LCAxMjgsIDgzLCAKLSAgICA4MywgNjUsIDc4LCA3MSwgODQsIDcyLCA3MywgNjksIDg1LCA4NCwgNzIsIDEyOCwgODMsIDgzLCA2NSwgNzgsIDcxLCA4MywgCi0gICAgNzMsIDc5LCA4MywgNDUsIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIDEyOCwgODMsIDgzLCA2NSwgNzgsIDcxLCA4MywgNzMsIAotICAgIDc5LCA4MywgNDUsIDgwLCA3MywgNjksIDg1LCA4MCwgMTI4LCA4MywgODMsIDY1LCA3OCwgNzEsIDgzLCA3MywgNzksIDgzLCAKLSAgICA0NSwgNzUsIDczLCA4OSwgNjksIDc5LCA3NSwgMTI4LCA4MywgODMsIDY1LCA3OCwgNzEsIDgzLCA3MywgNzksIDgzLCAxMjgsIAotICAgIDgzLCA4MywgNjUsIDc4LCA3MSwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgNzUsIDcyLCA3MywgNjksIDg1LCA3NSwgNzIsIAotICAgIDEyOCwgODMsIDgzLCA2NSwgNzgsIDcxLCA4MiwgNzMsIDY5LCA4NSwgNzYsIDEyOCwgODMsIDgzLCA2NSwgNzgsIDcxLCA4MCwgCi0gICAgNzMsIDY5LCA4NSwgODAsIDEyOCwgODMsIDgzLCA2NSwgNzgsIDcxLCA3OCwgNzMsIDY5LCA4NSwgNzgsIDEyOCwgODMsIDgzLCAKLSAgICA2NSwgNzgsIDcxLCA3NywgNzMsIDY5LCA4NSwgNzcsIDEyOCwgODMsIDgzLCA2NSwgNzgsIDcxLCA3NSwgNzMsIDg5LCA2OSwgCi0gICAgNzksIDc1LCAxMjgsIDgzLCA4MywgNjUsIDc4LCA3MSwgNzMsIDY5LCA4NSwgNzgsIDcxLCAxMjgsIDgzLCA4MywgNjUsIDc4LCAKLSAgICA3MSwgNzIsIDczLCA2OSwgODUsIDcyLCAxMjgsIDgzLCA4MywgNjUsIDc4LCA3MSwgNjcsIDczLCA2OSwgODUsIDY3LCA0NSwgCi0gICAgNzIsIDczLCA2OSwgODUsIDcyLCAxMjgsIDgzLCA4MywgNjUsIDc4LCA3MSwgNjcsIDczLCA2OSwgODUsIDY3LCAxMjgsIDgzLCAKLSAgICA4MywgNjUsIDc4LCA3MSwgNjUsIDgyLCA2NSwgNjksIDY1LCAxMjgsIDgzLCA4MywgNjUsIDczLCAxMjgsIDgzLCA4MywgNjUsIAotICAgIDY1LCAxMjgsIDgzLCA4MywgNTEsIDEyOCwgODMsIDgzLCA1MCwgMTI4LCA4MywgODIsIDEyOCwgODMsIDgxLCA4NSwgNzMsIAotICAgIDgzLCAyMDAsIDgzLCA4MSwgODUsIDczLCA4MiwgODIsIDY5LCAyMDQsIDgzLCA4MSwgODUsIDczLCA3MSwgNzEsIDc2LCAKKyAgICA3OCwgODQsIDcyLCAxMjgsIDg0LCA2OSwgNzgsIDg0LCAxMjgsIDg0LCA2OSwgNzgsIDgzLCAxMjgsIDg0LCA2OSwgNzgsIAorICAgIDIxMSwgODQsIDY5LCA3OCwgNzgsIDczLCAyMTEsIDg0LCA2OSwgNzgsIDcxLCAxOTcsIDg0LCA2OSwgNzgsIDQ1LCA4NCwgCisgICAgNzIsIDczLCA4MiwgODQsIDg5LCAxMjgsIDg0LCA2OSwgNzgsIDEyOCwgODQsIDY5LCAyMDYsIDg0LCA2OSwgNzcsIDgwLCAKKyAgICA4NSwgMjExLCA4NCwgNjksIDc2LCA4NSwgMTI4LCA4NCwgNjksIDc2LCA3OSwgODUsIDIxMSwgODQsIDY5LCA3NiwgNzYsIAorICAgIDY5LCAyMTAsIDg0LCA2OSwgNzYsIDczLCA4MywgNzIsIDE5MywgODQsIDY5LCA3NiwgNjksIDg2LCA3MywgODMsIDczLCA3OSwgCisgICAgNzgsIDEyOCwgODQsIDY5LCA3NiwgNjksIDgzLCA2NywgNzksIDgwLCA2OSwgMTI4LCA4NCwgNjksIDc2LCA2OSwgODAsIDcyLCAKKyAgICA3OSwgNzgsIDY5LCAxMjgsIDg0LCA2OSwgNzYsIDY5LCA4MCwgNzIsIDc5LCA3OCwgMTk3LCA4NCwgNjksIDc2LCA2OSwgNzMsIAorICAgIDY1LCAxMjgsIDg0LCA2OSwgNzYsIDY5LCA3MSwgODIsIDY1LCA4MCwgMjAwLCA4NCwgNjksIDc1LCAxMjgsIDg0LCA2OSwgCisgICAgNzMsIDg3LCA4MywgMTI4LCA4NCwgNjksIDcxLCA2OSwgNzIsIDEyOCwgODQsIDY5LCA2OSwgNzgsIDgzLCAxMjgsIDg0LCAKKyAgICA2OSwgNjksIDY5LCA2OSwgMTI4LCA4NCwgNjksIDE5NywgODQsIDY5LCA2OCwgODUsIDc4LCA3MSwgMTI4LCA4NCwgNjksIAorICAgIDY1LCA4MiwgMjExLCA4NCwgNjksIDY1LCA4MiwgNjgsIDgyLCA3OSwgODAsIDQ1LCA4MywgODAsIDc5LCA3NSwgNjksIDE5NiwgCisgICAgODQsIDY5LCA2NSwgODIsIDY4LCA4MiwgNzksIDgwLCA0NSwgODMsIDcyLCA2NSwgNzgsIDc1LCA2OSwgMTk2LCA4NCwgNjksIAorICAgIDY1LCA4MiwgNjgsIDgyLCA3OSwgODAsIDQ1LCA2NiwgNjUsIDgyLCA2NiwgNjksIDE5NiwgODQsIDY5LCA2NSwgODIsIDQ1LCAKKyAgICA3OSwgNzAsIDE5OCwgODQsIDY5LCA2NSwgNjcsIDg1LCAyMDgsIDg0LCA2OSwgNDUsIDg1LCAxMjgsIDg0LCA2OSwgNDUsIAorICAgIDUwLCAxMjgsIDg0LCA2NywgNzIsIDY5LCA3MiwgNjksIDcyLCAxMjgsIDg0LCA2NywgNzIsIDY5LCA3MiwgNjksIDIwMCwgCisgICAgODQsIDY3LCA3MiwgNjksIDcyLCAxMjgsIDg0LCA2NywgNzIsIDY5LCAyMDAsIDg0LCA2NywgNzIsIDY5LCAxMjgsIDg0LCAKKyAgICAxOTUsIDg0LCA2NSwgODksIDEyOCwgODQsIDY1LCA4OCwgNzMsIDEyOCwgODQsIDY1LCA4OCwgMTI4LCA4NCwgNjUsIDg3LCAKKyAgICA2OSwgNzYsIDc2LCA2OSwgNzcsIDY5LCAyMTIsIDg0LCA2NSwgODcsIDY1LCAxMjgsIDg0LCA2NSwgODcsIDEyOCwgODQsIAorICAgIDY1LCA4NiwgNzMsIDg5LCA2NSwgNzgsIDczLCAxMjgsIDg0LCA2NSwgODYsIDEyOCwgODQsIDY1LCAyMTQsIDg0LCA2NSwgCisgICAgODUsIDgyLCA4NSwgODMsIDEyOCwgODQsIDY1LCA4NSwgNzcsIDEyOCwgODQsIDY1LCAyMTMsIDg0LCA2NSwgODQsIDg3LCAKKyAgICA2OSwgNjksIDc2LCAxMjgsIDg0LCA2NSwgODQsIDg3LCA2OSwgNjksIDIwNCwgODQsIDY1LCA4NCwgODQsIDc5LCA3OSwgNjksIAorICAgIDE5NiwgODQsIDY1LCA4NCwgMTI4LCA4NCwgNjUsIDgzLCAxMjgsIDg0LCA2NSwgODIsIDg1LCA3OCwgNzEsIDEyOCwgODQsIAorICAgIDY1LCA4MiwgODQsIDY1LCA4MiwgNDUsIDUwLCAxMjgsIDg0LCA2NSwgODIsIDg0LCA2NSwgODIsIDEyOCwgODQsIDY1LCA4MiwgCisgICAgNzEsIDY5LCA4NCwgMTI4LCA4NCwgNjUsIDgxLCAxMjgsIDg0LCA2NSwgODAsIDY5LCA4MiwgMTI4LCA4NCwgNjUsIDgwLCAKKyAgICAxOTcsIDg0LCA2NSwgODAsIDEyOCwgODQsIDY1LCA3OSwgMTI4LCA4NCwgNjUsIDc4LCA3OCwgNjksIDE5NiwgODQsIDY1LCAKKyAgICA3OCwgNzEsIDY5LCA4MiwgNzMsIDc4LCA2OSwgMTI4LCA4NCwgNjUsIDc4LCA3MSwgNjksIDc4LCA4NCwgMTI4LCA4NCwgNjUsIAorICAgIDc4LCA3MSwgNjksIDc4LCAyMTIsIDg0LCA2NSwgNzgsIDE5OSwgODQsIDY1LCA3OCwgNjUsIDY2LCA2NSwgODQsIDE5MywgCisgICAgODQsIDY1LCA3OCwgMTI4LCA4NCwgNjUsIDc3LCA3MywgNzgsIDcxLCAxMjgsIDg0LCA2NSwgNzcsIDEyOCwgODQsIDY1LCAKKyAgICA3NiwgNzYsIDEyOCwgODQsIDY1LCA3NiwgMjA0LCA4NCwgNjUsIDc2LCA3MywgNzgsIDcxLCAxMjgsIDg0LCA2NSwgNzYsIAorICAgIDczLCA3OCwgMTk5LCA4NCwgNjUsIDc2LCA2OSwgNzgsIDg0LCA4MywgMTI4LCA4NCwgNjUsIDc2LCA2OSwgNzgsIDIxMiwgCisgICAgODQsIDY1LCA3NSwgODIsIDIwMSwgODQsIDY1LCA3NSwgNzIsIDY1LCA3NiwgNzYsIDg1LCA4MywgMTI4LCA4NCwgNjUsIDc1LCAKKyAgICA2OSwgMTI4LCA4NCwgNjUsIDc1LCA1MiwgMTI4LCA4NCwgNjUsIDc1LCAxMjgsIDg0LCA2NSwgNzMsIDgzLCA4OSwgNzksIAorICAgIDg1LCAxMjgsIDg0LCA2NSwgNzMsIDc2LCA3NiwgNjksIDgzLCAyMTEsIDg0LCA2NSwgNzMsIDc2LCAxMjgsIDg0LCA2NSwgCisgICAgNzMsIDIwNCwgODQsIDY1LCA3MiwgMTI4LCA4NCwgNjUsIDIwMCwgODQsIDY1LCA3MSwgNjYsIDY1LCA3OCwgODcsIDE5MywgCisgICAgODQsIDY1LCA3MSwgNjUsIDc2LCA3OSwgMTk5LCA4NCwgNjUsIDcxLCAxMjgsIDg0LCA2NSwgNjksIDIwNiwgODQsIDY1LCAKKyAgICA2NywgNzUsIDEyOCwgODQsIDY1LCA2NywgMjAzLCA4NCwgNjUsIDY2LCA4NSwgNzYsIDY1LCA4NCwgNzMsIDc5LCA3OCwgCisgICAgMTI4LCA4NCwgNjUsIDY2LCA4NSwgNzYsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDg0LCA2NSwgNjYsIDgzLCAxMjgsIDg0LCAKKyAgICA2NSwgNjYsIDc2LCA2OSwgMTI4LCA4NCwgNjUsIDY2LCAxMjgsIDg0LCA2NSwgMTk0LCA4NCwgNjUsIDY1LCA4MywgNzIsIAorICAgIDY1LCA2OSwgMTI4LCA4NCwgNjUsIDY1LCA4MSwgMTI4LCA4NCwgNjUsIDY1LCA3NywgMTI4LCA4NCwgNjUsIDY1LCA3NiwgCisgICAgODUsIDc0LCAxOTMsIDg0LCA2NSwgNjUsIDczLCAxMjgsIDg0LCA2NSwgNjUsIDcwLCAxMjgsIDg0LCA2NSwgNTAsIDEyOCwgCisgICAgODQsIDY1LCA0NSwgODIsIDc5LCA3NiwgMTI4LCA4NCwgNjUsIDQ1LCA1MCwgMTI4LCA4NCwgNDgsIDUxLCA1NCwgMTI4LCAKKyAgICA4NCwgNDgsIDUxLCA1MywgMTI4LCA4NCwgNDgsIDUxLCA1MiwgMTI4LCA4NCwgNDgsIDUxLCA1MSwgNjUsIDEyOCwgODQsIAorICAgIDQ4LCA1MSwgNTEsIDEyOCwgODQsIDQ4LCA1MSwgNTAsIDY1LCAxMjgsIDg0LCA0OCwgNTEsIDUwLCAxMjgsIDg0LCA0OCwgCisgICAgNTEsIDQ5LCAxMjgsIDg0LCA0OCwgNTEsIDQ4LCAxMjgsIDg0LCA0OCwgNTAsIDU3LCAxMjgsIDg0LCA0OCwgNTAsIDU2LCAKKyAgICAxMjgsIDg0LCA0OCwgNTAsIDU1LCAxMjgsIDg0LCA0OCwgNTAsIDU0LCAxMjgsIDg0LCA0OCwgNTAsIDUzLCAxMjgsIDg0LCAKKyAgICA0OCwgNTAsIDUyLCAxMjgsIDg0LCA0OCwgNTAsIDUxLCAxMjgsIDg0LCA0OCwgNTAsIDUwLCAxMjgsIDg0LCA0OCwgNTAsIAorICAgIDQ5LCAxMjgsIDg0LCA0OCwgNTAsIDQ4LCAxMjgsIDg0LCA0OCwgNDksIDU3LCAxMjgsIDg0LCA0OCwgNDksIDU2LCAxMjgsIAorICAgIDg0LCA0OCwgNDksIDU1LCAxMjgsIDg0LCA0OCwgNDksIDU0LCA2NSwgMTI4LCA4NCwgNDgsIDQ5LCA1NCwgMTI4LCA4NCwgCisgICAgNDgsIDQ5LCA1MywgMTI4LCA4NCwgNDgsIDQ5LCA1MiwgMTI4LCA4NCwgNDgsIDQ5LCA1MSwgMTI4LCA4NCwgNDgsIDQ5LCAKKyAgICA1MCwgMTI4LCA4NCwgNDgsIDQ5LCA0OSwgNjUsIDEyOCwgODQsIDQ4LCA0OSwgNDksIDEyOCwgODQsIDQ4LCA0OSwgNDgsIAorICAgIDEyOCwgODQsIDQ4LCA0OCwgNTcsIDY1LCAxMjgsIDg0LCA0OCwgNDgsIDU3LCAxMjgsIDg0LCA0OCwgNDgsIDU2LCA2NSwgCisgICAgMTI4LCA4NCwgNDgsIDQ4LCA1NiwgMTI4LCA4NCwgNDgsIDQ4LCA1NSwgNjUsIDEyOCwgODQsIDQ4LCA0OCwgNTUsIDEyOCwgCisgICAgODQsIDQ4LCA0OCwgNTQsIDEyOCwgODQsIDQ4LCA0OCwgNTMsIDEyOCwgODQsIDQ4LCA0OCwgNTIsIDEyOCwgODQsIDQ4LCAKKyAgICA0OCwgNTEsIDY1LCAxMjgsIDg0LCA0OCwgNDgsIDUxLCAxMjgsIDg0LCA0OCwgNDgsIDUwLCAxMjgsIDg0LCA0OCwgNDgsIAorICAgIDQ5LCAxMjgsIDg0LCA0NSwgODMsIDcyLCA3MywgODIsIDg0LCAxMjgsIDgzLCA5MCwgOTAsIDEyOCwgODMsIDkwLCA4NywgCisgICAgNzEsIDEyOCwgODMsIDkwLCA4NywgNjUsIDEyOCwgODMsIDkwLCA4NSwgMTI4LCA4MywgOTAsIDc5LCAxMjgsIDgzLCA5MCwgCisgICAgNzMsIDEyOCwgODMsIDkwLCA2OSwgNjksIDEyOCwgODMsIDkwLCA2OSwgMTI4LCA4MywgOTAsIDY1LCA2NSwgMTI4LCA4MywgCisgICAgOTAsIDY1LCAxMjgsIDgzLCA5MCwgMTI4LCA4MywgODksIDg4LCAxMjgsIDgzLCA4OSwgODQsIDEyOCwgODMsIDg5LCA4MywgCisgICAgODQsIDY5LCAyMDUsIDgzLCA4OSwgODIsIDg4LCAxMjgsIDgzLCA4OSwgODIsIDc3LCA2NSwgODQsIDczLCA3NSwgNzMsIAorICAgIDEyOCwgODMsIDg5LCA4MiwgNzcsIDY1LCAxMjgsIDgzLCA4OSwgODIsIDczLCA3OCwgNzEsIDY5LCAxMjgsIDgzLCA4OSwgCisgICAgODIsIDczLCA2NSwgMTk1LCA4MywgODksIDgyLCAxMjgsIDgzLCA4OSwgODAsIDEyOCwgODMsIDg5LCA3OSwgODUsIDg3LCAKKyAgICA2NSwgMTI4LCA4MywgODksIDc4LCA2OSwgODYsIDc3LCA2NSwgMTI4LCA4MywgODksIDc4LCA2OCwgNjksIDgzLCA3NywgNzksIAorICAgIDIxMSwgODMsIDg5LCA3OCwgNjcsIDcyLCA4MiwgNzksIDc4LCA3OSwgODUsIDIxMSwgODMsIDg5LCA3OCwgNjUsIDcxLCA3NywgCisgICAgMTkzLCA4MywgODksIDc4LCA2NSwgNzAsIDczLCAxMjgsIDgzLCA4OSwgNzgsIDEyOCwgODMsIDg5LCA3NywgNzcsIDY5LCAKKyAgICA4NCwgODIsIDg5LCAxMjgsIDgzLCA4OSwgNzcsIDc3LCA2OSwgODQsIDgyLCA3MywgMTk1LCA4MywgODksIDc3LCA2NiwgNzksIAorICAgIDc2LCA4MywgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNTcsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgCisgICAgNDUsIDU2LCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1NSwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCAKKyAgICA0NSwgNTQsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDUzLCA1MiwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIAorICAgIDc2LCA0NSwgNTMsIDUxLCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1MywgNTAsIDEyOCwgODMsIDg5LCA3NywgCisgICAgNjYsIDc5LCA3NiwgNDUsIDUzLCA0OSwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNTMsIDQ4LCAxMjgsIDgzLCAKKyAgICA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1MywgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNTIsIDU3LCAxMjgsIAorICAgIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1MiwgNTYsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDUyLCAKKyAgICA1NSwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNTIsIDUzLCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIAorICAgIDQ1LCA1MiwgNTEsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDUyLCA1MCwgMTI4LCA4MywgODksIDc3LCA2NiwgCisgICAgNzksIDc2LCA0NSwgNTIsIDQ4LCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1MiwgMTI4LCA4MywgODksIDc3LCAKKyAgICA2NiwgNzksIDc2LCA0NSwgNTEsIDU3LCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1MSwgNTYsIDEyOCwgODMsIAorICAgIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDUxLCA1NSwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNTEsIDU0LCAKKyAgICAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1MSwgNTAsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIAorICAgIDUxLCA0OCwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNTEsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgCisgICAgNDUsIDUwLCA1NywgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNTAsIDU1LCAxMjgsIDgzLCA4OSwgNzcsIDY2LCAKKyAgICA3OSwgNzYsIDQ1LCA1MCwgNTQsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDUwLCA1MywgMTI4LCA4MywgODksIAorICAgIDc3LCA2NiwgNzksIDc2LCA0NSwgNTAsIDUyLCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1MCwgNTEsIDEyOCwgCisgICAgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDUwLCA1MCwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNTAsIAorICAgIDQ5LCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1MCwgNDgsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgCisgICAgNDUsIDUwLCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA0OSwgNTcsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCAKKyAgICA3NiwgNDUsIDQ5LCA1NiwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNDksIDU1LCAxMjgsIDgzLCA4OSwgNzcsIAorICAgIDY2LCA3OSwgNzYsIDQ1LCA0OSwgNTQsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDQ5LCA1MywgMTI4LCA4MywgCisgICAgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNDksIDUyLCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA0OSwgNTEsIAorICAgIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDQ5LCA1MCwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgCisgICAgNDksIDQ5LCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA0OSwgNDgsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCAKKyAgICA3NiwgNDUsIDQ5LCAxMjgsIDgzLCA4OSwgNzYsIDc5LCA4NCwgMjAxLCA4MywgODksIDEyOCwgODMsIDg3LCA5MCwgMTI4LCAKKyAgICA4MywgODcsIDg1LCA3OCwgMTk5LCA4MywgODcsIDc5LCA4MiwgNjgsIDgzLCAxMjgsIDgzLCA4NywgNzksIDgyLCA2OCwgCisgICAgMTI4LCA4MywgODcsIDc5LCA3OSwgMTI4LCA4MywgODcsIDc5LCAxMjgsIDgzLCA4NywgNzMsIDgyLCAyMDQsIDgzLCA4NywgCisgICAgNzMsIDc3LCA3NywgNzMsIDc4LCA3MSwgMTI4LCA4MywgODcsIDczLCA3NywgNzcsIDY5LCA4MiwgMTI4LCA4MywgODcsIDczLCAKKyAgICA3MywgMTI4LCA4MywgODcsIDczLCAxMjgsIDgzLCA4NywgNzEsIDEyOCwgODMsIDg3LCA2OSwgNjksIDg0LCAxMjgsIDgzLCAKKyAgICA4NywgNjksIDY5LCAyMTIsIDgzLCA4NywgNjksIDY1LCA4NCwgMTI4LCA4MywgODcsIDY5LCA2NSwgMjEyLCA4MywgODcsIAorICAgIDY1LCA4MywgMjAwLCA4MywgODcsIDY1LCA4MCwgODAsIDczLCA3OCwgNzEsIDEyOCwgODMsIDg3LCA2NSwgNjUsIDEyOCwgCisgICAgODMsIDg3LCAxMjgsIDgzLCA4NiwgNjUsIDgzLCA4NCwgMjAxLCA4MywgODYsIDY1LCA4MiwgNzMsIDg0LCA2NSwgMTI4LCAKKyAgICA4MywgODYsIDY1LCA4MiwgNzMsIDg0LCAxOTMsIDgzLCA4NSwgODgsIDEyOCwgODMsIDg1LCA4NSwgMTI4LCA4MywgODUsIAorICAgIDg0LCA4MiwgMTkzLCA4MywgODUsIDg0LCAxMjgsIDgzLCA4NSwgODMsIDgwLCA2OSwgNzgsIDgzLCA3MywgNzksIDIwNiwgCisgICAgODMsIDg1LCA4MywgNzIsIDczLCAxMjgsIDgzLCA4NSwgODIsIDg5LCA2NSwgMTI4LCA4MywgODUsIDgyLCA4OCwgMTI4LCAKKyAgICA4MywgODUsIDgyLCA4MiwgNzksIDg1LCA3OCwgNjgsIDEyOCwgODMsIDg1LCA4MiwgODIsIDc5LCA4NSwgNzgsIDE5NiwgODMsIAorICAgIDg1LCA4MiwgNzAsIDY5LCA4MiwgMTI4LCA4MywgODUsIDgyLCA3MCwgNjUsIDY3LCAxOTcsIDgzLCA4NSwgODIsIDY5LCAKKyAgICAxMjgsIDgzLCA4NSwgODIsIDY1LCA3OCwgNzEsIDEyOCwgODMsIDg1LCA4MiwgNTcsIDEyOCwgODMsIDg1LCA4MiwgMTI4LCAKKyAgICA4MywgODUsIDIxMCwgODMsIDg1LCA4MCwgODIsIDY1LCA3NiwgNzMsIDc4LCA2OSwgNjUsIDIxMCwgODMsIDg1LCA4MCwgNjksIAorICAgIDgyLCA4NiwgNzMsIDgzLCA2OSwgMTI4LCA4MywgODUsIDgwLCA2OSwgODIsIDgzLCA2OSwgODQsIDEyOCwgODMsIDg1LCA4MCwgCisgICAgNjksIDgyLCA4MywgNjksIDIxMiwgODMsIDg1LCA4MCwgNjksIDgyLCA4MywgNjcsIDgyLCA3MywgODAsIDIxMiwgODMsIDg1LCAKKyAgICA4MCwgNjksIDgyLCA3MywgNzcsIDgwLCA3OSwgODMsIDY5LCAxOTYsIDgzLCA4NSwgODAsIDY5LCA4MiwgNzAsIDczLCA4OCwgCisgICAgNjksIDE5NiwgODMsIDg1LCA4MCwgNjksIDIxMCwgODMsIDg1LCA4MCwgMTI4LCA4MywgODUsIDc5LCA4OCwgMTI4LCA4MywgCisgICAgODUsIDc5LCA4MCwgMTI4LCA4MywgODUsIDc5LCAxMjgsIDgzLCA4NSwgNzgsIDgzLCA2OSwgMjEyLCA4MywgODUsIDc4LCAKKyAgICA4MiwgNzMsIDgzLCA2OSwgMTI4LCA4MywgODUsIDc4LCA4MiwgNzMsIDgzLCAxOTcsIDgzLCA4NSwgNzgsIDcxLCA3NiwgNjUsIAorICAgIDgzLCA4MywgNjksIDgzLCAxMjgsIDgzLCA4NSwgNzgsIDcxLCAxMjgsIDgzLCA4NSwgNzgsIDcwLCA3NiwgNzksIDg3LCA2OSwgCisgICAgODIsIDEyOCwgODMsIDg1LCA3OCwgNjgsIDY1LCA3OCwgNjksIDgzLCAxOTcsIDgzLCA4NSwgNzgsIDEyOCwgODMsIDg1LCAKKyAgICAyMDYsIDgzLCA4NSwgNzcsIDc3LCA2OSwgODIsIDEyOCwgODMsIDg1LCA3NywgNzcsIDY1LCA4NCwgNzMsIDc5LCA3OCwgCisgICAgMTI4LCA4MywgODUsIDc3LCA3NywgNjUsIDg0LCA3MywgNzksIDIwNiwgODMsIDg1LCA3NywgNjUsIDgzLCA3MiwgMTI4LCAKKyAgICA4MywgODUsIDc3LCAxMjgsIDgzLCA4NSwgNzYsIDcwLCA4NSwgODIsIDEyOCwgODMsIDg1LCA3NSwgODUsIDc4LCAxMjgsIAorICAgIDgzLCA4NSwgNzUsIDg1LCAyMDYsIDgzLCA4NSwgNzUsIDg1LCAxMjgsIDgzLCA4NSwgNzUsIDIxMywgODMsIDg1LCA3MywgCisgICAgODQsIDY1LCA2NiwgNzYsIDY5LCAxMjgsIDgzLCA4NSwgNzMsIDg0LCAxMjgsIDgzLCA4NSwgNzMsIDIxMiwgODMsIDg1LCAKKyAgICA3MiwgODUsIDgyLCAxMjgsIDgzLCA4NSwgNjksIDEyOCwgODMsIDg1LCA2OCwgNTAsIDEyOCwgODMsIDg1LCA2OCwgMTI4LCAKKyAgICA4MywgODUsIDY3LCA2NywgNjksIDY5LCA2OCwgODMsIDEyOCwgODMsIDg1LCA2NywgNjcsIDY5LCA2OSwgNjgsIDIxMSwgODMsIAorICAgIDg1LCA2NywgNjcsIDY5LCA2OSwgNjgsIDEyOCwgODMsIDg1LCA2NywgNjcsIDY5LCA2OSwgMTk2LCA4MywgODUsIDY2LCA4NSwgCisgICAgNzgsIDczLCA4NCwgMTI4LCA4MywgODUsIDY2LCA4MywgODQsIDczLCA4NCwgODUsIDg0LCA3MywgNzksIDIwNiwgODMsIDg1LCAKKyAgICA2NiwgODMsIDg0LCA3MywgODQsIDg1LCA4NCwgNjksIDEyOCwgODMsIDg1LCA2NiwgODMsIDg0LCA3MywgODQsIDg1LCA4NCwgCisgICAgMTk3LCA4MywgODUsIDY2LCA4MywgNjksIDg0LCAxMjgsIDgzLCA4NSwgNjYsIDgzLCA2OSwgMjEyLCA4MywgODUsIDY2LCAKKyAgICA4MywgNjcsIDgyLCA3MywgODAsIDIxMiwgODMsIDg1LCA2NiwgODAsIDg1LCA3OCwgNjcsIDg0LCA3MywgODMsIDEyOCwgODMsIAorICAgIDg1LCA2NiwgNzYsIDczLCA3OCwgNjksIDY1LCAyMTAsIDgzLCA4NSwgNjYsIDc2LCA3MywgNzcsIDY1LCA4NCwgNzMsIDc5LCAKKyAgICA3OCwgMTI4LCA4MywgODUsIDY2LCA3NiwgNzMsIDc3LCA2NSwgODQsIDY5LCA0NSwgNTEsIDEyOCwgODMsIDg1LCA2NiwgNzYsIAorICAgIDczLCA3NywgNjUsIDg0LCA2OSwgNDUsIDUwLCAxMjgsIDgzLCA4NSwgNjYsIDc2LCA3MywgNzcsIDY1LCA4NCwgNjksIDEyOCwgCisgICAgODMsIDg1LCA2NiwgNzYsIDczLCA3NywgNjUsIDg0LCAxOTcsIDgzLCA4NSwgNjYsIDc0LCA3OSwgNzMsIDc4LCA2OSwgMTk2LCAKKyAgICA4MywgODUsIDY2LCA3NCwgNjksIDY3LCA4NCwgMTI4LCA4MywgODUsIDY2LCA3MywgODQsIDc5LCAxMjgsIDgzLCA4NSwgNjYsIAorICAgIDcxLCA4MiwgNzksIDg1LCA4MCwgMTI4LCA4MywgODUsIDY2LCA3MSwgODIsIDc5LCA4NSwgMjA4LCA4MywgODUsIDY2LCAKKyAgICAxMjgsIDgzLCA4NSwgNjUsIDc3LCAxMjgsIDgzLCA4NSwgNjUsIDY5LCA4NCwgMTI4LCA4MywgODUsIDY1LCA2OSwgNzgsIAorICAgIDEyOCwgODMsIDg1LCA2NSwgNjksIDEyOCwgODMsIDg1LCA2NSwgNjYsIDEyOCwgODMsIDg1LCA2NSwgMTI4LCA4MywgMjEzLCAKKyAgICA4MywgODQsIDg4LCAxMjgsIDgzLCA4NCwgODcsIDY1LCAxMjgsIDgzLCA4NCwgODUsIDY4LCA4OSwgMTI4LCA4MywgODQsIAorICAgIDg1LCA2OCwgNzMsIDIwNywgODMsIDg0LCA4NSwgNjcsIDc1LCA0NSwgNzksIDg1LCAyMTIsIDgzLCA4NCwgODMsIDEyOCwgCisgICAgODMsIDg0LCA4MiwgNzksIDc4LCAxOTksIDgzLCA4NCwgODIsIDc5LCA3NSwgNjksIDgzLCAxMjgsIDgzLCA4NCwgODIsIDc5LCAKKyAgICA3NSwgNjksIDIxMSwgODMsIDg0LCA4MiwgNzksIDc1LCA2OSwgNDUsIDU3LCAxMjgsIDgzLCA4NCwgODIsIDc5LCA3NSwgNjksIAorICAgIDQ1LCA1NiwgMTI4LCA4MywgODQsIDgyLCA3OSwgNzUsIDY5LCA0NSwgNTUsIDEyOCwgODMsIDg0LCA4MiwgNzksIDc1LCA2OSwgCisgICAgNDUsIDU0LCAxMjgsIDgzLCA4NCwgODIsIDc5LCA3NSwgNjksIDQ1LCA1MywgMTI4LCA4MywgODQsIDgyLCA3OSwgNzUsIDY5LCAKKyAgICA0NSwgNTIsIDEyOCwgODMsIDg0LCA4MiwgNzksIDc1LCA2OSwgNDUsIDUxLCAxMjgsIDgzLCA4NCwgODIsIDc5LCA3NSwgNjksIAorICAgIDQ1LCA1MCwgMTI4LCA4MywgODQsIDgyLCA3OSwgNzUsIDY5LCA0NSwgNDksIDQ5LCAxMjgsIDgzLCA4NCwgODIsIDc5LCA3NSwgCisgICAgNjksIDQ1LCA0OSwgNDgsIDEyOCwgODMsIDg0LCA4MiwgNzksIDc1LCA2OSwgNDUsIDQ5LCAxMjgsIDgzLCA4NCwgODIsIDc5LCAKKyAgICA3NSwgMTk3LCA4MywgODQsIDgyLCA3MywgODAsIDY5LCAxMjgsIDgzLCA4NCwgODIsIDczLCA3OCwgNzEsIDEyOCwgODMsIAorICAgIDg0LCA4MiwgNzMsIDc4LCAxOTksIDgzLCA4NCwgODIsIDczLCA3NSwgNjksIDg0LCA3MiwgODIsIDc5LCA4NSwgNzEsIDcyLCAKKyAgICAxMjgsIDgzLCA4NCwgODIsIDczLCA2OCwgNjksIDEyOCwgODMsIDg0LCA4MiwgNzMsIDY3LCA4NCwgNzYsIDIxNywgODMsIAorICAgIDg0LCA4MiwgNjksIDg0LCA2NywgNzIsIDY5LCAxOTYsIDgzLCA4NCwgODIsIDY5LCA4MywgMjExLCA4MywgODQsIDgyLCA2OSwgCisgICAgNzgsIDcxLCA4NCwgNzIsIDEyOCwgODMsIDg0LCA4MiwgNjksIDY1LCA3NywgNjksIDgyLCAxMjgsIDgzLCA4NCwgODIsIDY1LCAKKyAgICA4NywgNjYsIDY5LCA4MiwgODIsIDg5LCAxMjgsIDgzLCA4NCwgODIsIDY1LCA4NCwgODUsIDc3LCA0NSwgNTAsIDEyOCwgODMsIAorICAgIDg0LCA4MiwgNjUsIDg0LCA4NSwgNzcsIDEyOCwgODMsIDg0LCA4MiwgNjUsIDg0LCA4NSwgMjA1LCA4MywgODQsIDgyLCA2NSwgCisgICAgODQsIDczLCA2NSwgMjA2LCA4MywgODQsIDgyLCA2NSwgNzMsIDc4LCA2OSwgODIsIDEyOCwgODMsIDg0LCA4MiwgNjUsIDczLCAKKyAgICA3MSwgNzIsIDg0LCA3OCwgNjksIDgzLCA4MywgMTI4LCA4MywgODQsIDgyLCA2NSwgNzMsIDcxLCA3MiwgMjEyLCA4MywgODQsIAorICAgIDgyLCA2NSwgNzMsIDcwLCAxMjgsIDgzLCA4NCwgODIsIDY1LCA3MSwgNzEsIDczLCA4MywgNzcsIDY1LCA4NCwgNjUsIDEyOCwgCisgICAgODMsIDg0LCA3OSwgODYsIDY5LCAxMjgsIDgzLCA4NCwgNzksIDgyLCA2OSwgMTI4LCA4MywgODQsIDc5LCA4MCwgODcsIDY1LCAKKyAgICA4NCwgNjcsIDcyLCAxMjgsIDgzLCA4NCwgNzksIDgwLCA4MCwgNzMsIDc4LCA3MSwgMTI4LCA4MywgODQsIDc5LCA4MCwgODAsIAorICAgIDY1LCA3MSwgNjksIDEyOCwgODMsIDg0LCA3OSwgODAsIDEyOCwgODMsIDg0LCA3OSwgMjA4LCA4MywgODQsIDc5LCA3OCwgCisgICAgNjksIDEyOCwgODMsIDg0LCA3OSwgNjcsIDc1LCAxMjgsIDgzLCA4NCwgNzksIDY3LCAyMDMsIDgzLCA4NCwgNzMsIDgyLCAKKyAgICA4MiwgODUsIDIwOCwgODMsIDg0LCA3MywgNzcsIDc3LCA2OSwgMTI4LCA4MywgODQsIDczLCA3NiwgMjA0LCA4MywgODQsIAorICAgIDczLCA3NiwgMTk3LCA4MywgODQsIDczLCA3MSwgNzcsIDY1LCAxMjgsIDgzLCA4NCwgNjksIDgyLCA2OSwgNzksIDEyOCwgCisgICAgODMsIDg0LCA2OSwgODAsIDEyOCwgODMsIDg0LCA2OSwgNzgsIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDczLCAxOTUsIDgzLCAKKyAgICA4NCwgNjksIDc3LCAxMjgsIDgzLCA4NCwgNjksIDY1LCA3NywgNzMsIDc4LCAxOTksIDgzLCA4NCwgNjksIDY1LCA3NywgCisgICAgMTI4LCA4MywgODQsIDY5LCA2NSwgMjA1LCA4MywgODQsIDY1LCA4NiwgODIsIDc5LCA4NSwgMTI4LCA4MywgODQsIDY1LCAKKyAgICA4NiwgODIsIDc5LCA4MywgMTI4LCA4MywgODQsIDY1LCA4NiwgODIsIDc5LCAyMTEsIDgzLCA4NCwgNjUsIDg1LCA4MiwgNzksIAorICAgIDgzLCAxMjgsIDgzLCA4NCwgNjUsIDg0LCA4NSwgMTk3LCA4MywgODQsIDY1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA4MywgCisgICAgODQsIDY1LCA4NCwgNjksIDgyLCA4MywgMTI4LCA4MywgODQsIDY1LCA4NCwgNjksIDEyOCwgODMsIDg0LCA2NSwgODIsIAorICAgIDIxMiwgODMsIDg0LCA2NSwgODIsIDgzLCAxMjgsIDgzLCA4NCwgNjUsIDgyLCA4MiwgNjksIDE5NiwgODMsIDg0LCA2NSwgCisgICAgODIsIDc1LCAxMjgsIDgzLCA4NCwgNjUsIDgyLCAxMjgsIDgzLCA4NCwgNjUsIDIxMCwgODMsIDg0LCA2NSwgNzgsIDY4LCAKKyAgICA4MywgODQsIDczLCA3NiwgNzYsIDEyOCwgODMsIDg0LCA2NSwgNzgsIDY4LCA2NSwgODIsIDE5NiwgODMsIDg0LCA2NSwgNzgsIAorICAgIDY4LCAxMjgsIDgzLCA4NCwgNjUsIDc4LCAxMjgsIDgzLCA4NCwgNjUsIDc3LCA4MCwgNjksIDE5NiwgODMsIDg0LCA2NSwgCisgICAgNzYsIDc2LCA3MywgNzksIDc4LCAxMjgsIDgzLCA4NCwgNjUsIDcwLCA3MCwgMTI4LCA4MywgODQsIDY1LCA3MCwgMTk4LCAKKyAgICA4MywgODQsIDY1LCA2OCwgNzMsIDg1LCA3NywgMTI4LCA4MywgODQsIDY1LCA2NywgNjcsIDY1LCA4NCwgNzksIDEyOCwgODMsIAorICAgIDg0LCA2NSwgNjcsIDY3LCA2NSwgODQsIDczLCA4MywgODMsIDczLCA3NywgNzksIDEyOCwgODMsIDg0LCA1MCwgMTI4LCA4MywgCisgICAgODMsIDg5LCA4OCwgMTI4LCA4MywgODMsIDg5LCA4NCwgMTI4LCA4MywgODMsIDg5LCA4MiwgODgsIDEyOCwgODMsIDgzLCAKKyAgICA4OSwgODIsIDEyOCwgODMsIDgzLCA4OSwgODAsIDEyOCwgODMsIDgzLCA4OSwgMTI4LCA4MywgODMsIDg1LCA4OCwgMTI4LCAKKyAgICA4MywgODMsIDg1LCA4NSwgMTI4LCA4MywgODMsIDg1LCA4NCwgMTI4LCA4MywgODMsIDg1LCA4MCwgMTI4LCA4MywgODMsIAorICAgIDc5LCA4OCwgMTI4LCA4MywgODMsIDc5LCA4NCwgMTI4LCA4MywgODMsIDc5LCA4MCwgMTI4LCA4MywgODMsIDc5LCA3OSwgCisgICAgMTI4LCA4MywgODMsIDc5LCAxMjgsIDgzLCA4MywgNzMsIDg4LCAxMjgsIDgzLCA4MywgNzMsIDg0LCAxMjgsIDgzLCA4MywgCisgICAgNzMsIDgwLCAxMjgsIDgzLCA4MywgNzMsIDczLCAxMjgsIDgzLCA4MywgNzMsIDY5LCA4OCwgMTI4LCA4MywgODMsIDczLCAKKyAgICA2OSwgODAsIDEyOCwgODMsIDgzLCA3MywgNjksIDEyOCwgODMsIDgzLCA3MywgMTI4LCA4MywgODMsIDcyLCA3MywgNzgsIAorICAgIDEyOCwgODMsIDgzLCA3MiwgNjksIDEyOCwgODMsIDgzLCA2OSwgODgsIDEyOCwgODMsIDgzLCA2OSwgODAsIDEyOCwgODMsIAorICAgIDgzLCA2OSwgNjksIDEyOCwgODMsIDgzLCA2NSwgODgsIDEyOCwgODMsIDgzLCA2NSwgODUsIDEyOCwgODMsIDgzLCA2NSwgCisgICAgODQsIDEyOCwgODMsIDgzLCA2NSwgODAsIDEyOCwgODMsIDgzLCA2NSwgNzgsIDcxLCA4OSwgNjksIDc5LCA4MiwgNzMsIDc4LCAKKyAgICA3MiwgNzMsIDY5LCA4NSwgNzIsIDEyOCwgODMsIDgzLCA2NSwgNzgsIDcxLCA4NCwgNzMsIDc1LCA2OSwgODUsIDg0LCA0NSwgCisgICAgODAsIDczLCA2OSwgODUsIDgwLCAxMjgsIDgzLCA4MywgNjUsIDc4LCA3MSwgODQsIDczLCA3NSwgNjksIDg1LCA4NCwgMTI4LCAKKyAgICA4MywgODMsIDY1LCA3OCwgNzEsIDg0LCA3MiwgNzMsIDY5LCA4NSwgODQsIDcyLCAxMjgsIDgzLCA4MywgNjUsIDc4LCA3MSwgCisgICAgODMsIDczLCA3OSwgODMsIDQ1LCA4NCwgNzMsIDc1LCA2OSwgODUsIDg0LCAxMjgsIDgzLCA4MywgNjUsIDc4LCA3MSwgODMsIAorICAgIDczLCA3OSwgODMsIDQ1LCA4MCwgNzMsIDY5LCA4NSwgODAsIDEyOCwgODMsIDgzLCA2NSwgNzgsIDcxLCA4MywgNzMsIDc5LCAKKyAgICA4MywgNDUsIDc1LCA3MywgODksIDY5LCA3OSwgNzUsIDEyOCwgODMsIDgzLCA2NSwgNzgsIDcxLCA4MywgNzMsIDc5LCA4MywgCisgICAgMTI4LCA4MywgODMsIDY1LCA3OCwgNzEsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDc1LCA3MiwgNzMsIDY5LCA4NSwgNzUsIAorICAgIDcyLCAxMjgsIDgzLCA4MywgNjUsIDc4LCA3MSwgODIsIDczLCA2OSwgODUsIDc2LCAxMjgsIDgzLCA4MywgNjUsIDc4LCA3MSwgCisgICAgODAsIDczLCA2OSwgODUsIDgwLCAxMjgsIDgzLCA4MywgNjUsIDc4LCA3MSwgNzgsIDczLCA2OSwgODUsIDc4LCAxMjgsIDgzLCAKKyAgICA4MywgNjUsIDc4LCA3MSwgNzcsIDczLCA2OSwgODUsIDc3LCAxMjgsIDgzLCA4MywgNjUsIDc4LCA3MSwgNzUsIDczLCA4OSwgCisgICAgNjksIDc5LCA3NSwgMTI4LCA4MywgODMsIDY1LCA3OCwgNzEsIDczLCA2OSwgODUsIDc4LCA3MSwgMTI4LCA4MywgODMsIDY1LCAKKyAgICA3OCwgNzEsIDcyLCA3MywgNjksIDg1LCA3MiwgMTI4LCA4MywgODMsIDY1LCA3OCwgNzEsIDY3LCA3MywgNjksIDg1LCA2NywgCisgICAgNDUsIDcyLCA3MywgNjksIDg1LCA3MiwgMTI4LCA4MywgODMsIDY1LCA3OCwgNzEsIDY3LCA3MywgNjksIDg1LCA2NywgMTI4LCAKKyAgICA4MywgODMsIDY1LCA3OCwgNzEsIDY1LCA4MiwgNjUsIDY5LCA2NSwgMTI4LCA4MywgODMsIDY1LCA3MywgMTI4LCA4MywgODMsIAorICAgIDY1LCA2NSwgMTI4LCA4MywgODMsIDUxLCAxMjgsIDgzLCA4MywgNTAsIDEyOCwgODMsIDgyLCAxMjgsIDgzLCA4MSwgODUsIAorICAgIDczLCA4MywgMjAwLCA4MywgODEsIDg1LCA3MywgODIsIDgyLCA2OSwgMjA0LCA4MywgODEsIDg1LCA3MywgNzEsIDcxLCA3NiwgCiAgICAgMTk3LCA4MywgODEsIDg1LCA2NSwgMjEyLCA4MywgODEsIDg1LCA2NSwgODIsIDY5LCA4MywgMTI4LCA4MywgODEsIDg1LCAKLSAgICA2NSwgODIsIDY5LCA2OCwgMTI4LCA4MywgODEsIDg1LCA2NSwgODIsIDY5LCAxMjgsIDgzLCA4MCwgODcsIDY1LCAxMjgsIAotICAgIDgzLCA4MCwgODUsIDc4LCA3MSwgMjExLCA4MywgODAsIDgyLCA3OSwgODUsIDg0LCAxMjgsIDgzLCA4MCwgODIsIDczLCA3OCwgCi0gICAgNzEsIDgzLCAxMjgsIDgzLCA4MCwgODIsIDczLCA3OCwgNzEsIDEyOCwgODMsIDgwLCA4MiwgNjksIDY3LCA3MiwgNzEsIDY5LCAKLSAgICA4MywgNjUsIDc4LCAxOTksIDgzLCA4MCwgNzksIDg1LCA4NCwgNzMsIDc4LCAxOTksIDgzLCA4MCwgNzksIDg0LCAxMjgsIAotICAgIDgzLCA4MCwgNzksIDc5LCA3OCwgMTI4LCA4MywgODAsIDc2LCA3MywgODQsIDg0LCA3MywgNzgsIDE5OSwgODMsIDgwLCA3NiwgCi0gICAgNjUsIDgzLCA3MiwgNzMsIDc4LCAxOTksIDgzLCA4MCwgNzMsIDgyLCA3MywgODQsIDg1LCAyMTEsIDgzLCA4MCwgNzMsIDgyLCAKLSAgICA3MywgODQsIDEyOCwgODMsIDgwLCA3MywgODIsIDczLCAyMTIsIDgzLCA4MCwgNzMsIDgyLCA2NSwgNzgsIDg0LCAxMjgsIAotICAgIDgzLCA4MCwgNzMsIDgyLCA2NSwgNzYsIDEyOCwgODMsIDgwLCA3MywgODIsIDY1LCAyMDQsIDgzLCA4MCwgNzMsIDY4LCA2OSwgCi0gICAgODIsIDIxNywgODMsIDgwLCA3MywgNjcsIDY5LCAxMjgsIDgzLCA4MCwgNzIsIDY5LCA4MiwgNzMsIDY3LCA2NSwgMjA0LCAKLSAgICA4MywgODAsIDY5LCA4MywgNzcsIDczLCA3NiwgMjA3LCA4MywgODAsIDY5LCA2OSwgNjgsIDY2LCA3OSwgNjUsIDg0LCAxMjgsIAotICAgIDgzLCA4MCwgNjksIDY5LCA2NywgNzIsIDEyOCwgODMsIDgwLCA2OSwgNjksIDY3LCAyMDAsIDgzLCA4MCwgNjksIDY3LCA3MywgCi0gICAgNjUsIDc2LCAxMjgsIDgzLCA4MCwgNjksIDY1LCA4MiwgMTI4LCA4MywgODAsIDY5LCA2NSwgNzUsIDY5LCA4MiwgMTI4LCAKLSAgICA4MywgODAsIDY5LCA2NSwgNzUsIDY5LCAyMTAsIDgzLCA4MCwgNjksIDY1LCA3NSwgNDUsIDc4LCA3OSwgNDUsIDY5LCA4NiwgCi0gICAgNzMsIDIwNCwgODMsIDgwLCA2NSwgODQsIDcyLCA3MywgMTI4LCA4MywgODAsIDY1LCA4MiwgNzUsIDc2LCA3MywgNzgsIAotICAgIDE5OSwgODMsIDgwLCA2NSwgODIsIDc1LCA3NiwgNjksIDgzLCAxMjgsIDgzLCA4MCwgNjUsIDgyLCA3NSwgNzYsIDY5LCA4MiwgCi0gICAgMTI4LCA4MywgODAsIDY1LCA4MiwgNzUsIDc2LCA2OSwgMTI4LCA4MywgODAsIDY1LCA3MSwgNzIsIDY5LCA4NCwgODQsIDczLCAKLSAgICAxMjgsIDgzLCA4MCwgNjUsIDY4LCA2OSwgODMsIDEyOCwgODMsIDgwLCA2NSwgNjgsIDE5NywgODMsIDgwLCA2NSwgNjcsIAotICAgIDczLCA3OCwgMTk5LCA4MywgODAsIDY1LCA2NywgMTk3LCA4MywgODAsIDY1LCAxMjgsIDgzLCA3OSwgODksIDEyOCwgODMsIAotICAgIDc5LCA4NywgNzMsIDc2LCAyMDcsIDgzLCA3OSwgODcsIDEyOCwgODMsIDc5LCA4NSwgODQsIDcyLCA2OSwgODIsIDIwNiwgCi0gICAgODMsIDc5LCA4NSwgODQsIDcyLCA0NSwgODMsIDc2LCA2NSwgODYsIDY5LCAyMTcsIDgzLCA3OSwgODUsIDg0LCAyMDAsIDgzLCAKKyAgICA2NSwgODIsIDY5LCA2OCwgMTI4LCA4MywgODEsIDg1LCA2NSwgODIsIDY5LCAxMjgsIDgzLCA4MCwgODksIDEyOCwgODMsIAorICAgIDgwLCA4NywgNjUsIDEyOCwgODMsIDgwLCA4NSwgNzgsIDcxLCAyMTEsIDgzLCA4MCwgODIsIDc5LCA4NSwgODQsIDEyOCwgCisgICAgODMsIDgwLCA4MiwgNzMsIDc4LCA3MSwgODMsIDEyOCwgODMsIDgwLCA4MiwgNzMsIDc4LCA3MSwgMTI4LCA4MywgODAsIDgyLCAKKyAgICA2OSwgNjcsIDcyLCA3MSwgNjksIDgzLCA2NSwgNzgsIDE5OSwgODMsIDgwLCA3OSwgODUsIDg0LCA3MywgNzgsIDE5OSwgODMsIAorICAgIDgwLCA3OSwgODQsIDEyOCwgODMsIDgwLCA3OSwgODIsIDg0LCAyMTEsIDgzLCA4MCwgNzksIDc5LCA3OCwgMTI4LCA4MywgCisgICAgODAsIDc2LCA3MywgODQsIDg0LCA3MywgNzgsIDE5OSwgODMsIDgwLCA3NiwgNjUsIDg5LCA2OSwgNjgsIDEyOCwgODMsIDgwLCAKKyAgICA3NiwgNjUsIDgzLCA3MiwgNzMsIDc4LCAxOTksIDgzLCA4MCwgNzMsIDgyLCA3MywgODQsIDg1LCAyMTEsIDgzLCA4MCwgNzMsIAorICAgIDgyLCA3MywgODQsIDEyOCwgODMsIDgwLCA3MywgODIsIDczLCAyMTIsIDgzLCA4MCwgNzMsIDgyLCA2NSwgNzgsIDg0LCAKKyAgICAxMjgsIDgzLCA4MCwgNzMsIDgyLCA2NSwgNzYsIDEyOCwgODMsIDgwLCA3MywgODIsIDY1LCAyMDQsIDgzLCA4MCwgNzMsIAorICAgIDY4LCA2OSwgODIsIDIxNywgODMsIDgwLCA3MywgNjgsIDY5LCA4MiwgMTI4LCA4MywgODAsIDczLCA2OCwgNjksIDIxMCwgCisgICAgODMsIDgwLCA3MywgNjcsIDY5LCAxMjgsIDgzLCA4MCwgNzIsIDY5LCA4MiwgNzMsIDY3LCA2NSwgMjA0LCA4MywgODAsIDY5LCAKKyAgICA4MywgNzcsIDczLCA3NiwgMjA3LCA4MywgODAsIDY5LCA2OSwgNjgsIDY2LCA3OSwgNjUsIDg0LCAxMjgsIDgzLCA4MCwgNjksIAorICAgIDY5LCA2NywgNzIsIDEyOCwgODMsIDgwLCA2OSwgNjksIDY3LCAyMDAsIDgzLCA4MCwgNjksIDY3LCA3MywgNjUsIDc2LCAKKyAgICAxMjgsIDgzLCA4MCwgNjksIDY1LCA4MiwgMTI4LCA4MywgODAsIDY5LCA2NSwgNzUsIDczLCA3OCwgMTk5LCA4MywgODAsIAorICAgIDY5LCA2NSwgNzUsIDY5LCA4MiwgMTI4LCA4MywgODAsIDY5LCA2NSwgNzUsIDY5LCAyMTAsIDgzLCA4MCwgNjksIDY1LCA3NSwgCisgICAgNDUsIDc4LCA3OSwgNDUsIDY5LCA4NiwgNzMsIDIwNCwgODMsIDgwLCA2NSwgODQsIDcyLCA3MywgMTI4LCA4MywgODAsIDY1LCAKKyAgICA4MiwgNzUsIDc2LCA3MywgNzgsIDE5OSwgODMsIDgwLCA2NSwgODIsIDc1LCA3NiwgNjksIDgzLCAxMjgsIDgzLCA4MCwgNjUsIAorICAgIDgyLCA3NSwgNzYsIDY5LCA4MiwgMTI4LCA4MywgODAsIDY1LCA4MiwgNzUsIDc2LCA2OSwgMTI4LCA4MywgODAsIDY1LCA3MSwgCisgICAgNzIsIDY5LCA4NCwgODQsIDczLCAxMjgsIDgzLCA4MCwgNjUsIDY4LCA2OSwgODMsIDEyOCwgODMsIDgwLCA2NSwgNjgsIAorICAgIDE5NywgODMsIDgwLCA2NSwgNjcsIDczLCA3OCwgMTk5LCA4MywgODAsIDY1LCA2NywgMTk3LCA4MywgODAsIDY1LCAxMjgsIAorICAgIDgzLCA3OSwgODksIDEyOCwgODMsIDc5LCA4NywgNzMsIDc2LCAyMDcsIDgzLCA3OSwgODcsIDEyOCwgODMsIDc5LCA4NSwgCisgICAgODQsIDcyLCA2OSwgODIsIDIwNiwgODMsIDc5LCA4NSwgODQsIDcyLCA0NSwgODMsIDc2LCA2NSwgODYsIDY5LCAyMTcsIDgzLCAKICAgICA3OSwgODUsIDgyLCA2NywgNjksIDEyOCwgODMsIDc5LCA4NSwgNzgsIDY4LCAxMjgsIDgzLCA3OSwgODUsIDc4LCAxOTYsIAogICAgIDgzLCA3OSwgODUsIDc4LCA2NSwgODAsIDEyOCwgODMsIDc5LCA4NSwgMTI4LCA4MywgNzksIDgzLCAxMjgsIDgzLCA3OSwgCiAgICAgODIsIDE5MywgODMsIDc5LCA4MSwgMTI4LCA4MywgNzksIDc5LCAyMDYsIDgzLCA3OSwgNzgsIDc0LCA2NSwgNzcsIDEyOCwgCiAgICAgODMsIDc5LCA3OCwgNzEsIDEyOCwgODMsIDc5LCA3OCwgMTI4LCA4MywgNzksIDc3LCA4MCwgNjksIDc4LCAxOTksIDgzLCAKICAgICA3OSwgNzcsIDEyOCwgODMsIDc5LCA3NiwgNzMsIDY4LCA4NSwgODMsIDEyOCwgODMsIDc5LCA3NiwgNzMsIDY4LCA4NSwgCi0gICAgMjExLCA4MywgNzksIDcyLCAxMjgsIDgzLCA3OSwgNzEsIDY4LCA3MywgNjUsIDIwNiwgODMsIDc5LCA3MCwgODQsIDg3LCAKLSAgICA2NSwgODIsIDY5LCA0NSwgNzAsIDg1LCA3OCwgNjcsIDg0LCA3MywgNzksIDIwNiwgODMsIDc5LCA3MCwgODQsIDc4LCA2OSwgCi0gICAgODMsIDgzLCAxMjgsIDgzLCA3OSwgNzAsIDIxMiwgODMsIDc5LCAxOTgsIDgzLCA3OSwgNjcsIDczLCA2OSwgODQsIDg5LCAKLSAgICAxMjgsIDgzLCA3OSwgNjcsIDY3LCA2OSwgMjEwLCA4MywgNzksIDY1LCA4MCwgMTI4LCA4MywgNzksIDY1LCAxMjgsIDgzLCAKLSAgICAyMDcsIDgzLCA3OCwgNzksIDg3LCA3NywgNjUsIDc4LCAxMjgsIDgzLCA3OCwgNzksIDg3LCA3NywgNjUsIDIwNiwgODMsIAotICAgIDc4LCA3OSwgODcsIDcwLCA3NiwgNjUsIDc1LCA2OSwgMTI4LCA4MywgNzgsIDc5LCA4NywgNjYsIDc5LCA2NSwgODIsIDY4LCAKLSAgICA2OSwgODIsIDEyOCwgODMsIDc4LCA3OSwgODcsIDEyOCwgODMsIDc4LCA3OSwgODUsIDg0LCAxMjgsIDgzLCA3OCwgNzksIAotICAgIDg1LCAyMTIsIDgzLCA3OCwgNjUsIDIwOCwgODMsIDc4LCA2NSwgNzUsIDY5LCAxMjgsIDgzLCA3OCwgNjUsIDc1LCAxOTcsIAotICAgIDgzLCA3OCwgNjUsIDczLCA3NiwgMTI4LCA4MywgNzgsIDE5MywgODMsIDc3LCA3OSwgNzUsIDczLCA3OCwgMTk5LCA4MywgCi0gICAgNzcsIDczLCA4MiwgNzUsIDczLCA3OCwgMTk5LCA4MywgNzcsIDczLCA3NiwgNzMsIDc4LCAxOTksIDgzLCA3NywgNzMsIDc2LCAKLSAgICA2OSwgMTI4LCA4MywgNzcsIDY5LCA2NSwgODIsIDEyOCwgODMsIDc3LCA2NSwgODMsIDIwMCwgODMsIDc3LCA2NSwgNzYsIAotICAgIDc2LCA2OSwgMjEwLCA4MywgNzcsIDY1LCA3NiwgNzYsIDEyOCwgODMsIDc2LCA4NSwgODIsIDEyOCwgODMsIDc2LCA3OSwgCi0gICAgODcsIDc2LCA4OSwgMTI4LCA4MywgNzYsIDc5LCAyMTUsIDgzLCA3NiwgNzksIDg2LCA3OSwgMTI4LCA4MywgNzYsIDc5LCAKLSAgICAyMTIsIDgzLCA3NiwgNzksIDgwLCA3MywgNzgsIDE5OSwgODMsIDc2LCA3OSwgODAsIDY5LCAxMjgsIDgzLCA3NiwgNzMsIAotICAgIDc4LCA3MSwgMTI4LCA4MywgNzYsIDczLCA2OCwgNzMsIDc4LCA3MSwgMTI4LCA4MywgNzYsIDczLCA2NywgNjksIDEyOCwgCi0gICAgODMsIDc2LCA3MywgNjcsIDE5NywgODMsIDc2LCA2OSwgNjksIDgwLCAyMTcsIDgzLCA3NiwgNjksIDY5LCA4MCwgNzMsIDc4LCAKLSAgICAxOTksIDgzLCA3NiwgNjUsIDg2LCA3OSwgNzgsIDczLCAxOTUsIDgzLCA3NiwgNjUsIDg2LCA2OSwgMTI4LCA4MywgNzYsIAotICAgIDY1LCA4MywgNzIsIDEyOCwgODMsIDc2LCA2NSwgODMsIDIwMCwgODMsIDc2LCA2NSwgNzgsIDg0LCA2OSwgMTk2LCA4MywgCi0gICAgNzUsIDg3LCA2NSwgMTI4LCA4MywgNzUsIDg3LCAxMjgsIDgzLCA3NSwgODUsIDc2LCA3NiwgMTI4LCA4MywgNzUsIDg1LCAKLSAgICA3NiwgMjA0LCA4MywgNzUsIDc2LCA3MywgODIsIDc5LCAyMDYsIDgzLCA3NSwgNzMsIDc4LCAxMjgsIDgzLCA3NSwgNzMsIAotICAgIDY5LCA4MiwgMTI4LCA4MywgNzUsIDIwMSwgODMsIDc1LCA2OSwgODcsIDY5LCAxOTYsIDgzLCA3NSwgNjUsIDg0LCA2OSwgCi0gICAgMTI4LCA4MywgNzUsIDEyOCwgODMsIDc0LCA2OSwgMTI4LCA4MywgNzMsIDg4LCA4NCwgODksIDQ1LCA3MCwgNzksIDg1LCAKLSAgICA4MiwgODQsIDIwMCwgODMsIDczLCA4OCwgODQsIDg5LCAxMjgsIDgzLCA3MywgODgsIDg0LCAyMTcsIDgzLCA3MywgODgsIAotICAgIDg0LCA3MiwgODMsIDEyOCwgODMsIDczLCA4OCwgODQsIDcyLCAyMTEsIDgzLCA3MywgODgsIDg0LCA3MiwgMTI4LCA4MywgCi0gICAgNzMsIDg4LCA4NCwgNjksIDY5LCA3OCwgODQsIDcyLCA4MywgMTI4LCA4MywgNzMsIDg4LCA4NCwgNjksIDY5LCA3OCwgODQsIAotICAgIDcyLCAxMjgsIDgzLCA3MywgODgsIDg0LCA2OSwgNjksIDc4LCA4NCwgMjAwLCA4MywgNzMsIDg4LCA4NCwgNjksIDY5LCA3OCwgCi0gICAgMTI4LCA4MywgNzMsIDg4LCA4NCwgNjksIDY5LCAyMDYsIDgzLCA3MywgODgsIDQ1LCA4NCwgNzIsIDczLCA4MiwgODQsIDg5LCAKLSAgICAxMjgsIDgzLCA3MywgODgsIDQ1LCA4MywgODQsIDgyLCA3MywgNzgsIDE5OSwgODMsIDczLCA4OCwgNDUsIDgwLCA2OSwgODIsIAotICAgIDQ1LCA2OSwgMjA1LCA4MywgNzMsIDg4LCA0NSwgNzYsIDczLCA3OCwgMTk3LCA4MywgNzMsIDIxNiwgODMsIDczLCA4NCwgCi0gICAgNjksIDEyOCwgODMsIDczLCA4MywgNjUsIDEyOCwgODMsIDczLCA4MiwgNzMsIDc4LCA3MSwgODUsIDEyOCwgODMsIDczLCAKLSAgICA3OSwgODMsIDQ1LCA4NCwgNzIsIDczLCA2OSwgODUsIDg0LCA3MiwgMTI4LCA4MywgNzMsIDc5LCA4MywgNDUsIDgzLCA4MywgCi0gICAgNjUsIDc4LCA3MSwgODMsIDczLCA3OSwgODMsIDEyOCwgODMsIDczLCA3OSwgODMsIDQ1LCA4MiwgNzMsIDY5LCA4NSwgNzYsIAotICAgIDEyOCwgODMsIDczLCA3OSwgODMsIDQ1LCA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCA3NSwgNzMsIDg5LCA2OSwgNzksIDc1LCAKLSAgICAxMjgsIDgzLCA3MywgNzksIDgzLCA0NSwgODAsIDcyLCA3MywgNjksIDg1LCA4MCwgNzIsIDEyOCwgODMsIDczLCA3OSwgODMsIAotICAgIDQ1LCA4MCwgNjUsIDc4LCA4MywgNzMsIDc5LCA4MywgMTI4LCA4MywgNzMsIDc5LCA4MywgNDUsIDc4LCA3MywgNjksIDg1LCAKLSAgICA3OCwgMTI4LCA4MywgNzMsIDc5LCA4MywgNDUsIDc3LCA3MywgNjksIDg1LCA3NywgMTI4LCA4MywgNzMsIDc5LCA4MywgNDUsIAotICAgIDc1LCA3MiwgNzMsIDY5LCA4NSwgNzUsIDcyLCAxMjgsIDgzLCA3MywgNzksIDgzLCA0NSwgNzUsIDY1LCA4MCwgODksIDY5LCAKLSAgICA3OSwgODUsIDc4LCA4MCwgNzMsIDY5LCA4NSwgODAsIDEyOCwgODMsIDczLCA3OSwgODMsIDQ1LCA3MywgNjksIDg1LCA3OCwgCi0gICAgNzEsIDEyOCwgODMsIDczLCA3OSwgODMsIDQ1LCA3MiwgNzMsIDY5LCA4NSwgNzIsIDEyOCwgODMsIDczLCA3OSwgODMsIDQ1LCAKLSAgICA2NywgNzMsIDY5LCA4NSwgNjcsIDEyOCwgODMsIDczLCA3OSwgODMsIDQ1LCA2NywgNzIsIDczLCA2OSwgODUsIDY3LCA3MiwgCi0gICAgMTI4LCA4MywgNzMsIDc5LCAyMTEsIDgzLCA3MywgNzgsIDc1LCA3MywgNzgsIDcxLCAxMjgsIDgzLCA3MywgNzgsIDcxLCAKLSAgICA3NiwgNjksIDQ1LCA4MywgNzIsIDczLCA3MCwgODQsIDQ1LCA1MSwgMTI4LCA4MywgNzMsIDc4LCA3MSwgNzYsIDY5LCA0NSwgCi0gICAgODMsIDcyLCA3MywgNzAsIDg0LCA0NSwgNTAsIDEyOCwgODMsIDczLCA3OCwgNzEsIDc2LCA2OSwgNDUsIDc2LCA3MywgNzgsIAotICAgIDE5NywgODMsIDczLCA3OCwgNzEsIDc2LCA2OSwgMTI4LCA4MywgNzMsIDc4LCA3MSwgNzYsIDE5NywgODMsIDczLCA3OCwgCi0gICAgNzEsIDY1LCA2NSwgODQsIDEyOCwgODMsIDczLCA3OCwgMTk3LCA4MywgNzMsIDc4LCA2OCwgNzIsIDIwMSwgODMsIDczLCAKLSAgICAyMDYsIDgzLCA3MywgNzcsIDgwLCA3NiwgNzMsIDcwLCA3MywgNjksIDE5NiwgODMsIDczLCA3NywgNzMsIDc2LCA2NSwgODIsIAotICAgIDEyOCwgODMsIDczLCA3NywgNzMsIDc2LCA2NSwgMjEwLCA4MywgNzMsIDc3LCA2NSwgNzgsIDgzLCA3MywgMjExLCA4MywgCi0gICAgNzMsIDc3LCA2NSwgNzYsIDg1LCA3OCwgNzEsIDg1LCAyMDYsIDgzLCA3MywgNzcsIDY1LCAxMjgsIDgzLCA3MywgNzYsIDg2LCAKLSAgICA2OSwgODIsIDEyOCwgODMsIDczLCA3NiwgNzUsIDEyOCwgODMsIDczLCA3NiwgNzMsIDgxLCA4NSwgMTkzLCA4MywgNzMsIAotICAgIDc2LCA3MiwgNzksIDg1LCA2OSwgODQsIDg0LCA2OSwgMTI4LCA4MywgNzMsIDc2LCA3MiwgNzksIDg1LCA2OSwgODQsIDg0LCAKLSAgICAxOTcsIDgzLCA3MywgNzYsIDY1LCA1MSwgMTI4LCA4MywgNzMsIDc1LCA3MywgMTI4LCA4MywgNzMsIDc1LCA1MCwgMTI4LCAKLSAgICA4MywgNzMsIDc1LCAxNzgsIDgzLCA3MywgNzEsIDc4LCA4MywgMTI4LCA4MywgNzMsIDcxLCA3NywgNjUsIDEyOCwgODMsIAotICAgIDczLCA3MSwgNzcsIDE5MywgODMsIDczLCA3MSwgNjksIDIwNCwgODMsIDczLCA3MSwgNTIsIDEyOCwgODMsIDczLCA3MSwgCi0gICAgMTgwLCA4MywgNzMsIDcxLCAxMjgsIDgzLCA3MywgNjksIDY5LCAxMjgsIDgzLCA3MywgNjgsIDY5LCA4NywgNjUsIDg5LCAKLSAgICAyMTEsIDgzLCA3MywgNjcsIDc1LCA3OCwgNjksIDgzLCA4MywgMTI4LCA4MywgNzMsIDY3LCA3NSwgNzYsIDY5LCAxMjgsIAotICAgIDgzLCA3MywgNjYsIDE5NywgODMsIDIwMSwgODMsIDcyLCA4OSwgODgsIDEyOCwgODMsIDcyLCA4OSwgODQsIDEyOCwgODMsIAotICAgIDcyLCA4OSwgODIsIDg4LCAxMjgsIDgzLCA3MiwgODksIDgyLCAxMjgsIDgzLCA3MiwgODksIDgwLCAxMjgsIDgzLCA3MiwgCi0gICAgODksIDY5LCAxMjgsIDgzLCA3MiwgODksIDY1LCAxMjgsIDgzLCA3MiwgODksIDEyOCwgODMsIDcyLCA4NywgNzksIDg5LCAKLSAgICAxMjgsIDgzLCA3MiwgODcsIDc5LCA3OSwgMTI4LCA4MywgNzIsIDg3LCA3OSwgMTI4LCA4MywgNzIsIDg3LCA3MywgNzMsIAotICAgIDEyOCwgODMsIDcyLCA4NywgNzMsIDEyOCwgODMsIDcyLCA4NywgNjksIDEyOCwgODMsIDcyLCA4NywgNjUsIDY1LCAxMjgsIAotICAgIDgzLCA3MiwgODcsIDY1LCAxMjgsIDgzLCA3MiwgODUsIDg4LCAxMjgsIDgzLCA3MiwgODUsIDg1LCAxMjgsIDgzLCA3MiwgCi0gICAgODUsIDg0LCAxMjgsIDgzLCA3MiwgODUsIDgyLCA4OCwgMTI4LCA4MywgNzIsIDg1LCA4MiwgMTI4LCA4MywgNzIsIDg1LCAKLSAgICA4MCwgMTI4LCA4MywgNzIsIDg1LCA3OSwgODgsIDEyOCwgODMsIDcyLCA4NSwgNzksIDgwLCAxMjgsIDgzLCA3MiwgODUsIAotICAgIDc5LCAxMjgsIDgzLCA3MiwgODUsIDc3LCAxMjgsIDgzLCA3MiwgODUsIDcwLCA3MCwgNzYsIDE5NywgODMsIDcyLCA4NSwgCi0gICAgNjksIDgxLCAxMjgsIDgzLCA3MiwgODUsIDY5LCA3OCwgODMsIDcyLCA4NSwgNjksIDg0LCAxMjgsIDgzLCA3MiwgODUsIDY2LCAKLSAgICA4NSwgODIsIDEyOCwgODMsIDcyLCA4NSwgNTAsIDEyOCwgODMsIDcyLCA4NSwgMTc4LCA4MywgNzIsIDg1LCAxMjgsIDgzLCAKLSAgICA3MiwgMjEzLCA4MywgNzIsIDg0LCA2NSwgODAsIDczLCA2NywgMTI4LCA4MywgNzIsIDg0LCA2NSwgMTI4LCA4MywgNzIsIAotICAgIDgyLCA3MywgNzgsIDY5LCAxMjgsIDgzLCA3MiwgODIsIDczLCA3NywgODAsIDEyOCwgODMsIDcyLCA4MiwgNzMsIDczLCAKLSAgICAxMjgsIDgzLCA3MiwgNzksIDg5LCAxMjgsIDgzLCA3MiwgNzksIDg4LCAxMjgsIDgzLCA3MiwgNzksIDg3LCA2OSwgODIsIAotICAgIDEyOCwgODMsIDcyLCA3OSwgODUsIDc2LCA2OCwgNjksIDgyLCA2OSwgMTk2LCA4MywgNzIsIDc5LCA4NCwgMTI4LCA4MywgCi0gICAgNzIsIDc5LCA4MiwgODQsIDgzLCAxMjgsIDgzLCA3MiwgNzksIDgyLCA4NCwgMjExLCA4MywgNzIsIDc5LCA4MiwgODQsIDY5LCAKLSAgICA3OCwgNjksIDgyLCAxMjgsIDgzLCA3MiwgNzksIDgyLCA4NCwgNjcsIDY1LCA3NSwgNjksIDEyOCwgODMsIDcyLCA3OSwgODIsIAotICAgIDg0LCA0NSwgODQsIDg3LCA3MywgNzEsIDQ1LCA4OSwgODIsIDEyOCwgODMsIDcyLCA3OSwgODIsIDg0LCA0NSwgODQsIDg3LCAKLSAgICA3MywgNzEsIDQ1LCA4NCwgODksIDIxMCwgODMsIDcyLCA3OSwgODIsIDg0LCA0NSwgODQsIDg3LCA3MywgNzEsIDQ1LCA4MywgCi0gICAgNzksIDIwNCwgODMsIDcyLCA3OSwgODIsIDg0LCA0NSwgODQsIDg3LCA3MywgNzEsIDQ1LCA3OSwgODMsIDIxMSwgODMsIDcyLCAKLSAgICA3OSwgODIsIDg0LCA0NSwgODQsIDg3LCA3MywgNzEsIDQ1LCA3OCwgNjUsIDg1LCAxOTYsIDgzLCA3MiwgNzksIDgyLCA4NCwgCi0gICAgNDUsIDg0LCA4NywgNzMsIDcxLCA0NSwgNzcsIDY1LCA2OCwgMjEwLCA4MywgNzIsIDc5LCA4MiwgODQsIDQ1LCA4NCwgODcsIAotICAgIDczLCA3MSwgNDUsIDcyLCA2NSwgNzEsIDY1LCA3NiwgMjA0LCA4MywgNzIsIDc5LCA4MiwgODQsIDQ1LCA4NCwgODcsIDczLCAKLSAgICA3MSwgNDUsIDY2LCA3NCwgNjUsIDgyLCA3NSwgNjUsIDIwNiwgODMsIDcyLCA3OSwgODIsIDg0LCA0NSwgODQsIDg3LCA3MywgCi0gICAgNzEsIDQ1LCA2NSwgMjEwLCA4MywgNzIsIDc5LCA4MiwgODQsIDEyOCwgODMsIDcyLCA3OSwgODIsIDIxMiwgODMsIDcyLCAKLSAgICA3OSwgODEsIDEyOCwgODMsIDcyLCA3OSwgMjA5LCA4MywgNzIsIDc5LCA4MCwgMTI4LCA4MywgNzIsIDc5LCA3OSwgODQsIAotICAgIDczLCA3OCwgMTk5LCA4MywgNzIsIDc5LCA3OSwgODQsIDEyOCwgODMsIDcyLCA3OSwgNzksIDEyOCwgODMsIDcyLCA3OSwgCi0gICAgNzEsIDIwMSwgODMsIDcyLCA3OSwgMTk5LCA4MywgNzIsIDc5LCA2OSwgMTI4LCA4MywgNzIsIDc5LCAxOTcsIDgzLCA3MiwgCi0gICAgNzksIDY1LCAxMjgsIDgzLCA3MiwgNzksIDEyOCwgODMsIDcyLCA3MywgODksIDg5LCA2NSwgNjUsIDc2LCA2NSwgNjUsIAotICAgIDEyOCwgODMsIDcyLCA3MywgODQsIDY1LCAxMjgsIDgzLCA3MiwgNzMsIDg0LCAxOTMsIDgzLCA3MiwgNzMsIDgyLCAyMTIsIAotICAgIDgzLCA3MiwgNzMsIDgyLCA2NSwgNjksIDEyOCwgODMsIDcyLCA3MywgODIsIDEyOCwgODMsIDcyLCA3MywgMjEwLCA4MywgCi0gICAgNzIsIDczLCA4MSwgMTI4LCA4MywgNzIsIDczLCA4MCwgMTI4LCA4MywgNzIsIDczLCA3OCwgODQsIDIwNywgODMsIDcyLCAKLSAgICA3MywgNzgsIDczLCA3MSwgMTI4LCA4MywgNzIsIDczLCA3OCwgNjgsIDE5MywgODMsIDcyLCA3MywgNzgsIDEyOCwgODMsIAotICAgIDcyLCA3MywgMjA2LCA4MywgNzIsIDczLCA3NywgNjUsIDEyOCwgODMsIDcyLCA3MywgNzcsIDE5MywgODMsIDcyLCA3MywgCi0gICAgNzcsIDEyOCwgODMsIDcyLCA3MywgMjA1LCA4MywgNzIsIDczLCA3MywgNzgsIDEyOCwgODMsIDcyLCA3MywgNzMsIDEyOCwgCi0gICAgODMsIDcyLCA3MywgNzAsIDIxMiwgODMsIDcyLCA3MywgNjksIDc2LCA2OCwgMTI4LCA4MywgNzIsIDczLCA2OCwgMTI4LCAKLSAgICA4MywgNzIsIDczLCAxOTYsIDgzLCA3MiwgNzIsIDY1LCAxMjgsIDgzLCA3MiwgNzIsIDE5MywgODMsIDcyLCA2OSwgODgsIAotICAgIDEyOCwgODMsIDcyLCA2OSwgODYsIDY1LCAxMjgsIDgzLCA3MiwgNjksIDg1LCA4OCwgMTI4LCA4MywgNzIsIDY5LCA4NSwgCi0gICAgNzksIDgxLCAxMjgsIDgzLCA3MiwgNjksIDg1LCA2NSwgNjksIDgxLCA4NCwgODUsIDEyOCwgODMsIDcyLCA2OSwgODUsIDY1LCAKLSAgICA2OSwgODEsIDEyOCwgODMsIDcyLCA2OSwgODUsIDY1LCA2OSwgMTI4LCA4MywgNzIsIDY5LCA4NCwgMTI4LCA4MywgNzIsIAotICAgIDY5LCAyMTIsIDgzLCA3MiwgNjksIDgzLCA3MiwgNzYsIDY1LCA3NywgMTI4LCA4MywgNzIsIDY5LCA4MywgNzIsIDczLCA3MSwgCi0gICAgMTI4LCA4MywgNzIsIDY5LCA4MywgNzIsIDczLCAxOTksIDgzLCA3MiwgNjksIDgzLCA3MiwgNTAsIDEyOCwgODMsIDcyLCAKLSAgICA2OSwgODMsIDcyLCAxMjgsIDgzLCA3MiwgNjksIDgxLCA2OSwgMjA0LCA4MywgNzIsIDY5LCA4MCwgMTI4LCA4MywgNzIsIAotICAgIDY5LCA3OCwgMTI4LCA4MywgNzIsIDY5LCA3NiwgNzYsIDEyOCwgODMsIDcyLCA2OSwgNzYsIDIwNCwgODMsIDcyLCA2OSwgCi0gICAgNzYsIDcwLCAxMjgsIDgzLCA3MiwgNjksIDczLCAxMjgsIDgzLCA3MiwgNjksIDcxLCA1NywgMTI4LCA4MywgNzIsIDY5LCAKLSAgICA2OSwgODAsIDEyOCwgODMsIDcyLCA2OSwgNjksIDc4LCA4NSwgMTI4LCA4MywgNzIsIDY5LCA2OSwgNzgsIDEyOCwgODMsIAotICAgIDcyLCA2OSwgNjksIDIwNiwgODMsIDcyLCA2OSwgNjksIDEyOCwgODMsIDcyLCA2OSwgNDUsIDcxLCA3OSwgNjUsIDg0LCAKLSAgICAxMjgsIDgzLCA3MiwgMTk3LCA4MywgNzIsIDY3LCA3MiwgNjUsIDEyOCwgODMsIDcyLCA2NSwgODksIDEyOCwgODMsIDcyLCAKLSAgICA2NSwgODgsIDEyOCwgODMsIDcyLCA2NSwgODYsIDczLCA4OSwgNjUsIDc4LCA3MywgMTI4LCA4MywgNzIsIDY1LCA4NiwgNzMsIAotICAgIDY1LCAyMDYsIDgzLCA3MiwgNjUsIDg2LCA2OSwgMTk2LCA4MywgNzIsIDY1LCA4NSwgMTI4LCA4MywgNzIsIDY1LCA4NCwgCi0gICAgMTI4LCA4MywgNzIsIDY1LCA4MiwgODUsIDEyOCwgODMsIDcyLCA2NSwgODIsIDIxMywgODMsIDcyLCA2NSwgODIsIDgwLCAKLSAgICAxMjgsIDgzLCA3MiwgNjUsIDgyLCAyMDgsIDgzLCA3MiwgNjUsIDgyLCA2NSwgMTI4LCA4MywgNzIsIDY1LCA4MiwgNTAsIAotICAgIDEyOCwgODMsIDcyLCA2NSwgODIsIDE3OCwgODMsIDcyLCA2NSwgODAsIDczLCA3OCwgNzEsIDEyOCwgODMsIDcyLCA2NSwgCi0gICAgODAsIDY5LCA4MywgMTI4LCA4MywgNzIsIDY1LCA4MCwgMTk3LCA4MywgNzIsIDY1LCA4MCwgMTI4LCA4MywgNzIsIDY1LCAKLSAgICA3OCwgNzEsIDEyOCwgODMsIDcyLCA2NSwgNzgsIDEyOCwgODMsIDcyLCA2NSwgMjA2LCA4MywgNzIsIDY1LCA3NywgODIsIAotICAgIDc5LCA2NywgNzUsIDEyOCwgODMsIDcyLCA2NSwgNzYsIDgzLCA3MiwgNjksIDc2LCA2OSwgODQsIDEyOCwgODMsIDcyLCA2NSwgCi0gICAgNzUsIDg0LCA3MywgMTI4LCA4MywgNzIsIDY1LCA3MywgMTI4LCA4MywgNzIsIDY1LCA2OCwgNzksIDg3LCA2OSwgMTk2LCAKLSAgICA4MywgNzIsIDY1LCA2OCwgNjksIDEyOCwgODMsIDcyLCA2NSwgNjgsIDY4LCA2NSwgMTI4LCA4MywgNzIsIDY1LCA2OCwgNjgsIAotICAgIDE5MywgODMsIDcyLCA2NSwgNjgsIDEyOCwgODMsIDcyLCA2NSwgMTk2LCA4MywgNzIsIDY1LCA2NiwgNTQsIDEyOCwgODMsIAotICAgIDcyLCA2NSwgNjUsIDEyOCwgODMsIDcyLCA2NSwgNTQsIDEyOCwgODMsIDcyLCA2NSwgNTEsIDEyOCwgODMsIDcyLCA2NSwgCi0gICAgMTc5LCA4MywgNzEsIDgyLCAxOTMsIDgzLCA3MSwgNzksIDIxMCwgODMsIDcxLCA2NywgMTI4LCA4MywgNzEsIDY1LCAyMTUsIAotICAgIDgzLCA3MSwgNjUsIDE5NCwgODMsIDcxLCAxMjgsIDgzLCA2OSwgODgsIDg0LCA4NSwgNzYsIDE5MywgODMsIDY5LCA4OCwgCi0gICAgODQsIDczLCA3NiwgNjksIDEyOCwgODMsIDY5LCA4OCwgODQsIDY1LCA3OCwgMjExLCA4MywgNjksIDg2LCA2OSwgODIsIDY1LCAKLSAgICA3OCwgNjcsIDY5LCAxMjgsIDgzLCA2OSwgODYsIDY5LCA3OCwgODQsIDg5LCAxMjgsIDgzLCA2OSwgODYsIDY5LCA3OCwgODQsIAotICAgIDIxNywgODMsIDY5LCA4NiwgNjksIDc4LCA4NCwgNzIsIDEyOCwgODMsIDY5LCA4NiwgNjksIDc4LCA4NCwgNjksIDY5LCA3OCwgCi0gICAgMTI4LCA4MywgNjksIDg2LCA2OSwgNzgsIDg0LCA2OSwgNjksIDIwNiwgODMsIDY5LCA4NiwgNjksIDc4LCA0NSwgODQsIDcyLCAKLSAgICA3MywgODIsIDg0LCA4OSwgMTI4LCA4MywgNjksIDg2LCA2OSwgMjA2LCA4MywgNjksIDg1LCA4OCwgMTI4LCA4MywgNjksIAotICAgIDg1LCA3OCwgODksIDY1LCA3NywgMTI4LCA4MywgNjksIDg1LCA2NSwgNjksIDgxLCAxMjgsIDgzLCA2OSwgODQsIDcwLCA3OSwgCi0gICAgNzgsIDEyOCwgODMsIDY5LCA4MywgODQsIDY5LCA4MiwgODQsIDczLCA4NSwgMjExLCA4MywgNjksIDgzLCA4MSwgODUsIDczLCAKLSAgICA4MSwgODUsIDY1LCA2OCwgODIsIDY1LCA4NCwgNjksIDEyOCwgODMsIDY5LCA4MywgNjUsIDc3LCAxOTcsIDgzLCA2OSwgODIsIAotICAgIDg2LCA3MywgNjcsIDE5NywgODMsIDY5LCA4MiwgNzMsIDcwLCA4MywgMTI4LCA4MywgNjksIDgyLCA3MywgNzAsIDIxMSwgCi0gICAgODMsIDY5LCA4MSwgODUsIDY5LCA3OCwgNjcsIDE5NywgODMsIDY5LCA4MCwgODQsIDY5LCA3NywgNjYsIDY5LCA4MiwgMTI4LCAKLSAgICA4MywgNjksIDgwLCA2NSwgODIsIDY1LCA4NCwgNzksIDgyLCAxMjgsIDgzLCA2OSwgODAsIDY1LCA4MiwgNjUsIDg0LCA3OSwgCi0gICAgMjEwLCA4MywgNjksIDc4LCA4NCwgNzksIDEyOCwgODMsIDY5LCA3OCwgODQsIDczLCAxMjgsIDgzLCA2OSwgNzcsIDg1LCAKLSAgICA3OCwgNjcsIDczLCAxOTMsIDgzLCA2OSwgNzcsIDc1LCA2NSwgODQsIDcyLCAxMjgsIDgzLCA2OSwgNzcsIDc1LCAxMjgsIAotICAgIDgzLCA2OSwgNzcsIDczLCA4NiwgNzksIDg3LCA2OSwgMjA0LCA4MywgNjksIDc3LCA3MywgODMsIDc5LCA3MCwgMjEyLCA4MywgCi0gICAgNjksIDc3LCA3MywgODMsIDY5LCA4OCwgODQsIDczLCA3NiwgNjksIDEyOCwgODMsIDY5LCA3NywgNzMsIDc3LCA3MywgNzgsIAotICAgIDczLCA3NywgMTkzLCA4MywgNjksIDc3LCA3MywgNjgsIDczLCA4MiwgNjksIDY3LCAyMTIsIDgzLCA2OSwgNzcsIDczLCA2NywgCi0gICAgNzksIDc2LCA3OSwgNzgsIDEyOCwgODMsIDY5LCA3NywgNzMsIDY3LCA3OSwgNzYsIDc5LCAyMDYsIDgzLCA2OSwgNzcsIDczLCAKLSAgICA2NywgNzMsIDgyLCA2NywgODUsIDc2LCA2NSwgMjEwLCA4MywgNjksIDc3LCA3MywgNjcsIDczLCA4MiwgNjcsIDc2LCAxOTcsIAotICAgIDgzLCA2OSwgNzcsIDczLCA2NiwgODIsIDY5LCA4NiwgNzMsIDIxMSwgODMsIDY5LCA3NywgNzMsIDQ1LCA4NiwgNzksIDczLCAKLSAgICA2NywgNjksIDE5NiwgODMsIDY5LCA3NiwgNzAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTcsIAotICAgIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU3LCA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgCi0gICAgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NywgNTUsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTcsIAotICAgIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU3LCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgCi0gICAgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NywgNTIsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTcsIAotICAgIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU3LCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgCi0gICAgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NywgNDksIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTcsIAotICAgIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgCi0gICAgODQsIDc5LCA4MiwgNDUsIDU2LCA1NywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NiwgNTYsIAotICAgIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTYsIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgCi0gICAgODQsIDc5LCA4MiwgNDUsIDU2LCA1NCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NiwgNTMsIAotICAgIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTYsIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgCi0gICAgODQsIDc5LCA4MiwgNDUsIDU2LCA1MSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NiwgNTAsIAotICAgIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTYsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgCi0gICAgODQsIDc5LCA4MiwgNDUsIDU2LCA0OCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NiwgMTI4LCAKLSAgICA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NSwgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgCi0gICAgNzksIDgyLCA0NSwgNTUsIDU2LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU1LCA1NSwgMTI4LCAKLSAgICA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NSwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgCi0gICAgNzksIDgyLCA0NSwgNTUsIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU1LCA1MiwgMTI4LCAKLSAgICA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NSwgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgCi0gICAgNzksIDgyLCA0NSwgNTUsIDUwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU1LCA0OSwgMTI4LCAKLSAgICA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NSwgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgCi0gICAgNzksIDgyLCA0NSwgNTUsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTQsIDU3LCAxMjgsIDgzLCAKLSAgICA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU0LCA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgCi0gICAgODIsIDQ1LCA1NCwgNTUsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTQsIDU0LCAxMjgsIDgzLCAKLSAgICA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU0LCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgCi0gICAgODIsIDQ1LCA1NCwgNTIsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTQsIDUxLCAxMjgsIDgzLCAKLSAgICA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU0LCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgCi0gICAgODIsIDQ1LCA1NCwgNDksIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTQsIDQ4LCAxMjgsIDgzLCAKLSAgICA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgCi0gICAgNDUsIDUzLCA1NywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MywgNTYsIDEyOCwgODMsIDY5LCAKLSAgICA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTMsIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgCi0gICAgNDUsIDUzLCA1NCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MywgNTMsIDEyOCwgODMsIDY5LCAKLSAgICA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTMsIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgCi0gICAgNDUsIDUzLCA1MSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MywgNTAsIDEyOCwgODMsIDY5LCAKLSAgICA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTMsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgCi0gICAgNDUsIDUzLCA0OCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MywgMTI4LCA4MywgNjksIDc2LCAKLSAgICA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MiwgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgCi0gICAgNTIsIDU2LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUyLCA1NSwgMTI4LCA4MywgNjksIDc2LCAKLSAgICA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MiwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgCi0gICAgNTIsIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUyLCA1MiwgMTI4LCA4MywgNjksIDc2LCAKLSAgICA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MiwgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgCi0gICAgNTIsIDUwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUyLCA0OSwgMTI4LCA4MywgNjksIDc2LCAKLSAgICA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MiwgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgCi0gICAgNTIsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTEsIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKLSAgICA2NywgODQsIDc5LCA4MiwgNDUsIDUxLCA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MSwgCi0gICAgNTUsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTEsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKLSAgICA2NywgODQsIDc5LCA4MiwgNDUsIDUxLCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MSwgCi0gICAgNTIsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTEsIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKLSAgICA2NywgODQsIDc5LCA4MiwgNDUsIDUxLCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MSwgCi0gICAgNDksIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTEsIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKLSAgICA2NywgODQsIDc5LCA4MiwgNDUsIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1NywgCi0gICAgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTYsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCAKLSAgICA4NCwgNzksIDgyLCA0NSwgNTAsIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1NCwgCi0gICAgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTMsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKLSAgICA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MywgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgCi0gICAgNTAsIDUzLCA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTMsIDUxLCAxMjgsIDgzLCAKLSAgICA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MywgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgCi0gICAgNzksIDgyLCA0NSwgNTAsIDUzLCA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTMsIAotICAgIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgCi0gICAgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTIsIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIAotICAgIDUwLCA1MiwgNTYsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUyLCA1NSwgMTI4LCA4MywgCi0gICAgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTIsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIAotICAgIDc5LCA4MiwgNDUsIDUwLCA1MiwgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUyLCAKLSAgICA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTIsIDUxLCAxMjgsIDgzLCA2OSwgNzYsIAotICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MiwgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKLSAgICA0NSwgNTAsIDUyLCA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTIsIDQ4LCAxMjgsIAotICAgIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCAKLSAgICA3OSwgODIsIDQ1LCA1MCwgNTEsIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MSwgCi0gICAgNTYsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUxLCA1NSwgMTI4LCA4MywgNjksIDc2LCAKLSAgICA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTEsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgCi0gICAgNDUsIDUwLCA1MSwgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUxLCA1MiwgMTI4LCAKLSAgICA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTEsIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgCi0gICAgODQsIDc5LCA4MiwgNDUsIDUwLCA1MSwgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIAotICAgIDUxLCA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTEsIDQ4LCAxMjgsIDgzLCA2OSwgCi0gICAgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIAotICAgIDQ1LCA1MCwgNTAsIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MCwgNTYsIDEyOCwgCi0gICAgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUwLCA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIAotICAgIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTAsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCAKLSAgICA1MCwgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUwLCA1MiwgMTI4LCA4MywgNjksIAotICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTAsIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCAKLSAgICA4MiwgNDUsIDUwLCA1MCwgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUwLCA0OSwgCi0gICAgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTAsIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKLSAgICA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgCi0gICAgNDksIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA0OSwgNTYsIDEyOCwgODMsIDY5LCAKLSAgICA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDQ5LCA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgCi0gICAgODIsIDQ1LCA1MCwgNDksIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA0OSwgNTMsIAotICAgIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDQ5LCA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgCi0gICAgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNDksIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIAotICAgIDUwLCA0OSwgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDQ5LCA0OSwgMTI4LCA4MywgCi0gICAgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNDksIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIAotICAgIDc5LCA4MiwgNDUsIDUwLCA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNDgsIDU3LCAKLSAgICAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA0OCwgNTYsIDEyOCwgODMsIDY5LCA3NiwgNjksIAotICAgIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDQ4LCA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKLSAgICA1MCwgNDgsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA0OCwgNTMsIDEyOCwgODMsIAotICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDQ4LCA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCAKLSAgICA3OSwgODIsIDQ1LCA1MCwgNDgsIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA0OCwgCi0gICAgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDQ4LCA0OSwgMTI4LCA4MywgNjksIDc2LCAKLSAgICA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNDgsIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgCi0gICAgNDUsIDUwLCA0OCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgMTI4LCA4MywgNjksIDc2LCAKLSAgICA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTcsIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgCi0gICAgNDUsIDQ5LCA1NywgNTYsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU3LCA1NSwgMTI4LCAKLSAgICA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTcsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgCi0gICAgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NywgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIAotICAgIDU3LCA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTcsIDUxLCAxMjgsIDgzLCA2OSwgCi0gICAgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NywgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIAotICAgIDgyLCA0NSwgNDksIDU3LCA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTcsIDQ4LCAKLSAgICAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIAotICAgIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTYsIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCAKLSAgICA1NiwgNTYsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU2LCA1NSwgMTI4LCA4MywgNjksIAotICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTYsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCAKLSAgICA4MiwgNDUsIDQ5LCA1NiwgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU2LCA1MiwgCi0gICAgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTYsIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKLSAgICA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NiwgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgCi0gICAgNDksIDU2LCA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTYsIDQ4LCAxMjgsIDgzLCAKLSAgICA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgCi0gICAgODIsIDQ1LCA0OSwgNTUsIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NSwgNTYsIAotICAgIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU1LCA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgCi0gICAgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTUsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIAotICAgIDQ5LCA1NSwgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU1LCA1MiwgMTI4LCA4MywgCi0gICAgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTUsIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIAotICAgIDc5LCA4MiwgNDUsIDQ5LCA1NSwgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU1LCAKLSAgICA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTUsIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIAotICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKLSAgICA0OSwgNTQsIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NCwgNTYsIDEyOCwgODMsIAotICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU0LCA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCAKLSAgICA3OSwgODIsIDQ1LCA0OSwgNTQsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NCwgCi0gICAgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU0LCA1MiwgMTI4LCA4MywgNjksIDc2LCAKLSAgICA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTQsIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgCi0gICAgNDUsIDQ5LCA1NCwgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU0LCA0OSwgMTI4LCAKLSAgICA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTQsIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgCi0gICAgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTMsIAotICAgIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MywgNTYsIDEyOCwgODMsIDY5LCA3NiwgCi0gICAgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUzLCA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIAotICAgIDQ1LCA0OSwgNTMsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MywgNTMsIDEyOCwgCi0gICAgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUzLCA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIAotICAgIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTMsIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCAKLSAgICA1MywgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUzLCA0OSwgMTI4LCA4MywgNjksIAotICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTMsIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCAKLSAgICA4MiwgNDUsIDQ5LCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTIsIDU3LCAxMjgsIAotICAgIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MiwgNTYsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCAKLSAgICA4NCwgNzksIDgyLCA0NSwgNDksIDUyLCA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgCi0gICAgNTIsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MiwgNTMsIDEyOCwgODMsIDY5LCAKLSAgICA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUyLCA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgCi0gICAgODIsIDQ1LCA0OSwgNTIsIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MiwgNTAsIAotICAgIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUyLCA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgCi0gICAgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTIsIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIAotICAgIDQ5LCA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTEsIDU3LCAxMjgsIDgzLCA2OSwgCi0gICAgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MSwgNTYsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIAotICAgIDgyLCA0NSwgNDksIDUxLCA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTEsIDU0LCAKLSAgICAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MSwgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIAotICAgIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUxLCA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKLSAgICA0OSwgNTEsIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MSwgNTAsIDEyOCwgODMsIAotICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUxLCA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCAKLSAgICA3OSwgODIsIDQ1LCA0OSwgNTEsIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MSwgCi0gICAgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTAsIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKLSAgICA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MCwgNTYsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgCi0gICAgNDksIDUwLCA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTAsIDU0LCAxMjgsIDgzLCAKLSAgICA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MCwgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgCi0gICAgNzksIDgyLCA0NSwgNDksIDUwLCA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTAsIAotICAgIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MCwgNTAsIDEyOCwgODMsIDY5LCA3NiwgCi0gICAgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUwLCA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIAotICAgIDQ1LCA0OSwgNTAsIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MCwgMTI4LCA4MywgCi0gICAgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNDksIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIAotICAgIDc5LCA4MiwgNDUsIDQ5LCA0OSwgNTYsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDQ5LCAKLSAgICA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNDksIDU0LCAxMjgsIDgzLCA2OSwgNzYsIAotICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA0OSwgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKLSAgICA0NSwgNDksIDQ5LCA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNDksIDUxLCAxMjgsIAotICAgIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA0OSwgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCAKLSAgICA4NCwgNzksIDgyLCA0NSwgNDksIDQ5LCA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgCi0gICAgNDksIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA0OSwgMTI4LCA4MywgNjksIDc2LCAKLSAgICA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNDgsIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgCi0gICAgNDUsIDQ5LCA0OCwgNTYsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDQ4LCA1NSwgMTI4LCAKLSAgICA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNDgsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgCi0gICAgODQsIDc5LCA4MiwgNDUsIDQ5LCA0OCwgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIAotICAgIDQ4LCA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNDgsIDUxLCAxMjgsIDgzLCA2OSwgCi0gICAgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA0OCwgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIAotICAgIDgyLCA0NSwgNDksIDQ4LCA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNDgsIDQ4LCAKLSAgICAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA0OCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIAotICAgIDg0LCA3OSwgODIsIDQ1LCA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgMjEwLCA4MywgNjksIDc2LCA2OSwgCi0gICAgNjcsIDg0LCA2OSwgMTk2LCA4MywgNjksIDczLCA4MywgNzcsIDY1LCAxMjgsIDgzLCA2OSwgNzMsIDgzLCA3NywgMTkzLCAKLSAgICA4MywgNjksIDcyLCAxMjgsIDgzLCA2OSwgNzEsIDc5LCA3NiwgMTI4LCA4MywgNjksIDcxLCA3OCwgNzksIDEyOCwgODMsIAotICAgIDY5LCA3MSwgNzcsIDY5LCA3OCwgODQsIDEyOCwgODMsIDY5LCA2OSwgNzgsIDg1LCAxMjgsIDgzLCA2OSwgNjksIDc4LCAKLSAgICAxMjgsIDgzLCA2OSwgNjksIDIwNiwgODMsIDY5LCA2OSwgNjgsIDc2LCA3MywgNzgsIDcxLCAxMjgsIDgzLCA2OSwgNjksIAotICAgIDQ1LCA3OCwgNzksIDQ1LCA2OSwgODYsIDczLCAyMDQsIDgzLCA2OSwgNjcsIDg0LCA3OSwgODIsIDEyOCwgODMsIDY5LCA2NywgCi0gICAgODQsIDczLCA3OSwgNzgsIDEyOCwgODMsIDY5LCA2NywgODQsIDczLCA3OSwgMjA2LCA4MywgNjksIDY3LCA4MiwgNjksIDg0LCAKLSAgICAxMjgsIDgzLCA2OSwgNjcsIDc5LCA3OCwgNjgsIDEyOCwgODMsIDY5LCA2NiwgNjUsIDg0LCA2NiwgNjksIDczLCAyMTIsIAotICAgIDgzLCA2OSwgNjUsIDg0LCAxMjgsIDgzLCA2OSwgNjUsIDc2LCAxMjgsIDgzLCA2OSwgNjUsIDcxLCA4NSwgNzYsIDIwNCwgCi0gICAgODMsIDY4LCA3OSwgNzgsIDE5OSwgODMsIDY4LCAxMjgsIDgzLCA2NywgODcsIDY1LCAxMjgsIDgzLCA2NywgODIsIDg1LCAKLSAgICA4MCwgNzYsIDY5LCAxMjgsIDgzLCA2NywgODIsIDc5LCA3NiwgNzYsIDEyOCwgODMsIDY3LCA4MiwgNzMsIDgwLCA4NCwgCi0gICAgMTI4LCA4MywgNjcsIDgyLCA2OSwgNjksIDc4LCAxMjgsIDgzLCA2NywgODIsIDY5LCA2OSwgMjA2LCA4MywgNjcsIDgyLCAKLSAgICA2OSwgNjUsIDc3LCA3MywgNzgsIDE5OSwgODMsIDY3LCA3OSwgODIsIDgwLCA3MywgODUsIDgzLCAxMjgsIDgzLCA2NywgNzksIAotICAgIDgyLCA2OSwgMTI4LCA4MywgNjcsIDczLCA4MywgODMsIDc5LCA4MiwgODMsIDEyOCwgODMsIDY3LCA3MywgMTI4LCA4MywgCi0gICAgNjcsIDcyLCA4NywgNjUsIDEyOCwgODMsIDY3LCA3MiwgODcsIDE5MywgODMsIDY3LCA3MiwgODIsIDc5LCA2OSwgNjgsIDY5LCAKLSAgICA4MiwgMTI4LCA4MywgNjcsIDcyLCA3OSwgNzksIDc2LCAxMjgsIDgzLCA2NywgNzIsIDc5LCA3OSwgMjA0LCA4MywgNjcsIAotICAgIDcyLCA3OSwgNzYsIDY1LCA4MiwgMTI4LCA4MywgNjcsIDcyLCA2OSwgNzcsIDE5MywgODMsIDY3LCA2OSwgODAsIDg0LCA2OSwgCi0gICAgMjEwLCA4MywgNjcsIDY1LCA3OCwgNjgsIDczLCA2NywgODUsIDgzLCAxMjgsIDgzLCA2NywgNjUsIDc4LCA2OCwgNzMsIDY3LCAKLSAgICA4NSwgMjExLCA4MywgNjcsIDY1LCAyMDYsIDgzLCA2NywgNjUsIDc2LCA2OSwgODMsIDEyOCwgODMsIDY2LCA4NSwgMTk0LCAKLSAgICA4MywgNjYsIDgyLCA4NSwgMjA0LCA4MywgNjUsIDg5LCA3MywgODMsIDIwMSwgODMsIDY1LCA4OSwgNjUsIDc4LCA3OCwgNjUsIAotICAgIDEyOCwgODMsIDY1LCA4OSwgMTI4LCA4MywgNjUsIDg4LCA3OSwgODAsIDcyLCA3OSwgNzgsIDY5LCAxMjgsIDgzLCA2NSwgCi0gICAgODgsIDczLCA3NywgNjUsIDg0LCA2NSwgMTI4LCA4MywgNjUsIDg3LCA2NSwgNzgsIDEyOCwgODMsIDY1LCA4NywgMTI4LCAKLSAgICA4MywgNjUsIDg2LCA3OSwgODUsIDgyLCA3MywgNzgsIDE5OSwgODMsIDY1LCA4NSwgNzMsIDc2LCAxMjgsIDgzLCA2NSwgODQsIAotICAgIDg1LCA4MiwgNzgsIDEyOCwgODMsIDY1LCA4NCwgNzUsIDY1LCA2NSwgNzgsIDc1LCA4NSwgODUsIDEyOCwgODMsIDY1LCA4NCwgCi0gICAgNzUsIDY1LCA2NSwgNzgsIDEyOCwgODMsIDY1LCA4NCwgNjksIDc2LCA3NiwgNzMsIDg0LCAxOTcsIDgzLCA2NSwgODQsIDY3LCAKLSAgICA3MiwgNjksIDc2LCAxMjgsIDgzLCA2NSwgODQsIDY1LCA3OCwgNzEsIDY1LCAxMjgsIDgzLCA2NSwgODMsIDcyLCAxMjgsIAotICAgIDgzLCA2NSwgODMsIDY1LCA3NSwgMTI4LCA4MywgNjUsIDgyLCA3MywgMTI4LCA4MywgNjUsIDgyLCAxOTMsIDgzLCA2NSwgCi0gICAgODIsIDEyOCwgODMsIDY1LCA4MSwgMTI4LCA4MywgNjUsIDgwLCA2NSwgMTI4LCA4MywgNjUsIDc4LCA4OSwgNzksIDc5LCAKLSAgICA3MSwgMTkzLCA4MywgNjUsIDc4LCA4OSwgNjUsIDc1LCAxOTMsIDgzLCA2NSwgNzgsIDg0LCA3MywgNzMsIDc3LCA4NSwgCi0gICAgMTI4LCA4MywgNjUsIDc4LCA3OCwgODksIDY1LCAxMjgsIDgzLCA2NSwgNzgsIDcxLCA2NSwgNTAsIDEyOCwgODMsIDY1LCAKLSAgICA3OCwgNjgsIDY1LCA3NiwgMTI4LCA4MywgNjUsIDc4LCA2NSwgNzIsIDEyOCwgODMsIDY1LCA3OCwgMTI4LCA4MywgNjUsIAotICAgIDc3LCA4OSwgNzksIDIwMywgODMsIDY1LCA3NywgODYsIDY1LCA4NCwgMTI4LCA4MywgNjUsIDc3LCA4MCwgNzMsIDEyOCwgCi0gICAgODMsIDY1LCA3NywgODAsIDcyLCA2NSwgNzksIDEyOCwgODMsIDY1LCA3NywgNzUsIDY1LCAxMjgsIDgzLCA2NSwgNzcsIDY5LCAKLSAgICA3NSwgNzIsIDEyOCwgODMsIDY1LCA3NywgNjksIDc1LCAyMDAsIDgzLCA2NSwgNzcsIDY2LCA2NSwgMTI4LCA4MywgNjUsIAotICAgIDc3LCA2NSwgODIsIDczLCA4NCwgNjUsIDIwNiwgODMsIDY1LCA3NywgMTI4LCA4MywgNjUsIDc2LCA4NCwgNzMsIDgyLCA2OSwgCi0gICAgMTI4LCA4MywgNjUsIDc2LCA4NCwgNzMsIDc2LCA3NiwgNzksIDEyOCwgODMsIDY1LCA3NiwgODQsIDQ1LCA1MCwgMTI4LCAKLSAgICA4MywgNjUsIDc2LCA4NCwgMTI4LCA4MywgNjUsIDc2LCAyMTIsIDgzLCA2NSwgNzYsIDc2LCA2NSwgNzYsIDc2LCA2NSwgNzIsIAotICAgIDc5LCAyMTMsIDgzLCA2NSwgNzYsIDc2LCAxOTMsIDgzLCA2NSwgNzYsIDY1LCAyMDUsIDgzLCA2NSwgNzYsIDY1LCAxMjgsIAotICAgIDgzLCA2NSwgNzYsIDQ1LCA2NSwgNzcsIDc3LCA3OSwgNzgsIDczLCA2NSwgNjcsIDEyOCwgODMsIDY1LCA3NiwgMTI4LCA4MywgCi0gICAgNjUsIDc1LCA3OSwgODQsIDEyOCwgODMsIDY1LCA3NSwgNjksIDg1LCA2NSwgNjksIDEyOCwgODMsIDY1LCA3NSwgMTk3LCAKLSAgICA4MywgNjUsIDc0LCA2OCwgNjUsIDcyLCAxMjgsIDgzLCA2NSwgNzMsIDc2LCA2NiwgNzksIDY1LCA4NCwgMTI4LCA4MywgNjUsIAotICAgIDczLCA3NiwgMTI4LCA4MywgNjUsIDczLCA3NSwgODUsIDgyLCA4NSwgMTI4LCA4MywgNjUsIDcyLCAxMjgsIDgzLCA2NSwgCi0gICAgNzEsIDczLCA4NCwgODQsIDY1LCA4MiwgNzMsIDg1LCA4MywgMTI4LCA4MywgNjUsIDcxLCA2NSwgMTI4LCA4MywgNjUsIDcxLCAKLSAgICAxMjgsIDgzLCA2NSwgMTk5LCA4MywgNjUsIDcwLCA3MiwgNjUsIDEyOCwgODMsIDY1LCA2OCwgNzIsIDY5LCAxMjgsIDgzLCAKLSAgICA2NSwgNjgsIDY5LCAxMjgsIDgzLCA2NSwgNjgsIDEyOCwgODMsIDY1LCAxOTYsIDgzLCA2NSwgNjcsIDgyLCA3MywgNzAsIAotICAgIDczLCA2NywgNzMsIDY1LCAyMDQsIDgzLCA2NSwgNjUsIDczLCAxMjgsIDgzLCA2NSwgNjUsIDY4LCA3MiwgODUsIDEyOCwgCi0gICAgODMsIDY1LCA0NSwgNzMsIDEyOCwgODMsIDY1LCA0NSwgNTAsIDEyOCwgODMsIDQ4LCA1MiwgNTQsIDEyOCwgODMsIDQ4LCAKLSAgICA1MiwgNTMsIDEyOCwgODMsIDQ4LCA1MiwgNTIsIDEyOCwgODMsIDQ4LCA1MiwgNTEsIDEyOCwgODMsIDQ4LCA1MiwgNTAsIAotICAgIDEyOCwgODMsIDQ4LCA1MiwgNDksIDEyOCwgODMsIDQ4LCA1MiwgNDgsIDEyOCwgODMsIDQ4LCA1MSwgNTcsIDEyOCwgODMsIAotICAgIDQ4LCA1MSwgNTYsIDEyOCwgODMsIDQ4LCA1MSwgNTUsIDEyOCwgODMsIDQ4LCA1MSwgNTQsIDEyOCwgODMsIDQ4LCA1MSwgCi0gICAgNTMsIDY1LCAxMjgsIDgzLCA0OCwgNTEsIDUzLCAxMjgsIDgzLCA0OCwgNTEsIDUyLCAxMjgsIDgzLCA0OCwgNTEsIDUxLCAKLSAgICAxMjgsIDgzLCA0OCwgNTEsIDUwLCAxMjgsIDgzLCA0OCwgNTEsIDQ5LCAxMjgsIDgzLCA0OCwgNTEsIDQ4LCAxMjgsIDgzLCAKLSAgICA0OCwgNTAsIDU3LCAxMjgsIDgzLCA0OCwgNTAsIDU2LCAxMjgsIDgzLCA0OCwgNTAsIDU1LCAxMjgsIDgzLCA0OCwgNTAsIAotICAgIDU0LCA2NiwgMTI4LCA4MywgNDgsIDUwLCA1NCwgNjUsIDEyOCwgODMsIDQ4LCA1MCwgNTQsIDEyOCwgODMsIDQ4LCA1MCwgCi0gICAgNTMsIDEyOCwgODMsIDQ4LCA1MCwgNTIsIDEyOCwgODMsIDQ4LCA1MCwgNTEsIDEyOCwgODMsIDQ4LCA1MCwgNTAsIDEyOCwgCi0gICAgODMsIDQ4LCA1MCwgNDksIDEyOCwgODMsIDQ4LCA1MCwgNDgsIDEyOCwgODMsIDQ4LCA0OSwgNTcsIDEyOCwgODMsIDQ4LCAKLSAgICA0OSwgNTYsIDEyOCwgODMsIDQ4LCA0OSwgNTUsIDY1LCAxMjgsIDgzLCA0OCwgNDksIDU1LCAxMjgsIDgzLCA0OCwgNDksIAotICAgIDU0LCAxMjgsIDgzLCA0OCwgNDksIDUzLCAxMjgsIDgzLCA0OCwgNDksIDUyLCA2NiwgMTI4LCA4MywgNDgsIDQ5LCA1MiwgCi0gICAgNjUsIDEyOCwgODMsIDQ4LCA0OSwgNTIsIDEyOCwgODMsIDQ4LCA0OSwgNTEsIDEyOCwgODMsIDQ4LCA0OSwgNTAsIDEyOCwgCi0gICAgODMsIDQ4LCA0OSwgNDksIDEyOCwgODMsIDQ4LCA0OSwgNDgsIDEyOCwgODMsIDQ4LCA0OCwgNTcsIDEyOCwgODMsIDQ4LCAKLSAgICA0OCwgNTYsIDEyOCwgODMsIDQ4LCA0OCwgNTUsIDEyOCwgODMsIDQ4LCA0OCwgNTQsIDY1LCAxMjgsIDgzLCA0OCwgNDgsIAotICAgIDU0LCAxMjgsIDgzLCA0OCwgNDgsIDUzLCAxMjgsIDgzLCA0OCwgNDgsIDUyLCAxMjgsIDgzLCA0OCwgNDgsIDUxLCAxMjgsIAotICAgIDgzLCA0OCwgNDgsIDUwLCA2NSwgMTI4LCA4MywgNDgsIDQ4LCA1MCwgMTI4LCA4MywgNDgsIDQ4LCA0OSwgMTI4LCA4MywgCi0gICAgNDUsIDg3LCAxMjgsIDgzLCA0NSwgODMsIDcyLCA2NSwgODAsIDY5LCAxOTYsIDgyLCA4OSwgODksIDEyOCwgODIsIDg5LCAKLSAgICA4OCwgMTI4LCA4MiwgODksIDg0LCAxMjgsIDgyLCA4OSwgODIsIDg4LCAxMjgsIDgyLCA4OSwgODIsIDEyOCwgODIsIDg5LCAKLSAgICA4MCwgMTI4LCA4MiwgODcsIDc5LCA3OSwgMTI4LCA4MiwgODcsIDc5LCAxMjgsIDgyLCA4NywgNzMsIDczLCAxMjgsIDgyLCAKLSAgICA4NywgNzMsIDEyOCwgODIsIDg3LCA2OSwgNjksIDEyOCwgODIsIDg3LCA2OSwgMTI4LCA4MiwgODcsIDY1LCA3MiwgNjUsIAotICAgIDEyOCwgODIsIDg3LCA2NSwgNjUsIDEyOCwgODIsIDg3LCA2NSwgMTI4LCA4MiwgODUsIDg4LCAxMjgsIDgyLCA4NSwgODUsIAotICAgIDY2LCA4NSwgODIsIDg1LCAxMjgsIDgyLCA4NSwgODUsIDEyOCwgODIsIDg1LCA4NCwgMTI4LCA4MiwgODUsIDgzLCA3MywgCi0gICAgMTI4LCA4MiwgODUsIDgyLCA4OCwgMTI4LCA4MiwgODUsIDgyLCAxMjgsIDgyLCA4NSwgODAsIDczLCA3MywgMTI4LCA4MiwgCi0gICAgODUsIDgwLCA2OSwgMTk3LCA4MiwgODUsIDgwLCAxMjgsIDgyLCA4NSwgNzksIDg4LCAxMjgsIDgyLCA4NSwgNzksIDgwLCAKLSAgICAxMjgsIDgyLCA4NSwgNzksIDEyOCwgODIsIDg1LCA3OCwgNzksIDg1LCA4NCwgMTI4LCA4MiwgODUsIDc4LCA3OCwgNzMsIAotICAgIDc4LCAxOTksIDgyLCA4NSwgNzgsIDc4LCA2OSwgODIsIDEyOCwgODIsIDg1LCA3OCwgMTI4LCA4MiwgODUsIDc3LCAyMDEsIAotICAgIDgyLCA4NSwgNzcsIDY1LCAyMDEsIDgyLCA4NSwgNzcsIDEyOCwgODIsIDg1LCAyMDUsIDgyLCA4NSwgNzYsIDY5LCA4MiwgCi0gICAgMTI4LCA4MiwgODUsIDc2LCA2OSwgNDUsIDY4LCA2OSwgNzYsIDY1LCA4OSwgNjksIDY4LCAxMjgsIDgyLCA4NSwgNzYsIDY5LCAKLSAgICAxMjgsIDgyLCA4NSwgNzUsIDc1LCA2NSwgNzUsIDcyLCA2NSwgMTI4LCA4MiwgODUsIDczLCA4MywgMTI4LCA4MiwgODUsIAotICAgIDcxLCA2NiwgMjE3LCA4MiwgODUsIDE5NCwgODIsIDg1LCA2NSwgMTI4LCA4MiwgODQsIDcyLCA2NSwgNzgsIDE5OSwgODIsIAotICAgIDg0LCA2NSwgNzEsIDgzLCAxMjgsIDgyLCA4NCwgNjUsIDcxLCAyMTEsIDgyLCA4MiwgODksIDg4LCAxMjgsIDgyLCA4MiwgCi0gICAgODksIDg0LCAxMjgsIDgyLCA4MiwgODksIDgyLCA4OCwgMTI4LCA4MiwgODIsIDg5LCA4MiwgMTI4LCA4MiwgODIsIDg5LCAKLSAgICA4MCwgMTI4LCA4MiwgODIsIDg1LCA4OCwgMTI4LCA4MiwgODIsIDg1LCA4NSwgMTI4LCA4MiwgODIsIDg1LCA4NCwgMTI4LCAKLSAgICA4MiwgODIsIDg1LCA4MiwgODgsIDEyOCwgODIsIDgyLCA4NSwgODIsIDEyOCwgODIsIDgyLCA4NSwgODAsIDEyOCwgODIsIAotICAgIDgyLCA4NSwgNzksIDg4LCAxMjgsIDgyLCA4MiwgODUsIDc5LCAxMjgsIDgyLCA4MiwgODUsIDEyOCwgODIsIDgyLCA3OSwgCi0gICAgODgsIDEyOCwgODIsIDgyLCA3OSwgODQsIDEyOCwgODIsIDgyLCA3OSwgODAsIDEyOCwgODIsIDgyLCA3OSwgNzksIDEyOCwgCi0gICAgODIsIDgyLCA3OSwgMTI4LCA4MiwgODIsIDczLCA3MywgMTI4LCA4MiwgODIsIDczLCAxMjgsIDgyLCA4MiwgNjksIDg4LCAKLSAgICAxMjgsIDgyLCA4MiwgNjksIDg0LCAxMjgsIDgyLCA4MiwgNjksIDgwLCAxMjgsIDgyLCA4MiwgNjksIDcyLCAxMjgsIDgyLCAKLSAgICA4MiwgNjksIDIwMCwgODIsIDgyLCA2OSwgNjksIDEyOCwgODIsIDgyLCA2OSwgMTI4LCA4MiwgODIsIDY1LCA4OCwgMTI4LCAKLSAgICA4MiwgODIsIDY1LCA4NSwgMTI4LCA4MiwgODIsIDY1LCA3MywgMTI4LCA4MiwgODIsIDY1LCA2NSwgMTI4LCA4MiwgODIsIAotICAgIDY1LCAxMjgsIDgyLCA3OSwgODcsIDY2LCA3OSwgNjUsIDg0LCAxMjgsIDgyLCA3OSwgODUsIDc4LCA2OCwgNjksIDE5NiwgCi0gICAgODIsIDc5LCA4NSwgNzgsIDY4LCA0NSwgODQsIDczLCA4MCwgODAsIDY5LCAxOTYsIDgyLCA3OSwgODQsIDg1LCA3OCwgNjgsIAotICAgIDY1LCAxMjgsIDgyLCA3OSwgODQsIDY1LCA4NCwgNjksIDE5NiwgODIsIDc5LCA4MywgNzIsIDEyOCwgODIsIDc5LCA4MywgCi0gICAgNjksIDg0LCA4NCwgNjksIDEyOCwgODIsIDc5LCA4MywgNjksIDEyOCwgODIsIDc5LCA3OSwgODQsIDEyOCwgODIsIDc5LCAKLSAgICA3OSwgODMsIDg0LCA2OSwgODIsIDEyOCwgODIsIDc5LCA3OSwgNzUsIDEyOCwgODIsIDc5LCA3OSwgNzAsIDEyOCwgODIsIAotICAgIDc5LCA3NywgNjUsIDIwNiwgODIsIDc5LCA3NywgMTI4LCA4MiwgNzksIDc2LCA3NiwgNjksIDIxMCwgODIsIDc5LCA3MiwgCi0gICAgNzMsIDc4LCA3MSwgODksIDE5MywgODIsIDc5LCAxOTYsIDgyLCA3OSwgNjcsIDc1LCA2OSwgODQsIDEyOCwgODIsIDc5LCAKLSAgICA2NywgMjAzLCA4MiwgNzksIDY3LCAxMjgsIDgyLCA3OSwgNjYsIDY1LCA4NCwgMTI4LCA4MiwgNzksIDY1LCA4MywgODQsIAotICAgIDY5LCAxOTYsIDgyLCA3OSwgNjUsIDgyLCAxMjgsIDgyLCA3OSwgNjUsIDEyOCwgODIsIDc4LCA4OSwgNzMsIDc4LCAxOTksIAotICAgIDgyLCA3OCwgNzksIDc5LCA3OCwgMTI4LCA4MiwgNzgsIDc5LCA3OSwgMjA2LCA4MiwgNzgsIDY1LCAyMDUsIDgyLCA3NywgCi0gICAgODQsIDEyOCwgODIsIDc2LCA3OSwgMTI4LCA4MiwgNzYsIDc3LCAxMjgsIDgyLCA3NiwgNzMsIDEyOCwgODIsIDc2LCA2OSwgCi0gICAgMTI4LCA4MiwgNzQsIDY5LCAyMTEsIDgyLCA3NCwgNjksIDEyOCwgODIsIDc0LCAxOTcsIDgyLCA3MywgODYsIDY5LCA4MiwgCi0gICAgMTI4LCA4MiwgNzMsIDg0LCA4NSwgNjUsIDc2LCAxMjgsIDgyLCA3MywgODQsIDg0LCA3OSwgODIsIDg1LCAxMjgsIDgyLCAKLSAgICA3MywgODQsIDgzLCA3MywgMTI4LCA4MiwgNzMsIDgzLCA3MywgNzgsIDE5OSwgODIsIDczLCA4MywgNzIsIDEyOCwgODIsIAotICAgIDczLCA4MiwgNjUsIDEyOCwgODIsIDczLCA4MCwgMTI4LCA4MiwgNzMsIDc4LCA3MSwgMjExLCA4MiwgNzMsIDc4LCA3MCwgCi0gICAgNzksIDgyLCA5MCwgNjUsIDc4LCA2OCwgNzksIDEyOCwgODIsIDczLCAyMDYsIDgyLCA3MywgNzcsIDcxLCA2NiwgNjUsIAorICAgIDIxMSwgODMsIDc5LCA3NiwgNzMsIDE5NiwgODMsIDc5LCA3MiwgMTI4LCA4MywgNzksIDcxLCA2OCwgNzMsIDY1LCAyMDYsIAorICAgIDgzLCA3OSwgNzAsIDg0LCA4NywgNjUsIDgyLCA2OSwgNDUsIDcwLCA4NSwgNzgsIDY3LCA4NCwgNzMsIDc5LCAyMDYsIDgzLCAKKyAgICA3OSwgNzAsIDg0LCA3OCwgNjksIDgzLCA4MywgMTI4LCA4MywgNzksIDcwLCAyMTIsIDgzLCA3OSwgMTk4LCA4MywgNzksIAorICAgIDY3LCA3MywgNjksIDg0LCA4OSwgMTI4LCA4MywgNzksIDY3LCA2NywgNjksIDIxMCwgODMsIDc5LCA2NSwgODAsIDEyOCwgCisgICAgODMsIDc5LCA2NSwgMTI4LCA4MywgMjA3LCA4MywgNzgsIDc5LCA4NywgNzcsIDY1LCA3OCwgMTI4LCA4MywgNzgsIDc5LCAKKyAgICA4NywgNzcsIDY1LCAyMDYsIDgzLCA3OCwgNzksIDg3LCA3MCwgNzYsIDY1LCA3NSwgNjksIDEyOCwgODMsIDc4LCA3OSwgODcsIAorICAgIDY2LCA3OSwgNjUsIDgyLCA2OCwgNjksIDgyLCAxMjgsIDgzLCA3OCwgNzksIDg3LCAxMjgsIDgzLCA3OCwgNzksIDIxNSwgCisgICAgODMsIDc4LCA3OSwgODUsIDg0LCAxMjgsIDgzLCA3OCwgNzksIDg1LCAyMTIsIDgzLCA3OCwgNjUsIDIwOCwgODMsIDc4LCAKKyAgICA2NSwgNzUsIDY5LCAxMjgsIDgzLCA3OCwgNjUsIDc1LCAxOTcsIDgzLCA3OCwgNjUsIDczLCA3NiwgMTI4LCA4MywgNzgsIAorICAgIDE5MywgODMsIDc3LCA3OSwgNzUsIDczLCA3OCwgMTk5LCA4MywgNzcsIDczLCA4MiwgNzUsIDczLCA3OCwgMTk5LCA4MywgCisgICAgNzcsIDczLCA3NiwgNzMsIDc4LCAxOTksIDgzLCA3NywgNzMsIDc2LCA2OSwgMTI4LCA4MywgNzcsIDY5LCA2NSwgODIsIAorICAgIDEyOCwgODMsIDc3LCA2NSwgODMsIDIwMCwgODMsIDc3LCA2NSwgNzYsIDc2LCA2OSwgMjEwLCA4MywgNzcsIDY1LCA3NiwgCisgICAgNzYsIDEyOCwgODMsIDc2LCA4NSwgODIsIDEyOCwgODMsIDc2LCA3OSwgODcsIDc2LCA4OSwgMTI4LCA4MywgNzYsIDc5LCAKKyAgICAyMTUsIDgzLCA3NiwgNzksIDg2LCA3OSwgMTI4LCA4MywgNzYsIDc5LCAyMTIsIDgzLCA3NiwgNzksIDgwLCA3MywgNzgsIAorICAgIDE5OSwgODMsIDc2LCA3OSwgODAsIDY5LCAxMjgsIDgzLCA3NiwgNzksIDY1LCAyMDYsIDgzLCA3NiwgNzMsIDc4LCA3MSwgCisgICAgMTI4LCA4MywgNzYsIDczLCA3MSwgNzIsIDg0LCA3NiwgMjE3LCA4MywgNzYsIDczLCA2OCwgNzMsIDc4LCA3MSwgMTI4LCAKKyAgICA4MywgNzYsIDczLCA2OCwgNjksIDgyLCAxMjgsIDgzLCA3NiwgNzMsIDY3LCA2OSwgMTI4LCA4MywgNzYsIDczLCA2NywgCisgICAgMTk3LCA4MywgNzYsIDY5LCA4NSwgODQsIDIwMCwgODMsIDc2LCA2OSwgNjksIDgwLCAyMTcsIDgzLCA3NiwgNjksIDY5LCAKKyAgICA4MCwgNzMsIDc4LCAxOTksIDgzLCA3NiwgNjUsIDg2LCA3OSwgNzgsIDczLCAxOTUsIDgzLCA3NiwgNjUsIDg2LCA2OSwgCisgICAgMTI4LCA4MywgNzYsIDY1LCA4MywgNzIsIDEyOCwgODMsIDc2LCA2NSwgODMsIDIwMCwgODMsIDc2LCA2NSwgNzgsIDg0LCAKKyAgICA2OSwgMTk2LCA4MywgNzUsIDg3LCA2NSwgMTI4LCA4MywgNzUsIDg3LCAxMjgsIDgzLCA3NSwgODUsIDc2LCA3NiwgMTI4LCAKKyAgICA4MywgNzUsIDg1LCA3NiwgMjA0LCA4MywgNzUsIDc2LCA3MywgODIsIDc5LCAyMDYsIDgzLCA3NSwgNzMsIDc4LCAxMjgsIAorICAgIDgzLCA3NSwgNzMsIDY5LCA4MiwgMTI4LCA4MywgNzUsIDIwMSwgODMsIDc1LCA2OSwgODcsIDY5LCAxOTYsIDgzLCA3NSwgCisgICAgNjUsIDg0LCA2OSwgMTI4LCA4MywgNzUsIDEyOCwgODMsIDc0LCA2OSwgMTI4LCA4MywgNzMsIDkwLCAxOTcsIDgzLCA3MywgCisgICAgODgsIDg0LCA4OSwgNDUsIDcwLCA3OSwgODUsIDgyLCA4NCwgMjAwLCA4MywgNzMsIDg4LCA4NCwgODksIDEyOCwgODMsIDczLCAKKyAgICA4OCwgODQsIDIxNywgODMsIDczLCA4OCwgODQsIDcyLCA4MywgMTI4LCA4MywgNzMsIDg4LCA4NCwgNzIsIDIxMSwgODMsIAorICAgIDczLCA4OCwgODQsIDcyLCAxMjgsIDgzLCA3MywgODgsIDg0LCA2OSwgNjksIDc4LCA4NCwgNzIsIDgzLCAxMjgsIDgzLCA3MywgCisgICAgODgsIDg0LCA2OSwgNjksIDc4LCA4NCwgNzIsIDEyOCwgODMsIDczLCA4OCwgODQsIDY5LCA2OSwgNzgsIDg0LCAyMDAsIDgzLCAKKyAgICA3MywgODgsIDg0LCA2OSwgNjksIDc4LCAxMjgsIDgzLCA3MywgODgsIDg0LCA2OSwgNjksIDIwNiwgODMsIDczLCA4OCwgNDUsIAorICAgIDg0LCA3MiwgNzMsIDgyLCA4NCwgODksIDEyOCwgODMsIDczLCA4OCwgNDUsIDgzLCA4NCwgODIsIDczLCA3OCwgMTk5LCA4MywgCisgICAgNzMsIDg4LCA0NSwgODAsIDY5LCA4MiwgNDUsIDY5LCAyMDUsIDgzLCA3MywgODgsIDQ1LCA3NiwgNzMsIDc4LCAxOTcsIDgzLCAKKyAgICA3MywgMjE2LCA4MywgNzMsIDg0LCA2OSwgMTI4LCA4MywgNzMsIDgzLCA2NSwgMTI4LCA4MywgNzMsIDgyLCA3MywgNzgsIAorICAgIDcxLCA4NSwgMTI4LCA4MywgNzMsIDc5LCA4MywgNDUsIDg0LCA3MiwgNzMsIDY5LCA4NSwgODQsIDcyLCAxMjgsIDgzLCA3MywgCisgICAgNzksIDgzLCA0NSwgODMsIDgzLCA2NSwgNzgsIDcxLCA4MywgNzMsIDc5LCA4MywgMTI4LCA4MywgNzMsIDc5LCA4MywgNDUsIAorICAgIDgyLCA3MywgNjksIDg1LCA3NiwgMTI4LCA4MywgNzMsIDc5LCA4MywgNDUsIDgwLCA3MywgNjksIDg1LCA4MCwgNDUsIDc1LCAKKyAgICA3MywgODksIDY5LCA3OSwgNzUsIDEyOCwgODMsIDczLCA3OSwgODMsIDQ1LCA4MCwgNzIsIDczLCA2OSwgODUsIDgwLCA3MiwgCisgICAgMTI4LCA4MywgNzMsIDc5LCA4MywgNDUsIDgwLCA2NSwgNzgsIDgzLCA3MywgNzksIDgzLCAxMjgsIDgzLCA3MywgNzksIDgzLCAKKyAgICA0NSwgNzgsIDczLCA2OSwgODUsIDc4LCAxMjgsIDgzLCA3MywgNzksIDgzLCA0NSwgNzcsIDczLCA2OSwgODUsIDc3LCAxMjgsIAorICAgIDgzLCA3MywgNzksIDgzLCA0NSwgNzUsIDcyLCA3MywgNjksIDg1LCA3NSwgNzIsIDEyOCwgODMsIDczLCA3OSwgODMsIDQ1LCAKKyAgICA3NSwgNjUsIDgwLCA4OSwgNjksIDc5LCA4NSwgNzgsIDgwLCA3MywgNjksIDg1LCA4MCwgMTI4LCA4MywgNzMsIDc5LCA4MywgCisgICAgNDUsIDczLCA2OSwgODUsIDc4LCA3MSwgMTI4LCA4MywgNzMsIDc5LCA4MywgNDUsIDcyLCA3MywgNjksIDg1LCA3MiwgMTI4LCAKKyAgICA4MywgNzMsIDc5LCA4MywgNDUsIDY3LCA3MywgNjksIDg1LCA2NywgMTI4LCA4MywgNzMsIDc5LCA4MywgNDUsIDY3LCA3MiwgCisgICAgNzMsIDY5LCA4NSwgNjcsIDcyLCAxMjgsIDgzLCA3MywgNzksIDIxMSwgODMsIDczLCA3OCwgODUsIDgzLCA3OSwgNzMsIAorICAgIDE5NiwgODMsIDczLCA3OCwgNzUsIDczLCA3OCwgNzEsIDEyOCwgODMsIDczLCA3OCwgNzEsIDc2LCA2OSwgNDUsIDgzLCA3MiwgCisgICAgNzMsIDcwLCA4NCwgNDUsIDUxLCAxMjgsIDgzLCA3MywgNzgsIDcxLCA3NiwgNjksIDQ1LCA4MywgNzIsIDczLCA3MCwgODQsIAorICAgIDQ1LCA1MCwgMTI4LCA4MywgNzMsIDc4LCA3MSwgNzYsIDY5LCA0NSwgNzYsIDczLCA3OCwgMTk3LCA4MywgNzMsIDc4LCA3MSwgCisgICAgNzYsIDY5LCAxMjgsIDgzLCA3MywgNzgsIDcxLCA3NiwgMTk3LCA4MywgNzMsIDc4LCA3MSwgNjUsIDY1LCA4NCwgMTI4LCAKKyAgICA4MywgNzMsIDc4LCAxOTcsIDgzLCA3MywgNzgsIDY4LCA3MiwgMjAxLCA4MywgNzMsIDIwNiwgODMsIDczLCA3NywgODAsIAorICAgIDc2LCA3MywgNzAsIDczLCA2OSwgMTk2LCA4MywgNzMsIDc3LCA3MywgNzYsIDY1LCA4MiwgMTI4LCA4MywgNzMsIDc3LCA3MywgCisgICAgNzYsIDY1LCAyMTAsIDgzLCA3MywgNzcsIDY1LCA3OCwgODMsIDczLCAyMTEsIDgzLCA3MywgNzcsIDY1LCA3NiwgODUsIDc4LCAKKyAgICA3MSwgODUsIDIwNiwgODMsIDczLCA3NywgNjUsIDEyOCwgODMsIDczLCA3NiwgODYsIDY5LCA4MiwgMTI4LCA4MywgNzMsIAorICAgIDc2LCA3NSwgMTI4LCA4MywgNzMsIDc2LCA3MywgODEsIDg1LCAxOTMsIDgzLCA3MywgNzYsIDcyLCA3OSwgODUsIDY5LCA4NCwgCisgICAgODQsIDY5LCAxMjgsIDgzLCA3MywgNzYsIDcyLCA3OSwgODUsIDY5LCA4NCwgODQsIDE5NywgODMsIDczLCA3NiwgNjUsIDUxLCAKKyAgICAxMjgsIDgzLCA3MywgNzUsIDczLCAxMjgsIDgzLCA3MywgNzUsIDUwLCAxMjgsIDgzLCA3MywgNzUsIDE3OCwgODMsIDczLCAKKyAgICA3MSwgNzgsIDgzLCAxMjgsIDgzLCA3MywgNzEsIDc3LCA2NSwgMTI4LCA4MywgNzMsIDcxLCA3NywgMTkzLCA4MywgNzMsIAorICAgIDcxLCA2OSwgMjA0LCA4MywgNzMsIDcxLCA1MiwgMTI4LCA4MywgNzMsIDcxLCAxODAsIDgzLCA3MywgNzEsIDEyOCwgODMsIAorICAgIDczLCA2OSwgNjksIDEyOCwgODMsIDczLCA2OCwgNjksIDg3LCA2NSwgODksIDIxMSwgODMsIDczLCA2OCwgNjgsIDcyLCA2NSwgCisgICAgNzcsIDEyOCwgODMsIDczLCA2OCwgNjgsIDcyLCA2NSwgMjA1LCA4MywgNzMsIDY3LCA3NSwgNzgsIDY5LCA4MywgODMsIAorICAgIDEyOCwgODMsIDczLCA2NywgNzUsIDc2LCA2OSwgMTI4LCA4MywgNzMsIDY2LCAxOTcsIDgzLCA3MywgNjUsIDEyOCwgODMsIAorICAgIDIwMSwgODMsIDcyLCA4OSwgODgsIDEyOCwgODMsIDcyLCA4OSwgODQsIDEyOCwgODMsIDcyLCA4OSwgODIsIDg4LCAxMjgsIAorICAgIDgzLCA3MiwgODksIDgyLCAxMjgsIDgzLCA3MiwgODksIDgwLCAxMjgsIDgzLCA3MiwgODksIDY5LCAxMjgsIDgzLCA3MiwgCisgICAgODksIDY1LCAxMjgsIDgzLCA3MiwgODksIDEyOCwgODMsIDcyLCA4NywgNzksIDg5LCAxMjgsIDgzLCA3MiwgODcsIDc5LCAKKyAgICA3OSwgMTI4LCA4MywgNzIsIDg3LCA3OSwgMTI4LCA4MywgNzIsIDg3LCA3MywgNzMsIDEyOCwgODMsIDcyLCA4NywgNzMsIAorICAgIDEyOCwgODMsIDcyLCA4NywgNjksIDEyOCwgODMsIDcyLCA4NywgMTk3LCA4MywgNzIsIDg3LCA2NSwgNjUsIDEyOCwgODMsIAorICAgIDcyLCA4NywgNjUsIDEyOCwgODMsIDcyLCA4NSwgODgsIDEyOCwgODMsIDcyLCA4NSwgODUsIDEyOCwgODMsIDcyLCA4NSwgCisgICAgODQsIDEyOCwgODMsIDcyLCA4NSwgODIsIDg4LCAxMjgsIDgzLCA3MiwgODUsIDgyLCAxMjgsIDgzLCA3MiwgODUsIDgwLCAKKyAgICAxMjgsIDgzLCA3MiwgODUsIDc5LCA4OCwgMTI4LCA4MywgNzIsIDg1LCA3OSwgODAsIDEyOCwgODMsIDcyLCA4NSwgNzksIAorICAgIDEyOCwgODMsIDcyLCA4NSwgNzcsIDEyOCwgODMsIDcyLCA4NSwgNzYsIDEyOCwgODMsIDcyLCA4NSwgNzAsIDcwLCA3NiwgCisgICAgMTk3LCA4MywgNzIsIDg1LCA2OSwgODEsIDEyOCwgODMsIDcyLCA4NSwgNjksIDc4LCA4MywgNzIsIDg1LCA2OSwgODQsIAorICAgIDEyOCwgODMsIDcyLCA4NSwgNjYsIDg1LCA4MiwgMTI4LCA4MywgNzIsIDg1LCA1MCwgMTI4LCA4MywgNzIsIDg1LCAxNzgsIAorICAgIDgzLCA3MiwgODUsIDEyOCwgODMsIDcyLCAyMTMsIDgzLCA3MiwgODQsIDY1LCA4MCwgNzMsIDY3LCAxMjgsIDgzLCA3MiwgCisgICAgODQsIDY1LCAxMjgsIDgzLCA3MiwgODIsIDczLCA3OCwgNjksIDEyOCwgODMsIDcyLCA4MiwgNzMsIDc3LCA4MCwgMTI4LCAKKyAgICA4MywgNzIsIDgyLCA3MywgNzMsIDEyOCwgODMsIDcyLCA4MiwgNzMsIDEyOCwgODMsIDcyLCA3OSwgODksIDEyOCwgODMsIAorICAgIDcyLCA3OSwgODgsIDEyOCwgODMsIDcyLCA3OSwgODcsIDY5LCA4MiwgMTI4LCA4MywgNzIsIDc5LCA4NSwgNzYsIDY4LCA2OSwgCisgICAgODIsIDY5LCAxOTYsIDgzLCA3MiwgNzksIDg0LCAxMjgsIDgzLCA3MiwgNzksIDgyLCA4NCwgODMsIDEyOCwgODMsIDcyLCAKKyAgICA3OSwgODIsIDg0LCAyMTEsIDgzLCA3MiwgNzksIDgyLCA4NCwgNzIsIDY1LCA3OCwgMTk2LCA4MywgNzIsIDc5LCA4MiwgODQsIAorICAgIDY5LCA3OCwgNjksIDgyLCAxMjgsIDgzLCA3MiwgNzksIDgyLCA4NCwgNjcsIDY1LCA3NSwgNjksIDEyOCwgODMsIDcyLCA3OSwgCisgICAgODIsIDg0LCA0NSwgODQsIDg3LCA3MywgNzEsIDQ1LCA4OSwgODIsIDEyOCwgODMsIDcyLCA3OSwgODIsIDg0LCA0NSwgODQsIAorICAgIDg3LCA3MywgNzEsIDQ1LCA4NCwgODksIDIxMCwgODMsIDcyLCA3OSwgODIsIDg0LCA0NSwgODQsIDg3LCA3MywgNzEsIDQ1LCAKKyAgICA4MywgNzksIDIwNCwgODMsIDcyLCA3OSwgODIsIDg0LCA0NSwgODQsIDg3LCA3MywgNzEsIDQ1LCA3OSwgODMsIDIxMSwgODMsIAorICAgIDcyLCA3OSwgODIsIDg0LCA0NSwgODQsIDg3LCA3MywgNzEsIDQ1LCA3OCwgNjUsIDg1LCAxOTYsIDgzLCA3MiwgNzksIDgyLCAKKyAgICA4NCwgNDUsIDg0LCA4NywgNzMsIDcxLCA0NSwgNzcsIDY1LCA2OCwgMjEwLCA4MywgNzIsIDc5LCA4MiwgODQsIDQ1LCA4NCwgCisgICAgODcsIDczLCA3MSwgNDUsIDcyLCA2NSwgNzEsIDY1LCA3NiwgMjA0LCA4MywgNzIsIDc5LCA4MiwgODQsIDQ1LCA4NCwgODcsIAorICAgIDczLCA3MSwgNDUsIDY2LCA3NCwgNjUsIDgyLCA3NSwgNjUsIDIwNiwgODMsIDcyLCA3OSwgODIsIDg0LCA0NSwgODQsIDg3LCAKKyAgICA3MywgNzEsIDQ1LCA2NSwgMjEwLCA4MywgNzIsIDc5LCA4MiwgODQsIDEyOCwgODMsIDcyLCA3OSwgODIsIDIxMiwgODMsIAorICAgIDcyLCA3OSwgODEsIDEyOCwgODMsIDcyLCA3OSwgMjA5LCA4MywgNzIsIDc5LCA4MCwgODAsIDczLCA3OCwgMTk5LCA4MywgCisgICAgNzIsIDc5LCA4MCwgMTI4LCA4MywgNzIsIDc5LCA3OSwgODQsIDczLCA3OCwgMTk5LCA4MywgNzIsIDc5LCA3OSwgODQsIAorICAgIDEyOCwgODMsIDcyLCA3OSwgNzksIDczLCAxMjgsIDgzLCA3MiwgNzksIDc5LCAxMjgsIDgzLCA3MiwgNzksIDcxLCAyMDEsIAorICAgIDgzLCA3MiwgNzksIDE5OSwgODMsIDcyLCA3OSwgNjksIDEyOCwgODMsIDcyLCA3OSwgMTk3LCA4MywgNzIsIDc5LCA2NSwgCisgICAgMTI4LCA4MywgNzIsIDc5LCAxMjgsIDgzLCA3MiwgNzMsIDg5LCA4OSwgNjUsIDY1LCA3NiwgNjUsIDY1LCAxMjgsIDgzLCAKKyAgICA3MiwgNzMsIDg0LCA2NSwgMTI4LCA4MywgNzIsIDczLCA4NCwgMTkzLCA4MywgNzIsIDczLCA4MiwgMjEyLCA4MywgNzIsIAorICAgIDczLCA4MiwgNjUsIDY5LCAxMjgsIDgzLCA3MiwgNzMsIDgyLCAxMjgsIDgzLCA3MiwgNzMsIDIxMCwgODMsIDcyLCA3MywgCisgICAgODEsIDEyOCwgODMsIDcyLCA3MywgODAsIDEyOCwgODMsIDcyLCA3MywgNzgsIDg0LCAyMDcsIDgzLCA3MiwgNzMsIDc4LCAKKyAgICA3MywgNzEsIDEyOCwgODMsIDcyLCA3MywgNzgsIDY4LCAxOTMsIDgzLCA3MiwgNzMsIDIwNiwgODMsIDcyLCA3MywgNzcsIAorICAgIDY1LCAxMjgsIDgzLCA3MiwgNzMsIDc3LCAxOTMsIDgzLCA3MiwgNzMsIDc3LCAxMjgsIDgzLCA3MiwgNzMsIDIwNSwgODMsIAorICAgIDcyLCA3MywgNzMsIDc4LCAxMjgsIDgzLCA3MiwgNzMsIDczLCAxMjgsIDgzLCA3MiwgNzMsIDcwLCAyMTIsIDgzLCA3MiwgCisgICAgNzMsIDY5LCA3NiwgNjgsIDEyOCwgODMsIDcyLCA3MywgNjgsIDEyOCwgODMsIDcyLCA3MywgMTk2LCA4MywgNzIsIDcyLCAKKyAgICA2NSwgMTI4LCA4MywgNzIsIDcyLCAxOTMsIDgzLCA3MiwgNjksIDg4LCAxMjgsIDgzLCA3MiwgNjksIDg2LCA2NSwgMTI4LCAKKyAgICA4MywgNzIsIDY5LCA4NSwgODgsIDEyOCwgODMsIDcyLCA2OSwgODUsIDc5LCA4MSwgMTI4LCA4MywgNzIsIDY5LCA4NSwgNjUsIAorICAgIDY5LCA4MSwgODQsIDg1LCAxMjgsIDgzLCA3MiwgNjksIDg1LCA2NSwgNjksIDgxLCAxMjgsIDgzLCA3MiwgNjksIDg1LCA2NSwgCisgICAgNjksIDEyOCwgODMsIDcyLCA2OSwgODQsIDEyOCwgODMsIDcyLCA2OSwgMjEyLCA4MywgNzIsIDY5LCA4MywgNzIsIDc2LCAKKyAgICA2NSwgNzcsIDEyOCwgODMsIDcyLCA2OSwgODMsIDcyLCA3MywgNzEsIDEyOCwgODMsIDcyLCA2OSwgODMsIDcyLCA3MywgCisgICAgMTk5LCA4MywgNzIsIDY5LCA4MywgNzIsIDUwLCAxMjgsIDgzLCA3MiwgNjksIDgzLCA3MiwgMTI4LCA4MywgNzIsIDY5LCAKKyAgICA4MSwgNjksIDIwNCwgODMsIDcyLCA2OSwgODAsIDEyOCwgODMsIDcyLCA2OSwgNzgsIDEyOCwgODMsIDcyLCA2OSwgNzYsIAorICAgIDc2LCAxMjgsIDgzLCA3MiwgNjksIDc2LCAyMDQsIDgzLCA3MiwgNjksIDc2LCA3MCwgMTI4LCA4MywgNzIsIDY5LCA3MywgCisgICAgMTI4LCA4MywgNzIsIDY5LCA3MSwgNTcsIDEyOCwgODMsIDcyLCA2OSwgNjksIDgwLCAxMjgsIDgzLCA3MiwgNjksIDY5LCAKKyAgICA3OCwgODUsIDEyOCwgODMsIDcyLCA2OSwgNjksIDc4LCAxMjgsIDgzLCA3MiwgNjksIDY5LCAyMDYsIDgzLCA3MiwgNjksIAorICAgIDY5LCAxMjgsIDgzLCA3MiwgNjksIDQ1LCA3MSwgNzksIDY1LCA4NCwgMTI4LCA4MywgNzIsIDE5NywgODMsIDcyLCA2NywgCisgICAgNzIsIDc5LCA3OSwgNzMsIDEyOCwgODMsIDcyLCA2NywgNzIsIDY1LCAxMjgsIDgzLCA3MiwgNjUsIDg5LCAxMjgsIDgzLCAKKyAgICA3MiwgNjUsIDg4LCAxMjgsIDgzLCA3MiwgNjUsIDg2LCA3MywgODksIDY1LCA3OCwgNzMsIDEyOCwgODMsIDcyLCA2NSwgODYsIAorICAgIDczLCA2NSwgMjA2LCA4MywgNzIsIDY1LCA4NiwgNjksIDE5NiwgODMsIDcyLCA2NSwgODUsIDEyOCwgODMsIDcyLCA2NSwgCisgICAgODQsIDEyOCwgODMsIDcyLCA2NSwgODIsIDg1LCAxMjgsIDgzLCA3MiwgNjUsIDgyLCAyMTMsIDgzLCA3MiwgNjUsIDgyLCAKKyAgICA4MCwgMTI4LCA4MywgNzIsIDY1LCA4MiwgMjA4LCA4MywgNzIsIDY1LCA4MiwgNjUsIDEyOCwgODMsIDcyLCA2NSwgODIsIAorICAgIDUwLCAxMjgsIDgzLCA3MiwgNjUsIDgyLCAxNzgsIDgzLCA3MiwgNjUsIDgwLCA3MywgNzgsIDcxLCAxMjgsIDgzLCA3MiwgCisgICAgNjUsIDgwLCA2OSwgODMsIDEyOCwgODMsIDcyLCA2NSwgODAsIDE5NywgODMsIDcyLCA2NSwgODAsIDEyOCwgODMsIDcyLCAKKyAgICA2NSwgNzgsIDcxLCAxMjgsIDgzLCA3MiwgNjUsIDc4LCAxMjgsIDgzLCA3MiwgNjUsIDIwNiwgODMsIDcyLCA2NSwgNzcsIAorICAgIDgyLCA3OSwgNjcsIDc1LCAxMjgsIDgzLCA3MiwgNjUsIDc2LCA4MywgNzIsIDY5LCA3NiwgNjksIDg0LCAxMjgsIDgzLCA3MiwgCisgICAgNjUsIDc1LCA4NCwgNzMsIDEyOCwgODMsIDcyLCA2NSwgNzUsIDEyOCwgODMsIDcyLCA2NSwgNzMsIDEyOCwgODMsIDcyLCAKKyAgICA2NSwgNzAsIDg0LCAxMjgsIDgzLCA3MiwgNjUsIDcwLCAyMTIsIDgzLCA3MiwgNjUsIDY4LCA3OSwgODcsIDY5LCAxOTYsIAorICAgIDgzLCA3MiwgNjUsIDY4LCA2OSwgMTk2LCA4MywgNzIsIDY1LCA2OCwgNjksIDEyOCwgODMsIDcyLCA2NSwgNjgsIDY4LCA2NSwgCisgICAgMTI4LCA4MywgNzIsIDY1LCA2OCwgNjgsIDE5MywgODMsIDcyLCA2NSwgNjgsIDEyOCwgODMsIDcyLCA2NSwgMTk2LCA4MywgCisgICAgNzIsIDY1LCA2NiwgNTQsIDEyOCwgODMsIDcyLCA2NSwgNjUsIDEyOCwgODMsIDcyLCA2NSwgNTQsIDEyOCwgODMsIDcyLCAKKyAgICA2NSwgNTEsIDEyOCwgODMsIDcyLCA2NSwgMTc5LCA4MywgNzEsIDgyLCAxOTMsIDgzLCA3MSwgNzksIDIxMCwgODMsIDcxLCAKKyAgICA2NywgMTI4LCA4MywgNzEsIDY1LCAyMTUsIDgzLCA3MSwgNjUsIDE5NCwgODMsIDcxLCAxMjgsIDgzLCA2OSwgODksIDc1LCAKKyAgICAxMjgsIDgzLCA2OSwgODgsIDg0LCA4NSwgNzYsIDE5MywgODMsIDY5LCA4OCwgODQsIDczLCA3NiwgNjksIDEyOCwgODMsIAorICAgIDY5LCA4OCwgODQsIDY1LCA3OCwgMjExLCA4MywgNjksIDg2LCA2OSwgODIsIDY1LCA3OCwgNjcsIDY5LCAxMjgsIDgzLCA2OSwgCisgICAgODYsIDY5LCA3OCwgODQsIDg5LCAxMjgsIDgzLCA2OSwgODYsIDY5LCA3OCwgODQsIDIxNywgODMsIDY5LCA4NiwgNjksIDc4LCAKKyAgICA4NCwgNzIsIDEyOCwgODMsIDY5LCA4NiwgNjksIDc4LCA4NCwgNjksIDY5LCA3OCwgMTI4LCA4MywgNjksIDg2LCA2OSwgNzgsIAorICAgIDg0LCA2OSwgNjksIDIwNiwgODMsIDY5LCA4NiwgNjksIDc4LCA0NSwgODQsIDcyLCA3MywgODIsIDg0LCA4OSwgMTI4LCA4MywgCisgICAgNjksIDg2LCA2OSwgMjA2LCA4MywgNjksIDg1LCA4OCwgMTI4LCA4MywgNjksIDg1LCA3OCwgODksIDY1LCA3NywgMTI4LCAKKyAgICA4MywgNjksIDg1LCA2NSwgNjksIDgxLCAxMjgsIDgzLCA2OSwgODQsIDcwLCA3OSwgNzgsIDEyOCwgODMsIDY5LCA4MywgODQsIAorICAgIDY5LCA4MiwgODQsIDczLCA4NSwgMjExLCA4MywgNjksIDgzLCA4MSwgODUsIDczLCA4MSwgODUsIDY1LCA2OCwgODIsIDY1LCAKKyAgICA4NCwgNjksIDEyOCwgODMsIDY5LCA4MywgNjUsIDc3LCAxOTcsIDgzLCA2OSwgODIsIDg2LCA3MywgNjcsIDE5NywgODMsIAorICAgIDY5LCA4MiwgNzMsIDcwLCA4MywgMTI4LCA4MywgNjksIDgyLCA3MywgNzAsIDIxMSwgODMsIDY5LCA4MiwgNzMsIDcwLCAKKyAgICAxMjgsIDgzLCA2OSwgODEsIDg1LCA2OSwgNzgsIDY3LCAxOTcsIDgzLCA2OSwgODAsIDg0LCA2OSwgNzcsIDY2LCA2OSwgODIsIAorICAgIDEyOCwgODMsIDY5LCA4MCwgNjUsIDgyLCA2NSwgODQsIDc5LCA4MiwgMTI4LCA4MywgNjksIDgwLCA2NSwgODIsIDY1LCA4NCwgCisgICAgNzksIDIxMCwgODMsIDY5LCA3OCwgODQsIDc5LCAxMjgsIDgzLCA2OSwgNzgsIDg0LCA3MywgMTI4LCA4MywgNjksIDc3LCAKKyAgICA4NSwgNzgsIDY3LCA3MywgMTkzLCA4MywgNjksIDc3LCA3NSwgNjUsIDg0LCA3MiwgMTI4LCA4MywgNjksIDc3LCA3NSwgCisgICAgMTI4LCA4MywgNjksIDc3LCA3MywgODYsIDc5LCA4NywgNjksIDIwNCwgODMsIDY5LCA3NywgNzMsIDgzLCA3OSwgNzAsIAorICAgIDIxMiwgODMsIDY5LCA3NywgNzMsIDgzLCA2OSwgODgsIDg0LCA3MywgNzYsIDY5LCAxMjgsIDgzLCA2OSwgNzcsIDczLCA3NywgCisgICAgNzMsIDc4LCA3MywgNzcsIDE5MywgODMsIDY5LCA3NywgNzMsIDY4LCA3MywgODIsIDY5LCA2NywgMjEyLCA4MywgNjksIDc3LCAKKyAgICA3MywgNjcsIDc5LCA3NiwgNzksIDc4LCAxMjgsIDgzLCA2OSwgNzcsIDczLCA2NywgNzksIDc2LCA3OSwgMjA2LCA4MywgNjksIAorICAgIDc3LCA3MywgNjcsIDczLCA4MiwgNjcsIDg1LCA3NiwgNjUsIDIxMCwgODMsIDY5LCA3NywgNzMsIDY3LCA3MywgODIsIDY3LCAKKyAgICA3NiwgMTk3LCA4MywgNjksIDc3LCA3MywgNjYsIDgyLCA2OSwgODYsIDczLCAyMTEsIDgzLCA2OSwgNzcsIDczLCA0NSwgODYsIAorICAgIDc5LCA3MywgNjcsIDY5LCAxOTYsIDgzLCA2OSwgNzYsIDcwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgCisgICAgNDUsIDU3LCA1NywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NywgNTYsIDEyOCwgODMsIDY5LCAKKyAgICA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTcsIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgCisgICAgNDUsIDU3LCA1NCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NywgNTMsIDEyOCwgODMsIDY5LCAKKyAgICA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTcsIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgCisgICAgNDUsIDU3LCA1MSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NywgNTAsIDEyOCwgODMsIDY5LCAKKyAgICA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTcsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgCisgICAgNDUsIDU3LCA0OCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NywgMTI4LCA4MywgNjksIDc2LCAKKyAgICA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NiwgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgCisgICAgNTYsIDU2LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU2LCA1NSwgMTI4LCA4MywgNjksIDc2LCAKKyAgICA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NiwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgCisgICAgNTYsIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU2LCA1MiwgMTI4LCA4MywgNjksIDc2LCAKKyAgICA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NiwgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgCisgICAgNTYsIDUwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU2LCA0OSwgMTI4LCA4MywgNjksIDc2LCAKKyAgICA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NiwgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgCisgICAgNTYsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTUsIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKKyAgICA2NywgODQsIDc5LCA4MiwgNDUsIDU1LCA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NSwgCisgICAgNTUsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTUsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKKyAgICA2NywgODQsIDc5LCA4MiwgNDUsIDU1LCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NSwgCisgICAgNTIsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTUsIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKKyAgICA2NywgODQsIDc5LCA4MiwgNDUsIDU1LCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NSwgCisgICAgNDksIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTUsIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKKyAgICA2NywgODQsIDc5LCA4MiwgNDUsIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU0LCA1NywgCisgICAgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NCwgNTYsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCAKKyAgICA4NCwgNzksIDgyLCA0NSwgNTQsIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU0LCA1NCwgCisgICAgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NCwgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCAKKyAgICA4NCwgNzksIDgyLCA0NSwgNTQsIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU0LCA1MSwgCisgICAgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NCwgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCAKKyAgICA4NCwgNzksIDgyLCA0NSwgNTQsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU0LCA0OCwgCisgICAgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCAKKyAgICA3OSwgODIsIDQ1LCA1MywgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTMsIDU2LCAxMjgsIAorICAgIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUzLCA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCAKKyAgICA3OSwgODIsIDQ1LCA1MywgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTMsIDUzLCAxMjgsIAorICAgIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUzLCA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCAKKyAgICA3OSwgODIsIDQ1LCA1MywgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTMsIDUwLCAxMjgsIAorICAgIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUzLCA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCAKKyAgICA3OSwgODIsIDQ1LCA1MywgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTMsIDEyOCwgODMsIAorICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTIsIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCAKKyAgICA4MiwgNDUsIDUyLCA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MiwgNTUsIDEyOCwgODMsIAorICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTIsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCAKKyAgICA4MiwgNDUsIDUyLCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MiwgNTIsIDEyOCwgODMsIAorICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTIsIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCAKKyAgICA4MiwgNDUsIDUyLCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MiwgNDksIDEyOCwgODMsIAorICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTIsIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCAKKyAgICA4MiwgNDUsIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUxLCA1NywgMTI4LCA4MywgNjksIAorICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MSwgNTYsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKKyAgICA0NSwgNTEsIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUxLCA1NCwgMTI4LCA4MywgNjksIAorICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MSwgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKKyAgICA0NSwgNTEsIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUxLCA1MSwgMTI4LCA4MywgNjksIAorICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MSwgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKKyAgICA0NSwgNTEsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUxLCA0OCwgMTI4LCA4MywgNjksIAorICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKKyAgICA1MCwgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDU2LCAxMjgsIDgzLCA2OSwgNzYsIAorICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKKyAgICA1MCwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUzLCA1NCwgMTI4LCA4MywgNjksIAorICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTMsIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCAKKyAgICA4MiwgNDUsIDUwLCA1MywgNTIsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUzLCA1MSwgCisgICAgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTMsIDUwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKKyAgICA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MywgNDksIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgCisgICAgNTAsIDUzLCA0OCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTMsIDEyOCwgODMsIDY5LCAKKyAgICA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUyLCA1NywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgCisgICAgODIsIDQ1LCA1MCwgNTIsIDU2LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MiwgNTUsIAorICAgIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUyLCA1NCwgMTI4LCA4MywgNjksIDc2LCA2OSwgCisgICAgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTIsIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIAorICAgIDUwLCA1MiwgNTIsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUyLCA1MSwgMTI4LCA4MywgCisgICAgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTIsIDUwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIAorICAgIDc5LCA4MiwgNDUsIDUwLCA1MiwgNDksIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUyLCAKKyAgICA0OCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTIsIDEyOCwgODMsIDY5LCA3NiwgNjksIAorICAgIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUxLCA1NywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKKyAgICA1MCwgNTEsIDU2LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MSwgNTUsIDEyOCwgODMsIAorICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUxLCA1NCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCAKKyAgICA3OSwgODIsIDQ1LCA1MCwgNTEsIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MSwgCisgICAgNTIsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUxLCA1MSwgMTI4LCA4MywgNjksIDc2LCAKKyAgICA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTEsIDUwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgCisgICAgNDUsIDUwLCA1MSwgNDksIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUxLCA0OCwgMTI4LCAKKyAgICA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgCisgICAgNzksIDgyLCA0NSwgNTAsIDUwLCA1NywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTAsIAorICAgIDU2LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MCwgNTUsIDEyOCwgODMsIDY5LCA3NiwgCisgICAgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUwLCA1NCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIAorICAgIDQ1LCA1MCwgNTAsIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MCwgNTIsIDEyOCwgCisgICAgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUwLCA1MSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIAorICAgIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTAsIDUwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCAKKyAgICA1MCwgNDksIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUwLCA0OCwgMTI4LCA4MywgNjksIAorICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKKyAgICA0NSwgNTAsIDQ5LCA1NywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNDksIDU2LCAxMjgsIAorICAgIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA0OSwgNTUsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCAKKyAgICA4NCwgNzksIDgyLCA0NSwgNTAsIDQ5LCA1NCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgCisgICAgNDksIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA0OSwgNTIsIDEyOCwgODMsIDY5LCAKKyAgICA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDQ5LCA1MSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgCisgICAgODIsIDQ1LCA1MCwgNDksIDUwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA0OSwgNDksIAorICAgIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDQ5LCA0OCwgMTI4LCA4MywgNjksIDc2LCA2OSwgCisgICAgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNDksIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIAorICAgIDQ4LCA1NywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNDgsIDU2LCAxMjgsIDgzLCA2OSwgCisgICAgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA0OCwgNTUsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIAorICAgIDgyLCA0NSwgNTAsIDQ4LCA1NCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNDgsIDUzLCAKKyAgICAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA0OCwgNTIsIDEyOCwgODMsIDY5LCA3NiwgNjksIAorICAgIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDQ4LCA1MSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKKyAgICA1MCwgNDgsIDUwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA0OCwgNDksIDEyOCwgODMsIAorICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDQ4LCA0OCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCAKKyAgICA3OSwgODIsIDQ1LCA1MCwgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDEyOCwgODMsIAorICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU3LCA1NywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCAKKyAgICA3OSwgODIsIDQ1LCA0OSwgNTcsIDU2LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NywgCisgICAgNTUsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU3LCA1NCwgMTI4LCA4MywgNjksIDc2LCAKKyAgICA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTcsIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgCisgICAgNDUsIDQ5LCA1NywgNTIsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU3LCA1MSwgMTI4LCAKKyAgICA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTcsIDUwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgCisgICAgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NywgNDksIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIAorICAgIDU3LCA0OCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTcsIDEyOCwgODMsIDY5LCA3NiwgCisgICAgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU2LCA1NywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIAorICAgIDQ1LCA0OSwgNTYsIDU2LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NiwgNTUsIDEyOCwgCisgICAgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU2LCA1NCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIAorICAgIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTYsIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCAKKyAgICA1NiwgNTIsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU2LCA1MSwgMTI4LCA4MywgNjksIAorICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTYsIDUwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCAKKyAgICA4MiwgNDUsIDQ5LCA1NiwgNDksIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU2LCA0OCwgCisgICAgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTYsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCAKKyAgICA4NCwgNzksIDgyLCA0NSwgNDksIDU1LCA1NywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgCisgICAgNTUsIDU2LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NSwgNTUsIDEyOCwgODMsIDY5LCAKKyAgICA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU1LCA1NCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgCisgICAgODIsIDQ1LCA0OSwgNTUsIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NSwgNTIsIAorICAgIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU1LCA1MSwgMTI4LCA4MywgNjksIDc2LCA2OSwgCisgICAgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTUsIDUwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIAorICAgIDQ5LCA1NSwgNDksIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU1LCA0OCwgMTI4LCA4MywgCisgICAgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTUsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIAorICAgIDgyLCA0NSwgNDksIDU0LCA1NywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTQsIDU2LCAKKyAgICAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NCwgNTUsIDEyOCwgODMsIDY5LCA3NiwgNjksIAorICAgIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU0LCA1NCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKKyAgICA0OSwgNTQsIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NCwgNTIsIDEyOCwgODMsIAorICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU0LCA1MSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCAKKyAgICA3OSwgODIsIDQ1LCA0OSwgNTQsIDUwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NCwgCisgICAgNDksIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU0LCA0OCwgMTI4LCA4MywgNjksIDc2LCAKKyAgICA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgCisgICAgNDksIDUzLCA1NywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTMsIDU2LCAxMjgsIDgzLCAKKyAgICA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MywgNTUsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgCisgICAgNzksIDgyLCA0NSwgNDksIDUzLCA1NCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTMsIAorICAgIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MywgNTIsIDEyOCwgODMsIDY5LCA3NiwgCisgICAgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUzLCA1MSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIAorICAgIDQ1LCA0OSwgNTMsIDUwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MywgNDksIDEyOCwgCisgICAgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUzLCA0OCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIAorICAgIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUyLCAKKyAgICA1NywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTIsIDU2LCAxMjgsIDgzLCA2OSwgNzYsIAorICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MiwgNTUsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKKyAgICA0NSwgNDksIDUyLCA1NCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTIsIDUzLCAxMjgsIAorICAgIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MiwgNTIsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCAKKyAgICA4NCwgNzksIDgyLCA0NSwgNDksIDUyLCA1MSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgCisgICAgNTIsIDUwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MiwgNDksIDEyOCwgODMsIDY5LCAKKyAgICA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUyLCA0OCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgCisgICAgODIsIDQ1LCA0OSwgNTIsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUxLCA1NywgMTI4LCAKKyAgICA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTEsIDU2LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgCisgICAgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MSwgNTUsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIAorICAgIDUxLCA1NCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTEsIDUzLCAxMjgsIDgzLCA2OSwgCisgICAgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MSwgNTIsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIAorICAgIDgyLCA0NSwgNDksIDUxLCA1MSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTEsIDUwLCAKKyAgICAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MSwgNDksIDEyOCwgODMsIDY5LCA3NiwgNjksIAorICAgIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUxLCA0OCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKKyAgICA0OSwgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUwLCA1NywgMTI4LCA4MywgNjksIAorICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTAsIDU2LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCAKKyAgICA4MiwgNDUsIDQ5LCA1MCwgNTUsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUwLCA1NCwgCisgICAgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTAsIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKKyAgICA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MCwgNTIsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgCisgICAgNDksIDUwLCA1MSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTAsIDUwLCAxMjgsIDgzLCAKKyAgICA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MCwgNDksIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgCisgICAgNzksIDgyLCA0NSwgNDksIDUwLCA0OCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTAsIAorICAgIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDQ5LCA1NywgMTI4LCA4MywgNjksIDc2LCA2OSwgCisgICAgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNDksIDU2LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIAorICAgIDQ5LCA0OSwgNTUsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDQ5LCA1NCwgMTI4LCA4MywgCisgICAgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNDksIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIAorICAgIDc5LCA4MiwgNDUsIDQ5LCA0OSwgNTIsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDQ5LCAKKyAgICA1MSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNDksIDUwLCAxMjgsIDgzLCA2OSwgNzYsIAorICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA0OSwgNDksIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKKyAgICA0NSwgNDksIDQ5LCA0OCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNDksIDEyOCwgODMsIAorICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDQ4LCA1NywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCAKKyAgICA3OSwgODIsIDQ1LCA0OSwgNDgsIDU2LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA0OCwgCisgICAgNTUsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDQ4LCA1NCwgMTI4LCA4MywgNjksIDc2LCAKKyAgICA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNDgsIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgCisgICAgNDUsIDQ5LCA0OCwgNTIsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDQ4LCA1MSwgMTI4LCAKKyAgICA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNDgsIDUwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgCisgICAgODQsIDc5LCA4MiwgNDUsIDQ5LCA0OCwgNDksIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIAorICAgIDQ4LCA0OCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNDgsIDEyOCwgODMsIDY5LCA3NiwgCisgICAgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAxMjgsIDgzLCAKKyAgICA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCAyMTAsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDY5LCAxOTYsIDgzLCA2OSwgNzMsIAorICAgIDgzLCA3NywgNjUsIDEyOCwgODMsIDY5LCA3MywgODMsIDc3LCAxOTMsIDgzLCA2OSwgNzIsIDEyOCwgODMsIDY5LCA3MSwgCisgICAgNzksIDc2LCAxMjgsIDgzLCA2OSwgNzEsIDc4LCA3OSwgMTI4LCA4MywgNjksIDcxLCA3NywgNjksIDc4LCA4NCwgMTI4LCAKKyAgICA4MywgNjksIDY5LCA4NiwgMTI4LCA4MywgNjksIDY5LCA3OCwgODUsIDEyOCwgODMsIDY5LCA2OSwgNzgsIDEyOCwgODMsIAorICAgIDY5LCA2OSwgMjA2LCA4MywgNjksIDY5LCA2OCwgNzYsIDczLCA3OCwgNzEsIDEyOCwgODMsIDY5LCA2OSwgNDUsIDc4LCA3OSwgCisgICAgNDUsIDY5LCA4NiwgNzMsIDIwNCwgODMsIDY5LCA2NywgODQsIDc5LCA4MiwgMTI4LCA4MywgNjksIDY3LCA4NCwgNzMsIDc5LCAKKyAgICA3OCwgMTI4LCA4MywgNjksIDY3LCA4NCwgNzMsIDc5LCAyMDYsIDgzLCA2OSwgNjcsIDgyLCA2OSwgODQsIDEyOCwgODMsIAorICAgIDY5LCA2NywgNzksIDc4LCA2OCwgMTI4LCA4MywgNjksIDY3LCA2NSwgNzgsIDg0LCAxMjgsIDgzLCA2OSwgNjYsIDY1LCA4NCwgCisgICAgNjYsIDY5LCA3MywgMjEyLCA4MywgNjksIDY1LCA4NCwgMTI4LCA4MywgNjksIDY1LCA3NiwgMTI4LCA4MywgNjksIDY1LCAKKyAgICA3MSwgODUsIDc2LCAyMDQsIDgzLCA2OCwgNzksIDc4LCAxOTksIDgzLCA2OCwgMTI4LCA4MywgNjcsIDg3LCA2NSwgMTI4LCAKKyAgICA4MywgNjcsIDgyLCA4NSwgODAsIDc2LCA2OSwgMTI4LCA4MywgNjcsIDgyLCA3OSwgNzYsIDc2LCAxMjgsIDgzLCA2NywgODIsIAorICAgIDczLCA4MCwgODQsIDEyOCwgODMsIDY3LCA4MiwgNjksIDY5LCA3OCwgMTI4LCA4MywgNjcsIDgyLCA2OSwgNjksIDIwNiwgCisgICAgODMsIDY3LCA4MiwgNjksIDY1LCA3NywgNzMsIDc4LCAxOTksIDgzLCA2NywgNzksIDgyLCA4MCwgNzMsIDg1LCA4MywgMTI4LCAKKyAgICA4MywgNjcsIDc5LCA4MiwgNjksIDEyOCwgODMsIDY3LCA3MywgODMsIDgzLCA3OSwgODIsIDgzLCAxMjgsIDgzLCA2NywgNzMsIAorICAgIDEyOCwgODMsIDY3LCA3MiwgODcsIDY1LCAxMjgsIDgzLCA2NywgNzIsIDg3LCAxOTMsIDgzLCA2NywgNzIsIDgyLCA3OSwgCisgICAgNjksIDY4LCA2OSwgODIsIDEyOCwgODMsIDY3LCA3MiwgNzksIDc5LCA3NiwgMTI4LCA4MywgNjcsIDcyLCA3OSwgNzksIAorICAgIDIwNCwgODMsIDY3LCA3MiwgNzksIDc2LCA2NSwgODIsIDEyOCwgODMsIDY3LCA3MiwgNjksIDc3LCAxOTMsIDgzLCA2NywgCisgICAgNjksIDgwLCA4NCwgNjksIDIxMCwgODMsIDY3LCA2NSwgNzgsIDY4LCA3MywgNjcsIDg1LCA4MywgMTI4LCA4MywgNjcsIDY1LCAKKyAgICA3OCwgNjgsIDczLCA2NywgODUsIDIxMSwgODMsIDY3LCA2NSwgMjA2LCA4MywgNjcsIDY1LCA3NiwgNjksIDgzLCAxMjgsIAorICAgIDgzLCA2NiwgODUsIDE5NCwgODMsIDY2LCA4MiwgODUsIDIwNCwgODMsIDY1LCA4OSwgNzMsIDgzLCAyMDEsIDgzLCA2NSwgCisgICAgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDgzLCA2NSwgODksIDEyOCwgODMsIDY1LCA4OCwgNzksIDgwLCA3MiwgNzksIDc4LCAKKyAgICA2OSwgMTI4LCA4MywgNjUsIDg4LCA3MywgNzcsIDY1LCA4NCwgNjUsIDEyOCwgODMsIDY1LCA4NywgNjUsIDc4LCAxMjgsIAorICAgIDgzLCA2NSwgODcsIDEyOCwgODMsIDY1LCA4NiwgNzksIDg1LCA4MiwgNzMsIDc4LCAxOTksIDgzLCA2NSwgODUsIDgyLCA2NSwgCisgICAgODMsIDcyLCA4NCwgODIsIDE5MywgODMsIDY1LCA4NSwgNzMsIDc2LCAxMjgsIDgzLCA2NSwgODQsIDg1LCA4MiwgNzgsIAorICAgIDEyOCwgODMsIDY1LCA4NCwgNzUsIDY1LCA2NSwgNzgsIDc1LCA4NSwgODUsIDEyOCwgODMsIDY1LCA4NCwgNzUsIDY1LCA2NSwgCisgICAgNzgsIDEyOCwgODMsIDY1LCA4NCwgNjksIDc2LCA3NiwgNzMsIDg0LCA2OSwgMTI4LCA4MywgNjUsIDg0LCA2OSwgNzYsIDc2LCAKKyAgICA3MywgODQsIDE5NywgODMsIDY1LCA4NCwgNjcsIDcyLCA2OSwgNzYsIDEyOCwgODMsIDY1LCA4NCwgNjUsIDc4LCA3MSwgNjUsIAorICAgIDEyOCwgODMsIDY1LCA4MywgNzIsIDEyOCwgODMsIDY1LCA4MywgNjUsIDc1LCAxMjgsIDgzLCA2NSwgODIsIDczLCAxMjgsIAorICAgIDgzLCA2NSwgODIsIDE5MywgODMsIDY1LCA4MiwgMTI4LCA4MywgNjUsIDgxLCAxMjgsIDgzLCA2NSwgODAsIDY1LCAxMjgsIAorICAgIDgzLCA2NSwgNzgsIDg5LCA3OSwgNzksIDcxLCAxOTMsIDgzLCA2NSwgNzgsIDg5LCA2NSwgNzUsIDE5MywgODMsIDY1LCA3OCwgCisgICAgODQsIDczLCA3MywgNzcsIDg1LCAxMjgsIDgzLCA2NSwgNzgsIDc4LCA4OSwgNjUsIDEyOCwgODMsIDY1LCA3OCwgNzEsIDY1LCAKKyAgICA1MCwgMTI4LCA4MywgNjUsIDc4LCA2OCwgNzIsIDIwMSwgODMsIDY1LCA3OCwgNjgsIDY1LCA3NiwgMTI4LCA4MywgNjUsIAorICAgIDc4LCA2NSwgNzIsIDEyOCwgODMsIDY1LCA3OCwgMTI4LCA4MywgNjUsIDc3LCA4OSwgNzksIDIwMywgODMsIDY1LCA3NywgCisgICAgODYsIDY1LCA4NCwgMTI4LCA4MywgNjUsIDc3LCA4MCwgNzMsIDEyOCwgODMsIDY1LCA3NywgODAsIDcyLCA2NSwgNzksIAorICAgIDEyOCwgODMsIDY1LCA3NywgNzUsIDY1LCAxMjgsIDgzLCA2NSwgNzcsIDY5LCA3NSwgNzIsIDEyOCwgODMsIDY1LCA3NywgCisgICAgNjksIDc1LCAyMDAsIDgzLCA2NSwgNzcsIDY2LCA2NSwgMTI4LCA4MywgNjUsIDc3LCA2NSwgODIsIDczLCA4NCwgNjUsIAorICAgIDIwNiwgODMsIDY1LCA3NywgMTI4LCA4MywgNjUsIDc2LCA4NCwgNzMsIDgyLCA2OSwgMTI4LCA4MywgNjUsIDc2LCA4NCwgCisgICAgNzMsIDc2LCA3NiwgNzksIDEyOCwgODMsIDY1LCA3NiwgODQsIDQ1LCA1MCwgMTI4LCA4MywgNjUsIDc2LCA4NCwgMTI4LCAKKyAgICA4MywgNjUsIDc2LCAyMTIsIDgzLCA2NSwgNzYsIDc2LCA2NSwgNzYsIDc2LCA2NSwgNzIsIDc5LCAyMTMsIDgzLCA2NSwgNzYsIAorICAgIDc2LCAxOTMsIDgzLCA2NSwgNzYsIDY1LCAyMDUsIDgzLCA2NSwgNzYsIDY1LCAxMjgsIDgzLCA2NSwgNzYsIDQ1LCA2NSwgCisgICAgNzcsIDc3LCA3OSwgNzgsIDczLCA2NSwgNjcsIDEyOCwgODMsIDY1LCA3NiwgMTI4LCA4MywgNjUsIDc1LCA3OSwgODQsIAorICAgIDEyOCwgODMsIDY1LCA3NSwgNjksIDg1LCA2NSwgNjksIDEyOCwgODMsIDY1LCA3NSwgMTk3LCA4MywgNjUsIDc0LCA2OCwgCisgICAgNjUsIDcyLCAxMjgsIDgzLCA2NSwgNzMsIDc2LCA2NiwgNzksIDY1LCA4NCwgMTI4LCA4MywgNjUsIDczLCA3NiwgMTI4LCAKKyAgICA4MywgNjUsIDczLCA3NSwgODUsIDgyLCA4NSwgMTI4LCA4MywgNjUsIDcyLCAxMjgsIDgzLCA2NSwgNzEsIDczLCA4NCwgODQsIAorICAgIDY1LCA4MiwgNzMsIDg1LCA4MywgMTI4LCA4MywgNjUsIDcxLCA2NSwgMTI4LCA4MywgNjUsIDcxLCAxMjgsIDgzLCA2NSwgCisgICAgMTk5LCA4MywgNjUsIDcwLCA3MiwgNjUsIDEyOCwgODMsIDY1LCA3MCwgNjksIDg0LCAyMTcsIDgzLCA2NSwgNjgsIDcyLCAKKyAgICA2OSwgMTI4LCA4MywgNjUsIDY4LCA2OSwgMTI4LCA4MywgNjUsIDY4LCAxMjgsIDgzLCA2NSwgMTk2LCA4MywgNjUsIDY3LCAKKyAgICA4MiwgNzMsIDcwLCA3MywgNjcsIDczLCA2NSwgMjA0LCA4MywgNjUsIDY1LCA3MywgMTI4LCA4MywgNjUsIDY1LCA2OCwgNzIsIAorICAgIDg1LCAxMjgsIDgzLCA2NSwgNDUsIDczLCAxMjgsIDgzLCA2NSwgNDUsIDUwLCAxMjgsIDgzLCA0OCwgNTIsIDU0LCAxMjgsIAorICAgIDgzLCA0OCwgNTIsIDUzLCAxMjgsIDgzLCA0OCwgNTIsIDUyLCAxMjgsIDgzLCA0OCwgNTIsIDUxLCAxMjgsIDgzLCA0OCwgCisgICAgNTIsIDUwLCAxMjgsIDgzLCA0OCwgNTIsIDQ5LCAxMjgsIDgzLCA0OCwgNTIsIDQ4LCAxMjgsIDgzLCA0OCwgNTEsIDU3LCAKKyAgICAxMjgsIDgzLCA0OCwgNTEsIDU2LCAxMjgsIDgzLCA0OCwgNTEsIDU1LCAxMjgsIDgzLCA0OCwgNTEsIDU0LCAxMjgsIDgzLCAKKyAgICA0OCwgNTEsIDUzLCA2NSwgMTI4LCA4MywgNDgsIDUxLCA1MywgMTI4LCA4MywgNDgsIDUxLCA1MiwgMTI4LCA4MywgNDgsIAorICAgIDUxLCA1MSwgMTI4LCA4MywgNDgsIDUxLCA1MCwgMTI4LCA4MywgNDgsIDUxLCA0OSwgMTI4LCA4MywgNDgsIDUxLCA0OCwgCisgICAgMTI4LCA4MywgNDgsIDUwLCA1NywgMTI4LCA4MywgNDgsIDUwLCA1NiwgMTI4LCA4MywgNDgsIDUwLCA1NSwgMTI4LCA4MywgCisgICAgNDgsIDUwLCA1NCwgNjYsIDEyOCwgODMsIDQ4LCA1MCwgNTQsIDY1LCAxMjgsIDgzLCA0OCwgNTAsIDU0LCAxMjgsIDgzLCAKKyAgICA0OCwgNTAsIDUzLCAxMjgsIDgzLCA0OCwgNTAsIDUyLCAxMjgsIDgzLCA0OCwgNTAsIDUxLCAxMjgsIDgzLCA0OCwgNTAsIAorICAgIDUwLCAxMjgsIDgzLCA0OCwgNTAsIDQ5LCAxMjgsIDgzLCA0OCwgNTAsIDQ4LCAxMjgsIDgzLCA0OCwgNDksIDU3LCAxMjgsIAorICAgIDgzLCA0OCwgNDksIDU2LCAxMjgsIDgzLCA0OCwgNDksIDU1LCA2NSwgMTI4LCA4MywgNDgsIDQ5LCA1NSwgMTI4LCA4MywgCisgICAgNDgsIDQ5LCA1NCwgMTI4LCA4MywgNDgsIDQ5LCA1MywgMTI4LCA4MywgNDgsIDQ5LCA1MiwgNjYsIDEyOCwgODMsIDQ4LCAKKyAgICA0OSwgNTIsIDY1LCAxMjgsIDgzLCA0OCwgNDksIDUyLCAxMjgsIDgzLCA0OCwgNDksIDUxLCAxMjgsIDgzLCA0OCwgNDksIAorICAgIDUwLCAxMjgsIDgzLCA0OCwgNDksIDQ5LCAxMjgsIDgzLCA0OCwgNDksIDQ4LCAxMjgsIDgzLCA0OCwgNDgsIDU3LCAxMjgsIAorICAgIDgzLCA0OCwgNDgsIDU2LCAxMjgsIDgzLCA0OCwgNDgsIDU1LCAxMjgsIDgzLCA0OCwgNDgsIDU0LCA2NSwgMTI4LCA4MywgCisgICAgNDgsIDQ4LCA1NCwgMTI4LCA4MywgNDgsIDQ4LCA1MywgMTI4LCA4MywgNDgsIDQ4LCA1MiwgMTI4LCA4MywgNDgsIDQ4LCAKKyAgICA1MSwgMTI4LCA4MywgNDgsIDQ4LCA1MCwgNjUsIDEyOCwgODMsIDQ4LCA0OCwgNTAsIDEyOCwgODMsIDQ4LCA0OCwgNDksIAorICAgIDEyOCwgODMsIDQ1LCA4NywgMTI4LCA4MywgNDUsIDgzLCA3MiwgNjUsIDgwLCA2OSwgMTk2LCA4MiwgODksIDg5LCAxMjgsIAorICAgIDgyLCA4OSwgODgsIDEyOCwgODIsIDg5LCA4NCwgMTI4LCA4MiwgODksIDgyLCA4OCwgMTI4LCA4MiwgODksIDgyLCAxMjgsIAorICAgIDgyLCA4OSwgODAsIDEyOCwgODIsIDg3LCA3OSwgNzksIDEyOCwgODIsIDg3LCA3OSwgMTI4LCA4MiwgODcsIDczLCA3MywgCisgICAgMTI4LCA4MiwgODcsIDczLCAxMjgsIDgyLCA4NywgNjksIDY5LCAxMjgsIDgyLCA4NywgNjksIDEyOCwgODIsIDg3LCA2NSwgCisgICAgNzIsIDY1LCAxMjgsIDgyLCA4NywgNjUsIDY1LCAxMjgsIDgyLCA4NywgNjUsIDEyOCwgODIsIDg1LCA4OCwgMTI4LCA4MiwgCisgICAgODUsIDg1LCA2NiwgODUsIDgyLCA4NSwgMTI4LCA4MiwgODUsIDg1LCAxMjgsIDgyLCA4NSwgODQsIDEyOCwgODIsIDg1LCAKKyAgICA4MywgNzMsIDEyOCwgODIsIDg1LCA4MiwgODgsIDEyOCwgODIsIDg1LCA4MiwgMTI4LCA4MiwgODUsIDgwLCA3MywgNzMsIAorICAgIDEyOCwgODIsIDg1LCA4MCwgNjksIDE5NywgODIsIDg1LCA4MCwgMTI4LCA4MiwgODUsIDc5LCA4OCwgMTI4LCA4MiwgODUsIAorICAgIDc5LCA4MCwgMTI4LCA4MiwgODUsIDc5LCAxMjgsIDgyLCA4NSwgNzgsIDc5LCA4NSwgODQsIDEyOCwgODIsIDg1LCA3OCwgCisgICAgNzgsIDczLCA3OCwgMTk5LCA4MiwgODUsIDc4LCA3OCwgNjksIDgyLCAxMjgsIDgyLCA4NSwgNzgsIDEyOCwgODIsIDg1LCAKKyAgICA3NywgMjAxLCA4MiwgODUsIDc3LCA2NSwgMjAxLCA4MiwgODUsIDc3LCAxMjgsIDgyLCA4NSwgMjA1LCA4MiwgODUsIDc2LCAKKyAgICA2OSwgODIsIDEyOCwgODIsIDg1LCA3NiwgNjksIDQ1LCA2OCwgNjksIDc2LCA2NSwgODksIDY5LCA2OCwgMTI4LCA4MiwgODUsIAorICAgIDc2LCA2OSwgMTI4LCA4MiwgODUsIDc1LCA3NSwgNjUsIDc1LCA3MiwgNjUsIDEyOCwgODIsIDg1LCA3MywgODMsIDEyOCwgCisgICAgODIsIDg1LCA3MSwgNjYsIDIxNywgODIsIDg1LCA2NiwgNzYsIDE5NywgODIsIDg1LCAxOTQsIDgyLCA4NSwgNjUsIDEyOCwgCisgICAgODIsIDg0LCA3MiwgNjUsIDc4LCAxOTksIDgyLCA4NCwgNjUsIDcxLCA4MywgMTI4LCA4MiwgODQsIDY1LCA3MSwgMjExLCAKKyAgICA4MiwgODIsIDg5LCA4OCwgMTI4LCA4MiwgODIsIDg5LCA4NCwgMTI4LCA4MiwgODIsIDg5LCA4MiwgODgsIDEyOCwgODIsIAorICAgIDgyLCA4OSwgODIsIDEyOCwgODIsIDgyLCA4OSwgODAsIDEyOCwgODIsIDgyLCA4NSwgODgsIDEyOCwgODIsIDgyLCA4NSwgCisgICAgODUsIDEyOCwgODIsIDgyLCA4NSwgODQsIDEyOCwgODIsIDgyLCA4NSwgODIsIDg4LCAxMjgsIDgyLCA4MiwgODUsIDgyLCAKKyAgICAxMjgsIDgyLCA4MiwgODUsIDgwLCAxMjgsIDgyLCA4MiwgODUsIDc5LCA4OCwgMTI4LCA4MiwgODIsIDg1LCA3OSwgMTI4LCAKKyAgICA4MiwgODIsIDg1LCAxMjgsIDgyLCA4MiwgNzksIDg4LCAxMjgsIDgyLCA4MiwgNzksIDg0LCAxMjgsIDgyLCA4MiwgNzksIAorICAgIDgwLCAxMjgsIDgyLCA4MiwgNzksIDc5LCAxMjgsIDgyLCA4MiwgNzksIDEyOCwgODIsIDgyLCA3MywgNzMsIDEyOCwgODIsIAorICAgIDgyLCA3MywgMTI4LCA4MiwgODIsIDY5LCA4OCwgMTI4LCA4MiwgODIsIDY5LCA4NCwgMTI4LCA4MiwgODIsIDY5LCA4MCwgCisgICAgMTI4LCA4MiwgODIsIDY5LCA3MiwgMTI4LCA4MiwgODIsIDY5LCAyMDAsIDgyLCA4MiwgNjksIDY5LCAxMjgsIDgyLCA4MiwgCisgICAgNjksIDEyOCwgODIsIDgyLCA2NSwgODgsIDEyOCwgODIsIDgyLCA2NSwgODUsIDEyOCwgODIsIDgyLCA2NSwgNzMsIDEyOCwgCisgICAgODIsIDgyLCA2NSwgNjUsIDEyOCwgODIsIDgyLCA2NSwgMTI4LCA4MiwgNzksIDg3LCA2NiwgNzksIDY1LCA4NCwgMTI4LCAKKyAgICA4MiwgNzksIDg1LCA3OCwgNjgsIDY5LCAxOTYsIDgyLCA3OSwgODUsIDc4LCA2OCwgNDUsIDg0LCA3MywgODAsIDgwLCA2OSwgCisgICAgMTk2LCA4MiwgNzksIDg0LCA4NSwgNzgsIDY4LCA2NSwgMTI4LCA4MiwgNzksIDg0LCA2NSwgODQsIDY5LCAxOTYsIDgyLCAKKyAgICA3OSwgODMsIDcyLCAxMjgsIDgyLCA3OSwgODMsIDY5LCA4NCwgODQsIDY5LCAxMjgsIDgyLCA3OSwgODMsIDY5LCAxMjgsIAorICAgIDgyLCA3OSwgNzksIDg0LCAxMjgsIDgyLCA3OSwgNzksIDgzLCA4NCwgNjksIDgyLCAxMjgsIDgyLCA3OSwgNzksIDc1LCAKKyAgICAxMjgsIDgyLCA3OSwgNzksIDcwLCAxMjgsIDgyLCA3OSwgNzcsIDY1LCA3OCwgNzMsIDY1LCAyMDYsIDgyLCA3OSwgNzcsIAorICAgIDY1LCAyMDYsIDgyLCA3OSwgNzcsIDEyOCwgODIsIDc5LCA3NiwgNzYsIDY5LCAyMTAsIDgyLCA3OSwgNzYsIDc2LCA2OSwgCisgICAgNjgsIDQ1LCA4NSwgMjA4LCA4MiwgNzksIDcyLCA3MywgNzgsIDcxLCA4OSwgMTkzLCA4MiwgNzksIDcxLCAxMjgsIDgyLCAKKyAgICA3OSwgMTk2LCA4MiwgNzksIDY3LCA3NSwgNjksIDg0LCAxMjgsIDgyLCA3OSwgNjcsIDIwMywgODIsIDc5LCA2NywgMTI4LCAKKyAgICA4MiwgNzksIDY2LCA2NSwgODQsIDEyOCwgODIsIDc5LCA2NSwgODMsIDg0LCA2OSwgMTk2LCA4MiwgNzksIDY1LCA4MiwgCisgICAgMTI4LCA4MiwgNzksIDY1LCAxMjgsIDgyLCA3OCwgODksIDczLCA3OCwgMTk5LCA4MiwgNzgsIDc5LCA3OSwgNzgsIDEyOCwgCisgICAgODIsIDc4LCA3OSwgNzksIDIwNiwgODIsIDc4LCA2NSwgMjA1LCA4MiwgNzcsIDg0LCAxMjgsIDgyLCA3NiwgNzksIDEyOCwgCisgICAgODIsIDc2LCA3NywgMTI4LCA4MiwgNzYsIDczLCAxMjgsIDgyLCA3NiwgNjksIDEyOCwgODIsIDc0LCA2OSwgMjExLCA4MiwgCisgICAgNzQsIDY5LCAxMjgsIDgyLCA3NCwgMTk3LCA4MiwgNzMsIDg2LCA2OSwgODIsIDEyOCwgODIsIDczLCA4NCwgODUsIDY1LCAKKyAgICA3NiwgMTI4LCA4MiwgNzMsIDg0LCA4NCwgNzksIDgyLCA4NSwgMTI4LCA4MiwgNzMsIDg0LCA4MywgNzMsIDEyOCwgODIsIAorICAgIDczLCA4MywgNzMsIDc4LCAxOTksIDgyLCA3MywgODMsIDcyLCAxMjgsIDgyLCA3MywgODIsIDY1LCAxMjgsIDgyLCA3MywgCisgICAgODAsIDEyOCwgODIsIDczLCA3OCwgNzEsIDIxMSwgODIsIDczLCA3OCwgNzEsIDczLCA3OCwgMTk5LCA4MiwgNzMsIDc4LCAKKyAgICA3MCwgNzksIDgyLCA5MCwgNjUsIDc4LCA2OCwgNzksIDEyOCwgODIsIDczLCAyMDYsIDgyLCA3MywgNzcsIDcxLCA2NiwgNjUsIAogICAgIDEyOCwgODIsIDczLCA3NSwgODIsIDczLCA3NSwgMTI4LCA4MiwgNzMsIDcxLCA4NiwgNjksIDY4LCA3MywgMTk1LCA4MiwgCiAgICAgNzMsIDcxLCA3MiwgODQsIDg3LCA2NSwgODIsIDY4LCA4MywgMTI4LCA4MiwgNzMsIDcxLCA3MiwgODQsIDcyLCA2NSwgNzgsIAogICAgIDE5NiwgODIsIDczLCA3MSwgNzIsIDg0LCA0NSwgODQsIDc5LCA0NSwgNzYsIDY5LCA3MCwgMjEyLCA4MiwgNzMsIDcxLCA3MiwgCiAgICAgODQsIDQ1LCA4MywgNzMsIDY4LCAxOTcsIDgyLCA3MywgNzEsIDcyLCA4NCwgNDUsIDgzLCA3MiwgNjUsIDY4LCA3OSwgODcsIAogICAgIDY5LCAxOTYsIDgyLCA3MywgNzEsIDcyLCA4NCwgNDUsIDgzLCA3MiwgNjUsIDY4LCA2OSwgMTk2LCA4MiwgNzMsIDcxLCA3MiwgCi0gICAgODQsIDQ1LCA4MCwgNzksIDczLCA3OCwgODQsIDczLCA3OCwgMTk5LCA4MiwgNzMsIDcxLCA3MiwgODQsIDQ1LCA3MiwgNjUsIAotICAgIDc4LCA2OCwgNjksIDE5NiwgODIsIDczLCA3MSwgNzIsIDg0LCA0NSwgNzIsIDY1LCA3OCwgMTk2LCA4MiwgNzMsIDcxLCA3MiwgCi0gICAgODQsIDQ1LCA3MCwgNjUsIDY3LCA3MywgNzgsIDE5OSwgODIsIDczLCA3MSwgNzIsIDg0LCAxMjgsIDgyLCA3MywgNjksIDg1LCAKLSAgICA3NiwgNDUsIDg5LCA2OSwgODMsIDczLCA2OSwgODUsIDc4LCA3MSwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA4OSwgCi0gICAgNjksIDc5LCA4MiwgNzMsIDc4LCA3MiwgNzMsIDY5LCA4NSwgNzIsIDQ1LCA3MiwgNzMsIDY5LCA4NSwgNzIsIDEyOCwgODIsIAotICAgIDczLCA2OSwgODUsIDc2LCA0NSwgODksIDY5LCA3OSwgODIsIDczLCA3OCwgNzIsIDczLCA2OSwgODUsIDcyLCAxMjgsIDgyLCAKLSAgICA3MywgNjksIDg1LCA3NiwgNDUsIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIDQ1LCA3MiwgNzMsIDY5LCA4NSwgNzIsIDEyOCwgCi0gICAgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgODQsIDczLCA3NSwgNjksIDg1LCA4NCwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIAotICAgIDQ1LCA4NCwgNzIsIDczLCA2OSwgODUsIDg0LCA3MiwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA4MywgODMsIDY1LCAKLSAgICA3OCwgNzEsIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgODMsIDgzLCA2NSwgCi0gICAgNzgsIDcxLCA4MywgNzMsIDc5LCA4MywgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA4MywgODMsIDY1LCA3OCwgNzEsIAotICAgIDgwLCA3MywgNjksIDg1LCA4MCwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA4MywgODMsIDY1LCA3OCwgNzEsIDc1LCAKLSAgICA3MywgODksIDY5LCA3OSwgNzUsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgODMsIDczLCA3OSwgODMsIDEyOCwgODIsIAotICAgIDczLCA2OSwgODUsIDc2LCA0NSwgODAsIDczLCA2OSwgODUsIDgwLCA0NSwgODQsIDczLCA3NSwgNjksIDg1LCA4NCwgMTI4LCAKLSAgICA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCA4MywgNzMsIDc5LCA4MywgMTI4LCA4MiwgCi0gICAgNzMsIDY5LCA4NSwgNzYsIDQ1LCA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCA4MCwgNzIsIDczLCA2OSwgODUsIDgwLCA3MiwgCi0gICAgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCA3MiwgNzMsIDY5LCA4NSwgNzIsIAotICAgIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgODAsIDczLCA2OSwgODUsIDgwLCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgCi0gICAgNDUsIDgwLCA3MiwgNzMsIDY5LCA4NSwgODAsIDcyLCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDgwLCA2NSwgNzgsIAotICAgIDgzLCA3MywgNzksIDgzLCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDc4LCA3MywgNjksIDg1LCA3OCwgMTI4LCA4MiwgCi0gICAgNzMsIDY5LCA4NSwgNzYsIDQ1LCA3NywgNzMsIDY5LCA4NSwgNzcsIDQ1LCA4MywgNzMsIDc5LCA4MywgMTI4LCA4MiwgNzMsIAotICAgIDY5LCA4NSwgNzYsIDQ1LCA3NywgNzMsIDY5LCA4NSwgNzcsIDQ1LCA3NSwgNzMsIDg5LCA2OSwgNzksIDc1LCAxMjgsIDgyLCAKLSAgICA3MywgNjksIDg1LCA3NiwgNDUsIDc3LCA3MywgNjksIDg1LCA3NywgNDUsIDcyLCA3MywgNjksIDg1LCA3MiwgMTI4LCA4MiwgCi0gICAgNzMsIDY5LCA4NSwgNzYsIDQ1LCA3NywgNzMsIDY5LCA4NSwgNzcsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgNzUsIAotICAgIDczLCA4OSwgNjksIDc5LCA3NSwgNDUsIDgzLCA3MywgNzksIDgzLCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDc1LCAKLSAgICA3MywgODksIDY5LCA3OSwgNzUsIDQ1LCA3MiwgNzMsIDY5LCA4NSwgNzIsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgCi0gICAgNzUsIDczLCA4OSwgNjksIDc5LCA3NSwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA3NSwgNjUsIDgwLCA4OSwgNjksIAotICAgIDc5LCA4NSwgNzgsIDgwLCA3MywgNjksIDg1LCA4MCwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA3MiwgNzMsIDY5LCAKLSAgICA4NSwgNzIsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgNjcsIDczLCA2OSwgODUsIDY3LCAxMjgsIDgyLCA3MywgNjksIAotICAgIDg1LCAyMDQsIDgyLCA3MywgNjksIDc2LCAxMjgsIDgyLCA3MywgNjksIDY5LCAxMjgsIDgyLCA3MywgNjcsIDY5LCA3NywgCi0gICAgMTI4LCA4MiwgNzMsIDY3LCA2OSwgMTI4LCA4MiwgNzMsIDY3LCAxOTcsIDgyLCA3MywgNjYsIDY2LCA3OSwgNzgsIDEyOCwgCi0gICAgODIsIDczLCA2NSwgMjA0LCA4MiwgNzIsIDc5LCA4NCwgNzMsIDE5NSwgODIsIDcyLCA3OSwgMTI4LCA4MiwgNzIsIDIwNywgCi0gICAgODIsIDcyLCA2NSwgMTI4LCA4MiwgNzEsIDg5LCA3MywgNzgsIDcxLCA4MywgMTI4LCA4MiwgNzEsIDg5LCA2NSwgNzgsIAotICAgIDEyOCwgODIsIDcxLCA4OSwgMTkzLCA4MiwgNjksIDg2LCA3OSwgNzYsIDg2LCA3MywgNzgsIDE5OSwgODIsIDY5LCA4NiwgCi0gICAgNzksIDc2LCA4NSwgODQsIDczLCA3OSwgNzgsIDEyOCwgODIsIDY5LCA4NiwgNzcsIDY1LCAxMjgsIDgyLCA2OSwgODYsIDczLCAKLSAgICA2NSwgMTI4LCA4MiwgNjksIDg2LCA2OSwgODIsIDgzLCA2OSwgNjgsIDEyOCwgODIsIDY5LCA4NiwgNjksIDgyLCA4MywgNjksIAotICAgIDE5NiwgODIsIDY5LCA4NiwgNjksIDgyLCA4MywgMTk3LCA4MiwgNjksIDg1LCA4OCwgMTI4LCA4MiwgNjksIDg1LCAxMjgsIAotICAgIDgyLCA2OSwgODQsIDg1LCA4MiwgNzgsIDEyOCwgODIsIDY5LCA4NCwgODUsIDgyLCAyMDYsIDgyLCA2OSwgODQsIDgyLCA3OSwgCi0gICAgNzAsIDc2LCA2OSwgMjE2LCA4MiwgNjksIDg0LCA4MiwgNjksIDY1LCA4NCwgMTI4LCA4MiwgNjksIDg0LCA3OSwgODIsIDg0LCAKLSAgICAxMjgsIDgyLCA2OSwgODMsIDg1LCA4MCwgNzMsIDc4LCA4NSwgODMsIDEyOCwgODIsIDY5LCA4MywgODQsIDgyLCA3OSwgNzksIAotICAgIDc3LCAxMjgsIDgyLCA2OSwgODMsIDg0LCA4MiwgNzMsIDY3LCA4NCwgNjksIDE5NiwgODIsIDY5LCA4MywgODQsIDEyOCwgCi0gICAgODIsIDY5LCA4MywgODAsIDc5LCA3OCwgODMsIDY5LCAxMjgsIDgyLCA2OSwgODMsIDc5LCA4NSwgODIsIDY3LCA2OSwgMTI4LCAKLSAgICA4MiwgNjksIDgzLCA3OSwgNzYsIDg1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA4MiwgNjksIDgzLCA3MywgODMsIDg0LCA2NSwgCi0gICAgNzgsIDY3LCA2OSwgMTI4LCA4MiwgNjksIDgzLCA3MywgNjgsIDY5LCA3OCwgNjcsIDY5LCAxMjgsIDgyLCA2OSwgODMsIAotICAgIDIwMCwgODIsIDY5LCA4MiwgNjksIDc4LCA3MSwgNzEsIDY1LCA3OCwgMTI4LCA4MiwgNjksIDgyLCA2OSwgNzUsIDY1LCA3OCwgCi0gICAgMTI4LCA4MiwgNjksIDgwLCA4MiwgNjksIDgzLCA2OSwgNzgsIDg0LCAxMjgsIDgyLCA2OSwgODAsIDc2LCA2NSwgNjcsIDY5LCAKLSAgICA3NywgNjksIDc4LCAyMTIsIDgyLCA2OSwgODAsIDcyLCAxMjgsIDgyLCA2OSwgODAsIDY5LCA4NCwgNzMsIDg0LCA3MywgNzksIAotICAgIDIwNiwgODIsIDY5LCA4MCwgNjksIDY1LCA4NCwgNjksIDE5NiwgODIsIDY5LCA4MCwgNjksIDY1LCA4NCwgMTI4LCA4MiwgCi0gICAgNjksIDgwLCA2OSwgNjUsIDIxMiwgODIsIDY5LCA4MCwgNjUsIDg5LCA2NSwgMTI4LCA4MiwgNjksIDgwLCA2NSwgMTI4LCAKLSAgICA4MiwgNjksIDgwLCAxOTMsIDgyLCA2OSwgNzgsIDg0LCA3OSwgNzEsIDY5LCA3OCwgMTI4LCA4MiwgNjksIDc4LCAxMjgsIAotICAgIDgyLCA2OSwgMjA2LCA4MiwgNjksIDc3LCA4NSwgMTI4LCA4MiwgNjksIDc3LCA2OSwgNjgsIDg5LCAxMjgsIDgyLCA2OSwgCi0gICAgNzYsIDczLCA3MSwgNzMsIDc5LCA3OCwgMTI4LCA4MiwgNjksIDc2LCA3MywgNjksIDg2LCA2OSwgMTk2LCA4MiwgNjksIDc2LCAKLSAgICA2OSwgNjUsIDgzLCA2OSwgMTI4LCA4MiwgNjksIDc2LCA2NSwgODQsIDczLCA3OSwgNzgsIDY1LCAyMDQsIDgyLCA2OSwgNzYsIAotICAgIDY1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA4MiwgNjksIDc2LCA2NSwgNjUsIDEyOCwgODIsIDY5LCA3NCwgNjUsIDc4LCAKLSAgICAxOTksIDgyLCA2OSwgNzMsIDE5NiwgODIsIDY5LCA3MSwgODUsIDc2LCA4NSwgODMsIDQ1LCA1MiwgMTI4LCA4MiwgNjksIAotICAgIDcxLCA4NSwgNzYsIDg1LCA4MywgNDUsIDUxLCAxMjgsIDgyLCA2OSwgNzEsIDg1LCA3NiwgODUsIDgzLCA0NSwgNTAsIDEyOCwgCi0gICAgODIsIDY5LCA3MSwgODUsIDc2LCA4NSwgODMsIDEyOCwgODIsIDY5LCA3MSwgODUsIDc2LCA4NSwgMjExLCA4MiwgNjksIDcxLCAKLSAgICA3MywgODMsIDg0LCA2OSwgODIsIDY5LCAxOTYsIDgyLCA2OSwgNzEsIDczLCA3OSwgNzgsIDY1LCAyMDQsIDgyLCA2OSwgNzEsIAotICAgIDczLCA2NSwgNDUsIDUwLCAxMjgsIDgyLCA2OSwgNzEsIDczLCA2NSwgMTI4LCA4MiwgNjksIDcwLCA3OSwgODIsIDc3LCA2OSwgCi0gICAgMTk2LCA4MiwgNjksIDcwLCA2OSwgODIsIDY5LCA3OCwgNjcsIDE5NywgODIsIDY5LCA2OCwgODUsIDgwLCA3NiwgNzMsIDY3LCAKLSAgICA2NSwgODQsIDczLCA3OSwgNzgsIDEyOCwgODIsIDY5LCA2NywgODksIDY3LCA3NiwgNzMsIDc4LCAxOTksIDgyLCA2OSwgNjcsIAotICAgIDg5LCA2NywgNzYsIDY5LCAxOTYsIDgyLCA2OSwgNjcsIDg0LCA3MywgNzYsIDczLCA3OCwgNjksIDY1LCAyMTAsIDgyLCA2OSwgCi0gICAgNjcsIDg0LCA2NSwgNzgsIDcxLCA4NSwgNzYsIDY1LCAyMTAsIDgyLCA2OSwgNjcsIDg0LCA2NSwgNzgsIDcxLCA3NiwgNjksIAotICAgIDEyOCwgODIsIDY5LCA2NywgODQsIDY1LCA3OCwgNzEsIDc2LCAxOTcsIDgyLCA2OSwgNjcsIDgyLCA2OSwgNjUsIDg0LCA3MywgCi0gICAgNzksIDc4LCA2NSwgMjA0LCA4MiwgNjksIDY3LCA3OSwgODIsIDY4LCA3MywgNzgsIDE5OSwgODIsIDY5LCA2NywgNzksIDgyLCAKLSAgICA2OCwgNjksIDgyLCAxMjgsIDgyLCA2OSwgNjcsIDc5LCA4MiwgMTk2LCA4MiwgNjksIDY3LCA2OSwgODAsIDg0LCA3MywgODYsIAotICAgIDE5NywgODIsIDY5LCA2NywgNjksIDczLCA4NiwgNjksIDgyLCAxMjgsIDgyLCA2OSwgNjUsIDc2LCA3MSwgNjUsIDgyLCA0NSwgCi0gICAgNTAsIDEyOCwgODIsIDY5LCA2NSwgNzYsIDcxLCA2NSwgODIsIDEyOCwgODIsIDY5LCA2NSwgNzIsIDc3LCA4NSwgNzUsIAotICAgIDEyOCwgODIsIDY5LCA2NSwgNjcsIDcyLCAxMjgsIDgyLCA2OCwgMjA3LCA4MiwgNjgsIDY5LCAyMDQsIDgyLCA2NiwgNjUsIAotICAgIDgzLCAxOTMsIDgyLCA2NSwgODksIDgzLCAxMjgsIDgyLCA2NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDgyLCA2NSwgCi0gICAgODQsIDczLCA3OSwgMTI4LCA4MiwgNjUsIDg0LCA3MiwgNjUsIDEyOCwgODIsIDY1LCA4NCwgNzIsIDE5MywgODIsIDY1LCAKLSAgICA4NCwgNjUsIDEyOCwgODIsIDY1LCA4NCwgMTI4LCA4MiwgNjUsIDgzLCA4NywgNjUsIDY4LCA3MywgMTI4LCA4MiwgNjUsIAotICAgIDgzLCA3OSwgODUsIDIwNCwgODIsIDY1LCA4MywgNzIsIDY1LCAxMjgsIDgyLCA2NSwgODEsIDEyOCwgODIsIDY1LCA4MCwgCi0gICAgNzMsIDgzLCA3NywgNjUsIDEyOCwgODIsIDY1LCA3OCwgNzEsIDE5NywgODIsIDY1LCA3OCwgNjUsIDEyOCwgODIsIDY1LCAKLSAgICA3OCwgMTI4LCA4MiwgNjUsIDc3LCAyMTEsIDgyLCA2NSwgNzcsIDY2LCA2NSwgODQsIDEyOCwgODIsIDY1LCA3NSwgNzIsIAotICAgIDY1LCA3OCwgNzEsIDEyOCwgODIsIDY1LCA3NSwgNjUsIDY1LCA4MiwgNjUsIDY1LCA3OCwgODMsIDY1LCA4OSwgNjUsIDEyOCwgCi0gICAgODIsIDY1LCA3MywgODMsIDczLCA3OCwgMTk5LCA4MiwgNjUsIDczLCA4MywgNjksIDE5NiwgODIsIDY1LCA3MywgNzgsIDY2LCAKLSAgICA3OSwgODcsIDEyOCwgODIsIDY1LCA3MywgNzYsIDg3LCA2NSwgODksIDEyOCwgODIsIDY1LCA3MywgNzYsIDg3LCA2NSwgCi0gICAgMjE3LCA4MiwgNjUsIDczLCA3NiwgMTI4LCA4MiwgNjUsIDczLCA2OCwgMjA3LCA4MiwgNjUsIDczLCA2OCwgNjUsIDEyOCwgCi0gICAgODIsIDY1LCA3MiwgNzcsIDY1LCA4NCwgODUsIDc2LCA3NiwgNjUsIDIwMCwgODIsIDY1LCA3MiwgMTI4LCA4MiwgNjUsIDcwLCAKLSAgICA2OSwgMTI4LCA4MiwgNjUsIDY5LCA3NywgMTI4LCA4MiwgNjUsIDY4LCA3MywgNzksIDY1LCA2NywgODQsIDczLCA4NiwgCi0gICAgMTk3LCA4MiwgNjUsIDY4LCA3MywgNzksIDEyOCwgODIsIDY1LCA2OCwgNzMsIDIwNywgODIsIDY1LCA2OCwgMjAxLCA4MiwgCi0gICAgNjUsIDY4LCAxMjgsIDgyLCA2NSwgMTk2LCA4MiwgNjUsIDY3LCA4MSwgODUsIDY5LCAyMTIsIDgyLCA2NSwgNjcsIDczLCAKLSAgICA3OCwgNzEsIDEyOCwgODIsIDY1LCA2NiwgNjYsIDczLCA4NCwgMTI4LCA4MiwgNjUsIDY2LCA2NiwgNzMsIDIxMiwgODIsIAotICAgIDY1LCA2NiwgMTI4LCA4MiwgNjUsIDY1LCA3MywgMTI4LCA4MiwgNjUsIDUxLCAxMjgsIDgyLCA2NSwgNTAsIDEyOCwgODIsIAotICAgIDY1LCA0NSwgNTAsIDEyOCwgODIsIDQ4LCA1MCwgNTcsIDEyOCwgODIsIDQ4LCA1MCwgNTYsIDEyOCwgODIsIDQ4LCA1MCwgCi0gICAgNTUsIDEyOCwgODIsIDQ4LCA1MCwgNTQsIDEyOCwgODIsIDQ4LCA1MCwgNTMsIDEyOCwgODIsIDQ4LCA1MCwgNTIsIDEyOCwgCi0gICAgODIsIDQ4LCA1MCwgNTEsIDEyOCwgODIsIDQ4LCA1MCwgNTAsIDEyOCwgODIsIDQ4LCA1MCwgNDksIDEyOCwgODIsIDQ4LCAKLSAgICA1MCwgNDgsIDEyOCwgODIsIDQ4LCA0OSwgNTcsIDEyOCwgODIsIDQ4LCA0OSwgNTYsIDEyOCwgODIsIDQ4LCA0OSwgNTUsIAotICAgIDEyOCwgODIsIDQ4LCA0OSwgNTQsIDY1LCAxMjgsIDgyLCA0OCwgNDksIDU0LCAxMjgsIDgyLCA0OCwgNDksIDUzLCAxMjgsIAotICAgIDgyLCA0OCwgNDksIDUyLCAxMjgsIDgyLCA0OCwgNDksIDUxLCAxMjgsIDgyLCA0OCwgNDksIDUwLCAxMjgsIDgyLCA0OCwgCi0gICAgNDksIDQ5LCAxMjgsIDgyLCA0OCwgNDksIDQ4LCA2NSwgMTI4LCA4MiwgNDgsIDQ5LCA0OCwgMTI4LCA4MiwgNDgsIDQ4LCAKLSAgICA1NywgMTI4LCA4MiwgNDgsIDQ4LCA1NiwgMTI4LCA4MiwgNDgsIDQ4LCA1NSwgMTI4LCA4MiwgNDgsIDQ4LCA1NCwgMTI4LCAKLSAgICA4MiwgNDgsIDQ4LCA1MywgMTI4LCA4MiwgNDgsIDQ4LCA1MiwgMTI4LCA4MiwgNDgsIDQ4LCA1MSwgNjYsIDEyOCwgODIsIAotICAgIDQ4LCA0OCwgNTEsIDY1LCAxMjgsIDgyLCA0OCwgNDgsIDUxLCAxMjgsIDgyLCA0OCwgNDgsIDUwLCA2NSwgMTI4LCA4MiwgCi0gICAgNDgsIDQ4LCA1MCwgMTI4LCA4MiwgNDgsIDQ4LCA0OSwgMTI4LCA4MiwgNDUsIDY3LCA4MiwgNjksIDE5NywgODEsIDg5LCAKLSAgICA4OCwgMTI4LCA4MSwgODksIDg1LCAxMjgsIDgxLCA4OSwgODQsIDEyOCwgODEsIDg5LCA4MiwgODgsIDEyOCwgODEsIDg5LCAKLSAgICA4MiwgMTI4LCA4MSwgODksIDgwLCAxMjgsIDgxLCA4OSwgNzksIDEyOCwgODEsIDg5LCA3MywgMTI4LCA4MSwgODksIDY5LCAKLSAgICA2OSwgMTI4LCA4MSwgODksIDY5LCAxMjgsIDgxLCA4OSwgNjUsIDY1LCAxMjgsIDgxLCA4OSwgNjUsIDEyOCwgODEsIDg5LCAKLSAgICAxMjgsIDgxLCA4NywgNzMsIDEyOCwgODEsIDg3LCA2OSwgNjksIDEyOCwgODEsIDg3LCA2OSwgMTI4LCA4MSwgODcsIDY1LCAKLSAgICA2NSwgMTI4LCA4MSwgODcsIDY1LCAxMjgsIDgxLCA4NSwgODgsIDEyOCwgODEsIDg1LCA4NiwgMTI4LCA4MSwgODUsIDg1LCAKLSAgICA4NiwgMTI4LCA4MSwgODUsIDg1LCAxMjgsIDgxLCA4NSwgODQsIDEyOCwgODEsIDg1LCA4MywgNzIsIDgzLCA3MiwgNjUsIAotICAgIDg5LCA2NSwgMTI4LCA4MSwgODUsIDgyLCA4OCwgMTI4LCA4MSwgODUsIDgyLCAxMjgsIDgxLCA4NSwgODAsIDEyOCwgODEsIAotICAgIDg1LCA3OSwgODgsIDEyOCwgODEsIDg1LCA3OSwgODQsIDE5NywgODEsIDg1LCA3OSwgODQsIDY1LCA4NCwgNzMsIDc5LCAKLSAgICAyMDYsIDgxLCA4NSwgNzksIDg0LCAxMjgsIDgxLCA4NSwgNzksIDgwLCAxMjgsIDgxLCA4NSwgNzksIDEyOCwgODEsIDg1LCAKLSAgICA3NSwgMTI4LCA4MSwgODUsIDczLCA3OCwgODQsIDY5LCA4MywgODMsIDY5LCA3OCwgNjcsIDY5LCAxMjgsIDgxLCA4NSwgNzMsIAotICAgIDc4LCA2OCwgNzMsIDY3LCA2OSwgODMsIDczLCA3NywgMTkzLCA4MSwgODUsIDczLCA3OCwgNjcsIDg1LCA3OCwgODgsIDEyOCwgCi0gICAgODEsIDg1LCA3MywgNzgsIDY1LCA4MiwgNzMsIDg1LCAyMTEsIDgxLCA4NSwgNzMsIDc2LCA3NiwgMTI4LCA4MSwgODUsIDczLCAKLSAgICA2NywgMjAzLCA4MSwgODUsIDczLCAxMjgsIDgxLCA4NSwgNzAsIDEyOCwgODEsIDg1LCA2OSwgODMsIDg0LCA3MywgNzksIAotICAgIDc4LCA2OSwgMTk2LCA4MSwgODUsIDY5LCA4MywgODQsIDczLCA3OSwgNzgsIDEyOCwgODEsIDg1LCA2OSwgODMsIDg0LCA3MywgCi0gICAgNzksIDIwNiwgODEsIDg1LCA2OSwgNjksIDc4LCAxMjgsIDgxLCA4NSwgNjksIDY5LCAyMDYsIDgxLCA4NSwgNjksIDEyOCwgCi0gICAgODEsIDg1LCA2NiwgODUsIDg0LCA4MywgMTI4LCA4MSwgODUsIDY1LCA4NCwgNjksIDgyLCA3OCwgNzMsIDc5LCAyMDYsIDgxLCAKLSAgICA4NSwgNjUsIDgyLCA4NCwgNjksIDgyLCA4MywgMTI4LCA4MSwgODUsIDY1LCA4MiwgODQsIDY5LCA4MiwgMjExLCA4MSwgODUsIAotICAgIDY1LCA4MiwgODQsIDY5LCA4MiwgMTI4LCA4MSwgODUsIDY1LCA4MiwgODQsIDY5LCAyMTAsIDgxLCA4NSwgNjUsIDc4LCA4NCwgCi0gICAgNzMsIDg0LCAyMTcsIDgxLCA4NSwgNjUsIDY4LCA4MiwgODUsIDgwLCA3NiwgMTk3LCA4MSwgODUsIDY1LCA2OCwgODIsIDY1LCAKLSAgICA3OCwgODQsIDEyOCwgODEsIDg1LCA2NSwgNjgsIDgyLCA2NSwgNzgsIDIxMiwgODEsIDg1LCA2NSwgNjgsIDEyOCwgODEsIAotICAgIDg1LCA2NSwgMTk2LCA4MSwgODUsIDY1LCAxMjgsIDgxLCA4NSwgMTI4LCA4MSwgMjA4LCA4MSwgNzksIDg4LCAxMjgsIDgxLCAKLSAgICA3OSwgODQsIDEyOCwgODEsIDc5LCA4MCwgNzIsIDEyOCwgODEsIDc5LCA4MCwgNjUsIDEyOCwgODEsIDc5LCA4MCwgMTI4LCAKLSAgICA4MSwgNzksIDc5LCAxMjgsIDgxLCA3OSwgMjA3LCA4MSwgNzksIDcwLCAxMjgsIDgxLCA3OSwgMTk4LCA4MSwgNzksIDY1LCAKLSAgICAxMjgsIDgxLCA3OSwgMTI4LCA4MSwgNzgsIDEyOCwgODEsIDczLCA4OCwgMTI4LCA4MSwgNzMsIDg0LCA4MywgNjUsIDEyOCwgCi0gICAgODEsIDczLCA4NCwgMTI4LCA4MSwgNzMsIDgwLCAxMjgsIDgxLCA3MywgNzMsIDEyOCwgODEsIDczLCA2OSwgODgsIDEyOCwgCi0gICAgODEsIDczLCA2OSwgODQsIDEyOCwgODEsIDczLCA2OSwgODAsIDEyOCwgODEsIDczLCA2OSwgMTI4LCA4MSwgNzMsIDEyOCwgCi0gICAgODEsIDcyLCA4NywgNzMsIDEyOCwgODEsIDcyLCA4NywgNjksIDY5LCAxMjgsIDgxLCA3MiwgODcsIDY5LCAxMjgsIDgxLCAKLSAgICA3MiwgODcsIDY1LCA2NSwgMTI4LCA4MSwgNzIsIDg3LCA2NSwgMTI4LCA4MSwgNzIsIDg1LCAxMjgsIDgxLCA3MiwgNzksIAotICAgIDEyOCwgODEsIDcyLCA3MywgMTI4LCA4MSwgNzIsIDY5LCA2OSwgMTI4LCA4MSwgNzIsIDY5LCAxMjgsIDgxLCA3MiwgNjUsIAotICAgIDY1LCAxMjgsIDgxLCA3MiwgNjUsIDEyOCwgODEsIDcxLCA2NSwgMTI4LCA4MSwgNjksIDg0LCA2NSwgNzgsIDY1LCAxMjgsIAotICAgIDgxLCA2OSwgNjksIDEyOCwgODEsIDY5LCAxMjgsIDgxLCA2NSwgODUsIDEyOCwgODEsIDY1LCA4NCwgNjUsIDc4LCAxMjgsIAotICAgIDgxLCA2NSwgODIsIDc4LCA2OSwgMjE3LCA4MSwgNjUsIDgyLCAxMjgsIDgxLCA2NSwgODEsIDEyOCwgODEsIDY1LCA4MCwgCi0gICAgNzIsIDEyOCwgODEsIDY1LCA3NywgNjUsIDg0LCA4MywgMTI4LCA4MSwgNjUsIDc3LCA2NSwgODQsIDIxMSwgODEsIDY1LCAKLSAgICA3NiwgMTkzLCA4MSwgNjUsIDczLCA4MiwgODQsIDcyLCA4MiwgNjUsIDEyOCwgODEsIDY1LCA3MywgMTI4LCA4MSwgNjUsIAotICAgIDcwLCAxMjgsIDgxLCA2NSwgMTk4LCA4MSwgNjUsIDY4LCA3NywgNjUsIDEyOCwgODEsIDY1LCA2NSwgNzMsIDEyOCwgODEsIAotICAgIDY1LCA2NSwgNzAsIDg1LCAxMjgsIDgxLCA2NSwgNjUsIDcwLCAxMjgsIDgxLCA0OCwgNDgsIDU1LCAxMjgsIDgxLCA0OCwgCi0gICAgNDgsIDU0LCAxMjgsIDgxLCA0OCwgNDgsIDUzLCAxMjgsIDgxLCA0OCwgNDgsIDUyLCAxMjgsIDgxLCA0OCwgNDgsIDUxLCAKLSAgICAxMjgsIDgxLCA0OCwgNDgsIDUwLCAxMjgsIDgxLCA0OCwgNDgsIDQ5LCAxMjgsIDgwLCA5MCwgMTI4LCA4MCwgODksIDg4LCAKLSAgICAxMjgsIDgwLCA4OSwgODQsIDEyOCwgODAsIDg5LCA4MiwgODgsIDEyOCwgODAsIDg5LCA4MiwgMTI4LCA4MCwgODksIDgwLCAKLSAgICAxMjgsIDgwLCA4OSwgMTI4LCA4MCwgODcsIDc5LCA4OSwgMTI4LCA4MCwgODcsIDc5LCA3OSwgMTI4LCA4MCwgODcsIDc5LCAKLSAgICAxMjgsIDgwLCA4NywgMjA3LCA4MCwgODcsIDczLCA3MywgMTI4LCA4MCwgODcsIDczLCAxMjgsIDgwLCA4NywgNjksIDY5LCAKLSAgICAxMjgsIDgwLCA4NywgNjksIDEyOCwgODAsIDg3LCA2NSwgNjUsIDEyOCwgODAsIDg3LCAxMjgsIDgwLCA4NiwgMTI4LCA4MCwgCi0gICAgODUsIDg4LCAxMjgsIDgwLCA4NSwgODUsIDg0LCAxMjgsIDgwLCA4NSwgODUsIDEyOCwgODAsIDg1LCA4NCwgODIsIDY5LCAKLSAgICA3MCwgNjUsIDY3LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA4MCwgODUsIDg0LCAxMjgsIDgwLCA4NSwgMjEyLCA4MCwgODUsIAotICAgIDgzLCA3MiwgODAsIDczLCA3OCwgMTI4LCA4MCwgODUsIDgzLCA3MiwgODAsIDczLCA3NSwgNjUsIDEyOCwgODAsIDg1LCA4MywgCi0gICAgNzIsIDczLCA3OCwgMTk5LCA4MCwgODUsIDgyLCA4OCwgMTI4LCA4MCwgODUsIDgyLCA4MywgNjksIDEyOCwgODAsIDg1LCAKLSAgICA4MiwgODAsIDc2LCAxOTcsIDgwLCA4NSwgODIsIDc4LCA2NSwgNzcsIDY1LCAxMjgsIDgwLCA4NSwgODIsIDczLCA4NCwgODksIAotICAgIDEyOCwgODAsIDg1LCA4MiwgNzMsIDcwLCA4OSwgMTI4LCA4MCwgODUsIDgyLCAxMjgsIDgwLCA4NSwgODEsIDEyOCwgODAsIAotICAgIDg1LCA4MCwgMTI4LCA4MCwgODUsIDc5LCA4OCwgMTI4LCA4MCwgODUsIDc5LCA4MCwgMTI4LCA4MCwgODUsIDc5LCAxMjgsIAotICAgIDgwLCA4NSwgNzgsIDcxLCA2NSwgNjUsIDc3LCAxMjgsIDgwLCA4NSwgNzgsIDcxLCAxMjgsIDgwLCA4NSwgNzgsIDY3LCA4NCwgCi0gICAgODUsIDY1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA4MCwgODUsIDc4LCA2NywgODQsIDg1LCA2NSwgODQsIDczLCA3OSwgMjA2LCAKLSAgICA4MCwgODUsIDc3LCA4MCwgMTI4LCA4MCwgODUsIDc3LCAxMjgsIDgwLCA4NSwgNjksIDEyOCwgODAsIDg1LCA2NiwgNzYsIAotICAgIDczLCAxOTUsIDgwLCA4NSwgNjUsIDgxLCAxMjgsIDgwLCA4NSwgNjUsIDY5LCAxMjgsIDgwLCA4NSwgNTAsIDEyOCwgODAsIAotICAgIDg1LCA0OSwgMTI4LCA4MCwgODUsIDEyOCwgODAsIDg0LCA3MiwgNjUsIDcyLCAxOTMsIDgwLCA4NCwgNjksIDEyOCwgODAsIAotICAgIDgzLCA3MywgNzYsIDIwMSwgODAsIDgzLCA3MywgNzAsIDczLCA4MywgODQsIDc5LCA4MywgODksIDc4LCA2NSwgNzEsIDc3LCAKLSAgICA2NSwgMTI4LCA4MCwgODMsIDczLCA3MCwgNzMsIDgzLCA4NCwgNzksIDgwLCA2NSwgODIsIDY1LCA3NSwgNjUsIDc2LCA2OSwgCi0gICAgODMsIDc3LCA2NSwgMTI4LCA4MCwgODMsIDczLCA3MCwgNzMsIDgzLCA4NCwgNzksIDIwNiwgODAsIDgzLCA3MywgNzAsIDczLCAKLSAgICA4MywgODQsIDc5LCA3NiwgODksIDcxLCA3MywgODMsIDc3LCA2NSwgMTI4LCA4MCwgODMsIDczLCAxMjgsIDgwLCA4MywgCi0gICAgMTI4LCA4MCwgODIsIDc5LCA4NiwgNjksIDEyOCwgODAsIDgyLCA3OSwgODQsIDc5LCA4NiwgNjUsIDgyLCA4OSwgMjExLCAKLSAgICA4MCwgODIsIDc5LCA4NCwgNzksIDIxMSwgODAsIDgyLCA3OSwgODQsIDY5LCA2NywgODQsIDY5LCAxOTYsIDgwLCA4MiwgNzksIAotICAgIDgzLCA3MSwgNjksIDcxLCA4MiwgNjUsIDc3LCA3NywgNjksIDc4LCA3MywgMTI4LCA4MCwgODIsIDc5LCA4MCwgNzksIDgyLCAKLSAgICA4NCwgNzMsIDc5LCA3OCwgNjUsIDIwNCwgODAsIDgyLCA3OSwgODAsIDc5LCA4MiwgODQsIDczLCA3OSwgNzgsIDEyOCwgODAsIAotICAgIDgyLCA3OSwgODAsIDY5LCA4MiwgODQsIDIxNywgODAsIDgyLCA3OSwgODAsIDY5LCA3NiwgNzYsIDY5LCAyMTAsIDgwLCA4MiwgCi0gICAgNzksIDc5LCA3MCwgMTI4LCA4MCwgODIsIDc5LCA3NiwgNzksIDc4LCA3MSwgNjksIDE5NiwgODAsIDgyLCA3OSwgNzYsIDY1LCAKLSAgICA4NCwgNzMsIDc5LCA3OCwgMTk3LCA4MCwgODIsIDc5LCA3NCwgNjksIDY3LCA4NCwgNzMsIDg2LCA2OSwgMTI4LCA4MCwgODIsIAotICAgIDc5LCA3NCwgNjksIDY3LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA4MCwgODIsIDc5LCA3MSwgODIsIDY5LCA4MywgODMsIDEyOCwgCi0gICAgODAsIDgyLCA3OSwgNzEsIDgyLCA2NSwgMjA1LCA4MCwgODIsIDc5LCA3MCwgNzksIDg1LCA3OCwgNjgsIDEyOCwgODAsIDgyLCAKLSAgICA3OSwgNjgsIDg1LCA2NywgODQsIDEyOCwgODAsIDgyLCA3OSwgNjgsIDg1LCA2NywgMjEyLCA4MCwgODIsIDczLCA4NiwgNjUsIAotICAgIDg0LCA2OSwgMTI4LCA4MCwgODIsIDczLCA4NiwgNjUsIDg0LCAxOTcsIDgwLCA4MiwgNzMsIDg2LCA2NSwgNjcsIDIxNywgCi0gICAgODAsIDgyLCA3MywgODMsIDcyLCA4NCwgNzIsIDY1LCA3NywgNjUsIDg0LCA4MiwgMTkzLCA4MCwgODIsIDczLCA3OCwgODQsIAotICAgIDgzLCAxMjgsIDgwLCA4MiwgNzMsIDc4LCA4NCwgMTI4LCA4MCwgODIsIDczLCA3OCwgMjEyLCA4MCwgODIsIDczLCA3OCwgCi0gICAgNjcsIDY5LCA4MywgODMsIDEyOCwgODAsIDgyLCA3MywgNzcsIDY5LCAxMjgsIDgwLCA4MiwgNzMsIDc3LCAxOTcsIDgwLCAKLSAgICA4MiwgNjksIDg2LCA3MywgNzksIDg1LCAyMTEsIDgwLCA4MiwgNjksIDgzLCA2OSwgODQsIDEyOCwgODAsIDgyLCA2OSwgODMsIAotICAgIDY5LCA3OCwgODQsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDgwLCA4MiwgNjksIDgzLCA2NywgODIsIDczLCA4MCwgODQsIDczLCAKLSAgICA3OSwgMjA2LCA4MCwgODIsIDY5LCA4MCwgNzksIDc4LCA2OCwgNjksIDgyLCA2NSwgNzgsIDY3LCA2OSwgMTI4LCA4MCwgODIsIAotICAgIDY5LCA3OCwgNzUsIDcyLCA2NSwgMTI4LCA4MCwgODIsIDY5LCA3MCwgNjUsIDY3LCAxOTcsIDgwLCA4MiwgNjksIDY3LCA3MywgCi0gICAgODAsIDczLCA4NCwgNjUsIDg0LCA2OSwgMTI4LCA4MCwgODIsIDY5LCA2NywgNjksIDY4LCA3MywgNzgsIDE5OSwgODAsIDgyLCAKLSAgICA2OSwgNjcsIDY5LCA2OCwgNjksIDgzLCAxMjgsIDgwLCA4MiwgNjksIDY3LCA2OSwgNjgsIDY5LCAyMTEsIDgwLCA4MiwgNjksIAotICAgIDY3LCA2OSwgNjgsIDY5LCAxOTYsIDgwLCA4MiwgNjksIDY3LCA2OSwgNjgsIDY5LCAxMjgsIDgwLCA4MiwgNjksIDY3LCA2OSwgCi0gICAgNjgsIDE5NywgODAsIDgyLCA2NSwgNzcsIDQ1LCA4MCwgNzMsIDczLCAxMjgsIDgwLCA4MiwgNjUsIDc3LCA0NSwgODAsIDczLCAKLSAgICAyMDEsIDgwLCA4MiwgNjUsIDc3LCA0NSwgNzcsIDg1LCA3OSwgODksIDEyOCwgODAsIDgyLCA2NSwgNzcsIDQ1LCA3NywgODUsIAotICAgIDc5LCAyMTcsIDgwLCA4MiwgNjUsIDc3LCA0NSwgNjYsIDg1LCA3OSwgNzgsIDEyOCwgODAsIDgyLCA2NSwgNzcsIDQ1LCA2NiwgCi0gICAgODUsIDc5LCAyMDYsIDgwLCA4MiwgNjUsIDc3LCA0NSwgNjYsIDY5LCA3MywgMTI4LCA4MCwgODIsIDY1LCA3NywgNDUsIDY2LCAKLSAgICA2OSwgMjAxLCA4MCwgODIsIDY1LCA3NywgMTI4LCA4MCwgODIsIDY1LCAyMDUsIDgwLCA4MiwgMTI4LCA4MCwgODAsIDg2LCAKLSAgICAxMjgsIDgwLCA4MCwgNzcsIDEyOCwgODAsIDgwLCA2NSwgMTI4LCA4MCwgNzksIDg5LCAxMjgsIDgwLCA3OSwgODgsIDEyOCwgCi0gICAgODAsIDc5LCA4NywgNjksIDgyLCAyMTEsIDgwLCA3OSwgODcsIDY5LCA4MiwgMTI4LCA4MCwgNzksIDg3LCA2OCwgNjksIDgyLCAKLSAgICA2OSwgMTk2LCA4MCwgNzksIDg3LCA2OCwgNjksIDgyLCAxMjgsIDgwLCA3OSwgODUsIDc4LCAxOTYsIDgwLCA3OSwgODUsIAotICAgIDc2LCA4NCwgODIsIDIxNywgODAsIDc5LCA4NSwgNjcsIDcyLCAxMjgsIDgwLCA3OSwgODQsIDY1LCA4NCwgNzksIDEyOCwgCi0gICAgODAsIDc5LCA4NCwgNjUsIDY2LCA3NiwgMTk3LCA4MCwgNzksIDIxMiwgODAsIDc5LCA4MywgODQsIDgwLCA3OSwgODMsIDczLCAKLSAgICA4NCwgNzMsIDc5LCAyMDYsIDgwLCA3OSwgODMsIDg0LCA2NiwgNzksIDg4LCAxMjgsIDgwLCA3OSwgODMsIDg0LCA2NSwgCi0gICAgMjA0LCA4MCwgNzksIDgzLCA4NCwgMTI4LCA4MCwgNzksIDgzLCAyMTIsIDgwLCA3OSwgODMsIDgzLCA2OSwgODMsIDgzLCAKLSAgICA3MywgNzksIDc4LCAxMjgsIDgwLCA3OSwgODIsIDgyLCA2OSwgNjcsIDg0LCA4NSwgODMsIDEyOCwgODAsIDc5LCA4MiwgODIsIAotICAgIDY5LCA2NywgODQsIDg1LCAyMTEsIDgwLCA3OSwgODAsIDgwLCA2OSwgODIsIDEyOCwgODAsIDc5LCA4MCwgMTI4LCA4MCwgCi0gICAgNzksIDIwOCwgODAsIDc5LCA3OSwgNjgsIDc2LCA2OSwgMTI4LCA4MCwgNzksIDc5LCAxMjgsIDgwLCA3OSwgNzgsIDY4LCAKLSAgICA3OSwgMTI4LCA4MCwgNzksIDIwNiwgODAsIDc5LCA3NywgNzcsIDY5LCA2OSwgMTI4LCA4MCwgNzksIDc3LCA3NywgNjksIAotICAgIDE5NywgODAsIDc5LCA3NiwgNzMsIDgzLCA3MiwgMTI4LCA4MCwgNzksIDc2LCA3MywgNjcsIDE5NywgODAsIDc5LCA3NiwgCi0gICAgMjAxLCA4MCwgNzksIDc2LCA2OSwgMTI4LCA4MCwgNzksIDc2LCAxOTcsIDgwLCA3OSwgNzUsIDgyLCA4OSwgODQsIDczLCAKLSAgICA2OSwgMTI4LCA4MCwgNzksIDc1LCA3OSwgNzQsIDczLCAxMjgsIDgwLCA3OSwgNzMsIDc4LCA4NCwgMjExLCA4MCwgNzksIAotICAgIDczLCA3OCwgODQsIDc5LCAxMjgsIDgwLCA3OSwgNzMsIDc4LCA4NCwgNjksIDgyLCAxMjgsIDgwLCA3OSwgNzMsIDc4LCA4NCwgCi0gICAgNjksIDE5NiwgODAsIDc5LCA3MywgNzgsIDg0LCAxMjgsIDgwLCA3OSwgNzMsIDc4LCAyMTIsIDgwLCA3OSwgNjksIDg0LCAKLSAgICA4MiwgMjE3LCA4MCwgNzksIDY5LCA4NCwgNzMsIDE5NSwgODAsIDc5LCA2OCwgNjUsIDg0LCA4NSwgODMsIDEyOCwgODAsIAotICAgIDc5LCA2NSwgMTI4LCA4MCwgNzksIDEyOCwgODAsIDIwNywgODAsIDc4LCA2OSwgODUsIDc3LCA2NSwgODQsIDY1LCAxMjgsIAotICAgIDgwLCA3NiwgODUsIDg0LCA3OSwgMTI4LCA4MCwgNzYsIDg1LCA4MywgNDUsIDc3LCA3MywgNzgsIDg1LCAyMTEsIDgwLCA3NiwgCi0gICAgODUsIDgzLCAxMjgsIDgwLCA3NiwgODUsIDgyLCA2NSwgNzYsIDEyOCwgODAsIDc2LCA4NSwgNzcsIDY5LCAxOTYsIDgwLCAKLSAgICA3NiwgODUsIDc3LCAxMjgsIDgwLCA3NiwgODUsIDc1LCAxMjgsIDgwLCA3NiwgODUsIDcxLCAxMjgsIDgwLCA3NiwgODUsIAotICAgIDEyOCwgODAsIDc2LCA3OSwgODcsIDEyOCwgODAsIDc2LCA3OSwgODAsIDcyLCA4NSwgMTI4LCA4MCwgNzYsIDY5LCA4NCwgCi0gICAgNzIsIDgyLCA3OSwgNzgsIDEyOCwgODAsIDc2LCA2OCwgMTI4LCA4MCwgNzYsIDY1LCA4OSwgNzMsIDc4LCAxOTksIDgwLCAKLSAgICA3NiwgNjUsIDgzLCA4NCwgNzMsIDY3LCA4MywgMTI4LCA4MCwgNzYsIDY1LCA3OCwgNjksIDEyOCwgODAsIDc2LCA2NSwgNzgsIAotICAgIDE5NywgODAsIDc2LCA2NSwgNzgsIDY3LCAyMDMsIDgwLCA3NiwgNjUsIDc1LCAxMjgsIDgwLCA3NiwgNjUsIDcxLCA3MywgCi0gICAgNzksIDIxMSwgODAsIDc2LCA2NSwgNjcsIDY5LCA3MiwgNzksIDc2LCA2OCwgNjksIDIxMCwgODAsIDc2LCA2NSwgNjcsIAotICAgIDE5NywgODAsIDc2LCA2NSwgMTI4LCA4MCwgNzMsIDkwLCA5MCwgNzMsIDY3LCA2NSwgODQsIDc5LCAxMjgsIDgwLCA3MywgCi0gICAgOTAsIDkwLCA2NSwgMTI4LCA4MCwgNzMsIDg4LCAxMjgsIDgwLCA3MywgODcsIDgyLCAxMjgsIDgwLCA3MywgODQsIDY3LCAKLSAgICA3MiwgNzAsIDc5LCA4MiwgNzUsIDEyOCwgODAsIDczLCA4NCwgNjcsIDcyLCA3MCwgNzksIDgyLCAyMDMsIDgwLCA3MywgODQsIAotICAgIDEyOCwgODAsIDczLCA4MywgODQsIDc5LCA3NiwgMTI4LCA4MCwgNzMsIDgzLCA2OSwgNzYsIDY5LCA3MiwgMTI4LCA4MCwgCi0gICAgNzMsIDgzLCA2NywgNjksIDgzLCAxMjgsIDgwLCA3MywgODIsIDczLCA3MSwgMTI4LCA4MCwgNzMsIDgyLCA3MywgMTk5LCAKLSAgICA4MCwgNzMsIDgyLCA3MywgNjksIDY5LCA3OCwgMTI4LCA4MCwgNzMsIDgwLCA3MywgNzgsIDcxLCAxMjgsIDgwLCA3MywgODAsIAotICAgIDY1LCA2OSwgNzcsIDcxLCA2NiwgNzMsIDY5LCA2OSwgMTI4LCA4MCwgNzMsIDgwLCA2NSwgNjksIDc3LCA2NiwgNjUsIDEyOCwgCi0gICAgODAsIDczLCA4MCwgMTI4LCA4MCwgNzMsIDc4LCA4NywgNzIsIDY5LCA2OSwgMjA0LCA4MCwgNzMsIDc4LCA2OSwgNjUsIDgwLCAKLSAgICA4MCwgNzYsIDY5LCAxMjgsIDgwLCA3MywgNzgsIDE5NywgODAsIDczLCA3OCwgNjUsIDgyLCA2NiwgNzksIDgyLCA2NSwgODMsIAotICAgIDEyOCwgODAsIDczLCA3NiwgNzYsIDEyOCwgODAsIDczLCA3NiwgMTk3LCA4MCwgNzMsIDc2LCA2NywgODIsIDc5LCAyMTUsIAotICAgIDgwLCA3MywgNzUsIDg1LCA4MiwgODUsIDEyOCwgODAsIDczLCA3NSwgNzksIDEyOCwgODAsIDczLCA3MSwgMTI4LCA4MCwgCi0gICAgNzMsIDE5OSwgODAsIDczLCA2OSwgODgsIDEyOCwgODAsIDczLCA2OSwgODUsIDgwLCA0NSwgODQsIDcyLCA3MywgNjksIDg1LCAKLSAgICA4NCwgNzIsIDEyOCwgODAsIDczLCA2OSwgODUsIDgwLCA0NSwgODMsIDgzLCA2NSwgNzgsIDcxLCA4MywgNzMsIDc5LCA4MywgCi0gICAgMTI4LCA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCA4MywgNzMsIDc5LCA4MywgNDUsIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIAotICAgIDEyOCwgODAsIDczLCA2OSwgODUsIDgwLCA0NSwgODMsIDczLCA3OSwgODMsIDQ1LCA4NCwgNzIsIDczLCA2OSwgODUsIDg0LCAKLSAgICA3MiwgMTI4LCA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCA4MywgNzMsIDc5LCA4MywgNDUsIDgwLCA3MywgNjksIDg1LCA4MCwgCi0gICAgMTI4LCA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCA4MywgNzMsIDc5LCA4MywgNDUsIDc1LCA3MywgODksIDY5LCA3OSwgNzUsIAotICAgIDEyOCwgODAsIDczLCA2OSwgODUsIDgwLCA0NSwgODMsIDczLCA3OSwgODMsIDQ1LCA2NywgNzMsIDY5LCA4NSwgNjcsIDEyOCwgCi0gICAgODAsIDczLCA2OSwgODUsIDgwLCA0NSwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgODAsIDcyLCA3MywgNjksIDg1LCA4MCwgCi0gICAgNzIsIDEyOCwgODAsIDczLCA2OSwgODUsIDgwLCA0NSwgODIsIDczLCA2OSwgODUsIDc2LCAxMjgsIDgwLCA3MywgNjksIDg1LCAKLSAgICA4MCwgNDUsIDc4LCA3MywgNjksIDg1LCA3OCwgMTI4LCA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCA3NywgNzMsIDY5LCA4NSwgCi0gICAgNzcsIDEyOCwgODAsIDczLCA2OSwgODUsIDgwLCA0NSwgNzUsIDcyLCA3MywgNjksIDg1LCA3NSwgNzIsIDEyOCwgODAsIDczLCAKLSAgICA2OSwgODUsIDgwLCA0NSwgNjcsIDczLCA2OSwgODUsIDY3LCAxMjgsIDgwLCA3MywgNjksIDg1LCA4MCwgNDUsIDY3LCA3MiwgCi0gICAgNzMsIDY5LCA4NSwgNjcsIDcyLCAxMjgsIDgwLCA3MywgNjksIDg1LCAyMDgsIDgwLCA3MywgNjksIDg0LCAxMjgsIDgwLCAKLSAgICA3MywgNjksIDgwLCAxMjgsIDgwLCA3MywgNjksIDY5LCA4NCwgMTI4LCA4MCwgNzMsIDY5LCA2OSwgODEsIDEyOCwgODAsIAotICAgIDczLCA2OSwgNjcsIDY5LCAxMjgsIDgwLCA3MywgNjksIDEyOCwgODAsIDczLCA2NywgNzUsIDY5LCA4NCwgMTI4LCA4MCwgCi0gICAgNzMsIDY3LCA3NSwgMTI4LCA4MCwgNzMsIDY1LCA4MywgODUsIDg0LCA3OSwgODIsIDg1LCAxMjgsIDgwLCA3MywgNjUsIDgzLCAKLSAgICA3NywgMTkzLCA4MCwgNzMsIDY1LCA3OCwgNzksIDEyOCwgODAsIDIwMSwgODAsIDcyLCA4NywgNjUsIDEyOCwgODAsIDcyLCAKLSAgICA4NSwgODQsIDcyLCA2NSwgNzksIDEyOCwgODAsIDcyLCA4NSwgMjEwLCA4MCwgNzIsIDg1LCA3OCwgNzEsIDEyOCwgODAsIAotICAgIDcyLCA4MiwgNjUsIDgzLCA2OSwgMTI4LCA4MCwgNzIsIDc5LCA3OCwgNjksIDgzLCAxMjgsIDgwLCA3MiwgNzksIDY5LCA3OCwgCi0gICAgNzMsIDY3LCA3MywgNjUsIDIwNiwgODAsIDcyLCA3OSwgNjUsIDEyOCwgODAsIDcyLCA3OSwgMTI4LCA4MCwgNzIsIDIwNywgCi0gICAgODAsIDcyLCA3OCwgNjUsIDY5LCAyMDMsIDgwLCA3MiwgNzMsIDc4LCA4NCwgNzIsIDg1LCAxMjgsIDgwLCA3MiwgNzMsIDc2LCAKLSAgICA3OSwgODMsIDc5LCA4MCwgNzIsIDY5LCA4MiwgMjExLCA4MCwgNzIsIDczLCA3NiwgNzMsIDgwLCA4MCwgNzMsIDc4LCAxOTcsIAotICAgIDgwLCA3MiwgNzMsIDY5LCA4NSwgODAsIDcyLCA0NSwgODQsIDcyLCA3MywgNjksIDg1LCA4NCwgNzIsIDEyOCwgODAsIDcyLCAKLSAgICA3MywgNjksIDg1LCA4MCwgNzIsIDQ1LCA4MywgNzMsIDc5LCA4MywgMTI4LCA4MCwgNzIsIDczLCA2OSwgODUsIDgwLCA3MiwgCi0gICAgNDUsIDgwLCA3MywgNjksIDg1LCA4MCwgMTI4LCA4MCwgNzIsIDczLCA2OSwgODUsIDgwLCA3MiwgNDUsIDcyLCA3MywgNjksIAotICAgIDg1LCA3MiwgMTI4LCA4MCwgNzIsIDczLCA2OSwgODUsIDgwLCAyMDAsIDgwLCA3MiwgNzMsIDEyOCwgODAsIDcyLCAyMDEsIAotICAgIDgwLCA3MiwgNjksIDY5LCAxMjgsIDgwLCA3MiwgNjksIDEyOCwgODAsIDcyLCA2NSwgODMsIDY5LCA0NSwgMTk4LCA4MCwgCi0gICAgNzIsIDY1LCA4MywgNjksIDQ1LCAxOTQsIDgwLCA3MiwgNjUsIDgyLCA4OSwgNzgsIDcxLCA2OSwgNjUsIDIwNCwgODAsIDcyLCAKLSAgICA2NSwgODIsIDEyOCwgODAsIDcyLCA2NSwgNzgsIDEyOCwgODAsIDcyLCA2NSwgNzcsIDEyOCwgODAsIDcyLCA2NSwgNzMsIAotICAgIDgzLCA4NCwgNzksIDIxMSwgODAsIDcyLCA2NSwgNzEsIDgzLCA0NSwgODAsIDE5MywgODAsIDcyLCA2NSwgNjUsIDgyLCA3NSwgCi0gICAgNjUsIDY1LCAxMjgsIDgwLCA3MiwgNjUsIDY1LCAxMjgsIDgwLCA3MiwgNjUsIDEyOCwgODAsIDcxLCAxMjgsIDgwLCA3MCwgCi0gICAgMTI4LCA4MCwgNjksIDg1LCA4OCwgMTI4LCA4MCwgNjksIDg1LCA4NCwgNjUsIDY5LCAxMjgsIDgwLCA2OSwgODUsIDg0LCAKLSAgICAxMjgsIDgwLCA2OSwgODQsIDY1LCA4MywgODQsIDc5LCA3NSwgNzksIDg1LCA3MCwgNzMsIDgzLCA3NywgNjUsIDEyOCwgODAsIAotICAgIDY5LCA4NCwgNjUsIDgzLCA4NCwgNzMsIDEyOCwgODAsIDY5LCA4NCwgNjUsIDgzLCA3NywgNjUsIDEyOCwgODAsIDY5LCA4NCwgCi0gICAgNjUsIDc2LCA3NiwgNjksIDE5NiwgODAsIDY5LCA4MywgNzksIDEyOCwgODAsIDY5LCA4MywgMjA3LCA4MCwgNjksIDgzLCAKLSAgICA3MiwgNTAsIDEyOCwgODAsIDY5LCA4MywgNjksIDg0LCAxOTMsIDgwLCA2OSwgMjExLCA4MCwgNjksIDgyLCA4NCwgNzIsIAotICAgIDIwNywgODAsIDY5LCA4MiwgODMsIDgwLCA2OSwgNjcsIDg0LCA3MywgODYsIDY5LCAxMjgsIDgwLCA2OSwgODIsIDgzLCA3OSwgCi0gICAgNzgsIDY1LCAyMDQsIDgwLCA2OSwgODIsIDgzLCA3OSwgNzgsIDEyOCwgODAsIDY5LCA4MiwgODMsIDc5LCAyMDYsIDgwLCAKLSAgICA2OSwgODIsIDgzLCA3MywgNjUsIDIwNiwgODAsIDY5LCA4MiwgODMsIDY5LCA4NiwgNjksIDgyLCA3MywgNzgsIDE5OSwgODAsIAotICAgIDY5LCA4MiwgODAsIDY5LCA3OCwgNjgsIDczLCA2NywgODUsIDc2LCA2NSwgODIsIDEyOCwgODAsIDY5LCA4MiwgODAsIDY5LCAKLSAgICA3OCwgNjgsIDczLCA2NywgODUsIDc2LCA2NSwgMjEwLCA4MCwgNjksIDgyLCA3NywgNzMsIDg0LCA4NCwgNjksIDE5NiwgODAsIAotICAgIDY5LCA4MiwgNzcsIDY1LCA3OCwgNjksIDc4LCAyMTIsIDgwLCA2OSwgODIsIDczLCA4MywgODAsIDc5LCA3NywgNjksIDc4LCAKLSAgICA3MywgMTI4LCA4MCwgNjksIDgyLCA3MywgODMsIDgwLCA3OSwgNzcsIDY5LCA3OCwgMjAxLCA4MCwgNjksIDgyLCA3MCwgNzksIAotICAgIDgyLCA3NywgNzMsIDc4LCAxOTksIDgwLCA2OSwgODIsIDcwLCA2OSwgNjcsIDg0LCA4NSwgMjA1LCA4MCwgNjksIDgyLCA3MCwgCi0gICAgNjksIDY3LCA4NCwgNjUsIDEyOCwgODAsIDY5LCA4MiwgNzAsIDY5LCA2NywgODQsIDE5MywgODAsIDY5LCA4MiwgNjcsIDg1LCAKLSAgICA4MywgODMsIDczLCA4NiwgNjksIDEyOCwgODAsIDY5LCA4MiwgNjcsIDY5LCA3OCwgMjEyLCA4MCwgNjksIDgwLCA2OSwgODQsIAotICAgIDEyOCwgODAsIDY5LCA4MCwgNjksIDIxMiwgODAsIDY5LCA3OSwgODIsIDg0LCAyMDAsIDgwLCA2OSwgNzksIDgwLCA3NiwgCi0gICAgNjksIDEyOCwgODAsIDY5LCA3OCwgODQsIDY1LCA4MywgNjksIDc3LCA2OSwgMTI4LCA4MCwgNjksIDc4LCA4NCwgNjUsIDcxLCAKLSAgICA4MiwgNjUsIDc3LCAxMjgsIDgwLCA2OSwgNzgsIDg0LCA2NSwgNzEsIDc5LCA3OCwgMTI4LCA4MCwgNjksIDc4LCA4MywgODUsIAotICAgIDEyOCwgODAsIDY5LCA3OCwgODMsIDczLCA4NiwgMTk3LCA4MCwgNjksIDc4LCA3OCwgMjE3LCA4MCwgNjksIDc4LCA3MywgCi0gICAgNzIsIDczLCAxMjgsIDgwLCA2OSwgNzgsIDcxLCA4NSwgNzMsIDc4LCAxMjgsIDgwLCA2OSwgNzgsIDcxLCA3NSwgNjUsIDc2LCAKLSAgICAxMjgsIDgwLCA2OSwgNzgsIDY5LCA4NCwgODIsIDY1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA4MCwgNjksIDc4LCA2NywgNzMsIAotICAgIDc2LCAxMjgsIDgwLCA2OSwgNzYsIDY1LCA4MywgODQsIDc5LCA3OCwgMTI4LCA4MCwgNjksIDc2LCA2NSwgODMsIDg0LCA3OSwgCi0gICAgMjA2LCA4MCwgNjksIDczLCA4NCwgNzIsIDEyOCwgODAsIDY5LCA3MiwgNjksIDcyLCAxMjgsIDgwLCA2OSwgNzIsIDY5LCAKLSAgICAyMDAsIDgwLCA2OSwgNzIsIDEyOCwgODAsIDY5LCAyMDAsIDgwLCA2OSwgNjksIDkwLCA3MywgMTI4LCA4MCwgNjksIDY5LCAKLSAgICA4MywgNzIsIDczLCAxMjgsIDgwLCA2OSwgNjksIDgwLCAxMjgsIDgwLCA2OSwgNjksIDc3LCAxMjgsIDgwLCA2OSwgNjksIAotICAgIDEyOCwgODAsIDY5LCA2OCwgNjksIDgzLCA4NCwgODIsIDczLCA2NSwgNzgsIDgzLCAxMjgsIDgwLCA2OSwgNjgsIDY5LCA4MywgCi0gICAgODQsIDgyLCA3MywgNjUsIDc4LCAxMjgsIDgwLCA2OSwgNjgsIDY5LCA4MywgODQsIDY1LCA3NiwgMTI4LCA4MCwgNjksIDY4LCAKLSAgICA2OSwgODMsIDg0LCA2NSwgMjA0LCA4MCwgNjksIDY4LCA2NSwgMjA0LCA4MCwgNjksIDY1LCA2NywgNzIsIDEyOCwgODAsIAotICAgIDY5LCA2NSwgNjcsIDY5LCAxMjgsIDgwLCA2OSwgNjUsIDY3LCAxOTcsIDgwLCA2OCwgNzMsIDEyOCwgODAsIDY4LCA3MCwgCi0gICAgMTI4LCA4MCwgNjgsIDEyOCwgODAsIDY3LCAxMjgsIDgwLCA2NSwgOTAsIDY5LCA4MiwgMTI4LCA4MCwgNjUsIDg5LCA2OSwgCi0gICAgODIsIDc5LCA3NSwgMTI4LCA4MCwgNjUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA4MCwgNjUsIDg5LCAxMjgsIDgwLCAKLSAgICA2NSwgODgsIDEyOCwgODAsIDY1LCA4NywgNzgsIDEyOCwgODAsIDY1LCAyMTUsIDgwLCA2NSwgODYsIDczLCA4OSwgNjUsIAotICAgIDc4LCA3MywgMTI4LCA4MCwgNjUsIDg1LCAxMjgsIDgwLCA2NSwgODQsIDg0LCA2OSwgODIsIDc4LCAxMjgsIDgwLCA2NSwgCi0gICAgODQsIDcyLCA2NSwgNzcsIDY1LCA4MywgNjUsIDg0LCAxMjgsIDgwLCA2NSwgODQsIDIwMCwgODAsIDY1LCA4NCwgNjUsIDc1LCAKLSAgICAxMjgsIDgwLCA2NSwgODQsIDY1LCA3MiwgMTI4LCA4MCwgNjUsIDg0LCAxMjgsIDgwLCA2NSwgODMsIDg1LCA4MSwgMTI4LCAKLSAgICA4MCwgNjUsIDgzLCA4MywgODAsIDc5LCA4MiwgMjEyLCA4MCwgNjUsIDgzLCA4MywgNzMsIDg2LCA2OSwgNDUsIDgwLCA4NSwgCi0gICAgNzYsIDc2LCA0NSwgODUsIDgwLCA0NSwgNzksIDg1LCA4NCwgODAsIDg1LCAyMTIsIDgwLCA2NSwgODMsIDgzLCA3MywgODYsIAotICAgIDY5LCA0NSwgODAsIDg1LCA3NiwgNzYsIDQ1LCA2OCwgNzksIDg3LCA3OCwgNDUsIDc5LCA4NSwgODQsIDgwLCA4NSwgMjEyLCAKLSAgICA4MCwgNjUsIDgzLCA3MiwgODQsIDY1LCAxMjgsIDgwLCA2NSwgODMsIDcyLCA2NSwgNjksIDEyOCwgODAsIDY1LCA4MywgNjksIAotICAgIDgxLCAxMjgsIDgwLCA2NSwgODMsIDY1LCA3OCwgNzEsIDY1LCAyMDYsIDgwLCA2NSwgODIsIDg1LCA3NywgMTI4LCA4MCwgCi0gICAgNjUsIDgyLCA4NCwgMjE3LCA4MCwgNjUsIDgyLCA4NCwgNzgsIDY5LCA4MiwgODMsIDcyLCA3MywgMjA4LCA4MCwgNjUsIDgyLCAKLSAgICA4NCwgNzMsIDY1LCA3NiwgNzYsIDg5LCA0NSwgODIsIDY5LCA2NywgODksIDY3LCA3NiwgNjksIDE5NiwgODAsIDY1LCA4MiwgCi0gICAgODQsIDczLCA2NSwgMjA0LCA4MCwgNjUsIDgyLCA4NCwgNzIsIDczLCA2NSwgMjA2LCA4MCwgNjUsIDgyLCAyMTIsIDgwLCAKLSAgICA2NSwgODIsIDczLCA2NywgNzIsIDc5LCA3OCwgMTI4LCA4MCwgNjUsIDgyLCA2OSwgODMsIDg0LCA3MywgNzEsIDc3LCA2OSwgCi0gICAgNzgsIDc5LCAyMDYsIDgwLCA2NSwgODIsIDY5LCA4MiwgNjksIDc4LCAxMjgsIDgwLCA2NSwgODIsIDY5LCA3OCwgODQsIDcyLCAKLSAgICA2OSwgODMsIDczLCA4MywgMTI4LCA4MCwgNjUsIDgyLCA2OSwgNzgsIDg0LCA3MiwgNjksIDgzLCA3MywgMjExLCA4MCwgNjUsIAotICAgIDgyLCA2NSwgODAsIDcyLCA4MiwgNjUsIDgzLCAxOTcsIDgwLCA2NSwgODIsIDY1LCA3NiwgNzYsIDY5LCA3NiwgNzksIDcxLCAKLSAgICA4MiwgNjUsIDc3LCAxMjgsIDgwLCA2NSwgODIsIDY1LCA3NiwgNzYsIDY5LCA3NiwgMTI4LCA4MCwgNjUsIDgyLCA2NSwgNzYsIAotICAgIDc2LCA2OSwgMjA0LCA4MCwgNjUsIDgyLCA2NSwgNzUsIDc2LCA3MywgODQsIDczLCA3NSwgNzMsIDEyOCwgODAsIDY1LCA4MiwgCi0gICAgNjUsIDc1LCA3NiwgNzMsIDg0LCA3MywgNzUsIDIwMSwgODAsIDY1LCA4MiwgNjUsIDc1LCA2NSwgNzYsIDY5LCA4MywgNzcsIAotICAgIDE5MywgODAsIDY1LCA4MiwgNjUsIDcxLCA4MiwgNjUsIDgwLCA3MiwgNzksIDgzLCAxMjgsIDgwLCA2NSwgODIsIDY1LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDEyOCwgODAsIDY1LCA4MiwgNjUsIDcxLCA4MiwgNjUsIDgwLCAyMDAsIDgwLCA2NSwgODIsIDY1LCAKLSAgICAxMjgsIDgwLCA2NSwgODIsIDEyOCwgODAsIDY1LCA4MCwgODksIDgyLCA4NSwgODMsIDEyOCwgODAsIDY1LCA4MCwgNjksIAotICAgIDgyLCA2NywgNzYsIDczLCA4MCwgMTI4LCA4MCwgNjUsIDgwLCA2OSwgMjEwLCA4MCwgNjUsIDgwLCAxMjgsIDgwLCA2NSwgCi0gICAgMjA4LCA4MCwgNjUsIDIwNywgODAsIDY1LCA3OCwgODksIDg1LCA3NSwgODUsIDEyOCwgODAsIDY1LCA3OCwgODksIDczLCAKLSAgICA3NSwgODUsIDEyOCwgODAsIDY1LCA3OCwgODksIDY5LCA2NywgNjksIDc1LCAxMjgsIDgwLCA2NSwgNzgsIDg5LCA2NSwgNzgsIAotICAgIDcxLCA3MSwgNjUsIDEyOCwgODAsIDY1LCA3OCwgODksIDY1LCA3NSwgODIsIDY1LCAxMjgsIDgwLCA2NSwgNzgsIDg0LCA3MywgCi0gICAgMTI4LCA4MCwgNjUsIDc4LCA4MywgNzMsIDc5LCA4MywgNDUsIDgwLCA3MywgNjksIDg1LCA4MCwgMTI4LCA4MCwgNjUsIDc4LCAKLSAgICA4MywgNzMsIDc5LCA4MywgNDUsIDc1LCA2NSwgODAsIDg5LCA2OSwgNzksIDg1LCA3OCwgODAsIDczLCA2OSwgODUsIDgwLCAKLSAgICAxMjgsIDgwLCA2NSwgNzgsIDc5LCA3OCwgNzEsIDc5LCA3OCwgNjUsIDc4LCAxMjgsIDgwLCA2NSwgNzgsIDc5LCA3NiwgNzksIAotICAgIDc4LCA3MSwgMTI4LCA4MCwgNjUsIDc4LCA3MSwgODcsIDczLCA4MywgNjUsIDY4LCAxMjgsIDgwLCA2NSwgNzgsIDcxLCA4MiwgCi0gICAgNjUsIDc4LCA3MSwgNzUsIDY5LCA4MCwgMTI4LCA4MCwgNjUsIDc4LCA3MSwgNzksIDc2LCA2NSwgODQsIDEyOCwgODAsIDY1LCAKLSAgICA3OCwgNzEsIDc2LCA3OSwgNzgsIDcxLCAxMjgsIDgwLCA2NSwgNzgsIDcxLCA3NiwgNjUsIDg5LCA2NSwgODIsIDEyOCwgODAsIAotICAgIDY1LCA3OCwgNzEsIDc1LCA3OSwgNzgsIDEyOCwgODAsIDY1LCA3OCwgNzEsIDc1LCA2NSwgODQsIDEyOCwgODAsIDY1LCA3OCwgCi0gICAgNzEsIDcyLCA4NSwgNzYsIDg1LCAxMjgsIDgwLCA2NSwgNzgsIDcxLCAxMjgsIDgwLCA2NSwgNzgsIDY5LCA4NSwgNzYsIDY5LCAKLSAgICA4NSwgNzgsIDcxLCAxMjgsIDgwLCA2NSwgNzgsIDY4LCAxOTMsIDgwLCA2NSwgNzgsIDY1LCA2OSwgNzYsIDY1LCA2OSwgNzgsIAotICAgIDcxLCAxMjgsIDgwLCA2NSwgNzgsIDEyOCwgODAsIDY1LCA3NywgODUsIDc4LCA3MSwgNzUsIDY1LCA3MiwgMTI4LCA4MCwgCi0gICAgNjUsIDc3LCA4NSwgNjgsIDgwLCA3OSwgNjgsIDEyOCwgODAsIDY1LCA3NywgODMsIDcyLCA2NSwgNjksIDEyOCwgODAsIDY1LCAKLSAgICA3NywgODAsIDcyLCA4OSwgNzYsIDczLCA2NSwgMjA2LCA4MCwgNjUsIDc3LCA3MywgNzgsIDcxLCA3NSwgNjUsIDc2LCAxMjgsIAotICAgIDgwLCA2NSwgNzcsIDY5LCA4MCwgNjksIDg0LCAxMjgsIDgwLCA2NSwgNzcsIDY5LCA3OCwgNjksIDc4LCA3MSwgMTI4LCA4MCwgCi0gICAgNjUsIDc3LCA2NSwgNjgsIDY1LCAxMjgsIDgwLCA2NSwgNzcsIDY1LCA2NSwgNjksIDcyLCAxMjgsIDgwLCA2NSwgNzYsIDg1LCAKLSAgICA4NCwgNjUsIDEyOCwgODAsIDY1LCA3NiwgNzksIDY3LCA3MiwgNzUsIDY1LCAxMjgsIDgwLCA2NSwgNzYsIDIwNSwgODAsIAotICAgIDY1LCA3NiwgNzYsIDY1LCA4NywgNjUsIDEyOCwgODAsIDY1LCA3NiwgNzYsIDY1LCA4MywgMTI4LCA4MCwgNjUsIDc2LCA2OSwgCi0gICAgODQsIDg0LCA2OSwgMTI4LCA4MCwgNjUsIDc2LCA2NSwgODUsIDc4LCAxOTksIDgwLCA2NSwgNzYsIDY1LCA4NCwgNjUsIDc2LCAKLSAgICA3MywgOTAsIDY5LCAxOTYsIDgwLCA2NSwgNzYsIDY1LCA4NCwgNjUsIDc2LCA3MywgOTAsIDY1LCA4NCwgNzMsIDc5LCA3OCwgCi0gICAgMTI4LCA4MCwgNjUsIDc2LCA2NSwgODQsIDY1LCAyMDQsIDgwLCA2NSwgNzUsIDgwLCA2NSwgMjAzLCA4MCwgNjUsIDczLCAKLSAgICA4OSwgNjUsIDc4LCA3OCwgNzksIDczLCAxMjgsIDgwLCA2NSwgNzMsIDgyLCA4NCwgNzIsIDgyLCA2NSwgMTI4LCA4MCwgNjUsIAotICAgIDczLCA4MiwgNjksIDE5NiwgODAsIDY1LCA3MywgMTI4LCA4MCwgNjUsIDcyLCA3NiwgNjUsIDg2LCAyMDEsIDgwLCA2NSwgCi0gICAgNzIsIDEyOCwgODAsIDY1LCA3MSwgNjksIDgyLCAxMjgsIDgwLCA2NSwgNzEsIDE5NywgODAsIDY1LCA2OCwgNzcsIDE5MywgCi0gICAgODAsIDY1LCA2OCwgNjgsIDczLCA3OCwgMTk5LCA4MCwgNjUsIDY4LCAxOTMsIDgwLCA2NSwgNjgsIDEyOCwgODAsIDY1LCAKLSAgICA2NywgNzUsIDczLCA3OCwgNzEsIDEyOCwgODAsIDY1LCA2NywgNzUsIDY1LCA3MSwgNjksIDEyOCwgODAsIDY1LCA2NSwgODQsIAotICAgIDg1LCAxMjgsIDgwLCA2NSwgNjUsIDgzLCA2OSwgNzgsIDg0LCA3OSwgMTI4LCA4MCwgNjUsIDY1LCA4MiwgNjUsIDY5LCAKLSAgICAxMjgsIDgwLCA2NSwgNjUsIDc3LCAxMjgsIDgwLCA2NSwgNjUsIDczLCAxMjgsIDgwLCA2NSwgNjUsIDQ1LCA4MCwgNzMsIAotICAgIDc2LCA3NiwgNjUsIDEyOCwgODAsIDY1LCA2NSwgMTI4LCA4MCwgNTAsIDEyOCwgODAsIDQ4LCA0OSwgNDksIDEyOCwgODAsIAotICAgIDQ4LCA0OSwgNDgsIDEyOCwgODAsIDQ4LCA0OCwgNTcsIDEyOCwgODAsIDQ4LCA0OCwgNTYsIDEyOCwgODAsIDQ4LCA0OCwgCi0gICAgNTUsIDEyOCwgODAsIDQ4LCA0OCwgNTQsIDEyOCwgODAsIDQ4LCA0OCwgNTMsIDEyOCwgODAsIDQ4LCA0OCwgNTIsIDEyOCwgCi0gICAgODAsIDQ4LCA0OCwgNTEsIDY1LCAxMjgsIDgwLCA0OCwgNDgsIDUxLCAxMjgsIDgwLCA0OCwgNDgsIDUwLCAxMjgsIDgwLCAKLSAgICA0OCwgNDgsIDQ5LCA2NSwgMTI4LCA4MCwgNDgsIDQ4LCA0OSwgMTI4LCA3OSwgODksIDgyLCA2NSwgNzgsIDczLCA4MywgNzcsIAotICAgIDE5MywgNzksIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA3OSwgODgsIDczLCA2NSwgMTI4LCA3OSwgODgsIDczLCAxOTMsIAotICAgIDc5LCA4OCwgNjksIDczLCA2NSwgMjAxLCA3OSwgODgsIDY5LCA3MywgMTkzLCA3OSwgODYsIDY5LCA4MiwgODIsIDczLCA2OCwgCi0gICAgNjksIDEyOCwgNzksIDg2LCA2OSwgODIsIDc2LCA3OSwgNzgsIDE5OSwgNzksIDg2LCA2OSwgODIsIDc2LCA3MywgNzgsIDY5LCAKKyAgICA4NCwgNDUsIDgwLCA3OSwgNzMsIDc4LCA4NCwgNzMsIDc4LCAxOTksIDgyLCA3MywgNzEsIDcyLCA4NCwgNDUsIDc2LCA3MywgCisgICAgNzEsIDcyLCA4NCwgNjksIDE5NiwgODIsIDczLCA3MSwgNzIsIDg0LCA0NSwgNzIsIDY1LCA3OCwgNjgsIDY5LCAxOTYsIDgyLCAKKyAgICA3MywgNzEsIDcyLCA4NCwgNDUsIDcyLCA2NSwgNzgsIDE5NiwgODIsIDczLCA3MSwgNzIsIDg0LCA0NSwgNzAsIDY1LCA2NywgCisgICAgNzMsIDc4LCAxOTksIDgyLCA3MywgNzEsIDcyLCA4NCwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA4OSwgNjksIDgzLCAKKyAgICA3MywgNjksIDg1LCA3OCwgNzEsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgODksIDY5LCA3OSwgODIsIDczLCA3OCwgCisgICAgNzIsIDczLCA2OSwgODUsIDcyLCA0NSwgNzIsIDczLCA2OSwgODUsIDcyLCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIAorICAgIDg5LCA2OSwgNzksIDgyLCA3MywgNzgsIDcyLCA3MywgNjksIDg1LCA3MiwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCAKKyAgICA4NCwgNzMsIDc1LCA2OSwgODUsIDg0LCA0NSwgNzIsIDczLCA2OSwgODUsIDcyLCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgCisgICAgNDUsIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgODQsIDcyLCA3MywgNjksIAorICAgIDg1LCA4NCwgNzIsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgODMsIDgzLCA2NSwgNzgsIDcxLCA4NCwgNzMsIDc1LCAKKyAgICA2OSwgODUsIDg0LCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDgzLCA4MywgNjUsIDc4LCA3MSwgODMsIDczLCA3OSwgCisgICAgODMsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgODMsIDgzLCA2NSwgNzgsIDcxLCA4MCwgNzMsIDY5LCA4NSwgODAsIAorICAgIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgODMsIDgzLCA2NSwgNzgsIDcxLCA3NSwgNzMsIDg5LCA2OSwgNzksIDc1LCAKKyAgICAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDgzLCA3MywgNzksIDgzLCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIAorICAgIDgwLCA3MywgNjksIDg1LCA4MCwgNDUsIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCAKKyAgICA0NSwgODAsIDczLCA2OSwgODUsIDgwLCA0NSwgODMsIDczLCA3OSwgODMsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgCisgICAgODAsIDczLCA2OSwgODUsIDgwLCA0NSwgODAsIDcyLCA3MywgNjksIDg1LCA4MCwgNzIsIDEyOCwgODIsIDczLCA2OSwgODUsIAorICAgIDc2LCA0NSwgODAsIDczLCA2OSwgODUsIDgwLCA0NSwgNzIsIDczLCA2OSwgODUsIDcyLCAxMjgsIDgyLCA3MywgNjksIDg1LCAKKyAgICA3NiwgNDUsIDgwLCA3MywgNjksIDg1LCA4MCwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA4MCwgNzIsIDczLCA2OSwgCisgICAgODUsIDgwLCA3MiwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA4MCwgNjUsIDc4LCA4MywgNzMsIDc5LCA4MywgMTI4LCAKKyAgICA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA3OCwgNzMsIDY5LCA4NSwgNzgsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgCisgICAgNzcsIDczLCA2OSwgODUsIDc3LCA0NSwgODMsIDczLCA3OSwgODMsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgNzcsIAorICAgIDczLCA2OSwgODUsIDc3LCA0NSwgNzUsIDczLCA4OSwgNjksIDc5LCA3NSwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCAKKyAgICA3NywgNzMsIDY5LCA4NSwgNzcsIDQ1LCA3MiwgNzMsIDY5LCA4NSwgNzIsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgCisgICAgNzcsIDczLCA2OSwgODUsIDc3LCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDc1LCA3MywgODksIDY5LCA3OSwgNzUsIAorICAgIDQ1LCA4MywgNzMsIDc5LCA4MywgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA3NSwgNzMsIDg5LCA2OSwgNzksIDc1LCAKKyAgICA0NSwgNzIsIDczLCA2OSwgODUsIDcyLCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDc1LCA3MywgODksIDY5LCA3OSwgCisgICAgNzUsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgNzUsIDY1LCA4MCwgODksIDY5LCA3OSwgODUsIDc4LCA4MCwgNzMsIAorICAgIDY5LCA4NSwgODAsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgNzIsIDczLCA2OSwgODUsIDcyLCAxMjgsIDgyLCA3MywgCisgICAgNjksIDg1LCA3NiwgNDUsIDY3LCA3MywgNjksIDg1LCA2NywgMTI4LCA4MiwgNzMsIDY5LCA4NSwgMjA0LCA4MiwgNzMsIDY5LCAKKyAgICA3NiwgMTI4LCA4MiwgNzMsIDY5LCA2OSwgMTI4LCA4MiwgNzMsIDY3LCA2OSwgNzcsIDEyOCwgODIsIDczLCA2NywgNjksIAorICAgIDEyOCwgODIsIDczLCA2NywgMTk3LCA4MiwgNzMsIDY2LCA2NiwgNzksIDc4LCAxMjgsIDgyLCA3MywgNjYsIDY2LCA3OSwgCisgICAgMjA2LCA4MiwgNzMsIDY1LCAyMDQsIDgyLCA3MiwgNzksIDg0LCA3MywgMTk1LCA4MiwgNzIsIDc5LCAxMjgsIDgyLCA3MiwgCisgICAgMjA3LCA4MiwgNzIsIDY1LCAxMjgsIDgyLCA3MiwgMTI4LCA4MiwgNzEsIDg5LCA3MywgNzgsIDcxLCA4MywgMTI4LCA4MiwgCisgICAgNzEsIDg5LCA2NSwgNzgsIDEyOCwgODIsIDcxLCA4OSwgMTkzLCA4MiwgNjksIDg2LCA3OSwgNzYsIDg2LCA3MywgNzgsIAorICAgIDE5OSwgODIsIDY5LCA4NiwgNzksIDc2LCA4NSwgODQsIDczLCA3OSwgNzgsIDEyOCwgODIsIDY5LCA4NiwgNzcsIDY1LCAKKyAgICAxMjgsIDgyLCA2OSwgODYsIDczLCA2NSwgMTI4LCA4MiwgNjksIDg2LCA2OSwgODIsIDgzLCA2OSwgNjgsIDQ1LCA4MywgNjcsIAorICAgIDcyLCA4NywgNjUsIDEyOCwgODIsIDY5LCA4NiwgNjksIDgyLCA4MywgNjksIDY4LCAxMjgsIDgyLCA2OSwgODYsIDY5LCA4MiwgCisgICAgODMsIDY5LCAxOTYsIDgyLCA2OSwgODYsIDY5LCA4MiwgODMsIDE5NywgODIsIDY5LCA4NSwgODgsIDEyOCwgODIsIDY5LCAKKyAgICA4NSwgMTI4LCA4MiwgNjksIDg0LCA4NSwgODIsIDc4LCAxMjgsIDgyLCA2OSwgODQsIDg1LCA4MiwgMjA2LCA4MiwgNjksIAorICAgIDg0LCA4MiwgNzksIDcwLCA3NiwgNjksIDIxNiwgODIsIDY5LCA4NCwgODIsIDY5LCA2NSwgODQsIDEyOCwgODIsIDY5LCA4NCwgCisgICAgNzksIDgyLCA4NCwgMTI4LCA4MiwgNjksIDgzLCA4NSwgODAsIDczLCA3OCwgODUsIDgzLCAxMjgsIDgyLCA2OSwgODMsIDg0LCAKKyAgICA4MiwgNzksIDc5LCA3NywgMTI4LCA4MiwgNjksIDgzLCA4NCwgODIsIDczLCA2NywgODQsIDY5LCAxOTYsIDgyLCA2OSwgODMsIAorICAgIDg0LCAxMjgsIDgyLCA2OSwgODMsIDgwLCA3OSwgNzgsIDgzLCA2OSwgMTI4LCA4MiwgNjksIDgzLCA3OSwgODUsIDgyLCA2NywgCisgICAgNjksIDEyOCwgODIsIDY5LCA4MywgNzksIDc2LCA4NSwgODQsIDczLCA3OSwgNzgsIDEyOCwgODIsIDY5LCA4MywgNzMsIDgzLCAKKyAgICA4NCwgNjUsIDc4LCA2NywgNjksIDEyOCwgODIsIDY5LCA4MywgNzMsIDY4LCA2OSwgNzgsIDY3LCA2OSwgMTI4LCA4MiwgNjksIAorICAgIDgzLCAyMDAsIDgyLCA2OSwgODIsIDY5LCA3OCwgNzEsIDcxLCA2NSwgNzgsIDEyOCwgODIsIDY5LCA4MiwgNjksIDc1LCA2NSwgCisgICAgNzgsIDEyOCwgODIsIDY5LCA4MCwgODIsIDY5LCA4MywgNjksIDc4LCA4NCwgMTI4LCA4MiwgNjksIDgwLCA3NiwgNjUsIDY3LCAKKyAgICA2OSwgNzcsIDY5LCA3OCwgMjEyLCA4MiwgNjksIDgwLCA3MiwgMTI4LCA4MiwgNjksIDgwLCA2OSwgODQsIDczLCA4NCwgNzMsIAorICAgIDc5LCAyMDYsIDgyLCA2OSwgODAsIDY5LCA2NSwgODQsIDY5LCAxOTYsIDgyLCA2OSwgODAsIDY5LCA2NSwgODQsIDEyOCwgCisgICAgODIsIDY5LCA4MCwgNjksIDY1LCAyMTIsIDgyLCA2OSwgODAsIDY1LCA4OSwgNjUsIDEyOCwgODIsIDY5LCA4MCwgNjUsIAorICAgIDEyOCwgODIsIDY5LCA4MCwgMTkzLCA4MiwgNjksIDc4LCA4NCwgNzksIDcxLCA2OSwgNzgsIDEyOCwgODIsIDY5LCA3OCwgCisgICAgMTI4LCA4MiwgNjksIDIwNiwgODIsIDY5LCA3NywgODUsIDEyOCwgODIsIDY5LCA3NywgNzMsIDc4LCA2OCwgNjksIDIxMCwgCisgICAgODIsIDY5LCA3NywgNjksIDY4LCA4OSwgMTI4LCA4MiwgNjksIDc2LCA3MywgNzEsIDczLCA3OSwgNzgsIDEyOCwgODIsIDY5LCAKKyAgICA3NiwgNzMsIDY5LCA4NiwgNjksIDE5NiwgODIsIDY5LCA3NiwgNjksIDY1LCA4MywgNjksIDEyOCwgODIsIDY5LCA3NiwgNjUsIAorICAgIDg0LCA3MywgNzksIDc4LCA2NSwgMjA0LCA4MiwgNjksIDc2LCA2NSwgODQsIDczLCA3OSwgNzgsIDEyOCwgODIsIDY5LCA3NiwgCisgICAgNjUsIDY1LCAxMjgsIDgyLCA2OSwgNzQsIDY1LCA3OCwgMTk5LCA4MiwgNjksIDczLCAxOTYsIDgyLCA2OSwgNzMsIDEyOCwgCisgICAgODIsIDY5LCA3MSwgODUsIDc2LCA4NSwgODMsIDQ1LCA1MiwgMTI4LCA4MiwgNjksIDcxLCA4NSwgNzYsIDg1LCA4MywgNDUsIAorICAgIDUxLCAxMjgsIDgyLCA2OSwgNzEsIDg1LCA3NiwgODUsIDgzLCA0NSwgNTAsIDEyOCwgODIsIDY5LCA3MSwgODUsIDc2LCA4NSwgCisgICAgODMsIDEyOCwgODIsIDY5LCA3MSwgODUsIDc2LCA4NSwgMjExLCA4MiwgNjksIDcxLCA3MywgODMsIDg0LCA2OSwgODIsIDY5LCAKKyAgICAxOTYsIDgyLCA2OSwgNzEsIDczLCA3OSwgNzgsIDY1LCAyMDQsIDgyLCA2OSwgNzEsIDczLCA2NSwgNDUsIDUwLCAxMjgsIAorICAgIDgyLCA2OSwgNzEsIDczLCA2NSwgMTI4LCA4MiwgNjksIDcwLCA3OSwgODIsIDc3LCA2OSwgMTk2LCA4MiwgNjksIDcwLCA2OSwgCisgICAgODIsIDY5LCA3OCwgNjcsIDE5NywgODIsIDY5LCA2OCwgODUsIDgwLCA3NiwgNzMsIDY3LCA2NSwgODQsIDczLCA3OSwgNzgsIAorICAgIDEyOCwgODIsIDY5LCA2NywgODksIDY3LCA3NiwgNzMsIDc4LCAxOTksIDgyLCA2OSwgNjcsIDg5LCA2NywgNzYsIDY5LCAKKyAgICAxOTYsIDgyLCA2OSwgNjcsIDg0LCA3MywgNzYsIDczLCA3OCwgNjksIDY1LCAyMTAsIDgyLCA2OSwgNjcsIDg0LCA2NSwgNzgsIAorICAgIDcxLCA4NSwgNzYsIDY1LCAyMTAsIDgyLCA2OSwgNjcsIDg0LCA2NSwgNzgsIDcxLCA3NiwgNjksIDEyOCwgODIsIDY5LCA2NywgCisgICAgODQsIDY1LCA3OCwgNzEsIDc2LCAxOTcsIDgyLCA2OSwgNjcsIDgyLCA2OSwgNjUsIDg0LCA3MywgNzksIDc4LCA2NSwgMjA0LCAKKyAgICA4MiwgNjksIDY3LCA3OSwgODIsIDY4LCA3MywgNzgsIDE5OSwgODIsIDY5LCA2NywgNzksIDgyLCA2OCwgNjksIDgyLCAxMjgsIAorICAgIDgyLCA2OSwgNjcsIDc5LCA4MiwgNjgsIDEyOCwgODIsIDY5LCA2NywgNzksIDgyLCAxOTYsIDgyLCA2OSwgNjcsIDY5LCA4MCwgCisgICAgODQsIDczLCA4NiwgMTk3LCA4MiwgNjksIDY3LCA2OSwgNzMsIDg2LCA2OSwgODIsIDEyOCwgODIsIDY5LCA2NywgNjksIDczLCAKKyAgICA4NiwgNjksIDIxMCwgODIsIDY5LCA2NSwgNzYsIDcxLCA2NSwgODIsIDQ1LCA1MCwgMTI4LCA4MiwgNjksIDY1LCA3NiwgNzEsIAorICAgIDY1LCA4MiwgMTI4LCA4MiwgNjksIDY1LCA3MiwgNzcsIDg1LCA3NSwgMTI4LCA4MiwgNjksIDY1LCA2NywgNzIsIDEyOCwgCisgICAgODIsIDY4LCAyMDcsIDgyLCA2OCwgNjksIDIwNCwgODIsIDY2LCA2NSwgODMsIDE5MywgODIsIDY1LCA4OSwgODMsIDEyOCwgCisgICAgODIsIDY1LCA4OSwgMjExLCA4MiwgNjUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA4MiwgNjUsIDg0LCA3MywgNzksIAorICAgIDEyOCwgODIsIDY1LCA4NCwgNzIsIDY1LCAxMjgsIDgyLCA2NSwgODQsIDcyLCAxOTMsIDgyLCA2NSwgODQsIDY1LCAxMjgsIAorICAgIDgyLCA2NSwgODQsIDEyOCwgODIsIDY1LCA4MywgODcsIDY1LCA2OCwgNzMsIDEyOCwgODIsIDY1LCA4MywgNzksIDg1LCAKKyAgICAyMDQsIDgyLCA2NSwgODMsIDcyLCA2NSwgMTI4LCA4MiwgNjUsIDgxLCAxMjgsIDgyLCA2NSwgODAsIDczLCA4MywgNzcsIAorICAgIDY1LCAxMjgsIDgyLCA2NSwgNzgsIDcxLCAxOTcsIDgyLCA2NSwgNzgsIDY1LCAxMjgsIDgyLCA2NSwgNzgsIDEyOCwgODIsIAorICAgIDY1LCA3NywgMjExLCA4MiwgNjUsIDc3LCA2NiwgNjUsIDg0LCAxMjgsIDgyLCA2NSwgNzUsIDcyLCA2NSwgNzgsIDcxLCAKKyAgICAxMjgsIDgyLCA2NSwgNzUsIDY1LCA2NSwgODIsIDY1LCA2NSwgNzgsIDgzLCA2NSwgODksIDY1LCAxMjgsIDgyLCA2NSwgNzMsIAorICAgIDgzLCA3MywgNzgsIDE5OSwgODIsIDY1LCA3MywgODMsIDY5LCAxOTYsIDgyLCA2NSwgNzMsIDc4LCA2NiwgNzksIDg3LCAKKyAgICAxMjgsIDgyLCA2NSwgNzMsIDc2LCA4NywgNjUsIDg5LCAxMjgsIDgyLCA2NSwgNzMsIDc2LCA4NywgNjUsIDIxNywgODIsIAorICAgIDY1LCA3MywgNzYsIDEyOCwgODIsIDY1LCA3MywgNjgsIDIwNywgODIsIDY1LCA3MywgNjgsIDY1LCAxMjgsIDgyLCA2NSwgCisgICAgNzIsIDc3LCA2NSwgODQsIDg1LCA3NiwgNzYsIDY1LCAyMDAsIDgyLCA2NSwgNzIsIDEyOCwgODIsIDY1LCA3MCwgNjksIAorICAgIDEyOCwgODIsIDY1LCA2OSwgNzcsIDEyOCwgODIsIDY1LCA2OCwgNzMsIDc5LCA2NSwgNjcsIDg0LCA3MywgODYsIDE5NywgCisgICAgODIsIDY1LCA2OCwgNzMsIDc5LCAxMjgsIDgyLCA2NSwgNjgsIDczLCAyMDcsIDgyLCA2NSwgNjgsIDIwMSwgODIsIDY1LCAKKyAgICA2OCwgMTI4LCA4MiwgNjUsIDE5NiwgODIsIDY1LCA2NywgODEsIDg1LCA2OSwgMjEyLCA4MiwgNjUsIDY3LCA3MywgNzgsIAorICAgIDcxLCAxMjgsIDgyLCA2NSwgNjcsIDczLCA3OCwgMTk5LCA4MiwgNjUsIDY2LCA2NiwgNzMsIDg0LCAxMjgsIDgyLCA2NSwgCisgICAgNjYsIDY2LCA3MywgMjEyLCA4MiwgNjUsIDY2LCAxMjgsIDgyLCA2NSwgNjUsIDczLCAxMjgsIDgyLCA2NSwgNTEsIDEyOCwgCisgICAgODIsIDY1LCA1MCwgMTI4LCA4MiwgNjUsIDQ1LCA1MCwgMTI4LCA4MiwgNDgsIDUwLCA1NywgMTI4LCA4MiwgNDgsIDUwLCAKKyAgICA1NiwgMTI4LCA4MiwgNDgsIDUwLCA1NSwgMTI4LCA4MiwgNDgsIDUwLCA1NCwgMTI4LCA4MiwgNDgsIDUwLCA1MywgMTI4LCAKKyAgICA4MiwgNDgsIDUwLCA1MiwgMTI4LCA4MiwgNDgsIDUwLCA1MSwgMTI4LCA4MiwgNDgsIDUwLCA1MCwgMTI4LCA4MiwgNDgsIAorICAgIDUwLCA0OSwgMTI4LCA4MiwgNDgsIDUwLCA0OCwgMTI4LCA4MiwgNDgsIDQ5LCA1NywgMTI4LCA4MiwgNDgsIDQ5LCA1NiwgCisgICAgMTI4LCA4MiwgNDgsIDQ5LCA1NSwgMTI4LCA4MiwgNDgsIDQ5LCA1NCwgNjUsIDEyOCwgODIsIDQ4LCA0OSwgNTQsIDEyOCwgCisgICAgODIsIDQ4LCA0OSwgNTMsIDEyOCwgODIsIDQ4LCA0OSwgNTIsIDEyOCwgODIsIDQ4LCA0OSwgNTEsIDEyOCwgODIsIDQ4LCAKKyAgICA0OSwgNTAsIDEyOCwgODIsIDQ4LCA0OSwgNDksIDEyOCwgODIsIDQ4LCA0OSwgNDgsIDY1LCAxMjgsIDgyLCA0OCwgNDksIAorICAgIDQ4LCAxMjgsIDgyLCA0OCwgNDgsIDU3LCAxMjgsIDgyLCA0OCwgNDgsIDU2LCAxMjgsIDgyLCA0OCwgNDgsIDU1LCAxMjgsIAorICAgIDgyLCA0OCwgNDgsIDU0LCAxMjgsIDgyLCA0OCwgNDgsIDUzLCAxMjgsIDgyLCA0OCwgNDgsIDUyLCAxMjgsIDgyLCA0OCwgCisgICAgNDgsIDUxLCA2NiwgMTI4LCA4MiwgNDgsIDQ4LCA1MSwgNjUsIDEyOCwgODIsIDQ4LCA0OCwgNTEsIDEyOCwgODIsIDQ4LCAKKyAgICA0OCwgNTAsIDY1LCAxMjgsIDgyLCA0OCwgNDgsIDUwLCAxMjgsIDgyLCA0OCwgNDgsIDQ5LCAxMjgsIDgyLCA0NSwgNjcsIAorICAgIDgyLCA2OSwgMTk3LCA4MSwgODksIDg4LCAxMjgsIDgxLCA4OSwgODUsIDEyOCwgODEsIDg5LCA4NCwgMTI4LCA4MSwgODksIAorICAgIDgyLCA4OCwgMTI4LCA4MSwgODksIDgyLCAxMjgsIDgxLCA4OSwgODAsIDEyOCwgODEsIDg5LCA3OSwgMTI4LCA4MSwgODksIAorICAgIDczLCAxMjgsIDgxLCA4OSwgNjksIDY5LCAxMjgsIDgxLCA4OSwgNjksIDEyOCwgODEsIDg5LCA2NSwgNjUsIDEyOCwgODEsIAorICAgIDg5LCA2NSwgMTI4LCA4MSwgODksIDEyOCwgODEsIDg3LCA3MywgMTI4LCA4MSwgODcsIDY5LCA2OSwgMTI4LCA4MSwgODcsIAorICAgIDY5LCAxMjgsIDgxLCA4NywgNjUsIDY1LCAxMjgsIDgxLCA4NywgNjUsIDEyOCwgODEsIDg1LCA4OCwgMTI4LCA4MSwgODUsIAorICAgIDg2LCAxMjgsIDgxLCA4NSwgODUsIDg2LCAxMjgsIDgxLCA4NSwgODUsIDEyOCwgODEsIDg1LCA4NCwgMTI4LCA4MSwgODUsIAorICAgIDgzLCA3MiwgODMsIDcyLCA2NSwgODksIDY1LCAxMjgsIDgxLCA4NSwgODIsIDg4LCAxMjgsIDgxLCA4NSwgODIsIDEyOCwgCisgICAgODEsIDg1LCA4MCwgMTI4LCA4MSwgODUsIDc5LCA4OCwgMTI4LCA4MSwgODUsIDc5LCA4NCwgMTk3LCA4MSwgODUsIDc5LCAKKyAgICA4NCwgNjUsIDg0LCA3MywgNzksIDIwNiwgODEsIDg1LCA3OSwgODQsIDEyOCwgODEsIDg1LCA3OSwgODAsIDEyOCwgODEsIAorICAgIDg1LCA3OSwgMTI4LCA4MSwgODUsIDc1LCAxMjgsIDgxLCA4NSwgNzMsIDc4LCA4NCwgNjksIDgzLCA4MywgNjksIDc4LCA2NywgCisgICAgNjksIDEyOCwgODEsIDg1LCA3MywgNzgsIDY4LCA3MywgNjcsIDY5LCA4MywgNzMsIDc3LCAxOTMsIDgxLCA4NSwgNzMsIDc4LCAKKyAgICA2NywgODUsIDc4LCA4OCwgMTI4LCA4MSwgODUsIDczLCA3OCwgNjUsIDgyLCA3MywgODUsIDIxMSwgODEsIDg1LCA3MywgNzYsIAorICAgIDIxMiwgODEsIDg1LCA3MywgNzYsIDc2LCAxMjgsIDgxLCA4NSwgNzMsIDY3LCAyMDMsIDgxLCA4NSwgNzMsIDEyOCwgODEsIAorICAgIDg1LCA3MCwgMTI4LCA4MSwgODUsIDY5LCA4MywgODQsIDczLCA3OSwgNzgsIDY5LCAxOTYsIDgxLCA4NSwgNjksIDgzLCA4NCwgCisgICAgNzMsIDc5LCA3OCwgMTI4LCA4MSwgODUsIDY5LCA4MywgODQsIDczLCA3OSwgMjA2LCA4MSwgODUsIDY5LCA2OSwgNzgsIAorICAgIDEyOCwgODEsIDg1LCA2OSwgNjksIDIwNiwgODEsIDg1LCA2OSwgMTI4LCA4MSwgODUsIDY2LCA4NSwgODQsIDgzLCAxMjgsIAorICAgIDgxLCA4NSwgNjUsIDg0LCA2OSwgODIsIDc4LCA3MywgNzksIDIwNiwgODEsIDg1LCA2NSwgODIsIDg0LCA2OSwgODIsIDgzLCAKKyAgICAxMjgsIDgxLCA4NSwgNjUsIDgyLCA4NCwgNjksIDgyLCAyMTEsIDgxLCA4NSwgNjUsIDgyLCA4NCwgNjksIDgyLCAxMjgsIAorICAgIDgxLCA4NSwgNjUsIDgyLCA4NCwgNjksIDIxMCwgODEsIDg1LCA2NSwgNzgsIDg0LCA3MywgODQsIDIxNywgODEsIDg1LCA2NSwgCisgICAgNjgsIDgyLCA4NSwgODAsIDc2LCAxOTcsIDgxLCA4NSwgNjUsIDY4LCA4MiwgNjUsIDc4LCA4NCwgMTI4LCA4MSwgODUsIDY1LCAKKyAgICA2OCwgODIsIDY1LCA3OCwgMjEyLCA4MSwgODUsIDY1LCA2OCwgNjcsIDc5LCA3NiwgNzksIDc4LCAxMjgsIDgxLCA4NSwgNjUsIAorICAgIDY4LCAxMjgsIDgxLCA4NSwgNjUsIDE5NiwgODEsIDg1LCA2NSwgMTI4LCA4MSwgODUsIDEyOCwgODEsIDIwOCwgODEsIDc5LCAKKyAgICA4OCwgMTI4LCA4MSwgNzksIDg0LCAxMjgsIDgxLCA3OSwgODAsIDcyLCAxMjgsIDgxLCA3OSwgODAsIDY1LCAxMjgsIDgxLCAKKyAgICA3OSwgODAsIDEyOCwgODEsIDc5LCA3OSwgMTI4LCA4MSwgNzksIDIwNywgODEsIDc5LCA3MCwgMTI4LCA4MSwgNzksIDE5OCwgCisgICAgODEsIDc5LCA2NSwgMTI4LCA4MSwgNzksIDEyOCwgODEsIDc4LCAxMjgsIDgxLCA3MywgODgsIDEyOCwgODEsIDczLCA4NCwgCisgICAgODMsIDY1LCAxMjgsIDgxLCA3MywgODQsIDEyOCwgODEsIDczLCA4MCwgMTI4LCA4MSwgNzMsIDczLCAxMjgsIDgxLCA3MywgCisgICAgNjksIDg4LCAxMjgsIDgxLCA3MywgNjksIDg0LCAxMjgsIDgxLCA3MywgNjksIDgwLCAxMjgsIDgxLCA3MywgNjksIDEyOCwgCisgICAgODEsIDczLCAxMjgsIDgxLCA3MiwgODcsIDczLCAxMjgsIDgxLCA3MiwgODcsIDY5LCA2OSwgMTI4LCA4MSwgNzIsIDg3LCAKKyAgICA2OSwgMTI4LCA4MSwgNzIsIDg3LCA2NSwgNjUsIDEyOCwgODEsIDcyLCA4NywgNjUsIDEyOCwgODEsIDcyLCA4NSwgMTI4LCAKKyAgICA4MSwgNzIsIDc5LCA4MCwgNzIsIDEyOCwgODEsIDcyLCA3OSwgMTI4LCA4MSwgNzIsIDczLCAxMjgsIDgxLCA3MiwgNjksIAorICAgIDY5LCAxMjgsIDgxLCA3MiwgNjksIDEyOCwgODEsIDcyLCA2NSwgODUsIDEyOCwgODEsIDcyLCA2NSwgNjUsIDEyOCwgODEsIAorICAgIDcyLCA2NSwgMTI4LCA4MSwgNzEsIDY1LCAxMjgsIDgxLCA2OSwgODQsIDY1LCA3OCwgNjUsIDEyOCwgODEsIDY5LCA2OSwgCisgICAgMTI4LCA4MSwgNjksIDEyOCwgODEsIDY1LCA4OSwgMTI4LCA4MSwgNjUsIDg1LCAxMjgsIDgxLCA2NSwgODQsIDY1LCA3OCwgCisgICAgMTI4LCA4MSwgNjUsIDgyLCA3OCwgNjksIDIxNywgODEsIDY1LCA4MiwgMTI4LCA4MSwgNjUsIDgxLCAxMjgsIDgxLCA2NSwgCisgICAgODAsIDcyLCAxMjgsIDgxLCA2NSwgNzcsIDY1LCA4NCwgODMsIDEyOCwgODEsIDY1LCA3NywgNjUsIDg0LCAyMTEsIDgxLCAKKyAgICA2NSwgNzYsIDE5MywgODEsIDY1LCA3MywgODIsIDg0LCA3MiwgODIsIDY1LCAxMjgsIDgxLCA2NSwgNzMsIDEyOCwgODEsIAorICAgIDY1LCA3MCwgMTI4LCA4MSwgNjUsIDE5OCwgODEsIDY1LCA2OCwgNzcsIDY1LCAxMjgsIDgxLCA2NSwgNjUsIDczLCAxMjgsIAorICAgIDgxLCA2NSwgNjUsIDcwLCA4NSwgMTI4LCA4MSwgNjUsIDY1LCA3MCwgMTI4LCA4MSwgNDgsIDQ4LCA1NSwgMTI4LCA4MSwgCisgICAgNDgsIDQ4LCA1NCwgMTI4LCA4MSwgNDgsIDQ4LCA1MywgMTI4LCA4MSwgNDgsIDQ4LCA1MiwgMTI4LCA4MSwgNDgsIDQ4LCAKKyAgICA1MSwgMTI4LCA4MSwgNDgsIDQ4LCA1MCwgMTI4LCA4MSwgNDgsIDQ4LCA0OSwgMTI4LCA4MCwgOTAsIDEyOCwgODAsIDg5LCAKKyAgICA4OCwgMTI4LCA4MCwgODksIDg0LCAxMjgsIDgwLCA4OSwgODIsIDg4LCAxMjgsIDgwLCA4OSwgODIsIDEyOCwgODAsIDg5LCAKKyAgICA4MCwgMTI4LCA4MCwgODcsIDc5LCA4OSwgMTI4LCA4MCwgODcsIDc5LCA3OSwgMTI4LCA4MCwgODcsIDc5LCAxMjgsIDgwLCAKKyAgICA4NywgMjA3LCA4MCwgODcsIDczLCA3MywgMTI4LCA4MCwgODcsIDczLCAxMjgsIDgwLCA4NywgNjksIDY5LCAxMjgsIDgwLCAKKyAgICA4NywgNjksIDEyOCwgODAsIDg3LCA2NSwgNjUsIDEyOCwgODAsIDg3LCAxMjgsIDgwLCA4NiwgMTI4LCA4MCwgODUsIDg4LCAKKyAgICAxMjgsIDgwLCA4NSwgODUsIDg0LCAxMjgsIDgwLCA4NSwgODUsIDEyOCwgODAsIDg1LCA4NCwgODIsIDY5LCA3MCwgNjUsIAorICAgIDY3LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA4MCwgODUsIDg0LCAxMjgsIDgwLCA4NSwgMjEyLCA4MCwgODUsIDgzLCA3MiwgCisgICAgODAsIDczLCA3OCwgMTI4LCA4MCwgODUsIDgzLCA3MiwgODAsIDczLCA3NSwgNjUsIDEyOCwgODAsIDg1LCA4MywgNzIsIDczLCAKKyAgICA3OCwgMTk5LCA4MCwgODUsIDgyLCA4OCwgMTI4LCA4MCwgODUsIDgyLCA4MywgNjksIDEyOCwgODAsIDg1LCA4MiwgODAsIAorICAgIDc2LCAxOTcsIDgwLCA4NSwgODIsIDc4LCA2NSwgNzcsIDY1LCAxMjgsIDgwLCA4NSwgODIsIDczLCA4NCwgODksIDEyOCwgCisgICAgODAsIDg1LCA4MiwgNzMsIDcwLCA4OSwgMTI4LCA4MCwgODUsIDgyLCAxMjgsIDgwLCA4NSwgODEsIDEyOCwgODAsIDg1LCAKKyAgICA4MCwgMTI4LCA4MCwgODUsIDc5LCA4OCwgMTI4LCA4MCwgODUsIDc5LCA4MCwgMTI4LCA4MCwgODUsIDc5LCAxMjgsIDgwLCAKKyAgICA4NSwgNzgsIDcxLCA2NSwgNjUsIDc3LCAxMjgsIDgwLCA4NSwgNzgsIDcxLCAxMjgsIDgwLCA4NSwgNzgsIDY3LCA4NCwgODUsIAorICAgIDY1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA4MCwgODUsIDc4LCA2NywgODQsIDg1LCA2NSwgODQsIDczLCA3OSwgMjA2LCA4MCwgCisgICAgODUsIDc3LCA4MCwgMTI4LCA4MCwgODUsIDc3LCAxMjgsIDgwLCA4NSwgNjksIDEyOCwgODAsIDg1LCA2NiwgNzYsIDczLCAKKyAgICAxOTUsIDgwLCA4NSwgMTk0LCA4MCwgODUsIDY1LCA4MSwgMTI4LCA4MCwgODUsIDY1LCA2OSwgMTI4LCA4MCwgODUsIDUwLCAKKyAgICAxMjgsIDgwLCA4NSwgNDksIDEyOCwgODAsIDg1LCAxMjgsIDgwLCA4NCwgNzIsIDY1LCA3MiwgMTkzLCA4MCwgODQsIDY5LCAKKyAgICAxMjgsIDgwLCA4MywgNzMsIDc2LCAyMDEsIDgwLCA4MywgNzMsIDcwLCA3MywgODMsIDg0LCA3OSwgODMsIDg5LCA3OCwgNjUsIAorICAgIDcxLCA3NywgNjUsIDEyOCwgODAsIDgzLCA3MywgNzAsIDczLCA4MywgODQsIDc5LCA4MCwgNjUsIDgyLCA2NSwgNzUsIDY1LCAKKyAgICA3NiwgNjksIDgzLCA3NywgNjUsIDEyOCwgODAsIDgzLCA3MywgNzAsIDczLCA4MywgODQsIDc5LCAyMDYsIDgwLCA4MywgNzMsIAorICAgIDcwLCA3MywgODMsIDg0LCA3OSwgNzYsIDg5LCA3MSwgNzMsIDgzLCA3NywgNjUsIDEyOCwgODAsIDgzLCA3MywgMTI4LCA4MCwgCisgICAgODMsIDY1LCA3NiwgODQsIDY5LCAyMTAsIDgwLCA4MywgMTI4LCA4MCwgODIsIDc5LCA4NiwgNjksIDEyOCwgODAsIDgyLCAKKyAgICA3OSwgODQsIDc5LCA4NiwgNjUsIDgyLCA4OSwgMjExLCA4MCwgODIsIDc5LCA4NCwgNzksIDIxMSwgODAsIDgyLCA3OSwgODQsIAorICAgIDY5LCA2NywgODQsIDY5LCAxOTYsIDgwLCA4MiwgNzksIDgzLCA3MSwgNjksIDcxLCA4MiwgNjUsIDc3LCA3NywgNjksIDc4LCAKKyAgICA3MywgMTI4LCA4MCwgODIsIDc5LCA4MCwgNzksIDgyLCA4NCwgNzMsIDc5LCA3OCwgNjUsIDIwNCwgODAsIDgyLCA3OSwgODAsIAorICAgIDc5LCA4MiwgODQsIDczLCA3OSwgNzgsIDEyOCwgODAsIDgyLCA3OSwgODAsIDY5LCA4MiwgODQsIDIxNywgODAsIDgyLCA3OSwgCisgICAgODAsIDY5LCA3NiwgNzYsIDY5LCAyMTAsIDgwLCA4MiwgNzksIDc5LCA3MCwgMTI4LCA4MCwgODIsIDc5LCA3NiwgNzksIDc4LCAKKyAgICA3MSwgNjksIDE5NiwgODAsIDgyLCA3OSwgNzYsIDY1LCA4NCwgNzMsIDc5LCA3OCwgMTk3LCA4MCwgODIsIDc5LCA3NCwgNjksIAorICAgIDY3LCA4NCwgNzksIDgyLCAxMjgsIDgwLCA4MiwgNzksIDc0LCA2OSwgNjcsIDg0LCA3MywgODYsIDY5LCAxMjgsIDgwLCA4MiwgCisgICAgNzksIDc0LCA2OSwgNjcsIDg0LCA3MywgNzksIDc4LCAxMjgsIDgwLCA4MiwgNzksIDcyLCA3MywgNjYsIDczLCA4NCwgNjksIAorICAgIDE5NiwgODAsIDgyLCA3OSwgNzEsIDgyLCA2OSwgODMsIDgzLCAxMjgsIDgwLCA4MiwgNzksIDcxLCA4MiwgNjUsIDIwNSwgCisgICAgODAsIDgyLCA3OSwgNzAsIDc5LCA4NSwgNzgsIDY4LCAxMjgsIDgwLCA4MiwgNzksIDY4LCA4NSwgNjcsIDg0LCAxMjgsIDgwLCAKKyAgICA4MiwgNzksIDY4LCA4NSwgNjcsIDIxMiwgODAsIDgyLCA3MywgODYsIDY1LCA4NCwgNjksIDEyOCwgODAsIDgyLCA3MywgODYsIAorICAgIDY1LCA4NCwgMTk3LCA4MCwgODIsIDczLCA4NiwgNjUsIDY3LCAyMTcsIDgwLCA4MiwgNzMsIDgzLCA3MiwgODQsIDcyLCA2NSwgCisgICAgNzcsIDY1LCA4NCwgODIsIDE5MywgODAsIDgyLCA3MywgNzgsIDg0LCA4MywgMTI4LCA4MCwgODIsIDczLCA3OCwgODQsIDY5LCAKKyAgICA4MiwgMTI4LCA4MCwgODIsIDczLCA3OCwgODQsIDY5LCAyMTAsIDgwLCA4MiwgNzMsIDc4LCA4NCwgMTI4LCA4MCwgODIsIAorICAgIDczLCA3OCwgMjEyLCA4MCwgODIsIDczLCA3OCwgNjcsIDY5LCA4MywgODMsIDEyOCwgODAsIDgyLCA3MywgNzcsIDY5LCAKKyAgICAxMjgsIDgwLCA4MiwgNzMsIDc3LCAxOTcsIDgwLCA4MiwgNjksIDg2LCA3MywgNzksIDg1LCAyMTEsIDgwLCA4MiwgNjksIAorICAgIDgzLCA2OSwgODQsIDEyOCwgODAsIDgyLCA2OSwgODMsIDY5LCA3OCwgODQsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDgwLCA4MiwgCisgICAgNjksIDgzLCA2NywgODIsIDczLCA4MCwgODQsIDczLCA3OSwgMjA2LCA4MCwgODIsIDY5LCA4MCwgNzksIDc4LCA2OCwgNjksIAorICAgIDgyLCA2NSwgNzgsIDY3LCA2OSwgMTI4LCA4MCwgODIsIDY5LCA3OCwgNzUsIDcyLCA2NSwgMTI4LCA4MCwgODIsIDY5LCA3MCwgCisgICAgNjUsIDY3LCAxOTcsIDgwLCA4MiwgNjksIDY3LCA3MywgODAsIDczLCA4NCwgNjUsIDg0LCA2OSwgMTI4LCA4MCwgODIsIDY5LCAKKyAgICA2NywgNjksIDY4LCA3MywgNzgsIDE5OSwgODAsIDgyLCA2OSwgNjcsIDY5LCA2OCwgNjksIDgzLCAxMjgsIDgwLCA4MiwgNjksIAorICAgIDY3LCA2OSwgNjgsIDY5LCAyMTEsIDgwLCA4MiwgNjksIDY3LCA2OSwgNjgsIDY5LCAxOTYsIDgwLCA4MiwgNjksIDY3LCA2OSwgCisgICAgNjgsIDY5LCAxMjgsIDgwLCA4MiwgNjksIDY3LCA2OSwgNjgsIDE5NywgODAsIDgyLCA2NSwgNzcsIDQ1LCA4MCwgNzMsIDczLCAKKyAgICAxMjgsIDgwLCA4MiwgNjUsIDc3LCA0NSwgODAsIDczLCAyMDEsIDgwLCA4MiwgNjUsIDc3LCA0NSwgNzcsIDg1LCA3OSwgODksIAorICAgIDEyOCwgODAsIDgyLCA2NSwgNzcsIDQ1LCA3NywgODUsIDc5LCAyMTcsIDgwLCA4MiwgNjUsIDc3LCA0NSwgNjYsIDg1LCA3OSwgCisgICAgNzgsIDEyOCwgODAsIDgyLCA2NSwgNzcsIDQ1LCA2NiwgODUsIDc5LCAyMDYsIDgwLCA4MiwgNjUsIDc3LCA0NSwgNjYsIDY5LCAKKyAgICA3MywgMTI4LCA4MCwgODIsIDY1LCA3NywgNDUsIDY2LCA2OSwgMjAxLCA4MCwgODIsIDY1LCA3NywgMTI4LCA4MCwgODIsIAorICAgIDY1LCAyMDUsIDgwLCA4MiwgMTI4LCA4MCwgODAsIDg2LCAxMjgsIDgwLCA4MCwgNzcsIDEyOCwgODAsIDgwLCA2NSwgMTI4LCAKKyAgICA4MCwgNzksIDg5LCAxMjgsIDgwLCA3OSwgODgsIDEyOCwgODAsIDc5LCA4NywgNjksIDgyLCAyMTEsIDgwLCA3OSwgODcsIAorICAgIDY5LCA4MiwgMTI4LCA4MCwgNzksIDg3LCA2OCwgNjksIDgyLCA2OSwgMTk2LCA4MCwgNzksIDg3LCA2OCwgNjksIDgyLCAKKyAgICAxMjgsIDgwLCA3OSwgODUsIDc4LCAxOTYsIDgwLCA3OSwgODUsIDc2LCA4NCwgODIsIDIxNywgODAsIDc5LCA4NSwgNjcsIAorICAgIDcyLCAxMjgsIDgwLCA3OSwgODQsIDY1LCA4NCwgNzksIDEyOCwgODAsIDc5LCA4NCwgNjUsIDY2LCA3NiwgMTk3LCA4MCwgCisgICAgNzksIDIxMiwgODAsIDc5LCA4MywgODQsIDgwLCA3OSwgODMsIDczLCA4NCwgNzMsIDc5LCAyMDYsIDgwLCA3OSwgODMsIDg0LCAKKyAgICA2NiwgNzksIDg4LCAxMjgsIDgwLCA3OSwgODMsIDg0LCA2NSwgMjA0LCA4MCwgNzksIDgzLCA4NCwgMTI4LCA4MCwgNzksIAorICAgIDgzLCAyMTIsIDgwLCA3OSwgODMsIDgzLCA2OSwgODMsIDgzLCA3MywgNzksIDc4LCAxMjgsIDgwLCA3OSwgODIsIDg0LCA2NSwgCisgICAgNjYsIDc2LCAxOTcsIDgwLCA3OSwgODIsIDgyLCA2OSwgNjcsIDg0LCA4NSwgODMsIDEyOCwgODAsIDc5LCA4MiwgODIsIDY5LCAKKyAgICA2NywgODQsIDg1LCAyMTEsIDgwLCA3OSwgODAsIDgwLCA2OSwgODIsIDEyOCwgODAsIDc5LCA4MCwgMTI4LCA4MCwgNzksIAorICAgIDIwOCwgODAsIDc5LCA3OSwgNjgsIDc2LCA2OSwgMTI4LCA4MCwgNzksIDc5LCAxMjgsIDgwLCA3OSwgNzgsIDY4LCA3OSwgCisgICAgMTI4LCA4MCwgNzksIDIwNiwgODAsIDc5LCA3NywgNzcsIDY5LCA2OSwgMTI4LCA4MCwgNzksIDc3LCA3NywgNjksIDE5NywgCisgICAgODAsIDc5LCA3NiwgNzMsIDgzLCA3MiwgMTI4LCA4MCwgNzksIDc2LCA3MywgNjcsIDE5NywgODAsIDc5LCA3NiwgMjAxLCAKKyAgICA4MCwgNzksIDc2LCA2OSwgMTI4LCA4MCwgNzksIDc2LCAxOTcsIDgwLCA3OSwgNzUsIDgyLCA4OSwgODQsIDczLCA2OSwgCisgICAgMTI4LCA4MCwgNzksIDc1LCA3OSwgNzQsIDczLCAxMjgsIDgwLCA3OSwgNzMsIDc4LCA4NCwgMjExLCA4MCwgNzksIDczLCAKKyAgICA3OCwgODQsIDc5LCAxMjgsIDgwLCA3OSwgNzMsIDc4LCA4NCwgNjksIDgyLCAxMjgsIDgwLCA3OSwgNzMsIDc4LCA4NCwgNjksIAorICAgIDE5NiwgODAsIDc5LCA3MywgNzgsIDg0LCAxMjgsIDgwLCA3OSwgNzMsIDc4LCAyMTIsIDgwLCA3OSwgNjksIDg0LCA4MiwgCisgICAgMjE3LCA4MCwgNzksIDY5LCA4NCwgNzMsIDE5NSwgODAsIDc5LCA2OCwgNjUsIDg0LCA4NSwgODMsIDEyOCwgODAsIDc5LCAKKyAgICA2NywgNzUsIDY5LCAyMTIsIDgwLCA3OSwgNjUsIDEyOCwgODAsIDc5LCAxMjgsIDgwLCAyMDcsIDgwLCA3OCwgNjksIDg1LCAKKyAgICA3NywgNjUsIDg0LCA2NSwgMTI4LCA4MCwgNzYsIDg1LCA4NCwgNzksIDEyOCwgODAsIDc2LCA4NSwgODQsIDY1LCAxMjgsIAorICAgIDgwLCA3NiwgODUsIDgzLCA0NSwgNzcsIDczLCA3OCwgODUsIDIxMSwgODAsIDc2LCA4NSwgODMsIDEyOCwgODAsIDc2LCA4NSwgCisgICAgODIsIDY1LCA3NiwgMTI4LCA4MCwgNzYsIDg1LCA3NywgNjksIDE5NiwgODAsIDc2LCA4NSwgNzcsIDEyOCwgODAsIDc2LCAKKyAgICA4NSwgNzUsIDEyOCwgODAsIDc2LCA4NSwgNzEsIDEyOCwgODAsIDc2LCA4NSwgMTI4LCA4MCwgNzYsIDc5LCA4NywgMTI4LCAKKyAgICA4MCwgNzYsIDc5LCA4MCwgNzIsIDg1LCAxMjgsIDgwLCA3NiwgNzIsIDY1LCA4NSwgMTI4LCA4MCwgNzYsIDY5LCA4NCwgNzIsIAorICAgIDgyLCA3OSwgNzgsIDEyOCwgODAsIDc2LCA2OCwgMTI4LCA4MCwgNzYsIDY1LCA4OSwgNzMsIDc4LCAxOTksIDgwLCA3NiwgCisgICAgNjUsIDg0LCA2OSwgMTI4LCA4MCwgNzYsIDY1LCA4MywgODQsIDczLCA2NywgODMsIDEyOCwgODAsIDc2LCA2NSwgNzgsIDY5LCAKKyAgICAxMjgsIDgwLCA3NiwgNjUsIDc4LCAxOTcsIDgwLCA3NiwgNjUsIDc4LCA2NywgMjAzLCA4MCwgNzYsIDY1LCA3NSwgMTI4LCAKKyAgICA4MCwgNzYsIDY1LCA3MSwgNzMsIDc5LCAyMTEsIDgwLCA3NiwgNjUsIDY3LCA2OSwgNzIsIDc5LCA3NiwgNjgsIDY5LCAyMTAsIAorICAgIDgwLCA3NiwgNjUsIDY3LCAxOTcsIDgwLCA3NiwgNjUsIDEyOCwgODAsIDczLCA5MCwgOTAsIDczLCA2NywgNjUsIDg0LCA3OSwgCisgICAgMTI4LCA4MCwgNzMsIDkwLCA5MCwgNjUsIDEyOCwgODAsIDczLCA4OCwgMTI4LCA4MCwgNzMsIDg3LCA4MiwgMTI4LCA4MCwgCisgICAgNzMsIDg0LCA2NywgNzIsIDcwLCA3OSwgODIsIDc1LCAxMjgsIDgwLCA3MywgODQsIDY3LCA3MiwgNzAsIDc5LCA4MiwgMjAzLCAKKyAgICA4MCwgNzMsIDg0LCAxMjgsIDgwLCA3MywgODMsIDg0LCA3OSwgNzYsIDEyOCwgODAsIDczLCA4MywgNjksIDc2LCA2OSwgNzIsIAorICAgIDEyOCwgODAsIDczLCA4MywgNjcsIDY5LCA4MywgMTI4LCA4MCwgNzMsIDgyLCA3MywgNzEsIDEyOCwgODAsIDczLCA4MiwgCisgICAgNzMsIDE5OSwgODAsIDczLCA4MiwgNzMsIDY5LCA2OSwgNzgsIDEyOCwgODAsIDczLCA4MiwgNjUsIDY3LCA4OSwgMTI4LCAKKyAgICA4MCwgNzMsIDgyLCA1MCwgMTI4LCA4MCwgNzMsIDgwLCA3MywgNzgsIDcxLCAxMjgsIDgwLCA3MywgODAsIDY1LCA2OSwgNzcsIAorICAgIDcxLCA2NiwgNzMsIDY5LCA2OSwgMTI4LCA4MCwgNzMsIDgwLCA2NSwgNjksIDc3LCA2NiwgNjUsIDEyOCwgODAsIDczLCA4MCwgCisgICAgMTI4LCA4MCwgNzMsIDc4LCA4NywgNzIsIDY5LCA2OSwgMjA0LCA4MCwgNzMsIDc4LCA2OSwgNjUsIDgwLCA4MCwgNzYsIDY5LCAKKyAgICAxMjgsIDgwLCA3MywgNzgsIDE5NywgODAsIDczLCA3OCwgNjUsIDgyLCA2NiwgNzksIDgyLCA2NSwgODMsIDEyOCwgODAsIAorICAgIDczLCA3NiwgNzYsIDEyOCwgODAsIDczLCA3NiwgMTk3LCA4MCwgNzMsIDc2LCA2NywgODIsIDc5LCAyMTUsIDgwLCA3MywgCisgICAgNzUsIDg1LCA4MiwgODUsIDEyOCwgODAsIDczLCA3NSwgNzksIDEyOCwgODAsIDczLCA3MSwgMTI4LCA4MCwgNzMsIDE5OSwgCisgICAgODAsIDczLCA2OSwgODgsIDEyOCwgODAsIDczLCA2OSwgODUsIDgwLCA0NSwgODQsIDcyLCA3MywgNjksIDg1LCA4NCwgNzIsIAorICAgIDEyOCwgODAsIDczLCA2OSwgODUsIDgwLCA0NSwgODMsIDgzLCA2NSwgNzgsIDcxLCA4MywgNzMsIDc5LCA4MywgMTI4LCA4MCwgCisgICAgNzMsIDY5LCA4NSwgODAsIDQ1LCA4MywgNzMsIDc5LCA4MywgNDUsIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIDEyOCwgODAsIAorICAgIDczLCA2OSwgODUsIDgwLCA0NSwgODMsIDczLCA3OSwgODMsIDQ1LCA4NCwgNzIsIDczLCA2OSwgODUsIDg0LCA3MiwgMTI4LCAKKyAgICA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCA4MywgNzMsIDc5LCA4MywgNDUsIDgwLCA3MywgNjksIDg1LCA4MCwgMTI4LCA4MCwgCisgICAgNzMsIDY5LCA4NSwgODAsIDQ1LCA4MywgNzMsIDc5LCA4MywgNDUsIDc1LCA3MywgODksIDY5LCA3OSwgNzUsIDEyOCwgODAsIAorICAgIDczLCA2OSwgODUsIDgwLCA0NSwgODMsIDczLCA3OSwgODMsIDQ1LCA2NywgNzMsIDY5LCA4NSwgNjcsIDEyOCwgODAsIDczLCAKKyAgICA2OSwgODUsIDgwLCA0NSwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgODAsIDcyLCA3MywgNjksIDg1LCA4MCwgNzIsIDEyOCwgCisgICAgODAsIDczLCA2OSwgODUsIDgwLCA0NSwgODIsIDczLCA2OSwgODUsIDc2LCAxMjgsIDgwLCA3MywgNjksIDg1LCA4MCwgNDUsIAorICAgIDc4LCA3MywgNjksIDg1LCA3OCwgMTI4LCA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCA3NywgNzMsIDY5LCA4NSwgNzcsIDEyOCwgCisgICAgODAsIDczLCA2OSwgODUsIDgwLCA0NSwgNzUsIDcyLCA3MywgNjksIDg1LCA3NSwgNzIsIDEyOCwgODAsIDczLCA2OSwgODUsIAorICAgIDgwLCA0NSwgNjcsIDczLCA2OSwgODUsIDY3LCAxMjgsIDgwLCA3MywgNjksIDg1LCA4MCwgNDUsIDY3LCA3MiwgNzMsIDY5LCAKKyAgICA4NSwgNjcsIDcyLCAxMjgsIDgwLCA3MywgNjksIDg1LCAyMDgsIDgwLCA3MywgNjksIDg0LCAxMjgsIDgwLCA3MywgNjksIAorICAgIDgwLCAxMjgsIDgwLCA3MywgNjksIDY5LCA4NCwgMTI4LCA4MCwgNzMsIDY5LCA2OSwgODEsIDEyOCwgODAsIDczLCA2OSwgCisgICAgNjcsIDY5LCAxMjgsIDgwLCA3MywgNjksIDEyOCwgODAsIDczLCA2NywgODQsIDg1LCA4MiwgNjksIDEyOCwgODAsIDczLCAKKyAgICA2NywgNzUsIDY5LCA4NCwgMTI4LCA4MCwgNzMsIDY3LCA3NSwgMTI4LCA4MCwgNzMsIDY1LCA4MywgODUsIDg0LCA3OSwgODIsIAorICAgIDg1LCAxMjgsIDgwLCA3MywgNjUsIDgzLCA3NywgMTkzLCA4MCwgNzMsIDY1LCA3OCwgNzksIDEyOCwgODAsIDIwMSwgODAsIAorICAgIDcyLCA4NywgNjUsIDEyOCwgODAsIDcyLCA4NSwgODQsIDcyLCA2NSwgNzksIDEyOCwgODAsIDcyLCA4NSwgMjEwLCA4MCwgCisgICAgNzIsIDg1LCA3OCwgNzEsIDEyOCwgODAsIDcyLCA4MiwgNjUsIDgzLCA2OSwgMTI4LCA4MCwgNzIsIDc5LCA3OCwgNjksIDgzLCAKKyAgICAxMjgsIDgwLCA3MiwgNzksIDY5LCA3OCwgNzMsIDY3LCA3MywgNjUsIDIwNiwgODAsIDcyLCA3OSwgNjUsIDEyOCwgODAsIAorICAgIDcyLCA3OSwgMTI4LCA4MCwgNzIsIDIwNywgODAsIDcyLCA3OCwgNjUsIDY5LCAyMDMsIDgwLCA3MiwgNzMsIDc4LCA4NCwgCisgICAgNzIsIDg1LCAxMjgsIDgwLCA3MiwgNzMsIDc2LCA3OSwgODMsIDc5LCA4MCwgNzIsIDY5LCA4MiwgMjExLCA4MCwgNzIsIDczLCAKKyAgICA3NiwgNzMsIDgwLCA4MCwgNzMsIDc4LCAxOTcsIDgwLCA3MiwgNzMsIDY5LCA4NSwgODAsIDcyLCA0NSwgODQsIDcyLCA3MywgCisgICAgNjksIDg1LCA4NCwgNzIsIDEyOCwgODAsIDcyLCA3MywgNjksIDg1LCA4MCwgNzIsIDQ1LCA4MywgNzMsIDc5LCA4MywgMTI4LCAKKyAgICA4MCwgNzIsIDczLCA2OSwgODUsIDgwLCA3MiwgNDUsIDgwLCA3MywgNjksIDg1LCA4MCwgMTI4LCA4MCwgNzIsIDczLCA2OSwgCisgICAgODUsIDgwLCA3MiwgNDUsIDcyLCA3MywgNjksIDg1LCA3MiwgMTI4LCA4MCwgNzIsIDczLCA2OSwgODUsIDgwLCAyMDAsIDgwLCAKKyAgICA3MiwgNzMsIDEyOCwgODAsIDcyLCAyMDEsIDgwLCA3MiwgNjksIDY5LCAxMjgsIDgwLCA3MiwgNjksIDEyOCwgODAsIDcyLCAKKyAgICA2NSwgODMsIDY5LCA0NSwgMTk4LCA4MCwgNzIsIDY1LCA4MywgNjksIDQ1LCAxOTQsIDgwLCA3MiwgNjUsIDgyLCA4OSwgNzgsIAorICAgIDcxLCA2OSwgNjUsIDIwNCwgODAsIDcyLCA2NSwgODIsIDEyOCwgODAsIDcyLCA2NSwgNzgsIDEyOCwgODAsIDcyLCA2NSwgCisgICAgNzcsIDEyOCwgODAsIDcyLCA2NSwgNzMsIDgzLCA4NCwgNzksIDIxMSwgODAsIDcyLCA2NSwgNzEsIDgzLCA0NSwgODAsIAorICAgIDE5MywgODAsIDcyLCA2NSwgNjYsIDEyOCwgODAsIDcyLCA2NSwgNjUsIDgyLCA3NSwgNjUsIDY1LCAxMjgsIDgwLCA3MiwgCisgICAgNjUsIDY1LCAxMjgsIDgwLCA3MiwgNjUsIDEyOCwgODAsIDcxLCAxMjgsIDgwLCA3MCwgMTI4LCA4MCwgNjksIDg1LCA4OCwgCisgICAgMTI4LCA4MCwgNjksIDg1LCA4NCwgNjUsIDY5LCAxMjgsIDgwLCA2OSwgODUsIDg0LCAxMjgsIDgwLCA2OSwgODQsIDY1LCAKKyAgICA4MywgODQsIDc5LCA3NSwgNzksIDg1LCA3MCwgNzMsIDgzLCA3NywgNjUsIDEyOCwgODAsIDY5LCA4NCwgNjUsIDgzLCA4NCwgCisgICAgNzMsIDEyOCwgODAsIDY5LCA4NCwgNjUsIDgzLCA3NywgNjUsIDEyOCwgODAsIDY5LCA4NCwgNjUsIDc2LCA3NiwgNjksIAorICAgIDE5NiwgODAsIDY5LCA4MywgNzksIDEyOCwgODAsIDY5LCA4MywgMjA3LCA4MCwgNjksIDgzLCA3MiwgNTAsIDEyOCwgODAsIAorICAgIDY5LCA4MywgNzIsIDE3OCwgODAsIDY5LCA4MywgNjksIDg0LCAxOTMsIDgwLCA2OSwgMjExLCA4MCwgNjksIDgyLCA4NCwgCisgICAgNzIsIDIwNywgODAsIDY5LCA4MiwgODMsIDgwLCA2OSwgNjcsIDg0LCA3MywgODYsIDY5LCAxMjgsIDgwLCA2OSwgODIsIDgzLCAKKyAgICA3OSwgNzgsIDY1LCAyMDQsIDgwLCA2OSwgODIsIDgzLCA3OSwgNzgsIDEyOCwgODAsIDY5LCA4MiwgODMsIDc5LCAyMDYsIAorICAgIDgwLCA2OSwgODIsIDgzLCA3MywgNjUsIDIwNiwgODAsIDY5LCA4MiwgODMsIDY5LCA4NiwgNjksIDgyLCA3MywgNzgsIDE5OSwgCisgICAgODAsIDY5LCA4MiwgODAsIDY5LCA3OCwgNjgsIDczLCA2NywgODUsIDc2LCA2NSwgODIsIDEyOCwgODAsIDY5LCA4MiwgODAsIAorICAgIDY5LCA3OCwgNjgsIDczLCA2NywgODUsIDc2LCA2NSwgMjEwLCA4MCwgNjksIDgyLCA3OCwgNzMsIDIwNiwgODAsIDY5LCA4MiwgCisgICAgNzcsIDczLCA4NCwgODQsIDY5LCAxOTYsIDgwLCA2OSwgODIsIDc3LCA3MywgMTk1LCA4MCwgNjksIDgyLCA3NywgNjUsIDc4LCAKKyAgICA2OSwgNzgsIDIxMiwgODAsIDY5LCA4MiwgNzMsIDgzLCA4MCwgNzksIDc3LCA2OSwgNzgsIDczLCAxMjgsIDgwLCA2OSwgODIsIAorICAgIDczLCA4MywgODAsIDc5LCA3NywgNjksIDc4LCAyMDEsIDgwLCA2OSwgODIsIDcwLCA3OSwgODIsIDc3LCA3MywgNzgsIDE5OSwgCisgICAgODAsIDY5LCA4MiwgNzAsIDY5LCA2NywgODQsIDg1LCAyMDUsIDgwLCA2OSwgODIsIDcwLCA2OSwgNjcsIDg0LCA2NSwgMTI4LCAKKyAgICA4MCwgNjksIDgyLCA3MCwgNjksIDY3LCA4NCwgMTkzLCA4MCwgNjksIDgyLCA2NywgODUsIDgzLCA4MywgNzMsIDg2LCA2OSwgCisgICAgMTI4LCA4MCwgNjksIDgyLCA2NywgNjksIDc4LCAyMTIsIDgwLCA2OSwgODAsIDgwLCA2OSwgODIsIDEyOCwgODAsIDY5LCAKKyAgICA4MCwgNjksIDg0LCAxMjgsIDgwLCA2OSwgODAsIDY5LCAyMTIsIDgwLCA2OSwgNzksIDgyLCA4NCwgMjAwLCA4MCwgNjksIAorICAgIDc5LCA4MCwgNzYsIDY5LCAxMjgsIDgwLCA2OSwgNzgsIDg0LCA2NSwgODMsIDY5LCA3NywgNjksIDEyOCwgODAsIDY5LCA3OCwgCisgICAgODQsIDY1LCA3MSwgODIsIDY1LCA3NywgMTI4LCA4MCwgNjksIDc4LCA4NCwgNjUsIDcxLCA3OSwgNzgsIDEyOCwgODAsIDY5LCAKKyAgICA3OCwgODMsIDg1LCAxMjgsIDgwLCA2OSwgNzgsIDgzLCA3MywgODYsIDE5NywgODAsIDY5LCA3OCwgNzgsIDIxNywgODAsIAorICAgIDY5LCA3OCwgNzgsIDY1LCA3OCwgODQsIDEyOCwgODAsIDY5LCA3OCwgNzMsIDcyLCA3MywgMTI4LCA4MCwgNjksIDc4LCA3MSwgCisgICAgODUsIDczLCA3OCwgMTI4LCA4MCwgNjksIDc4LCA3MSwgNzUsIDY1LCA3NiwgMTI4LCA4MCwgNjksIDc4LCA2OSwgODQsIDgyLCAKKyAgICA2NSwgODQsIDczLCA3OSwgNzgsIDEyOCwgODAsIDY5LCA3OCwgNjcsIDczLCA3NiwgMTI4LCA4MCwgNjksIDIwNiwgODAsIAorICAgIDY5LCA3NiwgNjUsIDgzLCA4NCwgNzksIDc4LCAxMjgsIDgwLCA2OSwgNzYsIDY1LCA4MywgODQsIDc5LCAyMDYsIDgwLCA2OSwgCisgICAgNzMsIDg0LCA3MiwgMTI4LCA4MCwgNjksIDcyLCA2OSwgNzIsIDEyOCwgODAsIDY5LCA3MiwgNjksIDIwMCwgODAsIDY5LCAKKyAgICA3MiwgMTI4LCA4MCwgNjksIDIwMCwgODAsIDY5LCA2OSwgOTAsIDczLCAxMjgsIDgwLCA2OSwgNjksIDgzLCA3MiwgNzMsIAorICAgIDEyOCwgODAsIDY5LCA2OSwgODAsIDEyOCwgODAsIDY5LCA2OSwgNzcsIDEyOCwgODAsIDY5LCA2OSwgNzMsIDEyOCwgODAsIAorICAgIDY5LCA2OSwgMTI4LCA4MCwgNjksIDY4LCA2OSwgODMsIDg0LCA4MiwgNzMsIDY1LCA3OCwgODMsIDEyOCwgODAsIDY5LCA2OCwgCisgICAgNjksIDgzLCA4NCwgODIsIDczLCA2NSwgNzgsIDEyOCwgODAsIDY5LCA2OCwgNjksIDgzLCA4NCwgNjUsIDc2LCAxMjgsIDgwLCAKKyAgICA2OSwgNjgsIDY5LCA4MywgODQsIDY1LCAyMDQsIDgwLCA2OSwgNjgsIDY1LCAyMDQsIDgwLCA2OSwgNjUsIDY3LCA3MiwgCisgICAgMTI4LCA4MCwgNjksIDY1LCA2NywgNjksIDEyOCwgODAsIDY5LCA2NSwgNjcsIDE5NywgODAsIDY4LCA3MywgMTI4LCA4MCwgCisgICAgNjgsIDcwLCAxMjgsIDgwLCA2OCwgMTI4LCA4MCwgNjcsIDEyOCwgODAsIDY1LCA5MCwgNjksIDgyLCAxMjgsIDgwLCA2NSwgCisgICAgODksIDY5LCA4MiwgNzksIDc1LCAxMjgsIDgwLCA2NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDgwLCA2NSwgODksIAorICAgIDEyOCwgODAsIDY1LCA4OCwgMTI4LCA4MCwgNjUsIDg3LCA3OCwgMTI4LCA4MCwgNjUsIDIxNSwgODAsIDY1LCA4NiwgNzMsIAorICAgIDg5LCA2NSwgNzgsIDczLCAxMjgsIDgwLCA2NSwgODUsIDEyOCwgODAsIDY1LCAyMTMsIDgwLCA2NSwgODQsIDg0LCA2OSwgCisgICAgODIsIDc4LCAxMjgsIDgwLCA2NSwgODQsIDcyLCA2NSwgNzcsIDY1LCA4MywgNjUsIDg0LCAxMjgsIDgwLCA2NSwgODQsIAorICAgIDIwMCwgODAsIDY1LCA4NCwgNjUsIDc1LCAxMjgsIDgwLCA2NSwgODQsIDY1LCA3MiwgMTI4LCA4MCwgNjUsIDg0LCAxMjgsIAorICAgIDgwLCA2NSwgODMsIDg1LCA4MSwgMTI4LCA4MCwgNjUsIDgzLCA4MywgODAsIDc5LCA4MiwgMjEyLCA4MCwgNjUsIDgzLCA4MywgCisgICAgNzMsIDg2LCA2OSwgNDUsIDgwLCA4NSwgNzYsIDc2LCA0NSwgODUsIDgwLCA0NSwgNzksIDg1LCA4NCwgODAsIDg1LCAyMTIsIAorICAgIDgwLCA2NSwgODMsIDgzLCA3MywgODYsIDY5LCA0NSwgODAsIDg1LCA3NiwgNzYsIDQ1LCA2OCwgNzksIDg3LCA3OCwgNDUsIAorICAgIDc5LCA4NSwgODQsIDgwLCA4NSwgMjEyLCA4MCwgNjUsIDgzLCA4MywgNjksIDc4LCA3MSwgNjksIDIxMCwgODAsIDY1LCA4MywgCisgICAgNzIsIDg0LCA2NSwgMTI4LCA4MCwgNjUsIDgzLCA3MiwgNjUsIDY5LCAxMjgsIDgwLCA2NSwgODMsIDY5LCA4MSwgMTI4LCAKKyAgICA4MCwgNjUsIDgzLCA2NSwgNzgsIDcxLCA2NSwgMjA2LCA4MCwgNjUsIDgyLCA4NSwgNzcsIDEyOCwgODAsIDY1LCA4MiwgODQsIAorICAgIDIxNywgODAsIDY1LCA4MiwgODQsIDc4LCA2OSwgODIsIDgzLCA3MiwgNzMsIDIwOCwgODAsIDY1LCA4MiwgODQsIDczLCA2NSwgCisgICAgNzYsIDc2LCA4OSwgNDUsIDgyLCA2OSwgNjcsIDg5LCA2NywgNzYsIDY5LCAxOTYsIDgwLCA2NSwgODIsIDg0LCA3MywgNjUsIAorICAgIDIwNCwgODAsIDY1LCA4MiwgODQsIDcyLCA3MywgNjUsIDIwNiwgODAsIDY1LCA4MiwgMjEyLCA4MCwgNjUsIDgyLCA3NSwgCisgICAgMTI4LCA4MCwgNjUsIDgyLCA3MywgNjcsIDcyLCA3OSwgNzgsIDEyOCwgODAsIDY1LCA4MiwgNjksIDgzLCA4NCwgNzMsIDcxLCAKKyAgICA3NywgNjksIDc4LCA3OSwgMjA2LCA4MCwgNjUsIDgyLCA2OSwgODIsIDY5LCA3OCwgMTI4LCA4MCwgNjUsIDgyLCA2OSwgNzgsIAorICAgIDg0LCA3MiwgNjksIDgzLCA3MywgODMsIDEyOCwgODAsIDY1LCA4MiwgNjksIDc4LCA4NCwgNzIsIDY5LCA4MywgNzMsIDIxMSwgCisgICAgODAsIDY1LCA4MiwgNjksIDc4LCA4NCwgNzIsIDY5LCA4MywgNjksIDIxMSwgODAsIDY1LCA4MiwgNjUsIDgwLCA3MiwgODIsIAorICAgIDY1LCA4MywgMTk3LCA4MCwgNjUsIDgyLCA2NSwgNzYsIDc2LCA2OSwgNzYsIDc5LCA3MSwgODIsIDY1LCA3NywgMTI4LCA4MCwgCisgICAgNjUsIDgyLCA2NSwgNzYsIDc2LCA2OSwgNzYsIDEyOCwgODAsIDY1LCA4MiwgNjUsIDc2LCA3NiwgNjksIDIwNCwgODAsIDY1LCAKKyAgICA4MiwgNjUsIDc1LCA3NiwgNzMsIDg0LCA3MywgNzUsIDczLCAxMjgsIDgwLCA2NSwgODIsIDY1LCA3NSwgNzYsIDczLCA4NCwgCisgICAgNzMsIDc1LCAyMDEsIDgwLCA2NSwgODIsIDY1LCA3NSwgNjUsIDc2LCA2OSwgODMsIDc3LCAxOTMsIDgwLCA2NSwgODIsIDY1LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDc5LCA4MywgMTI4LCA4MCwgNjUsIDgyLCA2NSwgNzEsIDgyLCA2NSwgODAsIDcyLCAxMjgsIAorICAgIDgwLCA2NSwgODIsIDY1LCA3MSwgODIsIDY1LCA4MCwgMjAwLCA4MCwgNjUsIDgyLCA2NSwgMTI4LCA4MCwgNjUsIDgyLCAKKyAgICAxMjgsIDgwLCA2NSwgODAsIDg5LCA4MiwgODUsIDgzLCAxMjgsIDgwLCA2NSwgODAsIDY5LCA4MiwgNjcsIDc2LCA3MywgODAsIAorICAgIDgzLCAxMjgsIDgwLCA2NSwgODAsIDY5LCA4MiwgNjcsIDc2LCA3MywgODAsIDEyOCwgODAsIDY1LCA4MCwgNjksIDIxMCwgCisgICAgODAsIDY1LCA4MCwgMTI4LCA4MCwgNjUsIDIwOCwgODAsIDY1LCAyMDcsIDgwLCA2NSwgNzgsIDg5LCA4NSwgNzUsIDg1LCAKKyAgICAxMjgsIDgwLCA2NSwgNzgsIDg5LCA3MywgNzUsIDg1LCAxMjgsIDgwLCA2NSwgNzgsIDg5LCA2OSwgNjcsIDY5LCA3NSwgCisgICAgMTI4LCA4MCwgNjUsIDc4LCA4OSwgNjUsIDc4LCA3MSwgNzEsIDY1LCAxMjgsIDgwLCA2NSwgNzgsIDg5LCA2NSwgNzUsIDgyLCAKKyAgICA2NSwgMTI4LCA4MCwgNjUsIDc4LCA4NCwgNzMsIDEyOCwgODAsIDY1LCA3OCwgODMsIDczLCA3OSwgODMsIDQ1LCA4MCwgNzMsIAorICAgIDY5LCA4NSwgODAsIDEyOCwgODAsIDY1LCA3OCwgODMsIDczLCA3OSwgODMsIDQ1LCA3NSwgNjUsIDgwLCA4OSwgNjksIDc5LCAKKyAgICA4NSwgNzgsIDgwLCA3MywgNjksIDg1LCA4MCwgMTI4LCA4MCwgNjUsIDc4LCA3OSwgNzgsIDcxLCA3OSwgNzgsIDY1LCA3OCwgCisgICAgMTI4LCA4MCwgNjUsIDc4LCA3OSwgNzYsIDc5LCA3OCwgNzEsIDEyOCwgODAsIDY1LCA3OCwgNzEsIDg3LCA3MywgODMsIDY1LCAKKyAgICA2OCwgMTI4LCA4MCwgNjUsIDc4LCA3MSwgODIsIDY1LCA3OCwgNzEsIDc1LCA2OSwgODAsIDEyOCwgODAsIDY1LCA3OCwgNzEsIAorICAgIDc5LCA3NiwgNjUsIDg0LCAxMjgsIDgwLCA2NSwgNzgsIDcxLCA3NiwgNzksIDc4LCA3MSwgMTI4LCA4MCwgNjUsIDc4LCA3MSwgCisgICAgNzYsIDY1LCA4OSwgNjUsIDgyLCAxMjgsIDgwLCA2NSwgNzgsIDcxLCA3NSwgNzksIDc4LCAxMjgsIDgwLCA2NSwgNzgsIDcxLCAKKyAgICA3NSwgNjUsIDg0LCAxMjgsIDgwLCA2NSwgNzgsIDcxLCA3MiwgODUsIDc2LCA4NSwgMTI4LCA4MCwgNjUsIDc4LCA3MSwgCisgICAgMTI4LCA4MCwgNjUsIDc4LCA2OSwgODUsIDc2LCA2OSwgODUsIDc4LCA3MSwgMTI4LCA4MCwgNjUsIDc4LCA2OCwgMTkzLCAKKyAgICA4MCwgNjUsIDc4LCA2NSwgNjksIDc2LCA2NSwgNjksIDc4LCA3MSwgMTI4LCA4MCwgNjUsIDc4LCAxMjgsIDgwLCA2NSwgNzcsIAorICAgIDg1LCA3OCwgNzEsIDc1LCA2NSwgNzIsIDEyOCwgODAsIDY1LCA3NywgODUsIDY4LCA4MCwgNzksIDY4LCAxMjgsIDgwLCA2NSwgCisgICAgNzcsIDgzLCA3MiwgNjUsIDY5LCAxMjgsIDgwLCA2NSwgNzcsIDgwLCA3MiwgODksIDc2LCA3MywgNjUsIDIwNiwgODAsIDY1LCAKKyAgICA3NywgNzMsIDc4LCA3MSwgNzUsIDY1LCA3NiwgMTI4LCA4MCwgNjUsIDc3LCA2OSwgODAsIDY5LCA4NCwgMTI4LCA4MCwgNjUsIAorICAgIDc3LCA2OSwgNzgsIDY5LCA3OCwgNzEsIDEyOCwgODAsIDY1LCA3NywgNjUsIDY4LCA2NSwgMTI4LCA4MCwgNjUsIDc3LCA2NSwgCisgICAgNjUsIDY5LCA3MiwgMTI4LCA4MCwgNjUsIDc2LCA4NSwgODQsIDY1LCAxMjgsIDgwLCA2NSwgNzYsIDc5LCA2NywgNzIsIDc1LCAKKyAgICA2NSwgMTI4LCA4MCwgNjUsIDc2LCA3NywgODksIDgyLCA2OSwgNzgsIDE5NywgODAsIDY1LCA3NiwgMjA1LCA4MCwgNjUsIAorICAgIDc2LCA3NiwgNjUsIDg3LCA2NSwgMTI4LCA4MCwgNjUsIDc2LCA3NiwgNjUsIDgzLCAxMjgsIDgwLCA2NSwgNzYsIDY5LCA4NCwgCisgICAgODQsIDY5LCAxMjgsIDgwLCA2NSwgNzYsIDY1LCA4NSwgNzgsIDE5OSwgODAsIDY1LCA3NiwgNjUsIDg0LCA2NSwgNzYsIDczLCAKKyAgICA5MCwgNjksIDE5NiwgODAsIDY1LCA3NiwgNjUsIDg0LCA2NSwgNzYsIDczLCA5MCwgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIAorICAgIDgwLCA2NSwgNzYsIDY1LCA4NCwgNjUsIDIwNCwgODAsIDY1LCA3NSwgODAsIDY1LCAyMDMsIDgwLCA2NSwgNzMsIDg5LCA2NSwgCisgICAgNzgsIDc4LCA3OSwgNzMsIDEyOCwgODAsIDY1LCA3MywgODIsIDg0LCA3MiwgODIsIDY1LCAxMjgsIDgwLCA2NSwgNzMsIDgyLCAKKyAgICA2OSwgMTk2LCA4MCwgNjUsIDczLCA3OCwgODQsIDY2LCA4MiwgODUsIDgzLCA3MiwgMTI4LCA4MCwgNjUsIDczLCAxMjgsIAorICAgIDgwLCA2NSwgNzIsIDc2LCA2NSwgODYsIDIwMSwgODAsIDY1LCA3MiwgMTI4LCA4MCwgNjUsIDcxLCA2OSwgODMsIDEyOCwgCisgICAgODAsIDY1LCA3MSwgNjksIDgyLCAxMjgsIDgwLCA2NSwgNzEsIDE5NywgODAsIDY1LCA2OCwgNzcsIDE5MywgODAsIDY1LCAKKyAgICA2OCwgNjgsIDczLCA3OCwgMTk5LCA4MCwgNjUsIDY4LCAxOTMsIDgwLCA2NSwgNjgsIDEyOCwgODAsIDY1LCA2NywgNzUsIAorICAgIDczLCA3OCwgNzEsIDEyOCwgODAsIDY1LCA2NywgNzUsIDY1LCA3MSwgNjksIDEyOCwgODAsIDY1LCA2NSwgODQsIDg1LCAKKyAgICAxMjgsIDgwLCA2NSwgNjUsIDgzLCA2OSwgNzgsIDg0LCA3OSwgMTI4LCA4MCwgNjUsIDY1LCA4MiwgNjUsIDY5LCAxMjgsIAorICAgIDgwLCA2NSwgNjUsIDc3LCAxMjgsIDgwLCA2NSwgNjUsIDczLCAxMjgsIDgwLCA2NSwgNjUsIDQ1LCA4MCwgNzMsIDc2LCA3NiwgCisgICAgNjUsIDEyOCwgODAsIDY1LCA2NSwgMTI4LCA4MCwgNTAsIDEyOCwgODAsIDQ4LCA0OSwgNDksIDEyOCwgODAsIDQ4LCA0OSwgCisgICAgNDgsIDEyOCwgODAsIDQ4LCA0OCwgNTcsIDEyOCwgODAsIDQ4LCA0OCwgNTYsIDEyOCwgODAsIDQ4LCA0OCwgNTUsIDEyOCwgCisgICAgODAsIDQ4LCA0OCwgNTQsIDEyOCwgODAsIDQ4LCA0OCwgNTMsIDEyOCwgODAsIDQ4LCA0OCwgNTIsIDEyOCwgODAsIDQ4LCAKKyAgICA0OCwgNTEsIDY1LCAxMjgsIDgwLCA0OCwgNDgsIDUxLCAxMjgsIDgwLCA0OCwgNDgsIDUwLCAxMjgsIDgwLCA0OCwgNDgsIAorICAgIDQ5LCA2NSwgMTI4LCA4MCwgNDgsIDQ4LCA0OSwgMTI4LCA3OSwgODksIDgyLCA2NSwgNzgsIDczLCA4MywgNzcsIDE5MywgCisgICAgNzksIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA3OSwgODgsIDczLCA2NSwgMTI4LCA3OSwgODgsIDczLCAxOTMsIDc5LCAKKyAgICA4OCwgNjksIDczLCA2NSwgMjAxLCA3OSwgODgsIDY5LCA3MywgMTkzLCA3OSwgODYsIDY5LCA4MiwgODIsIDczLCA2OCwgNjksIAorICAgIDEyOCwgNzksIDg2LCA2OSwgODIsIDc2LCA3OSwgNzgsIDE5OSwgNzksIDg2LCA2OSwgODIsIDc2LCA3MywgNzgsIDY5LCAKICAgICAxMjgsIDc5LCA4NiwgNjksIDgyLCA3NiwgNjUsIDg5LCAxMjgsIDc5LCA4NiwgNjksIDgyLCA3NiwgNjUsIDgwLCA4MCwgNzMsIAotICAgIDc4LCAxOTksIDc5LCA4NiwgNjksIDgyLCA3NiwgNjUsIDczLCA2OCwgMTI4LCA3OSwgODYsIDY5LCA4MiwgNjYsIDY1LCA4MiwgCi0gICAgMTI4LCA3OSwgODYsIDY1LCAyMDQsIDc5LCA4NiwgMTI4LCA3OSwgODUsIDg0LCA3NiwgNzMsIDc4LCA2OSwgMTk2LCA3OSwgCi0gICAgODUsIDg0LCA3NiwgNzMsIDc4LCA2OSwgMTI4LCA3OSwgODUsIDg0LCA2OSwgMjEwLCA3OSwgODUsIDg0LCA2NiwgNzksIAotICAgIDIxNiwgNzksIDg1LCA3OCwgNzUsIDczLCAxOTMsIDc5LCA4NSwgNzgsIDY3LCA2OSwgMTI4LCA3OSwgODUsIDc4LCA2NywgCi0gICAgMTk3LCA3OSwgODQsIDg1LCAxMjgsIDc5LCA4NCwgODQsIDY1LCA4NiwgMTkzLCA3OSwgODQsIDg0LCAxMjgsIDc5LCA4NCwgCi0gICAgNzIsIDY1LCA3NiwgNjUsIDIwNiwgNzksIDg0LCA3MiwgNjUsIDc2LCAxMjgsIDc5LCA4MywgNzcsIDY1LCA3OCwgODksIAotICAgIDE5MywgNzksIDgzLCA2NywgMTI4LCA3OSwgODIsIDg0LCA3MiwgNzksIDcxLCA3OSwgNzgsIDY1LCAyMDQsIDc5LCA4MiwgCi0gICAgODQsIDcyLCA3OSwgNjgsIDc5LCAyMTYsIDc5LCA4MiwgNzgsIDY1LCA4NCwgMTk3LCA3OSwgODIsIDc4LCA2NSwgNzcsIDY5LCAKLSAgICA3OCwgODQsIDEyOCwgNzksIDgyLCA3OCwgNjUsIDc3LCA2OSwgNzgsIDIxMiwgNzksIDgyLCA3NSwgNzIsIDc5LCAyMDYsIAotICAgIDc5LCA4MiwgNzMsIDcxLCA3MywgNzgsIDY1LCAyMDQsIDc5LCA4MiwgNzMsIDcxLCA3MywgNzgsIDEyOCwgNzksIDgyLCA2OSwgCi0gICAgNDUsIDUwLCAxMjgsIDc5LCA4MiwgNjgsIDczLCA3OCwgNjUsIDIwNCwgNzksIDgyLCA2OCwgNjksIDIxMCwgNzksIDgyLCAKLSAgICA2NywgNzIsIDczLCA2OCwgMTI4LCA3OSwgODIsIDY1LCA3OCwgNzEsIDE5NywgNzksIDgwLCA4NCwgNzMsIDc5LCAyMDYsIAotICAgIDc5LCA4MCwgODQsIDczLCA2NywgNjUsIDIwNCwgNzksIDgwLCA4MCwgODIsIDY5LCA4MywgODMsIDczLCA3OSwgNzgsIDEyOCwgCi0gICAgNzksIDgwLCA4MCwgNzksIDgzLCA3MywgODQsIDczLCA3OSwgNzgsIDEyOCwgNzksIDgwLCA4MCwgNzksIDgzLCA3MywgNzgsIAotICAgIDE5OSwgNzksIDgwLCA4MCwgNzksIDgzLCA2OSwgMTI4LCA3OSwgODAsIDcyLCA3MywgODUsIDY3LCA3MiwgODUsIDgzLCAKLSAgICAxMjgsIDc5LCA4MCwgNjksIDgyLCA2NSwgODQsIDc5LCA4MiwgMTI4LCA3OSwgODAsIDY5LCA4MiwgNjUsIDg0LCA3OSwgCi0gICAgMjEwLCA3OSwgODAsIDY5LCA4MiwgNjUsIDg0LCA3MywgNzgsIDE5OSwgNzksIDgwLCA2OSwgNzgsIDczLCA3OCwgMTk5LCAKLSAgICA3OSwgODAsIDY5LCA3OCwgNDUsIDgwLCAxMjgsIDc5LCA4MCwgNjksIDc4LCA0NSwgNzksIDg1LCA4NCwgNzYsIDczLCA3OCwgCi0gICAgNjksIDE5NiwgNzksIDgwLCA2OSwgNzgsIDQ1LCA3MiwgNjksIDY1LCA2OCwgNjksIDE5NiwgNzksIDgwLCA2OSwgNzgsIDQ1LCAKLSAgICA2NywgNzMsIDgyLCA2NywgODUsIDczLCA4NCwgNDUsIDc5LCA4NSwgODQsIDgwLCA4NSwgMjEyLCA3OSwgNzksIDkwLCA2OSwgCi0gICAgMTI4LCA3OSwgNzksIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA3OSwgNzksIDg1LCAxMjgsIDc5LCA3OSwgNzcsIDg1LCAKLSAgICAxMjgsIDc5LCA3OSwgNjksIDEyOCwgNzksIDc5LCA2NiwgNzksIDc5LCA3MCwgNzMsIDc2LCA3MywgMTI4LCA3OSwgNzgsIAotICAgIDg1LCAxMjgsIDc5LCA3OCwgODMsIDg1LCAxMjgsIDc5LCA3OCwgNzgsIDEyOCwgNzksIDc4LCA3NSwgNjUsIDgyLCAxMjgsIAotICAgIDc5LCA3OCwgNjksIDgzLCA2OSwgNzYsIDcwLCAxMjgsIDc5LCA3OCwgNjksIDQ1LCA4NywgNjUsIDIxNywgNzksIDc4LCA2OSwgCi0gICAgNDUsIDg0LCA3MiwgNzMsIDgyLCA4NCwgODksIDEyOCwgNzksIDc4LCA2OSwgNDUsIDc2LCA3MywgNzgsIDE5NywgNzksIDc4LCAKLSAgICA2NywgNzksIDc3LCA3MywgNzgsIDE5OSwgNzksIDc4LCA2NSwgODAsIDEyOCwgNzksIDc3LCA3MywgODMsIDgzLCA3MywgNzksIAotICAgIDIwNiwgNzksIDc3LCA3MywgNjcsIDgyLCA3OSwgNzgsIDEyOCwgNzksIDc3LCA3MywgNjcsIDgyLCA3OSwgMjA2LCA3OSwgCi0gICAgNzcsIDY5LCA3MSwgNjUsIDEyOCwgNzksIDc3LCA2OSwgNzEsIDE5MywgNzksIDc3LCA2NSwgNzYsIDc5LCA3OCwgMTI4LCAKLSAgICA3OSwgNzYsIDczLCA4NiwgNjksIDEyOCwgNzksIDc2LCA3MywgNzEsIDc5LCAyMDYsIDc5LCA3NiwgNjgsIDEyOCwgNzksIAotICAgIDc1LCA4NCwgMjA3LCA3OSwgNzUsIDY1LCA4MiwgNjUsIDEyOCwgNzksIDc1LCA2NSwgODIsIDE5MywgNzksIDc0LCA3MywgCi0gICAgNjYsIDg3LCA2NSwgMjE3LCA3OSwgNzQsIDY5LCA3OSwgNzgsIDEyOCwgNzksIDczLCA3NiwgMTI4LCA3OSwgNzIsIDc3LCAKLSAgICAxMjgsIDc5LCA3MiwgMjA1LCA3OSwgNzEsIDgyLCA2OSwgMTI4LCA3OSwgNzEsIDc5LCA3OCwgNjksIDc1LCAxMjgsIDc5LCAKLSAgICA3MSwgNzksIDc4LCA2OSwgMjAzLCA3OSwgNzEsIDcyLCA2NSwgMjA1LCA3OSwgNzAsIDcwLCA3MywgNjcsIDY5LCA4MiwgCi0gICAgMTI4LCA3OSwgNzAsIDcwLCA3MywgNjcsIDY5LCAxMjgsIDc5LCA3MCwgNzAsIDczLCA2NywgMTk3LCA3OSwgNzAsIDcwLCAKLSAgICAxMjgsIDc5LCA2OSwgODksIDEyOCwgNzksIDY5LCA3NSwgMTI4LCA3OSwgNjgsIDY5LCA3OCwgMTI4LCA3OSwgNjgsIDE5NiwgCi0gICAgNzksIDY3LCA4NCwgNzksIDgwLCA4NSwgODMsIDEyOCwgNzksIDY3LCA4NCwgNzksIDY2LCA2OSwgODIsIDEyOCwgNzksIDY3LCAKLSAgICA4NCwgNjksIDIxMiwgNzksIDY3LCAyMTAsIDc5LCA2NywgNzYsIDc5LCA2NywgNzUsIDEyOCwgNzksIDY3LCA2NywgNzYsIAotICAgIDg1LCA4MywgNzMsIDc5LCA3OCwgMTI4LCA3OSwgNjYsIDgzLCA4NCwgODIsIDg1LCA2NywgODQsIDczLCA3OSwgNzgsIDEyOCwgCi0gICAgNzksIDY2LCA3OSwgNzYsIDIxMSwgNzksIDY2LCA3OSwgMjA0LCA3OSwgNjYsIDc5LCA3MCwgNzMsIDc2LCA3MywgMTI4LCAKLSAgICA3OSwgNjYsIDc2LCA3MywgODEsIDg1LCAxOTcsIDc5LCA2NiwgNzQsIDY5LCA2NywgMjEyLCA3OSwgNjYsIDY5LCA3NiwgODUsIAotICAgIDgzLCAxMjgsIDc5LCA2NiwgNjksIDc2LCA3OSwgODMsIDEyOCwgNzksIDY2LCAxMjgsIDc5LCA2NSwgODksIDEyOCwgNzksIAotICAgIDY1LCA3NSwgMTI4LCA3OSwgNjUsIDY2LCA3OSwgNjUsIDcwLCA3MywgNzYsIDczLCAxMjgsIDc5LCAxOTMsIDc5LCA0OCwgCi0gICAgNTMsIDQ5LCAxMjgsIDc5LCA0OCwgNTMsIDQ4LCA2NiwgMTI4LCA3OSwgNDgsIDUzLCA0OCwgNjUsIDEyOCwgNzksIDQ4LCAKLSAgICA1MywgNDgsIDEyOCwgNzksIDQ4LCA1MiwgNTcsIDEyOCwgNzksIDQ4LCA1MiwgNTYsIDEyOCwgNzksIDQ4LCA1MiwgNTUsIAotICAgIDEyOCwgNzksIDQ4LCA1MiwgNTQsIDEyOCwgNzksIDQ4LCA1MiwgNTMsIDEyOCwgNzksIDQ4LCA1MiwgNTIsIDEyOCwgNzksIAotICAgIDQ4LCA1MiwgNTEsIDEyOCwgNzksIDQ4LCA1MiwgNTAsIDEyOCwgNzksIDQ4LCA1MiwgNDksIDEyOCwgNzksIDQ4LCA1MiwgCi0gICAgNDgsIDEyOCwgNzksIDQ4LCA1MSwgNTcsIDEyOCwgNzksIDQ4LCA1MSwgNTYsIDEyOCwgNzksIDQ4LCA1MSwgNTUsIDEyOCwgCi0gICAgNzksIDQ4LCA1MSwgNTQsIDY4LCAxMjgsIDc5LCA0OCwgNTEsIDU0LCA2NywgMTI4LCA3OSwgNDgsIDUxLCA1NCwgNjYsIAotICAgIDEyOCwgNzksIDQ4LCA1MSwgNTQsIDY1LCAxMjgsIDc5LCA0OCwgNTEsIDU0LCAxMjgsIDc5LCA0OCwgNTEsIDUzLCAxMjgsIAotICAgIDc5LCA0OCwgNTEsIDUyLCAxMjgsIDc5LCA0OCwgNTEsIDUxLCA2NSwgMTI4LCA3OSwgNDgsIDUxLCA1MSwgMTI4LCA3OSwgCi0gICAgNDgsIDUxLCA1MCwgMTI4LCA3OSwgNDgsIDUxLCA0OSwgMTI4LCA3OSwgNDgsIDUxLCA0OCwgNjUsIDEyOCwgNzksIDQ4LCAKLSAgICA1MSwgNDgsIDEyOCwgNzksIDQ4LCA1MCwgNTcsIDY1LCAxMjgsIDc5LCA0OCwgNTAsIDU3LCAxMjgsIDc5LCA0OCwgNTAsIAotICAgIDU2LCAxMjgsIDc5LCA0OCwgNTAsIDU1LCAxMjgsIDc5LCA0OCwgNTAsIDU0LCAxMjgsIDc5LCA0OCwgNTAsIDUzLCA2NSwgCi0gICAgMTI4LCA3OSwgNDgsIDUwLCA1MywgMTI4LCA3OSwgNDgsIDUwLCA1MiwgNjUsIDEyOCwgNzksIDQ4LCA1MCwgNTIsIDEyOCwgCi0gICAgNzksIDQ4LCA1MCwgNTEsIDEyOCwgNzksIDQ4LCA1MCwgNTAsIDEyOCwgNzksIDQ4LCA1MCwgNDksIDEyOCwgNzksIDQ4LCAKLSAgICA1MCwgNDgsIDY1LCAxMjgsIDc5LCA0OCwgNTAsIDQ4LCAxMjgsIDc5LCA0OCwgNDksIDU3LCA2NSwgMTI4LCA3OSwgNDgsIAotICAgIDQ5LCA1NywgMTI4LCA3OSwgNDgsIDQ5LCA1NiwgMTI4LCA3OSwgNDgsIDQ5LCA1NSwgMTI4LCA3OSwgNDgsIDQ5LCA1NCwgCi0gICAgMTI4LCA3OSwgNDgsIDQ5LCA1MywgMTI4LCA3OSwgNDgsIDQ5LCA1MiwgMTI4LCA3OSwgNDgsIDQ5LCA1MSwgMTI4LCA3OSwgCi0gICAgNDgsIDQ5LCA1MCwgMTI4LCA3OSwgNDgsIDQ5LCA0OSwgMTI4LCA3OSwgNDgsIDQ5LCA0OCwgNjcsIDEyOCwgNzksIDQ4LCAKLSAgICA0OSwgNDgsIDY2LCAxMjgsIDc5LCA0OCwgNDksIDQ4LCA2NSwgMTI4LCA3OSwgNDgsIDQ5LCA0OCwgMTI4LCA3OSwgNDgsIAotICAgIDQ4LCA1NywgMTI4LCA3OSwgNDgsIDQ4LCA1NiwgMTI4LCA3OSwgNDgsIDQ4LCA1NSwgMTI4LCA3OSwgNDgsIDQ4LCA1NCwgCi0gICAgNzAsIDEyOCwgNzksIDQ4LCA0OCwgNTQsIDY5LCAxMjgsIDc5LCA0OCwgNDgsIDU0LCA2OCwgMTI4LCA3OSwgNDgsIDQ4LCAKLSAgICA1NCwgNjcsIDEyOCwgNzksIDQ4LCA0OCwgNTQsIDY2LCAxMjgsIDc5LCA0OCwgNDgsIDU0LCA2NSwgMTI4LCA3OSwgNDgsIAotICAgIDQ4LCA1NCwgMTI4LCA3OSwgNDgsIDQ4LCA1MywgNjUsIDEyOCwgNzksIDQ4LCA0OCwgNTMsIDEyOCwgNzksIDQ4LCA0OCwgCi0gICAgNTIsIDEyOCwgNzksIDQ4LCA0OCwgNTEsIDEyOCwgNzksIDQ4LCA0OCwgNTAsIDEyOCwgNzksIDQ4LCA0OCwgNDksIDY1LCAKLSAgICAxMjgsIDc5LCA0OCwgNDgsIDQ5LCAxMjgsIDc5LCA0NSwgODksIDY5LCAxMjgsIDc5LCA0NSwgNzksIDQ1LCA3MywgMTI4LCAKLSAgICA3OSwgNDUsIDY5LCAxMjgsIDc4LCA5MCwgODksIDg4LCAxMjgsIDc4LCA5MCwgODksIDg0LCAxMjgsIDc4LCA5MCwgODksIAotICAgIDgyLCA4OCwgMTI4LCA3OCwgOTAsIDg5LCA4MiwgMTI4LCA3OCwgOTAsIDg5LCA4MCwgMTI4LCA3OCwgOTAsIDg5LCAxMjgsIAotICAgIDc4LCA5MCwgODUsIDg4LCAxMjgsIDc4LCA5MCwgODUsIDgyLCA4OCwgMTI4LCA3OCwgOTAsIDg1LCA4MiwgMTI4LCA3OCwgCi0gICAgOTAsIDg1LCA4MSwgMTI4LCA3OCwgOTAsIDg1LCA4MCwgMTI4LCA3OCwgOTAsIDg1LCA3OSwgODgsIDEyOCwgNzgsIDkwLCAKLSAgICA4NSwgNzksIDEyOCwgNzgsIDkwLCA4NSwgMjA2LCA3OCwgOTAsIDg1LCAxMjgsIDc4LCA5MCwgNzksIDg4LCAxMjgsIDc4LCAKLSAgICA5MCwgNzksIDgwLCAxMjgsIDc4LCA5MCwgNzMsIDg4LCAxMjgsIDc4LCA5MCwgNzMsIDg0LCAxMjgsIDc4LCA5MCwgNzMsIAotICAgIDgwLCAxMjgsIDc4LCA5MCwgNzMsIDY5LCA4OCwgMTI4LCA3OCwgOTAsIDczLCA2OSwgODAsIDEyOCwgNzgsIDkwLCA3MywgCi0gICAgNjksIDEyOCwgNzgsIDkwLCA3MywgMTI4LCA3OCwgOTAsIDY5LCA4OCwgMTI4LCA3OCwgOTAsIDY5LCA4NSwgNzcsIDEyOCwgCi0gICAgNzgsIDkwLCA2OSwgMTI4LCA3OCwgOTAsIDY1LCA4OCwgMTI4LCA3OCwgOTAsIDY1LCA4NCwgMTI4LCA3OCwgOTAsIDY1LCAKLSAgICA4MSwgMTI4LCA3OCwgOTAsIDY1LCA4MCwgMTI4LCA3OCwgOTAsIDY1LCAxMjgsIDc4LCA5MCwgMTkzLCA3OCwgODksIDg3LCAKLSAgICA2NSwgMTI4LCA3OCwgODksIDg1LCA4OCwgMTI4LCA3OCwgODksIDg1LCA4NSwgMTI4LCA3OCwgODksIDg1LCA4NCwgMTI4LCAKLSAgICA3OCwgODksIDg1LCA4MCwgMTI4LCA3OCwgODksIDg1LCA3OSwgODgsIDEyOCwgNzgsIDg5LCA4NSwgNzksIDgwLCAxMjgsIAotICAgIDc4LCA4OSwgODUsIDc5LCAxMjgsIDc4LCA4OSwgODUsIDY5LCAxMjgsIDc4LCA4OSwgODUsIDEyOCwgNzgsIDg5LCA3OSwgCi0gICAgODgsIDEyOCwgNzgsIDg5LCA3OSwgODQsIDEyOCwgNzgsIDg5LCA3OSwgODAsIDEyOCwgNzgsIDg5LCA3OSwgNzksIDEyOCwgCi0gICAgNzgsIDg5LCA3OSwgNjUsIDEyOCwgNzgsIDg5LCA3OSwgMTI4LCA3OCwgODksIDc0LCA2NSwgMTI4LCA3OCwgODksIDczLCAKLSAgICA4OCwgMTI4LCA3OCwgODksIDczLCA4NCwgMTI4LCA3OCwgODksIDczLCAyMTIsIDc4LCA4OSwgNzMsIDIxMSwgNzgsIDg5LCAKLSAgICA3MywgMjEwLCA3OCwgODksIDczLCA4MCwgMTI4LCA3OCwgODksIDczLCA3OCwgNDUsIDY4LCA3OSwgMTI4LCA3OCwgODksIAotICAgIDczLCA3MywgMTI4LCA3OCwgODksIDczLCA2OSwgODgsIDEyOCwgNzgsIDg5LCA3MywgNjksIDg0LCAxMjgsIDc4LCA4OSwgCi0gICAgNzMsIDY5LCA4MCwgMTI4LCA3OCwgODksIDczLCA2OSwgMTI4LCA3OCwgODksIDczLCAxMjgsIDc4LCA4OSwgMjAxLCA3OCwgCi0gICAgODksIDcyLCA2NSwgMTI4LCA3OCwgODksIDY5LCA4NCwgMTI4LCA3OCwgODksIDY5LCAyMTIsIDc4LCA4OSwgNjksIDcyLCAKLSAgICAxMjgsIDc4LCA4OSwgNjksIDIwMCwgNzgsIDg5LCA2OSwgNjksIDEyOCwgNzgsIDg5LCA2OSwgMTI4LCA3OCwgODksIDE5NiwgCi0gICAgNzgsIDg5LCA2NywgNjUsIDEyOCwgNzgsIDg5LCA2NSwgODUsIDEyOCwgNzgsIDg5LCA2NSwgNzMsIDEyOCwgNzgsIDg5LCAKLSAgICA2NSwgNzIsIDEyOCwgNzgsIDg5LCA2NSwgNjksIDc3LCA2NSwgNjksIDEyOCwgNzgsIDg5LCA2NSwgNjUsIDEyOCwgNzgsIAotICAgIDg3LCA3OSwgNzksIDEyOCwgNzgsIDg3LCA3OSwgMTI4LCA3OCwgODcsIDczLCA3MywgMTI4LCA3OCwgODcsIDczLCAxMjgsIAotICAgIDc4LCA4NywgNjksIDEyOCwgNzgsIDg3LCA2NSwgNjUsIDEyOCwgNzgsIDg3LCA2NSwgMTI4LCA3OCwgODcsIDEyOCwgNzgsIAotICAgIDg2LCAxMjgsIDc4LCA4NSwgODgsIDEyOCwgNzgsIDg1LCA4NSwgNzgsIDEyOCwgNzgsIDg1LCA4NSwgMTI4LCA3OCwgODUsIAotICAgIDg0LCA3MywgNzYsIDc2LCA4NSwgMTI4LCA3OCwgODUsIDg0LCAxMjgsIDc4LCA4NSwgMjEyLCA3OCwgODUsIDgyLCA4OCwgCi0gICAgMTI4LCA3OCwgODUsIDgyLCAxMjgsIDc4LCA4NSwgODAsIDEyOCwgNzgsIDg1LCA3OSwgODgsIDEyOCwgNzgsIDg1LCA3OSwgCi0gICAgODAsIDEyOCwgNzgsIDg1LCA3OSwgMTI4LCA3OCwgODUsIDc4LCA4NSwgOTAsIDEyOCwgNzgsIDg1LCA3OCwgODUsIDIxOCwgCi0gICAgNzgsIDg1LCA3OCwgNzEsIDEyOCwgNzgsIDg1LCA3OCwgNjUsIDg2LCA4NSwgMjEyLCA3OCwgODUsIDc4LCA2NSwgODYsIDczLCAKLSAgICAyMDMsIDc4LCA4NSwgNzgsIDEyOCwgNzgsIDg1LCAyMDYsIDc4LCA4NSwgNzcsIDY5LCA4MiwgMjA3LCA3OCwgODUsIDc3LCAKLSAgICA2OSwgODIsIDY1LCA4NCwgNzksIDIxMCwgNzgsIDg1LCA3NywgNjksIDgyLCA2NSwgMjA0LCA3OCwgODUsIDc3LCA2NiwgNjksIAotICAgIDgyLCA4MywgMTI4LCA3OCwgODUsIDc3LCA2NiwgNjksIDgyLCAxMjgsIDc4LCA4NSwgNzcsIDEyOCwgNzgsIDg1LCA3NiwgCi0gICAgNzYsIDEyOCwgNzgsIDg1LCA3NiwgMjA0LCA3OCwgODUsIDc2LCAxMjgsIDc4LCA4NSwgNzUsIDg0LCA2NSwgMTI4LCA3OCwgCi0gICAgODUsIDY5LCA3OCwgNzEsIDEyOCwgNzgsIDg1LCA2OSwgMTI4LCA3OCwgODUsIDY2LCA3MywgNjUsIDIwNiwgNzgsIDg1LCAKLSAgICA2NSwgNjksIDEyOCwgNzgsIDg1LCA0OSwgNDksIDEyOCwgNzgsIDg1LCA0OSwgMTc3LCA3OCwgODUsIDQ4LCA1MCwgNTAsIAotICAgIDY1LCAxMjgsIDc4LCA4NSwgNDgsIDUwLCA1MCwgMTI4LCA3OCwgODUsIDQ4LCA1MCwgNDksIDEyOCwgNzgsIDg1LCA0OCwgCi0gICAgNTAsIDQ4LCAxMjgsIDc4LCA4NSwgNDgsIDQ5LCA1NywgMTI4LCA3OCwgODUsIDQ4LCA0OSwgNTYsIDY1LCAxMjgsIDc4LCAKLSAgICA4NSwgNDgsIDQ5LCA1NiwgMTI4LCA3OCwgODUsIDQ4LCA0OSwgNTUsIDEyOCwgNzgsIDg1LCA0OCwgNDksIDU0LCAxMjgsIAotICAgIDc4LCA4NSwgNDgsIDQ5LCA1MywgMTI4LCA3OCwgODUsIDQ4LCA0OSwgNTIsIDEyOCwgNzgsIDg1LCA0OCwgNDksIDUxLCAKLSAgICAxMjgsIDc4LCA4NSwgNDgsIDQ5LCA1MCwgMTI4LCA3OCwgODUsIDQ4LCA0OSwgNDksIDY1LCAxMjgsIDc4LCA4NSwgNDgsIAotICAgIDQ5LCA0OSwgMTI4LCA3OCwgODUsIDQ4LCA0OSwgNDgsIDY1LCAxMjgsIDc4LCA4NSwgNDgsIDQ5LCA0OCwgMTI4LCA3OCwgCi0gICAgODUsIDQ4LCA0OCwgNTcsIDEyOCwgNzgsIDg1LCA0OCwgNDgsIDU2LCAxMjgsIDc4LCA4NSwgNDgsIDQ4LCA1NSwgMTI4LCAKLSAgICA3OCwgODUsIDQ4LCA0OCwgNTQsIDEyOCwgNzgsIDg1LCA0OCwgNDgsIDUzLCAxMjgsIDc4LCA4NSwgNDgsIDQ4LCA1MiwgCi0gICAgMTI4LCA3OCwgODUsIDQ4LCA0OCwgNTEsIDEyOCwgNzgsIDg1LCA0OCwgNDgsIDUwLCAxMjgsIDc4LCA4NSwgNDgsIDQ4LCAKLSAgICA0OSwgMTI4LCA3OCwgODQsIDg1LCA4NSwgMTI4LCA3OCwgODQsIDg1LCA3NywgMTI4LCA3OCwgODQsIDIxMywgNzgsIDg0LCAKLSAgICA3OSwgODEsIDgwLCA2OSwgNzgsIDEyOCwgNzgsIDg0LCA3MywgNjksIDE5NywgNzgsIDg0LCA2OSwgODUsIDc4LCA3MSwgNjYsIAotICAgIDY1LCAxMjgsIDc4LCA4NCwgNjksIDg1LCA3NywgMTI4LCA3OCwgODQsIDY5LCA3OCwgMTI4LCA3OCwgODQsIDY5LCA2OSwgCi0gICAgMTI4LCA3OCwgODQsIDY1LCA4MCwgMTI4LCA3OCwgODQsIDY1LCAyMDgsIDc4LCA4NCwgNjUsIDY1LCAxMjgsIDc4LCA4MywgCi0gICAgODUsIDc5LCAyMTIsIDc4LCA4MywgODUsIDc4LCAxMjgsIDc4LCA4MywgODUsIDc3LCAxMjgsIDc4LCA4MywgNzksIDc3LCAKLSAgICAxMjgsIDc4LCA4MywgNzMsIDY5LCA2OSwgODQsIDEyOCwgNzgsIDgzLCA3MywgNjksIDY5LCA4MCwgMTI4LCA3OCwgODMsIAotICAgIDczLCA2OSwgNjksIDEyOCwgNzgsIDgzLCA3MiwgODUsIDg0LCAxMjgsIDc4LCA4MywgNzIsIDg1LCAyMTIsIDc4LCA4MywgCi0gICAgNzIsIDg1LCA3OSwgODAsIDEyOCwgNzgsIDgzLCA3MiwgODUsIDY5LCAxMjgsIDc4LCA4MywgNzIsIDczLCA2OSwgNjksIAotICAgIDEyOCwgNzgsIDgzLCA3MiwgNjksIDY5LCAxMjgsIDc4LCA4MywgNzIsIDY1LCA4MSwgMTI4LCA3OCwgODMsIDcyLCA2NSwgCi0gICAgMTI4LCA3OCwgODMsIDY5LCA4NSwgNjUsIDY5LCA3OCwgMTI4LCA3OCwgODMsIDY5LCA3OCwgMTI4LCA3OCwgODMsIDY1LCAKLSAgICAxMjgsIDc4LCA4MiwgODksIDg4LCAxMjgsIDc4LCA4MiwgODksIDg0LCAxMjgsIDc4LCA4MiwgODksIDgyLCA4OCwgMTI4LCAKLSAgICA3OCwgODIsIDg5LCA4MiwgMTI4LCA3OCwgODIsIDg5LCA4MCwgMTI4LCA3OCwgODIsIDg5LCAxMjgsIDc4LCA4MiwgODUsIAotICAgIDg4LCAxMjgsIDc4LCA4MiwgODUsIDg0LCAxMjgsIDc4LCA4MiwgODUsIDgyLCA4OCwgMTI4LCA3OCwgODIsIDg1LCA4MiwgCi0gICAgMTI4LCA3OCwgODIsIDg1LCA4MCwgMTI4LCA3OCwgODIsIDg1LCAxMjgsIDc4LCA4MiwgNzksIDg4LCAxMjgsIDc4LCA4MiwgCi0gICAgNzksIDgwLCAxMjgsIDc4LCA4MiwgNzksIDEyOCwgNzgsIDgyLCA2OSwgODgsIDEyOCwgNzgsIDgyLCA2OSwgODQsIDEyOCwgCi0gICAgNzgsIDgyLCA2OSwgODAsIDEyOCwgNzgsIDgyLCA2OSwgMTI4LCA3OCwgODIsIDY1LCA4OCwgMTI4LCA3OCwgODIsIDY1LCAKLSAgICA4NCwgMTI4LCA3OCwgODIsIDY1LCA4MCwgMTI4LCA3OCwgODIsIDY1LCAxMjgsIDc4LCA3OSwgODksIDEyOCwgNzgsIDc5LCAKLSAgICA4OCwgMTI4LCA3OCwgNzksIDg2LCA2OSwgNzcsIDY2LCA2OSwgODIsIDEyOCwgNzgsIDc5LCA4NCwgODQsIDc5LCAxMjgsIAotICAgIDc4LCA3OSwgODQsIDY5LCA4MywgMTI4LCA3OCwgNzksIDg0LCA2OSwgNzIsIDY5LCA2NSwgNjgsIDEyOCwgNzgsIDc5LCA4NCwgCi0gICAgNjksIDcyLCA2OSwgNjUsIDE5NiwgNzgsIDc5LCA4NCwgNjksIDY2LCA3OSwgNzksIDc1LCAxMjgsIDc4LCA3OSwgODQsIDY5LCAKLSAgICA2NiwgNzksIDc5LCAyMDMsIDc4LCA3OSwgODQsIDY5LCAxMjgsIDc4LCA3OSwgODQsIDE5NywgNzgsIDc5LCA4NCwgNjcsIAotICAgIDcyLCA2OSwgMTk2LCA3OCwgNzksIDg0LCA2NywgNzIsIDEyOCwgNzgsIDc5LCA4NCwgMTI4LCA3OCwgNzksIDIxMiwgNzgsIAotICAgIDc5LCA4MywgNjksIDEyOCwgNzgsIDc5LCA4MiwgODQsIDcyLCA4NywgNjksIDgzLCAyMTIsIDc4LCA3OSwgODIsIDg0LCA3MiwgCi0gICAgNjksIDgyLCAyMDYsIDc4LCA3OSwgODIsIDg0LCAyMDAsIDc4LCA3OSwgODIsIDc3LCA2NSwgMjA0LCA3OCwgNzksIDIxMCwgCisgICAgNzgsIDE5OSwgNzksIDg2LCA2OSwgODIsIDc2LCA2NSwgODAsIDEyOCwgNzksIDg2LCA2OSwgODIsIDc2LCA2NSwgNzMsIDY4LCAKKyAgICAxMjgsIDc5LCA4NiwgNjksIDgyLCA2NiwgNjUsIDgyLCAxMjgsIDc5LCA4NiwgNjUsIDIwNCwgNzksIDg1LCA4NCwgNzYsIAorICAgIDczLCA3OCwgNjksIDE5NiwgNzksIDg1LCA4NCwgNzYsIDczLCA3OCwgNjksIDEyOCwgNzksIDg1LCA4NCwgNjksIDIxMCwgCisgICAgNzksIDg1LCA4NCwgNjYsIDc5LCAyMTYsIDc5LCA4NSwgNzgsIDc1LCA3MywgMTkzLCA3OSwgODUsIDc4LCA2NywgNjksIAorICAgIDEyOCwgNzksIDg1LCA3OCwgNjcsIDE5NywgNzksIDg0LCA4NSwgMTI4LCA3OSwgODQsIDg0LCA2NSwgODYsIDE5MywgNzksIAorICAgIDg0LCA4NCwgMTI4LCA3OSwgODQsIDcyLCA2NSwgNzYsIDY1LCAyMDYsIDc5LCA4NCwgNzIsIDY1LCA3NiwgMTI4LCA3OSwgCisgICAgODMsIDc3LCA2NSwgNzgsIDg5LCAxOTMsIDc5LCA4MywgNjcsIDEyOCwgNzksIDgyLCA4NCwgNzIsIDc5LCA3MSwgNzksIDc4LCAKKyAgICA2NSwgMjA0LCA3OSwgODIsIDg0LCA3MiwgNzksIDY4LCA3OSwgMjE2LCA3OSwgODIsIDc4LCA2NSwgODQsIDE5NywgNzksIAorICAgIDgyLCA3OCwgNjUsIDc3LCA2OSwgNzgsIDg0LCAxMjgsIDc5LCA4MiwgNzgsIDY1LCA3NywgNjksIDc4LCAyMTIsIDc5LCA4MiwgCisgICAgNzUsIDcyLCA3OSwgMjA2LCA3OSwgODIsIDczLCA3MSwgNzMsIDc4LCA2NSwgMjA0LCA3OSwgODIsIDczLCA3MSwgNzMsIDc4LCAKKyAgICAxMjgsIDc5LCA4MiwgNjksIDQ1LCA1MCwgMTI4LCA3OSwgODIsIDY4LCA3MywgNzgsIDY1LCAyMDQsIDc5LCA4MiwgNjgsIAorICAgIDY5LCAyMTAsIDc5LCA4MiwgNjcsIDcyLCA3MywgNjgsIDEyOCwgNzksIDgyLCA2NSwgNzgsIDcxLCAxOTcsIDc5LCA4MCwgCisgICAgODQsIDczLCA3OSwgMjA2LCA3OSwgODAsIDg0LCA3MywgNjcsIDY1LCAyMDQsIDc5LCA4MCwgODAsIDgyLCA2OSwgODMsIDgzLCAKKyAgICA3MywgNzksIDc4LCAxMjgsIDc5LCA4MCwgODAsIDc5LCA4MywgNzMsIDg0LCA3MywgNzksIDc4LCAxMjgsIDc5LCA4MCwgODAsIAorICAgIDc5LCA4MywgNzMsIDc4LCAxOTksIDc5LCA4MCwgODAsIDc5LCA4MywgNjksIDEyOCwgNzksIDgwLCA3MiwgNzMsIDg1LCA2NywgCisgICAgNzIsIDg1LCA4MywgMTI4LCA3OSwgODAsIDY5LCA4MiwgNjUsIDg0LCA3OSwgODIsIDEyOCwgNzksIDgwLCA2OSwgODIsIDY1LCAKKyAgICA4NCwgNzksIDIxMCwgNzksIDgwLCA2OSwgODIsIDY1LCA4NCwgNzMsIDc4LCAxOTksIDc5LCA4MCwgNjksIDc4LCA3MywgNzgsIAorICAgIDE5OSwgNzksIDgwLCA2OSwgNzgsIDQ1LCA4MCwgMTI4LCA3OSwgODAsIDY5LCA3OCwgNDUsIDc5LCA4NSwgODQsIDc2LCA3MywgCisgICAgNzgsIDY5LCAxOTYsIDc5LCA4MCwgNjksIDc4LCA0NSwgNzksIDEyOCwgNzksIDgwLCA2OSwgNzgsIDQ1LCAyMDcsIDc5LCAKKyAgICA4MCwgNjksIDc4LCA0NSwgNzIsIDY5LCA2NSwgNjgsIDY5LCAxOTYsIDc5LCA4MCwgNjksIDc4LCA0NSwgNjcsIDczLCA4MiwgCisgICAgNjcsIDg1LCA3MywgODQsIDQ1LCA3OSwgODUsIDg0LCA4MCwgODUsIDIxMiwgNzksIDgwLCA2OSwgMjA2LCA3OSwgNzksIDkwLCAKKyAgICA2OSwgMTI4LCA3OSwgNzksIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA3OSwgNzksIDg1LCAxMjgsIDc5LCA3OSwgNzcsIAorICAgIDg1LCAxMjgsIDc5LCA3OSwgNzIsIDEyOCwgNzksIDc5LCA2OSwgMTI4LCA3OSwgNzksIDY2LCA3OSwgNzksIDcwLCA3MywgCisgICAgNzYsIDczLCAxMjgsIDc5LCA3OCwgODUsIDEyOCwgNzksIDc4LCA4MywgODUsIDEyOCwgNzksIDc4LCA3OCwgMTI4LCA3OSwgCisgICAgNzgsIDc1LCA2NSwgODIsIDEyOCwgNzksIDc4LCA2OSwgODMsIDY5LCA3NiwgNzAsIDEyOCwgNzksIDc4LCA2OSwgNDUsIDg3LCAKKyAgICA2NSwgMjE3LCA3OSwgNzgsIDY5LCA0NSwgODQsIDcyLCA3MywgODIsIDg0LCA4OSwgMTI4LCA3OSwgNzgsIDY5LCA0NSwgNzYsIAorICAgIDczLCA3OCwgMTk3LCA3OSwgNzgsIDY3LCA3OSwgNzcsIDczLCA3OCwgMTk5LCA3OSwgNzgsIDY1LCA4MCwgMTI4LCA3OSwgCisgICAgNzcsIDczLCA4MywgODMsIDczLCA3OSwgMjA2LCA3OSwgNzcsIDczLCA2NywgODIsIDc5LCA3OCwgMTI4LCA3OSwgNzcsIDczLCAKKyAgICA2NywgODIsIDc5LCAyMDYsIDc5LCA3NywgNjksIDcxLCA2NSwgMTI4LCA3OSwgNzcsIDY5LCA3MSwgMTkzLCA3OSwgNzcsIAorICAgIDY1LCA3NiwgNzksIDc4LCAxMjgsIDc5LCA3NiwgNzMsIDg2LCA2OSwgMTI4LCA3OSwgNzYsIDczLCA3MSwgNzksIDIwNiwgCisgICAgNzksIDc2LCA2OCwgMTI4LCA3OSwgNzUsIDg0LCAyMDcsIDc5LCA3NSwgNjUsIDgyLCA2NSwgMTI4LCA3OSwgNzUsIDY1LCAKKyAgICA4MiwgMTkzLCA3OSwgNzQsIDczLCA2NiwgODcsIDY1LCAyMTcsIDc5LCA3NCwgNjksIDc5LCA3OCwgMTI4LCA3OSwgNzMsIAorICAgIDc2LCAxMjgsIDc5LCA3MywgMjA0LCA3OSwgNzIsIDc3LCAxMjgsIDc5LCA3MiwgMjA1LCA3OSwgNzEsIDgyLCA2OSwgMTI4LCAKKyAgICA3OSwgNzEsIDc5LCA3OCwgNjksIDc1LCAxMjgsIDc5LCA3MSwgNzksIDc4LCA2OSwgMjAzLCA3OSwgNzEsIDcyLCA2NSwgCisgICAgMjA1LCA3OSwgNzAsIDcwLCA3MywgNjcsIDY5LCA4MiwgMTI4LCA3OSwgNzAsIDcwLCA3MywgNjcsIDY5LCAxMjgsIDc5LCAKKyAgICA3MCwgNzAsIDczLCA2NywgMTk3LCA3OSwgNzAsIDcwLCAxMjgsIDc5LCA2OSwgODksIDEyOCwgNzksIDY5LCA3NSwgMTI4LCAKKyAgICA3OSwgNjgsIDY5LCA3OCwgMTI4LCA3OSwgNjgsIDY4LCAxMjgsIDc5LCA2OCwgMTk2LCA3OSwgNjcsIDg0LCA3OSwgODAsIAorICAgIDg1LCA4MywgMTI4LCA3OSwgNjcsIDg0LCA3OSwgNjYsIDY5LCA4MiwgMTI4LCA3OSwgNjcsIDg0LCA2OSwgMjEyLCA3OSwgCisgICAgNjcsIDg0LCA2NSwgNzEsIDc5LCA3OCwgMTI4LCA3OSwgNjcsIDIxMCwgNzksIDY3LCA3NiwgNzksIDY3LCA3NSwgMTI4LCAKKyAgICA3OSwgNjcsIDY3LCA3NiwgODUsIDgzLCA3MywgNzksIDc4LCAxMjgsIDc5LCA2NiwgODMsIDg0LCA4MiwgODUsIDY3LCA4NCwgCisgICAgNzMsIDc5LCA3OCwgMTI4LCA3OSwgNjYsIDc5LCA3NiwgMjExLCA3OSwgNjYsIDc5LCAyMDQsIDc5LCA2NiwgNzksIDcwLCAKKyAgICA3MywgNzYsIDczLCAxMjgsIDc5LCA2NiwgNzYsIDczLCA4MSwgODUsIDE5NywgNzksIDY2LCA3NCwgNjksIDY3LCAyMTIsIAorICAgIDc5LCA2NiwgNjksIDc2LCA4NSwgODMsIDEyOCwgNzksIDY2LCA2OSwgNzYsIDc5LCA4MywgMTI4LCA3OSwgNjYsIDEyOCwgCisgICAgNzksIDY1LCA4OSwgMTI4LCA3OSwgNjUsIDc1LCAxMjgsIDc5LCA2NSwgNjYsIDc5LCA2NSwgNzAsIDczLCA3NiwgNzMsIAorICAgIDEyOCwgNzksIDE5MywgNzksIDQ4LCA1MywgNDksIDEyOCwgNzksIDQ4LCA1MywgNDgsIDY2LCAxMjgsIDc5LCA0OCwgNTMsIAorICAgIDQ4LCA2NSwgMTI4LCA3OSwgNDgsIDUzLCA0OCwgMTI4LCA3OSwgNDgsIDUyLCA1NywgMTI4LCA3OSwgNDgsIDUyLCA1NiwgCisgICAgMTI4LCA3OSwgNDgsIDUyLCA1NSwgMTI4LCA3OSwgNDgsIDUyLCA1NCwgMTI4LCA3OSwgNDgsIDUyLCA1MywgMTI4LCA3OSwgCisgICAgNDgsIDUyLCA1MiwgMTI4LCA3OSwgNDgsIDUyLCA1MSwgMTI4LCA3OSwgNDgsIDUyLCA1MCwgMTI4LCA3OSwgNDgsIDUyLCAKKyAgICA0OSwgMTI4LCA3OSwgNDgsIDUyLCA0OCwgMTI4LCA3OSwgNDgsIDUxLCA1NywgMTI4LCA3OSwgNDgsIDUxLCA1NiwgMTI4LCAKKyAgICA3OSwgNDgsIDUxLCA1NSwgMTI4LCA3OSwgNDgsIDUxLCA1NCwgNjgsIDEyOCwgNzksIDQ4LCA1MSwgNTQsIDY3LCAxMjgsIAorICAgIDc5LCA0OCwgNTEsIDU0LCA2NiwgMTI4LCA3OSwgNDgsIDUxLCA1NCwgNjUsIDEyOCwgNzksIDQ4LCA1MSwgNTQsIDEyOCwgCisgICAgNzksIDQ4LCA1MSwgNTMsIDEyOCwgNzksIDQ4LCA1MSwgNTIsIDEyOCwgNzksIDQ4LCA1MSwgNTEsIDY1LCAxMjgsIDc5LCAKKyAgICA0OCwgNTEsIDUxLCAxMjgsIDc5LCA0OCwgNTEsIDUwLCAxMjgsIDc5LCA0OCwgNTEsIDQ5LCAxMjgsIDc5LCA0OCwgNTEsIAorICAgIDQ4LCA2NSwgMTI4LCA3OSwgNDgsIDUxLCA0OCwgMTI4LCA3OSwgNDgsIDUwLCA1NywgNjUsIDEyOCwgNzksIDQ4LCA1MCwgCisgICAgNTcsIDEyOCwgNzksIDQ4LCA1MCwgNTYsIDEyOCwgNzksIDQ4LCA1MCwgNTUsIDEyOCwgNzksIDQ4LCA1MCwgNTQsIDEyOCwgCisgICAgNzksIDQ4LCA1MCwgNTMsIDY1LCAxMjgsIDc5LCA0OCwgNTAsIDUzLCAxMjgsIDc5LCA0OCwgNTAsIDUyLCA2NSwgMTI4LCAKKyAgICA3OSwgNDgsIDUwLCA1MiwgMTI4LCA3OSwgNDgsIDUwLCA1MSwgMTI4LCA3OSwgNDgsIDUwLCA1MCwgMTI4LCA3OSwgNDgsIAorICAgIDUwLCA0OSwgMTI4LCA3OSwgNDgsIDUwLCA0OCwgNjUsIDEyOCwgNzksIDQ4LCA1MCwgNDgsIDEyOCwgNzksIDQ4LCA0OSwgCisgICAgNTcsIDY1LCAxMjgsIDc5LCA0OCwgNDksIDU3LCAxMjgsIDc5LCA0OCwgNDksIDU2LCAxMjgsIDc5LCA0OCwgNDksIDU1LCAKKyAgICAxMjgsIDc5LCA0OCwgNDksIDU0LCAxMjgsIDc5LCA0OCwgNDksIDUzLCAxMjgsIDc5LCA0OCwgNDksIDUyLCAxMjgsIDc5LCAKKyAgICA0OCwgNDksIDUxLCAxMjgsIDc5LCA0OCwgNDksIDUwLCAxMjgsIDc5LCA0OCwgNDksIDQ5LCAxMjgsIDc5LCA0OCwgNDksIAorICAgIDQ4LCA2NywgMTI4LCA3OSwgNDgsIDQ5LCA0OCwgNjYsIDEyOCwgNzksIDQ4LCA0OSwgNDgsIDY1LCAxMjgsIDc5LCA0OCwgCisgICAgNDksIDQ4LCAxMjgsIDc5LCA0OCwgNDgsIDU3LCAxMjgsIDc5LCA0OCwgNDgsIDU2LCAxMjgsIDc5LCA0OCwgNDgsIDU1LCAKKyAgICAxMjgsIDc5LCA0OCwgNDgsIDU0LCA3MCwgMTI4LCA3OSwgNDgsIDQ4LCA1NCwgNjksIDEyOCwgNzksIDQ4LCA0OCwgNTQsIAorICAgIDY4LCAxMjgsIDc5LCA0OCwgNDgsIDU0LCA2NywgMTI4LCA3OSwgNDgsIDQ4LCA1NCwgNjYsIDEyOCwgNzksIDQ4LCA0OCwgCisgICAgNTQsIDY1LCAxMjgsIDc5LCA0OCwgNDgsIDU0LCAxMjgsIDc5LCA0OCwgNDgsIDUzLCA2NSwgMTI4LCA3OSwgNDgsIDQ4LCAKKyAgICA1MywgMTI4LCA3OSwgNDgsIDQ4LCA1MiwgMTI4LCA3OSwgNDgsIDQ4LCA1MSwgMTI4LCA3OSwgNDgsIDQ4LCA1MCwgMTI4LCAKKyAgICA3OSwgNDgsIDQ4LCA0OSwgNjUsIDEyOCwgNzksIDQ4LCA0OCwgNDksIDEyOCwgNzksIDQ1LCA4OSwgNjksIDEyOCwgNzksIAorICAgIDQ1LCA3OSwgNDUsIDczLCAxMjgsIDc5LCA0NSwgNjksIDEyOCwgNzgsIDkwLCA4OSwgODgsIDEyOCwgNzgsIDkwLCA4OSwgCisgICAgODQsIDEyOCwgNzgsIDkwLCA4OSwgODIsIDg4LCAxMjgsIDc4LCA5MCwgODksIDgyLCAxMjgsIDc4LCA5MCwgODksIDgwLCAKKyAgICAxMjgsIDc4LCA5MCwgODksIDEyOCwgNzgsIDkwLCA4NSwgODgsIDEyOCwgNzgsIDkwLCA4NSwgODIsIDg4LCAxMjgsIDc4LCAKKyAgICA5MCwgODUsIDgyLCAxMjgsIDc4LCA5MCwgODUsIDgxLCAxMjgsIDc4LCA5MCwgODUsIDgwLCAxMjgsIDc4LCA5MCwgODUsIAorICAgIDc5LCA4OCwgMTI4LCA3OCwgOTAsIDg1LCA3OSwgMTI4LCA3OCwgOTAsIDg1LCAyMDYsIDc4LCA5MCwgODUsIDEyOCwgNzgsIAorICAgIDkwLCA3OSwgODgsIDEyOCwgNzgsIDkwLCA3OSwgODAsIDEyOCwgNzgsIDkwLCA3MywgODgsIDEyOCwgNzgsIDkwLCA3MywgCisgICAgODQsIDEyOCwgNzgsIDkwLCA3MywgODAsIDEyOCwgNzgsIDkwLCA3MywgNjksIDg4LCAxMjgsIDc4LCA5MCwgNzMsIDY5LCAKKyAgICA4MCwgMTI4LCA3OCwgOTAsIDczLCA2OSwgMTI4LCA3OCwgOTAsIDczLCAxMjgsIDc4LCA5MCwgNjksIDg4LCAxMjgsIDc4LCAKKyAgICA5MCwgNjksIDg1LCA3NywgMTI4LCA3OCwgOTAsIDY5LCAxMjgsIDc4LCA5MCwgNjUsIDg4LCAxMjgsIDc4LCA5MCwgNjUsIAorICAgIDg0LCAxMjgsIDc4LCA5MCwgNjUsIDgxLCAxMjgsIDc4LCA5MCwgNjUsIDgwLCAxMjgsIDc4LCA5MCwgNjUsIDEyOCwgNzgsIAorICAgIDkwLCAxOTMsIDc4LCA4OSwgODcsIDY1LCAxMjgsIDc4LCA4OSwgODUsIDg4LCAxMjgsIDc4LCA4OSwgODUsIDg1LCAxMjgsIAorICAgIDc4LCA4OSwgODUsIDg0LCAxMjgsIDc4LCA4OSwgODUsIDgwLCAxMjgsIDc4LCA4OSwgODUsIDc5LCA4OCwgMTI4LCA3OCwgCisgICAgODksIDg1LCA3OSwgODAsIDEyOCwgNzgsIDg5LCA4NSwgNzksIDEyOCwgNzgsIDg5LCA4NSwgNzgsIDEyOCwgNzgsIDg5LCAKKyAgICA4NSwgNjksIDEyOCwgNzgsIDg5LCA4NSwgMTI4LCA3OCwgODksIDc5LCA4OCwgMTI4LCA3OCwgODksIDc5LCA4NCwgMTI4LCAKKyAgICA3OCwgODksIDc5LCA4MCwgMTI4LCA3OCwgODksIDc5LCA3OSwgMTI4LCA3OCwgODksIDc5LCA3OCwgMTI4LCA3OCwgODksIAorICAgIDc5LCA2NSwgMTI4LCA3OCwgODksIDc5LCAxMjgsIDc4LCA4OSwgNzQsIDY1LCAxMjgsIDc4LCA4OSwgNzMsIDg4LCAxMjgsIAorICAgIDc4LCA4OSwgNzMsIDg0LCAxMjgsIDc4LCA4OSwgNzMsIDIxMiwgNzgsIDg5LCA3MywgMjExLCA3OCwgODksIDczLCAyMTAsIAorICAgIDc4LCA4OSwgNzMsIDgwLCAxMjgsIDc4LCA4OSwgNzMsIDc4LCA0NSwgNjgsIDc5LCAxMjgsIDc4LCA4OSwgNzMsIDc4LCAKKyAgICAxMjgsIDc4LCA4OSwgNzMsIDczLCAxMjgsIDc4LCA4OSwgNzMsIDY5LCA4OCwgMTI4LCA3OCwgODksIDczLCA2OSwgODQsIAorICAgIDEyOCwgNzgsIDg5LCA3MywgNjksIDgwLCAxMjgsIDc4LCA4OSwgNzMsIDY5LCAxMjgsIDc4LCA4OSwgNzMsIDEyOCwgNzgsIAorICAgIDg5LCAyMDEsIDc4LCA4OSwgNzIsIDY1LCAxMjgsIDc4LCA4OSwgNjksIDg0LCAxMjgsIDc4LCA4OSwgNjksIDIxMiwgNzgsIAorICAgIDg5LCA2OSwgNzgsIDEyOCwgNzgsIDg5LCA2OSwgNzIsIDEyOCwgNzgsIDg5LCA2OSwgMjAwLCA3OCwgODksIDY5LCA2OSwgCisgICAgMTI4LCA3OCwgODksIDY5LCAxMjgsIDc4LCA4OSwgMTk2LCA3OCwgODksIDY3LCA2NSwgMTI4LCA3OCwgODksIDY1LCA4NSwgCisgICAgMTI4LCA3OCwgODksIDY1LCA3MywgMTI4LCA3OCwgODksIDY1LCA3MiwgMTI4LCA3OCwgODksIDY1LCA2OSwgNzcsIDY1LCAKKyAgICA2OSwgMTI4LCA3OCwgODksIDY1LCA2NSwgMTI4LCA3OCwgODcsIDc5LCA3OSwgMTI4LCA3OCwgODcsIDc5LCAxMjgsIDc4LCAKKyAgICA4NywgNzMsIDczLCAxMjgsIDc4LCA4NywgNzMsIDEyOCwgNzgsIDg3LCA2OSwgMTI4LCA3OCwgODcsIDY1LCA2NSwgMTI4LCAKKyAgICA3OCwgODcsIDY1LCAxMjgsIDc4LCA4NywgMTI4LCA3OCwgODYsIDEyOCwgNzgsIDg1LCA4OCwgMTI4LCA3OCwgODUsIDg1LCAKKyAgICA3OCwgMTI4LCA3OCwgODUsIDg1LCAxMjgsIDc4LCA4NSwgODQsIDczLCA3NiwgNzYsIDg1LCAxMjgsIDc4LCA4NSwgODQsIAorICAgIDEyOCwgNzgsIDg1LCAyMTIsIDc4LCA4NSwgODIsIDg4LCAxMjgsIDc4LCA4NSwgODIsIDEyOCwgNzgsIDg1LCA4MCwgMTI4LCAKKyAgICA3OCwgODUsIDc5LCA4OCwgMTI4LCA3OCwgODUsIDc5LCA4MCwgMTI4LCA3OCwgODUsIDc5LCAxMjgsIDc4LCA4NSwgNzgsIAorICAgIDg1LCA5MCwgMTI4LCA3OCwgODUsIDc4LCA4NSwgMjE4LCA3OCwgODUsIDc4LCA3MSwgMTI4LCA3OCwgODUsIDc4LCA2NSwgCisgICAgODYsIDg1LCAyMTIsIDc4LCA4NSwgNzgsIDY1LCA4NiwgNzMsIDIwMywgNzgsIDg1LCA3OCwgMTI4LCA3OCwgODUsIDIwNiwgCisgICAgNzgsIDg1LCA3NywgNjksIDgyLCAyMDcsIDc4LCA4NSwgNzcsIDY5LCA4MiwgNjUsIDg0LCA3OSwgMjEwLCA3OCwgODUsIDc3LCAKKyAgICA2OSwgODIsIDY1LCAyMDQsIDc4LCA4NSwgNzcsIDY2LCA2OSwgODIsIDgzLCAxMjgsIDc4LCA4NSwgNzcsIDY2LCA2OSwgODIsIAorICAgIDEyOCwgNzgsIDg1LCA3NywgMTI4LCA3OCwgODUsIDc2LCA3NiwgMTI4LCA3OCwgODUsIDc2LCAyMDQsIDc4LCA4NSwgNzYsIAorICAgIDEyOCwgNzgsIDg1LCA3NSwgODQsIDY1LCAxMjgsIDc4LCA4NSwgNjksIDc4LCA3MSwgMTI4LCA3OCwgODUsIDY5LCAxMjgsIAorICAgIDc4LCA4NSwgNjYsIDczLCA2NSwgMjA2LCA3OCwgODUsIDY1LCA2OSwgMTI4LCA3OCwgODUsIDQ5LCA0OSwgMTI4LCA3OCwgCisgICAgODUsIDQ5LCAxNzcsIDc4LCA4NSwgNDgsIDUwLCA1MCwgNjUsIDEyOCwgNzgsIDg1LCA0OCwgNTAsIDUwLCAxMjgsIDc4LCAKKyAgICA4NSwgNDgsIDUwLCA0OSwgMTI4LCA3OCwgODUsIDQ4LCA1MCwgNDgsIDEyOCwgNzgsIDg1LCA0OCwgNDksIDU3LCAxMjgsIAorICAgIDc4LCA4NSwgNDgsIDQ5LCA1NiwgNjUsIDEyOCwgNzgsIDg1LCA0OCwgNDksIDU2LCAxMjgsIDc4LCA4NSwgNDgsIDQ5LCA1NSwgCisgICAgMTI4LCA3OCwgODUsIDQ4LCA0OSwgNTQsIDEyOCwgNzgsIDg1LCA0OCwgNDksIDUzLCAxMjgsIDc4LCA4NSwgNDgsIDQ5LCAKKyAgICA1MiwgMTI4LCA3OCwgODUsIDQ4LCA0OSwgNTEsIDEyOCwgNzgsIDg1LCA0OCwgNDksIDUwLCAxMjgsIDc4LCA4NSwgNDgsIAorICAgIDQ5LCA0OSwgNjUsIDEyOCwgNzgsIDg1LCA0OCwgNDksIDQ5LCAxMjgsIDc4LCA4NSwgNDgsIDQ5LCA0OCwgNjUsIDEyOCwgCisgICAgNzgsIDg1LCA0OCwgNDksIDQ4LCAxMjgsIDc4LCA4NSwgNDgsIDQ4LCA1NywgMTI4LCA3OCwgODUsIDQ4LCA0OCwgNTYsIAorICAgIDEyOCwgNzgsIDg1LCA0OCwgNDgsIDU1LCAxMjgsIDc4LCA4NSwgNDgsIDQ4LCA1NCwgMTI4LCA3OCwgODUsIDQ4LCA0OCwgCisgICAgNTMsIDEyOCwgNzgsIDg1LCA0OCwgNDgsIDUyLCAxMjgsIDc4LCA4NSwgNDgsIDQ4LCA1MSwgMTI4LCA3OCwgODUsIDQ4LCAKKyAgICA0OCwgNTAsIDEyOCwgNzgsIDg1LCA0OCwgNDgsIDQ5LCAxMjgsIDc4LCA4NCwgODgsIDczLCA4NiwgMTI4LCA3OCwgODQsIAorICAgIDg1LCA4NSwgMTI4LCA3OCwgODQsIDg1LCA3NywgMTI4LCA3OCwgODQsIDg1LCA3NCwgMTI4LCA3OCwgODQsIDIxMywgNzgsIAorICAgIDg0LCA4MywgNjUsIDg1LCAxMjgsIDc4LCA4NCwgNzksIDgxLCA4MCwgNjksIDc4LCAxMjgsIDc4LCA4NCwgNzksIDcxLCAKKyAgICAxMjgsIDc4LCA4NCwgNzksIDE5OSwgNzgsIDg0LCA3MywgNjksIDE5NywgNzgsIDg0LCA3MiwgNjUsIDg1LCAxMjgsIDc4LCAKKyAgICA4NCwgNjksIDg1LCA3OCwgNzEsIDY2LCA2NSwgMTI4LCA3OCwgODQsIDY5LCA4NSwgNzcsIDEyOCwgNzgsIDg0LCA2OSwgNzgsIAorICAgIDEyOCwgNzgsIDg0LCA2OSwgNjksIDEyOCwgNzgsIDg0LCA2NSwgODAsIDEyOCwgNzgsIDg0LCA2NSwgMjA4LCA3OCwgODQsIAorICAgIDY1LCA2NSwgMTI4LCA3OCwgODMsIDg1LCA3OSwgMjEyLCA3OCwgODMsIDg1LCA3OCwgMTI4LCA3OCwgODMsIDg1LCA3NywgCisgICAgMTI4LCA3OCwgODMsIDc5LCA3NywgMTI4LCA3OCwgODMsIDczLCA2OSwgNjksIDg0LCAxMjgsIDc4LCA4MywgNzMsIDY5LCAKKyAgICA2OSwgODAsIDEyOCwgNzgsIDgzLCA3MywgNjksIDY5LCAxMjgsIDc4LCA4MywgNzIsIDg1LCA4NCwgMTI4LCA3OCwgODMsIAorICAgIDcyLCA4NSwgMjEyLCA3OCwgODMsIDcyLCA4NSwgNzksIDgwLCAxMjgsIDc4LCA4MywgNzIsIDg1LCA2OSwgMTI4LCA3OCwgCisgICAgODMsIDcyLCA3MywgNjksIDY5LCAxMjgsIDc4LCA4MywgNzIsIDY5LCA2OSwgMTI4LCA3OCwgODMsIDcyLCA2NSwgODEsIAorICAgIDEyOCwgNzgsIDgzLCA3MiwgNjUsIDEyOCwgNzgsIDgzLCA2OSwgODUsIDY1LCA2OSwgNzgsIDEyOCwgNzgsIDgzLCA2OSwgCisgICAgNzgsIDEyOCwgNzgsIDgzLCA2NSwgMTI4LCA3OCwgODIsIDg5LCA4OCwgMTI4LCA3OCwgODIsIDg5LCA4NCwgMTI4LCA3OCwgCisgICAgODIsIDg5LCA4MiwgODgsIDEyOCwgNzgsIDgyLCA4OSwgODIsIDEyOCwgNzgsIDgyLCA4OSwgODAsIDEyOCwgNzgsIDgyLCAKKyAgICA4OSwgMTI4LCA3OCwgODIsIDg1LCA4OCwgMTI4LCA3OCwgODIsIDg1LCA4NCwgMTI4LCA3OCwgODIsIDg1LCA4MiwgODgsIAorICAgIDEyOCwgNzgsIDgyLCA4NSwgODIsIDEyOCwgNzgsIDgyLCA4NSwgODAsIDEyOCwgNzgsIDgyLCA4NSwgNjUsIDEyOCwgNzgsIAorICAgIDgyLCA4NSwgMTI4LCA3OCwgODIsIDc5LCA4OCwgMTI4LCA3OCwgODIsIDc5LCA4MCwgMTI4LCA3OCwgODIsIDc5LCAxMjgsIAorICAgIDc4LCA4MiwgNjksIDg4LCAxMjgsIDc4LCA4MiwgNjksIDg0LCAxMjgsIDc4LCA4MiwgNjksIDIxMSwgNzgsIDgyLCA2OSwgCisgICAgODAsIDEyOCwgNzgsIDgyLCA2OSwgMTI4LCA3OCwgODIsIDY1LCA4OCwgMTI4LCA3OCwgODIsIDY1LCA4NCwgMTI4LCA3OCwgCisgICAgODIsIDY1LCA4MCwgMTI4LCA3OCwgODIsIDY1LCAxMjgsIDc4LCA4MSwgNzMsIDcxLCAxMjgsIDc4LCA3OSwgODksIDEyOCwgCisgICAgNzgsIDc5LCA4OCwgMTI4LCA3OCwgNzksIDg3LCA2NywgMTI4LCA3OCwgNzksIDg2LCA2OSwgNzcsIDY2LCA2OSwgODIsIAorICAgIDEyOCwgNzgsIDc5LCA4NCwgODQsIDc5LCAxMjgsIDc4LCA3OSwgODQsIDY5LCA4MywgMTI4LCA3OCwgNzksIDg0LCA2OSwgCisgICAgNzIsIDY5LCA2NSwgNjgsIDEyOCwgNzgsIDc5LCA4NCwgNjksIDcyLCA2OSwgNjUsIDE5NiwgNzgsIDc5LCA4NCwgNjksIDY2LCAKKyAgICA3OSwgNzksIDc1LCAxMjgsIDc4LCA3OSwgODQsIDY5LCA2NiwgNzksIDc5LCAyMDMsIDc4LCA3OSwgODQsIDY5LCAxMjgsIAorICAgIDc4LCA3OSwgODQsIDE5NywgNzgsIDc5LCA4NCwgNjcsIDcyLCA2OSwgMTk2LCA3OCwgNzksIDg0LCA2NywgNzIsIDEyOCwgCisgICAgNzgsIDc5LCA4NCwgNjUsIDg0LCA3MywgNzksIDIwNiwgNzgsIDc5LCA4NCwgMTI4LCA3OCwgNzksIDIxMiwgNzgsIDc5LCAKKyAgICA4MywgNjksIDEyOCwgNzgsIDc5LCA4MiwgODQsIDcyLCA4NywgNjksIDgzLCAyMTIsIDc4LCA3OSwgODIsIDg0LCA3MiwgNjksIAorICAgIDgyLCAyMDYsIDc4LCA3OSwgODIsIDg0LCA3MiwgNjksIDY1LCA4MywgODQsIDQ1LCA4MCwgNzksIDczLCA3OCwgODQsIDczLCAKKyAgICA3OCwgMTk5LCA3OCwgNzksIDgyLCA3NywgNjUsIDIwNCwgNzgsIDc5LCA4MiwgNjgsIDczLCAxOTUsIDc4LCA3OSwgMjEwLCAKICAgICA3OCwgNzksIDgwLCAxMjgsIDc4LCA3OSwgNzksIDc4LCA4NSwgMTI4LCA3OCwgNzksIDc5LCAxMjgsIDc4LCA3OSwgNzgsIAogICAgIDcwLCA3OSwgODIsIDc1LCA3MywgNzgsIDcxLCAxMjgsIDc4LCA3OSwgNzgsIDQ1LCA4MCwgNzksIDg0LCA2NSwgNjYsIDc2LCAKICAgICAxOTcsIDc4LCA3OSwgNzgsIDQ1LCA3NCwgNzksIDczLCA3OCwgNjksIDgyLCAxMjgsIDc4LCA3OSwgNzgsIDQ1LCA2NiwgODIsIAotICAgIDY5LCA2NSwgNzUsIDczLCA3OCwgMTk5LCA3OCwgNzksIDc3LCA3MywgNzgsIDY1LCAyMDQsIDc4LCA3OSwgNzUsIDcyLCA4NSwgCi0gICAgNzUsIDEyOCwgNzgsIDc5LCA2OCwgNjksIDEyOCwgNzgsIDc5LCA2NSwgMTI4LCA3OCwgNzksIDQ1LCA2NiwgODIsIDY5LCAKLSAgICA2NSwgMjAzLCA3OCwgNzgsIDg1LCA4NSwgMTI4LCA3OCwgNzgsIDg1LCAxMjgsIDc4LCA3OCwgNzksIDc5LCAxMjgsIDc4LCAKLSAgICA3OCwgNzksIDEyOCwgNzgsIDc4LCA3OCwgODUsIDg1LCAxMjgsIDc4LCA3OCwgNzgsIDg1LCAxMjgsIDc4LCA3OCwgNzgsIAotICAgIDc5LCA3OSwgMTI4LCA3OCwgNzgsIDc4LCA3OSwgMTI4LCA3OCwgNzgsIDc4LCA3MywgNzMsIDEyOCwgNzgsIDc4LCA3OCwgCi0gICAgNzMsIDEyOCwgNzgsIDc4LCA3OCwgNjksIDY5LCAxMjgsIDc4LCA3OCwgNzgsIDY5LCAxMjgsIDc4LCA3OCwgNzgsIDY1LCAKLSAgICA4NSwgMTI4LCA3OCwgNzgsIDc4LCA2NSwgNzMsIDEyOCwgNzgsIDc4LCA3OCwgNjUsIDY1LCAxMjgsIDc4LCA3OCwgNzgsIAotICAgIDY1LCAxMjgsIDc4LCA3OCwgNzgsIDEyOCwgNzgsIDc4LCA3MiwgNjUsIDEyOCwgNzgsIDc4LCA3MSwgNzksIDc5LCAxMjgsIAotICAgIDc4LCA3OCwgNzEsIDc5LCAxMjgsIDc4LCA3OCwgNzEsIDczLCA3MywgMTI4LCA3OCwgNzgsIDcxLCA3MywgMTI4LCA3OCwgCi0gICAgNzgsIDcxLCA2NSwgNjUsIDEyOCwgNzgsIDc4LCA3MSwgNjUsIDEyOCwgNzgsIDc4LCA3MSwgMTI4LCA3OCwgNzgsIDY2LCAKLSAgICA4MywgODAsIDEyOCwgNzgsIDc3LCAxMjgsIDc4LCA3NiwgNDgsIDUwLCA0OCwgMTI4LCA3OCwgNzYsIDQ4LCA0OSwgNTcsIAotICAgIDEyOCwgNzgsIDc2LCA0OCwgNDksIDU2LCAxMjgsIDc4LCA3NiwgNDgsIDQ5LCA1NSwgNjUsIDEyOCwgNzgsIDc2LCA0OCwgCi0gICAgNDksIDU1LCAxMjgsIDc4LCA3NiwgNDgsIDQ5LCA1NCwgMTI4LCA3OCwgNzYsIDQ4LCA0OSwgNTMsIDEyOCwgNzgsIDc2LCAKLSAgICA0OCwgNDksIDUyLCAxMjgsIDc4LCA3NiwgNDgsIDQ5LCA1MSwgMTI4LCA3OCwgNzYsIDQ4LCA0OSwgNTAsIDEyOCwgNzgsIAotICAgIDc2LCA0OCwgNDksIDQ5LCAxMjgsIDc4LCA3NiwgNDgsIDQ5LCA0OCwgMTI4LCA3OCwgNzYsIDQ4LCA0OCwgNTcsIDEyOCwgCi0gICAgNzgsIDc2LCA0OCwgNDgsIDU2LCAxMjgsIDc4LCA3NiwgNDgsIDQ4LCA1NSwgMTI4LCA3OCwgNzYsIDQ4LCA0OCwgNTQsIAotICAgIDEyOCwgNzgsIDc2LCA0OCwgNDgsIDUzLCA2NSwgMTI4LCA3OCwgNzYsIDQ4LCA0OCwgNTMsIDEyOCwgNzgsIDc2LCA0OCwgCi0gICAgNDgsIDUyLCAxMjgsIDc4LCA3NiwgNDgsIDQ4LCA1MSwgMTI4LCA3OCwgNzYsIDQ4LCA0OCwgNTAsIDEyOCwgNzgsIDc2LCAKLSAgICA0OCwgNDgsIDQ5LCAxMjgsIDc4LCA3NiwgMTI4LCA3OCwgNzUsIDc5LCA3NywgMTI4LCA3OCwgNzUsIDIwNywgNzgsIDc1LCAKLSAgICA3MywgNzgsIDY4LCA3MywgMTI4LCA3OCwgNzUsIDY1LCA2NSwgODIsIDY1LCA2OSwgMTI4LCA3OCwgNzQsIDg5LCA4OCwgCi0gICAgMTI4LCA3OCwgNzQsIDg5LCA4NCwgMTI4LCA3OCwgNzQsIDg5LCA4MiwgODgsIDEyOCwgNzgsIDc0LCA4OSwgODIsIDEyOCwgCi0gICAgNzgsIDc0LCA4OSwgODAsIDEyOCwgNzgsIDc0LCA4OSwgMTI4LCA3OCwgNzQsIDg1LCA4OCwgMTI4LCA3OCwgNzQsIDg1LCAKLSAgICA4MiwgODgsIDEyOCwgNzgsIDc0LCA4NSwgODIsIDEyOCwgNzgsIDc0LCA4NSwgODEsIDY1LCAxMjgsIDc4LCA3NCwgODUsIAotICAgIDgwLCAxMjgsIDc4LCA3NCwgODUsIDc5LCA4OCwgMTI4LCA3OCwgNzQsIDg1LCA3OSwgMTI4LCA3OCwgNzQsIDg1LCA2OSwgCi0gICAgODEsIDEyOCwgNzgsIDc0LCA4NSwgNjUsIDY5LCAxMjgsIDc4LCA3NCwgODUsIDEyOCwgNzgsIDc0LCA3OSwgODgsIDEyOCwgCi0gICAgNzgsIDc0LCA3OSwgODQsIDEyOCwgNzgsIDc0LCA3OSwgODAsIDEyOCwgNzgsIDc0LCA3OSwgNzksIDEyOCwgNzgsIDc0LCAKLSAgICA3OSwgMTI4LCA3OCwgNzQsIDczLCA4OCwgMTI4LCA3OCwgNzQsIDczLCA4NCwgMTI4LCA3OCwgNzQsIDczLCA4MCwgMTI4LCAKLSAgICA3OCwgNzQsIDczLCA2OSwgODgsIDEyOCwgNzgsIDc0LCA3MywgNjksIDg0LCAxMjgsIDc4LCA3NCwgNzMsIDY5LCA4MCwgCi0gICAgMTI4LCA3OCwgNzQsIDczLCA2OSwgNjksIDEyOCwgNzgsIDc0LCA3MywgNjksIDEyOCwgNzgsIDc0LCA3MywgMTI4LCA3OCwgCi0gICAgNzQsIDIwMSwgNzgsIDc0LCA2OSwgODUsIDg4LCAxMjgsIDc4LCA3NCwgNjksIDg1LCA4NCwgMTI4LCA3OCwgNzQsIDY5LCAKLSAgICA4NSwgNjUsIDY5LCA3OCwgNjUsIDEyOCwgNzgsIDc0LCA2OSwgODUsIDY1LCA2OSwgNzcsIDEyOCwgNzgsIDc0LCA2OSwgNjksIAotICAgIDY5LCA2OSwgMTI4LCA3OCwgNzQsIDY5LCA2OSwgMTI4LCA3OCwgNzQsIDY5LCAxOTcsIDc4LCA3NCwgNjksIDEyOCwgNzgsIAotICAgIDc0LCA2NSwgODEsIDEyOCwgNzgsIDc0LCA2NSwgODAsIDEyOCwgNzgsIDc0LCA2NSwgNjksIDc3LCA3NiwgNzMsIDEyOCwgCi0gICAgNzgsIDc0LCA2NSwgNjksIDc3LCAxMjgsIDc4LCA3NCwgNjUsIDY1LCAxMjgsIDc4LCA3MywgODgsIDEyOCwgNzgsIDczLCAKLSAgICA4NCwgODIsIDY5LCAxMjgsIDc4LCA3MywgODMsIDY1LCA3MSwgMTI4LCA3OCwgNzMsIDgyLCA4NSwgNzEsIDg1LCAxMjgsIAotICAgIDc4LCA3MywgODAsIDEyOCwgNzgsIDczLCA3OCwgODQsIDcyLCAxMjgsIDc4LCA3MywgNzgsIDY5LCA4NCwgODksIDEyOCwgCi0gICAgNzgsIDczLCA3OCwgNjksIDg0LCAyMTcsIDc4LCA3MywgNzgsIDY5LCA4NCwgNjksIDY5LCA3OCwgMTI4LCA3OCwgNzMsIDc4LCAKLSAgICA2OSwgODQsIDY5LCA2OSwgMjA2LCA3OCwgNzMsIDc4LCA2OSwgNDUsIDg0LCA3MiwgNzMsIDgyLCA4NCwgODksIDEyOCwgNzgsIAotICAgIDczLCA3OCwgMTk3LCA3OCwgNzMsIDc4LCA2OCwgNjUsIDUwLCAxMjgsIDc4LCA3MywgNzgsIDY4LCA2NSwgMTc4LCA3OCwgCi0gICAgNzMsIDc3LCAxMjgsIDc4LCA3MywgMjA1LCA3OCwgNzMsIDc1LCA3MiwgNjUsIDcyLCA3MywgODQsIDEyOCwgNzgsIDczLCAKLSAgICA3NSwgNjUsIDcyLCA3MywgODQsIDEyOCwgNzgsIDczLCA3NSwgNjUsIDEyOCwgNzgsIDczLCA3MiwgODMsIDcyLCA4NiwgNjUsIAotICAgIDgzLCA2NSwgMTI4LCA3OCwgNzMsIDcxLCA3MywgNjgsIDY1LCA3NywgNzMsIDc4LCAxMjgsIDc4LCA3MywgNzEsIDczLCA2OCwgCi0gICAgNjUsIDY5LCA4MywgNzIsIDEyOCwgNzgsIDczLCA3MSwgNzIsIDg0LCAxMjgsIDc4LCA3MywgNzEsIDcyLCAyMTIsIDc4LCAKLSAgICA3MywgNzEsIDcxLCA2NSwgNzIsIDczLCA4NCwgNjUsIDEyOCwgNzgsIDczLCA2OSwgODgsIDEyOCwgNzgsIDczLCA2OSwgODUsIAotICAgIDc4LCA0NSwgODQsIDczLCA3NSwgNjksIDg1LCA4NCwgMTI4LCA3OCwgNzMsIDY5LCA4NSwgNzgsIDQ1LCA4NCwgNzIsIDczLCAKLSAgICA2OSwgODUsIDg0LCA3MiwgMTI4LCA3OCwgNzMsIDY5LCA4NSwgNzgsIDQ1LCA4MywgNzMsIDc5LCA4MywgMTI4LCA3OCwgNzMsIAotICAgIDY5LCA4NSwgNzgsIDQ1LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDEyOCwgNzgsIDczLCA2OSwgODUsIDc4LCA0NSwgODAsIDczLCAKLSAgICA2OSwgODUsIDgwLCAxMjgsIDc4LCA3MywgNjksIDg1LCA3OCwgNDUsIDgwLCA2NSwgNzgsIDgzLCA3MywgNzksIDgzLCAxMjgsIAotICAgIDc4LCA3MywgNjksIDg1LCA3OCwgNDUsIDc1LCA3MywgODksIDY5LCA3OSwgNzUsIDEyOCwgNzgsIDczLCA2OSwgODUsIDc4LCAKLSAgICA0NSwgNzIsIDczLCA2OSwgODUsIDcyLCAxMjgsIDc4LCA3MywgNjksIDg1LCA3OCwgNDUsIDY3LCA3MywgNjksIDg1LCA2NywgCi0gICAgMTI4LCA3OCwgNzMsIDY5LCA4NSwgNzgsIDQ1LCA2NywgNzIsIDczLCA2OSwgODUsIDY3LCA3MiwgMTI4LCA3OCwgNzMsIDY5LCAKLSAgICA4NSwgMjA2LCA3OCwgNzMsIDY5LCA4MCwgMTI4LCA3OCwgNzMsIDY5LCAxMjgsIDc4LCA3MywgNjYsIDEyOCwgNzgsIDczLCAKLSAgICA2NSwgMTI4LCA3OCwgNzMsIDUwLCAxMjgsIDc4LCA3MiwgODUsIDY5LCAxMjgsIDc4LCA3MiwgNzQsIDY1LCAxMjgsIDc4LCAKLSAgICA3MiwgMTI4LCA3OCwgNzEsIDg5LCA2OSwgMTI4LCA3OCwgNzEsIDg2LCA2OSwgMTI4LCA3OCwgNzEsIDg1LCA4NSwgMTI4LCAKLSAgICA3OCwgNzEsIDg1LCA3OSwgODgsIDEyOCwgNzgsIDcxLCA4NSwgNzksIDg0LCAxMjgsIDc4LCA3MSwgODUsIDc5LCAxMjgsIAotICAgIDc4LCA3MSwgODUsIDY1LCA2OSwgODQsIDEyOCwgNzgsIDcxLCA4NSwgNjUsIDY5LCAxMjgsIDc4LCA3MSwgNzksIDg4LCAKLSAgICAxMjgsIDc4LCA3MSwgNzksIDg1LCAxMjgsIDc4LCA3MSwgNzksIDIxMywgNzgsIDcxLCA3OSwgODQsIDEyOCwgNzgsIDcxLCAKLSAgICA3OSwgODEsIDEyOCwgNzgsIDcxLCA3OSwgODAsIDEyOCwgNzgsIDcxLCA3OSwgNzgsIDEyOCwgNzgsIDcxLCA3OSwgNzcsIAotICAgIDEyOCwgNzgsIDcxLCA3OSwgNjksIDcyLCAxMjgsIDc4LCA3MSwgNzksIDY5LCAyMDAsIDc4LCA3MSwgMjA3LCA3OCwgNzEsIAotICAgIDc1LCA4OSwgNjksIDY5LCAxMjgsIDc4LCA3MSwgNzUsIDg3LCA2NSwgNjksIDc4LCAxMjgsIDc4LCA3MSwgNzUsIDg1LCA4MCwgCi0gICAgMTI4LCA3OCwgNzEsIDc1LCA4NSwgNzgsIDEyOCwgNzgsIDcxLCA3NSwgODUsIDc3LCAxMjgsIDc4LCA3MSwgNzUsIDg1LCAKLSAgICA2OSwgNzgsIDkwLCA2OSwgODUsIDc3LCAxMjgsIDc4LCA3MSwgNzUsIDg1LCAxOTcsIDc4LCA3MSwgNzUsIDczLCA3OCwgNjgsIAotICAgIDIwMSwgNzgsIDcxLCA3NSwgNzMsIDY5LCA2OSwgMTI4LCA3OCwgNzEsIDc1LCA2OSwgODUsIDg4LCAxMjgsIDc4LCA3MSwgCi0gICAgNzUsIDY5LCA4NSwgODIsIDczLCAxMjgsIDc4LCA3MSwgNzUsIDY5LCA4NSwgNjUsIDY5LCA4MSwgMTI4LCA3OCwgNzEsIDc1LCAKLSAgICA2OSwgODUsIDY1LCA2OSwgNzcsIDEyOCwgNzgsIDcxLCA3NSwgNjUsIDgxLCAxMjgsIDc4LCA3MSwgNzUsIDY1LCA4MCwgCi0gICAgMTI4LCA3OCwgNzEsIDc1LCA2NSwgNjUsIDc3LCA3MywgMTI4LCA3OCwgNzEsIDc1LCA2NSwgMTI4LCA3OCwgNzEsIDczLCAKLSAgICA2OSwgODgsIDEyOCwgNzgsIDcxLCA3MywgNjksIDgwLCAxMjgsIDc4LCA3MSwgNzMsIDY5LCAxMjgsIDc4LCA3MSwgNzIsIAotICAgIDY1LCAxMjgsIDc4LCA3MSwgNzEsIDg3LCA2NSwgNjksIDc4LCAxMjgsIDc4LCA3MSwgNzEsIDg1LCA4MiwgNjUsIDY5LCAKLSAgICAxMjgsIDc4LCA3MSwgNzEsIDg1LCA4MCwgMTI4LCA3OCwgNzEsIDcxLCA4NSwgNzksIDgxLCAxMjgsIDc4LCA3MSwgNzEsIAotICAgIDg1LCA3OSwgMjA5LCA3OCwgNzEsIDcxLCA4NSwgNzksIDc4LCAxMjgsIDc4LCA3MSwgNzEsIDg1LCA3OSwgNzcsIDEyOCwgCi0gICAgNzgsIDcxLCA3MSwgODUsIDc3LCAxMjgsIDc4LCA3MSwgNzEsIDg1LCA2OSwgNjksIDg0LCAxMjgsIDc4LCA3MSwgNzEsIDg1LCAKLSAgICA2NSwgNjksIDgzLCA3MiwgNjUsIDE5NywgNzgsIDcxLCA3MSwgODUsIDY1LCA2OSwgMjA2LCA3OCwgNzEsIDcxLCA4NSwgCi0gICAgMTI4LCA3OCwgNzEsIDcxLCA3OSwgNzksIDEyOCwgNzgsIDcxLCA3MSwgNzksIDEyOCwgNzgsIDcxLCA3MSwgNzMsIDEyOCwgCi0gICAgNzgsIDcxLCA3MSwgNjksIDg1LCA4OCwgMTI4LCA3OCwgNzEsIDcxLCA2OSwgODUsIDY1LCA2OSwgODQsIDEyOCwgNzgsIDcxLCAKLSAgICA3MSwgNjksIDg1LCA2NSwgNjksIDEyOCwgNzgsIDcxLCA3MSwgNjksIDIxMywgNzgsIDcxLCA3MSwgNjksIDc4LCAxMjgsIAotICAgIDc4LCA3MSwgNzEsIDY5LCA2OSwgODQsIDEyOCwgNzgsIDcxLCA3MSwgNjksIDY5LCA2OSwgNjksIDEyOCwgNzgsIDcxLCA3MSwgCi0gICAgNjksIDY5LCAxMjgsIDc4LCA3MSwgNzEsIDY5LCAxMjgsIDc4LCA3MSwgNzEsIDY1LCA4MCwgMTI4LCA3OCwgNzEsIDcxLCAKLSAgICA2NSwgNjUsIDc3LCA2NSwgNjksIDEyOCwgNzgsIDcxLCA3MSwgNjUsIDY1LCA3NywgMTI4LCA3OCwgNzEsIDcxLCAxMjgsIAotICAgIDc4LCA3MSwgNjksIDg4LCAxMjgsIDc4LCA3MSwgNjksIDg1LCA4MiwgNjksIDg1LCA4NCwgMTI4LCA3OCwgNzEsIDY5LCA4MCwgCi0gICAgMTI4LCA3OCwgNzEsIDY5LCA3OCwgMTI4LCA3OCwgNzEsIDY5LCA2OSwgMTI4LCA3OCwgNzEsIDY5LCA2NSwgNjgsIDY1LCAKLSAgICA3NiwgMTI4LCA3OCwgNzEsIDY1LCA4OCwgMTI4LCA3OCwgNzEsIDY1LCA4NSwgMTI4LCA3OCwgNzEsIDY1LCA4NCwgMTI4LCAKLSAgICA3OCwgNzEsIDY1LCAyMTEsIDc4LCA3MSwgNjUsIDgxLCAxMjgsIDc4LCA3MSwgNjUsIDgwLCAxMjgsIDc4LCA3MSwgNjUsIAotICAgIDc4LCA3MSwgODUsIDEyOCwgNzgsIDcxLCA2NSwgNzgsIDEyOCwgNzgsIDcxLCA2NSwgNzMsIDEyOCwgNzgsIDcxLCA2NSwgCi0gICAgNzIsIDEyOCwgNzgsIDcxLCA2NSwgNjUsIDczLCAxMjgsIDc4LCA3MSwgMTkzLCA3OCwgNzAsIDEyOCwgNzgsIDY5LCA4OCwgCi0gICAgMjEyLCA3OCwgNjksIDg4LCAxMjgsIDc4LCA2OSwgODcsIDgzLCA4MCwgNjUsIDgwLCA2OSwgODIsIDEyOCwgNzgsIDY5LCAKLSAgICA4NywgNzYsIDczLCA3OCwgNjksIDEyOCwgNzgsIDY5LCA4NywgMTI4LCA3OCwgNjksIDg1LCA4NCwgODIsIDY1LCAyMDQsIAotICAgIDc4LCA2OSwgODUsIDg0LCA2OSwgODIsIDEyOCwgNzgsIDY5LCA4NCwgMTI4LCA3OCwgNjksIDIxMiwgNzgsIDY5LCA4MywgCi0gICAgODQsIDY5LCAxOTYsIDc4LCA2OSwgODEsIDg1LCA2OCwgNjUsIDY1LCAxMjgsIDc4LCA2OSwgODAsIDg0LCA4NSwgNzgsIDY5LCAKLSAgICAxMjgsIDc4LCA2OSwgODAsIDEyOCwgNzgsIDY5LCA3OSwgMTI4LCA3OCwgNjksIDIwNywgNzgsIDY5LCA3OCwgNjUsIDc4LCAKLSAgICA3OSwgMTI4LCA3OCwgNjksIDc4LCAxMjgsIDc4LCA2OSwgNzYsIDEyOCwgNzgsIDY5LCA3MywgODQsIDcyLCA2OSwgMjEwLCAKLSAgICA3OCwgNjksIDcxLCA2NSwgODQsIDczLCA3OSwgMjA2LCA3OCwgNjksIDcxLCA2NSwgODQsIDY5LCAxOTYsIDc4LCA2OSwgNjcsIAotICAgIDc1LCA4NCwgNzMsIDY5LCAxMjgsIDc4LCA2OSwgNjYsIDY5LCA3OCwgODMsIDg0LCA3MywgNzcsIDc3LCA2OSwgMTI4LCA3OCwgCi0gICAgNjgsIDg1LCA4OCwgMTI4LCA3OCwgNjgsIDg1LCA4NCwgMTI4LCA3OCwgNjgsIDg1LCA4MiwgODgsIDEyOCwgNzgsIDY4LCAKLSAgICA4NSwgODIsIDEyOCwgNzgsIDY4LCA4NSwgODAsIDEyOCwgNzgsIDY4LCA4NSwgNzgsIDEyOCwgNzgsIDY4LCAyMTMsIDc4LCAKLSAgICA2OCwgNzksIDg4LCAxMjgsIDc4LCA2OCwgNzksIDg0LCAxMjgsIDc4LCA2OCwgNzksIDgwLCAxMjgsIDc4LCA2OCwgNzksIAotICAgIDc5LCAxMjgsIDc4LCA2OCwgNzksIDc4LCAxMjgsIDc4LCA2OCwgNzksIDc3LCA2NiwgODUsIDEyOCwgNzgsIDY4LCA3OSwgCi0gICAgNzYsIDE5NywgNzgsIDY4LCA3MywgODgsIDEyOCwgNzgsIDY4LCA3MywgODQsIDEyOCwgNzgsIDY4LCA3MywgODEsIDEyOCwgCi0gICAgNzgsIDY4LCA3MywgODAsIDEyOCwgNzgsIDY4LCA3MywgNjksIDg4LCAxMjgsIDc4LCA2OCwgNzMsIDY5LCAxMjgsIDc4LCAKLSAgICA2OCwgNzMsIDY4LCA2NSwgMTI4LCA3OCwgNjgsIDczLCA2NSwgODEsIDEyOCwgNzgsIDY4LCA2OSwgODgsIDEyOCwgNzgsIAotICAgIDY4LCA2OSwgODUsIDg4LCAxMjgsIDc4LCA2OCwgNjksIDg1LCA4NCwgMTI4LCA3OCwgNjgsIDY5LCA4NSwgNjUsIDY5LCA4MiwgCi0gICAgNjksIDY5LCAxMjgsIDc4LCA2OCwgNjksIDgwLCAxMjgsIDc4LCA2OCwgNjksIDY5LCAxMjgsIDc4LCA2OCwgNjksIDEyOCwgCi0gICAgNzgsIDY4LCA2NSwgODgsIDEyOCwgNzgsIDY4LCA2NSwgODQsIDEyOCwgNzgsIDY4LCA2NSwgODAsIDEyOCwgNzgsIDY4LCAKLSAgICA2NSwgNzcsIDEyOCwgNzgsIDY4LCA2NSwgNjUsIDc4LCA3MSwgNzEsIDY5LCA4NSwgNjUsIDY5LCA4NCwgMTI4LCA3OCwgNjgsIAotICAgIDY1LCA2NSwgMTI4LCA3OCwgNjgsIDY1LCAxOTMsIDc4LCA2NiwgODksIDg4LCAxMjgsIDc4LCA2NiwgODksIDg0LCAxMjgsIAotICAgIDc4LCA2NiwgODksIDgyLCA4OCwgMTI4LCA3OCwgNjYsIDg5LCA4MiwgMTI4LCA3OCwgNjYsIDg5LCA4MCwgMTI4LCA3OCwgCi0gICAgNjYsIDg5LCAxMjgsIDc4LCA2NiwgODUsIDg4LCAxMjgsIDc4LCA2NiwgODUsIDg0LCAxMjgsIDc4LCA2NiwgODUsIDgyLCAKLSAgICA4OCwgMTI4LCA3OCwgNjYsIDg1LCA4MiwgMTI4LCA3OCwgNjYsIDg1LCA4MCwgMTI4LCA3OCwgNjYsIDg1LCAxMjgsIDc4LCAKLSAgICA2NiwgNzksIDg4LCAxMjgsIDc4LCA2NiwgNzksIDg0LCAxMjgsIDc4LCA2NiwgNzksIDgwLCAxMjgsIDc4LCA2NiwgNzksIAotICAgIDEyOCwgNzgsIDY2LCA3MywgODgsIDEyOCwgNzgsIDY2LCA3MywgODQsIDEyOCwgNzgsIDY2LCA3MywgODAsIDEyOCwgNzgsIAotICAgIDY2LCA3MywgNjksIDg4LCAxMjgsIDc4LCA2NiwgNzMsIDY5LCA4MCwgMTI4LCA3OCwgNjYsIDczLCA2OSwgMTI4LCA3OCwgCi0gICAgNjYsIDczLCAxMjgsIDc4LCA2NiwgNzIsIDEyOCwgNzgsIDY2LCA2NSwgODgsIDEyOCwgNzgsIDY2LCA2NSwgODQsIDEyOCwgCi0gICAgNzgsIDY2LCA2NSwgODAsIDEyOCwgNzgsIDY2LCA2NSwgMTI4LCA3OCwgNjUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCAKLSAgICA3OCwgNjUsIDg5LCAxMjgsIDc4LCA2NSwgODgsIDczLCA2NSwgMjA2LCA3OCwgNjUsIDg4LCAxMjgsIDc4LCA2NSwgODUsIAotICAgIDg0LCA3MiwgODMsIDEyOCwgNzgsIDY1LCA4NSwgNjgsIDczLCAyMTgsIDc4LCA2NSwgODQsIDg1LCA4MiwgNjUsIDIwNCwgCi0gICAgNzgsIDY1LCA4NCwgNzMsIDc5LCA3OCwgNjUsIDIwNCwgNzgsIDY1LCA4MywgNzUsIDY1LCA4MCwgMjAxLCA3OCwgNjUsIDgzLCAKLSAgICA3MiwgNzMsIDEyOCwgNzgsIDY1LCA4MywgNjUsIDc2LCA3MywgOTAsIDY1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA3OCwgNjUsIAotICAgIDgzLCA2NSwgNzYsIDczLCA5MCwgNjUsIDg0LCA3MywgNzksIDIwNiwgNzgsIDY1LCA4MiwgODIsIDc5LCAyMTUsIDc4LCA2NSwgCi0gICAgODIsIDEyOCwgNzgsIDY1LCA4MSwgMTI4LCA3OCwgNjUsIDc5LCAyMTEsIDc4LCA2NSwgNzgsIDgzLCA2NSwgNzgsIDY1LCAKLSAgICA4MSwgMTI4LCA3OCwgNjUsIDc4LCA3MSwgNzcsIDc5LCA3OCwgODQsIDcyLCA3OSwgMTI4LCA3OCwgNjUsIDc4LCA2OCwgCi0gICAgMTI4LCA3OCwgNjUsIDc4LCA2NSwgMTI4LCA3OCwgNjUsIDc3LCA2OSwgMTI4LCA3OCwgNjUsIDc3LCAxOTcsIDc4LCA2NSwgCi0gICAgNzcsIDUwLCAxMjgsIDc4LCA2NSwgNzcsIDEyOCwgNzgsIDY1LCA3NSwgMTI4LCA3OCwgNjUsIDczLCA4MiwgMTkzLCA3OCwgCi0gICAgNjUsIDczLCAyMDQsIDc4LCA2NSwgNzEsIDgyLCAyMDEsIDc4LCA2NSwgNzEsIDY1LCA4MiwgMTI4LCA3OCwgNjUsIDcxLCAKLSAgICA2NSwgMTI4LCA3OCwgNjUsIDcxLCAxOTMsIDc4LCA2NSwgNzEsIDEyOCwgNzgsIDY1LCAxOTksIDc4LCA2NSwgNjksIDEyOCwgCi0gICAgNzgsIDY1LCA2NiwgNzYsIDY1LCAxMjgsIDc4LCA2NSwgNjUsIDgzLCA3MywgNzUsIDg5LCA2NSwgODksIDY1LCAxMjgsIDc4LCAKKyAgICA2OSwgNjUsIDc1LCA3MywgNzgsIDE5OSwgNzgsIDc5LCA3OCwgMTI4LCA3OCwgNzksIDc3LCA3MywgNzgsIDY1LCAyMDQsIAorICAgIDc4LCA3OSwgNzUsIDcyLCA4NSwgNzUsIDEyOCwgNzgsIDc5LCA2OCwgNjksIDEyOCwgNzgsIDc5LCA2NSwgMTI4LCA3OCwgCisgICAgNzksIDQ1LCA2NiwgODIsIDY5LCA2NSwgMjAzLCA3OCwgNzgsIDg1LCA4NSwgMTI4LCA3OCwgNzgsIDg1LCAxMjgsIDc4LCAKKyAgICA3OCwgNzksIDc5LCAxMjgsIDc4LCA3OCwgNzksIDEyOCwgNzgsIDc4LCA3OCwgODUsIDg1LCAxMjgsIDc4LCA3OCwgNzgsIAorICAgIDg1LCAxMjgsIDc4LCA3OCwgNzgsIDc5LCA3OSwgMTI4LCA3OCwgNzgsIDc4LCA3OSwgMTI4LCA3OCwgNzgsIDc4LCA3MywgCisgICAgNzMsIDEyOCwgNzgsIDc4LCA3OCwgNzMsIDEyOCwgNzgsIDc4LCA3OCwgNjksIDY5LCAxMjgsIDc4LCA3OCwgNzgsIDY5LCAKKyAgICAxMjgsIDc4LCA3OCwgNzgsIDY1LCA4NSwgMTI4LCA3OCwgNzgsIDc4LCA2NSwgNzMsIDEyOCwgNzgsIDc4LCA3OCwgNjUsIAorICAgIDY1LCAxMjgsIDc4LCA3OCwgNzgsIDY1LCAxMjgsIDc4LCA3OCwgNzgsIDEyOCwgNzgsIDc4LCA3MiwgNjUsIDEyOCwgNzgsIAorICAgIDc4LCA3MSwgNzksIDc5LCAxMjgsIDc4LCA3OCwgNzEsIDc5LCAxMjgsIDc4LCA3OCwgNzEsIDczLCA3MywgMTI4LCA3OCwgCisgICAgNzgsIDcxLCA3MywgMTI4LCA3OCwgNzgsIDcxLCA2NSwgNjUsIDEyOCwgNzgsIDc4LCA3MSwgNjUsIDEyOCwgNzgsIDc4LCAKKyAgICA3MSwgMTI4LCA3OCwgNzgsIDY2LCA4MywgODAsIDEyOCwgNzgsIDc3LCAxMjgsIDc4LCA3NiwgNjUsIDg1LCAxMjgsIDc4LCAKKyAgICA3NiwgNDgsIDUwLCA0OCwgMTI4LCA3OCwgNzYsIDQ4LCA0OSwgNTcsIDEyOCwgNzgsIDc2LCA0OCwgNDksIDU2LCAxMjgsIAorICAgIDc4LCA3NiwgNDgsIDQ5LCA1NSwgNjUsIDEyOCwgNzgsIDc2LCA0OCwgNDksIDU1LCAxMjgsIDc4LCA3NiwgNDgsIDQ5LCA1NCwgCisgICAgMTI4LCA3OCwgNzYsIDQ4LCA0OSwgNTMsIDEyOCwgNzgsIDc2LCA0OCwgNDksIDUyLCAxMjgsIDc4LCA3NiwgNDgsIDQ5LCAKKyAgICA1MSwgMTI4LCA3OCwgNzYsIDQ4LCA0OSwgNTAsIDEyOCwgNzgsIDc2LCA0OCwgNDksIDQ5LCAxMjgsIDc4LCA3NiwgNDgsIAorICAgIDQ5LCA0OCwgMTI4LCA3OCwgNzYsIDQ4LCA0OCwgNTcsIDEyOCwgNzgsIDc2LCA0OCwgNDgsIDU2LCAxMjgsIDc4LCA3NiwgCisgICAgNDgsIDQ4LCA1NSwgMTI4LCA3OCwgNzYsIDQ4LCA0OCwgNTQsIDEyOCwgNzgsIDc2LCA0OCwgNDgsIDUzLCA2NSwgMTI4LCAKKyAgICA3OCwgNzYsIDQ4LCA0OCwgNTMsIDEyOCwgNzgsIDc2LCA0OCwgNDgsIDUyLCAxMjgsIDc4LCA3NiwgNDgsIDQ4LCA1MSwgCisgICAgMTI4LCA3OCwgNzYsIDQ4LCA0OCwgNTAsIDEyOCwgNzgsIDc2LCA0OCwgNDgsIDQ5LCAxMjgsIDc4LCA3NiwgMTI4LCA3OCwgCisgICAgNzUsIDc5LCA3NywgMTI4LCA3OCwgNzUsIDIwNywgNzgsIDc1LCA3MywgNzgsIDY4LCA3MywgMTI4LCA3OCwgNzUsIDY1LCAKKyAgICA4NSwgMTI4LCA3OCwgNzUsIDY1LCA2NSwgODIsIDY1LCA2OSwgMTI4LCA3OCwgNzQsIDg5LCA4OCwgMTI4LCA3OCwgNzQsIAorICAgIDg5LCA4NCwgMTI4LCA3OCwgNzQsIDg5LCA4MiwgODgsIDEyOCwgNzgsIDc0LCA4OSwgODIsIDEyOCwgNzgsIDc0LCA4OSwgCisgICAgODAsIDEyOCwgNzgsIDc0LCA4OSwgMTI4LCA3OCwgNzQsIDg1LCA4OCwgMTI4LCA3OCwgNzQsIDg1LCA4MiwgODgsIDEyOCwgCisgICAgNzgsIDc0LCA4NSwgODIsIDEyOCwgNzgsIDc0LCA4NSwgODEsIDY1LCAxMjgsIDc4LCA3NCwgODUsIDgwLCAxMjgsIDc4LCAKKyAgICA3NCwgODUsIDc5LCA4OCwgMTI4LCA3OCwgNzQsIDg1LCA3OSwgMTI4LCA3OCwgNzQsIDg1LCA2OSwgODEsIDEyOCwgNzgsIAorICAgIDc0LCA4NSwgNjUsIDY5LCAxMjgsIDc4LCA3NCwgODUsIDEyOCwgNzgsIDc0LCA3OSwgODgsIDEyOCwgNzgsIDc0LCA3OSwgCisgICAgODQsIDEyOCwgNzgsIDc0LCA3OSwgODAsIDEyOCwgNzgsIDc0LCA3OSwgNzksIDEyOCwgNzgsIDc0LCA3OSwgMTI4LCA3OCwgCisgICAgNzQsIDczLCA4OCwgMTI4LCA3OCwgNzQsIDczLCA4NCwgMTI4LCA3OCwgNzQsIDczLCA4MCwgMTI4LCA3OCwgNzQsIDczLCAKKyAgICA2OSwgODgsIDEyOCwgNzgsIDc0LCA3MywgNjksIDg0LCAxMjgsIDc4LCA3NCwgNzMsIDY5LCA4MCwgMTI4LCA3OCwgNzQsIAorICAgIDczLCA2OSwgNjksIDEyOCwgNzgsIDc0LCA3MywgNjksIDEyOCwgNzgsIDc0LCA3MywgMTI4LCA3OCwgNzQsIDIwMSwgNzgsIAorICAgIDc0LCA2OSwgODUsIDg4LCAxMjgsIDc4LCA3NCwgNjksIDg1LCA4NCwgMTI4LCA3OCwgNzQsIDY5LCA4NSwgNjUsIDY5LCA3OCwgCisgICAgNjUsIDEyOCwgNzgsIDc0LCA2OSwgODUsIDY1LCA2OSwgNzcsIDEyOCwgNzgsIDc0LCA2OSwgNjksIDY5LCA2OSwgMTI4LCAKKyAgICA3OCwgNzQsIDY5LCA2OSwgMTI4LCA3OCwgNzQsIDY5LCAxOTcsIDc4LCA3NCwgNjksIDEyOCwgNzgsIDc0LCA2NSwgODEsIAorICAgIDEyOCwgNzgsIDc0LCA2NSwgODAsIDEyOCwgNzgsIDc0LCA2NSwgNjksIDc3LCA3NiwgNzMsIDEyOCwgNzgsIDc0LCA2NSwgCisgICAgNjksIDc3LCAxMjgsIDc4LCA3NCwgNjUsIDY1LCAxMjgsIDc4LCA3MywgODgsIDEyOCwgNzgsIDczLCA4NCwgODIsIDY5LCAKKyAgICAxMjgsIDc4LCA3MywgODMsIDY1LCA3MSwgMTI4LCA3OCwgNzMsIDgyLCA4NSwgNzEsIDg1LCAxMjgsIDc4LCA3MywgODAsIAorICAgIDEyOCwgNzgsIDczLCA3OCwgODQsIDcyLCAxMjgsIDc4LCA3MywgNzgsIDY5LCA4NCwgODksIDEyOCwgNzgsIDczLCA3OCwgCisgICAgNjksIDg0LCAyMTcsIDc4LCA3MywgNzgsIDY5LCA4NCwgNjksIDY5LCA3OCwgMTI4LCA3OCwgNzMsIDc4LCA2OSwgODQsIDY5LCAKKyAgICA2OSwgMjA2LCA3OCwgNzMsIDc4LCA2OSwgNDUsIDg0LCA3MiwgNzMsIDgyLCA4NCwgODksIDEyOCwgNzgsIDczLCA3OCwgCisgICAgMTk3LCA3OCwgNzMsIDc4LCA2OCwgNjUsIDUwLCAxMjgsIDc4LCA3MywgNzgsIDY4LCA2NSwgMTc4LCA3OCwgNzMsIDc4LCAKKyAgICA1NywgMTI4LCA3OCwgNzMsIDc4LCAxMjgsIDc4LCA3MywgNzcsIDEyOCwgNzgsIDczLCAyMDUsIDc4LCA3MywgNzUsIDcyLCAKKyAgICA2NSwgNzIsIDczLCA4NCwgMTI4LCA3OCwgNzMsIDc1LCA2NSwgNzIsIDczLCA4NCwgMTI4LCA3OCwgNzMsIDc1LCA2NSwgCisgICAgMTI4LCA3OCwgNzMsIDcyLCA4MywgNzIsIDg2LCA2NSwgODMsIDY1LCAxMjgsIDc4LCA3MywgNzEsIDczLCA2OCwgNjUsIDc3LCAKKyAgICA3MywgNzgsIDEyOCwgNzgsIDczLCA3MSwgNzMsIDY4LCA2NSwgNjksIDgzLCA3MiwgMTI4LCA3OCwgNzMsIDcxLCA3MiwgODQsIAorICAgIDEyOCwgNzgsIDczLCA3MSwgNzIsIDIxMiwgNzgsIDczLCA3MSwgNzEsIDY1LCA3MiwgNzMsIDg0LCA2NSwgMTI4LCA3OCwgCisgICAgNzMsIDY5LCA4OCwgMTI4LCA3OCwgNzMsIDY5LCA4NSwgNzgsIDQ1LCA4NCwgNzMsIDc1LCA2OSwgODUsIDg0LCAxMjgsIDc4LCAKKyAgICA3MywgNjksIDg1LCA3OCwgNDUsIDg0LCA3MiwgNzMsIDY5LCA4NSwgODQsIDcyLCAxMjgsIDc4LCA3MywgNjksIDg1LCA3OCwgCisgICAgNDUsIDgzLCA3MywgNzksIDgzLCAxMjgsIDc4LCA3MywgNjksIDg1LCA3OCwgNDUsIDgyLCA3MywgNjksIDg1LCA3NiwgMTI4LCAKKyAgICA3OCwgNzMsIDY5LCA4NSwgNzgsIDQ1LCA4MCwgNzMsIDY5LCA4NSwgODAsIDEyOCwgNzgsIDczLCA2OSwgODUsIDc4LCA0NSwgCisgICAgODAsIDY1LCA3OCwgODMsIDczLCA3OSwgODMsIDEyOCwgNzgsIDczLCA2OSwgODUsIDc4LCA0NSwgNzUsIDczLCA4OSwgNjksIAorICAgIDc5LCA3NSwgMTI4LCA3OCwgNzMsIDY5LCA4NSwgNzgsIDQ1LCA3MiwgNzMsIDY5LCA4NSwgNzIsIDEyOCwgNzgsIDczLCA2OSwgCisgICAgODUsIDc4LCA0NSwgNjcsIDczLCA2OSwgODUsIDY3LCAxMjgsIDc4LCA3MywgNjksIDg1LCA3OCwgNDUsIDY3LCA3MiwgNzMsIAorICAgIDY5LCA4NSwgNjcsIDcyLCAxMjgsIDc4LCA3MywgNjksIDg1LCAyMDYsIDc4LCA3MywgNjksIDgwLCAxMjgsIDc4LCA3MywgCisgICAgNjksIDEyOCwgNzgsIDczLCA2NiwgMTI4LCA3OCwgNzMsIDY1LCAxMjgsIDc4LCA3MywgNTAsIDEyOCwgNzgsIDcyLCA4NSwgCisgICAgNjksIDEyOCwgNzgsIDcyLCA3NCwgNjUsIDEyOCwgNzgsIDcyLCAxMjgsIDc4LCA3MSwgODksIDY5LCAxMjgsIDc4LCA3MSwgCisgICAgODYsIDY5LCAxMjgsIDc4LCA3MSwgODUsIDg1LCAxMjgsIDc4LCA3MSwgODUsIDc5LCA4OCwgMTI4LCA3OCwgNzEsIDg1LCAKKyAgICA3OSwgODQsIDEyOCwgNzgsIDcxLCA4NSwgNzksIDEyOCwgNzgsIDcxLCA4NSwgNjUsIDc4LCAxMjgsIDc4LCA3MSwgODUsIAorICAgIDY1LCA2OSwgODQsIDEyOCwgNzgsIDcxLCA4NSwgNjUsIDY5LCAxMjgsIDc4LCA3MSwgNzksIDg4LCAxMjgsIDc4LCA3MSwgCisgICAgNzksIDg1LCAxMjgsIDc4LCA3MSwgNzksIDIxMywgNzgsIDcxLCA3OSwgODQsIDEyOCwgNzgsIDcxLCA3OSwgODEsIDEyOCwgCisgICAgNzgsIDcxLCA3OSwgODAsIDEyOCwgNzgsIDcxLCA3OSwgNzgsIDEyOCwgNzgsIDcxLCA3OSwgNzcsIDEyOCwgNzgsIDcxLCAKKyAgICA3OSwgNjksIDcyLCAxMjgsIDc4LCA3MSwgNzksIDY5LCAyMDAsIDc4LCA3MSwgMjA3LCA3OCwgNzEsIDc1LCA4OSwgNjksIAorICAgIDY5LCAxMjgsIDc4LCA3MSwgNzUsIDg3LCA2NSwgNjksIDc4LCAxMjgsIDc4LCA3MSwgNzUsIDg1LCA4MCwgMTI4LCA3OCwgCisgICAgNzEsIDc1LCA4NSwgNzgsIDEyOCwgNzgsIDcxLCA3NSwgODUsIDc3LCAxMjgsIDc4LCA3MSwgNzUsIDg1LCA2OSwgNzgsIDkwLCAKKyAgICA2OSwgODUsIDc3LCAxMjgsIDc4LCA3MSwgNzUsIDg1LCAxOTcsIDc4LCA3MSwgNzUsIDczLCA3OCwgNjgsIDIwMSwgNzgsIAorICAgIDcxLCA3NSwgNzMsIDY5LCA2OSwgMTI4LCA3OCwgNzEsIDc1LCA2OSwgODUsIDg4LCAxMjgsIDc4LCA3MSwgNzUsIDY5LCA4NSwgCisgICAgODIsIDczLCAxMjgsIDc4LCA3MSwgNzUsIDY5LCA4NSwgNjUsIDY5LCA4MSwgMTI4LCA3OCwgNzEsIDc1LCA2OSwgODUsIDY1LCAKKyAgICA2OSwgNzcsIDEyOCwgNzgsIDcxLCA3NSwgNjUsIDgxLCAxMjgsIDc4LCA3MSwgNzUsIDY1LCA4MCwgMTI4LCA3OCwgNzEsIAorICAgIDc1LCA2NSwgNjUsIDc3LCA3MywgMTI4LCA3OCwgNzEsIDc1LCA2NSwgMTI4LCA3OCwgNzEsIDczLCA2OSwgODgsIDEyOCwgCisgICAgNzgsIDcxLCA3MywgNjksIDgwLCAxMjgsIDc4LCA3MSwgNzMsIDY5LCAxMjgsIDc4LCA3MSwgNzIsIDY1LCAxMjgsIDc4LCAKKyAgICA3MSwgNzEsIDg3LCA2NSwgNjksIDc4LCAxMjgsIDc4LCA3MSwgNzEsIDg1LCA4MiwgNjUsIDY5LCAxMjgsIDc4LCA3MSwgNzEsIAorICAgIDg1LCA4MCwgMTI4LCA3OCwgNzEsIDcxLCA4NSwgNzksIDgxLCAxMjgsIDc4LCA3MSwgNzEsIDg1LCA3OSwgMjA5LCA3OCwgCisgICAgNzEsIDcxLCA4NSwgNzksIDc4LCAxMjgsIDc4LCA3MSwgNzEsIDg1LCA3OSwgNzcsIDEyOCwgNzgsIDcxLCA3MSwgODUsIDc3LCAKKyAgICAxMjgsIDc4LCA3MSwgNzEsIDg1LCA2OSwgNjksIDg0LCAxMjgsIDc4LCA3MSwgNzEsIDg1LCA2NSwgNjksIDgzLCA3MiwgNjUsIAorICAgIDE5NywgNzgsIDcxLCA3MSwgODUsIDY1LCA2OSwgMjA2LCA3OCwgNzEsIDcxLCA4NSwgNjUsIDEyOCwgNzgsIDcxLCA3MSwgCisgICAgODUsIDEyOCwgNzgsIDcxLCA3MSwgNzksIDc5LCAxMjgsIDc4LCA3MSwgNzEsIDc5LCAxMjgsIDc4LCA3MSwgNzEsIDczLCAKKyAgICAxMjgsIDc4LCA3MSwgNzEsIDY5LCA4NSwgODgsIDEyOCwgNzgsIDcxLCA3MSwgNjksIDg1LCA2NSwgNjksIDg0LCAxMjgsIAorICAgIDc4LCA3MSwgNzEsIDY5LCA4NSwgNjUsIDY5LCAxMjgsIDc4LCA3MSwgNzEsIDY5LCAyMTMsIDc4LCA3MSwgNzEsIDY5LCA3OCwgCisgICAgMTI4LCA3OCwgNzEsIDcxLCA2OSwgNjksIDg0LCAxMjgsIDc4LCA3MSwgNzEsIDY5LCA2OSwgNjksIDY5LCAxMjgsIDc4LCAKKyAgICA3MSwgNzEsIDY5LCA2OSwgMTI4LCA3OCwgNzEsIDcxLCA2OSwgMTI4LCA3OCwgNzEsIDcxLCA2NSwgODAsIDEyOCwgNzgsIAorICAgIDcxLCA3MSwgNjUsIDY1LCA3NywgNjUsIDY5LCAxMjgsIDc4LCA3MSwgNzEsIDY1LCA2NSwgNzcsIDEyOCwgNzgsIDcxLCA3MSwgCisgICAgNjUsIDY1LCAxMjgsIDc4LCA3MSwgNzEsIDEyOCwgNzgsIDcxLCA2OSwgODgsIDEyOCwgNzgsIDcxLCA2OSwgODUsIDgyLCAKKyAgICA2OSwgODUsIDg0LCAxMjgsIDc4LCA3MSwgNjksIDgwLCAxMjgsIDc4LCA3MSwgNjksIDc4LCAxMjgsIDc4LCA3MSwgNjksIAorICAgIDY5LCAxMjgsIDc4LCA3MSwgNjksIDY1LCA2OCwgNjUsIDc2LCAxMjgsIDc4LCA3MSwgNjUsIDg4LCAxMjgsIDc4LCA3MSwgCisgICAgNjUsIDg1LCAxMjgsIDc4LCA3MSwgNjUsIDg0LCAxMjgsIDc4LCA3MSwgNjUsIDIxMSwgNzgsIDcxLCA2NSwgODEsIDEyOCwgCisgICAgNzgsIDcxLCA2NSwgODAsIDEyOCwgNzgsIDcxLCA2NSwgNzgsIDcxLCA4NSwgMTI4LCA3OCwgNzEsIDY1LCA3OCwgMTI4LCAKKyAgICA3OCwgNzEsIDY1LCA3MywgMTI4LCA3OCwgNzEsIDY1LCA3MiwgMTI4LCA3OCwgNzEsIDY1LCA2NSwgNzMsIDEyOCwgNzgsIAorICAgIDcxLCAxOTMsIDc4LCA3MCwgMTI4LCA3OCwgNjksIDg4LCAyMTIsIDc4LCA2OSwgODgsIDEyOCwgNzgsIDY5LCA4NywgODMsIAorICAgIDgwLCA2NSwgODAsIDY5LCA4MiwgMTI4LCA3OCwgNjksIDg3LCA3NiwgNzMsIDc4LCA2OSwgMTI4LCA3OCwgNjksIDg3LCA3NiwgCisgICAgNzMsIDc4LCAxOTcsIDc4LCA2OSwgODcsIDEyOCwgNzgsIDY5LCA4NSwgODQsIDgyLCA2NSwgMjA0LCA3OCwgNjksIDg1LCAKKyAgICA4NCwgNjksIDgyLCAxMjgsIDc4LCA2OSwgODQsIDg3LCA3OSwgODIsIDc1LCA2OSwgMTk2LCA3OCwgNjksIDg0LCAxMjgsIAorICAgIDc4LCA2OSwgMjEyLCA3OCwgNjksIDgzLCA4NCwgNjksIDE5NiwgNzgsIDY5LCA4MSwgODUsIDY4LCA2NSwgNjUsIDEyOCwgCisgICAgNzgsIDY5LCA4MCwgODQsIDg1LCA3OCwgNjksIDEyOCwgNzgsIDY5LCA4MCwgMTI4LCA3OCwgNjksIDc5LCAxMjgsIDc4LCAKKyAgICA2OSwgMjA3LCA3OCwgNjksIDc4LCA3OSwgNjksIDEyOCwgNzgsIDY5LCA3OCwgNjUsIDc4LCA3OSwgMTI4LCA3OCwgNjksIAorICAgIDc4LCAxMjgsIDc4LCA2OSwgNzYsIDEyOCwgNzgsIDY5LCA3MywgODQsIDcyLCA2OSwgMjEwLCA3OCwgNjksIDcxLCA2NSwgCisgICAgODQsIDczLCA3OSwgMjA2LCA3OCwgNjksIDcxLCA2NSwgODQsIDY5LCAxOTYsIDc4LCA2OSwgNjcsIDc1LCA4NCwgNzMsIDY5LCAKKyAgICAxMjgsIDc4LCA2OSwgNjYsIDY5LCA3OCwgODMsIDg0LCA3MywgNzcsIDc3LCA2OSwgMTI4LCA3OCwgNjgsIDg1LCA4OCwgCisgICAgMTI4LCA3OCwgNjgsIDg1LCA4NCwgMTI4LCA3OCwgNjgsIDg1LCA4MiwgODgsIDEyOCwgNzgsIDY4LCA4NSwgODIsIDEyOCwgCisgICAgNzgsIDY4LCA4NSwgODAsIDEyOCwgNzgsIDY4LCA4NSwgNzgsIDEyOCwgNzgsIDY4LCAyMTMsIDc4LCA2OCwgNzksIDg4LCAKKyAgICAxMjgsIDc4LCA2OCwgNzksIDg0LCAxMjgsIDc4LCA2OCwgNzksIDgwLCAxMjgsIDc4LCA2OCwgNzksIDc5LCAxMjgsIDc4LCAKKyAgICA2OCwgNzksIDc4LCAxMjgsIDc4LCA2OCwgNzksIDc3LCA2NiwgODUsIDEyOCwgNzgsIDY4LCA3OSwgNzYsIDE5NywgNzgsIAorICAgIDY4LCA3MywgODgsIDEyOCwgNzgsIDY4LCA3MywgODQsIDEyOCwgNzgsIDY4LCA3MywgODEsIDEyOCwgNzgsIDY4LCA3MywgCisgICAgODAsIDEyOCwgNzgsIDY4LCA3MywgNjksIDg4LCAxMjgsIDc4LCA2OCwgNzMsIDY5LCAxMjgsIDc4LCA2OCwgNzMsIDY4LCAKKyAgICA2NSwgMTI4LCA3OCwgNjgsIDczLCA2NSwgODEsIDEyOCwgNzgsIDY4LCA2OSwgODgsIDEyOCwgNzgsIDY4LCA2OSwgODUsIAorICAgIDg4LCAxMjgsIDc4LCA2OCwgNjksIDg1LCA4NCwgMTI4LCA3OCwgNjgsIDY5LCA4NSwgNjUsIDY5LCA4MiwgNjksIDY5LCAKKyAgICAxMjgsIDc4LCA2OCwgNjksIDgwLCAxMjgsIDc4LCA2OCwgNjksIDY5LCAxMjgsIDc4LCA2OCwgNjksIDEyOCwgNzgsIDY4LCAKKyAgICA2NSwgODgsIDEyOCwgNzgsIDY4LCA2NSwgODQsIDEyOCwgNzgsIDY4LCA2NSwgODAsIDEyOCwgNzgsIDY4LCA2NSwgNzcsIAorICAgIDEyOCwgNzgsIDY4LCA2NSwgNjUsIDc4LCA3MSwgNzEsIDY5LCA4NSwgNjUsIDY5LCA4NCwgMTI4LCA3OCwgNjgsIDY1LCA2NSwgCisgICAgMTI4LCA3OCwgNjgsIDY1LCAxOTMsIDc4LCA2NywgNzIsIDY1LCA4NSwgMTI4LCA3OCwgNjYsIDg5LCA4OCwgMTI4LCA3OCwgCisgICAgNjYsIDg5LCA4NCwgMTI4LCA3OCwgNjYsIDg5LCA4MiwgODgsIDEyOCwgNzgsIDY2LCA4OSwgODIsIDEyOCwgNzgsIDY2LCAKKyAgICA4OSwgODAsIDEyOCwgNzgsIDY2LCA4OSwgMTI4LCA3OCwgNjYsIDg1LCA4OCwgMTI4LCA3OCwgNjYsIDg1LCA4NCwgMTI4LCAKKyAgICA3OCwgNjYsIDg1LCA4MiwgODgsIDEyOCwgNzgsIDY2LCA4NSwgODIsIDEyOCwgNzgsIDY2LCA4NSwgODAsIDEyOCwgNzgsIAorICAgIDY2LCA4NSwgMTI4LCA3OCwgNjYsIDc5LCA4OCwgMTI4LCA3OCwgNjYsIDc5LCA4NCwgMTI4LCA3OCwgNjYsIDc5LCA4MCwgCisgICAgMTI4LCA3OCwgNjYsIDc5LCAxMjgsIDc4LCA2NiwgNzMsIDg4LCAxMjgsIDc4LCA2NiwgNzMsIDg0LCAxMjgsIDc4LCA2NiwgCisgICAgNzMsIDgwLCAxMjgsIDc4LCA2NiwgNzMsIDY5LCA4OCwgMTI4LCA3OCwgNjYsIDczLCA2OSwgODAsIDEyOCwgNzgsIDY2LCAKKyAgICA3MywgNjksIDEyOCwgNzgsIDY2LCA3MywgMTI4LCA3OCwgNjYsIDcyLCAxMjgsIDc4LCA2NiwgNjUsIDg4LCAxMjgsIDc4LCAKKyAgICA2NiwgNjUsIDg0LCAxMjgsIDc4LCA2NiwgNjUsIDgwLCAxMjgsIDc4LCA2NiwgNjUsIDEyOCwgNzgsIDY1LCA4OSwgNjUsIAorICAgIDc4LCA3OCwgNjUsIDEyOCwgNzgsIDY1LCA4OSwgMTI4LCA3OCwgNjUsIDg4LCA3MywgNjUsIDIwNiwgNzgsIDY1LCA4OCwgCisgICAgMTI4LCA3OCwgNjUsIDg1LCA4NCwgNzIsIDgzLCAxMjgsIDc4LCA2NSwgODUsIDY4LCA3MywgMjE4LCA3OCwgNjUsIDg0LCAKKyAgICA4NSwgODIsIDY1LCAyMDQsIDc4LCA2NSwgODQsIDczLCA3OSwgNzgsIDY1LCAyMDQsIDc4LCA2NSwgODMsIDc1LCA2NSwgODAsIAorICAgIDIwMSwgNzgsIDY1LCA4MywgNzIsIDczLCAxMjgsIDc4LCA2NSwgODMsIDY1LCA3NiwgNzMsIDkwLCA2NSwgODQsIDczLCA3OSwgCisgICAgNzgsIDEyOCwgNzgsIDY1LCA4MywgNjUsIDc2LCA3MywgOTAsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDc4LCA2NSwgODMsIDY1LCAKKyAgICAyMDQsIDc4LCA2NSwgODIsIDgyLCA3OSwgMjE1LCA3OCwgNjUsIDgyLCAxMjgsIDc4LCA2NSwgODEsIDEyOCwgNzgsIDY1LCAKKyAgICA3OSwgMjExLCA3OCwgNjUsIDc4LCA4MywgNjUsIDc4LCA2NSwgODEsIDEyOCwgNzgsIDY1LCA3OCwgNzEsIDc3LCA3OSwgNzgsIAorICAgIDg0LCA3MiwgNzksIDEyOCwgNzgsIDY1LCA3OCwgNjgsIDEyOCwgNzgsIDY1LCA3OCwgNjUsIDEyOCwgNzgsIDY1LCA3NywgCisgICAgNjksIDEyOCwgNzgsIDY1LCA3NywgMTk3LCA3OCwgNjUsIDc3LCA1MCwgMTI4LCA3OCwgNjUsIDc3LCAxMjgsIDc4LCA2NSwgCisgICAgNzUsIDEyOCwgNzgsIDY1LCA3MywgODIsIDE5MywgNzgsIDY1LCA3MywgMjA0LCA3OCwgNjUsIDcxLCA4MiwgMjAxLCA3OCwgCisgICAgNjUsIDcxLCA2NSwgODIsIDEyOCwgNzgsIDY1LCA3MSwgNjUsIDEyOCwgNzgsIDY1LCA3MSwgMTkzLCA3OCwgNjUsIDcxLCAKKyAgICAxMjgsIDc4LCA2NSwgMTk5LCA3OCwgNjUsIDY5LCAxMjgsIDc4LCA2NSwgNjYsIDc2LCA2NSwgMTI4LCA3OCwgNjUsIDY2LCAKKyAgICA2NSwgODQsIDY1LCA2OSwgNjUsIDIwNiwgNzgsIDY1LCA2NSwgODMsIDczLCA3NSwgODksIDY1LCA4OSwgNjUsIDEyOCwgNzgsIAogICAgIDY1LCA2NSwgNzUsIDgzLCA3MywgNzUsIDg5LCA2NSwgODksIDY1LCAxMjgsIDc4LCA2NSwgNjUsIDczLCAxMjgsIDc4LCA2NSwgCi0gICAgMTkzLCA3OCwgNjUsIDUwLCAxMjgsIDc4LCA2NSwgNDUsIDUwLCAxMjgsIDc4LCA0OCwgNTIsIDUwLCAxMjgsIDc4LCA0OCwgCi0gICAgNTIsIDQ5LCAxMjgsIDc4LCA0OCwgNTIsIDQ4LCAxMjgsIDc4LCA0OCwgNTEsIDU3LCAxMjgsIDc4LCA0OCwgNTEsIDU2LCAKLSAgICAxMjgsIDc4LCA0OCwgNTEsIDU1LCA2NSwgMTI4LCA3OCwgNDgsIDUxLCA1NSwgMTI4LCA3OCwgNDgsIDUxLCA1NCwgMTI4LCAKLSAgICA3OCwgNDgsIDUxLCA1MywgNjUsIDEyOCwgNzgsIDQ4LCA1MSwgNTMsIDEyOCwgNzgsIDQ4LCA1MSwgNTIsIDY1LCAxMjgsIAotICAgIDc4LCA0OCwgNTEsIDUyLCAxMjgsIDc4LCA0OCwgNTEsIDUxLCA2NSwgMTI4LCA3OCwgNDgsIDUxLCA1MSwgMTI4LCA3OCwgCi0gICAgNDgsIDUxLCA1MCwgMTI4LCA3OCwgNDgsIDUxLCA0OSwgMTI4LCA3OCwgNDgsIDUxLCA0OCwgMTI4LCA3OCwgNDgsIDUwLCAKLSAgICA1NywgMTI4LCA3OCwgNDgsIDUwLCA1NiwgMTI4LCA3OCwgNDgsIDUwLCA1NSwgMTI4LCA3OCwgNDgsIDUwLCA1NCwgMTI4LCAKLSAgICA3OCwgNDgsIDUwLCA1MywgNjUsIDEyOCwgNzgsIDQ4LCA1MCwgNTMsIDEyOCwgNzgsIDQ4LCA1MCwgNTIsIDEyOCwgNzgsIAotICAgIDQ4LCA1MCwgNTEsIDEyOCwgNzgsIDQ4LCA1MCwgNTAsIDEyOCwgNzgsIDQ4LCA1MCwgNDksIDEyOCwgNzgsIDQ4LCA1MCwgCi0gICAgNDgsIDEyOCwgNzgsIDQ4LCA0OSwgNTcsIDEyOCwgNzgsIDQ4LCA0OSwgNTYsIDY2LCAxMjgsIDc4LCA0OCwgNDksIDU2LCAKLSAgICA2NSwgMTI4LCA3OCwgNDgsIDQ5LCA1NiwgMTI4LCA3OCwgNDgsIDQ5LCA1NSwgMTI4LCA3OCwgNDgsIDQ5LCA1NCwgMTI4LCAKLSAgICA3OCwgNDgsIDQ5LCA1MywgMTI4LCA3OCwgNDgsIDQ5LCA1MiwgMTI4LCA3OCwgNDgsIDQ5LCA1MSwgMTI4LCA3OCwgNDgsIAotICAgIDQ5LCA1MCwgMTI4LCA3OCwgNDgsIDQ5LCA0OSwgMTI4LCA3OCwgNDgsIDQ5LCA0OCwgMTI4LCA3OCwgNDgsIDQ4LCA1NywgCi0gICAgMTI4LCA3OCwgNDgsIDQ4LCA1NiwgMTI4LCA3OCwgNDgsIDQ4LCA1NSwgMTI4LCA3OCwgNDgsIDQ4LCA1NCwgMTI4LCA3OCwgCi0gICAgNDgsIDQ4LCA1MywgMTI4LCA3OCwgNDgsIDQ4LCA1MiwgMTI4LCA3OCwgNDgsIDQ4LCA1MSwgMTI4LCA3OCwgNDgsIDQ4LCAKLSAgICA1MCwgMTI4LCA3OCwgNDgsIDQ4LCA0OSwgMTI4LCA3OCwgNDUsIDY3LCA4MiwgNjksIDE5NywgNzgsIDQ1LCA2NSwgODIsIAotICAgIDIxNywgNzcsIDg5LCA4OCwgMTI4LCA3NywgODksIDg0LCAxMjgsIDc3LCA4OSwgODMsIDc2LCA3MywgODQsIDY5LCAxMjgsIAotICAgIDc3LCA4OSwgODAsIDEyOCwgNzcsIDg5LCA2NSwgMTI4LCA3NywgODksIDE5MywgNzcsIDg5LCAxMjgsIDc3LCAyMTcsIDc3LCAKLSAgICA4NywgNzksIDc5LCAxMjgsIDc3LCA4NywgNzksIDEyOCwgNzcsIDg3LCA3MywgNzMsIDEyOCwgNzcsIDg3LCA3MywgMTI4LCAKLSAgICA3NywgODcsIDY5LCA2OSwgMTI4LCA3NywgODcsIDY5LCAxMjgsIDc3LCA4NywgNjUsIDY1LCAxMjgsIDc3LCA4NywgNjUsIAotICAgIDEyOCwgNzcsIDg3LCAxMjgsIDc3LCAyMTUsIDc3LCA4NiwgODMsIDEyOCwgNzcsIDg2LCA3OSwgODAsIDEyOCwgNzcsIDg2LCAKLSAgICA3MywgMTI4LCA3NywgODYsIDY5LCA4NSwgNjUsIDY5LCA3OCwgNzEsIDY1LCA3NywgMTI4LCA3NywgODYsIDEyOCwgNzcsIAotICAgIDIxNCwgNzcsIDg1LCA4OCwgMTI4LCA3NywgODUsIDg1LCA4MywgNzMsIDc1LCA2NSwgODQsIDc5LCA2NSwgNzgsIDEyOCwgCi0gICAgNzcsIDg1LCA4NSwgODIsIDY4LCA3MiwgNjUsIDc0LCAxOTMsIDc3LCA4NSwgODUsIDEyOCwgNzcsIDg1LCA4NCwgMTI4LCAKLSAgICA3NywgODUsIDgzLCA3MywgNjcsIDEyOCwgNzcsIDg1LCA4MywgNzMsIDE5NSwgNzcsIDg1LCA4MywgNzIsIDgyLCA3OSwgNzksIAotICAgIDc3LCAxMjgsIDc3LCA4NSwgODMsIDcyLCA1MSwgMTI4LCA3NywgODUsIDgzLCA3MiwgMTc5LCA3NywgODUsIDgzLCA3MiwgCi0gICAgMTI4LCA3NywgODUsIDgzLCAyMDAsIDc3LCA4NSwgODIsIDg4LCAxMjgsIDc3LCA4NSwgODIsIDcxLCA4NSwgNTAsIDEyOCwgCi0gICAgNzcsIDg1LCA4MiwgNjksIDEyOCwgNzcsIDg1LCA4MiwgNjgsIDY1LCAxMjgsIDc3LCA4NSwgODIsIDY4LCAxOTMsIDc3LCAKLSAgICA4NSwgODIsIDEyOCwgNzcsIDg1LCA4MSwgNjgsIDY1LCA3NywgMTI4LCA3NywgODUsIDgwLCAxMjgsIDc3LCA4NSwgNzksIAotICAgIDg4LCAxMjgsIDc3LCA4NSwgNzksIDg0LCAxMjgsIDc3LCA4NSwgNzksIDgwLCAxMjgsIDc3LCA4NSwgNzksIDc3LCA2NSwgCi0gICAgNjksIDEyOCwgNzcsIDg1LCA3OSwgMTI4LCA3NywgODUsIDc4LCA4MywgODUsIDY2LCAxMjgsIDc3LCA4NSwgNzgsIDY1LCAKLSAgICA3MiwgMTI4LCA3NywgODUsIDc2LCA4NCwgNzMsIDgzLCA2OSwgODQsIDEyOCwgNzcsIDg1LCA3NiwgODQsIDczLCA4MywgNjksIAotICAgIDIxMiwgNzcsIDg1LCA3NiwgODQsIDczLCA4MCwgNzYsIDczLCA2NywgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDc3LCA4NSwgCi0gICAgNzYsIDg0LCA3MywgODAsIDc2LCA3MywgNjcsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDc3LCA4NSwgNzYsIDg0LCA3MywgODAsIAotICAgIDc2LCAxOTcsIDc3LCA4NSwgNzYsIDg0LCA3MywgNzksIDY3LCA4NSwgNzYsIDY1LCAyMTAsIDc3LCA4NSwgNzYsIDg0LCA3MywgCi0gICAgNzcsIDY1LCA4MCwgMTI4LCA3NywgODUsIDc2LCA4NCwgMjAxLCA3NywgODUsIDc1LCA4MCwgNzIsIDgyLCA2OSwgNzgsIDcxLCAKLSAgICAxMjgsIDc3LCA4NSwgNzMsIDc4LCAxMjgsIDc3LCA4NSwgNzEsIDgzLCAxMjgsIDc3LCA4NSwgNzEsIDEyOCwgNzcsIDg1LCAKLSAgICAxOTksIDc3LCA4NSwgNjksIDEyOCwgNzcsIDg1LCA2NywgNzIsIDEyOCwgNzcsIDg1LCA2NywgMjAwLCA3NywgODUsIDY3LCAKLSAgICA2NSwgNjUsIDY4LCAxMjgsIDc3LCA4NSwgNjUsIDc4LCAxMjgsIDc3LCA4NSwgNjUsIDY5LCAxMjgsIDc3LCA4NSwgNDUsIAotICAgIDcxLCA2NSwgNjUsIDcyLCA3NiwgNjUsIDE5MywgNzcsIDIxMywgNzcsIDgzLCAxMjgsIDc3LCA4MCwgNjUsIDEyOCwgNzcsIAotICAgIDc5LCA4OSwgNjUsIDczLCAxMjgsIDc3LCA3OSwgODgsIDEyOCwgNzcsIDc5LCA4NiwgNzMsIDE5NywgNzcsIDc5LCA4NiwgCi0gICAgNjksIDE5NiwgNzcsIDc5LCA4NSwgODQsIDcyLCAxMjgsIDc3LCA3OSwgODUsIDg0LCAyMDAsIDc3LCA3OSwgODUsIDgzLCAKLSAgICA2OSwgMTI4LCA3NywgNzksIDg1LCA4MywgMTk3LCA3NywgNzksIDg1LCA3OCwgODQsIDY1LCA3MywgNzgsIDgzLCAxMjgsIAotICAgIDc3LCA3OSwgODUsIDc4LCA4NCwgNjUsIDczLCA3OCwgMTI4LCA3NywgNzksIDg1LCA3OCwgODQsIDY1LCA3MywgMjA2LCA3NywgCi0gICAgNzksIDg1LCA3OCwgMjEyLCA3NywgNzksIDg1LCA3OCwgNjgsIDEyOCwgNzcsIDc5LCA4NSwgNzgsIDE5NiwgNzcsIDc5LCAKLSAgICA4NCwgNzIsIDY5LCA4MiwgMTI4LCA3NywgNzksIDg0LCAxMjgsIDc3LCA3OSwgODIsIDg0LCA4NSwgODUsIDc3LCAxMjgsIAotICAgIDc3LCA3OSwgODIsIDg0LCA2NSwgODIsIDEyOCwgNzcsIDc5LCA4MiwgODAsIDcyLCA3OSwgNzYsIDc5LCA3MSwgNzMsIDY3LCAKLSAgICA2NSwgMjA0LCA3NywgNzksIDgyLCA3OCwgNzMsIDc4LCA3MSwgMTI4LCA3NywgNzksIDgwLCAxMjgsIDc3LCA3OSwgNzksIAotICAgIDgzLCA2OSwgNDUsIDY3LCA4MiwgNjksIDE5NywgNzcsIDc5LCA3OSwgNzgsIDEyOCwgNzcsIDc5LCA3OSwgMjA2LCA3NywgCi0gICAgNzksIDc5LCA3NywgODAsIDg1LCA4MSwgMTI4LCA3NywgNzksIDc5LCA3NywgNjksIDg1LCA4NCwgMTI4LCA3NywgNzksIDc5LCAKLSAgICAxMjgsIDc3LCA3OSwgNzgsIDg0LCA3MywgNjksIDY5LCA3OCwgMTI4LCA3NywgNzksIDc4LCA4NCwgNzIsIDEyOCwgNzcsIAotICAgIDc5LCA3OCwgODQsIDIwMCwgNzcsIDc5LCA3OCwgODMsIDg0LCA2OSwgODIsIDEyOCwgNzcsIDc5LCA3OCwgNzksIDgzLCA4NCwgCi0gICAgNjUsIDY2LCA3NiwgMTk3LCA3NywgNzksIDc4LCA3OSwgODMsIDgwLCA2NSwgNjcsIDE5NywgNzcsIDc5LCA3OCwgNzksIDgyLCAKLSAgICA2NSwgNzMsIDc2LCAxMjgsIDc3LCA3OSwgNzgsIDc5LCA3MSwgODIsIDY1LCA4MCwgMjAwLCA3NywgNzksIDc4LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgNzcsIDc3LCA3OSwgMjExLCA3NywgNzksIDc4LCA3OSwgNzEsIDgyLCA2NSwgMjA1LCA3NywgNzksIDc4LCA3OSwgCi0gICAgNzAsIDc5LCA3OCwgNzMsIDY1LCA4MywgMTI4LCA3NywgNzksIDc4LCA3OSwgNjcsIDg1LCA3NiwgNjUsIDIxMCwgNzcsIDc5LCAKLSAgICA3OCwgNzUsIDY5LCA4OSwgMTI4LCA3NywgNzksIDc4LCA3NSwgNjksIDIxNywgNzcsIDc5LCA3OCwgNzMsIDEyOCwgNzcsIAotICAgIDc5LCA3OCwgNzEsIDc1LCA2OSwgODUsIDY1LCA2OSwgODEsIDEyOCwgNzcsIDc5LCA3OCwgNjksIDIxNywgNzcsIDc5LCA3OCwgCi0gICAgMTI4LCA3NywgNzksIDIwNiwgNzcsIDc5LCA3NiwgMTI4LCA3NywgNzksIDcyLCA2NSwgNzcsIDc3LCA2NSwgMTk2LCA3NywgCi0gICAgNzksIDY4LCA4NSwgNzYsIDIwNywgNzcsIDc5LCA2OCwgNjksIDgzLCA4NCwgODksIDEyOCwgNzcsIDc5LCA2OCwgNjksIDc2LCAKLSAgICA4MywgMTI4LCA3NywgNzksIDY4LCA2OSwgNzYsIDEyOCwgNzcsIDc5LCA2OCwgNjksIDEyOCwgNzcsIDc5LCA2NiwgNzMsIAotICAgIDc2LCAxOTcsIDc3LCA3OSwgNjUsIDEyOCwgNzcsIDIwNywgNzcsIDc4LCA4OSwgNjUsIDIwNSwgNzcsIDc4LCA2NSwgODMsIAotICAgIDEyOCwgNzcsIDc3LCA4MywgODAsIDEyOCwgNzcsIDc3LCAxMjgsIDc3LCAyMDUsIDc3LCA3NiwgNjUsIDEyOCwgNzcsIDc2LCAKLSAgICAxMjgsIDc3LCA3NSwgODAsIDY1LCA4MiwgNjUsIDIwOSwgNzcsIDczLCA4OCwgMTI4LCA3NywgNzMsIDg0LCAxMjgsIDc3LCAKLSAgICA3MywgODMsIDgyLCA2NSwgMTI4LCA3NywgNzMsIDgyLCA3MywgNjYsIDY1LCA2NSwgODIsIDg1LCAxMjgsIDc3LCA3MywgODIsIAotICAgIDczLCAxMjgsIDc3LCA3MywgODIsIDY5LCA2OCwgMTI4LCA3NywgNzMsIDgwLCAxMjgsIDc3LCA3MywgNzgsIDg5LCAxMjgsIAotICAgIDc3LCA3MywgNzgsIDg1LCA4MywgNDUsIDc5LCA4MiwgNDUsIDgwLCA3NiwgODUsIDIxMSwgNzcsIDczLCA3OCwgODUsIDgzLCAKLSAgICAxMjgsIDc3LCA3MywgNzgsIDczLCA4MywgODQsIDY5LCA4MiwgMTI4LCA3NywgNzMsIDc4LCA3MywgNzcsIDY1LCAxMjgsIAotICAgIDc3LCA3MywgNzgsIDczLCA2OCwgNzMsIDgzLCA2NywgMTI4LCA3NywgNzMsIDc4LCA3MywgNjYsIDg1LCA4MywgMTI4LCA3NywgCi0gICAgNzMsIDc3LCA2OSwgMTI4LCA3NywgNzMsIDc3LCAxMjgsIDc3LCA3MywgNzYsIDc2LCA3MywgNzksIDc4LCAyMTEsIDc3LCAKLSAgICA3MywgNzYsIDc2LCA2OSwgODQsIDEyOCwgNzcsIDczLCA3NiwgNzYsIDE5NywgNzcsIDczLCA3NiwgMjA0LCA3NywgNzMsIAotICAgIDc2LCA3NSwgMjE3LCA3NywgNzMsIDc2LCAxMjgsIDc3LCA3MywgNzUsIDg1LCA4MiwgNzksIDc4LCAxMjgsIDc3LCA3MywgCi0gICAgNzUsIDgyLCA3OSwgMjA2LCA3NywgNzMsIDc1LCA4MiwgNzMsIDEyOCwgNzcsIDczLCA3MywgNzgsIDEyOCwgNzcsIDczLCAKLSAgICA3MywgMTI4LCA3NywgNzMsIDE5OSwgNzcsIDczLCA2OSwgODgsIDEyOCwgNzcsIDczLCA2OSwgODUsIDc3LCA0NSwgODQsIAotICAgIDczLCA3NSwgNjksIDg1LCA4NCwgMTI4LCA3NywgNzMsIDY5LCA4NSwgNzcsIDQ1LCA4MywgODMsIDY1LCA3OCwgNzEsIDgzLCAKLSAgICA3MywgNzksIDgzLCAxMjgsIDc3LCA3MywgNjksIDg1LCA3NywgNDUsIDgzLCA4MywgNjUsIDc4LCA3MSwgNzgsIDczLCA2OSwgCi0gICAgODUsIDc4LCAxMjgsIDc3LCA3MywgNjksIDg1LCA3NywgNDUsIDgyLCA3MywgNjksIDg1LCA3NiwgMTI4LCA3NywgNzMsIDY5LCAKLSAgICA4NSwgNzcsIDQ1LCA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCA4MywgNzMsIDc5LCA4MywgMTI4LCA3NywgNzMsIDY5LCA4NSwgCi0gICAgNzcsIDQ1LCA4MCwgNzMsIDY5LCA4NSwgODAsIDEyOCwgNzcsIDczLCA2OSwgODUsIDc3LCA0NSwgODAsIDY1LCA3OCwgODMsIAotICAgIDczLCA3OSwgODMsIDEyOCwgNzcsIDczLCA2OSwgODUsIDc3LCA0NSwgNzgsIDczLCA2OSwgODUsIDc4LCAxMjgsIDc3LCA3MywgCi0gICAgNjksIDg1LCA3NywgNDUsIDY3LCA3MywgNjksIDg1LCA2NywgMTI4LCA3NywgNzMsIDY5LCA4NSwgNzcsIDQ1LCA2NywgNzIsIAotICAgIDczLCA2OSwgODUsIDY3LCA3MiwgMTI4LCA3NywgNzMsIDY5LCA4NSwgMjA1LCA3NywgNzMsIDY5LCA4MCwgMTI4LCA3NywgCi0gICAgNzMsIDY5LCA2OSwgMTI4LCA3NywgNzMsIDY5LCAxMjgsIDc3LCA3MywgNjgsIDc2LCA3MywgNzgsIDE5NywgNzcsIDczLCAKLSAgICA2OCwgNjgsIDc2LCA2OSwgNDUsIDg3LCA2OSwgNzYsIDgzLCAyMDAsIDc3LCA3MywgNjgsIDY4LCA3NiwgMTk3LCA3NywgNzMsIAorICAgIDE5MywgNzgsIDY1LCA1MiwgMTI4LCA3OCwgNjUsIDUwLCAxMjgsIDc4LCA2NSwgNDUsIDUwLCAxMjgsIDc4LCA0OCwgNTIsIAorICAgIDUwLCAxMjgsIDc4LCA0OCwgNTIsIDQ5LCAxMjgsIDc4LCA0OCwgNTIsIDQ4LCAxMjgsIDc4LCA0OCwgNTEsIDU3LCAxMjgsIAorICAgIDc4LCA0OCwgNTEsIDU2LCAxMjgsIDc4LCA0OCwgNTEsIDU1LCA2NSwgMTI4LCA3OCwgNDgsIDUxLCA1NSwgMTI4LCA3OCwgCisgICAgNDgsIDUxLCA1NCwgMTI4LCA3OCwgNDgsIDUxLCA1MywgNjUsIDEyOCwgNzgsIDQ4LCA1MSwgNTMsIDEyOCwgNzgsIDQ4LCAKKyAgICA1MSwgNTIsIDY1LCAxMjgsIDc4LCA0OCwgNTEsIDUyLCAxMjgsIDc4LCA0OCwgNTEsIDUxLCA2NSwgMTI4LCA3OCwgNDgsIAorICAgIDUxLCA1MSwgMTI4LCA3OCwgNDgsIDUxLCA1MCwgMTI4LCA3OCwgNDgsIDUxLCA0OSwgMTI4LCA3OCwgNDgsIDUxLCA0OCwgCisgICAgMTI4LCA3OCwgNDgsIDUwLCA1NywgMTI4LCA3OCwgNDgsIDUwLCA1NiwgMTI4LCA3OCwgNDgsIDUwLCA1NSwgMTI4LCA3OCwgCisgICAgNDgsIDUwLCA1NCwgMTI4LCA3OCwgNDgsIDUwLCA1MywgNjUsIDEyOCwgNzgsIDQ4LCA1MCwgNTMsIDEyOCwgNzgsIDQ4LCAKKyAgICA1MCwgNTIsIDEyOCwgNzgsIDQ4LCA1MCwgNTEsIDEyOCwgNzgsIDQ4LCA1MCwgNTAsIDEyOCwgNzgsIDQ4LCA1MCwgNDksIAorICAgIDEyOCwgNzgsIDQ4LCA1MCwgNDgsIDEyOCwgNzgsIDQ4LCA0OSwgNTcsIDEyOCwgNzgsIDQ4LCA0OSwgNTYsIDY2LCAxMjgsIAorICAgIDc4LCA0OCwgNDksIDU2LCA2NSwgMTI4LCA3OCwgNDgsIDQ5LCA1NiwgMTI4LCA3OCwgNDgsIDQ5LCA1NSwgMTI4LCA3OCwgCisgICAgNDgsIDQ5LCA1NCwgMTI4LCA3OCwgNDgsIDQ5LCA1MywgMTI4LCA3OCwgNDgsIDQ5LCA1MiwgMTI4LCA3OCwgNDgsIDQ5LCAKKyAgICA1MSwgMTI4LCA3OCwgNDgsIDQ5LCA1MCwgMTI4LCA3OCwgNDgsIDQ5LCA0OSwgMTI4LCA3OCwgNDgsIDQ5LCA0OCwgMTI4LCAKKyAgICA3OCwgNDgsIDQ4LCA1NywgMTI4LCA3OCwgNDgsIDQ4LCA1NiwgMTI4LCA3OCwgNDgsIDQ4LCA1NSwgMTI4LCA3OCwgNDgsIAorICAgIDQ4LCA1NCwgMTI4LCA3OCwgNDgsIDQ4LCA1MywgMTI4LCA3OCwgNDgsIDQ4LCA1MiwgMTI4LCA3OCwgNDgsIDQ4LCA1MSwgCisgICAgMTI4LCA3OCwgNDgsIDQ4LCA1MCwgMTI4LCA3OCwgNDgsIDQ4LCA0OSwgMTI4LCA3OCwgNDUsIDY3LCA4MiwgNjksIDE5NywgCisgICAgNzgsIDQ1LCA2NSwgODIsIDIxNywgNzcsIDg5LCA4OCwgMTI4LCA3NywgODksIDg0LCAxMjgsIDc3LCA4OSwgODMsIDc2LCAKKyAgICA3MywgODQsIDY5LCAxMjgsIDc3LCA4OSwgODAsIDEyOCwgNzcsIDg5LCA2NSwgMTI4LCA3NywgODksIDE5MywgNzcsIDg5LCAKKyAgICAxMjgsIDc3LCAyMTcsIDc3LCA4NywgNzksIDc5LCAxMjgsIDc3LCA4NywgNzksIDEyOCwgNzcsIDg3LCA3MywgNzMsIDEyOCwgCisgICAgNzcsIDg3LCA3MywgMTI4LCA3NywgODcsIDY5LCA2OSwgMTI4LCA3NywgODcsIDY5LCAxMjgsIDc3LCA4NywgNjUsIDY1LCAKKyAgICAxMjgsIDc3LCA4NywgNjUsIDEyOCwgNzcsIDg3LCAxMjgsIDc3LCAyMTUsIDc3LCA4NiwgODMsIDEyOCwgNzcsIDg2LCA3OSwgCisgICAgODAsIDEyOCwgNzcsIDg2LCA3MywgMTI4LCA3NywgODYsIDY5LCA4NSwgNjUsIDY5LCA3OCwgNzEsIDY1LCA3NywgMTI4LCAKKyAgICA3NywgODYsIDEyOCwgNzcsIDIxNCwgNzcsIDg1LCA4OCwgMTI4LCA3NywgODUsIDg1LCA4MywgNzMsIDc1LCA2NSwgODQsIAorICAgIDc5LCA2NSwgNzgsIDEyOCwgNzcsIDg1LCA4NSwgODIsIDY4LCA3MiwgNjUsIDc0LCAxOTMsIDc3LCA4NSwgODUsIDEyOCwgCisgICAgNzcsIDg1LCA4NCwgMTI4LCA3NywgODUsIDgzLCA3MywgNjcsIDEyOCwgNzcsIDg1LCA4MywgNzMsIDE5NSwgNzcsIDg1LCAKKyAgICA4MywgNzIsIDgyLCA3OSwgNzksIDc3LCAxMjgsIDc3LCA4NSwgODMsIDcyLCA1MSwgMTI4LCA3NywgODUsIDgzLCA3MiwgCisgICAgMTc5LCA3NywgODUsIDgzLCA3MiwgMTI4LCA3NywgODUsIDgzLCAyMDAsIDc3LCA4NSwgODMsIDEyOCwgNzcsIDg1LCA4MiwgCisgICAgODgsIDEyOCwgNzcsIDg1LCA4MiwgNzEsIDg1LCA1MCwgMTI4LCA3NywgODUsIDgyLCA2OSwgMTI4LCA3NywgODUsIDgyLCAKKyAgICA2OCwgNjUsIDEyOCwgNzcsIDg1LCA4MiwgNjgsIDE5MywgNzcsIDg1LCA4MiwgMTI4LCA3NywgODUsIDgxLCA2OCwgNjUsIAorICAgIDc3LCAxMjgsIDc3LCA4NSwgODAsIDEyOCwgNzcsIDg1LCA3OSwgODgsIDEyOCwgNzcsIDg1LCA3OSwgODQsIDEyOCwgNzcsIAorICAgIDg1LCA3OSwgODAsIDEyOCwgNzcsIDg1LCA3OSwgNzcsIDY1LCA2OSwgMTI4LCA3NywgODUsIDc5LCAxMjgsIDc3LCA4NSwgCisgICAgNzgsIDgzLCA4NSwgNjYsIDEyOCwgNzcsIDg1LCA3OCwgNjUsIDcyLCAxMjgsIDc3LCA4NSwgNzgsIDEyOCwgNzcsIDg1LCAKKyAgICA3NiwgODQsIDczLCA4MywgNjksIDg0LCAxMjgsIDc3LCA4NSwgNzYsIDg0LCA3MywgODMsIDY5LCAyMTIsIDc3LCA4NSwgNzYsIAorICAgIDg0LCA3MywgODAsIDc2LCA3MywgNjcsIDY1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA3NywgODUsIDc2LCA4NCwgNzMsIDgwLCAKKyAgICA3NiwgNzMsIDY3LCA2NSwgODQsIDczLCA3OSwgMjA2LCA3NywgODUsIDc2LCA4NCwgNzMsIDgwLCA3NiwgMTk3LCA3NywgODUsIAorICAgIDc2LCA4NCwgNzMsIDc5LCA2NywgODUsIDc2LCA2NSwgMjEwLCA3NywgODUsIDc2LCA4NCwgNzMsIDc3LCA2NSwgODAsIDEyOCwgCisgICAgNzcsIDg1LCA3NiwgODQsIDIwMSwgNzcsIDg1LCA3NSwgODAsIDcyLCA4MiwgNjksIDc4LCA3MSwgMTI4LCA3NywgODUsIDczLCAKKyAgICA3OCwgMTI4LCA3NywgODUsIDcxLCA4MywgMTI4LCA3NywgODUsIDcxLCAxMjgsIDc3LCA4NSwgMTk5LCA3NywgODUsIDY5LCAKKyAgICA3OCwgMTI4LCA3NywgODUsIDY5LCAxMjgsIDc3LCA4NSwgNjcsIDcyLCAxMjgsIDc3LCA4NSwgNjcsIDIwMCwgNzcsIDg1LCAKKyAgICA2NywgNjUsIDY1LCA2OCwgMTI4LCA3NywgODUsIDY1LCA4MywgMTI4LCA3NywgODUsIDY1LCA3OCwgMTI4LCA3NywgODUsIAorICAgIDY1LCA2OSwgMTI4LCA3NywgODUsIDQ1LCA3MSwgNjUsIDY1LCA3MiwgNzYsIDY1LCAxOTMsIDc3LCAyMTMsIDc3LCA4MywgCisgICAgMTI4LCA3NywgODIsIDIwNywgNzcsIDgwLCA2NSwgMTI4LCA3NywgNzksIDg5LCA2NSwgNzMsIDEyOCwgNzcsIDc5LCA4OCwgCisgICAgMTI4LCA3NywgNzksIDg2LCA3MywgMTk3LCA3NywgNzksIDg2LCA2OSwgMTk2LCA3NywgNzksIDg1LCA4NCwgNzIsIDEyOCwgCisgICAgNzcsIDc5LCA4NSwgODQsIDIwMCwgNzcsIDc5LCA4NSwgODMsIDY5LCAxMjgsIDc3LCA3OSwgODUsIDgzLCAxOTcsIDc3LCAKKyAgICA3OSwgODUsIDc4LCA4NCwgNjUsIDczLCA3OCwgODMsIDEyOCwgNzcsIDc5LCA4NSwgNzgsIDg0LCA2NSwgNzMsIDc4LCAxMjgsIAorICAgIDc3LCA3OSwgODUsIDc4LCA4NCwgNjUsIDczLCAyMDYsIDc3LCA3OSwgODUsIDc4LCAyMTIsIDc3LCA3OSwgODUsIDc4LCA2OCwgCisgICAgMTI4LCA3NywgNzksIDg1LCA3OCwgMTk2LCA3NywgNzksIDg0LCA3OSwgODIsIDg3LCA2NSwgODksIDEyOCwgNzcsIDc5LCAKKyAgICA4NCwgNzksIDgyLCA2NywgODksIDY3LCA3NiwgNjksIDEyOCwgNzcsIDc5LCA4NCwgNzksIDIxMCwgNzcsIDc5LCA4NCwgNzIsIAorICAgIDY5LCA4MiwgMTI4LCA3NywgNzksIDg0LCAxMjgsIDc3LCA3OSwgODIsIDg0LCA4NSwgODUsIDc3LCAxMjgsIDc3LCA3OSwgCisgICAgODIsIDg0LCA2NSwgODIsIDEyOCwgNzcsIDc5LCA4MiwgODAsIDcyLCA3OSwgNzYsIDc5LCA3MSwgNzMsIDY3LCA2NSwgMjA0LCAKKyAgICA3NywgNzksIDgyLCA3OCwgNzMsIDc4LCA3MSwgMTI4LCA3NywgNzksIDgwLCAxMjgsIDc3LCA3OSwgNzksIDgzLCA2OSwgNDUsIAorICAgIDY3LCA4MiwgNjksIDE5NywgNzcsIDc5LCA3OSwgNzgsIDEyOCwgNzcsIDc5LCA3OSwgMjA2LCA3NywgNzksIDc5LCA3NywgCisgICAgODAsIDg1LCA4MSwgMTI4LCA3NywgNzksIDc5LCA3NywgNjksIDg1LCA4NCwgMTI4LCA3NywgNzksIDc5LCA2OCwgMTI4LCAKKyAgICA3NywgNzksIDc5LCAxOTYsIDc3LCA3OSwgNzksIDEyOCwgNzcsIDc5LCA3OCwgODQsIDczLCA2OSwgNjksIDc4LCAxMjgsIAorICAgIDc3LCA3OSwgNzgsIDg0LCA3MiwgMTI4LCA3NywgNzksIDc4LCA4NCwgMjAwLCA3NywgNzksIDc4LCA4MywgODQsIDY5LCA4MiwgCisgICAgMTI4LCA3NywgNzksIDc4LCA3OSwgODMsIDg0LCA2NSwgNjYsIDc2LCAxOTcsIDc3LCA3OSwgNzgsIDc5LCA4MywgODAsIDY1LCAKKyAgICA2NywgMTk3LCA3NywgNzksIDc4LCA3OSwgODIsIDY1LCA3MywgNzYsIDEyOCwgNzcsIDc5LCA3OCwgNzksIDcxLCA4MiwgNjUsIAorICAgIDgwLCAyMDAsIDc3LCA3OSwgNzgsIDc5LCA3MSwgODIsIDY1LCA3NywgNzcsIDc5LCAyMTEsIDc3LCA3OSwgNzgsIDc5LCA3MSwgCisgICAgODIsIDY1LCAyMDUsIDc3LCA3OSwgNzgsIDc5LCA3MCwgNzksIDc4LCA3MywgNjUsIDgzLCAxMjgsIDc3LCA3OSwgNzgsIDc5LCAKKyAgICA2NywgODUsIDc2LCA2NSwgMjEwLCA3NywgNzksIDc4LCA3NSwgNjksIDg5LCAxMjgsIDc3LCA3OSwgNzgsIDc1LCA2OSwgCisgICAgMjE3LCA3NywgNzksIDc4LCA3MywgMTI4LCA3NywgNzksIDc4LCA3MSwgNzUsIDY5LCA4NSwgNjUsIDY5LCA4MSwgMTI4LCAKKyAgICA3NywgNzksIDc4LCA2OSwgMjE3LCA3NywgNzksIDc4LCAxMjgsIDc3LCA3OSwgMjA2LCA3NywgNzksIDc2LCAxMjgsIDc3LCAKKyAgICA3OSwgNzIsIDY1LCA3NywgNzcsIDY1LCAxOTYsIDc3LCA3OSwgNjgsIDg1LCA3NiwgMjA3LCA3NywgNzksIDY4LCAyMDEsIAorICAgIDc3LCA3OSwgNjgsIDY5LCA4MywgODQsIDg5LCAxMjgsIDc3LCA3OSwgNjgsIDY5LCA3NywgMTI4LCA3NywgNzksIDY4LCA2OSwgCisgICAgNzYsIDgzLCAxMjgsIDc3LCA3OSwgNjgsIDY5LCA3NiwgMTI4LCA3NywgNzksIDY4LCA2OSwgMTI4LCA3NywgNzksIDY2LCAKKyAgICA3MywgNzYsIDE5NywgNzcsIDc5LCA2NSwgMTI4LCA3NywgMjA3LCA3NywgNzgsIDg5LCA2NSwgMjA1LCA3NywgNzgsIDY1LCAKKyAgICA4MywgMTI4LCA3NywgNzcsIDgzLCA4MCwgMTI4LCA3NywgNzcsIDEyOCwgNzcsIDIwNSwgNzcsIDc2LCA2NSwgMTI4LCA3NywgCisgICAgNzYsIDEyOCwgNzcsIDc1LCA4MCwgNjUsIDgyLCA2NSwgMjA5LCA3NywgNzMsIDg4LCAxMjgsIDc3LCA3MywgODQsIDEyOCwgCisgICAgNzcsIDczLCA4MywgODIsIDY1LCAxMjgsIDc3LCA3MywgODIsIDczLCA2NiwgNjUsIDY1LCA4MiwgODUsIDEyOCwgNzcsIDczLCAKKyAgICA4MiwgNzMsIDEyOCwgNzcsIDczLCA4MiwgNjksIDY4LCAxMjgsIDc3LCA3MywgODAsIDEyOCwgNzcsIDczLCA3OCwgODksIAorICAgIDEyOCwgNzcsIDczLCA3OCwgODUsIDgzLCA0NSwgNzksIDgyLCA0NSwgODAsIDc2LCA4NSwgMjExLCA3NywgNzMsIDc4LCA4NSwgCisgICAgODMsIDEyOCwgNzcsIDczLCA3OCwgNzMsIDgzLCA4NCwgNjksIDgyLCAxMjgsIDc3LCA3MywgNzgsIDczLCA3NywgNzMsIDkwLCAKKyAgICA2OSwgMTI4LCA3NywgNzMsIDc4LCA3MywgNzcsIDY1LCAxMjgsIDc3LCA3MywgNzgsIDczLCA2OCwgNzMsIDgzLCA2NywgCisgICAgMTI4LCA3NywgNzMsIDc4LCA3MywgNjYsIDg1LCA4MywgMTI4LCA3NywgNzMsIDc3LCA2OSwgMTI4LCA3NywgNzMsIDc3LCAKKyAgICAxMjgsIDc3LCA3MywgNzYsIDc2LCA3MywgNzksIDc4LCA4MywgMTI4LCA3NywgNzMsIDc2LCA3NiwgNzMsIDc5LCA3OCwgCisgICAgMjExLCA3NywgNzMsIDc2LCA3NiwgNjksIDg0LCAxMjgsIDc3LCA3MywgNzYsIDc2LCAxOTcsIDc3LCA3MywgNzYsIDIwNCwgCisgICAgNzcsIDczLCA3NiwgNzUsIDIxNywgNzcsIDczLCA3NiwgNzMsIDg0LCA2NSwgODIsIDIxNywgNzcsIDczLCA3NiwgMTI4LCAKKyAgICA3NywgNzMsIDc1LCA4NSwgODIsIDc5LCA3OCwgMTI4LCA3NywgNzMsIDc1LCA4MiwgNzksIDIwNiwgNzcsIDczLCA3NSwgODIsIAorICAgIDczLCAxMjgsIDc3LCA3MywgNzMsIDc4LCAxMjgsIDc3LCA3MywgNzMsIDEyOCwgNzcsIDczLCAxOTksIDc3LCA3MywgNjksIAorICAgIDg4LCAxMjgsIDc3LCA3MywgNjksIDg1LCA3NywgNDUsIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIDEyOCwgNzcsIDczLCA2OSwgCisgICAgODUsIDc3LCA0NSwgODMsIDgzLCA2NSwgNzgsIDcxLCA4MywgNzMsIDc5LCA4MywgMTI4LCA3NywgNzMsIDY5LCA4NSwgNzcsIAorICAgIDQ1LCA4MywgODMsIDY1LCA3OCwgNzEsIDc4LCA3MywgNjksIDg1LCA3OCwgMTI4LCA3NywgNzMsIDY5LCA4NSwgNzcsIDQ1LCAKKyAgICA4MiwgNzMsIDY5LCA4NSwgNzYsIDEyOCwgNzcsIDczLCA2OSwgODUsIDc3LCA0NSwgODAsIDczLCA2OSwgODUsIDgwLCA0NSwgCisgICAgODMsIDczLCA3OSwgODMsIDEyOCwgNzcsIDczLCA2OSwgODUsIDc3LCA0NSwgODAsIDczLCA2OSwgODUsIDgwLCAxMjgsIDc3LCAKKyAgICA3MywgNjksIDg1LCA3NywgNDUsIDgwLCA2NSwgNzgsIDgzLCA3MywgNzksIDgzLCAxMjgsIDc3LCA3MywgNjksIDg1LCA3NywgCisgICAgNDUsIDc4LCA3MywgNjksIDg1LCA3OCwgMTI4LCA3NywgNzMsIDY5LCA4NSwgNzcsIDQ1LCA2NywgNzMsIDY5LCA4NSwgNjcsIAorICAgIDEyOCwgNzcsIDczLCA2OSwgODUsIDc3LCA0NSwgNjcsIDcyLCA3MywgNjksIDg1LCA2NywgNzIsIDEyOCwgNzcsIDczLCA2OSwgCisgICAgODUsIDIwNSwgNzcsIDczLCA2OSwgODAsIDEyOCwgNzcsIDczLCA2OSwgNjksIDEyOCwgNzcsIDczLCA2OSwgMTI4LCA3NywgCisgICAgNzMsIDY4LCA3NiwgNzMsIDc4LCAxOTcsIDc3LCA3MywgNjgsIDY4LCA3NiwgNjksIDQ1LCA4NywgNjksIDc2LCA4MywgMjAwLCAKKyAgICA3NywgNzMsIDY4LCA2OCwgNzYsIDE5NywgNzcsIDczLCA2OCwgNDUsIDc2LCA2OSwgODYsIDY5LCAyMDQsIDc3LCA3MywgCiAgICAgMTk2LCA3NywgNzMsIDY3LCA4MiwgNzksIDgzLCA2NywgNzksIDgwLCA2OSwgMTI4LCA3NywgNzMsIDY3LCA4MiwgNzksIDgwLCAKICAgICA3MiwgNzksIDc4LCA2OSwgMTI4LCA3NywgNzMsIDY3LCA4MiwgMjA3LCA3NywgNzMsIDY3LCAyMTAsIDc3LCA3MiwgOTAsIAogICAgIDEyOCwgNzcsIDcyLCA2NSwgMTI4LCA3NywgNzIsIDEyOCwgNzcsIDcxLCA4NSwgODgsIDEyOCwgNzcsIDcxLCA4NSwgODQsIApAQCAtMjAxOCwxNjEgKzIxMTUsMjE5IEBACiAgICAgNzcsIDY5LCA4MiwgNzksIDczLCA4NCwgNzMsIDE5NSwgNzcsIDY5LCA4MiwgNzUsIDcyLCA2NSwgMTI4LCA3NywgNjksIDgyLCAKICAgICA3NSwgNzIsIDE5MywgNzcsIDY5LCA4MiwgNzMsIDY4LCA3MywgNjUsIDc4LCA4MywgMTI4LCA3NywgNjksIDgyLCA3MywgCiAgICAgMTI4LCA3NywgNjksIDgyLCA3MSwgNjksIDEyOCwgNzcsIDY5LCA4MiwgNjcsIDg1LCA4MiwgODksIDEyOCwgNzcsIDY5LCAKLSAgICA4MiwgNjcsIDg1LCA4MiwgMjE3LCA3NywgNjksIDc4LCA2OCwgODUsIDg0LCAxMjgsIDc3LCA2OSwgNzgsIDEyOCwgNzcsIAotICAgIDY5LCA3NywgNzksIDEyOCwgNzcsIDY5LCA3NywgNjYsIDY5LCA4MiwgODMsIDcyLCA3MywgODAsIDEyOCwgNzcsIDY5LCA3NywgCi0gICAgNjYsIDY5LCA4MiwgMTI4LCA3NywgNjksIDc3LCA2NiwgNjksIDIxMCwgNzcsIDY5LCA3NywgNDUsIDgxLCA3OSwgODAsIDcyLCAKLSAgICAxMjgsIDc3LCA2OSwgNzcsIDEyOCwgNzcsIDY5LCAyMDUsIDc3LCA2OSwgNzYsIDc5LCA2OCwgNzMsIDE5NSwgNzcsIDY5LCAKLSAgICA3NiwgNzMsIDc1LCAxMjgsIDc3LCA2OSwgNzMsIDkwLCA3MywgMTI4LCA3NywgNjksIDcxLCA2NSwgODQsIDc5LCA3OCwgCi0gICAgMTI4LCA3NywgNjksIDcxLCA2NSwgODAsIDcyLCA3OSwgNzgsIDY5LCAxMjgsIDc3LCA2OSwgNzEsIDY1LCA3NiwgNzMsIAotICAgIDEyOCwgNzcsIDY5LCA2OSwgODQsIDc5LCA4MiwgODUsIDEyOCwgNzcsIDY5LCA2OSwgODQsIDEyOCwgNzcsIDY5LCA2OSwgCi0gICAgNzcsIDg1LCAxMjgsIDc3LCA2OSwgNjksIDc3LCAxMjgsIDc3LCA2OSwgNjksIDY5LCA2OSwgMTI4LCA3NywgNjksIDY4LCAKKyAgICA4MiwgNjcsIDg1LCA4MiwgMjE3LCA3NywgNjksIDc4LCA3OSwgNjksIDEyOCwgNzcsIDY5LCA3OCwgNjgsIDg1LCA4NCwgCisgICAgMTI4LCA3NywgNjksIDc4LCAxMjgsIDc3LCA2OSwgNzcsIDc5LCAxMjgsIDc3LCA2OSwgNzcsIDY2LCA2OSwgODIsIDgzLCAKKyAgICA3MiwgNzMsIDgwLCAxMjgsIDc3LCA2OSwgNzcsIDY2LCA2OSwgODIsIDEyOCwgNzcsIDY5LCA3NywgNjYsIDY5LCAyMTAsIAorICAgIDc3LCA2OSwgNzcsIDQ1LCA4MSwgNzksIDgwLCA3MiwgMTI4LCA3NywgNjksIDc3LCAxMjgsIDc3LCA2OSwgMjA1LCA3NywgCisgICAgNjksIDc2LCA3OSwgNjgsIDczLCAxOTUsIDc3LCA2OSwgNzYsIDczLCA3NSwgMTI4LCA3NywgNjksIDczLCA5MCwgNzMsIAorICAgIDEyOCwgNzcsIDY5LCA3MSwgNjUsIDg0LCA3OSwgNzgsIDEyOCwgNzcsIDY5LCA3MSwgNjUsIDgwLCA3MiwgNzksIDc4LCA2OSwgCisgICAgMTI4LCA3NywgNjksIDcxLCA2NSwgNzYsIDczLCAxMjgsIDc3LCA2OSwgNjksIDg0LCA3OSwgODIsIDg1LCAxMjgsIDc3LCAKKyAgICA2OSwgNjksIDg0LCA2OSwgMjAxLCA3NywgNjksIDY5LCA4NCwgMTI4LCA3NywgNjksIDY5LCA3NywgODUsIDEyOCwgNzcsIAorICAgIDY5LCA2OSwgNzcsIDEyOCwgNzcsIDY5LCA2OSwgMjAyLCA3NywgNjksIDY5LCA2OSwgNjksIDEyOCwgNzcsIDY5LCA2OCwgCiAgICAgNzMsIDg1LCA3NywgMTI4LCA3NywgNjksIDY4LCA3MywgODUsIDIwNSwgNzcsIDY5LCA2OCwgNzMsIDY3LCA3MywgNzgsIDY5LCAKLSAgICAxMjgsIDc3LCA2OSwgNjgsIDczLCA2NywgNjUsIDIwNCwgNzcsIDY5LCA2NSwgODQsIDEyOCwgNzcsIDY5LCA2NSwgMjEyLCAKLSAgICA3NywgNjksIDY1LCA4MywgODUsIDgyLCA2OSwgMTk2LCA3NywgNjksIDY1LCA4MywgODUsIDgyLCA2OSwgMTI4LCA3NywgNjksIAotICAgIDY1LCA4MywgODUsIDgyLCAxOTcsIDc3LCA2OCwgODUsIDIwNiwgNzcsIDE5NiwgNzcsIDY3LCA3MiwgMjEzLCA3NywgNjcsIAotICAgIDcyLCA2NSwgMjA2LCA3NywgMTk1LCA3NywgNjYsIDg1LCA3OSwgODEsIDEyOCwgNzcsIDY2LCA4NSwgNzksIDEyOCwgNzcsIAotICAgIDY2LCA4NSwgNjksIDEyOCwgNzcsIDY2LCA4NSwgNjUsIDY5LCA3NywgMTI4LCA3NywgNjYsIDg1LCA2NSwgNjksIDEyOCwgCi0gICAgNzcsIDY2LCA3OSwgNzksIDEyOCwgNzcsIDY2LCA3OSwgMTI4LCA3NywgNjYsIDczLCA4NCwgMTI4LCA3NywgNjYsIDczLCAKLSAgICAyMTIsIDc3LCA2NiwgNzMsIDgyLCA3MywgNjksIDY5LCA3OCwgMTI4LCA3NywgNjYsIDczLCAxMjgsIDc3LCA2NiwgNjksIAotICAgIDg1LCA4OCwgMTI4LCA3NywgNjYsIDY5LCA4NSwgODIsIDczLCAxMjgsIDc3LCA2NiwgNjksIDg1LCA3NywgMTI4LCA3NywgCi0gICAgNjYsIDY5LCA4MiwgNjUsIDY5LCAxMjgsIDc3LCA2NiwgNjksIDc4LCAxMjgsIDc3LCA2NiwgNjksIDY5LCA3NSwgNjksIDY5LCAKLSAgICA4NCwgMTI4LCA3NywgNjYsIDY5LCA2OSwgMTI4LCA3NywgNjYsIDY5LCAxMjgsIDc3LCA2NiwgNjUsIDgxLCAxMjgsIDc3LCAKLSAgICA2NiwgNjUsIDc4LCA4OSwgNzMsIDEyOCwgNzcsIDY2LCA2NSwgNjUsIDgyLCA2NSwgNjksIDEyOCwgNzcsIDY2LCA2NSwgNjUsIAotICAgIDc1LCA2OSwgODQsIDEyOCwgNzcsIDY2LCA2NSwgNjUsIDEyOCwgNzcsIDY2LCA2NSwgMTkzLCA3NywgNjYsIDE5MywgNzcsIAotICAgIDY2LCA1MiwgMTI4LCA3NywgNjYsIDUxLCAxMjgsIDc3LCA2NiwgNTAsIDEyOCwgNzcsIDY2LCAxMjgsIDc3LCAxOTQsIDc3LCAKLSAgICA2NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDc3LCA2NSwgODksIDEyOCwgNzcsIDY1LCA4OCwgNzMsIDc3LCA2NSwgCi0gICAgMTI4LCA3NywgNjUsIDg4LCAxMjgsIDc3LCA2NSwgODUsIDEyOCwgNzcsIDY1LCA4NCwgODQsIDc5LCA2NywgNzUsIDEyOCwgCi0gICAgNzcsIDY1LCA4NCwgODIsIDczLCA4OCwgMTI4LCA3NywgNjUsIDg0LCA2OSwgODIsIDczLCA2NSwgNzYsIDgzLCAxMjgsIDc3LCAKLSAgICA2NSwgODQsIDEyOCwgNzcsIDY1LCA4MywgMjEzLCA3NywgNjUsIDgzLCA4MywgNzMsIDc4LCA3MSwgMTI4LCA3NywgNjUsIAotICAgIDgzLCA4MywgNjUsIDcxLCA2OSwgMTI4LCA3NywgNjUsIDgzLCA3OSwgODIsIDE5MywgNzcsIDY1LCA4MywgNzUsIDEyOCwgCi0gICAgNzcsIDY1LCA4MywgNzIsIDcwLCA2NSwgNjUsIDg0LCAxMjgsIDc3LCA2NSwgODMsIDcyLCA1MCwgMTI4LCA3NywgNjUsIDgzLCAKLSAgICA2NywgODUsIDc2LCA3MywgNzgsIDE5NywgNzcsIDY1LCA4MiwgODksIDEyOCwgNzcsIDY1LCA4MiwgODUsIDc1LCA4NSwgCi0gICAgMTI4LCA3NywgNjUsIDgyLCA4NCwgODksIDgyLCA3MywgMTkzLCA3NywgNjUsIDgyLCA4MiwgODksIDczLCA3OCwgMTk5LCAKLSAgICA3NywgNjUsIDgyLCA4MiwgNzMsIDY1LCA3MSwgMTk3LCA3NywgNjUsIDgyLCA3NSwgNjksIDgyLCAxMjgsIDc3LCA2NSwgODIsIAotICAgIDc1LCA0NSwgNTIsIDEyOCwgNzcsIDY1LCA4MiwgNzUsIDQ1LCA1MSwgMTI4LCA3NywgNjUsIDgyLCA3NSwgNDUsIDUwLCAKLSAgICAxMjgsIDc3LCA2NSwgODIsIDc1LCA0NSwgNDksIDEyOCwgNzcsIDY1LCA4MiwgNjksIDEyOCwgNzcsIDY1LCA4MiwgNjcsIAotICAgIDcyLCAxMjgsIDc3LCA2NSwgODIsIDY3LCA2NSwgODQsIDc5LCA0NSwgODMsIDg0LCA2NSwgNjcsIDY3LCA2NSwgODQsIDc5LCAKLSAgICAxMjgsIDc3LCA2NSwgODIsIDY3LCA2NSwgODQsIDc5LCAxMjgsIDc3LCA2NSwgODIsIDY3LCA2NSwgODMsIDczLCA4NCwgNjksIAotICAgIDEyOCwgNzcsIDY1LCA4MiwgNjYsIDg1LCA4NCwgNjUsIDEyOCwgNzcsIDY1LCA4MiwgNjYsIDg1LCA4NCwgMTkzLCA3NywgCi0gICAgNjUsIDgyLCAxMjgsIDc3LCA2NSwgODEsIDY1LCA3MCwgMTI4LCA3NywgNjUsIDgxLCAxMjgsIDc3LCA2NSwgODAsIDc2LCAKLSAgICAxOTcsIDc3LCA2NSwgODAsIDczLCA4MSwgMTI4LCA3NywgNjUsIDIwOCwgNzcsIDY1LCA3OSwgMTI4LCA3NywgNjUsIDc4LCAKLSAgICA4MywgODksIDc5LCA3OCwgMTI4LCA3NywgNjUsIDc4LCA4MywgODUsIDY1LCA2OSwgMTI4LCA3NywgNjUsIDc4LCA3OCwgNjUsIAotICAgIDIxOCwgNzcsIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDc3LCA2NSwgNzgsIDcxLCA2NSwgNzYsIDY1LCA3NywgMTI4LCA3NywgCi0gICAgNjUsIDc4LCA2OCwgNjUsIDczLCA3NiwgNzMsIDc4LCAxOTksIDc3LCA2NSwgNzgsIDY4LCA2NSwgNzMsIDE5NSwgNzcsIDY1LCAKLSAgICA3OCwgNjcsIDcyLCAyMTMsIDc3LCA2NSwgNzgsIDY1LCA2NywgNzYsIDY5LCA4MywgMTI4LCA3NywgNjUsIDc2LCA4NCwgNjksIAotICAgIDgzLCAxOTcsIDc3LCA2NSwgNzYsIDY5LCA2OSwgODIsIDczLCAxMjgsIDc3LCA2NSwgNzYsIDY5LCAxMjgsIDc3LCA2NSwgCi0gICAgNzYsIDE5NywgNzcsIDY1LCA3NiwgNjUsIDc1LCA3OSwgMjA2LCA3NywgNjUsIDc1LCA4MywgODUsIDgyLCA2NSwgMTI4LCAKLSAgICA3NywgNjUsIDc1LCA4MywgODUsIDgyLCAxOTMsIDc3LCA2NSwgNzMsIDkwLCA2OSwgMTI4LCA3NywgNjUsIDczLCA4OSwgNjUsIAotICAgIDc3LCA3OSwgNzUsIDEyOCwgNzcsIDY1LCA3MywgODQsIDY1LCA3MywgNzUsIDcyLCA4NSwgMTI4LCA3NywgNjUsIDczLCA4MiwgCi0gICAgODUsIDEyOCwgNzcsIDY1LCA3MywgNzcsIDg1LCA2NSwgNzgsIDEyOCwgNzcsIDY1LCA3MywgNzcsIDY1LCA3NiwgNjUsIDczLCAKKyAgICAxMjgsIDc3LCA2OSwgNjgsIDczLCA2NywgNjUsIDIwNCwgNzcsIDY5LCA2OCwgNjUsIDc2LCAxMjgsIDc3LCA2OSwgNjUsIAorICAgIDg0LCAxMjgsIDc3LCA2OSwgNjUsIDIxMiwgNzcsIDY5LCA2NSwgODMsIDg1LCA4MiwgNjksIDE5NiwgNzcsIDY5LCA2NSwgCisgICAgODMsIDg1LCA4MiwgNjksIDEyOCwgNzcsIDY5LCA2NSwgODMsIDg1LCA4MiwgMTk3LCA3NywgNjgsIDg1LCAyMDYsIDc3LCAKKyAgICAxOTYsIDc3LCA2NywgNzIsIDIxMywgNzcsIDY3LCA3MiwgNjUsIDIwNiwgNzcsIDE5NSwgNzcsIDY2LCA4NSwgODUsIDEyOCwgCisgICAgNzcsIDY2LCA4NSwgNzksIDgxLCAxMjgsIDc3LCA2NiwgODUsIDc5LCAxMjgsIDc3LCA2NiwgODUsIDY5LCAxMjgsIDc3LCAKKyAgICA2NiwgODUsIDY1LCA2OSwgNzcsIDEyOCwgNzcsIDY2LCA4NSwgNjUsIDY5LCAxMjgsIDc3LCA2NiwgNzksIDc5LCAxMjgsIAorICAgIDc3LCA2NiwgNzksIDEyOCwgNzcsIDY2LCA3MywgODQsIDEyOCwgNzcsIDY2LCA3MywgMjEyLCA3NywgNjYsIDczLCA4MiwgCisgICAgNzMsIDY5LCA2OSwgNzgsIDEyOCwgNzcsIDY2LCA3MywgMTI4LCA3NywgNjYsIDY5LCA4NSwgODgsIDEyOCwgNzcsIDY2LCAKKyAgICA2OSwgODUsIDgyLCA3MywgMTI4LCA3NywgNjYsIDY5LCA4NSwgNzcsIDEyOCwgNzcsIDY2LCA2OSwgODIsIDY1LCA2OSwgCisgICAgMTI4LCA3NywgNjYsIDY5LCA3OCwgMTI4LCA3NywgNjYsIDY5LCA2OSwgNzUsIDY5LCA2OSwgODQsIDEyOCwgNzcsIDY2LCAKKyAgICA2OSwgNjksIDEyOCwgNzcsIDY2LCA2OSwgMTI4LCA3NywgNjYsIDY1LCA4MSwgMTI4LCA3NywgNjYsIDY1LCA3OCwgODksIAorICAgIDczLCAxMjgsIDc3LCA2NiwgNjUsIDY1LCA4MiwgNjUsIDY5LCAxMjgsIDc3LCA2NiwgNjUsIDY1LCA3NSwgNjksIDg0LCAKKyAgICAxMjgsIDc3LCA2NiwgNjUsIDY1LCAxMjgsIDc3LCA2NiwgNjUsIDE5MywgNzcsIDY2LCAxOTMsIDc3LCA2NiwgNTIsIDEyOCwgCisgICAgNzcsIDY2LCA1MSwgMTI4LCA3NywgNjYsIDUwLCAxMjgsIDc3LCA2NiwgMTI4LCA3NywgMTk0LCA3NywgNjUsIDg5LCA2OSwgCisgICAgMjAzLCA3NywgNjUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA3NywgNjUsIDg5LCAxMjgsIDc3LCA2NSwgODgsIDczLCAKKyAgICA3NywgNzMsIDkwLCA2OSwgMTI4LCA3NywgNjUsIDg4LCA3MywgNzcsIDY1LCAxMjgsIDc3LCA2NSwgODgsIDEyOCwgNzcsIAorICAgIDY1LCA4NSwgMTI4LCA3NywgNjUsIDg0LCA4NCwgNzksIDY3LCA3NSwgMTI4LCA3NywgNjUsIDg0LCA4MiwgNzMsIDg4LCAKKyAgICAxMjgsIDc3LCA2NSwgODQsIDY5LCA4MiwgNzMsIDY1LCA3NiwgODMsIDEyOCwgNzcsIDY1LCA4NCwgMTI4LCA3NywgNjUsIAorICAgIDgzLCAyMTMsIDc3LCA2NSwgODMsIDgzLCA3MywgNzgsIDcxLCAxMjgsIDc3LCA2NSwgODMsIDgzLCA2NSwgNzEsIDY5LCAKKyAgICAxMjgsIDc3LCA2NSwgODMsIDc5LCA4MiwgMTkzLCA3NywgNjUsIDgzLCA3NSwgMTI4LCA3NywgNjUsIDgzLCA3MiwgNzAsIAorICAgIDY1LCA2NSwgODQsIDEyOCwgNzcsIDY1LCA4MywgNzIsIDUwLCAxMjgsIDc3LCA2NSwgODMsIDY3LCA4NSwgNzYsIDczLCA3OCwgCisgICAgMTk3LCA3NywgNjUsIDgyLCA4OSwgMTI4LCA3NywgNjUsIDgyLCA4NywgNjUsIDgyLCAyMDEsIDc3LCA2NSwgODIsIDg1LCAKKyAgICA3NSwgODUsIDEyOCwgNzcsIDY1LCA4MiwgODQsIDg5LCA4MiwgNzMsIDE5MywgNzcsIDY1LCA4MiwgODIsIDg5LCA3MywgNzgsIAorICAgIDE5OSwgNzcsIDY1LCA4MiwgODIsIDczLCA2NSwgNzEsIDE5NywgNzcsIDY1LCA4MiwgNzUsIDIxMSwgNzcsIDY1LCA4MiwgCisgICAgNzUsIDY5LCA4MiwgMTI4LCA3NywgNjUsIDgyLCA3NSwgNDUsIDUyLCAxMjgsIDc3LCA2NSwgODIsIDc1LCA0NSwgNTEsIAorICAgIDEyOCwgNzcsIDY1LCA4MiwgNzUsIDQ1LCA1MCwgMTI4LCA3NywgNjUsIDgyLCA3NSwgNDUsIDQ5LCAxMjgsIDc3LCA2NSwgCisgICAgODIsIDY5LCAxMjgsIDc3LCA2NSwgODIsIDY3LCA3MiwgMTI4LCA3NywgNjUsIDgyLCA2NywgNjUsIDg0LCA3OSwgNDUsIDgzLCAKKyAgICA4NCwgNjUsIDY3LCA2NywgNjUsIDg0LCA3OSwgMTI4LCA3NywgNjUsIDgyLCA2NywgNjUsIDg0LCA3OSwgMTI4LCA3NywgNjUsIAorICAgIDgyLCA2NywgNjUsIDgzLCA3MywgODQsIDY5LCAxMjgsIDc3LCA2NSwgODIsIDY2LCA4NSwgODQsIDY1LCAxMjgsIDc3LCA2NSwgCisgICAgODIsIDY2LCA4NSwgODQsIDE5MywgNzcsIDY1LCA4MiwgMTI4LCA3NywgNjUsIDgxLCA2NSwgNzAsIDEyOCwgNzcsIDY1LCAKKyAgICA4MSwgMTI4LCA3NywgNjUsIDgwLCA3NiwgMTk3LCA3NywgNjUsIDgwLCA3MywgODEsIDEyOCwgNzcsIDY1LCAyMDgsIDc3LCAKKyAgICA2NSwgNzksIDEyOCwgNzcsIDY1LCA3OCwgODQsIDY5LCA3NiwgODAsIDczLCA2OSwgNjcsIDE5NywgNzcsIDY1LCA3OCwgODMsIAorICAgIDg5LCA3OSwgNzgsIDEyOCwgNzcsIDY1LCA3OCwgODMsIDg1LCA2NSwgNjksIDEyOCwgNzcsIDY1LCA3OCwgNzgsIDY1LCAKKyAgICAyMTgsIDc3LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA3NywgNjUsIDc4LCA3MywgNjcsIDcyLCA2NSwgNjksIDY1LCAyMDYsIAorICAgIDc3LCA2NSwgNzgsIDcxLCA2NSwgNzYsIDY1LCA3NywgMTI4LCA3NywgNjUsIDc4LCA2OCwgNjUsIDczLCA3NiwgNzMsIDc4LCAKKyAgICAxOTksIDc3LCA2NSwgNzgsIDY4LCA2NSwgNzMsIDE5NSwgNzcsIDY1LCA3OCwgNjcsIDcyLCAyMTMsIDc3LCA2NSwgNzgsIAorICAgIDY1LCAyMTIsIDc3LCA2NSwgNzgsIDY1LCA2NywgNzYsIDY5LCA4MywgMTI4LCA3NywgNjUsIDc2LCA4NCwgNjksIDgzLCAKKyAgICAxOTcsIDc3LCA2NSwgNzYsIDY5LCA2OSwgODIsIDczLCAxMjgsIDc3LCA2NSwgNzYsIDY5LCAxMjgsIDc3LCA2NSwgNzYsIAorICAgIDE5NywgNzcsIDY1LCA3NiwgNjUsIDc1LCA3OSwgMjA2LCA3NywgNjUsIDc1LCA4MywgODUsIDgyLCA2NSwgMTI4LCA3NywgCisgICAgNjUsIDc1LCA4MywgODUsIDgyLCAxOTMsIDc3LCA2NSwgNzMsIDkwLCA2OSwgMTI4LCA3NywgNjUsIDczLCA4OSwgNjUsIDc3LCAKKyAgICA3OSwgNzUsIDEyOCwgNzcsIDY1LCA3MywgODQsIDY1LCA3MywgNzUsIDcyLCA4NSwgMTI4LCA3NywgNjUsIDczLCA4MiwgODUsIAorICAgIDEyOCwgNzcsIDY1LCA3MywgNzcsIDg1LCA2NSwgNzgsIDEyOCwgNzcsIDY1LCA3MywgNzcsIDY1LCA3NiwgNjUsIDczLCAKICAgICAxMjgsIDc3LCA2NSwgNzMsIDc2LCA2NiwgNzksIDIxNiwgNzcsIDY1LCA3MywgNzUsIDg1LCA4MiwgNzksIDEyOCwgNzcsIAogICAgIDY1LCA3MywgNjgsIDY5LCA3OCwgMTI4LCA3NywgNjUsIDczLCAxMjgsIDc3LCA2NSwgNzIsIDc0LCA3OSwgNzgsIDE5OSwgCiAgICAgNzcsIDY1LCA3MiwgNzIsIDY1LCAxMjgsIDc3LCA2NSwgNzIsIDY1LCA4MCwgODIsIDY1LCA3OCwgNjUsIDEyOCwgNzcsIDY1LCAKLSAgICA3MiwgNjUsIDgwLCA2NSwgNzUsIDcyLCAxMjgsIDc3LCA2NSwgNzIsIDY1LCA2NSwgODAsIDgyLCA2NSwgNjUsIDc4LCAxOTMsIAotICAgIDc3LCA2NSwgNzIsIDEyOCwgNzcsIDY1LCA3MSwgNzgsIDczLCA3MCwgODksIDczLCA3OCwgMTk5LCA3NywgNjUsIDY5LCA4MywgCi0gICAgNzMsIDEyOCwgNzcsIDY1LCA2OSwgNzgsIDg5LCA3MywgMTI4LCA3NywgNjUsIDY5LCA3OCwgNzQsIDY5LCA4NCwgMTI4LCAKLSAgICA3NywgNjUsIDY5LCA3NywgODYsIDY5LCA4NSwgODgsIDEyOCwgNzcsIDY1LCA2OSwgNzcsIDc1LCA4MCwgNjksIDc4LCAxMjgsIAotICAgIDc3LCA2NSwgNjksIDc3LCA3MSwgNjYsIDczLCA2OSwgNjksIDEyOCwgNzcsIDY1LCA2OSwgNzcsIDY2LCA3MSwgNjYsIDczLCAKLSAgICA2OSwgNjksIDEyOCwgNzcsIDY1LCA2OSwgNzcsIDY2LCA2NSwgMTI4LCA3NywgNjUsIDY5LCA3NywgMTI4LCA3NywgNjUsIAotICAgIDY5LCA3NiwgNjksIDY5LCAxMjgsIDc3LCA2NSwgNjksIDc1LCA2OSwgODUsIDgwLCAxMjgsIDc3LCA2NSwgNjgsIDg5LCA2NSwgCi0gICAgMTI4LCA3NywgNjUsIDY4LCA4NSwgMTI4LCA3NywgNjUsIDY4LCA2OCwgNjUsIDIwMCwgNzcsIDY1LCA2OCwgNjgsIDY1LCAKLSAgICAxMjgsIDc3LCA2NSwgNjgsIDY4LCAxOTMsIDc3LCA2NSwgNjcsIDgyLCA3OSwgNzgsIDQ1LCA3MSwgODIsIDY1LCA4NiwgNjksIAotICAgIDEyOCwgNzcsIDY1LCA2NywgODIsIDc5LCA3OCwgNDUsIDY2LCA4MiwgNjksIDg2LCA2OSwgMTI4LCA3NywgNjUsIDY3LCA4MiwgCi0gICAgNzksIDc4LCA0NSwgNjUsIDY3LCA4NSwgODQsIDY5LCAxMjgsIDc3LCA2NSwgNjcsIDgyLCA3OSwgNzgsIDEyOCwgNzcsIDY1LCAKLSAgICA2NywgODIsIDc5LCAyMDYsIDc3LCA2NSwgNjcsIDcyLCA3MywgNzgsIDY5LCAxMjgsIDc3LCA2NSwgNjUsIDg5LCA4OSwgNjUsIAotICAgIDY1LCAxMjgsIDc3LCA2NSwgNjUsIDczLCAxMjgsIDc3LCA2NSwgNjUsIDEyOCwgNzcsIDY1LCA1MCwgMTI4LCA3NywgNDgsIAotICAgIDUyLCA1MiwgMTI4LCA3NywgNDgsIDUyLCA1MSwgMTI4LCA3NywgNDgsIDUyLCA1MCwgMTI4LCA3NywgNDgsIDUyLCA0OSwgCi0gICAgMTI4LCA3NywgNDgsIDUyLCA0OCwgNjUsIDEyOCwgNzcsIDQ4LCA1MiwgNDgsIDEyOCwgNzcsIDQ4LCA1MSwgNTcsIDEyOCwgCi0gICAgNzcsIDQ4LCA1MSwgNTYsIDEyOCwgNzcsIDQ4LCA1MSwgNTUsIDEyOCwgNzcsIDQ4LCA1MSwgNTQsIDEyOCwgNzcsIDQ4LCAKLSAgICA1MSwgNTMsIDEyOCwgNzcsIDQ4LCA1MSwgNTIsIDEyOCwgNzcsIDQ4LCA1MSwgNTEsIDY2LCAxMjgsIDc3LCA0OCwgNTEsIAotICAgIDUxLCA2NSwgMTI4LCA3NywgNDgsIDUxLCA1MSwgMTI4LCA3NywgNDgsIDUxLCA1MCwgMTI4LCA3NywgNDgsIDUxLCA0OSwgCi0gICAgNjUsIDEyOCwgNzcsIDQ4LCA1MSwgNDksIDEyOCwgNzcsIDQ4LCA1MSwgNDgsIDEyOCwgNzcsIDQ4LCA1MCwgNTcsIDEyOCwgCi0gICAgNzcsIDQ4LCA1MCwgNTYsIDY1LCAxMjgsIDc3LCA0OCwgNTAsIDU2LCAxMjgsIDc3LCA0OCwgNTAsIDU1LCAxMjgsIDc3LCAKLSAgICA0OCwgNTAsIDU0LCAxMjgsIDc3LCA0OCwgNTAsIDUzLCAxMjgsIDc3LCA0OCwgNTAsIDUyLCA2NSwgMTI4LCA3NywgNDgsIAotICAgIDUwLCA1MiwgMTI4LCA3NywgNDgsIDUwLCA1MSwgMTI4LCA3NywgNDgsIDUwLCA1MCwgNjUsIDEyOCwgNzcsIDQ4LCA1MCwgCi0gICAgNTAsIDEyOCwgNzcsIDQ4LCA1MCwgNDksIDEyOCwgNzcsIDQ4LCA1MCwgNDgsIDEyOCwgNzcsIDQ4LCA0OSwgNTcsIDEyOCwgCi0gICAgNzcsIDQ4LCA0OSwgNTYsIDEyOCwgNzcsIDQ4LCA0OSwgNTUsIDY1LCAxMjgsIDc3LCA0OCwgNDksIDU1LCAxMjgsIDc3LCAKLSAgICA0OCwgNDksIDU0LCA2NSwgMTI4LCA3NywgNDgsIDQ5LCA1NCwgMTI4LCA3NywgNDgsIDQ5LCA1MywgNjUsIDEyOCwgNzcsIAotICAgIDQ4LCA0OSwgNTMsIDEyOCwgNzcsIDQ4LCA0OSwgNTIsIDEyOCwgNzcsIDQ4LCA0OSwgNTEsIDEyOCwgNzcsIDQ4LCA0OSwgCisgICAgNzIsIDY1LCA4MCwgNjUsIDc1LCA3MiwgMTI4LCA3NywgNjUsIDcyLCA2NSwgNzQsIDY1LCA3OCwgMjAxLCA3NywgNjUsIDcyLCAKKyAgICA2NSwgNjUsIDgwLCA4MiwgNjUsIDY1LCA3OCwgMTkzLCA3NywgNjUsIDcyLCAxMjgsIDc3LCA2NSwgNzEsIDc4LCA3MywgNzAsIAorICAgIDg5LCA3MywgNzgsIDE5OSwgNzcsIDY1LCA2OSwgODMsIDczLCAxMjgsIDc3LCA2NSwgNjksIDc4LCA4OSwgNzMsIDEyOCwgCisgICAgNzcsIDY1LCA2OSwgNzgsIDc0LCA2OSwgODQsIDEyOCwgNzcsIDY1LCA2OSwgNzcsIDg2LCA2OSwgODUsIDg4LCAxMjgsIDc3LCAKKyAgICA2NSwgNjksIDc3LCA3NSwgODAsIDY5LCA3OCwgMTI4LCA3NywgNjUsIDY5LCA3NywgNzEsIDY2LCA3MywgNjksIDY5LCAxMjgsIAorICAgIDc3LCA2NSwgNjksIDc3LCA2NiwgNzEsIDY2LCA3MywgNjksIDY5LCAxMjgsIDc3LCA2NSwgNjksIDc3LCA2NiwgNjUsIDEyOCwgCisgICAgNzcsIDY1LCA2OSwgNzcsIDEyOCwgNzcsIDY1LCA2OSwgNzYsIDY5LCA2OSwgMTI4LCA3NywgNjUsIDY5LCA3NSwgNjksIDg1LCAKKyAgICA4MCwgMTI4LCA3NywgNjUsIDY4LCA4OSwgNjUsIDEyOCwgNzcsIDY1LCA2OCwgODUsIDEyOCwgNzcsIDY1LCA2OCwgNjgsIAorICAgIDY1LCAyMDAsIDc3LCA2NSwgNjgsIDY4LCA2NSwgMTI4LCA3NywgNjUsIDY4LCA2OCwgMTkzLCA3NywgNjUsIDY3LCA4MiwgCisgICAgNzksIDc4LCA0NSwgNzEsIDgyLCA2NSwgODYsIDY5LCAxMjgsIDc3LCA2NSwgNjcsIDgyLCA3OSwgNzgsIDQ1LCA2NiwgODIsIAorICAgIDY5LCA4NiwgNjksIDEyOCwgNzcsIDY1LCA2NywgODIsIDc5LCA3OCwgNDUsIDY1LCA2NywgODUsIDg0LCA2OSwgMTI4LCA3NywgCisgICAgNjUsIDY3LCA4MiwgNzksIDc4LCAxMjgsIDc3LCA2NSwgNjcsIDgyLCA3OSwgMjA2LCA3NywgNjUsIDY3LCA3MiwgNzMsIDc4LCAKKyAgICA2OSwgMTI4LCA3NywgNjUsIDY1LCA4OSwgODksIDY1LCA2NSwgMTI4LCA3NywgNjUsIDY1LCA3MywgMTI4LCA3NywgNjUsIAorICAgIDY1LCAxMjgsIDc3LCA2NSwgNTAsIDEyOCwgNzcsIDQ5LCA1NywgMTgzLCA3NywgNDksIDU3LCAxODIsIDc3LCA0OSwgNTcsIAorICAgIDE4MSwgNzcsIDQ5LCA1NywgMTgwLCA3NywgNDksIDU3LCAxNzksIDc3LCA0OSwgNTcsIDE3OCwgNzcsIDQ5LCA1NywgMTc3LCAKKyAgICA3NywgNDksIDU3LCAxNzYsIDc3LCA0OSwgNTYsIDE4NSwgNzcsIDQ5LCA1NiwgMTg0LCA3NywgNDksIDU2LCAxODMsIDc3LCAKKyAgICA0OSwgNTYsIDE4MiwgNzcsIDQ5LCA1NiwgMTgxLCA3NywgNDksIDU2LCAxODAsIDc3LCA0OSwgNTYsIDE3OSwgNzcsIDQ5LCAKKyAgICA1NiwgMTc4LCA3NywgNDksIDU2LCAxNzcsIDc3LCA0OSwgNTYsIDE3NiwgNzcsIDQ5LCA1NSwgMTg1LCA3NywgNDksIDU1LCAKKyAgICAxODQsIDc3LCA0OSwgNTUsIDE4MywgNzcsIDQ5LCA1NSwgMTgyLCA3NywgNDksIDU1LCAxODEsIDc3LCA0OSwgNTUsIDE4MCwgCisgICAgNzcsIDQ5LCA1NSwgMTc5LCA3NywgNDksIDU1LCAxNzgsIDc3LCA0OSwgNTUsIDE3NywgNzcsIDQ5LCA1NSwgMTc2LCA3NywgCisgICAgNDksIDU0LCAxODUsIDc3LCA0OSwgNTQsIDE4NCwgNzcsIDQ5LCA1NCwgMTgzLCA3NywgNDksIDU0LCAxODIsIDc3LCA0OSwgCisgICAgNTQsIDE4MSwgNzcsIDQ5LCA1NCwgMTgwLCA3NywgNDksIDU0LCAxNzksIDc3LCA0OSwgNTQsIDE3OCwgNzcsIDQ5LCA1NCwgCisgICAgMTc3LCA3NywgNDksIDU0LCAxNzYsIDc3LCA0OSwgNTMsIDE4NSwgNzcsIDQ5LCA1MywgMTg0LCA3NywgNDksIDUzLCAxODMsIAorICAgIDc3LCA0OSwgNTMsIDE4MiwgNzcsIDQ5LCA1MywgMTgxLCA3NywgNDksIDUzLCAxODAsIDc3LCA0OSwgNTMsIDE3OSwgNzcsIAorICAgIDQ5LCA1MywgMTc4LCA3NywgNDksIDUzLCAxNzcsIDc3LCA0OSwgNTMsIDE3NiwgNzcsIDQ5LCA1MiwgMTg1LCA3NywgNDksIAorICAgIDUyLCAxODQsIDc3LCA0OSwgNTIsIDE4MywgNzcsIDQ5LCA1MiwgMTgyLCA3NywgNDksIDUyLCAxODEsIDc3LCA0OSwgNTIsIAorICAgIDE4MCwgNzcsIDQ5LCA1MiwgMTc5LCA3NywgNDksIDUyLCAxNzgsIDc3LCA0OSwgNTIsIDE3NywgNzcsIDQ5LCA1MiwgMTc2LCAKKyAgICA3NywgNDksIDUxLCAxODUsIDc3LCA0OSwgNTEsIDE4NCwgNzcsIDQ5LCA1MSwgMTgzLCA3NywgNDksIDUxLCAxODIsIDc3LCAKKyAgICA0OSwgNTEsIDE4MSwgNzcsIDQ5LCA1MSwgMTgwLCA3NywgNDksIDUxLCAxNzksIDc3LCA0OSwgNTEsIDE3OCwgNzcsIDQ5LCAKKyAgICA1MSwgMTc3LCA3NywgNDksIDUxLCAxNzYsIDc3LCA0OSwgNTAsIDE4NSwgNzcsIDQ5LCA1MCwgMTg0LCA3NywgNDksIDUwLCAKKyAgICAxODMsIDc3LCA0OSwgNTAsIDE4MiwgNzcsIDQ5LCA1MCwgMTgxLCA3NywgNDksIDUwLCAxODAsIDc3LCA0OSwgNTAsIDE3OSwgCisgICAgNzcsIDQ5LCA1MCwgMTc4LCA3NywgNDksIDUwLCAxNzcsIDc3LCA0OSwgNTAsIDE3NiwgNzcsIDQ5LCA0OSwgMTg1LCA3NywgCisgICAgNDksIDQ5LCAxODQsIDc3LCA0OSwgNDksIDE4MywgNzcsIDQ5LCA0OSwgMTgyLCA3NywgNDksIDQ5LCAxODEsIDc3LCA0OSwgCisgICAgNDksIDE4MCwgNzcsIDQ5LCA0OSwgMTc5LCA3NywgNDksIDQ5LCAxNzgsIDc3LCA0OSwgNDksIDE3NywgNzcsIDQ5LCA0OSwgCisgICAgMTc2LCA3NywgNDksIDQ4LCAxODUsIDc3LCA0OSwgNDgsIDE4NCwgNzcsIDQ5LCA0OCwgMTgzLCA3NywgNDksIDQ4LCAxODIsIAorICAgIDc3LCA0OSwgNDgsIDE4MSwgNzcsIDQ5LCA0OCwgMTgwLCA3NywgNDksIDQ4LCAxNzksIDc3LCA0OSwgNDgsIDE3OCwgNzcsIAorICAgIDQ5LCA0OCwgMTc3LCA3NywgNDksIDQ4LCAxNzYsIDc3LCA0OCwgNTcsIDE4NSwgNzcsIDQ4LCA1NywgMTg0LCA3NywgNDgsIAorICAgIDU3LCAxODMsIDc3LCA0OCwgNTcsIDE4MiwgNzcsIDQ4LCA1NywgMTgxLCA3NywgNDgsIDU3LCAxODAsIDc3LCA0OCwgNTcsIAorICAgIDE3OSwgNzcsIDQ4LCA1NywgMTc4LCA3NywgNDgsIDU3LCAxNzcsIDc3LCA0OCwgNTcsIDE3NiwgNzcsIDQ4LCA1NiwgMTg1LCAKKyAgICA3NywgNDgsIDU2LCAxODQsIDc3LCA0OCwgNTYsIDE4MywgNzcsIDQ4LCA1NiwgMTgyLCA3NywgNDgsIDU2LCAxODEsIDc3LCAKKyAgICA0OCwgNTYsIDE4MCwgNzcsIDQ4LCA1NiwgMTc5LCA3NywgNDgsIDU2LCAxNzgsIDc3LCA0OCwgNTYsIDE3NywgNzcsIDQ4LCAKKyAgICA1NiwgMTc2LCA3NywgNDgsIDU1LCAxODUsIDc3LCA0OCwgNTUsIDE4NCwgNzcsIDQ4LCA1NSwgMTgzLCA3NywgNDgsIDU1LCAKKyAgICAxODIsIDc3LCA0OCwgNTUsIDE4MSwgNzcsIDQ4LCA1NSwgMTgwLCA3NywgNDgsIDU1LCAxNzksIDc3LCA0OCwgNTUsIDE3OCwgCisgICAgNzcsIDQ4LCA1NSwgMTc3LCA3NywgNDgsIDU1LCAxNzYsIDc3LCA0OCwgNTQsIDE4NSwgNzcsIDQ4LCA1NCwgMTg0LCA3NywgCisgICAgNDgsIDU0LCAxODMsIDc3LCA0OCwgNTQsIDE4MiwgNzcsIDQ4LCA1NCwgMTgxLCA3NywgNDgsIDU0LCAxODAsIDc3LCA0OCwgCisgICAgNTQsIDE3OSwgNzcsIDQ4LCA1NCwgMTc4LCA3NywgNDgsIDU0LCAxNzcsIDc3LCA0OCwgNTQsIDE3NiwgNzcsIDQ4LCA1MywgCisgICAgMTg1LCA3NywgNDgsIDUzLCAxODQsIDc3LCA0OCwgNTMsIDE4MywgNzcsIDQ4LCA1MywgMTgyLCA3NywgNDgsIDUzLCAxODEsIAorICAgIDc3LCA0OCwgNTMsIDE4MCwgNzcsIDQ4LCA1MywgMTc5LCA3NywgNDgsIDUzLCAxNzgsIDc3LCA0OCwgNTMsIDE3NywgNzcsIAorICAgIDQ4LCA1MywgMTc2LCA3NywgNDgsIDUyLCAxODUsIDc3LCA0OCwgNTIsIDE4NCwgNzcsIDQ4LCA1MiwgMTgzLCA3NywgNDgsIAorICAgIDUyLCAxODIsIDc3LCA0OCwgNTIsIDE4MSwgNzcsIDQ4LCA1MiwgNTIsIDEyOCwgNzcsIDQ4LCA1MiwgMTgwLCA3NywgNDgsIAorICAgIDUyLCA1MSwgMTI4LCA3NywgNDgsIDUyLCAxNzksIDc3LCA0OCwgNTIsIDUwLCAxMjgsIDc3LCA0OCwgNTIsIDE3OCwgNzcsIAorICAgIDQ4LCA1MiwgNDksIDEyOCwgNzcsIDQ4LCA1MiwgMTc3LCA3NywgNDgsIDUyLCA0OCwgNjUsIDEyOCwgNzcsIDQ4LCA1MiwgCisgICAgNDgsIDEyOCwgNzcsIDQ4LCA1MiwgMTc2LCA3NywgNDgsIDUxLCA1NywgMTI4LCA3NywgNDgsIDUxLCAxODUsIDc3LCA0OCwgCisgICAgNTEsIDU2LCAxMjgsIDc3LCA0OCwgNTEsIDE4NCwgNzcsIDQ4LCA1MSwgNTUsIDEyOCwgNzcsIDQ4LCA1MSwgMTgzLCA3NywgCisgICAgNDgsIDUxLCA1NCwgMTI4LCA3NywgNDgsIDUxLCAxODIsIDc3LCA0OCwgNTEsIDUzLCAxMjgsIDc3LCA0OCwgNTEsIDE4MSwgCisgICAgNzcsIDQ4LCA1MSwgNTIsIDEyOCwgNzcsIDQ4LCA1MSwgMTgwLCA3NywgNDgsIDUxLCA1MSwgNjYsIDEyOCwgNzcsIDQ4LCAKKyAgICA1MSwgNTEsIDY1LCAxMjgsIDc3LCA0OCwgNTEsIDUxLCAxMjgsIDc3LCA0OCwgNTEsIDE3OSwgNzcsIDQ4LCA1MSwgNTAsIAorICAgIDEyOCwgNzcsIDQ4LCA1MSwgMTc4LCA3NywgNDgsIDUxLCA0OSwgNjUsIDEyOCwgNzcsIDQ4LCA1MSwgNDksIDEyOCwgNzcsIAorICAgIDQ4LCA1MSwgMTc3LCA3NywgNDgsIDUxLCA0OCwgMTI4LCA3NywgNDgsIDUxLCAxNzYsIDc3LCA0OCwgNTAsIDU3LCAxMjgsIAorICAgIDc3LCA0OCwgNTAsIDE4NSwgNzcsIDQ4LCA1MCwgNTYsIDY1LCAxMjgsIDc3LCA0OCwgNTAsIDU2LCAxMjgsIDc3LCA0OCwgCisgICAgNTAsIDE4NCwgNzcsIDQ4LCA1MCwgNTUsIDEyOCwgNzcsIDQ4LCA1MCwgMTgzLCA3NywgNDgsIDUwLCA1NCwgMTI4LCA3NywgCisgICAgNDgsIDUwLCAxODIsIDc3LCA0OCwgNTAsIDUzLCAxMjgsIDc3LCA0OCwgNTAsIDE4MSwgNzcsIDQ4LCA1MCwgNTIsIDY1LCAKKyAgICAxMjgsIDc3LCA0OCwgNTAsIDUyLCAxMjgsIDc3LCA0OCwgNTAsIDE4MCwgNzcsIDQ4LCA1MCwgNTEsIDEyOCwgNzcsIDQ4LCAKKyAgICA1MCwgMTc5LCA3NywgNDgsIDUwLCA1MCwgNjUsIDEyOCwgNzcsIDQ4LCA1MCwgNTAsIDEyOCwgNzcsIDQ4LCA1MCwgMTc4LCAKKyAgICA3NywgNDgsIDUwLCA0OSwgMTI4LCA3NywgNDgsIDUwLCAxNzcsIDc3LCA0OCwgNTAsIDQ4LCAxMjgsIDc3LCA0OCwgNTAsIAorICAgIDE3NiwgNzcsIDQ4LCA0OSwgNTcsIDEyOCwgNzcsIDQ4LCA0OSwgMTg1LCA3NywgNDgsIDQ5LCA1NiwgMTI4LCA3NywgNDgsIAorICAgIDQ5LCAxODQsIDc3LCA0OCwgNDksIDU1LCA2NSwgMTI4LCA3NywgNDgsIDQ5LCA1NSwgMTI4LCA3NywgNDgsIDQ5LCAxODMsIAorICAgIDc3LCA0OCwgNDksIDU0LCA2NSwgMTI4LCA3NywgNDgsIDQ5LCA1NCwgMTI4LCA3NywgNDgsIDQ5LCAxODIsIDc3LCA0OCwgCisgICAgNDksIDUzLCA2NSwgMTI4LCA3NywgNDgsIDQ5LCA1MywgMTI4LCA3NywgNDgsIDQ5LCAxODEsIDc3LCA0OCwgNDksIDUyLCAKKyAgICAxMjgsIDc3LCA0OCwgNDksIDE4MCwgNzcsIDQ4LCA0OSwgNTEsIDEyOCwgNzcsIDQ4LCA0OSwgMTc5LCA3NywgNDgsIDQ5LCAKICAgICA1MCwgNzIsIDEyOCwgNzcsIDQ4LCA0OSwgNTAsIDcxLCAxMjgsIDc3LCA0OCwgNDksIDUwLCA3MCwgMTI4LCA3NywgNDgsIAogICAgIDQ5LCA1MCwgNjksIDEyOCwgNzcsIDQ4LCA0OSwgNTAsIDY4LCAxMjgsIDc3LCA0OCwgNDksIDUwLCA2NywgMTI4LCA3NywgCiAgICAgNDgsIDQ5LCA1MCwgNjYsIDEyOCwgNzcsIDQ4LCA0OSwgNTAsIDY1LCAxMjgsIDc3LCA0OCwgNDksIDUwLCAxMjgsIDc3LCAKLSAgICA0OCwgNDksIDQ5LCAxMjgsIDc3LCA0OCwgNDksIDQ4LCA2NSwgMTI4LCA3NywgNDgsIDQ5LCA0OCwgMTI4LCA3NywgNDgsIAotICAgIDQ4LCA1NywgMTI4LCA3NywgNDgsIDQ4LCA1NiwgMTI4LCA3NywgNDgsIDQ4LCA1NSwgMTI4LCA3NywgNDgsIDQ4LCA1NCwgCi0gICAgMTI4LCA3NywgNDgsIDQ4LCA1MywgMTI4LCA3NywgNDgsIDQ4LCA1MiwgMTI4LCA3NywgNDgsIDQ4LCA1MSwgNjUsIDEyOCwgCi0gICAgNzcsIDQ4LCA0OCwgNTEsIDEyOCwgNzcsIDQ4LCA0OCwgNTAsIDEyOCwgNzcsIDQ4LCA0OCwgNDksIDY2LCAxMjgsIDc3LCAKLSAgICA0OCwgNDgsIDQ5LCA2NSwgMTI4LCA3NywgNDgsIDQ4LCA0OSwgMTI4LCA3NiwgMjE4LCA3NiwgODksIDg5LCAxMjgsIDc2LCAKLSAgICA4OSwgODgsIDEyOCwgNzYsIDg5LCA4NCwgMTI4LCA3NiwgODksIDgyLCA4OCwgMTI4LCA3NiwgODksIDgyLCAxMjgsIDc2LCAKLSAgICA4OSwgODAsIDEyOCwgNzYsIDg5LCA2OCwgNzMsIDY1LCAyMDYsIDc2LCA4OSwgNjcsIDczLCA2NSwgMjA2LCA3NiwgODgsIAotICAgIDEyOCwgNzYsIDg3LCA3OSwgNzksIDEyOCwgNzYsIDg3LCA3OSwgMTI4LCA3NiwgODcsIDczLCA3MywgMTI4LCA3NiwgODcsIAotICAgIDczLCAxMjgsIDc2LCA4NywgNjksIDEyOCwgNzYsIDg3LCA2NSwgNjUsIDEyOCwgNzYsIDg3LCA2NSwgMTI4LCA3NiwgODUsIAotICAgIDg4LCAxMjgsIDc2LCA4NSwgODUsIDEyOCwgNzYsIDg1LCA4NCwgMTI4LCA3NiwgODUsIDgyLCA4OCwgMTI4LCA3NiwgODUsIAotICAgIDgwLCAxMjgsIDc2LCA4NSwgNzksIDg4LCAxMjgsIDc2LCA4NSwgNzksIDg0LCAxMjgsIDc2LCA4NSwgNzksIDgwLCAxMjgsIAotICAgIDc2LCA4NSwgNzksIDEyOCwgNzYsIDg1LCA3OCwgNzEsIDgzLCA3MywgMTI4LCA3NiwgODUsIDc4LCA2NSwgODQsIDE5NywgCi0gICAgNzYsIDg1LCAyMDUsIDc2LCA4NSwgNzYsIDEyOCwgNzYsIDg1LCA3MywgODMsIDEyOCwgNzYsIDg1LCA3MiwgODUsIDgyLCAKLSAgICAxMjgsIDc2LCA4NSwgNzIsIDEyOCwgNzYsIDg1LCA3MSwgNzEsIDY1LCA3MSwgNjksIDEyOCwgNzYsIDg1LCA3MSwgNjUsIAotICAgIDc2LCAxMjgsIDc2LCA4NSwgNzEsIDY1LCAyMDQsIDc2LCA4NSwgNjksIDEyOCwgNzYsIDg1LCA2NSwgNjksIDgwLCAxMjgsIAotICAgIDc2LCA4NSwgNTEsIDEyOCwgNzYsIDg1LCA1MCwgMTI4LCA3NiwgODUsIDE3OCwgNzYsIDgyLCA3OSwgMTI4LCA3NiwgODIsIAotICAgIDc3LCAxMjgsIDc2LCA4MiwgNzMsIDEyOCwgNzYsIDgyLCA2OSwgMTI4LCA3NiwgNzksIDkwLCA2OSwgNzgsIDcxLCA2OSwgCi0gICAgMTI4LCA3NiwgNzksIDkwLCA2OSwgNzgsIDcxLCAxOTcsIDc2LCA3OSwgODgsIDEyOCwgNzYsIDc5LCA4NywgNjksIDgyLCAKLSAgICA2OSwgMTk2LCA3NiwgNzksIDg3LCA2OSwgMjEwLCA3NiwgNzksIDg3LCA0NSwgMTg1LCA3NiwgNzksIDg2LCAxOTcsIDc2LCAKLSAgICA3OSwgODUsIDgyLCA2OSwgMTI4LCA3NiwgNzksIDg1LCA2OCwgODMsIDgwLCA2OSwgNjUsIDc1LCA2OSwgODIsIDEyOCwgNzYsIAotICAgIDc5LCA4NSwgNjgsIDc2LCAyMTcsIDc2LCA3OSwgODQsIDg1LCA4MywgMTI4LCA3NiwgNzksIDg0LCAxMjgsIDc2LCA3OSwgCi0gICAgODIsIDgyLCA4OSwgMTI4LCA3NiwgNzksIDgyLCA4MiwgNjUsIDczLCA3OCwgNjksIDEyOCwgNzYsIDc5LCA4MSwgMTI4LCAKLSAgICA3NiwgNzksIDgwLCAxMjgsIDc2LCA3OSwgNzksIDg0LCAxMjgsIDc2LCA3OSwgNzksIDgwLCA2OSwgMTk2LCA3NiwgNzksIAotICAgIDc5LCA4MCwgMTI4LCA3NiwgNzksIDc5LCAyMDgsIDc2LCA3OSwgNzksIDc4LCAxMjgsIDc2LCA3OSwgNzksIDIwMywgNzYsIAotICAgIDc5LCA3OSwgMTI4LCA3NiwgNzksIDc4LCA4MywgODUsIDc3LCAxMjgsIDc2LCA3OSwgNzgsIDcxLCA2NSwgMTI4LCA3NiwgCi0gICAgNzksIDc4LCA3MSwgMTkzLCA3NiwgNzksIDc4LCA3MSwgNDUsIDY2LCA4MiwgNjUsIDc4LCA2NywgNzIsIDQ1LCA4OSwgODIsIAotICAgIDEyOCwgNzYsIDc5LCA3OCwgNzEsIDQ1LCA2NiwgODIsIDY1LCA3OCwgNjcsIDcyLCA0NSwgODMsIDc5LCAyMDQsIDc2LCA3OSwgCi0gICAgNzgsIDcxLCA0NSwgNjYsIDgyLCA2NSwgNzgsIDY3LCA3MiwgNDUsIDc5LCA4MywgMjExLCA3NiwgNzksIDc4LCA3MSwgNDUsIAotICAgIDY2LCA4MiwgNjUsIDc4LCA2NywgNzIsIDQ1LCA3NywgNjUsIDY4LCAyMTAsIDc2LCA3OSwgNzgsIDcxLCA0NSwgNjYsIDgyLCAKLSAgICA2NSwgNzgsIDY3LCA3MiwgNDUsIDcyLCA2NSwgNzEsIDY1LCA3NiwgMjA0LCA3NiwgNzksIDc4LCA3MSwgNDUsIDY2LCA4MiwgCi0gICAgNjUsIDc4LCA2NywgNzIsIDQ1LCA2NSwgMjEwLCA3NiwgNzksIDc3LCA3NywgNjUsIDY5LCAxMjgsIDc2LCA3OSwgNzcsIAotICAgIDEyOCwgNzYsIDc5LCAyMDUsIDc2LCA3OSwgNzYsIDc2LCA3MywgODAsIDc5LCA4MCwgMTI4LCA3NiwgNzksIDc2LCA3NiwgCi0gICAgMTI4LCA3NiwgNzksIDcxLCAyMTAsIDc2LCA3OSwgNzEsIDc5LCA4NCwgODksIDgwLCAxOTcsIDc2LCA3OSwgNzEsIDc5LCAKLSAgICA3MSwgODIsIDY1LCAyMDUsIDc2LCA3OSwgNzEsIDEyOCwgNzYsIDc5LCA2OCwgNjksIDgzLCA4NCwgNzksIDc4LCA2OSwgCi0gICAgMTI4LCA3NiwgNzksIDY3LCA3OSwgNzcsIDc5LCA4NCwgNzMsIDg2LCA2OSwgMTI4LCA3NiwgNzksIDY3LCA3NSwgNzMsIDc4LCAKLSAgICA3MSwgNDUsIDgzLCA3MiwgNzMsIDcwLCAyMTIsIDc2LCA3OSwgNjcsIDIwMywgNzYsIDc5LCA2NywgNjUsIDg0LCA3MywgODYsIAotICAgIDY5LCAxMjgsIDc2LCA3OSwgNjcsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDc2LCA3OSwgNjUsIDEyOCwgNzYsIDc4LCAxMjgsIAotICAgIDc2LCA3NiwgODUsIDg1LCAxMjgsIDc2LCA3NiwgNzksIDc5LCAxMjgsIDc2LCA3NiwgNzYsIDg1LCA4NSwgMTI4LCA3NiwgCi0gICAgNzYsIDc2LCA4NSwgMTI4LCA3NiwgNzYsIDc2LCA3OSwgNzksIDEyOCwgNzYsIDc2LCA3NiwgNzksIDEyOCwgNzYsIDc2LCAKLSAgICA3NiwgNzMsIDczLCAxMjgsIDc2LCA3NiwgNzYsIDczLCAxMjgsIDc2LCA3NiwgNzYsIDY5LCA2OSwgMTI4LCA3NiwgNzYsIAotICAgIDc2LCA2OSwgMTI4LCA3NiwgNzYsIDc2LCA2NSwgODUsIDEyOCwgNzYsIDc2LCA3NiwgNjUsIDczLCAxMjgsIDc2LCA3NiwgCi0gICAgNzYsIDY1LCA2NSwgMTI4LCA3NiwgNzYsIDc2LCA2NSwgMTI4LCA3NiwgNzYsIDc2LCAxMjgsIDc2LCA3NCwgODUsIDY4LCAKLSAgICA3MywgNzQsIDY5LCAxMjgsIDc2LCA3NCwgNjksIDEyOCwgNzYsIDc0LCAxMjgsIDc2LCA3MywgODgsIDEyOCwgNzYsIDczLCAKLSAgICA4NywgNzgsIDEyOCwgNzYsIDczLCA4NiwgODIsIDE5NywgNzYsIDczLCA4NCwgODQsIDc2LCAxOTcsIDc2LCA3MywgODQsIAotICAgIDg0LCA2OSwgMjEwLCA3NiwgNzMsIDg0LCA4MiwgMTkzLCA3NiwgNzMsIDg0LCAxMjgsIDc2LCA3MywgODMsIDIxMywgNzYsIAotICAgIDczLCA4MiwgMTkzLCA3NiwgNzMsIDgxLCA4NSwgNzMsIDE5NiwgNzYsIDczLCA4MSwgMTI4LCA3NiwgNzMsIDgwLCA4MywgCi0gICAgODQsIDczLCA2NywgNzUsIDEyOCwgNzYsIDczLCA3OCwgNzUsIDczLCA3OCwgMTk5LCA3NiwgNzMsIDc4LCAyMDMsIDc2LCAKLSAgICA3MywgNzgsIDcxLCA4MywgNjUsIDEyOCwgNzYsIDczLCA3OCwgNjksIDgzLCAxMjgsIDc2LCA3MywgNzgsIDY5LCAyMTEsIAotICAgIDc2LCA3MywgNzgsIDY5LCA0NSwgNTcsIDEyOCwgNzYsIDczLCA3OCwgNjksIDQ1LCA1NSwgMTI4LCA3NiwgNzMsIDc4LCA2OSwgCi0gICAgNDUsIDUxLCAxMjgsIDc2LCA3MywgNzgsIDY5LCA0NSwgNDksIDEyOCwgNzYsIDczLCA3NywgNzcsIDg1LCA1MiwgMTI4LCAKLSAgICA3NiwgNzMsIDc3LCA3NywgODUsIDUwLCAxMjgsIDc2LCA3MywgNzcsIDc3LCA4NSwgMTI4LCA3NiwgNzMsIDc3LCA3NywgCi0gICAgMjEzLCA3NiwgNzMsIDc3LCA3MywgODQsIDY5LCAxOTYsIDc2LCA3MywgNzcsIDczLCA4NCwgNjUsIDg0LCA3MywgNzksIDc4LCAKLSAgICAxMjgsIDc2LCA3MywgNzcsIDczLCA4NCwgMTI4LCA3NiwgNzMsIDc3LCA2OSwgMTI4LCA3NiwgNzMsIDc3LCA2NiwgMjEzLCAKLSAgICA3NiwgNzMsIDc2LCA4OSwgMTI4LCA3NiwgNzMsIDc2LCA3MywgODQsIDcyLCAxMjgsIDc2LCA3MywgNzYsIDEyOCwgNzYsIAotICAgIDczLCA3MSwgNzIsIDg0LCA3OCwgNzMsIDc4LCA3MSwgMTI4LCA3NiwgNzMsIDcxLCA3MiwgODQsIDcyLCA3OSwgODUsIDgzLCAKLSAgICA2OSwgMTI4LCA3NiwgNzMsIDcxLCA3MiwgODQsIDEyOCwgNzYsIDczLCA3MCwgNjksIDEyOCwgNzYsIDczLCA2OSwgODgsIAorICAgIDQ4LCA0OSwgMTc4LCA3NywgNDgsIDQ5LCA0OSwgMTI4LCA3NywgNDgsIDQ5LCAxNzcsIDc3LCA0OCwgNDksIDQ4LCA2NSwgCisgICAgMTI4LCA3NywgNDgsIDQ5LCA0OCwgMTI4LCA3NywgNDgsIDQ5LCAxNzYsIDc3LCA0OCwgNDgsIDU3LCAxMjgsIDc3LCA0OCwgCisgICAgNDgsIDE4NSwgNzcsIDQ4LCA0OCwgNTYsIDEyOCwgNzcsIDQ4LCA0OCwgMTg0LCA3NywgNDgsIDQ4LCA1NSwgMTI4LCA3NywgCisgICAgNDgsIDQ4LCAxODMsIDc3LCA0OCwgNDgsIDU0LCAxMjgsIDc3LCA0OCwgNDgsIDE4MiwgNzcsIDQ4LCA0OCwgNTMsIDEyOCwgCisgICAgNzcsIDQ4LCA0OCwgMTgxLCA3NywgNDgsIDQ4LCA1MiwgMTI4LCA3NywgNDgsIDQ4LCAxODAsIDc3LCA0OCwgNDgsIDUxLCAKKyAgICA2NSwgMTI4LCA3NywgNDgsIDQ4LCA1MSwgMTI4LCA3NywgNDgsIDQ4LCAxNzksIDc3LCA0OCwgNDgsIDUwLCAxMjgsIDc3LCAKKyAgICA0OCwgNDgsIDE3OCwgNzcsIDQ4LCA0OCwgNDksIDY2LCAxMjgsIDc3LCA0OCwgNDgsIDQ5LCA2NSwgMTI4LCA3NywgNDgsIAorICAgIDQ4LCA0OSwgMTI4LCA3NywgNDgsIDQ4LCAxNzcsIDc2LCAyMTgsIDc2LCA4OSwgODksIDEyOCwgNzYsIDg5LCA4OCwgMTI4LCAKKyAgICA3NiwgODksIDg0LCAxMjgsIDc2LCA4OSwgODIsIDg4LCAxMjgsIDc2LCA4OSwgODIsIDEyOCwgNzYsIDg5LCA4MCwgMTI4LCAKKyAgICA3NiwgODksIDczLCA4NCwgMTI4LCA3NiwgODksIDY4LCA3MywgNjUsIDIwNiwgNzYsIDg5LCA2NywgNzMsIDY1LCAyMDYsIAorICAgIDc2LCA4OCwgMTI4LCA3NiwgODcsIDc5LCA3OSwgMTI4LCA3NiwgODcsIDc5LCAxMjgsIDc2LCA4NywgNzMsIDczLCAxMjgsIAorICAgIDc2LCA4NywgNzMsIDEyOCwgNzYsIDg3LCA2OSwgMTI4LCA3NiwgODcsIDY1LCA2NSwgMTI4LCA3NiwgODcsIDY1LCAxMjgsIAorICAgIDc2LCA4NSwgODgsIDEyOCwgNzYsIDg1LCA4NSwgMTI4LCA3NiwgODUsIDg0LCAxMjgsIDc2LCA4NSwgODIsIDg4LCAxMjgsIAorICAgIDc2LCA4NSwgODAsIDEyOCwgNzYsIDg1LCA3OSwgODgsIDEyOCwgNzYsIDg1LCA3OSwgODQsIDEyOCwgNzYsIDg1LCA3OSwgCisgICAgODAsIDEyOCwgNzYsIDg1LCA3OSwgMTI4LCA3NiwgODUsIDc4LCA3MSwgODMsIDczLCAxMjgsIDc2LCA4NSwgNzgsIDY1LCAKKyAgICA4NCwgMTk3LCA3NiwgODUsIDIwNSwgNzYsIDg1LCA3NiwgMTI4LCA3NiwgODUsIDczLCA4MywgMTI4LCA3NiwgODUsIDcyLCAKKyAgICA4NSwgODIsIDEyOCwgNzYsIDg1LCA3MiwgMTI4LCA3NiwgODUsIDcxLCA3MSwgNjUsIDcxLCA2OSwgMTI4LCA3NiwgODUsIAorICAgIDcxLCA2NSwgNzYsIDEyOCwgNzYsIDg1LCA3MSwgNjUsIDIwNCwgNzYsIDg1LCA2OSwgMTI4LCA3NiwgODUsIDE5NywgNzYsIAorICAgIDg1LCA2NiwgMTI4LCA3NiwgODUsIDY1LCA2OSwgODAsIDEyOCwgNzYsIDg1LCA1MSwgMTI4LCA3NiwgODUsIDUwLCAxMjgsIAorICAgIDc2LCA4NSwgMTc4LCA3NiwgODIsIDc5LCAxMjgsIDc2LCA4MiwgNzcsIDEyOCwgNzYsIDgyLCA3MywgMTI4LCA3NiwgODIsIAorICAgIDY5LCAxMjgsIDc2LCA3OSwgOTAsIDY5LCA3OCwgNzEsIDY5LCAxMjgsIDc2LCA3OSwgOTAsIDY5LCA3OCwgNzEsIDE5NywgCisgICAgNzYsIDc5LCA4OCwgMTI4LCA3NiwgNzksIDg3LCA2OSwgODIsIDY5LCAxOTYsIDc2LCA3OSwgODcsIDY5LCAyMTAsIDc2LCAKKyAgICA3OSwgODcsIDQ1LCA4MiwgNjksIDg2LCA2OSwgODIsIDgzLCA2OSwgNjgsIDQ1LCAxODUsIDc2LCA3OSwgODcsIDQ1LCA3NywgCisgICAgNzMsIDE5NiwgNzYsIDc5LCA4NywgNDUsIDcwLCA2NSwgNzYsIDc2LCA3MywgNzgsIDE5OSwgNzYsIDc5LCA4NywgNDUsIAorICAgIDE4NSwgNzYsIDc5LCA4NiwgMTk3LCA3NiwgNzksIDg1LCA4MiwgNjksIDEyOCwgNzYsIDc5LCA4NSwgNjgsIDgzLCA4MCwgCisgICAgNjksIDY1LCA3NSwgNjksIDgyLCAxMjgsIDc2LCA3OSwgODUsIDY4LCA3NiwgMjE3LCA3NiwgNzksIDg0LCA4NSwgODMsIAorICAgIDEyOCwgNzYsIDc5LCA4NCwgMTI4LCA3NiwgNzksIDgyLCA4MiwgODksIDEyOCwgNzYsIDc5LCA4MiwgODIsIDY1LCA3MywgCisgICAgNzgsIDY5LCAxMjgsIDc2LCA3OSwgODEsIDEyOCwgNzYsIDc5LCA4MCwgMTI4LCA3NiwgNzksIDc5LCA4NCwgMTI4LCA3NiwgCisgICAgNzksIDc5LCA4MCwgNjksIDE5NiwgNzYsIDc5LCA3OSwgODAsIDEyOCwgNzYsIDc5LCA3OSwgMjA4LCA3NiwgNzksIDc5LCAKKyAgICA3OCwgMTI4LCA3NiwgNzksIDc5LCAyMDMsIDc2LCA3OSwgNzksIDEyOCwgNzYsIDc5LCA3OCwgODMsIDg1LCA3NywgMTI4LCAKKyAgICA3NiwgNzksIDc4LCA3MSwgNjUsIDEyOCwgNzYsIDc5LCA3OCwgNzEsIDE5MywgNzYsIDc5LCA3OCwgNzEsIDQ1LCA2NiwgODIsIAorICAgIDY1LCA3OCwgNjcsIDcyLCA0NSwgODksIDgyLCAxMjgsIDc2LCA3OSwgNzgsIDcxLCA0NSwgNjYsIDgyLCA2NSwgNzgsIDY3LCAKKyAgICA3MiwgNDUsIDgzLCA3OSwgMjA0LCA3NiwgNzksIDc4LCA3MSwgNDUsIDY2LCA4MiwgNjUsIDc4LCA2NywgNzIsIDQ1LCA3OSwgCisgICAgODMsIDIxMSwgNzYsIDc5LCA3OCwgNzEsIDQ1LCA2NiwgODIsIDY1LCA3OCwgNjcsIDcyLCA0NSwgNzcsIDY1LCA2OCwgMjEwLCAKKyAgICA3NiwgNzksIDc4LCA3MSwgNDUsIDY2LCA4MiwgNjUsIDc4LCA2NywgNzIsIDQ1LCA3MiwgNjUsIDcxLCA2NSwgNzYsIDIwNCwgCisgICAgNzYsIDc5LCA3OCwgNzEsIDQ1LCA2NiwgODIsIDY1LCA3OCwgNjcsIDcyLCA0NSwgNjUsIDIxMCwgNzYsIDc5LCA3NywgNzcsIAorICAgIDY1LCA2OSwgMTI4LCA3NiwgNzksIDc3LCAxMjgsIDc2LCA3OSwgMjA1LCA3NiwgNzksIDc2LCA3NiwgNzMsIDgwLCA3OSwgCisgICAgODAsIDEyOCwgNzYsIDc5LCA3NiwgNzYsIDEyOCwgNzYsIDc5LCA3MSwgMjEwLCA3NiwgNzksIDcxLCA3OSwgODQsIDg5LCAKKyAgICA4MCwgMTk3LCA3NiwgNzksIDcxLCA3OSwgNzEsIDgyLCA2NSwgMjA1LCA3NiwgNzksIDcxLCAxMjgsIDc2LCA3OSwgNjgsIAorICAgIDY5LCA4MywgODQsIDc5LCA3OCwgNjksIDEyOCwgNzYsIDc5LCA2NywgNzksIDc3LCA3OSwgODQsIDczLCA4NiwgNjksIDEyOCwgCisgICAgNzYsIDc5LCA2NywgNzUsIDczLCA3OCwgNzEsIDQ1LCA4MywgNzIsIDczLCA3MCwgMjEyLCA3NiwgNzksIDY3LCAyMDMsIDc2LCAKKyAgICA3OSwgNjcsIDY1LCA4NCwgNzMsIDg2LCA2OSwgMTI4LCA3NiwgNzksIDY3LCA2NSwgODQsIDczLCA3OSwgMjA2LCA3NiwgNzksIAorICAgIDY1LCAxMjgsIDc2LCA3OCwgMTI4LCA3NiwgNzYsIDg1LCA4NSwgMTI4LCA3NiwgNzYsIDc5LCA3OSwgMTI4LCA3NiwgNzYsIAorICAgIDc2LCA4NSwgODUsIDEyOCwgNzYsIDc2LCA3NiwgODUsIDEyOCwgNzYsIDc2LCA3NiwgNzksIDc5LCAxMjgsIDc2LCA3NiwgCisgICAgNzYsIDc5LCAxMjgsIDc2LCA3NiwgNzYsIDczLCA3MywgMTI4LCA3NiwgNzYsIDc2LCA3MywgMTI4LCA3NiwgNzYsIDc2LCAKKyAgICA2OSwgNjksIDEyOCwgNzYsIDc2LCA3NiwgNjksIDEyOCwgNzYsIDc2LCA3NiwgNjUsIDg1LCAxMjgsIDc2LCA3NiwgNzYsIAorICAgIDY1LCA3MywgMTI4LCA3NiwgNzYsIDc2LCA2NSwgNjUsIDEyOCwgNzYsIDc2LCA3NiwgNjUsIDEyOCwgNzYsIDc2LCA3NiwgCisgICAgMTI4LCA3NiwgNzQsIDg1LCA2OCwgNzMsIDc0LCA2OSwgMTI4LCA3NiwgNzQsIDY5LCAxMjgsIDc2LCA3NCwgMTI4LCA3NiwgCisgICAgNzMsIDg4LCAxMjgsIDc2LCA3MywgODcsIDc4LCAxMjgsIDc2LCA3MywgODYsIDgyLCAxOTcsIDc2LCA3MywgODQsIDg0LCAKKyAgICA3NiwgMTk3LCA3NiwgNzMsIDg0LCA4NCwgNjksIDIxMCwgNzYsIDczLCA4NCwgODIsIDE5MywgNzYsIDczLCA4NCwgMjAwLCAKKyAgICA3NiwgNzMsIDg0LCAxMjgsIDc2LCA3MywgODMsIDIxMywgNzYsIDczLCA4MywgMTI4LCA3NiwgNzMsIDgyLCAxOTMsIDc2LCAKKyAgICA3MywgODEsIDg1LCA3MywgMTk2LCA3NiwgNzMsIDgxLCAxMjgsIDc2LCA3MywgODAsIDgzLCA4NCwgNzMsIDY3LCA3NSwgCisgICAgMTI4LCA3NiwgNzMsIDc4LCA3NSwgNzMsIDc4LCAxOTksIDc2LCA3MywgNzgsIDc1LCA2OSwgMTk2LCA3NiwgNzMsIDc4LCAKKyAgICAyMDMsIDc2LCA3MywgNzgsIDcxLCA4MywgNjUsIDEyOCwgNzYsIDczLCA3OCwgNjksIDgzLCAxMjgsIDc2LCA3MywgNzgsIAorICAgIDY5LCAyMTEsIDc2LCA3MywgNzgsIDY5LCA0NSwgNTcsIDEyOCwgNzYsIDczLCA3OCwgNjksIDQ1LCA1NSwgMTI4LCA3NiwgCisgICAgNzMsIDc4LCA2OSwgNDUsIDUxLCAxMjgsIDc2LCA3MywgNzgsIDY5LCA0NSwgNDksIDEyOCwgNzYsIDczLCA3NywgNzcsIDg1LCAKKyAgICA1MiwgMTI4LCA3NiwgNzMsIDc3LCA3NywgODUsIDUwLCAxMjgsIDc2LCA3MywgNzcsIDc3LCA4NSwgMTI4LCA3NiwgNzMsIAorICAgIDc3LCA3NywgMjEzLCA3NiwgNzMsIDc3LCA3MywgODQsIDY5LCAxOTYsIDc2LCA3MywgNzcsIDczLCA4NCwgNjUsIDg0LCA3MywgCisgICAgNzksIDc4LCAxMjgsIDc2LCA3MywgNzcsIDczLCA4NCwgMTI4LCA3NiwgNzMsIDc3LCA2OSwgMTI4LCA3NiwgNzMsIDc3LCAKKyAgICA2NiwgMjEzLCA3NiwgNzMsIDc2LCA4OSwgMTI4LCA3NiwgNzMsIDc2LCA3MywgODQsIDcyLCAxMjgsIDc2LCA3MywgNzYsIAorICAgIDEyOCwgNzYsIDczLCA3MSwgNzIsIDg0LCA3OCwgNzMsIDc4LCA3MSwgMTI4LCA3NiwgNzMsIDcxLCA3MiwgODQsIDc4LCA3MywgCisgICAgNzgsIDE5OSwgNzYsIDczLCA3MSwgNzIsIDg0LCA3MiwgNzksIDg1LCA4MywgNjksIDEyOCwgNzYsIDczLCA3MSwgNzIsIDg0LCAKKyAgICAxMjgsIDc2LCA3MywgNzAsIDg0LCA2OSwgODIsIDEyOCwgNzYsIDczLCA3MCwgNjksIDEyOCwgNzYsIDczLCA2OSwgODgsIAogICAgIDEyOCwgNzYsIDczLCA2OSwgODQsIDEyOCwgNzYsIDczLCA2OSwgODAsIDEyOCwgNzYsIDczLCA2OSwgNjksIDEyOCwgNzYsIAogICAgIDczLCA2OSwgMTI4LCA3NiwgNzMsIDY4LCAxMjgsIDc2LCA3MywgNjYsIDgyLCA2NSwgMTI4LCA3NiwgNzMsIDY2LCA2OSwgCiAgICAgODIsIDg0LCA4OSwgMTI4LCA3NiwgNzMsIDY1LCA2NiwgNzMsIDc2LCA3MywgODQsIDIxNywgNzYsIDcyLCA3MywgNzMsIAogICAgIDEyOCwgNzYsIDcyLCA2NSwgODYsIDczLCA4OSwgNjUsIDc4LCA3MywgMTI4LCA3NiwgNzIsIDY1LCAxOTksIDc2LCA3MiwgCiAgICAgNjUsIDY1LCAxMjgsIDc2LCA3MiwgMTI4LCA3NiwgNjksIDkwLCA3MiwgMTI4LCA3NiwgNjksIDg4LCAxMjgsIDc2LCA2OSwgCi0gICAgODYsIDY5LCAyMDQsIDc2LCA2OSwgODUsIDc3LCAxMjgsIDc2LCA2OSwgODUsIDY1LCA2OSwgODAsIDEyOCwgNzYsIDY5LCAKLSAgICA4NSwgNjUsIDY5LCA3NywgMTI4LCA3NiwgNjksIDg1LCAxMjgsIDc2LCA2OSwgMjEzLCA3NiwgNjksIDg0LCA4NCwgNjksIAotICAgIDgyLCA4MywgMTI4LCA3NiwgNjksIDg0LCA4NCwgNjksIDgyLCAxMjgsIDc2LCA2OSwgMjEyLCA3NiwgNjksIDgzLCA4MywgCi0gICAgNjksIDIxMCwgNzYsIDY5LCA4MywgODMsIDQ1LCA4NCwgNzIsIDY1LCA3OCwgMTI4LCA3NiwgNjksIDgzLCA4MywgNDUsIDg0LCAKLSAgICA3MiwgNjUsIDIwNiwgNzYsIDY5LCA4MCwgMTI4LCA3NiwgNjksIDc5LCA4MCwgNjUsIDgyLCA2OCwgMTI4LCA3NiwgNjksIAotICAgIDc5LCAxMjgsIDc2LCA2OSwgNzgsIDg0LCA3MywgNjcsIDg1LCA3NiwgNjUsIDIxMCwgNzYsIDY5LCA3OCwgNzMsIDgzLCAKLSAgICAxMjgsIDc2LCA2OSwgNzgsIDcxLCA4NCwgNzIsIDY5LCA3OCwgNjksIDgyLCAxMjgsIDc2LCA2OSwgNzgsIDcxLCA4NCwgCi0gICAgMjAwLCA3NiwgNjksIDc4LCA3MSwgNjUsIDEyOCwgNzYsIDY5LCA3OCwgNzEsIDE5MywgNzYsIDY5LCA3NywgNzksIDc4LCAKLSAgICAxMjgsIDc2LCA2OSwgNzcsIDc5LCA3MywgMTI4LCA3NiwgNjksIDc2LCA2OSwgODQsIDEyOCwgNzYsIDY5LCA3NiwgNjksIAotICAgIDIxMiwgNzYsIDY5LCAyMDMsIDc2LCA2OSwgNzMsIDc3LCA3NywgNjUsIDEyOCwgNzYsIDY5LCA3MywgNzcsIDc3LCAxOTMsIAotICAgIDc2LCA2OSwgNzEsIDgzLCAxMjgsIDc2LCA2OSwgNzEsIDczLCA3OSwgNzgsIDEyOCwgNzYsIDY5LCA3MSwgNjksIDg0LCA3OSwgCi0gICAgMjExLCA3NiwgNjksIDcxLCAxMjgsIDc2LCA2OSwgNzAsIDg0LCA4NywgNjUsIDgyLCA2OCwgODMsIDEyOCwgNzYsIDY5LCAKLSAgICA3MCwgODQsIDQ1LCA4NCwgNzksIDQ1LCA4MiwgNzMsIDcxLCA3MiwgMjEyLCA3NiwgNjksIDcwLCA4NCwgNDUsIDgzLCA4NCwgCi0gICAgNjksIDIwNSwgNzYsIDY5LCA3MCwgODQsIDQ1LCA4MywgNzMsIDY4LCAxOTcsIDc2LCA2OSwgNzAsIDg0LCA0NSwgODMsIDcyLCAKLSAgICA2NSwgNjgsIDY5LCAxOTYsIDc2LCA2OSwgNzAsIDg0LCA0NSwgODAsIDc5LCA3MywgNzgsIDg0LCA3MywgNzgsIDE5OSwgNzYsIAorICAgIDg2LCA3MywgODQsIDY1LCA4NCwgNzMsIDc4LCA3MSwgMTI4LCA3NiwgNjksIDg1LCA3NywgMTI4LCA3NiwgNjksIDg1LCA2NSwgCisgICAgNjksIDgwLCAxMjgsIDc2LCA2OSwgODUsIDY1LCA2OSwgNzcsIDEyOCwgNzYsIDY5LCA4NSwgMTI4LCA3NiwgNjksIDIxMywgCisgICAgNzYsIDY5LCA4NCwgODQsIDY5LCA4MiwgODMsIDEyOCwgNzYsIDY5LCA4NCwgODQsIDY5LCA4MiwgMTI4LCA3NiwgNjksIAorICAgIDIxMiwgNzYsIDY5LCA4MywgODMsIDY5LCAyMTAsIDc2LCA2OSwgODMsIDgzLCA0NSwgODQsIDcyLCA2NSwgNzgsIDEyOCwgCisgICAgNzYsIDY5LCA4MywgODMsIDQ1LCA4NCwgNzIsIDY1LCAyMDYsIDc2LCA2OSwgODAsIDY3LCA3MiwgMTkzLCA3NiwgNjksIDgwLCAKKyAgICAxMjgsIDc2LCA2OSwgNzksIDgwLCA2NSwgODIsIDY4LCAxMjgsIDc2LCA2OSwgNzksIDEyOCwgNzYsIDY5LCA3OCwgODQsIAorICAgIDczLCA2NywgODUsIDc2LCA2NSwgMjEwLCA3NiwgNjksIDc4LCA3MywgODMsIDEyOCwgNzYsIDY5LCA3OCwgNzMsIDIxMSwgCisgICAgNzYsIDY5LCA3OCwgNzEsIDg0LCA3MiwgNjksIDc4LCA2OSwgODIsIDEyOCwgNzYsIDY5LCA3OCwgNzEsIDg0LCAyMDAsIDc2LCAKKyAgICA2OSwgNzgsIDcxLCA2NSwgMTI4LCA3NiwgNjksIDc4LCA3MSwgMTkzLCA3NiwgNjksIDc3LCA3OSwgNzgsIDEyOCwgNzYsIAorICAgIDY5LCA3NywgNzksIDczLCAxMjgsIDc2LCA2OSwgNzYsIDY5LCA4NCwgMTI4LCA3NiwgNjksIDc2LCA2OSwgMjEyLCA3NiwgCisgICAgNjksIDIwMywgNzYsIDY5LCA3MywgNzcsIDc3LCA2NSwgMTI4LCA3NiwgNjksIDczLCA3NywgNzcsIDE5MywgNzYsIDY5LCAKKyAgICA3MywgMTI4LCA3NiwgNjksIDcxLCA4MywgMTI4LCA3NiwgNjksIDcxLCA3MywgNzksIDc4LCAxMjgsIDc2LCA2OSwgNzEsIAorICAgIDY5LCA4NCwgNzksIDIxMSwgNzYsIDY5LCA3MSwgMTI4LCA3NiwgNjksIDE5OSwgNzYsIDY5LCA3MCwgODQsIDg3LCA2NSwgCisgICAgODIsIDY4LCA4MywgMTI4LCA3NiwgNjksIDcwLCA4NCwgNDUsIDg0LCA3OSwgNDUsIDgyLCA3MywgNzEsIDcyLCAyMTIsIDc2LCAKKyAgICA2OSwgNzAsIDg0LCA0NSwgODMsIDg0LCA2OSwgMjA1LCA3NiwgNjksIDcwLCA4NCwgNDUsIDgzLCA3MywgNjgsIDE5NywgNzYsIAorICAgIDY5LCA3MCwgODQsIDQ1LCA4MywgNzIsIDY1LCA2OCwgNjksIDE5NiwgNzYsIDY5LCA3MCwgODQsIDQ1LCA4MCwgNzksIDczLCAKKyAgICA3OCwgODQsIDczLCA3OCwgMTk5LCA3NiwgNjksIDcwLCA4NCwgNDUsIDc2LCA3MywgNzEsIDcyLCA4NCwgNjksIDE5NiwgNzYsIAogICAgIDY5LCA3MCwgODQsIDQ1LCA3MiwgNjUsIDc4LCA2OCwgNjksIDE5NiwgNzYsIDY5LCA3MCwgODQsIDQ1LCA3MiwgNjUsIDc4LCAKICAgICAxOTYsIDc2LCA2OSwgNzAsIDg0LCA0NSwgNzAsIDY1LCA2NywgNzMsIDc4LCAxOTksIDc2LCA2OSwgNzAsIDg0LCAxMjgsIAogICAgIDc2LCA2OSwgNjksIDgyLCA2NSwgNjksIDg3LCA2NSwgMTI4LCA3NiwgNjksIDY5LCA3NSwgMTI4LCA3NiwgNjksIDY5LCA2OSwgCkBAIC0yMTgxLDEzNyArMjMzNiwxNTEgQEAKICAgICA2OSwgNjUsIDY4LCA2OSwgODIsIDEyOCwgNzYsIDY5LCA2NSwgMTk2LCA3NiwgNjgsIDY1LCA3OCwgMTI4LCA3NiwgNjgsIAogICAgIDUwLCAxMjgsIDc2LCA2NywgMjAxLCA3NiwgNjcsIDE5NywgNzYsIDY1LCA5MCwgMjE3LCA3NiwgNjUsIDg5LCA2NSwgNzgsIAogICAgIDc4LCA2NSwgMTI4LCA3NiwgNjUsIDg4LCAxMjgsIDc2LCA2NSwgODcsIDEyOCwgNzYsIDY1LCAyMTUsIDc2LCA2NSwgODUsIAotICAgIDc2LCA2NSwgMTI4LCA3NiwgNjUsIDg1LCA3NSwgNjUsIDIxOCwgNzYsIDY1LCA4NCwgNzMsIDc4LCA2NSwgODQsIDE5NywgCi0gICAgNzYsIDY1LCA4NCwgNzMsIDc1LCAxMjgsIDc2LCA2NSwgODQsIDY5LCA4MiwgNjUsIDIwNCwgNzYsIDY1LCA4NCwgMTk3LCAKLSAgICA3NiwgNjUsIDgzLCAyMTIsIDc2LCA2NSwgODIsIDg5LCA3OCwgNzEsIDY5LCA2NSwgMjA0LCA3NiwgNjUsIDgyLCA3MSwgNjksIAotICAgIDIxMCwgNzYsIDY1LCA4MiwgNzEsIDY5LCAxMjgsIDc2LCA2NSwgODIsIDcxLCAxOTcsIDc2LCA2NSwgODEsIDEyOCwgNzYsIAotICAgIDY1LCA4MCwgNjUsIDgxLCAxMjgsIDc2LCA2NSwgODAsIDEyOCwgNzYsIDY1LCA3OCwgODQsIDY5LCA4MiwgNzgsIDEyOCwgCi0gICAgNzYsIDY1LCA3OCwgNzEsIDg1LCA2NSwgNzEsIDE5NywgNzYsIDY1LCA3OCwgNjksIDgzLCAxMjgsIDc2LCA2NSwgNzcsIDY5LCAKLSAgICA2OCwgNzIsIDEyOCwgNzYsIDY1LCA3NywgNjksIDY4LCAxMjgsIDc2LCA2NSwgNzcsIDY5LCAxOTYsIDc2LCA2NSwgNzcsIAotICAgIDY5LCAxMjgsIDc2LCA2NSwgNzcsIDE5NywgNzYsIDY1LCA3NywgNjgsIDY1LCAxMjgsIDc2LCA2NSwgNzcsIDY4LCAxMjgsIAotICAgIDc2LCA2NSwgNzcsIDY2LCA2OCwgMTkzLCA3NiwgNjUsIDc3LCA2NSwgNjgsIDcyLCAxMjgsIDc2LCA2NSwgNzYsIDEyOCwgCi0gICAgNzYsIDY1LCAyMDQsIDc2LCA2NSwgNzUsIDc1LCA3MiwgNjUsIDc4LCA3MSwgODksIDY1LCA3OSwgMTI4LCA3NiwgNjUsIDc0LCAKLSAgICA2NSwgNzgsIDg5LCA2NSwgNzYsIDY1LCA3OCwgMTI4LCA3NiwgNjUsIDIwMSwgNzYsIDY1LCA3MiwgODMsIDcyLCA4NSwgCi0gICAgMTI4LCA3NiwgNjUsIDcyLCAxMjgsIDc2LCA2NSwgNzEsIDg1LCA4MywgMTI4LCA3NiwgNjUsIDcxLCAyMTMsIDc2LCA2NSwgCi0gICAgNzEsIDY1LCA4MiwgMTI4LCA3NiwgNjUsIDcxLCA2NSwgMjEwLCA3NiwgNjUsIDcxLCA2NSwgNjYsIDEyOCwgNzYsIDY1LCAKLSAgICA3MSwgNjUsIDE5NCwgNzYsIDY1LCA2OSwgODYsIDEyOCwgNzYsIDY1LCA2OSwgMTI4LCA3NiwgNjUsIDY4LCAyMTcsIDc2LCAKLSAgICA2NSwgNjcsIDc1LCAxMjgsIDc2LCA2NSwgNjcsIDY1LCAxMjgsIDc2LCA2NSwgNjYsIDc5LCA4NSwgODIsIDczLCA3OCwgNzEsIAotICAgIDEyOCwgNzYsIDY1LCA2NiwgNzksIDgyLCAxMjgsIDc2LCA2NSwgNjYsIDczLCA2NSwgNzYsIDczLCA5MCwgNjUsIDg0LCA3MywgCi0gICAgNzksIDIwNiwgNzYsIDY1LCA2NiwgNzMsIDY1LCAyMDQsIDc2LCA2NSwgNjYsIDY1LCA4NCwgMTI4LCA3NiwgNjUsIDY1LCAKLSAgICA3OCwgNjUsIDY5LCAxMjgsIDc2LCA2NSwgNjUsIDc4LCAxMjgsIDc2LCA2NSwgNjUsIDc3LCA4NSwgMTI4LCA3NiwgNjUsIAotICAgIDY1LCA3NywgMTI4LCA3NiwgNjUsIDY1LCA3MywgMTI4LCA3NiwgNDgsIDQ4LCA1NCwgNjUsIDEyOCwgNzYsIDQ4LCA0OCwgCi0gICAgNTAsIDY1LCAxMjgsIDc2LCA0NSwgODQsIDg5LCA4MCwgMTk3LCA3NiwgNDUsIDgzLCA3MiwgNjUsIDgwLCA2OSwgMTk2LCAKLSAgICA3NSwgODksIDg1LCA4MiwgNzMsIDczLCAxMjgsIDc1LCA4OSwgODUsIDEyOCwgNzUsIDg5LCA3OSwgMTI4LCA3NSwgODksIAotICAgIDc2LCA3MywgODMsIDc3LCA2NSwgMTI4LCA3NSwgODksIDczLCAxMjgsIDc1LCA4OSwgNjksIDEyOCwgNzUsIDg5LCA2NSwgCi0gICAgODQsIDcyLCA3OSwgMjExLCA3NSwgODksIDY1LCA2NSwgMTI4LCA3NSwgODksIDY1LCAxMjgsIDc1LCA4OCwgODcsIDczLCAKLSAgICAxMjgsIDc1LCA4OCwgODcsIDY5LCA2OSwgMTI4LCA3NSwgODgsIDg3LCA2OSwgMTI4LCA3NSwgODgsIDg3LCA2NSwgNjUsIAotICAgIDEyOCwgNzUsIDg4LCA4NywgNjUsIDEyOCwgNzUsIDg4LCA4NSwgMTI4LCA3NSwgODgsIDc5LCAxMjgsIDc1LCA4OCwgNzMsIAotICAgIDEyOCwgNzUsIDg4LCA2OSwgNjksIDEyOCwgNzUsIDg4LCA2OSwgMTI4LCA3NSwgODgsIDY1LCA2NSwgMTI4LCA3NSwgODgsIAotICAgIDY1LCAxMjgsIDc1LCA4NywgODUsIDUxLCA0OSwgNTYsIDEyOCwgNzUsIDg3LCA3OSwgNzksIDEyOCwgNzUsIDg3LCA3OSwgCi0gICAgMTI4LCA3NSwgODcsIDczLCA3MywgMTI4LCA3NSwgODcsIDczLCAxMjgsIDc1LCA4NywgNjksIDY5LCAxMjgsIDc1LCA4NywgCi0gICAgNjksIDEyOCwgNzUsIDg3LCA2NSwgODksIDEyOCwgNzUsIDg3LCA2NSwgNjksIDg0LCAxMjgsIDc1LCA4NywgNjUsIDY1LCAKLSAgICAxMjgsIDc1LCA4NiwgNjUsIDEyOCwgNzUsIDg2LCAxMjgsIDc1LCA4NSwgODgsIDEyOCwgNzUsIDg1LCA4NSwgNzIsIDEyOCwgCi0gICAgNzUsIDg1LCA4NCwgMTI4LCA3NSwgODUsIDgzLCA3NywgNjUsIDEyOCwgNzUsIDg1LCA4MywgNzIsIDg1LCA1MCwgMTI4LCAKLSAgICA3NSwgODUsIDgyLCA4OCwgMTI4LCA3NSwgODUsIDgyLCA4NSwgOTAsIDY5LCA3MywgODIsIDc5LCAxMjgsIDc1LCA4NSwgODIsIAotICAgIDg0LCAxMjgsIDc1LCA4NSwgODIsIDc5LCA3OSwgNzgsIDY5LCAxMjgsIDc1LCA4NSwgODIsIDEyOCwgNzUsIDg1LCAyMTAsIAotICAgIDc1LCA4NSwgODEsIDEyOCwgNzUsIDg1LCA3OSwgODgsIDEyOCwgNzUsIDg1LCA3OSwgODAsIDEyOCwgNzUsIDg1LCA3OSwgCi0gICAgMjA4LCA3NSwgODUsIDc5LCA3NywgMTI4LCA3NSwgODUsIDc5LCAxMjgsIDc1LCA4NSwgNzgsIDcxLCAxMjgsIDc1LCA4NSwgCi0gICAgNzgsIDY4LCA2OCwgNjUsIDc2LCA3MywgODksIDY1LCAxMjgsIDc1LCA4NSwgNzYsIDEyOCwgNzUsIDg1LCAyMDQsIDc1LCAKLSAgICA4NSwgNjksIDg0LCAxMjgsIDc1LCA4NSwgNTUsIDEyOCwgNzUsIDg1LCA1MiwgMTI4LCA3NSwgODUsIDE4MCwgNzUsIDg1LCAKLSAgICA1MSwgMTI4LCA3NSwgODUsIDE3OSwgNzUsIDg0LCAxMjgsIDc1LCA4MywgODMsIDg1LCA4NSwgMTI4LCA3NSwgODMsIDgzLCAKLSAgICA4NSwgMTI4LCA3NSwgODMsIDgzLCA3OSwgNzksIDEyOCwgNzUsIDgzLCA4MywgNzksIDEyOCwgNzUsIDgzLCA4MywgNzMsIAotICAgIDczLCAxMjgsIDc1LCA4MywgODMsIDczLCAxMjgsIDc1LCA4MywgODMsIDY5LCA2OSwgMTI4LCA3NSwgODMsIDgzLCA2OSwgCi0gICAgMTI4LCA3NSwgODMsIDgzLCA2NSwgODUsIDEyOCwgNzUsIDgzLCA4MywgNjUsIDczLCAxMjgsIDc1LCA4MywgODMsIDY1LCAKLSAgICA2NSwgMTI4LCA3NSwgODMsIDgzLCA2NSwgMTI4LCA3NSwgODMsIDgzLCAxMjgsIDc1LCA4MywgNzMsIDEyOCwgNzUsIDgyLCAKLSAgICA2OSwgNzcsIDY1LCA4MywgODQsIDczLCAxMjgsIDc1LCA4MiwgNjUsIDg0LCA3MywgNzcsIDc5LCA4OSwgODAsIDc5LCA4MiwgCi0gICAgODIsIDc5LCA3OSwgNzgsIDEyOCwgNzUsIDgyLCA2NSwgODQsIDczLCA3NywgNzksIDc1LCA3OSwgODUsIDcwLCA3MywgODMsIAotICAgIDc3LCA2NSwgMTI4LCA3NSwgODIsIDY1LCA4NCwgNzMsIDc3LCA2NSwgODQsIDY1LCAxMjgsIDc1LCA4MiwgNjUsIDg0LCA3MywgCi0gICAgNzcsIDE5MywgNzUsIDgwLCA4NSwgMTI4LCA3NSwgODAsIDc5LCA4MSwgMTI4LCA3NSwgODAsIDc5LCA3OSwgMTI4LCA3NSwgCi0gICAgODAsIDc5LCAxMjgsIDc1LCA4MCwgNzMsIDEyOCwgNzUsIDgwLCA2OSwgODUsIDg4LCAxMjgsIDc1LCA4MCwgNjksIDY5LCAKLSAgICAxMjgsIDc1LCA4MCwgNjksIDEyOCwgNzUsIDgwLCA2NSwgODIsIDY1LCA4MSwgMTI4LCA3NSwgODAsIDY1LCA3OCwgMTI4LCAKLSAgICA3NSwgODAsIDY1LCAxMjgsIDc1LCA3OSwgODgsIDEyOCwgNzUsIDc5LCA4NiwgODUsIDg1LCAxMjgsIDc1LCA3OSwgODQsIAotICAgIDc5LCAxMjgsIDc1LCA3OSwgODIsIDg1LCA3OCwgNjUsIDEyOCwgNzUsIDc5LCA4MiwgNzksIDc4LCA3MywgODMsIDEyOCwgCi0gICAgNzUsIDc5LCA4MiwgNjksIDY1LCAyMDYsIDc1LCA3OSwgODIsIDY1LCA3OCwgNzMsIDE5NSwgNzUsIDc5LCA4MSwgNzgsIDY4LCAKLSAgICA3OSwgNzgsIDEyOCwgNzUsIDc5LCA4MCwgODAsIDY1LCAxMjgsIDc1LCA3OSwgODAsIDEyOCwgNzUsIDc5LCA3OSwgODAsIAotICAgIDc5LCAxMjgsIDc1LCA3OSwgNzksIDc3LCA4NSwgODUsIDg0LCAxMjgsIDc1LCA3OSwgNzksIDEyOCwgNzUsIDc5LCA3OCwgCi0gICAgODQsIDY5LCA4NiwgNzcsIDY1LCAxMjgsIDc1LCA3OSwgNzgsIDg0LCA2OSwgODYsIDc3LCAxOTMsIDc1LCA3OSwgNzcsIAotICAgIDIwMSwgNzUsIDc5LCA3NywgNjYsIDg1LCA4NiwgNjUsIDEyOCwgNzUsIDc5LCA3NywgNjYsIDg1LCA4NiwgMTkzLCA3NSwgCi0gICAgNzksIDc3LCA2NiwgMjEzLCA3NSwgNzksIDc1LCA3OSwgMTI4LCA3NSwgNzksIDc1LCAxMjgsIDc1LCA3OSwgMjAzLCA3NSwgCisgICAgNzYsIDY1LCAxMjgsIDc2LCA2NSwgODUsIDc1LCA2NSwgMjE4LCA3NiwgNjUsIDg1LCA3NCwgMTI4LCA3NiwgNjUsIDg0LCAKKyAgICA3MywgNzgsIDY1LCA4NCwgMTk3LCA3NiwgNjUsIDg0LCA3MywgNzUsIDEyOCwgNzYsIDY1LCA4NCwgNjksIDgyLCA2NSwgCisgICAgMjA0LCA3NiwgNjUsIDg0LCAxOTcsIDc2LCA2NSwgODMsIDIxMiwgNzYsIDY1LCA4MiwgODksIDc4LCA3MSwgNjksIDY1LCAKKyAgICAyMDQsIDc2LCA2NSwgODIsIDcxLCA2OSwgMjEwLCA3NiwgNjUsIDgyLCA3MSwgNjksIDEyOCwgNzYsIDY1LCA4MiwgNzEsIAorICAgIDE5NywgNzYsIDY1LCA4MSwgMTI4LCA3NiwgNjUsIDgwLCA2NSwgODEsIDEyOCwgNzYsIDY1LCAyMDcsIDc2LCA2NSwgNzgsIAorICAgIDg0LCA2OSwgODIsIDc4LCAxMjgsIDc2LCA2NSwgNzgsIDcxLCA4NSwgNjUsIDcxLCAxOTcsIDc2LCA2NSwgNzgsIDY5LCA4MywgCisgICAgMTI4LCA3NiwgNjUsIDc4LCAxMjgsIDc2LCA2NSwgNzcsIDgwLCAxMjgsIDc2LCA2NSwgNzcsIDY5LCA2OCwgNzIsIDEyOCwgCisgICAgNzYsIDY1LCA3NywgNjksIDY4LCAxMjgsIDc2LCA2NSwgNzcsIDY5LCAxOTYsIDc2LCA2NSwgNzcsIDY5LCAxMjgsIDc2LCAKKyAgICA2NSwgNzcsIDE5NywgNzYsIDY1LCA3NywgNjgsIDY1LCAxMjgsIDc2LCA2NSwgNzcsIDY4LCAxMjgsIDc2LCA2NSwgNzcsIAorICAgIDY2LCA2OCwgMTkzLCA3NiwgNjUsIDc3LCA2NSwgNjgsIDcyLCAxMjgsIDc2LCA2NSwgNzYsIDEyOCwgNzYsIDY1LCAyMDQsIAorICAgIDc2LCA2NSwgNzUsIDc1LCA3MiwgNjUsIDc4LCA3MSwgODksIDY1LCA3OSwgMTI4LCA3NiwgNjUsIDc0LCA2NSwgNzgsIDg5LCAKKyAgICA2NSwgNzYsIDY1LCA3OCwgMTI4LCA3NiwgNjUsIDczLCA3OCwgMTk5LCA3NiwgNjUsIDIwMSwgNzYsIDY1LCA3MiwgODMsIAorICAgIDcyLCA4NSwgMTI4LCA3NiwgNjUsIDcyLCAxMjgsIDc2LCA2NSwgNzEsIDg1LCA4MywgMTI4LCA3NiwgNjUsIDcxLCAyMTMsIAorICAgIDc2LCA2NSwgNzEsIDY1LCA4MiwgMTI4LCA3NiwgNjUsIDcxLCA2NSwgMjEwLCA3NiwgNjUsIDcxLCA2NSwgNjYsIDEyOCwgCisgICAgNzYsIDY1LCA3MSwgNjUsIDE5NCwgNzYsIDY1LCA2OSwgODYsIDEyOCwgNzYsIDY1LCA2OSwgMTI4LCA3NiwgNjUsIDY4LCAKKyAgICAyMTcsIDc2LCA2NSwgNjcsIDc1LCAxMjgsIDc2LCA2NSwgNjcsIDY1LCAxMjgsIDc2LCA2NSwgNjYsIDc5LCA4NSwgODIsIAorICAgIDczLCA3OCwgNzEsIDEyOCwgNzYsIDY1LCA2NiwgNzksIDgyLCAxMjgsIDc2LCA2NSwgNjYsIDczLCA2NSwgNzYsIDczLCA5MCwgCisgICAgNjUsIDg0LCA3MywgNzksIDIwNiwgNzYsIDY1LCA2NiwgNzMsIDY1LCAyMDQsIDc2LCA2NSwgNjYsIDY5LCA3NiwgMTI4LCAKKyAgICA3NiwgNjUsIDY2LCA2NSwgODQsIDEyOCwgNzYsIDY1LCA2NSwgNzgsIDY1LCA2OSwgMTI4LCA3NiwgNjUsIDY1LCA3OCwgCisgICAgMTI4LCA3NiwgNjUsIDY1LCA3NywgODUsIDEyOCwgNzYsIDY1LCA2NSwgNzcsIDEyOCwgNzYsIDY1LCA2NSwgNzMsIDEyOCwgCisgICAgNzYsIDU0LCAxMjgsIDc2LCA1MiwgMTI4LCA3NiwgNTEsIDEyOCwgNzYsIDUwLCAxMjgsIDc2LCA0OCwgNDgsIDU0LCA2NSwgCisgICAgMTI4LCA3NiwgNDgsIDQ4LCA1MCwgNjUsIDEyOCwgNzYsIDQ1LCA4NCwgODksIDgwLCAxOTcsIDc2LCA0NSwgODMsIDcyLCAKKyAgICA2NSwgODAsIDY5LCAxOTYsIDc1LCA4OSwgODUsIDgyLCA3MywgNzMsIDEyOCwgNzUsIDg5LCA4NSwgMTI4LCA3NSwgODksIAorICAgIDc5LCAxMjgsIDc1LCA4OSwgNzYsIDczLCA4MywgNzcsIDY1LCAxMjgsIDc1LCA4OSwgNzMsIDEyOCwgNzUsIDg5LCA2OSwgCisgICAgMTI4LCA3NSwgODksIDY1LCA4NCwgNzIsIDc5LCAyMTEsIDc1LCA4OSwgNjUsIDY1LCAxMjgsIDc1LCA4OSwgNjUsIDEyOCwgCisgICAgNzUsIDg4LCA4NywgNzMsIDEyOCwgNzUsIDg4LCA4NywgNjksIDY5LCAxMjgsIDc1LCA4OCwgODcsIDY5LCAxMjgsIDc1LCAKKyAgICA4OCwgODcsIDY1LCA2NSwgMTI4LCA3NSwgODgsIDg3LCA2NSwgMTI4LCA3NSwgODgsIDg1LCAxMjgsIDc1LCA4OCwgNzksIAorICAgIDEyOCwgNzUsIDg4LCA3MywgMTI4LCA3NSwgODgsIDY5LCA2OSwgMTI4LCA3NSwgODgsIDY5LCAxMjgsIDc1LCA4OCwgNjUsIAorICAgIDY1LCAxMjgsIDc1LCA4OCwgNjUsIDEyOCwgNzUsIDg3LCA4NiwgMTI4LCA3NSwgODcsIDg1LCA1MSwgNDksIDU2LCAxMjgsIAorICAgIDc1LCA4NywgNzksIDc5LCAxMjgsIDc1LCA4NywgNzksIDEyOCwgNzUsIDg3LCA3NywgMTI4LCA3NSwgODcsIDczLCA3MywgCisgICAgMTI4LCA3NSwgODcsIDczLCAxMjgsIDc1LCA4NywgNjksIDY5LCAxMjgsIDc1LCA4NywgNjksIDEyOCwgNzUsIDg3LCA2NiwgCisgICAgMTI4LCA3NSwgODcsIDY1LCA4OSwgMTI4LCA3NSwgODcsIDY1LCA2OSwgODQsIDEyOCwgNzUsIDg3LCA2NSwgNjUsIDEyOCwgCisgICAgNzUsIDg2LCA2NSwgMTI4LCA3NSwgODYsIDEyOCwgNzUsIDg1LCA4OCwgMTI4LCA3NSwgODUsIDg2LCAxMjgsIDc1LCA4NSwgCisgICAgODUsIDcyLCAxMjgsIDc1LCA4NSwgODQsIDEyOCwgNzUsIDg1LCA4MywgNzcsIDY1LCAxMjgsIDc1LCA4NSwgODMsIDcyLCAKKyAgICA4NSwgNTAsIDEyOCwgNzUsIDg1LCA4MiwgODgsIDEyOCwgNzUsIDg1LCA4MiwgODUsIDkwLCA2OSwgNzMsIDgyLCA3OSwgCisgICAgMTI4LCA3NSwgODUsIDgyLCA4NCwgMTI4LCA3NSwgODUsIDgyLCA3OSwgNzksIDc4LCA2OSwgMTI4LCA3NSwgODUsIDgyLCAKKyAgICAxMjgsIDc1LCA4NSwgMjEwLCA3NSwgODUsIDgxLCAxMjgsIDc1LCA4NSwgNzksIDg4LCAxMjgsIDc1LCA4NSwgNzksIDgwLCAKKyAgICAxMjgsIDc1LCA4NSwgNzksIDIwOCwgNzUsIDg1LCA3OSwgNzcsIDEyOCwgNzUsIDg1LCA3OSwgMTI4LCA3NSwgODUsIDc4LCAKKyAgICA3MSwgMTI4LCA3NSwgODUsIDc4LCA2OCwgNjgsIDY1LCA3NiwgNzMsIDg5LCA2NSwgMTI4LCA3NSwgODUsIDc2LCAxMjgsIAorICAgIDc1LCA4NSwgMjA0LCA3NSwgODUsIDcxLCAxMjgsIDc1LCA4NSwgNjksIDg0LCAxMjgsIDc1LCA4NSwgNjYsIDEyOCwgNzUsIAorICAgIDg1LCA2NSwgODYsIDEyOCwgNzUsIDg1LCA2NSwgNjYsIDEyOCwgNzUsIDg1LCA2NSwgMTI4LCA3NSwgODUsIDU1LCAxMjgsIAorICAgIDc1LCA4NSwgNTIsIDEyOCwgNzUsIDg1LCAxODAsIDc1LCA4NSwgNTEsIDEyOCwgNzUsIDg1LCAxNzksIDc1LCA4NCwgMTI4LCAKKyAgICA3NSwgODMsIDgzLCA4NSwgODUsIDEyOCwgNzUsIDgzLCA4MywgODUsIDEyOCwgNzUsIDgzLCA4MywgNzksIDc5LCAxMjgsIAorICAgIDc1LCA4MywgODMsIDc5LCAxMjgsIDc1LCA4MywgODMsIDczLCA3MywgMTI4LCA3NSwgODMsIDgzLCA3MywgMTI4LCA3NSwgCisgICAgODMsIDgzLCA2OSwgNjksIDEyOCwgNzUsIDgzLCA4MywgNjksIDEyOCwgNzUsIDgzLCA4MywgNjUsIDg1LCAxMjgsIDc1LCAKKyAgICA4MywgODMsIDY1LCA3MywgMTI4LCA3NSwgODMsIDgzLCA2NSwgNjUsIDEyOCwgNzUsIDgzLCA4MywgNjUsIDEyOCwgNzUsIAorICAgIDgzLCA4MywgMTI4LCA3NSwgODMsIDczLCAxMjgsIDc1LCA4MiwgNjksIDc3LCA2NSwgODMsIDg0LCA3MywgMTI4LCA3NSwgCisgICAgODIsIDY1LCA4NCwgNzMsIDc3LCA3OSwgODksIDgwLCA3OSwgODIsIDgyLCA3OSwgNzksIDc4LCAxMjgsIDc1LCA4MiwgNjUsIAorICAgIDg0LCA3MywgNzcsIDc5LCA3NSwgNzksIDg1LCA3MCwgNzMsIDgzLCA3NywgNjUsIDEyOCwgNzUsIDgyLCA2NSwgODQsIDczLCAKKyAgICA3NywgNjUsIDg0LCA2NSwgMTI4LCA3NSwgODIsIDY1LCA4NCwgNzMsIDc3LCAxOTMsIDc1LCA4MCwgODUsIDEyOCwgNzUsIAorICAgIDgwLCA3OSwgODEsIDEyOCwgNzUsIDgwLCA3OSwgNzksIDEyOCwgNzUsIDgwLCA3OSwgMTI4LCA3NSwgODAsIDczLCAxMjgsIAorICAgIDc1LCA4MCwgNjksIDg1LCA4OCwgMTI4LCA3NSwgODAsIDY5LCA2OSwgMTI4LCA3NSwgODAsIDY5LCAxMjgsIDc1LCA4MCwgCisgICAgNjUsIDgyLCA2NSwgODEsIDEyOCwgNzUsIDgwLCA2NSwgNzgsIDEyOCwgNzUsIDgwLCA2NSwgNzIsIDEyOCwgNzUsIDgwLCAKKyAgICA2NSwgMTI4LCA3NSwgNzksIDg4LCAxMjgsIDc1LCA3OSwgODYsIDg1LCA4NSwgMTI4LCA3NSwgNzksIDg2LCAxMjgsIDc1LCAKKyAgICA3OSwgODQsIDc5LCAxMjgsIDc1LCA3OSwgODIsIDg1LCA3OCwgNjUsIDEyOCwgNzUsIDc5LCA4MiwgNzksIDc4LCA3MywgODMsIAorICAgIDEyOCwgNzUsIDc5LCA4MiwgNjksIDY1LCAyMDYsIDc1LCA3OSwgODIsIDY1LCA3OCwgNzMsIDE5NSwgNzUsIDc5LCA4MSwgCisgICAgNzgsIDY4LCA3OSwgNzgsIDEyOCwgNzUsIDc5LCA4MCwgODAsIDY1LCAxMjgsIDc1LCA3OSwgODAsIDEyOCwgNzUsIDc5LCAKKyAgICA3OSwgODYsIDEyOCwgNzUsIDc5LCA3OSwgODAsIDc5LCAxMjgsIDc1LCA3OSwgNzksIDc3LCA4NSwgODUsIDg0LCAxMjgsIAorICAgIDc1LCA3OSwgNzksIDY2LCAxMjgsIDc1LCA3OSwgNzksIDEyOCwgNzUsIDc5LCA3OCwgODQsIDY5LCA4NiwgNzcsIDY1LCAKKyAgICAxMjgsIDc1LCA3OSwgNzgsIDg0LCA2OSwgODYsIDc3LCAxOTMsIDc1LCA3OSwgNzcsIDIwMSwgNzUsIDc5LCA3NywgNjYsIAorICAgIDg1LCA4NiwgNjUsIDEyOCwgNzUsIDc5LCA3NywgNjYsIDg1LCA4NiwgMTkzLCA3NSwgNzksIDc3LCA2NiwgMjEzLCA3NSwgCisgICAgNzksIDc1LCA3OSwgMTI4LCA3NSwgNzksIDc1LCA2OSwgMTI4LCA3NSwgNzksIDc1LCAxMjgsIDc1LCA3OSwgMjAzLCA3NSwgCiAgICAgNzksIDczLCAxMjgsIDc1LCA3OSwgMjAxLCA3NSwgNzksIDcyLCAxMjgsIDc1LCA3OSwgNzEsIDcyLCA3OSwgNzcsIDEyOCwgCi0gICAgNzUsIDc5LCA2OSwgODQsIDEyOCwgNzUsIDc5LCA2NSwgNzYsIDY1LCAxMjgsIDc1LCA3OSwgNjUsIDEyOCwgNzUsIDc4LCAKLSAgICA3MywgNzEsIDcyLCA4NCwgMTI4LCA3NSwgNzgsIDczLCA3MSwgNzIsIDIxMiwgNzUsIDc4LCA3MywgNzAsIDY5LCAxMjgsIAotICAgIDc1LCA3OCwgNzMsIDcwLCAxOTcsIDc1LCA3NywgMTI4LCA3NSwgMjA1LCA3NSwgNzYsIDczLCA4NCwgNzksIDc4LCAxMjgsIAotICAgIDc1LCA3NiwgNjUsIDgzLCA3NywgNjUsIDEyOCwgNzUsIDc2LCA2NSwgODMsIDc3LCAxOTMsIDc1LCA3NiwgNjUsIDEyOCwgCi0gICAgNzUsIDc2LCAxMjgsIDc1LCA3NSwgODUsIDEyOCwgNzUsIDc1LCA3OSwgMTI4LCA3NSwgNzUsIDczLCAxMjgsIDc1LCA3NSwgCi0gICAgNjksIDY5LCAxMjgsIDc1LCA3NSwgNjksIDEyOCwgNzUsIDc1LCA2NSwgMTI4LCA3NSwgNzUsIDEyOCwgNzUsIDc0LCA2OSwgCi0gICAgMTI4LCA3NSwgNzMsIDg5LCA2OSwgNzksIDc1LCA0NSwgODQsIDczLCA3NSwgNjksIDg1LCA4NCwgMTI4LCA3NSwgNzMsIDg5LCAKLSAgICA2OSwgNzksIDc1LCA0NSwgODMsIDczLCA3OSwgODMsIDQ1LCA3NSwgNzMsIDg5LCA2OSwgNzksIDc1LCAxMjgsIDc1LCA3MywgCi0gICAgODksIDY5LCA3OSwgNzUsIDQ1LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDEyOCwgNzUsIDczLCA4OSwgNjksIDc5LCA3NSwgNDUsIAotICAgIDgwLCA3MywgNjksIDg1LCA4MCwgMTI4LCA3NSwgNzMsIDg5LCA2OSwgNzksIDc1LCA0NSwgNzgsIDczLCA2OSwgODUsIDc4LCAKLSAgICAxMjgsIDc1LCA3MywgODksIDY5LCA3OSwgNzUsIDQ1LCA3NSwgNzIsIDczLCA2OSwgODUsIDc1LCA3MiwgMTI4LCA3NSwgNzMsIAotICAgIDg5LCA2OSwgNzksIDc1LCA0NSwgNjcsIDcyLCA3MywgNjksIDg1LCA2NywgNzIsIDEyOCwgNzUsIDczLCA4OSwgNjksIDc5LCAKLSAgICAyMDMsIDc1LCA3MywgODgsIDEyOCwgNzUsIDczLCA4NCwgMTI4LCA3NSwgNzMsIDgzLCA4MywgNzMsIDc4LCAxOTksIDc1LCAKLSAgICA3MywgODMsIDgzLCAxMjgsIDc1LCA3MywgODMsIDIxMSwgNzUsIDczLCA4MywgNzMsIDc3LCA1MywgMTI4LCA3NSwgNzMsIAotICAgIDgzLCA3MywgNzcsIDE4MSwgNzUsIDczLCA4MywgNzIsIDEyOCwgNzUsIDczLCA4MywgNjUsIDc2LCAxMjgsIDc1LCA3MywgCi0gICAgODIsIDc5LCA4NywgNjUsIDg0LCA4NCwgNzksIDEyOCwgNzUsIDczLCA4MiwgNzksIDc3LCA2OSwgNjksIDg0LCA3OSwgODIsIAotICAgIDg1LCAxMjgsIDc1LCA3MywgODIsIDc5LCA3MSwgODUsIDgyLCA2NSwgNzcsIDg1LCAxMjgsIDc1LCA3MywgODIsIDc5LCAKLSAgICAxMjgsIDc1LCA3MywgODIsIDcxLCA3MiwgNzMsIDIxOCwgNzUsIDczLCA4MSwgMTI4LCA3NSwgNzMsIDgwLCAxMjgsIDc1LCAKLSAgICA3MywgMjA4LCA3NSwgNzMsIDc4LCA4MywgNzIsIDczLCA4MCwgMTI4LCA3NSwgNzMsIDc4LCA2OCwgNjksIDgyLCA3MSwgNjUsIAotICAgIDgyLCA4NCwgNjksIDc4LCAxMjgsIDc1LCA3MywgNzcsIDc5LCA3OCwgNzksIDEyOCwgNzUsIDczLCA3MywgMTI4LCA3NSwgCi0gICAgNzMsIDcyLCAxMjgsIDc1LCA3MywgNjksIDg4LCAxMjgsIDc1LCA3MywgNjksIDgwLCAxMjgsIDc1LCA3MywgNjksIDY5LCAKLSAgICA3NywgMTI4LCA3NSwgNzMsIDY5LCAxMjgsIDc1LCA3MywgNjgsIDEyOCwgNzUsIDczLCAxOTYsIDc1LCA3MywgNjcsIDc1LCAKLSAgICAxMjgsIDc1LCA3MiwgOTAsIDEyOCwgNzUsIDcyLCA4NywgNjUsIDczLCAxMjgsIDc1LCA3MiwgODUsIDY5LCA3OCwgNDUsIAotICAgIDc2LCA4NSwgMTk3LCA3NSwgNzIsIDg1LCA2OSwgMjA2LCA3NSwgNzIsIDg1LCA2OCwgNjUsIDc3LCAxMjgsIDc1LCA3MiwgCi0gICAgODUsIDY1LCA4NCwgMTI4LCA3NSwgNzIsIDc5LCA4NSwgMTI4LCA3NSwgNzIsIDc5LCAyMTIsIDc1LCA3MiwgNzksIDc4LCAKLSAgICAxMjgsIDc1LCA3MiwgNzksIDc3LCA4NSwgODQsIDEyOCwgNzUsIDcyLCA3OSwgMTI4LCA3NSwgNzIsIDIwNywgNzUsIDcyLCAKLSAgICA3NywgMjEzLCA3NSwgNzIsIDczLCA4NCwgMTI4LCA3NSwgNzIsIDczLCA3OCwgODksIDY1LCAxMjgsIDc1LCA3MiwgNzMsIAotICAgIDY5LCA4NSwgNzUsIDIwMCwgNzUsIDcyLCA3MywgMTI4LCA3NSwgNzIsIDcyLCA3OSwgMTI4LCA3NSwgNzIsIDcyLCA2NSwgCi0gICAgMTI4LCA3NSwgNzIsIDY5LCA4NCwgNzIsIDEyOCwgNzUsIDcyLCA2OSwgNzMsIDEyOCwgNzUsIDcyLCA2OSwgNjksIDEyOCwgCi0gICAgNzUsIDcyLCA2OSwgMTI4LCA3NSwgNzIsIDY1LCA4MiwgNzksIDgzLCA3MiwgODQsIDcyLCAyMDEsIDc1LCA3MiwgNjUsIDgyLCAKLSAgICAxMjgsIDc1LCA3MiwgNjUsIDgwLCA3MiwgMTI4LCA3NSwgNzIsIDY1LCA3OCwgMTk5LCA3NSwgNzIsIDY1LCA3OCwgNjgsIAotICAgIDE5MywgNzUsIDcyLCA2NSwgNzgsIDEyOCwgNzUsIDcyLCA2NSwgNzcsIDg0LCAyMDEsIDc1LCA3MiwgNjUsIDc1LCA2NSwgCi0gICAgODMsIDgzLCA3MywgNjUsIDIwNiwgNzUsIDcyLCA2NSwgNzMsIDEyOCwgNzUsIDcyLCA2NSwgNzIsIDEyOCwgNzUsIDcyLCAKLSAgICA2NSwgMjAwLCA3NSwgNzIsIDY1LCA2NSwgMTI4LCA3NSwgNzEsIDEyOCwgNzUsIDY5LCA4OSwgNjcsIDY1LCA4MCwgMTI4LCAKLSAgICA3NSwgNjksIDg5LCA2NywgNjUsIDIwOCwgNzUsIDY5LCA4OSwgNjYsIDc5LCA2NSwgODIsIDY4LCAxMjgsIDc1LCA2OSwgODgsIAotICAgIDEyOCwgNzUsIDY5LCA4NSwgODksIDY5LCA4NSwgODgsIDEyOCwgNzUsIDY5LCA4NSwgODMsIDcyLCA2OSwgODUsIDY1LCA2OSwgCi0gICAgODAsIDEyOCwgNzUsIDY5LCA4NSwgODMsIDY5LCA4NSwgODgsIDEyOCwgNzUsIDY5LCA4NSwgODAsIDg1LCA4MSwgMTI4LCAKLSAgICA3NSwgNjksIDg1LCA3OSwgMjEyLCA3NSwgNjksIDg1LCA3NywgMTI4LCA3NSwgNjksIDg1LCA3NSwgNjksIDg1LCA4NCwgNzgsIAotICAgIDY4LCA2NSwgMTI4LCA3NSwgNjksIDg1LCA3NSwgNjUsIDgxLCAxMjgsIDc1LCA2OSwgODUsIDY1LCA2OSwgODQsIDc3LCA2OSwgCi0gICAgODUsIDc4LCAxMjgsIDc1LCA2OSwgODUsIDY1LCA2OSwgODIsIDczLCAxMjgsIDc1LCA2OSwgODQsIDg0LCAyMDEsIDc1LCAKLSAgICA2OSwgODMsIDcyLCA1MCwgMTI4LCA3NSwgNjksIDgyLCA2OSwgODQsIDEyOCwgNzUsIDY5LCA3OSwgODcsIDEyOCwgNzUsIAotICAgIDY5LCA3OCwgODQsIDczLCA3NywgNjUsIDg0LCA2NSwgMTI4LCA3NSwgNjksIDc4LCA4NCwgNzMsIDc3LCA2NSwgODQsIDE5MywgCi0gICAgNzUsIDY5LCA3OCwgODQsIDczLCA3NywgMTkzLCA3NSwgNjksIDc4LCA2NSwgODQsIDEyOCwgNzUsIDY5LCA3OCwgMTI4LCAKLSAgICA3NSwgNjksIDIwNiwgNzUsIDY5LCA3NywgODAsIDg1LCA3NiwgMTI4LCA3NSwgNjksIDc3LCA4MCwgODUsIDIwNCwgNzUsIAotICAgIDY5LCA3NywgODAsIDc2LCA3MywgMTI4LCA3NSwgNjksIDc3LCA4MCwgNzYsIDIwMSwgNzUsIDY5LCA3NywgODAsIDcyLCA4MiwgCi0gICAgNjksIDc4LCA3MSwgMTI4LCA3NSwgNjksIDc3LCA2NiwgNjUsIDc4LCA3MSwgMTI4LCA3NSwgNjksIDc2LCA4NiwgNzMsIAotICAgIDIwNiwgNzUsIDY5LCA3MiwgNjksIDcyLCAxMjgsIDc1LCA2OSwgNzIsIDY5LCAyMDAsIDc1LCA2OSwgNzIsIDEyOCwgNzUsIAotICAgIDY5LCA3MCwgODUsIDc2LCA2NSwgMTI4LCA3NSwgNjksIDY5LCA4MywgODUsIDEyOCwgNzUsIDY5LCA2OSwgODAsIDczLCA3OCwgCi0gICAgMTk5LCA3NSwgNjksIDY5LCA3OCwgNzEsIDEyOCwgNzUsIDY3LCA2NSwgNzYsIDEyOCwgNzUsIDY2LCAxMjgsIDc1LCA2NSwgCi0gICAgOTAsIDY1LCA3NSwgMjAwLCA3NSwgNjUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA3NSwgNjUsIDg5LCA2NSwgMjAwLCAKLSAgICA3NSwgNjUsIDg4LCAxMjgsIDc1LCA2NSwgODcsIDczLCAxMjgsIDc1LCA2NSwgODYsIDg5LCA3NSwgNjUsIDEyOCwgNzUsIAotICAgIDY1LCA4NSwgNzgsIDY1LCAxMjgsIDc1LCA2NSwgODUsIDIwNiwgNzUsIDY1LCA4NSwgMTI4LCA3NSwgNjUsIDg0LCA3OSwgCi0gICAgMTI4LCA3NSwgNjUsIDg0LCA3MiwgNzMsIDgzLCA4NCwgNzMsIDEyOCwgNzUsIDY1LCA4NCwgNzIsIDY1LCA3NSwgMTkzLCAKLSAgICA3NSwgNjUsIDg0LCA2NSwgODYsIDY1LCA4MywgNzcsIDY1LCAxMjgsIDc1LCA2NSwgODQsIDY1LCA4NiwgMTkzLCA3NSwgNjUsIAotICAgIDg0LCA2NSwgNzUsIDY1LCA3OCwgNjUsIDQ1LCA3MiwgNzMsIDgyLCA2NSwgNzEsIDY1LCA3OCwgMTkzLCA3NSwgNjUsIDgzLCAKLSAgICA4MiwgNjUsIDg0LCA2NSwgNzgsIDEyOCwgNzUsIDY1LCA4MywgODIsIDY1LCA4NCwgNjUsIDIwNiwgNzUsIDY1LCA4MywgODIsIAotICAgIDY1LCAxMjgsIDc1LCA2NSwgODMsIDgyLCAxOTMsIDc1LCA2NSwgODMsIDc1LCA2NSwgNzYsIDEyOCwgNzUsIDY1LCA4MywgCi0gICAgNzUsIDY1LCAyMDQsIDc1LCA2NSwgODMsIDcyLCA3NywgNzMsIDgyLCAyMDEsIDc1LCA2NSwgODIsIDgzLCA3MiwgNjUsIDc4LCAKLSAgICA2NSwgMTI4LCA3NSwgNjUsIDgyLCA3OSwgODIsIDczLCA3MywgMTI4LCA3NSwgNjUsIDgyLCAyMDcsIDc1LCA2NSwgODIsIAotICAgIDY5LCAyMDYsIDc1LCA2NSwgODIsIDY1LCA4NCwgODQsIDc5LCAxMjgsIDc1LCA2NSwgODIsIDY1LCA3OCwgMTI4LCA3NSwgCi0gICAgNjUsIDgwLCA4OSwgNjksIDc5LCA4NSwgNzgsIDgzLCA4MywgNjUsIDc4LCA3MSwgODAsIDczLCA2OSwgODUsIDgwLCAxMjgsIAotICAgIDc1LCA2NSwgODAsIDg5LCA2OSwgNzksIDg1LCA3OCwgODIsIDczLCA2OSwgODUsIDc2LCAxMjgsIDc1LCA2NSwgODAsIDg5LCAKLSAgICA2OSwgNzksIDg1LCA3OCwgODAsIDcyLCA3MywgNjksIDg1LCA4MCwgNzIsIDEyOCwgNzUsIDY1LCA4MCwgODksIDY5LCA3OSwgCi0gICAgODUsIDc4LCA3NywgNzMsIDY5LCA4NSwgNzcsIDEyOCwgNzUsIDY1LCA4MCwgODAsIDY1LCAxMjgsIDc1LCA2NSwgODAsIDgwLCAKLSAgICAxOTMsIDc1LCA2NSwgODAsIDc5LCAxMjgsIDc1LCA2NSwgODAsIDcyLCAxMjgsIDc1LCA2NSwgODAsIDY1LCA3NiwgMTI4LCAKLSAgICA3NSwgNjUsIDgwLCA2NSwgMTI4LCA3NSwgNjUsIDc4LCA4NCwgNjUsIDc0LCAxOTMsIDc1LCA2NSwgNzgsIDcxLCAxMjgsIAotICAgIDc1LCA2NSwgNzgsIDE5OSwgNzUsIDY1LCA3OCwgNjUsIDc1LCA3OSwgMTI4LCA3NSwgNjUsIDc3LCA1MiwgMTI4LCA3NSwgCi0gICAgNjUsIDc3LCA1MCwgMTI4LCA3NSwgNjUsIDc3LCAxMjgsIDc1LCA2NSwgNzUsIDc5LCAxMjgsIDc1LCA2NSwgNzUsIDY1LCAKLSAgICA2NiwgNjUsIDg0LCAxMjgsIDc1LCA2NSwgNzUsIDEyOCwgNzUsIDY1LCAyMDMsIDc1LCA2NSwgNzMsIDg0LCA3MiwgMjAxLCAKLSAgICA3NSwgNjUsIDczLCA4MiwgNzMsIDEyOCwgNzUsIDY1LCA3MywgMTI4LCA3NSwgNjUsIDIwMSwgNzUsIDY1LCA3MCwgNjUsIAotICAgIDEyOCwgNzUsIDY1LCA3MCwgMTI4LCA3NSwgNjUsIDE5OCwgNzUsIDY1LCA2OCwgNTMsIDEyOCwgNzUsIDY1LCA2OCwgMTgxLCAKLSAgICA3NSwgNjUsIDY4LCA1MiwgMTI4LCA3NSwgNjUsIDY4LCA1MSwgMTI4LCA3NSwgNjUsIDY4LCAxNzksIDc1LCA2NSwgNjgsIAotICAgIDUwLCAxMjgsIDc1LCA2NSwgNjgsIDEyOCwgNzUsIDY1LCA2NiwgMTkzLCA3NSwgNjUsIDY2LCAxMjgsIDc1LCA2NSwgNjUsIAotICAgIDczLCAxMjgsIDc1LCA2NSwgNjUsIDcwLCA4NSwgMTI4LCA3NSwgNjUsIDY1LCA3MCwgMTI4LCA3NSwgNjUsIDUwLCAxMjgsIAorICAgIDc1LCA3OSwgNjksIDg0LCAxMjgsIDc1LCA3OSwgNjYsIDEyOCwgNzUsIDc5LCA2NSwgNzYsIDY1LCAxMjgsIDc1LCA3OSwgCisgICAgNjUsIDEyOCwgNzUsIDc4LCA3OSwgNjYsIDgzLCAxMjgsIDc1LCA3OCwgNzMsIDcxLCA3MiwgODQsIDEyOCwgNzUsIDc4LCAKKyAgICA3MywgNzEsIDcyLCAyMTIsIDc1LCA3OCwgNzMsIDcwLCA2OSwgMTI4LCA3NSwgNzgsIDczLCA3MCwgMTk3LCA3NSwgNzcsIAorICAgIDEyOCwgNzUsIDIwNSwgNzUsIDc2LCA3MywgODQsIDc5LCA3OCwgMTI4LCA3NSwgNzYsIDY1LCA4MywgNzcsIDY1LCAxMjgsIAorICAgIDc1LCA3NiwgNjUsIDgzLCA3NywgMTkzLCA3NSwgNzYsIDY1LCAxMjgsIDc1LCA3NiwgMTI4LCA3NSwgNzUsIDg1LCAxMjgsIAorICAgIDc1LCA3NSwgNzksIDEyOCwgNzUsIDc1LCA3MywgMTI4LCA3NSwgNzUsIDY5LCA2OSwgMTI4LCA3NSwgNzUsIDY5LCAxMjgsIAorICAgIDc1LCA3NSwgNjUsIDEyOCwgNzUsIDc1LCAxMjgsIDc1LCA3NCwgNjksIDEyOCwgNzUsIDczLCA4OSwgNjksIDc5LCA3NSwgCisgICAgNDUsIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIDEyOCwgNzUsIDczLCA4OSwgNjksIDc5LCA3NSwgNDUsIDgzLCA3MywgNzksIAorICAgIDgzLCA0NSwgNzUsIDczLCA4OSwgNjksIDc5LCA3NSwgMTI4LCA3NSwgNzMsIDg5LCA2OSwgNzksIDc1LCA0NSwgODIsIDczLCAKKyAgICA2OSwgODUsIDc2LCAxMjgsIDc1LCA3MywgODksIDY5LCA3OSwgNzUsIDQ1LCA4MCwgNzMsIDY5LCA4NSwgODAsIDEyOCwgNzUsIAorICAgIDczLCA4OSwgNjksIDc5LCA3NSwgNDUsIDc4LCA3MywgNjksIDg1LCA3OCwgMTI4LCA3NSwgNzMsIDg5LCA2OSwgNzksIDc1LCAKKyAgICA0NSwgNzUsIDcyLCA3MywgNjksIDg1LCA3NSwgNzIsIDEyOCwgNzUsIDczLCA4OSwgNjksIDc5LCA3NSwgNDUsIDY3LCA3MiwgCisgICAgNzMsIDY5LCA4NSwgNjcsIDcyLCAxMjgsIDc1LCA3MywgODksIDY5LCA3OSwgMjAzLCA3NSwgNzMsIDg4LCAxMjgsIDc1LCAKKyAgICA3MywgODcsIDEyOCwgNzUsIDczLCA4NiwgMTI4LCA3NSwgNzMsIDg0LCAxMjgsIDc1LCA3MywgODMsIDgzLCA3MywgNzgsIAorICAgIDE5OSwgNzUsIDczLCA4MywgODMsIDEyOCwgNzUsIDczLCA4MywgMjExLCA3NSwgNzMsIDgzLCA3MywgNzcsIDUzLCAxMjgsIAorICAgIDc1LCA3MywgODMsIDczLCA3NywgMTgxLCA3NSwgNzMsIDgzLCA3MiwgMTI4LCA3NSwgNzMsIDgzLCA2NSwgNzYsIDEyOCwgCisgICAgNzUsIDczLCA4MiwgNzksIDg3LCA2NSwgODQsIDg0LCA3OSwgMTI4LCA3NSwgNzMsIDgyLCA3OSwgNzcsIDY5LCA2OSwgODQsIAorICAgIDc5LCA4MiwgODUsIDEyOCwgNzUsIDczLCA4MiwgNzksIDcxLCA4NSwgODIsIDY1LCA3NywgODUsIDEyOCwgNzUsIDczLCA4MiwgCisgICAgNzksIDEyOCwgNzUsIDczLCA4MiwgNzEsIDcyLCA3MywgMjE4LCA3NSwgNzMsIDgxLCAxMjgsIDc1LCA3MywgODAsIDEyOCwgCisgICAgNzUsIDczLCAyMDgsIDc1LCA3MywgNzgsIDgzLCA3MiwgNzMsIDgwLCAxMjgsIDc1LCA3MywgNzgsIDY4LCA2OSwgODIsIDcxLCAKKyAgICA2NSwgODIsIDg0LCA2OSwgNzgsIDEyOCwgNzUsIDczLCA3NywgNzksIDc4LCA3OSwgMTI4LCA3NSwgNzMsIDczLCAxMjgsIAorICAgIDc1LCA3MywgNzIsIDEyOCwgNzUsIDczLCA2OSwgODgsIDEyOCwgNzUsIDczLCA2OSwgODAsIDEyOCwgNzUsIDczLCA2OSwgCisgICAgNjksIDc3LCAxMjgsIDc1LCA3MywgNjksIDEyOCwgNzUsIDczLCA2OCwgMTI4LCA3NSwgNzMsIDE5NiwgNzUsIDczLCA2NywgCisgICAgNzUsIDEyOCwgNzUsIDczLCA2NiwgMTI4LCA3NSwgNzMsIDY1LCA4NiwgMTI4LCA3NSwgNzMsIDY1LCA2NiwgMTI4LCA3NSwgCisgICAgNzIsIDkwLCAxMjgsIDc1LCA3MiwgODcsIDY1LCA3MywgMTI4LCA3NSwgNzIsIDg1LCA2OSwgNzgsIDQ1LCA3NiwgODUsIAorICAgIDE5NywgNzUsIDcyLCA4NSwgNjksIDIwNiwgNzUsIDcyLCA4NSwgNjgsIDY1LCA4NywgNjUsIDY4LCAyMDEsIDc1LCA3MiwgCisgICAgODUsIDY4LCA2NSwgNzcsIDEyOCwgNzUsIDcyLCA4NSwgNjUsIDg0LCAxMjgsIDc1LCA3MiwgNzksIDg1LCAxMjgsIDc1LCAKKyAgICA3MiwgNzksIDIxMiwgNzUsIDcyLCA3OSwgNzgsIDEyOCwgNzUsIDcyLCA3OSwgNzcsIDg1LCA4NCwgMTI4LCA3NSwgNzIsIAorICAgIDc5LCA3NCwgNzUsIDIwMSwgNzUsIDcyLCA3OSwgMTI4LCA3NSwgNzIsIDIwNywgNzUsIDcyLCA3NywgMjEzLCA3NSwgNzIsIAorICAgIDczLCA4NCwgMTI4LCA3NSwgNzIsIDczLCA3OCwgODksIDY1LCAxMjgsIDc1LCA3MiwgNzMsIDY5LCA4NSwgNzUsIDIwMCwgCisgICAgNzUsIDcyLCA3MywgMTI4LCA3NSwgNzIsIDIwMSwgNzUsIDcyLCA3MiwgNzksIDEyOCwgNzUsIDcyLCA3MiwgNjUsIDEyOCwgCisgICAgNzUsIDcyLCA2OSwgODQsIDcyLCAxMjgsIDc1LCA3MiwgNjksIDczLCAxMjgsIDc1LCA3MiwgNjksIDY5LCAxMjgsIDc1LCAKKyAgICA3MiwgNjksIDEyOCwgNzUsIDcyLCA2NSwgODYsIDEyOCwgNzUsIDcyLCA2NSwgODIsIDc5LCA4MywgNzIsIDg0LCA3MiwgCisgICAgMjAxLCA3NSwgNzIsIDY1LCA4MiwgMTI4LCA3NSwgNzIsIDY1LCA4MCwgNzIsIDEyOCwgNzUsIDcyLCA2NSwgNzgsIDE5OSwgCisgICAgNzUsIDcyLCA2NSwgNzgsIDY4LCAxOTMsIDc1LCA3MiwgNjUsIDc4LCAxMjgsIDc1LCA3MiwgNjUsIDc3LCA4NCwgMjAxLCAKKyAgICA3NSwgNzIsIDY1LCA3NSwgNjUsIDgzLCA4MywgNzMsIDY1LCAyMDYsIDc1LCA3MiwgNjUsIDczLCAxMjgsIDc1LCA3MiwgNjUsIAorICAgIDcyLCAxMjgsIDc1LCA3MiwgNjUsIDIwMCwgNzUsIDcyLCA2NSwgNjYsIDEyOCwgNzUsIDcyLCA2NSwgNjUsIDEyOCwgNzUsIAorICAgIDcxLCAxMjgsIDc1LCA2OSwgODksIDY3LCA2NSwgODAsIDEyOCwgNzUsIDY5LCA4OSwgNjcsIDY1LCAyMDgsIDc1LCA2OSwgCisgICAgODksIDY2LCA3OSwgNjUsIDgyLCA2OCwgMTI4LCA3NSwgNjksIDg5LCA2NiwgNzksIDY1LCA4MiwgMTk2LCA3NSwgNjksIDg4LCAKKyAgICAxMjgsIDc1LCA2OSwgODYsIDEyOCwgNzUsIDY5LCA4NSwgODksIDY5LCA4NSwgODgsIDEyOCwgNzUsIDY5LCA4NSwgODMsIAorICAgIDcyLCA2OSwgODUsIDY1LCA2OSwgODAsIDEyOCwgNzUsIDY5LCA4NSwgODMsIDY5LCA4NSwgODgsIDEyOCwgNzUsIDY5LCA4NSwgCisgICAgODAsIDg1LCA4MSwgMTI4LCA3NSwgNjksIDg1LCA3OSwgMjEyLCA3NSwgNjksIDg1LCA3NywgMTI4LCA3NSwgNjksIDg1LCAKKyAgICA3NSwgNjksIDg1LCA4NCwgNzgsIDY4LCA2NSwgMTI4LCA3NSwgNjksIDg1LCA3NSwgNjUsIDgxLCAxMjgsIDc1LCA2OSwgODUsIAorICAgIDY1LCA2OSwgODQsIDc3LCA2OSwgODUsIDc4LCAxMjgsIDc1LCA2OSwgODUsIDY1LCA2OSwgODIsIDczLCAxMjgsIDc1LCA2OSwgCisgICAgODQsIDg0LCAyMDEsIDc1LCA2OSwgODMsIDcyLCA1MCwgMTI4LCA3NSwgNjksIDgyLCA2OSwgODQsIDEyOCwgNzUsIDY5LCAKKyAgICA3OSwgODcsIDEyOCwgNzUsIDY5LCA3OCwgODQsIDczLCA3NywgNjUsIDg0LCA2NSwgMTI4LCA3NSwgNjksIDc4LCA4NCwgNzMsIAorICAgIDc3LCA2NSwgODQsIDE5MywgNzUsIDY5LCA3OCwgODQsIDczLCA3NywgMTkzLCA3NSwgNjksIDc4LCA2NSwgODQsIDEyOCwgCisgICAgNzUsIDY5LCA3OCwgMTI4LCA3NSwgNjksIDIwNiwgNzUsIDY5LCA3NywgODAsIDg1LCA3NiwgMTI4LCA3NSwgNjksIDc3LCAKKyAgICA4MCwgODUsIDIwNCwgNzUsIDY5LCA3NywgODAsIDc2LCA3MywgMTI4LCA3NSwgNjksIDc3LCA4MCwgNzYsIDIwMSwgNzUsIAorICAgIDY5LCA3NywgODAsIDcyLCA4MiwgNjksIDc4LCA3MSwgMTI4LCA3NSwgNjksIDc3LCA2NiwgNjUsIDc4LCA3MSwgMTI4LCA3NSwgCisgICAgNjksIDc2LCA4NiwgNzMsIDIwNiwgNzUsIDY5LCA3MiwgNjksIDcyLCAxMjgsIDc1LCA2OSwgNzIsIDY5LCAyMDAsIDc1LCAKKyAgICA2OSwgNzIsIDEyOCwgNzUsIDY5LCA3MCwgODUsIDc2LCA2NSwgMTI4LCA3NSwgNjksIDY5LCA4NiwgMTI4LCA3NSwgNjksIAorICAgIDY5LCA4MywgODUsIDEyOCwgNzUsIDY5LCA2OSwgODAsIDczLCA3OCwgMTk5LCA3NSwgNjksIDY5LCA3OCwgNzEsIDEyOCwgCisgICAgNzUsIDY5LCA2OSwgNjYsIDEyOCwgNzUsIDY5LCA2NiwgMTI4LCA3NSwgNjksIDY1LCA2NSwgNjksIDEyOCwgNzUsIDY3LCAKKyAgICA2NSwgNzYsIDEyOCwgNzUsIDY2LCAxMjgsIDc1LCA2NSwgOTAsIDY1LCA3NSwgMjAwLCA3NSwgNjUsIDg5LCA2NSwgNzgsIAorICAgIDc4LCA2NSwgMTI4LCA3NSwgNjUsIDg5LCA2NSwgMjAwLCA3NSwgNjUsIDg4LCAxMjgsIDc1LCA2NSwgODcsIDg2LCAxMjgsIAorICAgIDc1LCA2NSwgODcsIDczLCAxMjgsIDc1LCA2NSwgODcsIDY2LCAxMjgsIDc1LCA2NSwgODYsIDg5LCA3NSwgNjUsIDEyOCwgCisgICAgNzUsIDY1LCA4NiwgMTI4LCA3NSwgNjUsIDg1LCA4NiwgMTI4LCA3NSwgNjUsIDg1LCA3OCwgNjUsIDEyOCwgNzUsIDY1LCAKKyAgICA4NSwgMjA2LCA3NSwgNjUsIDg1LCA2NiwgMTI4LCA3NSwgNjUsIDg0LCA3OSwgMTI4LCA3NSwgNjUsIDg0LCA3MiwgNzMsIAorICAgIDgzLCA4NCwgNzMsIDEyOCwgNzUsIDY1LCA4NCwgNzIsIDY1LCA3NSwgMTkzLCA3NSwgNjUsIDg0LCA2NSwgODYsIDY1LCA4MywgCisgICAgNzcsIDY1LCAxMjgsIDc1LCA2NSwgODQsIDY1LCA4NiwgMTkzLCA3NSwgNjUsIDg0LCA2NSwgNzUsIDY1LCA3OCwgNjUsIDQ1LCAKKyAgICA3MiwgNzMsIDgyLCA2NSwgNzEsIDY1LCA3OCwgMTkzLCA3NSwgNjUsIDgzLCA4MiwgNjUsIDg0LCA2NSwgNzgsIDEyOCwgNzUsIAorICAgIDY1LCA4MywgODIsIDY1LCA4NCwgNjUsIDIwNiwgNzUsIDY1LCA4MywgODIsIDY1LCAxMjgsIDc1LCA2NSwgODMsIDgyLCAKKyAgICAxOTMsIDc1LCA2NSwgODMsIDc1LCA2NSwgNzYsIDEyOCwgNzUsIDY1LCA4MywgNzUsIDY1LCAyMDQsIDc1LCA2NSwgODMsIAorICAgIDcyLCA3NywgNzMsIDgyLCAyMDEsIDc1LCA2NSwgODIsIDgzLCA3MiwgNjUsIDc4LCA2NSwgMTI4LCA3NSwgNjUsIDgyLCA3OSwgCisgICAgODIsIDczLCA3MywgMTI4LCA3NSwgNjUsIDgyLCAyMDcsIDc1LCA2NSwgODIsIDY5LCAyMDYsIDc1LCA2NSwgODIsIDY1LCAKKyAgICA4NCwgODQsIDc5LCAxMjgsIDc1LCA2NSwgODIsIDY1LCA3OCwgMTI4LCA3NSwgNjUsIDgwLCA4OSwgNjksIDc5LCA4NSwgNzgsIAorICAgIDgzLCA4MywgNjUsIDc4LCA3MSwgODAsIDczLCA2OSwgODUsIDgwLCAxMjgsIDc1LCA2NSwgODAsIDg5LCA2OSwgNzksIDg1LCAKKyAgICA3OCwgODIsIDczLCA2OSwgODUsIDc2LCAxMjgsIDc1LCA2NSwgODAsIDg5LCA2OSwgNzksIDg1LCA3OCwgODAsIDcyLCA3MywgCisgICAgNjksIDg1LCA4MCwgNzIsIDEyOCwgNzUsIDY1LCA4MCwgODksIDY5LCA3OSwgODUsIDc4LCA3NywgNzMsIDY5LCA4NSwgNzcsIAorICAgIDEyOCwgNzUsIDY1LCA4MCwgODAsIDY1LCAxMjgsIDc1LCA2NSwgODAsIDgwLCAxOTMsIDc1LCA2NSwgODAsIDc5LCAxMjgsIAorICAgIDc1LCA2NSwgODAsIDcyLCAxMjgsIDc1LCA2NSwgODAsIDY1LCA3NiwgMTI4LCA3NSwgNjUsIDgwLCA2NSwgMTI4LCA3NSwgCisgICAgNjUsIDIwOCwgNzUsIDY1LCA3OCwgODQsIDY1LCA3NCwgMTkzLCA3NSwgNjUsIDc4LCA3MSwgMTI4LCA3NSwgNjUsIDc4LCAKKyAgICAxOTksIDc1LCA2NSwgNzgsIDY1LCA3NSwgNzksIDEyOCwgNzUsIDY1LCA3NywgNTIsIDEyOCwgNzUsIDY1LCA3NywgNTAsIAorICAgIDEyOCwgNzUsIDY1LCA3NywgMTI4LCA3NSwgNjUsIDc1LCA3OSwgMTI4LCA3NSwgNjUsIDc1LCA2NSwgNjYsIDY1LCA4NCwgCisgICAgMTI4LCA3NSwgNjUsIDc1LCAxMjgsIDc1LCA2NSwgMjAzLCA3NSwgNjUsIDczLCA4NiwgMTI4LCA3NSwgNjUsIDczLCA4NCwgCisgICAgNzIsIDIwMSwgNzUsIDY1LCA3MywgODIsIDczLCAxMjgsIDc1LCA2NSwgNzMsIDY2LCAxMjgsIDc1LCA2NSwgNzMsIDEyOCwgCisgICAgNzUsIDY1LCAyMDEsIDc1LCA2NSwgNzAsIDY1LCAxMjgsIDc1LCA2NSwgNzAsIDEyOCwgNzUsIDY1LCAxOTgsIDc1LCA2NSwgCisgICAgNjgsIDUzLCAxMjgsIDc1LCA2NSwgNjgsIDE4MSwgNzUsIDY1LCA2OCwgNTIsIDEyOCwgNzUsIDY1LCA2OCwgNTEsIDEyOCwgCisgICAgNzUsIDY1LCA2OCwgMTc5LCA3NSwgNjUsIDY4LCA1MCwgMTI4LCA3NSwgNjUsIDY4LCAxMjgsIDc1LCA2NSwgNjYsIDE5MywgCisgICAgNzUsIDY1LCA2NiwgMTI4LCA3NSwgNjUsIDY1LCA4NiwgMTI4LCA3NSwgNjUsIDY1LCA3MywgMTI4LCA3NSwgNjUsIDY1LCAKKyAgICA3MCwgODUsIDEyOCwgNzUsIDY1LCA2NSwgNzAsIDEyOCwgNzUsIDY1LCA2NSwgNjYsIDEyOCwgNzUsIDY1LCA1MCwgMTI4LCAKICAgICA3NSwgNjUsIDE3OCwgNzUsIDQ4LCA0OCwgNTYsIDEyOCwgNzUsIDQ4LCA0OCwgNTUsIDEyOCwgNzUsIDQ4LCA0OCwgNTQsIAogICAgIDEyOCwgNzUsIDQ4LCA0OCwgNTMsIDEyOCwgNzUsIDQ4LCA0OCwgNTIsIDEyOCwgNzUsIDQ4LCA0OCwgNTEsIDEyOCwgNzUsIAogICAgIDQ4LCA0OCwgNTAsIDEyOCwgNzUsIDQ4LCA0OCwgNDksIDEyOCwgNzQsIDg3LCA2NSwgMTI4LCA3NCwgODUsIDg1LCAxMjgsIApAQCAtMjMxOSwxNTA5ICsyNDg4LDE1MzggQEAKICAgICA3NCwgODUsIDgwLCA3MywgODQsIDY5LCA4MiwgMTI4LCA3NCwgODUsIDc5LCA4NCwgMTI4LCA3NCwgODUsIDc5LCA4MCwgCiAgICAgMTI4LCA3NCwgODUsIDc4LCA3OSwgMTI4LCA3NCwgODUsIDc4LCA2OSwgMTI4LCA3NCwgODUsIDc2LCA4OSwgMTI4LCA3NCwgCiAgICAgODUsIDY5LCA4NSwgNzMsIDEyOCwgNzQsIDg1LCA2OCwgODUsIDc2LCAxMjgsIDc0LCA4NSwgNjgsIDcxLCA2OSwgMTI4LCAKLSAgICA3NCwgODUsIDY4LCA2OSwgNzksIDQ1LCA4MywgODAsIDY1LCA3OCwgNzMsIDgzLCAyMDAsIDc0LCA3OSwgODksIDc5LCA4NSwgCi0gICAgMjExLCA3NCwgNzksIDg5LCAxMjgsIDc0LCA3OSwgODYsIDY5LCAxMjgsIDc0LCA3OSwgMjEyLCA3NCwgNzksIDc4LCA3MSwgCi0gICAgMTI4LCA3NCwgNzksIDc4LCAxOTMsIDc0LCA3OSwgNzUsIDY5LCA4MiwgMTI4LCA3NCwgNzksIDczLCA3OCwgNjksIDY4LCAKLSAgICAxMjgsIDc0LCA3OSwgNzMsIDc4LCAxMjgsIDc0LCA3OSwgNjUsIDEyOCwgNzQsIDc0LCA4OSwgODgsIDEyOCwgNzQsIDc0LCAKLSAgICA4OSwgODQsIDEyOCwgNzQsIDc0LCA4OSwgODAsIDEyOCwgNzQsIDc0LCA4OSwgMTI4LCA3NCwgNzQsIDg1LCA4OCwgMTI4LCAKLSAgICA3NCwgNzQsIDg1LCA4NCwgMTI4LCA3NCwgNzQsIDg1LCA4MiwgODgsIDEyOCwgNzQsIDc0LCA4NSwgODIsIDEyOCwgNzQsIAotICAgIDc0LCA4NSwgODAsIDEyOCwgNzQsIDc0LCA4NSwgNzksIDg4LCAxMjgsIDc0LCA3NCwgODUsIDc5LCA4MCwgMTI4LCA3NCwgCi0gICAgNzQsIDg1LCA3OSwgMTI4LCA3NCwgNzQsIDg1LCAxMjgsIDc0LCA3NCwgNzksIDg4LCAxMjgsIDc0LCA3NCwgNzksIDg0LCAKLSAgICAxMjgsIDc0LCA3NCwgNzksIDgwLCAxMjgsIDc0LCA3NCwgNzksIDEyOCwgNzQsIDc0LCA3MywgODgsIDEyOCwgNzQsIDc0LCAKLSAgICA3MywgODQsIDEyOCwgNzQsIDc0LCA3MywgODAsIDEyOCwgNzQsIDc0LCA3MywgNjksIDg4LCAxMjgsIDc0LCA3NCwgNzMsIAotICAgIDY5LCA4NCwgMTI4LCA3NCwgNzQsIDczLCA2OSwgODAsIDEyOCwgNzQsIDc0LCA3MywgNjksIDEyOCwgNzQsIDc0LCA3MywgCi0gICAgMTI4LCA3NCwgNzQsIDY5LCA2OSwgMTI4LCA3NCwgNzQsIDY5LCAxMjgsIDc0LCA3NCwgNjUsIDEyOCwgNzQsIDczLCA3NiwgCi0gICAgMTI4LCA3NCwgNzMsIDczLCAxMjgsIDc0LCA3MywgNzIsIDg2LCA2NSwgNzcsIDg1LCA3NiwgNzMsIDg5LCA2NSwgMTI4LCAKLSAgICA3NCwgNzMsIDY1LCAxMjgsIDc0LCA3MiwgNzksIDEyOCwgNzQsIDcyLCA2OSwgNzIsIDEyOCwgNzQsIDcyLCA2NSwgNzgsIAotICAgIDEyOCwgNzQsIDcyLCA2NSwgNzcsIDEyOCwgNzQsIDcyLCA2NSwgNjUsIDEyOCwgNzQsIDcyLCA2NSwgMTI4LCA3NCwgNjksIAotICAgIDg1LCAxMjgsIDc0LCA2OSwgODIsIDg1LCA4MywgNjUsIDc2LCA2OSwgNzcsIDEyOCwgNzQsIDY5LCA4MiwgNjUsIDIwNiwgCi0gICAgNzQsIDY5LCA4MiwgNjUsIDEyOCwgNzQsIDY5LCA4MiwgMTI4LCA3NCwgNjksIDcyLCAxMjgsIDc0LCA2OSwgMjAwLCA3NCwgCi0gICAgNjksIDcxLCA3OSwgNzEsIDY1LCA3OCwgMTI4LCA3NCwgNjksIDY5LCA3NywgMTI4LCA3NCwgNjksIDY1LCA3OCwgODMsIAotICAgIDEyOCwgNzQsIDY1LCA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgNzQsIDY1LCA4NiwgNzMsIDg5LCA2NSwgNzgsIDczLCAKLSAgICAxMjgsIDc0LCA2NSwgODUsIDEyOCwgNzQsIDY1LCA4MiwgMTI4LCA3NCwgNjUsIDgwLCA2NSwgNzgsIDY5LCA4MywgMTk3LCAKLSAgICA3NCwgNjUsIDgwLCA2NSwgNzgsIDEyOCwgNzQsIDY1LCA3OCwgODUsIDY1LCA4MiwgODksIDEyOCwgNzQsIDY1LCA3NiwgNzYsIAotICAgIDY1LCA3NCwgNjUsIDc2LCA2NSwgNzYsIDc5LCA4NSwgNzIsIDc5LCA4NSwgMTI4LCA3NCwgNjUsIDczLCAxMjgsIDc0LCA2NSwgCi0gICAgNzIsIDEyOCwgNzQsIDY1LCA2OCwgNjksIDEyOCwgNzQsIDY1LCA2NywgNzUsIDQ1LCA3OSwgNDUsIDc2LCA2NSwgNzgsIDg0LCAKLSAgICA2OSwgODIsIDc4LCAxMjgsIDc0LCA2NSwgNjcsIDIwMywgNzQsIDQ1LCA4MywgNzMsIDc3LCA4MCwgNzYsIDczLCA3MCwgNzMsIAotICAgIDY5LCAxOTYsIDIwMiwgNzMsIDkwLCA3MiwgNzMsIDg0LCA4MywgNjUsIDEyOCwgNzMsIDkwLCA3MiwgNzMsIDg0LCA4MywgCi0gICAgMTkzLCA3MywgOTAsIDcyLCA2OSwgMTI4LCA3MywgOTAsIDY1LCA3NSwgNjUsIDg5LCAxOTMsIDczLCA4OSwgNjksIDc1LCAKLSAgICAxMjgsIDczLCA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgNzMsIDg1LCA3NCwgNjUsIDEyOCwgNzMsIDg1LCAxMjgsIDczLCAKLSAgICA4NCwgMjExLCA3MywgODQsIDY5LCA4MiwgNjUsIDg0LCA3MywgNzksIDIwNiwgNzMsIDg0LCA2OSwgNzcsIDEyOCwgNzMsIAotICAgIDgzLCA4MywgNzIsIDY1LCA4MiwgMTI4LCA3MywgODMsIDc5LCA3OCwgMTI4LCA3MywgODMsIDc5LCAyMDYsIDczLCA4MywgCi0gICAgNzksIDc2LCA2NSwgODQsIDY5LCAxMjgsIDczLCA4MywgNjksIDc4LCA0NSwgNzMsIDgzLCA2OSwgNzgsIDEyOCwgNzMsIDgzLCAKLSAgICA2NSwgNzUsIDczLCAxOTMsIDczLCA4MywgNDUsIDgwLCA3MywgNzYsIDc2LCA2NSwgMTI4LCA3MywgODIsIDg1LCA4OSwgNjUsIAotICAgIDc4LCA3OCwgNjUsIDEyOCwgNzMsIDgyLCA4NSwgODUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA3MywgODIsIDc5LCA3OCwgCi0gICAgNDUsIDY3LCA3OSwgODAsIDgwLCA2OSwgMjEwLCA3MywgODIsIDc5LCA3OCwgMTI4LCA3MywgNzksIDg0LCA3MywgNzAsIDczLCAKLSAgICA2OSwgMTk2LCA3MywgNzksIDg0LCA2NSwgODQsIDY5LCAxOTYsIDczLCA3OSwgODQsIDY1LCAxMjgsIDczLCA3OSwgODQsIAotICAgIDE5MywgNzMsIDc5LCA4MiwgMTI4LCA3MywgNzksIDY4LCA3MiwgNjUsIDY4LCA3MiwgMTI4LCA3MywgNzgsIDg2LCA3MywgCi0gICAgODMsIDczLCA2NiwgNzYsIDE5NywgNzMsIDc4LCA4NiwgNjksIDgyLCA4NCwgNjksIDY4LCAxMjgsIDczLCA3OCwgODYsIDY5LCAKLSAgICA4MiwgODQsIDY5LCAxOTYsIDczLCA3OCwgODYsIDY5LCA4MiwgODMsIDE5NywgNzMsIDc4LCA4NCwgODIsIDc5LCA2OCwgODUsIAotICAgIDY3LCA2OSwgODIsIDEyOCwgNzMsIDc4LCA4NCwgNzMsIDEyOCwgNzMsIDc4LCA4NCwgNjksIDgyLCA4MywgODksIDc2LCA3NiwgCi0gICAgNjUsIDY2LCA3MywgMTk1LCA3MywgNzgsIDg0LCA2OSwgODIsIDgzLCA2OSwgNjcsIDg0LCA3MywgNzksIDc4LCAxMjgsIDczLCAKLSAgICA3OCwgODQsIDY5LCA4MiwgODMsIDY5LCA2NywgODQsIDczLCA3OSwgMjA2LCA3MywgNzgsIDg0LCA2OSwgODIsIDgzLCA2OSwgCi0gICAgNjcsIDg0LCA3MywgNzgsIDE5OSwgNzMsIDc4LCA4NCwgNjksIDgyLCA4MiwgNzksIDY2LCA2NSwgNzgsIDcxLCAxMjgsIDczLCAKLSAgICA3OCwgODQsIDY5LCA4MiwgODAsIDc5LCA3NiwgNjUsIDg0LCA3MywgNzksIDIwNiwgNzMsIDc4LCA4NCwgNjksIDgyLCA3NiwgCi0gICAgNzksIDY3LCA3NSwgNjksIDE5NiwgNzMsIDc4LCA4NCwgNjksIDgyLCA3NiwgNzMsIDc4LCA2OSwgNjUsIDIxMCwgNzMsIDc4LCAKLSAgICA4NCwgNjksIDgyLCA3NiwgNjUsIDY3LCA2OSwgMTk2LCA3MywgNzgsIDg0LCA2OSwgODIsIDczLCA3OSwgMjEwLCA3MywgNzgsIAotICAgIDg0LCA2OSwgODIsIDY5LCA4MywgMjEyLCA3MywgNzgsIDg0LCA2OSwgODIsIDY3LCA2NSwgNzYsIDY1LCA4NCwgNjksIDEyOCwgCi0gICAgNzMsIDc4LCA4NCwgNjksIDcxLCA4MiwgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDczLCA3OCwgODQsIDY5LCA3MSwgODIsIAotICAgIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDczLCA3OCwgODQsIDY5LCA3MSwgODIsIDY1LCA3NiwgMTI4LCA3MywgNzgsIDg0LCA2OSwgCi0gICAgNzEsIDgyLCA2NSwgMjA0LCA3MywgNzgsIDgzLCA4NSwgNzYsIDY1LCAyMTAsIDczLCA3OCwgODMsIDg0LCA4MiwgODUsIDc3LCAKLSAgICA2OSwgNzgsIDg0LCA2NSwgMjA0LCA3MywgNzgsIDgzLCA3MywgNjgsIDY5LCAxMjgsIDczLCA3OCwgODMsIDY5LCA4MiwgODQsIAotICAgIDczLCA3OSwgMjA2LCA3MywgNzgsIDgzLCA2OSwgNjcsIDg0LCAxMjgsIDczLCA3OCwgODMsIDY3LCA4MiwgNzMsIDgwLCA4NCwgCi0gICAgNzMsIDc5LCA3OCwgNjUsIDIwNCwgNzMsIDc4LCA4MCwgODUsIDIxMiwgNzMsIDc4LCA3OCwgNzksIDY3LCA2OSwgNzgsIDY3LCAKLSAgICA2OSwgMTI4LCA3MywgNzgsIDc4LCA3OCwgMTI4LCA3MywgNzgsIDc4LCA2OSwgODIsIDEyOCwgNzMsIDc4LCA3OCwgNjksIAotICAgIDIxMCwgNzMsIDc4LCA3OCwgMTI4LCA3MywgNzgsIDczLCA3OCwgNzEsIDg1LCAxMjgsIDczLCA3OCwgNzMsIDEyOCwgNzMsIAotICAgIDc4LCA3MiwgNzMsIDY2LCA3MywgMjEyLCA3MywgNzgsIDcyLCA2OSwgODIsIDY5LCA3OCwgMjEyLCA3MywgNzgsIDcxLCA4NywgCi0gICAgNjUsIDkwLCAxMjgsIDczLCA3OCwgNzAsIDc5LCA4MiwgNzcsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDczLCA3OCwgNzAsIDc2LCAKLSAgICA4NSwgNjksIDc4LCA2NywgNjksIDEyOCwgNzMsIDc4LCA3MCwgNzMsIDc4LCA3MywgODQsIDg5LCAxMjgsIDczLCA3OCwgNzAsIAotICAgIDczLCA3OCwgNzMsIDg0LCAyMTcsIDczLCA3OCwgNjgsIDg1LCA4MywgODQsIDgyLCA3MywgNjUsIDIwNCwgNzMsIDc4LCA2OCwgCi0gICAgNzMsIDgyLCA2OSwgNjcsIDIxMiwgNzMsIDc4LCA2OCwgNzMsIDY3LCA2NSwgODQsIDc5LCA4MiwgMTI4LCA3MywgNzgsIDY4LCAKLSAgICA3MywgNjcsIDY1LCA4NCwgNzksIDIxMCwgNzMsIDc4LCA2OCwgNzMsIDE5NSwgNzMsIDc4LCA2OCwgNzMsIDY1LCAyMDYsIAotICAgIDczLCA3OCwgNjgsIDY5LCA4OCwgMTI4LCA3MywgNzgsIDY4LCA2OSwgODAsIDY5LCA3OCwgNjgsIDY5LCA3OCwgMjEyLCA3MywgCi0gICAgNzgsIDY3LCA4MiwgNjksIDc3LCA2OSwgNzgsIDg0LCAxMjgsIDczLCA3OCwgNjcsIDgyLCA2OSwgNjUsIDgzLCA2OSwgMjExLCAKLSAgICA3MywgNzgsIDY3LCA4MiwgNjksIDY1LCA4MywgNjksIDEyOCwgNzMsIDc4LCA2NywgNzksIDc3LCA4MCwgNzYsIDY5LCA4NCwgCi0gICAgMTk3LCA3MywgNzgsIDY3LCA3OSwgNzcsIDczLCA3OCwgMTk5LCA3MywgNzgsIDY3LCA3NiwgODUsIDY4LCA3MywgNzgsIAotICAgIDE5OSwgNzMsIDc4LCA2NywgNzIsIDEyOCwgNzMsIDc4LCA2NiwgNzksIDIxNiwgNzMsIDc4LCA2NSwgODAsIDEyOCwgNzMsIAotICAgIDc4LCA0NSwgNjUsIDc2LCA2NSwgNzAsIDEyOCwgNzMsIDc3LCA4MCwgNjksIDgyLCA3MywgNjUsIDIwNCwgNzMsIDc3LCA4MCwgCi0gICAgNjksIDgyLCA3MCwgNjksIDY3LCA4NCwgODUsIDIwNSwgNzMsIDc3LCA4MCwgNjksIDgyLCA3MCwgNjksIDY3LCA4NCwgNjUsIAotICAgIDEyOCwgNzMsIDc3LCA4MCwgNjksIDgyLCA3MCwgNjksIDY3LCA4NCwgMTkzLCA3MywgNzcsIDc4LCAxMjgsIDczLCA3NywgCi0gICAgNzMsIDgzLCA2OSwgNzksIDIxMSwgNzMsIDc3LCA3MywgNzgsIDUxLCAxMjgsIDczLCA3NywgNzMsIDc4LCAxMjgsIDczLCAKLSAgICA3NywgNzMsIDIwNiwgNzMsIDc3LCA3MywgNzAsIDg0LCA3MiwgNzksIDgyLCA3OSwgNzgsIDEyOCwgNzMsIDc3LCA3MywgNzAsIAotICAgIDg0LCA3MiwgNzksIDgyLCA2NSwgMTI4LCA3MywgNzcsIDczLCA3MCwgNzksIDc4LCA3OSwgNzgsIDEyOCwgNzMsIDc3LCA3MywgCi0gICAgNjgsIDczLCA2NSwgODIsIDcxLCA3OSwgNzgsIDEyOCwgNzMsIDc3LCA2NSwgNzEsIDE5NywgNzMsIDc2LCA4NSwgODksIDY1LCAKLSAgICA3OCwgNzgsIDY1LCAxMjgsIDczLCA3NiwgODUsIDg5LCAxMjgsIDczLCA3NiwgODUsIDg1LCA4OSwgNjUsIDc4LCA3OCwgNjUsIAotICAgIDEyOCwgNzMsIDc2LCA4NSwgODQsIDEyOCwgNzMsIDc2LCA3MywgNzcsIDc3LCA4NSwgNTIsIDEyOCwgNzMsIDc2LCA3MywgCi0gICAgNzcsIDc3LCA4NSwgNTEsIDEyOCwgNzMsIDc2LCA3MywgNzcsIDc3LCA4NSwgMTI4LCA3MywgNzYsIDczLCA3NywgNzcsIAotICAgIDIxMywgNzMsIDc2LCA1MCwgMTI4LCA3MywgNzUsIDY1LCA4MiwgNjUsIDEyOCwgNzMsIDc1LCA2NSwgODIsIDE5MywgNzMsIAotICAgIDc0LCAxMjgsIDczLCA3MywgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDczLCA3MSwgNzMsIDEyOCwgNzMsIDcxLCAyMDEsIAotICAgIDczLCA3MSwgNzEsIDg3LCA4MywgMTI4LCA3MywgNzAsIDczLCA3OCwgMTI4LCA3MywgNjksIDg1LCA3OCwgNzEsIDQ1LCA4NCwgCi0gICAgNzMsIDc1LCA2OSwgODUsIDg0LCAxMjgsIDczLCA2OSwgODUsIDc4LCA3MSwgNDUsIDg0LCA3MiwgNzMsIDY5LCA4NSwgODQsIAotICAgIDcyLCAxMjgsIDczLCA2OSwgODUsIDc4LCA3MSwgNDUsIDgzLCA4MywgNjUsIDc4LCA3MSwgNzUsIDczLCA4OSwgNjksIDc5LCAKLSAgICA3NSwgMTI4LCA3MywgNjksIDg1LCA3OCwgNzEsIDQ1LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDEyOCwgNzMsIDY5LCA4NSwgNzgsIAotICAgIDcxLCA0NSwgODAsIDczLCA2OSwgODUsIDgwLCAxMjgsIDczLCA2OSwgODUsIDc4LCA3MSwgNDUsIDgwLCA3MiwgNzMsIDY5LCAKLSAgICA4NSwgODAsIDcyLCAxMjgsIDczLCA2OSwgODUsIDc4LCA3MSwgNDUsIDc1LCA3MywgODksIDY5LCA3OSwgNzUsIDEyOCwgNzMsIAotICAgIDY5LCA4NSwgNzgsIDcxLCA0NSwgNzUsIDcyLCA3MywgNjksIDg1LCA3NSwgNzIsIDEyOCwgNzMsIDY5LCA4NSwgNzgsIDcxLCAKLSAgICA0NSwgNjcsIDczLCA2OSwgODUsIDY3LCAxMjgsIDczLCA2OSwgODUsIDc4LCA3MSwgNDUsIDY3LCA3MiwgNzMsIDY5LCA4NSwgCi0gICAgNjcsIDcyLCAxMjgsIDczLCA2OSwgODUsIDc4LCAxOTksIDczLCA2OCwgNzYsIDY5LCAxMjgsIDczLCA2OCwgNzMsIDc3LCAKLSAgICAxMjgsIDczLCA2OCwgNzMsIDIwNSwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjgsIAotICAgIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY4LCA1NiwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2OCwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjgsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY4LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDY1LCA2OCwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjgsIAotICAgIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY4LCA1MCwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2OCwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjgsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY3LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDY1LCA2NywgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjcsIAotICAgIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY3LCA2NywgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NywgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjcsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY3LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDY1LCA2NywgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjcsIAotICAgIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY3LCA1NCwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NywgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjcsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY3LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDY1LCA2NywgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjcsIAotICAgIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY3LCA0OCwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NiwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjYsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY2LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDY1LCA2NiwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjYsIAotICAgIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY2LCA2NSwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NiwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjYsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY2LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDY1LCA2NiwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjYsIAotICAgIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY2LCA1MiwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NiwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjYsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY2LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDY1LCA2NiwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjUsIAotICAgIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY1LCA2OSwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NSwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjUsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY1LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDY1LCA2NSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjUsIAotICAgIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY1LCA1NiwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NSwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjUsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY1LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDY1LCA2NSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjUsIAotICAgIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY1LCA1MCwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NSwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjUsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU3LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDY1LCA1NywgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTcsIAotICAgIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU3LCA2NywgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NywgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTcsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU3LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDY1LCA1NywgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTcsIAotICAgIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU3LCA1NCwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NywgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTcsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU3LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDY1LCA1NywgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTcsIAotICAgIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU3LCA0OCwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NiwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTYsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU2LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDY1LCA1NiwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTYsIAotICAgIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU2LCA2NSwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NiwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTYsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU2LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDY1LCA1NiwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTYsIAotICAgIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU2LCA1MiwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NiwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTYsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU2LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDY1LCA1NiwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTUsIAotICAgIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU1LCA2OSwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NSwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTUsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU1LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDY1LCA1NSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTUsIAotICAgIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU1LCA1NiwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NSwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTUsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU1LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDY1LCA1NSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTUsIAotICAgIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU1LCA1MCwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NSwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTUsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU0LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDY1LCA1NCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTQsIAotICAgIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU0LCA2NSwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NCwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTQsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU0LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDY1LCA1NCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTQsIAotICAgIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU0LCA1MiwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NCwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTQsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU0LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDY1LCA1NCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTMsIAotICAgIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUzLCA2OSwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MywgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTMsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUzLCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDY1LCA1MywgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTMsIAotICAgIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUzLCA1NiwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MywgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTMsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUzLCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDY1LCA1MywgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTMsIAotICAgIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUzLCA1MCwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MywgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTMsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUyLCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDY1LCA1MiwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTIsIAotICAgIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUyLCA2NywgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MiwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTIsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUyLCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDY1LCA1MiwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTIsIAotICAgIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUyLCA1NCwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MiwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTIsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUyLCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDY1LCA1MiwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTIsIAotICAgIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUyLCA0OCwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MSwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTEsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUxLCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDY1LCA1MSwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTEsIAotICAgIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUxLCA2NSwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MSwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTEsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUxLCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDY1LCA1MSwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTEsIAotICAgIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUxLCA1MiwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MSwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTEsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUxLCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDY1LCA1MSwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTAsIAotICAgIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUwLCA2OSwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MCwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTAsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUwLCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDY1LCA1MCwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTAsIAotICAgIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUwLCA1NiwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MCwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTAsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUwLCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDY1LCA1MCwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTAsIAotICAgIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUwLCA1MCwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MCwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTAsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ5LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDY1LCA0OSwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDksIAotICAgIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ5LCA2NywgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OSwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDksIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ5LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDY1LCA0OSwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDksIAotICAgIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ5LCA1NCwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OSwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDksIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ5LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDY1LCA0OSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDksIAotICAgIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ5LCA0OCwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OCwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDgsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ4LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDY1LCA0OCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDgsIAotICAgIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ4LCA2NSwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OCwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDgsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ4LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDY1LCA0OCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDgsIAotICAgIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ4LCA1MiwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OCwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDgsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ4LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDY1LCA0OCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNzAsIAotICAgIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDcwLCA2OSwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA3MCwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNzAsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDcwLCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDU3LCA3MCwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNzAsIAotICAgIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDcwLCA1NiwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA3MCwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNzAsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDcwLCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDU3LCA3MCwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNzAsIAotICAgIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDcwLCA1MCwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA3MCwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNzAsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY5LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDU3LCA2OSwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjksIAotICAgIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY5LCA2NywgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OSwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjksIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY5LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDU3LCA2OSwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjksIAotICAgIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY5LCA1NCwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OSwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjksIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY5LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDU3LCA2OSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjksIAotICAgIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY5LCA0OCwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OCwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjgsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY4LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDU3LCA2OCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjgsIAotICAgIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY4LCA2NSwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OCwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjgsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY4LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDU3LCA2OCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjgsIAotICAgIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY4LCA1MiwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OCwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjgsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY4LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDU3LCA2OCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjcsIAotICAgIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY3LCA2OSwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NywgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjcsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY3LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDU3LCA2NywgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjcsIAotICAgIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY3LCA1NiwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NywgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjcsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY3LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDU3LCA2NywgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjcsIAotICAgIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY3LCA1MCwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NywgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjcsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY2LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDU3LCA2NiwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjYsIAotICAgIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY2LCA2NywgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NiwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjYsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY2LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDU3LCA2NiwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjYsIAotICAgIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY2LCA1NCwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NiwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjYsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY2LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDU3LCA2NiwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjYsIAotICAgIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY2LCA0OCwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NSwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjUsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY1LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDU3LCA2NSwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjUsIAotICAgIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY1LCA2NSwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NSwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjUsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY1LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDU3LCA2NSwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjUsIAotICAgIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY1LCA1MiwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NSwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjUsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY1LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDU3LCA2NSwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTcsIAotICAgIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU3LCA2OSwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NywgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTcsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU3LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDU3LCA1NywgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTcsIAotICAgIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU3LCA1NiwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NywgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTcsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU3LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDU3LCA1NywgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTcsIAotICAgIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU3LCA1MCwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NywgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTcsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU2LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDU3LCA1NiwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTYsIAotICAgIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU2LCA2NywgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NiwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTYsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU2LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDU3LCA1NiwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTYsIAotICAgIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU2LCA1NCwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NiwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTYsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU2LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDU3LCA1NiwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTYsIAotICAgIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU2LCA0OCwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NSwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTUsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU1LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDU3LCA1NSwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTUsIAotICAgIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU1LCA2NSwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NSwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTUsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU1LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDU3LCA1NSwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTUsIAotICAgIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU1LCA1MiwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NSwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTUsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU1LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDU3LCA1NSwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTQsIAotICAgIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU0LCA2OSwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NCwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTQsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU0LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDU3LCA1NCwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTQsIAotICAgIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU0LCA1NiwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NCwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTQsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU0LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDU3LCA1NCwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTQsIAotICAgIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU0LCA1MCwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NCwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTQsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUzLCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDU3LCA1MywgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTMsIAotICAgIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUzLCA2NywgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MywgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTMsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUzLCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDU3LCA1MywgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTMsIAotICAgIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUzLCA1NCwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MywgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTMsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUzLCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDU3LCA1MywgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTMsIAotICAgIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUzLCA0OCwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MiwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTIsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUyLCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDU3LCA1MiwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTIsIAotICAgIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUyLCA2NSwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MiwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTIsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUyLCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDU3LCA1MiwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTIsIAotICAgIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUyLCA1MiwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MiwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTIsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUyLCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDU3LCA1MiwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTEsIAotICAgIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUxLCA2OSwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MSwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTEsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUxLCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDU3LCA1MSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTEsIAotICAgIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUxLCA1NiwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MSwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTEsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUxLCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDU3LCA1MSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTEsIAotICAgIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUxLCA1MCwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MSwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTEsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUwLCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDU3LCA1MCwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTAsIAotICAgIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUwLCA2NywgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MCwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTAsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUwLCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDU3LCA1MCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTAsIAotICAgIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUwLCA1NCwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MCwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTAsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUwLCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDU3LCA1MCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTAsIAotICAgIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUwLCA0OCwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OSwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDksIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ5LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDU3LCA0OSwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDksIAotICAgIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ5LCA2NSwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OSwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDksIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ5LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDU3LCA0OSwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDksIAotICAgIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ5LCA1MiwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OSwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDksIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ5LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDU3LCA0OSwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDgsIAotICAgIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ4LCA2OSwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OCwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDgsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ4LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDU3LCA0OCwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDgsIAotICAgIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ4LCA1NiwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OCwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDgsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ4LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNzAsIDU3LCA0OCwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDgsIAotICAgIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ4LCA1MCwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OCwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDgsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1NywgNDgsIDUyLCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNTYsIDY4LCA1NSwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDU2LCA2NywgNjUsIAotICAgIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1NiwgNTcsIDY5LCA1MSwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTUsIDY4LCA1MiwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDU1LCA2NSwgNTUsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1NSwgNTcsIDU2LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNTUsIDU0LCA2OCwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDU1LCA1MywgNTEsIAotICAgIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1NSwgNTMsIDQ5LCA3MCwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTUsIDQ5LCA1MCwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDU1LCA0OCwgNjYsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1NCwgNzAsIDQ5LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNTQsIDY5LCA1NiwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDU0LCA1NSwgNTAsIAotICAgIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1NCwgNTUsIDQ4LCA1NywgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTQsIDU1LCA0OCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDU0LCA1NCwgNTAsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1NCwgNTMsIDY2LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNTQsIDUzLCA1NywgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDU0LCA1MywgNTMsIAotICAgIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1NCwgNTEsIDUzLCA1MywgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTQsIDUxLCA0OCwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDU0LCA1MCwgNTcsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1NCwgNTAsIDUzLCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNTQsIDUwLCA1MiwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUzLCA3MCwgNTYsIAotICAgIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MywgNjgsIDY5LCA1NCwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTMsIDY2LCA1NiwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUzLCA2NiwgNTMsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MywgNTcsIDUwLCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNTMsIDU3LCA0OSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUzLCA1NiwgNzAsIAotICAgIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MywgNTMsIDY2LCA1NCwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTMsIDUyLCA1MSwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUzLCA1MiwgNDgsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MywgNTEsIDcwLCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNTMsIDUxLCA2NywgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUzLCA1MCwgNjgsIAotICAgIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MywgNTAsIDU1LCA1MCwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTMsIDUwLCA1MiwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUzLCA1MCwgNDksIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MywgNDksIDU2LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCi0gICAgNTIsIDY5LCA2NSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUyLCA2OSwgNTYsIAotICAgIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MiwgNjksIDUwLCA2OCwgMTI4LCA3MywgCi0gICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTIsIDY5LCA0OCwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUyLCA2OSwgNDgsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OSwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNjUsIDQ5LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA2NSwgNDksIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCAKLSAgICA0OSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ5LCA1NywgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDksIDU2LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OSwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ5LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDksIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNjUsIDQ5LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA2NSwgNDksIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCAKLSAgICA0OSwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ5LCA0OCwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDgsIDcwLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OCwgNjksIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ4LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDgsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OCwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNjUsIDQ4LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA2NSwgNDgsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCAKLSAgICA0OCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ4LCA1NSwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDgsIDU0LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OCwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ4LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDgsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNjUsIDQ4LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA2NSwgNDgsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCAKLSAgICA3MCwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDcwLCA2OSwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNzAsIDY4LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA3MCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDcwLCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNzAsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA3MCwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTcsIDcwLCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NywgNzAsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCAKLSAgICA3MCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDcwLCA1MywgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNzAsIDUyLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA3MCwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDcwLCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNzAsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA3MCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTcsIDY5LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NywgNjksIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCAKLSAgICA2OSwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY5LCA2NywgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjksIDY2LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY5LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjksIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OSwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTcsIDY5LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NywgNjksIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCAKLSAgICA2OSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY5LCA1MSwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjksIDUwLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OSwgNDksIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY5LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjgsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OCwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTcsIDY4LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NywgNjgsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCAKLSAgICA2OCwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY4LCA2NSwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjgsIDU3LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY4LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjgsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OCwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTcsIDY4LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NywgNjgsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCAKLSAgICA2OCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY4LCA0OSwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjgsIDQ4LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NywgNzAsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY3LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjcsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NywgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTcsIDY3LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NywgNjcsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCAKLSAgICA2NywgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY3LCA1NiwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjcsIDU1LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NywgNTQsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY3LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjcsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NywgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTcsIDY3LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NywgNjcsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCAKLSAgICA2NywgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY2LCA3MCwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjYsIDY5LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NiwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY2LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjYsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NiwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTcsIDY2LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NywgNjYsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCAKLSAgICA2NiwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY2LCA1NCwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjYsIDUzLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NiwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY2LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjYsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NiwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTcsIDY2LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NywgNjUsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCAKLSAgICA2NSwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY1LCA2OCwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjUsIDY3LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NSwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY1LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjUsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NSwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTcsIDY1LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NywgNjUsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCAKLSAgICA2NSwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY1LCA1MiwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjUsIDUxLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY1LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjUsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NywgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTcsIDU3LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NywgNTcsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCAKLSAgICA1NywgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU3LCA2NiwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTcsIDY1LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NywgNTcsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU3LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTcsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NywgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTcsIDU3LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NywgNTcsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCAKLSAgICA1NywgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU3LCA1MCwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTcsIDQ5LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NywgNDgsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU2LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTYsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NiwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTcsIDU2LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NywgNTYsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCAKLSAgICA1NiwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU2LCA1NywgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTYsIDU2LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NiwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU2LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTYsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NiwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTcsIDU2LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NywgNTYsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCAKLSAgICA1NiwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU2LCA0OCwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTUsIDcwLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NSwgNjksIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU1LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTUsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NSwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTcsIDU1LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NywgNTUsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCAKLSAgICA1NSwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU1LCA1NSwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTUsIDU0LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NSwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU1LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTUsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTcsIDU1LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NywgNTUsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCAKLSAgICA1NCwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU0LCA2OSwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTQsIDY4LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU0LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTQsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NCwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTcsIDU0LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NywgNTQsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCAKLSAgICA1NCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU0LCA1MywgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTQsIDUyLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NCwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU0LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTQsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTcsIDUzLCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NywgNTMsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCAKLSAgICA1MywgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUzLCA2NywgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTMsIDY2LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MywgNjUsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUzLCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTMsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MywgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTcsIDUzLCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NywgNTMsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCAKLSAgICA1MywgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUzLCA1MSwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTMsIDUwLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MywgNDksIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUzLCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTIsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MiwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTcsIDUyLCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NywgNTIsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCAKLSAgICA1MiwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUyLCA2NSwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTIsIDU3LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MiwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUyLCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTIsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MiwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTcsIDUyLCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NywgNTIsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCAKLSAgICA1MiwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUyLCA0OSwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTIsIDQ4LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MSwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUxLCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTEsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MSwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTcsIDUxLCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NywgNTEsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCAKLSAgICA1MSwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUxLCA1NiwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTEsIDU1LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MSwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUxLCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTEsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MSwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTcsIDUxLCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NywgNTEsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCAKLSAgICA1MSwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUwLCA3MCwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTAsIDY5LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MCwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUwLCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTAsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MCwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTcsIDUwLCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NywgNTAsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCAKLSAgICA1MCwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUwLCA1NCwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTAsIDUzLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MCwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUwLCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTAsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MCwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTcsIDUwLCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NywgNDksIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCAKLSAgICA0OSwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ5LCA2OCwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDksIDY3LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OSwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ5LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDksIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OSwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTcsIDQ5LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NywgNDksIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCAKLSAgICA0OSwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ5LCA1MiwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDksIDUxLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ5LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDksIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OCwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTcsIDQ4LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NywgNDgsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCAKLSAgICA0OCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ4LCA2NiwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDgsIDY1LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OCwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ4LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDgsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTcsIDQ4LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NywgNDgsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCAKLSAgICA0OCwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ4LCA1MCwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDgsIDQ5LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDcwLCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNzAsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA3MCwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTYsIDcwLCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NiwgNzAsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCAKLSAgICA3MCwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDcwLCA1NywgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNzAsIDU2LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA3MCwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDcwLCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNzAsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA3MCwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTYsIDcwLCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NiwgNzAsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCAKLSAgICA3MCwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDcwLCA0OCwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjksIDcwLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OSwgNjksIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY5LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjksIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OSwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTYsIDY5LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NiwgNjksIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCAKLSAgICA2OSwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY5LCA1NSwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjksIDU0LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OSwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY5LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjksIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTYsIDY5LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NiwgNjksIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCAKLSAgICA2OCwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY4LCA2OSwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjgsIDY4LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY4LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjgsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OCwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTYsIDY4LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NiwgNjgsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCAKLSAgICA2OCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY4LCA1MywgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjgsIDUyLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OCwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY4LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjgsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTYsIDY3LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NiwgNjcsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCAKLSAgICA2NywgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY3LCA2NywgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjcsIDY2LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NywgNjUsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY3LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjcsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NywgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTYsIDY3LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NiwgNjcsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCAKLSAgICA2NywgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY3LCA1MSwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjcsIDUwLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NywgNDksIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY3LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjYsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NiwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTYsIDY2LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NiwgNjYsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCAKLSAgICA2NiwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY2LCA2NSwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjYsIDU3LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NiwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY2LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjYsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NiwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTYsIDY2LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NiwgNjYsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCAKLSAgICA2NiwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY2LCA0OSwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjYsIDQ4LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NSwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY1LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjUsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NSwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTYsIDY1LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NiwgNjUsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCAKLSAgICA2NSwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY1LCA1NiwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjUsIDU1LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NSwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY1LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjUsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NSwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTYsIDY1LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NiwgNjUsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCAKLSAgICA2NSwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU3LCA3MCwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTcsIDY5LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NywgNjgsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU3LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTcsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NywgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTYsIDU3LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NiwgNTcsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCAKLSAgICA1NywgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU3LCA1NCwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTcsIDUzLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NywgNTIsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU3LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTcsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NywgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTYsIDU3LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NiwgNTYsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCAKLSAgICA1NiwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU2LCA2OCwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTYsIDY3LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NiwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU2LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTYsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NiwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTYsIDU2LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NiwgNTYsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCAKLSAgICA1NiwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU2LCA1MiwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTYsIDUxLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NiwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU2LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTYsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NSwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTYsIDU1LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NiwgNTUsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCAKLSAgICA1NSwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU1LCA2NiwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTUsIDY1LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NSwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU1LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTUsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NSwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTYsIDU1LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NiwgNTUsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCAKLSAgICA1NSwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU1LCA1MCwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTUsIDQ5LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NSwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU0LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTQsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NCwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTYsIDU0LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NiwgNTQsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCAKLSAgICA1NCwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU0LCA1NywgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTQsIDU2LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NCwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU0LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTQsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NCwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTYsIDU0LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NiwgNTQsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCAKLSAgICA1NCwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU0LCA0OCwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTMsIDcwLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MywgNjksIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUzLCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTMsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MywgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTYsIDUzLCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NiwgNTMsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCAKLSAgICA1MywgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUzLCA1NSwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTMsIDU0LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MywgNTMsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUzLCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTMsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MywgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTYsIDUzLCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NiwgNTMsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCAKLSAgICA1MiwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUyLCA2OSwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTIsIDY4LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MiwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUyLCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTIsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MiwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTYsIDUyLCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NiwgNTIsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCAKLSAgICA1MiwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUyLCA1MywgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTIsIDUyLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MiwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUyLCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTIsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MiwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTYsIDUxLCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NiwgNTEsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCAKLSAgICA1MSwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUxLCA2NywgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTEsIDY2LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUxLCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTEsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MSwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTYsIDUxLCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NiwgNTEsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCAKLSAgICA1MSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUxLCA1MSwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTEsIDUwLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MSwgNDksIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUxLCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTAsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MCwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTYsIDUwLCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NiwgNTAsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCAKLSAgICA1MCwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUwLCA2NSwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTAsIDU3LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUwLCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTAsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MCwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTYsIDUwLCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NiwgNTAsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCAKLSAgICA1MCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUwLCA0OSwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTAsIDQ4LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OSwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ5LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDksIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OSwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTYsIDQ5LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NiwgNDksIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCAKLSAgICA0OSwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ5LCA1NiwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDksIDU1LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OSwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ5LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDksIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OSwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTYsIDQ5LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NiwgNDksIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCAKLSAgICA0OSwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ4LCA3MCwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDgsIDY5LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OCwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ4LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDgsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OCwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTYsIDQ4LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIAotICAgIDcwLCA1NiwgNDgsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCAKLSAgICA0OCwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ4LCA1NCwgCi0gICAgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDgsIDUzLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OCwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ4LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDgsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OCwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgCi0gICAgNDUsIDUwLCA3MCwgNTYsIDQ4LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OCwgODQsIDczLCA3MCwgNzMsIDY3LCA2NSwgODQsIAotICAgIDczLCA3OSwgNzgsIDEyOCwgNzMsIDY4LCA2OSwgNzgsIDg0LCA3MywgNjcsIDY1LCAyMDQsIDczLCA2NywgNzIsIDc5LCA4NSwgCi0gICAgMTI4LCA3MywgNjcsIDcyLCA3OSwgODMsIDEyOCwgNzMsIDY3LCA3MiwgNzMsIDc3LCA2NSwgODQsIDc5LCA4MywgMTI4LCAKLSAgICA3MywgNjcsIDcyLCA2NSwgNjgsIDczLCA3OCwgMTI4LCA3MywgNjcsIDY5LCA3NiwgNjUsIDc4LCA2OCwgNzMsIDY3LCA0NSwgCi0gICAgODksIDgyLCAxMjgsIDczLCA2NiwgNzMsIDcwLCA3MywgNzYsIDczLCAxMjgsIDczLCA2NSwgODUsIDY4LCA2NSwgMTI4LCAKLSAgICA3MywgNDgsIDQ5LCA1MywgMTI4LCA3MywgNDgsIDQ5LCA1MiwgMTI4LCA3MywgNDgsIDQ5LCA1MSwgMTI4LCA3MywgNDgsIAotICAgIDQ5LCA1MCwgMTI4LCA3MywgNDgsIDQ5LCA0OSwgNjUsIDEyOCwgNzMsIDQ4LCA0OSwgNDksIDEyOCwgNzMsIDQ4LCA0OSwgCi0gICAgNDgsIDY1LCAxMjgsIDczLCA0OCwgNDksIDQ4LCAxMjgsIDczLCA0OCwgNDgsIDU3LCA2NSwgMTI4LCA3MywgNDgsIDQ4LCAKLSAgICA1NywgMTI4LCA3MywgNDgsIDQ4LCA1NiwgMTI4LCA3MywgNDgsIDQ4LCA1NSwgMTI4LCA3MywgNDgsIDQ4LCA1NCwgMTI4LCAKLSAgICA3MywgNDgsIDQ4LCA1MywgNjUsIDEyOCwgNzMsIDQ4LCA0OCwgNTMsIDEyOCwgNzMsIDQ4LCA0OCwgNTIsIDEyOCwgNzMsIAotICAgIDQ4LCA0OCwgNTEsIDEyOCwgNzMsIDQ4LCA0OCwgNTAsIDEyOCwgNzMsIDQ4LCA0OCwgNDksIDEyOCwgNzMsIDQ1LCA4OSwgCi0gICAgODUsIDEyOCwgNzMsIDQ1LCA4OSwgNzksIDEyOCwgNzMsIDQ1LCA4OSwgNjksIDc5LCAxMjgsIDczLCA0NSwgODksIDY5LCAKLSAgICAxMjgsIDczLCA0NSwgODksIDY1LCA2OSwgMTI4LCA3MywgNDUsIDg5LCA2NSwgNDUsIDc5LCAxMjgsIDczLCA0NSwgODksIAotICAgIDY1LCAxMjgsIDczLCA0NSwgNzksIDQ1LCA3MywgMTI4LCA3MywgNDUsIDc5LCAxMjgsIDczLCA0NSwgNjksIDg1LCAxMjgsIAotICAgIDczLCA0NSwgNjYsIDY5LCA2NSwgNzcsIDEyOCwgNzMsIDQ1LCA2NSwgODIsIDY1LCA2OSwgNjUsIDEyOCwgNzMsIDQ1LCA2NSwgCi0gICAgMTI4LCA3MiwgOTAsIDkwLCA5MCwgNzEsIDEyOCwgNzIsIDkwLCA5MCwgOTAsIDEyOCwgNzIsIDkwLCA5MCwgODAsIDEyOCwgCi0gICAgNzIsIDkwLCA5MCwgMTI4LCA3MiwgOTAsIDg3LCA3MSwgMTI4LCA3MiwgOTAsIDg3LCAxMjgsIDcyLCA5MCwgODQsIDEyOCwgCi0gICAgNzIsIDkwLCA3MSwgMTI4LCA3MiwgODksIDgzLCA4NCwgNjksIDgyLCA2OSwgODMsIDczLCAyMTEsIDcyLCA4OSwgODAsIDc5LCAKLSAgICA2OCwgNzMsIDY1LCA4MywgODQsIDc5LCA3NiwgNjksIDEyOCwgNzIsIDg5LCA4MCwgNzIsIDY5LCA3OCwgNjUsIDg0LCA3MywgCi0gICAgNzksIDIwNiwgNzIsIDg5LCA4MCwgNzIsIDY5LCA3OCwgNDUsIDc3LCA3MywgNzgsIDg1LCA4MywgMTI4LCA3MiwgODksIDgwLCAKLSAgICA3MiwgNjksIDc4LCAxMjgsIDcyLCA4OSwgODAsIDcyLCA2OSwgMjA2LCA3MiwgODgsIDg3LCA3MSwgMTI4LCA3MiwgODgsIAotICAgIDg1LCA3OSwgODgsIDEyOCwgNzIsIDg4LCA4NSwgNzksIDg0LCAxMjgsIDcyLCA4OCwgODUsIDc5LCA4MCwgMTI4LCA3MiwgCi0gICAgODgsIDg1LCA3OSwgMTI4LCA3MiwgODgsIDc5LCA4OCwgMTI4LCA3MiwgODgsIDc5LCA4NCwgMTI4LCA3MiwgODgsIDc5LCAKLSAgICA4MCwgMTI4LCA3MiwgODgsIDc5LCAxMjgsIDcyLCA4OCwgNzMsIDg4LCAxMjgsIDcyLCA4OCwgNzMsIDg0LCAxMjgsIDcyLCAKLSAgICA4OCwgNzMsIDgwLCAxMjgsIDcyLCA4OCwgNzMsIDY5LCA4OCwgMTI4LCA3MiwgODgsIDczLCA2OSwgODQsIDEyOCwgNzIsIAotICAgIDg4LCA3MywgNjksIDgwLCAxMjgsIDcyLCA4OCwgNzMsIDY5LCAxMjgsIDcyLCA4OCwgNzMsIDEyOCwgNzIsIDg4LCA2OSwgCi0gICAgODgsIDEyOCwgNzIsIDg4LCA2OSwgODAsIDEyOCwgNzIsIDg4LCA2OSwgMTI4LCA3MiwgODgsIDY1LCA4OCwgMTI4LCA3MiwgCi0gICAgODgsIDY1LCA4NCwgMTI4LCA3MiwgODgsIDY1LCA4MCwgMTI4LCA3MiwgODgsIDY1LCAxMjgsIDcyLCA4NywgODUsIDEyOCwgCi0gICAgNzIsIDg3LCA2NSwgNzMsIDgyLCAxMjgsIDcyLCA4NiwgMTI4LCA3MiwgODUsIDgzLCA3MiwgNjksIDE5NiwgNzIsIDg1LCAKLSAgICA4MiwgNjUsIDc4LCAxMjgsIDcyLCA4NSwgNzksIDg0LCAxMjgsIDcyLCA4NSwgNzgsIDY4LCA4MiwgNjksIDY4LCAxMjgsIAotICAgIDcyLCA4NSwgNzgsIDY4LCA4MiwgNjksIDE5NiwgNzIsIDg1LCA3OCwgMTI4LCA3MiwgODUsIDc3LCA2NSwgNzgsIDEyOCwgCi0gICAgNzIsIDg1LCA3NywgNjUsIDIwNiwgNzIsIDg1LCA3NiwgNTAsIDEyOCwgNzIsIDg1LCA3MywgNzMsIDg0LCA3OSwgMTI4LCAKLSAgICA3MiwgODUsIDY2LCA1MCwgMTI4LCA3MiwgODUsIDY2LCAxNzgsIDcyLCA4NSwgNjYsIDEyOCwgNzIsIDg1LCA2NSwgODIsIAotICAgIDY1LCA2OCwgNjgsIDc5LCAxMjgsIDcyLCA4NCwgODMsIDEyOCwgNzIsIDg0LCA3NCwgMTI4LCA3MiwgODIsIDg5LCA4NiwgCi0gICAgNzgsIDczLCAxOTMsIDcyLCA4MCwgODcsIDcxLCAxMjgsIDcyLCA4MCwgNjUsIDEyOCwgNzIsIDgwLCAxMjgsIDcyLCA3OSwgCi0gICAgODUsIDgzLCAxOTcsIDcyLCA3OSwgODUsIDgyLCA3MSwgNzYsIDY1LCA4MywgODMsIDEyOCwgNzIsIDc5LCA4NSwgODIsIDcxLCAKLSAgICA3NiwgNjUsIDgzLCAyMTEsIDcyLCA3OSwgODUsIDgyLCAxMjgsIDcyLCA3OSwgODUsIDIxMCwgNzIsIDc5LCA4NCwgNjksIAotICAgIDc2LCAxMjgsIDcyLCA3OSwgODQsIDY1LCAxMjgsIDcyLCA3OSwgODMsIDgwLCA3MywgODQsIDY1LCA3NiwgMTI4LCA3MiwgCi0gICAgNzksIDgyLCA4MywgNjksIDEyOCwgNzIsIDc5LCA4MiwgODMsIDE5NywgNzIsIDc5LCA4MiwgNzgsIDgzLCAxMjgsIDcyLCAKLSAgICA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA3NiwgMjE3LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgCi0gICAgODQsIDY1LCA3NiwgNDUsIDQ4LCA1NCwgNDUsIDQ4LCA1NCwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIAotICAgIDY1LCA3NiwgNDUsIDQ4LCA1NCwgNDUsIDQ4LCA1MywgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCAKLSAgICA3NiwgNDUsIDQ4LCA1NCwgNDUsIDQ4LCA1MiwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgCi0gICAgNDUsIDQ4LCA1NCwgNDUsIDQ4LCA1MSwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIAotICAgIDQ4LCA1NCwgNDUsIDQ4LCA1MCwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCAKLSAgICA1NCwgNDUsIDQ4LCA0OSwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA1NCwgCi0gICAgNDUsIDQ4LCA0OCwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA1MywgNDUsIAotICAgIDQ4LCA1NCwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA1MywgNDUsIDQ4LCAKLSAgICA1MywgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA1MywgNDUsIDQ4LCA1MiwgCi0gICAgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA1MywgNDUsIDQ4LCA1MSwgMTI4LCAKLSAgICA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA1MywgNDUsIDQ4LCA1MCwgMTI4LCA3MiwgCi0gICAgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA1MywgNDUsIDQ4LCA0OSwgMTI4LCA3MiwgNzksIAotICAgIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA1MywgNDUsIDQ4LCA0OCwgMTI4LCA3MiwgNzksIDgyLCAKLSAgICA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA1MiwgNDUsIDQ4LCA1NCwgMTI4LCA3MiwgNzksIDgyLCA3MywgCi0gICAgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA1MiwgNDUsIDQ4LCA1MywgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIAotICAgIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA1MiwgNDUsIDQ4LCA1MiwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCAKLSAgICA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA1MiwgNDUsIDQ4LCA1MSwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgCi0gICAgODQsIDY1LCA3NiwgNDUsIDQ4LCA1MiwgNDUsIDQ4LCA1MCwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIAotICAgIDY1LCA3NiwgNDUsIDQ4LCA1MiwgNDUsIDQ4LCA0OSwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCAKLSAgICA3NiwgNDUsIDQ4LCA1MiwgNDUsIDQ4LCA0OCwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgCi0gICAgNDUsIDQ4LCA1MSwgNDUsIDQ4LCA1NCwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIAotICAgIDQ4LCA1MSwgNDUsIDQ4LCA1MywgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCAKLSAgICA1MSwgNDUsIDQ4LCA1MiwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA1MSwgCi0gICAgNDUsIDQ4LCA1MSwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA1MSwgNDUsIAotICAgIDQ4LCA1MCwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA1MSwgNDUsIDQ4LCAKLSAgICA0OSwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA1MSwgNDUsIDQ4LCA0OCwgCi0gICAgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA1MCwgNDUsIDQ4LCA1NCwgMTI4LCAKLSAgICA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA1MCwgNDUsIDQ4LCA1MywgMTI4LCA3MiwgCi0gICAgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA1MCwgNDUsIDQ4LCA1MiwgMTI4LCA3MiwgNzksIAotICAgIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA1MCwgNDUsIDQ4LCA1MSwgMTI4LCA3MiwgNzksIDgyLCAKLSAgICA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA1MCwgNDUsIDQ4LCA1MCwgMTI4LCA3MiwgNzksIDgyLCA3MywgCi0gICAgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA1MCwgNDUsIDQ4LCA0OSwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIAotICAgIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA1MCwgNDUsIDQ4LCA0OCwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCAKLSAgICA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA0OSwgNDUsIDQ4LCA1NCwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgCi0gICAgODQsIDY1LCA3NiwgNDUsIDQ4LCA0OSwgNDUsIDQ4LCA1MywgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIAotICAgIDY1LCA3NiwgNDUsIDQ4LCA0OSwgNDUsIDQ4LCA1MiwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCAKLSAgICA3NiwgNDUsIDQ4LCA0OSwgNDUsIDQ4LCA1MSwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgCi0gICAgNDUsIDQ4LCA0OSwgNDUsIDQ4LCA1MCwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIAotICAgIDQ4LCA0OSwgNDUsIDQ4LCA0OSwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCAKLSAgICA0OSwgNDUsIDQ4LCA0OCwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA0OCwgCi0gICAgNDUsIDQ4LCA1NCwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA0OCwgNDUsIAotICAgIDQ4LCA1MywgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA0OCwgNDUsIDQ4LCAKLSAgICA1MiwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA0OCwgNDUsIDQ4LCA1MSwgCi0gICAgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA0OCwgNDUsIDQ4LCA1MCwgMTI4LCAKLSAgICA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA0OCwgNDUsIDQ4LCA0OSwgMTI4LCA3MiwgCi0gICAgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA0OCwgNDUsIDQ4LCA0OCwgMTI4LCA3MiwgNzksIAotICAgIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgMTI4LCA3MiwgNzksIDgyLCA3MywgMTI4LCA3MiwgNzksIDgyLCAKLSAgICAxOTMsIDcyLCA3OSwgNzksIDgyLCA4NSwgMTI4LCA3MiwgNzksIDc5LCA4MCwgMTI4LCA3MiwgNzksIDc5LCA3OCwgMTI4LCAKLSAgICA3MiwgNzksIDc5LCA3NSwgNjksIDE5NiwgNzIsIDc5LCA3OCwgNjksIDg5LCA2NiwgNjksIDY5LCAxMjgsIDcyLCA3OSwgNzgsIAotICAgIDY5LCAyMTcsIDcyLCA3OSwgNzcsIDc5LCA4NCwgNzIsIDY5LCA4NCwgNzMsIDY3LCAxMjgsIDcyLCA3OSwgNzcsIDc5LCA4NCwgCi0gICAgNzIsIDY5LCA4NCwgNzMsIDE5NSwgNzIsIDc5LCA3NiwgNjksIDEyOCwgNzIsIDc5LCA3NiwgNjgsIDczLCA3OCwgMTk5LCAKKyAgICA3NCwgODUsIDY4LCA2OSwgNzksIDQ1LCA4MywgODAsIDY1LCA3OCwgNzMsIDgzLCAyMDAsIDc0LCA3OSwgODksIDgzLCA4NCwgCisgICAgNzMsIDY3LCA3NSwgMTI4LCA3NCwgNzksIDg5LCA3OSwgODUsIDIxMSwgNzQsIDc5LCA4OSwgMTI4LCA3NCwgNzksIDg2LCAKKyAgICA2OSwgMTI4LCA3NCwgNzksIDIxMiwgNzQsIDc5LCA3OCwgNzEsIDEyOCwgNzQsIDc5LCA3OCwgMTkzLCA3NCwgNzksIDc1LCAKKyAgICA2OSwgODIsIDEyOCwgNzQsIDc5LCA3MywgNzgsIDY5LCA2OCwgMTI4LCA3NCwgNzksIDczLCA3OCwgMTI4LCA3NCwgNzksIAorICAgIDY1LCAxMjgsIDc0LCA3NCwgODksIDg4LCAxMjgsIDc0LCA3NCwgODksIDg0LCAxMjgsIDc0LCA3NCwgODksIDgwLCAxMjgsIAorICAgIDc0LCA3NCwgODksIDEyOCwgNzQsIDc0LCA4NSwgODgsIDEyOCwgNzQsIDc0LCA4NSwgODQsIDEyOCwgNzQsIDc0LCA4NSwgCisgICAgODIsIDg4LCAxMjgsIDc0LCA3NCwgODUsIDgyLCAxMjgsIDc0LCA3NCwgODUsIDgwLCAxMjgsIDc0LCA3NCwgODUsIDc5LCAKKyAgICA4OCwgMTI4LCA3NCwgNzQsIDg1LCA3OSwgODAsIDEyOCwgNzQsIDc0LCA4NSwgNzksIDEyOCwgNzQsIDc0LCA4NSwgMTI4LCAKKyAgICA3NCwgNzQsIDc5LCA4OCwgMTI4LCA3NCwgNzQsIDc5LCA4NCwgMTI4LCA3NCwgNzQsIDc5LCA4MCwgMTI4LCA3NCwgNzQsIAorICAgIDc5LCAxMjgsIDc0LCA3NCwgNzMsIDg4LCAxMjgsIDc0LCA3NCwgNzMsIDg0LCAxMjgsIDc0LCA3NCwgNzMsIDgwLCAxMjgsIAorICAgIDc0LCA3NCwgNzMsIDY5LCA4OCwgMTI4LCA3NCwgNzQsIDczLCA2OSwgODQsIDEyOCwgNzQsIDc0LCA3MywgNjksIDgwLCAKKyAgICAxMjgsIDc0LCA3NCwgNzMsIDY5LCAxMjgsIDc0LCA3NCwgNzMsIDEyOCwgNzQsIDc0LCA2OSwgNjksIDEyOCwgNzQsIDc0LCAKKyAgICA2OSwgMTI4LCA3NCwgNzQsIDY1LCAxMjgsIDc0LCA3MywgNzYsIDEyOCwgNzQsIDczLCA3MywgMTI4LCA3NCwgNzMsIDcyLCAKKyAgICA4NiwgNjUsIDc3LCA4NSwgNzYsIDczLCA4OSwgNjUsIDEyOCwgNzQsIDczLCA2NSwgMTI4LCA3NCwgNzIsIDc5LCA4OCwgCisgICAgMTI4LCA3NCwgNzIsIDc5LCAxMjgsIDc0LCA3MiwgNjksIDcyLCAxMjgsIDc0LCA3MiwgNjUsIDg5LCA3MywgNzgsIDEyOCwgCisgICAgNzQsIDcyLCA2NSwgNzgsIDEyOCwgNzQsIDcyLCA2NSwgNzcsIDEyOCwgNzQsIDcyLCA2NSwgNjUsIDEyOCwgNzQsIDcyLCAKKyAgICA2NSwgMTI4LCA3NCwgNjksIDg1LCAxMjgsIDc0LCA2OSwgODIsIDg1LCA4MywgNjUsIDc2LCA2OSwgNzcsIDEyOCwgNzQsIAorICAgIDY5LCA4MiwgNjUsIDIwNiwgNzQsIDY5LCA4MiwgNjUsIDEyOCwgNzQsIDY5LCA4MiwgMTI4LCA3NCwgNjksIDcyLCAxMjgsIAorICAgIDc0LCA2OSwgMjAwLCA3NCwgNjksIDcxLCA3OSwgNzEsIDY1LCA3OCwgMTI4LCA3NCwgNjksIDY5LCA3NywgMTI4LCA3NCwgCisgICAgNjksIDY1LCA3OCwgODMsIDEyOCwgNzQsIDY1LCA4OSwgNzgsIDEyOCwgNzQsIDY1LCA4OSwgNzMsIDc4LCAxMjgsIDc0LCAKKyAgICA2NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDc0LCA2NSwgODYsIDczLCA4OSwgNjUsIDc4LCA3MywgMTI4LCA3NCwgNjUsIAorICAgIDg1LCAxMjgsIDc0LCA2NSwgODIsIDEyOCwgNzQsIDY1LCA4MCwgNjUsIDc4LCA2OSwgODMsIDE5NywgNzQsIDY1LCA4MCwgCisgICAgNjUsIDc4LCAxMjgsIDc0LCA2NSwgNzgsIDg1LCA2NSwgODIsIDg5LCAxMjgsIDc0LCA2NSwgNzYsIDc2LCA2NSwgNzQsIDY1LCAKKyAgICA3NiwgNjUsIDc2LCA3OSwgODUsIDcyLCA3OSwgODUsIDEyOCwgNzQsIDY1LCA3MywgMTI4LCA3NCwgNjUsIDcyLCAxMjgsIAorICAgIDc0LCA2NSwgNjgsIDY5LCAxMjgsIDc0LCA2NSwgNjcsIDc1LCA4MywgMTI4LCA3NCwgNjUsIDY3LCA3NSwgNDUsIDc5LCA0NSwgCisgICAgNzYsIDY1LCA3OCwgODQsIDY5LCA4MiwgNzgsIDEyOCwgNzQsIDY1LCA2NywgMjAzLCA3NCwgNDUsIDgzLCA3MywgNzcsIDgwLCAKKyAgICA3NiwgNzMsIDcwLCA3MywgNjksIDE5NiwgNzMsIDkwLCA3MiwgNzMsIDg0LCA4MywgNjUsIDEyOCwgNzMsIDkwLCA3MiwgNzMsIAorICAgIDg0LCA4MywgMTkzLCA3MywgOTAsIDcyLCA2OSwgMTI4LCA3MywgOTAsIDY1LCA3NSwgNjUsIDg5LCAxOTMsIDczLCA4OSwgCisgICAgNjksIDc1LCAxMjgsIDczLCA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgNzMsIDg1LCA3NCwgNjUsIDEyOCwgNzMsIDg0LCAKKyAgICAyMTEsIDczLCA4NCwgNjksIDgyLCA2NSwgODQsIDczLCA3OSwgMjA2LCA3MywgODQsIDY5LCA3NywgMTI4LCA3MywgODMsIAorICAgIDgzLCA3MiwgNjUsIDgyLCAxMjgsIDczLCA4MywgNzksIDgzLCA2NywgNjksIDc2LCA2OSwgMjExLCA3MywgODMsIDc5LCA3OCwgCisgICAgMTI4LCA3MywgODMsIDc5LCAyMDYsIDczLCA4MywgNzksIDc2LCA2NSwgODQsIDY5LCAxMjgsIDczLCA4MywgNzYsIDY1LCAKKyAgICA3OCwgNjgsIDEyOCwgNzMsIDgzLCA2OSwgNzgsIDQ1LCA3MywgODMsIDY5LCA3OCwgMTI4LCA3MywgODMsIDY1LCA3NSwgNzMsIAorICAgIDE5MywgNzMsIDgzLCA0NSwgODAsIDczLCA3NiwgNzYsIDY1LCAxMjgsIDczLCA4MiwgODUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgCisgICAgMTI4LCA3MywgODIsIDg1LCA4NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDczLCA4MiwgNzksIDc4LCA0NSwgNjcsIDc5LCAKKyAgICA4MCwgODAsIDY5LCAyMTAsIDczLCA4MiwgNzksIDc4LCAxMjgsIDczLCA4MiwgNjYsIDEyOCwgNzMsIDc5LCA4NCwgNzMsIAorICAgIDcwLCA3MywgNjksIDE5NiwgNzMsIDc5LCA4NCwgNjUsIDg0LCA2OSwgMTk2LCA3MywgNzksIDg0LCA2NSwgMTI4LCA3MywgCisgICAgNzksIDg0LCAxOTMsIDczLCA3OSwgODIsIDEyOCwgNzMsIDc5LCA2OCwgNzIsIDY1LCA2OCwgNzIsIDEyOCwgNzMsIDc4LCAKKyAgICA4NiwgNzMsIDgzLCA3MywgNjYsIDc2LCAxOTcsIDczLCA3OCwgODYsIDY5LCA4MiwgODQsIDY5LCA2OCwgMTI4LCA3MywgNzgsIAorICAgIDg2LCA2OSwgODIsIDg0LCA2OSwgMTk2LCA3MywgNzgsIDg2LCA2OSwgODIsIDgzLCAxOTcsIDczLCA3OCwgODQsIDgyLCA3OSwgCisgICAgNjgsIDg1LCA2NywgNjksIDgyLCAxMjgsIDczLCA3OCwgODQsIDczLCAxMjgsIDczLCA3OCwgODQsIDY5LCA4MiwgODMsIDg5LCAKKyAgICA3NiwgNzYsIDY1LCA2NiwgNzMsIDE5NSwgNzMsIDc4LCA4NCwgNjksIDgyLCA4MywgNjksIDY3LCA4NCwgNzMsIDc5LCA3OCwgCisgICAgMTI4LCA3MywgNzgsIDg0LCA2OSwgODIsIDgzLCA2OSwgNjcsIDg0LCA3MywgNzksIDIwNiwgNzMsIDc4LCA4NCwgNjksIDgyLCAKKyAgICA4MywgNjksIDY3LCA4NCwgNzMsIDc4LCAxOTksIDczLCA3OCwgODQsIDY5LCA4MiwgODIsIDc5LCA2NiwgNjUsIDc4LCA3MSwgCisgICAgMTI4LCA3MywgNzgsIDg0LCA2OSwgODIsIDgyLCA3OSwgNjYsIDY1LCA3OCwgMTk5LCA3MywgNzgsIDg0LCA2OSwgODIsIDgwLCAKKyAgICA3OSwgNzYsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDczLCA3OCwgODQsIDY5LCA4MiwgNzYsIDc5LCA2NywgNzUsIDY5LCAxOTYsIAorICAgIDczLCA3OCwgODQsIDY5LCA4MiwgNzYsIDczLCA3OCwgNjksIDY1LCAyMTAsIDczLCA3OCwgODQsIDY5LCA4MiwgNzYsIDY1LCAKKyAgICA2NywgNjksIDE5NiwgNzMsIDc4LCA4NCwgNjksIDgyLCA3MywgNzksIDIxMCwgNzMsIDc4LCA4NCwgNjksIDgyLCA2OSwgODMsIAorICAgIDIxMiwgNzMsIDc4LCA4NCwgNjksIDgyLCA2NywgNjUsIDc2LCA2NSwgODQsIDY5LCAxMjgsIDczLCA3OCwgODQsIDY5LCA3MSwgCisgICAgODIsIDY1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA3MywgNzgsIDg0LCA2OSwgNzEsIDgyLCA2NSwgODQsIDczLCA3OSwgMjA2LCAKKyAgICA3MywgNzgsIDg0LCA2OSwgNzEsIDgyLCA2NSwgNzYsIDEyOCwgNzMsIDc4LCA4NCwgNjksIDcxLCA4MiwgNjUsIDIwNCwgNzMsIAorICAgIDc4LCA4MywgODUsIDc2LCA2NSwgMjEwLCA3MywgNzgsIDgzLCA4NCwgODIsIDg1LCA3NywgNjksIDc4LCA4NCwgNjUsIDIwNCwgCisgICAgNzMsIDc4LCA4MywgNzMsIDY4LCA2OSwgMTI4LCA3MywgNzgsIDgzLCA3MywgNjgsIDE5NywgNzMsIDc4LCA4MywgNjksIDgyLCAKKyAgICA4NCwgNzMsIDc5LCAyMDYsIDczLCA3OCwgODMsIDY5LCA2NywgODQsIDEyOCwgNzMsIDc4LCA4MywgNjcsIDgyLCA3MywgODAsIAorICAgIDg0LCA3MywgNzksIDc4LCA2NSwgMjA0LCA3MywgNzgsIDgwLCA4NSwgMjEyLCA3MywgNzgsIDc4LCA3OSwgNjcsIDY5LCA3OCwgCisgICAgNjcsIDY5LCAxMjgsIDczLCA3OCwgNzgsIDc4LCAxMjgsIDczLCA3OCwgNzgsIDY5LCA4MiwgMTI4LCA3MywgNzgsIDc4LCAKKyAgICA2OSwgMjEwLCA3MywgNzgsIDc4LCAxMjgsIDczLCA3OCwgNzMsIDc4LCA3MSwgODUsIDEyOCwgNzMsIDc4LCA3MywgMTI4LCAKKyAgICA3MywgNzgsIDcyLCA3MywgNjYsIDczLCAyMTIsIDczLCA3OCwgNzIsIDY5LCA4MiwgNjksIDc4LCAyMTIsIDczLCA3OCwgNzEsIAorICAgIDg3LCA2NSwgOTAsIDEyOCwgNzMsIDc4LCA3MCwgNzksIDgyLCA3NywgNjUsIDg0LCA3MywgNzksIDIwNiwgNzMsIDc4LCA3MCwgCisgICAgNzYsIDg1LCA2OSwgNzgsIDY3LCA2OSwgMTI4LCA3MywgNzgsIDcwLCA3MywgNzgsIDczLCA4NCwgODksIDEyOCwgNzMsIDc4LCAKKyAgICA3MCwgNzMsIDc4LCA3MywgODQsIDIxNywgNzMsIDc4LCA2OCwgODUsIDgzLCA4NCwgODIsIDczLCA2NSwgMjA0LCA3MywgNzgsIAorICAgIDY4LCA3MywgODIsIDY5LCA2NywgMjEyLCA3MywgNzgsIDY4LCA3MywgNjcsIDY1LCA4NCwgNzksIDgyLCAxMjgsIDczLCA3OCwgCisgICAgNjgsIDczLCA2NywgNjUsIDg0LCA3OSwgMjEwLCA3MywgNzgsIDY4LCA3MywgMTk1LCA3MywgNzgsIDY4LCA3MywgNjUsIAorICAgIDIwNiwgNzMsIDc4LCA2OCwgNjksIDg4LCAxMjgsIDczLCA3OCwgNjgsIDY5LCAyMTYsIDczLCA3OCwgNjgsIDY5LCA4MCwgCisgICAgNjksIDc4LCA2OCwgNjksIDc4LCAyMTIsIDczLCA3OCwgNjcsIDgyLCA2OSwgNzcsIDY5LCA3OCwgODQsIDEyOCwgNzMsIDc4LCAKKyAgICA2NywgODIsIDY5LCA2NSwgODMsIDY5LCAyMTEsIDczLCA3OCwgNjcsIDgyLCA2OSwgNjUsIDgzLCA2OSwgMTI4LCA3MywgNzgsIAorICAgIDY3LCA4MiwgNjksIDY1LCA4MywgMTk3LCA3MywgNzgsIDY3LCA3OSwgNzcsIDgwLCA3NiwgNjksIDg0LCAxOTcsIDczLCA3OCwgCisgICAgNjcsIDc5LCA3NywgNzMsIDc4LCAxOTksIDczLCA3OCwgNjcsIDc2LCA4NSwgNjgsIDczLCA3OCwgMTk5LCA3MywgNzgsIDY3LCAKKyAgICA3MiwgMTI4LCA3MywgNzgsIDY2LCA3OSwgMjE2LCA3MywgNzgsIDY1LCA4MCwgMTI4LCA3MywgNzgsIDQ1LCA2NSwgNzYsIAorICAgIDY1LCA3MCwgMTI4LCA3MywgNzcsIDgwLCA2OSwgODIsIDczLCA2NSwgMjA0LCA3MywgNzcsIDgwLCA2OSwgODIsIDcwLCA2OSwgCisgICAgNjcsIDg0LCA4NSwgMjA1LCA3MywgNzcsIDgwLCA2OSwgODIsIDcwLCA2OSwgNjcsIDg0LCA2NSwgMTI4LCA3MywgNzcsIDgwLCAKKyAgICA2OSwgODIsIDcwLCA2OSwgNjcsIDg0LCAxOTMsIDczLCA3NywgNzgsIDEyOCwgNzMsIDc3LCA3MywgODMsIDY5LCA3OSwgCisgICAgMjExLCA3MywgNzcsIDczLCA3OCwgNTEsIDEyOCwgNzMsIDc3LCA3MywgNzgsIDEyOCwgNzMsIDc3LCA3MywgMjA2LCA3MywgCisgICAgNzcsIDczLCA3MCwgODQsIDcyLCA3OSwgODIsIDc5LCA3OCwgMTI4LCA3MywgNzcsIDczLCA3MCwgODQsIDcyLCA3OSwgODIsIAorICAgIDY1LCAxMjgsIDczLCA3NywgNzMsIDcwLCA3OSwgNzgsIDc5LCA3OCwgMTI4LCA3MywgNzcsIDczLCA2OCwgNzMsIDY1LCA4MiwgCisgICAgNzEsIDc5LCA3OCwgMTI4LCA3MywgNzcsIDY1LCA3MSwgMTk3LCA3MywgNzYsIDg1LCA4OSwgNjUsIDc4LCA3OCwgNjUsIAorICAgIDEyOCwgNzMsIDc2LCA4NSwgODksIDEyOCwgNzMsIDc2LCA4NSwgODUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA3MywgCisgICAgNzYsIDg1LCA4NCwgMTI4LCA3MywgNzYsIDczLCA3NywgNzcsIDg1LCA1MiwgMTI4LCA3MywgNzYsIDczLCA3NywgNzcsIDg1LCAKKyAgICA1MSwgMTI4LCA3MywgNzYsIDczLCA3NywgNzcsIDg1LCAxMjgsIDczLCA3NiwgNzMsIDc3LCA3NywgMjEzLCA3MywgNzYsIAorICAgIDUwLCAxMjgsIDczLCA3NSwgNjUsIDgyLCA2NSwgMTI4LCA3MywgNzUsIDY1LCA4MiwgMTkzLCA3MywgNzQsIDEyOCwgNzMsIAorICAgIDczLCA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgNzMsIDcxLCA3MywgMTI4LCA3MywgNzEsIDIwMSwgNzMsIDcxLCA3MSwgCisgICAgODcsIDgzLCAxMjgsIDczLCA3MCwgNzMsIDc4LCAxMjgsIDczLCA2OSwgODUsIDc4LCA3MSwgNDUsIDg0LCA3MywgNzUsIDY5LCAKKyAgICA4NSwgODQsIDEyOCwgNzMsIDY5LCA4NSwgNzgsIDcxLCA0NSwgODQsIDcyLCA3MywgNjksIDg1LCA4NCwgNzIsIDEyOCwgNzMsIAorICAgIDY5LCA4NSwgNzgsIDcxLCA0NSwgODMsIDgzLCA2NSwgNzgsIDcxLCA3NSwgNzMsIDg5LCA2OSwgNzksIDc1LCAxMjgsIDczLCAKKyAgICA2OSwgODUsIDc4LCA3MSwgNDUsIDgyLCA3MywgNjksIDg1LCA3NiwgMTI4LCA3MywgNjksIDg1LCA3OCwgNzEsIDQ1LCA4MCwgCisgICAgNzMsIDY5LCA4NSwgODAsIDEyOCwgNzMsIDY5LCA4NSwgNzgsIDcxLCA0NSwgODAsIDcyLCA3MywgNjksIDg1LCA4MCwgNzIsIAorICAgIDEyOCwgNzMsIDY5LCA4NSwgNzgsIDcxLCA0NSwgNzUsIDczLCA4OSwgNjksIDc5LCA3NSwgMTI4LCA3MywgNjksIDg1LCA3OCwgCisgICAgNzEsIDQ1LCA3NSwgNzIsIDczLCA2OSwgODUsIDc1LCA3MiwgMTI4LCA3MywgNjksIDg1LCA3OCwgNzEsIDQ1LCA2NywgNzMsIAorICAgIDY5LCA4NSwgNjcsIDEyOCwgNzMsIDY5LCA4NSwgNzgsIDcxLCA0NSwgNjcsIDcyLCA3MywgNjksIDg1LCA2NywgNzIsIDEyOCwgCisgICAgNzMsIDY5LCA4NSwgNzgsIDE5OSwgNzMsIDY4LCA3NiwgNjksIDEyOCwgNzMsIDY4LCA3MywgNzcsIDEyOCwgNzMsIDY4LCAKKyAgICA3MywgMjA1LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2OCwgNTcsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjgsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY4LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA2OCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNjgsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY4LCAKKyAgICA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2OCwgNTEsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjgsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY4LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA2OCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNjcsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY3LCAKKyAgICA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NywgNjgsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjcsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY3LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA2NywgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNjcsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY3LCAKKyAgICA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NywgNTUsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjcsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY3LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA2NywgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNjcsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY3LCAKKyAgICA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NywgNDksIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjcsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY2LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA2NiwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNjYsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY2LCAKKyAgICA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NiwgNjYsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjYsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY2LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA2NiwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNjYsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY2LCAKKyAgICA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NiwgNTMsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjYsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY2LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA2NiwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNjYsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY2LCAKKyAgICA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NSwgNzAsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjUsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY1LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA2NSwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNjUsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY1LCAKKyAgICA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NSwgNTcsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjUsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY1LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA2NSwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNjUsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY1LCAKKyAgICA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NSwgNTEsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjUsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY1LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA2NSwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNTcsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU3LCAKKyAgICA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NywgNjgsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTcsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU3LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA1NywgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNTcsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU3LCAKKyAgICA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NywgNTUsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTcsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU3LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA1NywgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNTcsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU3LCAKKyAgICA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NywgNDksIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTcsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU2LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA1NiwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNTYsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU2LCAKKyAgICA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NiwgNjYsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTYsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU2LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA1NiwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNTYsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU2LCAKKyAgICA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NiwgNTMsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTYsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU2LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA1NiwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNTYsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU2LCAKKyAgICA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NSwgNzAsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTUsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU1LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA1NSwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNTUsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU1LCAKKyAgICA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NSwgNTcsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTUsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU1LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA1NSwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNTUsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU1LCAKKyAgICA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NSwgNTEsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTUsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU1LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA1NSwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNTQsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU0LCAKKyAgICA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NCwgNjYsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTQsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU0LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA1NCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNTQsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU0LCAKKyAgICA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NCwgNTMsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTQsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU0LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA1NCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNTQsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU0LCAKKyAgICA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MywgNzAsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTMsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUzLCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA1MywgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNTMsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUzLCAKKyAgICA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MywgNTcsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTMsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUzLCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA1MywgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNTMsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUzLCAKKyAgICA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MywgNTEsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTMsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUzLCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA1MywgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNTIsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUyLCAKKyAgICA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MiwgNjgsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTIsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUyLCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA1MiwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNTIsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUyLCAKKyAgICA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MiwgNTUsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTIsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUyLCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA1MiwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNTIsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUyLCAKKyAgICA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MiwgNDksIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTIsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUxLCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA1MSwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNTEsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUxLCAKKyAgICA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MSwgNjYsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTEsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUxLCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA1MSwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNTEsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUxLCAKKyAgICA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MSwgNTMsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTEsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUxLCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA1MSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNTEsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUxLCAKKyAgICA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MCwgNzAsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTAsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUwLCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA1MCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNTAsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUwLCAKKyAgICA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MCwgNTcsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTAsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUwLCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA1MCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNTAsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUwLCAKKyAgICA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MCwgNTEsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTAsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUwLCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA1MCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNDksIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ5LCAKKyAgICA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OSwgNjgsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDksIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ5LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA0OSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNDksIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ5LCAKKyAgICA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OSwgNTUsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDksIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ5LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA0OSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNDksIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ5LCAKKyAgICA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OSwgNDksIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDksIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ4LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA0OCwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNDgsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ4LCAKKyAgICA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OCwgNjYsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDgsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ4LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA0OCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNDgsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ4LCAKKyAgICA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OCwgNTMsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDgsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ4LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA0OCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNDgsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ4LCAKKyAgICA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA3MCwgNzAsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNzAsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDcwLCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA3MCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNzAsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDcwLCAKKyAgICA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA3MCwgNTcsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNzAsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDcwLCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA3MCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNzAsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDcwLCAKKyAgICA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA3MCwgNTEsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNzAsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDcwLCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA3MCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNjksIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY5LCAKKyAgICA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OSwgNjgsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjksIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY5LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA2OSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNjksIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY5LCAKKyAgICA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OSwgNTUsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjksIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY5LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA2OSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNjksIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY5LCAKKyAgICA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OSwgNDksIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjksIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY4LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA2OCwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNjgsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY4LCAKKyAgICA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OCwgNjYsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjgsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY4LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA2OCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNjgsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY4LCAKKyAgICA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OCwgNTMsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjgsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY4LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA2OCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNjgsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY4LCAKKyAgICA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NywgNzAsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjcsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY3LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA2NywgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNjcsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY3LCAKKyAgICA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NywgNTcsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjcsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY3LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA2NywgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNjcsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY3LCAKKyAgICA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NywgNTEsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjcsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY3LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA2NywgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNjYsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY2LCAKKyAgICA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NiwgNjgsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjYsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY2LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA2NiwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNjYsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY2LCAKKyAgICA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NiwgNTUsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjYsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY2LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA2NiwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNjYsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY2LCAKKyAgICA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NiwgNDksIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjYsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY1LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA2NSwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNjUsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY1LCAKKyAgICA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NSwgNjYsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjUsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY1LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA2NSwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNjUsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY1LCAKKyAgICA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NSwgNTMsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjUsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY1LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA2NSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNjUsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY1LCAKKyAgICA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NywgNzAsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTcsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU3LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA1NywgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNTcsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU3LCAKKyAgICA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NywgNTcsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTcsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU3LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA1NywgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNTcsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU3LCAKKyAgICA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NywgNTEsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTcsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU3LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA1NywgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNTYsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU2LCAKKyAgICA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NiwgNjgsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTYsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU2LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA1NiwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNTYsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU2LCAKKyAgICA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NiwgNTUsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTYsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU2LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA1NiwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNTYsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU2LCAKKyAgICA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NiwgNDksIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTYsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU1LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA1NSwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNTUsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU1LCAKKyAgICA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NSwgNjYsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTUsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU1LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA1NSwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNTUsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU1LCAKKyAgICA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NSwgNTMsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTUsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU1LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA1NSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNTUsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU1LCAKKyAgICA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NCwgNzAsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTQsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU0LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA1NCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNTQsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU0LCAKKyAgICA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NCwgNTcsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTQsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU0LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA1NCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNTQsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU0LCAKKyAgICA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NCwgNTEsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTQsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU0LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA1NCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNTMsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUzLCAKKyAgICA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MywgNjgsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTMsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUzLCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA1MywgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNTMsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUzLCAKKyAgICA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MywgNTUsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTMsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUzLCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA1MywgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNTMsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUzLCAKKyAgICA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MywgNDksIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTMsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUyLCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA1MiwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNTIsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUyLCAKKyAgICA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MiwgNjYsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTIsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUyLCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA1MiwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNTIsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUyLCAKKyAgICA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MiwgNTMsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTIsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUyLCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA1MiwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNTIsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUyLCAKKyAgICA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MSwgNzAsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTEsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUxLCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA1MSwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNTEsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUxLCAKKyAgICA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MSwgNTcsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTEsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUxLCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA1MSwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNTEsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUxLCAKKyAgICA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MSwgNTEsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTEsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUxLCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA1MSwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNTAsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUwLCAKKyAgICA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MCwgNjgsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTAsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUwLCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA1MCwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNTAsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUwLCAKKyAgICA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MCwgNTUsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTAsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUwLCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA1MCwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNTAsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUwLCAKKyAgICA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MCwgNDksIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTAsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ5LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA0OSwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNDksIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ5LCAKKyAgICA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OSwgNjYsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDksIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ5LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA0OSwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNDksIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ5LCAKKyAgICA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OSwgNTMsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDksIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ5LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA0OSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNDksIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ5LCAKKyAgICA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OCwgNzAsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDgsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ4LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA0OCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNDgsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ4LCAKKyAgICA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OCwgNTcsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDgsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ4LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA0OCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNDgsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ4LCAKKyAgICA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OCwgNTEsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDgsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ4LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA0OCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDU3LCA0OCwgNTIsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1NiwgNjgsIDU1LCAKKyAgICA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTYsIDY3LCA2NSwgNTcsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDU2LCA1NywgNjksIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1NSwgNjgsIDUyLCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNTUsIDY1LCA1NSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDU1LCA1NywgNTYsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1NSwgNTQsIDY4LCAKKyAgICA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTUsIDUzLCA1MSwgNTEsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDU1LCA1MywgNDksIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1NSwgNDksIDUwLCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNTUsIDQ4LCA2NiwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDU0LCA3MCwgNDksIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1NCwgNjksIDU2LCAKKyAgICA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTQsIDU1LCA1MCwgNjcsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDU0LCA1NSwgNDgsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1NCwgNTUsIDQ4LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNTQsIDU0LCA1MCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDU0LCA1MywgNjYsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1NCwgNTMsIDU3LCAKKyAgICA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTQsIDUzLCA1MywgNTUsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDU0LCA1MSwgNTMsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1NCwgNTEsIDQ4LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNTQsIDUwLCA1NywgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDU0LCA1MCwgNTMsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1NCwgNTAsIDUyLCAKKyAgICA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTMsIDcwLCA1NiwgNjcsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUzLCA2OCwgNjksIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MywgNjYsIDU2LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNTMsIDY2LCA1MywgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUzLCA1NywgNTAsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MywgNTcsIDQ5LCAKKyAgICA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTMsIDU2LCA3MCwgNDgsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUzLCA1MywgNjYsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MywgNTIsIDUxLCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNTMsIDUyLCA0OCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUzLCA1MSwgNzAsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MywgNTEsIDY3LCAKKyAgICA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTMsIDUwLCA2OCwgNjgsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUzLCA1MCwgNTUsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MywgNTAsIDUyLCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNTMsIDUwLCA0OSwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUzLCA0OSwgNTYsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MiwgNjksIDY1LCAKKyAgICA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTIsIDY5LCA1NiwgNjcsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUyLCA2OSwgNTAsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MiwgNjksIDQ4LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNTIsIDY5LCA0OCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNjUsIDQ5LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA2NSwgNDksIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OSwgCisgICAgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ5LCA2NSwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDksIDU3LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OSwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ5LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDksIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OSwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNjUsIDQ5LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA2NSwgNDksIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OSwgCisgICAgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ5LCA0OSwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDksIDQ4LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OCwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ4LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDgsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNjUsIDQ4LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA2NSwgNDgsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OCwgCisgICAgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ4LCA1NiwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDgsIDU1LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ4LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDgsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OCwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNjUsIDQ4LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA2NSwgNDgsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OCwgCisgICAgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDcwLCA3MCwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNzAsIDY5LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA3MCwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDcwLCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNzAsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA3MCwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDcwLCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNzAsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA3MCwgCisgICAgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDcwLCA1NCwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNzAsIDUzLCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA3MCwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDcwLCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNzAsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA3MCwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDcwLCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNjksIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OSwgCisgICAgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY5LCA2OCwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjksIDY3LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OSwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY5LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjksIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OSwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDY5LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNjksIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OSwgCisgICAgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY5LCA1MiwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjksIDUxLCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY5LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjksIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OCwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDY4LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNjgsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OCwgCisgICAgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY4LCA2NiwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjgsIDY1LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OCwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY4LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjgsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDY4LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNjgsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OCwgCisgICAgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY4LCA1MCwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjgsIDQ5LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY3LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjcsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NywgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDY3LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNjcsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NywgCisgICAgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY3LCA1NywgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjcsIDU2LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NywgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY3LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjcsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NywgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDY3LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNjcsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NywgCisgICAgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY3LCA0OCwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjYsIDcwLCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NiwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY2LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjYsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NiwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDY2LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNjYsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NiwgCisgICAgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY2LCA1NSwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjYsIDU0LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NiwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY2LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjYsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NiwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDY2LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNjYsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NSwgCisgICAgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY1LCA2OSwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjUsIDY4LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NSwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY1LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjUsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NSwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDY1LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNjUsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NSwgCisgICAgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY1LCA1MywgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjUsIDUyLCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NSwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY1LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjUsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NSwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDU3LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNTcsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NywgCisgICAgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU3LCA2NywgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTcsIDY2LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NywgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU3LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTcsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NywgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDU3LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNTcsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NywgCisgICAgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU3LCA1MSwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTcsIDUwLCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NywgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU3LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTYsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NiwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDU2LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNTYsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NiwgCisgICAgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU2LCA2NSwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTYsIDU3LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NiwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU2LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTYsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NiwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDU2LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNTYsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NiwgCisgICAgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU2LCA0OSwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTYsIDQ4LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NSwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU1LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTUsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NSwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDU1LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNTUsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NSwgCisgICAgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU1LCA1NiwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTUsIDU1LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NSwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU1LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTUsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NSwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDU1LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNTUsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NSwgCisgICAgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU0LCA3MCwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTQsIDY5LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NCwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU0LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTQsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NCwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDU0LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNTQsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NCwgCisgICAgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU0LCA1NCwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTQsIDUzLCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NCwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU0LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTQsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NCwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDU0LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNTMsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MywgCisgICAgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUzLCA2OCwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTMsIDY3LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MywgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUzLCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTMsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MywgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDUzLCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNTMsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MywgCisgICAgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUzLCA1MiwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTMsIDUxLCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MywgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUzLCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTMsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MiwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDUyLCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNTIsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MiwgCisgICAgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUyLCA2NiwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTIsIDY1LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MiwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUyLCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTIsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MiwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDUyLCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNTIsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MiwgCisgICAgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUyLCA1MCwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTIsIDQ5LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MiwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUxLCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTEsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MSwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDUxLCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNTEsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MSwgCisgICAgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUxLCA1NywgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTEsIDU2LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MSwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUxLCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTEsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDUxLCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNTEsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MSwgCisgICAgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUxLCA0OCwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTAsIDcwLCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MCwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUwLCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTAsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MCwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDUwLCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNTAsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MCwgCisgICAgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUwLCA1NSwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTAsIDU0LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MCwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUwLCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTAsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDUwLCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNTAsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OSwgCisgICAgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ5LCA2OSwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDksIDY4LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OSwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ5LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDksIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OSwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDQ5LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNDksIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OSwgCisgICAgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ5LCA1MywgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDksIDUyLCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OSwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ5LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDksIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OSwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDQ4LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNDgsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OCwgCisgICAgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ4LCA2NywgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDgsIDY2LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OCwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ4LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDgsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OCwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDQ4LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNDgsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OCwgCisgICAgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ4LCA1MSwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDgsIDUwLCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OCwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ4LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNzAsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA3MCwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDcwLCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNzAsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA3MCwgCisgICAgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDcwLCA2NSwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNzAsIDU3LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA3MCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDcwLCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNzAsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA3MCwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDcwLCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNzAsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA3MCwgCisgICAgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDcwLCA0OSwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNzAsIDQ4LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OSwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY5LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjksIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OSwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDY5LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNjksIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OSwgCisgICAgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY5LCA1NiwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjksIDU1LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OSwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY5LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjksIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OSwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDY5LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNjksIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OSwgCisgICAgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY4LCA3MCwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjgsIDY5LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OCwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY4LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjgsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OCwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDY4LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNjgsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OCwgCisgICAgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY4LCA1NCwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjgsIDUzLCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OCwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY4LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjgsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OCwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDY4LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNjcsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NywgCisgICAgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY3LCA2OCwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjcsIDY3LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NywgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY3LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjcsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NywgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDY3LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNjcsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NywgCisgICAgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY3LCA1MiwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjcsIDUxLCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NywgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY3LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjcsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NiwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDY2LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNjYsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NiwgCisgICAgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY2LCA2NiwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjYsIDY1LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NiwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY2LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjYsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NiwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDY2LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNjYsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NiwgCisgICAgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY2LCA1MCwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjYsIDQ5LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NiwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY1LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjUsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NSwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDY1LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNjUsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NSwgCisgICAgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY1LCA1NywgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjUsIDU2LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NSwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY1LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjUsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDY1LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNjUsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NSwgCisgICAgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY1LCA0OCwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTcsIDcwLCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NywgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU3LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTcsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NywgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDU3LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNTcsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NywgCisgICAgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU3LCA1NSwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTcsIDU0LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NywgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU3LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTcsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NywgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDU3LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNTcsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NiwgCisgICAgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU2LCA2OSwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTYsIDY4LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NiwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU2LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTYsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NiwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDU2LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNTYsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NiwgCisgICAgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU2LCA1MywgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTYsIDUyLCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NiwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU2LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTYsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NiwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDU1LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNTUsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NSwgCisgICAgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU1LCA2NywgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTUsIDY2LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU1LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTUsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NSwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDU1LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNTUsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NSwgCisgICAgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU1LCA1MSwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTUsIDUwLCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NSwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU1LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTQsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NCwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDU0LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNTQsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NCwgCisgICAgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU0LCA2NSwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTQsIDU3LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU0LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTQsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NCwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDU0LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNTQsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NCwgCisgICAgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU0LCA0OSwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTQsIDQ4LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MywgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUzLCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTMsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MywgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDUzLCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNTMsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MywgCisgICAgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUzLCA1NiwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTMsIDU1LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MywgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUzLCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTMsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MywgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDUzLCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNTMsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MywgCisgICAgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUyLCA3MCwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTIsIDY5LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MiwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUyLCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTIsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MiwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDUyLCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNTIsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MiwgCisgICAgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUyLCA1NCwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTIsIDUzLCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MiwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUyLCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTIsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MiwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDUyLCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNTEsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MSwgCisgICAgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUxLCA2OCwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTEsIDY3LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MSwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUxLCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTEsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MSwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDUxLCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNTEsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MSwgCisgICAgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUxLCA1MiwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTEsIDUxLCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUxLCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTEsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MCwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDUwLCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNTAsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MCwgCisgICAgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUwLCA2NiwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTAsIDY1LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MCwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUwLCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTAsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDUwLCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNTAsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MCwgCisgICAgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUwLCA1MCwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTAsIDQ5LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ5LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDksIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OSwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDQ5LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNDksIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OSwgCisgICAgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ5LCA1NywgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDksIDU2LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OSwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ5LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDksIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDQ5LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNDksIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OSwgCisgICAgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ5LCA0OCwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDgsIDcwLCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OCwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ4LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDgsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OCwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDQ4LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNDgsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OCwgCisgICAgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ4LCA1NSwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDgsIDU0LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OCwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ4LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDgsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDQ4LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNDgsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc4LCA4NCwgNzMsIDcwLCA3MywgNjcsIDY1LCA4NCwgNzMsIDc5LCA3OCwgCisgICAgMTI4LCA3MywgNjgsIDY5LCA3OCwgODQsIDczLCA2NywgNjUsIDIwNCwgNzMsIDY3LCA3OSwgNzgsIDEyOCwgNzMsIDY3LCAKKyAgICA3MiwgNzksIDg1LCAxMjgsIDczLCA2NywgNzIsIDc5LCA4MywgMTI4LCA3MywgNjcsIDcyLCA3MywgNzcsIDY1LCA4NCwgNzksIAorICAgIDgzLCAxMjgsIDczLCA2NywgNzIsIDY1LCA2OCwgNzMsIDc4LCAxMjgsIDczLCA2NywgNjksIDc2LCA2NSwgNzgsIDY4LCA3MywgCisgICAgNjcsIDQ1LCA4OSwgODIsIDEyOCwgNzMsIDY2LCA3MywgNzAsIDczLCA3NiwgNzMsIDEyOCwgNzMsIDY1LCA4NSwgNjgsIDY1LCAKKyAgICAxMjgsIDczLCA0OCwgNDksIDUzLCAxMjgsIDczLCA0OCwgNDksIDUyLCAxMjgsIDczLCA0OCwgNDksIDUxLCAxMjgsIDczLCAKKyAgICA0OCwgNDksIDUwLCAxMjgsIDczLCA0OCwgNDksIDQ5LCA2NSwgMTI4LCA3MywgNDgsIDQ5LCA0OSwgMTI4LCA3MywgNDgsIAorICAgIDQ5LCA0OCwgNjUsIDEyOCwgNzMsIDQ4LCA0OSwgNDgsIDEyOCwgNzMsIDQ4LCA0OCwgNTcsIDY1LCAxMjgsIDczLCA0OCwgCisgICAgNDgsIDU3LCAxMjgsIDczLCA0OCwgNDgsIDU2LCAxMjgsIDczLCA0OCwgNDgsIDU1LCAxMjgsIDczLCA0OCwgNDgsIDU0LCAKKyAgICAxMjgsIDczLCA0OCwgNDgsIDUzLCA2NSwgMTI4LCA3MywgNDgsIDQ4LCA1MywgMTI4LCA3MywgNDgsIDQ4LCA1MiwgMTI4LCAKKyAgICA3MywgNDgsIDQ4LCA1MSwgMTI4LCA3MywgNDgsIDQ4LCA1MCwgMTI4LCA3MywgNDgsIDQ4LCA0OSwgMTI4LCA3MywgNDUsIAorICAgIDg5LCA4NSwgMTI4LCA3MywgNDUsIDg5LCA3OSwgMTI4LCA3MywgNDUsIDg5LCA2OSwgNzksIDEyOCwgNzMsIDQ1LCA4OSwgCisgICAgNjksIDEyOCwgNzMsIDQ1LCA4OSwgNjUsIDY5LCAxMjgsIDczLCA0NSwgODksIDY1LCA0NSwgNzksIDEyOCwgNzMsIDQ1LCAKKyAgICA4OSwgNjUsIDEyOCwgNzMsIDQ1LCA3OSwgNDUsIDczLCAxMjgsIDczLCA0NSwgNzksIDEyOCwgNzMsIDQ1LCA2OSwgODUsIAorICAgIDEyOCwgNzMsIDQ1LCA2NiwgNjksIDY1LCA3NywgMTI4LCA3MywgNDUsIDY1LCA4MiwgNjUsIDY5LCA2NSwgMTI4LCA3MywgCisgICAgNDUsIDY1LCAxMjgsIDcyLCA5MCwgOTAsIDkwLCA3MSwgMTI4LCA3MiwgOTAsIDkwLCA5MCwgMTI4LCA3MiwgOTAsIDkwLCAKKyAgICA4MCwgMTI4LCA3MiwgOTAsIDkwLCAxMjgsIDcyLCA5MCwgODcsIDcxLCAxMjgsIDcyLCA5MCwgODcsIDEyOCwgNzIsIDkwLCAKKyAgICA4NCwgMTI4LCA3MiwgOTAsIDcxLCAxMjgsIDcyLCA4OSwgODMsIDg0LCA2OSwgODIsIDY5LCA4MywgNzMsIDIxMSwgNzIsIAorICAgIDg5LCA4MCwgNzksIDY4LCA3MywgNjUsIDgzLCA4NCwgNzksIDc2LCA2OSwgMTI4LCA3MiwgODksIDgwLCA3MiwgNjksIDc4LCAKKyAgICA2NSwgODQsIDczLCA3OSwgMjA2LCA3MiwgODksIDgwLCA3MiwgNjksIDc4LCA0NSwgNzcsIDczLCA3OCwgODUsIDgzLCAxMjgsIAorICAgIDcyLCA4OSwgODAsIDcyLCA2OSwgNzgsIDEyOCwgNzIsIDg5LCA4MCwgNzIsIDY5LCAyMDYsIDcyLCA4OCwgODcsIDcxLCAKKyAgICAxMjgsIDcyLCA4OCwgODUsIDc5LCA4OCwgMTI4LCA3MiwgODgsIDg1LCA3OSwgODQsIDEyOCwgNzIsIDg4LCA4NSwgNzksIAorICAgIDgwLCAxMjgsIDcyLCA4OCwgODUsIDc5LCAxMjgsIDcyLCA4OCwgNzksIDg4LCAxMjgsIDcyLCA4OCwgNzksIDg0LCAxMjgsIAorICAgIDcyLCA4OCwgNzksIDgwLCAxMjgsIDcyLCA4OCwgNzksIDEyOCwgNzIsIDg4LCA3MywgODgsIDEyOCwgNzIsIDg4LCA3MywgCisgICAgODQsIDEyOCwgNzIsIDg4LCA3MywgODAsIDEyOCwgNzIsIDg4LCA3MywgNjksIDg4LCAxMjgsIDcyLCA4OCwgNzMsIDY5LCAKKyAgICA4NCwgMTI4LCA3MiwgODgsIDczLCA2OSwgODAsIDEyOCwgNzIsIDg4LCA3MywgNjksIDEyOCwgNzIsIDg4LCA3MywgMTI4LCAKKyAgICA3MiwgODgsIDY5LCA4OCwgMTI4LCA3MiwgODgsIDY5LCA4MCwgMTI4LCA3MiwgODgsIDY5LCAxMjgsIDcyLCA4OCwgNjUsIAorICAgIDg4LCAxMjgsIDcyLCA4OCwgNjUsIDg0LCAxMjgsIDcyLCA4OCwgNjUsIDgwLCAxMjgsIDcyLCA4OCwgNjUsIDEyOCwgNzIsIAorICAgIDg3LCA4NSwgMTI4LCA3MiwgODcsIDY1LCA3MywgODIsIDEyOCwgNzIsIDg3LCA2NSwgNzIsIDEyOCwgNzIsIDg2LCAxMjgsIAorICAgIDcyLCA4NSwgODYsIDY1LCAxMjgsIDcyLCA4NSwgODMsIDcyLCA2OSwgMTk2LCA3MiwgODUsIDgzLCA3MiwgMTI4LCA3MiwgCisgICAgODUsIDgyLCA2NSwgNzgsIDEyOCwgNzIsIDg1LCA3OSwgODQsIDEyOCwgNzIsIDg1LCA3OCwgNjgsIDgyLCA2OSwgNjgsIDgzLCAKKyAgICAxMjgsIDcyLCA4NSwgNzgsIDY4LCA4MiwgNjksIDY4LCAxMjgsIDcyLCA4NSwgNzgsIDY4LCA4MiwgNjksIDE5NiwgNzIsIAorICAgIDg1LCA3OCwgMTI4LCA3MiwgODUsIDc3LCA2NSwgNzgsIDEyOCwgNzIsIDg1LCA3NywgNjUsIDIwNiwgNzIsIDg1LCA3NiwgCisgICAgNTAsIDEyOCwgNzIsIDg1LCA3MywgNzMsIDg0LCA3OSwgMTI4LCA3MiwgODUsIDY2LCA1MCwgMTI4LCA3MiwgODUsIDY2LCAKKyAgICAxNzgsIDcyLCA4NSwgNjYsIDEyOCwgNzIsIDg1LCA2NSwgODIsIDY1LCA2OCwgNjgsIDc5LCAxMjgsIDcyLCA4NSwgNjUsIAorICAgIDc4LCAxMjgsIDcyLCA4NCwgODMsIDEyOCwgNzIsIDg0LCA3NCwgMTI4LCA3MiwgODIsIDg5LCA4NiwgNzgsIDczLCAxOTMsIAorICAgIDcyLCA4MCwgODcsIDcxLCAxMjgsIDcyLCA4MCwgNjUsIDEyOCwgNzIsIDgwLCAxMjgsIDcyLCA3OSwgODUsIDgzLCAxOTcsIAorICAgIDcyLCA3OSwgODUsIDgyLCA3MSwgNzYsIDY1LCA4MywgODMsIDEyOCwgNzIsIDc5LCA4NSwgODIsIDcxLCA3NiwgNjUsIDgzLCAKKyAgICAyMTEsIDcyLCA3OSwgODUsIDgyLCAxMjgsIDcyLCA3OSwgODUsIDIxMCwgNzIsIDc5LCA4NCwgNjksIDc2LCAxMjgsIDcyLCAKKyAgICA3OSwgODQsIDY1LCAxMjgsIDcyLCA3OSwgODMsIDgwLCA3MywgODQsIDY1LCA3NiwgMTI4LCA3MiwgNzksIDgyLCA4MywgNjksIAorICAgIDEyOCwgNzIsIDc5LCA4MiwgODMsIDE5NywgNzIsIDc5LCA4MiwgODIsIDEyOCwgNzIsIDc5LCA4MiwgNzgsIDgzLCAxMjgsIAorICAgIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA3NiwgMjE3LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCAKKyAgICA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA1NCwgNDUsIDQ4LCA1NCwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgCisgICAgODQsIDY1LCA3NiwgNDUsIDQ4LCA1NCwgNDUsIDQ4LCA1MywgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIAorICAgIDY1LCA3NiwgNDUsIDQ4LCA1NCwgNDUsIDQ4LCA1MiwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCAKKyAgICA3NiwgNDUsIDQ4LCA1NCwgNDUsIDQ4LCA1MSwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgCisgICAgNDUsIDQ4LCA1NCwgNDUsIDQ4LCA1MCwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIAorICAgIDQ4LCA1NCwgNDUsIDQ4LCA0OSwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCAKKyAgICA1NCwgNDUsIDQ4LCA0OCwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA1MywgCisgICAgNDUsIDQ4LCA1NCwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA1MywgNDUsIAorICAgIDQ4LCA1MywgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA1MywgNDUsIDQ4LCAKKyAgICA1MiwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA1MywgNDUsIDQ4LCA1MSwgCisgICAgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA1MywgNDUsIDQ4LCA1MCwgMTI4LCAKKyAgICA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA1MywgNDUsIDQ4LCA0OSwgMTI4LCA3MiwgCisgICAgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA1MywgNDUsIDQ4LCA0OCwgMTI4LCA3MiwgNzksIAorICAgIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA1MiwgNDUsIDQ4LCA1NCwgMTI4LCA3MiwgNzksIDgyLCAKKyAgICA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA1MiwgNDUsIDQ4LCA1MywgMTI4LCA3MiwgNzksIDgyLCA3MywgCisgICAgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA1MiwgNDUsIDQ4LCA1MiwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIAorICAgIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA1MiwgNDUsIDQ4LCA1MSwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCAKKyAgICA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA1MiwgNDUsIDQ4LCA1MCwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgCisgICAgODQsIDY1LCA3NiwgNDUsIDQ4LCA1MiwgNDUsIDQ4LCA0OSwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIAorICAgIDY1LCA3NiwgNDUsIDQ4LCA1MiwgNDUsIDQ4LCA0OCwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCAKKyAgICA3NiwgNDUsIDQ4LCA1MSwgNDUsIDQ4LCA1NCwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgCisgICAgNDUsIDQ4LCA1MSwgNDUsIDQ4LCA1MywgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIAorICAgIDQ4LCA1MSwgNDUsIDQ4LCA1MiwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCAKKyAgICA1MSwgNDUsIDQ4LCA1MSwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA1MSwgCisgICAgNDUsIDQ4LCA1MCwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA1MSwgNDUsIAorICAgIDQ4LCA0OSwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA1MSwgNDUsIDQ4LCAKKyAgICA0OCwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA1MCwgNDUsIDQ4LCA1NCwgCisgICAgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA1MCwgNDUsIDQ4LCA1MywgMTI4LCAKKyAgICA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA1MCwgNDUsIDQ4LCA1MiwgMTI4LCA3MiwgCisgICAgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA1MCwgNDUsIDQ4LCA1MSwgMTI4LCA3MiwgNzksIAorICAgIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA1MCwgNDUsIDQ4LCA1MCwgMTI4LCA3MiwgNzksIDgyLCAKKyAgICA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA1MCwgNDUsIDQ4LCA0OSwgMTI4LCA3MiwgNzksIDgyLCA3MywgCisgICAgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA1MCwgNDUsIDQ4LCA0OCwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIAorICAgIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA0OSwgNDUsIDQ4LCA1NCwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCAKKyAgICA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA0OSwgNDUsIDQ4LCA1MywgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgCisgICAgODQsIDY1LCA3NiwgNDUsIDQ4LCA0OSwgNDUsIDQ4LCA1MiwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIAorICAgIDY1LCA3NiwgNDUsIDQ4LCA0OSwgNDUsIDQ4LCA1MSwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCAKKyAgICA3NiwgNDUsIDQ4LCA0OSwgNDUsIDQ4LCA1MCwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgCisgICAgNDUsIDQ4LCA0OSwgNDUsIDQ4LCA0OSwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIAorICAgIDQ4LCA0OSwgNDUsIDQ4LCA0OCwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCAKKyAgICA0OCwgNDUsIDQ4LCA1NCwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA0OCwgCisgICAgNDUsIDQ4LCA1MywgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA0OCwgNDUsIAorICAgIDQ4LCA1MiwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA0OCwgNDUsIDQ4LCAKKyAgICA1MSwgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA0OCwgNDUsIDQ4LCA1MCwgCisgICAgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA0OCwgNDUsIDQ4LCA0OSwgMTI4LCAKKyAgICA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNDUsIDQ4LCA0OCwgNDUsIDQ4LCA0OCwgMTI4LCA3MiwgCisgICAgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgMTI4LCA3MiwgNzksIDgyLCA3MywgMTI4LCA3MiwgNzksIDgyLCAKKyAgICAxOTMsIDcyLCA3OSwgNzksIDg1LCAxMjgsIDcyLCA3OSwgNzksIDgyLCA4NSwgMTI4LCA3MiwgNzksIDc5LCA4MCwgMTI4LCAKKyAgICA3MiwgNzksIDc5LCA3OCwgMTI4LCA3MiwgNzksIDc5LCA3NSwgNjksIDE5NiwgNzIsIDc5LCA3OCwgNjksIDg5LCA2NiwgNjksIAorICAgIDY5LCAxMjgsIDcyLCA3OSwgNzgsIDY5LCAyMTcsIDcyLCA3OSwgNzcsIDc5LCA4NCwgNzIsIDY5LCA4NCwgNzMsIDY3LCAKKyAgICAxMjgsIDcyLCA3OSwgNzcsIDc5LCA4NCwgNzIsIDY5LCA4NCwgNzMsIDE5NSwgNzIsIDc5LCA3NiwgNzksIDEyOCwgNzIsIAorICAgIDc5LCA3NiwgNzYsIDc5LCAyMTUsIDcyLCA3OSwgNzYsIDY5LCAxMjgsIDcyLCA3OSwgNzYsIDY4LCA3MywgNzgsIDE5OSwgCiAgICAgNzIsIDc5LCA3NiwgNjUsIDc3LCAxMjgsIDcyLCA3OSwgNzYsIDY1LCAyMDUsIDcyLCA3OSwgNzUsIDY1LCAxMjgsIDcyLCAKLSAgICA3OSwgNzMsIDEyOCwgNzIsIDc5LCA2NywgNzIsIDc5LCAxMjgsIDcyLCA3OCwgODUsIDg0LCAxMjgsIDcyLCA3OCwgODUsIAotICAgIDc5LCA4OCwgMTI4LCA3MiwgNzgsIDg1LCA3OSwgMTI4LCA3MiwgNzgsIDc5LCA4OCwgMTI4LCA3MiwgNzgsIDc5LCA4NCwgCi0gICAgMTI4LCA3MiwgNzgsIDc5LCA4MCwgMTI4LCA3MiwgNzgsIDczLCA4OCwgMTI4LCA3MiwgNzgsIDczLCA4NCwgMTI4LCA3MiwgCi0gICAgNzgsIDczLCA4MCwgMTI4LCA3MiwgNzgsIDczLCA2OSwgODgsIDEyOCwgNzIsIDc4LCA3MywgNjksIDg0LCAxMjgsIDcyLCAKLSAgICA3OCwgNzMsIDY5LCA4MCwgMTI4LCA3MiwgNzgsIDczLCA2OSwgMTI4LCA3MiwgNzgsIDczLCAxMjgsIDcyLCA3OCwgNjksIAotICAgIDg4LCAxMjgsIDcyLCA3OCwgNjksIDgwLCAxMjgsIDcyLCA3OCwgNjksIDEyOCwgNzIsIDc4LCA2NSwgODgsIDEyOCwgNzIsIAotICAgIDc4LCA2NSwgODQsIDEyOCwgNzIsIDc4LCA2NSwgODAsIDEyOCwgNzIsIDc4LCA2NSwgMTI4LCA3MiwgNzcsIDg5LCA4OCwgCi0gICAgMTI4LCA3MiwgNzcsIDg5LCA4MiwgODgsIDEyOCwgNzIsIDc3LCA4OSwgODIsIDEyOCwgNzIsIDc3LCA4OSwgODAsIDEyOCwgCi0gICAgNzIsIDc3LCA4OSwgMTI4LCA3MiwgNzcsIDg1LCA4OCwgMTI4LCA3MiwgNzcsIDg1LCA4NCwgMTI4LCA3MiwgNzcsIDg1LCAKLSAgICA4MiwgODgsIDEyOCwgNzIsIDc3LCA4NSwgODIsIDEyOCwgNzIsIDc3LCA4NSwgODAsIDEyOCwgNzIsIDc3LCA4NSwgNzksIAotICAgIDg4LCAxMjgsIDcyLCA3NywgODUsIDc5LCA4MCwgMTI4LCA3MiwgNzcsIDg1LCA3OSwgMTI4LCA3MiwgNzcsIDg1LCAxMjgsIAotICAgIDcyLCA3NywgNzksIDg4LCAxMjgsIDcyLCA3NywgNzksIDg0LCAxMjgsIDcyLCA3NywgNzksIDgwLCAxMjgsIDcyLCA3NywgCi0gICAgNzksIDEyOCwgNzIsIDc3LCA3MywgODgsIDEyOCwgNzIsIDc3LCA3MywgODQsIDEyOCwgNzIsIDc3LCA3MywgODAsIDEyOCwgCi0gICAgNzIsIDc3LCA3MywgNjksIDg4LCAxMjgsIDcyLCA3NywgNzMsIDY5LCA4MCwgMTI4LCA3MiwgNzcsIDczLCA2OSwgMTI4LCAKLSAgICA3MiwgNzcsIDczLCAxMjgsIDcyLCA3NywgNjksIDEyOCwgNzIsIDc3LCA2NSwgODgsIDEyOCwgNzIsIDc3LCA2NSwgODQsIAotICAgIDEyOCwgNzIsIDc3LCA2NSwgODAsIDEyOCwgNzIsIDc3LCA2NSwgMTI4LCA3MiwgNzYsIDg5LCA4OCwgMTI4LCA3MiwgNzYsIAotICAgIDg5LCA4NCwgMTI4LCA3MiwgNzYsIDg5LCA4MiwgODgsIDEyOCwgNzIsIDc2LCA4OSwgODIsIDEyOCwgNzIsIDc2LCA4OSwgCi0gICAgODAsIDEyOCwgNzIsIDc2LCA4OSwgMTI4LCA3MiwgNzYsIDg1LCA4OCwgMTI4LCA3MiwgNzYsIDg1LCA4NCwgMTI4LCA3MiwgCi0gICAgNzYsIDg1LCA4MiwgODgsIDEyOCwgNzIsIDc2LCA4NSwgODIsIDEyOCwgNzIsIDc2LCA4NSwgODAsIDEyOCwgNzIsIDc2LCAKLSAgICA4NSwgNzksIDg4LCAxMjgsIDcyLCA3NiwgODUsIDc5LCA4MCwgMTI4LCA3MiwgNzYsIDg1LCA3OSwgMTI4LCA3MiwgNzYsIAotICAgIDg1LCAxMjgsIDcyLCA3NiwgNzksIDg4LCAxMjgsIDcyLCA3NiwgNzksIDgwLCAxMjgsIDcyLCA3NiwgNzksIDEyOCwgNzIsIAotICAgIDc2LCA3MywgODgsIDEyOCwgNzIsIDc2LCA3MywgODQsIDEyOCwgNzIsIDc2LCA3MywgODAsIDEyOCwgNzIsIDc2LCA3MywgCi0gICAgNjksIDg4LCAxMjgsIDcyLCA3NiwgNzMsIDY5LCA4MCwgMTI4LCA3MiwgNzYsIDczLCA2OSwgMTI4LCA3MiwgNzYsIDczLCAKLSAgICAxMjgsIDcyLCA3NiwgNjksIDg4LCAxMjgsIDcyLCA3NiwgNjksIDgwLCAxMjgsIDcyLCA3NiwgNjksIDEyOCwgNzIsIDc2LCAKLSAgICA2NSwgODgsIDEyOCwgNzIsIDc2LCA2NSwgODQsIDEyOCwgNzIsIDc2LCA2NSwgODAsIDEyOCwgNzIsIDc2LCA2NSwgMTI4LCAKLSAgICA3MiwgNzUsIDEyOCwgNzIsIDczLCA5MCwgNjYsIDEyOCwgNzIsIDczLCA4MywgODQsIDc5LCA4MiwgNzMsIDE5NSwgNzIsIAotICAgIDczLCA4MiwgNzMsIDgxLCAxMjgsIDcyLCA3MywgNzEsIDcyLCA0NSwgODMsIDgwLCA2OSwgNjksIDE5NiwgNzIsIDczLCA3MSwgCi0gICAgNzIsIDQ1LCA4MiwgNjksIDg2LCA2OSwgODIsIDgzLCA2OSwgNjgsIDQ1LCAxODUsIDcyLCA3MywgNzEsIDcyLCA0NSwgNzIsIAotICAgIDY5LCA2OSwgNzYsIDY5LCAxOTYsIDcyLCA3MywgNjksIDg4LCAxMjgsIDcyLCA3MywgNjksIDg1LCA3MiwgNDUsIDgzLCA3MywgCi0gICAgNzksIDgzLCAxMjgsIDcyLCA3MywgNjksIDg1LCA3MiwgNDUsIDgyLCA3MywgNjksIDg1LCA3NiwgMTI4LCA3MiwgNzMsIDY5LCAKLSAgICA4NSwgNzIsIDQ1LCA4MCwgNzMsIDY5LCA4NSwgODAsIDEyOCwgNzIsIDczLCA2OSwgODUsIDcyLCA0NSwgNzgsIDczLCA2OSwgCi0gICAgODUsIDc4LCAxMjgsIDcyLCA3MywgNjksIDg1LCA3MiwgNDUsIDc3LCA3MywgNjksIDg1LCA3NywgMTI4LCA3MiwgNzMsIDY5LCAKLSAgICA4NSwgMjAwLCA3MiwgNzMsIDY5LCA4MiwgNzksIDcxLCA3NiwgODksIDgwLCA3MiwgNzMsIDE5NSwgNzIsIDczLCA2OSwgCi0gICAgMTI4LCA3MiwgNzMsIDY4LCA3MywgNzgsIDE5OSwgNzIsIDczLCA2OCwgNjksIDg0LCAxMjgsIDcyLCA3MywgNjgsIDY5LCAKLSAgICAxMjgsIDcyLCA3MywgNjYsIDczLCA4MywgNjcsIDg1LCA4MywgMTI4LCA3MiwgNzIsIDg3LCA2NSwgMTI4LCA3MiwgNzIsIAotICAgIDg1LCAxMjgsIDcyLCA3MiwgNzMsIDEyOCwgNzIsIDcyLCA2OSwgNjksIDEyOCwgNzIsIDcyLCA2OSwgMTI4LCA3MiwgNzIsIAotICAgIDY1LCA2NSwgMTI4LCA3MiwgNzEsIDEyOCwgNzIsIDY5LCA4OCwgNzMsIDcwLCA3OSwgODIsIDIwNSwgNzIsIDY5LCA4OCwgCi0gICAgNjUsIDcxLCA4MiwgNjUsIDIwNSwgNzIsIDY5LCA4OCwgNjUsIDcxLCA3OSwgNzgsIDEyOCwgNzIsIDY5LCA4MiwgODUsIDg0LCAKLSAgICA4NSwgMTI4LCA3MiwgNjksIDgyLCA4NSwgMTI4LCA3MiwgNjksIDgyLCA3NywgNzMsIDg0LCA3MywgNjUsIDIwNiwgNzIsIAotICAgIDY5LCA4MiwgNzcsIDczLCA3OSwgNzgsIDczLCA2NSwgMjA2LCA3MiwgNjksIDgyLCA3NywgNjksIDgzLCAxMjgsIDcyLCA2OSwgCi0gICAgODIsIDY5LCAxMjgsIDcyLCA2OSwgODIsIDY2LCAxMjgsIDcyLCA2OSwgODIsIDY1LCA2OSwgODUsIDIwNSwgNzIsIDY5LCAKLSAgICA3OCwgNzEsIDEyOCwgNzIsIDY5LCA3OCwgMTk5LCA3MiwgNjksIDc3LCA4MCwgMTI4LCA3MiwgNjksIDc2LCA3NywgNjksIAotICAgIDg0LCAxMjgsIDcyLCA2OSwgNzYsIDc3LCA2OSwgMjEyLCA3MiwgNjksIDc2LCAyMDUsIDcyLCA2OSwgNzYsIDczLCA2NywgCi0gICAgNzksIDgwLCA4NCwgNjksIDgyLCAxMjgsIDcyLCA2OSwgNzUsIDg1LCA4NCwgNjUsIDY1LCA4MiwgODUsIDEyOCwgNzIsIDY5LCAKLSAgICA3MywgODMsIDY5LCA3MywgMTI4LCA3MiwgNjksIDY1LCA4NiwgODksIDEyOCwgNzIsIDY5LCA2NSwgODYsIDY5LCA3OCwgNzYsIAotICAgIDIxNywgNzIsIDY5LCA2NSwgODYsIDY5LCA3OCwgMTI4LCA3MiwgNjksIDY1LCA4NiwgNjksIDIwNiwgNzIsIDY5LCA2NSwgCi0gICAgODIsIDg0LCA4MywgMTI4LCA3MiwgNjksIDY1LCA4MiwgODQsIDQ1LCA4MywgNzIsIDY1LCA4MCwgNjksIDE5NiwgNzIsIDY5LCAKLSAgICA2NSwgODIsIDg0LCAxMjgsIDcyLCA2OSwgNjUsIDgyLCAyMTIsIDcyLCA2OSwgNjUsIDgyLCA0NSwgNzgsIDc5LCA0NSwgNjksIAotICAgIDg2LCA3MywgMjA0LCA3MiwgNjksIDY1LCA2OCwgODMsIDg0LCA4MiwgNzksIDc1LCA2OSwgMTI4LCA3MiwgNjksIDY1LCA2OCwgCi0gICAgODMsIDg0LCA3OSwgNzgsIDE5NywgNzIsIDY5LCA2NSwgNjgsIDgwLCA3MiwgNzksIDc4LCA2OSwgMTI4LCA3MiwgNjksIDY1LCAKLSAgICA2OCwgNzMsIDc4LCA3MSwgMTI4LCA3MiwgNjYsIDY1LCA4MywgNjUsIDQ1LCA2OSwgODMsIDY1LCA4MywgMTkzLCA3MiwgNjYsIAotICAgIDY1LCA4MywgMTkzLCA3MiwgNjUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA3MiwgNjUsIDg2LCA2OSwgMTI4LCA3MiwgCi0gICAgNjUsIDg1LCA4MCwgODQsIDgzLCA4NCwgNzMsIDc3LCA3NywgNjksIDEyOCwgNzIsIDY1LCA4NCwgNzIsIDczLCAxMjgsIDcyLCAKLSAgICA2NSwgODQsIDY5LCAxMjgsIDcyLCA2NSwgODQsIDY3LCA3MiwgNzMsIDc4LCAxOTksIDcyLCA2NSwgODQsIDY1LCAxOTgsIAotICAgIDcyLCA2NSwgODMsIDY5LCAyMTAsIDcyLCA2NSwgODMsIDY1LCA3OCwgODQsIDY1LCAxMjgsIDcyLCA2NSwgODIsIDgwLCA3OSwgCi0gICAgNzksIDc4LCAxMjgsIDcyLCA2NSwgODIsIDgwLCA3OSwgNzksIDIwNiwgNzIsIDY1LCA4MiwgNzcsIDc5LCA3OCwgNzMsIDY3LCAKLSAgICAxMjgsIDcyLCA2NSwgODIsIDc1LCA3NiwgNjksIDY1LCAyMDYsIDcyLCA2NSwgODIsIDY4LCA3OCwgNjksIDgzLCA4MywgCi0gICAgMTI4LCA3MiwgNjUsIDgyLCAxOTYsIDcyLCA2NSwgODAsIDgwLCAyMTcsIDcyLCA2NSwgNzgsIDg1LCA3OCwgNzksIDIwNywgCi0gICAgNzIsIDY1LCA3OCwgNzEsIDkwLCA3MiwgNzksIDIxMywgNzIsIDY1LCA3OCwgNjgsIDgzLCAxMjgsIDcyLCA2NSwgNzgsIDY4LCAKLSAgICAyMTEsIDcyLCA2NSwgNzgsIDY4LCA3NiwgNjksIDgzLCAxMjgsIDcyLCA2NSwgNzgsIDY4LCA3NiwgNjksIDEyOCwgNzIsIAotICAgIDY1LCA3OCwgNjgsIDY2LCA2NSwgNzEsIDEyOCwgNzIsIDY1LCA3OCwgNjgsIDEyOCwgNzIsIDY1LCA3OCwgNDUsIDY1LCA3NSwgCi0gICAgNjUsIDg0LCAxMjgsIDcyLCA2NSwgNzcsIDkwLCA2NSwgMTI4LCA3MiwgNjUsIDc3LCA4MywgODQsIDY5LCAyMTAsIDcyLCAKKyAgICA3OSwgNjcsIDcyLCA3OSwgMTI4LCA3MiwgNzgsIDg1LCA4NCwgMTI4LCA3MiwgNzgsIDg1LCA3OSwgODgsIDEyOCwgNzIsIAorICAgIDc4LCA4NSwgNzksIDEyOCwgNzIsIDc4LCA4NSwgNjYsIDEyOCwgNzIsIDc4LCA3OSwgODgsIDEyOCwgNzIsIDc4LCA3OSwgCisgICAgODQsIDEyOCwgNzIsIDc4LCA3OSwgODAsIDEyOCwgNzIsIDc4LCA3MywgODgsIDEyOCwgNzIsIDc4LCA3MywgODQsIDEyOCwgCisgICAgNzIsIDc4LCA3MywgODAsIDEyOCwgNzIsIDc4LCA3MywgNjksIDg4LCAxMjgsIDcyLCA3OCwgNzMsIDY5LCA4NCwgMTI4LCAKKyAgICA3MiwgNzgsIDczLCA2OSwgODAsIDEyOCwgNzIsIDc4LCA3MywgNjksIDEyOCwgNzIsIDc4LCA3MywgMTI4LCA3MiwgNzgsIAorICAgIDY5LCA4OCwgMTI4LCA3MiwgNzgsIDY5LCA4MCwgMTI4LCA3MiwgNzgsIDY5LCAxMjgsIDcyLCA3OCwgNjUsIDg4LCAxMjgsIAorICAgIDcyLCA3OCwgNjUsIDg1LCAxMjgsIDcyLCA3OCwgNjUsIDg0LCAxMjgsIDcyLCA3OCwgNjUsIDgwLCAxMjgsIDcyLCA3OCwgCisgICAgNjUsIDEyOCwgNzIsIDc3LCA4OSwgODgsIDEyOCwgNzIsIDc3LCA4OSwgODIsIDg4LCAxMjgsIDcyLCA3NywgODksIDgyLCAKKyAgICAxMjgsIDcyLCA3NywgODksIDgwLCAxMjgsIDcyLCA3NywgODksIDEyOCwgNzIsIDc3LCA4NSwgODgsIDEyOCwgNzIsIDc3LCAKKyAgICA4NSwgODQsIDEyOCwgNzIsIDc3LCA4NSwgODIsIDg4LCAxMjgsIDcyLCA3NywgODUsIDgyLCAxMjgsIDcyLCA3NywgODUsIAorICAgIDgwLCAxMjgsIDcyLCA3NywgODUsIDc5LCA4OCwgMTI4LCA3MiwgNzcsIDg1LCA3OSwgODAsIDEyOCwgNzIsIDc3LCA4NSwgCisgICAgNzksIDEyOCwgNzIsIDc3LCA4NSwgMTI4LCA3MiwgNzcsIDc5LCA4OCwgMTI4LCA3MiwgNzcsIDc5LCA4NCwgMTI4LCA3MiwgCisgICAgNzcsIDc5LCA4MCwgMTI4LCA3MiwgNzcsIDc5LCAxMjgsIDcyLCA3NywgNzMsIDg4LCAxMjgsIDcyLCA3NywgNzMsIDg0LCAKKyAgICAxMjgsIDcyLCA3NywgNzMsIDgwLCAxMjgsIDcyLCA3NywgNzMsIDY5LCA4OCwgMTI4LCA3MiwgNzcsIDczLCA2OSwgODAsIAorICAgIDEyOCwgNzIsIDc3LCA3MywgNjksIDEyOCwgNzIsIDc3LCA3MywgMTI4LCA3MiwgNzcsIDY5LCAxMjgsIDcyLCA3NywgNjUsIAorICAgIDg4LCAxMjgsIDcyLCA3NywgNjUsIDg0LCAxMjgsIDcyLCA3NywgNjUsIDgwLCAxMjgsIDcyLCA3NywgNjUsIDEyOCwgNzIsIAorICAgIDc2LCA4OSwgODgsIDEyOCwgNzIsIDc2LCA4OSwgODQsIDEyOCwgNzIsIDc2LCA4OSwgODIsIDg4LCAxMjgsIDcyLCA3NiwgCisgICAgODksIDgyLCAxMjgsIDcyLCA3NiwgODksIDgwLCAxMjgsIDcyLCA3NiwgODksIDEyOCwgNzIsIDc2LCA4NSwgODgsIDEyOCwgCisgICAgNzIsIDc2LCA4NSwgODQsIDEyOCwgNzIsIDc2LCA4NSwgODIsIDg4LCAxMjgsIDcyLCA3NiwgODUsIDgyLCAxMjgsIDcyLCAKKyAgICA3NiwgODUsIDgwLCAxMjgsIDcyLCA3NiwgODUsIDc5LCA4OCwgMTI4LCA3MiwgNzYsIDg1LCA3OSwgODAsIDEyOCwgNzIsIAorICAgIDc2LCA4NSwgNzksIDEyOCwgNzIsIDc2LCA4NSwgMTI4LCA3MiwgNzYsIDc5LCA4OCwgMTI4LCA3MiwgNzYsIDc5LCA4MCwgCisgICAgMTI4LCA3MiwgNzYsIDc5LCAxMjgsIDcyLCA3NiwgNzMsIDg4LCAxMjgsIDcyLCA3NiwgNzMsIDg0LCAxMjgsIDcyLCA3NiwgCisgICAgNzMsIDgwLCAxMjgsIDcyLCA3NiwgNzMsIDY5LCA4OCwgMTI4LCA3MiwgNzYsIDczLCA2OSwgODAsIDEyOCwgNzIsIDc2LCAKKyAgICA3MywgNjksIDEyOCwgNzIsIDc2LCA3MywgMTI4LCA3MiwgNzYsIDY5LCA4OCwgMTI4LCA3MiwgNzYsIDY5LCA4MCwgMTI4LCAKKyAgICA3MiwgNzYsIDY5LCAxMjgsIDcyLCA3NiwgNjUsIDg4LCAxMjgsIDcyLCA3NiwgNjUsIDg1LCAxMjgsIDcyLCA3NiwgNjUsIAorICAgIDg0LCAxMjgsIDcyLCA3NiwgNjUsIDgwLCAxMjgsIDcyLCA3NiwgNjUsIDEyOCwgNzIsIDc2LCAxMjgsIDcyLCA3NSwgMTI4LCAKKyAgICA3MiwgNzMsIDkwLCA2NiwgMTI4LCA3MiwgNzMsIDg5LCA3OSwgMTI4LCA3MiwgNzMsIDgzLCA4NCwgNzksIDgyLCA3MywgCisgICAgMTk1LCA3MiwgNzMsIDgyLCA3MywgODEsIDEyOCwgNzIsIDczLCA3MSwgNzIsIDQ1LCA4MywgODAsIDY5LCA2OSwgMTk2LCAKKyAgICA3MiwgNzMsIDcxLCA3MiwgNDUsIDgyLCA2OSwgODYsIDY5LCA4MiwgODMsIDY5LCA2OCwgNDUsIDE4NSwgNzIsIDczLCA3MSwgCisgICAgNzIsIDQ1LCA3NiwgNzksIDIxNSwgNzIsIDczLCA3MSwgNzIsIDQ1LCA3MiwgNjksIDY5LCA3NiwgNjksIDE5NiwgNzIsIDczLCAKKyAgICA2OSwgODgsIDEyOCwgNzIsIDczLCA2OSwgODUsIDcyLCA0NSwgODMsIDczLCA3OSwgODMsIDEyOCwgNzIsIDczLCA2OSwgODUsIAorICAgIDcyLCA0NSwgODIsIDczLCA2OSwgODUsIDc2LCAxMjgsIDcyLCA3MywgNjksIDg1LCA3MiwgNDUsIDgwLCA3MywgNjksIDg1LCAKKyAgICA4MCwgMTI4LCA3MiwgNzMsIDY5LCA4NSwgNzIsIDQ1LCA3OCwgNzMsIDY5LCA4NSwgNzgsIDEyOCwgNzIsIDczLCA2OSwgODUsIAorICAgIDcyLCA0NSwgNzcsIDczLCA2OSwgODUsIDc3LCAxMjgsIDcyLCA3MywgNjksIDg1LCAyMDAsIDcyLCA3MywgNjksIDgyLCA3OSwgCisgICAgNzEsIDc2LCA4OSwgODAsIDcyLCA3MywgMTk1LCA3MiwgNzMsIDY5LCAxMjgsIDcyLCA3MywgNjgsIDczLCA3OCwgMTk5LCAKKyAgICA3MiwgNzMsIDY4LCA2OSwgODQsIDEyOCwgNzIsIDczLCA2OCwgNjksIDEyOCwgNzIsIDczLCA2NiwgNzMsIDgzLCA2NywgODUsIAorICAgIDgzLCAxMjgsIDcyLCA3MiwgODcsIDY1LCAxMjgsIDcyLCA3MiwgODUsIDEyOCwgNzIsIDcyLCA3MywgMTI4LCA3MiwgNzIsIAorICAgIDY5LCA2OSwgMTI4LCA3MiwgNzIsIDY5LCAxMjgsIDcyLCA3MiwgNjUsIDY1LCAxMjgsIDcyLCA3MSwgMTI4LCA3MiwgNjksIAorICAgIDg5LCA4NCwgMTI4LCA3MiwgNjksIDg4LCA3MywgNzAsIDc5LCA4MiwgMjA1LCA3MiwgNjksIDg4LCA2NSwgNzEsIDgyLCA2NSwgCisgICAgMjA1LCA3MiwgNjksIDg4LCA2NSwgNzEsIDc5LCA3OCwgMTI4LCA3MiwgNjksIDgyLCA4NSwgODQsIDg1LCAxMjgsIDcyLCAKKyAgICA2OSwgODIsIDg1LCAxMjgsIDcyLCA2OSwgODIsIDc3LCA3MywgODQsIDczLCA2NSwgMjA2LCA3MiwgNjksIDgyLCA3NywgNzMsIAorICAgIDc5LCA3OCwgNzMsIDY1LCAyMDYsIDcyLCA2OSwgODIsIDc3LCA2OSwgODMsIDEyOCwgNzIsIDY5LCA4MiwgNjksIDEyOCwgCisgICAgNzIsIDY5LCA4MiwgNjYsIDEyOCwgNzIsIDY5LCA4MiwgNjUsIDY5LCA4NSwgMjA1LCA3MiwgNjksIDc4LCA3MSwgMTI4LCAKKyAgICA3MiwgNjksIDc4LCAxOTksIDcyLCA2OSwgNzcsIDgwLCAxMjgsIDcyLCA2OSwgNzYsIDc3LCA2OSwgODQsIDEyOCwgNzIsIAorICAgIDY5LCA3NiwgNzcsIDY5LCAyMTIsIDcyLCA2OSwgNzYsIDIwNSwgNzIsIDY5LCA3NiwgNzMsIDY3LCA3OSwgODAsIDg0LCA2OSwgCisgICAgODIsIDEyOCwgNzIsIDY5LCA3NSwgODUsIDg0LCA2NSwgNjUsIDgyLCA4NSwgMTI4LCA3MiwgNjksIDczLCA4MywgNjksIDczLCAKKyAgICAxMjgsIDcyLCA2OSwgNjksIDczLCAxMjgsIDcyLCA2OSwgNjUsIDg2LCA4OSwgMTI4LCA3MiwgNjksIDY1LCA4NiwgNjksIAorICAgIDc4LCA3NiwgMjE3LCA3MiwgNjksIDY1LCA4NiwgNjksIDc4LCAxMjgsIDcyLCA2OSwgNjUsIDg2LCA2OSwgMjA2LCA3MiwgCisgICAgNjksIDY1LCA4MiwgODQsIDgzLCAxMjgsIDcyLCA2OSwgNjUsIDgyLCA4NCwgNDUsIDgzLCA3MiwgNjUsIDgwLCA2OSwgMTk2LCAKKyAgICA3MiwgNjksIDY1LCA4MiwgODQsIDEyOCwgNzIsIDY5LCA2NSwgODIsIDIxMiwgNzIsIDY5LCA2NSwgODIsIDQ1LCA3OCwgNzksIAorICAgIDQ1LCA2OSwgODYsIDczLCAyMDQsIDcyLCA2OSwgNjUsIDY4LCA4MywgODQsIDgyLCA3OSwgNzUsIDY5LCAxMjgsIDcyLCA2OSwgCisgICAgNjUsIDY4LCA4MywgODQsIDc5LCA3OCwgMTk3LCA3MiwgNjksIDY1LCA2OCwgODAsIDcyLCA3OSwgNzgsIDY5LCAxMjgsIDcyLCAKKyAgICA2OSwgNjUsIDY4LCA3MywgNzgsIDcxLCAxMjgsIDcyLCA2NiwgNjUsIDgzLCA2NSwgNDUsIDY5LCA4MywgNjUsIDgzLCAxOTMsIAorICAgIDcyLCA2NiwgNjUsIDgzLCAxOTMsIDcyLCA2NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDcyLCA2NSwgODcsIDc0LCAKKyAgICAxMjgsIDcyLCA2NSwgODYsIDY5LCAxMjgsIDcyLCA2NSwgODUsIDgwLCA4NCwgODMsIDg0LCA3MywgNzcsIDc3LCA2OSwgCisgICAgMTI4LCA3MiwgNjUsIDIxMywgNzIsIDY1LCA4NCwgNzIsIDczLCAxMjgsIDcyLCA2NSwgODQsIDY5LCAxMjgsIDcyLCA2NSwgCisgICAgODQsIDY3LCA3MiwgNzMsIDc4LCAxOTksIDcyLCA2NSwgODQsIDY1LCAxOTgsIDcyLCA2NSwgODMsIDY5LCAyMTAsIDcyLCAKKyAgICA2NSwgODMsIDY1LCA3OCwgODQsIDY1LCAxMjgsIDcyLCA2NSwgODIsIDgwLCA3OSwgNzksIDc4LCAxMjgsIDcyLCA2NSwgODIsIAorICAgIDgwLCA3OSwgNzksIDIwNiwgNzIsIDY1LCA4MiwgNzcsIDc5LCA3OCwgNzMsIDY3LCAxMjgsIDcyLCA2NSwgODIsIDc1LCA3NiwgCisgICAgNjksIDY1LCAyMDYsIDcyLCA2NSwgODIsIDY4LCA3OCwgNjksIDgzLCA4MywgMTI4LCA3MiwgNjUsIDgyLCAxOTYsIDcyLCAKKyAgICA2NSwgODAsIDgwLCAyMTcsIDcyLCA2NSwgNzgsIDg1LCA3OCwgNzksIDIwNywgNzIsIDY1LCA3OCwgNzEsIDkwLCA3MiwgNzksIAorICAgIDIxMywgNzIsIDY1LCA3OCwgNjgsIDgzLCAxMjgsIDcyLCA2NSwgNzgsIDY4LCAyMTEsIDcyLCA2NSwgNzgsIDY4LCA3NiwgCisgICAgNjksIDgzLCAxMjgsIDcyLCA2NSwgNzgsIDY4LCA3NiwgNjksIDEyOCwgNzIsIDY1LCA3OCwgNjgsIDY2LCA2NSwgNzEsIAorICAgIDEyOCwgNzIsIDY1LCA3OCwgNjgsIDEyOCwgNzIsIDY1LCA3OCwgNDUsIDY1LCA3NSwgNjUsIDg0LCAxMjgsIDcyLCA2NSwgCisgICAgNzcsIDkwLCA2NSwgMTI4LCA3MiwgNjUsIDc3LCA5MCwgMTkzLCA3MiwgNjUsIDc3LCA4MywgODQsIDY5LCAyMTAsIDcyLCAKICAgICA2NSwgNzcsIDc3LCA2OSwgODIsIDEyOCwgNzIsIDY1LCA3NywgNzcsIDY5LCAyMTAsIDcyLCA2NSwgNzcsIDY2LCA4NSwgODIsIAogICAgIDcxLCA2OSwgODIsIDEyOCwgNzIsIDY1LCA3NiwgODEsIDY1LCAxMjgsIDcyLCA2NSwgNzYsIDc5LCAxMjgsIDcyLCA2NSwgCiAgICAgNzYsIDcwLCA0NSwgNjcsIDczLCA4MiwgNjcsIDc2LCAxOTcsIDcyLCA2NSwgNzYsIDcwLCAxMjgsIDcyLCA2NSwgNzYsIDY2LCAKICAgICA2OSwgODIsIDY4LCAxMjgsIDcyLCA2NSwgNzYsIDY1LCA3OCwgODQsIDY1LCAxMjgsIDcyLCA2NSwgNzMsIDg0LCA4NSwgCi0gICAgMTI4LCA3MiwgNjUsIDczLCA4MiwgNjcsIDg1LCA4NCwgMTI4LCA3MiwgNjUsIDczLCA4MiwgMTI4LCA3MiwgNjUsIDcxLCAKLSAgICA3NiwgNjUsIDIxOCwgNzIsIDY1LCA3MSwgNzYsIDEyOCwgNzIsIDY1LCA3MCwgODUsIDc1LCA3MiwgNjUsIDEyOCwgNzIsIAotICAgIDY1LCA3MCwgODUsIDc1LCA3MiwgMTI4LCA3MiwgNjUsIDY5LCA3MSwgMjA0LCA3MiwgNjUsIDY1LCA4MiwgODUsIDEyOCwgCi0gICAgNzIsIDY1LCA2NSwgNzcsIDEyOCwgNzIsIDY1LCAxOTMsIDcyLCA2NSwgNDUsIDcyLCA2NSwgMTI4LCA3MiwgNDgsIDQ4LCAKLSAgICA1NiwgMTI4LCA3MiwgNDgsIDQ4LCA1NSwgMTI4LCA3MiwgNDgsIDQ4LCA1NCwgNjUsIDEyOCwgNzIsIDQ4LCA0OCwgNTQsIAotICAgIDEyOCwgNzIsIDQ4LCA0OCwgNTMsIDEyOCwgNzIsIDQ4LCA0OCwgNTIsIDEyOCwgNzIsIDQ4LCA0OCwgNTEsIDEyOCwgNzIsIAotICAgIDQ4LCA0OCwgNTAsIDEyOCwgNzIsIDQ4LCA0OCwgNDksIDEyOCwgNzIsIDQ1LCA4NCwgODksIDgwLCAxOTcsIDcxLCA4OSwgCi0gICAgODUsIDEyOCwgNzEsIDg5LCA3OSwgNzgsIDEyOCwgNzEsIDg5LCA3OSwgMTI4LCA3MSwgODksIDczLCAxMjgsIDcxLCA4OSwgCi0gICAgNzAsIDIxMywgNzEsIDg5LCA2OSwgNjksIDEyOCwgNzEsIDg5LCA2NSwgODMsIDEyOCwgNzEsIDg5LCA2NSwgNjUsIDEyOCwgCi0gICAgNzEsIDg5LCA2NSwgMTI4LCA3MSwgODksIDEyOCwgNzEsIDg3LCA4NSwgMTI4LCA3MSwgODcsIDczLCAxMjgsIDcxLCA4NywgCi0gICAgNjksIDY5LCAxMjgsIDcxLCA4NywgNjksIDEyOCwgNzEsIDg3LCA2NSwgNjUsIDEyOCwgNzEsIDg3LCA2NSwgMTI4LCA3MSwgCi0gICAgODYsIDEyOCwgNzEsIDg1LCA4MiwgODUsIDgzLCA3MiwgMTI4LCA3MSwgODUsIDgyLCA4NSwgNzgsIDEyOCwgNzEsIDg1LCAKLSAgICA4MiwgNjUsIDc3LCA4NSwgODQsIDc5LCA3OCwgMTI4LCA3MSwgODUsIDgyLCA1NSwgMTI4LCA3MSwgODUsIDc4LCA4NSwgCisgICAgMTI4LCA3MiwgNjUsIDczLCAyMTEsIDcyLCA2NSwgNzMsIDgyLCA2NywgODUsIDg0LCAxMjgsIDcyLCA2NSwgNzMsIDgyLCAKKyAgICAxMjgsIDcyLCA2NSwgNzEsIDc2LCA2NSwgMjE4LCA3MiwgNjUsIDcxLCA3NiwgMTI4LCA3MiwgNjUsIDcwLCA4NSwgNzUsIAorICAgIDcyLCA2NSwgMTI4LCA3MiwgNjUsIDcwLCA4NSwgNzUsIDcyLCAxMjgsIDcyLCA2NSwgNjksIDcxLCAyMDQsIDcyLCA2NSwgCisgICAgNjUsIDgyLCA4NSwgMTI4LCA3MiwgNjUsIDY1LCA3NywgMTI4LCA3MiwgNjUsIDE5MywgNzIsIDY1LCA0NSwgNzIsIDY1LCAKKyAgICAxMjgsIDcyLCA0OCwgNDgsIDU2LCAxMjgsIDcyLCA0OCwgNDgsIDU1LCAxMjgsIDcyLCA0OCwgNDgsIDU0LCA2NSwgMTI4LCAKKyAgICA3MiwgNDgsIDQ4LCA1NCwgMTI4LCA3MiwgNDgsIDQ4LCA1MywgMTI4LCA3MiwgNDgsIDQ4LCA1MiwgMTI4LCA3MiwgNDgsIAorICAgIDQ4LCA1MSwgMTI4LCA3MiwgNDgsIDQ4LCA1MCwgMTI4LCA3MiwgNDgsIDQ4LCA0OSwgMTI4LCA3MiwgNDUsIDg0LCA4OSwgCisgICAgODAsIDE5NywgNzEsIDg5LCA4NSwgMTI4LCA3MSwgODksIDc5LCA3OCwgMTI4LCA3MSwgODksIDc5LCAxMjgsIDcxLCA4OSwgCisgICAgNzMsIDEyOCwgNzEsIDg5LCA3MCwgMjEzLCA3MSwgODksIDY5LCA2OSwgMTI4LCA3MSwgODksIDY1LCA4MywgMTI4LCA3MSwgCisgICAgODksIDY1LCA2NSwgMTI4LCA3MSwgODksIDY1LCAxMjgsIDcxLCA4OSwgMTI4LCA3MSwgODcsIDg1LCAxMjgsIDcxLCA4NywgCisgICAgNzMsIDEyOCwgNzEsIDg3LCA2OSwgNjksIDEyOCwgNzEsIDg3LCA2OSwgMTI4LCA3MSwgODcsIDY1LCA2NSwgMTI4LCA3MSwgCisgICAgODcsIDY1LCAxMjgsIDcxLCA4NiwgNjUsIDc4LCA3MSwgMTI4LCA3MSwgODYsIDEyOCwgNzEsIDg1LCA4MiwgODUsIDgzLCAKKyAgICA3MiwgMTI4LCA3MSwgODUsIDgyLCA4NSwgNzgsIDEyOCwgNzEsIDg1LCA4MiwgNzcsIDg1LCA3NSwgNzIsIDIwMSwgNzEsIAorICAgIDg1LCA4MiwgNjUsIDc3LCA4NSwgODQsIDc5LCA3OCwgMTI4LCA3MSwgODUsIDgyLCA1NSwgMTI4LCA3MSwgODUsIDc4LCA4NSwgCiAgICAgMTI4LCA3MSwgODUsIDc4LCAyMTMsIDcxLCA4NSwgMjA1LCA3MSwgODUsIDc2LCAxMjgsIDcxLCA4NSwgNzMsIDg0LCA2NSwgCi0gICAgODIsIDEyOCwgNzEsIDg1LCAxOTksIDcxLCA4NSwgNjksIDcyLCAxMjgsIDcxLCA4NSwgNjksIDIwMCwgNzEsIDg1LCA2OCwgCi0gICAgMTI4LCA3MSwgODUsIDE5NiwgNzEsIDg1LCA2NSwgODIsIDY4LCA4MywgNzcsIDY1LCA3OCwgMTI4LCA3MSwgODUsIDY1LCAKLSAgICA4MiwgNjgsIDY5LCA2OCwgNzgsIDY5LCA4MywgODMsIDEyOCwgNzEsIDg1LCA2NSwgODIsIDY4LCA2OSwgMTk2LCA3MSwgODUsIAotICAgIDY1LCA4MiwgNjgsIDEyOCwgNzEsIDg1LCA2NSwgODIsIDY1LCA3OCwgMjAxLCA3MSwgODUsIDE5MywgNzEsIDg1LCAxNzgsIAotICAgIDcxLCA4NCwgNjksIDIxMCwgNzEsIDgzLCA4NSwgNzcsIDEyOCwgNzEsIDgzLCA4NSwgMjA1LCA3MSwgODIsIDIxMywgNzEsIAotICAgIDgyLCA3OSwgODcsIDczLCA3OCwgMTk5LCA3MSwgODIsIDc5LCA4NSwgNzgsIDY4LCAxMjgsIDcxLCA4MiwgNzksIDc4LCA4NCwgCi0gICAgNzIsIDczLCA4MywgNzcsIDY1LCA4NCwgNjUsIDEyOCwgNzEsIDgyLCA3MywgNzgsIDc4LCA3MywgNzgsIDE5OSwgNzEsIDgyLCAKLSAgICA3MywgNzcsIDY1LCA2NywgNzMsIDc4LCAxOTksIDcxLCA4MiwgNjksIDcxLCA3OSwgODIsIDczLCA2NSwgMjA2LCA3MSwgODIsIAotICAgIDY5LCA2OSwgMjA2LCA3MSwgODIsIDY5LCA2NSwgODQsIDc4LCA2OSwgODMsIDgzLCAxMjgsIDcxLCA4MiwgNjksIDY1LCA4NCwgCi0gICAgNjksIDgyLCA0NSwgODQsIDcyLCA2NSwgNzgsIDEyOCwgNzEsIDgyLCA2OSwgNjUsIDg0LCA2OSwgODIsIDQ1LCA4NCwgNzIsIAotICAgIDY1LCAyMDYsIDcxLCA4MiwgNjksIDY1LCA4NCwgNjksIDIxMCwgNzEsIDgyLCA2OSwgNjUsIDIxMiwgNzEsIDgyLCA2NSwgCi0gICAgODYsIDY5LCA4OSwgNjUsIDgyLCAxOTYsIDcxLCA4MiwgNjUsIDg2LCA2OSwgNDUsIDc3LCA2NSwgNjcsIDgyLCA3OSwgNzgsIAotICAgIDEyOCwgNzEsIDgyLCA2NSwgODYsIDY5LCA0NSwgNjUsIDY3LCA4NSwgODQsIDY5LCA0NSwgNzEsIDgyLCA2NSwgODYsIDY5LCAKLSAgICAxMjgsIDcxLCA4MiwgNjUsIDg2LCAxOTcsIDcxLCA4MiwgNjUsIDg0LCA2OSwgODIsIDEyOCwgNzEsIDgyLCA2NSwgODMsIAotICAgIDgzLCAxMjgsIDcxLCA4MiwgNjUsIDgzLCAyMTEsIDcxLCA4MiwgNjUsIDgwLCA3MiwgNjksIDc3LCAxOTcsIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA2OSwgODMsIDEyOCwgNzEsIDgyLCA2NSwgNzcsIDc3LCAxOTMsIDcxLCA4MiwgNjUsIDczLCA3OCwgMTI4LCAKLSAgICA3MSwgODIsIDY1LCA2OCwgODUsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDcxLCA4MiwgNjUsIDY3LCA2OSwgMTI4LCA3MSwgODIsIAotICAgIDY1LCA2NywgMTk3LCA3MSwgODAsIDY1LCAxMjgsIDcxLCA3OSwgODIsIDg0LCA3MiwgNzcsIDczLCA3NSwgNzksIDIwNiwgCi0gICAgNzEsIDc5LCA4MiwgODQsIDEyOCwgNzEsIDc5LCA4MiwgNzEsIDc5LCA4NCwgNjksIDgyLCA3MywgMTI4LCA3MSwgNzksIDgyLCAKLSAgICA3MSwgNzksIDgzLCA4OSwgNzgsIDg0LCA3MiwgNjksIDg0LCA3OSwgNzgsIDEyOCwgNzEsIDc5LCA4MiwgNzEsIDc5LCAyMDYsIAotICAgIDcxLCA3OSwgODIsIDcxLCA3MywgMTI4LCA3MSwgNzksIDgyLCA2NSwgMTI4LCA3MSwgNzksIDc5LCAxOTYsIDcxLCA3OSwgCi0gICAgNzgsIDcxLCAxMjgsIDcxLCA3OSwgNzYsIDY4LCAxMjgsIDcxLCA3OSwgNzUsIDEyOCwgNzEsIDc5LCA3MywgNzgsIDE5OSwgCi0gICAgNzEsIDc5LCA2NiwgNzYsIDczLCA3OCwgMTI4LCA3MSwgNzksIDY1LCA3NiwgMTI4LCA3MSwgNzksIDY1LCAyMDQsIDcxLCAKLSAgICA3OSwgNjUsIDEyOCwgNzEsIDc4LCA4OSwgNzMsIDgzLCAxMjgsIDcxLCA3OCwgNjUsIDg2LCA3MywgODksIDY1LCA3OCwgNzMsIAotICAgIDEyOCwgNzEsIDc2LCA3OSwgODcsIDczLCA3OCwgMTk5LCA3MSwgNzYsIDc5LCA4NCwgODQsIDY1LCAyMDQsIDcxLCA3NiwgCi0gICAgNzksIDY2LCAxOTcsIDcxLCA3NiwgNzMsIDgzLCA4MywgNjUsIDc4LCA2OCwgMjA3LCA3MSwgNzYsIDY5LCA3MywgNjcsIAotICAgIDIwMCwgNzEsIDc2LCA2NSwgNzEsIDc5LCA3NiwgNzMsIDEyOCwgNzEsIDc2LCA2NSwgMTI4LCA3MSwgNzQsIDY5LCAxMjgsIAotICAgIDcxLCA3MywgODgsIDEyOCwgNzEsIDczLCA4NCwgMTI4LCA3MSwgNzMsIDgzLCA3MiwgMTI4LCA3MSwgNzMsIDgzLCAyMDAsIAotICAgIDcxLCA3MywgODMsIDY1LCA3NiwgMTI4LCA3MSwgNzMsIDgyLCA4NSwgNjgsIDY1LCA2NSwgMTI4LCA3MSwgNzMsIDgyLCA3NiwgCisgICAgODIsIDEyOCwgNzEsIDg1LCAxOTksIDcxLCA4NSwgNjksIDczLCAxMjgsIDcxLCA4NSwgNjksIDcyLCAxMjgsIDcxLCA4NSwgCisgICAgNjksIDIwMCwgNzEsIDg1LCA2OCwgMTI4LCA3MSwgODUsIDE5NiwgNzEsIDg1LCA2NSwgODIsIDY4LCA4MywgNzcsIDY1LCAKKyAgICA3OCwgMTI4LCA3MSwgODUsIDY1LCA4MiwgNjgsIDY5LCA2OCwgNzgsIDY5LCA4MywgODMsIDEyOCwgNzEsIDg1LCA2NSwgODIsIAorICAgIDY4LCA2OSwgMTk2LCA3MSwgODUsIDY1LCA4MiwgNjgsIDEyOCwgNzEsIDg1LCA2NSwgODIsIDY1LCA3OCwgMjAxLCA3MSwgCisgICAgODUsIDE5MywgNzEsIDg1LCAxNzgsIDcxLCA4NCwgNjksIDIxMCwgNzEsIDgzLCA4NSwgNzcsIDEyOCwgNzEsIDgzLCA4NSwgCisgICAgMjA1LCA3MSwgODIsIDIxMywgNzEsIDgyLCA3OSwgODcsIDczLCA3OCwgMTk5LCA3MSwgODIsIDc5LCA4NSwgNzgsIDY4LCAKKyAgICAxMjgsIDcxLCA4MiwgNzksIDc4LCA4NCwgNzIsIDczLCA4MywgNzcsIDY1LCA4NCwgNjUsIDEyOCwgNzEsIDgyLCA3MywgNzgsIAorICAgIDc4LCA3MywgNzgsIDE5OSwgNzEsIDgyLCA3MywgNzcsIDY1LCA2NywgNzMsIDc4LCAxOTksIDcxLCA4MiwgNjksIDcxLCA3OSwgCisgICAgODIsIDczLCA2NSwgMjA2LCA3MSwgODIsIDY5LCA2OSwgMjA2LCA3MSwgODIsIDY5LCA2NSwgODQsIDc4LCA2OSwgODMsIDgzLCAKKyAgICAxMjgsIDcxLCA4MiwgNjksIDY1LCA4NCwgNjksIDgyLCA0NSwgODQsIDcyLCA2NSwgNzgsIDEyOCwgNzEsIDgyLCA2OSwgNjUsIAorICAgIDg0LCA2OSwgODIsIDQ1LCA4NCwgNzIsIDY1LCAyMDYsIDcxLCA4MiwgNjksIDY1LCA4NCwgNjksIDIxMCwgNzEsIDgyLCA2OSwgCisgICAgNjUsIDIxMiwgNzEsIDgyLCA2NSwgODYsIDY5LCA4OSwgNjUsIDgyLCAxOTYsIDcxLCA4MiwgNjUsIDg2LCA2OSwgNDUsIDc3LCAKKyAgICA2NSwgNjcsIDgyLCA3OSwgNzgsIDEyOCwgNzEsIDgyLCA2NSwgODYsIDY5LCA0NSwgNjUsIDY3LCA4NSwgODQsIDY5LCA0NSwgCisgICAgNzEsIDgyLCA2NSwgODYsIDY5LCAxMjgsIDcxLCA4MiwgNjUsIDg2LCAxOTcsIDcxLCA4MiwgNjUsIDg0LCA2OSwgODIsIAorICAgIDEyOCwgNzEsIDgyLCA2NSwgODMsIDgzLCAxMjgsIDcxLCA4MiwgNjUsIDgzLCAyMTEsIDcxLCA4MiwgNjUsIDgwLCA3MiwgCisgICAgNjksIDc3LCAxOTcsIDcxLCA4MiwgNjUsIDgwLCA2OSwgODMsIDEyOCwgNzEsIDgyLCA2NSwgNzcsIDc3LCAxOTMsIDcxLCAKKyAgICA4MiwgNjUsIDczLCA3OCwgMTI4LCA3MSwgODIsIDY1LCA2OCwgODUsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDcxLCA4MiwgNjUsIAorICAgIDY3LCA2OSwgMTI4LCA3MSwgODIsIDY1LCA2NywgMTk3LCA3MSwgODAsIDY1LCAxMjgsIDcxLCA3OSwgODIsIDg0LCA3MiwgCisgICAgNzcsIDczLCA3NSwgNzksIDIwNiwgNzEsIDc5LCA4MiwgODQsIDEyOCwgNzEsIDc5LCA4MiwgNzEsIDc5LCA4NCwgNjksIDgyLCAKKyAgICA3MywgMTI4LCA3MSwgNzksIDgyLCA3MSwgNzksIDgzLCA4OSwgNzgsIDg0LCA3MiwgNjksIDg0LCA3OSwgNzgsIDEyOCwgNzEsIAorICAgIDc5LCA4MiwgNzEsIDc5LCAyMDYsIDcxLCA3OSwgODIsIDcxLCA3MywgMTI4LCA3MSwgNzksIDgyLCA2NSwgMTI4LCA3MSwgCisgICAgNzksIDc5LCAxOTYsIDcxLCA3OSwgNzgsIDcxLCAxMjgsIDcxLCA3OSwgNzYsIDcwLCA2OSwgODIsIDEyOCwgNzEsIDc5LCAKKyAgICA3NiwgNjgsIDEyOCwgNzEsIDc5LCA3NSwgMTI4LCA3MSwgNzksIDczLCA3OCwgMTk5LCA3MSwgNzksIDY2LCA3NiwgNzMsIAorICAgIDc4LCAxMjgsIDcxLCA3OSwgNjUsIDc2LCAxMjgsIDcxLCA3OSwgNjUsIDIwNCwgNzEsIDc5LCA2NSwgMTI4LCA3MSwgNzgsIAorICAgIDg5LCA3MywgODMsIDEyOCwgNzEsIDc4LCA2NSwgODYsIDczLCA4OSwgNjUsIDc4LCA3MywgMTI4LCA3MSwgNzYsIDc5LCA4NywgCisgICAgNzMsIDc4LCAxOTksIDcxLCA3NiwgNzksIDg0LCA4NCwgNjUsIDIwNCwgNzEsIDc2LCA3OSwgNjYsIDE5NywgNzEsIDc2LCAKKyAgICA3MywgODMsIDgzLCA2NSwgNzgsIDY4LCAyMDcsIDcxLCA3NiwgNjksIDczLCA2NywgMjAwLCA3MSwgNzYsIDY1LCA3MSwgNzksIAorICAgIDc2LCA3MywgMTI4LCA3MSwgNzYsIDY1LCAxMjgsIDcxLCA3NCwgNjksIDEyOCwgNzEsIDczLCA4OCwgMTI4LCA3MSwgNzMsIAorICAgIDg0LCAxMjgsIDcxLCA3MywgODMsIDcyLCAxMjgsIDcxLCA3MywgODMsIDIwMCwgNzEsIDczLCA4MywgNjUsIDc2LCAxMjgsIAorICAgIDcxLCA3MywgODIsIDg1LCA2OCwgNjUsIDY1LCAxMjgsIDcxLCA3MywgODIsIDc2LCAyMTEsIDcxLCA3MywgODIsIDc2LCAKICAgICAxMjgsIDcxLCA3MywgODIsIDUxLCAxMjgsIDcxLCA3MywgODIsIDE3OSwgNzEsIDczLCA4MiwgNTAsIDEyOCwgNzEsIDczLCAKICAgICA4MiwgMTc4LCA3MSwgNzMsIDgwLCAxMjgsIDcxLCA3MywgNzgsIDczLCA3MywgMTI4LCA3MSwgNzMsIDc3LCA2OSwgNzYsIAogICAgIDEyOCwgNzEsIDczLCA3NywgNjksIDIwNCwgNzEsIDczLCA3NywgMTI4LCA3MSwgNzMsIDcxLCA2NSwgMTI4LCA3MSwgNzMsIAotICAgIDY5LCA4NCwgMTI4LCA3MSwgNzMsIDY4LCA3MywgNzcsIDEyOCwgNzEsIDczLCA2NiwgNjYsIDc5LCA4NSwgMjExLCA3MSwgCi0gICAgNzMsIDY2LCA2NSwgMTI4LCA3MSwgNzMsIDUyLCAxMjgsIDcxLCA3MywgMTgwLCA3MSwgNzIsIDkwLCAxMjgsIDcxLCA3MiwgCi0gICAgODcsIDY1LCAxMjgsIDcxLCA3MiwgODUsIDc4LCA3OCwgNjUsIDEyOCwgNzEsIDcyLCA4NSwgNzgsIDc4LCAxOTMsIDcxLCAKLSAgICA3MiwgODUsIDEyOCwgNzEsIDcyLCA3OSwgODUsIDEyOCwgNzEsIDcyLCA3OSwgODMsIDg0LCAxMjgsIDcxLCA3MiwgNzksIAotICAgIDEyOCwgNzEsIDcyLCA3MywgMTI4LCA3MSwgNzIsIDcyLCA2NSwgMTI4LCA3MSwgNzIsIDY5LCA4NSwgODgsIDEyOCwgNzEsIAorICAgIDcxLCAxMjgsIDcxLCA3MywgNjksIDg0LCAxMjgsIDcxLCA3MywgNjgsIDczLCA3NywgMTI4LCA3MSwgNzMsIDY2LCA2NiwgCisgICAgNzksIDg1LCAyMTEsIDcxLCA3MywgNjYsIDY1LCAxMjgsIDcxLCA3MywgNTIsIDEyOCwgNzEsIDczLCAxODAsIDcxLCA3MiwgCisgICAgOTAsIDEyOCwgNzEsIDcyLCA4NywgNjUsIDEyOCwgNzEsIDcyLCA4NSwgNzgsIDc4LCA2NSwgMTI4LCA3MSwgNzIsIDg1LCAKKyAgICA3OCwgNzgsIDE5MywgNzEsIDcyLCA4NSwgMTI4LCA3MSwgNzIsIDc5LCA4NSwgMTI4LCA3MSwgNzIsIDc5LCA4MywgODQsIAorICAgIDEyOCwgNzEsIDcyLCA3OSwgMTI4LCA3MSwgNzIsIDczLCA3NywgNjksIDc2LCAxMjgsIDcxLCA3MiwgNzMsIDEyOCwgNzEsIAorICAgIDcyLCA3MiwgNjUsIDEyOCwgNzEsIDcyLCA2OSwgODksIDgzLCAxMjgsIDcxLCA3MiwgNjksIDg1LCA4OCwgMTI4LCA3MSwgCiAgICAgNzIsIDY5LCA4NSwgNzgsIDEyOCwgNzEsIDcyLCA2OSwgODUsIDcxLCA3MiwgNjksIDg1LCA2NSwgNjksIDc3LCAxMjgsIDcxLCAKICAgICA3MiwgNjksIDg1LCA3MSwgNzIsIDY5LCA3OCwgMTI4LCA3MSwgNzIsIDY5LCA4NSwgNjUsIDY5LCA4MiwgNjUsIDY5LCAxMjgsIAogICAgIDcxLCA3MiwgNjksIDg1LCA2NSwgNjksIDcxLCA3MiwgNjksIDg1LCA2NSwgNjksIDEyOCwgNzEsIDcyLCA2OSwgODQsIDEyOCwgCiAgICAgNzEsIDcyLCA2OSwgNjksIDEyOCwgNzEsIDcyLCA2OSwgMTI4LCA3MSwgNzIsIDE5NywgNzEsIDcyLCA2NSwgODksIDc4LCAKICAgICAxMjgsIDcxLCA3MiwgNjUsIDgyLCA2NSwgNjksIDEyOCwgNzEsIDcyLCA2NSwgODAsIDEyOCwgNzEsIDcyLCA2NSwgNzgsIAotICAgIDEyOCwgNzEsIDcyLCA2NSwgNzcsIDY1LCA3NiwgMTI4LCA3MSwgNzIsIDY1LCA3MywgNzgsIDg1LCAxMjgsIDcxLCA3MiwgCi0gICAgNjUsIDczLCA3OCwgMTI4LCA3MSwgNzIsIDY1LCA3MywgMjA2LCA3MSwgNzIsIDY1LCA2OCwgMTI4LCA3MSwgNzIsIDY1LCAKLSAgICA2NSwgNzcsIDY1LCA2OSwgMTI4LCA3MSwgNzIsIDY1LCA2NSwgMTI4LCA3MSwgNzEsIDg3LCA3MywgMTI4LCA3MSwgNzEsIAotICAgIDg3LCA2OSwgNjksIDEyOCwgNzEsIDcxLCA4NywgNjksIDEyOCwgNzEsIDcxLCA4NywgNjUsIDY1LCAxMjgsIDcxLCA3MSwgCi0gICAgODcsIDY1LCAxMjgsIDcxLCA3MSwgODUsIDg4LCAxMjgsIDcxLCA3MSwgODUsIDg0LCAxMjgsIDcxLCA3MSwgODUsIDgyLCAKLSAgICA4OCwgMTI4LCA3MSwgNzEsIDg1LCA4MiwgMTI4LCA3MSwgNzEsIDg1LCA3OSwgODgsIDEyOCwgNzEsIDcxLCA4NSwgNzksIAotICAgIDg0LCAxMjgsIDcxLCA3MSwgODUsIDc5LCA4MCwgMTI4LCA3MSwgNzEsIDg1LCA3OSwgMTI4LCA3MSwgNzEsIDc5LCA4OCwgCi0gICAgMTI4LCA3MSwgNzEsIDc5LCA4NCwgMTI4LCA3MSwgNzEsIDc5LCA4MCwgMTI4LCA3MSwgNzEsIDczLCA4OCwgMTI4LCA3MSwgCi0gICAgNzEsIDczLCA4NCwgMTI4LCA3MSwgNzEsIDczLCA2OSwgODgsIDEyOCwgNzEsIDcxLCA3MywgNjksIDgwLCAxMjgsIDcxLCAKLSAgICA3MSwgNzMsIDY5LCAxMjgsIDcxLCA3MSwgNjksIDg4LCAxMjgsIDcxLCA3MSwgNjksIDg0LCAxMjgsIDcxLCA3MSwgNjksIAotICAgIDgwLCAxMjgsIDcxLCA3MSwgNjUsIDg4LCAxMjgsIDcxLCA3MSwgNjUsIDg0LCAxMjgsIDcxLCA3MSwgNjUsIDY1LCAxMjgsIAotICAgIDcxLCA2OSwgODQsIDE5MywgNzEsIDY5LCA4MywgODQsIDg1LCA4MiwgNjksIDEyOCwgNzEsIDY5LCA4MywgNzIsIDg1LCAKLSAgICAxMjgsIDcxLCA2OSwgODMsIDcyLCA4NCwgNzMsIDc4LCAxMjgsIDcxLCA2OSwgODMsIDcyLCA4NCwgNzMsIDIwNiwgNzEsIAotICAgIDY5LCA4MywgNzIsIDUwLCAxMjgsIDcxLCA2OSwgODIsIDgzLCA3MiwgNjUsIDg5LCA3MywgNzcsIDEyOCwgNzEsIDY5LCA4MiwgCi0gICAgNzcsIDY1LCAyMDYsIDcxLCA2OSwgODIsIDY5LCA4MywgNzIsIDEyOCwgNzEsIDY5LCA4MiwgNjksIDgzLCAyMDAsIDcxLCAKLSAgICA2OSwgNzksIDc3LCA2OSwgODQsIDgyLCA3MywgNjcsIDY1LCA3NiwgNzYsIDIxNywgNzEsIDY5LCA3OSwgNzcsIDY5LCA4NCwgCi0gICAgODIsIDczLCAxOTUsIDcxLCA2OSwgNzgsIDg0LCA3NiwgMTk3LCA3MSwgNjksIDc4LCA3MywgODQsIDczLCA4NiwgNjksIAotICAgIDEyOCwgNzEsIDY5LCA3OCwgNzMsIDc1LCAyMDEsIDcxLCA2OSwgNzgsIDY5LCA4MiwgNzMsIDE5NSwgNzEsIDY5LCA3NywgCi0gICAgNzMsIDc4LCA3MywgMTI4LCA3MSwgNjksIDc3LCA3MywgNzgsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDcxLCA2OSwgMjA1LCAKLSAgICA3MSwgNjksIDY4LCA3OSwgNzYsIDY1LCAxMjgsIDcxLCA2OSwgNjgsIDY5LCAxMjgsIDcxLCA2OSwgNjYsIDIwNywgNzEsIAotICAgIDY5LCA2NiwgMTkzLCA3MSwgNjksIDY1LCA4MiwgMTI4LCA3MSwgNjksIDY1LCAyMTAsIDcxLCA2OCwgNjUsIDc4LCAxMjgsIAotICAgIDcxLCA2NywgNzMsIDcxLCAxMjgsIDcxLCA2NywgNjUsIDIwNiwgNzEsIDY2LCA3OSwgNzgsIDEyOCwgNzEsIDY2LCA3MywgCi0gICAgNjksIDE5NywgNzEsIDY2LCA2OSwgODUsIDg4LCAxMjgsIDcxLCA2NiwgNjksIDg0LCAxMjgsIDcxLCA2NiwgNjUsIDg5LCAKLSAgICA3MywgMTI4LCA3MSwgNjYsIDY1LCA3NSwgODUsIDgyLCA4NSwgNzgsIDY5LCA3OCwgMTI4LCA3MSwgNjYsIDEyOCwgNzEsIAotICAgIDY1LCA4OSwgNjUsIDc4LCA4NSwgNzUsIDczLCA4NCwgODQsIDY1LCAxMjgsIDcxLCA2NSwgODksIDY1LCA3OCwgNzgsIDY1LCAKLSAgICAxMjgsIDcxLCA2NSwgODksIDEyOCwgNzEsIDY1LCA4NSwgNzgsIDg0LCA3NiwgNjksIDg0LCAxMjgsIDcxLCA2NSwgODQsIAotICAgIDcyLCA2OSwgODIsIDczLCA3OCwgNzEsIDEyOCwgNzEsIDY1LCA4NCwgNzIsIDY5LCA4MiwgNzMsIDc4LCAxOTksIDcxLCA2NSwgCi0gICAgODQsIDY5LCAxMjgsIDcxLCA2NSwgODMsIDcyLCA2NSwgNzgsIDEyOCwgNzEsIDY1LCA4MiwgODMsIDcyLCA4NSwgNzgsIDczLCAKLSAgICAxMjgsIDcxLCA2NSwgODIsIDc5LCA3OCwgMTI4LCA3MSwgNjUsIDgyLCA3NywgNjksIDc4LCA4NCwgMTI4LCA3MSwgNjUsIAotICAgIDgyLCA2OCwgNjksIDc4LCAxMjgsIDcxLCA2NSwgODIsIDUxLCAxMjgsIDcxLCA2NSwgODAsIDgwLCA2OSwgMTk2LCA3MSwgCi0gICAgNjUsIDIwOCwgNzEsIDY1LCA3OCwgNzcsIDY1LCAxMjgsIDcxLCA2NSwgNzgsIDcxLCA3MywgNjUsIDEyOCwgNzEsIDY1LCAKLSAgICA3OCwgNjgsIDE5MywgNzEsIDY1LCA3OCwgNTAsIDEyOCwgNzEsIDY1LCA3OCwgMTc4LCA3MSwgNjUsIDc3LCA3NywgNjUsIAotICAgIDEyOCwgNzEsIDY1LCA3NywgNzYsIDY1LCAxMjgsIDcxLCA2NSwgNzcsIDc2LCAxMjgsIDcxLCA2NSwgNzcsIDY5LCAxMjgsIAotICAgIDcxLCA2NSwgNzcsIDE5NywgNzEsIDY1LCA3NywgNjUsIDc4LCAxMjgsIDcxLCA2NSwgNzcsIDY1LCA3NiwgMTI4LCA3MSwgCi0gICAgNjUsIDc3LCA2NSwgMjA0LCA3MSwgNjUsIDcxLCAxMjgsIDcxLCA2NSwgNzAsIDEyOCwgNzEsIDY1LCAxOTgsIDcxLCA2NSwgCi0gICAgNjksIDg0LCA4NCwgNjUsIDQ1LCA4MCwgNzMsIDc2LCA3NiwgNjUsIDEyOCwgNzEsIDY1LCA2OCwgNzksIDc2LCAxMjgsIDcxLCAKLSAgICA2NSwgNjgsIDEyOCwgNzEsIDY1LCAxOTYsIDcxLCA2NSwgNjYsIDY1LCAxMjgsIDcxLCA2NSwgNjYsIDE5MywgNzEsIDY1LCAKLSAgICA2NSwgNzAsIDg1LCAxMjgsIDcxLCA2NSwgMTc4LCA3MSwgNDgsIDUzLCA1MiwgMTI4LCA3MSwgNDgsIDUzLCA1MSwgMTI4LCAKLSAgICA3MSwgNDgsIDUzLCA1MCwgMTI4LCA3MSwgNDgsIDUzLCA0OSwgMTI4LCA3MSwgNDgsIDUzLCA0OCwgMTI4LCA3MSwgNDgsIAotICAgIDUyLCA1NywgMTI4LCA3MSwgNDgsIDUyLCA1NiwgMTI4LCA3MSwgNDgsIDUyLCA1NSwgMTI4LCA3MSwgNDgsIDUyLCA1NCwgCi0gICAgMTI4LCA3MSwgNDgsIDUyLCA1MywgNjUsIDEyOCwgNzEsIDQ4LCA1MiwgNTMsIDEyOCwgNzEsIDQ4LCA1MiwgNTIsIDEyOCwgCi0gICAgNzEsIDQ4LCA1MiwgNTEsIDY1LCAxMjgsIDcxLCA0OCwgNTIsIDUxLCAxMjgsIDcxLCA0OCwgNTIsIDUwLCAxMjgsIDcxLCAKLSAgICA0OCwgNTIsIDQ5LCAxMjgsIDcxLCA0OCwgNTIsIDQ4LCAxMjgsIDcxLCA0OCwgNTEsIDU3LCAxMjgsIDcxLCA0OCwgNTEsIAotICAgIDU2LCAxMjgsIDcxLCA0OCwgNTEsIDU1LCA2NSwgMTI4LCA3MSwgNDgsIDUxLCA1NSwgMTI4LCA3MSwgNDgsIDUxLCA1NCwgCi0gICAgNjUsIDEyOCwgNzEsIDQ4LCA1MSwgNTQsIDEyOCwgNzEsIDQ4LCA1MSwgNTMsIDEyOCwgNzEsIDQ4LCA1MSwgNTIsIDEyOCwgCi0gICAgNzEsIDQ4LCA1MSwgNTEsIDEyOCwgNzEsIDQ4LCA1MSwgNTAsIDEyOCwgNzEsIDQ4LCA1MSwgNDksIDEyOCwgNzEsIDQ4LCAKLSAgICA1MSwgNDgsIDEyOCwgNzEsIDQ4LCA1MCwgNTcsIDEyOCwgNzEsIDQ4LCA1MCwgNTYsIDEyOCwgNzEsIDQ4LCA1MCwgNTUsIAotICAgIDEyOCwgNzEsIDQ4LCA1MCwgNTQsIDY1LCAxMjgsIDcxLCA0OCwgNTAsIDU0LCAxMjgsIDcxLCA0OCwgNTAsIDUzLCAxMjgsIAotICAgIDcxLCA0OCwgNTAsIDUyLCAxMjgsIDcxLCA0OCwgNTAsIDUxLCAxMjgsIDcxLCA0OCwgNTAsIDUwLCAxMjgsIDcxLCA0OCwgCi0gICAgNTAsIDQ5LCAxMjgsIDcxLCA0OCwgNTAsIDQ4LCA2NSwgMTI4LCA3MSwgNDgsIDUwLCA0OCwgMTI4LCA3MSwgNDgsIDQ5LCAKLSAgICA1NywgMTI4LCA3MSwgNDgsIDQ5LCA1NiwgMTI4LCA3MSwgNDgsIDQ5LCA1NSwgMTI4LCA3MSwgNDgsIDQ5LCA1NCwgMTI4LCAKLSAgICA3MSwgNDgsIDQ5LCA1MywgMTI4LCA3MSwgNDgsIDQ5LCA1MiwgMTI4LCA3MSwgNDgsIDQ5LCA1MSwgMTI4LCA3MSwgNDgsIAotICAgIDQ5LCA1MCwgMTI4LCA3MSwgNDgsIDQ5LCA0OSwgNjUsIDEyOCwgNzEsIDQ4LCA0OSwgNDksIDEyOCwgNzEsIDQ4LCA0OSwgCi0gICAgNDgsIDEyOCwgNzEsIDQ4LCA0OCwgNTcsIDEyOCwgNzEsIDQ4LCA0OCwgNTYsIDEyOCwgNzEsIDQ4LCA0OCwgNTUsIDY2LCAKLSAgICAxMjgsIDcxLCA0OCwgNDgsIDU1LCA2NSwgMTI4LCA3MSwgNDgsIDQ4LCA1NSwgMTI4LCA3MSwgNDgsIDQ4LCA1NCwgNjUsIAotICAgIDEyOCwgNzEsIDQ4LCA0OCwgNTQsIDEyOCwgNzEsIDQ4LCA0OCwgNTMsIDEyOCwgNzEsIDQ4LCA0OCwgNTIsIDEyOCwgNzEsIAotICAgIDQ4LCA0OCwgNTEsIDEyOCwgNzEsIDQ4LCA0OCwgNTAsIDEyOCwgNzEsIDQ4LCA0OCwgNDksIDEyOCwgNzAsIDg5LCA4OCwgCi0gICAgMTI4LCA3MCwgODksIDg0LCAxMjgsIDcwLCA4OSwgODAsIDEyOCwgNzAsIDg5LCA2NSwgMTI4LCA3MCwgODcsIDczLCAxMjgsIAotICAgIDcwLCA4NywgNjksIDY5LCAxMjgsIDcwLCA4NywgNjksIDEyOCwgNzAsIDg3LCA2NSwgNjUsIDEyOCwgNzAsIDg3LCA2NSwgCi0gICAgMTI4LCA3MCwgODYsIDgzLCA1MSwgMTI4LCA3MCwgODYsIDgzLCA1MCwgMTI4LCA3MCwgODYsIDgzLCA0OSwgMTI4LCA3MCwgCi0gICAgODUsIDg4LCAxMjgsIDcwLCA4NSwgODQsIDEyOCwgNzAsIDg1LCA4MywgNjksIDEyOCwgNzAsIDg1LCA4MywgMTkzLCA3MCwgCi0gICAgODUsIDgyLCA4OCwgMTI4LCA3MCwgODUsIDgwLCAxMjgsIDcwLCA4NSwgNzgsIDY5LCA4MiwgNjUsIDIwNCwgNzAsIDg1LCAKLSAgICA3OCwgNjcsIDg0LCA3MywgNzksIDc4LCA2NSwgMjA0LCA3MCwgODUsIDc4LCA2NywgODQsIDczLCA3OSwgNzgsIDEyOCwgNzAsIAotICAgIDg1LCA3NiwgNzYsIDc4LCA2OSwgODMsIDgzLCAxMjgsIDcwLCA4NSwgNzYsIDIwNCwgNzAsIDg1LCA3NCwgNzMsIDEyOCwgCi0gICAgNzAsIDg1LCA2OSwgODQsIDEyOCwgNzAsIDg1LCA2OSwgMjA0LCA3MCwgODUsIDY5LCAxMjgsIDcwLCA4NCwgNzIsIDc5LCAKLSAgICA4MiwgMTkzLCA3MCwgODMsIDczLCAxMjgsIDcwLCA4MiwgNzksIDg3LCA3OCwgNzMsIDc4LCA3MSwgMTI4LCA3MCwgODIsIAotICAgIDc5LCA4NywgNzgsIDczLCA3OCwgMTk5LCA3MCwgODIsIDc5LCA4NywgNzgsIDEyOCwgNzAsIDgyLCA3OSwgNzgsIDg0LCA0NSwgCi0gICAgODQsIDczLCA3NiwgODQsIDY5LCAxOTYsIDcwLCA4MiwgNzksIDc4LCA4NCwgNDUsIDcwLCA2NSwgNjcsIDczLCA3OCwgMTk5LCAKLSAgICA3MCwgODIsIDc5LCAyMDUsIDcwLCA4MiwgNzksIDcxLCAxMjgsIDcwLCA4MiwgNzksIDE5OSwgNzAsIDgyLCA3MywgODQsIAotICAgIDg1LCAxMjgsIDcwLCA4MiwgNzMsIDY5LCA4MywgMTI4LCA3MCwgODIsIDczLCA2OSwgMTk2LCA3MCwgODIsIDczLCA2NywgCi0gICAgNjUsIDg0LCA3MywgODYsIDY5LCAxMjgsIDcwLCA4MiwgNjksIDg0LCA2NiwgNzksIDY1LCA4MiwgNjgsIDEyOCwgNzAsIDgyLCAKLSAgICA2OSwgNzgsIDY3LCAyMDAsIDcwLCA4MiwgNjksIDY5LCAxMjgsIDcwLCA4MiwgNjksIDE5NywgNzAsIDgyLCA2NSwgNzgsIAotICAgIDE5NSwgNzAsIDgyLCA2NSwgNzcsIDY5LCAxMjgsIDcwLCA4MiwgNjUsIDcxLCA4MiwgNjUsIDc4LCA4NCwgMTI4LCA3MCwgCi0gICAgODIsIDY1LCA3MSwgNzcsIDY5LCA3OCwgODQsIDEyOCwgNzAsIDgyLCA2NSwgNjcsIDg0LCA3MywgNzksIDIwNiwgNzAsIDc5LCAKLSAgICA4OCwgMTI4LCA3MCwgNzksIDg1LCA4MiwgODQsIDY5LCA2OSwgNzgsIDEyOCwgNzAsIDc5LCA4NSwgODIsIDg0LCA2OSwgNjksIAotICAgIDIwNiwgNzAsIDc5LCA4NSwgODIsIDQ1LCA4NCwgNzIsIDczLCA4MiwgODQsIDg5LCAxMjgsIDcwLCA3OSwgODUsIDgyLCA0NSwgCi0gICAgODMsIDg0LCA4MiwgNzMsIDc4LCAxOTksIDcwLCA3OSwgODUsIDgyLCA0NSwgODAsIDY5LCA4MiwgNDUsIDY5LCAyMDUsIDcwLCAKLSAgICA3OSwgODUsIDgyLCA0NSwgNzYsIDczLCA3OCwgMTk3LCA3MCwgNzksIDg1LCAyMTAsIDcwLCA3OSwgODUsIDc4LCA4NCwgNjUsIAotICAgIDczLCA3OCwgMTI4LCA3MCwgNzksIDgzLCA4NCwgNjksIDgyLCA3MywgNzgsIDcxLCAxMjgsIDcwLCA3OSwgODIsIDg3LCA2NSwgCi0gICAgODIsIDY4LCAxMjgsIDcwLCA3OSwgODIsIDg0LCA4OSwgMTI4LCA3MCwgNzksIDgyLCA4NCwgMjE3LCA3MCwgNzksIDgyLCAKLSAgICA4NCwgNjksIDEyOCwgNzAsIDc5LCA4MiwgNzcsIDIxMSwgNzAsIDc5LCA4MiwgNzcsIDY1LCA4NCwgODQsIDczLCA3OCwgNzEsIAotICAgIDEyOCwgNzAsIDc5LCA4MiwgNzUsIDY5LCAxOTYsIDcwLCA3OSwgODIsIDY3LCA2OSwgODMsIDEyOCwgNzAsIDc5LCA4MiwgCi0gICAgNjcsIDY5LCAxMjgsIDcwLCA3OSwgODAsIDEyOCwgNzAsIDc5LCA3OSwgODQsIDgzLCA4NCwgNzksIDc5LCA3NiwgMTI4LCAKLSAgICA3MCwgNzksIDc5LCA4NCwgODAsIDgyLCA3MywgNzgsIDg0LCA4MywgMTI4LCA3MCwgNzksIDc5LCA4NCwgNzgsIDc5LCA4NCwgCi0gICAgMTk3LCA3MCwgNzksIDc5LCA4NCwgNjYsIDY1LCA3NiwgNzYsIDEyOCwgNzAsIDc5LCA3OSwgODQsIDEyOCwgNzAsIDc5LCAKLSAgICA3OSwgNjgsIDEyOCwgNzAsIDc5LCA3OSwgMTI4LCA3MCwgNzksIDc4LCA3MSwgNzcsIDY1LCA3OCwgMTI4LCA3MCwgNzksIAotICAgIDc3LCAxMjgsIDcwLCA3OSwgNzYsIDc2LCA4OSwgMTI4LCA3MCwgNzksIDc2LCA3NiwgNzksIDg3LCA3MywgNzgsIDcxLCAKLSAgICAxMjgsIDcwLCA3OSwgNzYsIDY4LCA2OSwgODIsIDEyOCwgNzAsIDc5LCA3NiwgNjgsIDY5LCAxOTYsIDcwLCA3OSwgNzEsIAotICAgIDcxLCA4OSwgMTI4LCA3MCwgMjA3LCA3MCwgNzcsIDEyOCwgNzAsIDc2LCA4OSwgMTI4LCA3MCwgNzYsIDg1LCA4NCwgODQsIAotICAgIDY5LCA4MiwgNzMsIDc4LCAxOTksIDcwLCA3NiwgODUsIDg0LCA2OSwgMTI4LCA3MCwgNzYsIDg1LCA4MywgNzIsIDY5LCAKLSAgICAxOTYsIDcwLCA3NiwgNzksIDg3LCA3MywgNzgsIDE5OSwgNzAsIDc2LCA3OSwgODcsIDY5LCAyMTAsIDcwLCA3NiwgNzksIAotICAgIDg1LCA4MiwgNzMsIDgzLCA3MiwgMTI4LCA3MCwgNzYsIDc5LCA4MiwgNjksIDg0LCA4NCwgNjksIDEyOCwgNzAsIDc2LCA3OSwgCi0gICAgODIsIDY1LCAyMDQsIDcwLCA3NiwgNzksIDgwLCA4MCwgMjE3LCA3MCwgNzYsIDc5LCA3OSwgODIsIDEyOCwgNzAsIDc2LCAKLSAgICA3MywgODAsIDEyOCwgNzAsIDc2LCA3MywgNzEsIDcyLCA4NCwgMTI4LCA3MCwgNzYsIDY5LCA4OCwgODUsIDgzLCAxMjgsIAotICAgIDcwLCA3NiwgNjksIDg4LCA2OSwgMTk2LCA3MCwgNzYsIDY5LCA4NSwgODIsIDQ1LCA2OCwgNjksIDQ1LCA3NiwgNzMsIDgzLCAKLSAgICAxMjgsIDcwLCA3NiwgNjUsIDg0LCA4NCwgNjksIDc4LCA2OSwgMTk2LCA3MCwgNzYsIDY1LCA4NCwgNzgsIDY5LCA4MywgODMsIAotICAgIDEyOCwgNzAsIDc2LCA2NSwgODQsIDEyOCwgNzAsIDc2LCA2NSwgMjEyLCA3MCwgNzYsIDY1LCA3MSwgODMsIDEyOCwgNzAsIAotICAgIDc2LCA2NSwgNzEsIDQ1LCA1MywgMTI4LCA3MCwgNzYsIDY1LCA3MSwgNDUsIDUyLCAxMjgsIDcwLCA3NiwgNjUsIDcxLCA0NSwgCi0gICAgNTEsIDEyOCwgNzAsIDc2LCA2NSwgNzEsIDQ1LCA1MCwgMTI4LCA3MCwgNzYsIDY1LCA3MSwgNDUsIDQ5LCAxMjgsIDcwLCAKLSAgICA3NiwgNjUsIDcxLCAxMjgsIDcwLCA3NiwgNjUsIDE5OSwgNzAsIDc2LCA2NSwgMTI4LCA3MCwgNzYsIDEyOCwgNzAsIDczLCAKLSAgICA4OCwgNjksIDY4LCA0NSwgNzAsIDc5LCA4MiwgMjA1LCA3MCwgNzMsIDg4LCAxMjgsIDcwLCA3MywgODYsIDY5LCA0NSwgODQsIAotICAgIDcyLCA3MywgODIsIDg0LCA4OSwgMTI4LCA3MCwgNzMsIDg2LCA2OSwgNDUsIDc2LCA3MywgNzgsIDE5NywgNzAsIDczLCA4NiwgCi0gICAgMTk3LCA3MCwgNzMsIDg0LCA2NSwgMTI4LCA3MCwgNzMsIDg0LCAxMjgsIDcwLCA3MywgODMsIDg0LCA2OSwgMTk2LCA3MCwgCi0gICAgNzMsIDgzLCA4NCwgMTI4LCA3MCwgNzMsIDgzLCA3MiwgNzMsIDc4LCAxOTksIDcwLCA3MywgODMsIDcyLCA3MiwgNzksIDc5LCAKLSAgICA3NSwgMTI4LCA3MCwgNzMsIDgzLCA3MiwgNzIsIDc5LCA3OSwgMjAzLCA3MCwgNzMsIDgzLCA3MiwgNjksIDg5LCA2OSwgCisgICAgMTI4LCA3MSwgNzIsIDY1LCA3NywgNzcsIDY1LCAxMjgsIDcxLCA3MiwgNjUsIDc3LCA2NSwgNzYsIDEyOCwgNzEsIDcyLCAKKyAgICA2NSwgNzMsIDc4LCA4NSwgMTI4LCA3MSwgNzIsIDY1LCA3MywgNzgsIDEyOCwgNzEsIDcyLCA2NSwgNzMsIDIwNiwgNzEsIAorICAgIDcyLCA2NSwgNjgsIDEyOCwgNzEsIDcyLCA2NSwgNjUsIDc3LCA2NSwgNjksIDEyOCwgNzEsIDcyLCA2NSwgNjUsIDEyOCwgCisgICAgNzEsIDcxLCA4NywgNzMsIDEyOCwgNzEsIDcxLCA4NywgNjksIDY5LCAxMjgsIDcxLCA3MSwgODcsIDY5LCAxMjgsIDcxLCAKKyAgICA3MSwgODcsIDY1LCA2NSwgMTI4LCA3MSwgNzEsIDg3LCA2NSwgMTI4LCA3MSwgNzEsIDg1LCA4OCwgMTI4LCA3MSwgNzEsIAorICAgIDg1LCA4NCwgMTI4LCA3MSwgNzEsIDg1LCA4MiwgODgsIDEyOCwgNzEsIDcxLCA4NSwgODIsIDEyOCwgNzEsIDcxLCA4NSwgCisgICAgNzksIDg4LCAxMjgsIDcxLCA3MSwgODUsIDc5LCA4NCwgMTI4LCA3MSwgNzEsIDg1LCA3OSwgODAsIDEyOCwgNzEsIDcxLCAKKyAgICA4NSwgNzksIDEyOCwgNzEsIDcxLCA3OSwgODgsIDEyOCwgNzEsIDcxLCA3OSwgODQsIDEyOCwgNzEsIDcxLCA3OSwgODAsIAorICAgIDEyOCwgNzEsIDcxLCA3MywgODgsIDEyOCwgNzEsIDcxLCA3MywgODQsIDEyOCwgNzEsIDcxLCA3MywgNjksIDg4LCAxMjgsIAorICAgIDcxLCA3MSwgNzMsIDY5LCA4MCwgMTI4LCA3MSwgNzEsIDczLCA2OSwgMTI4LCA3MSwgNzEsIDY5LCA4OCwgMTI4LCA3MSwgCisgICAgNzEsIDY5LCA4NCwgMTI4LCA3MSwgNzEsIDY5LCA4MCwgMTI4LCA3MSwgNzEsIDY1LCA4OCwgMTI4LCA3MSwgNzEsIDY1LCAKKyAgICA4NCwgMTI4LCA3MSwgNjksIDg0LCAxOTMsIDcxLCA2OSwgODMsIDg0LCA4NSwgODIsIDY5LCAxMjgsIDcxLCA2OSwgODMsIAorICAgIDcyLCA4NSwgMTI4LCA3MSwgNjksIDgzLCA3MiwgODQsIDczLCA3OCwgMTI4LCA3MSwgNjksIDgzLCA3MiwgODQsIDczLCAKKyAgICAyMDYsIDcxLCA2OSwgODMsIDcyLCA1MCwgMTI4LCA3MSwgNjksIDgyLCA4MywgNzIsIDY1LCA4OSwgNzMsIDc3LCAxMjgsIAorICAgIDcxLCA2OSwgODIsIDc3LCA2NSwgMjA2LCA3MSwgNjksIDgyLCA2OSwgODMsIDcyLCAxMjgsIDcxLCA2OSwgODIsIDY5LCA4MywgCisgICAgMjAwLCA3MSwgNjksIDc5LCA3NywgNjksIDg0LCA4MiwgNzMsIDY3LCA2NSwgNzYsIDc2LCAyMTcsIDcxLCA2OSwgNzksIDc3LCAKKyAgICA2OSwgODQsIDgyLCA3MywgMTk1LCA3MSwgNjksIDc4LCA4NCwgNzYsIDE5NywgNzEsIDY5LCA3OCwgNzMsIDg0LCA3MywgODYsIAorICAgIDY5LCAxMjgsIDcxLCA2OSwgNzgsIDczLCA3NSwgMjAxLCA3MSwgNjksIDc4LCA2OSwgODIsIDczLCAxOTUsIDcxLCA2OSwgCisgICAgNzcsIDczLCA3OCwgNzMsIDEyOCwgNzEsIDY5LCA3NywgNzMsIDc4LCA2NSwgODQsIDczLCA3OSwgMjA2LCA3MSwgNjksIAorICAgIDIwNSwgNzEsIDY5LCA2OSwgNzcsIDEyOCwgNzEsIDY5LCA2OCwgNzksIDc2LCA2NSwgMTI4LCA3MSwgNjksIDY4LCA2OSwgCisgICAgMTI4LCA3MSwgNjksIDY2LCAyMDcsIDcxLCA2OSwgNjYsIDE5MywgNzEsIDY5LCA2NSwgODIsIDEyOCwgNzEsIDY5LCA2NSwgCisgICAgMjEwLCA3MSwgNjksIDUwLCA1MCwgMTI4LCA3MSwgNjgsIDY1LCA3OCwgMTI4LCA3MSwgNjcsIDczLCA3MSwgMTI4LCA3MSwgCisgICAgNjcsIDY1LCAyMDYsIDcxLCA2NiwgNzksIDc4LCAxMjgsIDcxLCA2NiwgNzMsIDY5LCAxOTcsIDcxLCA2NiwgNjksIDg1LCAKKyAgICA4OCwgMTI4LCA3MSwgNjYsIDY5LCA4NCwgMTI4LCA3MSwgNjYsIDY1LCA4OSwgNzMsIDEyOCwgNzEsIDY2LCA2NSwgNzUsIAorICAgIDg1LCA4MiwgODUsIDc4LCA2OSwgNzgsIDEyOCwgNzEsIDY2LCAxMjgsIDcxLCA2NSwgODksIDY1LCA3OCwgODUsIDc1LCA3MywgCisgICAgODQsIDg0LCA2NSwgMTI4LCA3MSwgNjUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA3MSwgNjUsIDg5LCAxMjgsIDcxLCAKKyAgICA2NSwgODUsIDc4LCA4NCwgNzYsIDY5LCA4NCwgMTI4LCA3MSwgNjUsIDg0LCA3MiwgNjksIDgyLCA3MywgNzgsIDcxLCAxMjgsIAorICAgIDcxLCA2NSwgODQsIDcyLCA2OSwgODIsIDczLCA3OCwgMTk5LCA3MSwgNjUsIDg0LCA2OSwgMTI4LCA3MSwgNjUsIDgzLCA3MiwgCisgICAgNjUsIDc4LCAxMjgsIDcxLCA2NSwgODIsIDgzLCA3MiwgODUsIDc4LCA3MywgMTI4LCA3MSwgNjUsIDgyLCA3OSwgNzgsIAorICAgIDEyOCwgNzEsIDY1LCA4MiwgNzcsIDY5LCA3OCwgODQsIDEyOCwgNzEsIDY1LCA4MiwgNjgsIDY5LCA3OCwgMTI4LCA3MSwgCisgICAgNjUsIDgyLCA1MSwgMTI4LCA3MSwgNjUsIDgwLCA4MCwgNjksIDE5NiwgNzEsIDY1LCAyMDgsIDcxLCA2NSwgNzgsIDc3LCAKKyAgICA2NSwgMTI4LCA3MSwgNjUsIDc4LCA3MSwgNzMsIDY1LCAxMjgsIDcxLCA2NSwgNzgsIDY4LCAxOTMsIDcxLCA2NSwgNzgsIAorICAgIDUwLCAxMjgsIDcxLCA2NSwgNzgsIDE3OCwgNzEsIDY1LCA3NywgNzcsIDY1LCAxMjgsIDcxLCA2NSwgNzcsIDc2LCA2NSwgCisgICAgMTI4LCA3MSwgNjUsIDc3LCA3NiwgMTI4LCA3MSwgNjUsIDc3LCA2OSwgMTI4LCA3MSwgNjUsIDc3LCAxOTcsIDcxLCA2NSwgCisgICAgNzcsIDY1LCA3OCwgMTI4LCA3MSwgNjUsIDc3LCA2NSwgNzYsIDEyOCwgNzEsIDY1LCA3NywgNjUsIDIwNCwgNzEsIDY1LCAKKyAgICA3MSwgMTI4LCA3MSwgNjUsIDcwLCAxMjgsIDcxLCA2NSwgMTk4LCA3MSwgNjUsIDY5LCA4NCwgODQsIDY1LCA0NSwgODAsIAorICAgIDczLCA3NiwgNzYsIDY1LCAxMjgsIDcxLCA2NSwgNjgsIDc5LCA3NiwgMTI4LCA3MSwgNjUsIDY4LCAxMjgsIDcxLCA2NSwgCisgICAgMTk2LCA3MSwgNjUsIDY2LCA2NSwgMTI4LCA3MSwgNjUsIDY2LCAxOTMsIDcxLCA2NSwgNjUsIDcwLCA4NSwgMTI4LCA3MSwgCisgICAgNjUsIDE3OCwgNzEsIDQ4LCA1MywgNTIsIDEyOCwgNzEsIDQ4LCA1MywgNTEsIDEyOCwgNzEsIDQ4LCA1MywgNTAsIDEyOCwgCisgICAgNzEsIDQ4LCA1MywgNDksIDEyOCwgNzEsIDQ4LCA1MywgNDgsIDEyOCwgNzEsIDQ4LCA1MiwgNTcsIDEyOCwgNzEsIDQ4LCAKKyAgICA1MiwgNTYsIDEyOCwgNzEsIDQ4LCA1MiwgNTUsIDEyOCwgNzEsIDQ4LCA1MiwgNTQsIDEyOCwgNzEsIDQ4LCA1MiwgNTMsIAorICAgIDY1LCAxMjgsIDcxLCA0OCwgNTIsIDUzLCAxMjgsIDcxLCA0OCwgNTIsIDUyLCAxMjgsIDcxLCA0OCwgNTIsIDUxLCA2NSwgCisgICAgMTI4LCA3MSwgNDgsIDUyLCA1MSwgMTI4LCA3MSwgNDgsIDUyLCA1MCwgMTI4LCA3MSwgNDgsIDUyLCA0OSwgMTI4LCA3MSwgCisgICAgNDgsIDUyLCA0OCwgMTI4LCA3MSwgNDgsIDUxLCA1NywgMTI4LCA3MSwgNDgsIDUxLCA1NiwgMTI4LCA3MSwgNDgsIDUxLCAKKyAgICA1NSwgNjUsIDEyOCwgNzEsIDQ4LCA1MSwgNTUsIDEyOCwgNzEsIDQ4LCA1MSwgNTQsIDY1LCAxMjgsIDcxLCA0OCwgNTEsIAorICAgIDU0LCAxMjgsIDcxLCA0OCwgNTEsIDUzLCAxMjgsIDcxLCA0OCwgNTEsIDUyLCAxMjgsIDcxLCA0OCwgNTEsIDUxLCAxMjgsIAorICAgIDcxLCA0OCwgNTEsIDUwLCAxMjgsIDcxLCA0OCwgNTEsIDQ5LCAxMjgsIDcxLCA0OCwgNTEsIDQ4LCAxMjgsIDcxLCA0OCwgCisgICAgNTAsIDU3LCAxMjgsIDcxLCA0OCwgNTAsIDU2LCAxMjgsIDcxLCA0OCwgNTAsIDU1LCAxMjgsIDcxLCA0OCwgNTAsIDU0LCAKKyAgICA2NSwgMTI4LCA3MSwgNDgsIDUwLCA1NCwgMTI4LCA3MSwgNDgsIDUwLCA1MywgMTI4LCA3MSwgNDgsIDUwLCA1MiwgMTI4LCAKKyAgICA3MSwgNDgsIDUwLCA1MSwgMTI4LCA3MSwgNDgsIDUwLCA1MCwgMTI4LCA3MSwgNDgsIDUwLCA0OSwgMTI4LCA3MSwgNDgsIAorICAgIDUwLCA0OCwgNjUsIDEyOCwgNzEsIDQ4LCA1MCwgNDgsIDEyOCwgNzEsIDQ4LCA0OSwgNTcsIDEyOCwgNzEsIDQ4LCA0OSwgCisgICAgNTYsIDEyOCwgNzEsIDQ4LCA0OSwgNTUsIDEyOCwgNzEsIDQ4LCA0OSwgNTQsIDEyOCwgNzEsIDQ4LCA0OSwgNTMsIDEyOCwgCisgICAgNzEsIDQ4LCA0OSwgNTIsIDEyOCwgNzEsIDQ4LCA0OSwgNTEsIDEyOCwgNzEsIDQ4LCA0OSwgNTAsIDEyOCwgNzEsIDQ4LCAKKyAgICA0OSwgNDksIDY1LCAxMjgsIDcxLCA0OCwgNDksIDQ5LCAxMjgsIDcxLCA0OCwgNDksIDQ4LCAxMjgsIDcxLCA0OCwgNDgsIAorICAgIDU3LCAxMjgsIDcxLCA0OCwgNDgsIDU2LCAxMjgsIDcxLCA0OCwgNDgsIDU1LCA2NiwgMTI4LCA3MSwgNDgsIDQ4LCA1NSwgCisgICAgNjUsIDEyOCwgNzEsIDQ4LCA0OCwgNTUsIDEyOCwgNzEsIDQ4LCA0OCwgNTQsIDY1LCAxMjgsIDcxLCA0OCwgNDgsIDU0LCAKKyAgICAxMjgsIDcxLCA0OCwgNDgsIDUzLCAxMjgsIDcxLCA0OCwgNDgsIDUyLCAxMjgsIDcxLCA0OCwgNDgsIDUxLCAxMjgsIDcxLCAKKyAgICA0OCwgNDgsIDUwLCAxMjgsIDcxLCA0OCwgNDgsIDQ5LCAxMjgsIDcwLCA4OSwgODgsIDEyOCwgNzAsIDg5LCA4NCwgMTI4LCAKKyAgICA3MCwgODksIDgwLCAxMjgsIDcwLCA4OSwgNjUsIDEyOCwgNzAsIDg3LCA3MywgMTI4LCA3MCwgODcsIDY5LCA2OSwgMTI4LCAKKyAgICA3MCwgODcsIDY5LCAxMjgsIDcwLCA4NywgNjUsIDY1LCAxMjgsIDcwLCA4NywgNjUsIDEyOCwgNzAsIDg2LCA4MywgNTEsIAorICAgIDEyOCwgNzAsIDg2LCA4MywgNTAsIDEyOCwgNzAsIDg2LCA4MywgNDksIDEyOCwgNzAsIDg1LCA4OCwgMTI4LCA3MCwgODUsIAorICAgIDg0LCAxMjgsIDcwLCA4NSwgODMsIDY5LCAxMjgsIDcwLCA4NSwgODMsIDE5MywgNzAsIDg1LCA4MiwgODgsIDEyOCwgNzAsIAorICAgIDg1LCA4MCwgMTI4LCA3MCwgODUsIDc4LCA2OSwgODIsIDY1LCAyMDQsIDcwLCA4NSwgNzgsIDY3LCA4NCwgNzMsIDc5LCA3OCwgCisgICAgNjUsIDIwNCwgNzAsIDg1LCA3OCwgNjcsIDg0LCA3MywgNzksIDc4LCAxMjgsIDcwLCA4NSwgNzYsIDc2LCA3OCwgNjksIDgzLCAKKyAgICA4MywgMTI4LCA3MCwgODUsIDc2LCAyMDQsIDcwLCA4NSwgNzQsIDczLCAxMjgsIDcwLCA4NSwgNjksIDg0LCAxMjgsIDcwLCAKKyAgICA4NSwgNjksIDIwNCwgNzAsIDg1LCA2OSwgMTI4LCA3MCwgODUsIDY1LCAxMjgsIDcwLCA4NCwgNzIsIDc5LCA4MiwgMTkzLCAKKyAgICA3MCwgODMsIDczLCAxMjgsIDcwLCA4MiwgNzksIDg3LCA3OCwgNzMsIDc4LCA3MSwgMTI4LCA3MCwgODIsIDc5LCA4NywgNzgsIAorICAgIDczLCA3OCwgMTk5LCA3MCwgODIsIDc5LCA4NywgNzgsIDEyOCwgNzAsIDgyLCA3OSwgNzgsIDg0LCA0NSwgODQsIDczLCA3NiwgCisgICAgODQsIDY5LCAxOTYsIDcwLCA4MiwgNzksIDc4LCA4NCwgNDUsIDcwLCA2NSwgNjcsIDczLCA3OCwgMTk5LCA3MCwgODIsIDc5LCAKKyAgICAyMDUsIDcwLCA4MiwgNzksIDcxLCAxMjgsIDcwLCA4MiwgNzksIDE5OSwgNzAsIDgyLCA3MywgODQsIDg1LCAxMjgsIDcwLCAKKyAgICA4MiwgNzMsIDY5LCA4MywgMTI4LCA3MCwgODIsIDczLCA2OSwgMTk2LCA3MCwgODIsIDczLCA2NywgNjUsIDg0LCA3MywgODYsIAorICAgIDY5LCAxMjgsIDcwLCA4MiwgNjksIDg0LCA2NiwgNzksIDY1LCA4MiwgNjgsIDEyOCwgNzAsIDgyLCA2OSwgNzgsIDY3LCAKKyAgICAyMDAsIDcwLCA4MiwgNjksIDY5LCAxMjgsIDcwLCA4MiwgNjksIDE5NywgNzAsIDgyLCA2NSwgNzgsIDc1LCAyMTEsIDcwLCAKKyAgICA4MiwgNjUsIDc4LCAxOTUsIDcwLCA4MiwgNjUsIDc3LCA2OSwgODMsIDEyOCwgNzAsIDgyLCA2NSwgNzcsIDY5LCAxMjgsIAorICAgIDcwLCA4MiwgNjUsIDc3LCAxOTcsIDcwLCA4MiwgNjUsIDcxLCA4MiwgNjUsIDc4LCA4NCwgMTI4LCA3MCwgODIsIDY1LCA3MSwgCisgICAgNzcsIDY5LCA3OCwgODQsIDEyOCwgNzAsIDgyLCA2NSwgNjcsIDg0LCA3MywgNzksIDIwNiwgNzAsIDc5LCA4OCwgMTI4LCAKKyAgICA3MCwgNzksIDg1LCA4MiwgODQsIDY5LCA2OSwgNzgsIDEyOCwgNzAsIDc5LCA4NSwgODIsIDg0LCA2OSwgNjksIDIwNiwgNzAsIAorICAgIDc5LCA4NSwgODIsIDQ1LCA4NCwgNzIsIDczLCA4MiwgODQsIDg5LCAxMjgsIDcwLCA3OSwgODUsIDgyLCA0NSwgODMsIDg0LCAKKyAgICA4MiwgNzMsIDc4LCAxOTksIDcwLCA3OSwgODUsIDgyLCA0NSwgODAsIDY5LCA4MiwgNDUsIDY5LCAyMDUsIDcwLCA3OSwgODUsIAorICAgIDgyLCA0NSwgNzYsIDczLCA3OCwgMTk3LCA3MCwgNzksIDg1LCAyMTAsIDcwLCA3OSwgODUsIDc4LCA4NCwgNjUsIDczLCA3OCwgCisgICAgMTI4LCA3MCwgNzksIDg1LCA3OCwgODQsIDY1LCA3MywgMjA2LCA3MCwgNzksIDgzLCA4NCwgNjksIDgyLCA3MywgNzgsIDcxLCAKKyAgICAxMjgsIDcwLCA3OSwgODIsIDg3LCA2NSwgODIsIDY4LCAxMjgsIDcwLCA3OSwgODIsIDg0LCA4OSwgMTI4LCA3MCwgNzksIAorICAgIDgyLCA4NCwgMjE3LCA3MCwgNzksIDgyLCA4NCwgNjksIDEyOCwgNzAsIDc5LCA4MiwgNzcsIDIxMSwgNzAsIDc5LCA4MiwgCisgICAgNzcsIDY1LCA4NCwgODQsIDczLCA3OCwgNzEsIDEyOCwgNzAsIDc5LCA4MiwgNzcsIDY1LCAyMTIsIDcwLCA3OSwgODIsIDc1LCAKKyAgICA2OSwgMTk2LCA3MCwgNzksIDgyLCA2NywgNjksIDgzLCAxMjgsIDcwLCA3OSwgODIsIDY3LCA2OSwgMTI4LCA3MCwgNzksIAorICAgIDgwLCAxMjgsIDcwLCA3OSwgNzksIDg0LCA4MywgODQsIDc5LCA3OSwgNzYsIDEyOCwgNzAsIDc5LCA3OSwgODQsIDgwLCA4MiwgCisgICAgNzMsIDc4LCA4NCwgODMsIDEyOCwgNzAsIDc5LCA3OSwgODQsIDc4LCA3OSwgODQsIDE5NywgNzAsIDc5LCA3OSwgODQsIDY2LCAKKyAgICA2NSwgNzYsIDc2LCAxMjgsIDcwLCA3OSwgNzksIDg0LCAxMjgsIDcwLCA3OSwgNzksIDc2LCAxMjgsIDcwLCA3OSwgNzksIAorICAgIDY4LCAxMjgsIDcwLCA3OSwgNzksIDEyOCwgNzAsIDc5LCA3OCwgMjEyLCA3MCwgNzksIDc4LCA3MSwgNzcsIDY1LCA3OCwgCisgICAgMTI4LCA3MCwgNzksIDc3LCAxMjgsIDcwLCA3OSwgNzYsIDc2LCA4OSwgMTI4LCA3MCwgNzksIDc2LCA3NiwgNzksIDg3LCAKKyAgICA3MywgNzgsIDcxLCAxMjgsIDcwLCA3OSwgNzYsIDY4LCA2OSwgODIsIDEyOCwgNzAsIDc5LCA3NiwgNjgsIDY5LCAxOTYsIAorICAgIDcwLCA3OSwgNzEsIDcxLCA4OSwgMTI4LCA3MCwgNzksIDcxLCAxMjgsIDcwLCAyMDcsIDcwLCA3NywgMTI4LCA3MCwgNzYsIAorICAgIDg5LCA3MywgNzgsIDE5OSwgNzAsIDc2LCA4OSwgMTI4LCA3MCwgNzYsIDg1LCA4NCwgODQsIDY5LCA4MiwgNzMsIDc4LCAKKyAgICAxOTksIDcwLCA3NiwgODUsIDg0LCA2OSwgMTI4LCA3MCwgNzYsIDg1LCA4MywgNzIsIDY5LCAxOTYsIDcwLCA3NiwgNzksIAorICAgIDg3LCA3MywgNzgsIDE5OSwgNzAsIDc2LCA3OSwgODcsIDY5LCA4MiwgODMsIDEyOCwgNzAsIDc2LCA3OSwgODcsIDY5LCAKKyAgICAyMTAsIDcwLCA3NiwgNzksIDg1LCA4MiwgNzMsIDgzLCA3MiwgMTI4LCA3MCwgNzYsIDc5LCA4MiwgNjksIDg0LCA4NCwgNjksIAorICAgIDEyOCwgNzAsIDc2LCA3OSwgODIsIDY1LCAyMDQsIDcwLCA3NiwgNzksIDgwLCA4MCwgMjE3LCA3MCwgNzYsIDc5LCA3OSwgCisgICAgODIsIDEyOCwgNzAsIDc2LCA3MywgODAsIDEyOCwgNzAsIDc2LCA3MywgNzEsIDcyLCA4NCwgMTI4LCA3MCwgNzYsIDY5LCAKKyAgICA4OCwgODUsIDgzLCAxMjgsIDcwLCA3NiwgNjksIDg4LCA2OSwgMTk2LCA3MCwgNzYsIDY5LCA4NSwgODIsIDc5LCA3OCwgCisgICAgMTI4LCA3MCwgNzYsIDY5LCA4NSwgODIsIDQ1LCA2OCwgNjksIDQ1LCA3NiwgNzMsIDgzLCAxMjgsIDcwLCA3NiwgNjUsIDg0LCAKKyAgICA4NCwgNjksIDc4LCA2OSwgMTk2LCA3MCwgNzYsIDY1LCA4NCwgNzgsIDY5LCA4MywgODMsIDEyOCwgNzAsIDc2LCA2NSwgODQsIAorICAgIDEyOCwgNzAsIDc2LCA2NSwgMjEyLCA3MCwgNzYsIDY1LCA4MywgNzIsIDEyOCwgNzAsIDc2LCA2NSwgNzEsIDgzLCAxMjgsIAorICAgIDcwLCA3NiwgNjUsIDcxLCA0NSwgNTMsIDEyOCwgNzAsIDc2LCA2NSwgNzEsIDQ1LCA1MiwgMTI4LCA3MCwgNzYsIDY1LCA3MSwgCisgICAgNDUsIDUxLCAxMjgsIDcwLCA3NiwgNjUsIDcxLCA0NSwgNTAsIDEyOCwgNzAsIDc2LCA2NSwgNzEsIDQ1LCA0OSwgMTI4LCAKKyAgICA3MCwgNzYsIDY1LCA3MSwgMTI4LCA3MCwgNzYsIDY1LCAxOTksIDcwLCA3NiwgNjUsIDEyOCwgNzAsIDc2LCAxMjgsIDcwLCAKKyAgICA3MywgODgsIDY5LCA2OCwgNDUsIDcwLCA3OSwgODIsIDIwNSwgNzAsIDczLCA4OCwgMTI4LCA3MCwgNzMsIDg2LCA2OSwgNDUsIAorICAgIDg0LCA3MiwgNzMsIDgyLCA4NCwgODksIDEyOCwgNzAsIDczLCA4NiwgNjksIDQ1LCA3NiwgNzMsIDc4LCAxOTcsIDcwLCA3MywgCisgICAgODYsIDE5NywgNzAsIDczLCA4NCwgNjUsIDEyOCwgNzAsIDczLCA4NCwgMTI4LCA3MCwgNzMsIDgzLCA4NCwgNjksIDE5NiwgCisgICAgNzAsIDczLCA4MywgODQsIDEyOCwgNzAsIDczLCA4MywgNzIsIDczLCA3OCwgMTk5LCA3MCwgNzMsIDgzLCA3MiwgNzIsIDc5LCAKKyAgICA3OSwgNzUsIDEyOCwgNzAsIDczLCA4MywgNzIsIDcyLCA3OSwgNzksIDIwMywgNzAsIDczLCA4MywgNzIsIDY5LCA4OSwgNjksIAogICAgIDEyOCwgNzAsIDczLCA4MywgNzIsIDEyOCwgNzAsIDczLCA4MywgMjAwLCA3MCwgNzMsIDgyLCA4MywgMjEyLCA3MCwgNzMsIAogICAgIDgyLCA3MywgMTI4LCA3MCwgNzMsIDgyLCA2OSwgODcsIDc5LCA4MiwgNzUsIDgzLCAxMjgsIDcwLCA3MywgODIsIDY5LCA4NywgCiAgICAgNzksIDgyLCAyMDMsIDcwLCA3MywgODIsIDY5LCAxMjgsIDcwLCA3MywgODIsIDE5NywgNzAsIDczLCA4MCwgMTI4LCA3MCwgCi0gICAgNzMsIDc4LCA3MywgODQsIDE5NywgNzAsIDczLCA3OCwgNzEsIDY5LCA4MiwgNzgsIDY1LCA3MywgNzYsIDgzLCAxMjgsIDcwLCAKLSAgICA3MywgNzgsIDcxLCA2OSwgODIsIDY5LCAxOTYsIDcwLCA3MywgNzgsIDY1LCA3OCwgNjcsIDczLCA2NSwgNzYsIDEyOCwgNzAsIAotICAgIDczLCA3NiwgNzYsIDY5LCA4MiwgMTI4LCA3MCwgNzMsIDc2LCA3NiwgNjksIDE5NiwgNzAsIDczLCA3NiwgNzYsIDEyOCwgCi0gICAgNzAsIDczLCA3NiwgMjA0LCA3MCwgNzMsIDc2LCAxOTcsIDcwLCA3MywgNzMsIDEyOCwgNzAsIDczLCA3MSwgODUsIDgyLCAKLSAgICA2OSwgNDUsIDUxLCAxMjgsIDcwLCA3MywgNzEsIDg1LCA4MiwgNjksIDQ1LCA1MCwgMTI4LCA3MCwgNzMsIDcxLCA4NSwgODIsIAotICAgIDY5LCA0NSwgNDksIDEyOCwgNzAsIDczLCA3MSwgODUsIDgyLCAxOTcsIDcwLCA3MywgNzEsIDcyLCA4NCwgMTI4LCA3MCwgCi0gICAgNzMsIDcwLCA4NCwgODksIDEyOCwgNzAsIDczLCA3MCwgODQsIDIxNywgNzAsIDczLCA3MCwgODQsIDcyLCA4MywgMTI4LCAKLSAgICA3MCwgNzMsIDcwLCA4NCwgNzIsIDEyOCwgNzAsIDczLCA3MCwgODQsIDY5LCA2OSwgNzgsIDEyOCwgNzAsIDczLCA3MCwgODQsIAotICAgIDY5LCA2OSwgMjA2LCA3MCwgNzMsIDY5LCA3NiwgNjgsIDEyOCwgNzAsIDcyLCA4NCwgNzksIDgyLCAxOTMsIDcwLCA3MCwgCi0gICAgNzYsIDEyOCwgNzAsIDcwLCA3MywgMTI4LCA3MCwgNjksIDg1LCA4OCwgMTI4LCA3MCwgNjksIDg1LCA3MCwgNjksIDg1LCAKLSAgICA2NSwgNjksIDg0LCAxMjgsIDcwLCA2OSwgODMsIDg0LCA3MywgODYsIDY1LCA3NiwgMTI4LCA3MCwgNjksIDgyLCA4MiwgODksIAotICAgIDEyOCwgNzAsIDY5LCA4MiwgODIsIDczLCAyMTEsIDcwLCA2OSwgODIsIDc3LCA2NSwgODQsIDY1LCAxMjgsIDcwLCA2OSwgCi0gICAgODIsIDc3LCA2NSwgODQsIDE5MywgNzAsIDY5LCA3OSwgMjAwLCA3MCwgNjksIDc4LCAxOTksIDcwLCA2OSwgNzgsIDY3LCAKLSAgICA2OSwgMTI4LCA3MCwgNjksIDc3LCA3MywgNzgsIDczLCA3OCwgMTk3LCA3MCwgNjksIDc3LCA2NSwgNzYsIDY5LCAxMjgsIAotICAgIDcwLCA2OSwgNzcsIDY1LCA3NiwgMTk3LCA3MCwgNjksIDc2LCA3NiwgNzksIDg3LCA4MywgNzIsIDczLCA4MCwgMTI4LCA3MCwgCi0gICAgNjksIDczLCAxMjgsIDcwLCA2OSwgNzIsIDIxMywgNzAsIDY5LCA3MiwgMTI4LCA3MCwgNjksIDIwMCwgNzAsIDY5LCA2OSwgCi0gICAgNzgsIDcxLCAxMjgsIDcwLCA2OSwgNjksIDY4LCAxMjgsIDcwLCA2OSwgNjksIDE5NiwgNzAsIDY5LCA2OSwgMTI4LCA3MCwgCi0gICAgNjksIDY2LCA4MiwgODUsIDY1LCA4MiwgODksIDEyOCwgNzAsIDY5LCA2NSwgODQsIDcyLCA2OSwgODIsIDEyOCwgNzAsIDY5LCAKLSAgICA2NSwgODQsIDcyLCA2OSwgMjEwLCA3MCwgNjksIDY1LCA4MiwgNzgsIDEyOCwgNzAsIDY5LCA2NSwgODIsIDcwLCA4NSwgCi0gICAgMjA0LCA3MCwgNjksIDY1LCA4MiwgMTI4LCA3MCwgNjUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA3MCwgNjUsIDg5LCAKLSAgICAxMjgsIDcwLCA2NSwgODgsIDEyOCwgNzAsIDY1LCAyMTYsIDcwLCA2NSwgODQsIDczLCA3MSwgODUsIDY5LCAxMjgsIDcwLCAKLSAgICA2NSwgODQsIDcyLCA2OSwgODIsIDEyOCwgNzAsIDY1LCA4NCwgNzIsIDY5LCAyMTAsIDcwLCA2NSwgODQsIDcyLCA2NSwgODQsIAotICAgIDY1LCA3OCwgMTI4LCA3MCwgNjUsIDg0LCA3MiwgNjUsIDg0LCA2NSwgMjA2LCA3MCwgNjUsIDg0LCA3MiwgNjUsIDEyOCwgCi0gICAgNzAsIDY1LCA4NCwgNzIsIDE5MywgNzAsIDY1LCA4NCwgMTI4LCA3MCwgNjUsIDgyLCA4MywgMjAxLCA3MCwgNjUsIDgxLCAKLSAgICAxMjgsIDcwLCA2NSwgODAsIDEyOCwgNzAsIDY1LCA3OCwgNzEsIDEyOCwgNzAsIDY1LCA3OCwgNjksIDgyLCA3OSwgODMsIAotICAgIDczLCAyMTEsIDcwLCA2NSwgNzgsIDEyOCwgNzAsIDY1LCA3NywgNzMsIDc2LCA4OSwgMTI4LCA3MCwgNjUsIDc2LCA3NiwgCi0gICAgNzMsIDc4LCAxOTksIDcwLCA2NSwgNzYsIDc2LCA2OSwgMjA2LCA3MCwgNjUsIDczLCA3NiwgODUsIDgyLCA2OSwgMTI4LCAKLSAgICA3MCwgNjUsIDczLCA3MiwgODUsIDEyOCwgNzAsIDY1LCA3MiwgODIsIDY5LCA3OCwgNzIsIDY5LCA3MywgODQsIDEyOCwgNzAsIAotICAgIDY1LCA2NywgODQsIDc5LCA4MiwgODksIDEyOCwgNzAsIDY1LCA2NywgODQsIDc5LCAyMTAsIDcwLCA2NSwgNjcsIDgzLCA3MywgCi0gICAgNzcsIDczLCA3NiwgMTk3LCA3MCwgNjUsIDY3LCA2OSwgNDUsIDU0LCAxMjgsIDcwLCA2NSwgNjcsIDY5LCA0NSwgNTMsIAotICAgIDEyOCwgNzAsIDY1LCA2NywgNjksIDQ1LCA1MiwgMTI4LCA3MCwgNjUsIDY3LCA2OSwgNDUsIDUxLCAxMjgsIDcwLCA2NSwgCi0gICAgNjcsIDY5LCA0NSwgNTAsIDEyOCwgNzAsIDY1LCA2NywgNjksIDQ1LCA0OSwgMTI4LCA3MCwgNjUsIDY1LCA3NywgNjUsIDY5LCAKLSAgICAxMjgsIDcwLCA2NSwgNjUsIDczLCAxMjgsIDcwLCA2NSwgNjUsIDcwLCA4NSwgMTI4LCA3MCwgNDgsIDUzLCA1MSwgMTI4LCAKLSAgICA3MCwgNDgsIDUzLCA1MCwgMTI4LCA3MCwgNDgsIDUzLCA0OSwgNjcsIDEyOCwgNzAsIDQ4LCA1MywgNDksIDY2LCAxMjgsIAotICAgIDcwLCA0OCwgNTMsIDQ5LCA2NSwgMTI4LCA3MCwgNDgsIDUzLCA0OSwgMTI4LCA3MCwgNDgsIDUzLCA0OCwgMTI4LCA3MCwgCi0gICAgNDgsIDUyLCA1NywgMTI4LCA3MCwgNDgsIDUyLCA1NiwgMTI4LCA3MCwgNDgsIDUyLCA1NSwgNjUsIDEyOCwgNzAsIDQ4LCAKLSAgICA1MiwgNTUsIDEyOCwgNzAsIDQ4LCA1MiwgNTQsIDY1LCAxMjgsIDcwLCA0OCwgNTIsIDU0LCAxMjgsIDcwLCA0OCwgNTIsIAotICAgIDUzLCA2NSwgMTI4LCA3MCwgNDgsIDUyLCA1MywgMTI4LCA3MCwgNDgsIDUyLCA1MiwgMTI4LCA3MCwgNDgsIDUyLCA1MSwgCi0gICAgMTI4LCA3MCwgNDgsIDUyLCA1MCwgMTI4LCA3MCwgNDgsIDUyLCA0OSwgMTI4LCA3MCwgNDgsIDUyLCA0OCwgMTI4LCA3MCwgCi0gICAgNDgsIDUxLCA1NywgMTI4LCA3MCwgNDgsIDUxLCA1NiwgNjUsIDEyOCwgNzAsIDQ4LCA1MSwgNTYsIDEyOCwgNzAsIDQ4LCAKLSAgICA1MSwgNTUsIDY1LCAxMjgsIDcwLCA0OCwgNTEsIDU1LCAxMjgsIDcwLCA0OCwgNTEsIDU0LCAxMjgsIDcwLCA0OCwgNTEsIAotICAgIDUzLCAxMjgsIDcwLCA0OCwgNTEsIDUyLCAxMjgsIDcwLCA0OCwgNTEsIDUxLCAxMjgsIDcwLCA0OCwgNTEsIDUwLCAxMjgsIAotICAgIDcwLCA0OCwgNTEsIDQ5LCA2NSwgMTI4LCA3MCwgNDgsIDUxLCA0OSwgMTI4LCA3MCwgNDgsIDUxLCA0OCwgMTI4LCA3MCwgCi0gICAgNDgsIDUwLCA1NywgMTI4LCA3MCwgNDgsIDUwLCA1NiwgMTI4LCA3MCwgNDgsIDUwLCA1NSwgMTI4LCA3MCwgNDgsIDUwLCAKLSAgICA1NCwgMTI4LCA3MCwgNDgsIDUwLCA1MywgMTI4LCA3MCwgNDgsIDUwLCA1MiwgMTI4LCA3MCwgNDgsIDUwLCA1MSwgMTI4LCAKLSAgICA3MCwgNDgsIDUwLCA1MCwgMTI4LCA3MCwgNDgsIDUwLCA0OSwgNjUsIDEyOCwgNzAsIDQ4LCA1MCwgNDksIDEyOCwgNzAsIAotICAgIDQ4LCA1MCwgNDgsIDEyOCwgNzAsIDQ4LCA0OSwgNTcsIDEyOCwgNzAsIDQ4LCA0OSwgNTYsIDEyOCwgNzAsIDQ4LCA0OSwgCi0gICAgNTUsIDEyOCwgNzAsIDQ4LCA0OSwgNTQsIDEyOCwgNzAsIDQ4LCA0OSwgNTMsIDEyOCwgNzAsIDQ4LCA0OSwgNTIsIDEyOCwgCi0gICAgNzAsIDQ4LCA0OSwgNTEsIDY1LCAxMjgsIDcwLCA0OCwgNDksIDUxLCAxMjgsIDcwLCA0OCwgNDksIDUwLCAxMjgsIDcwLCAKLSAgICA0OCwgNDksIDQ5LCAxMjgsIDcwLCA0OCwgNDksIDQ4LCAxMjgsIDcwLCA0OCwgNDgsIDU3LCAxMjgsIDcwLCA0OCwgNDgsIAotICAgIDU2LCAxMjgsIDcwLCA0OCwgNDgsIDU1LCAxMjgsIDcwLCA0OCwgNDgsIDU0LCAxMjgsIDcwLCA0OCwgNDgsIDUzLCAxMjgsIAotICAgIDcwLCA0OCwgNDgsIDUyLCAxMjgsIDcwLCA0OCwgNDgsIDUxLCAxMjgsIDcwLCA0OCwgNDgsIDUwLCAxMjgsIDcwLCA0OCwgCi0gICAgNDgsIDQ5LCA2NSwgMTI4LCA3MCwgNDgsIDQ4LCA0OSwgMTI4LCA2OSwgOTAsIDIwMCwgNjksIDkwLCA2OSwgNzgsIDEyOCwgCi0gICAgNjksIDkwLCA2OSwgMjA2LCA2OSwgOTAsIDEyOCwgNjksIDg5LCA2OSwgODMsIDEyOCwgNjksIDg5LCA2OSwgNzEsIDc2LCAKLSAgICA2NSwgODMsIDgzLCA2OSwgODMsIDEyOCwgNjksIDg5LCA2NiwgNjksIDg5LCA3MCwgNzMsIDc2LCA3MywgMTI4LCA2OSwgODksIAotICAgIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDY5LCA4OCwgODQsIDgyLCA2NSwgODQsIDY5LCA4MiwgODIsIDY5LCA4MywgODQsIDgyLCAKLSAgICA3MywgNjUsIDIwNCwgNjksIDg4LCA4NCwgODIsIDY1LCA0NSwgNzYsIDc5LCAyMTUsIDY5LCA4OCwgODQsIDgyLCA2NSwgNDUsIAotICAgIDcyLCA3MywgNzEsIDIwMCwgNjksIDg4LCA4NCwgNjksIDc4LCA4MywgNzMsIDc5LCA3OCwgMTI4LCA2OSwgODgsIDg0LCA2OSwgCi0gICAgNzgsIDY4LCA2OSwgMTk2LCA2OSwgODgsIDgwLCA4MiwgNjksIDgzLCA4MywgNzMsIDc5LCA3OCwgNzYsIDY5LCA4MywgMjExLCAKLSAgICA2OSwgODgsIDgwLCA3OSwgNzgsIDY5LCA3OCwgMjEyLCA2OSwgODgsIDc5LCAxMjgsIDY5LCA4OCwgMjA3LCA2OSwgODgsIAotICAgIDczLCA4MywgODQsIDgzLCAxMjgsIDY5LCA4OCwgNzMsIDgzLCA4NCwgMTI4LCA2OSwgODgsIDcyLCA2NSwgODUsIDgzLCA4NCwgCi0gICAgNzMsIDc5LCA3OCwgMTI4LCA2OSwgODgsIDY3LCA3NiwgNjUsIDc3LCA2NSwgODQsIDczLCA3OSwgNzgsIDEyOCwgNjksIDg4LCAKLSAgICA2NywgNzYsIDY1LCA3NywgNjUsIDg0LCA3MywgNzksIDIwNiwgNjksIDg4LCA2NywgNzIsIDY1LCA3OCwgNzEsIDY5LCAxMjgsIAotICAgIDY5LCA4OCwgNjcsIDY5LCA4MywgODMsIDEyOCwgNjksIDg4LCA2NywgNjksIDc2LCA3NiwgNjksIDc4LCA4NCwgMTI4LCA2OSwgCi0gICAgODcsIDY5LCAxMjgsIDY5LCA4NiwgNjksIDgyLCA3MSwgODIsIDY5LCA2OSwgMjA2LCA2OSwgODYsIDY5LCA3OCwgNzMsIDc4LCAKLSAgICA3MSwgMTI4LCA2OSwgODUsIDgyLCA3OSwgODAsIDY5LCA2NSwgMjA2LCA2OSwgODUsIDgyLCA3OSwgODAsIDY5LCA0NSwgNjUsIAotICAgIDcwLCA4MiwgNzMsIDY3LCA2NSwgMTI4LCA2OSwgODUsIDgyLCA3OSwgNDUsIDY3LCA4NSwgODIsIDgyLCA2OSwgNzgsIDY3LCAKLSAgICAyMTcsIDY5LCA4NSwgODIsIDIwNywgNjksIDg1LCA3NiwgNjksIDIxMCwgNjksIDg1LCA0NSwgODUsIDEyOCwgNjksIDg1LCAKLSAgICA0NSwgNzksIDEyOCwgNjksIDg1LCA0NSwgNjksIDg1LCAxMjgsIDY5LCA4NSwgNDUsIDY5LCA3OSwgMTI4LCA2OSwgODUsIAotICAgIDQ1LCA2OSwgMTI4LCA2OSwgODUsIDQ1LCA2NSwgMTI4LCA2OSwgODQsIDg4LCAxMjgsIDY5LCA4NCwgNzgsIDY1LCA3MiwgCi0gICAgODQsIDY1LCAxMjgsIDY5LCA4NCwgNzIsIDY5LCAyMDQsIDY5LCA4NCwgNjksIDgyLCA3OSwgMjA2LCA2OSwgODQsIDY5LCAKLSAgICA4MiwgNzgsIDczLCA4NCwgODksIDEyOCwgNjksIDg0LCA2NiwgMTI4LCA2OSwgODMsIDg1LCA3NSwgODUsIDg1LCA2OCwgNzksIAotICAgIDEyOCwgNjksIDgzLCA4NCwgNzMsIDc3LCA2NSwgODQsIDY5LCA4MywgMTI4LCA2OSwgODMsIDg0LCA3MywgNzcsIDY1LCA4NCwgCi0gICAgNjksIDE5NiwgNjksIDgzLCA3MiwgNjksIDUxLCAxMjgsIDY5LCA4MywgNzIsIDUwLCA0OSwgMTI4LCA2OSwgODMsIDcyLCAKLSAgICAxNzgsIDY5LCA4MywgNzIsIDQ5LCA1NCwgMTI4LCA2OSwgODMsIDY3LCA2NSwgODAsIDY5LCAxMjgsIDY5LCA4MywgNjcsIAotICAgIDEyOCwgNjksIDgzLCA2NSwgMTI4LCA2OSwgODMsIDQ1LCA4NCwgNjksIDEyOCwgNjksIDgyLCA4MiwgNzksIDgyLCA0NSwgCi0gICAgNjYsIDY1LCA4MiwgODIsIDY5LCAxOTYsIDY5LCA4MiwgODIsIDEyOCwgNjksIDgyLCA3MywgNzgsIDUwLCAxMjgsIDY5LCAKLSAgICA4MiwgNzEsIDEyOCwgNjksIDgyLCA2NSwgODMsIDE5NywgNjksIDgxLCA4NSwgNzMsIDg2LCA2NSwgNzYsIDY5LCA3OCwgCi0gICAgMjEyLCA2OSwgODEsIDg1LCA3MywgNjgsIDEyOCwgNjksIDgxLCA4NSwgNzMsIDY1LCA3OCwgNzEsIDg1LCA3NiwgNjUsIAotICAgIDIxMCwgNjksIDgxLCA4NSwgNjUsIDc2LCA4MywgMTI4LCA2OSwgODEsIDg1LCA2NSwgNzYsIDIxMSwgNjksIDgxLCA4NSwgCi0gICAgNjUsIDc2LCAxMjgsIDY5LCA4MCwgODMsIDczLCA3NiwgNzksIDc4LCAxMjgsIDY5LCA4MCwgODMsIDczLCA3NiwgNzksIAorICAgIDczLCA3OCwgNzMsIDg0LCAxOTcsIDcwLCA3MywgNzgsIDcxLCA2OSwgODIsIDgzLCAxMjgsIDcwLCA3MywgNzgsIDcxLCA2OSwgCisgICAgODIsIDIxMSwgNzAsIDczLCA3OCwgNzEsIDY5LCA4MiwgNzgsIDY1LCA3MywgNzYsIDgzLCAxMjgsIDcwLCA3MywgNzgsIDcxLCAKKyAgICA2OSwgODIsIDY5LCAxOTYsIDcwLCA3MywgNzgsIDcxLCA2OSwgODIsIDQ1LCA4MCwgNzksIDgzLCAyMTIsIDcwLCA3MywgNzgsIAorICAgIDcxLCA2OSwgMjEwLCA3MCwgNzMsIDc4LCA2NSwgNzgsIDY3LCA3MywgNjUsIDc2LCAxMjgsIDcwLCA3MywgNzgsIDY1LCA3NiwgCisgICAgMTI4LCA3MCwgNzMsIDc2LCAyMDUsIDcwLCA3MywgNzYsIDc2LCA2OSwgODIsIDEyOCwgNzAsIDczLCA3NiwgNzYsIDY5LCAKKyAgICAxOTYsIDcwLCA3MywgNzYsIDc2LCAxMjgsIDcwLCA3MywgNzYsIDIwNCwgNzAsIDczLCA3NiwgMTk3LCA3MCwgNzMsIDczLCAKKyAgICAxMjgsIDcwLCA3MywgNzEsIDg1LCA4MiwgNjksIDQ1LCA1MSwgMTI4LCA3MCwgNzMsIDcxLCA4NSwgODIsIDY5LCA0NSwgNTAsIAorICAgIDEyOCwgNzAsIDczLCA3MSwgODUsIDgyLCA2OSwgNDUsIDQ5LCAxMjgsIDcwLCA3MywgNzEsIDg1LCA4MiwgMTk3LCA3MCwgCisgICAgNzMsIDcxLCA3MiwgODQsIDEyOCwgNzAsIDczLCA3MCwgODQsIDg5LCAxMjgsIDcwLCA3MywgNzAsIDg0LCAyMTcsIDcwLCAKKyAgICA3MywgNzAsIDg0LCA3MiwgODMsIDEyOCwgNzAsIDczLCA3MCwgODQsIDcyLCAxMjgsIDcwLCA3MywgNzAsIDg0LCA2OSwgNjksIAorICAgIDc4LCAxMjgsIDcwLCA3MywgNzAsIDg0LCA2OSwgNjksIDIwNiwgNzAsIDczLCA2OSwgNzYsIDY4LCAxMjgsIDcwLCA3MiwgCisgICAgODQsIDc5LCA4MiwgMTkzLCA3MCwgNzAsIDc2LCAxMjgsIDcwLCA3MCwgNzMsIDEyOCwgNzAsIDY5LCA4NSwgODgsIDEyOCwgCisgICAgNzAsIDY5LCA4NSwgNzAsIDY5LCA4NSwgNjUsIDY5LCA4NCwgMTI4LCA3MCwgNjksIDgzLCA4NCwgNzMsIDg2LCA2NSwgNzYsIAorICAgIDEyOCwgNzAsIDY5LCA4MiwgODIsIDg5LCAxMjgsIDcwLCA2OSwgODIsIDgyLCA3MywgMjExLCA3MCwgNjksIDgyLCA3NywgCisgICAgNjUsIDg0LCA2NSwgMTI4LCA3MCwgNjksIDgyLCA3NywgNjUsIDg0LCAxOTMsIDcwLCA2OSwgNzksIDIwMCwgNzAsIDY5LCAKKyAgICA3OCwgMTk5LCA3MCwgNjksIDc4LCA2NywgNjksIDEyOCwgNzAsIDY5LCA3NywgNzMsIDc4LCA3MywgNzgsIDE5NywgNzAsIAorICAgIDY5LCA3NywgNjUsIDc2LCA2OSwgMTI4LCA3MCwgNjksIDc3LCA2NSwgNzYsIDE5NywgNzAsIDY5LCA3NiwgNzYsIDc5LCA4NywgCisgICAgODMsIDcyLCA3MywgODAsIDEyOCwgNzAsIDY5LCA3MywgMTI4LCA3MCwgNjksIDcyLCAyMTMsIDcwLCA2OSwgNzIsIDEyOCwgCisgICAgNzAsIDY5LCAyMDAsIDcwLCA2OSwgNjksIDc4LCA3MSwgMTI4LCA3MCwgNjksIDY5LCA3NywgMTI4LCA3MCwgNjksIDY5LCAKKyAgICA2OCwgMTI4LCA3MCwgNjksIDY5LCAxOTYsIDcwLCA2OSwgNjksIDEyOCwgNzAsIDY5LCA2NiwgODIsIDg1LCA2NSwgODIsIAorICAgIDg5LCAxMjgsIDcwLCA2OSwgNjUsIDg0LCA3MiwgNjksIDgyLCAxMjgsIDcwLCA2OSwgNjUsIDg0LCA3MiwgNjksIDIxMCwgCisgICAgNzAsIDY5LCA2NSwgODIsIDc4LCAxMjgsIDcwLCA2OSwgNjUsIDgyLCA3MCwgODUsIDIwNCwgNzAsIDY5LCA2NSwgODIsIAorICAgIDEyOCwgNzAsIDY1LCA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgNzAsIDY1LCA4OSwgMTI4LCA3MCwgNjUsIDg4LCAxMjgsIAorICAgIDcwLCA2NSwgMjE2LCA3MCwgNjUsIDg0LCA3MywgNzEsIDg1LCA2OSwgMTI4LCA3MCwgNjUsIDg0LCA3MiwgNjksIDgyLCAKKyAgICAxMjgsIDcwLCA2NSwgODQsIDcyLCA2OSwgMjEwLCA3MCwgNjUsIDg0LCA3MiwgNjUsIDg0LCA2NSwgNzgsIDEyOCwgNzAsIAorICAgIDY1LCA4NCwgNzIsIDY1LCA4NCwgNjUsIDIwNiwgNzAsIDY1LCA4NCwgNzIsIDY1LCAxMjgsIDcwLCA2NSwgODQsIDcyLCAKKyAgICAxOTMsIDcwLCA2NSwgODQsIDEyOCwgNzAsIDY1LCA4MiwgODMsIDIwMSwgNzAsIDY1LCA4MSwgMTI4LCA3MCwgNjUsIDgwLCAKKyAgICAxMjgsIDcwLCA2NSwgNzgsIDcxLCAxMjgsIDcwLCA2NSwgNzgsIDY5LCA4MiwgNzksIDgzLCA3MywgMjExLCA3MCwgNjUsIAorICAgIDc4LCAxMjgsIDcwLCA2NSwgNzcsIDczLCA3NiwgODksIDEyOCwgNzAsIDY1LCA3NywgMTI4LCA3MCwgNjUsIDc2LCA3NiwgCisgICAgNjksIDIwNiwgNzAsIDY1LCA3NCwgMTI4LCA3MCwgNjUsIDczLCA3NiwgODUsIDgyLCA2OSwgMTI4LCA3MCwgNjUsIDczLCAKKyAgICA3MiwgODUsIDEyOCwgNzAsIDY1LCA3MywgNjYsIDEyOCwgNzAsIDY1LCA3MiwgODIsIDY5LCA3OCwgNzIsIDY5LCA3MywgODQsIAorICAgIDEyOCwgNzAsIDY1LCA2NywgODQsIDc5LCA4MiwgODksIDEyOCwgNzAsIDY1LCA2NywgODQsIDc5LCAyMTAsIDcwLCA2NSwgCisgICAgNjcsIDgzLCA3MywgNzcsIDczLCA3NiwgMTk3LCA3MCwgNjUsIDY3LCA2OSwgNDUsIDU0LCAxMjgsIDcwLCA2NSwgNjcsIDY5LCAKKyAgICA0NSwgNTMsIDEyOCwgNzAsIDY1LCA2NywgNjksIDQ1LCA1MiwgMTI4LCA3MCwgNjUsIDY3LCA2OSwgNDUsIDUxLCAxMjgsIAorICAgIDcwLCA2NSwgNjcsIDY5LCA0NSwgNTAsIDEyOCwgNzAsIDY1LCA2NywgNjksIDQ1LCA0OSwgMTI4LCA3MCwgNjUsIDY1LCA3NywgCisgICAgNjUsIDY5LCAxMjgsIDcwLCA2NSwgNjUsIDczLCAxMjgsIDcwLCA2NSwgNjUsIDcwLCA4NSwgMTI4LCA3MCwgNDgsIDUzLCAKKyAgICA1MSwgMTI4LCA3MCwgNDgsIDUzLCA1MCwgMTI4LCA3MCwgNDgsIDUzLCA0OSwgNjcsIDEyOCwgNzAsIDQ4LCA1MywgNDksIAorICAgIDY2LCAxMjgsIDcwLCA0OCwgNTMsIDQ5LCA2NSwgMTI4LCA3MCwgNDgsIDUzLCA0OSwgMTI4LCA3MCwgNDgsIDUzLCA0OCwgCisgICAgMTI4LCA3MCwgNDgsIDUyLCA1NywgMTI4LCA3MCwgNDgsIDUyLCA1NiwgMTI4LCA3MCwgNDgsIDUyLCA1NSwgNjUsIDEyOCwgCisgICAgNzAsIDQ4LCA1MiwgNTUsIDEyOCwgNzAsIDQ4LCA1MiwgNTQsIDY1LCAxMjgsIDcwLCA0OCwgNTIsIDU0LCAxMjgsIDcwLCAKKyAgICA0OCwgNTIsIDUzLCA2NSwgMTI4LCA3MCwgNDgsIDUyLCA1MywgMTI4LCA3MCwgNDgsIDUyLCA1MiwgMTI4LCA3MCwgNDgsIAorICAgIDUyLCA1MSwgMTI4LCA3MCwgNDgsIDUyLCA1MCwgMTI4LCA3MCwgNDgsIDUyLCA0OSwgMTI4LCA3MCwgNDgsIDUyLCA0OCwgCisgICAgMTI4LCA3MCwgNDgsIDUxLCA1NywgMTI4LCA3MCwgNDgsIDUxLCA1NiwgNjUsIDEyOCwgNzAsIDQ4LCA1MSwgNTYsIDEyOCwgCisgICAgNzAsIDQ4LCA1MSwgNTUsIDY1LCAxMjgsIDcwLCA0OCwgNTEsIDU1LCAxMjgsIDcwLCA0OCwgNTEsIDU0LCAxMjgsIDcwLCAKKyAgICA0OCwgNTEsIDUzLCAxMjgsIDcwLCA0OCwgNTEsIDUyLCAxMjgsIDcwLCA0OCwgNTEsIDUxLCAxMjgsIDcwLCA0OCwgNTEsIAorICAgIDUwLCAxMjgsIDcwLCA0OCwgNTEsIDQ5LCA2NSwgMTI4LCA3MCwgNDgsIDUxLCA0OSwgMTI4LCA3MCwgNDgsIDUxLCA0OCwgCisgICAgMTI4LCA3MCwgNDgsIDUwLCA1NywgMTI4LCA3MCwgNDgsIDUwLCA1NiwgMTI4LCA3MCwgNDgsIDUwLCA1NSwgMTI4LCA3MCwgCisgICAgNDgsIDUwLCA1NCwgMTI4LCA3MCwgNDgsIDUwLCA1MywgMTI4LCA3MCwgNDgsIDUwLCA1MiwgMTI4LCA3MCwgNDgsIDUwLCAKKyAgICA1MSwgMTI4LCA3MCwgNDgsIDUwLCA1MCwgMTI4LCA3MCwgNDgsIDUwLCA0OSwgNjUsIDEyOCwgNzAsIDQ4LCA1MCwgNDksIAorICAgIDEyOCwgNzAsIDQ4LCA1MCwgNDgsIDEyOCwgNzAsIDQ4LCA0OSwgNTcsIDEyOCwgNzAsIDQ4LCA0OSwgNTYsIDEyOCwgNzAsIAorICAgIDQ4LCA0OSwgNTUsIDEyOCwgNzAsIDQ4LCA0OSwgNTQsIDEyOCwgNzAsIDQ4LCA0OSwgNTMsIDEyOCwgNzAsIDQ4LCA0OSwgCisgICAgNTIsIDEyOCwgNzAsIDQ4LCA0OSwgNTEsIDY1LCAxMjgsIDcwLCA0OCwgNDksIDUxLCAxMjgsIDcwLCA0OCwgNDksIDUwLCAKKyAgICAxMjgsIDcwLCA0OCwgNDksIDQ5LCAxMjgsIDcwLCA0OCwgNDksIDQ4LCAxMjgsIDcwLCA0OCwgNDgsIDU3LCAxMjgsIDcwLCAKKyAgICA0OCwgNDgsIDU2LCAxMjgsIDcwLCA0OCwgNDgsIDU1LCAxMjgsIDcwLCA0OCwgNDgsIDU0LCAxMjgsIDcwLCA0OCwgNDgsIAorICAgIDUzLCAxMjgsIDcwLCA0OCwgNDgsIDUyLCAxMjgsIDcwLCA0OCwgNDgsIDUxLCAxMjgsIDcwLCA0OCwgNDgsIDUwLCAxMjgsIAorICAgIDcwLCA0OCwgNDgsIDQ5LCA2NSwgMTI4LCA3MCwgNDgsIDQ4LCA0OSwgMTI4LCA2OSwgOTAsIDIwMCwgNjksIDkwLCA2OSwgCisgICAgNzgsIDEyOCwgNjksIDkwLCA2OSwgMjA2LCA2OSwgOTAsIDEyOCwgNjksIDg5LCA4OSwgODksIDEyOCwgNjksIDg5LCA2OSwgCisgICAgODMsIDEyOCwgNjksIDg5LCA2OSwgNzEsIDc2LCA2NSwgODMsIDgzLCA2OSwgODMsIDEyOCwgNjksIDg5LCA2NiwgNjksIDg5LCAKKyAgICA3MCwgNzMsIDc2LCA3MywgMTI4LCA2OSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDY5LCA4OCwgODQsIDgyLCA2OSwgNzcsIAorICAgIDY5LCA3NiwgMjE3LCA2OSwgODgsIDg0LCA4MiwgNjUsIDg0LCA2OSwgODIsIDgyLCA2OSwgODMsIDg0LCA4MiwgNzMsIDY1LCAKKyAgICAyMDQsIDY5LCA4OCwgODQsIDgyLCA2NSwgNDUsIDc2LCA3OSwgMjE1LCA2OSwgODgsIDg0LCA4MiwgNjUsIDQ1LCA3MiwgNzMsIAorICAgIDcxLCAyMDAsIDY5LCA4OCwgODQsIDY5LCA3OCwgODMsIDczLCA3OSwgNzgsIDEyOCwgNjksIDg4LCA4NCwgNjksIDc4LCA2OCwgCisgICAgNjksIDY4LCAxMjgsIDY5LCA4OCwgODQsIDY5LCA3OCwgNjgsIDY5LCAxOTYsIDY5LCA4OCwgODAsIDgyLCA2OSwgODMsIDgzLCAKKyAgICA3MywgNzksIDc4LCA3NiwgNjksIDgzLCAyMTEsIDY5LCA4OCwgODAsIDc5LCA3OCwgNjksIDc4LCAyMTIsIDY5LCA4OCwgNzksIAorICAgIDEyOCwgNjksIDg4LCAyMDcsIDY5LCA4OCwgNzMsIDgzLCA4NCwgODMsIDEyOCwgNjksIDg4LCA3MywgODMsIDg0LCAxMjgsIAorICAgIDY5LCA4OCwgNzIsIDY1LCA4NSwgODMsIDg0LCA3MywgNzksIDc4LCAxMjgsIDY5LCA4OCwgNjcsIDc2LCA2NSwgNzcsIDY1LCAKKyAgICA4NCwgNzMsIDc5LCA3OCwgMTI4LCA2OSwgODgsIDY3LCA3NiwgNjUsIDc3LCA2NSwgODQsIDczLCA3OSwgMjA2LCA2OSwgODgsIAorICAgIDY3LCA3MiwgNjUsIDc4LCA3MSwgNjksIDEyOCwgNjksIDg4LCA2NywgNjksIDgzLCA4MywgMTI4LCA2OSwgODgsIDY3LCA2OSwgCisgICAgNzYsIDc2LCA2OSwgNzgsIDg0LCAxMjgsIDY5LCA4NywgNjksIDEyOCwgNjksIDg2LCA2OSwgODIsIDcxLCA4MiwgNjksIDY5LCAKKyAgICAyMDYsIDY5LCA4NiwgNjksIDc4LCA3MywgNzgsIDcxLCAxMjgsIDY5LCA4NSwgODIsIDc5LCA4MCwgNjksIDY1LCAyMDYsIAorICAgIDY5LCA4NSwgODIsIDc5LCA4MCwgNjksIDQ1LCA2NSwgNzAsIDgyLCA3MywgNjcsIDY1LCAxMjgsIDY5LCA4NSwgODIsIDc5LCAKKyAgICA0NSwgNjcsIDg1LCA4MiwgODIsIDY5LCA3OCwgNjcsIDIxNywgNjksIDg1LCA4MiwgMjA3LCA2OSwgODUsIDc2LCA2OSwgCisgICAgMjEwLCA2OSwgODUsIDQ1LCA4NSwgMTI4LCA2OSwgODUsIDQ1LCA3OSwgMTI4LCA2OSwgODUsIDQ1LCA2OSwgODUsIDEyOCwgCisgICAgNjksIDg1LCA0NSwgNjksIDc5LCAxMjgsIDY5LCA4NSwgNDUsIDY5LCAxMjgsIDY5LCA4NSwgNDUsIDY1LCAxMjgsIDY5LCAKKyAgICA4NCwgODgsIDEyOCwgNjksIDg0LCA3OCwgNjUsIDcyLCA4NCwgNjUsIDEyOCwgNjksIDg0LCA3MiwgNjksIDIwNCwgNjksIAorICAgIDg0LCA2OSwgODIsIDc5LCAyMDYsIDY5LCA4NCwgNjksIDgyLCA3OCwgNzMsIDg0LCA4OSwgMTI4LCA2OSwgODQsIDY5LCA4MiwgCisgICAgNzgsIDczLCA4NCwgMjE3LCA2OSwgODQsIDY2LCAxMjgsIDY5LCA4MywgODUsIDc1LCA4NSwgODUsIDY4LCA3OSwgMTI4LCAKKyAgICA2OSwgODMsIDg0LCA3MywgNzcsIDY1LCA4NCwgNjksIDgzLCAxMjgsIDY5LCA4MywgODQsIDczLCA3NywgNjUsIDg0LCA2OSwgCisgICAgMTk2LCA2OSwgODMsIDcyLCA2OSwgNTEsIDEyOCwgNjksIDgzLCA3MiwgNTAsIDQ5LCAxMjgsIDY5LCA4MywgNzIsIDQ5LCAKKyAgICA1NCwgMTI4LCA2OSwgODMsIDY3LCA2NSwgODAsIDY5LCAxMjgsIDY5LCA4MywgNjcsIDEyOCwgNjksIDgzLCA2NSwgMTI4LCAKKyAgICA2OSwgODMsIDQ1LCA4NCwgNjksIDEyOCwgNjksIDgzLCA0NSwgNTEsIDEyOCwgNjksIDgzLCA0NSwgNTAsIDEyOCwgNjksIAorICAgIDgzLCA0NSwgNDksIDEyOCwgNjksIDgyLCA4MiwgNzksIDgyLCA0NSwgNjYsIDY1LCA4MiwgODIsIDY5LCAxOTYsIDY5LCA4MiwgCisgICAgODIsIDEyOCwgNjksIDgyLCA3MywgNzgsIDUwLCAxMjgsIDY5LCA4MiwgNzEsIDEyOCwgNjksIDgyLCA2NSwgODMsIDE5NywgCisgICAgNjksIDgxLCA4NSwgNzMsIDg2LCA2NSwgNzYsIDY5LCA3OCwgMjEyLCA2OSwgODEsIDg1LCA3MywgNzYsIDY1LCA4NCwgNjksIAorICAgIDgyLCA2NSwgMjA0LCA2OSwgODEsIDg1LCA3MywgNjgsIDEyOCwgNjksIDgxLCA4NSwgNzMsIDY1LCA3OCwgNzEsIDg1LCA3NiwgCisgICAgNjUsIDIxMCwgNjksIDgxLCA4NSwgNjUsIDc2LCA4MywgMTI4LCA2OSwgODEsIDg1LCA2NSwgNzYsIDIxMSwgNjksIDgxLCAKKyAgICA4NSwgNjUsIDc2LCAxMjgsIDY5LCA4MCwgODMsIDczLCA3NiwgNzksIDc4LCAxMjgsIDY5LCA4MCwgODMsIDczLCA3NiwgNzksIAogICAgIDIwNiwgNjksIDgwLCA3OSwgNjcsIDcyLCAxMjgsIDY5LCA4MCwgNzMsIDcxLCA4MiwgNjUsIDgwLCA3MiwgNzMsIDE5NSwgCiAgICAgNjksIDgwLCA3MywgNjgsIDY1LCA4NSwgODIsIDY5LCA2NSwgMjA2LCA2OSwgODAsIDY5LCA3OCwgODQsIDcyLCA2OSwgODQsIAotICAgIDczLCAxOTUsIDY5LCA4MCwgNjksIDcxLCA2OSwgODIsIDc3LCA2NSwgMTI4LCA2OSwgNzksIDg0LCAxMjgsIDY5LCA3OSwgCi0gICAgNzcsIDEyOCwgNjksIDc5LCA3NiwgNzIsIDg4LCAxMjgsIDY5LCA3OSwgNzYsIDEyOCwgNjksIDc5LCA3MiwgMTI4LCA2OSwgCi0gICAgNzgsIDg5LCAxMjgsIDY5LCA3OCwgODYsIDY5LCA3NiwgNzksIDgwLCA2OSwgMTI4LCA2OSwgNzgsIDg2LCA2OSwgNzYsIDc5LCAKLSAgICA4MCwgMTk3LCA2OSwgNzgsIDg1LCA3NywgNjksIDgyLCA2NSwgODQsIDczLCA3OSwgMjA2LCA2OSwgNzgsIDg0LCA4MiwgODksIAotICAgIDQ1LCA1MCwgMTI4LCA2OSwgNzgsIDg0LCA4MiwgODksIDQ1LCA0OSwgMTI4LCA2OSwgNzgsIDg0LCA4MiwgODksIDEyOCwgCi0gICAgNjksIDc4LCA4NCwgODIsIDIxNywgNjksIDc4LCA4NCwgNzIsIDg1LCA4MywgNzMsIDY1LCA4MywgNzcsIDEyOCwgNjksIDc4LCAKLSAgICA4NCwgNjksIDgyLCA4MCwgODIsIDczLCA4MywgNjksIDEyOCwgNjksIDc4LCA4NCwgNjksIDgyLCA3MywgNzgsIDE5OSwgNjksIAotICAgIDc4LCA4NCwgNjksIDgyLCAxMjgsIDY5LCA3OCwgODQsIDY5LCAyMTAsIDY5LCA3OCwgODEsIDg1LCA3MywgODIsIDg5LCAKLSAgICAxMjgsIDY5LCA3OCwgODEsIDEyOCwgNjksIDc4LCA3OSwgMjExLCA2OSwgNzgsIDc4LCAxMjgsIDY5LCA3OCwgNzYsIDY1LCAKLSAgICA4MiwgNzEsIDY5LCA3NywgNjksIDc4LCA4NCwgMTI4LCA2OSwgNzgsIDcxLCA3MywgNzgsIDY5LCAxMjgsIDY5LCA3OCwgNjgsIAotICAgIDc5LCA3MCwgNzksIDc4LCA3OSwgNzgsIDEyOCwgNjksIDc4LCA2OCwgNzMsIDc4LCAxOTksIDY5LCA3OCwgNjgsIDY5LCA4MCwgCi0gICAgMTI4LCA2OSwgNzgsIDY4LCA2OSwgNjUsIDg2LCA3OSwgODUsIDgyLCAxMjgsIDY5LCA3OCwgNjcsIDc5LCA4NSwgNzgsIDg0LCAKLSAgICA2OSwgODIsIDgzLCAxMjgsIDY5LCA3OCwgNjcsIDc2LCA3OSwgODMsIDg1LCA4MiwgNjksIDEyOCwgNjksIDc4LCA2NywgNzYsIAotICAgIDc5LCA4MywgNzMsIDc4LCAxOTksIDY5LCA3OCwgNjcsIDEyOCwgNjksIDc4LCA2NSwgODIsIDg4LCA3MywgMjExLCA2OSwgCi0gICAgNzgsIDY1LCA4MiwgNzcsIDc5LCA3OCwgNzMsIDc5LCAyMTEsIDY5LCA3NywgODAsIDg0LCAyMTcsIDY5LCA3NywgODAsIDcyLCAKLSAgICA2NSwgODQsIDczLCAxOTUsIDY5LCA3NywgODAsIDcyLCA2NSwgODMsIDczLCAyMTEsIDY5LCA3NywgNjYsIDgyLCA3OSwgNzMsIAotICAgIDY4LCA2OSwgODIsIDg5LCAxMjgsIDY5LCA3NywgNjYsIDc2LCA2OSwgNzcsIDEyOCwgNjksIDc3LCA2NiwgNjksIDc2LCA3NiwgCi0gICAgNzMsIDgzLCA3MiwgNzcsIDY5LCA3OCwgODQsIDEyOCwgNjksIDc3LCA2NiwgNjksIDY4LCA2OCwgNzMsIDc4LCA3MSwgMTI4LCAKLSAgICA2OSwgNzYsIDg0LCAxMjgsIDY5LCA3NiwgNzYsIDczLCA4MCwgODQsIDczLCAxOTUsIDY5LCA3NiwgNzYsIDczLCA4MCwgODMsIAotICAgIDczLCA4MywgMTI4LCA2OSwgNzYsIDc2LCA3MywgODAsIDgzLCA2OSwgMTI4LCA2OSwgNzYsIDczLCA3MCwgNzMsIDEyOCwgCi0gICAgNjksIDc2LCA2OSwgODYsIDY5LCA3OCwgNDUsIDg0LCA3MiwgNzMsIDgyLCA4NCwgODksIDEyOCwgNjksIDc2LCA2OSwgODYsIAotICAgIDY5LCA3OCwgMTI4LCA2OSwgNzYsIDY5LCA4NiwgNjksIDIwNiwgNjksIDc2LCA2OSwgODAsIDcyLCA2NSwgNzgsIDg0LCAKLSAgICAxMjgsIDY5LCA3NiwgNjksIDc3LCA2OSwgNzgsIDIxMiwgNjksIDc2LCA2OSwgNjcsIDg0LCA4MiwgNzMsIDY3LCA2NSwgCi0gICAgMjA0LCA2OSwgNzYsIDY5LCA2NywgODQsIDgyLCA3MywgMTk1LCA2OSwgNzYsIDY1LCA3MCwgODIsIDc5LCA3OCwgMTI4LCAKLSAgICA2OSwgNzUsIDgzLCA4NCwgODIsIDY5LCA4MCwgODQsIDc5LCA3OCwgMTI4LCA2OSwgNzUsIDgzLCAxMjgsIDY5LCA3NSwgNzAsIAotICAgIDc5LCA3OCwgNzMsIDg0LCA3MywgNzUsIDc5LCA3OCwgMTI4LCA2OSwgNzUsIDY1LCA4MiwgNjUsIDEyOCwgNjksIDc0LCA2OSwgCi0gICAgNjcsIDIxMiwgNjksIDczLCA4MywgMTI4LCA2OSwgNzMsIDcxLCA3MiwgODQsIDg5LCAxMjgsIDY5LCA3MywgNzEsIDcyLCAKLSAgICA4NCwgMjE3LCA2OSwgNzMsIDcxLCA3MiwgODQsIDcyLCA4MywgMTI4LCA2OSwgNzMsIDcxLCA3MiwgODQsIDcyLCAyMTEsIAotICAgIDY5LCA3MywgNzEsIDcyLCA4NCwgNzIsIDEyOCwgNjksIDczLCA3MSwgNzIsIDg0LCA2OSwgNjksIDc4LCAxMjgsIDY5LCA3MywgCi0gICAgNzEsIDcyLCA4NCwgNjksIDY5LCAyMDYsIDY5LCA3MywgNzEsIDcyLCA4NCwgNDUsIDg0LCA3MiwgNzMsIDgyLCA4NCwgODksIAotICAgIDEyOCwgNjksIDczLCA2OSwgMTI4LCA2OSwgNzIsIDg3LCA2NSwgMjE4LCA2OSwgNzEsIDg5LCA4MCwgODQsIDc5LCA3NiwgCi0gICAgNzksIDcxLCA3MywgNjcsIDY1LCAyMDQsIDY5LCA3MSwgNzMsIDgyLCAxMjgsIDY5LCA3MSwgNzEsIDEyOCwgNjksIDY5LCAKLSAgICA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgNjksIDY5LCA3NSwgNjUsIDY1LCAxMjgsIDY5LCA2OSwgNzIsIDEyOCwgNjksIAotICAgIDY5LCA2NiwgNjksIDY5LCA3MCwgNzMsIDc2LCA3MywgMTI4LCA2OSwgNjgsIDczLCA4NCwgNzksIDgyLCA3MywgNjUsIDIwNCwgCi0gICAgNjksIDY4LCA3MywgNzgsIDEyOCwgNjksIDY4LCA2OCwgMTI4LCA2OSwgNjYsIDY5LCA3MCwgNzMsIDc2LCA3MywgMTI4LCAKLSAgICA2OSwgNjUsIDgzLCA4NCwgNjksIDgyLCAyMDYsIDY5LCA2NSwgODMsIDIxMiwgNjksIDY1LCA4MiwgODQsIDcyLCA3NiwgCi0gICAgMjE3LCA2OSwgNjUsIDgyLCA4NCwgNzIsIDEyOCwgNjksIDY1LCA4MiwgODQsIDIwMCwgNjksIDY1LCA4MiwgODMsIDEyOCwgCi0gICAgNjksIDY1LCA4MiwgNzYsIDIxNywgNjksIDY1LCA3NywgNzIsIDY1LCA3OCwgNjcsIDcyLCA3OSwgNzYsIDc2LCAxMjgsIDY5LCAKLSAgICA2NSwgNzEsIDc2LCA2OSwgMTI4LCA2OSwgNjUsIDY4LCA3MiwgNjUsIDY4LCA3MiwgMTI4LCA2OSwgNjUsIDY2LCA3MiwgNjUsIAotICAgIDY4LCA3MiwgMTI4LCA2OSwgMTc4LCA2OSwgNDgsIDUxLCA1NiwgMTI4LCA2OSwgNDgsIDUxLCA1NSwgMTI4LCA2OSwgNDgsIAotICAgIDUxLCA1NCwgMTI4LCA2OSwgNDgsIDUxLCA1MiwgNjUsIDEyOCwgNjksIDQ4LCA1MSwgNTIsIDEyOCwgNjksIDQ4LCA1MSwgCi0gICAgNTEsIDEyOCwgNjksIDQ4LCA1MSwgNTAsIDEyOCwgNjksIDQ4LCA1MSwgNDksIDEyOCwgNjksIDQ4LCA1MSwgNDgsIDEyOCwgCi0gICAgNjksIDQ4LCA1MCwgNTcsIDEyOCwgNjksIDQ4LCA1MCwgNTYsIDY1LCAxMjgsIDY5LCA0OCwgNTAsIDU2LCAxMjgsIDY5LCAKLSAgICA0OCwgNTAsIDU1LCAxMjgsIDY5LCA0OCwgNTAsIDU0LCAxMjgsIDY5LCA0OCwgNTAsIDUzLCAxMjgsIDY5LCA0OCwgNTAsIAotICAgIDUyLCAxMjgsIDY5LCA0OCwgNTAsIDUxLCAxMjgsIDY5LCA0OCwgNTAsIDUwLCAxMjgsIDY5LCA0OCwgNTAsIDQ5LCAxMjgsIAotICAgIDY5LCA0OCwgNTAsIDQ4LCA2NSwgMTI4LCA2OSwgNDgsIDUwLCA0OCwgMTI4LCA2OSwgNDgsIDQ5LCA1NywgMTI4LCA2OSwgCi0gICAgNDgsIDQ5LCA1NiwgMTI4LCA2OSwgNDgsIDQ5LCA1NSwgNjUsIDEyOCwgNjksIDQ4LCA0OSwgNTUsIDEyOCwgNjksIDQ4LCAKLSAgICA0OSwgNTQsIDY1LCAxMjgsIDY5LCA0OCwgNDksIDU0LCAxMjgsIDY5LCA0OCwgNDksIDUzLCAxMjgsIDY5LCA0OCwgNDksIAotICAgIDUyLCAxMjgsIDY5LCA0OCwgNDksIDUxLCAxMjgsIDY5LCA0OCwgNDksIDUwLCAxMjgsIDY5LCA0OCwgNDksIDQ5LCAxMjgsIAotICAgIDY5LCA0OCwgNDksIDQ4LCAxMjgsIDY5LCA0OCwgNDgsIDU3LCA2NSwgMTI4LCA2OSwgNDgsIDQ4LCA1NywgMTI4LCA2OSwgCi0gICAgNDgsIDQ4LCA1NiwgNjUsIDEyOCwgNjksIDQ4LCA0OCwgNTYsIDEyOCwgNjksIDQ4LCA0OCwgNTUsIDEyOCwgNjksIDQ4LCAKLSAgICA0OCwgNTQsIDEyOCwgNjksIDQ4LCA0OCwgNTMsIDEyOCwgNjksIDQ4LCA0OCwgNTIsIDEyOCwgNjksIDQ4LCA0OCwgNTEsIAotICAgIDEyOCwgNjksIDQ4LCA0OCwgNTAsIDEyOCwgNjksIDQ4LCA0OCwgNDksIDEyOCwgNjksIDQ1LCA3NywgNjUsIDczLCAyMDQsIAotICAgIDY4LCA5MCwgOTAsIDY5LCAxMjgsIDY4LCA5MCwgOTAsIDY1LCAxMjgsIDY4LCA5MCwgODcsIDY5LCAxMjgsIDY4LCA5MCwgCi0gICAgODUsIDEyOCwgNjgsIDkwLCA3OSwgMTI4LCA2OCwgOTAsIDc0LCA2OSwgMTI4LCA2OCwgOTAsIDczLCAxMjgsIDY4LCA5MCwgCi0gICAgNzIsIDY5LCAxMjgsIDY4LCA5MCwgNzIsIDY1LCAxMjgsIDY4LCA5MCwgNjksIDc2LCA3OSwgMTI4LCA2OCwgOTAsIDY5LCAKLSAgICA2OSwgMTI4LCA2OCwgOTAsIDY5LCAxMjgsIDY4LCA5MCwgNjUsIDY1LCAxMjgsIDY4LCA5MCwgNjUsIDEyOCwgNjgsIDkwLCAKLSAgICAxMjgsIDY4LCAyMTgsIDY4LCA4OSwgNzksIDEyOCwgNjgsIDg5LCAyMDcsIDY4LCA4OSwgNjksIDcyLCAxMjgsIDY4LCA4OSwgCi0gICAgNjksIDIwMCwgNjgsIDg3LCA3OSwgMTI4LCA2OCwgODcsIDY5LCAxMjgsIDY4LCA4NywgNjUsIDEyOCwgNjgsIDg2LCA3MywgCi0gICAgODMsIDg2LCA2NSwgODIsIDY1LCAxMjgsIDY4LCA4NiwgNjgsIDEyOCwgNjgsIDg2LCAxMjgsIDY4LCA4NSwgODQsIDczLCAKLSAgICA2OSwgODMsIDEyOCwgNjgsIDg1LCA4MywgNzUsIDEyOCwgNjgsIDg1LCA4MywgNzIsIDY5LCA3OCwgNzgsIDY1LCAxMjgsIAotICAgIDY4LCA4NSwgODIsIDY1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA2OCwgODUsIDgyLCA1MCwgMTI4LCA2OCwgODUsIDgwLCA3OSwgCi0gICAgNzgsIDY4LCA3MywgODUsIDIxMSwgNjgsIDg1LCA3OSwgODgsIDEyOCwgNjgsIDg1LCA3OSwgMTI4LCA2OCwgODUsIDc4LCAKLSAgICA1MiwgMTI4LCA2OCwgODUsIDc4LCA1MSwgMTI4LCA2OCwgODUsIDc4LCAxNzksIDY4LCA4NSwgNzcsIDEyOCwgNjgsIDg1LCAKLSAgICAyMDQsIDY4LCA4NSwgNzIsIDEyOCwgNjgsIDg1LCA3MSwgODUsIDY4LCAxMjgsIDY4LCA4NSwgNjYsIDUwLCAxMjgsIDY4LCAKLSAgICA4NSwgNjYsIDEyOCwgNjgsIDg1LCAxOTQsIDY4LCA4MiwgODksIDEyOCwgNjgsIDgyLCAyMTcsIDY4LCA4MiwgODUsIDc3LCAKLSAgICAxMjgsIDY4LCA4MiwgODUsIDIwNSwgNjgsIDgyLCA3OSwgODAsIDgzLCAxMjgsIDY4LCA4MiwgNzksIDgwLCA3NiwgNjksIAotICAgIDg0LCAxMjgsIDY4LCA4MiwgNzksIDgwLCA0NSwgODMsIDcyLCA2NSwgNjgsIDc5LCA4NywgNjksIDE5NiwgNjgsIDgyLCA3OSwgCi0gICAgNzcsIDY5LCA2OCwgNjUsIDgyLCAyMTcsIDY4LCA4MiwgNzMsIDg2LCA2OSwgMTI4LCA2OCwgODIsIDczLCA4NiwgMTk3LCAKLSAgICA2OCwgODIsIDczLCA3OCwgNzUsIDEyOCwgNjgsIDgyLCA3MywgMjA0LCA2OCwgODIsIDY5LCA4MywgODMsIDEyOCwgNjgsIAotICAgIDgyLCA2NSwgODUsIDcxLCA3MiwgODQsIDIxMSwgNjgsIDgyLCA2NSwgNzcsIDEyOCwgNjgsIDgyLCA2NSwgMjA1LCA2OCwgCi0gICAgODIsIDY1LCA3MSwgNzksIDc4LCAxMjgsIDY4LCA4MiwgNjUsIDcxLCA3OSwgMjA2LCA2OCwgODIsIDY1LCA3MCwgODQsIDczLCAKLSAgICA3OCwgMTk5LCA2OCwgODIsIDY1LCA2NywgNzIsIDc3LCA2NSwgODMsIDEyOCwgNjgsIDgyLCA2NSwgNjcsIDcyLCA3NywgNjUsIAotICAgIDEyOCwgNjgsIDgyLCA2NSwgNjcsIDcyLCA3NywgMTkzLCA2OCwgNzksIDg3LCA3OCwgODcsIDY1LCA4MiwgNjgsIDgzLCAKLSAgICAxMjgsIDY4LCA3OSwgODcsIDc4LCA4NywgNjUsIDgyLCA2OCwgMjExLCA2OCwgNzksIDg3LCA3OCwgNDUsIDgwLCA3OSwgNzMsIAotICAgIDc4LCA4NCwgNzMsIDc4LCAxOTksIDY4LCA3OSwgODcsIDc4LCAxMjgsIDY4LCA3OSwgODYsIDY5LCAxMjgsIDY4LCA3OSwgCi0gICAgODUsIDcxLCA3MiwgNzgsIDg1LCA4NCwgMTI4LCA2OCwgNzksIDg1LCA2NiwgODQsIDEyOCwgNjgsIDc5LCA4NSwgNjYsIDc2LCAKLSAgICA2OSwgMTk2LCA2OCwgNzksIDg1LCA2NiwgNzYsIDY5LCA0NSwgNzYsIDczLCA3OCwgMTk3LCA2OCwgNzksIDg1LCA2NiwgNzYsIAotICAgIDY5LCA0NSwgNjksIDc4LCA2OCwgNjksIDE5NiwgNjgsIDc5LCA4NSwgNjYsIDc2LCA2OSwgMTI4LCA2OCwgNzksIDg0LCA4NCwgCi0gICAgNjksIDY4LCA0NSwgODAsIDEyOCwgNjgsIDc5LCA4NCwgODQsIDY5LCA2OCwgNDUsIDc4LCAxMjgsIDY4LCA3OSwgODQsIDg0LCAKLSAgICA2OSwgNjgsIDQ1LCA3NiwgMTI4LCA2OCwgNzksIDg0LCA4NCwgNjksIDY4LCAxMjgsIDY4LCA3OSwgODQsIDg0LCA2OSwgCi0gICAgMTk2LCA2OCwgNzksIDg0LCA4MywgNDUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTUsIDU2LCAxMjgsIDY4LCAKLSAgICA3OSwgODQsIDgzLCA0NSwgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1NCwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIAotICAgIDQ1LCA1NCwgNTUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTQsIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgCi0gICAgNTQsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MywgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MywgNTUsIDU2LCAKLSAgICAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTMsIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTMsIDU0LCA1NiwgCi0gICAgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUzLCA1NCwgNTUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTMsIDU0LCAKLSAgICA1NSwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUzLCA1NCwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUzLCAxMjgsIAotICAgIDY4LCA3OSwgODQsIDgzLCA0NSwgNTIsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTIsIDU1LCA1NiwgMTI4LCA2OCwgCi0gICAgNzksIDg0LCA4MywgNDUsIDUyLCA1NSwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUyLCA1NCwgNTYsIDEyOCwgNjgsIDc5LCAKLSAgICA4NCwgODMsIDQ1LCA1MiwgNTQsIDU1LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUyLCA1NCwgNTUsIDEyOCwgNjgsIAotICAgIDc5LCA4NCwgODMsIDQ1LCA1MiwgNTQsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MiwgNTMsIDU2LCAxMjgsIDY4LCA3OSwgCi0gICAgODQsIDgzLCA0NSwgNTIsIDUzLCA1NSwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MiwgNTMsIDU1LCAxMjgsIDY4LCAKLSAgICA3OSwgODQsIDgzLCA0NSwgNTIsIDUzLCA1NCwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MiwgNTMsIDU0LCA1NSwgCi0gICAgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MiwgNTMsIDU0LCA1NSwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUyLCAKLSAgICA1MywgNTQsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MiwgNTMsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MiwgCi0gICAgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUxLCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUxLCA1NSwgNTYsIAotICAgIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MSwgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MSwgNTQsIDU2LCAKKyAgICA3MywgMTk1LCA2OSwgODAsIDY5LCA3MSwgNjksIDgyLCA3NywgNjUsIDEyOCwgNjksIDgwLCA2NSwgNjcsIDIxMiwgNjksIAorICAgIDc5LCA4NCwgMTI4LCA2OSwgNzksIDc3LCAxMjgsIDY5LCA3OSwgNzYsIDcyLCA4OCwgMTI4LCA2OSwgNzksIDc2LCAxMjgsIAorICAgIDY5LCA3OSwgNzIsIDEyOCwgNjksIDc4LCA4OSwgMTI4LCA2OSwgNzgsIDg2LCA2OSwgNzYsIDc5LCA4MCwgNjksIDEyOCwgCisgICAgNjksIDc4LCA4NiwgNjksIDc2LCA3OSwgODAsIDE5NywgNjksIDc4LCA4NSwgNzcsIDY5LCA4MiwgNjUsIDg0LCA3MywgNzksIAorICAgIDIwNiwgNjksIDc4LCA4NCwgODIsIDg5LCA0NSwgNTAsIDEyOCwgNjksIDc4LCA4NCwgODIsIDg5LCA0NSwgNDksIDEyOCwgCisgICAgNjksIDc4LCA4NCwgODIsIDg5LCAxMjgsIDY5LCA3OCwgODQsIDgyLCAyMTcsIDY5LCA3OCwgODQsIDcyLCA4NSwgODMsIDczLCAKKyAgICA2NSwgODMsIDc3LCAxMjgsIDY5LCA3OCwgODQsIDY5LCA4MiwgODAsIDgyLCA3MywgODMsIDY5LCAxMjgsIDY5LCA3OCwgODQsIAorICAgIDY5LCA4MiwgNzMsIDc4LCAxOTksIDY5LCA3OCwgODQsIDY5LCA4MiwgMTI4LCA2OSwgNzgsIDg0LCA2OSwgMjEwLCA2OSwgCisgICAgNzgsIDgxLCA4NSwgNzMsIDgyLCA4OSwgMTI4LCA2OSwgNzgsIDgxLCAxMjgsIDY5LCA3OCwgNzksIDIxMSwgNjksIDc4LCAKKyAgICA3OCwgNzMsIDEyOCwgNjksIDc4LCA3OCwgMTI4LCA2OSwgNzgsIDc2LCA2NSwgODIsIDcxLCA2OSwgNzcsIDY5LCA3OCwgODQsIAorICAgIDEyOCwgNjksIDc4LCA3MSwgNzMsIDc4LCA2OSwgMTI4LCA2OSwgNzgsIDY4LCA3OSwgNzAsIDc5LCA3OCwgNzksIDc4LCAKKyAgICAxMjgsIDY5LCA3OCwgNjgsIDczLCA3OCwgMTk5LCA2OSwgNzgsIDY4LCA2OSwgODAsIDEyOCwgNjksIDc4LCA2OCwgNjksIAorICAgIDY1LCA4NiwgNzksIDg1LCA4MiwgMTI4LCA2OSwgNzgsIDY3LCA3OSwgODUsIDc4LCA4NCwgNjksIDgyLCA4MywgMTI4LCA2OSwgCisgICAgNzgsIDY3LCA3NiwgNzksIDgzLCA4NSwgODIsIDY5LCAxMjgsIDY5LCA3OCwgNjcsIDc2LCA3OSwgODMsIDczLCA3OCwgMTk5LCAKKyAgICA2OSwgNzgsIDY3LCAxMjgsIDY5LCA3OCwgNjUsIDgyLCA4OCwgNzMsIDIxMSwgNjksIDc4LCA2NSwgODIsIDc3LCA3OSwgNzgsIAorICAgIDczLCA3OSwgMjExLCA2OSwgNzcsIDgwLCA4NCwgMjE3LCA2OSwgNzcsIDgwLCA3MiwgNjUsIDg0LCA3MywgMTk1LCA2OSwgCisgICAgNzcsIDgwLCA3MiwgNjUsIDgzLCA3MywgMjExLCA2OSwgNzcsIDY2LCA4MiwgNzksIDczLCA2OCwgNjksIDgyLCA4OSwgMTI4LCAKKyAgICA2OSwgNzcsIDY2LCA3NiwgNjksIDc3LCAxMjgsIDY5LCA3NywgNjYsIDY5LCA3NiwgNzYsIDczLCA4MywgNzIsIDc3LCA2OSwgCisgICAgNzgsIDg0LCAxMjgsIDY5LCA3NywgNjYsIDY5LCA2OCwgNjgsIDczLCA3OCwgNzEsIDEyOCwgNjksIDc2LCA4NCwgMTI4LCAKKyAgICA2OSwgNzYsIDc2LCA3MywgODAsIDg0LCA3MywgMTk1LCA2OSwgNzYsIDc2LCA3MywgODAsIDgzLCA3MywgODMsIDEyOCwgNjksIAorICAgIDc2LCA3NiwgNzMsIDgwLCA4MywgNjksIDEyOCwgNjksIDc2LCA3MywgNzAsIDczLCAxMjgsIDY5LCA3NiwgNjksIDg2LCA2OSwgCisgICAgNzgsIDQ1LCA4NCwgNzIsIDczLCA4MiwgODQsIDg5LCAxMjgsIDY5LCA3NiwgNjksIDg2LCA2OSwgNzgsIDEyOCwgNjksIDc2LCAKKyAgICA2OSwgODYsIDY5LCAyMDYsIDY5LCA3NiwgNjksIDgwLCA3MiwgNjUsIDc4LCA4NCwgMTI4LCA2OSwgNzYsIDY5LCA3NywgNjksIAorICAgIDc4LCAyMTIsIDY5LCA3NiwgNjksIDY3LCA4NCwgODIsIDczLCA2NywgNjUsIDIwNCwgNjksIDc2LCA2OSwgNjcsIDg0LCA4MiwgCisgICAgNzMsIDE5NSwgNjksIDc2LCA2NiwgNjUsIDgzLCA2NSwgMjA2LCA2OSwgNzYsIDY1LCA3NywgNzMsIDg0LCA2OSwgMTI4LCAKKyAgICA2OSwgNzYsIDY1LCA3NywgNzMsIDg0LCAxOTcsIDY5LCA3NiwgNjUsIDcwLCA4MiwgNzksIDc4LCAxMjgsIDY5LCA3NSwgODMsIAorICAgIDg0LCA4MiwgNjksIDgwLCA4NCwgNzksIDc4LCAxMjgsIDY5LCA3NSwgODMsIDEyOCwgNjksIDc1LCA3MCwgNzksIDc4LCA3MywgCisgICAgODQsIDczLCA3NSwgNzksIDc4LCAxMjgsIDY5LCA3NSwgNjUsIDgyLCA2NSwgMTI4LCA2OSwgNzUsIDY1LCA3NywgMTI4LCAKKyAgICA2OSwgNzQsIDY5LCA2NywgMjEyLCA2OSwgNzMsIDgzLCAxMjgsIDY5LCA3MywgNzEsIDcyLCA4NCwgODksIDEyOCwgNjksIAorICAgIDczLCA3MSwgNzIsIDg0LCAyMTcsIDY5LCA3MywgNzEsIDcyLCA4NCwgNzIsIDgzLCAxMjgsIDY5LCA3MywgNzEsIDcyLCA4NCwgCisgICAgNzIsIDIxMSwgNjksIDczLCA3MSwgNzIsIDg0LCA3MiwgMTI4LCA2OSwgNzMsIDcxLCA3MiwgODQsIDY5LCA2OSwgNzgsIAorICAgIDEyOCwgNjksIDczLCA3MSwgNzIsIDg0LCA2OSwgNjksIDIwNiwgNjksIDczLCA3MSwgNzIsIDg0LCA0NSwgODQsIDcyLCA3MywgCisgICAgODIsIDg0LCA4OSwgMTI4LCA2OSwgNzMsIDY5LCAxMjgsIDY5LCA3MiwgODcsIDY1LCAyMTgsIDY5LCA3MSwgODksIDgwLCAKKyAgICA4NCwgNzksIDc2LCA3OSwgNzEsIDczLCA2NywgNjUsIDIwNCwgNjksIDcxLCA3MywgODIsIDEyOCwgNjksIDcxLCA3MSwgCisgICAgMTI4LCA2OSwgNjksIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA2OSwgNjksIDc1LCA2NSwgNjUsIDEyOCwgNjksIDY5LCAKKyAgICA3MiwgMTI4LCA2OSwgNjksIDY2LCA2OSwgNjksIDcwLCA3MywgNzYsIDczLCAxMjgsIDY5LCA2OCwgNzMsIDg0LCA3OSwgODIsIAorICAgIDczLCA2NSwgMjA0LCA2OSwgNjgsIDczLCA3OCwgMTI4LCA2OSwgNjgsIDY4LCAxMjgsIDY5LCA2NiwgNjksIDcwLCA3MywgCisgICAgNzYsIDczLCAxMjgsIDY5LCA2NSwgODMsIDg0LCA2OSwgODIsIDIwNiwgNjksIDY1LCA4MywgODQsIDEyOCwgNjksIDY1LCAKKyAgICA4MywgMjEyLCA2OSwgNjUsIDgyLCA4NCwgNzIsIDc2LCAyMTcsIDY5LCA2NSwgODIsIDg0LCA3MiwgMTI4LCA2OSwgNjUsIAorICAgIDgyLCA4NCwgMjAwLCA2OSwgNjUsIDgyLCA4MywgMTI4LCA2OSwgNjUsIDgyLCA3NiwgMjE3LCA2OSwgNjUsIDc3LCA3MiwgCisgICAgNjUsIDc4LCA2NywgNzIsIDc5LCA3NiwgNzYsIDEyOCwgNjksIDY1LCA3MSwgNzYsIDY5LCAxMjgsIDY5LCA2NSwgNjgsIDcyLCAKKyAgICA2NSwgNjgsIDcyLCAxMjgsIDY5LCA2NSwgNjYsIDcyLCA2NSwgNjgsIDcyLCAxMjgsIDY5LCAxNzgsIDY5LCA0OCwgNTEsIAorICAgIDU2LCAxMjgsIDY5LCA0OCwgNTEsIDU1LCAxMjgsIDY5LCA0OCwgNTEsIDU0LCAxMjgsIDY5LCA0OCwgNTEsIDUyLCA2NSwgCisgICAgMTI4LCA2OSwgNDgsIDUxLCA1MiwgMTI4LCA2OSwgNDgsIDUxLCA1MSwgMTI4LCA2OSwgNDgsIDUxLCA1MCwgMTI4LCA2OSwgCisgICAgNDgsIDUxLCA0OSwgMTI4LCA2OSwgNDgsIDUxLCA0OCwgMTI4LCA2OSwgNDgsIDUwLCA1NywgMTI4LCA2OSwgNDgsIDUwLCAKKyAgICA1NiwgNjUsIDEyOCwgNjksIDQ4LCA1MCwgNTYsIDEyOCwgNjksIDQ4LCA1MCwgNTUsIDEyOCwgNjksIDQ4LCA1MCwgNTQsIAorICAgIDEyOCwgNjksIDQ4LCA1MCwgNTMsIDEyOCwgNjksIDQ4LCA1MCwgNTIsIDEyOCwgNjksIDQ4LCA1MCwgNTEsIDEyOCwgNjksIAorICAgIDQ4LCA1MCwgNTAsIDEyOCwgNjksIDQ4LCA1MCwgNDksIDEyOCwgNjksIDQ4LCA1MCwgNDgsIDY1LCAxMjgsIDY5LCA0OCwgCisgICAgNTAsIDQ4LCAxMjgsIDY5LCA0OCwgNDksIDU3LCAxMjgsIDY5LCA0OCwgNDksIDU2LCAxMjgsIDY5LCA0OCwgNDksIDU1LCAKKyAgICA2NSwgMTI4LCA2OSwgNDgsIDQ5LCA1NSwgMTI4LCA2OSwgNDgsIDQ5LCA1NCwgNjUsIDEyOCwgNjksIDQ4LCA0OSwgNTQsIAorICAgIDEyOCwgNjksIDQ4LCA0OSwgNTMsIDEyOCwgNjksIDQ4LCA0OSwgNTIsIDEyOCwgNjksIDQ4LCA0OSwgNTEsIDEyOCwgNjksIAorICAgIDQ4LCA0OSwgNTAsIDEyOCwgNjksIDQ4LCA0OSwgNDksIDEyOCwgNjksIDQ4LCA0OSwgNDgsIDEyOCwgNjksIDQ4LCA0OCwgCisgICAgNTcsIDY1LCAxMjgsIDY5LCA0OCwgNDgsIDU3LCAxMjgsIDY5LCA0OCwgNDgsIDU2LCA2NSwgMTI4LCA2OSwgNDgsIDQ4LCAKKyAgICA1NiwgMTI4LCA2OSwgNDgsIDQ4LCA1NSwgMTI4LCA2OSwgNDgsIDQ4LCA1NCwgMTI4LCA2OSwgNDgsIDQ4LCA1MywgMTI4LCAKKyAgICA2OSwgNDgsIDQ4LCA1MiwgMTI4LCA2OSwgNDgsIDQ4LCA1MSwgMTI4LCA2OSwgNDgsIDQ4LCA1MCwgMTI4LCA2OSwgNDgsIAorICAgIDQ4LCA0OSwgMTI4LCA2OSwgNDUsIDc3LCA2NSwgNzMsIDIwNCwgNjgsIDkwLCA5MCwgNzIsIDY5LCAxMjgsIDY4LCA5MCwgCisgICAgOTAsIDY5LCAxMjgsIDY4LCA5MCwgOTAsIDY1LCAxMjgsIDY4LCA5MCwgODksIDY1LCA4OSwgMTI4LCA2OCwgOTAsIDg3LCAKKyAgICA2OSwgMTI4LCA2OCwgOTAsIDg1LCAxMjgsIDY4LCA5MCwgNzksIDEyOCwgNjgsIDkwLCA3NCwgNjksIDEyOCwgNjgsIDkwLCAKKyAgICA3MywgODQsIDY1LCAxMjgsIDY4LCA5MCwgNzMsIDEyOCwgNjgsIDkwLCA3MiwgNzksIDczLCAxMjgsIDY4LCA5MCwgNzIsIAorICAgIDY5LCAxMjgsIDY4LCA5MCwgNzIsIDY1LCAxMjgsIDY4LCA5MCwgNjksIDc2LCA3OSwgMTI4LCA2OCwgOTAsIDY5LCA2OSwgCisgICAgMTI4LCA2OCwgOTAsIDY5LCAxMjgsIDY4LCA5MCwgNjUsIDg5LCAxMjgsIDY4LCA5MCwgNjUsIDY1LCAxMjgsIDY4LCA5MCwgCisgICAgNjUsIDEyOCwgNjgsIDkwLCAxMjgsIDY4LCAyMTgsIDY4LCA4OSwgNzksIDEyOCwgNjgsIDg5LCAyMDcsIDY4LCA4OSwgNjksIAorICAgIDcyLCAxMjgsIDY4LCA4OSwgNjksIDIwMCwgNjgsIDg5LCA2NSwgNzgsIDEyOCwgNjgsIDg3LCA3OSwgMTI4LCA2OCwgODcsIAorICAgIDY5LCAxMjgsIDY4LCA4NywgNjUsIDEyOCwgNjgsIDg2LCA3MywgODMsIDg2LCA2NSwgODIsIDY1LCAxMjgsIDY4LCA4NiwgCisgICAgNjgsIDEyOCwgNjgsIDg2LCAxMjgsIDY4LCA4NSwgODQsIDczLCA2OSwgODMsIDEyOCwgNjgsIDg1LCA4MywgNzUsIDEyOCwgCisgICAgNjgsIDg1LCA4MywgNzIsIDY5LCA3OCwgNzgsIDY1LCAxMjgsIDY4LCA4NSwgODIsIDY1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCAKKyAgICA2OCwgODUsIDgyLCA1MCwgMTI4LCA2OCwgODUsIDgwLCA3OSwgNzgsIDY4LCA3MywgODUsIDIxMSwgNjgsIDg1LCA3OSwgODgsIAorICAgIDEyOCwgNjgsIDg1LCA3OSwgMTI4LCA2OCwgODUsIDc4LCA1MiwgMTI4LCA2OCwgODUsIDc4LCA1MSwgMTI4LCA2OCwgODUsIAorICAgIDc4LCAxNzksIDY4LCA4NSwgNzcsIDEyOCwgNjgsIDg1LCAyMDQsIDY4LCA4NSwgNzIsIDEyOCwgNjgsIDg1LCA3MSwgODUsIAorICAgIDY4LCAxMjgsIDY4LCA4NSwgNjYsIDUwLCAxMjgsIDY4LCA4NSwgNjYsIDEyOCwgNjgsIDg1LCAxOTQsIDY4LCA4MiwgODksIAorICAgIDEyOCwgNjgsIDgyLCAyMTcsIDY4LCA4MiwgODUsIDc3LCAxMjgsIDY4LCA4MiwgODUsIDIwNSwgNjgsIDgyLCA3OSwgODAsIAorICAgIDgzLCAxMjgsIDY4LCA4MiwgNzksIDgwLCA3NiwgNjksIDg0LCAxMjgsIDY4LCA4MiwgNzksIDgwLCA0NSwgODMsIDcyLCA2NSwgCisgICAgNjgsIDc5LCA4NywgNjksIDE5NiwgNjgsIDgyLCA3OSwgNzcsIDY5LCA2OCwgNjUsIDgyLCAyMTcsIDY4LCA4MiwgNzMsIDg2LCAKKyAgICA2OSwgMTI4LCA2OCwgODIsIDczLCA4NiwgMTk3LCA2OCwgODIsIDczLCA3OCwgNzUsIDEyOCwgNjgsIDgyLCA3MywgMjA0LCAKKyAgICA2OCwgODIsIDY5LCA4MywgODMsIDEyOCwgNjgsIDgyLCA2NSwgODUsIDcxLCA3MiwgODQsIDIxMSwgNjgsIDgyLCA2NSwgNzcsIAorICAgIDEyOCwgNjgsIDgyLCA2NSwgMjA1LCA2OCwgODIsIDY1LCA3MSwgNzksIDc4LCAxMjgsIDY4LCA4MiwgNjUsIDcxLCA3OSwgCisgICAgMjA2LCA2OCwgODIsIDY1LCA3MCwgODQsIDczLCA3OCwgMTk5LCA2OCwgODIsIDY1LCA2NywgNzIsIDc3LCA2NSwgODMsIAorICAgIDEyOCwgNjgsIDgyLCA2NSwgNjcsIDcyLCA3NywgNjUsIDEyOCwgNjgsIDgyLCA2NSwgNjcsIDcyLCA3NywgMTkzLCA2OCwgCisgICAgNzksIDg3LCA3OCwgODcsIDY1LCA4MiwgNjgsIDgzLCAxMjgsIDY4LCA3OSwgODcsIDc4LCA0NSwgODAsIDc5LCA3MywgNzgsIAorICAgIDg0LCA3MywgNzgsIDE5OSwgNjgsIDc5LCA4NywgNzgsIDEyOCwgNjgsIDc5LCA4NiwgNjksIDEyOCwgNjgsIDc5LCA4NiwgCisgICAgMTk3LCA2OCwgNzksIDg1LCA3MSwgNzIsIDc4LCA4NSwgODQsIDEyOCwgNjgsIDc5LCA4NSwgNjYsIDg0LCAxMjgsIDY4LCAKKyAgICA3OSwgODUsIDY2LCA3NiwgNjksIDE5NiwgNjgsIDc5LCA4NSwgNjYsIDc2LCA2OSwgNDUsIDc2LCA3MywgNzgsIDE5NywgNjgsIAorICAgIDc5LCA4NSwgNjYsIDc2LCA2OSwgNDUsIDY5LCA3OCwgNjgsIDY5LCAxOTYsIDY4LCA3OSwgODUsIDY2LCA3NiwgNjksIDEyOCwgCisgICAgNjgsIDc5LCA4NCwgODQsIDY5LCA2OCwgNDUsIDgwLCAxMjgsIDY4LCA3OSwgODQsIDg0LCA2OSwgNjgsIDQ1LCA3OCwgMTI4LCAKKyAgICA2OCwgNzksIDg0LCA4NCwgNjksIDY4LCA0NSwgNzYsIDEyOCwgNjgsIDc5LCA4NCwgODQsIDY5LCA2OCwgMTI4LCA2OCwgNzksIAorICAgIDg0LCA4NCwgNjksIDE5NiwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDU1LCA1NiwgCisgICAgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTQsIDU2LCAxMjgsIDY4LCAKKyAgICA3OSwgODQsIDgzLCA0NSwgNTQsIDU1LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDU0LCA1NSwgMTI4LCA2OCwgNzksIAorICAgIDg0LCA4MywgNDUsIDU0LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTMsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgCisgICAgNTMsIDU1LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUzLCA1NSwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUzLCAKKyAgICA1NCwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MywgNTQsIDU1LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIAorICAgIDUzLCA1NCwgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MywgNTQsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MywgCisgICAgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUyLCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUyLCA1NSwgNTYsIAorICAgIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MiwgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MiwgNTQsIDU2LCAKKyAgICAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTIsIDU0LCA1NSwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MiwgNTQsIAorICAgIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTIsIDU0LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTIsIDUzLCA1NiwgCisgICAgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUyLCA1MywgNTUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTIsIDUzLCAKKyAgICA1NSwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUyLCA1MywgNTQsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTIsIAorICAgIDUzLCA1NCwgNTUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTIsIDUzLCA1NCwgNTUsIDEyOCwgNjgsIDc5LCA4NCwgCisgICAgODMsIDQ1LCA1MiwgNTMsIDU0LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTIsIDUzLCAxMjgsIDY4LCA3OSwgODQsIDgzLCAKKyAgICA0NSwgNTIsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MSwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MSwgNTUsIAorICAgIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTEsIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTEsIDU0LCA1NiwgCiAgICAgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUxLCA1NCwgNTUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTEsIDU0LCAKICAgICA1NSwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUxLCA1NCwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUxLCA1MywgNTYsIAogICAgIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MSwgNTMsIDU1LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUxLCA1MywgCkBAIC0zOTUyLDk5ICs0MTUwLDEwNiBAQAogICAgIDcxLCAxMjgsIDY4LCA3OSwgNzgsIDcxLCAxMjgsIDY4LCA3OSwgNzcsIDY1LCA3MywgMjA2LCA2OCwgNzksIDc2LCA4MCwgCiAgICAgNzIsIDczLCA3OCwgMTI4LCA2OCwgNzksIDc2LCA3NiwgODMsIDEyOCwgNjgsIDc5LCA3NiwgNzYsIDY1LCAyMTAsIDY4LCAKICAgICA3OSwgNzYsIDczLCA4NSwgNzcsIDEyOCwgNjgsIDc5LCA3NSwgNzcsIDY1LCA3MywgMTI4LCA2OCwgNzksIDczLCA4NCwgCi0gICAgMTI4LCA2OCwgNzksIDcxLCAxMjgsIDY4LCA3OSwgMTk5LCA2OCwgNzksIDY5LCAyMTEsIDY4LCA3OSwgNjgsIDY5LCA3NSwgCi0gICAgNjUsIDg0LCA2NSwgMTI4LCA2OCwgNzksIDY2LCA4MiwgNzksIDEyOCwgNjgsIDc5LCA2NSwgNjcsIDcyLCA2NSwgODMsIDcyLCAKLSAgICA3NywgNjksIDY5LCAxMjgsIDY4LCA3OSwgNjUsIDY3LCA3MiwgNjUsIDgzLCA3MiwgNzcsIDY5LCAxOTcsIDY4LCA3OSwgNjUsIAotICAgIDEyOCwgNjgsIDc5LCA0NSwgNzksIDEyOCwgNjgsIDc3LCAxMjgsIDY4LCAyMDUsIDY4LCA3NiwgODUsIDEyOCwgNjgsIDc2LCAKLSAgICA3OSwgMTI4LCA2OCwgNzYsIDczLCAxMjgsIDY4LCA3NiwgNzIsIDg5LCA2NSwgMTI4LCA2OCwgNzYsIDcyLCA2NSwgMTI4LCAKLSAgICA2OCwgNzYsIDY5LCA2OSwgMTI4LCA2OCwgNzYsIDY1LCAxMjgsIDY4LCA3NiwgMTI4LCA2OCwgNzUsIDY1LCA4MiwgMTI4LCAKLSAgICA2OCwgNzUsIDY1LCAyMTAsIDY4LCA3NCwgNjksIDgyLCA4NiwgNzMsIDEyOCwgNjgsIDc0LCA2OSwgODIsIDg2LCAxMjgsIAotICAgIDY4LCA3NCwgNjksIDEyOCwgNjgsIDc0LCA2NSwgMTI4LCA2OCwgNzMsIDkwLCA5MCwgMjE3LCA2OCwgNzMsIDg2LCA3OSwgCi0gICAgODIsIDY3LCAxOTcsIDY4LCA3MywgODYsIDczLCA4MywgNzMsIDc5LCA3OCwgMTI4LCA2OCwgNzMsIDg2LCA3MywgODMsIDczLCAKLSAgICA3OSwgMjA2LCA2OCwgNzMsIDg2LCA3MywgNzgsIDY1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA2OCwgNzMsIDg2LCA3MywgNjgsIAotICAgIDY5LCA4MywgMTI4LCA2OCwgNzMsIDg2LCA3MywgNjgsIDY5LCA4MiwgMTI4LCA2OCwgNzMsIDg2LCA3MywgNjgsIDY5LCAKLSAgICAxOTYsIDY4LCA3MywgODYsIDczLCA2OCwgNjksIDEyOCwgNjgsIDczLCA4NiwgNzMsIDY4LCAxOTcsIDY4LCA3MywgODYsIAotICAgIDY5LCA4MiwgNzEsIDY5LCA3OCwgNjcsIDY5LCAxMjgsIDY4LCA3MywgODQsIDg0LCAyMDcsIDY4LCA3MywgODMsIDg0LCA3OSwgCi0gICAgODIsIDg0LCA3MywgNzksIDc4LCAxMjgsIDY4LCA3MywgODMsIDg0LCA3MywgNzgsIDcxLCA4NSwgNzMsIDgzLCA3MiwgMTI4LCAKLSAgICA2OCwgNzMsIDgzLCA4NCwgNzMsIDc2LCA3NiwgMTI4LCA2OCwgNzMsIDgzLCA4MywgNzksIDc2LCA4NiwgNjksIDQ1LCA1MCwgCi0gICAgMTI4LCA2OCwgNzMsIDgzLCA4MywgNzksIDc2LCA4NiwgNjksIDEyOCwgNjgsIDczLCA4MywgODAsIDY5LCA4MiwgODMsIDczLCAKLSAgICA3OSwgNzgsIDEyOCwgNjgsIDczLCA4MywgNzUsIDEyOCwgNjgsIDczLCA4MywgNzMsIDc3LCA3OSwgODUsIDEyOCwgNjgsIAotICAgIDczLCA4MywgNzIsIDEyOCwgNjgsIDczLCA4MywgNjcsIDc5LCA3OCwgODQsIDczLCA3OCwgODUsIDc5LCA4NSwgMjExLCA2OCwgCi0gICAgNzMsIDgzLCAxOTUsIDY4LCA3MywgODMsIDY1LCA4MCwgODAsIDc5LCA3MywgNzgsIDg0LCA2OSwgMTk2LCA2OCwgNzMsIDgzLCAKLSAgICA2NSwgNjYsIDc2LCA2OSwgMTk2LCA2OCwgNzMsIDgyLCA3MSwgMTkzLCA2OCwgNzMsIDgyLCA2OSwgNjcsIDg0LCA3NiwgCi0gICAgMjE3LCA2OCwgNzMsIDgyLCA2OSwgNjcsIDg0LCA3MywgNzksIDc4LCA2NSwgMjA0LCA2OCwgNzMsIDgwLCA4NCwgNjksIAotICAgIDEyOCwgNjgsIDczLCA4MCwgODAsIDY5LCA4MiwgMTI4LCA2OCwgNzMsIDgwLCA3NiwgNzksIDg1LCA3OCwgMTI4LCA2OCwgCi0gICAgNzMsIDgwLCA3NiwgNzMsIDEyOCwgNjgsIDczLCA4MCwgNzYsIDIwMSwgNjgsIDczLCA3OCwgNzEsIDY2LCA2NSwgMjEyLCAKLSAgICA2OCwgNzMsIDIwNiwgNjgsIDczLCA3NywgNzcsIDczLCA3OCwgNzEsIDEyOCwgNjgsIDczLCA3NywgNzMsIDc4LCA4NSwgODQsIAotICAgIDczLCA3OSwgNzgsIDQ1LCA1MSwgMTI4LCA2OCwgNzMsIDc3LCA3MywgNzgsIDg1LCA4NCwgNzMsIDc5LCA3OCwgNDUsIDUwLCAKLSAgICAxMjgsIDY4LCA3MywgNzcsIDczLCA3OCwgODUsIDg0LCA3MywgNzksIDc4LCA0NSwgNDksIDEyOCwgNjgsIDczLCA3NywgNzMsIAotICAgIDc4LCA3MywgODMsIDcyLCA3NywgNjksIDc4LCA4NCwgMTI4LCA2OCwgNzMsIDc3LCA3MywgNjgsIDczLCAxOTMsIDY4LCA3MywgCi0gICAgNzcsIDY5LCA3OCwgODMsIDczLCA3OSwgNzgsIDY1LCAyMDQsIDY4LCA3MywgNzcsIDY5LCA3OCwgODMsIDczLCA3OSwgMjA2LCAKLSAgICA2OCwgNzMsIDc3LCA1MCwgMTI4LCA2OCwgNzMsIDc2LCAxMjgsIDY4LCA3MywgNzEsIDgyLCA2NSwgODAsIDcyLCAxMjgsIAotICAgIDY4LCA3MywgNzEsIDgyLCA2NSwgODAsIDIwMCwgNjgsIDczLCA3MSwgODIsIDY1LCA3NywgNzcsIDc5LCAyMTEsIDY4LCA3MywgCi0gICAgNzEsIDgyLCA2NSwgNzcsIDc3LCAxOTMsIDY4LCA3MywgNzEsIDgyLCA2NSwgMjA1LCA2OCwgNzMsIDcxLCA3OSwgODIsIDcxLCAKLSAgICA3OSwgNzgsIDEyOCwgNjgsIDczLCA3MSwgNzksIDgyLCA3MSwgNzksIDIwNiwgNjgsIDczLCA3MSwgNjUsIDc3LCA3NywgNjUsIAotICAgIDEyOCwgNjgsIDczLCA3MSwgMTkzLCA2OCwgNzMsIDcwLCA4NCwgNzksIDcxLCA3MSwgNzksIDIxMSwgNjgsIDczLCA3MCwgCi0gICAgNzksIDc4LCA3MywgNjUsIDgzLCAxMjgsIDY4LCA3MywgNzAsIDcwLCA3MywgNjcsIDg1LCA3NiwgODQsIDIxNywgNjgsIDczLCAKLSAgICA3MCwgNzAsIDczLCA2NywgODUsIDc2LCA4NCwgNzMsIDY5LCA4MywgMTI4LCA2OCwgNzMsIDcwLCA3MCwgNjksIDgyLCA2OSwgCi0gICAgNzgsIDg0LCA3MywgNjUsIDc2LCAxMjgsIDY4LCA3MywgNzAsIDcwLCA2OSwgODIsIDY5LCA3OCwgNjcsIDE5NywgNjgsIDczLCAKLSAgICA3MCwgNjUsIDg0LCAxMjgsIDY4LCA3MywgNjksIDgzLCA3MywgODMsIDEyOCwgNjgsIDczLCA2OSwgODMsIDczLCAyMTEsIAotICAgIDY4LCA3MywgNjksIDgwLCAxMjgsIDY4LCA3MywgMTk3LCA2OCwgNzMsIDY2LCAxMjgsIDY4LCA3MywgNjUsIDg0LCA3OSwgCi0gICAgNzgsIDc5LCAyMDYsIDY4LCA3MywgNjUsIDg0LCA3OSwgNzgsIDczLCA3NSwgMjAxLCA2OCwgNzMsIDY1LCA4MywgODQsIDc5LCAKLSAgICA3NiwgMjAxLCA2OCwgNzMsIDY1LCA3NywgNzksIDc4LCA2OCwgODMsIDEyOCwgNjgsIDczLCA2NSwgNzcsIDc5LCA3OCwgNjgsIAotICAgIDEyOCwgNjgsIDczLCA2NSwgNzcsIDc5LCA3OCwgMTk2LCA2OCwgNzMsIDY1LCA3NywgNjksIDg0LCA2OSwgMjEwLCA2OCwgCi0gICAgNzMsIDY1LCA3NiwgODksIDg0LCA3MywgNzUsIDY1LCAxMjgsIDY4LCA3MywgNjUsIDc2LCA4OSwgODQsIDczLCA3NSwgMTkzLCAKLSAgICA2OCwgNzMsIDY1LCA3NiwgNjksIDY3LCA4NCwgNDUsIDIwOCwgNjgsIDczLCA2NSwgNzEsIDc5LCA3OCwgNjUsIDc2LCAxMjgsIAotICAgIDY4LCA3MywgNjUsIDcxLCA3OSwgNzgsIDY1LCAyMDQsIDY4LCA3MywgNjUsIDY5LCA4MiwgNjksIDgzLCA3MywgOTAsIDY5LCAKLSAgICAxOTYsIDY4LCA3MywgNjUsIDY5LCA4MiwgNjksIDgzLCA3MywgODMsIDEyOCwgNjgsIDczLCA2NSwgNjksIDgyLCA2OSwgODMsIAotICAgIDczLCAyMTEsIDY4LCA3MiwgNzksIDg1LCAxMjgsIDY4LCA3MiwgNzksIDc5LCAxMjgsIDY4LCA3MiwgNzksIDEyOCwgNjgsIAotICAgIDcyLCA3MywgMTI4LCA2OCwgNzIsIDcyLCA4NSwgMTI4LCA2OCwgNzIsIDcyLCA3OSwgNzksIDEyOCwgNjgsIDcyLCA3MiwgCi0gICAgNzksIDEyOCwgNjgsIDcyLCA3MiwgNzMsIDEyOCwgNjgsIDcyLCA3MiwgNjksIDY5LCAxMjgsIDY4LCA3MiwgNzIsIDY5LCAKLSAgICAxMjgsIDY4LCA3MiwgNzIsIDY1LCAxMjgsIDY4LCA3MiwgNjksIDY5LCAxMjgsIDY4LCA3MiwgNjUsIDgyLCA3NywgNjUsIAotICAgIDEyOCwgNjgsIDcyLCA2NSwgNzYsIDY5LCA4NCwgNzIsIDEyOCwgNjgsIDcyLCA2NSwgNzYsIDY1LCA4NCwgNzIsIDEyOCwgCi0gICAgNjgsIDcyLCA2NSwgNzYsIDEyOCwgNjgsIDcyLCA2NSwgNjgsIDcyLCA2OSwgMTI4LCA2OCwgNzIsIDY1LCA2NSwgNzYsIDg1LCAKLSAgICAxMjgsIDY4LCA3MiwgNjUsIDY1LCAxMjgsIDY4LCA3MiwgNjUsIDEyOCwgNjgsIDY5LCA5MCwgMjAwLCA2OCwgNjksIDg5LCAKLSAgICA4NCwgNjksIDgyLCA3OSwgMjEzLCA2OCwgNjksIDg5LCA4NCwgNjksIDgyLCA3OSwgMjExLCA2OCwgNjksIDg4LCA3MywgNjUsIAotICAgIDEyOCwgNjgsIDY5LCA4NiwgNzMsIDY3LCAxOTcsIDY4LCA2OSwgODYsIDY5LCA3NiwgNzksIDgwLCA3NywgNjksIDc4LCA4NCwgCi0gICAgMTI4LCA2OCwgNjksIDg1LCA3OCwgNzEsIDEyOCwgNjgsIDY5LCA4MywgMjAzLCA2OCwgNjksIDgzLCA3MywgNzEsIDc4LCAKLSAgICAxMjgsIDY4LCA2OSwgODMsIDczLCAxMjgsIDY4LCA2OSwgODMsIDY3LCA4MiwgNzMsIDgwLCA4NCwgNzMsIDc5LCAyMDYsIAotICAgIDY4LCA2OSwgODMsIDY3LCA2OSwgNzgsIDY4LCA3MywgNzgsIDE5OSwgNjgsIDY5LCA4MywgNjcsIDY5LCA3OCwgNjgsIDY5LCAKLSAgICA4MiwgMTI4LCA2OCwgNjksIDgyLCA2OSwgODQsIDQ1LCA3MiwgNzMsIDY4LCA2OSwgODQsIDEyOCwgNjgsIDY5LCA4MiwgNjksIAotICAgIDg0LCAxMjgsIDY4LCA2OSwgODAsIDY1LCA4MiwgODQsIDg1LCA4MiwgNjksIDEyOCwgNjgsIDY5LCA4MCwgNjUsIDgyLCA4NCwgCi0gICAgNzcsIDY5LCA3OCwgMjEyLCA2OCwgNjksIDgwLCA2NSwgODIsIDg0LCA3MywgNzgsIDE5OSwgNjgsIDY5LCA3OCwgODQsIDczLCAKLSAgICA4MywgODQsIDgyLCAyMTcsIDY4LCA2OSwgNzgsIDg0LCA2NSwgMjA0LCA2OCwgNjksIDc4LCA3OSwgNzcsIDczLCA3OCwgNjUsIAotICAgIDg0LCA3OSwgODIsIDEyOCwgNjgsIDY5LCA3OCwgNzksIDc3LCA3MywgNzgsIDY1LCA4NCwgNzksIDIxMCwgNjgsIDY5LCA3OCwgCi0gICAgNzgsIDY5LCA3OCwgMTI4LCA2OCwgNjksIDc4LCA3MSwgMTI4LCA2OCwgNjksIDc4LCAxOTcsIDY4LCA2OSwgNzgsIDY1LCAKLSAgICA4MiwgNzMsIDg1LCAyMTEsIDY4LCA2OSwgNzYsIDg0LCA2NSwgMTI4LCA2OCwgNjksIDc2LCA4NCwgMTkzLCA2OCwgNjksIAotICAgIDc2LCA4NCwgMTI4LCA2OCwgNjksIDc2LCA4MCwgNzIsIDczLCAxOTUsIDY4LCA2OSwgNzYsIDczLCA4NiwgNjksIDgyLCAKLSAgICAyMTcsIDY4LCA2OSwgNzYsIDczLCA4NiwgNjksIDgyLCA2NSwgNzgsIDY3LCA2OSwgMTI4LCA2OCwgNjksIDc2LCA3MywgNzcsIAotICAgIDczLCA4NCwgNjksIDgyLCAxMjgsIDY4LCA2OSwgNzYsIDczLCA3NywgNzMsIDg0LCA2OSwgMjEwLCA2OCwgNjksIDc2LCA3MywgCi0gICAgNjcsIDczLCA3OSwgODUsIDIxMSwgNjgsIDY5LCA3NiwgNjksIDg0LCA2OSwgMTI4LCA2OCwgNjksIDc2LCA2OSwgODQsIAotICAgIDE5NywgNjgsIDY5LCA3NSwgNjUsIDEyOCwgNjgsIDY5LCA3NSwgMTI4LCA2OCwgNjksIDczLCAxMjgsIDY4LCA2OSwgNzIsIAotICAgIDczLCAxMjgsIDY4LCA2OSwgNzEsIDgyLCA2OSwgMTk3LCA2OCwgNjksIDcwLCA3MywgNzgsIDczLCA4NCwgNzMsIDc5LCA3OCwgCisgICAgMTI4LCA2OCwgNzksIDczLCAxMjgsIDY4LCA3OSwgNzEsIDEyOCwgNjgsIDc5LCAxOTksIDY4LCA3OSwgNjksIDIxMSwgNjgsIAorICAgIDc5LCA2OCwgNjksIDc1LCA2NSwgODQsIDY1LCAxMjgsIDY4LCA3OSwgNjcsIDg1LCA3NywgNjksIDc4LCA4NCwgMTI4LCA2OCwgCisgICAgNzksIDY3LCA4NSwgNzcsIDY5LCA3OCwgMjEyLCA2OCwgNzksIDY2LCA4MiwgNzksIDEyOCwgNjgsIDc5LCA2NSwgNjcsIDcyLCAKKyAgICA2NSwgODMsIDcyLCA3NywgNjksIDY5LCAxMjgsIDY4LCA3OSwgNjUsIDY3LCA3MiwgNjUsIDgzLCA3MiwgNzcsIDY5LCAxOTcsIAorICAgIDY4LCA3OSwgNjUsIDEyOCwgNjgsIDc5LCA0NSwgNzksIDEyOCwgNjgsIDc3LCAxMjgsIDY4LCAyMDUsIDY4LCA3NiwgODUsIAorICAgIDEyOCwgNjgsIDc2LCA3OSwgMTI4LCA2OCwgNzYsIDczLCAxMjgsIDY4LCA3NiwgNzIsIDg5LCA2NSwgMTI4LCA2OCwgNzYsIAorICAgIDcyLCA2NSwgMTI4LCA2OCwgNzYsIDY5LCA2OSwgMTI4LCA2OCwgNzYsIDY1LCAxMjgsIDY4LCA3NiwgMTI4LCA2OCwgNzUsIAorICAgIDY1LCA4MiwgMTI4LCA2OCwgNzUsIDY1LCAyMTAsIDY4LCA3NCwgNjksIDgyLCA4NiwgNzMsIDEyOCwgNjgsIDc0LCA2OSwgCisgICAgODIsIDg2LCAxMjgsIDY4LCA3NCwgNjksIDEyOCwgNjgsIDc0LCA2NSwgMTI4LCA2OCwgNzMsIDkwLCA5MCwgMjE3LCA2OCwgCisgICAgNzMsIDg2LCA3OSwgODIsIDY3LCAxOTcsIDY4LCA3MywgODYsIDczLCA4MywgNzMsIDc5LCA3OCwgMTI4LCA2OCwgNzMsIDg2LCAKKyAgICA3MywgODMsIDczLCA3OSwgMjA2LCA2OCwgNzMsIDg2LCA3MywgNzgsIDY1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA2OCwgNzMsIAorICAgIDg2LCA3MywgNjgsIDY5LCA4MywgMTI4LCA2OCwgNzMsIDg2LCA3MywgNjgsIDY5LCA4MiwgODMsIDEyOCwgNjgsIDczLCA4NiwgCisgICAgNzMsIDY4LCA2OSwgODIsIDEyOCwgNjgsIDczLCA4NiwgNzMsIDY4LCA2OSwgMTk2LCA2OCwgNzMsIDg2LCA3MywgNjgsIDY5LCAKKyAgICAxMjgsIDY4LCA3MywgODYsIDczLCA2OCwgMTk3LCA2OCwgNzMsIDg2LCA2OSwgODIsIDcxLCA2OSwgNzgsIDY3LCA2OSwgCisgICAgMTI4LCA2OCwgNzMsIDg0LCA4NCwgMjA3LCA2OCwgNzMsIDgzLCA4NCwgNzksIDgyLCA4NCwgNzMsIDc5LCA3OCwgMTI4LCAKKyAgICA2OCwgNzMsIDgzLCA4NCwgNzMsIDc4LCA3MSwgODUsIDczLCA4MywgNzIsIDEyOCwgNjgsIDczLCA4MywgODQsIDczLCA3NiwgCisgICAgNzYsIDEyOCwgNjgsIDczLCA4MywgODMsIDc5LCA3NiwgODYsIDY5LCA0NSwgNTAsIDEyOCwgNjgsIDczLCA4MywgODMsIDc5LCAKKyAgICA3NiwgODYsIDY5LCAxMjgsIDY4LCA3MywgODMsIDgwLCA2OSwgODIsIDgzLCA3MywgNzksIDc4LCAxMjgsIDY4LCA3MywgODMsIAorICAgIDc1LCAxMjgsIDY4LCA3MywgODMsIDczLCA3NywgNzksIDg1LCAxMjgsIDY4LCA3MywgODMsIDcyLCAxMjgsIDY4LCA3MywgCisgICAgODMsIDY3LCA3OSwgNzgsIDg0LCA3MywgNzgsIDg1LCA3OSwgODUsIDIxMSwgNjgsIDczLCA4MywgMTk1LCA2OCwgNzMsIDgzLCAKKyAgICA2NSwgODAsIDgwLCA3OSwgNzMsIDc4LCA4NCwgNjksIDE5NiwgNjgsIDczLCA4MywgNjUsIDY2LCA3NiwgNjksIDE5NiwgNjgsIAorICAgIDczLCA4MiwgNzEsIDE5MywgNjgsIDczLCA4MiwgNjksIDY3LCA4NCwgNzYsIDIxNywgNjgsIDczLCA4MiwgNjksIDY3LCA4NCwgCisgICAgNzMsIDc5LCA3OCwgNjUsIDIwNCwgNjgsIDczLCA4MCwgODQsIDY5LCAxMjgsIDY4LCA3MywgODAsIDgwLCA2OSwgODIsIAorICAgIDEyOCwgNjgsIDczLCA4MCwgNzYsIDc5LCA4NSwgNzgsIDEyOCwgNjgsIDczLCA4MCwgNzYsIDczLCAxMjgsIDY4LCA3MywgCisgICAgODAsIDc2LCAyMDEsIDY4LCA3MywgNzgsIDcxLCA2NiwgNjUsIDIxMiwgNjgsIDczLCAyMDYsIDY4LCA3MywgNzcsIDc3LCAKKyAgICA3MywgNzgsIDcxLCAxMjgsIDY4LCA3MywgNzcsIDczLCA3OCwgODUsIDg0LCA3MywgNzksIDc4LCA0NSwgNTEsIDEyOCwgNjgsIAorICAgIDczLCA3NywgNzMsIDc4LCA4NSwgODQsIDczLCA3OSwgNzgsIDQ1LCA1MCwgMTI4LCA2OCwgNzMsIDc3LCA3MywgNzgsIDg1LCAKKyAgICA4NCwgNzMsIDc5LCA3OCwgNDUsIDQ5LCAxMjgsIDY4LCA3MywgNzcsIDczLCA3OCwgNzMsIDgzLCA3MiwgNzcsIDY5LCA3OCwgCisgICAgODQsIDEyOCwgNjgsIDczLCA3NywgNzMsIDY4LCA3MywgMTkzLCA2OCwgNzMsIDc3LCA2OSwgNzgsIDgzLCA3MywgNzksIDc4LCAKKyAgICA2NSwgMjA0LCA2OCwgNzMsIDc3LCA2OSwgNzgsIDgzLCA3MywgNzksIDIwNiwgNjgsIDczLCA3NywgNTAsIDEyOCwgNjgsIAorICAgIDczLCA3NiwgMTI4LCA2OCwgNzMsIDcxLCA4MiwgNjUsIDgwLCA3MiwgMTI4LCA2OCwgNzMsIDcxLCA4MiwgNjUsIDgwLCAKKyAgICAyMDAsIDY4LCA3MywgNzEsIDgyLCA2NSwgNzcsIDc3LCA3OSwgMjExLCA2OCwgNzMsIDcxLCA4MiwgNjUsIDc3LCA3NywgCisgICAgMTkzLCA2OCwgNzMsIDcxLCA4MiwgNjUsIDIwNSwgNjgsIDczLCA3MSwgNzksIDgyLCA3MSwgNzksIDc4LCAxMjgsIDY4LCAKKyAgICA3MywgNzEsIDc5LCA4MiwgNzEsIDc5LCAyMDYsIDY4LCA3MywgNzEsIDY1LCA3NywgNzcsIDY1LCAxMjgsIDY4LCA3MywgNzEsIAorICAgIDE5MywgNjgsIDczLCA3MCwgODQsIDc5LCA3MSwgNzEsIDc5LCAyMTEsIDY4LCA3MywgNzAsIDc5LCA3OCwgNzMsIDY1LCA4MywgCisgICAgMTI4LCA2OCwgNzMsIDcwLCA3MCwgNzMsIDY3LCA4NSwgNzYsIDg0LCAyMTcsIDY4LCA3MywgNzAsIDcwLCA3MywgNjcsIDg1LCAKKyAgICA3NiwgODQsIDczLCA2OSwgODMsIDEyOCwgNjgsIDczLCA3MCwgNzAsIDY5LCA4MiwgNjksIDc4LCA4NCwgNzMsIDY1LCA3NiwgCisgICAgMTI4LCA2OCwgNzMsIDcwLCA3MCwgNjksIDgyLCA2OSwgNzgsIDY3LCAxOTcsIDY4LCA3MywgNzAsIDY1LCA4NCwgMTI4LCAKKyAgICA2OCwgNzMsIDY5LCA4MywgNzMsIDgzLCAxMjgsIDY4LCA3MywgNjksIDgzLCA3MywgMjExLCA2OCwgNzMsIDY5LCA4MywgNjksIAorICAgIDIwNCwgNjgsIDczLCA2OSwgODAsIDEyOCwgNjgsIDczLCAxOTcsIDY4LCA3MywgNjYsIDEyOCwgNjgsIDczLCA2NSwgODQsIAorICAgIDc5LCA3OCwgNzksIDIwNiwgNjgsIDczLCA2NSwgODQsIDc5LCA3OCwgNzMsIDc1LCAyMDEsIDY4LCA3MywgNjUsIDgzLCA4NCwgCisgICAgNzksIDc2LCAyMDEsIDY4LCA3MywgNjUsIDc3LCA3OSwgNzgsIDY4LCA4MywgMTI4LCA2OCwgNzMsIDY1LCA3NywgNzksIDc4LCAKKyAgICA2OCwgMTI4LCA2OCwgNzMsIDY1LCA3NywgNzksIDc4LCAxOTYsIDY4LCA3MywgNjUsIDc3LCA2OSwgODQsIDY5LCAyMTAsIAorICAgIDY4LCA3MywgNjUsIDc2LCA4OSwgODQsIDczLCA3NSwgNjUsIDEyOCwgNjgsIDczLCA2NSwgNzYsIDg5LCA4NCwgNzMsIDc1LCAKKyAgICAxOTMsIDY4LCA3MywgNjUsIDc2LCA2OSwgNjcsIDg0LCA0NSwgMjA4LCA2OCwgNzMsIDY1LCA3MSwgNzksIDc4LCA2NSwgNzYsIAorICAgIDEyOCwgNjgsIDczLCA2NSwgNzEsIDc5LCA3OCwgNjUsIDIwNCwgNjgsIDczLCA2NSwgNjksIDgyLCA2OSwgODMsIDczLCA5MCwgCisgICAgNjksIDE5NiwgNjgsIDczLCA2NSwgNjksIDgyLCA2OSwgODMsIDczLCA4MywgNDUsIDgyLCA3MywgNzgsIDcxLCAxMjgsIDY4LCAKKyAgICA3MywgNjUsIDY5LCA4MiwgNjksIDgzLCA3MywgODMsIDEyOCwgNjgsIDczLCA2NSwgNjksIDgyLCA2OSwgODMsIDczLCAyMTEsIAorICAgIDY4LCA3MiwgNzksIDg1LCAxMjgsIDY4LCA3MiwgNzksIDc5LCAxMjgsIDY4LCA3MiwgNzksIDEyOCwgNjgsIDcyLCA3MywgCisgICAgNzMsIDEyOCwgNjgsIDcyLCA3MywgMTI4LCA2OCwgNzIsIDcyLCA4NSwgMTI4LCA2OCwgNzIsIDcyLCA3OSwgNzksIDEyOCwgCisgICAgNjgsIDcyLCA3MiwgNzksIDEyOCwgNjgsIDcyLCA3MiwgNzMsIDEyOCwgNjgsIDcyLCA3MiwgNjksIDY5LCAxMjgsIDY4LCAKKyAgICA3MiwgNzIsIDY5LCAxMjgsIDY4LCA3MiwgNzIsIDY1LCAxMjgsIDY4LCA3MiwgNjksIDY5LCAxMjgsIDY4LCA3MiwgNjUsIAorICAgIDgyLCA3NywgNjUsIDEyOCwgNjgsIDcyLCA2NSwgNzcsIDY5LCA2OCwgNzIsIDEyOCwgNjgsIDcyLCA2NSwgNzYsIDY5LCA4NCwgCisgICAgNzIsIDEyOCwgNjgsIDcyLCA2NSwgNzYsIDY1LCA4NCwgNzIsIDEyOCwgNjgsIDcyLCA2NSwgNzYsIDEyOCwgNjgsIDcyLCAKKyAgICA2NSwgNjgsIDcyLCA2OSwgMTI4LCA2OCwgNzIsIDY1LCA2NSwgNzYsIDg1LCAxMjgsIDY4LCA3MiwgNjUsIDY1LCAxMjgsIAorICAgIDY4LCA3MiwgNjUsIDEyOCwgNjgsIDY5LCA5MCwgMjAwLCA2OCwgNjksIDg5LCA4NCwgNjksIDgyLCA3OSwgMjEzLCA2OCwgCisgICAgNjksIDg5LCA4NCwgNjksIDgyLCA3OSwgMjExLCA2OCwgNjksIDg4LCA3MywgNjUsIDEyOCwgNjgsIDY5LCA4NiwgNzMsIDY3LCAKKyAgICAxOTcsIDY4LCA2OSwgODYsIDY5LCA3NiwgNzksIDgwLCA3NywgNjksIDc4LCA4NCwgMTI4LCA2OCwgNjksIDg1LCA3OCwgNzEsIAorICAgIDEyOCwgNjgsIDY5LCA4MywgNzUsIDg0LCA3OSwgMjA4LCA2OCwgNjksIDgzLCAyMDMsIDY4LCA2OSwgODMsIDczLCA3MSwgCisgICAgNzgsIDEyOCwgNjgsIDY5LCA4MywgNzMsIDEyOCwgNjgsIDY5LCA4MywgNjksIDgyLCA4NCwgMTI4LCA2OCwgNjksIDgzLCAKKyAgICA2OSwgODIsIDIxMiwgNjgsIDY5LCA4MywgNjksIDgyLCA2OSwgMjEyLCA2OCwgNjksIDgzLCA2NywgODIsIDczLCA4MCwgODQsIAorICAgIDczLCA3OSwgMjA2LCA2OCwgNjksIDgzLCA2NywgNjksIDc4LCA2OCwgNzMsIDc4LCAxOTksIDY4LCA2OSwgODMsIDY3LCA2OSwgCisgICAgNzgsIDY4LCA2OSwgODIsIDEyOCwgNjgsIDY5LCA4MiwgNjksIDg0LCA0NSwgNzIsIDczLCA2OCwgNjksIDg0LCAxMjgsIDY4LCAKKyAgICA2OSwgODIsIDY5LCA4NCwgMTI4LCA2OCwgNjksIDgyLCA2OSwgNzYsIDczLCA2NywgMjEyLCA2OCwgNjksIDgwLCA2NSwgODIsIAorICAgIDg0LCA4NSwgODIsIDY5LCAxMjgsIDY4LCA2OSwgODAsIDY1LCA4MiwgODQsIDc3LCA2OSwgNzgsIDIxMiwgNjgsIDY5LCA4MCwgCisgICAgNjUsIDgyLCA4NCwgNzMsIDc4LCAxOTksIDY4LCA2OSwgNzgsIDg0LCA3MywgODMsIDg0LCA4MiwgMjE3LCA2OCwgNjksIDc4LCAKKyAgICA4NCwgNjUsIDIwNCwgNjgsIDY5LCA3OCwgNzksIDc3LCA3MywgNzgsIDY1LCA4NCwgNzksIDgyLCAxMjgsIDY4LCA2OSwgNzgsIAorICAgIDc5LCA3NywgNzMsIDc4LCA2NSwgODQsIDc5LCAyMTAsIDY4LCA2OSwgNzgsIDc4LCA2OSwgNzgsIDEyOCwgNjgsIDY5LCA3OCwgCisgICAgNzEsIDEyOCwgNjgsIDY5LCA3OCwgMTk3LCA2OCwgNjksIDc4LCA2NSwgODIsIDczLCA4NSwgMjExLCA2OCwgNjksIDc2LCAKKyAgICA4NCwgNjUsIDEyOCwgNjgsIDY5LCA3NiwgODQsIDE5MywgNjgsIDY5LCA3NiwgODQsIDEyOCwgNjgsIDY5LCA3NiwgODAsIAorICAgIDcyLCA3MywgMTk1LCA2OCwgNjksIDc2LCA3MywgODYsIDY5LCA4MiwgMjE3LCA2OCwgNjksIDc2LCA3MywgODYsIDY5LCA4MiwgCisgICAgNjUsIDc4LCA2NywgNjksIDEyOCwgNjgsIDY5LCA3NiwgNzMsIDc3LCA3MywgODQsIDY5LCA4MiwgMTI4LCA2OCwgNjksIDc2LCAKKyAgICA3MywgNzcsIDczLCA4NCwgNjksIDIxMCwgNjgsIDY5LCA3NiwgNzMsIDY3LCA3MywgNzksIDg1LCAyMTEsIDY4LCA2OSwgNzYsIAorICAgIDY5LCA4NCwgNjksIDEyOCwgNjgsIDY5LCA3NiwgNjksIDg0LCAxOTcsIDY4LCA2OSwgNzUsIDY1LCAxMjgsIDY4LCA2OSwgCisgICAgNzUsIDEyOCwgNjgsIDY5LCA3MywgMTI4LCA2OCwgNjksIDcyLCA3MywgMTI4LCA2OCwgNjksIDcxLCA4MiwgNjksIDY5LCAKKyAgICA4MywgMTI4LCA2OCwgNjksIDcxLCA4MiwgNjksIDE5NywgNjgsIDY5LCA3MCwgNzMsIDc4LCA3MywgODQsIDczLCA3OSwgNzgsIAogICAgIDEyOCwgNjgsIDY5LCA3MCwgNjksIDY3LCA4NCwgNzMsIDg2LCA2OSwgNzgsIDY5LCA4MywgMjExLCA2OCwgNjksIDY5LCA4MiwgCiAgICAgMTI4LCA2OCwgNjksIDY5LCA4MCwgNzYsIDg5LCAxMjgsIDY4LCA2OSwgNjksIDc2LCAxMjgsIDY4LCA2OSwgNjcsIDgyLCAKICAgICA2OSwgODMsIDY3LCA2OSwgNzgsIDY4LCA3OSwgMTI4LCA2OCwgNjksIDY3LCA4MiwgNjksIDY1LCA4MywgNjksIDEyOCwgNjgsIAotICAgIDY5LCA2NywgNzksIDgyLCA2NSwgODQsIDczLCA4NiwgMTk3LCA2OCwgNjksIDY3LCA3OSwgODIsIDY1LCA4NCwgNzMsIDc5LCAKLSAgICA3OCwgMTI4LCA2OCwgNjksIDY3LCA3MywgODMsIDczLCA4NiwgNjksIDc4LCA2OSwgODMsIDgzLCAxMjgsIDY4LCA2OSwgNjcsIAotICAgIDczLCA3NywgNjUsIDIwNCwgNjgsIDY5LCA2NywgNzMsIDY4LCA4NSwgNzksIDg1LCAyMTEsIDY4LCA2OSwgNjcsIDY5LCA3NywgCi0gICAgNjYsIDY5LCA4MiwgMTI4LCA2OCwgNjksIDY3LCA2NSwgODksIDY5LCA2OCwgMTI4LCA2OCwgNjksIDY2LCA3MywgMjEyLCAKLSAgICA2OCwgNjksIDY1LCA4NCwgNzIsIDEyOCwgNjgsIDY5LCA2NSwgNjgsIDEyOCwgNjgsIDY4LCA4NywgNjUsIDEyOCwgNjgsIAotICAgIDY4LCA4NSwgODgsIDEyOCwgNjgsIDY4LCA4NSwgODQsIDEyOCwgNjgsIDY4LCA4NSwgODIsIDg4LCAxMjgsIDY4LCA2OCwgCi0gICAgODUsIDgyLCAxMjgsIDY4LCA2OCwgODUsIDgwLCAxMjgsIDY4LCA2OCwgODUsIDc5LCA4OCwgMTI4LCA2OCwgNjgsIDg1LCAKLSAgICA3OSwgODAsIDEyOCwgNjgsIDY4LCA4NSwgNzksIDEyOCwgNjgsIDY4LCA4NSwgMTI4LCA2OCwgNjgsIDc5LCA4OCwgMTI4LCAKLSAgICA2OCwgNjgsIDc5LCA4NCwgMTI4LCA2OCwgNjgsIDc5LCA4MCwgMTI4LCA2OCwgNjgsIDc5LCA2NSwgMTI4LCA2OCwgNjgsIAotICAgIDczLCA4OCwgMTI4LCA2OCwgNjgsIDczLCA4NCwgMTI4LCA2OCwgNjgsIDczLCA4MCwgMTI4LCA2OCwgNjgsIDczLCA2OSwgCi0gICAgODgsIDEyOCwgNjgsIDY4LCA3MywgNjksIDgwLCAxMjgsIDY4LCA2OCwgNzMsIDY5LCAxMjgsIDY4LCA2OCwgNzMsIDEyOCwgCi0gICAgNjgsIDY4LCA3MiwgODUsIDEyOCwgNjgsIDY4LCA3MiwgNzksIDEyOCwgNjgsIDY4LCA3MiwgNzMsIDEyOCwgNjgsIDY4LCAKLSAgICA3MiwgNjksIDY5LCAxMjgsIDY4LCA2OCwgNzIsIDY5LCAxMjgsIDY4LCA2OCwgNzIsIDY1LCA2NSwgMTI4LCA2OCwgNjgsIAotICAgIDcyLCA2NSwgMTI4LCA2OCwgNjgsIDY5LCA4OCwgMTI4LCA2OCwgNjgsIDY5LCA4MCwgMTI4LCA2OCwgNjgsIDY5LCA2OSwgCi0gICAgMTI4LCA2OCwgNjgsIDY5LCAxMjgsIDY4LCA2OCwgNjgsIDcyLCA2NSwgMTI4LCA2OCwgNjgsIDY4LCA2NSwgMTI4LCA2OCwgCi0gICAgNjgsIDY1LCA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgNjgsIDY4LCA2NSwgODgsIDEyOCwgNjgsIDY4LCA2NSwgODQsIAotICAgIDEyOCwgNjgsIDY4LCA2NSwgODAsIDEyOCwgNjgsIDY4LCA2NSwgNzYsIDEyOCwgNjgsIDY4LCA2NSwgMjA0LCA2OCwgNjgsIAotICAgIDY1LCA3MiwgNjUsIDc2LCAxMjgsIDY4LCA2OCwgNjUsIDcyLCA2NSwgMjA0LCA2OCwgNjgsIDY1LCA2NSwgMTI4LCA2OCwgCi0gICAgNjcsIDgzLCAxMjgsIDY4LCA2NywgNTIsIDEyOCwgNjgsIDY3LCA1MSwgMTI4LCA2OCwgNjcsIDUwLCAxMjgsIDY4LCA2NywgCi0gICAgNDksIDEyOCwgNjgsIDE5NCwgNjgsIDY1LCA4OSwgNDUsIDc4LCA3MywgNzEsIDcyLCA4NCwgMTI4LCA2OCwgNjUsIDIxNywgCisgICAgNjksIDY3LCA4MiwgNjksIDY1LCA4MywgMTk3LCA2OCwgNjksIDY3LCA3OSwgODIsIDY1LCA4NCwgNzMsIDg2LCAxOTcsIDY4LCAKKyAgICA2OSwgNjcsIDc5LCA4MiwgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDY4LCA2OSwgNjcsIDczLCA4MywgNzMsIDg2LCA2OSwgCisgICAgNzgsIDY5LCA4MywgODMsIDEyOCwgNjgsIDY5LCA2NywgNzMsIDc3LCA2NSwgMjA0LCA2OCwgNjksIDY3LCA3MywgNjgsIDg1LCAKKyAgICA3OSwgODUsIDIxMSwgNjgsIDY5LCA2NywgNjksIDc3LCA2NiwgNjksIDgyLCAxMjgsIDY4LCA2OSwgNjcsIDY1LCA4OSwgNjksIAorICAgIDY4LCAxMjgsIDY4LCA2OSwgNjYsIDczLCAyMTIsIDY4LCA2OSwgNjUsIDg0LCA3MiwgMTI4LCA2OCwgNjksIDY1LCA2OCwgCisgICAgMTI4LCA2OCwgNjgsIDg3LCA2NSwgMTI4LCA2OCwgNjgsIDg1LCA4OCwgMTI4LCA2OCwgNjgsIDg1LCA4NCwgMTI4LCA2OCwgCisgICAgNjgsIDg1LCA4MiwgODgsIDEyOCwgNjgsIDY4LCA4NSwgODIsIDEyOCwgNjgsIDY4LCA4NSwgODAsIDEyOCwgNjgsIDY4LCAKKyAgICA4NSwgNzksIDg4LCAxMjgsIDY4LCA2OCwgODUsIDc5LCA4MCwgMTI4LCA2OCwgNjgsIDg1LCA3OSwgMTI4LCA2OCwgNjgsIAorICAgIDg1LCAxMjgsIDY4LCA2OCwgNzksIDg4LCAxMjgsIDY4LCA2OCwgNzksIDg0LCAxMjgsIDY4LCA2OCwgNzksIDgwLCAxMjgsIAorICAgIDY4LCA2OCwgNzksIDY1LCAxMjgsIDY4LCA2OCwgNzMsIDg4LCAxMjgsIDY4LCA2OCwgNzMsIDg0LCAxMjgsIDY4LCA2OCwgCisgICAgNzMsIDgwLCAxMjgsIDY4LCA2OCwgNzMsIDY5LCA4OCwgMTI4LCA2OCwgNjgsIDczLCA2OSwgODAsIDEyOCwgNjgsIDY4LCAKKyAgICA3MywgNjksIDEyOCwgNjgsIDY4LCA3MywgMTI4LCA2OCwgNjgsIDcyLCA4NSwgMTI4LCA2OCwgNjgsIDcyLCA3OSwgMTI4LCAKKyAgICA2OCwgNjgsIDcyLCA3MywgMTI4LCA2OCwgNjgsIDcyLCA2OSwgNjksIDEyOCwgNjgsIDY4LCA3MiwgNjksIDEyOCwgNjgsIAorICAgIDY4LCA3MiwgNjUsIDY1LCAxMjgsIDY4LCA2OCwgNzIsIDY1LCAxMjgsIDY4LCA2OCwgNjksIDg4LCAxMjgsIDY4LCA2OCwgCisgICAgNjksIDgwLCAxMjgsIDY4LCA2OCwgNjksIDY5LCAxMjgsIDY4LCA2OCwgNjksIDEyOCwgNjgsIDY4LCA2OCwgNzIsIDY1LCAKKyAgICAxMjgsIDY4LCA2OCwgNjgsIDY1LCAxMjgsIDY4LCA2OCwgNjUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA2OCwgNjgsIAorICAgIDY1LCA4OCwgMTI4LCA2OCwgNjgsIDY1LCA4NCwgMTI4LCA2OCwgNjgsIDY1LCA4MCwgMTI4LCA2OCwgNjgsIDY1LCA3NiwgCisgICAgMTI4LCA2OCwgNjgsIDY1LCAyMDQsIDY4LCA2OCwgNjUsIDcyLCA2NSwgNzYsIDEyOCwgNjgsIDY4LCA2NSwgNzIsIDY1LCAKKyAgICAyMDQsIDY4LCA2OCwgNjUsIDY1LCAxMjgsIDY4LCA2NywgODMsIDEyOCwgNjgsIDY3LCA3MiwgNjksIDEyOCwgNjgsIDY3LCAKKyAgICA1MiwgMTI4LCA2OCwgNjcsIDUxLCAxMjgsIDY4LCA2NywgNTAsIDEyOCwgNjgsIDY3LCA0OSwgMTI4LCA2OCwgMTk0LCA2OCwgCisgICAgNjUsIDg5LCA0NSwgNzgsIDczLCA3MSwgNzIsIDg0LCAxMjgsIDY4LCA2NSwgMjE3LCA2OCwgNjUsIDg3LCA2NiwgMTI4LCAKICAgICA2OCwgNjUsIDg2LCA3MywgODksIDY1LCA3OCwgNzMsIDEyOCwgNjgsIDY1LCA4NiwgNzMsIDY4LCAxMjgsIDY4LCA2NSwgODQsIAogICAgIDE5NywgNjgsIDY1LCA4MywgNzMsIDY1LCAxMjgsIDY4LCA2NSwgODMsIDczLCAxOTMsIDY4LCA2NSwgODMsIDcyLCA2OSwgCiAgICAgMTk2LCA2OCwgNjUsIDgzLCA3MiwgMTI4LCA2OCwgNjUsIDgzLCAyMDAsIDY4LCA2NSwgODMsIDY5LCA3MywgNjUsIDEyOCwgCkBAIC00MDYxLDI4NSArNDI2NiwzMTAgQEAKICAgICA2OSwgODQsIDcyLCAxMjgsIDY4LCA2NSwgNzYsIDY5LCA4NCwgMTI4LCA2OCwgNjUsIDc2LCA2OSwgMjEyLCA2OCwgNjUsIAogICAgIDc2LCA2OCwgNjUsIDEyOCwgNjgsIDY1LCA3NiwgNjUsIDg0LCA3MiwgMTI4LCA2OCwgNjUsIDc2LCA2NSwgODQsIDIwMCwgCiAgICAgNjgsIDY1LCA3NiwgNjUsIDg0LCAxMjgsIDY4LCA2NSwgNzMsIDgyLCAxMjgsIDY4LCA2NSwgNzMsIDc4LCA3MSwgMTI4LCAKLSAgICA2OCwgNjUsIDcyLCA4OSwgNjUsIDY1LCA4NSwgODMsIDcyLCA0NSwgNTAsIDEyOCwgNjgsIDY1LCA3MiwgODksIDY1LCA2NSwgCi0gICAgODUsIDgzLCA3MiwgMTI4LCA2OCwgNjUsIDcxLCA4MywgMTI4LCA2OCwgNjUsIDcxLCA3MSwgNjksIDgyLCAxMjgsIDY4LCAKLSAgICA2NSwgNzEsIDcxLCA2OSwgMjEwLCA2OCwgNjUsIDcxLCA2OSwgODMsIDcyLCAxMjgsIDY4LCA2NSwgNzEsIDY5LCA4MywgCi0gICAgMjAwLCA2OCwgNjUsIDcxLCA2NiwgNjUsIDgzLCA3MywgNzgsIDc4LCA2NSwgMTI4LCA2OCwgNjUsIDcxLCA2NSwgMjE4LCAKLSAgICA2OCwgNjUsIDcxLCA2NSwgNzYsIDcxLCA2NSwgMTI4LCA2OCwgNjUsIDE5OSwgNjgsIDY1LCA2OSwgNzgsIDcxLCAxMjgsIAotICAgIDY4LCA2NSwgNjksIDE5OSwgNjgsIDY1LCA2OCwgMTI4LCA2OCwgNjUsIDE5NiwgNjgsIDY1LCA2NSwgODMsIDg1LCAxMjgsIAotICAgIDY4LCA2NSwgNjUsIDY4LCA3MiwgODUsIDEyOCwgNjgsIDQ4LCA1NCwgNTUsIDcyLCAxMjgsIDY4LCA0OCwgNTQsIDU1LCA3MSwgCi0gICAgMTI4LCA2OCwgNDgsIDU0LCA1NSwgNzAsIDEyOCwgNjgsIDQ4LCA1NCwgNTUsIDY5LCAxMjgsIDY4LCA0OCwgNTQsIDU1LCAKLSAgICA2OCwgMTI4LCA2OCwgNDgsIDU0LCA1NSwgNjcsIDEyOCwgNjgsIDQ4LCA1NCwgNTUsIDY2LCAxMjgsIDY4LCA0OCwgNTQsIAotICAgIDU1LCA2NSwgMTI4LCA2OCwgNDgsIDU0LCA1NSwgMTI4LCA2OCwgNDgsIDU0LCA1NCwgMTI4LCA2OCwgNDgsIDU0LCA1MywgCi0gICAgMTI4LCA2OCwgNDgsIDU0LCA1MiwgMTI4LCA2OCwgNDgsIDU0LCA1MSwgMTI4LCA2OCwgNDgsIDU0LCA1MCwgMTI4LCA2OCwgCi0gICAgNDgsIDU0LCA0OSwgMTI4LCA2OCwgNDgsIDU0LCA0OCwgMTI4LCA2OCwgNDgsIDUzLCA1NywgMTI4LCA2OCwgNDgsIDUzLCAKLSAgICA1NiwgMTI4LCA2OCwgNDgsIDUzLCA1NSwgMTI4LCA2OCwgNDgsIDUzLCA1NCwgMTI4LCA2OCwgNDgsIDUzLCA1MywgMTI4LCAKLSAgICA2OCwgNDgsIDUzLCA1MiwgNjUsIDEyOCwgNjgsIDQ4LCA1MywgNTIsIDEyOCwgNjgsIDQ4LCA1MywgNTEsIDEyOCwgNjgsIAotICAgIDQ4LCA1MywgNTAsIDY1LCAxMjgsIDY4LCA0OCwgNTMsIDUwLCAxMjgsIDY4LCA0OCwgNTMsIDQ5LCAxMjgsIDY4LCA0OCwgCi0gICAgNTMsIDQ4LCA3MywgMTI4LCA2OCwgNDgsIDUzLCA0OCwgNzIsIDEyOCwgNjgsIDQ4LCA1MywgNDgsIDcxLCAxMjgsIDY4LCAKLSAgICA0OCwgNTMsIDQ4LCA3MCwgMTI4LCA2OCwgNDgsIDUzLCA0OCwgNjksIDEyOCwgNjgsIDQ4LCA1MywgNDgsIDY4LCAxMjgsIAotICAgIDY4LCA0OCwgNTMsIDQ4LCA2NywgMTI4LCA2OCwgNDgsIDUzLCA0OCwgNjYsIDEyOCwgNjgsIDQ4LCA1MywgNDgsIDY1LCAKLSAgICAxMjgsIDY4LCA0OCwgNTMsIDQ4LCAxMjgsIDY4LCA0OCwgNTIsIDU3LCAxMjgsIDY4LCA0OCwgNTIsIDU2LCA2NSwgMTI4LCAKLSAgICA2OCwgNDgsIDUyLCA1NiwgMTI4LCA2OCwgNDgsIDUyLCA1NSwgMTI4LCA2OCwgNDgsIDUyLCA1NCwgNjUsIDEyOCwgNjgsIAotICAgIDQ4LCA1MiwgNTQsIDEyOCwgNjgsIDQ4LCA1MiwgNTMsIDEyOCwgNjgsIDQ4LCA1MiwgNTIsIDEyOCwgNjgsIDQ4LCA1MiwgCi0gICAgNTEsIDEyOCwgNjgsIDQ4LCA1MiwgNTAsIDEyOCwgNjgsIDQ4LCA1MiwgNDksIDEyOCwgNjgsIDQ4LCA1MiwgNDgsIDEyOCwgCi0gICAgNjgsIDQ4LCA1MSwgNTcsIDEyOCwgNjgsIDQ4LCA1MSwgNTYsIDEyOCwgNjgsIDQ4LCA1MSwgNTUsIDEyOCwgNjgsIDQ4LCAKLSAgICA1MSwgNTQsIDEyOCwgNjgsIDQ4LCA1MSwgNTMsIDEyOCwgNjgsIDQ4LCA1MSwgNTIsIDY1LCAxMjgsIDY4LCA0OCwgNTEsIAotICAgIDUyLCAxMjgsIDY4LCA0OCwgNTEsIDUxLCAxMjgsIDY4LCA0OCwgNTEsIDUwLCAxMjgsIDY4LCA0OCwgNTEsIDQ5LCA2NSwgCi0gICAgMTI4LCA2OCwgNDgsIDUxLCA0OSwgMTI4LCA2OCwgNDgsIDUxLCA0OCwgMTI4LCA2OCwgNDgsIDUwLCA1NywgMTI4LCA2OCwgCi0gICAgNDgsIDUwLCA1NiwgMTI4LCA2OCwgNDgsIDUwLCA1NSwgNjUsIDEyOCwgNjgsIDQ4LCA1MCwgNTUsIDEyOCwgNjgsIDQ4LCAKLSAgICA1MCwgNTQsIDEyOCwgNjgsIDQ4LCA1MCwgNTMsIDEyOCwgNjgsIDQ4LCA1MCwgNTIsIDEyOCwgNjgsIDQ4LCA1MCwgNTEsIAotICAgIDEyOCwgNjgsIDQ4LCA1MCwgNTAsIDEyOCwgNjgsIDQ4LCA1MCwgNDksIDEyOCwgNjgsIDQ4LCA1MCwgNDgsIDEyOCwgNjgsIAotICAgIDQ4LCA0OSwgNTcsIDEyOCwgNjgsIDQ4LCA0OSwgNTYsIDEyOCwgNjgsIDQ4LCA0OSwgNTUsIDEyOCwgNjgsIDQ4LCA0OSwgCi0gICAgNTQsIDEyOCwgNjgsIDQ4LCA0OSwgNTMsIDEyOCwgNjgsIDQ4LCA0OSwgNTIsIDEyOCwgNjgsIDQ4LCA0OSwgNTEsIDEyOCwgCi0gICAgNjgsIDQ4LCA0OSwgNTAsIDEyOCwgNjgsIDQ4LCA0OSwgNDksIDEyOCwgNjgsIDQ4LCA0OSwgNDgsIDEyOCwgNjgsIDQ4LCAKLSAgICA0OCwgNTcsIDEyOCwgNjgsIDQ4LCA0OCwgNTYsIDY1LCAxMjgsIDY4LCA0OCwgNDgsIDU2LCAxMjgsIDY4LCA0OCwgNDgsIAotICAgIDU1LCAxMjgsIDY4LCA0OCwgNDgsIDU0LCAxMjgsIDY4LCA0OCwgNDgsIDUzLCAxMjgsIDY4LCA0OCwgNDgsIDUyLCAxMjgsIAotICAgIDY4LCA0OCwgNDgsIDUxLCAxMjgsIDY4LCA0OCwgNDgsIDUwLCAxMjgsIDY4LCA0OCwgNDgsIDQ5LCAxMjgsIDY3LCA4OSwgCi0gICAgODgsIDEyOCwgNjcsIDg5LCA4NCwgMTI4LCA2NywgODksIDgyLCA4OCwgMTI4LCA2NywgODksIDgyLCA2OSwgNzgsIDY1LCAKLSAgICA3MywgMTk1LCA2NywgODksIDgyLCAxMjgsIDY3LCA4OSwgODAsIDgyLCA3MywgNzksIDIxMiwgNjcsIDg5LCA4MCwgNjksIAotICAgIDgyLCA4NSwgODMsIDEyOCwgNjcsIDg5LCA4MCwgMTI4LCA2NywgODksIDc2LCA3MywgNzgsIDY4LCA4MiwgNzMsIDY3LCA3MywgCi0gICAgODQsIDg5LCAxMjgsIDY3LCA4OSwgNjcsIDc2LCA3OSwgNzgsIDY5LCAxMjgsIDY3LCA4OSwgNjUsIDEyOCwgNjcsIDg5LCAKLSAgICAxMjgsIDY3LCA4NywgNzksIDc5LCAxMjgsIDY3LCA4NywgNzksIDEyOCwgNjcsIDg3LCA3MywgNzMsIDEyOCwgNjcsIDg3LCAKLSAgICA3MywgMTI4LCA2NywgODcsIDY5LCA3OSwgODIsIDg0LCA3MiwgMTI4LCA2NywgODcsIDY5LCAxMjgsIDY3LCA4NywgNjUsIAotICAgIDY1LCAxMjgsIDY3LCA4NSwgODgsIDEyOCwgNjcsIDg1LCA4NSwgMTI4LCA2NywgODUsIDIxMiwgNjcsIDg1LCA4MywgODQsIAotICAgIDc5LCA3NywgODMsIDEyOCwgNjcsIDg1LCA4MywgODQsIDc5LCA3NywgNjksIDIxMCwgNjcsIDg1LCA4MywgODQsIDY1LCA4MiwgCi0gICAgNjgsIDEyOCwgNjcsIDg1LCA4MiwgODgsIDEyOCwgNjcsIDg1LCA4MiwgODYsIDczLCA3OCwgMTk5LCA2NywgODUsIDgyLCAKLSAgICA4NiwgNjksIDE5NiwgNjcsIDg1LCA4MiwgODYsIDY5LCAxMjgsIDY3LCA4NSwgODIsIDg2LCAxOTcsIDY3LCA4NSwgODIsIAotICAgIDgzLCA3MywgODYsIDE5NywgNjcsIDg1LCA4MiwgODIsIDIxNywgNjcsIDg1LCA4MiwgODIsIDY5LCA3OCwgODQsIDEyOCwgCi0gICAgNjcsIDg1LCA4MiwgODIsIDY5LCA3OCwgMjEyLCA2NywgODUsIDgyLCA3NiwgMjE3LCA2NywgODUsIDgyLCA3NiwgMTI4LCAKLSAgICA2NywgODUsIDgyLCAxMjgsIDY3LCA4NSwgODAsIDEyOCwgNjcsIDg1LCA3OSwgODgsIDEyOCwgNjcsIDg1LCA3OSwgODAsIAotICAgIDEyOCwgNjcsIDg1LCA3OSwgMTI4LCA2NywgODUsIDIwNSwgNjcsIDg1LCA2NiwgNjksIDY4LCAxMjgsIDY3LCA4NSwgNjYsIAotICAgIDE5NywgNjcsIDg1LCA2NSwgODQsIDgyLCA3MywgNzYsIDc2LCA3OSwgMTI4LCA2NywgODUsIDY1LCA4NCwgODIsIDczLCA3NiwgCi0gICAgNzYsIDIwNywgNjcsIDg1LCAxMjgsIDY3LCA4MywgNzMsIDEyOCwgNjcsIDgyLCA4OSwgODMsIDg0LCA2NSwgMjA0LCA2NywgCi0gICAgODIsIDg5LCA4MCwgODQsIDc5LCA3MSwgODIsIDY1LCA3NywgNzcsIDczLCAxOTUsIDY3LCA4MiwgODksIDczLCA3OCwgMTk5LCAKLSAgICA2NywgODIsIDg1LCA5MCwgNjksIDczLCA4MiwgMjA3LCA2NywgODIsIDg1LCA2NywgNzMsIDY2LCA3NiwgNjksIDQ1LCA1MywgCi0gICAgMTI4LCA2NywgODIsIDg1LCA2NywgNzMsIDY2LCA3NiwgNjksIDQ1LCA1MiwgMTI4LCA2NywgODIsIDg1LCA2NywgNzMsIDY2LCAKLSAgICA3NiwgNjksIDQ1LCA1MSwgMTI4LCA2NywgODIsIDg1LCA2NywgNzMsIDY2LCA3NiwgNjksIDQ1LCA1MCwgMTI4LCA2NywgODIsIAotICAgIDg1LCA2NywgNzMsIDY2LCA3NiwgNjksIDEyOCwgNjcsIDgyLCA3OSwgODcsIDc4LCAxMjgsIDY3LCA4MiwgNzksIDgzLCA4MywgCi0gICAgNzMsIDc4LCA3MSwgMTI4LCA2NywgODIsIDc5LCA4MywgODMsIDczLCA3OCwgMTk5LCA2NywgODIsIDc5LCA4MywgODMsIDcyLCAKLSAgICA2NSwgODQsIDY3LCAyMDAsIDY3LCA4MiwgNzksIDgzLCA4MywgNjksIDY4LCA0NSwgODQsIDY1LCA3MywgNzYsIDEyOCwgNjcsIAotICAgIDgyLCA3OSwgODMsIDgzLCA2OSwgMTk2LCA2NywgODIsIDc5LCA4MywgODMsIDY2LCA3OSwgNzgsIDY5LCA4MywgMTI4LCA2NywgCi0gICAgODIsIDc5LCA4MywgODMsIDEyOCwgNjcsIDgyLCA3OSwgODMsIDIxMSwgNjcsIDgyLCA3OSwgODAsIDEyOCwgNjcsIDgyLCAKLSAgICA3OSwgNzMsIDg4LCAxMjgsIDY3LCA4MiwgNzksIDY3LCA4NSwgMjExLCA2NywgODIsIDc5LCA2NywgNzksIDY4LCA3MywgNzYsIAotICAgIDY5LCAxMjgsIDY3LCA4MiwgNjksIDgzLCA2NywgNjksIDc4LCA4NCwgMTI4LCA2NywgODIsIDY5LCA4MywgNjcsIDY5LCA3OCwgCi0gICAgMjEyLCA2NywgODIsIDY5LCA2OCwgNzMsIDIxMiwgNjcsIDgyLCA2OSwgNjUsIDg0LCA3MywgODYsIDE5NywgNjcsIDgyLCAKLSAgICA2OSwgNjUsIDc3LCAxMjgsIDY3LCA4MiwgNjUsIDY3LCA3NSwgNjksIDgyLCAxMjgsIDY3LCA4MiwgMTI4LCA2NywgNzksIAotICAgIDg4LCAxMjgsIDY3LCA3OSwgODcsIDEyOCwgNjcsIDc5LCAyMTUsIDY3LCA3OSwgODYsIDY5LCA4MiwgMTI4LCA2NywgNzksIAotICAgIDg1LCA4MCwgNzYsIDE5NywgNjcsIDc5LCA4NSwgNzgsIDg0LCA3MywgNzgsIDE5OSwgNjcsIDc5LCA4NSwgNzgsIDg0LCA2OSwgCi0gICAgODIsIDgzLCA3MywgNzgsIDc1LCAxMjgsIDY3LCA3OSwgODUsIDc4LCA4NCwgNjksIDgyLCA2NiwgNzksIDgyLCA2OSwgMTI4LCAKLSAgICA2NywgNzksIDg1LCA3OCwgNjcsIDczLCAyMDQsIDY3LCA3OSwgODQsIDEyOCwgNjcsIDc5LCA4MiwgODIsIDY5LCA4MywgODAsIAotICAgIDc5LCA3OCwgNjgsIDIxMSwgNjcsIDc5LCA4MiwgODIsIDY5LCA2NywgODQsIDEyOCwgNjcsIDc5LCA4MiwgODAsIDgzLCA2OSwgCi0gICAgMTI4LCA2NywgNzksIDgyLCA4MCwgNzksIDgyLCA2NSwgODQsIDczLCA3OSwgNzgsIDEyOCwgNjcsIDc5LCA4MiwgNzksIDc4LCAKLSAgICA3MywgODMsIDEyOCwgNjcsIDc5LCA4MiwgNzgsIDY5LCA4MiwgODMsIDEyOCwgNjcsIDc5LCA4MiwgNzgsIDY5LCA4MiwgCi0gICAgMTI4LCA2NywgNzksIDgyLCA3OCwgNjksIDIxMCwgNjcsIDc5LCA4MCwgODksIDgyLCA3MywgNzEsIDcyLCA4NCwgMTI4LCAKLSAgICA2NywgNzksIDgwLCA4OSwgODIsIDczLCA3MSwgNzIsIDIxMiwgNjcsIDc5LCA4MCwgODksIDEyOCwgNjcsIDc5LCA4MCwgODIsIAotICAgIDc5LCA2OCwgODUsIDY3LCA4NCwgMTI4LCA2NywgNzksIDgwLCA4MCwgNjksIDgyLCA0NSwgNTAsIDEyOCwgNjcsIDc5LCA4MCwgCi0gICAgODAsIDY5LCA4MiwgMTI4LCA2NywgNzksIDgwLCAxMjgsIDY3LCA3OSwgNzksIDc2LCAxMjgsIDY3LCA3OSwgNzksIDc1LCAKLSAgICA3MywgNzgsIDcxLCAxMjgsIDY3LCA3OSwgNzksIDc1LCA3MywgNjksIDEyOCwgNjcsIDc5LCA3OSwgNzUsIDY5LCAxOTYsIAotICAgIDY3LCA3OSwgNzksIDEyOCwgNjcsIDc5LCA3OCwgODYsIDY5LCA4MiwgNzEsIDczLCA3OCwgMTk5LCA2NywgNzksIDc4LCA4NiwgCi0gICAgNjksIDc4LCA3MywgNjksIDc4LCA2NywgMTk3LCA2NywgNzksIDc4LCA4NCwgODIsIDc5LCA3NiwgMTI4LCA2NywgNzksIDc4LCAKLSAgICA4NCwgODIsIDc5LCAyMDQsIDY3LCA3OSwgNzgsIDg0LCA4MiwgNjUsIDgyLCA3MywgNjksIDg0LCA4OSwgMTI4LCA2NywgNzksIAotICAgIDc4LCA4NCwgODIsIDY1LCA2NywgODQsIDczLCA3OSwgNzgsIDEyOCwgNjcsIDc5LCA3OCwgODQsIDc5LCA4NSwgODIsIDY5LCAKLSAgICAxOTYsIDY3LCA3OSwgNzgsIDg0LCA3OSwgODUsIDIxMCwgNjcsIDc5LCA3OCwgODQsIDY5LCA3OCwgODQsIDczLCA3OSwgNzgsIAotICAgIDEyOCwgNjcsIDc5LCA3OCwgODQsIDY5LCA3NywgODAsIDc2LCA2NSwgODQsIDczLCA3OSwgNzgsIDEyOCwgNjcsIDc5LCA3OCwgCi0gICAgODQsIDY1LCA3MywgNzgsIDIxMSwgNjcsIDc5LCA3OCwgODQsIDY1LCA3MywgNzgsIDczLCA3OCwgMTk5LCA2NywgNzksIDc4LCAKLSAgICA4NCwgNjUsIDczLCAyMDYsIDY3LCA3OSwgNzgsIDg0LCA2NSwgNjcsIDg0LCAxMjgsIDY3LCA3OSwgNzgsIDgzLCA4NCwgODIsIAotICAgIDg1LCA2NywgODQsIDczLCA3OSwgMjA2LCA2NywgNzksIDc4LCA4MywgODQsIDY1LCA3OCwgODQsIDEyOCwgNjcsIDc5LCA3OCwgCi0gICAgODMsIDg0LCA2NSwgNzgsIDIxMiwgNjcsIDc5LCA3OCwgODMsIDg0LCA2NSwgNzgsIDY3LCA4OSwgMTI4LCA2NywgNzksIDc4LCAKLSAgICA4MywgNjksIDY3LCA4NSwgODQsIDczLCA4NiwgMTk3LCA2NywgNzksIDc4LCA3NCwgODUsIDc4LCA2NywgODQsIDczLCA3OSwgCi0gICAgNzgsIDEyOCwgNjcsIDc5LCA3OCwgNzQsIDg1LCA3MSwgNjUsIDg0LCAxOTcsIDY3LCA3OSwgNzgsIDc0LCA3OSwgNzMsIDc4LCAKLSAgICA3MywgNzgsIDE5OSwgNjcsIDc5LCA3OCwgNzMsIDY3LCA2NSwgMjA0LCA2NywgNzksIDc4LCA3MSwgODIsIDg1LCA2OSwgNzgsIAotICAgIDIxMiwgNjcsIDc5LCA3OCwgNzEsIDgyLCA2NSwgODQsIDg1LCA3NiwgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDY3LCA3OSwgCi0gICAgNzgsIDcwLCA4NSwgODMsIDY5LCAxOTYsIDY3LCA3OSwgNzgsIDcwLCA3OSwgODUsIDc4LCA2OCwgNjksIDE5NiwgNjcsIDc5LCAKLSAgICA3OCwgNzAsIDc2LCA3MywgNjcsIDg0LCAxMjgsIDY3LCA3OSwgNzgsIDcwLCA2OSwgODQsIDg0LCAyMDEsIDY3LCA3OSwgNzgsIAotICAgIDY3LCA2NSwgODYsIDY5LCA0NSwgODMsIDczLCA2OCwgNjksIDE5NiwgNjcsIDc5LCA3OCwgNjcsIDY1LCA4NiwgNjksIDQ1LCAKLSAgICA4MCwgNzksIDczLCA3OCwgODQsIDY5LCAxOTYsIDY3LCA3OSwgNzgsIDEyOCwgNjcsIDc5LCA3NywgODAsIDg1LCA4NCwgNjksIAotICAgIDgyLCAxMjgsIDY3LCA3OSwgNzcsIDgwLCA3OSwgODMsIDczLCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA2NywgNzksIDc3LCA4MCwgCi0gICAgNzksIDgzLCA3MywgODQsIDczLCA3OSwgMjA2LCA2NywgNzksIDc3LCA4MCwgNzYsIDczLCA2NSwgNzgsIDY3LCA2OSwgMTI4LCAKLSAgICA2NywgNzksIDc3LCA4MCwgNzYsIDY5LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA2NywgNzksIDc3LCA4MCwgNzYsIDY5LCA4NCwgCi0gICAgNjksIDY4LCAxMjgsIDY3LCA3OSwgNzcsIDgwLCA3NiwgNjksIDc3LCA2OSwgNzgsIDg0LCAxMjgsIDY3LCA3OSwgNzcsIDgwLCAKLSAgICA2NSwgODIsIDY5LCAxMjgsIDY3LCA3OSwgNzcsIDc3LCA3OSwgMjA2LCA2NywgNzksIDc3LCA3NywgNjksIDgyLCA2NywgNzMsIAotICAgIDY1LCAyMDQsIDY3LCA3OSwgNzcsIDc3LCA2NSwgNzgsIDY4LCAxMjgsIDY3LCA3OSwgNzcsIDc3LCA2NSwgMTI4LCA2NywgCi0gICAgNzksIDc3LCA3NywgMTkzLCA2NywgNzksIDc3LCA2OSwgODQsIDEyOCwgNjcsIDc5LCA3NywgNjYsIDEyOCwgNjcsIDc5LCAKLSAgICA3NiwgODUsIDc3LCA3OCwgMTI4LCA2NywgNzksIDc2LCA3OSwgODIsIDEyOCwgNjcsIDc5LCA3NiwgNzYsIDczLCA4MywgNzMsIAotICAgIDc5LCAyMDYsIDY3LCA3OSwgNzYsIDc2LCAxMjgsIDY3LCA3OSwgNzYsIDE5NiwgNjcsIDc5LCA3MCwgNzAsIDczLCA3OCwgCi0gICAgMTI4LCA2NywgNzksIDY5LCA3OCwgNzEsIDEyOCwgNjcsIDc5LCA2OSwgNzgsIDE5OSwgNjcsIDc5LCA2OCwgNjUsIDEyOCwgCi0gICAgNjcsIDc5LCA2NywgNzUsIDg0LCA2NSwgNzMsIDIwNCwgNjcsIDc5LCA2NSwgODMsIDg0LCA2OSwgODIsIDEyOCwgNjcsIDc5LCAKLSAgICA2NSwgMTI4LCA2NywgNzksIDEyOCwgNjcsIDc3LCAxMjgsIDY3LCAyMDUsIDY3LCA3NiwgODUsIDgzLCA4NCwgNjksIDIxMCwgCi0gICAgNjcsIDc2LCA4NSwgNjYsIDgzLCAxMjgsIDY3LCA3NiwgODUsIDY2LCA0NSwgODMsIDgwLCA3OSwgNzUsIDY5LCAxOTYsIDY3LCAKLSAgICA3NiwgODUsIDY2LCAxMjgsIDY3LCA3NiwgODUsIDE5NCwgNjcsIDc2LCA3OSwgODYsIDY5LCA4MiwgMTI4LCA2NywgNzYsIAotICAgIDc5LCA4NSwgNjgsIDEyOCwgNjcsIDc2LCA3OSwgODUsIDE5NiwgNjcsIDc2LCA3OSwgODQsIDcyLCA2OSwgODMsIDEyOCwgCi0gICAgNjcsIDc2LCA3OSwgODQsIDcyLCAxMjgsIDY3LCA3NiwgNzksIDgzLCA2OSwgODQsIDEyOCwgNjcsIDc2LCA3OSwgODMsIDY5LCAKLSAgICA3OCwgNjksIDgzLCA4MywgMTI4LCA2NywgNzYsIDc5LCA4MywgNjksIDY4LCAxMjgsIDY3LCA3NiwgNzksIDgzLCAxOTcsIAotICAgIDY3LCA3NiwgNzksIDY3LCA3NSwgODcsIDczLCA4MywgMTk3LCA2NywgNzYsIDc5LCA2NywgMjAzLCA2NywgNzYsIDczLCA4NiwgCi0gICAgNzMsIDgzLCAxMjgsIDY3LCA3NiwgNzMsIDgwLCA2NiwgNzksIDY1LCA4MiwgNjgsIDEyOCwgNjcsIDc2LCA3MywgNzgsIDc1LCAKLSAgICA3MywgNzgsIDE5OSwgNjcsIDc2LCA3MywgNzgsIDcxLCA3MywgNzgsIDE5OSwgNjcsIDc2LCA3MywgNzcsIDY1LCA2NywgODUsIAotICAgIDgzLCAxMjgsIDY3LCA3NiwgNzMsIDcwLCA3MCwgMTI4LCA2NywgNzYsIDczLCA2NywgNzUsIDEyOCwgNjcsIDc2LCA2OSwgCi0gICAgNzAsIDQ1LCA1MCwgMTI4LCA2NywgNzYsIDY5LCA3MCwgNDUsIDQ5LCAxMjgsIDY3LCA3NiwgNjksIDcwLCAxMjgsIDY3LCAKLSAgICA3NiwgNjksIDE5OCwgNjcsIDc2LCA2OSwgNjUsIDg2LCA2OSwgODIsIDEyOCwgNjcsIDc2LCA2OSwgNjUsIDIxMCwgNjcsIAotICAgIDc2LCA2NSwgODcsIDEyOCwgNjcsIDc2LCA2NSwgODAsIDgwLCA3MywgNzgsIDE5OSwgNjcsIDc2LCA2NSwgODAsIDgwLCA2OSwgCi0gICAgMjEwLCA2NywgNzYsIDY1LCA3OCwgMTI4LCA2NywgNzYsIDY1LCA3MywgNzcsIDEyOCwgNjcsIDc2LCAxMjgsIDY3LCA3MywgCi0gICAgODgsIDEyOCwgNjcsIDczLCA4NiwgNzMsIDc2LCA3MywgNjUsIDc4LCAxMjgsIDY3LCA3MywgODQsIDg5LCA4MywgNjcsIDY1LCAKLSAgICA4MCwgMTk3LCA2NywgNzMsIDg0LCAxMjgsIDY3LCA3MywgODIsIDY3LCA4NSwgMjExLCA2NywgNzMsIDgyLCA2NywgODUsIAotICAgIDc3LCA3MCwgNzYsIDY5LCA4OCwgMTI4LCA2NywgNzMsIDgyLCA2NywgODUsIDc3LCA3MCwgNzYsIDY5LCAyMTYsIDY3LCA3MywgCi0gICAgODIsIDY3LCA4NSwgNzYsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDY3LCA3MywgODIsIDY3LCA3NiwgNjksIDgzLCAxMjgsIDY3LCAKLSAgICA3MywgODIsIDY3LCA3NiwgNjksIDEyOCwgNjcsIDczLCA4MCwgMTI4LCA2NywgNzMsIDc4LCA3OCwgNjUsIDY2LCA2NSwgODIsIAotICAgIDEyOCwgNjcsIDczLCA3OCwgNjksIDc3LCA2NSwgMTI4LCA2NywgNzMsIDczLCAxMjgsIDY3LCA3MywgNjksIDg4LCAxMjgsIAotICAgIDY3LCA3MywgNjksIDg1LCA2NywgNDUsIDgzLCA4MywgNjUsIDc4LCA3MSwgODAsIDczLCA2OSwgODUsIDgwLCAxMjgsIDY3LCAKLSAgICA3MywgNjksIDg1LCA2NywgNDUsIDgwLCA3MywgNjksIDg1LCA4MCwgMTI4LCA2NywgNzMsIDY5LCA4NSwgNjcsIDQ1LCA3MywgCi0gICAgNjksIDg1LCA3OCwgNzEsIDEyOCwgNjcsIDczLCA2OSwgODUsIDE5NSwgNjcsIDczLCA2OSwgODQsIDEyOCwgNjcsIDczLCAKLSAgICA2OSwgODAsIDEyOCwgNjcsIDczLCA2OSwgMTI4LCA2NywgNzIsIDg5LCA4OCwgMTI4LCA2NywgNzIsIDg5LCA4NCwgMTI4LCAKLSAgICA2NywgNzIsIDg5LCA4MiwgODgsIDEyOCwgNjcsIDcyLCA4OSwgODIsIDEyOCwgNjcsIDcyLCA4OSwgODAsIDEyOCwgNjcsIAotICAgIDcyLCA4NSwgODgsIDEyOCwgNjcsIDcyLCA4NSwgODIsIDg4LCAxMjgsIDY3LCA3MiwgODUsIDgyLCA2NywgNzIsIDEyOCwgCi0gICAgNjcsIDcyLCA4NSwgODIsIDEyOCwgNjcsIDcyLCA4NSwgODAsIDEyOCwgNjcsIDcyLCA4NSwgNzksIDg4LCAxMjgsIDY3LCAKLSAgICA3MiwgODUsIDc5LCA4NCwgMTI4LCA2NywgNzIsIDg1LCA3OSwgODAsIDEyOCwgNjcsIDcyLCA4NSwgNzksIDEyOCwgNjcsIAotICAgIDcyLCA4NSwgNzYsIDY1LCAxMjgsIDY3LCA3MiwgODUsIDEyOCwgNjcsIDcyLCA4MiwgODksIDgzLCA2NSwgNzgsIDg0LCA3MiwgCi0gICAgNjksIDc3LCA4NSwgNzcsIDEyOCwgNjcsIDcyLCA4MiwgNzksIDc4LCA3OSwgODUsIDEyOCwgNjcsIDcyLCA4MiwgNzksIDc4LCAKLSAgICA3OSwgNzgsIDEyOCwgNjcsIDcyLCA4MiwgNzksIDc3LCAxOTMsIDY3LCA3MiwgODIsIDc5LCAxOTMsIDY3LCA3MiwgODIsIAotICAgIDczLCA4NiwgNzMsIDEyOCwgNjcsIDcyLCA4MiwgNzMsIDgzLCA4NCwgNzcsIDY1LCA4MywgMTI4LCA2NywgNzIsIDgyLCA3MywgCi0gICAgODMsIDg0LCA3NywgNjUsIDIxMSwgNjcsIDcyLCA3OSwgODgsIDEyOCwgNjcsIDcyLCA3OSwgODQsIDEyOCwgNjcsIDcyLCAKLSAgICA3OSwgODIsIDY5LCA4NiwgNzcsIDE5MywgNjcsIDcyLCA3OSwgODAsIDEyOCwgNjcsIDcyLCA3OSwgNzUsIDY5LCAxMjgsIAotICAgIDY3LCA3MiwgNzksIDY5LCAxMjgsIDY3LCA3MiwgNzksIDY3LCA3OSwgNzYsIDY1LCA4NCwgMTk3LCA2NywgNzIsIDc5LCA2NSwgCi0gICAgMTI4LCA2NywgNzIsIDIwNywgNjcsIDcyLCA3MywgODQsIDg1LCA2OSwgODUsIDc3LCA4MywgODMsIDY1LCA3OCwgNzEsIDgzLCAKLSAgICA3MywgNzksIDgzLCAxMjgsIDY3LCA3MiwgNzMsIDg0LCA4NSwgNjksIDg1LCA3NywgODMsIDgzLCA2NSwgNzgsIDcxLCA2NywgCi0gICAgNzMsIDY5LCA4NSwgNjcsIDEyOCwgNjcsIDcyLCA3MywgODQsIDg1LCA2OSwgODUsIDc3LCA4MywgNzMsIDc5LCA4MywgMTI4LCAKLSAgICA2NywgNzIsIDczLCA4NCwgODUsIDY5LCA4NSwgNzcsIDY3LCA3MywgNjksIDg1LCA2NywgMTI4LCA2NywgNzIsIDczLCA4NCwgCi0gICAgODUsIDY5LCA4NSwgNzcsIDY3LCA3MiwgNzMsIDY5LCA4NSwgNjcsIDcyLCAxMjgsIDY3LCA3MiwgNzMsIDgyLCA3OSwgNzgsIAotICAgIDEyOCwgNjcsIDcyLCA3MywgODIsIDY5LCA4NCwgMTI4LCA2NywgNzIsIDczLCA3OCwgNzEsIDEyOCwgNjcsIDcyLCA3MywgCi0gICAgNzgsIDY5LCA4MywgMTk3LCA2NywgNzIsIDczLCA3OCwgMTI4LCA2NywgNzIsIDczLCA3NywgNjksIDEyOCwgNjcsIDcyLCAKLSAgICA3MywgNzYsIDc2LCAyMTMsIDY3LCA3MiwgNzMsIDc2LCA2OCwgODIsIDY5LCAyMDYsIDY3LCA3MiwgNzMsIDc2LCA2OCwgCi0gICAgMTI4LCA2NywgNzIsIDczLCA3NiwgMTI4LCA2NywgNzIsIDczLCA3NSwgMjAxLCA2NywgNzIsIDczLCA2OSwgODUsIDY3LCAKLSAgICA3MiwgNDUsIDc1LCA3MiwgNzMsIDY5LCA4NSwgNzUsIDcyLCAxMjgsIDY3LCA3MiwgNzMsIDY5LCA4NSwgNjcsIDcyLCA0NSwgCi0gICAgNzIsIDczLCA2OSwgODUsIDcyLCAxMjgsIDY3LCA3MiwgNzMsIDY5LCA4NSwgNjcsIDIwMCwgNjcsIDcyLCA3MywgNjcsIDc1LCAKLSAgICA2OSwgNzgsIDEyOCwgNjcsIDcyLCA3MywgNjcsIDc1LCAxMjgsIDY3LCA3MiwgNzMsIDEyOCwgNjcsIDcyLCAyMDEsIDY3LCAKLSAgICA3MiwgNzIsIDY1LCAxMjgsIDY3LCA3MiwgNjksIDg4LCAxMjgsIDY3LCA3MiwgNjksIDg2LCA4MiwgNzksIDIwNiwgNjcsIAotICAgIDcyLCA2OSwgODQsIDEyOCwgNjcsIDcyLCA2OSwgODMsIDg0LCA3OCwgODUsIDg0LCAxMjgsIDY3LCA3MiwgNjksIDgzLCAKLSAgICAyMTEsIDY3LCA3MiwgNjksIDgyLCA4MiwgMjE3LCA2NywgNzIsIDY5LCA4MiwgODIsIDczLCA2OSwgODMsIDEyOCwgNjcsIAorICAgIDY4LCA2NSwgNzMsIDEyOCwgNjgsIDY1LCA3MiwgODksIDY1LCA2NSwgODUsIDgzLCA3MiwgNDUsIDUwLCAxMjgsIDY4LCA2NSwgCisgICAgNzIsIDg5LCA2NSwgNjUsIDg1LCA4MywgNzIsIDEyOCwgNjgsIDY1LCA3MSwgODMsIDEyOCwgNjgsIDY1LCA3MSwgNzEsIDY5LCAKKyAgICA4MiwgMTI4LCA2OCwgNjUsIDcxLCA3MSwgNjksIDIxMCwgNjgsIDY1LCA3MSwgNjksIDgzLCA3MiwgMTI4LCA2OCwgNjUsIAorICAgIDcxLCA2OSwgODMsIDIwMCwgNjgsIDY1LCA3MSwgNjYsIDY1LCA4MywgNzMsIDc4LCA3OCwgNjUsIDEyOCwgNjgsIDY1LCA3MSwgCisgICAgNjUsIDIxOCwgNjgsIDY1LCA3MSwgNjUsIDc2LCA3MSwgNjUsIDEyOCwgNjgsIDY1LCA3MSwgNTEsIDEyOCwgNjgsIDY1LCAKKyAgICAxOTksIDY4LCA2NSwgNjksIDc4LCA3MSwgMTI4LCA2OCwgNjUsIDY5LCAxOTksIDY4LCA2NSwgNjgsIDEyOCwgNjgsIDY1LCAKKyAgICAxOTYsIDY4LCA2NSwgNjUsIDgzLCA4NSwgMTI4LCA2OCwgNjUsIDY1LCA2OCwgNzIsIDg1LCAxMjgsIDY4LCA0OCwgNTQsIAorICAgIDU1LCA3MiwgMTI4LCA2OCwgNDgsIDU0LCA1NSwgNzEsIDEyOCwgNjgsIDQ4LCA1NCwgNTUsIDcwLCAxMjgsIDY4LCA0OCwgCisgICAgNTQsIDU1LCA2OSwgMTI4LCA2OCwgNDgsIDU0LCA1NSwgNjgsIDEyOCwgNjgsIDQ4LCA1NCwgNTUsIDY3LCAxMjgsIDY4LCAKKyAgICA0OCwgNTQsIDU1LCA2NiwgMTI4LCA2OCwgNDgsIDU0LCA1NSwgNjUsIDEyOCwgNjgsIDQ4LCA1NCwgNTUsIDEyOCwgNjgsIAorICAgIDQ4LCA1NCwgNTQsIDEyOCwgNjgsIDQ4LCA1NCwgNTMsIDEyOCwgNjgsIDQ4LCA1NCwgNTIsIDEyOCwgNjgsIDQ4LCA1NCwgCisgICAgNTEsIDEyOCwgNjgsIDQ4LCA1NCwgNTAsIDEyOCwgNjgsIDQ4LCA1NCwgNDksIDEyOCwgNjgsIDQ4LCA1NCwgNDgsIDEyOCwgCisgICAgNjgsIDQ4LCA1MywgNTcsIDEyOCwgNjgsIDQ4LCA1MywgNTYsIDEyOCwgNjgsIDQ4LCA1MywgNTUsIDEyOCwgNjgsIDQ4LCAKKyAgICA1MywgNTQsIDEyOCwgNjgsIDQ4LCA1MywgNTMsIDEyOCwgNjgsIDQ4LCA1MywgNTIsIDY1LCAxMjgsIDY4LCA0OCwgNTMsIAorICAgIDUyLCAxMjgsIDY4LCA0OCwgNTMsIDUxLCAxMjgsIDY4LCA0OCwgNTMsIDUwLCA2NSwgMTI4LCA2OCwgNDgsIDUzLCA1MCwgCisgICAgMTI4LCA2OCwgNDgsIDUzLCA0OSwgMTI4LCA2OCwgNDgsIDUzLCA0OCwgNzMsIDEyOCwgNjgsIDQ4LCA1MywgNDgsIDcyLCAKKyAgICAxMjgsIDY4LCA0OCwgNTMsIDQ4LCA3MSwgMTI4LCA2OCwgNDgsIDUzLCA0OCwgNzAsIDEyOCwgNjgsIDQ4LCA1MywgNDgsIAorICAgIDY5LCAxMjgsIDY4LCA0OCwgNTMsIDQ4LCA2OCwgMTI4LCA2OCwgNDgsIDUzLCA0OCwgNjcsIDEyOCwgNjgsIDQ4LCA1MywgCisgICAgNDgsIDY2LCAxMjgsIDY4LCA0OCwgNTMsIDQ4LCA2NSwgMTI4LCA2OCwgNDgsIDUzLCA0OCwgMTI4LCA2OCwgNDgsIDUyLCAKKyAgICA1NywgMTI4LCA2OCwgNDgsIDUyLCA1NiwgNjUsIDEyOCwgNjgsIDQ4LCA1MiwgNTYsIDEyOCwgNjgsIDQ4LCA1MiwgNTUsIAorICAgIDEyOCwgNjgsIDQ4LCA1MiwgNTQsIDY1LCAxMjgsIDY4LCA0OCwgNTIsIDU0LCAxMjgsIDY4LCA0OCwgNTIsIDUzLCAxMjgsIAorICAgIDY4LCA0OCwgNTIsIDUyLCAxMjgsIDY4LCA0OCwgNTIsIDUxLCAxMjgsIDY4LCA0OCwgNTIsIDUwLCAxMjgsIDY4LCA0OCwgCisgICAgNTIsIDQ5LCAxMjgsIDY4LCA0OCwgNTIsIDQ4LCAxMjgsIDY4LCA0OCwgNTEsIDU3LCAxMjgsIDY4LCA0OCwgNTEsIDU2LCAKKyAgICAxMjgsIDY4LCA0OCwgNTEsIDU1LCAxMjgsIDY4LCA0OCwgNTEsIDU0LCAxMjgsIDY4LCA0OCwgNTEsIDUzLCAxMjgsIDY4LCAKKyAgICA0OCwgNTEsIDUyLCA2NSwgMTI4LCA2OCwgNDgsIDUxLCA1MiwgMTI4LCA2OCwgNDgsIDUxLCA1MSwgMTI4LCA2OCwgNDgsIAorICAgIDUxLCA1MCwgMTI4LCA2OCwgNDgsIDUxLCA0OSwgNjUsIDEyOCwgNjgsIDQ4LCA1MSwgNDksIDEyOCwgNjgsIDQ4LCA1MSwgCisgICAgNDgsIDEyOCwgNjgsIDQ4LCA1MCwgNTcsIDEyOCwgNjgsIDQ4LCA1MCwgNTYsIDEyOCwgNjgsIDQ4LCA1MCwgNTUsIDY1LCAKKyAgICAxMjgsIDY4LCA0OCwgNTAsIDU1LCAxMjgsIDY4LCA0OCwgNTAsIDU0LCAxMjgsIDY4LCA0OCwgNTAsIDUzLCAxMjgsIDY4LCAKKyAgICA0OCwgNTAsIDUyLCAxMjgsIDY4LCA0OCwgNTAsIDUxLCAxMjgsIDY4LCA0OCwgNTAsIDUwLCAxMjgsIDY4LCA0OCwgNTAsIAorICAgIDQ5LCAxMjgsIDY4LCA0OCwgNTAsIDQ4LCAxMjgsIDY4LCA0OCwgNDksIDU3LCAxMjgsIDY4LCA0OCwgNDksIDU2LCAxMjgsIAorICAgIDY4LCA0OCwgNDksIDU1LCAxMjgsIDY4LCA0OCwgNDksIDU0LCAxMjgsIDY4LCA0OCwgNDksIDUzLCAxMjgsIDY4LCA0OCwgCisgICAgNDksIDUyLCAxMjgsIDY4LCA0OCwgNDksIDUxLCAxMjgsIDY4LCA0OCwgNDksIDUwLCAxMjgsIDY4LCA0OCwgNDksIDQ5LCAKKyAgICAxMjgsIDY4LCA0OCwgNDksIDQ4LCAxMjgsIDY4LCA0OCwgNDgsIDU3LCAxMjgsIDY4LCA0OCwgNDgsIDU2LCA2NSwgMTI4LCAKKyAgICA2OCwgNDgsIDQ4LCA1NiwgMTI4LCA2OCwgNDgsIDQ4LCA1NSwgMTI4LCA2OCwgNDgsIDQ4LCA1NCwgMTI4LCA2OCwgNDgsIAorICAgIDQ4LCA1MywgMTI4LCA2OCwgNDgsIDQ4LCA1MiwgMTI4LCA2OCwgNDgsIDQ4LCA1MSwgMTI4LCA2OCwgNDgsIDQ4LCA1MCwgCisgICAgMTI4LCA2OCwgNDgsIDQ4LCA0OSwgMTI4LCA2NywgODksIDg4LCAxMjgsIDY3LCA4OSwgODQsIDEyOCwgNjcsIDg5LCA4MiwgCisgICAgODgsIDEyOCwgNjcsIDg5LCA4MiwgNjksIDc4LCA2NSwgNzMsIDE5NSwgNjcsIDg5LCA4MiwgMTI4LCA2NywgODksIDgwLCAKKyAgICA4MiwgNzMsIDc5LCAyMTIsIDY3LCA4OSwgODAsIDY5LCA4MiwgODUsIDgzLCAxMjgsIDY3LCA4OSwgODAsIDEyOCwgNjcsIAorICAgIDg5LCA3NiwgNzMsIDc4LCA2OCwgODIsIDczLCA2NywgNzMsIDg0LCA4OSwgMTI4LCA2NywgODksIDY3LCA3NiwgNzksIDc4LCAKKyAgICA2OSwgMTI4LCA2NywgODksIDY1LCA4OSwgMTI4LCA2NywgODksIDY1LCA4NywgMTI4LCA2NywgODksIDY1LCAxMjgsIDY3LCAKKyAgICA4NywgNzksIDc5LCAxMjgsIDY3LCA4NywgNzksIDEyOCwgNjcsIDg3LCA3MywgNzMsIDEyOCwgNjcsIDg3LCA3MywgMTI4LCAKKyAgICA2NywgODcsIDY5LCA3OSwgODIsIDg0LCA3MiwgMTI4LCA2NywgODcsIDY5LCAxMjgsIDY3LCA4NywgNjUsIDY1LCAxMjgsIAorICAgIDY3LCA4NSwgODgsIDEyOCwgNjcsIDg1LCA4NSwgMTI4LCA2NywgODUsIDIxMiwgNjcsIDg1LCA4MywgODQsIDc5LCA3NywgCisgICAgODMsIDEyOCwgNjcsIDg1LCA4MywgODQsIDc5LCA3NywgNjksIDIxMCwgNjcsIDg1LCA4MywgODQsIDY1LCA4MiwgNjgsIAorICAgIDEyOCwgNjcsIDg1LCA4MywgODAsIDEyOCwgNjcsIDg1LCA4MiwgODgsIDEyOCwgNjcsIDg1LCA4MiwgODYsIDczLCA3OCwgCisgICAgMTk5LCA2NywgODUsIDgyLCA4NiwgNjksIDE5NiwgNjcsIDg1LCA4MiwgODYsIDY5LCAxMjgsIDY3LCA4NSwgODIsIDg2LCAKKyAgICAxOTcsIDY3LCA4NSwgODIsIDgzLCA3MywgODYsIDE5NywgNjcsIDg1LCA4MiwgODIsIDIxNywgNjcsIDg1LCA4MiwgODIsIAorICAgIDY5LCA3OCwgODQsIDEyOCwgNjcsIDg1LCA4MiwgODIsIDY5LCA3OCwgMjEyLCA2NywgODUsIDgyLCA3NiwgMjE3LCA2NywgCisgICAgODUsIDgyLCA3NiwgMTI4LCA2NywgODUsIDgyLCAxMjgsIDY3LCA4NSwgODAsIDEyOCwgNjcsIDg1LCA3OSwgODgsIDEyOCwgCisgICAgNjcsIDg1LCA3OSwgODAsIDEyOCwgNjcsIDg1LCA3OSwgMTI4LCA2NywgODUsIDIwNSwgNjcsIDg1LCA2NiwgNjksIDY4LCAKKyAgICAxMjgsIDY3LCA4NSwgNjYsIDE5NywgNjcsIDg1LCA2NSwgODQsIDgyLCA3MywgNzYsIDc2LCA3OSwgMTI4LCA2NywgODUsIAorICAgIDY1LCA4NCwgODIsIDczLCA3NiwgNzYsIDIwNywgNjcsIDg1LCA2NSwgMjA1LCA2NywgODUsIDEyOCwgNjcsIDgzLCA3MywgCisgICAgMTI4LCA2NywgODIsIDg5LCA4MywgODQsIDY1LCAyMDQsIDY3LCA4MiwgODksIDgwLCA4NCwgNzksIDcxLCA4MiwgNjUsIDc3LCAKKyAgICA3NywgNzMsIDE5NSwgNjcsIDgyLCA4OSwgNzMsIDc4LCAxOTksIDY3LCA4MiwgODUsIDkwLCA2OSwgNzMsIDgyLCAyMDcsIAorICAgIDY3LCA4MiwgODUsIDY3LCA3MywgNzAsIDc5LCA4MiwgMjA1LCA2NywgODIsIDg1LCA2NywgNzMsIDY2LCA3NiwgNjksIDQ1LCAKKyAgICA1MywgMTI4LCA2NywgODIsIDg1LCA2NywgNzMsIDY2LCA3NiwgNjksIDQ1LCA1MiwgMTI4LCA2NywgODIsIDg1LCA2NywgNzMsIAorICAgIDY2LCA3NiwgNjksIDQ1LCA1MSwgMTI4LCA2NywgODIsIDg1LCA2NywgNzMsIDY2LCA3NiwgNjksIDQ1LCA1MCwgMTI4LCA2NywgCisgICAgODIsIDg1LCA2NywgNzMsIDY2LCA3NiwgNjksIDEyOCwgNjcsIDgyLCA3OSwgODcsIDc4LCAxMjgsIDY3LCA4MiwgNzksIDgzLCAKKyAgICA4MywgNzMsIDc4LCA3MSwgMTI4LCA2NywgODIsIDc5LCA4MywgODMsIDczLCA3OCwgMTk5LCA2NywgODIsIDc5LCA4MywgODMsIAorICAgIDcyLCA2NSwgODQsIDY3LCAyMDAsIDY3LCA4MiwgNzksIDgzLCA4MywgNjksIDY4LCA0NSwgODQsIDY1LCA3MywgNzYsIDEyOCwgCisgICAgNjcsIDgyLCA3OSwgODMsIDgzLCA2OSwgMTk2LCA2NywgODIsIDc5LCA4MywgODMsIDY2LCA3OSwgNzgsIDY5LCA4MywgMTI4LCAKKyAgICA2NywgODIsIDc5LCA4MywgODMsIDEyOCwgNjcsIDgyLCA3OSwgODMsIDIxMSwgNjcsIDgyLCA3OSwgODAsIDEyOCwgNjcsIAorICAgIDgyLCA3OSwgNzMsIDg4LCAxMjgsIDY3LCA4MiwgNzksIDY3LCA4NSwgMjExLCA2NywgODIsIDc5LCA2NywgNzksIDY4LCA3MywgCisgICAgNzYsIDY5LCAxMjgsIDY3LCA4MiwgNjksIDgzLCA2NywgNjksIDc4LCA4NCwgMTI4LCA2NywgODIsIDY5LCA4MywgNjcsIDY5LCAKKyAgICA3OCwgMjEyLCA2NywgODIsIDY5LCA2OCwgNzMsIDIxMiwgNjcsIDgyLCA2OSwgNjUsIDg0LCA3MywgODYsIDE5NywgNjcsIAorICAgIDgyLCA2OSwgNjUsIDc3LCAxMjgsIDY3LCA4MiwgNjUsIDg5LCA3OSwgNzgsIDEyOCwgNjcsIDgyLCA2NSwgNjcsIDc1LCA2OSwgCisgICAgODIsIDEyOCwgNjcsIDgyLCAxMjgsIDY3LCA3OSwgODgsIDEyOCwgNjcsIDc5LCA4NywgMTI4LCA2NywgNzksIDIxNSwgNjcsIAorICAgIDc5LCA4NiwgNjksIDgyLCAxMjgsIDY3LCA3OSwgODUsIDgwLCA3NiwgMTk3LCA2NywgNzksIDg1LCA3OCwgODQsIDczLCA3OCwgCisgICAgMTk5LCA2NywgNzksIDg1LCA3OCwgODQsIDY5LCA4MiwgODMsIDczLCA3OCwgNzUsIDEyOCwgNjcsIDc5LCA4NSwgNzgsIDg0LCAKKyAgICA2OSwgODIsIDY2LCA3OSwgODIsIDY5LCAxMjgsIDY3LCA3OSwgODUsIDc4LCA2NywgNzMsIDIwNCwgNjcsIDc5LCA4NSwgNjcsIAorICAgIDIwMCwgNjcsIDc5LCA4NCwgMTI4LCA2NywgNzksIDgyLCA4MiwgNjksIDgzLCA4MCwgNzksIDc4LCA2OCwgMjExLCA2NywgCisgICAgNzksIDgyLCA4MiwgNjksIDY3LCA4NCwgMTI4LCA2NywgNzksIDgyLCA4MCwgODMsIDY5LCAxMjgsIDY3LCA3OSwgODIsIDgwLCAKKyAgICA3OSwgODIsIDY1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA2NywgNzksIDgyLCA3OSwgNzgsIDczLCA4MywgMTI4LCA2NywgNzksIAorICAgIDgyLCA3OCwgNjksIDgyLCA4MywgMTI4LCA2NywgNzksIDgyLCA3OCwgNjksIDgyLCAxMjgsIDY3LCA3OSwgODIsIDc4LCA2OSwgCisgICAgMjEwLCA2NywgNzksIDgwLCA4OSwgODIsIDczLCA3MSwgNzIsIDg0LCAxMjgsIDY3LCA3OSwgODAsIDg5LCA4MiwgNzMsIDcxLCAKKyAgICA3MiwgMjEyLCA2NywgNzksIDgwLCA4OSwgMTI4LCA2NywgNzksIDgwLCA4MiwgNzksIDY4LCA4NSwgNjcsIDg0LCAxMjgsIAorICAgIDY3LCA3OSwgODAsIDgwLCA2OSwgODIsIDQ1LCA1MCwgMTI4LCA2NywgNzksIDgwLCA4MCwgNjksIDgyLCAxMjgsIDY3LCA3OSwgCisgICAgODAsIDEyOCwgNjcsIDc5LCA3OSwgNzYsIDEyOCwgNjcsIDc5LCA3OSwgNzUsIDczLCA3OCwgNzEsIDEyOCwgNjcsIDc5LCAKKyAgICA3OSwgNzUsIDczLCA2OSwgMTI4LCA2NywgNzksIDc5LCA3NSwgNjksIDE5NiwgNjcsIDc5LCA3OSwgMTI4LCA2NywgNzksIAorICAgIDc4LCA4NiwgNjksIDgyLCA3MSwgNzMsIDc4LCAxOTksIDY3LCA3OSwgNzgsIDg2LCA2OSwgNzgsIDczLCA2OSwgNzgsIDY3LCAKKyAgICAxOTcsIDY3LCA3OSwgNzgsIDg0LCA4MiwgNzksIDc2LCAxMjgsIDY3LCA3OSwgNzgsIDg0LCA4MiwgNzksIDIwNCwgNjcsIAorICAgIDc5LCA3OCwgODQsIDgyLCA2NSwgODIsIDczLCA2OSwgODQsIDg5LCAxMjgsIDY3LCA3OSwgNzgsIDg0LCA4MiwgNjUsIDY3LCAKKyAgICA4NCwgNzMsIDc5LCA3OCwgMTI4LCA2NywgNzksIDc4LCA4NCwgNzksIDg1LCA4MiwgNjksIDE5NiwgNjcsIDc5LCA3OCwgODQsIAorICAgIDc5LCA4NSwgMjEwLCA2NywgNzksIDc4LCA4NCwgNzMsIDc4LCA4NSwgNzMsIDc4LCAxOTksIDY3LCA3OSwgNzgsIDg0LCA2OSwgCisgICAgNzgsIDg0LCA3MywgNzksIDc4LCAxMjgsIDY3LCA3OSwgNzgsIDg0LCA2OSwgNzcsIDgwLCA3NiwgNjUsIDg0LCA3MywgNzksIAorICAgIDc4LCAxMjgsIDY3LCA3OSwgNzgsIDg0LCA2NSwgNzMsIDc4LCAyMTEsIDY3LCA3OSwgNzgsIDg0LCA2NSwgNzMsIDc4LCA3MywgCisgICAgNzgsIDE5OSwgNjcsIDc5LCA3OCwgODQsIDY1LCA3MywgMjA2LCA2NywgNzksIDc4LCA4NCwgNjUsIDY3LCA4NCwgMTI4LCAKKyAgICA2NywgNzksIDc4LCA4MywgODQsIDgyLCA4NSwgNjcsIDg0LCA3MywgNzksIDc4LCAxMjgsIDY3LCA3OSwgNzgsIDgzLCA4NCwgCisgICAgODIsIDg1LCA2NywgODQsIDczLCA3OSwgMjA2LCA2NywgNzksIDc4LCA4MywgODQsIDY1LCA3OCwgODQsIDEyOCwgNjcsIDc5LCAKKyAgICA3OCwgODMsIDg0LCA2NSwgNzgsIDIxMiwgNjcsIDc5LCA3OCwgODMsIDg0LCA2NSwgNzgsIDY3LCA4OSwgMTI4LCA2NywgNzksIAorICAgIDc4LCA4MywgNjksIDY3LCA4NSwgODQsIDczLCA4NiwgMTk3LCA2NywgNzksIDc4LCA3NCwgODUsIDc4LCA2NywgODQsIDczLCAKKyAgICA3OSwgNzgsIDEyOCwgNjcsIDc5LCA3OCwgNzQsIDg1LCA3MSwgNjUsIDg0LCAxOTcsIDY3LCA3OSwgNzgsIDc0LCA3OSwgNzMsIAorICAgIDc4LCA3MywgNzgsIDE5OSwgNjcsIDc5LCA3OCwgNzMsIDY3LCA2NSwgMjA0LCA2NywgNzksIDc4LCA3MSwgODIsIDg1LCA2OSwgCisgICAgNzgsIDIxMiwgNjcsIDc5LCA3OCwgNzEsIDgyLCA2NSwgODQsIDg1LCA3NiwgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDY3LCAKKyAgICA3OSwgNzgsIDcwLCA4NSwgODMsIDY5LCAxOTYsIDY3LCA3OSwgNzgsIDcwLCA3OSwgODUsIDc4LCA2OCwgNjksIDE5NiwgNjcsIAorICAgIDc5LCA3OCwgNzAsIDc2LCA3MywgNjcsIDg0LCAxMjgsIDY3LCA3OSwgNzgsIDcwLCA2OSwgODQsIDg0LCAyMDEsIDY3LCA3OSwgCisgICAgNzgsIDY3LCA2NSwgODYsIDY5LCA0NSwgODMsIDczLCA2OCwgNjksIDE5NiwgNjcsIDc5LCA3OCwgNjcsIDY1LCA4NiwgNjksIAorICAgIDQ1LCA4MCwgNzksIDczLCA3OCwgODQsIDY5LCAxOTYsIDY3LCA3OSwgNzcsIDgwLCA4NSwgODQsIDY5LCA4MiwgODMsIDEyOCwgCisgICAgNjcsIDc5LCA3NywgODAsIDg1LCA4NCwgNjksIDgyLCAxMjgsIDY3LCA3OSwgNzcsIDgwLCA4MiwgNjksIDgzLCA4MywgNzMsIAorICAgIDc5LCA3OCwgMTI4LCA2NywgNzksIDc3LCA4MCwgODIsIDY5LCA4MywgODMsIDY5LCAxOTYsIDY3LCA3OSwgNzcsIDgwLCA3OSwgCisgICAgODMsIDczLCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA2NywgNzksIDc3LCA4MCwgNzksIDgzLCA3MywgODQsIDczLCA3OSwgMjA2LCAKKyAgICA2NywgNzksIDc3LCA4MCwgNzYsIDczLCA2NSwgNzgsIDY3LCA2OSwgMTI4LCA2NywgNzksIDc3LCA4MCwgNzYsIDY5LCA4NCwgCisgICAgNzMsIDc5LCA3OCwgMTI4LCA2NywgNzksIDc3LCA4MCwgNzYsIDY5LCA4NCwgNjksIDY4LCAxMjgsIDY3LCA3OSwgNzcsIDgwLCAKKyAgICA3NiwgNjksIDc3LCA2OSwgNzgsIDg0LCAxMjgsIDY3LCA3OSwgNzcsIDgwLCA2NSwgODIsIDY5LCAxMjgsIDY3LCA3OSwgNzcsIAorICAgIDc3LCA3OSwgMjA2LCA2NywgNzksIDc3LCA3NywgNjksIDgyLCA2NywgNzMsIDY1LCAyMDQsIDY3LCA3OSwgNzcsIDc3LCA2NSwgCisgICAgNzgsIDY4LCAxMjgsIDY3LCA3OSwgNzcsIDc3LCA2NSwgMTI4LCA2NywgNzksIDc3LCA3NywgMTkzLCA2NywgNzksIDc3LCAKKyAgICA2OSwgODQsIDEyOCwgNjcsIDc5LCA3NywgNjYsIDEyOCwgNjcsIDc5LCA3NiwgODUsIDc3LCA3OCwgMTI4LCA2NywgNzksIAorICAgIDc2LCA3OSwgODIsIDEyOCwgNjcsIDc5LCA3NiwgNzYsIDczLCA4MywgNzMsIDc5LCAyMDYsIDY3LCA3OSwgNzYsIDc2LCAKKyAgICAxMjgsIDY3LCA3OSwgNzYsIDE5NiwgNjcsIDc5LCA3MCwgNzAsIDczLCA3OCwgMTI4LCA2NywgNzksIDY5LCA3OCwgNzEsIAorICAgIDEyOCwgNjcsIDc5LCA2OSwgNzgsIDE5OSwgNjcsIDc5LCA2OCwgNjUsIDEyOCwgNjcsIDc5LCA2NywgNzUsIDg0LCA2NSwgCisgICAgNzMsIDIwNCwgNjcsIDc5LCA2NSwgODMsIDg0LCA2OSwgODIsIDEyOCwgNjcsIDc5LCA2NSwgMTI4LCA2NywgNzksIDEyOCwgCisgICAgNjcsIDc3LCAxMjgsIDY3LCAyMDUsIDY3LCA3NiwgODUsIDgzLCA4NCwgNjksIDIxMCwgNjcsIDc2LCA4NSwgNjYsIDgzLCAKKyAgICAxMjgsIDY3LCA3NiwgODUsIDY2LCA0NSwgODMsIDgwLCA3OSwgNzUsIDY5LCAxOTYsIDY3LCA3NiwgODUsIDY2LCAxMjgsIAorICAgIDY3LCA3NiwgODUsIDE5NCwgNjcsIDc2LCA3OSwgODYsIDY5LCA4MiwgMTI4LCA2NywgNzYsIDc5LCA4NSwgNjgsIDEyOCwgCisgICAgNjcsIDc2LCA3OSwgODUsIDE5NiwgNjcsIDc2LCA3OSwgODQsIDcyLCA2OSwgODMsIDEyOCwgNjcsIDc2LCA3OSwgODQsIDcyLCAKKyAgICAxMjgsIDY3LCA3NiwgNzksIDgzLCA2OSwgODQsIDEyOCwgNjcsIDc2LCA3OSwgODMsIDY5LCA3OCwgNjksIDgzLCA4MywgCisgICAgMTI4LCA2NywgNzYsIDc5LCA4MywgNjksIDY4LCAxMjgsIDY3LCA3NiwgNzksIDgzLCAxOTcsIDY3LCA3NiwgNzksIDY3LCAKKyAgICA3NSwgODcsIDczLCA4MywgMTk3LCA2NywgNzYsIDc5LCA2NywgMjAzLCA2NywgNzYsIDczLCA4NiwgNzMsIDgzLCAxMjgsIAorICAgIDY3LCA3NiwgNzMsIDgwLCA2NiwgNzksIDY1LCA4MiwgNjgsIDEyOCwgNjcsIDc2LCA3MywgNzgsIDc1LCA3MywgNzgsIDE5OSwgCisgICAgNjcsIDc2LCA3MywgNzgsIDcxLCA3MywgNzgsIDE5OSwgNjcsIDc2LCA3MywgNzcsIDY1LCA2NywgODUsIDgzLCAxMjgsIDY3LCAKKyAgICA3NiwgNzMsIDcwLCA3MCwgMTI4LCA2NywgNzYsIDczLCA2NywgNzUsIDEyOCwgNjcsIDc2LCA2OSwgNzAsIDQ1LCA1MCwgCisgICAgMTI4LCA2NywgNzYsIDY5LCA3MCwgNDUsIDQ5LCAxMjgsIDY3LCA3NiwgNjksIDcwLCAxMjgsIDY3LCA3NiwgNjksIDE5OCwgCisgICAgNjcsIDc2LCA2OSwgNjUsIDg2LCA2OSwgODIsIDEyOCwgNjcsIDc2LCA2OSwgNjUsIDIxMCwgNjcsIDc2LCA2NSwgODcsIAorICAgIDEyOCwgNjcsIDc2LCA2NSwgODMsIDgzLCA3MywgNjcsIDY1LCAyMDQsIDY3LCA3NiwgNjUsIDgwLCA4MCwgNzMsIDc4LCAKKyAgICAxOTksIDY3LCA3NiwgNjUsIDgwLCA4MCwgNjksIDIxMCwgNjcsIDc2LCA2NSwgNzgsIDEyOCwgNjcsIDc2LCA2NSwgMjA2LCAKKyAgICA2NywgNzYsIDY1LCA3NywgODMsIDcyLCA2OSwgNzYsIDIwNCwgNjcsIDc2LCA2NSwgNzMsIDc3LCAxMjgsIDY3LCA3NiwgCisgICAgMTI4LCA2NywgNzMsIDg4LCAxMjgsIDY3LCA3MywgODYsIDczLCA3NiwgNzMsIDY1LCA3OCwgMTI4LCA2NywgNzMsIDg0LCAKKyAgICA4OSwgODMsIDY3LCA2NSwgODAsIDY5LCAxMjgsIDY3LCA3MywgODQsIDg5LCA4MywgNjcsIDY1LCA4MCwgMTk3LCA2NywgNzMsIAorICAgIDg0LCA2NSwgODQsIDczLCA3OSwgMjA2LCA2NywgNzMsIDg0LCAxMjgsIDY3LCA3MywgODIsIDY3LCA4NSwgMjExLCA2NywgCisgICAgNzMsIDgyLCA2NywgODUsIDc3LCA3MCwgNzYsIDY5LCA4OCwgMTI4LCA2NywgNzMsIDgyLCA2NywgODUsIDc3LCA3MCwgNzYsIAorICAgIDY5LCAyMTYsIDY3LCA3MywgODIsIDY3LCA4NSwgNzYsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDY3LCA3MywgODIsIDY3LCA3NiwgCisgICAgNzMsIDc4LCAxOTksIDY3LCA3MywgODIsIDY3LCA3NiwgNjksIDgzLCAxMjgsIDY3LCA3MywgODIsIDY3LCA3NiwgNjksIAorICAgIDEyOCwgNjcsIDczLCA4MCwgMTI4LCA2NywgNzMsIDc4LCA3OCwgNjUsIDY2LCA2NSwgODIsIDEyOCwgNjcsIDczLCA3OCwgCisgICAgNjksIDc3LCA2NSwgMTI4LCA2NywgNzMsIDIwNiwgNjcsIDczLCAyMDUsIDY3LCA3MywgNzMsIDEyOCwgNjcsIDczLCA2OSwgCisgICAgODgsIDEyOCwgNjcsIDczLCA2OSwgODUsIDY3LCA0NSwgODMsIDgzLCA2NSwgNzgsIDcxLCA4MCwgNzMsIDY5LCA4NSwgODAsIAorICAgIDEyOCwgNjcsIDczLCA2OSwgODUsIDY3LCA0NSwgODAsIDczLCA2OSwgODUsIDgwLCAxMjgsIDY3LCA3MywgNjksIDg1LCA2NywgCisgICAgNDUsIDczLCA2OSwgODUsIDc4LCA3MSwgMTI4LCA2NywgNzMsIDY5LCA4NSwgMTk1LCA2NywgNzMsIDY5LCA4NCwgMTI4LCAKKyAgICA2NywgNzMsIDY5LCA4MCwgMTI4LCA2NywgNzMsIDY5LCAxMjgsIDY3LCA3MiwgODksIDg4LCAxMjgsIDY3LCA3MiwgODksIAorICAgIDg0LCAxMjgsIDY3LCA3MiwgODksIDgyLCA4OCwgMTI4LCA2NywgNzIsIDg5LCA4MiwgMTI4LCA2NywgNzIsIDg5LCA4MCwgCisgICAgMTI4LCA2NywgNzIsIDg3LCA4NiwgMTI4LCA2NywgNzIsIDg1LCA4OCwgMTI4LCA2NywgNzIsIDg1LCA4MiwgODgsIDEyOCwgCisgICAgNjcsIDcyLCA4NSwgODIsIDY3LCA3MiwgMTI4LCA2NywgNzIsIDg1LCA4MiwgMTI4LCA2NywgNzIsIDg1LCA4MCwgMTI4LCAKKyAgICA2NywgNzIsIDg1LCA3OSwgODgsIDEyOCwgNjcsIDcyLCA4NSwgNzksIDg0LCAxMjgsIDY3LCA3MiwgODUsIDc5LCA4MCwgCisgICAgMTI4LCA2NywgNzIsIDg1LCA3OSwgMTI4LCA2NywgNzIsIDg1LCA3NiwgNjUsIDEyOCwgNjcsIDcyLCA4NSwgMTI4LCA2NywgCisgICAgNzIsIDgyLCA4OSwgODMsIDY1LCA3OCwgODQsIDcyLCA2OSwgNzcsIDg1LCA3NywgMTI4LCA2NywgNzIsIDgyLCA3OSwgNzgsIAorICAgIDc5LCA4NSwgMTI4LCA2NywgNzIsIDgyLCA3OSwgNzgsIDc5LCA3OCwgMTI4LCA2NywgNzIsIDgyLCA3OSwgNzcsIDE5MywgCisgICAgNjcsIDcyLCA4MiwgNzksIDE5MywgNjcsIDcyLCA4MiwgNzMsIDg2LCA3MywgMTI4LCA2NywgNzIsIDgyLCA3MywgODMsIDg0LCAKKyAgICA3NywgNjUsIDgzLCAxMjgsIDY3LCA3MiwgODIsIDczLCA4MywgODQsIDc3LCA2NSwgMjExLCA2NywgNzIsIDc5LCA4OSwgCisgICAgMTI4LCA2NywgNzIsIDc5LCA4OCwgMTI4LCA2NywgNzIsIDc5LCA4NCwgMTI4LCA2NywgNzIsIDc5LCA4MiwgNjksIDg2LCAKKyAgICA3NywgMTkzLCA2NywgNzIsIDc5LCA4MCwgMTI4LCA2NywgNzIsIDc5LCA3NSwgNjksIDEyOCwgNjcsIDcyLCA3OSwgNjksIAorICAgIDEyOCwgNjcsIDcyLCA3OSwgNjcsIDc5LCA3NiwgNjUsIDg0LCAxOTcsIDY3LCA3MiwgNzksIDY1LCAxMjgsIDY3LCA3MiwgCisgICAgMjA3LCA2NywgNzIsIDczLCA4NCwgODUsIDY5LCA4NSwgNzcsIDgzLCA4MywgNjUsIDc4LCA3MSwgODMsIDczLCA3OSwgODMsIAorICAgIDEyOCwgNjcsIDcyLCA3MywgODQsIDg1LCA2OSwgODUsIDc3LCA4MywgODMsIDY1LCA3OCwgNzEsIDY3LCA3MywgNjksIDg1LCAKKyAgICA2NywgMTI4LCA2NywgNzIsIDczLCA4NCwgODUsIDY5LCA4NSwgNzcsIDgzLCA3MywgNzksIDgzLCAxMjgsIDY3LCA3MiwgNzMsIAorICAgIDg0LCA4NSwgNjksIDg1LCA3NywgNjcsIDczLCA2OSwgODUsIDY3LCAxMjgsIDY3LCA3MiwgNzMsIDg0LCA4NSwgNjksIDg1LCAKKyAgICA3NywgNjcsIDcyLCA3MywgNjksIDg1LCA2NywgNzIsIDEyOCwgNjcsIDcyLCA3MywgODIsIDc5LCA3OCwgMTI4LCA2NywgNzIsIAorICAgIDczLCA4MiwgNjksIDg0LCAxMjgsIDY3LCA3MiwgNzMsIDgwLCA3NywgODUsIDc4LCA3NSwgMTI4LCA2NywgNzIsIDczLCA3OCwgCisgICAgNzksIDc5LCAyMDMsIDY3LCA3MiwgNzMsIDc4LCA3MSwgMTI4LCA2NywgNzIsIDczLCA3OCwgNjksIDgzLCAxOTcsIDY3LCAKKyAgICA3MiwgNzMsIDc4LCAxMjgsIDY3LCA3MiwgNzMsIDc3LCA2OSwgMTI4LCA2NywgNzIsIDczLCA3NiwgNzYsIDIxMywgNjcsIAorICAgIDcyLCA3MywgNzYsIDY4LCA4MiwgNjksIDIwNiwgNjcsIDcyLCA3MywgNzYsIDY4LCAxMjgsIDY3LCA3MiwgNzMsIDc2LCAKKyAgICAxMjgsIDY3LCA3MiwgNzMsIDc1LCAyMDEsIDY3LCA3MiwgNzMsIDY5LCA4NSwgNjcsIDcyLCA0NSwgNzUsIDcyLCA3MywgNjksIAorICAgIDg1LCA3NSwgNzIsIDEyOCwgNjcsIDcyLCA3MywgNjksIDg1LCA2NywgNzIsIDQ1LCA3MiwgNzMsIDY5LCA4NSwgNzIsIDEyOCwgCisgICAgNjcsIDcyLCA3MywgNjksIDg1LCA2NywgMjAwLCA2NywgNzIsIDczLCA2NywgNzUsIDY5LCA3OCwgMTI4LCA2NywgNzIsIDczLCAKKyAgICA2NywgNzUsIDEyOCwgNjcsIDcyLCA3MywgMTI4LCA2NywgNzIsIDIwMSwgNjcsIDcyLCA3MiwgNjUsIDEyOCwgNjcsIDcyLCAKKyAgICA2OSwgODgsIDEyOCwgNjcsIDcyLCA2OSwgODYsIDgyLCA3OSwgMjA2LCA2NywgNzIsIDY5LCA4NCwgMTI4LCA2NywgNzIsIAorICAgIDY5LCA4MywgODQsIDc4LCA4NSwgODQsIDEyOCwgNjcsIDcyLCA2OSwgODMsIDIxMSwgNjcsIDcyLCA2OSwgODIsIDg5LCAKKyAgICAxMjgsIDY3LCA3MiwgNjksIDgyLCA4MiwgMjE3LCA2NywgNzIsIDY5LCA4MiwgODIsIDczLCA2OSwgODMsIDEyOCwgNjcsIAogICAgIDcyLCA2OSwgODEsIDg1LCA2OSwgODIsIDY5LCAxOTYsIDY3LCA3MiwgNjksIDgwLCAxMjgsIDY3LCA3MiwgNjksIDIwNiwgCiAgICAgNjcsIDcyLCA2OSwgNzMsIDc4LCA2NSwgODAsIDEyOCwgNjcsIDcyLCA2OSwgNzMsIDc1LCA3MiwgNjksIDczLCAxMjgsIDY3LCAKICAgICA3MiwgNjksIDczLCA3NSwgNzIsIDY1LCA3OCwgMTI4LCA2NywgNzIsIDY5LCA2OSwgODIsIDczLCA3OCwgMTk5LCA2NywgNzIsIAotICAgIDY5LCA2OSwgMTI4LCA2NywgNzIsIDY5LCA2NywgNzUsIDEyOCwgNjcsIDcyLCA2OSwgNjcsIDIwMywgNjcsIDcyLCAxOTcsIAotICAgIDY3LCA3MiwgNjUsIDg4LCAxMjgsIDY3LCA3MiwgNjUsIDg2LCA3MywgODksIDY1LCA3OCwgNzMsIDEyOCwgNjcsIDcyLCA2NSwgCi0gICAgODQsIDg0LCA2NSwgODcsIDY1LCAxMjgsIDY3LCA3MiwgNjUsIDg0LCAxMjgsIDY3LCA3MiwgNjUsIDgyLCA4NCwgMTI4LCAKLSAgICA2NywgNzIsIDY1LCA4MiwgMjEyLCA2NywgNzIsIDY1LCA4MiwgNzMsIDc5LCA4NCwgMTI4LCA2NywgNzIsIDY1LCA4MiwgNzMsIAotICAgIDc5LCAyMTIsIDY3LCA3MiwgNjUsIDgyLCA2NSwgNjcsIDg0LCA2OSwgODIsIDgzLCAxMjgsIDY3LCA3MiwgNjUsIDgyLCA2NSwgCi0gICAgNjcsIDg0LCA2OSwgODIsIDEyOCwgNjcsIDcyLCA2NSwgODIsIDEyOCwgNjcsIDcyLCA2NSwgODAsIDEyOCwgNjcsIDcyLCAKLSAgICA2NSwgNzgsIDcxLCAxMjgsIDY3LCA3MiwgNjUsIDc4LCAxMjgsIDY3LCA3MiwgNjUsIDc3LCA3NSwgNzksIDEyOCwgNjcsIAotICAgIDcyLCA2NSwgNzcsIDczLCA3NiwgNzksIDc4LCAxMjgsIDY3LCA3MiwgNjUsIDc3LCA3MywgNzYsIDczLCAxMjgsIDY3LCA3MiwgCi0gICAgNjUsIDc1LCA3NywgMTkzLCA2NywgNzIsIDY1LCA3MywgODIsIDEyOCwgNjcsIDcyLCA2NSwgNzMsIDc4LCA4MywgMTI4LCAKLSAgICA2NywgNzIsIDY1LCA2OCwgNjUsIDEyOCwgNjcsIDcyLCA2NSwgMTk2LCA2NywgNzIsIDY1LCA2NSwgMTI4LCA2NywgNzEsIAotICAgIDc0LCAxMjgsIDY3LCA2OSwgODgsIDEyOCwgNjcsIDY5LCA4MiwgNjksIDgzLCAxMjgsIDY3LCA2OSwgODIsIDY5LCA3NywgCi0gICAgNzksIDc4LCA4OSwgMTI4LCA2NywgNjksIDgyLCA2OSwgNzUsIDEyOCwgNjcsIDY5LCA4MiwgNDUsIDg3LCA2NSwgMTI4LCAKLSAgICA2NywgNjksIDgwLCAxMjgsIDY3LCA2OSwgNzksIDc4LCA3MSwgNjcsIDcyLCA3MywgNjksIDg1LCA3NywgODMsIDgzLCA2NSwgCi0gICAgNzgsIDcxLCA4MywgNzMsIDc5LCA4MywgMTI4LCA2NywgNjksIDc5LCA3OCwgNzEsIDY3LCA3MiwgNzMsIDY5LCA4NSwgNzcsIAotICAgIDgzLCA4MywgNjUsIDc4LCA3MSwgNjcsIDczLCA2OSwgODUsIDY3LCAxMjgsIDY3LCA2OSwgNzksIDc4LCA3MSwgNjcsIDcyLCAKLSAgICA3MywgNjksIDg1LCA3NywgODMsIDczLCA3OSwgODMsIDEyOCwgNjcsIDY5LCA3OSwgNzgsIDcxLCA2NywgNzIsIDczLCA2OSwgCi0gICAgODUsIDc3LCA2NywgNzMsIDY5LCA4NSwgNjcsIDEyOCwgNjcsIDY5LCA3OSwgNzgsIDcxLCA2NywgNzIsIDczLCA2OSwgODUsIAotICAgIDc3LCA2NywgNzIsIDczLCA2OSwgODUsIDY3LCA3MiwgMTI4LCA2NywgNjksIDc4LCA4NCwgODUsIDgyLCA3MywgNjUsIDIwNCwgCi0gICAgNjcsIDY5LCA3OCwgODQsIDgyLCA2OSwgNzYsIDczLCA3OCwgMTk3LCA2NywgNjksIDc4LCA4NCwgODIsIDY5LCAxOTYsIDY3LCAKLSAgICA2OSwgNzgsIDg0LCA4MiwgNjksIDEyOCwgNjcsIDY5LCA3OCwgODQsIDgyLCAxOTcsIDY3LCA2OSwgNzgsIDEyOCwgNjcsIAotICAgIDY5LCA3NiwgODMsIDczLCA4NSwgODMsIDEyOCwgNjcsIDY5LCA3NiwgNjksIDY2LCA4MiwgNjUsIDg0LCA3MywgNzksIDc4LCAKLSAgICAxMjgsIDY3LCA2OSwgNzMsIDgyLCA4NCwgMTI4LCA2NywgNjksIDczLCA3NiwgNzMsIDc4LCA3MSwgMTI4LCA2NywgNjksIAotICAgIDY5LCAxMjgsIDY3LCA2OSwgNjgsIDczLCA3NiwgNzYsIDY1LCAxMjgsIDY3LCA2OSwgNjgsIDczLCA3NiwgNzYsIDE5MywgCi0gICAgNjcsIDY5LCA2OCwgMjAxLCA2NywgNjksIDY3LCA2OSwgNzUsIDEyOCwgNjcsIDY5LCA2NywgNjUsIDc1LCAxMjgsIDY3LCAKLSAgICA2OSwgNjcsIDY1LCAyMDMsIDY3LCA2OSwgNjUsIDc2LCA2NywgMTI4LCA2NywgNjcsIDg1LCAxMjgsIDY3LCA2NywgNzksIAotICAgIDEyOCwgNjcsIDY3LCA3MywgMTI4LCA2NywgNjcsIDcyLCA4NSwgMTI4LCA2NywgNjcsIDcyLCA3OSwgMTI4LCA2NywgNjcsIAotICAgIDcyLCA3MywgMTI4LCA2NywgNjcsIDcyLCA3MiwgODUsIDEyOCwgNjcsIDY3LCA3MiwgNzIsIDc5LCAxMjgsIDY3LCA2NywgCi0gICAgNzIsIDcyLCA3MywgMTI4LCA2NywgNjcsIDcyLCA3MiwgNjksIDY5LCAxMjgsIDY3LCA2NywgNzIsIDcyLCA2OSwgMTI4LCAKLSAgICA2NywgNjcsIDcyLCA3MiwgNjUsIDY1LCAxMjgsIDY3LCA2NywgNzIsIDcyLCA2NSwgMTI4LCA2NywgNjcsIDcyLCA2OSwgNjksIAotICAgIDEyOCwgNjcsIDY3LCA3MiwgNjksIDEyOCwgNjcsIDY3LCA3MiwgNjUsIDY1LCAxMjgsIDY3LCA2NywgNzIsIDY1LCAxMjgsIAotICAgIDY3LCA2NywgNzIsIDEyOCwgNjcsIDY3LCA2OSwgNjksIDEyOCwgNjcsIDY3LCA2OSwgMTI4LCA2NywgNjcsIDY1LCA2NSwgCi0gICAgMTI4LCA2NywgNjcsIDY1LCAxMjgsIDY3LCA2NSwgODksIDc4LCAxMjgsIDY3LCA2NSwgODksIDY1LCA3OCwgNzgsIDY1LCAKLSAgICAxMjgsIDY3LCA2NSwgODgsIDEyOCwgNjcsIDY1LCA4NiwgNjksIDEyOCwgNjcsIDY1LCA4NSwgODQsIDczLCA3OSwgMjA2LCAKLSAgICA2NywgNjUsIDg1LCA3NiwgNjgsIDgyLCA3OSwgNzgsIDEyOCwgNjcsIDY1LCA4NSwgNjgsIDY1LCAxMjgsIDY3LCA2NSwgODUsIAorICAgIDY5LCA2OSwgNzcsIDEyOCwgNjcsIDcyLCA2OSwgNjksIDEyOCwgNjcsIDcyLCA2OSwgNjcsIDc1LCA2OSwgMjEwLCA2NywgCisgICAgNzIsIDY5LCA2NywgNzUsIDEyOCwgNjcsIDcyLCA2OSwgNjcsIDIwMywgNjcsIDcyLCAxOTcsIDY3LCA3MiwgNjUsIDg4LCAKKyAgICAxMjgsIDY3LCA3MiwgNjUsIDg2LCA3MywgODksIDY1LCA3OCwgNzMsIDEyOCwgNjcsIDcyLCA2NSwgODQsIDg0LCA2NSwgODcsIAorICAgIDY1LCAxMjgsIDY3LCA3MiwgNjUsIDg0LCAxMjgsIDY3LCA3MiwgNjUsIDgyLCA4NCwgMTI4LCA2NywgNzIsIDY1LCA4MiwgCisgICAgMjEyLCA2NywgNzIsIDY1LCA4MiwgNzMsIDc5LCA4NCwgMTI4LCA2NywgNzIsIDY1LCA4MiwgNzMsIDc5LCAyMTIsIDY3LCAKKyAgICA3MiwgNjUsIDgyLCA2NSwgNjcsIDg0LCA2OSwgODIsIDgzLCAxMjgsIDY3LCA3MiwgNjUsIDgyLCA2NSwgNjcsIDg0LCA2OSwgCisgICAgODIsIDEyOCwgNjcsIDcyLCA2NSwgODIsIDEyOCwgNjcsIDcyLCA2NSwgODAsIDg0LCA2OSwgODIsIDEyOCwgNjcsIDcyLCAKKyAgICA2NSwgODAsIDEyOCwgNjcsIDcyLCA2NSwgNzgsIDcxLCAxMjgsIDY3LCA3MiwgNjUsIDc4LCAxMjgsIDY3LCA3MiwgNjUsIAorICAgIDc3LCA3NSwgNzksIDEyOCwgNjcsIDcyLCA2NSwgNzcsIDczLCA3NiwgNzksIDc4LCAxMjgsIDY3LCA3MiwgNjUsIDc3LCA3MywgCisgICAgNzYsIDczLCAxMjgsIDY3LCA3MiwgNjUsIDc1LCA3NywgMTkzLCA2NywgNzIsIDY1LCA3MywgODIsIDEyOCwgNjcsIDcyLCAKKyAgICA2NSwgNzMsIDc4LCA4MywgMTI4LCA2NywgNzIsIDY1LCA2OCwgNjUsIDEyOCwgNjcsIDcyLCA2NSwgMTk2LCA2NywgNzIsIAorICAgIDY1LCA2NSwgMTI4LCA2NywgNzEsIDc0LCAxMjgsIDY3LCA2OSwgODgsIDEyOCwgNjcsIDY5LCA4MiwgNjksIDgzLCAxMjgsIAorICAgIDY3LCA2OSwgODIsIDY5LCA3NywgNzksIDc4LCA4OSwgMTI4LCA2NywgNjksIDgyLCA2OSwgNzUsIDEyOCwgNjcsIDY5LCA4MiwgCisgICAgNDUsIDg3LCA2NSwgMTI4LCA2NywgNjksIDgwLCAxMjgsIDY3LCA2OSwgNzksIDc4LCA3MSwgNjcsIDcyLCA3MywgNjksIDg1LCAKKyAgICA3NywgODMsIDgzLCA2NSwgNzgsIDcxLCA4MywgNzMsIDc5LCA4MywgMTI4LCA2NywgNjksIDc5LCA3OCwgNzEsIDY3LCA3MiwgCisgICAgNzMsIDY5LCA4NSwgNzcsIDgzLCA4MywgNjUsIDc4LCA3MSwgNjcsIDczLCA2OSwgODUsIDY3LCAxMjgsIDY3LCA2OSwgNzksIAorICAgIDc4LCA3MSwgNjcsIDcyLCA3MywgNjksIDg1LCA3NywgODMsIDczLCA3OSwgODMsIDEyOCwgNjcsIDY5LCA3OSwgNzgsIDcxLCAKKyAgICA2NywgNzIsIDczLCA2OSwgODUsIDc3LCA2NywgNzMsIDY5LCA4NSwgNjcsIDEyOCwgNjcsIDY5LCA3OSwgNzgsIDcxLCA2NywgCisgICAgNzIsIDczLCA2OSwgODUsIDc3LCA2NywgNzIsIDczLCA2OSwgODUsIDY3LCA3MiwgMTI4LCA2NywgNjksIDc4LCA4NCwgODUsIAorICAgIDgyLCA3MywgNjUsIDIwNCwgNjcsIDY5LCA3OCwgODQsIDgyLCA2OSwgNzYsIDczLCA3OCwgMTk3LCA2NywgNjksIDc4LCA4NCwgCisgICAgODIsIDY5LCA2OCwgMTI4LCA2NywgNjksIDc4LCA4NCwgODIsIDY5LCAxOTYsIDY3LCA2OSwgNzgsIDg0LCA4MiwgNjksIAorICAgIDEyOCwgNjcsIDY5LCA3OCwgODQsIDgyLCAxOTcsIDY3LCA2OSwgNzgsIDg0LCA4MiwgNjUsIDc2LCA3MywgOTAsIDY1LCA4NCwgCisgICAgNzMsIDc5LCAyMDYsIDY3LCA2OSwgNzgsIDEyOCwgNjcsIDY5LCA3NiwgODQsIDczLCAxOTUsIDY3LCA2OSwgNzYsIDgzLCAKKyAgICA3MywgODUsIDgzLCAxMjgsIDY3LCA2OSwgNzYsIDY5LCA2NiwgODIsIDY1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA2NywgNjksIAorICAgIDczLCA4MiwgODQsIDEyOCwgNjcsIDY5LCA3MywgNzYsIDczLCA3OCwgNzEsIDEyOCwgNjcsIDY5LCA2OSwgODYsIDEyOCwgCisgICAgNjcsIDY5LCA2OSwgNjYsIDEyOCwgNjcsIDY5LCA2OSwgMTI4LCA2NywgNjksIDY4LCA3MywgNzYsIDc2LCA2NSwgMTI4LCAKKyAgICA2NywgNjksIDY4LCA3MywgNzYsIDc2LCAxOTMsIDY3LCA2OSwgNjgsIDIwMSwgNjcsIDY5LCA2NywgNjksIDc1LCAxMjgsIAorICAgIDY3LCA2OSwgNjcsIDY1LCA3NSwgMTI4LCA2NywgNjksIDY3LCA2NSwgMjAzLCA2NywgNjksIDY1LCA3NiwgNjcsIDEyOCwgCisgICAgNjcsIDY3LCA4NSwgMTI4LCA2NywgNjcsIDc5LCAxMjgsIDY3LCA2NywgNzMsIDEyOCwgNjcsIDY3LCA3MiwgODUsIDEyOCwgCisgICAgNjcsIDY3LCA3MiwgNzksIDEyOCwgNjcsIDY3LCA3MiwgNzMsIDEyOCwgNjcsIDY3LCA3MiwgNzIsIDg1LCAxMjgsIDY3LCAKKyAgICA2NywgNzIsIDcyLCA3OSwgMTI4LCA2NywgNjcsIDcyLCA3MiwgNzMsIDEyOCwgNjcsIDY3LCA3MiwgNzIsIDY5LCA2OSwgCisgICAgMTI4LCA2NywgNjcsIDcyLCA3MiwgNjksIDEyOCwgNjcsIDY3LCA3MiwgNzIsIDY1LCA2NSwgMTI4LCA2NywgNjcsIDcyLCAKKyAgICA3MiwgNjUsIDEyOCwgNjcsIDY3LCA3MiwgNjksIDY5LCAxMjgsIDY3LCA2NywgNzIsIDY5LCAxMjgsIDY3LCA2NywgNzIsIAorICAgIDY1LCA2NSwgMTI4LCA2NywgNjcsIDcyLCA2NSwgMTI4LCA2NywgNjcsIDcyLCAxMjgsIDY3LCA2NywgNjksIDY5LCAxMjgsIAorICAgIDY3LCA2NywgNjksIDEyOCwgNjcsIDY3LCA2NSwgNjUsIDEyOCwgNjcsIDY3LCA2NSwgMTI4LCA2NywgNjUsIDg5LCA3OCwgCisgICAgMTI4LCA2NywgNjUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA2NywgNjUsIDg4LCAxMjgsIDY3LCA2NSwgODYsIDY5LCAKKyAgICAxMjgsIDY3LCA2NSwgODUsIDg0LCA3MywgNzksIDIwNiwgNjcsIDY1LCA4NSwgNzYsIDY4LCA4MiwgNzksIDc4LCAxMjgsIAorICAgIDY3LCA2NSwgODUsIDY4LCA2NSwgMTI4LCA2NywgNjUsIDg1LCA2NywgNjUsIDgzLCA3MywgNjUsIDIwNiwgNjcsIDY1LCA4NSwgCiAgICAgMTI4LCA2NywgNjUsIDg0LCA2NSwgODcsIDY1LCAxMjgsIDY3LCA2NSwgODQsIDEyOCwgNjcsIDY1LCAyMTIsIDY3LCA2NSwgCi0gICAgODMsIDg0LCA3NiwgNjksIDEyOCwgNjcsIDY1LCA4MiwgODksIDgzLCA4NCwgNzMsIDY1LCAyMDYsIDY3LCA2NSwgODIsIDg0LCAKLSAgICAxMjgsIDY3LCA2NSwgODIsIDIxMSwgNjcsIDY1LCA4MiwgODIsIDczLCA2NSwgNzEsIDE5NywgNjcsIDY1LCA4MiwgODAsIAotICAgIDY5LCA3OCwgODQsIDgyLCAyMTcsIDY3LCA2NSwgODIsIDIwOCwgNjcsIDY1LCA4MiwgNzksIDg1LCA4MywgNjksIDIwNCwgCi0gICAgNjcsIDY1LCA4MiwgNzksIDc4LCAxMjgsIDY3LCA2NSwgODIsIDc5LCAyMDYsIDY3LCA2NSwgODIsIDczLCAyMDMsIDY3LCAKLSAgICA2NSwgODIsIDczLCA2NSwgMjA2LCA2NywgNjUsIDgyLCA2OSwgODQsIDEyOCwgNjcsIDY1LCA4MiwgNjksIDIxMiwgNjcsIAotICAgIDY1LCA4MiwgMTk3LCA2NywgNjUsIDgyLCA2OCwgODMsIDEyOCwgNjcsIDY1LCA4MiwgNjgsIDEyOCwgNjcsIDY1LCA4MiwgCi0gICAgMTk2LCA2NywgNjUsIDgyLCAxMjgsIDY3LCA2NSwgMjEwLCA2NywgNjUsIDgwLCA4NSwgMjEyLCA2NywgNjUsIDgwLCA4NCwgCi0gICAgNzMsIDg2LCA2OSwgMTI4LCA2NywgNjUsIDgwLCA4MiwgNzMsIDY3LCA3OSwgODIsIDc4LCAxMjgsIDY3LCA2NSwgODAsIDc5LCAKLSAgICAxMjgsIDY3LCA2NSwgODAsIDczLCA4NCwgNjUsIDc2LCAxMjgsIDY3LCA2NSwgNzgsIDg0LCA3MywgNzYsIDc2LCA2NSwgODQsIAotICAgIDczLCA3OSwgMjA2LCA2NywgNjUsIDc4LCAxOTksIDY3LCA2NSwgNzgsIDY4LCA4OSwgMTI4LCA2NywgNjUsIDc4LCA2OCwgCi0gICAgODIsIDY1LCA2NiwgNzMsIDc4LCA2OCwgODUsIDEyOCwgNjcsIDY1LCA3OCwgNjgsIDgyLCA2NSwgNjYsIDczLCA3OCwgNjgsIAotICAgIDIxMywgNjcsIDY1LCA3OCwgNjgsIDgyLCA2NSwgMTI4LCA2NywgNjUsIDc4LCA2OCwgODIsIDE5MywgNjcsIDY1LCA3OCwgCi0gICAgNjcsIDY5LCA4MiwgMTI4LCA2NywgNjUsIDc4LCA2NywgNjksIDc2LCA3NiwgNjUsIDg0LCA3MywgNzksIDIwNiwgNjcsIDY1LCAKLSAgICA3OCwgNjcsIDY5LCA3NiwgMTI4LCA2NywgNjUsIDc4LCA2NywgNjksIDIwNCwgNjcsIDY1LCA3OCwgMTI4LCA2NywgNjUsIAotICAgIDc3LCA3OCwgODUsIDE5NSwgNjcsIDY1LCA3NywgNjksIDgyLCA2NSwgMTI4LCA2NywgNjUsIDc3LCA2OSwgNzYsIDEyOCwgCi0gICAgNjcsIDY1LCA3NiwgODksIDY1LCAxMjgsIDY3LCA2NSwgNzYsIDg5LCAxOTMsIDY3LCA2NSwgNzYsIDg4LCAxMjgsIDY3LCAKLSAgICA2NSwgNzYsIDc2LCAxMjgsIDY3LCA2NSwgNzYsIDY5LCA3OCwgNjgsIDY1LCA4MiwgMTI4LCA2NywgNjUsIDc2LCA2NywgCi0gICAgMTI4LCA2NywgNjUsIDc1LCA4MiwgNjUsIDEyOCwgNjcsIDY1LCA3NSwgMTk3LCA2NywgNjUsIDczLCAxMjgsIDY3LCA2NSwgCi0gICAgNzIsIDEyOCwgNjcsIDY1LCA2OSwgODMsIDg1LCA4MiwgNjUsIDEyOCwgNjcsIDY1LCA2OCwgODUsIDY3LCA2OSwgODUsIDgzLCAKLSAgICAxMjgsIDY3LCA2NSwgNjgsIDE5MywgNjcsIDY1LCA2NywgODQsIDg1LCA4MywgMTI4LCA2NywgNjUsIDY2LCA3NiwgNjksIAotICAgIDg3LCA2NSwgODksIDEyOCwgNjcsIDY1LCA2NiwgNjYsIDY1LCA3MSwgNjksIDQ1LCA4NCwgODIsIDY5LCA2OSwgMTI4LCA2NywgCi0gICAgNjUsIDY1LCA3OCwgNzEsIDEyOCwgNjcsIDY1LCA2NSwgNzMsIDEyOCwgNjcsIDE5MywgNjcsIDQ4LCA1MCwgNTIsIDEyOCwgCi0gICAgNjcsIDQ4LCA1MCwgNTEsIDEyOCwgNjcsIDQ4LCA1MCwgNTAsIDEyOCwgNjcsIDQ4LCA1MCwgNDksIDEyOCwgNjcsIDQ4LCAKLSAgICA1MCwgNDgsIDEyOCwgNjcsIDQ4LCA0OSwgNTcsIDEyOCwgNjcsIDQ4LCA0OSwgNTYsIDEyOCwgNjcsIDQ4LCA0OSwgNTUsIAotICAgIDEyOCwgNjcsIDQ4LCA0OSwgNTQsIDEyOCwgNjcsIDQ4LCA0OSwgNTMsIDEyOCwgNjcsIDQ4LCA0OSwgNTIsIDEyOCwgNjcsIAotICAgIDQ4LCA0OSwgNTEsIDEyOCwgNjcsIDQ4LCA0OSwgNTAsIDEyOCwgNjcsIDQ4LCA0OSwgNDksIDEyOCwgNjcsIDQ4LCA0OSwgCi0gICAgNDgsIDY1LCAxMjgsIDY3LCA0OCwgNDksIDQ4LCAxMjgsIDY3LCA0OCwgNDgsIDU3LCAxMjgsIDY3LCA0OCwgNDgsIDU2LCAKLSAgICAxMjgsIDY3LCA0OCwgNDgsIDU1LCAxMjgsIDY3LCA0OCwgNDgsIDU0LCAxMjgsIDY3LCA0OCwgNDgsIDUzLCAxMjgsIDY3LCAKLSAgICA0OCwgNDgsIDUyLCAxMjgsIDY3LCA0OCwgNDgsIDUxLCAxMjgsIDY3LCA0OCwgNDgsIDUwLCA2NywgMTI4LCA2NywgNDgsIAotICAgIDQ4LCA1MCwgNjYsIDEyOCwgNjcsIDQ4LCA0OCwgNTAsIDY1LCAxMjgsIDY3LCA0OCwgNDgsIDUwLCAxMjgsIDY3LCA0OCwgCi0gICAgNDgsIDQ5LCAxMjgsIDY3LCA0NSwgODMsIDczLCA3NywgODAsIDc2LCA3MywgNzAsIDczLCA2OSwgMTk2LCA2NywgNDUsIDUxLCAKLSAgICA1NywgMTI4LCA2NywgNDUsIDQ5LCA1NiwgMTI4LCA2NiwgOTAsIDg1LCA3OCwgMTk5LCA2NiwgOTAsIDcyLCAyMDEsIDY2LCAKLSAgICA4OSwgODQsIDE5NywgNjYsIDg5LCA2OSwgNzYsIDc5LCA4MiwgODUsIDgzLCA4MywgNzMsIDY1LCA3OCwgNDUsIDg1LCA3NSwgCi0gICAgODIsIDY1LCA3MywgNzgsIDczLCA2NSwgMjA2LCA2NiwgODgsIDcxLCAxMjgsIDY2LCA4NywgNzMsIDEyOCwgNjYsIDg3LCAKLSAgICA2OSwgNjksIDEyOCwgNjYsIDg3LCA2OSwgMTI4LCA2NiwgODcsIDY1LCAxMjgsIDY2LCA4NSwgODUsIDc3LCA3MywgODMsIAotICAgIDcyLCAxMjgsIDY2LCA4NSwgODQsIDg0LCA3OSwgNzgsIDEyOCwgNjYsIDg1LCAyMTIsIDY2LCA4NSwgODMsIDg0LCAyMTEsIAotICAgIDY2LCA4NSwgODMsIDIxMiwgNjYsIDg1LCA4MywgODMsIDg5LCA2OSwgODIsIDg1LCAxMjgsIDY2LCA4NSwgMjExLCA2NiwgCisgICAgODMsIDg0LCA3NiwgNjksIDEyOCwgNjcsIDY1LCA4MywgNzUsIDY5LCAyMTIsIDY3LCA2NSwgODIsIDg5LCA4MywgODQsIDczLCAKKyAgICA2NSwgMjA2LCA2NywgNjUsIDgyLCA4NCwgODIsIDczLCA2OCwgNzEsIDY5LCAxMjgsIDY3LCA2NSwgODIsIDg0LCAxMjgsIAorICAgIDY3LCA2NSwgODIsIDIxMSwgNjcsIDY1LCA4MiwgODIsIDczLCA2NSwgNzEsIDE5NywgNjcsIDY1LCA4MiwgODAsIDY5LCA3OCwgCisgICAgODQsIDgyLCAyMTcsIDY3LCA2NSwgODIsIDIwOCwgNjcsIDY1LCA4MiwgNzksIDg1LCA4MywgNjksIDIwNCwgNjcsIDY1LCAKKyAgICA4MiwgNzksIDc4LCAxMjgsIDY3LCA2NSwgODIsIDc5LCAyMDYsIDY3LCA2NSwgODIsIDczLCAyMDMsIDY3LCA2NSwgODIsIAorICAgIDczLCA2NSwgMjA2LCA2NywgNjUsIDgyLCA2OSwgODQsIDEyOCwgNjcsIDY1LCA4MiwgNjksIDIxMiwgNjcsIDY1LCA4MiwgCisgICAgMTk3LCA2NywgNjUsIDgyLCA2OCwgODMsIDEyOCwgNjcsIDY1LCA4MiwgNjgsIDEyOCwgNjcsIDY1LCA4MiwgMTI4LCA2NywgCisgICAgNjUsIDIxMCwgNjcsIDY1LCA4MCwgODUsIDIxMiwgNjcsIDY1LCA4MCwgODQsIDczLCA4NiwgNjksIDEyOCwgNjcsIDY1LCAKKyAgICA4MCwgODIsIDczLCA2NywgNzksIDgyLCA3OCwgMTI4LCA2NywgNjUsIDgwLCA4MCwgNjksIDE5NiwgNjcsIDY1LCA4MCwgNzksIAorICAgIDEyOCwgNjcsIDY1LCA4MCwgNzMsIDg0LCA4NSwgNzYsIDg1LCA3NywgMTI4LCA2NywgNjUsIDgwLCA3MywgODQsIDY1LCA3NiwgCisgICAgMTI4LCA2NywgNjUsIDc4LCA4NCwgNzMsIDc2LCA3NiwgNjUsIDg0LCA3MywgNzksIDIwNiwgNjcsIDY1LCA3OCwgMTk5LCAKKyAgICA2NywgNjUsIDc4LCA2OCwgODksIDEyOCwgNjcsIDY1LCA3OCwgNjgsIDgyLCA2NSwgNjYsIDczLCA3OCwgNjgsIDg1LCAxMjgsIAorICAgIDY3LCA2NSwgNzgsIDY4LCA4MiwgNjUsIDY2LCA3MywgNzgsIDY4LCAyMTMsIDY3LCA2NSwgNzgsIDY4LCA4MiwgNjUsIDEyOCwgCisgICAgNjcsIDY1LCA3OCwgNjgsIDgyLCAxOTMsIDY3LCA2NSwgNzgsIDY4LCA3NiwgNjksIDEyOCwgNjcsIDY1LCA3OCwgNjcsIDY5LCAKKyAgICA4MiwgMTI4LCA2NywgNjUsIDc4LCA2NywgNjksIDc2LCA3NiwgNjUsIDg0LCA3MywgNzksIDIwNiwgNjcsIDY1LCA3OCwgNjcsIAorICAgIDY5LCA3NiwgMTI4LCA2NywgNjUsIDc4LCA2NywgNjksIDIwNCwgNjcsIDY1LCA3OCwgMTI4LCA2NywgNjUsIDc3LCA4MCwgCisgICAgNzMsIDc4LCA3MSwgMTI4LCA2NywgNjUsIDc3LCA3OCwgODUsIDE5NSwgNjcsIDY1LCA3NywgNjksIDgyLCA2NSwgMTI4LCAKKyAgICA2NywgNjUsIDc3LCA2OSwgODIsIDE5MywgNjcsIDY1LCA3NywgNjksIDc2LCAxMjgsIDY3LCA2NSwgNzYsIDg5LCA2NSwgCisgICAgMTI4LCA2NywgNjUsIDc2LCA4OSwgMTkzLCA2NywgNjUsIDc2LCA4OCwgMTI4LCA2NywgNjUsIDc2LCA3NiwgMTI4LCA2NywgCisgICAgNjUsIDc2LCA2OSwgNzgsIDY4LCA2NSwgODIsIDEyOCwgNjcsIDY1LCA3NiwgNjksIDc4LCA2OCwgNjUsIDIxMCwgNjcsIDY1LCAKKyAgICA3NiwgNjcsIDg1LCA3NiwgNjUsIDg0LCA3OSwgODIsIDEyOCwgNjcsIDY1LCA3NiwgNjcsIDEyOCwgNjcsIDY1LCA3NSwgODIsIAorICAgIDY1LCAxMjgsIDY3LCA2NSwgNzUsIDE5NywgNjcsIDY1LCA3MywgMTI4LCA2NywgNjUsIDcyLCAxMjgsIDY3LCA2NSwgNjksIAorICAgIDgzLCA4NSwgODIsIDY1LCAxMjgsIDY3LCA2NSwgNjgsIDg1LCA2NywgNjksIDg1LCA4MywgMTI4LCA2NywgNjUsIDY4LCAKKyAgICAxOTMsIDY3LCA2NSwgNjcsIDg0LCA4NSwgODMsIDEyOCwgNjcsIDY1LCA2NiwgNzYsIDY5LCA4NywgNjUsIDg5LCAxMjgsIAorICAgIDY3LCA2NSwgNjYsIDczLCA3OCwgNjksIDg0LCAxMjgsIDY3LCA2NSwgNjYsIDY2LCA2NSwgNzEsIDY5LCA0NSwgODQsIDgyLCAKKyAgICA2OSwgNjksIDEyOCwgNjcsIDY1LCA2NSwgNzgsIDcxLCAxMjgsIDY3LCA2NSwgNjUsIDczLCAxMjgsIDY3LCAxOTMsIDY3LCAKKyAgICA0OCwgNTAsIDUyLCAxMjgsIDY3LCA0OCwgNTAsIDUxLCAxMjgsIDY3LCA0OCwgNTAsIDUwLCAxMjgsIDY3LCA0OCwgNTAsIAorICAgIDQ5LCAxMjgsIDY3LCA0OCwgNTAsIDQ4LCAxMjgsIDY3LCA0OCwgNDksIDU3LCAxMjgsIDY3LCA0OCwgNDksIDU2LCAxMjgsIAorICAgIDY3LCA0OCwgNDksIDU1LCAxMjgsIDY3LCA0OCwgNDksIDU0LCAxMjgsIDY3LCA0OCwgNDksIDUzLCAxMjgsIDY3LCA0OCwgCisgICAgNDksIDUyLCAxMjgsIDY3LCA0OCwgNDksIDUxLCAxMjgsIDY3LCA0OCwgNDksIDUwLCAxMjgsIDY3LCA0OCwgNDksIDQ5LCAKKyAgICAxMjgsIDY3LCA0OCwgNDksIDQ4LCA2NSwgMTI4LCA2NywgNDgsIDQ5LCA0OCwgMTI4LCA2NywgNDgsIDQ4LCA1NywgMTI4LCAKKyAgICA2NywgNDgsIDQ4LCA1NiwgMTI4LCA2NywgNDgsIDQ4LCA1NSwgMTI4LCA2NywgNDgsIDQ4LCA1NCwgMTI4LCA2NywgNDgsIAorICAgIDQ4LCA1MywgMTI4LCA2NywgNDgsIDQ4LCA1MiwgMTI4LCA2NywgNDgsIDQ4LCA1MSwgMTI4LCA2NywgNDgsIDQ4LCA1MCwgCisgICAgNjcsIDEyOCwgNjcsIDQ4LCA0OCwgNTAsIDY2LCAxMjgsIDY3LCA0OCwgNDgsIDUwLCA2NSwgMTI4LCA2NywgNDgsIDQ4LCAKKyAgICA1MCwgMTI4LCA2NywgNDgsIDQ4LCA0OSwgMTI4LCA2NywgNDUsIDgzLCA3MywgNzcsIDgwLCA3NiwgNzMsIDcwLCA3MywgNjksIAorICAgIDE5NiwgNjcsIDQ1LCA1MSwgNTcsIDEyOCwgNjcsIDQ1LCA0OSwgNTYsIDEyOCwgNjYsIDkwLCA4NSwgNzgsIDE5OSwgNjYsIAorICAgIDkwLCA3MiwgMjAxLCA2NiwgODksIDg0LCAxOTcsIDY2LCA4OSwgNjksIDc2LCA3OSwgODIsIDg1LCA4MywgODMsIDczLCA2NSwgCisgICAgNzgsIDQ1LCA4NSwgNzUsIDgyLCA2NSwgNzMsIDc4LCA3MywgNjUsIDIwNiwgNjYsIDg4LCA3MSwgMTI4LCA2NiwgODcsIDczLCAKKyAgICAxMjgsIDY2LCA4NywgNjksIDY5LCAxMjgsIDY2LCA4NywgNjksIDEyOCwgNjYsIDg3LCA2NSwgMTI4LCA2NiwgODUsIDg1LCAKKyAgICA3NywgNzMsIDgzLCA3MiwgMTI4LCA2NiwgODUsIDg0LCA4NCwgNzksIDc4LCAxMjgsIDY2LCA4NSwgODQsIDg0LCA3OSwgCisgICAgMjA2LCA2NiwgODUsIDIxMiwgNjYsIDg1LCA4MywgODQsIDIxMSwgNjYsIDg1LCA4MywgMjEyLCA2NiwgODUsIDgzLCA4MywgCisgICAgODksIDY5LCA4MiwgODUsIDEyOCwgNjYsIDg1LCA4MywgNzMsIDc4LCA2OSwgODMsIDIxMSwgNjYsIDg1LCAyMTEsIDY2LCAKICAgICA4NSwgODIsIDIxMywgNjYsIDg1LCA4MiwgNTAsIDEyOCwgNjYsIDg1LCAyMTAsIDY2LCA4NSwgNzksIDg4LCAxMjgsIDY2LCAKICAgICA4NSwgNzksIDgwLCAxMjgsIDY2LCA4NSwgNzgsIDc4LCAyMTcsIDY2LCA4NSwgNzgsIDcxLCAxMjgsIDY2LCA4NSwgNzcsIAogICAgIDgwLCAyMTcsIDY2LCA4NSwgNzYsIDg1LCA3MSwgMTI4LCA2NiwgODUsIDc2LCA4NSwgMTk5LCA2NiwgODUsIDc2LCA3NiwgCi0gICAgODMsIDY5LCA4OSwgNjksIDEyOCwgNjYsIDg1LCA3NiwgNzYsIDIxMSwgNjYsIDg1LCA3NiwgNzYsIDY5LCA4NCwgMTI4LCAKLSAgICA2NiwgODUsIDc2LCA3NiwgNjksIDIxMiwgNjYsIDg1LCA3NiwgNzYsIDEyOCwgNjYsIDg1LCA3NiwgNjYsIDEyOCwgNjYsIAotICAgIDg1LCA3NSwgODksIDEyOCwgNjYsIDg1LCA3MywgNzYsIDY4LCA3MywgNzgsIDcxLCA4MywgMTI4LCA2NiwgODUsIDczLCA3NiwgCi0gICAgNjgsIDczLCA3OCwgNzEsIDEyOCwgNjYsIDg1LCA3MiwgNzMsIDE5NiwgNjYsIDg1LCA3MSwgNzMsIDc4LCA2OSwgODMsIAotICAgIDE5NywgNjYsIDg1LCA3MSwgMTI4LCA2NiwgODUsIDcwLCA3MCwgNjUsIDc2LCA3OSwgMTI4LCA2NiwgODUsIDY3LCA3NSwgCi0gICAgNzYsIDY5LCAxMjgsIDY2LCA4MywgODQsIDY1LCA4MiwgMTI4LCA2NiwgODMsIDc1LCA4NSwgMjEwLCA2NiwgODMsIDc1LCAKLSAgICA2NSwgMTczLCA2NiwgODMsIDY4LCA4NSwgMjExLCA2NiwgODIsIDg1LCA4MywgNzIsIDEyOCwgNjYsIDgyLCA4NSwgODMsIAotICAgIDIwMCwgNjYsIDgyLCA3OSwgNzgsIDkwLCA2OSwgMTI4LCA2NiwgODIsIDc5LCA3NSwgNjksIDIwNiwgNjYsIDgyLCA3OSwgCi0gICAgNjUsIDE5NiwgNjYsIDgyLCA3MywgODMsIDg0LCA3NiwgNjksIDEyOCwgNjYsIDgyLCA3MywgNzEsIDcyLCA4NCwgNzgsIDY5LCAKLSAgICA4MywgMjExLCA2NiwgODIsIDczLCA2OSwgNzAsIDY3LCA2NSwgODMsIDY5LCAxMjgsIDY2LCA4MiwgNzMsIDY4LCA3MSwgCi0gICAgMTk3LCA2NiwgODIsIDczLCA2OCwgMTk3LCA2NiwgODIsIDczLCA2NywgNzUsIDEyOCwgNjYsIDgyLCA2OSwgODYsIDczLCAKLSAgICA4MywgMTI4LCA2NiwgODIsIDY5LCA4NiwgNjksIDQ1LCA3NywgNjUsIDY3LCA4MiwgNzksIDc4LCAxMjgsIDY2LCA4MiwgNjksIAotICAgIDg2LCAxOTcsIDY2LCA4MiwgNjksIDY1LCA4NCwgMjAwLCA2NiwgODIsIDY5LCA2NSwgNzUsIDg0LCA3MiwgODIsIDc5LCA4NSwgCi0gICAgNzEsIDcyLCAxMjgsIDY2LCA4MiwgNjksIDY1LCA2OCwgMTI4LCA2NiwgODIsIDY4LCAxOTMsIDY2LCA4MiwgNjUsIDc4LCAKLSAgICA2NywgNzIsIDczLCA3OCwgMTk5LCA2NiwgODIsIDY1LCA3OCwgNjcsIDcyLCAxMjgsIDY2LCA4MiwgNjUsIDc4LCA2NywgCisgICAgODMsIDY5LCA4OSwgNjksIDEyOCwgNjYsIDg1LCA3NiwgNzYsIDIxMSwgNjYsIDg1LCA3NiwgNzYsIDcyLCA3OSwgODIsIDc4LCAKKyAgICAxMjgsIDY2LCA4NSwgNzYsIDc2LCA3MiwgNzksIDgyLCAyMDYsIDY2LCA4NSwgNzYsIDc2LCA2OSwgODQsIDEyOCwgNjYsIAorICAgIDg1LCA3NiwgNzYsIDY5LCAyMTIsIDY2LCA4NSwgNzYsIDc2LCAxMjgsIDY2LCA4NSwgNzYsIDY2LCAxMjgsIDY2LCA4NSwgCisgICAgNzUsIDg5LCAxMjgsIDY2LCA4NSwgNzMsIDc2LCA2OCwgNzMsIDc4LCA3MSwgODMsIDEyOCwgNjYsIDg1LCA3MywgNzYsIDY4LCAKKyAgICA3MywgNzgsIDcxLCAxMjgsIDY2LCA4NSwgNzMsIDc2LCA2OCwgNzMsIDc4LCAxOTksIDY2LCA4NSwgNzIsIDczLCAxOTYsIAorICAgIDY2LCA4NSwgNzEsIDczLCA3OCwgNjksIDgzLCAxOTcsIDY2LCA4NSwgNzEsIDEyOCwgNjYsIDg1LCA3MCwgNzAsIDY1LCA3NiwgCisgICAgNzksIDEyOCwgNjYsIDg1LCA2OCwgMTI4LCA2NiwgODUsIDY3LCA3NSwgNzYsIDY5LCAxMjgsIDY2LCA4NSwgNjYsIDY2LCAKKyAgICA3NiwgNjksIDgzLCAxMjgsIDY2LCA4NSwgNjYsIDY2LCA3NiwgNjksIDEyOCwgNjYsIDgzLCA4NCwgNjUsIDgyLCAxMjgsIAorICAgIDY2LCA4MywgNzUsIDg1LCAyMTAsIDY2LCA4MywgNzUsIDY1LCAxNzMsIDY2LCA4MywgNjgsIDg1LCAyMTEsIDY2LCA4MiwgCisgICAgODUsIDgzLCAyMDAsIDY2LCA4MiwgNzksIDc4LCA5MCwgNjksIDEyOCwgNjYsIDgyLCA3OSwgNzUsIDY5LCAyMDYsIDY2LCAKKyAgICA4MiwgNzksIDY1LCAxOTYsIDY2LCA4MiwgNzMsIDgzLCA4NCwgNzYsIDY5LCAxMjgsIDY2LCA4MiwgNzMsIDcxLCA3MiwgODQsIAorICAgIDc4LCA2OSwgODMsIDIxMSwgNjYsIDgyLCA3MywgNjksIDcwLCA2NywgNjUsIDgzLCA2OSwgMTI4LCA2NiwgODIsIDczLCA2OCwgCisgICAgNzEsIDE5NywgNjYsIDgyLCA3MywgNjgsIDE5NywgNjYsIDgyLCA3MywgNjcsIDc1LCAxMjgsIDY2LCA4MiwgNjksIDg2LCAKKyAgICA3MywgODMsIDEyOCwgNjYsIDgyLCA2OSwgODYsIDY5LCA0NSwgNzcsIDY1LCA2NywgODIsIDc5LCA3OCwgMTI4LCA2NiwgODIsIAorICAgIDY5LCA4NiwgMTk3LCA2NiwgODIsIDY5LCA2NSwgODQsIDIwMCwgNjYsIDgyLCA2OSwgNjUsIDc1LCA4NCwgNzIsIDgyLCA3OSwgCisgICAgODUsIDcxLCA3MiwgMTI4LCA2NiwgODIsIDY5LCA2NSwgNjgsIDEyOCwgNjYsIDgyLCA2OCwgMTkzLCA2NiwgODIsIDY1LCAKKyAgICA3OCwgNjcsIDcyLCA3MywgNzgsIDE5OSwgNjYsIDgyLCA2NSwgNzgsIDY3LCA3MiwgMTI4LCA2NiwgODIsIDY1LCA3OCwgNjcsIAogICAgIDIwMCwgNjYsIDgyLCA2NSwgNzUsIDY3LCA2OSwgODQsIDEyOCwgNjYsIDgyLCA2NSwgNjcsIDc1LCA2OSwgODQsIDY5LCAKICAgICAxOTYsIDY2LCA4MiwgNjUsIDY3LCA3NSwgNjksIDIxMiwgNjYsIDgyLCA2NSwgNjcsIDY5LCAxMjgsIDY2LCA4MSwgMTI4LCAKLSAgICA2NiwgODAsIDcyLCAxMjgsIDY2LCA3OSwgODksIDEyOCwgNjYsIDc5LCA4NywgODQsIDczLCA2OSwgMTI4LCA2NiwgNzksIAotICAgIDg3LCA4NCwgNzMsIDE5NywgNjYsIDc5LCA4NywgNzYsIDczLCA3OCwgNzEsIDEyOCwgNjYsIDc5LCA4NywgNzYsIDEyOCwgCi0gICAgNjYsIDc5LCA4NywgNzMsIDc4LCAxOTksIDY2LCA3OSwgMjE1LCA2NiwgNzksIDg1LCA4MSwgODUsIDY5LCA4NCwgMTI4LCAKLSAgICA2NiwgNzksIDg1LCA3OCwgNjgsIDY1LCA4MiwgMjE3LCA2NiwgNzksIDg0LCA4NCwgNzksIDc3LCA0NSwgNzYsIDczLCA3MSwgCi0gICAgNzIsIDg0LCA2OSwgMTk2LCA2NiwgNzksIDg0LCA4NCwgNzksIDc3LCAxMjgsIDY2LCA3OSwgODQsIDg0LCA3OSwgMjA1LCAKLSAgICA2NiwgNzksIDg0LCA4NCwgNzYsIDY5LCAxMjgsIDY2LCA3OSwgODQsIDg0LCA3NiwgMTk3LCA2NiwgNzksIDg0LCAyMDAsIAotICAgIDY2LCA3OSwgODIsIDg1LCA4NCwgNzksIDEyOCwgNjYsIDc5LCA4MiwgNjUsIDg4LCA0NSwgNTEsIDEyOCwgNjYsIDc5LCA4MiwgCi0gICAgNjUsIDg4LCA0NSwgNTAsIDEyOCwgNjYsIDc5LCA4MiwgNjUsIDg4LCAxMjgsIDY2LCA3OSwgODAsIDc5LCA3NywgNzksIDcwLCAKLSAgICAyMDcsIDY2LCA3OSwgNzksIDg0LCA4MywgMTI4LCA2NiwgNzksIDc5LCA4NCwgMTI4LCA2NiwgNzksIDc5LCA3NywgNjksIAotICAgIDgyLCA2NSwgNzgsIDcxLCAxMjgsIDY2LCA3OSwgNzksIDc1LCA4MywgMTI4LCA2NiwgNzksIDc5LCA3NSwgNzcsIDY1LCA4MiwgCi0gICAgNzUsIDEyOCwgNjYsIDc5LCA3OSwgNzUsIDc3LCA2NSwgODIsIDIwMywgNjYsIDc5LCA3OCwgNjksIDEyOCwgNjYsIDc5LCAKLSAgICA3NywgNjYsIDEyOCwgNjYsIDc5LCA3NywgMTI4LCA2NiwgNzksIDc2LCA4NCwgMTI4LCA2NiwgNzksIDc2LCAyMTIsIDY2LCAKLSAgICA3OSwgNzIsIDY1LCA3MywgODIsIDczLCAxOTUsIDY2LCA3OSwgNjgsIDg5LCAxMjgsIDY2LCA3OSwgNjUsIDgyLCAxMjgsIAotICAgIDY2LCA3OSwgNjUsIDEyOCwgNjYsIDc2LCA4NSwgNjksIDEyOCwgNjYsIDc2LCA4NSwgMTk3LCA2NiwgNzYsIDc5LCA4NywgCi0gICAgNzAsIDczLCA4MywgNzIsIDEyOCwgNjYsIDc2LCA3OSwgODMsIDgzLCA3OSwgNzcsIDEyOCwgNjYsIDc2LCA3OSwgNzksIDY4LCAKLSAgICAxMjgsIDY2LCA3NiwgNzksIDc4LCAxOTYsIDY2LCA3NiwgNzksIDY3LCA3NSwgMTI4LCA2NiwgNzYsIDY5LCA3OCwgNjgsIAotICAgIDY5LCAxOTYsIDY2LCA3NiwgNjUsIDc4LCA3NSwgMTI4LCA2NiwgNzYsIDY1LCA3OCwgMjAzLCA2NiwgNzYsIDY1LCA2OCwgCi0gICAgMTk3LCA2NiwgNzYsIDY1LCA2NywgNzUsIDcwLCA3OSwgNzksIDIxMiwgNjYsIDc2LCA2NSwgNjcsIDc1LCA0NSwgNzYsIDY5LCAKLSAgICA4NCwgODQsIDY5LCAyMTAsIDY2LCA3NiwgNjUsIDY3LCA3NSwgNDUsIDcwLCA2OSwgNjUsIDg0LCA3MiwgNjksIDgyLCA2OSwgCi0gICAgMTk2LCA2NiwgNzYsIDY1LCA2NywgNzUsIDEyOCwgNjYsIDc1LCA2NSwgMTczLCA2NiwgNzMsIDg0LCA4NCwgNjksIDgyLCAKLSAgICAxMjgsIDY2LCA3MywgODQsIDczLCA3OCwgMTk5LCA2NiwgNzMsIDgzLCA3NywgODUsIDg0LCAyMDAsIDY2LCA3MywgODMsIAotICAgIDc3LCA3MywgNzYsIDc2LCA2NSwgMjAwLCA2NiwgNzMsIDgzLCA3MiwgNzksIDgwLCAxMjgsIDY2LCA3MywgODMsIDY5LCA2NywgCi0gICAgODQsIDczLCA3OCwgMTk5LCA2NiwgNzMsIDgzLCA2NSwgNzIsIDEyOCwgNjYsIDczLCA4MiwgODUsIDEyOCwgNjYsIDczLCAKLSAgICA4MiwgODQsIDcyLCA2OCwgNjUsIDIxNywgNjYsIDczLCA4MiwgNzEsIDY1LCAxMjgsIDY2LCA3MywgODIsIDY4LCAxMjgsIAotICAgIDY2LCA3MywgNzksIDcyLCA2NSwgOTAsIDY1LCA4MiwgMTk2LCA2NiwgNzMsIDc4LCA3OSwgNjcsIDg1LCA3NiwgNjUsIDIxMCwgCi0gICAgNjYsIDczLCA3OCwgNjgsIDczLCA3OCwgMTk5LCA2NiwgNzMsIDc4LCA2OCwgNzMsIDEyOCwgNjYsIDczLCA3OCwgNjUsIDgyLCAKLSAgICAyMTcsIDY2LCA3MywgNzYsIDc2LCA3MywgNjUsIDgyLCA2OCwgODMsIDEyOCwgNjYsIDczLCA3NiwgNjUsIDY2LCA3MywgNjUsIAotICAgIDIwNCwgNjYsIDczLCA3NSwgNzMsIDc4LCA3MywgMTI4LCA2NiwgNzMsIDcxLCAxMjgsIDY2LCA3MywgMTk5LCA2NiwgNzMsIAotICAgIDY5LCA4NCwgMTI4LCA2NiwgNzMsIDY4LCA2OSwgNzgsIDg0LCA2NSwgMjA0LCA2NiwgNzMsIDY4LCA2NSwgNzUsIDg1LCA3OSwgCisgICAgNjYsIDgwLCA3MiwgMTI4LCA2NiwgNzksIDg5LCAyMTEsIDY2LCA3OSwgODksIDEyOCwgNjYsIDc5LCA4NywgODQsIDczLCAKKyAgICA2OSwgMTI4LCA2NiwgNzksIDg3LCA4NCwgNzMsIDE5NywgNjYsIDc5LCA4NywgNzYsIDczLCA3OCwgNzEsIDEyOCwgNjYsIAorICAgIDc5LCA4NywgNzYsIDEyOCwgNjYsIDc5LCA4NywgNzMsIDc4LCAxOTksIDY2LCA3OSwgMjE1LCA2NiwgNzksIDg1LCA4MSwgCisgICAgODUsIDY5LCA4NCwgMTI4LCA2NiwgNzksIDg1LCA4MSwgODUsIDY5LCAyMTIsIDY2LCA3OSwgODUsIDc4LCA2OCwgNjUsIDgyLCAKKyAgICAyMTcsIDY2LCA3OSwgODQsIDg0LCA3OSwgNzcsIDQ1LCA4MywgNzIsIDY1LCA2OCwgNjksIDE5NiwgNjYsIDc5LCA4NCwgODQsIAorICAgIDc5LCA3NywgNDUsIDc2LCA3MywgNzEsIDcyLCA4NCwgNjksIDE5NiwgNjYsIDc5LCA4NCwgODQsIDc5LCA3NywgMTI4LCA2NiwgCisgICAgNzksIDg0LCA4NCwgNzksIDIwNSwgNjYsIDc5LCA4NCwgODQsIDc2LCA2OSwgMTI4LCA2NiwgNzksIDg0LCA4NCwgNzYsIAorICAgIDE5NywgNjYsIDc5LCA4NCwgMjAwLCA2NiwgNzksIDgyLCA4NSwgODQsIDc5LCAxMjgsIDY2LCA3OSwgODIsIDY1LCA4OCwgCisgICAgNDUsIDUxLCAxMjgsIDY2LCA3OSwgODIsIDY1LCA4OCwgNDUsIDUwLCAxMjgsIDY2LCA3OSwgODIsIDY1LCA4OCwgMTI4LCAKKyAgICA2NiwgNzksIDgwLCA3OSwgNzcsIDc5LCA3MCwgMjA3LCA2NiwgNzksIDc5LCA4NCwgODMsIDEyOCwgNjYsIDc5LCA3OSwgODQsIAorICAgIDEyOCwgNjYsIDc5LCA3OSwgNzcsIDY5LCA4MiwgNjUsIDc4LCA3MSwgMTI4LCA2NiwgNzksIDc5LCA3NSwgODMsIDEyOCwgCisgICAgNjYsIDc5LCA3OSwgNzUsIDc3LCA2NSwgODIsIDc1LCAxMjgsIDY2LCA3OSwgNzksIDc1LCA3NywgNjUsIDgyLCAyMDMsIDY2LCAKKyAgICA3OSwgNzgsIDY5LCAxMjgsIDY2LCA3OSwgNzcsIDY2LCAxMjgsIDY2LCA3OSwgNzcsIDEyOCwgNjYsIDc5LCA3NiwgODQsIAorICAgIDEyOCwgNjYsIDc5LCA3NiwgMjEyLCA2NiwgNzksIDcyLCA2NSwgNzMsIDgyLCA3MywgMTk1LCA2NiwgNzksIDY4LCA4OSwgCisgICAgMTI4LCA2NiwgNzksIDY1LCA4MiwgMTI4LCA2NiwgNzksIDY1LCAxMjgsIDY2LCA3NiwgODUsIDY5LCAxMjgsIDY2LCA3NiwgCisgICAgODUsIDE5NywgNjYsIDc2LCA3OSwgODcsIDczLCA3OCwgMTk5LCA2NiwgNzYsIDc5LCA4NywgNzAsIDczLCA4MywgNzIsIAorICAgIDEyOCwgNjYsIDc2LCA3OSwgODMsIDgzLCA3OSwgNzcsIDEyOCwgNjYsIDc2LCA3OSwgNzksIDY4LCAxMjgsIDY2LCA3NiwgCisgICAgNzksIDc4LCAxOTYsIDY2LCA3NiwgNzksIDY3LCA3NSwgMTI4LCA2NiwgNzYsIDY5LCA3OCwgNjgsIDY5LCAxOTYsIDY2LCAKKyAgICA3NiwgNjUsIDc4LCA3NSwgMTI4LCA2NiwgNzYsIDY1LCA3OCwgMjAzLCA2NiwgNzYsIDY1LCA2OCwgMTk3LCA2NiwgNzYsIAorICAgIDY1LCA2NywgNzUsIDc2LCA2OSwgODQsIDg0LCA2OSwgMjEwLCA2NiwgNzYsIDY1LCA2NywgNzUsIDcwLCA3OSwgNzksIDIxMiwgCisgICAgNjYsIDc2LCA2NSwgNjcsIDc1LCA0NSwgNzYsIDY5LCA4NCwgODQsIDY5LCAyMTAsIDY2LCA3NiwgNjUsIDY3LCA3NSwgNDUsIAorICAgIDcwLCA2OSwgNjUsIDg0LCA3MiwgNjksIDgyLCA2OSwgMTk2LCA2NiwgNzYsIDY1LCA2NywgNzUsIDEyOCwgNjYsIDc1LCA2NSwgCisgICAgMTczLCA2NiwgNzMsIDg0LCA4NCwgNjksIDgyLCAxMjgsIDY2LCA3MywgODQsIDczLCA3OCwgMTk5LCA2NiwgNzMsIDgzLCAKKyAgICA3NywgODUsIDg0LCAyMDAsIDY2LCA3MywgODMsIDc3LCA3MywgNzYsIDc2LCA2NSwgMjAwLCA2NiwgNzMsIDgzLCA3MiwgNzksIAorICAgIDgwLCAxMjgsIDY2LCA3MywgODMsIDY5LCA2NywgODQsIDczLCA3OCwgMTk5LCA2NiwgNzMsIDgzLCA2NSwgNzIsIDEyOCwgCisgICAgNjYsIDczLCA4MiwgODUsIDEyOCwgNjYsIDczLCA4MiwgODQsIDcyLCA2OCwgNjUsIDIxNywgNjYsIDczLCA4MiwgNzEsIDY1LCAKKyAgICAxMjgsIDY2LCA3MywgODIsIDY4LCAxMjgsIDY2LCA3MywgNzksIDcyLCA2NSwgOTAsIDY1LCA4MiwgMTk2LCA2NiwgNzMsIAorICAgIDc4LCA3OSwgNjcsIDg1LCA3NiwgNjUsIDIxMCwgNjYsIDczLCA3OCwgNjgsIDczLCA3OCwgMTk5LCA2NiwgNzMsIDc4LCA2OCwgCisgICAgNzMsIDEyOCwgNjYsIDczLCA3OCwgNjUsIDgyLCAyMTcsIDY2LCA3MywgNzYsIDc2LCA3MywgNzksIDc4LCA4MywgMTI4LCAKKyAgICA2NiwgNzMsIDc2LCA3NiwgNzMsIDY1LCA4MiwgNjgsIDgzLCAxMjgsIDY2LCA3MywgNzYsIDY1LCA2NiwgNzMsIDY1LCAyMDQsIAorICAgIDY2LCA3MywgNzUsIDczLCA3OCwgNzMsIDEyOCwgNjYsIDczLCA3MSwgMTI4LCA2NiwgNzMsIDE5OSwgNjYsIDczLCA2OSwgCisgICAgODQsIDEyOCwgNjYsIDczLCA2OCwgNjksIDc4LCA4NCwgNjUsIDIwNCwgNjYsIDczLCA2OCwgNjUsIDc1LCA4NSwgNzksIAogICAgIDIwNiwgNjYsIDczLCA2NywgODksIDY3LCA3NiwgNzMsIDgzLCA4NCwgMTI4LCA2NiwgNzMsIDY3LCA4OSwgNjcsIDc2LCA2OSwgCiAgICAgODMsIDEyOCwgNjYsIDczLCA2NywgODksIDY3LCA3NiwgNjksIDEyOCwgNjYsIDczLCA2NywgNjksIDgwLCA4MywgMTI4LCAKICAgICA2NiwgNzMsIDY2LCA3NiwgNjksIDQ1LCA2NywgODIsIDY5LCAxOTcsIDY2LCA3MywgNjYsIDEyOCwgNjYsIDIwMSwgNjYsIApAQCAtNDM1MSwxNTQ4NyArNDU4MSwxNzIwMSBAQAogICAgIDg0LCA4NywgNjksIDY5LCAyMDYsIDY2LCA2OSwgODQsIDcyLCAxMjgsIDY2LCA2OSwgODQsIDY1LCAxMjgsIDY2LCA2OSwgCiAgICAgODQsIDE5MywgNjYsIDY5LCAyMTIsIDY2LCA2OSwgODMsIDczLCA2OCwgMTk3LCA2NiwgNjksIDgyLCA3NSwgNjUsIDc4LCAKICAgICA2NSwgMjA2LCA2NiwgNjksIDgyLCA2NiwgNjksIDIxMCwgNjYsIDY5LCA4MCwgMTI4LCA2NiwgNjksIDc5LCA4MiwgMTk1LCAKLSAgICA2NiwgNjksIDc4LCA5MCwgNjksIDc4LCAxOTcsIDY2LCA2OSwgNzgsIDg0LCAyMDcsIDY2LCA2OSwgNzgsIDY4LCA2OSwgCi0gICAgMTI4LCA2NiwgNjksIDc4LCA2OCwgMTI4LCA2NiwgNjksIDIwNiwgNjYsIDY5LCA3NiwgODQsIDEyOCwgNjYsIDY5LCA3NiwgCi0gICAgMjEyLCA2NiwgNjksIDc2LCA3OSwgMjE1LCA2NiwgNjksIDc2LCA3NiwgMTI4LCA2NiwgNjksIDc2LCAyMDQsIDY2LCA2OSwgCi0gICAgNzYsIDcxLCA4NCwgNzIsIDc5LCAyMTAsIDY2LCA2OSwgNzYsIDEyOCwgNjYsIDY5LCA3MywgODQsIDcyLCAxMjgsIDY2LCAKLSAgICA2OSwgNzIsIDczLCA3OCwgMTk2LCA2NiwgNjksIDcyLCA2OSwgNzIsIDEyOCwgNjYsIDY5LCA3MiwgNjksIDIwMCwgNjYsIAotICAgIDY5LCA3MiwgMTI4LCA2NiwgNjksIDIwMCwgNjYsIDY5LCA3MSwgNzMsIDc4LCA3OCwgNzMsIDc4LCA3MSwgMTI4LCA2NiwgCi0gICAgNjksIDcxLCA3MywgNzgsIDc4LCA2OSwgODIsIDEyOCwgNjYsIDY5LCA3MSwgNzMsIDIwNiwgNjYsIDY5LCA3MCwgNzksIDgyLCAKLSAgICAxOTcsIDY2LCA2OSwgNjksIDg0LCA3NiwgNjksIDEyOCwgNjYsIDY5LCA2OSwgODQsIDY1LCAxMjgsIDY2LCA2OSwgNjksIAotICAgIDIxMCwgNjYsIDY5LCA2OSwgNzIsIDczLCA4NiwgNjksIDEyOCwgNjYsIDY5LCA2OSwgNzIsIDEyOCwgNjYsIDY5LCA2OSwgCi0gICAgMjAwLCA2NiwgNjksIDY3LCA2NSwgODUsIDgzLCA2OSwgMTI4LCA2NiwgNjksIDY1LCA4NiwgNjksIDIxMCwgNjYsIDY5LCAKLSAgICA2NSwgODQsIDczLCA3OCwgMTk5LCA2NiwgNjksIDY1LCA4NCwgMTI4LCA2NiwgNjksIDY1LCAyMTAsIDY2LCA2OSwgNjUsIAotICAgIDc4LCAxMjgsIDY2LCA2OSwgNjUsIDc3LCA2OSwgMTk2LCA2NiwgNjcsIDY1LCA2OCwgMTI4LCA2NiwgNjcsIDY1LCAxOTYsIAotICAgIDY2LCA2NiwgODksIDg4LCAxMjgsIDY2LCA2NiwgODksIDg0LCAxMjgsIDY2LCA2NiwgODksIDgwLCAxMjgsIDY2LCA2NiwgCi0gICAgODksIDEyOCwgNjYsIDY2LCA4NSwgODgsIDEyOCwgNjYsIDY2LCA4NSwgODQsIDEyOCwgNjYsIDY2LCA4NSwgODIsIDg4LCAKLSAgICAxMjgsIDY2LCA2NiwgODUsIDgyLCAxMjgsIDY2LCA2NiwgODUsIDgwLCAxMjgsIDY2LCA2NiwgODUsIDc5LCA4OCwgMTI4LCAKLSAgICA2NiwgNjYsIDg1LCA3OSwgODAsIDEyOCwgNjYsIDY2LCA4NSwgNzksIDEyOCwgNjYsIDY2LCA4NSwgMTI4LCA2NiwgNjYsIAotICAgIDc5LCA4OCwgMTI4LCA2NiwgNjYsIDc5LCA4NCwgMTI4LCA2NiwgNjYsIDc5LCA4MCwgMTI4LCA2NiwgNjYsIDc5LCAxMjgsIAotICAgIDY2LCA2NiwgNzMsIDg4LCAxMjgsIDY2LCA2NiwgNzMsIDgwLCAxMjgsIDY2LCA2NiwgNzMsIDY5LCA4OCwgMTI4LCA2NiwgCi0gICAgNjYsIDczLCA2OSwgODQsIDEyOCwgNjYsIDY2LCA3MywgNjksIDgwLCAxMjgsIDY2LCA2NiwgNzMsIDY5LCAxMjgsIDY2LCAKLSAgICA2NiwgNzMsIDEyOCwgNjYsIDY2LCA2OSwgODgsIDEyOCwgNjYsIDY2LCA2OSwgODAsIDEyOCwgNjYsIDY2LCA2OSwgNjksIAotICAgIDEyOCwgNjYsIDY2LCA2OSwgMTI4LCA2NiwgNjYsIDY1LCA4OCwgMTI4LCA2NiwgNjYsIDY1LCA4NCwgMTI4LCA2NiwgNjYsIAotICAgIDY1LCA4MCwgMTI4LCA2NiwgNjYsIDY1LCA2NSwgMTI4LCA2NiwgNjYsIDY1LCAxMjgsIDY2LCA2NSwgODksIDY1LCA3OCwgCi0gICAgNzgsIDY1LCAxMjgsIDY2LCA2NSwgODUsIDEyOCwgNjYsIDY1LCA4NCwgODQsIDY5LCA4MiwgODksIDEyOCwgNjYsIDY1LCAKLSAgICA4NCwgNzIsIDg0LCA4NSwgNjYsIDEyOCwgNjYsIDY1LCA4NCwgNzIsIDY1LCA3NywgNjUsIDgzLCA2NSwgODQsIDEyOCwgNjYsIAotICAgIDY1LCA4NCwgNzIsIDEyOCwgNjYsIDY1LCA4NCwgMjAwLCA2NiwgNjUsIDg0LCA2NSwgMjAzLCA2NiwgNjUsIDgzLCA4MywgCi0gICAgNjUsIDEyOCwgNjYsIDY1LCA4MywgNzUsIDY5LCA4NCwgNjYsIDY1LCA3NiwgMjA0LCA2NiwgNjUsIDgzLCA3MiwgNzUsIDczLCAKLSAgICAyMTAsIDY2LCA2NSwgODMsIDcyLCAxMjgsIDY2LCA2NSwgODMsIDY5LCA2NiwgNjUsIDc2LCA3NiwgMTI4LCA2NiwgNjUsIAotICAgIDgzLCA2OSwgMTI4LCA2NiwgNjUsIDgzLCAxOTcsIDY2LCA2NSwgODIsIDgzLCAxMjgsIDY2LCA2NSwgODIsIDgyLCA3MywgCi0gICAgNjksIDgyLCAxMjgsIDY2LCA2NSwgODIsIDgyLCA2OSwgNzUsIDcyLCAxMjgsIDY2LCA2NSwgODIsIDgyLCA2OSwgNjksIAotICAgIDEyOCwgNjYsIDY1LCA4MiwgODIsIDY5LCAxOTcsIDY2LCA2NSwgODIsIDc2LCA3MywgNzgsIDY5LCAxMjgsIDY2LCA2NSwgCi0gICAgODIsIDc2LCA2OSwgODksIDEyOCwgNjYsIDY1LCA4MiwgNzMsIDg5LCA3OSwgNzksIDgzLCA2NSwgNzgsIDEyOCwgNjYsIDY1LCAKLSAgICA4MiwgNjYsIDY5LCAyMTAsIDY2LCA2NSwgODIsIDE5NCwgNjYsIDY1LCA4MiwgNjUsIDUwLCAxMjgsIDY2LCA2NSwgMjEwLCAKLSAgICA2NiwgNjUsIDc4LCA4NCwgNzksIDY3LCAxMjgsIDY2LCA2NSwgNzgsIDc1LCA3OCwgNzksIDg0LCAxOTcsIDY2LCA2NSwgNzgsIAotICAgIDc1LCAxMjgsIDY2LCA2NSwgNzgsIDIwMywgNjYsIDY1LCA3OCwgNjgsIDEyOCwgNjYsIDY1LCA3OCwgNjUsIDc4LCA2NSwgCi0gICAgMTI4LCA2NiwgNjUsIDc4LCA1MCwgMTI4LCA2NiwgNjUsIDc4LCAxNzgsIDY2LCA2NSwgNzcsIDY2LCA3OSwgNzksIDgzLCAKLSAgICAxMjgsIDY2LCA2NSwgNzcsIDY2LCA3OSwgNzksIDEyOCwgNjYsIDY1LCA3NiwgODUsIDY4LCA2NSwgMTI4LCA2NiwgNjUsIAotICAgIDc2LCA3NiwgNzksIDIxMiwgNjYsIDY1LCA3NiwgNzYsIDc5LCA3OSwgNzgsIDQ1LCA4MywgODAsIDc5LCA3NSwgNjksIDE5NiwgCi0gICAgNjYsIDY1LCA3NiwgNzYsIDc5LCA3OSwgNzgsIDEyOCwgNjYsIDY1LCA3NiwgNjUsIDcxLCAxMjgsIDY2LCA2NSwgNzYsIAotICAgIDEyOCwgNjYsIDY1LCAyMDQsIDY2LCA2NSwgNzMsIDgyLCA3NSwgNjUsIDc4LCAxMjgsIDY2LCA2NSwgNzMsIDc3LCA2NSwgCi0gICAgNzMsIDEyOCwgNjYsIDY1LCA3MiwgODQsIDEyOCwgNjYsIDY1LCA3MiwgNzMsIDgyLCA3MSwgNzksIDc3LCA4NSwgNzUsIDcyLCAKLSAgICA2NSwgMTI4LCA2NiwgNjUsIDcyLCA2NSwgODIsIDUwLCAxMjgsIDY2LCA2NSwgNzIsIDEyOCwgNjYsIDY1LCA3MSwgNzEsIAotICAgIDY1LCA3MSwgMTk3LCA2NiwgNjUsIDcxLCA2NSwgMTI4LCA2NiwgNjUsIDcxLCA1MSwgMTI4LCA2NiwgNjUsIDE5OSwgNjYsIAotICAgIDY1LCA2OCwgNzEsIDY5LCA4MiwgMTI4LCA2NiwgNjUsIDY4LCA3MSwgNjksIDEyOCwgNjYsIDY1LCA2OCwgMTI4LCA2NiwgCi0gICAgNjUsIDY3LCA4NCwgODIsIDczLCA2NSwgMjA2LCA2NiwgNjUsIDY3LCA3NSwgODcsIDY1LCA4MiwgNjgsIDEyOCwgNjYsIDY1LCAKLSAgICA2NywgNzUsIDgzLCA4MCwgNjUsIDY3LCA2OSwgMTI4LCA2NiwgNjUsIDY3LCA3NSwgODMsIDc2LCA2NSwgODMsIDcyLCAxMjgsIAotICAgIDY2LCA2NSwgNjcsIDc1LCA4MywgNzYsIDY1LCA4MywgMjAwLCA2NiwgNjUsIDY3LCA3NSwgNzIsIDY1LCA3OCwgMTk2LCA2NiwgCi0gICAgNjUsIDY3LCA3NSwgNDUsIDg0LCA3MywgNzYsIDg0LCA2OSwgMTk2LCA2NiwgNjUsIDY3LCA3NSwgMTI4LCA2NiwgNjUsIDY3LCAKLSAgICAyMDMsIDY2LCA2NSwgNjYsIDg5LCAxMjgsIDY2LCA2NSwgNjYsIDIxNywgNjYsIDY1LCA2NSwgODIsIDY5LCA4MiwgODUsIAotICAgIDEyOCwgNjYsIDY1LCA0NSwgNTAsIDEyOCwgNjYsIDUxLCA0OCwgNTMsIDEyOCwgNjYsIDUwLCA1MywgNTcsIDEyOCwgNjYsIAotICAgIDUwLCA1MywgNTYsIDEyOCwgNjYsIDUwLCA1MywgNTUsIDEyOCwgNjYsIDUwLCA1MywgNTQsIDEyOCwgNjYsIDUwLCA1MywgCi0gICAgNTMsIDEyOCwgNjYsIDUwLCA1MywgMTgwLCA2NiwgNTAsIDUzLCA1MSwgMTI4LCA2NiwgNTAsIDUzLCA1MCwgMTI4LCA2NiwgCi0gICAgNTAsIDUzLCA0OSwgMTI4LCA2NiwgNTAsIDUzLCA0OCwgMTI4LCA2NiwgNTAsIDUyLCA1NywgMTI4LCA2NiwgNTAsIDUyLCAKLSAgICA1NiwgMTI4LCA2NiwgNTAsIDUyLCAxODMsIDY2LCA1MCwgNTIsIDU0LCAxMjgsIDY2LCA1MCwgNTIsIDUzLCAxMjgsIDY2LCAKLSAgICA1MCwgNTIsIDE3OSwgNjYsIDUwLCA1MiwgMTc4LCA2NiwgNTAsIDUyLCAxNzcsIDY2LCA1MCwgNTIsIDE3NiwgNjYsIDUwLCAKLSAgICA1MSwgNTQsIDEyOCwgNjYsIDUwLCA1MSwgNTIsIDEyOCwgNjYsIDUwLCA1MSwgMTc5LCA2NiwgNTAsIDUxLCA1MCwgMTI4LCAKLSAgICA2NiwgNTAsIDUxLCAxNzcsIDY2LCA1MCwgNTEsIDE3NiwgNjYsIDUwLCA1MCwgNTcsIDEyOCwgNjYsIDUwLCA1MCwgNTYsIAotICAgIDEyOCwgNjYsIDUwLCA1MCwgNTUsIDEyOCwgNjYsIDUwLCA1MCwgNTQsIDEyOCwgNjYsIDUwLCA1MCwgMTgxLCA2NiwgNTAsIAotICAgIDUwLCA1MCwgMTI4LCA2NiwgNTAsIDUwLCA0OSwgMTI4LCA2NiwgNTAsIDUwLCAxNzYsIDY2LCA1MCwgNDksIDU3LCAxMjgsIAotICAgIDY2LCA1MCwgNDksIDU2LCAxMjgsIDY2LCA1MCwgNDksIDU1LCAxMjgsIDY2LCA1MCwgNDksIDU0LCAxMjgsIDY2LCA1MCwgCi0gICAgNDksIDUzLCAxMjgsIDY2LCA1MCwgNDksIDUyLCAxMjgsIDY2LCA1MCwgNDksIDUxLCAxMjgsIDY2LCA1MCwgNDksIDUwLCAKLSAgICAxMjgsIDY2LCA1MCwgNDksIDQ5LCAxMjgsIDY2LCA1MCwgNDksIDQ4LCAxMjgsIDY2LCA1MCwgNDgsIDU3LCAxMjgsIDY2LCAKLSAgICA1MCwgNDgsIDU2LCAxMjgsIDY2LCA1MCwgNDgsIDU1LCAxMjgsIDY2LCA1MCwgNDgsIDU0LCAxMjgsIDY2LCA1MCwgNDgsIAotICAgIDUzLCAxMjgsIDY2LCA1MCwgNDgsIDUyLCAxMjgsIDY2LCA1MCwgNDgsIDUxLCAxMjgsIDY2LCA1MCwgNDgsIDUwLCAxMjgsIAotICAgIDY2LCA1MCwgNDgsIDQ5LCAxMjgsIDY2LCA1MCwgNDgsIDQ4LCAxMjgsIDY2LCA0OSwgNTcsIDE3NywgNjYsIDQ5LCA1NywgCi0gICAgNDgsIDEyOCwgNjYsIDQ5LCA1NiwgNTcsIDEyOCwgNjYsIDQ5LCA1NiwgNTMsIDEyOCwgNjYsIDQ5LCA1NiwgNTIsIDEyOCwgCi0gICAgNjYsIDQ5LCA1NiwgNTEsIDEyOCwgNjYsIDQ5LCA1NiwgNTAsIDEyOCwgNjYsIDQ5LCA1NiwgNDksIDEyOCwgNjYsIDQ5LCAKLSAgICA1NiwgNDgsIDEyOCwgNjYsIDQ5LCA1NSwgNTcsIDEyOCwgNjYsIDQ5LCA1NSwgNTYsIDEyOCwgNjYsIDQ5LCA1NSwgNTUsIAotICAgIDEyOCwgNjYsIDQ5LCA1NSwgMTgyLCA2NiwgNDksIDU1LCA1MiwgMTI4LCA2NiwgNDksIDU1LCAxNzksIDY2LCA0OSwgNTUsIAotICAgIDUwLCAxMjgsIDY2LCA0OSwgNTUsIDQ5LCAxMjgsIDY2LCA0OSwgNTUsIDQ4LCAxMjgsIDY2LCA0OSwgNTQsIDU3LCAxMjgsIAotICAgIDY2LCA0OSwgNTQsIDU2LCAxMjgsIDY2LCA0OSwgNTQsIDU1LCAxMjgsIDY2LCA0OSwgNTQsIDU0LCAxMjgsIDY2LCA0OSwgCi0gICAgNTQsIDUzLCAxMjgsIDY2LCA0OSwgNTQsIDUyLCAxMjgsIDY2LCA0OSwgNTQsIDE3OSwgNjYsIDQ5LCA1NCwgMTc4LCA2NiwgCi0gICAgNDksIDU0LCA0OSwgMTI4LCA2NiwgNDksIDU0LCA0OCwgMTI4LCA2NiwgNDksIDUzLCAxODUsIDY2LCA0OSwgNTMsIDU2LCAKLSAgICAxMjgsIDY2LCA0OSwgNTMsIDU1LCAxMjgsIDY2LCA0OSwgNTMsIDE4MiwgNjYsIDQ5LCA1MywgNTMsIDEyOCwgNjYsIDQ5LCAKLSAgICA1MywgNTIsIDEyOCwgNjYsIDQ5LCA1MywgNTEsIDEyOCwgNjYsIDQ5LCA1MywgNTAsIDEyOCwgNjYsIDQ5LCA1MywgMTc3LCAKLSAgICA2NiwgNDksIDUzLCA0OCwgMTI4LCA2NiwgNDksIDUyLCA1NCwgMTI4LCA2NiwgNDksIDUyLCAxODEsIDY2LCA0OSwgNTIsIAotICAgIDUwLCAxMjgsIDY2LCA0OSwgNTIsIDE3NywgNjYsIDQ5LCA1MiwgMTc2LCA2NiwgNDksIDUxLCAxODEsIDY2LCA0OSwgNTEsIAotICAgIDE3OSwgNjYsIDQ5LCA1MSwgNTAsIDEyOCwgNjYsIDQ5LCA1MSwgMTc3LCA2NiwgNDksIDUxLCAxNzYsIDY2LCA0OSwgNTAsIAotICAgIDE4NCwgNjYsIDQ5LCA1MCwgMTgzLCA2NiwgNDksIDUwLCAxODEsIDY2LCA0OSwgNTAsIDE3OSwgNjYsIDQ5LCA1MCwgMTc4LCAKLSAgICA2NiwgNDksIDUwLCAxNzcsIDY2LCA0OSwgNTAsIDE3NiwgNjYsIDQ5LCA0OCwgNTcsIDIwNSwgNjYsIDQ5LCA0OCwgNTcsIAotICAgIDE5OCwgNjYsIDQ5LCA0OCwgNTYsIDIwNSwgNjYsIDQ5LCA0OCwgNTYsIDE5OCwgNjYsIDQ5LCA0OCwgNTUsIDIwNSwgNjYsIAotICAgIDQ5LCA0OCwgNTUsIDE5OCwgNjYsIDQ5LCA0OCwgNTQsIDIwNSwgNjYsIDQ5LCA0OCwgNTQsIDE5OCwgNjYsIDQ5LCA0OCwgCi0gICAgNTMsIDIwNSwgNjYsIDQ5LCA0OCwgNTMsIDE5OCwgNjYsIDQ5LCA0OCwgMTgxLCA2NiwgNDksIDQ4LCAxODAsIDY2LCA0OSwgCi0gICAgNDgsIDE3OCwgNjYsIDQ5LCA0OCwgMTc2LCA2NiwgNDgsIDU3LCAxNzcsIDY2LCA0OCwgNTcsIDE3NiwgNjYsIDQ4LCA1NiwgCi0gICAgNTcsIDEyOCwgNjYsIDQ4LCA1NiwgMTgzLCA2NiwgNDgsIDU2LCA1NCwgMTI4LCA2NiwgNDgsIDU2LCAxODEsIDY2LCA0OCwgCi0gICAgNTYsIDUxLCAxMjgsIDY2LCA0OCwgNTYsIDUwLCAxMjgsIDY2LCA0OCwgNTYsIDE3NywgNjYsIDQ4LCA1NiwgMTc2LCA2NiwgCi0gICAgNDgsIDU1LCA1NywgMTI4LCA2NiwgNDgsIDU1LCAxODQsIDY2LCA0OCwgNTUsIDE4MywgNjYsIDQ4LCA1NSwgMTgyLCA2NiwgCi0gICAgNDgsIDU1LCAxODEsIDY2LCA0OCwgNTUsIDE4MCwgNjYsIDQ4LCA1NSwgMTc5LCA2NiwgNDgsIDU1LCAxNzgsIDY2LCA0OCwgCi0gICAgNTUsIDE3NywgNjYsIDQ4LCA1NSwgMTc2LCA2NiwgNDgsIDU0LCAxODUsIDY2LCA0OCwgNTQsIDE4NCwgNjYsIDQ4LCA1NCwgCi0gICAgMTgzLCA2NiwgNDgsIDU0LCAxODIsIDY2LCA0OCwgNTQsIDE4MSwgNjYsIDQ4LCA1NCwgNTIsIDEyOCwgNjYsIDQ4LCA1NCwgCi0gICAgNTEsIDEyOCwgNjYsIDQ4LCA1NCwgMTc4LCA2NiwgNDgsIDU0LCAxNzcsIDY2LCA0OCwgNTQsIDE3NiwgNjYsIDQ4LCA1MywgCi0gICAgMTg1LCA2NiwgNDgsIDUzLCAxODQsIDY2LCA0OCwgNTMsIDE4MywgNjYsIDQ4LCA1MywgNTQsIDEyOCwgNjYsIDQ4LCA1MywgCi0gICAgMTgxLCA2NiwgNDgsIDUzLCAxODAsIDY2LCA0OCwgNTMsIDE3OSwgNjYsIDQ4LCA1MywgMTc4LCA2NiwgNDgsIDUzLCAxNzcsIAotICAgIDY2LCA0OCwgNTMsIDE3NiwgNjYsIDQ4LCA1MiwgNTcsIDEyOCwgNjYsIDQ4LCA1MiwgMTg0LCA2NiwgNDgsIDUyLCA1NSwgCi0gICAgMTI4LCA2NiwgNDgsIDUyLCAxODIsIDY2LCA0OCwgNTIsIDE4MSwgNjYsIDQ4LCA1MiwgMTgwLCA2NiwgNDgsIDUyLCAxNzksIAotICAgIDY2LCA0OCwgNTIsIDE3OCwgNjYsIDQ4LCA1MiwgMTc3LCA2NiwgNDgsIDUyLCAxNzYsIDY2LCA0OCwgNTEsIDE4NSwgNjYsIAotICAgIDQ4LCA1MSwgMTg0LCA2NiwgNDgsIDUxLCAxODMsIDY2LCA0OCwgNTEsIDE4MiwgNjYsIDQ4LCA1MSwgNTIsIDEyOCwgNjYsIAotICAgIDQ4LCA1MSwgMTc5LCA2NiwgNDgsIDUxLCAxNzgsIDY2LCA0OCwgNTEsIDE3NywgNjYsIDQ4LCA1MSwgMTc2LCA2NiwgNDgsIAotICAgIDUwLCAxODUsIDY2LCA0OCwgNTAsIDE4NCwgNjYsIDQ4LCA1MCwgMTgzLCA2NiwgNDgsIDUwLCAxODIsIDY2LCA0OCwgNTAsIAotICAgIDE4MSwgNjYsIDQ4LCA1MCwgMTgwLCA2NiwgNDgsIDUwLCAxNzksIDY2LCA0OCwgNTAsIDUwLCAxMjgsIDY2LCA0OCwgNTAsIAotICAgIDE3NywgNjYsIDQ4LCA1MCwgMTc2LCA2NiwgNDgsIDQ5LCA1NywgMTI4LCA2NiwgNDgsIDQ5LCA1NiwgMTI4LCA2NiwgNDgsIAotICAgIDQ5LCAxODMsIDY2LCA0OCwgNDksIDE4MiwgNjYsIDQ4LCA0OSwgMTgxLCA2NiwgNDgsIDQ5LCAxODAsIDY2LCA0OCwgNDksIAotICAgIDE3OSwgNjYsIDQ4LCA0OSwgMTc4LCA2NiwgNDgsIDQ5LCAxNzcsIDY2LCA0OCwgNDksIDE3NiwgNjYsIDQ4LCA0OCwgNTcsIAotICAgIDEyOCwgNjYsIDQ4LCA0OCwgMTg1LCA2NiwgNDgsIDQ4LCA1NiwgMTI4LCA2NiwgNDgsIDQ4LCAxODQsIDY2LCA0OCwgNDgsIAotICAgIDU1LCAxMjgsIDY2LCA0OCwgNDgsIDE4MywgNjYsIDQ4LCA0OCwgNTQsIDEyOCwgNjYsIDQ4LCA0OCwgMTgyLCA2NiwgNDgsIAotICAgIDQ4LCA1MywgNjUsIDEyOCwgNjYsIDQ4LCA0OCwgNTMsIDEyOCwgNjYsIDQ4LCA0OCwgMTgxLCA2NiwgNDgsIDQ4LCA1MiwgCi0gICAgMTI4LCA2NiwgNDgsIDQ4LCAxODAsIDY2LCA0OCwgNDgsIDUxLCAxMjgsIDY2LCA0OCwgNDgsIDE3OSwgNjYsIDQ4LCA0OCwgCi0gICAgNTAsIDEyOCwgNjYsIDQ4LCA0OCwgMTc4LCA2NiwgNDgsIDQ4LCA0OSwgMTI4LCA2NiwgNDgsIDQ4LCAxNzcsIDY1LCA5MCwgCi0gICAgODUsIDEyOCwgNjUsIDg5LCA2OSwgMjEwLCA2NSwgODksIDY2LCAxMjgsIDY1LCA4OSwgNjUsIDcyLCAxMjgsIDY1LCA4OCwgCi0gICAgNjksIDEyOCwgNjUsIDg3LCA2OSwgMTI4LCA2NSwgODYsIDY5LCA4MywgODQsIDY1LCAyMDYsIDY1LCA4NiwgNjksIDgyLCAKLSAgICA2NSwgNzEsIDE5NywgNjUsIDg2LCA2NSwgNzUsIDgyLCA2NSwgNzIsIDY1LCA4MywgNjUsIDc4LCA4OSwgNjUsIDEyOCwgNjUsIAotICAgIDg2LCA2NSwgNzEsIDgyLCA2NSwgNzIsIDY1LCAxMjgsIDY1LCA4NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDY1LCA4NSwgCi0gICAgODQsIDg1LCA3NywgNzgsIDEyOCwgNjUsIDg1LCA4NCwgNzksIDc3LCA3OSwgNjYsIDczLCA3NiwgNjksIDEyOCwgNjUsIDg1LCAKLSAgICA4NCwgNzksIDc3LCA2NSwgODQsIDY5LCAxOTYsIDY1LCA4NSwgODMsIDg0LCA4MiwgNjUsIDIwNCwgNjUsIDg1LCA4MiwgNzMsIAotICAgIDgwLCA3MywgNzEsIDc3LCA2OSwgNzgsIDg0LCAxMjgsIDY1LCA4NSwgODIsIDY1LCA3NywgNjUsIDkwLCA2OCwgNjUsIDY1LCAKLSAgICA3MiwgNjUsIDEyOCwgNjUsIDg1LCA4MiwgNjUsIDc3LCA2NSwgOTAsIDY4LCA2NSwgNjUsIDQ1LCA1MCwgMTI4LCA2NSwgODUsIAotICAgIDgyLCA2NSwgNzcsIDY1LCA5MCwgNjgsIDY1LCA2NSwgMTI4LCA2NSwgODUsIDc4LCA3OCwgMTI4LCA2NSwgODUsIDcxLCA4NSwgCi0gICAgODMsIDg0LCAxMjgsIDY1LCA4NSwgNzEsIDc3LCA2OSwgNzgsIDg0LCA2NSwgODQsIDczLCA3OSwgMjA2LCA2NSwgODUsIDY5LCAKLSAgICAxMjgsIDY1LCA4NSwgNjYsIDY5LCA4MiwgNzEsIDczLCA3OCwgNjksIDEyOCwgNjUsIDg0LCA4NCwgNzMsIDE5NSwgNjUsIAotICAgIDg0LCA4NCwgNzIsIDY1LCA2NywgNjUsIDc4LCAxMjgsIDY1LCA4NCwgODQsIDY5LCA3OCwgODQsIDczLCA3OSwgNzgsIDEyOCwgCi0gICAgNjUsIDg0LCA4NCwgNjUsIDIwMywgNjUsIDg0LCA3OSwgMjA1LCA2NSwgODQsIDc4LCA2NSwgMjAwLCA2NSwgODQsIDc3LCAKLSAgICA2NSwgNjUsIDg1LCAxMjgsIDY1LCA4NCwgNzMsIDg5LCA2NSwgMTI4LCA2NSwgODQsIDcyLCA3NiwgNjksIDg0LCA3MywgCi0gICAgMTk1LCA2NSwgODQsIDcyLCA2NSwgODIsIDg2LCA2NSwgODYsIDY5LCA2OCwgNzMsIDE5NSwgNjUsIDg0LCA3MiwgNjUsIDgwLCAKLSAgICA2NSwgODMsIDY3LCA2NSwgMjA2LCA2NSwgODMsIDkwLCAxMjgsIDY1LCA4MywgODksIDg1LCA4MiwgMTkzLCA2NSwgODMsIAotICAgIDg5LCA3NywgODAsIDg0LCA3OSwgODQsIDczLCA2NywgNjUsIDc2LCA3NiwgMjE3LCA2NSwgODMsIDg0LCA4MiwgNzksIDc4LCAKLSAgICA3OSwgNzcsIDczLCA2NywgNjUsIDIwNCwgNjUsIDgzLCA4NCwgODIsIDc5LCA3NiwgNzksIDcxLCA3MywgNjcsIDY1LCAyMDQsIAotICAgIDY1LCA4MywgODQsIDc5LCA3OCwgNzMsIDgzLCA3MiwgNjksIDE5NiwgNjUsIDgzLCA4NCwgNjksIDgyLCA3MywgODMsIDc3LCAKLSAgICAxMjgsIDY1LCA4MywgODQsIDY5LCA4MiwgNzMsIDgzLCA3NSwgMjExLCA2NSwgODMsIDg0LCA2OSwgODIsIDczLCA4MywgNzUsIAotICAgIDEyOCwgNjUsIDgzLCA4NCwgNjksIDgyLCA3MywgODMsIDIwMywgNjUsIDgzLCA4NCwgNjksIDgyLCA3MywgODMsIDY3LCA4NSwgCi0gICAgODMsIDEyOCwgNjUsIDgzLCA4MywgODksIDgyLCA3MywgNjUsIDIwNiwgNjUsIDgzLCA4MywgNjksIDgyLCA4NCwgNzMsIDc5LCAKLSAgICA3OCwgMTI4LCA2NSwgODMsIDgwLCA3MywgODIsIDY1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA2NSwgODMsIDgwLCA3MywgODIsIAotICAgIDY1LCA4NCwgNjksIDE5NiwgNjUsIDgzLCA4MCwgNjksIDgyLCAxMjgsIDY1LCA4MywgNzMsIDY1LCA0NSwgNjUsIDg1LCA4MywgCi0gICAgODQsIDgyLCA2NSwgNzYsIDczLCA2NSwgMTI4LCA2NSwgODMsIDcyLCA3MSwgNjUsIDY2LCAxMjgsIDY1LCA4MywgNzIsIDY5LCAKLSAgICA4MywgMTI4LCA2NSwgODMsIDcyLCA1NywgMTI4LCA2NSwgODMsIDcyLCAxNzgsIDY1LCA4MywgNjcsIDY5LCA3OCwgODQsIAorICAgIDY2LCA2OSwgNzgsIDkwLCA2OSwgNzgsIDE5NywgNjYsIDY5LCA3OCwgODQsIDIwNywgNjYsIDY5LCA3OCwgMjEyLCA2NiwgCisgICAgNjksIDc4LCA2OCwgNjksIDEyOCwgNjYsIDY5LCA3OCwgNjgsIDEyOCwgNjYsIDY5LCAyMDYsIDY2LCA2OSwgNzYsIDg0LCAKKyAgICAxMjgsIDY2LCA2OSwgNzYsIDIxMiwgNjYsIDY5LCA3NiwgNzksIDIxNSwgNjYsIDY5LCA3NiwgNzYsIDcyLCA3OSwgMjA4LCAKKyAgICA2NiwgNjksIDc2LCA3NiwgMTI4LCA2NiwgNjksIDc2LCAyMDQsIDY2LCA2OSwgNzYsIDcxLCA4NCwgNzIsIDc5LCAyMTAsIAorICAgIDY2LCA2OSwgNzMsIDg0LCA3MiwgMTI4LCA2NiwgNjksIDcyLCA3MywgNzgsIDE5NiwgNjYsIDY5LCA3MiwgNjksIDcyLCAKKyAgICAxMjgsIDY2LCA2OSwgNzIsIDY5LCAyMDAsIDY2LCA2OSwgNzIsIDEyOCwgNjYsIDY5LCAyMDAsIDY2LCA2OSwgNzEsIDczLCAKKyAgICA3OCwgNzgsIDczLCA3OCwgNzEsIDEyOCwgNjYsIDY5LCA3MSwgNzMsIDc4LCA3OCwgNjksIDgyLCAxMjgsIDY2LCA2OSwgNzEsIAorICAgIDczLCAyMDYsIDY2LCA2OSwgNzAsIDc5LCA4MiwgMTk3LCA2NiwgNjksIDY5LCA4NCwgNzYsIDY5LCAxMjgsIDY2LCA2OSwgCisgICAgNjksIDg0LCA2NSwgMTI4LCA2NiwgNjksIDY5LCAyMTAsIDY2LCA2OSwgNjksIDcyLCA3MywgODYsIDY5LCAxMjgsIDY2LCAKKyAgICA2OSwgNjksIDcyLCAxMjgsIDY2LCA2OSwgNjksIDIwMCwgNjYsIDY5LCA2NywgNjUsIDg1LCA4MywgNjksIDEyOCwgNjYsIAorICAgIDY5LCA2NSwgODYsIDY5LCAyMTAsIDY2LCA2OSwgNjUsIDg0LCA3MywgNzgsIDE5OSwgNjYsIDY5LCA2NSwgODQsIDEyOCwgCisgICAgNjYsIDY5LCA2NSwgMjEwLCA2NiwgNjksIDY1LCA3OCwgMTI4LCA2NiwgNjksIDY1LCA3NywgNjksIDE5NiwgNjYsIDY5LCAKKyAgICA2NSwgNjcsIDIwMCwgNjYsIDY3LCA2NSwgNjgsIDEyOCwgNjYsIDY3LCA2NSwgMTk2LCA2NiwgNjYsIDg5LCA4OCwgMTI4LCAKKyAgICA2NiwgNjYsIDg5LCA4NCwgMTI4LCA2NiwgNjYsIDg5LCA4MCwgMTI4LCA2NiwgNjYsIDg5LCAxMjgsIDY2LCA2NiwgODUsIAorICAgIDg4LCAxMjgsIDY2LCA2NiwgODUsIDg0LCAxMjgsIDY2LCA2NiwgODUsIDgyLCA4OCwgMTI4LCA2NiwgNjYsIDg1LCA4MiwgCisgICAgMTI4LCA2NiwgNjYsIDg1LCA4MCwgMTI4LCA2NiwgNjYsIDg1LCA3OSwgODgsIDEyOCwgNjYsIDY2LCA4NSwgNzksIDgwLCAKKyAgICAxMjgsIDY2LCA2NiwgODUsIDc5LCAxMjgsIDY2LCA2NiwgODUsIDEyOCwgNjYsIDY2LCA3OSwgODgsIDEyOCwgNjYsIDY2LCAKKyAgICA3OSwgODQsIDEyOCwgNjYsIDY2LCA3OSwgODAsIDEyOCwgNjYsIDY2LCA3OSwgMTI4LCA2NiwgNjYsIDczLCA4OCwgMTI4LCAKKyAgICA2NiwgNjYsIDczLCA4MCwgMTI4LCA2NiwgNjYsIDczLCA2OSwgODgsIDEyOCwgNjYsIDY2LCA3MywgNjksIDg0LCAxMjgsIAorICAgIDY2LCA2NiwgNzMsIDY5LCA4MCwgMTI4LCA2NiwgNjYsIDczLCA2OSwgMTI4LCA2NiwgNjYsIDczLCAxMjgsIDY2LCA2NiwgCisgICAgNjksIDg4LCAxMjgsIDY2LCA2NiwgNjksIDgwLCAxMjgsIDY2LCA2NiwgNjksIDY5LCAxMjgsIDY2LCA2NiwgNjksIDEyOCwgCisgICAgNjYsIDY2LCA2NSwgODgsIDEyOCwgNjYsIDY2LCA2NSwgODQsIDEyOCwgNjYsIDY2LCA2NSwgODAsIDEyOCwgNjYsIDY2LCAKKyAgICA2NSwgNjUsIDEyOCwgNjYsIDY2LCA2NSwgMTI4LCA2NiwgNjUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA2NiwgNjUsIAorICAgIDg1LCAxMjgsIDY2LCA2NSwgODQsIDg0LCA2OSwgODIsIDg5LCAxMjgsIDY2LCA2NSwgODQsIDcyLCA4NCwgODUsIDY2LCAKKyAgICAxMjgsIDY2LCA2NSwgODQsIDcyLCA2NSwgNzcsIDY1LCA4MywgNjUsIDg0LCAxMjgsIDY2LCA2NSwgODQsIDcyLCAxMjgsIAorICAgIDY2LCA2NSwgODQsIDIwMCwgNjYsIDY1LCA4NCwgNjUsIDIwMywgNjYsIDY1LCA4MywgODMsIDY1LCAxMjgsIDY2LCA2NSwgCisgICAgODMsIDgzLCAxOTMsIDY2LCA2NSwgODMsIDc1LCA2OSwgODQsIDY2LCA2NSwgNzYsIDIwNCwgNjYsIDY1LCA4MywgNzIsIDc1LCAKKyAgICA3MywgMjEwLCA2NiwgNjUsIDgzLCA3MiwgMTI4LCA2NiwgNjUsIDgzLCA2OSwgNzYsIDczLCA3OCwgMTk3LCA2NiwgNjUsIAorICAgIDgzLCA2OSwgNjYsIDY1LCA3NiwgNzYsIDEyOCwgNjYsIDY1LCA4MywgNjksIDEyOCwgNjYsIDY1LCA4MywgMTk3LCA2NiwgCisgICAgNjUsIDgyLCA4MywgMTI4LCA2NiwgNjUsIDgyLCA4MiwgNzMsIDY5LCA4MiwgMTI4LCA2NiwgNjUsIDgyLCA4MiwgNjksIDc1LCAKKyAgICA3MiwgMTI4LCA2NiwgNjUsIDgyLCA4MiwgNjksIDY5LCAxMjgsIDY2LCA2NSwgODIsIDgyLCA2OSwgMTk3LCA2NiwgNjUsIAorICAgIDgyLCA3NiwgNzMsIDc4LCA2OSwgMTI4LCA2NiwgNjUsIDgyLCA3NiwgNjksIDg5LCAxMjgsIDY2LCA2NSwgODIsIDczLCA4OSwgCisgICAgNzksIDc5LCA4MywgNjUsIDc4LCAxMjgsIDY2LCA2NSwgODIsIDY2LCA2OSwgMjEwLCA2NiwgNjUsIDgyLCA2NSwgNTAsIAorICAgIDEyOCwgNjYsIDY1LCAyMTAsIDY2LCA2NSwgNzgsIDg0LCA3OSwgNjcsIDEyOCwgNjYsIDY1LCA3OCwgNzUsIDc4LCA3OSwgCisgICAgODQsIDE5NywgNjYsIDY1LCA3OCwgNzUsIDEyOCwgNjYsIDY1LCA3OCwgMjAzLCA2NiwgNjUsIDc4LCA2OCwgMTI4LCA2NiwgCisgICAgNjUsIDc4LCA2NSwgNzgsIDY1LCAxMjgsIDY2LCA2NSwgNzgsIDUwLCAxMjgsIDY2LCA2NSwgNzgsIDE3OCwgNjYsIDY1LCAKKyAgICA3NywgNjYsIDc5LCA3OSwgODMsIDEyOCwgNjYsIDY1LCA3NywgNjYsIDc5LCA3OSwgMTI4LCA2NiwgNjUsIDc2LCA4NSwgNjgsIAorICAgIDY1LCAxMjgsIDY2LCA2NSwgNzYsIDc2LCA4MCwgNzksIDczLCA3OCwgMjEyLCA2NiwgNjUsIDc2LCA3NiwgNzksIDg0LCAKKyAgICAxMjgsIDY2LCA2NSwgNzYsIDc2LCA3OSwgMjEyLCA2NiwgNjUsIDc2LCA3NiwgNzksIDc5LCA3OCwgNDUsIDgzLCA4MCwgNzksIAorICAgIDc1LCA2OSwgMTk2LCA2NiwgNjUsIDc2LCA3NiwgNzksIDc5LCA3OCwgMTI4LCA2NiwgNjUsIDc2LCA2NSwgNzEsIDEyOCwgCisgICAgNjYsIDY1LCA3NiwgMTI4LCA2NiwgNjUsIDIwNCwgNjYsIDY1LCA3MywgODIsIDc1LCA2NSwgNzgsIDEyOCwgNjYsIDY1LCAKKyAgICA3MywgNzcsIDY1LCA3MywgMTI4LCA2NiwgNjUsIDcyLCA4NCwgMTI4LCA2NiwgNjUsIDcyLCA3MywgODIsIDcxLCA3OSwgNzcsIAorICAgIDg1LCA3NSwgNzIsIDY1LCAxMjgsIDY2LCA2NSwgNzIsIDY1LCA4MiwgNTAsIDEyOCwgNjYsIDY1LCA3MiwgMTI4LCA2NiwgCisgICAgNjUsIDcxLCA4MywgMTI4LCA2NiwgNjUsIDcxLCA3MSwgNjUsIDcxLCAxOTcsIDY2LCA2NSwgNzEsIDY1LCAxMjgsIDY2LCAKKyAgICA2NSwgNzEsIDUxLCAxMjgsIDY2LCA2NSwgMTk5LCA2NiwgNjUsIDY4LCA3MSwgNjksIDgyLCAxMjgsIDY2LCA2NSwgNjgsIAorICAgIDcxLCA2OSwgMTI4LCA2NiwgNjUsIDY4LCAxMjgsIDY2LCA2NSwgNjcsIDg0LCA4MiwgNzMsIDY1LCAyMDYsIDY2LCA2NSwgCisgICAgNjcsIDc1LCA4NywgNjUsIDgyLCA2OCwgMTI4LCA2NiwgNjUsIDY3LCA3NSwgODMsIDgwLCA2NSwgNjcsIDY5LCAxMjgsIDY2LCAKKyAgICA2NSwgNjcsIDc1LCA4MywgNzYsIDY1LCA4MywgNzIsIDEyOCwgNjYsIDY1LCA2NywgNzUsIDgzLCA3NiwgNjUsIDgzLCAyMDAsIAorICAgIDY2LCA2NSwgNjcsIDc1LCA4MywgNzYsIDY1LCA3OCwgODQsIDY5LCAxOTYsIDY2LCA2NSwgNjcsIDc1LCA3MiwgNjUsIDc4LCAKKyAgICAxOTYsIDY2LCA2NSwgNjcsIDc1LCA0NSwgODQsIDczLCA3NiwgODQsIDY5LCAxOTYsIDY2LCA2NSwgNjcsIDc1LCAxMjgsIAorICAgIDY2LCA2NSwgNjcsIDIwMywgNjYsIDY1LCA2NiwgODksIDEyOCwgNjYsIDY1LCA2NiwgMjE3LCA2NiwgNjUsIDY1LCA4MiwgCisgICAgNjksIDgyLCA4NSwgMTI4LCA2NiwgNjUsIDQ1LCA1MCwgMTI4LCA2NiwgNTEsIDQ4LCA1MywgMTI4LCA2NiwgNTAsIDUzLCAKKyAgICA1NywgMTI4LCA2NiwgNTAsIDUzLCA1NiwgMTI4LCA2NiwgNTAsIDUzLCA1NSwgMTI4LCA2NiwgNTAsIDUzLCA1NCwgMTI4LCAKKyAgICA2NiwgNTAsIDUzLCA1MywgMTI4LCA2NiwgNTAsIDUzLCAxODAsIDY2LCA1MCwgNTMsIDUxLCAxMjgsIDY2LCA1MCwgNTMsIAorICAgIDUwLCAxMjgsIDY2LCA1MCwgNTMsIDQ5LCAxMjgsIDY2LCA1MCwgNTMsIDQ4LCAxMjgsIDY2LCA1MCwgNTIsIDU3LCAxMjgsIAorICAgIDY2LCA1MCwgNTIsIDU2LCAxMjgsIDY2LCA1MCwgNTIsIDE4MywgNjYsIDUwLCA1MiwgNTQsIDEyOCwgNjYsIDUwLCA1MiwgCisgICAgNTMsIDEyOCwgNjYsIDUwLCA1MiwgMTc5LCA2NiwgNTAsIDUyLCAxNzgsIDY2LCA1MCwgNTIsIDE3NywgNjYsIDUwLCA1MiwgCisgICAgMTc2LCA2NiwgNTAsIDUxLCA1NCwgMTI4LCA2NiwgNTAsIDUxLCA1MiwgMTI4LCA2NiwgNTAsIDUxLCAxNzksIDY2LCA1MCwgCisgICAgNTEsIDUwLCAxMjgsIDY2LCA1MCwgNTEsIDE3NywgNjYsIDUwLCA1MSwgMTc2LCA2NiwgNTAsIDUwLCA1NywgMTI4LCA2NiwgCisgICAgNTAsIDUwLCA1NiwgMTI4LCA2NiwgNTAsIDUwLCA1NSwgMTI4LCA2NiwgNTAsIDUwLCA1NCwgMTI4LCA2NiwgNTAsIDUwLCAKKyAgICAxODEsIDY2LCA1MCwgNTAsIDUwLCAxMjgsIDY2LCA1MCwgNTAsIDQ5LCAxMjgsIDY2LCA1MCwgNTAsIDE3NiwgNjYsIDUwLCAKKyAgICA0OSwgNTcsIDEyOCwgNjYsIDUwLCA0OSwgNTYsIDEyOCwgNjYsIDUwLCA0OSwgNTUsIDEyOCwgNjYsIDUwLCA0OSwgNTQsIAorICAgIDEyOCwgNjYsIDUwLCA0OSwgNTMsIDEyOCwgNjYsIDUwLCA0OSwgNTIsIDEyOCwgNjYsIDUwLCA0OSwgNTEsIDEyOCwgNjYsIAorICAgIDUwLCA0OSwgNTAsIDEyOCwgNjYsIDUwLCA0OSwgNDksIDEyOCwgNjYsIDUwLCA0OSwgNDgsIDEyOCwgNjYsIDUwLCA0OCwgCisgICAgNTcsIDEyOCwgNjYsIDUwLCA0OCwgNTYsIDEyOCwgNjYsIDUwLCA0OCwgNTUsIDEyOCwgNjYsIDUwLCA0OCwgNTQsIDEyOCwgCisgICAgNjYsIDUwLCA0OCwgNTMsIDEyOCwgNjYsIDUwLCA0OCwgNTIsIDEyOCwgNjYsIDUwLCA0OCwgNTEsIDEyOCwgNjYsIDUwLCAKKyAgICA0OCwgNTAsIDEyOCwgNjYsIDUwLCA0OCwgNDksIDEyOCwgNjYsIDUwLCA0OCwgNDgsIDEyOCwgNjYsIDQ5LCA1NywgMTc3LCAKKyAgICA2NiwgNDksIDU3LCA0OCwgMTI4LCA2NiwgNDksIDU2LCA1NywgMTI4LCA2NiwgNDksIDU2LCA1MywgMTI4LCA2NiwgNDksIAorICAgIDU2LCA1MiwgMTI4LCA2NiwgNDksIDU2LCA1MSwgMTI4LCA2NiwgNDksIDU2LCA1MCwgMTI4LCA2NiwgNDksIDU2LCA0OSwgCisgICAgMTI4LCA2NiwgNDksIDU2LCA0OCwgMTI4LCA2NiwgNDksIDU1LCA1NywgMTI4LCA2NiwgNDksIDU1LCA1NiwgMTI4LCA2NiwgCisgICAgNDksIDU1LCA1NSwgMTI4LCA2NiwgNDksIDU1LCAxODIsIDY2LCA0OSwgNTUsIDUyLCAxMjgsIDY2LCA0OSwgNTUsIDE3OSwgCisgICAgNjYsIDQ5LCA1NSwgNTAsIDEyOCwgNjYsIDQ5LCA1NSwgNDksIDEyOCwgNjYsIDQ5LCA1NSwgNDgsIDEyOCwgNjYsIDQ5LCAKKyAgICA1NCwgNTcsIDEyOCwgNjYsIDQ5LCA1NCwgNTYsIDEyOCwgNjYsIDQ5LCA1NCwgNTUsIDEyOCwgNjYsIDQ5LCA1NCwgNTQsIAorICAgIDEyOCwgNjYsIDQ5LCA1NCwgNTMsIDEyOCwgNjYsIDQ5LCA1NCwgNTIsIDEyOCwgNjYsIDQ5LCA1NCwgMTc5LCA2NiwgNDksIAorICAgIDU0LCAxNzgsIDY2LCA0OSwgNTQsIDQ5LCAxMjgsIDY2LCA0OSwgNTQsIDQ4LCAxMjgsIDY2LCA0OSwgNTMsIDE4NSwgNjYsIAorICAgIDQ5LCA1MywgNTYsIDEyOCwgNjYsIDQ5LCA1MywgNTUsIDEyOCwgNjYsIDQ5LCA1MywgMTgyLCA2NiwgNDksIDUzLCA1MywgCisgICAgMTI4LCA2NiwgNDksIDUzLCA1MiwgMTI4LCA2NiwgNDksIDUzLCA1MSwgMTI4LCA2NiwgNDksIDUzLCA1MCwgMTI4LCA2NiwgCisgICAgNDksIDUzLCAxNzcsIDY2LCA0OSwgNTMsIDQ4LCAxMjgsIDY2LCA0OSwgNTIsIDU0LCAxMjgsIDY2LCA0OSwgNTIsIDE4MSwgCisgICAgNjYsIDQ5LCA1MiwgNTAsIDEyOCwgNjYsIDQ5LCA1MiwgMTc3LCA2NiwgNDksIDUyLCAxNzYsIDY2LCA0OSwgNTEsIDE4MSwgCisgICAgNjYsIDQ5LCA1MSwgMTc5LCA2NiwgNDksIDUxLCA1MCwgMTI4LCA2NiwgNDksIDUxLCAxNzcsIDY2LCA0OSwgNTEsIDE3NiwgCisgICAgNjYsIDQ5LCA1MCwgMTg0LCA2NiwgNDksIDUwLCAxODMsIDY2LCA0OSwgNTAsIDE4MSwgNjYsIDQ5LCA1MCwgMTc5LCA2NiwgCisgICAgNDksIDUwLCAxNzgsIDY2LCA0OSwgNTAsIDE3NywgNjYsIDQ5LCA1MCwgMTc2LCA2NiwgNDksIDQ4LCA1NywgMjA1LCA2NiwgCisgICAgNDksIDQ4LCA1NywgMTk4LCA2NiwgNDksIDQ4LCA1NiwgMjA1LCA2NiwgNDksIDQ4LCA1NiwgMTk4LCA2NiwgNDksIDQ4LCAKKyAgICA1NSwgMjA1LCA2NiwgNDksIDQ4LCA1NSwgMTk4LCA2NiwgNDksIDQ4LCA1NCwgMjA1LCA2NiwgNDksIDQ4LCA1NCwgMTk4LCAKKyAgICA2NiwgNDksIDQ4LCA1MywgMjA1LCA2NiwgNDksIDQ4LCA1MywgMTk4LCA2NiwgNDksIDQ4LCAxODEsIDY2LCA0OSwgNDgsIAorICAgIDE4MCwgNjYsIDQ5LCA0OCwgMTc4LCA2NiwgNDksIDQ4LCAxNzYsIDY2LCA0OCwgNTcsIDE3NywgNjYsIDQ4LCA1NywgMTc2LCAKKyAgICA2NiwgNDgsIDU2LCA1NywgMTI4LCA2NiwgNDgsIDU2LCAxODMsIDY2LCA0OCwgNTYsIDU0LCAxMjgsIDY2LCA0OCwgNTYsIAorICAgIDE4MSwgNjYsIDQ4LCA1NiwgNTEsIDEyOCwgNjYsIDQ4LCA1NiwgNTAsIDEyOCwgNjYsIDQ4LCA1NiwgMTc3LCA2NiwgNDgsIAorICAgIDU2LCAxNzYsIDY2LCA0OCwgNTUsIDU3LCAxMjgsIDY2LCA0OCwgNTUsIDE4NCwgNjYsIDQ4LCA1NSwgMTgzLCA2NiwgNDgsIAorICAgIDU1LCAxODIsIDY2LCA0OCwgNTUsIDE4MSwgNjYsIDQ4LCA1NSwgMTgwLCA2NiwgNDgsIDU1LCAxNzksIDY2LCA0OCwgNTUsIAorICAgIDE3OCwgNjYsIDQ4LCA1NSwgMTc3LCA2NiwgNDgsIDU1LCAxNzYsIDY2LCA0OCwgNTQsIDE4NSwgNjYsIDQ4LCA1NCwgMTg0LCAKKyAgICA2NiwgNDgsIDU0LCAxODMsIDY2LCA0OCwgNTQsIDE4MiwgNjYsIDQ4LCA1NCwgMTgxLCA2NiwgNDgsIDU0LCA1MiwgMTI4LCAKKyAgICA2NiwgNDgsIDU0LCA1MSwgMTI4LCA2NiwgNDgsIDU0LCAxNzgsIDY2LCA0OCwgNTQsIDE3NywgNjYsIDQ4LCA1NCwgMTc2LCAKKyAgICA2NiwgNDgsIDUzLCAxODUsIDY2LCA0OCwgNTMsIDE4NCwgNjYsIDQ4LCA1MywgMTgzLCA2NiwgNDgsIDUzLCA1NCwgMTI4LCAKKyAgICA2NiwgNDgsIDUzLCAxODEsIDY2LCA0OCwgNTMsIDE4MCwgNjYsIDQ4LCA1MywgMTc5LCA2NiwgNDgsIDUzLCAxNzgsIDY2LCAKKyAgICA0OCwgNTMsIDE3NywgNjYsIDQ4LCA1MywgMTc2LCA2NiwgNDgsIDUyLCA1NywgMTI4LCA2NiwgNDgsIDUyLCAxODQsIDY2LCAKKyAgICA0OCwgNTIsIDU1LCAxMjgsIDY2LCA0OCwgNTIsIDE4MiwgNjYsIDQ4LCA1MiwgMTgxLCA2NiwgNDgsIDUyLCAxODAsIDY2LCAKKyAgICA0OCwgNTIsIDE3OSwgNjYsIDQ4LCA1MiwgMTc4LCA2NiwgNDgsIDUyLCAxNzcsIDY2LCA0OCwgNTIsIDE3NiwgNjYsIDQ4LCAKKyAgICA1MSwgMTg1LCA2NiwgNDgsIDUxLCAxODQsIDY2LCA0OCwgNTEsIDE4MywgNjYsIDQ4LCA1MSwgMTgyLCA2NiwgNDgsIDUxLCAKKyAgICA1MiwgMTI4LCA2NiwgNDgsIDUxLCAxNzksIDY2LCA0OCwgNTEsIDE3OCwgNjYsIDQ4LCA1MSwgMTc3LCA2NiwgNDgsIDUxLCAKKyAgICAxNzYsIDY2LCA0OCwgNTAsIDE4NSwgNjYsIDQ4LCA1MCwgMTg0LCA2NiwgNDgsIDUwLCAxODMsIDY2LCA0OCwgNTAsIDE4MiwgCisgICAgNjYsIDQ4LCA1MCwgMTgxLCA2NiwgNDgsIDUwLCAxODAsIDY2LCA0OCwgNTAsIDE3OSwgNjYsIDQ4LCA1MCwgNTAsIDEyOCwgCisgICAgNjYsIDQ4LCA1MCwgMTc3LCA2NiwgNDgsIDUwLCAxNzYsIDY2LCA0OCwgNDksIDU3LCAxMjgsIDY2LCA0OCwgNDksIDU2LCAKKyAgICAxMjgsIDY2LCA0OCwgNDksIDE4MywgNjYsIDQ4LCA0OSwgMTgyLCA2NiwgNDgsIDQ5LCAxODEsIDY2LCA0OCwgNDksIDE4MCwgCisgICAgNjYsIDQ4LCA0OSwgMTc5LCA2NiwgNDgsIDQ5LCAxNzgsIDY2LCA0OCwgNDksIDE3NywgNjYsIDQ4LCA0OSwgMTc2LCA2NiwgCisgICAgNDgsIDQ4LCA1NywgMTI4LCA2NiwgNDgsIDQ4LCAxODUsIDY2LCA0OCwgNDgsIDU2LCAxMjgsIDY2LCA0OCwgNDgsIDE4NCwgCisgICAgNjYsIDQ4LCA0OCwgNTUsIDEyOCwgNjYsIDQ4LCA0OCwgMTgzLCA2NiwgNDgsIDQ4LCA1NCwgMTI4LCA2NiwgNDgsIDQ4LCAKKyAgICAxODIsIDY2LCA0OCwgNDgsIDUzLCA2NSwgMTI4LCA2NiwgNDgsIDQ4LCA1MywgMTI4LCA2NiwgNDgsIDQ4LCAxODEsIDY2LCAKKyAgICA0OCwgNDgsIDUyLCAxMjgsIDY2LCA0OCwgNDgsIDE4MCwgNjYsIDQ4LCA0OCwgNTEsIDEyOCwgNjYsIDQ4LCA0OCwgMTc5LCAKKyAgICA2NiwgNDgsIDQ4LCA1MCwgMTI4LCA2NiwgNDgsIDQ4LCAxNzgsIDY2LCA0OCwgNDgsIDQ5LCAxMjgsIDY2LCA0OCwgNDgsIAorICAgIDE3NywgNjUsIDkwLCA4NSwgMTI4LCA2NSwgODksIDY5LCAyMTAsIDY1LCA4OSwgNjYsIDEyOCwgNjUsIDg5LCA2NSwgNzIsIAorICAgIDEyOCwgNjUsIDg4LCA2OSwgMTI4LCA2NSwgODcsIDY5LCAxMjgsIDY1LCA4NiwgNjksIDgzLCA4NCwgNjUsIDIwNiwgNjUsIAorICAgIDg2LCA2OSwgODIsIDY1LCA3MSwgMTk3LCA2NSwgODYsIDY1LCA3NSwgODIsIDY1LCA3MiwgNjUsIDgzLCA2NSwgNzgsIDg5LCAKKyAgICA2NSwgMTI4LCA2NSwgODYsIDY1LCA3MSwgODIsIDY1LCA3MiwgNjUsIDEyOCwgNjUsIDg1LCA4OSwgNjUsIDc4LCA3OCwgNjUsIAorICAgIDEyOCwgNjUsIDg1LCA4NCwgODUsIDc3LCA3OCwgMTI4LCA2NSwgODUsIDg0LCA3OSwgNzcsIDc5LCA2NiwgNzMsIDc2LCA2OSwgCisgICAgMTI4LCA2NSwgODUsIDg0LCA3OSwgNzcsIDY1LCA4NCwgNjksIDE5NiwgNjUsIDg1LCA4MywgODQsIDgyLCA2NSwgMjA0LCAKKyAgICA2NSwgODUsIDgyLCA3MywgODAsIDczLCA3MSwgNzcsIDY5LCA3OCwgODQsIDEyOCwgNjUsIDg1LCA4MiwgNjUsIDc3LCA2NSwgCisgICAgOTAsIDY4LCA2NSwgNjUsIDcyLCA2NSwgMTI4LCA2NSwgODUsIDgyLCA2NSwgNzcsIDY1LCA5MCwgNjgsIDY1LCA2NSwgNDUsIAorICAgIDUwLCAxMjgsIDY1LCA4NSwgODIsIDY1LCA3NywgNjUsIDkwLCA2OCwgNjUsIDY1LCAxMjgsIDY1LCA4NSwgNzgsIDc4LCAKKyAgICAxMjgsIDY1LCA4NSwgNzEsIDg1LCA4MywgODQsIDEyOCwgNjUsIDg1LCA3MSwgNzcsIDY5LCA3OCwgODQsIDY1LCA4NCwgNzMsIAorICAgIDc5LCAyMDYsIDY1LCA4NSwgNjksIDEyOCwgNjUsIDg1LCA2NiwgNjksIDgyLCA3MSwgNzMsIDc4LCA2OSwgMTI4LCA2NSwgCisgICAgODQsIDg0LCA3MywgMTk1LCA2NSwgODQsIDg0LCA3MiwgNjUsIDY3LCA2NSwgNzgsIDEyOCwgNjUsIDg0LCA4NCwgNjksIDc4LCAKKyAgICA4NCwgNzMsIDc5LCA3OCwgMTI4LCA2NSwgODQsIDg0LCA2NSwgMjAzLCA2NSwgODQsIDg0LCA2NSwgNjcsIDcyLCA2OSwgCisgICAgMTk2LCA2NSwgODQsIDc5LCAyMDUsIDY1LCA4NCwgNzgsIDY1LCAyMDAsIDY1LCA4NCwgNzcsIDY1LCA2NSwgODUsIDEyOCwgCisgICAgNjUsIDg0LCA3MywgODksIDY1LCAxMjgsIDY1LCA4NCwgNzIsIDc2LCA2OSwgODQsIDczLCAxOTUsIDY1LCA4NCwgNzIsIDY1LCAKKyAgICA4MiwgODYsIDY1LCA4NiwgNjksIDY4LCA3MywgMTk1LCA2NSwgODQsIDcyLCA2NSwgODAsIDY1LCA4MywgNjcsIDY1LCAyMDYsIAorICAgIDY1LCA4MywgOTAsIDEyOCwgNjUsIDgzLCA4OSwgODUsIDgyLCAxOTMsIDY1LCA4MywgODksIDc3LCA4MCwgODQsIDc5LCA4NCwgCisgICAgNzMsIDY3LCA2NSwgNzYsIDc2LCAyMTcsIDY1LCA4MywgODQsIDgyLCA3OSwgNzgsIDc5LCA3NywgNzMsIDY3LCA2NSwgMjA0LCAKKyAgICA2NSwgODMsIDg0LCA4MiwgNzksIDc2LCA3OSwgNzEsIDczLCA2NywgNjUsIDIwNCwgNjUsIDgzLCA4NCwgNzksIDc4LCA3MywgCisgICAgODMsIDcyLCA2OSwgMTk2LCA2NSwgODMsIDg0LCA2OSwgODIsIDczLCA4MywgNzcsIDEyOCwgNjUsIDgzLCA4NCwgNjksIDgyLCAKKyAgICA3MywgODMsIDc1LCAyMTEsIDY1LCA4MywgODQsIDY5LCA4MiwgNzMsIDgzLCA3NSwgMTI4LCA2NSwgODMsIDg0LCA2OSwgODIsIAorICAgIDczLCA4MywgMjAzLCA2NSwgODMsIDg0LCA2OSwgODIsIDczLCA4MywgNjcsIDg1LCA4MywgMTI4LCA2NSwgODMsIDgzLCA4OSwgCisgICAgODIsIDczLCA2NSwgMjA2LCA2NSwgODMsIDgzLCA2OSwgODIsIDg0LCA3MywgNzksIDc4LCAxMjgsIDY1LCA4MywgODAsIDczLCAKKyAgICA4MiwgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDY1LCA4MywgODAsIDczLCA4MiwgNjUsIDg0LCA2OSwgMTk2LCA2NSwgODMsIAorICAgIDgwLCA2OSwgODIsIDEyOCwgNjUsIDgzLCA3MywgNjUsIDQ1LCA2NSwgODUsIDgzLCA4NCwgODIsIDY1LCA3NiwgNzMsIDY1LCAKKyAgICAxMjgsIDY1LCA4MywgNzIsIDcxLCA2NSwgNjYsIDEyOCwgNjUsIDgzLCA3MiwgNjksIDgzLCAxMjgsIDY1LCA4MywgNzIsIAorICAgIDU3LCAxMjgsIDY1LCA4MywgNzIsIDUxLCAxMjgsIDY1LCA4MywgNzIsIDE3OCwgNjUsIDgzLCA2NywgNjksIDc4LCA4NCwgCiAgICAgMTI4LCA2NSwgODMsIDY3LCA2OSwgNzgsIDY4LCA3MywgNzgsIDE5OSwgNjUsIDgzLCA2NSwgNzYsIDUwLCAxMjgsIDY1LCAKICAgICA4MiwgODUsIDcyLCA4NSwgNjUsIDEyOCwgNjUsIDgyLCA4NCwgNzMsIDgzLCAyMTIsIDY1LCA4MiwgODQsIDczLCA2NywgODUsIAogICAgIDc2LCA2NSwgODQsIDY5LCAxOTYsIDY1LCA4MiwgODQsIDY1LCA2NiwgMTk3LCA2NSwgODIsIDgzLCA2OSwgNzksIDgzLCAKICAgICAxMjgsIDY1LCA4MiwgODMsIDY5LCA3OSwgMjExLCA2NSwgODIsIDgzLCA2OSwgNzgsIDczLCA2NywgMTI4LCA2NSwgODIsIAogICAgIDgyLCA3OSwgODcsIDgzLCAxMjgsIDY1LCA4MiwgODIsIDc5LCA4NywgMjExLCA2NSwgODIsIDgyLCA3OSwgODcsIDcyLCA2OSwgCiAgICAgNjUsIDY4LCAxMjgsIDY1LCA4MiwgODIsIDc5LCA4NywgNzIsIDY5LCA2NSwgMTk2LCA2NSwgODIsIDgyLCA3OSwgODcsIDQ1LCAKLSAgICA4NCwgNjUsIDczLCA3NiwgMTI4LCA2NSwgODIsIDgyLCA3MywgODYsIDY5LCAxMjgsIDY1LCA4MiwgODIsIDY1LCA4OSwgCi0gICAgMTI4LCA2NSwgODIsIDgwLCA2OSwgNzEsIDcxLCA3MywgNjUsIDg0LCAyMDcsIDY1LCA4MiwgNzksIDg1LCA4MywgNzMsIDc4LCAKLSAgICAxOTksIDY1LCA4MiwgNzksIDg1LCA4MiwgMTkzLCA2NSwgODIsIDc5LCA4NSwgNzgsIDY4LCA0NSwgODAsIDgyLCA3OSwgNzAsIAotICAgIDczLCA3NiwgNjksIDEyOCwgNjUsIDgyLCA3OSwgODUsIDc4LCAxOTYsIDY1LCA4MiwgNzcsIDg5LCAxMjgsIDY1LCA4MiwgCi0gICAgNzcsIDc5LCA4NSwgODIsIDEyOCwgNjUsIDgyLCAyMDUsIDY1LCA4MiwgNzYsIDY1LCA4NSwgMTk5LCA2NSwgODIsIDc1LCAKLSAgICA4NCwgNzMsIDc1LCAyMDcsIDY1LCA4MiwgNzUsIDY1LCA2NiwgMTI4LCA2NSwgODIsIDc1LCA2NSwgNjUsIDc4LCA4NSwgCi0gICAgMTI4LCA2NSwgODIsIDczLCA4MywgODQsIDY5LCA4MiwgNjUsIDEyOCwgNjUsIDgyLCA3MywgODMsIDg0LCA2OSwgODIsIAotICAgIDE5MywgNjUsIDgyLCA3MywgNjksIDgzLCAxMjgsIDY1LCA4MiwgNzEsIDc5LCA4NCwgNjksIDgyLCA3MywgMTI4LCA2NSwgCi0gICAgODIsIDcxLCA3OSwgODMsIDg5LCA3OCwgODQsIDcyLCA2OSwgODQsIDc5LCA3OCwgMTI4LCA2NSwgODIsIDcxLCA3MywgMTI4LCAKLSAgICA2NSwgODIsIDY5LCA4MCwgNjUsIDEyOCwgNjUsIDgyLCA2OSwgNjUsIDEyOCwgNjUsIDgyLCA2OCwgNzIsIDY1LCA4NiwgNzMsIAotICAgIDgzLCA2NSwgODIsIDcxLCA2NSwgMTI4LCA2NSwgODIsIDY3LCA3MiwgNjUsIDczLCA3OSwgNzgsIDEyOCwgNjUsIDgyLCA2NywgCi0gICAgNzIsIDY1LCA3MywgNzksIDIwNiwgNjUsIDgyLCA2NywgNzIsIDY1LCA3MywgMTk1LCA2NSwgODIsIDY3LCAyMDAsIDY1LCAKLSAgICA4MiwgNjcsIDEyOCwgNjUsIDgyLCAxOTUsIDY1LCA4MiwgNjUsIDc3LCA2NSwgNzMsIDE5NSwgNjUsIDgyLCA2NSwgNjksIAotICAgIDY1LCA2OSwgMTI4LCA2NSwgODIsIDY1LCA2OSwgNjUsIDQ1LCA4NSwgMTI4LCA2NSwgODIsIDY1LCA2OSwgNjUsIDQ1LCA3MywgCi0gICAgMTI4LCA2NSwgODIsIDY1LCA2OSwgNjUsIDQ1LCA2OSwgNzksIDEyOCwgNjUsIDgyLCA2NSwgNjksIDY1LCA0NSwgNjksIAotICAgIDEyOCwgNjUsIDgyLCA2NSwgNjksIDY1LCA0NSwgNjUsIDEyOCwgNjUsIDgyLCA2NSwgNjgsIDEyOCwgNjUsIDgyLCA2NSwgCi0gICAgMTk2LCA2NSwgODIsIDY1LCA2NiwgNzMsIDY3LCA0NSwgNzMsIDc4LCA2OCwgNzMsIDE5NSwgNjUsIDgyLCA2NSwgNjYsIDczLCAKLSAgICA2NSwgMjA2LCA2NSwgODIsIDQ1LCA4MiwgNjUsIDcyLCA3NywgNjUsIDIwNiwgNjUsIDgyLCA0NSwgODIsIDY1LCA3MiwgNjksIAotICAgIDY5LCA3NywgMTI4LCA2NSwgODEsIDg1LCA2NSwgODIsIDczLCA4NSwgODMsIDEyOCwgNjUsIDgxLCA4NSwgNjUsIDcwLCA3OSwgCi0gICAgODIsIDg0LCA3MywgODMsIDEyOCwgNjUsIDgxLCA4NSwgMTkzLCA2NSwgODAsIDg1LCAyMDYsIDY1LCA4MCwgODIsIDczLCAKLSAgICA3NiwgMTI4LCA2NSwgODAsIDgwLCA4MiwgNzksIDg4LCA3MywgNzcsIDY1LCA4NCwgNjksIDc2LCAyMTcsIDY1LCA4MCwgODAsIAotICAgIDgyLCA3OSwgODgsIDczLCA3NywgNjUsIDg0LCA2OSwgMTI4LCA2NSwgODAsIDgwLCA4MiwgNzksIDY1LCA2NywgNzIsIDY5LCAKLSAgICAyMTEsIDY1LCA4MCwgODAsIDgyLCA3OSwgNjUsIDY3LCA3MiwgMTI4LCA2NSwgODAsIDgwLCA3NiwgNzMsIDY3LCA2NSwgODQsIAotICAgIDczLCA3OSwgNzgsIDEyOCwgNjUsIDgwLCA4MCwgNzYsIDczLCA2NywgNjUsIDg0LCA3MywgNzksIDIwNiwgNjUsIDgwLCA3OSwgCi0gICAgODQsIDcyLCA2OSwgODMsIDEyOCwgNjUsIDgwLCA3OSwgODQsIDcyLCA2OSwgNzcsIDY1LCAxMjgsIDY1LCA4MCwgNzksIDgzLCAKLSAgICA4NCwgODIsIDc5LCA4MCwgNzIsIDY5LCAxMjgsIDY1LCA4MCwgNzksIDgzLCA4NCwgODIsIDc5LCA3MCwgNzksIDgzLCAxMjgsIAotICAgIDY1LCA4MCwgNzksIDgzLCA4NCwgODIsIDc5LCA3MCwgNzksIDIxMSwgNjUsIDgwLCA3OSwgODMsIDg0LCA4MiwgNzksIDcwLCAKLSAgICA3OSwgMjAxLCA2NSwgODAsIDc5LCA2OCwgNjksIDg4LCA3MywgNjUsIDEyOCwgNjUsIDgwLCA3OSwgNjgsIDY5LCA4MiwgNzcsIAotICAgIDE5MywgNjUsIDgwLCA3NiwgNzksIDg1LCA3OCwgMTI4LCA2NSwgODAsIDc2LCAyMDEsIDY1LCA4MCwgMjA0LCA2NSwgODAsIAotICAgIDczLCA3OCwgMTI4LCA2NSwgODAsIDY5LCA4MywgMjA3LCA2NSwgODAsIDY3LCAxMjgsIDY1LCA4MCwgNjUsIDgyLCA4NCwgCi0gICAgMTI4LCA2NSwgODAsIDY1LCA2NSwgODQsIDc5LCAxMjgsIDY1LCA3OCwgODUsIDgzLCA4NiwgNjUsIDgyLCA2NSwgODksIDY1LCAKLSAgICAxMjgsIDY1LCA3OCwgODUsIDgzLCA4NiwgNjUsIDgyLCA2NSwgMTI4LCA2NSwgNzgsIDg1LCA4MywgODYsIDY1LCA4MiwgCi0gICAgMTkzLCA2NSwgNzgsIDg1LCA2OCwgNjUsIDg0LCA4NCwgNjUsIDEyOCwgNjUsIDc4LCA4NSwgNjgsIDY1LCA4NCwgODQsIAotICAgIDE5MywgNjUsIDc4LCA4NCwgNzMsIDgyLCA2OSwgODMsIDg0LCA4MiwgNzMsIDY3LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA2NSwgCi0gICAgNzgsIDg0LCA3MywgNzcsIDc5LCA3OCwgODksIDQ1LCA1MCwgMTI4LCA2NSwgNzgsIDg0LCA3MywgNzcsIDc5LCA3OCwgODksIAotICAgIDEyOCwgNjUsIDc4LCA4NCwgNzMsIDc3LCA3OSwgNzgsIDIxNywgNjUsIDc4LCA4NCwgNzMsIDc3LCA3OSwgNzgsIDczLCA2NSwgCi0gICAgODQsIDY5LCAxMjgsIDY1LCA3OCwgODQsIDczLCA3NSwgNjksIDc4LCA3OSwgNzcsIDY1LCAxMjgsIDY1LCA3OCwgODQsIDczLCAKLSAgICA3NSwgNjksIDc4LCA3OSwgNzUsIDg5LCA3NiwgNzMsIDgzLCA3NywgNjUsIDEyOCwgNjUsIDc4LCA4NCwgNzMsIDcwLCA3OSwgCi0gICAgNzgsIDczLCA2NSwgMTI4LCA2NSwgNzgsIDg0LCA3MywgNjcsIDc2LCA3OSwgNjcsIDc1LCA4NywgNzMsIDgzLCA2OSwgNDUsIAotICAgIDgyLCA3OSwgODQsIDY1LCA4NCwgNjksIDE5NiwgNjUsIDc4LCA4NCwgNzMsIDY3LCA3NiwgNzksIDY3LCA3NSwgODcsIDczLCAKLSAgICA4MywgMTk3LCA2NSwgNzgsIDg0LCA2OSwgNzgsIDc4LCA2NSwgMTI4LCA2NSwgNzgsIDg0LCA2OSwgNzgsIDc4LCAxOTMsIAotICAgIDY1LCA3OCwgODQsIDY1LCA4MiwgNzEsIDc5LCA3NywgODUsIDc1LCA3MiwgNjUsIDEyOCwgNjUsIDc4LCA4MywgODUsIDIxOCwgCi0gICAgNjUsIDc4LCA4MywgNzIsIDY5LCAxMjgsIDY1LCA3OCwgODAsIDY5LCA2NSwgMTI4LCA2NSwgNzgsIDIwNywgNjUsIDc4LCAKLSAgICA3OCwgODUsIDczLCA4NCwgMjE3LCA2NSwgNzgsIDc4LCA3OSwgODQsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDY1LCA3OCwgNzgsIAotICAgIDY1LCA2NSwgODUsIDEyOCwgNjUsIDc4LCA3NSwgNzIsIDEyOCwgNjUsIDc4LCA3NCwgNzMsIDEyOCwgNjUsIDc4LCA3MiwgCi0gICAgODUsIDEyOCwgNjUsIDc4LCA3MSwgODUsIDc2LCA2NSwgODIsIDEyOCwgNjUsIDc4LCA3MSwgODUsIDczLCA4MywgNzIsIDY5LCAKLSAgICAxOTYsIDY1LCA3OCwgNzEsIDgzLCA4NCwgODIsIDc5LCAyMDUsIDY1LCA3OCwgNzEsIDgyLCAyMTcsIDY1LCA3OCwgNzEsIAotICAgIDc1LCA3MiwgNjUsIDc4LCA3NSwgNzIsIDg1LCAxMjgsIDY1LCA3OCwgNzEsIDY5LCAyMTAsIDY1LCA3OCwgNzEsIDY5LCA3NiwgCi0gICAgMTI4LCA2NSwgNzgsIDcxLCA2OSwgNjgsIDEyOCwgNjUsIDc4LCA2OCwgNjUsIDgwLCAxMjgsIDY1LCA3OCwgNjcsIDc5LCAKLSAgICA4MiwgNjUsIDEyOCwgNjUsIDc4LCA2NywgNzIsIDc5LCA4MiwgMTI4LCA2NSwgNzgsIDY1LCA4NCwgODIsIDczLCA2NywgNzIsIAotICAgIDczLCA4MywgNzcsIDY1LCAxMjgsIDY1LCA3OCwgNjUsIDgwLCAxMjgsIDY1LCA3NywgODAsIDgzLCAxMjgsIDY1LCA3NywgCi0gICAgODAsIDY5LCA4MiwgODMsIDY1LCA3OCwgNjgsIDEyOCwgNjUsIDc3LCA3OSwgODUsIDc4LCAyMTIsIDY1LCA3NywgNjksIDgyLCAKLSAgICA3MywgNjcsIDY1LCA4MywgMTI4LCA2NSwgNzcsIDY5LCA4MiwgNzMsIDY3LCA2NSwgMjA2LCA2NSwgNzcsIDY2LCA4NSwgNzYsIAotICAgIDY1LCA3OCwgNjcsIDY5LCAxMjgsIDY1LCA3NywgNjYsIDE5MywgNjUsIDc3LCA2NSwgODIsIDEyOCwgNjUsIDc3LCA2NSwgCi0gICAgMjEwLCA2NSwgNzcsIDY1LCA3NiwgNzEsIDY1LCA3NywgNjUsIDg0LCA3MywgNzksIDIwNiwgNjUsIDc3LCA2NSwgNzYsIDcxLCAKLSAgICA2NSwgNzcsIDEyOCwgNjUsIDc2LCA4NiwgNjksIDc5LCA3NiwgNjUsIDIxMCwgNjUsIDc2LCA4NSwgNzcsIDEyOCwgNjUsIAotICAgIDc2LCA4NCwgNjksIDgyLCA3OCwgNjUsIDg0LCA3MywgODYsIDE5NywgNjUsIDc2LCA4NCwgNjksIDgyLCA3OCwgNjUsIDg0LCAKLSAgICA3MywgNzksIDIwNiwgNjUsIDc2LCA4NCwgNjksIDgyLCA3OCwgNjUsIDg0LCAxOTcsIDY1LCA3NiwgODQsIDY1LCAxMjgsIAotICAgIDY1LCA3NiwgODAsIDcyLCA2NSwgMTI4LCA2NSwgNzYsIDgwLCA3MiwgMTkzLCA2NSwgNzYsIDgwLCA2NSwgODAsIDgyLCA2NSwgCi0gICAgNzgsIDY1LCAxMjgsIDY1LCA3NiwgODAsIDY1LCA4MCwgODIsIDY1LCA2NSwgNzgsIDE5MywgNjUsIDc2LCA4MCwgNjUsIAotICAgIDEyOCwgNjUsIDc2LCA3NywgNzksIDgzLCAyMTIsIDY1LCA3NiwgNzcsIDEyOCwgNjUsIDc2LCA3NiwgNzksIDEyOCwgNjUsIAotICAgIDc2LCA3NiwgNzMsIDY1LCA3OCwgNjcsIDY5LCAxMjgsIDY1LCA3NiwgNzYsIDIwMSwgNjUsIDc2LCA3NiwgNjUsIDIwMCwgCi0gICAgNjUsIDc2LCA3NSwgNjUsIDc2LCA3MywgNDUsIDUwLCAxMjgsIDY1LCA3NiwgNzUsIDY1LCA3NiwgNzMsIDEyOCwgNjUsIDc2LCAKLSAgICA3MywgNzEsIDc4LCA2OSwgMTk2LCA2NSwgNzYsIDczLCA3MCwgODUsIDEyOCwgNjUsIDc2LCA3MywgNjksIDc4LCAxMjgsIAotICAgIDY1LCA3NiwgNzMsIDY5LCAyMDYsIDY1LCA3NiwgNzEsIDczLCAyMTgsIDY1LCA3NiwgNzAsIDY1LCAxMjgsIDY1LCA3NiwgCi0gICAgNjksIDg1LCAyMTIsIDY1LCA3NiwgNjksIDgyLCA4NCwgMTI4LCA2NSwgNzYsIDY5LCA4MCwgNzIsIDEyOCwgNjUsIDc2LCAKLSAgICA2OSwgNzcsIDY2LCA3MywgNjcsIDEyOCwgNjUsIDc2LCA2OSwgNzAsIDEyOCwgNjUsIDc2LCA2NSwgODksIDcyLCA2OSwgCi0gICAgMTI4LCA2NSwgNzYsIDY1LCA4OSwgNzIsIDE5NywgNjUsIDc2LCA2NSwgODIsIDIwNSwgNjUsIDc2LCA2NSwgODAsIDcyLCAKLSAgICAxMjgsIDY1LCA3NiwgNDUsIDc2LCA2NSwgNzUsIDg1LCA3OCwgNjUsIDEyOCwgNjUsIDc1LCA4NCwgNzMsIDY5LCA4MywgNjksIAotICAgIDc2LCA4MywgNzUsIDY1LCA2NiwgMTI4LCA2NSwgNzUsIDgzLCA2NSwgMTI4LCA2NSwgNzUsIDcyLCA3NywgNzMsIDc3LCA3MywgCi0gICAgMTk1LCA2NSwgNzUsIDY2LCA2NSwgMjEwLCA2NSwgNzUsIDY1LCA4MiwgNjUsIDEyOCwgNjUsIDc1LCA2NSwgODIsIDE5MywgCi0gICAgNjUsIDczLCA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgNjUsIDczLCA4NiwgNzMsIDc2LCA3MywgMjAzLCA2NSwgNzMsIDg0LCAKLSAgICA3OSwgMjA2LCA2NSwgNzMsIDgyLCA4MCwgNzYsIDY1LCA3OCwgNjksIDEyOCwgNjUsIDczLCA3OCwgMjEzLCA2NSwgNzMsIAotICAgIDc4LCA3OCwgMTI4LCA2NSwgNzMsIDc2LCA3NywgMTI4LCA2NSwgNzMsIDc1LCA2NSwgODIsIDY1LCAxMjgsIDY1LCA3MywgCi0gICAgNzIsIDg2LCA4NSwgODMsIDEyOCwgNjUsIDcyLCA4MywgNjgsIDY1LCAxMjgsIDY1LCA3MiwgODMsIDY1LCAxMjgsIDY1LCAKLSAgICA3MiwgNjUsIDc4LCAxOTksIDY1LCA3MiwgNjUsIDcxLCA3MSwgNjUsIDIxMCwgNjUsIDcyLCA2NSwgNjgsIDEyOCwgNjUsIAotICAgIDcxLCA4NSwgNzgsIDcxLCAxMjgsIDY1LCA3MSwgNzksIDcxLCAyMDEsIDY1LCA3MSwgNzEsIDgyLCA2NSwgODYsIDY1LCA4NCwgCi0gICAgNzMsIDc5LCA3OCwgMTI4LCA2NSwgNzEsIDcxLCA4MiwgNjUsIDg2LCA2NSwgODQsIDY5LCAxOTYsIDY1LCA3MSwgNjUsIDczLCAKLSAgICA3OCwgMTI4LCA2NSwgNzAsIDg0LCA2OSwgMjEwLCA2NSwgNzAsIDgzLCA2NSwgNjUsIDgxLCAxMjgsIDY1LCA3MCwgODIsIAotICAgIDczLCA2NywgNjUsIDIwNiwgNjUsIDcwLCA3OSwgODIsIDY5LCA3NywgNjksIDc4LCA4NCwgNzMsIDc5LCA3OCwgNjksIDY4LCAKLSAgICAxMjgsIDY1LCA3MCwgNzEsIDcyLCA2NSwgNzgsIDIwMSwgNjUsIDcwLCA3MCwgODIsIDczLCA2NywgNjUsIDg0LCA3MywgNzksIAotICAgIDIwNiwgNjUsIDY5LCA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgNjUsIDY5LCA4OSwgMTI4LCA2NSwgNjksIDgzLCA2NywgCisgICAgODQsIDY1LCA3MywgNzYsIDEyOCwgNjUsIDgyLCA4MiwgNzMsIDg2LCA3MywgNzgsIDcxLCAxMjgsIDY1LCA4MiwgODIsIDczLCAKKyAgICA4NiwgNjksIDEyOCwgNjUsIDgyLCA4MiwgNjUsIDg5LCAxMjgsIDY1LCA4MiwgODAsIDY5LCA3MSwgNzEsIDczLCA2NSwgODQsIAorICAgIDIwNywgNjUsIDgyLCA3OSwgODUsIDgzLCA3MywgNzgsIDE5OSwgNjUsIDgyLCA3OSwgODUsIDgyLCAxOTMsIDY1LCA4MiwgCisgICAgNzksIDg1LCA3OCwgNjgsIDQ1LCA4MCwgODIsIDc5LCA3MCwgNzMsIDc2LCA2OSwgMTI4LCA2NSwgODIsIDc5LCA4NSwgNzgsIAorICAgIDE5NiwgNjUsIDgyLCA3NywgODksIDEyOCwgNjUsIDgyLCA3NywgNzksIDg1LCA4MiwgMTI4LCA2NSwgODIsIDIwNSwgNjUsIAorICAgIDgyLCA3NiwgNjUsIDg1LCAxOTksIDY1LCA4MiwgNzUsIDg0LCA3MywgNzUsIDIwNywgNjUsIDgyLCA3NSwgNjUsIDY2LCAKKyAgICAxMjgsIDY1LCA4MiwgNzUsIDY1LCA2NSwgNzgsIDg1LCAxMjgsIDY1LCA4MiwgNzMsIDgzLCA4NCwgNjksIDgyLCA2NSwgCisgICAgMTI4LCA2NSwgODIsIDczLCA4MywgODQsIDY5LCA4MiwgMTkzLCA2NSwgODIsIDczLCA2OSwgODMsIDEyOCwgNjUsIDgyLCAKKyAgICA3MSwgNzksIDg0LCA2OSwgODIsIDczLCAxMjgsIDY1LCA4MiwgNzEsIDc5LCA4MywgODksIDc4LCA4NCwgNzIsIDY5LCA4NCwgCisgICAgNzksIDc4LCAxMjgsIDY1LCA4MiwgNzEsIDczLCAxMjgsIDY1LCA4MiwgNjksIDgwLCA2NSwgMTI4LCA2NSwgODIsIDY5LCAKKyAgICA2NSwgMTI4LCA2NSwgODIsIDY4LCA3MiwgNjUsIDg2LCA3MywgODMsIDY1LCA4MiwgNzEsIDY1LCAxMjgsIDY1LCA4MiwgNjgsIAorICAgIDcyLCA2NSwgNjcsIDY1LCA3OCwgNjgsIDgyLCA2NSwgMTI4LCA2NSwgODIsIDY3LCA3MiwgNjUsIDczLCA3OSwgNzgsIDEyOCwgCisgICAgNjUsIDgyLCA2NywgNzIsIDY1LCA3MywgNzksIDIwNiwgNjUsIDgyLCA2NywgNzIsIDY1LCA3MywgMTk1LCA2NSwgODIsIDY3LCAKKyAgICAyMDAsIDY1LCA4MiwgNjcsIDEyOCwgNjUsIDgyLCAxOTUsIDY1LCA4MiwgNjUsIDc3LCA2NSwgNzMsIDE5NSwgNjUsIDgyLCAKKyAgICA2NSwgNjksIDY1LCA2OSwgMTI4LCA2NSwgODIsIDY1LCA2OSwgNjUsIDQ1LCA4NSwgMTI4LCA2NSwgODIsIDY1LCA2OSwgNjUsIAorICAgIDQ1LCA3MywgMTI4LCA2NSwgODIsIDY1LCA2OSwgNjUsIDQ1LCA2OSwgNzksIDEyOCwgNjUsIDgyLCA2NSwgNjksIDY1LCA0NSwgCisgICAgNjksIDEyOCwgNjUsIDgyLCA2NSwgNjksIDY1LCA0NSwgNjUsIDEyOCwgNjUsIDgyLCA2NSwgNjgsIDEyOCwgNjUsIDgyLCAKKyAgICA2NSwgMTk2LCA2NSwgODIsIDY1LCA2NiwgNzMsIDY3LCA0NSwgNzMsIDc4LCA2OCwgNzMsIDE5NSwgNjUsIDgyLCA2NSwgNjYsIAorICAgIDczLCA2NSwgMjA2LCA2NSwgODIsIDQ1LCA4MiwgNjUsIDcyLCA3NywgNjUsIDIwNiwgNjUsIDgyLCA0NSwgODIsIDY1LCA3MiwgCisgICAgNjksIDY5LCA3NywgMTI4LCA2NSwgODEsIDg1LCA2NSwgODIsIDczLCA4NSwgODMsIDEyOCwgNjUsIDgxLCA4NSwgNjUsIDcwLCAKKyAgICA3OSwgODIsIDg0LCA3MywgODMsIDEyOCwgNjUsIDgxLCA4NSwgMTkzLCA2NSwgODAsIDg1LCAyMDYsIDY1LCA4MCwgODIsIAorICAgIDczLCA3NiwgMTI4LCA2NSwgODAsIDgwLCA4MiwgNzksIDg4LCA3MywgNzcsIDY1LCA4NCwgNjksIDc2LCAyMTcsIDY1LCA4MCwgCisgICAgODAsIDgyLCA3OSwgODgsIDczLCA3NywgNjUsIDg0LCA2OSwgMTI4LCA2NSwgODAsIDgwLCA4MiwgNzksIDY1LCA2NywgNzIsIAorICAgIDY5LCAyMTEsIDY1LCA4MCwgODAsIDgyLCA3OSwgNjUsIDY3LCA3MiwgMTI4LCA2NSwgODAsIDgwLCA3NiwgNzMsIDY3LCA2NSwgCisgICAgODQsIDczLCA3OSwgNzgsIDEyOCwgNjUsIDgwLCA4MCwgNzYsIDczLCA2NywgNjUsIDg0LCA3MywgNzksIDIwNiwgNjUsIDgwLCAKKyAgICA3OSwgODQsIDcyLCA2OSwgODMsIDEyOCwgNjUsIDgwLCA3OSwgODQsIDcyLCA2OSwgNzcsIDY1LCAxMjgsIDY1LCA4MCwgNzksIAorICAgIDgzLCA4NCwgODIsIDc5LCA4MCwgNzIsIDY5LCAxMjgsIDY1LCA4MCwgNzksIDgzLCA4NCwgODIsIDc5LCA3MCwgNzksIDgzLCAKKyAgICAxMjgsIDY1LCA4MCwgNzksIDgzLCA4NCwgODIsIDc5LCA3MCwgNzksIDIxMSwgNjUsIDgwLCA3OSwgODMsIDg0LCA4MiwgNzksIAorICAgIDcwLCA3OSwgMjAxLCA2NSwgODAsIDc5LCA2OCwgNjksIDg4LCA3MywgNjUsIDEyOCwgNjUsIDgwLCA3OSwgNjgsIDY5LCA4MiwgCisgICAgNzcsIDE5MywgNjUsIDgwLCA3NiwgNzksIDg1LCA3OCwgMTI4LCA2NSwgODAsIDc2LCAyMDEsIDY1LCA4MCwgMjA0LCA2NSwgCisgICAgODAsIDczLCA3OCwgMTI4LCA2NSwgODAsIDY5LCA4MywgMjA3LCA2NSwgODAsIDY3LCAxMjgsIDY1LCA4MCwgNjUsIDgyLCAKKyAgICA4NCwgMTI4LCA2NSwgODAsIDY1LCA2NSwgODQsIDc5LCAxMjgsIDY1LCA3OSwgODUsIDEyOCwgNjUsIDc5LCA4MiwgMTI4LCAKKyAgICA2NSwgNzgsIDg1LCA4MywgODYsIDY1LCA4MiwgNjUsIDg5LCA2NSwgMTI4LCA2NSwgNzgsIDg1LCA4MywgODYsIDY1LCA4MiwgCisgICAgNjUsIDEyOCwgNjUsIDc4LCA4NSwgODMsIDg2LCA2NSwgODIsIDE5MywgNjUsIDc4LCA4NSwgNjgsIDY1LCA4NCwgODQsIDY1LCAKKyAgICAxMjgsIDY1LCA3OCwgODUsIDY4LCA2NSwgODQsIDg0LCAxOTMsIDY1LCA3OCwgODQsIDczLCA4MiwgNjksIDgzLCA4NCwgODIsIAorICAgIDczLCA2NywgODQsIDczLCA3OSwgNzgsIDEyOCwgNjUsIDc4LCA4NCwgNzMsIDc3LCA3OSwgNzgsIDg5LCA0NSwgNTAsIDEyOCwgCisgICAgNjUsIDc4LCA4NCwgNzMsIDc3LCA3OSwgNzgsIDg5LCAxMjgsIDY1LCA3OCwgODQsIDczLCA3NywgNzksIDc4LCAyMTcsIDY1LCAKKyAgICA3OCwgODQsIDczLCA3NywgNzksIDc4LCA3MywgNjUsIDg0LCA2OSwgMTI4LCA2NSwgNzgsIDg0LCA3MywgNzUsIDY5LCA3OCwgCisgICAgNzksIDc3LCA2NSwgMTI4LCA2NSwgNzgsIDg0LCA3MywgNzUsIDY5LCA3OCwgNzksIDc1LCA4OSwgNzYsIDczLCA4MywgNzcsIAorICAgIDY1LCAxMjgsIDY1LCA3OCwgODQsIDczLCA3MCwgNzksIDc4LCA3MywgNjUsIDEyOCwgNjUsIDc4LCA4NCwgNzMsIDY3LCA3NiwgCisgICAgNzksIDY3LCA3NSwgODcsIDczLCA4MywgNjksIDQ1LCA4MiwgNzksIDg0LCA2NSwgODQsIDY5LCAxOTYsIDY1LCA3OCwgODQsIAorICAgIDczLCA2NywgNzYsIDc5LCA2NywgNzUsIDg3LCA3MywgODMsIDY5LCAxMjgsIDY1LCA3OCwgODQsIDczLCA2NywgNzYsIDc5LCAKKyAgICA2NywgNzUsIDg3LCA3MywgODMsIDE5NywgNjUsIDc4LCA4NCwgNjksIDc4LCA3OCwgNjUsIDEyOCwgNjUsIDc4LCA4NCwgNjksIAorICAgIDc4LCA3OCwgMTkzLCA2NSwgNzgsIDg0LCA2NSwgODIsIDcxLCA3OSwgNzcsIDg1LCA3NSwgNzIsIDY1LCAxMjgsIDY1LCA3OCwgCisgICAgODMsIDg1LCAyMTgsIDY1LCA3OCwgODMsIDcyLCA2OSwgMTI4LCA2NSwgNzgsIDgwLCA2OSwgNjUsIDEyOCwgNjUsIDc4LCAKKyAgICAyMDcsIDY1LCA3OCwgNzgsIDg1LCA3MywgODQsIDIxNywgNjUsIDc4LCA3OCwgNzksIDg0LCA2NSwgODQsIDczLCA3OSwgCisgICAgMjA2LCA2NSwgNzgsIDc4LCA2NSwgNjUsIDg1LCAxMjgsIDY1LCA3OCwgNzUsIDcyLCAxMjgsIDY1LCA3OCwgNzQsIDczLCAKKyAgICAxMjgsIDY1LCA3OCwgNzIsIDg1LCAxMjgsIDY1LCA3OCwgNzEsIDg1LCA3NiwgNjUsIDgyLCAxMjgsIDY1LCA3OCwgNzEsIAorICAgIDg1LCA3MywgODMsIDcyLCA2OSwgMTk2LCA2NSwgNzgsIDcxLCA4MywgODQsIDgyLCA3OSwgMjA1LCA2NSwgNzgsIDcxLCA4MiwgCisgICAgMjE3LCA2NSwgNzgsIDcxLCA3NSwgNzIsIDY1LCA3OCwgNzUsIDcyLCA4NSwgMTI4LCA2NSwgNzgsIDcxLCA2OSwgMjEwLCAKKyAgICA2NSwgNzgsIDcxLCA2OSwgNzYsIDEyOCwgNjUsIDc4LCA3MSwgNjksIDY4LCAxMjgsIDY1LCA3OCwgNjgsIDY1LCA4MCwgCisgICAgMTI4LCA2NSwgNzgsIDY3LCA3OSwgODIsIDY1LCAxMjgsIDY1LCA3OCwgNjcsIDcyLCA3OSwgODIsIDEyOCwgNjUsIDc4LCAKKyAgICA2NSwgODQsIDgyLCA3MywgNjcsIDcyLCA3MywgODMsIDc3LCA2NSwgMTI4LCA2NSwgNzgsIDY1LCA4MCwgMTI4LCA2NSwgNzcsIAorICAgIDgwLCA4MywgMTI4LCA2NSwgNzcsIDgwLCA2OSwgODIsIDgzLCA2NSwgNzgsIDY4LCAxMjgsIDY1LCA3NywgODAsIDY5LCA4MiwgCisgICAgODMsIDY1LCA3OCwgMTk2LCA2NSwgNzcsIDc5LCA4NSwgNzgsIDIxMiwgNjUsIDc3LCA2OSwgODIsIDczLCA2NywgNjUsIDgzLCAKKyAgICAxMjgsIDY1LCA3NywgNjksIDgyLCA3MywgNjcsIDY1LCAyMDYsIDY1LCA3NywgNjYsIDg1LCA3NiwgNjUsIDc4LCA2NywgNjksIAorICAgIDEyOCwgNjUsIDc3LCA2NiwgMTkzLCA2NSwgNzcsIDY1LCA4MiwgMTI4LCA2NSwgNzcsIDY1LCAyMTAsIDY1LCA3NywgNjUsIAorICAgIDc2LCA3MSwgNjUsIDc3LCA2NSwgODQsIDczLCA3OSwgMjA2LCA2NSwgNzcsIDY1LCA3NiwgNzEsIDY1LCA3NywgMTI4LCA2NSwgCisgICAgNzYsIDg2LCA2OSwgNzksIDc2LCA2NSwgMjEwLCA2NSwgNzYsIDg1LCA3NywgMTI4LCA2NSwgNzYsIDg0LCA2OSwgODIsIDc4LCAKKyAgICA2NSwgODQsIDczLCA4NiwgMTk3LCA2NSwgNzYsIDg0LCA2OSwgODIsIDc4LCA2NSwgODQsIDczLCA3OSwgMjA2LCA2NSwgNzYsIAorICAgIDg0LCA2OSwgODIsIDc4LCA2NSwgODQsIDE5NywgNjUsIDc2LCA4NCwgNjUsIDEyOCwgNjUsIDc2LCA4MCwgNzIsIDY1LCAKKyAgICAxMjgsIDY1LCA3NiwgODAsIDcyLCAxOTMsIDY1LCA3NiwgODAsIDY1LCA4MCwgODIsIDY1LCA3OCwgNjUsIDEyOCwgNjUsIAorICAgIDc2LCA4MCwgNjUsIDgwLCA4MiwgNjUsIDY1LCA3OCwgMTkzLCA2NSwgNzYsIDgwLCA2NSwgMTI4LCA2NSwgNzYsIDc3LCA3OSwgCisgICAgODMsIDIxMiwgNjUsIDc2LCA3NywgMTI4LCA2NSwgNzYsIDc2LCA3OSwgMTI4LCA2NSwgNzYsIDc2LCA3MywgNjUsIDc4LCAKKyAgICA2NywgNjksIDEyOCwgNjUsIDc2LCA3NiwgMjAxLCA2NSwgNzYsIDc2LCA2NSwgMjAwLCA2NSwgNzYsIDc1LCA2NSwgNzYsIAorICAgIDczLCA0NSwgNTAsIDEyOCwgNjUsIDc2LCA3NSwgNjUsIDc2LCA3MywgMTI4LCA2NSwgNzYsIDczLCA3MSwgNzgsIDY5LCAKKyAgICAxOTYsIDY1LCA3NiwgNzMsIDcwLCA4NSwgMTI4LCA2NSwgNzYsIDczLCA2OSwgNzgsIDEyOCwgNjUsIDc2LCA3MywgNjksIAorICAgIDIwNiwgNjUsIDc2LCA3MSwgNzMsIDIxOCwgNjUsIDc2LCA3MCwgNjUsIDEyOCwgNjUsIDc2LCA2OSwgODUsIDIxMiwgNjUsIAorICAgIDc2LCA2OSwgODIsIDg0LCAxMjgsIDY1LCA3NiwgNjksIDgwLCA3MiwgMTI4LCA2NSwgNzYsIDY5LCA3NywgNjYsIDczLCA2NywgCisgICAgMTI4LCA2NSwgNzYsIDY5LCA3MCwgMTI4LCA2NSwgNzYsIDY2LCA2NSwgNzgsIDczLCA2NSwgMjA2LCA2NSwgNzYsIDY1LCAKKyAgICA4OSwgNzIsIDY5LCAxMjgsIDY1LCA3NiwgNjUsIDg5LCA3MiwgMTk3LCA2NSwgNzYsIDY1LCA4MiwgMjA1LCA2NSwgNzYsIAorICAgIDY1LCA4MCwgNzIsIDEyOCwgNjUsIDc2LCA0NSwgNzYsIDY1LCA3NSwgODUsIDc4LCA2NSwgMTI4LCA2NSwgNzUsIDg0LCA3MywgCisgICAgNjksIDgzLCA2OSwgNzYsIDgzLCA3NSwgNjUsIDY2LCAxMjgsIDY1LCA3NSwgODMsIDY1LCAxMjgsIDY1LCA3NSwgNzIsIDc3LCAKKyAgICA3MywgNzcsIDczLCAxOTUsIDY1LCA3NSwgNjYsIDY1LCAyMTAsIDY1LCA3NSwgNjUsIDgyLCA2NSwgMTI4LCA2NSwgNzUsIAorICAgIDY1LCA4MiwgMTkzLCA2NSwgNzMsIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA2NSwgNzMsIDg2LCA3MywgNzYsIDczLCAKKyAgICAyMDMsIDY1LCA3MywgODQsIDc5LCAyMDYsIDY1LCA3MywgODIsIDgwLCA3NiwgNjUsIDc4LCA2OSwgMTI4LCA2NSwgNzMsIAorICAgIDgyLCA4MCwgNzYsIDY1LCA3OCwgMTk3LCA2NSwgNzMsIDc4LCAyMTMsIDY1LCA3MywgNzgsIDc4LCAxMjgsIDY1LCA3MywgCisgICAgNzYsIDc3LCAxMjgsIDY1LCA3MywgNzUsIDY1LCA4MiwgNjUsIDEyOCwgNjUsIDczLCA3MiwgODYsIDg1LCA4MywgMTI4LCAKKyAgICA2NSwgNzIsIDgzLCA2OCwgNjUsIDEyOCwgNjUsIDcyLCA4MywgNjUsIDEyOCwgNjUsIDcyLCA2NSwgNzgsIDE5OSwgNjUsIAorICAgIDcyLCA2NSwgNzEsIDcxLCA2NSwgMjEwLCA2NSwgNzIsIDY1LCA2OCwgMTI4LCA2NSwgNzEsIDg1LCA3OCwgNzEsIDEyOCwgCisgICAgNjUsIDcxLCA3OSwgNzEsIDIwMSwgNjUsIDcxLCA3MSwgODIsIDY1LCA4NiwgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDY1LCAKKyAgICA3MSwgNzEsIDgyLCA2NSwgODYsIDY1LCA4NCwgNjksIDE5NiwgNjUsIDcxLCA2NSwgNzMsIDc4LCAxMjgsIDY1LCA3MCwgODQsIAorICAgIDY5LCAyMTAsIDY1LCA3MCwgODMsIDY1LCA2NSwgODEsIDEyOCwgNjUsIDcwLCA4MiwgNzMsIDY3LCA2NSwgMjA2LCA2NSwgCisgICAgNzAsIDc5LCA4MiwgNjksIDc3LCA2OSwgNzgsIDg0LCA3MywgNzksIDc4LCA2OSwgNjgsIDEyOCwgNjUsIDcwLCA3MSwgNzIsIAorICAgIDY1LCA3OCwgMjAxLCA2NSwgNzAsIDcwLCA4MiwgNzMsIDY3LCA2NSwgODQsIDczLCA3OSwgMjA2LCA2NSwgNzAsIDcwLCA3MywgCisgICAgMjE2LCA2NSwgNjksIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA2NSwgNjksIDg5LCAxMjgsIDY1LCA2OSwgODMsIDY3LCAKICAgICA4NSwgNzYsIDY1LCA4MCwgNzMsIDg1LCA4MywgMTI4LCA2NSwgNjksIDgzLCA2NywgMTI4LCA2NSwgNjksIDgzLCAxMjgsIAogICAgIDY1LCA2OSwgODIsIDczLCA2NSwgMjA0LCA2NSwgNjksIDgyLCAxMjgsIDY1LCA2OSwgNzYsIDY1LCA0NSwgODAsIDczLCA3NiwgCiAgICAgNzYsIDY1LCAxMjgsIDY1LCA2OSwgNzYsIDEyOCwgNjUsIDY5LCA3NSwgMTI4LCA2NSwgNjksIDcxLCA2OSwgNjUsIDIwNiwgCiAgICAgNjUsIDY5LCA3MSwgMTI4LCA2NSwgNjksIDY5LCA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgNjUsIDY5LCA2OSwgMTI4LCAKICAgICA2NSwgNjksIDY4LCA2NSwgNDUsIDgwLCA3MywgNzYsIDc2LCA2NSwgMTI4LCA2NSwgNjksIDY4LCAxMjgsIDY1LCA2OSwgNjYsIAogICAgIDEyOCwgNjUsIDY4LCA4NiwgNjUsIDc4LCA4NCwgNjUsIDcxLCA2OSwgMTI4LCA2NSwgNjgsIDg2LCA2NSwgNzgsIDY3LCA2OSwgCi0gICAgMTI4LCA2NSwgNjgsIDY5LCA3MSwgMTI4LCA2NSwgNjgsIDY5LCAxOTksIDY1LCA2OCwgNjgsIDgyLCA2OSwgODMsIDgzLCAKLSAgICA2OSwgMTk2LCA2NSwgNjgsIDY4LCA4MiwgNjksIDgzLCAyMTEsIDY1LCA2OCwgNjgsIDY1LCA3NSwgMTI4LCA2NSwgNjgsIAotICAgIDY1LCAyMDMsIDY1LCA2NywgODUsIDg0LCA2OSwgNDUsIDc3LCA2NSwgNjcsIDgyLCA3OSwgNzgsIDEyOCwgNjUsIDY3LCA4NSwgCi0gICAgODQsIDY5LCA0NSwgNzEsIDgyLCA2NSwgODYsIDY5LCA0NSwgNjUsIDY3LCA4NSwgODQsIDY5LCAxMjgsIDY1LCA2NywgODUsIAotICAgIDg0LCAxOTcsIDY1LCA2NywgODQsIDg1LCA2NSwgNzYsIDc2LCAyMTcsIDY1LCA2NywgODQsIDczLCA4NiwgNjUsIDg0LCAKLSAgICAxOTcsIDY1LCA2NywgODIsIDc5LCA4MCwgNzIsIDc5LCA3OCwgNzMsIDE5NSwgNjUsIDY3LCA3NSwgNzgsIDc5LCA4NywgNzYsIAotICAgIDY5LCA2OCwgNzEsIDY5LCAxMjgsIDY1LCA2NywgNjcsIDg1LCA3NywgODUsIDc2LCA2NSwgODQsIDczLCA3OSwgNzgsIDEyOCwgCi0gICAgNjUsIDY3LCA2NywgNzksIDg1LCA3OCwgMjEyLCA2NSwgNjcsIDY3LCA2OSwgODAsIDg0LCAxMjgsIDY1LCA2NywgNjcsIDY5LCAKLSAgICA3OCwgODQsIDQ1LCA4MywgODQsIDY1LCA2NywgNjcsIDY1LCA4NCwgNzksIDEyOCwgNjUsIDY3LCA2NywgNjksIDc4LCA4NCwgCi0gICAgMTI4LCA2NSwgNjcsIDY3LCA2OSwgNzgsIDIxMiwgNjUsIDY3LCA2NSwgNjgsIDY5LCA3NywgMjE3LCA2NSwgNjYsIDg5LCAKLSAgICA4MywgNzcsIDY1LCAyMDQsIDY1LCA2NiwgODUsIDc4LCA2OCwgNjUsIDc4LCA2NywgNjksIDEyOCwgNjUsIDY2LCA3NSwgNzIsIAotICAgIDY1LCA4MywgNzMsIDY1LCAyMDYsIDY1LCA2NiwgNjYsIDgyLCA2OSwgODYsIDczLCA2NSwgODQsIDczLCA3OSwgMjA2LCA2NSwgCi0gICAgNjYsIDY1LCA3MCwgNzMsIDc2LCA3MywgMTI4LCA2NSwgNjYsIDE3OCwgNjUsIDY1LCA4OSwgNjUsIDc4LCA3OCwgNjUsIAotICAgIDEyOCwgNjUsIDY1LCA4OSwgMTI4LCA2NSwgNjUsIDg3LCAxMjgsIDY1LCA2NSwgNzksIDEyOCwgNjUsIDY1LCA3NCwgMTI4LCAKLSAgICA2NSwgNjUsIDY2LCA2NSwgNjUsIDcwLCA3MywgNzYsIDczLCAxMjgsIDY1LCA2NSwgNDgsIDUxLCA1MCwgMTI4LCA2NSwgNjUsIAotICAgIDQ4LCA1MSwgNDksIDEyOCwgNjUsIDY1LCA0OCwgNTEsIDQ4LCAxMjgsIDY1LCA2NSwgNDgsIDUwLCA1NywgMTI4LCA2NSwgCi0gICAgNjUsIDQ4LCA1MCwgNTYsIDEyOCwgNjUsIDY1LCA0OCwgNTAsIDU1LCAxMjgsIDY1LCA2NSwgNDgsIDUwLCA1NCwgMTI4LCAKLSAgICA2NSwgNjUsIDQ4LCA1MCwgNTMsIDEyOCwgNjUsIDY1LCA0OCwgNTAsIDUyLCAxMjgsIDY1LCA2NSwgNDgsIDUwLCA1MSwgCi0gICAgMTI4LCA2NSwgNjUsIDQ4LCA1MCwgNTAsIDEyOCwgNjUsIDY1LCA0OCwgNTAsIDQ5LCAxMjgsIDY1LCA2NSwgNDgsIDUwLCAKLSAgICA0OCwgMTI4LCA2NSwgNjUsIDQ4LCA0OSwgNTcsIDEyOCwgNjUsIDY1LCA0OCwgNDksIDU2LCAxMjgsIDY1LCA2NSwgNDgsIAotICAgIDQ5LCA1NSwgMTI4LCA2NSwgNjUsIDQ4LCA0OSwgNTQsIDEyOCwgNjUsIDY1LCA0OCwgNDksIDUzLCAxMjgsIDY1LCA2NSwgCi0gICAgNDgsIDQ5LCA1MiwgMTI4LCA2NSwgNjUsIDQ4LCA0OSwgNTEsIDEyOCwgNjUsIDY1LCA0OCwgNDksIDUwLCAxMjgsIDY1LCAKLSAgICA2NSwgNDgsIDQ5LCA0OSwgMTI4LCA2NSwgNjUsIDQ4LCA0OSwgNDgsIDEyOCwgNjUsIDY1LCA0OCwgNDgsIDU3LCAxMjgsIAotICAgIDY1LCA2NSwgNDgsIDQ4LCA1NiwgMTI4LCA2NSwgNjUsIDQ4LCA0OCwgNTUsIDY2LCAxMjgsIDY1LCA2NSwgNDgsIDQ4LCA1NSwgCi0gICAgNjUsIDEyOCwgNjUsIDY1LCA0OCwgNDgsIDU1LCAxMjgsIDY1LCA2NSwgNDgsIDQ4LCA1NCwgMTI4LCA2NSwgNjUsIDQ4LCAKLSAgICA0OCwgNTMsIDEyOCwgNjUsIDY1LCA0OCwgNDgsIDUyLCAxMjgsIDY1LCA2NSwgNDgsIDQ4LCA1MSwgMTI4LCA2NSwgNjUsIAotICAgIDQ4LCA0OCwgNTAsIDEyOCwgNjUsIDY1LCA0OCwgNDgsIDQ5LCAxMjgsIDY1LCA0OCwgNTUsIDQ4LCAxMjgsIDY1LCA0OCwgCi0gICAgNTQsIDU3LCAxMjgsIDY1LCA0OCwgNTQsIDU2LCAxMjgsIDY1LCA0OCwgNTQsIDU1LCAxMjgsIDY1LCA0OCwgNTQsIDU0LCAKLSAgICAxMjgsIDY1LCA0OCwgNTQsIDUzLCAxMjgsIDY1LCA0OCwgNTQsIDUyLCAxMjgsIDY1LCA0OCwgNTQsIDUxLCAxMjgsIDY1LCAKLSAgICA0OCwgNTQsIDUwLCAxMjgsIDY1LCA0OCwgNTQsIDQ5LCAxMjgsIDY1LCA0OCwgNTQsIDQ4LCAxMjgsIDY1LCA0OCwgNTMsIAotICAgIDU3LCAxMjgsIDY1LCA0OCwgNTMsIDU2LCAxMjgsIDY1LCA0OCwgNTMsIDU1LCAxMjgsIDY1LCA0OCwgNTMsIDU0LCAxMjgsIAotICAgIDY1LCA0OCwgNTMsIDUzLCAxMjgsIDY1LCA0OCwgNTMsIDUyLCAxMjgsIDY1LCA0OCwgNTMsIDUxLCAxMjgsIDY1LCA0OCwgCi0gICAgNTMsIDUwLCAxMjgsIDY1LCA0OCwgNTMsIDQ5LCAxMjgsIDY1LCA0OCwgNTMsIDQ4LCAxMjgsIDY1LCA0OCwgNTIsIDU3LCAKLSAgICAxMjgsIDY1LCA0OCwgNTIsIDU2LCAxMjgsIDY1LCA0OCwgNTIsIDU1LCAxMjgsIDY1LCA0OCwgNTIsIDU0LCAxMjgsIDY1LCAKLSAgICA0OCwgNTIsIDUzLCA2NSwgMTI4LCA2NSwgNDgsIDUyLCA1MywgMTI4LCA2NSwgNDgsIDUyLCA1MiwgMTI4LCA2NSwgNDgsIAotICAgIDUyLCA1MSwgNjUsIDEyOCwgNjUsIDQ4LCA1MiwgNTEsIDEyOCwgNjUsIDQ4LCA1MiwgNTAsIDY1LCAxMjgsIDY1LCA0OCwgCi0gICAgNTIsIDUwLCAxMjgsIDY1LCA0OCwgNTIsIDQ5LCAxMjgsIDY1LCA0OCwgNTIsIDQ4LCA2NSwgMTI4LCA2NSwgNDgsIDUyLCAKLSAgICA0OCwgMTI4LCA2NSwgNDgsIDUxLCA1NywgMTI4LCA2NSwgNDgsIDUxLCA1NiwgMTI4LCA2NSwgNDgsIDUxLCA1NSwgMTI4LCAKLSAgICA2NSwgNDgsIDUxLCA1NCwgMTI4LCA2NSwgNDgsIDUxLCA1MywgMTI4LCA2NSwgNDgsIDUxLCA1MiwgMTI4LCA2NSwgNDgsIAotICAgIDUxLCA1MSwgMTI4LCA2NSwgNDgsIDUxLCA1MCwgNjUsIDEyOCwgNjUsIDQ4LCA0OSwgNTUsIDY1LCAxMjgsIDY1LCA0OCwgCi0gICAgNDksIDUyLCA2NSwgMTI4LCA2NSwgNDgsIDQ4LCA1NCwgNjYsIDEyOCwgNjUsIDQ4LCA0OCwgNTQsIDY1LCAxMjgsIDY1LCAKLSAgICA0OCwgNDgsIDUzLCA2NSwgMTI4LCA2NSwgNDUsIDY5LCA4NSwgMTI4LCA0NSwgODUsIDIwNSwgNDUsIDgwLCA3MiwgODIsIAotICAgIDg1LCAxMjgsIDQ1LCA3NSwgNzIsIDg5LCA4NSwgMTk2LCA0NSwgNzUsIDcyLCA4OSwgNzMsIDc2LCAxMjgsIDQ1LCA2OCwgCi0gICAgOTAsIDg1LCAxOTYsIDQ1LCA2NywgNzIsIDY1LCAyMTAsIDQ1LCA2NywgNzIsIDY1LCA3NiwgMTI4LCAKKyAgICAxMjgsIDY1LCA2OCwgNzcsIDczLCA4MywgODMsIDczLCA3OSwgMjA2LCA2NSwgNjgsIDY5LCA3MSwgMTI4LCA2NSwgNjgsIAorICAgIDY5LCAxOTksIDY1LCA2OCwgNjgsIDgyLCA2OSwgODMsIDgzLCA2OSwgMTk2LCA2NSwgNjgsIDY4LCA4MiwgNjksIDgzLCAKKyAgICAyMTEsIDY1LCA2OCwgNjgsIDY1LCA3NSwgMTI4LCA2NSwgNjgsIDY1LCAyMDMsIDY1LCA2NywgODUsIDg0LCA2OSwgNDUsIAorICAgIDc3LCA2NSwgNjcsIDgyLCA3OSwgNzgsIDEyOCwgNjUsIDY3LCA4NSwgODQsIDY5LCA0NSwgNzEsIDgyLCA2NSwgODYsIDY5LCAKKyAgICA0NSwgNjUsIDY3LCA4NSwgODQsIDY5LCAxMjgsIDY1LCA2NywgODUsIDg0LCAxOTcsIDY1LCA2NywgODQsIDg1LCA2NSwgNzYsIAorICAgIDc2LCAyMTcsIDY1LCA2NywgODQsIDczLCA4NiwgNjUsIDg0LCAxOTcsIDY1LCA2NywgODIsIDc5LCA4MCwgNzIsIDc5LCA3OCwgCisgICAgNzMsIDE5NSwgNjUsIDY3LCA3NSwgNzgsIDc5LCA4NywgNzYsIDY5LCA2OCwgNzEsIDY5LCAxMjgsIDY1LCA2NywgNjcsIDg1LCAKKyAgICA3NywgODUsIDc2LCA2NSwgODQsIDczLCA3OSwgNzgsIDEyOCwgNjUsIDY3LCA2NywgNzksIDg1LCA3OCwgMjEyLCA2NSwgNjcsIAorICAgIDY3LCA3OSwgNzcsIDc3LCA3OSwgNjgsIDY1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA2NSwgNjcsIDY3LCA2OSwgODAsIDg0LCAKKyAgICAxMjgsIDY1LCA2NywgNjcsIDY5LCA3OCwgODQsIDQ1LCA4MywgODQsIDY1LCA2NywgNjcsIDY1LCA4NCwgNzksIDEyOCwgNjUsIAorICAgIDY3LCA2NywgNjksIDc4LCA4NCwgMTI4LCA2NSwgNjcsIDY3LCA2OSwgNzgsIDIxMiwgNjUsIDY3LCA2NSwgNjgsIDY5LCA3NywgCisgICAgMjE3LCA2NSwgNjYsIDg5LCA4MywgNzcsIDY1LCAyMDQsIDY1LCA2NiwgODUsIDc4LCA2OCwgNjUsIDc4LCA2NywgNjksIAorICAgIDEyOCwgNjUsIDY2LCA3NSwgNzIsIDY1LCA4MywgNzMsIDY1LCAyMDYsIDY1LCA2NiwgNjYsIDgyLCA2OSwgODYsIDczLCA2NSwgCisgICAgODQsIDczLCA3OSwgMjA2LCA2NSwgNjYsIDY1LCA3MCwgNzMsIDc2LCA3MywgMTI4LCA2NSwgNjYsIDE3OCwgNjUsIDY2LCAKKyAgICA0OSwgNTcsIDQ5LCAxMjgsIDY1LCA2NiwgNDksIDU2LCA1NiwgMTI4LCA2NSwgNjYsIDQ5LCA1NiwgNDgsIDEyOCwgNjUsIAorICAgIDY2LCA0OSwgNTUsIDQ5LCAxMjgsIDY1LCA2NiwgNDksIDU0LCA1MiwgMTI4LCA2NSwgNjYsIDQ5LCA1MSwgNDksIDY2LCAKKyAgICAxMjgsIDY1LCA2NiwgNDksIDUxLCA0OSwgNjUsIDEyOCwgNjUsIDY2LCA0OSwgNTAsIDUxLCAxMjgsIDY1LCA2NiwgNDksIAorICAgIDUwLCA1MCwgMTI4LCA2NSwgNjYsIDQ5LCA1MCwgNDgsIDEyOCwgNjUsIDY2LCA0OSwgNDksIDU2LCAxMjgsIDY1LCA2NiwgCisgICAgNDgsIDU2LCA1NSwgMTI4LCA2NSwgNjYsIDQ4LCA1NiwgNTQsIDEyOCwgNjUsIDY2LCA0OCwgNTYsIDUzLCAxMjgsIDY1LCAKKyAgICA2NiwgNDgsIDU2LCA1MCwgMTI4LCA2NSwgNjYsIDQ4LCA1NiwgNDksIDEyOCwgNjUsIDY2LCA0OCwgNTYsIDQ4LCAxMjgsIAorICAgIDY1LCA2NiwgNDgsIDU1LCA1NywgMTI4LCA2NSwgNjYsIDQ4LCA1NSwgNTYsIDEyOCwgNjUsIDY2LCA0OCwgNTUsIDU1LCAKKyAgICAxMjgsIDY1LCA2NiwgNDgsIDU1LCA1NCwgMTI4LCA2NSwgNjYsIDQ4LCA1NSwgNTIsIDEyOCwgNjUsIDY2LCA0OCwgNTUsIAorICAgIDUxLCAxMjgsIDY1LCA2NiwgNDgsIDU1LCA0OCwgMTI4LCA2NSwgNjYsIDQ4LCA1NCwgNTcsIDEyOCwgNjUsIDY2LCA0OCwgCisgICAgNTQsIDU1LCAxMjgsIDY1LCA2NiwgNDgsIDU0LCA1NCwgMTI4LCA2NSwgNjYsIDQ4LCA1NCwgNTMsIDEyOCwgNjUsIDY2LCAKKyAgICA0OCwgNTQsIDQ5LCAxMjgsIDY1LCA2NiwgNDgsIDU0LCA0OCwgMTI4LCA2NSwgNjYsIDQ4LCA1MywgNTcsIDEyOCwgNjUsIAorICAgIDY2LCA0OCwgNTMsIDU2LCAxMjgsIDY1LCA2NiwgNDgsIDUzLCA1NSwgMTI4LCA2NSwgNjYsIDQ4LCA1MywgNTQsIDEyOCwgCisgICAgNjUsIDY2LCA0OCwgNTMsIDUzLCAxMjgsIDY1LCA2NiwgNDgsIDUzLCA1MiwgMTI4LCA2NSwgNjYsIDQ4LCA1MywgNTEsIAorICAgIDEyOCwgNjUsIDY2LCA0OCwgNTMsIDQ5LCAxMjgsIDY1LCA2NiwgNDgsIDUzLCA0OCwgMTI4LCA2NSwgNjYsIDQ4LCA1MiwgCisgICAgNTcsIDEyOCwgNjUsIDY2LCA0OCwgNTIsIDU2LCAxMjgsIDY1LCA2NiwgNDgsIDUyLCA1NSwgMTI4LCA2NSwgNjYsIDQ4LCAKKyAgICA1MiwgNTQsIDEyOCwgNjUsIDY2LCA0OCwgNTIsIDUzLCAxMjgsIDY1LCA2NiwgNDgsIDUyLCA1MiwgMTI4LCA2NSwgNjYsIAorICAgIDQ4LCA1MiwgNDksIDEyOCwgNjUsIDY2LCA0OCwgNTIsIDQ4LCAxMjgsIDY1LCA2NiwgNDgsIDUxLCA1NywgMTI4LCA2NSwgCisgICAgNjYsIDQ4LCA1MSwgNTYsIDEyOCwgNjUsIDY2LCA0OCwgNTEsIDU1LCAxMjgsIDY1LCA2NiwgNDgsIDUxLCA1MiwgMTI4LCAKKyAgICA2NSwgNjYsIDQ4LCA1MSwgNDksIDEyOCwgNjUsIDY2LCA0OCwgNTEsIDQ4LCAxMjgsIDY1LCA2NiwgNDgsIDUwLCA1NywgCisgICAgMTI4LCA2NSwgNjYsIDQ4LCA1MCwgNTYsIDEyOCwgNjUsIDY2LCA0OCwgNTAsIDU1LCAxMjgsIDY1LCA2NiwgNDgsIDUwLCAKKyAgICA1NCwgMTI4LCA2NSwgNjYsIDQ4LCA1MCwgNTIsIDEyOCwgNjUsIDY2LCA0OCwgNTAsIDUxLCA3NywgMTI4LCA2NSwgNjYsIAorICAgIDQ4LCA1MCwgNTEsIDEyOCwgNjUsIDY2LCA0OCwgNTAsIDUwLCA3NywgMTI4LCA2NSwgNjYsIDQ4LCA1MCwgNTAsIDcwLCAKKyAgICAxMjgsIDY1LCA2NiwgNDgsIDUwLCA1MCwgMTI4LCA2NSwgNjYsIDQ4LCA1MCwgNDksIDc3LCAxMjgsIDY1LCA2NiwgNDgsIAorICAgIDUwLCA0OSwgNzAsIDEyOCwgNjUsIDY2LCA0OCwgNTAsIDQ5LCAxMjgsIDY1LCA2NiwgNDgsIDUwLCA0OCwgMTI4LCA2NSwgCisgICAgNjYsIDQ4LCA0OSwgNTUsIDEyOCwgNjUsIDY2LCA0OCwgNDksIDU0LCAxMjgsIDY1LCA2NiwgNDgsIDQ5LCA1MSwgMTI4LCAKKyAgICA2NSwgNjYsIDQ4LCA0OSwgNDksIDEyOCwgNjUsIDY2LCA0OCwgNDksIDQ4LCAxMjgsIDY1LCA2NiwgNDgsIDQ4LCA1NywgCisgICAgMTI4LCA2NSwgNjYsIDQ4LCA0OCwgNTYsIDEyOCwgNjUsIDY2LCA0OCwgNDgsIDU1LCAxMjgsIDY1LCA2NiwgNDgsIDQ4LCAKKyAgICA1NCwgMTI4LCA2NSwgNjYsIDQ4LCA0OCwgNTMsIDEyOCwgNjUsIDY2LCA0OCwgNDgsIDUyLCAxMjgsIDY1LCA2NiwgNDgsIAorICAgIDQ4LCA1MSwgMTI4LCA2NSwgNjYsIDQ4LCA0OCwgNTAsIDEyOCwgNjUsIDY2LCA0OCwgNDgsIDQ5LCAxMjgsIDY1LCA2NSwgCisgICAgODksIDczLCA3OCwgMTI4LCA2NSwgNjUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA2NSwgNjUsIDg5LCAxMjgsIDY1LCAKKyAgICA2NSwgODcsIDEyOCwgNjUsIDY1LCA3OSwgMTI4LCA2NSwgNjUsIDc0LCAxMjgsIDY1LCA2NSwgNjYsIDY1LCA2NSwgNzAsIAorICAgIDczLCA3NiwgNzMsIDEyOCwgNjUsIDY1LCA0OCwgNTEsIDUwLCAxMjgsIDY1LCA2NSwgNDgsIDUxLCA0OSwgMTI4LCA2NSwgCisgICAgNjUsIDQ4LCA1MSwgNDgsIDEyOCwgNjUsIDY1LCA0OCwgNTAsIDU3LCAxMjgsIDY1LCA2NSwgNDgsIDUwLCA1NiwgMTI4LCAKKyAgICA2NSwgNjUsIDQ4LCA1MCwgNTUsIDEyOCwgNjUsIDY1LCA0OCwgNTAsIDU0LCAxMjgsIDY1LCA2NSwgNDgsIDUwLCA1MywgCisgICAgMTI4LCA2NSwgNjUsIDQ4LCA1MCwgNTIsIDEyOCwgNjUsIDY1LCA0OCwgNTAsIDUxLCAxMjgsIDY1LCA2NSwgNDgsIDUwLCAKKyAgICA1MCwgMTI4LCA2NSwgNjUsIDQ4LCA1MCwgNDksIDEyOCwgNjUsIDY1LCA0OCwgNTAsIDQ4LCAxMjgsIDY1LCA2NSwgNDgsIAorICAgIDQ5LCA1NywgMTI4LCA2NSwgNjUsIDQ4LCA0OSwgNTYsIDEyOCwgNjUsIDY1LCA0OCwgNDksIDU1LCAxMjgsIDY1LCA2NSwgCisgICAgNDgsIDQ5LCA1NCwgMTI4LCA2NSwgNjUsIDQ4LCA0OSwgNTMsIDEyOCwgNjUsIDY1LCA0OCwgNDksIDUyLCAxMjgsIDY1LCAKKyAgICA2NSwgNDgsIDQ5LCA1MSwgMTI4LCA2NSwgNjUsIDQ4LCA0OSwgNTAsIDEyOCwgNjUsIDY1LCA0OCwgNDksIDQ5LCAxMjgsIAorICAgIDY1LCA2NSwgNDgsIDQ5LCA0OCwgMTI4LCA2NSwgNjUsIDQ4LCA0OCwgNTcsIDEyOCwgNjUsIDY1LCA0OCwgNDgsIDU2LCAKKyAgICAxMjgsIDY1LCA2NSwgNDgsIDQ4LCA1NSwgNjYsIDEyOCwgNjUsIDY1LCA0OCwgNDgsIDU1LCA2NSwgMTI4LCA2NSwgNjUsIAorICAgIDQ4LCA0OCwgNTUsIDEyOCwgNjUsIDY1LCA0OCwgNDgsIDU0LCAxMjgsIDY1LCA2NSwgNDgsIDQ4LCA1MywgMTI4LCA2NSwgCisgICAgNjUsIDQ4LCA0OCwgNTIsIDEyOCwgNjUsIDY1LCA0OCwgNDgsIDUxLCAxMjgsIDY1LCA2NSwgNDgsIDQ4LCA1MCwgMTI4LCAKKyAgICA2NSwgNjUsIDQ4LCA0OCwgNDksIDEyOCwgNjUsIDU2LCA0OCwgNTUsIDEyOCwgNjUsIDU2LCA0OCwgNTQsIDEyOCwgNjUsIAorICAgIDU2LCA0OCwgNTMsIDEyOCwgNjUsIDU2LCA0OCwgNTIsIDEyOCwgNjUsIDU2LCA0OCwgNTEsIDEyOCwgNjUsIDU2LCA0OCwgCisgICAgNTAsIDEyOCwgNjUsIDU2LCA0OCwgNDksIDEyOCwgNjUsIDU2LCA0OCwgNDgsIDEyOCwgNjUsIDU1LCA1MSwgMTc4LCA2NSwgCisgICAgNTUsIDUwLCAxODIsIDY1LCA1NSwgNDksIDE4MywgNjUsIDU1LCA0OSwgMTgxLCA2NSwgNTUsIDQ5LCAxODAsIDY1LCA1NSwgCisgICAgNDksIDE3OSwgNjUsIDU1LCA0OSwgMTc4LCA2NSwgNTUsIDQ5LCAxNzcsIDY1LCA1NSwgNDksIDE3NiwgNjUsIDU1LCA0OCwgCisgICAgNTcsIDQ1LCAxODIsIDY1LCA1NSwgNDgsIDU3LCA0NSwgMTgwLCA2NSwgNTUsIDQ4LCA1NywgNDUsIDE3OSwgNjUsIDU1LCAKKyAgICA0OCwgNTcsIDQ1LCAxNzgsIDY1LCA1NSwgNDgsIDE4NSwgNjUsIDU1LCA0OCwgMTg0LCA2NSwgNTUsIDQ4LCAxODMsIDY1LCAKKyAgICA1NSwgNDgsIDE4MiwgNjUsIDU1LCA0OCwgMTgxLCA2NSwgNTUsIDQ4LCAxODAsIDY1LCA1NSwgNDgsIDE3OSwgNjUsIDU1LCAKKyAgICA0OCwgMTc4LCA2NSwgNTUsIDQ4LCAxNzcsIDY1LCA1NCwgNTQsIDUyLCAxMjgsIDY1LCA1NCwgNTQsIDUxLCAxMjgsIDY1LCAKKyAgICA1NCwgNTQsIDUwLCAxMjgsIDY1LCA1NCwgNTQsIDQ5LCAxMjgsIDY1LCA1NCwgNTQsIDQ4LCAxMjgsIDY1LCA1NCwgNTMsIAorICAgIDU3LCAxMjgsIDY1LCA1NCwgNTMsIDU2LCAxMjgsIDY1LCA1NCwgNTMsIDU1LCAxMjgsIDY1LCA1NCwgNTMsIDU0LCAxMjgsIAorICAgIDY1LCA1NCwgNTMsIDUzLCAxMjgsIDY1LCA1NCwgNTMsIDUyLCAxMjgsIDY1LCA1NCwgNTMsIDUxLCAxMjgsIDY1LCA1NCwgCisgICAgNTMsIDUwLCAxMjgsIDY1LCA1NCwgNTMsIDQ5LCAxMjgsIDY1LCA1NCwgNTIsIDU3LCAxMjgsIDY1LCA1NCwgNTIsIDU2LCAKKyAgICAxMjgsIDY1LCA1NCwgNTIsIDU0LCAxMjgsIDY1LCA1NCwgNTIsIDUzLCAxMjgsIDY1LCA1NCwgNTIsIDUyLCAxMjgsIDY1LCAKKyAgICA1NCwgNTIsIDUxLCAxMjgsIDY1LCA1NCwgNTIsIDUwLCAxMjgsIDY1LCA1NCwgNTIsIDQ4LCAxMjgsIDY1LCA1NCwgNTEsIAorICAgIDU2LCAxMjgsIDY1LCA1NCwgNTEsIDU1LCAxMjgsIDY1LCA1NCwgNTEsIDUyLCAxMjgsIDY1LCA1NCwgNTAsIDU3LCAxMjgsIAorICAgIDY1LCA1NCwgNTAsIDU2LCAxMjgsIDY1LCA1NCwgNTAsIDU1LCAxMjgsIDY1LCA1NCwgNTAsIDU0LCAxMjgsIDY1LCA1NCwgCisgICAgNTAsIDUyLCAxMjgsIDY1LCA1NCwgNTAsIDUxLCAxMjgsIDY1LCA1NCwgNTAsIDUwLCAxMjgsIDY1LCA1NCwgNTAsIDQ5LCAKKyAgICAxMjgsIDY1LCA1NCwgNTAsIDQ4LCAxMjgsIDY1LCA1NCwgNDksIDU3LCAxMjgsIDY1LCA1NCwgNDksIDU2LCAxMjgsIDY1LCAKKyAgICA1NCwgNDksIDU1LCAxMjgsIDY1LCA1NCwgNDksIDU0LCAxMjgsIDY1LCA1NCwgNDksIDUzLCAxMjgsIDY1LCA1NCwgNDksIAorICAgIDUyLCAxMjgsIDY1LCA1NCwgNDksIDUxLCAxMjgsIDY1LCA1NCwgNDksIDUwLCAxMjgsIDY1LCA1NCwgNDksIDQ5LCAxMjgsIAorICAgIDY1LCA1NCwgNDksIDQ4LCAxMjgsIDY1LCA1NCwgNDgsIDU3LCAxMjgsIDY1LCA1NCwgNDgsIDU2LCAxMjgsIDY1LCA1NCwgCisgICAgNDgsIDU0LCAxMjgsIDY1LCA1NCwgNDgsIDUyLCAxMjgsIDY1LCA1NCwgNDgsIDUxLCAxMjgsIDY1LCA1NCwgNDgsIDUwLCAKKyAgICAxMjgsIDY1LCA1NCwgNDgsIDQ5LCAxMjgsIDY1LCA1NCwgNDgsIDQ4LCAxMjgsIDY1LCA1MywgNTcsIDU2LCAxMjgsIDY1LCAKKyAgICA1MywgNTcsIDU0LCAxMjgsIDY1LCA1MywgNTcsIDUzLCAxMjgsIDY1LCA1MywgNTcsIDUyLCAxMjgsIDY1LCA1MywgNTcsIAorICAgIDUwLCAxMjgsIDY1LCA1MywgNTcsIDQ5LCAxMjgsIDY1LCA1MywgNTYsIDU3LCAxMjgsIDY1LCA1MywgNTYsIDU2LCAxMjgsIAorICAgIDY1LCA1MywgNTYsIDU1LCAxMjgsIDY1LCA1MywgNTYsIDU0LCAxMjgsIDY1LCA1MywgNTYsIDUzLCAxMjgsIDY1LCA1MywgCisgICAgNTYsIDUyLCAxMjgsIDY1LCA1MywgNTYsIDUxLCAxMjgsIDY1LCA1MywgNTYsIDUwLCAxMjgsIDY1LCA1MywgNTYsIDQ5LCAKKyAgICAxMjgsIDY1LCA1MywgNTYsIDQ4LCAxMjgsIDY1LCA1MywgNTUsIDU3LCAxMjgsIDY1LCA1MywgNTUsIDU2LCAxMjgsIDY1LCAKKyAgICA1MywgNTUsIDU1LCAxMjgsIDY1LCA1MywgNTUsIDU0LCAxMjgsIDY1LCA1MywgNTUsIDUzLCAxMjgsIDY1LCA1MywgNTUsIAorICAgIDUyLCAxMjgsIDY1LCA1MywgNTUsIDUxLCAxMjgsIDY1LCA1MywgNTUsIDUwLCAxMjgsIDY1LCA1MywgNTUsIDQ5LCAxMjgsIAorICAgIDY1LCA1MywgNTUsIDQ4LCAxMjgsIDY1LCA1MywgNTQsIDU3LCAxMjgsIDY1LCA1MywgNTQsIDU2LCAxMjgsIDY1LCA1MywgCisgICAgNTQsIDU0LCAxMjgsIDY1LCA1MywgNTQsIDUzLCAxMjgsIDY1LCA1MywgNTQsIDUyLCAxMjgsIDY1LCA1MywgNTQsIDUxLCAKKyAgICAxMjgsIDY1LCA1MywgNTMsIDU3LCAxMjgsIDY1LCA1MywgNTMsIDU1LCAxMjgsIDY1LCA1MywgNTMsIDU0LCAxMjgsIDY1LCAKKyAgICA1MywgNTMsIDUzLCAxMjgsIDY1LCA1MywgNTMsIDUyLCAxMjgsIDY1LCA1MywgNTMsIDUxLCAxMjgsIDY1LCA1MywgNTMsIAorICAgIDUwLCAxMjgsIDY1LCA1MywgNTMsIDQ5LCAxMjgsIDY1LCA1MywgNTMsIDQ4LCAxMjgsIDY1LCA1MywgNTIsIDU3LCAxMjgsIAorICAgIDY1LCA1MywgNTIsIDU2LCAxMjgsIDY1LCA1MywgNTIsIDU1LCAxMjgsIDY1LCA1MywgNTIsIDUzLCAxMjgsIDY1LCA1MywgCisgICAgNTIsIDUwLCAxMjgsIDY1LCA1MywgNTIsIDQ5LCAxMjgsIDY1LCA1MywgNTIsIDQ4LCAxMjgsIDY1LCA1MywgNTEsIDU3LCAKKyAgICAxMjgsIDY1LCA1MywgNTEsIDU2LCAxMjgsIDY1LCA1MywgNTEsIDU1LCAxMjgsIDY1LCA1MywgNTEsIDU0LCAxMjgsIDY1LCAKKyAgICA1MywgNTEsIDUzLCAxMjgsIDY1LCA1MywgNTEsIDUyLCAxMjgsIDY1LCA1MywgNTEsIDUwLCAxMjgsIDY1LCA1MywgNTEsIAorICAgIDQ5LCAxMjgsIDY1LCA1MywgNTEsIDQ4LCAxMjgsIDY1LCA1MywgNTAsIDU3LCAxMjgsIDY1LCA1MywgNTAsIDU2LCAxMjgsIAorICAgIDY1LCA1MywgNTAsIDU1LCAxMjgsIDY1LCA1MywgNTAsIDU0LCAxMjgsIDY1LCA1MywgNTAsIDUzLCAxMjgsIDY1LCA1MywgCisgICAgNTAsIDUyLCAxMjgsIDY1LCA1MywgNTAsIDUxLCAxMjgsIDY1LCA1MywgNTAsIDQ5LCAxMjgsIDY1LCA1MywgNTAsIDQ4LCAKKyAgICAxMjgsIDY1LCA1MywgNDksIDU0LCAxMjgsIDY1LCA1MywgNDksIDUzLCAxMjgsIDY1LCA1MywgNDksIDUxLCAxMjgsIDY1LCAKKyAgICA1MywgNDksIDUwLCAxMjgsIDY1LCA1MywgNDksIDQ5LCAxMjgsIDY1LCA1MywgNDksIDQ4LCAxMjgsIDY1LCA1MywgNDgsIAorICAgIDU3LCAxMjgsIDY1LCA1MywgNDgsIDU2LCAxMjgsIDY1LCA1MywgNDgsIDU0LCAxMjgsIDY1LCA1MywgNDgsIDUzLCAxMjgsIAorICAgIDY1LCA1MywgNDgsIDUyLCAxMjgsIDY1LCA1MywgNDgsIDUxLCAxMjgsIDY1LCA1MywgNDgsIDUwLCAxMjgsIDY1LCA1MywgCisgICAgNDgsIDQ5LCAxMjgsIDY1LCA1MiwgNDksIDU2LCA0NSwgODYsIDY1LCA4MywgMTI4LCA2NSwgNTIsIDQ5LCA1NSwgNDUsIDg2LCAKKyAgICA2NSwgODMsIDEyOCwgNjUsIDUyLCA0OSwgNTQsIDQ1LCA4NiwgNjUsIDgzLCAxMjgsIDY1LCA1MiwgNDksIDUzLCA0NSwgODYsIAorICAgIDY1LCA4MywgMTI4LCA2NSwgNTIsIDQ5LCA1MiwgNDUsIDg2LCA2NSwgODMsIDEyOCwgNjUsIDUyLCA0OSwgNTEsIDQ1LCA4NiwgCisgICAgNjUsIDgzLCAxMjgsIDY1LCA1MiwgNDksIDUwLCA0NSwgODYsIDY1LCA4MywgMTI4LCA2NSwgNTIsIDQ5LCA0OSwgNDUsIDg2LCAKKyAgICA2NSwgODMsIDEyOCwgNjUsIDUyLCA0OSwgNDgsIDQ1LCA4NiwgNjUsIDgzLCAxMjgsIDY1LCA1MiwgNDgsIDU3LCA0NSwgODYsIAorICAgIDY1LCA4MywgMTI4LCA2NSwgNTIsIDQ4LCA1NiwgNDUsIDg2LCA2NSwgODMsIDEyOCwgNjUsIDUyLCA0OCwgNTUsIDQ1LCA4NiwgCisgICAgNjUsIDgzLCAxMjgsIDY1LCA1MiwgNDgsIDU0LCA0NSwgODYsIDY1LCA4MywgMTI4LCA2NSwgNTIsIDQ4LCA1MywgNDUsIDg2LCAKKyAgICA2NSwgODMsIDEyOCwgNjUsIDUyLCA0OCwgNTIsIDQ1LCA4NiwgNjUsIDgzLCAxMjgsIDY1LCA1MiwgNDgsIDUxLCA0NSwgODYsIAorICAgIDY1LCA4MywgMTI4LCA2NSwgNTIsIDQ4LCA1MCwgNDUsIDg2LCA2NSwgODMsIDEyOCwgNjUsIDUyLCA0OCwgNDksIDQ1LCA4NiwgCisgICAgNjUsIDgzLCAxMjgsIDY1LCA1MiwgNDgsIDQ4LCA0NSwgODYsIDY1LCA4MywgMTI4LCA2NSwgNTEsIDU1LCA0OSwgMTI4LCAKKyAgICA2NSwgNTEsIDU1LCA0OCwgMTI4LCA2NSwgNTEsIDU0LCA1NywgMTI4LCA2NSwgNTEsIDU0LCA1NiwgMTI4LCA2NSwgNTEsIAorICAgIDU0LCA1NSwgMTI4LCA2NSwgNTEsIDU0LCA1NCwgMTI4LCA2NSwgNTEsIDU0LCA1MywgMTI4LCA2NSwgNTEsIDU0LCA1MiwgCisgICAgMTI4LCA2NSwgNTEsIDU0LCA1MSwgMTI4LCA2NSwgNTEsIDU0LCA1MCwgMTI4LCA2NSwgNTEsIDU0LCA0OSwgMTI4LCA2NSwgCisgICAgNTEsIDU0LCA0OCwgMTI4LCA2NSwgNTEsIDUzLCA1NywgMTI4LCA2NSwgNTEsIDUzLCA1NiwgMTI4LCA2NSwgNTEsIDUzLCAKKyAgICA1NSwgMTI4LCA2NSwgNTEsIDUzLCA1NCwgMTI4LCA2NSwgNTEsIDUzLCA1MywgMTI4LCA2NSwgNTEsIDUzLCA1MiwgMTI4LCAKKyAgICA2NSwgNTEsIDUzLCA1MSwgMTI4LCA2NSwgNTEsIDUzLCA1MCwgMTI4LCA2NSwgNTEsIDUzLCA0OSwgMTI4LCA2NSwgNTEsIAorICAgIDUzLCA0OCwgMTI4LCA2NSwgNTEsIDUyLCA1NywgMTI4LCA2NSwgNTEsIDUyLCA1NiwgMTI4LCA2NSwgNTEsIDUyLCA1NSwgCisgICAgMTI4LCA2NSwgNTEsIDUyLCA1NCwgMTI4LCA2NSwgNTEsIDUyLCA1MywgMTI4LCA2NSwgNTEsIDUyLCA1MiwgMTI4LCA2NSwgCisgICAgNTEsIDUyLCA1MSwgMTI4LCA2NSwgNTEsIDUyLCA1MCwgMTI4LCA2NSwgNTEsIDUyLCA0OSwgMTI4LCA2NSwgNTEsIDUyLCAKKyAgICA0OCwgMTI4LCA2NSwgNTEsIDUxLCA1NywgMTI4LCA2NSwgNTEsIDUxLCA1NiwgMTI4LCA2NSwgNTEsIDUxLCA1NSwgMTI4LCAKKyAgICA2NSwgNTEsIDUxLCA1NCwgMTI4LCA2NSwgNTEsIDUxLCA1MywgMTI4LCA2NSwgNTEsIDUxLCA1MiwgMTI4LCA2NSwgNTEsIAorICAgIDUxLCA1MSwgMTI4LCA2NSwgNTEsIDUxLCA1MCwgMTI4LCA2NSwgNTEsIDUxLCA0OSwgMTI4LCA2NSwgNTEsIDUxLCA0OCwgCisgICAgMTI4LCA2NSwgNTEsIDUwLCA1NywgMTI4LCA2NSwgNTEsIDUwLCA1NiwgMTI4LCA2NSwgNTEsIDUwLCA1NSwgMTI4LCA2NSwgCisgICAgNTEsIDUwLCA1NCwgMTI4LCA2NSwgNTEsIDUwLCA1MywgMTI4LCA2NSwgNTEsIDUwLCA1MiwgMTI4LCA2NSwgNTEsIDUwLCAKKyAgICA1MSwgMTI4LCA2NSwgNTEsIDUwLCA1MCwgMTI4LCA2NSwgNTEsIDUwLCA0OSwgMTI4LCA2NSwgNTEsIDUwLCA0OCwgMTI4LCAKKyAgICA2NSwgNTEsIDQ5LCA1NywgMTI4LCA2NSwgNTEsIDQ5LCA1NiwgMTI4LCA2NSwgNTEsIDQ5LCA1NSwgMTI4LCA2NSwgNTEsIAorICAgIDQ5LCA1NCwgMTI4LCA2NSwgNTEsIDQ5LCA1MywgMTI4LCA2NSwgNTEsIDQ5LCA1MiwgMTI4LCA2NSwgNTEsIDQ5LCA1MSwgCisgICAgNjcsIDEyOCwgNjUsIDUxLCA0OSwgNTEsIDY2LCAxMjgsIDY1LCA1MSwgNDksIDUxLCA2NSwgMTI4LCA2NSwgNTEsIDQ5LCAKKyAgICA1MCwgMTI4LCA2NSwgNTEsIDQ5LCA0OSwgMTI4LCA2NSwgNTEsIDQ5LCA0OCwgMTI4LCA2NSwgNTEsIDQ4LCA1NywgNjcsIAorICAgIDEyOCwgNjUsIDUxLCA0OCwgNTcsIDY2LCAxMjgsIDY1LCA1MSwgNDgsIDU3LCA2NSwgMTI4LCA2NSwgNTEsIDQ4LCA1NiwgCisgICAgMTI4LCA2NSwgNTEsIDQ4LCA1NSwgMTI4LCA2NSwgNTEsIDQ4LCA1NCwgMTI4LCA2NSwgNTEsIDQ4LCA1MywgMTI4LCA2NSwgCisgICAgNTEsIDQ4LCA1MiwgMTI4LCA2NSwgNTEsIDQ4LCA1MSwgMTI4LCA2NSwgNTEsIDQ4LCA1MCwgMTI4LCA2NSwgNTEsIDQ4LCAKKyAgICA0OSwgMTI4LCA2NSwgNDksIDUxLCA0OSwgNjcsIDEyOCwgNjUsIDQ5LCA1MCwgNDgsIDY2LCAxMjgsIDY1LCA0OSwgNDgsIAorICAgIDQ4LCA0NSwgNDksIDQ4LCA1MCwgMTI4LCA2NSwgNDgsIDU1LCA0OCwgMTI4LCA2NSwgNDgsIDU0LCA1NywgMTI4LCA2NSwgCisgICAgNDgsIDU0LCA1NiwgMTI4LCA2NSwgNDgsIDU0LCA1NSwgMTI4LCA2NSwgNDgsIDU0LCA1NCwgMTI4LCA2NSwgNDgsIDU0LCAKKyAgICA1MywgMTI4LCA2NSwgNDgsIDU0LCA1MiwgMTI4LCA2NSwgNDgsIDU0LCA1MSwgMTI4LCA2NSwgNDgsIDU0LCA1MCwgMTI4LCAKKyAgICA2NSwgNDgsIDU0LCA0OSwgMTI4LCA2NSwgNDgsIDU0LCA0OCwgMTI4LCA2NSwgNDgsIDUzLCA1NywgMTI4LCA2NSwgNDgsIAorICAgIDUzLCA1NiwgMTI4LCA2NSwgNDgsIDUzLCA1NSwgMTI4LCA2NSwgNDgsIDUzLCA1NCwgMTI4LCA2NSwgNDgsIDUzLCA1MywgCisgICAgMTI4LCA2NSwgNDgsIDUzLCA1MiwgMTI4LCA2NSwgNDgsIDUzLCA1MSwgMTI4LCA2NSwgNDgsIDUzLCA1MCwgMTI4LCA2NSwgCisgICAgNDgsIDUzLCA0OSwgMTI4LCA2NSwgNDgsIDUzLCA0OCwgMTI4LCA2NSwgNDgsIDUyLCA1NywgMTI4LCA2NSwgNDgsIDUyLCAKKyAgICA1NiwgMTI4LCA2NSwgNDgsIDUyLCA1NSwgMTI4LCA2NSwgNDgsIDUyLCA1NCwgMTI4LCA2NSwgNDgsIDUyLCA1MywgNjUsIAorICAgIDEyOCwgNjUsIDQ4LCA1MiwgNTMsIDEyOCwgNjUsIDQ4LCA1MiwgNTIsIDEyOCwgNjUsIDQ4LCA1MiwgNTEsIDY1LCAxMjgsIAorICAgIDY1LCA0OCwgNTIsIDUxLCAxMjgsIDY1LCA0OCwgNTIsIDUwLCA2NSwgMTI4LCA2NSwgNDgsIDUyLCA1MCwgMTI4LCA2NSwgCisgICAgNDgsIDUyLCA0OSwgMTI4LCA2NSwgNDgsIDUyLCA0OCwgNjUsIDEyOCwgNjUsIDQ4LCA1MiwgNDgsIDEyOCwgNjUsIDQ4LCAKKyAgICA1MSwgNTcsIDEyOCwgNjUsIDQ4LCA1MSwgNTYsIDEyOCwgNjUsIDQ4LCA1MSwgNTUsIDEyOCwgNjUsIDQ4LCA1MSwgNTQsIAorICAgIDEyOCwgNjUsIDQ4LCA1MSwgNTMsIDEyOCwgNjUsIDQ4LCA1MSwgNTIsIDEyOCwgNjUsIDQ4LCA1MSwgNTEsIDEyOCwgNjUsIAorICAgIDQ4LCA1MSwgNTAsIDY1LCAxMjgsIDY1LCA0OCwgNTAsIDU2LCA2NiwgMTI4LCA2NSwgNDgsIDQ5LCA1NSwgNjUsIDEyOCwgCisgICAgNjUsIDQ4LCA0OSwgNTIsIDY1LCAxMjgsIDY1LCA0OCwgNDgsIDU0LCA2NiwgMTI4LCA2NSwgNDgsIDQ4LCA1NCwgNjUsIAorICAgIDEyOCwgNjUsIDQ4LCA0OCwgNTMsIDY1LCAxMjgsIDY1LCA0NSwgNjksIDg1LCAxMjgsIDQ1LCA4NSwgMjA1LCA0NSwgODAsIAorICAgIDcyLCA4MiwgODUsIDEyOCwgNDUsIDc1LCA3MiwgODksIDg1LCAxOTYsIDQ1LCA3NSwgNzIsIDg5LCA3MywgNzYsIDEyOCwgCisgICAgNDUsIDY4LCA5MCwgODUsIDE5NiwgNDUsIDY3LCA3MiwgNjUsIDIxMCwgNDUsIDY3LCA3MiwgNjUsIDc2LCAxMjgsIAogfTsKIAogc3RhdGljIHVuc2lnbmVkIGludCBsZXhpY29uX29mZnNldFtdID0gewotICAgIDAsIDAsIDYsIDEwLCAxOCwgMjMsIDI3LCAzNCwgMzksIDQxLCA0NywgNTAsIDYyLCA3MCwgODAsIDkzLCAxMDIsIDEwOCwgCi0gICAgMTEzLCAxMjEsIDEzMCwgMTM1LCAxNDAsIDE0MywgMTQ3LCAxNTMsIDE1OCwgMTYzLCAxNzEsIDE3OCwgMTg2LCAxOTEsIAotICAgIDE5NCwgMjAwLCAyMDgsIDIxNSwgMjI1LCAyMzAsIDIzNywgMjQ2LCAyNDksIDI1NCwgMjU3LCAyNjMsIDI2NywgMjcyLCAKLSAgICAyODEsIDI4OCwgMjk1LCAzMDEsIDMxMCwgMzE1LCAzMjEsIDMyNywgMzM1LCAxNDQsIDM0MSwgMzQ5LCAzNTAsIDM1OCwgCi0gICAgMzYxLCAzNjcsIDM2OSwgMzc1LCAzODIsIDM4NCwgMzkxLCAzOTUsIDQwMywgNDEwLCA0MTIsIDQxNywgNDIyLCA0MjcsIAotICAgIDQzNCwgNDM2LCAyOTksIDQ0MiwgNDQ1LCA0NDcsIDQ1MiwgNDU3LCA0NjMsIDQ3MCwgNDc5LCA0ODksIDQ5NCwgNDk4LCAKLSAgICA1MDUsIDUxOCwgNTIyLCA1MzEsIDUzOCwgNTQ1LCA1NDgsIDU1NCwgNTU4LCA1NjIsIDU3MiwgNTgwLCA1ODgsIDU5NiwgCi0gICAgNjA1LCA2MTMsIDYxOCwgNjE5LCA2MjMsIDYzMSwgNjM4LCA2NDgsIDY1MiwgNjYzLCA2NjcsIDY3MCwgNjczLCA2NzgsIAotICAgIDM0OCwgNjgyLCA2OTEsIDY5NywgNzAzLCA3MDUsIDcwOCwgNzExLCA3MTQsIDcxOCwgNzIyLCA3MzEsIDczOSwgNzQ0LCAKLSAgICA3NDcsIDc1MSwgNzU3LCA3NjQsIDc3MSwgNzc2LCA3ODUsIDc5NCwgODAxLCA4MDUsIDgxOCwgODI3LCA4MzUsIDg0MSwgCi0gICAgNTU3LCA4NTAsIDg2MCwgODY3LCA4NzMsIDg3OSwgODg2LCA4OTQsIDg5OCwgNzQ5LCA5MDYsIDkxNSwgNTAzLCA5MjMsIAotICAgIDkyOCwgOTM0LCAxNywgOTQzLCA5NDgsIDk1MSwgOTU1LCA5NTksIDk2NiwgOTY5LCA5NzYsIDk4MCwgOTg4LCA5OTIsIAotICAgIDEwMDAsIDEwMDQsIDEwMDcsIDEwMTQsIDEwMjEsIDE5MiwgMTAyNCwgMTAyOSwgMTAzOSwgMTA0OCwgMTA1NSwgMTA2MCwgCi0gICAgMTA2NiwgMTA3MiwgMTA4MCwgMTA4MywgMTA4OCwgMTA5NCwgMTEwMiwgMTEwNywgMTExMCwgMTExMywgMTExLCAxMTE4LCAKLSAgICAxMTIyLCAxMTI4LCAxMTM0LCAxMTM3LCAxMTQzLCAxMTQ3LCAxMTUyLCAxMTU4LCAxMTY4LCAxMTcyLCAxMTc1LCAxMTc4LCAKLSAgICAxMTg3LCAxMTkxLCAxMTk0LCAxMTk5LCAxMjA0LCAxMjEwLCAxMjE1LCAxMjIwLCAxMjI1LCAxMjI5LCAxMjM0LCAxMjQwLCAKLSAgICAxMjQ1LCAxMjUwLCAxMjU0LCAxMjYwLCAxMjY1LCAxMjcwLCAxMjc1LCAxMjc5LCAxMjg0LCAxMjg5LCAxMjk0LCAxMzAwLCAKLSAgICAxMzA2LCAxMzEyLCAxMzE3LCAxMzIxLCAxMzI2LCAxMzMxLCAxMzM2LCAxMzQwLCAxMzQ1LCAxMzUwLCAxMzU1LCAxMzYwLCAKLSAgICAxMTk1LCAxMjAwLCAxMjA1LCAxMjExLCAxMjE2LCAxMzY0LCAxMjI2LCAxMzcwLCAxMzc1LCAxMzgwLCAxMzg3LCAxMzkxLCAKLSAgICAxNDAwLCAxMjMwLCAxNDA0LCAxMjM1LCAxMjQxLCAxMjQ2LCAxNDA4LCAxNDEzLCAxNDE4LCAxNDIyLCAxNDI2LCAxNDMyLCAKLSAgICAxNDM2LCAxMjUxLCAxNDM5LCAxMjYxLCAxNDQ0LCAxNDQ4LCAxMjY2LCAxNDU0LCAxMjcxLCAxNDU4LCAxNDYyLCAxMjc2LCAKLSAgICAxNDY2LCAxNDcxLCAxNDc1LCAxNDc4LCAxNDgyLCAxMjgwLCAxMjg1LCAxNDg3LCAxMjkwLCAxNDkzLCAxNDk5LCAxNTA1LCAKLSAgICAxNTExLCAxMjk1LCAxMzA3LCAxMzEzLCAxNTE1LCAxNTE5LCAxNTIzLCAxNTI2LCAxMzE4LCAxNTMwLCAxNTMyLCAxNTM3LCAKLSAgICAxNTQyLCAxNTQ4LCAxNTUzLCAxNTU4LCAxNTYyLCAxNTY3LCAxNTcyLCAxNTc3LCAxNTgyLCAxNTg4LCAxNTkzLCAxNTk4LCAKLSAgICAxNjA0LCAxNjEwLCAxNjE1LCAxNjE5LCAxNjI0LCAxNjI5LCAxNjM0LCAxNjM5LCAxNjQzLCAxNjUxLCAxNjU1LCAxNjYwLCAKLSAgICAxNjY1LCAxNjcwLCAxNjc1LCAxNjc5LCAxNjgyLCAxNjg3LCAxNjkyLCAxNjk3LCAxNzAyLCAxNzA4LCAxNzEzLCAxNzE3LCAKLSAgICAxMzIyLCAxNzIwLCAxNzI1LCAxNzMwLCAxMzI3LCAxNzM0LCAxNzM4LCAxNzQ1LCAxMzMyLCAxNzUyLCAxMzM3LCAxNzU2LCAKLSAgICAxNzU4LCAxNzYzLCAxNzY5LCAxMzQxLCAxNzc0LCAxNzgzLCAxMzQ2LCAxNzg4LCAxNzk0LCAxMzUxLCAxNzk5LCAxODA0LCAKLSAgICAxODA3LCAxODEyLCAxODE2LCAxODIwLCAxODI0LCAxODI3LCAxODMxLCAxMzU2LCAxMzYxLCAxMDU4LCAxODM2LCAxODQyLCAKLSAgICAxODQ4LCAxODU0LCAxODYwLCAxODY2LCAxODcyLCAxODc4LCAxODg0LCAxODg5LCAxODk1LCAxOTAxLCAxOTA3LCAxOTEzLCAKLSAgICAxOTE5LCAxOTI1LCAxOTMxLCAxOTM3LCAxOTQzLCAxOTQ4LCAxOTUzLCAxOTU4LCAxOTYzLCAxOTY4LCAxOTczLCAxOTc4LCAKLSAgICAxOTgzLCAxOTg4LCAxOTkzLCAxOTk5LCAyMDA0LCAyMDEwLCAyMDE1LCAyMDIxLCAyMDI3LCAyMDMyLCAyMDM4LCAyMDQ0LCAKLSAgICAyMDUwLCAyMDU2LCAyMDYxLCAyMDY2LCAyMDY4LCAyMDY5LCAyMDczLCAyMDc3LCAyMDgyLCAyMDg2LCAyMDkwLCAyMDk0LCAKLSAgICAyMDk5LCAyMTAzLCAyMTA2LCAyMTExLCAyMTE1LCAyMTIwLCAyMTI0LCAyMTI4LCAyMTMzLCAyMTM3LCAyMTQwLCAyMTQ0LCAKLSAgICAyMTUwLCAyMTY0LCAyMTY4LCAyMTcyLCAyMTc2LCAyMTc5LCAyMTg0LCAyMTg4LCAyMTkyLCAyMTk1LCAyMTk5LCAyMjA0LCAKLSAgICAyMjA5LCAyMjE0LCAyMjE5LCAyMjIzLCAyMjI3LCAyMjMxLCAyMjM2LCAyMjQwLCAyMjQ1LCAyMjQ5LCAyMjU0LCAyMjYwLCAKLSAgICAyMjY3LCAyMjczLCAyMjc4LCAyMjgzLCAyMjg4LCAyMjk0LCAyMjk5LCAyMzA1LCAyMzEwLCAyMzEzLCAxMjEyLCAyMzE1LCAKLSAgICAyMzIyLCAyMzMwLCAyMzQwLCAyMzQ5LCAyMzYzLCAyMzY3LCAyMzcxLCAyMzg0LCAyMzkyLCAyMzk2LCAyNDAxLCAyNDA1LCAKLSAgICAyNDA4LCAyNDEyLCAyNDE2LCAyNDIxLCAyNDI2LCAyNDMxLCAyNDM1LCAyNDM4LCAyNDQyLCAyNDQ5LCAyNDU2LCAyNDYyLCAKLSAgICAyNDY3LCAyNDcyLCAyNDc4LCAyNDg0LCAyNDg5LCAyNDkyLCAxNzYwLCAyNDk0LCAyNTAwLCAyNTA0LCAyNTA5LCAyNTEzLCAKLSAgICAyNTE3LCAxNzY1LCAxNzcxLCAyNTIyLCAyNTI2LCAyNTI5LCAyNTM0LCAyNTM5LCAyNTQ0LCAyNTQ5LCAyNTUzLCAyNTYwLCAKLSAgICAyNTY1LCAyNTY4LCAyNTc1LCAyNTgxLCAyNTg1LCAyNTg5LCAyNTkzLCAyNTk4LCAyNjA1LCAyNjEwLCAyNjE1LCAyNjIyLCAKLSAgICAyNjI4LCAyNjM0LCAyNjQwLCAyNjU0LCAyNjcxLCAyNjg2LCAyNzAxLCAyNzEwLCAyNzE1LCAyNzE5LCAyNzI0LCAyNzI5LCAKLSAgICAyNzMzLCAyNzQ1LCAyNzUyLCAyNzU4LCAyMjYzLCAyNzY0LCAyNzcxLCAyNzc3LCAyNzgxLCAyNzg0LCAyNzkxLCAyNzk3LCAKLSAgICAyODAxLCAyODA1LCAyODA5LCAyMDkxLCAyODEzLCAyODE4LCAyODIzLCAyODI3LCAyODM1LCAyODM5LCAyODQzLCAyODQ3LCAKLSAgICAyODUxLCAyODU2LCAyODYxLCAyODY2LCAyODcwLCAyODc1LCAyODgwLCAyODg0LCAyODg5LCAyODkzLCAyODk2LCAyOTAwLCAKLSAgICAyOTA0LCAyOTEyLCAyOTE3LCAyOTIxLCAyOTI1LCAyOTMxLCAyOTQwLCAyOTQ0LCAyOTQ4LCAyOTU0LCAyOTU5LCAyOTY2LCAKLSAgICAyOTcwLCAyOTgwLCAyOTg0LCAyOTg4LCAyOTkzLCAyOTk3LCAzMDAyLCAzMDA4LCAzMDEzLCAzMDE3LCAzMDIxLCAzMDI1LCAKLSAgICAyNDUyLCAzMDMzLCAzMDM4LCAzMDQ0LCAzMDQ5LCAzMDUzLCAzMDU4LCAzMDYzLCAzMDY3LCAzMDczLCAzMDc4LCAyMDk1LCAKLSAgICAzMDg0LCAzMDkwLCAzMDk1LCAzMTAwLCAzMTA1LCAzMTEwLCAzMTE1LCAzMTIwLCAzMTI1LCAzMTMwLCAzMTM1LCAzMTQxLCAKLSAgICAzMTQ2LCAxMjI3LCA5MiwgMzE1MiwgMzE1NiwgMzE2MCwgMzE2NCwgMzE2OSwgMzE3MywgMzE3NywgMzE4MSwgMzE4NSwgCi0gICAgMzE5MCwgMzE5NCwgMzE5OSwgMzIwMywgMzIwNiwgMzIxMCwgMzIxNSwgMzIxOSwgMzIyNCwgMzIyOCwgMzIzMiwgMzIzNiwgCi0gICAgMzI0MSwgMzI0NSwgMzI0OCwgMzI2MSwgMzI2NSwgMzI2OSwgMzI3MywgMzI3NywgMzI4MSwgMzI4NCwgMzI4OCwgMzI5MiwgCi0gICAgMzI5NywgMzMwMSwgMzMwNiwgMzMxMSwgMzMxNiwgMzMyMCwgMzMyMywgMzMyNiwgMzMzMiwgMzMzNiwgMzM0MCwgMzM0MywgCi0gICAgMzM0NywgMzM1MSwgMzM1NCwgMzM2MCwgMzM2NSwgMzM3MCwgMzM3NiwgMzM4MSwgMzM4NiwgMzM5MiwgMzM5OCwgMzQwMywgCi0gICAgMzQwOCwgMzQxMywgMTEyMCwgNTQ3LCAzNDE4LCAzNDIxLCAzNDI2LCAzNDMwLCAzNDMzLCAzNDM3LCAzNDQyLCAzNDQ3LCAKLSAgICAzNDUxLCAzNDU2LCAzNDYwLCAzNDY1LCAzNDY5LCAzNDczLCAzNDc5LCAzNDg1LCAzNDg4LCAzNDkxLCAzNDk3LCAzNTA0LCAKLSAgICAzNTExLCAzNTE3LCAzNTI0LCAzNTI5LCAzNTMzLCAzNTQwLCAzNTQ3LCAzNTUyLCAzNTU2LCAzNTY2LCAzNTcwLCAzNTc0LCAKLSAgICAzNTc5LCAzNTg0LCAzNTk0LCAyMTA3LCAzNTk5LCAzNjAzLCAzNjA2LCAzNjEyLCAzNjE3LCAzNjIzLCAzNjI5LCAzNjM0LCAKLSAgICAzNjQxLCAzNjQ1LCAzNjQ5LCA2MjAsIDY3MSwgMTM4OCwgMzY1MywgMzY2MCwgMzY2NywgMzY3NCwgMzY4MSwgMzY4NywgCi0gICAgMzY5MywgMzY5OCwgMzcwMiwgMzcwOCwgMzcxMywgMzcxNywgMjExNiwgMzcyMSwgMzcyOSwgNjAwLCAzNzM1LCAzNzQ2LCAKLSAgICAzNzUwLCAzNzYwLCAyMTIxLCAzNzY2LCAzNzcxLCAzNzg2LCAzNzkyLCAzNzk5LCAzODA5LCAzODE1LCAzODIwLCAzODI2LCAKLSAgICAzODMyLCAzODM1LCAzODM5LCAzODQ0LCAzODUxLCAzODU2LCAzODYwLCAzODY0LCAzODY4LCAzODcyLCAzODc3LCAzODgzLCAKLSAgICAzODk0LCAzMjExLCAzODk5LCAzOTExLCAzOTE5LCAzOTI0LCAxNTY0LCAzOTMxLCAzOTM0LCAzOTM3LCAzOTQxLCAzOTQ0LCAKLSAgICAzOTUwLCAzOTU0LCAzOTY4LCAzOTcyLCAzOTc1LCAzOTc5LCAzOTg1LCAzOTkxLCAzOTk2LCA0MDAwLCA0MDA0LCA0MDEwLCAKLSAgICA0MDIxLCA0MDI3LCA0MDMyLCA0MDM4LCA0MDQyLCA0MDUwLCA0MDYwLCA0MDY2LCA0MDcxLCA0MDgwLCA0MDg4LCA0MDk1LCAKLSAgICA0MDk5LCA0MTA1LCA0MTE0LCA0MTIzLCA0MTI3LCA0MTMyLCA0MTM3LCA0MTQxLCA0MTQ5LCA0MTUzLCA0MTU4LCA0MTYyLCAKLSAgICAyMTI5LCAxNDAxLCA0MTY4LCA0MTczLCA0MTc5LCA0MTg0LCA0MTg5LCA0MTk0LCA0MTk5LCA0MjA0LCA0MjA5LCA0MjE1LCAKLSAgICA0MjIwLCA0MjI2LCA0MjMxLCA0MjM2LCA0MjQxLCA0MjQ3LCA0MjUyLCA0MjU3LCA0MjYyLCA0MjY3LCA0MjczLCA0Mjc4LCAKLSAgICA0Mjg0LCA0Mjg5LCA0Mjk0LCA0Mjk5LCA0MzA0LCA0MzA5LCA0MzE0LCA0MzIwLCA0MzI1LCA0MzMwLCAzMTksIDQ1NiwgCi0gICAgNDMzNSwgNDM0MSwgNDM0NSwgNDM0OSwgNDM1NCwgNDM1OCwgNDM2MiwgNDM2NSwgNDM2OSwgNDM3MywgNDM3NywgNDM4MSwgCi0gICAgNDM4NiwgNDM5MCwgNDM5NCwgNDQwMCwgNDE2NSwgNDQwNSwgNDQwOSwgNDQxMiwgNDQxNywgNDQyMiwgNDQyNywgNDQzMiwgCi0gICAgNDQzNywgNDQ0MiwgNDQ0NywgNDQ1MiwgNDQ1NywgNDQ2MiwgNDQ2NiwgNDQ3MSwgNDQ3NiwgNDQ4MSwgNDQ4NiwgNDQ5MSwgCi0gICAgNDQ5NiwgNDUwMSwgNDUwNiwgNDUxMSwgNDUxNiwgNDUyMCwgNDUyNSwgNDUzMCwgNDUzNSwgNDU0MCwgNDU0NSwgNDU1MCwgCi0gICAgNDU1NSwgNDU2MCwgNDU2NSwgNDU3MCwgNDU3NCwgNDU3OSwgNDU4NCwgNDU4OSwgNDU5NCwgNDU5OSwgNDYwNCwgNDYwOSwgCi0gICAgNDYxNCwgNDYxOSwgNDYyNCwgNDYyOCwgNDYzMywgNDYzOCwgNDY0MywgNDY0OCwgNDY1MywgNDY1OCwgNDY2MywgNDY2OCwgCi0gICAgNDY3MywgNDY3OCwgNDY4MiwgNDY4NywgNDY5MiwgNDY5NywgNDcwMiwgNDcwNywgNDcxMiwgNDcxNywgNDcyMiwgNDcyNywgCi0gICAgNDczMiwgNDczNiwgNDc0MSwgNDc0NiwgNDc1MSwgNDc1NiwgNDc2MSwgNDc2NiwgNDc3MSwgNDc3NiwgNDc4MSwgNDc4NiwgCi0gICAgNDc5MCwgNDc5NSwgNDgwMCwgNDgwNSwgNDgxMCwgNDgxNiwgNDgyMiwgNDgyOCwgNDgzNCwgNDg0MCwgNDg0NiwgNDg1MiwgCi0gICAgNDg1NywgNDg2MywgNDg2OSwgNDg3NSwgNDg4MSwgNDg4NywgNDg5MywgNDg5OSwgNDkwNSwgNDkxMSwgNDkxNywgNDkyMiwgCi0gICAgNDkyOCwgNDkzNCwgNDk0MCwgNDk0NiwgNDk1MiwgNDk1OCwgNDk2NCwgNDk3MCwgNDk3NiwgNDk4MiwgNDk4NywgNDk5MywgCi0gICAgNDk5OSwgNTAwNSwgNTAxMSwgNTAxNywgNTAyMywgNTAyOSwgNTAzNSwgNTA0MSwgNTA0NywgNTA1MiwgNTA1OCwgNTA2NCwgCi0gICAgNTA3MCwgNTA3NiwgNTA4MiwgNTA4OCwgNTA5NCwgNTEwMCwgNTEwNiwgNTExMiwgNTExNywgNTEyMywgNTEyOSwgNTEzNSwgCi0gICAgNTE0MSwgNTE0NywgNTE1MywgNTE1OSwgNTE2NSwgNTE3MSwgNTE3NywgNTE4MiwgNTE4NiwgNTE5MiwgNTE5OCwgNTIwNCwgCi0gICAgNTIxMCwgNTIxNiwgNTIyMiwgNTIyOCwgNTIzNCwgNTI0MCwgNTI0NiwgNTI1MSwgNTI1NywgNTI2MywgNTI2OSwgNTI3NSwgCi0gICAgNTI4MSwgNTI4NywgNTI5MywgNTI5OSwgNTMwNSwgNTMxMSwgNTMxNiwgNTMyMiwgNTMyOCwgNTMzNCwgNTM0MCwgNTM0NiwgCi0gICAgNTM1MiwgNTM1OCwgNTM2NCwgNTM3MCwgNTM3NiwgNTM4MSwgNTM4NywgNTM5MywgNTM5OSwgNTQwNSwgNTQxMSwgNTQxNywgCi0gICAgNTQyMywgNTQyOSwgNTQzNSwgNTQ0MSwgNTQ0NiwgNTQ1MiwgNTQ1OCwgNTQ2NCwgNTQ3MCwgNTQ3NiwgNTQ4MiwgNTQ4OCwgCi0gICAgNTQ5NCwgNTUwMCwgNTUwNiwgNTUxMSwgNTUxNywgNTUyMywgNTUyOSwgNTUzNSwgNTU0MSwgNTU0NywgNTU1MywgNTU1OSwgCi0gICAgNTU2NSwgNTU3MSwgNTU3NiwgNTU4MiwgNTU4OCwgNTU5NCwgNTYwMCwgNTYwNiwgNTYxMiwgNTYxOCwgNTYyNCwgNTYzMCwgCi0gICAgNTYzNiwgNTY0MSwgNTY0NywgNTY1MywgNTY1OSwgNTY2NSwgNTY3MSwgNTY3NywgNTY4MywgNTY4OSwgNTY5NSwgNTcwMSwgCi0gICAgNTcwNiwgNTcxMiwgNTcxOCwgNTcyNCwgNTczMCwgNTczNiwgNTc0MiwgNTc0OCwgNTc1NCwgNTc2MCwgNTc2NiwgNTc3MSwgCi0gICAgNTc3NywgNTc4MywgNTc4OSwgNTc5NSwgNTgwMSwgNTgwNywgNTgxMywgNTgxOSwgNTgyNSwgNTgzMSwgNTgzNiwgNTg0MCwgCi0gICAgNTg0MywgNTg1MCwgNTg1NCwgNTg2NywgNTg3MSwgNTg3NSwgNTg3OSwgNTg4MywgNTg4NywgNTg5MSwgNTg5NywgNTkwNCwgCi0gICAgNTkxMiwgNTkxNiwgNTkyNCwgNTkzMywgNTkzOSwgNTk1MSwgNTk1NiwgNTk1OSwgNTk2MywgNTk3MywgNTk4MSwgNTk4OSwgCi0gICAgNTk5NSwgNTk5OSwgNjAwOSwgNjAxOSwgNjAyNywgNjAzNCwgNjA0MSwgNjA0NywgNjA1MywgNjA2MCwgNjA2NCwgNjA3MSwgCi0gICAgNjA4MSwgNjA5MSwgNjA5OSwgNjEwNiwgNjExMSwgNjExNSwgNjEyMywgNjEyNywgNjEzMiwgNjEzOSwgNjE0NywgNjE1MiwgCi0gICAgNjE1NywgNjE2MSwgNjE2OCwgNjE3MywgNjE4NywgNjE5MiwgNjE5NywgNjIwNCwgNjIxMywgNjIxNiwgNjIyMCwgNjIyNCwgCi0gICAgNjIyOCwgNjIzMSwgNjIzNiwgNjI0MSwgNjI1MCwgNjI1NiwgNjI2MiwgNjI2OCwgNjI3MiwgNjI4MywgNjI5MywgNjMwOCwgCi0gICAgNjMyMywgNjMzOCwgNjM1MywgNjM2OCwgNjM4MywgNjM5OCwgNjQxMywgNjQyOCwgNjQ0MywgNjQ1OCwgNjQ3MywgNjQ4OCwgCi0gICAgNjUwMywgNjUxOCwgNjUzMywgNjU0OCwgNjU2MywgNjU3OCwgNjU5MywgNjYwOCwgNjYyMywgNjYzOCwgNjY1MywgNjY2OCwgCi0gICAgNjY4MywgNjY5OCwgNjcxMywgNjcyOCwgNjc0MywgNjc1OCwgNjc3MywgNjc4OCwgNjgwMywgNjgxOCwgNjgzMywgNjg0OCwgCi0gICAgNjg2MywgNjg3OCwgNjg5MywgNjkwOCwgNjkyMywgNjkzOCwgNjk1MywgNjk2OCwgNjk4MywgNjk5OCwgNzAxMywgNzAyOCwgCi0gICAgNzAzNywgNzA0NiwgNzA1MSwgNzA1NywgNzA2NywgNzA3MSwgNzA3NiwgNzA4MSwgNzA4OSwgNzA5MywgNzA5NiwgNzEwMCwgCi0gICAgMjk3NSwgNzEwMywgNzEwOCwgMjk4LCA0MjUsIDcxMTQsIDcxMjIsIDcxMjYsIDcxMzAsIDcxMzMsIDcxMzcsIDcxNDMsIAotICAgIDcxNDcsIDcxNTUsIDcxNjEsIDcxNjYsIDcxNzMsIDcxODAsIDcxODYsIDcxOTEsIDcxOTgsIDcyMDQsIDcyMTIsIDcyMTYsIAotICAgIDcyMjEsIDcyMzMsIDcyNDQsIDcyNTEsIDcyNTUsIDcyNTksIDcyNjUsIDMyMzMsIDcyNjksIDcyNzUsIDcyODAsIDcyODUsIAotICAgIDcyOTAsIDcyOTYsIDczMDEsIDczMDYsIDczMTEsIDczMTYsIDczMjIsIDczMjcsIDczMzIsIDczMzgsIDczNDMsIDczNDksIAotICAgIDczNTQsIDczNjAsIDczNjUsIDczNzEsIDczNzYsIDczODEsIDczODYsIDczOTEsIDczOTYsIDc0MDIsIDc0MDcsIDc0MTIsIAotICAgIDc0MTcsIDc0MjMsIDc0MjksIDc0MzUsIDc0NDEsIDc0NDcsIDc0NTMsIDc0NTksIDc0NjUsIDc0NzEsIDc0NzcsIDc0ODMsIAotICAgIDc0ODksIDc0OTQsIDc0OTksIDc1MDQsIDc1MDksIDc1MTQsIDc1MTksIDc1MjQsIDc1MjksIDc1MzUsIDc1NDEsIDc1NDYsIAotICAgIDc1NTIsIDc1NTgsIDc1NjQsIDc1NjksIDc1NzQsIDc1NzksIDc1ODQsIDc1OTAsIDc1OTYsIDc2MDEsIDc2MDYsIDc2MTEsIAotICAgIDc2MTYsIDc2MjEsIDc2MjcsIDc2MzIsIDc2MzgsIDc2NDQsIDc2NTAsIDc2NTYsIDc2NjIsIDc2NjgsIDc2NzQsIDc2ODAsIAotICAgIDc2ODYsIDIxMzgsIDcxMzIsIDc2OTEsIDc2OTUsIDc2OTksIDc3MDIsIDc3MDksIDc3MTIsIDc3MjAsIDc3MjUsIDc3MzAsIAotICAgIDc3MjEsIDc3MzUsIDIxNjUsIDc3MzksIDc3NDUsIDc3NTEsIDc3NTYsIDc3NjEsIDc3NjgsIDc3NzYsIDc3ODEsIDc3ODUsIAotICAgIDc3ODgsIDc3OTIsIDc3OTgsIDc4MDQsIDc4MDgsIDIxNzMsIDU2MCwgNzgxMSwgNzgxNSwgNzgyMCwgNzgyNiwgNzgzMSwgCi0gICAgNzgzNSwgNzgzOCwgNzg0MiwgNzg0OCwgNzg1MywgNzg1NywgNzg2NCwgNzg2OCwgNzg3MiwgNzg3NiwgOTQ1LCA3NjksIAotICAgIDc4NzksIDc4ODcsIDc4OTQsIDc5MDEsIDc5MDcsIDc5MTQsIDc5MjIsIDc5MjksIDc5MzYsIDc5NDEsIDc5NTMsIDEyNDcsIAotICAgIDE0MDksIDE0MTQsIDc5NjQsIDE0MTksIDc5NjgsIDc5NzIsIDc5ODEsIDc5ODksIDc5OTgsIDgwMDQsIDgwMDksIDgwMTMsIAotICAgIDgwMTksIDgwMjQsIDI3MDYsIDgwMzEsIDgwMzUsIDgwNDQsIDgwNTMsIDgwNjIsIDgwNzEsIDgwNzYsIDgwODEsIDgwOTMsIAotICAgIDgwOTgsIDgxMDYsIDIyMjQsIDgxMTAsIDgxMTIsIDgxMTcsIDgxMjEsIDgxMzAsIDgxMzgsIDE0MjMsIDEzMywgMzQ2MSwgCi0gICAgMzQ2NiwgODE0NCwgODE0OCwgODE1NywgODE2MywgODE2OCwgODE3MSwgODE4MCwgMjY5OCwgODE4NiwgODE5NCwgODE5OCwgCi0gICAgODIwMiwgODIwNiwgMjIzNywgODIxMCwgODIxNSwgODIyMiwgODIyOCwgODIzNCwgODIzNywgODIzOSwgODI0MiwgODI1MCwgCi0gICAgODI1OCwgODI2NiwgODI2OSwgODI3NCwgMjI1MCwgODI3OSwgNzczMiwgODI4MiwgODI4NCwgODI4OSwgODI5NCwgODI5OSwgCi0gICAgODMwNCwgODMwOSwgODMxNCwgODMxOSwgODMyNCwgODMyOSwgODMzNCwgODM0MCwgODM0NSwgODM1MCwgODM1NSwgODM2MSwgCi0gICAgODM2NiwgODM3MSwgODM3NiwgODM4MSwgODM4NiwgODM5MSwgODM5NywgODQwMiwgODQwNywgODQxMiwgODQxNywgODQyMiwgCi0gICAgODQyNywgODQzMiwgODQzNywgODQ0MiwgODQ0NywgODQ1MiwgODQ1NywgODQ2MiwgODQ2NywgODQ3MiwgODQ3NywgODQ4MiwgCi0gICAgODQ4OCwgODQ5NCwgODQ5OSwgODUwNCwgODUwOSwgODUxNCwgODUxOSwgMjI2MSwgMjI2OCwgMjI3NCwgODUyNCwgODUzMCwgCi0gICAgODUzOCwgMjMwMCwgMjMwNiwgODU0NiwgODU1MCwgODU1NSwgODU1OSwgODU2MywgODU2NywgODU3MiwgODU3NiwgODU4MSwgCi0gICAgODU4NSwgODU4OCwgODU5MSwgODU5NywgODYwMywgODYwOSwgODYxNSwgODYyMSwgODYyNywgODYzMywgODYzNywgODY0MSwgCi0gICAgODY0NSwgODY0OSwgODY1MywgODY1OCwgODY2NSwgODY3NiwgODY4NCwgODY5NCwgODcwMCwgODcwNywgODcxMiwgODcxNiwgCi0gICAgODcyNywgODc0MCwgODc1MSwgODc2NCwgODc3NSwgODc4NywgODc5OSwgODgxMSwgODgyNCwgODgzNywgODg0NCwgODg1MCwgCi0gICAgODg2NCwgODg3MSwgODg3NywgODg4MSwgODg4NiwgODg5MCwgODg5NywgODkwNSwgODkwOSwgODkxNSwgODkxOSwgODkyNSwgCi0gICAgODkzNSwgODkzOSwgODk0NCwgODk0OSwgODk1NiwgODk2MiwgODk3MiwgNzkwOSwgODk3OCwgODk4MiwgODk4OSwgODk5NiwgCi0gICAgNzY4LCA5MDAwLCA5MDA0LCA5MDA5LCA5MDE0LCA5MDE5LCA5MDIzLCA5MDI5LCA5MDM3LCA5MDQzLCA5MDQ3LCA5MDUzLCAKLSAgICA5MDYzLCA5MDY3LCA5MDczLCA5MDc4LCA5MDgyLCA5MDg4LCA5MDk0LCAyMTYxLCA5MDk5LCA5MTAxLCA5MTA2LCA5MTE0LCAKLSAgICA5MTIzLCA5MTI3LCA5MTMzLCA5MTM4LCA5MTQzLCA5MTQ4LCA5MTUzLCA5MTU5LCA5MTY0LCA5MTY5LCA0MDA2LCA5MTc0LCAKLSAgICA5MTc5LCA5MTgzLCA5MTg5LCA5MTk0LCA5MjAwLCA5MjA1LCA5MjEwLCA5MjE2LCA5MjIxLCA5MTI4LCA5MjI3LCA5MjMxLCAKLSAgICA5MjM4LCA5MjQ0LCA5MjQ5LCA5MjUzLCA2MTgzLCA5MjU4LCA5MjY3LCA5MjcyLCA5Mjc3LCA4MjE4LCA4MjI1LCA5MjgyLCAKLSAgICAyODUzLCA5Mjg2LCA5MjkxLCA5Mjk2LCA5MTM5LCA5MzAwLCA5MzA1LCA5MTQ0LCA5MTQ5LCA5MzEwLCA5MzE3LCA5MzI0LCAKLSAgICA5MzMwLCA5MzM2LCA5MzQyLCA5MzQ3LCA5MzUyLCA5MzU3LCA5MTU0LCA5MTYwLCA5MzYzLCA5MzY5LCA5Mzc0LCA5MzgyLCAKLSAgICA5MTY1LCA5Mzg3LCA5OTAsIDkzOTAsIDkzOTgsIDk0MDQsIDk0MTAsIDk0MTksIDk0MjcsIDk0MzIsIDk0MzgsIDk0NDYsIAotICAgIDk0NTMsIDk0NjgsIDk0ODUsIDk1MDQsIDk1MTMsIDk1MjEsIDk1MzYsIDk1NDcsIDk1NTcsIDk1NjcsIDk1NzUsIDk1ODEsIAotICAgIDk1OTMsIDk2MDIsIDk2MTAsIDk2MTcsIDk2MjQsIDk2MzAsIDk2MzUsIDk2NDMsIDk2NTMsIDk2NjAsIDk2NzAsIDk2ODAsIAotICAgIDk2OTAsIDk2OTgsIDk3MDUsIDk3MTQsIDk3MjQsIDk3MzgsIDk3NTMsIDk3NjIsIDk3NzAsIDk3NzUsIDk3NzksIDk3ODgsIAotICAgIDk3OTQsIDk3OTksIDk4MDksIDk4MTksIDk4MjksIDk4MzQsIDk4MzgsIDk4NDcsIDk4NTIsIDk4NjIsIDk4NzMsIDk4ODYsIAotICAgIDk4OTQsIDk5MDcsIDk5MTksIDk5MjcsIDk5MzIsIDk5MzYsIDk5NDIsIDk5NDcsIDk5NTUsIDk5NjMsIDk5NzAsIDk5NzUsIAotICAgIDk5ODMsIDk5ODksIDk5OTIsIDk5OTYsIDEwMDAyLCAxMDAxMCwgMTAwMTUsIDEwMDE5LCAxMDAyNywgMTAwMzYsIDEwMDQ0LCAKLSAgICAxMDA1MCwgMTAwNTQsIDEwMDYxLCAxMDA3MiwgMTAwNzYsIDEwMDc5LCAxMDA4NSwgOTE3MCwgMTAwOTAsIDEwMDk2LCAKLSAgICAxMDEwMywgMTAxMDksIDEwMTE0LCAxMDEyMSwgMTAxMjgsIDEwMTM1LCAxMDE0MiwgMTAxNDksIDEwMTU2LCAxMDE2MywgCi0gICAgMTAxNzAsIDEwMTc1LCA5NDgxLCAxMDE4MCwgMTAxODYsIDEwMTkzLCAxMDIwMCwgMTAyMDUsIDEwMjEyLCAxMDIyMSwgCi0gICAgMTAyMjUsIDEwMjM3LCA4MjU2LCAxMDI0MSwgMTAyNDQsIDEwMjQ4LCAxMDI1MiwgMTAyNTYsIDEwMjYwLCAxMDI2NiwgCi0gICAgMTAyNzIsIDEwMjc3LCAxMDI4MywgMTAyODgsIDEwMjkzLCAxMDI5OSwgMTAzMDQsIDEwMzA5LCA4OTUyLCAxMDMxNCwgCi0gICAgMTAzMTgsIDEwMzIyLCAxMDMyNiwgMTAzMzEsIDEwMzM2LCAxMDM0NCwgMTAzNTAsIDEwMzU0LCAxMDM1OCwgMTAzNjUsIAotICAgIDEwMzcwLCAxMDM3OCwgMTAzODMsIDEwMzg3LCAxMDM5MCwgMTAzOTYsIDEwNDAzLCAxMDQwNywgMTA0MTAsIDEwNDE1LCAKLSAgICAxMDQxOSwgNDA0NSwgMTA0MjUsIDEwNDM0LCAzNiwgMTA0NDIsIDEwNDQ4LCAxMDQ1MywgODk2NywgMTA0NTgsIDEwNDYzLCAKLSAgICAxMDQ2NywgMTA0NzAsIDEwNDg1LCAxMDUwNCwgMTA1MTYsIDEwNTI5LCAxMDU0MiwgMTA1NTUsIDEwNTY5LCAxMDU4MiwgCi0gICAgMTA1OTcsIDEwNjA0LCA5MTc1LCAxMDYxMCwgMTA2MjQsIDEwNjI5LCAxMDYzNSwgMTA2NDAsIDEwNjQ4LCAxMDY1MywgCi0gICAgODA0MCwgMTA2NTgsIDEwNjYxLCAxMDY2OCwgMTA2NzMsIDEwNjc3LCAyODU4LCA5OTgsIDEwNjgzLCAxMDY4NywgMTA2OTMsIAotICAgIDEwNjk5LCAxMDcwNCwgMTA3MTAsIDEwNzE1LCA5MTg0LCAxMDcyMSwgMTA3MjcsIDEwNzMyLCAxMDczNywgMTA3NDUsIAotICAgIDEwNzUxLCAxMDc2NCwgMTA3NzIsIDEwNzc5LCA5MTkwLCAxMDc4NSwgMTA3OTMsIDEwODAxLCAxMDgwOCwgMTA4MjEsIAotICAgIDEwODMzLCAxMDg0MywgMTA4NTEsIDEwODU4LCAxMDg2NSwgMTA4NzQsIDEwODgzLCAxMDg5MSwgMTA4OTgsIDEwOTAzLCAKLSAgICAxMDkwOSwgOTE5NSwgMTA5MTQsIDEwOTIwLCA5MjAxLCAxMDkyNSwgMTA5MjgsIDEwOTM1LCAxMDk0MSwgMTA5NTQsIDg2NjksIAotICAgIDEwOTY1LCAxMDk3MSwgMTA5ODAsIDEwOTg4LCAxMDk5NSwgMTEwMDEsIDExMDA3LCAxMTAxMiwgMTEwMTYsIDExMDIxLCAKLSAgICAxMDQ3NywgMTEwMjcsIDkyMDYsIDExMDM0LCAxMTAzOSwgMTEwNDYsIDExMDUyLCAxMTA1OCwgMTEwNjMsIDExMDcxLCAKLSAgICAxMTA3OSwgMTEwODYsIDExMDkwLCAxMTEwNCwgMTExMTQsIDExMTE5LCAxMTEyMywgMTExMzQsIDExMTQwLCAxMTE0NSwgCi0gICAgMTExNTAsIDkyMTEsIDkyMTcsIDExMTU0LCAxMTE1NywgMTExNjIsIDExMTc0LCAxMTE4MSwgMTExODYsIDExMTkwLCAKLSAgICAxMTE5NSwgMTExOTksIDExMjA2LCAxMTIxMiwgOTIyMiwgOTEyOSwgMTEyMTksIDI4NjMsIDgsIDExMjI2LCAxMTIzMSwgCi0gICAgMTEyMzUsIDExMjQxLCAxMTI0OSwgMTEyNTksIDExMjY0LCAxMTI2OSwgMTEyNzYsIDExMjgzLCAxMTI4NywgMTEyOTgsIAotICAgIDExMzA4LCAxMTMxNywgMTEzMjksIDExMzM0LCAxMTMzOCwgMTEzNDYsIDExMzYwLCAxMTM2NCwgMTEzNjcsIDExMzc1LCAKLSAgICAxMTM4MiwgMTEzOTAsIDExMzk0LCAxMTQwNSwgMTE0MDksIDExNDE2LCAxMTQyMSwgMTE0MjUsIDExNDMxLCAxMTQzNiwgCi0gICAgMTE0NDAsIDExNDQ2LCAxMTQ1MSwgMTE0NjIsIDExNDY2LCAxMTQ2OSwgMTE0NzUsIDExNDgwLCAxMTQ4NiwgMTE0OTIsIAotICAgIDExNDk5LCAxMTUxMCwgMTE1MjAsIDExNTMwLCAxMTUzOSwgMTE1NDYsIDExNTU1LCA5MjMyLCA5MjM5LCA5MjQ1LCA5MjUwLCAKLSAgICAxMTU2MSwgMTE1NjcsIDkyNTQsIDExNTczLCAxMTU3NiwgMTE1ODMsIDExNTg4LCAxMTYwMywgMTE2MTksIDExNjM0LCAKLSAgICAxMTY0MiwgMTE2NDgsIDExNjUzLCA4MzgsIDQyMCwgMTE2NTgsIDExNjY2LCAxMTY3MywgMTE2NzksIDExNjg0LCAxMTY4OSwgCi0gICAgOTI1OSwgMTE2OTEsIDExNjk1LCAxMTcwMCwgMTE3MDQsIDExNzE0LCAxMTcxOSwgMTE3MjMsIDExNzMyLCAxMTczNiwgCi0gICAgMTE3MzksIDkyNjgsIDExNzQ2LCAxMTc0OSwgMTE3NTcsIDExNzY0LCAxMTc3MiwgMTE3NzYsIDExNzgzLCAxMTc5MiwgCi0gICAgMTE3OTUsIDExNzk5LCAxMTgwMywgMTE4MDksIDExODEzLCAxMTgxNywgMTE4MjEsIDExODI3LCAxMTgzNywgMTE4NDEsIAotICAgIDExODQ5LCAxMTg1MywgMTE4NjAsIDExODY0LCAxMTg2OSwgMTE4NzMsIDExODgwLCAxMTg4NiwgMTE4OTQsIDExOTAwLCAKLSAgICAxMTkwNSwgMTE5MTUsIDExOTIwLCAxMTkyNSwgMTE5MjksIDExOTM3LCAzOTA1LCAxMTk0NSwgMTE5NTAsIDkyNzMsIAotICAgIDExOTU0LCAxMTk1OCwgMTE5NjEsIDExOTY5LCAxMTk3NiwgMTE5ODAsIDU5OTEsIDExOTg0LCAxMTk4OSwgMTE5OTMsIAotICAgIDEyMDA0LCAxMjAxNCwgMTIwMTksIDEyMDI1LCAxMjAyOSwgMTIwMzIsIDEyMDQwLCAxMjA0NSwgMTIwNTAsIDEyMDU3LCAKLSAgICAxMjA2MiwgOTI3OCwgMTIwNjcsIDEyMDcxLCAxMjA3OCwgMTcyMiwgNjE0NSwgMTIwODMsIDEyMDg4LCAxMjA5MywgMTIwOTgsIAotICAgIDEyMTA0LCAxMjEwOSwgMTIxMTUsIDEyMTIwLCAxMjEyNSwgMTIxMzAsIDEyMTM1LCAxMjE0MCwgMTIxNDUsIDEyMTUwLCAKLSAgICAxMjE1NSwgMTIxNjAsIDEyMTY1LCAxMjE3MCwgMTIxNzUsIDEyMTgwLCAxMjE4NSwgMTIxOTAsIDEyMTk1LCAxMjIwMSwgCi0gICAgMTIyMDYsIDEyMjExLCAxMjIxNiwgMTIyMjEsIDEyMjI2LCAxMjIzMiwgMTIyMzcsIDEyMjQyLCAxMjI0OCwgMTIyNTMsIAotICAgIDEyMjU5LCAxMjI2NCwgMTIyNzAsIDEyMjc1LCAxMjI4MCwgMTIyODUsIDEyMjkwLCAxMjI5NiwgMTIzMDEsIDEyMzA2LCAKLSAgICAxMjMxMSwgNzM3LCAxMzksIDEyMzE5LCAxMjMyMywgMTIzMjgsIDEyMzMzLCAxMjMzNywgMTIzNDEsIDEyMzQ1LCAxMjM1MCwgCi0gICAgMTIzNTQsIDEyMzU5LCAxMjM2MywgMTIzNjYsIDEyMzcwLCAxMjM3NCwgMTIzODAsIDEyMzg1LCAxMjM5NSwgMTI0MDEsIAotICAgIDEyNDA5LCAxMjQxMywgMTI0MTcsIDEyNDI0LCAxMjQzMiwgMTI0NDEsIDEyNDUyLCAxMjQ1OSwgMTI0NjYsIDEyNDcwLCAKLSAgICAxMjQ3OSwgMTI0ODgsIDEyNDk2LCAxMjUwNSwgMTI1MTQsIDEyNTIzLCAxMjUzMiwgMTI1NDIsIDEyNTUyLCAxMjU2MiwgCi0gICAgMTI1NzIsIDEyNTgyLCAxMjU5MSwgMTI2MDEsIDEyNjExLCAxMjYyMSwgMTI2MzEsIDEyNjQxLCAxMjY1MSwgMTI2NjEsIAotICAgIDEyNjcwLCAxMjY4MCwgMTI2OTAsIDEyNzAwLCAxMjcxMCwgMTI3MjAsIDEyNzMwLCAxMjczOSwgMTI3NDksIDEyNzU5LCAKLSAgICAxMjc2OSwgMTI3NzksIDEyNzg5LCAxMjc5OSwgMTI4MDksIDEyODE5LCAxMjgyOSwgMTI4MzgsIDEyODQ4LCAxMjg1OCwgCi0gICAgMTI4NjgsIDEyODc4LCAxMjg4OCwgMTI4OTgsIDEyOTA4LCAxMjkxOCwgMTI5MjgsIDEyOTM4LCAxMjk0NywgMTI1NiwgCi0gICAgMTI5NTMsIDEyOTU2LCAxMjk2MCwgMTI5NjUsIDEyOTcyLCAxMjk3OCwgMTI5ODMsIDEyOTg3LCAxMjk5MiwgMTMwMDEsIAotICAgIDEzMDA5LCAxMzAxNCwgMTMwMTgsIDEzMDIyLCAxMzAyOCwgMTMwMzMsIDEzMDM5LCA5Mjg3LCAxMzA0NCwgMTMwNDksIAotICAgIDEzMDU4LCA5MjkyLCAxMzA2MywgMTMwNjYsIDEzMDcyLCAxMzA4MCwgOTI5NywgMTMwODcsIDEzMDkxLCAxMzA5NSwgCi0gICAgMTMwOTksIDEzMTA5LCAxMzExNSwgMTMxMjEsIDEzMTI2LCAxMzEzNSwgMTMxNDMsIDEzMTUwLCAxMzE1NywgMTMxNjIsIAotICAgIDEzMTY5LCAxMzE3NCwgMTMxNzgsIDEzMTgxLCAxMzE5MiwgMTMyMDIsIDEzMjExLCAxMzIxOSwgMTMyMzAsIDEzMjQyLCAKLSAgICAxMzI1MiwgMTMyNTcsIDEzMjYxLCAxMzI2NiwgMTMyNzEsIDEzMjc1LCAxMzI4MSwgMTMyODksIDEzMjk2LCAxMzMwNywgCi0gICAgMTMzMTIsIDEzMzIyLCAxMzMyNiwgMTMzMjksIDEzMzM2LCAxMzM0NiwgMTMzNTUsIDEzMzYyLCAxMzM2NiwgMTMzNzMsIAotICAgIDEzMzc5LCAxMzM4NCwgMTMzODksIDEzMzkzLCAxMzQwMiwgMTM0MDcsIDEzNDEzLCAxMzQxNywgMTM0MjIsIDEzNDI2LCAKLSAgICAxMzQzNSwgMTM0NDMsIDEzNDUxLCAxMzQ1OCwgMTM0NjYsIDEzNDc4LCAxMzQ4OSwgMTM0OTksIDEzNTA2LCAxMzUxMiwgCi0gICAgMTM1MjEsIDEzNTMyLCAxMzU0MSwgMTM1NTMsIDEzNTY1LCAxMzU3NywgMTM1ODcsIDEzNTk2LCAxMzYwNSwgMTM2MTMsIAotICAgIDEzNjIwLCAxMzYyOSwgMTM2MzcsIDEzNjQxLCAxMzY0NywgMTM2NTMsIDEzNjU4LCA3NzUzLCAxMzY2MiwgMTM2NjQsIAotICAgIDEzNjY4LCAxMzY3MywgMTM2NzksIDEzNjg4LCAxMzY5MiwgMTM2OTgsIDEzNzA2LCAxMzcxMywgMTM3MjIsIDEzNzMxLCAKLSAgICAxMzc0MCwgMTM3NDksIDEzNzU4LCAxMzc2NywgMTM3NzYsIDEzNzg1LCAxMzc5NSwgMTM4MDUsIDEzODE0LCAxMzgyMCwgCi0gICAgMTM4MjcsIDEzODM0LCAxMzg0MCwgMTM4NTQsIDEzODYxLCAxMzg2OSwgMTM4NzgsIDEzODg0LCAxMzg5MywgMTM5MDIsIAotICAgIDEzOTEzLCAxMzkyMywgMTM5MzEsIDEzOTM4LCAxMzk0NiwgMTM5NTUsIDEzOTY4LCAxMzk3NiwgMTM5ODMsIDEzOTk2LCAKLSAgICAxNDAwMiwgMTQwMDgsIDE0MDE4LCAxNDAyNywgMTQwMzYsIDE0MDQxLCAxNDA0NSwgMTQwNTEsIDE0MDU3LCAxNDA2NCwgCi0gICAgODk2NiwgMTQwNjksIDE0MDc0LCAxNDA4MSwgMTQwODYsIDEyMzc2LCAxNDA5MSwgMTQwOTksIDE0MTA1LCAxNDExMCwgCi0gICAgMTQxMTgsIDE0MTI2LCAxNDEzMywgMTQxNDEsIDE0MTQ3LCAxNDE1NSwgMTQxNjMsIDE0MTY5LCAxNDE3NCwgMTQxODAsIAotICAgIDE0MTg3LCAxNDE5MywgMTQxOTgsIDE0MjAyLCAxNDIxMywgMTQyMjEsIDE0MjI3LCAxNDIzMiwgMTQyNDEsIDE0MjQ3LCAKLSAgICAxNDI1MiwgMTQyNjEsIDE0Mjc1LCAzODUzLCAxNDI3OSwgMTQyODQsIDE0Mjg5LCAxNDI5NSwgMTQzMDAsIDE0MzA1LCAKLSAgICAxNDMwOSwgMTQzMTQsIDE0MzE5LCAxNDMyNCwgNzc1MiwgMTQzMjksIDE0MzM0LCAxNDMzOSwgMTQzNDQsIDE0MzQ5LCAKLSAgICAxNDM1MywgMTQzNTgsIDE0MzYzLCAxNDM2OCwgMTQzNzMsIDE0Mzc5LCAxNDM4NSwgMTQzOTAsIDE0Mzk0LCAxNDM5OSwgCi0gICAgMTQ0MDQsIDE0NDA5LCA5MzAxLCAxNDQxNCwgMTQ0MTksIDE0NDI0LCAxNDQyOSwgMTQ0MzQsIDE0NDUxLCAxNDQ2OSwgCi0gICAgMTQ0ODEsIDE0NDk0LCAxNDUxMSwgMTQ1MjcsIDE0NTQ0LCAxNDU1NCwgMTQ1NzMsIDE0NTg0LCAxNDU5NSwgMTQ2MDYsIAotICAgIDE0NjE3LCAxNDYyOSwgMTQ2NDAsIDE0NjUxLCAxNDY2OCwgMTQ2NzksIDE0NjkwLCAxNDY5NSwgOTMwNiwgMTQ3MDAsIAotICAgIDE0NzA0LCAyMzgxLCAxNDcwOCwgMTQ3MTEsIDE0NzE3LCAxNDcyNSwgMTQ3MzMsIDE0NzM4LCAxNDc0NiwgMTQ3NTQsIAotICAgIDE0NzYxLCAxNDc2NiwgMTQ3NzIsIDE0Nzc5LCAxNDc4NywgMTQ3OTQsIDE0ODA2LCAxNDgxNCwgMTQ4MTksIDExNTk3LCAKLSAgICAxNDgyNSwgMTQ4MzQsIDE0ODQzLCAxNDg1MSwgMTQ4NTgsIDE0ODY0LCAxNDg3MiwgMTQ4NzksIDE0ODg1LCAxNDg5MiwgCi0gICAgMTQ4OTgsIDE0OTA3LCAxNDkxNSwgMTQ5MjUsIDE0OTMyLCAxNDkzOCwgMTQ5NDYsIDE0OTUyLCAxNDk2MCwgMTQ5NjcsIAotICAgIDE0OTgwLCAxNDk4NywgMTQ5OTYsIDE1MDA1LCAxNTAxNCwgMTUwMjIsIDE1MDMyLCAxNTAzOSwgMTUwNDQsIDM1NjAsIAotICAgIDE1MDUxLCAxNTA1NiwgMTM3MiwgMTUwNjAsIDE0MzMwLCAxNTA2NCwgMTUwNzAsIDE1MDc0LCAxNTA4MiwgMTUwOTQsIAotICAgIDE1MDk5LCAxNTEwNiwgMTUxMTIsIDE1MTE3LCAxNTEyNCwgMTQzMzUsIDE1MTI4LCAxNTEzMiwgMTUxMzYsIDE0MzQwLCAKLSAgICAxNTE0MCwgMTQzNDUsIDE1MTQ0LCAxNTE1MSwgMTUxNTYsIDE1MTYwLCAxNTE2NywgMTUxNzEsIDE1MTc5LCAxNTE4NiwgCi0gICAgMTUxOTAsIDE1MTk3LCAxNTIxNCwgMTUyMjMsIDE1MjI3LCAxNTIzMCwgMTUyMzgsIDE1MjQ0LCAxNTI0OSwgMzYzOCwgCi0gICAgMTUyNTMsIDE1MjU1LCAxNTI2MywgMTUyNzAsIDE1MjgwLCAxNTI5MiwgMTUyOTcsIDE1MzAzLCAxNTMwOCwgMTUzMTIsIAotICAgIDE1MzE4LCAxNTMyMywgMTUzMjksIDE1MzMyLCAxNTMzOSwgMTUzNDcsIDE1MzU0LCAxNTM2MCwgMTUzNjYsIDE1MzcxLCAKLSAgICAxNTM3OCwgMTUzODQsIDE1Mzg5LCAxNTM5NiwgMTU0MDAsIDE1NDA2LCAxNTQxMCwgMTU0MTcsIDE1NDIzLCAxNTQyOSwgCi0gICAgMTU0MzcsIDE1NDQzLCAxNTQ0OCwgMTU0NTQsIDE1NDYyLCAxNTQ3MCwgMTU0NzYsIDE1NDgyLCAxNTQ4NywgMTU0OTQsIAotICAgIDE1NDk5LCAxNTUwMywgMTU1MDksIDE1NTE0LCAxNTUyMSwgMTU1MjYsIDE1NTMyLCAxNTUzNSwgMTU1NDEsIDE1NTQ3LCAKLSAgICAxNTU1MCwgMTU1NTQsIDE1NTY2LCAxNTU3MiwgMTU1NzcsIDE1NTg0LCAxNTU5MCwgMTU1OTYsIDE1NjA3LCAxNTYxNywgCi0gICAgMTU2MjYsIDE1NjM0LCAxNTY0MSwgMTU2NTIsIDE1NjYyLCAxNTY3MiwgMTU2ODAsIDE1NjgzLCAxNDM1OSwgMTU2ODgsIAotICAgIDE1NjkzLCAxNDM2NCwgMTQ0OTksIDE1NzAxLCAxNTcxNCwgMTU3MjksIDE1NzQwLCAxNDUxNiwgMTU3NTgsIDE1NzcxLCAKLSAgICAxNTc4NCwgMTU3OTUsIDEwNDkyLCAxNTgwNiwgMTU4MTksIDE1ODM4LCAxNTg0OSwgMTU4NjAsIDE1ODcxLCAyNjQ5LCAKLSAgICAxNTg4NCwgMTU4ODgsIDE1ODk2LCAxNTkxMSwgMTU5MjYsIDE1OTM3LCAxNTk0NCwgMTU5NTAsIDE1OTU4LCAxNTk2MiwgCi0gICAgMTU5NjgsIDE1OTcxLCAxNTk4MSwgMTU5ODksIDE1OTk2LCAxNjAwNCwgMTYwMTQsIDE2MDE5LCAxNjAyNiwgMTYwMzEsIAotICAgIDE2MDM4LCAxNjA0OSwgMTYwNTksIDE2MDY1LCAxNjA3MCwgMTYwNzUsIDE0MzY5LCAxNjA3OSwgMTYwODUsIDE2MDkxLCAKLSAgICAxNjA5NiwgMTYxMDEsIDE2MTA2LCAxNjExMCwgMTQzNzQsIDE0MzgwLCAxNjExNCwgMTQzODYsIDE2MTE5LCAxNjEyNywgCi0gICAgMTYxMzYsIDE2MTQzLCA5MTUwLCAxNjE0NywgMTYxNDksIDE2MTU0LCAxNjE1OSwgMTYxNjUsIDE2MTcwLCAxNjE3NSwgCi0gICAgMTYxODAsIDE2MTg1LCAxNjE4OSwgMTYxOTUsIDE2MjAxLCAxNjIwNiwgMTYyMTIsIDE2MjE3LCAxNjIyMiwgMTYyMjgsIAotICAgIDE2MjMzLCAxNjIzOCwgMTYyNDMsIDE2MjQ4LCAxNjI1NCwgMTYyNTksIDE2MjY0LCAxNjI3MCwgMTYyNzYsIDE2MjgxLCAKLSAgICAxNjI4NiwgMTYyOTMsIDE2Mjk5LCAxNjMxMCwgMTYzMTcsIDE2MzIyLCAxNjMyNiwgMTYzMzAsIDE2MzMzLCAxNjM0MSwgCi0gICAgMTYzNDYsIDE2MzUzLCAxNjM2MCwgMTYzNjYsIDE2MzcxLCAxNjM3NiwgMTYzODMsIDE2MzkzLCAxNjM5OCwgMTY0MDUsIAotICAgIDE2NDExLCAxNjQyMSwgMTY0MzEsIDE2NDQ1LCAxNjQ1OSwgMTY0NzMsIDE2NDg3LCAxNjUwMiwgMTY1MTcsIDE2NTM0LCAKLSAgICAxNjU1MiwgMTY1NjUsIDE2NTcxLCAxNjU3NiwgMTY1ODEsIDE2NTg1LCAxNjU5MCwgMTY1OTgsIDE2NjA0LCAxNjYwOSwgCi0gICAgMTY2MTQsIDE2NjE4LCAxNjYyMywgMTY2MjcsIDE2NjMyLCAxNjYzNiwgMTY2NDcsIDE2NjUzLCAxNjY1OCwgMTY2NjMsIAotICAgIDE2NjcwLCAxNjY3NSwgMTY2NzksIDE2Njg0LCAxNjY4OSwgMTY2OTUsIDE2NzAyLCAxNjcwOCwgMTY3MTMsIDE2NzE3LCAKLSAgICAxNjcyMywgMTY3MjgsIDE2NzMzLCAxNjczNywgMTY3NDMsIDE2NzQ4LCAxNjc1MywgMTY3NjAsIDE2NzY1LCAxMzExMSwgCi0gICAgMTY3NjksIDE2Nzc0LCAxNjc3OCwgMTY3ODMsIDE2Nzg5LCAxNjc5NSwgMTY4MDIsIDE2ODEyLCAxNjgyMCwgMTY4MjcsIAotICAgIDE2ODMyLCAxNjgzNiwgMTY4NDUsIDE2ODUzLCAxNjg2MCwgMTY4NjcsIDE2ODczLCAxNjg3OSwgMTY4ODQsIDE2ODg5LCAKLSAgICAxNjg5NSwgMTY5MDAsIDE2OTA2LCAxNjkxMSwgMTY5MTcsIDE2OTIzLCAxNjkzMCwgMTY5MzYsIDE2OTQxLCAxNjk0NiwgCi0gICAgOTM0OCwgMTY5NTUsIDE2OTU4LCAxNjk2NCwgMTY5NjksIDE2OTc0LCAxNjk4NCwgMTY5OTEsIDE2OTk3LCAxNzAwMiwgCi0gICAgMTcwMDcsIDE3MDEzLCAxNzAxOCwgMTcwMjQsIDE3MDI5LCAxNzAzNSwgMTcwNDEsIDE3MDQ2LCAxNzA1NCwgMTcwNjEsIAotICAgIDE3MDY2LCAxNzA3MSwgMTcwNzcsIDE3MDgyLCAxNzA4NiwgMTcwOTUsIDE3MTA2LCAxNzExMywgMTcxMTgsIDE3MTI2LCAKLSAgICAxNzEzMiwgMTcxMzksIDE3MTQ1LCAxNzE1MCwgMTcxNTQsIDE3MTYwLCAxNzE2NSwgMTcxNzAsIDE3MTc1LCAxNDQwLCAKLSAgICA3Nzc3LCAyODc3LCAxNzE3OSwgMTcxODMsIDE3MTg3LCAxNzE5MSwgMTcxOTUsIDE3MTk5LCAxNzIwMiwgMTcyMDksIAotICAgIDE3MjE3LCAxNDQwMCwgMTcyMjQsIDE3MjM0LCAxNzI0MiwgMTcyNDksIDE3MjU3LCAxNzI2NywgMTcyNzYsIDE3Mjg5LCAKLSAgICAxNzI5NCwgMTcyOTksIDE3MzA3LCAxNzMxNCwgMTMyMDcsIDEzMjE2LCAxNzMyMSwgMTczMzEsIDE3MzQ2LCAxNzM1MiwgCi0gICAgMTczNTksIDE3MzY2LCAxNzM3MiwgMTczODAsIDE3MzkwLCAxNzQwMCwgMTQ0MDUsIDE3NDA5LCAxNzQxNSwgMTc0MjEsIAotICAgIDE3NDI5LCAxNzQzNywgMTc0NDIsIDE3NDUxLCAxNzQ1OSwgMTc0NzEsIDE3NDgxLCAxNzQ5MSwgMTc1MDEsIDE3NTEwLCAKLSAgICAxNzUyMiwgMTc1MzIsIDE3NTQyLCAxNzU1MywgMTc1NTgsIDE3NTcwLCAxNzU4MiwgMTc1OTQsIDE3NjA2LCAxNzYxOCwgCi0gICAgMTc2MzAsIDE3NjQyLCAxNzY1NCwgMTc2NjYsIDE3Njc4LCAxNzY4OSwgMTc3MDEsIDE3NzEzLCAxNzcyNSwgMTc3MzcsIAotICAgIDE3NzQ5LCAxNzc2MSwgMTc3NzMsIDE3Nzg1LCAxNzc5NywgMTc4MDksIDE3ODIwLCAxNzgzMiwgMTc4NDQsIDE3ODU2LCAKLSAgICAxNzg2OCwgMTc4ODAsIDE3ODkyLCAxNzkwNCwgMTc5MTYsIDE3OTI4LCAxNzk0MCwgMTc5NTEsIDE3OTYzLCAxNzk3NSwgCi0gICAgMTc5ODcsIDE3OTk5LCAxODAxMSwgMTgwMjMsIDE4MDM1LCAxODA0NywgMTgwNTksIDE4MDcxLCAxODA4MiwgMTgwOTQsIAotICAgIDE4MTA2LCAxODExOCwgMTgxMzAsIDE4MTQyLCAxODE1NCwgMTgxNjYsIDE4MTc4LCAxODE5MCwgMTgyMDIsIDE4MjEzLCAKLSAgICAxODIyNSwgMTgyMzcsIDE4MjQ5LCAxODI2MSwgMTgyNzMsIDE4Mjg1LCAxODI5NywgMTgzMDksIDE4MzIxLCAxODMzMywgCi0gICAgMTgzNDQsIDE4MzU2LCAxODM2OCwgMTgzODAsIDE4MzkyLCAxODQwNCwgMTg0MTYsIDE4NDI4LCAxODQ0MCwgMTg0NTIsIAotICAgIDE4NDY0LCAxODQ3NSwgMTg0ODcsIDE4NDk5LCAxODUxMSwgMTg1MjMsIDE4NTM2LCAxODU0OSwgMTg1NjIsIDE4NTc1LCAKLSAgICAxODU4OCwgMTg2MDEsIDE4NjE0LCAxODYyNiwgMTg2MzksIDE4NjUyLCAxODY2NSwgMTg2NzgsIDE4NjkxLCAxODcwNCwgCi0gICAgMTg3MTcsIDE4NzMwLCAxODc0MywgMTg3NTYsIDE4NzY4LCAxODc4MSwgMTg3OTQsIDE4ODA3LCAxODgyMCwgMTg4MzMsIAotICAgIDE4ODQ2LCAxODg1OSwgMTg4NzIsIDE4ODg1LCAxODg5OCwgMTg5MTAsIDE4OTIzLCAxODkzNiwgMTg5NDksIDE4OTYyLCAKLSAgICAxODk3NSwgMTg5ODgsIDE5MDAxLCAxOTAxNCwgMTkwMjcsIDE5MDQwLCAxOTA1MiwgMTkwNjUsIDE5MDc4LCAxOTA5MSwgCi0gICAgMTkxMDQsIDE5MTE3LCAxOTEzMCwgMTkxNDMsIDE5MTU2LCAxOTE2OSwgMTkxODIsIDE5MTk0LCAxOTIwNywgMTkyMjAsIAotICAgIDE5MjMzLCAxOTI0NiwgMTkyNTksIDE5MjcyLCAxOTI4NSwgMTkyOTgsIDE5MzExLCAxOTMyNCwgMTkzMzYsIDE5MzQ3LCAKLSAgICAxOTM2MCwgMTkzNzMsIDE5Mzg2LCAxOTM5OSwgMTk0MTIsIDE5NDI1LCAxOTQzOCwgMTk0NTEsIDE5NDY0LCAxOTQ3NywgCi0gICAgMTk0ODksIDE5NTAyLCAxOTUxNSwgMTk1MjgsIDE5NTQxLCAxOTU1NCwgMTk1NjcsIDE5NTgwLCAxOTU5MywgMTk2MDYsIAotICAgIDE5NjE5LCAxOTYzMSwgMTk2NDQsIDE5NjU3LCAxOTY3MCwgMTk2ODMsIDE5Njk2LCAxOTcwOSwgMTk3MjIsIDE5NzM1LCAKLSAgICAxOTc0OCwgMTk3NjEsIDE5NzczLCAxOTc4NiwgMTk3OTksIDE5ODEyLCAxOTgyNSwgMTk4MzgsIDE5ODUxLCAxOTg2NCwgCi0gICAgMTk4NzcsIDE5ODkwLCAxOTkwMywgMTk5MTUsIDE5OTI4LCAxOTk0MSwgMTk5NTQsIDE5OTY3LCAxOTk4MCwgMTk5OTMsIAotICAgIDIwMDA2LCAyMDAxOSwgMjAwMzIsIDIwMDQ1LCAyMDA1NywgMjAwNzAsIDIwMDgzLCAyMDA5NiwgMjAxMDksIDIwMTIyLCAKLSAgICAyMDEzNSwgMjAxNDgsIDIwMTYxLCAyMDE3NCwgMjAxODcsIDIwMTk5LCAyMDIxMiwgMjAyMjUsIDIwMjM4LCAyMDI1MSwgCi0gICAgMjAyNjQsIDIwMjc3LCAyMDI5MCwgMjAzMDMsIDIwMzE2LCAyMDMyOSwgMjAzNDEsIDIwMzU0LCAyMDM2NywgMjAzODAsIAotICAgIDIwMzkzLCAyMDQwNiwgMjA0MTksIDIwNDMyLCAyMDQ0NSwgMjA0NTgsIDIwNDcxLCAyMDQ4MywgMjA0OTYsIDIwNTA5LCAKLSAgICAyMDUyMiwgMjA1MzUsIDIwNTQ4LCAyMDU2MSwgMjA1NzQsIDIwNTg3LCAyMDYwMCwgMjA2MTMsIDIwNjI1LCAyMDYzOCwgCi0gICAgMjA2NTEsIDIwNjY0LCAyMDY3NywgMjA2OTAsIDIwNzAzLCAyMDcxNiwgMjA3MjksIDIwNzQyLCAyMDc1NSwgMjA3NjcsIAotICAgIDIwNzc4LCAyMDc4NiwgMjA3OTQsIDIwODAxLCAyMDgwNywgMjA4MTEsIDIwODE3LCAyMDgyMywgMjA4MzEsIDIwODM3LCAKLSAgICAyMDg0MiwgMjA4NDYsIDIwODU1LCA5MTU1LCAyMDg2NiwgMjA4NzMsIDIwODgxLCAyMDg4OCwgMjA4OTUsIDEwOTQ4LCAKLSAgICAyMDkwMiwgMjA5MTEsIDIwOTE2LCAyMDkyMSwgNzgwNSwgMjA5MjgsIDIwOTMzLCAyMDkzNiwgMjA5NDEsIDIwOTQ5LCAKLSAgICAyMDk1NiwgMjA5NjMsIDIwOTcwLCAyMDk3NiwgMjA5ODUsIDIwOTk0LCAyMTAwMCwgMjEwMDksIDIxMDEzLCAyMTAxOSwgCi0gICAgMjEwMjQsIDIxMDM0LCAyMTA0MSwgMjEwNDcsIDIxMDU1LCAyMTA2MSwgMjEwNjgsIDIxMDc4LCAyMTA4NywgMjEwOTEsIAotICAgIDIxMDk4LCAyMTEwMiwgMjExMDcsIDIxMTEzLCAyMTEyMSwgMjExMjUsIDIxMTM1LCAxNDQxNSwgMjExNDQsIDIxMTUwLCAKLSAgICAyMTE1NCwgMjExNjMsIDE0NDIwLCAyMTE2OSwgMjExNzYsIDIxMTg3LCAyMTE5NSwgMjEyMDQsIDIxMjEyLCA4OTMxLCAKLSAgICAyMTIyMCwgMjEyMjUsIDIxMjMxLCAyMTIzNiwgMjEyNDAsIDIxMjQ0LCAyMTI0OCwgOTYzOSwgMjEyNTMsIDIxMjYxLCAKLSAgICAyMTI2OCwgMjEyNzcsIDIxMjg0LCAyMTI5MSwgMTA4NzgsIDIxMjk4LCAyMTMwNCwgMjEzMDgsIDIxMzE0LCAyMTMyMSwgCi0gICAgMjEzMjcsIDIxMzM1LCAyMTM0MSwgMjEzNDgsIDIxMzU0LCAyMTM2MCwgMjEzNjksIDIxMzczLCAyMTM4MSwgMjEzOTAsIAotICAgIDIxMzk3LCAyMTQwMiwgMjE0MDYsIDIxNDE3LCAyMTQyMiwgMjE0MjcsIDIxNDMyLCAyMTQ0NSwgNzk5NSwgMjE0NDksIAotICAgIDIxNDU1LCAyMTQ2MywgMjE0NjcsIDIxNDc0LCAyMTQ4MywgMjE0ODgsIDE0NjkxLCAyMTQ5NiwgMjE1MDAsIDIxNTEyLCAKLSAgICAyMTUxNywgMjE1MjEsIDIxNTI0LCAyMTUzMCwgMjE1MzYsIDIxNTQxLCAyMTU0NSwgMjE1NDgsIDIxNTU5LCAyMTU2NCwgCi0gICAgOTM4MywgMjE1NzEsIDIxNTc2LCA5Mzg4LCAyMTU4MSwgMjE1ODYsIDIxNTkxLCAyMTU5NiwgMjE2MDEsIDIxNjA2LCAKLSAgICAyMTYxMSwgMjE2MTYsIDIxNjIxLCAyMTYyNiwgMjE2MzEsIDIxNjM2LCAyMTY0MiwgMjE2NDcsIDIxNjUyLCAyMTY1NywgCi0gICAgMjE2NjIsIDIxNjY3LCAyMTY3MiwgMjE2NzcsIDIxNjgyLCAyMTY4NywgMjE2OTMsIDIxNjk5LCAyMTcwNCwgMjE3MDksIAotICAgIDIxNzE0LCAyMTcxOSwgMjE3MjQsIDIxNzI5LCAyMTczNCwgMjE3MzksIDIxNzQ0LCAyMTc1MCwgMjE3NTUsIDIxNzYwLCAKLSAgICAyMTc2NSwgMjE3NzEsIDIxNzc3LCAyMTc4MiwgMjE3ODcsIDIxNzkyLCAyMTc5NywgMjE4MDIsIDIxODA3LCAyMTgxMiwgCi0gICAgMjE4MTcsIDIxODIzLCAyMTgyOCwgMjE4MzMsIDIxODM4LCAyMTg0MywgMjE4NDksIDIxODU0LCAyMTg1OSwgMjE4NjMsIAotICAgIDEzNjgsIDEyOSwgMjE4NzEsIDIxODc1LCAyMTg3OSwgMjE4ODMsIDIxODg4LCAyMTg5MiwgMTMxMTcsIDEyNDc2LCAyMTg5NiwgCi0gICAgMjE5MDEsIDIxOTA1LCAyMTkxMCwgMjE5MTQsIDIxOTE5LCAyMTkyMywgMjE5MjksIDIxOTM0LCAyMTkzOCwgMjE5NDIsIAotICAgIDIxOTUwLCAyMTk1NCwgMjE5NTgsIDIxOTYzLCAyMTk2OCwgMjE5NzIsIDIxOTc4LCAyMTk4MywgMjE5ODcsIDIxOTkyLCAKLSAgICAyMTk5NywgMjIwMDEsIDIyMDA4LCAyMjAxNSwgMjIwMjIsIDIyMDI2LCAyMjAzMCwgMjIwMzUsIDIyMDM5LCAyMjA0MiwgCi0gICAgMjIwNDgsIDIyMDYxLCAyMjA2NiwgMjIwNzUsIDIyMDgwLCA5NDI4LCAyMjA4NSwgMjIwODgsIDI3MTIsIDI3MTcsIDIyMDkyLCAKLSAgICAyMjA5OCwgMjIxMDQsIDcyMDksIDIyMTA5LCAyMjExNCwgMjIxMTksIDIyMTI1LCAyMjEzMCwgMTM5MDksIDIyMTM1LCAKLSAgICAyMjE0MCwgMjIxNDUsIDIyMTUwLCAyMjE1NiwgMjIxNjEsIDIyMTY2LCAyMjE3MiwgMjIxNzcsIDIyMTgxLCAyMjE4NiwgCi0gICAgMjIxOTEsIDIyMTk2LCAyMjIwMSwgMjIyMDUsIDIyMjEwLCAyMjIxNCwgMjIyMTksIDIyMjI0LCAyMjIyOSwgMjIyMzQsIAotICAgIDIyMjM4LCAyMjI0MywgMjIyNDcsIDIyMjUyLCAyMjI1NywgMjIyNjIsIDIyMjY3LCAyODg2LCAyMjE4MiwgMjIyNzEsIAotICAgIDIyMjc5LCAyMjI4NiwgOTczMywgMjIyOTgsIDIyMzA2LCAyMjE4NywgMjIzMTMsIDIyMzE4LCAyMjMyNiwgMjIxOTIsIAotICAgIDIyMzMxLCAyMjMzNiwgMjIzNDQsIDIyMzQ5LCAyMjE5NywgMjIzNTQsIDIyMzU5LCAyMjM2MywgMjIzNjksIDIyMzc3LCAKLSAgICAyMjM4MCwgMjIzODcsIDIyMzkxLCAyMjM5NSwgMjI0MDEsIDIyNDA4LCAyMjQxMywgODk1OCwgMTcyNywgMTczMiwgMjI0MTcsIAotICAgIDIyNDIzLCAyMjQyOSwgMjI0MzQsIDIyNDM4LCAyMjQ0MiwgMjI0NDYsIDIyNDUwLCAyMjQ1NCwgMjI0NTgsIDIyNDYyLCAKLSAgICAyMjQ2NiwgMjI0NjksIDIyNDc1LCAyMjQ4MiwgMjI0OTAsIDIyNDk2LCAyMjUwMiwgMjI1MDcsIDIyNTEyLCAyMjUxNiwgCi0gICAgMTM4MjksIDEzODM2LCAyMjUyMSwgMjI1MzMsIDIyNTM2LCAyMjU0MywgMTYzNjIsIDIyNTUwLCAyMjU1OCwgMjI1NjksIAotICAgIDIyNTc4LCAyMjU5MSwgMjI2MDEsIDIyNjE1LCAyMjYyNywgMjI2NDEsIDIyNjUzLCAyMjY2MywgMjI2NzUsIDIyNjgxLCAKLSAgICAyMjY5NiwgMjI3MjAsIDIyNzM4LCAyMjc1NywgMjI3NzAsIDIyNzg0LCAyMjgwMiwgMjI4MTgsIDIyODM1LCAyMjg1MywgCi0gICAgMjI4NjQsIDIyODgzLCAyMjkwMCwgMjI5MjAsIDIyOTM4LCAyMjk1MCwgMjI5NjQsIDIyOTc4LCAyMjk5MCwgMjMwMDcsIAotICAgIDIzMDI2LCAyMzA0NCwgMjMwNTYsIDIzMDc0LCAyMzA5MywgMTQ1NTksIDIzMTA2LCAyMzEyNiwgMjMxMzgsIDEwNTIzLCAKLSAgICAyMzE1MCwgMjMxNTUsIDIzMTYwLCAyMzE2NSwgMjMxNzEsIDIzMTc2LCAyMzE4MCwgMjMxODcsIDIzOTgsIDIzMTkxLCAKLSAgICAyMzE5NywgMjMyMDEsIDIzMjA0LCAyMzIwOCwgMjMyMTYsIDIzMjIyLCAyMjIxNSwgMjMyMjYsIDIzMjM1LCAyMzI0NiwgCi0gICAgMjMyNTIsIDIzMjU4LCAyMzI2NywgMjMyNzUsIDIzMjgyLCAyMzI4NywgMjMyOTEsIDIzMjk4LCAyMzMwNCwgMjMzMTMsIAotICAgIDIzMzIxLCAyMzMyOCwgMjMzMzgsIDIzMzQ3LCAyMzM1NywgMjMzNjIsIDIzMzcxLCAyMzM4MCwgMjMzOTEsIDIzNDAyLCAKLSAgICAzOTYzLCAyMzQxMiwgMjM0MTYsIDIzNDI2LCAyMzQzNCwgMjM0NDQsIDIzNDU1LCAyMzQ2MCwgMjM0NzAsIDIzNDc4LCAKLSAgICAyMzQ4NSwgMjM0OTEsIDIzNDk4LCAyMzUwMywgMjIyMjUsIDIzNTA3LCAyMzUxNiwgMjM1MjAsIDIzNTIzLCAyMzUyOCwgCi0gICAgMjM1MzUsIDIzNTQ0LCAyMzU1MiwgMjM1NjAsIDIzNTcwLCAyMzU3OSwgMjM1ODUsIDIzNTkxLCAyMjIzMCwgMjIyMzUsIAotICAgIDIzNTk1LCAyMzYwNSwgMjM2MTUsIDIzNjI1LCAyMzYzMywgMjM2NDAsIDIzNjUwLCAyMzY1OCwgMjM2NjYsIDIzNjcyLCAKLSAgICAyMzY4MCwgOTMwLCAyMzY4OSwgMTQ3NTAsIDU0MiwgMjM3MDMsIDIzNzEyLCAyMzcyMCwgMjM3MzEsIDIzNzQyLCAyMzc1MiwgCi0gICAgMjM3NjEsIDIzNzczLCAyMzc4MiwgMjM3OTEsIDIzNzk3LCAyMzgwNiwgMjM4MTUsIDIzODI1LCAyMzgzMywgMjM4NDEsIAotICAgIDkzNjAsIDIzODQ3LCAyMzg1MCwgMjM4NTQsIDIzODU5LCAyMzg2NCwgOTg0OCwgMjIyNDgsIDIyMjUzLCAyMzg3MiwgCi0gICAgMjM4NzgsIDIzODg0LCAyMzg4OSwgMjM4OTQsIDIzODk4LCAyMzkwNiwgMjM5MTIsIDIzOTE4LCAyMzkyMiwgMzUyNSwgCi0gICAgMjM5MzAsIDIzOTM1LCAyMzk0MCwgMjM5NDQsIDIzOTQ4LCA5OTI4LCAyMzk1NSwgMjM5NjMsIDIzOTc3LCAyMzk4NCwgCi0gICAgMjM5OTAsIDk5MzcsIDk5NDMsIDIzOTk4LCAyNDAwNiwgMjQwMTMsIDI0MDE4LCAyNDAyMywgMjIyNTgsIDI0MDI5LCAKLSAgICAyNDA0MCwgMjQwNDQsIDI0MDQ5LCAyNjAxLCAyNDA1NCwgMjQwNjUsIDI0MDcxLCAyNDA3NiwgMjQwODAsIDI0MDg0LCAKLSAgICAyNDA4NywgMjQwOTQsIDI0MTAxLCAyNDEwOCwgMjQxMTQsIDI0MTE4LCAyMjI2MywgMjQxMjMsIDI0MTI3LCAyNDEzMSwgCi0gICAgMTAzNywgMjQxMzYsIDI0MTQxLCAyNDE0NiwgMjQxNTEsIDI0MTU2LCAyNDE2MSwgMjQxNjYsIDI0MTcxLCAyNDE3NiwgCi0gICAgMjQxODEsIDI0MTg2LCAyNDE5MSwgMjQxOTYsIDI0MjAxLCAyNDIwNywgMjQyMTIsIDI0MjE3LCAyNDIyMiwgMjQyMjcsIAotICAgIDI0MjMyLCAyNDIzNywgMjQyNDMsIDI0MjQ4LCAyNDI1MywgMjQyNTgsIDI0MjYzLCAyNDI2OCwgMjQyNzMsIDI0Mjc4LCAKLSAgICAyNDI4NCwgMjQyOTAsIDI0Mjk1LCAyNDMwMSwgMjQzMDYsIDI0MzExLCA1LCAyNDMxNywgMjQzMjEsIDI0MzI1LCAyNDMyOSwgCi0gICAgMjQzMzQsIDI0MzM4LCAyNDM0MiwgMjQzNDYsIDI0MzUwLCAyNDM1NSwgMjQzNTksIDI0MzY0LCAyNDM2OCwgMjQzNzEsIAotICAgIDI0Mzc1LCAyNDM4MCwgMjQzODQsIDI0Mzg5LCAyNDM5MywgMjQzOTcsIDI0NDAxLCAyNDQwNiwgMjQ0MTAsIDI0NDE0LCAKLSAgICAyNDQyNCwgMjQ0MjksIDI0NDMzLCAyNDQzNywgMjQ0NDIsIDI0NDQ3LCAyNDQ1NiwgMjQ0NjEsIDI0NDY2LCAyNDQ3MCwgCi0gICAgMjQ0NzQsIDI0NDg3LCAyNDQ5OSwgMjQ1MDgsIDI0NTE3LCAyNDUyMywgMjQ1MjgsIDI0NTMyLCAyNDUzNiwgMjQ1NDYsIAotICAgIDI0NTU1LCAyNDU2MywgMjQ1NjksIDI0NTc0LCAyNDU3OCwgMjQ1ODUsIDI0NTk1LCAyNDYwNCwgMjQ2MTIsIDI0NjIwLCAKLSAgICAyNDYyNywgMjQ2MzUsIDI0NjQ0LCAyNDY1MywgMjQ2NjEsIDI0NjY2LCAyNDY3MCwgMjQ2NzQsIDI0Njc3LCAyNDY3OSwgCi0gICAgMjQ2ODMsIDI0Njg3LCAyNDY5MiwgMjQ2OTcsIDI0NzAxLCAyNDcwNSwgMjQ3MDgsIDI0NzEyLCAyNDcxNSwgMjQ3MTksIAotICAgIDI0NzIyLCAyNDcyNSwgMjQ3MjksIDI0NzM1LCAyNDczOSwgMjQ3NDMsIDI0NzQ3LCAyNDc1MiwgMjQ3NTcsIDI0NzYyLCAKLSAgICAyNDc2NiwgMjQ3NjksIDI0Nzc0LCAyNDc4MCwgMjQ3ODUsIDI0NzkxLCAyNDc5NiwgMjQ4MDAsIDI0ODA0LCAyNDgwOCwgCi0gICAgMjQ4MTMsIDI0ODE3LCAyNDgyMiwgMjQ4MjYsIDI0ODMwLCAyNDgzNywgMjQ4NDEsIDI0ODQ0LCAyNDg0OCwgMjQ4NTQsIAotICAgIDI0ODYwLCAyNDg2NCwgMjQ4NjgsIDI0ODczLCAyNDg4MCwgMjQ4ODYsIDI0ODkwLCAyNDg5OSwgMjQ5MDMsIDI0OTA3LCAKLSAgICAyNDkxMCwgMjQ5MTYsIDI0OTIxLCAyNDkyNywgMTQ4OSwgMTc5MSwgMjQ5MzIsIDI0OTM3LCAyNDk0MiwgMjQ5NDcsIAotICAgIDI0OTUyLCAyNDk1NywgMjQ5NjIsIDIxNDgsIDIxOTQsIDI0OTY3LCAyNDk3MCwgMjQ5NzQsIDI0OTc4LCAyNDk4MywgCi0gICAgMjQ5ODcsIDI0OTkxLCAyNDk5NCwgMjQ5OTksIDI1MDA0LCAyNTAwOCwgMjUwMTEsIDI1MDE2LCAyNTAyMCwgMjUwMjUsIAotICAgIDI1MDI5LCAxNDc2MiwgMjUwMzQsIDI1MDM3LCAyNTA0MCwgMjUwNDQsIDI1MDQ5LCAyNTA1MywgMjUwNjYsIDI1MDcwLCAKLSAgICAyNTA3MywgMjUwODEsIDI1MDkwLCAyNTA5NywgMjUxMDIsIDI1MTA4LCAyNTExNCwgMjUxMjIsIDI1MTI5LCAyNTEzNiwgCi0gICAgMjUxNDAsIDI1MTQ0LCAyNTE0OCwgMjUxNTMsIDI1MTU4LCAyNTE2MiwgMjUxNzAsIDI1MTc1LCAyNTE4NywgMjUxOTgsIAotICAgIDI1MjAzLCAyNTIwNywgMjUyMTEsIDI1MjE3LCAyNTIyMiwgMjUyMjcsIDI1MjMxLCAyNTIzNSwgMjUyMzgsIDI1MjQ0LCAKLSAgICA3OTE1LCAyMzE2LCAyNTI0OCwgMjUyNTMsIDI1MjY5LCA5NDc1LCAyNTI4OSwgMjUyOTgsIDI1MzE0LCAyNTMxOCwgMjUzMjEsIAotICAgIDI1MzI3LCAyNTMzNywgMjUzNDMsIDI1MzUyLCAyNTM2NywgMjUzNzksIDI1MzkwLCAyNTM5OCwgMjU0MDcsIDI1NDEzLCAKLSAgICAyNTQyMiwgMjU0MzIsIDI1NDQzLCAyNTQ1NCwgMjU0NjMsIDI1NDcwLCAyNTQ3OSwgMjU0ODcsIDI1NDk0LCAyNTUwMiwgCi0gICAgMjU1MDksIDI1NTE2LCAyNTUyOSwgMjU1MzYsIDI1NTQyLCAyNTU0NywgMjU1NTYsIDI1NTYyLCAyNTU2NywgMjU1NzUsIAotICAgIDI1NTgyLCAyMzQzNiwgMjU1OTQsIDI1NjA2LCAyNTYyMCwgMjU2MjgsIDI1NjM1LCAyNTY0NywgMjU2NTYsIDI1NjY1LCAKLSAgICAyNTY3MywgMjU2ODEsIDI1Njg5LCAyNTY5NiwgMjU3MDUsIDI1NzEzLCAyNTcyMywgMjU3MzIsIDI1NzQyLCAyNTc1MSwgCi0gICAgMjU3NjAsIDI1NzY4LCAyNTc3MywgMjU3NzcsIDI1NzgwLCAyNTc4NCwgMjU3ODgsIDI1NzkyLCAyNTc5NiwgMjU4MDAsIAotICAgIDI1ODA2LCAyNTgxMiwgMjU4MjAsIDE0ODA3LCAyNTgyNywgMjU4MzIsIDI1ODM5LCAyNTg0NSwgMjU4NTIsIDE0ODE1LCAKLSAgICAyNTg1OSwgMjU4NjIsIDI1ODc0LCAyNTg4MiwgMjU4ODgsIDI1ODkzLCAyNTg5NywgOTg3OCwgMjU5MDgsIDI1OTE4LCAKLSAgICAyNTkyNywgMjU5MzQsIDI1OTM4LCAxNDgyMCwgMjU5NDEsIDI1OTQ4LCAyNTk1MiwgMjU5NTgsIDI1OTYxLCAyNTk2OCwgCi0gICAgMjU5NzQsIDI1OTgxLCAyNTk4NywgMjU5OTEsIDI1OTk2LCAyNjAwMCwgMjYwMDksIDI2MDE2LCAyNjAyMiwgNzk1NiwgCi0gICAgMjYwMjksIDI2MDM3LCAyNjA0NCwgMjYwNTAsIDI2MDU1LCAyNjA2MSwgMjYwNjcsIDI2MDc1LCAyNjA3OSwgMjYwODIsIAotICAgIDI2MDg0LCAyNTc4NSwgMjYwOTMsIDI2MDk5LCAyNjEwOSwgMjYxMTQsIDI2MTIxLCAyNjEyNywgMjYxMzIsIDI2MTM3LCAKLSAgICAyNjE0MiwgMjYxNDYsIDI2MTUxLCAyNjE1OCwgMjYxNjcsIDI2MTcxLCAyNjE3OCwgMjYxODcsIDI2MTkzLCAyNjE5OCwgCi0gICAgMjYyMDQsIDI2MjA5LCAyNjIxNiwgMjYyMjcsIDI2MjMyLCAyNjIzNiwgMjYyNDYsIDI2MjUyLCAyNjI1NiwgMjYyNjEsIAotICAgIDI2MjcxLCAyNjI4MCwgMjYyODQsIDI2MjkxLCAyNjI5OSwgMjYzMDYsIDI2MzEyLCAyNjMxNywgMjYzMjUsIDI2MzMyLCAKLSAgICAyNjM0NCwgMjYzNTMsIDI2MzU3LCAxMzA1MywgMjYzNjUsIDI2Mzc1LCAyNjM3OSwgMjUwNzcsIDI2MzkwLCAyNjM5NSwgCi0gICAgMjYzOTksIDI2NDA2LCAyNjQxMywgMjE5NzQsIDI1NzEwLCAyNjQxOCwgMjY0MjIsIDI2NDI1LCAyMjg3MCwgMjY0MzAsIAotICAgIDI2NDQ0LCAyNjQ2MCwgMjY0NzgsIDI2NDk3LCAyNjUxNCwgMjY1MzIsIDIyODg5LCAyNjU0OSwgMjY1NjksIDIyOTA2LCAKLSAgICAyNjU4MSwgMjY1OTMsIDE1NzQ1LCAyNjYwNSwgMjI5MjYsIDI2NjE5LCAyNjYzMSwgMTA1MzYsIDI2NjQ1LCAyNjY1MCwgCi0gICAgMjY2NTUsIDI2NjYwLCAyNjY2NiwgMjY2NzIsIDI2Njc4LCAyNjY4MiwgMjY2ODksIDI2Njk0LCAyNjcwNCwgMjY3MTAsIAotICAgIDEwMTgzLCAyNjcxNiwgMjY3MTgsIDI2NzIzLCAyNjczMSwgMjY3MzUsIDI2MTU0LCAyNjc0MSwgMjY3NDgsIDExNTI0LCAKLSAgICAxMTUzNCwgMjY3NTUsIDI2NzY1LCAyNjc3MCwgMjY3NzQsIDI2Nzc3LCAyNjc4MywgMjY3OTEsIDI2ODAzLCAyNjgxMywgCi0gICAgMjY4MjksIDI2ODQyLCAyNjg1NiwgMTU3NjMsIDI2ODcwLCAyNjg3NywgMjY4ODEsIDI2ODg0LCAyNjg4OSwgMjY4OTMsIAotICAgIDI2OTAwLCAyNjkwNywgMjY5MTcsIDI2OTIyLCAyNjkyNywgMjY5MzIsIDI2OTQwLCAyNjk0OCwgMjY5NTcsIDI2OTYyLCAKLSAgICA5NTcyLCAyNjk2NiwgMjY5NjksIDI2OTcyLCAyNjk3NywgMjY5ODQsIDI2OTg5LCAyNzAwNSwgMjcwMTMsIDI3MDIxLCAKLSAgICA5NDIzLCAyNzAyOSwgMjcwMzQsIDI3MDM4LCAyNzA0NCwgMjcwNTAsIDI3MDUzLCAyNzA1OSwgMjcwNzEsIDI3MDc5LCAKLSAgICAyNzA4NiwgMjcwOTIsIDI3MDk5LCAyNzExMCwgMjcxMjQsIDI3MTM3LCAyNzE0NiwgMjcxNTUsIDI3MTY3LCAyNzE3OCwgCi0gICAgMjcxODgsIDI3MTk3LCAyNzIwNiwgMjcyMTQsIDI3MjI1LCA3OTM4LCAyNzIzMiwgMjcyMzgsIDI3MjQzLCAyNzI0OSwgCi0gICAgMjcyNTYsIDI3MjY2LCAyNzI3NiwgMjcyODUsIDI3MjkxLCAyNzI5OCwgMjczMDMsIDI3MzEwLCAyNzMxOCwgMjczMjYsIAotICAgIDI3MzM4LCA2MjQ2LCAyNzM0NSwgMjczNTQsIDI3MzYyLCAyNzM2OCwgMjczNzQsIDI3Mzc5LCAyNzM4MywgMjczODYsIAotICAgIDI3MzkyLCAyNzM5OSwgMjc0MDQsIDI3NDA5LCAyNzQxMywgMjc0MjUsIDI3NDM2LCAyNzQ0NSwgMjc0NTMsIDE0OTQ3LCAKLSAgICAyNzQ1OCwgMjc0NjQsIDI3NDcwLCAxMTUxNywgODYzNSwgMjc0NzUsIDI3NDc5LCAyNzQ4MywgMjc0ODYsIDI3NDg5LCAKLSAgICAyNzQ5NSwgMjc1MDMsIDI3NTExLCAyNzUxNSwgMjc1MTksIDI3NTI0LCAyNzUyNywgMjc1MzYsIDI3NTQwLCAyNzU0OCwgCi0gICAgMjc1NTksIDI3NTYzLCAyNzU2OSwgMjc1NzUsIDI3NTc5LCAyNzU4NSwgMjc1OTMsIDI3NjE1LCAyNzYzOSwgMjc2NDYsIAotICAgIDI3NjUzLCAyNzY1OSwgMjc2NjcsIDI3NjczLCAyNzY3OCwgMjc2ODksIDI3NzA3LCAyNzcxNCwgMjc3MjIsIDI3NzI2LCAKLSAgICAyNzczNSwgMjc3NDgsIDI3NzU2LCAyNzc2OCwgMjc3NzksIDI3Nzg5LCAyNzgwMywgMjc4MTIsIDI3ODIwLCAyNzgzMiwgCi0gICAgOTQ5MiwgMjc4NDMsIDI3ODU0LCAyNzg2NiwgMjc4NzYsIDI3ODg1LCAyNzg5MCwgMjc4OTQsIDI3OTAyLCAyNzkxMiwgCi0gICAgMjc5MTcsIDI3OTIxLCAyNzkyNCwgMjc5MjcsIDI3OTM1LCAyNzk0MywgMjc5NTIsIDI3OTYyLCAyNzk3MSwgMjc5NzcsIAotICAgIDI3OTkxLCAyNjYzLCAyODAxMywgMjgwMjQsIDI4MDMzLCAyODA0MywgMjgwNTUsIDI4MDY0LCAyODA3MywgMjgwODMsIAotICAgIDI4MDkxLCAyODA5OSwgMjgxMDgsIDI4MTEzLCAyODEyNCwgMjgxMjksIDI4MTQwLCAyODE0NCwgMjgxNTQsIDI4MTYzLCAKLSAgICAyODE3MSwgMjgxODEsIDI4MTkxLCAyODE5OSwgMjgyMDgsIDI4MjE1LCAyODIyMywgMjgyMzAsIDI4MjM5LCAyODI0MywgCi0gICAgMjgyNTEsIDI4MjU4LCAyODI2NiwgMjgyNzMsIDI4Mjg0LCAyODI5OSwgMjgzMDYsIDI4MzEyLCAyODMyMiwgMjgzMzEsIAotICAgIDI4MzM3LCAyODM0MSwgMjgzNDgsIDI4MzUyLCAxNDAzMSwgMjgzNTgsIDI4MzYyLCAyODM2NywgMjgzNzQsIDI4Mzc4LCAKLSAgICAyODM4MiwgMjgzOTAsIDI4Mzk4LCAyODQwNCwgMjg0MTMsIDI4NDIwLCAyODQyNSwgMjg0MzAsIDI4NDQwLCAyMzUwNSwgCi0gICAgMjg0NDQsIDI4NDQ3LCAyODQ1MiwgMjg0NTcsIDI4NDYyLCAyODQ2NywgMjg0NzIsIDI4NDc3LCAyODQ4MiwgMjg0ODcsIAotICAgIDI4NDkzLCAyODQ5OCwgMjg1MDMsIDI4NTA5LCAxMjE4LCA3MDQsIDI4NTE0LCAyODUyMywgMjM2NCwgMjg1MzAsIDI4NTM1LCAKLSAgICAyODUzOSwgMjg1NDUsIDEyNjcsIDU0NiwgMzE4LCAyODU1MCwgMjg1NTksIDI4NTY3LCAyODU3NiwgMjg1ODQsIDI4NTk1LCAKLSAgICAyODYwNCwgMjg2MTIsIDI4NjE2LCAyODYxOSwgMjg2MjcsIDI4NjM1LCAyODY0MCwgMTQ3NzUsIDI4NjQ2LCAyODY1MiwgCi0gICAgMjg2NTgsIDU4NzIsIDI4NjYzLCAyODY2NywgMjg2NzMsIDI4Njc3LCAyODY4NCwgMTQ1NSwgMjg2OTAsIDI4Njk3LCA5NTc5LCAKLSAgICAyODcwMSwgMjg3MTEsIDI4NzE5LCAyODcyNSwgMjg3MzQsIDI4NzQyLCAyODc0OCwgMjg3NTYsIDI4NzYzLCAxMTExMCwgCi0gICAgMjg3NjksIDI4Nzc2LCAyODc4MSwgMjg3ODgsIDE0OTYsIDIxNDcsIDI4Nzk0LCAyODgwMCwgMjg4MDcsIDI4ODE4LCAKLSAgICAyODgyOSwgMjg4MzcsIDI4ODQ0LCAyODg1NCwgMjg4NjMsIDI4ODcxLCAyODg4MCwgMjg4ODcsIDI4ODk0LCAyODkwNywgCi0gICAgMjg5MTgsIDEyNzIsIDI4OTM3LCAyODk0MiwgMjg5NTAsIDM1NzUsIDI4OTU0LCAyODk1OSwgMjg5NjMsIDE0NTksIDI0NzA2LCAKLSAgICAyODk3MywgMjg5NzcsIDI4OTgyLCAyODk4NiwgMzQ5MywgMjg5OTIsIDI5MDAwLCAyOTAwNywgMjkwMTgsIDI5MDI2LCAKLSAgICAyOTAzNCwgMzU3NiwgMjc5LCAyOTAzOSwgMjkwNDcsIDI5MDU1LCAyOTA2MiwgMjkwNjgsIDI5MDczLCAyMjE2LCAyOTA4MCwgCi0gICAgMjkwODYsIDI1OTkyLCAyNjIyMiwgMjkwOTIsIDEwNiwgMjkwOTYsIDI5MTAwLCAyOTEwNiwgNjE1LCA5MzI4LCAyOTExMSwgCi0gICAgMjkxMTgsIDI5MTI0LCAyMzI3LCAyOTEyOCwgMjkxMzIsIDE1MTg3LCAyOTEzNSwgMjkxNDAsIDI5MTQ3LCAyOTE1MywgCi0gICAgMjkxNTgsIDI5MTY2LCAyOTE3MywgMjkxNzksIDIyMzUxLCAyOTE4MywgMjkxODcsIDM2NDYsIDE2NjI1LCAyOTE5MSwgCi0gICAgMjkxOTYsIDI5MTk5LCAyOTIwNywgMjkyMTUsIDI5MjIwLCAyOTIyMywgMjkyMzAsIDI5MjQwLCAyOTI1MiwgMjkyNTcsIAotICAgIDI5MjYxLCAyOTI2OSwgMjkyNzYsIDI5MjgyLCAyOTI4OSwgMjkyOTYsIDI5Mjk5LCAyOTMwMywgMjkzMDcsIDE0NjMsIAotICAgIDI5MzE3LCAyOTMxOSwgMjkzMjQsIDI5MzMwLCAyOTMzNiwgMjkzNDEsIDI5MzQ2LCAyOTM1MSwgMjkzNTYsIDI5MzYxLCAKLSAgICAyOTM2NiwgMjkzNzEsIDI5Mzc2LCAyOTM4MSwgMjkzODYsIDI5MzkxLCAyOTM5NiwgMjk0MDEsIDI5NDA2LCAyOTQxMiwgCi0gICAgMjk0MTgsIDI5NDI0LCAyOTQzMCwgMjk0MzUsIDI5NDQwLCAyOTQ0NSwgMjk0NTEsIDI5NDU2LCAyOTQ2MSwgMjk0NjYsIAotICAgIDI5NDcyLCAyOTQ3NywgMjk0ODMsIDI5NDg4LCAyOTQ5MywgMjk0OTgsIDI5NTAzLCAyOTUwOSwgMjk1MTQsIDI5NTIwLCAKLSAgICAyOTUyNSwgMjk1MzAsIDI5NTM1LCAyOTU0MCwgMjk1NDYsIDI5NTUxLCAyOTU1NywgMjk1NjIsIDI5NTY3LCAyOTU3MiwgCi0gICAgMjk1NzcsIDI5NTgyLCAyOTU4NywgMjk1OTIsIDI5NTk3LCAyOTYwMiwgMjk2MDgsIDI5NjE0LCAyOTYyMCwgMjk2MjUsIAotICAgIDI5NjMwLCAyOTYzNSwgMjk2NDAsIDI5NjQ2LCAyOTY1MiwgMjk2NTgsIDI5NjY0LCAyOTY3MCwgMjk2NzYsIDI5NjgxLCAKLSAgICAyOTY4NywgMjk2OTIsIDI5Njk3LCAyOTcwMiwgMjk3MDcsIDI5NzEzLCAyNDQzLCAyOTcxOCwgMjQ1MCwgMjQ1NywgMjc1NCwgCi0gICAgMjk3MjMsIDI0NjMsIDI0NzMsIDI5NzI5LCAyOTczMywgMjk3MzgsIDI5NzQzLCAyOTc0OSwgMjk3NTQsIDI5NzU5LCAKLSAgICAyOTc2MywgMjk3NjgsIDI5Nzc0LCAyOTc3OSwgMjk3ODQsIDI5Nzg5LCAyOTc5NSwgMjk4MDAsIDI5ODA0LCAyOTgwOCwgCi0gICAgMjk4MTMsIDI5ODE4LCAyOTgyMywgMjk4MjgsIDI5ODMzLCAyOTgzOSwgMjk4NDUsIDI5ODUwLCAyOTg1NCwgMjk4NTksIAotICAgIDI5ODY1LCAyOTg2OSwgMjk4NzQsIDI5ODc5LCAyOTg4NCwgMjk4ODksIDI5ODkzLCAyOTg5NiwgMjk5MDEsIDI5OTA2LCAKLSAgICAyOTkxMSwgMjk5MTYsIDI5OTIxLCAyOTkyNywgMjk5MzMsIDI5OTM4LCAyOTk0MywgMjk5NDcsIDI5OTUyLCAyOTk1NywgCi0gICAgMjk5NjIsIDI5OTY3LCAyOTk3MiwgMjk5NzYsIDI5OTgxLCAyOTk4NiwgMjk5OTEsIDI5OTk1LCAyOTk5OSwgMzAwMDMsIAotICAgIDMwMDA4LCAzMDAxNiwgMzAwMjEsIDMwMDI3LCAzMDAzMywgMzAwMzksIDMwMDQ0LCAzMDA0OCwgMzAwNTEsIDMwMDU2LCAKLSAgICAzMDA2MSwgMzAwNjUsIDMwMDcwLCAzMDA3NCwgMzAwNzksIDMwMDgzLCAzMDA4NiwgMzAwOTEsIDE3MzAyLCAzMDA5NiwgCi0gICAgMzAxMDEsIDMwMTA2LCAzMDExNCwgMjEyODAsIDI4Njk0LCA5MDI2LCAzMDExOSwgMzAxMjQsIDMwMTI4LCAzMDEzMywgCi0gICAgMzAxMzcsIDMwMTQxLCAzMDE0NiwgMzAxNTAsIDMwMTUzLCAzMDE1NiwgMzAxNjAsIDMwMTY1LCAzMDE2OSwgMzAxNzcsIAotICAgIDMwMTgxLCAzMDE4NCwgMzAxODksIDMwMTkzLCAzMDE5NywgMzAyMDIsIDMwMjA3LCAzMDIxMSwgMzAyMTcsIDMwMjIyLCAKLSAgICAzMDIyNywgMzAyMzQsIDMwMjQxLCAzMDI0NSwgMzAyNDgsIDMwMjU0LCAzMDI2MywgMzAyNzAsIDMwMjc4LCAzMDI4NSwgCi0gICAgMzAyODksIDMwMjk0LCAzMDI5OCwgMzAzMDIsIDMwMzA4LCAzMDMxNCwgMzAzMTgsIDMwMzI0LCAzMDMyOSwgMzAzMzQsIAotICAgIDMwMzM4LCAzMDM0NSwgMzAzNTEsIDMwMzU3LCAzMDM2MywgMzAzNjksIDMwMzc2LCAzMDM4MiwgMzAzODgsIDMwMzk0LCAKLSAgICAzMDQwMCwgMzA0MDYsIDMwNDEyLCAzMDQxOCwgMzA0MjUsIDMwNDMxLCAzMDQzOCwgMzA0NDQsIDMwNDUwLCAzMDQ1NiwgCi0gICAgMzA0NjIsIDMwNDY4LCAzMDQ3NCwgMzA0ODAsIDMwNDg2LCAzMDQ5MiwgMTE0MTgsIDMwNDk4LCAzMDUwMywgMzA1MDgsIAotICAgIDMwNTExLCAzMDUxOSwgMzA1MjQsIDMwNTMzLCAzMDUzOSwgMzA1NDQsIDMwNTQ5LCAzMDU1NCwgMzA1NTgsIDMwNTYzLCAKLSAgICAzMDU2OCwgMzA1NzMsIDMwNTc4LCAzMDU4MywgMzA1OTAsIDMwNTk3LCAzMDYwMywgMzA2MDksIDMwNjE0LCAxNjMwMywgCi0gICAgMzA2MjEsIDMwNjI3LCAzMDYzNCwgMzA2NDAsIDMwNjQ2LCAzMDY1MSwgMzA2NTksIDMwNjY0LCAxNjA4MiwgMzA2NjgsIAotICAgIDMwNjczLCAzMDY3OCwgMzA2ODQsIDMwNjg5LCAzMDY5NCwgMzA2OTgsIDMwNzAzLCAzMDcwOCwgMzA3MTQsIDMwNzE5LCAKLSAgICAzMDcyNCwgMzA3MjgsIDMwNzMzLCAzMDczOCwgMzA3NDIsIDMwNzQ3LCAzMDc1MiwgMzA3NTcsIDMwNzYxLCAzMDc2NiwgCi0gICAgMzA3NzEsIDMwNzc2LCAzMDc4MCwgMzA3ODQsIDE1MjkzLCAzMDc4OCwgMzA3OTcsIDMwODAzLCAzMDgwOSwgMzA4MTgsIAotICAgIDMwODI2LCAzMDgzNSwgMzA4NDMsIDMwODQ4LCAzMDg1MiwgMzA4NTksIDMwODY1LCAzMDg2OSwgMzA4NzIsIDMwODc3LCAKLSAgICAzMDg4NiwgMzA4OTQsIDMwODk5LCAxNDk1LCAzMDkwNSwgMzA5MDgsIDMwOTEyLCAyMjQyNCwgMjI0MzAsIDMwOTE4LCAKLSAgICAzMDkyMiwgMzA5MzMsIDMwOTQ0LCAzMDk1NSwgMzA5NjcsIDMwOTc0LCAzMDk4MSwgMzA5ODYsIDMwOTkwLCA1OTA5LCA3NTUsIAotICAgIDIxMjc5LCAzMDk5OCwgMzEwMDMsIDMxMDA3LCAzMTAxMiwgMzEwMTYsIDMxMDIyLCAzMTAyNywgMzEwMzMsIDMxMDM4LCAKLSAgICAzMTA0NCwgMzEwNDksIDMxMDU1LCAzMTA2MCwgMzEwNjYsIDMxMDcyLCAzMTA3OCwgMzEwODMsIDMxMDM5LCAzMTA0NSwgCi0gICAgMzEwODcsIDMxMDkyLCAzMTA5OCwgMzExMDMsIDMxMTA5LCAzMTExNCwgMzExMjAsIDMxMTI1LCAzMTA1MCwgMTA0MjEsIAotICAgIDMxMTI5LCAzMTA2MSwgMzEwNjcsIDMxMDczLCAyODMxLCAzNDIzLCAzMTEzNSwgMzExMzgsIDMxMTQ0LCAzMTE1MCwgCi0gICAgMzExNTYsIDMxMTYzLCAzMTE2OSwgMzExNzUsIDMxMTgxLCAzMTE4NywgMzExOTMsIDMxMTk5LCAzMTIwNSwgMzEyMTEsIAotICAgIDMxMjE3LCAzMTIyMywgMzEyMjksIDMxMjM1LCAzMTI0MiwgMzEyNDgsIDMxMjU0LCAzMTI2MCwgMzEyNjYsIDMxMjcyLCAKLSAgICAzMTI3NSwgMzEyODAsIDMxMjgzLCAzMTI5MCwgMzEyOTgsIDMxMzAzLCAzMTMwOCwgMzEzMTQsIDMxMzE5LCAzMTMyNCwgCi0gICAgMzEzMjgsIDMxMzMzLCAzMTMzOSwgMzEzNDQsIDMxMzUwLCAzMTM1NSwgMzEzNjEsIDMxMzY2LCAzMTM3MiwgMzEzNzgsIAotICAgIDMxMzgyLCAzMTM4NywgMzEzOTIsIDMxMzk3LCAzMTQwMiwgMzE0MDYsIDMxNDExLCAzMTQxNiwgMzE0MjEsIDMxNDI3LCAKLSAgICAzMTQzMywgMzE0MzksIDMxNDQ1LCAzMTQ1MCwgMzE0NTQsIDMxNDU3LCAzMTQ2MywgMzE0NjksIDMxNDc4LCAzMTQ4NiwgCi0gICAgMzE0OTMsIDMxNDk4LCAzMTUwMiwgMzE1MDYsIDMxNTExLCAxNTE0NiwgMzE1MTYsIDMxNTI0LCAzMTUzMCwgMzY4MywgCi0gICAgMTM3NywgMzE1MzUsIDMxNTM5LCA4MDA1LCAzMTU0NSwgMzE1NTEsIDMxNTU4LCA4MDE0LCAzMTU2MiwgMzE1NjgsIDMxNTc1LCAKLSAgICAzMTU4MSwgMzE1OTAsIDMxNTk4LCAzMTYxMCwgMzE2MTQsIDMxNjIxLCAzMTYyNywgMzE2MzEsIDMxNjM0LCAzMTY0MywgCi0gICAgMzE2NTEsIDMxMDQwLCAzMTY1NiwgMzE2NjYsIDMxNjc2LCAzMTY4NiwgMzE2OTIsIDMxNjk3LCAzMTcwNywgMzE3MTIsIAotICAgIDMxNzI1LCAzMTczOSwgMzE3NTAsIDMxNzYyLCAzMTc3NCwgMzE3ODgsIDMxODAxLCAzMTgxMywgMzE4MjUsIDE0NjAwLCAKLSAgICAzMTgzOSwgMzE4NDQsIDMxODQ5LCAzMTg1MywgMzE4NTcsIDMxODYxLCAxNzgwLCAyNzE3NiwgMzE4NjUsIDMxODcwLCAKLSAgICAzMTA4OCwgMzE4NzUsIDMxODc4LCAzMTg4MywgMzE4ODgsIDMxODkzLCAzMTg5OSwgMzE5MDUsIDEwMDk4LCAzMTkxMCwgCi0gICAgMzE5MTcsIDE1Njk3LCAzMTkyMywgMzE5MjgsIDMxOTMzLCAzMTkzNywgMzE5NDIsIDMxOTQ3LCAzMTA5MywgMzE5NTIsIAotICAgIDMxOTU3LCAzMTk2MiwgMzE5NjgsIDMxMDk5LCAzMTk3MywgMzE5NzYsIDMxOTgzLCAzMTk5MSwgMzE5OTcsIDMyMDAzLCAKLSAgICAzMjAwOSwgMzIwMjAsIDMyMDI1LCAzMjAzMiwgMzIwMzksIDMyMDQ2LCAzMjA1NCwgMzIwNjMsIDMyMDcyLCAzMjA3OCwgCi0gICAgMzIwODQsIDMyMDkyLCAzMTEwNCwgMzIwOTcsIDMyMTAzLCAzMjEwOSwgMzExMTAsIDMyMTE0LCAzMjExOSwgMzIxMjcsIAotICAgIDMyMTM1LCAzMjE0MSwgMzIxNDgsIDMyMTU0LCAzMjE2MSwgMzIxNjgsIDMyMTc0LCAzMjE4MiwgMzIxOTIsIDMyMTk5LCAKLSAgICAzMjIwNCwgMzIyMTAsIDMyMjE1LCAzMjIyMCwgMzIyMjcsIDMyMjM2LCAzMjI0NCwgMzIyNDksIDMyMjU1LCAzMjI2MiwgCi0gICAgMzIyNzAsIDMyMjc2LCAzMjI4MSwgMzIyODcsIDMyMjk2LCAyNzk1NywgMzIzMDMsIDMyMzA3LCAzMjMxMiwgMzIzMjEsIAotICAgIDMyMzI2LCAzMjMzMSwgMzIzMzYsIDEyNDA1LCAzMjM0NCwgMzIzNDksIDMyMzU0LCAzMjM1OSwgMzIzNjMsIDMyMzY4LCAKLSAgICAzMjM3MywgMzIzODAsIDMyMzg1LCAzMjM5MCwgMzIzOTUsIDMxMTE1LCAyMTIxNiwgMzI0MDEsIDI1MTksIDI0NCwgMzI0MDQsIAotICAgIDMyNDA3LCAzMjQxMSwgMzI0MTUsIDMyNDI1LCAzMjQzMywgMzI0MzcsIDMyNDQ0LCAzMjQ1MSwgMzI0NTUsIDMyNDU4LCAKLSAgICAzMjQ2NCwgMzI0NzIsIDMyNDgwLCAzMjQ4NCwgMzI0ODgsIDMyNDkxLCAzMjQ5OCwgMzI1MDIsIDMyNTA2LCAzMjUxMywgCi0gICAgMzI1MjEsIDMxMDUxLCAzMjUyOCwgMzI1MzYsIDEwMTU4LCA2NjQsIDMwOCwgMzI1NDgsIDMyNTUzLCAzMjU1OCwgMzI1NjQsIAotICAgIDMyNTY5LCAzMjU3NCwgMzcwNCwgMzI1NzksIDMyNTgyLCAzMjU4NywgMzI1OTIsIDMyNTk3LCAzMjYwMiwgMzI2MDcsIAotICAgIDMyNjE0LCAyMjUyOSwgMzI2MTksIDMyNjI0LCAzMjYyOSwgMzI2MzQsIDMyNjM5LCAzMjY0NSwgMzI2NTAsIDMyNjU2LCAKLSAgICAzMTI4NiwgMzI2NjIsIDMyNjY3LCAzMjY3MywgMzI2NzksIDMyNjg5LCAzMjY5NCwgMzI2OTksIDMyNzAzLCAzMjcwOCwgCi0gICAgMzI3MTMsIDMyNzE4LCAzMjcyMywgMzI3MzYsIDMyNzQxLCAyMjMwMiwgMTY3MDUsIDM3MTAsIDMyNzQ1LCAzMjc1MCwgCi0gICAgMzI3NTUsIDMyNzYxLCAzMjc2NiwgMzI3NzEsIDMyNzc1LCAzMjc4MCwgMzI3ODUsIDMyNzkxLCAzMjc5NiwgMzI4MDEsIAotICAgIDEzODIsIDMyODA1LCAzMjgxMCwgMzI4MTUsIDMyODIwLCAzMjgyNCwgMzI4MjksIDMyODM0LCAzMjgzOSwgMzI4NDUsIAotICAgIDMyODUxLCAzMjg1NiwgMzI4NjAsIDMyODY0LCAzMjg2OSwgMzI4NzQsIDMyODc5LCAzMjg4MywgMzI4OTEsIDMyODk1LCAKLSAgICAzMjkwMSwgMzI5MDUsIDMyOTEyLCAxNjQ5OCwgMzEwNjIsIDMyOTE4LCAzMjkyNSwgMzI5MzMsIDMyOTQwLCAzMjk0NiwgCi0gICAgMzI5NTksIDMyOTcxLCAzMjk3NywgMzI5ODEsIDI3NzMsIDMyOTg1LCAzMjk4OSwgMzI0OTMsIDMyOTk4LCAzMzAwOSwgCi0gICAgMzMwMTQsIDMzMDE5LCAzMzAyNCwgMzMwMjgsIDMzMDMzLCAyMjQzNSwgMzMwMzcsIDMzMDQxLCAzMzA0NiwgMzEwNjgsIAotICAgIDIxMzAwLCAzMzA1MCwgMzMwNTUsIDMzMDYxLCAzMzA2NiwgMzMwNzAsIDMzMDc0LCAzMzA3NywgMzMwODEsIDMzMDg3LCAKLSAgICAzMzA5OCwgMzMxMTAsIDMxMDc0LCAzMzExNSwgMzMxMTgsIDMzMTIyLCAzNDcsIDMzMTI3LCAzMzEzMiwgMzMxMzcsIAotICAgIDMzMTQyLCAzMzE0NywgMzMxNTIsIDMzMTU4LCAzMzE2MywgMzMxNjgsIDMzMTc0LCAzMzE3OSwgMzMxODUsIDMzMTkwLCAKLSAgICAzMzE5NiwgMzMyMDEsIDMzMjA2LCAzMzIxMSwgMzMyMTYsIDMzMjIxLCAzMzIyNiwgMzMyMzEsIDMzMjM2LCAzMzI0MiwgCi0gICAgMzMyNDcsIDMzMjUyLCAzMzI1NywgMzMyNjIsIDMzMjY3LCAzMzI3MiwgMzMyNzcsIDMzMjgzLCAzMzI4OSwgMzMyOTQsIAotICAgIDMzMjk5LCAzMzMwNCwgMzMzMDksIDMzMzE0LCAzMzMxOSwgMzMzMjQsIDMzMzI5LCAzMzMzNCwgMzMzMzksIDMzMzQ0LCAKLSAgICAzMzM0OSwgMzMzNTQsIDMzMzU5LCAzMzM2NCwgMzMzNjksIDMzMzc0LCAzMzM3OSwgMzMzODUsIDMxMywgMjYsIDMzMzkwLCAKLSAgICAzMzM5NCwgMzMzOTgsIDMzNDA2LCAzMzQxMCwgMzM0MTQsIDMzNDE3LCAzMzQyMCwgMzM0MjIsIDMzNDI3LCAzMzQzMSwgCi0gICAgMzM0MzYsIDMzNDQwLCAzMzQ0NSwgMzM0NDksIDMzNDU0LCAzMzQ1OCwgMzM0NjEsIDMzNDYzLCAzMzQ2NywgMzM0NzIsIAotICAgIDMzNDc2LCAzMzQ4NywgMzM0OTAsIDMzNDkyLCAzMzQ5NiwgMzM1MDgsIDMzNTE3LCAzMzUyMSwgMzM1MjUsIDMzNTMxLCAKLSAgICAzMzUzNiwgMzM1NDUsIDMzNTUxLCAzMzU1NiwgMzM1NjEsIDMzNTY1LCAzMzU3MCwgMzM1NzcsIDMzNTgyLCAzMzU4OCwgCi0gICAgMzM1OTMsIDMzNTk3LCAzMzYwNCwgMjU3MTgsIDI1NzI4LCAzMzYwOCwgMzM2MTMsIDMzNjE4LCAzMzYyMywgMzM2MzAsIAotICAgIDMzNjM0LCAzMzY0MSwgODExMywgMzM2NDcsIDMzNjU2LCAzMzY2NCwgMzM2NzksIDMzNjkzLCAzMzcwMSwgMzM3MTIsIAotICAgIDMzNzIxLCAzMzcyNiwgNzIyNywgMzM3MzYsIDMzNzQxLCAzMzc0NiwgMzM3NTAsIDMzNzUzLCAzMzc1NywgMzM3NjIsIAotICAgIDMzNzY2LCAzMzc3MywgMzM3NzgsIDMzNzgzLCA4OTEyLCAzMzc5MywgMzM3OTUsIDMzNzk4LCAzMzgwMiwgMzM4MDgsIAotICAgIDMzODEyLCAzMzgxNywgMzM4MjIsIDMzODI4LCAzMzgzMywgMzM4MzksIDMzODQ0LCAzMzg1NCwgMzM4NjMsIDMzODcxLCAKLSAgICAzMzg3NiwgMzM4ODIsIDMzODg3LCAzMzg5NCwgMzM4OTgsIDMzOTA2LCAzMzkxMywgMzM5MjYsIDMzOTM0LCAzMzkzOCwgCi0gICAgMzM5NDgsIDMzOTUzLCAzMzk1NywgMzM5NjUsIDMzOTczLCAzMzk3NywgMzM5ODYsIDMzOTkyLCAzMzk5NywgMzQwMDUsIAotICAgIDM0MDE1LCAzNDAyNCwgMzQwMzMsIDM0MDQyLCAzNDA1MywgMzQwNjEsIDM0MDcyLCAzNDA4MSwgMzQwODgsIDM0MDk0LCAKLSAgICAzNDA5OSwgMzQxMTAsIDM0MTE1LCAzNDExOSwgMzQxMjIsIDM0MTI2LCAzNDEzNCwgMzQxNDAsIDM0MTQ4LCAzNDE1NSwgCi0gICAgMzQxNjEsIDM0MTY2LCAzNDE3MiwgMjQxOCwgMzQxNzYsIDM0MTc4LCAzNDE4MywgMzQxODgsIDM0MTkzLCAzNDE5NiwgCi0gICAgMzQxOTgsIDM0MjAyLCAzNDIwNSwgMzQyMTIsIDM0MjE2LCA5ODkxLCAzNDIyMCwgMzQyMjYsIDM0MjM2LCAzNDI0MSwgCi0gICAgMzQyNDcsIDM0MjUxLCAzNDI1NiwgMzQyNjksIDI2MTA0LCAzNDI3NSwgMzQyODQsIDE3NDc1LCAzNDI5MSwgMzQzMDAsIAotICAgIDMxNjcyLCAzNDMwOCwgMzQzMTMsIDM0MzE3LCAzNDMyNSwgMzQzMzIsIDM0MzM3LCAzNDM0MSwgMzQzNDYsIDM0MzUwLCAKLSAgICAzNDM1OCwgMzQzNjQsIDM0MzcwLCAzNDM3NSwgMzQzNzksIDM0MzgyLCAzNDM4NywgMzQ0MDAsIDM0NDE2LCAyMjk5NiwgCi0gICAgMzQ0MzMsIDM0NDQ1LCAzNDQ2MiwgMzQ0NzQsIDM0NDg4LCAyMzAxMywgMjMwMzIsIDM0NTAwLCAzNDUxMiwgMjY4MCwgCi0gICAgMzQ1MjYsIDM0NTMxLCAzNDUzNiwgMzQ1NDEsIDM0NTQ1LCAzNDU1MiwgMzQ1NjQsIDM0NTcwLCAzNDU3MywgMzQ1ODQsIAotICAgIDM0NTk1LCAzNDYwMCwgMzIwODksIDY5NSwgMzQ2MDQsIDM0NjA4LCAzNDYxMiwgMzQ2MTUsIDM0NjIwLCAzNDYyNSwgCi0gICAgMzQ2MzEsIDM0NjM2LCAzNDY0MSwgMzQ2NDcsIDM0NjUzLCAzNDY1OCwgMzQ2NjIsIDM0NjY3LCAzNDY3MiwgMzQ2NzcsIAotICAgIDM0NjgxLCAzNDY4NCwgMzQ2OTAsIDM0Njk1LCAzNDcwMCwgMzQ3MDUsIDM0NzA5LCAzNDcxNCwgMzQ3MjAsIDM0NzI4LCAKLSAgICAyNjMzNywgMzQ3MzMsIDM0NzM4LCAzNDc0NSwgMzQ3NTEsIDM0NzU3LCAzNDc2MiwgMzQ3NzAsIDIyNTM4LCAzNDc3NywgCi0gICAgMzQ3ODIsIDM0Nzg3LCAzNDc5MiwgMzQ3OTYsIDM0Nzk5LCAzNDgwNCwgMzQ4MDgsIDM0ODEyLCAzNDgxOSwgMzQ4MjUsIAotICAgIDM0ODMxLCAzNDgzNywgMzQ4NDQsIDM0ODQ5LCAzNDg1NSwgMzM5NjgsIDM0ODU5LCAzNDg2MywgMzQ4NjgsIDM0ODgxLCAKLSAgICAzNDg4NiwgMzQ4OTIsIDM0OTAwLCAzNDkwNywgMzQ5MTUsIDM0OTI1LCAzNDkzMSwgMzQ5MzcsIDM0OTQzLCAzNDk0NywgCi0gICAgMzQ5NTYsIDM0OTY0LCAzNDk3MSwgMzQ5NzYsIDM0OTgxLCAxMDQ0NCwgMzQ5ODYsIDM0OTk0LCAzNTAwMSwgMzUwMDcsIAotICAgIDM1MDE3LCAzNTAyMiwgMzUwMjgsIDM1MDM2LCAzNjA4LCAzNTA0MywgMzUwNTAsIDM2MTQsIDM1MDU0LCAzNTA1OSwgCi0gICAgMzUwNzAsIDM1MDc3LCAzNTA4MywgMzUwOTIsIDM1MDk2LCA0MDE1LCAzNTA5OSwgMzUxMDYsIDM1MTEyLCAzNTExOCwgCi0gICAgMzUxMjYsIDM1MTM2LCAyOTA2MywgMzUxNDMsIDM1MTUxLCAzNTE1NiwgMzUxNjIsIDM1MTY3LCAyNTk2NCwgMzUxNzMsIAotICAgIDM1MTgwLCAzNTE4NiwgMzUxOTUsIDIzNjc3LCAzNTIwMiwgMzUyMDcsIDM1MjExLCAzNTIxOSwgMzUyMjcsIDk2MDcsIAotICAgIDU4OTUsIDM1MjM0LCAzNTIzOCwgMzUyNDAsIDM1MjQ0LCAzNTI0OSwgMzUyNTEsIDM1MjU3LCAzNTI2MiwgMzUyNjcsIAotICAgIDM1Mjc0LCAzMjYxMCwgMzUyODAsIDM1Mjg1LCAzNTI4OSwgMzUyOTQsIDM1Mjk4LCAzNTMwNywgMzUzMTEsIDM1MzE3LCAKLSAgICAzNTMyNCwgMzUzMzAsIDM1MzM3LCAzNTM0MiwgMzUzNTEsIDM1MzU2LCAzNTM2MCwgMzUzNjUsIDM1MzcyLCAzNTM4MCwgCi0gICAgMzUzODgsIDM1MzkzLCAyMTM1NiwgMzUzOTcsIDM1NDAwLCAzNTQwNCwgMzU0MDgsIDM1NDEyLCAzNTQxNSwgMzU0MTcsIAotICAgIDM1NDI1LCAzNTQyOSwgMzU0MzYsIDM1NDQwLCAzNTQ0NCwgMzU0NTIsIDM1NDU5LCAzNTQ2OSwgMzU0NzMsIDM1NDc3LCAKLSAgICAzNTQ4NSwgMzU0OTMsIDM1NDk5LCAzNTUwNCwgMzU1MTMsIDEzMzU3LCAzNTUxOSwgMzU1MjgsIDM1NTMzLCAzNTU0MCwgCi0gICAgMzU1NDgsIDM1NTU2LCAzNTU2NCwgMzU1NzEsIDM1NTc4LCAzNTU4NSwgMzU1OTIsIDM1NTk5LCAzNTYwNCwgMzU2MTAsIAotICAgIDM1NjI3LCAzNTYzNSwgMzU2NDUsIDM1NjUzLCAzNTY2MCwgNDA3LCAzNTY2NCwgMzU2NzAsIDM1Njc0LCAzNTY3OSwgCi0gICAgMzM3MTcsIDM1Njg1LCAzNTY4OCwgMzU2OTIsIDM1NzAwLCAzNjE5LCAzNTcwOCwgMzU3MTQsIDM1NzIwLCAzNTcyOSwgCi0gICAgMzU3MzksIDM1NzQ2LCAzNTc1MiwgMzYyNSwgMzYzMSwgMzU3NjEsIDM1NzY4LCAzNTc3NiwgMzU3ODEsIDM1Nzg1LCAKLSAgICAzNTc5MiwgMzU4MDAsIDM1ODA3LCAzNTgxMywgMzU4MjIsIDM1ODMyLCAzNTgzOCwgMzU4NDYsIDM1ODU1LCAzNTg2MiwgCi0gICAgMzU4NzAsIDM1ODc3LCAyMjAzMiwgMzU4ODEsIDM1ODg4LCAzNTg5NCwgMzU5MDQsIDM1OTEzLCAzNTkyNCwgMzU5MjgsIAotICAgIDM1OTM4LCAzNTk0NCwgMzU5NTEsIDM1OTU5LCAzNTk2OCwgMzU5NzcsIDM1OTg3LCAzNTk5OCwgMzYwMDUsIDM2MDEwLCAKLSAgICAzNjAxNywgMzAyOSwgMzYwMjUsIDM2MDMxLCAzNjAzNiwgMzYwNDIsIDM2MDQ4LCAzNjA1MywgMzYwNjYsIDM2MDc5LCAKLSAgICAzNjA5MiwgMzYwOTksIDM2MTA1LCAzNjExMywgMzYxMjEsIDM2MTI2LCAzNjEzMCwgMTQ2OSwgMzYxMzQsIDM2MTM5LCAKLSAgICAzNjE0NCwgMzYxNDksIDM2MTU0LCAzNjE2MCwgMzYxNjUsIDM2MTcwLCAzNjE3NSwgMzYxODAsIDM2MTg1LCAzNjE5MCwgCi0gICAgMzYxOTUsIDM2MjAxLCAzNjIwNywgMzYyMTIsIDM2MjE3LCAzNjIyMywgMzYyMjgsIDM2MjMzLCAzNjIzOCwgMzYyNDQsIAotICAgIDM2MjQ5LCAzNjI1NCwgMzYyNTksIDM2MjY0LCAzNjI3MCwgMzYyNzUsIDM2MjgwLCAzNjI4NiwgMzYyOTEsIDM2Mjk2LCAKLSAgICAzNjMwMSwgMzYzMDYsIDM2MzExLCAzNjMxNywgMzYzMjIsIDM2MzI4LCAzNjMzMywgMzYzMzksIDM2MzQ0LCAzNjM0OSwgCi0gICAgMzYzNTQsIDM2MzYwLCAzNjM2NiwgMzYzNzIsIDM2Mzc4LCAzNjM4NCwgMzYzOTAsIDM2Mzk2LCAzNjQwMiwgMzY0MDcsIAotICAgIDM2NDEyLCAzNjQxOCwgMzY0MjMsIDM2NDI4LCAzNjQzMywgMzY0MzgsIDM2NDQzLCAzNjQ0OCwgMzY0NTMsIDM2NDU5LCAKLSAgICAzNjQ2NCwgMzY0NjksIDM2NDc1LCAzNjQ4MSwgMTAxLCAzNjQ4NiwgMzY0ODgsIDM2NDkyLCAzNjQ5NiwgMzY1MDAsIAotICAgIDM2NTA1LCAzNjUwOSwgOTUyOCwgMzY1MTMsIDM2NTE5LCAxNzQxLCA2MjgwLCAzNjUyNSwgMzY1MjgsIDM2NTMzLCAzNjUzNywgCi0gICAgMzY1NDIsIDM2NTQ2LCAzNjU1MCwgMzY1NTUsIDEwMjQ1LCAzNjU1OSwgMzY1NjMsIDM2NTY3LCAzNjU3MSwgMTUzODUsIAotICAgIDM2NTc2LCAzNjU4MCwgMzY1ODUsIDM2NTkwLCAzNjU5NSwgMzY1OTksIDM2NjA2LCAyNjEyOCwgMzY2MTIsIDM2NjE1LCAKLSAgICAzNjYxOSwgMzY2MjQsIDM2NjMwLCAzNjYzNCwgMzY2NDIsIDM2NjQ4LCAzNjY1MywgMzY2NTcsIDM2NjYzLCAzNjY2NywgCi0gICAgMzY2NzEsIDM0NjIsIDM0NjcsIDI5MjU1LCAzNjY3NCwgMzY2NzgsIDM2NjgyLCAzNjY4NiwgMzY2OTAsIDM2Njk4LCAKLSAgICAzNjcwNSwgMzY3MDksIDM2NzE2LCAzNjcyMSwgMzE3LCAzNjcyNiwgMzY3MzAsIDM2NzM2LCAzNjc0OCwgMzY3NTQsIAotICAgIDM2NzYwLCAzNjc2NCwgMzY3NzAsIDM2Nzc5LCAzNjc4MywgMzY3ODcsIDM2NzkyLCAzNjc5OCwgMzY4MDMsIDM2ODA3LCAKLSAgICAzNjgxMiwgMzY4MTYsIDM2ODIwLCAzNjgyNywgMzY4MzMsIDM2ODM4LCAzNjg1MywgMzY4NjgsIDM2ODgzLCAzNjg5OSwgCi0gICAgMzY5MTcsIDEwMTk1LCAzNjkzMSwgMzY5MzgsIDM2OTQyLCAzNjk0NSwgMzY5NTQsIDM2OTU5LCAzNjk2MywgMzY5NzEsIAotICAgIDMzOTE5LCAzNjk3OSwgMzY5ODMsIDM2OTkzLCAzNzAwNCwgMjkyMjUsIDM3MDE3LCAzNzAyMSwgMzcwMzAsIDM3MDM4LCAKLSAgICA5Nzg1LCAxNDkxMywgMzcwNDIsIDIyNDQ3LCAzNzA0NSwgMzAxNzMsIDM3MDUwLCA5Nzg0LCAzNzA1NSwgMzcwNjEsIAotICAgIDM3MDY2LCAzNzA3MiwgMzcwNzcsIDM3MDgzLCAzNzA4OCwgMzcwOTQsIDM3MDk5LCAzNzEwNSwgMzcxMTEsIDM3MTE3LCAKLSAgICAzNzEyMiwgMzcwNzgsIDM3MDg0LCAzNzA4OSwgMzcwOTUsIDM3MTAwLCAzNzEwNiwgMzcxMTIsIDgxMjYsIDM4NzQsIAotICAgIDM3MTI2LCAzNzEzNCwgMzcxMzgsIDM3MTQxLCAzNzE0NSwgMzcxNTAsIDM3MTU1LCAzNzE2MSwgMzcxNjcsIDM3MTcyLCAKLSAgICAzNzE3NiwgMjU5NzYsIDM3MTgwLCAzNzE4NCwgMzcxOTAsIDM3MTk0LCA5MDQ5LCAzNzIwMywgMzcyMTAsIDM3MjE0LCAKLSAgICAxMTg3NSwgMzcyMjEsIDM3MjI3LCAzNzIzMiwgMzcyMzksIDM3MjQ2LCAzNzI1MywgMjg1NzEsIDgwNDksIDM3MjYwLCAKLSAgICAzNzI2NywgMzcyNzQsIDM3MjgwLCAzNzI4NSwgMzcyOTIsIDM3MzAzLCAzNzMwOSwgMzczMTQsIDM3MzE5LCAzNzMyNCwgCi0gICAgMzczMzEsIDM3MDc5LCAzNzMzNSwgMzczNDUsIDM3MzU2LCAzNzM2MiwgMzczNjcsIDM3MzcyLCAzNzM3NywgMzczODIsIAotICAgIDM3Mzg3LCAzNzM5MSwgMzczOTUsIDM3NDAxLCAzNzQwOSwgMjMxOSwgODY1LCAxMDI2MSwgMTAyNzMsIDEwMjc4LCAxMDI4NCwgCi0gICAgMzc0MTgsIDEwMjg5LCAxMDI5NCwgMTAzMDAsIDM3NDIzLCAzNzQzMywgMzc0MzcsIDEwMzA1LCAzNzQ0MiwgMTY5MDMsIAotICAgIDM3NDQ1LCAzNzQ1MCwgMzc0NTQsIDM3NDU5LCAzNzQ2NCwgMzc0NzEsIDM3NDc4LCAzNzQ4MiwgMzc0ODUsIDM3NDkzLCAKLSAgICAxMDIwOCwgMzc1MDAsIDM3NTAzLCAzNzUwOSwgMzc1MTksIDU5MjksIDM3NTI4LCAzNzUzMiwgMzc1NDAsIDM3NTQ0LCAKLSAgICAzNzU1NCwgMzc1NjAsIDM3NTcxLCAzNzU3NywgMzc1ODMsIDM3NTg4LCAzNzU5NCwgMzc2MDAsIDM3NjA2LCAzNzYxMSwgCi0gICAgMzc2MTQsIDM3NjIxLCAzNzYyNywgMzc2MzIsIDM3NjM5LCAzNzY0NiwgMzc2NTAsIDM3NjYwLCAzNzY3MywgMzc2ODIsIAotICAgIDM3NjkxLCAzNzcwMiwgMzc3MTUsIDM3NzI2LCAzNzczNSwgMzc3NDYsIDM3NzUxLCAzNzc2MCwgMzc3NjUsIDEwMzEwLCAKLSAgICAzNzc3MSwgMzc3NzgsIDM3Nzg2LCAzNzc5MSwgMzc3OTUsIDM3ODAyLCAzNzgwOSwgMzgyOSwgMTYsIDM3ODEzLCAzNzgxOCwgCi0gICAgMTY3NTcsIDM3ODIyLCAzNzgyNSwgMzc4MjgsIDI4MDc3LCAzNzgzMiwgMjg1ODAsIDM3ODQwLCAzNzg0NCwgMzc4NDgsIAotICAgIDM3ODUxLCAzNzg1NywgMzcxMDEsIDM3ODYzLCAzNzg3MSwgMzc4NzcsIDM3ODg0LCAyODA2MCwgMzc4ODgsIDI4MjU0LCAKLSAgICAzNzg5MiwgMzc5MDEsIDM3OTA3LCAzNzkxMywgMzc5MTgsIDM3OTIyLCAzNzkyOCwgMzc5MzIsIDM3OTQwLCAzNzk0OCwgCi0gICAgMjYxOTQsIDM3OTU0LCAzNzk2MSwgMzc5NjcsIDM3OTcyLCAzNzk3NywgMzc5ODEsIDM3OTg3LCAzNzk5MiwgMzc5OTgsIAotICAgIDQwNTYsIDc5MSwgMzgwMDUsIDM4MDA5LCAzODAxMiwgMTUyNzUsIDM4MDI0LCAzNTg1MSwgMzgwMzUsIDM4MDM4LCAzODA0NSwgCi0gICAgMzgwNDksIDM4MDU1LCAzODA1OSwgMzgwNjUsIDM4MDcwLCAzODA3NiwgMzgwODEsIDM4MDg2LCAzODA5MCwgMzgwOTQsIAotICAgIDM4MDk5LCAzODEwNCwgMzgxMTQsIDM4MTIwLCAzODEzMywgMzgxMzksIDM4MTQ1LCAzODE1MiwgMzgxNTcsIDM4MTYzLCAKLSAgICAzODE2OCwgMTY2NDMsIDE0NzIsIDEwMTksIDMxMjE4LCAzMTIyNCwgMzgxNzMsIDMxMjMwLCAzMTI0MywgMzEyNDksIAotICAgIDMxMjU1LCAzODE3OSwgMzEyNjEsIDMxMjY3LCAzODE4NSwgMzgxOTEsIDIyLCAzODE5OSwgMzgyMDYsIDM4MjEwLCAzODIxNCwgCi0gICAgMzgyMjIsIDMxOTc4LCAzODIyNiwgMzgyMzAsIDM4MjM3LCAzODI0MiwgMzgyNDYsIDM4MjUxLCAzODI1NywgMzgyNjIsIAotICAgIDM4MjY4LCAzODI3MywgMzgyNzcsIDM4MjgxLCAzODI4NSwgMzgyOTAsIDM4Mjk0LCAzODI5OSwgMzgzMDMsIDM4MzEwLCAKLSAgICAzODMxNSwgMzgzMTksIDM4MzI0LCAzODMyOCwgMzgzMzMsIDM4MzM3LCAzODM0MiwgMzgzNDgsIDE1NDk1LCAxNTUwMCwgCi0gICAgMzgzNTMsIDM4MzU3LCAzODM2MCwgMzgzNjQsIDIxMTgzLCAzODM2OSwgMzgzNzMsIDM4Mzc5LCAzODM4NiwgMzgzOTEsIAotICAgIDM4NDAxLCAzODQwNiwgMzg0MTQsIDM4NDE4LCAzODQyMSwgMzE5OTMsIDM4NDI1LCA0MTA5LCAzODQzMCwgMzg0MzUsIAotICAgIDM4NDM5LCAzODQ0NCwgMzg0NDgsIDM4NDUzLCAxMzM3NSwgMzg0NjQsIDM4NDY4LCAzODQ3MSwgMzg0NzYsIDM4NDgwLCAKLSAgICAzODQ4NCwgMzg0ODcsIDM4NDkxLCA4MTQ1LCAxMzM5MSwgMzg0OTQsIDM4NDk3LCAzODUwMywgMzg1MDgsIDM4NTE0LCAKLSAgICAzODUxOSwgMzg1MjUsIDM4NTMwLCAzODUzNiwgMzg1NDEsIDM4NTQ3LCAzODU1MywgMzg1NTksIDM4NTY0LCAzODU2OCwgCi0gICAgMzg1NzIsIDM4NTgxLCAzODU5NywgMzg2MTMsIDM4NjIzLCAyNzk2NywgMzg2MzAsIDM4NjM0LCAzODYzOSwgMzg2NDQsIAotICAgIDM4NjQ4LCAzODY1MiwgMzU5NzIsIDM4NjU4LCAzODY2MywgMzg2NjcsIDM4Njc0LCAzODY3OSwgMzg2ODMsIDM4Njg3LCAKLSAgICAyNjk5NiwgMzg2OTMsIDIxNDUxLCAzODY5OCwgMzg3MDUsIDM4NzEzLCAzODcxOSwgMzg3MjYsIDM4NzM0LCAzODc0MCwgCi0gICAgMzg3NDQsIDM4NzUwLCAzODc1OCwgMzg3NjIsIDM4NzcxLCA5NTA5LCAzODc3OSwgMzg3ODMsIDM4NzkxLCAzODc5OCwgCi0gICAgMzg4MDMsIDM4ODA4LCAzODgxMiwgMzg4MTUsIDM4ODE5LCAzODgyMiwgMzg4MjYsIDM4ODMzLCAzODgzOCwgMzg4NDQsIAotICAgIDI2NDE1LCAzMTI4MSwgMzg4NDgsIDM4ODU1LCAzODg2MSwgMzg4NjcsIDM4ODcyLCAzODg3NSwgMzg4NzcsIDM4ODg0LCAKLSAgICAzODg5MSwgMzg4OTcsIDM4OTAxLCAzODkwNCwgMzg5MDgsIDM4OTEyLCAzODkxNiwgMzg5MjEsIDM4OTI1LCAzODkyOSwgCi0gICAgMzg5MzIsIDM4OTM2LCAzODk1MCwgMjMwNjIsIDM4OTY5LCAzODk4MiwgMzg5OTUsIDM5MDA4LCAyMzA4MCwgMzkwMjMsIAotICAgIDEwNDk3LCAzOTAzOCwgMzkwNDQsIDM5MDQ4LCAzOTA1MiwgMzkwNTksIDM5MDY0LCAzOTA2OCwgMzkwNzUsIDM5MDgxLCAKLSAgICAzOTA4NiwgMzkwOTIsIDM5MTAyLCAzOTExNCwgMzkxMjUsIDM5MTMwLCAzOTEzNywgMzkxNDEsIDM5MTQ1LCAzOTE0OCwgCi0gICAgMTU4OTEsIDM2NzcsIDM5MTU2LCAxNTUyMiwgMzkxNjksIDM5MTc2LCAzOTE4MCwgMzkxODQsIDM5MTg5LCAzOTE5NCwgCi0gICAgMzkyMDAsIDM5MjA0LCAzOTIwOCwgMzkyMTEsIDc3NDIsIDE1NTMzLCAzOTIxNiwgMzkyMjAsIDM5MjI2LCAzOTIzNSwgCi0gICAgMzkyNDAsIDM5MjQ3LCAzNTgyOCwgMzkyNTMsIDM5MjU4LCAzOTI2MiwgMzkyNjcsIDM5Mjc0LCAzOTI3OCwgMzkyODEsIAotICAgIDM5Mjg1LCAzOTI5MCwgMTQ1NjUsIDM5Mjk3LCAzOTMwNCwgMTA3NywgMzkzMDgsIDM5MzEzLCAzOTMxOCwgMzkzMjQsIAotICAgIDM5MzI5LCAzOTMzNCwgMzkzMzgsIDM5MzQ4LCAzOTM1MywgMzkzNTksIDM5MzY0LCAzOTM3MCwgMzkzNzUsIDM5MzgxLCAKLSAgICAzOTM5MSwgMzkzOTYsIDM5NDAxLCAzOTQwNSwgNzIyOSwgNzI0MSwgMzk0MTAsIDM5NDEzLCAzOTQyMCwgMzk0MjYsIAotICAgIDM0MDg0LCAzNDA5MSwgMzk0MzUsIDM5NDM5LCAzMjA0MSwgMzk0NDcsIDM5NDU4LCAzOTQ2NiwgMzYwMjAsIDM5NDczLCAKLSAgICAzOTQ3OCwgMzk0ODMsIDM5NDk0LCAzOTUwMSwgMzk1MTIsIDMyMDY1LCAyMTQ1NywgMzk1MjAsIDczNSwgMzk1MjUsIAotICAgIDM5NTMxLCAyODA1MSwgMzk1MzcsIDM5NTQyLCAzOTU1MiwgMzk1NjEsIDM5NTY4LCAzOTU3NCwgMzk1NzgsIDM5NTgxLCAKLSAgICAzOTU4OCwgMzk1OTQsIDM5NjAxLCAzOTYwNywgMzk2MTcsIDM5NjI1LCAzOTYzMSwgMzk2MzcsIDM5NjQyLCAzOTY0NiwgCi0gICAgMzk2NTMsIDM5NjU5LCAzOTY2NiwgMzg5MTcsIDUzNSwgMTM4MTgsIDM5NjcyLCAzOTY3NywgMzk2ODAsIDM5Njg2LCAKLSAgICAzOTY5NCwgMTM5NiwgMzk2OTksIDM5NzAzLCAzOTcwOCwgMzk3MTUsIDM5NzIxLCAzOTcyNSwgMzk3MjksIDM5NzM0LCAKLSAgICAzOTc0MywgMzk3NTAsIDM5NzYwLCAzOTc2NiwgMjgwOTUsIDM5NzgzLCAzOTc5MiwgMzk4MDAsIDM5ODA2LCAzOTgxMSwgCi0gICAgMzk4MTgsIDM5ODI0LCAzOTgzMiwgMzk4NDEsIDM5ODQ5LCAzOTg1MywgMzk4NTgsIDM5ODY2LCAzMjA3NCwgMzk4NzIsIAotICAgIDM5ODkxLCAxNTgyNCwgMzk5MDUsIDM5OTIxLCAzOTkzNSwgMzk5NDEsIDM5OTQ2LCAzOTk1MSwgMzk5NTYsIDM5OTYyLCAKLSAgICAzMjA4MCwgMzk5NjcsIDM5OTc0LCAzOTk3OSwgMzk5ODMsIDM0NSwgMjkzNiwgMzk5OTAsIDM5OTk1LCA0MDAwMCwgMjczMjIsIAotICAgIDM5ODIxLCA0MDAwNCwgNDAwMDksIDQwMDE3LCA0MDAyMSwgNDAwMjQsIDQwMDMwLCA0MDAzNiwgNDAwNDAsIDI4MTUwLCAKLSAgICA0MDA0MywgNDAwNDgsIDQwMDUyLCA0MDA1NSwgNDAwNjAsIDQwMDY0LCA0MDA2OSwgNDAwNzQsIDQwMDc4LCA0MDA4MywgCi0gICAgNDAwODcsIDQwMDkxLCAyMTE3OSwgMjExOTAsIDQwMDk1LCA0MDEwMCwgNDAxMDYsIDI2OTUzLCA0MDExMSwgNDAxMTUsIAotICAgIDIxMjY2LCAxNjA3MiwgNDAxMTgsIDQwMTIzLCA0MDEyOCwgNDAxMzMsIDQwMTM4LCA0MDE0MywgNDAxNDgsIDQwMTUzLCAKLSAgICA0NTAsIDQ5LCAzMTI5OSwgMzEzMDQsIDMxMzA5LCAzMTMxNSwgMzEzMjAsIDMxMzI1LCA0MDE1OCwgMzEzMjksIDQwMTYyLCAKLSAgICA0MDE2NiwgNDAxNzAsIDMxMzM0LCAzMTM0MCwgNDAxODQsIDMxMzUxLCAzMTM1NiwgNDAxOTIsIDQwMTk3LCAzMTM2MiwgCi0gICAgNDAyMDIsIDQwMjA3LCA0MDIxMiwgNDAyMTcsIDQwMjIzLCA0MDIyOSwgNDAyMzUsIDMxMzc5LCA0MDI0OCwgNDAyNTQsIAotICAgIDMxMzgzLCA0MDI1OCwgMzEzODgsIDQwMjYzLCAzMTM5MywgMzEzOTgsIDQwMjY2LCA0MDI3MSwgNDAyNzUsIDMwOTQ4LCAKLSAgICA0MDI4MSwgMTM1OTksIDQwMjg4LCA0MDI5MywgMzE0MDMsIDQwMjk3LCA0MDMwMiwgNDAzMDcsIDQwMzEyLCA0MDMxNiwgCi0gICAgNDAzMjEsIDQwMzI2LCA0MDMzMiwgNDAzMzcsIDQwMzQyLCA0MDM0OCwgNDAzNTQsIDQwMzU5LCA0MDM2MywgNDAzNjgsIAotICAgIDQwMzczLCA0MDM3OCwgNDAzODIsIDQwMzg3LCA0MDM5MiwgNDAzOTcsIDQwNDAzLCA0MDQwOSwgNDA0MTUsIDQwNDIwLCAKLSAgICA0MDQyNCwgNDA0MjksIDQwNDMzLCAzMTQwNywgMzE0MTIsIDMxNDE3LCA0MDQzNywgNDA0NDEsIDQwNDQ1LCAzMTQyMiwgCi0gICAgMzE0MjgsIDMxNDM0LCAzMTQ0NiwgNDA0NTcsIDI2MDEzLCA0MDQ2MSwgNDA0NjUsIDQwNDcwLCA0MDQ3NSwgNDA0ODAsIAotICAgIDQwNDg1LCA0MDQ4OSwgNDA0OTMsIDQwNTAzLCA0MDUwOCwgNDA1MTMsIDQwNTE3LCA0MDUyMSwgNDA1MjQsIDQwNTMyLCAKLSAgICAzMTQ5NCwgNDA1MzcsIDE0NzksIDQwNTQzLCA0MDU1MSwgNDA1NjAsIDQwNTY0LCA0MDU2OCwgNDA1NzYsIDQwNTgyLCAKLSAgICA0MDU5MCwgNDA2MDYsIDQwNjEwLCA0MDYxNCwgNDA2MTksIDQwNjM0LCAzMTUzMSwgMTc0OSwgMTIwNTUsIDQwNjM4LCAKLSAgICAxMzc4LCA0MDY1MCwgNDA2NTEsIDQwNjU5LCA0MDY2NiwgNDA2NzEsIDQwNjc4LCA0MDY4MywgOTM3OSwgMTExOSwgMTAzMzIsIAotICAgIDQwNjkwLCA0MDY5NSwgNDA2OTgsIDQwNzAxLCA0MDcxMCwgMTI4NiwgNDA3MTUsIDM5MDY1LCA0MDcyMiwgNDA3MjcsIAotICAgIDQwNzMxLCAyMjUwMywgMjU1NywgNDA3MzksIDEwNzQxLCA0MDc0OSwgNDA3NTUsIDIzMzcsIDIzNDcsIDQwNzY0LCA0MDc3MywgCi0gICAgNDA3ODMsIDQwNzk0LCAzMjkzLCAzNDIzNywgMTAzODQsIDM4MDcsIDE2NjgxLCAxMjkxLCA0MDc5OSwgNDA4MDcsIDQwODE0LCAKLSAgICA0MDgxOSwgNDA4MjMsIDQwODI3LCAyMzg3NSwgMTA0MTEsIDQwODM1LCA0MDg0NCwgNDA4NTMsIDQwODYxLCA0MDg2OCwgCi0gICAgNDA4NzksIDQwODg0LCA0MDg5NywgNDA5MTAsIDQwOTIyLCA0MDkzNCwgNDA5NDYsIDQwOTU5LCA0MDk3MCwgNDA5ODEsIAotICAgIDQwOTkxLCA0MDk5OSwgNDEwMDcsIDQxMDE5LCA0MTAzMSwgNDEwNDIsIDQxMDUxLCA0MTA1OSwgNDEwNjYsIDQxMDc4LCAKLSAgICA0MTA4NSwgNDEwOTQsIDQxMTAxLCA0MTExNCwgNDExMTksIDQxMTI5LCA0MTEzNCwgNDExNDAsIDQxMTQ1LCAzNzIxMSwgCi0gICAgNDExNDksIDQxMTU2LCA0MTE2MCwgNDExNjcsIDQxMTc1LCAyNTE4LCA0MTE4MiwgNDExOTMsIDQxMjAzLCA0MTIxMiwgCi0gICAgNDEyMjAsIDQxMjMwLCA0MTIzOCwgNDEyNDgsIDQxMjU3LCA0MTI2MiwgNDEyNjgsIDQxMjc0LCAzNzA5LCA0MTI4NSwgCi0gICAgNDEyOTUsIDQxMzA0LCA0MTMxMywgNDEzMjMsIDQxMzMxLCA0MTM0MCwgNDEzNDUsIDQxMzUwLCA0MTM1NSwgMTcwNSwgMzcsIAotICAgIDQxMzYzLCA0MTM3MSwgNDEzODIsIDQxMzkzLCAxNjM1NiwgNDE0MDMsIDQxNDA3LCA0MTQxNCwgNDE0MjAsIDQxNDI1LCAKLSAgICA0MTQyOSwgNDE0NDAsIDQxNDUwLCA0MTQ1OSwgNDE0NzAsIDE2NzMwLCAxNjczNSwgNDE0NzUsIDQxNDg0LCA0MTQ4OSwgCi0gICAgNDE0OTksIDQxNTA0LCA0MTUxMiwgNDE1MjAsIDQxNTI3LCA0MTUzMywgNzA3OCwgMjI4LCA0MTUzNywgNDE1NDMsIDQxNTQ4LCAKLSAgICA0MTU1MSwgMjExNywgMzkxODEsIDQxNTU5LCA0MTU2MywgNDE1NjYsIDE1MTIsIDQxNTcyLCAxMzk4MCwgMTI5NiwgNDE1NzcsIAotICAgIDQxNTkwLCA0MTYwNCwgMjY0MywgNDE2MjIsIDQxNjM0LCA0MTY0NiwgMjY1NywgMjY3NCwgNDE2NjAsIDQxNjczLCAyNjg5LCAKLSAgICA0MTY4NywgNDE2OTksIDI3MDQsIDQxNzEzLCAxMzAyLCAxMzA4LCAxMzE0LCAxMDY1OSwgNDE3MTgsIDQxNzIzLCA0MTcyOCwgCi0gICAgNDE3MzIsIDQxNzQ3LCA0MTc2MiwgNDE3NzcsIDQxNzkyLCA0MTgwNywgNDE4MjIsIDQxODM3LCA0MTg1MiwgNDE4NjcsIAotICAgIDQxODgyLCA0MTg5NywgNDE5MTIsIDQxOTI3LCA0MTk0MiwgNDE5NTcsIDQxOTcyLCA0MTk4NywgNDIwMDIsIDQyMDE3LCAKLSAgICA0MjAzMiwgNDIwNDcsIDQyMDYyLCA0MjA3NywgNDIwOTIsIDQyMTA3LCA0MjEyMiwgNDIxMzcsIDQyMTUyLCA0MjE2NywgCi0gICAgNDIxODIsIDQyMTk3LCA0MjIxMiwgNDIyMjcsIDQyMjQyLCA0MjI1NywgNDIyNzIsIDQyMjg3LCA0MjMwMiwgNDIzMTcsIAotICAgIDQyMzMyLCA0MjM0NywgNDIzNjIsIDQyMzc3LCA0MjM5MiwgNDI0MDcsIDQyNDIyLCA0MjQzNywgNDI0NTIsIDQyNDY3LCAKLSAgICA0MjQ4MiwgNDI0OTcsIDQyNTEyLCA0MjUyNywgNDI1NDIsIDQyNTU3LCA0MjU3MiwgNDI1ODcsIDQyNjAyLCA0MjYxNywgCi0gICAgNDI2MzIsIDQyNjQ3LCA0MjY2MiwgNDI2NzcsIDQyNjkyLCA0MjcwNywgNDI3MjIsIDQyNzM3LCA0Mjc1MiwgNDI3NjcsIAotICAgIDQyNzgyLCA0Mjc5NywgNDI4MTIsIDQyODI3LCA0Mjg0MiwgNDI4NTcsIDQyODcyLCA0Mjg4NywgNDI5MDIsIDQyOTE3LCAKLSAgICA0MjkzMiwgNDI5NDcsIDQyOTYyLCA0Mjk3NywgNDI5OTIsIDQzMDA3LCA0MzAyMiwgNDMwMzcsIDQzMDUyLCA0MzA2NywgCi0gICAgNDMwODIsIDQzMDk3LCA0MzExMiwgNDMxMjcsIDQzMTQyLCA0MzE1NywgNDMxNzIsIDQzMTg3LCA0MzIwMiwgNDMyMTcsIAotICAgIDQzMjMyLCA0MzI0NywgNDMyNjIsIDQzMjc3LCA0MzI5MiwgNDMzMDcsIDQzMzIyLCA0MzMzNywgNDMzNTIsIDQzMzY3LCAKLSAgICA0MzM4MiwgNDMzOTcsIDQzNDEyLCA0MzQyNywgNDM0NDIsIDQzNDU3LCA0MzQ3MiwgNDM0ODcsIDQzNTAyLCA0MzUxNywgCi0gICAgNDM1MzIsIDQzNTQ3LCA0MzU2MiwgNDM1NzcsIDQzNTkyLCA0MzYwNywgNDM2MjIsIDQzNjM3LCA0MzY1MiwgNDM2NjcsIAotICAgIDQzNjgyLCA0MzY5NywgNDM3MTIsIDQzNzI3LCA0Mzc0MiwgNDM3NTcsIDQzNzcyLCA0Mzc4NywgNDM4MDIsIDQzODE3LCAKLSAgICA0MzgzMiwgNDM4NDcsIDQzODYyLCA0Mzg3NywgNDM4OTIsIDQzOTA3LCA0MzkyMiwgNDM5MzcsIDQzOTUyLCA0Mzk2NywgCi0gICAgNDM5ODIsIDQzOTk3LCA0NDAxMiwgNDQwMjcsIDQ0MDQyLCA0NDA1NywgNDQwNzIsIDQ0MDg3LCA0NDEwMiwgNDQxMTcsIAotICAgIDQ0MTMyLCA0NDE0NywgNDQxNjIsIDQ0MTc3LCA0NDE5MiwgNDQyMDcsIDQ0MjIyLCA0NDIzNywgNDQyNTIsIDQ0MjY3LCAKLSAgICA0NDI4MiwgNDQyOTcsIDQ0MzEyLCA0NDMyNywgNDQzNDIsIDQ0MzU3LCA0NDM3MiwgNDQzODcsIDQ0NDAyLCA0NDQxNywgCi0gICAgNDQ0MzIsIDQ0NDQ3LCA0NDQ2MiwgNDQ0NzcsIDQ0NDkyLCA0NDUwNywgNDQ1MjIsIDQ0NTM3LCA0NDU1MiwgNDQ1NjcsIAotICAgIDQ0NTgyLCA0NDU5NywgNDQ2MTIsIDQ0NjI3LCA0NDY0MiwgNDQ2NTcsIDQ0NjcyLCA0NDY4NywgNDQ3MDIsIDQ0NzE3LCAKLSAgICA0NDczMiwgNDQ3NDcsIDQ0NzYyLCA0NDc3NywgNDQ3OTIsIDQ0ODA3LCA0NDgyMiwgNDQ4MzcsIDQ0ODUyLCA0NDg2NywgCi0gICAgNDQ4ODIsIDQ0ODk3LCA0NDkxMiwgNDQ5MjcsIDQ0OTQyLCA0NDk1NywgNDQ5NzIsIDQ0OTg3LCA0NTAwMiwgNDUwMTcsIAotICAgIDQ1MDMyLCA0NTA0NywgNDUwNjIsIDQ1MDc3LCA0NTA5MiwgNDUxMDcsIDQ1MTIyLCA0NTEzNywgNDUxNTIsIDQ1MTY3LCAKLSAgICA0NTE4MiwgNDUxOTcsIDQ1MjEyLCA0NTIyNywgNDUyNDIsIDQ1MjU3LCA0NTI3MiwgNDUyODcsIDQ1MzAyLCA0NTMxNywgCi0gICAgNDUzMzIsIDQ1MzQ3LCA0NTM2MiwgNDUzNzcsIDQ1MzkyLCA0NTQwNywgNDU0MjIsIDQ1NDM3LCA0NTQ1MiwgNDU0NjcsIAotICAgIDQ1NDgyLCA0NTQ5NywgNDU1MTIsIDQ1NTI3LCA0NTU0MiwgNDU1NTcsIDQ1NTcyLCA0NTU4NywgNDU2MDIsIDQ1NjE3LCAKLSAgICA0NTYzMiwgNDU2NDcsIDQ1NjYyLCA0NTY3NywgNDU2OTIsIDQ1NzA3LCA0NTcyMiwgNDU3MzcsIDQ1NzUyLCA0NTc2NywgCi0gICAgNDU3ODIsIDQ1Nzk3LCA0NTgxMiwgNDU4MjcsIDQ1ODQyLCA0NTg1NywgNDU4NzIsIDQ1ODg3LCA0NTkwMiwgNDU5MTcsIAotICAgIDQ1OTMyLCA0NTk0NywgNDU5NjIsIDQ1OTc3LCA0NTk5MiwgNDYwMDcsIDQ2MDIyLCA0NjAzNywgNDYwNTIsIDQ2MDY3LCAKLSAgICA0NjA4MiwgNDYwOTcsIDQ2MTEyLCA0NjEyNywgNDYxNDIsIDQ2MTU3LCA0NjE3MiwgNDYxODcsIDQ2MjAyLCA0NjIxNywgCi0gICAgNDYyMzIsIDQ2MjQ3LCA0NjI2MiwgNDYyNzcsIDQ2MjkyLCA0NjMwNywgNDYzMjIsIDQ2MzM3LCA0NjM1MiwgNDYzNjcsIAotICAgIDQ2MzgyLCA0NjM5NywgNDY0MTIsIDQ2NDI3LCA0NjQ0MiwgNDY0NTcsIDQ2NDcyLCA0NjQ4NywgNDY1MDIsIDQ2NTE3LCAKLSAgICA0NjUzMiwgNDY1NDcsIDQ2NTYyLCA0NjU3NywgNDY1OTIsIDQ2NjA3LCA0NjYyMiwgNDY2MzcsIDQ2NjUyLCA0NjY2NywgCi0gICAgNDY2ODIsIDQ2Njk3LCA0NjcxMiwgNDY3MjcsIDQ2NzQyLCA0Njc1NywgNDY3NzIsIDQ2Nzg3LCA0NjgwMiwgNDY4MTcsIAotICAgIDQ2ODMyLCA0Njg0NywgNDY4NjIsIDQ2ODc3LCA0Njg5MiwgNDY5MDcsIDQ2OTIyLCA0NjkzNywgNDY5NTIsIDQ2OTY3LCAKLSAgICA0Njk4MiwgNDY5OTcsIDQ3MDEyLCA0NzAyNywgNDcwNDIsIDQ3MDU3LCA0NzA3MiwgNDcwODcsIDQ3MTAyLCA0NzExNywgCi0gICAgNDcxMzIsIDQ3MTQ3LCA0NzE2MiwgNDcxNzcsIDQ3MTkyLCA0NzIwNywgNDcyMjIsIDQ3MjM3LCA0NzI1MiwgNDcyNjcsIAotICAgIDQ3MjgyLCA0NzI5NywgNDczMTIsIDQ3MzI3LCA0NzM0MiwgNDczNTcsIDQ3MzcyLCA0NzM4NywgNDc0MDIsIDQ3NDE3LCAKLSAgICA0NzQzMiwgNDc0NDcsIDQ3NDYyLCA0NzQ3NywgNDc0OTIsIDQ3NTA3LCA0NzUyMiwgNDc1MzcsIDQ3NTUyLCA0NzU2NywgCi0gICAgNDc1ODIsIDQ3NTk3LCA0NzYxMiwgNDc2MjcsIDQ3NjQyLCA0NzY1NywgNDc2NzIsIDQ3Njg3LCA0NzcwMiwgNDc3MTcsIAotICAgIDQ3NzMyLCA0Nzc0NywgNDc3NjIsIDQ3Nzc3LCA0Nzc5MiwgNDc4MDcsIDQ3ODIyLCA0NzgzNywgNDc4NTIsIDQ3ODY3LCAKLSAgICA0Nzg4MiwgNDc4OTcsIDQ3OTEyLCA0NzkyNywgNDc5NDIsIDQ3OTU3LCA0Nzk3MiwgNDc5ODcsIDQ4MDAyLCA0ODAxNywgCi0gICAgNDgwMzIsIDQ4MDQ3LCA0ODA2MiwgNDgwNzcsIDQ4MDkyLCA0ODEwNywgNDgxMjIsIDQ4MTM3LCA0ODE1MiwgNDgxNjcsIAotICAgIDQ4MTgyLCA0ODE5NywgNDgyMTIsIDQ4MjI3LCA0ODI0MiwgNDgyNTcsIDQ4MjcyLCA0ODI4NywgNDgzMDIsIDQ4MzE3LCAKLSAgICA0ODMzMiwgNDgzNDcsIDQ4MzYyLCA0ODM3NywgNDgzOTIsIDQ4NDA3LCA0ODQyMiwgNDg0MzcsIDQ4NDUyLCA0ODQ2NywgCi0gICAgNDg0ODIsIDQ4NDk3LCA0ODUxMiwgNDg1MjcsIDQ4NTQyLCA0ODU1NywgNDg1NzIsIDQ4NTg3LCA0ODYwMiwgNDg2MTcsIAotICAgIDQ4NjMyLCA0ODY0NywgNDg2NjIsIDQ4Njc3LCA0ODY5MiwgNDg3MDcsIDQ4NzIyLCA0ODczNywgNDg3NTIsIDQ4NzY3LCAKLSAgICA0ODc4MiwgNDg3OTcsIDQ4ODEyLCA0ODgyNywgNDg4NDIsIDQ4ODU3LCA0ODg3MiwgNDg4ODcsIDQ4OTAyLCA0ODkxNywgCi0gICAgNDg5MzIsIDQ4OTQ3LCA0ODk2MiwgNDg5NzcsIDQ4OTkyLCA0OTAwNywgNDkwMjIsIDQ5MDM3LCA0OTA1MiwgNDkwNjcsIAotICAgIDQ5MDgyLCA0OTA5NywgNDkxMTIsIDQ5MTI3LCA0OTE0MiwgNDkxNTcsIDQ5MTcyLCA0OTE4NywgNDkyMDIsIDQ5MjE3LCAKLSAgICA0OTIzMiwgNDkyNDcsIDQ5MjYyLCA0OTI3NywgNDkyOTIsIDQ5MzA3LCA0OTMyMiwgNDkzMzcsIDQ5MzUyLCA0OTM2NywgCi0gICAgNDkzODIsIDQ5Mzk3LCA0OTQxMiwgNDk0MjcsIDQ5NDQyLCA0OTQ1NywgNDk0NzIsIDQ5NDg3LCA0OTUwMiwgNDk1MTcsIAotICAgIDQ5NTMyLCA0OTU0OCwgNDk1NjQsIDQ5NTgwLCA0OTU5NiwgNDk2MTIsIDQ5NjI4LCA0OTY0NCwgNDk2NjAsIDQ5Njc2LCAKLSAgICA0OTY5MiwgNDk3MDgsIDQ5NzI0LCA0OTc0MCwgNDk3NTYsIDQ5NzcyLCA0OTc4OCwgNDk4MDQsIDQ5ODIwLCA0OTgzNiwgCi0gICAgNDk4NTIsIDQ5ODY4LCA0OTg4NCwgNDk5MDAsIDQ5OTE2LCA0OTkzMiwgNDk5NDgsIDQ5OTY0LCA0OTk4MCwgNDk5OTYsIAotICAgIDUwMDEyLCA1MDAyOCwgNTAwNDQsIDUwMDYwLCA1MDA3NiwgNTAwOTIsIDUwMTA4LCA1MDEyNCwgNTAxNDAsIDUwMTU2LCAKLSAgICA1MDE3MiwgNTAxODgsIDUwMjA0LCA1MDIyMCwgNTAyMzYsIDUwMjUyLCA1MDI2OCwgNTAyODQsIDUwMzAwLCA1MDMxNiwgCi0gICAgNTAzMzIsIDUwMzQ4LCA1MDM2NCwgNTAzODAsIDUwMzk2LCA1MDQxMiwgNTA0MjgsIDUwNDQ0LCA1MDQ2MCwgNTA0NzYsIAotICAgIDUwNDkyLCA1MDUwOCwgNTA1MjQsIDUwNTQwLCA1MDU1NiwgNTA1NzIsIDUwNTg4LCA1MDYwNCwgNTA2MjAsIDUwNjM2LCAKLSAgICA1MDY1MiwgNTA2NjgsIDUwNjg0LCA1MDcwMCwgNTA3MTYsIDUwNzMyLCA1MDc0OCwgNTA3NjQsIDUwNzgwLCA1MDc5NiwgCi0gICAgNTA4MTIsIDUwODI4LCA1MDg0NCwgNTA4NjAsIDUwODc2LCA1MDg5MiwgNTA5MDgsIDUwOTI0LCA1MDk0MCwgNTA5NTYsIAotICAgIDUwOTcyLCA1MDk4OCwgNTEwMDQsIDUxMDIwLCA1MTAzNiwgNTEwNTIsIDUxMDY4LCA1MTA4NCwgNTExMDAsIDUxMTE2LCAKLSAgICA1MTEzMiwgNTExNDgsIDUxMTY0LCA1MTE4MCwgNTExOTYsIDUxMjEyLCA1MTIyOCwgNTEyNDQsIDUxMjYwLCA1MTI3NiwgCi0gICAgNTEyOTIsIDUxMzA4LCA1MTMyNCwgNTEzNDAsIDUxMzU2LCA1MTM3MiwgNTEzODgsIDUxNDA0LCA1MTQyMCwgNTE0MzYsIAotICAgIDUxNDUyLCA1MTQ2OCwgNTE0ODQsIDUxNTAwLCA1MTUxNiwgNTE1MzIsIDUxNTQ4LCA1MTU2NCwgNTE1ODAsIDUxNTk2LCAKLSAgICA1MTYxMiwgNTE2MjgsIDUxNjQ0LCA1MTY2MCwgNTE2NzYsIDUxNjkyLCA1MTcwOCwgNTE3MjQsIDUxNzQwLCA1MTc1NiwgCi0gICAgNTE3NzIsIDUxNzg4LCA1MTgwNCwgNTE4MjAsIDUxODM2LCA1MTg1MiwgNTE4NjgsIDUxODg0LCA1MTkwMCwgNTE5MTYsIAotICAgIDUxOTMyLCA1MTk0OCwgNTE5NjQsIDUxOTgwLCA1MTk5NiwgNTIwMTIsIDUyMDI4LCA1MjA0NCwgNTIwNjAsIDUyMDc2LCAKLSAgICA1MjA5MiwgNTIxMDgsIDUyMTI0LCA1MjE0MCwgNTIxNTYsIDUyMTcyLCA1MjE4OCwgNTIyMDQsIDUyMjIwLCA1MjIzNiwgCi0gICAgNTIyNTIsIDUyMjY4LCA1MjI4NCwgNTIzMDAsIDUyMzE2LCA1MjMzMiwgNTIzNDgsIDUyMzY0LCA1MjM4MCwgNTIzOTYsIAotICAgIDUyNDEyLCA1MjQyOCwgNTI0NDQsIDUyNDYwLCA1MjQ3NiwgNTI0OTIsIDUyNTA4LCA1MjUyNCwgNTI1NDAsIDUyNTU2LCAKLSAgICA1MjU3MiwgNTI1ODgsIDUyNjA0LCA1MjYyMCwgNTI2MzYsIDUyNjUyLCA1MjY2OCwgNTI2ODQsIDUyNzAwLCA1MjcxNiwgCi0gICAgNTI3MzIsIDUyNzQ4LCA1Mjc2NCwgNTI3ODAsIDUyNzk2LCA1MjgxMiwgNTI4MjgsIDUyODQ0LCA1Mjg2MCwgNTI4NzYsIAotICAgIDUyODkyLCA1MjkwOCwgNTI5MjQsIDUyOTQwLCA1Mjk1NiwgNTI5NzIsIDUyOTg4LCA1MzAwNCwgNTMwMjAsIDUzMDM2LCAKLSAgICA1MzA1MiwgNTMwNjgsIDUzMDg0LCA1MzEwMCwgNTMxMTYsIDUzMTMyLCA1MzE0OCwgNTMxNjQsIDUzMTgwLCA1MzE5NiwgCi0gICAgNTMyMTIsIDUzMjI4LCA1MzI0NCwgNTMyNjAsIDUzMjc2LCA1MzI5MiwgNTMzMDgsIDUzMzI0LCA1MzM0MCwgNTMzNTYsIAotICAgIDUzMzcyLCA1MzM4OCwgNTM0MDQsIDUzNDIwLCA1MzQzNiwgNTM0NTIsIDUzNDY4LCA1MzQ4NCwgNTM1MDAsIDUzNTE2LCAKLSAgICA1MzUzMiwgNTM1NDgsIDUzNTY0LCA1MzU4MCwgNTM1OTYsIDUzNjEyLCA1MzYyOCwgNTM2NDQsIDUzNjYwLCA1MzY3NiwgCi0gICAgNTM2OTIsIDUzNzA4LCA1MzcyNCwgNTM3NDAsIDUzNzU2LCA1Mzc3MiwgNTM3ODgsIDUzODA0LCA1MzgyMCwgNTM4MzYsIAotICAgIDUzODUyLCA1Mzg2OCwgNTM4ODQsIDUzOTAwLCA1MzkxNiwgNTM5MzIsIDUzOTQ4LCA1Mzk2NCwgNTM5ODAsIDUzOTk2LCAKLSAgICA1NDAxMiwgNTQwMjgsIDU0MDQ0LCA1NDA2MCwgNTQwNzYsIDU0MDkyLCA1NDEwOCwgNTQxMjQsIDU0MTQwLCA1NDE1NiwgCi0gICAgNTQxNzIsIDU0MTg4LCA1NDIwNCwgNTQyMjAsIDU0MjM2LCA1NDI1MiwgNTQyNjgsIDU0Mjg0LCA1NDMwMCwgNTQzMTYsIAotICAgIDU0MzMyLCA1NDM0OCwgNTQzNjQsIDU0MzgwLCA1NDM5NiwgNTQ0MTIsIDU0NDI4LCA1NDQ0NCwgNTQ0NjAsIDU0NDc2LCAKLSAgICA1NDQ5MiwgNTQ1MDgsIDU0NTI0LCA1NDU0MCwgNTQ1NTYsIDU0NTcyLCA1NDU4OCwgNTQ2MDQsIDU0NjIwLCA1NDYzNiwgCi0gICAgNTQ2NTIsIDU0NjY4LCA1NDY4NCwgNTQ3MDAsIDU0NzE2LCA1NDczMiwgNTQ3NDgsIDU0NzY0LCA1NDc4MCwgNTQ3OTYsIAotICAgIDU0ODEyLCA1NDgyOCwgNTQ4NDQsIDU0ODYwLCA1NDg3NiwgNTQ4OTIsIDU0OTA4LCA1NDkyNCwgNTQ5NDAsIDU0OTU2LCAKLSAgICA1NDk3MiwgNTQ5ODgsIDU1MDA0LCA1NTAyMCwgNTUwMzYsIDU1MDUyLCA1NTA2OCwgNTUwODQsIDU1MTAwLCA1NTExNiwgCi0gICAgNTUxMzIsIDU1MTQ4LCA1NTE2NCwgNTUxODAsIDU1MTk2LCA1NTIxMiwgNTUyMjgsIDU1MjQ0LCA1NTI2MCwgNTUyNzYsIAotICAgIDU1MjkyLCA1NTMwOCwgNTUzMjQsIDU1MzQwLCA1NTM1NiwgNTUzNzIsIDU1Mzg4LCA1NTQwNCwgNTU0MjAsIDU1NDM2LCAKLSAgICA1NTQ1MiwgNTU0NjgsIDU1NDg0LCA1NTUwMCwgNTU1MTYsIDU1NTMyLCA1NTU0OCwgNTU1NjQsIDU1NTgwLCA1NTU5NiwgCi0gICAgNTU2MTIsIDU1NjI4LCA1NTY0NCwgNTU2NjAsIDU1Njc2LCA1NTY5MiwgNTU3MDgsIDU1NzI0LCA1NTc0MCwgNTU3NTYsIAotICAgIDU1NzcyLCA1NTc4OCwgNTU4MDQsIDU1ODIwLCA1NTgzNiwgNTU4NTIsIDU1ODY4LCA1NTg4NCwgNTU5MDAsIDU1OTE2LCAKLSAgICA1NTkzMiwgNTU5NDgsIDU1OTY0LCA1NTk4MCwgNTU5OTYsIDU2MDEyLCA1NjAyOCwgNTYwNDQsIDU2MDYwLCA1NjA3NiwgCi0gICAgNTYwOTIsIDU2MTA4LCA1NjEyNCwgNTYxNDAsIDU2MTU2LCA1NjE3MiwgNTYxODgsIDU2MjA0LCA1NjIyMCwgNTYyMzYsIAotICAgIDU2MjUyLCA1NjI2OCwgNTYyODQsIDU2MzAwLCA1NjMxNiwgNTYzMzIsIDU2MzQ4LCA1NjM2NCwgNTYzODAsIDU2Mzk2LCAKLSAgICA1NjQxMiwgNTY0MjgsIDU2NDQ0LCA1NjQ2MCwgNTY0NzYsIDU2NDkyLCA1NjUwOCwgNTY1MjQsIDU2NTQwLCA1NjU1NiwgCi0gICAgNTY1NzIsIDU2NTg4LCA1NjYwNCwgNTY2MjAsIDU2NjM2LCA1NjY1MiwgNTY2NjgsIDU2Njg0LCA1NjcwMCwgNTY3MTYsIAotICAgIDU2NzMyLCA1Njc0OCwgNTY3NjQsIDU2NzgwLCA1Njc5NiwgNTY4MTIsIDU2ODI4LCA1Njg0NCwgNTY4NjAsIDU2ODc2LCAKLSAgICA1Njg5MiwgNTY5MDgsIDU2OTI0LCA1Njk0MCwgNTY5NTYsIDU2OTcyLCA1Njk4OCwgNTcwMDQsIDU3MDIwLCA1NzAzNiwgCi0gICAgNTcwNTIsIDU3MDY4LCA1NzA4NCwgNTcxMDAsIDU3MTE2LCA1NzEzMiwgNTcxNDgsIDU3MTY0LCA1NzE4MCwgNTcxOTYsIAotICAgIDU3MjEyLCA1NzIyOCwgNTcyNDQsIDU3MjYwLCA1NzI3NiwgNTcyOTIsIDU3MzA4LCA1NzMyNCwgNTczNDAsIDU3MzU2LCAKLSAgICA1NzM3MiwgNTczODgsIDU3NDA0LCA1NzQyMCwgNTc0MzYsIDU3NDUyLCA1NzQ2OCwgNTc0ODQsIDU3NTAwLCA1NzUxNiwgCi0gICAgNTc1MzIsIDU3NTQ4LCA1NzU2NCwgNTc1ODAsIDU3NTk2LCA1NzYxMiwgNTc2MjgsIDU3NjQ0LCA1NzY2MCwgNTc2NzYsIAotICAgIDU3NjkyLCA1NzcwOCwgNTc3MjQsIDU3NzQwLCA1Nzc1NiwgNTc3NzIsIDU3Nzg4LCA1NzgwNCwgNTc4MjAsIDU3ODM2LCAKLSAgICA1Nzg1MiwgNTc4NjgsIDU3ODg0LCA1NzkwMCwgNTc5MTYsIDU3OTMyLCA1Nzk0OCwgNTc5NjQsIDU3OTgwLCA1Nzk5NiwgCi0gICAgNTgwMTIsIDU4MDI4LCA1ODA0NCwgNTgwNjAsIDU4MDc2LCA1ODA5MiwgNTgxMDgsIDU4MTI0LCA1ODE0MCwgNTgxNTYsIAotICAgIDU4MTcyLCA1ODE4OCwgNTgyMDQsIDU4MjE5LCAxNjc2MiwgNTgyMjgsIDU4MjM0LCA1ODI0MCwgNTgyNTAsIDU4MjU4LCAKLSAgICAxNDg5NCwgMTU0NDUsIDk5NjAsIDU4MjcxLCAxNTIwLCA1ODI3OSwgMzc2MSwgMjc0MzIsIDcxODMsIDU4Mjg1LCA1ODI5MCwgCi0gICAgNTgyOTUsIDU4MzAwLCA1ODMwNSwgNTgzMTEsIDU4MzE2LCA1ODMyMiwgNTgzMjcsIDU4MzMzLCA1ODMzOCwgNTgzNDMsIAotICAgIDU4MzQ4LCA1ODM1MywgNTgzNTksIDU4MzY0LCA1ODM2OSwgNTgzNzQsIDU4Mzc5LCA1ODM4NCwgNTgzODksIDU4Mzk0LCAKLSAgICA1ODQwMCwgNTg0MDUsIDU4NDExLCA1ODQxOCwgMjU2MSwgNTg0MjMsIDU4NDI5LCA4NTI2LCA1ODQzMywgNTg0MzgsIAotICAgIDU4NDQ1LCA1ODQ1MywgNDAsIDU4NDU3LCA1ODQ2MywgNTg0NjgsIDU4NDczLCA1ODQ3NywgNTg0ODIsIDU4NDg2LCA1ODQ5MCwgCi0gICAgMTA2ODQsIDU4NDk0LCA1ODUwNCwgNTg1MTcsIDU4NTI4LCA1ODU0MSwgNTg1NDgsIDU4NTU0LCA1ODU1OSwgNTg1NjUsIAotICAgIDU4NTcxLCA1ODU3NywgNTg1ODIsIDU4NTg3LCA1ODU5MiwgNTg1OTcsIDU4NjAxLCA1ODYwNiwgNTg2MTEsIDU4NjE2LCAKLSAgICA1ODYyMiwgNTg2MjgsIDU4NjM0LCA1ODYzOSwgNTg2NDMsIDU4NjQ4LCA1ODY1MywgNTg2NTcsIDU4NjYyLCA1ODY2NywgCi0gICAgNTg2NzIsIDU4Njc2LCAxMDcwMCwgMTA3MTEsIDEwNzE2LCAxNTYzLCA1ODY4MCwgMTU2OCwgNTg2ODYsIDE2MjM5LCAKLSAgICA1ODY4OSwgNTg2OTUsIDE1OTksIDU4NzAxLCAxNjA1LCAxNjExLCAxMDc0NiwgNTg3MDYsIDU4NzE0LCA1ODcyMSwgNTg3MjUsIAotICAgIDU4NzMxLCA1ODczNiwgMzA5NzcsIDU4NzQxLCA1ODc0OCwgNTg3NTMsIDU4NzU3LCA1ODc2MSwgMTYxNiwgMTYzMzEsIAotICAgIDU4NzcwLCA1ODc3NCwgMTYzNDIsIDExMjUsIDU4Nzc4LCA1ODc4NSwgNTg3OTAsIDU4Nzk0LCAxNjM2NywgMTYyMCwgCi0gICAgMzczNTAsIDU4Nzk3LCA1ODgwMiwgNTg4MTIsIDU4ODIxLCA1ODgyNiwgNTg4MzAsIDU4ODM2LCAxNjI1LCAzOTI1OSwgCi0gICAgNTg4NDEsIDU4ODUwLCA1ODg1NiwgNTg4NjEsIDEwOTA0LCAxMDkxMCwgNTg4NjcsIDU4ODc5LCA1ODg5NiwgNTg5MTMsIAotICAgIDU4OTMwLCA1ODk0NywgNTg5NjQsIDU4OTgxLCA1ODk5OCwgNTkwMTUsIDU5MDMyLCA1OTA0OSwgNTkwNjYsIDU5MDgzLCAKLSAgICA1OTEwMCwgNTkxMTcsIDU5MTM0LCA1OTE1MSwgNTkxNjgsIDU5MTg1LCA1OTIwMiwgNTkyMTksIDU5MjM2LCA1OTI1MywgCi0gICAgNTkyNzAsIDU5Mjg3LCA1OTMwNCwgNTkzMjEsIDU5MzM4LCA1OTM1NSwgNTkzNzIsIDU5Mzg5LCA1OTQwNiwgNTk0MjMsIAotICAgIDU5NDQwLCA1OTQ1NywgNTk0NzQsIDU5NDkxLCA1OTUwOCwgNTk1MjUsIDU5NTQyLCA1OTU1OSwgNTk1NzYsIDU5NTkzLCAKLSAgICA1OTYxMCwgNTk2MjcsIDU5NjQ0LCA1OTY2MSwgNTk2NzgsIDU5Njk1LCA1OTcxMiwgNTk3MjMsIDU5NzI4LCAxNjMwLCAKLSAgICA1OTczMiwgNTk3MzgsIDU5NzQzLCA1OTc0OCwgOTMyNiwgMTYzNSwgNTk3NTQsIDU5NzYzLCAyNzczMSwgNTk3NjgsIAotICAgIDU5Nzc5LCA1OTc4OSwgNTk3OTQsIDU5ODAxLCA1OTgwNywgNTk4MTIsIDU5ODE3LCAxNjYxOSwgNTk4MjEsIDEwOTIxLCAKLSAgICAxNjQwLCAxMDkyNiwgNTk4MjcsIDU5ODMyLCA1OTgzOCwgNTk4NDMsIDU5ODQ4LCA1OTg1MywgNTk4NTgsIDU5ODYzLCAKLSAgICA1OTg2OCwgNTk4NzMsIDU5ODc5LCA1OTg4NSwgNTk4OTEsIDU5ODk2LCA1OTkwMCwgNTk5MDUsIDU5OTEwLCA1OTkxNCwgCi0gICAgNTk5MTksIDU5OTI0LCA1OTkyOSwgNTk5MzMsIDU5OTM4LCA1OTk0NCwgNTk5NDksIDU5OTU0LCA1OTk1OCwgNTk5NjMsIAotICAgIDU5OTY4LCA1OTk3NCwgNTk5NzksIDU5OTg0LCA1OTk5MCwgNTk5OTYsIDYwMDAxLCA2MDAwNSwgNjAwMTAsIDYwMDE1LCAKLSAgICA2MDAyMCwgNjAwMjQsIDYwMDI5LCA2MDAzNCwgNjAwMzksIDYwMDQ1LCA2MDA1MSwgNjAwNTYsIDYwMDYwLCA2MDA2NCwgCi0gICAgNjAwNjksIDYwMDc0LCA2MDA3OSwgMjkxMjksIDYwMDgzLCA2MDA4OCwgNjAwOTMsIDYwMDk5LCA2MDEwNCwgNjAxMDksIAotICAgIDYwMTEzLCA2MDExOCwgNjAxMjMsIDYwMTI5LCA2MDEzNCwgNjAxMzksIDYwMTQ1LCA2MDE1MSwgNjAxNTYsIDYwMTYwLCAKLSAgICA2MDE2NSwgNjAxNzAsIDYwMTc0LCA2MDE3OSwgNjAxODQsIDYwMTg5LCA2MDE5NSwgNjAyMDEsIDYwMjA2LCA2MDIxMCwgCi0gICAgNjAyMTUsIDYwMjIwLCA2MDIyNCwgNjAyMjksIDYwMjM0LCA2MDIzOSwgNjAyNDMsIDYwMjQ2LCAzMTYzOSwgNjAyNTEsIAotICAgIDYwMjU5LCAxNjY4NSwgMzY2MywgMTEwMTcsIDYwMjY1LCA2MDI3NSwgNjAyOTAsIDExMDIyLCA2MDMwMSwgNjAzMDYsIAotICAgIDYwMzE3LCA2MDMyOSwgNjAzNDEsIDYwMzUzLCAyNjk1LCA2MDM2NSwgNjAzNzAsIDYwMzgyLCA2MDM4NiwgNjAzOTIsIAotICAgIDYwMzk4LCA2MDQwMywgMTY1MiwgMTA3OCwgNjA0MTIsIDYwNDE3LCAzOTMwOSwgNjA0MjEsIDYwNDI1LCA2MDQzMCwgCi0gICAgNjA0MzQsIDE2NzcwLCA2MDQzOSwgNjA0NDIsIDYwNDUwLCA2MDQ1OCwgMTY1NiwgMTEwNDcsIDExMDUzLCAxNjYxLCAKLSAgICA2MDQ2NiwgNjA0NzMsIDYwNDc4LCA2MDQ4NywgNjA0OTcsIDYwNTA0LCA2MDUwOSwgNjA1MTQsIDE2NjYsIDYwNTIxLCAKLSAgICA2MDUyNiwgMTY4ODUsIDYwNTMwLCA2MDUzNSwgNjA1NDIsIDYwNTQ4LCA2MDU1MiwgNjA1NjMsIDYwNTczLCAxNjkwNywgCi0gICAgOTIzNCwgOTI0MSwgMTY3MSwgNjA1ODAsIDYwNTg2LCA2MDU5NCwgNjA2MDEsIDYwNjA3LCA2MDYxNCwgNjA2MjYsIDYwNjMyLCAKLSAgICA2MDYzNywgNjA2NDksIDYwNjYwLCA2MDY2OSwgNjA2NzksIDM3NDAsIDMwODEzLCAzMDgyMiwgMTY5NDcsIDE2NzYsIDE2ODAsIAotICAgIDYwNjg3LCA2MDY5OCwgNjA3MDMsIDE2ODMsIDYwNzExLCA2MDcxNiwgMTY5OTgsIDYwNzI4LCA2MDczNCwgNjA3MzksIAotICAgIDYwNzQ3LCAxNjg4LCA2MDc1MiwgNjA3NTcsIDYwNzY1LCA2MDc3MywgNjA3ODAsIDYwNzg5LCA2MDc5NywgNjA4MDYsIAotICAgIDE2OTMsIDYwODEwLCAxNjk4LCA2MDgxNSwgNjA4MjIsIDE3MDcyLCA2MDgzMCwgNjA4MzYsIDYwODQxLCA2MDg0OSwgCi0gICAgNjA4NTYsIDYwODY0LCAyMjU3NCwgNjA4NjksIDExMTgyLCA2MDg3OCwgNjA4ODQsIDYwODkxLCA2MDg5OCwgNjA5MDQsIAotICAgIDYwOTE0LCA2MDkyMCwgNjA5MjUsIDYwOTM2LCA2MDk0MSwgNjA5NDksIDExMTkxLCAxMTE5NiwgNjA5NTcsIDYwOTYzLCAKLSAgICA2MDk3MSwgMzgwNSwgMTcxMTQsIDM5Mzk3LCA2MDk3NiwgNjA5ODIsIDYwOTg3LCA2MDk5NSwgNjEwMDIsIDEyMDM2LCAKLSAgICA2MTAwNywgNjEwMTMsIDE3MDksIDYxMDE4LCA2MTAyMSwgMTEzMiwgNjEwMjcsIDYxMDMyLCA2MTAzNywgNjEwNDMsIAotICAgIDYxMDQ4LCA2MTA1MywgNjEwNTgsIDYxMDYzLCA2MTA2OCwgNjEwNzMsIDE3MTgsIDksIDYxMDc5LCA2MTA4MywgNjEwODgsIAotICAgIDYxMDkyLCA2MTA5NiwgNjExMDAsIDMxODc5LCA2MTEwNSwgNjExMTAsIDYxMTE1LCA2MTExOSwgNjExMjIsIDYxMTI2LCAKLSAgICA2MTEzMCwgNjExMzUsIDYxMTM5LCA2MTE0NCwgNjExNDgsIDM0NjE2LCAzNDYyMSwgMzQ2MjYsIDYxMTUxLCA2MTE1OCwgCi0gICAgNjExNjQsIDM5MTE4LCA2MTE3NCwgMzQ2MzIsIDMyMTM3LCAzMTg5NCwgMzE5MDAsIDM0NjQ4LCAzMTkwNiwgNjExNzksIAotICAgIDYxMTg0LCAzMjE3MCwgNjExODgsIDYxMTkxLCA2MTE5NSwgNjEyMDIsIDYxMjA1LCA2MTIxMCwgNjEyMTQsIDYxMjE4LCAKLSAgICA2MTIyMSwgNjEyMzEsIDYxMjQzLCA2MTI1MCwgNjEyNTYsIDYxMjYzLCAzMzU3MywgNjEyNjYsIDg1NDMsIDg3NywgNjEyNjksIAotICAgIDYxMjczLCA2MTI3OCwgMzY5MCwgNjEyODIsIDYxMjg1LCAxMzYzMiwgNjEyOTIsIDYxMjk5LCA2MTMxMiwgNjEzMjAsIAotICAgIDYxMzI5LCA2MTMzOCwgNjEzNDMsIDYxMzUzLCA2MTM2NiwgNjEzNzgsIDYxMzg1LCA2MTM5MCwgNjEzOTksIDYxNDEyLCAKLSAgICAzNjA2MCwgNjE0MzAsIDYxNDM1LCA2MTQ0MiwgNjE0NDgsIDY1NiwgNjE0NTMsIDYxNDYxLCA2MTQ2OCwgMjcyNzEsIDYyNywgCi0gICAgNjE0NzQsIDYxNDgwLCA2MTQ5MCwgNjE0OTYsIDYxNTAxLCAzMTkyNCwgNjAwMywgMzE5MzgsIDYxNTA1LCA2MTUxNSwgCi0gICAgNjE1MjAsIDYxNTMwLCA2MTU0NSwgNjE1NTEsIDYxNTU3LCAzMTk0OCwgNjE1NjIsIDMxMDk0LCA2MTU2NiwgNjE1NzEsIAotICAgIDYxNTc2LCA2MTU4MCwgNjE1ODUsIDE2OTUwLCA2MTU5MiwgNjE1OTcsIDYxNjAxLCA2MDQ0LCAzMTk3NCwgNjE2MDUsIAotICAgIDYxNjExLCAzMTIsIDYxNjIxLCA2MTYyOCwgNjE2MzUsIDYxNjQwLCA2MTY0OSwgNTg4MDYsIDYxNjU1LCA2MTY2MywgCi0gICAgNjE2NjcsIDYxNjcxLCA2MTY3NSwgNjE2NzksIDYxNjg0LCA2MTY4OCwgNjE2OTQsIDYxNzAyLCA2MTcwNywgNjE3MTIsIAotICAgIDYxNzE2LCA2MTcyMSwgNjE3MjUsIDYxNzI5LCA2MTczNSwgNjE3NDEsIDYxNzQ2LCA2MTc1MCwgMzIwOTgsIDYxNzU1LCAKLSAgICAzMjEwNCwgMzIxMTAsIDYxNzYwLCA2MTc2NiwgNjE3NzMsIDYxNzc4LCA2MTc4MiwgMzExMTEsIDE2NjEyLCA2MTc4NSwgCi0gICAgNjE3ODksIDYxNzk0LCA2MTgwMSwgNjE4MDcsIDYxODExLCA2MTgxNiwgMzg4MjgsIDYxODIyLCA2MTgyNiwgNjE4MzAsIAotICAgIDYxODM1LCA2MTg0MSwgNjE4NDcsIDYxODU5LCA2MTg2OCwgNjE4NzgsIDYxODg0LCA2MTg5MSwgNjE4OTYsIDYxOTAxLCAKLSAgICA2MTkwNSwgNjE5MDgsIDYxOTE0LCA2MTkyMSwgNjE5MjYsIDYxOTMxLCA2MTkzOCwgNjE5NDUsIDYxOTUxLCA2MTk1NiwgCi0gICAgNjE5NjEsIDYxOTY5LCAzMjExNSwgMjQyMywgNjE5NzQsIDYxOTc5LCA2MTk4NSwgNjE5OTAsIDYxOTk2LCA2MjAwMSwgCi0gICAgNjIwMDYsIDYyMDExLCA2MjAxNywgMzIxMzYsIDYyMDIyLCA2MjAyOCwgNjIwMzQsIDYyMDQwLCAzMjIwMCwgNjIwNDUsIAotICAgIDYyMDUwLCA2MjA1NSwgMzIyMTEsIDYyMDYwLCA2MjA2NSwgNjIwNzAsIDYyMDc2LCA2MjA4MiwgMzIyMTYsIDYyMDg3LCAKLSAgICA2MjA5MiwgNjIwOTcsIDMyMjcxLCAzMjI3NywgNjIxMDIsIDYyMTA3LCAzMjI4MiwgNjIxMTIsIDI3OTU4LCAzMjMwNCwgCi0gICAgMzIzMDgsIDYyMTE3LCA2MjA5MywgNjIxMjEsIDYyMTI5LCA2MjEzNSwgNjIxNDMsIDYyMTUwLCA2MjE1NiwgNjIxNjYsIAotICAgIDYyMTcyLCA2MjE3OSwgMTA2MzEsIDMyMzIyLCA2MjE4NSwgNjIxOTgsIDYyMjA3LCA2MjIxMywgNjIyMjIsIDYyMjI4LCAKLSAgICAyMzUxMiwgNjIyMzUsIDYyMjQyLCA2MjI1MiwgMzIyNzIsIDYyMjU1LCA2MjI2MiwgNjIyNjcsIDYyMjcxLCA2MjI3NSwgCi0gICAgNjIyODAsIDYxMjAsIDYyMjg0LCA2MjI4OSwgNjIyOTQsIDM0NzEwLCAzNDcxNSwgNjIyOTgsIDM0NzI5LCA2MjMwMywgCi0gICAgMzQ3MzQsIDYyMzA4LCA2MjMxNCwgMzQ3NDYsIDM0NzUyLCAzNDc1OCwgNjIzMTksIDYyMzI1LCAyMjUzOSwgNjIzMzYsIAotICAgIDYyMzM5LCA2MjM1MSwgNjIzNTksIDMyMzQ1LCA2MjM2MywgNjIzNzIsIDYyMzgyLCA2MjM5MSwgMzIzNTUsIDYyMzk2LCAKLSAgICA2MjQwMywgNjI0MTIsIDYyNDE4LCA2MjQyNiwgNjI0MzMsIDYwOTUsIDQzOTcsIDYyNDM4LCAzMjI4MywgNjI0NDQsIAotICAgIDYyNDQ3LCA2MjQ1MywgNjI0NjAsIDYyNDY1LCA2MjQ3MCwgMjM0MjIsIDYyNDc0LCA2MjQ4MCwgNjI0ODYsIDYyNDkxLCAKLSAgICA2MjQ5NiwgNjI1MDAsIDYyNTA2LCA2MjUxMiwgMzM0ODMsIDg2MywgMzU3MjMsIDM2NjQ0LCAzNjY1MCwgMzIzOTEsIAotICAgIDYyNTE3LCA2MjUyMSwgNjI1MjUsIDYyNTI4LCA2MjU0MSwgNjI1NDcsIDYyNTUxLCA2MjU1NCwgNjI1NTksIDMzNzg2LCAKLSAgICA2MjU2MywgMzExMTYsIDIxMjg3LCA2MjU2OSwgNjAyNCwgNjAzMiwgOTA3NSwgNjI1NzIsIDYyNTc3LCA2MjU4MiwgNjI1ODcsIAotICAgIDYyNTkyLCA2MjU5NywgNjI2MDIsIDYyNjA3LCA2MjYxMiwgNjI2MTcsIDYyNjIzLCA2MjYyOCwgNjI2MzMsIDYyNjM5LCAKLSAgICA2MjY0NCwgNjI2NDksIDYyNjU0LCA2MjY1OSwgNjI2NjQsIDYyNjY5LCA2MjY3NSwgNjI2ODAsIDYyNjg2LCA2MjY5MSwgCi0gICAgNjI2OTYsIDYyNzAxLCA2MjcwNiwgNjI3MTEsIDYyNzE2LCA2MjcyMSwgNjI3MjYsIDYyNzMxLCA2MjczNiwgNjI3NDIsIAotICAgIDYyNzQ3LCA2Mjc1MiwgNjI3NTcsIDYyNzYyLCA2Mjc2NywgNjI3NzIsIDYyNzc4LCA2Mjc4MywgNjI3ODgsIDYyNzkzLCAKLSAgICA2Mjc5OCwgNjI4MDMsIDYyODA4LCA2MjgxMywgNjI4MTgsIDYyODIzLCA2MjgyOSwgNjI4MzQsIDYyODM5LCA2Mjg0NCwgCi0gICAgNjI4NDksIDYyODU1LCA2Mjg2MSwgNjI4NjYsIDYyODcyLCA2Mjg3NywgNjI4ODIsIDYyODg3LCA2Mjg5MiwgNjI4OTcsIAotICAgIDE1MTMsIDI0NSwgNjI5MDIsIDYyOTA2LCA2MjkxMCwgNjI5MTQsIDI1MTMzLCA2MjkxOCwgNjI5MjIsIDYyOTI3LCA2MjkzMSwgCi0gICAgNjI5MzYsIDYyOTQwLCA2Mjk0NSwgNjI5NTAsIDYyOTU1LCA2Mjk1OSwgNjI5NjMsIDYyOTY4LCA2Mjk3MiwgMTMzNjksIAotICAgIDYyOTc3LCA2Mjk4MSwgNjI5ODgsIDYyOTk4LCAxNTIwNiwgNjMwMDcsIDYzMDE2LCA2MzAyMCwgNjMwMjUsIDYzMDMwLCAKLSAgICA2MzAzNCwgMjQ5MjQsIDMwMTksIDYzMDM4LCA2MzA0NCwgMTczNjMsIDYzMDQ4LCA2MzA1NywgNjMwNjUsIDYzMDcxLCAKLSAgICA2MzA4MywgNjMwOTUsIDYzMDk5LCA2MzEwNCwgNjMxMDgsIDYzMTE0LCA2MzEyMCwgNjMxMjUsIDYzMTM1LCA2MzE0NSwgCi0gICAgNjMxNTEsIDYzMTU2LCA2MzE2MCwgNjMxNjUsIDYzMTcxLCA2MzE4MCwgNjMxODksIDYzMTk3LCAxNTU2MCwgNjMyMDEsIAotICAgIDYzMjEwLCA2MzIxOCwgNjMyMzAsIDYzMjQxLCA2MzI1MiwgNjMyNjEsIDYzMjY1LCA2MzI3NCwgNjMyODQsIDYzMjkyLCAKLSAgICA2MzI5OCwgNjMzMDMsIDYzMzA5LCA2MzMxNCwgOTgsIDMwOTI1LCA2MzMyNSwgMjYyNjYsIDI2Mjc2LCA2MzMzMSwgNjMzMzgsIAotICAgIDYzMzQ0LCA2MzM0OCwgNjMzNTgsIDYzMzY5LCA2MzM3NywgNjMzODYsIDYzMzkxLCA2MzM5NiwgNjM0MDAsIDE3MzE3LCAKLSAgICA2MzQwOCwgNjM0MTIsIDYzNDE4LCA2MzQyOCwgNjM0MzUsIDYzNDQxLCAzNDgwOSwgNjM0NDcsIDYzNDQ5LCA2MzQ1MiwgCi0gICAgNjM0NTYsIDYzNDY2LCA2MzQ3MiwgNjM0NzksIDEzMzE1LCA2MzQ4NiwgNjM0OTIsIDYzNTAxLCA2MzUxMCwgNjM1MTYsIAotICAgIDYzNTIyLCA2MzUyOCwgNjM1MzMsIDYzNTQwLCA2MzU0NywgNjM1NTMsIDYzNTY2LCA2MzU3NSwgNjM1ODQsIDYzNTg5LCAKLSAgICA2MzU5MywgNjM1OTksIDYzNjA2LCA2MzYxMywgNjM2MjAsIDYzNjI3LCA2MzYzNCwgNjM2MzksIDYzNjQzLCA2MzY0NywgCi0gICAgNjM2NTAsIDYzNjYwLCA2MzY2NCwgNjM2NzYsIDYzNjg1LCA2MzY4OSwgNjM2OTQsIDYzNjk4LCA2MzcwNCwgNjM3MDksIAotICAgIDYzNzE2LCA2MzcyNSwgNjM3MzMsIDYzNzQxLCA2Mzc0NiwgNjM3NTAsIDYzNzU1LCA2Mzc2MCwgNjM3NzAsIDYzNzc4LCAKLSAgICA2Mzc4MywgNjM3ODcsIDYzNzkxLCA2Mzc5NywgNjM4MDksIDYzODE3LCA2MzgyNywgNjM4MzQsIDYzODQwLCA2Mzg0NSwgCi0gICAgNjM4NDksIDYzODUzLCA2Mzg1NywgNjM4NjYsIDYzODc1LCA2Mzg4NCwgNjM4OTAsIDYzODk2LCA2MzkwMiwgNjM5MDcsIAotICAgIDYzOTE0LCA2MzkyMCwgNjM5MjgsIDYzOTM1LCAxMjQ2MywgNjM5NDEsIDYzOTQ3LCA2Mzk1MSwgMTQyNDQsIDYzOTU1LCAKLSAgICA2Mzk2MCwgNjM5NzAsIDYzOTc5LCA2Mzk4NSwgNjM5OTEsIDYzOTk5LCA2NDAwNiwgNjQwMTAsIDY0MDE0LCA2NDAyMCwgCi0gICAgNjQwMjgsIDY0MDM1LCA2NDA0MSwgNjQwNTIsIDY0MDU2LCA2NDA2MCwgNjQwNjQsIDY0MDY3LCA2NDA3MywgNjQwNzgsIAotICAgIDY0MDgyLCA2NDA4NiwgNjQwOTUsIDY0MTAzLCA2NDExMCwgNjQxMTYsIDY0MTIzLCAyNDA0NiwgMzg4NzAsIDY0MTI4LCAKLSAgICA2NDEzNiwgNjQxNDAsIDY0MTQ0LCA2NDE0NywgNjQxNTUsIDY0MTYyLCA2NDE2OCwgNjQxNzcsIDY0MTg1LCA2NDE5MSwgCi0gICAgNjQxOTYsIDY0MjAwLCA2NDIwNSwgNjQyMDksIDY0MjEzLCA2NDIxOCwgNjQyMjcsIDY0MjMxLCA2NDIzOCwgNjQyNDUsIAotICAgIDY0MjUxLCA2NDI1OSwgNjQyNjUsIDY0Mjc2LCA2NDI4NCwgNjQyOTAsIDIyNjY5LCA2NDI5OSwgNjQzMDYsIDY0MzEzLCAKLSAgICA2NDMyMCwgNjQzMjcsIDY0MzM0LCA0MTkwNywgMTMxNTMsIDY0MzQxLCA2NDM0OCwgNjQzNTMsIDM0ODQ1LCA2MjE3LCAKLSAgICA2NDM1OSwgNjQzNjQsIDY0MzY5LCA2NDM3NSwgNjQzODEsIDY0Mzg3LCA2NDM5MiwgNjQzOTcsIDY0NDAyLCA2NDQwNywgCi0gICAgNjQ0MTMsIDY0NDE4LCA2NDQyNCwgNjQ0MjksIDY0NDM1LCA2NDQ0MCwgNjQ0NDUsIDY0NDUwLCA2NDQ1NSwgNjQ0NjAsIAotICAgIDY0NDY1LCA2NDQ3MCwgNjQ0NzYsIDY0NDgxLCA2NDQ4NywgNjQ0OTIsIDY0NDk3LCA2NDUwMiwgNjQ1MDcsIDY0NTEyLCAKLSAgICA2NDUxNywgNjQ1MjMsIDY0NTI4LCA2NDUzMywgNjQ1MzgsIDY0NTQzLCA2NDU0OCwgNjQ1NTMsIDY0NTU4LCA2NDU2MywgCi0gICAgNjQ1NjgsIDY0NTczLCA2NDU3OSwgNjQ1ODQsIDY0NTg5LCA2NDU5NCwgNjQ1OTksIDY0NjA0LCA2NDYwOSwgNjQ2MTQsIAotICAgIDY0NjE5LCA2NDYyNSwgNjQ2MzAsIDY0NjM1LCA2NDY0MCwgNjQ2NDUsIDY0NjUwLCA2NDY1NSwgNjQ2NjAsIDY0NjY1LCAKLSAgICA2NDY3MCwgNjQ2NzUsIDY0NjgwLCA2NDY4NSwgNjQ2OTEsIDE4MzQsIDIyNCwgMzc0NDYsIDY0Njk2LCA2NDY5OSwgNjQ3MDQsIAotICAgIDY0NzA4LCA2NDcxMSwgNjQ3MTYsIDYzNzM3LCA2NDcyNywgNjQ3MzcsIDY0NzQ0LCA2NDc2MCwgNjQ3NjksIDY0Nzc5LCAKLSAgICA2NDc4OSwgNjQ3OTcsIDY0ODExLCA2NDgxOSwgNjQ4MjMsIDY0ODI2LCA2NDgzMywgNjQ4MzksIDY0ODUwLCA2NDg2MiwgCi0gICAgNjQ4NzMsIDY0ODgyLCA2NDg4OSwgMTI5NywgMjMzMTEsIDY0ODk5LCAyNTkwLCA2NDkwMywgNjQ5MTIsIDExMzgsIDE3MjkwLCAKLSAgICAzODA4MywgNjQ5MjAsIDY0OTI4LCA2NDk0MiwgNjQ5NTUsIDY0OTU5LCA2NDk2NCwgNjQ5NjksIDY0OTc0LCA2NDk4MCwgCi0gICAgNjQ5ODYsIDY0OTkxLCA4NTM1LCA2NDk5NiwgNjUwMDAsIDY1MDA4LCAxMTA0OCwgNjUwMTMsIDY1MDE5LCA2NTAyOCwgCi0gICAgMTcyMSwgMTEwNjAsIDczNiwgNjUwMzIsIDY1MDQxLCA2NTA1MSwgMjcwMzAsIDY1MDYwLCA2NTA2NiwgMTY4NjIsIDY1MDcyLCAKLSAgICA2NTA3NiwgMzk2NCwgMTEzOTEsIDY1MDgyLCA2NTA4OSwgNjA2OTMsIDY1MDkzLCA2NTA5NywgMzk4OCwgMTg5LCAxNDE1OSwgCi0gICAgNjUxMDMsIDY1MTE1LCA2NTExOSwgNjUxMjUsIDI3NzUxLCA2NTEyOSwgMTEzNzksIDI3MzAsIDQsIDY1MTM0LCA2NTE0NCwgCi0gICAgNjUxNTAsIDY1MTYxLCA2NTE2OCwgNjUxNzQsIDY1MTgwLCA2NTE4OCwgNjUxOTUsIDY1MjAxLCA2NTIxMSwgNjUyMjEsIAotICAgIDY1MjMxLCAyMzQ5OSwgMTMwOSwgNjUyNDAsIDY1MjQ0LCA2NTI0OCwgNjUyNTQsIDY1MjU4LCAyNzUzLCAyNzU5LCA4NTMyLCAKLSAgICAyMjY0LCA2NTI2MiwgNjUyNjYsIDY1Mjc1LCA2NTI4MywgNjUyOTQsIDY1MzAyLCA2NTMxMCwgNjUzMTYsIDY1MzIxLCAKLSAgICA2NTMzMiwgNjUzNDMsIDY1MzUxLCA2NTM1NywgOTY5NCwgNjUzNjIsIDY1MzcwLCA2NTM3NCwgNjUzNzgsIDY1MzgyLCAKLSAgICA2NTM5NCwgMjgxMzYsIDY1NDAxLCA2NTQxMSwgNjU0MTcsIDY1NDIzLCA5Nzk2LCA2NTQzMywgNjU0NDQsIDY1NDU0LCAKLSAgICA2NTQ2MywgNjU0NjcsIDY1NDc0LCAxMTQwLCAxMTcwLCA2NTQ4NCwgNjU0ODksIDY1NDk3LCA2NTUwNSwgNjU1MTYsIAotICAgIDY1NTIzLCA2NTUzNywgMTQwODgsIDM5MywgNjU1NDcsIDY1NTUxLCA2NTU1OSwgNjU1NjgsIDY1NTc2LCA2NTU4MiwgCi0gICAgNjU1OTYsIDY1NjAzLCA2NTYwOSwgNjU2MTgsIDY1NjI1LCA2NTYzNSwgNjU2NDMsIDM4MTIsIDE1NiwgNjU2NTEsIDY1NjYyLCAKLSAgICA2NTY2NiwgNjU2NzgsIDI3OTQ5LCAxNjEsIDY1Njg0LCA2NTY4OSwgNjU2OTMsIDY1NzAwLCA2NTcwNiwgNjU3MTQsIAotICAgIDY1NzIxLCA4ODE4LCA2NTcyOCwgNjU3MzcsIDY1NzQ1LCAzODc4LCA2NTc1OCwgODE5OSwgNjU3NjIsIDI3OTgsIDQ0MywgCi0gICAgNjU3NjcsIDY1NzgwLCA2NTc4NSwgMTgzMywgNjUwLCA2NTc4OSwgMzg5NSwgNjU3OTcsIDY1ODAzLCA2NTgwNywgOTMxLCAKLSAgICA2NTgxNywgNjU4MjYsIDY1ODMxLCAxNDkyOCwgMTQ5MzUsIDQ1MjY5LCA2NTgzNSwgMzgyMiwgMTMwNDEsIDY1ODQzLCAKLSAgICA2NTg1MCwgMjM1NTUsIDY1ODU0LCA2NTg2MSwgNjU4NjcsIDY1ODcyLCA2NTg3NywgMTQ5NDgsIDM3MiwgNjU4ODIsIAotICAgIDY1ODk0LCA2NTkwMCwgNjU5MDgsIDI4MTAsIDE3NTMsIDY1OTE2LCA2NTkxOCwgNjU5MjMsIDY1OTI4LCA2NTkzMywgCi0gICAgNjU5MzksIDY1OTQ0LCA2NTk0OSwgNjU5NTQsIDY1OTU5LCA2NTk2NCwgNjU5NjksIDY1OTc1LCA2NTk4MCwgNjU5ODUsIAotICAgIDY1OTkwLCA2NTk5NSwgNjYwMDAsIDY2MDA1LCA2NjAxMCwgNjYwMTUsIDY2MDIxLCA2NjAyNiwgNjYwMzEsIDY2MDM2LCAKLSAgICA2NjA0MiwgNjYwNDcsIDY2MDUzLCA2NjA1OCwgNjYwNjMsIDY2MDY4LCA2NjA3MywgNjYwNzgsIDY2MDgzLCA2NjA4OCwgCi0gICAgNjYwOTQsIDY2MDk5LCA2NjEwNSwgNjYxMTAsIDY2MTE1LCA2NjEyMCwgNjYxMjUsIDY2MTMwLCA2NjEzNSwgNjYxNDAsIAotICAgIDY2MTQ1LCA2NjE1MSwgNjYxNTYsIDY2MTYxLCA2NjE2NiwgNjYxNzAsIDY2MTc0LCA2NjE3OSwgNjYxODMsIDY2MTg4LCAKLSAgICA2NjE5MywgNjYxOTksIDY2MjA0LCA2NjIwOCwgNjYyMTMsIDY2MjE3LCA2NjIyMCwgNjYyMjIsIDY2MjI2LCA2NjIyOSwgCi0gICAgNjYyMzQsIDY2MjM4LCA2NjI0MiwgNjYyNDYsIDY2MjUwLCA2NjI1OSwgNjYyNjMsIDMyNTQ5LCA2NjI2NiwgMzI1NTQsIAotICAgIDY2MjczLCA2NjI3OCwgMzI1NTksIDY2Mjg3LCA2NjI5NiwgMzI1NjUsIDY2MzAxLCAzMjU3MCwgNjYzMTAsIDY2MzE1LCAKLSAgICAxMTU3OCwgNjYzMTksIDY2MzI0LCA2NjMyOSwgMzI1NzUsIDY2MzMzLCA0MDIyNSwgNjYzMzcsIDY2MzQwLCA2NjM0NCwgCi0gICAgODIxMSwgNjYzNTAsIDY2MzU1LCA2NjM1OSwgMzcwNSwgMzI1ODAsIDY2MzYyLCA2NjM2NiwgNjYzNjksIDY2Mzc0LCAKLSAgICA2NjM3OCwgNjYzODQsIDY2MzkyLCA2NjQwNSwgNjY0MTQsIDY2NDIwLCA2NjQyNSwgNjY0MzEsIDY2NDM1LCA2NjQ0MSwgCi0gICAgNjY0NDksIDY2NDU0LCA2NjQ1OCwgNjY0NjUsIDY2NDcxLCA2NjQ3OSwgNjY0ODgsIDY2NDk2LCAzMjU4MywgNjY1MDMsIAotICAgIDY2NTEzLCA2NjUyMiwgNjY1MzUsIDY2NTQwLCA2NjU0NSwgNjY1NTQsIDY2NTYwLCA2NjU2NywgNjY1NzgsIDY2NTkwLCAKLSAgICA2NjU5NywgNjY2MDYsIDY2NjE1LCA2NjYyNCwgNjY2MzEsIDY2NjM3LCA2NjY0NCwgNjY2NTIsIDY2NjU5LCA2NjY2NywgCi0gICAgNjY2NzYsIDY2Njg0LCA2NjY5MSwgNjY2OTksIDY2NzA4LCA2NjcxNiwgNjY3MjUsIDY2NzM1LCA2Njc0NCwgNjY3NTIsIAotICAgIDY2NzU5LCA2Njc2NywgNjY3NzYsIDY2Nzg0LCA2Njc5MywgNjY4MDMsIDY2ODEyLCA2NjgyMCwgNjY4MjksIDY2ODM5LCAKLSAgICA2Njg0OCwgNjY4NTgsIDY2ODY5LCA2Njg3OSwgNjY4ODgsIDY2ODk2LCA2NjkwMywgNjY5MTEsIDY2OTIwLCA2NjkyOCwgCi0gICAgNjY5MzcsIDY2OTQ3LCA2Njk1NiwgNjY5NjQsIDY2OTczLCA2Njk4MywgNjY5OTIsIDY3MDAyLCA2NzAxMywgNjcwMjMsIAotICAgIDY3MDMyLCA2NzA0MCwgNjcwNDksIDY3MDU5LCA2NzA2OCwgNjcwNzgsIDY3MDg5LCA2NzA5OSwgNjcxMDgsIDY3MTE4LCAKLSAgICA2NzEyOSwgNjcxMzksIDY3MTUwLCA2NzE2MiwgNjcxNzMsIDY3MTgzLCA2NzE5MiwgNjcyMDAsIDY3MjA3LCA2NzIxNSwgCi0gICAgNjcyMjQsIDY3MjMyLCA2NzI0MSwgNjcyNTEsIDY3MjYwLCA2NzI2OCwgNjcyNzcsIDY3Mjg3LCA2NzI5NiwgNjczMDYsIAotICAgIDY3MzE3LCA2NzMyNywgNjczMzYsIDY3MzQ0LCA2NzM1MywgNjczNjMsIDY3MzcyLCA2NzM4MiwgNjczOTMsIDY3NDAzLCAKLSAgICA2NzQxMiwgNjc0MjIsIDY3NDMzLCA2NzQ0MywgNjc0NTQsIDY3NDY2LCA2NzQ3NywgNjc0ODcsIDY3NDk2LCA2NzUwNCwgCi0gICAgNjc1MTMsIDY3NTIzLCA2NzUzMiwgNjc1NDIsIDY3NTUzLCA2NzU2MywgNjc1NzIsIDY3NTgyLCA2NzU5MywgNjc2MDMsIAotICAgIDY3NjE0LCA2NzYyNiwgNjc2MzcsIDY3NjQ3LCA2NzY1NiwgNjc2NjYsIDY3Njc3LCA2NzY4NywgNjc2OTgsIDY3NzEwLCAKLSAgICA2NzcyMSwgNjc3MzEsIDY3NzQyLCA2Nzc1NCwgNjc3NjUsIDY3Nzc3LCA2Nzc5MCwgNjc4MDIsIDY3ODEzLCA2NzgyMywgCi0gICAgNjc4MzIsIDY3ODQwLCA2Nzg0NywgNjc4NTUsIDY3ODY0LCA2Nzg3MiwgNjc4ODEsIDY3ODkxLCA2NzkwMCwgNjc5MDgsIAotICAgIDY3OTE3LCA2NzkyNywgNjc5MzYsIDY3OTQ2LCA2Nzk1NywgNjc5NjcsIDY3OTc2LCA2Nzk4NCwgNjc5OTMsIDY4MDAzLCAKLSAgICA2ODAxMiwgNjgwMjIsIDY4MDMzLCA2ODA0MywgNjgwNTIsIDY4MDYyLCA2ODA3MywgNjgwODMsIDY4MDk0LCA2ODEwNiwgCi0gICAgNjgxMTcsIDY4MTI3LCA2ODEzNiwgNjgxNDQsIDY4MTUzLCA2ODE2MywgNjgxNzIsIDY4MTgyLCA2ODE5MywgNjgyMDMsIAotICAgIDY4MjEyLCA2ODIyMiwgNjgyMzMsIDY4MjQzLCA2ODI1NCwgNjgyNjYsIDY4Mjc3LCA2ODI4NywgNjgyOTYsIDY4MzA2LCAKLSAgICA2ODMxNywgNjgzMjcsIDY4MzM4LCA2ODM1MCwgNjgzNjEsIDY4MzcxLCA2ODM4MiwgNjgzOTQsIDY4NDA1LCA2ODQxNywgCi0gICAgNjg0MzAsIDY4NDQyLCA2ODQ1MywgNjg0NjMsIDY4NDcyLCA2ODQ4MCwgNjg0ODksIDY4NDk5LCA2ODUwOCwgNjg1MTgsIAotICAgIDY4NTI5LCA2ODUzOSwgNjg1NDgsIDY4NTU4LCA2ODU2OSwgNjg1NzksIDY4NTkwLCA2ODYwMiwgNjg2MTMsIDY4NjIzLCAKLSAgICA2ODYzMiwgNjg2NDIsIDY4NjUzLCA2ODY2MywgNjg2NzQsIDY4Njg2LCA2ODY5NywgNjg3MDcsIDY4NzE4LCA2ODczMCwgCi0gICAgNjg3NDEsIDY4NzUzLCA2ODc2NiwgNjg3NzgsIDY4Nzg5LCA2ODc5OSwgNjg4MDgsIDY4ODE4LCA2ODgyOSwgNjg4MzksIAotICAgIDY4ODUwLCA2ODg2MiwgNjg4NzMsIDY4ODgzLCA2ODg5NCwgNjg5MDYsIDY4OTE3LCA2ODkyOSwgNjg5NDIsIDY4OTU0LCAKLSAgICA2ODk2NSwgNjg5NzUsIDY4OTg2LCA2ODk5OCwgNjkwMDksIDY5MDIxLCA2OTAzNCwgNjkwNDYsIDY5MDU3LCA2OTA2OSwgCi0gICAgNjkwODIsIDY5MDk0LCA2OTEwNywgNjkxMjEsIDY5MTM0LCA2OTE0NiwgNjkxNTcsIDY5MTY3LCA2OTE3NiwgNjkxODQsIAotICAgIDY5MTkxLCA2OTE5NiwgODA1OCwgNjkyMDMsIDMyNTkzLCA2OTIwOCwgNjkyMTMsIDMyNTk4LCA2OTIxOSwgMjA5MjksIAotICAgIDMyNjAzLCA2OTIyNCwgNjkyMzAsIDY5MjM4LCA2OTI0NCwgNjkyNTAsIDY5MjU3LCA2OTI2NCwgNjkyNjksIDY5MjczLCAKLSAgICA2OTI3NiwgNjkyODAsIDY5Mjg5LCA2OTI5NSwgNjkzMDcsIDY5MzE4LCA2OTMyMiwgMzA4MSwgODAzMywgNjkzMjcsIAotICAgIDY5MzMwLCA2OTMzMiwgNjkzMzYsIDY5MzQwLCA2OTM0NCwgNjkzNTAsIDY5MzU1LCAyNTk0NCwgNjkzNjAsIDY5MzY0LCAKLSAgICA2OTM2NywgNjkzNzIsIDY5Mzc2LCA2OTM4MywgNjkzODksIDY5MzkzLCA2MTcwLCA2OTM5NywgMzI2MjAsIDY5NDAyLCAKLSAgICA2OTQwOSwgNjk0MTgsIDY5NDI2LCA2OTQzNywgNjk0NDUsIDY5NDUzLCA2OTQ2MCwgNjk0NjcsIDY5NDczLCA2OTQ4NCwgCi0gICAgMzI2MjUsIDY5NDg5LCA2OTUwMCwgNjk1MTIsIDY5NTIwLCA2OTUzMSwgNjk1NDAsIDY5NTUxLCA2OTU1NiwgNjk1NjQsIAotICAgIDI1NTYsIDY5NTY5LCAzNDI5NSwgNjk1ODIsIDY5NTg2LCA2OTU5OCwgNjk2MDYsIDY5NjExLCA2OTYxOSwgMTc0ODUsIAotICAgIDY5NjMwLCA2OTYzNiwgNjk2NDMsIDY5NjUxLCA2OTY1NywgMzI2MzUsIDY5NjYyLCAzOTE0LCA1ODI1NCwgNjk2NjksIAotICAgIDY5NjcyLCA2OTY4MCwgNjk2OTMsIDY5NzA2LCA2OTcxOSwgNjk3MzIsIDY5NzM5LCA2OTc1MCwgNjk3NTksIDQxNzI0LCAKLSAgICA0MTcyOSwgNjk3NjQsIDY5NzY4LCA2OTc3NiwgNjk3ODMsIDY5NzkyLCA2OTgwMCwgNjk4MDYsIDY5ODE1LCA2OTgyMywgCi0gICAgNjk4MzEsIDY5ODM1LCA2OTg0NCwgNjk4NTMsIDY5ODYzLCA2OTg3NiwgNjk4ODksIDY5ODk5LCAzMjY0MCwgNjk5MDUsIAotICAgIDY5OTEyLCA2OTkxOCwgMzI2NDYsIDY5OTIzLCA2OTkyNiwgNjk5MzAsIDY5OTM4LCA2OTk0NywgNDE0NjIsIDY5OTU1LCAKLSAgICA2OTk2NCwgNjk5NzIsIDY5OTc5LCA2OTk4NywgNjk5OTcsIDcwMDA2LCA3MDAxNSwgNzAwMjQsIDcwMDMyLCA3MDA0MywgCi0gICAgNzAwNTMsIDkzNjYsIDIxNTY3LCA3MDA2MiwgNzAwNjcsIDcwMDcyLCA3MDA3NiwgNzAwODAsIDcwMDg1LCA3MDA5MSwgCi0gICAgNzAwOTYsIDcwMTAxLCA3MDEwNywgNzAxMTIsIDcwMTE3LCAyMTUzMiwgNzAxMjIsIDcwMTI5LCA3MDEzNywgNzAxNDUsIAotICAgIDcwMTUwLCA3MDE1NywgNzAxNjQsIDcwMTY5LCA3MDE3MywgNzAxNzcsIDcwMTg1LCA3MDE5MywgMzI2NjMsIDcwMTk5LCAKLSAgICA3MDIwNSwgNzAyMTcsIDcwMjIzLCA3MDIyNywgNzAyMzQsIDcwMjM5LCA3MDI1MCwgNzAyNjAsIDcwMjcwLCA3MDI4MiwgCi0gICAgNzAyODgsIDcwMjk4LCA3MDMwOCwgMzI2OTAsIDcwMzE3LCA3MDMyNiwgNzAzMzIsIDcwMzQ0LCA3MDM1NSwgNzAzNjIsIAotICAgIDcwMzY3LCA3MDM3MSwgNzAzNzksIDcwMzg1LCA3MDM5MCwgNzAzOTUsIDcwNDAyLCA3MDQxMCwgNzA0MjIsIDcwNDMyLCAKLSAgICA3MDQ0MSwgNzA0NTAsIDcwNDU3LCAzNDE1NywgMjM4NTEsIDcwNDYzLCA3MDQ2OCwgNzA0NzIsIDcwNDc2LCA3MDQ4MSwgCi0gICAgNzA0ODcsIDcwNDk4LCA3MDUxMSwgNzA1MTYsIDcwNTIzLCAzMjY5NSwgNzA1MjgsIDcwNTQwLCA3MDU0OSwgNzA1NTksIAotICAgIDcwNTcwLCA3MDU4MywgNzA1OTAsIDcwNTk5LCA3MDYwOCwgNzA2MTYsIDcwNjIxLCA3MDYyNywgMTA2OSwgNzA2MzIsIAotICAgIDcwNjM3LCA3MDY0MiwgNzA2NDcsIDcwNjUzLCA3MDY1OCwgNzA2NjMsIDcwNjY5LCA3MDY3NSwgNzA2ODAsIDcwNjg0LCAKLSAgICA3MDY4OSwgNzA2OTQsIDcwNjk5LCA1ODc2NiwgNzA3MDQsIDcwNzA5LCA3MDcxNCwgNzA3MTksIDcwNzI1LCA3MDczMSwgCi0gICAgNzA3MzYsIDcwNzQwLCA3MDc0NSwgNzA3NTAsIDcwNzU1LCA3MDc2MSwgNzA3NjYsIDcwNzcyLCA3MDc3NywgNzA3ODIsIAotICAgIDcwNzg3LCA3MDc5MiwgNzA3OTYsIDcwODAyLCA3MDgwNywgNzA4MTYsIDcwODIxLCA3MDgyNiwgNzA4MzEsIDcwODM2LCAKLSAgICA3MDg0MCwgNzA4NDcsIDcwODUzLCAxNzEzNSwgMTcxNDIsIDcwODU4LCA3MDg2MiwgNzA4NjYsIDcwODcwLCA3MDg3NCwgCi0gICAgNDU1MjQsIDcwODc4LCA3MDgwOCwgNzA4ODAsIDcwODkwLCAzMjcwNCwgNzA4OTMsIDcwOTAyLCA3MDkwOCwgNjE0MywgCi0gICAgMzI3MDksIDcwOTEyLCA3MDkxOCwgNzA5MjMsIDcwOTI5LCA3MDkzNCwgNzA5MzgsIDcwOTQ1LCA3MDk1MCwgNzA5NjAsIAotICAgIDcwOTY5LCA3MDk3MywgNzA5NzksIDcwOTg1LCA3MDk5MSwgNzA5OTUsIDcxMDAzLCA3MTAxMCwgNzEwMTgsIDcxMDI2LCAKLSAgICAzMjcxNCwgNzEwMzMsIDcxMDM2LCA3MTA0MywgNzEwNDksIDcxMDU0LCA3MTA1OCwgNzEwNjQsIDcxMDcxLCA3MTA3NiwgCi0gICAgNzEwODAsIDcxMDg5LCA3MTA5NywgNzExMDMsIDcxMTA4LCAzMjcxOSwgNzExMTUsIDcxMTIyLCA3MTEyOCwgNzExMzMsIAotICAgIDcxMTM5LCA3MTE0NiwgNzExNTIsIDIxMjk0LCAyNzQ1NSwgNzExNTgsIDcxMTYzLCA3MTE2OSwgNzExODEsIDcwODQxLCAKLSAgICA3MDg0OCwgMjE0NzAsIDcxMTkxLCA3MTE5NiwgNzEyMDMsIDcxMjA5LCA3MTIxNiwgNzEyMjIsIDcxMjMzLCA3MTIzOCwgCi0gICAgOTExMCwgNzEyNDYsIDcxMjQ5LCA3MTI1NSwgNzEyNTksIDcxMjYzLCA3MTI2NiwgNzEyNzIsIDMyNDY4LCA2MTk0LCA5NjQsIAotICAgIDEzNDE5LCA3MTI3OSwgNzEyODUsIDcxMjkxLCA3MTI5NywgNzEzMDMsIDcxMzA5LCA3MTMxNSwgNzEzMjEsIDcxMzI3LCAKLSAgICA3MTMzMiwgNzEzMzcsIDcxMzQyLCA3MTM0NywgNzEzNTIsIDcxMzU3LCA3MTM2MiwgNzEzNjcsIDcxMzcyLCA3MTM3NywgCi0gICAgNzEzODIsIDcxMzg3LCA3MTM5MiwgNzEzOTgsIDcxNDAzLCA3MTQwOCwgNzE0MTQsIDcxNDE5LCA3MTQyNCwgNzE0MzAsIAotICAgIDcxNDM2LCA3MTQ0MiwgNzE0NDgsIDcxNDU0LCA3MTQ2MCwgNzE0NjYsIDcxNDcyLCA3MTQ3OCwgNzE0ODMsIDcxNDg4LCAKLSAgICA3MTQ5NCwgNzE0OTksIDcxNTA0LCA3MTUxMCwgNzE1MTUsIDcxNTIwLCA3MTUyNSwgNzE1MzAsIDcxNTM1LCA3MTU0MCwgCi0gICAgNzE1NDUsIDcxNTUwLCA3MTU1NSwgNzE1NjAsIDcxNTY1LCA3MTU3MCwgNzE1NzYsIDcxNTgxLCA3MTU4NiwgNzE1OTEsIAotICAgIDcxNTk3LCA3MTYwMiwgNzE2MDcsIDcxNjEyLCA3MTYxNywgNzE2MjMsIDcxNjI4LCA3MTYzMywgNzE2MzgsIDcxNjQzLCAKLSAgICA3MTY0OCwgNzE2NTMsIDcxNjU4LCA3MTY2MywgNzE2NjgsIDcxNjczLCA3MTY3OCwgNzE2ODMsIDcxNjg4LCA3MTY5MywgCi0gICAgNzE2OTgsIDcxNzAzLCA3MTcwOCwgNzE3MTMsIDcxNzE4LCA3MTcyNCwgNzE3MjksIDcxNzM0LCA3MTczOSwgNzE3NDQsIAotICAgIDcxNzQ5LCA3MTc1NCwgNzE3NTksIDE4NjQsIDE0MiwgNzE3NjQsIDcxNzY4LCA3MTc3MiwgNzE3NzcsIDcxNzg1LCA3MTc4OSwgCi0gICAgNzE3OTYsIDcxODA0LCA3MTgwOCwgNzE4MjEsIDcxODI5LCA3MTgzMywgNzE4MzYsIDcxODQxLCA3MTg0NSwgNzE4NTAsIAotICAgIDcxODU0LCA3MTg2MiwgNzE4NjYsIDIwOTM3LCA3MTg3MSwgNzE4NzUsIDYwOTY3LCA3MTg3OSwgNzE4ODIsIDcxODkwLCAKLSAgICA3MTg5OCwgNzE5MDYsIDcxOTExLCA3MTkxOCwgNzE5MjQsIDcxOTMwLCA3MTkzNSwgNzE5NDIsIDcxOTQ3LCA3MTk1NSwgCi0gICAgNjQ5NDcsIDcxOTYyLCA3MTk2NywgNzE5NzIsIDcxOTc2LCAxMTY0NSwgNzE5ODAsIDcxOTg1LCA3MTk5MCwgNzE5OTQsIAotICAgIDcxOTk3LCA3MjAwMywgNzIwMDcsIDcyMDE3LCA3MjAyNiwgNzIwMjksIDcyMDMzLCA3MjA0MCwgNzIwNTMsIDcyMDU5LCAKLSAgICA3MjA2NywgNzIwNzgsIDcyMDg5LCA3MjEwMCwgNzIxMTEsIDcyMTIwLCA3MjEyNiwgNzIxMzUsIDcyMTQzLCA3MjE1MywgCi0gICAgNzIxNjYsIDcyMTczLCA3MjE4NCwgNzIxOTAsIDcyMTk1LCA3MjIwMCwgNzIyMDYsIDcyMjEyLCA3MjIyMiwgNzIyMzEsIAotICAgIDcwNTMwLCA3MjIzOSwgNzIyNDUsIDcyMjUzLCA3MjI1OSwgNzIyNjcsIDcyMjcwLCA3MjI3NCwgNzIyNzgsIDcyMjgxLCAKLSAgICA3MjI4NywgNzIyOTMsIDcyMzAxLCA3MjMxMywgNzIzMjUsIDcyMzMyLCA3MjMzNiwgNzIzNDcsIDcyMzU1LCA3MjM2MiwgCi0gICAgNzIzNzQsIDcyMzgyLCA3MjM5MCwgNzIzOTcsIDcyNDAzLCA3MjQxMywgNzI0MjIsIDcyNDI3LCA3MjQzNywgNzI0NDYsIAotICAgIDQwNzg4LCA3MjQ1MywgNzI0NTcsIDcyNDYyLCA3MjQ3MCwgNzI0NzcsIDcyNDgzLCA3MjQ4NywgNzI0OTcsIDcyNTA4LCAKLSAgICA3MjUxNiwgNzI1MjMsIDcyNTM1LCA3MjU0NywgNzI1NTYsIDY5NTcyLCA3MjU2MywgNzI1NzQsIDcyNTg4LCA3MjU5NiwgCi0gICAgNzI2MDYsIDcyNjEzLCA3MjYyMSwgNzI2MzMsIDcyNjQyLCA3MjY1MCwgNzI2NjAsIDcyNjcxLCA3MjY4MywgNzI2OTIsIAotICAgIDcyNzAyLCA3MjcwOSwgNzI3MTgsIDcyNzMzLCA3Mjc0MSwgNzI3NTEsIDcyNzYwLCA3Mjc2OCwgNzI3ODEsIDcyNzk2LCAKLSAgICA3MjgwMCwgNzI4MDksIDcyODIxLCA3MjgzMiwgNzI4NDMsIDcyODU0LCA3Mjg2NCwgNzI4NzUsIDcyODgzLCA3Mjg4OSwgCi0gICAgNzI4OTksIDcyOTA3LCA3MjkxMywgMjkwMjgsIDcyOTE4LCA3MjkyNCwgNzI5MjksIDcyOTM2LCA5NzA4LCAxNzUwNSwgCi0gICAgNzI5NDIsIDcyOTUxLCA3Mjk1NiwgNzI5NjAsIDcyOTY3LCA3Mjk3MywgNzI5NzgsIDcyOTgzLCA3Mjk5MSwgNzI5OTksIAotICAgIDczMDAzLCA3MzAwNiwgNzMwMDksIDczMDExLCA3MzAxOCwgNzMwMjQsIDczMDM1LCA3MzA0MCwgNzMwNDQsIDczMDUxLCAKLSAgICA3MzA1NywgNzMwNjIsIDczMDcwLCA2NTQ0NiwgNjU0NTYsIDczMDc2LCA3MzA4MywgNzMwOTMsIDEwNjE4LCA3MzEwMCwgCi0gICAgNzMxMDUsIDI5MjI0LCA3MzExNCwgNzMxMTksIDczMTI2LCA3MzEzNiwgNzMxNDQsIDczMTUyLCA3MzE2MSwgNzMxNjcsIAotICAgIDczMTczLCA3MzE4MCwgNzMxODcsIDczMTkyLCA3MzE5NiwgNzMyMDQsIDczMjA5LCA3MzIxNCwgNzMyMjIsIDczMjI5LCAKLSAgICA3MzIzNCwgNzMyNDAsIDczMjQzLCA3MzI0NywgNzMyNTYsIDcxODE2LCA3MzI2NSwgNzMyNjksIDczMjc1LCA3MzI4NiwgCi0gICAgNzMyOTYsIDE3NTE0LCA3MzMwNywgNzMzMTUsIDE3NTI2LCA3MzMyMiwgNzMzMjYsIDczMzM1LCAyNzM0MSwgNzMzNDIsIAotICAgIDczMzQ2LCA3MzM1MSwgNzMzNjgsIDczMzgwLCAxMDU3NiwgNzMzOTIsIDczMzk3LCA3MzQwMiwgNzM0MDcsIDIxMDEwLCAKLSAgICA3MzQxMSwgNzM0MTYsIDczNDIxLCA3MzQyNywgNzM0MzIsIDU4NDYsIDIxMDE0LCA3MzQzNywgNzM0NDIsIDczNDQ4LCAKLSAgICA3MzQ1NSwgNzM0NjAsIDczNDY1LCA3MzQ3MSwgNzM0NzcsIDczNDgzLCA3MzQ4OCwgNzM0OTQsIDczNDk4LCA3MzUxMiwgCi0gICAgNzM1MjAsIDczNTI4LCA3MzUzNCwgNzM1MzksIDczNTQ2LCA3MzU1NiwgNzM1NjUsIDczNTcwLCA3MzU3NSwgNzM1ODMsIAotICAgIDczNTg4LCA3MzU5NCwgNzM1OTksIDczNjA4LCA1OTgyMywgNzM2MTMsIDczNjE2LCA3MzYzNCwgNzM2NTMsIDczNjY2LCAKLSAgICA3MzY4MCwgNzM2OTYsIDczNzAzLCA3MzcxMCwgNzM3MTYsIDczNzIzLCA3MzcyOCwgNzM3MzQsIDczNzQwLCA3Mzc0OCwgCi0gICAgNzM3NTQsIDczNzU5LCA3Mzc2NCwgNzM3ODAsIDEwNTg5LCA3Mzc5NCwgNzM4MDEsIDczODA5LCA3MzgxNSwgNzM4MTksIAotICAgIDczODIyLCA3MzgyNywgNzM4MzIsIDczODM5LCA3Mzg0NCwgNzM4NTMsIDczODU4LCA3Mzg2NCwgNzM4NzMsIDczODgyLCAKLSAgICA3Mzg4NywgNzM4OTEsIDczODk5LCA3MzkwOCwgMTE2NzQsIDczOTE3LCA3MzkyNSwgNzM5MzAsIDczOTM2LCAxMTY4NSwgCi0gICAgNzM5NDEsIDczOTQ0LCA3Mzk0OSwgNzM5NTksIDczOTY4LCA3Mzk3MywgNzM5NzksIDczOTg0LCA3Mzk5MiwgNzM5OTksIAotICAgIDc0MDEwLCA3NDAyMCwgNzQwMjUsIDY0ODc1LCA3NDAzMCwgNzQwMzYsIDc0MDQxLCA3NDA0OCwgNzQwNTcsIDc0MDY1LCAKLSAgICA3NDA3MSwgNzQwNzcsIDc0MDg0LCA3NDA5MCwgNzQwOTQsIDE2OTYwLCAzMDU1LCA3NDA5OSwgNzQxMDMsIDc0MTA3LCAKLSAgICA3NDExMywgNzQxMjIsIDc0MTI4LCA3NDEzNSwgNzQxMzksIDc0MTYwLCA3NDE4MiwgNzQxOTgsIDc0MjE1LCA3NDIzNCwgCi0gICAgNzQyNDMsIDc0MjUzLCA3NDI2MCwgNzQyNjcsIDI3MjI4LCA3NDI3MywgNzQyNzcsIDc0Mjg1LCA3NDI5NywgNzQzMDMsIAotICAgIDc0MzExLCA3NDMxNSwgNzQzMjMsIDc0MzMwLCA3NDMzNCwgNzQzNDAsIDc0MzQ2LCA3NDM1MSwgMzU2MywgNDE5MjQsIAotICAgIDc0MzU3LCA3NDM2MSwgNzQzNjUsIDc0MzY5LCA3NDM3NCwgNzQzNzksIDc0Mzg0LCA3NDM5MCwgNzQzOTYsIDc0NDAyLCAKLSAgICA3NDQwOSwgNzQ0MTUsIDc0NDIyLCA3NDQyOCwgNzQ0MzQsIDc0NDM5LCA3NDQ0NSwgNzQ0NTAsIDc0NDU0LCA3NDQ1OSwgCi0gICAgNzQ0NjMsIDc0NDY4LCA0MTkzOSwgNzQ0NzIsIDc0NDc3LCA3NDQ4NSwgNzQ0ODksIDc0NDk0LCA3NDUwMSwgNzQ1MTAsIAotICAgIDc0NTE2LCA3NDUyMCwgNzQ1MjcsIDc0NTMxLCA3NDUzNCwgNzQ1NDEsIDc0NTUwLCA3NDU1NSwgNzQ1NTksIDc0NTY3LCAKLSAgICA3NDU3NiwgNzQ1ODAsIDc0NTg4LCA3NDU5NCwgNzQ1OTksIDc0NjA0LCA3NDYxMCwgNzQ2MTYsIDc0NjIxLCA3NDYyNSwgCi0gICAgNzQ2MzEsIDc0NjM2LCA3NDY0MCwgNzQ2NDQsIDc0NjQ3LCA3NDY1MiwgNzQ2NjAsIDc0NjcwLCA3NDY3NSwgMzk0MTYsIAotICAgIDc0NjgzLCA3NDY5NSwgNzQ2OTksIDc0NzA1LCA3NDcxNywgNzQ3MjgsIDc0NzM1LCA3NDc0MSwgNzQ3NDgsIDc0NzYwLCAKLSAgICA3NDc2NywgNzQ3NzMsIDIxMDg4LCA3NDc3NywgNzQ3ODMsIDc0NzkwLCA3NDc5NiwgNzQ4MDIsIDc0ODA3LCA3NDgxMiwgCi0gICAgNzQ4MTcsIDc0ODI2LCA3MDMzLCA3NDgzMSwgMTY0MjYsIDc0ODM3LCA3NDg0MSwgNzQ4NDUsIDc0ODQ5LCA3NDg1NywgCi0gICAgNzQ4NjYsIDc0ODcwLCA3NDg3NywgNzQ4ODYsIDc0ODk5LCA3NDkwNSwgNzQ0NjQsIDMwMDg4LCA3NDkxMCwgNzQ5MTIsIAotICAgIDc0OTE3LCA3NDkyMiwgNzQ5MjcsIDc0OTMyLCA3NDkzNywgNzQ5NDIsIDc0OTQ3LCA3NDk1MiwgNzQ5NTcsIDc0OTYyLCAKLSAgICA3NDk2NywgNzQ5NzIsIDc0OTc3LCA3NDk4MiwgNzQ5ODgsIDc0OTkzLCA3NDk5OCwgNzUwMDMsIDc1MDA4LCA3NTAxMywgCi0gICAgNzUwMTgsIDc1MDIzLCA3NTAyOCwgNzUwMzQsIDc1MDQwLCA3NTA0NiwgNzUwNTEsIDc1MDU2LCA3NTA2OCwgNzUwNzMsIAotICAgIDE4NzAsIDQ2LCA3NTA3OCwgNzUwODMsIDMyNzQ2LCA3NTA4NywgMzI3NTEsIDMyNzU2LCAzMjc2MiwgMzI3NjcsIDc1MDkxLCAKLSAgICAzMjc3MiwgMjIwODMsIDc1MTEzLCA3NTExNywgNzUxMjEsIDc1MTI2LCA3NTEzMCwgMzI3NzYsIDc1MTM0LCA3NTE0MiwgCi0gICAgMzI3ODEsIDc1MTQ5LCA3NTE1MiwgNzUxNTcsIDc1MTYxLCA5NTQzLCA3NTE3MCwgMzI3ODYsIDIxOTQ1LCA3NTE3MywgCi0gICAgNzUxNzcsIDE0MjgsIDc1MTgyLCAzMjc5NywgNzUxODUsIDc1MTkwLCAyNTczNywgMjU3NDcsIDM1MjU4LCA3NTE5NSwgCi0gICAgNzUyMDAsIDc1MjA1LCA3NTIxMCwgNzUyMTYsIDc1MjIxLCA3NTIzMCwgNzUyMzUsIDc1MjQyLCA3NTI0OCwgNzUyNTMsIAotICAgIDc1MjU4LCA3NTI2MywgNzUyNzMsIDc1MjgyLCA3NTI4NywgNzUyOTUsIDc1Mjk5LCA3NTMwNywgMzI2MTEsIDM3MzE3LCAKLSAgICA3NTMxNCwgNzUzMjAsIDc1MzI1LCA3NTMzMCwgMTIwMTYsIDc1MzM1LCA3NTM0MSwgNzUzNDYsIDc1MzUzLCA3NTM1OSwgCi0gICAgNzUzNjQsIDc1MzcyLCA3NTM4MiwgNzUzOTIsIDc1Mzk4LCA3NTQwMywgNzU0MDksIDE3NTM2LCA3NTQxNiwgMzYwNzMsIAotICAgIDc1NDI5LCA3NTQzNCwgNzU0NDAsIDMwOTkzLCA3NTQ1MywgNzU0NTksIDc1NDYzLCA3NTQ3MiwgNzU0NzksIDc1NDg1LCAKLSAgICA3NTQ5MywgNzU1MDIsIDc1NTA5LCA3NTUxNSwgNzU1MTgsIDc1NTIyLCAyNTg3OCwgNzU1MjYsIDc1NTMzLCA3NTUzOSwgCi0gICAgNzU1NDcsIDc1NTUyLCAyMzk5NCwgNzU1NTgsIDc1NTYxLCA3NTU2OSwgNzU1NzcsIDc1NTkxLCA3NTU5OCwgNzU2MDQsIAotICAgIDc1NjExLCA3NTYxNywgMzI4MTEsIDc1NjIxLCA3NTYyOCwgNzU2MzYsIDc1NjQ0LCA3NTY1MCwgMzI4MTYsIDc1NjU4LCAKLSAgICA3NTY2NCwgNzU2NjksIDc1Njc5LCA3NTY4NSwgNzU2OTQsIDMwODMwLCAzNDcxNiwgNzU3MDIsIDc1NzA3LCA3NTcxMiwgCi0gICAgNzU3MTYsIDc1NzIxLCA3NTcyNSwgNzU3MzMsIDE0OTIwLCAzOTQyOSwgNzU3MzgsIDc1NzQzLCAzMjgyMSwgNjIyNjksIAotICAgIDc1NzQ3LCA3NTc1MiwgNzU3NTYsIDc1NzY1LCA3NTc3MywgNzU3NzksIDc1Nzg0LCA3NTc5MCwgNzU3OTcsIDc1ODAzLCAKLSAgICA3NTgwOCwgNzU4MTMsIDc1ODIyLCA3NTgzNCwgNzU4NDksIDMzMDgzLCA3NTg1NSwgMTY1NDUsIDMyODI1LCA3NTg1OSwgCi0gICAgNzU4NjYsIDI0MTA0LCA3NTg3MiwgNzU4NzksIDc1ODg4LCA3NTg5NSwgNzU5MDQsIDc1OTEwLCA3NTkxNSwgNzU5MjMsIAotICAgIDc1OTI5LCAzMjgzNSwgNzU5MzQsIDc1OTQzLCA3NDcyMywgNzU5NTIsIDc1OTU5LCA3NTk2NSwgNzU5NzEsIDc1OTgxLCAKLSAgICA3NTk4OSwgNzU5OTYsIDc2MDAwLCAzMjg0MCwgNzYwMDMsIDMyODQ2LCAzMjg1MiwgNzYwMDgsIDc2MDE2LCA3NjAyNCwgCi0gICAgNzYwMzQsIDc2MDQzLCA3NjA1MSwgNzYwNTgsIDc2MDY4LCAzMjg1NywgNzYwNzIsIDc2MDc0LCA3NjA3OCwgNzYwODMsIAotICAgIDc2MDg3LCA3NjA5MSwgNzYwOTcsIDc2MTAyLCA3NjEwNiwgNzYxMTcsIDc2MTIyLCA3NjEyNywgMzA2MCwgNzYxMzEsIAotICAgIDc2MTM4LCA3NjE0MiwgNzYxNTEsIDc2MTU5LCA3NjE2NiwgNzYxNzEsIDc2MTc2LCA2MjMxNSwgNzYxODAsIDc2MTgzLCAKLSAgICA3NjE4OSwgNzYxOTcsIDc2MjAzLCA3NjIwNywgNzYyMTIsIDc2MjE5LCA3NjIyNCwgNzYyMzAsIDM0NzQ3LCA3NjIzNSwgCi0gICAgNzYyMzgsIDc2MjQzLCA3NjI0NywgNzYyNTIsIDc2MjU3LCA3NjI2MSwgNzYyNjksIDc2MjczLCAyNTc1NiwgMjU3NjUsIAotICAgIDc2Mjc5LCA3NjI4NSwgNzYyOTEsIDc2Mjk2LCA3NjMwMCwgNzYzMDMsIDc2MzEzLCA3NjMyMiwgNzYzMjcsIDc2MzMzLCAKLSAgICA3NjM0MCwgNzYzNDYsIDc2MzUwLCA3NjM1OCwgNzYzNjMsIDM0NzUzLCA3NjM2NywgNzYzNzUsIDc2MzgxLCA3NjM4OCwgCi0gICAgNzYzOTMsIDc2Mzk3LCA3NjQwMiwgNTg0NDAsIDM0NzU5LCA3NjQwOCwgNzY0MTMsIDc2NDE3LCA3NjQyMiwgNzY0MjcsIAotICAgIDc2NDMyLCA3NjQzNiwgNzY0NDEsIDc2NDQ2LCA3NjQ1MiwgNzY0NTcsIDc2NDYyLCA3NjQ2OCwgNzY0NzQsIDc2NDc5LCAKLSAgICA3NjQ4MywgNzY0ODgsIDc2NDkzLCA3NjQ5OCwgNzY1MDIsIDI0MTAzLCA3NjUwNywgNzY1MTIsIDc2NTE4LCA3NjUyNCwgCi0gICAgNzY1MzAsIDc2NTM1LCA3NjUzOSwgNzY1NDQsIDc2NTQ5LCA3NjU1NCwgNzY1NTgsIDc2NTYzLCA3NjU2OCwgNzY1NzMsIAotICAgIDc2NTc4LCA3NjU4MiwgMzI4NjUsIDc2NTkwLCA3NjU5NCwgNzY2MDIsIDc2NjEwLCA3NjYyMSwgNzY2MjYsIDc2NjMwLCAKLSAgICAyMjM5NywgNzY2MzUsIDc2NjQxLCA3NjY1MSwgNzY2NTgsIDc2NjYzLCA3NjY3MiwgNzY2NzcsIDc2NjgxLCA3NjY4NiwgCi0gICAgNzY2OTQsIDc2NzAyLCA3NjcwOSwgNjUxMDksIDc2NzE1LCA3NjcyMywgNzY3MzAsIDc2NzQxLCA3Njc0NywgNzY3NTEsIAotICAgIDc2NzU3LCAzMjg3NSwgNzY3NjAsIDc2NzY3LCA3Njc3NSwgNzY3ODAsIDM5NjIwLCA3Njc4NCwgNzY3ODksIDc2Nzk2LCAKLSAgICA3NjgwMSwgODk5MiwgNzY4MDUsIDc2ODEzLCA3NjgyMCwgNzY4MjcsIDc2ODMzLCA3Njg0NywgNjMzODEsIDc2ODU1LCAKLSAgICA3Njg2MSwgNzY4NjUsIDc2ODY4LCA3Njg3NiwgNzY4ODMsIDc2ODg4LCA3NjkwMSwgNzY5MDgsIDc2OTEyLCA3NjkxOSwgCi0gICAgNzY5MjQsIDYwODYwLCA3NjkyOSwgNzY5MzIsIDc2OTM5LCA3Njk0NSwgNzY5NDksIDc2OTU3LCA3Njk2NiwgNzY5NzYsIAotICAgIDc2OTg2LCA3Njk5NSwgNzcwMDMsIDc3MDE0LCA3NzAxOSwgNzcwMjMsIDc3MDI4LCA3NzAzMiwgMzUzODksIDc3MDQwLCAKLSAgICAyMTM1NywgMzUzOTgsIDc3MDQ1LCA3NzA1MCwgNzcwNTUsIDc3MDYwLCA3NzA2NSwgNzcwNzAsIDc3MDc1LCA3NzA3OSwgCi0gICAgNzcwODQsIDc3MDg5LCA3NzA5NCwgNzcwOTksIDc3MTA0LCA3NzEwOSwgNzcxMTMsIDc3MTE4LCA3NzEyMywgNzcxMjcsIAotICAgIDc3MTMxLCA3NzEzNSwgNzcxMzksIDc3MTQ0LCA3NzE0OSwgNzcxNTMsIDc3MTU4LCA3NzE2MiwgNzcxNjYsIDc3MTcxLCAKLSAgICA3NzE3NiwgNzcxODEsIDc3MTg2LCA3NzE5MCwgNzcxOTUsIDc3MjAwLCA3NzIwNCwgNzcyMDksIDc3MjE0LCA3NzIxOSwgCi0gICAgNzcyMjQsIDc3MjI5LCA3NzIzNCwgNzcyMzksIDc3MjQ0LCA3NzI0OSwgNzcyNTQsIDc3MjU5LCA3NzI2NCwgNzcyNjksIAotICAgIDc3Mjc0LCA3NzI3OSwgNzcyODQsIDc3Mjg5LCA3NzI5NCwgNzcyOTksIDc3MzA0LCA3NzMwOCwgNzczMTMsIDc3MzE4LCAKLSAgICA3NzMyMywgNzczMjgsIDc3MzMzLCA3NzMzOCwgNzczNDMsIDc3MzQ4LCA3NzM1MywgNzczNTgsIDc3MzYzLCA3NzM2NywgCi0gICAgNzczNzIsIDc3Mzc2LCA3NzM4MSwgNzczODYsIDc3MzkxLCA3NzM5NiwgNzc0MDEsIDc3NDA2LCA3NzQxMSwgNzc0MTYsIAotICAgIDc3NDIxLCA3NzQyNSwgNzc0MjksIDc3NDM0LCA3NzQzOSwgNzc0NDMsIDc3NDQ4LCA3NzQ1MywgNzc0NTcsIDc3NDYyLCAKLSAgICA3NzQ2NywgNzc0NzIsIDc3NDc3LCA3NzQ4MSwgNzc0ODYsIDc3NDkxLCA3NzQ5NSwgNzc1MDAsIDc3NTA0LCA3NzUwOCwgCi0gICAgNzc1MTIsIDc3NTE2LCA3NzUyMSwgNzc1MjUsIDc3NTI5LCA3NzUzMywgNzc1MzcsIDc3NTQxLCA3NzU0NSwgNzc1NDksIAotICAgIDc3NTUzLCA3NzU1NywgNzc1NjIsIDc3NTY3LCA3NzU3MiwgNzc1NzcsIDc3NTgyLCA3NzU4NywgNzc1OTIsIDc3NTk3LCAKLSAgICA3NzYwMiwgNzc2MDcsIDc3NjExLCA3NzYxNSwgNzc2MTksIDc3NjIzLCA3NzYyNywgNzc2MzEsIDc3NjM2LCA3NzY0MCwgCi0gICAgNzc2NDUsIDc3NjQ5LCA3NzY1NCwgNzc2NTksIDc3NjYzLCA3NzY2NywgNzc2NzIsIDc3Njc2LCA3NzY4MCwgNzc2ODQsIAotICAgIDc3Njg4LCA3NzY5MiwgNzc2OTYsIDc3NzAwLCA3NzcwNCwgNzc3MDgsIDc3NzEyLCA3NzcxNiwgNzc3MjAsIDc3NzI0LCAKLSAgICA3NzcyOCwgNzc3MzMsIDc3NzM4LCA3Nzc0MiwgNzc3NDYsIDc3NzUwLCA3Nzc1NCwgNzc3NTgsIDc3NzYyLCA3Nzc2NywgCi0gICAgNzc3NzEsIDc3Nzc1LCA3Nzc3OSwgNzc3ODMsIDc3Nzg3LCA3Nzc5MSwgNzc3OTYsIDc3ODAwLCA3NzgwNSwgNzc4MDksIAotICAgIDc3ODEzLCA3NzgxNywgNzc4MjEsIDc3ODI1LCA3NzgyOSwgNzc4MzMsIDc3ODM3LCA3Nzg0MSwgNzc4NDUsIDc3ODQ5LCAKLSAgICA3Nzg1NCwgNzc4NTgsIDc3ODYyLCA3Nzg2NiwgNzc4NzAsIDc3ODc0LCA3Nzg3OCwgNzc4ODIsIDc3ODg2LCA3Nzg5MCwgCi0gICAgNzc4OTQsIDc3ODk4LCA3NzkwMywgNzc5MDcsIDc3OTExLCA3NzkxNiwgNzc5MjEsIDc3OTI1LCA3NzkyOSwgNzc5MzMsIAotICAgIDc3OTM3LCA3Nzk0MSwgNzc5NDUsIDc3OTQ5LCA3Nzk1MywgNzc5NTgsIDc3OTYyLCA3Nzk2NywgNzc5NzEsIDc3OTc2LCAKLSAgICA3Nzk4MCwgNzc5ODUsIDc3OTg5LCA3Nzk5NSwgNzgwMDAsIDc4MDA0LCA3ODAwOSwgNzgwMTMsIDc4MDE4LCA3ODAyMiwgCi0gICAgNzgwMjcsIDc4MDMxLCA3ODAzNiwgMTUyMSwgNzgwNDAsIDI4MjQsIDE3NTksIDE3NjQsIDc4MDQ0LCA3ODA0OCwgMjgyOCwgCi0gICAgNzgwNTIsIDEzOTcsIDc4MDU3LCAxMzQyLCA3ODA2MSwgMjg0MCwgNzgwNjUsIDc4MDcyLCA3ODA3OSwgNzgwOTMsIDI4NDQsIAotICAgIDcxMzEsIDc4MTAyLCA3ODExMCwgNzgxMTcsIDc4MTI4LCA3ODEzNywgNzgxNDQsIDc4MTU2LCA3ODE2OSwgNzgxODIsIAotICAgIDc4MTkzLCA3ODE5OCwgNzgyMDUsIDc4MjE3LCA3ODIyMSwgMjg0OCwgMTE3NDcsIDc4MjMxLCA3ODIzNiwgNzgyNDUsIAotICAgIDc4MjU1LCAyODUyLCA3ODI2MCwgNzgyNjQsIDc4MjY5LCA3ODI3NiwgNzgyODIsIDc4MjkwLCA3ODMwMiwgMTM0NywgCi0gICAgMTMwNDIsIDc4MzEyLCA3ODMxNiwgNzgzMjIsIDc4MzM2LCA3ODM0OCwgNzgzNjAsIDc4MzcwLCA3ODM3OSwgNzgzODgsIAotICAgIDc4Mzk3LCA3ODQwNSwgNzg0MTYsIDc4NDI0LCA0MDUxLCA3ODQzNCwgNzg0NDUsIDc4NDU0LCA3ODQ2MCwgNzg0NzUsIAotICAgIDc4NDgyLCA3ODQ4OCwgMzU1MTQsIDc4NDkzLCAyODc2LCAxMzA0NiwgNzg0OTcsIDc4NTA0LCA4OTMwLCA3ODUxMywgMjg4MSwgCi0gICAgMzIzNjEsIDc4NTE5LCA2MDYwOSwgNzg1MjYsIDc4NTMyLCA3ODU0MywgNzg1NDksIDc4NTU2LCA3ODU2MiwgNzg1NzAsIAotICAgIDc4NTc3LCA3ODU4MywgNzg1OTMsIDc4NjAyLCA3ODYxMywgNzg2MjAsIDc4NjI2LCA3ODYzNiwgNzg2NDQsIDc4NjUwLCAKLSAgICA3ODY2NSwgNzg2NzEsIDc4Njc2LCA3ODY4MywgNzg2ODYsIDc4NjkyLCA3ODY5OSwgNzg3MDUsIDc4NzEzLCA3ODcyMiwgCi0gICAgNzg3MzAsIDc4NzM2LCA3ODc0NSwgNDE0NjQsIDc4NzU5LCA3ODc2NCwgNzg3NzAsIDE0NzU3LCA3ODc3NSwgNzg3ODgsIAotICAgIDc4Nzk3LCA3ODgwNSwgNzg4MTIsIDc4ODE2LCA3ODgyMCwgNzg4MjMsIDc4ODMwLCA3ODgzNywgNzg4NDUsIDc4ODUzLCAKLSAgICA3ODg2MiwgNzg4NzAsIDE0Njg0LCA3ODg3OCwgNzg4ODMsIDc4ODg3LCA3ODg5OSwgNzg5MDYsIDc4OTE1LCA3NDgsIAotICAgIDc4OTI1LCA3ODkzNCwgNzg5NDUsIDI4OTcsIDc4OTQ5LCA3ODk1MywgNzg5NTksIDc4OTcyLCA3ODk4NCwgNzg5OTQsIAotICAgIDc5MDAzLCA3OTAxNSwgMjYzNjksIDc5MDI2LCA3OTAzNCwgNzkwNDMsIDc5MDU0LCA3OTA2NSwgNzkwNzUsIDc5MDg1LCAKLSAgICA3OTA5NCwgNzkxMDIsIDExMzEyLCA3OTEwOSwgNzkxMTMsIDc5MTE2LCA3OTEyMSwgNzkxMjYsIDc5MTMwLCA3OTEzNiwgCi0gICAgMTM1MiwgMTE4MTgsIDc5MTQzLCA3OTE1NCwgNzkxNjMsIDc5MTcxLCA3OTE4MCwgNzkxODgsIDc5MjA0LCA3OTIxNSwgCi0gICAgNzkyMjQsIDc5MjMyLCA3OTI0NCwgNzkyNTUsIDc5MjcxLCA3OTI4MSwgNzkzMDIsIDc5MzE1LCA3OTMyMywgNzkzMzAsIAotICAgIDE0ODY4LCA3OTM0MywgNzkzNDgsIDc5MzU0LCA1OTA4LCA3OTM2MCwgNzkzNjMsIDc5MzcwLCA3OTM4MCwgODE3NiwgCi0gICAgNzkzODcsIDc5MzkyLCA3OTM5NywgNzk0MDIsIDc5NDEwLCA3OTQxOSwgNzk0MjcsIDk3NTYsIDk3NjUsIDc5NDMyLCAKLSAgICA3OTQ0MywgNzk0NDgsIDc5NDU0LCAyOTEzLCAyOTE4LCA3OTQ2MCwgMTA4NzksIDc5NDY2LCA3OTQ3MywgNzk0ODAsIAotICAgIDc5NDkzLCAyMjUxLCA2OCwgNzk0OTgsIDc5NTAzLCA3OTUxMywgNzk1MTksIDc5NTI4LCA3OTUzNiwgNzk1NDYsIDc5NTUwLCAKLSAgICA3OTU1NSwgNzk1NTksIDc5NTcxLCAyOTQxLCA3OTU3OSwgNzk1ODcsIDc5NTkyLCA3OTYwMywgNzk2MTQsIDc5NjIzLCAKLSAgICA3OTYyOCwgNzk2MzQsIDc5NjM5LCA3OTY0OSwgNzk2NTksIDc5NjY0LCA3OTY3MCwgNzk2NzQsIDc5Njc5LCA3OTY4OCwgCi0gICAgMjE0MTAsIDc5NjkyLCA0MTI4LCAyMCwgNzk2OTcsIDc5NzA2LCA3OTcxMywgNzk3MjAsIDc5NzI2LCA3OTczMiwgODY0LCAKLSAgICA3OTczNywgNzk3NDIsIDYwOTM3LCA3OTc0NywgNzk3NTIsIDc5NzU4LCA3OTc2NCwgNzk3NzIsIDc5Nzc3LCA3OTc4NCwgCi0gICAgNzk3OTAsIDc5Nzk1LCAzODAzMCwgNDEzNTgsIDc5ODAxLCAyOTQ1LCAzMiwgNzk4MTEsIDc5ODI0LCA3OTgyOSwgNzk4MzcsIAotICAgIDc5ODQyLCA3OTg0OCwgMjk2NywgMjgzMTAsIDc5ODUzLCA3OTg2MSwgNzk4NjgsIDc5ODczLCA1ODY4MiwgNjE5NDAsIAotICAgIDc5ODgyLCA3OTg4NiwgMTcwNCwgMTgxMywgNzk4OTEsIDc5ODk2LCA3OTkwMywgMTgxNywgMjQ3LCA3OTkxMCwgNzk5MTYsIAotICAgIDI5ODksIDc5OTIxLCA3OTkyNiwgNzk5MzMsIDE4MjEsIDc5OTM4LCA3OTk0NCwgNzk5NDksIDc5OTYxLCA2MTE5LCA3OTk3MSwgCi0gICAgMTgyOCwgNzk5NzcsIDc5OTgyLCA3OTk4OSwgNzk5OTYsIDgwMDExLCA4MDAxOCwgODAwMjksIDgwMDM3LCAyNjE4LCAKLSAgICA4MDA0MSwgODAwNTMsIDgwMDU4LCA4MDA2MiwgODAwNjgsIDI4MTM1LCAyMjU2LCA4MDA3MiwgODAwODMsIDgwMDg3LCAKLSAgICA4MDA5MSwgODAwOTcsIDgwMTAxLCA4MDExMCwgODAxMTQsIDgwMTI1LCA4MDEyOSwgMjMwMiwgMzIxOTAsIDgwMTMzLCAKLSAgICA4MDE0MywgMzA4MCwgOTM3MSwgODAxNTEsIDgwMTU2LCA4MDE2MCwgODAxNjksIDgwMTc2LCA4MDE4MiwgMzA1MCwgMTcxNTIsIAotICAgIDgwMTg2LCA4MDE5OSwgODAyMTcsIDgwMjIyLCA4MDIzMCwgODAyMzgsIDgwMjQ4LCA5OTg1LCAxMzE1NCwgODAyNjAsIAotICAgIDgwMjczLCA4MDI4MCwgODAyODcsIDgwMzAzLCA4MDMxMCwgODAzMTYsIDEwNjQsIDgwMzIzLCA4MDMzMCwgODAzNDAsIAotICAgIDgwMzQ5LCA4MDM2MSwgNDIzMjgsIDgwMzY5LCAzMDY0LCAxMjAzMCwgODAzNzIsIDgwMzgwLCA4MDM4NCwgNzgyNzIsIAotICAgIDMwNjgsIDgwMzg4LCAyMTE5MSwgMTIwNDYsIDM3NTYsIDgwMzkyLCAzMDc0LCA4MDM5NiwgODA0MDYsIDgwNDEyLCA4MDQxOCwgCi0gICAgODA0MjQsIDgwNDMwLCA4MDQzNiwgODA0NDIsIDgwNDQ4LCA4MDQ1NCwgODA0NjAsIDgwNDY2LCA4MDQ3MiwgODA0NzgsIAotICAgIDgwNDg0LCA4MDQ5MCwgODA0OTYsIDgwNTAyLCA4MDUwOCwgODA1MTQsIDgwNTIwLCA4MDUyNiwgODA1MzIsIDgwNTM4LCAKLSAgICA4MDU0NCwgODA1NTAsIDgwNTU2LCA4MDU2MywgODA1NzAsIDgwNTc2LCA4MDU4MiwgODA1ODgsIDgwNTk0LCA4MDYwMCwgCi0gICAgODA2MDYsIDEzNTcsIDE2MDYyLCAxMjA2OCwgODA2MTIsIDgwNjE3LCA4MDYyMiwgODA2MjcsIDgwNjMyLCA4MDYzNywgCi0gICAgODA2NDIsIDgwNjQ3LCA4MDY1MiwgODA2NTcsIDgwNjYyLCA4MDY2NywgODA2NzIsIDgwNjc3LCA4MDY4MiwgODA2ODcsIAotICAgIDgwNjkyLCA4MDY5NywgODA3MDIsIDgwNzA3LCA4MDcxMiwgODA3MTcsIDgwNzIyLCA4MDcyNywgODA3MzIsIDgwNzM3LCAKLSAgICA4MDc0MywgODA3NDgsIDgwNzUzLCA4MDc1OSwgODA3NjQsIDgwNzcwLCA4MDc3NSwgODA3ODAsIDgwNzg2LCA4MDc5MSwgCi0gICAgODA3OTYsIDgwODAxLCA4MDgwNiwgODA4MTEsIDgwODE2LCA4MDgyMSwgODA4MjYsIDgwNDA3LCA4MDQxMywgODA0MTksIAotICAgIDgwNDI1LCA4MDQzMSwgODA0MzcsIDgwNDQzLCA4MDQ0OSwgODA0NTUsIDgwNDYxLCA4MDQ2NywgODA0NzMsIDgwNDc5LCAKLSAgICA4MDQ4NSwgODA0OTEsIDgwODMyLCA4MDQ5NywgODA1MDMsIDgwNTA5LCA4MDgzOCwgODA1MTUsIDgwNTIxLCA4MDUyNywgCi0gICAgODA1MzMsIDgwNTM5LCA4MDU0NSwgODA1NTEsIDgwNTcxLCA4MDg0NCwgODA4NTAsIDgwNTc3LCA4MDg1NiwgODA1ODMsIAotICAgIDgwNTg5LCA4MDU5NSwgODA2MDEsIDgwNjA3LCAzMDkxLCAzMDk2LCA4MDg2MiwgODA4NjcsIDgwODcwLCA4MDg3NiwgCi0gICAgODA4ODIsIDgwODg5LCA4MDg5NCwgODA4OTksIDIzMDcsIAorICAgIDAsIDAsIDYsIDEwLCAxNCwgMjIsIDI3LCAzNCwgMzksIDQ1LCA0NywgNTAsIDYyLCA3MCwgODAsIDg5LCAxMDIsIDEwOCwgCisgICAgMTEzLCAxMTgsIDEyNiwgMTM1LCAxNDAsIDE0NSwgMTQ4LCAxNTIsIDE1OCwgMTY0LCAxNjksIDE3NywgMTgyLCAxODksIAorICAgIDE5NywgMTk4LCAyMDEsIDIwOSwgMjE1LCAyMjQsIDIzMSwgMjQxLCAyNDgsIDI1MywgMjU2LCAyNjEsIDE0OSwgMjY3LCAKKyAgICAyNzMsIDI3NiwgMjgwLCAyODUsIDI5MSwgMjk3LCAzMDIsIDMwOCwgMzEzLCAzMjIsIDMyOCwgMzM1LCAzNDIsIDM1MSwgCisgICAgMzU2LCAzNjEsIDM2OSwgMzcxLCAzNzIsIDM4MCwgMzg4LCAzOTUsIDM5OCwgNDA0LCA0MTEsIDQxNiwgNDE4LCA0MjUsIAorICAgIDQyNywgMzA2LCA0MjksIDQzMSwgNDM2LCA0NDMsIDQ1MSwgNDU1LCA0NjEsIDQ2NiwgNDcxLCA0NzYsIDQ4MywgNDkzLCAKKyAgICA0OTYsIDUwMywgNTEzLCA1MjIsIDUyOSwgNTM4LCA1NDUsIDU0OSwgNTU3LCA1NjAsIDU3MywgNTgwLCA1ODQsIDU5MywgCisgICAgNTk3LCA2MDEsIDYwNywgNjExLCA2MTUsIDYxNiwgNjI1LCA2MzMsIDYzOCwgNjQ2LCA2NTEsIDY1NywgNjY1LCA2NjgsIAorICAgIDY3NSwgNjg0LCA2OTIsIDY5NSwgNjk4LCA3MDAsIDcwNiwgNzE0LCA3MjEsIDcyNCwgNzM0LCA3MzgsIDc0MiwgNzUzLCAKKyAgICA3NTgsIDc2MiwgNzY2LCA3NzMsIDc4MCwgNzg0LCA3ODgsIDc4MiwgNzk0LCA3OTgsIDgwMywgODA2LCA4MTAsIDgxNiwgCisgICAgODIxLCA4MzAsIDgzOCwgODQzLCA2MTAsIDU0MywgODQ4LCA4NTEsIDg1NywgODYxLCA4NjcsIDg3NCwgODc3LCA4ODYsIAorICAgIDg5NSwgOTAyLCA5MTUsIDkxOSwgOTI3LCA5MzYsIDk0MiwgOTUwLCA5NTcsIDk2NywgOTc0LCA5NzksIDk4NSwgOTkzLCAKKyAgICA5OTcsIDEwMDAsIDIxLCAxMDA5LCAxMDE4LCAxMDI2LCAxMDMwLCAxMDM1LCAxMDM4LCAxMDQ3LCAxMDUyLCAxMDU0LCAKKyAgICAxMDYxLCAxMDY1LCAxMDY4LCAxMDcxLCAxMDc4LCAxMDgzLCAxMDg3LCAxMDkwLCAxMDk0LCAxMTAyLCAxMTA4LCAxMTE4LCAKKyAgICAxMTI0LCAxMTMxLCAxMTM1LCAxMTQzLCAxMTQ2LCAxMTUxLCAxMTU3LCAxMTYzLCAxMTY3LCAxMTc0LCAxMTc5LCAxMTg0LCAKKyAgICAxMTkwLCAxMTk1LCAxMjAwLCAxMjA1LCAxMjA5LCAxMjE0LCAxMjIwLCAxMjI1LCAxMjMwLCAxMjM0LCAxMjQwLCAxMjQ1LCAKKyAgICAxMjUwLCAxMjU1LCAxMjU5LCAxMjY0LCAxMjY5LCAxMjc0LCAxMjgwLCAxMjg2LCAxMjkyLCAxMjk3LCAxMzAxLCAxMzA2LCAKKyAgICAxMzExLCAxMzE2LCAxMzIwLCAxMzI1LCAxMzMwLCAxMzM1LCAxMzQwLCAxMTc1LCAxMTgwLCAxMTg1LCAxMTkxLCAxMTk2LCAKKyAgICAxMzQ0LCAxMjA2LCAxMzUwLCAxMzU1LCAxMzYwLCAxMzY3LCAxMzcxLCAxMzc0LCAxMzgzLCAxMjEwLCAxMzg3LCAxMjE1LCAKKyAgICAxMjIxLCAxMjI2LCAxMzkxLCAxMzk2LCAxNDAxLCAxNDA1LCAxNDA5LCAxNDE1LCAxNDE5LCAxMjMxLCAxNDIyLCAxMjQxLCAKKyAgICAxNDI3LCAxNDMxLCAxMjQ2LCAxNDM3LCAxMjUxLCAxNDQxLCAxNDQ1LCAxMjU2LCAxNDQ5LCAxNDU0LCAxNDU4LCAxNDYxLCAKKyAgICAxNDY1LCAxMjYwLCAxMjY1LCAxNDcwLCAxMjcwLCAxNDc2LCAxNDgyLCAxNDg4LCAxNDk0LCAxMjc1LCAxMjg3LCAxMjkzLCAKKyAgICAxNDk4LCAxNTAyLCAxNTA2LCAxNTA5LCAxMjk4LCAxNTEzLCAxNTE1LCAxNTIwLCAxNTI1LCAxNTMxLCAxNTM2LCAxNTQxLCAKKyAgICAxNTQ1LCAxNTUwLCAxNTU1LCAxNTYwLCAxNTY1LCAxNTcxLCAxNTc2LCAxNTgxLCAxNTg3LCAxNTkzLCAxNTk4LCAxNjAyLCAKKyAgICAxNjA3LCAxNjEyLCAxNjE3LCAxNjIyLCAxNjI3LCAxNjMxLCAxNjM5LCAxNjQ0LCAxNjQ4LCAxNjUzLCAxNjU4LCAxNjYzLCAKKyAgICAxNjY4LCAxNjcyLCAxNjc1LCAxNjgyLCAxNjg3LCAxNjkyLCAxNjk3LCAxNzAyLCAxNzA4LCAxNzEzLCAxNzE3LCAxMzAyLCAKKyAgICAxNzIwLCAxNzI1LCAxNzMwLCAxMzA3LCAxNzM0LCAxNzM4LCAxNzQ1LCAxMzEyLCAxNzUyLCAxMzE3LCAxNzU2LCAxNzU4LCAKKyAgICAxNzYzLCAxNzY5LCAxMzIxLCAxNzc0LCAxNzgzLCAxMzI2LCAxNzg4LCAxNzk0LCAxNzk5LCAxMzMxLCAxODA0LCAxODA5LCAKKyAgICAxODEyLCAxODE3LCAxODIxLCAxODI1LCAxODI5LCAxODMyLCAxODM2LCAxMzM2LCAxMzQxLCAxODQxLCAxODQzLCAxODQ5LCAKKyAgICAxODU1LCAxODYxLCAxODY3LCAxODczLCAxODc5LCAxODg1LCAxODkxLCAxODk2LCAxOTAyLCAxOTA4LCAxOTE0LCAxOTIwLCAKKyAgICAxOTI2LCAxOTMyLCAxOTM4LCAxOTQ0LCAxOTUwLCAxOTU1LCAxOTYwLCAxOTY1LCAxOTcwLCAxOTc1LCAxOTgwLCAxOTg1LCAKKyAgICAxOTkwLCAxOTk1LCAyMDAwLCAyMDA2LCAyMDExLCAyMDE3LCAyMDIyLCAyMDI4LCAyMDM0LCAyMDM5LCAyMDQ1LCAyMDUxLCAKKyAgICAyMDU3LCAyMDYzLCAyMDY4LCAyMDczLCAyMDc1LCAyMDc2LCAyMDgwLCAyMDg0LCAyMDg5LCAyMDkzLCAyMDk3LCAyMTAxLCAKKyAgICAyMTA2LCAyMTEwLCAyMTEzLCAyMTE4LCAyMTIyLCAyMTI3LCAyMTMxLCAyMTM1LCAyMTQwLCAyMTQ0LCAyMTQ3LCAyMTUxLCAKKyAgICAyMTU3LCAyMTcxLCAyMTc1LCAyMTc5LCAyMTgzLCAyMTg2LCAyMTkxLCAyMTk1LCAyMTk5LCAyMjAyLCAyMjA2LCAyMjExLCAKKyAgICAyMjE2LCAyMjIxLCAyMjI2LCAyMjMwLCAyMjM0LCAyMjM4LCAyMjQyLCAyMjQ3LCAyMjUxLCAyMjU2LCAyMjYwLCAyMjY1LCAKKyAgICAyMjcxLCAyMjc4LCAyMjg0LCAyMjg5LCAyMjk0LCAyMjk5LCAyMzA1LCAyMzEwLCAyMzE2LCAyMzIxLCAyMzI0LCAyMzI2LCAKKyAgICAxMTkyLCAyMzMwLCAyMzM3LCAyMzQ1LCAyMzU1LCAyMzY0LCAyMzc4LCAyMzgyLCAyMzg2LCAyMzkxLCAyNDA0LCAyNDEyLCAKKyAgICAyNDE2LCAyNDIxLCAyNDI1LCAyNDI4LCAyNDMyLCAyNDM2LCAyNDQxLCAyNDQ2LCAyNDUxLCAyNDU1LCAyNDU4LCAyNDYyLCAKKyAgICAyNDY5LCAyNDc2LCAyNDgyLCAyNDg3LCAyNDkyLCAyNDk4LCAyNTA0LCAyNTA5LCAyNTEyLCAxNzYwLCAyNTE0LCAyNTIwLCAKKyAgICAyNTI0LCAyNTI5LCAyNTMzLCAyNTM3LCAxNjc4LCAxNzcxLCAyNTQyLCAyNTQ2LCAyNTQ5LCAyNTU0LCAyNTU5LCAyNTY0LCAKKyAgICAyNTY5LCAyNTczLCAyNTgwLCAyNTg1LCAyNTg4LCAyNTk1LCAyNjAxLCAyNjA1LCAyNjA5LCAyNjEzLCAyNjE4LCAyNjI1LCAKKyAgICAyNjMwLCAyNjM1LCAyNjQyLCAyNjQ4LCAyNjU0LCAyNjYwLCAyNjc0LCAyNjkxLCAyNzA2LCAyNzIxLCAyNzMwLCAyNzM1LCAKKyAgICAyNzM5LCAyNzQ0LCAyNzQ5LCAyNzUzLCAyNzY1LCAyNzcyLCAyNzc4LCAyMjc0LCAyNzg0LCAyNzkxLCAyNzk3LCAyODAxLCAKKyAgICAyODA0LCAyODExLCAyODE3LCAyODIyLCAyODI2LCAyODMxLCAyODM1LCAyODM5LCAyMDk4LCAyODQzLCAyODQ4LCAyODUzLCAKKyAgICAyODU3LCAyODYyLCAyODcwLCAyODc0LCAyODc4LCAyODgyLCAyODg2LCAyODkxLCAyODk2LCAyOTAxLCAyOTA1LCAyOTEwLCAKKyAgICAyOTE1LCAyOTE5LCAyOTI0LCAyOTI4LCAyOTMxLCAyOTM1LCAyOTM5LCAyOTQ3LCAyOTUyLCAyOTU2LCAyOTYwLCAyOTY2LCAKKyAgICAyOTc1LCAyOTc5LCAyOTgzLCAyOTg5LCAyOTk0LCAzMDAxLCAzMDA1LCAzMDE1LCAzMDE5LCAzMDIzLCAzMDI4LCAzMDMyLCAKKyAgICAzMDM3LCAzMDQzLCAzMDQ4LCAzMDUyLCAzMDU2LCAzMDYwLCAyNDcyLCAzMDY4LCAzMDczLCAzMDc5LCAzMDg0LCAzMDg4LCAKKyAgICAzMDkzLCAzMDk4LCAzMTAyLCAzMTA4LCAzMTEzLCAyMTAyLCAzMTE5LCAzMTI1LCAzMTMwLCAzMTM1LCAzMTQwLCAzMTQ1LCAKKyAgICAzMTUwLCAzMTU1LCAzMTYwLCAzMTY1LCAzMTcwLCAzMTc2LCAzMTgxLCAxMjA3LCAxMDEsIDMxODcsIDMxOTEsIDMxOTUsIAorICAgIDMxOTksIDMyMDQsIDMyMDgsIDMyMTIsIDMyMTgsIDMyMjMsIDMyMjcsIDMyMzEsIDMyMzYsIDMyNDEsIDMyNDUsIDMyNTAsIAorICAgIDMyNTQsIDMyNTcsIDMyNjEsIDMyNjYsIDMyNzAsIDMyNzUsIDMyNzksIDMyODIsIDMyODYsIDMyOTAsIDMyOTUsIDMyOTksIAorICAgIDMzMDIsIDMzMTUsIDMzMTksIDMzMjMsIDMzMjcsIDMzMzIsIDMzMzYsIDMzNDAsIDMzNDMsIDMzNDcsIDMzNTEsIDMzNTYsIAorICAgIDMzNjAsIDMzNjUsIDMzNzAsIDMzNzUsIDMzNzksIDMzODQsIDMzODcsIDMzOTAsIDMzOTUsIDM0MDEsIDM0MDUsIDM0MDksIAorICAgIDM0MTIsIDM0MTcsIDM0MjEsIDM0MjYsIDM0MzAsIDM0MzQsIDM0MzcsIDM0NDMsIDM0NDgsIDM0NTMsIDM0NTksIDM0NjQsIAorICAgIDM0NjksIDM0NzUsIDM0ODEsIDM0ODYsIDM0OTEsIDM0OTYsIDM1MDEsIDEwNjMsIDU1OSwgMzUwNCwgMzUwNywgMzUxMiwgCisgICAgMzUxNiwgMzUyMCwgMzUyNCwgMzUyOCwgMzUzMSwgMzUzNSwgMzU0MCwgMzU0NSwgMzU0OSwgMzU1NCwgMzU1OCwgMzU2MywgCisgICAgMzU2NywgMzU3MSwgMzU3NSwgMzU4MSwgMzU4NywgMzU5MCwgMzU5MywgMzU5OSwgMzYwNiwgMzYxMywgMzYxOSwgMzYyNiwgCisgICAgMzYzMSwgMzYzNSwgMzYzOSwgMzY0NiwgMzY1MSwgMzY1OCwgMzY2MywgMzY2NywgMzY3NywgMzY4MSwgMzY4NSwgMzY5MCwgCisgICAgMzY5NSwgMzcwNSwgMjExNCwgMzcxMCwgMzcxNCwgMzcxNywgMzcyMywgMzcyOCwgMzczNCwgMzc0MCwgMzc0NSwgMzc1MiwgCisgICAgMzc1NiwgMzc2MCwgNjEyLCA2OTMsIDEzNjgsIDM3NjQsIDM3NzEsIDM3NzgsIDM3ODQsIDM3ODksIDM3OTYsIDM4MDMsIAorICAgIDM4MDksIDM4MTUsIDM4MjAsIDM4MjQsIDM4MzAsIDM4MzcsIDM4NDIsIDM4NDYsIDIxMjMsIDM4NTAsIDM4NTgsIDY3OSwgCisgICAgMzg2NCwgMzg3NSwgMzg3OSwgMzg4OSwgMjEyOCwgMzg5NSwgMzkwMCwgMzkxNSwgMzkyMSwgMzkyOCwgMzkzOCwgMzk0NCwgCisgICAgMzk0OSwgMzk1NSwgMzk2MSwgMzk2NCwgMzk2NywgMzk3MSwgMzk3NiwgMzk4MywgMzk4OCwgMzk5MiwgMzk5NiwgNDAwMCwgCisgICAgNDAwNCwgNDAwOSwgNDAxNSwgNDAyNiwgNDAzMCwgMzI2MiwgNDAzNSwgNDA0NywgNDA1NSwgNDA1OSwgNDA2NCwgMTU0NywgCisgICAgNDA3MSwgNDA3NCwgNDA3NywgNDA4MSwgNDA4NCwgNDA5MCwgNDA5NCwgNDEwOCwgNDExMiwgNDExNSwgNDExOSwgNDEyNSwgCisgICAgNDEzMSwgNDEzNiwgNDE0MCwgNDE0NCwgNDE1MCwgNDE2MSwgNDE2NywgNDE3MiwgNDE3OCwgNDE4MiwgNDE5MCwgNDIwMiwgCisgICAgNDIxMiwgNDIxOCwgNDIyMywgNDIzMiwgNDI0MCwgNDI0NywgNDI1MSwgNDI1NywgNDI2NiwgNDI3NSwgNDI3OSwgNDI4NCwgCisgICAgNDI4OSwgNDI5MywgNDMwMSwgNDMwNSwgNDMxMCwgNDMxNCwgNDMyMCwgMjEzNiwgMTM4NCwgNDMyNiwgNDMzMSwgNDMzNywgCisgICAgNDM0MiwgNDM0NywgNDM1MiwgNDM1NywgNDM2MiwgNDM2NywgNDM3MywgNDM3OCwgNDM4NCwgNDM4OSwgNDM5NCwgNDM5OSwgCisgICAgNDQwNSwgNDQxMCwgNDQxNSwgNDQyMCwgNDQyNSwgNDQzMSwgNDQzNiwgNDQ0MiwgNDQ0NywgNDQ1MiwgNDQ1NywgNDQ2MiwgCisgICAgNDQ2NywgNDQ3MiwgNDQ3OCwgNDQ4MywgNDQ4OCwgMjcxLCAzMDEsIDQ0OTMsIDQ0OTksIDQ1MDMsIDQ1MDcsIDQ1MTIsIAorICAgIDQ1MTYsIDQ1MjAsIDQ1MjMsIDQ1MjcsIDQ1MzEsIDQ1MzUsIDQ1MzksIDQ1NDMsIDQ1NDgsIDQ1NTIsIDQ1NTYsIDQ1NjIsIAorICAgIDQzMjMsIDQ1NjcsIDQ1NzEsIDQ1NzQsIDQ1NzksIDQ1ODQsIDQ1ODksIDQ1OTQsIDQ1OTksIDQ2MDQsIDQ2MDksIDQ2MTQsIAorICAgIDQ2MTksIDQ2MjQsIDQ2MjgsIDQ2MzMsIDQ2MzgsIDQ2NDMsIDQ2NDgsIDQ2NTMsIDQ2NTgsIDQ2NjMsIDQ2NjgsIDQ2NzMsIAorICAgIDQ2NzgsIDQ2ODIsIDQ2ODcsIDQ2OTIsIDQ2OTcsIDQ3MDIsIDQ3MDcsIDQ3MTIsIDQ3MTcsIDQ3MjIsIDQ3MjcsIDQ3MzIsIAorICAgIDQ3MzYsIDQ3NDEsIDQ3NDYsIDQ3NTEsIDQ3NTYsIDQ3NjEsIDQ3NjYsIDQ3NzEsIDQ3NzYsIDQ3ODEsIDQ3ODYsIDQ3OTAsIAorICAgIDQ3OTUsIDQ4MDAsIDQ4MDUsIDQ4MTAsIDQ4MTUsIDQ4MjAsIDQ4MjUsIDQ4MzAsIDQ4MzUsIDQ4NDAsIDQ4NDQsIDQ4NDksIAorICAgIDQ4NTQsIDQ4NTksIDQ4NjQsIDQ4NjksIDQ4NzQsIDQ4NzksIDQ4ODQsIDQ4ODksIDQ4OTQsIDQ4OTgsIDQ5MDMsIDQ5MDgsIAorICAgIDQ5MTMsIDQ5MTgsIDQ5MjMsIDQ5MjgsIDQ5MzMsIDQ5MzgsIDQ5NDMsIDQ5NDgsIDQ5NTIsIDQ5NTcsIDQ5NjIsIDQ5NjcsIAorICAgIDQ5NzIsIDQ5NzgsIDQ5ODQsIDQ5OTAsIDQ5OTYsIDUwMDIsIDUwMDgsIDUwMTQsIDUwMTksIDUwMjUsIDUwMzEsIDUwMzcsIAorICAgIDUwNDMsIDUwNDksIDUwNTUsIDUwNjEsIDUwNjcsIDUwNzMsIDUwNzksIDUwODQsIDUwOTAsIDUwOTYsIDUxMDIsIDUxMDgsIAorICAgIDUxMTQsIDUxMjAsIDUxMjYsIDUxMzIsIDUxMzgsIDUxNDQsIDUxNDksIDUxNTUsIDUxNjEsIDUxNjcsIDUxNzMsIDUxNzksIAorICAgIDUxODUsIDUxOTEsIDUxOTcsIDUyMDMsIDUyMDksIDUyMTQsIDUyMjAsIDUyMjYsIDUyMzIsIDUyMzgsIDUyNDQsIDUyNTAsIAorICAgIDUyNTYsIDUyNjIsIDUyNjgsIDUyNzQsIDUyNzksIDUyODUsIDUyOTEsIDUyOTcsIDUzMDMsIDUzMDksIDUzMTUsIDUzMjEsIAorICAgIDUzMjcsIDUzMzMsIDUzMzksIDUzNDQsIDUzNDgsIDUzNTQsIDUzNjAsIDUzNjYsIDUzNzIsIDUzNzgsIDUzODQsIDUzOTAsIAorICAgIDUzOTYsIDU0MDIsIDU0MDgsIDU0MTMsIDU0MTksIDU0MjUsIDU0MzEsIDU0MzcsIDU0NDMsIDU0NDksIDU0NTUsIDU0NjEsIAorICAgIDU0NjcsIDU0NzMsIDU0NzgsIDU0ODQsIDU0OTAsIDU0OTYsIDU1MDIsIDU1MDgsIDU1MTQsIDU1MjAsIDU1MjYsIDU1MzIsIAorICAgIDU1MzgsIDU1NDMsIDU1NDksIDU1NTUsIDU1NjEsIDU1NjcsIDU1NzMsIDU1NzksIDU1ODUsIDU1OTEsIDU1OTcsIDU2MDMsIAorICAgIDU2MDgsIDU2MTQsIDU2MjAsIDU2MjYsIDU2MzIsIDU2MzgsIDU2NDQsIDU2NTAsIDU2NTYsIDU2NjIsIDU2NjgsIDU2NzMsIAorICAgIDU2NzksIDU2ODUsIDU2OTEsIDU2OTcsIDU3MDMsIDU3MDksIDU3MTUsIDU3MjEsIDU3MjcsIDU3MzMsIDU3MzgsIDU3NDQsIAorICAgIDU3NTAsIDU3NTYsIDU3NjIsIDU3NjgsIDU3NzQsIDU3ODAsIDU3ODYsIDU3OTIsIDU3OTgsIDU4MDMsIDU4MDksIDU4MTUsIAorICAgIDU4MjEsIDU4MjcsIDU4MzMsIDU4MzksIDU4NDUsIDU4NTEsIDU4NTcsIDU4NjMsIDU4NjgsIDU4NzQsIDU4ODAsIDU4ODYsIAorICAgIDU4OTIsIDU4OTgsIDU5MDQsIDU5MTAsIDU5MTYsIDU5MjIsIDU5MjgsIDU5MzMsIDU5MzksIDU5NDUsIDU5NTEsIDU5NTcsIAorICAgIDU5NjMsIDU5NjksIDU5NzUsIDU5ODEsIDU5ODcsIDU5OTMsIDU5OTgsIDYwMDIsIDYwMDUsIDYwMTIsIDYwMTYsIDYwMjksIAorICAgIDYwMzMsIDYwMzcsIDYwNDEsIDYwNDQsIDYwNDgsIDYwNTMsIDYwNTcsIDYwNjEsIDYwNjcsIDYwNzQsIDYwODIsIDYwODksIAorICAgIDYwOTMsIDYxMDEsIDYxMTAsIDYxMTYsIDYxMjgsIDYxMzMsIDYxMzYsIDYxNDEsIDYxNDUsIDYxNTUsIDYxNjMsIDYxNzEsIAorICAgIDYxNzcsIDYxODEsIDYxOTEsIDYyMDEsIDYyMDksIDYyMTYsIDYyMjMsIDYyMjksIDYyMzUsIDYyNDIsIDYyNDYsIDYyNTMsIAorICAgIDYyNjMsIDYyNzMsIDYyODEsIDYyODgsIDYyOTMsIDYyOTcsIDYzMDEsIDYzMDksIDYzMTMsIDYzMTgsIDYzMjUsIDYzMzMsIAorICAgIDYzMzgsIDYzNDIsIDYzNDcsIDYzNTEsIDYzNTgsIDYzNjMsIDYzNzcsIDYzODIsIDYzODcsIDYzOTQsIDM1MTcsIDY0MDMsIAorICAgIDY0MDcsIDY0MTIsIDY0MTYsIDY0MjAsIDY0MjMsIDY0MjgsIDY0MzMsIDY0NDIsIDY0NDgsIDY0NTQsIDY0NjAsIDY0NjQsIAorICAgIDY0NzUsIDY0ODUsIDY1MDAsIDY1MTUsIDY1MzAsIDY1NDUsIDY1NjAsIDY1NzUsIDY1OTAsIDY2MDUsIDY2MjAsIDY2MzUsIAorICAgIDY2NTAsIDY2NjUsIDY2ODAsIDY2OTUsIDY3MTAsIDY3MjUsIDY3NDAsIDY3NTUsIDY3NzAsIDY3ODUsIDY4MDAsIDY4MTUsIAorICAgIDY4MzAsIDY4NDUsIDY4NjAsIDY4NzUsIDY4OTAsIDY5MDUsIDY5MjAsIDY5MzUsIDY5NTAsIDY5NjUsIDY5ODAsIDY5OTUsIAorICAgIDcwMTAsIDcwMjUsIDcwNDAsIDcwNTUsIDcwNzAsIDcwODUsIDcxMDAsIDcxMTUsIDcxMzAsIDcxNDUsIDcxNjAsIDcxNzUsIAorICAgIDcxOTAsIDcyMDUsIDcyMjAsIDcyMjksIDcyMzgsIDcyNDMsIDcyNDksIDcyNTksIDcyNjMsIDcyNjcsIDcyNzIsIDcyNzcsIAorICAgIDcyODUsIDcyODksIDcyOTIsIDcyOTYsIDMwMTAsIDcyOTksIDczMDQsIDMwNSwgNDc0LCA3MzEwLCA3MzE4LCA3MzIyLCAKKyAgICA3MzI2LCA3MzI5LCA3MzMzLCA3MzM5LCA3MzQzLCA3MzUxLCA3MzU3LCA3MzYyLCA3MzY5LCA3Mzc3LCA3Mzg0LCA3MzkwLCAKKyAgICA3Mzk1LCA3NDAyLCA3NDA4LCA3NDE2LCA3NDIwLCA3NDI1LCA3NDM3LCA3NDQ4LCA3NDU1LCA3NDU5LCA3NDYzLCA3NDY3LCAKKyAgICA3NDcwLCA3NDc2LCAzMjg3LCA3NDgwLCA3NDg2LCA3NDkxLCA3NDk2LCA3NTAxLCA3NTA3LCA3NTEyLCA3NTE3LCA3NTIyLCAKKyAgICA3NTI3LCA3NTMzLCA3NTM4LCA3NTQzLCA3NTQ5LCA3NTU0LCA3NTYwLCA3NTY1LCA3NTcxLCA3NTc2LCA3NTgyLCA3NTg3LCAKKyAgICA3NTkyLCA3NTk3LCA3NjAyLCA3NjA3LCA3NjEzLCA3NjE4LCA3NjIzLCA3NjI4LCA3NjM0LCA3NjQwLCA3NjQ2LCA3NjUyLCAKKyAgICA3NjU4LCA3NjY0LCA3NjcwLCA3Njc2LCA3NjgyLCA3Njg4LCA3Njk0LCA3NzAwLCA3NzA1LCA3NzEwLCA3NzE1LCA3NzIwLCAKKyAgICA3NzI1LCA3NzMwLCA3NzM1LCA3NzQwLCA3NzQ2LCA3NzUyLCA3NzU3LCA3NzYzLCA3NzY5LCA3Nzc1LCA3NzgwLCA3Nzg1LCAKKyAgICA3NzkwLCA3Nzk1LCA3ODAxLCA3ODA3LCA3ODEyLCA3ODE3LCA3ODIyLCA3ODI3LCA3ODMyLCA3ODM4LCA3ODQzLCA3ODQ5LCAKKyAgICA3ODU1LCA3ODYxLCA3ODY3LCA3ODczLCA3ODc5LCA3ODg1LCA3ODkxLCA3ODk3LCAyMTQ1LCA3MzI4LCA3OTAyLCA3OTA2LCAKKyAgICA3OTEwLCA3OTEzLCA3OTIwLCA3OTIzLCA3OTI3LCA3OTM1LCA3OTQwLCA3OTQ1LCA3OTM2LCA3OTUwLCAyMTcyLCA3OTU0LCAKKyAgICA3OTYwLCA3OTY2LCA3OTcxLCA3OTc2LCA3OTgzLCA3OTkxLCA3OTk2LCA4MDAwLCA4MDAzLCA4MDA3LCA4MDEzLCA4MDE5LCAKKyAgICA4MDIzLCAyMTgwLCA1OTUsIDgwMjYsIDgwMzAsIDgwMzUsIDgwNDEsIDgwNDYsIDgwNTAsIDgwNTMsIDgwNTcsIDgwNjMsIAorICAgIDgwNjgsIDgwNzIsIDgwNzksIDgwODMsIDgwODcsIDgwOTEsIDgwMCwgODcyLCA4MDk0LCA4MTAyLCA4MTA5LCA4MTE1LCAKKyAgICA4MTIyLCA4MTMwLCA4MTM3LCA4MTQ0LCA4MTQ5LCA4MTYxLCAxMjI3LCAxMzkyLCAxMzk3LCA4MTcyLCAxNDAyLCA4MTc2LCAKKyAgICA4MTgwLCA4MTg5LCA4MTk3LCA4MjA2LCA4MjEyLCA4MjE3LCA4MjIxLCA4MjI3LCA4MjMyLCAyNzI2LCA4MjM5LCA4MjQzLCAKKyAgICA4MjUyLCA4MjYxLCA4MjcwLCA4Mjc5LCA4Mjg0LCA4Mjg5LCA4MzAwLCA4MzEyLCA4MzE3LCA4MzI1LCAyMjMxLCA4MzI5LCAKKyAgICA4MzMxLCA4MzM2LCA4MzQwLCA4MzQ5LCA4MzU3LCAxNDA2LCAxMzgsIDM1NTksIDM1NjQsIDgzNjMsIDgzNjcsIDgzNzYsIAorICAgIDgzODIsIDgzODcsIDgzOTAsIDgzOTksIDM1NjgsIDI3MTgsIDg0MDUsIDg0MTMsIDg0MTcsIDg0MjEsIDg0MjUsIDIyNDgsIAorICAgIDg0MjksIDg0MzQsIDg0NDEsIDg0NDcsIDg0NTMsIDg0NTYsIDg0NTgsIDg0NjEsIDg0NjksIDg0NzcsIDg0ODUsIDg0ODgsIAorICAgIDg0OTMsIDIyNjEsIDg0OTgsIDc5NDcsIDg1MDEsIDg1MDMsIDg1MDgsIDg1MTMsIDg1MTgsIDg1MjMsIDg1MjgsIDg1MzMsIAorICAgIDg1MzgsIDg1NDMsIDg1NDgsIDg1NTMsIDg1NTksIDg1NjQsIDg1NjksIDg1NzQsIDg1ODAsIDg1ODUsIDg1OTAsIDg1OTUsIAorICAgIDg2MDAsIDg2MDUsIDg2MTAsIDg2MTYsIDg2MjEsIDg2MjYsIDg2MzEsIDg2MzYsIDg2NDEsIDg2NDYsIDg2NTEsIDg2NTYsIAorICAgIDg2NjEsIDg2NjYsIDg2NzEsIDg2NzYsIDg2ODEsIDg2ODYsIDg2OTEsIDg2OTYsIDg3MDEsIDg3MDcsIDg3MTMsIDg3MTgsIAorICAgIDg3MjMsIDg3MjgsIDg3MzMsIDg3MzgsIDIyNzIsIDIyNzksIDIyODUsIDg3NDMsIDg3NTEsIDg3NTcsIDg3NjUsIDIzMTEsIAorICAgIDIzMTcsIDg3NzMsIDg3NzcsIDg3ODIsIDg3ODYsIDg3OTAsIDg3OTQsIDg3OTksIDg4MDMsIDg4MDgsIDg4MTIsIDg4MTUsIAorICAgIDg4MTgsIDg4MjQsIDg4MzAsIDg4MzYsIDg4NDIsIDg4NDgsIDg4NTQsIDg4NjAsIDg4NjQsIDg4NjgsIDg4NzIsIDg4NzYsIAorICAgIDg4ODEsIDg4ODUsIDg4OTAsIDg4OTQsIDg5MDAsIDg5MDUsIDg5MTIsIDg5MjMsIDg5MzEsIDg5NDEsIDg5NDcsIDg5NTQsIAorICAgIDg5NTksIDg5NjMsIDg5NzQsIDg5ODcsIDg5OTgsIDkwMTEsIDkwMjIsIDkwMzQsIDkwNDYsIDkwNTgsIDkwNzEsIDkwODQsIAorICAgIDkwOTEsIDkwOTcsIDkxMTEsIDkxMTgsIDkxMjQsIDkxMjgsIDkxMzMsIDkxMzcsIDkxNDQsIDkxNTIsIDkxNTYsIDkxNjIsIAorICAgIDkxNjYsIDkxNzIsIDkxODIsIDkxODYsIDkxOTEsIDkxOTYsIDkyMDMsIDkyMDksIDgxMTcsIDkyMTksIDkyMjMsIDkyMzAsIAorICAgIDkyMzYsIDkyNDMsIDg3MSwgOTI0NywgOTI1MSwgOTI1NiwgOTI2MSwgOTI2NiwgOTI3MCwgOTI3NiwgOTI4NCwgOTI5MCwgCisgICAgOTI5NCwgOTMwMCwgOTMxMCwgOTMxNCwgOTMyMCwgOTMyNSwgOTMyOSwgOTMzMywgOTMzOSwgOTM0NSwgMjE2OCwgOTM1MCwgCisgICAgOTM1MiwgOTM1NywgOTM2NSwgOTM3NCwgOTM3OCwgOTM4NCwgOTM4OSwgOTM5NCwgOTM5OSwgOTQwNCwgOTQxMCwgOTQxNSwgCisgICAgOTQyMCwgNDE0NiwgOTQyNSwgOTQzMCwgOTQzNCwgOTQ0MCwgOTQ0NSwgOTQ1MSwgOTQ1NiwgOTQ2MSwgOTQ2NywgOTQ3MiwgCisgICAgOTM3OSwgOTQ3OCwgOTQ4MiwgOTQ4OSwgOTQ5NSwgOTUwMCwgOTUwNCwgNjM3MywgOTUwOSwgOTUxOCwgOTUyMywgOTUyOCwgCisgICAgODQzNywgODQ0NCwgOTUzMywgMjg4OCwgOTUzNywgOTU0MiwgOTU0NywgOTU1MiwgOTM5MCwgOTU1NiwgOTU2MSwgOTU2NiwgCisgICAgOTM5NSwgOTU3MCwgOTQwMCwgOTU3NSwgOTU4MiwgOTU4OSwgOTU5NSwgOTYwMiwgOTYwOCwgOTYxNCwgOTYxOSwgOTYyNiwgCisgICAgOTYzMSwgOTYzNiwgOTY0MSwgOTY0NywgOTQwNSwgOTQxMSwgOTY1MywgOTY1OSwgOTY2NCwgOTY2OSwgOTY3NywgOTQxNiwgCisgICAgOTY4MiwgMTAyOCwgOTY4NSwgOTY5MywgOTY5OSwgOTcwNSwgOTcxNCwgOTcyMiwgOTczMCwgOTczOCwgOTc0NiwgOTc1NCwgCisgICAgOTc2MiwgOTc3MCwgOTc3OCwgOTc4NywgOTc5NiwgOTgwNCwgOTgxMywgOTgyMiwgOTgzMSwgOTg0MCwgOTg0OSwgOTg1OCwgCisgICAgOTg2NywgOTg3NiwgOTg4NSwgOTg5NCwgOTkwMiwgOTkwNywgOTkxMywgOTkyMSwgOTkyOCwgOTk0MywgOTk2MCwgOTk3OSwgCisgICAgOTk4OCwgOTk5NiwgMTAwMTEsIDEwMDIyLCAxMDAzMiwgMTAwNDIsIDEwMDUwLCAxMDA1NiwgMTAwNjgsIDEwMDc3LCAKKyAgICAxMDA4NSwgMTAwOTIsIDEwMDk5LCAxMDEwNSwgMTAxMTAsIDEwMTIwLCAxMDEyOCwgMTAxMzgsIDEwMTQ1LCAxMDE1NSwgCisgICAgMTAxNjUsIDEwMTc1LCAxMDE4MywgMTAxOTAsIDEwMTk5LCAxMDIwOSwgMTAyMjMsIDEwMjM4LCAxMDI0NywgMTAyNTUsIAorICAgIDEwMjYwLCAxMDI2NCwgMTAyNzMsIDEwMjc5LCAxMDI4NCwgMTAyOTQsIDEwMzA0LCAxMDMxNCwgMTAzMTksIDEwMzIzLCAKKyAgICAxMDMzMiwgMTAzMzcsIDEwMzQ3LCAxMDM1OCwgMTAzNzEsIDEwMzc5LCAxMDM5MiwgMTA0MDQsIDEwNDEyLCAxMDQxNywgCisgICAgMTA0MjEsIDEwNDI3LCAxMDQzMiwgMTA0NDAsIDEwNDQ4LCAxMDQ1NSwgMTA0NjAsIDEwNDY4LCAxMDQ3OCwgMTA0ODQsIAorICAgIDEwNDg4LCAxMDQ5MSwgMTA0OTUsIDEwNTAxLCAxMDUwNSwgMTA1MTMsIDEwNTIyLCAxMDUyNywgMTA1MzEsIDEwNTM1LCAKKyAgICAxMDU0MywgMTA1NTEsIDEwNTYwLCAxMDU2OCwgMTA1NzQsIDEwNTc4LCAxMDU4NSwgMTA1OTYsIDEwNjAwLCAxMDYwMywgCisgICAgMTA2MDksIDk0MjEsIDEwNjE0LCAxMDYyMCwgMTA2MjcsIDEwNjMzLCAxMDYzOCwgMTA2NDUsIDEwNjUyLCAxMDY1OSwgCisgICAgMTA2NjYsIDEwNjczLCAxMDY4MCwgMTA2ODcsIDEwNjk0LCAxMDY5OSwgOTk1NiwgMTA3MDQsIDEwNzEwLCAxMDcxNywgCisgICAgMTA3MjQsIDEwNzI5LCAxMDczNiwgMTA3NDUsIDEwNzQ5LCAxMDc2MSwgODQ3NSwgMTA3NjUsIDEwNzY4LCAxMDc3MiwgCisgICAgMTA3NzYsIDEwNzgwLCAxMDc4NCwgMTA3OTAsIDEwNzk2LCAxMDgwMSwgMTA4MDcsIDEwODEyLCAxMDgxNywgMTA4MjMsIAorICAgIDEwODI4LCAxMDgzMywgOTE5OSwgMTA4MzgsIDEwODQyLCAxMDg0NiwgMTA4NTAsIDEwODU1LCAxMDg2MCwgMTA4NjUsIAorICAgIDEwODczLCAxMDg3OSwgMTA4ODMsIDEwODg3LCAxMDg5NCwgMTA4OTksIDEwOTA3LCAxMDkxNCwgMTA5MTksIDEwOTIzLCAKKyAgICAxMDkyNiwgMTA5MzIsIDEwOTM5LCAxMDk0MywgMTA5NDYsIDEwOTUxLCAxMDk1NSwgNDE4NSwgMTA5NjEsIDEwOTcwLCAzNiwgCisgICAgMTA5NzgsIDEwOTg0LCAxMDk4OSwgMTA5OTQsIDkyMTQsIDExMDAwLCAxMTAwNiwgMTEwMTEsIDExMDE1LCAxMTAxOCwgCisgICAgMTEwMzMsIDExMDUyLCAxMTA2NCwgMTEwNzcsIDExMDkwLCAxMTEwMywgMTExMTcsIDExMTMwLCAxMTE0NSwgMTExNTIsIAorICAgIDk0MjYsIDExMTU4LCAxMTE3MiwgMTExNzcsIDExMTgzLCAxMTE4OCwgMTExOTYsIDExMjAxLCA4MjQ4LCAxMTIwNiwgCisgICAgMTEyMDksIDExMjE3LCAxMTIyNCwgMTEyMjksIDExMjMzLCAxMTIzOSwgMjg5MywgMTEzMywgMTEyNDMsIDExMjQ3LCAKKyAgICAxMTI1MywgMTEyNTksIDExMjY0LCAxMTI3MCwgMTEyNzUsIDk0MzUsIDExMjgxLCAxMTI4NywgMTEyOTIsIDExMjk3LCAKKyAgICAxMTMwNSwgMTEzMTEsIDExMzI0LCAxMTMzMiwgMTEzMzksIDk0NDEsIDExMzQ1LCAxMTM1MywgMTEzNjEsIDExMzY4LCAKKyAgICAxMTM4MSwgMTEzOTMsIDExNDAzLCAxMTQxMSwgMTE0MTgsIDExNDI1LCAxMTQzNSwgMTE0NDQsIDExNDUzLCAxMTQ2MSwgCisgICAgMTE0NjgsIDExNDczLCAxMTQ3OSwgOTQ0NiwgMTE0ODQsIDExNDkwLCAxMTQ5NSwgMTE1MDAsIDk0NTIsIDExNTA1LCAKKyAgICAxMTUwOCwgMTE1MTUsIDExNTIxLCAxMTUzNCwgODkxNiwgMTE1NDUsIDExNTUxLCAxMTU2MCwgMTE1NjgsIDExNTc1LCAKKyAgICAxMTU4MSwgMTE1OTIsIDExNTk4LCAzNzgwLCAxMTYwMywgMTE2MDgsIDExMDI1LCAxMTYxNCwgMTE2MjEsIDExNjI2LCAKKyAgICA5NDU3LCAxMTYzMiwgMTE2MzcsIDExNjQ0LCAxMTY1MCwgMTE2NTYsIDExNjYxLCAxMTY2OSwgMTE2NzcsIDExNjg0LCAKKyAgICAxMTY4OCwgMTE3MDAsIDExNzE0LCAxMTcyNCwgMTE3MjksIDExNzMzLCAxMTc0NCwgMTE3NTAsIDExNzU1LCAxMTc2MCwgCisgICAgOTQ2MiwgMTE3NjQsIDk0NjgsIDExNzY5LCAxMTc3MiwgMTE3NzcsIDExNzg5LCAxMTc5NiwgMTE4MDEsIDExODA1LCAKKyAgICAxMTgxMywgMTE4MTgsIDExODIyLCAxMTgyNywgMTE4MzQsIDExODQwLCA5NDczLCA5MzgwLCAxMTg0NywgMjg5OCwgOCwgCisgICAgMTE4NTQsIDExODU5LCAxMTg2MywgMTE4NjcsIDExODczLCAxMTg4MSwgMTE4OTEsIDExODk2LCAxMTkwMSwgMTE5MDgsIAorICAgIDExOTE1LCAxMTkxOSwgMTE5MzAsIDExOTQwLCAxMTk0OSwgMTE5NTgsIDExOTcwLCAxMTk3NSwgMTE5NzksIDExOTg3LCAKKyAgICAxMjAwMSwgMTIwMDUsIDEyMDA4LCAxMjAxNiwgMTIwMjMsIDEyMDMxLCAxMjAzNSwgMTIwNDYsIDEyMDUwLCAxMjA1NywgCisgICAgMTIwNjIsIDEyMDY2LCAxMjA3MiwgMTIwNzcsIDEyMDgyLCAxMjA4NiwgMTIwOTIsIDEyMDk3LCAxMjEwOCwgMTIxMTIsIAorICAgIDEyMTE1LCAxMjEyMSwgMTIxMjYsIDEyMTMyLCAxMjEzOCwgMTIxNDUsIDEyMTU2LCAxMjE2NiwgMTIxNzYsIDEyMTg1LCAKKyAgICAxMjE5MiwgMTIyMDEsIDEyMjA1LCA5NDgzLCA5NDkwLCA5NDk2LCA5NTAxLCAxMjIxMSwgMTIyMTcsIDEyMjIzLCA5NTA1LCAKKyAgICAxMjIyOSwgMTIyMzIsIDEyMjM5LCAxMjI0NCwgMTIyNTksIDEyMjc1LCAxMjI5MCwgMTIyOTgsIDEyMzA0LCAxMjMwOSwgCisgICAgODY0LCAzNTQsIDEyMzE0LCAxMjMyMiwgMTIzMjksIDEyMzM1LCAxMjM0MCwgMTIzNDUsIDk1MTAsIDEyMzQ3LCAxMjM1MSwgCisgICAgMTIzNTYsIDEyMzYwLCAxMjM3MCwgMTIzNzUsIDEyMzc5LCAxMjM4OCwgMTIzOTIsIDEyMzk1LCAxMjQwMiwgOTUxOSwgCisgICAgMTI0MDcsIDEyNDEwLCAxMjQxOCwgMTI0MjUsIDEyNDMzLCAxMjQzNywgMTI0NDEsIDEyNDQ4LCAxMjQ1NywgMTI0NjQsIAorICAgIDEyNDYwLCAxMjQ3MSwgMTI0NzUsIDEyNDgxLCAxMjQ4NSwgMTI0ODksIDEyNDkzLCAxMjQ5OSwgMTI1MDksIDEyNTE3LCAKKyAgICAxMjUyNCwgMTI1MjgsIDEyNTM2LCAxMjU0MCwgMTI1NDcsIDEyNTUxLCAxMjU1NiwgMTI1NjAsIDEyNTY3LCAxMjU3MywgCisgICAgMTI1ODEsIDEyNTg3LCAxMjU5MiwgMTI2MDIsIDEyNjA3LCAxMjYxMiwgMTI2MTYsIDEyNjI0LCA0MDQxLCAxMjYzMiwgCisgICAgMTI2MzcsIDk1MjQsIDEyNjQxLCAxMjY0NSwgMTI2NDgsIDEyNjU2LCAxMjY2MywgMTI2NjcsIDYxNzMsIDEyNjcxLCAKKyAgICAxMjY3NiwgMTI2ODAsIDEyNjkxLCAxMjcwMSwgMTI3MDYsIDEyNzEyLCAxMjcxNiwgMTI3MTksIDEyNzI3LCAxMjczMiwgCisgICAgMTI3MzcsIDEyNzQ0LCAxMjc0OSwgOTUyOSwgMTI3NTQsIDEyNzU4LCAxMjc2NSwgMTcyMiwgNjMzMSwgMTI3NzAsIDEyNzc1LCAKKyAgICAxMjc4MCwgMTI3ODUsIDEyNzkxLCAxMjc5NiwgMTI4MDIsIDEyODA3LCAxMjgxMiwgMTI4MTcsIDEyODIyLCAxMjgyNywgCisgICAgMTI4MzIsIDEyODM3LCAxMjg0MiwgMTI4NDcsIDEyODUyLCAxMjg1NywgMTI4NjIsIDEyODY3LCAxMjg3MiwgMTI4NzcsIAorICAgIDEyODgyLCAxMjg4OCwgMTI4OTMsIDEyODk4LCAxMjkwMywgMTI5MDgsIDEyOTEzLCAxMjkxOSwgMTI5MjQsIDEyOTI5LCAKKyAgICAxMjkzNSwgMTI5NDAsIDEyOTQ2LCAxMjk1MSwgMTI5NTcsIDEyOTYyLCAxMjk2NywgMTI5NzIsIDEyOTc3LCAxMjk4MywgCisgICAgMTI5ODgsIDEyOTkzLCAxMjk5OCwgODM2LCAxMTcsIDEzMDA2LCAxMzAxMCwgMTMwMTUsIDEzMDIwLCAxMzAyNCwgMTMwMjgsIAorICAgIDEzMDMyLCAxMzAzNywgMTMwNDEsIDEzMDQ2LCAxMzA1MCwgMTMwNTMsIDEzMDU3LCAxMzA2MSwgMTMwNjcsIDEzMDcyLCAKKyAgICAxMzA4MiwgMTMwODgsIDEzMDk2LCAxMzEwMiwgMTMxMDYsIDEzMTEwLCAxMzExNywgMTMxMjUsIDEzMTM0LCAxMzE0NSwgCisgICAgMTMxNTIsIDEzMTU5LCAxMzE2MywgMTMxNzIsIDEzMTgxLCAxMzE4OSwgMTMxOTgsIDEzMjA3LCAxMzIxNiwgMTMyMjUsIAorICAgIDEzMjM1LCAxMzI0NSwgMTMyNTUsIDEzMjY1LCAxMzI3NSwgMTMyODQsIDEzMjk0LCAxMzMwNCwgMTMzMTQsIDEzMzI0LCAKKyAgICAxMzMzNCwgMTMzNDQsIDEzMzU0LCAxMzM2MywgMTMzNzMsIDEzMzgzLCAxMzM5MywgMTM0MDMsIDEzNDEzLCAxMzQyMywgCisgICAgMTM0MzIsIDEzNDQyLCAxMzQ1MiwgMTM0NjIsIDEzNDcyLCAxMzQ4MiwgMTM0OTIsIDEzNTAyLCAxMzUxMiwgMTM1MjIsIAorICAgIDEzNTMxLCAxMzU0MSwgMTM1NTEsIDEzNTYxLCAxMzU3MSwgMTM1ODEsIDEzNTkxLCAxMzYwMSwgMTM2MTEsIDEzNjIxLCAKKyAgICAxMzYzMSwgMTM2NDAsIDEyMzYsIDEzNjQ2LCAxMzY0OSwgMTM2NTMsIDEzNjU4LCAxMzY2NSwgMTM2NzEsIDEzNjc2LCAKKyAgICAxMzY4MCwgMTM2ODUsIDEzNjk0LCAxMzcwMiwgMTM3MDcsIDEzNzExLCAxMzcxNSwgMTM3MjEsIDEzNzI2LCAxMzczMiwgCisgICAgOTUzOCwgMTM3MzcsIDEzNzQyLCAxMzc1MSwgOTU0OCwgMTM3NTYsIDEzNzU5LCAxMzc2NSwgMTM3NzMsIDk1NTMsIDEzNzgwLCAKKyAgICAxMzc4NCwgMTM3ODgsIDEzNzkzLCAxMzc5NywgMTM4MDcsIDEzODEzLCAxMzgxOSwgMTM4MjQsIDEzODMzLCAxMzg0MSwgCisgICAgMTM4NDgsIDEzODU1LCAxMzg2MCwgMTM4NjcsIDEzODcyLCAxMzg3NiwgMTM4NzksIDEzODkwLCAxMzkwMCwgMTM5MDksIAorICAgIDEzOTE3LCAxMzkyOCwgMTM5NDAsIDEzOTUwLCAxMzk1NSwgMTM5NTksIDEzOTY0LCAxMzk2OSwgMTM5NzMsIDEzOTc5LCAKKyAgICAxMzk4NywgMTM5OTQsIDE0MDA1LCAxNDAxMCwgMTQwMjAsIDE0MDI5LCAxNDAzMywgMTQwMzYsIDE0MDQzLCAxNDA1MywgCisgICAgMTQwNjIsIDE0MDY5LCAxNDA3MywgMTQwODAsIDE0MDg2LCAxNDA5MSwgMTQwOTYsIDE0MTAwLCAxNDEwOSwgMTQxMTQsIAorICAgIDE0MTE4LCAxNDEyNCwgMTQxMjgsIDE0MTMzLCAxNDEzNywgMTQxNDYsIDE0MTU0LCAxNDE2MiwgMTQxNjksIDE0MTc3LCAKKyAgICAxNDE4OSwgMTQyMDAsIDE0MjEwLCAxNDIxNywgMTQyMjMsIDE0MjMyLCAxNDI0MywgMTQyNTIsIDE0MjY0LCAxNDI3NiwgCisgICAgMTQyODgsIDE0Mjk4LCAxNDMwNywgMTQzMTYsIDE0MzI0LCAxNDMzMSwgMTQzNDAsIDE0MzQ4LCAxNDM1MiwgMTQzNTcsIAorICAgIDE0MzYzLCAxNDM2OSwgMTQzNzQsIDE0Mzc5LCA3OTY4LCAxNDM4MywgMTQzODUsIDE0Mzg5LCAxNDM5NCwgMTQ0MDAsIAorICAgIDE0NDA2LCAxNDQxNSwgMTQ0MTksIDE0NDI1LCAxNDQzMywgMTQ0NDAsIDE0NDQ5LCAxNDQ1OCwgMTQ0NjcsIDE0NDc2LCAKKyAgICAxNDQ4NSwgMTQ0OTQsIDE0NTAzLCAxNDUxMiwgMTQ1MjIsIDE0NTMyLCAxNDU0MSwgMTQ1NDcsIDE0NTU0LCAxNDU2MSwgCisgICAgMTQ1NjcsIDE0NTgxLCAxNDU4OCwgMTQ1OTYsIDE0NjA1LCAxNDYxMSwgMTQ2MjAsIDE0NjI5LCAxNDY0MCwgMTQ2NTAsIAorICAgIDE0NjU4LCAxNDY2NSwgMTQ2NzMsIDE0NjgyLCAxNDY5NSwgMTQ3MDMsIDE0NzEwLCAxNDcyMywgMTQ3MjksIDE0NzM1LCAKKyAgICAxNDc0NSwgMTQ3NTQsIDE0NzYzLCAxNDc2OCwgMTQ3NzIsIDE0Nzc4LCAxNDc4NCwgMTQ3ODksIDE0Nzk2LCAxNDgwMywgCisgICAgOTIxMywgMTQ4MDgsIDE0ODEzLCAxNDgyMCwgMTQ4MjcsIDE0ODMyLCAxNDg0NCwgMTMwNjMsIDE0ODQ5LCAxNDg1NywgCisgICAgMTQ4NjMsIDE0ODY4LCAxNDg3NiwgMTQ4ODQsIDE0ODkxLCAxNDg5OSwgMTQ5MDUsIDE0OTEzLCAxNDkyMSwgMTQ5MjcsIAorICAgIDE0OTMyLCAxNDkzOCwgMTQ5NDUsIDE0OTUxLCAxNDk1NiwgMTQ5NjAsIDE0OTcxLCAxNDk3OSwgMTQ5ODUsIDE0OTkwLCAKKyAgICAxNDk5NywgMTUwMDYsIDE1MDEyLCAxNTAxNywgMTUwMjUsIDE1MDM0LCAxNTA0OCwgMzk4NSwgMTUwNTIsIDE1MDU3LCAKKyAgICAxNTA2MiwgMTUwNjgsIDE1MDczLCAxNTA3OCwgMTUwODIsIDE1MDg3LCAxNTA5MiwgMTUwOTcsIDc5NjcsIDE1MTAyLCAKKyAgICAxNTEwNywgMTUxMTIsIDE1MTE3LCAxNTEyMiwgMTUxMjYsIDE1MTMxLCAxNTEzNiwgMTUxNDEsIDE1MTQ2LCAxNTE1MiwgCisgICAgMTUxNTgsIDE1MTYzLCAxNTE2NywgMTUxNzMsIDE1MTc4LCAxNTE4MywgMTUxODgsIDk1NTcsIDE1MTkzLCAxNTE5OCwgCisgICAgMTUyMDMsIDE1MjA4LCAxNTIxMywgMTUyMzAsIDE1MjQ4LCAxNTI2MCwgMTUyNzMsIDE1MjkwLCAxNTMwNiwgMTUzMjMsIAorICAgIDE1MzMzLCAxNTM1MiwgMTUzNjMsIDE1Mzc0LCAxNTM4NSwgMTUzOTYsIDE1NDA4LCAxNTQxOSwgMTU0MzAsIDE1NDQ3LCAKKyAgICAxNTQ1OCwgMTU0NjksIDE1NDc0LCA5NTYyLCAxNTQ3OSwgMTU0ODMsIDI0MDEsIDE1NDg3LCAxNTQ5MCwgMTU0OTYsIAorICAgIDE1NTA0LCAxNTUxMiwgMTU1MTcsIDE1NTI1LCAxNTUzMywgMTU1NDAsIDE1NTQ0LCAxNTU0OSwgMTU1NTUsIDE1NTYyLCAKKyAgICAxNTU3MCwgMTU1NzcsIDE1NTg5LCAxNTU5NywgMTU2MDIsIDE1NjA4LCAxMjI1MywgMTU2MTQsIDE1NjIzLCAxNTYzMSwgCisgICAgMTU2NDAsIDE1NjQ4LCAxNTY1NSwgMTU2NjEsIDE1NjY5LCAxNTY3NiwgMTU2ODIsIDE1Njg5LCAxNTY5NiwgMTU3MDIsIAorICAgIDE1NzA4LCAxNTcxNywgMTU3MjUsIDE1NzM1LCAxNTc0MiwgMTU3NDgsIDE1NzU2LCAxNTc2MiwgMTU3NzAsIDE1Nzc4LCAKKyAgICAxNTc4NSwgMTU3OTgsIDE1ODA1LCAxNTgxNCwgMTU4MjMsIDE1ODMyLCAxNTg0MCwgMTU4NTAsIDE1ODU3LCAxNTg2MiwgCisgICAgMzY3MSwgMTU4NjksIDE1ODc0LCAxMzUyLCAxNTg3OCwgMTUxMDMsIDE1ODgyLCAxNTg4OCwgMTU4OTIsIDE1OTAwLCAKKyAgICAxNTkxMiwgMTU5MTksIDE1OTI1LCAxNTkzMCwgMTU5MzcsIDE1MTA4LCAxNTk0MSwgMTU5NDUsIDE1OTQ5LCAxNTExMywgCisgICAgMTU5NTMsIDE1MTE4LCAxNTk1NywgMTU5NjQsIDE1OTY5LCAxNTk3MywgMTU5ODAsIDE1OTg0LCAxNTk5MiwgMTU5OTksIAorICAgIDE2MDA0LCAxNjAwOCwgMTYwMTUsIDE2MDMyLCAxNjA0MSwgMTYwNDUsIDE2MDQ4LCAxNjA1NiwgMTYwNjIsIDE2MDY3LCAKKyAgICAzNzQ5LCAxNjA3MSwgMTYwNzMsIDE2MDgxLCAxNjA4OCwgMTYwOTgsIDE2MTEwLCAxNjExNSwgMTYxMTksIDE2MTI1LCAKKyAgICAxNjEzMCwgMTYxMzQsIDE2MTQwLCAxNjE0NSwgMTYxNTEsIDE2MTU0LCAxNjE2MSwgMTYxNjksIDE2MTc2LCAxNjE4MiwgCisgICAgMTYxODgsIDE2MTkzLCAxNjIwMCwgMTYyMDYsIDE2MjExLCAxNjIxOCwgMTYyMjIsIDE2MjI4LCAxNjIzMiwgMTYyMzksIAorICAgIDE2MjQ1LCAxNjI1MCwgMTYyNTYsIDE2MjY0LCAxNjI3MiwgMTYyNzksIDE2Mjg1LCAxNjI5MCwgMTYyOTYsIDE2MzAyLCAKKyAgICAxNjMxMCwgMTYzMTgsIDE2MzI0LCAxNjMzMCwgMTYzMzUsIDE2MzQyLCAxNjM0NywgMTYzNTEsIDE2MzU3LCAxNjM2MiwgCisgICAgMTYzNjksIDE2Mzc0LCAxNjM4MCwgMTYzODMsIDE2Mzg5LCAxNjM5NSwgMTYzOTgsIDE2NDAyLCAxNjQwNiwgMTY0MTgsIAorICAgIDE2NDI0LCAxNjQyOSwgMTY0MzYsIDE2NDQyLCAxNjQ0OCwgMTY0NTksIDE2NDY5LCAxNjQ3OCwgMTY0ODYsIDE2NDkzLCAKKyAgICAxNjUwNCwgMTY1MTQsIDE2NTI0LCAxNjUzMiwgMTY1MzUsIDE1MTMyLCAxNjU0MCwgMTY1NDUsIDE1MTM3LCAxNTI3OCwgCisgICAgMTY1NTMsIDE2NTY2LCAxNjU4MSwgMTY1OTIsIDE1Mjk1LCAxNjYxMCwgMTY2MjMsIDE2NjM2LCAxNjY0NywgMTEwNDAsIAorICAgIDE2NjU4LCAxNjY3MSwgMTY2OTAsIDE2NzAxLCAxNjcxMiwgMTY3MjMsIDI2NjksIDE2NzM2LCAxNjc0MCwgMTY3NDgsIAorICAgIDE2NzU2LCAxNjc3MSwgMTY3ODYsIDE2Nzk3LCAxNjgwNCwgMTY4MTAsIDE2ODE4LCAxNjgyMiwgMTY4MjgsIDE2ODMxLCAKKyAgICAxNjg0MSwgMTY4NDksIDE2ODU2LCAxNjg2NCwgMTY4NzQsIDE2ODc5LCAxNjg4NiwgMTY4OTEsIDE2ODk4LCAxNjkwOSwgCisgICAgMTY5MTksIDE2OTI1LCAxNjkzMCwgMTY5MzUsIDE1MTQyLCAxNjkzOSwgMTY5NDUsIDE2OTUxLCAxNjk1NiwgMTY5NjEsIAorICAgIDE2OTY2LCAxNjk3MCwgMTUxNDcsIDE1MTUzLCAxNjk3NCwgMTUxNTksIDE2OTc5LCAxNjk4NywgMTY5OTUsIDE3MDAyLCAKKyAgICAxNzAxMSwgMTcwMTgsIDE3MDIyLCA5NDAxLCAxNzAyNiwgMTcwMjgsIDE3MDMzLCAxNzAzOCwgMTcwNDQsIDE3MDQ5LCAKKyAgICAxNzA1NCwgMTcwNTksIDE3MDY0LCAxNzA2OCwgMTcwNzQsIDE3MDgwLCAxNzA4NSwgMTcwOTEsIDE3MDk2LCAxNzEwMSwgCisgICAgMTcxMDUsIDE3MTExLCAxNzExNiwgMTcxMjEsIDE3MTI2LCAxNzEzMSwgMTcxMzcsIDE3MTQyLCAxNzE0NywgMTcxNTMsIAorICAgIDE3MTU5LCAxNzE2NCwgMTcxNjksIDE3MTc0LCAxNzE4MSwgMTcxODcsIDE3MTk4LCAxNzIwNSwgMTcyMTAsIDE3MjE0LCAKKyAgICAxNzIxOCwgMTcyMjEsIDE3MjI5LCAxNzIzNCwgMTcyNDEsIDE3MjQ4LCAxNzI1NCwgMTcyNTksIDE3MjY0LCAxNzI2OSwgCisgICAgMTcyNzYsIDE3Mjg2LCAxNzI5MSwgMTcyOTgsIDE3MzA0LCAxNzMxMywgMTczMjMsIDE3MzMzLCAxNzM0NywgMTczNjEsIAorICAgIDE3Mzc1LCAxNzM4OSwgMTc0MDQsIDE3NDE5LCAxNzQzNiwgMTc0NTQsIDE3NDY3LCAxNzQ3MywgMTc0NzgsIDE3NDgzLCAKKyAgICAxNzQ4NywgMTc0OTUsIDE3NTAwLCAxNzUwOCwgMTc1MTQsIDE3NTIwLCAxNzUyNSwgMTc1MzAsIDE3NTM0LCAxNzUzOSwgCisgICAgMTc1NDMsIDE3NTQ4LCAxNzU1MiwgMTc1NjMsIDE3NTY5LCAxNzU3NCwgMTc1NzksIDE3NTg2LCAxNzU5MSwgMTc1OTUsIAorICAgIDE3NjAwLCAxNzYwNSwgMTc2MTEsIDE3NjE4LCAxNTE2OCwgMTc2MjQsIDE3NjI4LCAxNzYzNCwgMTc2MzksIDE3NjQ0LCAKKyAgICAxNzY0OCwgMTc2NTQsIDE3NjU5LCAxNzY2NCwgMTc2NzEsIDE3Njc2LCAxMzgwOSwgMTc2ODAsIDE3Njg1LCAxNzY4OSwgCisgICAgMTc2OTQsIDE3NzAwLCAxNzcwNiwgMTc3MTMsIDE3NzIzLCAxNzczMSwgMTc3MzgsIDE3NzQzLCAxNzc0NywgMTc3NTYsIAorICAgIDE3NzY0LCAxNzc3MSwgMTc3NzgsIDE3Nzg0LCAxNzc5MCwgMTc3OTUsIDE3ODAwLCAxNzgwNiwgMTc4MTEsIDE3ODE3LCAKKyAgICAxNzgyMiwgMTc4MjgsIDE3ODM0LCAxNzg0MSwgMTc4NDcsIDE3ODUyLCAxNzg1NywgOTYyNywgMTc4NjYsIDE3ODY5LCAKKyAgICAxNzg3NywgMTc4ODMsIDE3ODg4LCAxNzg5MywgMTc5MDMsIDE3OTEwLCAxNzkxNiwgMTc5MjEsIDE3OTI2LCAxNzkzMiwgCisgICAgMTc5MzcsIDE3OTQzLCAxNzk0OCwgMTc5NTQsIDE3OTYwLCAxNzk2NSwgMTc5NzMsIDE3OTgwLCAxNzk4NSwgMTc5OTAsIAorICAgIDE3OTk2LCAxODAwMSwgMTgwMDUsIDE4MDE0LCAxODAyNSwgMTgwMzIsIDE4MDM3LCAxODA0MiwgMTgwNDgsIDE4MDUzLCAKKyAgICAxODA2MSwgMTgwNjcsIDE4MDczLCAxODA4MCwgMTgwODYsIDE4MDkxLCAxODA5NSwgMTgxMDEsIDE4MTA2LCAxODExMSwgCisgICAgMTgxMTYsIDE0MjMsIDc5OTIsIDI5MTIsIDE4MTIwLCAxODEyNCwgMTgxMjgsIDE4MTMyLCAxODEzNiwgMTgxNDAsIDE4MTQzLCAKKyAgICAxODE0OCwgMTgxNTUsIDE4MTYzLCAxNTE3OSwgMTgxNzAsIDE4MTgwLCAxODE4OCwgMTgxOTUsIDE4MjAzLCAxODIxMywgCisgICAgMTgyMjIsIDE4MjM1LCAxODI0MCwgMTgyNDUsIDE4MjUzLCAxODI2MCwgMTM5MDUsIDEzOTE0LCAxODI2NywgMTgyNzcsIAorICAgIDE4MjkyLCAxODI5OCwgMTgzMDUsIDE4MzEyLCAxODMxOCwgMTgzMjQsIDE4MzMyLCAxODM0MiwgMTgzNTIsIDE1MTg0LCAKKyAgICAxODM2MSwgMTgzNjcsIDE4MzczLCAxODM4MSwgMTgzODksIDE4Mzk0LCAxODQwMywgMTg0MTEsIDE4NDIzLCAxODQzMywgCisgICAgMTg0NDMsIDE4NDUzLCAxODQ2MiwgMTg0NzQsIDE4NDg0LCAxODQ5NCwgMTg1MDUsIDE4NTEwLCAxODUyMiwgMTg1MzQsIAorICAgIDE4NTQ2LCAxODU1OCwgMTg1NzAsIDE4NTgyLCAxODU5NCwgMTg2MDYsIDE4NjE4LCAxODYzMCwgMTg2NDEsIDE4NjUzLCAKKyAgICAxODY2NSwgMTg2NzcsIDE4Njg5LCAxODcwMSwgMTg3MTMsIDE4NzI1LCAxODczNywgMTg3NDksIDE4NzYxLCAxODc3MiwgCisgICAgMTg3ODQsIDE4Nzk2LCAxODgwOCwgMTg4MjAsIDE4ODMyLCAxODg0NCwgMTg4NTYsIDE4ODY4LCAxODg4MCwgMTg4OTIsIAorICAgIDE4OTAzLCAxODkxNSwgMTg5MjcsIDE4OTM5LCAxODk1MSwgMTg5NjMsIDE4OTc1LCAxODk4NywgMTg5OTksIDE5MDExLCAKKyAgICAxOTAyMywgMTkwMzQsIDE5MDQ2LCAxOTA1OCwgMTkwNzAsIDE5MDgyLCAxOTA5NCwgMTkxMDYsIDE5MTE4LCAxOTEzMCwgCisgICAgMTkxNDIsIDE5MTU0LCAxOTE2NSwgMTkxNzcsIDE5MTg5LCAxOTIwMSwgMTkyMTMsIDE5MjI1LCAxOTIzNywgMTkyNDksIAorICAgIDE5MjYxLCAxOTI3MywgMTkyODUsIDE5Mjk2LCAxOTMwOCwgMTkzMjAsIDE5MzMyLCAxOTM0NCwgMTkzNTYsIDE5MzY4LCAKKyAgICAxOTM4MCwgMTkzOTIsIDE5NDA0LCAxOTQxNiwgMTk0MjcsIDE5NDM5LCAxOTQ1MSwgMTk0NjMsIDE5NDc1LCAxOTQ4OCwgCisgICAgMTk1MDEsIDE5NTE0LCAxOTUyNywgMTk1NDAsIDE5NTUzLCAxOTU2NiwgMTk1NzgsIDE5NTkxLCAxOTYwNCwgMTk2MTcsIAorICAgIDE5NjMwLCAxOTY0MywgMTk2NTYsIDE5NjY5LCAxOTY4MiwgMTk2OTUsIDE5NzA4LCAxOTcyMCwgMTk3MzMsIDE5NzQ2LCAKKyAgICAxOTc1OSwgMTk3NzIsIDE5Nzg1LCAxOTc5OCwgMTk4MTEsIDE5ODI0LCAxOTgzNywgMTk4NTAsIDE5ODYyLCAxOTg3NSwgCisgICAgMTk4ODgsIDE5OTAxLCAxOTkxNCwgMTk5MjcsIDE5OTQwLCAxOTk1MywgMTk5NjYsIDE5OTc5LCAxOTk5MiwgMjAwMDQsIAorICAgIDIwMDE3LCAyMDAzMCwgMjAwNDMsIDIwMDU2LCAyMDA2OSwgMjAwODIsIDIwMDk1LCAyMDEwOCwgMjAxMjEsIDIwMTM0LCAKKyAgICAyMDE0NiwgMjAxNTksIDIwMTcyLCAyMDE4NSwgMjAxOTgsIDIwMjExLCAyMDIyNCwgMjAyMzcsIDIwMjUwLCAyMDI2MywgCisgICAgMjAyNzYsIDIwMjg4LCAyMDI5OSwgMjAzMTIsIDIwMzI1LCAyMDMzOCwgMjAzNTEsIDIwMzY0LCAyMDM3NywgMjAzOTAsIAorICAgIDIwNDAzLCAyMDQxNiwgMjA0MjksIDIwNDQxLCAyMDQ1NCwgMjA0NjcsIDIwNDgwLCAyMDQ5MywgMjA1MDYsIDIwNTE5LCAKKyAgICAyMDUzMiwgMjA1NDUsIDIwNTU4LCAyMDU3MSwgMjA1ODMsIDIwNTk2LCAyMDYwOSwgMjA2MjIsIDIwNjM1LCAyMDY0OCwgCisgICAgMjA2NjEsIDIwNjc0LCAyMDY4NywgMjA3MDAsIDIwNzEzLCAyMDcyNSwgMjA3MzgsIDIwNzUxLCAyMDc2NCwgMjA3NzcsIAorICAgIDIwNzkwLCAyMDgwMywgMjA4MTYsIDIwODI5LCAyMDg0MiwgMjA4NTUsIDIwODY3LCAyMDg4MCwgMjA4OTMsIDIwOTA2LCAKKyAgICAyMDkxOSwgMjA5MzIsIDIwOTQ1LCAyMDk1OCwgMjA5NzEsIDIwOTg0LCAyMDk5NywgMjEwMDksIDIxMDIyLCAyMTAzNSwgCisgICAgMjEwNDgsIDIxMDYxLCAyMTA3NCwgMjEwODcsIDIxMTAwLCAyMTExMywgMjExMjYsIDIxMTM5LCAyMTE1MSwgMjExNjQsIAorICAgIDIxMTc3LCAyMTE5MCwgMjEyMDMsIDIxMjE2LCAyMTIyOSwgMjEyNDIsIDIxMjU1LCAyMTI2OCwgMjEyODEsIDIxMjkzLCAKKyAgICAyMTMwNiwgMjEzMTksIDIxMzMyLCAyMTM0NSwgMjEzNTgsIDIxMzcxLCAyMTM4NCwgMjEzOTcsIDIxNDEwLCAyMTQyMywgCisgICAgMjE0MzUsIDIxNDQ4LCAyMTQ2MSwgMjE0NzQsIDIxNDg3LCAyMTUwMCwgMjE1MTMsIDIxNTI2LCAyMTUzOSwgMjE1NTIsIAorICAgIDIxNTY1LCAyMTU3NywgMjE1OTAsIDIxNjAzLCAyMTYxNiwgMjE2MjksIDIxNjQyLCAyMTY1NSwgMjE2NjgsIDIxNjgxLCAKKyAgICAyMTY5NCwgMjE3MDcsIDIxNzE5LCAyMTczMCwgMjE3MzksIDIxNzQ3LCAyMTc1NSwgMjE3NjIsIDIxNzY4LCAyMTc3MiwgCisgICAgMjE3NzgsIDIxNzg0LCAyMTc5MiwgMjE3OTcsIDIxODAzLCAyMTgwOCwgMjE4MTIsIDIxODIxLCA5NDA2LCAyMTgzMiwgCisgICAgMjE4MzksIDIxODQ3LCAyMTg1NCwgMjE4NjEsIDExNTI4LCAyMTg2OCwgMjE4NzUsIDIxODg0LCAyMTg4OSwgMjE4OTQsIAorICAgIDgwMjAsIDIxOTAxLCAyMTkwNiwgMjE5MDksIDIxOTE0LCAyMTkyMiwgMjE5MjksIDIxOTM2LCAyMTk0MywgMjE5NDksIAorICAgIDIxOTU4LCAyMTk2NywgMjE5NzMsIDIxOTgyLCAyMTk4NiwgMjE5OTIsIDIxOTk3LCAyMjAwNywgMjIwMTQsIDIyMDIwLCAKKyAgICAyMjAyOCwgMjIwMzQsIDIyMDQxLCAyMjA1MSwgMjIwNjAsIDIyMDY0LCAyMjA3MSwgMjIwNzUsIDIyMDgwLCAyMjA4NiwgCisgICAgMjIwOTQsIDIyMDk4LCAyMjEwOCwgMTUxOTQsIDIyMTE3LCAyMjEyMywgMjIxMjcsIDIyMTM2LCAyMjE0NiwgMTUxOTksIAorICAgIDIyMTUyLCAyMjE1OSwgMjIxNzAsIDIyMTc4LCAyMjE4OCwgMjIxOTcsIDIyMjA1LCA5MTc4LCAyMjIxMywgMjIyMTgsIAorICAgIDIyMjI0LCAyMjIyOSwgMjIyMzMsIDIyMjM3LCAyMjI0MSwgMTAxMjQsIDIyMjQ2LCAyMjI1NCwgMjIyNjEsIDIyMjcwLCAKKyAgICAyMjI3NywgMjIyODQsIDIyMjkwLCAxMTQ0OCwgMjIyOTcsIDIyMzAzLCAyMjMwNywgMjIzMTMsIDIyMzIwLCAyMjMyNiwgCisgICAgMjIzMzQsIDIyMzQwLCAyMjM0NywgMjIzNTMsIDIyMzU5LCAyMjM2OCwgMjIzNzIsIDIyMzgwLCAyMjM4OSwgMjIzOTYsIAorICAgIDIyNDAxLCAyMjQwNSwgMjI0MTYsIDIyNDIxLCAyMjQyNiwgMjI0MzEsIDIyNDQ0LCA4MjAzLCAyMjQ0OCwgMjI0NTQsIAorICAgIDIyNDYyLCAyMjQ2NiwgMjI0NzMsIDIyNDgyLCAyMjQ4NywgMTU0NzAsIDIyNDk1LCAyMjQ5OSwgMjI1MTEsIDIyNTE2LCAKKyAgICAyMjUyMCwgMjI1MjMsIDIyNTI5LCAyMjUzNSwgMjI1NDEsIDIyNTQ2LCAyMjU1MCwgMjI1NTMsIDIyNTY0LCAyMjU2OSwgCisgICAgOTY3OCwgMjI1NzYsIDIyNTgxLCAxMjQyLCA5NjgzLCAyMjU4NiwgMjI1OTEsIDIyNTk2LCAyMjYwMSwgMjI2MDYsIDIyNjExLCAKKyAgICAyMjYxNiwgMjI2MjEsIDIyNjI2LCAyMjYzMSwgMjI2MzYsIDIyNjQxLCAyMjY0NywgMjI2NTIsIDIyNjU3LCAyMjY2MiwgCisgICAgMjI2NjcsIDIyNjcyLCAyMjY3NywgMjI2ODIsIDIyNjg3LCAyMjY5MiwgMjI2OTgsIDIyNzA0LCAyMjcwOSwgMjI3MTQsIAorICAgIDIyNzE5LCAyMjcyNCwgMjI3MjksIDIyNzM0LCAyMjczOSwgMjI3NDQsIDIyNzQ5LCAyMjc1NSwgMjI3NjAsIDIyNzY1LCAKKyAgICAyMjc3MCwgMjI3NzYsIDIyNzgyLCAyMjc4NywgMjI3OTIsIDIyNzk3LCAyMjgwMiwgMjI4MDcsIDIyODEyLCAyMjgxNywgCisgICAgMjI4MjIsIDIyODI4LCAyMjgzMywgMjI4MzgsIDIyODQzLCAyMjg0OCwgMjI4NTQsIDIyODU5LCAyMjg2NCwgMjI4NjgsIAorICAgIDEzNCwgMjI4NzYsIDIyODgwLCAyMjg4NCwgMjI4ODgsIDIyODkzLCAyMjg5NywgMTM4MTUsIDIzMjcsIDIyOTAxLCAyMjkwNiwgCisgICAgMjI5MTAsIDIyOTE1LCAyMjkxOSwgMjI5MjQsIDIyOTI4LCAyMjkzNCwgMjI5MzksIDIyOTQzLCAyMjk0NywgMjI5NTUsIAorICAgIDIyOTU5LCAyMjk2MywgMjI5NjgsIDIyOTczLCAyMjk3NywgMjI5ODMsIDIyOTg4LCAyMjk5MiwgMjI5OTcsIDIzMDAyLCAKKyAgICAyMzAwNiwgMjMwMTMsIDIzMDIwLCAyMzAyNywgMjMwMzEsIDIzMDM1LCAyMzA0MCwgMjMwNDQsIDIzMDQ3LCAyMzA1MywgCisgICAgMjMwNjYsIDIzMDcxLCAyMzA4MCwgMjMwODUsIDk5MDMsIDIzMDkwLCAyMzA5NSwgMjMwOTgsIDI3MzIsIDI3MzcsIDIzMTAyLCAKKyAgICAyMzEwOCwgMjMxMTQsIDc0MTMsIDIzMTE5LCAyMzEyNCwgMjMxMjksIDIzMTM1LCAyMzE0MCwgMTQ2MzYsIDIzMTQ1LCAKKyAgICAyMzE1MCwgMjMxNTUsIDIzMTYwLCAyMzE2NiwgMjMxNzEsIDIzMTc2LCAyMzE4MiwgMjMxODcsIDIzMTkxLCAyMzE5NiwgCisgICAgMjMyMDEsIDIzMjA2LCAyMzIxMSwgMjMyMTUsIDIzMjIwLCAyMzIyNCwgMjMyMjksIDIzMjM0LCAyMzIzOSwgMjMyNDQsIAorICAgIDIzMjQ4LCAyMzI1MywgMjMyNTcsIDIzMjYyLCAyMzI2NywgMjMyNzIsIDIzMjc3LCAyOTIxLCAyMzE5MiwgMjMyODEsIAorICAgIDIzMjg5LCAyMzI5NiwgMTAyMTgsIDIzMzA4LCAyMzMxNiwgMjMxOTcsIDIzMzIzLCAyMzMyOCwgMjMzMzYsIDIzMjAyLCAKKyAgICAyMzM0MSwgMjMzNDYsIDIzMzU0LCAyMzM1OSwgMjMyMDcsIDIzMzY0LCAyMzM3MiwgMjMzNzcsIDIzMzgxLCAyMzM4NywgCisgICAgMjMzOTYsIDIzNDA0LCAyMzQwOCwgMjM0MTEsIDIzNDE4LCAyMzQyMiwgMjM0MjYsIDIzNDMyLCAyMzQzOSwgMjM0NDQsIAorICAgIDkyMDUsIDE3MjcsIDE3MzIsIDIzNDQ4LCAyMzQ1NCwgMjM0NjAsIDIzNDY1LCAyMzQ2OSwgMjM0NzMsIDIzNDc3LCAyMzQ4MSwgCisgICAgMjM0ODUsIDIzNDg5LCAyMzQ5MywgMjM0OTcsIDIzNTAwLCAyMzUwNiwgMjM1MTMsIDIzNTIxLCAyMzUyNywgMjM1MzMsIAorICAgIDIzNTM4LCAyMzU0MywgMjM1NDcsIDIzNTUyLCAxNDU1NiwgMTQ1NjMsIDIzNTU5LCAyMzU3MSwgMjM1NzQsIDIzNTgxLCAKKyAgICAxNzI1MCwgMjM1ODgsIDIzNTk2LCAyMzYwNywgMjM2MTYsIDIzNjI5LCAyMzYzOSwgMjM2NTMsIDIzNjY1LCAyMzY3OSwgCisgICAgMjM2OTIsIDIzNzA0LCAyMzcxNCwgMjM3MjYsIDIzNzMyLCAyMzc0NywgMjM3NzEsIDIzNzg5LCAyMzgwOCwgMjM4MjEsIAorICAgIDIzODM1LCAyMzg1MywgMjM4NjksIDIzODg2LCAyMzkwNCwgMjM5MTUsIDIzOTM0LCAyMzk1MSwgMjM5NzEsIDIzOTg5LCAKKyAgICAyNDAwMSwgMjQwMTUsIDI0MDI5LCAyNDA0MSwgMjQwNTgsIDI0MDc3LCAyNDA5NSwgMjQxMDcsIDI0MTI1LCAyNDE0NCwgCisgICAgMTUzMzgsIDI0MTU3LCAyNDE3NywgMjQxODksIDExMDcxLCAyNDIwMSwgMjQyMDYsIDI0MjExLCAyNDIxNiwgMjQyMjIsIAorICAgIDI0MjI3LCAyNDIzMSwgMjQyMzgsIDI0MjQ0LCAyNDE4LCAyNDI0OCwgMjQyNTQsIDI0MjU4LCAyNDI2MSwgMjQyNjUsIAorICAgIDI0MjY4LCAyNDI3NiwgMjQyODIsIDIzMjI1LCAyNDI4NiwgMjQyOTUsIDI0MzA2LCAyNDMxMiwgMjQzMTgsIDI0MzMzLCAKKyAgICAyNDM0MiwgMjQzNTAsIDI0MzU3LCAyNDM2MiwgMjQzNjYsIDI0MzczLCAyNDM3OSwgMjQzODgsIDI0Mzk2LCAyNDQwMywgCisgICAgMjQ0MTMsIDI0NDIyLCAyNDQzMiwgMjQ0MzcsIDI0NDQ2LCAyNDQ1NSwgMjQ0NjYsIDI0NDc3LCA0MTAzLCAyNDQ4NywgCisgICAgMjQ0OTEsIDI0NTAxLCAyNDUwOSwgMjQ1MTksIDI0NTMwLCAyNDUzNSwgMjQ1NDUsIDI0NTUzLCAyNDU2MCwgMjQ1NjYsIAorICAgIDI0NTczLCAyNDU3OCwgMjMyMzUsIDI0NTgyLCAyNDU5MSwgMjQ1OTUsIDI0NTk4LCAyNDYwMywgMjQ2MTEsIDI0NjE4LCAKKyAgICAyNDYyNywgMjQ2MzUsIDI0NjQzLCAyNDY1MywgMjQ2NjIsIDI0NjY4LCAyNDY3NCwgMjQ2NzgsIDIzMjQwLCAyMzI0NSwgCisgICAgMjQ2ODIsIDI0NjkyLCAyNDcwMiwgMjQ3MTIsIDI0NzIwLCAyNDcyNywgMjQ3MzcsIDI0NzQ1LCAyNDc1MywgMjQ3NTksIAorICAgIDI0NzY3LCA4MTIsIDI0Nzc2LCAxNTUyOSwgNTc3LCAyNDc5MCwgMjQ3OTksIDI0ODA3LCAyNDgxOCwgMjQ4MjksIDI0ODM5LCAKKyAgICAyNDg0OCwgMjQ4NjAsIDI0ODY5LCAyNDg3OCwgMjQ4ODUsIDI0ODkxLCAyNDkwMCwgMjQ5MDksIDI0OTE3LCAyNDkyNywgCisgICAgMjQ5MzUsIDI0OTQzLCA5NjQ0LCAyNDk0OSwgMjQ5NTIsIDI0OTU2LCAyNDk2MSwgMjQ5NjYsIDI0OTcwLCAxMDMzMywgCisgICAgMjMyNTgsIDIzMjYzLCAyNDk3OCwgMjQ5ODQsIDI0OTkwLCAyNDk5NSwgMjUwMDAsIDI1MDA0LCAyNTAxMiwgMjUwMTgsIAorICAgIDI1MDI0LCAyNTAyOCwgMzYyNywgMjUwMzYsIDI1MDQxLCAyNTA0NiwgMjUwNTAsIDI1MDU0LCAxMDQxMywgMjUwNjEsIAorICAgIDI1MDY5LCAyNTA4MywgMjUwOTAsIDI1MDk2LCAxMDQyMiwgMTA0MjgsIDI1MTA0LCAyNTExMiwgMjUxMTksIDI1MTI0LCAKKyAgICAyNTEyOSwgMjMyNjgsIDI1MTM1LCAyNTE0NiwgMjUxNTAsIDI1MTU1LCAyNjIxLCAyNTE2MCwgMjUxNzEsIDI1MTc3LCAKKyAgICAyNTE4MiwgMjUxODYsIDI1MTkwLCAyNTE5MywgMjUyMDAsIDI1MjA3LCAyNTIxMywgMjUyMjAsIDI1MjI2LCAyNTIzMCwgCisgICAgMjMyNzMsIDI1MjM1LCAyNTIzOSwgMjUyNDMsIDE0MjgsIDgzODUsIDI1MjQ4LCAyNTI1MywgMjUyNTgsIDI1MjYzLCAKKyAgICAyNTI2OCwgMjUyNzMsIDI1Mjc4LCAyNTI4MywgMjUyODgsIDI1MjkzLCAyNTI5OCwgMjUzMDMsIDI1MzA4LCAyNTMxMywgCisgICAgMjUzMTksIDI1MzI0LCAyNTMyOSwgMjUzMzQsIDI1MzM5LCAyNTM0NCwgMjUzNDksIDI1MzU1LCAyNTM2MCwgMjUzNjUsIAorICAgIDI1MzcwLCAyNTM3NSwgMjUzODAsIDI1Mzg1LCAyNTM5MCwgMjUzOTYsIDI1NDAyLCAyNTQwNywgMjU0MTMsIDI1NDE4LCAKKyAgICAyNTQyMywgNSwgMjU0MjksIDI1NDMzLCAyNTQzNywgMjU0NDEsIDI1NDQ2LCAyNTQ1MCwgMjU0NTQsIDI1NDU4LCAyNTQ2MiwgCisgICAgMjU0NjcsIDI1NDcxLCAyNTQ3NiwgMjU0ODAsIDI1NDgzLCAyNTQ4NywgMjU0OTIsIDI1NDk2LCAyNTUwMSwgMjU1MDUsIAorICAgIDI1NTA5LCAyNTUxMywgMjU1MTgsIDI1NTIyLCAyNTUyNiwgMjU1MzYsIDI1NTQxLCAyNTU0NSwgMjU1NDksIDI1NTU0LCAKKyAgICAyNTU1OSwgMjU1NjgsIDI1NTczLCAyNTU3OCwgMjU1ODIsIDI1NTg2LCAyNTU5OSwgMjU2MTEsIDI1NjIwLCAyNTYyOSwgCisgICAgMjU2MzQsIDI1NjQwLCAyNTY0NSwgMjU2NDksIDI1NjUzLCAyNTY2MywgMjU2NzIsIDI1NjgwLCAyNTY4NiwgMjU2OTEsIAorICAgIDI1Njk1LCAyNTcwMiwgMjU3MTIsIDI1NzIxLCAyNTcyOSwgMjU3MzcsIDI1NzQ0LCAyNTc1MiwgMjU3NjEsIDI1NzcwLCAKKyAgICAyNTc3OCwgMjU3ODgsIDI1NzkzLCAyNTc5NywgMjU4MDEsIDI1ODA0LCAyNTgwNiwgMjU4MTAsIDI1ODE0LCAyNTgxOSwgCisgICAgMjU4MjQsIDI1ODI4LCAyNTgzMiwgMjU4MzUsIDI1ODM5LCAyNTg0MiwgMjU4NDYsIDI1ODQ5LCAyNTg1MiwgMjU4NTYsIAorICAgIDI1ODYyLCAyNTg2NiwgMjU4NzAsIDI1ODc0LCAyNTg3OSwgMjU4ODQsIDI1ODg5LCAyNTg5MywgMjU4OTYsIDI1OTAxLCAKKyAgICAyNTkwNywgMjU5MTIsIDI1OTE4LCAyNTkyMywgMjU5MjcsIDI1OTMzLCAyNTkzNywgMjU5NDEsIDI1OTQ2LCAyNTk1MCwgCisgICAgMjU5NTUsIDI1OTYwLCAyNTk2NCwgMjU5NjgsIDI1OTc1LCAyNTk3OSwgMjU5ODIsIDI1OTg2LCAyNTk5MCwgMjU5OTYsIAorICAgIDI2MDAyLCAyNjAwNiwgMjYwMTAsIDI2MDE1LCAyNjAyMiwgMjYwMjgsIDI2MDMyLCAyNjA0MSwgMjYwNDUsIDI2MDQ5LCAKKyAgICAyNjA1MiwgMjYwNTgsIDI2MDYzLCAyNjA2OSwgMTQ3MiwgMTc5MSwgMjYwNzQsIDI2MDc5LCAyNjA4NCwgMjYwODksIAorICAgIDI2MDk0LCAyNjA5OSwgMjYxMDQsIDIxNTUsIDIyMDEsIDI2MTA5LCAyNjExMiwgMjYxMTYsIDI2MTIwLCAyNjEyNSwgCisgICAgMjYxMjksIDE1NTQxLCAyNjEzMywgMjYxMzgsIDI2MTQzLCAyNjE0NywgMjYxNTAsIDI2MTU1LCAyNjE1OSwgMjYxNjQsIAorICAgIDI2MTY4LCAxNTU0NSwgMjYxNzMsIDI2MTc2LCAyNjE3OSwgMjYxODMsIDI2MTg4LCAyNjE5MiwgMjYyMDUsIDI2MjA5LCAKKyAgICAyNjIxMiwgMjYyMjAsIDI2MjI5LCAyNjIzNiwgMjYyNDEsIDI2MjQ3LCAyNjI1MywgMjYyNjEsIDI2MjY4LCAyNjI3NSwgCisgICAgMjYyNzksIDI2MjgzLCAyNjI4NywgMjYyOTIsIDI2Mjk3LCAyNjMwMSwgMjYzMDksIDI2MzE0LCAyNjMyNiwgMjYzMzcsIAorICAgIDI2MzQyLCAyNjM0NiwgMjYzNTAsIDI2MzU2LCAyNjM1OSwgMjYzNjQsIDI2MzY5LCAyNjM3MywgMjYzNzcsIDI2MzgwLCAKKyAgICAyNjM4NiwgODEyMywgMjMzMSwgMjYzOTAsIDI2Mzk1LCAyNjQxMSwgOTk1MCwgMjY0MzEsIDI2NDQwLCAyNjQ1NiwgMjY0NjAsIAorICAgIDI2NDY3LCAyNjQ3MCwgMjY0NzYsIDI2NDg2LCAyNjQ5MiwgMjY1MDEsIDI2NTE2LCAyNjUyOCwgMjY1MzksIDI2NTQ3LCAKKyAgICAyNjU1NiwgMjY1NjIsIDI2NTcxLCAyNjU4MSwgMjY1OTEsIDI2NjAyLCAyNjYxMywgMjY2MjMsIDI2NjMyLCAyNjYzOSwgCisgICAgMjY2NDgsIDI2NjU2LCAyNjY2MywgMjY2NzEsIDI2Njc4LCAyNjY4NSwgMjY2OTgsIDI2NzA1LCAyNjcxMywgMjY3MjAsIAorICAgIDI2NzI2LCAyNjczMSwgMjY3NDAsIDI2NzQ2LCAyNjc1MSwgMjY3NTksIDI2NzY2LCAyNDUxMSwgMjY3NzgsIDI2NzkwLCAKKyAgICAyNjgwNCwgMjY4MTIsIDI2ODE5LCAyNjgzMSwgMjY4NDAsIDI2ODQ5LCAyNjg1NywgMjY4NjUsIDI2ODczLCAyNjg4MCwgCisgICAgMjY4ODksIDI2ODk3LCAyNjkwNywgMjY5MTYsIDI2OTI2LCAyNjkzNSwgMjY5NDQsIDI2OTUyLCAyNjk1NywgMjY5NjEsIAorICAgIDI2OTY0LCAyNjk2OCwgMjY5NzIsIDI2OTc2LCAyNjk4MCwgMjY5ODQsIDI2OTkwLCAyNjk5NiwgMjcwMDQsIDE1NTkwLCAKKyAgICAyNzAxMSwgMjcwMTYsIDI3MDIzLCAyNzAyOSwgMjcwMzYsIDE1NTk4LCAyNzA0MywgMjcwNDYsIDI3MDU4LCAyNzA2NiwgCisgICAgMjcwNzIsIDI3MDc3LCAyNzA4MSwgMTAzNjMsIDI3MDkyLCAyNzEwMCwgMjcxMTAsIDI3MTE5LCAyNzEyNiwgMjcxMzAsIAorICAgIDE1NjA5LCAyNzEzMywgMjcxNDAsIDI3MTQ0LCAyNzE1MCwgMjcxNTMsIDI3MTYwLCAyNzE2NiwgMjcxNzMsIDI3MTc5LCAKKyAgICAyNzE4MywgMjcxODgsIDI3MTkyLCAyNzIwMSwgMjcyMDgsIDI3MjE0LCA4MTY0LCAyNzIyMSwgMjcyMjksIDI3MjM2LCAKKyAgICAyNzI0MiwgMjcyNDcsIDI3MjUzLCAyNzI1OSwgMjcyNjcsIDI3MjczLCAyNzI3NywgMjcyODAsIDI3MjgyLCAyNjk2OSwgCisgICAgMjcyOTEsIDI3Mjk3LCAyNzMwMywgMjczMTMsIDI3MzE4LCAyNzMyNSwgMjczMzEsIDI3MzM2LCAyNzM0MSwgMjczNDYsIAorICAgIDI3MzUwLCAyNzM1NSwgMjczNjIsIDI3MzY4LCAyNzM3NywgMjczODEsIDI3Mzg4LCAyNzM5NCwgMjc0MDMsIDI3NDA5LCAKKyAgICAyNzQxNCwgMjc0MjAsIDI3NDI1LCAyNzQzMiwgMjc0NDMsIDI3NDQ4LCAyNzQ1MiwgMjc0NjIsIDI3NDY4LCAyNzQ3MiwgCisgICAgMjc0NzcsIDI3NDg3LCAyNzQ5NiwgMjc1MDAsIDI3NTA3LCAyNzUxNSwgMjc1MjIsIDI3NTI4LCAyNzUzMywgMjc1NDEsIAorICAgIDI3NTQ4LCAyNzU1MywgMjc1NjAsIDI3NTcyLCAyNzU4MSwgMjc1ODUsIDEzNzQ2LCAyNzU5MywgMjc2MDMsIDI3NjA3LCAKKyAgICAyNjIxNiwgMjc2MTgsIDI3NjIzLCAyNzYyNywgMjc2MzQsIDI3NjQxLCAyMjk3OSwgMjY4OTQsIDI3NjQ2LCAyNzY1MCwgCisgICAgMjc2NTMsIDIzOTIxLCAyNzY1OCwgMjc2NzIsIDI3Njg4LCAyNzcwNiwgMjc3MjUsIDI3NzQyLCAyNzc2MCwgMjM5NDAsIAorICAgIDI3Nzc3LCAyNzc5NywgMjM5NTcsIDI3ODA5LCAyNzgyMSwgMTY1OTcsIDI3ODMzLCAyMzk3NywgMjc4NDcsIDI3ODU5LCAKKyAgICAxMTA4NCwgMjc4NzMsIDI3ODc4LCAyNzg4MywgMjc4ODgsIDI3ODk0LCAyNzkwMCwgMjc5MDYsIDI3OTEwLCAyNzkxOCwgCisgICAgMjc5MjUsIDI3OTMwLCAyNzk0MCwgMjc5NDYsIDEwNzA3LCAyNzk1MiwgMjc5NTQsIDI3OTU5LCAyNzk2NywgMjc5NzEsIAorICAgIDI3MzU4LCAyNzk3NywgMjc5ODQsIDEyMTcwLCAxMjE4MCwgMjc5OTEsIDI4MDAxLCAyODAwNiwgMjgwMTAsIDI4MDEzLCAKKyAgICAyODAxOSwgMjgwMjcsIDI4MDM5LCAyODA0OSwgMjgwNjUsIDI4MDc4LCAyODA5MiwgMTY2MTUsIDI4MTA2LCAyODExMywgCisgICAgMjgxMTcsIDI4MTIwLCAyODEyNSwgMjgxMjksIDI4MTM2LCAyODE0MywgMjgxNTMsIDI4MTU4LCAyODE2MywgMjgxNjgsIAorICAgIDI4MTc2LCAyODE4NCwgMjgxODksIDI4MTk4LCAyODIwMywgMzMyOSwgMjgyMDcsIDI4MjEwLCAyODIxMywgMjgyMTgsIAorICAgIDI4MjI1LCAyODIzMCwgMjgyNDYsIDI4MjU0LCAyODI2MiwgOTcxOCwgMjgyNzAsIDI4Mjc1LCAyODI3OSwgMjgyODUsIAorICAgIDI4MjkwLCAyODI5NiwgMjgyOTksIDI4MzA1LCAyODMxNywgMjgzMjUsIDI4MzMyLCAyODMzOCwgMjgzNDUsIDI4MzU2LCAKKyAgICAyODM3MCwgMjgzODMsIDI4Mzg5LCAyODM5OCwgMjg0MDQsIDI4NDEzLCAyODQyNSwgMjg0MzYsIDI4NDQ2LCAyODQ1NSwgCisgICAgMjg0NjQsIDI4NDcyLCAyODQ4MywgODE0NiwgMjg0OTAsIDI4NDk3LCAyODUwMywgMjg1MDgsIDI4NTE0LCAyODUyMSwgCisgICAgMjg1MzEsIDI4NTQxLCAyODU1MCwgMjg1NTYsIDI4NTYzLCAyODU2OCwgMjg1NzYsIDI4NTgzLCAyODU5MSwgMjg1OTksIAorICAgIDI4NjExLCA2NDM4LCAyODYxOCwgMjg2MjEsIDI4NjMwLCAyODYzOCwgMjg2NDQsIDI4NjUwLCAyODY1NSwgMjg2NTksIAorICAgIDI4NjYyLCAyODY2OCwgMjg2NzUsIDI4NjgwLCAyODY4NSwgMjg2OTAsIDI4Njk0LCAyODcwNiwgMjg3MTcsIDI4NzI2LCAKKyAgICAyODczNCwgMTU3NTcsIDI4NzM5LCAyODc0NSwgMjg3NTEsIDEyMTYzLCA4ODYyLCAyODc1NiwgMjg3NjAsIDI4NzY0LCAKKyAgICAyODc2NywgMjg3NzAsIDI4Nzc2LCAyODc4NCwgMjg3OTIsIDI4Nzk2LCAyODgwMCwgMjg4MDUsIDI4ODA4LCAyODgxNywgCisgICAgMjg4MjEsIDI4ODI0LCAyODgzMiwgMjg4NDMsIDI4ODQ3LCAyODg1MywgMjg4NTksIDI4ODYzLCAyODg2OSwgMjg4NzcsIAorICAgIDI4ODk5LCAyODkyMywgMjg5MzIsIDI4OTM5LCAyODk0NiwgMjg5NTIsIDI4OTYwLCAyODk2NiwgMjg5NzEsIDI4OTgyLCAKKyAgICAyOTAwMCwgMjkwMDcsIDI5MDE1LCAyOTAxOSwgMjkwMjQsIDI5MDMzLCAyOTA0NiwgMjkwNTQsIDI5MDY2LCAyOTA3NywgCisgICAgMjkwODgsIDI5MDk4LCAyOTExMiwgMjkxMjEsIDI5MTI5LCAyOTE0MSwgOTk2NywgMjkxNTIsIDI5MTYzLCAyOTE3NSwgCisgICAgMjkxODUsIDI5MTk0LCAyOTE5OSwgMjkyMDMsIDI5MjExLCAyOTIyMiwgMjkyMzIsIDI5MjM3LCAyOTI0MSwgMjkyNDQsIAorICAgIDI5MjQ3LCAyOTI1NSwgMjkyNjMsIDI5MjcyLCAyOTI4MiwgMjkyOTEsIDI5Mjk3LCAyOTMxMSwgMjY4MywgMjkzMzMsIAorICAgIDI5MzQ0LCAyOTM1MywgMjkzNjMsIDI5Mzc1LCAyOTM4NCwgMjkzOTMsIDI5NDAzLCAyOTQxMSwgMjk0MTksIDI5NDI4LCAKKyAgICAyOTQzMywgMjk0NDQsIDI5NDQ5LCAyOTQ2MCwgMjk0NjQsIDI5NDc0LCAyOTQ4MywgMjk0OTEsIDI5NTAxLCAyOTUxMSwgCisgICAgMjk1MTksIDI5NTI4LCAyOTUzNSwgMjk1NDMsIDI5NTUwLCAyOTU1OSwgMjk1NjgsIDI5NTcyLCAyOTU4MCwgMjk1ODcsIAorICAgIDI5NTk1LCAyOTYwMiwgMjk2MTMsIDI5NjI4LCAyOTYzNSwgMjk2NDEsIDI5NjUxLCAyOTY2MCwgMjk2NjYsIDI5Njc3LCAKKyAgICAyOTY4MSwgMjk2ODgsIDI5NjkyLCAyOTY5OCwgMTQ3NTgsIDI5NzA0LCAyOTcwOCwgMjk3MTMsIDI5NzIwLCAyOTcyNCwgCisgICAgMjk3MjgsIDI5NzM2LCAyOTc0NCwgMjk3NTAsIDI5NzU5LCAyOTc2NiwgMjk3NzEsIDI5Nzc2LCAyOTc4NiwgMjQ1ODAsIAorICAgIDI5NzkwLCAyOTc5MywgMjk3OTgsIDI5ODAzLCAyOTgwOCwgMjk4MTMsIDI5ODE4LCAyOTgyMywgMjk4MjgsIDI5ODMzLCAKKyAgICAyOTgzOSwgMjk4NDQsIDI5ODQ5LCAyOTg1NSwgMTE5OCwgNjk5LCAyOTg2MCwgMjk4NjksIDIzNzksIDI5ODc2LCAyOTg4MSwgCisgICAgMjk4ODUsIDI5ODkxLCAxMjQ3LCA1NTgsIDI3MCwgMjk4OTYsIDI5OTA1LCAyOTkxMywgMjk5MjIsIDI5OTMwLCAyOTk0MSwgCisgICAgMjk5NDksIDI5OTU4LCAyOTk2NiwgMTA1MDIsIDI5OTcwLCAyOTk3OCwgMjk5ODYsIDI5OTkxLCAxNTU1OCwgMjk5OTcsIAorICAgIDMwMDAzLCAzMDAwOSwgNjAzNCwgMzAwMTQsIDMwMDE4LCAzMDAyNCwgMzAwMjgsIDMwMDM1LCAxNDM4LCAzMDA0MSwgCisgICAgMzAwNDgsIDEzNDcsIDYwNDIsIDMwMDUyLCAzMDA2MiwgMzAwNzAsIDMwMDc2LCAzMDA4NSwgMzAwOTMsIDMwMDk5LCAKKyAgICAzMDEwNywgMzAxMTQsIDExNzIwLCAzMDEyMCwgMzAxMjcsIDMwMTMyLCAzMDEzOSwgMTQ3OSwgMTk5LCAyMTU0LCAzMDE0NSwgCisgICAgMzAxNTEsIDMwMTU4LCAzMDE2OSwgMzAxODAsIDMwMTg4LCAzMDE5NSwgMzAyMDUsIDMwMjE0LCAzMDIyMiwgMzAyMzEsIAorICAgIDMwMjM4LCAzMDI0NSwgMzAyNTgsIDMwMjY1LCAzMDI3MSwgMzAyODIsIDMwMzAxLCAxMjUyLCAzMDMwNSwgMzAzMTAsIAorICAgIDMwMzE4LCAzNjg2LCAzMDMyMiwgMzAzMjcsIDMwMzMxLCAzMDMzNSwgMTQ0MiwgMjU4MzMsIDMwMzQ1LCAzMDM0OSwgCisgICAgMzAzNTQsIDMwMzU4LCAzNTk1LCAzMDM2NCwgMzAzNzIsIDMwMzc5LCAzMDM5MCwgMzAzOTgsIDMwNDA2LCAzNjg3LCAzMjAsIAorICAgIDMwNDExLCAzMDQxOSwgMzA0MjcsIDMwNDM0LCAzMDQ0MCwgMzA0NDUsIDIyMjMsIDExMjUxLCAzMDQ1MiwgMzA0NTgsIAorICAgIDI3MTg0LCAyNzQzOCwgMzA0NjQsIDU0MiwgMTA2LCAzMDQ2OCwgMzA0NzIsIDMwNDc4LCA2MzUsIDk1OTMsIDMwNDgzLCAKKyAgICAzMDQ5MCwgMzA0OTYsIDMwNTAwLCAxNjI0LCAzMDUwMywgMzA1MDcsIDE2MDA1LCAzMDUxMCwgMzA1MTUsIDMwNTIyLCAKKyAgICAzMDUyOCwgMzA1MzMsIDMwNTQxLCAzMDU0OCwgMzA1NTQsIDIzMzYxLCAzMDU1OCwgMzA1NjIsIDM3NTcsIDE3NTQxLCAKKyAgICAzMDU2NiwgMzA1NzEsIDMwNTc1LCAzMDU3OCwgMzA1ODYsIDMwNTk0LCAzMDU5OSwgMzA2MDcsIDMwNjEwLCAzMDYxNywgCisgICAgMzA2MjcsIDMwNjM5LCAzMDY0NCwgMzA2NDgsIDMwNjU2LCAzMDY2MywgMzA2NjksIDMwNjc2LCAzMDY4MywgMzA2ODYsIAorICAgIDMwNjkwLCAzMDY5NCwgMTQ0NiwgMzA3MDQsIDMwNzA2LCAzMDcxMSwgMzA3MTcsIDMwNzIzLCAzMDcyOCwgMzA3MzMsIAorICAgIDMwNzM4LCAzMDc0MywgMzA3NDgsIDMwNzUzLCAzMDc1OCwgMzA3NjMsIDMwNzY4LCAzMDc3MywgMzA3NzgsIDMwNzgzLCAKKyAgICAzMDc4OCwgMzA3OTMsIDMwNzk5LCAzMDgwNSwgMzA4MTEsIDMwODE3LCAzMDgyMiwgMzA4MjcsIDMwODMyLCAzMDgzOCwgCisgICAgMzA4NDMsIDMwODQ4LCAzMDg1MywgMzA4NTksIDMwODY0LCAzMDg3MCwgMzA4NzUsIDMwODgwLCAzMDg4NSwgMzA4OTAsIAorICAgIDMwODk2LCAzMDkwMSwgMzA5MDcsIDMwOTEyLCAzMDkxNywgMzA5MjIsIDMwOTI3LCAzMDkzMywgMzA5MzgsIDMwOTQ0LCAKKyAgICAzMDk0OSwgMzA5NTQsIDMwOTU5LCAzMDk2NCwgMzA5NjksIDMwOTc0LCAzMDk3OSwgMzA5ODQsIDMwOTg5LCAzMDk5NSwgCisgICAgMzEwMDEsIDMxMDA3LCAzMTAxMiwgMzEwMTcsIDMxMDIyLCAzMTAyNywgMzEwMzMsIDMxMDM5LCAzMTA0NSwgMzEwNTEsIAorICAgIDMxMDU3LCAzMTA2MywgMzEwNjgsIDMxMDc0LCAzMTA3OSwgMzEwODQsIDMxMDg5LCAzMTA5NCwgMzExMDAsIDI0NjMsIAorICAgIDMxMTA1LCAyNDcwLCAyNDc3LCAyNzc0LCAzMTExMCwgMjQ4MywgMjQ5MywgMzExMTYsIDMxMTIwLCAzMTEyNSwgMzExMzAsIAorICAgIDMxMTM2LCAzMTE0MSwgMzExNDYsIDMxMTUwLCAzMTE1NSwgMzExNjEsIDMxMTY2LCAzMTE3MSwgMzExNzYsIDMxMTgyLCAKKyAgICAzMTE4NywgMzExOTEsIDMxMTk1LCAzMTIwMCwgMzEyMDUsIDMxMjEwLCAzMTIxNSwgMzEyMjAsIDMxMjI2LCAzMTIzMiwgCisgICAgMzEyMzcsIDMxMjQxLCAzMTI0NiwgMzEyNTIsIDMxMjU2LCAzMTI2MSwgMzEyNjYsIDMxMjcxLCAzMTI3NiwgMzEyODAsIAorICAgIDMxMjgzLCAzMTI4OCwgMzEyOTMsIDMxMjk4LCAzMTMwMywgMzEzMDgsIDMxMzE0LCAzMTMyMCwgMzEzMjUsIDMxMzMwLCAKKyAgICAzMTMzNSwgMzEzMzksIDMxMzQ0LCAzMTM0OSwgMzEzNTQsIDMxMzU5LCAzMTM2NCwgMzEzNjksIDMxMzczLCAzMTM3OCwgCisgICAgMzEzODMsIDMxMzg4LCAzMTM5MiwgMzEzOTYsIDMxNDAwLCAzMTQwNSwgMzE0MTMsIDMxNDE4LCAzMTQyMywgMzE0MjksIAorICAgIDMxNDM1LCAzMTQ0MSwgMzE0NDYsIDMxNDUwLCAzMTQ1MywgMzE0NTgsIDMxNDYzLCAzMTQ2NywgMzE0NzIsIDMxNDc3LCAKKyAgICAzMTQ4MSwgMzE0ODYsIDMxNDkwLCAzMTQ5MywgMzE0OTgsIDM4NTMsIDE4MjQ4LCAzMTUwMywgMzE1MDgsIDMxNTEzLCAKKyAgICAzMTUyMSwgMjIyNzMsIDMwMDQ1LCA5MjczLCAzMTUyNiwgMzE1MzEsIDMxNTM1LCAzMTU0MCwgMzE1NDQsIDMxNTQ4LCAKKyAgICAzMTU1MywgMzE1NTcsIDMxNTYwLCAzMTU2MywgMzE1NjcsIDMxNTcyLCAzMTU3NiwgMzE1ODQsIDMxNTg4LCAzMTU5MSwgCisgICAgMzE1OTYsIDMxNjAwLCAzMTYwNCwgMzE2MDksIDMxNjE0LCAzMTYxOCwgMzE2MjQsIDMxNjI5LCAzMTYzNCwgMzE2NDEsIAorICAgIDMxNjQ4LCAzMTY1MiwgMzE2NTUsIDMxNjYxLCAzMTY3MCwgMzE2NzcsIDMxNjg1LCAzMTY5MiwgMzE2OTYsIDMxNzAxLCAKKyAgICAzMTcwNSwgMzE3MDksIDMxNzE1LCAzMTcyMSwgMzE3MjUsIDMxNzMxLCAzMTczNiwgMzE3NDEsIDMxNzQ1LCAzMTc1MiwgCisgICAgMzE3NTgsIDMxNzY0LCAzMTc3MCwgMzE3NzYsIDMxNzgzLCAzMTc4OSwgMzE3OTUsIDMxODAxLCAzMTgwNywgMzE4MTMsIAorICAgIDMxODE5LCAzMTgyNSwgMzE4MzIsIDMxODM4LCAzMTg0NSwgMzE4NTEsIDMxODU3LCAzMTg2MywgMzE4NjksIDMxODc1LCAKKyAgICAzMTg4MSwgMzE4ODcsIDMxODkzLCAzMTg5OSwgMTIwNTksIDMxOTA1LCAzMTkxMSwgMzE5MTYsIDMxOTIxLCAzMTkyNiwgCisgICAgMzE5MjksIDMxOTM1LCAzMTk0MywgMzE5NDgsIDMxOTUyLCAzMTk1NywgMzE5NjMsIDMxOTcyLCAzMTk3OCwgMzE5ODMsIAorICAgIDMxOTg4LCAzMTk5MywgMzE5OTcsIDMyMDAyLCAzMjAwNywgMzIwMTIsIDMyMDE3LCAzMjAyMiwgMzIwMjksIDMyMDM2LCAKKyAgICAzMjA0MiwgMzIwNDgsIDMyMDUzLCAxNzE5MSwgMzIwNjAsIDMyMDY2LCAzMjA3MywgMzIwNzksIDMyMDg1LCAzMjA5MCwgCisgICAgMzIwOTgsIDMyMTAzLCAxMDExNywgMzIxMDcsIDMyMTEyLCAzMjExNywgMzIxMjMsIDMyMTI4LCAzMjEzMywgMzIxMzcsIAorICAgIDMyMTQyLCAzMjE0NywgMzIxNTMsIDMyMTU4LCAzMjE2MywgMzIxNjgsIDMyMTcyLCAzMjE3NywgMzIxODIsIDMyMTg2LCAKKyAgICAzMjE5MSwgMzIxOTYsIDMyMjAwLCAzMjIwNSwgMzIyMDksIDMyMjE0LCAzMjIxOSwgMzIyMjQsIDMyMjI4LCAzMjIzMywgCisgICAgMzIyMzcsIDMyMjQxLCAxNjExMSwgMzIyNDYsIDMyMjU1LCAzMjI2MSwgMzIyNjcsIDMyMjc2LCAzMjI4NCwgMzIyOTMsIAorICAgIDMyMzAxLCAzMjMwNiwgMzIzMTAsIDMyMzE3LCAzMjMyMywgMzIzMzEsIDMyMzM1LCAzMjMzOCwgMzIzNDMsIDMyMzUyLCAKKyAgICAzMjM2MCwgMzIzNzgsIDMyMzg0LCAxNDc4LCAzMjM5MCwgMzIzOTMsIDMyMzk3LCAyMzQ1NSwgMjM0NjEsIDMyNDAzLCAKKyAgICAzMjQwNywgMzI0MTgsIDMyNDI5LCAzMjQ0MCwgMzI0NTIsIDMyNDU2LCAzMjQ2MywgMzI0NzAsIDMyNDc1LCAzMjQ3OSwgCisgICAgNjA3OSwgODU1LCAyMjI3MiwgMzI0ODcsIDMyNDkyLCAzMjQ5NiwgMzI1MDEsIDMyNTA1LCAzMjUxMSwgMzI1MTYsIDMyNTIyLCAKKyAgICAzMjUyNywgMzI1MzMsIDMyNTM4LCAzMjU0NCwgMzI1NDksIDMyNTU1LCAzMjU2MSwgMzI1NjcsIDMyNTcyLCAzMjUyOCwgCisgICAgMzI1MzQsIDMyNTc2LCAzMjU4MSwgMzI1ODcsIDMyNTkyLCAzMjU5OCwgMzI2MDMsIDMyNjA5LCAzMjYxNCwgMzI1MzksIAorICAgIDEwOTU3LCAzMjYxOCwgMzI1NTAsIDMyNTU2LCAzMjU2MiwgMjg2NiwgMzUwOSwgMzI2MjQsIDMyNjI3LCAzMjYzMiwgCisgICAgMzI2MzgsIDMyNjQ0LCAzMjY1MCwgMzI2NTcsIDMyNjYzLCAzMjY2OSwgMzI2NzUsIDMyNjgxLCAzMjY4NywgMzI2OTMsIAorICAgIDMyNjk5LCAzMjcwNSwgMzI3MTEsIDMyNzE3LCAzMjcyMywgMzI3MjksIDMyNzM2LCAzMjc0MiwgMzI3NDgsIDMyNzU0LCAKKyAgICAzMjc2MCwgMzI3NjYsIDMyNzY5LCAzMjc3NCwgMzI3NzcsIDMyNzg0LCAzMjc4OSwgMzI3OTcsIDMyODAyLCAzMjgwNywgCisgICAgMzI4MTMsIDMyODE4LCAzMjgyMywgMzI4MjcsIDMyODMyLCAzMjgzOCwgMzI4NDMsIDMyODQ5LCAzMjg1NCwgMzI4NjAsIAorICAgIDMyODY1LCAzMjg3MSwgMzI4NzcsIDMyODgxLCAzMjg4NiwgMzI4OTEsIDMyODk2LCAzMjkwMSwgMzI5MDUsIDMyOTEwLCAKKyAgICAzMjkxNSwgMzI5MjAsIDMyOTI2LCAzMjkzMiwgMzI5MzgsIDMyOTQ0LCAzMjk0OSwgMzI5NTMsIDMyOTU2LCAzMjk2MiwgCisgICAgMzI5NjgsIDMyOTc3LCAzMjk4NSwgMzI5OTIsIDMyOTk3LCAzMzAwMSwgMzMwMDUsIDMzMDEwLCAxNTk1OSwgMzMwMTUsIAorICAgIDMzMDIzLCAzMzAyOSwgMzgwNSwgMTM1NywgMzMwMzQsIDMzMDM4LCA4MjEzLCAzMzA0NCwgMzMwNTAsIDMzMDU3LCA4MjIyLCAKKyAgICAzMzA2MSwgMzMwNjcsIDMzMDc0LCAzMzA4MCwgMzMwODksIDMzMDk3LCAzMzEwOSwgMzMxMTMsIDMzMTIwLCAzMzEyNiwgCisgICAgMzMxMzEsIDMzMTM1LCAzMzEzOSwgMzMxNDIsIDMzMTUxLCAzMzE1OSwgMzI1MjksIDMzMTY0LCAzMzE3NCwgMzMxODQsIAorICAgIDMzMTk0LCAzMzIwMCwgMzMyMDUsIDMzMjE1LCAzMzIyMCwgMzMyMzMsIDMzMjQ3LCAzMzI1OCwgMzMyNzAsIDMzMjgyLCAKKyAgICAzMzI5NiwgMzMzMDksIDMzMzIxLCAzMzMzMywgMTUzNzksIDMzMzQ3LCAzMzM1MiwgMzMzNTcsIDMzMzYxLCAzMzM2NSwgCisgICAgMzMzNjksIDE3ODAsIDI4NDM0LCAzMzM3MywgMzMzNzgsIDMyNTc3LCAzMzM4MywgMzMzODYsIDMzMzkxLCAzMzM5NiwgCisgICAgMzM0MDEsIDMzNDA3LCAzMzQxMywgMTA2MjIsIDMzNDE4LCAzMzQyNCwgMzM0MzEsIDE2NTQ5LCAzMzQzNywgMzM0NDIsIAorICAgIDMzNDQ3LCAzMzQ1MSwgMzM0NTYsIDMzNDYxLCAzMjU4MiwgMzM0NjYsIDMzNDcxLCAzMzQ3NiwgMzM0ODIsIDMyNTg4LCAKKyAgICAzMzQ4NywgMzM0OTAsIDMzNDk3LCAzMzUwNSwgMzM1MTEsIDMzNTE3LCAzMzUyMywgMzM1MzQsIDMzNTM5LCAzMzU0NiwgCisgICAgMzM1NTMsIDMzNTYwLCAzMzU2OCwgMzM1NzcsIDMzNTg2LCAzMzU5MiwgMzM1OTgsIDMzNjA2LCAzMjU5MywgMzM2MTEsIAorICAgIDMzNjE3LCAzMzYyMywgMzI1OTksIDMzNjI4LCAzMzYzMywgMzM2NDEsIDMzNjQ5LCAzMzY1NSwgMzM2NjIsIDMzNjY4LCAKKyAgICAzMzY3NSwgMzM2ODIsIDMzNjg4LCAzMzY5NiwgMzM3MDYsIDMzNzEzLCAzMzcxOSwgMzM3MjQsIDMzNzMwLCAzMzczNSwgCisgICAgMzM3NDAsIDMzNzQ3LCAzMzc1NiwgMzM3NjQsIDMzNzY5LCAzMzc3NSwgMzM3ODIsIDMzNzkwLCAzMzc5NiwgMzM4MDEsIAorICAgIDMzODA3LCAzMzgxNiwgMzM4MjMsIDI5Mjc3LCAzMzgyOSwgMzM4MzMsIDMzODM4LCAzMzg0NywgMzM4NTIsIDMzODU3LCAKKyAgICAzMzg2MiwgMTMwOTIsIDMzODcwLCAzMzg3NSwgMzM4ODAsIDMzODg1LCAzMzg4OSwgMzM4OTQsIDMzODk5LCAzMzkwNiwgCisgICAgMzM5MTEsIDMzOTE2LCAzMzkyMSwgMzI2MDQsIDIyMjA5LCAzMzkyNywgMjUzOSwgMjIyLCAzMzkzMCwgMzM5MzMsIDMzOTM3LCAKKyAgICAzMzk0MSwgMzM5NTEsIDMzOTU5LCAzMzk2NiwgMzM5NzAsIDMzOTc3LCAzMzk4NCwgMzM5OTMsIDMzOTk3LCAzNDAwMCwgCisgICAgMzQwMDYsIDM0MDE0LCAzNDAyMiwgMzQwMjYsIDM0MDMwLCAzNDAzMywgMzQwMzksIDM0MDQ2LCAzNDA1MCwgMzQwNTQsIAorICAgIDM0MDYxLCAzNDA2OSwgMzI1NDAsIDM0MDc2LCAzNDA4NCwgMTA2ODIsIDU5OCwgMzQ5LCAzNDA5NiwgMzQxMDEsIDM0MTA2LCAKKyAgICAzNDExMiwgMzQxMTcsIDM0MTIyLCAzODI2LCAzNDEyNywgMzQxMzAsIDM0MTM1LCAzNDE0MCwgMzQxNDUsIDM0MTUwLCAKKyAgICAzNDE1NSwgMzQxNjIsIDIzNTY3LCAzNDE2NywgMzQxNzIsIDM0MTc3LCAzNDE4MiwgMzQxODcsIDM0MTkzLCAzNDE5OCwgCisgICAgMzQyMDQsIDMyNzgwLCAzNDIxMCwgMzQyMTUsIDM0MjIxLCAzNDIyNywgMzQyMzcsIDM0MjQyLCAzNDI0NywgMzQyNTEsIAorICAgIDM0MjU2LCAzNDI2MSwgMzQyNjYsIDM0MjcxLCAzNDI4NCwgMzQyODksIDIzMzEyLCAxNzYyMSwgMzgzOSwgMzQyOTMsIAorICAgIDM0Mjk5LCAzNDMwNCwgMzQzMDksIDM0MzE1LCAzNDMyMCwgMzQzMjUsIDM0MzI5LCAzNDMzNCwgMzQzMzksIDM0MzQ1LCAKKyAgICAzNDM1MCwgMzQzNTUsIDEzNjIsIDM0MzU5LCAzNDM2NCwgMzQzNjksIDM0Mzc0LCAzNDM3OCwgMzQzODMsIDM0Mzg4LCAKKyAgICAzNDM5MywgMzQzOTksIDM0NDA1LCAzNDQxMCwgMzQ0MTQsIDM0NDE4LCAzNDQyMywgMzQ0MjgsIDM0NDMzLCAzNDQzNywgCisgICAgMzQ0NDUsIDM0NDQ5LCAzNDQ1NSwgMzQ0NTksIDM0NDY2LCAxNzQwMCwgMzI1NTEsIDM0NDcyLCAzNDQ3OSwgMzQ0ODcsIAorICAgIDM0NDk0LCAzNDUwMCwgMzQ1MTMsIDM0NTI1LCAzNDUzMCwgMzQ1MzYsIDM0NTQwLCAyNzkzLCAzNDU0NCwgMzQ1NDgsIAorICAgIDM0MDQxLCAzNDU1NywgMzQ1NjgsIDM0NTczLCAyOTM0MCwgMzQ1NzgsIDM0NTgzLCAzNDU4NywgMzQ1OTIsIDIzNDY2LCAKKyAgICAzNDU5NiwgMzQ2MDAsIDM0NjA1LCAzMjU1NywgMjIyOTksIDM0NjA5LCAzNDYxNCwgMzQ2MjAsIDM0NjI1LCAzNDYyOSwgCisgICAgMzQ2MzMsIDM0NjM2LCAzNDY0MCwgMzQ2NDYsIDM0NjU1LCAzNDY2NiwgMzQ2NzgsIDMyNTYzLCAzNDY4MywgMzQ2ODYsIAorICAgIDM0NjkwLCAzNDY5NCwgMzc4LCAzNDY5OSwgMzQ3MDQsIDM0NzA5LCAzNDcxNCwgMzQ3MTksIDM0NzI0LCAzNDczMCwgCisgICAgMzQ3MzUsIDM0NzQwLCAzNDc0NiwgMzQ3NTEsIDM0NzU3LCAzNDc2MiwgMzQ3NjgsIDM0NzczLCAzNDc3OCwgMzQ3ODMsIAorICAgIDM0Nzg4LCAzNDc5MywgMzQ3OTgsIDM0ODAzLCAzNDgwOCwgMzQ4MTQsIDM0ODE5LCAzNDgyNCwgMzQ4MjksIDM0ODM0LCAKKyAgICAzNDgzOSwgMzQ4NDQsIDM0ODQ5LCAzNDg1NSwgMzQ4NjEsIDM0ODY2LCAzNDg3MSwgMzQ4NzYsIDM0ODgxLCAzNDg4NiwgCisgICAgMzQ4OTEsIDM0ODk2LCAzNDkwMSwgMzQ5MDYsIDM0OTExLCAzNDkxNiwgMzQ5MjEsIDM0OTI2LCAzNDkzMSwgMzQ5MzYsIAorICAgIDM0OTQxLCAzNDk0NiwgMzQ5NTEsIDM0OTU3LCAzMTEsIDEzLCAzNDk2MiwgMzQ5NjYsIDM0OTcwLCAzNDk3OCwgMzQ5ODIsIAorICAgIDM0OTg2LCAzNDk4OSwgMzQ5OTIsIDM0OTk0LCAzNDk5OSwgMzUwMDMsIDM1MDA4LCAzNTAxMiwgMzUwMTcsIDM1MDIxLCAKKyAgICAzNTAyNiwgMzUwMzAsIDM1MDMzLCAzNTAzNSwgMzUwMzksIDM1MDQ0LCAzNTA0OCwgMzUwNTksIDM1MDYyLCAzNTA2NCwgCisgICAgMzUwNjgsIDM1MDgwLCAzNTA4OSwgMzUwOTMsIDM1MDk3LCAzNTEwMywgMzUxMDgsIDM1MTE3LCAzNTEyMywgMzUxMjgsIAorICAgIDM1MTMzLCAzNTEzNywgMzUxNDEsIDM1MTQ2LCAzNTE1MywgMzUxNTgsIDM1MTY0LCAzNTE2OSwgMzUxNzMsIDM1MTgwLCAKKyAgICAyNjkwMiwgMjY5MTIsIDM1MTg0LCAzNTE4OSwgMzUxOTQsIDM1MTk5LCAzNTIwNiwgMzUyMTAsIDM1MjE3LCAzNTIyMywgCisgICAgODMzMiwgMzUyMjcsIDM1MjM2LCAzNTI0NCwgMzUyNTksIDM1MjczLCAzNTI4MSwgMzUyOTIsIDM1MzAxLCAzNTMwNiwgCisgICAgNzQzMSwgMzUzMTYsIDM1MzIxLCAzNTMyNiwgMzUzMzAsIDM1MzMzLCAzNTMzOCwgMzUzNDIsIDM1MzQ3LCAzNTM1MSwgCisgICAgMzUzNTgsIDM1MzYzLCAzNTM2OCwgMzUzNzMsIDkxNTksIDM1MzgzLCAzNTM4NSwgMzUzODgsIDM1MzkxLCAzNTM5NSwgCisgICAgMzU0MDEsIDM1NDA1LCAzNTQxMCwgMzU0MTUsIDM1NDIxLCAzNTQyNiwgMzU0MzIsIDM1NDM3LCAzNTQ0NywgMzU0NTYsIAorICAgIDM1NDY0LCAzNTQ2OSwgMzU0NzUsIDM1NDgwLCAzNTQ4OSwgMzU1MDAsIDM1NTA1LCAzNTUxMiwgMzU1MTYsIDM1NTI0LCAKKyAgICAzNTUzMSwgMzU1NDQsIDM1NTUyLCAzNTU1NiwgMzU1NjYsIDM1NTcxLCAzNTU3NSwgMzU1ODMsIDM1NTkxLCAzNTU5NiwgCisgICAgMzU2MDAsIDM1NjA0LCAzNTYxMywgMzU2MTksIDM1NjI0LCAzNTYzMiwgMzU2NDIsIDM1NjUxLCAzNTY2MCwgMzU2NjksIAorICAgIDM1NjgwLCAzNTY4OCwgMzU2OTksIDM1NzA4LCAzNTcxNSwgMzU3MjEsIDM1NzI2LCAzNTczNywgMzU3NDIsIDM1NzQ2LCAKKyAgICAzNTc0OSwgMzU3NTMsIDM1NzYxLCAzNTc2NywgMzU3NzEsIDM1Nzc5LCAzNTc4NSwgMzU3OTIsIDM1Nzk4LCAzNTgwMywgCisgICAgMzU4MDksIDI0MzgsIDM1ODEzLCAzNTgxNSwgMzU4MjAsIDM1ODI1LCAzNTgzMCwgMzU4MzMsIDM1ODM1LCAzNTgzOSwgCisgICAgMzU4NDIsIDM1ODQ5LCAzNTg1MywgMTAzNzYsIDM1ODU3LCAzNTg2MywgMzU4NzMsIDM1ODc4LCAzNTg4NCwgMzU4ODgsIAorICAgIDM1ODkzLCAzNTkwNiwgMjczMDgsIDM1OTEyLCAzNTkyMSwgMzU5MzAsIDE4NDI3LCAzNTkzNywgMzU5NDYsIDMzMTgwLCAKKyAgICAzNTk1NCwgMzU5NTksIDM1OTYzLCAzNTk3MiwgMzU5ODAsIDM1OTg3LCAzNTk5MiwgMzU5OTYsIDM2MDAxLCAzNjAwOSwgCisgICAgMzYwMTMsIDM2MDIxLCAzNjAyNywgMzYwMzMsIDM2MDM4LCAzNjA0MiwgMzYwNDUsIDM2MDUwLCAzNjA2MywgMzYwNzksIAorICAgIDI0MDQ3LCAzNjA5NiwgMzYxMDgsIDM2MTI1LCAzNjEzNywgMzYxNTEsIDI0MDY0LCAyNDA4MywgMzYxNjMsIDM2MTc1LCAKKyAgICAyNzAwLCAzNjE4OSwgMzYxOTQsIDM2MTk5LCAzNjIwNCwgMzYyMDgsIDM2MjE1LCAzNjIyNywgMzYyMzMsIDM2MjQyLCAKKyAgICAzNjI0NSwgMzYyNTYsIDM2MjY3LCAzNjI3MiwgMzM2MDMsIDc5MiwgMzYyNzYsIDM2MjgwLCAzNjI4NCwgMzYyODcsIAorICAgIDM2MjkyLCAzNjI5NywgMzYzMDMsIDM2MzA4LCAzNjMxMywgMzYzMTksIDM2MzI1LCAzNjMzMCwgMzYzMzQsIDM2MzM5LCAKKyAgICAzNjM0NCwgMzYzNDksIDM2MzUzLCAzNjM1NiwgMzYzNjIsIDM2MzY3LCAzNjM3MiwgMzYzNzcsIDM2MzgxLCAzNjM4NiwgCisgICAgMzYzOTIsIDM2NDAwLCAyNzU2NSwgMzY0MDUsIDM2NDEwLCAzNjQxNywgMzY0MjMsIDM2NDI5LCAzNjQzNCwgMzY0NDIsIAorICAgIDIzNTc2LCAzNjQ0OSwgMzY0NTQsIDM2NDU5LCAzNjQ2NCwgMzY0NjgsIDM2NDcxLCAzNjQ3NiwgMzY0ODAsIDM2NDg0LCAKKyAgICAzNjQ5MSwgMzY0OTcsIDM2NTAzLCAzNjUwOSwgMzY1MTYsIDM2NTIxLCAzNjUyNywgMzU1ODYsIDM2NTMxLCAzNjUzNSwgCisgICAgMzY1NDAsIDM2NTUzLCAzNjU1OCwgMzY1NjQsIDM2NTcyLCAzNjU3OSwgMzY1ODcsIDM2NTk3LCAzNjYwMywgMzY2MDksIAorICAgIDM2NjE1LCAzNjYxOSwgMzY2MjgsIDM2NjM2LCAzNjY0MywgMzY2NDgsIDM2NjUzLCAxMDk4MCwgMzY2NTgsIDM2NjY2LCAKKyAgICAzNjY3MywgMzY2NzksIDM2Njg5LCAzNjY5NCwgMzY3MDAsIDM2NzA4LCAzNzE5LCAzNjcxNSwgMzY3MjEsIDM2NzI4LCAKKyAgICAzNzI1LCAzNjczMiwgMzY3MzcsIDM2NzQ4LCAzNjc1NSwgMzY3NjEsIDM2NzcwLCAzNjc3NCwgNDE1NSwgMzY3NzcsIAorICAgIDM2Nzg0LCAzNjc5MCwgMzY3OTYsIDM2ODA0LCAzNjgxNCwgMzA0MzUsIDM2ODIxLCAzNjgyOSwgMzY4MzUsIDM2ODQwLCAKKyAgICAzNjg0NiwgMzY4NTEsIDM2ODU1LCAyNzE1NiwgMzY4NjEsIDM2ODY4LCAzNjg3NCwgMzY4ODMsIDM2ODkwLCAyNDc2NCwgCisgICAgMzY4OTYsIDM2OTAxLCAzNjkwNSwgMzY5MTMsIDM2OTIxLCAxMDA4MiwgNjA2NSwgMzY5MjgsIDM2OTMyLCAzNjkzNCwgCisgICAgMzY5MzgsIDM2OTQzLCAzNjk0NSwgMzY5NTAsIDM2OTU2LCAzNjk2MSwgMzY5NjYsIDM2OTczLCAzNDE1OCwgMzY5NzksIAorICAgIDM2OTg0LCAzNjk4OCwgMzY5OTMsIDM2OTk3LCAzNzAwNiwgMzcwMTAsIDM3MDE2LCAzNzAyMywgMzcwMjksIDM3MDM2LCAKKyAgICAzNzA0MSwgMzcwNTAsIDM3MDU1LCAzNzA1OSwgMzcwNjQsIDM3MDcxLCAzNzA3OSwgMzcwODcsIDM3MDkyLCAyMjM1NSwgCisgICAgMzcwOTYsIDM3MDk5LCAzNzEwMywgMzcxMDcsIDM3MTExLCAzNzExNCwgMzcxMTYsIDM3MTIxLCAzNzEyOSwgMzcxMzMsIAorICAgIDM3MTQyLCAzNzE0OSwgMzcxNTMsIDM3MTU3LCAzNzE2NSwgMzcxNzIsIDM3MTgyLCAzNzE4NiwgMzcxOTAsIDM3MTk4LCAKKyAgICAzNzIwNiwgMzcyMTIsIDM3MjE3LCAzNzIyNiwgMTQwNjQsIDM3MjMyLCAzNzI0MSwgMzcyNDYsIDM3MjUzLCAzNzI2MCwgCisgICAgMzcyNjgsIDM3Mjc2LCAzNzI4NCwgMzcyODksIDM3Mjk2LCAzNzMwMywgMzczMTAsIDM3MzE3LCAzNzMyNCwgMzczMjksIAorICAgIDM3MzM1LCAzNzM1MiwgMzczNjAsIDM3MzcwLCAzNzM3OCwgMzczODUsIDM5MiwgMzczODksIDM3Mzk1LCAzNzM5OSwgCisgICAgMzc0MDQsIDM1Mjk3LCAzNzQxMCwgMzc0MTMsIDM3NDE3LCAzNzQyOCwgMzc0MzYsIDM3MzAsIDM3NDQ0LCAzNzQ1MCwgCisgICAgMzc0NTYsIDM3NDY2LCAzNzQ3NSwgMzc0ODUsIDM3NDkyLCAzNzQ5OCwgMzc1MDMsIDM3MzYsIDM3NDIsIDM3NTEyLCAKKyAgICAzNzUxOSwgMzc1MjcsIDM3NTMyLCAzNzUzNiwgMzc1NDMsIDM3NTUxLCAzNzU1OCwgMzc1NjQsIDM3NTczLCAzNzU4MywgCisgICAgMzc1ODksIDM3NTk3LCAzNzYwNiwgMzc2MTMsIDM3NjIxLCAzNzYyOCwgMjMwMzcsIDM3NjMyLCAzNzYzOSwgMzc2NDUsIAorICAgIDM3NjU1LCAzNzY2NCwgMzc2NzIsIDM3NjgzLCAzNzY4NywgMzc2OTcsIDM3NzAzLCAzNzcxMCwgMzc3MTgsIDM3NzI3LCAKKyAgICAzNzczNiwgMzc3NDYsIDM3NzU3LCAzNzc2NCwgMzc3NjksIDM3Nzc2LCAzMDY0LCAzNzc4NCwgMzc3OTAsIDM3Nzk1LCAKKyAgICAzNzgwMSwgMzc4MDcsIDM3ODEyLCAzNzgyNSwgMzc4MzgsIDM3ODUxLCAzNzg1OCwgMzc4NjQsIDM3ODcyLCAzNzg4MCwgCisgICAgMzc4ODUsIDM3ODg5LCAxNDUyLCAzNzg5MywgMzc4OTcsIDM3OTAxLCAzNzkwNSwgMzc5MDksIDM3OTEzLCAzNzkxNywgCisgICAgMzc5MjEsIDM3OTI1LCAzNzkyOSwgMzc5MzMsIDM3OTM3LCAzNzk0MSwgMzc5NDUsIDM3OTQ5LCAzNzk1MywgMzc5NTcsIAorICAgIDM3OTYxLCAzNzk2NSwgMzc5NjksIDM3OTczLCAzNzk3NywgMzc5ODEsIDM3OTg1LCAzNzk4OSwgMzc5OTMsIDM3OTk3LCAKKyAgICAzODAwMSwgMzgwMDUsIDM4MDA5LCAzODAxMywgMzgwMTcsIDM4MDIxLCAzODAyNSwgMzgwMjksIDM4MDMzLCAzODAzNywgCisgICAgMzgwNDEsIDM4MDQ1LCAzODA0OSwgMzgwNTMsIDM4MDU3LCAzODA2MSwgMzgwNjUsIDM4MDY5LCAzODA3MywgMzgwNzcsIAorICAgIDM4MDgxLCAzODA4NSwgMzgwODksIDM4MDkzLCAzODA5NywgMzgxMDEsIDM4MTA1LCAzODEwOSwgMzgxMTMsIDM4MTE3LCAKKyAgICAzODEyMSwgMzgxMjUsIDM4MTI5LCAzODEzMywgMzgxMzcsIDM4MTQxLCAzODE0NSwgMzgxNDksIDM4MTUzLCAzODE1NywgCisgICAgMzgxNjEsIDM4MTY1LCAzODE2OSwgMzgxNzMsIDM4MTc3LCAzODE4MSwgMzgxODUsIDM4MTg5LCAzODE5MywgMzgxOTcsIAorICAgIDM4MjAxLCAzODIwNSwgMzgyMDksIDM4MjEzLCAzODIxNywgMzgyMjEsIDM4MjI1LCAzODIyOSwgMzgyMzMsIDM4MjM3LCAKKyAgICAzODI0MSwgMzgyNDUsIDM4MjQ5LCAzODI1MywgMzgyNTcsIDM4MjYxLCAzODI2NSwgMzgyNjksIDM4MjczLCAzODI3NywgCisgICAgMzgyODEsIDM4Mjg1LCAzODI4OSwgMzgyOTMsIDM4Mjk3LCAzODMwMSwgMzgzMDUsIDM4MzA5LCAzODMxMywgMzgzMTcsIAorICAgIDM4MzIxLCAzODMyNSwgMzgzMjksIDM4MzMzLCAzODMzNywgMzgzNDEsIDM4MzQ1LCAzODM0OSwgMzgzNTMsIDM4MzU3LCAKKyAgICAzODM2MSwgMzgzNjUsIDM4MzY5LCAzODM3MywgMzgzNzcsIDM4MzgxLCAzODM4NSwgMzgzODksIDM4MzkzLCAzODM5NywgCisgICAgMzg0MDEsIDM4NDA1LCAzODQwOSwgMzg0MTMsIDM4NDE3LCAzODQyMSwgMzg0MjUsIDM4NDI5LCAzODQzMywgMzg0MzcsIAorICAgIDM4NDQxLCAzODQ0NSwgMzg0NDksIDM4NDUzLCAzODQ1NywgMzg0NjEsIDM4NDY1LCAzODQ2OSwgMzg0NzMsIDM4NDc3LCAKKyAgICAzODQ4MSwgMzg0ODUsIDM4NDg5LCAzODQ5MywgMzg0OTcsIDM4NTAxLCAzODUwNSwgMzg1MTAsIDM4NTE0LCAzODUxOSwgCisgICAgMzg1MjMsIDM4NTI4LCAzODUzMiwgMzg1MzcsIDM4NTQxLCAzODU0NywgMzg1NTIsIDM4NTU2LCAzODU2MSwgMzg1NjUsIAorICAgIDM4NTcwLCAzODU3NCwgMzg1NzksIDM4NTgzLCAzODU4OCwgMzg1OTIsIDM4NTk3LCAzODYwMSwgMzg2MDYsIDM4NjEwLCAKKyAgICAzODYxNiwgMzg2MjIsIDM4NjI3LCAzODYzMSwgMzg2MzYsIDM4NjQwLCAzODY0NiwgMzg2NTEsIDM4NjU1LCAzODY2MCwgCisgICAgMzg2NjQsIDM4NjY5LCAzODY3MywgMzg2NzksIDM4Njg0LCAzODY4OCwgMzg2OTMsIDM4Njk3LCAzODcwMiwgMzg3MDYsIAorICAgIDM4NzExLCAzODcxNSwgMzg3MjEsIDM4NzI2LCAzODczMCwgMzg3MzUsIDM4NzM5LCAzODc0NSwgMzg3NTAsIDM4NzU0LCAKKyAgICAzODc1OSwgMzg3NjMsIDM4NzY4LCAzODc3MiwgMzg3NzcsIDM4NzgxLCAzODc4NiwgMzg3OTAsIDM4Nzk2LCAzODgwMSwgCisgICAgMzg4MDUsIDM4ODExLCAzODgxNiwgMzg4MjAsIDM4ODI2LCAzODgzMSwgMzg4MzUsIDM4ODQwLCAzODg0NCwgMzg4NDksIAorICAgIDM4ODUzLCAzODg1OSwgMzg4NjUsIDM4ODcxLCAzODg3NywgMzg4ODMsIDM4ODg5LCAzODg5NSwgMzg5MDEsIDM4OTA2LCAKKyAgICAzODkxMCwgMzg5MTUsIDM4OTE5LCAzODkyNSwgMzg5MzAsIDM4OTM0LCAzODkzOSwgMzg5NDMsIDM4OTQ4LCAzODk1MiwgCisgICAgMzg5NTcsIDM4OTYxLCAzODk2NiwgMzg5NzAsIDM4OTc1LCAzODk3OSwgMzg5ODQsIDM4OTg4LCAzODk5NCwgMzg5OTksIAorICAgIDM5MDAzLCAzOTAwOCwgMzkwMTIsIDM5MDE4LCAzOTAyNCwgMzkwMjksIDExMSwgODgsIDM5MDMzLCAzOTAzNSwgMzkwMzksIAorICAgIDM5MDQzLCAzOTA0NywgMzkwNTIsIDM5MDU2LCAzOTA2MCwgMTAwMDMsIDM5MDY1LCAzOTA3MSwgMTc0MSwgNjQ3MiwgCisgICAgMzkwNzcsIDM5MDgwLCAzOTA4NSwgMzkwODksIDM5MDk0LCAzOTA5OCwgMzkxMDIsIDM5MTA3LCAxMDc2OSwgMzkxMTEsIAorICAgIDM5MTE1LCAzOTExOSwgNTk0LCAzOTEyMywgMTYyMDcsIDM5MTI4LCAzOTEzMiwgMzkxMzcsIDM5MTQyLCAzOTE0NywgCisgICAgMzkxNTEsIDM5MTU4LCAyNzMzMiwgMzkxNjQsIDM5MTY3LCAzOTE3MSwgMzkxNzYsIDM5MTgyLCAzOTE4NiwgMzkxOTQsIAorICAgIDM5MjAwLCAzOTIwNSwgMzkyMDksIDM5MjEyLCAzOTIxNiwgMzkyMjIsIDM5MjI2LCAzOTIzMCwgMzU2MCwgMzU2NSwgCisgICAgMzA2NDIsIDM5MjMzLCAzOTIzNywgMzkyNDEsIDM5MjQ1LCAzOTI0OSwgMzkyNTcsIDM5MjY0LCAzOTI2OCwgMzkyNzUsIAorICAgIDM5MjgwLCAzOTI5NCwgMzkzMDEsIDM5MzEyLCAzMjQsIDM5MzE3LCAzOTMyMSwgMzkzMjcsIDM5MzM5LCAzOTM0NSwgCisgICAgMzkzNTEsIDMwNjc5LCAzOTM1NSwgMzkzNjEsIDM5MzcwLCAzOTM3NCwgMzkzNzgsIDM5MzgzLCAzOTM4OSwgMzkzOTQsIAorICAgIDM5Mzk4LCAzOTQwMywgMzk0MDcsIDM5NDExLCAzOTQxOCwgMzk0MjQsIDM5NDI5LCAzOTQ0NCwgMzk0NTksIDM5NDc0LCAKKyAgICAzOTQ5MCwgMzk1MDgsIDEwNzE5LCAzOTUyMiwgMzk1MjksIDM5NTMzLCAzOTUzNiwgMzk1NDUsIDM5NTUwLCAzOTU1NCwgCisgICAgMzk1NjIsIDM1NTM3LCAzOTU3MCwgMzk1NzQsIDM5NTg0LCAzOTU5NSwgMzA2MTIsIDM5NjA4LCAzOTYxMiwgMzk2MjEsIAorICAgIDM5NjI5LCAxMDI3MCwgMTU3MjMsIDM5NjMzLCAyMzQ3OCwgMzk2MzYsIDMxNTgwLCAzOTY0MSwgMTAyNjksIDM5NjQ2LCAKKyAgICAzOTY1MiwgMzk2NTcsIDM5NjYzLCAzOTY2OCwgMzk2NzQsIDM5Njc5LCAzOTY4NSwgMzk2OTAsIDM5Njk2LCAzOTcwMiwgCisgICAgMzk3MDgsIDM5NzEzLCAzOTY2OSwgMzk2NzUsIDM5NjgwLCAzOTY4NiwgMzk2OTEsIDM5Njk3LCAzOTcwMywgODM0NSwgCisgICAgNDAwNiwgMzk3MTcsIDM5NzI1LCAzOTcyOSwgMzk3MzIsIDM5NzM2LCAzOTc0MSwgMzk3NDYsIDM5NzUyLCAzOTc1OCwgCisgICAgMzk3NjMsIDM5NzY3LCAzOTc3MSwgMjcxNjgsIDM5Nzc1LCAzOTc3OSwgMzk3ODMsIDM5Nzg5LCAzOTc5MywgMjkyMTcsIAorICAgIDkyOTYsIDM5ODAyLCAzOTgwOSwgMzk4MTUsIDM5ODE5LCAxMjU2MiwgMzk4MjYsIDM5ODMyLCAzOTgzNywgMzk4NDQsIAorICAgIDM5ODUxLCAzOTg1OCwgMjk5MTcsIDgyNTcsIDM5ODY1LCAzOTg3MiwgMzk4NzksIDM5ODg1LCAzOTg5MCwgMzk4OTcsIAorICAgIDM5OTA4LCAzOTkxNCwgMzk5MTksIDM5OTI0LCAzOTkyOSwgMzk5MzYsIDM5NjcwLCAzOTk0MCwgMzk5NTAsIDM5OTU5LCAKKyAgICAzOTk3MCwgMzk5NzYsIDM5OTgzLCAzOTk4OCwgMzk5OTMsIDM5OTk4LCA0MDAwMywgNDAwMDgsIDQwMDEyLCA0MDAxNiwgCisgICAgNDAwMjIsIDQwMDMwLCAyMzM0LCA5NTUsIDEwNzg1LCAxMDc5NywgMTA4MDIsIDEwODA4LCA0MDAzOSwgMTA4MTMsIDEwODE4LCAKKyAgICAxMDgyNCwgNDAwNDQsIDQwMDU0LCA0MDA1OCwgMTA4MjksIDQwMDYzLCAxNzgxNCwgNDAwNjYsIDQwMDcxLCA0MDA3NSwgCisgICAgMzYyMzcsIDQwMDg2LCA0MDA5MSwgNDAwOTgsIDQwMTA1LCA0MDEwOSwgNDAxMTIsIDQwMTIwLCAxMDczMiwgNDAxMjcsIAorICAgIDQwMTMwLCA0MDEzNiwgNDAxNDYsIDYxMDYsIDQwMTU1LCA0MDE2MSwgNDAxNjUsIDQwMTczLCA0MDE3NywgNDAxODcsIAorICAgIDQwMTkzLCA0MDE5OCwgNDAyMDksIDQwMjE1LCA0MDIyMSwgNDAyMjYsIDQwMjMyLCA0MDIzOCwgNDAyNDQsIDQwMjQ5LCAKKyAgICA0MDI1MiwgNDAyNTksIDQwMjY1LCA0MDI2OSwgNDAyNzQsIDQwMjgxLCA0MDI4OCwgNDAyOTIsIDQwMjk1LCA0MDMwNSwgCisgICAgNDAzMTgsIDQwMzI3LCA0MDMzNiwgNDAzNDcsIDQwMzYwLCA0MDM3MiwgNDAzODMsIDQwMzkyLCA0MDQwMywgNDA0MDgsIAorICAgIDQwNDE3LCA0MDQyMiwgMTA4MzQsIDQwNDI4LCA0MDQzNSwgNDA0NDMsIDQwNDQ4LCA0MDQ1MiwgNDA0NTksIDQwNDY2LCAKKyAgICAzOTU4LCAyMCwgNDA0NzAsIDQwNDc1LCAxNzY2OCwgNDA0NzksIDQwNDgyLCA0MDQ4NSwgMjkzOTcsIDQwNDg5LCAyOTkyNiwgCisgICAgNDA0OTcsIDQwNTAxLCA0MDUwNSwgNDA1MDgsIDQwNTE0LCA0MDUyMCwgMzI2MjgsIDQwNTI1LCA0MDUzMywgNDA1MzksIAorICAgIDQwNTQ2LCAyOTM4MCwgNDA1NTAsIDI5NTgzLCA0MDU1NCwgNDA1NjMsIDQwNTY5LCA0MDU3NSwgNDA1ODAsIDQwNTg0LCAKKyAgICAyOTk0NSwgNDA1OTAsIDQwNTkzLCA0MDYwMSwgNDA2MDksIDI3NDEwLCA0MDYxNSwgNDA2MTksIDQwNjI0LCA0MDYzMSwgCisgICAgNDA2MzcsIDQwNjQyLCA0MDY0NywgNDA2NTEsIDQwNjU3LCA0MDY2MiwgNDA2NjgsIDQyMDgsIDg4MywgNDA2NzUsIDQwNjc5LCAKKyAgICA0MDY4MiwgMTYwOTMsIDQwNjk0LCA0MDcwNSwgMzc2MDIsIDQwNzEwLCA0MDcxMywgNDA3MjAsIDQwNzI0LCA0MDczMCwgCisgICAgNDA3MzQsIDQwNzQwLCA0MDc0NSwgNDA3NTEsIDQwNzU2LCA0MDc2MSwgNDA3NjUsIDQwNzY5LCA0MDc3NCwgNDA3NzksIAorICAgIDQwNzg5LCA0MDc5NSwgNDA4MDgsIDQwODE0LCA0MDgyMCwgNDA4MjYsIDQwODMzLCA0MDgzOCwgNDA4NDQsIDQwODQ5LCAKKyAgICAxNzU1OSwgMTQ1NSwgNzcxLCA0MDg1NCwgNDA4NTcsIDQwODYwLCA0MDg2MywgMzI3MTIsIDMyNzE4LCA0MDg2NiwgMzI3MjQsIAorICAgIDMyNzM3LCAzMjc0MywgMzI3NDksIDQwODcyLCAzMjc1NSwgMzI3NjEsIDQwODc4LCA0MDg4NCwgMjYsIDQwODkyLCA0MDg5OSwgCisgICAgNDA5MDMsIDQwOTA3LCA0MDkxNSwgMzM0OTIsIDQwOTE5LCA0MDkyMywgNDA5MzAsIDQwOTM1LCA0MDkzOSwgNDA5NDQsIAorICAgIDQwOTUwLCA0MDk1NSwgNDA5NjEsIDQwOTY2LCA0MDk3MCwgNDA5NzQsIDQwOTc4LCA0MDk4MywgNDA5ODcsIDQwOTkyLCAKKyAgICA0MDk5NiwgNDEwMDAsIDQxMDA3LCA0MTAxMiwgNDEwMTYsIDQxMDIwLCA0MTAyNSwgNDEwMjksIDQxMDM0LCA0MTAzOCwgCisgICAgNDEwNDIsIDQxMDQ3LCA0MTA1MywgMTYzNDMsIDE2MzQ4LCA0MTA1OCwgNDEwNjIsIDQxMDY1LCA0MTA2OSwgNDEwNzMsIAorICAgIDIyMTY2LCA0MTA3OCwgNDEwODIsIDQxMDg4LCA0MTA5NSwgNDExMDAsIDQxMTEwLCA0MTExNSwgNDExMjMsIDQxMTI3LCAKKyAgICA0MTEzMCwgMzM1MDcsIDQxMTM0LCA0MjYxLCA0MTEzOSwgNDExNDQsIDQxMTQ4LCA0MTE1MywgNDExNTcsIDQxMTYyLCAKKyAgICAxNDA4MiwgNDExNzMsIDQxMTc3LCA0MTE4MCwgNDExODQsIDQxMTg5LCA0MTE5MywgNDExOTgsIDQxMjAzLCA0MTIwNywgCisgICAgNDEyMTEsIDQxMjE1LCA0MTIxOCwgNDEyMjIsIDgzNjQsIDE0MDk4LCA0MTIyNSwgNDEyMjgsIDQxMjM0LCA0MTIzOSwgCisgICAgNDEyNDUsIDQxMjUwLCA0MTI1NiwgNDEyNjEsIDQxMjY3LCA0MTI3MiwgNDEyNzgsIDQxMjg0LCA0MTI5MCwgNDEyOTUsIAorICAgIDQxMjk5LCA0MTMwMywgNDEzMTIsIDQxMzI4LCA0MTM0NCwgNDEzNTQsIDI5Mjg3LCA0MTM2MSwgNDEzNjUsIDQxMzcwLCAKKyAgICA0MTM3NSwgNDEzNzksIDQxMzgzLCAzNzczMSwgNDEzODksIDQxMzk0LCA0MTM5OCwgNDE0MDUsIDQxNDEwLCA0MTQxNSwgCisgICAgNDE0MTksIDQxNDIzLCA0MTQyOSwgMjgyMzcsIDQxNDMzLCAyMjQ1MCwgNDE0MzgsIDQxNDQ1LCA0MTQ1MywgNDE0NTksIAorICAgIDQxNDY2LCA0MTQ3NCwgNDE0ODAsIDQxNDg0LCA0MTQ4OSwgNDE0OTUsIDQxNTAzLCA0MTUwOCwgNDE1MTIsIDQxNTIxLCAKKyAgICA5OTg0LCA0MTUyOSwgNDE1MzMsIDQxNTQxLCA0MTU0OCwgNDE1NTMsIDQxNTU4LCA0MTU2MywgNDE1NjcsIDQxNTcwLCAKKyAgICA0MTU3NCwgNDE1NzcsIDQxNTgxLCA0MTU4OCwgNDE1OTMsIDQxNTk3LCA0MTYwMywgMjc2NDMsIDMyNzc1LCA0MTYwNywgCisgICAgNDE2MTMsIDQxNjIwLCA0MTYyNiwgNDE2MzIsIDQxNjM3LCA0MTY0MCwgNDE2NDIsIDQxNjQ5LCA0MTY1NiwgNDE2NjIsIAorICAgIDQxNjY2LCA0MTY2OSwgNDE2NzMsIDQxNjc3LCA0MTY4MSwgNDE2ODYsIDQxNjkwLCA0MTY5NCwgNDE2OTcsIDQxNzAxLCAKKyAgICA0MTcxNSwgMjQxMTMsIDQxNzM0LCA0MTc0NywgNDE3NjAsIDQxNzczLCAyNDEzMSwgNDE3ODgsIDExMDQ1LCA0MTgwMywgCisgICAgNDE4MDksIDQxODEzLCA0MTgxNywgNDE4MjEsIDQxODI1LCA0MTgzMiwgNDE4MzcsIDQxODQxLCA0MTg0OCwgNDE4NTQsIAorICAgIDQxODU5LCA0MTg2NSwgNDE4NzUsIDQxODg3LCA0MTg5OCwgNDE5MDMsIDQxOTEwLCA0MTkxNCwgNDE5MTgsIDQxOTIxLCAKKyAgICAxNjc1MSwgMzc5OSwgNDE5MjksIDE2MzcwLCA0MTk0MiwgNDE5NDksIDQxOTUzLCA0MTk1NywgNDE5NjIsIDQxOTY3LCAKKyAgICA0MTk3MywgNDE5NzcsIDQxOTgxLCA0MTk4NCwgNDE5ODksIDQxOTkzLCA0MTk5OCwgNzk1NywgMTYzODEsIDQyMDAzLCAKKyAgICA0MjAwNywgNDIwMTMsIDQyMDIyLCA0MjAyNywgNDIwMzYsIDQyMDQzLCAzNzU3OSwgNDIwNDksIDQyMDU0LCA0MjA1OCwgCisgICAgNDIwNjMsIDQyMDcwLCA0MjA3NiwgNDIwODAsIDQyMDgzLCA0MjA4NywgNDIwOTIsIDE1MzQ0LCA0MjA5OSwgNDIxMDYsIAorICAgIDQyMTEwLCA0MjExMywgNDIxMTgsIDQyMTIzLCA0MjEyOSwgNDIxMzQsIDQyMTM5LCA0MjE0MywgNDIxNDgsIDQyMTU4LCAKKyAgICA0MjE2MywgNDIxNjksIDQyMTc0LCA0MjE4MCwgNDIxODUsIDQyMTkxLCA0MjIwMSwgNDIyMDYsIDQyMjExLCA0MjIxNSwgCisgICAgNDIyMjAsIDc0MzMsIDc0NDUsIDQyMjI1LCA0MjIyOCwgNDIyMzUsIDQyMjQxLCA0MjI1MCwgMzU3MTEsIDM1NzE4LCAKKyAgICA0MjI1OCwgNDIyNjIsIDQyMjY2LCAzMzU1NSwgNDIyNzQsIDQyMjg1LCA0MjI5MywgMzc3NzksIDQyMzAwLCA0MjMwNSwgCisgICAgNDIzMTAsIDQyMzIxLCA0MjMyOCwgNDIzMzksIDMzNTc5LCAyMjQ1NiwgNDIzNDcsIDgzNCwgNDIzNTIsIDE0NDI5LCAKKyAgICA0MjM1OCwgMjkzNzEsIDQyMzY0LCA0MjM2OSwgNDIzNzksIDQyMzg4LCA0MjM5NSwgNDI0MDEsIDQyNDA1LCA0MjQwOCwgCisgICAgNDI0MTUsIDQyNDIxLCA0MjQyOCwgNDI0MzQsIDQyNDQ0LCA0MjQ1MiwgNDI0NTgsIDQyNDY0LCA0MjQ2OSwgNDI0NzMsIAorICAgIDQyNDgwLCA0MjQ4NSwgNDI0OTEsIDQyNDk4LCA0MjUwNCwgNDE2ODIsIDQyNTA5LCA0MjUxMywgNTI2LCAxNDU0NSwgCisgICAgNDI1MTksIDQyNTI0LCA0MjUyNywgNDI1MzMsIDQyNTQxLCAxMzc5LCA0MjU0NiwgNDI1NTAsIDQyNTU1LCA0MjU2MCwgCisgICAgNDI1NjUsIDQyNTcyLCA0MjU3NiwgNDI1ODEsIDQyNTg3LCA0MjU5MSwgMzI3ODUsIDQyNTk2LCA0MjYwMSwgNDI2MTAsIAorICAgIDQyNjE3LCA0MjYyNywgNDI2MzMsIDI5NDE1LCA0MjY1MCwgNDI2NTksIDQyNjY3LCA0MjY3MywgNDI2NzgsIDQyNjg1LCAKKyAgICA0MjY5MSwgNDI2OTksIDQyNzA4LCA0MjcxNiwgNDI3MjAsIDQyNzI1LCA0MjczMywgMzAzNjAsIDMzNTg4LCA0MjczOSwgCisgICAgNDI3NTgsIDE2Njc2LCA0Mjc3MiwgNDI3ODgsIDQyODAyLCA0MjgwOCwgNDI4MTMsIDQyODE4LCA0MjgyMywgNDI4MjksIAorICAgIDMzNTk0LCA0MjgzNCwgNDI4MzcsIDQyODQ0LCA0Mjg0OSwgNDI4NTMsIDM3NiwgMjk3MSwgNDI4NjAsIDQyODY1LCA0Mjg3MCwgCisgICAgMjg1OTUsIDQyNjg4LCA0Mjg3NCwgNDI4NzksIDQyODg3LCA0Mjg5MSwgNDI4OTQsIDQyODk5LCA0MjkwNSwgNDI5MTEsIAorICAgIDQyOTE2LCA0MjkyMCwgMjk0NzAsIDQyOTIzLCA0MjkyOCwgNDI5MzIsIDQyOTM1LCA0Mjk0MCwgNDI5NDQsIDQyOTQ5LCAKKyAgICA0Mjk1NCwgNDI5NTgsIDQyOTYzLCA0Mjk2NywgNDI5NzEsIDQyOTc1LCAyMjE2MiwgMjIxNzMsIDQyOTgwLCA0Mjk4NSwgCisgICAgNDI5OTEsIDQyOTk2LCAyODE5NCwgNDMwMDEsIDQzMDA1LCAyMjI1OSwgMTY5MzIsIDQzMDA4LCA0MzAxMywgNDMwMTgsIAorICAgIDQzMDIzLCA0MzAyOCwgNDMwMzMsIDQzMDM4LCA0MzA0MywgNDY5LCA0OSwgMzI3OTgsIDMyODAzLCAzMjgwOCwgMzI4MTQsIAorICAgIDMyODE5LCAzMjgyNCwgNDMwNDgsIDMyODI4LCA0MzA1MiwgNDMwNTYsIDQzMDYwLCAzMjgzMywgMzI4MzksIDQzMDc0LCAKKyAgICAzMjg1MCwgMzI4NTUsIDQzMDgyLCA0MzA4NywgMzI4NjEsIDQzMDkyLCA0MzA5NywgNDMxMDIsIDQzMTA3LCA0MzExMywgCisgICAgNDMxMTksIDQzMTI1LCAzMjg3OCwgNDMxMzgsIDQzMTQ3LCA0MzE1MywgMzI4ODIsIDQzMTU3LCAzMjg4NywgNDMxNjIsIAorICAgIDMyODkyLCAzMjg5NywgNDMxNjUsIDQzMTcwLCA0MzE3NCwgMzI0MzMsIDQzMTgwLCAxNDMxMCwgNDMxODcsIDQzMTkyLCAKKyAgICAzMjkwMiwgNDMxOTYsIDQzMjAxLCA0MzIwNiwgNDMyMTEsIDQzMjE1LCA0MzIyMCwgNDMyMjUsIDQzMjMxLCA0MzIzNiwgCisgICAgNDMyNDEsIDQzMjQ3LCA0MzI1MywgNDMyNTgsIDQzMjYyLCA0MzI2NywgNDMyNzIsIDQzMjc3LCA0MzI4MSwgNDMyODYsIAorICAgIDQzMjkxLCA0MzI5NiwgNDMzMDIsIDQzMzA4LCA0MzMxNCwgNDMzMTksIDQzMzIzLCA0MzMyOCwgNDMzMzIsIDMyOTA2LCAKKyAgICAzMjkxMSwgMzI5MTYsIDQzMzM2LCA0MzM0MCwgNDMzNDQsIDMyOTIxLCAzMjkyNywgMzI5MzMsIDMyOTQ1LCA0MzM1NiwgCisgICAgMjcyMDUsIDQzMzYwLCA0MzM2NSwgNDMzNjksIDQzMzc0LCA0MzM4MSwgNDMzODYsIDQzMzkxLCA0MzM5NiwgNDM0MDAsIAorICAgIDQzNDA0LCA0MzQxNCwgNDM0MTksIDQzNDI0LCA0MzQyOCwgNDM0MzIsIDQzNDM1LCA0MzQ0MywgMzI5OTMsIDQzNDQ4LCAKKyAgICAxNDYyLCA0MzQ1NCwgNDM0NTksIDQzNDY1LCA0MzQ3MywgNDM0ODIsIDQzNDg2LCA0MzQ5MCwgNDM0OTgsIDQzNTA0LCAKKyAgICA0MzUxMiwgNDM1MjgsIDQzNTMyLCA0MzUzNiwgNDM1NDEsIDQzNTQ3LCA0MzU2MiwgMzMwMzAsIDE3NDksIDEyNzQyLCAKKyAgICA0MzU2NiwgMTM1OCwgMTM3MywgNDM1NzgsIDQzNTg2LCA0MzU5MywgNDM1OTgsIDQzNjA1LCA0MzYxMCwgOTY3NCwgMTA2MiwgCisgICAgMjUyNSwgMTA4NjEsIDQzNjE3LCA5NTcyLCA0MzYyMiwgNDM2MjUsIDQzNjM0LCAxMjY2LCA0MzYzOSwgNDE4MzgsIDQzNjQ2LCAKKyAgICA0MzY1NSwgNDM2NjAsIDQzNjY0LCA0MzY3MiwgMjM1MzQsIDI1NzcsIDQzNjc5LCAxMTMwMSwgNDM2ODksIDQzNjk1LCAKKyAgICAyMzUyLCAyMzYyLCA0MzcwNCwgNDM3MTMsIDQzNzIzLCA0MzczNCwgMzM1MiwgMzU4NzQsIDQzNzM5LCAxMDkyMCwgMzkzNiwgCisgICAgMTc1OTcsIDEyNzEsIDQzNzQzLCA0Mzc1MSwgNDM3NTgsIDQzNzYzLCA0Mzc2NywgNDM3NzEsIDI0OTgxLCA0MjA5NCwgCisgICAgMTA5NDcsIDQzNzc5LCA0Mzc4OCwgNDM3OTcsIDQzODA1LCA0MzgxMiwgNDM4MjMsIDQzODI4LCA0Mzg0MSwgNDM4NTQsIAorICAgIDQzODY2LCA0Mzg3OCwgNDM4OTAsIDQzOTAxLCA0MzkxNCwgNDM5MjUsIDQzOTM2LCA0Mzk0NiwgNDM5NTQsIDQzOTYyLCAKKyAgICA0Mzk3NCwgNDM5ODYsIDQzOTk3LCA0NDAwNiwgNDQwMTQsIDQ0MDIxLCA0NDAzMywgNDQwNDAsIDQ0MDQ2LCA0NDA1NSwgCisgICAgNDQwNjIsIDQ0MDc1LCA0NDA4MCwgNDQwOTAsIDQ0MDk1LCA0NDEwMSwgNDQxMDYsIDM5ODE2LCA0NDExMCwgNDQxMTcsIAorICAgIDQ0MTIxLCA0NDEyOCwgNDQxMzYsIDI1MzgsIDQ0MTQzLCA0NDE1NCwgNDQxNjQsIDQ0MTczLCA0NDE4MSwgNDQxOTEsIAorICAgIDQ0MTk5LCA0NDIwOSwgNDQyMTgsIDQ0MjIzLCA0NDIyOSwgNDQyMzUsIDQ0MjQwLCAzODM4LCA0NDI1MSwgNDQyNjEsIAorICAgIDQ0MjcwLCA0NDI3OSwgNDQyODcsIDQ0Mjk3LCA0NDMwNSwgNDQzMTQsIDQ0MzE5LCA0NDMyNCwgNDQzMjksIDE2NzksIDM3LCAKKyAgICA0NDMzNywgNDQzNDUsIDQ0MzU2LCA0NDM2NywgMTcyNDQsIDQ0Mzc3LCA0NDM4MSwgNDQzODgsIDQ0Mzk0LCA0NDM5OSwgCisgICAgNDQ0MDMsIDQ0NDE0LCA0NDQyNCwgNDQ0MzMsIDQ0NDQ0LCAxNzY0MSwgMTc2NDYsIDQ0NDQ5LCA0NDQ1OCwgNDQ0NjMsIAorICAgIDQ0NDczLCA0NDQ3OCwgNDQ0ODYsIDQ0NDk0LCA0NDUwMSwgNDQ1MDcsIDE2NDEsIDI1MSwgNDQ1MTEsIDQ0NTE3LCA0NDUyMiwgCisgICAgNDQ1MjUsIDIxMjQsIDQxOTU0LCA0NDUzMywgNDQ1MzcsIDQ0NTQwLCAxNDk1LCA0NDU0NiwgMTQ3MDcsIDEyNzYsIDQ0NTUxLCAKKyAgICA0NDU2NCwgNDQ1NzgsIDI2NjMsIDQ0NTk2LCA0NDYwOCwgNDQ2MjAsIDI2NzcsIDI2OTQsIDQ0NjM0LCA0NDY0NywgMjcwOSwgCisgICAgNDQ2NjEsIDQ0NjczLCAyNzI0LCA0NDY4NywgMTI4MiwgMTI4OCwgMTI5NCwgMTEyMDcsIDQ0NjkyLCA0NDY5NywgNDQ3MDIsIAorICAgIDQ0NzA2LCA0NDcyMSwgNDQ3MzYsIDQ0NzUxLCA0NDc2NiwgNDQ3ODEsIDQ0Nzk2LCA0NDgxMSwgNDQ4MjYsIDQ0ODQxLCAKKyAgICA0NDg1NiwgNDQ4NzEsIDQ0ODg2LCA0NDkwMSwgNDQ5MTYsIDQ0OTMxLCA0NDk0NiwgNDQ5NjEsIDQ0OTc2LCA0NDk5MSwgCisgICAgNDUwMDYsIDQ1MDIxLCA0NTAzNiwgNDUwNTEsIDQ1MDY2LCA0NTA4MSwgNDUwOTYsIDQ1MTExLCA0NTEyNiwgNDUxNDEsIAorICAgIDQ1MTU2LCA0NTE3MSwgNDUxODYsIDQ1MjAxLCA0NTIxNiwgNDUyMzEsIDQ1MjQ2LCA0NTI2MSwgNDUyNzYsIDQ1MjkxLCAKKyAgICA0NTMwNiwgNDUzMjEsIDQ1MzM2LCA0NTM1MSwgNDUzNjYsIDQ1MzgxLCA0NTM5NiwgNDU0MTEsIDQ1NDI2LCA0NTQ0MSwgCisgICAgNDU0NTYsIDQ1NDcxLCA0NTQ4NiwgNDU1MDEsIDQ1NTE2LCA0NTUzMSwgNDU1NDYsIDQ1NTYxLCA0NTU3NiwgNDU1OTEsIAorICAgIDQ1NjA2LCA0NTYyMSwgNDU2MzYsIDQ1NjUxLCA0NTY2NiwgNDU2ODEsIDQ1Njk2LCA0NTcxMSwgNDU3MjYsIDQ1NzQxLCAKKyAgICA0NTc1NiwgNDU3NzEsIDQ1Nzg2LCA0NTgwMSwgNDU4MTYsIDQ1ODMxLCA0NTg0NiwgNDU4NjEsIDQ1ODc2LCA0NTg5MSwgCisgICAgNDU5MDYsIDQ1OTIxLCA0NTkzNiwgNDU5NTEsIDQ1OTY2LCA0NTk4MSwgNDU5OTYsIDQ2MDExLCA0NjAyNiwgNDYwNDEsIAorICAgIDQ2MDU2LCA0NjA3MSwgNDYwODYsIDQ2MTAxLCA0NjExNiwgNDYxMzEsIDQ2MTQ2LCA0NjE2MSwgNDYxNzYsIDQ2MTkxLCAKKyAgICA0NjIwNiwgNDYyMjEsIDQ2MjM2LCA0NjI1MSwgNDYyNjYsIDQ2MjgxLCA0NjI5NiwgNDYzMTEsIDQ2MzI2LCA0NjM0MSwgCisgICAgNDYzNTYsIDQ2MzcxLCA0NjM4NiwgNDY0MDEsIDQ2NDE2LCA0NjQzMSwgNDY0NDYsIDQ2NDYxLCA0NjQ3NiwgNDY0OTEsIAorICAgIDQ2NTA2LCA0NjUyMSwgNDY1MzYsIDQ2NTUxLCA0NjU2NiwgNDY1ODEsIDQ2NTk2LCA0NjYxMSwgNDY2MjYsIDQ2NjQxLCAKKyAgICA0NjY1NiwgNDY2NzEsIDQ2Njg2LCA0NjcwMSwgNDY3MTYsIDQ2NzMxLCA0Njc0NiwgNDY3NjEsIDQ2Nzc2LCA0Njc5MSwgCisgICAgNDY4MDYsIDQ2ODIxLCA0NjgzNiwgNDY4NTEsIDQ2ODY2LCA0Njg4MSwgNDY4OTYsIDQ2OTExLCA0NjkyNiwgNDY5NDEsIAorICAgIDQ2OTU2LCA0Njk3MSwgNDY5ODYsIDQ3MDAxLCA0NzAxNiwgNDcwMzEsIDQ3MDQ2LCA0NzA2MSwgNDcwNzYsIDQ3MDkxLCAKKyAgICA0NzEwNiwgNDcxMjEsIDQ3MTM2LCA0NzE1MSwgNDcxNjYsIDQ3MTgxLCA0NzE5NiwgNDcyMTEsIDQ3MjI2LCA0NzI0MSwgCisgICAgNDcyNTYsIDQ3MjcxLCA0NzI4NiwgNDczMDEsIDQ3MzE2LCA0NzMzMSwgNDczNDYsIDQ3MzYxLCA0NzM3NiwgNDczOTEsIAorICAgIDQ3NDA2LCA0NzQyMSwgNDc0MzYsIDQ3NDUxLCA0NzQ2NiwgNDc0ODEsIDQ3NDk2LCA0NzUxMSwgNDc1MjYsIDQ3NTQxLCAKKyAgICA0NzU1NiwgNDc1NzEsIDQ3NTg2LCA0NzYwMSwgNDc2MTYsIDQ3NjMxLCA0NzY0NiwgNDc2NjEsIDQ3Njc2LCA0NzY5MSwgCisgICAgNDc3MDYsIDQ3NzIxLCA0NzczNiwgNDc3NTEsIDQ3NzY2LCA0Nzc4MSwgNDc3OTYsIDQ3ODExLCA0NzgyNiwgNDc4NDEsIAorICAgIDQ3ODU2LCA0Nzg3MSwgNDc4ODYsIDQ3OTAxLCA0NzkxNiwgNDc5MzEsIDQ3OTQ2LCA0Nzk2MSwgNDc5NzYsIDQ3OTkxLCAKKyAgICA0ODAwNiwgNDgwMjEsIDQ4MDM2LCA0ODA1MSwgNDgwNjYsIDQ4MDgxLCA0ODA5NiwgNDgxMTEsIDQ4MTI2LCA0ODE0MSwgCisgICAgNDgxNTYsIDQ4MTcxLCA0ODE4NiwgNDgyMDEsIDQ4MjE2LCA0ODIzMSwgNDgyNDYsIDQ4MjYxLCA0ODI3NiwgNDgyOTEsIAorICAgIDQ4MzA2LCA0ODMyMSwgNDgzMzYsIDQ4MzUxLCA0ODM2NiwgNDgzODEsIDQ4Mzk2LCA0ODQxMSwgNDg0MjYsIDQ4NDQxLCAKKyAgICA0ODQ1NiwgNDg0NzEsIDQ4NDg2LCA0ODUwMSwgNDg1MTYsIDQ4NTMxLCA0ODU0NiwgNDg1NjEsIDQ4NTc2LCA0ODU5MSwgCisgICAgNDg2MDYsIDQ4NjIxLCA0ODYzNiwgNDg2NTEsIDQ4NjY2LCA0ODY4MSwgNDg2OTYsIDQ4NzExLCA0ODcyNiwgNDg3NDEsIAorICAgIDQ4NzU2LCA0ODc3MSwgNDg3ODYsIDQ4ODAxLCA0ODgxNiwgNDg4MzEsIDQ4ODQ2LCA0ODg2MSwgNDg4NzYsIDQ4ODkxLCAKKyAgICA0ODkwNiwgNDg5MjEsIDQ4OTM2LCA0ODk1MSwgNDg5NjYsIDQ4OTgxLCA0ODk5NiwgNDkwMTEsIDQ5MDI2LCA0OTA0MSwgCisgICAgNDkwNTYsIDQ5MDcxLCA0OTA4NiwgNDkxMDEsIDQ5MTE2LCA0OTEzMSwgNDkxNDYsIDQ5MTYxLCA0OTE3NiwgNDkxOTEsIAorICAgIDQ5MjA2LCA0OTIyMSwgNDkyMzYsIDQ5MjUxLCA0OTI2NiwgNDkyODEsIDQ5Mjk2LCA0OTMxMSwgNDkzMjYsIDQ5MzQxLCAKKyAgICA0OTM1NiwgNDkzNzEsIDQ5Mzg2LCA0OTQwMSwgNDk0MTYsIDQ5NDMxLCA0OTQ0NiwgNDk0NjEsIDQ5NDc2LCA0OTQ5MSwgCisgICAgNDk1MDYsIDQ5NTIxLCA0OTUzNiwgNDk1NTEsIDQ5NTY2LCA0OTU4MSwgNDk1OTYsIDQ5NjExLCA0OTYyNiwgNDk2NDEsIAorICAgIDQ5NjU2LCA0OTY3MSwgNDk2ODYsIDQ5NzAxLCA0OTcxNiwgNDk3MzEsIDQ5NzQ2LCA0OTc2MSwgNDk3NzYsIDQ5NzkxLCAKKyAgICA0OTgwNiwgNDk4MjEsIDQ5ODM2LCA0OTg1MSwgNDk4NjYsIDQ5ODgxLCA0OTg5NiwgNDk5MTEsIDQ5OTI2LCA0OTk0MSwgCisgICAgNDk5NTYsIDQ5OTcxLCA0OTk4NiwgNTAwMDEsIDUwMDE2LCA1MDAzMSwgNTAwNDYsIDUwMDYxLCA1MDA3NiwgNTAwOTEsIAorICAgIDUwMTA2LCA1MDEyMSwgNTAxMzYsIDUwMTUxLCA1MDE2NiwgNTAxODEsIDUwMTk2LCA1MDIxMSwgNTAyMjYsIDUwMjQxLCAKKyAgICA1MDI1NiwgNTAyNzEsIDUwMjg2LCA1MDMwMSwgNTAzMTYsIDUwMzMxLCA1MDM0NiwgNTAzNjEsIDUwMzc2LCA1MDM5MSwgCisgICAgNTA0MDYsIDUwNDIxLCA1MDQzNiwgNTA0NTEsIDUwNDY2LCA1MDQ4MSwgNTA0OTYsIDUwNTExLCA1MDUyNiwgNTA1NDEsIAorICAgIDUwNTU2LCA1MDU3MSwgNTA1ODYsIDUwNjAxLCA1MDYxNiwgNTA2MzEsIDUwNjQ2LCA1MDY2MSwgNTA2NzYsIDUwNjkxLCAKKyAgICA1MDcwNiwgNTA3MjEsIDUwNzM2LCA1MDc1MSwgNTA3NjYsIDUwNzgxLCA1MDc5NiwgNTA4MTEsIDUwODI2LCA1MDg0MSwgCisgICAgNTA4NTYsIDUwODcxLCA1MDg4NiwgNTA5MDEsIDUwOTE2LCA1MDkzMSwgNTA5NDYsIDUwOTYxLCA1MDk3NiwgNTA5OTEsIAorICAgIDUxMDA2LCA1MTAyMSwgNTEwMzYsIDUxMDUxLCA1MTA2NiwgNTEwODEsIDUxMDk2LCA1MTExMSwgNTExMjYsIDUxMTQxLCAKKyAgICA1MTE1NiwgNTExNzEsIDUxMTg2LCA1MTIwMSwgNTEyMTYsIDUxMjMxLCA1MTI0NiwgNTEyNjEsIDUxMjc2LCA1MTI5MSwgCisgICAgNTEzMDYsIDUxMzIxLCA1MTMzNiwgNTEzNTEsIDUxMzY2LCA1MTM4MSwgNTEzOTYsIDUxNDExLCA1MTQyNiwgNTE0NDEsIAorICAgIDUxNDU2LCA1MTQ3MSwgNTE0ODYsIDUxNTAxLCA1MTUxNiwgNTE1MzEsIDUxNTQ2LCA1MTU2MSwgNTE1NzYsIDUxNTkxLCAKKyAgICA1MTYwNiwgNTE2MjEsIDUxNjM2LCA1MTY1MSwgNTE2NjYsIDUxNjgxLCA1MTY5NiwgNTE3MTEsIDUxNzI2LCA1MTc0MSwgCisgICAgNTE3NTYsIDUxNzcxLCA1MTc4NiwgNTE4MDEsIDUxODE2LCA1MTgzMSwgNTE4NDYsIDUxODYxLCA1MTg3NiwgNTE4OTEsIAorICAgIDUxOTA2LCA1MTkyMSwgNTE5MzYsIDUxOTUxLCA1MTk2NiwgNTE5ODEsIDUxOTk2LCA1MjAxMSwgNTIwMjYsIDUyMDQxLCAKKyAgICA1MjA1NiwgNTIwNzEsIDUyMDg2LCA1MjEwMSwgNTIxMTYsIDUyMTMxLCA1MjE0NiwgNTIxNjEsIDUyMTc2LCA1MjE5MSwgCisgICAgNTIyMDYsIDUyMjIxLCA1MjIzNiwgNTIyNTEsIDUyMjY2LCA1MjI4MSwgNTIyOTYsIDUyMzExLCA1MjMyNiwgNTIzNDEsIAorICAgIDUyMzU2LCA1MjM3MSwgNTIzODYsIDUyNDAxLCA1MjQxNiwgNTI0MzEsIDUyNDQ2LCA1MjQ2MSwgNTI0NzYsIDUyNDkxLCAKKyAgICA1MjUwNiwgNTI1MjIsIDUyNTM4LCA1MjU1NCwgNTI1NzAsIDUyNTg2LCA1MjYwMiwgNTI2MTgsIDUyNjM0LCA1MjY1MCwgCisgICAgNTI2NjYsIDUyNjgyLCA1MjY5OCwgNTI3MTQsIDUyNzMwLCA1Mjc0NiwgNTI3NjIsIDUyNzc4LCA1Mjc5NCwgNTI4MTAsIAorICAgIDUyODI2LCA1Mjg0MiwgNTI4NTgsIDUyODc0LCA1Mjg5MCwgNTI5MDYsIDUyOTIyLCA1MjkzOCwgNTI5NTQsIDUyOTcwLCAKKyAgICA1Mjk4NiwgNTMwMDIsIDUzMDE4LCA1MzAzNCwgNTMwNTAsIDUzMDY2LCA1MzA4MiwgNTMwOTgsIDUzMTE0LCA1MzEzMCwgCisgICAgNTMxNDYsIDUzMTYyLCA1MzE3OCwgNTMxOTQsIDUzMjEwLCA1MzIyNiwgNTMyNDIsIDUzMjU4LCA1MzI3NCwgNTMyOTAsIAorICAgIDUzMzA2LCA1MzMyMiwgNTMzMzgsIDUzMzU0LCA1MzM3MCwgNTMzODYsIDUzNDAyLCA1MzQxOCwgNTM0MzQsIDUzNDUwLCAKKyAgICA1MzQ2NiwgNTM0ODIsIDUzNDk4LCA1MzUxNCwgNTM1MzAsIDUzNTQ2LCA1MzU2MiwgNTM1NzgsIDUzNTk0LCA1MzYxMCwgCisgICAgNTM2MjYsIDUzNjQyLCA1MzY1OCwgNTM2NzQsIDUzNjkwLCA1MzcwNiwgNTM3MjIsIDUzNzM4LCA1Mzc1NCwgNTM3NzAsIAorICAgIDUzNzg2LCA1MzgwMiwgNTM4MTgsIDUzODM0LCA1Mzg1MCwgNTM4NjYsIDUzODgyLCA1Mzg5OCwgNTM5MTQsIDUzOTMwLCAKKyAgICA1Mzk0NiwgNTM5NjIsIDUzOTc4LCA1Mzk5NCwgNTQwMTAsIDU0MDI2LCA1NDA0MiwgNTQwNTgsIDU0MDc0LCA1NDA5MCwgCisgICAgNTQxMDYsIDU0MTIyLCA1NDEzOCwgNTQxNTQsIDU0MTcwLCA1NDE4NiwgNTQyMDIsIDU0MjE4LCA1NDIzNCwgNTQyNTAsIAorICAgIDU0MjY2LCA1NDI4MiwgNTQyOTgsIDU0MzE0LCA1NDMzMCwgNTQzNDYsIDU0MzYyLCA1NDM3OCwgNTQzOTQsIDU0NDEwLCAKKyAgICA1NDQyNiwgNTQ0NDIsIDU0NDU4LCA1NDQ3NCwgNTQ0OTAsIDU0NTA2LCA1NDUyMiwgNTQ1MzgsIDU0NTU0LCA1NDU3MCwgCisgICAgNTQ1ODYsIDU0NjAyLCA1NDYxOCwgNTQ2MzQsIDU0NjUwLCA1NDY2NiwgNTQ2ODIsIDU0Njk4LCA1NDcxNCwgNTQ3MzAsIAorICAgIDU0NzQ2LCA1NDc2MiwgNTQ3NzgsIDU0Nzk0LCA1NDgxMCwgNTQ4MjYsIDU0ODQyLCA1NDg1OCwgNTQ4NzQsIDU0ODkwLCAKKyAgICA1NDkwNiwgNTQ5MjIsIDU0OTM4LCA1NDk1NCwgNTQ5NzAsIDU0OTg2LCA1NTAwMiwgNTUwMTgsIDU1MDM0LCA1NTA1MCwgCisgICAgNTUwNjYsIDU1MDgyLCA1NTA5OCwgNTUxMTQsIDU1MTMwLCA1NTE0NiwgNTUxNjIsIDU1MTc4LCA1NTE5NCwgNTUyMTAsIAorICAgIDU1MjI2LCA1NTI0MiwgNTUyNTgsIDU1Mjc0LCA1NTI5MCwgNTUzMDYsIDU1MzIyLCA1NTMzOCwgNTUzNTQsIDU1MzcwLCAKKyAgICA1NTM4NiwgNTU0MDIsIDU1NDE4LCA1NTQzNCwgNTU0NTAsIDU1NDY2LCA1NTQ4MiwgNTU0OTgsIDU1NTE0LCA1NTUzMCwgCisgICAgNTU1NDYsIDU1NTYyLCA1NTU3OCwgNTU1OTQsIDU1NjEwLCA1NTYyNiwgNTU2NDIsIDU1NjU4LCA1NTY3NCwgNTU2OTAsIAorICAgIDU1NzA2LCA1NTcyMiwgNTU3MzgsIDU1NzU0LCA1NTc3MCwgNTU3ODYsIDU1ODAyLCA1NTgxOCwgNTU4MzQsIDU1ODUwLCAKKyAgICA1NTg2NiwgNTU4ODIsIDU1ODk4LCA1NTkxNCwgNTU5MzAsIDU1OTQ2LCA1NTk2MiwgNTU5NzgsIDU1OTk0LCA1NjAxMCwgCisgICAgNTYwMjYsIDU2MDQyLCA1NjA1OCwgNTYwNzQsIDU2MDkwLCA1NjEwNiwgNTYxMjIsIDU2MTM4LCA1NjE1NCwgNTYxNzAsIAorICAgIDU2MTg2LCA1NjIwMiwgNTYyMTgsIDU2MjM0LCA1NjI1MCwgNTYyNjYsIDU2MjgyLCA1NjI5OCwgNTYzMTQsIDU2MzMwLCAKKyAgICA1NjM0NiwgNTYzNjIsIDU2Mzc4LCA1NjM5NCwgNTY0MTAsIDU2NDI2LCA1NjQ0MiwgNTY0NTgsIDU2NDc0LCA1NjQ5MCwgCisgICAgNTY1MDYsIDU2NTIyLCA1NjUzOCwgNTY1NTQsIDU2NTcwLCA1NjU4NiwgNTY2MDIsIDU2NjE4LCA1NjYzNCwgNTY2NTAsIAorICAgIDU2NjY2LCA1NjY4MiwgNTY2OTgsIDU2NzE0LCA1NjczMCwgNTY3NDYsIDU2NzYyLCA1Njc3OCwgNTY3OTQsIDU2ODEwLCAKKyAgICA1NjgyNiwgNTY4NDIsIDU2ODU4LCA1Njg3NCwgNTY4OTAsIDU2OTA2LCA1NjkyMiwgNTY5MzgsIDU2OTU0LCA1Njk3MCwgCisgICAgNTY5ODYsIDU3MDAyLCA1NzAxOCwgNTcwMzQsIDU3MDUwLCA1NzA2NiwgNTcwODIsIDU3MDk4LCA1NzExNCwgNTcxMzAsIAorICAgIDU3MTQ2LCA1NzE2MiwgNTcxNzgsIDU3MTk0LCA1NzIxMCwgNTcyMjYsIDU3MjQyLCA1NzI1OCwgNTcyNzQsIDU3MjkwLCAKKyAgICA1NzMwNiwgNTczMjIsIDU3MzM4LCA1NzM1NCwgNTczNzAsIDU3Mzg2LCA1NzQwMiwgNTc0MTgsIDU3NDM0LCA1NzQ1MCwgCisgICAgNTc0NjYsIDU3NDgyLCA1NzQ5OCwgNTc1MTQsIDU3NTMwLCA1NzU0NiwgNTc1NjIsIDU3NTc4LCA1NzU5NCwgNTc2MTAsIAorICAgIDU3NjI2LCA1NzY0MiwgNTc2NTgsIDU3Njc0LCA1NzY5MCwgNTc3MDYsIDU3NzIyLCA1NzczOCwgNTc3NTQsIDU3NzcwLCAKKyAgICA1Nzc4NiwgNTc4MDIsIDU3ODE4LCA1NzgzNCwgNTc4NTAsIDU3ODY2LCA1Nzg4MiwgNTc4OTgsIDU3OTE0LCA1NzkzMCwgCisgICAgNTc5NDYsIDU3OTYyLCA1Nzk3OCwgNTc5OTQsIDU4MDEwLCA1ODAyNiwgNTgwNDIsIDU4MDU4LCA1ODA3NCwgNTgwOTAsIAorICAgIDU4MTA2LCA1ODEyMiwgNTgxMzgsIDU4MTU0LCA1ODE3MCwgNTgxODYsIDU4MjAyLCA1ODIxOCwgNTgyMzQsIDU4MjUwLCAKKyAgICA1ODI2NiwgNTgyODIsIDU4Mjk4LCA1ODMxNCwgNTgzMzAsIDU4MzQ2LCA1ODM2MiwgNTgzNzgsIDU4Mzk0LCA1ODQxMCwgCisgICAgNTg0MjYsIDU4NDQyLCA1ODQ1OCwgNTg0NzQsIDU4NDkwLCA1ODUwNiwgNTg1MjIsIDU4NTM4LCA1ODU1NCwgNTg1NzAsIAorICAgIDU4NTg2LCA1ODYwMiwgNTg2MTgsIDU4NjM0LCA1ODY1MCwgNTg2NjYsIDU4NjgyLCA1ODY5OCwgNTg3MTQsIDU4NzMwLCAKKyAgICA1ODc0NiwgNTg3NjIsIDU4Nzc4LCA1ODc5NCwgNTg4MTAsIDU4ODI2LCA1ODg0MiwgNTg4NTgsIDU4ODc0LCA1ODg5MCwgCisgICAgNTg5MDYsIDU4OTIyLCA1ODkzOCwgNTg5NTQsIDU4OTcwLCA1ODk4NiwgNTkwMDIsIDU5MDE4LCA1OTAzNCwgNTkwNTAsIAorICAgIDU5MDY2LCA1OTA4MiwgNTkwOTgsIDU5MTE0LCA1OTEzMCwgNTkxNDYsIDU5MTYyLCA1OTE3OCwgNTkxOTQsIDU5MjEwLCAKKyAgICA1OTIyNiwgNTkyNDIsIDU5MjU4LCA1OTI3NCwgNTkyOTAsIDU5MzA2LCA1OTMyMiwgNTkzMzgsIDU5MzU0LCA1OTM3MCwgCisgICAgNTkzODYsIDU5NDAyLCA1OTQxOCwgNTk0MzQsIDU5NDUwLCA1OTQ2NiwgNTk0ODIsIDU5NDk4LCA1OTUxNCwgNTk1MzAsIAorICAgIDU5NTQ2LCA1OTU2MiwgNTk1NzgsIDU5NTk0LCA1OTYxMCwgNTk2MjYsIDU5NjQyLCA1OTY1OCwgNTk2NzQsIDU5NjkwLCAKKyAgICA1OTcwNiwgNTk3MjIsIDU5NzM4LCA1OTc1NCwgNTk3NzAsIDU5Nzg2LCA1OTgwMiwgNTk4MTgsIDU5ODM0LCA1OTg1MCwgCisgICAgNTk4NjYsIDU5ODgyLCA1OTg5OCwgNTk5MTQsIDU5OTMwLCA1OTk0NiwgNTk5NjIsIDU5OTc4LCA1OTk5NCwgNjAwMTAsIAorICAgIDYwMDI2LCA2MDA0MiwgNjAwNTgsIDYwMDc0LCA2MDA5MCwgNjAxMDYsIDYwMTIyLCA2MDEzOCwgNjAxNTQsIDYwMTcwLCAKKyAgICA2MDE4NiwgNjAyMDIsIDYwMjE4LCA2MDIzNCwgNjAyNTAsIDYwMjY2LCA2MDI4MiwgNjAyOTgsIDYwMzE0LCA2MDMzMCwgCisgICAgNjAzNDYsIDYwMzYyLCA2MDM3OCwgNjAzOTQsIDYwNDEwLCA2MDQyNiwgNjA0NDIsIDYwNDU4LCA2MDQ3NCwgNjA0OTAsIAorICAgIDYwNTA2LCA2MDUyMiwgNjA1MzgsIDYwNTU0LCA2MDU3MCwgNjA1ODYsIDYwNjAyLCA2MDYxOCwgNjA2MzQsIDYwNjUwLCAKKyAgICA2MDY2NiwgNjA2ODIsIDYwNjk4LCA2MDcxNCwgNjA3MzAsIDYwNzQ2LCA2MDc2MiwgNjA3NzgsIDYwNzk0LCA2MDgxMCwgCisgICAgNjA4MjYsIDYwODQyLCA2MDg1OCwgNjA4NzQsIDYwODkwLCA2MDkwNiwgNjA5MjIsIDYwOTM4LCA2MDk1NCwgNjA5NzAsIAorICAgIDYwOTg2LCA2MTAwMiwgNjEwMTgsIDYxMDM0LCA2MTA1MCwgNjEwNjYsIDYxMDgyLCA2MTA5OCwgNjExMTQsIDYxMTMwLCAKKyAgICA2MTE0NiwgNjExNjIsIDYxMTc4LCA2MTE5MywgMTc2NzMsIDYxMjAyLCA2MTIwNywgNjEyMTMsIDYxMjE5LCA2MTIyOSwgCisgICAgNjEyMzcsIDE1NzA0LCAxNjI4NywgMTA0NDUsIDYxMjUwLCAxNTAzLCAxNTA3LCA2MTI1OCwgMzg5MCwgMjg3MTMsIDczODcsIAorICAgIDYxMjY0LCA2MTI2OSwgNjEyNzQsIDYxMjc5LCA2MTI4NCwgNjEyOTAsIDYxMjk1LCA2MTMwMSwgNjEzMDYsIDYxMzEyLCAKKyAgICA2MTMxNywgNjEzMjIsIDYxMzI3LCA2MTMzMiwgNjEzMzgsIDYxMzQzLCA2MTM0OCwgNjEzNTMsIDYxMzU4LCA2MTM2MywgCisgICAgNjEzNjgsIDYxMzczLCA2MTM3OSwgNjEzODQsIDYxMzkwLCA2MTM5NywgMjU4MSwgNjE0MDIsIDYxNDA4LCA4NzUzLCAKKyAgICA2MTQxMiwgNjE0MTcsIDYxNDI0LCA2MTQzMiwgNDYsIDYxNDM2LCA2MTQ0MiwgNjE0NDcsIDYxNDUyLCA2MTQ1NiwgNjE0NjEsIAorICAgIDYxNDY1LCA2MTQ2OSwgMTEyNDQsIDYxNDczLCA2MTQ4MywgNjE0OTYsIDYxNTA3LCA2MTUyMCwgNjE1MjcsIDYxNTMzLCAKKyAgICA2MTUzOCwgNjE1NDQsIDYxNTUwLCA2MTU1NiwgNjE1NjEsIDYxNTY2LCA2MTU3MSwgNjE1NzYsIDYxNTgwLCA2MTU4NSwgCisgICAgNjE1OTAsIDYxNTk1LCA2MTYwMSwgNjE2MDcsIDYxNjEzLCA2MTYxOCwgNjE2MjIsIDYxNjI3LCA2MTYzMiwgNjE2MzYsIAorICAgIDYxNjQxLCA2MTY0NiwgNjE2NTEsIDYxNjU1LCAxMTI2MCwgMTEyNzEsIDExMjc2LCAxNTQ2LCA2MTY1OSwgNjE2NjUsIAorICAgIDE1NTEsIDYxNjcwLCA2MTY3MywgMTcxMjIsIDYxNjc4LCA2MTY4NCwgNjE2ODksIDE1ODIsIDYxNjk1LCAxNTg4LCAxNTk0LCAKKyAgICAxMTMwNiwgNjE3MDAsIDYxNzA5LCA2MTcxNywgNjE3MjQsIDYxNzI4LCA2MTczNCwgNjE3MzksIDMyNDY2LCA2MTc0NCwgCisgICAgNjE3NTEsIDYxNzU2LCA2MTc2MCwgNjE3NjQsIDYxNzczLCAxNTk5LCAxNzIxOSwgNjE3NzgsIDYxNzgyLCAxNzIzMCwgCisgICAgMTEwNSwgNjE3ODYsIDYxNzkzLCA2MTc5OCwgNjE4MDIsIDE3MjYwLCAxNjAzLCAzOTk2NCwgNjE4MDUsIDYxODEwLCAKKyAgICA2MTgyMCwgNjE4MjksIDYxODM0LCA2MTgzOCwgNjE4NDQsIDE2MDgsIDQyMDU1LCA2MTg0OSwgNjE4NTgsIDYxODY0LCAKKyAgICA2MTg2OSwgNjE4NzQsIDExNDc0LCAxMTQ4MCwgNjE4ODAsIDYxODkyLCA2MTkwOSwgNjE5MjYsIDYxOTQzLCA2MTk2MCwgCisgICAgNjE5NzcsIDYxOTk0LCA2MjAxMSwgNjIwMjgsIDYyMDQ1LCA2MjA2MiwgNjIwNzksIDYyMDk2LCA2MjExMywgNjIxMzAsIAorICAgIDYyMTQ3LCA2MjE2NCwgNjIxODEsIDYyMTk4LCA2MjIxNSwgNjIyMzIsIDYyMjQ5LCA2MjI2NiwgNjIyODMsIDYyMzAwLCAKKyAgICA2MjMxNywgNjIzMzQsIDYyMzUxLCA2MjM2OCwgNjIzODUsIDYyNDAyLCA2MjQxOSwgNjI0MzYsIDYyNDUzLCA2MjQ3MCwgCisgICAgNjI0ODcsIDYyNTA0LCA2MjUyMSwgNjI1MzgsIDYyNTU1LCA2MjU3MiwgNjI1ODksIDYyNjA2LCA2MjYyMywgNjI2NDAsIAorICAgIDYyNjU3LCA2MjY3NCwgNjI2OTEsIDYyNzA4LCA2MjcyNSwgNjI3MzYsIDYyNzQxLCAxNjEzLCA2Mjc0NSwgNjI3NTAsIAorICAgIDYyNzU2LCA2Mjc2MSwgNjI3NjYsIDk1OTEsIDE2MTgsIDYyNzcyLCA2Mjc4MSwgMjkwMjksIDYyNzg2LCA2Mjc5NywgCisgICAgMTE0OTEsIDYyODA3LCA2MjgxMiwgNjI4MTgsIDYyODIzLCA2MjgzMCwgNjI4MzYsIDYyODQxLCAxNjIzLCAxNzUzNSwgCisgICAgNjI4NDYsIDExNTAxLCAxNjI4LCAxMTUwNiwgNjI4NTIsIDYyODU3LCA2Mjg2MywgNjI4NjgsIDYyODczLCA2Mjg3OCwgCisgICAgNjI4ODMsIDYyODg4LCA2Mjg5MywgNjI4OTgsIDYyOTAzLCA2MjkwOSwgNjI5MTUsIDYyOTIxLCA2MjkyNiwgNjI5MzAsIAorICAgIDYyOTM1LCA2Mjk0MCwgNjI5NDQsIDYyOTQ5LCA2Mjk1NCwgNjI5NTksIDYyOTY0LCA2Mjk2OCwgNjI5NzMsIDYyOTc5LCAKKyAgICA2Mjk4NCwgNjI5ODksIDYyOTkzLCA2Mjk5OCwgNjMwMDMsIDYzMDA5LCA2MzAxNCwgNjMwMTksIDYzMDI1LCA2MzAzMSwgCisgICAgNjMwMzYsIDYzMDQwLCA2MzA0NSwgNjMwNTAsIDYzMDU1LCA2MzA1OSwgNjMwNjQsIDYzMDY5LCA2MzA3NCwgNjMwODAsIAorICAgIDYzMDg2LCA2MzA5MSwgNjMwOTUsIDYzMDk5LCA2MzEwNCwgNjMxMDksIDYzMTE0LCAzMDUwNCwgNjMxMTgsIDYzMTIzLCAKKyAgICA2MzEyOCwgNjMxMzQsIDYzMTM5LCA2MzE0NCwgNjMxNDgsIDYzMTUzLCA2MzE1OCwgNjMxNjQsIDYzMTY5LCA2MzE3NCwgCisgICAgNjMxODAsIDYzMTg2LCA2MzE5MSwgNjMxOTUsIDYzMjAwLCA2MzIwNSwgNjMyMDksIDYzMjE0LCA2MzIxOSwgNjMyMjQsIAorICAgIDYzMjMwLCA2MzIzNiwgNjMyNDEsIDYzMjQ1LCA2MzI1MCwgNjMyNTUsIDYzMjU5LCA2MzI2NCwgNjMyNjksIDYzMjc0LCAKKyAgICA2MzI3OSwgNjMyODMsIDYzMjg2LCA2MzI4OSwgNjMyOTQsIDMzMTQ3LCA2MzI5OSwgNjMzMDcsIDE3NjAxLCAzNzc0LCAKKyAgICAxMTYwNCwgNjMzMTMsIDYzMzIzLCA2MzMzOCwgNjMzNDYsIDExNjA5LCA2MzM1NywgNjMzNjIsIDYzMzczLCA2MzM4NSwgCisgICAgNjMzOTcsIDYzNDA5LCAyNzE1LCA2MzQyMSwgNjM0MjYsIDYzNDM4LCA2MzQ0MiwgNjM0NDgsIDYzNDU0LCA2MzQ1OSwgCisgICAgMTY0NSwgMTY4MjYsIDYzNDY4LCA2MzQ3MywgNDIxMTQsIDYzNDc3LCA2MzQ4MSwgNjM0ODYsIDYzNDkwLCAxNzY4MSwgCisgICAgNjM0OTUsIDYzNDk4LCA2MzUwMywgNjM1MTEsIDYzNTE5LCAxNjQ5LCAxMTY0NSwgMTE2NTEsIDE2NTQsIDYzNTI3LCAKKyAgICA2MzUzNCwgNjM1MzksIDYzNTQ4LCA2MzU1OCwgNjM1NjUsIDYzNTcwLCA2MzU3NSwgMTY1OSwgNjM1ODIsIDYzNTg3LCAKKyAgICAxNzc5NiwgNjM1OTEsIDYzNTk2LCA2MzYwMywgNjM2MDksIDYzNjEzLCA2MzYyNCwgNjM2MzQsIDE3ODE4LCA5NDg1LCAKKyAgICA5NDkyLCA2MzY0MSwgMTY2NCwgNjM2NDYsIDYzNjUyLCA2MzY2MCwgNjM2NjcsIDYzNjczLCA2MzY4MCwgNjM2OTIsIAorICAgIDYzNjk4LCA2MzcwMywgNjM3MTUsIDYzNzI2LCA2MzczNSwgNjM3NDUsIDM4NjksIDMyMjcxLCAzMjI4MCwgMTc4NTgsIAorICAgIDE2NjksIDE2NzMsIDYzNzUzLCA2Mzc2NCwgNjM3NjksIDE2ODMsIDYzNzc3LCA2Mzc4MiwgNjM3ODcsIDE3OTE3LCA2Mzc5OSwgCisgICAgNjM4MDIsIDYzODA4LCA2MzgxMywgNjM4MjEsIDE2ODgsIDYzODI2LCA2MzgzMSwgNjM4MzksIDYzODQ3LCA2Mzg1NCwgCisgICAgNjM4NjMsIDYzODcxLCA2Mzg4MCwgMTY5MywgNjM4ODQsIDE2OTgsIDIyMzMwLCA2Mzg4OSwgNjM4OTYsIDE3OTkxLCAKKyAgICA2MzkwNCwgNjM5MTAsIDYzOTE1LCA2MzkyMywgNjM5MzAsIDYzOTM4LCAxNzMwOSwgNjM5NDMsIDExNzk3LCA2Mzk1MiwgCisgICAgNjM5NTgsIDYzOTYzLCA2Mzk3MCwgNjM5NzcsIDYzOTgzLCAxNjk5MSwgNjM5OTMsIDYzOTk5LCA2NDAwNCwgNjQwMTUsIAorICAgIDY0MDIwLCA2NDAyOCwgMTE4MTQsIDExODE5LCA2NDAzNiwgNjQwNDIsIDY0MDQ2LCA2NDA1NCwgMzkzNCwgMTgwMzgsIAorICAgIDQyMjA3LCA2NDA1OSwgNjQwNjUsIDY0MDcwLCA2NDA3OCwgNjQwODUsIDEyNzIzLCA2NDA5MCwgNjQwOTYsIDE3MDksIAorICAgIDY0MTAxLCA2NDEwNCwgMTE3MiwgNjQxMTAsIDY0MTE1LCA2NDEyMCwgNjQxMjYsIDY0MTMxLCA2NDEzNiwgNjQxNDEsIAorICAgIDY0MTQ2LCA2NDE1MSwgNjQxNTYsIDE3MTgsIDksIDY0MTYyLCA2NDE2NiwgNjQxNzEsIDY0MTc1LCA2NDE3OSwgNjQxODMsIAorICAgIDMzMzg3LCA2NDE4OCwgMjQyNzcsIDY0MTkzLCA2NDE5OCwgNjQyMDIsIDY0MjA1LCA2NDIwOSwgNjQyMTMsIDY0MjE4LCAKKyAgICA2NDIyMiwgNjQyMjcsIDY0MjMxLCA2NDIzNywgMzYyODgsIDM2MjkzLCAzNjI5OCwgNjQyNDAsIDY0MjQ3LCA2NDI1MywgCisgICAgNjQyNjEsIDQxODkxLCA2NDI3MSwgMzYzMDQsIDMzNjUxLCAzMzQwMiwgMzM0MDgsIDM2MzIwLCAzMzQxNCwgNjQyNzYsIAorICAgIDY0MjgxLCAzMzY4NCwgNjQyODUsIDY0Mjg4LCA2NDI5MiwgNjQyOTksIDY0MzAyLCA2NDMwNywgNjQzMTIsIDY0MzE2LCAKKyAgICA2NDMyMCwgNjQzMjMsIDY0MzMzLCA2NDM0NSwgNjQzNTIsIDY0MzU4LCAzMzQxOSwgNjQzNjUsIDM1MTQ5LCA2NDM2OCwgCisgICAgODc3MCwgOTQwLCA2NDM3MSwgNjQzNzUsIDY0MzgwLCAzODEyLCA2NDM4NCwgNjQzODcsIDE0MzQzLCA2NDM5NCwgNjQ0MDEsIAorICAgIDY0NDE0LCA2NDQyMiwgNjQ0MzEsIDY0NDQwLCA2NDQ0NSwgNjQ0NTUsIDY0NDY4LCA2NDQ4MCwgNjQ0ODcsIDY0NDkyLCAKKyAgICA2NDUwMSwgNjQ1MTQsIDM3ODE5LCA2NDUzMiwgNjQ1MzcsIDY0NTQ0LCA2NDU1MCwgNzQ2LCA2NDU1NSwgNjQ1NjMsIAorICAgIDY0NTcwLCAyODUzNiwgNzEwLCA2NDU3NiwgNjQ1ODIsIDY0NTkyLCA2NDU5OCwgNjQ2MDMsIDMzNDM4LCA2MTg1LCAzMzQ1MiwgCisgICAgNjQ2MDcsIDY0NjE3LCA2NDYyMiwgNjQ2MzIsIDY0NjQ3LCA2NDY1MywgNjQ2NTksIDMzNDYyLCA2NDY2NCwgMzI1ODMsIAorICAgIDY0NjY4LCA2NDY3MywgNjQ2ODAsIDY0Njg1LCA2NDY4OSwgNjQ2OTQsIDE3ODYxLCA2NDcwMSwgNjQ3MDYsIDY0NzEwLCAKKyAgICA2MjI2LCAzMzQ4OCwgNjQ3MTQsIDY0NzIwLCAzMTAsIDY0NzMwLCA2NDczNywgNjQ3NDQsIDY0NzQ5LCA2NDc1OCwgNjE4MTQsIAorICAgIDY0NzY0LCA2NDc3MiwgNjQ3NzYsIDY0NzgwLCA2NDc4NCwgNjQ3ODgsIDY0NzkzLCA2NDc5NywgNjQ4MDMsIDY0ODExLCAKKyAgICA2NDgxNiwgNjQ4MjEsIDY0ODI2LCA2NDgzMCwgNjQ4MzUsIDY0ODM5LCA2NDg0MywgNjQ4NDksIDY0ODU1LCA2NDg2MCwgCisgICAgNjQ4NjQsIDY0ODY5LCAzMzYxMiwgNjQ4NzMsIDMzNjE4LCAzMzYyNCwgNjQ4NzgsIDY0ODg0LCA2NDg5MSwgNjQ4OTYsIAorICAgIDY0OTAwLCAzMjYwMCwgMTc1MjgsIDY0OTAzLCA2NDkwNywgNjQ5MTIsIDY0OTE5LCA2NDkyNSwgNjQ5MjksIDY0OTM0LCAKKyAgICA0MTU4MywgNjQ5NDAsIDY0OTQ0LCA2NDk1MSwgNjQ5NTUsIDY0OTYwLCA2NDk2NiwgNjQ5NzIsIDY0OTc4LCA2NDk5MCwgCisgICAgNjQ5OTksIDY1MDA5LCA2NTAxNSwgNjUwMjIsIDY1MDI3LCA2NTAzMiwgNjUwMzYsIDY1MDM5LCA2NTA0NSwgNjUwNTIsIAorICAgIDY1MDU3LCA2NTA2MiwgNjUwNjksIDY1MDc2LCA2NTA4MywgNjUwODksIDY1MDk0LCA2NTA5OSwgNjUxMDcsIDMzNjI5LCAKKyAgICAyNDQzLCA2NTExMiwgNjUxMTcsIDY1MTIzLCA2NTEyOCwgNjUxMzQsIDY1MTM5LCA2NTE0NCwgNjUxNDksIDY1MTU1LCAKKyAgICAzMzY1MCwgNjUxNjAsIDY1MTY2LCA2NTE3MiwgNjUxNzgsIDMzNzIwLCA2NTE4MywgNjUxODgsIDY1MTkzLCAzMzczMSwgCisgICAgNjUxOTgsIDY1MjAzLCA2NTIwOCwgNjUyMTQsIDY1MjIwLCAzMzczNiwgNjUyMjUsIDY1MjMwLCA2NTIzNSwgMzM3OTEsIAorICAgIDMzNzk3LCA2NTI0MCwgNjUyNDUsIDMzODAyLCAzMzgyNCwgMjkyNzgsIDMzODMwLCAzMzgzNCwgNjUyNTAsIDEyNDY3LCAKKyAgICA2NTI1NCwgNjUyNjIsIDY1MjY4LCA2NTI3NiwgNjUyODMsIDY1Mjg5LCA2NTI5OSwgNjUzMDUsIDY1MzEyLCAxMTE3OSwgCisgICAgMzM4NDgsIDY1MzE4LCA2NTMzMSwgNjUzNDAsIDY1MzQ2LCA2NTM1NSwgNjUzNjEsIDI0NTg3LCA2NTM2OCwgNjUzNzUsIAorICAgIDY1Mzg1LCA2NTM4OCwgMzM3OTIsIDY1MzkzLCA2NTQwMCwgNjU0MDUsIDY1NDA5LCA2NTQxMywgNjU0MTgsIDY1NDIyLCAKKyAgICA2MzA2LCA2NTQyNywgNjU0MzIsIDY1NDM3LCAzNjM4MiwgMzYzODcsIDY1NDQxLCAzNjQwMSwgNjU0NDYsIDM2NDA2LCAKKyAgICA2NTQ1MSwgNjU0NTcsIDM2NDE4LCAzNjQyNCwgMzY0MzAsIDY1NDYyLCA2NTQ2OCwgMjM1NzcsIDY1NDc5LCA2NTQ4MiwgCisgICAgNjU0OTQsIDY1NTAyLCAzMzg3MSwgNjU1MDYsIDY1NTE1LCA2NTUyNSwgNjU1MzQsIDMzODgxLCA2NTUzOSwgNjU1NDYsIAorICAgIDY1NTU1LCA2NTU2MSwgNjU1NjksIDY1NTc2LCA2Mjc3LCA0NTU5LCA2NTU4MSwgMzM4MDMsIDY1NTg3LCA2NTU5MCwgCisgICAgNjU1OTYsIDY1NjAzLCA2NTYwOCwgNjU2MTMsIDI0NDk3LCA2NTYxNywgNjU2MjMsIDY1NjI5LCA2NTYzNCwgNjU2MzksIAorICAgIDY1NjQzLCA2NTY0OSwgNjU2NTUsIDM1MDU1LCA5NTMsIDM3NDY5LCAzOTE5NiwgMzkyMDIsIDMzOTEyLCAzMzkxNywgCisgICAgNjU2NjAsIDY1NjY0LCA2NTY2OCwgNjU2NzEsIDY1Njg0LCA2NTY5MCwgNjU2OTQsIDY1Njk3LCA2NTcwMiwgMzUzNzYsIAorICAgIDY1NzA2LCAzMjYwNSwgMjIyODAsIDY1NzEyLCA2MjA2LCA2MjE0LCA5MzIyLCA2NTcxNSwgNjU3MjAsIDY1NzI1LCA2NTczMCwgCisgICAgNjU3MzUsIDY1NzQwLCA2NTc0NSwgNjU3NTAsIDY1NzU1LCA2NTc2MCwgNjU3NjYsIDY1NzcxLCA2NTc3NiwgNjU3ODIsIAorICAgIDY1Nzg3LCA2NTc5MiwgNjU3OTcsIDY1ODAyLCA2NTgwNywgNjU4MTIsIDY1ODE4LCA2NTgyMywgNjU4MjksIDY1ODM0LCAKKyAgICA2NTgzOSwgNjU4NDQsIDY1ODQ5LCA2NTg1NCwgNjU4NTksIDY1ODY0LCA2NTg2OSwgNjU4NzQsIDY1ODc5LCA2NTg4NSwgCisgICAgNjU4OTAsIDY1ODk1LCA2NTkwMCwgNjU5MDUsIDY1OTEwLCA2NTkxNSwgNjU5MjEsIDY1OTI2LCA2NTkzMSwgNjU5MzYsIAorICAgIDY1OTQxLCA2NTk0NiwgNjU5NTEsIDY1OTU2LCA2NTk2MSwgNjU5NjYsIDY1OTcyLCA2NTk3NywgNjU5ODIsIDY1OTg3LCAKKyAgICA2NTk5MiwgNjU5OTgsIDY2MDA0LCA2NjAwOSwgNjYwMTUsIDY2MDIwLCA2NjAyNSwgNjYwMzAsIDY2MDM1LCA2NjA0MCwgCisgICAgMTQ5NiwgMjIzLCA2NjA0NSwgNjYwNDksIDY2MDUzLCA2NjA1NywgMjYyNzIsIDY2MDYxLCA2NjA2NSwgNjYwNzAsIDY2MDc0LCAKKyAgICA2NjA3OSwgNjYwODMsIDY2MDg4LCA2NjA5MywgNjYwOTgsIDY2MTAyLCA2NjEwNiwgNjYxMTEsIDY2MTE1LCAxNDA3NiwgCisgICAgNjYxMjAsIDY2MTI0LCA2NjEzMSwgNjYxNDEsIDE2MDI0LCA2NjE1MCwgNjYxNTksIDY2MTYzLCA2NjE2OCwgNjYxNzMsIAorICAgIDY2MTc3LCA2NjE4MSwgMjYwNjYsIDMwNTQsIDY2MTg1LCA2NjE5MSwgMTgzMDksIDY2MTk1LCA2NjIwNCwgNjYyMTIsIAorICAgIDY2MjE4LCA2NjIzMCwgNjYyNDIsIDY2MjQ2LCA2NjI1MSwgNjYyNTUsIDY2MjYxLCA2NjI2NywgNjYyNzIsIDY2MjgyLCAKKyAgICA2NjI5MiwgNjYyOTgsIDY2MzAzLCA2NjMwNywgNjYzMTMsIDY2MzE4LCA2NjMyNSwgNjYzMzEsIDY2MzM2LCA2NjM0NSwgCisgICAgNjYzNTQsIDY2MzYyLCAxNjQxMiwgNjYzNjYsIDY2Mzc1LCA2NjM4MywgNjYzOTUsIDY2NDA2LCA2NjQxNywgNjY0MjYsIAorICAgIDY2NDMwLCA2NjQzOSwgNjY0NDcsIDY2NDU3LCA2NjQ2NSwgNjY0NzEsIDY2NDc2LCA2NjQ4MiwgNjY0ODcsIDY2NDk4LCA4NSwgCisgICAgMzI0MTAsIDY2NTA0LCAyNzQ4MiwgMjc0OTIsIDY2NTEwLCA2NjUxNywgNjY1MjMsIDY2NTI3LCA2NjUzNywgNjY1NDgsIAorICAgIDY2NTU2LCA2NjU2NSwgNjY1NzAsIDY2NTc1LCA2NjU4MCwgNjY1ODQsIDY2NTg4LCAxODI2MywgNjY1OTYsIDY2NjAwLCAKKyAgICA2NjYwNiwgNjY2MTYsIDY2NjIzLCA2NjYyOSwgNjY2MzUsIDM2NDgxLCA2NjYzOSwgNjY2NDEsIDY2NjQ0LCA2NjY1MCwgCisgICAgNjY2NTQsIDY2NjY0LCA2NjY3MCwgNjY2NzcsIDY2Njg0LCAxNDAxMywgNjY2OTIsIDY2Njk4LCA2NjcwNywgNjY3MTYsIAorICAgIDY2NzIyLCA2NjcyOCwgNjY3MzQsIDY2NzM5LCA2Njc0NiwgNjY3NTMsIDY2NzU5LCA2Njc2NywgNjY3ODAsIDY2Nzg5LCAKKyAgICA2Njc5OCwgNjY4MDMsIDY2ODA3LCA2NjgxMywgNjY4MTksIDY2ODI2LCA2NjgzMywgNjY4NDAsIDY2ODQ3LCA2Njg1NCwgCisgICAgNjY4NTksIDY2ODYzLCA2Njg2NywgNjY4NzAsIDY2ODgwLCA2Njg4NCwgNjY4OTYsIDY2OTA1LCA2NjkwOSwgNjY5MTQsIAorICAgIDY2OTE4LCA2NjkyNCwgNjY5MjksIDY2OTM2LCA2Njk0NSwgNjY5NTMsIDY2OTYxLCA2Njk2NiwgNjY5NzAsIDY2OTc1LCAKKyAgICA2Njk4MCwgNjY5OTAsIDY2OTk4LCA2NzAwMywgNjcwMDcsIDY3MDExLCA2NzAxNywgNjcwMjUsIDY3MDMyLCA2NzA0NCwgCisgICAgNjcwNTIsIDY3MDYzLCA2NzA2OSwgNjcwNzksIDY3MDg1LCA2NzA4OSwgNjcwOTYsIDY3MTAyLCA2NzEwNywgNjcxMTEsIAorICAgIDY3MTE1LCA2NzExOSwgNjcxMjgsIDY3MTM3LCA2NzE0NiwgNjcxNTIsIDY3MTU4LCA2NzE2NCwgNjcxNjksIDY3MTc2LCAKKyAgICA2NzE4MiwgNjcxOTAsIDY3MTk3LCAxMzE1NiwgNjcyMDMsIDY3MjA5LCA2NzIxMywgMTUwMDksIDY3MjE3LCA2NzIyMiwgCisgICAgNjcyMzIsIDY3MjQxLCA2NzI0NywgNjcyNTMsIDY3MjYxLCA2NzI2OCwgNjcyNzIsIDY3Mjc2LCA2NzI4MiwgNjcyOTAsIAorICAgIDY3Mjk3LCA2NzMwMywgNjczMTQsIDY3MzE4LCA2NzMyMiwgNjczMjYsIDY3MzI5LCA2NzMzNSwgNjczNDAsIDY3MzQ1LCAKKyAgICA2NzM0OSwgNjczNTMsIDY3MzYyLCA2NzM3MCwgNjczNzcsIDY3MzgzLCA2NzM5MCwgMjUxNTIsIDQxNjM1LCA2NzM5NSwgCisgICAgNjc0MDMsIDY3NDA3LCA2NzQxMSwgNjc0MTQsIDY3NDIyLCA2NzQyOSwgNjc0MzUsIDY3NDQ0LCA2NzQ1MiwgNjc0NTgsIAorICAgIDY3NDYzLCA2NzQ2NywgNjc0NzIsIDY3NDc2LCA2NzQ4MCwgNjc0ODUsIDY3NDk0LCA2NzQ5OCwgNjc1MDUsIDM5MzA1LCAKKyAgICA2NzUwOSwgNjc1MTUsIDY3NTE5LCA2NzUyNywgNjc1MzMsIDY3NTM4LCA2NzU0OSwgNjc1NTcsIDY3NTYzLCAyMzcyMCwgCisgICAgNjc1NzIsIDY3NTc5LCA2NzU4NiwgNjc1OTMsIDY3NjAwLCA2NzYwNywgNDQ4ODEsIDEzODUxLCA2NzYxNCwgNjc2MjEsIAorICAgIDY3NjI2LCAzNjUxNywgNjQwNCwgNjc2MzIsIDY3NjM3LCA2NzY0MiwgNjc2NDgsIDY3NjU0LCA2NzY2MCwgNjc2NjUsIAorICAgIDY3NjcwLCA2NzY3NSwgNjc2ODAsIDY3Njg2LCA2NzY5MSwgNjc2OTcsIDY3NzAyLCA2NzcwOCwgNjc3MTMsIDY3NzE4LCAKKyAgICA2NzcyMywgNjc3MjgsIDY3NzMzLCA2NzczOCwgNjc3NDMsIDY3NzQ5LCA2Nzc1NCwgNjc3NjAsIDY3NzY1LCA2Nzc3MCwgCisgICAgNjc3NzUsIDY3NzgwLCA2Nzc4NSwgNjc3OTAsIDY3Nzk2LCA2NzgwMSwgNjc4MDYsIDY3ODExLCA2NzgxNiwgNjc4MjEsIAorICAgIDY3ODI2LCA2NzgzMSwgNjc4MzYsIDY3ODQxLCA2Nzg0NiwgNjc4NTIsIDY3ODU3LCA2Nzg2MiwgNjc4NjcsIDY3ODcyLCAKKyAgICA2Nzg3NywgNjc4ODIsIDY3ODg3LCA2Nzg5MiwgNjc4OTgsIDY3OTAzLCA2NzkwOCwgNjc5MTMsIDY3OTE4LCA2NzkyMywgCisgICAgNjc5MjgsIDY3OTMzLCA2NzkzOCwgNjc5NDMsIDY3OTQ4LCA2Nzk1MywgNjc5NTgsIDY3OTY0LCAxODM5LCAyNDAsIDQwMDY3LCAKKyAgICA2Nzk2OSwgNjc5NzIsIDY3OTc3LCA2Nzk4MSwgNjc5ODQsIDMzOTEsIDY3OTg5LCA2Nzk5NCwgNjY5NTcsIDY4MDA1LCAKKyAgICA2ODAxNSwgNjgwMjIsIDY4MDMxLCA2ODA0NywgNjgwNTYsIDY4MDY2LCA2ODA3NiwgNjgwODUsIDY4MDkzLCA2ODEwNywgCisgICAgNjgxMTUsIDY4MTE5LCA2ODEyMiwgNjgxMjksIDY4MTM1LCA2ODE0NiwgNjgxNTgsIDY4MTY5LCA2ODE3OCwgNjgxODUsIAorICAgIDEyNzcsIDI0Mzg2LCA2ODE5NSwgMjYxMCwgNjgxOTksIDY4MjA4LCAxMTE5LCAxODIzNiwgMjE3OTQsIDY4MjE2LCA2ODIyNCwgCisgICAgNjgyMzgsIDY4MjUxLCA2ODI1NSwgNjgyNjAsIDY4MjY1LCA2ODI3MCwgNjgyNzYsIDY4MjgyLCA2ODI4NywgODc2MiwgCisgICAgNjgyOTIsIDY4Mjk2LCA2ODMwNCwgMTE2NDYsIDY4MzA5LCA2ODMxNSwgNjgzMjQsIDY4MzMyLCAxNzIxLCAxMTY1OCwgODM1LCAKKyAgICA2MzQwLCA2ODMzNiwgNjgzNDUsIDY4MzU1LCAyNDAwLCAyODI3MSwgNjgzNjQsIDY4MzcwLCAxNzc3MywgMjgyODYsIAorICAgIDY4Mzc2LCA0MTA0LCAxMjAzMiwgNjgzODIsIDY4Mzg5LCA2Mzc1OSwgNjgzOTMsIDY4Mzk3LCA2ODQwMywgNjg0MDgsIAorICAgIDY4NDEzLCA0MTI4LCAxODAsIDE0OTE3LCA2ODQxOCwgNjg0MzAsIDY4NDM0LCA2ODQ0MCwgMjkwNDksIDY4NDQ0LCAxMjAyMCwgCisgICAgMjc1MCwgNCwgNjg0NDksIDY4NDU5LCA2ODQ3MCwgNjg0NzYsIDY4NDg3LCA2ODQ5NCwgNjg1MDAsIDY4NTA2LCA2ODUxNCwgCisgICAgNjg1MjEsIDY4NTI3LCA2ODUzNywgNjg1NDcsIDY4NTU3LCA2ODU2NiwgMjQ1NzQsIDEyODksIDY4NTcxLCA2ODU3NSwgCisgICAgNjg1NzksIDY4NTg1LCA2ODU4OSwgMjc3MywgMjc3OSwgODc1OSwgMjI3NSwgNjg1OTMsIDY4NTk3LCA2ODYwNiwgNjg2MTQsIAorICAgIDY4NjI1LCA2ODYzMywgNjg2NDEsIDY4NjQ3LCA2ODY1MiwgNjg2NjMsIDY4Njc0LCA2ODY4MiwgNjg2ODgsIDEwMTc5LCAKKyAgICA2ODY5MywgNjg3MDEsIDY4NzA1LCA2ODcwOSwgNjg3MTQsIDY4NzE4LCA2ODczMCwgMjk0NTYsIDE1OTc3LCA2ODczNywgCisgICAgNjg3NDcsIDY4NzUzLCA2ODc1OSwgMTAyODEsIDY4NzY5LCA2ODc4MCwgNjg3OTAsIDY4Nzk5LCA2ODgwMywgNjg4MTAsIAorICAgIDExMjEsIDI2MDMsIDY4ODIwLCA2ODgyNSwgNjg4MzMsIDY4ODQxLCA2ODg1MiwgNjg4NTksIDY4ODczLCAxNDg0NiwgNDUzLCAKKyAgICA2ODg4MywgNjg4ODcsIDY4ODk1LCA2ODkwNCwgNjg5MTIsIDY4OTE4LCA2ODkzMiwgNjg5MzksIDY4OTQ1LCA2ODk1NCwgCisgICAgNjg5NjEsIDY4OTcxLCA2ODk3OSwgNjg5ODYsIDY4OTk0LCA2OTAwMSwgMzk0MSwgMTQzLCA2OTAwOSwgNjkwMjAsIDY5MDI0LCAKKyAgICA2OTAzNiwgNjkwNDIsIDEyMjAyLCAxNjcsIDY5MDQ3LCA2OTA1MiwgNjkwNTYsIDY5MDYzLCA2OTA2OSwgNjkwNzcsIAorICAgIDY5MDg0LCA5MDY1LCA2OTA5MSwgNjkxMDAsIDY5MTA4LCA0MDEwLCA2OTEyMSwgNDAyNywgNjkxMjUsIDI4MjMsIDQ5NCwgCisgICAgNjkxMzAsIDY5MTQzLCA2OTE0OCwgMTgzOCwgNzM2LCA2OTE1MiwgNDAzMSwgNjkxNjAsIDY5MTY2LCA2OTE3MCwgODEzLCAKKyAgICA2OTE4MCwgNjkxODksIDY5MTk0LCAxNTczOCwgMTU3NDUsIDQ4MjQzLCA2OTE5OCwgNDA1NiwgMzk1MSwgMTM3MzQsIAorICAgIDY5MjA2LCA2OTIxMywgNjkyMTgsIDI0NjM4LCA2OTIyMiwgNjkyMjksIDY5MjM1LCA2OTI0MCwgNjkyNDUsIDE1NzU4LCAKKyAgICAxNjEsIDY5MjUwLCA2OTI2MiwgNjkyNjgsIDY5Mjc2LCAyODQwLCAxNzUzLCA2OTI4NCwgNjkyODYsIDY5MjkxLCA2OTI5NiwgCisgICAgNjkzMDEsIDY5MzA3LCA2OTMxMiwgNjkzMTcsIDY5MzIyLCA2OTMyNywgNjkzMzIsIDY5MzM3LCA2OTM0MywgNjkzNDgsIAorICAgIDY5MzUzLCA2OTM1OCwgNjkzNjMsIDY5MzY4LCA2OTM3MywgNjkzNzgsIDY5MzgzLCA2OTM4OSwgNjkzOTQsIDY5Mzk5LCAKKyAgICA2OTQwNCwgNjk0MTAsIDY5NDE1LCA2OTQyMSwgNjk0MjYsIDY5NDMxLCA2OTQzNiwgNjk0NDEsIDY5NDQ2LCA2OTQ1MSwgCisgICAgNjk0NTYsIDY5NDYyLCA2OTQ2NywgNjk0NzMsIDY5NDc4LCA2OTQ4MywgNjk0ODgsIDY5NDkzLCA2OTQ5OCwgNjk1MDMsIAorICAgIDY5NTA4LCA2OTUxMywgNjk1MTksIDY5NTI1LCA2OTUzMCwgNjk1MzUsIDY5NTQxLCA2OTU0NiwgNjk1NTAsIDY5NTU0LCAKKyAgICA2OTU1OSwgNjk1NjUsIDY5NTY5LCA2OTU3NSwgNjk1ODAsIDY5NTg1LCA2OTU5MSwgNjk1OTYsIDY5NjAwLCA2OTYwNSwgCisgICAgNjk2MTAsIDY5NjE0LCA2OTYxNywgNjk2MTksIDY5NjIzLCA2OTYyNiwgNjk2MzEsIDY5NjM1LCA2OTY0MCwgNjk2NDQsIAorICAgIDY5NjQ4LCA2OTY1MiwgNjk2NjEsIDY5NjY1LCAzNDA5NywgNjk2NjgsIDM0MTAyLCA2OTY3NSwgNjk2ODAsIDM0MTA3LCAKKyAgICA2OTY4OSwgNjk2OTgsIDM0MTEzLCA2OTcwMywgMzQxMTgsIDY5NzEyLCA2OTcxNywgMTIyMzQsIDY5NzIxLCA2OTcyNiwgCisgICAgNjk3MzEsIDM0MTIzLCA2OTczNSwgNDMxMTUsIDY5NzM5LCA2OTc0MiwgNjk3NDYsIDg0MzAsIDY5NzUyLCA2OTc1NywgCisgICAgNjk3NjEsIDM4MjcsIDM0MTI4LCA2OTc2NCwgNjk3NjgsIDY5NzcxLCA2OTc3NiwgNjk3ODAsIDY5Nzg2LCA2OTc5NCwgCisgICAgNjk4MDcsIDY5ODE2LCA2OTgyMiwgNjk4MjcsIDY5ODMzLCA2OTgzNywgNjk4NDMsIDY5ODUxLCA2OTg1NiwgNjk4NjAsIAorICAgIDY5ODY3LCA2OTg3MywgNjk4ODEsIDY5ODkwLCA2OTg5OCwgMzQxMzEsIDY5OTA1LCA2OTkxNSwgNjk5MjgsIDY5OTMzLCAKKyAgICA2OTkzOCwgNjk5NDIsIDY5OTUxLCA2OTk1NywgNjk5NjQsIDY5OTc1LCA2OTk4NywgNjk5OTQsIDcwMDAzLCA3MDAxMiwgCisgICAgNzAwMjEsIDcwMDI4LCA3MDAzNCwgNzAwNDEsIDcwMDQ5LCA3MDA1NiwgNzAwNjQsIDcwMDczLCA3MDA4MSwgNzAwODgsIAorICAgIDcwMDk2LCA3MDEwNSwgNzAxMTMsIDcwMTIyLCA3MDEzMiwgNzAxNDEsIDcwMTQ5LCA3MDE1NiwgNzAxNjQsIDcwMTczLCAKKyAgICA3MDE4MSwgNzAxOTAsIDcwMjAwLCA3MDIwOSwgNzAyMTcsIDcwMjI2LCA3MDIzNiwgNzAyNDUsIDcwMjU1LCA3MDI2NiwgCisgICAgNzAyNzYsIDcwMjg1LCA3MDI5MywgNzAzMDAsIDcwMzA4LCA3MDMxNywgNzAzMjUsIDcwMzM0LCA3MDM0NCwgNzAzNTMsIAorICAgIDcwMzYxLCA3MDM3MCwgNzAzODAsIDcwMzg5LCA3MDM5OSwgNzA0MTAsIDcwNDIwLCA3MDQyOSwgNzA0MzcsIDcwNDQ2LCAKKyAgICA3MDQ1NiwgNzA0NjUsIDcwNDc1LCA3MDQ4NiwgNzA0OTYsIDcwNTA1LCA3MDUxNSwgNzA1MjYsIDcwNTM2LCA3MDU0NywgCisgICAgNzA1NTksIDcwNTcwLCA3MDU4MCwgNzA1ODksIDcwNTk3LCA3MDYwNCwgNzA2MTIsIDcwNjIxLCA3MDYyOSwgNzA2MzgsIAorICAgIDcwNjQ4LCA3MDY1NywgNzA2NjUsIDcwNjc0LCA3MDY4NCwgNzA2OTMsIDcwNzAzLCA3MDcxNCwgNzA3MjQsIDcwNzMzLCAKKyAgICA3MDc0MSwgNzA3NTAsIDcwNzYwLCA3MDc2OSwgNzA3NzksIDcwNzkwLCA3MDgwMCwgNzA4MDksIDcwODE5LCA3MDgzMCwgCisgICAgNzA4NDAsIDcwODUxLCA3MDg2MywgNzA4NzQsIDcwODg0LCA3MDg5MywgNzA5MDEsIDcwOTEwLCA3MDkyMCwgNzA5MjksIAorICAgIDcwOTM5LCA3MDk1MCwgNzA5NjAsIDcwOTY5LCA3MDk3OSwgNzA5OTAsIDcxMDAwLCA3MTAxMSwgNzEwMjMsIDcxMDM0LCAKKyAgICA3MTA0NCwgNzEwNTMsIDcxMDYzLCA3MTA3NCwgNzEwODQsIDcxMDk1LCA3MTEwNywgNzExMTgsIDcxMTI4LCA3MTEzOSwgCisgICAgNzExNTEsIDcxMTYyLCA3MTE3NCwgNzExODcsIDcxMTk5LCA3MTIxMCwgNzEyMjAsIDcxMjI5LCA3MTIzNywgNzEyNDQsIAorICAgIDcxMjUyLCA3MTI2MSwgNzEyNjksIDcxMjc4LCA3MTI4OCwgNzEyOTcsIDcxMzA1LCA3MTMxNCwgNzEzMjQsIDcxMzMzLCAKKyAgICA3MTM0MywgNzEzNTQsIDcxMzY0LCA3MTM3MywgNzEzODEsIDcxMzkwLCA3MTQwMCwgNzE0MDksIDcxNDE5LCA3MTQzMCwgCisgICAgNzE0NDAsIDcxNDQ5LCA3MTQ1OSwgNzE0NzAsIDcxNDgwLCA3MTQ5MSwgNzE1MDMsIDcxNTE0LCA3MTUyNCwgNzE1MzMsIAorICAgIDcxNTQxLCA3MTU1MCwgNzE1NjAsIDcxNTY5LCA3MTU3OSwgNzE1OTAsIDcxNjAwLCA3MTYwOSwgNzE2MTksIDcxNjMwLCAKKyAgICA3MTY0MCwgNzE2NTEsIDcxNjYzLCA3MTY3NCwgNzE2ODQsIDcxNjkzLCA3MTcwMywgNzE3MTQsIDcxNzI0LCA3MTczNSwgCisgICAgNzE3NDcsIDcxNzU4LCA3MTc2OCwgNzE3NzksIDcxNzkxLCA3MTgwMiwgNzE4MTQsIDcxODI3LCA3MTgzOSwgNzE4NTAsIAorICAgIDcxODYwLCA3MTg2OSwgNzE4NzcsIDcxODg2LCA3MTg5NiwgNzE5MDUsIDcxOTE1LCA3MTkyNiwgNzE5MzYsIDcxOTQ1LCAKKyAgICA3MTk1NSwgNzE5NjYsIDcxOTc2LCA3MTk4NywgNzE5OTksIDcyMDEwLCA3MjAyMCwgNzIwMjksIDcyMDM5LCA3MjA1MCwgCisgICAgNzIwNjAsIDcyMDcxLCA3MjA4MywgNzIwOTQsIDcyMTA0LCA3MjExNSwgNzIxMjcsIDcyMTM4LCA3MjE1MCwgNzIxNjMsIAorICAgIDcyMTc1LCA3MjE4NiwgNzIxOTYsIDcyMjA1LCA3MjIxNSwgNzIyMjYsIDcyMjM2LCA3MjI0NywgNzIyNTksIDcyMjcwLCAKKyAgICA3MjI4MCwgNzIyOTEsIDcyMzAzLCA3MjMxNCwgNzIzMjYsIDcyMzM5LCA3MjM1MSwgNzIzNjIsIDcyMzcyLCA3MjM4MywgCisgICAgNzIzOTUsIDcyNDA2LCA3MjQxOCwgNzI0MzEsIDcyNDQzLCA3MjQ1NCwgNzI0NjYsIDcyNDc5LCA3MjQ5MSwgNzI1MDQsIAorICAgIDcyNTE4LCA3MjUzMSwgNzI1NDMsIDcyNTU0LCA3MjU2NCwgNzI1NzMsIDcyNTgxLCA3MjU4OCwgNzI1OTMsIDgyNjYsIAorICAgIDcyNjAwLCAzNDE0MSwgNzI2MDUsIDcyNjEwLCAzNDE0NiwgNzI2MTYsIDIxOTAyLCAzNDE1MSwgNzI2MjEsIDcyNjI3LCAKKyAgICA3MjYzNSwgNzI2NDEsIDcyNjQ3LCA3MjY1NCwgNzI2NjEsIDcyNjY2LCA3MjY3MCwgNzI2NzQsIDcyNjc3LCA3MjY4MSwgCisgICAgNzI2OTAsIDcyNjk5LCA3MjcwNywgNzI3MTMsIDcyNzI1LCA3MjczNiwgNzI3NDAsIDMxMTYsIDgyNDEsIDcyNzQ1LCAKKyAgICA3Mjc0OCwgNzI3NTAsIDcyNzU0LCA3Mjc1OCwgNzI3NjIsIDcyNzY4LCA3Mjc3MywgMjcxMzYsIDcyNzc4LCA3Mjc4MiwgCisgICAgNzI3ODUsIDcyNzkwLCA3Mjc5NCwgNzI4MDEsIDcyODA3LCA3MjgxMSwgNjM2MCwgNzI4MTUsIDM0MTY4LCA3MjgyMCwgCisgICAgNzI4MjcsIDcyODM2LCA3Mjg0NCwgNzI4NTUsIDcyODYzLCA3Mjg3MiwgNzI4ODAsIDcyODg3LCA3Mjg5NCwgNzI5MDAsIAorICAgIDcyOTExLCAzNDE3MywgNzI5MTYsIDcyOTI3LCA3MjkzOSwgNzI5NDcsIDcyOTU4LCA3Mjk2NywgNzI5NzgsIDcyOTgzLCAKKyAgICA3Mjk5MSwgMjU3NiwgNzI5OTYsIDM1OTQxLCA3MzAwOSwgNzMwMTMsIDczMDI1LCA3MzAzMywgNzMwMzgsIDczMDQ2LCAKKyAgICAxODQzNywgNzMwNTcsIDczMDYzLCA3MzA3MCwgNzMwNzgsIDczMDg0LCAzNDE4MywgNzMwODksIDQwNTAsIDYxMjMzLCAKKyAgICA3MzA5NiwgNzMwOTksIDczMTA3LCA3MzEyMCwgNzMxMzMsIDczMTQ2LCA3MzE1OSwgNzMxNjYsIDczMTc3LCA3MzE4NiwgCisgICAgNDQ2OTgsIDQ0NzAzLCA3MzE5MSwgNzMxOTUsIDczMjAzLCA3MzIxMCwgNzMyMTksIDczMjI3LCA3MzIzMywgNzMyNDIsIAorICAgIDczMjUwLCA3MzI1OCwgNzMyNjIsIDczMjcxLCA3MzI4MCwgNzMyOTAsIDczMzAzLCA3MzMxNiwgNzMzMjYsIDM0MTg4LCAKKyAgICA3MzMzMiwgNzMzMzksIDczMzQ1LCA3MzM1MSwgMzQxOTQsIDczMzU2LCA3MzM1OSwgNzMzNjMsIDczMzcxLCA3MzM4MCwgCisgICAgNDQ0MzYsIDczMzg4LCA3MzM5NywgNzM0MDUsIDczNDEyLCA3MzQyMCwgNzM0MzAsIDczNDM5LCA3MzQ0OCwgNzM0NTcsIAorICAgIDczNDY1LCA3MzQ3NiwgNzM0OTEsIDczNTAxLCA5NjU2LCAyMjU3MiwgNzM1MTAsIDczNTE1LCA3MzUyMCwgNzM1MjQsIAorICAgIDczNTI5LCA3MzUzMywgNzM1MzgsIDczNTQ0LCA3MzU0OSwgNzM1NTQsIDczNTYwLCA3MzU2NSwgNzM1NzAsIDIyNTM3LCAKKyAgICA3MzU3NSwgNzM1ODIsIDczNTkwLCA3MzU5OCwgNzM2MDYsIDczNjExLCA3MzYxOCwgNzM2MjUsIDczNjMwLCAyMjUzLCAKKyAgICA3MzYzNCwgNzM2MzgsIDczNjQ2LCA3MzY1NCwgMzQyMTEsIDczNjYwLCA3MzY2NiwgNzM2NzgsIDczNjg0LCA3MzY5MSwgCisgICAgNzM2OTUsIDczNzAyLCA3MzcwNywgNzM3MTQsIDczNzIwLCA3MzcyNywgNzM3MzgsIDczNzQ4LCA3Mzc1OCwgNzM3NzAsIAorICAgIDczNzc2LCA3Mzc4NCwgNzM3OTQsIDczODA0LCAzNDIzOCwgNzM4MTMsIDczODIyLCA3MzgyOCwgNzM4NDAsIDczODUxLCAKKyAgICA3Mzg1OCwgNzM4NjMsIDczODY3LCA3Mzg3NSwgNzM4ODEsIDczODg2LCA3Mzg5MSwgNzM4OTgsIDczOTA2LCA3MzkxOCwgCisgICAgNzM5MjgsIDczOTM3LCA3Mzk0NiwgNzM5NTMsIDM1Nzk0LCAyNDk1MywgNzM5NTksIDczOTY0LCA3Mzk2OCwgNzM5NzIsIAorICAgIDczOTc3LCA3Mzk4NSwgNzM5OTEsIDc0MDAyLCA3NDAxNSwgNzQwMjAsIDc0MDI3LCAzNDI0MywgNzQwMzIsIDc0MDQ0LCAKKyAgICA3NDA1MywgNzQwNjEsIDc0MDcxLCA3NDA4MiwgNzQwOTUsIDc0MTAyLCA3NDExMSwgNzQxMjAsIDc0MTI4LCA3NDEzMywgCisgICAgNzQxMzksIDE0ODUsIDc0MTQ0LCA3NDE0OSwgNzQxNTQsIDc0MTU5LCA3NDE2NSwgNzQxNzAsIDc0MTc1LCA3NDE4MSwgCisgICAgNzQxODcsIDc0MTkyLCA3NDE5NiwgNzQyMDEsIDc0MjA2LCA3NDIxMSwgNjE3NjksIDc0MjE2LCA3NDIyMSwgNzQyMjYsIAorICAgIDc0MjMxLCA3NDIzNywgNzQyNDMsIDc0MjQ4LCA3NDI1MiwgNzQyNTcsIDc0MjYyLCA3NDI2NywgNzQyNzMsIDc0Mjc4LCAKKyAgICA3NDI4NCwgNzQyODksIDc0Mjk0LCA3NDI5OSwgNzQzMDQsIDc0MzA4LCA3NDMxNCwgNzQzMTksIDc0MzI4LCA3NDMzMywgCisgICAgNzQzMzgsIDc0MzQzLCA3NDM0OCwgNzQzNTIsIDc0MzU5LCA3NDM2NSwgNDMxNiwgMTgwODMsIDMwODEsIDc0MzcwLCAKKyAgICA3NDM3NCwgNzQzNzksIDc0MzgzLCA3NDM4NywgNzQzOTEsIDQ4NDk4LCA3NDM5NSwgNzQzMjAsIDc0Mzk3LCA3NDQwNywgCisgICAgMzQyNTIsIDc0NDEwLCA3NDQxNSwgNzQ0MjQsIDc0NDMwLCA2MzI5LCAzNDI1NywgNzQ0MzQsIDc0NDQwLCA3NDQ0NSwgCisgICAgNzQ0NTEsIDc0NDU2LCA3NDQ2MCwgNzQ0NjcsIDc0NDcyLCA3NDQ4MiwgNzQ0OTEsIDc0NDk1LCA3NDUwMSwgNzQ1MDcsIAorICAgIDc0NTEzLCA3NDUxNywgNzQ1MjUsIDc0NTMyLCA3NDU0MCwgNzQ1NDgsIDM0MjYyLCA3NDU1NSwgNzQ1NTgsIDc0NTY1LCAKKyAgICA3NDU3MSwgNzQ1NzYsIDc0NTgwLCA3NDU4NiwgNzQ1OTMsIDc0NTk4LCA3NDYwMiwgNzQ2MTEsIDc0NjE5LCA3NDYyNSwgCisgICAgNzQ2MzAsIDM0MjY3LCA3NDYzNywgNzQ2NDQsIDc0NjUwLCA3NDY1NSwgNzQ2NjEsIDc0NjY4LCA3NDY3NCwgMjIyOTMsIAorICAgIDI4NzM2LCA3NDY4MCwgNzQ2ODUsIDc0NjkxLCA3NDY5NSwgNzQ3MDcsIDc0MzUzLCA3NDM2MCwgMjI0NjksIDc0NzE3LCAKKyAgICA3NDcyMiwgNzQ3MjksIDc0NzM1LCA3NDc0MiwgNzQ3NDgsIDc0NzU5LCA3NDc2NCwgNzQ3NzIsIDkzNjEsIDc0Nzc3LCAKKyAgICA3NDc4MCwgNzQ3ODYsIDc0NzkwLCA3NDc5NCwgNzQ3OTcsIDc0ODAzLCAzNDAxMCwgNDMxNywgMTA1OSwgMTQxMzAsIAorICAgIDc0ODEwLCA3NDgxNiwgNzQ4MjIsIDc0ODI4LCA3NDgzNCwgNzQ4NDAsIDc0ODQ2LCA3NDg1MiwgNzQ4NTgsIDc0ODYzLCAKKyAgICA3NDg2OCwgNzQ4NzMsIDc0ODc4LCA3NDg4MywgNzQ4ODgsIDc0ODkzLCA3NDg5OCwgNzQ5MDMsIDc0OTA4LCA3NDkxMywgCisgICAgNzQ5MTgsIDc0OTIzLCA3NDkyOSwgNzQ5MzQsIDc0OTM5LCA3NDk0NSwgNzQ5NTAsIDc0OTU1LCA3NDk2MSwgNzQ5NjcsIAorICAgIDc0OTczLCA3NDk3OSwgNzQ5ODUsIDc0OTkxLCA3NDk5NywgNzUwMDMsIDc1MDA5LCA3NTAxNCwgNzUwMTksIDc1MDI1LCAKKyAgICA3NTAzMCwgNzUwMzUsIDc1MDQxLCA3NTA0NiwgNzUwNTEsIDc1MDU2LCA3NTA2MSwgNzUwNjYsIDc1MDcxLCA3NTA3NiwgCisgICAgNzUwODEsIDc1MDg2LCA3NTA5MSwgNzUwOTYsIDc1MTAxLCA3NTEwNywgNzUxMTIsIDc1MTE3LCA3NTEyMiwgNzUxMjgsIAorICAgIDc1MTMzLCA3NTEzOCwgNzUxNDMsIDc1MTQ4LCA3NTE1NCwgNzUxNTksIDc1MTY0LCA3NTE2OSwgNzUxNzQsIDc1MTc5LCAKKyAgICA3NTE4NCwgNzUxODksIDc1MTk0LCA3NTE5OSwgNzUyMDQsIDc1MjA5LCA3NTIxNCwgNzUyMTksIDc1MjI0LCA3NTIyOSwgCisgICAgNzUyMzQsIDc1MjM5LCA3NTI0NCwgNzUyNDksIDc1MjU1LCA3NTI2MCwgNzUyNjUsIDc1MjcwLCA3NTI3NSwgNzUyODAsIAorICAgIDc1Mjg1LCA3NTI5MCwgMTg3MSwgMTQ3LCA3NTI5NSwgNzUyOTksIDc1MzAzLCA3NTMwOCwgNzUzMTYsIDc1MzIwLCA3NTMyNywgCisgICAgNzUzMzUsIDc1MzM5LCA3NTM1MiwgNzUzNjAsIDc1MzY1LCA3NTM3MCwgMjc1NDUsIDc1Mzc0LCA3NTM3OSwgNzUzODMsIAorICAgIDc1Mzg4LCA3NTM5MiwgNzU0MDAsIDc1NDA0LCAyMTkxMCwgNzU0MDksIDc1NDEzLCA2NDA1MCwgNzU0MTcsIDc1NDIwLCAKKyAgICA3NTQyOCwgNzU0MzYsIDc1NDQ0LCA3NTQ0OSwgNzU0NTQsIDc1NDYxLCA3NTQ2NywgNzU0NzMsIDc1NDc4LCA3NTQ4NSwgCisgICAgNzU0OTAsIDc1NDk4LCA2ODI0MywgNzU1MDUsIDc1NTEwLCA3NTUxNSwgNzU1MTksIDEyMzAxLCA3NTUyMywgNzU1MjgsIAorICAgIDc1NTMzLCA3NTUzNywgNzU1NDAsIDc1NTQ2LCA3NTU1MCwgNzU1NjAsIDc1NTY5LCA3NTU3MywgNzU1NzYsIDc1NTgwLCAKKyAgICA3NTU4NywgNzU2MDAsIDc1NjA2LCA3NTYxNCwgNzU2MjMsIDc1NjM0LCA3NTY0NSwgNzU2NTYsIDc1NjY3LCA3NTY3NiwgCisgICAgNzU2ODIsIDc1NjkxLCA3NTY5OSwgNzU3MDksIDc1NzIyLCA3NTcyOSwgNzU3NDAsIDc1NzQ2LCA3NTc1MSwgNzU3NTYsIAorICAgIDc1NzYyLCA3NTc2OCwgNzU3NzgsIDc1Nzg3LCA3NDAzNCwgNzU3OTUsIDc1ODAxLCA3NTgwOSwgNzU4MTUsIDc1ODIyLCAKKyAgICA3NTgzMCwgNzU4MzMsIDc1ODM3LCA3NTg0MSwgNzU4NDQsIDc1ODUwLCA3NTg1NiwgNzU4NjQsIDc1ODc2LCA3NTg4OCwgCisgICAgNzU4OTUsIDc1OTAwLCA3NTkwNCwgNzU5MTUsIDc1OTIzLCA3NTkzMCwgNzU5NDIsIDc1OTUwLCA3NTk1OCwgNzU5NjUsIAorICAgIDc1OTcxLCA3NTk4MSwgNzU5OTAsIDc1OTk1LCA3NjAwNSwgNzYwMTQsIDQzNzI4LCA3NjAyMSwgNzYwMjUsIDc2MDMwLCAKKyAgICA3NjAzOCwgNzYwNDUsIDc2MDUxLCA3NjA1NSwgNzYwNjUsIDc2MDc2LCA3NjA4NCwgNzYwOTEsIDc2MTAzLCA3NjExNSwgCisgICAgNzYxMjQsIDcyOTk5LCA3NjEzMSwgNzYxNDEsIDc2MTUyLCA3NjE2NiwgNzYxNzQsIDc2MTg0LCA3NjE5MSwgNzYxOTksIAorICAgIDc2MjEyLCA3NjIyNCwgNzYyMzMsIDc2MjQxLCA3NjI1MSwgNzYyNjIsIDc2Mjc0LCA3NjI4MywgNzYyOTMsIDc2MzAwLCAKKyAgICA3NjMwOSwgNzYzMjQsIDc2MzMyLCA3NjM0MiwgNzYzNTEsIDc2MzU5LCA3NjM3MiwgNjEyMDMsIDc2Mzg3LCA3NjM5NywgCisgICAgNzY0MDYsIDc2NDE4LCA3NjQyOCwgNzY0NDAsIDc2NDUxLCA3NjQ2MiwgNzY0NzMsIDc2NDgzLCA3NjQ5NCwgNzY1MDIsIAorICAgIDc2NTA4LCA3NjUxOCwgNzY1MjYsIDc2NTMyLCAzMDQwMCwgNzY1MzcsIDc2NTQzLCA3NjU0OCwgNzY1NTUsIDEwMTkzLCAKKyAgICAxODQ1NywgNzY1NjEsIDc2NTcwLCA3NjU3NSwgNzY1NzksIDc2NTg2LCA3NjU5MiwgNzY1OTcsIDc2NjAyLCA3NjYxMCwgCisgICAgNzY2MTgsIDc2NjIyLCA3NjYyNSwgNzY2MjgsIDc2NjMwLCA3NjYzNywgNzY2NDMsIDc2NjU0LCA3NjY1OSwgNzY2NjMsIAorICAgIDc2NjcwLCA3NjY3NiwgNzY2ODEsIDc2Njg5LCA2ODc4MiwgNjg3OTIsIDc2Njk1LCA3NjcwMiwgNzY3MTIsIDExMTY2LCAKKyAgICA3NjcxOSwgNzY3MjQsIDMwNjExLCA3NjczMywgNzY3MzgsIDc2NzQ1LCA3Njc1NSwgNzY3NjMsIDc2NzcxLCA3Njc4MCwgCisgICAgNzY3ODYsIDc2NzkyLCA3Njc5OSwgNzY4MDYsIDc2ODExLCA3NjgxNSwgNzY4MjMsIDc2ODI4LCA3NjgzMywgNzY4NDIsIAorICAgIDc2ODUwLCA3Njg1NywgNzY4NjIsIDc2ODY2LCA3Njg3NSwgNzY4ODEsIDc2ODg0LCA3Njg4OCwgNzY4OTcsIDc2OTA3LCAKKyAgICA3NTM0NywgNzY5MTYsIDc2OTI0LCA3NjkyOCwgNzY5MzQsIDc2OTQ1LCA3Njk1NSwgMTg0NjYsIDc2OTY2LCA3Njk3NCwgCisgICAgNzY5ODIsIDE4NDc4LCA3Njk4OSwgNzY5OTMsIDc3MDAyLCA3NzAwOSwgNzcwMTIsIDI4NjE0LCA3NzAxNSwgNzcwMTksIAorICAgIDc3MDI0LCA3NzA0MSwgNzcwNTMsIDExMTI0LCA3NzA2NSwgNzcwNzAsIDc3MDc1LCA3NzA4MCwgMjE5ODMsIDc3MDg0LCAKKyAgICA3NzA4OSwgNzcwOTQsIDc3MTAwLCA3NzEwNSwgNjAwOCwgNzcxMTAsIDIxOTg3LCA3NzExNSwgNzcxMjAsIDc3MTI2LCAKKyAgICA3NzEzMywgNzcxMzgsIDc3MTQzLCA3NzE0OSwgNzcxNTUsIDc3MTYxLCA3NzE2NiwgNzcxNzIsIDc3MTc2LCA3NzE5MCwgCisgICAgNzcxOTgsIDc3MjA2LCA3NzIxMiwgNzcyMTcsIDc3MjI0LCA3NzIzNCwgNzcyNDMsIDc3MjQ4LCA3NzI1MywgNzcyNTgsIAorICAgIDc3MjY2LCA3NzI3MSwgNzcyNzcsIDc3MjgyLCA3NzI5MSwgNjI4NDgsIDc3Mjk2LCA3NzI5OSwgNzczMTcsIDc3MzM2LCAKKyAgICA3NzM0OSwgNzczNjMsIDc3Mzc5LCA3NzM4NiwgNzczOTMsIDc3NDAyLCA3NzQwOSwgNzc0MTUsIDc3NDIyLCA3NzQyNywgCisgICAgNzc0MzMsIDc3NDM5LCA3NzQ0NywgNzc0NTMsIDc3NDU4LCA3NzQ2MywgNzc0NzksIDExMTM3LCA3NzQ5MywgNzc1MDAsIAorICAgIDc3NTA4LCA3NzUxNCwgNzc1MTgsIDc3NTIxLCA3NzUyNiwgNzc1MzEsIDc3NTM4LCA3NzU0MywgNzc1NTIsIDc3NTU3LCAKKyAgICA3NzU2MywgNzc1NjksIDc3NTc4LCA3NzU4NywgNzc1OTIsIDc3NTk2LCA3NzYwNCwgNzc2MTMsIDEyMzMwLCA3NzYyMiwgCisgICAgNzc2MzAsIDc3NjM2LCA3NzY0MSwgNzc2NDgsIDc3NjU0LCAxMjM0MSwgNzc2NTksIDc3NjYyLCA3NzY2NywgMzQyOTQsIAorICAgIDc3Njc3LCA3NzY4NiwgNzc2OTEsIDc3Njk3LCA3NzcwMiwgNzc3MTAsIDc3NzE3LCA3NzcyOCwgNzc3MzgsIDc3NzQzLCAKKyAgICA3Nzc1MSwgNjgxNzEsIDc3NzU2LCA3Nzc2MiwgNzc3NjcsIDc3Nzc0LCA3Nzc4MywgNzc3OTEsIDc3Nzk3LCA3NzgwMywgCisgICAgNzc4MTAsIDc3ODE2LCA3NzgyMCwgMTc4NzksIDMwOTAsIDc3ODI1LCA3NzgyOSwgNzc4MzMsIDc3ODM5LCA3Nzg0OCwgCisgICAgNzc4NTQsIDc3ODYxLCA3Nzg2NSwgNzc4ODYsIDc3OTA4LCA3NzkyNCwgNzc5NDEsIDc3OTYwLCA3Nzk2OSwgNzc5NzksIAorICAgIDc3OTg3LCA3Nzk5NCwgNzgwMDEsIDc4MDA3LCAyODQ4NiwgNzgwMjEsIDc4MDI1LCA3ODAzMSwgNzgwMzksIDc4MDUxLCAKKyAgICA3ODA1NywgNzgwNjUsIDc4MDcwLCA3ODA3NSwgNzgwNzksIDc4MDg3LCA3ODA5NCwgNzgwOTgsIDc4MTA0LCA3ODExMCwgCisgICAgNzgxMTUsIDM2NzQsIDQ0ODk4LCA3ODEyMSwgNzgxMjUsIDc4MTI5LCA3ODEzMywgNzgxMzgsIDc4MTQzLCA3ODE0OCwgCisgICAgNzgxNTQsIDc4MTYwLCA3ODE2NiwgNzgxNzMsIDc4MTc5LCA3ODE4NiwgNzgxOTIsIDc4MTk4LCA3ODIwMywgNzgyMDksIAorICAgIDc4MjE0LCA3ODIxOCwgNzgyMjMsIDc4MjI3LCA3ODIzMiwgNDQ5MTMsIDc4MjM2LCA3ODI0MSwgNzgyNDksIDc4MjUzLCAKKyAgICA3ODI1OCwgNzgyNjUsIDc4Mjc0LCA3ODI4MCwgNzgyODksIDc4MjkzLCA3ODMwMCwgNzgzMDQsIDc4MzA3LCA3ODMxNCwgCisgICAgNzgzMjAsIDc4MzI5LCA3ODMzOSwgNzgzNDQsIDc4MzQ4LCA3ODM1NiwgNzgzNjUsIDc4MzY5LCA3ODM3NywgNzgzODMsIAorICAgIDc4Mzg4LCA3ODM5MywgNzgzOTksIDc4NDA1LCA3ODQxMCwgNzg0MTQsIDc4NDIwLCA3ODQyNSwgNzg0MjksIDc4NDMyLCAKKyAgICA3ODQzNywgNzg0NDUsIDc4NDU1LCA3ODQ2MSwgNzg0NjYsIDc4NDc2LCA0MjIzMSwgNzg0ODQsIDc4NDk2LCA3ODUwMCwgCisgICAgNzg1MDYsIDc4NTE4LCA3ODUyOSwgNzg1MzYsIDc4NTQyLCA3ODU0OSwgNzg1NTYsIDc4NTY4LCA3ODU3NSwgNzg1ODEsIAorICAgIDIyMDYxLCA3ODU4NSwgNzg1OTMsIDc4NTk5LCA3ODYwNiwgNzg2MTIsIDc4NjE4LCA3ODYyNCwgNzg2MjksIDc4NjM0LCAKKyAgICA3ODYzOSwgNzg2NDgsIDc4NjU2LCA3ODY2NywgNzIyNSwgNzg2NzIsIDE3MzI4LCA3ODY3OCwgNzg2ODIsIDc4Njg2LCAKKyAgICA3ODY5MCwgNzg2OTgsIDc4NzA3LCA3ODcxMSwgNzg3MTgsIDc4NzI3LCA3ODczNSwgNzg3NDgsIDc4NzU0LCA3ODIyOCwgCisgICAgMzE0OTUsIDc4NzU5LCA3ODc2MSwgNzg3NjYsIDc4NzcxLCA3ODc3NiwgNzg3ODEsIDc4Nzg2LCA3ODc5MSwgNzg3OTYsIAorICAgIDc4ODAxLCA3ODgwNiwgNzg4MTEsIDc4ODE2LCA3ODgyMSwgNzg4MjYsIDc4ODMxLCA3ODgzNywgNzg4NDIsIDc4ODQ3LCAKKyAgICA3ODg1MiwgNzg4NTcsIDc4ODYyLCA3ODg2NywgNzg4NzIsIDc4ODc3LCA3ODg4MywgNzg4ODksIDc4ODk1LCA3ODkwMCwgCisgICAgNzg5MDUsIDc4OTE3LCA3ODkyMiwgMTg3NywgNDQsIDc4OTI3LCA3ODkzMiwgMzQzMDAsIDc4OTM2LCAzNDMwNSwgMzQzMTAsIAorICAgIDM0MzE2LCAzNDMyMSwgNzg5NDAsIDM0MzI2LCAyMzA4OCwgNzg5NjIsIDc4OTY2LCA3ODk3MCwgNzg5NzUsIDc4OTc5LCAKKyAgICAzNDMzMCwgNzg5ODMsIDc4OTkxLCA3ODk5OCwgMzQzMzUsIDc5MDA0LCA3OTAwNywgNzkwMTIsIDc5MDE2LCA3OTAyNSwgCisgICAgMTAwMTgsIDc5MDMzLCAzNDM0MCwgMjI5NTAsIDc5MDM2LCA3OTA0MCwgMTQxMSwgNzkwNDUsIDM0MzUxLCA3OTA0OCwgCisgICAgNzkwNTMsIDI2OTIxLCAyNjkzMSwgMzY5NTcsIDc5MDU4LCA3OTA2MywgNzkwNjgsIDc5MDczLCA3OTA3OSwgNzkwODQsIAorICAgIDc5MDkzLCA3OTA5OCwgNzkxMDcsIDc5MTE1LCA3OTEyMiwgNzkxMjgsIDc5MTMzLCA3OTEzOCwgNzkxNDMsIDc5MTUzLCAKKyAgICA3OTE2MiwgNzkxNzAsIDc5MTc1LCA3OTE4MywgNzkxODcsIDc5MTk1LCA3OTE5OSwgNzkyMDYsIDc5MjE0LCAzNDE1OSwgCisgICAgMzk5MjIsIDc5MjIxLCA3OTIyNywgNzkyMzIsIDc5MjM3LCAxMjcwMywgMjk2NzEsIDc5MjQyLCA3OTI0NywgNzkyNTQsIAorICAgIDc5MjYwLCA3OTI2NSwgNzkyNzMsIDc5MjgzLCA3OTI5MywgNzkyOTksIDc5MzA0LCA3OTMxMCwgMTg0ODgsIDc5MzE3LCAKKyAgICAzNzgzMiwgNzkzMzAsIDc5MzM1LCA3OTM0MSwgMzI0ODIsIDc5MzU0LCA3OTM2MCwgNzkzNjQsIDc5MzczLCA3OTM4MCwgCisgICAgNzkzODYsIDc5Mzk0LCA3OTQwMywgNzk0MTAsIDc5NDE2LCA3OTQxOSwgNzk0MjMsIDc5NDI3LCAyNzA2MiwgNzk0MzEsIAorICAgIDc5NDM4LCA3OTQ0NCwgNzk0NTIsIDc5NDU3LCAyNTEwMCwgNzk0NjMsIDc5NDY2LCA3OTQ3NCwgNzk0ODEsIDc5NDg5LCAKKyAgICA3OTUwMiwgNzk1MTYsIDc5NTIzLCA3OTUyOSwgNzk1MzYsIDc5NTQyLCAzNDM2NSwgNzk1NDYsIDc5NTUzLCA3OTU2MSwgCisgICAgNzk1NjksIDc5NTc1LCAzNDM3MCwgNzk1ODMsIDc5NTg5LCA3OTU5NCwgNzk2MDQsIDc5NjEwLCA3OTYxOSwgMzIyODgsIAorICAgIDM2Mzg4LCA3OTYyNywgNzk2MzIsIDc5NjM3LCA3OTY0MSwgNzk2NDYsIDc5NjUwLCA3OTY1OCwgMTU3MzAsIDQyMjQ0LCAKKyAgICA3OTY2MywgNzk2NjgsIDM0Mzc1LCA2NTQwNywgNzk2NzIsIDc5Njc3LCA3OTY4MSwgNzk2ODgsIDc5Njk3LCA3OTcwNSwgCisgICAgNzk3MTEsIDc5NzE2LCA3OTcyMiwgNzk3MjksIDc5NzM1LCA3OTc0MCwgNzk3NDUsIDc5NzU2LCA3OTc2NSwgNzk3NzcsIAorICAgIDc5NzkyLCAzNDY0MiwgNzk3OTgsIDE3NDQ3LCAzNDM3OSwgNzk4MDIsIDc5ODA5LCAyNTIxNiwgNzk4MTUsIDc5ODIyLCAKKyAgICA3OTgzMSwgNzk4MzgsIDc5ODQ3LCA3OTg1MywgNzk4NTgsIDc5ODY2LCA3OTg3MiwgMzQzODksIDc5ODc3LCA3OTg4NiwgCisgICAgNzg1MjQsIDc5ODk1LCA3OTkwMiwgNzk5MDgsIDc5OTE0LCA3OTkyMywgNzk5MzMsIDc5OTQxLCA3OTk0OCwgNzk5NTIsIAorICAgIDM0Mzk0LCA3OTk1NSwgMzQ0MDAsIDM0NDA2LCA3OTk2MCwgNzk5NjgsIDc5OTc2LCA3OTk4NiwgNzk5OTUsIDgwMDAzLCAKKyAgICA4MDAxMCwgODAwMjAsIDM0NDExLCA4MDAyNCwgODAwMjYsIDgwMDMwLCA4MDAzNSwgODAwMzksIDgwMDQzLCA4MDA0OSwgCisgICAgODAwNTQsIDgwMDU4LCA4MDA2OSwgODAwNzQsIDgwMDc5LCAzMDk1LCA4MDA4MywgODAwOTAsIDgwMDk0LCA4MDEwMywgCisgICAgODAxMTEsIDgwMTE4LCA4MDEyMywgODAxMjgsIDY1NDU4LCA4MDEzMiwgODAxMzUsIDgwMTQxLCA4MDE0OSwgODAxNTUsIAorICAgIDgwMTU5LCA4MDE2NCwgODAxNzEsIDgwMTc2LCA4MDE4MCwgODAxODYsIDM2NDE5LCA4MDE5MSwgODAxOTQsIDgwMTk5LCAKKyAgICA4MDIwMywgODAyMDgsIDgwMjE1LCA4MDIyMCwgODAyMjQsIDQwODE2LCA4MDIzMiwgMjY5NDAsIDI2OTQ5LCA4MDIzOCwgCisgICAgODAyNDQsIDgwMjUwLCA4MDI1NSwgODAyNTksIDgwMjYyLCA4MDI3MiwgODAyODEsIDgwMjg2LCA4MDI5MiwgODAyOTksIAorICAgIDgwMzA1LCA4MDMwOSwgODAzMTcsIDgwMzIyLCAzNjQyNSwgNzU1NDIsIDgwMzI2LCA4MDMzNCwgODAzNDAsIDgwMzQ3LCAKKyAgICA4MDM1MiwgODAzNTYsIDgwMzYxLCA2MTQxOSwgODAzNjcsIDM2NDMxLCA4MDM3MiwgODAzNzcsIDgwMzgxLCA4MDM4NiwgCisgICAgODAzOTEsIDgwMzk2LCA4MDQwMCwgODA0MDUsIDgwNDEwLCA4MDQxNiwgODA0MjEsIDgwNDI2LCA4MDQzMiwgODA0MzgsIAorICAgIDgwNDQzLCA4MDQ0NywgODA0NTIsIDgwNDU3LCA4MDQ2MiwgODA0NjYsIDI1MjE1LCA4MDQ3MSwgODA0NzYsIDgwNDgyLCAKKyAgICA4MDQ4OCwgODA0OTQsIDgwNDk5LCA4MDUwMywgODA1MDgsIDgwNTEzLCA4MDUxOCwgODA1MjIsIDgwNTI3LCA4MDUzMiwgCisgICAgODA1MzcsIDgwNTQyLCA0NTE2OCwgODA1NDYsIDM0NDE5LCA4MDU1NCwgODA1NTgsIDgwNTY2LCA4MDU3NCwgODA1ODUsIAorICAgIDgwNTkwLCA4MDU5NCwgMjM0MjgsIDgwNTk5LCA4MDYwNSwgODA2MTAsIDgwNjIwLCA4MDYyNywgODA2MzIsIDgwNjQwLCAKKyAgICA4MDY0OSwgODA2NTQsIDgwNjU4LCA4MDY2MywgODA2NzEsIDgwNjc5LCA4MDY4NiwgNjg0MjQsIDgwNjkyLCA4MDcwMCwgCisgICAgODA3MDcsIDgwNzE4LCA4MDcyNCwgODA3MzAsIDM0NDI5LCA4MDczMywgODA3NDAsIDgwNzQ4LCA4MDc1MywgNDI0NDcsIAorICAgIDgwNzU3LCA4MDc2MiwgODA3NjksIDgwNzc0LCA5MjM5LCA4MDc3OCwgODA3ODYsIDgwNzkzLCA4MDgwMCwgODA4MDksIAorICAgIDgwODE2LCA4MDgyMiwgODA4MzYsIDEwNDczLCA4MDg0NCwgODA4NTAsIDgwODU0LCA4MDg1NywgODA4NjUsIDgwODcyLCAKKyAgICA4MDg3NywgODA4OTAsIDgwODk3LCA4MDkwMSwgODA5MDYsIDgwOTEzLCA4MDkxOCwgNjM5MzQsIDgwOTIzLCA4MDkyNiwgCisgICAgODA5MzMsIDgwOTM5LCA4MDk0MywgODA5NTEsIDgwOTYwLCA4MDk3MCwgODA5ODAsIDgwOTg5LCA4MTAwMCwgODEwMDgsIAorICAgIDgxMDE5LCA4MTAyNCwgODEwMjgsIDgxMDMzLCA4MTAzNywgMzcwODgsIDgxMDQ1LCAyMjM1NiwgMzcwOTcsIDgxMDUwLCAKKyAgICA4MTA1NSwgODEwNjAsIDgxMDY1LCA4MTA3MCwgODEwNzUsIDgxMDgwLCA4MTA4NCwgODEwODksIDgxMDk0LCA4MTA5OSwgCisgICAgODExMDQsIDgxMTA5LCA4MTExNCwgODExMTgsIDgxMTIzLCA4MTEyOCwgODExMzIsIDgxMTM2LCA4MTE0MCwgODExNDQsIAorICAgIDgxMTQ5LCA4MTE1NCwgODExNTgsIDgxMTYzLCA4MTE2NywgODExNzEsIDgxMTc2LCA4MTE4MSwgODExODYsIDgxMTkxLCAKKyAgICA4MTE5NSwgODEyMDAsIDgxMjA1LCA4MTIwOSwgODEyMTQsIDgxMjE5LCA4MTIyNCwgODEyMjksIDgxMjM0LCA4MTIzOSwgCisgICAgODEyNDQsIDgxMjQ5LCA4MTI1NCwgODEyNTksIDgxMjY0LCA4MTI2OSwgODEyNzQsIDgxMjc5LCA4MTI4NCwgODEyODksIAorICAgIDgxMjk0LCA4MTI5OSwgODEzMDQsIDgxMzA5LCA4MTMxMywgODEzMTgsIDgxMzIzLCA4MTMyOCwgODEzMzMsIDgxMzM4LCAKKyAgICA4MTM0MywgODEzNDgsIDgxMzUzLCA4MTM1OCwgODEzNjMsIDgxMzY4LCA4MTM3MiwgODEzNzcsIDgxMzgxLCA4MTM4NiwgCisgICAgODEzOTEsIDgxMzk2LCA4MTQwMSwgODE0MDYsIDgxNDExLCA4MTQxNiwgODE0MjEsIDgxNDI2LCA4MTQzMCwgODE0MzQsIAorICAgIDgxNDM5LCA4MTQ0NCwgODE0NDgsIDgxNDUzLCA4MTQ1OCwgODE0NjIsIDgxNDY3LCA4MTQ3MiwgODE0NzcsIDgxNDgyLCAKKyAgICA4MTQ4NiwgODE0OTEsIDgxNDk2LCA4MTUwMCwgODE1MDUsIDgxNTA5LCA4MTUxMywgODE1MTcsIDgxNTIxLCA4MTUyNiwgCisgICAgODE1MzAsIDgxNTM0LCA4MTUzOCwgODE1NDIsIDgxNTQ2LCA4MTU1MCwgODE1NTQsIDgxNTU4LCA4MTU2MiwgODE1NjcsIAorICAgIDgxNTcyLCA4MTU3NywgODE1ODIsIDgxNTg3LCA4MTU5MiwgODE1OTcsIDgxNjAyLCA4MTYwNywgODE2MTIsIDgxNjE2LCAKKyAgICA4MTYyMCwgODE2MjQsIDgxNjI4LCA4MTYzMiwgODE2MzYsIDgxNjQxLCA4MTY0NSwgODE2NTAsIDgxNjU0LCA4MTY1OSwgCisgICAgODE2NjQsIDgxNjY4LCA4MTY3MiwgODE2NzcsIDgxNjgxLCA4MTY4NSwgODE2ODksIDgxNjkzLCA4MTY5NywgODE3MDEsIAorICAgIDgxNzA1LCA4MTcwOSwgODE3MTMsIDgxNzE3LCA4MTcyMSwgODE3MjUsIDgxNzI5LCA4MTczMywgODE3MzgsIDgxNzQzLCAKKyAgICA4MTc0NywgODE3NTEsIDgxNzU1LCA4MTc1OSwgODE3NjMsIDgxNzY3LCA4MTc3MiwgODE3NzYsIDgxNzgwLCA4MTc4NCwgCisgICAgODE3ODgsIDgxNzkyLCA4MTc5NiwgODE4MDEsIDgxODA1LCA4MTgxMCwgODE4MTQsIDgxODE4LCA4MTgyMiwgODE4MjYsIAorICAgIDgxODMwLCA4MTgzNCwgODE4MzgsIDgxODQyLCA4MTg0NiwgODE4NTAsIDgxODU0LCA4MTg1OSwgODE4NjMsIDgxODY3LCAKKyAgICA4MTg3MSwgODE4NzUsIDgxODc5LCA4MTg4MywgODE4ODcsIDgxODkxLCA4MTg5NSwgODE4OTksIDgxOTAzLCA4MTkwOCwgCisgICAgODE5MTIsIDgxOTE2LCA4MTkyMSwgODE5MjYsIDgxOTMwLCA4MTkzNCwgODE5MzgsIDgxOTQyLCA4MTk0NiwgODE5NTAsIAorICAgIDgxOTU0LCA4MTk1OCwgODE5NjMsIDgxOTY3LCA4MTk3MiwgODE5NzYsIDgxOTgxLCA4MTk4NSwgODE5OTAsIDgxOTk0LCAKKyAgICA4MjAwMCwgODIwMDUsIDgyMDA5LCA4MjAxNCwgODIwMTgsIDgyMDIzLCA4MjAyNywgODIwMzIsIDgyMDM2LCA4MjA0MSwgCisgICAgMTUwNCwgODIwNDUsIDI4NTQsIDE3NTksIDE2NzcsIDgyMDQ5LCA4MjA1MywgMjg2MywgODIwNTcsIDEzODAsIDgyMDYyLCAKKyAgICAxMzIyLCA4MjA2NiwgMjg3NSwgODIwNzAsIDgyMDc3LCA4MjA4NCwgODIwOTgsIDI4NzksIDczMjcsIDgyMTA3LCA4MjExNSwgCisgICAgODIxMjIsIDgyMTMzLCA4MjE0MiwgODIxNDksIDgyMTYxLCA4MjE3NCwgODIxODcsIDgyMTk4LCA4MjIwMywgODIyMTAsIAorICAgIDgyMjIyLCA4MjIyNiwgMjg4MywgMTI0MDgsIDgyMjM2LCA4MjI0MSwgODIyNTAsIDgyMjYwLCA4MjI2NSwgMjg4NywgCisgICAgODIyNzMsIDgyMjc3LCA4MjI4MiwgODIyODksIDgyMjk1LCA4MjMwMywgODIzMTUsIDEzMjcsIDEzNzM1LCA4MjMyNSwgCisgICAgODIzMjksIDgyMzM1LCA4MjM0OSwgODIzNjEsIDgyMzczLCA4MjM4MywgODIzOTIsIDgyNDAxLCA4MjQxMCwgODI0MTgsIAorICAgIDgyNDI5LCA4MjQzNywgNDIwMywgODI0NDcsIDgyNDU4LCA4MjQ2NywgODI0NzMsIDgyNDg4LCA4MjQ5NSwgODI1MDEsIAorICAgIDgyNTA2LCAzNzIyNywgODI1MTEsIDI5MTEsIDEzNzM5LCA4MjUxNSwgODI1MjIsIDkxNzcsIDgyNTMxLCAyOTE2LCAzMzg4NywgCisgICAgODI1MzcsIDYzNjc1LCA4MjU0NCwgODI1NTAsIDgyNTYxLCA4MjU2NywgODI1NzQsIDgyNTgwLCA4MjU4OCwgODI1OTUsIAorICAgIDgyNjAxLCA4MjYxMSwgODI2MjAsIDgyNjMxLCA4MjY0MCwgODI2NDcsIDgyNjUzLCA4MjY2MywgODI2NzEsIDgyNjc3LCAKKyAgICA4MjY5MiwgODI2OTgsIDgyNzAzLCA4MjcxMCwgODI3MTMsIDgyNzE5LCA4MjcyNiwgODI3MzIsIDgyNzQwLCA4Mjc0OSwgCisgICAgODI3NTcsIDgyNzYzLCA4Mjc3MiwgNDQ0MzgsIDgyNzg2LCA4Mjc5MSwgODI3OTcsIDE1NTM2LCA4MjgwMiwgODI4MTUsIAorICAgIDgyODI3LCA4MjgzNiwgODI4NDQsIDgyODUxLCA4Mjg1NSwgODI4NTksIDgyODYyLCA4Mjg2OSwgODI4NzYsIDgyODg0LCAKKyAgICA4Mjg5MiwgODI5MDEsIDgyOTA5LCAxNTQ2MywgODI5MTcsIDgyOTIyLCA4MjkyNiwgODI5MzgsIDgyOTQ1LCA4Mjk1NCwgCisgICAgNzgxLCA4Mjk2NCwgODI5NzMsIDgyOTg0LCAyOTMyLCA4Mjk4OCwgODI5OTIsIDgyOTk4LCA4MzAxMSwgODMwMjMsIDgzMDMzLCAKKyAgICA4MzA0MiwgODMwNTQsIDI3NTk3LCA4MzA2NSwgODMwNzMsIDgzMDgyLCA4MzA5MywgODMxMDQsIDgzMTE0LCA4MzEyNCwgCisgICAgODMxMzMsIDgzMTQxLCAxMTk0NCwgODMxNDgsIDgzMTUyLCA4MzE1NSwgODMxNjAsIDgzMTY1LCA4MzE2OSwgODMxNzUsIAorICAgIDEzMzIsIDgzMTgyLCA4MzE4NiwgMTI0OTAsIDgzMTkwLCA4MzIwMSwgODMyMTAsIDgzMjE4LCA4MzIyNywgODMyMzUsIAorICAgIDgzMjUxLCA4MzI2MiwgODMyNzEsIDgzMjc5LCA4MzI5MSwgODMzMDIsIDgzMzE4LCA4MzMyOCwgODMzNDksIDgzMzYzLCAKKyAgICA4MzM3NiwgODMzODQsIDgzMzkxLCA3MzczLCA4MzQwNCwgODM0MDksIDgzNDE1LCA2MDc4LCA4MzQyMSwgODM0MjQsIAorICAgIDgzNDMxLCA4MzQ0MSwgODM5NSwgODM0NDgsIDgzNDUzLCA4MzQ1OCwgODM0NjMsIDgzNDcxLCA4MzQ4MCwgODM0ODgsIAorICAgIDEwMjQxLCAxMDI1MCwgODM0OTMsIDgzNTA0LCA4MzUwOSwgODM1MTUsIDI5NDgsIDExNjAsIDgzNTIxLCAxMTQ0OSwgCisgICAgODM1MjcsIDgzNTM0LCA4MzU0MSwgODM1NTQsIDIyNjIsIDY4LCA4MzU1OSwgODM1NjQsIDgzNTc0LCA4MzU4MywgODM1ODksIAorICAgIDgzNTk4LCA4MzYwNiwgODM2MTYsIDgzNjIwLCA4MzYyNSwgODM2MjksIDgzNjQxLCAyOTc2LCA4MzY0OSwgODM2NTcsIAorICAgIDgzNjYyLCA4MzY3MywgODM2ODQsIDgzNjkzLCAyMjM5NywgODM2OTgsIDgzNzA0LCA4MzcwOSwgODM3MTksIDgzNzI5LCAKKyAgICA4MzczNCwgODM3NDAsIDgzNzQ0LCA4Mzc0OSwgODM3NTgsIDIyNDA5LCA4Mzc2MiwgNDI4MCwgMjQsIDgzNzY3LCA4Mzc3NiwgCisgICAgODM3ODMsIDgzNzkwLCA4Mzc5NiwgODM4MDIsIDk1NCwgODM4MDcsIDgzODEyLCA2NDAxNiwgODM4MTcsIDgzODIyLCAKKyAgICA4MzgyOCwgODM4MzQsIDgzODQyLCA4Mzg0NywgODM4NTUsIDgzODYyLCA4Mzg2OCwgODM4NzMsIDQwNzAwLCA0NDMzMiwgCisgICAgODM4NzksIDI5ODAsIDMyLCA4Mzg4OSwgODM5MDIsIDgzOTA3LCA4MzkxNSwgODM5MjAsIDgzOTI2LCAzMDAyLCAyOTYzOSwgCisgICAgODM5MzEsIDgzOTM5LCA4Mzk0NiwgODM5NTEsIDgzOTYwLCA2MTY2MSwgNjUwNzgsIDgzOTY4LCA4Mzk3MiwgMTcwNCwgCisgICAgMTgxOCwgODM5NzcsIDgzOTgyLCA4Mzk4OSwgMTgyMiwgMjU0LCA4Mzk5NiwgODQwMDIsIDMwMjQsIDg0MDA3LCA4NDAxMiwgCisgICAgODQwMTksIDE4MjYsIDg0MDI0LCA4NDAzMCwgODQwMzUsIDg0MDQ3LCA2MzA1LCA4NDA1NywgMTgzMywgODQwNjMsIDg0MDY4LCAKKyAgICA4NDA3NSwgODQwODIsIDg0MDk3LCA4NDEwNCwgODQxMTUsIDg0MTIwLCA4NDEyOCwgMjYzOCwgODQxMzIsIDg0MTQ0LCAKKyAgICA4NDE0OSwgODQxNTMsIDg0MTU5LCAyOTQ1NSwgMjI2NywgODQxNjMsIDg0MTc0LCA4NDE3OCwgODQxODIsIDg0MTg4LCAKKyAgICA4NDE5MiwgODQyMDEsIDg0MjA1LCA4NDIxNiwgODQyMjAsIDIzMTMsIDMzNzA0LCA4NDIyNCwgODQyMzQsIDMxMTUsIAorICAgIDg0MjQyLCA5NjYxLCA4NDI1MSwgODQyNTYsIDg0MjYwLCA4NDI2OSwgODQyNzYsIDg0MjgyLCAzMDg1LCAxODA5MywgCisgICAgODQyODYsIDg0Mjk5LCA4NDMxNywgODQzMjIsIDg0MzMwLCA4NDMzOCwgODQzNDgsIDEwNDgwLCAxMzg1MiwgODQzNjAsIAorICAgIDg0MzczLCA4NDM4MCwgODQzOTQsIDg0NDAxLCA4NDQxNywgODQ0MjQsIDg0NDMwLCAyMjQ0MSwgMTMxMDAsIDg0NDM3LCAKKyAgICA4NDQ0NCwgODQ0NTQsIDg0NDYzLCA0NTE2NywgODQ0NzUsIDQ1MzAyLCA4NDQ4MywgODQ0ODYsIDg0NDkyLCA4NDQ5OCwgCisgICAgODQ1MDQsIDg0NTEwLCA4NDUxNiwgODQ1MjMsIDg0NTMwLCA4NDUzNiwgODQ1NDIsIDg0NTQ4LCA4NDU1NCwgODQ1NjAsIAorICAgIDg0NTY2LCA4NDU3MiwgODQ1NzgsIDg0NTg0LCA4NDU5MCwgODQ1OTYsIDg0NjAyLCA4NDYwOCwgODQ2MTQsIDg0NjIwLCAKKyAgICA4NDYyNiwgODQ2MzIsIDg0NjM4LCA4NDY0NCwgODQ2NTAsIDg0NjU2LCA4NDY2MiwgODQ2NjgsIDg0Njc0LCA4NDY4MCwgCisgICAgODQ2ODYsIDg0NjkyLCA4NDY5OCwgODQ3MDQsIDg0NzEwLCA4NDcxNiwgODQ3MjIsIDg0NzI4LCA4NDczNCwgODQ3NDAsIAorICAgIDg0NzQ2LCA4NDc1MiwgODQ3NTgsIDg0NzY0LCA4NDc3MCwgODQ3NzYsIDg0NzgyLCA4NDc4OCwgODQ3OTQsIDg0ODAwLCAKKyAgICA4NDgwNiwgODQ4MTIsIDg0ODE4LCA4NDgyNCwgODQ4MzAsIDg0ODM2LCA4NDg0MywgODQ4NDksIDg0ODU2LCA4NDg2MywgCisgICAgODQ4NjksIDg0ODc2LCA4NDg4MywgODQ4ODksIDg0ODk1LCA4NDkwMSwgODQ5MDcsIDg0OTEzLCA4NDkxOSwgODQ5MjUsIAorICAgIDg0OTMxLCA4NDkzNywgODQ5NDMsIDg0OTQ5LCA4NDk1NSwgODQ5NjEsIDg0OTY3LCA4NDk3MywgMzA5OSwgOTYzNCwgCisgICAgODQ5NzksIDg0OTg1LCA4NDk5MywgODQ5OTcsIDgyMjg1LCAzMTAzLCA4NTAwMSwgMjIxNzQsIDEyNzMzLCAzODg1LCAKKyAgICA4NTAwNSwgMzEwOSwgODUwMDksIDg1MDE5LCA4NTAyNSwgODUwMzEsIDg1MDM3LCA4NTA0MywgODUwNDksIDg1MDU1LCAKKyAgICA4NTA2MSwgODUwNjcsIDg1MDczLCA4NTA3OSwgODUwODUsIDg1MDkxLCA4NTA5NywgODUxMDMsIDg1MTA5LCA4NTExNSwgCisgICAgODUxMjEsIDg1MTI3LCA4NTEzMywgODUxMzksIDg1MTQ1LCA4NTE1MSwgODUxNTcsIDg1MTYzLCA4NTE2OSwgODUxNzYsIAorICAgIDg1MTgzLCA4NTE4OSwgODUxOTUsIDg1MjAxLCA4NTIwNywgODUyMTMsIDg1MjE5LCAxMzM3LCA4NTIyNSwgODUyMzAsIAorICAgIDg1MjM1LCA4NTI0MCwgODUyNDUsIDg1MjUwLCA4NTI1NSwgODUyNjAsIDg1MjY1LCA4NTI2OSwgODUyNzMsIDg1Mjc3LCAKKyAgICA4NTI4MSwgODUyODUsIDg1Mjg5LCA4NTI5MywgODUyOTcsIDg1MzAxLCA4NTMwNywgODUzMTMsIDg1MzE5LCA4NTMyNSwgCisgICAgODUzMjksIDg1MzMzLCA4NTMzNywgODUzNDEsIDg1MzQ1LCA4NTM0OSwgODUzNTMsIDg1MzU3LCA4NTM2MSwgODUzNjYsIAorICAgIDg1MzcxLCA4NTM3NiwgODUzODEsIDg1Mzg2LCA4NTM5MSwgODUzOTYsIDg1NDAxLCA4NTQwNiwgODU0MTEsIDg1NDE2LCAKKyAgICA4NTQyMSwgODU0MjYsIDg1NDMxLCA4NTQzNiwgODU0NDEsIDg1NDQ2LCA4NTQ1MSwgODU0NTYsIDg1NDYxLCA4NTQ2NiwgCisgICAgODU0NzEsIDg1NDc2LCA4NTQ4MSwgODU0ODYsIDg1NDkxLCA4NTQ5NiwgODU1MDEsIDg1NTA2LCA4NTUxMSwgODU1MTYsIAorICAgIDg1NTIxLCA4NTUyNiwgODU1MzEsIDg1NTM2LCA4NTU0MSwgODU1NDYsIDg1NTUxLCA4NTU1NiwgODU1NjEsIDg1NTY2LCAKKyAgICA4NTU3MSwgODU1NzYsIDg1NTgxLCA4NTU4NiwgODU1OTEsIDg1NTk2LCA4NTYwMSwgODU2MDYsIDg1NjExLCA4NTYxNiwgCisgICAgODU2MjEsIDg1NjI2LCA4NTYzMSwgODU2MzYsIDg1NjQxLCA4NTY0NiwgODU2NTEsIDg1NjU2LCA4NTY2MSwgODU2NjYsIAorICAgIDg1NjcxLCA4NTY3NiwgODU2ODEsIDg1Njg2LCA4NTY5MSwgODU2OTYsIDg1NzAxLCA4NTcwNiwgODU3MTEsIDg1NzE2LCAKKyAgICA4NTcyMSwgODU3MjYsIDg1NzMxLCA4NTczNiwgODU3NDEsIDg1NzQ2LCA4NTc1MSwgODU3NTYsIDg1NzYxLCA4NTc2NiwgCisgICAgODU3NzEsIDg1Nzc2LCA4NTc4MSwgODU3ODYsIDg1NzkxLCA4NTc5NiwgODU4MDEsIDg1ODA2LCA4NTgxMSwgODU4MTYsIAorICAgIDg1ODIxLCA4NTgyNiwgODU4MzEsIDg1ODM2LCA4NTg0MSwgODU4NDYsIDg1ODUxLCA4NTg1NiwgODU4NjEsIDg1ODY2LCAKKyAgICA4NTg3MSwgODU4NzYsIDg1ODgxLCA4NTg4NiwgODU4OTEsIDg1ODk2LCA4NTkwMSwgODU5MDYsIDg1OTExLCA4NTkxNiwgCisgICAgODU5MjEsIDg1OTI2LCA4NTkzMSwgODU5MzYsIDg1OTQxLCA4NTk0NiwgODU5NTEsIDg1OTU2LCA4NTk2MSwgODU5NjYsIAorICAgIDg1OTcxLCA4NTk3NiwgODU5ODEsIDg1OTg2LCA4NTk5MSwgODU5OTYsIDg2MDAxLCA4NjAwNiwgODYwMTEsIDg2MDE2LCAKKyAgICA4NjAyMSwgODYwMzAsIDg2MDM5LCA4NjA0OCwgODYwNTcsIDg2MDY2LCA4NjA3NSwgODYwODQsIDg2MDkzLCA4NjEwMiwgCisgICAgODYxMTEsIDg2MTIwLCA4NjEyOSwgODYxMzgsIDg2MTQ3LCA4NjE1NiwgODYxNjUsIDg2MTc0LCA4NjE4MywgODYxOTIsIAorICAgIDg2MTk3LCA4NjIwMiwgODYyMDcsIDg2MjEyLCA4NjIxNywgODYyMjIsIDg2MjI3LCA4NjIzMiwgODYyMzcsIDg2MjQyLCAKKyAgICA4NjI0NywgODYyNTIsIDg2MjU3LCA4NjI2MiwgODYyNjcsIDg2MjcyLCA4NjI3NywgODYyODIsIDg2Mjg3LCA4NjI5MiwgCisgICAgODYyOTcsIDg2MzAyLCA4NjMwNywgODYzMTIsIDg2MzE3LCA4NjMyMiwgODYzMjcsIDg2MzMyLCA4NjMzNywgODYzNDIsIAorICAgIDg2MzQ3LCA4NjM1MiwgODYzNTcsIDg2MzYyLCA4NjM2NywgODYzNzIsIDg2Mzc3LCA4NjM4MiwgODYzODcsIDg2MzkyLCAKKyAgICA4NjM5NywgODY0MDIsIDg2NDA3LCA4NjQxMiwgODY0MTcsIDg2NDIyLCA4NjQyNywgODY0MzIsIDg2NDM3LCA4NjQ0MiwgCisgICAgODY0NDcsIDg2NDUyLCA4NjQ1NywgODY0NjIsIDg2NDY3LCA4NjQ3MiwgODY0NzcsIDg2NDgyLCA4NjQ4OCwgODY0OTQsIAorICAgIDg2NTAwLCA4NjUwNSwgODY1MTAsIDg2NTE1LCA4NjUyMSwgODY1MjcsIDg2NTMzLCA4NjUzOCwgODY1NDMsIDg2NTQ4LCAKKyAgICA4NjU1MywgODY1NTgsIDg2NTYzLCA4NjU2OCwgMTY5MjIsIDEyNzU1LCA4NjU3MywgODY1NzksIDg2NTg1LCA4NjU5NCwgCisgICAgODY1OTksIDg2NjA0LCA4NjYwOSwgODY2MTQsIDg2NjE5LCA4NjYyNCwgODY2MjksIDg2NjM0LCA4NjYzOSwgODY2NDQsIAorICAgIDg2NjQ5LCA4NjY1NCwgODY2NTksIDg2NjY0LCA4NjY2OSwgODY2NzQsIDg2Njc5LCA4NjY4NCwgODY2ODksIDg2Njk0LCAKKyAgICA4NjY5OSwgODY3MDQsIDg2NzA5LCA4NjcxNCwgODY3MTksIDg2NzI1LCA4NjczMCwgODY3MzUsIDg2NzQxLCA4Njc0NiwgCisgICAgODY3NTIsIDg2NzU3LCA4Njc2MiwgODY3NjgsIDg2NzczLCA4Njc3OCwgODY3ODMsIDg2Nzg4LCA4Njc5MywgODY3OTgsIAorICAgIDg2ODAzLCA4NjgwOCwgODUwMjAsIDg1MDI2LCA4NTAzMiwgODUwMzgsIDg2ODE0LCA4NTA0NCwgODUwNTAsIDg1MDU2LCAKKyAgICA4NTA2MiwgODUwNjgsIDg1MDc0LCA4NTA4MCwgODUwODYsIDg1MDkyLCA4NTA5OCwgODUxMDQsIDg2ODIwLCA4NTExMCwgCisgICAgODUxMTYsIDg1MTIyLCA4NjgyNiwgODUxMjgsIDg1MTM0LCA4NTE0MCwgODUxNDYsIDg1MTUyLCA4NTE1OCwgODUxNjQsIAorICAgIDg1MTg0LCA4NjgzMiwgODY4MzgsIDg1MTkwLCA4Njg0NCwgODUxOTYsIDg1MjAyLCA4NTIwOCwgODUyMTQsIDg1MjIwLCAKKyAgICAzMTI2LCAzMTMxLCA4Njg1MCwgODY4NTUsIDg2ODU4LCA4Njg2NCwgODY4NzAsIDg2ODc3LCA4Njg4MiwgODY4ODcsIDIzMTgsIAogfTsKIAogLyogY29kZS0+bmFtZSBwaHJhc2Vib29rICovCi0jZGVmaW5lIHBocmFzZWJvb2tfc2hpZnQgNwotI2RlZmluZSBwaHJhc2Vib29rX3Nob3J0IDIwOQorI2RlZmluZSBwaHJhc2Vib29rX3NoaWZ0IDgKKyNkZWZpbmUgcGhyYXNlYm9va19zaG9ydCAyMDQKIHN0YXRpYyB1bnNpZ25lZCBjaGFyIHBocmFzZWJvb2tbXSA9IHsKLSAgICAwLCAyMTksIDIwLCAyNDUsIDM5LCA3OSwgMjI0LCAxLCA3OSwgNTQsIDUwLCAyNDcsIDE0MCwgNTAsIDIyNSwgMTg1LCA1MCwgCi0gICAgMjU0LCAxMzQsIDI1NCwgNjUsIDQzLCAyMjYsIDcsIDQ0LCAyMjYsIDcsIDI1MywgMjI0LCA5NiwgNTAsIDI0OSwgMjI3LCAKLSAgICAyNDAsIDE3NCwgMjQzLCAyMzYsIDIxOCwgMTMxLCAyMTksIDQ4LCAyMSwgMjEwLCA4NiwgMjEsIDExMSwgMjEsIDEwNSwgMjEsIAotICAgIDE1OCwgMjEsIDE2MSwgMjEsIDE5MCwgMjEsIDE5NSwgMjEsIDE5OSwgMjEsIDE5NiwgMjEsIDIwMSwgMjQ5LCAyMzQsIDIyMCwgCi0gICAgMTUyLCAyMzMsIDIxLCA1MCwgMjQ1LCAxMDYsIDUwLCAyNDIsIDEzNywgNTAsIDIyNCwgMTYsIDc5LCAyNDksIDIyNSwgMjUzLCAKLSAgICAyMTQsIDcsIDYsIDEsIDYxLCA3LCA2LCAxLCAyNTMsIDE2NiwgNywgNiwgMSwgMjUxLCA3NCwgNywgNiwgMSwgMjQ5LCA2OCwgCi0gICAgNywgNiwgMSwgNzYsIDcsIDYsIDEsIDI0NSwgMTQsIDcsIDYsIDEsIDI0MywgMjA5LCA3LCA2LCAxLCAyNDIsIDY3LCA3LCA2LCAKLSAgICAxLCA3NCwgNywgNiwgMSwgMjM1LCAxNTAsIDcsIDYsIDEsIDIzNSwgMjksIDcsIDYsIDEsIDE1NiwgNywgNiwgMSwgMTk0LCAKLSAgICA3LCA2LCAxLCAyMzAsIDMwLCA3LCA2LCAxLCA3OCwgNywgNiwgMSwgMjI2LCAxMDksIDcsIDYsIDEsIDIyNCwgOTksIDcsIDYsIAotICAgIDEsIDE1MywgNywgNiwgMSwgMjIyLCA5MywgNywgNiwgMSwgMjE3LCAxNTMsIDcsIDYsIDEsIDY5LCA3LCA2LCAxLCAyMTQsIAotICAgIDEwNSwgNywgNiwgMSwgMjEyLCA5OCwgNywgNiwgMSwgMjExLCAxNzgsIDcsIDYsIDEsIDIxMSwgMTE3LCA3LCA2LCAxLCAKLSAgICAyMTAsIDE1OSwgNDMsIDQyLCAxMjcsIDIyMywgNTMsIDIxOSwgNDgsIDQ0LCA0MiwgMTI3LCAyNTAsIDM5LCAyNTUsIDIzLCAKLSAgICAxMjEsIDIzMiwgMjE5LCAyNDIsIDE0NCwgMjU1LCAyMywgNywgNCwgMSwgNjEsIDcsIDQsIDEsIDI1MywgMTY2LCA3LCA0LCAKLSAgICAxLCAyNTEsIDc0LCA3LCA0LCAxLCAyNDksIDY4LCA3LCA0LCAxLCA3NiwgNywgNCwgMSwgMjQ1LCAxNCwgNywgNCwgMSwgCi0gICAgMjQzLCAyMDksIDcsIDQsIDEsIDI0MiwgNjcsIDcsIDQsIDEsIDc0LCA3LCA0LCAxLCAyMzUsIDE1MCwgNywgNCwgMSwgMjM1LCAKLSAgICAyOSwgNywgNCwgMSwgMTU2LCA3LCA0LCAxLCAxOTQsIDcsIDQsIDEsIDIzMCwgMzAsIDcsIDQsIDEsIDc4LCA3LCA0LCAxLCAKLSAgICAyMjYsIDEwOSwgNywgNCwgMSwgMjI0LCA5OSwgNywgNCwgMSwgMTUzLCA3LCA0LCAxLCAyMjIsIDkzLCA3LCA0LCAxLCAyMTcsIAotICAgIDE1MywgNywgNCwgMSwgNjksIDcsIDQsIDEsIDIxNCwgMTA1LCA3LCA0LCAxLCAyMTIsIDk4LCA3LCA0LCAxLCAyMTEsIDE3OCwgCi0gICAgNywgNCwgMSwgMjExLCAxMTcsIDcsIDQsIDEsIDIxMCwgMTU5LCA0MywgMjQ5LCAxMDcsIDEyNywgNjcsIDIzMiwgMjE5LCAKLSAgICA0NCwgMjQ5LCAxMDcsIDEyNywgMTg0LCAyMjgsIDc4LCAyMTksIDIwLCAyMzUsIDIwMCwgMjQ1LCAzOSwgNzksIDI1MCwgCi0gICAgMTg0LCA1MCwgMjI0LCAyMzEsIDUwLCAyNDksIDEwNiwgNTAsIDIxMSwgNDAsIDUwLCAyNTEsIDE0MywgMTMwLCAyMjEsIAotICAgIDE3NSwgNTAsIDI0OCwgOSwgMjQ5LCAxNzEsIDUwLCAyNDQsIDE0NCwgMjI2LCAxNTgsIDIzNSwgMjQ1LCAyMzMsIDQ4LCA1MiwgCi0gICAgMjU0LCAxMTgsIDIyNCwgMSwgNzksIDIyOCwgNTcsIDUwLCAyMTksIDU0LCAyNDAsIDE3NSwgMjIzLCAxMDUsIDUwLCAyMzEsIAotICAgIDIzNywgMjQ4LCA3OSwgNTAsIDIyNSwgMjQsIDUwLCAyMTgsIDI0LCAxMDUsIDIxOCwgMjQsIDE1OCwgMjU1LCAxMiwgMjU1LCAKLSAgICAyMywgMjMwLCAyMzMsIDUwLCAyMjUsIDcxLCA1MCwgMjMwLCAyMjksIDI0NywgMTI4LCAyNTAsIDE5MSwgMjE4LCAyNCwgCi0gICAgMTExLCAyMzEsIDE1MywgMjI2LCAxNTgsIDIzNSwgMjQ1LCAyMjIsIDI1MCwgNTIsIDI1NCwgMTE4LCAyMjQsIDEsIDc5LCAKLSAgICAyMTIsIDExNCwgMjQ0LCAxMCwgMTIzLCAyMjQsIDI0LCAyMTIsIDExNCwgMjQ0LCAxMCwgMTIzLCAyNDIsIDM0LCAyMTIsIAotICAgIDExNCwgMjQ0LCAxMCwgMTM0LCAyMjQsIDIyLCAyMzUsIDIwMCwgMjI0LCAxNiwgNzksIDcsIDYsIDEsIDExNiwgMiwgMjQyLCAKLSAgICAxNDMsIDcsIDYsIDEsIDExNiwgMiwgMTQyLCA3LCA2LCAxLCAxMTYsIDIsIDI1MCwgMzgsIDcsIDYsIDEsIDExNiwgMiwgCi0gICAgMTg0LCA3LCA2LCAxLCAxMTYsIDIsIDI0OCwgOSwgNywgNiwgMSwgMTE2LCAyLCAyMjIsIDIzNywgNDgsIDcsIDYsIDEsIAotICAgIDI1NCwgMjUyLCA3LCA2LCAxLCAyNTEsIDc1LCAyLCAyNTAsIDE5MSwgNywgNiwgMSwgMTYwLCAyLCAyNDIsIDE0MywgNywgNiwgCi0gICAgMSwgMTYwLCAyLCAxNDIsIDcsIDYsIDEsIDE2MCwgMiwgMjUwLCAzOCwgNywgNiwgMSwgMTYwLCAyLCAyNDgsIDksIDcsIDYsIAotICAgIDEsIDI0MCwgMTYxLCAyLCAyNDIsIDE0MywgNywgNiwgMSwgMjQwLCAxNjEsIDIsIDE0MiwgNywgNiwgMSwgMjQwLCAxNjEsIAotICAgIDIsIDI1MCwgMzgsIDcsIDYsIDEsIDI0MCwgMTYxLCAyLCAyNDgsIDksIDcsIDYsIDEsIDI0NSwgNjcsIDcsIDYsIDEsIDIzMCwgCi0gICAgMzEsIDIsIDE4NCwgNywgNiwgMSwgMTQ0LCAyLCAyNDIsIDE0MywgNywgNiwgMSwgMTQ0LCAyLCAxNDIsIDcsIDYsIDEsIAotICAgIDE0NCwgMiwgMjUwLCAzOCwgNywgNiwgMSwgMTQ0LCAyLCAxODQsIDcsIDYsIDEsIDE0NCwgMiwgMjQ4LCA5LCAyMzAsIDg5LCAKLSAgICA1MCwgNywgNiwgMSwgMTQ0LCAyLCA5MSwgNywgNiwgMSwgMTA0LCAyLCAyNDIsIDE0MywgNywgNiwgMSwgMTA0LCAyLCAxNDIsIAotICAgIDcsIDYsIDEsIDEwNCwgMiwgMjUwLCAzOCwgNywgNiwgMSwgMTA0LCAyLCAyNDgsIDksIDcsIDYsIDEsIDIxMSwgMTE4LCAyLCAKLSAgICAxNDIsIDcsIDYsIDEsIDIxNiwgMTUyLCA3LCA0LCAxLCAyMjAsIDc4LCAyMjIsIDkzLCA3LCA0LCAxLCAxMTYsIDIsIDI0MiwgCi0gICAgMTQzLCA3LCA0LCAxLCAxMTYsIDIsIDE0MiwgNywgNCwgMSwgMTE2LCAyLCAyNTAsIDM4LCA3LCA0LCAxLCAxMTYsIDIsIAotICAgIDE4NCwgNywgNCwgMSwgMTE2LCAyLCAyNDgsIDksIDcsIDQsIDEsIDExNiwgMiwgMjIyLCAyMzcsIDQ4LCA3LCA0LCAxLCAKLSAgICAyNTQsIDI1MiwgNywgNCwgMSwgMjUxLCA3NSwgMiwgMjUwLCAxOTEsIDcsIDQsIDEsIDE2MCwgMiwgMjQyLCAxNDMsIDcsIDQsIAotICAgIDEsIDE2MCwgMiwgMTQyLCA3LCA0LCAxLCAxNjAsIDIsIDI1MCwgMzgsIDcsIDQsIDEsIDE2MCwgMiwgMjQ4LCA5LCA3LCA0LCAKLSAgICAxLCAyNDAsIDE2MSwgMiwgMjQyLCAxNDMsIDcsIDQsIDEsIDI0MCwgMTYxLCAyLCAxNDIsIDcsIDQsIDEsIDI0MCwgMTYxLCAKLSAgICAyLCAyNTAsIDM4LCA3LCA0LCAxLCAyNDAsIDE2MSwgMiwgMjQ4LCA5LCA3LCA0LCAxLCAyNDUsIDY3LCA3LCA0LCAxLCAyMzAsIAotICAgIDMxLCAyLCAxODQsIDcsIDQsIDEsIDE0NCwgMiwgMjQyLCAxNDMsIDcsIDQsIDEsIDE0NCwgMiwgMTQyLCA3LCA0LCAxLCAKLSAgICAxNDQsIDIsIDI1MCwgMzgsIDcsIDQsIDEsIDE0NCwgMiwgMTg0LCA3LCA0LCAxLCAxNDQsIDIsIDI0OCwgOSwgMjQ3LCAxNzcsIAotICAgIDUwLCA3LCA0LCAxLCAxNDQsIDIsIDkxLCA3LCA0LCAxLCAxMDQsIDIsIDI0MiwgMTQzLCA3LCA0LCAxLCAxMDQsIDIsIDE0MiwgCi0gICAgNywgNCwgMSwgMTA0LCAyLCAyNTAsIDM4LCA3LCA0LCAxLCAxMDQsIDIsIDI0OCwgOSwgNywgNCwgMSwgMjExLCAxMTgsIDIsIAotICAgIDE0MiwgNywgNCwgMSwgMjE2LCAxNTIsIDcsIDQsIDEsIDIxMSwgMTE4LCAyLCAyNDgsIDksIDcsIDYsIDEsIDExNiwgMiwgCi0gICAgMjMxLCAyMzcsIDcsIDQsIDEsIDExNiwgMiwgMjMxLCAyMzcsIDcsIDYsIDEsIDExNiwgMiwgMjUxLCAxNTQsIDcsIDQsIDEsIAotICAgIDExNiwgMiwgMjUxLCAxNTQsIDcsIDYsIDEsIDExNiwgMiwgMjI2LCAyMjgsIDcsIDQsIDEsIDExNiwgMiwgMjI2LCAyMjgsIAotICAgIDcsIDYsIDEsIDI1MSwgNzUsIDIsIDE0MiwgNywgNCwgMSwgMjUxLCA3NSwgMiwgMTQyLCA3LCA2LCAxLCAyNTEsIDc1LCAyLCAKLSAgICAyNTAsIDM4LCA3LCA0LCAxLCAyNTEsIDc1LCAyLCAyNTAsIDM4LCA3LCA2LCAxLCAyNTEsIDc1LCAyLCA1OSwgNDgsIDcsIDQsIAotICAgIDEsIDI1MSwgNzUsIDIsIDU5LCA0OCwgNywgNiwgMSwgMjUxLCA3NSwgMiwgMjUwLCAyNDIsIDcsIDQsIDEsIDI1MSwgNzUsIAotICAgIDIsIDI1MCwgMjQyLCA3LCA2LCAxLCAyNDksIDY5LCAyLCAyNTAsIDI0MiwgNywgNCwgMSwgMjQ5LCA2OSwgMiwgMjUwLCAKLSAgICAyNDIsIDcsIDYsIDEsIDI0OSwgNjksIDIsIDkxLCA3LCA0LCAxLCAyNDksIDY5LCAyLCA5MSwgNywgNiwgMSwgMTYwLCAyLCAKLSAgICAyMzEsIDIzNywgNywgNCwgMSwgMTYwLCAyLCAyMzEsIDIzNywgNywgNiwgMSwgMTYwLCAyLCAyNTEsIDE1NCwgNywgNCwgMSwgCi0gICAgMTYwLCAyLCAyNTEsIDE1NCwgNywgNiwgMSwgMTYwLCAyLCA1OSwgNDgsIDcsIDQsIDEsIDE2MCwgMiwgNTksIDQ4LCA3LCA2LCAKLSAgICAxLCAxNjAsIDIsIDIyNiwgMjI4LCA3LCA0LCAxLCAxNjAsIDIsIDIyNiwgMjI4LCA3LCA2LCAxLCAxNjAsIDIsIDI1MCwgCi0gICAgMjQyLCA3LCA0LCAxLCAxNjAsIDIsIDI1MCwgMjQyLCA3LCA2LCAxLCAyNDMsIDIxMCwgMiwgMjUwLCAzOCwgNywgNCwgMSwgCi0gICAgMjQzLCAyMTAsIDIsIDI1MCwgMzgsIDcsIDYsIDEsIDI0MywgMjEwLCAyLCAyNTEsIDE1NCwgNywgNCwgMSwgMjQzLCAyMTAsIAotICAgIDIsIDI1MSwgMTU0LCA3LCA2LCAxLCAyNDMsIDIxMCwgMiwgNTksIDQ4LCA3LCA0LCAxLCAyNDMsIDIxMCwgMiwgNTksIDQ4LCAKLSAgICA3LCA2LCAxLCAyNDMsIDIxMCwgMiwgMjUwLCAxOTEsIDcsIDQsIDEsIDI0MywgMjEwLCAyLCAyNTAsIDE5MSwgNywgNiwgMSwgCi0gICAgMjQyLCA2OCwgMiwgMjUwLCAzOCwgNywgNCwgMSwgMjQyLCA2OCwgMiwgMjUwLCAzOCwgNywgNiwgMSwgMjQyLCA2OCwgMiwgCi0gICAgOTEsIDcsIDQsIDEsIDI0MiwgNjgsIDIsIDkxLCA3LCA2LCAxLCAyNDAsIDE2MSwgMiwgMTg0LCA3LCA0LCAxLCAyNDAsIAotICAgIDE2MSwgMiwgMTg0LCA3LCA2LCAxLCAyNDAsIDE2MSwgMiwgMjMxLCAyMzcsIDcsIDQsIDEsIDI0MCwgMTYxLCAyLCAyMzEsIAotICAgIDIzNywgNywgNiwgMSwgMjQwLCAxNjEsIDIsIDI1MSwgMTU0LCA3LCA0LCAxLCAyNDAsIDE2MSwgMiwgMjUxLCAxNTQsIDcsIAotICAgIDYsIDEsIDI0MCwgMTYxLCAyLCAyMjYsIDIyOCwgNywgNCwgMSwgMjQwLCAxNjEsIDIsIDIyNiwgMjI4LCA3LCA2LCAxLCAKLSAgICAyNDAsIDE2MSwgMiwgNTksIDQ4LCA3LCA0LCAxLCAyNDcsIDEyNywgNzQsIDcsIDYsIDI3LCAyMzYsIDM4LCA3LCA0LCAyNywgCi0gICAgMjM2LCAzOCwgNywgNiwgMSwgMjM1LCAxNTEsIDIsIDI1MCwgMzgsIDcsIDQsIDEsIDIzNSwgMTUxLCAyLCAyNTAsIDM4LCA3LCAKLSAgICA2LCAxLCAyMzUsIDMwLCAyLCAyNTAsIDE5MSwgNywgNCwgMSwgMjM1LCAzMCwgMiwgMjUwLCAxOTEsIDcsIDQsIDEsIDIzMywgCi0gICAgMjQ1LCA3LCA2LCAxLCAyMzMsIDE1NSwgMiwgMTQyLCA3LCA0LCAxLCAyMzMsIDE1NSwgMiwgMTQyLCA3LCA2LCAxLCAyMzMsIAotICAgIDE1NSwgMiwgMjUwLCAxOTEsIDcsIDQsIDEsIDIzMywgMTU1LCAyLCAyNTAsIDE5MSwgNywgNiwgMSwgMjMzLCAxNTUsIDIsIAotICAgIDI1MCwgMjQyLCA3LCA0LCAxLCAyMzMsIDE1NSwgMiwgMjUwLCAyNDIsIDcsIDYsIDEsIDIzMywgMTU1LCAyLCAyMzAsIDIyOSwgCi0gICAgMjQ3LCAxMjgsIDcsIDQsIDEsIDIzMywgMTU1LCAyLCAyMzAsIDIyOSwgMjQ3LCAxMjgsIDcsIDYsIDEsIDIzMywgMTU1LCAyLCAKLSAgICA5MSwgNywgNCwgMSwgMjMzLCAxNTUsIDIsIDkxLCA3LCA2LCAxLCAyMzAsIDMxLCAyLCAxNDIsIDcsIDQsIDEsIDIzMCwgMzEsIAotICAgIDIsIDE0MiwgNywgNiwgMSwgMjMwLCAzMSwgMiwgMjUwLCAxOTEsIDcsIDQsIDEsIDIzMCwgMzEsIDIsIDI1MCwgMTkxLCA3LCAKLSAgICA2LCAxLCAyMzAsIDMxLCAyLCAyNTAsIDI0MiwgNywgNCwgMSwgMjMwLCAzMSwgMiwgMjUwLCAyNDIsIDcsIDQsIDEsIDIzMCwgCi0gICAgMzEsIDIyNCwgMjA3LCAyNTEsIDg2LCAyNTQsIDY1LCA3LCA2LCAxLCAyNDUsIDE0NiwgNywgNCwgMSwgMjQ1LCAxNDYsIDcsIAotICAgIDYsIDEsIDE0NCwgMiwgMjMxLCAyMzcsIDcsIDQsIDEsIDE0NCwgMiwgMjMxLCAyMzcsIDcsIDYsIDEsIDE0NCwgMiwgMjUxLCAKLSAgICAxNTQsIDcsIDQsIDEsIDE0NCwgMiwgMjUxLCAxNTQsIDcsIDYsIDEsIDE0NCwgMiwgNTIsIDE0MiwgNywgNCwgMSwgMTQ0LCAKLSAgICAyLCA1MiwgMTQyLCA3LCA2LCAyNywgMjI2LCAyMzgsIDcsIDQsIDI3LCAyMjYsIDIzOCwgNywgNiwgMSwgMjIzLCAyMjcsIDIsIAotICAgIDE0MiwgNywgNCwgMSwgMjIzLCAyMjcsIDIsIDE0MiwgNywgNiwgMSwgMjIzLCAyMjcsIDIsIDI1MCwgMTkxLCA3LCA0LCAxLCAKLSAgICAyMjMsIDIyNywgMiwgMjUwLCAxOTEsIDcsIDYsIDEsIDIyMywgMjI3LCAyLCAyNTAsIDI0MiwgNywgNCwgMSwgMjIzLCAyMjcsIAotICAgIDIsIDI1MCwgMjQyLCA3LCA2LCAxLCAyMjIsIDk0LCAyLCAxNDIsIDcsIDQsIDEsIDIyMiwgOTQsIDIsIDE0MiwgNywgNiwgMSwgCi0gICAgMjIyLCA5NCwgMiwgMjUwLCAzOCwgNywgNCwgMSwgMjIyLCA5NCwgMiwgMjUwLCAzOCwgNywgNiwgMSwgMjIyLCA5NCwgMiwgCi0gICAgMjUwLCAxOTEsIDcsIDQsIDEsIDIyMiwgOTQsIDIsIDI1MCwgMTkxLCA3LCA2LCAxLCAyMjIsIDk0LCAyLCAyNTAsIDI0MiwgCi0gICAgNywgNCwgMSwgMjIyLCA5NCwgMiwgMjUwLCAyNDIsIDcsIDYsIDEsIDIxNywgMTU0LCAyLCAyNTAsIDE5MSwgNywgNCwgMSwgCi0gICAgMjE3LCAxNTQsIDIsIDI1MCwgMTkxLCA3LCA2LCAxLCAyMTcsIDE1NCwgMiwgMjUwLCAyNDIsIDcsIDQsIDEsIDIxNywgMTU0LCAKLSAgICAyLCAyNTAsIDI0MiwgNywgNiwgMSwgMjE3LCAxNTQsIDIsIDkxLCA3LCA0LCAxLCAyMTcsIDE1NCwgMiwgOTEsIDcsIDYsIDEsIAotICAgIDEwNCwgMiwgMTg0LCA3LCA0LCAxLCAxMDQsIDIsIDE4NCwgNywgNiwgMSwgMTA0LCAyLCAyMzEsIDIzNywgNywgNCwgMSwgCi0gICAgMTA0LCAyLCAyMzEsIDIzNywgNywgNiwgMSwgMTA0LCAyLCAyNTEsIDE1NCwgNywgNCwgMSwgMTA0LCAyLCAyNTEsIDE1NCwgCi0gICAgNywgNiwgMSwgMTA0LCAyLCAyMjIsIDIzNywgNDgsIDcsIDQsIDEsIDEwNCwgMiwgMjIyLCAyMzcsIDQ4LCA3LCA2LCAxLCAKLSAgICAxMDQsIDIsIDUyLCAxNDIsIDcsIDQsIDEsIDEwNCwgMiwgNTIsIDE0MiwgNywgNiwgMSwgMTA0LCAyLCAyMjYsIDIyOCwgNywgCi0gICAgNCwgMSwgMTA0LCAyLCAyMjYsIDIyOCwgNywgNiwgMSwgMjEyLCA5OSwgMiwgMjUwLCAzOCwgNywgNCwgMSwgMjEyLCA5OSwgCi0gICAgMiwgMjUwLCAzOCwgNywgNiwgMSwgMjExLCAxMTgsIDIsIDI1MCwgMzgsIDcsIDQsIDEsIDIxMSwgMTE4LCAyLCAyNTAsIDM4LCAKLSAgICA3LCA2LCAxLCAyMTEsIDExOCwgMiwgMjQ4LCA5LCA3LCA2LCAxLCAyMTAsIDE2MCwgMiwgMTQyLCA3LCA0LCAxLCAyMTAsIAotICAgIDE2MCwgMiwgMTQyLCA3LCA2LCAxLCAyMTAsIDE2MCwgMiwgNTksIDQ4LCA3LCA0LCAxLCAyMTAsIDE2MCwgMiwgNTksIDQ4LCAKLSAgICA3LCA2LCAxLCAyMTAsIDE2MCwgMiwgMjUwLCAyNDIsIDcsIDQsIDEsIDIxMCwgMTYwLCAyLCAyNTAsIDI0MiwgNywgNCwgMSwgCi0gICAgMjAwLCAyMjIsIDkzLCA3LCA0LCAxLCA1NywgMiwgOTEsIDcsIDYsIDEsIDU3LCAyLCAxMDMsIDcsIDYsIDEsIDU3LCAyLCAKLSAgICAyMTYsIDEyLCA3LCA0LCAxLCA1NywgMiwgMjE2LCAxMiwgNywgNiwgMSwgMTM4LCAxOTUsIDcsIDQsIDEsIDEzOCwgMTk1LCAKLSAgICA3LCA2LCAxLCAyMDQsIDc4LCA3LCA2LCAxLCAyNTEsIDc1LCAyLCAxMDMsIDcsIDQsIDEsIDI1MSwgNzUsIDIsIDEwMywgNywgCi0gICAgNiwgMSwgMjU0LCAyMjgsIDI0OSwgNjgsIDcsIDYsIDEsIDI0OSwgNjksIDIsIDEwMywgNywgNiwgMSwgMjQ5LCA2OSwgMiwgCi0gICAgMjE2LCAxMiwgNywgNCwgMSwgMjQ5LCA2OSwgMiwgMjE2LCAxMiwgNywgNCwgMSwgMjE1LCA5NCwgMjQ4LCA2MiwgNywgNiwgCi0gICAgMSwgMjIzLCA1MiwgNzYsIDcsIDYsIDEsIDIyMSwgMTk3LCA3LCA2LCAxLCAyMDQsIDc2LCA3LCA2LCAxLCAyNDUsIDE1LCAyLCAKLSAgICAxMDMsIDcsIDQsIDEsIDI0NSwgMTUsIDIsIDEwMywgNywgNiwgMSwgMjQzLCAyMTAsIDIsIDEwMywgNywgNiwgMSwgMjQzLCAKLSAgICAxMTQsIDcsIDQsIDEsIDI0MCwgMjA4LCA3LCA2LCAxLCAyMzUsIDE5MiwgNywgNiwgMSwgMjQwLCAxNjEsIDIsIDkxLCA3LCAKLSAgICA2LCAxLCAyMzUsIDMwLCAyLCAxMDMsIDcsIDQsIDEsIDIzNSwgMzAsIDIsIDEwMywgNywgNCwgMSwgMjMzLCAxNTUsIDIsIAotICAgIDEzMCwgNywgNCwgMSwgMjMzLCAxMDYsIDIsIDkxLCA3LCA2LCAxLCAyMTUsIDk0LCAxOTQsIDcsIDYsIDEsIDIzMCwgMzEsIAotICAgIDIsIDQzLCAxMDMsIDcsIDQsIDEsIDIzMCwgMzEsIDIsIDIwMCwgNDQsIDIzMywgNDIsIDcsIDYsIDEsIDE0NCwgMiwgMjMwLCAKLSAgICAyMjksIDE4NCwgNywgNiwgMSwgMTQ0LCAyLCAyNDAsIDI1NSwgNywgNCwgMSwgMTQ0LCAyLCAyNDAsIDI1NSwgNywgNiwgMSwgCi0gICAgMjI2LCAyMjMsIDcsIDQsIDEsIDIyNiwgMjIzLCA3LCA2LCAxLCAyMjYsIDExMCwgMiwgMTAzLCA3LCA0LCAxLCAyMjYsIAotICAgIDExMCwgMiwgMTAzLCA3LCAxLCAyMTAsIDIxNCwgNywgNiwgMSwgMTM4LCAxMDUsIDcsIDQsIDEsIDEzOCwgMTA1LCA3LCA2LCAKLSAgICAxLCAyNDUsIDgzLCA3LCAxLCAyMjMsIDUyLCAyNDUsIDg0LCAyMzIsIDEyOSwgNywgNCwgMSwgMjE3LCAxNTQsIDIsIDIyNiwgCi0gICAgNzAsIDEwMywgNywgNiwgMSwgMjE3LCAxNTQsIDIsIDEwMywgNywgNCwgMSwgMjE3LCAxNTQsIDIsIDEwMywgNywgNiwgMSwgCi0gICAgMjE3LCAxNTQsIDIsIDIyMywgNTgsIDEwMywgNywgNiwgMSwgMTA0LCAyLCAyNDAsIDI1NSwgNywgNCwgMSwgMTA0LCAyLCAKLSAgICAyNDAsIDI1NSwgNywgNiwgMSwgMjE0LCAxNTcsIDcsIDYsIDEsIDIxNCwgMTA2LCAyLCAxMDMsIDcsIDYsIDEsIDIxMSwgCi0gICAgMTE4LCAyLCAxMDMsIDcsIDQsIDEsIDIxMSwgMTE4LCAyLCAxMDMsIDcsIDYsIDEsIDIxMCwgMTYwLCAyLCA5MSwgNywgNCwgCi0gICAgMSwgMjEwLCAxNjAsIDIsIDkxLCA3LCA2LCAxLCAyNDUsIDE2LCA3LCA2LCAxLCAyNDUsIDE3LCAyMjMsIDUxLCA3LCA0LCAxLCAKLSAgICAyNDUsIDE3LCAyMjMsIDUxLCA3LCA0LCAxLCAyNDUsIDE3LCAyLCAyMTcsIDc4LCA3LCAxLCAxMTMsIDIsIDkxLCA3LCA2LCAKLSAgICAxLCAxMzgsIDE5MCwgNywgNCwgMSwgMTM4LCAxOTAsIDcsIDEsIDIzNSwgMjAwLCAyNDIsIDE4NywgMjE4LCAxMzIsIDIsIAotICAgIDkxLCA3LCAxLCAyMTEsIDE4MSwgNywgMSwgMjQ4LCA1NSwgMjUwLCAxOSwgNywgMSwgMjMzLCA4MywgMjUwLCAxOSwgNywgMSwgCi0gICAgMjU0LCAxNDUsIDI1MCwgMTksIDcsIDEsIDIyMywgNTgsIDI1MCwgMTksIDcsIDYsIDEsIDI0NiwgNDgsIDIsIDI1MCwgMjQyLCAKLSAgICA3LCA2LCAxLCAyNDksIDY5LCAyLCA0LCAxLCAyMTAsIDE2MCwgMiwgMjUwLCAyNDIsIDcsIDQsIDEsIDI0NiwgNDgsIDIsIAotICAgIDI1MCwgMjQyLCA3LCA2LCAxLCAyMzIsIDE5NCwgNywgNiwgMSwgMjMzLCAxNTUsIDIsIDQsIDEsIDIzNSwgMTUwLCA3LCA0LCAKLSAgICAxLCAyMzIsIDE5NCwgNywgNiwgMSwgMjI4LCAxOTEsIDcsIDYsIDEsIDIzMCwgMzEsIDIsIDQsIDEsIDIzNSwgMTUwLCA3LCAKLSAgICA0LCAxLCAyMjgsIDE5MSwgNywgNiwgMSwgMTE2LCAyLCAyNTAsIDI0MiwgNywgNCwgMSwgMTE2LCAyLCAyNTAsIDI0MiwgNywgCi0gICAgNiwgMSwgMjQwLCAxNjEsIDIsIDI1MCwgMjQyLCA3LCA0LCAxLCAyNDAsIDE2MSwgMiwgMjUwLCAyNDIsIDcsIDYsIDEsIAotICAgIDE0NCwgMiwgMjUwLCAyNDIsIDcsIDQsIDEsIDE0NCwgMiwgMjUwLCAyNDIsIDcsIDYsIDEsIDEwNCwgMiwgMjUwLCAyNDIsIAotICAgIDcsIDQsIDEsIDEwNCwgMiwgMjUwLCAyNDIsIDcsIDYsIDEsIDEwNCwgMiwgMjQ4LCAxMCwgMjIsIDIzMSwgMjM3LCA3LCA0LCAKLSAgICAxLCAxMDQsIDIsIDI0OCwgMTAsIDIyLCAyMzEsIDIzNywgNywgNiwgMSwgMTA0LCAyLCAyNDgsIDEwLCAyMiwgMTQyLCA3LCAKLSAgICA0LCAxLCAxMDQsIDIsIDI0OCwgMTAsIDIyLCAxNDIsIDcsIDYsIDEsIDEwNCwgMiwgMjQ4LCAxMCwgMjIsIDI1MCwgMjQyLCAKLSAgICA3LCA0LCAxLCAxMDQsIDIsIDI0OCwgMTAsIDIyLCAyNTAsIDI0MiwgNywgNiwgMSwgMTA0LCAyLCAyNDgsIDEwLCAyMiwgCi0gICAgMjQyLCAxNDMsIDcsIDQsIDEsIDEwNCwgMiwgMjQ4LCAxMCwgMjIsIDI0MiwgMTQzLCA3LCA0LCAxLCAyMTUsIDk0LCA3NiwgCi0gICAgNywgNiwgMSwgMTE2LCAyLCAyNDgsIDEwLCAyMiwgMjMxLCAyMzcsIDcsIDQsIDEsIDExNiwgMiwgMjQ4LCAxMCwgMjIsIAotICAgIDIzMSwgMjM3LCA3LCA2LCAxLCAxMTYsIDIsIDU5LCA3MiwgMjIsIDIzMSwgMjM3LCA3LCA0LCAxLCAxMTYsIDIsIDU5LCA3MiwgCi0gICAgMjIsIDIzMSwgMjM3LCA3LCA2LCAxLCAyNTQsIDI1MywgMiwgMjMxLCAyMzcsIDcsIDQsIDEsIDI1NCwgMjUzLCAyLCAyMzEsIAotICAgIDIzNywgNywgNiwgMSwgMjQzLCAyMTAsIDIsIDkxLCA3LCA0LCAxLCAyNDMsIDIxMCwgMiwgOTEsIDcsIDYsIDEsIDI0MywgCi0gICAgMjEwLCAyLCAyNTAsIDI0MiwgNywgNCwgMSwgMjQzLCAyMTAsIDIsIDI1MCwgMjQyLCA3LCA2LCAxLCAyMzUsIDMwLCAyLCAKLSAgICAyNTAsIDI0MiwgNywgNCwgMSwgMjM1LCAzMCwgMiwgMjUwLCAyNDIsIDcsIDYsIDEsIDE0NCwgMiwgMjI2LCAyMjgsIDcsIDQsIAotICAgIDEsIDE0NCwgMiwgMjI2LCAyMjgsIDcsIDYsIDEsIDE0NCwgMiwgMjI2LCAyMjksIDIyLCAyMzEsIDIzNywgNywgNCwgMSwgCi0gICAgMTQ0LCAyLCAyMjYsIDIyOSwgMjIsIDIzMSwgMjM3LCA3LCA2LCAxLCAyNDUsIDE3LCAyLCAyNTAsIDI0MiwgNywgNCwgMSwgCi0gICAgMjQ1LCAxNywgMiwgMjUwLCAyNDIsIDcsIDQsIDEsIDIzNSwgMTUxLCAyLCAyNTAsIDI0MiwgNywgNiwgMSwgMjQ2LCA0NywgCi0gICAgNywgNiwgMSwgMjQ5LCA2OSwgMiwgNCwgMSwgMjEwLCAxNTksIDcsIDQsIDEsIDI0NiwgNDcsIDcsIDYsIDEsIDI0MywgMjEwLCAKLSAgICAyLCAxNDIsIDcsIDQsIDEsIDI0MywgMjEwLCAyLCAxNDIsIDcsIDYsIDEsIDI0MCwgMjA2LCA3LCA2LCAxLCAyMTEsIDE4MSwgCi0gICAgNywgNiwgMSwgMjMwLCAzMSwgMiwgMjQyLCAxNDMsIDcsIDQsIDEsIDIzMCwgMzEsIDIsIDI0MiwgMTQzLCA3LCA2LCAxLCAKLSAgICAxMTYsIDIsIDIyMiwgMjM3LCA3MiwgMjIsIDE0MiwgNywgNCwgMSwgMTE2LCAyLCAyMjIsIDIzNywgNzIsIDIyLCAxNDIsIDcsIAotICAgIDYsIDEsIDI1NCwgMjUzLCAyLCAxNDIsIDcsIDQsIDEsIDI1NCwgMjUzLCAyLCAxNDIsIDcsIDYsIDEsIDE0NCwgMiwgMjE4LCAKLSAgICAxMDUsIDIyLCAxNDIsIDcsIDQsIDEsIDE0NCwgMiwgMjE4LCAxMDUsIDIyLCAxNDIsIDcsIDYsIDEsIDExNiwgMiwgNTIsIAotICAgIDI0MiwgMTQzLCA3LCA0LCAxLCAxMTYsIDIsIDUyLCAyNDIsIDE0MywgNywgNiwgMSwgMTE2LCAyLCAyMzUsIDIwMCwgMjUxLCAKLSAgICAxNTQsIDcsIDQsIDEsIDExNiwgMiwgMjM1LCAyMDAsIDI1MSwgMTU0LCA3LCA2LCAxLCAxNjAsIDIsIDUyLCAyNDIsIDE0MywgCi0gICAgNywgNCwgMSwgMTYwLCAyLCA1MiwgMjQyLCAxNDMsIDcsIDYsIDEsIDE2MCwgMiwgMjM1LCAyMDAsIDI1MSwgMTU0LCA3LCA0LCAKLSAgICAxLCAxNjAsIDIsIDIzNSwgMjAwLCAyNTEsIDE1NCwgNywgNiwgMSwgMjQwLCAxNjEsIDIsIDUyLCAyNDIsIDE0MywgNywgNCwgCi0gICAgMSwgMjQwLCAxNjEsIDIsIDUyLCAyNDIsIDE0MywgNywgNiwgMSwgMjQwLCAxNjEsIDIsIDIzNSwgMjAwLCAyNTEsIDE1NCwgCi0gICAgNywgNCwgMSwgMjQwLCAxNjEsIDIsIDIzNSwgMjAwLCAyNTEsIDE1NCwgNywgNiwgMSwgMTQ0LCAyLCA1MiwgMjQyLCAxNDMsIAotICAgIDcsIDQsIDEsIDE0NCwgMiwgNTIsIDI0MiwgMTQzLCA3LCA2LCAxLCAxNDQsIDIsIDIzNSwgMjAwLCAyNTEsIDE1NCwgNywgNCwgCi0gICAgMSwgMTQ0LCAyLCAyMzUsIDIwMCwgMjUxLCAxNTQsIDcsIDYsIDEsIDIyMywgMjI3LCAyLCA1MiwgMjQyLCAxNDMsIDcsIDQsIAotICAgIDEsIDIyMywgMjI3LCAyLCA1MiwgMjQyLCAxNDMsIDcsIDYsIDEsIDIyMywgMjI3LCAyLCAyMzUsIDIwMCwgMjUxLCAxNTQsIAotICAgIDcsIDQsIDEsIDIyMywgMjI3LCAyLCAyMzUsIDIwMCwgMjUxLCAxNTQsIDcsIDYsIDEsIDEwNCwgMiwgNTIsIDI0MiwgMTQzLCAKLSAgICA3LCA0LCAxLCAxMDQsIDIsIDUyLCAyNDIsIDE0MywgNywgNiwgMSwgMTA0LCAyLCAyMzUsIDIwMCwgMjUxLCAxNTQsIDcsIDQsIAotICAgIDEsIDEwNCwgMiwgMjM1LCAyMDAsIDI1MSwgMTU0LCA3LCA2LCAxLCAyMjIsIDk0LCAyLCAyNDksIDIyOCwgNTEsIDcsIDQsIAotICAgIDEsIDIyMiwgOTQsIDIsIDI0OSwgMjI4LCA1MSwgNywgNiwgMSwgMjE3LCAxNTQsIDIsIDI0OSwgMjI4LCA1MSwgNywgNCwgMSwgCi0gICAgMjE3LCAxNTQsIDIsIDI0OSwgMjI4LCA1MSwgNywgNiwgMSwgMjEwLCAyMzEsIDcsIDQsIDEsIDIxMCwgMjMxLCA3LCA2LCAxLCAKLSAgICAyNDIsIDY4LCAyLCAyNTAsIDI0MiwgNywgNCwgMSwgMjQyLCA2OCwgMiwgMjUwLCAyNDIsIDcsIDYsIDEsIDIzMCwgMzEsIDIsIAotICAgIDIwMCwgNDQsIDIzMywgNDIsIDcsIDQsIDEsIDI0OSwgNjksIDIsIDI0OSwgMTA4LCA3LCA2LCAxLCAyMjYsIDEzOCwgNywgNCwgCi0gICAgMSwgMjI2LCAxMzgsIDcsIDYsIDEsIDIxMCwgMTYwLCAyLCAxMDMsIDcsIDQsIDEsIDIxMCwgMTYwLCAyLCAxMDMsIDcsIDYsIAotICAgIDEsIDExNiwgMiwgNTksIDQ4LCA3LCA0LCAxLCAxMTYsIDIsIDU5LCA0OCwgNywgNiwgMSwgMTYwLCAyLCAyNTAsIDE5MSwgNywgCi0gICAgNCwgMSwgMTYwLCAyLCAyNTAsIDE5MSwgNywgNiwgMSwgMTQ0LCAyLCAyNDgsIDEwLCAyMiwgMjMxLCAyMzcsIDcsIDQsIDEsIAotICAgIDE0NCwgMiwgMjQ4LCAxMCwgMjIsIDIzMSwgMjM3LCA3LCA2LCAxLCAxNDQsIDIsIDIxNiwgOTAsIDIyLCAyMzEsIDIzNywgNywgCi0gICAgNCwgMSwgMTQ0LCAyLCAyMTYsIDkwLCAyMiwgMjMxLCAyMzcsIDcsIDYsIDEsIDE0NCwgMiwgNTksIDQ4LCA3LCA0LCAxLCAKLSAgICAxNDQsIDIsIDU5LCA0OCwgNywgNiwgMSwgMTQ0LCAyLCA1OSwgNzIsIDIyLCAyMzEsIDIzNywgNywgNCwgMSwgMTQ0LCAyLCAKLSAgICA1OSwgNzIsIDIyLCAyMzEsIDIzNywgNywgNiwgMSwgMjExLCAxMTgsIDIsIDIzMSwgMjM3LCA3LCA0LCAxLCAyMTEsIDExOCwgCi0gICAgMiwgMjMxLCAyMzcsIDcsIDQsIDEsIDIzMywgMTU1LCAyLCAyNDksIDEwOCwgNywgNCwgMSwgMjMwLCAzMSwgMiwgMjQ5LCAKLSAgICAxMDgsIDcsIDQsIDEsIDIxNywgMTU0LCAyLCAyNDksIDEwOCwgNywgNCwgMSwgMjQ3LCAxMjcsIDIzNSwgMTUwLCA3LCA0LCAKLSAgICAxLCAyNDgsIDE1MSwgMjQ3LCAyMjgsIDcsIDQsIDEsIDIyNCwgMzQsIDI0NywgMjI4LCA3LCA2LCAxLCAxMTYsIDIsIDkxLCAKLSAgICA3LCA2LCAxLCAyNTEsIDc1LCAyLCA5MSwgNywgNCwgMSwgMjUxLCA3NSwgMiwgOTEsIDcsIDYsIDEsIDIzMywgMTU1LCAyLCAKLSAgICAxMzAsIDcsIDYsIDEsIDIxNywgMTU0LCAyLCAyNDgsIDcsIDkxLCA3LCA0LCAxLCAyMjIsIDk0LCAyLCAyMTcsIDI1MSwgCi0gICAgMjE3LCA3OCwgNywgNCwgMSwgMjEwLCAxNjAsIDIsIDIxNywgMjUxLCAyMTcsIDc4LCA3LCA2LCAxLCAyNDIsIDE4NywgMjE4LCAKLSAgICAxMzEsIDcsIDQsIDEsIDI0MiwgMTg3LCAyMTgsIDEzMSwgNywgNiwgMSwgNTcsIDIsIDkxLCA3LCA2LCAxLCAxMDQsIDEzMCwgCi0gICAgNywgNiwgMSwgMjE1LCA5NCwgMjE0LCAxMDUsIDcsIDYsIDEsIDE2MCwgMiwgOTEsIDcsIDQsIDEsIDE2MCwgMiwgOTEsIDcsIAotICAgIDYsIDEsIDIzNSwgMTUxLCAyLCA5MSwgNywgNCwgMSwgMjM1LCAxNTEsIDIsIDkxLCA3LCA2LCAxLCA0LCAyMjQsIDEwMCwgMiwgCi0gICAgMjQxLCA1OSwgMjE3LCA3OCwgNywgNCwgMSwgMjI0LCAxMDAsIDIsIDI0MSwgNTksIDIxNywgNzgsIDcsIDYsIDEsIDIyMywgCi0gICAgMjI3LCAyLCA5MSwgNywgNCwgMSwgMjIzLCAyMjcsIDIsIDkxLCA3LCA2LCAxLCAyMTEsIDExOCwgMiwgOTEsIDcsIDQsIDEsIAotICAgIDIxMSwgMTE4LCAyLCA5MSwgNywgNCwgMSwgMjE1LCA5NCwgNjEsIDcsIDQsIDEsIDI1NCwgMTUxLCA3LCA0LCAxLCAyMTUsIAotICAgIDk0LCAyNTQsIDE1MSwgNywgNCwgMSwgNTcsIDIsIDEwMywgNywgNCwgMSwgMjA0LCA3OCwgNywgNCwgMSwgMjUxLCA3NSwgMiwgCi0gICAgMjQ5LCAxMDgsIDcsIDQsIDEsIDI0OSwgNjksIDIsIDIxNywgNzgsIDcsIDQsIDEsIDI0OSwgNjksIDIsIDEwMywgNywgNCwgCi0gICAgMSwgMjIzLCA1MiwgNzYsIDcsIDQsIDEsIDIyMSwgMTk3LCA3LCA0LCAxLCAyMjEsIDE5OCwgMiwgMTAzLCA3LCA0LCAxLCAKLSAgICAyMDQsIDc2LCA3LCA0LCAxLCAyMjMsIDUyLCAyMDQsIDc2LCA3LCA0LCAxLCAyMjMsIDUyLCAyMDQsIDE2MCwgMiwgMTAzLCAKLSAgICA3LCA0LCAxLCAyNTAsIDgsIDIyMywgNTIsIDIwNCwgNzYsIDcsIDQsIDEsIDI0NywgMTI3LCAyMzUsIDE1MSwgMiwgOTEsIDcsIAotICAgIDQsIDEsIDI0MywgMjEwLCAyLCAxMDMsIDcsIDQsIDEsIDExOSwgMjQzLCAyMDksIDcsIDEsIDQsIDYsIDI0MywgMjA5LCA3LCAKLSAgICA0LCAxLCAyNDMsIDExNCwgNywgNCwgMSwgMjIzLCAxNTQsIDI0MCwgMjU1LCA3LCA0LCAxLCAyMTUsIDk0LCAyNDIsIDY3LCAKLSAgICA3LCA0LCAxLCAyNDIsIDY4LCAyLCAxMDMsIDcsIDQsIDEsIDI0MSwgMjE1LCAyLCAxMDMsIDcsIDQsIDEsIDI0MCwgMTYxLCAKLSAgICAyLCA5MSwgNywgNCwgMSwgMjM1LCAxOTIsIDcsIDEsIDQsIDYsIDc0LCA3LCA0LCAxLCAyMzMsIDE1NSwgMiwgMjMwLCAyMjksIAotICAgIDE4NCwgNywgNCwgMSwgMjMzLCAxNTUsIDIsIDI1MiwgNDksIDcsIDQsIDEsIDIzMywgMTU1LCAyLCAyMjMsIDU4LCAxMDMsIAotICAgIDcsIDQsIDEsIDIzMywgNywgNywgNCwgMSwgMjE1LCA5NCwgMTk0LCA3LCA0LCAxLCAyMTUsIDk0LCAyMzIsIDU1LCAyLCAKLSAgICAyMDAsIDIzMywgNDIsIDcsIDQsIDEsIDIzMiwgNTUsIDIsIDEwMywgNywgNCwgMSwgMjMwLCAzMSwgMiwgNDMsIDEwMywgNywgCi0gICAgNCwgMSwgMjMwLCAzMSwgMiwgMjIzLCA1OCwgMTAzLCA3LCAxLCA0LCA2LCAyMzAsIDMwLCA3LCA0LCAxLCAyNTIsIDE0MiwgCi0gICAgNzgsIDcsIDEsIDQsIDYsIDIyNiwgMjM4LCA3LCA0LCAxLCAyNTAsIDgsIDIyNiwgMjA1LCA3LCA0LCAxLCAyMjUsIDEzNiwgCi0gICAgNywgNCwgMSwgMjE1LCA5NCwgMTUzLCA3LCA0LCAxLCAyMTUsIDk0LCAyMjMsIDIyNywgMiwgMjAwLCAyMzMsIDQyLCA3LCA0LCAKLSAgICAxLCAyMTUsIDk0LCAyMjMsIDIyNywgMiwgMTAzLCA3LCA0LCAxLCAyMjMsIDIyNywgMiwgMjAwLCAyMzMsIDQyLCA3LCA0LCAKLSAgICAxLCAyMjMsIDIyNywgMiwgMjE3LCA3OCwgNywgNCwgMSwgMjIzLCAyMjcsIDIsIDI0NCwgOTUsIDcsIDQsIDEsIDIyMywgNTIsIAotICAgIDIyMywgMjI3LCAyLCAyNDQsIDk1LCA3LCAxLCA0LCA2LCAxNTMsIDcsIDEsIDQsIDYsIDIzNSwgMjAwLCAxNTMsIDcsIDQsIAotICAgIDEsIDIyMiwgOTQsIDIsIDEwMywgNywgNCwgMSwgMjQ1LCA4MywgNywgNCwgMSwgMjQ3LCAxMjcsIDIzNSwgMTUxLCAyLCAKLSAgICAyMTgsIDEwNSwgMjIsIDEwMywgNywgNCwgMSwgMjE4LCAyMzMsIDIyMywgNTIsIDI0NSwgODMsIDcsIDQsIDEsIDI0NSwgODQsIAotICAgIDIsIDI0OSwgMTA4LCA3LCA0LCAxLCAyMTUsIDk0LCAyMTcsIDE1MywgNywgNCwgMSwgMjE3LCAxNTQsIDIsIDIyMywgNTgsIAotICAgIDEwMywgNywgNCwgMSwgMTA0LCAxMzAsIDcsIDQsIDEsIDIxNCwgMTU3LCA3LCA0LCAxLCAyMTQsIDEwNiwgMiwgMTAzLCA3LCAKLSAgICA0LCAxLCAyMTUsIDk0LCAyMTQsIDEwNSwgNywgNCwgMSwgMjE1LCA5NCwgMjEyLCA5OCwgNywgNCwgMSwgMjE1LCA5NCwgCi0gICAgMjExLCAxMTcsIDcsIDEsIDQsIDYsIDIxMSwgMTE3LCA3LCA0LCAxLCAyMTAsIDE2MCwgMiwgMjIzLCA1OCwgMTAzLCA3LCA0LCAKLSAgICAxLCAyMTAsIDE2MCwgMiwgMjQ5LCAxMDgsIDcsIDQsIDEsIDI0NSwgMTYsIDcsIDQsIDEsIDI0NSwgMTcsIDIsIDI0OSwgCi0gICAgMTA4LCA3LCAxLCAyNDIsIDE4NywgMjE4LCAxMzEsIDcsIDEsIDIyNSwgMTQyLCAyMTMsIDEzNSwgMjQ0LCAxLCA3LCAxLCAKLSAgICAyMzUsIDIwMCwgMjQyLCAxODcsIDIxOCwgMTMxLCA3LCAxLCAyMTgsIDExMiwgMjUxLCA3NCwgNywgMSwgMjUxLCAyNTQsIAotICAgIDI1MCwgMTksIDcsIDEsIDQsIDYsIDI1MywgMTY2LCA3LCA0LCAxLCAyNTAsIDgsIDIwNCwgNzYsIDcsIDEsIDQsIDYsIDI0MywgCi0gICAgMjEwLCAyLCAxMDMsIDcsIDEsIDQsIDYsIDI0MiwgNjcsIDcsIDQsIDEsIDIzNSwgMTUxLCAyLCAyNDksIDEzNSwgNywgNCwgCi0gICAgMSwgMjE1LCA5NCwgMjM1LCAyOSwgNywgMSwgNCwgNiwgMTU2LCA3LCA0LCAxLCAyMjQsIDEwMCwgMiwgMTAzLCA3LCAxLCAKLSAgICAyNDIsIDE4NywgMjE4LCAxMzIsIDIsIDkxLCA3LCAxLCAyMjMsIDUyLCAyNDIsIDE4NywgMjE4LCAxMzIsIDIsIDkxLCA3LCAKLSAgICA0LCAxLCAyNDYsIDQ4LCAyNDcsIDIyOCwgNywgNCwgMSwgMjQ4LCAzNCwgMjQ3LCAyMjgsIDcsIDQsIDEsIDI0NiwgNDgsIAotICAgIDI0NywgMjI5LCAyLCAyNDksIDEwOCwgNywgNCwgMSwgMjE1LCAxODYsIDI0NywgMjI4LCA3LCA0LCAxLCAyMTYsIDIzNiwgCi0gICAgMjQ3LCAyMjgsIDcsIDQsIDEsIDIxNywgMzAsIDI0NywgMjI5LCAyLCAyNDksIDEwOCwgNywgNCwgMSwgMjQ0LCAxNDIsIAotICAgIDI0NywgMjI4LCA3LCA0LCAxLCAyMzIsIDEwNSwgMjQ3LCAyMjgsIDcsIDQsIDEsIDIzMiwgNTYsIDI0NywgMjI4LCA3LCAxLCAKLSAgICAyNTEsIDI1NCwgMjI1LCAxODQsIDcsIDEsIDI1MiwgNiwgMjI1LCAxODQsIDcsIDQsIDEsIDIxNSwgOTQsIDI0MiwgNjgsIDIsIAotICAgIDI0NCwgOTUsIDcsIDQsIDEsIDIxNSwgOTQsIDI0MiwgNjgsIDIsIDI0NCwgOTYsIDIyLCAyMTcsIDc4LCA1OCwgMSwgNCwgCi0gICAgMjQyLCA2NywgNTgsIDEsIDQsIDI0MiwgNjgsIDIsIDEwMywgNTgsIDEsIDQsIDIzNSwgMTUwLCA1OCwgMSwgNCwgMTUzLCAKLSAgICA1OCwgMSwgNCwgMjE1LCA5NCwgMTUzLCA1OCwgMSwgNCwgMjE1LCA5NCwgMjIzLCAyMjcsIDIsIDEwMywgNTgsIDEsIDQsIDYsIAotICAgIDIzNSwgMjAwLCAxNTMsIDU4LCAxLCA0LCAyMTIsIDk4LCA1OCwgMSwgNCwgMjExLCAxMTcsIDU4LCAxLCAyMjQsIDE5MywgCi0gICAgNTgsIDEsIDUyLCAyMjQsIDE5MywgNTgsIDEsIDIxNSwgOTQsIDI0OSwgMjI3LCA1OCwgMSwgMjU0LCA2NSwgNTgsIDEsIAotICAgIDIyMywgNTIsIDI0OSwgMjI3LCA1OCwgMSwgNDQsIDE2MywgMjIyLCAyMzYsIDU4LCAxLCA0MywgMTYzLCAyMjIsIDIzNiwgCi0gICAgNTgsIDEsIDI0MiwgMTg3LCAyMTgsIDEzMSwgNTgsIDEsIDIyMywgNTIsIDI0MiwgMTg3LCAyMTgsIDEzMSwgNTgsIDEsIDQzLCAKLSAgICAyNTQsIDEsIDU4LCAxLCA0NCwgMjU0LCAxLCA1OCwgMSwgMTIwLCAyNTQsIDEsIDU4LCAxLCAxMjQsIDI1NCwgMSwgNTgsIDEsIAotICAgIDI1MCwgMzksIDI1NSwgMjMsIDI1MCwgMjQyLCA1OCwgMSwgNjcsIDIzMiwgMjE5LCA1OCwgMSwgMjMxLCAyMzcsIDU4LCAxLCAKLSAgICAyNTUsIDEyLCAyNTUsIDIzLCA1OCwgMSwgMjQyLCAxNDQsIDI1NSwgMjMsIDU4LCAxLCAxMjEsIDY3LCAyMzIsIDIxOSwgNTgsIAotICAgIDEsIDEyMSwgMjMxLCAyMzcsIDU4LCAxLCAxMjEsIDI0MiwgMTQ0LCAyNTUsIDIzLCA1OCwgMSwgMTIxLCAyNTUsIDEyLCAKLSAgICAyNTUsIDIzLCA1OCwgMSwgMjE1LCAyMjMsIDI0OSwgMjM0LCA1OCwgMSwgMTYzLCAyMTUsIDIyMywgMjQ5LCAyMzQsIDU4LCAKLSAgICAxLCAyNTAsIDE4MSwgNDQsIDE2MywgMjIyLCAyMzYsIDU4LCAxLCAyNTAsIDE4MSwgNDMsIDE2MywgMjIyLCAyMzYsIDU4LCAKLSAgICAxLCAxMjAsIDIxNywgODgsIDU4LCAxLCAxMjQsIDIxNywgODgsIDU4LCAxLCA5NiwgNTAsIDU4LCAxLCAyMzAsIDE4NywgNTAsIAotICAgIDI1MSwgMTU0LCA1OSwgNDgsIDIyMiwgMjM3LCA0OCwgMjI2LCAyMjgsIDQsIDE4NCwgNTIsIDI1NSwgMTIsIDI1NSwgMjMsIAotICAgIDU4LCAxLCAyMjMsIDM5LCAxMDMsIDU4LCAxLCAyNDksIDEzOSwgMjU1LCAyMywgNTgsIDEsIDQsIDI0MywgMTE0LCA1OCwgMSwgCi0gICAgNCwgMTU2LCA1OCwgMSwgNCwgMjIyLCA5MywgNTgsIDEsIDQsIDIxMSwgMTc4LCA1OCwgMSwgNCwgMjIzLCA1MiwgMjQyLCAKLSAgICAxODcsIDIxOCwgMTMxLCA1OCwgMSwgMjQ1LCAyOCwgMTM4LCAxMzAsIDU4LCAxLCAxMjUsIDEzOCwgMTMwLCA1OCwgMSwgCi0gICAgMjMwLCAyMzAsIDEzOCwgMTMwLCA1OCwgMSwgMTIxLCAxMzgsIDEzMCwgNTgsIDEsIDI0NSwgMjcsIDEzOCwgMTMwLCA1OCwgCi0gICAgMSwgMjEwLCAyNTQsIDI0OCwgNTIsIDEzOCwgNzksIDU4LCAxLCAyMTEsIDcwLCAyNDgsIDUyLCAxMzgsIDc5LCA1OCwgMSwgCi0gICAgMjEzLCAxMzMsIDU4LCAxLCAyMTQsIDE4NiwgNTgsIDEsIDUyLCAyNTQsIDY1LCA1OCwgMSwgMTIxLCAxMjQsIDI1NCwgMSwgCi0gICAgNTgsIDEsIDEyMSwgMTIwLCAyNTQsIDEsIDU4LCAxLCAxMjEsIDQzLCAyNTQsIDEsIDU4LCAxLCAxMjEsIDQ0LCAyNTQsIDEsIAotICAgIDU4LCAxLCAxMjEsIDIyMiwgMjM2LCA1OCwgMSwgMjMwLCAyMjksIDI0MiwgMTQ0LCAyNTUsIDIzLCA1OCwgMSwgMjMwLCAKLSAgICAyMjksIDUyLCAyNDIsIDE0NCwgMjU1LCAyMywgNTgsIDEsIDIzMCwgMjI5LCA1MiwgMjU1LCAxMiwgMjU1LCAyMywgNTgsIDEsIAotICAgIDEyMSwgMTg0LCA1OCwgMSwgMjIzLCAxNjAsIDI0OSwgMjM0LCA1OCwgMSwgMjUyLCA2NiwgMTI1LCAyMTYsIDMxLCA1OCwgMSwgCi0gICAgMjQ1LCAxNTEsIDEyNSwgMjE2LCAzMSwgNTgsIDEsIDI1MiwgNjYsIDEyMSwgMjE2LCAzMSwgNTgsIDEsIDI0NSwgMTUxLCAKLSAgICAxMjEsIDIxNiwgMzEsIDU4LCAxLCAyMjAsIDU2LCA1OCwgMSwgMjA0LCAyMjAsIDU2LCA1OCwgMSwgMTIxLCA0MywgNzUsIAotICAgIDM4LCAyNDIsIDE0NCwgMjU1LCAyMywgMzgsIDI1NSwgMTIsIDI1NSwgMjMsIDM4LCAyNTAsIDM5LCAyNTUsIDIzLCAzOCwgCi0gICAgMTg0LCAzOCwgMjMxLCAyMzcsIDM4LCAyMjYsIDEyMywgMzgsIDI1MSwgMTU0LCAzOCwgNTksIDQ4LCAzOCwgMjQ4LCA5LCAKLSAgICAzOCwgMjQxLCA1OSwgNDgsIDM4LCAyMjIsIDIzNywgNDgsIDM4LCA1MiwgMjU1LCAxMiwgMjU1LCAyMywgMzgsIDI1MCwgCi0gICAgMjQyLCAzOCwgNjcsIDIzMiwgMjIwLCA0OCwgMzgsIDUyLCA2NywgMjMyLCAyMjAsIDQ4LCAzOCwgNTIsIDI0MiwgMTQ0LCAKLSAgICAyNTUsIDIzLCAzOCwgMjUxLCA3LCAzOCwgMjM1LCAyMDAsIDI1MSwgMTU0LCAzOCwgMjE1LCA5NCwgMjQ5LCAyMjgsIDQ4LCAKLSAgICAzOCwgMjQ5LCAyMjgsIDQ4LCAzOCwgMjIzLCA1MiwgMjQ5LCAyMjgsIDQ4LCAzOCwgMjQ5LCAyMjgsIDcyLCAyMjIsIDI1NCwgCi0gICAgMzgsIDI0MiwgMTQ0LCAyNTUsIDI0LCA1MSwgMzgsIDI1NSwgMTIsIDI1NSwgMjQsIDUxLCAzOCwgNDMsIDIxNywgODksIDUxLCAKLSAgICAzOCwgNDQsIDIxNywgODksIDUxLCAzOCwgNDMsIDI1NCwgMTE4LCA0OCwgMzgsIDI0MCwgMjU1LCAzOCwgNDMsIDE2MywgCi0gICAgMjIyLCAyMzcsIDUxLCAzOCwgMTIwLCAyMTcsIDg5LCA1MSwgMzgsIDEyNCwgMjE3LCA4OSwgNTEsIDM4LCA5NiwgNSwgNTEsIAotICAgIDM4LCAyMzAsIDE4NywgNSwgNTEsIDM4LCAyMjYsIDY4LCAyNDEsIDU5LCA1MSwgMzgsIDIyMywgNTgsIDI0MSwgNTksIDUxLCAKLSAgICAzOCwgNTksIDUxLCAzOCwgMjQ4LCAxMCwgNTEsIDM4LCAyMjIsIDIzNywgNTEsIDM4LCAyNDksIDIyOCwgNTEsIDM4LCAyNTAsIAotICAgIDE5MSwgMzgsIDIyNiwgMjI4LCAzOCwgNjcsIDIzMiwgMjIwLCA1MSwgMzgsIDI1MSwgMTQ4LCA1MSwgMzgsIDIzNSwgMjAwLCAKLSAgICA1MiwgMjU0LCAzMiwgNTEsIDM4LCAyNTAsIDI0MywgNTEsIDM4LCAyNTAsIDM5LCAyNTUsIDI0LCA1MSwgMzgsIDI1MSwgCi0gICAgMTU1LCA1MSwgMzgsIDIzNSwgMjAwLCAyNTEsIDE1NSwgNTEsIDM4LCAyMTYsIDkwLCA1MSwgMzgsIDIzMSwgMjM4LCA1MSwgCi0gICAgMzgsIDEyMSwgMjMyLCAyMTksIDM4LCA1MiwgMTIxLCAyMzIsIDIxOSwgMzgsIDIxNiwgOTAsIDIyNiwgMTI0LCAzOCwgMjE5LCAKLSAgICAyNTMsIDIxOCwgMTA1LCAyMjYsIDEyNCwgMzgsIDIwMCwgMjE4LCAxMDUsIDIyNiwgMTI0LCAzOCwgMjE5LCAyNTMsIDIxOSwgCi0gICAgNDksIDIyNiwgMTI0LCAzOCwgMjAwLCAyMTksIDQ5LCAyMjYsIDEyNCwgMzgsIDQ0LCAxNjMsIDIyMiwgMjM3LCA1MSwgMzgsIAotICAgIDIzNSwgMjAwLCAyNTEsIDE0OCwgNTEsIDM4LCA0MiwgNTEsIDM4LCAyMjEsIDE4MiwgNTEsIDM4LCAyMTEsIDE3OSwgNDgsIAotICAgIDM4LCA2NywgMTg0LCAzOCwgNTIsIDIyNiwgMTIzLCAzOCwgMjQyLCAxNDQsIDEzOCwgNzksIDM4LCAyNTUsIDEyLCAxMzgsIAotICAgIDc5LCAzOCwgMjYsIDIyNSwgMTc4LCAzOCwgMjYsIDIzNCwgOCwgMzgsIDI2LCAyNDgsIDQsIDIxNiwgMTksIDM4LCAyNiwgCi0gICAgMjEwLCAyMTksIDM4LCAyNTEsIDE0OCwgNDgsIDM4LCAyNDUsIDEwNiwgNSwgNTEsIDM4LCA1MiwgNjcsIDIzMiwgMjIwLCAKLSAgICA1MSwgMzgsIDQzLCAyNTQsIDExOCwgNTEsIDM4LCAyMjgsIDU3LCAyMTYsIDkwLCA0OCwgMzgsIDI0MSwgNjUsIDQ4LCAzOCwgCi0gICAgMjU0LCAxNTYsIDEyOCwgMjE2LCA0MywgNDgsIDM4LCA0MywgNDQsIDgwLCA1MSwgMzgsIDIxNCwgMTUzLCA4MCwgNTEsIDM4LCAKLSAgICAyNDIsIDE0OSwgMjM1LCA2OSwgMzgsIDQ0LCAyNTQsIDIsIDQ4LCAzOCwgNDMsIDE2MywgMjIyLCAyMzcsIDQ4LCAzOCwgCi0gICAgMjQ0LCAxMzksIDM4LCAyMTEsIDE3OSwgNTEsIDM4LCA0MywgMjU0LCAyLCA1MSwgMzgsIDQ0LCAyNTQsIDIsIDUxLCAzOCwgCi0gICAgNDQsIDI1NCwgMiwgMjIsIDEyMCwgMjU0LCAyLCA1MSwgMzgsIDQ0LCAxNjMsIDIyMiwgMjM3LCA0OCwgMzgsIDU5LCA3MiwgCi0gICAgMjIyLCAyNTQsIDM4LCAyNTMsIDIyNSwgNTEsIDM4LCA1MiwgMjIyLCAyMzcsIDUxLCAzOCwgMjEwLCAzNSwgNDgsIDM4LCAKLSAgICA1MiwgMjUxLCAxNTUsIDUxLCAzOCwgNTIsIDI1MSwgMTU0LCAzOCwgNTIsIDIzMSwgMjM3LCAzOCwgNTIsIDIzMSwgMjM4LCAKLSAgICA1MSwgMzgsIDUyLCAxODQsIDM4LCA1MiwgMjM1LCAyMDAsIDI1MSwgMTU0LCAzOCwgNTIsIDk3LCA4MCwgNTEsIDM4LCA3LCAKLSAgICA0LCAxLCA2MSwgMzgsIDcsIDQsIDEsIDc2LCAzOCwgNywgNCwgMSwgNzQsIDM4LCA3LCA0LCAxLCA3OCwgMzgsIDcsIDQsIDEsIAotICAgIDY5LCAzOCwgNywgNCwgMSwgMjUxLCA3NCwgMzgsIDcsIDQsIDEsIDI0OSwgNjgsIDM4LCA3LCA0LCAxLCAyNDIsIDY3LCAzOCwgCi0gICAgNywgNCwgMSwgMTk0LCAzOCwgNywgNCwgMSwgMTUzLCAzOCwgNywgNCwgMSwgMjE3LCAxNTMsIDM4LCA3LCA0LCAxLCAyMTQsIAotICAgIDEwNSwgMzgsIDcsIDQsIDEsIDIxMSwgMTc4LCAyNiwgNiwgMSwgMjQxLCAyMDMsIDI2LCA0LCAxLCAyNDEsIDIwMywgMjYsIAotICAgIDYsIDEsIDI1NCwgMzEsIDIyMSwgMjQ4LCAyNiwgNCwgMSwgMjU0LCAzMSwgMjIxLCAyNDgsIDI2LCAyMjcsIDIwMiwgNTAsIAotICAgIDI2LCAyMzIsIDExNCwgMjI3LCAyMDIsIDUwLCAyNiwgNiwgMSwgMjI2LCA1NSwgMjQ3LCAyMzUsIDI2LCA0LCAxLCAyMjYsIAotICAgIDU1LCAyNDcsIDIzNSwgMjYsIDIxMCwgMjE5LCAyNiwgNCwgMjIzLCA1MiwgMjMyLCA4OCwgMjE5LCAxODAsIDg3LCAyNiwgNCwgCi0gICAgMjQ2LCAxMjYsIDIzMiwgODgsIDIxOSwgMTgwLCA4NywgMjYsIDQsIDIyMywgNTIsIDI0NiwgMTI2LCAyMzIsIDg4LCAyMTksIAotICAgIDE4MCwgODcsIDI2LCAyMjQsIDE2LCA3OSwgMjYsIDIxNiwgMTksIDI2LCAyNDgsIDQsIDIxNiwgMTksIDI2LCA2LCAxLCAKLSAgICAyNTQsIDE1MiwgMiwgMjE2LCAxOSwgMjYsIDI1NCwgMTA1LCAyMTcsIDMsIDI2LCA2LCAxLCAyNDUsIDEwOSwgMiwgMjE2LCAKLSAgICAxOSwgMjYsIDYsIDEsIDI0NSwgNzIsIDIsIDIxNiwgMTksIDI2LCA2LCAxLCAyMzUsIDE5MywgMiwgMjE2LCAxOSwgMjYsIDYsIAotICAgIDEsIDIyNiwgMjA0LCAyLCAyMTYsIDE5LCAyNiwgNiwgMSwgMjE0LCAxNTgsIDIsIDIxNiwgMTksIDI2LCA2LCAxLCAyMjYsIAotICAgIDIwNiwgMiwgMjE2LCAxOSwgMjYsIDQsIDEsIDIzNSwgMTkzLCAyLCAyNDgsIDQsIDIyLCAyMTYsIDE5LCAyNiwgNiwgMSwgCi0gICAgMjU0LCAxNTEsIDI2LCA2LCAxLCAyNTIsIDM0LCAyNiwgNiwgMSwgMjQzLCAxMTQsIDI2LCA2LCAxLCAyNDgsIDYyLCAyNiwgCi0gICAgNiwgMSwgMjQ1LCAxMDgsIDI2LCA2LCAxLCAyMTAsIDg1LCAyNiwgNiwgMSwgMjQ1LCA3MSwgMjYsIDYsIDEsIDIxNiwgMTgwLCAKLSAgICAyNiwgNiwgMSwgMjM1LCAxOTIsIDI2LCA2LCAxLCAyMzQsIDIyOCwgMjYsIDYsIDEsIDIzMywgMTA0LCAyNiwgNiwgMSwgCi0gICAgMjMwLCAxMDcsIDI2LCA2LCAxLCAyMjcsIDI0MiwgMjYsIDYsIDEsIDIxMSwgMTU3LCAyNiwgNiwgMSwgMjI2LCAyMDMsIDI2LCAKLSAgICA2LCAxLCAyMjUsIDExMSwgMjYsIDYsIDEsIDIyMywgNDAsIDI2LCA2LCAxLCAyMTksIDE3OSwgMjYsIDYsIDEsIDIxNywgNDIsIAotICAgIDI2LCA2LCAxLCAyMTQsIDE1NywgMjYsIDYsIDEsIDIyNSwgMTM2LCAyNiwgNiwgMSwgMjUwLCAxMTgsIDI2LCA2LCAxLCAKLSAgICAyMjQsIDE2NCwgMjYsIDYsIDEsIDIyNiwgMjA1LCAyNiwgNiwgMSwgMjM1LCAxOTMsIDIsIDI0OCwgMywgMjYsIDYsIDEsIAotICAgIDIxNCwgMTU4LCAyLCAyNDgsIDMsIDI2LCA0LCAxLCAyNTQsIDE1MiwgMiwgMjE2LCAxOSwgMjYsIDQsIDEsIDI0NSwgMTA5LCAKLSAgICAyLCAyMTYsIDE5LCAyNiwgNCwgMSwgMjQ1LCA3MiwgMiwgMjE2LCAxOSwgMjYsIDQsIDEsIDIzNSwgMTkzLCAyLCAyMTYsIAotICAgIDE5LCAyNiwgNCwgMSwgMjE0LCAxNTgsIDIsIDI0OCwgNCwgMjIsIDIxNiwgMTksIDI2LCA0LCAxLCAyNTQsIDE1MSwgMjYsIAotICAgIDQsIDEsIDI1MiwgMzQsIDI2LCA0LCAxLCAyNDMsIDExNCwgMjYsIDQsIDEsIDI0OCwgNjIsIDI2LCA0LCAxLCAyNDUsIDEwOCwgCi0gICAgMjYsIDQsIDEsIDIxMCwgODUsIDI2LCA0LCAxLCAyNDUsIDcxLCAyNiwgNCwgMSwgMjE2LCAxODAsIDI2LCA0LCAxLCAyMzUsIAotICAgIDE5MiwgMjYsIDQsIDEsIDIzNCwgMjI4LCAyNiwgNCwgMSwgMjMzLCAxMDQsIDI2LCA0LCAxLCAyMzAsIDEwNywgMjYsIDQsIAotICAgIDEsIDIyNywgMjQyLCAyNiwgNCwgMSwgMjExLCAxNTcsIDI2LCA0LCAxLCAyMjYsIDIwMywgMjYsIDQsIDEsIDIyNSwgMTExLCAKLSAgICAyNiwgNCwgMSwgMjIzLCA0MCwgMjYsIDQsIDEsIDQwLCAyMTksIDE3OSwgMjYsIDQsIDEsIDIxOSwgMTc5LCAyNiwgNCwgMSwgCi0gICAgMjE3LCA0MiwgMjYsIDQsIDEsIDIxNCwgMTU3LCAyNiwgNCwgMSwgMjI1LCAxMzYsIDI2LCA0LCAxLCAyNTAsIDExOCwgMjYsIAotICAgIDQsIDEsIDIyNCwgMTY0LCAyNiwgNCwgMSwgMjI2LCAyMDUsIDI2LCA0LCAxLCAyMzUsIDE5MywgMiwgMjQ4LCAzLCAyNiwgNCwgCi0gICAgMSwgMjE0LCAxNTgsIDIsIDI0OCwgMywgMjYsIDQsIDEsIDIyNiwgMjA0LCAyLCAyMTYsIDE5LCAyNiwgNCwgMSwgMjE0LCAKLSAgICAxNTgsIDIsIDIxNiwgMTksIDI2LCA0LCAxLCAyMjYsIDIwNiwgMiwgMjE2LCAxOSwgMjYsIDYsIDIzNCwgMjUzLCA4NywgMjYsIAotICAgIDI1MiwgMzUsIDg3LCAyNiwgMjE2LCAxODEsIDg3LCAyNiwgMjE0LCAxNTgsIDIsIDI0MSwgNTksIDg3LCAyNiwgMjE0LCAKLSAgICAxNTgsIDIsIDI1NSwgMTIsIDIyLCAyNDEsIDU5LCA4NywgMjYsIDIxNCwgMTU4LCAyLCAyNDgsIDEwLCAyMiwgMjQxLCA1OSwgCi0gICAgODcsIDI2LCAyMjUsIDEzNywgODcsIDI2LCAyMjUsIDExMiwgODcsIDI2LCAyMzQsIDI1MywgODcsIDI2LCAxLCAyNTQsIDMxLCAKLSAgICAyMzQsIDEyLCAyNiwgNCwgMSwgMjU0LCAzMSwgMjM0LCAxMiwgMjYsIDEsIDIxOCwgMTM5LCAyNiwgNCwgMSwgMjE4LCAxMzksIAotICAgIDI2LCAxLCAyNDcsIDIzNSwgMjYsIDQsIDEsIDI0NywgMjM1LCAyNiwgMSwgMjM0LCAxMiwgMjYsIDQsIDEsIDIzNCwgMTIsIAotICAgIDI2LCAxLCAyMjEsIDI0OCwgMjYsIDQsIDEsIDIyMSwgMjQ4LCA4MSwgNiwgMSwgMjIwLCA1NywgODEsIDQsIDEsIDIyMCwgCi0gICAgNTcsIDgxLCA2LCAxLCAyNDQsIDE0OCwgODEsIDQsIDEsIDI0NCwgMTQ4LCA4MSwgNiwgMSwgMjM0LCAxMjMsIDgxLCA0LCAxLCAKLSAgICAyMzQsIDEyMywgODEsIDYsIDEsIDI0MSwgNTIsIDgxLCA0LCAxLCAyNDEsIDUyLCA4MSwgNiwgMSwgMjQzLCAxMDksIDgxLCAKLSAgICA0LCAxLCAyNDMsIDEwOSwgODEsIDYsIDEsIDIyMCwgMjQsIDgxLCA0LCAxLCAyMjAsIDI0LCA4MSwgNiwgMSwgMjQ4LCA3NywgCi0gICAgODEsIDQsIDEsIDI0OCwgNzcsIDI2LCAyMzQsIDIyOSwgODcsIDI2LCAyMjMsIDQxLCA4NywgMjYsIDIzMiwgODgsIDIxOSwgCi0gICAgMTgwLCA4NywgMjYsIDEsIDIxMCwgMjI0LCAyNiwgNiwgMjE2LCAxODEsIDg3LCAyNiwgMjMyLCA4OCwgMjQ1LCAxMDksIDg3LCAKLSAgICAyNiwgMjIzLCA1MiwgMjMyLCA4OCwgMjQ1LCAxMDksIDg3LCAyNiwgNiwgMSwgMjIwLCA5LCAyNiwgNCwgMSwgMjIwLCA5LCAKLSAgICAyNiwgNiwgMjMyLCA4OCwgMjE5LCAxODAsIDg3LCAyNiwgNiwgMSwgMjIxLCAyNDUsIDI2LCA0LCAxLCAyMjEsIDI0NSwgMjYsIAotICAgIDIyMywgNDEsIDIsIDIxOCwgMTA1LCA4NywgMjYsIDYsIDIyMywgNTIsIDIzMiwgODgsIDIxOSwgMTgwLCA4NywgMjYsIDYsIAotICAgIDI0NiwgMTI2LCAyMzIsIDg4LCAyMTksIDE4MCwgODcsIDI2LCA2LCAyMjMsIDUyLCAyNDYsIDEyNiwgMjMyLCA4OCwgMjE5LCAKLSAgICAxODAsIDg3LCAzMywgNiwgMSwgMjM2LCA2OCwgMiwgMjQyLCAxNDMsIDMzLCA2LCAxLCAyMzUsIDE5NiwgMzMsIDYsIDEsIAotICAgIDI0NywgMTcwLCAzMywgNiwgMSwgMjQyLCAxOTQsIDMzLCA2LCAxLCAyMTQsIDIwMiwgMjM2LCA2NywgMzMsIDYsIDEsIDI0NiwgCi0gICAgNDQsIDMzLCA2LCAxLCAyNTEsIDg0LCA3NCwgMzMsIDYsIDEsIDIxMSwgOCwgMzMsIDYsIDEsIDIzNSwgMTMyLCAzMywgNiwgCi0gICAgMSwgMjMyLCAxOTMsIDMzLCA2LCAxLCAyMjgsIDE4MywgMzMsIDYsIDEsIDIxNSwgMTc1LCAzMywgNiwgMSwgMjM0LCA1NCwgCi0gICAgMzMsIDYsIDEsIDI0MCwgMTYxLCAyLCAyNDIsIDE0MywgMzMsIDYsIDEsIDIxOSwgMjUzLCA2OSwgMzMsIDYsIDEsIDI0NiwgCi0gICAgNDAsIDMzLCA2LCAxLCA2MSwgMzMsIDYsIDEsIDI1MiwgODMsIDMzLCA2LCAxLCAyMTMsIDI1NSwgMzMsIDYsIDEsIDI0MiwgCi0gICAgMjQzLCAzMywgNiwgMSwgMjQ4LCA5OCwgMzMsIDYsIDEsIDIzNiwgNjcsIDMzLCA2LCAxLCAyMTAsIDc0LCAzMywgNiwgMSwgCi0gICAgMjEwLCA5NCwgMzMsIDYsIDEsIDc0LCAzMywgNiwgMSwgMjE5LCAyNTMsIDc0LCAzMywgNiwgMSwgMTc2LCAzMywgNiwgMSwgCi0gICAgMjQ1LCAxODIsIDMzLCA2LCAxLCAyNDUsIDE2NywgMzMsIDYsIDEsIDI0NSwgMTU4LCAzMywgNiwgMSwgNzgsIDMzLCA2LCAxLCAKLSAgICAyMjUsIDIyNCwgMzMsIDYsIDEsIDI0NSwgMTAwLCAzMywgNiwgMSwgMjQ1LCA5MCwgMzMsIDYsIDEsIDIxNywgMjMsIDMzLCAKLSAgICA2LCAxLCA2OSwgMzMsIDYsIDEsIDI0NSwgMjEwLCAzMywgNiwgMSwgMTYyLCAzMywgNiwgMSwgMjE1LCAxNzksIDMzLCA2LCAKLSAgICAxLCAyNTAsIDEzOSwgMzMsIDYsIDEsIDIyMCwgMTA0LCAzMywgNiwgMSwgMjIwLCA2NywgMzMsIDYsIDEsIDI0MiwgMTAsIAotICAgIDUwLCAzMywgNiwgMSwgMjExLCAyNywgMzMsIDYsIDEsIDIxOSwgNTQsIDUwLCAzMywgNiwgMSwgNzYsIDMzLCA2LCAxLCAKLSAgICAyMTAsIDIxMiwgMzMsIDYsIDEsIDE5MiwgMzMsIDQsIDEsIDYxLCAzMywgNCwgMSwgMjUyLCA4MywgMzMsIDQsIDEsIDIxMywgCi0gICAgMjU1LCAzMywgNCwgMSwgMjQyLCAyNDMsIDMzLCA0LCAxLCAyNDgsIDk4LCAzMywgNCwgMSwgMjM2LCA2NywgMzMsIDQsIDEsIAotICAgIDIxMCwgNzQsIDMzLCA0LCAxLCAyMTAsIDk0LCAzMywgNCwgMSwgNzQsIDMzLCA0LCAxLCAyMTksIDI1MywgNzQsIDMzLCA0LCAKLSAgICAxLCAxNzYsIDMzLCA0LCAxLCAyNDUsIDE4MiwgMzMsIDQsIDEsIDI0NSwgMTY3LCAzMywgNCwgMSwgMjQ1LCAxNTgsIDMzLCAKLSAgICA0LCAxLCA3OCwgMzMsIDQsIDEsIDIyNSwgMjI0LCAzMywgNCwgMSwgMjQ1LCAxMDAsIDMzLCA0LCAxLCAyNDUsIDkwLCAzMywgCi0gICAgNCwgMSwgMjE3LCAyMywgMzMsIDQsIDEsIDY5LCAzMywgNCwgMSwgMjQ1LCAyMTAsIDMzLCA0LCAxLCAxNjIsIDMzLCA0LCAxLCAKLSAgICAyMTUsIDE3OSwgMzMsIDQsIDEsIDI1MCwgMTM5LCAzMywgNCwgMSwgMjIwLCAxMDQsIDMzLCA0LCAxLCAyMjAsIDY3LCAzMywgCi0gICAgNCwgMSwgMjQyLCAxMCwgNTAsIDMzLCA0LCAxLCAyMTEsIDI3LCAzMywgNCwgMSwgMjE5LCA1NCwgNTAsIDMzLCA0LCAxLCAKLSAgICA3NiwgMzMsIDQsIDEsIDIxMCwgMjEyLCAzMywgNCwgMSwgMTkyLCAzMywgNCwgMSwgMjM2LCA2OCwgMiwgMjQyLCAxNDMsIAotICAgIDMzLCA0LCAxLCAyMzUsIDE5NiwgMzMsIDQsIDEsIDI0NywgMTcwLCAzMywgNCwgMSwgMjQyLCAxOTQsIDMzLCA0LCAxLCAKLSAgICAyMTQsIDIwMiwgMjM2LCA2NywgMzMsIDQsIDEsIDI0NiwgNDQsIDMzLCA0LCAxLCAyNTEsIDg0LCA3NCwgMzMsIDQsIDEsIAotICAgIDIxMSwgOCwgMzMsIDQsIDEsIDIzNSwgMTMyLCAzMywgNCwgMSwgMjMyLCAxOTMsIDMzLCA0LCAxLCAyMjgsIDE4MywgMzMsIAotICAgIDQsIDEsIDIxNSwgMTc1LCAzMywgNCwgMSwgMjM0LCA1NCwgMzMsIDQsIDEsIDI0MCwgMTYxLCAyLCAyNDIsIDE0MywgMzMsIAotICAgIDQsIDEsIDIxOSwgMjUzLCA2OSwgMzMsIDQsIDEsIDI0NiwgNDAsIDMzLCA2LCAxLCAyMjYsIDIwNSwgMzMsIDQsIDEsIDIyNiwgCi0gICAgMjA1LCAzMywgNiwgMSwgMjExLCA1OSwgMzMsIDQsIDEsIDIxMSwgNTksIDMzLCA2LCAxLCAyMzUsIDE5MCwgNzYsIDMzLCA0LCAKLSAgICAxLCAyMzUsIDE5MCwgNzYsIDMzLCA2LCAxLCAyMzIsIDE5OCwgMjEwLCAxODMsIDMzLCA0LCAxLCAyMzIsIDE5OCwgMjEwLCAKLSAgICAxODMsIDMzLCA2LCAxLCAyMzUsIDE5MCwgMjMyLCAxOTgsIDIxMCwgMTgzLCAzMywgNCwgMSwgMjM1LCAxOTAsIDIzMiwgCi0gICAgMTk4LCAyMTAsIDE4MywgMzMsIDYsIDEsIDI1MiwgMSwgMjEwLCAxODMsIDMzLCA0LCAxLCAyNTIsIDEsIDIxMCwgMTgzLCAKLSAgICAzMywgNiwgMSwgMjM1LCAxOTAsIDI1MiwgMSwgMjEwLCAxODMsIDMzLCA0LCAxLCAyMzUsIDE5MCwgMjUyLCAxLCAyMTAsIAotICAgIDE4MywgMzMsIDYsIDEsIDIzMywgMjM5LCAzMywgNCwgMSwgMjMzLCAyMzksIDMzLCA2LCAxLCAyMjQsIDE2NCwgMzMsIDQsIAotICAgIDEsIDIyNCwgMTY0LCAzMywgNiwgMSwgMjQ0LCA5MCwgMzMsIDQsIDEsIDI0NCwgOTAsIDMzLCA2LCAxLCAyMzUsIDE1MiwgCi0gICAgMzMsIDQsIDEsIDIzNSwgMTUyLCAzMywgNiwgMSwgMjM1LCAxNTMsIDIsIDUyLCAyNDIsIDE0NCwgMjU1LCAyMywgMzMsIDQsIAotICAgIDEsIDIzNSwgMTUzLCAyLCA1MiwgMjQyLCAxNDQsIDI1NSwgMjMsIDMzLCA2LCAxLCAyMTQsIDIwNSwgMzMsIDQsIDEsIDIxNCwgCi0gICAgMjA1LCAzMywgNiwgMSwgMjIyLCAxODcsIDIyNiwgMjA1LCAzMywgNCwgMSwgMjIyLCAxODcsIDIyNiwgMjA1LCAzMywgNiwgCi0gICAgMSwgMjI2LCAyMDYsIDIsIDIxNiwgNjYsIDMzLCA0LCAxLCAyMjYsIDIwNiwgMiwgMjE2LCA2NiwgMzMsIDYsIDEsIDIyNiwgCi0gICAgMTQ0LCAzMywgNCwgMSwgMjI2LCAxNDQsIDMzLCA2LCAxLCAyMzQsIDEyLCAzMywgNCwgMSwgMjM0LCAxMiwgMzMsIDIxNiwgCi0gICAgMTQ3LCA1MCwgMzgsIDMzLCAyMTYsIDY2LCAzOCwgMzMsIDIyNiwgNjksIDM4LCAzMywgMjQ4LCAxNjIsIDIyNSwgMjEsIDM4LCAKLSAgICAzMywgMjI0LCAxNTgsIDIyNSwgMjEsIDM4LCAzMywgMjI1LCA2LCAzOCwgMzMsIDI0MCwgMjE4LCAyMTYsIDE0NywgNTAsIAotICAgIDM4LCAzMywgMjMwLCAxOTYsIDUwLCAzMywgNiwgMSwgMjE5LCAyNTMsIDI0MCwgMTYxLCAyLCAyMTcsIDc4LCAzMywgNCwgMSwgCi0gICAgMjE5LCAyNTMsIDI0MCwgMTYxLCAyLCAyMTcsIDc4LCAzMywgNiwgMSwgMjIwLCAxNDgsIDUwLCAzMywgNCwgMSwgMjIwLCAKLSAgICAxNDgsIDUwLCAzMywgNiwgMSwgMjQ1LCAxMDEsIDIsIDIxNiwgMTE1LCAzMywgNCwgMSwgMjQ1LCAxMDEsIDIsIDIxNiwgCi0gICAgMTE1LCAzMywgNiwgMSwgMjQyLCAyNDQsIDIsIDIxNCwgMTU2LCAzMywgNCwgMSwgMjQyLCAyNDQsIDIsIDIxNCwgMTU2LCAKLSAgICAzMywgNiwgMSwgMjQyLCAyNDQsIDIsIDkxLCAzMywgNCwgMSwgMjQyLCAyNDQsIDIsIDkxLCAzMywgNiwgMSwgMjQyLCAyNDQsIAotICAgIDIsIDIzMCwgMjI5LCAxMDMsIDMzLCA0LCAxLCAyNDIsIDI0NCwgMiwgMjMwLCAyMjksIDEwMywgMzMsIDYsIDEsIDIxMCwgCi0gICAgNzUsIDIsIDI0OCwgNDcsIDMzLCA0LCAxLCAyMTAsIDc1LCAyLCAyNDgsIDQ3LCAzMywgNiwgMSwgMjEwLCA5NSwgMiwgMjQ4LCAKLSAgICA0NywgMzMsIDQsIDEsIDIxMCwgOTUsIDIsIDI0OCwgNDcsIDMzLCA2LCAxLCAyMzUsIDE5LCAyLCAyNDgsIDQ3LCAzMywgNCwgCi0gICAgMSwgMjM1LCAxOSwgMiwgMjQ4LCA0NywgMzMsIDYsIDEsIDIzNSwgMTksIDIsIDY3LCA5MSwgMzMsIDQsIDEsIDIzNSwgMTksIAotICAgIDIsIDY3LCA5MSwgMzMsIDYsIDEsIDIzNSwgMTksIDIsIDkxLCAzMywgNCwgMSwgMjM1LCAxOSwgMiwgOTEsIDMzLCA2LCAxLCAKLSAgICAyNTIsIDEzMiwgMTc2LCAzMywgNCwgMSwgMjUyLCAxMzIsIDE3NiwgMzMsIDYsIDEsIDI0NSwgMTU5LCAyLCAyNDgsIDQ3LCAKLSAgICAzMywgNCwgMSwgMjQ1LCAxNTksIDIsIDI0OCwgNDcsIDMzLCA2LCAyNywgMjQ1LCAxNTksIDI0MiwgMjQzLCAzMywgNCwgMjcsIAotICAgIDI0NSwgMTU5LCAyNDIsIDI0MywgMzMsIDYsIDEsIDIyNSwgMjI1LCAyLCAyMzAsIDIyOSwgMTAzLCAzMywgNCwgMSwgMjI1LCAKLSAgICAyMjUsIDIsIDIzMCwgMjI5LCAxMDMsIDMzLCA2LCAxLCAyNTUsIDI5LCAxNjIsIDMzLCA0LCAxLCAyNTUsIDI5LCAxNjIsIAotICAgIDMzLCA2LCAxLCAyNDUsIDkxLCAyLCAyNDgsIDQ3LCAzMywgNCwgMSwgMjQ1LCA5MSwgMiwgMjQ4LCA0NywgMzMsIDYsIDEsIAotICAgIDIxNywgMjQsIDIsIDI0OCwgNDcsIDMzLCA0LCAxLCAyMTcsIDI0LCAyLCAyNDgsIDQ3LCAzMywgNiwgMSwgMjE4LCAxMjMsIAotICAgIDY5LCAzMywgNCwgMSwgMjE4LCAxMjMsIDY5LCAzMywgNiwgMSwgMjE4LCAxMjMsIDEwNCwgMiwgOTEsIDMzLCA0LCAxLCAKLSAgICAyMTgsIDEyMywgMTA0LCAyLCA5MSwgMzMsIDYsIDEsIDI0MiwgNTYsIDIsIDI0OCwgNDcsIDMzLCA0LCAxLCAyNDIsIDU2LCAKLSAgICAyLCAyNDgsIDQ3LCAzMywgNiwgMjcsIDIxNywgMjQsIDIxNSwgMTc5LCAzMywgNCwgMjcsIDIxNywgMjQsIDIxNSwgMTc5LCAKLSAgICAzMywgNiwgMSwgMjUwLCAxNDAsIDIsIDI0OCwgNDcsIDMzLCA0LCAxLCAyNTAsIDE0MCwgMiwgMjQ4LCA0NywgMzMsIDYsIDEsIAotICAgIDI1MCwgMTQwLCAyLCA2NywgOTEsIDMzLCA0LCAxLCAyNTAsIDE0MCwgMiwgNjcsIDkxLCAzMywgNiwgMSwgMjIwLCAzNSwgCi0gICAgMzMsIDQsIDEsIDIyMCwgMzUsIDMzLCA2LCAxLCAyNTUsIDI5LCAyNTAsIDEzOSwgMzMsIDQsIDEsIDI1NSwgMjksIDI1MCwgCi0gICAgMTM5LCAzMywgNiwgMSwgMjU1LCAyOSwgMjUwLCAxNDAsIDIsIDI0OCwgNDcsIDMzLCA0LCAxLCAyNTUsIDI5LCAyNTAsIAotICAgIDE0MCwgMiwgMjQ4LCA0NywgMzMsIDEsIDIyNiwgNjIsIDMzLCA2LCAxLCAyMTAsIDc1LCAyLCAyNTEsIDE1NCwgMzMsIDQsIAotICAgIDEsIDIxMCwgNzUsIDIsIDI1MSwgMTU0LCAzMywgNiwgMSwgMjM1LCAxOSwgMiwgMTAzLCAzMywgNCwgMSwgMjM1LCAxOSwgMiwgCi0gICAgMTAzLCAzMywgNiwgMSwgMjQ1LCAxODMsIDIsIDIxNywgNzgsIDMzLCA0LCAxLCAyNDUsIDE4MywgMiwgMjE3LCA3OCwgMzMsIAotICAgIDYsIDEsIDI0NSwgMTU5LCAyLCAxMDMsIDMzLCA0LCAxLCAyNDUsIDE1OSwgMiwgMTAzLCAzMywgNiwgMSwgMjQ1LCAxNTksIAotICAgIDIsIDIxNywgNzgsIDMzLCA0LCAxLCAyNDUsIDE1OSwgMiwgMjE3LCA3OCwgMzMsIDYsIDEsIDIzNCwgMTMzLCAyNTAsIDEzOSwgCi0gICAgMzMsIDQsIDEsIDIzNCwgMTMzLCAyNTAsIDEzOSwgMzMsIDYsIDEsIDI0NSwgMTY4LCAyLCAyMTcsIDc4LCAzMywgNCwgMSwgCi0gICAgMjQ1LCAxNjgsIDIsIDIxNywgNzgsIDMzLCA0LCAxLCAyMjYsIDYyLCAzMywgNiwgMSwgMTE2LCAyLCAyNTEsIDE1NCwgMzMsIAotICAgIDQsIDEsIDExNiwgMiwgMjUxLCAxNTQsIDMzLCA2LCAxLCAxMTYsIDIsIDI0OCwgOSwgMzMsIDQsIDEsIDExNiwgMiwgMjQ4LCAKLSAgICA5LCAzMywgNiwgMjcsIDExNiwgMjM2LCA2NywgMzMsIDQsIDI3LCAxMTYsIDIzNiwgNjcsIDMzLCA2LCAxLCAyMzYsIDY4LCAKLSAgICAyLCAyNTEsIDE1NCwgMzMsIDQsIDEsIDIzNiwgNjgsIDIsIDI1MSwgMTU0LCAzMywgNiwgMSwgMjIxLCAxOTcsIDMzLCA0LCAKLSAgICAxLCAyMjEsIDE5NywgMzMsIDYsIDEsIDIyMSwgMTk4LCAyLCAyNDgsIDksIDMzLCA0LCAxLCAyMjEsIDE5OCwgMiwgMjQ4LCAKLSAgICA5LCAzMywgNiwgMSwgMjEwLCA3NSwgMiwgMjQ4LCA5LCAzMywgNCwgMSwgMjEwLCA3NSwgMiwgMjQ4LCA5LCAzMywgNiwgMSwgCi0gICAgMjEwLCA5NSwgMiwgMjQ4LCA5LCAzMywgNCwgMSwgMjEwLCA5NSwgMiwgMjQ4LCA5LCAzMywgNiwgMSwgMjU1LCAyOSwgMjQ2LCAKLSAgICA0NCwgMzMsIDQsIDEsIDI1NSwgMjksIDI0NiwgNDQsIDMzLCA2LCAxLCAyNDAsIDE2MSwgMiwgMjMxLCAyMzcsIDMzLCA0LCAKLSAgICAxLCAyNDAsIDE2MSwgMiwgMjMxLCAyMzcsIDMzLCA2LCAxLCAyNDAsIDE2MSwgMiwgMjQ4LCA5LCAzMywgNCwgMSwgMjQwLCAKLSAgICAxNjEsIDIsIDI0OCwgOSwgMzMsIDYsIDEsIDE0NCwgMiwgMjQ4LCA5LCAzMywgNCwgMSwgMTQ0LCAyLCAyNDgsIDksIDMzLCAKLSAgICA2LCAxLCAyNTIsIDE0MiwgNzgsIDMzLCA0LCAxLCAyNTIsIDE0MiwgNzgsIDMzLCA2LCAxLCAyNTIsIDE0MiwgMTQ0LCAyLCAKLSAgICAyNDgsIDksIDMzLCA0LCAxLCAyNTIsIDE0MiwgMTQ0LCAyLCAyNDgsIDksIDMzLCA2LCAxLCAxNjAsIDIsIDI0OCwgOSwgMzMsIAotICAgIDQsIDEsIDE2MCwgMiwgMjQ4LCA5LCAzMywgNiwgMSwgMTA0LCAyLCAyMzEsIDIzNywgMzMsIDQsIDEsIDEwNCwgMiwgMjMxLCAKLSAgICAyMzcsIDMzLCA2LCAxLCAxMDQsIDIsIDI0OCwgOSwgMzMsIDQsIDEsIDEwNCwgMiwgMjQ4LCA5LCAzMywgNiwgMSwgMTA0LCAKLSAgICAyLCA1MiwgMTQyLCAzMywgNCwgMSwgMTA0LCAyLCA1MiwgMTQyLCAzMywgNiwgMSwgMjUwLCAxNDAsIDIsIDI0OCwgOSwgMzMsIAotICAgIDQsIDEsIDI1MCwgMTQwLCAyLCAyNDgsIDksIDMzLCA2LCAxLCAyNDIsIDI0NCwgMiwgMjQ4LCA0NywgMzMsIDQsIDEsIDI0MiwgCi0gICAgMjQ0LCAyLCAyNDgsIDQ3LCAzMywgNiwgMSwgMjExLCAyOCwgMiwgMjQ4LCA5LCAzMywgNCwgMSwgMjExLCAyOCwgMiwgMjQ4LCAKLSAgICA5LCAzMywgNiwgMSwgMjQyLCAyNDQsIDIsIDIxOCwgMTA1LCAyMiwgMTAzLCAzMywgNCwgMSwgMjQyLCAyNDQsIDIsIDIxOCwgCi0gICAgMTA1LCAyMiwgMTAzLCAzMywgNiwgMSwgMjQyLCA1NiwgMiwgMTAzLCAzMywgNCwgMSwgMjQyLCA1NiwgMiwgMTAzLCAzMywgCi0gICAgNiwgMSwgMjQyLCA1NiwgMiwgOTEsIDMzLCA0LCAxLCAyNDIsIDU2LCAyLCA5MSwgMzMsIDYsIDEsIDIzNCwgMjAsIDI0OCwgCi0gICAgOTgsIDMzLCA0LCAxLCAyMzQsIDIwLCAyNDgsIDk4LCAzMywgNiwgMSwgMjM0LCAyMCwgMjQ3LCAxNzAsIDMzLCA0LCAxLCAKLSAgICAyMzQsIDIwLCAyNDcsIDE3MCwgMzMsIDYsIDEsIDIzNCwgMjAsIDIxMCwgMjcsIDMzLCA0LCAxLCAyMzQsIDIwLCAyMTAsIAotICAgIDI3LCAzMywgNiwgMSwgMjM0LCAyMCwgMjQ2LCAzOCwgMzMsIDQsIDEsIDIzNCwgMjAsIDI0NiwgMzgsIDMzLCA2LCAxLCAKLSAgICAyMzQsIDIwLCAyMzIsIDE5MywgMzMsIDQsIDEsIDIzNCwgMjAsIDIzMiwgMTkzLCAzMywgNiwgMSwgMjM0LCAyMCwgMjI4LCAKLSAgICAxODMsIDMzLCA0LCAxLCAyMzQsIDIwLCAyMjgsIDE4MywgMzMsIDYsIDEsIDIzNCwgMjAsIDIxOSwgMTExLCAzMywgNCwgMSwgCi0gICAgMjM0LCAyMCwgMjE5LCAxMTEsIDMzLCA2LCAxLCAyMzQsIDIwLCAyMTYsIDYxLCAzMywgNCwgMSwgMjM0LCAyMCwgMjE2LCAKLSAgICA2MSwgMzMsIDYsIDEsIDIyMywgNTIsIDIxMCwgOTQsIDMzLCA0LCAxLCAyMjMsIDUyLCAyMTAsIDk0LCAzMywgNiwgMSwgCi0gICAgMjQ1LCAxODMsIDIsIDEwMywgMzMsIDQsIDEsIDI0NSwgMTgzLCAyLCAxMDMsIDMzLCA2LCAxLCAyMzMsIDQsIDMzLCA0LCAxLCAKLSAgICAyMzMsIDQsIDMzLCA2LCAxLCAyMjMsIDQyLCAzMywgNCwgMSwgMjIzLCA0MiwgMzMsIDYsIDEsIDIxMSwgOTIsIDMzLCA0LCAKLSAgICAxLCAyMTEsIDkyLCAzMywgNiwgMSwgMjI0LCA5MSwgMzMsIDQsIDEsIDIyNCwgOTEsIDMzLCA2LCAxLCAyMTIsIDIyLCAzMywgCi0gICAgNCwgMSwgMjEyLCAyMiwgMzMsIDYsIDEsIDI1NCwgMTc1LCAxNzYsIDMzLCA0LCAxLCAyNTQsIDE3NSwgMTc2LCAzMywgNiwgCi0gICAgMSwgMjQ1LCAxODMsIDIsIDIzMCwgMjI5LCAxMDMsIDMzLCA0LCAxLCAyNDUsIDE4MywgMiwgMjMwLCAyMjksIDEwMywgMzMsIAotICAgIDYsIDEsIDI0NSwgMTU5LCAyLCAyMzAsIDIyOSwgMTAzLCAzMywgNCwgMSwgMjQ1LCAxNTksIDIsIDIzMCwgMjI5LCAxMDMsIAotICAgIDMzLCA2LCAxLCAyMjUsIDIyNSwgMiwgMjQ4LCA0NywgMzMsIDQsIDEsIDIyNSwgMjI1LCAyLCAyNDgsIDQ3LCAzMywgNiwgMSwgCi0gICAgMjIwLCAzNiwgMiwgMjQ4LCA0NywgMzMsIDQsIDEsIDIyMCwgMzYsIDIsIDI0OCwgNDcsIDE1MCwgNiwgMSwgMjUzLCAxNzIsIAotICAgIDE1MCwgNiwgMSwgMjUyLCA0NywgMTUwLCA2LCAxLCAyNDIsIDIxMCwgMTUwLCA2LCAxLCAyNDgsIDIyOSwgMTUwLCA2LCAxLCAKLSAgICAyNDUsIDIyMSwgMTUwLCA2LCAxLCAyMTAsIDExNiwgMTUwLCA2LCAxLCAyNDUsIDIwNSwgMTUwLCA2LCAxLCAyNDUsIDczLCAKLSAgICAxNTAsIDYsIDEsIDExMiwgMTUwLCA2LCAxLCAyMTAsIDc0LCAxNTAsIDYsIDEsIDIzNSwgMjM0LCAxNTAsIDYsIDEsIDIzMiwgCi0gICAgMTk2LCAxNTAsIDYsIDEsIDIxMSwgMTYwLCAxNTAsIDYsIDEsIDI1MSwgNDEsIDE1MCwgNiwgMSwgMjM0LCAxNzEsIDE1MCwgCi0gICAgNiwgMSwgMjQxLCA3NSwgMTUwLCA2LCAxLCAyMzUsIDE0NywgMTUwLCA2LCAxLCAyNDIsIDI1MywgMTUwLCA2LCAxLCAyNTAsIAotICAgIDEzNCwgMTUwLCA2LCAxLCAyMzEsIDYzLCAxNTAsIDYsIDEsIDIxMSwgOCwgMTUwLCA2LCAxLCAyMjgsIDQ0LCAxNTAsIDYsIAotICAgIDEsIDIyMCwgMTA0LCAxNTAsIDYsIDEsIDIxMywgMTM4LCAxNTAsIDYsIDEsIDI1MCwgMTY1LCAxNTAsIDYsIDEsIDIyNSwgCi0gICAgMjA4LCAxNTAsIDYsIDEsIDIzNSwgMTE2LCAxNTAsIDYsIDEsIDIwNSwgMTUwLCA2LCAxLCAyMjEsIDE2MywgMTUwLCA2LCAxLCAKLSAgICAyMTMsIDE3OSwgMTUwLCA2LCAxLCAyMTYsIDYzLCAxNTAsIDYsIDEsIDIyMywgOTgsIDE1MCwgNiwgMSwgMjQ5LCAyNDYsIAotICAgIDE1MCwgNiwgMSwgMjEwLCAyNDksIDE1MCwgNiwgMSwgMjI1LCA0OSwgMTUwLCA2LCAxLCAyMzQsIDE4MiwgMTUwLCA2LCAxLCAKLSAgICAyMjYsIDIyNiwgMTUwLCA2LCAxLCAyNDQsIDE1MCwgMTUwLCA1OCwgMSwgNDMsIDE2MywgMjIyLCAyMzYsIDE1MCwgMjU0LCAKLSAgICA2NSwgMTUwLCAyNDUsIDE2MiwgNzksIDE1MCwgMjQ1LCAzOSwgNzksIDE1MCwgMjQ5LCAyMjcsIDE1MCwgMjI0LCAxNiwgNzksIAotICAgIDE1MCwgMjU1LCAzMCwgNzksIDE1MCwgNCwgMSwgMjUzLCAxNzIsIDE1MCwgNCwgMSwgMjUyLCA0NywgMTUwLCA0LCAxLCAKLSAgICAyNDIsIDIxMCwgMTUwLCA0LCAxLCAyNDgsIDIyOSwgMTUwLCA0LCAxLCAyNDUsIDIyMSwgMTUwLCA0LCAxLCAyMTAsIDExNiwgCi0gICAgMTUwLCA0LCAxLCAyNDUsIDIwNSwgMTUwLCA0LCAxLCAyNDUsIDczLCAxNTAsIDQsIDEsIDExMiwgMTUwLCA0LCAxLCAyMTAsIAotICAgIDc0LCAxNTAsIDQsIDEsIDIzNSwgMjM0LCAxNTAsIDQsIDEsIDIzMiwgMTk2LCAxNTAsIDQsIDEsIDIxMSwgMTYwLCAxNTAsIAotICAgIDQsIDEsIDI1MSwgNDEsIDE1MCwgNCwgMSwgMjM0LCAxNzEsIDE1MCwgNCwgMSwgMjQxLCA3NSwgMTUwLCA0LCAxLCAyMzUsIAotICAgIDE0NywgMTUwLCA0LCAxLCAyNDIsIDI1MywgMTUwLCA0LCAxLCAyNTAsIDEzNCwgMTUwLCA0LCAxLCAyMzEsIDYzLCAxNTAsIAotICAgIDQsIDEsIDIxMSwgOCwgMTUwLCA0LCAxLCAyMjgsIDQ0LCAxNTAsIDQsIDEsIDIyMCwgMTA0LCAxNTAsIDQsIDEsIDIxMywgCi0gICAgMTM4LCAxNTAsIDQsIDEsIDI1MCwgMTY1LCAxNTAsIDQsIDEsIDIyNSwgMjA4LCAxNTAsIDQsIDEsIDIzNSwgMTE2LCAxNTAsIAotICAgIDQsIDEsIDIwNSwgMTUwLCA0LCAxLCAyMjEsIDE2MywgMTUwLCA0LCAxLCAyMTMsIDE3OSwgMTUwLCA0LCAxLCAyMTYsIDYzLCAKLSAgICAxNTAsIDQsIDEsIDIyMywgOTgsIDE1MCwgNCwgMSwgMjQ5LCAyNDYsIDE1MCwgNCwgMSwgMjEwLCAyNDksIDE1MCwgNCwgMSwgCi0gICAgMjI1LCA0OSwgMTUwLCA0LCAxLCAyMzQsIDE4MiwgMTUwLCA0LCAxLCAyMjYsIDIyNiwgMTUwLCA0LCAxLCAyNDQsIDE1MCwgCi0gICAgMTUwLCA0LCAyNywgMjQ1LCAyMjIsIDIxMCwgMjQ5LCAxNTAsIDI0MywgMjM2LCAyMTgsIDEzMSwgMTUwLCAyNDAsIDE3NSwgCi0gICAgMTUwLCAyNDYsIDEwMywgNTAsIDk0LCAyNTUsIDI0LCAyNDUsIDY1LCA5NCwgMjU1LCAyNCwgMjIxLCAxNjQsIDk0LCAyNTUsIAotICAgIDI0LCAyMjAsIDkwLCA5NCwgMjU1LCAyNCwgMjEwLCAxMDQsIDIyNCwgNzQsIDk0LCAyNTUsIDI0LCAyMTAsIDEwNCwgMjQzLCAKLSAgICAxMzIsIDk0LCAyNTUsIDI0LCAyMTYsIDc2LCA5NCwgMjU1LCAyNCwgMjIzLCA1MCwgOTQsIDI1NSwgMjQsIDIxMCwgMTAzLCAKLSAgICA5NCwgMjU1LCAyNCwgMjI1LCAyNDksIDk0LCAyNTUsIDI0LCAyMTEsIDIwLCA5NCwgMjU1LCAyNCwgMjE2LCAyMTUsIDk0LCAKLSAgICAyNTUsIDI0LCAyNDMsIDQ4LCA5NCwgMjU1LCAyNCwgMjQzLCA0OSwgMjMwLCA3NCwgOTQsIDI1NSwgMjQsIDI0MywgNDYsIAotICAgIDk0LCAyNTUsIDI0LCAyMjQsIDc1LCAyMjYsIDIwLCA5NCwgMjU1LCAyNCwgMjE2LCAyNTQsIDI0MywgNjMsIDk0LCAyNTUsIAotICAgIDI0LCAyMjUsIDIzMCwgOTQsIDI1NSwgMjQsIDI1MywgMjA4LCAyNDIsIDQ4LCA5NCwgMjU1LCAyNCwgMjMwLCA4NCwgOTQsIAotICAgIDI1NSwgMjQsIDIzMSwgMjEzLCA5NCwgMjU1LCAyNCwgMjMxLCA1NCwgOTQsIDI1NSwgMjQsIDIzMSwgNTUsIDIzNCwgMTgzLCAKLSAgICA5NCwgMjU1LCAyNCwgMjQ4LCAxNzEsIDk0LCAyNTUsIDI0LCAyMjQsIDg2LCA5NCwgMjU1LCAyNCwgMjE2LCAyNTQsIDIyNCwgCi0gICAgNzAsIDk0LCAyNTUsIDI0LCAyMTEsIDMwLCAyNTIsIDQ4LCAyMTAsIDIzMCwgOTQsIDI1NSwgMjQsIDIyNiwgMjExLCA5NCwgCi0gICAgMjU1LCAyNCwgMjM2LCAyNiwgOTQsIDI1NSwgMjQsIDI0OCwgNzgsIDk0LCAyNTUsIDI0LCAyMTAsIDMzLCA5NCwgMTY0LCAKLSAgICAyMzEsIDE0OCwgMjUwLCA0MywgOTQsIDIyNSwgMTQsIDIyMCwgMzgsIDk0LCAyMjUsIDE0LCAyNDIsIDEsIDIyMSwgMTY0LCAKLSAgICA5NCwgMjI1LCAxNCwgMjQyLCAxLCAyMjUsIDI0MywgOTQsIDIyNSwgMTQsIDI0MiwgMSwgMjI0LCA3OSwgOTQsIDIyNSwgMTQsIAotICAgIDI0MSwgMTY1LCA5NCwgMjI1LCAxNCwgMjE1LCAxNzcsIDk0LCAyMjUsIDE0LCAyMjEsIDE2NCwgOTQsIDIyNSwgMTQsIDIyNSwgCi0gICAgMjQzLCA5NCwgMjI1LCAxNCwgMjI0LCA3OSwgOTQsIDIyNSwgMTQsIDI0MSwgNjgsIDk0LCAyMjUsIDE0LCAyNDEsIDY5LCAKLSAgICAyNDIsIDMsIDMxLCAyMTQsIDMsIDk0LCAyMjUsIDE0LCAyMjQsIDIwLCA5NCwgMjI1LCAxNCwgMjQ4LCAyMTYsIDE3NywgCi0gICAgMjMxLCAxNzYsIDk0LCAyMjUsIDE0LCAyMzEsIDQzLCA5NCwgMjI0LCAxNDQsIDIzMSwgMTczLCA5NCwgMjI1LCAxNCwgMjIzLCAKLSAgICAxNzIsIDk0LCAyMjQsIDE0NCwgMjI1LCAyNTEsIDk0LCAyMjUsIDE0LCAyMjAsIDIzLCAyNDcsIDEyOCwgOTQsIDIyNSwgMTQsIAotICAgIDIxOSwgMTYxLCAyNDcsIDEyOCwgOTQsIDIyNCwgMTQ0LCAyMTksIDU1LCAyMjUsIDI0NSwgOTQsIDE2NCwgMjE0LCAxNjAsIAotICAgIDI0NywgMTI4LCA5NCwgMTY0LCAyMzIsIDExNCwgMjQ3LCAxMjgsIDk0LCAyMjQsIDE0NCwgMjI3LCAxOTksIDI0MiwgNDcsIAotICAgIDk0LCAyMjUsIDE0LCAyMjQsIDgwLCAyMjQsIDc0LCA5NCwgMSwgMjU0LCAxNzksIDk0LCAxLCAyNTIsIDM2LCA5NCwgMSwgCi0gICAgMjQyLCAyMDgsIDk0LCAxLCAyNDgsIDE5NywgOTQsIDEsIDI0MSwgMjQ1LCA5NCwgMSwgMjE0LCAzLCA5NCwgMSwgMjEwLCAKLSAgICA5NywgOTQsIDEsIDI0MSwgMjA0LCA5NCwgMSwgMjE2LCAyMzEsIDk0LCAxLCAyMTAsIDIzMywgOTQsIDEsIDQwLCAyMzUsIDAsIAotICAgIDk0LCAxLCAyMzUsIDAsIDk0LCAxLCAyMzMsIDEwMCwgOTQsIDEsIDQwLCAyMzEsIDcwLCA5NCwgMSwgMjMxLCA3MCwgOTQsIAotICAgIDEsIDQwLCAyMjcsIDE5OCwgOTQsIDEsIDIyNywgMTk4LCA5NCwgMSwgMjIxLCAyNTEsIDk0LCAxLCAyNTMsIDE3MCwgOTQsIAotICAgIDEsIDQwLCAyMjUsIDIyNCwgOTQsIDEsIDIyNSwgMjI0LCA5NCwgMSwgNDAsIDIxNSwgMTgwLCA5NCwgMSwgMjE1LCAxODAsIAotICAgIDk0LCAxLCAyMjQsIDQyLCA5NCwgMSwgMjIzLCA3MCwgOTQsIDEsIDIyMCwgMjIsIDk0LCAxLCAyMTcsIDM5LCA5NCwgMjcsIAotICAgIDIxMSwgNiwgNTIsIDIxNCwgMywgOTQsIDI3LCAyMTEsIDYsIDIxNCwgNCwgMjEwLCAyMzMsIDk0LCAyNywgMjExLCA2LCA1MiwgCi0gICAgMjEwLCAyMzMsIDk0LCAyMjQsIDE0NCwgMjQzLCA0OCwgOTQsIDIyNCwgMTQ0LCAyNDMsIDQ2LCA5LCA1NCwgNTAsIDksIDUsIAotICAgIDIyMSwgMjQ0LCA5LCAyNDQsIDM4LCAyMzEsIDE1OSwgOSwgNSwgMjIyLCAyNSwgOSwgNSwgMjIxLCAyNDcsIDI1NCwgNDUsIAotICAgIDI0OSwgMTE3LCAyMjIsIDE5NSwgMjU0LCA0NSwgMjQ0LCAxMiwgMjIyLCAxOTUsIDksIDIyMywgMTM3LCAyNTQsIDQ1LCAKLSAgICAyMjUsIDE4NiwgMjMwLCAxOTgsIDUwLCAyNTQsIDQ1LCAyMjUsIDE4NiwgMjE2LCAyNDksIDIxNiwgMTQ5LCA1MCwgMjU0LCAKLSAgICAyMzAsIDUwLCA5LCAyNDksIDIyNywgOSwgMjQ4LCAxNTgsIDIyMCwgMTM5LCA5LCAyMjUsIDE2LCAyMTMsIDI0MSwgNTAsIDksIAotICAgIDUsIDIzMCwgMTc5LCA5LCA1LCAyMjIsIDUsIDI1NCwgMTgxLCAyMTIsIDQ1LCA5LCA1LCAyNTQsIDE4MSwgMjUzLCAyMjksIAotICAgIDksIDUsIDIyMywgMTcwLCAyNTQsIDE4MCwgOSwgNSwgMjIzLCAxNzgsIDI1NCwgMTYxLCAyNTQsIDExMiwgOSwgNSwgMjE3LCAKLSAgICA3MSwgOSwgNCwgMTI1LCAyMTcsIDgxLCA5LCA0LCAxMjUsIDI3LCAxMDksIDIsIDIzMywgMTA5LCAyLCAyMTEsIDQzLCA5LCAKLSAgICA0LCAxMjUsIDIxMCwgMTA4LCA5LCA0LCAyNDQsIDE3MywgOSwgNCwgMjQ4LCAxOTIsIDksIDQsIDIzNCwgMjExLCA5LCAyMjAsIAotICAgIDE1MiwgOSwgMSwgNzksIDksIDIxNSwgMjEyLCA1OSwgMjI0LCAxNDQsIDc5LCA5LCAyMjQsIDE2LCA3OSwgOSwgMSwgMjM0LCAKLSAgICAyMTUsIDIxMSwgNDMsIDksIDEsIDI0MiwgMjYsIDksIDEsIDEwOSwgMiwgMjMxLCAyMzMsIDQ4LCA5LCAxLCAxMDksIDIsIAotICAgIDE4MiwgNDgsIDksIDEsIDIxMiwgMzEsIDIsIDE4MiwgNDgsIDksIDEsIDEwOSwgMiwgMTgyLCA1MSwgOSwgMSwgNzcsIDIsIAotICAgIDE4MiwgNDgsIDksIDEsIDI1NCwgMTc5LCA5LCAxLCAyNTIsIDYyLCA5LCAxLCAyMTcsIDksIDIzMSwgMTY5LCA5LCAxLCAKLSAgICAyMTcsIDgsIDksIDEsIDIxNiwgMTkzLCA5LCAxLCAyMzUsIDEyOSwgOSwgMSwgMjQyLCA0NCwgOSwgMSwgMjM0LCAxMzUsIDksIAotICAgIDEsIDI0OCwgMjAzLCA5LCAxLCAyMTYsIDIwMywgOSwgMSwgMjIzLCA5OCwgOSwgMSwgMjEwLCAxMDgsIDksIDEsIDIyMSwgCi0gICAgMTY4LCA5LCAxLCAyMjAsIDYxLCA5LCAxLCAyMjIsIDI4LCA5LCAxLCAyNDgsIDIyNCwgOSwgMSwgMjE3LCA4MSwgOSwgMSwgCi0gICAgMjEwLCAxMTEsIDksIDEsIDI1NCwgMjA1LCA5LCAxLCAyNDIsIDI1MSwgOSwgMSwgMjM0LCAxODEsIDIsIDExMywgMTcwLCAKLSAgICA0OCwgOSwgMSwgMjM0LCAxODEsIDIsIDEzNCwgMTcwLCA1MSwgOSwgMSwgMjQ0LCAxNzYsIDc3LCAyLCAyMzUsIDIwMCwgCi0gICAgMjE0LCAxMDUsIDksIDEsIDI0NCwgMTc2LCA3NywgMiwgMTEzLCAxNzAsIDQ4LCA5LCAxLCAyNDQsIDE3NiwgNzcsIDIsIAotICAgIDEzNCwgMTcwLCA0OCwgOSwgMjE3LCA0NCwgOSwgMSwgMjQ0LCAxNTAsIDksIDEsIDIyNCwgODQsIDksIDEsIDIzNSwgMCwgOSwgCi0gICAgMSwgMjMzLCAxMDgsIDksIDEsIDIzMSwgODMsIDksIDEsIDIyOCwgNjcsIDksIDEsIDI0MSwgMjI1LCA5LCAxLCAyMTIsIDMwLCAKLSAgICA5LCAxLCAxMDksIDIzMSwgMTk3LCA5LCAxLCAyMTEsIDQzLCA5LCAyNDQsIDE3MSwgOSwgMjQ4LCAxOTAsIDksIDIzNCwgCi0gICAgMjA5LCA5LCAyNDQsIDE3MywgOSwgMjQ4LCAxOTIsIDksIDIzNCwgMjExLCA5LCAyMjAsIDk1LCA5LCAyMTgsIDQ2LCA5LCAKLSAgICAyMzEsIDIzMSwgNDgsIDksIDE4MiwgNDgsIDksIDE4MiwgNTEsIDksIDIxOCwgNjYsIDI1NCwgMTc5LCA5LCAyMzUsIDIwMCwgCi0gICAgMjQ4LCAxOTIsIDksIDE2NCwgMjI4LCA2OCwgMjQyLCAyMjUsIDksIDIwOSwgMjU1LCA5LCAyNSwgNSwgNCwgMjE0LCAxMDYsIAotICAgIDQ4LCA5LCAyNSwgNSwgMjM1LCAyMDAsIDQsIDIxNCwgMTA2LCA0OCwgOSwgMjUsIDUsIDU5LCA1MSwgOSwgMjIzLCA1MiwgCi0gICAgMjQ4LCAxOTIsIDksIDI0NCwgMTc0LCAyLCAxMTMsIDI0NywgMTI2LCA5LCAyMTIsIDMyLCAxODIsIDUxLCAyNTQsIDQ1LCAKLSAgICAyMSwgMjEwLCA4NiwgMjU0LCA0NSwgMjEsIDExMSwgMjU0LCA0NSwgMjEsIDEwNSwgMjU0LCA0NSwgMjEsIDE1OCwgMjU0LCAKLSAgICA0NSwgMjEsIDE2MSwgMjU0LCA0NSwgMjEsIDE5MCwgMjU0LCA0NSwgMjEsIDE5NSwgMjU0LCA0NSwgMjEsIDE5OSwgMjU0LCAKLSAgICA0NSwgMjEsIDE5NiwgMjU0LCA0NSwgMjEsIDIwMSwgOSwgMjI1LCAxODUsIDUwLCA5LCAyNDgsIDkxLCAyMjAsIDEzOSwgOSwgCi0gICAgMjE2LCAxNDcsIDIyMCwgMTM5LCA5LCAyNDQsIDg5LCAyMjUsIDEyLCAyMTgsIDE1OCwgOSwgMSwgMjQ3LCAxMjcsIDI1MiwgCi0gICAgNjIsIDksIDEsIDI0NywgMTI3LCAyMjQsIDg0LCA5LCAxLCAyMTgsIDI0LCAyNTQsIDE3OSwgOSwgMSwgMTA5LCAyMTIsIDQ2LCAKLSAgICA5LCAxLCAxMDksIDIsIDIxMiwgMzIsIDE4MiwgNDgsIDksIDEsIDEwOSwgMiwgMjEyLCAzMiwgMTgyLCA1MSwgOSwgMSwgCi0gICAgMTI1LCAyNDIsIDI2LCA5LCAxLCAxMjUsIDE4MiwgMjU0LCAxNzksIDksIDEsIDEyNSwgMTgyLCAyMTIsIDMwLCA5LCAxLCAKLSAgICAxMDQsIDIsIDE4MiwgNDgsIDksIDEsIDEyNSwgMTgyLCAyMTEsIDQzLCA5LCAxLCAyMTUsIDE0OSwgOSwgMSwgMjE1LCAxNDcsIAotICAgIDksIDEsIDI1MiwgNzIsIDksIDEsIDIxNywgOSwgMiwgMjIyLCAyMzYsIDksIDEsIDIxNywgOSwgMiwgMTM0LCAxNzAsIDcyLCAKLSAgICAyNDYsIDExMSwgOSwgMSwgMjI1LCAyMDgsIDksIDEsIDIxNywgNiwgOSwgMSwgMjUyLCA2MCwgOSwgMSwgMTIyLCAyLCAxODIsIAotICAgIDQ4LCA5LCAxLCAxMjIsIDIsIDExMywgMTcwLCA2NywgNDgsIDksIDEsIDIyNywgMTU3LCA5LCAxLCAyNDYsIDUxLCA5LCAxLCAKLSAgICAxMjIsIDIsIDEzNCwgMTcwLCA0OCwgOSwgMSwgMjE3LCAyNywgOSwgMSwgMjE3LCAyNSwgOSwgMSwgMjQ4LCAxMzgsIDksIDEsIAotICAgIDI0OCwgMjA0LCAyLCAyMjIsIDIzNiwgOSwgMSwgMjQ4LCAyMDQsIDIsIDU5LCA1MSwgOSwgMSwgMjQ4LCAyMDQsIDIsIDU5LCAKLSAgICAyNTIsIDUxLCAyMiwgNCwgMjE3LCA4MSwgOSwgMSwgMjQ4LCAyMDksIDksIDEsIDI0OCwgMTQwLCA5LCAxLCAyNDYsIDc4LCAKLSAgICA5LCAxLCAyNDgsIDIwNCwgMiwgMTM0LCAxNzAsIDcyLCAyNDYsIDExMSwgOSwgMSwgMjQ4LCAyMDQsIDIsIDI0NCwgMTksIAotICAgIDE3MCwgNDgsIDksIDEsIDIyMiwgMTczLCA5LCAxLCAyMjMsIDk5LCAyLCA0LCAyMTQsIDEwNSwgOSwgMSwgMjIzLCA5OSwgMiwgCi0gICAgMjIyLCAyMzYsIDksIDEsIDIyMywgOTksIDIsIDU5LCA1MSwgOSwgMSwgMjIzLCA5OSwgMiwgNCwgMjE0LCAxMDYsIDUxLCA5LCAKLSAgICAxLCAyMjMsIDk5LCAyLCA1OSwgMjUyLCA1MSwgMjIsIDU5LCA0OCwgOSwgMSwgMjIzLCA5OSwgMiwgMTEzLCAxNzAsIDQ4LCAKLSAgICA5LCAxLCAyMzUsIDEyNiwgOSwgMSwgMjIzLCA5OSwgMiwgMjQ0LCAxOSwgMTcwLCA0OCwgOSwgMSwgMjIxLCAxNjksIDIsIAotICAgIDU5LCAyNTIsIDUxLCAyMiwgNTksIDQ4LCA5LCAxLCAyMjEsIDE2OSwgMiwgMTM0LCAxNzAsIDUxLCA5LCAxLCAyMjEsIDE2OSwgCi0gICAgMiwgMTM0LCAxNzAsIDI1MiwgNTEsIDIyLCAxMzQsIDE3MCwgNDgsIDksIDEsIDIyMiwgMjksIDIsIDExMywgMTcwLCA1MSwgCi0gICAgOSwgMSwgMjIyLCAyOSwgMiwgMTM0LCAxNzAsIDQ4LCA5LCAxLCAyMTcsIDgyLCAyLCAxMzQsIDE3MCwgNDgsIDksIDEsIAotICAgIDI1NCwgMjA2LCAyLCAxMzQsIDE3MCwgNDgsIDksIDEsIDI0NywgMTI3LCAyNDQsIDE1MCwgOSwgMSwgMjQ0LCAxNTEsIDIsIAotICAgIDU5LCAyMzAsIDExNCwgNTEsIDksIDEsIDI0NCwgMTUxLCAyLCA1OSwgNTEsIDksIDEsIDIxMywgMjQ4LCA5LCAxLCAyNDQsIAotICAgIDE1MSwgMiwgMTM0LCAxNzAsIDUxLCA5LCAxLCAyMjUsIDIwNiwgOSwgMSwgMjI0LCA4NSwgMiwgNTksIDQ4LCA5LCAxLCAKLSAgICAyMjQsIDg1LCAyLCAxMzQsIDE3MCwgNDgsIDksIDEsIDIzNCwgMTgwLCA5LCAxLCAyMTcsIDI1MSwgMjM1LCAwLCA5LCAxLCAKLSAgICAyMzUsIDEsIDIsIDIyMiwgMjM2LCA5LCAxLCAyMzUsIDEsIDIsIDU5LCA0OCwgOSwgMSwgMjI5LCA4NCwgOSwgMSwgMjM1LCAKLSAgICAxLCAyLCAxMzQsIDE3MCwgNTEsIDksIDEsIDI0MywgMTI5LCA5LCAxLCAyNDMsIDEzMCwgMiwgMjIyLCAyMzYsIDksIDEsIAotICAgIDIyOSwgNywgOSwgMSwgMjQzLCAxMzAsIDIsIDExMywgMTcwLCA1MSwgOSwgMSwgMjQyLCAxMDgsIDksIDEsIDI0MywgMTMwLCAKLSAgICAyLCAxMzQsIDE3MCwgNDgsIDksIDEsIDIzMywgMTA5LCAyLCA0LCAyMTQsIDEwNSwgOSwgMSwgMjMzLCAxMDksIDIsIDU5LCAKLSAgICA0OCwgOSwgMSwgMjMzLCAxMDksIDIsIDEzNCwgMTcwLCA0OCwgOSwgMSwgMjMzLCAxMDksIDIsIDEzNCwgMTcwLCA1MSwgOSwgCi0gICAgMSwgMjI4LCA2OCwgMiwgNTksIDUxLCA5LCAxLCAyMjgsIDY4LCAyNDIsIDIyNSwgOSwgMSwgMjIyLCAyMTYsIDksIDEsIAotICAgIDIyOCwgNjgsIDIsIDIyMiwgMjM2LCA5LCAxLCAyMjgsIDY4LCAyLCAxMzQsIDE3MCwgNDgsIDksIDEsIDI0MSwgMjI2LCAKLSAgICAyNDcsIDE0OSwgOSwgMSwgMjE3LCAyOCwgMiwgNTksIDQ4LCA5LCAxLCAyNDEsIDIyNiwgMiwgNzcsIDQ4LCA5LCAxLCAyNDEsIAotICAgIDIyNiwgMjQyLCAxNzgsIDksIDEsIDI0MSwgMjI2LCAyNDIsIDE3OSwgMiwgMTgyLCA0OCwgOSwgMSwgMjE3LCA5LCAyMzEsIAotICAgIDE3MCwgMjQyLCAxNzgsIDksIDEsIDIxMiwgMzEsIDIsIDIyMiwgMjM2LCA5LCAxLCAyMzQsIDc5LCAyMjYsIDIzOCwgOSwgMSwgCi0gICAgMjI2LCAyMzgsIDksIDEsIDY5LCA5LCAxLCAyMTAsIDIxMiwgOSwgMSwgMjM0LCA3OSwgMjEwLCAyMTIsIDksIDEsIDIxMiwgCi0gICAgMzEsIDIsIDExMywgMTcwLCA0OCwgOSwgMSwgMjEzLCAyNTUsIDksIDEsIDI0NCwgMTc2LCAyMTEsIDQzLCA5LCAxLCA3NywgCi0gICAgMiwgMjE3LCA3OCwgOSwgMSwgNzcsIDIsIDQsIDIxNCwgMTA1LCA5LCAxLCAyMTIsIDMxLCAyLCA1OSwgNDgsIDksIDEsIDc2LCAKLSAgICA5LCAxLCA3NywgMiwgMTM0LCAxNzAsIDUxLCA5LCAxLCA3NywgMjUyLCAxNDAsIDksIDEsIDc3LCAyNTIsIDE0MSwgMiwgCi0gICAgMTgyLCA0OCwgOSwgMjQzLCAyMzYsIDIxOCwgMTMxLCA5LCAxLCAyNTQsIDI1MiwgOSwgNCwgMTI1LCAyNywgMjIyLCAyOSwgCi0gICAgMiwgMjMzLCAxMDksIDIsIDEwOSwgMjMxLCAxOTcsIDksIDQsIDEyNSwgMjcsIDIyNCwgODUsIDIsIDIzMywgMTA5LCAyLCAKLSAgICAxMDksIDIzMSwgMTk3LCA5LCA0LCAxMjUsIDY2LCA2NSwgMTcsIDksIDQsIDEyNSwgMjMzLCAxMDksIDI1NCwgMTc5LCA5LCAKLSAgICA0LCAxMjUsIDIzNSwgMTI5LCA5LCA0LCAxMjUsIDEzNCwgMjQ3LCAxMjYsIDksIDQsIDEyNSwgMjIxLCAxNjgsIDksIDI0NSwgCi0gICAgMTUxLCA2NCwgMjUzLCAxNzQsIDksIDIxOCwgMTU0LCA2NCwgMjIyLCAxNDAsIDI0NSwgMTgzLCAyNDEsIDE2MiwgOSwgNCwgCi0gICAgMTI1LCAyMjIsIDE4NSwgMjEwLCA4NiwgOSwgNCwgMTI1LCAyMTQsIDE1OSwgMjIzLCAxMTgsIDIxMCwgODYsIDksIDQsIAotICAgIDEyNSwgMjQ3LCAxMjcsIDI0MSwgMjQzLCA2NCwgMjM0LCAxMzUsIDksIDQsIDEyNSwgNjYsIDUzLCAxNywgOSwgNCwgMTIxLCAKLSAgICAyMjEsIDE2OCwgOSwgNCwgMTI1LCAyMzEsIDIzMiwgOSwgNCwgMjEyLCAzMCwgOSwgNCwgMjExLCA0MywgOSwgNCwgMTI1LCAKLSAgICAyMTEsIDQzLCA5LCA0LCAxMjUsIDIyOCwgNjcsIDksIDIyNSwgNDQsIDY0LCAyMjIsIDE1LCA5LCAyNDUsIDE2MCwgMjUwLCAKLSAgICAxODMsIDEyMSwgMjE4LCAxMzEsIDksIDI0NSwgMTYwLCAyNTAsIDE4MywgMTI1LCAyMTgsIDEzMSwgOSwgMjIyLCAxODUsIAotICAgIDEyNSwgMjE4LCAxMzIsIDIsIDI0NCwgMTEyLCAyNTAsIDE4MiwgOSwgNCwgMTIxLCAyMzEsIDgzLCA5LCAxLCAyNDgsIDIwNCwgCi0gICAgMiwgMjM1LCAyMDAsIDIxNCwgMTA1LCA5LCAxLCAyMjMsIDk5LCAyLCAyMzUsIDIwMCwgMjE0LCAxMDUsIDI0NSwgMzAsIAotICAgIDI1NCwgNDUsIDIxLCAyMTAsIDg2LCAyNDUsIDMwLCAyNTQsIDQ1LCAyMSwgMTExLCAyNDUsIDMwLCAyNTQsIDQ1LCAyMSwgCi0gICAgMTA1LCAyNDUsIDMwLCAyNTQsIDQ1LCAyMSwgMTU4LCAyNDUsIDMwLCAyNTQsIDQ1LCAyMSwgMTYxLCAyNDUsIDMwLCAyNTQsIAotICAgIDQ1LCAyMSwgMTkwLCAyNDUsIDMwLCAyNTQsIDQ1LCAyMSwgMTk1LCAyNDUsIDMwLCAyNTQsIDQ1LCAyMSwgMTk5LCAyNDUsIAotICAgIDMwLCAyNTQsIDQ1LCAyMSwgMTk2LCAyNDUsIDMwLCAyNTQsIDQ1LCAyMSwgMjAxLCA5LCAxLCAyMjAsIDYyLCAyLCA1OSwgCi0gICAgNTEsIDksIDEsIDI0OCwgMjI1LCAyLCA1OSwgNTEsIDksIDEsIDI0MiwgMjUyLCAyLCA1OSwgNTEsIDksIDUsIDIxOSwgMTYwLCAKLSAgICAyNTQsIDEzNCwgOSwgNSwgMjE5LCAxNjAsIDIyNCwgMjM4LCAyMzEsIDYzLCA5LCAxLCAyNDEsIDIyNiwgMiwgMjM1LCAyMDAsIAotICAgIDIxNCwgMTA1LCAxODMsIDI0NSwgMTUxLCA2NCwgMjI2LCAxOCwgMTgzLCAyMTgsIDIwLCAyNDMsIDIzNiwgMjE4LCAxMzEsIAotICAgIDE4MywgMjE4LCA2OCwgMjQzLCAyMzYsIDIxOCwgMTMxLCAxODMsIDIxOCwgMjAsIDI0OSwgMjM0LCAxODMsIDIxOCwgNjgsIAotICAgIDI0OSwgMjM0LCAxODMsIDIwMywgMjQ5LCAyMzQsIDE4MywgMjQ5LCAyMzUsIDIxOSwgMTA4LCAyMzMsIDUyLCAxODMsIDI0OSwgCi0gICAgMjM1LCAyMTksIDEwOCwgMjIyLCAyNTQsIDE4MywgMjE4LCAyMCwgMjQ5LCAyMzUsIDIxOSwgMTA4LCAyMzMsIDUyLCAxODMsIAotICAgIDIxOCwgNjgsIDI0OSwgMjM1LCAyMTksIDEwOCwgMjIyLCAyNTQsIDE4MywgMjQ5LCAxODgsIDE4MywgMjQyLCA4LCAyMjYsIAotICAgIDI1NCwgMTgzLCAyNDIsIDgsIDIzMSwgNDEsIDE4MywgMjQyLCA4LCAyNTMsIDIyNiwgMTgzLCAyNTUsIDMwLCA3OSwgMTgzLCAKLSAgICAxLCAyNTQsIDE4MywgMTgzLCAxLCAyMTgsIDI0LCAyNTQsIDE4MywgMTgzLCAxLCAyNTIsIDMzLCAxODMsIDEsIDI0MywgCi0gICAgMTIwLCAxODMsIDEsIDI0MywgMTIxLCAyNDMsIDk4LCAxODMsIDEsIDI0OCwgMjAwLCAxODMsIDEsIDI0NywgMTI3LCAyNDgsIAotICAgIDIwMSwgMjIyLCAyMzIsIDE4MywgMSwgMjQxLCAyNDUsIDE4MywgMSwgMjEyLCAzMCwgMTgzLCAxLCAyMTAsIDEwOCwgMTgzLCAKLSAgICAxLCAyNDEsIDIwMiwgMTgzLCAxLCAyMTYsIDIyNywgMTgzLCAxLCAyMTYsIDIyOCwgMjQzLCA5OCwgMTgzLCAxLCAyMTAsIAotICAgIDE5OSwgMTgzLCAxLCAyMTAsIDIwMCwgMjQxLCAyNDUsIDE4MywgMSwgMjM0LCAyMzEsIDE4MywgMSwgMjMzLCAxMDcsIDE4MywgCi0gICAgMSwgMjMwLCAxOTUsIDE4MywgMSwgMjI3LCAxOTgsIDE4MywgMSwgMjIwLCAxNDUsIDE4MywgMSwgNDAsIDIyMCwgMTQ1LCAKLSAgICAxODMsIDEsIDc2LCAxODMsIDEsIDIyNSwgMjI0LCAxODMsIDEsIDIyMywgNTIsIDIyNSwgMjI0LCAxODMsIDEsIDIyMiwgMjYsIAotICAgIDE4MywgMSwgMjI0LCA3OCwgMTgzLCAxLCAyMjIsIDIzMiwgMTgzLCAxLCAyMjAsIDIyLCAxODMsIDEsIDIxNywgMzcsIDE4MywgCi0gICAgMSwgMjI1LCAxNzIsIDI1MiwgMjAsIDE4MywgMSwgMjI1LCAxNzIsIDI0MiwgMjQ5LCAxODMsIDEsIDIyNSwgMTcyLCAyNDgsIAotICAgIDI4LCAxODMsIDIyNCwgMTU0LCA0OCwgMTgzLCAyMjQsIDE1NCwgNTEsIDE4MywgMjI0LCAxNTQsIDI0NiwgMTI1LCAxODMsIAotICAgIDIxMCwgMTcsIDQ4LCAxODMsIDIxMCwgMTcsIDUxLCAxODMsIDIxMCwgMTcsIDI0NiwgMTI1LCAxODMsIDIyMywgMTM0LCA0OCwgCi0gICAgMTgzLCAyMjMsIDEzNCwgNTEsIDE4MywgMjQ2LCAxMjYsIDIxMCwgMjQsIDI0MSwgNTEsIDE4MywgMjQ2LCAxMjYsIDIxMCwgCi0gICAgMjQsIDI1NCwgMTEzLCAxODMsIDI0MSwgMjQ4LCA0OCwgMTgzLCAyNDEsIDI0OCwgNTEsIDE4MywgMjQxLCAyNDcsIDI0NiwgCi0gICAgMTI1LCAxODMsIDI0NSwgODcsIDQ4LCAxODMsIDI0NSwgODcsIDUxLCAxODMsIDIyMiwgMTA5LCAxODMsIDI0NCwgMTQ0LCAKLSAgICAyNDcsIDEyOCwgMTgzLCAyMjMsIDI1MSwgMTgzLCAyMjIsIDEzNiwgMTgzLCAxMTMsIDY3LCAxNzAsIDQ4LCAxODMsIDExMywgCi0gICAgNjcsIDE3MCwgNTEsIDE4MywgMTM0LCAxNzAsIDQ4LCAxODMsIDEzNCwgMTcwLCA1MSwgMTgzLCAyMjYsIDI1MiwgMjMyLCAKLSAgICAyMjAsIDQ4LCAxODMsIDIyNiwgMjUyLCAyMzIsIDIyMCwgNTEsIDE4MywgMjMwLCA2MSwgMTgzLCAyNTIsIDEzOSwgMTgzLCAKLSAgICAxLCAyMTksIDUxLCAyMTAsIDgwLCAxODMsIDEsIDIxOSwgNTEsIDIzNCwgMTI4LCAxODMsIDEsIDIxOSwgNTEsIDI0NCwgCi0gICAgMTYyLCA5LCAxLCAyNTIsIDYzLCAyLCAxMzQsIDE3MCwgMjQxLCAxLCA1MSwgOSwgMSwgMjUyLCA2MywgMiwgNTksIDI1MiwgCi0gICAgNTEsIDIyLCAxMzQsIDE3MCwgNDgsIDksIDEsIDI1MiwgNjMsIDIsIDEzNCwgMTcwLCAyMjUsIDEwLCAyMTQsIDE1MywgNTEsIAotICAgIDksIDEsIDI1MiwgNjMsIDIsIDEzNCwgMTcwLCAyMjUsIDEwLCAyMTQsIDE1MywgMjUyLCA1MSwgMjIsIDExMywgMTcwLCA0OCwgCi0gICAgOSwgMSwgMjUyLCA2MywgMiwgMTEzLCAxNzAsIDI1MiwgNTEsIDIyLCA1OSwgNDgsIDksIDEsIDI1MiwgNjMsIDIsIDIzNSwgCi0gICAgMjAwLCA0LCAyMTQsIDEwNiwgNTEsIDksIDEsIDI1MiwgNjMsIDIsIDQsIDIxNCwgMTA1LCA5LCAxLCAxMjIsIDIsIDExMywgCi0gICAgMTcwLCA0OCwgOSwgMSwgMTIyLCAyLCAxMzQsIDE3MCwgMjI1LCAxMCwgMjE0LCAxNTMsIDUxLCA5LCAxLCAyNDgsIDIwNCwgCi0gICAgMiwgMTEzLCAxNzAsIDIxMywgMTg5LCAyNTIsIDUxLCAyMiwgNCwgMjE3LCA4MSwgOSwgMSwgMjQ4LCAyMDQsIDIsIDIzNSwgCi0gICAgMjAwLCA0LCAyMTQsIDEwNiwgNTEsIDksIDEsIDIyMywgOTksIDIsIDkxLCA5LCAxLCAyMjEsIDE2OSwgMiwgMjQ0LCAxOSwgCi0gICAgMTcwLCA0OCwgOSwgMSwgMjU0LCAyMDYsIDIsIDExMywgMTcwLCA0OCwgOSwgMSwgMjU0LCAyMDYsIDIsIDEzNCwgMTcwLCAKLSAgICAyMjUsIDEwLCAyNDYsIDExMiwgNDgsIDksIDEsIDI1NCwgMjA2LCAyLCAxMTMsIDE3MCwgMjEzLCAxODksIDQ4LCA5LCAxLCAKLSAgICAyNDQsIDE1MSwgMiwgMTEzLCAxNzAsIDUxLCA5LCAxLCAyNDQsIDE1MSwgMiwgMTM0LCAxNzAsIDIyNSwgMTAsIDIxNCwgCi0gICAgMTUzLCA1MSwgOSwgMSwgMjM0LCAxODEsIDIsIDU5LCA0OCwgOSwgMSwgMjM0LCAxODEsIDIsIDEzNCwgMTcwLCA0OCwgOSwgCi0gICAgMSwgMjM0LCAxODEsIDIsIDEzNCwgMTcwLCAyMjUsIDEwLCAyMTQsIDE1MywgNTEsIDksIDEsIDY2LCAyLCA1OSwgNDgsIDksIAotICAgIDEsIDY2LCAyLCA1OSwgNTEsIDksIDEsIDIyOCwgNjgsIDIsIDExMywgMTcwLCA1MSwgOSwgMSwgMjI4LCA2OCwgMiwgNCwgCi0gICAgMjE3LCA4MSwgOSwgMSwgMjI4LCA2OCwgMiwgNCwgMjE0LCAxMDUsIDksIDEsIDIzMywgMTA5LCAyLCAxMzAsIDksIDEsIAotICAgIDIyMywgOTksIDIsIDExMywgMTcwLCAyMTMsIDE4OSwgNDgsIDksIDEsIDIyMywgOTksIDIsIDE4MiwgNDgsIDksIDEsIDIyMSwgCi0gICAgMTY5LCAyLCAxMTMsIDE3MCwgMjEzLCAxODksIDQ4LCA5LCAxLCAxMjIsIDIsIDQsIDksIDEsIDIxNywgODIsIDUxLCA5LCAxLCAKLSAgICAxMjIsIDIsIDQsIDksIDEsIDIxNywgODIsIDIyLCAxMTMsIDI0NywgMTI2LCA5LCAxLCAyMjEsIDE2OSwgMiwgNCwgOSwgMSwgCi0gICAgMjE3LCA4MiwgMjIsIDExMywgMjQ3LCAxMjYsIDksIDEsIDIyMywgOTksIDIsIDQsIDksIDEsIDIxNywgODIsIDIyLCAxMTMsIAotICAgIDI0NywgMTI2LCA5LCAxLCAxMjIsIDIsIDQsIDksIDEsIDIxNywgODIsIDQ4LCA5LCAxLCAxMDksIDIsIDI0NSwgMzAsIDI1NCwgCi0gICAgNDUsIDIxLCAxMTMsIDQ4LCA5LCAxLCAxMDksIDIsIDI0NSwgMzAsIDI1NCwgNDUsIDIxLCAxMzQsIDQ4LCA5LCAxLCAyNDQsIAotICAgIDE3NiwgNzcsIDIsIDI0NSwgMzAsIDI1NCwgNDUsIDIxLCAxMTMsIDQ4LCA5LCAxLCAyNDQsIDE3NiwgNzcsIDIsIDI0NSwgCi0gICAgMzAsIDI1NCwgNDUsIDIxLCAxMzQsIDQ4LCA5LCAxLCAyNDQsIDE3NiwgNzcsIDIsIDI0NSwgMzAsIDI1NCwgNDUsIDIxLCAKLSAgICAyNDQsIDE5LCA1MSwgOSwgMSwgMjEyLCAzMSwgMiwgMjQ1LCAzMCwgMjU0LCA0NSwgMjEsIDExMywgNDgsIDksIDEsIDIxMiwgCi0gICAgMzEsIDIsIDI0NSwgMzAsIDI1NCwgNDUsIDIxLCAxMzQsIDQ4LCA5LCAxLCA3NywgMjUyLCAxNDEsIDIsIDI0NSwgMzAsIAotICAgIDI1NCwgNDUsIDIxLCAxMTMsIDQ4LCA5LCAxLCA3NywgMjUyLCAxNDEsIDIsIDI0NSwgMzAsIDI1NCwgNDUsIDIxLCAxMzQsIAotICAgIDQ4LCA5LCAxLCAxMjIsIDIsIDI0NSwgMzAsIDI1NCwgNDUsIDIxLCAyNDQsIDE5LCA1MSwgOSwgMSwgMjIxLCAxNjksIDIsIAotICAgIDI0NSwgMzAsIDI1NCwgNDUsIDIxLCAyNDQsIDE5LCA0OCwgOSwgMSwgMjIxLCAxNjksIDIsIDIzNSwgMjAwLCAyMTQsIDEwNSwgCi0gICAgOSwgMSwgMjM1LCAxLCAyLCAxMTMsIDE3MCwgNDgsIDIxNiwgMjA2LCAxLCAyNDIsIDUzLCAyMTYsIDIwNiwgMSwgMjIwLCAKLSAgICA3MCwgMjE2LCAyMDYsIDEsIDIyOCwgNjYsIDIxNiwgMjA2LCAxLCAyMjMsIDE4NywgMjE2LCAyMDYsIDEsIDI1MiwgMTk3LCAKLSAgICAyMTYsIDIwNiwgMSwgMjMzLCAxLCAyMTYsIDIwNiwgMSwgMjM1LCAxNCwgMjE2LCAyMDYsIDEsIDI1NCwgMTY4LCAyMTYsIAotICAgIDIwNiwgMSwgMjE0LCAyNSwgMjE2LCAyMDYsIDEsIDIzMSwgODIsIDIxNiwgMjA2LCAxLCAyNDQsIDIwMiwgMjE2LCAyMDYsIAotICAgIDEsIDI0OCwgMzEsIDIxNiwgMjA2LCAxLCAyMTYsIDIwOCwgMjE2LCAyMDYsIDEsIDIzMywgMTM3LCAyMTYsIDIwNiwgMSwgCi0gICAgMjQzLCAxMzgsIDIxNiwgMjA2LCAxLCAyNDIsIDE4NCwgMjE2LCAyMDYsIDEsIDIyMSwgMTY3LCAyMTYsIDIwNiwgMSwgMjQ4LCAKLSAgICAxNTYsIDIxNiwgMjA2LCAxLCAyMTAsIDEwMCwgMjE2LCAyMDYsIDEsIDIxNywgMzgsIDIxNiwgMjA2LCAxLCAyMTEsIDEwMywgCi0gICAgMjE2LCAyMDYsIDEsIDIyNSwgMjM3LCAyMTYsIDIwNiwgMSwgMjM1LCAxMzQsIDIxNiwgMjA2LCAxLCAyNTAsIDE0MiwgMjE2LCAKLSAgICAyMDYsIDEsIDIxNSwgMTU2LCAyMTYsIDIwNiwgMSwgMjQxLCAxOTUsIDIxNiwgMjA2LCAxLCAyMzQsIDEzNywgMjE2LCAyMDYsIAotICAgIDEsIDIxNiwgMjA3LCAyMTYsIDIwNiwgMSwgMjEwLCAxMTUsIDIxNiwgMjA2LCAxLCAyMjAsIDYwLCAyMTYsIDIwNiwgMSwgCi0gICAgMjIyLCAzMiwgMjE2LCAyMDYsIDEsIDI0OCwgMjI3LCAyMTYsIDIwNiwgMSwgMTEyLCAyMTYsIDIwNiwgMSwgMjEwLCAyMywgCi0gICAgMjE2LCAyMDYsIDEsIDI1NCwgMjAyLCAyMTYsIDIwNiwgMSwgMjQyLCAyNTAsIDIxNiwgMjA2LCAxLCAyMjQsIDg4LCAyMTYsIAotICAgIDIwNiwgMSwgMjEyLCA2MywgMjE2LCAyMDYsIDI1NSwgMzEsIDIxNiwgMjA2LCAyNTUsIDQ3LCAyMTYsIDIwNiwgMjQwLCAKLSAgICAxMjEsIDIxNiwgMjA2LCAyNDUsIDIxNiwgMjE2LCAyMDYsIDIxNCwgMjIyLCAyMTYsIDIwNiwgMjI2LCAxODYsIDIxNiwgCi0gICAgMjA2LCAyNDUsIDIyNCwgMjE2LCAyMDYsIDI0NSwgMjQsIDIxNiwgMjA2LCAyMjYsIDI1MSwgMjE2LCAyMDYsIDIyNywgMywgCi0gICAgMjE2LCAyMDYsIDIxOCwgNDYsIDIxNiwgMjA2LCAxLCAyMjksIDIzMCwgMjI4LCAxNDIsIDIxLCAyMTAsIDg2LCAyMjgsIAotICAgIDE0MiwgMjEsIDExMSwgMjI4LCAxNDIsIDIxLCAxMDUsIDIyOCwgMTQyLCAyMSwgMTU4LCAyMjgsIDE0MiwgMjEsIDE2MSwgCi0gICAgMjI4LCAxNDIsIDIxLCAxOTAsIDIyOCwgMTQyLCAyMSwgMTk1LCAyMjgsIDE0MiwgMjEsIDE5OSwgMjI4LCAxNDIsIDIxLCAKLSAgICAxOTYsIDIyOCwgMTQyLCAyMSwgMjAxLCAyMjgsIDE0MiwgMSwgNjEsIDIyOCwgMTQyLCAxLCAyNDUsIDIxNywgMjI4LCAxNDIsIAotICAgIDEsIDc0LCAyMjgsIDE0MiwgMSwgNzYsIDIyOCwgMTQyLCAxLCA2OSwgMjI4LCAxNDIsIDEsIDIyNiwgMTg3LCAyMjgsIDE0MiwgCi0gICAgMSwgNzgsIDIyOCwgMTQyLCAxLCAyNDgsIDIxNywgMjI4LCAxNDIsIDEsIDIzMCwgMzAsIDIyOCwgMTQyLCAxLCAyNTIsIAotICAgIDE5OSwgMjI4LCAxNDIsIDEsIDE5MSwgMjI4LCAxNDIsIDEsIDIxNywgMTA2LCAyMjgsIDE0MiwgMSwgMjM1LCAxNDcsIDIyOCwgCi0gICAgMTQyLCAxLCAyNTAsIDE2NSwgMjI4LCAxNDIsIDEsIDI0OCwgMjI5LCAyMjgsIDE0MiwgMSwgMjA1LCAyMjgsIDE0MiwgMSwgCi0gICAgMjIyLCAxODEsIDIyOCwgMTQyLCAxLCAyMDYsIDIyOCwgMTQyLCAxLCAyNDMsIDg2LCAyMjgsIDE0MiwgMSwgMjQ0LCAyMDQsIAotICAgIDIyOCwgMTQyLCAxLCAxNzYsIDIyOCwgMTQyLCAxLCAyMzMsIDE0MSwgMjI4LCAxNDIsIDEsIDIyOSwgMjM0LCAyMTEsIDIyMywgCi0gICAgMjI4LCAxNDIsIDEsIDE4NiwgMjI4LCAxNDIsIDEsIDIyNywgMTY5LCAyMjgsIDE0MiwgMSwgMTk4LCAyMjgsIDE0MiwgMSwgCi0gICAgMTYyLCAyMjgsIDE0MiwgMSwgMjEyLCA2NSwgMjI4LCAxNDIsIDEsIDE5MiwgMjI4LCAxNDIsIDEsIDIyNywgMTcwLCAyMTEsIAotICAgIDIyMywgMjI4LCAxNDIsIDEsIDIzNSwgNjcsIDIzNSwgMTQ3LCAyMjgsIDE0MiwgMSwgMjM1LCA2NywgMjUwLCAxNjUsIDIyOCwgCi0gICAgMTQyLCAxLCAyMzUsIDY3LCAyMDUsIDIyOCwgMTQyLCAzOCwgMjE5LCAyNTMsIDEyNSwgMjE2LCAzMSwgMjI4LCAxNDIsIDM4LCAKLSAgICAyMTksIDI1MywgMTIxLCAyMTYsIDMxLCAyMjgsIDE0MiwgMzgsIDIxOSwgMjUzLCAyMjIsIDIzMSwgMjE2LCAzMSwgMjI4LCAKLSAgICAxNDIsIDM4LCAyMDAsIDI0OCwgNDYsIDIxNiwgMzEsIDIyOCwgMTQyLCAzOCwgMjAwLCAxMjUsIDIxNiwgMzEsIDIyOCwgCi0gICAgMTQyLCAzOCwgMjAwLCAxMjEsIDIxNiwgMzEsIDIyOCwgMTQyLCAzOCwgMjAwLCAyMjIsIDIzMSwgMjE2LCAzMSwgMjI4LCAKLSAgICAxNDIsIDM4LCAyMjksIDE5OCwgNzksIDIyOCwgMTQyLCAzOCwgNTIsIDU5LCA0OCwgMjI4LCAxNDIsIDEyNSwgMTM4LCAyNTQsIAotICAgIDY1LCAyMjgsIDE0MiwgMTIxLCAxMzgsIDI1NCwgNjUsIDIyOCwgMTQyLCAxNiwgMjI2LCAxODgsIDI0OCwgNTgsIDIyOCwgCi0gICAgMTQyLCAxNiwgMjQzLCA4NSwgMjI4LCAxNDIsIDI0OSwgMjI3LCAyMjgsIDE0MiwgMjQ1LCAzOSwgNzksIDIyOCwgMTQyLCAKLSAgICAyMzMsIDExNCwgMjIxLCAyNTQsIDEsIDI1NCwgMTg1LCAyMjEsIDI1NCwgMSwgMjUxLCAyMzYsIDIyMSwgMjU0LCAxLCAyNDMsIAotICAgIDExOSwgMjIxLCAyNTQsIDEsIDI0OCwgMjAyLCAyMjEsIDI1NCwgMSwgMjM1LCAxNTgsIDIyMSwgMjU0LCAxLCAyNTIsIDE5NywgCi0gICAgMjIxLCAyNTQsIDEsIDIxMCwgODksIDIyMSwgMjU0LCAxLCAyMzUsIDE2NiwgMjIxLCAyNTQsIDEsIDIxNiwgNjgsIDIyMSwgCi0gICAgMjU0LCAxLCAyMTAsIDE4MiwgMjIxLCAyNTQsIDEsIDIzNSwgMTUsIDIyMSwgMjU0LCAxLCAyMzMsIDEzNCwgMjIxLCAyNTQsIAotICAgIDEsIDIzMCwgMTk1LCAyMjEsIDI1NCwgMSwgMjI3LCAxOTgsIDIyMSwgMjU0LCAxLCAyMTksIDE1OCwgMjIxLCAyNTQsIDEsIAotICAgIDIzNiwgNiwgMjIxLCAyNTQsIDEsIDI0NCwgMTI5LCAyMjEsIDI1NCwgMSwgMjE1LCAxODIsIDIyMSwgMjU0LCAxLCAyMjQsIAotICAgIDEzLCAyMjEsIDI1NCwgMSwgMjIyLCAyMzIsIDIyMSwgMjU0LCAxLCAyMjAsIDg3LCAyMjEsIDI1NCwgMSwgMjE3LCAxMDEsIAotICAgIDIyMSwgMjU0LCAxNjQsIDIzNiwgNiwgMjIxLCAyNTQsIDE2NCwgMjM2LCA1LCAyMjEsIDI1NCwgMTY0LCAyMjYsIDI0NywgCi0gICAgMjIxLCAyNTQsIDE2NCwgMjQ4LCAyMTUsIDIyMSwgMjU0LCA1OCwgMSwgMjQ1LCAxMTMsIDIxMCwgMTgyLCAyMjEsIDI1NCwgCi0gICAgMTY0LCAyNDUsIDExMywgMjEwLCAxODIsIDIyMSwgMjU0LCAyNSwgNSwgMjAwLCA3NiwgMjIxLCAyNTQsIDI1LCA1LCA3NiwgCi0gICAgMjIxLCAyNTQsIDI1LCA1LCAyMjYsIDEyMiwgMjU1LCA4MiwgMjIxLCAyNTQsIDI1LCA1LCAyMDAsIDI1NSwgODIsIDIyMSwgCi0gICAgMjU0LCAyNSwgNSwgMjU1LCA4MiwgMjIxLCAyNTQsIDI1LCA1LCAyMjYsIDEyMiwgNjEsIDIyMSwgMjU0LCAyNSwgNSwgMjAwLCAKLSAgICA2MSwgMjIxLCAyNTQsIDI1LCA1LCA2MSwgMjIxLCAyNTQsIDU4LCAxLCAyMTksIDI1MywgNjEsIDIyMSwgMjU0LCAyNSwgNSwgCi0gICAgMjE5LCAyNTMsIDYxLCAyMjEsIDI1NCwgMjUsIDUsIDIwMCwgNjksIDIyMSwgMjU0LCAyNSwgNSwgNjksIDIyMSwgMjU0LCAKLSAgICA1OCwgMSwgNzQsIDIyMSwgMjU0LCAyNSwgNSwgMjAwLCA3NCwgMjIxLCAyNTQsIDI1LCA1LCA3NCwgMjIxLCAyNTQsIDI1LCAKLSAgICA1LCA3OCwgMjIxLCAyNTQsIDI1LCA1LCAyMTgsIDQ2LCAyMjEsIDI1NCwgMTY0LCAyMjksIDk3LCAyMjEsIDI1NCwgMjI0LCAKLSAgICAxNDQsIDIyOSwgOTcsIDIyMSwgMjU0LCAyMjQsIDE0NCwgMjU0LCAyMjcsIDIyMSwgMjU0LCAyMjQsIDE0NCwgMjU0LCAxMjIsIAotICAgIDIyMSwgMjU0LCAyMjQsIDE0NCwgMjUyLCAxMjIsIDIyMSwgMjU0LCAyMjQsIDE0NCwgMjUzLCAyMDksIDIyMSwgMjU0LCAKLSAgICAyMjQsIDE0NCwgMjIwLCAxMCwgMjIxLCAyNTQsIDI1NSwgMzAsIDc5LCAyMjEsIDI1NCwgMjI0LCAxNDQsIDIzMSwgNzMsIAotICAgIDIyNCwgNDgsIDIyMSwgMjU0LCAyMjQsIDE0NCwgMjEwLCAzMSwgMjIxLCAyNTQsIDIyNCwgMTQ0LCAyMjQsIDQ4LCAyMjEsIAotICAgIDI1NCwgMjI0LCAxNDQsIDIxMCwgMTE0LCAyMjEsIDI1NCwgMjI0LCAxNDQsIDIxNSwgOTAsIDIyMSwgMjU0LCAyMjQsIDE0NCwgCi0gICAgMjU0LCAxNywgMjIxLCAyNTQsIDIyNCwgMTQ0LCAyMTksIDU1LCAyMzEsIDE1MCwgMjIxLCAyNTQsIDIyNCwgMTQ0LCAyNTQsIAotICAgIDEwOCwgMjMxLCAxODcsIDEsIDI0MiwgMzEsIDIzMSwgMTg3LCAxLCAyNTUsIDM0LCAyMzEsIDE4NywgMSwgMjU0LCAyMjUsIAotICAgIDIzMSwgMTg3LCAxLCAyNTUsIDgsIDIzMSwgMTg3LCAxLCAyNTQsIDIxOCwgMjMxLCAxODcsIDEsIDIxNCwgMTI0LCAyMzEsIAotICAgIDE4NywgMSwgMjUzLCAxNjgsIDIzMSwgMTg3LCAxLCAyMzUsIDE2NiwgMjMxLCAxODcsIDEsIDI1MywgMjA2LCAyMzEsIDE4NywgCi0gICAgMSwgMjU0LCAxOTAsIDIzMSwgMTg3LCAxLCAyNTQsIDE5NSwgMjMxLCAxODcsIDEsIDI1NCwgMTg3LCAyMzEsIDE4NywgMSwgCi0gICAgMjU0LCAxNDQsIDIzMSwgMTg3LCAxLCAyNTQsIDEzMSwgMjMxLCAxODcsIDEsIDI1MywgMjQ1LCAyMzEsIDE4NywgMSwgMjM2LCAKLSAgICA2LCAyMzEsIDE4NywgMSwgMjU0LCA4MCwgMjMxLCAxODcsIDEsIDI1MywgMjE2LCAyMzEsIDE4NywgMSwgMjU0LCA1MywgCi0gICAgMjMxLCAxODcsIDEsIDI1NCwgNDksIDIzMSwgMTg3LCAxLCAyNTMsIDIzOSwgMjMxLCAxODcsIDEsIDI1MywgMjE0LCAyMzEsIAotICAgIDE4NywgMSwgMjQ2LCA2MywgMjMxLCAxODcsIDEsIDIzNSwgOCwgMjMxLCAxODcsIDEsIDI1NCwgMjA1LCAyMzEsIDE4NywgCi0gICAgMjU0LCAyMzEsIDc5LCAyMzEsIDE4NywgMjEzLCAxMzYsIDc5LCAyMzEsIDE4NywgMjQzLCA2MCwgNzksIDIzMSwgMTg3LCAKLSAgICAyMjQsIDE0MywgOSwgMSwgMjUyLCA2MywgMiwgNCwgMjE0LCAxMDYsIDUxLCA5LCAxLCAxNTEsIDIsIDExMywgMTcwLCA0OCwgCi0gICAgOSwgMSwgMjE3LCA4MiwgMiwgMTEzLCAxNzAsIDQ4LCA5LCAxLCAyNDQsIDE1MSwgMiwgNTksIDI1MiwgNTEsIDIyLCAxMzQsIAotICAgIDE3MCwgNDgsIDksIDEsIDIyNCwgODUsIDIsIDU5LCA1MSwgOSwgMSwgMjMzLCAxMDksIDIsIDUyLCAxMzAsIDksIDEsIDY2LCAKLSAgICAyLCAxMzQsIDE3MCwgNDgsIDksIDEsIDc3LCAyLCAxMTMsIDE3MCwgMjUyLCA1MSwgMjIsIDE4MiwgNDgsIDksIDEsIDc3LCAKLSAgICAyLCAxMTMsIDE3MCwgMjUyLCA1MSwgMjIsIDU5LCA0OCwgOSwgMSwgMjIzLCA5OSwgMiwgMjMyLCAxMjksIDksIDEsIDIxMiwgCi0gICAgMzEsIDIsIDU5LCAyMTEsIDIzMSwgOSwgMSwgMjIyLCAyMDMsIDIxMSwgNDMsIDksIDI0OSwgMTA3LCAyNDQsIDE3MywgOSwgCi0gICAgMjQ5LCAxMDcsIDI0OCwgMTkyLCA5LCAyNDksIDEwNywgMjM0LCAyMTEsIDksIDI0OSwgMTA3LCAyNDQsIDE3MSwgOSwgMjQ5LCAKLSAgICAxMDcsIDI0OCwgMTkwLCA5LCAyNDksIDEwNywgMjM0LCAyMDksIDksIDEzOCwgMTIzLCA1OSwgNDgsIDksIDEzOCwgMTEzLCAKLSAgICAxNzAsIDQ4LCA5LCAxMzgsIDIzMiwgMTMwLCA0OCwgOSwgMTM4LCAxMjMsIDU5LCA1MSwgOSwgMTM4LCAxMTMsIDE3MCwgNTEsIAotICAgIDksIDEzOCwgMjMyLCAxMzAsIDUxLCA5LCAyMDQsIDI0NCwgMTcxLCA5LCAyMDQsIDI0OCwgMTkwLCA5LCAyMDQsIDIzNCwgCi0gICAgMjA5LCA5LCA0LCAxMjUsIDIxMiwgMzAsIDksIDI0NCwgMTc0LCAyLCAyMjIsIDIzNiwgOSwgMjQ0LCAxNzQsIDIsIDU5LCAKLSAgICA0OCwgOSwgMjM0LCAyMTIsIDIsIDU5LCA1MSwgOSwgNDMsIDI1NCwgMiwgNDgsIDksIDQ0LCAyNTQsIDIsIDQ4LCA5LCA0MywgCi0gICAgMjU0LCAyLCA1MSwgOSwgNDQsIDI1NCwgMiwgNTEsIDksIDUyLCA0NCwgMjU0LCAyLCA0OCwgOSwgNTIsIDQ0LCAyNTQsIDIsIAotICAgIDcyLCAyLCAyNDcsIDEyOCwgOSwgNDQsIDI1NCwgMiwgNzIsIDIsIDI0NywgMTI4LCA5LCAyNDgsIDE5MywgMiwgMjQ3LCAKLSAgICAxMjgsIDg0LCA1LCAyMzUsIDIwMCwgMjUxLCA3LCA4NCwgNSwgMjUxLCA3LCA4NCwgNSwgMjU0LCA4MywgODQsIDUsIDIxMywgCi0gICAgMTQ3LCA4NCwgMSwgMjE5LCAyNTMsIDYxLCA4NCwgMSwgNjEsIDg0LCAxLCAyNTUsIDgyLCA4NCwgMSwgNzQsIDg0LCAxLCAKLSAgICAyMzYsIDQwLCA4NCwgMSwgNjksIDg0LCAxLCAyMTQsIDExOCwgODQsIDEsIDE0OSwgMTUzLCA4NCwgMSwgMTQ5LCAxNTYsIAotICAgIDg0LCAxLCAyNTEsIDEwLCA3NiwgODQsIDEsIDIxOSwgMjUzLCA3NiwgODQsIDEsIDc2LCA4NCwgMSwgMjU0LCAyMTAsIDg0LCAKLSAgICAxLCAyNTEsIDEwLCA3OCwgODQsIDEsIDIxOSwgMjUzLCA3OCwgODQsIDEsIDc4LCA4NCwgMSwgMjUzLCAyMDAsIDg0LCAxLCAKLSAgICAxNzYsIDg0LCAxLCAyMzQsIDEzOCwgODQsIDEsIDI0MywgMTQyLCA4NCwgMSwgMjQzLCAwLCA4NCwgMSwgMjI5LCA4MiwgODQsIAotICAgIDEsIDI1MSwgNDEsIDg0LCAxLCAyNTAsIDE2NSwgODQsIDEsIDIzNSwgMTQ3LCA4NCwgMSwgMjM1LCAxMjAsIDg0LCAxLCAKLSAgICAyMjcsIDE2OSwgODQsIDEsIDIxNSwgMTU3LCA4NCwgMSwgMjE1LCAxNDUsIDg0LCAxLCAyNDgsIDE0MywgODQsIDEsIDI0OCwgCi0gICAgMTI3LCA4NCwgMSwgMjI4LCAxMTUsIDg0LCAxLCAyMTcsIDEwNiwgODQsIDEsIDIxNiwgMjA5LCA4NCwgMSwgMjQ4LCAyMjksIAotICAgIDg0LCAxLCAyNDgsIDMzLCA4NCwgMSwgMTk4LCA4NCwgMSwgMjI4LCA5NywgODQsIDEsIDE5MSwgODQsIDEsIDIyNSwgMTUwLCAKLSAgICA4NCwgMSwgMjUyLCAxOTksIDg0LCAxLCAyNTIsIDI2LCA4NCwgMSwgMTg2LCA4NCwgMSwgMTkyLCA4NCwgMSwgMjA1LCA4NCwgCi0gICAgMSwgMjIyLCAxODEsIDg0LCAxLCAyMzMsIDE0MSwgODQsIDEsIDIzMiwgMTkwLCA4NCwgMSwgMjMyLCAxODEsIDg0LCAxLCAKLSAgICAyMTQsIDI3LCA4NCwgMSwgMjIwLCAxMDQsIDg0LCAxLCAyMTgsIDIyNSwgODQsIDEsIDIwNiwgODQsIDEsIDE2MiwgODQsIAotICAgIDI1LCA1LCAyMjYsIDIzOCwgODQsIDI1LCA1LCAyMjYsIDE4NSwgODQsIDUsIDIyNywgMjA5LCA4NCwgNSwgMjUzLCAxODMsIAotICAgIDg0LCAyNSwgNSwgMjU1LCA4MiwgODQsIDI1LCA1LCA3NCwgODQsIDI1LCA1LCAyMzYsIDQwLCA4NCwgMjUsIDUsIDY5LCA4NCwgCi0gICAgMjUsIDUsIDIxNCwgMTE4LCA4NCwgMjUsIDUsIDE0OSwgMTUzLCA4NCwgMjUsIDUsIDE0OSwgMjIyLCAxODIsIDg0LCAyNSwgCi0gICAgNSwgMjUxLCAxMCwgNzYsIDg0LCAyNSwgNSwgMjE5LCAyNTMsIDc2LCA4NCwgMjUsIDUsIDc2LCA4NCwgMjUsIDUsIDI1NCwgCi0gICAgMjEwLCA4NCwgMjUsIDUsIDI1MSwgMTAsIDc4LCA4NCwgMjUsIDUsIDIxOSwgMjUzLCA3OCwgODQsIDI1LCA1LCA3OCwgODQsIAotICAgIDI1LCA1LCAyNTMsIDIwMCwgODQsIDUsIDIxMywgMTUyLCA4NCwgMjUsIDUsIDIyNCwgMTg4LCA3NiwgODQsIDI1LCA1LCAKLSAgICAyNTMsIDE3OSwgODQsIDIyNiwgMjA4LCA4NCwgMjE4LCAxMTMsIDUsIDIxNCwgMjE2LCA4NCwgMjE4LCAxMTMsIDUsIDI1NCwgCi0gICAgODUsIDg0LCAyNDIsIDE0NCwgMjU1LCAyMywgODQsIDI1NSwgMTIsIDI1NSwgMjMsIDg0LCAyNSwgNSwgMjUxLCAxMCwgMjAwLCAKLSAgICA3NiwgODQsIDI1LCA1LCAyMTQsIDIxNCwgODQsIDI1LCA1LCAyMTQsIDExNywgODQsIDEsIDIyNCwgOTEsIDg0LCAxLCAyMzQsIAotICAgIDEyMSwgODQsIDEsIDI0MiwgMjMzLCA4NCwgMSwgMjEwLCAxMTYsIDg0LCAxLCAyNDgsIDEzMiwgODQsIDEsIDIyMywgNDIsIAotICAgIDg0LCAxLCAyNDQsIDIwNCwgODQsIDEsIDIxMCwgMTY4LCA4NCwgMSwgMTQ5LCAyMjIsIDE4MiwgODQsIDEsIDE0OSwgMjMyLCAKLSAgICAxOTEsIDg0LCAyNSwgNSwgMTQ5LCAxNTYsIDg0LCAyNSwgNSwgMTQ5LCAyMzIsIDE5MSwgODQsIDI0OCwgMTg2LCA4NCwgNTIsIAotICAgIDI0OCwgMTg2LCA4NCwgMjEsIDIxMCwgODYsIDg0LCAyMSwgMTExLCA4NCwgMjEsIDEwNSwgODQsIDIxLCAxNTgsIDg0LCAyMSwgCi0gICAgMTYxLCA4NCwgMjEsIDE5MCwgODQsIDIxLCAxOTUsIDg0LCAyMSwgMTk5LCA4NCwgMjEsIDE5NiwgODQsIDIxLCAyMDEsIDg0LCAKLSAgICAyNTUsIDMwLCA1MCwgODQsIDUsIDEyNSwgMjE5LCAxOSwgMjQ3LCAxMjgsIDg0LCAxLCAyNTEsIDEwLCA2MSwgODQsIDEsIAotICAgIDIyNiwgMjM4LCA4NCwgMSwgMjI2LCAxODUsIDg0LCAxLCAyNTMsIDE3OSwgODQsIDEsIDIxNCwgMjE0LCA4NCwgMSwgMjE0LCAKLSAgICAxMTcsIDg0LCAxLCAyMTAsIDgyLCA4NCwgMSwgMTE0LCAxOTIsIDg0LCAxLCAyNDMsIDM2LCA4NCwgMSwgMjM1LCAxMDIsIAotICAgIDg0LCAxLCAyNDIsIDE4NywgMjE4LCAxMzEsIDg0LCAxLCAyNDgsIDEzMywgODQsIDEsIDI1MiwgMTE5LCAxNDYsIDUsIDI1MSwgCi0gICAgNywgMTQ2LCA1LCAyNTQsIDgzLCAxNDYsIDUsIDIxMywgMTQ3LCAxNDYsIDEsIDYxLCAxNDYsIDEsIDI1NSwgODIsIDE0NiwgCi0gICAgMSwgNzQsIDE0NiwgMSwgMjM2LCA0MCwgMTQ2LCAxLCA2OSwgMTQ2LCAxLCAyMTQsIDExOCwgMTQ2LCAxLCAxNDksIDE1MywgCi0gICAgMTQ2LCAxLCAxNDksIDE1NiwgMTQ2LCAxLCA3NiwgMTQ2LCAxLCAyNTQsIDIxMCwgMTQ2LCAxLCA3OCwgMTQ2LCAxLCAyNTMsIAotICAgIDIwMCwgMTQ2LCAxLCAxNzYsIDE0NiwgMSwgMjM0LCAxMzgsIDE0NiwgMSwgMjQzLCAxNDIsIDE0NiwgMSwgMjQzLCAwLCAKLSAgICAxNDYsIDEsIDIyOSwgODIsIDE0NiwgMSwgMjUxLCA0MSwgMTQ2LCAxLCAyNTAsIDE2NSwgMTQ2LCAxLCAyMzUsIDE0NywgCi0gICAgMTQ2LCAxLCAyMzUsIDEyMCwgMTQ2LCAxLCAyMjcsIDE2OSwgMTQ2LCAxLCAyMTUsIDE1NywgMTQ2LCAxLCAyMTUsIDE0NSwgCi0gICAgMTQ2LCAxLCAyNDgsIDE0MywgMTQ2LCAxLCAyNDgsIDEyNywgMTQ2LCAxLCAyMjgsIDExNSwgMTQ2LCAxLCAyMTcsIDEwNiwgCi0gICAgMTQ2LCAxLCAyMTYsIDIwOSwgMTQ2LCAxLCAyNDgsIDIyOSwgMTQ2LCAxLCAyNDgsIDMzLCAxNDYsIDEsIDE5OCwgMTQ2LCAxLCAKLSAgICAxOTEsIDE0NiwgMSwgMjI1LCAxNTAsIDE0NiwgMSwgMjUyLCAxOTksIDE0NiwgMSwgMjUyLCAyNiwgMTQ2LCAxLCAxODYsIAotICAgIDE0NiwgMSwgMTkyLCAxNDYsIDEsIDIwNSwgMTQ2LCAxLCAyMzMsIDE0MSwgMTQ2LCAxLCAyMjAsIDEwNCwgMTQ2LCAxLCAKLSAgICAyMTgsIDIyNSwgMTQ2LCAxLCAyMDYsIDE0NiwgMSwgMTYyLCAxNDYsIDUsIDIyNywgMjA5LCAxNDYsIDUsIDI1MywgMTgzLCAKLSAgICAxNDYsIDI1LCA1LCAyNTUsIDgyLCAxNDYsIDI1LCA1LCA3NCwgMTQ2LCAyNSwgNSwgMjM2LCA0MCwgMTQ2LCAyNSwgNSwgNjksIAotICAgIDE0NiwgMjUsIDUsIDIxNCwgMTE4LCAxNDYsIDI1LCA1LCAxNDksIDE1MywgMTQ2LCAyNSwgNSwgMTQ5LCAyMjIsIDE4MiwgCi0gICAgMTQ2LCAyNSwgNSwgNzYsIDE0NiwgMjUsIDUsIDI1NCwgMjEwLCAxNDYsIDI1LCA1LCA3OCwgMTQ2LCAyNSwgNSwgMjUzLCAKLSAgICAyMDAsIDE0NiwgNSwgMjEzLCAxNTIsIDE0NiwgMSwgMjM0LCAxMzAsIDIxNywgMTA2LCAxNDYsIDI1MywgMjAxLCAyMzMsIAotICAgIDI5LCA3OSwgMTQ2LCAxLCAyMjIsIDE4MSwgMTQ2LCAxLCAyMjMsIDQyLCAxNDYsIDEsIDIxMCwgMTY4LCAxNDYsIDEsIDE0OSwgCi0gICAgMjIyLCAxODIsIDE0NiwgMSwgMTQ5LCAyMzIsIDE5MSwgMTQ2LCAyNSwgNSwgMTQ5LCAxNTYsIDE0NiwgMjUsIDUsIDE0OSwgCi0gICAgMjMyLCAxOTEsIDE0NiwgMjEsIDIxMCwgODYsIDE0NiwgMjEsIDExMSwgMTQ2LCAyMSwgMTA1LCAxNDYsIDIxLCAxNTgsIAotICAgIDE0NiwgMjEsIDE2MSwgMTQ2LCAyMSwgMTkwLCAxNDYsIDIxLCAxOTUsIDE0NiwgMjEsIDE5OSwgMTQ2LCAyMSwgMTk2LCAKLSAgICAxNDYsIDIxLCAyMDEsIDE0NiwgMSwgMjIzLCAxOTEsIDIsIDIzMCwgMjI5LCAyNDgsIDYsIDE0NiwgMSwgMjIzLCAxOTEsIDIsIAotICAgIDIzMiwgMTE0LCAyNDgsIDYsIDE0NiwgMjIyLCAxMjAsIDc5LCAxNDYsIDIyMiwgMTIwLCA1MCwgMTQ2LCAyNDksIDEwNiwgCi0gICAgMjI3LCAyMDEsIDExMSwgMTQ2LCAyNDksIDEwNiwgMjI3LCAyMDEsIDEwNSwgMTQ2LCAyNDksIDEwNiwgMjI3LCAyMDEsIAotICAgIDE1OCwgMTQ2LCAyNDksIDEwNiwgMjI3LCAyMDEsIDE2MSwgMTQ2LCAyNDksIDEwNiwgMjI3LCAyMDEsIDEyMywgMjMzLCAyMiwgCi0gICAgMjE2LCAyMDIsIDIxNiwgMTk3LCAyNDgsIDU2LCAxNDYsIDI0OSwgMTA2LCAyNDgsIDU3LCAyMTksIDEyMSwgMTQ2LCAyMzUsIAotICAgIDE2NywgMTQ2LCAyNDMsIDExMCwgNzksIDE4NSwgNSwgMjU1LCA3LCAyNTEsIDI1MSwgMTg1LCA1LCAyNTEsIDI1MSwgMTg1LCAKLSAgICA1LCAyMTMsIDE0NywgMTg1LCAxLCA2MSwgMTg1LCAxLCAyNTUsIDgyLCAxODUsIDEsIDc0LCAxODUsIDEsIDIzNiwgNDAsIAotICAgIDE4NSwgMSwgNjksIDE4NSwgMSwgMjE0LCAxMTgsIDE4NSwgMSwgMjQ1LCAyMTcsIDE4NSwgMSwgMjU0LCAyMTAsIDE4NSwgMSwgCi0gICAgMjI2LCAxODcsIDE4NSwgMSwgMjUzLCAyMDAsIDE4NSwgMSwgMTc2LCAxODUsIDEsIDIzNCwgMTM4LCAxODUsIDEsIDI0MywgCi0gICAgMTQyLCAxODUsIDEsIDI0MywgMCwgMTg1LCAxLCAyMjksIDgyLCAxODUsIDEsIDI1MSwgNDEsIDE4NSwgMSwgMjUwLCAxNjUsIAotICAgIDE4NSwgMSwgMjM1LCAxNDcsIDE4NSwgMSwgMjM1LCAxMjAsIDE4NSwgMSwgMjI3LCAxNjksIDE4NSwgMSwgMjE1LCAxNTcsIAotICAgIDE4NSwgMSwgMjE1LCAxNDUsIDE4NSwgMSwgMjQ4LCAxNDMsIDE4NSwgMSwgMjQ4LCAxMjcsIDE4NSwgMSwgMjI4LCAxMTUsIAotICAgIDE4NSwgMSwgMjE3LCAxMDYsIDE4NSwgMSwgMjE2LCAyMDksIDE4NSwgMSwgMjQ4LCAyMjksIDE4NSwgMSwgMjQ4LCAzMywgCi0gICAgMTg1LCAxLCAxOTgsIDE4NSwgMSwgMTkxLCAxODUsIDEsIDIyNSwgMTUwLCAxODUsIDEsIDI1MiwgMTk5LCAxODUsIDEsIAotICAgIDI1MiwgMjYsIDE4NSwgMSwgMTg2LCAxODUsIDEsIDE5MiwgMTg1LCAxLCAyMDUsIDE4NSwgMSwgMjMzLCAxNDEsIDE4NSwgMSwgCi0gICAgMjMyLCAxOTAsIDE4NSwgMSwgMjE0LCAyNywgMTg1LCAxLCAyMjAsIDEwNCwgMTg1LCAxLCAyMDYsIDE4NSwgMSwgMTYyLCAKLSAgICAxODUsIDUsIDIyNywgMjA5LCAxODUsIDI1LCA1LCAyNTUsIDgyLCAxODUsIDI1LCA1LCA3NCwgMTg1LCAyNSwgNSwgMjM2LCAKLSAgICA0MCwgMTg1LCAyNSwgNSwgNjksIDE4NSwgMjUsIDUsIDIxNCwgMTE4LCAxODUsIDI1LCA1LCAyNDUsIDIxNywgMTg1LCAyNSwgCi0gICAgNSwgMjU0LCAyMTAsIDE4NSwgMjUsIDUsIDIyNiwgMTg3LCAxODUsIDI1LCA1LCAyNTMsIDIwMCwgMTg1LCA1LCAyMTMsIAotICAgIDE1MiwgMTg1LCA1LCAyMTQsIDIxOCwgMTg1LCAxLCAyMzQsIDEyMSwgMTg1LCAxLCAyNDIsIDIzMywgMTg1LCAxLCAyMTAsIAotICAgIDExNiwgMTg1LCAxLCAyMjIsIDE4MSwgMTg1LCAxLCAyNDQsIDIwNCwgMTg1LCAyMSwgMjEwLCA4NiwgMTg1LCAyMSwgMTExLCAKLSAgICAxODUsIDIxLCAxMDUsIDE4NSwgMjEsIDE1OCwgMTg1LCAyMSwgMTYxLCAxODUsIDIxLCAxOTAsIDE4NSwgMjEsIDE5NSwgCi0gICAgMTg1LCAyMSwgMTk5LCAxODUsIDIxLCAxOTYsIDE4NSwgMjEsIDIwMSwgMTg1LCAyMTYsIDc1LCAxODUsIDI1NSwgNiwgMTg1LCAKLSAgICAyMzUsIDE4NSwgMTg1LCAyMTQsIDE0NiwgMTg1LCAyNDUsIDE4OSwgMjI2LCAxOTIsIDE4NSwgNSwgMjExLCA3OCwgMTcxLCAKLSAgICA1LCAyNTEsIDcsIDE3MSwgNSwgMjU0LCA4MywgMTcxLCA1LCAyMTMsIDE0NywgMTcxLCAxLCA2MSwgMTcxLCAxLCAyNTUsIAotICAgIDgyLCAxNzEsIDEsIDc0LCAxNzEsIDEsIDIzNiwgNDAsIDE3MSwgMSwgNjksIDE3MSwgMSwgMjE0LCAxMTgsIDE3MSwgMSwgCi0gICAgMTQ5LCAxNTMsIDE3MSwgMSwgMTQ5LCAxNTYsIDE3MSwgMjUsIDI1MSwgMTAsIDc2LCAxNzEsIDEsIDc2LCAxNzEsIDEsIAotICAgIDI1NCwgMjEwLCAxNzEsIDI1LCAyNTEsIDEwLCA3OCwgMTcxLCAxLCA3OCwgMTcxLCAxLCAyNTMsIDIwMCwgMTcxLCAxLCAKLSAgICAxNzYsIDE3MSwgMSwgMjM0LCAxMzgsIDE3MSwgMSwgMjQzLCAxNDIsIDE3MSwgMSwgMjQzLCAwLCAxNzEsIDEsIDIyOSwgODIsIAotICAgIDE3MSwgMSwgMjUxLCA0MSwgMTcxLCAxLCAyNTAsIDE2NSwgMTcxLCAxLCAyMzUsIDE0NywgMTcxLCAxLCAyMzUsIDEyMCwgCi0gICAgMTcxLCAxLCAyMjcsIDE2OSwgMTcxLCAxLCAyMTUsIDE1NywgMTcxLCAxLCAyMTUsIDE0NSwgMTcxLCAxLCAyNDgsIDE0MywgCi0gICAgMTcxLCAxLCAyNDgsIDEyNywgMTcxLCAxLCAyMjgsIDExNSwgMTcxLCAxLCAyMTcsIDEwNiwgMTcxLCAxLCAyMTYsIDIwOSwgCi0gICAgMTcxLCAxLCAyNDgsIDIyOSwgMTcxLCAxLCAyNDgsIDMzLCAxNzEsIDEsIDE5OCwgMTcxLCAxLCAxOTEsIDE3MSwgMSwgMjI1LCAKLSAgICAxNTAsIDE3MSwgMSwgMjUyLCAxOTksIDE3MSwgMSwgMjUyLCAyNiwgMTcxLCAxLCAxODYsIDE3MSwgMSwgMTkyLCAxNzEsIDEsIAotICAgIDIwNSwgMTcxLCAxLCAyMzMsIDE0MSwgMTcxLCAxLCAyMzIsIDE5MCwgMTcxLCAxLCAyMTQsIDI3LCAxNzEsIDEsIDIyMCwgCi0gICAgMTA0LCAxNzEsIDEsIDIxOCwgMjI1LCAxNzEsIDEsIDIwNiwgMTcxLCAxLCAxNjIsIDE3MSwgNSwgMjI3LCAyMDksIDE3MSwgCi0gICAgNSwgMjUzLCAxODMsIDE3MSwgMjUsIDUsIDI1NSwgODIsIDE3MSwgMjUsIDUsIDc0LCAxNzEsIDI1LCA1LCAyMzYsIDQwLCAKLSAgICAxNzEsIDI1LCA1LCA2OSwgMTcxLCAyNSwgNSwgMjE0LCAxMTgsIDE3MSwgMjUsIDUsIDE0OSwgMTUzLCAxNzEsIDI1LCA1LCAKLSAgICAxNDksIDIyMiwgMTgyLCAxNzEsIDI1LCA1LCAyNTEsIDEwLCA3NiwgMTcxLCAyNSwgNSwgNzYsIDE3MSwgMjUsIDUsIDI1NCwgCi0gICAgMjEwLCAxNzEsIDI1LCA1LCAyNTEsIDEwLCA3OCwgMTcxLCAyNSwgNSwgNzgsIDE3MSwgMjUsIDUsIDI1MywgMjAwLCAxNzEsIAotICAgIDUsIDIxMywgMTUyLCAxNzEsIDIyNiwgMjA4LCAxNzEsIDEsIDE0OSwgMjIyLCAxODIsIDE3MSwgMSwgMTQ5LCAyMzIsIDE5MSwgCi0gICAgMTcxLCAyNSwgNSwgMTQ5LCAxNTYsIDE3MSwgMjUsIDUsIDE0OSwgMjMyLCAxOTEsIDE3MSwgMjEsIDIxMCwgODYsIDE3MSwgCi0gICAgMjEsIDExMSwgMTcxLCAyMSwgMTA1LCAxNzEsIDIxLCAxNTgsIDE3MSwgMjEsIDE2MSwgMTcxLCAyMSwgMTkwLCAxNzEsIDIxLCAKLSAgICAxOTUsIDE3MSwgMjEsIDE5OSwgMTcxLCAyMSwgMTk2LCAxNzEsIDIxLCAyMDEsIDE3MSwgMjU1LCAzMCwgNTAsIDE3MSwgCi0gICAgMjIyLCAxMjAsIDUwLCAxNTcsIDUsIDI1MSwgNywgMTU3LCA1LCAyNTQsIDgzLCAxNTcsIDUsIDIxMywgMTQ3LCAxNTcsIDEsIAotICAgIDYxLCAxNTcsIDEsIDI1NSwgODIsIDE1NywgMSwgNzQsIDE1NywgMSwgMjM2LCA0MCwgMTU3LCAxLCA2OSwgMTU3LCAxLCAKLSAgICAyMTQsIDExOCwgMTU3LCAxLCAxNDksIDE1MywgMTU3LCAxLCAxNDksIDE1NiwgMTU3LCAxLCA3NiwgMTU3LCAxLCAyNTQsIAotICAgIDIxMCwgMTU3LCAxLCA3OCwgMTU3LCAxLCAyNTMsIDIwMCwgMTU3LCAxLCAxNzYsIDE1NywgMSwgMjM0LCAxMzgsIDE1NywgMSwgCi0gICAgMjQzLCAxNDIsIDE1NywgMSwgMjQzLCAwLCAxNTcsIDEsIDIyOSwgODIsIDE1NywgMSwgMjUxLCA0MSwgMTU3LCAxLCAyNTAsIAotICAgIDE2NSwgMTU3LCAxLCAyMzUsIDE0NywgMTU3LCAxLCAyMzUsIDEyMCwgMTU3LCAxLCAyMjcsIDE2OSwgMTU3LCAxLCAyMTUsIAotICAgIDE1NywgMTU3LCAxLCAyMTUsIDE0NSwgMTU3LCAxLCAyNDgsIDE0MywgMTU3LCAxLCAyNDgsIDEyNywgMTU3LCAxLCAyMjgsIAotICAgIDExNSwgMTU3LCAxLCAyMTcsIDEwNiwgMTU3LCAxLCAyMTYsIDIwOSwgMTU3LCAxLCAyNDgsIDIyOSwgMTU3LCAxLCAyNDgsIAotICAgIDMzLCAxNTcsIDEsIDE5OCwgMTU3LCAxLCAxOTEsIDE1NywgMSwgMjI1LCAxNTAsIDE1NywgMSwgMjUyLCAxOTksIDE1NywgMSwgCi0gICAgMjUyLCAyNiwgMTU3LCAxLCAxODYsIDE1NywgMSwgMTkyLCAxNTcsIDEsIDIwNSwgMTU3LCAxLCAyMzMsIDE0MSwgMTU3LCAxLCAKLSAgICAyMzIsIDE5MCwgMTU3LCAxLCAyMTQsIDI3LCAxNTcsIDEsIDIyMCwgMTA0LCAxNTcsIDEsIDIxOCwgMjI1LCAxNTcsIDEsIAotICAgIDIwNiwgMTU3LCAxLCAxNjIsIDE1NywgNSwgMjI3LCAyMDksIDE1NywgNSwgMjUzLCAxODMsIDE1NywgMjUsIDUsIDI1NSwgCi0gICAgODIsIDE1NywgMjUsIDUsIDc0LCAxNTcsIDI1LCA1LCAyMzYsIDQwLCAxNTcsIDI1LCA1LCA2OSwgMTU3LCAyNSwgNSwgMjE0LCAKLSAgICAxMTgsIDE1NywgMjUsIDUsIDE0OSwgMTUzLCAxNTcsIDI1LCA1LCAxNDksIDIyMiwgMTgyLCAxNTcsIDI1LCA1LCA3NiwgCi0gICAgMTU3LCAyNSwgNSwgMjU0LCAyMTAsIDE1NywgMjUsIDUsIDc4LCAxNTcsIDI1LCA1LCAyNTMsIDIwMCwgMTU3LCA1LCAyMTMsIAotICAgIDE1MiwgMTU3LCAyNTQsIDIxMSwgMjMzLCAyOSwgNzksIDE1NywgMjUzLCAyMDEsIDIzMywgMjksIDc5LCAxNTcsIDEsIDIyMiwgCi0gICAgMTgxLCAxNTcsIDEsIDIyMywgNDIsIDE1NywgMSwgMjEwLCAxNjgsIDE1NywgMSwgMTQ5LCAyMjIsIDE4MiwgMTU3LCAxLCAKLSAgICAxNDksIDIzMiwgMTkxLCAxNTcsIDI1LCA1LCAxNDksIDE1NiwgMTU3LCAyNSwgNSwgMTQ5LCAyMzIsIDE5MSwgMTU3LCAyMSwgCi0gICAgMjEwLCA4NiwgMTU3LCAyMSwgMTExLCAxNTcsIDIxLCAxMDUsIDE1NywgMjEsIDE1OCwgMTU3LCAyMSwgMTYxLCAxNTcsIDIxLCAKLSAgICAxOTAsIDE1NywgMjEsIDE5NSwgMTU3LCAyMSwgMTk5LCAxNTcsIDIxLCAxOTYsIDE1NywgMjEsIDIwMSwgMTU3LCAyMzUsIAotICAgIDE2NywgMTU3LCAxLCAyMTIsIDY1LCAxNTcsIDI0NCwgMTAsIDEyMywgMjI0LCAyNCwgMTU3LCAyNDQsIDEwLCAxMjMsIDI0MiwgCi0gICAgMzQsIDE1NywgMjQ0LCAxMCwgMTM0LCAyMjQsIDIyLCAxNTcsIDI0NCwgMTAsIDEyMywgMjE5LCAxMTksIDE1NywgMjQ0LCAKLSAgICAxMCwgMTIzLCAyNDUsIDE5NiwgMTU3LCAyNDQsIDEwLCAxMzQsIDIxOSwgMTE4LCAzNiwgNSwgMjU0LCA4MywgMzYsIDUsIAotICAgIDIxMywgMTQ3LCAzNiwgMSwgNjEsIDM2LCAxLCAyNTUsIDgyLCAzNiwgMSwgNzQsIDM2LCAxLCAyMzYsIDQwLCAzNiwgMSwgCi0gICAgNjksIDM2LCAxLCAyMTQsIDExOCwgMzYsIDEsIDc2LCAzNiwgMSwgMjQ1LCAyMTcsIDM2LCAxLCAyNTQsIDIxMCwgMzYsIDEsIAotICAgIDc4LCAzNiwgMSwgMjI2LCAxODcsIDM2LCAxLCAyNTMsIDIwMCwgMzYsIDEsIDE3NiwgMzYsIDEsIDIyOSwgODIsIDM2LCAxLCAKLSAgICAyNTEsIDQxLCAzNiwgMSwgMjM1LCAxNDcsIDM2LCAxLCAyMjcsIDE2OSwgMzYsIDEsIDIxNSwgMTU3LCAzNiwgMSwgMjI4LCAKLSAgICAxMTUsIDM2LCAxLCAyMTcsIDEwNiwgMzYsIDEsIDE5OCwgMzYsIDEsIDIyOCwgOTcsIDM2LCAxLCAxOTEsIDM2LCAxLCAxODYsIAotICAgIDM2LCAxLCAxOTIsIDM2LCAxLCAyMDUsIDM2LCAxLCAyMjIsIDE4MSwgMzYsIDEsIDIzMywgMTQxLCAzNiwgMSwgMjMyLCAKLSAgICAxOTAsIDM2LCAxLCAyMzIsIDE4MSwgMzYsIDEsIDIxNCwgMjcsIDM2LCAxLCAyMjAsIDEwNCwgMzYsIDEsIDIxOCwgMjI1LCAKLSAgICAzNiwgMSwgMjA2LCAzNiwgMSwgMTYyLCAzNiwgMjUsIDUsIDI1NSwgODIsIDM2LCAyNSwgNSwgNzQsIDM2LCAyNSwgNSwgCi0gICAgMjM2LCA0MCwgMzYsIDI1LCA1LCA2OSwgMzYsIDI1LCA1LCAyMTQsIDExOCwgMzYsIDI1LCA1LCA3NiwgMzYsIDI1LCA1LCAKLSAgICAyNDUsIDIxNywgMzYsIDI1LCA1LCAyNTQsIDIxMCwgMzYsIDI1LCA1LCA3OCwgMzYsIDI1LCA1LCAyMjYsIDE4NywgMzYsIAotICAgIDI1LCA1LCAyNTMsIDIwMCwgMzYsIDUsIDIxMywgMTUyLCAzNiwgMjI2LCAyMDgsIDM2LCAyNTMsIDIwMSwgMjMzLCAyOSwgCi0gICAgNzksIDM2LCAyMSwgMjEwLCA4NiwgMzYsIDIxLCAxMTEsIDM2LCAyMSwgMTA1LCAzNiwgMjEsIDE1OCwgMzYsIDIxLCAxNjEsIAotICAgIDM2LCAyMSwgMTkwLCAzNiwgMjEsIDE5NSwgMzYsIDIxLCAxOTksIDM2LCAyMSwgMTk2LCAzNiwgMjEsIDIwMSwgMzYsIDU0LCAKLSAgICAyMTYsIDI0OCwgMzYsIDU0LCAxMjMsIDI0MCwgMjE3LCAzNiwgNTQsIDEyMywgMjE2LCAxNDgsIDM2LCAyNDgsIDE1NCwgNTAsIAotICAgIDM2LCAyMzAsIDE0MCwgNTAsIDM2LCAyMTEsIDQ1LCA1MCwgMzYsIDI0OCwgOTUsIDUwLCAzNiwgMjQ5LCAxNDcsIDUwLCAzNiwgCi0gICAgMjUzLCAyNDYsIDcyLCA1MCwgMzYsIDIyMiwgMTIwLCA1MCwgMzYsIDU0LCA1MCwgMTQ4LCA1LCAyNTEsIDcsIDE0OCwgNSwgCi0gICAgMjU0LCA4MywgMTQ4LCA1LCAyMTMsIDE0NywgMTQ4LCAxLCA2MSwgMTQ4LCAxLCAyNTUsIDgyLCAxNDgsIDEsIDc0LCAxNDgsIAotICAgIDEsIDIzNiwgNDAsIDE0OCwgMSwgNjksIDE0OCwgMSwgMjE0LCAxMTgsIDE0OCwgMSwgMTQ5LCAxNTMsIDE0OCwgMSwgMTQ5LCAKLSAgICAxNTYsIDE0OCwgMSwgNzYsIDE0OCwgMSwgMjQ1LCAyMTcsIDE0OCwgMSwgMjU0LCAyMTAsIDE0OCwgMSwgNzgsIDE0OCwgMSwgCi0gICAgMjI2LCAxODcsIDE0OCwgMSwgMjUzLCAyMDAsIDE0OCwgMSwgMTc2LCAxNDgsIDEsIDIzNCwgMTM4LCAxNDgsIDEsIDI0MywgCi0gICAgMTQyLCAxNDgsIDEsIDI0MywgMCwgMTQ4LCAxLCAyMjksIDgyLCAxNDgsIDEsIDI1MSwgNDEsIDE0OCwgMSwgMjUwLCAxNjUsIAotICAgIDE0OCwgMSwgMjM1LCAxNDcsIDE0OCwgMSwgMjM1LCAxMjAsIDE0OCwgMSwgMjI3LCAxNjksIDE0OCwgMSwgMjE1LCAxNTcsIAotICAgIDE0OCwgMSwgMjE1LCAxNDUsIDE0OCwgMSwgMjQ4LCAxNDMsIDE0OCwgMSwgMjQ4LCAxMjcsIDE0OCwgMSwgMjI4LCAxMTUsIAotICAgIDE0OCwgMSwgMjE3LCAxMDYsIDE0OCwgMSwgMjE2LCAyMDksIDE0OCwgMSwgMjQ4LCAyMjksIDE0OCwgMSwgMjQ4LCAzMywgCi0gICAgMTQ4LCAxLCAxOTgsIDE0OCwgMSwgMTkxLCAxNDgsIDEsIDIyNSwgMTUwLCAxNDgsIDEsIDI1MiwgMTk5LCAxNDgsIDEsIAotICAgIDI1MiwgMjYsIDE0OCwgMSwgMTg2LCAxNDgsIDEsIDE5MiwgMTQ4LCAxLCAyMDUsIDE0OCwgMSwgMjIyLCAxODEsIDE0OCwgMSwgCi0gICAgMjMzLCAxNDEsIDE0OCwgMSwgMjMyLCAxOTAsIDE0OCwgMSwgMjE0LCAyNywgMTQ4LCAxLCAyMjAsIDEwNCwgMTQ4LCAxLCAKLSAgICAyMTgsIDIyNSwgMTQ4LCAxLCAyMDYsIDE0OCwgMSwgMTYyLCAxNDgsIDUsIDI1MywgMTgzLCAxNDgsIDI1LCA1LCAyNTUsIAotICAgIDgyLCAxNDgsIDI1LCA1LCA3NCwgMTQ4LCAyNSwgNSwgMjM2LCA0MCwgMTQ4LCAyNSwgNSwgNjksIDE0OCwgMjUsIDUsIDIxNCwgCi0gICAgMTE4LCAxNDgsIDI1LCA1LCAxNDksIDE1MywgMTQ4LCAyNSwgNSwgMTQ5LCAyMjIsIDE4MiwgMTQ4LCAyNSwgNSwgNzYsIAotICAgIDE0OCwgMjUsIDUsIDI0NSwgMjE3LCAxNDgsIDI1LCA1LCAyNTQsIDIxMCwgMTQ4LCAyNSwgNSwgNzgsIDE0OCwgMjUsIDUsIAotICAgIDIyNiwgMTg3LCAxNDgsIDI1LCA1LCAyNTMsIDIwMCwgMTQ4LCA1LCAyMTMsIDE1MiwgMTQ4LCAyMzMsIDI5LCA3OSwgMTQ4LCAKLSAgICAyNTQsIDIxMSwgMjMzLCAyOSwgNzksIDE0OCwgMSwgMjE1LCAxODQsIDE0OCwgMSwgMjQ2LCA0NiwgMTQ4LCAxLCAxNDksIAotICAgIDIyMiwgMTgyLCAxNDgsIDEsIDE0OSwgMjMyLCAxOTEsIDE0OCwgMjUsIDUsIDE0OSwgMTU2LCAxNDgsIDI1LCA1LCAxNDksIAotICAgIDIzMiwgMTkxLCAxNDgsIDIxLCAyMTAsIDg2LCAxNDgsIDIxLCAxMTEsIDE0OCwgMjEsIDEwNSwgMTQ4LCAyMSwgMTU4LCAKLSAgICAxNDgsIDIxLCAxNjEsIDE0OCwgMjEsIDE5MCwgMTQ4LCAyMSwgMTk1LCAxNDgsIDIxLCAxOTksIDE0OCwgMjEsIDE5NiwgCi0gICAgMTQ4LCAyMSwgMjAxLCAxNDgsIDI0NCwgMTAsIDIxLCAyMTAsIDg3LCAzMSwgMjI2LCAyNDEsIDIyNCwgMjI2LCA2NCwgMTYxLCAKLSAgICAxNDgsIDI0NCwgMTAsIDIxLCAxMjMsIDMxLCAyMjYsIDI0MSwgMjI0LCAyMjYsIDY0LCAxNjEsIDE0OCwgMjQ0LCAxMCwgMjEsIAotICAgIDExMywgMzEsIDIyNiwgMjQxLCAyMjQsIDIyNiwgNjQsIDE2MSwgMTQ4LCAyNDQsIDEwLCAyMSwgMTM0LCAzMSwgMjI2LCAKLSAgICAyNDEsIDIyNCwgMjI2LCA2NCwgMTYxLCAxNDgsIDI0NCwgMTAsIDIxLCAxMjMsIDMxLCAyNDUsIDUwLCAyMjQsIDIyNiwgNjQsIAotICAgIDE2MSwgMTQ4LCAyNDQsIDEwLCAyMSwgMTEzLCAzMSwgMjQ1LCA1MCwgMjI0LCAyMjYsIDY0LCAxNjEsIDE0OCwgMjQ0LCAxMCwgCi0gICAgMjEsIDEzNCwgMzEsIDI0NSwgNTAsIDIyNCwgMjI2LCA2NCwgMTYxLCAxNDgsIDUsIDIxNSwgODQsIDE2NSwgNSwgMjU0LCAKLSAgICA4MywgMTY1LCA1LCAyMTMsIDE0NywgMTY1LCAxLCA2MSwgMTY1LCAxLCAyNTUsIDgyLCAxNjUsIDEsIDc0LCAxNjUsIDEsIAotICAgIDIzNiwgNDAsIDE2NSwgMSwgNjksIDE2NSwgMSwgMjE0LCAxMTgsIDE2NSwgMSwgMTQ5LCAxNTMsIDE2NSwgMSwgMTQ5LCAKLSAgICAxNTYsIDE2NSwgMSwgNzYsIDE2NSwgMSwgMjQ1LCAyMTcsIDE2NSwgMSwgMjU0LCAyMTAsIDE2NSwgMSwgNzgsIDE2NSwgMSwgCi0gICAgMjI2LCAxODcsIDE2NSwgMSwgMjUzLCAyMDAsIDE2NSwgMSwgMTc2LCAxNjUsIDEsIDIzNCwgMTM4LCAxNjUsIDEsIDI0MywgCi0gICAgMTQyLCAxNjUsIDEsIDI0MywgMCwgMTY1LCAxLCAyMjksIDgyLCAxNjUsIDEsIDI1MSwgNDEsIDE2NSwgMSwgMjUwLCAxNjUsIAotICAgIDE2NSwgMSwgMjM1LCAxNDcsIDE2NSwgMSwgMjM1LCAxMjAsIDE2NSwgMSwgMjI3LCAxNjksIDE2NSwgMSwgMjE1LCAxNTcsIAotICAgIDE2NSwgMSwgMjE1LCAxNDUsIDE2NSwgMSwgMjQ4LCAxNDMsIDE2NSwgMSwgMjQ4LCAxMjcsIDE2NSwgMSwgMjI4LCAxMTUsIAotICAgIDE2NSwgMSwgMjE3LCAxMDYsIDE2NSwgMSwgMjE2LCAyMDksIDE2NSwgMSwgMjQ4LCAyMjksIDE2NSwgMSwgMjQ4LCAzMywgCi0gICAgMTY1LCAxLCAxOTgsIDE2NSwgMSwgMTkxLCAxNjUsIDEsIDIyNSwgMTUwLCAxNjUsIDEsIDI1MiwgMTk5LCAxNjUsIDEsIAotICAgIDI1MiwgMjYsIDE2NSwgMSwgMTg2LCAxNjUsIDEsIDE5MiwgMTY1LCAxLCAyMDUsIDE2NSwgMSwgMjIyLCAxODEsIDE2NSwgMSwgCi0gICAgMjMzLCAxNDEsIDE2NSwgMSwgMjMyLCAxOTAsIDE2NSwgMSwgMjE0LCAyNywgMTY1LCAxLCAyMjAsIDEwNCwgMTY1LCAxLCAKLSAgICAyMTgsIDIyNSwgMTY1LCAxLCAyMDYsIDE2NSwgMSwgMTYyLCAxNjUsIDUsIDIyNywgMjA5LCAxNjUsIDUsIDI1MywgMTgzLCAKLSAgICAxNjUsIDI1LCA1LCAyNTUsIDgyLCAxNjUsIDI1LCA1LCA3NCwgMTY1LCAyNSwgNSwgMjM2LCA0MCwgMTY1LCAyNSwgNSwgNjksIAotICAgIDE2NSwgMjUsIDUsIDIxNCwgMTE4LCAxNjUsIDI1LCA1LCAxNDksIDE1MywgMTY1LCAyNSwgNSwgMTQ5LCAyMjIsIDE4MiwgCi0gICAgMTY1LCAyNSwgNSwgNzYsIDE2NSwgMjUsIDUsIDI0NSwgMjE3LCAxNjUsIDI1LCA1LCAyNTQsIDIxMCwgMTY1LCAyNSwgNSwgCi0gICAgNzgsIDE2NSwgMjUsIDUsIDIyNiwgMTg3LCAxNjUsIDI1LCA1LCAyNTMsIDIwMCwgMTY1LCA1LCAyMTMsIDE1MiwgMTY1LCAKLSAgICAyMzMsIDI5LCA3OSwgMTY1LCAyNTQsIDIxMSwgMjMzLCAyOSwgNzksIDE2NSwgMSwgMjQ0LCAyMDQsIDE2NSwgMSwgMTQ5LCAKLSAgICAyMjIsIDE4MiwgMTY1LCAxLCAxNDksIDIzMiwgMTkxLCAxNjUsIDI1LCA1LCAxNDksIDE1NiwgMTY1LCAyNSwgNSwgMTQ5LCAKLSAgICAyMzIsIDE5MSwgMTY1LCAyMSwgMjEwLCA4NiwgMTY1LCAyMSwgMTExLCAxNjUsIDIxLCAxMDUsIDE2NSwgMjEsIDE1OCwgCi0gICAgMTY1LCAyMSwgMTYxLCAxNjUsIDIxLCAxOTAsIDE2NSwgMjEsIDE5NSwgMTY1LCAyMSwgMTk5LCAxNjUsIDIxLCAxOTYsIAotICAgIDE2NSwgMjEsIDIwMSwgMTY1LCA1LCAyMzUsIDEwOCwgMTY1LCA1LCAyMTQsIDE2MSwgMTM2LCA1LCAyNTQsIDgzLCAxMzYsIAotICAgIDUsIDIxMywgMTQ3LCAxMzYsIDEsIDYxLCAxMzYsIDEsIDI1NSwgODIsIDEzNiwgMSwgNzQsIDEzNiwgMSwgMjM2LCA0MCwgCi0gICAgMTM2LCAxLCA2OSwgMTM2LCAxLCAyMTQsIDExOCwgMTM2LCAxLCAxNDksIDE1MywgMTM2LCAxLCAxNDksIDE1NiwgMTM2LCAxLCAKLSAgICA3NiwgMTM2LCAxLCAyNDUsIDIxNywgMTM2LCAxLCAyNTQsIDIxMCwgMTM2LCAxLCA3OCwgMTM2LCAxLCAyMjYsIDE4NywgCi0gICAgMTM2LCAxLCAyNTMsIDIwMCwgMTM2LCAxLCAxNzYsIDEzNiwgMSwgMjM0LCAxMzgsIDEzNiwgMSwgMjQzLCAxNDIsIDEzNiwgCi0gICAgMSwgMjQzLCAwLCAxMzYsIDEsIDIyOSwgODIsIDEzNiwgMSwgMjUxLCA0MSwgMTM2LCAxLCAyNTAsIDE2NSwgMTM2LCAxLCAKLSAgICAyMzUsIDE0NywgMTM2LCAxLCAyMzUsIDEyMCwgMTM2LCAxLCAyMjcsIDE2OSwgMTM2LCAxLCAyMTUsIDE1NywgMTM2LCAxLCAKLSAgICAyMTUsIDE0NSwgMTM2LCAxLCAyNDgsIDE0MywgMTM2LCAxLCAyNDgsIDEyNywgMTM2LCAxLCAyMjgsIDExNSwgMTM2LCAxLCAKLSAgICAyMTcsIDEwNiwgMTM2LCAxLCAyMTYsIDIwOSwgMTM2LCAxLCAyNDgsIDIyOSwgMTM2LCAxLCAyNDgsIDMzLCAxMzYsIDEsIAotICAgIDE5OCwgMTM2LCAxLCAyMjgsIDk3LCAxMzYsIDEsIDE5MSwgMTM2LCAxLCAyMjUsIDE1MCwgMTM2LCAxLCAyNTIsIDE5OSwgCi0gICAgMTM2LCAxLCAyNTIsIDI2LCAxMzYsIDEsIDE4NiwgMTM2LCAxLCAxOTIsIDEzNiwgMSwgMjA1LCAxMzYsIDEsIDIyMiwgMTgxLCAKLSAgICAxMzYsIDEsIDIzMywgMTQxLCAxMzYsIDEsIDIzMiwgMTkwLCAxMzYsIDEsIDIzMiwgMTgxLCAxMzYsIDEsIDIxNCwgMjcsIAotICAgIDEzNiwgMSwgMjIwLCAxMDQsIDEzNiwgMSwgMjE4LCAyMjUsIDEzNiwgMSwgMjA2LCAxMzYsIDEsIDE2MiwgMTM2LCAxLCAKLSAgICAyMTUsIDEyNiwgMTM2LCA1LCAyNTMsIDE4MywgMTM2LCAyNSwgNSwgMjU1LCA4MiwgMTM2LCAyNSwgNSwgNzQsIDEzNiwgMjUsIAotICAgIDUsIDIzNiwgNDAsIDEzNiwgMjUsIDUsIDY5LCAxMzYsIDI1LCA1LCAyMTQsIDExOCwgMTM2LCAyNSwgNSwgMTQ5LCAxNTMsIAotICAgIDEzNiwgMjUsIDUsIDE0OSwgMjIyLCAxODIsIDEzNiwgMjUsIDUsIDc2LCAxMzYsIDI1LCA1LCAyNDUsIDIxNywgMTM2LCAyNSwgCi0gICAgNSwgMjU0LCAyMTAsIDEzNiwgMjUsIDUsIDc4LCAxMzYsIDI1LCA1LCAyMjYsIDE4NywgMTM2LCAyNSwgNSwgMjUzLCAyMDAsIAotICAgIDEzNiwgNSwgMjEzLCAxNTIsIDEzNiwgMSwgNTksIDIyMywgNzYsIDEzNiwgMjUzLCAyMDEsIDIzMywgMjksIDc5LCAxMzYsIAotICAgIDEsIDE0OSwgMjIyLCAxODIsIDEzNiwgMSwgMTQ5LCAyMzIsIDE5MSwgMTM2LCAyNSwgNSwgMTQ5LCAxNTYsIDEzNiwgMjUsIAotICAgIDUsIDE0OSwgMjMyLCAxOTEsIDEzNiwgMjEsIDIxMCwgODYsIDEzNiwgMjEsIDExMSwgMTM2LCAyMSwgMTA1LCAxMzYsIDIxLCAKLSAgICAxNTgsIDEzNiwgMjEsIDE2MSwgMTM2LCAyMSwgMTkwLCAxMzYsIDIxLCAxOTUsIDEzNiwgMjEsIDE5OSwgMTM2LCAyMSwgCi0gICAgMTk2LCAxMzYsIDIxLCAyMDEsIDEzNiwgNTQsIDIxNiwgMjQ4LCAxMzYsIDU0LCAxMjMsIDI0MCwgMjE3LCAxMzYsIDU0LCAKLSAgICAxMjMsIDIxNiwgMTQ4LCAxMzYsIDI0NCwgMTAsIDEyMywgMjI0LCAyNCwgMTM2LCAyNDQsIDEwLCAxMjMsIDI0MiwgMzQsIAotICAgIDEzNiwgMjQ0LCAxMCwgMTM0LCAyMjQsIDIyLCAxMzYsIDI0OCwgMTU4LCA3OSwgMTM2LCAxLCAyNTAsIDEwNywgMjI4LCAKLSAgICAxMTYsIDEzNiwgMSwgMjUwLCAxMDcsIDIzMCwgMzAsIDEzNiwgMSwgMjUwLCAxMDcsIDIyMiwgMTgyLCAxMzYsIDEsIDI1MCwgCi0gICAgMTA3LCAxNTYsIDEzNiwgMSwgMjUwLCAxMDcsIDIzMiwgMTkxLCAxMzYsIDEsIDI1MCwgMTA3LCAyMzUsIDI5LCAxNzUsIDUsIAotICAgIDI1NCwgODIsIDE3NSwgNSwgMjEzLCAxNDYsIDE3NSwgMSwgMjUzLCAxNzMsIDE3NSwgMSwgMjU1LCAzNiwgMTc1LCAxLCAKLSAgICAyNTQsIDIzMiwgMTc1LCAxLCAyNTQsIDI0NywgMTc1LCAxLCAyMzUsIDE1NywgMTc1LCAxLCAyMzYsIDM5LCAxNzUsIDEsIAotICAgIDIxNCwgMTEwLCAxNzUsIDEsIDIxNCwgMTEyLCAxNzUsIDEsIDIzNSwgMTgwLCAxNzUsIDEsIDIzNSwgMTgxLCAxNzUsIDEsIAotICAgIDIzNiwgMjUsIDE3NSwgMSwgMjM2LCAyNywgMTc1LCAxLCAyNDUsIDI1LCAxNzUsIDEsIDI0NSwgMjEyLCAxNzUsIDEsIDI1NCwgCi0gICAgMTk3LCAxNzUsIDEsIDIyNiwgMTEyLCAxNzUsIDEsIDIyNiwgMTgxLCAxNzUsIDEsIDI1MywgMTg2LCAxNzUsIDEsIDI1NCwgCi0gICAgMTU0LCAyMzQsIDE5MywgMTc1LCAxLCAyMzEsIDIxNCwgMjM0LCAxOTMsIDE3NSwgMSwgMjU0LCAxNTQsIDI0MywgODksIAotICAgIDE3NSwgMSwgMjMxLCAyMTQsIDI0MywgODksIDE3NSwgMSwgMjM0LCAyMzUsIDIyOSwgMjI3LCAxNzUsIDEsIDIyMSwgMjM4LCAKLSAgICAyNDMsIDg5LCAxNzUsIDEsIDI1NCwgMTU0LCAyNTAsIDIyNCwgMTc1LCAxLCAyMzEsIDIxNCwgMjUwLCAyMjQsIDE3NSwgMSwgCi0gICAgMjU0LCAxNTQsIDIzNSwgMTMzLCAxNzUsIDEsIDIzMSwgMjE0LCAyMzUsIDEzMywgMTc1LCAxLCAyMTcsIDk5LCAyMjksIAotICAgIDIyNywgMTc1LCAxLCAyMTcsIDk5LCAyMjEsIDIzNywgMjI5LCAyMjgsIDE3NSwgMSwgMjIxLCAyMzgsIDIzNSwgMTMzLCAKLSAgICAxNzUsIDEsIDI1NCwgMTU0LCAyMTUsIDE1MywgMTc1LCAxLCAyMzEsIDIxNCwgMjE1LCAxNTMsIDE3NSwgMSwgMjU0LCAxNTQsIAotICAgIDI0OCwgMTM0LCAxNzUsIDEsIDIzMSwgMjE0LCAyNDgsIDEzNCwgMTc1LCAxLCAyMzAsIDU4LCAyMjksIDE4NSwgMTc1LCAxLCAKLSAgICAyMjEsIDIzOCwgMjQ4LCAxMzQsIDE3NSwgMSwgMjU0LCAxNTQsIDIxNywgMzEsIDE3NSwgMSwgMjMxLCAyMTQsIDIxNywgMzEsIAotICAgIDE3NSwgMSwgMjU0LCAxNTQsIDI0OCwgMTUyLCAxNzUsIDEsIDIzMSwgMjE0LCAyNDgsIDE1MiwgMTc1LCAxLCAyNDgsIDE4MiwgCi0gICAgMjI5LCAxODUsIDE3NSwgMSwgMjIxLCAyMzgsIDI0OCwgMTUyLCAxNzUsIDEsIDI1NCwgMTU0LCAyMjUsIDIzMiwgMTc1LCAxLCAKLSAgICAyMzEsIDIxNCwgMjI1LCAyMzIsIDE3NSwgMSwgMjU0LCAxNTQsIDI1MiwgMTIwLCAxNzUsIDEsIDIzMSwgMjE0LCAyNTIsIAotICAgIDEyMCwgMTc1LCAxLCAyMzEsIDEzNiwgMTc1LCAxLCAyNTQsIDEzOSwgMjUyLCAxMjAsIDE3NSwgMSwgMjExLCA1MSwgMTc1LCAKLSAgICAxLCAyMjMsIDEzNiwgMTc1LCAxLCAyNDgsIDE4MiwgMjMzLCA3MywgMTc1LCAxLCAyMTQsIDEsIDE3NSwgMSwgMjE3LCA5OSwgCi0gICAgMjIxLCAyMTIsIDE3NSwgMSwgMjMwLCA1OCwgMjIxLCAyMTIsIDE3NSwgMSwgMjQ4LCAxODIsIDIyMSwgMjEyLCAxNzUsIDEsIAotICAgIDI0MSwgMjQ5LCAxNzUsIDEsIDIzMCwgNTgsIDIzMywgNzMsIDE3NSwgMSwgMjQ0LCAxNjQsIDE3NSwgNSwgMjU0LCAxODYsIAotICAgIDE3NSwgMjUsIDUsIDI1NCwgMjQyLCAxNzUsIDI1LCA1LCAyMzQsIDE2MSwgMjU0LCAyNDksIDE3NSwgMjUsIDUsIDI0NywgCi0gICAgMjM2LCAyNTQsIDI0OSwgMTc1LCAyNSwgNSwgMjM0LCAxNjEsIDIzNSwgMTc3LCAxNzUsIDI1LCA1LCAyNDcsIDIzNiwgMjM1LCAKLSAgICAxNzcsIDE3NSwgMjUsIDUsIDIzNCwgMTYxLCAyMjYsIDkyLCAxNzUsIDI1LCA1LCAyNDcsIDIzNiwgMjI2LCA5MiwgMTc1LCAKLSAgICAyNSwgNSwgMjQzLCAxMzEsIDE3NSwgMjUsIDUsIDIzNCwgMjEsIDE3NSwgMjUsIDUsIDI0NywgMjM2LCAyMzQsIDIxLCAxNzUsIAotICAgIDI1LCA1LCAyMzQsIDIzLCAyNDgsIDc1LCAxNzUsIDI1LCA1LCAyMzQsIDIyLCAyNDIsIDU0LCAyNTQsIDI0MiwgMTc1LCAyNSwgCi0gICAgNSwgMjM0LCAyMiwgMjQyLCA1NCwgMjQ3LCAyMzYsIDI1NCwgMjQyLCAxNzUsIDI1LCA1LCAyMzQsIDIyLCAyNDIsIDU0LCAKLSAgICAyNDMsIDg4LCAxNzUsIDI1LCA1LCAyNDMsIDg4LCAxNzUsIDI1LCA1LCAyNDcsIDIzNiwgMjQzLCAxMzEsIDE3NSwgMjUsIDUsIAotICAgIDI0NywgMjM2LCAyNDMsIDg4LCAxNzUsIDIyNCwgMTQ0LCAyMzMsIDIxMywgMTY4LCAxMzUsIDIzNCwgMzUsIDIzNCwgMjUyLCAKLSAgICAxNjgsIDEzNSwgMjM0LCAxMTIsIDIzNCwgMTM0LCAxNjgsIDEzNSwgMjM0LCAxMTIsIDIzNCwgMTA1LCAxNjgsIDEzNSwgCi0gICAgMjM0LCAxMTIsIDIzNCwgMTAxLCAxNjgsIDEzNSwgMjM0LCAxMTIsIDIzNCwgMTA5LCAxNjgsIDEzNSwgMjM0LCAxMTIsIAotICAgIDIyMywgMTU3LCAxNjgsIDEzNSwgMjI5LCAxMCwgMjI4LCAyNTMsIDE2OCwgMTM1LCAyNTAsIDk1LCAyNTAsIDE1NSwgMTY4LCAKLSAgICAxMzUsIDI1MCwgOTUsIDI1MCwgMTAzLCAxNjgsIDEzNSwgMjUwLCA5NSwgMjUwLCAxNTQsIDE2OCwgMTM1LCAyMTksIDYxLCAKLSAgICAyMTksIDYwLCAxNjgsIDEzNSwgMjUwLCA5NSwgMjUwLCA5MSwgMTY4LCAxMzUsIDIxMCwgMjQ1LCAyMTAsIDI1MiwgMTY4LCAKLSAgICAxMzUsIDI0NywgMTU0LCAyNTAsIDE2MiwgMTY4LCAxMzUsIDIxNiwgNDMsIDIyNSwgMjQyLCAxNjgsIDEzNSwgMjE2LCAxNTgsIAotICAgIDIxNiwgMjAxLCAxNjgsIDEzNSwgMjE2LCAxNTgsIDIyOSwgMjA2LCAxNjgsIDEzNSwgMjE2LCAxNTgsIDIyNSwgMTE0LCAKLSAgICAxNjgsIDEzNSwgMjI4LCA4MCwgMjI5LCAxMDMsIDE2OCwgMTM1LCAyNDcsIDE1NCwgMjQ4LCA3NiwgMTY4LCAxMzUsIDIxNiwgCi0gICAgNDMsIDIxNywgNTYsIDE2OCwgMTM1LCAyMTYsIDE1OCwgMjE2LCAxMzIsIDE2OCwgMTM1LCAyMTYsIDE1OCwgMjE2LCAyMDUsIAotICAgIDE2OCwgMTM1LCAyMTYsIDE1OCwgMjE2LCAxNTUsIDE2OCwgMTM1LCAyMjgsIDgwLCAyMjcsIDI0MiwgMTY4LCAxMzUsIDI1MSwgCi0gICAgMjE0LCAyNTIsIDE3MiwgMTY4LCAxMzUsIDIyNSwgMjAsIDIyNSwgNDUsIDE2OCwgMTM1LCAyMjUsIDEyNSwgMjI1LCAxMTYsIAotICAgIDE2OCwgMTM1LCAyNDQsIDUyLCAyNDQsIDIwNCwgMTY4LCAxMzUsIDIyNSwgMTI1LCAyMjUsIDE0NCwgMTY4LCAxMzUsIDI0NCwgCi0gICAgNTIsIDI0NCwgMTgxLCAxNjgsIDEzNSwgMjI1LCAxMjUsIDIyMSwgMjQ5LCAxNjgsIDEzNSwgMjMwLCAxNjcsIDE4NiwgMTY4LCAKLSAgICAxMzUsIDIxMCwgMjQ1LCAyMTEsIDc5LCAxNjgsIDEzNSwgMjIyLCAyMTQsIDIyMiwgMTQxLCAxNjgsIDEzNSwgMjIyLCAxNDIsIAotICAgIDE2OCwgMTM1LCAyMzIsIDE2MywgMjMyLCAyMTIsIDE2OCwgMTM1LCAyMzIsIDEwMywgMTY4LCAxMzUsIDIxMSwgMjI4LCAKLSAgICAyMTIsIDYxLCAxNjgsIDEzNSwgMjE5LCA2MSwgMjIyLCA4LCAxNjgsIDEzNSwgMjE5LCA2MSwgMjIyLCAxMTYsIDE2OCwgCi0gICAgMTM1LCAyMTksIDYxLCAyMTgsIDgzLCAxNjgsIDEzNSwgMjQxLCA3NiwgMjQxLCAxNjYsIDE2OCwgMTM1LCAyMzIsIDE2MywgCi0gICAgMjUwLCA3NiwgMTY4LCAxMzUsIDE0NCwgMjU0LCAxMjMsIDE2OCwgMTM1LCAyNDEsIDc2LCAyMjgsIDc1LCAxNjgsIDEzNSwgCi0gICAgMjI2LCA3MiwgMTY4LCAxMzUsIDIyMSwgMjMyLCA2MSwgMTY4LCAxMzUsIDIzMSwgMjA5LCAyNDIsIDI0LCAxNjgsIDEzNSwgCi0gICAgMjIxLCAyMzIsIDI1NSwgODIsIDE2OCwgMTM1LCAyMjEsIDIzMiwgMjU0LCAxNDQsIDE2OCwgMTM1LCAyMjEsIDIzMiwgNzQsIAotICAgIDE2OCwgMTM1LCAyMjEsIDIzMiwgMjM2LCA0MCwgMTY4LCAxMzUsIDIyMSwgMjMyLCAyMTQsIDIxNCwgMTY4LCAxMzUsIDIyMSwgCi0gICAgMjMyLCAyMTQsIDIxMiwgMTY4LCAxMzUsIDIyMSwgMjMyLCA2OSwgMTY4LCAxMzUsIDIyMSwgMjMyLCAyMTQsIDExOCwgMTY4LCAKLSAgICAxMzUsIDIyNSwgMTI3LCAxNjgsIDI0OSwgMTA2LCAxNiwgMjUyLCAxNzMsIDE2OCwgMTM1LCAyMjEsIDIzMiwgNzYsIDE2OCwgCi0gICAgMTM1LCAyMjEsIDIzMiwgMjU0LCAyNTIsIDE2OCwgMTM1LCAyMjEsIDIzMiwgNzgsIDE2OCwgMTM1LCAyMjEsIDIzMiwgMjU0LCAKLSAgICAyMTEsIDIzMSwgMjAzLCAxNjgsIDEzNSwgMjIxLCAyMzIsIDI1NCwgMjExLCAyMzEsIDIwNCwgMTY4LCAxMzUsIDIzMywgCi0gICAgMTEyLCAxNjgsIDEzNSwgMjMxLCAyMDAsIDE2OCwgMTM1LCAyMzEsIDIwMSwgMTY4LCAxMzUsIDIzMSwgMjA5LCAyNDUsIAotICAgIDE4OCwgMTY4LCAxMzUsIDIzMSwgMjA5LCAyMTYsIDE1NywgMTY4LCAxMzUsIDIzMSwgMjA5LCAyMTUsIDIyOSwgMTY4LCAKLSAgICAxMzUsIDIzMSwgMjA5LCAyNTAsIDE0MywgMTY4LCAxMzUsIDIxNiwgMTk5LCAxNjgsIDEzNSwgMjI4LCAyMTAsIDE2OCwgCi0gICAgMTM1LCAyMTEsIDczLCAxNjgsIDEzNSwgMjQ0LCA0MywgMTY4LCAyMSwgMjEwLCA4NiwgMTY4LCAyMSwgMTExLCAxNjgsIDIxLCAKLSAgICAxMDUsIDE2OCwgMjEsIDE1OCwgMTY4LCAyMSwgMTYxLCAxNjgsIDIxLCAxOTAsIDE2OCwgMjEsIDE5NSwgMTY4LCAyMSwgCi0gICAgMTk5LCAxNjgsIDIxLCAxOTYsIDE2OCwgMjEsIDIwMSwgMTY4LCAxMzUsIDI1NCwgMTE5LCAxNjgsIDEzNSwgMjM0LCAxMTAsIAotICAgIDIwOSwgMjA5LCAxLCAyMzQsIDM0LCAyMDksIDIwOSwgMSwgMjM0LCAxMTIsIDIxOCwgMzYsIDIwOSwgMjA5LCAxLCAyMzQsIAotICAgIDExMiwgMjE3LCA2MywgMjA5LCAyMDksIDEsIDIyOSwgOSwgMjA5LCAyMDksIDEsIDI0OSwgMjQ2LCAyMDksIDIwOSwgMSwgCi0gICAgMjE5LCA2MSwgMjE3LCA2MywgMjA5LCAyMDksIDEsIDIyNywgMTM4LCAyMDksIDIwOSwgMSwgMjQ3LCAxNTMsIDIwOSwgMjA5LCAKLSAgICAxLCAxMTIsIDIwOSwgMjA5LCAxLCAyMTYsIDE1OCwgMjE4LCAzNiwgMjA5LCAyMDksIDEsIDIxNiwgMTU4LCAyMTcsIDYzLCAKLSAgICAyMDksIDIwOSwgMSwgMjI4LCA3OSwgMjA5LCAyMDksIDEsIDI1MSwgMjEzLCAyMDksIDIwOSwgMSwgMjI1LCAxOSwgMjA5LCAKLSAgICAyMDksIDEsIDIyNSwgMTI1LCAyMTgsIDM2LCAyMDksIDIwOSwgMSwgMjQ0LCA1MiwgMjE3LCA2MywgMjA5LCAyMDksIDEsIAotICAgIDIyNSwgMTI1LCAyMTcsIDYzLCAyMDksIDIwOSwgMSwgMjQ0LCA1MiwgMjE4LCAzNiwgMjA5LCAyMDksIDEsIDIzMCwgMTY2LCAKLSAgICAyMDksIDIwOSwgMSwgMjEwLCAyNDQsIDIwOSwgMjA5LCAxLCAyMzIsIDE2MywgMjMyLCAyMTIsIDIwOSwgMjA5LCAxLCAyMzIsIAotICAgIDE2MywgMjMyLCAxMjcsIDIwOSwgMjA5LCAxLCAyMTEsIDIyNywgMjA5LCAyMDksIDEsIDIxOSwgNjEsIDIxOCwgMzYsIDIwOSwgCi0gICAgMjA5LCAxLCAyNDEsIDc2LCAyMTgsIDM2LCAyMDksIDIwOSwgMSwgNzgsIDIwOSwgMjA5LCAxLCAyNDEsIDc2LCAyMTcsIDYzLCAKLSAgICAyMDksIDIwOSwgMjQ1LCAxNzEsIDIwOSwgMjA5LCAyNSwgNSwgNjEsIDIwOSwgMjA5LCAyNSwgNSwgMjMxLCAyMDksIDIzNCwgCi0gICAgMjQwLCAyMDksIDIwOSwgMjUsIDUsIDI1NSwgODIsIDIwOSwgMjA5LCAyNSwgNSwgMjU0LCAxNDQsIDIwOSwgMjA5LCAyNSwgCi0gICAgNSwgNzQsIDIwOSwgMjA5LCAyNSwgNSwgMjM2LCA0MCwgMjA5LCAyMDksIDI1LCA1LCAyMTEsIDExNywgMjA5LCAyMDksIDI1LCAKLSAgICA1LCAyMTAsIDE2OSwgMjA5LCAyMDksIDI1LCA1LCA2OSwgMjA5LCAyMDksIDI1LCA1LCAyMTQsIDExOCwgMjA5LCAyMDksIAotICAgIDI1LCA1LCAyMzEsIDIwOSwgMjM0LCAxOSwgMjA5LCAyMDksIDIyMCwgMTQ3LCA1LCAyMzIsIDE2MiwgMjA5LCAyMDksIDIyMCwgCi0gICAgMTQ3LCA1LCAyMjcsIDEzOCwgMjA5LCAyMDksIDI1LCA1LCA3NiwgMjA5LCAyMDksIDI1LCA1LCAyNDUsIDIwMywgMjA5LCAKLSAgICAyMDksIDI1LCA1LCA3OCwgMjA5LCAyMDksIDI1LCA1LCAyNTMsIDE3NSwgMjA5LCAyMDksIDI1LCA1LCAyNTQsIDIxMCwgCi0gICAgMjA5LCAyMDksIDIzNCwgMzUsIDIzMywgMTQxLCAyMDksIDIwOSwgMTM4LCAyMzEsIDIwOSwgMjQ1LCAxODgsIDIwOSwgMjA5LCAKLSAgICAxMzgsIDIzMSwgMjA5LCAyMTYsIDE1NywgMjA5LCAyMDksIDEzOCwgMjMxLCAyMDksIDIxNiwgMTE4LCAyMDksIDIwOSwgCi0gICAgMTM4LCAyMzEsIDIwOSwgMjUwLCAyMzEsIDIwOSwgMjA5LCAyNTEsIDEyLCA3OSwgMjA5LCAyMDksIDIyOCwgMjE5LCAyMDksIAotICAgIDIwOSwgMjEsIDIxMCwgODYsIDIwOSwgMjA5LCAyMSwgMTExLCAyMDksIDIwOSwgMjEsIDEwNSwgMjA5LCAyMDksIDIxLCAKLSAgICAxNTgsIDIwOSwgMjA5LCAyMSwgMTYxLCAyMDksIDIwOSwgMjEsIDE5MCwgMjA5LCAyMDksIDIxLCAxOTUsIDIwOSwgMjA5LCAKLSAgICAyMSwgMTk5LCAyMDksIDIwOSwgMjEsIDE5NiwgMjA5LCAyMDksIDIxLCAyMDEsIDIwOSwgMjA5LCAyNDEsIDc2LCAyMjgsIAotICAgIDc5LCAyMDksIDIwOSwgMjQxLCA3NiwgMjMwLCAxNjYsIDIwOSwgMjA5LCAxLCAyMzQsIDExMywgMjQyLCAxODEsIDIwOSwgCi0gICAgMjA5LCAxLCAyMzQsIDExMywgMjI3LCAxMzgsIDYzLCAzLCAyMjYsIDIwOCwgNjMsIDE2NCwgMjQyLCAxMjIsIDIxMSwgMCwgCi0gICAgMjMwLCAyNTMsIDIxNSwgMTkwLCA2MSwgNjMsIDE2NCwgMjQyLCAxMjIsIDIxMSwgMCwgMjMwLCAyNTMsIDI1NSwgMTY4LCAKLSAgICAyMjIsIDIxOCwgMjUyLCA4NSwgMTg2LCA2MywgMTY0LCAyNDIsIDEyMiwgMjExLCAwLCAyMzAsIDI1MywgMjU1LCAxNjgsIAotICAgIDI0MiwgMTIyLCAyMTUsIDE3NCwgMTg2LCA2MywgMTY0LCA2NSwgMjExLCAwLCAyMzAsIDI1MywgMjMxLCA5OCwgMTg2LCA2MywgCi0gICAgMTY0LCAyNTAsIDQsIDIxMSwgMCwgMjMwLCAyNTMsIDIyMCwgMTExLCAxODYsIDYzLCAxNjQsIDI1MCwgMjQ3LCAyMTEsIDAsIAotICAgIDIzMCwgMjUzLCAyMjUsIDExNSwgMjIwLCA5OCwgMTg2LCA2MywgMTY0LCAyMTEsIDAsIDIzMCwgMjUzLCAyMTUsIDE3NCwgCi0gICAgMjIwLCA5OCwgMTg2LCA2MywgMTY0LCAyMjEsIDIxMCwgMjIwLCA5NywgNjMsIDE2NCwgMjUxLCAxMzYsIDIxMSwgMCwgMjMwLCAKLSAgICAyNTIsIDYzLCAxNjQsIDI1MSwgMjMxLCAyMjAsIDUsIDIxMSwgMCwgMjMwLCAyNTIsIDYzLCAxNjQsIDIzNSwgMjA0LCAyMTUsIAotICAgIDE3MywgNjMsIDE2NCwgMjQ4LCA2OSwgMjE1LCAxNzQsIDI1MSwgMTM1LCA2MywgMTY0LCAyMjAsIDk3LCA2MywgMTY0LCAKLSAgICAyMjcsIDE0MywgMjIwLCA5NywgNjMsIDE2NCwgMjE1LCAxNzQsIDIyMCwgOTcsIDYzLCAxNjQsIDIyNywgMTQzLCAyMTUsIAotICAgIDE3NCwgMjIwLCA5NywgNjMsIDE2NCwgMjIyLCAyMzksIDI1MCwgMTMwLCAyMTgsIDIzOCwgMjIwLCA5NywgNjMsIDE2NCwgCi0gICAgMjIzLCA0NSwgMjQyLCAxNTMsIDIyMCwgOTcsIDYzLCAxNjQsIDI1MCwgMjQ3LCAyNTUsIDE3MiwgMjIyLCAxNDYsIDIzMSwgCi0gICAgOTcsIDIwMCwgMjUxLCAxNSwgNjMsIDE2NCwgMjQyLCAxMjIsIDIxNSwgMTczLCA2MywgMjMyLCAxNTAsIDUsIDI1MCwgMTYzLCAKLSAgICAyMjIsIDE0NSwgNjMsIDIzMiwgMTUwLCA1LCAyMzMsIDIsIDIyMiwgMTQ1LCA2MywgMjUzLCAyMjAsIDUsIDIyMCwgMTA3LCAKLSAgICAyNDMsIDcyLCAyNTUsIDE3MywgMjIyLCAxNDUsIDYzLCAyNTMsIDIyMCwgNSwgMjU1LCAxNzAsIDE5MSwgNjMsIDI1MywgCi0gICAgMjIwLCA1LCAyMjEsIDE4NCwgMjE1LCAxNjksIDYzLCA1LCAyMjMsIDEzMywgMjQ3LCAxNjcsIDI0MywgNzEsIDYzLCA1LCAKLSAgICAyMjMsIDEzMywgMjQ3LCAxNjcsIDI0MiwgMTgzLCA2MywgNSwgMjIzLCAxMzMsIDI0NywgMTY3LCAyNDIsIDEyMywgNjMsIDUsIAotICAgIDIyMywgMTMzLCAyMjksIDIyNCwgMjQzLCA3MSwgNjMsIDUsIDIyMywgMTMzLCAyMjksIDIyNCwgMjQyLCAxODMsIDYzLCA1LCAKLSAgICAyMjMsIDEzMywgMjQ3LCAxNjcsIDIyMywgMTMzLCAyMjksIDIyMywgNjMsIDIxLCAyMTAsIDg2LCA2MywgMjEsIDExMSwgNjMsIAotICAgIDIxLCAxMDUsIDYzLCAyMSwgMTU4LCA2MywgMjEsIDE2MSwgNjMsIDIxLCAxOTAsIDYzLCAyMSwgMTk1LCA2MywgMjEsIDE5OSwgCi0gICAgNjMsIDIxLCAxOTYsIDYzLCAyMSwgMjAxLCA2MywgMjEsIDE2MywgMTExLCA2MywgMjEsIDE2MywgMTA1LCA2MywgMjEsIAotICAgIDE2MywgMTU4LCA2MywgMjEsIDE2MywgMTYxLCA2MywgMjEsIDE2MywgMTkwLCA2MywgMjEsIDE2MywgMTk1LCA2MywgMjEsIAotICAgIDE2MywgMTk5LCA2MywgMjEsIDE2MywgMTk2LCA2MywgMjEsIDE2MywgMjAxLCA2MywgMjEsIDE2MywgMjEwLCA4NiwgNjMsIAotICAgIDE2NCwgMjUxLCAxMzgsIDIyMiwgMTQ1LCA2MywgMTY0LCAyMjksIDczLCAyNTEsIDc2LCAyMjcsIDE1MywgMjEwLCAyNSwgCi0gICAgNjMsIDE2NCwgMjUwLCAyNDcsIDI1NSwgMTcyLCAyMjIsIDE0NiwgMjUxLCA3NywgMjMwLCAyMDcsIDI1MSwgMTUsIDYzLCAKLSAgICAxNjQsIDIyOSwgNzMsIDI1MSwgNzYsIDIyMCwgMTA4LCAyMjIsIDE0NSwgNjMsIDE2NCwgMjUwLCAxNDAsIDIzMCwgMjUyLCAKLSAgICA2MywgMTY0LCAyMTUsIDE4NSwgMjU1LCAxNjksIDYzLCAxNjQsIDI0MiwgMTA3LCAyMjIsIDE0NiwgMjQyLCA3MCwgNjMsIAotICAgIDE2NCwgMjQyLCAxMDcsIDIyMiwgMTQ2LCAyNDIsIDc2LCA2MywgMTY0LCAyNTQsIDEyNCwgMjM0LCAxMjksIDI0MiwgNzAsIAotICAgIDYzLCAxNjQsIDI1NCwgMTI0LCAyMzQsIDEyOSwgMjQyLCA3NiwgNjMsIDUsIDIxMSwgNjUsIDIxNSwgMTcyLCA2MywgNSwgCi0gICAgMjMxLCAxNzIsIDIxNSwgMTcyLCA2MywgMSwgMTc2LCA2MywgMSwgMjM0LCAxMzgsIDYzLCAxLCAyNDMsIDE0MiwgNjMsIDEsIAotICAgIDI0MywgMCwgNjMsIDEsIDIyOSwgODIsIDYzLCAxLCAyNTEsIDQxLCA2MywgMSwgMjUwLCAxNjUsIDYzLCAxLCAyMzUsIDE0NywgCi0gICAgNjMsIDEsIDIyNywgMTY5LCA2MywgMSwgMjE1LCAxNTcsIDYzLCAxLCAyMTUsIDE0NSwgNjMsIDEsIDI0OCwgMTQzLCA2MywgCi0gICAgMSwgMjQ4LCAxMjcsIDYzLCAxLCAyMjgsIDExNSwgNjMsIDEsIDIxNywgMTA2LCA2MywgMSwgMjE2LCAyMDksIDYzLCAxLCAKLSAgICAyNDgsIDIyOSwgNjMsIDEsIDI0OCwgMzMsIDYzLCAxLCAxOTgsIDYzLCAxLCAxOTEsIDYzLCAxLCAyMjUsIDE1MCwgNjMsIDEsIAotICAgIDI1MiwgMTk5LCA2MywgMSwgMjUyLCAyNiwgNjMsIDEsIDE4NiwgNjMsIDEsIDIxNSwgMTg0LCA2MywgMSwgMjE1LCAxNzYsIAotICAgIDYzLCAxLCAyNDYsIDQ2LCA2MywgMSwgMjQ2LCA0MSwgNjMsIDEsIDIxMiwgNjUsIDYzLCAxLCAyMTAsIDgyLCA2MywgMSwgCi0gICAgMjEwLCAxMTYsIDYzLCAxLCAyNTUsIDE3NSwgNjMsIDEsIDE5MiwgNjMsIDEsIDIwNSwgNjMsIDEsIDIzMywgMTQxLCA2MywgCi0gICAgMSwgMjIwLCAxMDQsIDYzLCAxLCAyMTgsIDIyNSwgNjMsIDEsIDIwNiwgNjMsIDEsIDE2MiwgNjMsIDEsIDYxLCA2MywgMSwgCi0gICAgMjMzLCAyMzcsIDYzLCAxLCAyNDQsIDg1LCAyMDUsIDYzLCAxLCAyMzQsIDUyLCA2MywgMSwgMjIyLCAxODEsIDYzLCAyNSwgCi0gICAgNSwgMjU1LCA4MiwgNjMsIDI1LCA1LCA3NCwgNjMsIDI1LCA1LCAyMzYsIDQwLCA2MywgMjUsIDUsIDY5LCA2MywgMjUsIDUsIAotICAgIDIxNCwgMTE4LCA2MywgMjUsIDUsIDE0OSwgMTUzLCA2MywgMjUsIDUsIDE0OSwgMjIyLCAxODIsIDYzLCAyNSwgNSwgMTQ5LCAKLSAgICAxNTYsIDYzLCAyNSwgNSwgMTQ5LCAyMzIsIDE5MSwgNjMsIDI1LCA1LCA3NiwgNjMsIDI1LCA1LCAyNDUsIDIxNywgNjMsIAotICAgIDI1LCA1LCA3OCwgNjMsIDI1LCA1LCAyMjYsIDE4NywgNjMsIDUsIDIyMiwgMjI0LCAyMTgsIDg1LCAyMjksIDgzLCAyMjIsIAotICAgIDIxMywgNjMsIDUsIDIyMiwgMjE4LCAyNTIsIDg0LCA2MywgMjUsIDUsIDIyMywgNTIsIDc0LCA2MywgMjUsIDUsIDIyMywgCi0gICAgNTIsIDIzNiwgNDAsIDYzLCA1LCAyMjcsIDE1MywgMjEwLCAyNiwgMjI5LCAyMzEsIDI0OCwgMjI5LCA2MywgNSwgMjE5LCAKLSAgICA3MywgMjMzLCA2NiwgNjMsIDE2NCwgMjQyLCAzNiwgNjMsIDE2NCwgMjI2LCA2MSwgNjMsIDUsIDIzMywgNjksIDIyMiwgCi0gICAgMTQ1LCA2MywgNSwgMjExLCA3MCwgMjIyLCAxNDUsIDYzLCA1LCAyMzMsIDcwLCAyMTUsIDE4NSwgMjUxLCAxNSwgNjMsIDUsIAotICAgIDIzMSwgMTAwLCAyNTEsIDE1LCA2MywgNSwgMjQyLCAxMjYsIDI1MSwgMTYsIDIyMywgNDMsIDYzLCA1LCAyNDIsIDEyNiwgCi0gICAgMjMxLCA5MCwgMjIzLCA0MywgNjMsIDUsIDIzNSwgMjAwLCAyMzEsIDEwMCwgMjUxLCAxNSwgNjMsIDIxOCwgNzQsIDUsIAotICAgIDIzMywgNzAsIDIxNSwgMTg1LCAyNTEsIDE1LCA2MywgMjE4LCA3NCwgNSwgMjMxLCAxMDAsIDI1MSwgMTUsIDYzLCAyMTgsIAotICAgIDc0LCA1LCAyMzUsIDIwMCwgMjMxLCAxMDAsIDI1MSwgMTUsIDYzLCAyMTgsIDc0LCAxLCAxNzYsIDYzLCAyMTgsIDc0LCAxLCAKLSAgICAyMzQsIDEzOCwgNjMsIDIxOCwgNzQsIDEsIDI0MywgMTQyLCA2MywgMjE4LCA3NCwgMSwgMjQzLCAwLCA2MywgMjE4LCA3NCwgCi0gICAgMSwgMjI5LCA4MiwgNjMsIDIxOCwgNzQsIDEsIDI1MSwgNDEsIDYzLCAyMTgsIDc0LCAxLCAyNTAsIDE2NSwgNjMsIDIxOCwgCi0gICAgNzQsIDEsIDIzNSwgMTQ3LCA2MywgMjE4LCA3NCwgMSwgMjI3LCAxNjksIDYzLCAyMTgsIDc0LCAxLCAyMTUsIDE1NywgNjMsIAotICAgIDIxOCwgNzQsIDEsIDIxNSwgMTQ1LCA2MywgMjE4LCA3NCwgMSwgMjQ4LCAxNDMsIDYzLCAyMTgsIDc0LCAxLCAyNDgsIDEyNywgCi0gICAgNjMsIDIxOCwgNzQsIDEsIDIyOCwgMTE1LCA2MywgMjE4LCA3NCwgMSwgMjE3LCAxMDYsIDYzLCAyMTgsIDc0LCAxLCAyMTYsIAotICAgIDIwOSwgNjMsIDIxOCwgNzQsIDEsIDI0OCwgMjI5LCA2MywgMjE4LCA3NCwgMSwgMjQ4LCAzMywgNjMsIDIxOCwgNzQsIDEsIAotICAgIDE5OCwgNjMsIDIxOCwgNzQsIDEsIDE5MSwgNjMsIDIxOCwgNzQsIDEsIDIyNSwgMTUwLCA2MywgMjE4LCA3NCwgMSwgMjUyLCAKLSAgICAxOTksIDYzLCAyMTgsIDc0LCAxLCAyNTIsIDI2LCA2MywgMjE4LCA3NCwgMSwgMTg2LCA2MywgMjE4LCA3NCwgMSwgMjE1LCAKLSAgICAxODQsIDYzLCAyMTgsIDc0LCAxLCAyMTUsIDE3NiwgNjMsIDIxOCwgNzQsIDEsIDI0NiwgNDYsIDYzLCAyMTgsIDc0LCAxLCAKLSAgICAyNDYsIDQxLCA2MywgMjE4LCA3NCwgMSwgMjEyLCA2NSwgNjMsIDIxOCwgNzQsIDEsIDIxMCwgODIsIDYzLCAyMTgsIDc0LCAKLSAgICAxLCAyMTAsIDExNiwgNjMsIDIxOCwgNzQsIDEsIDI1NSwgMTc1LCA2MywgMjE4LCA3NCwgMSwgMTkyLCA2MywgMjE4LCA3NCwgCi0gICAgMSwgMjA1LCA2MywgMjE4LCA3NCwgMSwgMjMzLCAxNDEsIDYzLCAyMTgsIDc0LCAxLCAyMjAsIDEwNCwgNjMsIDIxOCwgNzQsIAotICAgIDEsIDIxOCwgMjI1LCA2MywgMjE4LCA3NCwgMSwgMjA2LCA2MywgMjE4LCA3NCwgMSwgMTYyLCA2MywgMjE4LCA3NCwgMSwgCi0gICAgNjEsIDYzLCAyMTgsIDc0LCAxLCAyMzMsIDIzNywgNjMsIDIxOCwgNzQsIDEsIDI0NCwgODUsIDIxMiwgNjUsIDYzLCAyMTgsIAotICAgIDc0LCAxLCAyNDQsIDg1LCAxOTIsIDYzLCAyMTgsIDc0LCAxLCAyNDQsIDg1LCAyMDUsIDYzLCAyMzMsIDIyNCwgMjIyLCAKLSAgICAxNDMsIDIzNCwgMTM4LCA2MywgMjMzLCAyMjQsIDIyMiwgMTQzLCAyMzQsIDEzOSwgMjUxLCA3NywgMjMwLCAyMDcsIDI1MSwgCi0gICAgMTUsIDYzLCAyNTEsIDQsIDUsIDExNCwgMjUyLCA3OCwgNjMsIDI1MSwgNCwgNSwgMTkzLCAyNTIsIDc4LCA2MywgMjUxLCA0LCAKLSAgICA1LCAyNTEsIDUsIDIxNywgMjEsIDYzLCAyNTEsIDQsIDUsIDIyMSwgMjA5LCAyNTUsIDE3NCwgNjMsIDE2LCAyNDYsIDk5LCAKLSAgICAyNTEsIDEzMywgNjMsIDE2LCAyMjMsIDEzMiwgMjIyLCAyMjUsIDYzLCAxNiwgMjI2LCA4MSwgMjQzLCA3MCwgNjMsIDE2LCAKLSAgICAyMjMsIDEzMiwgMjIyLCAyMjYsIDIyMywgNDUsIDI0MiwgMTUyLCA2MywgMTYsIDIyNSwgMTE1LCAxOTEsIDYzLCAxNiwgCi0gICAgMjI4LCA2NCwgMjUxLCAxMzMsIDYzLCAxNiwgMjI4LCA2NCwgMjUxLCAxMzQsIDIyNywgMTQzLCAyNTUsIDE3MSwgNjMsIDE2LCAKLSAgICAyMjgsIDY0LCAyNTEsIDEzNCwgMjQyLCAxMjQsIDI1NSwgMTcxLCA2MywgMTYsIDIyOCwgNjQsIDI1MSwgMTM0LCAyNTEsIAotICAgIDc3LCAyNTUsIDE3MSwgNjMsIDUsIDIyMywgMTMzLCAyMjksIDIyNCwgMjIzLCAxMzMsIDI0NywgMTY2LCA2MywgNSwgMjIzLCAKLSAgICAxMzMsIDIyOSwgMjI0LCAyNDIsIDEyMywgNjMsIDE2NCwgMjUxLCAxMzcsIDIyMCwgNSwgMjQyLCAyMjIsIDIzMCwgMjUzLCAKLSAgICAyMjMsIDQ0LCA2MywgMTY0LCAyMzAsIDE2OCwgMjExLCAwLCAyNDIsIDIyMiwgMjMwLCAyNTMsIDIyMywgNDQsIDYzLCAxNjQsIAotICAgIDIyNywgMTQzLCAyMTUsIDE3MywgNjMsIDE2NCwgNjUsIDI1MSwgMTYwLCAyMjIsIDIxNSwgMjExLCAwLCAyMzAsIDI1MywgCi0gICAgMjMxLCA5OCwgMTg2LCA2MywgMTY0LCAyNTAsIDQsIDI1MSwgMTYwLCAyMjIsIDIxNSwgMjExLCAwLCAyMzAsIDI1MywgMjIwLCAKLSAgICAxMTEsIDE4NiwgMjIyLCAyNTMsIDIxOCwgMCwgNTAsIDIzMywgNTEsIDIxOCwgMCwgNTAsIDIyMiwgMjUzLCAyMTgsIDAsIDUsIAotICAgIDIsIDI0NywgMTI2LCAyMzMsIDUxLCAyMTgsIDAsIDUsIDIsIDI0NywgMTI2LCA2MywgMTY0LCAyMzMsIDYxLCAyMzEsIDEwMSwgCi0gICAgMjIyLCAxNDUsIDYzLCAxNjQsIDIxNSwgMjUxLCAyMzEsIDEwMSwgMjIyLCAxNDUsIDY4LCAxLCAxNzYsIDY4LCAxLCAyMzQsIAotICAgIDEzOCwgNjgsIDEsIDI0MywgMTQyLCA2OCwgMSwgMjQzLCAwLCA2OCwgMSwgMjI5LCA4MiwgNjgsIDEsIDI1MSwgNDEsIDY4LCAKLSAgICAxLCAyNTAsIDE2NSwgNjgsIDEsIDIzNSwgMTQ3LCA2OCwgMSwgMjM1LCAxMjAsIDY4LCAxLCAyMjcsIDE2OSwgNjgsIDEsIAotICAgIDIyOCwgODEsIDY4LCAxLCAyMTUsIDE1NywgNjgsIDEsIDIxNSwgMTQ1LCA2OCwgMSwgMjQ4LCAxNDMsIDY4LCAxLCAyNDgsIAotICAgIDEyNywgNjgsIDEsIDIyOCwgMTE1LCA2OCwgMSwgMjE3LCAxMDYsIDY4LCAxLCAyMTYsIDIwOSwgNjgsIDEsIDI0OCwgMjI5LCAKLSAgICA2OCwgMSwgMjQ4LCAzMywgNjgsIDEsIDE5OCwgNjgsIDEsIDE5MSwgNjgsIDEsIDIyNSwgMTUwLCA2OCwgMSwgMjUyLCAxOTksIAotICAgIDY4LCAxLCAyNTIsIDI2LCA2OCwgMSwgMTg2LCA2OCwgMSwgMTkyLCA2OCwgMSwgMjA1LCA2OCwgMSwgMjMzLCAxNDEsIDY4LCAKLSAgICAxLCAyMTIsIDY1LCA2OCwgMSwgMjA2LCA2OCwgMSwgMTYyLCA2OCwgMSwgMjMyLCAxOTAsIDY4LCAxLCA2MSwgNjgsIDEsIAotICAgIDIyMCwgODgsIDYxLCA2OCwgMSwgNzQsIDY4LCAxLCAyMzYsIDQwLCA2OCwgMSwgNjksIDY4LCAxLCAyMTQsIDExOCwgNjgsIAotICAgIDEsIDc2LCA2OCwgMSwgMjMwLCAxNTYsIDc2LCA2OCwgMSwgNzgsIDY4LCAxLCAyNTMsIDIwMCwgNjgsIDI1LCA1LCAyMTcsIAotICAgIDY1LCAyNTUsIDgyLCA2OCwgMjUsIDUsIDI1NSwgODIsIDY4LCAyNSwgNSwgNzQsIDY4LCAyNSwgNSwgMjM2LCA0MCwgNjgsIAotICAgIDI1LCA1LCA2OSwgNjgsIDI1LCA1LCAyMTQsIDExOCwgNjgsIDI1LCA1LCA3NiwgNjgsIDI1LCA1LCAyNTQsIDIxMCwgNjgsIAotICAgIDI1LCA1LCAyMzAsIDE1NiwgMjM2LCA0MCwgNjgsIDI1LCA1LCAyMzAsIDE1NiwgNzgsIDY4LCAyNSwgNSwgMTYwLCA0OCwgCi0gICAgNjgsIDUsIDI1NCwgODMsIDY4LCA1LCA1OSwgNTEsIDY4LCA1LCAyMTMsIDE0NywgNjgsIDUsIDIxMywgMTUyLCA2OCwgNSwgCi0gICAgMjUzLCAyNDMsIDY4LCAxMTcsIDUsIDE0NywgMTkyLCA2OCwgMTE3LCA1LCAxNDcsIDIwNSwgNjgsIDExNywgNSwgMTQ3LCAKLSAgICAyMTIsIDY1LCA2OCwgMTE3LCA1LCAxNDcsIDE2MiwgNjgsIDEsIDI0MiwgMTM5LCAyMDYsIDY4LCAyMSwgMjEwLCA4NiwgNjgsIAotICAgIDIxLCAxMTEsIDY4LCAyMSwgMTA1LCA2OCwgMjEsIDE1OCwgNjgsIDIxLCAxNjEsIDY4LCAyMSwgMTkwLCA2OCwgMjEsIDE5NSwgCi0gICAgNjgsIDIxLCAxOTksIDY4LCAyMSwgMTk2LCA2OCwgMjEsIDIwMSwgNjgsIDUsIDIzMiwgMTk4LCAyMjEsIDE3NCwgNjgsIDUsIAotICAgIDIyMSwgMTc0LCA2OCwgMTYsIDIzMiwgMTU5LCA2OCwgMTYsIDI0OSwgMjIxLCA2OCwgMTYsIDI1NCwgMjI5LCA2OCwgMTYsIAotICAgIDI0MywgNTUsIDY4LCAxLCAyMjAsIDEwNCwgNjgsIDEsIDIxOCwgMjI1LCA2OCwgMSwgMTQ5LCAxNTMsIDY4LCAxLCAxNDksIAotICAgIDIyMiwgMTgyLCA2OCwgMSwgMTQ5LCAxNTYsIDY4LCAxLCAxNDksIDIzMiwgMTkxLCA2OCwgMjUsIDUsIDE0OSwgMTUzLCA2OCwgCi0gICAgMjUsIDUsIDE0OSwgMjIyLCAxODIsIDY4LCAyNSwgNSwgMTQ5LCAxNTYsIDY4LCAyNSwgNSwgMTQ5LCAyMzIsIDE5MSwgNjgsIAotICAgIDEsIDIzMCwgMTU2LCAyMjksIDgyLCA2OCwgMSwgMjMwLCAxNTYsIDIzNSwgMTIwLCA2OCwgMSwgMjMwLCAxNTYsIDI1MiwgCi0gICAgMTE5LCA2OCwgMSwgMjMwLCAxNTYsIDI1MiwgMTE0LCA2OCwgMTE3LCA1LCAyMzAsIDE1NiwgMTQ3LCAxOTgsIDY4LCAxMTcsIAotICAgIDUsIDIzMCwgMTU2LCAxNDcsIDE4NiwgNjgsIDExNywgNSwgMjMwLCAxNTYsIDE0NywgMjMzLCAxNDEsIDY4LCAxLCAyMjAsIAotICAgIDExMCwgMjM0LCAyMTksIDIyMCwgMTA0LCA2OCwgMjUsIDUsIDIyMCwgMTEwLCAyMzQsIDIxOSwgMjQ1LCA2MywgNjgsIDEzOCwgCi0gICAgMTY0LCAyMjAsIDExMCwgMjM0LCAyMTksIDI0MSwgMjU0LCA2OCwgMTM4LCAxNjQsIDIyMCwgMTEwLCAyMzQsIDIxOSwgMjM0LCAKLSAgICAxODksIDIyNSwgMTI0LCA2OCwgMSwgMjEyLCA3LCAyMjQsIDExMSwgMjM0LCAyMTksIDIxNiwgMjA5LCA2OCwgMSwgMjEyLCAKLSAgICA3LCAyMjQsIDExMSwgMjM0LCAyMTksIDIyNCwgMTE3LCA2OCwgMjUsIDUsIDIxMiwgNywgMjI0LCAxMTEsIDIzNCwgMjE5LCAKLSAgICAyNDUsIDYzLCA2OCwgMjUsIDUsIDIxMiwgNywgMjI0LCAxMTEsIDIzNCwgMjE5LCAyMTQsIDIxNCwgNjgsIDUsIDIxMiwgNywgCi0gICAgMjI0LCAxMTEsIDIzNCwgMjE5LCAyMTYsIDMwLCA2OCwgNSwgMjEyLCA3LCAyMjQsIDExMSwgMjM0LCAyMTksIDIxNiwgMjksIAotICAgIDY4LCA1LCAyMTIsIDcsIDIyNCwgMTExLCAyMzQsIDIxOSwgMjE2LCAyOCwgNjgsIDUsIDIxMiwgNywgMjI0LCAxMTEsIDIzNCwgCi0gICAgMjE5LCAyMTYsIDI3LCA2OCwgNSwgMjEyLCA3LCAyMjQsIDExMSwgMjM0LCAyMTksIDIxNiwgMjYsIDY4LCAxLCAyNDUsIAotICAgIDIyNywgMjI0LCAxMTEsIDIzNCwgMjE5LCAyMjgsIDExNSwgNjgsIDEsIDI0NSwgMjI3LCAyMjQsIDExMSwgMjM0LCAyMTksIAotICAgIDIxMCwgMTc2LCA2OCwgMSwgMjQ1LCAyMjcsIDIyNCwgMTExLCAyMzQsIDIxOSwgMjQyLCAyMjQsIDY4LCAyNSwgNSwgMjQzLCAKLSAgICA2NiwgMjM0LCAyMTksIDc0LCA2OCwgMjUsIDUsIDIzNCwgMTk0LCAyMjYsIDIzOCwgNjgsIDI1LCA1LCAyMzQsIDE5NCwgNjksIAotICAgIDY4LCAyNSwgNSwgMjM0LCAxOTQsIDI0NSwgMjE3LCA2OCwgMSwgMjIwLCA4OCwgMTc2LCA2OCwgMSwgMjIwLCA4OCwgMjM0LCAKLSAgICAxMzgsIDY4LCAxLCAyMjAsIDg4LCAyNDMsIDE0MiwgNjgsIDEsIDIyMCwgODgsIDI1MSwgNDEsIDY4LCAxLCAyMjAsIDg4LCAKLSAgICAyMTAsIDExNiwgNjgsIDEsIDIyMCwgODgsIDIyNywgMTY5LCA2OCwgMSwgMjIwLCA4OCwgMjQ4LCAyMjksIDY4LCAxLCAyMjAsIAotICAgIDg4LCAxOTgsIDY4LCAxLCAyMjAsIDg4LCAyMjUsIDE1MCwgNjgsIDEsIDIyMCwgODgsIDI0NCwgMjA0LCA2OCwgMSwgMjIwLCAKLSAgICA4OCwgMjUyLCAxOTksIDY4LCAxLCAyMjAsIDg4LCAyMTYsIDIwOSwgNjgsIDEsIDIyMCwgODgsIDE2MiwgNjgsIDExNywgNSwgCi0gICAgMjIwLCA4OCwgMTQ3LCAyMTIsIDY1LCA2OCwgMjUsIDUsIDIyMCwgODgsIDI1NSwgODIsIDY4LCAyNSwgNSwgMjIwLCA4OCwgCi0gICAgNzYsIDY4LCAyNSwgNSwgMjIwLCA4OCwgMTYwLCA0OCwgNjgsIDI1LCA1LCAyMjAsIDg4LCA0MCwgMjExLCAxMTcsIDY4LCA1LCAKLSAgICAyMjAsIDg4LCAyMTYsIDI5LCA2OCwgNSwgMjIwLCA4OCwgMjE2LCAyOCwgNjgsIDUsIDIyMCwgODgsIDIxNiwgMjYsIDY4LCAKLSAgICA1LCAyMjAsIDg4LCAyMTYsIDI1LCA2OCwgNSwgMjIwLCA4OCwgMjQ5LCAxNjAsIDIxNiwgMjksIDY4LCA1LCAyMjAsIDg4LCAKLSAgICAyNDksIDE2MCwgMjE2LCAyOCwgNjgsIDUsIDIyMCwgODgsIDI0OSwgMTYwLCAyNDUsIDE2MSwgMjE2LCAzMSwgNjgsIDEsIAotICAgIDIyMiwgMTMwLCAyMjYsIDY3LCAyNDQsIDIwNCwgNjgsIDUsIDIyMiwgMTMwLCAyMjYsIDY3LCAyMTYsIDI2LCA2OCwgMjIwLCAKLSAgICA4OCwgMjEsIDIxMCwgODYsIDY4LCAyMjAsIDg4LCAyMSwgMTExLCA2OCwgMjIwLCA4OCwgMjEsIDEwNSwgNjgsIDIyMCwgODgsIAotICAgIDIxLCAxNTgsIDY4LCAyMjAsIDg4LCAyMSwgMTYxLCA2OCwgMjIwLCA4OCwgMjEsIDE5MCwgNjgsIDIyMCwgODgsIDIxLCAKLSAgICAxOTUsIDY4LCAyMjAsIDg4LCAyMSwgMTk5LCA2OCwgMjIwLCA4OCwgMjEsIDE5NiwgNjgsIDIyMCwgODgsIDIxLCAyMDEsIAotICAgIDY4LCA1LCAyMzQsIDEzMiwgMjE2LCAzMCwgNjgsIDUsIDIzNCwgMTMyLCAyMTYsIDI4LCA2OCwgMjUsIDUsIDI1NCwgMTk5LCAKLSAgICA2MSwgNjgsIDI1LCA1LCAyNTQsIDE5OSwgMjU0LCAyMTAsIDY4LCAxNiwgMjIwLCA4OCwgMTExLCA2OCwgMTYsIDIyMCwgODgsIAotICAgIDI0NSwgMzgsIDk4LCA2LCAxLCAyNTQsIDEzMSwgOTgsIDYsIDEsIDI1MiwgMTYwLCA5OCwgNiwgMSwgMjQzLCAxMTMsIDk4LCAKLSAgICA2LCAxLCAyNDcsIDEzNiwgOTgsIDYsIDEsIDI0NSwgMTU4LCA5OCwgNiwgMSwgMjEzLCAxNjAsIDk4LCA2LCAxLCAyMTAsIAotICAgIDg5LCA5OCwgNiwgMSwgMjE3LCA2MSwgOTgsIDYsIDEsIDIzNiwgNiwgOTgsIDYsIDEsIDIzNCwgMjQwLCA5OCwgNiwgMSwgCi0gICAgMjMzLCA4NywgOTgsIDYsIDEsIDIzMSwgMTkwLCA5OCwgNiwgMSwgMjI5LCAyMDAsIDk4LCA2LCAxLCAyMjYsIDIwMCwgOTgsIAotICAgIDYsIDEsIDIyNiwgMjEsIDk4LCA2LCAxLCAyMTAsIDc4LCA5OCwgNiwgMSwgMjIzLCAxNzQsIDk4LCA2LCAxLCAyMjEsIDI0NSwgCi0gICAgOTgsIDYsIDEsIDIxNywgNTEsIDk4LCA2LCAxLCAyMTQsIDE5MCwgOTgsIDYsIDEsIDIyNSwgMTQzLCA5OCwgNiwgMSwgMjM0LCAKLSAgICAxMjcsIDk4LCA2LCAxLCAyNDIsIDI0OCwgOTgsIDYsIDEsIDIyNCwgNzYsIDk4LCA2LCAxLCAyMjAsIDIyLCA5OCwgNiwgMSwgCi0gICAgMjUwLCAxMDUsIDk4LCA2LCAxLCAyNTEsIDE1LCA5OCwgNiwgMSwgMjM1LCAxMDYsIDk4LCA2LCAxLCAyNTAsIDQ4LCA5OCwgCi0gICAgNiwgMSwgMjUwLCAxNTEsIDk4LCA2LCAxLCAyMTEsIDE2MywgOTgsIDYsIDEsIDIzNSwgMTE3LCA5OCwgNiwgMSwgMjQyLCAKLSAgICA1MCwgOTgsIDYsIDEsIDI0MSwgMjQ1LCA5OCwgNiwgMSwgMjQxLCAxODIsIDk4LCA2LCAxLCAyMTIsIDIyLCA5OCwgNiwgMSwgCi0gICAgMjQyLCAxMSwgOTgsIDYsIDEsIDI0MSwgNzIsIDk4LCA2LCAxLCAyMTAsIDI0NiwgOTgsIDYsIDEsIDI1NCwgMjQxLCA5OCwgCi0gICAgMSwgMjU0LCAxMzEsIDk4LCAxLCAyNTIsIDE2MCwgOTgsIDEsIDI0MywgMTEzLCA5OCwgMSwgMjQ3LCAxMzYsIDk4LCAxLCAKLSAgICAyNDUsIDE1OCwgOTgsIDEsIDIxMywgMTYwLCA5OCwgMSwgMjEwLCA4OSwgOTgsIDEsIDIxNywgNjEsIDk4LCAxLCAyMzYsIDYsIAotICAgIDk4LCAxLCAyMzQsIDI0MCwgOTgsIDEsIDIzMywgODcsIDk4LCAxLCAyMzEsIDE5MCwgOTgsIDEsIDIyOSwgMjAwLCA5OCwgMSwgCi0gICAgMjI2LCAyMDAsIDk4LCAxLCAyMjYsIDIxLCA5OCwgMSwgMjEwLCA3OCwgOTgsIDEsIDIyMywgMTc0LCA5OCwgMSwgMjIxLCAKLSAgICAyNDUsIDk4LCAxLCAyMTcsIDUxLCA5OCwgMSwgMjE0LCAxOTAsIDk4LCAxLCAyMjUsIDE0MywgOTgsIDEsIDIzNCwgMTI3LCAKLSAgICA5OCwgMSwgMjQyLCAyNDgsIDk4LCAxLCAyMjQsIDc2LCA5OCwgMSwgMjIwLCAyMiwgOTgsIDEsIDI1MCwgMTA1LCA5OCwgMSwgCi0gICAgMjUxLCAxNSwgOTgsIDEsIDIzNSwgMTA2LCA5OCwgMSwgMjUwLCA0OCwgOTgsIDEsIDI1MCwgMTUxLCA5OCwgMSwgMjExLCAKLSAgICAxNjMsIDk4LCAxLCAyMzUsIDExNywgOTgsIDEsIDI0MiwgNTAsIDk4LCAxLCAyNDEsIDI0NSwgOTgsIDEsIDI0MSwgMTgyLCAKLSAgICA5OCwgMSwgMjEyLCAyMiwgOTgsIDEsIDI0MiwgMTEsIDk4LCAxLCAyNDEsIDcyLCA5OCwgMSwgMjQ0LCAxMjksIDk4LCAxLCAKLSAgICAyMTAsIDI0NiwgOTgsIDEsIDI0NSwgMTczLCA5OCwgMSwgMjE1LCA5NCwgMjQzLCAxMTMsIDk4LCAxLCAyNTQsIDIwNSwgOTgsIAotICAgIDIyNiwgMTksIDIyMCwgMTM5LCA1OCwgMSwgOTgsIDIyOSwgMjAwLCA5OCwgMSwgMjU0LCAyNDEsIDk4LCAxLCAyNDIsIDEwLCAKLSAgICA1MCwgOTgsIDEsIDIzMywgMTMzLCA1MCwgMjQsIDEwMCwgMjM0LCA2NCwgMjQsIDEwMCwgMjE4LCAyMTcsIDI0LCAxMDAsIAotICAgIDIyOCwgMjMxLCAyNCwgMTAwLCAyMTYsIDEwMiwgMjQsIDEwMCwgMjE4LCAyMDYsIDI0LCAxMDAsIDIyMywgMjksIDI0LCAKLSAgICAxMDAsIDIzMCwgMjIyLCAyNCwgMTAwLCAyMjUsIDk4LCAyNCwgMTAwLCAyMTgsIDIxNCwgMjQsIDEwMCwgMjE5LCAxNTAsIAotICAgIDI0LCAxMDAsIDIxOCwgMjExLCAyNCwgMTAwLCAyMzYsIDYzLCAyNCwgMTAwLCAyNTAsIDU0LCAyNCwgMTAwLCAyMTgsIDIyMSwgCi0gICAgMjQsIDEwMCwgMjUwLCAxMTQsIDI0LCAxMDAsIDIzNCwgMTE2LCAyNCwgMTAwLCAyMTYsIDE3NCwgMjQsIDEwMCwgMjI1LCAKLSAgICAxMzQsIDI0LCAxMDAsIDI0MSwgMTc5LCAyNCwgMTAwLCAyMjgsIDIyNywgMjQsIDEwMCwgMjE4LCAyMTUsIDI0LCAxMDAsIAotICAgIDIyOCwgMjIxLCAyNCwgMTAwLCAyMjgsIDIyNSwgMjQsIDEwMCwgMjE2LCA5OSwgMjQsIDEwMCwgMjIzLCAxNywgMjQsIDEwMCwgCi0gICAgMjE4LCAyMTMsIDI0LCAxMDAsIDIyMywgMjcsIDI0LCAxMDAsIDIzNCwgMjI0LCAyNCwgMTAwLCAyMzAsIDIxNSwgMjQsIAotICAgIDEwMCwgMjM0LCAyMjcsIDI0LCAxMDAsIDIyNSwgOTMsIDI0LCAxMDAsIDIyNSwgOTEsIDI0LCAxMDAsIDIyNSwgNzksIDI0LCAKLSAgICAxMDAsIDIyNSwgODcsIDI0LCAxMDAsIDIyNSwgODUsIDI0LCAxMDAsIDIyNSwgODIsIDI0LCAxMDAsIDIyNSwgODQsIDI0LCAKLSAgICAxMDAsIDIyNSwgODEsIDI0LCAxMDAsIDIyNSwgODYsIDI0LCAxMDAsIDIyNSwgOTYsIDI0LCAxMDAsIDIyNSwgOTcsIDI0LCAKLSAgICAxMDAsIDIyNSwgODAsIDI0LCAxMDAsIDIyNSwgOTAsIDI0LCAxMDAsIDIzNCwgMjI1LCAyNCwgMTAwLCAyMzQsIDIyMywgMjQsIAotICAgIDEwMCwgMjE5LCAxNDMsIDI0LCAxMDAsIDIxOSwgMTQxLCAyNCwgMTAwLCAyMTksIDEzMywgMjQsIDEwMCwgMjE5LCAxMzYsIAotICAgIDI0LCAxMDAsIDIxOSwgMTQyLCAyNCwgMTAwLCAyMTksIDEzOCwgMjQsIDEwMCwgMjE5LCAxMzcsIDI0LCAxMDAsIDIxOSwgCi0gICAgMTM1LCAyNCwgMTAwLCAyMTksIDE0NiwgMjQsIDEwMCwgMjE5LCAxNDgsIDI0LCAxMDAsIDIxOSwgMTQ5LCAyNCwgMTAwLCAKLSAgICAyMTksIDE0NCwgMjQsIDEwMCwgMjE5LCAxMzQsIDI0LCAxMDAsIDIxOSwgMTM5LCAyNCwgMTAwLCAyMTksIDE0NywgMjQsIAotICAgIDEwMCwgMjUwLCA5OCwgMjQsIDEwMCwgMjUwLCA5NiwgMjQsIDEwMCwgMjUwLCAxNzYsIDI0LCAxMDAsIDI1MCwgMTc0LCAyNCwgCi0gICAgMTAwLCAyMjYsIDM2LCAyNCwgMTAwLCAyMzYsIDU4LCAyNCwgMTAwLCAyMzYsIDQ5LCAyNCwgMTAwLCAyMzYsIDU3LCAyNCwgCi0gICAgMTAwLCAyMzYsIDU0LCAyNCwgMTAwLCAyMzYsIDUyLCAyNCwgMTAwLCAyMzYsIDU2LCAyNCwgMTAwLCAyMTgsIDIxOCwgMjQsIAotICAgIDEwMCwgMjM2LCA2MSwgMjQsIDEwMCwgMjM2LCA2MiwgMjQsIDEwMCwgMjM2LCA1MCwgMjQsIDEwMCwgMjM2LCA1NSwgMjQsIAotICAgIDEwMCwgMjExLCAyNiwgMjQsIDEwMCwgMjUwLCA1MywgMjQsIDEwMCwgMjUwLCA5OSwgMjQsIDEwMCwgMjUwLCA5NywgMjQsIAotICAgIDEwMCwgMjUwLCAxNzcsIDI0LCAxMDAsIDI1MCwgMTc1LCAyNCwgMTAwLCAyNTAsIDExMiwgMjQsIDEwMCwgMjUwLCAxMTMsIAotICAgIDI0LCAxMDAsIDI1MCwgMTAwLCAyNCwgMTAwLCAyNTAsIDE3OCwgMjQsIDEwMCwgMjI1LCAxMzIsIDI0LCAxMDAsIDIzNCwgCi0gICAgMjI2LCAyNCwgMTAwLCAyMTgsIDIxOSwgMjQsIDEwMCwgMjExLCAzMiwgMjQsIDEwMCwgMjM0LCA1NSwgMjQsIDEwMCwgMjI4LCAKLSAgICAyMjMsIDI0LCAxMDAsIDIyOCwgMjI5LCAyNCwgMTAwLCAyMjgsIDIyOCwgMjQsIDEwMCwgMjE2LCA5NiwgMjQsIDEwMCwgCi0gICAgMjQ0LCAxMTEsIDI0LCAxNDMsIDI0NCwgMTExLCAyNCwgMTQzLCA2MSwgMjQsIDE0MywgMjU0LCAyNTIsIDI0LCAxNDMsIAotICAgIDE5MiwgMjQsIDE0MywgMjExLCA5MiwgMjQsIDE0MywgMjQ1LCAxMjUsIDI0LCAxNDMsIDc2LCAyNCwgMTQzLCAyMTEsIDM2LCAKLSAgICAyNCwgMTQzLCAyMTEsIDQ3LCAyNCwgMTQzLCA3OCwgMjQsIDE0MywgMjEyLCA2NSwgMjQsIDE0MywgMjEyLCA2MiwgMjQsIAotICAgIDE0MywgMjI2LCAyMzgsIDI0LCAxNDMsIDIxMCwgMjQ0LCAyNCwgMTQzLCA2OSwgMjQsIDE0MywgMjEyLCAxMSwgMjQsIDE0MywgCi0gICAgMjEyLCAyMiwgMjQsIDE0MywgMjExLCAyNTAsIDI0LCAxNDMsIDIxMCwgMjEyLCAyNCwgMTQzLCAyNDUsIDYzLCAyNCwgMTQzLCAKLSAgICAyMTEsIDgsIDI0LCAxNDMsIDc0LCAyNCwgMTQzLCAyNTUsIDE2NiwgMjQsIDE0MywgMjU1LCAxNjUsIDI0LCAxNDMsIDIxMSwgCi0gICAgMTA2LCAyNCwgMTQzLCAyMTEsIDEwNCwgMjQsIDE0MywgMjQ1LCAxMjMsIDI0LCAxNDMsIDI0NSwgMTIyLCAyNCwgMTQzLCAKLSAgICAyNDUsIDEyNCwgMjQsIDE0MywgMjExLCAzNSwgMjQsIDE0MywgMjExLCAzNCwgMjQsIDE0MywgMjI3LCA4OCwgMjQsIDE0MywgCi0gICAgMjI3LCA4OSwgMjQsIDE0MywgMjI3LCA4MiwgMjQsIDE0MywgMjI3LCA4NywgMjQsIDE0MywgMjI3LCA4NSwgMjQsIDE0MywgCi0gICAgMjEwLCAyMzgsIDI0LCAxNDMsIDIxMCwgMjM3LCAyNCwgMTQzLCAyMTAsIDIzNiwgMjQsIDE0MywgMjEwLCAyMzksIDI0LCAKLSAgICAxNDMsIDIxMCwgMjQwLCAyNCwgMTQzLCAyMTUsIDMwLCAyNCwgMTQzLCAyMTUsIDI5LCAyNCwgMTQzLCAyMTUsIDI3LCAyNCwgCi0gICAgMTQzLCAyMTUsIDI0LCAyNCwgMTQzLCAyMTUsIDI1LCAyNCwgMTQzLCAyMTAsIDIxMSwgMjQsIDE0MywgMjEwLCAyMDgsIDI0LCAKLSAgICAxNDMsIDIxMCwgMjA5LCAyNCwgMTQzLCAyMTAsIDIwMywgMjQsIDE0MywgMjEwLCAyMDQsIDI0LCAxNDMsIDIxMCwgMjA1LCAKLSAgICAyNCwgMTQzLCAyMTAsIDIwNywgMjQsIDE0MywgMjQ1LCA1NywgMjQsIDE0MywgMjQ1LCA1OSwgMjQsIDE0MywgMjExLCA3LCAKLSAgICAyNCwgMTQzLCAyNDAsIDE2MCwgMjQsIDE0MywgMjQwLCAxNTIsIDI0LCAxNDMsIDI0MCwgMTU1LCAyNCwgMTQzLCAyNDAsIAotICAgIDE1MywgMjQsIDE0MywgMjQwLCAxNTcsIDI0LCAxNDMsIDI0MCwgMTU5LCAyNCwgMTQzLCAyNTQsIDQyLCAyNCwgMTQzLCAKLSAgICAyNTQsIDM5LCAyNCwgMTQzLCAyNTQsIDM3LCAyNCwgMTQzLCAyNTQsIDM4LCAyNCwgMTQzLCAyMTgsIDIyMiwgMjQsIDE0MywgCi0gICAgMjU1LCAxNjcsIDI0LCAxNDMsIDIxMSwgMTA1LCAyNCwgMTQzLCAyMTEsIDMzLCAyNCwgMTQzLCAyMjcsIDg0LCAyNCwgMTQzLCAKLSAgICAyMjcsIDgzLCAyNCwgOTAsIDIzNCwgNjQsIDI0LCA5MCwgMjE4LCAyMTcsIDI0LCA5MCwgMjM0LCA1NywgMjQsIDkwLCAyMjgsIAotICAgIDIzMSwgMjQsIDkwLCAyMjgsIDIyOSwgMjQsIDkwLCAyMjgsIDIyOCwgMjQsIDkwLCAyMTYsIDEwMiwgMjQsIDkwLCAyMjMsIAotICAgIDI5LCAyNCwgOTAsIDIyMywgMjQsIDI0LCA5MCwgMjIzLCAyMSwgMjQsIDkwLCAyMjMsIDE0LCAyNCwgOTAsIDIyMywgOSwgCi0gICAgMjQsIDkwLCAyMjMsIDQsIDI0LCA5MCwgMjIzLCAxNSwgMjQsIDkwLCAyMjMsIDI3LCAyNCwgOTAsIDIzMCwgMjIyLCAyNCwgCi0gICAgOTAsIDIyNSwgOTgsIDI0LCA5MCwgMjI1LCA4NywgMjQsIDkwLCAyMTksIDE1MCwgMjQsIDkwLCAyMTgsIDIxMSwgMjQsIDkwLCAKLSAgICAyMzYsIDYzLCAyNCwgOTAsIDI1MCwgNTQsIDI0LCA5MCwgMjUwLCAxMTQsIDI0LCA5MCwgMjM0LCAxMTYsIDI0LCA5MCwgCi0gICAgMjE2LCAxNzQsIDI0LCA5MCwgMjI1LCAxMzQsIDI0LCA5MCwgMjQxLCAxNzksIDI0LCA5MCwgMjM0LCA1OCwgMjQsIDkwLCAKLSAgICAyMzQsIDU2LCAyNCwgOTAsIDIyOCwgMjI3LCAyNCwgOTAsIDIyOCwgMjIxLCAyNCwgOTAsIDIyOCwgMjIzLCAyNCwgOTAsIAotICAgIDIyOCwgMjI2LCAyNCwgOTAsIDIyOCwgMjIyLCAyNCwgOTAsIDIxNiwgOTksIDI0LCA5MCwgMjE2LCA5NiwgMjQsIDkwLCAKLSAgICAyMjMsIDIyLCAyNCwgOTAsIDIyMywgMTcsIDI0LCA5MCwgMjIzLCAzLCAyNCwgOTAsIDIyMywgMiwgMjQsIDkwLCAyMTgsIAotICAgIDIxMywgMjQsIDkwLCAyMjMsIDE5LCAyNCwgOTAsIDIyMywgMTgsIDI0LCA5MCwgMjIzLCAxMSwgMjQsIDkwLCAyMjMsIDEzLCAKLSAgICAyNCwgOTAsIDIyMywgMjYsIDI0LCA5MCwgMjIzLCA2LCAyNCwgOTAsIDIyMywgMTYsIDI0LCA5MCwgMjIzLCAyNSwgMjQsIAotICAgIDkwLCAyMjMsIDEsIDI0LCA5MCwgMjMwLCAyMTgsIDI0LCA5MCwgMjMwLCAyMTMsIDI0LCA5MCwgMjMwLCAyMTUsIDI0LCA5MCwgCi0gICAgMjMwLCAyMTIsIDI0LCA5MCwgMjMwLCAyMTAsIDI0LCA5MCwgMjMwLCAyMTYsIDI0LCA5MCwgMjMwLCAyMjEsIDI0LCA5MCwgCi0gICAgMjMwLCAyMTksIDI0LCA5MCwgMjM0LCAyMjcsIDI0LCA5MCwgMjI1LCA4OSwgMjQsIDkwLCAyMjUsIDkwLCAyNCwgOTAsIAotICAgIDIyNSwgOTUsIDI0LCA5MCwgMjM0LCAyMjUsIDI0LCA5MCwgMjE5LCAxNDMsIDI0LCA5MCwgMjE5LCAxMzMsIDI0LCA5MCwgCi0gICAgMjE5LCAxMzYsIDI0LCA5MCwgMjE5LCAxMzgsIDI0LCA5MCwgMjI2LCAzNiwgMjQsIDkwLCAyMzYsIDU4LCAyNCwgOTAsIAotICAgIDIzNiwgNTEsIDI0LCA5MCwgMjE4LCAyMTgsIDI0LCA5MCwgMjM2LCA1OSwgMjQsIDkwLCAyMTEsIDI2LCAyNCwgOTAsIDIxMSwgCi0gICAgMjIsIDI0LCA5MCwgMjExLCAyMywgMjQsIDkwLCAyMjUsIDEzMiwgMjQsIDkwLCAyMzQsIDIyNiwgMjQsIDkwLCAyNDEsIAotICAgIDE3NywgMjQsIDkwLCAyNDEsIDE3NSwgMjQsIDkwLCAyNDEsIDE3OCwgMjQsIDkwLCAyNDEsIDE3NiwgMjQsIDkwLCAyMTEsIAotICAgIDMyLCAyNCwgOTAsIDIzNCwgNjAsIDI0LCA5MCwgMjM0LCA1OSwgMjQsIDkwLCAyMzQsIDYzLCAyNCwgOTAsIDIzNCwgNjEsIAotICAgIDI0LCA5MCwgMjM0LCA2MiwgMjQsIDkwLCAyMTgsIDIxNSwgMjksIDMsIDE2MiwgMjksIDMsIDI0MCwgMjI5LCAyOSwgMywgCi0gICAgMjQxLCAxODcsIDI5LCAzLCAyNDIsIDUzLCAyOSwgMywgMjQxLCAyMjcsIDI5LCAzLCAyNDEsIDI0NSwgMjksIDMsIDI0MSwgCi0gICAgNzUsIDI5LCAzLCAyNDEsIDc0LCAyOSwgMywgMjMzLCAxNDEsIDI5LCAzLCAyMzIsIDEwMywgMjksIDMsIDIzMiwgMjQ3LCAKLSAgICAyOSwgMywgMjMzLCAxNDAsIDI5LCAzLCAyMzMsIDU2LCAyOSwgMywgMjMzLCA2NCwgMjksIDMsIDIzMiwgMTYyLCAyOSwgMywgCi0gICAgMjMyLCA3NSwgMjksIDMsIDI0MSwgMTk2LCAyOSwgMywgMjQxLCAxOTAsIDI5LCAzLCAyNDEsIDE5MiwgMjksIDMsIDI0MSwgCi0gICAgMTk1LCAyOSwgMywgMjQxLCAxOTMsIDI5LCAzLCAyNDEsIDE5NCwgMjksIDMsIDI0MSwgMTkxLCAyOSwgMywgMjQxLCAxODksIAotICAgIDI5LCAzLCAxODYsIDI5LCAzLCAyMzAsIDEwNywgMjksIDMsIDIzMCwgMjM1LCAyOSwgMywgMjMxLCAyNDIsIDI5LCAzLCAKLSAgICAyMzEsIDg1LCAyOSwgMywgMjMxLCA5NiwgMjksIDMsIDIzMCwgMTY2LCAyOSwgMywgMjMwLCA0NywgMjksIDMsIDIxNywgCi0gICAgMTY0LCAyOSwgMywgMjE3LCAxNTgsIDI5LCAzLCAyMTcsIDE2MCwgMjksIDMsIDIxNywgMTYzLCAyOSwgMywgMjE3LCAxNjEsIAotICAgIDI5LCAzLCAyMTcsIDE2MiwgMjksIDMsIDIxNywgMTU5LCAyOSwgMywgMjE3LCAxNTcsIDI5LCAzLCAyMDUsIDI5LCAzLCAKLSAgICAyMjIsIDE0MiwgMjksIDMsIDIyMywgMzgsIDI5LCAzLCAyMjMsIDE4NywgMjksIDMsIDIyMywgMTExLCAyOSwgMywgMjIzLCAKLSAgICAxMzEsIDI5LCAzLCAyMjIsIDIxMywgMjksIDMsIDIyMiwgMTExLCAyOSwgMywgMjA2LCAyOSwgMywgMjE4LCA4NCwgMjksIDMsIAotICAgIDIxOSwgMTkzLCAyOSwgMywgMjIyLCAzMywgMjksIDMsIDIyMSwgMTcyLCAyOSwgMywgMjIxLCAxODMsIDI5LCAzLCAyMTksIAotICAgIDYwLCAyOSwgMywgMjE3LCAyNTQsIDI5LCAzLCAyMjAsIDEwNCwgMjksIDMsIDIxOSwgMjI3LCAyOSwgMywgMjIwLCAzNCwgCi0gICAgMjksIDMsIDIyMCwgMTAwLCAyOSwgMywgMjIwLCA2MywgMjksIDMsIDIyMCwgNjUsIDI5LCAzLCAyMjAsIDksIDI5LCAzLCAKLSAgICAyMTksIDIxMCwgMjksIDMsIDIyNCwgOTEsIDI5LCAzLCAyMjQsIDMzLCAyOSwgMywgMjI0LCA1NiwgMjksIDMsIDIyNCwgOTAsIAotICAgIDI5LCAzLCAyMjQsIDcxLCAyOSwgMywgMjI0LCA3MiwgMjksIDMsIDIyNCwgNDUsIDI5LCAzLCAyMjQsIDQ0LCAyOSwgMywgCi0gICAgMjIzLCAyNDUsIDI5LCAzLCAyMjMsIDI0MSwgMjksIDMsIDIyMywgMjQ0LCAyOSwgMywgMjIzLCAyNDIsIDI5LCAzLCAyMjMsIAotICAgIDI0MywgMjksIDMsIDIyNCwgNjgsIDI5LCAzLCAyMjQsIDYyLCAyOSwgMywgMjI0LCA2NCwgMjksIDMsIDIyNCwgNjcsIDI5LCAKLSAgICAzLCAyMjQsIDY1LCAyOSwgMywgMjI0LCA2NiwgMjksIDMsIDIyNCwgNjMsIDI5LCAzLCAyMjQsIDYxLCAyOSwgMywgMjI0LCAKLSAgICA1NywgMjksIDMsIDIyNCwgNjAsIDI5LCAzLCAyMjQsIDU4LCAyOSwgMywgMjI0LCA1OSwgMjksIDMsIDI1MiwgMTk5LCAyOSwgCi0gICAgMywgMjUxLCAxMzMsIDI5LCAzLCAyNTIsIDE0LCAyOSwgMywgMjUyLCAxOTcsIDI5LCAzLCAyNTIsIDc0LCAyOSwgMywgMjUyLCAKLSAgICA4MywgMjksIDMsIDI1MSwgMjEzLCAyOSwgMywgMjUxLCA5MSwgMjksIDMsIDIxNCwgMjcsIDI5LCAzLCAyMTIsIDExNiwgMjksIAotICAgIDMsIDIxMywgMTc2LCAyOSwgMywgMjE0LCAyNiwgMjksIDMsIDIxMywgMjUwLCAyOSwgMywgMjEzLCAyNTUsIDI5LCAzLCAKLSAgICAyMTMsIDEzOCwgMjksIDMsIDIxMiwgMTA3LCAyOSwgMywgMjE3LCAxMDYsIDI5LCAzLCAyMTUsIDExOSwgMjksIDMsIDIxNiwgCi0gICAgMTE4LCAyOSwgMywgMjE3LCAxMDIsIDI5LCAzLCAyMTcsIDEyLCAyOSwgMywgMjE3LCAyMywgMjksIDMsIDExMiwgMjksIDMsIAotICAgIDIxNSwgODAsIDI5LCAzLCAyNTEsIDQxLCAyOSwgMywgMjQ5LCAxMjAsIDI5LCAzLCAyNTAsIDU5LCAyOSwgMywgMjUxLCA0MCwgCi0gICAgMjksIDMsIDI1MCwgMTkwLCAyOSwgMywgMjUwLCAxOTgsIDI5LCAzLCAyNDksIDI0NiwgMjksIDMsIDI0OSwgODksIDI5LCAzLCAKLSAgICAyMTEsIDE2NSwgMjksIDMsIDIxMSwgMTQxLCAyOSwgMywgMjExLCAxNTcsIDI5LCAzLCAyMTEsIDE2NCwgMjksIDMsIDIxMSwgCi0gICAgMTYxLCAyOSwgMywgMjExLCAxNjIsIDI5LCAzLCAyMTEsIDE0OCwgMjksIDMsIDIxMSwgMTQ3LCAyOSwgMywgMjExLCAxMzYsIAotICAgIDI5LCAzLCAyMTEsIDEzMiwgMjksIDMsIDIxMSwgMTM1LCAyOSwgMywgMjExLCAxMzMsIDI5LCAzLCAyMTEsIDEzNCwgMjksIAotICAgIDMsIDE5OCwgMjksIDMsIDIyNywgMjQyLCAyOSwgMywgMjI4LCAyMzgsIDI5LCAzLCAyMjksIDIzMCwgMjksIDMsIDIyOSwgCi0gICAgMTA4LCAyOSwgMywgMjI5LCAxMTIsIDI5LCAzLCAyMjgsIDc5LCAyOSwgMywgMjI3LCAxNzgsIDI5LCAzLCAyMjcsIDE2OSwgCi0gICAgMjksIDMsIDIyNywgMTMyLCAyOSwgMywgMjI3LCAxNTIsIDI5LCAzLCAyMjcsIDE2OCwgMjksIDMsIDIyNywgMTU5LCAyOSwgCi0gICAgMywgMjI3LCAxNjAsIDI5LCAzLCAyMjcsIDEzOCwgMjksIDMsIDIyNywgMTIzLCAyOSwgMywgMjQyLCAxODcsIDYxLCAyOSwgCi0gICAgMywgMjQyLCAxODcsIDY5LCAyOSwgMywgMjQyLCAxODcsIDc0LCAyOSwgMywgMjQyLCAxODcsIDI1NSwgODIsIDI5LCAzLCAKLSAgICAyNDIsIDE4NywgMjQ1LCAyMTcsIDI5LCAzLCAyNDIsIDE4NywgNzYsIDI5LCAzLCAyNDIsIDE4NywgNzgsIDI5LCAzLCAyNDIsIAotICAgIDE4NywgMjEyLCA2NSwgMjksIDMsIDE3NiwgMjksIDMsIDIzMywgMjIzLCAyOSwgMywgMjM0LCA5OCwgMjksIDMsIDIzNSwgCi0gICAgMTYsIDI5LCAzLCAyMzQsIDE4NywgMjksIDMsIDIzNCwgMTg4LCAyOSwgMywgMjM0LCAzNCwgMjksIDMsIDIzNCwgMzMsIDI5LCAKLSAgICAzLCAyMzMsIDE4OCwgMjksIDMsIDIzMywgMTgyLCAyOSwgMywgMjMzLCAxODcsIDI5LCAzLCAyMzMsIDE4MywgMjksIDMsIAotICAgIDIzMywgMTg0LCAyOSwgMywgMjMzLCAxNzcsIDI5LCAzLCAyMzMsIDE3MSwgMjksIDMsIDIzMywgMTczLCAyOSwgMywgMjMzLCAKLSAgICAxNzYsIDI5LCAzLCAyMzMsIDE3NCwgMjksIDMsIDIzMywgMTc1LCAyOSwgMywgMjMzLCAxNzIsIDI5LCAzLCAyMzMsIDE3MCwgCi0gICAgMjksIDMsIDIzMywgMTY2LCAyOSwgMywgMjMzLCAxNjksIDI5LCAzLCAyMzMsIDE2NywgMjksIDMsIDIzMywgMTY4LCAyOSwgCi0gICAgMywgMjEyLCA2NSwgMjksIDMsIDIxMSwgMTk1LCAyOSwgMywgMjExLCAyNTAsIDI5LCAzLCAyMTIsIDY0LCAyOSwgMywgMjEyLCAKLSAgICAxNywgMjksIDMsIDIxMiwgMjIsIDI5LCAzLCAyMTEsIDIyNywgMjksIDMsIDIxMSwgMjI2LCAyOSwgMywgMjI1LCAxNDIsIAotICAgIDYxLCAyOSwgMywgMjI1LCAxNDIsIDY5LCAyOSwgMywgMjI1LCAxNDIsIDc0LCAyOSwgMywgMjI1LCAxNDIsIDI1NSwgODIsIAotICAgIDI5LCAzLCAyMjUsIDE0MiwgMjQ1LCAyMTcsIDI5LCAzLCAyMjUsIDE0MiwgNzYsIDI5LCAzLCAyMjUsIDE0MiwgNzgsIDI5LCAKLSAgICAzLCAyMTAsIDExNiwgMjksIDMsIDIxMCwgMTMsIDI5LCAzLCAyMTAsIDQ0LCAyOSwgMywgMjEwLCAxMTUsIDI5LCAzLCAyMTAsIAotICAgIDkyLCAyOSwgMywgMjEwLCA5NCwgMjksIDMsIDIxMCwgMjMsIDI5LCAzLCAyMTAsIDAsIDI5LCAzLCAyMTAsIDgyLCAyOSwgMywgCi0gICAgMjEwLCA2MiwgMjksIDMsIDIxMCwgNjksIDI5LCAzLCAyMTAsIDgxLCAyOSwgMywgMjEwLCA3MywgMjksIDMsIDIxMCwgNzQsIAotICAgIDI5LCAzLCAyMTAsIDY3LCAyOSwgMywgMjEwLCA1MywgMjksIDMsIDE5MiwgMjksIDMsIDIxMCwgMjEyLCAyOSwgMywgMjExLCAKLSAgICA4LCAyOSwgMywgMjExLCAxMDMsIDI5LCAzLCAyMTEsIDQ0LCAyOSwgMywgMjExLCA0NywgMjksIDMsIDIxMCwgMjQ0LCAyOSwgCi0gICAgMywgMjEwLCAyMzUsIDI5LCAzLCAyNDgsIDIyOSwgMjksIDMsIDI0NiwgODYsIDI5LCAzLCAyNDgsIDExLCAyOSwgMywgMjQ4LCAKLSAgICAyMjgsIDI5LCAzLCAyNDgsIDg1LCAyOSwgMywgMjQ4LCA5OCwgMjksIDMsIDI0NywgMTUzLCAyOSwgMywgMjQ2LCA1NSwgMjksIAotICAgIDMsIDI0OCwgMTQzLCAyOSwgMywgMjQ4LCAxMDgsIDI5LCAzLCAyNDgsIDEyMCwgMjksIDMsIDI0OCwgMTQyLCAyOSwgMywgCi0gICAgMjQ4LCAxMzAsIDI5LCAzLCAyNDgsIDEzMSwgMjksIDMsIDI0OCwgMTEzLCAyOSwgMywgMjQ4LCA5OSwgMjksIDMsIDIzNSwgCi0gICAgMTQ3LCAyOSwgMywgMjM1LCA1NywgMjksIDMsIDIzNSwgMTE0LCAyOSwgMywgMjM1LCAxNDYsIDI5LCAzLCAyMzUsIDEzMCwgCi0gICAgMjksIDMsIDIzNSwgMTMyLCAyOSwgMywgMjM1LCA3NCwgMjksIDMsIDIzNSwgMzcsIDI5LCAzLCAyNDMsIDE0MiwgMjksIDMsIAotICAgIDI0MiwgMTIwLCAyOSwgMywgMjQyLCAyMjEsIDI5LCAzLCAyNDMsIDEzOSwgMjksIDMsIDI0MywgNjIsIDI5LCAzLCAyNDMsIAotICAgIDY5LCAyOSwgMywgMjQyLCAxODEsIDI5LCAzLCAyNDIsIDE4MCwgMjksIDMsIDI0MiwgODUsIDI5LCAzLCAyNDIsIDgxLCAyOSwgCi0gICAgMywgMjQyLCA4NCwgMjksIDMsIDI0MiwgODIsIDI5LCAzLCAyNDIsIDgzLCAyOSwgMywgMjQzLCAzNiwgMjksIDMsIDI0MywgCi0gICAgMTYsIDI5LCAzLCAyNDMsIDI2LCAyOSwgMywgMjQzLCAzNSwgMjksIDMsIDI0MywgMzAsIDI5LCAzLCAyNDMsIDMxLCAyOSwgCi0gICAgMywgMjQzLCAyMCwgMjksIDMsIDI0MywgNSwgMjksIDMsIDIxNiwgMjA5LCAyOSwgMywgMjE2LCAxMzcsIDI5LCAzLCAyMTYsIAotICAgIDE3NiwgMjksIDMsIDIxNiwgMjA4LCAyOSwgMywgMjE2LCAxOTUsIDI5LCAzLCAyMTYsIDE5NiwgMjksIDMsIDIxNiwgMTU3LCAKLSAgICAyOSwgMywgMjE2LCAxMjksIDI5LCAzLCAyNTAsIDE2NSwgMjksIDMsIDI1MCwgNzcsIDI5LCAzLCAyNTAsIDExOCwgMjksIDMsIAotICAgIDI1MCwgMTY0LCAyOSwgMywgMjUwLCAxMzYsIDI5LCAzLCAyNTAsIDEzOSwgMjksIDMsIDI1MCwgOTQsIDI5LCAzLCAyNTAsIAotICAgIDY2LCAyOSwgMywgMjI1LCAxNTAsIDI5LCAzLCAyMjUsIDExNywgMjksIDMsIDIyNSwgMTM2LCAyOSwgMywgMjI1LCAxNDksIAotICAgIDI5LCAzLCAyMjUsIDEzOCwgMjksIDMsIDIyNSwgMTM5LCAyOSwgMywgMjI1LCAxMjQsIDI5LCAzLCAyMjUsIDExMywgMjksIAotICAgIDMsIDIxNSwgMTg0LCAyOSwgMywgMjE1LCAxNjQsIDI5LCAzLCAyMTUsIDE2OCwgMjksIDMsIDIxNSwgMTgzLCAyOSwgMywgCi0gICAgMjE1LCAxNzgsIDI5LCAzLCAyMTUsIDE3OSwgMjksIDMsIDIxNSwgMTY3LCAyOSwgMywgMjE1LCAxNjIsIDI5LCAzLCAyMTUsIAotICAgIDM5LCAyOSwgMywgMjE1LCAzMSwgMjksIDMsIDIxNSwgMzUsIDI5LCAzLCAyMTUsIDM4LCAyOSwgMywgMjE1LCAzNiwgMjksIAotICAgIDMsIDIxNSwgMzcsIDI5LCAzLCAyMTUsIDMzLCAyOSwgMywgMjE1LCAzMiwgMjksIDMsIDI0NCwgMjA0LCAyOSwgMywgMjQzLCAKLSAgICAyNDEsIDI5LCAzLCAyNDQsIDEyOSwgMjksIDMsIDI0NCwgMjAzLCAyOSwgMywgMjQ0LCAxNTUsIDI5LCAzLCAyNDQsIDE2MiwgCi0gICAgMjksIDMsIDI0NCwgNTEsIDI5LCAzLCAyNDMsIDIyMCwgMjksIDMsIDE5MSwgMjksIDMsIDIyNCwgMTUzLCAyOSwgMywgMjI1LCAKLSAgICAxMTEsIDI5LCAzLCAyMjYsIDkzLCAyOSwgMywgMjI1LCAyMTQsIDI5LCAzLCAyMjUsIDIyNCwgMjksIDMsIDIyNSwgMTksIAotICAgIDI5LCAzLCAyMjQsIDExNywgMjksIDMsIDIyMiwgMTAxLCAyOSwgMywgMjMwLCAzNiwgMjksIDMsIDI0MywgMjE0LCAyOSwgCi0gICAgMzgsIDI0MywgNjAsIDIyLCAyNSwgMjMzLCAyOSwgNzksIDI5LCAzOCwgMjUsIDIzMywgMjksIDc5LCAyOSwgMzgsIDI0MywgCi0gICAgNjAsIDc5LCAyOSwgMjIxLCAxNzUsIDc5LCAyOSwgMjExLCAyMDgsIDI5LCAyNDMsIDIzNiwgMjE4LCAxMzEsIDI5LCAyNDksIAotICAgIDIyNywgMjksIDIyMCwgMTUyLCAyOSwgMjQ5LCAyMzQsIDI5LCAyMjQsIDIwMiwgMjQ5LCAyMzQsIDI5LCAyMjQsIDE2LCA3OSwgCi0gICAgMjksIDIyNiwgMTksIDIyMCwgMTM5LCAyOSwgMjEsIDExMSwgMjksIDIxLCAxMDUsIDI5LCAyMSwgMTU4LCAyOSwgMjEsIAotICAgIDE2MSwgMjksIDIxLCAxOTAsIDI5LCAyMSwgMTk1LCAyOSwgMjEsIDE5OSwgMjksIDIxLCAxOTYsIDI5LCAyMSwgMjAxLCAyOSwgCi0gICAgNTQsIDIxNiwgMjQ4LCAyOSwgNTQsIDIxNSwgNzMsIDI5LCA1NCwgMjE2LCAxNjMsIDI5LCA1NCwgMjQ0LCAyMywgMjksIDU0LCAKLSAgICAyNDQsIDEyMiwgMjksIDU0LCAyMTksIDExMywgMjksIDU0LCAyMjAsIDExOCwgMjksIDU0LCAyNDUsIDE5MiwgMjksIDU0LCAKLSAgICAyMjgsIDIwMCwgMjksIDU0LCAyNDAsIDIxNywgMjksIDU0LCAyMTYsIDI0OSwgMjE2LCAxNDgsIDI5LCAzLCAyMjEsIDE3OSwgCi0gICAgMjMwLCA0NywgMjksIDMsIDIzMCwgNDMsIDI5LCAzLCAyMzAsIDQ0LCAyOSwgMywgMjMwLCA0NSwgMjksIDMsIDIyMSwgMTc5LCAKLSAgICAyNTEsIDkxLCAyOSwgMywgMjUxLCA4OCwgMjksIDMsIDI1MSwgODksIDI5LCAzLCAyNTEsIDkwLCAyOSwgMywgMjIxLCAxNzksIAotICAgIDI0MywgMjIwLCAyOSwgMywgMjQzLCAyMTYsIDI5LCAzLCAyNDMsIDIxNywgMjksIDMsIDI0MywgMjE4LCAyOSwgMywgMjIxLCAKLSAgICAxNzksIDIyNCwgMTE3LCAyOSwgMywgMjI0LCAxMTMsIDI5LCAzLCAyMjQsIDExNCwgMjksIDMsIDIyNCwgMTE1LCAyOSwgCi0gICAgMjE2LCAzMiwgMTY0LCAyMTAsIDI0NywgMjksIDIxNiwgMzIsIDE2NCwgMjQ4LCA0OSwgMjksIDIxNiwgMzIsIDE2NCwgMjIyLCAKLSAgICAyNDEsIDI5LCAyMTYsIDMyLCAxNjQsIDIxOSwgMjUzLCAyMjIsIDI0MSwgMjksIDIxNiwgMzIsIDE2NCwgMjQ3LCAyNDMsIAotICAgIDI5LCAyMTYsIDMyLCAxNjQsIDIzNCwgMTcwLCAyOSwgMjE2LCAzMiwgMTY0LCAyNTAsIDEwMiwgMjksIDIxNiwgMzIsIDE2NCwgCi0gICAgMjQxLCAxODQsIDI5LCAyMTYsIDMyLCAxNjQsIDI0OCwgNDgsIDI5LCAyMTYsIDMyLCAxNjQsIDIzMywgMjAwLCAxNjksIDEsIAotICAgIDYxLCAxNjksIDEsIDc2LCAxNjksIDEsIDc0LCAxNjksIDEsIDc4LCAxNjksIDEsIDY5LCAxNjksIDEsIDIxNCwgMTA1LCAKLSAgICAxNjksIDEsIDI0MywgMTQyLCAxNjksIDEsIDE3NiwgMTY5LCAxLCAyNDMsIDY5LCAxNjksIDEsIDI0MiwgMjIxLCAxNjksIDEsIAotICAgIDI0MiwgMTgxLCAxNjksIDEsIDI0MiwgMTIwLCAxNjksIDEsIDI0MiwgODYsIDE2OSwgMSwgMTYyLCAxNjksIDEsIDI0MSwgCi0gICAgMjQ1LCAxNjksIDEsIDI0MSwgMTg3LCAxNjksIDEsIDI0MSwgNzUsIDE2OSwgMSwgMjQwLCAyMjksIDE2OSwgMSwgMjQwLCAKLSAgICAyMDgsIDE2OSwgMSwgMjMzLCAxNDEsIDE2OSwgMSwgMjMzLCA2NCwgMTY5LCAxLCAyMzIsIDI0NywgMTY5LCAxLCAyMzIsIAotICAgIDE2MiwgMTY5LCAxLCAyMzIsIDEwMywgMTY5LCAxLCAyMzIsIDc2LCAxNjksIDEsIDE4NiwgMTY5LCAxLCAyMzEsIDk2LCAKLSAgICAxNjksIDEsIDIzMCwgMjM1LCAxNjksIDEsIDIzMCwgMTY2LCAxNjksIDEsIDIzMCwgMTA3LCAxNjksIDEsIDE5OCwgMTY5LCAKLSAgICAxLCAyNDEsIDk3LCAxNjksIDEsIDIyOSwgMjE4LCAxNjksIDEsIDIyOSwgMTEyLCAxNjksIDEsIDIyOCwgMjM4LCAxNjksIDEsIAotICAgIDIyOCwgNzksIDE2OSwgMSwgMjI3LCAyNDIsIDE2OSwgMSwgMjI3LCAxODAsIDE2OSwgMSwgMjI0LCAzMiwgMTY5LCAxLCAKLSAgICAyMjQsIDE5LCAxNjksIDEsIDIyNCwgMTIsIDE2OSwgMSwgMjI0LCA0LCAxNjksIDEsIDIyMywgMjQ5LCAxNjksIDEsIDIyMywgCi0gICAgMjQ3LCAxNjksIDEsIDIwNiwgMTY5LCAxLCAyMjIsIDkzLCAxNjksIDEsIDIyMSwgMTgzLCAxNjksIDEsIDIxOSwgMTkzLCAKLSAgICAxNjksIDEsIDIxOSwgNjAsIDE2OSwgMSwgMjE4LCA4NCwgMTY5LCAxLCAyMTgsIDMsIDE2OSwgMSwgMjQ4LCAyMjksIDE2OSwgCi0gICAgMSwgMjE3LCAxMDYsIDE2OSwgMSwgMjQ4LCA5OCwgMTY5LCAxLCAyMTcsIDIzLCAxNjksIDEsIDI0OCwgMTEsIDE2OSwgMSwgCi0gICAgMjE2LCAxMTgsIDE2OSwgMSwgMjQ3LCAxNTMsIDE2OSwgMSwgMjQ2LCA4NiwgMTY5LCAxLCAyNDYsIDU4LCAxNjksIDEsIAotICAgIDI0NywgMTY0LCAxNjksIDEsIDIxNiwgNjAsIDE2OSwgMSwgMjE2LCA1OSwgMTY5LCAxLCAyMTYsIDQ4LCAxNjksIDEsIDIxNiwgCi0gICAgNDcsIDE2OSwgMSwgMjE2LCA0NiwgMTY5LCAxLCAyMTYsIDQ1LCAxNjksIDEsIDIxNSwgMTg0LCAxNjksIDEsIDIxNSwgMTc5LCAKLSAgICAxNjksIDEsIDIxNSwgMTY4LCAxNjksIDEsIDIxNSwgMTY3LCAxNjksIDEsIDIxNSwgMTY0LCAxNjksIDEsIDIxNSwgMTYzLCAKLSAgICAxNjksIDEsIDIxMiwgNjUsIDE2OSwgMSwgMjEyLCAyMiwgMTY5LCAxLCAyMTEsIDI1MCwgMTY5LCAxLCAyMTEsIDIyNywgCi0gICAgMTY5LCAxLCAyMTEsIDE5NSwgMTY5LCAxLCAyMTEsIDE4MywgMTY5LCAxLCAxOTIsIDE2OSwgMSwgMjExLCA0NywgMTY5LCAxLCAKLSAgICAyMTEsIDgsIDE2OSwgMSwgMjEwLCAyNDQsIDE2OSwgMSwgMjEwLCAyMTIsIDE2OSwgMSwgMjEwLCAxNzcsIDE4LCAxOSwgCi0gICAgMjQwLCAxNzUsIDE4LCAxOSwgNzYsIDE4LCAxOSwgMjU1LCA0NiwgMTgsIDE5LCA3NCwgMTgsIDE5LCAyMzYsIDQwLCAxOCwgCi0gICAgMTksIDc4LCAxOCwgMTksIDIyNiwgMTg3LCAxOCwgMTksIDIxMSwgMTE2LCAyMjYsIDE4NywgMTgsIDE5LCA3MywgMjQ1LCAKLSAgICAyMTcsIDE4LCAxOSwgNzMsIDc0LCAxOCwgMTksIDYxLCAxOCwgMTksIDI1NSwgODIsIDE4LCAxOSwgMjEyLCAyMiwgMTgsIAotICAgIDE5LCAxNTksIDIxMiwgMjIsIDE4LCAxOSwgMjExLCAyNTAsIDE4LCAxOSwgMTU5LCAyMTEsIDI1MCwgMTgsIDE5LCAyMTEsIAotICAgIDI0MiwgMTgsIDE5LCAxNTksIDIxMSwgMjQyLCAxOCwgMTksIDIxMSwgMjI3LCAxOCwgMTksIDE1OSwgMjExLCAyMjcsIDE4LCAKLSAgICAxOSwgMjExLCAyMTUsIDE4LCAxOSwgMTU5LCAyMTEsIDIxNSwgMTgsIDE5LCAyMjksIDE5NSwgMjExLCAyMTUsIDE4LCAxOSwgCi0gICAgMjEyLCA2NSwgMTgsIDE5LCAxNTksIDIxMiwgNjUsIDE4LCAxOSwgMjEyLCA2NCwgMTgsIDE5LCAxNTksIDIxMiwgNjQsIDE4LCAKLSAgICAxOSwgMjI5LCAxOTUsIDIxMiwgNjQsIDE4LCAxOSwgMjU0LCAyMTAsIDE4LCAxOSwgMjExLCAxMTYsIDIxMiwgOTgsIDE4LCAKLSAgICAxOSwgMjQyLCAxODcsIDIxOCwgMTMxLCAxOCwgMTksIDQwLCAxNDIsIDE4LCAxOSwgNDAsIDI0MiwgMTQzLCAxOCwgMTksIAotICAgIDQwLCAyNTEsIDE4MywgMTYzLCAyMjIsIDIzNiwgMTgsIDE5LCA0MCwgMjE2LCAxNSwgMTYzLCAyMjIsIDIzNiwgMTgsIDE5LCAKLSAgICA0MCwgNDQsIDE2MywgMjIyLCAyMzYsIDE4LCAxOSwgNDAsIDIyMiwgMjM2LCAxOCwgMTksIDQwLCA1MiwgMTQyLCAxOCwgMTksIAotICAgIDQwLCA1MiwgMjE5LCAyNTMsIDY3LCAyMTgsIDkyLCAxOCwgMTksIDQwLCAyMzAsIDIyOSwgMjQ3LCAxMjgsIDE4LCAxOSwgCi0gICAgNDAsIDIxOSwgMjUzLCAyMDMsIDkxLCAxOCwgMTksIDQwLCAyMjUsIDI1LCAxOCwgMTksIDQwLCAxMjQsIDIxNywgODgsIDE4LCAKLSAgICAxOSwgMjQ1LCAxNTgsIDE4LCAxOSwgMjM2LCA2LCAxOCwgMTksIDIyNiwgMjAwLCAxOCwgMTksIDI1NCwgMTMxLCAxOCwgMTksIAotICAgIDIyNSwgMjI0LCAxOCwgMTksIDIyNiwgOTEsIDE4LCAxOSwgMjI1LCAxMTEsIDE4LCAxOSwgMjI1LCA3NCwgMTgsIDE5LCAKLSAgICAyMjUsIDE5LCAxOCwgMTksIDIyNCwgMjUyLCAxOCwgMTksIDIxMSwgMTE2LCAyMjQsIDI1MiwgMTgsIDE5LCA3MywgMjQxLCAKLSAgICAyMjcsIDE4LCAxOSwgNzMsIDI0MSwgMTg3LCAxOCwgMTksIDE5MSwgMTgsIDE5LCAyMjYsIDkzLCAxOCwgMTksIDIyNCwgCi0gICAgMTE1LCAxOCwgMTksIDE1OSwgMjI0LCAxMTUsIDE4LCAxOSwgMjI0LCAxMTMsIDE4LCAxOSwgMTU5LCAyMjQsIDExMywgMTgsIAotICAgIDE5LCAyMjQsIDExMiwgMTgsIDE5LCAxNTksIDIyNCwgMTEyLCAxOCwgMTksIDIyNCwgMTEwLCAxOCwgMTksIDE1OSwgMjI0LCAKLSAgICAxMTAsIDE4LCAxOSwgMjI0LCAxMDksIDE4LCAxOSwgMTU5LCAyMjQsIDEwOSwgMTgsIDE5LCAyMjQsIDExNywgMTgsIDE5LCAKLSAgICAxNTksIDIyNCwgMTE3LCAxOCwgMTksIDIyNCwgMTE2LCAxOCwgMTksIDE1OSwgMjI0LCAxMTYsIDE4LCAxOSwgMjExLCAxMTYsIAotICAgIDIyNCwgMTE2LCAxOCwgMTksIDIyNiwgMTA5LCAxOCwgMTksIDE1OSwgMjI2LCAxMDksIDE4LCAxOSwgNzMsIDI0MiwgNjcsIAotICAgIDE4LCAxOSwgMjE3LCAyMywgMTgsIDE5LCAyMTcsIDEwMCwgMTgsIDE5LCAyMTYsIDExOCwgMTgsIDE5LCAyMTYsIDEwNCwgCi0gICAgMTgsIDE5LCAxMTIsIDE4LCAxOSwgMjE2LCAxOCwgMTgsIDE5LCAyMTEsIDExNiwgMjE2LCAxOCwgMTgsIDE5LCA3MywgMjQ4LCAKLSAgICA4NSwgMTgsIDE5LCA3MywgMjQ4LCAxMSwgMTgsIDE5LCAyMTcsIDEwNiwgMTgsIDE5LCAyMTcsIDEwMiwgMTgsIDE5LCAyMTUsIAotICAgIDc4LCAxOCwgMTksIDE1OSwgMjE1LCA3OCwgMTgsIDE5LCAyMTUsIDYyLCAxOCwgMTksIDE1OSwgMjE1LCA2MiwgMTgsIDE5LCAKLSAgICAyMTUsIDYxLCAxOCwgMTksIDE1OSwgMjE1LCA2MSwgMTgsIDE5LCAxMDUsIDE4LCAxOSwgMTU5LCAxMDUsIDE4LCAxOSwgCi0gICAgMjE1LCA1NCwgMTgsIDE5LCAxNTksIDIxNSwgNTQsIDE4LCAxOSwgMjE1LCA4MCwgMTgsIDE5LCAxNTksIDIxNSwgODAsIDE4LCAKLSAgICAxOSwgMjE1LCA3OSwgMTgsIDE5LCAxNTksIDIxNSwgNzksIDE4LCAxOSwgMjI5LCAxOTUsIDIxNSwgNzksIDE4LCAxOSwgCi0gICAgMjE3LCAxNTMsIDE4LCAxOSwgMjE1LCAxNTIsIDE4LCAxOSwgMjE1LCAxMzYsIDE4LCAxOSwgMjE1LCAxMzQsIDE4LCAxOSwgCi0gICAgMjE1LCAxNTcsIDE4LCAxOSwgMjM0LCAxODgsIDE4LCAxOSwgMjM1LCAxMywgMTgsIDE5LCAyMzQsIDk4LCAxOCwgMTksIAotICAgIDIzNCwgODksIDE4LCAxOSwgMjM0LCAzNCwgMTgsIDE5LCAyMzQsIDE2LCAxOCwgMTksIDIxMSwgMTE2LCAyMzQsIDE2LCAxOCwgCi0gICAgMTksIDE3NiwgMTgsIDE5LCAyMzUsIDE2LCAxOCwgMTksIDIzMywgMTg0LCAxOCwgMTksIDE1OSwgMjMzLCAxODQsIDE4LCAKLSAgICAxOSwgMjMzLCAxODIsIDE4LCAxOSwgMTU5LCAyMzMsIDE4MiwgMTgsIDE5LCAyMzMsIDE4MSwgMTgsIDE5LCAxNTksIDIzMywgCi0gICAgMTgxLCAxOCwgMTksIDIzMywgMTgwLCAxOCwgMTksIDE1OSwgMjMzLCAxODAsIDE4LCAxOSwgMjMzLCAxNzksIDE4LCAxOSwgCi0gICAgMTU5LCAyMzMsIDE3OSwgMTgsIDE5LCAyMzMsIDE4OCwgMTgsIDE5LCAxNTksIDIzMywgMTg4LCAxOCwgMTksIDIzMywgMTg3LCAKLSAgICAxOCwgMTksIDE1OSwgMjMzLCAxODcsIDE4LCAxOSwgMjI5LCAxOTUsIDIzMywgMTg3LCAxOCwgMTksIDIzNSwgMjksIDE4LCAKLSAgICAxOSwgMjMzLCAxODksIDE4LCAxOSwgMjE5LCAyOSwgMjM0LCAxODIsIDE4LCAxOSwgMjE5LCAyOSwgMjM0LCA5MCwgMTgsIAotICAgIDE5LCAyMTksIDI5LCAyMzQsIDI5LCAxOCwgMTksIDIxOSwgMjksIDIzNCwgMjU0LCAxOCwgMTksIDI1MCwgMTk4LCAxOCwgCi0gICAgMTksIDI1MSwgMzksIDE4LCAxOSwgMjUwLCA1OSwgMTgsIDE5LCAyNTAsIDQ5LCAxOCwgMTksIDI0OSwgMjQ2LCAxOCwgMTksIAotICAgIDI0OSwgMTgyLCAxOCwgMTksIDIxMSwgMTE2LCAyNDksIDE4MiwgMTgsIDE5LCAyNTEsIDQxLCAxOCwgMTksIDI1MSwgNDAsIAotICAgIDE4LCAxOSwgMjQ5LCA4NywgMTgsIDE5LCAxNTksIDI0OSwgODcsIDE4LCAxOSwgMjQ5LCA4NSwgMTgsIDE5LCAxNTksIDI0OSwgCi0gICAgODUsIDE4LCAxOSwgMjQ5LCA4NCwgMTgsIDE5LCAxNTksIDI0OSwgODQsIDE4LCAxOSwgMjQ5LCA4MywgMTgsIDE5LCAxNTksIAotICAgIDI0OSwgODMsIDE4LCAxOSwgMjQ5LCA4MiwgMTgsIDE5LCAxNTksIDI0OSwgODIsIDE4LCAxOSwgMjQ5LCA4OSwgMTgsIDE5LCAKLSAgICAxNTksIDI0OSwgODksIDE4LCAxOSwgMjQ5LCA4OCwgMTgsIDE5LCAxNTksIDI0OSwgODgsIDE4LCAxOSwgMjI5LCAxOTUsIAotICAgIDI0OSwgODgsIDE4LCAxOSwgMjUxLCA3NCwgMTgsIDE5LCAyMjEsIDIxMSwgMjE2LCAyMTEsIDE4LCAxOSwgMjMxLCA5NiwgCi0gICAgMTgsIDE5LCAyMzEsIDI0MSwgMTgsIDE5LCAyMzAsIDIzNSwgMTgsIDE5LCAyMzAsIDIwNiwgMTgsIDE5LCAyMzAsIDE2NiwgCi0gICAgMTgsIDE5LCAyMzAsIDEzNywgMTgsIDE5LCAyMTEsIDExNiwgMjMwLCAxMzcsIDE4LCAxOSwgMTg2LCAxOCwgMTksIDIzMSwgCi0gICAgMjQyLCAxOCwgMTksIDIzMCwgNDUsIDE4LCAxOSwgMTU5LCAyMzAsIDQ1LCAxOCwgMTksIDIzMCwgNDMsIDE4LCAxOSwgMTU5LCAKLSAgICAyMzAsIDQzLCAxOCwgMTksIDIzMCwgNDIsIDE4LCAxOSwgMTU5LCAyMzAsIDQyLCAxOCwgMTksIDIzMCwgNDEsIDE4LCAxOSwgCi0gICAgMTU5LCAyMzAsIDQxLCAxOCwgMTksIDIzMCwgNDAsIDE4LCAxOSwgMTU5LCAyMzAsIDQwLCAxOCwgMTksIDIzMCwgNDcsIDE4LCAKLSAgICAxOSwgMTU5LCAyMzAsIDQ3LCAxOCwgMTksIDIzMCwgNDYsIDE4LCAxOSwgMTU5LCAyMzAsIDQ2LCAxOCwgMTksIDIyOSwgCi0gICAgMTk1LCAyMzAsIDQ2LCAxOCwgMTksIDE5NCwgMTgsIDE5LCAxNTksIDE5NCwgMTgsIDE5LCAyMzAsIDIzOSwgMTgsIDE5LCAKLSAgICAyNTMsIDIxMywgMTk0LCAxOCwgMTksIDIyMSwgMjExLCAxOTQsIDE4LCAxOSwgMjI5LCAxMTIsIDE4LCAxOSwgMjI5LCAyMjksIAotICAgIDE4LCAxOSwgMjI4LCAyMzgsIDE4LCAxOSwgMjI4LCAyMTMsIDE4LCAxOSwgMjI4LCA3OSwgMTgsIDE5LCAyMjgsIDY5LCAxOCwgCi0gICAgMTksIDIxMSwgMTE2LCAyMjgsIDY5LCAxOCwgMTksIDE5OCwgMTgsIDE5LCAyMjksIDIzMCwgMTgsIDE5LCAyMjcsIDE3NiwgCi0gICAgMTgsIDE5LCAxNTksIDIyNywgMTc2LCAxOCwgMTksIDIyNywgMTc4LCAxOCwgMTksIDE1OSwgMjI3LCAxNzgsIDE4LCAxOSwgCi0gICAgMjI3LCAxNzcsIDE4LCAxOSwgMTU5LCAyMjcsIDE3NywgMTgsIDE5LCAyMjksIDE5NSwgMjI3LCAxNzcsIDE4LCAxOSwgMjMwLCAKLSAgICAzMCwgMTgsIDE5LCA3MywgMjI5LCA4NCwgMTgsIDE5LCAyMjgsIDI0MywgMTgsIDE5LCAyMzMsIDY0LCAxOCwgMTksIDIzMywgCi0gICAgMTM5LCAxOCwgMTksIDIzMiwgMjQ3LCAxOCwgMTksIDIzMiwgMjMzLCAxOCwgMTksIDIzMiwgMTYyLCAxOCwgMTksIDIzMiwgCi0gICAgMTMzLCAxOCwgMTksIDIxMSwgMTE2LCAyMzIsIDEzMywgMTgsIDE5LCAyMzMsIDE0MSwgMTgsIDE5LCAyMzMsIDE0MCwgMTgsIAotICAgIDE5LCAyMzIsIDczLCAxOCwgMTksIDE1OSwgMjMyLCA3MywgMTgsIDE5LCAyMzIsIDcyLCAxOCwgMTksIDE1OSwgMjMyLCA3MiwgCi0gICAgMTgsIDE5LCAyMzIsIDcxLCAxOCwgMTksIDE1OSwgMjMyLCA3MSwgMTgsIDE5LCAyMzIsIDcwLCAxOCwgMTksIDE1OSwgMjMyLCAKLSAgICA3MCwgMTgsIDE5LCAyMzIsIDY5LCAxOCwgMTksIDE1OSwgMjMyLCA2OSwgMTgsIDE5LCAyMzIsIDc1LCAxOCwgMTksIDE1OSwgCi0gICAgMjMyLCA3NSwgMTgsIDE5LCAyMzIsIDc0LCAxOCwgMTksIDE1OSwgMjMyLCA3NCwgMTgsIDE5LCAxNTYsIDE4LCAxOSwgMTU5LCAKLSAgICAxNTYsIDE4LCAxOSwgMTQ3LCAxNTYsIDE4LCAxOSwgMjIxLCAxODMsIDE4LCAxOSwgMjIyLCAzMSwgMTgsIDE5LCAyMTksIAotICAgIDE5MywgMTgsIDE5LCAyMTksIDE3NywgMTgsIDE5LCAyMTksIDYwLCAxOCwgMTksIDIxOSwgNDIsIDE4LCAxOSwgMjExLCAKLSAgICAxMTYsIDIxOSwgNDIsIDE4LCAxOSwgMjA2LCAxOCwgMTksIDIyMiwgMzMsIDE4LCAxOSwgMjE3LCAyNTAsIDE4LCAxOSwgCi0gICAgMTU5LCAyMTcsIDI1MCwgMTgsIDE5LCAyMTcsIDI0NCwgMTgsIDE5LCAxNTksIDIxNywgMjQ0LCAxOCwgMTksIDIxNywgMjQzLCAKLSAgICAxOCwgMTksIDE1OSwgMjE3LCAyNDMsIDE4LCAxOSwgMjE3LCAyMzksIDE4LCAxOSwgMTU5LCAyMTcsIDIzOSwgMTgsIDE5LCAKLSAgICAyMTcsIDIzOCwgMTgsIDE5LCAxNTksIDIxNywgMjM4LCAxOCwgMTksIDIxNywgMjU0LCAxOCwgMTksIDE1OSwgMjE3LCAyNTQsIAotICAgIDE4LCAxOSwgMjE3LCAyNTMsIDE4LCAxOSwgMTU5LCAyMTcsIDI1MywgMTgsIDE5LCAyMjksIDE5NSwgMjE3LCAyNTMsIDE4LCAKLSAgICAxOSwgMjIyLCA5MywgMTgsIDE5LCAyNTMsIDIxMywgMjIyLCA5MywgMTgsIDE5LCAyMTcsIDI1NSwgMTgsIDE5LCAyNTEsIAotICAgIDIyNiwgMjIyLCA5MywgMTgsIDE5LCAyMzAsIDEzMiwgMjE5LCAxMTAsIDE4LCAxOSwgMjI5LCAxOTUsIDIxOSwgMTAxLCAxOCwgCi0gICAgMTksIDIyOSwgMTk1LCAyMjIsIDkxLCAxOCwgMTksIDIyOSwgMTk1LCAyMTgsIDIzNywgMTgsIDE5LCAyMjksIDE5NSwgMjE4LCAKLSAgICA4NywgMTgsIDE5LCAyMjksIDE5NSwgMjE5LCAxMDAsIDE4LCAxOSwgMjI5LCAxOTUsIDIyMSwgMTg2LCAxOCwgMTksIDIyMCwgCi0gICAgNjUsIDE4LCAxOSwgMjIwLCAzNCwgMTgsIDE5LCAyMjAsIDI5LCAxOCwgMTksIDIyMCwgOSwgMTgsIDE5LCAyMjAsIDMsIDE4LCAKLSAgICAxOSwgMjIwLCAxMDQsIDE4LCAxOSwgMjIwLCAxMDAsIDE4LCAxOSwgMjE5LCAyMDgsIDE4LCAxOSwgMTU5LCAyMTksIDIwOCwgCi0gICAgMTgsIDE5LCAyMTksIDIwNywgMTgsIDE5LCAxNTksIDIxOSwgMjA3LCAxOCwgMTksIDIxOSwgMjA2LCAxOCwgMTksIDE1OSwgCi0gICAgMjE5LCAyMDYsIDE4LCAxOSwgMjE5LCAyMDUsIDE4LCAxOSwgMTU5LCAyMTksIDIwNSwgMTgsIDE5LCAyMTksIDIwNCwgMTgsIAotICAgIDE5LCAxNTksIDIxOSwgMjA0LCAxOCwgMTksIDIxOSwgMjEwLCAxOCwgMTksIDE1OSwgMjE5LCAyMTAsIDE4LCAxOSwgMjE5LCAKLSAgICAyMDksIDE4LCAxOSwgMTU5LCAyMTksIDIwOSwgMTgsIDE5LCAyMjAsIDEwNiwgMTgsIDE5LCAyMTEsIDQ3LCAxOCwgMTksIAotICAgIDIxMSwgMTAxLCAxOCwgMTksIDIxMSwgOCwgMTgsIDE5LCAyMTAsIDI1NSwgMTgsIDE5LCAyMTAsIDI0NCwgMTgsIDE5LCAKLSAgICAyMTAsIDIyOSwgMTgsIDE5LCAyMTEsIDExNiwgMjEwLCAyMjksIDE4LCAxOSwgMTkyLCAxOCwgMTksIDIxMSwgMTAzLCAxOCwgCi0gICAgMTksIDIxMCwgMTc0LCAxOCwgMTksIDE1OSwgMjEwLCAxNzQsIDE4LCAxOSwgMjEwLCAxNzMsIDE4LCAxOSwgMTU5LCAyMTAsIAotICAgIDE3MywgMTgsIDE5LCAyMTAsIDE3MiwgMTgsIDE5LCAxNTksIDIxMCwgMTcyLCAxOCwgMTksIDIxMCwgMTcxLCAxOCwgMTksIAotICAgIDE1OSwgMjEwLCAxNzEsIDE4LCAxOSwgMjEwLCAxNzAsIDE4LCAxOSwgMTU5LCAyMTAsIDE3MCwgMTgsIDE5LCAyMTAsIDE3NiwgCi0gICAgMTgsIDE5LCAxNTksIDIxMCwgMTc2LCAxOCwgMTksIDIxMCwgMTc1LCAxOCwgMTksIDE1OSwgMjEwLCAxNzUsIDE4LCAxOSwgCi0gICAgMjI5LCAxOTUsIDIxMCwgMTc1LCAxOCwgMTksIDIxMSwgMTE3LCAxOCwgMTksIDI1MiwgMTIsIDIxMSwgMTE3LCAxOCwgMTksIAotICAgIDE1OSwgMjExLCAxMTcsIDE4LCAxOSwgMjIxLCAyMTEsIDIxMSwgOCwgMTgsIDE5LCAyMjMsIDEzMSwgMTgsIDE5LCAyMjMsIAotICAgIDIyNiwgMjIzLCAxMzEsIDE4LCAxOSwgMTU5LCAyMzMsIDY0LCAxOCwgMTksIDIyMywgMTg2LCAxOCwgMTksIDIyMywgMzgsIAotICAgIDE4LCAxOSwgMjIyLCAyNDIsIDE4LCAxOSwgMjIyLCAyMTMsIDE4LCAxOSwgMjIyLCAxOTksIDE4LCAxOSwgMTU5LCAyMzIsIAotICAgIDE2MiwgMTgsIDE5LCAyMDUsIDE4LCAxOSwgMjIzLCAxODcsIDE4LCAxOSwgMTU5LCAyMzMsIDE0MSwgMTgsIDE5LCAyMjIsIAotICAgIDExMCwgMTgsIDE5LCAxNTksIDIyMiwgMTEwLCAxOCwgMTksIDE1MywgMTgsIDE5LCAxNTksIDE1MywgMTgsIDE5LCAxNDcsIAotICAgIDE1MywgMTgsIDE5LCAyNDQsIDE2MiwgMTgsIDE5LCAyNDQsIDIwMSwgMTgsIDE5LCAyNDQsIDEyOSwgMTgsIDE5LCAyNDQsIAotICAgIDExNiwgMTgsIDE5LCAyNDQsIDUxLCAxOCwgMTksIDI0NCwgNDIsIDE4LCAxOSwgMjQ0LCAyMDQsIDE4LCAxOSwgMjQ0LCAKLSAgICAyMDMsIDE4LCAxOSwgMjQzLCAyMTksIDE4LCAxOSwgMTU5LCAyNDMsIDIxOSwgMTgsIDE5LCAyNDUsIDE0LCAxOCwgMTksIAotICAgIDIxNiwgMTk2LCAxOCwgMTksIDIzMCwgMjgsIDIxNiwgMTk2LCAxOCwgMTksIDIxNiwgMTc2LCAxOCwgMTksIDIzMCwgMjgsIAotICAgIDIxNiwgMTc2LCAxOCwgMTksIDIxNiwgMTcyLCAxOCwgMTksIDIzMCwgMjgsIDIxNiwgMTcyLCAxOCwgMTksIDIxNiwgMTU3LCAKLSAgICAxOCwgMTksIDIxNiwgMTU0LCAxOCwgMTksIDIxNiwgMjA5LCAxOCwgMTksIDIxNiwgMjA4LCAxOCwgMTksIDIxNiwgMTI4LCAKLSAgICAxOCwgMTksIDE1OSwgMjE2LCAxMjgsIDE4LCAxOSwgMjE2LCAyMTEsIDE4LCAxOSwgMjE1LCAxNDMsIDE4LCAxOSwgMjE1LCAKLSAgICAxNDEsIDE4LCAxOSwgMjE1LCAxNDAsIDE4LCAxOSwgMjE1LCAxNDUsIDE4LCAxOSwgMjE1LCAxNDYsIDE4LCAxOSwgMjE1LCAKLSAgICA1MiwgMTgsIDE5LCAyMTUsIDUxLCAxOCwgMTksIDIxNSwgNTAsIDE4LCAxOSwgMjE1LCA1MywgMTgsIDE5LCAyMjcsIDE5NywgCi0gICAgMjQxLCAyNDUsIDE4LCAxOSwgMjI3LCAxOTcsIDI0MSwgMTg3LCAxOCwgMTksIDIyNywgMTk3LCAyNDEsIDE2OCwgMTgsIDE5LCAKLSAgICAyMjcsIDE5NywgMjQxLCA3NSwgMTgsIDE5LCAyMjcsIDE5NywgMjQxLCA2MCwgMTgsIDE5LCAyMjcsIDE5NywgMTYyLCAxOCwgCi0gICAgMTksIDIyNywgMTk3LCAyNDIsIDUzLCAxOCwgMTksIDIyNywgMTk3LCAyNDIsIDY3LCAxOCwgMTksIDIyNywgMTk2LCAyNDIsIAotICAgIDY3LCAxOCwgMTksIDI0MSwgMTYxLCAxOCwgMTksIDIyNCwgODcsIDE4LCAxOSwgMjI0LCA1NiwgMTgsIDE5LCAyMjQsIDUxLCAKLSAgICAxOCwgMTksIDIyNCwgNDUsIDE4LCAxOSwgMjI0LCA0MCwgMTgsIDE5LCAyMjQsIDkxLCAxOCwgMTksIDIyNCwgOTAsIDE4LCAKLSAgICAxOSwgMjI0LCA5OSwgMTgsIDE5LCAyMTYsIDU2LCAxOCwgMTksIDIxNiwgNTQsIDE4LCAxOSwgMjE2LCA1MywgMTgsIDE5LCAKLSAgICAyMTYsIDU3LCAxOCwgMTksIDE1OSwgMjIzLCAxMzEsIDE4LCAxOSwgMTU5LCAyMjMsIDM4LCAxOCwgMTksIDE1OSwgMjIyLCAKLSAgICAyMTMsIDE4LCAxOSwgMTU5LCAyMDUsIDE4LCAxOSwgMjI5LCA4MCwgMTgsIDE5LCAyMjksIDMyLCAxOCwgMTksIDIyOSwgMjgsIAotICAgIDE4LCAxOSwgMjI5LCA5LCAxOCwgMTksIDIyOSwgNCwgMTgsIDE5LCAyMjksIDgyLCAxOCwgMTksIDIyOSwgODEsIDE4LCAxOSwgCi0gICAgMjI5LCA4NCwgMTgsIDE5LCAyMjgsIDEwOCwgMTgsIDE5LCAyMjEsIDIxMSwgMjIwLCA2NSwgMTgsIDE5LCAyMjEsIDIxMSwgCi0gICAgMjIwLCAzNCwgMTgsIDE5LCAyMjEsIDIxMSwgMjIwLCA5LCAxOCwgMTksIDIyMSwgMjExLCAyMjAsIDEwNCwgMTgsIDE5LCAKLSAgICAyMTEsIDIxMywgMjE2LCAxOTYsIDE4LCAxOSwgMjExLCAyMTMsIDIxNiwgMTc2LCAxOCwgMTksIDIxMSwgMjEzLCAyMTYsIAotICAgIDE1NywgMTgsIDE5LCAyMTEsIDIxMywgMjE2LCAyMDksIDE4LCAxOSwgMjExLCAyMTMsIDIxNiwgMjExLCAxOCwgMTksIDIzMiwgCi0gICAgMjU0LCAxOCwgMTksIDIzMiwgMjUzLCAxOCwgMTksIDIzMiwgMjUyLCAxOCwgMTksIDIzMiwgMjUxLCAxOCwgMTksIDIzMywgCi0gICAgNCwgMTgsIDE5LCAyMzMsIDMsIDE4LCAxOSwgMjMzLCA1LCAxOCwgMTksIDIxNiwgMjEwLCAyMTYsIDE5NiwgMTgsIDE5LCAKLSAgICAyMTYsIDIxMCwgMjE2LCAxNzYsIDE4LCAxOSwgMjE2LCAyMTAsIDIxNiwgMTcyLCAxOCwgMTksIDIxNiwgMjEwLCAyMTYsIAotICAgIDE1NywgMTgsIDE5LCAyMTYsIDIxMCwgMjE2LCAxNTQsIDE4LCAxOSwgMjE2LCAyMTAsIDIxNiwgMjA5LCAxOCwgMTksIDIxNiwgCi0gICAgMjEwLCAyMTYsIDIwOCwgMTgsIDE5LCAyMTYsIDIxMCwgMjE2LCAyMTEsIDE4LCAxOSwgMjU0LCAxOTgsIDI1MywgMTY2LCAKLSAgICAxOCwgMTksIDI1MSwgMjI2LCA3NiwgMTgsIDE5LCAyNTEsIDIyNiwgNzQsIDE4LCAxOSwgMjUxLCAyMjYsIDc4LCAxOCwgMTksIAotICAgIDI1MSwgMjI2LCA2MSwgMTgsIDE5LCAyNTEsIDIyNiwgMjEyLCAyMiwgMTgsIDE5LCAyNTEsIDIyNiwgMjExLCAyNTAsIDE4LCAKLSAgICAxOSwgMjUxLCAyMjYsIDIxMSwgMjI3LCAxOCwgMTksIDI1MSwgMjI2LCAyMTIsIDY1LCAxOCwgMTksIDI1MSwgMjI2LCAyMjksIAotICAgIDExMiwgMTgsIDE5LCAyNTEsIDIyNiwgMjI4LCAyMzgsIDE4LCAxOSwgMjUxLCAyMjYsIDIyOCwgNzksIDE4LCAxOSwgMjUxLCAKLSAgICAyMjYsIDE5OCwgMTgsIDE5LCAyNTEsIDIyNiwgMjM0LCAxODgsIDE4LCAxOSwgMjUxLCAyMjYsIDIzNCwgOTgsIDE4LCAxOSwgCi0gICAgMjUxLCAyMjYsIDIzNCwgMzQsIDE4LCAxOSwgMjUxLCAyMjYsIDE3NiwgMTgsIDE5LCAyMjEsIDIxMSwgMjQxLCAyNDUsIDE4LCAKLSAgICAxOSwgMjIxLCAyMTEsIDI0MSwgMTg3LCAxOCwgMTksIDIyMSwgMjExLCAyNDEsIDc1LCAxOCwgMTksIDIyMSwgMjExLCAxNjIsIAotICAgIDE4LCAxOSwgNzMsIDI0MiwgMjI3LCAxOCwgMTksIDczLCAyNDIsIDIzMSwgMTgsIDE5LCA3MywgMjQyLCAyNDMsIDE4LCAxOSwgCi0gICAgNzMsIDI0MiwgMjQyLCAxOCwgMTksIDczLCAyNDIsIDIzMiwgMTgsIDE5LCA3MywgMjQzLCAwLCAxOCwgMTksIDczLCAyMjIsIAotICAgIDE0MiwgMTgsIDE5LCA3MywgMjIyLCAyMTMsIDE4LCAxOSwgNzMsIDIyMywgMTMxLCAxOCwgMTksIDczLCAyMjMsIDExMSwgCi0gICAgMTgsIDE5LCA3MywgMjIzLCAzOCwgMTgsIDE5LCA3MywgMjA1LCAxOCwgMTksIDczLCAyMTEsIDE5NSwgMTgsIDE5LCA3MywgCi0gICAgMjExLCAyMjcsIDE4LCAxOSwgNzMsIDIxMiwgMjIsIDE4LCAxOSwgNzMsIDIxMiwgMTcsIDE4LCAxOSwgNzMsIDIxMSwgMjUwLCAKLSAgICAxOCwgMTksIDczLCAyMTIsIDY1LCAxOCwgMTksIDczLCAyNDAsIDIwMSwgMTgsIDE5LCA3MywgMjQwLCAyMDIsIDE4LCAxOSwgCi0gICAgNzMsIDI0MCwgMjA1LCAxOCwgMTksIDczLCAyNDAsIDIwNCwgMTgsIDE5LCA3MywgMjQwLCAyMDMsIDE4LCAxOSwgNzMsIAotICAgIDI0MCwgMjA3LCAxOCwgMTksIDczLCAyMTYsIDEzNywgMTgsIDE5LCA3MywgMjE2LCAxNTcsIDE4LCAxOSwgNzMsIDIxNiwgCi0gICAgMTk2LCAxOCwgMTksIDczLCAyMTYsIDE5NSwgMTgsIDE5LCA3MywgMjE2LCAxNzYsIDE4LCAxOSwgNzMsIDIxNiwgMjA5LCAKLSAgICAxOCwgMTksIDczLCAyMTUsIDEyNCwgMTgsIDE5LCA3MywgMjE1LCAxMzQsIDE4LCAxOSwgNzMsIDIxNSwgMTUyLCAxOCwgMTksIAotICAgIDczLCAyMTUsIDE1MSwgMTgsIDE5LCA3MywgMjE1LCAxMzYsIDE4LCAxOSwgNzMsIDIxNSwgMTU3LCAxOCwgMTksIDczLCAKLSAgICAyMjQsIDE1MywgMTgsIDE5LCA3MywgMjI1LCAxOSwgMTgsIDE5LCA3MywgMjI1LCAyMjQsIDE4LCAxOSwgNzMsIDIyNSwgCi0gICAgMjE0LCAxOCwgMTksIDczLCAyMjUsIDExMSwgMTgsIDE5LCA3MywgMTkxLCAxOCwgMTksIDczLCAyMjYsIDEwOSwgMTgsIDE5LCAKLSAgICA3MywgMjQyLCAxMjAsIDE4LCAxOSwgNzMsIDI0MiwgMTgxLCAxOCwgMTksIDczLCAyNDMsIDY5LCAxOCwgMTksIDczLCAyNDMsIAotICAgIDYyLCAxOCwgMTksIDczLCAyNDIsIDIyMSwgMTgsIDE5LCA3MywgMjQzLCAxNDIsIDE4LCAxOSwgNzMsIDIzNCwgMTA2LCAxOCwgCi0gICAgMTksIDczLCAyMzQsIDExMSwgMTgsIDE5LCA3MywgMjM0LCAxMjUsIDE4LCAxOSwgNzMsIDIzNCwgMTI0LCAxOCwgMTksIDczLCAKLSAgICAyMzQsIDExOCwgMTgsIDE5LCA3MywgMjM0LCAxMzgsIDE4LCAxOSwgNzMsIDIzNCwgNDcsIDE4LCAxOSwgNzMsIDIzNCwgNDgsIAotICAgIDE4LCAxOSwgNzMsIDIzNCwgNTEsIDE4LCAxOSwgNzMsIDIzNCwgNTAsIDE4LCAxOSwgNzMsIDIzNCwgNDksIDE4LCAxOSwgCi0gICAgNzMsIDIzNCwgNTIsIDE4LCAxOSwgNzMsIDIzNCwgNTMsIDE4LCAxOSwgNzMsIDIyNywgMjQyLCAxOCwgMTksIDczLCAyMjgsIAotICAgIDc5LCAxOCwgMTksIDczLCAyMjksIDExMiwgMTgsIDE5LCA3MywgMjI5LCAxMDgsIDE4LCAxOSwgNzMsIDIyOCwgMjM4LCAxOCwgCi0gICAgMTksIDczLCAxOTgsIDE4LCAxOSwgNzMsIDIzMCwgMTA3LCAxOCwgMTksIDczLCAyMzAsIDE2NiwgMTgsIDE5LCA3MywgMjMxLCAKLSAgICA5NiwgMTgsIDE5LCA3MywgMjMxLCA4NSwgMTgsIDE5LCA3MywgMjMwLCAyMzUsIDE4LCAxOSwgNzMsIDE4NiwgMTgsIDE5LCAKLSAgICA3MywgMjEwLCAyMTIsIDE4LCAxOSwgNzMsIDIxMCwgMjQ0LCAxOCwgMTksIDczLCAyMTEsIDQ3LCAxOCwgMTksIDczLCAyMTEsIAotICAgIDQ0LCAxOCwgMTksIDczLCAyMTEsIDgsIDE4LCAxOSwgNzMsIDE5MiwgMTgsIDE5LCA3MywgMjM1LCA1NywgMTgsIDE5LCAKLSAgICAyMjEsIDIxMSwgMjM1LCA1NywgMTgsIDE5LCA3MywgMjM1LCA3NCwgMTgsIDE5LCA3MywgMjM1LCAxMzIsIDE4LCAxOSwgNzMsIAotICAgIDIzNSwgMTMwLCAxOCwgMTksIDczLCAyMzUsIDExNCwgMTgsIDE5LCAyMjEsIDIxMSwgMjM1LCAxMTQsIDE4LCAxOSwgNzMsIAotICAgIDIzNSwgMTQ3LCAxOCwgMTksIDczLCAyMzUsIDg3LCAxOCwgMTksIDczLCAyMzUsIDkxLCAxOCwgMTksIDczLCAyMzUsIDEwMSwgCi0gICAgMTgsIDE5LCA3MywgMjM1LCAxMDAsIDE4LCAxOSwgNzMsIDIzNSwgOTksIDE4LCAxOSwgNzMsIDIzNSwgMTAyLCAxOCwgMTksIAotICAgIDczLCAyMzIsIDEwMywgMTgsIDE5LCA3MywgMjMyLCAxNjIsIDE4LCAxOSwgNzMsIDIzMywgNjQsIDE4LCAxOSwgNzMsIDIzMywgCi0gICAgNTYsIDE4LCAxOSwgNzMsIDIzMiwgMjQ3LCAxOCwgMTksIDczLCAyMzMsIDE0MSwgMTgsIDE5LCA3MywgMjQ3LCAxNTcsIDE4LCAKLSAgICAxOSwgNzMsIDI0NywgMTU4LCAxOCwgMTksIDczLCAyNDcsIDE2MywgMTgsIDE5LCA3MywgMjQ3LCAxNjIsIDE4LCAxOSwgNzMsIAotICAgIDI0NywgMTU5LCAxOCwgMTksIDczLCAyNDcsIDE2NCwgMTgsIDE5LCA3MywgMjMyLCAyNTAsIDE4LCAxOSwgNzMsIDIzMiwgCi0gICAgMjUyLCAxOCwgMTksIDczLCAyMzMsIDAsIDE4LCAxOSwgNzMsIDIzMiwgMjU1LCAxOCwgMTksIDczLCAyMzIsIDI1NCwgMTgsIAotICAgIDE5LCA3MywgMjMzLCA0LCAxOCwgMTksIDczLCAyMTYsIDUxLCAxOCwgMTksIDczLCAyMTYsIDUzLCAxOCwgMTksIDczLCAKLSAgICAyMTYsIDU2LCAxOCwgMTksIDczLCAyMTYsIDU1LCAxOCwgMTksIDczLCAyMTYsIDU0LCAxOCwgMTksIDczLCAyMTYsIDU3LCAKLSAgICAxOCwgMTksIDczLCAyMTYsIDQ2LCAxOCwgMTksIDczLCAyMTYsIDQ3LCAxOCwgMTksIDczLCAyMTYsIDU5LCAxOCwgMTksIAotICAgIDczLCAyMTYsIDU4LCAxOCwgMTksIDczLCAyMTYsIDQ4LCAxOCwgMTksIDczLCAyMTYsIDYwLCAxOCwgMTksIDczLCAyMTAsIAotICAgIDEzLCAxOCwgMTksIDczLCAyMTAsIDIzLCAxOCwgMTksIDczLCAyMTAsIDk0LCAxOCwgMTksIDczLCAyMTAsIDkyLCAxOCwgCi0gICAgMTksIDczLCAyMTAsIDQ0LCAxOCwgMTksIDczLCAyMTAsIDExNiwgMTgsIDE5LCA3MywgMjEwLCAxNTksIDE4LCAxOSwgNzMsIAotICAgIDY1LCAyMTAsIDE1OSwgMTgsIDE5LCA3MywgMjQ2LCAzNiwgMTgsIDE5LCA3MywgMjQ2LCAzNywgMTgsIDE5LCA3MywgMjQ2LCAKLSAgICA0NCwgMTgsIDE5LCA3MywgMjQ2LCA0MywgMTgsIDE5LCA3MywgMjQ2LCAzOSwgMTgsIDE5LCA3MywgMjQ2LCA0NiwgMTgsIAotICAgIDE5LCA3MywgMjE4LCA4NCwgMTgsIDE5LCA3MywgMjE5LCA2MCwgMTgsIDE5LCA3MywgMjIxLCAxODMsIDE4LCAxOSwgNzMsIAotICAgIDIyMSwgMTcyLCAxOCwgMTksIDczLCAyMTksIDE5MywgMTgsIDE5LCA3MywgMjA2LCAxOCwgMTksIDczLCAyMTksIDIyNywgCi0gICAgMTgsIDE5LCA3MywgMjIwLCA5LCAxOCwgMTksIDczLCAyMjAsIDY1LCAxOCwgMTksIDczLCAyMjAsIDYzLCAxOCwgMTksIDczLCAKLSAgICAyMjAsIDM0LCAxOCwgMTksIDczLCAyMjAsIDEwNCwgMTgsIDE5LCA3MywgMjIwLCAxMDYsIDE4LCAxOSwgNzMsIDIxNSwgCi0gICAgMTY0LCAxOCwgMTksIDczLCAyMTUsIDE2NywgMTgsIDE5LCA3MywgMjE1LCAxNzksIDE4LCAxOSwgNzMsIDIxNSwgMTc4LCAKLSAgICAxOCwgMTksIDczLCAyMTUsIDE2OCwgMTgsIDE5LCA3MywgMjE1LCAxODQsIDE4LCAxOSwgNzMsIDI1MCwgNzcsIDE4LCAxOSwgCi0gICAgNzMsIDI1MCwgOTQsIDE4LCAxOSwgNzMsIDI1MCwgMTM5LCAxOCwgMTksIDczLCAyNTAsIDEzNiwgMTgsIDE5LCA3MywgMjUwLCAKLSAgICAxMTgsIDE4LCAxOSwgNzMsIDI1MCwgMTY1LCAxOCwgMTksIDczLCAyMTUsIDEyNywgMTgsIDE5LCA3MywgMjE1LCAxMjgsIAotICAgIDE4LCAxOSwgNzMsIDIxNSwgMTMxLCAxOCwgMTksIDczLCAyMTUsIDEzMCwgMTgsIDE5LCA3MywgMjE1LCAxMjksIDE4LCAxOSwgCi0gICAgNzMsIDIxNSwgMTMyLCAxOCwgMTksIDI1MCwgMTE5LCA1MCwgMTgsIDE5LCAyNDMsIDIzNiwgMjE4LCAxMzEsIDE4LCAxOSwgCi0gICAgMjI0LCA4MywgMTgsIDE5LCAyMjksIDc4LCAxOCwgMTksIDIyOCwgMTA1LCAxOCwgMTksIDIyOCwgMTA0LCAxOCwgMTksIAotICAgIDIyOCwgMTAzLCAxOCwgMTksIDIyOCwgMTAyLCAxOCwgMTksIDIyOCwgMTA3LCAxOCwgMTksIDIyOCwgMTA2LCAxOCwgMTksIAotICAgIDIxMSwgMjEzLCAyMTYsIDEyNiwgMTgsIDE5LCAyMTEsIDIxMywgMjE2LCAxMjUsIDE4LCAxOSwgMjExLCAyMTMsIDIxNiwgCi0gICAgMTI0LCAxOCwgMTksIDIxMSwgMjEzLCAyMTYsIDEyMywgMTgsIDE5LCAyMTEsIDIxMywgMjE2LCAxMjIsIDE4LCAxOSwgMjExLCAKLSAgICAyMTMsIDIxNiwgMTI5LCAxOCwgMTksIDIxMSwgMjEzLCAyMTYsIDEyOCwgMTgsIDE5LCAyMTEsIDIxMywgNDAsIDIxNiwgCi0gICAgMjExLCAxOCwgMTksIDI1MSwgMjI2LCAyMTIsIDk4LCAyMjYsIDIzMCwgMjE5LCAyMSwgNzksIDIyNiwgMjMwLCAxLCAyNTIsIAotICAgIDU2LCAyMjYsIDIzMCwgMSwgMjMyLCA5MiwgMjI2LCAyMzAsIDEsIDI0NCwgMTU5LCAyMjYsIDIzMCwgMSwgMjIyLCAxNywgCi0gICAgMjI2LCAyMzAsIDEsIDIyOCwgMTk4LCAyMjYsIDIzMCwgMSwgMjE0LCAyMjYsIDIyNiwgMjMwLCAxLCAyNDgsIDIwNSwgMjI2LCAKLSAgICAyMzAsIDEsIDIxNiwgODEsIDIyNiwgMjMwLCAxLCAyNDksIDIzNywgMjI2LCAyMzAsIDEsIDI1MCwgMTg4LCAyMjYsIDIzMCwgCi0gICAgMSwgMjMwLCA5NiwgMjI2LCAyMzAsIDEsIDI0MiwgMTYzLCAyMjYsIDIzMCwgMSwgMjI5LCA2OCwgMjI2LCAyMzAsIDEsIAotICAgIDIxOCwgMTI0LCAyMjYsIDIzMCwgMSwgMjIyLCAxMzcsIDIyNiwgMjMwLCAxLCAyNTQsIDIwNywgMjI2LCAyMzAsIDEsIDIyNiwgCi0gICAgMTkxLCAyMjYsIDIzMCwgMSwgMjE0LCAxNTAsIDIyNiwgMjMwLCAxLCAyNDUsIDIzOSwgMjI2LCAyMzAsIDEsIDIzNSwgMTk1LCAKLSAgICAyMjYsIDIzMCwgMSwgMjQ1LCAyNDAsIDIyNiwgMjMwLCAxLCAyMjYsIDE2MiwgMjI2LCAyMzAsIDEsIDIxNCwgMjA2LCAyMjYsIAotICAgIDIzMCwgMSwgMjM2LCA0NiwgMjI2LCAyMzAsIDEsIDI0NSwgMjM3LCAyMjYsIDIzMCwgMSwgMjI1LCAyMDUsIDIyNiwgMjMwLCAKLSAgICAyNDQsIDE1OCwgNzksIDIyNiwgMjMwLCAyMjMsIDUyLCAyNDQsIDE1OCwgNzksIDE3OCwgMSwgMjQ0LCAxNDksIDI0NCwgCi0gICAgMTQxLCAyNDQsIDE2MywgMjQ1LCAxNCwgMTc4LCAxLCAyMTQsIDEwNSwgMTc4LCAxLCAyMTQsIDEzNSwgMjE0LCAxNTEsIDY5LCAKLSAgICAxNzgsIDEsIDIxMCwgMjE0LCAxNzgsIDEsIDIxMSwgMTE3LCAxNzgsIDEsIDIxMiwgOTgsIDE3OCwgMSwgMjE2LCAxMzEsIAotICAgIDIxNiwgMTMwLCAyMTYsIDE1MiwgMTc4LCAxLCAyNDUsIDY3LCAxNzgsIDEsIDI1NCwgMTAxLCA2MSwgMTc4LCAxLCAyMjYsIAotICAgIDE0NywgNzgsIDE3OCwgMSwgMjU1LCAyNiwgNjEsIDE3OCwgMSwgMjU0LCAyMzYsIDE3OCwgMSwgMjMyLCAxMzksIDc4LCAKLSAgICAxNzgsIDEsIDIxOSwgMjQ2LCA3OCwgMTc4LCAxLCA3OCwgMTc4LCAxLCAyMjYsIDIzOCwgMTc4LCAxLCAyMjYsIDIwMCwgCi0gICAgMTc4LCAxLCAyMjMsIDE2NywgMjIzLCAxODAsIDIyMywgOTcsIDE1MywgMTc4LCAxLCAyMzQsIDE5OSwgMTc4LCAxLCAyNTAsIAotICAgIDE4NSwgMTc4LCAxLCAyMzQsIDIwMCwgMjM1LCAyOSwgMTc4LCAxLCAyNDMsIDIwOSwgMTc4LCAxLCAyNDUsIDE0NiwgMTc4LCAKLSAgICAxLCAyNDMsIDY1LCAyNDIsIDczLCAyNDMsIDIwOSwgMTc4LCAxLCAyNDMsIDEwMywgMTc4LCAxLCAyMTEsIDE4OCwgMjExLCAKLSAgICAxODIsIDIxMiwgOTgsIDE3OCwgMSwgMjQyLCA0NSwgMjQyLCA2NywgMTc4LCAxLCAyNDIsIDQ5LCAyNDIsIDY3LCAxNzgsIDEsIAotICAgIDIzMiwgMTQxLCAyNDIsIDY3LCAxNzgsIDEsIDIxOSwgMjQ5LCAyNDIsIDY3LCAxNzgsIDEsIDIyOSwgMTkwLCAyMjcsIDE2MSwgCi0gICAgMjI5LCAxOTEsIDIzMCwgMzAsIDE3OCwgMSwgMjE5LCAyNDcsIDIzMCwgMzAsIDE3OCwgMSwgMjQ2LCAxMjMsIDE3OCwgMSwgCi0gICAgMjM1LCAxNzUsIDIzNSwgMTc5LCAyMzUsIDE2OCwgNzQsIDE3OCwgMSwgNzYsIDE3OCwgMSwgMjM1LCAxMjMsIDIzNSwgMTUwLCAKLSAgICAxNzgsIDEsIDI0MywgNTAsIDE3OCwgMSwgMjMyLCAxNDIsIDI1NCwgMjUyLCAxNzgsIDEsIDIxOSwgMjUxLCA2MSwgMTc4LCAKLSAgICAxLCAyMzUsIDE2MCwgMjQ1LCAxMjEsIDE3OCwgMSwgMjI1LCAxNjcsIDIyNSwgMTg5LCAyMjYsIDEwOSwgMTc4LCAxLCAyNTQsIAotICAgIDE3MiwgMjQ1LCAxMTksIDE3OCwgMSwgMjE5LCAyNiwgMjIyLCA5MywgMTc4LCAxLCAyMTksIDE4MSwgMjMyLCAxMzgsIDIyMiwgCi0gICAgOTMsIDE3OCwgMSwgMjE5LCAyNDUsIDIyMiwgOTMsIDE3OCwgMSwgMjUxLCA3NCwgMTc4LCAxLCAyMTAsIDE1OSwgMTc4LCAxLCAKLSAgICAyMTYsIDY0LCAyMTYsIDc0LCAyMTUsIDQxLCAyMTcsIDE1MywgMTc4LCAxLCAyMTksIDI0NCwgMjE3LCAxNTMsIDE3OCwgMSwgCi0gICAgMjQ5LCA2OCwgMTc4LCAxLCAyNTIsIDM5LCAyNTIsIDQyLCAyNTEsIDIzMiwgMjUzLCAxNjYsIDE3OCwgMSwgMjE5LCAyNTAsIAotICAgIDI1MywgMTY2LCAxNzgsIDEsIDI0NiwgMTIyLCAxNzgsIDEsIDIyNiwgMTc1LCAxNzgsIDEsIDI0NSwgMjA0LCAyNDUsIDIwNiwgCi0gICAgNzYsIDE3OCwgMSwgMjMxLCAxODMsIDIzMSwgMTkxLCAxOTQsIDE3OCwgMSwgMjMyLCAxNDAsIDE5NCwgMTc4LCAxLCAyMTksIAotICAgIDI0OCwgMTk0LCAxNzgsIDEsIDIzMywgNzksIDIzMywgMTIwLCAyMzIsIDE0OSwgMTU2LCAxNzgsIDEsIDI0NiwgMTI0LCAKLSAgICAxNzgsIDEsIDIzNSwgMjM3LCAxNzgsIDEsIDIzNSwgMjM4LCAxNzgsIDEsIDI0OCwgMjE4LCAyNDgsIDIyMywgMjQ5LCA2OCwgCi0gICAgMTc4LCAxLCAyMjYsIDE0MiwgMjQ1LCA2NiwgNzgsIDE3OCwgMSwgMjQ1LCAyMzUsIDE3OCwgMSwgMjM1LCAxOTQsIDE3OCwgCi0gICAgMSwgMjQ5LCA4NiwgMTc4LCAxLCAyNTEsIDI1LCAxNzgsIDEsIDI1MCwgMTk3LCAxNzgsIDEsIDIxOCwgMTYzLCAxNzgsIDEsIAotICAgIDIzMiwgMTM3LCAxNzgsIDEsIDIxOSwgMjQzLCAxNzgsIDEsIDI0MCwgMTE3LCAxNzgsIDEsIDIyNCwgOTksIDE3OCwgMSwgCi0gICAgMjExLCAxNzgsIDE3OCwgMjE5LCAxNTcsIDIyNCwgMTQzLCAxNzgsIDIzMCwgOTAsIDIyNCwgMTQzLCAxNzgsIDI0OSwgMTM5LCAKLSAgICAyMjQsIDE0MywgMTc4LCAyNTQsIDE0LCA4NywgMTc4LCAyMTUsIDgyLCA4NywgMTc4LCAyNTIsIDU0LCA4NywgMjE3LCA4NCwgCi0gICAgMSwgNjEsIDIxNywgODQsIDEsIDc0LCAyMTcsIDg0LCAxLCA2OSwgMjE3LCA4NCwgMSwgMTc2LCAyMTcsIDg0LCAxLCAyNDMsIAotICAgIDE0MiwgMjE3LCA4NCwgMSwgMjI5LCA4MiwgMjE3LCA4NCwgMSwgMjE3LCAxMDYsIDIxNywgODQsIDEsIDI0OCwgMjI5LCAKLSAgICAyMTcsIDg0LCAxLCAxOTgsIDIxNywgODQsIDEsIDE5MSwgMjE3LCA4NCwgMSwgMjUyLCAxOTksIDIxNywgODQsIDEsIDE4NiwgCi0gICAgMjE3LCA4NCwgMSwgMTkyLCAyMTcsIDg0LCAxLCAyMzMsIDE0MSwgMjE3LCA4NCwgMSwgMjEyLCA2NSwgMjE3LCA4NCwgMSwgCi0gICAgMjA2LCAyMTcsIDg0LCAxLCAxNjIsIDIxNywgODQsIDI1LCA1LCA3NCwgMjE3LCA4NCwgMjUsIDUsIDY5LCAyMTcsIDg0LCA1LCAKLSAgICAyMTMsIDE1MiwgMjQyLCAxNCwgMSwgNjEsIDI0MiwgMTQsIDEsIDc0LCAyNDIsIDE0LCAxLCA2OSwgMjQyLCAxNCwgMSwgCi0gICAgMTc2LCAyNDIsIDE0LCAxLCAyNDMsIDE0MiwgMjQyLCAxNCwgMSwgMjI5LCA4MiwgMjQyLCAxNCwgMSwgMjE3LCAxMDYsIAotICAgIDI0MiwgMTQsIDEsIDI0OCwgMjI5LCAyNDIsIDE0LCAxLCAxOTgsIDI0MiwgMTQsIDEsIDE5MSwgMjQyLCAxNCwgMSwgMjUyLCAKLSAgICAxOTksIDI0MiwgMTQsIDEsIDE4NiwgMjQyLCAxNCwgMSwgMTkyLCAyNDIsIDE0LCAxLCAyMDUsIDI0MiwgMTQsIDEsIDIzMywgCi0gICAgMTQxLCAyNDIsIDE0LCAxLCAyMTIsIDY1LCAyNDIsIDE0LCAxLCAyMDYsIDI0MiwgMTQsIDEsIDE2MiwgMjQyLCAxNCwgMjUsIAotICAgIDUsIDc0LCAyNDIsIDE0LCAyNSwgNSwgNjksIDI0MiwgMTQsIDUsIDIyNiwgNTMsIDIyNSwgMTI5LCAyMTksIDE1NywgMjI0LCAKLSAgICAxNDMsIDIyNSwgMTI5LCA1MiwgMjI0LCAxNDMsIDI1MSwgMTI4LCAxLCA2MSwgMjUxLCAxMjgsIDEsIDc0LCAyNTEsIDEyOCwgCi0gICAgMSwgNjksIDI1MSwgMTI4LCAxLCAxNzYsIDI1MSwgMTI4LCAxLCAyNDMsIDE0MiwgMjUxLCAxMjgsIDEsIDIyOSwgODIsIAotICAgIDI1MSwgMTI4LCAxLCAyMTcsIDEwNiwgMjUxLCAxMjgsIDEsIDI0OCwgMjI5LCAyNTEsIDEyOCwgMSwgMTk4LCAyNTEsIDEyOCwgCi0gICAgMSwgMTkxLCAyNTEsIDEyOCwgMSwgMjUyLCAxOTksIDI1MSwgMTI4LCAxLCAxODYsIDI1MSwgMTI4LCAxLCAxOTIsIDI1MSwgCi0gICAgMTI4LCAxLCAyMDUsIDI1MSwgMTI4LCAxLCAyMzMsIDE0MSwgMjUxLCAxMjgsIDEsIDIxMiwgNjUsIDI1MSwgMTI4LCAxLCAKLSAgICAyMDYsIDI1MSwgMTI4LCAxLCAxNjIsIDI1MSwgMTI4LCAyNSwgNSwgNzQsIDI1MSwgMTI4LCAyNSwgNSwgNjksIDIxNywgODMsIAotICAgIDEsIDYxLCAyMTcsIDgzLCAxLCA3NCwgMjE3LCA4MywgMSwgNjksIDIxNywgODMsIDEsIDE3NiwgMjE3LCA4MywgMSwgMjQzLCAKLSAgICAxNDIsIDIxNywgODMsIDEsIDIyOSwgODIsIDIxNywgODMsIDEsIDIxNywgMTA2LCAyMTcsIDgzLCAxLCAyNDgsIDIyOSwgCi0gICAgMjE3LCA4MywgMSwgMTk4LCAyMTcsIDgzLCAxLCAxOTEsIDIxNywgODMsIDEsIDI1MiwgMTk5LCAyMTcsIDgzLCAxLCAxODYsIAotICAgIDIxNywgODMsIDEsIDE5MiwgMjE3LCA4MywgMSwgMjMzLCAxNDEsIDIxNywgODMsIDEsIDIxMiwgNjUsIDIxNywgODMsIDEsIAotICAgIDIwNiwgMjE3LCA4MywgMjUsIDUsIDc0LCAyMTcsIDgzLCAyNSwgNSwgNjksIDcwLCAxLCAxNzYsIDcwLCAxLCAyMzQsIDEzOCwgCi0gICAgNzAsIDEsIDIzNCwgMzQsIDcwLCAxLCAyMzQsIDExMSwgNzAsIDEsIDIyOSwgOSwgNzAsIDEsIDI1MSwgNDEsIDcwLCAxLCAKLSAgICAyNTAsIDE2NSwgNzAsIDEsIDI0OSwgMjQ2LCA3MCwgMSwgMjUwLCA5NCwgNzAsIDEsIDIyNywgMTM4LCA3MCwgMSwgMjQ4LCAKLSAgICAyMjksIDcwLCAxLCAyMTUsIDE0NSwgNzAsIDEsIDI0NywgMTUzLCA3MCwgMSwgMjE1LCAxNDAsIDcwLCAxLCAyMjgsIDg1LCAKLSAgICA3MCwgMSwgMjE3LCAxMDYsIDcwLCAxLCAyMTYsIDIwOSwgNzAsIDEsIDExMiwgNzAsIDEsIDIxNiwgMTU3LCA3MCwgMSwgCi0gICAgMjI4LCA3OSwgNzAsIDEsIDI1MiwgMTk5LCA3MCwgMSwgMjI1LCAxNTAsIDcwLCAxLCAyMjUsIDE5LCA3MCwgMSwgMjI1LCAKLSAgICAxMjQsIDcwLCAxLCAyMzAsIDE2NiwgNzAsIDEsIDIxMCwgMjQ0LCA3MCwgMSwgMjIyLCAyMTMsIDcwLCAxLCAyMzIsIDE2MiwgCi0gICAgNzAsIDEsIDIxMywgMTM4LCA3MCwgMSwgMjIwLCAxMDQsIDcwLCAxLCAyMTgsIDE4NiwgNzAsIDEsIDIwNiwgNzAsIDEsIAotICAgIDE2MiwgNzAsIDEsIDIzMywgMTQxLCA3MCwgMSwgMjI0LCA5MSwgNzAsIDIzNSwgMjUwLCAyNSwgMjI0LCA3NywgNzAsIDIzNSwgCi0gICAgMjUwLCAyNSwgMjI0LCA5MCwgNzAsIDIzNSwgMjUwLCAyNSwgMjI0LCA1NiwgNzAsIDIzNSwgMjUwLCAyNSwgMjI0LCA1MSwgCi0gICAgNzAsIDIzNSwgMjUwLCAyNSwgMjI0LCAzMywgNzAsIDIzNSwgMjUwLCAyNSwgMjI0LCA1LCA3MCwgMjM1LCAyNTAsIDI1LCAKLSAgICAyMjMsIDI0OSwgNzAsIDIzNSwgMjUwLCAyNSwgMjIzLCAyNDgsIDcwLCAyMzUsIDI1MCwgMjUsIDIyMiwgMTAyLCA3MCwgCi0gICAgMjM1LCAyNTAsIDI1LCAyMjIsIDk1LCA3MCwgMjM1LCAyNTAsIDI1LCAyMzIsIDY3LCA3MCwgMjM1LCAyNTAsIDI1LCAyMzIsIAotICAgIDU3LCA3MCwgMjM1LCAyNTAsIDI1LCAyMjQsIDcyLCA3MCwgMjM1LCAyNTAsIDI1LCAyMjQsIDgzLCA3MCwgMjM1LCAyNTAsIAotICAgIDI1LCAyMjQsIDQxLCAyMTUsIDQ5LCAxMTEsIDcwLCAyMzUsIDI1MCwgMjUsIDIyNCwgNDEsIDIxNSwgNDksIDEwNSwgNzAsIAotICAgIDIzNSwgMjUwLCAyNSwgMjI0LCA3MywgNzAsIDI1LCAyMzUsIDIzNiwgMjU0LCA1MywgNzAsIDI1LCAyMzUsIDIzNiwgMjU1LCAKLSAgICA4MiwgNzAsIDI1LCA1LCAyNTUsIDgyLCA3MCwgMjUsIDUsIDc0LCA3MCwgMjUsIDUsIDIzNiwgNDAsIDcwLCAyNSwgNSwgCi0gICAgMjExLCAxMTcsIDcwLCAyNSwgNSwgMjEwLCAxNjksIDcwLCAyNSwgNSwgNjksIDcwLCAyNSwgNSwgMjE0LCAxMTgsIDcwLCAKLSAgICAyNSwgNSwgMjE0LCAyMjksIDcwLCAyNSwgNSwgMjI2LCAyMzgsIDcwLCAyNSwgNSwgMTkyLCA3MCwgMjUsIDUsIDIzNiwgNjcsIAotICAgIDcwLCAyNSwgNSwgNzYsIDcwLCAyNSwgNSwgMjU0LCAyNTIsIDcwLCAyNSwgNSwgMjU0LCAyMTAsIDcwLCAyNSwgNSwgMjI2LCAKLSAgICAxODcsIDcwLCAyNSwgNSwgMjUzLCAyMDAsIDcwLCA1LCAyMjgsIDIxMSwgNzAsIDUsIDIyMywgMTI5LCA3MCwgNSwgMjEwLCAKLSAgICAxODAsIDcwLCA1LCAyMzAsIDU3LCA3MCwgNSwgMjE1LCAyMTQsIDcwLCA1LCAyNTIsIDE1MSwgNzAsIDUsIDIyMiwgMjA4LCAKLSAgICA3MCwgNSwgMjE2LCA0MSwgNzAsIDUsIDIzNCwgMjQ3LCA3MCwgNSwgMjU0LCAyMTIsIDcwLCA1LCAyMjEsIDI0NiwgMjIxLCAKLSAgICAyNDAsIDcwLCA1LCAyMTMsIDE0OSwgNzAsIDUsIDI0OSwgMjQwLCA3MCwgNSwgMjUyLCAxMjUsIDcwLCA1LCAyMzQsIDEzMSwgCi0gICAgNzAsIDUsIDI1MiwgMTQ1LCA3MCwgNSwgMjUxLCAxNywgMjI1LCA3NSwgMjMzLCAxOTMsIDcwLCA1LCAyMzMsIDM2LCAyMTYsIAotICAgIDE4LCA3MCwgNSwgMjUyLCAyOCwgNzAsIDUsIDIyNSwgMTI2LCAyMzAsIDEwNCwgNzAsIDUsIDIzNCwgMTUsIDcwLCAyNDksIAotICAgIDEwNiwgMTYsIDIyMywgMzEsIDcwLCA1LCAyNTMsIDE4MiwgNzAsIDUsIDI1MywgMjAzLCA3MCwgMjEsIDIxMCwgODYsIDcwLCAKLSAgICAyMSwgMTExLCA3MCwgMjEsIDEwNSwgNzAsIDIxLCAxNTgsIDcwLCAyMSwgMTYxLCA3MCwgMjEsIDE5MCwgNzAsIDIxLCAxOTUsIAotICAgIDcwLCAyMSwgMTk5LCA3MCwgMjEsIDE5NiwgNzAsIDIxLCAyMDEsIDcwLCAxNiwgMjMzLCAzNiwgMjUzLCAyMDUsIDIxOSwgCi0gICAgNDUsIDcwLCAxNiwgMjMzLCAzNiwgMjUzLCAyMDUsIDIzMCwgNzYsIDcwLCAxNiwgMjMzLCAzNiwgMjUzLCAyMDUsIDIyNSwgCi0gICAgNzQsIDcwLCAxNiwgMjMzLCAzNiwgMjUzLCAyMDUsIDI1MiwgNTcsIDcwLCAxNiwgMjMzLCAzNiwgMjUzLCAyMDUsIDI1MSwgCi0gICAgMTExLCA3MCwgMTYsIDIzMywgMzYsIDI1MywgMjA1LCAyMjQsIDIxOCwgNzAsIDE2LCAyMzMsIDM2LCAyNTMsIDIwNSwgMjI0LCAKLSAgICAyMTIsIDcwLCAxNiwgMjMzLCAzNiwgMjUzLCAyMDUsIDIyNCwgMjEwLCA3MCwgMTYsIDIzMywgMzYsIDI1MywgMjA1LCAyMjQsIAotICAgIDIxNiwgNzAsIDE2LCAyMzMsIDM2LCAyNTMsIDIwNSwgMjI0LCAyMTQsIDgzLCAyNTEsIDI0NCwgODMsIDI0NSwgMTcxLCA4MywgCi0gICAgMjQ5LCAyMjcsIDgzLCAyNDMsIDIzNiwgMjE4LCAxMzEsIDgzLCAyNDksIDIzNCwgODMsIDI0NCwgMTksIDI0NywgMTI2LCAKLSAgICA4MywgMjE2LCA0MCwgMjE5LCA1NCwgMjQwLCAxNzUsIDgzLCAyMTksIDE5MiwgMywgMjUxLCAxODAsIDIzMSwgMTU5LCA4MywgCi0gICAgMjMxLCAxODgsIDI0OSwgMjI3LCA4MywgMjMxLCAxODgsIDI0MywgMjM2LCAyMTgsIDEzMSwgODMsIDIyOCwgMTk2LCA4MywgCi0gICAgMjQ0LCA1LCA0NSwgMjIxLCAxNTksIDExMSwgODMsIDI0NCwgNSwgNDUsIDIyMSwgMTU5LCAxMDUsIDgzLCAyNDQsIDUsIDQ1LCAKLSAgICAyMjEsIDE1OSwgMTU4LCA4MywgMjUsIDIyMCwgMTM5LCA4MywgMjEsIDIxMCwgODYsIDgzLCAyMSwgMTExLCA4MywgMjEsIAotICAgIDEwNSwgODMsIDIxLCAxNTgsIDgzLCAyMSwgMTYxLCA4MywgMjEsIDE5MCwgODMsIDIxLCAxOTUsIDgzLCAyMSwgMTk5LCA4MywgCi0gICAgMjEsIDE5NiwgODMsIDIxLCAyMDEsIDgzLCAxLCA2MSwgODMsIDEsIDc2LCA4MywgMSwgNzQsIDgzLCAxLCA3OCwgODMsIDEsIAotICAgIDY5LCA4MywgMSwgMjI2LCAyMzgsIDgzLCAxLCAyMTQsIDIxNCwgODMsIDEsIDI0NSwgMjE3LCA4MywgMSwgMTk4LCA4MywgMSwgCi0gICAgMjU0LCAxMjMsIDgzLCAxLCAyNTIsIDE5OSwgODMsIDEsIDE5MSwgODMsIDEsIDIyNCwgOTEsIDgzLCAxLCAyNDMsIDE0MiwgCi0gICAgODMsIDEsIDE4NiwgODMsIDEsIDIzMywgMTQxLCA4MywgMSwgMjA2LCA4MywgMSwgMjIwLCAxMDQsIDgzLCAxLCAyMTcsIAotICAgIDEwNiwgODMsIDEsIDI0OCwgMjI5LCA4MywgMSwgMjUwLCAxNjUsIDgzLCAxLCAyMzUsIDE0NywgODMsIDEsIDE5MiwgODMsIAotICAgIDEsIDIwNSwgODMsIDEsIDIxMiwgNjUsIDgzLCAxLCAyNDQsIDIwNCwgODMsIDEsIDE3NiwgODMsIDEsIDIzNCwgMTM4LCA4MywgCi0gICAgMSwgMjE1LCAxODQsIDgzLCAxLCAyMTAsIDExNiwgODMsIDEsIDI0MiwgNTMsIDgzLCAxLCAyMTAsIDE2LCA4MywgMSwgMjMzLCAKLSAgICA0LCA4MywgMSwgMjEwLCA2OSwgODMsIDEsIDI1MCwgMTE4LCA4MywgMSwgMjE2LCA0MCwgMjAwLCAyNSwgNTAsIDgzLCAxLCAKLSAgICAyMTYsIDQwLCA3NiwgODMsIDEsIDIxNiwgNDAsIDc0LCA4MywgMSwgMjE2LCA0MCwgNzgsIDgzLCAxLCAyMTYsIDQwLCA2OSwgCi0gICAgODMsIDEsIDIxNiwgNDAsIDIyNiwgMjM4LCA4MywgMSwgMjE2LCA0MCwgMjE0LCAyMTQsIDgzLCAxLCAyMTYsIDQwLCAyNTQsIAotICAgIDEyMywgODMsIDEsIDIxNiwgNDAsIDI1MiwgMTk5LCA4MywgMSwgMjE2LCA0MCwgMTkxLCA4MywgMSwgMjE2LCA0MCwgMjI0LCAKLSAgICA5MSwgODMsIDEsIDIxNiwgNDAsIDI0MywgMTQyLCA4MywgMSwgMjE2LCA0MCwgMTg2LCA4MywgMSwgMjE2LCA0MCwgMjE3LCAKLSAgICAxMDYsIDgzLCAxLCAyMTYsIDQwLCAyNDgsIDIyOSwgODMsIDEsIDIxNiwgNDAsIDI1MCwgMTY1LCA4MywgMSwgMjE2LCA0MCwgCi0gICAgMjM1LCAxNDcsIDgzLCAxLCAyMTYsIDQwLCAyMTUsIDE4NCwgODMsIDEsIDIxNiwgNDAsIDE5MiwgODMsIDEsIDIxNiwgNDAsIAotICAgIDIxMiwgNjUsIDgzLCAxLCAyMTYsIDQwLCAxNzYsIDgzLCAxLCAyMTYsIDQwLCAyNDMsIDEzOSwgODMsIDEsIDIxNiwgNDAsIAotICAgIDI0MiwgNTMsIDgzLCAxLCAyMTYsIDQwLCAyMzUsIDExMywgODMsIDEsIDIxNiwgNDAsIDIyOCwgMjM2LCA4MywgMSwgMjE2LCAKLSAgICA0MCwgMjQ2LCA0NiwgODMsIDEsIDIxOSwgMTkyLCA3NiwgODMsIDEsIDIxOSwgMTkyLCA3NCwgODMsIDEsIDIxOSwgMTkyLCAKLSAgICAyMzUsIDE1OCwgODMsIDEsIDIxOSwgMTkyLCAyMTQsIDIxNCwgODMsIDEsIDIxOSwgMTkyLCA2OSwgODMsIDEsIDIxOSwgCi0gICAgMTkyLCAyNTQsIDEyMywgODMsIDEsIDIxOSwgMTkyLCAxNzYsIDgzLCAxLCAyMTksIDE5MiwgMjQzLCAxNDIsIDgzLCAxLCAKLSAgICAyMTksIDE5MiwgMTYyLCA4MywgMSwgMjE5LCAxOTIsIDE5MSwgODMsIDEsIDIxOSwgMTkyLCAyMjAsIDEwNCwgODMsIDEsIAotICAgIDIxOSwgMTkyLCAyMTcsIDEwNiwgODMsIDEsIDIxOSwgMTkyLCAyNDgsIDIyOSwgODMsIDEsIDIxOSwgMTkyLCAyMzUsIDE0NywgCi0gICAgODMsIDEsIDIxOSwgMTkyLCAyNDQsIDIwNCwgODMsIDEsIDIxOSwgMTkyLCAyNDMsIDEzOSwgODMsIDEsIDIxOSwgMTkyLCAKLSAgICAyNDIsIDUzLCA4MywgMSwgMjE5LCAxOTIsIDIxNSwgMTg0LCA4MywgMSwgMjE5LCAxOTIsIDIxMCwgMTE2LCA4MywgMSwgCi0gICAgMjE5LCAxOTIsIDIyMywgMTg3LCA4MywgMSwgMjE5LCAxOTIsIDI1MCwgMTY1LCA4MywgMSwgMjE5LCAxOTIsIDIxMCwgODIsIAotICAgIDgzLCAxLCAyMzEsIDE4OCwgNzQsIDgzLCAxLCAyMzEsIDE4OCwgMTc2LCA4MywgMSwgMjMxLCAxODgsIDIwNSwgODMsIDEsIAotICAgIDIzMSwgMTg4LCAyNDQsIDIwNCwgODMsIDEsIDIzMSwgMTg4LCAyMTAsIDgyLCA4MywgMSwgMjU0LCAxNzEsIDI0MywgMTIzLCAKLSAgICAyNTQsIDg0LCAxMTEsIDgzLCAxLCAyNTQsIDE3MSwgMjQzLCAxMjMsIDIxMywgMTQ4LCAxMTEsIDgzLCAxLCAyNTQsIDE3MSwgCi0gICAgMjQzLCAxMjMsIDI0OCwgMTk0LCA4MywgMSwgMjU0LCAxNzEsIDI0MywgMTIzLCAyMTQsIDIyNCwgODMsIDEsIDI1NCwgMTcxLCAKLSAgICAyNDMsIDEyMywgMjM1LCAyMDAsIDIxNCwgMjI0LCA4MywgMSwgMjU0LCAxNzEsIDI0MywgMTIzLCAyNTIsIDE2MywgODMsIDEsIAotICAgIDI1NCwgMTcxLCAyNDMsIDEyMywgMTM0LCAyNTIsIDE2MywgODMsIDEsIDI1NCwgMTcxLCAyNDMsIDEyMywgNjEsIDgzLCAxLCAKLSAgICAyNTQsIDE3MSwgMjQzLCAxMjMsIDc0LCA4MywgMSwgMjU0LCAxNzEsIDI0MywgMTIzLCAxNzYsIDgzLCAxLCAyNTQsIDE3MSwgCi0gICAgMjQzLCAxMjMsIDIyOSwgODIsIDgzLCAxLCAyNTQsIDE3MSwgMjQzLCAxMjMsIDI1MSwgNDEsIDgzLCAxLCAyNTQsIDE3MSwgCi0gICAgMjQzLCAxMjMsIDIxNSwgMTU3LCA4MywgMSwgMjU0LCAxNzEsIDI0MywgMTIzLCAyMTUsIDE0NSwgODMsIDEsIDI1NCwgMTcxLCAKLSAgICAyNDMsIDEyMywgMjQ4LCAxNDMsIDgzLCAxLCAyNTQsIDE3MSwgMjQzLCAxMjMsIDIyOCwgMTE1LCA4MywgMSwgMjU0LCAxNzEsIAotICAgIDI0MywgMTIzLCAyMTcsIDEwNiwgODMsIDEsIDI1NCwgMTcxLCAyNDMsIDEyMywgMjQ4LCAyMjksIDgzLCAxLCAyNTQsIDE3MSwgCi0gICAgMjQzLCAxMjMsIDE5MSwgODMsIDEsIDI1NCwgMTcxLCAyNDMsIDEyMywgMjI1LCAxNTAsIDgzLCAxLCAyNTQsIDE3MSwgMjQzLCAKLSAgICAxMjMsIDIxOCwgMjI1LCA4MywgMSwgMjU0LCAxNzEsIDI0MywgMTIzLCAyMTAsIDgyLCA4MywgMSwgMjU0LCAxNzEsIDI0MywgCi0gICAgMTIzLCAyMTAsIDExNiwgODMsIDEsIDI1NCwgMTcxLCAyNDMsIDEyMywgMjU0LCAyMTgsIDgzLCAxLCAyMTYsIDQwLCAyNTQsIAotICAgIDE3MSwgMjQzLCAxMjMsIDIxNywgMTA2LCA4MywgMSwgMjE2LCA0MCwgMjU0LCAxNzEsIDI0MywgMTIzLCAyMTAsIDgyLCA4MywgCi0gICAgMSwgMjMxLCAxODgsIDI1NCwgMTcxLCAyNDMsIDEyMywgMjQzLCAwLCA4MywgMSwgMjMxLCAxODgsIDI1NCwgMTcxLCAyNDMsIAotICAgIDEyMywgMjI5LCA4MiwgODMsIDEsIDIzMSwgMTg4LCAyNTQsIDE3MSwgMjQzLCAxMjMsIDI1MSwgNDEsIDgzLCAxLCAyMzEsIAotICAgIDE4OCwgMjU0LCAxNzEsIDI0MywgMTIzLCAyMzUsIDEyMCwgODMsIDEsIDIzMSwgMTg4LCAyNTQsIDE3MSwgMjQzLCAxMjMsIAotICAgIDIxNSwgMTU3LCA4MywgMSwgMjMxLCAxODgsIDI1NCwgMTcxLCAyNDMsIDEyMywgMjQ4LCAxMjcsIDgzLCAxLCAyMzEsIDE4OCwgCi0gICAgMjU0LCAxNzEsIDI0MywgMTIzLCAyMTcsIDEwNiwgODMsIDEsIDIzMSwgMTg4LCAyNTQsIDE3MSwgMjQzLCAxMjMsIDI0OCwgCi0gICAgMzMsIDgzLCAxLCAyMzEsIDE4OCwgMjU0LCAxNzEsIDI0MywgMTIzLCAyMTgsIDIyNSwgODMsIDEsIDIzMSwgMTg4LCAyNTQsIAotICAgIDE3MSwgMjQzLCAxMjMsIDI0OSwgODAsIDgzLCAxLCAyMzEsIDE4OCwgMjU0LCAxNzEsIDI0MywgMTIzLCAyMTAsIDgyLCA4MywgCi0gICAgMSwgMjMxLCAxODgsIDI1NCwgMTcxLCAyNDMsIDEyMywgMjEwLCAxMTYsIDgzLCAxLCAyNTQsIDE3MSwgMjQzLCAxMjMsIAotICAgIDE2MywgNjksIDgzLCAxLCAyNTQsIDE3MSwgMjQzLCAxMjMsIDE2MywgMTkyLCA4MywgMSwgMjMxLCAxODgsIDI1NCwgMTcxLCAKLSAgICAyNDMsIDEyMywgMjUyLCAyNiwgODMsIDEsIDI1NCwgMTcxLCAyNDMsIDEyMywgMjQ4LCAyMTksIDgzLCAxLCAyMzEsIDE4OCwgCi0gICAgMjU0LCAxNzEsIDI0MywgMTIzLCAyMzMsIDQsIDE4LCAxOSwgMjI2LCAxMTMsIDE4LCAxOSwgMjUzLCAxNzUsIDE4LCAxOSwgCi0gICAgMjU1LCAzNywgMTgsIDE5LCAyMTIsIDI1LCAxOCwgMTksIDIyNCwgMjI0LCAxOCwgMTksIDIyNSwgMjMzLCAxOCwgMTksIAotICAgIDIyNCwgMTA4LCAxOCwgMTksIDIxNywgMzIsIDE4LCAxOSwgMjM0LCAxOTUsIDE4LCAxOSwgMjMzLCAxODUsIDE4LCAxOSwgCi0gICAgMjMxLCAxMzcsIDE4LCAxOSwgMjI4LCA0MiwgMTgsIDE5LCAyMjksIDE4NiwgMTgsIDE5LCAyMzMsIDc0LCAxOCwgMTksIAotICAgIDIxOSwgMjQsIDE4LCAxOSwgMjIxLCAyMTMsIDE4LCAxOSwgMjE5LCAyMzQsIDE4LCAxOSwgMjIwLCA2OCwgMTgsIDE5LCAKLSAgICAyMTksIDIwMywgMTgsIDE5LCAyMTAsIDIyMCwgMTgsIDE5LCAyMTEsIDUyLCAxOCwgMTksIDIyMywgMTM3LCAxOCwgMTksIAotICAgIDIyNywgMTc1LCAxOCwgMTksIDIyNiwgMjIwLCAyMjcsIDE3NSwgMTgsIDE5LCAyMjcsIDE3NCwgMTgsIDE5LCAyMjYsIDIyMCwgCi0gICAgMjI3LCAxNzQsIDE4LCAxOSwgMjI3LCAxNzMsIDE4LCAxOSwgMjI2LCAyMjAsIDIyNywgMTczLCAxOCwgMTksIDIyNywgMTcyLCAKLSAgICAxOCwgMTksIDIyNiwgMjIwLCAyMjcsIDE3MiwgMTgsIDE5LCAyMjIsIDEwNywgMTgsIDE5LCAyMjIsIDEwNiwgMTgsIDE5LCAKLSAgICAyMjIsIDEwNSwgMTgsIDE5LCAyMjIsIDEwNCwgMTgsIDE5LCAyMjIsIDEwMywgMTgsIDE5LCAyMjIsIDExMSwgMTgsIDE5LCAKLSAgICAyMjYsIDIyMCwgMjI2LCAxMDksIDE4LCAxOSwgMjI2LCAyMjAsIDIxNywgMTUzLCAxOCwgMTksIDIyNiwgMjIwLCAyMzUsIAotICAgIDI5LCAxOCwgMTksIDIyNiwgMjIwLCAyNTEsIDc0LCAxOCwgMTksIDIyNiwgMjIwLCAxOTQsIDE4LCAxOSwgMjI2LCAyMjAsIAotICAgIDIzMCwgMzAsIDE4LCAxOSwgMjI2LCAyMjAsIDIyMiwgOTMsIDE4LCAxOSwgMjI2LCAyMjAsIDIyMCwgMTA2LCAxOCwgMTksIAotICAgIDI0NSwgMjI3LCAyMTIsIDk4LCAxOCwgMTksIDIxMiwgNywgMjEyLCA5OCwgMTgsIDE5LCA0MCwgNCwgMjIyLCAyMzYsIDE4LCAKLSAgICAxOSwgNDAsIDIyMywgMTYwLCAyNDcsIDEyOCwgMTgsIDE5LCAyMjMsIDIyNiwgMjIyLCAxMDgsIDE4LCAxOSwgMTU5LCAyMzIsIAotICAgIDEzMywgMTgsIDE5LCAxNTksIDIzMywgMTQwLCAxOCwgMTksIDIxNiwgMTI3LCAxOCwgMTksIDIxNiwgMTI5LCAxOCwgMTksIAotICAgIDIxNSwgMTM3LCAxOCwgMTksIDIxNSwgMTM5LCAxOCwgMTksIDIxNSwgMTQ0LCAxOCwgMTksIDIxNiwgNTAsIDE4LCAxOSwgCi0gICAgMjE2LCA1MiwgMTgsIDE5LCAyMjEsIDIxMSwgMjE5LCAyMDgsIDE4LCAxOSwgMjIxLCAyMTEsIDIyMCwgMywgMTgsIDE5LCAKLSAgICAyMjEsIDIxMSwgMjQxLCA2MCwgMTgsIDE5LCA3MywgMjQyLCA4MCwgMTgsIDE5LCA3MywgMjQ4LCA2MCwgMjQzLCA2MiwgMTgsIAotICAgIDE5LCA3MywgMjQzLCAxMzksIDE4LCAxOSwgNzMsIDI0MiwgODUsIDE4LCAxOSwgMjIxLCAyMTEsIDIzNSwgMzksIDE4LCAxOSwgCi0gICAgNzMsIDIzNSwgMzcsIDE4LCAxOSwgMjUyLCA3NiwgMjQ4LCA2MCwgMTU2LCAxOCwgMTksIDI1MiwgNzYsIDI0OCwgNjAsIAotICAgIDE1MywgMTgsIDE5LCA3MywgMjQ4LCA1NSwgMjIyLCA5MywgMjMyLCAyMjksIDIxMywgMTIyLCAyMzMsIDE2LCAyMzIsIDIyOSwgCi0gICAgMSwgMTc2LCAyMzIsIDIyOSwgMSwgMjM0LCAxMzgsIDIzMiwgMjI5LCAxLCAyNDMsIDE0MiwgMjMyLCAyMjksIDEsIDI0MywgCi0gICAgMCwgMjMyLCAyMjksIDEsIDIyOSwgODIsIDIzMiwgMjI5LCAxLCAyNTEsIDQxLCAyMzIsIDIyOSwgMSwgMjUwLCAxNjUsIAotICAgIDIzMiwgMjI5LCAxLCAyMzUsIDE0NywgMjMyLCAyMjksIDEsIDIzNSwgMTIwLCAyMzIsIDIyOSwgMSwgMjExLCA3MSwgMjMyLCAKLSAgICAyMjksIDEsIDIxNywgMTA2LCAyMzIsIDIyOSwgMSwgMjE2LCAyMDksIDIzMiwgMjI5LCAxLCAyNDgsIDIyOSwgMjMyLCAyMjksIAotICAgIDEsIDI0OCwgMzMsIDIzMiwgMjI5LCAxLCAxOTgsIDIzMiwgMjI5LCAxLCAxOTEsIDIzMiwgMjI5LCAxLCAyMjUsIDE1MCwgCi0gICAgMjMyLCAyMjksIDEsIDI1MiwgMTk5LCAyMzIsIDIyOSwgMSwgMjUyLCAyNiwgMjMyLCAyMjksIDEsIDE4NiwgMjMyLCAyMjksIAotICAgIDEsIDE5MiwgMjMyLCAyMjksIDEsIDIwNSwgMjMyLCAyMjksIDEsIDIzMywgMTQxLCAyMzIsIDIyOSwgMSwgMjEyLCA2NSwgCi0gICAgMjMyLCAyMjksIDEsIDIyMCwgMTA0LCAyMzIsIDIyOSwgMSwgMjE4LCAyMjUsIDIzMiwgMjI5LCAxLCAyMDYsIDIzMiwgMjI5LCAKLSAgICAxLCAxNjIsIDIzMiwgMjI5LCAyNSwgNSwgNjEsIDIzMiwgMjI5LCAyNSwgNSwgNzQsIDIzMiwgMjI5LCAyNSwgNSwgNjksIAotICAgIDIzMiwgMjI5LCAyNSwgNSwgMjQ1LCAyMTcsIDIzMiwgMjI5LCAyNSwgNSwgMjU0LCAyMTAsIDIzMiwgMjI5LCAyNSwgNSwgCi0gICAgMjI2LCAxODcsIDIzMiwgMjI5LCAyNSwgNSwgMjUzLCAyMDAsIDIzMiwgMjI5LCAyNSwgNSwgNzYsIDIzMiwgMjI5LCAyNSwgCi0gICAgNSwgNzgsIDIzMiwgMjI5LCAyMTgsIDc0LCAxLCAxOTIsIDIzMiwgMjI5LCAyMTgsIDc0LCAxLCAyMDUsIDIzMiwgMjI5LCAKLSAgICAyMTgsIDc0LCAxLCAyMTIsIDY1LCAyMzIsIDIyOSwgNCwgMSwgMTc2LCAyMzIsIDIyOSwgNCwgMSwgMjI5LCA4MiwgMjMyLCAKLSAgICAyMjksIDQsIDEsIDI1NCwgODMsIDIzMiwgMjI5LCA0LCAxLCAyMTcsIDEwNiwgMjMyLCAyMjksIDQsIDEsIDE5OCwgMjMyLCAKLSAgICAyMjksIDQsIDEsIDE5MSwgMjMyLCAyMjksIDQsIDEsIDE4NiwgMjMyLCAyMjksIDQsIDEsIDIwNSwgMjMyLCAyMjksIDQsIDEsIAotICAgIDIzMywgMTQxLCAyMzIsIDIyOSwgNSwgMjMwLCA5NCwgMjMyLCAyMjksIDUsIDIzNCwgMTc3LCAyMzIsIDIyOSwgNSwgMjIyLCAKLSAgICAzNCwgMjMyLCAyMjksIDUsIDIzMiwgMTMzLCAyMzIsIDIyOSwgMjQ1LCAzOSwgNzksIDIzMiwgMjI5LCAyMjQsIDE2LCA3OSwgCi0gICAgMjMyLCAyMjksIDIxLCAyMTAsIDg2LCAyMzIsIDIyOSwgMjEsIDExMSwgMjMyLCAyMjksIDIxLCAxMDUsIDIzMiwgMjI5LCAKLSAgICAyMSwgMTU4LCAyMzIsIDIyOSwgMjEsIDE2MSwgMjMyLCAyMjksIDIxLCAxOTAsIDIzMiwgMjI5LCAyMSwgMTk1LCAyMzIsIAotICAgIDIyOSwgMjEsIDE5OSwgMjMyLCAyMjksIDIxLCAxOTYsIDIzMiwgMjI5LCAyMSwgMjAxLCAzOSwgMjMzLCA2NSwgMSwgMTc2LCAKLSAgICAzOSwgMjMzLCA2NSwgMSwgMjExLCAxNjUsIDM5LCAyMzMsIDY1LCAxLCAyMjksIDgyLCAzOSwgMjMzLCA2NSwgMSwgMjE1LCAKLSAgICAxODQsIDM5LCAyMzMsIDY1LCAxLCAyMDYsIDM5LCAyMzMsIDY1LCAxLCAxOTIsIDM5LCAyMzMsIDY1LCAxLCAyMTcsIDEwNiwgCi0gICAgMzksIDIzMywgNjUsIDEsIDIxNiwgMjA5LCAzOSwgMjMzLCA2NSwgMSwgMjMzLCAxNDEsIDM5LCAyMzMsIDY1LCAxLCAxOTEsIAotICAgIDM5LCAyMzMsIDY1LCAxLCAyMjUsIDE1MCwgMzksIDIzMywgNjUsIDEsIDE4NiwgMzksIDIzMywgNjUsIDEsIDI0NCwgMjA0LCAKLSAgICAzOSwgMjMzLCA2NSwgMSwgMjE0LCAyNywgMzksIDIzMywgNjUsIDEsIDE2MiwgMzksIDIzMywgNjUsIDEsIDIyNCwgOTEsIAotICAgIDM5LCAyMzMsIDY1LCAxLCAyMzQsIDEzOCwgMzksIDIzMywgNjUsIDEsIDIxNSwgMTc2LCAzOSwgMjMzLCA2NSwgMSwgMTk4LCAKLSAgICAzOSwgMjMzLCA2NSwgMSwgNjEsIDM5LCAyMzMsIDY1LCAxLCA3NCwgMzksIDIzMywgNjUsIDEsIDI0NSwgMjE3LCAzOSwgCi0gICAgMjMzLCA2NSwgMSwgMjQ1LCAyMDUsIDM5LCAyMzMsIDY1LCAxLCA2OSwgMzksIDIzMywgNjUsIDEsIDIyNiwgMTg3LCAzOSwgCi0gICAgMjMzLCA2NSwgMSwgNzgsIDM5LCAyMzMsIDY1LCAxLCAyMTQsIDIxNCwgMzksIDIzMywgNjUsIDEsIDc2LCAzOSwgMjMzLCAKLSAgICA2NSwgMSwgMjUzLCAxOTgsIDM5LCAyMzMsIDY1LCAxLCAyNTQsIDIxMCwgMzksIDIzMywgNjUsIDEsIDIxNiwgMjksIDM5LCAKLSAgICAyMzMsIDY1LCAxLCAyMTYsIDI4LCAzOSwgMjMzLCA2NSwgMSwgMjE2LCAyNywgMzksIDIzMywgNjUsIDEsIDIxNiwgMjYsIAotICAgIDM5LCAyMzMsIDY1LCAxLCAyMTYsIDI1LCAxNjYsIDM5LCAxNzMsIDEsIDEyNSwgMjI0LCA5MSwgMTY2LCAzOSwgMTczLCAxLCAKLSAgICAxMjEsIDIyNCwgOTEsIDE2NiwgMzksIDE3MywgMSwgMTI1LCAxNzYsIDE2NiwgMzksIDE3MywgMSwgMTI1LCAyMTEsIDE2NSwgCi0gICAgMTY2LCAzOSwgMTczLCAxLCAxMjUsIDIyOSwgODIsIDE2NiwgMzksIDE3MywgMSwgMTIxLCAxNzYsIDE2NiwgMzksIDE3MywgCi0gICAgMSwgMTIxLCAyMTEsIDE2NSwgMTY2LCAzOSwgMTczLCAxLCAxMjEsIDIyOSwgODIsIDE2NiwgMzksIDE3MywgMSwgMTI1LCAKLSAgICAyMTUsIDE4NCwgMTY2LCAzOSwgMTczLCAxLCAxMjUsIDIwNiwgMTY2LCAzOSwgMTczLCAxLCAxMjUsIDE5MiwgMTY2LCAzOSwgCi0gICAgMTczLCAxLCAxMjEsIDIxNSwgMTg0LCAxNjYsIDM5LCAxNzMsIDEsIDEyMSwgMjA2LCAxNjYsIDM5LCAxNzMsIDEsIDEyMSwgCi0gICAgMTkyLCAxNjYsIDM5LCAxNzMsIDEsIDEyNSwgMjE3LCAxMDYsIDE2NiwgMzksIDE3MywgMSwgMTI1LCAyMTYsIDIwOSwgMTY2LCAKLSAgICAzOSwgMTczLCAxLCAxMjUsIDE5OCwgMTY2LCAzOSwgMTczLCAxLCAxMjEsIDIxNywgMTA2LCAxNjYsIDM5LCAxNzMsIDEsIAotICAgIDEyMSwgMjE2LCAyMDksIDE2NiwgMzksIDE3MywgMSwgMTIxLCAxOTgsIDE2NiwgMzksIDE3MywgMSwgMTI1LCAxOTEsIDE2NiwgCi0gICAgMzksIDE3MywgMSwgMTI1LCAyMjUsIDE1MCwgMTY2LCAzOSwgMTczLCAxLCAxMjUsIDE4NiwgMTY2LCAzOSwgMTczLCAxLCAKLSAgICAxMjEsIDE5MSwgMTY2LCAzOSwgMTczLCAxLCAxMjEsIDIyNSwgMTUwLCAxNjYsIDM5LCAxNzMsIDEsIDEyMSwgMTg2LCAxNjYsIAotICAgIDM5LCAxNzMsIDEsIDEyNSwgMjQ0LCAyMDQsIDE2NiwgMzksIDE3MywgMSwgMTI1LCAyMTQsIDI3LCAxNjYsIDM5LCAxNzMsIAotICAgIDEsIDEyNSwgMjMzLCAxNDEsIDE2NiwgMzksIDE3MywgMSwgMTIxLCAyNDQsIDIwNCwgMTY2LCAzOSwgMTczLCAxLCAxMjEsIAotICAgIDIxNCwgMjcsIDE2NiwgMzksIDE3MywgMSwgMTIxLCAyMzMsIDE0MSwgMTY2LCAzOSwgMTczLCAxLCAxMjUsIDE2MiwgMTY2LCAKLSAgICAzOSwgMTczLCAxLCAxMjUsIDI0OCwgMjI5LCAxNjYsIDM5LCAxNzMsIDEsIDEyNSwgMjUyLCAxOTksIDE2NiwgMzksIDE3MywgCi0gICAgMSwgMTIxLCAxNjIsIDE2NiwgMzksIDE3MywgMSwgMTIxLCAyNDgsIDIyOSwgMTY2LCAzOSwgMTczLCAxLCAxMjEsIDI1MiwgCi0gICAgMTk5LCAxNjYsIDM5LCAxNzMsIDEsIDEyNSwgMjMzLCAxOTAsIDE2NiwgMzksIDE3MywgMSwgMTI1LCAyMTEsIDEzOCwgMTY2LCAKLSAgICAzOSwgMTczLCAxLCAxMjEsIDIzMywgMTkwLCAxNjYsIDM5LCAxNzMsIDEsIDEyMSwgMjExLCAxMzgsIDE2NiwgMzksIDE3MywgCi0gICAgMSwgMTI1LCAyMTgsIDgzLCAxNjYsIDM5LCAxNzMsIDEsIDEyMSwgMjE4LCA4MywgMTY2LCAzOSwgMTczLCAyNSwgNSwgMjUsIAotICAgIDIxOSwgMjQxLCAxNjYsIDM5LCAxNzMsIDI1LCA1LCAyNTUsIDgyLCAxNjYsIDM5LCAxNzMsIDI1LCA1LCAyMzYsIDQwLCAKLSAgICAxNjYsIDM5LCAxNzMsIDI1LCA1LCA2OSwgMTY2LCAzOSwgMTczLCAyNSwgNSwgMjE0LCAxMTgsIDE2NiwgMzksIDE3MywgMjUsIAotICAgIDUsIDc2LCAxNjYsIDM5LCAxNzMsIDI1LCA1LCAyNTQsIDI1MiwgMTY2LCAzOSwgMTczLCAyNSwgNSwgNzgsIDE2NiwgMzksIAotICAgIDE3MywgMjUsIDUsIDIyNywgNCwgMTY2LCAzOSwgMTczLCAyNSwgNSwgMjE0LCAyMTQsIDE2NiwgMzksIDE3MywgMjUsIDUsIAotICAgIDI1MywgMTc1LCAxNjYsIDM5LCAxNzMsIDI1LCA1LCAyNTUsIDM3LCAxNjYsIDM5LCAxNzMsIDI1LCA1LCAyMTQsIDExMSwgCi0gICAgMTY2LCAzOSwgMTczLCAyNSwgNSwgMjI2LCAxMTMsIDE2NiwgMzksIDE3MywgMjUsIDUsIDIyNywgMSwgMTY2LCAzOSwgMTczLCAKLSAgICAyNSwgNSwgMjE0LCAyMTAsIDE2NiwgMzksIDE3MywgMjUsIDUsIDIzNSwgMTU4LCAxNjYsIDM5LCAxNzMsIDEsIDQwLCAyMTQsIAotICAgIDEwNSwgMTY2LCAzOSwgMTczLCAxLCA0MCwgMjI5LCA4NCwgMTY2LCAzOSwgMTczLCAxLCA0MCwgMjMwLCAzMCwgMTY2LCAzOSwgCi0gICAgMTczLCAxLCA0MCwgMTk0LCAxNjYsIDM5LCAxNzMsIDEsIDQwLCAyMzUsIDI5LCAxNjYsIDM5LCAxNzMsIDEsIDQwLCAyNDksIAotICAgIDY4LCAxNjYsIDM5LCAxNzMsIDEsIDQwLCAyNTMsIDE2NiwgMTY2LCAzOSwgMTczLCAxMzgsIDIzMSwgMTYzLCAxNjYsIDM5LCAKLSAgICAxNzMsIDEzOCwgMjMxLCAxNjIsIDE2NiwgMzksIDE3MywgMjEsIDIxMCwgODYsIDE2NiwgMzksIDE3MywgMjEsIDExMSwgCi0gICAgMTY2LCAzOSwgMTczLCAyMSwgMTA1LCAxNjYsIDM5LCAxNzMsIDIxLCAxNTgsIDE2NiwgMzksIDE3MywgMjEsIDE2MSwgMTY2LCAKLSAgICAzOSwgMTczLCAyMSwgMTkwLCAxNjYsIDM5LCAxNzMsIDIxLCAxOTUsIDE2NiwgMzksIDE3MywgMjEsIDE5OSwgMTY2LCAzOSwgCi0gICAgMTczLCAyMSwgMTk2LCAxNjYsIDM5LCAxNzMsIDIxLCAyMDEsIDE2NiwgMzksIDE3MywgODksIDIxLCAxMTEsIDE2NiwgMzksIAotICAgIDE3MywgNSwgMjMzLCAxMjYsIDE2NiwgMzksIDE3MywgNSwgMjMzLCAxMjUsIDcwLCAxNiwgMjI1LCAyNDAsIDcwLCAxNiwgCi0gICAgMjMwLCA3NywgMjM0LCAzMSwgNzAsIDE2LCAyMjUsIDc1LCAyMzQsIDMxLCA3MCwgMTYsIDI1MiwgNTgsIDIzNCwgMzEsIDcwLCAKLSAgICAxNiwgMjUxLCAxMTIsIDIzNCwgMzEsIDcwLCAxNiwgMjI0LCAyMTksIDIzNCwgMzEsIDcwLCAxNiwgMjI0LCAyMTMsIDIzNCwgCi0gICAgMzEsIDcwLCAxNiwgMjI0LCAyMTEsIDIzNCwgMzEsIDcwLCAxNiwgMjI0LCAyMTcsIDIzNCwgMzEsIDcwLCAxNiwgMjI0LCAKLSAgICAyMTUsIDIzNCwgMzEsIDcwLCAxNiwgMjQ4LCAxODEsIDIzNCwgMzEsIDcwLCAxNiwgMjQ4LCAxNzcsIDIzNCwgMzEsIDcwLCAKLSAgICAxNiwgMjQ4LCAxNzYsIDIzNCwgMzEsIDcwLCAxNiwgMjQ4LCAxNzksIDIzNCwgMzEsIDcwLCAxNiwgMjQ4LCAxNzgsIDIzNCwgCi0gICAgMzEsIDcwLCAxNiwgMjQ4LCAxNzUsIDIzNCwgMzEsIDcwLCAxNiwgMjE1LCA4NywgNzAsIDE2LCAyMzAsIDc3LCAyMjIsIAotICAgIDIwNywgNzAsIDE2LCAyMjUsIDc1LCAyMjIsIDIwNywgNzAsIDE2LCAyNTIsIDU4LCAyMjIsIDIwNywgNzAsIDE2LCAyNTEsIAotICAgIDExMiwgMjIyLCAyMDcsIDcwLCAxNiwgMjI0LCAyMTksIDIyMiwgMjA3LCA3MCwgMTYsIDIyNCwgMjEzLCAyMjIsIDIwNywgCi0gICAgNzAsIDE2LCAyMjQsIDIxMSwgMjIyLCAyMDcsIDcwLCAxNiwgMjI0LCAyMTcsIDIyMiwgMjA3LCA3MCwgMTYsIDIyNCwgMjE1LCAKLSAgICAyMjIsIDIwNywgNzAsIDE2LCAyNDgsIDE4MSwgMjIyLCAyMDcsIDcwLCAxNiwgMjQ4LCAxNzcsIDIyMiwgMjA3LCA3MCwgMTYsIAotICAgIDI0OCwgMTc2LCAyMjIsIDIwNywgNzAsIDE2LCAyNDgsIDE3OSwgMjIyLCAyMDcsIDcwLCAxNiwgMjQ4LCAxNzgsIDIyMiwgCi0gICAgMjA3LCA3MCwgMTYsIDI0OCwgMTc1LCAyMjIsIDIwNywgMjUxLCAxMjksIDEsIDE3NiwgMjUxLCAxMjksIDEsIDI0MywgMTQyLCAKLSAgICAyNTEsIDEyOSwgMSwgMjI5LCA4MiwgMjUxLCAxMjksIDEsIDIyOSwgMjcsIDI1MSwgMTI5LCAxLCAxOTEsIDI1MSwgMTI5LCAKLSAgICAxLCAyNTIsIDE5OSwgMjUxLCAxMjksIDEsIDE4NiwgMjUxLCAxMjksIDEsIDIzMCwgMTEwLCAyNTEsIDEyOSwgMSwgMjE3LCAKLSAgICAxMDYsIDI1MSwgMTI5LCAxLCAyNDgsIDIyOSwgMjUxLCAxMjksIDEsIDE5OCwgMjUxLCAxMjksIDEsIDIyOCwgNDEsIDI1MSwgCi0gICAgMTI5LCAxLCAyNTEsIDQxLCAyNTEsIDEyOSwgMSwgMjM1LCAxNDcsIDI1MSwgMTI5LCAxLCAyMjcsIDE2OSwgMjUxLCAxMjksIAotICAgIDEsIDIyNywgMTYyLCAyNTEsIDEyOSwgMSwgMTkyLCAyNTEsIDEyOSwgMSwgMjA1LCAyNTEsIDEyOSwgMSwgMjMzLCAxNDEsIAotICAgIDI1MSwgMTI5LCAxLCAyMTQsIDI3LCAyNTEsIDEyOSwgMSwgMjA2LCAyNTEsIDEyOSwgMSwgNjEsIDI1MSwgMTI5LCAxLCAKLSAgICAxNjIsIDI1MSwgMTI5LCAyNSwgNSwgNzQsIDI1MSwgMTI5LCAyNSwgNSwgNjksIDI1MSwgMTI5LCAyNSwgNSwgNzYsIDI1MSwgCi0gICAgMTI5LCAyNSwgNSwgNzgsIDI1MSwgMTI5LCAyNSwgNSwgMjU0LCAyNTIsIDI1MSwgMTI5LCAyMjYsIDY0LCAyNTEsIDEyOSwgCi0gICAgMjQ1LCAxNTEsIDY0LCAyMjEsIDE3NCwgMzksIDg5LCAxLCAxMjUsIDE3NiwgMzksIDg5LCAxLCAxMjUsIDIzNCwgMTM4LCAKLSAgICAzOSwgODksIDEsIDEyNSwgMjMzLCAxNzcsIDM5LCA4OSwgMSwgMTIxLCAxNzYsIDM5LCA4OSwgMSwgMTIxLCAyMzMsIDE3NywgCi0gICAgMzksIDg5LCAxLCAxMjEsIDIzNCwgMTM4LCAzOSwgODksIDEsIDIyOSwgODIsIDM5LCA4OSwgMSwgMTI1LCAyNTEsIDQxLCAKLSAgICAzOSwgODksIDEsIDEyNSwgMjUwLCAxNjUsIDM5LCA4OSwgMSwgMTIxLCAyNTEsIDQxLCAzOSwgODksIDEsIDEyMSwgMjA2LCAKLSAgICAzOSwgODksIDEsIDEyMSwgMjUwLCAxNjUsIDM5LCA4OSwgMSwgMjI3LCAxNjksIDM5LCA4OSwgMSwgMjIzLCAxNDMsIDM5LCAKLSAgICA4OSwgMSwgMTI1LCAyMjMsIDE0MSwgMzksIDg5LCAxLCAyNDgsIDIyOSwgMzksIDg5LCAxLCAxMjEsIDIyMywgMTQxLCAzOSwgCi0gICAgODksIDEsIDIyMywgMTUyLCAzOSwgODksIDEsIDEyNSwgMjE3LCAxMDYsIDM5LCA4OSwgMSwgMTI1LCAyMTYsIDIwOSwgMzksIAotICAgIDg5LCAxLCAxMjEsIDIxNywgMTA2LCAzOSwgODksIDEsIDEyMSwgMjE2LCAyMDksIDM5LCA4OSwgMSwgMTk4LCAzOSwgODksIAotICAgIDEsIDI1MiwgMTk5LCAzOSwgODksIDEsIDEyNSwgMTkxLCAzOSwgODksIDEsIDEyNSwgMjI1LCAxNTAsIDM5LCA4OSwgMSwgCi0gICAgMTI1LCAyNDQsIDIwNCwgMzksIDg5LCAxLCAxMjEsIDE5MSwgMzksIDg5LCAxLCAxMjEsIDI0NCwgMjA0LCAzOSwgODksIDEsIAotICAgIDEyMSwgMjI1LCAxNTAsIDM5LCA4OSwgMSwgMTg2LCAzOSwgODksIDEsIDEyMSwgMTkyLCAzOSwgODksIDEsIDEyNSwgMTkyLCAKLSAgICAzOSwgODksIDEsIDIwNSwgMzksIDg5LCAxLCAyMjIsIDEzOSwgMzksIDg5LCAxLCAyMzMsIDE0MSwgMzksIDg5LCAxLCAyMzIsIAotICAgIDk4LCAzOSwgODksIDEsIDIxMiwgNjUsIDM5LCA4OSwgMSwgMTI1LCAyMjAsIDEwNCwgMzksIDg5LCAxLCAxMjUsIDIxOCwgCi0gICAgMjI1LCAzOSwgODksIDEsIDEyNSwgMjA2LCAzOSwgODksIDEsIDEyNSwgMTYyLCAzOSwgODksIDEsIDIzMiwgMTkwLCAzOSwgCi0gICAgODksIDEsIDYxLCAzOSwgODksIDEsIDEyMSwgMTYyLCAzOSwgODksIDEsIDc0LCAzOSwgODksIDEsIDIzNiwgNDAsIDM5LCAKLSAgICA4OSwgMSwgNjksIDM5LCA4OSwgMSwgMjE0LCAxMTgsIDM5LCA4OSwgMSwgMjQ1LCAyMTcsIDM5LCA4OSwgMSwgMjI2LCAxODcsIAotICAgIDM5LCA4OSwgMSwgMjMzLCAxMjYsIDM5LCA4OSwgMSwgMjQyLCAxMzksIDIwNiwgMzksIDg5LCAxMTcsIDUsIDE0NywgMjA1LCAKLSAgICAzOSwgODksIDExNywgNSwgMTQ3LCAyMzMsIDE0MSwgMzksIDg5LCAxMTcsIDUsIDIzMywgMTQyLCAyMTcsIDU5LCAyMzMsIAotICAgIDExNSwgMzksIDg5LCA1LCAyMzEsIDIwOSwgMjM0LCAyMzcsIDIzMywgMTE1LCAzOSwgODksIDExNywgNSwgNDAsIDIyOSwgCi0gICAgODIsIDM5LCA4OSwgMTE3LCA1LCAxMjEsIDE5MSwgMzksIDg5LCAxMTcsIDUsIDEyNSwgMjIzLCAxNDIsIDE3NywgMTIxLCAKLSAgICAxOTEsIDM5LCA4OSwgMTE3LCA1LCAxODYsIDM5LCA4OSwgMTE3LCA1LCAyNTIsIDE5OSwgMzksIDg5LCAxMTcsIDUsIDIwNiwgCi0gICAgMzksIDg5LCA1LCAyMjIsIDEyLCAzOSwgODksIDI1LCA1LCA2MSwgMzksIDg5LCAyNSwgNSwgMjMxLCAyMDksIDIyMSwgMjI4LCAKLSAgICAzOSwgODksIDI1LCA1LCAyNTUsIDgyLCAzOSwgODksIDI1LCA1LCAyMTcsIDY1LCAyNTUsIDgyLCAzOSwgODksIDI1LCA1LCAKLSAgICA3NCwgMzksIDg5LCAyNSwgNSwgMjM2LCA0MCwgMzksIDg5LCAyNSwgNSwgMjE0LCAyMTQsIDM5LCA4OSwgMjUsIDUsIDIxNCwgCi0gICAgMTE3LCAzOSwgODksIDI1LCA1LCA2OSwgMzksIDg5LCAyNSwgNSwgMjE0LCAxMTgsIDM5LCA4OSwgMjUsIDUsIDc4LCAzOSwgCi0gICAgODksIDI1LCA1LCAyMjcsIDUsIDUxLCAzOSwgODksIDI1LCA1LCAyMjYsIDExMywgMzksIDg5LCAyNSwgNSwgNzYsIDM5LCAKLSAgICA4OSwgMjUsIDUsIDI1NCwgMjUyLCAzOSwgODksIDI1LCA1LCAyMjYsIDE4NywgMzksIDg5LCAyNSwgNSwgMjU0LCAyMTAsIAotICAgIDM5LCA4OSwgMjUsIDUsIDg5LCAyNTQsIDIxMCwgMzksIDg5LCAyNSwgNSwgMjI3LCA1LCA0OCwgMzksIDg5LCA1LCAyMzEsIAotICAgIDIwOSwgMjM0LCAyMzYsIDM5LCA4OSwgNSwgMjE2LCAzMCwgMzksIDg5LCA1LCAyMTYsIDI5LCAzOSwgODksIDUsIDIzNCwgCi0gICAgMTAzLCAyMTYsIDI4LCAzOSwgODksIDUsIDIzNCwgMTAzLCAyMTYsIDI3LCAzOSwgODksIDUsIDIzNCwgMTAzLCAyMTYsIDI2LCAKLSAgICAzOSwgODksIDUsIDIyMywgMTkxLCAyNDIsIDUyLCAzOSwgODksIDUsIDIzMSwgMjA5LCAyMjEsIDI1NSwgMzksIDg5LCA1LCAKLSAgICAyMzQsIDEwMiwgMjM0LCAyMjEsIDM5LCA4OSwgMzgsIDI0OSwgMTIzLCAyNDcsIDEyOCwgMzksIDg5LCAyNDEsIDUzLCAyMSwgCi0gICAgMjEwLCA4NiwgMzksIDg5LCAyNDEsIDUzLCAyMSwgMTExLCAzOSwgODksIDI0MSwgNTMsIDIxLCAxMDUsIDM5LCA4OSwgMjQxLCAKLSAgICA1MywgMjEsIDE1OCwgMzksIDg5LCAyNDEsIDUzLCAyMSwgMTYxLCAzOSwgODksIDI0MSwgNTMsIDIxLCAxOTAsIDM5LCA4OSwgCi0gICAgMjQxLCA1MywgMjEsIDE5NSwgMzksIDg5LCAyNDEsIDUzLCAyMSwgMTk5LCAzOSwgODksIDI0MSwgNTMsIDIxLCAxOTYsIDM5LCAKLSAgICA4OSwgMjQxLCA1MywgMjEsIDIwMSwgMzksIDg5LCA4OSwgMjEsIDIxMCwgODYsIDM5LCA4OSwgODksIDIxLCAxMTEsIDM5LCAKLSAgICA4OSwgODksIDIxLCAxMDUsIDM5LCA4OSwgODksIDIxLCAxNTgsIDM5LCA4OSwgODksIDIxLCAxNjEsIDM5LCA4OSwgODksIAotICAgIDIxLCAxOTAsIDM5LCA4OSwgODksIDIxLCAxOTUsIDM5LCA4OSwgODksIDIxLCAxOTksIDM5LCA4OSwgODksIDIxLCAxOTYsIAotICAgIDM5LCA4OSwgODksIDIxLCAyMDEsIDM5LCA4OSwgNSwgMjExLCAyNDksIDM5LCA4OSwgNSwgMjExLCAyNDgsIDM5LCA4OSwgNSwgCi0gICAgMjIxLCAyMTcsIDM5LCA4OSwgNSwgMjM0LCAxNjYsIDM5LCA4OSwgNSwgMjQwLCAyMzksIDM5LCA4OSwgNSwgMjQ3LCAxNDIsIAotICAgIDM5LCA4OSwgNSwgMjIzLCA1MiwgMjIyLCAxODksIDIyMywgMTUyLCAzOSwgODksIDUsIDIzMSwgMjA5LCAyMTEsIDcyLCAzOSwgCi0gICAgODksIDUsIDIzNSwgMTIsIDM5LCA4OSwgNSwgMjM1LCAxMSwgMzksIDg5LCA1LCAyMjEsIDIyNCwgMzksIDg5LCA1LCAyMjEsIAotICAgIDIyMywgMzksIDg5LCA1LCAyNDIsIDE2LCAzOSwgODksIDUsIDI1MSwgMzgsIDEwMiwgNSwgMjE0LCAyMDAsIDIyMywgMzMsIAotICAgIDEwMiwgNSwgMjE0LCAyMDAsIDI1MSwgOSwgMTAyLCA1LCAyNTAsIDE5NCwgMTAyLCA1LCAyMTgsIDE2LCAxMDIsIDUsIDI1MSwgCi0gICAgMjQxLCAxMDIsIDEsIDI1NCwgMTkzLCAxMDIsIDEsIDI1NCwgMTk0LCAyMTcsIDE0LCAxMDIsIDEsIDIzNiwgMzYsIDEwMiwgCi0gICAgMSwgMjM2LCAzNywgMjE3LCAxNCwgMTAyLCAxLCAyMTQsIDIwMywgMTAyLCAxLCAyMTQsIDIwNCwgMjE3LCAxNCwgMTAyLCAxLCAKLSAgICAyMjMsIDE5MSwgMjIzLCA4MiwgMTAyLCAxLCAyMjMsIDE5MSwgMjIzLCA4MywgMjE3LCAxNCwgMTAyLCAxLCAyMzMsIDE0MiwgCi0gICAgMjMzLCAzMCwgMTAyLCAxLCAyMzMsIDE0MiwgMjMzLCAzMSwgMjE3LCAxNCwgMTAyLCAxLCAyNDUsIDE4NywgMTAyLCAxLCAKLSAgICAyNTQsIDIwOCwgMTAyLCAxLCAyMjYsIDIxNiwgMTAyLCAxLCAyMjYsIDIxNywgMjE3LCAxNCwgMTAyLCAxLCAxNzYsIDEwMiwgCi0gICAgMSwgMjM1LCAxOSwgMjMxLCAyMTIsIDEwMiwgMSwgMjQzLCAxNDIsIDEwMiwgMSwgMjQzLCAxNDMsIDI0MiwgMTY4LCAxMDIsIAotICAgIDEsIDIyOSwgODIsIDEwMiwgMSwgMjUxLCA0MSwgMTAyLCAxLCAyNTEsIDQyLCAyMzMsIDEyOSwgMTAyLCAxLCAyMzUsIDE0NywgCi0gICAgMTAyLCAxLCAyMzUsIDE0OCwgMjM1LCAxMjQsIDEwMiwgMSwgMjI3LCAxNjksIDEwMiwgMSwgMjE3LCAxMDcsIDIzMywgODIsIAotICAgIDEwMiwgMSwgMjE3LCAxMDcsIDIzMCwgNzIsIDIzMSwgMjEyLCAxMDIsIDEsIDI0OCwgMjMwLCAyMzAsIDcyLCAyNTQsIDE1MywgCi0gICAgMTAyLCAxLCAyNDgsIDIzMCwgMjMwLCA3MiwgMjMxLCAyMTIsIDEwMiwgMSwgMjI5LCAyMzQsIDIyMywgMTU1LCAxMDIsIDEsIAotICAgIDIxNywgMTA2LCAxMDIsIDEsIDIxNywgMTA3LCAyMTcsIDM2LCAxMDIsIDEsIDI0OCwgMjI5LCAxMDIsIDEsIDI0OCwgMjMwLCAKLSAgICAyMzEsIDIzMCwgMTAyLCAxLCAxOTgsIDEwMiwgMSwgMTkxLCAxMDIsIDEsIDIyNiwgOTQsIDIzNCwgMjMyLCAxMDIsIDEsIAotICAgIDI1MiwgMTk5LCAxMDIsIDEsIDI1MiwgMjAwLCAyMzQsIDE3OCwgMTAyLCAxLCAxODYsIDEwMiwgMSwgMTkyLCAxMDIsIDEsIAotICAgIDIwNSwgMTAyLCAxLCAyMzMsIDE0MSwgMTAyLCAxLCAyMTIsIDY1LCAxMDIsIDEsIDIyMiwgMzYsIDIyMiwgMjIsIDEwMiwgMSwgCi0gICAgMjIyLCAzNiwgMjIxLCAyMzUsIDEwMiwgMSwgMjA2LCAxMDIsIDEsIDE2MiwgMTAyLCA1LCAyMjMsIDczLCAxMDIsIDI1LCA1LCAKLSAgICAyMTcsIDE0LCAxMDIsIDI1LCA1LCAyMTQsIDE5OSwgMTAyLCAyNSwgNSwgMjE0LCAyMDAsIDIyMSwgMjMxLCAxMDIsIDI1LCAKLSAgICA1LCAyMTgsIDQ4LCAxMDIsIDI1LCA1LCAyMTgsIDQ5LCAyMzYsIDI4LCAxMDIsIDI1LCA1LCAyMjMsIDE5MSwgMjIzLCA4MiwgCi0gICAgMTAyLCAyNSwgNSwgMjIzLCAxOTEsIDIyMywgODMsIDIxNywgMTQsIDEwMiwgMjUsIDUsIDIzMywgMTQyLCAyMzMsIDMwLCAKLSAgICAxMDIsIDI1LCA1LCAyMzMsIDE0MiwgMjMzLCAzMSwgMjE3LCAxNCwgMTAyLCAyNSwgNSwgMjE3LCA2NiwgMTAyLCAyNSwgNSwgCi0gICAgMjE3LCA2NywgMjIzLCA4MiwgMTAyLCAyNSwgNSwgMjE3LCA2NywgMjE3LCAxNCwgMTAyLCAyNSwgNSwgMjE3LCA2NywgMjIzLCAKLSAgICA4MywgMjE3LCAxNCwgMTAyLCAyNSwgNSwgMjI1LCAxODcsIDEwMiwgMjUsIDUsIDIyNSwgMTg4LCAyMTcsIDE0LCAxMDIsIAotICAgIDI1NSwgMywgMjU1LCAyLCAxMDIsIDEsIDIzNSwgMSwgMjIxLCAyMzAsIDEwMiwgMSwgMjM0LCAxMDgsIDIyMSwgMjMwLCAKLSAgICAxMDIsIDEsIDIxNSwgMzQsIDIyMSwgMjMwLCAxMDIsIDEsIDI0NSwgMjExLCAyMjEsIDIzMCwgMTAyLCAxLCAyMTQsIDAsIAotICAgIDIyMSwgMjMwLCAxMDIsIDEsIDIxMCwgMTA3LCAyMjEsIDIzMCwgMTAyLCAxLCAyNTMsIDIxNywgMjIxLCAyMzAsIDEwMiwgCi0gICAgMjEsIDIxMCwgODYsIDEwMiwgMjEsIDExMSwgMTAyLCAyMSwgMTA1LCAxMDIsIDIxLCAxNTgsIDEwMiwgMjEsIDE2MSwgMTAyLCAKLSAgICAyMSwgMTkwLCAxMDIsIDIxLCAxOTUsIDEwMiwgMjEsIDE5OSwgMTAyLCAyMSwgMTk2LCAxMDIsIDIxLCAyMDEsIDEwMiwgCi0gICAgMjI2LCAzMywgMTAyLCAyMjYsIDU5LCAxMDIsIDIxMSwgMjM4LCAxMDIsIDI1MCwgMjQ0LCAyMjYsIDUyLCAxMDIsIDI1MCwgCi0gICAgMjQ0LCAyMTksIDE3NCwgMTAyLCAyNTAsIDI0NCwgMjI2LCA2LCAxMDIsIDIyNiwgNTgsIDEwMiwgMjgsIDE2LCAyNDcsIAotICAgIDEzNCwgMTAyLCAyOCwgMTYsIDI0OCwgNTksIDEwMiwgMjgsIDE2LCAyNDYsIDcyLCAxMDIsIDI4LCAxNiwgMjQ4LCAxODQsIAotICAgIDEwMiwgMjgsIDE2LCAyNDgsIDE4NSwgMjE4LCAxNiwgMTAyLCAyOCwgMTYsIDI0NywgMjEzLCAxMDIsIDI4LCAxNiwgMjQ4LCAKLSAgICAyMjIsIDEwMiwgMjgsIDE2LCAyNDgsIDQxLCAxMDIsIDI4LCAxNiwgMjQ4LCAyMDYsIDEwMiwgMjgsIDE2LCAyNDgsIDE4NSwgCi0gICAgMjQzLCA2NCwgMTAyLCAyOCwgMTYsIDM4LCAyMTcsIDEwLCAxMDIsIDI4LCAxNiwgMzgsIDI0NSwgMTQ5LCAxMDIsIDI4LCAKLSAgICAxNiwgMzgsIDIzNCwgMTczLCAxMDIsIDI4LCAxNiwgMzgsIDIzNCwgMTc1LCAxMDIsIDI4LCAxNiwgMzgsIDIzNSwgMTI4LCAKLSAgICAxMDIsIDI4LCAxNiwgMzgsIDIzNCwgMTc0LCAyLCAyMzUsIDEyOCwgMTAyLCAyOCwgMTYsIDM4LCAyMzQsIDE3NiwgMiwgCi0gICAgMjM1LCAxMjgsIDEwMiwgMjgsIDE2LCAzOCwgMjUyLCA0NSwgMTAyLCAyOCwgMTYsIDM4LCAyNDIsIDE3MiwgMTAyLCAyOCwgCi0gICAgMTYsIDIyMiwgMjUyLCAyMDQsIDI0NiwgODIsIDEwMiwgMjgsIDE2LCAyMjIsIDI1MiwgMjA0LCAyNDgsIDIyMCwgMTAyLCAKLSAgICAyOCwgMTYsIDIyMiwgMjUyLCAyNTAsIDgsIDIxNSwgMTEyLCAxMDIsIDI4LCAxNiwgMjIyLCAyNTIsIDI1MCwgOCwgMjE3LCAKLSAgICA3NCwgMTAyLCAyOCwgMTYsIDIzMywgNTAsIDIwNCwgMjI2LCA0NywgMTAyLCAyOCwgMTYsIDIzMywgNTAsIDIwNCwgMjI0LCAKLSAgICAxNDIsIDEwMiwgMjgsIDE2LCAyMzMsIDUwLCAyNTAsIDgsIDIyNSwgNDEsIDEwMiwgMjgsIDE2LCAyMzMsIDUwLCAyNTAsIDgsIAotICAgIDIyNSwgMjksIDEwMiwgMjgsIDE2LCAyMzMsIDUwLCAyMDQsIDIyNSwgNjQsIDIwNywgNSwgMjI2LCAzMCwgMjA3LCA1LCAKLSAgICAyMjYsIDQzLCAyMDcsIDUsIDIyNiwgMzksIDIwNywgMSwgNjEsIDIwNywgMSwgNzQsIDIwNywgMSwgNjksIDIwNywgMSwgCi0gICAgMjU0LCAyNTIsIDIwNywgMSwgNzgsIDIwNywgMSwgNzYsIDIwNywgMSwgMjQ1LCA2MywgMjA3LCAxLCAxNzYsIDIwNywgMSwgCi0gICAgMjI0LCA5MSwgMjA3LCAxLCAyNDMsIDE0MiwgMjA3LCAxLCAyMjksIDgyLCAyMDcsIDEsIDI1MSwgNDEsIDIwNywgMSwgMjM1LCAKLSAgICAxNDcsIDIwNywgMSwgMjEwLCAxMTYsIDIwNywgMSwgMjI3LCAxNjksIDIwNywgMSwgMjE3LCAxMDYsIDIwNywgMSwgMjQ4LCAKLSAgICAyMjksIDIwNywgMSwgMTk4LCAyMDcsIDEsIDE5MSwgMjA3LCAxLCAyNDQsIDIwNCwgMjA3LCAxLCAyMTQsIDI3LCAyMDcsIDEsIAotICAgIDI1MiwgMTk5LCAyMDcsIDEsIDE4NiwgMjA3LCAxLCAxOTIsIDIwNywgMSwgMjA1LCAyMDcsIDEsIDIzMywgMTQxLCAyMDcsIAotICAgIDEsIDIxMiwgNjUsIDIwNywgMSwgMjA2LCAyMDcsIDEsIDIxMSwgMTY1LCAyMDcsIDEsIDE2MiwgMjA3LCAxMTcsIDUsIDIyNiwgCi0gICAgNTYsIDIwNywgMTE3LCA1LCAyMjYsIDMyLCAyMDcsIDExNywgNSwgMjI2LCAyOSwgMjA3LCAyNSwgNSwgMjI2LCA0NiwgMjA3LCAKLSAgICAyNSwgNSwgMjI2LCAyOCwgMjA3LCAyNSwgNSwgMjI2LCA1MCwgMjA3LCAyNSwgNSwgMjI2LCAzOCwgMjA3LCAyNSwgNSwgCi0gICAgMjI2LCA1NywgMjA3LCAyNSwgNSwgMjI2LCA0OCwgMjA3LCA1LCAyMjYsIDYwLCAyMDcsIDUsIDIxMywgMTUyLCAyMDcsIAotICAgIDExNywgNSwgMjI1LCAyNTIsIDE4NiwgMjA3LCAxMTcsIDUsIDIyNSwgMjUyLCAyMTIsIDY1LCAyMDcsIDEsIDIzNCwgMTM4LCAKLSAgICAyMDcsIDEsIDIxNywgMjMyLCAyMDcsIDIxLCAyMTAsIDg2LCAyMDcsIDIxLCAxMTEsIDIwNywgMjEsIDEwNSwgMjA3LCAyMSwgCi0gICAgMTU4LCAyMDcsIDIxLCAxNjEsIDIwNywgMjEsIDE5MCwgMjA3LCAyMSwgMTk1LCAyMDcsIDIxLCAxOTksIDIwNywgMjEsIAotICAgIDE5NiwgMjA3LCAyMSwgMjAxLCAyMDcsIDI1MywgMTgzLCAyMDcsIDEsIDIyMywgNTUsIDIwNywgMSwgMjMzLCAxMywgMjA3LCAKLSAgICAxLCAyNTIsIDI2LCAyMDcsIDEsIDQwLCAyMzUsIDI5LCAyMDcsIDEsIDQwLCAxOTQsIDI1MiwgMTI4LCAxLCA2MSwgMjUyLCAKLSAgICAxMjgsIDEsIDIxOSwgMTY2LCA2MSwgMjUyLCAxMjgsIDEsIDE2MiwgMjUyLCAxMjgsIDEsIDIxOSwgMTY2LCAxNjIsIDI1MiwgCi0gICAgMTI4LCAxLCAyMzEsIDE4NiwgMTYyLCAyNTIsIDEyOCwgMSwgMjUyLCAxOTksIDI1MiwgMTI4LCAxLCAyMzQsIDIxOCwgMjUyLCAKLSAgICAxOTksIDI1MiwgMTI4LCAxLCAxOTEsIDI1MiwgMTI4LCAxLCAyMTksIDE2NiwgMTkxLCAyNTIsIDEyOCwgMSwgMTk4LCAyNTIsIAotICAgIDEyOCwgMSwgMjMxLCAxODYsIDE5OCwgMjUyLCAxMjgsIDEsIDIxMiwgNjUsIDI1MiwgMTI4LCAxLCAyMTksIDE2NiwgMjEyLCAKLSAgICA2NSwgMjUyLCAxMjgsIDEsIDIyNiwgNzEsIDIxMiwgNjUsIDI1MiwgMTI4LCAxLCAyNDMsIDE0MiwgMjUyLCAxMjgsIDEsIAotICAgIDIxOSwgMTY2LCAyNDMsIDE0MiwgMjUyLCAxMjgsIDEsIDIzNSwgMTQ3LCAyNTIsIDEyOCwgMSwgMjQ4LCAyMjksIDI1MiwgCi0gICAgMTI4LCAxLCAyMDUsIDI1MiwgMTI4LCAxLCAyMTksIDE2NiwgMjA1LCAyNTIsIDEyOCwgMSwgMTg2LCAyNTIsIDEyOCwgMSwgCi0gICAgMjE5LCAxNjYsIDE4NiwgMjUyLCAxMjgsIDEsIDIxOSwgMjgsIDIxNywgMTA2LCAyNTIsIDEyOCwgMSwgMjI4LCA2MCwgMjE3LCAKLSAgICAxMDYsIDI1MiwgMTI4LCAxLCAyMDYsIDI1MiwgMTI4LCAxLCAyMTksIDE2NiwgMjA2LCAyNTIsIDEyOCwgMSwgMjMxLCAxODYsIAotICAgIDIwNiwgMjUyLCAxMjgsIDEsIDE5MiwgMjUyLCAxMjgsIDEsIDIxOSwgMTY2LCAxOTIsIDI1MiwgMTI4LCAxLCAyMjksIDgyLCAKLSAgICAyNTIsIDEyOCwgMSwgMjMzLCAxNDEsIDI1MiwgMTI4LCAxLCAyMTksIDE2NiwgMjMzLCAxNDEsIDI1MiwgMTI4LCAxLCAyMjcsIAotICAgIDE2OSwgMjUyLCAxMjgsIDEsIDI1MSwgNDEsIDI1MiwgMTI4LCAxLCAyMjksIDE1MywgMjUyLCAxMjgsIDEsIDIzMSwgMTI5LCAKLSAgICAyNTIsIDEyOCwgMSwgNzQsIDI1MiwgMTI4LCAxLCA2OSwgMjUyLCAxMjgsIDUsIDIxNiwgMzQsIDI1MiwgMTI4LCAyNSwgNSwgCi0gICAgNzYsIDI1MiwgMTI4LCAyNSwgNSwgMjI2LCA3MSwgNzYsIDI1MiwgMTI4LCAyNSwgNSwgMjQ1LCAyMTcsIDI1MiwgMTI4LCAKLSAgICAyNSwgNSwgNzQsIDI1MiwgMTI4LCAyNSwgNSwgMjM0LCAyMTgsIDc0LCAyNTIsIDEyOCwgMjUsIDUsIDc4LCAyNTIsIDEyOCwgCi0gICAgMjUsIDUsIDIzNCwgMjE4LCA3OCwgMjUyLCAxMjgsIDI1LCA1LCA2OSwgMjUyLCAxMjgsIDI1LCA1LCAxMDQsIDMxLCAyMTksIAotICAgIDE2NiwgMjA2LCAyNTIsIDEyOCwgMTE3LCA1LCAyMjksIDg0LCAyNTIsIDEyOCwgMTE3LCA1LCAyNDIsIDY3LCAyNTIsIDEyOCwgCi0gICAgMjI2LCA0MSwgMjUyLCAxMjgsIDIyNiwgMzcsIDI1MiwgMTI4LCAxNiwgMjUxLCAyNDksIDIyOSwgMjM0LCAyMzEsIDQyLCAKLSAgICAyNTIsIDEyOCwgMTYsIDI1MSwgMjQ5LCAyMjUsIDY3LCAyNTIsIDEyOCwgMTYsIDI1MSwgMjQ5LCAyMzUsIDU0LCAyNTIsIAotICAgIDEyOCwgMTYsIDI1MSwgMjQ5LCAyMjYsIDQxLCAxOTcsIDEsIDE3NiwgMTk3LCAxLCAyMzQsIDQ1LCAxOTcsIDEsIDIzNCwgCi0gICAgMTM4LCAxOTcsIDEsIDI0MywgMTQyLCAxOTcsIDEsIDI0MiwgMTkzLCAxOTcsIDEsIDIyOSwgODIsIDE5NywgMSwgMjUxLCAKLSAgICA0MSwgMTk3LCAxLCAyNTAsIDE2NSwgMTk3LCAxLCAyMzUsIDE0NywgMTk3LCAxLCAyMjcsIDE2OSwgMTk3LCAxLCAyMTcsIAotICAgIDEwNiwgMTk3LCAxLCAyMTYsIDIwOSwgMTk3LCAxLCAyNDgsIDIyOSwgMTk3LCAxLCAxOTgsIDE5NywgMSwgMTkxLCAxOTcsIAotICAgIDEsIDIyNSwgNDUsIDE5NywgMSwgMjI1LCAxNTAsIDE5NywgMSwgMjQ0LCAyMDQsIDE5NywgMSwgMjQ0LCA4MywgMTk3LCAxLCAKLSAgICAyNTIsIDE5OSwgMTk3LCAxLCAyNTEsIDIzMCwgMTk3LCAxLCAxODYsIDE5NywgMSwgMjMwLCAxNzMsIDE5NywgMSwgMjE1LCAKLSAgICAxODQsIDE5NywgMSwgMjE1LCAxNzYsIDE5NywgMSwgMjQ2LCA0NiwgMTk3LCAxLCAxOTIsIDE5NywgMSwgMjA1LCAxOTcsIDEsIAotICAgIDIzMywgMTQxLCAxOTcsIDEsIDE2MiwgMTk3LCAxLCAyNDEsIDE2MCwgMTk3LCAxLCAyMTQsIDI3LCAxOTcsIDEsIDIwNiwgCi0gICAgMTk3LCAxLCAyMjAsIDEwNCwgMTk3LCAxLCAyMTIsIDY1LCAxOTcsIDEsIDYxLCAxOTcsIDIxOCwgNzQsIDEsIDE5MiwgMTk3LCAKLSAgICAyMTgsIDc0LCAxLCAyMDUsIDE5NywgMjUsIDUsIDI1NSwgODIsIDE5NywgMjUsIDUsIDc0LCAxOTcsIDI1LCA1LCA3OCwgCi0gICAgMTk3LCAyNSwgNSwgMjI2LCAxODcsIDE5NywgMjUsIDUsIDY5LCAxOTcsIDI1LCA1LCAyMTQsIDExOCwgMTk3LCAyNSwgNSwgCi0gICAgNzYsIDE5NywgMTE3LCA1LCAyMzUsIDI5LCAxOTcsIDExNywgNSwgMTk0LCAxOTcsIDExNywgNSwgMTU2LCAxOTcsIDExNywgCi0gICAgNSwgMjMwLCAzMCwgMTk3LCAxMTcsIDUsIDIyNiwgMTA5LCAxOTcsIDExNywgNSwgMTUzLCAxOTcsIDExNywgNSwgMjE3LCAKLSAgICAxNTMsIDE5NywgMTE3LCA1LCAyMjcsIDE0NiwgMTk3LCAxMTcsIDUsIDIzNCwgMjM2LCAxOTcsIDUsIDIyMywgMTUzLCAxOTcsIAotICAgIDUsIDIyNywgMjA5LCAxOTcsIDIyNCwgMTQ0LCAyMTcsIDEwNCwgMTk3LCAyMjQsIDE0NCwgMjI3LCAxNTYsIDIxNiwgMTIxLCAKLSAgICAyMTcsIDEwNCwgMTk3LCAyMjQsIDE0NCwgMjUwLCAxNzIsIDE5NywgMjI0LCAxNDQsIDIxNSwgMTcxLCAyNTAsIDE3MiwgCi0gICAgMTk3LCAyMjQsIDE0NCwgMjE1LCAxNzAsIDE5NywgMjEsIDIxMCwgODYsIDE5NywgMjEsIDExMSwgMTk3LCAyMSwgMTA1LCAKLSAgICAxOTcsIDIxLCAxNTgsIDE5NywgMjEsIDE2MSwgMTk3LCAyMSwgMTkwLCAxOTcsIDIxLCAxOTUsIDE5NywgMjEsIDE5OSwgCi0gICAgMTk3LCAyMSwgMTk2LCAxOTcsIDIxLCAyMDEsIDE5NywgMSwgMjE1LCAxNTcsIDE5NywgMSwgMjE1LCAxNDUsIDE5NywgMSwgCi0gICAgMjQ4LCAxNDMsIDIyNiwgMjE0LCAyNTAsIDExMSwgMjEsIDIxMCwgODYsIDIyNiwgMjE0LCAyNTAsIDExMSwgMjEsIDExMSwgCi0gICAgMjI2LCAyMTQsIDI1MCwgMTExLCAyMSwgMTA1LCAyMjYsIDIxNCwgMjUwLCAxMTEsIDIxLCAxNTgsIDIyNiwgMjE0LCAyNTAsIAotICAgIDExMSwgMjEsIDE2MSwgMjI2LCAyMTQsIDI1MCwgMTExLCAyMSwgMTkwLCAyMjYsIDIxNCwgMjUwLCAxMTEsIDIxLCAxOTUsIAotICAgIDIyNiwgMjE0LCAyNTAsIDExMSwgMjEsIDE5OSwgMjI2LCAyMTQsIDI1MCwgMTExLCAyMSwgMTk2LCAyMjYsIDIxNCwgMjUwLCAKLSAgICAxMTEsIDIxLCAyMDEsIDIyNiwgMjE0LCAyNTAsIDExMSwgMSwgMjMzLCAxNDEsIDIyNiwgMjE0LCAyNTAsIDExMSwgMSwgCi0gICAgMjUzLCAyMTQsIDIyNiwgMjE0LCAyNTAsIDExMSwgMSwgMjU0LCAyMjUsIDIyNiwgMjE0LCAyNTAsIDExMSwgMSwgMjU0LCAKLSAgICAxMjMsIDIyNiwgMjE0LCAyNTAsIDExMSwgMSwgMjU0LCAxODcsIDIyNiwgMjE0LCAyNTAsIDExMSwgMSwgMjMzLCAxNDAsIAotICAgIDIyNiwgMjE0LCAyNTAsIDExMSwgMSwgMjU1LCA0NCwgMjI2LCAyMTQsIDI1MCwgMTExLCAxLCAyNTUsIDQ1LCAyMjYsIDIxNCwgCi0gICAgMjUwLCAxMTEsIDEsIDI1NSwgNDMsIDIyNiwgMjE0LCAyNTAsIDExMSwgMSwgMjU1LCAzOCwgMjI2LCAyMTQsIDI1MCwgMTExLCAKLSAgICAxLCAyMzIsIDI0NywgMjI2LCAyMTQsIDI1MCwgMTExLCAxLCAyMzUsIDE3OCwgMjI2LCAyMTQsIDI1MCwgMTExLCAxLCAyMzYsIAotICAgIDQxLCAyMjYsIDIxNCwgMjUwLCAxMTEsIDEsIDIzNSwgMTk3LCAyMjYsIDIxNCwgMjUwLCAxMTEsIDEsIDIzNSwgMTg2LCAKLSAgICAyMjYsIDIxNCwgMjUwLCAxMTEsIDEsIDIzMiwgMTAzLCAyMjYsIDIxNCwgMjUwLCAxMTEsIDEsIDIxNCwgMjIxLCAyMjYsIAotICAgIDIxNCwgMjUwLCAxMTEsIDEsIDIxNCwgMjE5LCAyMjYsIDIxNCwgMjUwLCAxMTEsIDEsIDIxNCwgMTY4LCAyMjYsIDIxNCwgCi0gICAgMjUwLCAxMTEsIDEsIDIxNCwgMTExLCAyMjYsIDIxNCwgMjUwLCAxMTEsIDEsIDIzMywgNjQsIDIyNiwgMjE0LCAyNTAsIAotICAgIDExMSwgMSwgMjQ1LCAxMTYsIDIyNiwgMjE0LCAyNTAsIDExMSwgMSwgMjQ1LCAyMjAsIDIyNiwgMjE0LCAyNTAsIDExMSwgMSwgCi0gICAgMjQ1LCAxNTgsIDIyNiwgMjE0LCAyNTAsIDExMSwgMSwgMjQ1LCA5NCwgMjI2LCAyMTQsIDI1MCwgMTExLCAxLCAyMzIsIAotICAgIDE2MiwgMjI2LCAyMTQsIDI1MCwgMTExLCAxLCAyMjYsIDE0MSwgMjI2LCAyMTQsIDI1MCwgMTExLCAxLCAyMjcsIDAsIDIyNiwgCi0gICAgMjE0LCAyNTAsIDExMSwgMSwgMjI2LCAxMjksIDIyNiwgMjE0LCAyNTAsIDExMSwgMSwgMjI2LCAyMjYsIDIyNiwgMjE0LCAKLSAgICAyNTAsIDExMSwgMjMwLCAxMDgsIDIxNSwgMTIyLCAyMjYsIDIxNCwgMjUwLCAxMTEsIDI0MywgMTM3LCAyMTUsIDEyMywgCi0gICAgMjI2LCAyMTQsIDI1MCwgMTExLCAyMzAsIDEwNiwgMjE1LCAxMjMsIDIyNiwgMjE0LCAyNTAsIDExMSwgMjIzLCA5NSwgMjI2LCAKLSAgICAyMTQsIDI1MCwgMTExLCAyMjUsIDE0OCwgMjI2LCAyMTQsIDI1MCwgMTExLCAyNTQsIDIxNywgMjI2LCAyMTQsIDI1MCwgCi0gICAgMTExLCAyMjQsIDE0NCwgMjMwLCAxMDMsIDIyNiwgMjE0LCAyNTAsIDExMSwgMjI0LCAxNDQsIDUyLCAyMzAsIDEwMywgMjA3LCAKLSAgICAyMjQsIDE0NCwgMjUxLCAyNDksIDIxOCwgOSwgMjA3LCAyMjQsIDE0NCwgMjUxLCAyNDksIDIyNiwgNDIsIDIwNywgMjI0LCAKLSAgICAxNDQsIDI1MSwgMjQ5LCAyMjQsIDEzMiwgMjA3LCAyMjQsIDE0NCwgMjUxLCAyNDksIDI1MSwgMjcsIDIwNywgMjI0LCAxNDQsIAotICAgIDI1MSwgMjQ5LCAyMzMsIDE0LCAyMjEsIDIyNywgMjA3LCAyMjQsIDE0NCwgMjUxLCAyNDksIDIzNSwgMTksIDIyMSwgMjI3LCAKLSAgICAyMDcsIDIyNCwgMTQ0LCAyNTEsIDI0OSwgMjQ4LCAyMzAsIDIyMSwgMjI3LCAyMDcsIDIyNCwgMTQ0LCAyNTEsIDI0OSwgCi0gICAgMjUyLCAyMDAsIDIyMSwgMjI3LCAyMTMsIDI1MiwgMTM4LCAyMzQsIDIxNiwgMjEzLCAyNTIsIDEzOCwgMjIwLCA3OSwgMjEzLCAKLSAgICAyNTIsIDEzOCwgMjI0LCAyMDEsIDIxMywgMjUyLCA1LCAyMjgsIDIxNCwgMjEzLCAyNTIsIDUsIDIxMSwgODAsIDIzMCwgCi0gICAgMjI3LCAyMTgsIDEsIDIxMywgMjUyLCAxMzgsIDIxMSwgODAsIDI1NCwgMjIyLCAyMzUsIDI1MCwgMjE4LCAxLCAyMTMsIAotICAgIDI1MiwgMTM4LCAyMTEsIDgwLCAyMzUsIDI1MCwgMjE4LCAxLCAyMTMsIDI1MiwgMTM4LCAyMTEsIDgwLCAyMzQsIDIwNCwgCi0gICAgMjM1LCAyNTAsIDIxOCwgMSwgMjEzLCAyNTIsIDEzOCwgMjUxLCAxMCwgNTEsIDIxMywgMjUyLCAxMzgsIDIxMSwgODAsIAotICAgIDIzNCwgMjA0LCAyMzUsIDI1MCwgMjE4LCAyLCAyMjEsIDE5OSwgMjEzLCAyNTIsIDEzOCwgNTIsIDIxOCwgMSwgMjEzLCAKLSAgICAyNTIsIDEzOCwgMjE1LCAyMTIsIDIxOCwgMSwgMjEzLCAyNTIsIDEzOCwgMjM0LCAyMDQsIDI1NCwgODUsIDIxMywgMjUyLCAKLSAgICAxMzgsIDU5LCA1MSwgMjEzLCAyNTIsIDEzOCwgMTEzLCAxNzAsIDUxLCAyMTMsIDI1MiwgMTM4LCAxMzQsIDE3MCwgNTEsIAotICAgIDIxMywgMjUyLCAxMzgsIDIyMiwgMjQzLCAyMzQsIDIxNSwgMjM1LCAyNTAsIDIxOCwgMSwgMjEzLCAyNTIsIDEzOCwgMjUzLCAKLSAgICAyMTIsIDIzNSwgMjUwLCAyMTgsIDEsIDIxMywgMjUyLCA1LCAyMTMsIDE0OCwgMjE4LCAxLCAyMTMsIDI1MiwgNSwgMjEzLCAKLSAgICAxNDgsIDIxNCwgMjE2LCAyMTMsIDI1MiwgNSwgMjIzLCA1MiwgMjEzLCAxNDgsIDIxNCwgMjE2LCAyMTMsIDI1MiwgNSwgCi0gICAgMjEzLCAxNDgsIDI1NCwgODUsIDIxMywgMjUyLCA1LCAyMjMsIDUyLCAyMTMsIDE0OCwgMjU0LCA4NSwgMjEzLCAyNTIsIDUsIAotICAgIDIxMywgMTQ4LCAyMTQsIDIxNywgMiwgMjE3LCA3OCwgMjEzLCAyNTIsIDUsIDIxMywgMTQ4LCAyNTQsIDg2LCAyLCAyMTcsIAotICAgIDc4LCAyMTMsIDI1MiwgNSwgMjU0LCA4NCwgMjU0LCA5OSwgMjEzLCAyNTIsIDUsIDI1NCwgODQsIDI1MiwgMTc0LCAyMTMsIAotICAgIDI1MiwgNSwgMjU0LCA4NCwgMjE0LCAyMCwgMjEzLCAyNTIsIDUsIDI1NCwgODQsIDIxNCwgMjEsIDIsIDIxNywgNzgsIDIxMywgCi0gICAgMjUyLCA1LCAyMTYsIDY5LCAyMTMsIDI1MiwgNSwgMjQxLCAxOTgsIDIwMCwgMjU0LCA4MywgMjEzLCAyNTIsIDUsIDIwMCwgCi0gICAgMjU0LCA4MywgMjEzLCAyNTIsIDUsIDIyMiwgMTQ0LCAyMDAsIDI1NCwgODMsIDIxMywgMjUyLCA1LCAyNTQsIDg0LCAyMTQsIAotICAgIDIyMywgMjMwLCA5NSwgMjEzLCAyNTIsIDUsIDI1NCwgMjgsIDIxMywgMjUyLCA1LCAyMjIsIDE4OSwgMjU0LCAyOCwgMjEzLCAKLSAgICAyNTIsIDEzOCwgMjUxLCAxMCwgNDgsIDIxMywgMjUyLCA1LCAyMzUsIDEwOCwgMjEzLCAyNTIsIDUsIDIxNCwgMTYxLCA3LCAKLSAgICAxLCA0LCA2LCA2MSwgNywgMSwgNCwgNiwgMjU0LCAyNTIsIDcsIDQsIDEsIDIxNSwgOTQsIDI1NCwgMjUyLCA3LCAxLCA0LCAKLSAgICA2LCAyNTIsIDE0MiwgMjUzLCAxNjYsIDcsIDEsIDQsIDYsIDI1MSwgNzQsIDcsIDEsIDQsIDYsIDI0OSwgNjgsIDcsIDEsIDQsIAotICAgIDYsIDI0NSwgNjcsIDcsIDEsIDQsIDYsIDc2LCA3LCA0LCAxLCAyMTUsIDk0LCAyMDQsIDc2LCA3LCA0LCAxLCAyMTUsIDk0LCAKLSAgICA3NCwgNywgMSwgNCwgNiwgMjM1LCAxNTAsIDcsIDEsIDQsIDYsIDIzNSwgMjksIDcsIDEsIDQsIDYsIDIzMywgMTU1LCAyLCAKLSAgICA5MSwgNywgMSwgNCwgNiwgMTk0LCA3LCAxLCA0LCA2LCAyMjMsIDUyLCAyMzAsIDMwLCA3LCAxLCA0LCA2LCA3OCwgNywgMSwgCi0gICAgNCwgNiwgMjA0LCA3OCwgNywgNCwgMSwgMjE5LCAxODksIDc4LCA3LCA0LCAxLCAyMTksIDE4OSwgMjA0LCA3OCwgNywgNCwgCi0gICAgMSwgMjE5LCAxODksIDE0NCwgMiwgOTEsIDcsIDQsIDEsIDIxNSwgOTQsIDIyNiwgMjM4LCA3LCAxLCA0LCA2LCAyMjYsIAotICAgIDEzOCwgNywgNCwgMSwgMjE2LCAxNSwgMTYzLCA3OCwgNywgNCwgMSwgMjUxLCAxODMsIDE2MywgNzgsIDcsIDEsIDQsIDYsIAotICAgIDIyNiwgMTA5LCA3LCAxLCA0LCA2LCAyMjMsIDUyLCAxNTMsIDcsIDEsIDQsIDYsIDIxNSwgOTQsIDE1MywgNywgMSwgNCwgNiwgCi0gICAgMjE3LCAxNTMsIDcsIDEsIDQsIDYsIDY5LCA3LCA0LCAxLCAyMTksIDE4OSwgNjksIDcsIDQsIDEsIDIxOSwgMTg5LCAyNDgsIAotICAgIDgsIDY5LCA3LCA0LCAxLCAyMTksIDE4OSwgMjE1LCA5NCwgMTk0LCA3LCAxLCA0LCA2LCAyMTQsIDEwNSwgNywgMSwgNCwgNiwgCi0gICAgMjEyLCA5OCwgNywgMSwgNCwgNiwgMjEwLCAxNTksIDcsIDEsIDQsIDYsIDI0NSwgMTYsIDcsIDEsIDIxMywgMTM1LCAyMzMsIAotICAgIDg4LCAyMTgsIDI1MiwgNywgMSwgMjU0LCAyMDUsIDI2LCAxLCA0LCA2LCAyNDMsIDExNCwgMjYsIDEsIDQsIDYsIDIzMywgCi0gICAgMTA0LCAyNiwgMSwgNCwgNiwgMjI1LCAxMTEsIDI2LCAxLCA0LCA2LCAyMjMsIDQwLCAyNiwgMSwgNCwgNiwgMjI0LCAxNjQsIAotICAgIDMzLCAxLCA0LCA2LCAyNDUsIDE4MiwgNTgsIDEsIDYsIDYxLCA1OCwgMSwgNiwgMjU0LCAyNTIsIDU4LCAxLCA2LCAyNTMsIAotICAgIDE2NiwgNTgsIDEsIDYsIDI1MiwgMTQyLCAyNTMsIDE2NiwgNTgsIDEsIDYsIDI0OSwgNjgsIDU4LCAxLCA2LCA3NiwgNTgsIAotICAgIDEsIDYsIDIyMywgNTIsIDc2LCA1OCwgMSwgNiwgMjQzLCAyMDksIDU4LCAxLCA2LCAyNDIsIDY3LCA1OCwgMSwgNiwgNzQsIAotICAgIDU4LCAxLCA2LCAyMzUsIDE1MCwgNTgsIDEsIDYsIDIzNSwgMjksIDU4LCAxLCA2LCAxNTYsIDU4LCAxLCA2LCAxOTQsIDU4LCAKLSAgICAxLCA2LCAyMzAsIDMwLCA1OCwgMSwgNiwgMjIzLCA1MiwgMjMwLCAzMCwgNTgsIDEsIDYsIDc4LCA1OCwgMSwgNiwgMjI2LCAKLSAgICAxMzgsIDU4LCAxLCA2LCAyMjYsIDEwOSwgNTgsIDEsIDYsIDE1MywgNTgsIDEsIDYsIDIxNywgMTUzLCA1OCwgMSwgNiwgNjksIAotICAgIDU4LCAxLCA2LCAyMTIsIDk4LCA1OCwgMSwgNCwgNjEsIDU4LCAxLCA0LCAyMTUsIDk0LCA2MSwgNTgsIDEsIDQsIDI1NCwgCi0gICAgMTUxLCA1OCwgMSwgNCwgMjE1LCA5NCwgMjU0LCAyNTIsIDU4LCAxLCA0LCAyNTMsIDE2NiwgNTgsIDEsIDQsIDI0OSwgNjgsIAotICAgIDU4LCAxLCA0LCA3NiwgNTgsIDEsIDQsIDIyMSwgMTk3LCA1OCwgMSwgNCwgMjA0LCA3NiwgNTgsIDEsIDQsIDIxNSwgOTQsIAotICAgIDIwNCwgNzYsIDU4LCAxLCA0LCAyNDMsIDIwOSwgNTgsIDEsIDQsIDIxNSwgOTQsIDc0LCA1OCwgMSwgNCwgMjM1LCAyOSwgCi0gICAgNTgsIDEsIDQsIDE5NCwgNTgsIDEsIDQsIDI0NSwgMTQ2LCA1OCwgMSwgNCwgNzgsIDU4LCAxLCA0LCAyMDQsIDc4LCA1OCwgCi0gICAgMSwgNCwgMjE2LCAxNSwgMTYzLCA3OCwgNTgsIDEsIDQsIDI1MSwgMTgzLCAxNjMsIDc4LCA1OCwgMSwgNCwgMjI2LCAxMDksIAotICAgIDU4LCAxLCA0LCAyMTcsIDE1MywgNTgsIDEsIDQsIDY5LCA1OCwgMSwgNCwgMjE5LCAxODksIDY5LCA1OCwgMSwgNCwgMjE1LCAKLSAgICA5NCwgMTk0LCA1OCwgMSwgNCwgMjE0LCAxMDUsIDU4LCAxLCA0LCAyNTQsIDIwNSwgNTgsIDEsIDQsIDI1MiwgMzQsIDU4LCAKLSAgICAxLCA0LCAyNiwgMjQzLCAxMTQsIDU4LCAxLCA0LCAyNDgsIDYyLCA1OCwgMSwgNCwgMjYsIDIyNSwgMTM2LCA1OCwgMSwgNCwgCi0gICAgMjUwLCAxMTgsIDcsIDIxOCwgNjYsIDQsIDEsIDc0LCA3LCAyMTgsIDY2LCA0LCAxLCAxNTMsIDcsIDIxOCwgNjYsIDQsIDEsIAotICAgIDY5LCA3LCAyMTgsIDY2LCA0LCAxLCAyMTQsIDEwNSwgMjYsIDIxOCwgNjYsIDQsIDEsIDI1MiwgMzQsIDI2LCAyMTgsIDY2LCAKLSAgICA0LCAxLCAyNDMsIDExNCwgMjYsIDIxOCwgNjYsIDQsIDEsIDIyMywgNDAsIDI2LCAyMTgsIDY2LCA0LCAxLCAyMjUsIDEzNiwgCi0gICAgMjYsIDIxOCwgNjYsIDQsIDEsIDI1MCwgMTE4LCA3LCA0LCAxLCAyMTQsIDIxNCwgNywgNCwgMSwgNTcsIDIsIDIzMCwgMjI5LCAKLSAgICAxODQsIDcsIDQsIDEsIDI0OSwgNjksIDIsIDIzMCwgMjI5LCAxODQsIDcsIDQsIDEsIDI0NSwgMTUsIDIsIDIzMCwgMjI5LCAKLSAgICAxODQsIDcsIDQsIDEsIDIzMiwgNTUsIDIsIDIzMCwgMjI5LCAxODQsIDcsIDQsIDEsIDIzMCwgMzEsIDIsIDIzMCwgMjI5LCAKLSAgICAxODQsIDcsIDQsIDEsIDIyNiwgMTEwLCAyLCAyMzAsIDIyOSwgMTg0LCA3LCA0LCAxLCAyMjMsIDIyNywgMiwgMjMwLCAyMjksIAotICAgIDE4NCwgNywgNCwgMSwgMjIzLCAyMjcsIDIsIDI0NCwgOTYsIDIyLCAyMzAsIDIyOSwgMTg0LCA3LCA0LCAxLCAyMjIsIDk0LCAKLSAgICAyLCAyMzAsIDIyOSwgMTg0LCA3LCA0LCAxLCAyMTcsIDE1NCwgMiwgMjMwLCAyMjksIDE4NCwgNywgNCwgMSwgMjEwLCAxNjAsIAotICAgIDIsIDIzMCwgMjI5LCAxODQsIDcsIDQsIDEsIDIxNSwgOTQsIDI0MywgMjA5LCA1OCwgMSwgMzMsIDI0NSwgMTU4LCA3LCA0LCAKLSAgICAxLCAyMzUsIDIyMCwgMjQzLCAyMDksIDcsIDQsIDEsIDIxNiwgMjEyLCAyLCAyMTgsIDEwOSwgNywgNCwgNiwgMSwgMjQwLCAKLSAgICAxNjEsIDIsIDkxLCA3LCA0LCAxLCAyMzUsIDE5MywgMiwgOTEsIDcsIDQsIDEsIDIyNiwgMTEwLCAyLCA5MSwgNywgNCwgNiwgCi0gICAgMSwgMTA0LCAyLCA5MSwgNywgNCwgMSwgMjE0LCAxNTgsIDIsIDkxLCA3LCA0LCAxLCA1NywgMiwgMjI2LCA3MCwgMTAzLCA3LCAKLSAgICA0LCAxLCAyNDksIDY5LCAyLCAyMjYsIDcwLCAxMDMsIDcsIDQsIDEsIDI0NSwgMTUsIDIsIDIyNiwgNzAsIDEwMywgNywgNCwgCi0gICAgMSwgMjQzLCAyMTAsIDIsIDIyNiwgNzAsIDEwMywgNywgNCwgMSwgMjM1LCAzMCwgMiwgMjI2LCA3MCwgMTAzLCA3LCA0LCAxLCAKLSAgICAyMzMsIDE1NSwgMiwgMjI2LCA3MCwgMTAzLCA3LCA0LCAxLCAyMzIsIDU1LCAyLCAyMjYsIDcwLCAxMDMsIDcsIDQsIDEsIAotICAgIDIzMCwgMzEsIDIsIDIyNiwgNzAsIDEwMywgNywgNCwgMSwgMjI2LCAxMTAsIDIsIDIyNiwgNzAsIDEwMywgNywgNCwgMSwgCi0gICAgMjIzLCAyMjcsIDIsIDIyNiwgNzAsIDEwMywgNywgNCwgMSwgMjIyLCA5NCwgMiwgMjI2LCA3MCwgMTAzLCA3LCA0LCAxLCAKLSAgICAyNDUsIDg0LCAyLCAyMjYsIDcwLCAxMDMsIDcsIDQsIDEsIDIxNCwgMTA2LCAyLCAyMjYsIDcwLCAxMDMsIDcsIDQsIDEsIAotICAgIDIxMSwgMTc5LCAyLCAyMjYsIDcwLCAxMDMsIDcsIDQsIDEsIDIxMCwgMTYwLCAyLCAyMjYsIDcwLCAxMDMsIDcsIDQsIDEsIAotICAgIDExNiwgMiwgMjIzLCA1OCwgMTAzLCA3LCA0LCAxLCAyNTQsIDE1MiwgMiwgMjIzLCA1OCwgMTAzLCA3LCA0LCAxLCAyNDksIAotICAgIDY5LCAyLCAyNDEsIDU5LCAyMiwgMjE3LCA3OCwgNywgNCwgMSwgMTYwLCAyLCAyMjMsIDU4LCAxMDMsIDcsIDQsIDEsIDIwNCwgCi0gICAgMTYwLCAyLCAyMjMsIDU4LCAxMDMsIDcsIDQsIDEsIDIyMywgNTIsIDIwNCwgMTYwLCAyLCAyMjMsIDU4LCAxMDMsIDcsIDQsIAotICAgIDEsIDIyMSwgMTk4LCAyLCAyMjMsIDU4LCAxMDMsIDcsIDQsIDEsIDI0MCwgMTYxLCAyLCAyMjMsIDU4LCAxMDMsIDcsIDQsIAotICAgIDEsIDIwNCwgMTQ0LCAyLCAyMjMsIDU4LCAxMDMsIDcsIDQsIDEsIDI0NSwgODQsIDIsIDIyMywgNTgsIDEwMywgNywgNCwgMSwgCi0gICAgMTA0LCAyLCAyMjMsIDU4LCAxMDMsIDcsIDQsIDEsIDI0NSwgMTcsIDIsIDIyMywgNTgsIDEwMywgNTgsIDEsIDQsIDIxNSwgCi0gICAgOTQsIDI1NCwgMTUxLCA1OCwgMSwgNCwgMjUxLCA3NCwgNTgsIDEsIDQsIDI1MSwgNzUsIDIsIDI0OSwgMTA4LCA1OCwgMSwgCi0gICAgNCwgMjQ1LCA2NywgNTgsIDEsIDQsIDIyMywgNTIsIDIwNCwgNzYsIDU4LCAxLCA0LCAyNDUsIDE0LCA1OCwgMSwgNCwgMjQ3LCAKLSAgICAxMjcsIDIzNSwgMTUxLCAyLCA5MSwgNTgsIDEsIDQsIDExOSwgMjQzLCAyMDksIDU4LCAxLCA0LCAyMTUsIDk0LCAyNDIsIAotICAgIDY3LCA1OCwgMSwgNCwgMjQwLCAxNjEsIDIsIDkxLCA1OCwgMSwgNCwgMjM1LCAxOTIsIDU4LCAxLCA0LCA2LCA3NCwgNTgsIAotICAgIDEsIDQsIDYsIDI0MCwgMTYxLCAyLCA5MSwgNTgsIDEsIDQsIDIzNSwgMTUxLCAyLCAyNDksIDEzNSwgNTgsIDEsIDQsIDIzMywgCi0gICAgMTU1LCAyLCAyMjMsIDU4LCAxMDMsIDU4LCAxLCA0LCAyMzMsIDE1NSwgMiwgMjI2LCA3MCwgMTAzLCA1OCwgMSwgNCwgNiwgCi0gICAgMTU2LCA1OCwgMSwgNCwgMjMyLCA1NSwgMiwgMTAzLCA1OCwgMSwgNCwgMjE1LCA5NCwgMjMyLCA1NSwgMiwgMjAwLCAyMzMsIAotICAgIDQyLCA1OCwgMSwgNCwgMjMwLCAzMSwgMiwgNDMsIDEwMywgNTgsIDEsIDQsIDIzMCwgMzEsIDIsIDIyMywgNTgsIDEwMywgCi0gICAgNTgsIDEsIDQsIDYsIDIzMCwgMzAsIDU4LCAxLCA0LCAyNTIsIDE0MiwgNzgsIDU4LCAxLCA0LCAyMjUsIDEzNiwgNTgsIDEsIAotICAgIDQsIDIyMiwgOTQsIDIsIDEwMywgNTgsIDEsIDQsIDI0NSwgODMsIDU4LCAxLCA0LCAyMTcsIDE1NCwgMiwgMjI2LCA3MCwgCi0gICAgMTAzLCA1OCwgMSwgNCwgMTA0LCAxMzAsIDU4LCAxLCA0LCAyMTQsIDE1NywgNTgsIDEsIDQsIDYsIDY5LCA1OCwgMSwgNCwgCi0gICAgMjE0LCAxMDYsIDIsIDEwMywgNTgsIDEsIDQsIDIxNSwgOTQsIDIxNCwgMTA1LCA1OCwgMSwgNCwgMjEwLCAxNTksIDU4LCAxLCAKLSAgICA0LCAyMTAsIDE2MCwgMiwgMjIzLCA1OCwgMTAzLCA1OCwgMSwgNCwgMjEwLCAxNjAsIDIsIDI0OSwgMTA4LCA1OCwgMSwgNCwgCi0gICAgMjQ1LCAxNiwgNTgsIDEsIDQsIDIxNiwgMTgwLCAzOCwgMjQ2LCAxMjYsIDI0MiwgMTQ0LCAyNTUsIDIzLCAzOCwgMjQ2LCAKLSAgICAxMjYsIDI1NSwgMTIsIDI1NSwgMjMsIDM4LCAyMTksIDcxLCA1MSwgMzgsIDIxOCwgNywgNzksIDM4LCAyMzEsIDIzNiwgMzgsIAotICAgIDI0MiwgMTQxLCAzOCwgMjMxLCAyMzQsIDM4LCAyNTUsIDEwLCAzOCwgMjQyLCAxNDIsIDM4LCAyNTUsIDExLCAzOCwgNywgNCwgCi0gICAgMSwgMjIzLCAyMjcsIDUxLCAzOCwgMjUxLCAxNTMsIDM4LCAyMzEsIDIzNSwgMzgsIDUyLCAyNTAsIDM5LCA0OCwgMzgsIAotICAgIDIyNiwgMjI5LCA0OCwgMzgsIDIxMCwgMzUsIDUxLCAzOCwgMjM1LCAxNzksIDUxLCAzOCwgMjE0LCAxNTEsIDQ4LCAzOCwgCi0gICAgMjE0LCAxMzQsIDQ4LCAzOCwgNywgNCwgMSwgMjQ0LCA3MSwgMjA0LCAxMTYsIDQ4LCAzOCwgNywgNCwgMSwgMjU0LCAyNTIsIAotICAgIDM4LCA3LCA0LCAxLCAyNTQsIDgxLCAzOCwgNywgNCwgMSwgMjUzLCAxODQsIDM4LCA3LCA0LCAxLCAyNTEsIDc1LCAyNTAsIAotICAgIDE5MSwgMzgsIDcsIDQsIDEsIDIzNSwgMjIwLCAyNDksIDY4LCAzOCwgNywgNCwgMSwgMjQ1LCA2NywgMzgsIDcsIDQsIDEsIAotICAgIDI0MywgMjA5LCAzOCwgNywgMSwgNCwgNiwgMjQzLCAyMDksIDM4LCA3LCA0LCAxLCAyMzUsIDI5LCAzOCwgNywgNCwgMSwgCi0gICAgMTU2LCAzOCwgNywgMSwgNCwgNiwgMTU2LCAzOCwgNywgMSwgNCwgNiwgMTk0LCAzOCwgNywgNCwgMSwgMjMwLCAzMCwgMzgsIAotICAgIDcsIDEsIDQsIDYsIDIzMCwgMzAsIDM4LCA3LCAxLCA0LCA2LCAxNTMsIDM4LCA3LCA0LCAxLCAyMjMsIDIyNywgMjIyLCAKLSAgICAxODgsIDM4LCA3LCA0LCAxLCAyMjIsIDkzLCAzOCwgNywgNCwgMSwgMjAwLCAyMjIsIDkzLCAzOCwgNywgNCwgMSwgMjEwLCAKLSAgICAxNTksIDM4LCA1MiwgMjM1LCAyMDAsIDI1MSwgMTU1LCA1MSwgMzgsIDI1NCwgMTU2LCAxMjgsIDIxNiwgNDMsIDUxLCAzOCwgCi0gICAgNDMsIDI1NCwgMiwgNDgsIDM4LCA0NCwgMjU0LCAyLCAyMiwgMTI0LCAyNTQsIDIsIDUxLCA3LCA2LCAxLCAxMTYsIDIsIAotICAgIDIyMiwgMjM3LCA1MSwgNywgNCwgMSwgMTE2LCAyLCAyMjIsIDIzNywgNTEsIDcsIDYsIDEsIDU3LCAyLCA1OSwgNDgsIDcsIAotICAgIDQsIDEsIDU3LCAyLCA1OSwgNDgsIDcsIDYsIDEsIDU3LCAyLCA1OSwgNTEsIDcsIDQsIDEsIDU3LCAyLCA1OSwgNTEsIDcsIAotICAgIDYsIDEsIDU3LCAyLCAyMzIsIDIyMCwgNTEsIDcsIDQsIDEsIDU3LCAyLCAyMzIsIDIyMCwgNTEsIDcsIDYsIDEsIDI1MSwgCi0gICAgNzUsIDIsIDI1MCwgMTkyLCAyMiwgMTQyLCA3LCA0LCAxLCAyNTEsIDc1LCAyLCAyNTAsIDE5MiwgMjIsIDE0MiwgNywgNiwgCi0gICAgMSwgMjQ5LCA2OSwgMiwgNTksIDQ4LCA3LCA0LCAxLCAyNDksIDY5LCAyLCA1OSwgNDgsIDcsIDYsIDEsIDI0OSwgNjksIDIsIAotICAgIDU5LCA1MSwgNywgNCwgMSwgMjQ5LCA2OSwgMiwgNTksIDUxLCA3LCA2LCAxLCAyNDksIDY5LCAyLCAyMzIsIDIyMCwgNTEsIAotICAgIDcsIDQsIDEsIDI0OSwgNjksIDIsIDIzMiwgMjIwLCA1MSwgNywgNiwgMSwgMjQ5LCA2OSwgMiwgMjUwLCAxOTEsIDcsIDQsIAotICAgIDEsIDI0OSwgNjksIDIsIDI1MCwgMTkxLCA3LCA2LCAxLCAyNDksIDY5LCAyLCAyNTAsIDM5LCA1MSwgNywgNCwgMSwgMjQ5LCAKLSAgICA2OSwgMiwgMjUwLCAzOSwgNTEsIDcsIDYsIDEsIDE2MCwgMiwgMjMxLCAyMzgsIDIyLCAyNDIsIDE0MywgNywgNCwgMSwgCi0gICAgMTYwLCAyLCAyMzEsIDIzOCwgMjIsIDI0MiwgMTQzLCA3LCA2LCAxLCAxNjAsIDIsIDIzMSwgMjM4LCAyMiwgMTQyLCA3LCA0LCAKLSAgICAxLCAxNjAsIDIsIDIzMSwgMjM4LCAyMiwgMTQyLCA3LCA2LCAxLCAxNjAsIDIsIDI1MCwgMzksIDUxLCA3LCA0LCAxLCAxNjAsIAotICAgIDIsIDI1MCwgMzksIDUxLCA3LCA2LCAxLCAxNjAsIDIsIDIxNiwgOTAsIDUxLCA3LCA0LCAxLCAxNjAsIDIsIDIxNiwgOTAsIAotICAgIDUxLCA3LCA2LCAxLCAxNjAsIDIsIDI1MCwgMTkyLCAyMiwgMjUxLCAxNTQsIDcsIDQsIDEsIDE2MCwgMiwgMjUwLCAxOTIsIAotICAgIDIyLCAyNTEsIDE1NCwgNywgNiwgMSwgMjQ1LCAxNSwgMiwgNTksIDQ4LCA3LCA0LCAxLCAyNDUsIDE1LCAyLCA1OSwgNDgsIAotICAgIDcsIDYsIDEsIDI0MywgMjEwLCAyLCAyMzEsIDIzNywgNywgNCwgMSwgMjQzLCAyMTAsIDIsIDIzMSwgMjM3LCA3LCA2LCAxLCAKLSAgICAyNDIsIDY4LCAyLCA1OSwgNDgsIDcsIDQsIDEsIDI0MiwgNjgsIDIsIDU5LCA0OCwgNywgNiwgMSwgMjQyLCA2OCwgMiwgNTksIAotICAgIDUxLCA3LCA0LCAxLCAyNDIsIDY4LCAyLCA1OSwgNTEsIDcsIDYsIDEsIDI0MiwgNjgsIDIsIDI0OCwgOSwgNywgNCwgMSwgCi0gICAgMjQyLCA2OCwgMiwgMjQ4LCA5LCA3LCA2LCAxLCAyNDIsIDY4LCAyLCAyNTAsIDE5MSwgNywgNCwgMSwgMjQyLCA2OCwgMiwgCi0gICAgMjUwLCAxOTEsIDcsIDYsIDEsIDI0MiwgNjgsIDIsIDI1MSwgMTU1LCA1MSwgNywgNCwgMSwgMjQyLCA2OCwgMiwgMjUxLCAKLSAgICAxNTUsIDUxLCA3LCA2LCAxLCAyNDAsIDE2MSwgMiwgMjE2LCA5MCwgNTEsIDcsIDQsIDEsIDI0MCwgMTYxLCAyLCAyMTYsIAotICAgIDkwLCA1MSwgNywgNiwgMSwgMjQwLCAxNjEsIDIsIDI0OCwgMTAsIDIyLCAxNDIsIDcsIDQsIDEsIDI0MCwgMTYxLCAyLCAKLSAgICAyNDgsIDEwLCAyMiwgMTQyLCA3LCA2LCAxLCAyMzUsIDMwLCAyLCAxNDIsIDcsIDQsIDEsIDIzNSwgMzAsIDIsIDE0MiwgNywgCi0gICAgNiwgMSwgMjM1LCAzMCwgMiwgNTksIDUxLCA3LCA0LCAxLCAyMzUsIDMwLCAyLCA1OSwgNTEsIDcsIDYsIDEsIDIzNSwgMzAsIAotICAgIDIsIDIzMiwgMjIwLCA1MSwgNywgNCwgMSwgMjM1LCAzMCwgMiwgMjMyLCAyMjAsIDUxLCA3LCA2LCAxLCAyMzMsIDE1NSwgMiwgCi0gICAgNTksIDUxLCA3LCA0LCAxLCAyMzMsIDE1NSwgMiwgNTksIDUxLCA3LCA2LCAxLCAyMzMsIDE1NSwgMiwgNTksIDI1MiwgNTEsIAotICAgIDIyLCAyMzEsIDIzNywgNywgNCwgMSwgMjMzLCAxNTUsIDIsIDU5LCAyNTIsIDUxLCAyMiwgMjMxLCAyMzcsIDcsIDYsIDEsIAotICAgIDIzMywgMTU1LCAyLCAyMzIsIDIyMCwgNTEsIDcsIDQsIDEsIDIzMywgMTU1LCAyLCAyMzIsIDIyMCwgNTEsIDcsIDYsIDEsIAotICAgIDIzMywgMTU1LCAyLCAyNTAsIDM5LCA1MSwgNywgNCwgMSwgMjMzLCAxNTUsIDIsIDI1MCwgMzksIDUxLCA3LCA2LCAxLCAKLSAgICAyMzIsIDU1LCAyLCAxNDIsIDcsIDQsIDEsIDIzMiwgNTUsIDIsIDE0MiwgNywgNiwgMSwgMjMyLCA1NSwgMiwgNTksIDQ4LCAKLSAgICA3LCA0LCAxLCAyMzIsIDU1LCAyLCA1OSwgNDgsIDcsIDYsIDEsIDIzMiwgNTUsIDIsIDU5LCA1MSwgNywgNCwgMSwgMjMyLCAKLSAgICA1NSwgMiwgNTksIDUxLCA3LCA2LCAxLCAyMzAsIDMxLCAyLCA1OSwgNDgsIDcsIDQsIDEsIDIzMCwgMzEsIDIsIDU5LCA0OCwgCi0gICAgNywgNiwgMSwgMjMwLCAzMSwgMiwgNTksIDUxLCA3LCA0LCAxLCAyMzAsIDMxLCAyLCA1OSwgNTEsIDcsIDYsIDEsIDIzMCwgCi0gICAgMzEsIDIsIDIzMiwgMjIwLCA1MSwgNywgNCwgMSwgMjMwLCAzMSwgMiwgMjMyLCAyMjAsIDUxLCA3LCA2LCAxLCAyMzAsIDMxLCAKLSAgICAyLCAyNTAsIDM5LCA1MSwgNywgNCwgMSwgMjMwLCAzMSwgMiwgMjUwLCAzOSwgNTEsIDcsIDYsIDEsIDE0NCwgMiwgMjE2LCAKLSAgICA5MCwgMjIsIDE0MiwgNywgNCwgMSwgMTQ0LCAyLCAyMTYsIDkwLCAyMiwgMTQyLCA3LCA2LCAxLCAxNDQsIDIsIDIxNiwgOTAsIAotICAgIDIyLCAyNDgsIDksIDcsIDQsIDEsIDE0NCwgMiwgMjE2LCA5MCwgMjIsIDI0OCwgOSwgNywgNiwgMSwgMTQ0LCAyLCAyMzEsIAotICAgIDIzOCwgMjIsIDI0MiwgMTQzLCA3LCA0LCAxLCAxNDQsIDIsIDIzMSwgMjM4LCAyMiwgMjQyLCAxNDMsIDcsIDYsIDEsIDE0NCwgCi0gICAgMiwgMjMxLCAyMzgsIDIyLCAxNDIsIDcsIDQsIDEsIDE0NCwgMiwgMjMxLCAyMzgsIDIyLCAxNDIsIDcsIDYsIDEsIDIyNiwgCi0gICAgMTEwLCAyLCAxNDIsIDcsIDQsIDEsIDIyNiwgMTEwLCAyLCAxNDIsIDcsIDYsIDEsIDIyNiwgMTEwLCAyLCA1OSwgNDgsIDcsIAotICAgIDQsIDEsIDIyNiwgMTEwLCAyLCA1OSwgNDgsIDcsIDYsIDEsIDIyMywgMjI3LCAyLCA1OSwgNDgsIDcsIDQsIDEsIDIyMywgCi0gICAgMjI3LCAyLCA1OSwgNDgsIDcsIDYsIDEsIDIyMywgMjI3LCAyLCA1OSwgNTEsIDcsIDQsIDEsIDIyMywgMjI3LCAyLCA1OSwgCi0gICAgNTEsIDcsIDYsIDEsIDIyMywgMjI3LCAyLCA1OSwgMjUyLCA1MSwgMjIsIDIzMSwgMjM3LCA3LCA0LCAxLCAyMjMsIDIyNywgCi0gICAgMiwgNTksIDI1MiwgNTEsIDIyLCAyMzEsIDIzNywgNywgNiwgMSwgMjIzLCAyMjcsIDIsIDIzMiwgMjIwLCA1MSwgNywgNCwgCi0gICAgMSwgMjIzLCAyMjcsIDIsIDIzMiwgMjIwLCA1MSwgNywgNiwgMSwgMjIyLCA5NCwgMiwgNTksIDQ4LCA3LCA0LCAxLCAyMjIsIAotICAgIDk0LCAyLCA1OSwgNDgsIDcsIDYsIDEsIDIyMiwgOTQsIDIsIDU5LCA1MSwgNywgNCwgMSwgMjIyLCA5NCwgMiwgNTksIDUxLCAKLSAgICA3LCA2LCAxLCAyMjIsIDk0LCAyLCAyNTUsIDEyLCAyMiwgNTksIDQ4LCA3LCA0LCAxLCAyMjIsIDk0LCAyLCAyNTUsIDEyLCAKLSAgICAyMiwgNTksIDQ4LCA3LCA2LCAxLCAyMjIsIDk0LCAyLCAyNTAsIDI0MywgMjIsIDU5LCA0OCwgNywgNCwgMSwgMjIyLCA5NCwgCi0gICAgMiwgMjUwLCAyNDMsIDIyLCA1OSwgNDgsIDcsIDYsIDEsIDIyMiwgOTQsIDIsIDU5LCAyNTIsIDUxLCAyMiwgNTksIDQ4LCA3LCAKLSAgICA0LCAxLCAyMjIsIDk0LCAyLCA1OSwgMjUyLCA1MSwgMjIsIDU5LCA0OCwgNywgNiwgMSwgMjE3LCAxNTQsIDIsIDU5LCA0OCwgCi0gICAgNywgNCwgMSwgMjE3LCAxNTQsIDIsIDU5LCA0OCwgNywgNiwgMSwgMjE3LCAxNTQsIDIsIDU5LCA1MSwgNywgNCwgMSwgMjE3LCAKLSAgICAxNTQsIDIsIDU5LCA1MSwgNywgNiwgMSwgMjE3LCAxNTQsIDIsIDIzMiwgMjIwLCA1MSwgNywgNCwgMSwgMjE3LCAxNTQsIDIsIAotICAgIDIzMiwgMjIwLCA1MSwgNywgNiwgMSwgMjE3LCAxNTQsIDIsIDI1MCwgMzksIDUxLCA3LCA0LCAxLCAyMTcsIDE1NCwgMiwgCi0gICAgMjUwLCAzOSwgNTEsIDcsIDYsIDEsIDEwNCwgMiwgMjQ4LCAxMCwgNTEsIDcsIDQsIDEsIDEwNCwgMiwgMjQ4LCAxMCwgNTEsIAotICAgIDcsIDYsIDEsIDEwNCwgMiwgMjE2LCA5MCwgNTEsIDcsIDQsIDEsIDEwNCwgMiwgMjE2LCA5MCwgNTEsIDcsIDYsIDEsIDEwNCwgCi0gICAgMiwgMjUwLCAzOSwgNTEsIDcsIDQsIDEsIDEwNCwgMiwgMjUwLCAzOSwgNTEsIDcsIDYsIDEsIDEwNCwgMiwgMjE2LCA5MCwgCi0gICAgMjIsIDE0MiwgNywgNCwgMSwgMTA0LCAyLCAyMTYsIDkwLCAyMiwgMTQyLCA3LCA2LCAxLCAxMDQsIDIsIDIzMSwgMjM4LCAKLSAgICAyMiwgMjQ4LCA5LCA3LCA0LCAxLCAxMDQsIDIsIDIzMSwgMjM4LCAyMiwgMjQ4LCA5LCA3LCA2LCAxLCAyMTQsIDEwNiwgMiwgCi0gICAgMTg0LCA3LCA0LCAxLCAyMTQsIDEwNiwgMiwgMTg0LCA3LCA2LCAxLCAyMTQsIDEwNiwgMiwgNTksIDUxLCA3LCA0LCAxLCAKLSAgICAyMTQsIDEwNiwgMiwgNTksIDUxLCA3LCA2LCAxLCAyMTIsIDk5LCAyLCAyNDIsIDE0MywgNywgNCwgMSwgMjEyLCA5OSwgMiwgCi0gICAgMjQyLCAxNDMsIDcsIDYsIDEsIDIxMiwgOTksIDIsIDE0MiwgNywgNCwgMSwgMjEyLCA5OSwgMiwgMTQyLCA3LCA2LCAxLCAKLSAgICAyMTIsIDk5LCAyLCAyNDgsIDksIDcsIDQsIDEsIDIxMiwgOTksIDIsIDI0OCwgOSwgNywgNiwgMSwgMjEyLCA5OSwgMiwgNTksIAotICAgIDQ4LCA3LCA0LCAxLCAyMTIsIDk5LCAyLCA1OSwgNDgsIDcsIDYsIDEsIDIxMiwgOTksIDIsIDU5LCA1MSwgNywgNCwgMSwgCi0gICAgMjEyLCA5OSwgMiwgNTksIDUxLCA3LCA2LCAxLCAyMTEsIDE3OSwgMiwgNTksIDQ4LCA3LCA0LCAxLCAyMTEsIDE3OSwgMiwgCi0gICAgNTksIDQ4LCA3LCA2LCAxLCAyMTEsIDE3OSwgMiwgMjQ4LCA5LCA3LCA0LCAxLCAyMTEsIDE3OSwgMiwgMjQ4LCA5LCA3LCA2LCAKLSAgICAxLCAyMTEsIDExOCwgMiwgNTksIDQ4LCA3LCA0LCAxLCAyMTEsIDExOCwgMiwgNTksIDQ4LCA3LCA2LCAxLCAyMTAsIDE2MCwgCi0gICAgMiwgMjUwLCAzOCwgNywgNCwgMSwgMjEwLCAxNjAsIDIsIDI1MCwgMzgsIDcsIDYsIDEsIDIxMCwgMTYwLCAyLCA1OSwgNTEsIAotICAgIDcsIDQsIDEsIDIxMCwgMTYwLCAyLCA1OSwgNTEsIDcsIDYsIDEsIDIxMCwgMTYwLCAyLCAyMzIsIDIyMCwgNTEsIDcsIDQsIAotICAgIDEsIDIxMCwgMTYwLCAyLCAyMzIsIDIyMCwgNTEsIDcsIDQsIDEsIDI0MiwgNjgsIDIsIDIzMiwgMjIwLCA1MSwgNywgNCwgMSwgCi0gICAgMjE3LCAxNTQsIDIsIDI0OCwgOSwgNywgNCwgMSwgMjEyLCA5OSwgMiwgMjIyLCAyMzcsIDQ4LCA3LCA0LCAxLCAyMTEsIAotICAgIDExOCwgMiwgMjIyLCAyMzcsIDQ4LCA3LCA0LCAxLCAxMTYsIDIsIDQ0LCAxNjMsIDIyMiwgMjM2LCA3LCA0LCAxLCAyMDAsIAotICAgIDIyMiwgOTQsIDIsIDU5LCA0OCwgNywgNCwgMSwgMjAwLCAyMjIsIDk0LCAyLCAyNDgsIDcsIDkxLCA3LCA0LCAxLCAyMDAsIAotICAgIDIyMiwgOTQsIDIsIDEyNSwgOTEsIDcsIDYsIDEsIDIyMCwgNzgsIDIyMiwgOTMsIDcsIDQsIDEsIDI0OCwgNjIsIDcsIDYsIAotICAgIDEsIDExNiwgMiwgNTksIDUxLCA3LCA0LCAxLCAxMTYsIDIsIDU5LCA1MSwgNywgNiwgMSwgMTE2LCAyLCAyNDEsIDU5LCA0OCwgCi0gICAgNywgNCwgMSwgMTE2LCAyLCAyNDEsIDU5LCA0OCwgNywgNiwgMSwgMTE2LCAyLCAyNTAsIDM5LCAyMiwgMTQyLCA3LCA0LCAxLCAKLSAgICAxMTYsIDIsIDI1MCwgMzksIDIyLCAxNDIsIDcsIDYsIDEsIDExNiwgMiwgMjUwLCAzOSwgMjIsIDI0MiwgMTQzLCA3LCA0LCAKLSAgICAxLCAxMTYsIDIsIDI1MCwgMzksIDIyLCAyNDIsIDE0MywgNywgNiwgMSwgMTE2LCAyLCAyNTAsIDM5LCAyMiwgMjQxLCA1OSwgCi0gICAgNDgsIDcsIDQsIDEsIDExNiwgMiwgMjUwLCAzOSwgMjIsIDI0MSwgNTksIDQ4LCA3LCA2LCAxLCAxMTYsIDIsIDI1MCwgMzksIAotICAgIDIyLCAxODQsIDcsIDQsIDEsIDExNiwgMiwgMjUwLCAzOSwgMjIsIDE4NCwgNywgNiwgMSwgMTE2LCAyLCAyNTAsIDM5LCAyMiwgCi0gICAgNTksIDUxLCA3LCA0LCAxLCAxMTYsIDIsIDI1MCwgMzksIDIyLCA1OSwgNTEsIDcsIDYsIDEsIDExNiwgMiwgMjUxLCAxNTUsIAotICAgIDIyLCAxNDIsIDcsIDQsIDEsIDExNiwgMiwgMjUxLCAxNTUsIDIyLCAxNDIsIDcsIDYsIDEsIDExNiwgMiwgMjUxLCAxNTUsIAotICAgIDIyLCAyNDIsIDE0MywgNywgNCwgMSwgMTE2LCAyLCAyNTEsIDE1NSwgMjIsIDI0MiwgMTQzLCA3LCA2LCAxLCAxMTYsIDIsIAotICAgIDI1MSwgMTU1LCAyMiwgMjQxLCA1OSwgNDgsIDcsIDQsIDEsIDExNiwgMiwgMjUxLCAxNTUsIDIyLCAyNDEsIDU5LCA0OCwgNywgCi0gICAgNiwgMSwgMTE2LCAyLCAyNTEsIDE1NSwgMjIsIDE4NCwgNywgNCwgMSwgMTE2LCAyLCAyNTEsIDE1NSwgMjIsIDE4NCwgNywgCi0gICAgNiwgMSwgMTE2LCAyLCAyNTEsIDE1NSwgMjIsIDU5LCA1MSwgNywgNCwgMSwgMTE2LCAyLCAyNTEsIDE1NSwgMjIsIDU5LCAKLSAgICA1MSwgNywgNiwgMSwgMTYwLCAyLCA1OSwgNTEsIDcsIDQsIDEsIDE2MCwgMiwgNTksIDUxLCA3LCA2LCAxLCAxNjAsIDIsIAotICAgIDI0MSwgNTksIDQ4LCA3LCA0LCAxLCAxNjAsIDIsIDI0MSwgNTksIDQ4LCA3LCA2LCAxLCAxNjAsIDIsIDE4NCwgNywgNCwgMSwgCi0gICAgMTYwLCAyLCAxODQsIDcsIDYsIDEsIDE2MCwgMiwgMjUwLCAzOSwgMjIsIDE0MiwgNywgNCwgMSwgMTYwLCAyLCAyNTAsIDM5LCAKLSAgICAyMiwgMTQyLCA3LCA2LCAxLCAxNjAsIDIsIDI1MCwgMzksIDIyLCAyNDIsIDE0MywgNywgNCwgMSwgMTYwLCAyLCAyNTAsIAotICAgIDM5LCAyMiwgMjQyLCAxNDMsIDcsIDYsIDEsIDE2MCwgMiwgMjUwLCAzOSwgMjIsIDI0MSwgNTksIDQ4LCA3LCA0LCAxLCAKLSAgICAxNjAsIDIsIDI1MCwgMzksIDIyLCAyNDEsIDU5LCA0OCwgNywgNiwgMSwgMTYwLCAyLCAyNTAsIDM5LCAyMiwgMTg0LCA3LCAKLSAgICA0LCAxLCAxNjAsIDIsIDI1MCwgMzksIDIyLCAxODQsIDcsIDYsIDEsIDE2MCwgMiwgMjUwLCAzOSwgMjIsIDU5LCA1MSwgNywgCi0gICAgNCwgMSwgMTYwLCAyLCAyNTAsIDM5LCAyMiwgNTksIDUxLCA3LCA2LCAxLCAyNDAsIDE2MSwgMiwgMjQxLCA1OSwgNDgsIDcsIAotICAgIDQsIDEsIDI0MCwgMTYxLCAyLCAyNDEsIDU5LCA0OCwgNywgNiwgMSwgMjQwLCAxNjEsIDIsIDU5LCA1MSwgNywgNCwgMSwgCi0gICAgMjQwLCAxNjEsIDIsIDU5LCA1MSwgNywgNiwgMSwgMTQ0LCAyLCA1OSwgNTEsIDcsIDQsIDEsIDE0NCwgMiwgNTksIDUxLCA3LCAKLSAgICA2LCAxLCAxNDQsIDIsIDI0MSwgNTksIDQ4LCA3LCA0LCAxLCAxNDQsIDIsIDI0MSwgNTksIDQ4LCA3LCA2LCAxLCAxNDQsIDIsIAotICAgIDI1MCwgMzksIDIyLCAxNDIsIDcsIDQsIDEsIDE0NCwgMiwgMjUwLCAzOSwgMjIsIDE0MiwgNywgNiwgMSwgMTQ0LCAyLCAKLSAgICAyNTAsIDM5LCAyMiwgMjQyLCAxNDMsIDcsIDQsIDEsIDE0NCwgMiwgMjUwLCAzOSwgMjIsIDI0MiwgMTQzLCA3LCA2LCAxLCAKLSAgICAxNDQsIDIsIDI1MCwgMzksIDIyLCAyNDEsIDU5LCA0OCwgNywgNCwgMSwgMTQ0LCAyLCAyNTAsIDM5LCAyMiwgMjQxLCA1OSwgCi0gICAgNDgsIDcsIDYsIDEsIDE0NCwgMiwgMjUwLCAzOSwgMjIsIDE4NCwgNywgNCwgMSwgMTQ0LCAyLCAyNTAsIDM5LCAyMiwgMTg0LCAKLSAgICA3LCA2LCAxLCAxNDQsIDIsIDI1MCwgMzksIDIyLCA1OSwgNTEsIDcsIDQsIDEsIDE0NCwgMiwgMjUwLCAzOSwgMjIsIDU5LCAKLSAgICA1MSwgNywgNiwgMSwgMTQ0LCAyLCAyNDEsIDAsIDIyLCAxNDIsIDcsIDQsIDEsIDE0NCwgMiwgMjQxLCAwLCAyMiwgMTQyLCAKLSAgICA3LCA2LCAxLCAxNDQsIDIsIDI0MSwgMCwgMjIsIDI0MiwgMTQzLCA3LCA0LCAxLCAxNDQsIDIsIDI0MSwgMCwgMjIsIDI0MiwgCi0gICAgMTQzLCA3LCA2LCAxLCAxNDQsIDIsIDI0MSwgMCwgMjIsIDI0MSwgNTksIDQ4LCA3LCA0LCAxLCAxNDQsIDIsIDI0MSwgMCwgCi0gICAgMjIsIDI0MSwgNTksIDQ4LCA3LCA2LCAxLCAxNDQsIDIsIDI0MSwgMCwgMjIsIDE4NCwgNywgNCwgMSwgMTQ0LCAyLCAyNDEsIAotICAgIDAsIDIyLCAxODQsIDcsIDYsIDEsIDE0NCwgMiwgMjQxLCAwLCAyMiwgNTksIDUxLCA3LCA0LCAxLCAxNDQsIDIsIDI0MSwgMCwgCi0gICAgMjIsIDU5LCA1MSwgNywgNiwgMSwgMTA0LCAyLCA1OSwgNTEsIDcsIDQsIDEsIDEwNCwgMiwgNTksIDUxLCA3LCA2LCAxLCAKLSAgICAxMDQsIDIsIDI0MSwgNTksIDQ4LCA3LCA0LCAxLCAxMDQsIDIsIDI0MSwgNTksIDQ4LCA3LCA2LCAxLCAxMDQsIDIsIDI0MSwgCi0gICAgMCwgMjIsIDE0MiwgNywgNCwgMSwgMTA0LCAyLCAyNDEsIDAsIDIyLCAxNDIsIDcsIDYsIDEsIDEwNCwgMiwgMjQxLCAwLCAKLSAgICAyMiwgMjQyLCAxNDMsIDcsIDQsIDEsIDEwNCwgMiwgMjQxLCAwLCAyMiwgMjQyLCAxNDMsIDcsIDYsIDEsIDEwNCwgMiwgCi0gICAgMjQxLCAwLCAyMiwgMjQxLCA1OSwgNDgsIDcsIDQsIDEsIDEwNCwgMiwgMjQxLCAwLCAyMiwgMjQxLCA1OSwgNDgsIDcsIDYsIAotICAgIDEsIDEwNCwgMiwgMjQxLCAwLCAyMiwgMTg0LCA3LCA0LCAxLCAxMDQsIDIsIDI0MSwgMCwgMjIsIDE4NCwgNywgNiwgMSwgCi0gICAgMTA0LCAyLCAyNDEsIDAsIDIyLCA1OSwgNTEsIDcsIDQsIDEsIDEwNCwgMiwgMjQxLCAwLCAyMiwgNTksIDUxLCA3LCA2LCAxLCAKLSAgICAyMTEsIDExOCwgMiwgMjQyLCAxNDMsIDcsIDQsIDEsIDIxMSwgMTE4LCAyLCAyNDIsIDE0MywgNywgNiwgMSwgMjExLCAxMTgsIAotICAgIDIsIDU5LCA1MSwgNywgNCwgMSwgMjExLCAxMTgsIDIsIDU5LCA1MSwgNywgNiwgMSwgMjExLCAxMTgsIDIsIDI0MSwgNTksIAotICAgIDQ4LCA3LCA0LCAxLCAyMTEsIDExOCwgMiwgMjQxLCA1OSwgNDgsIDcsIDYsIDEsIDIxMSwgMTE4LCAyLCAxODQsIDcsIDQsIAotICAgIDEsIDIxMSwgMTE4LCAyLCAxODQsIDcsIDYsIDEsIDIzMCwgMjI4LCAyMzIsIDE5MSwgNywgNCwgMSwgMjMwLCAyMjgsIDIzMiwgCi0gICAgMTkxLCA3LCA2LCAxLCAyMzAsIDIyOCwgMjE0LCAxMDUsIDcsIDQsIDEsIDIzMCwgMjI4LCAyMTQsIDEwNSwgNywgNiwgMSwgCi0gICAgMjExLCAxMTgsIDIsIDIzMiwgMTI5LCA3LCA0LCAxLCAyMTEsIDExOCwgMiwgMjMyLCAxMjksIDI2LCA0LCAxLCAyNTQsIAotICAgIDE1MiwgMiwgMjI0LCAxNTcsIDI2LCA0LCAxLCAyNTQsIDE1MiwgMiwgMjQ4LCAxNjEsIDI2LCA0LCAxLCAyNTQsIDE1MiwgMiwgCi0gICAgMjI0LCAxNTgsIDIyLCAyMTQsIDEzLCAyNiwgNCwgMSwgMjU0LCAxNTIsIDIsIDI0OCwgMTYyLCAyMiwgMjE0LCAxMywgMjYsIAotICAgIDQsIDEsIDI1NCwgMTUyLCAyLCAyMjQsIDE1OCwgMjIsIDIyNiwgMTE0LCAyNiwgNCwgMSwgMjU0LCAxNTIsIDIsIDI0OCwgCi0gICAgMTYyLCAyMiwgMjI2LCAxMTQsIDI2LCA0LCAxLCAyNTQsIDE1MiwgMiwgMjI0LCAxNTgsIDIyLCAyMjUsIDE3OCwgMjYsIDQsIAotICAgIDEsIDI1NCwgMTUyLCAyLCAyNDgsIDE2MiwgMjIsIDIyNSwgMTc4LCAyNiwgNiwgMSwgMjU0LCAxNTIsIDIsIDIyNCwgMTU3LCAKLSAgICAyNiwgNiwgMSwgMjU0LCAxNTIsIDIsIDI0OCwgMTYxLCAyNiwgNiwgMSwgMjU0LCAxNTIsIDIsIDIyNCwgMTU4LCAyMiwgCi0gICAgMjE0LCAxMywgMjYsIDYsIDEsIDI1NCwgMTUyLCAyLCAyNDgsIDE2MiwgMjIsIDIxNCwgMTMsIDI2LCA2LCAxLCAyNTQsIAotICAgIDE1MiwgMiwgMjI0LCAxNTgsIDIyLCAyMjYsIDExNCwgMjYsIDYsIDEsIDI1NCwgMTUyLCAyLCAyNDgsIDE2MiwgMjIsIDIyNiwgCi0gICAgMTE0LCAyNiwgNiwgMSwgMjU0LCAxNTIsIDIsIDIyNCwgMTU4LCAyMiwgMjI1LCAxNzgsIDI2LCA2LCAxLCAyNTQsIDE1MiwgCi0gICAgMiwgMjQ4LCAxNjIsIDIyLCAyMjUsIDE3OCwgMjYsIDQsIDEsIDI0NSwgMTA5LCAyLCAyMjQsIDE1NywgMjYsIDQsIDEsIAotICAgIDI0NSwgMTA5LCAyLCAyNDgsIDE2MSwgMjYsIDQsIDEsIDI0NSwgMTA5LCAyLCAyMjQsIDE1OCwgMjIsIDIxNCwgMTMsIDI2LCAKLSAgICA0LCAxLCAyNDUsIDEwOSwgMiwgMjQ4LCAxNjIsIDIyLCAyMTQsIDEzLCAyNiwgNCwgMSwgMjQ1LCAxMDksIDIsIDIyNCwgCi0gICAgMTU4LCAyMiwgMjI2LCAxMTQsIDI2LCA0LCAxLCAyNDUsIDEwOSwgMiwgMjQ4LCAxNjIsIDIyLCAyMjYsIDExNCwgMjYsIDYsIAotICAgIDEsIDI0NSwgMTA5LCAyLCAyMjQsIDE1NywgMjYsIDYsIDEsIDI0NSwgMTA5LCAyLCAyNDgsIDE2MSwgMjYsIDYsIDEsIDI0NSwgCi0gICAgMTA5LCAyLCAyMjQsIDE1OCwgMjIsIDIxNCwgMTMsIDI2LCA2LCAxLCAyNDUsIDEwOSwgMiwgMjQ4LCAxNjIsIDIyLCAyMTQsIAotICAgIDEzLCAyNiwgNiwgMSwgMjQ1LCAxMDksIDIsIDIyNCwgMTU4LCAyMiwgMjI2LCAxMTQsIDI2LCA2LCAxLCAyNDUsIDEwOSwgMiwgCi0gICAgMjQ4LCAxNjIsIDIyLCAyMjYsIDExNCwgMjYsIDQsIDEsIDI0NSwgNzIsIDIsIDIyNCwgMTU3LCAyNiwgNCwgMSwgMjQ1LCAKLSAgICA3MiwgMiwgMjQ4LCAxNjEsIDI2LCA0LCAxLCAyNDUsIDcyLCAyLCAyMjQsIDE1OCwgMjIsIDIxNCwgMTMsIDI2LCA0LCAxLCAKLSAgICAyNDUsIDcyLCAyLCAyNDgsIDE2MiwgMjIsIDIxNCwgMTMsIDI2LCA0LCAxLCAyNDUsIDcyLCAyLCAyMjQsIDE1OCwgMjIsIAotICAgIDIyNiwgMTE0LCAyNiwgNCwgMSwgMjQ1LCA3MiwgMiwgMjQ4LCAxNjIsIDIyLCAyMjYsIDExNCwgMjYsIDQsIDEsIDI0NSwgCi0gICAgNzIsIDIsIDIyNCwgMTU4LCAyMiwgMjI1LCAxNzgsIDI2LCA0LCAxLCAyNDUsIDcyLCAyLCAyNDgsIDE2MiwgMjIsIDIyNSwgCi0gICAgMTc4LCAyNiwgNiwgMSwgMjQ1LCA3MiwgMiwgMjI0LCAxNTcsIDI2LCA2LCAxLCAyNDUsIDcyLCAyLCAyNDgsIDE2MSwgMjYsIAotICAgIDYsIDEsIDI0NSwgNzIsIDIsIDIyNCwgMTU4LCAyMiwgMjE0LCAxMywgMjYsIDYsIDEsIDI0NSwgNzIsIDIsIDI0OCwgMTYyLCAKLSAgICAyMiwgMjE0LCAxMywgMjYsIDYsIDEsIDI0NSwgNzIsIDIsIDIyNCwgMTU4LCAyMiwgMjI2LCAxMTQsIDI2LCA2LCAxLCAyNDUsIAotICAgIDcyLCAyLCAyNDgsIDE2MiwgMjIsIDIyNiwgMTE0LCAyNiwgNiwgMSwgMjQ1LCA3MiwgMiwgMjI0LCAxNTgsIDIyLCAyMjUsIAotICAgIDE3OCwgMjYsIDYsIDEsIDI0NSwgNzIsIDIsIDI0OCwgMTYyLCAyMiwgMjI1LCAxNzgsIDI2LCA0LCAxLCAyMzUsIDE5MywgMiwgCi0gICAgMjI0LCAxNTcsIDI2LCA0LCAxLCAyMzUsIDE5MywgMiwgMjQ4LCAxNjEsIDI2LCA0LCAxLCAyMzUsIDE5MywgMiwgMjI0LCAKLSAgICAxNTgsIDIyLCAyMTQsIDEzLCAyNiwgNCwgMSwgMjM1LCAxOTMsIDIsIDI0OCwgMTYyLCAyMiwgMjE0LCAxMywgMjYsIDQsIDEsIAotICAgIDIzNSwgMTkzLCAyLCAyMjQsIDE1OCwgMjIsIDIyNiwgMTE0LCAyNiwgNCwgMSwgMjM1LCAxOTMsIDIsIDI0OCwgMTYyLCAyMiwgCi0gICAgMjI2LCAxMTQsIDI2LCA0LCAxLCAyMzUsIDE5MywgMiwgMjI0LCAxNTgsIDIyLCAyMjUsIDE3OCwgMjYsIDQsIDEsIDIzNSwgCi0gICAgMTkzLCAyLCAyNDgsIDE2MiwgMjIsIDIyNSwgMTc4LCAyNiwgNiwgMSwgMjM1LCAxOTMsIDIsIDIyNCwgMTU3LCAyNiwgNiwgCi0gICAgMSwgMjM1LCAxOTMsIDIsIDI0OCwgMTYxLCAyNiwgNiwgMSwgMjM1LCAxOTMsIDIsIDIyNCwgMTU4LCAyMiwgMjE0LCAxMywgCi0gICAgMjYsIDYsIDEsIDIzNSwgMTkzLCAyLCAyNDgsIDE2MiwgMjIsIDIxNCwgMTMsIDI2LCA2LCAxLCAyMzUsIDE5MywgMiwgMjI0LCAKLSAgICAxNTgsIDIyLCAyMjYsIDExNCwgMjYsIDYsIDEsIDIzNSwgMTkzLCAyLCAyNDgsIDE2MiwgMjIsIDIyNiwgMTE0LCAyNiwgNiwgCi0gICAgMSwgMjM1LCAxOTMsIDIsIDIyNCwgMTU4LCAyMiwgMjI1LCAxNzgsIDI2LCA2LCAxLCAyMzUsIDE5MywgMiwgMjQ4LCAxNjIsIAotICAgIDIyLCAyMjUsIDE3OCwgMjYsIDQsIDEsIDIyNiwgMjA0LCAyLCAyMjQsIDE1NywgMjYsIDQsIDEsIDIyNiwgMjA0LCAyLCAKLSAgICAyNDgsIDE2MSwgMjYsIDQsIDEsIDIyNiwgMjA0LCAyLCAyMjQsIDE1OCwgMjIsIDIxNCwgMTMsIDI2LCA0LCAxLCAyMjYsIAotICAgIDIwNCwgMiwgMjQ4LCAxNjIsIDIyLCAyMTQsIDEzLCAyNiwgNCwgMSwgMjI2LCAyMDQsIDIsIDIyNCwgMTU4LCAyMiwgMjI2LCAKLSAgICAxMTQsIDI2LCA0LCAxLCAyMjYsIDIwNCwgMiwgMjQ4LCAxNjIsIDIyLCAyMjYsIDExNCwgMjYsIDYsIDEsIDIyNiwgMjA0LCAKLSAgICAyLCAyMjQsIDE1NywgMjYsIDYsIDEsIDIyNiwgMjA0LCAyLCAyNDgsIDE2MSwgMjYsIDYsIDEsIDIyNiwgMjA0LCAyLCAyMjQsIAotICAgIDE1OCwgMjIsIDIxNCwgMTMsIDI2LCA2LCAxLCAyMjYsIDIwNCwgMiwgMjQ4LCAxNjIsIDIyLCAyMTQsIDEzLCAyNiwgNiwgMSwgCi0gICAgMjI2LCAyMDQsIDIsIDIyNCwgMTU4LCAyMiwgMjI2LCAxMTQsIDI2LCA2LCAxLCAyMjYsIDIwNCwgMiwgMjQ4LCAxNjIsIDIyLCAKLSAgICAyMjYsIDExNCwgMjYsIDQsIDEsIDIxNCwgMTU4LCAyLCAyMjQsIDE1NywgMjYsIDQsIDEsIDIxNCwgMTU4LCAyLCAyNDgsIAotICAgIDE2MSwgMjYsIDQsIDEsIDIxNCwgMTU4LCAyLCAyMjQsIDE1OCwgMjIsIDIxNCwgMTMsIDI2LCA0LCAxLCAyMTQsIDE1OCwgMiwgCi0gICAgMjQ4LCAxNjIsIDIyLCAyMTQsIDEzLCAyNiwgNCwgMSwgMjE0LCAxNTgsIDIsIDIyNCwgMTU4LCAyMiwgMjI2LCAxMTQsIDI2LCAKLSAgICA0LCAxLCAyMTQsIDE1OCwgMiwgMjQ4LCAxNjIsIDIyLCAyMjYsIDExNCwgMjYsIDQsIDEsIDIxNCwgMTU4LCAyLCAyMjQsIAotICAgIDE1OCwgMjIsIDIyNSwgMTc4LCAyNiwgNCwgMSwgMjE0LCAxNTgsIDIsIDI0OCwgMTYyLCAyMiwgMjI1LCAxNzgsIDI2LCA2LCAKLSAgICAxLCAyMTQsIDE1OCwgMiwgMjQ4LCAxNjEsIDI2LCA2LCAxLCAyMTQsIDE1OCwgMiwgMjQ4LCAxNjIsIDIyLCAyMTQsIDEzLCAKLSAgICAyNiwgNiwgMSwgMjE0LCAxNTgsIDIsIDI0OCwgMTYyLCAyMiwgMjI2LCAxMTQsIDI2LCA2LCAxLCAyMTQsIDE1OCwgMiwgCi0gICAgMjQ4LCAxNjIsIDIyLCAyMjUsIDE3OCwgMjYsIDQsIDEsIDIyNiwgMjA2LCAyLCAyMjQsIDE1NywgMjYsIDQsIDEsIDIyNiwgCi0gICAgMjA2LCAyLCAyNDgsIDE2MSwgMjYsIDQsIDEsIDIyNiwgMjA2LCAyLCAyMjQsIDE1OCwgMjIsIDIxNCwgMTMsIDI2LCA0LCAxLCAKLSAgICAyMjYsIDIwNiwgMiwgMjQ4LCAxNjIsIDIyLCAyMTQsIDEzLCAyNiwgNCwgMSwgMjI2LCAyMDYsIDIsIDIyNCwgMTU4LCAyMiwgCi0gICAgMjI2LCAxMTQsIDI2LCA0LCAxLCAyMjYsIDIwNiwgMiwgMjQ4LCAxNjIsIDIyLCAyMjYsIDExNCwgMjYsIDQsIDEsIDIyNiwgCi0gICAgMjA2LCAyLCAyMjQsIDE1OCwgMjIsIDIyNSwgMTc4LCAyNiwgNCwgMSwgMjI2LCAyMDYsIDIsIDI0OCwgMTYyLCAyMiwgMjI1LCAKLSAgICAxNzgsIDI2LCA2LCAxLCAyMjYsIDIwNiwgMiwgMjI0LCAxNTcsIDI2LCA2LCAxLCAyMjYsIDIwNiwgMiwgMjQ4LCAxNjEsIAotICAgIDI2LCA2LCAxLCAyMjYsIDIwNiwgMiwgMjI0LCAxNTgsIDIyLCAyMTQsIDEzLCAyNiwgNiwgMSwgMjI2LCAyMDYsIDIsIDI0OCwgCi0gICAgMTYyLCAyMiwgMjE0LCAxMywgMjYsIDYsIDEsIDIyNiwgMjA2LCAyLCAyMjQsIDE1OCwgMjIsIDIyNiwgMTE0LCAyNiwgNiwgCi0gICAgMSwgMjI2LCAyMDYsIDIsIDI0OCwgMTYyLCAyMiwgMjI2LCAxMTQsIDI2LCA2LCAxLCAyMjYsIDIwNiwgMiwgMjI0LCAxNTgsIAotICAgIDIyLCAyMjUsIDE3OCwgMjYsIDYsIDEsIDIyNiwgMjA2LCAyLCAyNDgsIDE2MiwgMjIsIDIyNSwgMTc4LCAyNiwgNCwgMSwgCi0gICAgMjU0LCAxNTIsIDIsIDIxNCwgMTMsIDI2LCA0LCAxLCAyNTQsIDE1MiwgMiwgMjI2LCAxMTQsIDI2LCA0LCAxLCAyNDUsIAotICAgIDEwOSwgMiwgMjE0LCAxMywgMjYsIDQsIDEsIDI0NSwgMTA5LCAyLCAyMjYsIDExNCwgMjYsIDQsIDEsIDI0NSwgNzIsIDIsIAotICAgIDIxNCwgMTMsIDI2LCA0LCAxLCAyNDUsIDcyLCAyLCAyMjYsIDExNCwgMjYsIDQsIDEsIDIzNSwgMTkzLCAyLCAyMTQsIDEzLCAKLSAgICAyNiwgNCwgMSwgMjM1LCAxOTMsIDIsIDIyNiwgMTE0LCAyNiwgNCwgMSwgMjI2LCAyMDQsIDIsIDIxNCwgMTMsIDI2LCA0LCAKLSAgICAxLCAyMjYsIDIwNCwgMiwgMjI2LCAxMTQsIDI2LCA0LCAxLCAyMTQsIDE1OCwgMiwgMjE0LCAxMywgMjYsIDQsIDEsIDIxNCwgCi0gICAgMTU4LCAyLCAyMjYsIDExNCwgMjYsIDQsIDEsIDIyNiwgMjA2LCAyLCAyMTQsIDEzLCAyNiwgNCwgMSwgMjI2LCAyMDYsIDIsIAotICAgIDIyNiwgMTE0LCAyNiwgNCwgMSwgMjU0LCAxNTIsIDIsIDIyNCwgMTU4LCAyMiwgMjEwLCAyMTksIDI2LCA0LCAxLCAyNTQsIAotICAgIDE1MiwgMiwgMjQ4LCAxNjIsIDIyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIDI1NCwgMTUyLCAyLCAyMjQsIDE1OCwgMjIsIDIxNCwgCi0gICAgMTQsIDIyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIDI1NCwgMTUyLCAyLCAyNDgsIDE2MiwgMjIsIDIxNCwgMTQsIDIyLCAyMTAsIAotICAgIDIxOSwgMjYsIDQsIDEsIDI1NCwgMTUyLCAyLCAyMjQsIDE1OCwgMjIsIDIyNiwgMTE1LCAyMiwgMjEwLCAyMTksIDI2LCA0LCAKLSAgICAxLCAyNTQsIDE1MiwgMiwgMjQ4LCAxNjIsIDIyLCAyMjYsIDExNSwgMjIsIDIxMCwgMjE5LCAyNiwgNCwgMSwgMjU0LCAxNTIsIAotICAgIDIsIDIyNCwgMTU4LCAyMiwgMjI1LCAxNzksIDIyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIDI1NCwgMTUyLCAyLCAyNDgsIDE2MiwgCi0gICAgMjIsIDIyNSwgMTc5LCAyMiwgMjEwLCAyMTksIDI2LCA2LCAxLCAyNTQsIDE1MiwgMiwgMjI0LCAxNTgsIDIyLCAyMjQsIAotICAgIDE3MCwgMjYsIDYsIDEsIDI1NCwgMTUyLCAyLCAyNDgsIDE2MiwgMjIsIDIyNCwgMTcwLCAyNiwgNiwgMSwgMjU0LCAxNTIsIAotICAgIDIsIDIyNCwgMTU4LCAyMiwgMjE0LCAxNCwgMjIsIDIyNCwgMTcwLCAyNiwgNiwgMSwgMjU0LCAxNTIsIDIsIDI0OCwgMTYyLCAKLSAgICAyMiwgMjE0LCAxNCwgMjIsIDIyNCwgMTcwLCAyNiwgNiwgMSwgMjU0LCAxNTIsIDIsIDIyNCwgMTU4LCAyMiwgMjI2LCAxMTUsIAotICAgIDIyLCAyMjQsIDE3MCwgMjYsIDYsIDEsIDI1NCwgMTUyLCAyLCAyNDgsIDE2MiwgMjIsIDIyNiwgMTE1LCAyMiwgMjI0LCAKLSAgICAxNzAsIDI2LCA2LCAxLCAyNTQsIDE1MiwgMiwgMjI0LCAxNTgsIDIyLCAyMjUsIDE3OSwgMjIsIDIyNCwgMTcwLCAyNiwgNiwgCi0gICAgMSwgMjU0LCAxNTIsIDIsIDI0OCwgMTYyLCAyMiwgMjI1LCAxNzksIDIyLCAyMjQsIDE3MCwgMjYsIDQsIDEsIDI0NSwgNzIsIAotICAgIDIsIDIyNCwgMTU4LCAyMiwgMjEwLCAyMTksIDI2LCA0LCAxLCAyNDUsIDcyLCAyLCAyNDgsIDE2MiwgMjIsIDIxMCwgMjE5LCAKLSAgICAyNiwgNCwgMSwgMjQ1LCA3MiwgMiwgMjI0LCAxNTgsIDIyLCAyMTQsIDE0LCAyMiwgMjEwLCAyMTksIDI2LCA0LCAxLCAyNDUsIAotICAgIDcyLCAyLCAyNDgsIDE2MiwgMjIsIDIxNCwgMTQsIDIyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIDI0NSwgNzIsIDIsIDIyNCwgCi0gICAgMTU4LCAyMiwgMjI2LCAxMTUsIDIyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIDI0NSwgNzIsIDIsIDI0OCwgMTYyLCAyMiwgMjI2LCAKLSAgICAxMTUsIDIyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIDI0NSwgNzIsIDIsIDIyNCwgMTU4LCAyMiwgMjI1LCAxNzksIDIyLCAyMTAsIAotICAgIDIxOSwgMjYsIDQsIDEsIDI0NSwgNzIsIDIsIDI0OCwgMTYyLCAyMiwgMjI1LCAxNzksIDIyLCAyMTAsIDIxOSwgMjYsIDYsIAotICAgIDEsIDI0NSwgNzIsIDIsIDIyNCwgMTU4LCAyMiwgMjI0LCAxNzAsIDI2LCA2LCAxLCAyNDUsIDcyLCAyLCAyNDgsIDE2MiwgCi0gICAgMjIsIDIyNCwgMTcwLCAyNiwgNiwgMSwgMjQ1LCA3MiwgMiwgMjI0LCAxNTgsIDIyLCAyMTQsIDE0LCAyMiwgMjI0LCAxNzAsIAotICAgIDI2LCA2LCAxLCAyNDUsIDcyLCAyLCAyNDgsIDE2MiwgMjIsIDIxNCwgMTQsIDIyLCAyMjQsIDE3MCwgMjYsIDYsIDEsIDI0NSwgCi0gICAgNzIsIDIsIDIyNCwgMTU4LCAyMiwgMjI2LCAxMTUsIDIyLCAyMjQsIDE3MCwgMjYsIDYsIDEsIDI0NSwgNzIsIDIsIDI0OCwgCi0gICAgMTYyLCAyMiwgMjI2LCAxMTUsIDIyLCAyMjQsIDE3MCwgMjYsIDYsIDEsIDI0NSwgNzIsIDIsIDIyNCwgMTU4LCAyMiwgMjI1LCAKLSAgICAxNzksIDIyLCAyMjQsIDE3MCwgMjYsIDYsIDEsIDI0NSwgNzIsIDIsIDI0OCwgMTYyLCAyMiwgMjI1LCAxNzksIDIyLCAyMjQsIAotICAgIDE3MCwgMjYsIDQsIDEsIDIyNiwgMjA2LCAyLCAyMjQsIDE1OCwgMjIsIDIxMCwgMjE5LCAyNiwgNCwgMSwgMjI2LCAyMDYsIAotICAgIDIsIDI0OCwgMTYyLCAyMiwgMjEwLCAyMTksIDI2LCA0LCAxLCAyMjYsIDIwNiwgMiwgMjI0LCAxNTgsIDIyLCAyMTQsIDE0LCAKLSAgICAyMiwgMjEwLCAyMTksIDI2LCA0LCAxLCAyMjYsIDIwNiwgMiwgMjQ4LCAxNjIsIDIyLCAyMTQsIDE0LCAyMiwgMjEwLCAyMTksIAotICAgIDI2LCA0LCAxLCAyMjYsIDIwNiwgMiwgMjI0LCAxNTgsIDIyLCAyMjYsIDExNSwgMjIsIDIxMCwgMjE5LCAyNiwgNCwgMSwgCi0gICAgMjI2LCAyMDYsIDIsIDI0OCwgMTYyLCAyMiwgMjI2LCAxMTUsIDIyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIDIyNiwgMjA2LCAyLCAKLSAgICAyMjQsIDE1OCwgMjIsIDIyNSwgMTc5LCAyMiwgMjEwLCAyMTksIDI2LCA0LCAxLCAyMjYsIDIwNiwgMiwgMjQ4LCAxNjIsIAotICAgIDIyLCAyMjUsIDE3OSwgMjIsIDIxMCwgMjE5LCAyNiwgNiwgMSwgMjI2LCAyMDYsIDIsIDIyNCwgMTU4LCAyMiwgMjI0LCAKLSAgICAxNzAsIDI2LCA2LCAxLCAyMjYsIDIwNiwgMiwgMjQ4LCAxNjIsIDIyLCAyMjQsIDE3MCwgMjYsIDYsIDEsIDIyNiwgMjA2LCAKLSAgICAyLCAyMjQsIDE1OCwgMjIsIDIxNCwgMTQsIDIyLCAyMjQsIDE3MCwgMjYsIDYsIDEsIDIyNiwgMjA2LCAyLCAyNDgsIDE2MiwgCi0gICAgMjIsIDIxNCwgMTQsIDIyLCAyMjQsIDE3MCwgMjYsIDYsIDEsIDIyNiwgMjA2LCAyLCAyMjQsIDE1OCwgMjIsIDIyNiwgMTE1LCAKLSAgICAyMiwgMjI0LCAxNzAsIDI2LCA2LCAxLCAyMjYsIDIwNiwgMiwgMjQ4LCAxNjIsIDIyLCAyMjYsIDExNSwgMjIsIDIyNCwgCi0gICAgMTcwLCAyNiwgNiwgMSwgMjI2LCAyMDYsIDIsIDIyNCwgMTU4LCAyMiwgMjI1LCAxNzksIDIyLCAyMjQsIDE3MCwgMjYsIDYsIAotICAgIDEsIDIyNiwgMjA2LCAyLCAyNDgsIDE2MiwgMjIsIDIyNSwgMTc5LCAyMiwgMjI0LCAxNzAsIDI2LCA0LCAxLCAyNTQsIDE1MiwgCi0gICAgMiwgMjEzLCAxMjAsIDI2LCA0LCAxLCAyNTQsIDE1MiwgMiwgMjMxLCAyMzcsIDI2LCA0LCAxLCAyNTQsIDE1MiwgMiwgMjE0LCAKLSAgICAxNCwgMjIsIDIxMCwgMjE5LCAyNiwgNCwgMSwgMjU0LCAxNTIsIDIsIDIxMCwgMjE5LCAyNiwgNCwgMSwgMjU0LCAxNTIsIDIsIAotICAgIDIyNiwgMTE1LCAyMiwgMjEwLCAyMTksIDI2LCA0LCAxLCAyNTQsIDE1MiwgMiwgMjI1LCAxNzgsIDI2LCA0LCAxLCAyNTQsIAotICAgIDE1MiwgMiwgMjI1LCAxNzksIDIyLCAyMTAsIDIxOSwgMjYsIDYsIDEsIDI1NCwgMTUyLCAyLCAyMTMsIDEyMCwgMjYsIDYsIAotICAgIDEsIDI1NCwgMTUyLCAyLCAyMzEsIDIzNywgMjYsIDYsIDEsIDI1NCwgMTUyLCAyLCAyMTQsIDEzLCAyNiwgNiwgMSwgMjU0LCAKLSAgICAxNTIsIDIsIDIyNiwgMTE0LCAyNiwgNiwgMSwgMjU0LCAxNTIsIDIsIDIyNCwgMTcwLCAyNiwgMjM0LCA4LCAyNiwgMjI0LCAKLSAgICAxNzAsIDI2LCAyMjQsIDE1NywgMjYsIDIyNSwgMTc4LCAyNiwgMjQ4LCA0LCAyMiwgMjI1LCAxNzgsIDI2LCA0LCAxLCAyNDUsIAotICAgIDcyLCAyLCAyMTQsIDE0LCAyMiwgMjEwLCAyMTksIDI2LCA0LCAxLCAyNDUsIDcyLCAyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIAotICAgIDI0NSwgNzIsIDIsIDIyNiwgMTE1LCAyMiwgMjEwLCAyMTksIDI2LCA0LCAxLCAyNDUsIDcyLCAyLCAyMjUsIDE3OCwgMjYsIAotICAgIDQsIDEsIDI0NSwgNzIsIDIsIDIyNSwgMTc5LCAyMiwgMjEwLCAyMTksIDI2LCA2LCAxLCAyNDUsIDEwOSwgMiwgMjE0LCAxMywgCi0gICAgMjYsIDYsIDEsIDI0NSwgMTA5LCAyLCAyMjYsIDExNCwgMjYsIDYsIDEsIDI0NSwgNzIsIDIsIDIxNCwgMTMsIDI2LCA2LCAxLCAKLSAgICAyNDUsIDcyLCAyLCAyMjYsIDExNCwgMjYsIDYsIDEsIDI0NSwgNzIsIDIsIDIyNCwgMTcwLCAyNiwgMjI0LCAxNTgsIDIyLCAKLSAgICAyMTQsIDEzLCAyNiwgMjI0LCAxNTgsIDIyLCAyMjYsIDExNCwgMjYsIDIyNCwgMTU4LCAyMiwgMjI1LCAxNzgsIDI2LCA0LCAKLSAgICAxLCAyMzUsIDE5MywgMiwgMjEzLCAxMjAsIDI2LCA0LCAxLCAyMzUsIDE5MywgMiwgMjMxLCAyMzcsIDI2LCA0LCAxLCAyMzUsIAotICAgIDE5MywgMiwgMjQ4LCA0LCAyMiwgMjE0LCAxMywgMjYsIDQsIDEsIDIzNSwgMTkzLCAyLCAyNDgsIDQsIDIyLCAyMjYsIDExNCwgCi0gICAgMjYsIDQsIDEsIDIzNSwgMTkzLCAyLCAyMjUsIDE3OCwgMjYsIDQsIDEsIDIzNSwgMTkzLCAyLCAyNDgsIDQsIDIyLCAyMjUsIAotICAgIDE3OCwgMjYsIDYsIDEsIDIzNSwgMTkzLCAyLCAyMTMsIDEyMCwgMjYsIDYsIDEsIDIzNSwgMTkzLCAyLCAyMzEsIDIzNywgCi0gICAgMjYsIDYsIDEsIDIzNSwgMTkzLCAyLCAyMTQsIDEzLCAyNiwgNiwgMSwgMjM1LCAxOTMsIDIsIDIyNiwgMTE0LCAyNiwgMjQ4LCAKLSAgICAxNjIsIDIyLCAyMTQsIDEzLCAyNiwgMjQ4LCAxNjIsIDIyLCAyMjYsIDExNCwgMjYsIDI0OCwgMTYyLCAyMiwgMjI1LCAxNzgsIAotICAgIDI2LCA0LCAxLCAyMTQsIDE1OCwgMiwgMjEzLCAxMjAsIDI2LCA0LCAxLCAyMTQsIDE1OCwgMiwgMjMxLCAyMzcsIDI2LCA0LCAKLSAgICAxLCAyMTQsIDE1OCwgMiwgMjQ4LCA0LCAyMiwgMjE0LCAxMywgMjYsIDQsIDEsIDIxNCwgMTU4LCAyLCAyNDgsIDQsIDIyLCAKLSAgICAyMjYsIDExNCwgMjYsIDQsIDEsIDIyMywgNDEsIDIsIDIyNCwgMTU3LCAyNiwgNCwgMSwgMjIzLCA0MSwgMiwgMjQ4LCAxNjEsIAotICAgIDI2LCA0LCAxLCAyMTQsIDE1OCwgMiwgMjI1LCAxNzgsIDI2LCA0LCAxLCAyMTQsIDE1OCwgMiwgMjQ4LCA0LCAyMiwgMjI1LCAKLSAgICAxNzgsIDI2LCA2LCAxLCAyMTQsIDE1OCwgMiwgMjEzLCAxMjAsIDI2LCA2LCAxLCAyMTQsIDE1OCwgMiwgMjMxLCAyMzcsIAotICAgIDI2LCA2LCAxLCAyMTQsIDE1OCwgMiwgMjE0LCAxMywgMjYsIDYsIDEsIDIxNCwgMTU4LCAyLCAyMjYsIDExNCwgMjYsIDYsIAotICAgIDEsIDIyMywgNDEsIDIsIDI0OCwgMTYxLCAyNiwgMjQ4LCA0LCAyMiwgMjE0LCAxMywgMjYsIDI0OCwgNCwgMjIsIDIyNiwgCi0gICAgMTE0LCAyNiwgMjE0LCAxMywgMjYsIDQsIDEsIDIyNiwgMjA2LCAyLCAyMTQsIDE0LCAyMiwgMjEwLCAyMTksIDI2LCA0LCAxLCAKLSAgICAyMjYsIDIwNiwgMiwgMjEwLCAyMTksIDI2LCA0LCAxLCAyMjYsIDIwNiwgMiwgMjI2LCAxMTUsIDIyLCAyMTAsIDIxOSwgMjYsIAotICAgIDQsIDEsIDIyNiwgMjA2LCAyLCAyMjUsIDE3OCwgMjYsIDQsIDEsIDIyNiwgMjA2LCAyLCAyMjUsIDE3OSwgMjIsIDIxMCwgCi0gICAgMjE5LCAyNiwgNiwgMSwgMjI2LCAyMDQsIDIsIDIxNCwgMTMsIDI2LCA2LCAxLCAyMjYsIDIwNCwgMiwgMjI2LCAxMTQsIDI2LCAKLSAgICA2LCAxLCAyMjYsIDIwNiwgMiwgMjE0LCAxMywgMjYsIDYsIDEsIDIyNiwgMjA2LCAyLCAyMjYsIDExNCwgMjYsIDYsIDEsIAotICAgIDIyNiwgMjA2LCAyLCAyMjQsIDE3MCwgMjYsIDIyNiwgMTE0LCAyNiwgMjQ4LCAxNjEsIDI0NSwgMTU5LCAyMjQsIDMwLCAKLSAgICAyNDUsIDE2OCwgMjI0LCAzMCwgMjQ1LCAxNTksIDIxOSwgMjAsIDI0NSwgMTY4LCAyMTksIDIwLCAyMTYsIDE0MiwgMjE5LCAKLSAgICAyMCwgMjQ0LCAxNywgMjE5LCAyMCwgMjE5LCAxMjUsIDIxOSwgMjAsIDI0NCwgMTIwLCAyMTksIDIwLCAyMjQsIDE0NCwgCi0gICAgMjE5LCAyMCwgMjE2LCAxNzEsIDIxOSwgMjAsIDI0MiwgNDIsIDIxOSwgMjAsIDIxMCwgODcsIDIxMSwgMjQ1LCAyMTksIDIwLCAKLSAgICAyMTAsIDg3LCAyMTEsIDI0NSwgMjI4LCA3MiwgMjEwLCA4NywgMjExLCAyNDUsIDIzNSwgNjksIDIzMywgNDQsIDc5LCAyMjIsIAotICAgIDI0NiwgNzksIDI0MCwgMTc1LCAyMjgsIDczLCAyNDAsIDE3NSwgMjQ0LCAxMjAsIDI0OCwgMTY0LCAyNDUsIDE1OSwgMjQ4LCAKLSAgICAxNjQsIDI0NSwgMTY4LCAyNDgsIDE2NCwgMjAzLCAxMzAsIDUyLCA2NywgMjMyLCAyMTksIDUyLCAxMjEsIDIzMiwgMjE5LCAKLSAgICA0MywgMjE5LCAxNTcsIDIyNCwgMSwgNzksIDQ0LCAyMTksIDE1NywgMjI0LCAxLCA3OSwgMjE5LCAxNTcsIDIzMiwgMTE1LCAKLSAgICAyMjQsIDEsIDc5LCAyMTksIDE1NywgMjQxLCAxNzAsIDIyNCwgMSwgNzksIDQzLCA1MiwgMjI0LCAxLCA3OSwgNDQsIDUyLCAKLSAgICAyMjQsIDEsIDc5LCA1MiwgMjMyLCAxMTUsIDIyNCwgMSwgNzksIDUyLCAyNDEsIDE3MCwgMjI0LCAxLCA3OSwgMjQ4LCAyMTMsIAotICAgIDUyLCAyNDgsIDIxMywgMjUxLCAxMjEsIDIxNSwgMjIzLCAyNTEsIDEyMSwgMTIzLCA1OSwgMjMzLCA2MiwgMTEzLCA1OSwgCi0gICAgMjMzLCA2MiwgMjAzLCAyNDUsIDE3MSwgMjQwLCAxNzMsIDIyNSwgMTMsIDIzMiwgMjIwLCAyMjAsIDEzOSwgMjI2LCAxOSwgCi0gICAgMjIwLCAxMzksIDIzMywgNDQsIDI0NSwgMTY2LCAyMjIsIDI0NiwgMjQ1LCAxNjYsIDIyNCwgMjQ5LCAyNDcsIDIwNCwgMjQ0LCAKLSAgICAyNywgMjMzLCA0NCwgMjI2LCAxMjEsIDIyMiwgMjQ2LCAyMjYsIDEyMSwgMjI5LCAxOTksIDIyOCwgNzgsIDIxOSwgMjAsIAotICAgIDIyNSwgMTg2LCAyMzAsIDE5OCwgNTAsIDIyNSwgMTg2LCAyMTYsIDI0OSwgMjE2LCAxNDksIDUwLCAyMjQsIDE5MywgNTIsIAotICAgIDIyNCwgMTkzLCAyMTUsIDIxMiwgMjI0LCAxOTMsIDIyMywgNTIsIDIyNCwgMTkzLCAyMjMsIDUyLCA1MiwgMjI0LCAxOTMsIAotICAgIDIyMywgNTIsIDIxNSwgMjEyLCAyMjQsIDE5MywgMjUwLCAyNDYsIDIxOSwgMTU3LCAyMzMsIDQ4LCAyNTQsIDExOCwgMjI0LCAKLSAgICAxLCA3OSwgMjE5LCAxNTcsIDIyMiwgMjUwLCAyNTQsIDExOCwgMjI0LCAxLCA3OSwgMjIzLCAxMTAsIDc5LCA1MiwgMjQ1LCAKLSAgICAzOSwgNzksIDIzNSwgMjA4LCAyMjYsIDEyMywgMjE0LCAxODAsIDEzNSwgMjE2LCAxMTIsIDI1MCwgMjQ3LCAyMzUsIDIyMywgCi0gICAgMjI1LCAxMywgMjUzLCAyMjIsIDI0MCwgMTc2LCAyNTEsIDEyMSwgMjQ0LCAxMCwgMjE5LCA5NywgNDMsIDQyLCAyNTEsIAotICAgIDE2NiwgMiwgMjI0LCAxMCwgNDQsIDQyLCAyNTEsIDE2NiwgMiwgMjI0LCAxMCwgNTIsIDIyNCwgMTYsIDc5LCAyMjQsIDE2LCAKLSAgICAyNDUsIDM5LCA3OSwgMjQ1LCAzOSwgMjI0LCAxNiwgNzksIDIxNiwgNzEsIDUsIDI0NSwgNzMsIDIyMywgNTIsIDIyNSwgNzEsIAotICAgIDUwLCA4NSwgMTQwLCAyNTEsIDEyMSwgODUsIDk3LCAyNTEsIDEyMSwgMTIxLCAyNTMsIDIyNCwgMjIzLCA1MiwgMjIwLCAKLSAgICAxNTIsIDI1MCwgOSwgMjE0LCAxNjMsIDExMywgMjUzLCAyMjMsIDI1NCwgMTY3LCAyMTMsIDE4OCwgMjQ5LCAyMjUsIDIzMCwgCi0gICAgMTg3LCA1MCwgMjE3LCAyMzUsIDI0OCwgMTY0LCAyMzUsIDIwMCwgMjE0LCAxODAsIDI0NCwgNjAsIDIyNCwgMTQ0LCA3OSwgCi0gICAgMTM0LCA1OSwgMjI0LCAxNDMsIDIyNCwgMjcsIDIyNCwgMTkzLCAyNDQsIDE5LCA1OSwgMjI0LCAxNDMsIDI0NCwgODksIDU5LCAKLSAgICAyMjQsIDE0MywgMTEzLCA1OSwgMjI0LCAxNDMsIDI0NCwgMTksIDU5LCA3OSwgMjQ2LCAxMjYsIDI0OSwgMTM4LCAyMTUsIAotICAgIDIyMiwgNjcsIDI0NCwgMTksIDI0NywgMTI2LCAyMzEsIDg3LCAxMSwgMjE5LCAyMCwgMjExLCAyMDksIDIzNSwgNjksIDI0MywgCi0gICAgMjM0LCAyNTQsIDYwLCAyMzUsIDE5OCwgMjE2LCA4NiwgMjM1LCAxOTgsIDIyMCwgMTM5LCAyMzUsIDE5OCwgMjI1LCAyNSwgCi0gICAgMjMzLCA0NCwgMjM1LCAxNzEsIDIyMiwgMjQ2LCAyMzUsIDE3MSwgMjQ0LCAxMDAsIDIxOCwgOTEsIDIzNSwgMTcxLCAyMjQsIAotICAgIDI0OSwgMjQ3LCAyMDQsIDIzNSwgMTcxLCAyMzUsIDIzNSwgMjE3LCAxODMsIDIxNywgMjUyLCAyNTUsIDE0LCAyMTcsIDE4MywgCi0gICAgMjE3LCAyNTIsIDIzNSwgMjM1LCA5LCAyNDQsIDI4LCAyMjAsIDgyLCAyNTUsIDE0LCA5LCAyNDQsIDI4LCAyMjAsIDgyLCAKLSAgICAyMjksIDE5NCwgMjEsIDIyMCwgODMsIDIyOCwgNzQsIDIxLCAyMjAsIDgzLCAyMTgsIDI0LCAyMTAsIDg2LCAyMTgsIDI0LCAKLSAgICA3LCA0LCAxLCA3NCwgMjE4LCAyNCwgMTYxLCAyMTgsIDI0LCAxOTAsIDIxOCwgMjQsIDE5NSwgMjE4LCAyNCwgMTk5LCAyMTgsIAotICAgIDI0LCAxOTYsIDIxOCwgMjQsIDIwMSwgMjE4LCAyNCwgOTYsIDUwLCAyMTgsIDI0LCAyMzAsIDE4NiwgMjE4LCAyNCwgMjQ1LCAKLSAgICAxMDYsIDUwLCAyMTgsIDI0LCA0MywgMjI2LCA3LCAyMTgsIDI0LCA0NCwgMjI2LCA3LCAyMTgsIDI0LCA3LCA0LCAxLCAyMzAsIAotICAgIDMwLCAyMTgsIDY2LCAyMTAsIDg2LCAyMTgsIDY2LCAxMTEsIDIxOCwgNjYsIDEwNSwgMjE4LCA2NiwgMTU4LCAyMTgsIDY2LCAKLSAgICAxNjEsIDIxOCwgNjYsIDE5MCwgMjE4LCA2NiwgMTk1LCAyMTgsIDY2LCAxOTksIDIxOCwgNjYsIDE5NiwgMjE4LCA2NiwgCi0gICAgMjAxLCAyMTgsIDY2LCA5NiwgNTAsIDIxOCwgNjYsIDIzMCwgMTg2LCAyMTgsIDY2LCAyNDUsIDEwNiwgNTAsIDIxOCwgNjYsIAotICAgIDQzLCAyMjYsIDcsIDIxOCwgNjYsIDQ0LCAyMjYsIDcsIDcsIDIxOCwgNjYsIDQsIDEsIDYxLCA3LCAyMTgsIDY2LCA0LCAxLCAKLSAgICA3NiwgNywgMjE4LCA2NiwgNCwgMSwgNzgsIDcsIDIxOCwgNjYsIDQsIDEsIDIxMSwgMTc4LCA3LCAyMTgsIDY2LCA0LCAxLCAKLSAgICAyMjEsIDE5NywgNywgMjE4LCA2NiwgNCwgMSwgMjQyLCA2NywgNywgMjE4LCA2NiwgNCwgMSwgMjM1LCAyOSwgNywgMjE4LCAKLSAgICA2NiwgNCwgMSwgMTU2LCA3LCAyMTgsIDY2LCA0LCAxLCAxOTQsIDcsIDIxOCwgNjYsIDQsIDEsIDIzMCwgMzAsIDcsIDIxOCwgCi0gICAgNjYsIDQsIDEsIDIyNiwgMTA5LCA3LCAyMTgsIDY2LCA0LCAxLCAyMjIsIDkzLCA3LCAyMTgsIDY2LCA0LCAxLCAyMTcsIAotICAgIDE1MywgMjQ1LCA1NCwgNTAsIDI0OSwgMjM1LCA1MCwgMjQ5LCAxMjUsIDUwLCAyNDQsIDMsIDI0NCwgNiwgNTAsIDIzMiwgCi0gICAgMjA0LCA1MCwgMjMwLCAxOTksIDUwLCAyMjksIDIxNSwgNTAsIDIyNSwgMTY1LCA1MCwgMjIyLCAxMjAsIDUwLCAyMTEsIAotICAgIDIxNywgNTAsIDE2NiwgMjIwLCA1MSwgNTAsIDI0NywgMTM1LCA1MCwgMjQ1LCA1NSwgNTAsIDIzNCwgODIsIDUwLCAyMTUsIAotICAgIDExMywgNTAsIDI0NiwgMTA5LCA1MCwgMjQzLCA0NywgMjI1LCAxOTYsIDUwLCAyMjUsIDE2MywgNTAsIDI0MiwgMTE2LCA1MCwgCi0gICAgMjUzLCAxOTAsIDUwLCAyNDAsIDIzNSwgNTAsIDI1MCwgMTkzLCA1MCwgMjMyLCAxOTcsIDIxNiwgNCwgNTAsIDIxOSwgMiwgCi0gICAgNTAsIDIxNiwgMjQ2LCA1MCwgMjM1LCAyNDgsIDIyMiwgMTIwLCA1MCwgMjE1LCA5NywgMjMyLCAyMDQsIDUwLCAzOCwgNDMsIAotICAgIDI0MiwgNiwgNDgsIDM4LCA0NCwgMjQyLCA2LCA0OCwgMzgsIDIwMCwgNjcsIDIzMiwgMjIwLCAyMjYsIDEyNCwgMzgsIDIxOSwgCi0gICAgMjUzLCA2NywgMjMyLCAyMjAsIDIyNiwgMTI0LCAzOCwgMjU0LCA5NiwgODAsIDQ4LCAzOCwgMjUwLCAxMCwgODAsIDQ4LCAKLSAgICAzOCwgNDMsIDgwLCA0OCwgMzgsIDQ0LCA4MCwgNDgsIDM4LCAyMjIsIDIzNywgMjI2LCAxMjQsIDM4LCAyNTAsIDEwLCAyMjIsIAotICAgIDIzNywgMjI2LCAxMjQsIDM4LCAyNTQsIDk2LCAyMjIsIDIzNywgMjI2LCAxMjQsIDM4LCAxMzQsIDE3MCwgNDgsIDM4LCAKLSAgICAyNDQsIDE5LCAxNzAsIDQ4LCAzOCwgMjQ1LCAxNTQsIDI1MCwgNDMsIDM4LCAyNDUsIDE1NCwgMjE4LCAyMzYsIDM4LCAyNDUsIAotICAgIDE1NCwgMjQ4LCAwLCAzOCwgMjQ1LCAxNTQsIDI1MCwgNDQsIDI1MiwgMTg4LCAzOCwgNDMsIDQ0LCA4MCwgNDgsIDM4LCAKLSAgICAyNDUsIDE1NCwgMjIxLCAxOTAsIDM4LCAyNDUsIDE1NCwgMjM0LCAxNDEsIDM4LCAyNDUsIDE1NCwgMjE0LCAxNTUsIDIyNSwgCi0gICAgMTAsIDIxNSwgMjI2LCAzOCwgMjIzLCA1MywgMjE5LCA0OSwgMjI2LCAxMjQsIDM4LCA1MiwgNjcsIDIxOCwgMTA1LCAyMjYsIAotICAgIDEyNCwgMzgsIDI1NCwgMTA2LCA4NywgMzgsIDIxNSwgMjEyLCAyMTQsIDE4MiwgMzgsIDIxMSwgMjQ3LCAyNTEsIDE0OCwgCi0gICAgNDgsIDM4LCAxNDAsIDgwLCAyMjYsIDEyNCwgMzgsIDIwMCwgNTIsIDIxOSwgNDksIDIyNiwgMTI0LCAzOCwgOTcsIDI0MiwgCi0gICAgNiwgMiwgMjUyLCAxNDcsIDI0NiwgMTExLCAzOCwgMTQwLCAyNDIsIDYsIDIsIDI1MiwgMTQ3LCAyNDYsIDExMSwgMzgsIDQzLCAKLSAgICA4MCwgNTEsIDM4LCA0NCwgODAsIDUxLCAzOCwgMjUzLCAyMjUsIDQ4LCAyNTUsIDIwLCAyMjYsIDIzNSwgMjU1LCA0LCAyMTYsIAotICAgIDQzLCAyMTYsIDE5NywgMjE4LCA3NSwgMTM5LCA2LCAyNTEsIDc0LCAyNDgsIDc5LCAyNTAsIDE4NiwgMjUwLCAxODMsIDIzMiwgCi0gICAgMjIwLCA4NywgMjUwLCAyNDgsIDIyNiwgMjM1LCAyNTEsIDM0LCAyMTQsIDE4OSwgMjQ1LCA1NiwgMjQ5LCAxOTksIDIyMSwgCi0gICAgMTg3LCAyNDgsIDc5LCAyNDQsIDE4NywgMTE5LCA0LCAyNDMsIDIwOSwgMTE5LCA2LCAyNDIsIDY3LCAyNTEsIDIyNywgNiwgCi0gICAgMjQyLCA2NywgMTM5LCA2LCAyNDIsIDY3LCAyMjUsIDQwLCAyNDksIDE5OSwgMjI1LCA0MCwgMjQ5LCAyMDAsIDExNSwgMTEzLCAKLSAgICAyMjUsIDExMSwgMTE5LCA2LCA3NCwgMjUxLCAyMjcsIDYsIDc0LCAxMTksIDYsIDE1NiwgMTE5LCA0LCAxNTYsIDIzMywgCi0gICAgMTU1LCA1NywgMjUyLCAxNDksIDg3LCAxMzksIDYsIDIzMCwgMzAsIDIyNywgMjAwLCA1MCwgMjE5LCAzMywgMjIzLCAxMjIsIAotICAgIDI0OSwgMTcwLCAxMTksIDYsIDIyNiwgMTA5LCAxMzksIDYsIDIyNiwgMTA5LCAxMzksIDYsIDIyNCwgOTksIDExOSwgNiwgCi0gICAgMTUzLCAyNTEsIDIyNywgNiwgMTUzLCAxMzksIDYsIDE1MywgMjI0LCAxOTksIDIxNywgNzIsIDIyMywgNjUsIDIyMCwgMTM0LCAKLSAgICA3OSwgMjE3LCAyLCA1MCwgMjE1LCAyNTQsIDE2NCwgNTAsIDIxMywgMjQwLCAxMzksIDYsIDIxMCwgMTU5LCAyMjYsIDEzNywgCi0gICAgNTAsIDIyNiwgMjI1LCA1MCwgMjM1LCAyMDAsIDIyNiwgMjI1LCA1MCwgMjUxLCAyMjcsIDYsIDIxMCwgMTU5LCAyMTUsIDk0LCAKLSAgICAyNiwgNCwgMSwgMjM1LCAxOTIsIDIzNCwgMTc5LCA1MCwgMjU0LCAxMTUsIDUwLCAxMTksIDYsIDI1MywgMTY2LCAyNTEsIAotICAgIDIyNywgNiwgMjUxLCA3NCwgMjQ1LCA3NiwgODcsIDExOSwgNCwgNzYsIDExOSwgNiwgNzYsIDExOSwgNiwgMjQ1LCAxNCwgCi0gICAgMjE1LCA5NCwgNiwgMjQ1LCAxNCwgMTE5LCA2LCAxOTQsIDExOSwgNCwgNzgsIDEwOSwgODcsIDI1MiwgMzcsIDg3LCAyNDIsIAotICAgIDIwOSwgODcsIDI0OCwgMTk4LCA4NywgMjM1LCAyMzksIDIxOSwgMzEsIDIyMiwgMTg5LCA2LCAyMjQsIDk5LCAyNDQsIDE5MCwgCi0gICAgNTAsIDEzOSwgNCwgMjI1LCAxMTEsIDEzOSwgNCwgMjQzLCAxMTQsIDEzOSwgNiwgMjQzLCAxMTQsIDEzOSwgNiwgMjI1LCAKLSAgICAxMTEsIDEzOSwgMjMwLCAyOSwgMjE4LCA0MSwgMjE1LCA5NCwgMzUsIDYsIDI0MywgMjA5LCAyMTUsIDk0LCAzNSwgNiwgCi0gICAgMTU2LCAyMjMsIDUyLCAzNSwgNiwgMTU2LCAyMTUsIDk0LCAzNSwgNiwgMjExLCAxMTcsIDEzOSwgMzIsIDYsIDI0OSwgNjgsIAotICAgIDEzOSwgMzIsIDQsIDI0OSwgNjgsIDEzOSwgMzIsIDQsIDc2LCAxMzksIDMyLCA0LCA3NCwgMTM5LCAzMiwgNCwgMjM1LCAKLSAgICAxNTAsIDIyNCwgMTczLCAyMzIsIDIxOSwgMjE1LCA5NCwgMjU0LCAxMzQsIDIyNSwgMTg2LCA1MCwgMjU0LCAxODksIDIxNSwgCi0gICAgOTQsIDQsIDI0NSwgMTQsIDE2LCAzMSwgMjIxLCAyNTQsIDIxOSwgMzEsIDIxMiwgMTE0LCAyNDQsIDEwLCAxMjMsIDIyMCwgCi0gICAgMTIwLCAyMTIsIDExNCwgMjQ0LCAxMCwgMTIzLCAyMjgsIDE5OSwgMjEyLCAxMTQsIDI0NCwgMTAsIDEyMywgMjE2LCAyNDIsIAotICAgIDIxMiwgMTE0LCAyNDQsIDEwLCAxMjMsIDIxNiwgMTY5LCAyMTIsIDExNCwgMjQ0LCAxMCwgMTEzLCAyMTYsIDE2NywgMjEyLCAKLSAgICAxMTQsIDI0NCwgMTAsIDEyMywgMjQ0LCAxMjUsIDIxMiwgMTE0LCAyNDQsIDEwLCAxMTMsIDI0NCwgMTI0LCAyMTIsIDExNCwgCi0gICAgMjQ0LCAxMCwgMTM0LCAyNDQsIDEyNCwgMjEyLCAxMTQsIDI0NCwgMTAsIDI0NCwgMTksIDI0NCwgMTI0LCAyMTIsIDExNCwgCi0gICAgMjQ0LCAxMCwgMTIzLCAyMTksIDExNywgMjEyLCAxMTQsIDI0NCwgMTAsIDI0NCwgODksIDIxOSwgMTE1LCAyMTIsIDExNCwgCi0gICAgMjQ0LCAxMCwgMTIzLCAyNDUsIDE5NiwgMjEyLCAxMTQsIDI0NCwgMTAsIDEzNCwgMjQ1LCAxOTQsIDIxMiwgMTE0LCAyNDQsIAotICAgIDEwLCAyNDQsIDg5LCAyNDUsIDE5NCwgMjEyLCAxMTQsIDI0NCwgMTAsIDIyMCwgMTI0LCAyNDUsIDE5NCwgMjQ0LCAxMCwgCi0gICAgMjI3LCAyMDEsIDExMSwgMjIyLCAyMDAsIDIyNywgMjAyLCAxMTEsIDIyMiwgMjAwLCAyMjcsIDIwMiwgMTA1LCAyMjIsIAotICAgIDIwMCwgMjI3LCAyMDIsIDE1OCwgMjIyLCAyMDAsIDIyNywgMjAyLCAxNjEsIDIyMiwgMjAwLCAyMjcsIDIwMiwgMTkwLCAKLSAgICAyMjIsIDIwMCwgMjI3LCAyMDIsIDE5NSwgMjIyLCAyMDAsIDIyNywgMjAyLCAxOTksIDIyMiwgMjAwLCAyMjcsIDIwMiwgCi0gICAgMTk2LCAyMjIsIDIwMCwgMjI3LCAyMDIsIDIwMSwgMjIyLCAyMDAsIDIyNywgMjAyLCAyMTYsIDI0OCwgMjIyLCAyMDAsIAotICAgIDIyNywgMjAyLCAyNDUsIDE3NSwgMjIyLCAyMDAsIDIyNywgMjAyLCAyMTUsIDc2LCAyMjIsIDIwMCwgMjI3LCAyMDIsIDI0NCwgCi0gICAgMTIyLCAyMjIsIDIwMCwgMjI3LCAyMDIsIDEyMywgMjQwLCAyMTcsIDIyMiwgMjAwLCAyMjcsIDIwMiwgMjQ0LCA4OSwgMjQwLCAKLSAgICAyMTcsIDIyMiwgMjAwLCAyMjcsIDIwMiwgMTIzLCAyMTYsIDE0OCwgNCwgMjIyLCAyMDAsIDIyNywgMjAyLCAxMTEsIDQsIAotICAgIDIyMiwgMjAwLCAyMjcsIDIwMiwgMTA1LCA0LCAyMjIsIDIwMCwgMjI3LCAyMDIsIDE1OCwgNCwgMjIyLCAyMDAsIDIyNywgCi0gICAgMjAyLCAxNjEsIDQsIDIyMiwgMjAwLCAyMjcsIDIwMiwgMTkwLCA0LCAyMjIsIDIwMCwgMjI3LCAyMDIsIDE5NSwgNCwgMjIyLCAKLSAgICAyMDAsIDIyNywgMjAyLCAxOTksIDQsIDIyMiwgMjAwLCAyMjcsIDIwMiwgMTk2LCA0LCAyMjIsIDIwMCwgMjI3LCAyMDIsIAotICAgIDIwMSwgNCwgMjIyLCAyMDAsIDIyNywgMjAyLCAyMTYsIDI0OCwgNCwgMjIyLCAyMDAsIDIyNywgMjAyLCAyNDUsIDE3NSwgNCwgCi0gICAgMjIyLCAyMDAsIDIyNywgMjAyLCAyMTUsIDc2LCA0LCAyMjIsIDIwMCwgMjI3LCAyMDIsIDI0NCwgMTIyLCA0LCAyMjIsIAotICAgIDIwMCwgMjI3LCAyMDIsIDEyMywgMjQwLCAyMTcsIDQsIDIyMiwgMjAwLCAyMjcsIDIwMiwgMjQ0LCA4OSwgMjQwLCAyMTcsIAotICAgIDQsIDIyMiwgMjAwLCAyMjcsIDIwMiwgMTIzLCAyMTYsIDE0OCwgMjIyLCAyMDAsIDIyNywgMjAyLCAxMjMsIDIxNiwgMTQ5LCAKLSAgICAyNTEsIDc1LCAyNDksIDY4LCAyMjIsIDIwMCwgMjI3LCAyMDIsIDI0NCwgODksIDIxNiwgMTQ4LCAyMjIsIDIwMCwgMjI3LCAKLSAgICAyMDIsIDIxNiwgMjQ5LCAyMTYsIDE0OCwgMjIyLCAyMDAsIDIyNywgMjAyLCAyMjMsIDUyLCAxMjMsIDI0MCwgMjE3LCA3LCAKLSAgICA0LCAxLCAyMjMsIDUyLCAyNTEsIDc0LCAyMjIsIDIwMCwgMjI3LCAyMDIsIDIxOSwgMTI3LCAyMzMsIDg0LCAxNywgMjIyLCAKLSAgICAyMDAsIDIyNywgMjAyLCAyNDQsIDEyMywgMjQ1LCAyMzQsIDE3LCAyMjIsIDIwMCwgMjI3LCAyMDIsIDI0NCwgMTIzLCAyMTYsIAotICAgIDE0OCwgMjIyLCAyMDAsIDIyNywgMjAyLCAxMjMsIDI0MCwgMjE4LCAyMTYsIDE0OCwgMjEyLCAxMTQsIDI0NCwgMTAsIDIxMCwgCi0gICAgODcsIDIxNiwgMTY3LCAxNDAsIDc1LCAyMTQsIDE1MywgNzUsIDk3LCA3NSwgMjQ2LCAxMTIsIDc1LCA0MywgNDQsIDc1LCAKLSAgICAxMjAsIDEyNCwgNzUsIDIyOCwgNjEsIDIxMiwgOSwgNzUsIDIyOCwgNjEsIDI0NSwgMjI4LCA3NSwgMjE5LCAzMCwgMjQ1LCAKLSAgICAyMjgsIDc1LCAyMTksIDMwLCAyMTIsIDksIDc1LCAxNDAsIDgwLCAyLCA5MSwgOTcsIDgwLCAyLCA5MSwgMTQwLCAyMTIsIAotICAgIDM2LCA3NSwgOTcsIDIxMiwgMzYsIDc1LCAxNDAsIDExMywgMjQxLCAyNDEsIDc1LCAyMTQsIDE1MywgMTEzLCAyNDEsIDI0MSwgCi0gICAgNzUsIDk3LCAxMTMsIDI0MSwgMjQxLCA3NSwgMjQ2LCAxMTIsIDExMywgMjQxLCAyNDEsIDc1LCAxNDAsIDgwLCAyLCAyMTcsIAotICAgIDc4LCA5NywgODAsIDIsIDIxNywgNzgsIDE0MCwgODAsIDI0MywgMjUxLCAxMzAsIDIxNCwgMTUzLCA4MCwgMjQzLCAyNTEsIAotICAgIDEzMCwgOTcsIDgwLCAyNDMsIDI1MSwgMTMwLCAyNDYsIDExMiwgODAsIDI0MywgMjUxLCAxMzAsIDEyMCwgMTI0LCA4MCwgMiwgCi0gICAgMjUyLCAxMzUsIDE0MCwgODAsIDIsIDEwMywgOTcsIDgwLCAyLCAxMDMsIDE0MCwgODAsIDIsIDIzMiwgMTI5LCA5NywgODAsIAotICAgIDIsIDIzMiwgMTI5LCA0MywgNDQsIDIxMiwgMzYsIDc1LCA0MywgNDQsIDgwLCAyLCA5MSwgMjQ2LCAxMTIsIDIxMCwgMzUsIAotICAgIDc1LCAyMTQsIDE1MywgODAsIDIsIDIxNiwgNzgsIDIzMywgNDMsIDIxNCwgMTUzLCA4MCwgMiwgMjE2LCA3OCwgMjIyLCAKLSAgICAyNDQsIDI0NiwgMTEyLCA4MCwgMiwgMjE2LCA3OCwgMjMzLCA0MywgMjQ2LCAxMTIsIDgwLCAyLCAyMTYsIDc4LCAyMjIsIAotICAgIDI0NCwgOTcsIDgwLCAyLCAyNDksIDE2OSwgMjQ2LCAxMTEsIDI0NiwgMTEyLCA4MCwgMiwgMjQ5LCAxNjksIDIzMywgNDMsIAotICAgIDI1NCwgOTYsIDIxNiwgMTUsIDIyMCwgMTU1LCA3NSwgMjUwLCAxMCwgMjE2LCAxNSwgMjIwLCAxNTUsIDc1LCAyMjgsIDYxLCAKLSAgICAyMTIsIDksIDgwLCAyMTYsIDQzLCAyMDAsIDEzMCwgMTQwLCA4MCwgMjE2LCA0MywgMjUyLCAxNDksIDExNSwgOTcsIDgwLCAKLSAgICAyMTYsIDQzLCAxMzAsIDI1NCwgOTYsIDIwNCwgMjUwLCA0NCwgNzUsIDI1MCwgMTAsIDIwNCwgMjUwLCA0NCwgNzUsIDE0MCwgCi0gICAgMjQyLCA2LCAyLCAyNTIsIDE0NywgMjE0LCAxNTIsIDE0MCwgMjQyLCA2LCAyLCAyNTIsIDE0NywgMjQ2LCAxMTEsIDIxNCwgCi0gICAgMTUzLCAyNDIsIDYsIDIsIDI1MiwgMTQ3LCAyMjIsIDI0NCwgMjE0LCAxNTMsIDI0MiwgNiwgMiwgMjUyLCAxNDcsIDIzMywgCi0gICAgNDMsIDk3LCAyNDIsIDYsIDIsIDI1MiwgMTQ3LCAyMTQsIDE1MiwgOTcsIDI0MiwgNiwgMiwgMjUyLCAxNDcsIDI0NiwgMTExLCAKLSAgICAyNDYsIDExMiwgMjQyLCA2LCAyLCAyNTIsIDE0NywgMjIyLCAyNDQsIDI0NiwgMTEyLCAyNDIsIDYsIDIsIDI1MiwgMTQ3LCAKLSAgICAyMzMsIDQzLCA5NywgODAsIDExNSwgMTQwLCA3NSwgMjE0LCAxNTMsIDgwLCAxNDAsIDY0LCAyNDYsIDExMiwgNzUsIDE0MCwgCi0gICAgODAsIDExNSwgOTcsIDc1LCAxNDAsIDIyNiwgNzQsIDI1MywgMjU1LCAyMTQsIDE1MywgMjI2LCA3NCwgMjUzLCAyNTUsIDk3LCAKLSAgICAyMjYsIDc0LCAyNTMsIDI1NSwgMjQ2LCAxMTIsIDIyNiwgNzQsIDI1MywgMjU1LCAxNDAsIDI0MiwgNiwgMTE1LCA5NywgCi0gICAgMjQyLCA1LCA5NywgMjQyLCA2LCAxMTUsIDE0MCwgMjQyLCA1LCAxNDAsIDUyLCA4MCwgMiwgOTEsIDQzLCA0NCwgNTIsIDgwLCAKLSAgICAyLCA5MSwgOTcsIDUyLCA4MCwgMiwgOTEsIDE0MCwgNTIsIDc1LCAyMTQsIDE1MywgNTIsIDc1LCA5NywgNTIsIDc1LCAyNDYsIAotICAgIDExMiwgNTIsIDc1LCA0MywgNDQsIDUyLCA3NSwgMTIwLCAxMjQsIDUyLCA3NSwgMjI4LCA2MSwgMjEyLCA5LCA1MiwgNzUsIAotICAgIDIyOCwgNjEsIDI0NSwgMjI4LCA1MiwgNzUsIDIxOSwgMzAsIDI0NSwgMjI4LCA1MiwgNzUsIDIxOSwgMzAsIDIxMiwgOSwgCi0gICAgNTIsIDc1LCAxNDAsIDIxNSwgMjEyLCA3NSwgOTcsIDIxNSwgMjEyLCA3NSwgMTQwLCAyMTgsIDIzMiwgNzUsIDk3LCAyMTgsIAotICAgIDIzMiwgNzUsIDIxNCwgMTUzLCA4MCwgMiwgNTIsIDkxLCAyNDYsIDExMiwgODAsIDIsIDUyLCA5MSwgMTQwLCAyNDgsIDE2MywgCi0gICAgNzUsIDIxNCwgMTUzLCAyNDgsIDE2MywgNzUsIDk3LCAyNDgsIDE2MywgNzUsIDI0NiwgMTEyLCAyNDgsIDE2MywgNzUsIAotICAgIDE0MCwgODAsIDIxNiwgNDMsIDEzMCwgOTcsIDgwLCAyMTYsIDQzLCAxMzAsIDE0MCwgNzEsIDc1LCAyMTQsIDE1MywgNzEsIAotICAgIDc1LCA5NywgNzEsIDc1LCAyNDYsIDExMiwgNzEsIDc1LCAyMTQsIDE1MywgNzEsIDgwLCAyNDMsIDI1MSwgMTMwLCAyMTQsIAotICAgIDE1MywgNzEsIDgwLCAyMjYsIDIwMSwgMjI1LCAyMTcsIDIxNCwgMTUzLCA3MSwgODAsIDIyNiwgMjAxLCAyMjUsIDIxOCwgMiwgCi0gICAgMjAzLCAxMzAsIDIxNCwgMTUzLCA3MSwgODAsIDIyNiwgMjAxLCAyMjUsIDIxOCwgMiwgNjcsIDEzMCwgMjE0LCAxNTMsIDcxLCAKLSAgICA1MiwgNzUsIDIxNCwgMTUzLCA3MSwgNTIsIDgwLCAyMjYsIDIwMSwgMjI1LCAyMTcsIDk3LCA3MSwgODAsIDI0MywgMjUxLCAKLSAgICAyMTIsIDU2LCAyMjgsIDYxLCAyMTIsIDksIDgwLCAyMTYsIDQzLCAyNDksIDE2OCwgMjE5LCAzMCwgMjQ1LCAyMjgsIDgwLCAKLSAgICAyMTYsIDQzLCAyNDksIDE2OCwgMTIwLCAxMjQsIDcxLCA3NSwgNDQsIDgwLCAyLCA0LCAyNTAsIDQzLCAyNDYsIDExMiwgODAsIAotICAgIDE0MCwgNjQsIDIxNCwgMTUzLCA3NSwgMTM0LCA5NywgMjUzLCAyNTUsIDE0MCwgODAsIDIsIDY3LCA5MSwgOTcsIDgwLCAyLCAKLSAgICA2NywgOTEsIDQzLCA0NCwgODAsIDIsIDY3LCA5MSwgMTQwLCA4MCwgMiwgNTIsIDY3LCA5MSwgOTcsIDgwLCAyLCA1MiwgNjcsIAotICAgIDkxLCA0MywgNDQsIDgwLCAyLCA1MiwgNjcsIDkxLCAxNDAsIDIyNiwgMTc3LCA3NSwgOTcsIDIyNiwgMTc3LCA3NSwgNDMsIAotICAgIDQ0LCAyMjYsIDE3NywgNzUsIDMxLCAyNTQsIDE2MywgMjQ5LCAyMjIsIDIyNiwgMSwgMjQ3LCAyNDEsIDIxNiwgMTg4LCAKLSAgICAyNDUsIDM1LCAyMTYsIDE4OCwgMjQ3LCAxNDYsIDIyOCwgNTcsIDI0NSwgMzYsIDI0NSwgMTYwLCAyMjAsIDEyOSwgMjM1LCAKLSAgICAyNTIsIDIyOSwgMjI2LCAyNDUsIDE3OCwgMjI2LCAyMzUsIDIyOCwgNTcsIDI1NCwgMTMyLCAyNDUsIDE3OCwgMjI2LCAyMzUsIAotICAgIDQsIDI0NSwgMTc4LCAyMjYsIDIzNSwgMjQ5LCAxOTQsIDI1MywgMjQ2LCAyMzEsIDY3LCAyNDcsIDE0NiwgMjI4LCA1NywgCi0gICAgMjQ5LCAxOTYsIDI1MywgMjQ2LCAyMzEsIDY3LCA0LCAyNDksIDE5NCwgMjUzLCAyNDYsIDIzMSwgNjcsIDI0NSwgMTUxLCAKLSAgICA2NCwgMjI0LCAxNzUsIDIzMCwgMjksIDIyNCwgMTgzLCAyMzAsIDI5LCAyNDksIDE3MywgMjMwLCAyOSwgMjE4LCA0MSwgCi0gICAgMjMwLCAxODcsIDUwLCAyMzAsIDE4NSwgNTAsIDU5LCAyMjUsIDI1LCAyNDcsIDE3NywgMjE5LCA5NywgMjIwLCAxMzAsIAotICAgIDIzMCwgMTg2LCAyNTMsIDIyNSwgMjI2LCAxNzEsIDIyMiwgMjM3LCAyMjYsIDE3MSwgMjUxLCAxMjIsIDIyNiwgMTcxLCA0MiwgCi0gICAgMjIyLCAxOTUsIDI0OSwgMTE3LCAyMjIsIDE5NSwgMjQ0LCAxMiwgMjIyLCAxOTUsIDIyNCwgMTcxLCAxMTIsIDIzNSwgMjQxLCAKLSAgICA0NCwgMjU0LCAxMTcsIDI1NCwgMTE3LCAyMzEsIDkzLCAyNTQsIDExNywgMjE5LCAxLCAyNTQsIDExNywgMjQ3LCAxNzksIAotICAgIDI0NywgMTQ2LCAyMjgsIDU3LCAyNDcsIDE4MiwgMjI2LCAxMiwgMTEyLCAyMjgsIDU3LCAyMjYsIDEyLCAxMTIsIDIzMiwgCi0gICAgMTUyLCAyNTQsIDEyNiwgMjMyLCAxNTIsIDIyNiwgMTYyLCAyMzUsIDIwNSwgMjE0LCAxNzUsIDIzNSwgMjE4LCA1MiwgMjM1LCAKLSAgICAyMTgsIDIxNSwgMjEyLCAyMzUsIDIxOCwgMjQ5LCAxOTAsIDIzNSwgMjE4LCAyMTgsIDE0LCAyMzUsIDIxOCwgMjEzLCAxMjksIAotICAgIDIzNSwgMjE4LCAyNTAsIDEwLCAyMzUsIDIxOCwgMjUwLCAxMCwgMjQ5LCAxOTAsIDIzNSwgMjE4LCAyNTQsIDk2LCAyNDksIAotICAgIDE5MCwgMjM1LCAyMTgsIDIxNiwgMTg3LCAyNTIsIDc1LCAyMjMsIDE0MCwgMjI0LCAxNzIsIDU5LCAyMzAsIDE4NiwgMjQ1LCAKLSAgICA0MSwgMjQzLCA1MywgMjI0LCAxNzIsIDI0MSwgNjQsIDIxNiwgOTAsIDIyNiwgMTcxLCAyMjMsIDUyLCAxODQsIDIzNSwgCi0gICAgMjAwLCAyMzMsIDcxLCAyMjIsIDkzLCAyMTksIDE1OSwgMjEyLCAzNSwgMjExLCAyMDAsIDIyNCwgMTgzLCAyMjgsIDU3LCAKLSAgICAxODQsIDIzMCwgMTg3LCAxODQsIDI1MywgMjE4LCAxMjgsIDExMiwgMjI4LCA1NywgMjUzLCAyMTgsIDEyOCwgMTEyLCAyNTQsIAotICAgIDU2LCAxMjgsIDExMiwgMjU0LCA1NiwgMjUxLCA5NiwgMjI4LCA1NywgMjU1LCAxMywgMTI4LCAxMTIsIDIyOSwgMTA1LCAKLSAgICAyNTQsIDU2LCAyMjgsIDY0LCAyNTUsIDEzLCAxMjgsIDExMiwgMjU0LCAxNTYsIDEyOCwgMTEyLCAyMjgsIDU3LCAyNTQsIAotICAgIDE1NiwgMTI4LCAxMTIsIDI1NCwgMTU2LCAxMjgsIDE3NywgMTI4LCAxMTIsIDIxNSwgMjEyLCAxODQsIDI1NCwgMTY0LCAKLSAgICAxMjgsIDExMiwgMjQ1LCAxMDIsIDExMiwgMjQzLCA1MiwgMjQ1LCAxMDIsIDExMiwgMjQ3LCAyNDIsIDI1MiwgMzEsIDI1NCwgCi0gICAgNTgsIDIxNiwgMTk3LCAyMzIsIDIyNywgMjQzLCA1MiwgMTI4LCAxMTIsIDI1NCwgNTYsIDEyOCwgMjE2LCA0MywgMTc3LCAKLSAgICAyMTYsIDE5NywgMjM2LCAyMiwgMjI2LCAyMzUsIDIzNiwgMjIsIDY0LCAxNzcsIDI1NCwgNTYsIDEyOCwgMTEyLCAyNDksIAotICAgIDIzNSwgMjQ1LCAxMDUsIDI0NSwgMTA2LCAyNDksIDIzNCwgMjIyLCAyMzcsIDIzNiwgNywgMTI4LCAxMTIsIDIyMiwgMjM3LCAKLSAgICAxMjgsIDExMiwgMjQ5LCAxNjIsIDExMiwgMjQ1LCA3NSwgMjQ1LCAxMDQsIDExMiwgMjE4LCAxNTksIDI0NSwgMTA1LCAyNDgsIAotICAgIDYzLCAxMjgsIDExMiwgMTI4LCAyMTYsIDQzLCAyNTEsIDg2LCAyNDgsIDgwLCAyMzEsIDkzLCAyNTEsIDg1LCAyMjQsIDE0LCAKLSAgICAxMjgsIDExMiwgMjI4LCA1NywgMTI4LCAxMTIsIDI0MCwgMTExLCAxMTIsIDIyOCwgNTcsIDI0MCwgMTExLCAxMTIsIDIxOCwgCi0gICAgMTExLCAyNDUsIDEwMiwgMTEyLCAyMzMsIDIxLCAxNzcsIDEyOCwgMTEyLCAyNDIsIDEzNywgMTc3LCAxMjgsIDExMiwgMjMzLCAKLSAgICAyMSwgMTE1LCAxMjgsIDExMiwgMjQyLCAxMzcsIDExNSwgMTI4LCAxMTIsIDIzMywgMjEsIDI1MSwgOTYsIDIyOCwgNTcsIAotICAgIDEyOCwgMTEyLCAyNDIsIDEzNywgMjUxLCA5NiwgMjI4LCA1NywgMTI4LCAxMTIsIDIzMCwgMTAyLCAyMzMsIDIwLCAyMzAsIAotICAgIDEwMiwgMjQyLCAxMzYsIDI1MiwgMzEsIDIyOCwgNTcsIDI0NSwgMTAyLCAxMTIsIDIyOCwgNTcsIDIzMywgMjAsIDIyOCwgCi0gICAgNTcsIDI0MiwgMTM2LCAyMjksIDEwNSwgMjMzLCAyMSwgMjI4LCA2NCwgMTI4LCAxMTIsIDIyOSwgMTA1LCAyNDIsIDEzNywgCi0gICAgMjI4LCA2NCwgMTI4LCAxMTIsIDIzMywgMjEsIDE3NywgMjQ1LCAxMDIsIDExMiwgMjQyLCAxMzcsIDE3NywgMjQ1LCAxMDIsIAotICAgIDExMiwgMjI5LCAxMDUsIDIzMywgMjEsIDIyOCwgNjQsIDI0NSwgMTAyLCAxMTIsIDIyOSwgMTA1LCAyNDIsIDEzNywgMjI4LCAKLSAgICA2NCwgMjQ1LCAxMDIsIDExMiwgMjMzLCAyMSwgMTc3LCAyNDIsIDEzNiwgMjQyLCAxMzcsIDE3NywgMjMzLCAyMCwgMjI5LCAKLSAgICAxMDUsIDIzMywgMjEsIDIyOCwgNjQsIDI0MiwgMTM2LCAyMjksIDEwNSwgMjQyLCAxMzcsIDIyOCwgNjQsIDIzMywgMjAsIAotICAgIDIyNCwgMjA1LCAyMTgsIDU2LCAyMjQsIDIwNiwgMTc3LCAxMjgsIDExMiwgMjE4LCA1NywgMTc3LCAxMjgsIDExMiwgMjI0LCAKLSAgICAyMDYsIDE3NywgMjQ1LCAxMDIsIDExMiwgMjE4LCA1NywgMTc3LCAyNDUsIDEwMiwgMTEyLCAyNDcsIDE0NiwgMjI4LCA1NywgCi0gICAgMjI0LCAyMDgsIDI0NywgMTQ2LCAyMjgsIDU3LCAyMTgsIDU4LCAyMTgsIDY1LCAyMjYsIDIzNSwgMjE4LCAyMywgMjI2LCAKLSAgICAyMzUsIDIyOCwgNTcsIDExNiwgMjE4LCA2NSwgMjI2LCAyMzUsIDIyOCwgNTcsIDExNiwgMjE4LCAyMywgMjI2LCAyMzUsIAotICAgIDIxOCwgNjUsIDY0LCAxNzcsIDEyOCwgMTEyLCAyMTgsIDIzLCA2NCwgMTc3LCAxMjgsIDExMiwgMjI5LCAxMDUsIDExNiwgCi0gICAgMjE4LCA2NSwgNjQsIDIyOCwgNjQsIDEyOCwgMTEyLCAyMjksIDEwNSwgMTE2LCAyMTgsIDIzLCA2NCwgMjI4LCA2NCwgMTI4LCAKLSAgICAxMTIsIDIxOCwgNjUsIDY0LCAyLCAyMjgsIDU3LCAxMjgsIDExMiwgMjE4LCAyMywgNjQsIDIsIDIyOCwgNTcsIDEyOCwgCi0gICAgMTEyLCAyMzAsIDg2LCAyMzAsIDg3LCAyMzAsIDg4LCAyMzAsIDg3LCAyMTQsIDE3NSwgNDIsIDIzNiwgMjIsIDIyNiwgMjM1LCAKLSAgICA0MiwgMjI2LCAxNTQsIDIyNiwgMjM1LCA0MiwgMjM2LCAyMiwgNjQsIDE3NywgMTI4LCAxMTIsIDQyLCAyMjYsIDE1NCwgNjQsIAotICAgIDE3NywgMTI4LCAxMTIsIDQyLCAyNTEsIDMsIDQyLCAyNDksIDExMCwgMzcsIDIyNSwgMjUsIDM3LCAyMzAsIDE4NiwgMzcsIAotICAgIDIxNiwgODYsIDM3LCAyNDcsIDE3NywgMjE5LCA5NywgMzcsIDU5LCAyMjYsIDE3MSwgMzcsIDIyMiwgMjM3LCAyMjYsIDE3MSwgCi0gICAgMzcsIDI1MywgMjI1LCAyMjYsIDE3MSwgMzcsIDI0NSwgMTA1LCAzNywgMjQ4LCAxNjQsIDkyLCAyMjUsIDI1LCA5MiwgMjMwLCAKLSAgICAxODYsIDkyLCAyMTYsIDg2LCA5MiwgNTksIDIyNiwgMTcxLCA0NCwgMjE3LCA4OCwgNDMsIDIxNywgODgsIDEyNCwgMjE3LCAKLSAgICA4OCwgMTIwLCAyMTcsIDg4LCAyNTMsIDIyOCwgMjMwLCAxNjEsIDIxNSwgMTkyLCAyNDQsIDMzLCAyMTUsIDIxMiwgNjcsIAotICAgIDI1MiwgMTQ5LCA0NCwgMjE1LCA5MywgNTIsIDY3LCAyNTIsIDE0OSwgNTIsIDQ0LCAyMTUsIDkzLCAyNDcsIDE0NiwgMjI4LCAKLSAgICA1NywgMjI0LCAxNjYsIDIyOCwgNTcsIDIxNSwgMTkyLCAyNDcsIDE0NiwgMjI4LCA1NywgMjQ0LCAzNCwgMjI5LCAxMDcsIAotICAgIDUyLCA2NywgMjUyLCAxNDksIDUyLCA0NCwgMjE1LCA5MywgMjI0LCAyMDYsIDIxNCwgMTg0LCAyMjMsIDk0LCAyMTgsIDU3LCAKLSAgICAyMTQsIDE4NCwgMjIzLCA5NCwgMjI4LCA2MiwgMjE4LCA3OCwgMjI2LCAyMzUsIDI0OSwgMTk0LCAyNTMsIDI0NiwgMjI4LCAKLSAgICA2MiwgMjE4LCA3NywgMjI4LCA2MiwgMjE4LCA3OCwgNjQsIDE3NywgMTI4LCAxMTIsIDI0OSwgMTk0LCAyNTMsIDI0NiwgCi0gICAgMjI4LCA2MiwgMjE4LCA3OCwgMTc3LCAxMjgsIDExMiwgMjI2LCAxNTQsIDIyNiwgMjM1LCAyMzYsIDIyLCAyMjYsIDIzNSwgCi0gICAgMjMwLCA5MiwgMjQxLCAyMDcsIDI0OSwgMjA0LCAyMzEsIDE0MiwgMjM1LCAyMTUsIDIxMSwgMTQ1LCAyMjksIDIwNywgMjI4LCAKLSAgICA2MywgNDQsIDI1NCwgMTE4LCAyLCAyNTQsIDMzLCA0NCwgMjE1LCAyMjYsIDIzMCwgMjksIDIzMiwgMTUyLCAyNTQsIDEyNiwgCi0gICAgMjMwLCAyOSwgMjMyLCAxNTIsIDIyNiwgMTYyLCAyMzAsIDI5LCAyMzUsIDIwNSwgMjMwLCAyOSwgMjE0LCAxNzUsIDI0OCwgCi0gICAgMSwgMjI2LCAxNzEsIDU5LCAyMjYsIDE3MSwgMjE4LCAxNTksIDIyNiwgMTcxLCAyNDcsIDE3NywgMjE2LCA4NiwgMjUxLCAKLSAgICAxNzIsIDQzLCAyMjgsIDYyLCAyNDQsIDE4OSwgMjIwLCAxNTEsIDIyNCwgMTgzLCA0NCwgMjI4LCA2MiwgMjQ0LCAxODksIAotICAgIDIyMCwgMTUxLCAyMjQsIDE4MywgNDMsIDIyMCwgMTUxLCAyMjQsIDE4MywgNDQsIDIyMCwgMTUxLCAyMjQsIDE4MywgMjIzLCAKLSAgICA1MiwgMjE2LCA5MCwgMjQ1LCAxMDUsIDI0OSwgMTA3LCAyMzIsIDE1MiwgMjI2LCAxNjIsIDI0OSwgMTA3LCAyMzIsIDE1MiwgCi0gICAgMjU0LCAxMjYsIDUyLCAyMTgsIDY0LCA1MiwgMjE4LCAyMiwgNTIsIDIzNSwgMjA1LCA1MiwgMjE0LCAxNzUsIDIyNSwgNTAsIAotICAgIDEyOCwgMjIsIDIyNiwgMTIsIDExMiwgMjMzLCAyMSwgMiwgMjQ3LCAxMjgsIDI0MiwgMTM3LCAyLCAyNDcsIDEyOCwgMjEzLCAKLSAgICAxODcsIDIzMCwgMTAyLCAyMzMsIDIwLCAyMTMsIDE4NywgMjMwLCAxMDIsIDI0MiwgMTM2LCAyMzMsIDIxLCAxMjgsIDIxNiwgCi0gICAgNDMsIDE3NywgMjQyLCAxMzYsIDI0MiwgMTM3LCAxMjgsIDIxNiwgNDMsIDE3NywgMjMzLCAyMCwgMTI4LCAyMTYsIDQzLCAKLSAgICAxNzcsIDIzMywgMjAsIDEyOCwgMjE2LCA0MywgMTc3LCAyNDIsIDEzNiwgMTI4LCAyMTYsIDQzLCAxNzcsIDIyNCwgMjA1LCAKLSAgICAxMjgsIDIxNiwgNDMsIDE3NywgMjE4LCA1NiwgMjQ3LCAxNDYsIDIyOCwgNTcsIDIyNCwgMjA5LCAxNzcsIDI0NSwgMTA3LCAKLSAgICAyNDcsIDE0NiwgMjI4LCA1NywgMjE4LCA1OSwgMTc3LCAyNDUsIDEwNywgMjI4LCA1NywgNDIsIDIzNiwgMjIsIDY0LCAxNzcsIAotICAgIDEyOCwgMTEyLCAyMjgsIDU3LCA0MiwgMjI2LCAxNTQsIDY0LCAxNzcsIDEyOCwgMTEyLCA0MiwgMjM2LCAyMiwgNjQsIDE3NywgCi0gICAgMjI4LCA1NywgMTI4LCAxMTIsIDQyLCAyMjYsIDE1NCwgNjQsIDE3NywgMjI4LCA1NywgMTI4LCAxMTIsIDIzMywgMjEsIAotICAgIDI1MSwgOTYsIDIyOCwgNTcsIDI0NSwgMTAyLCAxMTIsIDI0MiwgMTM3LCAyNTEsIDk2LCAyMjgsIDU3LCAyNDUsIDEwMiwgCi0gICAgMTEyLCAyMjQsIDIwNiwgMjUxLCA5NiwgMjI4LCA1NywgMjQ1LCAxMDIsIDExMiwgMjE4LCA1NywgMjUxLCA5NiwgMjI4LCAKLSAgICA1NywgMjQ1LCAxMDIsIDExMiwgMjI4LCA1NywgMjI4LCA2MiwgMjE4LCA3OCwgMjI2LCAyMzUsIDI0NywgMTQ2LCAyMjgsIAotICAgIDU3LCAyNDksIDE5NiwgMjUzLCAyNDYsIDIyOCwgNjIsIDIxOCwgNzcsIDIyOCwgNTcsIDIyOCwgNjIsIDIxOCwgNzgsIDY0LCAKLSAgICAxNzcsIDEyOCwgMTEyLCAyNDcsIDE0NiwgMjI4LCA1NywgMjQ5LCAxOTYsIDI1MywgMjQ2LCAyMjgsIDYyLCAyMTgsIDc4LCAKLSAgICAxNzcsIDI0NSwgMTA3LCA2NywgMjQ1LCAxNzEsIDIzMCwgMjI3LCAyMDMsIDI0NSwgMTcxLCAxMjAsIDQ0LCAyNDgsIDcsIAotICAgIDI0NSwgMTcxLCAxMjQsIDQ0LCAyNDgsIDcsIDI0NSwgMTcxLCAyNDUsIDE3OCwgNjQsIDIsIDIwMCwgMjAzLCA5MSwgMjQ1LCAKLSAgICAxNzgsIDY0LCAyLCA2NywgMjUyLCAxNDksIDI1MywgMjE1LCAyNDUsIDE1MSwgNjQsIDIwMywgOTEsIDQsIDI0NSwgMTc4LCAKLSAgICA2NCwgMiwgNjcsIDI1MiwgMTQ5LCAyNTMsIDIxNSwgMjQ1LCAxNTEsIDY0LCAyMDMsIDkxLCAyNDUsIDE3OCwgNjQsIDIsIAotICAgIDU5LCA0OCwgMjQ1LCAxNzgsIDY0LCAyLCAyMjYsIDEyNywgNCwgMjQ1LCAxNzgsIDY0LCAyLCAyMjYsIDEyNywgMjQ1LCAKLSAgICAxNzgsIDY0LCAyLCAyMTQsIDE4MywgMjQ1LCAxNzgsIDY0LCAyLCAxMTMsIDIwMywgMjE4LCA5MiwgMjQ5LCAxOTQsIDIsIAotICAgIDIwMCwgMjAzLCA5MSwgMjQ5LCAxOTQsIDIsIDY3LCAyNTIsIDE0OSwgMjUzLCAyMTUsIDI0NSwgMTUxLCA2NCwgMjAzLCA5MSwgCi0gICAgNCwgMjQ5LCAxOTQsIDIsIDY3LCAyNTIsIDE0OSwgMjUzLCAyMTUsIDI0NSwgMTUxLCA2NCwgMjAzLCA5MSwgMjQ5LCAxOTQsIAotICAgIDIsIDIyNiwgMTI3LCA0LCAyNDksIDE5NCwgMiwgMjI2LCAxMjcsIDIxMCwgMTYwLCAxODksIDI1MiwgMTgxLCAyMzEsIDY2LCAKLSAgICAyNDgsIDIsIDUwLCAyNDUsIDE4MCwgNzUsIDI0MCwgMjQxLCAxMjAsIDI1NCwgMSwgMTI0LCAyNTQsIDEsIDIyNCwgMTc4LCAKLSAgICAyMjUsIDE2OCwgMjEyLCAzMiwgMjMyLCAyMTksIDQzLCAyNTAsIDE4OSwgNDQsIDI1MCwgMTg5LCA0MywgMjQ0LCA2NSwgNDQsIAotICAgIDI0NCwgNjUsIDI1MSwgMTgzLCA0NCwgMjQ5LCAxNDAsIDI1MSwgMTgzLCA0MywgMjQ5LCAxNDAsIDIxNiwgMTUsIDQ0LCAKLSAgICAyNDksIDE0MCwgMjE2LCAxNSwgNDMsIDI0OSwgMTQwLCAyMjMsIDUyLCAyMjgsIDU3LCA1MCwgNDIsIDIzMiwgMTEwLCAyNTQsIAotICAgIDMzLCAyMjEsIDE2NiwgMjIxLCAxNzMsIDIxNywgMiwgMjIzLCAxMjMsIDIyNCwgMjQ0LCAyMzUsIDI0NSwgMjEzLCAxNjUsIAotICAgIDIxOCwgMjM2LCAyMjUsIDQ0LCA2NCwgMjM1LCAyMTQsIDUwLCAyMTUsIDk0LCAyMjgsIDU3LCA1MCwgMjEyLCA0MiwgMjQwLCAKLSAgICAyNDMsIDIxNiwgMTUsIDQzLCAyNDksIDE2OCwgMjE2LCAxNSwgNDQsIDI0OSwgMTY4LCAyNTEsIDE4MywgNDMsIDI0OSwgCi0gICAgMTY4LCAyNTEsIDE4MywgNDQsIDI0OSwgMTY4LCAyMTYsIDE1LCAxNjMsIDIzNSwgMjE4LCAyNTEsIDE4MywgMTYzLCAyMzUsIAotICAgIDIxOCwgMjQzLCAyNDgsIDIxOSwgNzcsIDEyMCwgMjU0LCAyLCAyNTIsIDMyLCAxMTMsIDIwMywgMjUyLCAxMzcsIDIyNiwgCi0gICAgMTY0LCAyMzQsIDE0NCwgMjQ1LCA5OCwgMjE2LCA0MywgMjE2LCAxOTcsIDIyMiwgMjU0LCAyMTEsIDE3OSwgMjM2LCA3LCAKLSAgICAxMTYsIDIyMywgMTIwLCAyNTEsIDE3MSwgMjM0LCAxNDMsIDIzMywgNDgsIDI1NCwgMTE4LCAxMjcsIDIyMiwgMjUwLCAyNTQsIAotICAgIDExOCwgMTI3LCAyNDUsIDk4LCAyMTYsIDQzLCAyMTYsIDE5NywgMjMzLCA1MiwgMjUyLCA0MywgMjIyLCAyMzYsIDI0OSwgCi0gICAgNzgsIDI1NCwgMTY0LCAyNTQsIDksIDIxNywgMTgyLCAyMTYsIDUsIDIyMiwgMTI1LCAyNDcsIDIyMywgMjI2LCAxNTUsIAotICAgIDI0OSwgMjA2LCAyMTcsIDUzLCAyMTksIDg4LCAyNDksIDE1OSwgMjQ5LCAxNTgsIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgCi0gICAgMjQwLCAxNTgsIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgMjE4LCAyMzAsIDIyNCwgMzAsIDI1NCwgNzQsIDI0MywgMjMyLCAKLSAgICAxNiwgMjI0LCAzMSwgMjQ1LCAxMDcsIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgMjI0LCAzMSwgMjQ3LCAxODIsIDI1NCwgNzQsIAotICAgIDI0MywgMjMyLCAxNiwgMjI0LCAzMSwgMjQ4LCAwLCAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIDIyNCwgMzEsIDIzNSwgNjIsIAotICAgIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgMjI0LCAzMSwgMjUwLCA0MywgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAyNTAsIDQ0LCAKLSAgICAyMTgsIDEzNywgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAyNTAsIDQ0LCAyMzUsIDYyLCAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIAotICAgIDIxOSwgOTgsIDEzMCwgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAyNTIsIDE4OSwgMTMwLCAyNTQsIDc0LCAyNDMsIDIzMiwgCi0gICAgMTYsIDIyNCwgMzEsIDIxOSwgOTcsIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgMjI0LCAzMSwgMjUyLCAxODgsIDI1NCwgNzQsIAotICAgIDI0MywgMjMyLCAxNiwgMjI0LCAzMSwgMjMzLCAyMCwgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAyMjQsIDMxLCAyNDIsIDEzNiwgCi0gICAgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAxNDAsIDIxNCwgMTksIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgOTcsIDIxNCwgMTksIAotICAgIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgMjI0LCAzMSwgMTQwLCA3NSwgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAyMjQsIDMxLCAKLSAgICA5NywgNzUsIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgMjUwLCA0NCwgMjUyLCAxODgsIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgCi0gICAgMTI0LCAyMTcsIDg5LCAyMTQsIDE4MywgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAyNDgsIDYzLCAyMTgsIDEzNywgMjU0LCAKLSAgICA3NCwgMjQzLCAyMzIsIDE2LCAyMjQsIDMxLCAxMjQsIDI1MCwgMjQ2LCAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIDIyNCwgMzEsIAotICAgIDI0OCwgNjIsIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgMTI0LCAyMTcsIDg5LCAyMzUsIDYyLCAyNTQsIDc0LCAyNDMsIDIzMiwgCi0gICAgMTYsIDIxNCwgMTUzLCAyMTQsIDE5LCAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIDIyNCwgMzEsIDIxNCwgMTUzLCA3NSwgMjU0LCAKLSAgICA3NCwgMjQzLCAyMzIsIDE2LCAxMjAsIDIxNywgODksIDIyNiwgMTI3LCAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIDI0OCwgNzQsIAotICAgIDIxOCwgMTM3LCAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIDIyNCwgMzEsIDEyMCwgMjUwLCAyNDYsIDI1NCwgNzQsIDI0MywgCi0gICAgMjMyLCAxNiwgMjI0LCAzMSwgMjQ4LCA3MywgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAxMjAsIDIxNywgODksIDIzNSwgNjIsIAotICAgIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgMjQ2LCAxMTIsIDIxNCwgMTksIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgMjI0LCAzMSwgCi0gICAgMjQ2LCAxMTIsIDc1LCAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIDIyNCwgMCwgMjE0LCAxODMsIDI1NCwgNzQsIDI0MywgMjMyLCAKLSAgICAxNiwgMjQ4LCA2MywgMjE0LCAxODMsIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgMjQ4LCAxLCAyMTQsIDE4MywgMjU0LCA3NCwgCi0gICAgMjQzLCAyMzIsIDE2LCAyMzUsIDYzLCAyMTQsIDE4MywgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAyNTAsIDQ0LCAyMTQsIAotICAgIDE4MywgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAxMjAsIDIyMCwgNywgMjM1LCA2MiwgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAKLSAgICAyMjQsIDAsIDIyNCwgMzAsIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgMjUwLCA0NCwgMjE4LCAxNTgsIDI1NCwgNzQsIDI0MywgCi0gICAgMjMyLCAxNiwgMjI0LCAzMSwgMjQ5LCAyMzQsIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgMTIwLCAyMTcsIDg5LCAyNDgsIDksIAotICAgIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgMjQ4LCA3NCwgMjQ4LCA5LCAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIDIxOCwgMTU5LCAKLSAgICAyNDgsIDksIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgMjM1LCA2MywgMjQ4LCA5LCAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIAotICAgIDI1MCwgNDQsIDI0OCwgOSwgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAxMjQsIDIyMCwgNywgMjE4LCAxMzcsIDI1NCwgNzQsIAotICAgIDI0MywgMjMyLCAxNiwgNDMsIDIyMCwgNywgMjE4LCAxMzcsIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgMjE2LCA5MCwgMjQ4LCAKLSAgICA5LCAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIDI0MiwgMTM3LCAyNDgsIDksIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgMjQ5LCAKLSAgICAyMjgsIDEzMCwgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAyNDgsIDc0LCAxODQsIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgCi0gICAgMjEwLCAzNCwgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAyMTgsIDEzOCwgMTg0LCAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIAotICAgIDIyMCwgMTUzLCAyMTQsIDE4MywgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAyMjQsIDMxLCAyMjgsIDU3LCAyNDUsIDEwNywgCi0gICAgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAyMjQsIDMxLCAyMjQsIDE1LCAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIDEyNCwgMjUwLCAKLSAgICAyNDcsIDE4NCwgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAxMjAsIDI1MCwgMjQ3LCAxODQsIDI1NCwgNzQsIDI0MywgMjMyLCAKLSAgICAxNiwgMjM1LCAxOTIsIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgMjIzLCA0MCwgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAyMjYsIAotICAgIDIwNSwgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAyNTQsIDE1MiwgMjE0LCAxODMsIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgCi0gICAgMjQ1LCAxMDksIDIxNCwgMTgzLCAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIDIzNSwgMTkzLCAyMTQsIDE4MywgMjU0LCA3NCwgCi0gICAgMjQzLCAyMzIsIDE2LCAyMjYsIDIwNiwgMjE0LCAxODMsIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgMjU0LCAxNTEsIDIyOCwgCi0gICAgNTcsIDI1MCwgMTM4LCA3OSwgNDQsIDI1NCwgMTE4LCAyLCAyNDYsIDExMiwgMjEwLCAzNSwgNzUsIDIxOSwgMjM3LCAyMDQsIAotICAgIDI1MSwgMTcxLCAyNTIsIDUzLCA4NywgNjcsIDIzMiwgMjIwLCAyLCAyMzAsIDIyOSwgMjQ3LCAxMjgsIDIzNSwgMjIzLCA4NywgCi0gICAgMjQ5LCAxOTEsIDIxNCwgMTgxLCA4NywgMjQ3LCAxOTcsIDIxNCwgMTgxLCA4NywgMjQ1LCAxNjIsIDg3LCAyNDksIDIxOCwgCi0gICAgODcsIDcxLCA0MiwgMiwgMjUwLCAxODMsIDY3LCAyMzIsIDIxOSwgMjQ1LCAxMzgsIDg3LCAyNTQsIDE0NywgMjM0LCAxNDUsIAotICAgIDg3LCAyNDEsIDIyMCwgODcsIDM3LCAyMDMsIDI1MiwgMTQ5LCAyLCAyMjgsIDU1LCAzNywgMjE1LCAyMjcsIDI0NiwgMTE0LCAKLSAgICAyNTEsIDE0MywgMjUwLCA0NCwgMiwgMjI4LCA1OSwgNzUsIDIxNCwgMTc5LCA4NywgMjMwLCAxNDIsIDg3LCAyNDAsIDE3MSwgCi0gICAgODcsIDIyNiwgMTc4LCAyNDIsIDY2LCA4NywgMjI2LCAxNzgsIDIzMywgMTUzLCA4NywgMjI1LCAyNDgsIDg3LCAyMjUsIAotICAgIDI0NywgODcsIDI0NywgMjA1LCAyNDksIDEwNSwgMTYsIDI0NCwgMjgsIDEwNSwgMjE5LCA1MiwgODcsIDI1NCwgNzQsIDI0MywgCi0gICAgMjMyLCAxNiwgMjI0LCAzMCwgMjQ4LCA5MSwgMjIwLCAxNDAsIDIzNCwgMTQ1LCA4NywgMjI0LCAxOTUsIDIyNiwgNzksIAotICAgIDIyOSwgODcsIDIyNiwgNzksIDIyNCwgMTkxLCAyMjEsIDE5MSwgODcsIDI1MCwgMjUsIDIyMSwgMTkxLCA4NywgNDMsIDIyNiwgCi0gICAgOCwgMjE0LCAxNjAsIDEwMywgNDMsIDIyNiwgOCwgMjQ1LCAyOSwgNDMsIDIyNiwgOCwgMjMyLCAxMTQsIDEwMywgNDQsIAotICAgIDIyNiwgOCwgMjE0LCAxNjAsIDEwMywgNDQsIDIyNiwgOCwgMjQ1LCAyOSwgNDQsIDIyNiwgOCwgMjMyLCAxMTQsIDEwMywgCi0gICAgNDMsIDQyLCAyNTEsIDE2NiwgMjE0LCAxNjAsIDI0OSwgMTY4LCA0MywgNDIsIDI1MSwgMTY2LCAyNDUsIDI5LCA0MywgNDIsIAotICAgIDI1MSwgMTY2LCAyMzIsIDExNCwgMjQ5LCAxNjgsIDQ0LCA0MiwgMjUxLCAxNjYsIDIxNCwgMTYwLCAyNDksIDE2OCwgNDQsIAotICAgIDQyLCAyNTEsIDE2NiwgMjQ1LCAyOSwgNDQsIDQyLCAyNTEsIDE2NiwgMjMyLCAxMTQsIDI0OSwgMTY4LCA0MywgMjQ5LCAKLSAgICAxMDcsIDI1MSwgMTY2LCAyMTQsIDE2MCwgMTAzLCA0MywgMjQ5LCAxMDcsIDI1MSwgMTY2LCAyMzAsIDIyOSwgMjI1LCAxMDQsIAotICAgIDQzLCAyNDksIDEwNywgMjUxLCAxNjYsIDIzMiwgMTE0LCAxMDMsIDI0OSwgMTA3LCAyNTEsIDE2NiwgMjQ1LCAyOSwgNDQsIAotICAgIDI0OSwgMTA3LCAyNTEsIDE2NiwgMjE0LCAxNjAsIDEwMywgNDQsIDI0OSwgMTA3LCAyNTEsIDE2NiwgMjMwLCAyMjksIDIyNSwgCi0gICAgMTA0LCA0NCwgMjQ5LCAxMDcsIDI1MSwgMTY2LCAyMzIsIDExNCwgMTAzLCAyMzUsIDIxOSwgMjQ1LCAyOSwgMjAzLCAyMzIsIAotICAgIDIyMCwgMjQ1LCAyOSwgMjE0LCAxNjAsIDQzLCAxNzcsIDIzMiwgMTE0LCA0NCwgMjQ5LCAxMDcsIDI1MSwgMTY2LCAyMjEsIAotICAgIDE3NCwgMjE0LCAxNjAsIDQ0LCAxNzcsIDIzMiwgMTE0LCA0MywgMjQ5LCAxMDcsIDI1MSwgMTY2LCAyMjEsIDE3NCwgMjE4LCAKLSAgICA0MiwgMjE2LCAxNCwgMjE4LCA0MiwgMjUxLCAxODIsIDIxNiwgMTUsIDQyLCAxMjcsIDI1MSwgMTgzLCA0MiwgMTI3LCAyNTEsIAotICAgIDE4MywgNDIsIDI1MSwgMTY2LCAxMTUsIDIxNiwgMTUsIDQyLCAxMjcsIDM0LCAxNiwgMjUxLCAxODIsIDQzLCA2NywgOTMsIAotICAgIDIzMiwgMjE5LCA0NCwgNjcsIDkzLCAyMzIsIDIxOSwgMjAzLCAyMjEsIDIwNywgMjMyLCAyMTgsIDIwMywgMjIxLCAyMDcsIAotICAgIDIzMiwgMjE3LCAyMDMsIDIyMSwgMjA3LCAyMzIsIDIxNiwgMjAzLCAyMjEsIDIwNywgMjMyLCAyMTUsIDI0OCwgNTQsIDE2LCAKLSAgICAxOTMsIDY3LCAyMiwgMjE2LCAxNSwgMjIyLCAyNTQsIDI0OCwgNTQsIDE2LCAxOTMsIDY3LCAyMiwgMjUxLCAxODMsIDIyMiwgCi0gICAgMjU0LCAyNDgsIDU0LCAxNiwgMTkzLCA2NywgMiwgMjUwLCA0MywgMjQ4LCA1NCwgMTYsIDE5MywgMTI0LCAyMiwgMjAzLCAyLCAKLSAgICAyNTAsIDQzLCAyNDgsIDU0LCAxNiwgMTkzLCAxMjAsIDIyLCAyMDMsIDIsIDI1MCwgNDMsIDI0OCwgNTQsIDE2LCAxOTMsIAotICAgIDY3LCAyLCAyMTUsIDIyNiwgMjQ4LCA1NCwgMTYsIDE5MywgMTI0LCAyMiwgMjAzLCAyLCAyMTUsIDIyNiwgMjQ4LCA1NCwgCi0gICAgMTYsIDE5MywgMTIwLCAyMiwgMjAzLCAyLCAyMTUsIDIyNiwgMjQ4LCA1NCwgMTYsIDE5MywgNjcsIDIyLCAyMTIsIDM1LCAKLSAgICAyNDgsIDU0LCAxNiwgMTkzLCAxMjQsIDIyLCAyMDMsIDIsIDIxMiwgMzUsIDI0OCwgNTQsIDE2LCAxOTMsIDEyMCwgMjIsIAotICAgIDIwMywgMiwgMjEyLCAzNSwgMjQ4LCA1NCwgMTYsIDE5MywgMTI0LCAyMiwgMjQxLCA1MSwgMjQ4LCA1NCwgMTYsIDE5MywgCi0gICAgMTIwLCAyMiwgMjQxLCA1MSwgMjQ4LCA1NCwgMTYsIDE5MywgNjcsIDIyLCAyMTYsIDE1LCAyMzMsIDUyLCAyNDgsIDU0LCAKLSAgICAxNiwgMTkzLCA2NywgMjIsIDI1MSwgMTgzLCAyMzMsIDUyLCA0MiwgMjQ0LCA0MCwgMjIzLCA1NywgODcsIDI0NSwgMTkwLCAKLSAgICA4NywgNjcsIDIzMiwgMjIwLCAyNDUsIDI5LCAyMzEsIDM4LCAyNTEsIDE1NCwgMjMxLCAzOCwgMjAwLCAxMTUsIDIxOSwgCi0gICAgMjUyLCAyMzEsIDM4LCAyMTksIDI1MywgMTE1LCAyMzIsIDE0MywgMjMxLCAzOCwgMjAwLCAxMTUsIDExMywgMjE5LCAyMzksIAotICAgIDIzMSwgMzgsIDExMywgMjE5LCAyNDAsIDExNSwgMjMyLCAxNDMsIDIzMSwgMzgsIDExMywgMjE5LCAyNDAsIDIzNSwgNzAsIAotICAgIDIzMSwgMzgsIDIxNSwgMjA5LCAyMzEsIDM4LCAyMTYsIDIyNCwgMjMxLCAzOCwgMjI1LCAxOTEsIDI0NSwgMjMyLCAyNDIsIAotICAgIDEyOSwgMjQzLCAyMjYsIDIxNiwgMTUsIDIyNiwgNywgMjUxLCAxODMsIDIyNiwgNywgMjE2LCAxNSwgMjQ5LCAxMDcsIDEyNywgCi0gICAgMjUxLCAxODMsIDI0OSwgMTA3LCAxMjcsIDIxNiwgMTUsIDIxNiwgNywgMjIwLCA1NSwgMTI3LCAyNTEsIDE4MywgMjE2LCA3LCAKLSAgICAyMjAsIDU1LCAxMjcsIDcxLCAyMTUsIDI0MCwgMjUyLCA0MywgMjIyLCAyMzcsIDIsIDI1MCwgNDMsIDIxOCwgMTIyLCAyNDQsIAotICAgIDcyLCAyNTUsIDI2LCAyNDksIDEwNCwgMjQ1LCAxNzksIDIzNSwgMjA1LCAyNDgsIDkxLCAyNDUsIDMyLCA4NywgODUsIDIyMiwgCi0gICAgMjUwLCA1MiwgMjE1LCAyMjYsIDg1LCAyMzMsIDQ4LCA1MiwgMjE1LCAyMjYsIDg1LCAyMTQsIDE2MiwgNTIsIDIxNSwgMjI2LCAKLSAgICA4NSwgMjQ2LCAxMTMsIDUyLCAyMTUsIDIyNiwgODUsIDIyMiwgMjUwLCA1MiwgMjE1LCAyMjcsIDIsIDY3LCAxMzAsIDg1LCAKLSAgICAyMzMsIDQ4LCA1MiwgMjE1LCAyMjcsIDIsIDY3LCAxMzAsIDg1LCAyMjIsIDI1MCwgMjE1LCAyMjcsIDIsIDUyLCA2NywgCi0gICAgMTMwLCAyNTQsIDE4MiwgMjUwLCAxMSwgMjE4LCAxMjgsIDIxNiwgODcsIDI1MCwgMTEsIDI0MCwgMjQ0LCAyLCAyNDQsIDU4LCAKLSAgICAyMjEsIDI0MywgMTYsIDMxLCAyMjcsIDIwNiwgMTYsIDMxLCAyMTgsIDE1NCwgNjQsIDI0MSwgMjQwLCAxNiwgMzEsIDIxOCwgCi0gICAgMTU0LCA2NCwgMjE2LCAyMTMsIDE2LCAzMSwgMjQ1LCAxNTEsIDY0LCAyMTYsIDIxMywgMTYsIDMxLCAyNDUsIDE1MSwgNjQsIAotICAgIDIxNSwgMjQ0LCAxNiwgMzEsIDI0NSwgMTQwLCAxNiwgMzEsIDI1NSwgMTYsIDE2LCAzMSwgMjUyLCA1MiwgMTYsIDMxLCAKLSAgICAyNTIsIDE4NywgMTYsIDMxLCAyMDMsIDIxNywgOTAsIDE2LCAzMSwgMjMyLCAyMjAsIDI0NCwgMTUzLCAxNiwgMzEsIDY3LCAKLSAgICAyMTcsIDkwLCAxNiwgMzEsIDI0NCwgMjgsIDI0NCwgMTUzLCAxNiwgMzEsIDI1MCwgMjM4LCAyMjMsIDU2LCAxNiwgMzEsIAotICAgIDIyMCwgMzAsIDIyNiwgMTM0LCAxNiwgMzEsIDIyMCwgMzAsIDIzNiwgNiwgMTYsIDMxLCAyNDgsIDE1OSwgMjMyLCAyMTAsIAotICAgIDI0NSwgODUsIDE2LCAzMSwgMjQ4LCAzOSwgMjQ5LCAxODYsIDExMSwgMTYsIDMxLCAyNDgsIDM5LCAyNDksIDE4NiwgMTA1LCAKLSAgICAxNiwgMzEsIDI0OCwgMzksIDI0OSwgMTg2LCAxNTgsIDE2LCAzMSwgMjQ4LCAzOSwgMjQ5LCAxODYsIDE2MSwgMTYsIDMxLCAKLSAgICAxNTIsIDI1NSwgMTYsIDE2LCAzMSwgMjE3LCAxNzgsIDIzNiwgNjksIDE2LCAzMSwgMjQ1LCAxNTEsIDY0LCAyMTUsIDI0NSwgCi0gICAgMjUxLCAyMjEsIDE2LCAzMSwgMjUxLCAxMywgMTYsIDMxLCAyNDUsIDE1MSwgNjQsIDIzMSwgODYsIDE2LCAzMSwgMjE4LCAKLSAgICA2MiwgMTYsIDMxLCAyNDUsIDg1LCAxNiwgMzEsIDI0NCwgMTE1LCAyMjAsIDEzOSwgMTYsIDMxLCAyNDIsIDEyOCwgMjIwLCAKLSAgICAxMzksIDE2LCAzMSwgMjIzLCAxMjQsIDIyMCwgMTM5LCAxNiwgMzEsIDIxNCwgMTc0LCAyMjAsIDEzOSwgMTYsIDMxLCAyMTksIAotICAgIDIwLCAxNiwgMzEsIDI0OCwgNzEsIDI1MSwgMjI0LCA4NywgMjA0LCAyNTEsIDE3MSwgMTYsIDMxLCAyMjksIDkwLCAxNiwgCi0gICAgMzEsIDI0OCwgNzIsIDI0NCwgMjgsIDEwNSwgMTYsIDMxLCAyMTgsIDYzLCAyNDQsIDI4LCAxMDUsIDIyNiwgMjQ1LCAxMDMsIAotICAgIDIyNiwgMjQ1LCAyNTAsIDE2MCwgMjI2LCAyNDUsIDI0NCwgMzEsIDIyNiwgMjQ1LCAyMzUsIDIwMCwgMjQ0LCAzMSwgMjI2LCAKLSAgICAyNDUsIDI1MiwgNTAsIDI1MSwgMTMyLCAyMjYsIDI0NSwgMjUxLCAxNzgsIDIxNiwgMTEyLCAyMjYsIDI0NSwgMjUxLCAxNjMsIAotICAgIDI1MiwgMTU0LCAyNDAsIDExMCwgMjI2LCAyNDUsIDI1NCwgMTM1LCA2NCwgMjUwLCAxMzcsIDIyNiwgMjQ1LCAyNDgsIDE2NCwgCi0gICAgMjI2LCAyNDUsIDI0OSwgOTUsIDI1NSwgMjAsIDIyNywgMjA0LCAyMjYsIDI0NSwgNTIsIDI1MiwgMTg4LCAzNywgMjEsIAotICAgIDExMSwgMzcsIDIxLCAxMDUsIDM3LCAyMSwgMTU4LCAzNywgMjEsIDE2MSwgMzcsIDIxLCAxOTAsIDM3LCAyMSwgMTk1LCAzNywgCi0gICAgMjEsIDE5OSwgMzcsIDIxLCAxOTYsIDM3LCAyMSwgMjAxLCAzNywgNTQsIDIxNiwgMjQ4LCAzNywgNTQsIDI0NSwgMTc1LCAKLSAgICAzNywgNTQsIDIxNSwgNzYsIDM3LCA1NCwgMjE2LCAxNjUsIDM3LCA1NCwgMjQ0LCAxMywgMzcsIDU0LCAyNDQsIDEyNiwgMzcsIAotICAgIDU0LCAyMTksIDEyMSwgMzcsIDU0LCAyMjAsIDEyMSwgMzcsIDU0LCAyNDUsIDE5OCwgMzcsIDU0LCAyMjgsIDIwMiwgMzcsIAotICAgIDU0LCAyMTUsIDczLCA4OCwgMjEsIDExMSwgODgsIDIxLCAxMDUsIDg4LCAyMSwgMTU4LCA4OCwgMjEsIDE2MSwgODgsIDIxLCAKLSAgICAxOTAsIDg4LCAyMSwgMTk1LCA4OCwgMjEsIDE5OSwgODgsIDIxLCAxOTYsIDg4LCAyMSwgMjAxLCA4OCwgNTQsIDIxNiwgCi0gICAgMjQ4LCA4OCwgNTQsIDI0NSwgMTc1LCA4OCwgNTQsIDIxNSwgNzYsIDg4LCA1NCwgMjE2LCAxNjUsIDg4LCA1NCwgMjQ0LCAKLSAgICAxMywgODgsIDU0LCAyNDQsIDEyNiwgODgsIDU0LCAyMTksIDEyMSwgODgsIDU0LCAyMjAsIDEyMSwgODgsIDU0LCAyNDUsIAotICAgIDE5OCwgODgsIDU0LCAyMjgsIDIwMiwgODgsIDU0LCAyMTUsIDczLCAyMSwgMTIzLCAyNDMsIDIzNiwgMjE4LCAxMzEsIDIxLCAKLSAgICAxMTMsIDI0MywgMjM2LCAyMTgsIDEzMSwgMjEsIDEzNCwgMjQzLCAyMzYsIDIxOCwgMTMxLCAyMSwgMjQ0LCAxOSwgMjQzLCAKLSAgICAyMzYsIDIxOCwgMTMxLCAyMSwgMjQ0LCA4OSwgMjQzLCAyMzYsIDIxOCwgMTMxLCAyMSwgMjE5LCAxMjcsIDI0MywgMjM2LCAKLSAgICAyMTgsIDEzMSwgMjEsIDIyMCwgMTI0LCAyNDMsIDIzNiwgMjE4LCAxMzEsIDIxLCAyNDUsIDIwMSwgMjQzLCAyMzYsIDIxOCwgCi0gICAgMTMxLCAyMSwgMjI4LCAyMDUsIDI0MywgMjM2LCAyMTgsIDEzMSwgNTQsIDIxNiwgMjQ5LCAyNDMsIDIzNiwgMjE4LCAxMzEsIAotICAgIDU0LCAyNDUsIDE3NiwgMjQzLCAyMzYsIDIxOCwgMTMxLCA1NCwgMjE1LCA3NywgMjQzLCAyMzYsIDIxOCwgMTMxLCA1NCwgCi0gICAgMjE2LCAxNjYsIDI0MywgMjM2LCAyMTgsIDEzMSwgNTQsIDI0NCwgMTQsIDI0MywgMjM2LCAyMTgsIDEzMSwgNTQsIDI0NCwgCi0gICAgMTI3LCAyNDMsIDIzNiwgMjE4LCAxMzEsIDU0LCAyMTksIDEyMiwgMjQzLCAyMzYsIDIxOCwgMTMxLCA1NCwgMjIwLCAxMjIsIAotICAgIDI0MywgMjM2LCAyMTgsIDEzMSwgNTQsIDI0NSwgMTk5LCAyNDMsIDIzNiwgMjE4LCAxMzEsIDU0LCAyMjgsIDIwMywgMjQzLCAKLSAgICAyMzYsIDIxOCwgMTMxLCA1NCwgMjE1LCA3NCwgMjQzLCAyMzYsIDIxOCwgMTMxLCA4OCwgNywgNCwgMSwgNjEsIDg4LCA3LCAKLSAgICA0LCAxLCAyNTMsIDE2NiwgODgsIDcsIDQsIDEsIDI1MSwgNzQsIDg4LCA3LCA0LCAxLCAyNDksIDY4LCA4OCwgNywgNCwgMSwgCi0gICAgNzYsIDg4LCA3LCA0LCAxLCAyNDUsIDE0LCA4OCwgNywgNCwgMSwgMjQzLCAyMDksIDg4LCA3LCA0LCAxLCAyNDIsIDY3LCAKLSAgICA4OCwgNywgNCwgMSwgNzQsIDg4LCA3LCA0LCAxLCAyMzUsIDE1MCwgODgsIDcsIDQsIDEsIDIzNSwgMjksIDg4LCA3LCA0LCAKLSAgICAxLCAxNTYsIDg4LCA3LCA0LCAxLCAxOTQsIDg4LCA3LCA0LCAxLCAyMzAsIDMwLCA4OCwgNywgNCwgMSwgNzgsIDg4LCA3LCAKLSAgICA0LCAxLCAyMjYsIDEwOSwgODgsIDcsIDQsIDEsIDIyNCwgOTksIDg4LCA3LCA0LCAxLCAxNTMsIDg4LCA3LCA0LCAxLCAyMjIsIAotICAgIDkzLCA4OCwgNywgNCwgMSwgMjE3LCAxNTMsIDg4LCA3LCA0LCAxLCA2OSwgODgsIDcsIDQsIDEsIDIxNCwgMTA1LCA4OCwgNywgCi0gICAgNCwgMSwgMjEyLCA5OCwgODgsIDcsIDQsIDEsIDIxMSwgMTc4LCA4OCwgNywgNCwgMSwgMjExLCAxMTcsIDg4LCA3LCA0LCAxLCAKLSAgICAyMTAsIDE1OSwgMzcsIDcsIDYsIDEsIDYxLCAzNywgNywgNiwgMSwgMjUzLCAxNjYsIDM3LCA3LCA2LCAxLCAyNTEsIDc0LCAKLSAgICAzNywgNywgNiwgMSwgMjQ5LCA2OCwgMzcsIDcsIDYsIDEsIDc2LCAzNywgNywgNiwgMSwgMjQ1LCAxNCwgMzcsIDcsIDYsIDEsIAotICAgIDI0MywgMjA5LCAzNywgNywgNiwgMSwgMjQyLCA2NywgMzcsIDcsIDYsIDEsIDc0LCAzNywgNywgNiwgMSwgMjM1LCAxNTAsIAotICAgIDM3LCA3LCA2LCAxLCAyMzUsIDI5LCAzNywgNywgNiwgMSwgMTU2LCAzNywgNywgNiwgMSwgMTk0LCAzNywgNywgNiwgMSwgCi0gICAgMjMwLCAzMCwgMzcsIDcsIDYsIDEsIDc4LCAzNywgNywgNiwgMSwgMjI2LCAxMDksIDM3LCA3LCA2LCAxLCAyMjQsIDk5LCAKLSAgICAzNywgNywgNiwgMSwgMTUzLCAzNywgNywgNiwgMSwgMjIyLCA5MywgMzcsIDcsIDYsIDEsIDIxNywgMTUzLCAzNywgNywgNiwgCi0gICAgMSwgNjksIDM3LCA3LCA2LCAxLCAyMTQsIDEwNSwgMzcsIDcsIDYsIDEsIDIxMiwgOTgsIDM3LCA3LCA2LCAxLCAyMTEsIAotICAgIDE3OCwgMzcsIDcsIDYsIDEsIDIxMSwgMTE3LCAzNywgNywgNiwgMSwgMjEwLCAxNTksIDM3LCA3LCA0LCAxLCA2MSwgMzcsIAotICAgIDcsIDQsIDEsIDI1MywgMTY2LCAzNywgNywgNCwgMSwgMjUxLCA3NCwgMzcsIDcsIDQsIDEsIDI0OSwgNjgsIDM3LCA3LCA0LCAKLSAgICAxLCA3NiwgMzcsIDcsIDQsIDEsIDI0NSwgMTQsIDM3LCA3LCA0LCAxLCAyNDMsIDIwOSwgMzcsIDcsIDQsIDEsIDI0MiwgNjcsIAotICAgIDM3LCA3LCA0LCAxLCA3NCwgMzcsIDcsIDQsIDEsIDIzNSwgMTUwLCAzNywgNywgNCwgMSwgMjM1LCAyOSwgMzcsIDcsIDQsIAotICAgIDEsIDE1NiwgMzcsIDcsIDQsIDEsIDE5NCwgMzcsIDcsIDQsIDEsIDIzMCwgMzAsIDM3LCA3LCA0LCAxLCA3OCwgMzcsIDcsIAotICAgIDQsIDEsIDIyNiwgMTA5LCAzNywgNywgNCwgMSwgMjI0LCA5OSwgMzcsIDcsIDQsIDEsIDE1MywgMzcsIDcsIDQsIDEsIDIyMiwgCi0gICAgOTMsIDM3LCA3LCA0LCAxLCAyMTcsIDE1MywgMzcsIDcsIDQsIDEsIDY5LCAzNywgNywgNCwgMSwgMjE0LCAxMDUsIDM3LCA3LCAKLSAgICA0LCAxLCAyMTIsIDk4LCAzNywgNywgNCwgMSwgMjExLCAxNzgsIDM3LCA3LCA0LCAxLCAyMTEsIDExNywgMzcsIDcsIDQsIDEsIAotICAgIDIxMCwgMTU5LCAzNywgMjEsIDIxMCwgODYsIDE1MiwgMzcsIDU0LCAyNDUsIDE3NSwgMTUyLCAzNywgNTQsIDIxNSwgNzYsIAotICAgIDE1MiwgMzcsIDU0LCAyMTYsIDE2NSwgMTUyLCAzNywgNTQsIDI0NCwgMTMsIDE1MiwgMzcsIDU0LCAyNDQsIDEyNiwgMTUyLCAKLSAgICAzNywgNTQsIDIxOSwgMTIxLCAxNTIsIDM3LCA1NCwgMjIwLCAxMjEsIDE1MiwgMzcsIDU0LCAyNDUsIDE5OCwgMTUyLCAzNywgCi0gICAgNTQsIDIyOCwgMjAyLCAxNTIsIDM3LCA1NCwgMjE1LCA3MywgNTIsIDM3LCAyMSwgMTExLCA1MiwgMzcsIDIxLCAxMDUsIDUyLCAKLSAgICAzNywgMjEsIDE1OCwgNTIsIDM3LCAyMSwgMTYxLCA1MiwgMzcsIDIxLCAxOTAsIDUyLCAzNywgMjEsIDE5NSwgNTIsIDM3LCAKLSAgICAyMSwgMTk5LCA1MiwgMzcsIDIxLCAxOTYsIDUyLCAzNywgMjEsIDIwMSwgNTIsIDM3LCA1NCwgMjE2LCAyNDgsIDE1MiwgMzcsIAotICAgIDIxLCAyMTAsIDg2LCA5MywgOTksIDE5MywgMjQxLCA1MSwgOTMsIDk5LCAxMTQsIDI0MSwgNTEsIDkzLCA5OSwgMTkzLCAKLSAgICAyMTMsIDIzOSwgOTMsIDk5LCAxMTQsIDIxMywgMjM5LCA5MywgOTksIDE5MywgMjE1LCAyMTIsIDI0OCwgMTY1LCAyNDEsIAotICAgIDUxLCA5MywgOTksIDExNCwgMjE1LCAyMTIsIDI0OCwgMTY1LCAyNDEsIDUxLCA5MywgOTksIDE5MywgMjE1LCAyMTIsIDI0OCwgCi0gICAgMTY1LCAyMTMsIDIzOSwgOTMsIDk5LCAxMTQsIDIxNSwgMjEyLCAyNDgsIDE2NSwgMjEzLCAyMzksIDkzLCA5OSwgMTkzLCAKLSAgICAyMjQsIDI3LCAyNDgsIDE2NSwgMjQxLCA1MSwgOTMsIDk5LCAxMTQsIDIyNCwgMjcsIDI0OCwgMTY1LCAyNDEsIDUxLCA5MywgCi0gICAgOTksIDE5MywgMjI0LCAyNywgMjQ4LCAxNjUsIDIxMywgMjM5LCA5MywgOTksIDExNCwgMjI0LCAyNywgMjQ4LCAxNjUsIAotICAgIDIxMywgMjM5LCA5MywgOTksIDE5MywgMTI0LCAyMiwgMjIyLCAyNTQsIDkzLCA5OSwgMTI0LCAxOTMsIDIyLCA0NCwgMjQxLCAKLSAgICAyMjgsIDkzLCA5OSwgMTI0LCAxMTQsIDIyLCA0NCwgMjMyLCAyMzYsIDkzLCA5OSwgMTE0LCAxMjQsIDIyLCAyMjIsIDI1NCwgCi0gICAgOTMsIDk5LCAxOTMsIDEyNCwgMjIsIDIzMywgNTIsIDkzLCA5OSwgMTI0LCAxOTMsIDIyLCA0MywgMjQxLCAyMjgsIDkzLCAKLSAgICA5OSwgMTI0LCAxMTQsIDIyLCA0MywgMjMyLCAyMzYsIDkzLCA5OSwgMTE0LCAxMjQsIDIyLCAyMzMsIDUyLCA5MywgOTksIAotICAgIDE5MywgMTIwLCAyMiwgMjIyLCAyNTQsIDkzLCA5OSwgMTIwLCAxOTMsIDIyLCA0NCwgMjQxLCAyMjgsIDkzLCA5OSwgMTIwLCAKLSAgICAxMTQsIDIyLCA0NCwgMjMyLCAyMzYsIDkzLCA5OSwgMTE0LCAxMjAsIDIyLCAyMjIsIDI1NCwgOTMsIDk5LCAxOTMsIDEyMCwgCi0gICAgMjIsIDIzMywgNTIsIDkzLCA5OSwgMTIwLCAxOTMsIDIyLCA0MywgMjQxLCAyMjgsIDkzLCA5OSwgMTIwLCAxMTQsIDIyLCAKLSAgICA0MywgMjMyLCAyMzYsIDkzLCA5OSwgMTE0LCAxMjAsIDIyLCAyMzMsIDUyLCA5MywgOTksIDE5MywgNjcsIDIyLCAyMjIsIAotICAgIDI1NCwgOTMsIDk5LCA2NywgMTkzLCAyMiwgNDQsIDI0MSwgMjI4LCA5MywgOTksIDEyMCwgMTE0LCAyMiwgNDQsIDEyNCwgCi0gICAgMjMyLCAyMzYsIDkzLCA5OSwgMTI0LCAxMTQsIDIyLCA0NCwgMTIwLCAyMzIsIDIzNiwgOTMsIDk5LCA2NywgMTE0LCAyMiwgCi0gICAgNDQsIDIzMiwgMjM2LCA5MywgOTksIDEyNCwgMTkzLCAyMiwgNDQsIDEyMCwgMjQxLCAyMjgsIDkzLCA5OSwgMTIwLCAxOTMsIAotICAgIDIyLCA0NCwgMTI0LCAyNDEsIDIyOCwgOTMsIDk5LCAxMTQsIDY3LCAyMiwgMjIyLCAyNTQsIDkzLCA5OSwgMTkzLCA2NywgCi0gICAgMjIsIDIzMywgNTIsIDkzLCA5OSwgNjcsIDE5MywgMjIsIDQzLCAyNDEsIDIyOCwgOTMsIDk5LCAxMjAsIDExNCwgMjIsIDQzLCAKLSAgICAxMjQsIDIzMiwgMjM2LCA5MywgOTksIDEyNCwgMTE0LCAyMiwgNDMsIDEyMCwgMjMyLCAyMzYsIDkzLCA5OSwgNjcsIDExNCwgCi0gICAgMjIsIDQzLCAyMzIsIDIzNiwgOTMsIDk5LCAxMjQsIDE5MywgMjIsIDQzLCAxMjAsIDI0MSwgMjI4LCA5MywgOTksIDEyMCwgCi0gICAgMTkzLCAyMiwgNDMsIDEyNCwgMjQxLCAyMjgsIDkzLCA5OSwgMTE0LCA2NywgMjIsIDIzMywgNTIsIDkzLCA5OSwgMTkzLCAKLSAgICAxMjQsIDIyLCAyNDEsIDUxLCA5MywgOTksIDQzLCAxMTQsIDIyLCA0NCwgMTI0LCAyMzIsIDIzNiwgOTMsIDk5LCA0NCwgCi0gICAgMTE0LCAyMiwgNDMsIDEyNCwgMjMyLCAyMzYsIDkzLCA5OSwgMTI0LCAxOTMsIDIyLCAyMDMsIDI0MSwgMjI4LCA5MywgOTksIAotICAgIDEyNCwgMTE0LCAyMiwgMjAzLCAyMzIsIDIzNiwgOTMsIDk5LCA0NCwgMTkzLCAyMiwgNDMsIDEyNCwgMjQxLCAyMjgsIDkzLCAKLSAgICA5OSwgNDMsIDE5MywgMjIsIDQ0LCAxMjQsIDI0MSwgMjI4LCA5MywgOTksIDExNCwgMTI0LCAyMiwgMjQxLCA1MSwgOTMsIAotICAgIDk5LCAxOTMsIDEyMCwgMjIsIDI0MSwgNTEsIDkzLCA5OSwgNDMsIDExNCwgMjIsIDQ0LCAxMjAsIDIzMiwgMjM2LCA5MywgCi0gICAgOTksIDQ0LCAxMTQsIDIyLCA0MywgMTIwLCAyMzIsIDIzNiwgOTMsIDk5LCAxMjAsIDE5MywgMjIsIDIwMywgMjQxLCAyMjgsIAotICAgIDkzLCA5OSwgMTIwLCAxMTQsIDIyLCAyMDMsIDIzMiwgMjM2LCA5MywgOTksIDQ0LCAxOTMsIDIyLCA0MywgMTIwLCAyNDEsIAotICAgIDIyOCwgOTMsIDk5LCA0MywgMTkzLCAyMiwgNDQsIDEyMCwgMjQxLCAyMjgsIDkzLCA5OSwgMTE0LCAxMjAsIDIyLCAyNDEsIAotICAgIDUxLCA5MywgOTksIDE5MywgNjcsIDIyLCAyNDEsIDUxLCA5MywgOTksIDQzLCAxMTQsIDIyLCA0NCwgNjcsIDIzMiwgMjM2LCAKLSAgICA5MywgOTksIDQ0LCAxMTQsIDIyLCA0MywgNjcsIDIzMiwgMjM2LCA5MywgOTksIDY3LCAxOTMsIDIyLCAyMDMsIDI0MSwgCi0gICAgMjI4LCA5MywgOTksIDEyMCwgMTE0LCAyMiwgMTI0LCAyMDMsIDIzMiwgMjM2LCA5MywgOTksIDEyNCwgMTE0LCAyMiwgMTIwLCAKLSAgICAyMDMsIDIzMiwgMjM2LCA5MywgOTksIDY3LCAxMTQsIDIyLCAyMDMsIDIzMiwgMjM2LCA5MywgOTksIDQzLCAxMjAsIDExNCwgCi0gICAgMjIsIDQ0LCAxMjQsIDIzMiwgMjM2LCA5MywgOTksIDQ0LCAxMjAsIDExNCwgMjIsIDQzLCAxMjQsIDIzMiwgMjM2LCA5MywgCi0gICAgOTksIDQzLCAxMjQsIDExNCwgMjIsIDQ0LCAxMjAsIDIzMiwgMjM2LCA5MywgOTksIDQ0LCAxMjQsIDExNCwgMjIsIDQzLCAKLSAgICAxMjAsIDIzMiwgMjM2LCA5MywgOTksIDEyNCwgMTkzLCAyMiwgMTIwLCAyMDMsIDI0MSwgMjI4LCA5MywgOTksIDEyMCwgCi0gICAgMTkzLCAyMiwgMTI0LCAyMDMsIDI0MSwgMjI4LCA5MywgOTksIDQ0LCAxOTMsIDIyLCA0MywgNjcsIDI0MSwgMjI4LCA5MywgCi0gICAgOTksIDQzLCAxOTMsIDIyLCA0NCwgNjcsIDI0MSwgMjI4LCA5MywgOTksIDExNCwgNjcsIDIyLCAyNDEsIDUxLCA5MywgOTksIAotICAgIDE5MywgNTIsIDI0OCwgMTY1LCAyNDEsIDUxLCA5MywgOTksIDExNCwgNTIsIDI0OCwgMTY1LCAyNDEsIDUxLCA5MywgOTksIAotICAgIDE5MywgNTIsIDI0OCwgMTY1LCAyMTMsIDIzOSwgOTMsIDk5LCAxMTQsIDUyLCAyNDgsIDE2NSwgMjEzLCAyMzksIDkzLCA5OSwgCi0gICAgNTIsIDI0MSwgNTEsIDkzLCA5OSwgNTIsIDIxMywgMjM5LCA5MywgOTksIDEyNCwgMjE5LCAxNTcsIDIyLCA0NCwgMjQ2LCAKLSAgICAxMjEsIDkzLCA5OSwgMTI0LCA1MiwgMjIsIDQ0LCAyMTksIDE1NiwgOTMsIDk5LCA1MiwgMTI0LCAyMiwgMjIyLCAyNTQsIAotICAgIDkzLCA5OSwgMTI0LCAyMTksIDE1NywgMjIsIDQzLCAyNDYsIDEyMSwgOTMsIDk5LCAxMjQsIDUyLCAyMiwgNDMsIDIxOSwgCi0gICAgMTU2LCA5MywgOTksIDUyLCAxMjQsIDIyLCAyMzMsIDUyLCA5MywgOTksIDEyMCwgMjE5LCAxNTcsIDIyLCA0NCwgMjQ2LCAKLSAgICAxMjEsIDkzLCA5OSwgMTIwLCA1MiwgMjIsIDQ0LCAyMTksIDE1NiwgOTMsIDk5LCA1MiwgMTIwLCAyMiwgMjIyLCAyNTQsIAotICAgIDkzLCA5OSwgMTIwLCAyMTksIDE1NywgMjIsIDQzLCAyNDYsIDEyMSwgOTMsIDk5LCAxMjAsIDUyLCAyMiwgNDMsIDIxOSwgCi0gICAgMTU2LCA5MywgOTksIDUyLCAxMjAsIDIyLCAyMzMsIDUyLCA5MywgOTksIDY3LCAyMTksIDE1NywgMjIsIDQ0LCAyNDYsIAotICAgIDEyMSwgOTMsIDk5LCA2NywgNTIsIDIyLCA0NCwgMjE5LCAxNTYsIDkzLCA5OSwgNTIsIDY3LCAyMiwgMjIyLCAyNTQsIDkzLCAKLSAgICA5OSwgNjcsIDIxOSwgMTU3LCAyMiwgNDMsIDI0NiwgMTIxLCA5MywgOTksIDY3LCA1MiwgMjIsIDQzLCAyMTksIDE1NiwgOTMsIAotICAgIDk5LCA1MiwgNjcsIDIyLCAyMzMsIDUyLCA5MywgOTksIDEyNCwgMjE5LCAxNTcsIDIyLCAyMDMsIDI0NiwgMTIxLCA5MywgCi0gICAgOTksIDEyNCwgNTIsIDIyLCAyMDMsIDIxOSwgMTU2LCA5MywgOTksIDUyLCAxMjQsIDIyLCAyNDEsIDUxLCA5MywgOTksIAotICAgIDEyMCwgMjE5LCAxNTcsIDIyLCAyMDMsIDI0NiwgMTIxLCA5MywgOTksIDEyMCwgNTIsIDIyLCAyMDMsIDIxOSwgMTU2LCA5MywgCi0gICAgOTksIDUyLCAxMjAsIDIyLCAyNDEsIDUxLCA5MywgOTksIDY3LCAyMTksIDE1NywgMjIsIDIwMywgMjQ2LCAxMjEsIDkzLCAKLSAgICA5OSwgNjcsIDUyLCAyMiwgMjAzLCAyMTksIDE1NiwgOTMsIDk5LCA1MiwgNjcsIDIyLCAyNDEsIDUxLCA5MywgOTksIDE5MywgCi0gICAgMjU0LCAzNCwgMTI0LCAyMiwgMjIyLCAyNTQsIDkzLCA5OSwgMTkzLCAyNTQsIDM0LCAxMjQsIDIyLCAyMzMsIDUyLCA5MywgCi0gICAgOTksIDE5MywgMjU0LCAzNCwgMTIwLCAyMiwgMjMzLCA1MiwgOTMsIDk5LCAxOTMsIDI1NCwgMzQsIDEyMCwgMjIsIDIyMiwgCi0gICAgMjU0LCA5MywgOTksIDE5MywgMjQ4LCA3LCAyMTQsIDE2MCwgNDQsIDIxNiwgNDMsIDIzMiwgMTE0LCAyMzMsIDUyLCA5MywgCi0gICAgOTksIDE5MywgMjQ4LCA3LCAyMTQsIDE2MCwgNDMsIDIxNiwgNDMsIDIzMiwgMTE0LCAyMjIsIDI1NCwgOTMsIDk5LCAxOTMsIAotICAgIDI0OCwgNywgMjQ5LCAxMzgsIDkzLCA5OSwgMTkzLCAyMzMsIDUyLCA5MywgOTksIDE5MywgMjE0LCAxNjMsIDkzLCA5OSwgCi0gICAgMTkzLCAyMjIsIDI1NCwgOTMsIDk5LCAxOTMsIDI0NiwgMTE0LCA5MywgOTksIDExNCwgMjMzLCA1MiwgOTMsIDk5LCAxMTQsIAotICAgIDIxNCwgMTYzLCA5MywgOTksIDExNCwgMjIyLCAyNTQsIDkzLCA5OSwgMTE0LCAyNDYsIDExNCwgOTMsIDk5LCAxOTMsIDQzLCAKLSAgICAyMiwgMTE0LCAyMjIsIDI1NCwgOTMsIDk5LCAxOTMsIDEyMCwgMjIsIDExNCwgMjQ2LCAxMTQsIDkzLCA5OSwgMTE0LCA0MywgCi0gICAgMjIsIDE5MywgMjIyLCAyNTQsIDkzLCA5OSwgMTE0LCAxMjAsIDIyLCAxOTMsIDI0NiwgMTE0LCAyMTQsIDE2MCwgMTYzLCAKLSAgICAyNTEsIDIyMSwgMjMyLCAxMTQsIDEyMywgMjQ1LCAxOTcsIDI1MSwgMjIxLCAyMzIsIDExNCwgMTIzLCAyMjQsIDI1LCAyNTEsIAotICAgIDIyMSwgMjMyLCAxMTQsIDEzNCwgMjQ1LCAxOTUsIDI1MSwgMjIxLCAyMzIsIDExNCwgMTYzLCAyNTEsIDIyMSwgMjMyLCAKLSAgICAxMTQsIDI0NCwgODksIDI0NSwgMTk1LCAyNTEsIDIyMSwgMjMyLCAxMTQsIDEzNCwgMjI0LCAyMywgMjUxLCAyMjEsIDIzMiwgCi0gICAgMTE0LCAyMjAsIDEyNCwgMjQ1LCAxOTUsIDI1MSwgMjIxLCAyNDMsIDIzNiwgMjUxLCAyMjEsIDQzLCAyMjAsIDEyNCwgMjQ1LCAKLSAgICAxOTUsIDI1MSwgMjIxLCA0MywgMTM0LCAyMjQsIDIzLCAyNTEsIDIyMSwgNDMsIDI0NCwgODksIDI0NSwgMTk1LCAyNTEsIAotICAgIDIyMSwgNDMsIDE2MywgMjUxLCAyMjEsIDQzLCAxMzQsIDI0NSwgMTk1LCAyNTEsIDIyMSwgNDMsIDEyMywgMjI0LCAyNSwgCi0gICAgMjUxLCAyMjEsIDQzLCAxMjMsIDI0NSwgMTk3LCAyNTEsIDIyMSwgNDQsIDE2MywgMjUxLCAyMjEsIDE5MywgMjIwLCA5NCwgCi0gICAgMjMxLCA4NywgMjIwLCA5NCwgMjQ4LCAxNzAsIDIyMCwgOTQsIDIxNCwgMTYwLCAxMjMsIDI0NSwgMTk3LCAyNTEsIDIyMSwgCi0gICAgNDQsIDEyMywgMjQ1LCAxOTcsIDI1MSwgMjIxLCAyMjQsIDI5LCAyMzIsIDExNCwgMjMzLCA1MiwgMjI0LCAyOSwgMjMyLCAKLSAgICAxMTQsIDIyMiwgMjU0LCAyMjQsIDI5LCAyMTQsIDE2MCwgMjMzLCA1MiwgMjI0LCAyOSwgMjE0LCAxNjAsIDQzLCAyMiwgCi0gICAgMjMyLCAxMTQsIDQzLCAyMiwgMjMyLCAxMTQsIDIyMiwgMjU0LCAyMjQsIDI5LCAyMTQsIDE2MCwgNDMsIDIyLCAyMzIsIAotICAgIDExNCwgMjIyLCAyNTQsIDIyNCwgMjksIDIxNCwgMTYwLCA0MywgMjIsIDIxNCwgMTYwLCA0NCwgMjIsIDIzMiwgMTE0LCAKLSAgICAyMzMsIDUyLCAyMjQsIDI5LCAyMTQsIDE2MCwgNDMsIDIyLCAyMTQsIDE2MCwgNDQsIDIyLCAyMzIsIDExNCwgMjIyLCAyNTQsIAotICAgIDIyNCwgMjksIDIxNCwgMTYwLCAyMjIsIDI1NCwgMjI0LCAyOSwgMjE0LCAxNjAsIDQ0LCAyMiwgMjMyLCAxMTQsIDIzMywgCi0gICAgNTIsIDIyNCwgMjksIDIxNCwgMTYwLCA0NCwgMjIsIDIzMiwgMTE0LCA0MywgMjIsIDIzMiwgMTE0LCAyMjIsIDI1NCwgODUsIAotICAgIDIxOCwgMjM2LCA3MSwgMjE4LCAyMzYsIDcxLCA0MiwgMiwgMjIyLCAxODUsIDI0OSwgMTY3LCA3MSwgNDIsIDI0OSwgMTk1LCAKLSAgICA4NSwgNCwgMjE4LCAyMzYsIDQyLCAyLCAyMDMsIDI0NCwgMTEzLCA0MiwgMiwgNjcsIDI0NCwgMTEzLCA0MiwgMiwgMjI2LCAKLSAgICAxNDgsIDI0OSwgMTM0LCAyNDQsIDExMywgNDIsIDIsIDIxNCwgMTYwLCA0MywgMjE2LCA0MywgMjMyLCAxMTQsIDQ0LCAyNDQsIAotICAgIDExMywgNDIsIDIsIDIxNCwgMTYwLCA0NCwgMjE2LCA0MywgMjMyLCAxMTQsIDQzLCAyNDQsIDExMywgNDIsIDIsIDI0OCwgNywgCi0gICAgMjQ5LCAxMzQsIDI0NCwgMTEzLCA4NSwgNCwgMjE4LCAyMzYsIDcxLCA0LCAyMTgsIDIzNiwgODUsIDIyMywgMTE5LCA3MSwgCi0gICAgMjIzLCAxMTksIDg1LCA2NywgMjIzLCAxMTksIDcxLCA2NywgMjIzLCAxMTksIDg1LCAyMjYsIDEwLCA3MSwgMjI2LCAxMCwgCi0gICAgODUsIDIxNCwgMTYyLCAyMTUsIDIyNiwgNzEsIDIxNCwgMTYyLCAyMTUsIDIyNiwgODUsIDIxNCwgMTYyLCA0LCAyMTUsIAotICAgIDIyNiwgNzEsIDIxNCwgMTYyLCA0LCAyMTUsIDIyNiwgODUsIDIyMiwgMjUwLCAyMTUsIDIyNiwgNzEsIDIyMiwgMjUwLCAKLSAgICAyMTUsIDIyNiwgODUsIDIyMiwgMjUwLCA0LCAyMTUsIDIyNiwgNzEsIDIyMiwgMjUwLCA0LCAyMTUsIDIyNiwgODUsIDIyMiwgCi0gICAgMjUwLCAyMjUsIDExLCA3MSwgMjIyLCAyNTAsIDIyNSwgMTEsIDg1LCAyNDYsIDExMywgMjE1LCAyMjYsIDcxLCAyNDYsIAotICAgIDExMywgMjE1LCAyMjYsIDg1LCAyNDYsIDExMywgNCwgMjE1LCAyMjYsIDcxLCAyNDYsIDExMywgNCwgMjE1LCAyMjYsIDg1LCAKLSAgICAyMzMsIDQ4LCAyMTUsIDIyNiwgNzEsIDIzMywgNDgsIDIxNSwgMjI2LCA4NSwgMjMzLCA0OCwgNCwgMjE1LCAyMjYsIDcxLCAKLSAgICAyMzMsIDQ4LCA0LCAyMTUsIDIyNiwgODUsIDIzMywgNDgsIDIyNSwgMTEsIDcxLCAyMzMsIDQ4LCAyMjUsIDExLCA4NSwgCi0gICAgMjQ4LCAwLCA3MSwgMjQ4LCAwLCA3MSwgMjQ4LCAxLCAyNDksIDE5NSwgODUsIDQsIDI0OCwgMCwgMjQ0LCA5NywgMjMyLCAKLSAgICAxMTAsIDcxLCAyNTAsIDQzLCAyNDYsIDEyNiwgMjUwLCA0MywgMjUwLCA0NCwgMiwgNjcsIDI0NCwgMTEzLCAyNTEsIDExOSwgCi0gICAgODUsIDI1MCwgNDMsIDI1MCwgNDQsIDIsIDQzLCAxNjMsIDI1MSwgMjI5LCAyNTAsIDQ0LCAyLCA0NCwgMTYzLCAyNTEsIAotICAgIDIyOSwgMjUwLCA0NCwgMiwgMjMyLCAxMTQsIDE2MywgMjUxLCAyMjksIDI1MCwgNDQsIDIsIDIxNCwgMTYwLCAxNjMsIDI1MSwgCi0gICAgMjI5LCAyNTAsIDQ0LCAyLCAyMTQsIDE2MCwgNDQsIDIyNCwgMjksIDI1MSwgMjI5LCAyNTAsIDQ0LCAyLCAyNTQsIDE2NCwgCi0gICAgMjUxLCA5NiwgMjE0LCAxNjAsIDQzLCAyMjQsIDI5LCAyNTEsIDIyOSwgNDMsIDE2MywgODUsIDI1MCwgNDMsIDQ0LCAxNjMsIAotICAgIDg1LCAyNTAsIDQzLCAyMzUsIDIwMSwgMjUxLCAxMjEsIDIzNSwgMjAxLCA3MSwgMjUwLCA0MywgMjE0LCAxNjAsIDE2MywgCi0gICAgMjM1LCAyMDEsIDcxLCAyNTAsIDQzLCAyMzIsIDExNCwgMTYzLCAyMzUsIDIwMSwgNzEsIDI1MCwgNDMsIDIxNCwgMTYwLCAKLSAgICA0MywgMjI0LCAyOSwgMjUwLCA0MSwgMjU0LCAzMywgMjE0LCAxNjAsIDQ0LCAyMjQsIDI5LCAyNTAsIDQxLCAyNTQsIDMzLCAKLSAgICAyMzIsIDExNCwgNDQsIDIyNCwgMjksIDI1MCwgNDEsIDI1NCwgMzMsIDIzMiwgMTE0LCA0MywgMjI0LCAyOSwgMjUwLCA0MSwgCi0gICAgMjU0LCAzMywgMjE0LCAxNjAsIDE2MywgMjUwLCA0MywgMjMyLCAxMTQsIDE2MywgMjUwLCA0MywgODUsIDIzMiwgMTE0LCAKLSAgICA0NCwgMjE1LCAyMjYsIDg1LCAyMzIsIDExNCwgNDMsIDIxNSwgMjI2LCA4NSwgMjE0LCAxNjAsIDQzLCAyMTUsIDIyNiwgODUsIAotICAgIDIxNCwgMTYwLCA0NCwgMjE1LCAyMjYsIDcxLCAyNTEsIDEyMSwgNDIsIDIsIDQzLCAxNjMsIDI1MSwgMjI5LCA0MiwgMiwgCi0gICAgNDQsIDE2MywgMjUxLCAyMjksIDQyLCAyLCAyMTQsIDE2MCwgNDMsIDI0OCwgNywgMTYzLCAyNTEsIDIyOSwgNDIsIDIsIAotICAgIDIzMiwgMTE0LCA0NCwgMjQ4LCA3LCAxNjMsIDI1MSwgMjI5LCA3MSwgNDIsIDIsIDY3LCAyNTEsIDI0MCwgMjMyLCAyMTksIAotICAgIDcxLCAyMTQsIDE2MiwgMjE1LCAyMjcsIDIsIDI0NywgMTI4LCAyMTQsIDE2MiwgMjE1LCAyMjcsIDIsIDQzLCAxNjMsIDI1MSwgCi0gICAgMjI5LCAyMTQsIDE2MiwgMjE1LCAyMjcsIDIsIDQ0LCAxNjMsIDI1MSwgMjI5LCAyMzMsIDkxLCAyNTAsIDQzLCA3MSwgNDIsIAotICAgIDIsIDIxNCwgMTYwLCA0MywgMjI0LCAyOCwgNzEsIDQyLCAyLCAyMzIsIDExNCwgNDMsIDIyNCwgMjgsIDcxLCA0MiwgMiwgCi0gICAgMjMyLCAxMTQsIDQ0LCAyMjQsIDI4LCA3MSwgNDIsIDIsIDIxNCwgMTYwLCA0NCwgMjI0LCAyOCwgNzEsIDI1MCwgNDQsIDIsIAotICAgIDIxNCwgMTYwLCA0MywgMjI0LCAyOCwgNzEsIDI1MCwgNDQsIDIsIDIzMiwgMTE0LCA0MywgMjI0LCAyOCwgNzEsIDI1MCwgCi0gICAgNDQsIDIsIDIzMiwgMTE0LCA0NCwgMjI0LCAyOCwgNzEsIDI1MCwgNDQsIDIsIDIxNCwgMTYwLCA0NCwgMjI0LCAyOCwgMjE0LCAKLSAgICAxNjAsIDQzLCAyMTUsIDIyNiwgMjE0LCAxNjAsIDQ0LCAyMTUsIDIyNiwgMjMyLCAxMTQsIDQzLCAyMTUsIDIyNiwgNzEsIAotICAgIDIzMSwgODcsIDIxOCwgMjM2LCA4NSwgMjMxLCA4NywgMjE4LCAyMzYsIDcxLCAyMzEsIDg3LCA0LCAyMTgsIDIzNiwgODUsIAotICAgIDIzMSwgODcsIDQsIDIxOCwgMjM2LCAyMzIsIDExNCwgNDQsIDIxNSwgMjI2LCA4NSwgMjE4LCAzOSwgMiwgMjIzLCAxMzUsIAotICAgIDI0OSwgMjU1LCAyMTQsIDE5NCwgMjE5LCA2MiwgMjQ5LCAyMzAsIDg1LCAyMTgsIDE1OCwgNzEsIDIxOCwgMTU4LCAyMzIsIAotICAgIDIzNCwgMjE2LCAxMzMsIDIxOCwgMzgsIDI1MywgMjQyLCAyMjgsIDc2LCAyNDgsIDQ2LCAyMjgsIDc2LCAyNDksIDIwMywgCi0gICAgMjI2LCAxNjcsIDg1LCAyMTcsIDEsIDcxLCAyMTcsIDEsIDI1MiwgMTY0LCAyNTEsIDE3MSwgMjUyLCAxNjQsIDkzLCAyLCAKLSAgICAyNTAsIDEzNywgMjUyLCAxNjQsIDkzLCAyLCAyMTEsIDE3OCwgMjIyLCAwLCAyMTQsIDE5NSwgMiwgMjIzLCAxNjMsIDI0NiwgCi0gICAgOTIsIDI0MCwgMjUwLCAyNTIsIDMwLCA3MSwgMjIwLCA0LCAyMjUsIDEwNCwgODUsIDIyMCwgNCwgMjI1LCAxMDQsIDIyMCwgCi0gICAgODksIDIyMywgNTIsIDIyMiwgMTg5LCAyNDQsIDYzLCAyNDEsIDIzNSwgMjUxLCAxMjEsIDg1LCA0MywgMjI1LCAxMCwgMjM1LCAKLSAgICAyNDksIDg1LCA0NCwgMjI1LCAxMCwgMjM1LCAyNDksIDcxLCA0MywgMjI1LCAxMCwgMjM1LCAyNDksIDcxLCAxMjAsIDIyNSwgCi0gICAgMTAsIDIzNSwgMjQ5LCA3MSwgNDQsIDIyNSwgMTAsIDIzNSwgMjQ5LCA3MSwgMTI0LCAyMjUsIDEwLCAyMzUsIDI0OSwgMjE5LCAKLSAgICAxMDMsIDIyLCAyNDksIDEzNywgMjUwLCAyMjcsIDUwLCAyMjMsIDE3NSwgNTAsIDI1MSwgMjQ3LCA1MCwgMjUxLCAzMywgCi0gICAgMjU0LCAxMTAsIDIyNiwgMTQ5LCAyNDksIDEzOCwgMjUwLCAxMTksIDIyMywgNDAsIDI0OSwgMTM5LCA2NCwgMjMyLCAxMjQsIAotICAgIDI0OSwgMTM5LCA2NCwgMjM1LCAxMjIsIDIxOCwgMTU5LCAyMiwgMjQ5LCAxNDQsIDI0NCwgMTc2LCA4NywgMjU1LCAxLCAKLSAgICAyMjAsIDkxLCAyNDIsIDI5LCAyMiwgMjE5LCAxOTEsIDIyNSwgMjIzLCA4NywgMjEwLCAyNTQsIDIxMSwgNjksIDIxNSwgCi0gICAgMjE2LCAzMSwgMjQxLCAyMzAsIDIxNSwgMjE2LCAzMSwgMjMzLCAxMTMsIDIxNSwgMjE2LCAzMSwgMjQ0LCAxMDQsIDIxNSwgCi0gICAgMjE2LCAzMSwgMjE2LCAxMzQsIDIxNSwgMjE2LCAzMSwgMjExLCAyMzksIDIxNSwgMjE2LCAzMSwgMjEyLCA0MCwgMjE1LCAKLSAgICAyMTYsIDMxLCAyMzAsIDEyMCwgMjE1LCAyMTYsIDMxLCAyNDUsIDIzMSwgMjEyLCAxLCA2NCwgMjQ4LCAyNiwgNzEsIDI0MywgCi0gICAgMjQ3LCAyNDQsIDE5OCwgNzEsIDIxOSwgNzYsIDI0NCwgMTk4LCA4NSwgMjE5LCA3NiwgMjQ0LCAxOTgsIDcxLCAyMTgsIDM5LCAKLSAgICAyLCAyMjMsIDEzNSwgMjQ0LCAxMDAsIDIyNCwgMjUsIDIzMCwgMTMzLCAyMzMsIDg2LCAyMjQsIDI1LCAyMzAsIDEzMywgCi0gICAgMjMxLCA1OSwgMjQ0LCAxNDYsIDUwLCAyNDUsIDIzMSwgMjMxLCAxOTUsIDUwLCAyMzUsIDQ0LCAyMjEsIDIyMiwgMjE0LCAKLSAgICAxNDUsIDIyOSwgOTgsIDIyNSwgMjMsIDI1NCwgMjAsIDIxNywgNDEsIDI0MywgNTksIDI1MSwgMTEsIDIzMywgMjUsIDIxMywgCi0gICAgMTUwLCAyMzIsIDI0NCwgMjIxLCAxOTMsIDIyMiwgMjEsIDI1MSwgMCwgMjU0LCA1MCwgMjI1LCA1NSwgNzEsIDI1MCwgMTI1LCAKLSAgICAyMzQsIDg0LCA3MSwgMjUwLCAxMjUsIDIyNCwgMTcsIDcxLCAyNTAsIDEyNSwgMjIyLCAxOTcsIDcxLCAyNTAsIDEyNSwgCi0gICAgMjUxLCAyMzksIDcxLCAyNTAsIDEyNSwgMjM0LCAzNiwgNzEsIDI1MCwgMTI1LCAyMjUsIDIzNSwgODUsIDI1MCwgMTI1LCAKLSAgICAyMzQsIDg0LCA4NSwgMjUwLCAxMjUsIDIyNCwgMTcsIDg1LCAyNTAsIDEyNSwgMjIyLCAxOTcsIDg1LCAyNTAsIDEyNSwgCi0gICAgMjUxLCAyMzksIDg1LCAyNTAsIDEyNSwgMjM0LCAzNiwgODUsIDI1MCwgMTI1LCAyMjUsIDIzNSwgODUsIDIxOSwgMTgsIAotICAgIDIxOCwgNTEsIDcxLCAyNDEsIDIzNSwgMjE4LCA1MSwgNzEsIDI0OCwgMSwgMjE4LCA1MSwgODUsIDI0OSwgMjUzLCAyMTgsIAotICAgIDUxLCA3MSwgMjE5LCAxOCwgMjE4LCA1MSwgODUsIDI0MSwgMjM1LCAyMTgsIDUxLCA4NSwgMjQ4LCAxLCAyMTgsIDUxLCA3MSwgCi0gICAgMjQ5LCAyNTMsIDIxOCwgNTEsIDI0MCwgMjUwLCAyMTgsIDI0MCwgMjI0LCAyNSwgMjI4LCA1MiwgMjQ1LCAxOTcsIDIyOCwgCi0gICAgNTIsIDI1MiwgODEsIDI0NSwgMTk3LCAyMjgsIDQ3LCAyNTIsIDgxLCAyMTksIDEyMCwgMjI4LCA0NywgMjMwLCA2MiwgMjQ0LCAKLSAgICA3NCwgNTAsIDIzMCwgNjIsIDIyOSwgMTkzLCA1MCwgMjMwLCA2MiwgMjIwLCA3OCwgNTAsIDIxMiwgOSwgMTgzLCAyNDksIAotICAgIDEzOCwgMjQ1LCAyMjgsIDE4MywgMjQ5LCAxMzgsIDIxNCwgMTcxLCAyMjMsIDExNSwgODcsIDIyMywgMTE1LCAxNiwgMzEsIAotICAgIDIxNSwgNDgsIDIyNSwgMzcsIDIyMywgMTE1LCAxNiwgMzEsIDIxNSwgNDcsIDIyNSwgMzcsIDIyMywgMTE1LCAxNiwgMzEsIAotICAgIDIxNSwgNDYsIDIyNSwgMzcsIDIyMywgMTE1LCAxNiwgMzEsIDIxNSwgNDUsIDIyNSwgMzcsIDIyMywgMTE1LCAxNiwgMzEsIAotICAgIDIxNSwgNDQsIDIyNSwgMzcsIDIyMywgMTE1LCAxNiwgMzEsIDIxNSwgNDMsIDIyNSwgMzcsIDIyMywgMTE1LCAxNiwgMzEsIAotICAgIDIxNSwgNDIsIDIyNSwgMzcsIDIyMywgMTE1LCAxNiwgMzEsIDI0MywgNTcsIDIzMSwgMTQzLCA4NSwgMjE0LCAxNzEsIDIyMywgCi0gICAgMTE1LCA4NywgMjIzLCAxMTYsIDIyNiwgMjQsIDg3LCAyMjYsIDAsIDIyNiwgMjQsIDg3LCAyMjUsIDE3NywgMjI2LCAyNCwgCi0gICAgNTAsIDIxMSwgMjU1LCA4NywgMjQ3LCAyNDksIDI0NCwgMTk3LCAyNDcsIDI0OSwgMjQ0LCAxOTYsIDI0NywgMjQ5LCAyNDQsIAotICAgIDE5NSwgMjQ3LCAyNDksIDI0NCwgMTk0LCAyNDcsIDI0OSwgMjQ0LCAxOTMsIDI0NywgMjQ5LCAyNDQsIDE5MiwgNzEsIDI1MCwgCi0gICAgNDQsIDIsIDU5LCAyMjIsIDI1NCwgNzEsIDI1MCwgNDQsIDIsIDExMywgMjQ3LCAxMjYsIDg1LCAyNTAsIDQ0LCAyLCA3MSwgCi0gICAgNTksIDIyMiwgMjU0LCA4NSwgMjUwLCA0NCwgMiwgMTEzLCA3MSwgMjQ3LCAxMjYsIDIzMCwgMTQ3LCAzMSwgMjExLCA2OSwgCi0gICAgMjMwLCAxNDcsIDMxLCAyMTAsIDI1MywgMjQ3LCAyMzIsIDMxLCAyNDIsIDEzOCwgMjExLCA2OSwgMjQ3LCAyMzIsIDMxLCAKLSAgICAyMzMsIDE5LCAyMTAsIDI1MywgMjQ3LCAyMzIsIDMxLCAyMzMsIDE5LCAyMTEsIDY5LCAyNDcsIDIzMiwgMzEsIDI0MiwgCi0gICAgMTM4LCAyMTAsIDI1MywgNzEsIDI0NCwgODEsIDg1LCAyNDQsIDgxLCAyNDIsIDI5LCAyMiwgMjI1LCAxMDcsIDI1NCwgMTI4LCAKLSAgICAyNDksIDEzNiwgMjE3LCAyMzYsIDIxOCwgMTY2LCA2NCwgMjU0LCAyMzUsIDIyMSwgMjA4LCAyNTQsIDE3OCwgMjQ0LCA1OSwgCi0gICAgMjQzLCA2NywgMjE4LCAxNjYsIDY0LCAyNDEsIDIwOSwgMjUzLCAyMDcsIDg3LCAyNDQsIDcwLCAyMjYsIDEzMCwgNzEsIAotICAgIDIxOCwgMTU4LCAxMzQsIDIzMiwgMjE0LCAyNDksIDE4MywgMjIyLCAyNTQsIDEzNCwgMjMyLCAyMTQsIDI0OSwgMTgzLCAKLSAgICAyMzMsIDUyLCAyMTIsIDUwLCA1MCwgMTI1LCAyMTMsIDEzMCwgNTAsIDI0NiwgMTE4LCAyNDQsIDE0NiwgNTAsIDI0NiwgCi0gICAgMTE4LCAyMzEsIDE5NSwgNTAsIDIzNSwgMjEwLCAyNDQsIDE0NiwgMjIsIDIzMSwgMTk1LCA1MCwgMjMxLCAxOTUsIDIyLCAKLSAgICAyNDQsIDE0NiwgNTAsIDIzMSwgMTk1LCAyLCAyMTgsIDEwNSwgNTAsIDIzMSwgMTk1LCAyLCAyMTgsIDEwNSwgMjIsIDIzMSwgCi0gICAgMTk1LCAyMiwgMjQ0LCAxNDYsIDUwLCA2NywgMjMxLCAxOTUsIDIsIDIxOCwgMTA1LCA1MCwgMjAzLCAyMzEsIDE5NSwgMiwgCi0gICAgMjE4LCAxMDUsIDUwLCAyMzEsIDg3LCA3MSwgMjUwLCA0MywgMjMxLCA4NywgODUsIDI1MCwgNDMsIDIzMSwgODcsIDQsIDcxLCAKLSAgICAyNTAsIDQzLCAyMzEsIDE1OCwgODcsIDI0NywgMTc1LCA4NywgMjE0LCAxNjksIDIyNSwgMjU1LCA4NywgMjQ5LCAyMzksIAotICAgIDI0MywgMjMxLCAyMTQsIDE0MSwgMjI5LCA5MywgMjUwLCAxNjksIDIyNiwgNjUsIDIzNSwgNTAsIDIxMywgMTg1LCAyNTAsIAotICAgIDEwMSwgODUsIDIzMCwgMTM0LCAyMzIsIDIzMSwgMjIwLCAxMTQsIDIyMCwgMTQ5LCAyMjQsIDgsIDIyMCwgMTMyLCAyMTksIAotICAgIDU3LCAyNTIsIDE2NywgMjUyLCAxMzQsIDkyLCAyMzQsIDE0NCwgNzEsIDI0NiwgMTAxLCAyMzEsIDE5MCwgNzEsIDI0NiwgCi0gICAgMTAxLCAyMzQsIDg0LCA4NSwgMjQ2LCAxMDEsIDIzMSwgMTkwLCA4NSwgMjQ2LCAxMDEsIDIzNCwgODQsIDIxOSwgNjMsIAotICAgIDIxMSwgMjMwLCAyMTksIDY2LCAyMTgsIDM5LCAyNTIsIDU5LCAyNDksIDI1NSwgMjIzLCAxNjIsIDg1LCAyMTksIDYyLCAKLSAgICAyMTYsIDEzNSwgMjUwLCAwLCAyMiwgMjIzLCAxNjIsIDIxNSwgOTQsIDcxLCAyMjAsIDQsIDIyNSwgMTA0LCAyMTUsIDk0LCAKLSAgICA4NSwgMjIwLCA0LCAyMjUsIDEwNCwgNzEsIDI0OCwgMSwgMjM2LCA3LCAyMTgsIDIzNiwgMjQ5LCAxMzMsIDIzMywgOTcsIAotICAgIDI0NywgMjAxLCAyNTAsIDI1MiwgMjI2LCAxNzAsIDIyNSwgMTA3LCAyNTAsIDI1MywgMjE5LCA5MCwgMjQxLCAyMTksIDIsIAotICAgIDcxLCAyNDksIDEzOCwgMzcsIDI0OSwgMTMzLCAyMzMsIDk3LCAyNTAsIDE2MSwgMjI4LCA4MCwgMjQ1LCAxMzIsIDI1NCwgCi0gICAgMTQ5LCAyMjYsIDE5NSwgNDMsIDIxMiwgMjYsIDIxNSwgMjUyLCA4NSwgMjE1LCA1NSwgNDMsIDIxMiwgMjYsIDIxNSwgMjUyLCAKLSAgICA3MSwgMjE1LCA1NSwgNDMsIDIxMiwgMjYsIDIxNSwgMjUyLCA4NSwgNDMsIDIzMywgOTgsIDIzMSwgNTgsIDcxLCA0MywgCi0gICAgMjMzLCA5OCwgMjMxLCA1OCwgMjQ2LCA5NywgMjE5LCA4NCwgNTAsIDExNCwgNzEsIDI0NiwgMTEzLCAyMTUsIDIyNiwgNDMsIAotICAgIDI1MCwgOCwgMjQ1LCAxMzIsIDkyLCAyMjIsIDAsIDI0NCwgMTgzLCAyNDgsIDcsIDIzNiwgNywgNzEsIDI1MCwgNDQsIDIzNiwgCi0gICAgNywgODUsIDIxOCwgMjM2LCA4NSwgMjE1LCAxOTMsIDIyMywgNjMsIDQzLCAyNDUsIDEzMSwgMjIzLCA2MywgNDMsIDI0NSwgCi0gICAgMTMwLCAyNTMsIDIxOSwgMTYsIDMxLCAyMTQsIDE0NSwgMTE0LCAyNTAsIDQ0LCAyLCAyMTgsIDEwNSwgMjIsIDExMywgMTcwLCAKLSAgICA0OCwgMjI1LCAxOTIsIDIyMiwgMjUxLCAyMzUsIDIxMiwgMjI1LCAxOTIsIDIzMywgNDksIDIzNSwgMjEyLCAyMjUsIDE5MiwgCi0gICAgMjM1LCAyMDAsIDIyNSwgMTkyLCA4NSwgMjQ5LCAxMzksIDIyNiwgMjAxLCAyMjAsIDMxLCAyMjAsIDE5LCAyMTksIDIzMSwgCi0gICAgMjUwLCA2OSwgMjUwLCAyMzQsIDI0MSwgMTY0LCAyMTksIDEyOCwgMjQzLCA2OCwgMjExLCAyMzAsIDI0MCwgMjI3LCAyNDMsIAotICAgIDY4LCAyLCAyNDIsIDE5LCAyMzEsIDE3OCwgMTYsIDMxLCAyMzIsIDIzNSwgMjMwLCAxMjAsIDIxNCwgMTk1LCAyMjYsIDIwMSwgCi0gICAgMjQyLCAxMjksIDI0NCwgMjAsIDI0NCwgODIsIDIzNiwgNywgMjQxLCA2NiwgMjQ0LCAxMzcsIDIyMiwgMTYsIDQyLCAyNDQsIAotICAgIDE5LCAyNDksIDE2NywgMjE5LCAxMDYsIDI0MCwgMTE5LCAyMTksIDEwOSwgMjI1LCAxNzEsIDIsIDI1MiwgMTY3LCAyMTYsIAotICAgIDI0MywgMjM1LCAxMzcsIDI1MiwgMTU0LCA4NywgMjQxLCAyMzgsIDI0MiwgMTQwLCA4NywgMjQzLCAyMzksIDIyNCwgMTQ1LCAKLSAgICAyNDksIDExMSwgMjI2LCAyMDEsIDg1LCAyMTgsIDIzNiwgNzEsIDI0NCwgODIsIDIsIDIwMywgMjMwLCAyMjksIDg1LCAyMTgsIAotICAgIDEwNiwgMjE0LCAxNjAsIDI1MSwgMjI1LCAyMjEsIDE5NSwgODUsIDIyMSwgMTk1LCAyMzIsIDExNCwgMjUxLCAyMjUsIDIyMSwgCi0gICAgMTk1LCA3MSwgMjIxLCAxOTUsIDcxLCAxMTQsIDI1MCwgMTM4LCA3OSwgMjE3LCAyLCAyMzIsIDE2MCwgNTAsIDIxNywgNTQsIAotICAgIDI0NiwgOTYsIDI1NCwgMjAwLCAyNDUsIDEyNywgMjIzLCAxNjAsIDI0NCwgOTMsIDIyMywgMTYwLCAyNDIsIDIyLCAyMTMsIAotICAgIDE3NCwgMjQyLCAyMiwgMjExLCAxOTgsIDI0MiwgMjIsIDIzMiwgMTE0LCA0NCwgMjI1LCAyMDEsIDIyNSwgMjAxLCAyMTQsIAotICAgIDE2MCwgNDQsIDIyNSwgMjAxLCA3MSwgMjI4LCAyMzUsIDg1LCAyMjgsIDIzNSwgMjUwLCAxMzgsIDc5LCAxMTQsIDI1MCwgCi0gICAgMTM4LCA3OSwgMjMwLCA4OSwgMjExLCAxNzgsIDExNCwgMjMwLCA4OSwgMjExLCAxNzgsIDI1MiwgMTY0LCAyMTEsIDE3OCwgCi0gICAgMTE0LCAyNTIsIDE2NCwgMjExLCAxNzgsIDIyNiwgMTMwLCAyNiwgMjQ5LCAxMzgsIDExNCwgMjYsIDI0OSwgMTM4LCAyMDQsIAotICAgIDI1MCwgMTgzLCAyNDksIDEzOCwgMTE0LCAyMDQsIDI1MCwgMTgzLCAyNDksIDEzOCwgNywgMjQ5LCAxMzgsIDIyMCwgOTMsIAotICAgIDcxLCA3LCAyNDksIDEzOCwgMjI2LCAxMzAsIDcsIDI0OSwgMTM4LCAyMzEsIDE5MiwgMjQ5LCAxMzgsIDIxOCwgMTU5LCA2NCwgCi0gICAgMjQ4LCAxNTcsIDI0NCwgMTksIDIxNywgMTYsIDI1MywgMjI0LCAyNDQsIDE5LCAyNTIsIDE2NSwgMjUzLCAyMjQsIDExNCwgCi0gICAgMjQ0LCAxOSwgMjUyLCAxNjUsIDI1MywgMjI0LCAyNDQsIDE5LCAyNDksIDI1MSwgMjUzLCAyMjQsIDg1LCAyNDQsIDE5LCAKLSAgICAyMjUsIDEyLCAyMTgsIDE1OCwgNzEsIDI0NCwgMTksIDIyNSwgMTIsIDIxOCwgMTU4LCAyMTksIDEzLCAyMTgsIDExMywgCi0gICAgMjI2LCAxMzAsIDcxLCAyMTgsIDE1OCwgMzcsIDcxLCAyMTgsIDE1OCwgMjA0LCAyNTAsIDE4MywgODUsIDIxOCwgMTU4LCAKLSAgICA4NSwgMjUwLCAxODMsIDcxLCAyMTgsIDE1OCwgMjI2LCAxMzAsIDg1LCAyMTgsIDE1OCwgMTE0LCAyMjYsIDEzMCwgODUsIAotICAgIDIxOCwgMTU4LCAyMjUsIDYzLCAyMTgsIDE1OCwgMjIwLCA5MywgNzEsIDIxOCwgMTU4LCAxMTQsIDI1MywgMjI0LCAyMDQsIAotICAgIDI1MCwgMTgzLCAyNTMsIDIyNCwgMjQ1LCAyMDEsIDIxOCwgMjQ2LCAyNTMsIDIyNCwgMjQ1LCAyMDEsIDIyNSwgMTIsIDg1LCAKLSAgICAyMTgsIDE1OCwgMjQ1LCAyMDEsIDIyNSwgMTIsIDIyNSwgNjMsIDIxOCwgMTU4LCAyMTksIDEyNywgMjI1LCAxMiwgODUsIAotICAgIDIxOCwgMTU4LCAyNDUsIDIwMSwgMjI1LCAxMiwgMjIzLCAxMTcsIDg1LCAyMTgsIDE1OCwgMTE0LCAyNDUsIDIwMSwgMjI1LCAKLSAgICAxMiwgMjIzLCAxMTcsIDg1LCAyMTgsIDE1OCwgMjE1LCA3NywgMjI1LCAxMiwgODUsIDIxOCwgMTU4LCAyMTksIDEyMiwgCi0gICAgMjI1LCAxMiwgMjUzLCAyMjQsIDIxNywgMTYsIDI1MywgMjI0LCAyMDQsIDI1MCwgMTgzLCAyMTcsIDE2LCAyNTMsIDIyNCwgCi0gICAgMTE0LCAyMTcsIDE2LCAyNTMsIDIyNCwgMjE5LCAxMjcsIDIyNSwgMTYwLCA4NSwgMjIsIDcxLCAyNDQsIDYyLCA4NSwgMjQ0LCAKLSAgICA2MiwgNzEsIDI0NCwgNjIsIDI0NSwgMjAxLCAyMjUsIDE2MCwgMjI2LCAxMzAsIDg1LCAyNDQsIDYyLCAzNywgMjA0LCAyNTAsIAotICAgIDE4MywgMjQ1LCAyMDEsIDIyNSwgMTIsIDIxOCwgMTU4LCAxMTQsIDIxNywgMTYsIDIyNSwgNjMsIDI1MywgMjI0LCAyMTksIAotICAgIDY0LCAyMTYsIDEwNiwgMjE1LCAyMTksIDIxOSwgNjQsIDExNCwgMjUwLCAxMjIsIDIxOSwgNjQsIDIxOSwgMTUsIDExNCwgCi0gICAgMjE5LCAxNSwgMjUyLCAxNjUsIDI1MywgMjI0LCAyNDUsIDIwMSwgMjE3LCAxNiwgMjI0LCAxNzQsIDI1MywgMjI0LCAxMTQsIAotICAgIDI0NSwgMjAxLCAyMTcsIDE2LCAyMjQsIDE3NCwgMjUzLCAyMjQsIDI0OSwgMTM5LCA3OSwgMjIwLCA5MywgNzEsIDI1MCwgCi0gICAgNDMsIDE1MiwgOTIsIDI0OSwgMTM5LCA3OSwgMjMyLCAxMTQsIDQ0LCAyNDYsIDk0LCA3MSwgMjE4LCAyMzYsIDIxNCwgMTYwLCAKLSAgICA0NCwgMjQ2LCA5NCwgNzEsIDIxOCwgMjM2LCAyMzIsIDExNCwgNDQsIDIyMCwgOTMsIDcxLCAyMTgsIDIzNiwgMjE0LCAxNjAsIAotICAgIDQ0LCAyMjAsIDkzLCA3MSwgMjE4LCAyMzYsIDg1LCAyMjQsIDE2LCAxNjQsIDIyNiwgMTUxLCA3MSwgMjI0LCAxNiwgMTY0LCAKLSAgICAyMjYsIDE1MSwgNzEsIDI0NSwgMzksIDE2NCwgMjI2LCAxNTEsIDg1LCAyNDgsIDEsIDIzMCwgMTg3LCA3MSwgMjExLCAxNzgsIAotICAgIDExNCwgMjQ1LCAzOSwgMTY0LCA4NywgMTkzLCA2NywgMTMwLCAyMzEsIDg3LCA2NywgMTMwLCAxMTQsIDY3LCAxMzAsIDExNCwgCi0gICAgMjE5LCAxNTcsIDIxNSwgOTQsIDI0OSwgMjI4LCAyMjQsIDEsIDE2NCwgMjI2LCAxNTEsIDExNCwgMjE5LCAxNTcsIDI0OSwgCi0gICAgMjI4LCAyMjQsIDEsIDE2NCwgMjI2LCAxNTEsIDExNCwgNTIsIDIxNSwgOTQsIDI0OSwgMjI4LCAyMjQsIDEsIDE2NCwgMjI2LCAKLSAgICAxNTEsIDExNCwgNTIsIDI0OSwgMjI4LCAyMjQsIDEsIDE2NCwgMjI2LCAxNTEsIDExNCwgMTIxLCAyMTksIDE1NywgMjQ5LCAKLSAgICAyMjgsIDIyNCwgMSwgMTY0LCAyMjYsIDE1MSwgMTE0LCAxMjEsIDUyLCAyNDksIDIyOCwgMjI0LCAxLCAxNjQsIDIyNiwgCi0gICAgMTUxLCAyNDksIDk5LCAyMTgsIDE0MiwgMjI2LCAxOSwgNSwgMjI2LCAxNTEsIDExNCwgMjQ1LCAzOSwgMTY0LCAyMjYsIAotICAgIDE1MSwgMTE0LCAyNDEsIDIzNSwgMjQ1LCAzOSwgMTY0LCAyMjYsIDE1MSwgMTE0LCA4NSwgMjQxLCAyMzQsIDIyMiwgMTg5LCAKLSAgICAxMTQsIDg1LCAyNDEsIDIzNSwgMjUxLCAxMjEsIDI0NCwgNjMsIDI0MSwgMjM0LCAyMjIsIDE4OSwgMjQ0LCA2MywgMjQxLCAKLSAgICAyMzUsIDI1MSwgMTIxLCAyMzEsIDg3LCA0MywgMjI2LCA4LCAyMjYsIDE1MSwgMjMxLCA4NywgNDQsIDIyNiwgOCwgMjI2LCAKLSAgICAxNTEsIDIzMSwgODcsIDI0NCwgNzEsIDQzLCAyMjYsIDgsIDIyNiwgMTUxLCAyMzEsIDg3LCAyNDQsIDcxLCA0NCwgMjI2LCAKLSAgICA4LCAyMjYsIDE1MSwgMjMxLCA4NywgMjMzLCA0OCwgMjU0LCAxMTgsIDI1MSwgMTY2LCAyMjYsIDE1MSwgMjMxLCA4NywgCi0gICAgMjIyLCAyNTAsIDI1NCwgMTE4LCAyNTEsIDE2NiwgMjI2LCAxNTEsIDExNCwgMjMzLCA0OCwgMjU0LCAxMTgsIDIyNCwgMSwgCi0gICAgMTY0LCAyMjYsIDE1MSwgMTE0LCAyMjIsIDI1MCwgMjU0LCAxMTgsIDIyNCwgMSwgMTY0LCAyMjYsIDE1MSwgMTE0LCAyMzMsIAotICAgIDQ4LCAyNTQsIDExOCwgMjUxLCAxNjYsIDIyNiwgMTUxLCAxMTQsIDIyMiwgMjUwLCAyNTQsIDExOCwgMjUxLCAxNjYsIDIyNiwgCi0gICAgMTUxLCAxOTMsIDQzLCAyMTYsIDcsIDIyMCwgNTUsIDI1MSwgMTY2LCAyMjYsIDE1MSwgMTkzLCA0NCwgMjE2LCA3LCAyMjAsIAotICAgIDU1LCAyNTEsIDE2NiwgMjI2LCAxNTEsIDIzMSwgODcsIDQzLCAyNDksIDEwNywgMjUxLCAxNjYsIDIyNiwgMTUxLCAyMzEsIAotICAgIDg3LCA0NCwgMjQ5LCAxMDcsIDI1MSwgMTY2LCAyMjYsIDE1MSwgMjQ3LCAyMTIsIDE1MiwgMzcsIDIxLCAxMTEsIDI0NywgCi0gICAgMjEyLCAxNTIsIDM3LCAyMSwgMTA1LCAyNDcsIDIxMiwgMTUyLCAzNywgMjEsIDE1OCwgMjQ3LCAyMTIsIDE1MiwgMzcsIDIxLCAKLSAgICAxNjEsIDI0NywgMjEyLCAxNTIsIDM3LCAyMSwgMTkwLCAyNDcsIDIxMiwgMTUyLCAzNywgMjEsIDE5NSwgMjQ3LCAyMTIsIAotICAgIDE1MiwgMzcsIDIxLCAxOTksIDI0NywgMjEyLCAxNTIsIDM3LCAyMSwgMTk2LCAyNDcsIDIxMiwgMTUyLCAzNywgMjEsIDIwMSwgCi0gICAgMjQ3LCAyMTIsIDE1MiwgMzcsIDU0LCAyMTYsIDI0OCwgMjQ3LCAyMTIsIDM3LCAzNSwgMjEsIDExMSwgMjQ3LCAyMTIsIDM3LCAKLSAgICAzNSwgMjEsIDEwNSwgMjQ3LCAyMTIsIDM3LCAzNSwgMjEsIDE1OCwgMjQ3LCAyMTIsIDM3LCAzNSwgMjEsIDE2MSwgMjQ3LCAKLSAgICAyMTIsIDM3LCAzNSwgMjEsIDE5MCwgMjQ3LCAyMTIsIDM3LCAzNSwgMjEsIDE5NSwgMjQ3LCAyMTIsIDM3LCAzNSwgMjEsIAotICAgIDE5OSwgMjQ3LCAyMTIsIDM3LCAzNSwgMjEsIDE5NiwgMjQ3LCAyMTIsIDM3LCAzNSwgMjEsIDIwMSwgMjQ3LCAyMTIsIDM3LCAKLSAgICAzNSwgNTQsIDIxNiwgMjQ4LCAyNDcsIDIxMiwgMTUyLCAzNywgMzUsIDIxLCAxMTEsIDI0NywgMjEyLCAxNTIsIDM3LCAzNSwgCi0gICAgMjEsIDEwNSwgMjQ3LCAyMTIsIDE1MiwgMzcsIDM1LCAyMSwgMTU4LCAyNDcsIDIxMiwgMTUyLCAzNywgMzUsIDIxLCAxNjEsIAotICAgIDI0NywgMjEyLCAxNTIsIDM3LCAzNSwgMjEsIDE5MCwgMjQ3LCAyMTIsIDE1MiwgMzcsIDM1LCAyMSwgMTk1LCAyNDcsIDIxMiwgCi0gICAgMTUyLCAzNywgMzUsIDIxLCAxOTksIDI0NywgMjEyLCAxNTIsIDM3LCAzNSwgMjEsIDE5NiwgMjQ3LCAyMTIsIDE1MiwgMzcsIAotICAgIDM1LCAyMSwgMjAxLCAyNDcsIDIxMiwgMTUyLCAzNywgMzUsIDU0LCAyMTYsIDI0OCwgMTE0LCAyMTEsIDI0NiwgOTcsIDc1LCAKLSAgICAxMTQsIDk2LCA1MCwgMTE0LCAyMzAsIDE4NywgNTAsIDExNCwgMjQ3LCAxNzcsIDUwLCAxMTQsIDIxOSwgMzAsIDI0NSwgCi0gICAgMjI4LCA3NSwgMTE0LCA5NywgNzUsIDExNCwgMjI4LCA2MSwgMjQ1LCAyMjgsIDc1LCAyNDYsIDEwNiwgMjI1LCAxNCwgOTcsIAotICAgIDc1LCAxMTQsIDIyMiwgMTg2LCA5NywgNzUsIDIxNSwgMjI1LCA5NywgNzUsIDExNCwgMjE1LCAyMjUsIDk3LCA3NSwgMjQ4LCAKLSAgICAxNjMsIDIxNSwgMjI1LCA5NywgNzUsIDExNCwgMjQ4LCAxNjMsIDIxNSwgMjI1LCA5NywgNzUsIDg1LCA5NywgNzUsIDIxNiwgCi0gICAgMTQ1LCAyMTYsIDEzLCA5NywgMjU0LCAxLCAyMTYsIDE0NSwgMjUxLCAxODEsIDk3LCAyNTQsIDEsIDg1LCA5NywgMjU0LCAxLCAKLSAgICAxMTQsIDg1LCAyNDksIDk5LCAyNDYsIDExMiwgMjIsIDk3LCA3NSwgMTE0LCA4NSwgMjQ5LCA5OSwgMjE0LCAxNTMsIDIyLCAKLSAgICA5NywgNzUsIDIxOCwgMjMzLCA4NSwgOTcsIDc1LCAxMTQsIDI0OSwgMjE0LCA4NSwgOTcsIDc1LCAyMjIsIDI0OSwgNzEsIAotICAgIDk3LCA3NSwgMjMzLCA0NywgNzEsIDk3LCA3NSwgMjUyLCAxOTEsIDIyMCwgOTMsIDcxLCA5NywgNzUsIDI0MywgMjQ5LCAKLSAgICAyMjAsIDkzLCA3MSwgOTcsIDc1LCAxMTQsIDIzMiwgMTE0LCAyMjIsIDI0OCwgNzEsIDk3LCA3NSwgMTE0LCAyMTQsIDE2MCwgCi0gICAgMjIyLCAyNDgsIDcxLCA5NywgNzUsIDIyOCwgNTQsIDIzMiwgMTE0LCAyMjIsIDI0OCwgNzEsIDk3LCA3NSwgMjQ5LCAxMDcsIAotICAgIDIzMiwgMTI5LCAyMjgsIDU0LCAyMTQsIDE2MCwgMjIyLCAyNDgsIDcxLCA5NywgNzUsIDM3LCAxMTQsIDcxLCA5NywgNzUsIAotICAgIDIxMSwgMjUyLCA5NywgNzUsIDI1MSwgMjI4LCAyMTksIDMwLCAyNDUsIDIyOCwgNzUsIDI1MSwgMjI4LCA5NywgNzUsIDI1MSwgCi0gICAgMjI4LCAyMjgsIDYxLCAyNDUsIDIyOCwgNzUsIDExNCwgMjUxLCAyMjgsIDIxOSwgMzAsIDI0NSwgMjI4LCA3NSwgMTE0LCAKLSAgICAyNTEsIDIyOCwgOTcsIDc1LCAxMTQsIDI1MSwgMjI4LCAyMjgsIDYxLCAyNDUsIDIyOCwgNzUsIDIxNywgMTgsIDk3LCA3NSwgCi0gICAgMTE0LCAyMTcsIDE3LCA5NywgNzUsIDIxMiwgMTgsIDk3LCA3NSwgMTE0LCAyMTIsIDE4LCA5NywgNzUsIDIyNiwgMTc2LCAKLSAgICA5NywgNzUsIDUyLCAyNDksIDEwNywgMjMyLCAxMjksIDEzNCwgMjQ3LCAyMjIsIDI1NCwgMTE3LCA3MSwgMjE1LCAyMjcsIAotICAgIDI0OSwgMTk1LCA0LCA3MSwgMjE1LCAyMjYsIDIyNSwgMTc0LCAyMDQsIDIxOCwgNjQsIDIwNCwgMjE4LCAyMiwgNDMsIDIyMiwgCi0gICAgOTIsIDI1MiwgMTgxLCAyNDgsIDY4LCA0NCwgMjIyLCA5MiwgMjUyLCAxODEsIDI0OCwgNjgsIDE3NywgMiwgNTksIDIzNSwgCi0gICAgMjIyLCAyMjMsIDUzLCAyMTksIDQ5LCAyMjQsIDIwNCwgMjE4LCA2NCwgMjE4LCAyMywgMjI0LCAyMDQsIDIxOSwgNDgsIDY3LCAKLSAgICAyNTIsIDE0OSwgMiwgMjAzLCA5MSwgMTEsIDIyMiwgMjMxLCAyNDgsIDYsIDIwMCwgMjQ3LCAxNzYsIDExLCAyNDQsIDE4MywgCi0gICAgMjQ4LCA2LCA5MiwgMjMyLCAxNTIsIDI1NCwgMTI2LCA5MiwgMjMyLCAxNTIsIDIyNiwgMTYyLCA3MSwgMjQ4LCAxLCAyLCAKLSAgICAyNTAsIDE4MSwgMjQ3LCAxMjgsIDIyLCAyLCAyNDcsIDEyOCwgMjQ1LCAxNzgsIDY0LCAyMjYsIDE3NCwgMjE0LCAxNTIsIAotICAgIDIzMiwgMTE0LCA0NCwgMjQ5LCAxNjksIDIsIDI0NywgMTI4LCAyMTQsIDE2MCwgNDMsIDI0OSwgMTY5LCAyLCAyNDcsIDEyOCwgCi0gICAgNDMsIDIyNiwgMTMyLCAyMzUsIDcyLCA0NCwgMjI2LCAxMzIsIDIzNSwgNzIsIDI0MywgMjM2LCAyMjYsIDEzMiwgMjM1LCAKLSAgICA3MiwgMjMzLCA5MSwgMTIwLCAyMTcsIDg4LCAyMzMsIDkxLCAxMjQsIDIxNywgODgsIDQzLCAyMiwgNDQsIDUyLCAyMTUsIAotICAgIDkzLCA0MywgMjIsIDQ0LCAyMTcsIDg4LCA0MywgMjMwLCA5MiwgMjAwLCA0NCwgMjE3LCA4OCwgMjAwLCA0MywgMjE3LCA4OCwgCi0gICAgMTIwLCAyMTcsIDg5LCAyLCAyNTAsIDQ0LCA0OCwgMjMyLCAxMTEsIDI0NywgMTgxLCAyNTEsIDg2LCAyMDMsIDIyMiwgMTM1LCAKLSAgICA3MSwgMjQ5LCAyMTMsIDI0OCwgMCwgNzEsIDI0OSwgMjEzLCAyNDgsIDEsIDIsIDE0MCwgMjE2LCAxMTUsIDcxLCAyNDksIAotICAgIDIxMywgMjQ4LCAxLCAyLCA5NywgMjE2LCAxMTUsIDcxLCA0MiwgMiwgMTQwLCAyMTYsIDExNSwgNzEsIDQyLCAyLCA5NywgCi0gICAgMjE2LCAxMTUsIDExLCA0MywgNzEsIDQyLCAxMjcsIDExLCA0NCwgNzEsIDQyLCAxMjcsIDExLCA0MywgMjU0LCAxMTgsIAotICAgIDEyNywgMTEsIDQ0LCAyNTQsIDExOCwgMTI3LCAxMSwgNDMsIDUyLCAyNTQsIDExOCwgMTI3LCAxMSwgNDQsIDUyLCAyNTQsIAotICAgIDExOCwgMTI3LCAxMSwgNDMsIDcxLCAyMTYsIDcsIDIyMCwgNTUsIDEyNywgMTEsIDQ0LCA3MSwgMjE2LCA3LCAyMjAsIDU1LCAKLSAgICAxMjcsIDExLCA0MywgMjQ0LCA3MSwgMjI2LCA3LCAxMSwgNDQsIDI0NCwgNzEsIDIyNiwgNywgMjE0LCAxNTMsIDIyNCwgMjcsIAotICAgIDc1LCAyNDYsIDExMiwgMjI0LCAyNywgNzUsIDI1NCwgOTYsIDI0MywgMTA1LCAyNTAsIDQ0LCA3NSwgMjUwLCAxMCwgMjQzLCAKLSAgICAxMDUsIDI1MCwgNDQsIDc1LCA0NCwgODAsIDIsIDM3LCAyMjUsIDI1LCAyMDAsIDE0MCwgNzUsIDIwMCwgOTcsIDc1LCAyMDAsIAotICAgIDQzLCA0NCwgNzUsIDIwMCwgMTQwLCA1MiwgNzUsIDIwMCwgOTcsIDUyLCA3NSwgMjAwLCA0MywgNDQsIDUyLCA3NSwgMjAwLCAKLSAgICAxNDAsIDgwLCAyNDMsIDI1MSwgMTMwLCAyMDAsIDk3LCA4MCwgMjQzLCAyNTEsIDEzMCwgMjAwLCAxNDAsIDUyLCA4MCwgCi0gICAgMjQzLCAyNTEsIDEzMCwgMjAwLCA5NywgNTIsIDgwLCAyNDMsIDI1MSwgMTMwLCAyMDAsIDk3LCAyMTgsIDIzMiwgNzUsIDQ2LCAKLSAgICA0NywgMjUxLCAyMjMsIDQ2LCA0NywgMjQ3LCAxMjUsIDQ2LCA0NywgMjQ2LCAyNTMsIDQ2LCA0NywgMjQ3LCAxMjQsIDQ2LCAKLSAgICA0NywgMjQ2LCAxODksIDQ2LCA0NywgMjQ3LCA2MCwgNDYsIDQ3LCAyNDYsIDI1MiwgNDYsIDQ3LCAyNDcsIDEyMywgNDYsIAotICAgIDQ3LCAyNDYsIDE1NywgNDYsIDQ3LCAyNDcsIDI4LCA0NiwgNDcsIDI0NiwgMjIwLCA0NiwgNDcsIDI0NywgOTEsIDQ2LCA0NywgCi0gICAgMjQ2LCAxODgsIDQ2LCA0NywgMjQ3LCA1OSwgNDYsIDQ3LCAyNDYsIDI1MSwgNDYsIDQ3LCAyNDcsIDEyMiwgNDYsIDQ3LCAKLSAgICAyNDYsIDE0MSwgNDYsIDQ3LCAyNDcsIDEyLCA0NiwgNDcsIDI0NiwgMjA0LCA0NiwgNDcsIDI0NywgNzUsIDQ2LCA0NywgCi0gICAgMjQ2LCAxNzIsIDQ2LCA0NywgMjQ3LCA0MywgNDYsIDQ3LCAyNDYsIDIzNSwgNDYsIDQ3LCAyNDcsIDEwNiwgNDYsIDQ3LCAKLSAgICAyNDYsIDE1NiwgNDYsIDQ3LCAyNDcsIDI3LCA0NiwgNDcsIDI0NiwgMjE5LCA0NiwgNDcsIDI0NywgOTAsIDQ2LCA0NywgCi0gICAgMjQ2LCAxODcsIDQ2LCA0NywgMjQ3LCA1OCwgNDYsIDQ3LCAyNDYsIDI1MCwgNDYsIDQ3LCAyNDcsIDEyMSwgNDYsIDQ3LCAKLSAgICAyNDYsIDEzMywgNDYsIDQ3LCAyNDcsIDQsIDQ2LCA0NywgMjQ2LCAxOTYsIDQ2LCA0NywgMjQ3LCA2NywgNDYsIDQ3LCAyNDYsIAotICAgIDE2NCwgNDYsIDQ3LCAyNDcsIDM1LCA0NiwgNDcsIDI0NiwgMjI3LCA0NiwgNDcsIDI0NywgOTgsIDQ2LCA0NywgMjQ2LCAKLSAgICAxNDgsIDQ2LCA0NywgMjQ3LCAxOSwgNDYsIDQ3LCAyNDYsIDIxMSwgNDYsIDQ3LCAyNDcsIDgyLCA0NiwgNDcsIDI0NiwgCi0gICAgMTc5LCA0NiwgNDcsIDI0NywgNTAsIDQ2LCA0NywgMjQ2LCAyNDIsIDQ2LCA0NywgMjQ3LCAxMTMsIDQ2LCA0NywgMjQ2LCAKLSAgICAxNDAsIDQ2LCA0NywgMjQ3LCAxMSwgNDYsIDQ3LCAyNDYsIDIwMywgNDYsIDQ3LCAyNDcsIDc0LCA0NiwgNDcsIDI0NiwgCi0gICAgMTcxLCA0NiwgNDcsIDI0NywgNDIsIDQ2LCA0NywgMjQ2LCAyMzQsIDQ2LCA0NywgMjQ3LCAxMDUsIDQ2LCA0NywgMjQ2LCAKLSAgICAxNTUsIDQ2LCA0NywgMjQ3LCAyNiwgNDYsIDQ3LCAyNDYsIDIxOCwgNDYsIDQ3LCAyNDcsIDg5LCA0NiwgNDcsIDI0NiwgCi0gICAgMTg2LCA0NiwgNDcsIDI0NywgNTcsIDQ2LCA0NywgMjQ2LCAyNDksIDQ2LCA0NywgMjQ3LCAxMjAsIDQ2LCA0NywgMjQ2LCAKLSAgICAxMjksIDQ2LCA0NywgMjQ3LCAwLCA0NiwgNDcsIDI0NiwgMTkyLCA0NiwgNDcsIDI0NywgNjMsIDQ2LCA0NywgMjQ2LCAxNjAsIAotICAgIDQ2LCA0NywgMjQ3LCAzMSwgNDYsIDQ3LCAyNDYsIDIyMywgNDYsIDQ3LCAyNDcsIDk0LCA0NiwgNDcsIDI0NiwgMTQ0LCA0NiwgCi0gICAgNDcsIDI0NywgMTUsIDQ2LCA0NywgMjQ2LCAyMDcsIDQ2LCA0NywgMjQ3LCA3OCwgNDYsIDQ3LCAyNDYsIDE3NSwgNDYsIDQ3LCAKLSAgICAyNDcsIDQ2LCA0NiwgNDcsIDI0NiwgMjM4LCA0NiwgNDcsIDI0NywgMTA5LCA0NiwgNDcsIDI0NiwgMTM2LCA0NiwgNDcsIAotICAgIDI0NywgNywgNDYsIDQ3LCAyNDYsIDE5OSwgNDYsIDQ3LCAyNDcsIDcwLCA0NiwgNDcsIDI0NiwgMTY3LCA0NiwgNDcsIDI0NywgCi0gICAgMzgsIDQ2LCA0NywgMjQ2LCAyMzAsIDQ2LCA0NywgMjQ3LCAxMDEsIDQ2LCA0NywgMjQ2LCAxNTEsIDQ2LCA0NywgMjQ3LCAKLSAgICAyMiwgNDYsIDQ3LCAyNDYsIDIxNCwgNDYsIDQ3LCAyNDcsIDg1LCA0NiwgNDcsIDI0NiwgMTgyLCA0NiwgNDcsIDI0NywgNTMsIAotICAgIDQ2LCA0NywgMjQ2LCAyNDUsIDQ2LCA0NywgMjQ3LCAxMTYsIDQ2LCA0NywgMjQ2LCAxMzIsIDQ2LCA0NywgMjQ3LCAzLCA0NiwgCi0gICAgNDcsIDI0NiwgMTk1LCA0NiwgNDcsIDI0NywgNjYsIDQ2LCA0NywgMjQ2LCAxNjMsIDQ2LCA0NywgMjQ3LCAzNCwgNDYsIDQ3LCAKLSAgICAyNDYsIDIyNiwgNDYsIDQ3LCAyNDcsIDk3LCA0NiwgNDcsIDI0NiwgMTQ3LCA0NiwgNDcsIDI0NywgMTgsIDQ2LCA0NywgCi0gICAgMjQ2LCAyMTAsIDQ2LCA0NywgMjQ3LCA4MSwgNDYsIDQ3LCAyNDYsIDE3OCwgNDYsIDQ3LCAyNDcsIDQ5LCA0NiwgNDcsIAotICAgIDI0NiwgMjQxLCA0NiwgNDcsIDI0NywgMTEyLCA0NiwgNDcsIDI0NiwgMTM5LCA0NiwgNDcsIDI0NywgMTAsIDQ2LCA0NywgCi0gICAgMjQ2LCAyMDIsIDQ2LCA0NywgMjQ3LCA3MywgNDYsIDQ3LCAyNDYsIDE3MCwgNDYsIDQ3LCAyNDcsIDQxLCA0NiwgNDcsIAotICAgIDI0NiwgMjMzLCA0NiwgNDcsIDI0NywgMTA0LCA0NiwgNDcsIDI0NiwgMTU0LCA0NiwgNDcsIDI0NywgMjUsIDQ2LCA0NywgCi0gICAgMjQ2LCAyMTcsIDQ2LCA0NywgMjQ3LCA4OCwgNDYsIDQ3LCAyNDYsIDE4NSwgNDYsIDQ3LCAyNDcsIDU2LCA0NiwgNDcsIAotICAgIDI0NiwgMjQ4LCA0NiwgNDcsIDI0NywgMTE5LCA0NiwgNDcsIDI0NiwgMTI3LCA0NiwgNDcsIDI0NiwgMjU0LCA0NiwgNDcsIAotICAgIDI0NiwgMTkwLCA0NiwgNDcsIDI0NywgNjEsIDQ2LCA0NywgMjQ2LCAxNTgsIDQ2LCA0NywgMjQ3LCAyOSwgNDYsIDQ3LCAKLSAgICAyNDYsIDIyMSwgNDYsIDQ3LCAyNDcsIDkyLCA0NiwgNDcsIDI0NiwgMTQyLCA0NiwgNDcsIDI0NywgMTMsIDQ2LCA0NywgCi0gICAgMjQ2LCAyMDUsIDQ2LCA0NywgMjQ3LCA3NiwgNDYsIDQ3LCAyNDYsIDE3MywgNDYsIDQ3LCAyNDcsIDQ0LCA0NiwgNDcsIAotICAgIDI0NiwgMjM2LCA0NiwgNDcsIDI0NywgMTA3LCA0NiwgNDcsIDI0NiwgMTM0LCA0NiwgNDcsIDI0NywgNSwgNDYsIDQ3LCAKLSAgICAyNDYsIDE5NywgNDYsIDQ3LCAyNDcsIDY4LCA0NiwgNDcsIDI0NiwgMTY1LCA0NiwgNDcsIDI0NywgMzYsIDQ2LCA0NywgCi0gICAgMjQ2LCAyMjgsIDQ2LCA0NywgMjQ3LCA5OSwgNDYsIDQ3LCAyNDYsIDE0OSwgNDYsIDQ3LCAyNDcsIDIwLCA0NiwgNDcsIAotICAgIDI0NiwgMjEyLCA0NiwgNDcsIDI0NywgODMsIDQ2LCA0NywgMjQ2LCAxODAsIDQ2LCA0NywgMjQ3LCA1MSwgNDYsIDQ3LCAKLSAgICAyNDYsIDI0MywgNDYsIDQ3LCAyNDcsIDExNCwgNDYsIDQ3LCAyNDYsIDEzMCwgNDYsIDQ3LCAyNDcsIDEsIDQ2LCA0NywgCi0gICAgMjQ2LCAxOTMsIDQ2LCA0NywgMjQ3LCA2NCwgNDYsIDQ3LCAyNDYsIDE2MSwgNDYsIDQ3LCAyNDcsIDMyLCA0NiwgNDcsIAotICAgIDI0NiwgMjI0LCA0NiwgNDcsIDI0NywgOTUsIDQ2LCA0NywgMjQ2LCAxNDUsIDQ2LCA0NywgMjQ3LCAxNiwgNDYsIDQ3LCAKLSAgICAyNDYsIDIwOCwgNDYsIDQ3LCAyNDcsIDc5LCA0NiwgNDcsIDI0NiwgMTc2LCA0NiwgNDcsIDI0NywgNDcsIDQ2LCA0NywgCi0gICAgMjQ2LCAyMzksIDQ2LCA0NywgMjQ3LCAxMTAsIDQ2LCA0NywgMjQ2LCAxMzcsIDQ2LCA0NywgMjQ3LCA4LCA0NiwgNDcsIAotICAgIDI0NiwgMjAwLCA0NiwgNDcsIDI0NywgNzEsIDQ2LCA0NywgMjQ2LCAxNjgsIDQ2LCA0NywgMjQ3LCAzOSwgNDYsIDQ3LCAKLSAgICAyNDYsIDIzMSwgNDYsIDQ3LCAyNDcsIDEwMiwgNDYsIDQ3LCAyNDYsIDE1MiwgNDYsIDQ3LCAyNDcsIDIzLCA0NiwgNDcsIAotICAgIDI0NiwgMjE1LCA0NiwgNDcsIDI0NywgODYsIDQ2LCA0NywgMjQ2LCAxODMsIDQ2LCA0NywgMjQ3LCA1NCwgNDYsIDQ3LCAKLSAgICAyNDYsIDI0NiwgNDYsIDQ3LCAyNDcsIDExNywgNDYsIDQ3LCAyNDYsIDEyOCwgNDYsIDQ3LCAyNDYsIDI1NSwgNDYsIDQ3LCAKLSAgICAyNDYsIDE5MSwgNDYsIDQ3LCAyNDcsIDYyLCA0NiwgNDcsIDI0NiwgMTU5LCA0NiwgNDcsIDI0NywgMzAsIDQ2LCA0NywgCi0gICAgMjQ2LCAyMjIsIDQ2LCA0NywgMjQ3LCA5MywgNDYsIDQ3LCAyNDYsIDE0MywgNDYsIDQ3LCAyNDcsIDE0LCA0NiwgNDcsIAotICAgIDI0NiwgMjA2LCA0NiwgNDcsIDI0NywgNzcsIDQ2LCA0NywgMjQ2LCAxNzQsIDQ2LCA0NywgMjQ3LCA0NSwgNDYsIDQ3LCAKLSAgICAyNDYsIDIzNywgNDYsIDQ3LCAyNDcsIDEwOCwgNDYsIDQ3LCAyNDYsIDEzNSwgNDYsIDQ3LCAyNDcsIDYsIDQ2LCA0NywgCi0gICAgMjQ2LCAxOTgsIDQ2LCA0NywgMjQ3LCA2OSwgNDYsIDQ3LCAyNDYsIDE2NiwgNDYsIDQ3LCAyNDcsIDM3LCA0NiwgNDcsIAotICAgIDI0NiwgMjI5LCA0NiwgNDcsIDI0NywgMTAwLCA0NiwgNDcsIDI0NiwgMTUwLCA0NiwgNDcsIDI0NywgMjEsIDQ2LCA0NywgCi0gICAgMjQ2LCAyMTMsIDQ2LCA0NywgMjQ3LCA4NCwgNDYsIDQ3LCAyNDYsIDE4MSwgNDYsIDQ3LCAyNDcsIDUyLCA0NiwgNDcsIAotICAgIDI0NiwgMjQ0LCA0NiwgNDcsIDI0NywgMTE1LCA0NiwgNDcsIDI0NiwgMTMxLCA0NiwgNDcsIDI0NywgMiwgNDYsIDQ3LCAKLSAgICAyNDYsIDE5NCwgNDYsIDQ3LCAyNDcsIDY1LCA0NiwgNDcsIDI0NiwgMTYyLCA0NiwgNDcsIDI0NywgMzMsIDQ2LCA0NywgCi0gICAgMjQ2LCAyMjUsIDQ2LCA0NywgMjQ3LCA5NiwgNDYsIDQ3LCAyNDYsIDE0NiwgNDYsIDQ3LCAyNDcsIDE3LCA0NiwgNDcsIAotICAgIDI0NiwgMjA5LCA0NiwgNDcsIDI0NywgODAsIDQ2LCA0NywgMjQ2LCAxNzcsIDQ2LCA0NywgMjQ3LCA0OCwgNDYsIDQ3LCAKLSAgICAyNDYsIDI0MCwgNDYsIDQ3LCAyNDcsIDExMSwgNDYsIDQ3LCAyNDYsIDEzOCwgNDYsIDQ3LCAyNDcsIDksIDQ2LCA0NywgCi0gICAgMjQ2LCAyMDEsIDQ2LCA0NywgMjQ3LCA3MiwgNDYsIDQ3LCAyNDYsIDE2OSwgNDYsIDQ3LCAyNDcsIDQwLCA0NiwgNDcsIAotICAgIDI0NiwgMjMyLCA0NiwgNDcsIDI0NywgMTAzLCA0NiwgNDcsIDI0NiwgMTUzLCA0NiwgNDcsIDI0NywgMjQsIDQ2LCA0NywgCi0gICAgMjQ2LCAyMTYsIDQ2LCA0NywgMjQ3LCA4NywgNDYsIDQ3LCAyNDYsIDE4NCwgNDYsIDQ3LCAyNDcsIDU1LCA0NiwgNDcsIAotICAgIDI0NiwgMjQ3LCA0NiwgNDcsIDI0NywgMTE4LCA5NywgMjE1LCA1OCwgODAsIDIsIDY3LCA5MSwgOTcsIDIxNSwgNTgsIDgwLCAKLSAgICAyLCA1MiwgNjcsIDkxLCAxNDAsIDUyLCA4MCwgMiwgNjcsIDkxLCA5NywgNTIsIDgwLCAyLCA2NywgOTEsIDQzLCA0NCwgNTIsIAotICAgIDgwLCAyLCA2NywgOTEsIDk3LCAyMTUsIDU4LCA4MCwgMjQzLCAyNTEsIDEzMCwgMTQwLCA1MiwgODAsIDI0MywgMjUxLCAKLSAgICAxMzAsIDk3LCA1MiwgODAsIDI0MywgMjUxLCAxMzAsIDI0NiwgMTEyLCA4MCwgMiwgMjAzLCA5MSwgMjE0LCAxNTMsIDgwLCAKLSAgICAyLCAyMDMsIDkxLCAyMTQsIDE1MywgMjE1LCAyMTIsIDc1LCAyNDYsIDExMiwgMjE1LCAyMTIsIDc1LCAxNDAsIDUyLCAyNDgsIAotICAgIDE2NSwgNzUsIDk3LCA1MiwgMjQ4LCAxNjUsIDc1LCAxNDAsIDIxNSwgMjEyLCAyNDgsIDE2NSwgNzUsIDk3LCAyMTUsIDIxMiwgCi0gICAgMjQ4LCAxNjUsIDc1LCA5NywgMjE1LCA1OCwgMjE1LCAyMTIsIDI0OCwgMTY1LCA3NSwgOTcsIDgwLCAyLCAyNDYsIDEyNiwgCi0gICAgMjE4LCAxNDEsIDIxNCwgMTUzLCA4MCwgMjE2LCA0MywgMTMwLCAyNDYsIDExMiwgODAsIDIxNiwgNDMsIDEzMCwgOTcsIDgwLCAKLSAgICAyLCAyMTcsIDc5LCAyLCA2NywgOTEsIDk3LCA4MCwgMiwgMjE3LCA3OSwgMiwgNTIsIDY3LCA5MSwgOTcsIDIxNSwgNTgsIAotICAgIDgwLCAyLCAyMTcsIDc4LCA5NywgMjE1LCA1OCwgODAsIDIsIDIxNywgNzksIDIsIDY3LCA5MSwgOTcsIDIxNSwgNTgsIDgwLCAKLSAgICAyLCAyMTcsIDc5LCAyLCA1MiwgNjcsIDkxLCAxNDAsIDI1NCwgMywgOTcsIDI1NCwgMywgMTQwLCA1MiwgMjU0LCAzLCA5NywgCi0gICAgNTIsIDI1NCwgMywgMTQwLCA4MCwgMjE2LCA0MywgODUsIDI0OCwgMCwgOTcsIDgwLCAyMTYsIDQzLCA4NSwgMjQ4LCAwLCAKLSAgICAxNDAsIDgwLCAyNDMsIDI1MSwgMjUyLCAxNDksIDIxNiwgNDMsIDg1LCAyNDgsIDAsIDk3LCA4MCwgMjQzLCAyNTEsIDI1MiwgCi0gICAgMTQ5LCAyMTYsIDQzLCA4NSwgMjQ4LCAwLCAyMjgsIDYxLCAyMTIsIDksIDIyLCAyMTksIDMwLCAyNDUsIDIyOCwgNzUsIAotICAgIDIyOCwgNjEsIDI0NSwgMjI4LCAyMiwgMjE5LCAzMCwgMjEyLCA5LCA3NSwgMjI4LCA2MSwgMjEyLCA5LCA4MCwgMiwgMTAzLCAKLSAgICAyMjgsIDYxLCAyNDUsIDIyOCwgODAsIDIsIDEwMywgMjE5LCAzMCwgMjQ1LCAyMjgsIDgwLCAyLCAxMDMsIDIxOSwgMzAsIAotICAgIDIxMiwgOSwgODAsIDIsIDEwMywgMjI4LCA2MSwgMjEyLCA5LCA4MCwgMjIsIDIyOCwgNjEsIDI0NSwgMjI4LCA3NSwgMjI4LCAKLSAgICA2MSwgMjQ1LCAyMjgsIDgwLCAyMiwgMjE5LCAzMCwgMjQ1LCAyMjgsIDc1LCAyMTksIDMwLCAyNDUsIDIyOCwgODAsIDIyLCAKLSAgICAyMTksIDMwLCAyMTIsIDksIDc1LCAyMTksIDMwLCAyMTIsIDksIDgwLCAyMiwgMjI4LCA2MSwgMjEyLCA5LCA3NSwgMjIyLCAKLSAgICAyMzEsIDI0OCwgNywgMjQ5LCAxMzMsIDI0NCwgMTgzLCAyNDgsIDYsIDI0NCwgMTgzLCAyNDgsIDcsIDI0OSwgMTMzLCAyMjIsIAotICAgIDIzMSwgMjQ4LCA2LCAyMTksIDMwLCAyNDUsIDIyOCwgODAsIDI0OSwgMTMzLCAyMjgsIDYxLCAyNDUsIDIyOCwgNzUsIDIyOCwgCi0gICAgNjEsIDI0NSwgMjI4LCA4MCwgMjQ5LCAxMzMsIDIxOSwgMzAsIDI0NSwgMjI4LCA3NSwgMjQ0LCAxODMsIDI0OCwgNywgMjQ5LCAKLSAgICAxMzMsIDIyOCwgNjEsIDI0NSwgMjI4LCA3NSwgMjIyLCAyMzEsIDI0OCwgNywgMjQ5LCAxMzMsIDIxOSwgMzAsIDI0NSwgCi0gICAgMjI4LCA3NSwgMjI4LCA2MSwgMjQ1LCAyMjgsIDgwLCAyNDksIDEzMywgMjI4LCA2MSwgMjEyLCA5LCA3NSwgMjI4LCA2MSwgCi0gICAgMjEyLCA5LCA4MCwgMjQ5LCAxMzMsIDIyOCwgNjEsIDI0NSwgMjI4LCA3NSwgMjEyLCAzNiwgODAsIDIyNSwgMTAsIDI0NywgCi0gICAgMjAzLCAyMjIsIDI1NCwgODAsIDIyNSwgMTAsIDk3LCAyMTYsIDE4OSwgMjQ5LCA5OCwgMjE0LCAxNTIsIDgwLCAyMjUsIDEwLCAKLSAgICA5NywgMjE2LCAxODksIDI0OSwgOTgsIDI0NiwgMTExLCA4MCwgMjI1LCAxMCwgMjQ2LCAxMTIsIDIxNiwgMTg5LCAyNDksIAotICAgIDk4LCAyMzMsIDQzLCA4MCwgMjI1LCAxMCwgMjQ2LCAxMTIsIDIxNiwgMTg5LCAyNDksIDk4LCAyMjIsIDI0NCwgMjIyLCAKLSAgICAyNDcsIDI1NCwgMzQsIDI1MCwgMTAsIDc1LCAyMzMsIDQ2LCAyNTQsIDM0LCAyNTQsIDk2LCA3NSwgMjE2LCAxNSwgMjU0LCAKLSAgICAzNCwgMjU0LCA5NiwgNzUsIDI1MSwgMTgzLCAyNTQsIDM0LCAyNTQsIDk2LCA3NSwgMjE2LCAxNSwgMjU0LCAzNCwgMjUwLCAKLSAgICAxMCwgODAsIDIsIDIzMCwgMTg2LCAyMTYsIDE1LCAyNTQsIDM0LCAyNTQsIDk2LCA4MCwgMiwgMjI1LCAyNSwgMjMyLCAxMTQsIAotICAgIDQ0LCAyMjAsIDE1NCwgMjUwLCAxMCwgNzUsIDIzMiwgMTE0LCA0MywgMjIwLCAxNTQsIDI1NCwgOTYsIDc1LCAyNTQsIDk2LCAKLSAgICAyNTAsIDgsIDI1MCwgNDQsIDc1LCAyNTAsIDEwLCAyNTAsIDgsIDI1MCwgNDQsIDc1LCA5NywgODAsIDcyLCAyMTksIDI1MywgCi0gICAgMTQwLCA3NSwgMTQwLCA4MCwgNzIsIDIxOSwgMjUzLCA5NywgNzUsIDIxOSwgMjUzLCA5NywgODAsIDcyLCAxNDAsIDc1LCAKLSAgICA5NywgODAsIDIsIDk2LCA1MSwgMTQwLCA4MCwgMiwgOTYsIDUxLCA5NywgODAsIDIxNiwgMTQwLCAyMTEsIDE3OCwgNDMsIAotICAgIDQ0LCA4MCwgMjE2LCAxNDAsIDQsIDI1MCwgNDMsIDIxNCwgMTUzLCAyMTUsIDU4LCA4MCwgMjQzLCAyNTEsIDQsIDI1MCwgCi0gICAgNDMsIDQzLCAyNTIsIDE0NywgMTIwLCA0NCwgMjUyLCAxNDcsIDEyNCwgMjQyLCA1LCA0MywgMjUyLCAxNDcsIDEyNCwgNDQsIAotICAgIDI1MiwgMTQ3LCAxMjAsIDI0MiwgNSwgMTIwLCAyNTIsIDE0NywgNDQsIDEyNCwgMjUyLCAxNDcsIDQzLCAyNDIsIDUsIDEyMCwgCi0gICAgMjUyLCAxNDcsIDQzLCAxMjQsIDI1MiwgMTQ3LCA0NCwgMjQyLCA1LCA0MywgMjUyLCAxNDcsIDEyMCwgNDQsIDI1MiwgMTQ3LCAKLSAgICAxMjAsIDI0MiwgNSwgMTIwLCAyNTIsIDE0NywgNDQsIDEyNCwgMjUyLCAxNDcsIDQ0LCAyNDIsIDUsIDQzLCAyNTIsIDE0NywgCi0gICAgMTI0LCA0NCwgMjUyLCAxNDcsIDEyNCwgMjQyLCA1LCAxMjAsIDI1MiwgMTQ3LCA0MywgMTI0LCAyNTIsIDE0NywgNDMsIAotICAgIDI0MiwgNSwgMTQwLCAyNDIsIDYsIDIsIDI1MiwgMTQ3LCAxMjAsIDIxNiwgNDMsIDEzMCwgOTcsIDI0MiwgNiwgMiwgMjUyLCAKLSAgICAxNDcsIDEyMCwgMjE2LCA0MywgMTMwLCAyMTQsIDE1MywgMjQyLCA2LCAyLCAyNTIsIDE0NywgNDQsIDIxNiwgNDMsIDEzMCwgCi0gICAgMjQ2LCAxMTIsIDI0MiwgNiwgMiwgMjUyLCAxNDcsIDQ0LCAyMTYsIDQzLCAxMzAsIDE0MCwgMjQyLCA2LCAyLCAyNTIsIAotICAgIDE0NywgMTI0LCAyMTYsIDQzLCAxMzAsIDk3LCAyNDIsIDYsIDIsIDI1MiwgMTQ3LCAxMjQsIDIxNiwgNDMsIDEzMCwgMjE0LCAKLSAgICAxNTMsIDI0MiwgNiwgMiwgMjUyLCAxNDcsIDQzLCAyMTYsIDQzLCAxMzAsIDI0NiwgMTEyLCAyNDIsIDYsIDIsIDI1MiwgCi0gICAgMTQ3LCA0MywgMjE2LCA0MywgMTMwLCAxNDAsIDI0MiwgNiwgMiwgMjUyLCAxNDcsIDEyMCwgMjQzLCAyNTEsIDEzMCwgOTcsIAotICAgIDI0MiwgNiwgMiwgMjUyLCAxNDcsIDEyMCwgMjQzLCAyNTEsIDEzMCwgMjE0LCAxNTMsIDI0MiwgNiwgMiwgMjUyLCAxNDcsIAotICAgIDQ0LCAyNDMsIDI1MSwgMTMwLCAyNDYsIDExMiwgMjQyLCA2LCAyLCAyNTIsIDE0NywgNDQsIDI0MywgMjUxLCAxMzAsIDE0MCwgCi0gICAgMjQyLCA2LCAyLCAyNTIsIDE0NywgMTI0LCAyNDMsIDI1MSwgMTMwLCA5NywgMjQyLCA2LCAyLCAyNTIsIDE0NywgMTI0LCAKLSAgICAyNDMsIDI1MSwgMTMwLCAyMTQsIDE1MywgMjQyLCA2LCAyLCAyNTIsIDE0NywgNDMsIDI0MywgMjUxLCAxMzAsIDI0NiwgCi0gICAgMTEyLCAyNDIsIDYsIDIsIDI1MiwgMTQ3LCA0MywgMjQzLCAyNTEsIDEzMCwgMTQwLCAyNDIsIDYsIDIsIDI1MiwgMTQ3LCAKLSAgICAxMjAsIDcyLCAxNDAsIDI0MiwgNiwgMiwgMjUyLCAxNDcsIDI0NiwgMTE0LCAyMTQsIDE1MywgMjQyLCA2LCAyLCAyNTIsIAotICAgIDE0NywgNDMsIDI1MiwgMzgsIDIxNCwgMTUzLCAyNDIsIDYsIDIsIDI1MiwgMTQ3LCAyMjIsIDI1NCwgOTcsIDI0MiwgNiwgMiwgCi0gICAgMjUyLCAxNDcsIDEyMCwgNzIsIDk3LCAyNDIsIDYsIDIsIDI1MiwgMTQ3LCAyNDYsIDExNCwgMjQ2LCAxMTIsIDI0MiwgNiwgCi0gICAgMiwgMjUyLCAxNDcsIDQzLCAyNTIsIDM4LCAyNDYsIDExMiwgMjQyLCA2LCAyLCAyNTIsIDE0NywgMjIyLCAyNTQsIDE0MCwgCi0gICAgMjQyLCA2LCAyLCAyNTIsIDE0NywgMTIwLCA3MiwgOTcsIDI0MiwgNiwgMiwgMjUyLCAxNDcsIDIxNCwgMTYzLCAxNDAsIAotICAgIDI0MiwgNiwgMiwgMjUyLCAxNDcsIDEyNCwgNzIsIDk3LCAyNDIsIDYsIDIsIDI1MiwgMTQ3LCAyNDYsIDExNCwgOTcsIDI0MiwgCi0gICAgNiwgMiwgMjUyLCAxNDcsIDEyMCwgNzIsIDE0MCwgMjQyLCA2LCAyLCAyNTIsIDE0NywgMjE0LCAxNjMsIDk3LCAyNDIsIDYsIAotICAgIDIsIDI1MiwgMTQ3LCAxMjQsIDcyLCAxNDAsIDI0MiwgNiwgMiwgMjUyLCAxNDcsIDI0NiwgMTE0LCAxNDAsIDI0MiwgNiwgMiwgCi0gICAgMjUyLCAxNDcsIDEyMCwgNzIsIDIwMCwgMjQ4LCAxNjQsIDE0MCwgMjQyLCA2LCAyLCAyNTIsIDE0NywgMTI0LCAyNTIsIDUxLCAKLSAgICAyMDAsIDI0OCwgMTY0LCA5NywgMjQyLCA2LCAyLCAyNTIsIDE0NywgMTIwLCA3MiwgMjAwLCAyNDgsIDE2NCwgOTcsIDI0MiwgCi0gICAgNiwgMiwgMjUyLCAxNDcsIDEyNCwgMjUyLCA1MSwgMjAwLCAyNDgsIDE2NCwgMjE0LCAxNTMsIDI0MiwgNiwgMiwgMjUyLCAKLSAgICAxNDcsIDQzLCAyNTIsIDM4LCAyNDYsIDExMiwgMjQyLCA2LCAyLCAyNTIsIDE0NywgMjIyLCAyNTQsIDI0NiwgMTEyLCAyNDIsIAotICAgIDYsIDIsIDI1MiwgMTQ3LCA0MywgMjUyLCAzOCwgMjE0LCAxNTMsIDI0MiwgNiwgMiwgMjUyLCAxNDcsIDIyMiwgMjU0LCA0NCwgCi0gICAgNTIsIDgwLCAyLCAyMjIsIDE4NSwgMjQxLCAyNDIsIDI0NSwgMTA2LCA1LCA3MiwgOTcsIDc1LCAyMTYsIDkwLCAyMjYsIAotICAgIDE3MiwgNzIsIDk3LCA3NSwgMTQwLCA4MCwgNzIsIDIxNiwgOTAsIDIyNiwgMTcxLCA5NywgODAsIDcyLCAyMTYsIDkwLCAKLSAgICAyMjYsIDE3MSwgOTcsIDgwLCA3MiwgMjU0LCAxNTYsIDEyOCwgMTEyLCAyMzMsIDIxLCA3MiwgMTQwLCA3NSwgMTQwLCA4MCwgCi0gICAgMjE2LCAxNDAsIDIzMywgMjAsIDI0MiwgMTM3LCA3MiwgOTcsIDc1LCAyMTgsIDY1LCA3MiwgOTcsIDc1LCAxNDAsIDgwLCAKLSAgICAyMTYsIDE0MCwgMjE4LCA2NCwgMjE4LCAyMywgNzIsIDE0MCwgNzUsIDQzLCAyNDQsIDk5LCAyMTcsIDc4LCA0NCwgMjQ0LCAKLSAgICA5OSwgMjE3LCA3OCwgMTIwLCAyNDQsIDk5LCAyMTcsIDc4LCAxMjQsIDI0NCwgOTksIDIxNywgNzgsIDIxNSwgMjEyLCA2NywgCi0gICAgMjUyLCAxNDksIDI0OCwgNjgsIDIxMCwgMTYwLCAxODksIDIxOCwgMjQ0LCAyMTAsIDE2MCwgMTg5LCAyMTUsIDQ5LCAyNDksIAotICAgIDIzNCwgNDMsIDcxLCAyNDksIDEwNywgMTI3LCA0NCwgNzEsIDI0OSwgMTA3LCAxMjcsIDQzLCA3MSwgMjI2LCA3LCA0NCwgCi0gICAgNzEsIDIyNiwgNywgMjEwLCAxNjAsIDE4OSwgNDMsIDIzNiwgMjIsIDEyNywgMjEwLCAxNjAsIDE4OSwgNDQsIDIzNiwgMjIsIAotICAgIDEyNywgMjEwLCAxNjAsIDE4OSwgNDMsIDI1MSwgMjUwLCAxMjcsIDIxMCwgMTYwLCAxODksIDQ0LCAyNTEsIDI1MCwgMTI3LCAKLSAgICA0MywgNDIsIDI1MSwgMTY2LCAyLCAyMTQsIDE4MywgNDQsIDQyLCAyNTEsIDE2NiwgMiwgMjE0LCAxODMsIDQzLCA0MiwgCi0gICAgMjUxLCAxNjYsIDIsIDIxNiwgMTE2LCAyMzYsIDcsIDIxNiwgMTUsIDI0OSwgMTY4LCA0NCwgNDIsIDI1MSwgMTY2LCAyLCAKLSAgICAyMTYsIDExNiwgMjM2LCA3LCAyNTEsIDE4MywgMjQ5LCAxNjgsIDQzLCA0MiwgMjUxLCAxNjYsIDIsIDIxNiwgMTE2LCAyMzYsIAotICAgIDcsIDI1MSwgMTgzLCAyNDksIDE2OCwgNDQsIDQyLCAyNTEsIDE2NiwgMiwgMjE2LCAxMTYsIDIzNiwgNywgMjE2LCAxNSwgCi0gICAgMjQ5LCAxNjgsIDQzLCAyNTQsIDExOCwgMjUxLCAxNjYsIDIsIDI0NywgMTI4LCA0NCwgMjU0LCAxMTgsIDI1MSwgMTY2LCAyLCAKLSAgICAyNDcsIDEyOCwgNDMsIDI1NCwgMzQsIDIzMywgMjEsIDEyNywgNDQsIDI1NCwgMzQsIDI0MiwgMTM3LCAxMjcsIDUyLCA0MywgCi0gICAgMjU0LCAzNCwgMjQyLCAxMzcsIDEyNywgNTIsIDQ0LCAyNTQsIDM0LCAyMzMsIDIxLCAxMjcsIDQzLCA4NSwgMjE2LCA3LCAKLSAgICAyMjAsIDU1LCAxMjcsIDQ0LCA4NSwgMjE2LCA3LCAyMjAsIDU1LCAxMjcsIDI0NiwgMTI2LCAyNDQsIDE0MywgNjcsIDIxMCwgCi0gICAgMzUsIDIzMiwgMjE5LCAyMzEsIDkzLCAyNTQsIDExOCwgMjI2LCAxNzQsIDIzMywgNTIsIDQ0LCAyNTQsIDExOCwgMjE0LCAKLSAgICAxMiwgMiwgMjE4LCAyMzYsIDIzMSwgOTMsIDQ0LCAyNTQsIDExOCwgMiwgMjQ3LCAxMjgsIDI1NCwgMTE4LCAyLCAyMjIsIAotICAgIDk0LCAyMzUsIDIyMiwgMjU1LCAxMiwgMjU0LCAxMTcsIDIxOSwgMSwgMjU0LCAxMTgsIDIyNiwgMTc0LCAyMzMsIDUyLCAKLSAgICAyMTksIDEsIDI1NCwgMTE4LCAyMjYsIDE3NCwgMjE0LCAxNjMsIDIxNSwgOTQsIDI1NCwgMTE3LCAyMjMsIDUyLCAyNTQsIAotICAgIDExNywgMjU0LCAxMTgsIDIsIDIxNCwgMTgzLCAyMjMsIDUyLCAyNTQsIDExOCwgMiwgMjE0LCAxODMsIDIyNiwgMjUyLCAKLSAgICAyNTQsIDExOCwgMjI2LCAxNzQsIDIxNCwgMTYzLCAyMjYsIDI1MiwgMjU0LCAxMTgsIDIyNiwgMTc0LCAyNDYsIDExNCwgCi0gICAgMjMxLCA5MywgMjU0LCAxMTgsIDIsIDIwNCwgMjU0LCAxMywgMjQ1LCAxNDgsIDIzNiwgNywgODAsIDIyNSwgMTAsIDEyMCwgCi0gICAgMjIsIDIyMiwgMjU0LCAyMzEsIDkzLCAyNTQsIDExOCwgMiwgMjA0LCAyNTQsIDEzLCAyNDUsIDE0OCwgMjM2LCA3LCA4MCwgCi0gICAgMjI1LCAxMCwgMTIwLCAyMiwgMjMzLCA1MiwgMjMxLCA5MywgMjU0LCAxMTgsIDIsIDIwNCwgMjU0LCAxMywgMjQ1LCAxNDgsIAotICAgIDIzNiwgNywgODAsIDIyNSwgMTAsIDEyNCwgMjIsIDIyMiwgMjU0LCAyMzEsIDkzLCAyNTQsIDExOCwgMiwgMjA0LCAyNTQsIAotICAgIDEzLCAyNDUsIDE0OCwgMjM2LCA3LCA4MCwgMjI1LCAxMCwgMTI0LCAyMiwgMjMzLCA1MiwgMjMxLCA5MywgMjU0LCAxMTgsIAotICAgIDIsIDIwNCwgMjU0LCAxMywgMjQ1LCAxNDgsIDIzNiwgNywgODAsIDIyNSwgMTAsIDQ0LCAyMiwgMjE0LCAxNjMsIDIzMSwgCi0gICAgOTMsIDI1NCwgMTE4LCAyLCAyMDQsIDI1NCwgMTMsIDI0NSwgMTQ4LCAyMzYsIDcsIDgwLCAyMjUsIDEwLCA0MywgMjIsIAotICAgIDIxNCwgMTYzLCAyMzEsIDkzLCAyNTQsIDExOCwgMiwgMjA0LCAyNTQsIDEzLCAyNDUsIDE0OCwgMjM2LCA3LCA4MCwgMjI1LCAKLSAgICAxMCwgNDQsIDIyLCAyNDYsIDExNCwgMjMxLCA5MywgMjU0LCAxMTgsIDIsIDIwNCwgMjU0LCAxMywgMjQ1LCAxNDgsIDIzNiwgCi0gICAgNywgODAsIDIyNSwgMTAsIDQzLCAyMiwgMjQ2LCAxMTQsIDIyMywgNTIsIDI0NSwgMTYwLCAyMjAsIDEyOSwgMjQ1LCAxNjAsIAotICAgIDIyMCwgMTMwLCAyLCAyMjYsIDEyNywgMjQ1LCAxNjAsIDIyMCwgMTMwLCAyLCA0LCAyNTAsIDQ0LCA0OCwgMjQ1LCAxNjAsIAotICAgIDIyMCwgMTMwLCAyLCA0NCwgODAsIDQ4LCAyNDUsIDE2MCwgMjIwLCAxMzAsIDIsIDQzLCA4MCwgNDgsIDI1MCwgNDQsIDIsIAotICAgIDIwMywgMTMwLCAzNywgNjcsIDEzMCwgMzcsIDIyNiwgMTEsIDM3LCAyMjMsIDUzLCAyMTksIDQ4LCAzNywgMjI1LCAxNzQsIAotICAgIDI1MCwgNDQsIDI0NywgMTgxLCAyNTEsIDg2LCAyMDMsIDI1MiwgMTQ5LCAyMiwgMjE2LCAxNSwgMTYzLCAyNDcsIDE4MSwgCi0gICAgMjUxLCA4NiwgNjcsIDEzMCwgMjUwLCA0NCwgMiwgMjE4LCAyNSwgMjExLCAxNzgsIDM3LCAyNTQsIDk1LCAyNDcsIDE3NywgCi0gICAgNTAsIDEyMCwgODAsIDIxNiwgMTQwLCAyNTAsIDQzLCAzNywgNzEsIDI1MSwgMTIxLCAzNywgMjUxLCAxMjEsIDM3LCAyMzMsIAotICAgIDIwLCAzNywgMjQyLCAxMzYsIDI1MCwgNDQsIDIsIDQsIDI1MCwgNDQsIDIxNiwgNDMsIDIxNiwgMTk3LCAyMjIsIDI1NCwgCi0gICAgMjUwLCA0NCwgMiwgMTEzLCAyMDMsIDIxOCwgOTMsIDIxNiwgNDMsIDIxNiwgMTk3LCAyMjIsIDI1NCwgOTIsIDIyMiwgMjMxLCAKLSAgICAyNDgsIDcsIDIxOSwgOTcsIDkyLCAyNDQsIDE4MywgMjQ4LCA3LCAyMTksIDk3LCA5MiwgMjUzLCAyMjQsIDkyLCA0LCAyNTAsIAotICAgIDQzLCA5MiwgMjE4LCAyMzYsIDExMywgMjM1LCA3MSwgMjE4LCAyMzQsIDIxNSwgMjI3LCAyLCA1OSwgNDgsIDIxNSwgMjI3LCAKLSAgICAyLCAyMTQsIDE4MywgMjIyLCA5NCwgMjM2LCA3LCAyMTUsIDIyNiwgMjE1LCAyMjcsIDIsIDIyMCwgMTM2LCAyNTMsIDIxNSwgCi0gICAgMjUxLCAxODIsIDQ0LCAyMTUsIDIyNywgNzIsIDQzLCAyMTUsIDIyNiwgNDMsIDIxNSwgMjI3LCAyNTIsIDM4LCA2NywgMTMwLCAKLSAgICA2NywgMjUyLCAxNDksIDI1MiwgMzgsIDQ0LCAyMTUsIDIyNiwgMjUxLCAxNzMsIDIsIDQzLCAxNjMsIDI1MSwgMjI5LCAyNTEsIAotICAgIDE3MywgMiwgNDQsIDE2MywgMjUxLCAyMjksIDg1LCAyNTEsIDE3MiwgMzAsIDIsIDQzLCAxNjMsIDI1MSwgMjI5LCAzMCwgMiwgCi0gICAgNDQsIDE2MywgMjUxLCAyMjksIDcxLCAyNDAsIDI0MywgODUsIDI0MCwgMjQzLCA0MywgMjExLCAyNDQsIDI0NCwgMTQzLCAKLSAgICA0NCwgMjExLCAyNDQsIDI0NCwgMTQzLCA0MywgNTIsIDIxMSwgMjQ0LCAyNDQsIDE0MywgNDQsIDUyLCAyMTEsIDI0NCwgCi0gICAgMjQ0LCAxNDMsIDIzNSwgMjU1LCAyMzUsIDI0MSwgMjE2LCAxMTMsIDExNSwgMjM1LCAyNDEsIDIzNSwgMjQyLCAyMjksIAotICAgIDEwNywgMiwgNjcsIDEzMCwgMjQ2LCAxMjAsIDIzMCwgOTIsIDQyLCAyLCAyNDksIDE4OSwgMjI2LCAxMzEsIDIzNSwgMjUzLCAKLSAgICAyNTMsIDI0NSwgMjE5LCAyMjEsIDIyNCwgMTgzLCAyNDUsIDEwNiwgNSwgMjIsIDIxOSwgOTksIDIyNiwgMTEsIDI0NSwgCi0gICAgMTA2LCA1LCAyMiwgMjE5LCA5OSwgMjI2LCAxMiwgMiwgMjE2LCA5MCwgNDgsIDI0MCwgMTExLCAyMTYsIDQzLCAyMiwgMjE5LCAKLSAgICA5OSwgMjI2LCAxMSwgMjQyLCAxOTAsIDIxOCwgMTU3LCAyMTYsIDE4NiwgMjQ2LCAxMTMsIDIxNSwgMjI3LCAyLCA0MywgCi0gICAgMTYzLCAyNTEsIDIyOSwgMjQ2LCAxMTMsIDIxNSwgMjI3LCAyLCA0NCwgMTYzLCAyNTEsIDIyOSwgODUsIDI0OCwgMSwgMiwgCi0gICAgMTI0LCA3NSwgODUsIDIzMiwgMTEwLCA3MSwgMjUwLCA0NCwgMiwgMTI0LCA3NSwgODUsIDI1MCwgNDQsIDIsIDEyNCwgNzUsIAotICAgIDI0NSwgOTMsIDcxLCAyMTgsIDIzNiwgMjQ1LCA5MywgODUsIDIxOCwgMjM2LCAyNDUsIDkzLCA3MSwgMjQ4LCAwLCAyNDUsIAotICAgIDkzLCA4NSwgMjQ4LCAwLCAyNDUsIDkzLCA3MSwgMjUwLCA0MywgMjQ1LCA5MywgODUsIDI1MCwgNDMsIDIyMiwgMTM0LCAKLSAgICAyMjMsIDUzLCAyMTksIDQ5LCAyMjYsIDE3MSwgMjE5LCA0OSwgMiwgMjI2LCAxMjcsIDIyMywgNTMsIDIxOSwgNDksIDIsIAotICAgIDIwMywgOTEsIDI1MiwgMSwgMjE5LCA0OCwgMjUyLCAxLCAyMjMsIDUzLCAyMTksIDQ4LCA1MiwgMjI1LCAyNSwgMjE1LCAKLSAgICAyMTIsIDIyNSwgMjUsIDIzMywgNDgsIDI0OSwgOTksIDI1NCwgMTE4LCAxMjcsIDIyMiwgMjUwLCAyNDksIDk5LCAyNTQsIAotICAgIDExOCwgMTI3LCAyMTYsIDc5LCAyMzAsIDE4NCwgMjMwLCAyOSwgMzcsIDU5LCAyMjYsIDE3MSwgMjMwLCAyOSwgMzcsIDk2LCAKLSAgICAyMjYsIDE3MSwgMjMwLCAyOSwgMzcsIDMwLCAyMjYsIDE3MSwgMjMwLCAyOSwgMjE0LCAxNzYsIDIyNiwgMTcyLCAyLCAyNDcsIAotICAgIDEyOCwgMjMwLCAyOSwgMjE0LCAxNzYsIDIyNiwgMTcyLCAyLCAyMjUsIDI1LCAyMzAsIDI5LCA0MiwgMjM1LCAyMDYsIDIyNiwgCi0gICAgMTcxLCAyMzAsIDI5LCA0MiwgMjE0LCAxNzYsIDIyNiwgMTcxLCAxMTMsIDIzMiwgMTUyLCAyMiwgMjI2LCAxNzEsIDExMywgCi0gICAgMjMyLCAxNTIsIDE3NywgMjI2LCAxNzEsIDIzMCwgMjksIDMwLCAyMjYsIDE3MSwgMjMwLCAxNTksIDExMywgMjE4LCA0NCwgCi0gICAgMjE4LCA0MiwgMiwgMjM1LCAyMTgsIDIyNCwgMjcsIDIzNSwgMjE5LCAyMjYsIDE3MSwgMjQ0LCAxMDcsIDIyNiwgMywgMjM1LCAKLSAgICAyMTgsIDIzNSwgMjE5LCAyLCA1MiwgOTEsIDIzNSwgMjE5LCAyNTMsIDE4MSwgMiwgMjE5LCA5NywgMjUwLCA0MCwgMjQzLCAKLSAgICAyMzMsIDI1NCwgOTYsIDIzNSwgMjE2LCAyMzIsIDIyMCwgMjM1LCAyMTcsIDIsIDIyMywgMTE4LCAyMjUsIDI0MSwgMjU0LCAKLSAgICAxMCwgMjI1LCA0LCAyMzIsIDIyMCwgMjM1LCAyMTcsIDIsIDIyMCwgMTU0LCAyMjUsIDI0MSwgMjU0LCAxMCwgMjI1LCA0LCAKLSAgICAyMzIsIDIyMCwgMjM1LCAyMTcsIDIyOCwgNTcsIDIzNiwgMSwgMjE2LCAxOTcsIDIyNSwgNCwgMjM1LCAyMTksIDI1NCwgMTAsIAotICAgIDExNiwgMjI1LCAxNCwgMjI2LCAxNzEsIDIyNCwgMjEsIDIzNSwgMjE5LCAyMjYsIDE3MSwgMjM1LCAyMTksIDIsIDE0MCwgCi0gICAgODAsIDIsIDEwMywgMjM1LCAyMTksIDIsIDMwLCA1MCwgMjM1LCAyMTksIDIsIDIzNSwgMjA1LCAyMzUsIDIxOSwgMiwgMjE0LCAKLSAgICAxNzUsIDIzNSwgMjE5LCAyLCAyMjYsIDEyNywgMjM1LCAyMTksIDIsIDIxNCwgMTgzLCAyMzUsIDcyLCAyMzMsIDkxLCA0MywgCi0gICAgMjE1LCAyMjcsIDIyNiwgMTcxLCAyMTAsIDE2MCwgMTg5LCAyMjEsIDIwMywgMjQ5LCAyMTcsIDIxMCwgMTYwLCAxODksIAotICAgIDIyMSwgMjAzLCAyMjUsIDU5LCAyMTAsIDE2MCwgMTg5LCAyMjEsIDIwMywgMjI0LCAxNzksIDk2LCA1LCAyLCA0LCAyNTAsIAotICAgIDQ0LCA0OCwgOTYsIDUsIDIsIDI1MCwgMzksIDI1NSwgMjQsIDQ4LCA5NiwgNSwgMiwgMjE2LCA5MCwgNDgsIDk2LCA1LCAyLCAKLSAgICA1OSwgNTEsIDk2LCA1LCAyLCAyMTYsIDkwLCA1MSwgOTYsIDUsIDIsIDIxOCwgNjYsIDEwNSwgOTYsIDUsIDIsIDg1LCAyMTUsIAotICAgIDIyNiwgMjMwLCAxODcsIDUsIDIsIDI0OSwgMjI4LCA0OCwgMjMwLCAxODcsIDUsIDIsIDU5LCA1MSwgMjMwLCAxODcsIDUsIAotICAgIDIsIDI0NCwgMTgzLCAyNDcsIDEyNiwgMjMwLCAxODcsIDUsIDIsIDIyMiwgMjMxLCAyNDcsIDEyNiwgOTYsIDUsIDIzNiwgNywgCi0gICAgNDMsIDE2MywgMjUwLCA0MywgOTYsIDUsIDIzNiwgNywgNDQsIDE2MywgMjUwLCA0MywgMjEzLCAyNTQsIDE3NywgMjQ5LCAKLSAgICAxMzksIDIyNCwgMTgzLCAyMzAsIDg5LCA1LCAyLCA1OSwgNDgsIDIzMCwgODksIDUsIDIsIDIxNCwgMTgzLCAyMjAsIDE1MSwgCi0gICAgMjI0LCAxODQsIDIsIDI1MSwgMTgzLCAyNTAsIDcsIDIxOSwgNzksIDIyNCwgMTgzLCAyMzAsIDg5LCA1LCAyMzYsIDcsIDQzLCAKLSAgICAxNjMsIDI1MCwgNDMsIDIzMCwgODksIDUsIDIzNiwgNywgNDQsIDE2MywgMjUwLCA0MywgMzcsIDIzMCwgODksIDUsIDIsIAotICAgIDI1MCwgMzksIDI1NSwgMjMsIDIzMCwgODksIDUsIDIzNiwgNywgNTIsIDI1MCwgNDMsIDM3LCAyNDcsIDE3NywgNTAsIDk2LCAKLSAgICA1LCAyMzYsIDcsIDIxNSwgMjI2LCAyMzAsIDE4NywgNSwgMjM2LCA3LCAyMTUsIDIyNiwgMjMwLCA4OSwgNSwgMjM2LCA3LCAKLSAgICAyMTUsIDIyNiwgMjM1LCAyMTMsIDIyNCwgMTgzLCAyMjIsIDI0NSwgMjM1LCAyMTMsIDIyNCwgMTgzLCAyMTAsIDE2MCwgCi0gICAgMTg5LCAyMjMsIDkzLCAyNDksIDIxNywgMjU0LCAxNDIsIDE3NywgMjQ5LCAxNzMsIDIzNSwgMjA2LCAyLCAyNDcsIDEyOCwgCi0gICAgMjE0LCAxNzYsIDIsIDIzMCwgMTg3LCA1MCwgMjE0LCAxNzYsIDIsIDIyNiwgMTI3LCAyMzUsIDIwNiwgMiwgMjI2LCAxMjcsIAotICAgIDIzNSwgMjA2LCAyLCAyMzIsIDE1MiwgMjU0LCAxMjYsIDIxNCwgMTc2LCAyLCAyMzIsIDE1MiwgMjI2LCAxNjIsIDIxNCwgCi0gICAgMTc2LCA3MiwgMjM1LCAyMDUsIDIzNSwgMjA2LCA3MiwgMjE0LCAxNzUsIDIxNCwgMTc2LCA3MiwgMjUyLCAxNDksIDcyLCAKLSAgICAyMzUsIDIwNSwgMjM1LCAyMDYsIDcyLCAyNTIsIDE0OSwgNzIsIDIxNCwgMTc1LCAyMTQsIDE3NiwgMjUyLCAzOCwgMjIsIAotICAgIDIzNSwgNzEsIDIsIDIxNCwgMTc1LCAyMzUsIDIwNiwgMjUyLCAzOCwgMjIsIDIzNSwgNzEsIDIsIDIzNSwgMjA1LCAyNTAsIAotICAgIDgsIDIxNCwgMTc2LCAyLCAyMjAsIDEzNSwgMjUwLCA4LCAyMzUsIDIwNiwgMiwgMjIwLCAxMzUsIDUyLCA0MiwgMjM1LCAKLSAgICAyMDUsIDUyLCA0MiwgMjE0LCAxNzUsIDI1MCwgOCwgMjE0LCAxNzYsIDIsIDIyMCwgMTM2LCAyMiwgMjE5LCA3OSwgMjI0LCAKLSAgICAxODMsIDIzMiwgMTUyLCAyMiwgMiwgNTksIDQ4LCAyMzIsIDE1MiwgMTc3LCAyLCA1OSwgNDgsIDUyLCAyMzIsIDE1MiwgCi0gICAgMjU0LCAxMjYsIDUyLCAyMzIsIDE1MiwgMjI2LCAxNjIsIDExMywgMjM1LCAyMDcsIDIzMiwgMTUyLCAyNTQsIDEyNiwgMTEzLCAKLSAgICAyMzUsIDIwNywgMjMyLCAxNTIsIDIyNiwgMTYyLCAyMTksIDg3LCAyMzMsIDkxLCAyMjYsIDE2MiwgMjE5LCA4NywgMjMzLCAKLSAgICA5MSwgMjU0LCAxMjYsIDIzMiwgMTUyLCAxNzcsIDIyNiwgMTI1LCAyMzIsIDE1MiwgMjU0LCAxMjYsIDIzMiwgMTUyLCAyMiwgCi0gICAgMiwgMjMwLCAyMjksIDIxOCwgMTQxLCAyMzIsIDE1MiwgMTc3LCAyLCAyMzAsIDIyOSwgMjE4LCAxNDEsIDIzMiwgMTUyLCAKLSAgICAyMiwgMiwgMjAzLCAyNDgsIDE2NCwgMjMyLCAxNTIsIDE3NywgMiwgMjAzLCAyNDgsIDE2NCwgMjMyLCAxNTIsIDIyLCAyLCAKLSAgICA1MiwgMjI2LCAxMjcsIDIzMiwgMTUyLCAyMiwgMiwgMjE0LCAxODMsIDIzMiwgMTUyLCAyMiwgMiwgNTIsIDIxNCwgMTgzLCAKLSAgICA0LCAyMTMsIDI1MSwgMiwgMjE0LCAxODMsIDIzMiwgMTUyLCAxNzcsIDIsIDUyLCAyMjYsIDEyNywgMjMyLCAxNTIsIDE3NywgCi0gICAgMiwgNTIsIDIxNCwgMTgzLCAyMTAsIDE2MCwgMTg5LCAyNDcsIDEzNywgMjU0LCA4NywgMjEwLCAxNjAsIDE4OSwgMjIzLCAKLSAgICAxNTEsIDI1NCwgODcsIDI0NSwgMTA2LCA1LCAyLCA1OSwgNTEsIDI0MCwgMTExLCAyLCA1OSwgNDgsIDIxNSwgMjEyLCAyMDMsIAotICAgIDI1MiwgMTQ5LCAyLCA1MiwgNjcsIDkxLCAyMTUsIDIxMiwgMjAzLCAyNTIsIDE0OSwgMiwgMjE1LCAyMTIsIDY3LCA5MSwgCi0gICAgMjE2LCA5MCwgMjI2LCAxNzIsIDIsIDU5LCA0OCwgMjE2LCA5MCwgMjI2LCAxNzIsIDIsIDIyMiwgMjMxLCAyNDcsIDEyNiwgCi0gICAgMjE5LCAxNjQsIDIzMCwgMTg3LCAyMTksIDE2MywgMjQ5LCAyMDcsIDIsIDU5LCA0OCwgMjQ1LCAxMDYsIDIsIDI1MywgMjI0LCAKLSAgICAyNTQsIDE1NiwgMTI4LCAyMTYsIDQzLCAyLCAyNTAsIDM5LCAyNTUsIDIzLCAyNTQsIDU2LCAxMjgsIDE3NywgMTI4LCAxMTIsIAotICAgIDI0NSwgMTA2LCA1LCA3MiwgOTYsIDUwLCA5NiwgNSwgNzIsIDI0NSwgMTA2LCA1MCwgMjQ1LCAxMDYsIDUsIDcyLCAyMTYsIAotICAgIDkwLCAyMjYsIDE3MSwgNTIsIDI0OSwgMjM1LCAyNDUsIDEwNywgMTEzLCAyNDksIDIwMiwgMjQ1LCAxMDYsIDIxOSwgMTc4LCAKLSAgICAxMzQsIDI0OSwgMjAyLCAyNDUsIDEwNiwgMjE5LCAxNzgsIDI0NSwgMTA2LCA1LCAyLCAxMTMsIDE3MCwgNzIsIDIyLCAxMTMsIAotICAgIDE3MCwgNTEsIDI0NSwgMTAyLCAyLCAyNDQsIDE5LCAxNzAsIDQ4LCAyMzMsIDIxLCAyLCAyNTAsIDQ0LCAyMzUsIDIyMiwgCi0gICAgMjQyLCAxMzcsIDIsIDI1MCwgNDQsIDIzNSwgMjIyLCAyMzMsIDIxLCAyLCAyMjQsIDE2LCAxNjQsIDQ4LCAyNDIsIDEzNywgCi0gICAgMiwgMjI0LCAxNiwgMTY0LCA0OCwgMjMzLCAyMSwgMTc3LCAyMTksIDk5LCAxMjgsIDExMiwgMjQyLCAxMzcsIDE3NywgMjE5LCAKLSAgICA5OSwgMTI4LCAxMTIsIDIzMywgMjEsIDE3NywgMjE5LCA5OSwgMTI4LCAyMTYsIDQzLCAyLCA1OSwgMjM1LCAyMjIsIDI0MiwgCi0gICAgMTM3LCAxNzcsIDIxOSwgOTksIDEyOCwgMjE2LCA0MywgMiwgNTksIDIzNSwgMjIyLCAyMzMsIDIxLCAxNzcsIDIxOSwgOTksIAotICAgIDEyOCwgMjE2LCA0MywgMiwgNTksIDQ4LCAyNDIsIDEzNywgMTc3LCAyMTksIDk5LCAxMjgsIDIxNiwgNDMsIDIsIDU5LCA0OCwgCi0gICAgMjMzLCAyMSwgMTc3LCAyMTksIDk5LCAxMjgsIDIxNiwgNDMsIDIsIDU5LCA3MiwgMjIyLCAyNTQsIDI0MiwgMTM3LCAxNzcsIAotICAgIDIxOSwgOTksIDEyOCwgMjE2LCA0MywgMiwgNTksIDcyLCAyMzMsIDUyLCAyMzMsIDIxLCAxNzcsIDI1NCwgNTcsIDI0MiwgCi0gICAgMTM3LCAxNzcsIDI1NCwgNTcsIDIzMywgMjEsIDIyLCAyMTksIDE1NSwgMjI4LCA1NywgMTI4LCAxMTIsIDI0MiwgMTM3LCAKLSAgICAyMiwgMjE5LCAxNTUsIDIyOCwgNTcsIDEyOCwgMTEyLCAyMzMsIDIxLCAyMiwgMjI4LCA1NywgMjU0LCA1NywgMjQyLCAxMzcsIAotICAgIDIyLCAyMjgsIDU3LCAyNTQsIDU3LCAyMzMsIDIxLCA3MiwgMjQ2LCAxMTksIDEyOCwgNzIsIDI0MiwgMTM2LCAyNDIsIDEzNywgCi0gICAgNzIsIDI0NiwgMTE5LCAxMjgsIDcyLCAyMzMsIDIwLCAyMzMsIDIxLCA3MiwgMjE5LCAxNjQsIDE3NywgMjQ1LCAxMDcsIAotICAgIDI0MiwgMTM3LCA3MiwgMjE5LCAxNjQsIDE3NywgMjQ1LCAxMDcsIDIzMywgMjEsIDcyLCAyMTksIDE2NCwgNzIsIDI0MiwgCi0gICAgMTM2LCAyNDIsIDEzNywgNzIsIDIxOSwgMTY0LCA3MiwgMjMzLCAyMCwgMjMzLCAyMSwgNzIsIDI0MiwgMTM3LCA3MiwgMjQ2LCAKLSAgICAxMTksIDI0NSwgMTA3LCAyNDIsIDEzNywgNzIsIDIzMywgMjEsIDcyLCAyNDYsIDExOSwgMjQ1LCAxMDcsIDIzMywgMjEsIAotICAgIDcyLCAyMTksIDk5LCAxMjgsIDcyLCAyNDIsIDEzNywgNzIsIDIxOSwgOTksIDI0NSwgMTA3LCAyNDIsIDEzNywgNzIsIDIxOSwgCi0gICAgOTksIDEyOCwgNzIsIDIzMywgMjEsIDcyLCAyMTksIDk5LCAyNDUsIDEwNywgMjE5LCA5OSwgMTI4LCAyMTYsIDQzLCAxNzcsIAotICAgIDIzMywgMjAsIDIxOSwgOTksIDEyOCwgMjE2LCA0MywgMTc3LCAyNDIsIDEzNiwgMjE5LCA5OSwgMTI4LCAyMTYsIDQzLCAKLSAgICAxNzcsIDIzMywgMjEsIDIsIDU5LCAyMzUsIDIyMiwgMjE5LCA5OSwgMTI4LCAyMTYsIDQzLCAxNzcsIDI0MiwgMTM3LCAyLCAKLSAgICA1OSwgMjM1LCAyMjIsIDI0NiwgMTE5LCAxMjgsIDIxNiwgNDMsIDE3NywgMjMzLCAyMCwgMjQ2LCAxMTksIDEyOCwgMjE2LCAKLSAgICA0MywgMTc3LCAyNDIsIDEzNiwgMjQ2LCAxMTksIDIxOSwgOTksIDEyOCwgMjE2LCA0MywgMTc3LCAyMzMsIDIwLCAyNDYsIAotICAgIDExOSwgMjE5LCA5OSwgMTI4LCAyMTYsIDQzLCAxNzcsIDI0MiwgMTM2LCAyMTksIDE2NCwgMTc3LCAyMzMsIDIwLCAyMTksIAotICAgIDE2NCwgMTc3LCAyNDIsIDEzNiwgMjE5LCAxNjQsIDcyLCAyMzMsIDIxLCA3MiwgMjQ1LCAxMDYsIDUwLCAyMTksIDE2NCwgCi0gICAgNzIsIDI0MiwgMTM3LCA3MiwgMjQ1LCAxMDYsIDUwLCA1MiwgMjI5LCA5NiwgMjMzLCAyMCwgNTIsIDIyOSwgOTYsIDI0MiwgCi0gICAgMTM2LCA1MiwgMjI5LCA5NiwgMjMzLCAyMSwgMiwgMjE0LCAxODMsIDI0MiwgMTM3LCAyMjYsIDEyNSwgMjMzLCAyMCwgMjQyLCAKLSAgICAxMzcsIDI1MiwgMzgsIDIzMywgMjAsIDIzMywgMjEsIDI1MCwgOCwgMjUxLCA4NiwgMjQ5LCAxMDAsIDI0MiwgMTM3LCAyNTAsIAotICAgIDgsIDI1MSwgODYsIDI0OSwgMTAwLCAyMzMsIDIxLCAyNTAsIDgsIDI1MSwgODYsIDI0OSwgMTAxLCA3MiwgMjE5LCA5OSwgCi0gICAgMjQ1LCAxMDcsIDI0MiwgMTM3LCAyNTAsIDgsIDI1MSwgODYsIDI0OSwgMTAxLCA3MiwgMjE5LCA5OSwgMjQ1LCAxMDcsIAotICAgIDIxOSwgODAsIDIxNiwgMjAxLCAyMzMsIDg5LCAyMTYsIDIwMSwgMjE5LCA4MCwgMjE2LCAyMDIsIDE3NywgMTI4LCAxMTIsIAotICAgIDIzMywgODksIDIxNiwgMjAyLCAxNzcsIDEyOCwgMTEyLCAyNDUsIDEwNiwgNSwgMiwgMjUxLCAxMTYsIDQ4LCAyMjQsIDIwNiwgCi0gICAgNzIsIDIxOSwgMTU1LCAyNDUsIDEwNiwgNTAsIDIxOCwgNTcsIDcyLCAyMTksIDE1NSwgMjQ1LCAxMDYsIDUwLCAyMjQsIAotICAgIDIwNiwgNzIsIDIxOSwgMTU1LCAyMjgsIDU3LCAxMjgsIDExMiwgMjE4LCA1NywgNzIsIDIxOSwgMTU1LCAyMjgsIDU3LCAKLSAgICAxMjgsIDExMiwgMjI0LCAyMDYsIDcyLCAyNDUsIDEwNiwgNTAsIDIxOCwgNTcsIDcyLCAyNDUsIDEwNiwgNTAsIDIyNCwgCi0gICAgMjA2LCA3MiwgMjI4LCA1NywgMTI4LCAxMTIsIDIxOCwgNTcsIDcyLCAyMjgsIDU3LCAxMjgsIDExMiwgMjI0LCAyMDYsIDcyLCAKLSAgICAyNTQsIDE1NiwgMTI4LCAxMTIsIDIxOCwgNTcsIDcyLCAyNTQsIDE1NiwgMTI4LCAxMTIsIDIyNCwgMjA2LCA3MiwgMjI4LCAKLSAgICA1NywgMjU0LCAxNTYsIDEyOCwgMTEyLCAyMTgsIDU3LCA3MiwgMjI4LCA1NywgMjU0LCAxNTYsIDEyOCwgMTEyLCA1MiwgCi0gICAgMjI0LCAyMDUsIDUyLCAyMTgsIDU2LCAyMTgsIDY1LCAyLCAyNDcsIDEyOCwgMjE4LCAyMywgMiwgMjQ3LCAxMjgsIDIxOCwgCi0gICAgNjUsIDIsIDk2LCA1LCA1MSwgMjE4LCAyMywgMiwgOTYsIDUsIDUxLCAyMTgsIDY1LCAyLCAyMzAsIDg5LCA1LCA1MSwgMjE4LCAKLSAgICAyMywgMiwgMjMwLCA4OSwgNSwgNTEsIDIxOCwgNjUsIDY0LCAxNzcsIDEyOCwgMjE2LCA0MywgMiwgNTksIDQ4LCAyMTgsIAotICAgIDIzLCA2NCwgMTc3LCAxMjgsIDIxNiwgNDMsIDIsIDU5LCA0OCwgMjE4LCA2NSwgNjQsIDcyLCAyNDUsIDEwNiwgNTAsIDIxOCwgCi0gICAgMjMsIDY0LCA3MiwgMjQ1LCAxMDYsIDUwLCAyMTgsIDY1LCA2NCwgNzIsIDIxNiwgOTAsIDIyNiwgMTcxLCAyMTgsIDIzLCAKLSAgICA2NCwgNzIsIDIxNiwgOTAsIDIyNiwgMTcxLCAyMTgsIDY1LCA2NCwgNzIsIDI1NCwgMTU2LCAxMjgsIDExMiwgMjE4LCAyMywgCi0gICAgNjQsIDcyLCAyNTQsIDE1NiwgMTI4LCAxMTIsIDIxOCwgNjUsIDY0LCA3MiwgMjI4LCA1NywgMTI4LCAxMTIsIDIxOCwgMjMsIAotICAgIDY0LCA3MiwgMjI4LCA1NywgMTI4LCAxMTIsIDQyLCA0MywgMjA0LCA5MywgMjI2LCAxNzEsIDQyLCA0NCwgMjA0LCA5MywgCi0gICAgMjI2LCAxNzEsIDI1MCwgOCwgMjE4LCA2NCwgMjUwLCA4LCAyMTgsIDIyLCAyNTAsIDgsIDIxOCwgNjUsIDE3NywgMTI4LCAKLSAgICAxMTIsIDI1MCwgOCwgMjE4LCAyMywgMTc3LCAxMjgsIDExMiwgMjE4LCA2NSwgNzIsIDIxOCwgMjIsIDIxOCwgMjMsIDcyLCAKLSAgICAyMTgsIDY0LCAyMTgsIDY1LCA3MiwgMjE4LCA2NCwgMjE4LCAyMywgNzIsIDIxOCwgMjIsIDIxOCwgMjMsIDI1MiwgMzgsIAotICAgIDIxOCwgNjQsIDIxOCwgMjMsIDI1MiwgMzgsIDIyLCAyMzUsIDcxLCAyNTEsIDg2LCAyNDgsIDE2NSwgMiwgMjE4LCA2NCwgCi0gICAgMjQ1LCAxNzgsIDY0LCAyMjYsIDE3NCwgMjQ2LCAxMTEsIDIyNSwgNTEsIDIsIDIxNywgMTMsIDIxNiwgMTQsIDIxNSwgMjQxLCAKLSAgICAyMzUsIDIwNSwgMjQ0LCAyOSwgMjI4LCA3MCwgMjE5LCAyNTMsIDQzLCAyMTcsIDg4LCAyMTksIDI1MywgMTI0LCAyMTcsIAotICAgIDg4LCAyMTksIDI1MywgMTIwLCAyMTcsIDg4LCAyMjUsIDE3NSwgMiwgMjIyLCA5MywgNjcsIDI1MiwgMTQ5LCAyMTUsIDIxMiwgCi0gICAgNDQsIDIxNSwgOTMsIDUyLCA2NywgMjUyLCAxNDksIDQzLCAyMTUsIDkzLCA2NywgMjUyLCAxNDksIDUyLCA0MywgMjE1LCAKLSAgICA5MywgNTIsIDY3LCAyNTIsIDE0OSwgNTIsIDQzLCAyMTUsIDkzLCAyMDAsIDI0OCwgMTY1LCAyNDMsIDI1MSwgNDMsIDIzMSwgCi0gICAgNjgsIDY0LCA1MiwgMjEzLCAyMzksIDIxOSwgMjUzLCAxMjQsIDIxNywgODksIDIsIDIyNiwgMTI3LCAyMTksIDI1MywgMTIwLCAKLSAgICAyMTcsIDg5LCAyLCAyMTQsIDE4MywgMjE5LCAyNTMsIDEyMCwgMjE3LCA4OSwgNzIsIDIxOSwgMjUzLCAxMjQsIDIxNywgODgsIAotICAgIDUyLCAxMjQsIDIxNywgODgsIDUyLCAxMjAsIDIxNywgODgsIDUyLCAyMTgsIDEwNSwgMjI4LCA1NywgNTAsIDIyMywgNTIsIAotICAgIDUyLCAyMTgsIDEwNSwgMjI4LCA1NywgNTAsIDI0NywgMTQ2LCAyMjgsIDU3LCAyNDcsIDE4MywgMiwgMjIzLCA1MiwgMjI5LCAKLSAgICAxMDYsIDIxOSwgOTcsIDY3LCAyMzIsIDIyMCwgMiwgMjUwLCA0NCwgNDgsIDY3LCAyMzIsIDIyMCwgMiwgMjUwLCA0NCwgNTEsIAotICAgIDEyNCwgMjE3LCA4OSwgMiwgMjUwLCA0NCwgNTEsIDIyNiwgMTIsIDIsIDIwMywgOTEsIDIyNiwgMTIsIDIsIDIxNiwgOTAsIAotICAgIDIyNiwgMTcxLCAyMTUsIDIxMiwgNjcsIDI1MiwgMTQ5LCAyNTEsIDI1MiwgMjIzLCA5NCwgMjE1LCAyMTIsIDY3LCAyNTIsIAotICAgIDE0OSwgMiwgMjAzLCA5MSwgMjE1LCAyMTIsIDI0OSwgMjM1LCAyMjYsIDE3MSwgMjE1LCAyMTIsIDIyOSwgOTYsIDIzMywgCi0gICAgMjAsIDIxNSwgMjEyLCAyMjksIDk2LCAyNDIsIDEzNiwgMjQ2LCAxMTksIDIxOSwgOTksIDIzMywgMjEsIDE3NywgMTI4LCAKLSAgICAxMTIsIDI0NiwgMTE5LCAyMTksIDk5LCAyNDIsIDEzNywgMTc3LCAxMjgsIDExMiwgMjE1LCAyMTIsIDIxOSwgNDksIDI1MSwgCi0gICAgMjUyLCAyMjMsIDk0LCAyMzMsIDkxLCAyMTUsIDIxMiwgNjcsIDI1MiwgMTQ5LCAyMjYsIDE3MSwgNTIsIDIxOSwgNDksIAotICAgIDIyNiwgMTcxLCA3MSwgNjcsIDEzMCwgMjMwLCAyOSwgNzEsIDY3LCAxMzAsIDIyOCwgNjEsIDI0NSwgMjI4LCA3MSwgNzUsIAotICAgIDIyOCwgNjEsIDIxMiwgOSwgNzEsIDc1LCAyMTksIDMwLCAyNDUsIDIyOCwgNzEsIDc1LCAyMTksIDMwLCAyMTIsIDksIDcxLCAKLSAgICA3NSwgNDMsIDQ0LCA3MSwgNzUsIDE0MCwgODUsIDc1LCAyMTQsIDE1MywgODUsIDc1LCAyNDYsIDExMiwgODUsIDc1LCAyMjgsIAotICAgIDYxLCAyNDUsIDIyOCwgODUsIDc1LCAyMjgsIDYxLCAyMTIsIDksIDg1LCA3NSwgMjE5LCAzMCwgMjQ1LCAyMjgsIDg1LCA3NSwgCi0gICAgMjE5LCAzMCwgMjEyLCA5LCA4NSwgNzUsIDQzLCA0NCwgODUsIDc1LCAxMjAsIDEyNCwgODUsIDc1LCA5NywgODAsIDIsIAotICAgIDIxNiwgNzgsIDI0NiwgMTExLCA5NywgODAsIDIsIDIxNiwgNzgsIDIxNCwgMTUyLCAxNDAsIDgwLCAyLCAyMTYsIDc4LCAKLSAgICAyNDYsIDExMSwgMTQwLCA4MCwgMiwgMjE2LCA3OCwgMjE0LCAxNTIsIDQyLCAyLCAyMTYsIDE1LCAxNjMsIDI1MSwgMjI5LCAKLSAgICA0MiwgMiwgMjUxLCAxODMsIDE2MywgMjUxLCAyMjksIDQyLCAyLCAyMTQsIDE2MCwgNDQsIDI0OCwgNywgMTYzLCAyNTEsIAotICAgIDIyOSwgNDIsIDIsIDIzMiwgMTE0LCA0MywgMjQ4LCA3LCAxNjMsIDI1MSwgMjI5LCAyNDgsIDEsIDIsIDQzLCAxNjMsIDI1MSwgCi0gICAgMjI5LCAyNDgsIDEsIDIsIDQ0LCAxNjMsIDI1MSwgMjI5LCAyNDgsIDEsIDIsIDIxNiwgMTUsIDE2MywgMjUxLCAyMjksIAotICAgIDI0OCwgMSwgMiwgMjUxLCAxODMsIDE2MywgMjUxLCAyMjksIDI0NiwgMTI2LCAyMTgsIDIzNiwgODUsIDIzMywgOTEsIDIxOCwgCi0gICAgMjM2LCA3MSwgMjMzLCA5MSwgMjE4LCAyMzYsIDg1LCAyMTMsIDE4NywgNCwgMjE4LCAyMzYsIDcxLCAyMTMsIDE4NywgNCwgCi0gICAgMjE4LCAyMzYsIDg1LCAyMjUsIDE5MywgNzEsIDIyNSwgMTkzLCA3MSwgMjQxLCAyMDAsIDg1LCAyNDEsIDIwMCwgMjAzLCAKLSAgICA4NSwgMjQxLCAyMDAsIDg1LCAyMzMsIDkxLCAyNTAsIDQzLCA4NSwgMjMxLCA4NywgMjQ4LCAwLCA3MSwgMjMxLCA4NywgCi0gICAgMjQ4LCAwLCA4NSwgMjMxLCA4NywgMjMyLCAxMTAsIDcxLCAyMzEsIDg3LCAyMzIsIDExMCwgODUsIDQsIDI0OCwgMCwgODUsIAotICAgIDQsIDIzMiwgMTEwLCA3MSwgNCwgMjMyLCAxMTAsIDg1LCAyMDMsIDI0NSwgMTcyLCA3MSwgMjAzLCAyNDUsIDE3MiwgODUsIAotICAgIDY3LCAyNDUsIDE3MiwgNzEsIDY3LCAyNDUsIDE3MiwgNDMsIDgwLCAyLCA0LCAyNTAsIDQzLCAxMzQsIDE0MCwgMjUzLCAKLSAgICAyNTUsIDQzLCA4MCwgMiwgMzcsIDIyNSwgMjUsIDIwMCwgMTQwLCAyMTgsIDIzMiwgNzUsIDE0MCwgMjE1LCA1OCwgODAsIDIsIAotICAgIDY3LCA5MSwgMTQwLCAyMTUsIDU4LCA4MCwgMiwgNTIsIDY3LCA5MSwgMTQwLCAyMTUsIDU4LCA4MCwgMjQzLCAyNTEsIDEzMCwgCi0gICAgMTQwLCAyMTUsIDU4LCAyMTUsIDIxMiwgMjQ4LCAxNjUsIDc1LCAxNDAsIDgwLCAyLCAyNDYsIDEyNiwgMjE4LCAxNDEsIAotICAgIDE0MCwgODAsIDIsIDIxNywgNzksIDIsIDY3LCA5MSwgMTQwLCA4MCwgMiwgMjE3LCA3OSwgMiwgNTIsIDY3LCA5MSwgMTQwLCAKLSAgICAyMTUsIDU4LCA4MCwgMiwgMjE3LCA3OCwgMTQwLCAyMTUsIDU4LCA4MCwgMiwgMjE3LCA3OSwgMiwgNjcsIDkxLCAxNDAsIAotICAgIDIxNSwgNTgsIDgwLCAyLCAyMTcsIDc5LCAyLCA1MiwgNjcsIDkxLCAxNDAsIDgwLCAyMTYsIDE0MCwgMjExLCAxNzgsIDIxMiwgCi0gICAgMzYsIDgwLCAyMjUsIDEwLCAyNDcsIDIwMywgMjMzLCA1MiwgMjQ1LCAxMDYsIDUsIDcyLCAxNDAsIDc1LCAyMjMsIDUzLCAKLSAgICAyMTYsIDkwLCAyMjYsIDE3MiwgNzIsIDE0MCwgNzUsIDE0MCwgODAsIDcyLCAyMjMsIDUzLCAyNTQsIDE1NiwgMTI4LCAxMTIsIAotICAgIDk3LCA4MCwgMjE2LCAxNDAsIDI0MiwgMTM2LCA5NywgODAsIDIxNiwgMTQwLCAyMTgsIDIyLCAxNDAsIDIyNCwgMjcsIDc1LCAKLSAgICA5NywgMjI0LCAyNywgNzUsIDIyMywgNTMsIDIxNiwgOTAsIDIyNiwgMTcyLCA3MiwgOTcsIDc1LCA5NywgODAsIDcyLCAyMjMsIAotICAgIDUzLCAyNTQsIDE1NiwgMTI4LCAxMTIsIDIxNiwgOTAsIDIyNiwgMTcyLCA3MiwgMTQwLCA3NSwgMTQwLCA4MCwgNzIsIDI1NCwgCi0gICAgMTU2LCAxMjgsIDExMiwgMTQwLCA4MCwgNzIsIDIyMywgNTMsIDIxNiwgOTAsIDIyNiwgMTcxLCA5NywgODAsIDcyLCAyMjMsIAotICAgIDUzLCAyMTYsIDkwLCAyMjYsIDE3MSwgNzEsIDIzMSwgODcsIDIxOCwgMTU4LCA4NSwgNCwgMjE4LCAxNTgsIDcxLCA0LCAKLSAgICAyMTgsIDE1OCwgODUsIDIyMiwgMjUwLCAyMjUsIDE5MywgNzEsIDIyMiwgMjUwLCAyMjUsIDE5MywgMTE0LCAyMzMsIDkxLCAKLSAgICAyNTAsIDQzLCAxMTQsIDIyNiwgMTI4LCAyLCAyMjYsIDEyOCwgMjM1LCAyMjIsIDExNCwgMjUwLCA0NCwgMiwgMjUwLCA0NCwgCi0gICAgMjM1LCAyMjIsIDExNCwgMjUwLCA0MywgMTE0LCAzNywgMjIyLCAwLCAxNDUsIDYsIDEsIDI1MywgMTY3LCAxNDUsIDYsIDEsIAotICAgIDI1MSwgMTI1LCAxNDUsIDYsIDEsIDIxMywgMjUzLCAxNDUsIDYsIDEsIDI0MiwgMTkyLCAxNDUsIDYsIDEsIDI0NywgMTQ4LCAKLSAgICAxNDUsIDYsIDEsIDIxMSwgMjEsIDE0NSwgNiwgMSwgMjEwLCA2OCwgMTQ1LCA2LCAxLCAyNDYsIDQyLCAxNDUsIDYsIDEsIAotICAgIDIxMCwgOTEsIDE0NSwgNiwgMSwgMjM1LCAxNTQsIDE0NSwgNiwgMSwgNjUsIDIzNSwgMTU0LCAxNDUsIDYsIDEsIDc0LCAKLSAgICAxNDUsIDYsIDEsIDI0NywgMTY4LCAxNDUsIDYsIDEsIDIzNCwgMjQ2LCAxNDUsIDYsIDEsIDIzMiwgMTkyLCAxNDUsIDYsIDEsIAotICAgIDIzMCwgMzQsIDE0NSwgNiwgMSwgMjI5LCAxOTYsIDE0NSwgNiwgMSwgMjI2LCAxODksIDE0NSwgNiwgMSwgMjI1LCA3LCAKLSAgICAxNDUsIDYsIDEsIDIyMiwgMjMwLCAxNDUsIDYsIDEsIDIxOSwgODUsIDE0NSwgNiwgMSwgMjE1LCA4MSwgMTQ1LCA2LCAxLCAKLSAgICAyMTQsIDIwMSwgMTQ1LCA2LCAxLCAyNDMsIDI1NCwgMTQ1LCA2LCAxLCAyNDEsIDIwNiwgMTQ1LCA2LCAxLCAyMjYsIDEzOSwgCi0gICAgMTQ1LCA2LCAxLCAyMjUsIDIyNCwgMTQ1LCA2LCAxLCAyMTksIDIzMCwgMTQ1LCA2LCAxLCAyMTUsIDE2OCwgMTQ1LCA2LCAxLCAKLSAgICAyNTAsIDgzLCAxNDUsIDYsIDEsIDIyMCwgMTA0LCAxNDUsIDYsIDEsIDIxMSwgMjcsIDE0NSwgNiwgMSwgMjExLCAyOSwgCi0gICAgMTQ1LCA2LCAxLCAyMTEsIDU3LCAxNDUsIDYsIDEsIDIxOCwgMjU1LCAxNjIsIDE0NSwgNiwgMSwgMjEwLCAyMTIsIDE0NSwgCi0gICAgNiwgMSwgNCwgMjEwLCAxODMsIDE0NSwgNiwgMSwgNCwgMjEwLCAxODQsIDIsIDIxNywgNzgsIDE0NSwgNiwgMSwgMjEwLCAKLSAgICAyNDQsIDE0NSwgNiwgMSwgMjM1LCAxOTEsIDQsIDIxMCwgMTgzLCAxNDUsIDYsIDEsIDI1MiwgMSwgMjEwLCAxODMsIDE0NSwgCi0gICAgNiwgMSwgMjM1LCAxOTEsIDI1MiwgMSwgMjEwLCAxODMsIDE0NSwgNiwgMSwgMjQ0LCA5MCwgMTQ1LCA2LCAxLCAyMzUsIAotICAgIDE1MiwgMTQ1LCA2LCAxLCAyMTksIDIyOSwgMTQ1LCA2LCAxLCAyMTUsIDIwMywgNjEsIDE0NSwgNiwgMSwgMjMzLCA4MSwgCi0gICAgMjMwLCAzNCwgMTQ1LCA0LCAxLCAyNTMsIDE2NywgMTQ1LCA0LCAxLCAyNTEsIDEyNSwgMTQ1LCA0LCAxLCAyMTMsIDI1MywgCi0gICAgMTQ1LCA0LCAxLCAyNDIsIDE5MiwgMTQ1LCA0LCAxLCAyNDcsIDE0OCwgMTQ1LCA0LCAxLCAyMTEsIDIxLCAxNDUsIDQsIDEsIAotICAgIDIxMCwgNjgsIDE0NSwgNCwgMSwgMjQ2LCA0MiwgMTQ1LCA0LCAxLCAyMTAsIDkxLCAxNDUsIDQsIDEsIDIzNSwgMTU0LCAKLSAgICAxNDUsIDQsIDEsIDY1LCAyMzUsIDE1NCwgMTQ1LCA0LCAxLCA3NCwgMTQ1LCA0LCAxLCAyNDcsIDE2OCwgMTQ1LCA0LCAxLCAKLSAgICAyMzQsIDI0NiwgMTQ1LCA0LCAxLCAyMzIsIDE5MiwgMTQ1LCA0LCAxLCAyMzAsIDM0LCAxNDUsIDQsIDEsIDIyOSwgMTk2LCAKLSAgICAxNDUsIDQsIDEsIDIyNiwgMTg5LCAxNDUsIDQsIDEsIDIyNSwgNywgMTQ1LCA0LCAxLCAyMjIsIDIzMCwgMTQ1LCA0LCAxLCAKLSAgICAyMTksIDg1LCAxNDUsIDQsIDEsIDIxNSwgODEsIDE0NSwgNCwgMSwgMjE0LCAyMDEsIDE0NSwgNCwgMSwgMjQzLCAyNTQsIAotICAgIDE0NSwgNCwgMSwgMjQxLCAyMDYsIDE0NSwgNCwgMSwgMjI2LCAxMzksIDE0NSwgNCwgMSwgMjI1LCAyMjQsIDE0NSwgNCwgMSwgCi0gICAgMjE5LCAyMzAsIDE0NSwgNCwgMSwgMjE1LCAxNjgsIDE0NSwgNCwgMSwgMjUwLCA4MywgMTQ1LCA0LCAxLCAyMjAsIDEwNCwgCi0gICAgMTQ1LCA0LCAxLCAyMTEsIDI3LCAxNDUsIDQsIDEsIDIxMSwgMjksIDE0NSwgNCwgMSwgMjExLCA1NywgMTQ1LCA0LCAxLCAKLSAgICAyMTgsIDI1NSwgMTYyLCAxNDUsIDQsIDEsIDIxMCwgMjEyLCAxNDUsIDQsIDEsIDQsIDIxMCwgMTgzLCAxNDUsIDQsIDEsIDQsIAotICAgIDIxMCwgMTg0LCAyLCAyMTcsIDc4LCAxNDUsIDQsIDEsIDIxMCwgMjQ0LCAxNDUsIDQsIDEsIDIzNSwgMTkxLCA0LCAyMTAsIAotICAgIDE4MywgMTQ1LCA0LCAxLCAyNTIsIDEsIDIxMCwgMTgzLCAxNDUsIDQsIDEsIDIzNSwgMTkxLCAyNTIsIDEsIDIxMCwgMTgzLCAKLSAgICAxNDUsIDQsIDEsIDI0NCwgOTAsIDE0NSwgNCwgMSwgMjM1LCAxNTIsIDE0NSwgNCwgMSwgMjE5LCAyMjksIDE0NSwgNCwgMSwgCi0gICAgMjE1LCAyMDMsIDYxLCAxNDUsIDQsIDEsIDIzMywgODEsIDIzMCwgMzQsIDcsIDYsIDEsIDIzMywgMTU1LCAyLCA1MiwgMTMwLCAKLSAgICA3LCA0LCAxLCAyMzMsIDE1NSwgMiwgNTIsIDEzMCwgNywgNiwgMSwgMjMzLCAxNTUsIDIsIDIzMCwgMjI5LCAxODQsIDcsIDYsIAotICAgIDEsIDIyNiwgMTEwLCAyLCA5MSwgNywgNiwgMSwgMjIzLCAyMjcsIDIsIDIxNywgNzgsIDcsIDQsIDEsIDExNiwgMiwgOTEsIAotICAgIDcsIDQsIDEsIDIxNywgMTU0LCAyLCAyNDgsIDcsIDkxLCA3LCA2LCAxLCAyNDIsIDY4LCAyLCAyNDgsIDQ3LCA3LCA0LCAxLCAKLSAgICAyNDIsIDY4LCAyLCAyNDgsIDQ3LCA3LCA2LCAxLCAyMzUsIDMwLCAyLCAyNDgsIDQ3LCA3LCA0LCAxLCAyMzUsIDMwLCAyLCAKLSAgICAyNDgsIDQ3LCA3LCA2LCAxLCAyMTAsIDE2MCwgMiwgMjQ4LCA0NywgNywgNCwgMSwgMjEwLCAxNjAsIDIsIDI0OCwgNDcsIDcsIAotICAgIDYsIDEsIDI1NCwgMTUxLCA3LCA2LCAxLCAyMzIsIDU1LCAyLCAxMDMsIDcsIDYsIDEsIDIxNSwgOTQsIDYxLCA3LCA2LCAxLCAKLSAgICAyMTUsIDk0LCAyNTQsIDE1MSwgNywgNCwgMSwgMjE0LCAxMDYsIDIsIDQ0LCAxMDMsIDcsIDYsIDEsIDIxMiwgOTksIDIsIAotICAgIDEwMywgNywgNCwgMSwgMjEyLCA5OSwgMiwgMTAzLCA3LCA0LCAxLCAyMTQsIDEwNiwgMiwgMjQ5LCAxMDgsIDcsIDYsIDEsIAotICAgIDE2MywgMjQyLCA2NywgNywgNCwgMSwgMTYzLCAyNDIsIDY3LCA3LCA0LCAxLCAyMTcsIDc2LCAyMjUsIDEzNiwgNywgNCwgMSwgCi0gICAgMTYwLCAyLCAyMjgsIDU1LCA3LCA0LCAxLCAyMTUsIDk0LCAyMjMsIDIyNywgMiwgMjE3LCA3OCwgNywgNCwgMSwgMTQ0LCAyLCAKLSAgICAxMjEsIDIyMiwgMjM3LCAyMzUsIDIyMiwgNywgMSwgNCwgNiwgMjE1LCA5NCwgNzYsIDcsIDIxOCwgNjYsIDQsIDEsIDIzNSwgCi0gICAgMTUwLCA1OCwgMSwgNiwgMjE0LCAxMDUsIDcsIDYsIDEsIDIyMiwgOTQsIDIsIDIxNywgMjUxLCAyMTcsIDc4LCA3LCA2LCAxLCAKLSAgICAyMTAsIDE2MCwgMiwgMjE3LCAyNTEsIDIxNywgNzgsIDgxLCA2LCAxLCAyNTQsIDE3MywgODEsIDQsIDEsIDI1NCwgMTczLCAKLSAgICA4MSwgNiwgMSwgMjEzLCAxNzMsIDgxLCA0LCAxLCAyMTMsIDE3MywgODEsIDYsIDEsIDI0MywgMTE0LCA4MSwgNCwgMSwgCi0gICAgMjQzLCAxMTQsIDgxLCA2LCAxLCAyNDgsIDE5OSwgODEsIDQsIDEsIDI0OCwgMTk5LCA4MSwgNiwgMSwgMjQ1LCAyMDIsIDgxLCAKLSAgICA0LCAxLCAyNDUsIDIwMiwgODEsIDYsIDEsIDIxOSwgMzUsIDgxLCA0LCAxLCAyMTksIDM1LCA4MSwgNiwgMSwgMjEwLCAxMDEsIAotICAgIDgxLCA0LCAxLCAyMTAsIDEwMSwgODEsIDYsIDEsIDI0MSwgMjU1LCA4MSwgNCwgMSwgMjQxLCAyNTUsIDgxLCA2LCAxLCAKLSAgICAyMTYsIDE3OCwgODEsIDQsIDEsIDIxNiwgMTc4LCA4MSwgNiwgMSwgMjQwLCAxMjMsIDgxLCA0LCAxLCAyNDAsIDEyMywgODEsIAotICAgIDYsIDEsIDIzNCwgMjMzLCA4MSwgNCwgMSwgMjM0LCAyMzMsIDgxLCA2LCAxLCAyMzMsIDc4LCA4MSwgNCwgMSwgMjMzLCA3OCwgCi0gICAgODEsIDYsIDEsIDIzMCwgMjM1LCA4MSwgNCwgMSwgMjMwLCAyMzUsIDgxLCA2LCAxLCAyMjgsIDIzOCwgODEsIDQsIDEsIAotICAgIDIyOCwgMjM4LCA4MSwgNiwgMSwgMjMzLCAyMzksIDgxLCA0LCAxLCAyMzMsIDIzOSwgODEsIDYsIDEsIDc4LCA4MSwgNCwgMSwgCi0gICAgNzgsIDgxLCA2LCAxLCAyMjUsIDExMSwgODEsIDQsIDEsIDIyNSwgMTExLCA4MSwgNiwgMSwgMjIyLCAyMTMsIDgxLCA0LCAxLCAKLSAgICAyMjIsIDIxMywgODEsIDYsIDEsIDIxOSwgMTY3LCA4MSwgNCwgMSwgMjE5LCAxNjcsIDgxLCA2LCAxLCAyMTcsIDQyLCA4MSwgCi0gICAgNCwgMSwgMjE3LCA0MiwgODEsIDYsIDEsIDIxNCwgMjI5LCA4MSwgNCwgMSwgMjE0LCAyMjksIDgxLCA2LCAxLCAyNDQsIAotICAgIDEyOSwgODEsIDQsIDEsIDI0NCwgMTI5LCA4MSwgNiwgMSwgMjM0LCAxMTgsIDgxLCA0LCAxLCAyMzQsIDExOCwgODEsIDYsIAotICAgIDEsIDIyNCwgMTY0LCA4MSwgNCwgMSwgMjI0LCAxNjQsIDgxLCA2LCAxLCAyMjYsIDE4MiwgODEsIDQsIDEsIDIyNiwgMTgyLCAKLSAgICA4MSwgNiwgMSwgMjQ4LCA1LCAyNTQsIDE3OSwgODEsIDQsIDEsIDI0OCwgNSwgMjU0LCAxNzksIDgxLCA2LCAxLCA1NSwgODEsIAotICAgIDI1NCwgMjA1LCA4MSwgNCwgMSwgNTUsIDgxLCAyNTQsIDIwNSwgODEsIDYsIDEsIDI0OSwgMTIzLCAyNDUsIDIwMiwgODEsIAotICAgIDQsIDEsIDI0OSwgMTIzLCAyNDUsIDIwMiwgODEsIDYsIDEsIDI0OCwgNSwgMjM0LCAyMzMsIDgxLCA0LCAxLCAyNDgsIDUsIAotICAgIDIzNCwgMjMzLCA4MSwgNiwgMSwgMjQ4LCA1LCAyMjgsIDIzOCwgODEsIDQsIDEsIDI0OCwgNSwgMjI4LCAyMzgsIDgxLCA2LCAKLSAgICAxLCAyNDksIDEyMywgMjI4LCAyMzgsIDgxLCA0LCAxLCAyNDksIDEyMywgMjI4LCAyMzgsIDgxLCA2LCAxLCA1NSwgODEsIAotICAgIDIyNiwgMTgyLCA4MSwgNCwgMSwgNTUsIDgxLCAyMjYsIDE4MiwgODEsIDYsIDEsIDIyMSwgMjQ4LCA4MSwgNCwgMSwgMjIxLCAKLSAgICAyNDgsIDgxLCA2LCAxLCAyNDksIDEzNiwgMjIwLCA1NywgODEsIDQsIDEsIDI0OSwgMTM2LCAyMjAsIDU3LCA4MSwgNiwgMSwgCi0gICAgNTUsIDgxLCAyMjAsIDU3LCA4MSwgNCwgMSwgNTUsIDgxLCAyMjAsIDU3LCA4MSwgNiwgMSwgNTUsIDgxLCAyNDUsIDgzLCAKLSAgICA4MSwgNCwgMSwgNTUsIDgxLCAyNDUsIDgzLCA4MSwgNiwgMSwgMjU0LCAxOTEsIDIzNCwgMTIzLCA4MSwgNCwgMSwgMjU0LCAKLSAgICAxOTEsIDIzNCwgMTIzLCA4MSwgNiwgMSwgMjQ4LCA1LCAyNDEsIDUyLCA4MSwgNCwgMSwgMjQ4LCA1LCAyNDEsIDUyLCA4MSwgCi0gICAgNiwgMSwgNTUsIDgxLCAyNDEsIDUyLCA4MSwgNCwgMSwgNTUsIDgxLCAyNDEsIDUyLCA4MSwgNiwgMSwgNTUsIDgxLCAxNjIsIAotICAgIDgxLCA0LCAxLCA1NSwgODEsIDE2MiwgODEsIDYsIDEsIDIzMywgMTU0LCAxNjIsIDgxLCA0LCAxLCAyMzMsIDE1NCwgMTYyLCAKLSAgICA4MSwgNiwgMSwgNTUsIDgxLCAyNDEsIDIyNCwgODEsIDQsIDEsIDU1LCA4MSwgMjQxLCAyMjQsIDgxLCA2LCAxLCA1NSwgODEsIAotICAgIDI0MiwgMiwgODEsIDQsIDEsIDU1LCA4MSwgMjQyLCAyLCA4MSwgNiwgMSwgNTUsIDgxLCAyNDMsIDEwOSwgODEsIDQsIDEsIAotICAgIDU1LCA4MSwgMjQzLCAxMDksIDgxLCA2LCAxLCA1NSwgODEsIDI0NywgMTcxLCA4MSwgNCwgMSwgNTUsIDgxLCAyNDcsIDE3MSwgCi0gICAgODEsIDYsIDEsIDU1LCA4MSwgMjIwLCAyNCwgODEsIDQsIDEsIDU1LCA4MSwgMjIwLCAyNCwgODEsIDYsIDEsIDU1LCAyMjcsIAotICAgIDIxMiwgMjIwLCAyNCwgODEsIDQsIDEsIDU1LCAyMjcsIDIxMiwgMjIwLCAyNCwgODEsIDYsIDEsIDU1LCAyMjcsIDIxMiwgCi0gICAgMjI5LCAzMiwgODEsIDQsIDEsIDU1LCAyMjcsIDIxMiwgMjI5LCAzMiwgODEsIDYsIDEsIDU1LCAyMjcsIDIxMiwgMjI3LCAKLSAgICAxNTIsIDgxLCA0LCAxLCA1NSwgMjI3LCAyMTIsIDIyNywgMTUyLCA4MSwgNiwgMSwgNTUsIDIyNywgMjEyLCAyMTIsIDM3LCAKLSAgICA4MSwgNCwgMSwgNTUsIDIyNywgMjEyLCAyMTIsIDM3LCA4MSwgMTYsIDIzNCwgMjUyLCA4MSwgMTYsIDIzMCwgMjM2LCAyMjIsIAotICAgIDIxMywgODEsIDE2LCAyMjUsIDExMiwgMjIyLCAyMTMsIDgxLCAxNiwgMjE4LCAxNDksIDgxLCAxNiwgMjE3LCA0MywgMjIyLCAKLSAgICAyMTMsIDgxLCAxNiwgMjM0LCAxMTksIDIyMiwgMjEzLCA4MSwgMTYsIDIyMCwgMjUsIDIxOSwgMTY3LCA4MSwgNiwgMSwgCi0gICAgMjQ5LCAxMjMsIDIyMCwgNTcsIDgxLCA0LCAxLCAyNDksIDEyMywgMjIwLCA1NywgODEsIDYsIDEsIDI0OSwgMTIzLCAyNDMsIAotICAgIDEwOSwgODEsIDQsIDEsIDI0OSwgMTIzLCAyNDMsIDEwOSwgODEsIDM4LCAyMjgsIDIzOSwgNDgsIDgxLCAzOCwgMjE4LCAKLSAgICAyNDksIDI1MywgMjMyLCA4MSwgMzgsIDIxOCwgMjQ5LCAyMzMsIDI3LCA4MSwgNiwgMSwgMjUxLCAyMDcsIDIzNCwgMTIzLCAKLSAgICA4MSwgNCwgMSwgMjUxLCAyMDcsIDIzNCwgMTIzLCA4MSwgNTUsIDIyNywgMjEyLCAyNDMsIDIzNiwgMjE4LCAxMzEsIDgxLCAKLSAgICA1NSwgMjI3LCAyMTIsIDI0NywgMjA1LCAyMjQsIDE2LCA3OSwgODEsIDU1LCAyMjcsIDIxMiwgMjM1LCAyNDQsIDIyNCwgMTYsIAotICAgIDc5LCA4MSwgNTUsIDIyNywgMjEyLCAyMTMsIDI0MSwgMjQ3LCAxODAsIDgxLCAyNDQsIDEwLCAxMjMsIDI0MiwgMzQsIDgxLCAKLSAgICAyNDMsIDIzNiwgMjE4LCAxMzEsIDgxLCAyMzAsIDEyOSwgMjQ3LCAxODAsIDk4LCA0LCAxLCAyNTQsIDEzMSwgOTgsIDQsIDEsIAotICAgIDI1MiwgMTYwLCA5OCwgNCwgMSwgMjQzLCAxMTMsIDk4LCA0LCAxLCAyNDcsIDEzNiwgOTgsIDQsIDEsIDI0NSwgMTU4LCA5OCwgCi0gICAgNCwgMSwgMjEzLCAxNjAsIDk4LCA0LCAxLCAyMTAsIDg5LCA5OCwgNCwgMSwgMjE3LCA2MSwgOTgsIDQsIDEsIDIzNiwgNiwgCi0gICAgOTgsIDQsIDEsIDIzNCwgMjQwLCA5OCwgNCwgMSwgMjMzLCA4NywgOTgsIDQsIDEsIDIzMSwgMTkwLCA5OCwgNCwgMSwgMjI5LCAKLSAgICAyMDAsIDk4LCA0LCAxLCAyMjYsIDIwMCwgOTgsIDQsIDEsIDIyNiwgMjEsIDk4LCA0LCAxLCAyMTAsIDc4LCA5OCwgNCwgMSwgCi0gICAgMjIzLCAxNzQsIDk4LCA0LCAxLCAyMjEsIDI0NSwgOTgsIDQsIDEsIDIxNywgNTEsIDk4LCA0LCAxLCAyMTQsIDE5MCwgOTgsIAotICAgIDQsIDEsIDIyNSwgMTQzLCA5OCwgNCwgMSwgMjM0LCAxMjcsIDk4LCA0LCAxLCAyNDIsIDI0OCwgOTgsIDQsIDEsIDIyNCwgCi0gICAgNzYsIDk4LCA0LCAxLCAyMjAsIDIyLCA5OCwgNCwgMSwgMjUwLCAxMDUsIDk4LCA0LCAxLCAyNTEsIDE1LCA5OCwgNCwgMSwgCi0gICAgMjM1LCAxMDYsIDk4LCA0LCAxLCAyNTAsIDQ4LCA5OCwgNCwgMSwgMjUwLCAxNTEsIDk4LCA0LCAxLCAyMTEsIDE2MywgOTgsIAotICAgIDQsIDEsIDIzNSwgMTE3LCA5OCwgNCwgMSwgMjQyLCA1MCwgOTgsIDQsIDEsIDI0MSwgMjQ1LCA5OCwgNCwgMSwgMjQxLCAKLSAgICAxODIsIDk4LCA0LCAxLCAyMTIsIDIyLCA5OCwgNCwgMSwgMjQyLCAxMSwgOTgsIDQsIDEsIDI0MSwgNzIsIDk4LCA0LCAxLCAKLSAgICAyMTAsIDI0NiwgOTgsIDQsIDEsIDI1NCwgMjQxLCAyMTYsIDEwOSwgMSwgMTkyLCAyMTYsIDEwOSwgMSwgMjExLCA5OSwgCi0gICAgMjE2LCAxMDksIDEsIDIxMSwgOTgsIDIxNiwgMTA5LCAxLCAyMTEsIDg4LCAyMTYsIDEwOSwgMSwgMjExLCA4NiwgMjE2LCAKLSAgICAxMDksIDEsIDI1MiwgNDAsIDI1NSwgMjUsIDIxMSwgODEsIDIxNiwgMTA5LCAxLCAyMTEsIDgxLCAyMTYsIDEwOSwgMSwgCi0gICAgMjExLCA5NiwgMjE2LCAxMDksIDEsIDIxMSwgOTMsIDIxNiwgMTA5LCAxLCAyMTEsIDk1LCAyMTYsIDEwOSwgMSwgMjExLCAKLSAgICA5NCwgMjE2LCAxMDksIDEsIDIxMSwgMTIsIDIxNiwgMTA5LCAxLCAyMTEsIDkwLCAyMTYsIDEwOSwgMSwgMjExLCA3OSwgCi0gICAgMjE2LCAxMDksIDEsIDIxNSwgMTE2LCAyMTEsIDc5LCAyMTYsIDEwOSwgMSwgMjExLCA3NiwgMjE2LCAxMDksIDEsIDIxMSwgCi0gICAgODQsIDIxNiwgMTA5LCAxLCAyNTIsIDQwLCAyNTUsIDI1LCAyMTEsIDg0LCAyMTYsIDEwOSwgMSwgMjE1LCAxMTYsIDIxMSwgCi0gICAgODQsIDIxNiwgMTA5LCAxLCAyMTEsIDgzLCAyMTYsIDEwOSwgMSwgMjExLCAxMDMsIDIxNiwgMTA5LCAxLCAyMTEsIDc3LCAKLSAgICAyMTYsIDEwOSwgMSwgMjE1LCAxMTYsIDIxMSwgNzcsIDIxNiwgMTA5LCAxLCAyMTEsIDY2LCAyMTYsIDEwOSwgMSwgMjE1LCAKLSAgICAxMTYsIDIxMSwgNjYsIDIxNiwgMTA5LCAxLCAyMTEsIDgsIDIxNiwgMTA5LCAxLCAyMTEsIDQ5LCAyMTYsIDEwOSwgMSwgCi0gICAgMjU0LCAyMTYsIDIxMSwgNDksIDIxNiwgMTA5LCAxLCAyMTUsIDExNiwgMjExLCA0OSwgMjE2LCAxMDksIDEsIDIxMSwgNzUsIAotICAgIDIxNiwgMTA5LCAxLCAyMTEsIDc0LCAyMTYsIDEwOSwgMSwgMjExLCA3MSwgMjE2LCAxMDksIDEsIDIxNSwgMTE2LCAyMTEsIAotICAgIDg1LCAyMTYsIDEwOSwgMSwgMjE1LCAxMTYsIDIxMSwgNjksIDIxNiwgMTA5LCAxLCAyMTEsIDY3LCAyMTYsIDEwOSwgMSwgCi0gICAgMjEwLCAyMTIsIDIxNiwgMTA5LCAxLCAyMTEsIDY0LCAyMTYsIDEwOSwgMSwgMjExLCA2MywgMjE2LCAxMDksIDEsIDIxMSwgCi0gICAgODcsIDIxNiwgMTA5LCAxLCAyMTUsIDExNiwgMjExLCA4NywgMjE2LCAxMDksIDEsIDI1MywgMTcxLCAyMTEsIDg3LCAyMTYsIAotICAgIDEwOSwgMSwgMjExLCA2MiwgMjE2LCAxMDksIDEsIDIxMSwgNjAsIDIxNiwgMTA5LCAxLCAyMTEsIDYxLCAyMTYsIDEwOSwgMSwgCi0gICAgMjExLCA1OSwgMjE2LCAxMDksIDEsIDIxMSwgNTgsIDIxNiwgMTA5LCAxLCAyMTEsIDk3LCAyMTYsIDEwOSwgMSwgMjExLCAKLSAgICA1NiwgMjE2LCAxMDksIDEsIDIxMSwgNTQsIDIxNiwgMTA5LCAxLCAyMTEsIDUzLCAyMTYsIDEwOSwgMSwgMjExLCA1MiwgCi0gICAgMjE2LCAxMDksIDEsIDIxMSwgNTAsIDIxNiwgMTA5LCAxLCAyMTcsIDM1LCAyMTEsIDUwLCAyMTYsIDEwOSwgMSwgMjExLCAKLSAgICA0OCwgMjE2LCAxMDksIDEsIDIxMSwgNDcsIDIxNiwgMTA5LCAxLCAyMTAsIDI0NCwgMjE2LCAxMDksIDU4LCAxLCAyMzMsIAotICAgIDEzMiwgNzksIDIxNiwgMTA5LCAyMjAsIDE0MCwgNzksIDIxNiwgMTA5LCAxMTcsIDIzNSwgNjksIDI5LCAzLCAyMzIsIDE2MSwgCi0gICAgMjksIDMsIDIzMCwgMTY1LCAyOSwgMywgMjIyLCAyMTEsIDI5LCAzLCAyMTksIDU5LCAyOSwgMywgMjIwLCA4LCAyOSwgMywgCi0gICAgMjUxLCAyMTIsIDI5LCAzLCAyMTYsIDQyLCAyOSwgMywgMjQ5LCAyNDUsIDI5LCAzLCAyMjgsIDc3LCAyOSwgMywgMjI3LCAKLSAgICAxMzcsIDI5LCAzLCAyNDIsIDE4NywgMjI3LCA0LCAyOSwgMywgMjEwLCAyMiwgMjksIDMsIDI0NywgMTUxLCAyOSwgMywgCi0gICAgMjQ4LCAxMTIsIDI5LCAzLCAyMzUsIDczLCAyOSwgMywgMjE2LCAxNTYsIDI5LCAzLCAyNTAsIDkzLCAyOSwgMywgMjI1LCAKLSAgICAxMjMsIDI5LCAzLCAyMjUsIDE4LCAyOSwgMywgMjQzLCA2LCAyOSwgMywgMjQzLCAyLCAyOSwgMywgMjQzLCAzLCAyOSwgMywgCi0gICAgMjQzLCA0LCAyOSwgMywgMjE4LCAyMjUsIDI5LCAzLCAyMTgsIDE4MSwgMjksIDMsIDIxOCwgMTk0LCAyOSwgMywgMjE4LCAKLSAgICAyMjQsIDI5LCAzLCAyMTgsIDE5OCwgMjksIDMsIDIxOCwgMTk5LCAyOSwgMywgMjE4LCAxODYsIDI5LCAzLCAyNTAsIDIyMSwgCi0gICAgMjksIDMsIDI1MCwgMjAwLCAyOSwgMywgMjUwLCAyMDIsIDI5LCAzLCAyNTAsIDIyMCwgMjksIDMsIDI1MCwgMjE4LCAyOSwgCi0gICAgMywgMjUwLCAyMTksIDI5LCAzLCAyNTAsIDIwMSwgMjksIDMsIDIwOSwgMjQzLCAyOSwgMywgMjA5LCAyMjEsIDI5LCAzLCAKLSAgICAyMDksIDIzNCwgMjksIDMsIDIwOSwgMjQyLCAyOSwgMywgMjA5LCAyMzcsIDI5LCAzLCAyMDksIDIzOCwgMjksIDMsIDIwOSwgCi0gICAgMjI2LCAyOSwgMywgMjUwLCAyMTYsIDI5LCAzLCAyNTAsIDIwMywgMjksIDMsIDI1MCwgMjA1LCAyOSwgMywgMjUwLCAyMTUsIAotICAgIDI5LCAzLCAyNTAsIDIxMywgMjksIDMsIDI1MCwgMjE0LCAyOSwgMywgMjUwLCAyMDQsIDI5LCAzLCAyMjMsIDIzOSwgMjksIAotICAgIDMsIDIyMywgMjI5LCAyOSwgMywgMjIzLCAyMzUsIDI5LCAzLCAyMjMsIDIzOCwgMjksIDMsIDIyMywgMjM2LCAyOSwgMywgCi0gICAgMjIzLCAyMzcsIDI5LCAzLCAyMjMsIDIzNCwgMjksIDMsIDIzMywgMTY1LCAyOSwgMywgMjMzLCAxNTcsIDI5LCAzLCAyMzMsIAotICAgIDE2MCwgMjksIDMsIDIzMywgMTY0LCAyOSwgMywgMjMzLCAxNjEsIDI5LCAzLCAyMzMsIDE2MiwgMjksIDMsIDIzMywgMTU4LCAKLSAgICAyOSwgMywgMjExLCAxMzAsIDI5LCAzLCAyMTEsIDEyMCwgMjksIDMsIDIxMSwgMTI2LCAyOSwgMywgMjExLCAxMjksIDI5LCAKLSAgICAzLCAyMTEsIDEyNywgMjksIDMsIDIxMSwgMTI4LCAyOSwgMywgMjExLCAxMjUsIDI5LCAzLCAyNDIsIDc4LCAyOSwgMywgCi0gICAgMjQyLCA2OSwgMjksIDMsIDI0MiwgNzIsIDI5LCAzLCAyNDIsIDc3LCAyOSwgMywgMjQyLCA3NCwgMjksIDMsIDI0MiwgNzUsIAotICAgIDI5LCAzLCAyNDIsIDcxLCAzOCwgMzMsIDEsIDI1MiwgODMsIDM4LCAzMywgMSwgMjEzLCAyNTUsIDM4LCAzMywgMSwgMjQyLCAKLSAgICAyNDMsIDM4LCAzMywgMSwgMjQ4LCA5OCwgMzgsIDMzLCAxLCAyMTAsIDc0LCAzOCwgMzMsIDEsIDIxMCwgOTQsIDM4LCAzMywgCi0gICAgMSwgMTc2LCAzOCwgMzMsIDEsIDI0NSwgMTgyLCAzOCwgMzMsIDEsIDI0NSwgMTY3LCAzOCwgMzMsIDEsIDI0NSwgMTU4LCAKLSAgICAzOCwgMzMsIDEsIDc4LCAzOCwgMzMsIDEsIDIyNSwgMjI0LCAzOCwgMzMsIDEsIDI0NSwgMTAwLCAzOCwgMzMsIDEsIDI0NSwgCi0gICAgOTAsIDM4LCAzMywgMSwgMjE3LCAyMywgMzgsIDMzLCAxLCAxNjIsIDM4LCAzMywgMSwgMjE1LCAxNzksIDM4LCAzMywgMSwgCi0gICAgMjUwLCAxMzksIDM4LCAzMywgMSwgMjIwLCAxMDQsIDM4LCAzMywgMSwgMjIwLCA2NywgMzgsIDMzLCAxLCAyNDQsIDkwLCAKLSAgICAzOCwgMzMsIDEsIDI0NSwgODksIDM4LCAzMywgMSwgNjEsIDM4LCAzMywgMSwgMjM2LCA2NywgMzgsIDMzLCAxLCAyNDcsIAotICAgIDE2OSwgMzgsIDMzLCAxLCAyMzAsIDE0NSwgMjE0LCAyMDUsIDM4LCAzMywgMSwgMjExLCA1OSwgMzgsIDMzLCAxLCAyMTAsIAotICAgIDIxMiwgMzgsIDMzLCAxLCAyMzUsIDE5MCwgNjEsIDM4LCAzMywgMSwgMjMyLCAxOTgsIDIxMCwgMTgzLCAzOCwgMzMsIDEsIAotICAgIDI1MiwgMSwgMjEwLCAxODMsIDM4LCAzMywgMSwgMjM1LCAxOTAsIDI1MiwgMSwgMjEwLCAxODMsIDQ0LCAyNTQsIDExOCwgCi0gICAgMjE4LCA2MSwgMjMxLCAxNTksIDQ0LCAyNTQsIDExOCwgMjQ2LCAxMjYsIDIxOCwgNjEsIDIzMSwgMTU5LCA0MywgMjE4LCAKLSAgICA2MSwgMTI3LCA0NCwgMjE4LCA2MSwgMTI3LCA0MywgMjQ2LCAxMjYsIDIxOCwgNjEsIDEyNywgNDQsIDI0NiwgMTI2LCAyMTgsIAotICAgIDYxLCAxMjcsIDIyMywgMTYwLCAyMzUsIDIwOSwgMjMxLCAxNTksIDIyMywgMTYwLCAyNDYsIDEyNiwgMjM1LCAyMDksIDIzMSwgCi0gICAgMTU5LCAyNDYsIDEyNiwgMjE1LCAyNDIsIDIzMSwgMTU5LCA0MywgMjE1LCAyNDIsIDEyNywgNDQsIDIxNSwgMjQyLCAxMjcsIAotICAgIDIyMywgMTYwLCAyMTgsIDIzNiwgNDMsIDIyMywgMTYwLCAyMjYsIDIwMiwgMTI3LCA0NCwgMjIzLCAxNjAsIDIyNiwgMjAyLCAKLSAgICAxMjcsIDI0NSwgMjE4LCAyNDksIDE2NiwgMjI2LCAxNywgMjQ0LCAzMCwgMjI2LCAxNywgMjIzLCA1MiwgMjQ0LCAzMCwgCi0gICAgMjI2LCAxNywgMjQwLCAxNzIsIDI0NiwgMTI2LCAyMjYsIDI1NSwgMjQ2LCAxMTIsIDI1NCwgMTI3LCAyMTQsIDE1MywgMjU0LCAKLSAgICAxMjcsIDI0NiwgMTI2LCAyMjIsIDI1MCwgMjU0LCAxMTcsIDUyLCAyMjYsIDI1MiwgMjQwLCAxNzUsIDIzNSwgMjAwLCAyMzUsIAotICAgIDIwOCwgMjI2LCA2MywgMjUxLCAxNjIsIDI0MCwgMTc2LCAyLCAyNDgsIDksIDIxNiwgOTAsIDIsIDIyMiwgMjM3LCA0OCwgCi0gICAgNDMsIDEyMSwgMjI2LCA5LCAxMjcsIDQ0LCAxMjEsIDIyNiwgOSwgMTI3LCAyMTYsIDkwLCAyLCA1OSwgNDgsIDIxNiwgOTAsIAotICAgIDIsIDU5LCA1MSwgNDMsIDY3LCAyNTIsIDE0OSwgMiwgMjI0LCAxMCwgNDQsIDY3LCAyNTIsIDE0OSwgMiwgMjI0LCAxMCwgCi0gICAgMjE2LCAxNSwgNDMsIDE2MywgMTI3LCAyMTYsIDE1LCA0NCwgMTYzLCAxMjcsIDI1MSwgMTgzLCA0MywgMTYzLCAxMjcsIAotICAgIDI1MSwgMTgzLCA0NCwgMTYzLCAxMjcsIDQzLCAyMTksIDE4OSwgMTA0LCAxMjcsIDQ0LCAyMTksIDE4OSwgMTA0LCAxMjcsIAotICAgIDQzLCA1MiwgMjI2LCA3LCA0NCwgNTIsIDIyNiwgNywgMTEzLCAxNzAsIDExNSwgMTIzLCA1OSwgMjI0LCAxNDMsIDEyMywgCi0gICAgNTksIDExNSwgMTEzLCAxNzAsIDIyNCwgMTQzLCA5MiwgMjQ0LCAxOSwgNTksIDIyNCwgMTQzLCAyNDQsIDg5LCA1OSwgNzksIAotICAgIDIyMywgNTIsIDIyNCwgMTYsIDc5LCA2NywgMTg0LCAyMjIsIDIzNywgMjI1LCAxMywgMjExLCAyMDksIDIyMCwgMTQwLCAKLSAgICAyMzAsIDIyOSwgMjQ3LCAxMjgsIDIxNSwgOTQsIDI0OSwgMjI3LCAyMjMsIDE2MCwgMjQ3LCAxMjgsIDIyMywgMTYwLCAyNDksIAotICAgIDIyNywgMjE1LCA5NCwgMjIwLCAxNTIsIDI0OCwgMjE0LCAyLCA0MywgMjQyLCAxMTUsIDI0OCwgMjE0LCAyLCA0NCwgMjQyLCAKLSAgICAxMTUsIDIxNSwgOTQsIDI0OCwgMjEzLCAyMTYsIDE1LCAxNjMsIDIyMSwgMTc1LCA1MCwgMjE1LCA1OSwgMjQ4LCAxNjQsIAotICAgIDIxNiwgMTQ0LCAyNDgsIDE2NCwgMTAsIDM0LCAyMjMsIDc5LCAxMCwgMzQsIDI1MCwgMTgsIDEwLCAzNCwgMjIxLCAxNzgsIAotICAgIDExMSwgMTAsIDM0LCAyMjEsIDE3OCwgMTA1LCAxMCwgMzQsIDIyMSwgMTc4LCAxNTgsIDEwLCAzNCwgMjI1LCAxNzAsIDEwLCAKLSAgICAzNCwgMjUxLCAxNzEsIDEwLCAzNCwgMjE3LCA5MywgMTAsIDM0LCAyMzQsIDM5LCAxMTEsIDEwLCAzNCwgMjM0LCAzOSwgCi0gICAgMTA1LCAxMCwgMzQsIDI0NywgMTc4LCAxMCwgMzQsIDIyMSwgMTgxLCAxMCwgMzQsIDQsIDExMSwgMTAsIDM0LCA0LCAxMDUsIAotICAgIDEwLCAzNCwgMjMzLCAxMDMsIDExMSwgMTAsIDM0LCAyMzMsIDEwMywgMTA1LCAxMCwgMzQsIDIzMywgMTAzLCAxNTgsIDEwLCAKLSAgICAzNCwgMjMzLCAxMDMsIDE2MSwgMTAsIDM0LCAyMTksIDcwLCAxMCwgMzQsIDIxNiwgMTQ2LCAxMCwgMzQsIDIxOSwgNjgsIAotICAgIDExMSwgMTAsIDM0LCAyMTksIDY4LCAxMDUsIDEwLCAzNCwgMjQxLCAyMzUsIDExMSwgMTAsIDM0LCAyNDEsIDIzNSwgMTA1LCAKLSAgICAxMCwgMzQsIDI0MiwgMjIsIDEwLCAzNCwgMjIzLCAxNTAsIDEwLCAzNCwgMjUwLCA5MCwgMTAsIDM0LCAyMTgsIDM4LCAxMCwgCi0gICAgMzQsIDIzMCwgMTMzLCAxMCwgMzQsIDI0OCwgOTYsIDEwLCAzNCwgMjMwLCAxMjUsIDEwLCAzNCwgMjUwLCAzMywgMTAsIDM0LCAKLSAgICAyMTIsIDQxLCAxMTEsIDEwLCAzNCwgMjEyLCA0MSwgMTA1LCAxMCwgMzQsIDI0NCwgMTA0LCAxMCwgMzQsIDIyNSwgMjM2LCAKLSAgICAxMTEsIDEwLCAzNCwgMjI1LCAyMzYsIDEwNSwgMTAsIDM0LCAyMTksIDE2MiwgMTYzLCAyMTUsIDIzNywgMjE1LCAxODksIAotICAgIDEwLCAzNCwgMjQ5LCAxNTMsIDEwLCAzNCwgMjQ3LCAxNDQsIDEwLCAzNCwgMjM1LCAxNDMsIDEwLCAzNCwgMjUxLCAyMDYsIAotICAgIDY0LCAyNTAsIDIsIDEwLCAzNCwgMjQ1LCAyMywgMTAsIDM0LCAyMTgsIDI1MSwgMTExLCAxMCwgMzQsIDIxOCwgMjUxLCAKLSAgICAxMDUsIDEwLCAzNCwgMjUyLCAxNjIsIDEwLCAzNCwgMjE5LCAxNjksIDEwLCAzNCwgMjUxLCA3MSwgMjE5LCAxNjksIDEwLCAKLSAgICAzNCwgMjI5LCA5NSwgMTExLCAxMCwgMzQsIDIyOSwgOTUsIDEwNSwgMTAsIDM0LCAyMjksIDk1LCAxNTgsIDEwLCAzNCwgCi0gICAgMjI5LCA5NSwgMTYxLCAxMCwgMzQsIDIzMSwgNTEsIDEwLCAzNCwgMjIwLCA1OSwgMTAsIDM0LCAyMjMsIDE1NiwgMTAsIDM0LCAKLSAgICAyNDUsIDQ1LCAxMCwgMzQsIDIyNiwgMjEzLCAxMCwgMzQsIDI1MSwgMTQxLCAxMTEsIDEwLCAzNCwgMjUxLCAxNDEsIDEwNSwgCi0gICAgMTAsIDM0LCAyMzEsIDkxLCAxMCwgMzQsIDIzMCwgMTI4LCAxMCwgMzQsIDI0MiwgMTQ3LCAxMTEsIDEwLCAzNCwgMjQyLCAKLSAgICAxNDcsIDEwNSwgMTAsIDM0LCAyNDIsIDE0NywgMTU4LCAxMCwgMzQsIDIxNiwgMTA3LCAxMCwgMzQsIDI1MCwgMSwgMTAsIAotICAgIDM0LCAyMTIsIDksIDExMSwgMTAsIDM0LCAyMTIsIDksIDEwNSwgMTAsIDM0LCAyNTEsIDcxLCAyMjEsIDE3MiwgMTAsIDM0LCAKLSAgICAyMTksIDE2MiwgMjQwLCAyNTUsIDEwLCAzNCwgMjQwLCAyNTUsIDEwLCAzNCwgMjUxLCA3MSwgMjE5LCA0LCAxMCwgMzQsIAotICAgIDI1MSwgNzEsIDIyMCwgNTQsIDEwLCAzNCwgMjQ0LCA0MCwgMTAsIDM0LCAyNTEsIDcxLCAyNTAsIDIzNiwgMTAsIDM0LCAKLSAgICAyMTksIDE2MiwgMjEyLCA1NywgMTAsIDM0LCAyMTIsIDU4LCAxMTEsIDEwLCAzNCwgMjEyLCA1OCwgMTA1LCAxMCwgMzQsIAotICAgIDI1MCwgMzUsIDEwLCAzNCwgMjUxLCA3MSwgMjQyLCAxNzMsIDEwLCAzNCwgMjAwLCAxMTEsIDEwLCAzNCwgMjAwLCAxMDUsIAotICAgIDEwLCAzNCwgMjUxLCA3MSwgMjMyLCAxNDMsIDEwLCAzNCwgMjUxLCA3MSwgMjQzLCA5NSwgMTAsIDM0LCAyMzAsIDEyNCwgCi0gICAgMTExLCAxMCwgMzQsIDIzMCwgMTI0LCAxMDUsIDEwLCAzNCwgMjIzLCAxNjIsIDEwLCAzNCwgMjUxLCAyMTUsIDEwLCAzNCwgCi0gICAgMjUxLCA3MSwgMjE3LCA1NywgMjMzLCA1OCwgMTAsIDM0LCAyNTEsIDcxLCAyMzMsIDU5LCAxMCwgMzQsIDI1MSwgNzEsIAotICAgIDIxMSwgMjM5LCAxMCwgMzQsIDI1MSwgNzEsIDI0NCwgNTQsIDEwLCAzNCwgMjQ1LCAyMjYsIDExMSwgMTAsIDM0LCAyNDUsIAotICAgIDIyNiwgMTA1LCAxMCwgMzQsIDI0NSwgMjI2LCAxNTgsIDEwLCAzNCwgMjUxLCA3MSwgMjQ1LCAyMjUsIDEwLCAzNCwgMjQxLCAKLSAgICAyNDIsIDEwLCAzNCwgMjUxLCA3MSwgMjQwLCAyNTIsIDEwLCAzNCwgMjUxLCAyMDIsIDEwLCAzNCwgMjQyLCAyMjksIDEwLCAKLSAgICAzNCwgMjUxLCA3MSwgMjQ0LCA5OCwgMTAsIDM0LCAyNTEsIDcxLCAyNTEsIDI0NSwgMTAsIDM0LCAyNTEsIDcxLCAyMjIsIDMsIAotICAgIDEwLCAzNCwgMjE5LCAxNjIsIDIxMiwgMiwgMTAsIDM0LCAyMTksIDE2MiwgMjExLCA0MSwgMTAsIDM0LCAyNTEsIDcxLCAKLSAgICAyNDMsIDI1MiwgMTAsIDM0LCAyMzUsIDE0OSwgMjQ1LCA0OSwgMTAsIDM0LCAyNTEsIDcxLCAyNDUsIDQ5LCAxMCwgMzQsIAotICAgIDIzNSwgMTQ5LCAyMTYsIDE2LCAxMCwgMzQsIDI1MSwgNzEsIDIxNiwgMTYsIDEwLCAzNCwgMjM1LCAxNDksIDI0NiwgMTA0LCAKLSAgICAxMCwgMzQsIDI1MSwgNzEsIDI0NiwgMTA0LCAxMCwgMzQsIDIxNSwgOTEsIDEwLCAzNCwgMjM1LCAxNDksIDIxNSwgOTEsIAotICAgIDEwLCAzNCwgMjUxLCA3MSwgMjE1LCA5MSwgNjAsIDM0LCAxMTEsIDYwLCAzNCwgMjMyLCAyMTksIDYwLCAzNCwgMjQ3LCAKLSAgICAxMjgsIDYwLCAzNCwgMjE5LCA5NywgNjAsIDM0LCAyMjEsIDE3NywgNjAsIDM0LCAxMDMsIDYwLCAzNCwgMTA1LCA2MCwgMzQsIAotICAgIDIzMiwgMjQzLCA2MCwgMzQsIDIzMSwgMTkwLCA2MCwgMzQsIDIzMywgMzksIDYwLCAzNCwgMjQ1LCAxMzcsIDYwLCAzNCwgCi0gICAgMTk2LCA2MCwgMzQsIDEyNCwgMjUxLCAxNzEsIDYwLCAzNCwgMjQ5LCAxNTUsIDYwLCAzNCwgMjQwLCAxMTgsIDYwLCAzNCwgCi0gICAgMjE3LCA5MywgNjAsIDM0LCAyMDQsIDI1MSwgMTcxLCA2MCwgMzQsIDIzNCwgMzgsIDYwLCAzNCwgMjI0LCAyMjcsIDYwLCAKLSAgICAzNCwgMjExLCAyMDIsIDYwLCAzNCwgMjE4LCAyNDUsIDYwLCAzNCwgNDQsIDIwNCwgMjUxLCAxNzEsIDYwLCAzNCwgMjQxLCAKLSAgICAxODMsIDI0NSwgMTUzLCA2MCwgMzQsIDIxNiwgMjQ4LCA2MCwgMzQsIDI0NywgMTc4LCA2MCwgMzQsIDIyMSwgMTgxLCA2MCwgCi0gICAgMzQsIDI1MCwgMTgsIDYwLCAzNCwgMjI0LCAxODUsIDYwLCAzNCwgMjU0LCAyMjQsIDYwLCAzNCwgMjMwLCAxMTUsIDYwLCAKLSAgICAzNCwgMjQ1LCAxNTMsIDYwLCAzNCwgMjQ1LCAyMzEsIDYwLCAzNCwgMjIxLCAyMDIsIDYwLCAzNCwgMjQyLCAxODEsIDYwLCAKLSAgICAzNCwgMjQyLCAxODIsIDIxOSwgODMsIDYwLCAzNCwgMjQ1LCA0OCwgNjAsIDM0LCAyNTIsIDAsIDYwLCAzNCwgMjExLCAyMjEsIAotICAgIDYwLCAzNCwgMjUwLCAxMDksIDYwLCAzNCwgMjIyLCAxOTgsIDYwLCAzNCwgMjM2LCAyLCA2MCwgMzQsIDIxOSwgODEsIDYwLCAKLSAgICAzNCwgMjMzLCAxMDIsIDYwLCAzNCwgMjQ5LCAxNjQsIDYwLCAzNCwgMjE4LCAyMzksIDYwLCAzNCwgMjMwLCAxMjAsIDYwLCAKLSAgICAzNCwgMjIyLCAyMjcsIDYwLCAzNCwgMjExLCAyMDYsIDYwLCAzNCwgMjI2LCAxOTQsIDYwLCAzNCwgMjE1LCA5OCwgNjAsIAotICAgIDM0LCAyNDYsIDg4LCA2MCwgMzQsIDIxOSwgMjUzLCAyMTYsIDE0NiwgNjAsIDM0LCAyNDYsIDEyNiwgMjUwLCAxOCwgNjAsIAotICAgIDM0LCAyMDAsIDIxOCwgMTEwLCA2MCwgMzQsIDExMywgMjQyLCAxNywgNjAsIDM0LCAyMjAsIDIsIDYwLCAzNCwgMjUxLCAKLSAgICAxNzcsIDYwLCAzNCwgMjE5LCA2NywgNjAsIDM0LCAyNTEsIDE0NSwgNjAsIDM0LCAyMTgsIDE0MCwgNjAsIDM0LCAyNDEsIAotICAgIDIzNCwgNjAsIDM0LCAyNDIsIDM1LCA2MCwgMzQsIDI0NywgMTMxLCA2MCwgMzQsIDI0MiwgMjIsIDYwLCAzNCwgMjUxLCAKLSAgICAxNjIsIDYwLCAzNCwgMjIzLCAxNTAsIDYwLCAzNCwgMjIxLCAxODksIDYwLCAzNCwgMjQ3LCAyMDcsIDYwLCAzNCwgMjUzLCAKLSAgICAxNzYsIDYwLCAzNCwgMjE4LCAyMzYsIDYwLCAzNCwgMjI4LCA1NiwgNjAsIDM0LCAyMTgsIDM4LCA2MCwgMzQsIDIyMSwgCi0gICAgMjEzLCA2MCwgMzQsIDIzMCwgMTMzLCA2MCwgMzQsIDIxNSwgMjM2LCA2MCwgMzQsIDIzMywgMTI4LCA2MCwgMzQsIDIxOCwgCi0gICAgMTMxLCA2MCwgMzQsIDI0OCwgOTYsIDYwLCAzNCwgMjEyLCAyMSwgNjAsIDM0LCAyNDcsIDE1NCwgMjI4LCA1NiwgNjAsIDM0LCAKLSAgICAyNDksIDIyMywgNjAsIDM0LCAyNDMsIDIyOSwgNjAsIDM0LCAyNTAsIDI5LCA2MCwgMzQsIDIxOCwgMTQ0LCA2MCwgMzQsIAotICAgIDIxMiwgNDAsIDYwLCAzNCwgMjQ0LCAxMDQsIDYwLCAzNCwgMjUwLCAyNiwgNjAsIDM0LCAyNDQsIDE2OSwgNjAsIDM0LCA1MiwgCi0gICAgMjExLCAxNzgsIDYwLCAzNCwgMTYzLCAyMTUsIDIzNywgMjE1LCAxODksIDYwLCAzNCwgMjE5LCA5MSwgNjAsIDM0LCAyNDQsIAotICAgIDE3OSwgNjAsIDM0LCAyNDksIDE1MywgNjAsIDM0LCAyNDcsIDE0NCwgNjAsIDM0LCAyMjQsIDE4MiwgNjAsIDM0LCAyMzUsIAotICAgIDE0MywgNjAsIDM0LCAyMzEsIDcyLCA2MCwgMzQsIDIxNiwgODksIDYwLCAzNCwgMjE3LCAyNDYsIDYwLCAzNCwgMjMyLCAKLSAgICAyMzcsIDYwLCAzNCwgMjE0LCAxMzEsIDYwLCAzNCwgMjQ0LCAxMjgsIDYwLCAzNCwgMjUxLCAyMDYsIDY0LCAyNTAsIDIsIAotICAgIDYwLCAzNCwgMjE5LCAxOTAsIDYwLCAzNCwgMjQ2LCAxMjYsIDIxNiwgMjQzLCA2MCwgMzQsIDIxMSwgMjUzLCA2MCwgMzQsIAotICAgIDIxOSwgMTA1LCA2MCwgMzQsIDI0NywgMTk1LCA2MCwgMzQsIDI0NSwgMjMsIDYwLCAzNCwgMjE5LCA3LCA2MCwgMzQsIDc1LCAKLSAgICA2MCwgMzQsIDIxOCwgMTMzLCA2MCwgMzQsIDIxOCwgMjUwLCA2MCwgMzQsIDIxNiwgMCwgNjAsIDM0LCAyNDIsIDE1NCwgNjAsIAotICAgIDM0LCAyNTAsIDIyNiwgNjAsIDM0LCAyMTgsIDE2MiwgNjAsIDM0LCAyNTIsIDE2MiwgNjAsIDM0LCAyMjMsIDM0LCA2MCwgCi0gICAgMzQsIDIxOSwgMTY5LCA2MCwgMzQsIDIzNSwgMTM2LCA2MCwgMzQsIDIyOSwgOTQsIDYwLCAzNCwgMjIwLCA1OSwgNjAsIDM0LCAKLSAgICAyNDQsIDE1NywgNjAsIDM0LCAyMjYsIDIxMywgNjAsIDM0LCAyNTQsIDEyNiwgNjAsIDM0LCAyMjUsIDMyLCA2MCwgMzQsIAotICAgIDI0NSwgMjM1LCA2MCwgMzQsIDI1MSwgMTQwLCA2MCwgMzQsIDIzMSwgOTEsIDYwLCAzNCwgMjMwLCAxODgsIDYwLCAzNCwgCi0gICAgMjIwLCAxNTgsIDYwLCAzNCwgMjU0LCA0LCA2MCwgMzQsIDIzMCwgMTI4LCA2MCwgMzQsIDIxNiwgMjAsIDYwLCAzNCwgMjI2LCAKLSAgICAxNjksIDYwLCAzNCwgMjUxLCAyMDksIDYwLCAzNCwgMjE4LCAxMjksIDYwLCAzNCwgMjQ5LCAyMzMsIDYwLCAzNCwgMjQyLCAKLSAgICAxNDYsIDYwLCAzNCwgMjE2LCAxMDcsIDYwLCAzNCwgMjM1LCAyMjQsIDYwLCAzNCwgMjUxLCAyMTksIDYwLCAzNCwgMjEyLCAKLSAgICA1OCwgMjQ1LCAxNTMsIDYwLCAzNCwgMjUwLCAxLCA2MCwgMzQsIDIxMiwgOCwgNjAsIDM0LCAyMjEsIDE3MiwgNjAsIDM0LCAKLSAgICAyNDAsIDI1NSwgNjAsIDM0LCAyMTksIDQsIDYwLCAzNCwgMjE0LCAyMiwgNjAsIDM0LCAyNTIsIDgwLCA2MCwgMzQsIDIyNSwgCi0gICAgNzYsIDYwLCAzNCwgMjUyLCAxODIsIDYwLCAzNCwgMjIwLCA1NCwgNjAsIDM0LCAyMjMsIDExMywgNjAsIDM0LCAyMjIsIAotICAgIDEyOCwgNjAsIDM0LCAyNDQsIDQwLCA2MCwgMzQsIDI1MSwgMjA4LCA2MCwgMzQsIDI1MCwgMjM2LCA2MCwgMzQsIDI1MSwgCi0gICAgMjM0LCA2MCwgMzQsIDIzMCwgMTMwLCA2MCwgMzQsIDIxMiwgNTcsIDYwLCAzNCwgMjUwLCAzNSwgNjAsIDM0LCAyMTEsIAotICAgIDIzNiwgNjAsIDM0LCAyNDcsIDE4OCwgNjAsIDM0LCAyMTMsIDE2MSwgNjAsIDM0LCAyNDIsIDE3MywgNjAsIDM0LCAyMzIsIAotICAgIDE0MywgNjAsIDM0LCAyNDMsIDk1LCA2MCwgMzQsIDIzMCwgMTIzLCA2MCwgMzQsIDIxOSwgOTYsIDYwLCAzNCwgMjE5LCAKLSAgICAyNTMsIDIxNywgNzcsIDI1MSwgMjQ1LCA2MCwgMzQsIDIyMywgMTYyLCA2MCwgMzQsIDI1MSwgMjE1LCA2MCwgMzQsIDIxMSwgCi0gICAgMTk3LCA2MCwgMzQsIDI0NCwgMTk4LCA2MCwgMzQsIDIzMywgNTgsIDYwLCAzNCwgMjE3LCA1NywgMjMzLCA1OCwgNjAsIDM0LCAKLSAgICAyMzMsIDU0LCA2MCwgMzQsIDIxOSwgMzIsIDYwLCAzNCwgMjMzLCA1OSwgNjAsIDM0LCAyMTEsIDIzOSwgNjAsIDM0LCAyNDQsIAotICAgIDU0LCA2MCwgMzQsIDI0NSwgMjI1LCA2MCwgMzQsIDI0MSwgMjQyLCA2MCwgMzQsIDI0NCwgOCwgNjAsIDM0LCAyNDAsIDI1MiwgCi0gICAgNjAsIDM0LCAyNTEsIDIwMiwgNjAsIDM0LCAyMTcsIDY0LCA2MCwgMzQsIDI0MiwgNDEsIDYwLCAzNCwgMjQ0LCAxMjEsIDYwLCAKLSAgICAzNCwgMjIyLCAzMCwgMjExLCAyMzYsIDYwLCAzNCwgMjUwLCAyMjgsIDYwLCAzNCwgMjQyLCAyMjksIDYwLCAzNCwgMjQ0LCAKLSAgICA5OCwgNjAsIDM0LCAyNTEsIDI0NSwgNjAsIDM0LCAyMjIsIDMsIDYwLCAzNCwgMjQ4LCA4MiwgNjAsIDM0LCAyMTIsIDIsIAotICAgIDYwLCAzNCwgMjQxLCAyMTcsIDYwLCAzNCwgMjExLCA0MSwgNjAsIDM0LCAyMzAsIDE5NywgNjAsIDM0LCAyNTEsIDIyOSwgCi0gICAgNjAsIDM0LCAyNDUsIDE2MywgNjAsIDM0LCAyNDMsIDI1MiwgNjAsIDM0LCAyMTUsIDIxMCwgNjAsIDM0LCAyNDYsIDkwLCAKLSAgICA2MCwgMzQsIDIyMywgMTQ0LCA2MCwgMzQsIDIyOCwgNTgsIDYwLCAzNCwgMjQ1LCA0OSwgNjAsIDM0LCAyMTYsIDE2LCA2MCwgCi0gICAgMzQsIDI0NiwgMTA0LCA2MCwgMzQsIDIxNSwgOTEsIDYwLCAzNCwgMjQ0LCA1NiwgMTEwLCAyNDgsIDQ1LCAxMzUsIDQzLCAKLSAgICAyMTYsIDQzLCAyMjIsIDI1NCwgMTEwLCAyNDgsIDQ1LCAxMzUsIDcyLCAyMTYsIDQzLCA1MSwgMTEwLCAyNDgsIDQ1LCAxMzUsIAotICAgIDQzLCAyMTYsIDQzLCAyMzAsIDIyOSwgMjIsIDIyMiwgMjU0LCAxMTAsIDI0OCwgNDUsIDEzNSwgNzIsIDIxNiwgNDMsIDIzMCwgCi0gICAgMjI5LCAyMiwgNTEsIDExMCwgMjQ4LCA0NSwgMTM1LCAyNDMsIDIzNiwgMjE4LCAxMSwgMTEwLCAyNDgsIDQ1LCAxMzUsIAotICAgIDIxOCwgMTIsIDI0MywgMjUxLCA0OCwgMTEwLCAyNDgsIDQ1LCAxMzUsIDIxOCwgMTIsIDI0MywgMjUxLCA1MSwgMTEwLCAKLSAgICAyNDgsIDQ1LCAxMzUsIDIxOCwgMTIsIDI0MywgMjUxLCAyMzMsIDUyLCAxMTAsIDI0OCwgNDUsIDEzNSwgMjE4LCAxMiwgCi0gICAgMjQzLCAyNTEsIDIxNCwgMTYwLCAyMzMsIDUyLCAxMTAsIDI0OCwgNDUsIDEzNSwgMjE4LCAxMiwgMjQzLCAyNTEsIDIxNCwgCi0gICAgMTYwLCAyMjIsIDI1NCwgMTEwLCAyNDgsIDQ1LCAxMzUsIDIxOCwgMTIsIDI0MywgMjUxLCAyMzIsIDExNCwgMjMzLCA1MiwgCi0gICAgMTEwLCAyNDgsIDQ1LCAxMzUsIDIyNiwgMTI2LCAxMTAsIDIxOSwgMjAsIDExMCwgMjQ5LCAyMjcsIDExMCwgMjQzLCAyMzYsIAotICAgIDIxOCwgMTMxLCAyNDcsIDE4NSwgNzksIDIzNSwgMTM3LCAyMzUsIDI0MywgMjE4LCAxNjEsIDg3LCAxMTAsIDIzNSwgMTY0LCAKLSAgICA3OSwgMTEwLCAyNTAsIDQsIDc5LCAxMTAsIDU0LCAyMTAsIDg2LCA0MywgMjU0LCAxMTgsIDEyNywgNDQsIDI1NCwgMTE4LCAKLSAgICAxMjcsIDQzLCA1MiwgMjU0LCAxMTgsIDEyNywgNDQsIDUyLCAyNTQsIDExOCwgMTI3LCA0MywgMjQ5LCAxNjksIDEyNywgNDQsIAotICAgIDI0OSwgMTY5LCAxMjcsIDQzLCA3MSwgMjQ5LCAxNjksIDEyNywgNDQsIDcxLCAyNDksIDE2OSwgMTI3LCA0MywgODUsIDIzMywgCi0gICAgMjYsIDEyNywgNDQsIDg1LCAyMzMsIDI2LCAxMjcsIDIyNCwgMjQwLCA3OSwgMjQzLCAzOSwgNzksIDQzLCAyMTYsIDcsIAotICAgIDIyMCwgNTUsIDEyNywgNDQsIDIxNiwgNywgMjIwLCA1NSwgMTI3LCA0MywgNzEsIDIzMywgMjYsIDEyNywgNDQsIDcxLCAKLSAgICAyMzMsIDI2LCAxMjcsIDQzLCA3MSwgMjE2LCA3LCAyMjAsIDU1LCAxMjcsIDQ0LCA3MSwgMjE2LCA3LCAyMjAsIDU1LCAxMjcsIAotICAgIDQzLCA3MSwgNDIsIDEyNywgNDQsIDcxLCA0MiwgMTI3LCAyMTIsIDM2LCAyNDgsIDE2NCwgMjIzLCA1MiwgNTIsIDIyNCwgCi0gICAgMTk0LCAyMjQsIDEsIDc5LCA1MiwgMjI0LCAxOTQsIDIyNCwgMSwgNzksIDEyMSwgNTIsIDIyNCwgMTk0LCAyMjQsIDEsIDc5LCAKLSAgICAyMjQsIDI0MCwgMTY0LCAyNDQsIDE5OCwgMjQyLCAxNSwgMjI3LCAyMDIsIDExMSwgMjQyLCAxNSwgMjI3LCAyMDIsIDEwNSwgCi0gICAgMjQyLCAxNSwgMjI3LCAyMDIsIDE1OCwgMjQyLCAxNSwgMjI3LCAyMDIsIDE2MSwgMjQyLCAxNSwgMjI3LCAyMDIsIDE5MCwgCi0gICAgMjQyLCAxNSwgMjI3LCAyMDIsIDE5NSwgMjQyLCAxNSwgMjI3LCAyMDIsIDE5OSwgMjQyLCAxNSwgMjI3LCAyMDIsIDE5NiwgCi0gICAgMjQyLCAxNSwgMjI3LCAyMDIsIDIwMSwgMTEwLCAyMzMsIDksIDEzOCwgNzksIDExMCwgMjIyLCAyMzEsIDEzOCwgNzksIAotICAgIDExMCwgMjQ4LCA1MiwgMTM4LCA3OSwgMTEwLCAyNDUsIDEzNiwgMTM4LCA3OSwgMjQsIDIxOSwgMTU3LCA1OSwgMTM4LCA3OSwgCi0gICAgMjQsIDUyLCA1OSwgMTM4LCA3OSwgMjEyLCAzMiwgMjQ4LCAxNjQsIDY3LCAyMzQsIDIzOSwgMjIzLCA4MCwgNzksIDY3LCAKLSAgICAyMzQsIDIzOSwgMjIzLCA4MCwgMiwgMjEzLCAxMzUsIDIxOSwgMzMsIDc5LCA2NywgMjM0LCAyMzksIDIyMywgODAsIDE2NCwgCi0gICAgMjE0LCAxNjAsIDI0MiwgMzQsIDY3LCAyMzQsIDIzOSwgMjIzLCA4MCwgMiwgMjEzLCAxMzUsIDIxOSwgMzMsIDE2NCwgMjE0LCAKLSAgICAxNjAsIDI0MiwgMzQsIDY3LCAyMzQsIDIzOSwgMjIzLCA4MCwgMTY0LCAyMzIsIDExNCwgMjQyLCAzNCwgMzcsIDIyNCwgCi0gICAgMjQwLCA3OSwgMTEwLCAyMTcsIDQsIDIzMiwgMjIwLCAyNDQsIDE1NCwgMjIwLCAxNDAsIDg3LCAyNDIsIDE1LCAyMjcsIAotICAgIDIwMiwgMjE2LCAyNDgsIDI0MiwgMTUsIDIyNywgMjAyLCAyMTUsIDczLCAyNDIsIDE1LCAyMjcsIDIwMiwgMjE2LCAxNjMsIAotICAgIDY3LCAxMTAsIDIzNSwgMTY0LCA3OSwgMjMxLCAxNDUsIDc5LCAyMjYsIDMsIDI1NCwgMTQ4LCA3OSwgMTEwLCA0NSwgMjM1LCAKLSAgICAyNDUsIDExMCwgMTYzLCAyNDQsIDExNCwgMjE5LCAyMCwgMTQxLCAxLCA0LCA2MSwgMTQxLCAxLCA2MSwgMTQxLCAxLCA0LCAKLSAgICA3NCwgMTQxLCAxLCA3NCwgMTQxLCAxLCA0LCA2OSwgMTQxLCAxLCA2OSwgMTQxLCAxLCA0LCA3NiwgMTQxLCAxLCA3NiwgCi0gICAgMTQxLCAxLCA0LCA3OCwgMTQxLCAxLCA3OCwgMTQxLCAxLCAxNzYsIDE0MSwgMSwgMjQzLCAxNDIsIDE0MSwgMSwgMjM0LCAKLSAgICA5OCwgMTQxLCAxLCAyNDIsIDIyMSwgMTQxLCAxLCAyMzMsIDIyMywgMTQxLCAxLCAyNDIsIDEyMCwgMTQxLCAxLCAyMzQsIAotICAgIDE4OCwgMTQxLCAxLCAyNDMsIDY5LCAxNDEsIDEsIDIzNCwgMzQsIDE0MSwgMSwgMjQyLCAxODEsIDE0MSwgMSwgMjA2LCAKLSAgICAxNDEsIDEsIDIxMCwgMTE2LCAxNDEsIDEsIDIxOSwgMTkzLCAxNDEsIDEsIDIxMCwgNDQsIDE0MSwgMSwgMjE4LCA4NCwgCi0gICAgMTQxLCAxLCAyMTAsIDEzLCAxNDEsIDEsIDIyMSwgMTgzLCAxNDEsIDEsIDIxMCwgOTQsIDE0MSwgMSwgMjE5LCA2MCwgMTQxLCAKLSAgICAxLCAyMTAsIDIzLCAxNDEsIDEsIDIxNywgMTA2LCAxNDEsIDEsIDI0OCwgMjI5LCAxNDEsIDEsIDIxNiwgMTE4LCAxNDEsIDEsIAotICAgIDI0OCwgMTEsIDE0MSwgMSwgNCwgMjE1LCAxMTksIDE0MSwgMSwgMjE1LCAxMTksIDE0MSwgMSwgMjQ2LCA4NiwgMTQxLCAxLCAKLSAgICAyMTcsIDIzLCAxNDEsIDEsIDI0OCwgOTgsIDE0MSwgMSwgMTEyLCAxNDEsIDEsIDI0NywgMTUzLCAxNDEsIDEsIDE5OCwgCi0gICAgMTQxLCAxLCAyMjgsIDIzOCwgMTQxLCAxLCAyMjcsIDI0MiwgMTQxLCAxLCAyMjksIDExMiwgMTQxLCAxLCAyMjgsIDc5LCAKLSAgICAxNDEsIDEsIDE2MiwgMTQxLCAxLCAyNTIsIDE5OSwgMTQxLCAxLCAxOTEsIDE0MSwgMSwgMjQxLCAxODcsIDE0MSwgMSwgCi0gICAgMjUyLCAxNCwgMTQxLCAxLCAyMjUsIDExMSwgMTQxLCAxLCAyNDAsIDIyOSwgMTQxLCAxLCAyNTEsIDEzMywgMTQxLCAxLCAKLSAgICAyMjQsIDE1MywgMTQxLCAxLCAyNDEsIDI0NSwgMTQxLCAxLCAyNTIsIDgzLCAxNDEsIDEsIDIyNSwgMjI0LCAxNDEsIDEsIAotICAgIDI0MSwgNzUsIDE0MSwgMSwgMjUxLCAyMTMsIDE0MSwgMSwgMjI1LCAxOSwgMTQxLCAxLCAxODYsIDE0MSwgMSwgMjMwLCAKLSAgICAyMzUsIDE0MSwgMSwgMjMwLCAxMDcsIDE0MSwgMSwgMjMxLCA5NiwgMTQxLCAxLCAyMzAsIDE2NiwgMTQxLCAxLCA0LCAxOTIsIAotICAgIDE0MSwgMSwgMTkyLCAxNDEsIDEsIDQsIDIxMCwgMjEyLCAxNDEsIDEsIDIxMCwgMjEyLCAxNDEsIDEsIDQsIDIxMCwgMjQ0LCAKLSAgICAxNDEsIDEsIDIxMCwgMjQ0LCAxNDEsIDEsIDIwNSwgMTQxLCAxLCAyMjMsIDM4LCAxNDEsIDEsIDIyMiwgMTQyLCAxNDEsIDEsIAotICAgIDIyMywgMTMxLCAxNDEsIDEsIDIyMiwgMjEzLCAxNDEsIDEsIDQsIDIxMiwgNjUsIDE0MSwgMSwgMjEyLCA2NSwgMTQxLCAxLCAKLSAgICAyMTEsIDI1MCwgMTQxLCAxLCAyMTIsIDIyLCAxNDEsIDEsIDIxMSwgMjI3LCAxNDEsIDEsIDIzMCwgMzAsIDE0MSwgMSwgCi0gICAgMjEyLCAxMTYsIDE0MSwgMSwgNCwgMTc2LCAxNDEsIDEsIDQsIDIzNCwgMTg4LCAzOCwgMjM0LCAyMDcsIDIxMywgMTM1LCAKLSAgICAyMTksIDMzLCA3OSwgMzgsIDIzNCwgMjA3LCAyMjAsIDE1NywgMjE5LCAzMywgNzksIDIzNCwgMjA3LCAyMTMsIDEzNSwgCi0gICAgMjE5LCAzMywgNzksIDIzNCwgMjA3LCAyMjAsIDE1NywgMjE5LCAzMywgNzksIDE0MSwgMjM1LCAxNjQsIDc5LCAxNDEsIAotICAgIDIxMywgMTM1LCAyMzUsIDE2NCwgNzksIDE0MSwgMjQ3LCAyMjksIDIxMCwgMjI1LCAyMzQsIDIwNywgNTIsIDI0MCwgMTc1LCAKLSAgICA1NiwgMSwgNCwgNjEsIDU2LCAxLCA2MSwgNTYsIDEsIDQsIDc0LCA1NiwgMSwgNzQsIDU2LCAxLCA0LCA2OSwgNTYsIDEsIAotICAgIDY5LCA1NiwgMSwgNCwgNzYsIDU2LCAxLCA3NiwgNTYsIDEsIDQsIDc4LCA1NiwgMSwgNzgsIDU2LCAxLCAxNzYsIDU2LCAxLCAKLSAgICAyNDMsIDE0MiwgNTYsIDEsIDIzNCwgOTgsIDU2LCAxLCAyNDIsIDIyMSwgNTYsIDEsIDIzMywgMjIzLCA1NiwgMSwgMjQyLCAKLSAgICAxMjAsIDU2LCAxLCAyMzQsIDE4OCwgNTYsIDEsIDI0MywgNjksIDU2LCAxLCAyMzQsIDM0LCA1NiwgMSwgMjQyLCAxODEsIAotICAgIDU2LCAxLCAyMDYsIDU2LCAxLCAyMTAsIDExNiwgNTYsIDEsIDIxOSwgMTkzLCA1NiwgMSwgMjEwLCA0NCwgNTYsIDEsIDIxOCwgCi0gICAgODQsIDU2LCAxLCAyMTAsIDEzLCA1NiwgMSwgMjIxLCAxODMsIDU2LCAxLCAyMTAsIDk0LCA1NiwgMSwgMjE5LCA2MCwgNTYsIAotICAgIDEsIDIxMCwgMjMsIDU2LCAxLCAyMTcsIDEwNiwgNTYsIDEsIDI0OCwgMjI5LCA1NiwgMSwgMjE2LCAxMTgsIDU2LCAxLCAKLSAgICAyNDgsIDExLCA1NiwgMSwgNCwgMjE1LCAxMTksIDU2LCAxLCAyMTUsIDExOSwgNTYsIDEsIDI0NiwgODYsIDU2LCAxLCAyMTcsIAotICAgIDIzLCA1NiwgMSwgMjQ4LCA5OCwgNTYsIDEsIDExMiwgNTYsIDEsIDI0NywgMTUzLCA1NiwgMSwgMTk4LCA1NiwgMSwgMjI4LCAKLSAgICAyMzgsIDU2LCAxLCAyMjcsIDI0MiwgNTYsIDEsIDIyOSwgMTEyLCA1NiwgMSwgMjI4LCA3OSwgNTYsIDEsIDE2MiwgNTYsIDEsIAotICAgIDI1MiwgMTk5LCA1NiwgMSwgMTkxLCA1NiwgMSwgMjQxLCAxODcsIDU2LCAxLCAyNTIsIDE0LCA1NiwgMSwgMjI1LCAxMTEsIAotICAgIDU2LCAxLCAyNDAsIDIyOSwgNTYsIDEsIDI1MSwgMTMzLCA1NiwgMSwgMjI0LCAxNTMsIDU2LCAxLCAyNDEsIDI0NSwgNTYsIAotICAgIDEsIDI1MiwgODMsIDU2LCAxLCAyMjUsIDIyNCwgNTYsIDEsIDI0MSwgNzUsIDU2LCAxLCAyNTEsIDIxMywgNTYsIDEsIDIyNSwgCi0gICAgMTksIDU2LCAxLCAxODYsIDU2LCAxLCAyMzAsIDIzNSwgNTYsIDEsIDIzMCwgMTA3LCA1NiwgMSwgMjMxLCA5NiwgNTYsIDEsIAotICAgIDIzMCwgMTY2LCA1NiwgMSwgNCwgMTkyLCA1NiwgMSwgMTkyLCA1NiwgMSwgNCwgMjEwLCAyMTIsIDU2LCAxLCAyMTAsIDIxMiwgCi0gICAgNTYsIDEsIDQsIDIxMCwgMjQ0LCA1NiwgMSwgMjEwLCAyNDQsIDU2LCAxLCAyMDUsIDU2LCAxLCAyMjMsIDM4LCA1NiwgMSwgCi0gICAgMjIyLCAxNDIsIDU2LCAxLCAyMjMsIDEzMSwgNTYsIDEsIDIyMiwgMjEzLCA1NiwgMSwgNCwgMjEyLCA2NSwgNTYsIDEsIAotICAgIDIxMiwgNjUsIDU2LCAxLCAyMTEsIDI1MCwgNTYsIDEsIDIxMiwgMjIsIDU2LCAxLCAyMTEsIDIyNywgNTYsIDEsIDIzMCwgCi0gICAgMzAsIDU2LCAxLCAyMTIsIDExNiwgNTYsIDEsIDQsIDE3NiwgNTYsIDEsIDQsIDIzNCwgMTg4LCA1NiwgMSwgMjE0LCAyNywgCi0gICAgNTYsIDEsIDIxMywgMTc2LCA1NiwgMSwgMjEzLCAyNTUsIDU2LCAxLCAyMTMsIDEzOCwgNTYsIDIzMCwgMjI5LCAyNDcsIAotICAgIDEyOCwgMjM0LCAyMDcsIDIyNCwgMTc2LCAyMTksIDMzLCA3OSwgNTYsIDIzNSwgMTY0LCA3OSwgNTYsIDIxMywgMTM1LCAKLSAgICAyMzUsIDE2NCwgNzksIDU2LCAyNDcsIDIyOSwgMjM0LCA1LCAyNTEsIDE5MiwgMSwgMjUzLCAxNjYsIDI1MSwgMTkyLCAxLCAKLSAgICAyMjYsIDEwOSwgMjUxLCAxOTIsIDEsIDE5NCwgMjUxLCAxOTIsIDEsIDI0NSwgMTQsIDI1MSwgMTkyLCAxLCAyNDksIDY4LCAKLSAgICAyNTEsIDE5MiwgMSwgMjE3LCAxNTMsIDI1MSwgMTkyLCAxLCAyMzAsIDMwLCAyNTEsIDE5MiwgMSwgMTU2LCAyNTEsIDE5MiwgCi0gICAgMSwgMjQzLCAyMDksIDI1MSwgMTkyLCAxLCAyMzUsIDI5LCAyNTEsIDE5MiwgMSwgMjQyLCA2NywgMjUxLCAxOTIsIDEsIAotICAgIDIzNSwgMTUwLCAyNTEsIDE5MiwgMSwgMjI0LCA5OSwgMjUxLCAxOTIsIDEsIDIxMSwgMTc4LCAyNTEsIDE5MiwgMSwgMjEwLCAKLSAgICA4MywgMjUxLCAxOTIsIDEsIDI1MCwgMTY2LCAyNTEsIDE5MiwgMSwgMjIwLCAxMDYsIDI1MSwgMTkyLCAxLCAxNTMsIDI1MSwgCi0gICAgMTkyLCAxLCAyMTAsIDE1OSwgMjUxLCAxOTIsIDEsIDI1MSwgNzQsIDI1MSwgMTkyLCAxLCAyMjIsIDkzLCAyNTEsIDE5MiwgCi0gICAgMSwgNjEsIDI1MSwgMTkyLCAxLCA3OCwgMjUxLCAxOTIsIDEsIDc2LCAyNTEsIDE5MiwgMSwgMjQ1LCAyMDUsIDI1MSwgMTkyLCAKLSAgICAxLCAyNTQsIDIxMCwgMjUxLCAxOTIsIDEsIDI0NSwgMjAzLCAyNTEsIDE5MiwgMSwgMjUzLCAyMDAsIDI1MSwgMTkyLCAxLCAKLSAgICAyMjYsIDEzOCwgMjUxLCAxOTIsIDEsIDI1NCwgMTMxLCAyNTEsIDE5MiwgMSwgMjQ1LCAxNTgsIDI1MSwgMTkyLCAxLCAyNTQsIAotICAgIDEyMywgMjUxLCAxOTIsIDEsIDI0NSwgMTQ2LCAyNTEsIDE5MiwgMSwgMjQ1LCAxMDAsIDI1MSwgMTkyLCAxLCA3NCwgMjUxLCAKLSAgICAxOTIsIDEsIDY5LCAyNTEsIDE5MiwgMSwgMjM1LCAxNjIsIDI1MSwgMTkyLCAxLCAyMTQsIDEwNSwgMjUxLCAxOTIsIDEsIAotICAgIDIyOSwgODQsIDI1MSwgMTkyLCAxLCAyNDIsIDE4NSwgMjUxLCAxOTIsIDEsIDIzNiwgNDEsIDI0LCAxLCAyMzQsIDY0LCAyNCwgCi0gICAgMSwgMjE4LCAyMTcsIDI0LCAxLCAyMzQsIDU3LCAyNCwgMSwgMjI4LCAyMzEsIDI0LCAxLCAyMjgsIDIyOSwgMjQsIDEsIAotICAgIDIyOCwgMjI4LCAyNCwgMSwgMjE2LCAxMDIsIDI0LCAxLCAyMTgsIDIwNiwgMjQsIDEsIDIyMywgMjksIDI0LCAxLCAyMjMsIAotICAgIDI0LCAyNCwgMSwgMjIzLCAyMSwgMjQsIDEsIDIyMywgMTQsIDI0LCAxLCAyMjMsIDksIDI0LCAxLCAyMjMsIDQsIDI0LCAxLCAKLSAgICAyMjMsIDE1LCAyNCwgMSwgMjIzLCAyNywgMjQsIDEsIDIzMCwgMjIyLCAyNCwgMSwgMjI1LCA5OCwgMjQsIDEsIDIxOCwgCi0gICAgMjE0LCAyNCwgMSwgMjI1LCA4NywgMjQsIDEsIDIxOSwgMTUwLCAyNCwgMSwgMjE4LCAyMTEsIDI0LCAxLCAyMzYsIDYzLCAKLSAgICAyNCwgMSwgMjUwLCA1NCwgMjQsIDEsIDIxOCwgMjIxLCAyNCwgMSwgMjUwLCAxMTQsIDI0LCAxLCAyMzQsIDExNiwgMjQsIDEsIAotICAgIDIxNiwgMTc0LCAyNCwgMSwgMjI1LCAxMzQsIDI0LCAxLCAyNDEsIDE3OSwgMjQsIDEsIDYxLCAyNCwgMSwgMjU0LCAyNTIsIAotICAgIDI0LCAxLCAxOTIsIDI0LCAxLCAyMTEsIDkyLCAyNCwgMSwgMjQ1LCAxMjUsIDI0LCAxLCA3NiwgMjQsIDEsIDIxMSwgMzYsIAotICAgIDI0LCAxLCAyMTEsIDQ3LCAyNCwgMSwgNzgsIDI0LCAxLCAyMTIsIDY1LCAyNCwgMSwgMjEyLCA2MiwgMjQsIDEsIDIyNiwgCi0gICAgMjM4LCAyNCwgMSwgMjEwLCAyNDQsIDI0LCAxLCA2OSwgMjQsIDEsIDIxMiwgMTEsIDI0LCAxLCAyMTIsIDIyLCAyNCwgMSwgCi0gICAgMjExLCAyNTAsIDI0LCAxLCAyMTAsIDIxMiwgMjQsIDEsIDI0NSwgNjMsIDI0LCAxLCAyMTEsIDgsIDI0LCAxLCA3NCwgMjQsIAotICAgIDI0NCwgMTExLCAyNCwgMSwgMjE4LCAyMTUsIDI0LCAxLCAyMjgsIDIyMSwgMjQsIDEsIDIyOCwgMjIzLCAyNCwgMSwgMjI4LCAKLSAgICAyMjYsIDI0LCAxLCAyMjMsIDIyLCAyNCwgMSwgMjIzLCAzLCAyNCwgMSwgMjIzLCAxMSwgMjQsIDEsIDIyMywgMTYsIDI0LCAKLSAgICAxLCAyMjMsIDEsIDI0LCAxLCAyMzAsIDIxNSwgMjQsIDEsIDIzMCwgMjEyLCAyNCwgMSwgMjMwLCAyMTYsIDI0LCAxLCAyMzQsIAotICAgIDIyNywgMjQsIDEsIDIyNSwgOTMsIDI0LCAxLCAyMjUsIDc5LCAyNCwgMSwgMjI1LCA4NSwgMjQsIDEsIDIyNSwgODIsIDI0LCAKLSAgICAxLCAyMjUsIDk2LCAyNCwgMSwgMjI1LCA4MCwgMjQsIDEsIDIzNCwgMjI1LCAyNCwgMSwgMjM0LCAyMjMsIDI0LCAxLCAyMTksIAotICAgIDE0MywgMjQsIDEsIDIxOSwgMTQxLCAyNCwgMSwgMjE5LCAxMzMsIDI0LCAxLCAyMTksIDEzOCwgMjQsIDEsIDIxOSwgMTQ4LCAKLSAgICAyNCwgMSwgMjI2LCAzNiwgMjQsIDEsIDIxOCwgMjE4LCAyNCwgMSwgMjExLCAyNiwgMjQsIDEsIDIxMSwgMjIsIDI0LCAxLCAKLSAgICAyMTEsIDIzLCAyNCwgMSwgMjM0LCAyMjYsIDI0LCAxLCAyMTgsIDIxOSwgMjQsIDEsIDIxMSwgMzIsIDI0LCAxLCAyMTAsIAotICAgIDIzOCwgMjQsIDEsIDIxMCwgMjM3LCAyNCwgMSwgMjEwLCAyNDAsIDI0LCAxLCAyMTAsIDIwMywgMjQsIDEsIDIxMCwgMjA0LCAKLSAgICAyNCwgMSwgMjEwLCAyMDcsIDI0LCAxLCAyNTQsIDQyLCAyNCwgMSwgMjU0LCAzNiwgMTEwLCAyNTQsIDEwNywgMjMyLCAyMDksIAotICAgIDc5LCAxMTAsIDI1NCwgMTA3LCAyMjMsIDUzLCA3OSwgMTEwLCAyNTQsIDEwNywgMTIzLCA3OSwgMTEwLCAyNTQsIDEwNywgCi0gICAgMTEzLCA3OSwgMTEwLCAyNTQsIDEwNywgMTM0LCA3OSwgMTEwLCAyNTQsIDEwNywgMjQ0LCAxOSwgNzksIDExMCwgMjU0LCAKLSAgICAxMDcsIDIxNiwgMTUsIDc5LCAxMTAsIDI1NCwgMTA3LCAyMzAsIDIyOSwgNzksIDExMCwgMjU0LCAxMDcsIDI1MSwgMTgzLCAKLSAgICA3OSwgMTEwLCAyNTQsIDEwNywgMjQ0LCAxMDAsIDc5LCAxMTAsIDI1NCwgMTA3LCAyMjEsIDE3OCwgNzksIDExMCwgMjU0LCAKLSAgICAxMDcsIDIxNiwgMTcwLCA3OSwgMTEwLCAyNTQsIDEwNywgMjQ0LCAxMiwgNzksIDExMCwgMjU0LCAxMDcsIDI0MSwgMjMxLCAKLSAgICA3OSwgMTEwLCAyNTQsIDEwNywgMjQ1LCAyMzIsIDc5LCAxMTAsIDI1NCwgMTA3LCAyMzEsIDE5MSwgNzksIDI1MSwgMTkyLCAKLSAgICAxLCAyNTEsIDEzMywgMjUxLCAxOTIsIDEsIDIxMCwgNDQsIDI1MSwgMTkyLCAxLCAyMzUsIDExNCwgMjUxLCAxOTIsIDEsIAotICAgIDI0MiwgMTIwLCAyNTEsIDE5MiwgMSwgMjQ1LCAyMTcsIDI1MSwgMTkyLCAxLCAyNDUsIDE0MywgMjUxLCAxOTIsIDEsIDIyNiwgCi0gICAgMTg3LCAyNTEsIDE5MiwgMSwgMjI2LCAxOTEsIDI1MSwgMTkyLCAxLCAyMzUsIDE4NiwgMjUxLCAxOTIsIDEsIDI1NCwgMTA5LCAKLSAgICAyNTEsIDE5MiwgMSwgMjM1LCAyMzEsIDI1MSwgMTkyLCAxLCAyMTQsIDE2OCwgMjUxLCAxOTIsIDEsIDIzNiwgMjMsIDI1MSwgCi0gICAgMTkyLCAxLCAyMjksIDYyLCAyNTEsIDE5MiwgMSwgMjU0LCAyMDQsIDI1MSwgMTkyLCAxLCAyNTMsIDE5NSwgMjUxLCAxOTIsIAotICAgIDEsIDI1NCwgMTQ0LCAyNTEsIDE5MiwgMSwgMjI2LCAyMDgsIDI1MSwgMTkyLCAxLCAyMjYsIDE5MywgMjUxLCAxOTIsIDEsIAotICAgIDIzNSwgMjI4LCAyNTEsIDE5MiwgNDAsIDEsIDIyNiwgMTA5LCAyNTEsIDE5MiwgNDAsIDEsIDIxNywgMTUzLCAyNTEsIDE5MiwgCi0gICAgNDAsIDEsIDIzNSwgMjksIDI1MSwgMTkyLCA0MCwgMSwgMjQyLCA2NywgMjUxLCAxOTIsIDEsIDI0MywgMSwgMjUxLCAxOTIsIAotICAgIDEsIDIzMywgNSwgMjUxLCAxOTIsIDEsIDIwOSwgMjUwLCAxMCwgMjE4LCAxMDUsIDIxNywgMTUzLCAxMCwgMjE4LCAxMDUsIAotICAgIDIxMiwgNCwgMTAsIDIxOCwgMTA1LCAyMTEsIDE1OCwgMTAsIDIxOCwgMTA1LCAyNTEsIDg3LCAxMCwgMjE4LCAxMDUsIDIxNywgCi0gICAgMjU1LCAxMCwgMjE4LCAxMDUsIDI0MCwgMTY1LCAxMCwgMjE4LCAxMDUsIDI0MCwgMTY5LCAxMCwgMjE4LCAxMDUsIDI0MCwgCi0gICAgMjM4LCAxMCwgMjE4LCAxMDUsIDI0MCwgMTY2LCAxMCwgMjE4LCAxMDUsIDIxNywgMTU2LCAxMCwgMjE4LCAxMDUsIDI0MCwgCi0gICAgMTY4LCAxMCwgMjE4LCAxMDUsIDI0MCwgMTY0LCAxMCwgMjE4LCAxMDUsIDI0MCwgMjM2LCAxMCwgMjE4LCAxMDUsIDI0MCwgCi0gICAgMTY3LCAxMCwgMjE4LCAxMDUsIDI0MCwgMTYzLCAxMCwgMjE4LCAxMDUsIDIzMCwgMzAsIDEwLCAyMTgsIDEwNSwgMjQyLCAKLSAgICA2NywgMTAsIDIxOCwgMTA1LCAyMjIsIDkzLCAxMCwgMjE4LCAxMDUsIDIyNiwgMTA5LCAxMCwgMjE4LCAxMDUsIDIxOSwgMjMsIAotICAgIDEwLCAyMTgsIDEwNSwgMjQ5LCA2OCwgMTAsIDIxOCwgMTA1LCAyNDAsIDE3MCwgMTAsIDIxOCwgMTA1LCAyNDEsIDE5NywgCi0gICAgMTAsIDIxOCwgMTA1LCAyMTcsIDE2NSwgMTAsIDIxOCwgMTA1LCAyMTcsIDIzNCwgMTAsIDIxOCwgMTA1LCAyMTgsIDE3MCwgCi0gICAgMTAsIDIxOCwgMTA1LCAyMjAsIDExMiwgMTAsIDIxOCwgMTA1LCAyMjUsIDIyOCwgMTAsIDIxOCwgMTA1LCAyMjQsIDEwMSwgCi0gICAgMTAsIDIxOCwgMTA1LCAyMTYsIDQ0LCAxMCwgMjE4LCAxMDUsIDIxNywgMTU1LCAxMCwgMjE4LCAxMDUsIDIxNywgMjQ1LCAKLSAgICAxMCwgMjE4LCAxMDUsIDI0MCwgMTc3LCAxMCwgMjE4LCAxMDUsIDI0MCwgMTYyLCAxMCwgMjE4LCAxMDUsIDIyNSwgMTUyLCAKLSAgICAxMCwgMjE4LCAxMDUsIDIyNCwgOTksIDU2LCAxLCA0LCAyMzMsIDIyMywgNTYsIDEsIDQsIDIxOSwgMTkzLCA1NiwgMSwgNCwgCi0gICAgMjE4LCA4NCwgNTYsIDEsIDQsIDExMiwgNTYsIDEsIDQsIDIyNywgMjQyLCA1NiwgMSwgNCwgMTYyLCA1NiwgMSwgNCwgMjQxLCAKLSAgICAxODcsIDU2LCAxLCA0LCAyNDAsIDIyOSwgNTYsIDEsIDQsIDI0MSwgMjQ1LCA1NiwgMSwgNCwgMjQxLCA3NSwgNTYsIDEsIDQsIAotICAgIDIzMCwgMTA3LCA1NiwgMSwgNCwgMjA1LCA1NiwgMSwgNCwgMjIzLCAzOCwgNTYsIDEsIDQsIDIyMiwgMTQyLCA1NiwgMSwgNCwgCi0gICAgMjIzLCAxMzEsIDU2LCAxLCA0LCAyMjIsIDIxMywgODgsIDI0LCAyMzQsIDY0LCA4OCwgMjQsIDIyOCwgMjMxLCA4OCwgMjQsIAotICAgIDIxNiwgMTAyLCA4OCwgMjQsIDIyMywgMjksIDg4LCAyNCwgMjMwLCAyMjIsIDg4LCAyNCwgMjI1LCA5OCwgODgsIDI0LCAKLSAgICAyMTksIDE1MCwgODgsIDI0LCAyMzYsIDYzLCA4OCwgMjQsIDI1MCwgNTQsIDg4LCAyNCwgMjUwLCAxMTQsIDg4LCAyNCwgCi0gICAgMjM0LCAxMTYsIDg4LCAyNCwgMjE2LCAxNzQsIDg4LCAyNCwgMjI1LCAxMzQsIDg4LCAyNCwgMjQxLCAxNzksIDg4LCAyNCwgCi0gICAgMjM0LCA2NSwgNjEsIDg4LCAyNCwgMjI4LCAyMzIsIDYxLCA4OCwgMjQsIDIxNiwgMTAzLCA2MSwgODgsIDI0LCAyMjMsIDMwLCAKLSAgICA2MSwgODgsIDI0LCAyMzAsIDIyMywgNjEsIDg4LCAyNCwgMjI1LCA5OSwgNjEsIDg4LCAyNCwgMjE5LCAxNTEsIDYxLCA4OCwgCi0gICAgMjQsIDIzNiwgNjQsIDYxLCA4OCwgMjQsIDI1MCwgNTUsIDYxLCA4OCwgMjQsIDI1MCwgMTE1LCA2MSwgODgsIDI0LCAyMzQsIAotICAgIDExNywgNjEsIDg4LCAyNCwgMjE2LCAxNzUsIDYxLCA4OCwgMjQsIDIyNSwgMTM1LCA2MSwgODgsIDI0LCAyNDEsIDE4MCwgCi0gICAgNjEsIDg4LCAyNCwgMjUwLCA1NSwgNjksIDg4LCAyMzQsIDksIDEzNSwgMjI2LCAyMjEsIDg4LCAyMzQsIDksIDEzNSwgMTQ0LCAKLSAgICAyNDAsIDIyOSwgODgsIDE1NCwgMTExLCA4OCwgMTU0LCAxMDUsIDg4LCAxNTQsIDE1OCwgODgsIDE1NCwgMTYxLCA4OCwgCi0gICAgMTU0LCAxOTAsIDg4LCAxNTQsIDE5NSwgODgsIDE1NCwgMTk5LCA4OCwgMTU0LCAxOTYsIDg4LCAxNTQsIDIwMSwgODgsIAotICAgIDE1NCwgMjE2LCAyNDgsIDg4LCAxNTQsIDIzMCwgMTMzLCA4OCwgMTU0LCAyNDQsIDEwNCwgODgsIDE1NCwgMjEyLCA0MCwgCi0gICAgODgsIDE1NCwgMjExLCAyMTQsIDg4LCAxNTQsIDIzMSwgNDQsIDg4LCAxNTQsIDI0NSwgMjMxLCA4OCwgMTU0LCAyMTgsIDM4LCAKLSAgICA4OCwgMTU0LCAyMTgsIDEzNCwgODgsIDE1NCwgMjQxLCAyNTEsIDg4LCAxNTQsIDIxOSwgNTYsIDg4LCAxNTQsIDIyOSwgCi0gICAgMjA5LCA4OCwgMTU0LCAyMTksIDYsIDg4LCAxNTQsIDI0NCwgMTEwLCA4OCwgMTU0LCAyNDksIDIwOCwgODgsIDE1NCwgMjMzLCAKLSAgICAxMzEsIDg4LCAxNTQsIDIyMywgNzQsIDg4LCAxNTQsIDI1MSwgMjMsIDg4LCAxNTQsIDIxOCwgODgsIDg4LCAxNTQsIDIxOCwgCi0gICAgMjEsIDg4LCAxNTQsIDI0NSwgMTM1LCA4OCwgMTU0LCAyMjMsIDY2LCA4OCwgMTU0LCAyNTQsIDE1OSwgODgsIDE1NCwgMjQ0LCAKLSAgICAxMzYsIDg4LCAxNTQsIDIyMywgNjQsIDg4LCAxNTQsIDIyMCwgMTU4LCA4OCwgMTU0LCAyMjMsIDEzMCwgMzcsIDE1NCwgCi0gICAgMjI0LCAxNSwgMzcsIDE1NCwgMjM0LCA4NiwgMzcsIDE1NCwgMjIxLCAyMDAsIDM3LCAxNTQsIDIzNCwgNSwgMzcsIDU0LCAKLSAgICAyMTYsIDI0OSwgMjI2LCAyMDEsIDg1LCAyMTgsIDIzNiwgMzcsIDU0LCAyMTUsIDc0LCAyMjYsIDIwMSwgODUsIDIxOCwgCi0gICAgMjM2LCAzNywgNTQsIDIxNiwgMTY0LCAyMjYsIDIwMSwgODUsIDIxOCwgMjM2LCAzNywgNTQsIDI0NCwgMjQsIDIyNiwgMjAxLCAKLSAgICA4NSwgMjE4LCAyMzYsIDM3LCA1NCwgMjQ0LCAxMjMsIDIyNiwgMjAxLCA4NSwgMjE4LCAyMzYsIDM3LCA1NCwgMjE5LCAxMTQsIAotICAgIDIyNiwgMjAxLCA4NSwgMjE4LCAyMzYsIDM3LCA1NCwgMjIwLCAxMTksIDIyNiwgMjAxLCA4NSwgMjE4LCAyMzYsIDM3LCA1NCwgCi0gICAgMjQ1LCAxOTMsIDIyNiwgMjAxLCA4NSwgMjE4LCAyMzYsIDIyNSwgMjU1LCA1MCwgMzcsIDU0LCAyMTUsIDc0LCAxMTEsIDM3LCAKLSAgICA1NCwgMjE1LCA3NCwgMTA1LCAzNywgNTQsIDIxNSwgNzQsIDE1OCwgMzcsIDU0LCAyMTUsIDc0LCAxNjEsIDM3LCA1NCwgCi0gICAgMjE1LCA3NCwgMTkwLCAzNywgNTQsIDIxNSwgNzQsIDE5NSwgMzcsIDU0LCAyMTUsIDc0LCAxOTksIDM3LCA1NCwgMjE1LCAKLSAgICA3NCwgMTk2LCAzNywgNTQsIDIxNSwgNzQsIDIwMSwgMzcsIDU0LCAyMTYsIDE2MywgMzcsIDU0LCAyMTYsIDE2NCwgMTExLCAKLSAgICAzNywgNTQsIDIxNiwgMTY0LCAxMDUsIDM3LCA1NCwgMjE2LCAxNjQsIDE1OCwgMzcsIDU0LCAyMTYsIDE2NCwgMTYxLCAzNywgCi0gICAgNTQsIDIxNiwgMTY0LCAxOTAsIDM3LCAyNCwgMjM0LCA2NCwgMzcsIDI0LCAyMjgsIDIzMSwgMzcsIDI0LCAyMTYsIDEwMiwgCi0gICAgMzcsIDI0LCAyMjMsIDI5LCAzNywgMjQsIDIzMCwgMjIyLCAzNywgMjQsIDIyNSwgOTgsIDM3LCAyNCwgMjE5LCAxNTAsIDM3LCAKLSAgICAyNCwgMjM2LCA2MywgMzcsIDI0LCAyNTAsIDU0LCAzNywgMjQsIDI1MCwgMTE0LCAzNywgMjQsIDIzNCwgMTE2LCAzNywgMjQsIAotICAgIDIxNiwgMTc0LCAzNywgMjQsIDIyNSwgMTM0LCAzNywgMjQsIDI0MSwgMTc5LCAzNywgMjQsIDIzNCwgNjUsIDYxLCAzNywgCi0gICAgMjQsIDIyOCwgMjMyLCA2MSwgMzcsIDI0LCAyMTYsIDEwMywgNjEsIDM3LCAyNCwgMjIzLCAzMCwgNjEsIDM3LCAyNCwgMjMwLCAKLSAgICAyMjMsIDYxLCAzNywgMjQsIDIyNSwgOTksIDYxLCAzNywgMjQsIDIxOSwgMTUxLCA2MSwgMzcsIDI0LCAyMzYsIDY0LCA2MSwgCi0gICAgMzcsIDI0LCAyNTAsIDU1LCA2MSwgMzcsIDI0LCAyNTAsIDExNSwgNjEsIDM3LCAyNCwgMjM0LCAxMTcsIDYxLCAzNywgMjQsIAotICAgIDIxNiwgMTc1LCA2MSwgMzcsIDI0LCAyMjUsIDEzNSwgNjEsIDM3LCAyNCwgMjQxLCAxODAsIDYxLCAzNywgMjM0LCA5LCAKLSAgICAxMzUsIDI1MCwgMTU2LCAzNywgMjM0LCA5LCAxMzUsIDIzNSwgNTMsIDM3LCAyNCwgMjM2LCA2NCwgNjksIDIzNCwgOSwgCi0gICAgMjE4LCAxNjEsIDg3LCAzNywgMTU0LCAxMTEsIDM3LCAxNTQsIDEwNSwgMzcsIDE1NCwgMTU4LCAzNywgMTU0LCAxNjEsIDM3LCAKLSAgICAxNTQsIDE5MCwgMzcsIDE1NCwgMTk1LCAzNywgMTU0LCAxOTksIDM3LCAxNTQsIDE5NiwgMzcsIDE1NCwgMjAxLCAzNywgCi0gICAgMTU0LCAyMTYsIDI0OCwgMzcsIDE1NCwgMjMwLCAxMzMsIDM3LCAxNTQsIDI0NCwgMTA0LCAzNywgMTU0LCAyMTIsIDQwLCAKLSAgICAzNywgMTU0LCAyMTEsIDIxNCwgMzcsIDE1NCwgMjMxLCA0NCwgMzcsIDE1NCwgMjQ1LCAyMzEsIDM3LCAxNTQsIDIxOCwgMzgsIAotICAgIDM3LCAxNTQsIDIxOCwgMTM0LCAzNywgMTU0LCAyNDEsIDI1MSwgMzcsIDE1NCwgMjE5LCA1NiwgMzcsIDE1NCwgMjI5LCAKLSAgICAyMDksIDM3LCAxNTQsIDIxOSwgNiwgMzcsIDE1NCwgMjQ0LCAxMTAsIDM3LCAxNTQsIDI0OSwgMjA4LCAzNywgMTU0LCAyMzMsIAotICAgIDEzMSwgMzcsIDE1NCwgMjIxLCAxNzYsIDM3LCAxNTQsIDIzMSwgMTk0LCAzNywgMTU0LCAyNDQsIDE0NSwgMzcsIDE1NCwgCi0gICAgMjE4LCA1MCwgMzcsIDE1NCwgMjQ1LCA0MiwgMzcsIDE1NCwgMjI0LCAxOTAsIDM3LCAxNTQsIDI1MywgMjA0LCAzNywgMTU0LCAKLSAgICAyMzUsIDE2NSwgMzcsIDE1NCwgMjIzLCA2NCwgMzcsIDE1NCwgMjQ5LCAxNzIsIDM3LCAxNTQsIDI0OSwgMTYzLCAzNywgCi0gICAgMTU0LCAyNDEsIDE3MiwgMzcsIDE1NCwgMjUwLCAxODIsIDM3LCAxNTQsIDIzMiwgMTE2LCAzNywgMTU0LCAyMzMsIDUyLCAKLSAgICAzNywgMTU0LCAyMjIsIDI1NCwgMzcsIDE1NCwgMjMxLCA4OCwgMzcsIDE1NCwgMjIzLCA5MCwgMzcsIDE1NCwgMjE4LCA4OCwgCi0gICAgMzcsIDE1NCwgMjE4LCAyMSwgMzcsIDE1NCwgMjQ1LCAxMzUsIDM3LCAxNTQsIDIyMywgNjYsIDM3LCAxNTQsIDI1NCwgMTU5LCAKLSAgICAzNywgMTU0LCAyMjgsIDIxNywgMzcsIDU0LCAyMTYsIDE2NCwgMTk1LCAzNywgNTQsIDIxNiwgMTY0LCAxOTksIDM3LCA1NCwgCi0gICAgMjE2LCAxNjQsIDE5NiwgMzcsIDU0LCAyMTYsIDE2NCwgMjAxLCAzNywgNTQsIDI0NCwgMjMsIDM3LCA1NCwgMjQ0LCAyNCwgCi0gICAgMTExLCAzNywgNTQsIDI0NCwgMjQsIDEwNSwgMzcsIDU0LCAyNDQsIDI0LCAxNTgsIDM3LCA1NCwgMjQ0LCAyNCwgMTYxLCAKLSAgICAzNywgNTQsIDI0NCwgMjQsIDE5MCwgMzcsIDU0LCAyNDQsIDI0LCAxOTUsIDM3LCA1NCwgMjQ0LCAyNCwgMTk5LCAzNywgNTQsIAotICAgIDI0NCwgMjQsIDE5NiwgMzcsIDU0LCAyNDQsIDI0LCAyMDEsIDM3LCA1NCwgMjQ0LCAxMjIsIDExMCwgMjE3LCA0LCAxNiwgCi0gICAgMzEsIDIzNSwgMTM5LCAxMTAsIDIxNywgNCwgMTYsIDMxLCAyNDQsIDE1NiwgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjMxLCAKLSAgICAxNjUsIDExMCwgMjE3LCA0LCAxNiwgMzEsIDI1NCwgNTUsIDExMCwgMjE3LCA0LCAxNiwgMzEsIDIzMSwgMTM3LCAxMTAsIAotICAgIDIxNywgNCwgMTYsIDMxLCAyMzUsIDUxLCAxMTAsIDIxNywgNCwgMTYsIDMxLCAyMzUsIDUyLCAxMTAsIDIxNywgNCwgMTYsIAotICAgIDMxLCAyNTMsIDE5NiwgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjIwLCAxMzgsIDExMCwgMjE3LCA0LCAxNiwgMzEsIDIyNiwgCi0gICAgMjQzLCAxMTAsIDIxNywgNCwgMTYsIDMxLCAyMjgsIDQ1LCAxMTAsIDIxNywgNCwgMTYsIDMxLCAyNDgsIDkzLCA0MiwgMjQxLCAKLSAgICAxOTcsIDQyLCAyNDUsIDk2LCA0MiwgMjQ1LCA1MSwgMjMyLCAyMjUsIDIzMiwgMjQ2LCA1MCwgMzcsIDU2LCA2MSwgMzcsIAotICAgIDU2LCA3NCwgMzcsIDU2LCA2OSwgMzcsIDU2LCA3NiwgMzcsIDU2LCA3OCwgMzcsIDU2LCAxNzYsIDM3LCA1NiwgMjM0LCA5OCwgCi0gICAgMzcsIDU2LCAyMzMsIDIyMywgMzcsIDU2LCAyMzQsIDE4OCwgMzcsIDU2LCAyMzQsIDM0LCAzNywgNTYsIDIwNiwgMzcsIDU2LCAKLSAgICAyMTksIDE5MywgMzcsIDU2LCAyMTgsIDg0LCAzNywgNTYsIDIyMSwgMTgzLCAzNywgNTYsIDIxOSwgNjAsIDM3LCA1NiwgCi0gICAgMjE3LCAxMDYsIDM3LCA1NiwgMjE2LCAxMTgsIDM3LCA1NiwgMjE1LCAxMTksIDM3LCA1NiwgMjE3LCAyMywgMzcsIDU2LCAKLSAgICAxMTIsIDM3LCA1NiwgMTk4LCAzNywgNTYsIDIyOCwgMjM4LCAzNywgNTYsIDIyNywgMjQyLCAzNywgNTYsIDIyOSwgMTEyLCAKLSAgICAzNywgNTYsIDIyOCwgNzksIDM3LCA1NiwgMTYyLCAzNywgNTYsIDI0MSwgMTg3LCAzNywgNTYsIDI0MCwgMjI5LCAzNywgNTYsIAotICAgIDI0MSwgMjQ1LCAzNywgNTYsIDI0MSwgNzUsIDM3LCA1NiwgMTg2LCAzNywgNTYsIDIzMCwgMjM1LCAzNywgNTYsIDIzMCwgCi0gICAgMTA3LCAzNywgNTYsIDIzMSwgOTYsIDM3LCA1NiwgMjMwLCAxNjYsIDM3LCA1NiwgMTkyLCAzNywgNTYsIDIxMCwgMjEyLCAKLSAgICAzNywgNTYsIDIxMCwgMjQ0LCAzNywgNTYsIDIwNSwgMzcsIDU2LCAyMjMsIDM4LCAzNywgNTYsIDIyMiwgMTQyLCAzNywgNTYsIAotICAgIDIyMywgMTMxLCAzNywgNTYsIDIyMiwgMjEzLCAzNywgNTYsIDIxMiwgNjUsIDM3LCA1NiwgMjExLCAyNTAsIDM3LCA1NiwgCi0gICAgMjEyLCAyMiwgMzcsIDU2LCAyMTEsIDIyNywgNDIsIDI1NCwgNzksIDQyLCAyNTMsIDI0NywgNDIsIDI1NCwgMTAzLCA0MiwgCi0gICAgMjU1LCA0MCwgNDIsIDIzNSwgMjMzLCA0MiwgMjM1LCAyMDMsIDQyLCAyMTQsIDE2NiwgNDIsIDI0NSwgNzQsIDQyLCAyNDUsIAotICAgIDIxNCwgNDIsIDIyNiwgMTkwLCA0MiwgMjI2LCAxODQsIDQyLCAyMzQsIDI1MSwgNDIsIDIzNCwgMjIwLCA0MiwgMjM0LCAKLSAgICAyMTcsIDQyLCAyNDMsIDk5LCA0MiwgMjQzLCAxMDgsIDQyLCAyNDIsIDIxMSwgNDIsIDI0MiwgMjA3LCA0MiwgMjMzLCAxNTYsIAotICAgIDQyLCAyNDIsIDIwMCwgNDIsIDIzNCwgNzgsIDQyLCAyMzQsIDc3LCA0MiwgMjM0LCA3NiwgNDIsIDIzNCwgNzUsIDQyLCAKLSAgICAyNDIsIDkzLCA0MiwgMjQyLCA5MiwgNDIsIDIzMywgMTk5LCA0MiwgMjMzLCAyMDEsIDQyLCAyMzQsIDE4NCwgNDIsIDIzNCwgCi0gICAgNywgNDIsIDIzNCwgMTQsIDQyLCAyMjIsIDE4LCA0MiwgMjIxLCAyMzksIDQyLCAyMTksIDEzMSwgNDIsIDIyMCwgMTQzLCAKLSAgICA0MiwgMjIwLCAxNDIsIDQyLCAyNDgsIDIyNiwgNDIsIDI0OCwgNDQsIDQyLCAyNDcsIDEyOSwgNDIsIDIxNiwgMzMsIDQyLCAKLSAgICAyMjksIDIwNSwgNDIsIDIyOCwgNDYsIDQyLCAyNDIsIDM5LCA0MiwgMjI2LCA4OCwgNDIsIDIyNiwgODcsIDQyLCAyNTIsIAotICAgIDE5NiwgNDIsIDIyNSwgMTA4LCA0MiwgMjI1LCA3MiwgNDIsIDIyNSwgNzMsIDQyLCAyNTEsIDI0MiwgNDIsIDI0MCwgMjI4LCAKLSAgICA0MiwgMjQwLCAyMjQsIDQyLCAyNTEsIDk5LCA0MiwgMjQwLCAyMTEsIDQyLCAyNDEsIDIyMiwgNDIsIDIyNSwgMTYyLCA0MiwgCi0gICAgMjI1LCAxOTcsIDQyLCAyNDEsIDIwNSwgNDIsIDIyNSwgMTk0LCA0MiwgMjI1LCAyMTAsIDQyLCAyNTIsIDY5LCA0MiwgMjI1LCAKLSAgICA5LCA0MiwgMjUxLCAxODgsIDQyLCAyNDEsIDYzLCA0MiwgMjI0LCAyNTMsIDQyLCAyNDEsIDU1LCA0MiwgMjQxLCA1NywgNDIsIAotICAgIDIzMSwgMjA2LCA0MiwgMjMxLCAyMDIsIDQyLCAyMzEsIDIxMSwgNDIsIDIzMSwgMTU1LCA0MiwgMjMxLCAxODAsIDQyLCAKLSAgICAyMzAsIDIwMiwgNDIsIDIzMCwgMTgxLCA0MiwgMjMwLCAxODAsIDQyLCAyMzEsIDc5LCA0MiwgMjMxLCA3NiwgNDIsIDIzMSwgCi0gICAgODAsIDQyLCAyMTEsIDEwMiwgNDIsIDIxMSwgMTAwLCA0MiwgMjEwLCAyMDEsIDQyLCAyMjIsIDIyOSwgNDIsIDIyMiwgMjMzLCAKLSAgICA0MiwgMjIyLCAxMTksIDQyLCAyMjIsIDExMywgNDIsIDIyMywgODgsIDQyLCAyMjMsIDg1LCA0MiwgMjEyLCAzOCwgMTEwLCAKLSAgICAyMTcsIDQsIDE2LCAzMSwgMjQwLCAyNDYsIDIxMCwgODYsIDExMCwgMjE3LCA0LCAxNiwgMzEsIDI0MCwgMjQ2LCAxMTEsIAotICAgIDExMCwgMjE3LCA0LCAxNiwgMzEsIDI0MCwgMjQ2LCAxMDUsIDExMCwgMjE3LCA0LCAxNiwgMzEsIDI0MCwgMjQ2LCAxNTgsIAotICAgIDExMCwgMjE3LCA0LCAxNiwgMzEsIDI0MCwgMjQ2LCAxNjEsIDExMCwgMjE3LCA0LCAxNiwgMzEsIDI0MCwgMjQ2LCAxOTAsIAotICAgIDExMCwgMjE3LCA0LCAxNiwgMzEsIDI0MCwgMjQ2LCAxOTUsIDExMCwgMjE3LCA0LCAxNiwgMzEsIDI0MCwgMjQ2LCAxOTksIAotICAgIDExMCwgMjE3LCA0LCAxNiwgMzEsIDI0MCwgMjQ2LCAxOTYsIDExMCwgMjE3LCA0LCAxNiwgMzEsIDI0MCwgMjQ2LCAyMDEsIAotICAgIDExMCwgMjE3LCA0LCAxNiwgMzEsIDI0MCwgMjQ2LCAyMTYsIDI0OCwgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQwLCAyNDYsIAotICAgIDI0NSwgMTc1LCAxMTAsIDIxNywgNCwgMTYsIDMxLCAyNDAsIDI0NiwgMjE1LCA3NiwgMTEwLCAyMTcsIDQsIDE2LCAzMSwgCi0gICAgMjQwLCAyNDYsIDIxNiwgMTY1LCAxMTAsIDIxNywgNCwgMTYsIDMxLCAyNDAsIDI0NiwgMjQ0LCAxMywgMTEwLCAyMTcsIDQsIAotICAgIDE2LCAzMSwgMjQwLCAyNDYsIDI0NCwgMTI2LCAxMTAsIDIxNywgNCwgMTYsIDMxLCAyNDAsIDI0NiwgMjE5LCAxMjEsIDExMCwgCi0gICAgMjE3LCA0LCAxNiwgMzEsIDI0MCwgMjQ2LCAyMjAsIDEyMSwgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQwLCAyNDYsIDI0NSwgCi0gICAgMTk4LCAxMTAsIDIxNywgNCwgMTYsIDMxLCAyNDAsIDI0NiwgMjI4LCAyMDIsIDExMCwgMjE3LCA0LCAxNiwgMzEsIDI0MCwgCi0gICAgMjQ2LCAyMTUsIDczLCAxMTAsIDIxNywgNCwgMTYsIDMxLCAyNDAsIDI0NiwgMjE1LCA2NywgMTEwLCAyMTcsIDQsIDE2LCAKLSAgICAzMSwgMjQwLCAyNDYsIDIxNSwgNjMsIDExMCwgMjE3LCA0LCAxNiwgMzEsIDI0MCwgMjQ2LCAyMTUsIDY0LCAxMTAsIDIxNywgCi0gICAgNCwgMTYsIDMxLCAyNDAsIDI0NiwgMjE1LCA2OSwgNDIsIDI0MCwgMjM3LCA0MiwgMjQ4LCAyMjksIDQyLCAyNTMsIDIwMCwgCi0gICAgNDIsIDEzMCwgNDIsIDIyNiwgMTI5LCA0MiwgMjI1LCAyMjksIDQyLCAyNDcsIDE1NSwgNDIsIDI0NywgMTU2LCAyMTgsIAotICAgIDIzNSwgNDIsIDI0NywgMTU2LCAyNDksIDExNiwgNDIsIDIzNSwgMTYyLCA0MiwgMjQ1LCA5OSwgMjI5LCAyMTAsIDI0MSwgCi0gICAgMjIzLCA0MiwgMjQ1LCA5OSwgMjI5LCAyMTAsIDIxNywgMTc1LCA0MiwgMjQ1LCA5OSwgMjI5LCAyMTAsIDIxNywgNzUsIDQyLCAKLSAgICAyNDUsIDk5LCAyMjksIDIxMCwgMjMxLCA3NSwgNDIsIDI0OSwgMTY1LCA0MiwgMjI2LCA5NCwgMjU0LCAxMzMsIDQyLCAxOTgsIAotICAgIDQyLCAyMzAsIDEwOCwgNjEsIDQyLCAxODYsIDQyLCAxNzYsIDQyLCAyMzQsIDE5MSwgNDIsIDIzMSwgMTM0LCA0MiwgMjQzLCAKLSAgICA4NywgNDIsIDI1MSwgMjYsIDQyLCAyMzQsIDE5MCwgNDIsIDIyNSwgMTUzLCA0MiwgMjI5LCA4NiwgNDIsIDIzMCwgMTA4LCAKLSAgICAyNDUsIDE0LCA0MiwgMjMwLCAxMDgsIDI0MywgMjA5LCA0MiwgMjMxLCAyMCwgNDIsIDIzNCwgMTQwLCA0MiwgMjQwLCAxNzAsIAotICAgIDQyLCAyMzQsIDEwMCwgNDIsIDIzMCwgMjM3LCA0MiwgMjQyLCAyMjMsIDQyLCAyMTYsIDEyMCwgNDIsIDIzMCwgMTA4LCAKLSAgICAxNTYsIDQyLCAyMzAsIDE3NCwgNDIsIDI0NywgMTY1LCA0MiwgMjM0LCA0NiwgNDIsIDI0NCwgNTMsIDQyLCAyMjgsIDExNywgCi0gICAgNDIsIDIzMCwgMTA4LCAxOTQsIDQyLCAyMzAsIDE3MSwgNDIsIDI0OSwgMjQ3LCA0MiwgMjM0LCA0MCwgNDIsIDIzMCwgMTcyLCAKLSAgICAyMTgsIDIzNSwgNDIsIDI0OSwgMjQ4LCAyMTgsIDIzNSwgNDIsIDIzMiwgNTUsIDIxOCwgMjM1LCA0MiwgMjM0LCA0MSwgCi0gICAgMjE4LCAyMzUsIDQyLCAyMzAsIDE3MiwgMjQ5LCAxMTYsIDQyLCAyNDksIDI0OCwgMjQ5LCAxMTYsIDQyLCAyMzIsIDU1LCAKLSAgICAyNDksIDExNiwgNDIsIDIzNCwgNDEsIDI0OSwgMTE2LCA0MiwgMjMyLCA1NSwgMTE1LCAyMjIsIDkzLCA0MiwgMjMyLCA1NSwgCi0gICAgMTE1LCAyMjIsIDk0LCAyMTgsIDIzNSwgNDIsIDE5MSwgNDIsIDIzNCwgMSwgNDIsIDIzMCwgMTEwLCA0MiwgMjQyLCAxNTgsIAotICAgIDQyLCAyMjMsIDE3OSwgNDIsIDIyMywgMTgwLCAxMTUsIDIyMiwgOTMsIDQyLCAyMjMsIDE4MCwgMTE1LCAyMjIsIDk0LCAKLSAgICAyMTgsIDIzNSwgNDIsIDIyNCwgMTY1LCA0MiwgMjI4LCAxOCwgNDIsIDIzMCwgMTA4LCAyMjIsIDkzLCA0MiwgMjMwLCAxMDksIAotICAgIDQyLCAyMjQsIDExOSwgNDIsIDIyNywgMTgwLCA0MiwgMjMwLCAxMDgsIDIxNCwgMTA1LCA0MiwgMjMwLCA1NCwgNDIsIDIzMywgCi0gICAgMTkxLCA0MiwgMjMwLCA1NSwgMjMxLCA3OSwgNDIsIDIyNCwgMTE4LCA0MiwgMjI3LCAxNzksIDQyLCAyMzAsIDEwOCwgMjEyLCAKLSAgICA5OCwgNDIsIDIzMCwgNDgsIDQyLCAyMzMsIDE4OSwgNDIsIDIzMCwgNDksIDIzMSwgNzksIDQyLCAyMzUsIDMwLCAyMjYsIAotICAgIDIyNCwgNDIsIDIzMiwgNTUsIDIyNiwgMjI0LCA0MiwgMjU0LCAxNDQsIDQyLCAyNTEsIDE2OCwgNDIsIDI1MCwgMjIyLCA0MiwgCi0gICAgMjUwLCAxOTksIDQyLCAyNTEsIDc1LCAxMTUsIDIzNCwgMTQwLCA0MiwgMjQ5LCAyNDYsIDQyLCAyNDgsIDE1MCwgNDIsIAotICAgIDI0MiwgNzksIDQyLCAxNjIsIDQyLCAyNDAsIDIzOCwgNDIsIDIzNiwgNiwgNDIsIDIzNCwgNTMsIDQyLCAyMzQsIDQxLCAKLSAgICAyNTEsIDIsIDQyLCAyMzMsIDIyNSwgNDIsIDIzMiwgMTY1LCA0MiwgMjMyLCAxNjQsIDQyLCAyMzIsIDE1MywgNDIsIDIzMiwgCi0gICAgNjgsIDQyLCAyMzEsIDEzNSwgMjE5LCA4MSwgNDIsIDIzMCwgMjAxLCA0MiwgMjMwLCAxNTcsIDQyLCAyMjUsIDE1MSwgNDIsIAotICAgIDIyNSwgMjIsIDQyLCAyMjQsIDIyMiwgNDIsIDIyNCwgMjIwLCA0MiwgMjE4LCAyMjksIDQyLCAyMTgsIDMsIDQyLCAyMTIsIAotICAgIDI0LCA0MiwgMjE0LCAxMDYsIDExNSwgMTk0LCA0MiwgMTE2LCAxMTUsIDE5NCwgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQ4LCAKLSAgICAxNTQsIDExMSwgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQ4LCAxNTQsIDEwNSwgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQ4LCAKLSAgICAxNTQsIDE1OCwgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQ4LCAxNTQsIDE2MSwgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQ4LCAKLSAgICAxNTQsIDE5MCwgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQ4LCAxNTQsIDE5NSwgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQ4LCAKLSAgICAxNTQsIDE5OSwgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQ4LCAxNTQsIDE5NiwgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQ4LCAKLSAgICAxNTQsIDIwMSwgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQ4LCAxNTQsIDIxNiwgMjQ4LCAxMTAsIDIxNywgNCwgMTYsIDMxLCAKLSAgICAyNDgsIDE1NCwgMjQ1LCAxNzUsIDExMCwgMjE3LCA0LCAxNiwgMzEsIDI0OCwgMTU0LCAyMTUsIDc2LCAxMTAsIDIxNywgNCwgCi0gICAgMTYsIDMxLCAyNDgsIDE1NCwgMjE2LCAxNjUsIDExMCwgMjE3LCA0LCAxNiwgMzEsIDI0OCwgMTU0LCAyNDQsIDEzLCAxMTAsIAotICAgIDIxNywgNCwgMTYsIDMxLCAyNDgsIDE1NCwgMjQ0LCAxMjYsIDExMCwgMjE3LCA0LCAxNiwgMzEsIDI0OCwgMTU0LCAyMTksIAotICAgIDEyMSwgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQ4LCAxNTQsIDIyMCwgMTIxLCAxMTAsIDIxNywgNCwgMTYsIDMxLCAyNDgsIAotICAgIDE1NCwgMjQ1LCAxOTgsIDExMCwgMjE3LCA0LCAxNiwgMzEsIDI0OCwgMTU0LCAyMjgsIDIwMiwgMTEwLCAyMTcsIDQsIDE2LCAKLSAgICAzMSwgMjQ4LCAxNTQsIDIxNSwgNzMsIDExMCwgMjE3LCA0LCAxNiwgMzEsIDI0OCwgMTU0LCAyMTUsIDY3LCAxMTAsIDIxNywgCi0gICAgNCwgMTYsIDMxLCAyNDgsIDE1NCwgMjE1LCA2MywgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQ4LCAxNTQsIDIxNSwgNjQsIAotICAgIDExMCwgMjE3LCA0LCAxNiwgMzEsIDI0OCwgMTU0LCAyMTUsIDY5LCAxMTAsIDIxNywgNCwgMTYsIDMxLCAyNDgsIDE1NCwgCi0gICAgMjE1LCA3MCwgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQ4LCAxNTQsIDIxNSwgNjUsIDExMCwgMjE3LCA0LCAxNiwgMzEsIAotICAgIDI0OCwgMTU0LCAyMTUsIDY2LCAxMTAsIDIxNywgNCwgMTYsIDMxLCAyNDgsIDE1NCwgMjE1LCA3MiwgMTEwLCAyMTcsIDQsIAotICAgIDE2LCAzMSwgMjQ4LCAxNTQsIDIxNSwgNjgsIDExMCwgMjE3LCA0LCAxNiwgMzEsIDI0OCwgMTU0LCAyMTYsIDE2MywgMTEwLCAKLSAgICAyMTcsIDQsIDE2LCAzMSwgMjQ4LCAxNTQsIDIxNiwgMTYyLCA0MiwgMjQzLCAxMjUsIDI0MSwgMTk5LCAzMSwgMjE2LCAxOTcsIAotICAgIDI0OSwgMTQ4LCAyNDEsIDIzMCwgMjQxLCAxOTksIDMxLCAyMTYsIDE5NywgMjIzLCAxMjUsIDI0NSwgMjMxLCAyNDEsIDE5OSwgCi0gICAgMzEsIDI0NywgMjM5LCAyNTMsIDIxNSwgMjE2LCAxOTcsIDI1MiwgNjQsIDI0MSwgMTk5LCAzMSwgMjEwLCAyMjMsIDI0NCwgCi0gICAgNDYsIDI0MSwgMTk5LCAzMSwgMjEyLCA1OSwgMjQxLCAxOTksIDMxLCAyNDksIDIxMSwgMjQxLCAxOTksIDMxLCAyMTYsIAotICAgIDE5NywgMjU0LCAxMSwgMjQxLCAxOTksIDMxLCAyNDEsIDY3LCAyMTYsIDM5LCAyNDEsIDE5OSwgMzEsIDQsIDIxNywgNjIsIAotICAgIDI0MSwgMTk5LCAzMSwgMjE1LCAyMzgsIDI0MSwgMTk5LCAzMSwgMjI1LCAyMjIsIDI0MSwgMTk5LCAzMSwgMjE4LCAxNjAsIAotICAgIDI0MSwgMTk5LCAzMSwgMjQ0LCAxNDcsIDI0MSwgMTk5LCAzMSwgMjQyLCAxMzksIDIyNCwgMjQzLCAyNDEsIDE5OSwgMzEsIAotICAgIDIzMCwgMTYwLCAyNDEsIDE5OSwgMzEsIDI0NSwgMTM0LCAyNDEsIDE5OSwgMzEsIDI0NCwgNDcsIDI0MSwgMTk5LCAzMSwgCi0gICAgMjExLCAyMDcsIDIyNiwgMjAxLCAyMTYsIDE5NywgMjQ4LCA5NCwgMjQxLCAxOTksIDMxLCAyNTQsIDU5LCAyNDEsIDE5OSwgCi0gICAgMzEsIDI0OSwgMTkzLCAyNDEsIDE5OSwgMzEsIDI1MSwgMjM1LCAyMTYsIDEzOSwgMjQxLCAxOTksIDMxLCAyNDIsIDE1NiwgCi0gICAgMjQxLCAxOTksIDMxLCAyMTgsIDI0NywgMjU0LCA3OCwgMjQxLCAxOTksIDMxLCAyMjMsIDU2LCAyNDEsIDE5OSwgMzEsIAotICAgIDIzNSwgMjI3LCAyNDEsIDE5OSwgMzEsIDI0MiwgMTM5LCAyMTcsIDYyLCAyNDEsIDE5OSwgMzEsIDIzMCwgMTE2LCAyNDksIAotICAgIDE2NywgMjQxLCAxOTksIDMxLCAyNDIsIDEzOSwgMjI0LCAyMDAsIDI0MSwgMTk5LCAzMSwgMjE2LCAxOTcsIDI1NSwgMjcsIAotICAgIDIxMiwgNDAsIDI0MSwgMTk5LCAzMSwgMjE2LCAxOTcsIDI1MCwgMTYsIDI0NCwgMTA0LCAyNDEsIDE5OSwgMzEsIDIzNSwgCi0gICAgMjQwLCAyNDEsIDE5OSwgMzEsIDI0NiwgNjUsIDI0MSwgMTk5LCAzMSwgMjIzLCA1OSwgMjQxLCAxOTksIDMxLCAyNDIsIAotICAgIDEzOSwgMjI0LCAyMjcsIDI0MSwgMTk5LCAzMSwgMjI0LCAxODAsIDI0MSwgMTk5LCAzMSwgMjQ4LCAxNjksIDY0LCAyMTYsIAotICAgIDE5NywgMjMyLCAyMzYsIDI0MSwgMTk5LCAzMSwgMjE2LCAxOTcsIDI0NCwgMTgyLCAyNDEsIDE5OSwgMzEsIDIyNiwgMTY3LCAKLSAgICAyNDEsIDE5OSwgMzEsIDIyNiwgMjQ4LCAyNDEsIDE5OSwgMzEsIDI0OCwgNjcsIDI0MSwgMTk5LCAzMSwgMjQ4LCA4NywgCi0gICAgMjQxLCAxOTksIDMxLCAyMzUsIDI1NCwgMjQxLCAxOTksIDMxLCAyNTEsIDE1NywgMjQxLCAxOTksIDMxLCAyNDksIDIyOSwgCi0gICAgMjE2LCA0MywgMjMxLCA4MSwgMjQxLCAxOTksIDMxLCAyNDMsIDk0LCAyMTYsIDM5LCAyNDEsIDE5OSwgMzEsIDIyNCwgMTI4LCAKLSAgICAyMTQsIDE1NCwgMjQxLCAxOTksIDMxLCAyMjYsIDE2NiwgMjQxLCAxOTksIDMxLCAyMTYsIDE5NywgMjEyLCAxMywgMjQxLCAKLSAgICAxOTksIDMxLCAyMjMsIDQ4LCAyNDEsIDE5OSwgMzEsIDIxNiwgMTk3LCAyNTAsIDIyOCwgMjQxLCAxOTksIDMxLCAyMTYsIAotICAgIDE5NywgMjU0LCA3LCAyMTYsIDEzNCwgMjQxLCAxOTksIDMxLCAyMTYsIDE5NywgMjM0LCAxODUsIDIxOCwgMTM2LCAyMzAsIAotICAgIDEyMCwgMjQxLCAxOTksIDMxLCAyNDgsIDQwLCAyNDEsIDE5OSwgMzEsIDIxNiwgMTk3LCAyMzEsIDE1NywgMjMxLCAyMDcsIAotICAgIDI0MSwgMTk5LCAzMSwgMjU1LCAyOCwgMjQxLCAxOTksIDMxLCAyMTYsIDE5NywgMjEyLCA1NCwgMjQxLCAxOTksIDMxLCAKLSAgICAyMTYsIDE5NywgMjQzLCA1NCwgMjExLCAyMzksIDI0MSwgMTk5LCAzMSwgMjE2LCAxOTcsIDIzNSwgNTgsIDIzMywgMTEzLCAKLSAgICAyNDEsIDE5OSwgMzEsIDI0NywgMTkyLCAyNDEsIDE5OSwgMzEsIDIzMiwgMjI2LCAyNDEsIDE5OSwgMzEsIDIzNSwgMjMwLCAKLSAgICAyMTUsIDE4OCwgMjQxLCAxOTksIDMxLCA0LCAyMjQsIDIwMCwgMjQxLCAxOTksIDMxLCAyNTQsIDIyNiwgMjQ5LCAyMjAsIAotICAgIDI0MSwgMTk5LCAzMSwgMjUyLCA2NywgMjQ5LCAyMjAsIDgsIDMsIDIzNSwgMTY2LCA4LCAzLCAyMzUsIDE1OSwgOCwgMywgCi0gICAgNzQsIDgsIDMsIDIzNSwgMTg5LCA4LCAzLCAyMzYsIDY1LCA4LCAzLCAyMzYsIDQ4LCA4LCAzLCAyMzYsIDY3LCA4LCAzLCAKLSAgICAyMzYsIDY2LCA4LCAzLCAyNTMsIDIxNCwgOCwgMywgMjUzLCAxNzcsIDgsIDMsIDYxLCA4LCAzLCAyNTQsIDgwLCA4LCAzLCAKLSAgICAyMTQsIDE2NCwgOCwgMywgMjE0LCAxNjcsIDgsIDMsIDIxNCwgMTY1LCA4LCAzLCAyMjYsIDE0NCwgOCwgMywgMjI2LCAxMTgsIAotICAgIDgsIDMsIDc4LCA4LCAzLCAyMjYsIDE3OSwgOCwgMywgMjQ1LCA0MywgOCwgMywgNzYsIDgsIDMsIDIxMSwgMTk1LCA4LCAzLCAKLSAgICAyNTEsIDIzNiwgOCwgMywgMjUxLCAyMzMsIDgsIDMsIDI1MiwgMTQsIDgsIDMsIDI1MSwgMjQ2LCA4LCAzLCAyNTIsIDMsIDgsIAotICAgIDMsIDI1MiwgMiwgOCwgMywgMjUyLCA1LCA4LCAzLCAyNTIsIDQsIDgsIDMsIDI1MiwgMTI5LCA4LCAzLCAyNTIsIDEyMSwgOCwgCi0gICAgMywgMjUyLCAxOTksIDgsIDMsIDI1MiwgMTUwLCA4LCAzLCAyNTEsIDEwOSwgOCwgMywgMjUxLCAxMTMsIDgsIDMsIDI1MSwgCi0gICAgMTEwLCA4LCAzLCAyNTEsIDE4NywgOCwgMywgMjUxLCAxNzEsIDgsIDMsIDI1MSwgMjEzLCA4LCAzLCAyNTEsIDE5MywgOCwgCi0gICAgMywgMjUyLCAyOSwgOCwgMywgMjUyLCA4MywgOCwgMywgMjUyLCA0MSwgOCwgMywgMjUxLCA5NSwgOCwgMywgMjUxLCA5MiwgCi0gICAgOCwgMywgMjUxLCAxMzMsIDgsIDMsIDI1MSwgMTA4LCA4LCAzLCAyNTEsIDEwMiwgOCwgMywgMjUxLCAxMDYsIDgsIDMsIAotICAgIDI1MSwgODAsIDgsIDMsIDI1MSwgNzgsIDgsIDMsIDI1MSwgODUsIDgsIDMsIDI1MSwgODMsIDgsIDMsIDI1MSwgODEsIDgsIAotICAgIDMsIDI1MSwgODIsIDgsIDMsIDIyNSwgNTIsIDgsIDMsIDIyNSwgNDgsIDgsIDMsIDIyNSwgMTExLCA4LCAzLCAyMjUsIDYyLCAKLSAgICA4LCAzLCAyMjUsIDc4LCA4LCAzLCAyMjUsIDEwNSwgOCwgMywgMjI1LCAxMDEsIDgsIDMsIDIyNSwgMjQ0LCA4LCAzLCAyMjUsIAotICAgIDIzNCwgOCwgMywgMTkxLCA4LCAzLCAyMjYsIDI1LCA4LCAzLCAyMjQsIDEzOCwgOCwgMywgMjI0LCAxNDAsIDgsIDMsIDIyNCwgCi0gICAgMTM5LCA4LCAzLCAyMjQsIDIzNiwgOCwgMywgMjI0LCAyMjUsIDgsIDMsIDIyNSwgMTksIDgsIDMsIDIyNCwgMjQ4LCA4LCAzLCAKLSAgICAyMjQsIDEyNCwgOCwgMywgMjI0LCAxMjAsIDgsIDMsIDIyNCwgMTUzLCA4LCAzLCAyMjQsIDEzNywgOCwgMywgMjI0LCAxMjksIAotICAgIDgsIDMsIDIyNCwgMTM1LCA4LCAzLCAyMjQsIDEwMywgOCwgMywgMjI0LCAxMDIsIDgsIDMsIDIyNCwgMTA3LCA4LCAzLCAKLSAgICAyMjQsIDEwNiwgOCwgMywgMjI0LCAxMDQsIDgsIDMsIDIyNCwgMTA1LCA4LCAzLCAyNTIsIDEwNCwgOCwgMywgMjUyLCAxMDMsIAotICAgIDgsIDMsIDI1MiwgMTEwLCA4LCAzLCAyNTIsIDEwNSwgOCwgMywgMjUyLCAxMDcsIDgsIDMsIDI1MiwgMTA2LCA4LCAzLCAKLSAgICAyNTIsIDEwOSwgOCwgMywgMjUyLCAxMDgsIDgsIDMsIDI1MiwgMTE2LCA4LCAzLCAyNTIsIDExNSwgOCwgMywgMjUyLCAxMTksIAotICAgIDgsIDMsIDI1MiwgMTE3LCA4LCAzLCAyNTIsIDk1LCA4LCAzLCAyNTIsIDk3LCA4LCAzLCAyNTIsIDk2LCA4LCAzLCAyNTIsIAotICAgIDEwMCwgOCwgMywgMjUyLCA5OSwgOCwgMywgMjUyLCAxMDIsIDgsIDMsIDI1MiwgMTAxLCA4LCAzLCAyNTIsIDExMSwgOCwgMywgCi0gICAgMjUyLCAxMTQsIDgsIDMsIDI1MiwgMTEyLCA4LCAzLCAyNTIsIDkxLCA4LCAzLCAyNTIsIDkwLCA4LCAzLCAyNTIsIDk4LCA4LCAKLSAgICAzLCAyNTIsIDk0LCA4LCAzLCAyNTIsIDkyLCA4LCAzLCAyNTIsIDkzLCA4LCAzLCAyNTIsIDg3LCA4LCAzLCAyNTIsIDg2LCAKLSAgICA4LCAzLCAyNTIsIDg5LCA4LCAzLCAyNTIsIDg4LCA4LCAzLCAyMjksIDE3NCwgOCwgMywgMjI5LCAxNzMsIDgsIDMsIDIyOSwgCi0gICAgMTc5LCA4LCAzLCAyMjksIDE3NSwgOCwgMywgMjI5LCAxNzYsIDgsIDMsIDIyOSwgMTc4LCA4LCAzLCAyMjksIDE3NywgOCwgCi0gICAgMywgMjI5LCAxODIsIDgsIDMsIDIyOSwgMTgxLCA4LCAzLCAyMjksIDE4NCwgOCwgMywgMjI5LCAxODMsIDgsIDMsIDIyOSwgCi0gICAgMTcwLCA4LCAzLCAyMjksIDE2OSwgOCwgMywgMjI5LCAxNzIsIDgsIDMsIDIyOSwgMTcxLCA4LCAzLCAyMjksIDE2MywgOCwgCi0gICAgMywgMjI5LCAxNjIsIDgsIDMsIDIyOSwgMTY3LCA4LCAzLCAyMjksIDE2NiwgOCwgMywgMjI5LCAxNjQsIDgsIDMsIDIyOSwgCi0gICAgMTY1LCA4LCAzLCAyMjksIDE1NywgOCwgMywgMjI5LCAxNTYsIDgsIDMsIDIyOSwgMTYxLCA4LCAzLCAyMjksIDE2MCwgOCwgCi0gICAgMywgMjI5LCAxNTgsIDgsIDMsIDIyOSwgMTU5LCA4LCAzLCAyNDEsIDExNywgOCwgMywgMjQxLCAxMTYsIDgsIDMsIDI0MSwgCi0gICAgMTIyLCA4LCAzLCAyNDEsIDExOCwgOCwgMywgMjQxLCAxMTksIDgsIDMsIDI0MSwgMTIxLCA4LCAzLCAyNDEsIDEyMCwgOCwgCi0gICAgMywgMjQxLCAxMjUsIDgsIDMsIDI0MSwgMTI0LCA4LCAzLCAyNDEsIDEyNywgOCwgMywgMjQxLCAxMjYsIDgsIDMsIDI0MSwgCi0gICAgMTA4LCA4LCAzLCAyNDEsIDExMCwgOCwgMywgMjQxLCAxMDksIDgsIDMsIDI0MSwgMTEzLCA4LCAzLCAyNDEsIDExMiwgOCwgCi0gICAgMywgMjQxLCAxMTUsIDgsIDMsIDI0MSwgMTE0LCA4LCAzLCAyNDEsIDEwNCwgOCwgMywgMjQxLCAxMDMsIDgsIDMsIDI0MSwgCi0gICAgMTExLCA4LCAzLCAyNDEsIDEwNywgOCwgMywgMjQxLCAxMDUsIDgsIDMsIDI0MSwgMTA2LCA4LCAzLCAyNDEsIDk4LCA4LCAzLCAKLSAgICAyNDEsIDEwMiwgOCwgMywgMjQxLCAxMDEsIDgsIDMsIDI0MSwgOTksIDgsIDMsIDI0MSwgMTAwLCA4LCAzLCAyMzAsIDE3NywgCi0gICAgOCwgMywgMjMwLCAxNzYsIDgsIDMsIDIzMCwgMjM1LCA4LCAzLCAyMzAsIDE4MywgOCwgMywgMjMwLCAyMDgsIDgsIDMsIAotICAgIDIzMCwgMjI2LCA4LCAzLCAyMzAsIDIyNCwgOCwgMywgMjMxLCAxNDQsIDgsIDMsIDIzMSwgMTM5LCA4LCAzLCAxODYsIDgsIAotICAgIDMsIDIzMSwgMTc3LCA4LCAzLCAyMzAsIDc5LCA4LCAzLCAyMzAsIDc4LCA4LCAzLCAyMzAsIDgyLCA4LCAzLCAyMzAsIDgwLCAKLSAgICA4LCAzLCAyMzAsIDEyNiwgOCwgMywgMjMwLCAxMTIsIDgsIDMsIDIzMCwgMTY2LCA4LCAzLCAyMzAsIDEzMSwgOCwgMywgCi0gICAgMjMxLCAzMSwgOCwgMywgMjMxLCA5NiwgOCwgMywgMjMwLCA2MCwgOCwgMywgMjMwLCA1NiwgOCwgMywgMjMwLCAxMDcsIDgsIAotICAgIDMsIDIzMCwgNzUsIDgsIDMsIDIzMCwgNjgsIDgsIDMsIDIzMCwgNzMsIDgsIDMsIDIzMCwgMzMsIDgsIDMsIDIzMCwgMzIsIAotICAgIDgsIDMsIDIzMCwgMzgsIDgsIDMsIDIzMCwgMzUsIDgsIDMsIDI0NCwgOTEsIDgsIDMsIDI0NCwgODYsIDgsIDMsIDI0NCwgCi0gICAgMTI5LCA4LCAzLCAyNDQsIDEwNiwgOCwgMywgMjQ0LCAxNzUsIDgsIDMsIDI0NCwgMTY2LCA4LCAzLCAyNDQsIDIwNCwgOCwgCi0gICAgMywgMjQ0LCAxNzgsIDgsIDMsIDI0NCwgMTEsIDgsIDMsIDI0NCwgNTEsIDgsIDMsIDI0NCwgMzUsIDgsIDMsIDI0MywgMjI1LCAKLSAgICA4LCAzLCAyNDMsIDIyNCwgOCwgMywgMjQzLCAyNDEsIDgsIDMsIDI0MywgMjMwLCA4LCAzLCAyNDMsIDIyOCwgOCwgMywgCi0gICAgMjQzLCAyMjksIDgsIDMsIDI0MywgMjEyLCA4LCAzLCAyNDMsIDIxMSwgOCwgMywgMjQzLCAyMTUsIDgsIDMsIDI0MywgMjEzLCAKLSAgICA4LCAzLCAyMTMsIDE0NCwgOCwgMywgMjEzLCAxMzksIDgsIDMsIDIxMywgMTc2LCA4LCAzLCAyMTMsIDE1MywgOCwgMywgCi0gICAgMjEzLCAxNjYsIDgsIDMsIDIxMywgMTYzLCA4LCAzLCAyMTMsIDE2OCwgOCwgMywgMjEzLCAxNjcsIDgsIDMsIDIxNCwgNywgCi0gICAgOCwgMywgMjE0LCAyLCA4LCAzLCAyMTQsIDI3LCA4LCAzLCAyMTQsIDE4LCA4LCAzLCAyMTMsIDEyNSwgOCwgMywgMjEzLCAKLSAgICAxMjEsIDgsIDMsIDIxMywgMTM4LCA4LCAzLCAyMTMsIDEyNiwgOCwgMywgMjEzLCAxNzgsIDgsIDMsIDIxMywgMjQ0LCA4LCAKLSAgICAzLCAyMTIsIDExMCwgOCwgMywgMjEyLCAxMDgsIDgsIDMsIDIxMiwgMTE2LCA4LCAzLCAyMTIsIDExMywgOCwgMywgMjEyLCAKLSAgICAxMTEsIDgsIDMsIDIxMiwgMTEyLCA4LCAzLCAyMTIsIDEwMiwgOCwgMywgMjEyLCAxMDEsIDgsIDMsIDIxMiwgMTA2LCA4LCAKLSAgICAzLCAyMTIsIDEwNSwgOCwgMywgMjEyLCAxMDMsIDgsIDMsIDIxMiwgMTA0LCA4LCAzLCAyNDcsIDE4NiwgOCwgMywgMjQ3LCAKLSAgICAxNzQsIDgsIDMsIDI0OCwgMTEsIDgsIDMsIDI0NywgMjExLCA4LCAzLCAyNDcsIDI0NCwgOCwgMywgMjQ3LCAyNDgsIDgsIDMsIAotICAgIDI0NywgMjQ3LCA4LCAzLCAyNDgsIDE2MCwgOCwgMywgMjQ4LCAxNTUsIDgsIDMsIDI0OCwgMjI5LCA4LCAzLCAyNDgsIDE4MCwgCi0gICAgOCwgMywgMjQ2LCA3MCwgOCwgMywgMjQ2LCA3MSwgOCwgMywgMjQ3LCAxMjgsIDgsIDMsIDI0NiwgMTEwLCA4LCAzLCAyNDcsIAotICAgIDE1MywgOCwgMywgMjQ3LCAxMzAsIDgsIDMsIDI0OCwgMzgsIDgsIDMsIDI0OCwgOTgsIDgsIDMsIDI0OCwgNTMsIDgsIDMsIAotICAgIDI0NiwgNjEsIDgsIDMsIDI0NiwgNTksIDgsIDMsIDI0NiwgODYsIDgsIDMsIDI0NiwgNjksIDgsIDMsIDI0NiwgNjQsIDgsIAotICAgIDMsIDI0NiwgNjcsIDgsIDMsIDIxNiwgNjgsIDgsIDMsIDIxNiwgNjIsIDgsIDMsIDIxNiwgMTE4LCA4LCAzLCAyMTYsIDc3LCAKLSAgICA4LCAzLCAyMTYsIDExMCwgOCwgMywgMjE2LCAxMTIsIDgsIDMsIDIxNiwgMTExLCA4LCAzLCAyMTcsIDQ3LCA4LCAzLCAyMTcsIAotICAgIDM0LCA4LCAzLCAyMTcsIDEwNiwgOCwgMywgMjE3LCA1NSwgOCwgMywgMjE1LCAxMDMsIDgsIDMsIDIxNSwgMTAyLCA4LCAzLCAKLSAgICAyMTUsIDEwNSwgOCwgMywgMjE1LCAxMDQsIDgsIDMsIDIxNiwgNiwgOCwgMywgMjE2LCAyLCA4LCAzLCAxMTIsIDgsIDMsIAotICAgIDIxNiwgMTQsIDgsIDMsIDIxNiwgMjE0LCA4LCAzLCAyMTcsIDIzLCA4LCAzLCAyMTYsIDIzOCwgOCwgMywgMjE1LCA4OCwgOCwgCi0gICAgMywgMjE1LCA4MywgOCwgMywgMjE1LCAxMTksIDgsIDMsIDIxNSwgMTAxLCA4LCAzLCAyMTUsIDg5LCA4LCAzLCAyMTUsIDk5LCAKLSAgICA4LCAzLCAyNDgsIDExNSwgOCwgMywgMjQ4LCAxMTQsIDgsIDMsIDI0OCwgMTIwLCA4LCAzLCAyNDgsIDExNiwgOCwgMywgCi0gICAgMjQ4LCAxMTcsIDgsIDMsIDI0OCwgMTE5LCA4LCAzLCAyNDgsIDExOCwgOCwgMywgMjQ4LCAxMzYsIDgsIDMsIDI0OCwgMTM1LCAKLSAgICA4LCAzLCAyNDgsIDE0MywgOCwgMywgMjQ4LCAxMzcsIDgsIDMsIDI0OCwgMTA1LCA4LCAzLCAyNDgsIDEwNywgOCwgMywgCi0gICAgMjQ4LCAxMDYsIDgsIDMsIDI0OCwgMTEwLCA4LCAzLCAyNDgsIDEwOSwgOCwgMywgMjQ4LCAxMTMsIDgsIDMsIDI0OCwgMTExLCAKLSAgICA4LCAzLCAyNDgsIDEyOCwgOCwgMywgMjQ4LCAxMzEsIDgsIDMsIDI0OCwgMTI5LCA4LCAzLCAyNDgsIDEwMSwgOCwgMywgCi0gICAgMjQ4LCAxMDAsIDgsIDMsIDI0OCwgMTA4LCA4LCAzLCAyNDgsIDEwNCwgOCwgMywgMjQ4LCAxMDIsIDgsIDMsIDI0OCwgMTAzLCAKLSAgICA4LCAzLCAyMjksIDEzMSwgOCwgMywgMjI5LCAxMzAsIDgsIDMsIDIyOSwgMTM4LCA4LCAzLCAyMjksIDEzMywgOCwgMywgCi0gICAgMjI5LCAxMzQsIDgsIDMsIDIyOSwgMTM1LCA4LCAzLCAyMjksIDE0NywgOCwgMywgMjI5LCAxNDYsIDgsIDMsIDIyOSwgMTUzLCAKLSAgICA4LCAzLCAyMjksIDE0OCwgOCwgMywgMjI5LCAxMjMsIDgsIDMsIDIyOSwgMTIyLCA4LCAzLCAyMjksIDEyOSwgOCwgMywgCi0gICAgMjI5LCAxMjQsIDgsIDMsIDIyOSwgMTM5LCA4LCAzLCAyMjksIDE0NSwgOCwgMywgMjI5LCAxNDMsIDgsIDMsIDIyOSwgMTE1LCAKLSAgICA4LCAzLCAyMjksIDExNCwgOCwgMywgMjI5LCAxMjAsIDgsIDMsIDIyOSwgMTE4LCA4LCAzLCAyMjksIDExNiwgOCwgMywgCi0gICAgMjI5LCAxMTcsIDgsIDMsIDI0MSwgODQsIDgsIDMsIDI0MSwgODMsIDgsIDMsIDI0MSwgOTAsIDgsIDMsIDI0MSwgODUsIDgsIAotICAgIDMsIDI0MSwgODcsIDgsIDMsIDI0MSwgODYsIDgsIDMsIDI0MSwgODksIDgsIDMsIDI0MSwgODgsIDgsIDMsIDI0MSwgOTUsIAotICAgIDgsIDMsIDI0MSwgOTQsIDgsIDMsIDI0MSwgOTcsIDgsIDMsIDI0MSwgOTYsIDgsIDMsIDI0MSwgNzgsIDgsIDMsIDI0MSwgCi0gICAgNzksIDgsIDMsIDI0MSwgODEsIDgsIDMsIDI0MSwgODAsIDgsIDMsIDI0MSwgODIsIDgsIDMsIDI0MSwgOTEsIDgsIDMsIAotICAgIDI0MSwgOTMsIDgsIDMsIDI0MSwgOTIsIDgsIDMsIDI0MSwgNzcsIDgsIDMsIDIyOCwgMTk0LCA4LCAzLCAyMjgsIDE5MiwgOCwgCi0gICAgMywgMjI4LCAyMzgsIDgsIDMsIDIyOCwgMTk3LCA4LCAzLCAyMjgsIDIyMCwgOCwgMywgMjI4LCAyMzQsIDgsIDMsIDIyOCwgCi0gICAgMjMzLCA4LCAzLCAyMjksIDE4OCwgOCwgMywgMTk4LCA4LCAzLCAyMjksIDIwMiwgOCwgMywgMjI3LCAxOTAsIDgsIDMsIAotICAgIDIyNywgMTkyLCA4LCAzLCAyMjcsIDE5MSwgOCwgMywgMjI4LCA1NiwgOCwgMywgMjI4LCA0MywgOCwgMywgMjI4LCA3OSwgOCwgCi0gICAgMywgMjI4LCA2NSwgOCwgMywgMjI5LCA4OCwgOCwgMywgMjI5LCAxMTIsIDgsIDMsIDIyOSwgOTksIDgsIDMsIDIyNywgMTg1LCAKLSAgICA4LCAzLCAyMjcsIDE4MSwgOCwgMywgMjI3LCAyNDIsIDgsIDMsIDIyNywgMTg5LCA4LCAzLCAyMjcsIDE4NywgOCwgMywgCi0gICAgMjI3LCAxODgsIDgsIDMsIDI0MSwgMTQ4LCA4LCAzLCAyNDEsIDE0NywgOCwgMywgMjQxLCAxNTMsIDgsIDMsIDI0MSwgMTQ5LCAKLSAgICA4LCAzLCAyNDEsIDE1MCwgOCwgMywgMjQxLCAxNTIsIDgsIDMsIDI0MSwgMTUxLCA4LCAzLCAyNDEsIDE1OCwgOCwgMywgCi0gICAgMjQxLCAxNTcsIDgsIDMsIDI0MSwgMTYwLCA4LCAzLCAyNDEsIDE1OSwgOCwgMywgMjQxLCAxNDAsIDgsIDMsIDI0MSwgMTQyLCAKLSAgICA4LCAzLCAyNDEsIDE0MSwgOCwgMywgMjQxLCAxNDQsIDgsIDMsIDI0MSwgMTQ2LCA4LCAzLCAyNDEsIDE0NSwgOCwgMywgCi0gICAgMjQxLCAxNTQsIDgsIDMsIDI0MSwgMTU2LCA4LCAzLCAyNDEsIDE1NSwgOCwgMywgMjQxLCAxMzYsIDgsIDMsIDI0MSwgMTM1LCAKLSAgICA4LCAzLCAyNDEsIDE0MywgOCwgMywgMjQxLCAxMzksIDgsIDMsIDI0MSwgMTM3LCA4LCAzLCAyNDEsIDEzOCwgOCwgMywgCi0gICAgMjQxLCAxMzAsIDgsIDMsIDI0MSwgMTI5LCA4LCAzLCAyNDEsIDEzNCwgOCwgMywgMjQxLCAxMzMsIDgsIDMsIDI0MSwgMTMxLCAKLSAgICA4LCAzLCAyNDEsIDEzMiwgOCwgMywgMjMyLCAyMDEsIDgsIDMsIDIzMiwgMTk1LCA4LCAzLCAyMzIsIDI0NywgOCwgMywgCi0gICAgMjMyLCAyMDgsIDgsIDMsIDIzMiwgMjM5LCA4LCAzLCAyMzIsIDIzOCwgOCwgMywgMjMyLCAyNDIsIDgsIDMsIDIzMiwgMjQwLCAKLSAgICA4LCAzLCAyMzMsIDg1LCA4LCAzLCAyMzMsIDc1LCA4LCAzLCAyMzMsIDE0MSwgOCwgMywgMjMzLCA5NCwgOCwgMywgMjMyLCAKLSAgICA4NCwgOCwgMywgMjMyLCA4MywgOCwgMywgMjMyLCA4NiwgOCwgMywgMjMyLCA4NSwgOCwgMywgMjMyLCAxMjIsIDgsIDMsIAotICAgIDIzMiwgMTEyLCA4LCAzLCAyMzIsIDE2MiwgOCwgMywgMjMyLCAxMjYsIDgsIDMsIDIzMywgOCwgOCwgMywgMjMzLCA2NCwgOCwgCi0gICAgMywgMjMzLCAyMywgOCwgMywgMjMyLCA3OSwgOCwgMywgMjMyLCA3NywgOCwgMywgMjMyLCAxMDMsIDgsIDMsIDIzMiwgODIsIAotICAgIDgsIDMsIDIzMiwgODAsIDgsIDMsIDIzMiwgODEsIDgsIDMsIDIzMiwgNTksIDgsIDMsIDIzMiwgNTgsIDgsIDMsIDIzMiwgCi0gICAgNjcsIDgsIDMsIDIzMiwgNjIsIDgsIDMsIDIzMiwgNjAsIDgsIDMsIDIzMiwgNjEsIDgsIDMsIDI0MiwgMTk2LCA4LCAzLCAKLSAgICAyNDIsIDE5NSwgOCwgMywgMjQyLCAyMjEsIDgsIDMsIDI0MiwgMjA2LCA4LCAzLCAyNDIsIDIxMywgOCwgMywgMjQyLCAyMTIsIAotICAgIDgsIDMsIDI0MiwgMjE1LCA4LCAzLCAyNDIsIDIxNCwgOCwgMywgMjQzLCA5NiwgOCwgMywgMjQzLCA5MSwgOCwgMywgMjQzLCAKLSAgICAxNDIsIDgsIDMsIDI0MywgMTA2LCA4LCAzLCAyNDIsIDk4LCA4LCAzLCAyNDIsIDk3LCA4LCAzLCAyNDIsIDEwMCwgOCwgMywgCi0gICAgMjQyLCA5OSwgOCwgMywgMjQyLCAxNjEsIDgsIDMsIDI0MiwgMTU5LCA4LCAzLCAyNDIsIDE4MSwgOCwgMywgMjQyLCAxNjksIAotICAgIDgsIDMsIDI0MywgNDAsIDgsIDMsIDI0MywgMzgsIDgsIDMsIDI0MywgNjksIDgsIDMsIDI0MywgNTEsIDgsIDMsIDI0MiwgCi0gICAgODgsIDgsIDMsIDI0MiwgODcsIDgsIDMsIDI0MiwgMTIwLCA4LCAzLCAyNDIsIDk2LCA4LCAzLCAyNDIsIDg5LCA4LCAzLCAKLSAgICAyNDIsIDk1LCA4LCAzLCAyMzQsIDY3LCA4LCAzLCAyMzQsIDY2LCA4LCAzLCAyMzQsIDk4LCA4LCAzLCAyMzQsIDgxLCA4LCAKLSAgICAzLCAyMzQsIDkxLCA4LCAzLCAyMzQsIDk0LCA4LCAzLCAyMzQsIDkyLCA4LCAzLCAyMzQsIDIwOCwgOCwgMywgMjM0LCAxOTYsIAotICAgIDgsIDMsIDE3NiwgOCwgMywgMjM0LCAyMzQsIDgsIDMsIDIzMywgMjA2LCA4LCAzLCAyMzMsIDIxMSwgOCwgMywgMjMzLCAKLSAgICAyMDgsIDgsIDMsIDIzNCwgNiwgOCwgMywgMjM0LCAyLCA4LCAzLCAyMzQsIDM0LCA4LCAzLCAyMzQsIDEzLCA4LCAzLCAyMzQsIAotICAgIDE2MiwgOCwgMywgMjM0LCAxNDYsIDgsIDMsIDIzNCwgMTg4LCA4LCAzLCAyMzQsIDE2NSwgOCwgMywgMjMzLCAxOTUsIDgsIAotICAgIDMsIDIzMywgMTkyLCA4LCAzLCAyMzMsIDIyMywgOCwgMywgMjMzLCAyMDUsIDgsIDMsIDIzMywgMTk4LCA4LCAzLCAyMzMsIAotICAgIDIwMiwgOCwgMywgMjQzLCAyMiwgOCwgMywgMjQzLCAyMSwgOCwgMywgMjQzLCAyNiwgOCwgMywgMjQzLCAyMywgOCwgMywgCi0gICAgMjQzLCAyNSwgOCwgMywgMjQzLCAyNCwgOCwgMywgMjQzLCAzMywgOCwgMywgMjQzLCAzMiwgOCwgMywgMjQzLCAzNiwgOCwgCi0gICAgMywgMjQzLCAzNCwgOCwgMywgMjQzLCAxMywgOCwgMywgMjQzLCAxMiwgOCwgMywgMjQzLCAxNSwgOCwgMywgMjQzLCAxNCwgCi0gICAgOCwgMywgMjQzLCAxOCwgOCwgMywgMjQzLCAxNywgOCwgMywgMjQzLCAyMCwgOCwgMywgMjQzLCAxOSwgOCwgMywgMjQzLCAKLSAgICAyOCwgOCwgMywgMjQzLCAyNywgOCwgMywgMjQzLCAzMSwgOCwgMywgMjQzLCAyOSwgOCwgMywgMjQzLCA4LCA4LCAzLCAyNDMsIAotICAgIDcsIDgsIDMsIDI0MywgMTYsIDgsIDMsIDI0MywgMTEsIDgsIDMsIDI0MywgOSwgOCwgMywgMjQzLCAxMCwgOCwgMywgMjMwLCAKLSAgICAyNTQsIDgsIDMsIDIzMCwgMjU1LCA4LCAzLCAyMzEsIDE3LCA4LCAzLCAyMzEsIDE2LCA4LCAzLCAyMzEsIDE5LCA4LCAzLCAKLSAgICAyMzEsIDE4LCA4LCAzLCAyMzAsIDI0NSwgOCwgMywgMjMwLCAyNDcsIDgsIDMsIDIzMCwgMjQ2LCA4LCAzLCAyMzAsIDI1MCwgCi0gICAgOCwgMywgMjMwLCAyNDksIDgsIDMsIDIzMCwgMjUyLCA4LCAzLCAyMzAsIDI1MSwgOCwgMywgMjMxLCAwLCA4LCAzLCAyMzEsIAotICAgIDIsIDgsIDMsIDIzMSwgMSwgOCwgMywgMjMwLCAyNDEsIDgsIDMsIDIzMCwgMjQwLCA4LCAzLCAyMzAsIDI0OCwgOCwgMywgCi0gICAgMjMwLCAyNDQsIDgsIDMsIDIzMCwgMjQyLCA4LCAzLCAyMzAsIDI0MywgOCwgMywgMjQwLCAxODcsIDgsIDMsIDI0MCwgMTg2LCAKLSAgICA4LCAzLCAyNDAsIDE5MywgOCwgMywgMjQwLCAxODgsIDgsIDMsIDI0MCwgMTkwLCA4LCAzLCAyNDAsIDE4OSwgOCwgMywgCi0gICAgMjQwLCAxOTIsIDgsIDMsIDI0MCwgMTkxLCA4LCAzLCAyNDAsIDE5OCwgOCwgMywgMjQwLCAxOTcsIDgsIDMsIDI0MCwgMjAwLCAKLSAgICA4LCAzLCAyNDAsIDE5OSwgOCwgMywgMjQwLCAxNzksIDgsIDMsIDI0MCwgMTc4LCA4LCAzLCAyNDAsIDE4MSwgOCwgMywgCi0gICAgMjQwLCAxODAsIDgsIDMsIDI0MCwgMTgzLCA4LCAzLCAyNDAsIDE4MiwgOCwgMywgMjQwLCAxODUsIDgsIDMsIDI0MCwgMTg0LCAKLSAgICA4LCAzLCAyNDAsIDE5NCwgOCwgMywgMjQwLCAxOTYsIDgsIDMsIDI0MCwgMTk1LCA4LCAzLCAyMjksIDI5LCA4LCAzLCAyMjksIAotICAgIDMxLCA4LCAzLCAyMjksIDMwLCA4LCAzLCAyMjksIDcyLCA4LCAzLCAyMjksIDcwLCA4LCAzLCAyMjksIDgyLCA4LCAzLCAKLSAgICAyMjksIDc1LCA4LCAzLCAyMjgsIDI0OCwgOCwgMywgMjI4LCAyNDcsIDgsIDMsIDIyOCwgMjQ5LCA4LCAzLCAyMjksIDEsIDgsIAotICAgIDMsIDIyOCwgMjU0LCA4LCAzLCAyMjksIDksIDgsIDMsIDIyOSwgMywgOCwgMywgMjI5LCA2MywgOCwgMywgMjI5LCA2OSwgOCwgCi0gICAgMywgMjI5LCA2NSwgOCwgMywgMjQxLCAxNjMsIDgsIDMsIDI0MSwgMTczLCA4LCAzLCAyNDEsIDE4MiwgOCwgMywgMjQyLCAyLCAKLSAgICA4LCAzLCAyNDEsIDI1MCwgOCwgMywgMTYyLCA4LCAzLCAyNDIsIDEzLCA4LCAzLCAyNDAsIDIxMywgOCwgMywgMjQwLCAyMTIsIAotICAgIDgsIDMsIDI0MCwgMjE1LCA4LCAzLCAyNDAsIDIxNCwgOCwgMywgMjQwLCAyNDksIDgsIDMsIDI0MCwgMjQwLCA4LCAzLCAKLSAgICAyNDEsIDc1LCA4LCAzLCAyNDEsIDU0LCA4LCAzLCAyNDEsIDIwMSwgOCwgMywgMjQxLCAyNDUsIDgsIDMsIDI0MSwgMjEzLCAKLSAgICA4LCAzLCAyMTIsIDQzLCA4LCAzLCAyMTIsIDI4LCA4LCAzLCAyMTIsIDY1LCA4LCAzLCAyMTIsIDUxLCA4LCAzLCAyMTEsIAotICAgIDE4NSwgOCwgMywgMjExLCAxODcsIDgsIDMsIDIxMSwgMTg2LCA4LCAzLCAyMTEsIDIwMywgOCwgMywgMjExLCAyMjcsIDgsIAotICAgIDMsIDIxMSwgMjEwLCA4LCAzLCAyMTIsIDUsIDgsIDMsIDIxMiwgMjIsIDgsIDMsIDIxMiwgMTAsIDgsIDMsIDIxMCwgMzAsIAotICAgIDgsIDMsIDIxMCwgMjksIDgsIDMsIDIxMCwgNDQsIDgsIDMsIDIxMCwgMzIsIDgsIDMsIDIxMCwgMzcsIDgsIDMsIDIxMCwgCi0gICAgMzksIDgsIDMsIDIxMCwgMzgsIDgsIDMsIDIxMCwgMTAyLCA4LCAzLCAyMTAsIDk5LCA4LCAzLCAyMTAsIDExNiwgOCwgMywgCi0gICAgMjEwLCAxMDUsIDgsIDMsIDIxMCwgNiwgOCwgMywgMjEwLCA4LCA4LCAzLCAyMTAsIDcsIDgsIDMsIDIxMCwgMTksIDgsIDMsIAotICAgIDIxMCwgMTgsIDgsIDMsIDIxMCwgMjMsIDgsIDMsIDIxMCwgMjAsIDgsIDMsIDIxMCwgODQsIDgsIDMsIDIxMCwgOTQsIDgsIAotICAgIDMsIDIxMCwgODgsIDgsIDMsIDIxMCwgMiwgOCwgMywgMjEwLCAxLCA4LCAzLCAyMTAsIDEzLCA4LCAzLCAyMTAsIDUsIDgsIAotICAgIDMsIDIxMCwgMywgOCwgMywgMjEwLCA0LCA4LCAzLCAyMDksIDI0NSwgOCwgMywgMjA5LCAyNDQsIDgsIDMsIDIwOSwgMjUwLCAKLSAgICA4LCAzLCAyMDksIDI0OCwgOCwgMywgMjA5LCAyNDYsIDgsIDMsIDIwOSwgMjQ3LCA4LCAzLCAyNTAsIDM2LCA4LCAzLCAyNTAsIAotICAgIDMyLCA4LCAzLCAyNTAsIDU5LCA4LCAzLCAyNTAsIDQ1LCA4LCAzLCAyNTAsIDU2LCA4LCAzLCAyNTAsIDUwLCA4LCAzLCAKLSAgICAyNTAsIDU4LCA4LCAzLCAyNTAsIDU3LCA4LCAzLCAyNTAsIDIzMiwgOCwgMywgMjUwLCAyMjUsIDgsIDMsIDI1MSwgNDEsIDgsIAotICAgIDMsIDI1MSwgMywgOCwgMywgMjQ5LCAxMTIsIDgsIDMsIDI0OSwgMTE0LCA4LCAzLCAyNDksIDExMywgOCwgMywgMjQ5LCAKLSAgICAxNjEsIDgsIDMsIDI0OSwgMTUyLCA4LCAzLCAyNDksIDI0NiwgOCwgMywgMjQ5LCAxNzcsIDgsIDMsIDI1MCwgMTY4LCA4LCAKLSAgICAzLCAyNTAsIDE5OCwgOCwgMywgMjUwLCAxNzMsIDgsIDMsIDI0OSwgOTIsIDgsIDMsIDI0OSwgOTAsIDgsIDMsIDI0OSwgCi0gICAgMTIwLCA4LCAzLCAyNDksIDExMCwgOCwgMywgMjQ5LCA5NywgOCwgMywgMjQ5LCAxMDksIDgsIDMsIDI0OSwgNzEsIDgsIDMsIAotICAgIDI0OSwgNzAsIDgsIDMsIDI0OSwgODEsIDgsIDMsIDI0OSwgNzcsIDgsIDMsIDI0OSwgNzIsIDgsIDMsIDI0OSwgNzQsIDgsIAotICAgIDMsIDIwOSwgMjI4LCA4LCAzLCAyMDksIDIyNywgOCwgMywgMjA5LCAyMzQsIDgsIDMsIDIwOSwgMjI5LCA4LCAzLCAyMDksIAotICAgIDIzMSwgOCwgMywgMjA5LCAyMzAsIDgsIDMsIDIwOSwgMjMzLCA4LCAzLCAyMDksIDIzMiwgOCwgMywgMjA5LCAyNDAsIDgsIAotICAgIDMsIDIwOSwgMjM5LCA4LCAzLCAyMDksIDI0MywgOCwgMywgMjA5LCAyNDEsIDgsIDMsIDIwOSwgMjI0LCA4LCAzLCAyMDksIAotICAgIDIyNiwgOCwgMywgMjA5LCAyMjUsIDgsIDMsIDIwOSwgMjM1LCA4LCAzLCAyMDksIDIzOCwgOCwgMywgMjA5LCAyMzYsIDgsIAotICAgIDMsIDIwOSwgMjE3LCA4LCAzLCAyMDksIDIyMSwgOCwgMywgMjA5LCAyMjAsIDgsIDMsIDIwOSwgMjE4LCA4LCAzLCAyMDksIAotICAgIDIxOSwgOCwgMywgMjA5LCAyMTEsIDgsIDMsIDIwOSwgMjEwLCA4LCAzLCAyMDksIDIxNiwgOCwgMywgMjA5LCAyMTQsIDgsIAotICAgIDMsIDIwOSwgMjEyLCA4LCAzLCAyMDksIDIxMywgOCwgMywgMjI3LCAxMDgsIDgsIDMsIDIyNywgMTA3LCA4LCAzLCAyMjcsIAotICAgIDExMywgOCwgMywgMjI3LCAxMDksIDgsIDMsIDIyNywgMTEwLCA4LCAzLCAyMjcsIDExMiwgOCwgMywgMjI3LCAxMTEsIDgsIAotICAgIDMsIDIyNywgMTE4LCA4LCAzLCAyMjcsIDExNywgOCwgMywgMjI3LCAxMjEsIDgsIDMsIDIyNywgMTIwLCA4LCAzLCAyMjcsIAotICAgIDEwMSwgOCwgMywgMjI3LCAxMDIsIDgsIDMsIDIyNywgMTA1LCA4LCAzLCAyMjcsIDEwNiwgOCwgMywgMjI3LCAxMTQsIDgsIAotICAgIDMsIDIyNywgMTE2LCA4LCAzLCAyMjcsIDk2LCA4LCAzLCAyMjcsIDEwNCwgOCwgMywgMjI3LCAxMDAsIDgsIDMsIDIyNywgCi0gICAgOTcsIDgsIDMsIDIyNywgOTgsIDgsIDMsIDIyNywgOTEsIDgsIDMsIDIyNywgOTAsIDgsIDMsIDIyNywgOTUsIDgsIDMsIAotICAgIDIyNywgOTQsIDgsIDMsIDIyNywgOTIsIDgsIDMsIDIyNywgOTMsIDgsIDMsIDIxOSwgMTI5LCA4LCAzLCAxOTUsIDgsIDMsIAotICAgIDIxOSwgMTkzLCA4LCAzLCAyMTksIDEzMiwgOCwgMywgMjE5LCAxODUsIDgsIDMsIDIxOSwgMTg4LCA4LCAzLCAyMTksIDE4NiwgCi0gICAgOCwgMywgMjIxLCAyMjgsIDgsIDMsIDIyMSwgMjE2LCA4LCAzLCAyMDYsIDgsIDMsIDIyMSwgMjM2LCA4LCAzLCAyMTgsIDI5LCAKLSAgICA4LCAzLCAyMTgsIDMxLCA4LCAzLCAyMTgsIDMwLCA4LCAzLCAyMTksIDM2LCA4LCAzLCAyMTksIDI1LCA4LCAzLCAyMTksIAotICAgIDYwLCA4LCAzLCAyMTksIDQwLCA4LCAzLCAyMjAsIDExNiwgOCwgMywgMjIxLCAxODMsIDgsIDMsIDIyMCwgMTQxLCA4LCAzLCAKLSAgICAyMTgsIDYsIDgsIDMsIDIxOCwgNCwgOCwgMywgMjE4LCA4NCwgOCwgMywgMjE4LCAyOCwgOCwgMywgMjE4LCAxMCwgOCwgMywgCi0gICAgMjE4LCAxOCwgOCwgMywgMjE3LCAxNjcsIDgsIDMsIDIxNywgMTY2LCA4LCAzLCAyMTcsIDIzMywgOCwgMywgMjE3LCAxNzQsIAotICAgIDgsIDMsIDIxNywgMTY5LCA4LCAzLCAyMTcsIDE3MywgOCwgMywgMjE4LCAxODgsIDgsIDMsIDIxOCwgMTg3LCA4LCAzLCAKLSAgICAyMTgsIDE5NCwgOCwgMywgMjE4LCAxODksIDgsIDMsIDIxOCwgMTkxLCA4LCAzLCAyMTgsIDE5MywgOCwgMywgMjE4LCAxOTIsIAotICAgIDgsIDMsIDIxOCwgMjAyLCA4LCAzLCAyMTgsIDIwMCwgOCwgMywgMjE4LCAyMjUsIDgsIDMsIDIxOCwgMjAzLCA4LCAzLCAKLSAgICAyMTgsIDE4MywgOCwgMywgMjE4LCAxODIsIDgsIDMsIDIxOCwgMTg2LCA4LCAzLCAyMTgsIDE4NCwgOCwgMywgMjE4LCAxOTYsIAotICAgIDgsIDMsIDIxOCwgMTk5LCA4LCAzLCAyMTgsIDE5NywgOCwgMywgMjE4LCAxNzksIDgsIDMsIDIxOCwgMTc3LCA4LCAzLCAKLSAgICAyMTgsIDE4MSwgOCwgMywgMjE4LCAxODAsIDgsIDMsIDIxOCwgMTcyLCA4LCAzLCAyMTgsIDE3MSwgOCwgMywgMjE4LCAxNzYsIAotICAgIDgsIDMsIDIxOCwgMTc1LCA4LCAzLCAyMTgsIDE3MywgOCwgMywgMjE4LCAxNzQsIDgsIDMsIDIxMCwgNzcsIDgsIDMsIDIxMCwgCi0gICAgNzYsIDgsIDMsIDIxMCwgODIsIDgsIDMsIDIxMCwgNzksIDgsIDMsIDIxMCwgNTksIDgsIDMsIDIxMCwgNjEsIDgsIDMsIAotICAgIDIxMCwgNjAsIDgsIDMsIDIxMCwgNjQsIDgsIDMsIDIxMCwgNjMsIDgsIDMsIDIxMCwgNjcsIDgsIDMsIDIxMCwgNjUsIDgsIAotICAgIDMsIDIxMCwgNzEsIDgsIDMsIDIxMCwgNzAsIDgsIDMsIDIxMCwgNzQsIDgsIDMsIDIxMCwgNzIsIDgsIDMsIDIxMCwgNTUsIAotICAgIDgsIDMsIDIxMCwgNTQsIDgsIDMsIDIxMCwgNjIsIDgsIDMsIDIxMCwgNTgsIDgsIDMsIDIxMCwgNTYsIDgsIDMsIDIxMCwgCi0gICAgNTcsIDgsIDMsIDIxMCwgNDcsIDgsIDMsIDIxMCwgNDYsIDgsIDMsIDIxMCwgNTEsIDgsIDMsIDIxMCwgNTAsIDgsIDMsIAotICAgIDIxMCwgNDgsIDgsIDMsIDIxMCwgNDksIDgsIDMsIDI1MCwgMTQ0LCA4LCAzLCAyNTAsIDE0MSwgOCwgMywgMjUwLCAxNjUsIAotICAgIDgsIDMsIDI1MCwgMTUyLCA4LCAzLCAyNTAsIDczLCA4LCAzLCAyNTAsIDcyLCA4LCAzLCAyNTAsIDc1LCA4LCAzLCAyNTAsIAotICAgIDc0LCA4LCAzLCAyNTAsIDg3LCA4LCAzLCAyNTAsIDg2LCA4LCAzLCAyNTAsIDk0LCA4LCAzLCAyNTAsIDg5LCA4LCAzLCAKLSAgICAyNTAsIDEyMywgOCwgMywgMjUwLCAxMjEsIDgsIDMsIDI1MCwgMTM5LCA4LCAzLCAyNTAsIDEyOSwgOCwgMywgMjUwLCA2NywgCi0gICAgOCwgMywgMjUwLCA3NywgOCwgMywgMjUwLCA3MSwgOCwgMywgMjUwLCA2OCwgOCwgMywgMjUwLCA3MCwgOCwgMywgMjUwLCAKLSAgICA2MSwgOCwgMywgMjUwLCA2MCwgOCwgMywgMjUwLCA2NSwgOCwgMywgMjUwLCA2NCwgOCwgMywgMjUwLCA2MiwgOCwgMywgCi0gICAgMjUwLCA2MywgOCwgMywgMjIyLCAxNzcsIDgsIDMsIDIyMiwgMTgxLCA4LCAzLCAyMjIsIDE2MCwgOCwgMywgMjIyLCAxNjEsIAotICAgIDgsIDMsIDIyMiwgMTY0LCA4LCAzLCAyMjIsIDE2MywgOCwgMywgMjIyLCAxNjcsIDgsIDMsIDIyMiwgMTY1LCA4LCAzLCAKLSAgICAyMjIsIDE3MSwgOCwgMywgMjIyLCAxNzAsIDgsIDMsIDIyMiwgMTc2LCA4LCAzLCAyMjIsIDE3MiwgOCwgMywgMjIyLCAxNTYsIAotICAgIDgsIDMsIDIyMiwgMTU0LCA4LCAzLCAyMjIsIDE2MiwgOCwgMywgMjIyLCAxNTksIDgsIDMsIDIyMiwgMTU3LCA4LCAzLCAKLSAgICAyMjIsIDE1OCwgOCwgMywgMjIyLCAxNDksIDgsIDMsIDIyMiwgMTQ4LCA4LCAzLCAyMjIsIDE1MywgOCwgMywgMjIyLCAxNTIsIAotICAgIDgsIDMsIDIyMiwgMTUwLCA4LCAzLCAyMjIsIDE1MSwgOCwgMywgMjI4LCAzOSwgOCwgMywgMjI4LCAzOCwgOCwgMywgMjI4LCAKLSAgICA0MSwgOCwgMywgMjI4LCA0MCwgOCwgMywgMjI4LCAzMSwgOCwgMywgMjI4LCAzMywgOCwgMywgMjI4LCAzMiwgOCwgMywgCi0gICAgMjI4LCAzNSwgOCwgMywgMjI4LCAzNCwgOCwgMywgMjI4LCAzNywgOCwgMywgMjI4LCAzNiwgOCwgMywgMjI4LCAyNiwgOCwgCi0gICAgMywgMjI4LCAyNSwgOCwgMywgMjI4LCAzMCwgOCwgMywgMjI4LCAyOSwgOCwgMywgMjI4LCAyNywgOCwgMywgMjI4LCAyOCwgCi0gICAgOCwgMywgMjI4LCAyMCwgOCwgMywgMjI4LCAxOSwgOCwgMywgMjI4LCAyNCwgOCwgMywgMjI4LCAyMywgOCwgMywgMjI4LCAKLSAgICAyMSwgOCwgMywgMjI4LCAyMiwgOCwgMywgMjIwLCA3NCwgOCwgMywgMjIwLCA2OSwgOCwgMywgMjIwLCAxMDQsIDgsIDMsIAotICAgIDIyMCwgODUsIDgsIDMsIDIxOSwgMjE3LCA4LCAzLCAyMTksIDIxOSwgOCwgMywgMjE5LCAyMTgsIDgsIDMsIDIxOSwgMjM4LCAKLSAgICA4LCAzLCAyMTksIDIzNSwgOCwgMywgMjIwLCA5LCA4LCAzLCAyMjAsIDAsIDgsIDMsIDIyMCwgNDQsIDgsIDMsIDIyMCwgMzcsIAotICAgIDgsIDMsIDIyMCwgNjUsIDgsIDMsIDIyMCwgNTIsIDgsIDMsIDIxOSwgMjEzLCA4LCAzLCAyMTksIDIxMSwgOCwgMywgMjE5LCAKLSAgICAyMjcsIDgsIDMsIDIxOSwgMjE2LCA4LCAzLCAyMTksIDIxNCwgOCwgMywgMjE5LCAyMTUsIDgsIDMsIDIxOSwgMTk2LCA4LCAKLSAgICAzLCAyMTksIDE5NSwgOCwgMywgMjE5LCAyMDIsIDgsIDMsIDIxOSwgMTk5LCA4LCAzLCAyMTksIDE5NywgOCwgMywgMjE5LCAKLSAgICAxOTgsIDgsIDMsIDIyMywgMTQ0LCA4LCAzLCAyMjMsIDEzOCwgOCwgMywgMjA1LCA4LCAzLCAyMjMsIDE1MCwgOCwgMywgCi0gICAgMjIyLCAxMjIsIDgsIDMsIDIyMiwgMTI0LCA4LCAzLCAyMjIsIDEyMywgOCwgMywgMjIyLCAxOTAsIDgsIDMsIDIyMiwgMTgzLCAKLSAgICA4LCAzLCAyMjIsIDIxMywgOCwgMywgMjIyLCAxOTQsIDgsIDMsIDIyMywgNDYsIDgsIDMsIDIyMywgMTMxLCA4LCAzLCAyMjMsIAotICAgIDg0LCA4LCAzLCAyMjIsIDExNSwgOCwgMywgMjIyLCAxMTIsIDgsIDMsIDIyMiwgMTQyLCA4LCAzLCAyMjIsIDEyMSwgOCwgMywgCi0gICAgMjIyLCAxMTcsIDgsIDMsIDIyMiwgMTE4LCA4LCAzLCAyMjIsIDk3LCA4LCAzLCAyMjIsIDk2LCA4LCAzLCAyMjIsIDEwMiwgCi0gICAgOCwgMywgMjIyLCAxMDAsIDgsIDMsIDIyMiwgOTgsIDgsIDMsIDIyMiwgOTksIDgsIDMsIDIzNSwgMTA0LCA4LCAzLCAyMzUsIAotICAgIDEwMywgOCwgMywgMjM1LCAxMTQsIDgsIDMsIDIzNSwgMTA1LCA4LCAzLCAyMzUsIDExMCwgOCwgMywgMjM1LCAxMDksIDgsIAotICAgIDMsIDIzNSwgMTEyLCA4LCAzLCAyMzUsIDExMSwgOCwgMywgMjM1LCA0NywgOCwgMywgMjM1LCA0NiwgOCwgMywgMjM1LCA0OSwgCi0gICAgOCwgMywgMjM1LCA0OCwgOCwgMywgMjM1LCA2MiwgOCwgMywgMjM1LCA2MCwgOCwgMywgMjM1LCA3NCwgOCwgMywgMjM1LCAKLSAgICA2NCwgOCwgMywgMjM1LCA0MCwgOCwgMywgMjM1LCAzOCwgOCwgMywgMjM1LCA1NywgOCwgMywgMjM1LCA0NSwgOCwgMywgCi0gICAgMjM1LCA0MiwgOCwgMywgMjM1LCA0MywgOCwgMywgMjM1LCAzMiwgOCwgMywgMjM1LCAzMSwgOCwgMywgMjM1LCAzNiwgOCwgCi0gICAgMywgMjM1LCAzNSwgOCwgMywgMjM1LCAzMywgOCwgMywgMjM1LCAzNCwgOCwgMywgMjI0LCA0OSwgOCwgMywgMjI0LCA0NywgCi0gICAgOCwgMywgMjI0LCA1NiwgOCwgMywgMjI0LCA1MCwgOCwgMywgMjI0LCA1MywgOCwgMywgMjI0LCA1MiwgOCwgMywgMjI0LCAKLSAgICA1NSwgOCwgMywgMjI0LCA1NCwgOCwgMywgMjI0LCAyLCA4LCAzLCAyMjMsIDI1NSwgOCwgMywgMjI0LCA0LCA4LCAzLCAyMjQsIAotICAgIDMsIDgsIDMsIDIyNCwgMzYsIDgsIDMsIDIyNCwgMzUsIDgsIDMsIDIyNCwgNDUsIDgsIDMsIDIyNCwgMzksIDgsIDMsIDIyMywgCi0gICAgMjUwLCA4LCAzLCAyMjMsIDI0NiwgOCwgMywgMjI0LCAzMywgOCwgMywgMjIzLCAyNTQsIDgsIDMsIDIyMywgMjUyLCA4LCAzLCAKLSAgICAyMjMsIDI1MywgOCwgMywgMjIzLCAyMzAsIDgsIDMsIDIyMywgMjI4LCA4LCAzLCAyMjMsIDI0MCwgOCwgMywgMjIzLCAyMzMsIAotICAgIDgsIDMsIDIyMywgMjMxLCA4LCAzLCAyMjMsIDIzMiwgOCwgMywgMjM1LCA5MywgOCwgMywgMjM1LCA5MiwgOCwgMywgMjM1LCAKLSAgICA5OSwgOCwgMywgMjM1LCA5NCwgOCwgMywgMjM1LCA5NiwgOCwgMywgMjM1LCA5NSwgOCwgMywgMjM1LCA5OCwgOCwgMywgCi0gICAgMjM1LCA5NywgOCwgMywgMjM1LCA4NCwgOCwgMywgMjM1LCA4NiwgOCwgMywgMjM1LCA4NSwgOCwgMywgMjM1LCA4OSwgOCwgCi0gICAgMywgMjM1LCA4OCwgOCwgMywgMjM1LCA5MSwgOCwgMywgMjM1LCA5MCwgOCwgMywgMjM1LCA4MCwgOCwgMywgMjM1LCA3OSwgCi0gICAgOCwgMywgMjM1LCA4NywgOCwgMywgMjM1LCA4MywgOCwgMywgMjM1LCA4MSwgOCwgMywgMjM1LCA4MiwgOCwgMywgMjM1LCAKLSAgICA3NiwgOCwgMywgMjM1LCA3NSwgOCwgMywgMjM1LCA3OCwgOCwgMywgMjM1LCA3NywgOCwgMywgMjI4LCAxNjcsIDgsIDMsIAotICAgIDIyOCwgMTY2LCA4LCAzLCAyMjgsIDE3NCwgOCwgMywgMjI4LCAxNjgsIDgsIDMsIDIyOCwgMTcwLCA4LCAzLCAyMjgsIDE2OSwgCi0gICAgOCwgMywgMjI4LCAxNzMsIDgsIDMsIDIyOCwgMTcxLCA4LCAzLCAyMjgsIDE1NiwgOCwgMywgMjI4LCAxNTcsIDgsIDMsIAotICAgIDIyOCwgMTYyLCA4LCAzLCAyMjgsIDE2MSwgOCwgMywgMjI4LCAxNjUsIDgsIDMsIDIyOCwgMTYzLCA4LCAzLCAyMjgsIDE1MSwgCi0gICAgOCwgMywgMjI4LCAxNjAsIDgsIDMsIDIyOCwgMTU1LCA4LCAzLCAyMjgsIDE1MiwgOCwgMywgMjI4LCAxNTMsIDgsIDMsIAotICAgIDIyOCwgMTQ2LCA4LCAzLCAyMjgsIDE0NSwgOCwgMywgMjI4LCAxNTAsIDgsIDMsIDIyOCwgMTQ5LCA4LCAzLCAyMjgsIDE0NywgCi0gICAgOCwgMywgMjI4LCAxNDgsIDgsIDMsIDIyNywgMTQxLCA4LCAzLCAyMjcsIDE0MCwgOCwgMywgMjI3LCAxNTIsIDgsIDMsIAotICAgIDIyNywgMTQ1LCA4LCAzLCAyMjcsIDE0OSwgOCwgMywgMjI3LCAxNDgsIDgsIDMsIDIyNywgMTUxLCA4LCAzLCAyMjcsIDE1MCwgCi0gICAgOCwgMywgMjI3LCAxMjgsIDgsIDMsIDIyNywgMTMwLCA4LCAzLCAyMjcsIDEyOSwgOCwgMywgMjI3LCAxMzQsIDgsIDMsIAotICAgIDIyNywgMTMzLCA4LCAzLCAyMjcsIDEzOCwgOCwgMywgMjI3LCAxMzUsIDgsIDMsIDIyNywgMTI2LCA4LCAzLCAyMjcsIDEyNCwgCi0gICAgOCwgMywgMjI3LCAxMzIsIDgsIDMsIDIyNywgMTI3LCA4LCAzLCAyMTEsIDE1MCwgOCwgMywgMjExLCAxNDksIDgsIDMsIAotICAgIDIxMSwgMTU3LCA4LCAzLCAyMTEsIDE1MiwgOCwgMywgMjExLCAxNTQsIDgsIDMsIDIxMSwgMTUzLCA4LCAzLCAyMTEsIDE1NiwgCi0gICAgOCwgMywgMjExLCAxNTUsIDgsIDMsIDIxMSwgMTM5LCA4LCAzLCAyMTEsIDE0MCwgOCwgMywgMjExLCAxNDQsIDgsIDMsIAotICAgIDIxMSwgMTQzLCA4LCAzLCAyMTEsIDE0OCwgOCwgMywgMjExLCAxNDYsIDgsIDMsIDIxMSwgMTIxLCA4LCAzLCAyMTEsIDExOSwgCi0gICAgOCwgMywgMjExLCAxMzEsIDgsIDMsIDIxMSwgMTI0LCA4LCAzLCAyMTEsIDEyMiwgOCwgMywgMjExLCAxMjMsIDgsIDMsIAotICAgIDIxMCwgMjUwLCA4LCAzLCAyMTAsIDI0OCwgOCwgMywgMjExLCA4LCA4LCAzLCAyMTAsIDI1MSwgOCwgMywgMjExLCAyLCA4LCAKLSAgICAzLCAyMTEsIDEsIDgsIDMsIDIxMSwgNSwgOCwgMywgMjExLCAzLCA4LCAzLCAyMTAsIDE5MSwgOCwgMywgMjEwLCAxOTAsIDgsIAotICAgIDMsIDIxMCwgMTk0LCA4LCAzLCAyMTAsIDE5MiwgOCwgMywgMjEwLCAyMjQsIDgsIDMsIDIxMCwgMjIxLCA4LCAzLCAyMTAsIAotICAgIDI0NCwgOCwgMywgMjEwLCAyMjgsIDgsIDMsIDIxMCwgMTgyLCA4LCAzLCAyMTAsIDE3OCwgOCwgMywgMjEwLCAyMTIsIDgsIAotICAgIDMsIDIxMCwgMTg5LCA4LCAzLCAyMTAsIDE4NSwgOCwgMywgMjEwLCAxODYsIDgsIDMsIDIxMCwgMTYyLCA4LCAzLCAyMTAsIAotICAgIDE2MSwgOCwgMywgMjEwLCAxNjksIDgsIDMsIDIxMCwgMTY1LCA4LCAzLCAyMTAsIDE2MywgOCwgMywgMjEwLCAxNjQsIDgsIAotICAgIDM0LCAyMjQsIDM2LCA4LCAzNCwgMjMyLCAyNDcsIDgsIDM0LCAyMzQsIDY3LCA4LCAzNCwgMjI3LCAxNDUsIDgsIDM0LCAKLSAgICAyNDksIDc3LCA4LCAzNCwgMjE4LCAxOTQsIDgsIDM0LCAyNDMsIDE5LCA4LCAzNCwgMjQzLCA1MSwgOCwgMzQsIDIzMCwgCi0gICAgMjM1LCA4LCAzNCwgMjQwLCAxODcsIDgsIDM0LCAyMzIsIDYxLCA4LCAzNCwgMjUyLCA5MSwgOCwgMzQsIDIzMCwgMTMxLCA4LCAKLSAgICAzNCwgMjEwLCAyNDQsIDgsIDM0LCAyMjQsIDEyNCwgOCwgMzQsIDI0MCwgMTgxLCA4LCAzNCwgMjE3LCA0NywgOCwgMzQsIAotICAgIDI0MywgMTQyLCA4LCAzNCwgMjEwLCA1LCA4LCAzNCwgMjQ5LCA3MSwgOCwgMzQsIDI0OCwgMTAzLCA4LCAzNCwgMjUxLCAKLSAgICAxMDYsIDgsIDM0LCAyNDMsIDE1LCA4LCAzNCwgMjI3LCAxMzUsIDgsIDM0LCAyMTUsIDExOSwgOCwgMzQsIDIyNiwgMTc5LCAKLSAgICA4LCAzNCwgMjM1LCA4MCwgOCwgMzQsIDIxMCwgMTksIDgsIDM0LCAyMjQsIDEwMywgOCwgMzQsIDI0MSwgMTE1LCA4LCAzNCwgCi0gICAgMjEwLCAyNTAsIDgsIDM0LCAyMTIsIDExMiwgOCwgMzQsIDIxOSwgMjAyLCA4LCAzNCwgMjEzLCAyNDQsIDgsIDM0LCAyMTAsIAotICAgIDExNiwgOCwgMzQsIDIzNSwgNzQsIDgsIDM0LCAyMjcsIDEwMCwgOCwgMzQsIDIzNSwgNzgsIDgsIDM0LCAyNDIsIDE2MSwgOCwgCi0gICAgMzQsIDIzNSwgOTgsIDgsIDM0LCAyMTEsIDIyNywgOCwgMzQsIDI0NiwgODYsIDgsIDM0LCAyMTksIDIxNSwgOCwgMzQsIAotICAgIDIzMiwgMjQyLCA4LCAzNCwgMjQ5LCA4MSwgOCwgMzQsIDI0OSwgMTEzLCA4LCAzNCwgMjUwLCA0NSwgOCwgMzQsIDI0MCwgCi0gICAgMTg0LCA4LCAzNCwgMjIwLCA3NCwgOCwgMzQsIDIxMCwgNCwgOCwgMzQsIDIyMCwgMCwgOCwgMzQsIDI1MCwgMTM5LCA4LCAKLSAgICAzNCwgMjA5LCAyMzEsIDgsIDM0LCAyMjksIDE3OCwgOCwgMzQsIDIzNCwgMTg4LCAyMzIsIDIwMiwgMSwgMjUyLCAxOTksIAotICAgIDIzMiwgMjAyLCAxLCAxOTEsIDIzMiwgMjAyLCAxLCAyMjUsIDE1MCwgMjMyLCAyMDIsIDEsIDI0OCwgMjI5LCAyMzIsIDIwMiwgCi0gICAgMSwgMjE3LCAxMDYsIDIzMiwgMjAyLCAxLCAyMTYsIDIwOSwgMjMyLCAyMDIsIDEsIDI0MywgMTQyLCAyMzIsIDIwMiwgMSwgCi0gICAgMTc2LCAyMzIsIDIwMiwgMSwgMjM0LCAxMzgsIDIzMiwgMjAyLCAxLCAyMzUsIDE0NywgMjMyLCAyMDIsIDEsIDI1MSwgNDEsIAotICAgIDIzMiwgMjAyLCAxLCAyNTAsIDE2NSwgMjMyLCAyMDIsIDEsIDI0NiwgNDYsIDIzMiwgMjAyLCAxLCAyMTUsIDE4NCwgMjMyLCAKLSAgICAyMDIsIDEsIDIxNSwgMTc2LCAyMzIsIDIwMiwgMSwgMTg2LCAyMzIsIDIwMiwgMSwgMTk4LCAyMzIsIDIwMiwgMSwgMjMzLCAKLSAgICAxNDEsIDIzMiwgMjAyLCAxLCAyMDYsIDIzMiwgMjAyLCAxLCAyMTAsIDgyLCAyMzIsIDIwMiwgMSwgMjEwLCAxMTYsIDIzMiwgCi0gICAgMjAyLCAxLCAyMjksIDgyLCAyMzIsIDIwMiwgMSwgMTYyLCAyMzIsIDIwMiwgMSwgMjExLCAxNjUsIDIzMiwgMjAyLCAxLCAKLSAgICAyNDEsIDE5NiwgMjMyLCAyMDIsIDEsIDI0NCwgMjA0LCAyMzIsIDIwMiwgMSwgMjEyLCA2NSwgMjMyLCAyMDIsIDEsIDIyMCwgCi0gICAgMTA0LCAyMzIsIDIwMiwgMSwgMTkyLCAyMzIsIDIwMiwgMSwgMjQzLCAwLCAyMzIsIDIwMiwgMSwgNjEsIDIzMiwgMjAyLCAxLCAKLSAgICAyNTQsIDI1MiwgMjMyLCAyMDIsIDEsIDc2LCAyMzIsIDIwMiwgMSwgMjQ1LCA2MywgMjMyLCAyMDIsIDEsIDc0LCAyMzIsIAotICAgIDIwMiwgMSwgNzgsIDIzMiwgMjAyLCAxLCA2OSwgMjMyLCAyMDIsIDEsIDIxNCwgMjE0LCAyMzIsIDIwMiwgMSwgMjE0LCAKLSAgICAyMDgsIDIzMiwgMjAyLCAxLCAyMjYsIDIzOCwgMjMyLCAyMDIsIDEsIDEzOCwgMjMwLCAzNywgMjE2LCAxMTgsIDIzMiwgCi0gICAgMjAyLCAxLCAxMzgsIDIyOSwgMjM0LCAyMjUsIDE5LCAyMzIsIDIwMiwgMSwgMTM4LCAyMzAsIDM3LCAyNDksIDgwLCAyMzIsIAotICAgIDIwMiwgMSwgMTM4LCAyMzAsIDM3LCAyNTEsIDIxMywgMjMyLCAyMDIsIDEsIDEzOCwgMjMwLCAzNywgMTk4LCAyMzIsIDIwMiwgCi0gICAgMSwgMTM4LCAyMzAsIDM3LCAyMzUsIDEyMSwgMjMyLCAyMDIsIDIyNCwgMTQ0LCAyNDksIDIyNywgMjMyLCAyMDIsIDIyNCwgCi0gICAgMTQ0LCAyNDMsIDIzNiwgMjE4LCAxMzEsIDQxLCAzLCAyNDUsIDIxNywgNDEsIDMsIDI0NSwgMjEzLCA0MSwgMywgMjQxLCAKLSAgICAyMjcsIDQxLCAzLCAyMTIsIDE3LCA0MSwgMywgMjEyLCAxNiwgNDEsIDMsIDIyNSwgMjE0LCA0MSwgMywgMjUyLCAyMSwgNDEsIAotICAgIDMsIDI1MiwgNzQsIDQxLCAzLCAyMzEsIDEyMSwgNDEsIDMsIDIzMywgMjUzLCA0MSwgMywgMjMxLCAxMSwgNDEsIDMsIDI0MywgCi0gICAgODIsIDQxLCAzLCAyNDQsIDE1NSwgNDEsIDMsIDIxMywgMjUwLCA0MSwgMywgMjE3LCAxMiwgNDEsIDMsIDIxNiwgMTk1LCAKLSAgICA0MSwgMywgMjQ4LCAyNCwgNDEsIDMsIDI0OCwgMjEsIDQxLCAzLCAyMzMsIDU2LCA0MSwgMywgMjIzLCAxMTEsIDQxLCAzLCAKLSAgICAyNDgsIDg1LCA0MSwgMywgMjI5LCAxNDQsIDQxLCAzLCAyMjEsIDE3MiwgNDEsIDMsIDIyMCwgNjMsIDQxLCAzLCAyMTAsIAotICAgIDkyLCA0MSwgMywgMjEwLCA3MywgNDEsIDMsIDI1MCwgMTkwLCA0MSwgMywgMjM1LCAxMzAsIDQxLCAzLCAyMjgsIDE4MSwgCi0gICAgNDEsIDMsIDIxMSwgNDQsIDQxLCAzLCAyMzQsIDE4NywgNDEsIDMsIDIyOSwgNTYsIDQxLCAzLCAyNDMsIDYyLCA0MSwgMywgCi0gICAgMjMxLCA4NSwgNDEsIDMsIDIyOSwgMTA4LCA0MSwgMywgMjI3LCAxNTksIDQxLCAzLCA3NCwgNDEsIDMsIDIzNiwgNiwgNDEsIAotICAgIDMsIDI0MSwgMTg3LCA0MSwgMywgMjQxLCAxNjcsIDQxLCAzLCAyMTEsIDI1MCwgNDEsIDMsIDIxMSwgMjQxLCA0MSwgMywgCi0gICAgMjI1LCAxMTEsIDQxLCAzLCAyNTIsIDE5LCA0MSwgMywgMjUyLCAxNCwgNDEsIDMsIDIzMSwgMTE0LCA0MSwgMywgMjMzLCAKLSAgICAyNTAsIDQxLCAzLCAyMzEsIDgsIDQxLCAzLCAyNDMsIDc4LCA0MSwgMywgMjQ0LCAxMjksIDQxLCAzLCAyMTMsIDE3NiwgNDEsIAotICAgIDMsIDIxNiwgMTE4LCA0MSwgMywgMjE2LCAxNzYsIDQxLCAzLCAyNDgsIDE2LCA0MSwgMywgMjQ4LCAyMCwgNDEsIDMsIDIzMiwgCi0gICAgMjQ3LCA0MSwgMywgMjIzLCAzOCwgNDEsIDMsIDI0OCwgMTEsIDQxLCAzLCAyMjksIDEzOCwgNDEsIDMsIDIxOSwgMTkzLCAKLSAgICA0MSwgMywgMjIwLCAzNCwgNDEsIDMsIDIxMCwgNDQsIDQxLCAzLCAyMTAsIDY5LCA0MSwgMywgMjUwLCA1OSwgNDEsIDMsIAotICAgIDIzNSwgMTE0LCA0MSwgMywgMjI4LCAxNzQsIDQxLCAzLCAyMTEsIDgsIDQxLCAzLCAyMzQsIDk4LCA0MSwgMywgMjI5LCA0OCwgCi0gICAgNDEsIDMsIDI0MiwgMjIxLCA0MSwgMywgMjMwLCAyMzUsIDQxLCAzLCAyMjgsIDIzOCwgNDEsIDMsIDIyNywgMTUyLCA0MSwgCi0gICAgMywgNjEsIDQxLCAzLCAyNTQsIDEzMSwgNDEsIDMsIDIyOSwgNzcsIDQxLCAzLCAxNjIsIDQxLCAzLCAyNDIsIDI1LCA0MSwgCi0gICAgMywgMjEyLCA2NSwgNDEsIDMsIDIxMiwgNTUsIDQxLCAzLCAxOTEsIDQxLCAzLCAyNTIsIDI2LCA0MSwgMywgMjUyLCAxOTksIAotICAgIDQxLCAzLCAyMzEsIDEyOSwgNDEsIDMsIDIzNCwgMSwgNDEsIDMsIDIzNCwgMCwgNDEsIDMsIDIzMSwgMTUsIDQxLCAzLCAKLSAgICAyNDMsIDg2LCA0MSwgMywgMjQ0LCAyMDQsIDQxLCAzLCAyMTQsIDI3LCA0MSwgMywgMjE3LCAxMDYsIDQxLCAzLCAyMTYsIAotICAgIDIwOSwgNDEsIDMsIDI0OCwgMzMsIDQxLCAzLCAyNDgsIDIzLCA0MSwgMywgMjMzLCAxNDEsIDQxLCAzLCAyMDUsIDQxLCAzLCAKLSAgICAyNDgsIDIyOSwgNDEsIDMsIDIyOSwgMTUzLCA0MSwgMywgMjA2LCA0MSwgMywgMjIwLCAxMDQsIDQxLCAzLCAyMTAsIDExNiwgCi0gICAgNDEsIDMsIDIxMCwgODIsIDQxLCAzLCAyNTEsIDQxLCA0MSwgMywgMjM1LCAxNDcsIDQxLCAzLCAyMjgsIDE5MCwgNDEsIDMsIAotICAgIDE5MiwgNDEsIDMsIDE3NiwgNDEsIDMsIDIzNCwgMjQwLCA0MSwgMywgMjI5LCA2MSwgNDEsIDMsIDI0MywgMTQyLCA0MSwgMywgCi0gICAgMTg2LCA0MSwgMywgMTk4LCA0MSwgMywgMjI3LCAxNjksIDQxLCAzLCAyMjYsIDE4NywgNDEsIDMsIDIyNiwgMTgzLCA0MSwgCi0gICAgMywgMjQxLCA2MCwgNDEsIDMsIDIxMSwgMjE1LCA0MSwgMywgMjExLCAyMTEsIDQxLCAzLCAyMjQsIDI1MiwgNDEsIDMsIAotICAgIDI1MiwgMTcsIDQxLCAzLCAyNTEsIDIwMSwgNDEsIDMsIDIzMSwgMTA5LCA0MSwgMywgMjMzLCAyNDgsIDQxLCAzLCAyMzEsIAotICAgIDQsIDQxLCAzLCAyNDMsIDc0LCA0MSwgMywgMjQ0LCA0MiwgNDEsIDMsIDIxMywgMTI3LCA0MSwgMywgMjE2LCAxOCwgNDEsIAotICAgIDMsIDIxNiwgMTU0LCA0MSwgMywgMjQ4LCAxNCwgNDEsIDMsIDI0OCwgMTgsIDQxLCAzLCAyMzIsIDEzMywgNDEsIDMsIDIyMiwgCi0gICAgMTk5LCA0MSwgMywgMjQ3LCAxMzMsIDQxLCAzLCAyMjksIDEyNSwgNDEsIDMsIDIxOSwgNDIsIDQxLCAzLCAyMjAsIDMsIDQxLCAKLSAgICAzLCAyMTAsIDIxLCA0MSwgMywgMjEwLCA2NiwgNDEsIDMsIDI0OSwgMTgyLCA0MSwgMywgMjM1LCA2NSwgNDEsIDMsIDIyOCwgCi0gICAgMTY0LCA0MSwgMywgMjEwLCAyMjksIDQxLCAzLCAyMzQsIDE2LCA0MSwgMywgMjI5LCA0NiwgNDEsIDMsIDI0MiwgMTcxLCAKLSAgICA0MSwgMywgMjMwLCAxMzcsIDQxLCAzLCAyMjgsIDY5LCA0MSwgMywgMjI3LCAxMzYsIDQxLCAzLCA2OSwgNDEsIDMsIDIxNCwgCi0gICAgMTkwLCA0MSwgMywgMjQwLCAyMjksIDQxLCAzLCAyNDAsIDIxOSwgNDEsIDMsIDIxMSwgMTk1LCA0MSwgMywgMjExLCAxODksIAotICAgIDQxLCAzLCAyMjQsIDE1MywgNDEsIDMsIDI1MiwgMTYsIDQxLCAzLCAyNTEsIDEzMywgNDEsIDMsIDIzMSwgMTA4LCA0MSwgMywgCi0gICAgMjMzLCAyNDYsIDQxLCAzLCAyMzEsIDMsIDQxLCAzLCAyNDMsIDczLCA0MSwgMywgMjQzLCAyNDEsIDQxLCAzLCAyMTIsIAotICAgIDExNiwgNDEsIDMsIDIxNSwgMTE5LCA0MSwgMywgMjE2LCAxMzcsIDQxLCAzLCAyNDgsIDEyLCA0MSwgMywgMjQ4LCAxNywgCi0gICAgNDEsIDMsIDIzMiwgMTAzLCA0MSwgMywgMjIyLCAxNDIsIDQxLCAzLCAyNDYsIDg2LCA0MSwgMywgMjI5LCAxMjAsIDQxLCAzLCAKLSAgICAyMTgsIDg0LCA0MSwgMywgMjE5LCAyMjcsIDQxLCAzLCAyMTAsIDEzLCA0MSwgMywgMjEwLCA2MiwgNDEsIDMsIDI0OSwgCi0gICAgMTIwLCA0MSwgMywgMjM1LCA1NywgNDEsIDMsIDIyOCwgMTYwLCA0MSwgMywgMjEwLCAyMTIsIDQxLCAzLCAyMzMsIDIyMywgCi0gICAgNDEsIDMsIDIyOSwgNDUsIDQxLCAzLCAyNDIsIDEyMCwgNDEsIDMsIDIzMCwgMTA3LCA0MSwgMywgMjI3LCAyNDIsIDQxLCAzLCAKLSAgICAyMjcsIDEzMiwgNDEsIDMsIDc4LCA0MSwgMywgMjI2LCAyMDAsIDQxLCAzLCAyMjksIDUsIDQxLCAzLCAyNDEsIDc1LCA0MSwgCi0gICAgMywgMjQxLCA2MywgNDEsIDMsIDIxMSwgMjI3LCA0MSwgMywgMjExLCAyMTYsIDQxLCAzLCAyMjUsIDE5LCA0MSwgMywgMjUyLCAKLSAgICAxOCwgNDEsIDMsIDI1MSwgMjEzLCA0MSwgMywgMjMxLCAxMTAsIDQxLCAzLCAyMzMsIDI0OSwgNDEsIDMsIDIzMSwgNiwgNDEsIAotICAgIDMsIDI0MywgNzYsIDQxLCAzLCAyNDMsIDc1LCA0MSwgMywgMjQ0LCA1MSwgNDEsIDMsIDIxMywgMTM4LCA0MSwgMywgMTEyLCAKLSAgICA0MSwgMywgMjE2LCAxNTcsIDQxLCAzLCAyNDgsIDE1LCA0MSwgMywgMjQ4LCAxOSwgNDEsIDMsIDIzMiwgMTYyLCA0MSwgMywgCi0gICAgMjIyLCAyMTMsIDQxLCAzLCAyNDcsIDE1MywgNDEsIDMsIDIyOSwgMTI5LCA0MSwgMywgMjE5LCA2MCwgNDEsIDMsIDIyMCwgCi0gICAgOSwgNDEsIDMsIDIxMCwgMjMsIDQxLCAzLCAyMTAsIDY3LCA0MSwgMywgMjQ5LCAyNDYsIDQxLCAzLCAyMzUsIDc0LCA0MSwgCi0gICAgMywgMjI4LCAxNjUsIDQxLCAzLCAyMTAsIDI0NCwgNDEsIDMsIDIzNCwgMzQsIDQxLCAzLCAyMjksIDQ3LCA0MSwgMywgMjQyLCAKLSAgICAxODEsIDQxLCAzLCAyMzAsIDE2NiwgNDEsIDMsIDIyOCwgNzksIDQxLCAzLCAyMjcsIDEzOCwgNDEsIDMsIDc2LCA0MSwgMywgCi0gICAgMjQ1LCAxNTgsIDQxLCAzLCAyMjksIDY2LCA0MSwgMywgMjQxLCAyNDUsIDQxLCAzLCAyNDEsIDIxNiwgNDEsIDMsIDIxMiwgCi0gICAgMjIsIDQxLCAzLCAyMTIsIDEyLCA0MSwgMywgMjI1LCAyMjQsIDQxLCAzLCAyNTIsIDIyLCA0MSwgMywgMjUyLCA4MywgNDEsIAotICAgIDMsIDIzMSwgMTIyLCA0MSwgMywgMjMzLCAyNTQsIDQxLCAzLCAyMzMsIDI1MiwgNDEsIDMsIDIzMSwgMTIsIDQxLCAzLCAKLSAgICAyNDMsIDgzLCA0MSwgMywgMjQzLCA4MSwgNDEsIDMsIDI0NCwgMTYyLCA0MSwgMywgMjEzLCAyNTUsIDQxLCAzLCAyMTcsIAotICAgIDIzLCA0MSwgMywgMjE2LCAxOTYsIDQxLCAzLCAyNDgsIDI1LCA0MSwgMywgMjQ4LCAyMiwgNDEsIDMsIDIzMywgNjQsIDQxLCAKLSAgICAzLCAyMjMsIDEzMSwgNDEsIDMsIDI0OCwgOTgsIDQxLCAzLCAyMjksIDE0NSwgNDEsIDMsIDIyMSwgMTgzLCA0MSwgMywgCi0gICAgMjIwLCA2NSwgNDEsIDMsIDIxMCwgOTQsIDQxLCAzLCAyMTAsIDc0LCA0MSwgMywgMjUwLCAxOTgsIDQxLCAzLCAyMzUsIAotICAgIDEzMiwgNDEsIDMsIDIyOCwgMTgzLCA0MSwgMywgMjExLCA0NywgNDEsIDMsIDIzNCwgMTg4LCA0MSwgMywgMjI5LCA1NywgCi0gICAgNDEsIDMsIDIyOSwgNTMsIDQxLCAzLCAyNDMsIDY5LCA0MSwgMywgMjQzLCA1OCwgNDEsIDMsIDIzMSwgOTYsIDQxLCAzLCAKLSAgICAyMjksIDExMiwgNDEsIDMsIDIyNywgMTYwLCA0MSwgMywgMjI5LCA4NCwgNDEsIDMsIDIzMywgMjgsIDQxLCAyNDksIDIyNywgCi0gICAgNDEsIDI0MywgMjM2LCAyMTgsIDEzMSwgNDEsIDIyNCwgMTYsIDc5LCA0MSwgMywgMjI5LCAxMjgsIDI0NCwgMjA0LCA0MSwgCi0gICAgMywgMjI5LCAxMjgsIDE3NiwgNDEsIDMsIDIyOSwgMTI4LCAyMTksIDQyLCA0MSwgMTYsIDI0NCwgMTUyLCA0MSwgMTYsIAotICAgIDIzNCwgMTg2LCA0MSwgMTYsIDIxNiwgODIsIDQxLCAxNiwgMjI4LCAyMTMsIDQxLCAxNiwgMjUyLCAxNTUsIDQxLCAxNiwgCi0gICAgMjQ0LCAyMDMsIDQxLCAxNiwgMjE3LCAxMDIsIDQxLCAxNiwgMjQ4LCAxODQsIDQxLCAxNiwgMjQ3LCAxMzIsIDQxLCAxNiwgCi0gICAgMjMzLCAyMTIsIDQxLCAxNiwgMjE2LCAyMiwgNDEsIDE2LCAyNDcsIDE1MiwgNDEsIDE2LCAyMzUsIDY2LCA0MSwgMjEsIAotICAgIDIxMCwgODYsIDQxLCAyMSwgMTExLCA0MSwgMjEsIDEwNSwgNDEsIDIxLCAxNTgsIDQxLCAyMSwgMTYxLCA0MSwgMjEsIDE5MCwgCi0gICAgNDEsIDIxLCAxOTUsIDQxLCAyMSwgMTk5LCA0MSwgMjEsIDE5NiwgNDEsIDIxLCAyMDEsIDQxLCAzLCAyMjksIDEyOCwgMTg2LCAKLSAgICA0MSwgMywgMjI5LCAxMjgsIDI0NywgMTUzLCAzMywgNiwgMSwgMjEwLCA5MCwgMzMsIDQsIDEsIDIxMCwgOTAsIDMzLCA2LCAKLSAgICAxLCAyNDYsIDQyLCAzMywgNCwgMSwgMjQ2LCA0MiwgMzMsIDYsIDEsIDIyMywgNTIsIDI0NiwgNDQsIDMzLCA0LCAxLCAyMjMsIAotICAgIDUyLCAyNDYsIDQ0LCAzMywgNiwgMSwgMjM1LCAxOTIsIDMzLCA0LCAxLCAyMzUsIDE5MiwgMzMsIDYsIDEsIDI0NywgMTY5LCAKLSAgICAzMywgNCwgMSwgMjQ3LCAxNjksIDMzLCA2LCAxLCAyMzAsIDE0NSwgMjE0LCAyMDUsIDMzLCA0LCAxLCAyMzAsIDE0NSwgCi0gICAgMjE0LCAyMDUsIDMzLCA2LCAxLCAyNTEsIDE0NCwgMjI2LCAyMDUsIDMzLCA0LCAxLCAyNTEsIDE0NCwgMjI2LCAyMDUsIDMzLCAKLSAgICA2LCAxLCAyMjksIDkyLCAyMTEsIDMxLCAzMywgNCwgMSwgMjI5LCA5MiwgMjExLCAzMSwgMzMsIDYsIDEsIDIxMSwgMjgsIDIsIAotICAgIDI1MiwgMTkzLCAyMTEsIDMxLCAzMywgNCwgMSwgMjExLCAyOCwgMiwgMjUyLCAxOTMsIDIxMSwgMzEsIDMzLCA2LCAxLCAKLSAgICAyMzUsIDE5MCwgMjExLCA1OSwgMzMsIDQsIDEsIDIzNSwgMTkwLCAyMTEsIDU5LCAzMywgNiwgMSwgMjIzLCA1MiwgMjEwLCAKLSAgICAyMTIsIDMzLCA0LCAxLCAyMjMsIDUyLCAyMTAsIDIxMiwgMzMsIDYsIDEsIDIzNSwgMTkwLCA2MSwgMzMsIDQsIDEsIDIzNSwgCi0gICAgMTkwLCA2MSwgMzMsIDYsIDEsIDI1MCwgOCwgMjMyLCAxOTgsIDIxMCwgMTgzLCAzMywgNCwgMSwgMjUwLCA4LCAyMzIsIAotICAgIDE5OCwgMjEwLCAxODMsIDMzLCA2LCAxLCAyNTEsIDIyMiwgMjEwLCAxODMsIDMzLCA0LCAxLCAyNTEsIDIyMiwgMjEwLCAKLSAgICAxODMsIDMzLCA2LCAxLCAyMzUsIDE5MCwgMjUwLCA4LCAyMzIsIDE5OCwgMjEwLCAxODMsIDMzLCA0LCAxLCAyMzUsIDE5MCwgCi0gICAgMjUwLCA4LCAyMzIsIDE5OCwgMjEwLCAxODMsIDMzLCA2LCAxLCAyMTAsIDI0NiwgMzMsIDQsIDEsIDIxMCwgMjQ2LCAzMywgCi0gICAgNiwgMSwgMjIzLCA1MiwgMjE1LCAxNzksIDMzLCA0LCAxLCAyMjMsIDUyLCAyMTUsIDE3OSwgMzMsIDYsIDEsIDIxOSwgNTQsIAotICAgIDI0OCwgOTgsIDMzLCA0LCAxLCAyMTksIDU0LCAyNDgsIDk4LCAzMywgNiwgMSwgMjE5LCA1NCwgMjQ1LCAxODIsIDMzLCA0LCAKLSAgICAxLCAyMTksIDU0LCAyNDUsIDE4MiwgMzMsIDYsIDEsIDIxOSwgNTQsIDI0NSwgMTY3LCAzMywgNCwgMSwgMjE5LCA1NCwgCi0gICAgMjQ1LCAxNjcsIDMzLCA2LCAxLCAyMzAsIDE0OSwgNzgsIDMzLCA0LCAxLCAyMzAsIDE0OSwgNzgsIDMzLCA2LCAxLCAyNTEsIAotICAgIDI0OCwgNzgsIDMzLCA0LCAxLCAyNTEsIDI0OCwgNzgsIDMzLCA2LCAxLCA1MiwgMjMwLCAxNDksIDc4LCAzMywgNCwgMSwgCi0gICAgNTIsIDIzMCwgMTQ5LCA3OCwgMzMsIDEsIDIzMCwgOTEsIDc4LCAzOCwgMzMsIDIxMiwgMTAwLCAzOCwgMzMsIDIxNiwgMjQ5LCAKLSAgICAyMzAsIDE5NiwgNTAsIDM4LCAzMywgMjQwLCAyMTgsIDIzMCwgMTk2LCA1MCwgMzgsIDMzLCAyMTYsIDE0OSwgMjMwLCAxOTYsIAotICAgIDUwLCAyMTksIDk1LCAyNTMsIDIyNCwgMzgsIDMzLCAxLCAyMTQsIDIwMiwgMjM2LCA2NywgMzgsIDMzLCAxLCA3NCwgMzgsIAotICAgIDMzLCAxLCAyMTEsIDgsIDM4LCAzMywgMSwgNjksIDM4LCAzMywgMSwgMjQyLCAxMCwgNTAsIDM4LCAzMywgMSwgMjExLCAyNywgCi0gICAgMzgsIDMzLCAxLCAyMTksIDU0LCA1MCwgMzgsIDMzLCAxLCAyMjYsIDIwNSwgMzgsIDMzLCAyMzQsIDE5OCwgMzgsIDMzLCAKLSAgICAyMjUsIDIzMSwgMzMsIDIzNCwgMTk4LCAzMywgMjI1LCAyMzEsIDMzLCA2LCAxLCAyNDYsIDU0LCAzMywgNCwgMSwgMjQ2LCAKLSAgICA1NCwgMzMsIDYsIDEsIDI0NiwgMzUsIDMzLCA0LCAxLCAyNDYsIDM1LCAzMywgNiwgMSwgMjEwLCA1MiwgMzMsIDQsIDEsIAotICAgIDIxMCwgNTIsIDMzLCA2LCAxLCAyNTAsIDIxNCwgMzMsIDQsIDEsIDI1MCwgMjE0LCAzMywgNiwgMSwgMjQ2LCAzMywgMzMsIAotICAgIDQsIDEsIDI0NiwgMzMsIDMzLCA2LCAxLCAyMTcsIDI0LCAyLCAyMzAsIDIyOSwgMTAzLCAzMywgNCwgMSwgMjE3LCAyNCwgMiwgCi0gICAgMjMwLCAyMjksIDEwMywgMzMsIDYsIDEsIDIxNSwgNzgsIDMzLCA0LCAxLCAyMTUsIDc4LCAzMywgNiwgMSwgMjE1LCAxNjEsIAotICAgIDMzLCA0LCAxLCAyMTUsIDE2MSwgMzMsIDYsIDEsIDIxNSwgMTY1LCAzMywgNCwgMSwgMjE1LCAxNjUsIDMzLCA2LCAxLCAKLSAgICAyMTcsIDI5LCAzMywgNCwgMSwgMjE3LCAyOSwgMzMsIDYsIDEsIDI0MCwgMjA1LCAzMywgNCwgMSwgMjQwLCAyMDUsIDMzLCAKLSAgICA2LCAxLCAyMTksIDIwOCwgMzMsIDQsIDEsIDIxOSwgMjA4LCAzOCwgMzMsIDEsIDIzNSwgMTkwLCA3NiwgMjAsIDEsIDYxLCAKLSAgICAyMCwgMSwgMTc2LCAyMCwgMSwgNjksIDIwLCAxLCAyMzMsIDIyMywgMjAsIDEsIDI0NSwgMjE3LCAyMCwgMSwgMjIzLCAxMTEsIAotICAgIDIwLCAxLCAyMTcsIDg3LCAyMCwgMSwgNzgsIDIwLCAxLCAyMjcsIDE1MiwgMjAsIDEsIDc0LCAyMCwgMSwgMjMzLCAxNDEsIAotICAgIDIwLCAxLCAxOTEsIDIwLCAxLCAyMjIsIDI0MiwgMjAsIDEsIDIyMywgMzIsIDIwLCAxLCAyMzMsIDU1LCAyMCwgMSwgMjMxLCAKLSAgICA4NCwgMjAsIDEsIDIxNywgMTAyLCAyMCwgMSwgMjI5LCAxNTEsIDIwLCAxLCAyMjgsIDE4OCwgMjAsIDEsIDE5NCwgMjAsIDEsIAotICAgIDIxOCwgNSwgMjAsIDEsIDIzMCwgMTA3LCAyMCwgMSwgMjIwLCAyOSwgMjAsIDEsIDIxOSwgMTkzLCAyMCwgMSwgMjIwLCAzOSwgCi0gICAgMjAsIDEsIDIyMCwgMTI1LCAyMCwgMSwgMjMzLCAxNjEsIDIwLCAxLCAyMzQsIDE2MiwgMjAsIDEsIDIyNywgMjEzLCAyMCwgCi0gICAgMSwgMjI3LCAyNDIsIDIwLCAxLCAyMjgsIDE1OSwgMjAsIDEsIDIxMCwgMjI2LCAyMCwgMSwgMjE5LCAyMjcsIDIwLCAxLCAKLSAgICAyMTAsIDE4NywgMjAsIDEsIDE5MiwgMjAsIDEsIDIyOCwgMTQsIDIwLCAxLCAyMzQsIDE0OCwgMjAsIDEsIDIyNSwgMTU0LCAKLSAgICAyMCwgMSwgMjI4LCAxODEsIDIwLCAxLCAyMjcsIDI1MSwgMjAsIDEsIDIyNCwgMTQ3LCAyMCwgMSwgMjExLCAxOTIsIDIwLCAKLSAgICAxLCAyMjUsIDIxNCwgMjAsIDEsIDI0NCwgMTU1LCAyMCwgMSwgMjIyLCAxNDIsIDIwLCAxLCAyMzIsIDEwMywgMjAsIDEsIAotICAgIDIzMCwgMjM1LCAyMCwgMSwgMjI4LCAyMzgsIDIwLCAxLCAyMjMsIDU0LCAyMCwgMSwgMjIzLCAxNzQsIDIwLCAxLCAyMzQsIAotICAgIDE3MSwgMjAsIDEsIDIyOSwgMTIsIDIwLCAxLCAyMjksIDYxLCAyMCwgMSwgMjI5LCA4MiwgMjAsIDEsIDIyMCwgOSwgMjAsIAotICAgIDEsIDIyNCwgMTUwLCAyMCwgMSwgMjQzLCAyNDEsIDIwLCAxLCAyNDQsIDQ1LCAyMCwgMSwgMjEyLCA2NSwgMjAsIDEsIDE5OCwgCi0gICAgMjAsIDEsIDIzMiwgMjQ3LCAyMCwgMSwgMjI1LCAxMTEsIDIwLCAxLCAyMzIsIDEyNSwgMjAsIDEsIDIzNCwgMzQsIDIwLCAxLCAKLSAgICAyMzEsIDExOSwgMjAsIDEsIDIyMywgODYsIDIwLCAxLCAyMzEsIDYzLCAyMCwgMSwgMTg2LCAyMCwgMSwgMjE2LCAxMTgsIAotICAgIDIwLCAxLCAyMzQsIDk4LCAyMCwgMSwgMjMwLCAxNjYsIDIwLCAxLCAyMzEsIDEyNywgMjAsIDEsIDIxNiwgMjMxLCAyMCwgMSwgCi0gICAgMjM0LCAxLCAyMCwgMSwgMjE2LCAyNDgsIDIwLCAxLCAyMjcsIDI0MywgMjAsIDEsIDIyMSwgMjUzLCAyMCwgMSwgMjQ0LCAKLSAgICAyMDAsIDIwLCAxLCAyMzQsIDMsIDIwLCAxLCAyMzQsIDMwLCAyMCwgMzgsIDE2NCwgMjM0LCAxMSwgMjAsIDM4LCAxNjQsIAotICAgIDIxNSwgMTExLCAyMCwgMjI4LCAxODcsIDIwLCAyNDMsIDIzNiwgMjE4LCAxMzEsIDIwLCAyNDksIDIzNCwgMjAsIDI0OSwgCi0gICAgMjI3LCAyMCwgMjIwLCAxNTIsIDIwLCAyMjQsIDE2LCA3OSwgNTgsIDEsIDI1MCwgMTA0LCAxMzgsIDIxMCwgMjU0LCAyMjUsIAotICAgIDY0LCA1OCwgMSwgMjUwLCAxMDQsIDEzOCwgMjExLCA3MCwgMjI1LCA2NCwgNTgsIDEsIDI1MCwgMTA0LCAxMzgsIDIxMCwgCi0gICAgMjU0LCAyMjAsIDg2LCA1OCwgMSwgMjUwLCAxMDQsIDEzOCwgMjExLCA3MCwgMjIwLCA4NiwgNTgsIDEsIDI1MCwgMTA0LCAKLSAgICAxMzgsIDIxMCwgMjU0LCAyMjQsIDMzLCA1OCwgMSwgMjUwLCAxMDQsIDEzOCwgMjExLCA3MCwgMjI0LCAzMywgNTgsIDEsIAotICAgIDI1MCwgMTA0LCAxMzgsIDIxMCwgMjU0LCAyMjIsIDE0MiwgNTgsIDEsIDI1MCwgMTA0LCAxMzgsIDIxMSwgNzAsIDIyMiwgCi0gICAgMTQyLCA1OCwgMSwgMjQ1LCAyOCwgMjQ2LCAxMjYsIDEzOCwgMTMwLCA1OCwgMSwgMTI1LCAyNDYsIDEyNiwgMTM4LCAxMzAsIAotICAgIDU4LCAxLCAyMzAsIDIzMCwgMjQ2LCAxMjYsIDEzOCwgMTMwLCA1OCwgMSwgMTIxLCAyNDYsIDEyNiwgMTM4LCAxMzAsIDU4LCAKLSAgICAxLCAyNDUsIDI3LCAyNDYsIDEyNiwgMTM4LCAxMzAsIDU4LCAxLCAyNDUsIDI4LCAyNDYsIDEyNiwgMjMzLCA0NSwgMTM4LCAKLSAgICAxMzAsIDU4LCAxLCAxMjUsIDI0NiwgMTI2LCAyMzMsIDQ1LCAxMzgsIDEzMCwgNTgsIDEsIDIzMCwgMjMwLCAyNDYsIDEyNiwgCi0gICAgMjMzLCA0NSwgMTM4LCAxMzAsIDU4LCAxLCAxMjEsIDI0NiwgMTI2LCAyMzMsIDQ1LCAxMzgsIDEzMCwgNTgsIDEsIDI0NSwgCi0gICAgMjcsIDI0NiwgMTI2LCAyMzMsIDQ1LCAxMzgsIDEzMCwgNTgsIDEsIDI0NSwgMjgsIDIzMywgNDUsIDEzOCwgMTMwLCA1OCwgCi0gICAgMSwgMTI1LCAyMzMsIDQ1LCAxMzgsIDEzMCwgNTgsIDEsIDIzMCwgMjMwLCAyMzMsIDQ1LCAxMzgsIDEzMCwgNTgsIDEsIAotICAgIDEyMSwgMjMzLCA0NSwgMTM4LCAxMzAsIDU4LCAxLCAyNDUsIDI3LCAyMzMsIDQ1LCAxMzgsIDEzMCwgNTgsIDEsIDU5LCA2NywgCi0gICAgMTMwLCA1OCwgMSwgNTksIDIxOSwgOTcsIDU4LCAxLCA1OSwgMjAzLCAxMzAsIDU4LCAxLCAyMzIsIDExNCwgNDQsIDI0OSwgCi0gICAgMTY5LCAyNTQsIDExNywgNTgsIDEsIDIyMywgMTYwLCAxMjAsIDc1LCA1OCwgMSwgMjIzLCAxNjAsIDEyNCwgNzUsIDU4LCAxLCAKLSAgICAyMjMsIDE2MCwgMjQ1LCAzOSwgNzksIDU4LCAxLCAyMjMsIDE2MCwgMjM1LCAyMDAsIDI0NSwgMzksIDc5LCA1OCwgMSwgCi0gICAgMTIxLCAyMzUsIDIwMCwgMjQ1LCAzOSwgNzksIDU4LCAxLCAyMTgsIDExMywgMjIsIDEyNSwgMjE2LCAzMSwgNTgsIDEsIAotICAgIDIxOCwgMTEzLCAyMiwgMTIxLCAyMTYsIDMxLCA3LCA2LCAxLCAyNDUsIDIwNywgMjU0LCAxNzksIDcsIDQsIDEsIDI0NSwgCi0gICAgMjA3LCAyNTQsIDE3OSwgNywgNiwgMSwgMjQ1LCAyMDcsIDI1NCwgMjA1LCA3LCA0LCAxLCAyNDUsIDIwNywgMjU0LCAyMDUsIAotICAgIDcsIDYsIDEsIDI0MSwgMjE0LCA3LCA0LCAxLCAyNDEsIDIxNCwgNywgNiwgMSwgMjE1LCA0MCwgNywgNCwgMSwgMjE1LCA0MCwgCi0gICAgNywgNiwgMSwgMjE1LCAyMzAsIDcsIDQsIDEsIDIxNSwgMjMwLCA3LCA2LCAxLCAyNDksIDExOCwgNywgNCwgMSwgMjQ5LCAKLSAgICAxMTgsIDcsIDYsIDEsIDI0OSwgMTE5LCAyLCAyNDksIDIyNywgNywgNCwgMSwgMjQ5LCAxMTksIDIsIDI0OSwgMjI3LCA3LCAKLSAgICAxLCA0LCA2LCAyNDUsIDE0LCA3LCAxLCA0LCA2LCAyMjIsIDkzLCA3LCA2LCAxLCAyNTUsIDgyLCA3LCA0LCAxLCAyNTUsIAotICAgIDgyLCA3LCA2LCAxLCAyNTQsIDgxLCA3LCA0LCAxLCAyNTQsIDgxLCA3LCA2LCAxLCAyNTMsIDIwMCwgNywgNCwgMSwgMjUzLCAKLSAgICAyMDAsIDcsIDYsIDEsIDI1MywgMTg0LCA3LCA0LCAxLCAyNTMsIDE4NCwgNywgNiwgMSwgMjUzLCAxODUsIDIsIDIwMywgCi0gICAgMTMwLCA3LCA0LCAxLCAyNTMsIDE4NSwgMiwgMjAzLCAxMzAsIDcsIDYsIDEsIDI1MywgMTc1LCA3LCA0LCAxLCAyNTMsIAotICAgIDE3NSwgNywgNiwgMSwgMjIzLCA1MiwgMjUxLCA3NSwgMiwgMjQ3LCAxMjgsIDcsIDQsIDEsIDIyMywgNTIsIDI1MSwgNzUsIAotICAgIDIsIDI0NywgMTI4LCA3LCA2LCAxLCAyMzUsIDMwLCAyLCA5MSwgNywgNCwgMSwgMjM1LCAzMCwgMiwgOTEsIDcsIDYsIDEsIAotICAgIDIzNSwgMzAsIDIsIDI0OCwgNywgOTEsIDcsIDQsIDEsIDIzNSwgMzAsIDIsIDI0OCwgNywgOTEsIDcsIDYsIDEsIDIzNSwgCi0gICAgMzAsIDIsIDIxOCwgMTA1LCAyMiwgMjQ4LCA3LCA5MSwgNywgNCwgMSwgMjM1LCAzMCwgMiwgMjE4LCAxMDUsIDIyLCAyNDgsIAotICAgIDcsIDkxLCA3LCA2LCAxLCAyNTEsIDE0MywgMTU2LCA3LCA0LCAxLCAyNTEsIDE0MywgMTU2LCA3LCA2LCAxLCAyMzMsIDE1NSwgCi0gICAgMiwgMTI1LCA5MSwgNywgNCwgMSwgMjMzLCAxNTUsIDIsIDEyNSwgOTEsIDcsIDYsIDEsIDE0NCwgMiwgMjAwLCAyMTgsIAotICAgIDEwNSwgMjI2LCAxMjQsIDcsIDQsIDEsIDE0NCwgMiwgMjAwLCAyMTgsIDEwNSwgMjI2LCAxMjQsIDcsIDYsIDEsIDE0NCwgMiwgCi0gICAgMjMyLCAxMjksIDcsIDQsIDEsIDE0NCwgMiwgMjMyLCAxMjksIDcsIDYsIDEsIDIyNiwgMTg3LCA3LCA0LCAxLCAyMjYsIAotICAgIDE4NywgNywgNiwgMSwgMjI2LCAxMTAsIDIsIDIxOCwgMTA1LCAyMTYsIDE0MCwgMjQ4LCA0NywgNywgNCwgMSwgMjI2LCAKLSAgICAxMTAsIDIsIDIxOCwgMTA1LCAyMTYsIDE0MCwgMjQ4LCA0NywgNywgNiwgMSwgMjI2LCAxMTAsIDIsIDI0NCwgNjEsIDcsIDQsIAotICAgIDEsIDIyNiwgMTEwLCAyLCAyNDQsIDYxLCA3LCA2LCAxLCAyMjYsIDExMCwgMiwgMjE4LCAyMzEsIDIxNywgNzgsIDcsIDQsIAotICAgIDEsIDIyNiwgMTEwLCAyLCAyMTgsIDIzMSwgMjE3LCA3OCwgNywgNiwgMSwgMjI0LCAxMDAsIDIsIDIxOCwgMTA1LCAyMTYsIAotICAgIDE0MCwgMjQ4LCA0NywgNywgNCwgMSwgMjI0LCAxMDAsIDIsIDIxOCwgMTA1LCAyMTYsIDE0MCwgMjQ4LCA0NywgNywgNiwgMSwgCi0gICAgMjI0LCAxMDAsIDIsIDI0OCwgNywgOTEsIDcsIDQsIDEsIDIyNCwgMTAwLCAyLCAyNDgsIDcsIDkxLCA3LCA2LCAxLCAyMjMsIAotICAgIDIyNywgMjIyLCAxODgsIDcsIDQsIDEsIDIyMywgMjI3LCAyMjIsIDE4OCwgNywgNiwgMSwgMjIyLCAxMzIsIDIyMiwgMTg4LCAKLSAgICA3LCA0LCAxLCAyMjIsIDEzMiwgMjIyLCAxODgsIDcsIDYsIDEsIDIxNCwgMTA2LCAyLCAyNDgsIDcsIDkxLCA3LCA0LCAxLCAKLSAgICAyMTQsIDEwNiwgMiwgMjQ4LCA3LCA5MSwgNywgNiwgMSwgMjEyLCAxMDYsIDcsIDQsIDEsIDIxMiwgMTA2LCA3LCA2LCAxLCAKLSAgICAyMTMsIDE0NSwgMjEwLCAxNTksIDcsIDQsIDEsIDIxMywgMTQ1LCAyMTAsIDE1OSwgNywgNiwgMSwgMjE2LCAxNTMsIDIsIAotICAgIDkxLCA3LCA0LCAxLCAyMTYsIDE1MywgMiwgOTEsIDcsIDYsIDEsIDIxNiwgMTUzLCAyLCAyMTgsIDEwNSwgMjE2LCAxNDAsIAotICAgIDI0OCwgNDcsIDcsIDQsIDEsIDIxNiwgMTUzLCAyLCAyMTgsIDEwNSwgMjE2LCAxNDAsIDI0OCwgNDcsIDcsIDYsIDEsIDIxMywgCi0gICAgMjQ1LCA3LCA0LCAxLCAyMTMsIDI0NSwgNywgNiwgMSwgMjQ1LCA3MywgNywgNCwgMSwgMjQ1LCA3MywgNywgNiwgMSwgMjM1LCAKLSAgICAxNzgsIDcsIDQsIDEsIDIzNSwgMTc4LCA3LCA2LCAxLCAyNDksIDIxNSwgNywgNCwgMSwgMjQ5LCAyMTUsIDU4LCAxLCAyMTQsIAotICAgIDEzMywgNywgNCwgMSwgMjQ2LCA3NywgNywgNCwgMSwgMjMyLCA4OSwgNywgNCwgMSwgMjMwLCA4NSwgNywgNCwgMSwgMjI3LCAKLSAgICAyMDUsIDcsIDQsIDEsIDIyMiwgMTMxLCA3LCAxLCA0LCA2LCAyMjIsIDEzMSwgNywgNCwgMSwgMjE1LCAxMDksIDcsIDQsIDEsIAotICAgIDIxNCwgMTk3LCA3LCA2LCAxLCAyMzUsIDIyMCwgMjQ5LCA2OCwgNywgNCwgMSwgMjM1LCAyMjAsIDI0OSwgNjgsIDcsIDYsIAotICAgIDEsIDIzNSwgMjIwLCAyNDUsIDE0LCA3LCA0LCAxLCAyMzUsIDIyMCwgMjQ1LCAxNCwgNywgNiwgMSwgMjM1LCAyMjAsIDI0MywgCi0gICAgMjA5LCA3LCA2LCAxLCAyMTUsIDk0LCAyMzUsIDIyMCwgMjQzLCAyMDksIDcsIDQsIDEsIDIxNSwgOTQsIDIzNSwgMjIwLCAKLSAgICAyNDMsIDIwOSwgNywgNiwgMSwgMjE1LCA5NCwgMTU2LCA3LCA0LCAxLCAyMTUsIDk0LCAxNTYsIDcsIDYsIDEsIDIzNSwgCi0gICAgMjIwLCAxNTMsIDcsIDQsIDEsIDIzNSwgMjIwLCAxNTMsIDcsIDYsIDEsIDIzNSwgMjIwLCAyMjIsIDkzLCA3LCA0LCAxLCAKLSAgICAyMzUsIDIyMCwgMjIyLCA5MywgNywgNiwgMSwgMjM1LCAyMjAsIDIxNywgMTUzLCA3LCA0LCAxLCAyMzUsIDIyMCwgMjE3LCAKLSAgICAxNTMsIDU4LCAxLCAxMjEsIDI1MCwgMzksIDI1NSwgMjMsIDU4LCAxLCAyNDksIDIzNCwgNTgsIDEsIDIxOSwgMjUzLCAyNDUsIAotICAgIDEwNiwgNTAsIDcsIDYsIDEsIDIyMiwgMSwgNywgNCwgMSwgMjIyLCAxLCA3LCA2LCAxLCAyMTUsIDk0LCAyNDIsIDY3LCA3LCAKLSAgICA0LCAxLCAyMzMsIDE1NSwgMiwgMjIzLCA1OCwgMjQxLCA1OSwgMjIsIDI1MiwgNDksIDcsIDYsIDEsIDIzMCwgMzEsIDIsIAotICAgIDI0OCwgNDcsIDcsIDQsIDEsIDIzMCwgMzEsIDIsIDI0OCwgNDcsIDcsIDYsIDEsIDI1MSwgNzUsIDIsIDEzMCwgNywgNCwgMSwgCi0gICAgMjUxLCA3NSwgMiwgMTMwLCA3LCA2LCAxLCAyNDMsIDIxMCwgMiwgMjI2LCAyNTIsIDkxLCA3LCA0LCAxLCAyNDMsIDIxMCwgCi0gICAgMiwgMjI2LCAyNTIsIDkxLCA3LCA2LCAxLCAyMzUsIDMwLCAyLCAyMjYsIDI1MiwgOTEsIDcsIDQsIDEsIDIzNSwgMzAsIDIsIAotICAgIDIyNiwgMjUyLCA5MSwgNywgNiwgMSwgMjMwLCAzMSwgMiwgMjI2LCAyNTIsIDkxLCA3LCA0LCAxLCAyMzAsIDMxLCAyLCAKLSAgICAyMjYsIDI1MiwgOTEsIDcsIDYsIDEsIDIyMywgMjI3LCAyLCAyMjYsIDI1MiwgOTEsIDcsIDQsIDEsIDIyMywgMjI3LCAyLCAKLSAgICAyMjYsIDI1MiwgOTEsIDcsIDYsIDEsIDIyMiwgOTQsIDIsIDIyNiwgMjUyLCA5MSwgNywgNCwgMSwgMjIyLCA5NCwgMiwgCi0gICAgMjI2LCAyNTIsIDkxLCA3LCA2LCAxLCAyNDIsIDY4LCAyLCAxMDMsIDU4LCAxLCA2LCAyNDIsIDY4LCAyLCA5MSwgNTgsIDEsIAotICAgIDQsIDI3LCAyMjYsIDIzOCwgNywgMSwgNCwgNiwgMjE1LCA5NCwgMTk0LCA3LCAyNDUsIDExMSwgMSwgMjIzLCA1MiwgMjQ1LCAKLSAgICAxNCwgNywgMjQ1LCAxMTEsIDEsIDIyMywgNTIsIDIyNiwgMTA5LCA3LCAyNDUsIDExMSwgMSwgMjM1LCAyMDAsIDE5NCwgNywgCi0gICAgMjQ1LCAxMTEsIDEsIDI0MCwgMTYxLCAyMzIsIDEzNSwgNywgMjQ1LCAxMTEsIDEsIDI1NCwgMzEsIDE5NCwgMjE3LCAyMzEsIAotICAgIDIyOSwgMjE5LCAxLCA2MSwgMjE3LCAyMzEsIDIyOSwgMjE5LCAxLCA3NCwgMjE3LCAyMzEsIDIyOSwgMjE5LCA1LCAyNDYsIAotICAgIDU2LCAyMTcsIDIzMSwgMjI5LCAyMTksIDEsIDY5LCAyMTcsIDIzMSwgMjI5LCAyMTksIDEsIDc2LCAyMTcsIDIzMSwgMjI5LCAKLSAgICAyMTksIDEsIDc4LCAyMTcsIDIzMSwgMjI5LCAyMTksIDUsIDI0MiwgNCwgMjE3LCAyMzEsIDIyOSwgMjE5LCAxLCAyMzQsIAotICAgIDM0LCAyMTcsIDIzMSwgMjI5LCAyMTksIDEsIDIzNCwgMTExLCAyMTcsIDIzMSwgMjI5LCAyMTksIDEsIDI0MiwgMTgxLCAKLSAgICAyMTcsIDIzMSwgMjI5LCAyMTksIDEsIDI0MiwgMjMxLCAyMTcsIDIzMSwgMjI5LCAyMTksIDUsIDI1NCwgODMsIDIxNywgCi0gICAgMjMxLCAyMjksIDIxOSwgMSwgMjQ5LCAyNDYsIDIxNywgMjMxLCAyMjksIDIxOSwgMSwgMjUwLCA5NCwgMjE3LCAyMzEsIAotICAgIDIyOSwgMjE5LCAxLCAyMzUsIDc0LCAyMTcsIDIzMSwgMjI5LCAyMTksIDEsIDIzNSwgMTE1LCAyMTcsIDIzMSwgMjI5LCAKLSAgICAyMTksIDEsIDIxNSwgMTM0LCAyMTcsIDIzMSwgMjI5LCAyMTksIDEsIDIxNSwgMTQwLCAyMTcsIDIzMSwgMjI5LCAyMTksIDEsIAotICAgIDI0OCwgMTEzLCAyMTcsIDIzMSwgMjI5LCAyMTksIDEsIDI0OCwgMTIyLCAyMTcsIDIzMSwgMjI5LCAyMTksIDEsIDExMiwgCi0gICAgMjE3LCAyMzEsIDIyOSwgMjE5LCAxLCAyMTYsIDE1NywgMjE3LCAyMzEsIDIyOSwgMjE5LCAxLCAyNDcsIDE1MywgMjE3LCAKLSAgICAyMzEsIDIyOSwgMjE5LCAxLCAyNDgsIDE1LCAyMTcsIDIzMSwgMjI5LCAyMTksIDEsIDIyOCwgNzksIDIxNywgMjMxLCAyMjksIAotICAgIDIxOSwgMSwgMjI1LCAxOSwgMjE3LCAyMzEsIDIyOSwgMjE5LCAxLCAyMjUsIDEyNCwgMjE3LCAyMzEsIDIyOSwgMjE5LCAxLCAKLSAgICAyNTEsIDIxMywgMjE3LCAyMzEsIDIyOSwgMjE5LCAxLCAyNTIsIDE4LCAyMTcsIDIzMSwgMjI5LCAyMTksIDEsIDIzMCwgCi0gICAgMTY2LCAyMTcsIDIzMSwgMjI5LCAyMTksIDEsIDIyMiwgMjEzLCAyMTcsIDIzMSwgMjI5LCAyMTksIDEsIDIzMiwgMTYyLCAKLSAgICAyMTcsIDIzMSwgMjI5LCAyMTksIDEsIDIyMiwgMTY3LCAyMTcsIDIzMSwgMjI5LCAyMTksIDEsIDIxOSwgNjAsIDIxNywgCi0gICAgMjMxLCAyMjksIDIxOSwgMSwgMjQxLCA3NSwgMjE3LCAyMzEsIDIyOSwgMjE5LCAyNSwgNSwgNjEsIDIxNywgMjMxLCAyMjksIAotICAgIDIxOSwgMjUsIDUsIDc0LCAyMTcsIDIzMSwgMjI5LCAyMTksIDI1LCA1LCA2OSwgMjE3LCAyMzEsIDIyOSwgMjE5LCAyNSwgNSwgCi0gICAgNzYsIDIxNywgMjMxLCAyMjksIDIxOSwgMjUsIDUsIDIyNiwgMTg3LCAyMTcsIDIzMSwgMjI5LCAyMTksIDIyNSwgMTUsIAotICAgIDIzMSwgMTYzLCAyMTcsIDIzMSwgMjI5LCAyMTksIDIyNSwgMTUsIDIzMSwgMTYyLCAyMTcsIDIzMSwgMjI5LCAyMTksIDIyNSwgCi0gICAgMTUsIDIzMSwgMTYxLCAyMTcsIDIzMSwgMjI5LCAyMTksIDIyNSwgMTUsIDIzMSwgMTYwLCAyMjgsIDYxLCAyMzUsIDI0NywgCi0gICAgMjQ0LCAxMCwgMTIzLCAyMjQsIDI0LCAyMjgsIDYxLCAyMzUsIDI0NywgMjQ0LCAxMCwgMTIzLCAyNDIsIDM0LCAyMjgsIDYxLCAKLSAgICAyMzUsIDI0NywgMjQ0LCAxMCwgMTM0LCAyMjQsIDIyLCAyMjgsIDYxLCAyMzUsIDI0NywgMjQ0LCAxMCwgMTIzLCAyMTksIAotICAgIDExOSwgMjI4LCA2MSwgMjM1LCAyNDcsIDI0NCwgMTAsIDEyMywgMjQ1LCAxOTYsIDIyOCwgNjEsIDIzNSwgMjQ3LCAyNDQsIAotICAgIDEwLCAxMzQsIDIxOSwgMTE4LCAyMjgsIDYxLCAyMzUsIDI0NywgMjI0LCAyNSwgNzksIDIyOCwgNjEsIDIzNSwgMjQ3LCAKLSAgICAyMjUsIDQzLCA3OSwgMjI4LCA2MSwgMjM1LCAyNDcsIDIyMiwgMTIwLCA3OSwgMjI4LCA2MSwgMjM1LCAyNDcsIDIyNCwgMjYsIAotICAgIDc5LCAyMjUsIDE0NywgMSwgMTc2LCAyMjUsIDE0NywgMSwgMjM0LCAxMzgsIDIyNSwgMTQ3LCAxLCAyNDMsIDE0MiwgMjI1LCAKLSAgICAxNDcsIDEsIDIyOSwgODIsIDIyNSwgMTQ3LCAxLCAyNTEsIDQxLCAyMjUsIDE0NywgMSwgMjUwLCAxNjUsIDIyNSwgMTQ3LCAKLSAgICAxLCAyMzUsIDE0NywgMjI1LCAxNDcsIDEsIDIyNywgMTY5LCAyMjUsIDE0NywgMSwgMjE3LCAxMDYsIDIyNSwgMTQ3LCAxLCAKLSAgICAyMTYsIDIwOSwgMjI1LCAxNDcsIDEsIDI0OCwgMjI5LCAyMjUsIDE0NywgMSwgMTk4LCAyMjUsIDE0NywgMSwgMTkxLCAyMjUsIAotICAgIDE0NywgMSwgMjI1LCAxNTAsIDIyNSwgMTQ3LCAxLCAyNTIsIDE5OSwgMjI1LCAxNDcsIDEsIDE4NiwgMjI1LCAxNDcsIDEsIAotICAgIDIxNSwgMTg0LCAyMjUsIDE0NywgMSwgMjE1LCAxNzYsIDIyNSwgMTQ3LCAxLCAyNDYsIDQ2LCAyMjUsIDE0NywgMSwgMjEyLCAKLSAgICA2NSwgMjI1LCAxNDcsIDEsIDIxMCwgODIsIDIyNSwgMTQ3LCAxLCAyMTAsIDExNiwgMjI1LCAxNDcsIDEsIDQsIDYxLCAyMjUsIAotICAgIDE0NywgMSwgMTkyLCAyMjUsIDE0NywgMSwgMjA1LCAyMjUsIDE0NywgMSwgMjMzLCAxNDEsIDIyNSwgMTQ3LCAxLCAyMjAsIAotICAgIDEwNCwgMjI1LCAxNDcsIDEsIDIwNiwgMjI1LCAxNDcsIDEsIDE2MiwgMjI1LCAxNDcsIDEsIDYxLCAyMjUsIDE0NywgMSwgCi0gICAgNzQsIDIyNSwgMTQ3LCAxLCA2OSwgMjI1LCAxNDcsIDEsIDc2LCAyMjUsIDE0NywgMSwgNzgsIDIyNSwgMTQ3LCAxLCAyMjQsIAotICAgIDkxLCAyMjUsIDE0NywgMSwgMjExLCAxNjUsIDIyNSwgMTQ3LCAxLCAyNDQsIDIwNCwgMjI1LCAxNDcsIDEsIDI0MywgMzYsIAotICAgIDIyNSwgMTQ3LCAxLCAyNDUsIDIxNywgMjI1LCAxNDcsIDIxOCwgNzQsIDEsIDIxMiwgNjUsIDIyNSwgMTQ3LCAyMTgsIDc0LCAKLSAgICAxLCAxOTIsIDIyNSwgMTQ3LCAxLCAyMTUsIDE1NywgMjI1LCAxNDcsIDEsIDIxNSwgMTQ1LCAyMjUsIDE0NywgMSwgMjQ4LCAKLSAgICAxNDMsIDIyNSwgMTQ3LCAxLCAyMjgsIDExNSwgMjI1LCAxNDcsIDEsIDI1NCwgMTQ5LCAxOTIsIDIyNSwgMTQ3LCAxLCAyMTMsIAotICAgIDEzNCwgMjIwLCAxMDQsIDIyNSwgMTQ3LCAxLCAyMTMsIDEzNSwgMTYyLCAyMjUsIDE0NywgMSwgMjUzLCAyMzEsIDI0NCwgCi0gICAgMjA0LCAyMjUsIDE0NywgMjE4LCA3NCwgMSwgMjA1LCAyMjUsIDE0NywgMjE4LCAyNiwgMSwgMjA1LCAyMjUsIDE0NywgMSwgCi0gICAgMjUxLCA3LCAyMjUsIDE0NywgMjE5LCAxNTcsIDI0MSwgMjQzLCA3OSwgMjI1LCAxNDcsIDUyLCAyNDEsIDI0MywgNzksIAotICAgIDIyNSwgMTQ3LCAxNjQsIDIyMCwgOTcsIDIyNSwgMTQ3LCAxNjQsIDUyLCAyMjAsIDk3LCAxNzksIDUsIDI1NCwgODMsIDE3OSwgCi0gICAgNSwgMjEzLCAxNDcsIDE3OSwgMSwgNjEsIDE3OSwgMSwgMjU1LCA4MiwgMTc5LCAxLCA3NCwgMTc5LCAxLCAyMzYsIDQwLCAKLSAgICAxNzksIDEsIDY5LCAxNzksIDEsIDIxNCwgMTE4LCAxNzksIDEsIDE0OSwgMTUzLCAxNzksIDEsIDE0OSwgMjIyLCAxODIsIAotICAgIDE3OSwgMSwgMTQ5LCAxNTYsIDE3OSwgMSwgMTQ5LCAyMzIsIDE5MSwgMTc5LCAxLCA3NiwgMTc5LCAxLCAyNDUsIDIxNywgCi0gICAgMTc5LCAxLCAyNTQsIDIxMCwgMTc5LCAxLCA3OCwgMTc5LCAxLCAyMjYsIDE4NywgMTc5LCAxLCAyNTMsIDIwMCwgMTc5LCAxLCAKLSAgICAxNzYsIDE3OSwgMSwgMjM0LCAxMzgsIDE3OSwgMSwgMjQzLCAxNDIsIDE3OSwgMSwgMjQzLCAwLCAxNzksIDEsIDIyOSwgODIsIAotICAgIDE3OSwgMSwgMjUxLCA0MSwgMTc5LCAxLCAyNTAsIDE2NSwgMTc5LCAxLCAyMzUsIDE0NywgMTc5LCAxLCAyMzUsIDEyMCwgCi0gICAgMTc5LCAxLCAyMjcsIDE2OSwgMTc5LCAxLCAyMTUsIDE1NywgMTc5LCAxLCAyMTUsIDE0NSwgMTc5LCAxLCAyNDgsIDE0MywgCi0gICAgMTc5LCAxLCAyNDgsIDEyNywgMTc5LCAxLCAyMjgsIDExNSwgMTc5LCAxLCAyMTcsIDEwNiwgMTc5LCAxLCAyMTYsIDIwOSwgCi0gICAgMTc5LCAxLCAyNDgsIDIyOSwgMTc5LCAxLCAyNDgsIDMzLCAxNzksIDEsIDE5OCwgMTc5LCAxLCAxOTEsIDE3OSwgMSwgMjI1LCAKLSAgICAxNTAsIDE3OSwgMSwgMjUyLCAxOTksIDE3OSwgMSwgMjUyLCAyNiwgMTc5LCAxLCAxODYsIDE3OSwgMSwgMTkyLCAxNzksIDEsIAotICAgIDIwNSwgMTc5LCAxLCAyMzMsIDE0MSwgMTc5LCAxLCAyMTQsIDI3LCAxNzksIDEsIDIyMCwgMTA0LCAxNzksIDEsIDIxOCwgCi0gICAgMjI1LCAxNzksIDEsIDIwNiwgMTc5LCAxLCAxNjIsIDE3OSwgMSwgMjMyLCAxOTAsIDE3OSwgMTE3LCA1LCAyNDIsIDUxLCAKLSAgICAxNzksIDI1LCA1LCAyNTUsIDgyLCAxNzksIDI1LCA1LCA3NCwgMTc5LCAyNSwgNSwgMjM2LCA0MCwgMTc5LCAyNSwgNSwgNjksIAotICAgIDE3OSwgMjUsIDUsIDIxNCwgMTE4LCAxNzksIDI1LCA1LCAxNDksIDE1MywgMTc5LCAyNSwgNSwgMTQ5LCAyMjIsIDE4MiwgCi0gICAgMTc5LCAyNSwgNSwgMTQ5LCAxNTYsIDE3OSwgMjUsIDUsIDE0OSwgMjMyLCAxOTEsIDE3OSwgMjUsIDUsIDc2LCAxNzksIDI1LCAKLSAgICA1LCAyNDUsIDIxNywgMTc5LCAyNSwgNSwgMjU0LCAyMTAsIDE3OSwgMjUsIDUsIDc4LCAxNzksIDI1LCA1LCAyMjYsIDE4NywgCi0gICAgMTc5LCAyNSwgNSwgMjUzLCAyMDAsIDE3OSwgNSwgMjEzLCAxNTIsIDE3OSwgMjQ4LCAxODYsIDE3OSwgNTIsIDI0OCwgMTg2LCAKLSAgICAxNzksIDIxLCAyMTAsIDg2LCAxNzksIDIxLCAxMTEsIDE3OSwgMjEsIDEwNSwgMTc5LCAyMSwgMTU4LCAxNzksIDIxLCAxNjEsIAotICAgIDE3OSwgMjEsIDE5MCwgMTc5LCAyMSwgMTk1LCAxNzksIDIxLCAxOTksIDE3OSwgMjEsIDE5NiwgMTc5LCAyMSwgMjAxLCAzOCwgCi0gICAgODQsIDIxLCAyMTAsIDg2LCAzOCwgODQsIDIxLCAxMTEsIDM4LCA4NCwgMjEsIDEwNSwgMzgsIDg0LCAyMSwgMTU4LCAzOCwgCi0gICAgODQsIDIxLCAxNjEsIDM4LCA4NCwgMjEsIDE5MCwgMzgsIDg0LCAyMSwgMTk1LCAzOCwgODQsIDIxLCAxOTksIDM4LCA4NCwgCi0gICAgMjEsIDE5NiwgMzgsIDg0LCAyMSwgMjAxLCAzOCwgODQsIDEsIDYxLCAzOCwgODQsIDEsIDY5LCAzOCwgODQsIDEsIDE3NiwgCi0gICAgMzgsIDg0LCAxLCAxOTgsIDM4LCA4NCwgMSwgMTkxLCAzOCwgODQsIDEsIDIwNSwgMzgsIDg0LCAxLCAyMTMsIDE3NiwgMzgsIAotICAgIDg0LCA1LCAyNTMsIDE4MywgODQsIDUsIDIxOSwgMTksIDI1MSwgNywgODQsIDUsIDI1MSwgOCwgMjEzLCAxNTIsIDg0LCA1LCAKLSAgICA1MiwgMjUxLCA4LCAyMTMsIDE1MiwgODQsIDUsIDI1MSwgOCwgMTA1LCA4NCwgNSwgMjUxLCA4LCAxNTgsIDg0LCA1LCAyNTEsIAotICAgIDgsIDI1MywgMTgzLCA4NCwgNSwgMjI0LCAxMjcsIDg0LCAyNDMsIDEwNywgMjQ0LCAxMTEsIDg0LCAyNTAsIDI0NiwgODQsIAotICAgIDI0MSwgMjM3LCAyMzQsIDE5NCwgMjMyLCAyNDgsIDIxLCAyMTAsIDg2LCAyMzQsIDE5NCwgMjMyLCAyNDgsIDIxLCAxMTEsIAotICAgIDIzNCwgMTk0LCAyMzIsIDI0OCwgMjEsIDEwNSwgMjM0LCAxOTQsIDIzMiwgMjQ4LCAyMSwgMTU4LCAyMzQsIDE5NCwgMjMyLCAKLSAgICAyNDgsIDIxLCAxNjEsIDIzNCwgMTk0LCAyMzIsIDI0OCwgMjEsIDE5MCwgMjM0LCAxOTQsIDIzMiwgMjQ4LCAyMSwgMTk1LCAKLSAgICAyMzQsIDE5NCwgMjMyLCAyNDgsIDIxLCAxOTksIDIzNCwgMTk0LCAyMzIsIDI0OCwgMjEsIDE5NiwgMjM0LCAxOTQsIDIzMiwgCi0gICAgMjQ4LCAyMSwgMjAxLCAyMzQsIDE5NCwgMjMyLCAyNDgsIDEsIDE3NiwgMjM0LCAxOTQsIDIzMiwgMjQ4LCAxLCAyMzQsIAotICAgIDEzOCwgMjM0LCAxOTQsIDIzMiwgMjQ4LCAxLCAyNDMsIDE0MiwgMjM0LCAxOTQsIDIzMiwgMjQ4LCAxLCAyMjksIDgyLCAKLSAgICAyMzQsIDE5NCwgMjMyLCAyNDgsIDEsIDIwNiwgMjM0LCAxOTQsIDIzMiwgMjQ4LCAxLCAyMjAsIDEwNCwgMjM0LCAxOTQsIAotICAgIDIzMiwgMjQ4LCAxLCAyMTAsIDExNiwgMjM0LCAxOTQsIDIzMiwgMjQ4LCAxLCAyMjcsIDE2OSwgMjM0LCAxOTQsIDIzMiwgCi0gICAgMjQ4LCAxLCAyMTcsIDEwNiwgMjM0LCAxOTQsIDIzMiwgMjQ4LCAxLCAyNDAsIDIzMywgMjM0LCAxOTQsIDIzMiwgMjQ4LCAxLCAKLSAgICAxOTgsIDIzNCwgMTk0LCAyMzIsIDI0OCwgMSwgMTkxLCAyMzQsIDE5NCwgMjMyLCAyNDgsIDEsIDIyNSwgMTUwLCAyMzQsIAotICAgIDE5NCwgMjMyLCAyNDgsIDEsIDE4NiwgMjM0LCAxOTQsIDIzMiwgMjQ4LCAxLCAyNDgsIDIyOSwgMjM0LCAxOTQsIDIzMiwgCi0gICAgMjQ4LCAxLCAyNTIsIDE5OSwgMjM0LCAxOTQsIDIzMiwgMjQ4LCAxLCAyMDUsIDIzNCwgMTk0LCAyMzIsIDI0OCwgMSwgMTkyLCAKLSAgICAyMzQsIDE5NCwgMjMyLCAyNDgsIDEsIDIzMywgMTQxLCAyMzQsIDE5NCwgMjMyLCAyNDgsIDEsIDIxMiwgNjUsIDIzNCwgCi0gICAgMTk0LCAyMzIsIDI0OCwgMSwgMjE2LCAyMDksIDIzNCwgMTk0LCAyMzIsIDI0OCwgMSwgMTYyLCAyMzQsIDE5NCwgMjMyLCAKLSAgICAyNDgsIDEsIDIxNCwgMjcsIDIzNCwgMTk0LCAyMzIsIDI0OCwgMSwgMjUxLCA0MSwgMjM0LCAxOTQsIDIzMiwgMjQ4LCAxLCAKLSAgICA2MSwgMjM0LCAxOTQsIDIzMiwgMjQ4LCAxLCAyMjYsIDIzOCwgMjM0LCAxOTQsIDIzMiwgMjQ4LCAxLCA3NCwgMjM0LCAxOTQsIAotICAgIDIzMiwgMjQ4LCAxLCAyMjYsIDE4NywgMjM0LCAxOTQsIDIzMiwgMjQ4LCAyNSwgMjE0LCAyMTQsIDIzNCwgMTk0LCAyMzIsIAotICAgIDI0OCwgMjUsIDc2LCAyMzQsIDE5NCwgMjMyLCAyNDgsIDI1LCA2OSwgMjM0LCAxOTQsIDIzMiwgMjQ4LCAyNSwgMjQ1LCAKLSAgICAyMTcsIDIzNCwgMTk0LCAyMzIsIDI0OCwgMjUsIDc4LCAyMzQsIDE5NCwgMjMyLCAyNDgsIDEzOCwgMjI1LCAzMywgMjM0LCAKLSAgICAxOTQsIDIzMiwgMjQ4LCAxMzgsIDI1MSwgMjAsIDIzNCwgMTk0LCAyMzIsIDI0OCwgMTM4LCAyNTEsIDIxLCAyMjUsIDMzLCAKLSAgICAyMzQsIDE5NCwgMjMyLCAyNDgsIDUsIDI0OSwgODUsIDIzNCwgMTk0LCAyMzIsIDI0OCwgNSwgMjE5LCAyMDEsIDIyMywgOTYsIAotICAgIDEsIDE3NiwgMjIzLCA5NiwgMSwgMjQzLCAxNDIsIDIyMywgOTYsIDEsIDIyOSwgODIsIDIyMywgOTYsIDEsIDIxNywgMTA2LCAKLSAgICAyMjMsIDk2LCAxLCAyNDgsIDIyOSwgMjIzLCA5NiwgMSwgMTk4LCAyMjMsIDk2LCAxLCAxOTEsIDIyMywgOTYsIDEsIDI1MiwgCi0gICAgMTk5LCAyMjMsIDk2LCAxLCAxODYsIDIyMywgOTYsIDEsIDI1MSwgNDEsIDIyMywgOTYsIDEsIDIzNSwgMTQ3LCAyMjMsIDk2LCAKLSAgICAxLCAyMjcsIDE2OSwgMjIzLCA5NiwgMSwgMjA2LCAyMjMsIDk2LCAxLCAyMDUsIDIyMywgOTYsIDEsIDIzMywgMTQxLCAyMjMsIAotICAgIDk2LCAxLCAxOTIsIDIyMywgOTYsIDEsIDIxMiwgNjUsIDIyMywgOTYsIDEsIDE2MiwgMjIzLCA5NiwgMSwgMjMxLCAxMjksIAotICAgIDIyMywgOTYsIDEsIDIyOSwgNjEsIDIyMywgOTYsIDEsIDIyOSwgMTUzLCAyMjMsIDk2LCAxLCAyMjcsIDEzOSwgMjIzLCA5NiwgCi0gICAgMSwgNjEsIDIyMywgOTYsIDI1LCA1LCA3NCwgMjIzLCA5NiwgMjUsIDUsIDY5LCAyMjMsIDk2LCAyNSwgNSwgNzYsIDIyMywgCi0gICAgOTYsIDI1LCA1LCAyNTQsIDIxMCwgMjIzLCA5NiwgMjUsIDUsIDc4LCAyMjMsIDk2LCAyNSwgNSwgMjUzLCAyMDAsIDIyMywgCi0gICAgOTYsIDI1LCA1LCAyNDUsIDYzLCAyMjMsIDk2LCAyNSwgNSwgMjQ1LCAyNDEsIDIyMywgOTYsIDExNywgNSwgMjI5LCA4NCwgCi0gICAgMjIzLCA5NiwgMTE3LCA1LCAyMzAsIDMwLCAyMjMsIDk2LCAxMTcsIDUsIDE1MywgMjIzLCA5NiwgMTE3LCA1LCAyNDIsIDY3LCAKLSAgICAyMjMsIDk2LCAyMTMsIDE1MiwgMjIzLCA5NiwgMjIxLCAxNzUsIDc5LCAyNCwgMTAwLCAyMTYsIDk4LCAyNCwgMTAwLCAyMTYsIAotICAgIDk3LCAyNCwgMTAwLCAyMTYsIDk1LCAyNCwgMTAwLCAyMTYsIDEwMCwgMjQsIDEwMCwgMjIzLCAyNCwgMjQsIDEwMCwgMjIzLCAKLSAgICA4LCAyNCwgMTAwLCAyMjMsIDMsIDI0LCAxMDAsIDIyMywgNSwgMjQsIDEwMCwgMjIzLCAyMSwgMjQsIDEwMCwgMjIzLCAxNCwgCi0gICAgMjQsIDEwMCwgMjIzLCA3LCAyNCwgMTAwLCAyMjMsIDI2LCAyNCwgMTAwLCAyMjMsIDksIDI0LCAxMDAsIDIyMywgMjgsIDI0LCAKLSAgICAxMDAsIDIyMywgMjUsIDI0LCAxMDAsIDIzMCwgMjE4LCAyNCwgMTAwLCAyMzAsIDIwOSwgMjQsIDEwMCwgMjMwLCAyMTIsIAotICAgIDI0LCAxMDAsIDIyNSwgODMsIDI0LCAxMDAsIDIyNSwgOTQsIDI0LCAxMDAsIDIyNSwgOTUsIDI0LCAxMDAsIDIxOCwgMjA5LCAKLSAgICAyNCwgMTAwLCAyMzYsIDUzLCAyNCwgMTAwLCAyMzYsIDYwLCAyNCwgMTAwLCAyMTgsIDIyMCwgMjQsIDEwMCwgMjE4LCAyMDcsIAotICAgIDI0LCAxMDAsIDIyNSwgMTMzLCAyNCwgMTAwLCAyNDEsIDE3NCwgMjQsIDEwMCwgMjE4LCAyMDQsIDE1NSwgNSwgMjI2LCAzMSwgCi0gICAgMTU1LCA1LCAyNTAsIDE5NSwgMTU1LCA1LCAyMzMsIDcyLCAxNTUsIDUsIDIxMSwgMjQzLCAxNTUsIDEsIDYxLCAxNTUsIDEsIAotICAgIDI0MCwgMTYxLCAyMzQsIDE5NywgMTU1LCAxLCA3NCwgMTU1LCAxLCAyMzYsIDQwLCAxNTUsIDEsIDY5LCAxNTUsIDEsIDIyNiwgCi0gICAgOTQsIDI1MCwgMTcxLCAxNTUsIDEsIDIyOSwgODMsIDIzMywgMzQsIDE1NSwgMSwgMjI5LCA4MywgMjMzLCAzNSwgMjIzLCAKLSAgICAxNDUsIDE1NSwgMSwgNzYsIDE1NSwgMSwgMjU0LCAyMTAsIDE1NSwgMSwgNzgsIDE1NSwgMSwgMTc2LCAxNTUsIDEsIDIzNSwgCi0gICAgMTksIDIyMSwgMjMwLCAxNTUsIDEsIDIzNSwgMTksIDIzMCwgNzEsIDE1NSwgMSwgMjQzLCAxNDIsIDE1NSwgMSwgMjQzLCAKLSAgICAxNDMsIDIzMCwgNzEsIDE1NSwgMSwgMjI5LCA4MiwgMTU1LCAxLCAyNTEsIDQxLCAxNTUsIDEsIDI1MSwgNDIsIDIzMCwgNzEsIAotICAgIDE1NSwgMSwgMjM1LCAxNDcsIDE1NSwgMSwgMjI3LCAxNzAsIDIzMCwgNzEsIDE1NSwgMSwgMjM1LCAxNDgsIDIzMSwgMjEyLCAKLSAgICAxNTUsIDEsIDIyNywgMTY5LCAxNTUsIDEsIDIxNSwgMTU3LCAxNTUsIDEsIDIxNSwgMTU4LCAyMzEsIDIxMiwgMTU1LCAxLCAKLSAgICAyNDgsIDE0MywgMTU1LCAxLCAyNDgsIDE0NCwgMjMxLCAyMTIsIDE1NSwgMSwgMjI5LCAyMzQsIDIzMCwgNzEsIDE1NSwgMSwgCi0gICAgMjE3LCAxMDYsIDE1NSwgMSwgMjE3LCAxMDcsIDIzMCwgNzEsIDE1NSwgMSwgMjQ4LCAyMjksIDE1NSwgMSwgMjQ4LCAyMzAsIAotICAgIDIzMSwgMjEyLCAxNTUsIDEsIDE5OCwgMTU1LCAxLCAxOTEsIDE1NSwgMSwgMjI2LCA5NCwgMjMwLCA3MSwgMTU1LCAxLCAKLSAgICAyNTIsIDE5OSwgMTU1LCAxLCAyNTIsIDIwMCwgMjMwLCA3MSwgMTU1LCAxLCAxODYsIDE1NSwgMSwgMTkyLCAxNTUsIDEsIAotICAgIDIwNSwgMTU1LCAxLCAyMjMsIDE5MSwgMjU0LCAyMTksIDE1NSwgMSwgMjMzLCAxNDEsIDE1NSwgMSwgMjEyLCA2NSwgMTU1LCAKLSAgICAxLCAyMjIsIDM2LCAyMzAsIDcxLCAxNTUsIDEsIDIyMiwgMzYsIDIzMSwgMjEyLCAxNTUsIDEsIDIwNiwgMTU1LCAxLCAxNjIsIAotICAgIDE1NSwgNSwgMjUwLCAxOTYsIDIxNiwgMjUxLCAxNTUsIDI1LCA1LCAyMTcsIDQ4LCAxNTUsIDI1LCA1LCAyMTYsIDM2LCAKLSAgICAxNTUsIDI1LCA1LCAyMTEsIDE5MCwgMTU1LCAyNSwgNSwgMjExLCAxOTEsIDIzMSwgNzQsIDE1NSwgMjUsIDUsIDIxOCwgNDgsIAotICAgIDE1NSwgMjUsIDUsIDIxOCwgNDksIDIzMSwgNjIsIDE1NSwgMjUsIDUsIDIxNywgNjYsIDE1NSwgMjUsIDUsIDI0NywgMjAyLCAKLSAgICAyMzAsIDcwLCAxNTUsIDI1LCA1LCAyMjUsIDE4NywgMTU1LCAxMTcsIDUsIDIzNCwgMTY0LCAxNTUsIDExNywgNSwgMjI1LCAKLSAgICAxOTksIDE1NSwgMTE3LCA1LCAyNTEsIDI3LCAxNTUsIDIyNiwgNDQsIDE1NSwgNDMsIDIyMywgNzIsIDE1NSwgNDQsIDIyMywgCi0gICAgNzIsIDE1NSwgMjI2LCA4MywgMjU0LCAxMjUsIDE1NSwgMjI2LCA4MywgMjMxLCAyMjksIDE1NSwgMjI2LCA4MywgMjMyLCAKLSAgICA5MywgMTU1LCAyMjYsIDgzLCAyMTEsIDIzOCwgMTU1LCAyMjYsIDgzLCAyMjYsIDQ1LCAxNTUsIDIyNiwgODMsIDIzMiwgCi0gICAgMjExLCAxNTUsIDIyNiwgODMsIDIzMiwgODcsIDE1NSwgMjI2LCA4MywgMjU1LCAyLCAxNTUsIDIyNiwgODMsIDI1NSwgMywgCi0gICAgMjU1LCAyLCAxNTUsIDIyNiwgODMsIDIyNSwgNTQsIDE1NSwgMjE1LCA5NCwgMjI2LCA4MywgMjI1LCA1NCwgMTU1LCAyMjYsIAotICAgIDQwLCAxNTUsIDIxLCAyMTAsIDg2LCAxNTUsIDIxLCAxMTEsIDE1NSwgMjEsIDEwNSwgMTU1LCAyMSwgMTU4LCAxNTUsIDIxLCAKLSAgICAxNjEsIDE1NSwgMjEsIDE5MCwgMTU1LCAyMSwgMTk1LCAxNTUsIDIxLCAxOTksIDE1NSwgMjEsIDE5NiwgMTU1LCAyMSwgCi0gICAgMjAxLCAxNTUsIDIyNiwgODMsIDIxNiwgNzAsIDIxNSwgMTA3LCAxNTUsIDIyNiwgODMsIDIzNSwgMTc0LCAxNzIsIDEsIDYxLCAKLSAgICAxNzIsIDEsIDc0LCAxNzIsIDEsIDY5LCAxNzIsIDEsIDc2LCAxNzIsIDEsIDI1NCwgMjEwLCAxNzIsIDEsIDc4LCAxNzIsIDEsIAotICAgIDE3NiwgMTcyLCAxLCAyMzQsIDEzOCwgMTcyLCAxLCAyNDMsIDE0MiwgMTcyLCAxLCAyNDMsIDAsIDE3MiwgMSwgMjI4LCAKLSAgICAyNTAsIDE3MiwgMSwgMjI5LCA4MiwgMTcyLCAxLCAyNTAsIDE2NSwgMTcyLCAxLCAyNTAsIDEyMCwgMTcyLCAxLCAyMzUsIAotICAgIDE0NywgMTcyLCAxLCAyMzUsIDEyMCwgMTcyLCAxLCAyMjgsIDI0MCwgMTcyLCAxLCAyMjgsIDI0MiwgMTcyLCAxLCAyMjgsIAotICAgIDI0MSwgMTcyLCAxLCAyMTcsIDEwNiwgMTcyLCAxLCAyMTYsIDIwOSwgMTcyLCAxLCAyNDgsIDIyOSwgMTcyLCAxLCAyNDgsIAotICAgIDMzLCAxNzIsIDEsIDIyNywgMjExLCAxNzIsIDEsIDE5OCwgMTcyLCAxLCAyNDgsIDE0MywgMTcyLCAxLCAxOTEsIDE3MiwgMSwgCi0gICAgMjI0LCAyMjMsIDE3MiwgMSwgMjI1LCAxNTAsIDE3MiwgMSwgMjUyLCAxOTksIDE3MiwgMSwgMjUyLCAyNiwgMTcyLCAxLCAKLSAgICAyMzAsIDEwMCwgMTcyLCAxLCAxODYsIDE3MiwgMSwgMjUyLCAxMTksIDE3MiwgMSwgMTkyLCAxNzIsIDEsIDIwNSwgMTcyLCAKLSAgICAxLCAyMzMsIDE0MSwgMTcyLCAxLCAyMTQsIDI3LCAxNzIsIDEsIDIxOCwgMjI1LCAxNzIsIDEsIDIwNiwgMTcyLCAxLCAxNjIsIAotICAgIDE3MiwgMjUsIDUsIDI1NSwgODIsIDE3MiwgMjUsIDUsIDc0LCAxNzIsIDI1LCA1LCAyMzYsIDQwLCAxNzIsIDI1LCA1LCAKLSAgICAyNDUsIDIwMywgMTcyLCAyNSwgNSwgNjksIDE3MiwgMjUsIDUsIDIyNiwgMjM4LCAxNzIsIDI1LCA1LCA3OCwgMTcyLCAyNSwgCi0gICAgNSwgMjU0LCAyMTAsIDE3MiwgMjUsIDUsIDI1MywgMjAwLCAxNzIsIDI1LCA1LCAyMTQsIDIxNCwgMTcyLCAxMTcsIDUsIAotICAgIDE5MiwgMTcyLCAxMTcsIDUsIDIwNSwgMTcyLCAxMTcsIDUsIDIzMywgMTQxLCAxNzIsIDExNywgNSwgMjEyLCA2NSwgMTcyLCAKLSAgICAxLCA0MCwgMjM1LCAyOSwgMTcyLCAxLCA0MCwgMjQzLCAyMDksIDE3MiwgMSwgNDAsIDIyOSwgODQsIDE3MiwgMTE3LCA1LCAKLSAgICA0MCwgMjI5LCA4NCwgMTcyLCAxLCA0MCwgMjUwLCAxNjYsIDE3MiwgMSwgNDAsIDIxNywgMTUzLCAxNzIsIDEsIDQwLCAyMzAsIAotICAgIDMwLCAxNzIsIDEsIDQwLCAyMjYsIDEwOSwgMTcyLCAxLCA0MCwgMjExLCAxMTcsIDE3MiwgMSwgNDAsIDE1MywgMTcyLCAxLCAKLSAgICA0MCwgMTU2LCAxNzIsIDEsIDQwLCAyMTgsIDIyOCwgMTcyLCAxMTcsIDUsIDQwLCAxOTQsIDE3MiwgMTE3LCA1LCA0MCwgCi0gICAgMjQyLCA2NywgMTcyLCAyMSwgMjEwLCA4NiwgMTcyLCAyMSwgMTExLCAxNzIsIDIxLCAxMDUsIDE3MiwgMjEsIDE1OCwgMTcyLCAKLSAgICAyMSwgMTYxLCAxNzIsIDIxLCAxOTAsIDE3MiwgMjEsIDE5NSwgMTcyLCAyMSwgMTk5LCAxNzIsIDIxLCAxOTYsIDE3MiwgMjEsIAotICAgIDIwMSwgMTcyLCAyMjQsIDE0NCwgMjE4LCAyNTMsIDE3MiwgMjI0LCAxNDQsIDI0OCwgMTg2LCAxNzIsIDIyNCwgMTQ0LCA1MiwgCi0gICAgMjQ4LCAxODYsIDE3MiwgMjI0LCAxNDQsIDIxNSwgMjEyLCAyNDgsIDE4NiwgNjgsIDEsIDIzNCwgMTMyLCAyNDMsIDE0MiwgCi0gICAgNjgsIDEsIDIzNCwgMTMyLCAyNTEsIDQxLCA2OCwgMSwgMjM0LCAxMzIsIDI1MCwgMTY1LCA2OCwgMSwgMjM0LCAxMzIsIAotICAgIDIzNSwgMTQ3LCA2OCwgMSwgMjM0LCAxMzIsIDIzNSwgMTIwLCA2OCwgMSwgMjM0LCAxMzIsIDIyNywgMTY5LCA2OCwgMSwgCi0gICAgMjM0LCAxMzIsIDIxNSwgMTU3LCA2OCwgMSwgMjM0LCAxMzIsIDIxNSwgMTQ1LCA2OCwgMSwgMjM0LCAxMzIsIDI0OCwgMTQzLCAKLSAgICA2OCwgMSwgMjM0LCAxMzIsIDI0OCwgMTI3LCA2OCwgMSwgMjM0LCAxMzIsIDI0OCwgMzMsIDY4LCAxLCAyMzQsIDEzMiwgCi0gICAgMTk4LCA2OCwgMSwgMjM0LCAxMzIsIDIwNiwgNjgsIDEsIDIzNCwgMTMyLCAxNjIsIDY4LCAxLCAyMzQsIDEzMiwgMjQxLCAKLSAgICAxOTYsIDY4LCAxLCAyMzQsIDEzMiwgMjQ0LCAyMDQsIDY4LCA1OCwgMSwgMjM0LCAxMzIsIDIyMywgMTEyLCA2OCwgMSwgCi0gICAgMjM0LCAxMzIsIDIxMSwgMTY1LCA2OCwgMSwgMjM0LCAxMzIsIDIxMCwgMTE2LCA2OCwgMSwgMjM0LCAxMzIsIDIwNSwgNjgsIAotICAgIDIzMiwgMTUxLCAyMzQsIDEzMiwgMjI3LCAxLCA2OCwgMjMyLCAxNTEsIDIzNCwgMTMyLCAyMjQsIDQ2LCA2OCwgMjMyLCAKLSAgICAxNTEsIDIzNCwgMTMyLCAyNDEsIDEyOCwgNjgsIDE2LCAyNTQsIDE5OSwgMjQ1LCAzOCwgNjgsIDE2LCAyNTQsIDE5OSwgCi0gICAgMTExLCA2OCwgMTYsIDI1NCwgMTk5LCAxMDUsIDY4LCAxLCAyNTQsIDE5OSwgMjA1LCA2OCwgNSwgMjI2LCAyNywgMjM0LCAKLSAgICAyMTksIDIxNiwgMzEsIDM5LCAyMDgsIDEsIDEyMSwgMjM0LCAzNCwgMzksIDIwOCwgMSwgMTI1LCAyMzQsIDM0LCAzOSwgCi0gICAgMjA4LCAxLCAxMjEsIDIzNCwgMTExLCAzOSwgMjA4LCAxLCAxMjUsIDIzNCwgMTExLCAzOSwgMjA4LCAxLCAxMjEsIDIzNCwgCi0gICAgMTIwLCAzOSwgMjA4LCAxLCAxMjUsIDIzNCwgMTIwLCAzOSwgMjA4LCAxLCAxMjEsIDI0MiwgMTgxLCAzOSwgMjA4LCAxLCAKLSAgICAxMjUsIDI0MiwgMTgxLCAzOSwgMjA4LCAxLCAxMjEsIDIyOSwgOSwgMzksIDIwOCwgMSwgMTI1LCAyMjksIDksIDM5LCAyMDgsIAotICAgIDEsIDEyMSwgMjQ5LCAyNDYsIDM5LCAyMDgsIDEsIDEyNSwgMjQ5LCAyNDYsIDM5LCAyMDgsIDEsIDEyMSwgMjUwLCA5NCwgCi0gICAgMzksIDIwOCwgMSwgMTI1LCAyNTAsIDk0LCAzOSwgMjA4LCAxLCAxMjEsIDIxOSwgNjAsIDM5LCAyMDgsIDEsIDEyNSwgMjE5LCAKLSAgICA2MCwgMzksIDIwOCwgMSwgMTIxLCAyMjcsIDEzOCwgMzksIDIwOCwgMSwgMTI1LCAyMjcsIDEzOCwgMzksIDIwOCwgMSwgCi0gICAgMTIxLCAyNDcsIDE1MywgMzksIDIwOCwgMSwgMTI1LCAyNDcsIDE1MywgMzksIDIwOCwgMSwgMTIxLCAxMTIsIDM5LCAyMDgsIAotICAgIDEsIDEyNSwgMTEyLCAzOSwgMjA4LCAxLCAxMjEsIDIxNiwgMTU3LCAzOSwgMjA4LCAxLCAxMjUsIDIxNiwgMTU3LCAzOSwgCi0gICAgMjA4LCAxLCAxMjEsIDIyOCwgNzksIDM5LCAyMDgsIDEsIDEyNSwgMjI4LCA3OSwgMzksIDIwOCwgMSwgMTIxLCAyNTEsIAotICAgIDIxMywgMzksIDIwOCwgMSwgMTI1LCAyNTEsIDIxMywgMzksIDIwOCwgMSwgMTIxLCAyMjUsIDE5LCAzOSwgMjA4LCAxLCAKLSAgICAxMjUsIDIyNSwgMTksIDM5LCAyMDgsIDEsIDEyMSwgMjI1LCAxMjQsIDM5LCAyMDgsIDEsIDEyNSwgMjI1LCAxMjQsIDM5LCAKLSAgICAyMDgsIDEsIDEyMSwgMjQ0LCA1MSwgMzksIDIwOCwgMSwgMTI1LCAyNDQsIDUxLCAzOSwgMjA4LCAxLCAxMjEsIDIzMCwgCi0gICAgMTY2LCAzOSwgMjA4LCAxLCAxMjUsIDIzMCwgMTY2LCAzOSwgMjA4LCAxLCAxMjEsIDIxMCwgMjQ0LCAzOSwgMjA4LCAxLCAKLSAgICAxMjUsIDIxMCwgMjQ0LCAzOSwgMjA4LCAxLCAxMjEsIDIyMiwgMjEzLCAzOSwgMjA4LCAxLCAxMjUsIDIyMiwgMjEzLCAzOSwgCi0gICAgMjA4LCAxLCAxMjEsIDIzMiwgMTYyLCAzOSwgMjA4LCAxLCAxMjUsIDIzMiwgMTYyLCAzOSwgMjA4LCAxLCAxMjEsIDIxMywgCi0gICAgMTM4LCAzOSwgMjA4LCAxLCAxMjUsIDIxMywgMTM4LCAzOSwgMjA4LCAxLCAxMjEsIDI0MSwgNzUsIDM5LCAyMDgsIDEsIAotICAgIDEyNSwgMjQxLCA3NSwgMzksIDIwOCwgMSwgMTIxLCA3OCwgMzksIDIwOCwgMSwgMTI1LCA3OCwgMzksIDIwOCwgMjMxLCAKLSAgICAyMDksIDIzNCwgMjM2LCAzOSwgMjA4LCAyNSwgMjU1LCA4MiwgMzksIDIwOCwgMjUsIDc0LCAzOSwgMjA4LCAyNSwgMjE0LCAKLSAgICAyMTQsIDM5LCAyMDgsIDI1LCA2OSwgMzksIDIwOCwgMjUsIDc2LCAzOSwgMjA4LCAyNSwgNzgsIDM5LCAyMDgsIDIzMSwgCi0gICAgMjA5LCAyMzQsIDExNCwgMzksIDIwOCwgMjUsIDI0MCwgMTI2LCAzOSwgMjA4LCAyNSwgMjE0LCAyMTMsIDM5LCAyMDgsIDI1LCAKLSAgICAyMTQsIDIyOSwgMzksIDIwOCwgMjUsIDI1MywgMTk4LCAzOSwgMjA4LCAyNSwgMjUzLCAxNzUsIDM5LCAyMDgsIDI1LCAyNTQsIAotICAgIDEzMSwgMzksIDIwOCwgMjUsIDI1NCwgMTQ0LCAzOSwgMjA4LCAxMzgsIDIzMSwgMjA5LCAyNDUsIDE4OCwgMzksIDIwOCwgCi0gICAgMTM4LCAyMzEsIDIwOSwgMjI3LCAyMTAsIDM5LCAyMDgsIDEzOCwgMjMxLCAyMDksIDIxNiwgMTU3LCAzOSwgMjA4LCAxMzgsIAotICAgIDIzMSwgMjA5LCAyMTksIDQ0LCAzOSwgMjA4LCAxNiwgMjM0LCAxOSwgMzksIDIwOCwgMTYsIDIyNywgMjEwLCAzOSwgMjA4LCAKLSAgICAxNiwgMjIxLCAyNTUsIDM5LCAyMDgsIDE2LCAyNDEsIDc2LCAyNDEsIDcxLCAzOSwgMjA4LCAxNiwgMjM0LCAyOCwgMjM0LCAKLSAgICAyNywgMTg4LCAxODcsIDEsIDc2LCAxODgsIDE4NywgMSwgNzgsIDE4OCwgMTg3LCAxLCAyNTAsIDE2NSwgMTg4LCAxODcsIDEsIAotICAgIDIyNywgMTY5LCAxODgsIDE4NywgMSwgMjE1LCAxNTcsIDE4OCwgMTg3LCAxLCAyMTUsIDE0NSwgMTg4LCAxODcsIDEsIDI0OCwgCi0gICAgMTQzLCAxODgsIDE4NywgMSwgMjQ4LCAxMjcsIDE4OCwgMTg3LCAxLCAyMjgsIDExNSwgMTg4LCAxODcsIDEsIDIyMCwgMTA0LCAKLSAgICAxODgsIDE4NywgMSwgMjE4LCAyMjUsIDE4OCwgMTg3LCAyNSwgNSwgMjM2LCA0MCwgMTg4LCAxODcsIDI1LCA1LCAyMTQsIAotICAgIDExOCwgMTg4LCAxODcsIDI1LCA1LCAyNTUsIDQ2LCAxODgsIDE4NywgMjUsIDUsIDI1MywgMjAwLCAxODgsIDE4NywgMjUsIAotICAgIDUsIDI1NSwgMzksIDE4OCwgMTg3LCAyNTAsIDEzMywgMTg4LCAxODcsIDI1NCwgMjE1LCAyMzQsIDEwNCwgMTg4LCAxODcsIAotICAgIDI1NCwgMTExLCAxODgsIDE4NywgMywgMjIzLCA3NywgNzksIDE4OCwgMTg3LCAyMTEsIDIwOSwgMjIzLCA3NywgNzksIDE4OCwgCi0gICAgMTg3LCAyNSwgNSwgMjEzLCAxNDcsIDE4OCwgMTg3LCAyMTMsIDE1MiwgMjksIDMsIDIxNSwgMTM4LCAyOSwgMywgMjE1LCAKLSAgICAxNDEsIDI5LCAzLCAyMTUsIDE0NCwgMjksIDMsIDIxNSwgMTQyLCAyOSwgMywgMjE1LCAxNDMsIDI5LCAzLCAyMTUsIDE0MCwgCi0gICAgMjksIDMsIDI0OCwgMTIxLCAyOSwgMywgMjQ4LCAxMjMsIDI5LCAzLCAyNDgsIDEyNiwgMjksIDMsIDI0OCwgMTI0LCAyOSwgCi0gICAgMywgMjQ4LCAxMjUsIDI5LCAzLCAyNDgsIDEyMiwgMjksIDMsIDI0NiwgMzYsIDI5LCAzLCAyNDYsIDM5LCAyOSwgMywgMjQ2LCAKLSAgICA0NSwgMjksIDMsIDI0NiwgNDMsIDI5LCAzLCAyNDYsIDQ0LCAyOSwgMywgMjQ2LCAzNywgMjksIDMsIDI1MCwgMjEyLCAyOSwgCi0gICAgMywgMjUwLCAyMDYsIDI5LCAzLCAyNTAsIDIwOCwgMjksIDMsIDI1MCwgMjExLCAyOSwgMywgMjUwLCAyMDksIDI5LCAzLCAKLSAgICAyNTAsIDIxMCwgMjksIDMsIDI1MCwgMjA3LCAyOSwgMywgMjUyLCAxMTksIDI5LCAzLCAyNTIsIDk4LCAyOSwgMywgMjUyLCAKLSAgICAxMTAsIDI5LCAzLCAyNTIsIDExOCwgMjksIDMsIDI1MiwgMTEzLCAyOSwgMywgMjUyLCAxMTQsIDI5LCAzLCAyNTIsIDEwMiwgCi0gICAgMTg4LCAxODcsIDEsIDIzNCwgMjUsIDE4OCwgMTg3LCAxLCAyMjEsIDI1NSwgMTg4LCAxODcsIDEsIDIzMywgMTE1LCAxODgsIAotICAgIDE4NywgMSwgMjMwLCAxNzcsIDE4OCwgMTg3LCAxLCAxOTEsIDE4OCwgMTg3LCAxLCAxOTgsIDE4OCwgMTg3LCAxLCAyNTAsIAotICAgIDExMCwgMTg4LCAxODcsIDEsIDIxNiwgOTEsIDE4OCwgMTg3LCAxLCAyMzQsIDEwNywgMTg4LCAxODcsIDEsIDIyOCwgMjU1LCAKLSAgICAxODgsIDE4NywgMSwgMjE2LCAxNTEsIDE4OCwgMTg3LCAxLCAyMTIsIDYwLCAxODgsIDE4NywgMSwgMjExLCA2OSwgMTg4LCAKLSAgICAxODcsIDEsIDI0MCwgMjIzLCAxODgsIDE4NywgMSwgMjE0LCAxOTAsIDE4OCwgMTg3LCAxLCA3NCwgMTg4LCAxODcsIDEsIAotICAgIDIyNSwgMTQ1LCAxODgsIDE4NywgMSwgMjUzLCAyMTAsIDE4OCwgMTg3LCAxLCAyNDIsIDE3NCwgMTg4LCAxODcsIDEsIDIzNSwgCi0gICAgMTE4LCAxODgsIDE4NywgMSwgMjIzLCAxNjksIDE4OCwgMTg3LCAxLCAyNTIsIDE5OSwgMTg4LCAxODcsIDEsIDIzNSwgMTA2LCAKLSAgICAxODgsIDE4NywgMSwgMjQ3LCAyMjcsIDE4OCwgMTg3LCAxLCAyNDIsIDIyOCwgMTg4LCAxODcsIDEsIDI0OCwgMTMsIDE4OCwgCi0gICAgMTg3LCAxLCAyNTIsIDI0LCAxODgsIDE4NywgMSwgMjM0LCAyNiwgMjMyLCAxMzQsIDE4OCwgMTg3LCAxLCAyMzMsIDExNiwgCi0gICAgMjMyLCAxMzQsIDE4OCwgMTg3LCAxLCAyMzAsIDE3OCwgMjMyLCAxMzQsIDE4OCwgMTg3LCAxLCAyMjYsIDk0LCAyMzIsIAotICAgIDEzNCwgMTg4LCAxODcsIDEsIDIyOSwgMjM0LCAyMzIsIDEzNCwgMTg4LCAxODcsIDEsIDIxNiwgOTIsIDIzMiwgMTM0LCAKLSAgICAxODgsIDE4NywgMSwgMjI5LCAwLCAyMzIsIDEzNCwgMTg4LCAxODcsIDEsIDI0MCwgMTYxLCAyMzIsIDEzNCwgMTg4LCAxODcsIAotICAgIDI1LCA1LCAyMjYsIDE5OSwgMTg4LCAxODcsIDI1LCA1LCAyMzYsIDQsIDE4OCwgMTg3LCAyNSwgNSwgMjU0LCAxMzAsIDE4OCwgCi0gICAgMTg3LCAyNSwgNSwgMjExLCAzOCwgMTg4LCAxODcsIDI1LCA1LCAyMTksIDM0LCAxODgsIDE4NywgMjUsIDUsIDIxNCwgMTg3LCAKLSAgICAxODgsIDE4NywgMjUsIDUsIDI1MCwgMTMxLCAxODgsIDE4NywgMjUsIDUsIDIyNywgMTk1LCAxODgsIDE4NywgMjUwLCAxMzIsIAotICAgIDE4OCwgMTg3LCAyMzIsIDkwLCAyMzUsIDE1NiwgMTg4LCAxODcsIDI1NCwgNTQsIDIzNSwgMTU2LCAxODgsIDE4NywgMjEsIAotICAgIDIxMCwgODYsIDE4OCwgMTg3LCAyMSwgMTExLCAxODgsIDE4NywgMjEsIDEwNSwgMTg4LCAxODcsIDIxLCAxNTgsIDE4OCwgCi0gICAgMTg3LCAyMSwgMTYxLCAxODgsIDE4NywgMjEsIDE5MCwgMTg4LCAxODcsIDIxLCAxOTUsIDE4OCwgMTg3LCAyMSwgMTk5LCAKLSAgICAxODgsIDE4NywgMjEsIDE5NiwgMTg4LCAxODcsIDIxLCAyMDEsIDI0LCAxNDMsIDIyNywgODEsIDI0LCAxNDMsIDIyNywgODYsIAotICAgIDI0LCAxNDMsIDIxMCwgMjQzLCAyNCwgMTQzLCAyMTAsIDI0MiwgMjQsIDE0MywgMjEwLCAyNDEsIDI0LCAxNDMsIDIxNSwgCi0gICAgMjMsIDI0LCAxNDMsIDIxNSwgMjYsIDI0LCAxNDMsIDIxMCwgMjEwLCAyNCwgMTQzLCAyMTAsIDIwNiwgMjQsIDE0MywgMjQ1LCAKLSAgICA2MiwgMjQsIDE0MywgMjQ1LCA2MCwgMjQsIDE0MywgMjQ1LCA2MSwgMjQsIDE0MywgMjQ1LCA1OCwgMjQsIDE0MywgMjQwLCAKLSAgICAxNTEsIDI0LCAxNDMsIDI0MCwgMTUwLCAyNCwgMTQzLCAyNDAsIDE0OCwgMjQsIDE0MywgMjQwLCAxNDksIDI0LCAxNDMsIAotICAgIDI0MCwgMTU0LCAyNCwgMTQzLCAyNDAsIDE0NywgMjQsIDE0MywgMjQwLCAxNDYsIDI0LCAxNDMsIDI0MCwgMTU2LCAyNCwgCi0gICAgMTQzLCAyNTQsIDQxLCAyNCwgMTQzLCAyNTQsIDQwLCAyNCwgOTAsIDIyOCwgMjI0LCAyNCwgOTAsIDIyOCwgMjMwLCAyNCwgCi0gICAgOTAsIDIxOCwgMjA2LCAyNCwgOTAsIDIxOCwgMjA1LCAyNCwgOTAsIDIxNiwgOTcsIDI0LCA5MCwgMjE2LCA5NSwgMjQsIDkwLCAKLSAgICAyMTYsIDk0LCAyNCwgOTAsIDIxNiwgMTAwLCAyNCwgOTAsIDIxNiwgMTAxLCAyNCwgOTAsIDIxNiwgOTMsIDI0LCA5MCwgCi0gICAgMjIzLCA4LCAyNCwgOTAsIDIyMywgMjMsIDI0LCA5MCwgMjE4LCAyMTIsIDI0LCA5MCwgMjIzLCAyMCwgMjQsIDkwLCAyMjMsIAotICAgIDEwLCAyNCwgOTAsIDIyMywgMTIsIDI0LCA5MCwgMjIyLCAyNTUsIDI0LCA5MCwgMjIzLCAwLCAyNCwgOTAsIDIzNCwgMjI0LCAKLSAgICAyNCwgOTAsIDIzMCwgMjE3LCAyNCwgOTAsIDIzMCwgMjExLCAyNCwgOTAsIDIxOCwgMjE2LCAyNCwgOTAsIDIzMCwgMjE0LCAKLSAgICAyNCwgOTAsIDIzMCwgMjIwLCAyNCwgOTAsIDIyNSwgNzksIDI0LCA5MCwgMjI1LCA4OCwgMjQsIDkwLCAyMjUsIDkyLCAyNCwgCi0gICAgOTAsIDIxOCwgMjE0LCAyNCwgOTAsIDIyNSwgODIsIDI0LCA5MCwgMjI1LCA5NiwgMjQsIDkwLCAyMjUsIDk3LCAyNCwgOTAsIAotICAgIDIxOSwgMTQyLCAyNCwgOTAsIDIxOSwgMTQ1LCAyNCwgOTAsIDIxOCwgMjEwLCAyNCwgOTAsIDIxOCwgMjA4LCAyNCwgOTAsIAotICAgIDIxOSwgMTQwLCAyNCwgOTAsIDIxOSwgMTQ4LCAyNCwgOTAsIDIxOSwgMTQ5LCAyNCwgOTAsIDIxOSwgMTM0LCAyNCwgOTAsIAotICAgIDIxOSwgMTQ3LCAyNCwgOTAsIDIyNiwgMzQsIDI0LCA5MCwgMjI2LCAzNSwgMjQsIDkwLCAyMTEsIDI0LCAyNCwgOTAsIDIxMSwgCi0gICAgMjUsIDI0LCA5MCwgMjUwLCA1MiwgMjQsIDkwLCAyNTAsIDUxLCAyNCwgOTAsIDIxOCwgMjIxLCAyNCwgOTAsIDIyNSwgMTMxLCAKLSAgICAyNCwgOTAsIDIyNSwgMTMwLCAxMCwgMTQsIDIzOCwgMzEsIDEwLCAxNCwgMjM4LCAzMCwgMTAsIDE0LCAyMzgsIDI5LCAxMCwgCi0gICAgMTQsIDIzOCwgMjgsIDEwLCAxNCwgMjM4LCAyNywgMTAsIDE0LCAyMzgsIDI2LCAxMCwgMTQsIDIzOCwgMjUsIDEwLCAxNCwgCi0gICAgMjM4LCAyNCwgMTAsIDE0LCAyMzgsIDIzLCAxMCwgMTQsIDIzOCwgMjIsIDEwLCAxNCwgMjM4LCAyMSwgMTAsIDE0LCAyMzgsIAotICAgIDIwLCAxMCwgMTQsIDIzOCwgMTksIDEwLCAxNCwgMjM4LCAxOCwgMTAsIDE0LCAyMzgsIDE3LCAxMCwgMTQsIDIzOCwgMTYsIAotICAgIDEwLCAxNCwgMjM4LCAxNSwgMTAsIDE0LCAyMzgsIDE0LCAxMCwgMTQsIDIzOCwgMTMsIDEwLCAxNCwgMjM4LCAxMiwgMTAsIAotICAgIDE0LCAyMzgsIDExLCAxMCwgMTQsIDIzOCwgMTAsIDEwLCAxNCwgMjM4LCA5LCAxMCwgMTQsIDIzOCwgOCwgMTAsIDE0LCAKLSAgICAyMzgsIDcsIDEwLCAxNCwgMjM4LCA2LCAxMCwgMTQsIDIzOCwgNSwgMTAsIDE0LCAyMzgsIDQsIDEwLCAxNCwgMjM4LCAzLCAKLSAgICAxMCwgMTQsIDIzOCwgMiwgMTAsIDE0LCAyMzgsIDEsIDEwLCAxNCwgMjM4LCAwLCAxMCwgMTQsIDIzNywgMjU1LCAxMCwgMTQsIAotICAgIDIzNywgMjU0LCAxMCwgMTQsIDIzNywgMjUzLCAxMCwgMTQsIDIzNywgMjUyLCAxMCwgMTQsIDIzNywgMjUxLCAxMCwgMTQsIAotICAgIDIzNywgMjUwLCAxMCwgMTQsIDIzNywgMjQ5LCAxMCwgMTQsIDIzNywgMjQ4LCAxMCwgMTQsIDIzNywgMjQ3LCAxMCwgMTQsIAotICAgIDIzNywgMjQ2LCAxMCwgMTQsIDIzNywgMjQ1LCAxMCwgMTQsIDIzNywgMjQ0LCAxMCwgMTQsIDIzNywgMjQzLCAxMCwgMTQsIAotICAgIDIzNywgMjQyLCAxMCwgMTQsIDIzNywgMjQxLCAxMCwgMTQsIDIzNywgMjQwLCAxMCwgMTQsIDIzNywgMjM5LCAxMCwgMTQsIAotICAgIDIzNywgMjM4LCAxMCwgMTQsIDIzNywgMjM3LCAxMCwgMTQsIDIzNywgMjM2LCAxMCwgMTQsIDIzNywgMjM1LCAxMCwgMTQsIAotICAgIDIzNywgMjM0LCAxMCwgMTQsIDIzNywgMjMzLCAxMCwgMTQsIDIzNywgMjMyLCAxMCwgMTQsIDIzNywgMjMxLCAxMCwgMTQsIAotICAgIDIzNywgMjMwLCAxMCwgMTQsIDIzNywgMjI5LCAxMCwgMTQsIDIzNywgMjI4LCAxMCwgMTQsIDIzNywgMjI3LCAxMCwgMTQsIAotICAgIDIzNywgMjI2LCAxMCwgMTQsIDIzNywgMjI1LCAxMCwgMTQsIDIzNywgMjI0LCAxMCwgMTQsIDIzNywgMjIzLCAxMCwgMTQsIAotICAgIDIzNywgMjIyLCAxMCwgMTQsIDIzNywgMjIxLCAxMCwgMTQsIDIzNywgMjIwLCAxMCwgMTQsIDIzNywgMjE5LCAxMCwgMTQsIAotICAgIDIzNywgMjE4LCAxMCwgMTQsIDIzNywgMjE3LCAxMCwgMTQsIDIzNywgMjE2LCAxMCwgMTQsIDIzNywgMjE1LCAxMCwgMTQsIAotICAgIDIzNywgMjE0LCAxMCwgMTQsIDIzNywgMjEzLCAxMCwgMTQsIDIzNywgMjEyLCAxMCwgMTQsIDIzNywgMjExLCAxMCwgMTQsIAotICAgIDIzNywgMjEwLCAxMCwgMTQsIDIzNywgMjA5LCAxMCwgMTQsIDIzNywgMjA4LCAxMCwgMTQsIDIzNywgMjA3LCAxMCwgMTQsIAotICAgIDIzNywgMjA2LCAxMCwgMTQsIDIzNywgMjA1LCAxMCwgMTQsIDIzNywgMjA0LCAxMCwgMTQsIDIzNywgMjAzLCAxMCwgMTQsIAotICAgIDIzNywgMjAyLCAxMCwgMTQsIDIzNywgMjAxLCAxMCwgMTQsIDIzNywgMjAwLCAxMCwgMTQsIDIzNywgMTk5LCAxMCwgMTQsIAotICAgIDIzNywgMTk4LCAxMCwgMTQsIDIzNywgMTk3LCAxMCwgMTQsIDIzNywgMTk2LCAxMCwgMTQsIDIzNywgMTk1LCAxMCwgMTQsIAotICAgIDIzNywgMTk0LCAxMCwgMTQsIDIzNywgMTkzLCAxMCwgMTQsIDIzNywgMTkyLCAxMCwgMTQsIDIzNywgMTkxLCAxMCwgMTQsIAotICAgIDIzNywgMTkwLCAxMCwgMTQsIDIzNywgMTg5LCAxMCwgMTQsIDIzNywgMTg4LCAxMCwgMTQsIDIzNywgMTg3LCAxMCwgMTQsIAotICAgIDIzNywgMTg2LCAxMCwgMTQsIDIzNywgMTg1LCAxMCwgMTQsIDIzNywgMTg0LCAxMCwgMTQsIDIzNywgMTgzLCAxMCwgMTQsIAotICAgIDIzNywgMTgyLCAxMCwgMTQsIDIzNywgMTgxLCAxMCwgMTQsIDIzNywgMTgwLCAxMCwgMTQsIDIzNywgMTc5LCAxMCwgMTQsIAotICAgIDIzNywgMTc4LCAxMCwgMTQsIDIzNywgMTc3LCAxMCwgMTQsIDIzNywgMTc2LCAxMCwgMTQsIDIzNywgMTc1LCAxMCwgMTQsIAotICAgIDIzNywgMTc0LCAxMCwgMTQsIDIzNywgMTczLCAxMCwgMTQsIDIzNywgMTcyLCAxMCwgMTQsIDIzNywgMTcxLCAxMCwgMTQsIAotICAgIDIzNywgMTcwLCAxMCwgMTQsIDIzNywgMTY5LCAxMCwgMTQsIDIzNywgMTY4LCAxMCwgMTQsIDIzNywgMTY3LCAxMCwgMTQsIAotICAgIDIzNywgMTY2LCAxMCwgMTQsIDIzNywgMTY1LCAxMCwgMTQsIDIzNywgMTY0LCAxMCwgMTQsIDIzNywgMTYzLCAxMCwgMTQsIAotICAgIDIzNywgMTYyLCAxMCwgMTQsIDIzNywgMTYxLCAxMCwgMTQsIDIzNywgMTYwLCAxMCwgMTQsIDIzNywgMTU5LCAxMCwgMTQsIAotICAgIDIzNywgMTU4LCAxMCwgMTQsIDIzNywgMTU3LCAxMCwgMTQsIDIzNywgMTU2LCAxMCwgMTQsIDIzNywgMTU1LCAxMCwgMTQsIAotICAgIDIzNywgMTU0LCAxMCwgMTQsIDIzNywgMTUzLCAxMCwgMTQsIDIzNywgMTUyLCAxMCwgMTQsIDIzNywgMTUxLCAxMCwgMTQsIAotICAgIDIzNywgMTUwLCAxMCwgMTQsIDIzNywgMTQ5LCAxMCwgMTQsIDIzNywgMTQ4LCAxMCwgMTQsIDIzNywgMTQ3LCAxMCwgMTQsIAotICAgIDIzNywgMTQ2LCAxMCwgMTQsIDIzNywgMTQ1LCAxMCwgMTQsIDIzNywgMTQ0LCAxMCwgMTQsIDIzNywgMTQzLCAxMCwgMTQsIAotICAgIDIzNywgMTQyLCAxMCwgMTQsIDIzNywgMTQxLCAxMCwgMTQsIDIzNywgMTQwLCAxMCwgMTQsIDIzNywgMTM5LCAxMCwgMTQsIAotICAgIDIzNywgMTM4LCAxMCwgMTQsIDIzNywgMTM3LCAxMCwgMTQsIDIzNywgMTM2LCAxMCwgMTQsIDIzNywgMTM1LCAxMCwgMTQsIAotICAgIDIzNywgMTM0LCAxMCwgMTQsIDIzNywgMTMzLCAxMCwgMTQsIDIzNywgMTMyLCAxMCwgMTQsIDIzNywgMTMxLCAxMCwgMTQsIAotICAgIDIzNywgMTMwLCAxMCwgMTQsIDIzNywgMTI5LCAxMCwgMTQsIDIzNywgMTI4LCAxMCwgMTQsIDIzNywgMTI3LCAxMCwgMTQsIAotICAgIDIzNywgMTI2LCAxMCwgMTQsIDIzNywgMTI1LCAxMCwgMTQsIDIzNywgMTI0LCAxMCwgMTQsIDIzNywgMTIzLCAxMCwgMTQsIAotICAgIDIzNywgMTIyLCAxMCwgMTQsIDIzNywgMTIxLCAxMCwgMTQsIDIzNywgMTIwLCAxMCwgMTQsIDIzNywgMTE5LCAxMCwgMTQsIAotICAgIDIzNywgMTE4LCAxMCwgMTQsIDIzNywgMTE3LCAxMCwgMTQsIDIzNywgMTE2LCAxMCwgMTQsIDIzNywgMTE1LCAxMCwgMTQsIAotICAgIDIzNywgMTE0LCAxMCwgMTQsIDIzNywgMTEzLCAxMCwgMTQsIDIzNywgMTEyLCAxMCwgMTQsIDIzNywgMTExLCAxMCwgMTQsIAotICAgIDIzNywgMTEwLCAxMCwgMTQsIDIzNywgMTA5LCAxMCwgMTQsIDIzNywgMTA4LCAxMCwgMTQsIDIzNywgMTA3LCAxMCwgMTQsIAotICAgIDIzNywgMTA2LCAxMCwgMTQsIDIzNywgMTA1LCAxMCwgMTQsIDIzNywgMTA0LCAxMCwgMTQsIDIzNywgMTAzLCAxMCwgMTQsIAotICAgIDIzNywgMTAyLCAxMCwgMTQsIDIzNywgMTAxLCAxMCwgMTQsIDIzNywgMTAwLCAxMCwgMTQsIDIzNywgOTksIDEwLCAxNCwgCi0gICAgMjM3LCA5OCwgMTAsIDE0LCAyMzcsIDk3LCAxMCwgMTQsIDIzNywgOTYsIDEwLCAxNCwgMjM3LCA5NSwgMTAsIDE0LCAyMzcsIAotICAgIDk0LCAxMCwgMTQsIDIzNywgOTMsIDEwLCAxNCwgMjM3LCA5MiwgMTAsIDE0LCAyMzcsIDkxLCAxMCwgMTQsIDIzNywgOTAsIAotICAgIDEwLCAxNCwgMjM3LCA4OSwgMTAsIDE0LCAyMzcsIDg4LCAxMCwgMTQsIDIzNywgODcsIDEwLCAxNCwgMjM3LCA4NiwgMTAsIAotICAgIDE0LCAyMzcsIDg1LCAxMCwgMTQsIDIzNywgODQsIDEwLCAxNCwgMjM3LCA4MywgMTAsIDE0LCAyMzcsIDgyLCAxMCwgMTQsIAotICAgIDIzNywgODEsIDEwLCAxNCwgMjM3LCA4MCwgMTAsIDE0LCAyMzcsIDc5LCAxMCwgMTQsIDIzNywgNzgsIDEwLCAxNCwgMjM3LCAKLSAgICA3NywgMTAsIDE0LCAyMzcsIDc2LCAxMCwgMTQsIDIzNywgNzUsIDEwLCAxNCwgMjM3LCA3NCwgMTAsIDE0LCAyMzcsIDczLCAKLSAgICAxMCwgMTQsIDIzNywgNzIsIDEwLCAxNCwgMjM3LCA3MSwgMTAsIDE0LCAyMzcsIDcwLCAxMCwgMTQsIDIzNywgNjksIDEwLCAKLSAgICAxNCwgMjM3LCA2OCwgMTAsIDE0LCAyMzcsIDY3LCAxMCwgMTQsIDIzNywgNjYsIDEwLCAxNCwgMjM3LCA2NSwgMTAsIDE0LCAKLSAgICAyMzcsIDY0LCAxMCwgMTQsIDIzNywgNjMsIDEwLCAxNCwgMjM3LCA2MiwgMTAsIDE0LCAyMzcsIDYxLCAxMCwgMTQsIDIzNywgCi0gICAgNjAsIDEwLCAxNCwgMjM3LCA1OSwgMTAsIDE0LCAyMzcsIDU4LCAxMCwgMTQsIDIzNywgNTcsIDEwLCAxNCwgMjM3LCA1NiwgCi0gICAgMTAsIDE0LCAyMzcsIDU1LCAxMCwgMTQsIDIzNywgNTQsIDEwLCAxNCwgMjM3LCA1MywgMTAsIDE0LCAyMzcsIDUyLCAxMCwgCi0gICAgMTQsIDIzNywgNTEsIDEwLCAxNCwgMjM3LCA1MCwgMTAsIDE0LCAyMzcsIDQ5LCAxMCwgMTQsIDIzNywgNDgsIDEwLCAxNCwgCi0gICAgMjM3LCA0NywgMTAsIDE0LCAyMzcsIDQ2LCAxMCwgMTQsIDIzNywgNDUsIDEwLCAxNCwgMjM3LCA0NCwgMTAsIDE0LCAyMzcsIAotICAgIDQzLCAxMCwgMTQsIDIzNywgNDIsIDEwLCAxNCwgMjM3LCA0MSwgMTAsIDE0LCAyMzcsIDQwLCAxMCwgMTQsIDIzNywgMzksIAotICAgIDEwLCAxNCwgMjM3LCAzOCwgMTAsIDE0LCAyMzcsIDM3LCAxMCwgMTQsIDIzNywgMzYsIDEwLCAxNCwgMjM3LCAzNSwgMTAsIAotICAgIDE0LCAyMzcsIDM0LCAxMCwgMTQsIDIzNywgMzMsIDEwLCAxNCwgMjM3LCAzMiwgMTAsIDE0LCAyMzcsIDMxLCAxMCwgMTQsIAotICAgIDIzNywgMzAsIDEwLCAxNCwgMjM3LCAyOSwgMTAsIDE0LCAyMzcsIDI4LCAxMCwgMTQsIDIzNywgMjcsIDEwLCAxNCwgMjM3LCAKLSAgICAyNiwgMTAsIDE0LCAyMzcsIDI1LCAxMCwgMTQsIDIzNywgMjQsIDEwLCAxNCwgMjM3LCAyMywgMTAsIDE0LCAyMzcsIDIyLCAKLSAgICAxMCwgMTQsIDIzNywgMjEsIDEwLCAxNCwgMjM3LCAyMCwgMTAsIDE0LCAyMzcsIDE5LCAxMCwgMTQsIDIzNywgMTgsIDEwLCAKLSAgICAxNCwgMjM3LCAxNywgMTAsIDE0LCAyMzcsIDE2LCAxMCwgMTQsIDIzNywgMTUsIDEwLCAxNCwgMjM3LCAxNCwgMTAsIDE0LCAKLSAgICAyMzcsIDEzLCAxMCwgMTQsIDIzNywgMTIsIDEwLCAxNCwgMjM3LCAxMSwgMTAsIDE0LCAyMzcsIDEwLCAxMCwgMTQsIDIzNywgCi0gICAgOSwgMTAsIDE0LCAyMzcsIDgsIDEwLCAxNCwgMjM3LCA3LCAxMCwgMTQsIDIzNywgNiwgMTAsIDE0LCAyMzcsIDUsIDEwLCAKLSAgICAxNCwgMjM3LCA0LCAxMCwgMTQsIDIzNywgMywgMTAsIDE0LCAyMzcsIDIsIDEwLCAxNCwgMjM3LCAxLCAxMCwgMTQsIDIzNywgCi0gICAgMCwgMTAsIDE0LCAyMzYsIDI1NSwgMTAsIDE0LCAyMzYsIDI1NCwgMTAsIDE0LCAyMzYsIDI1MywgMTAsIDE0LCAyMzYsIAotICAgIDI1MiwgMTAsIDE0LCAyMzYsIDI1MSwgMTAsIDE0LCAyMzYsIDI1MCwgMTAsIDE0LCAyMzYsIDI0OSwgMTAsIDE0LCAyMzYsIAotICAgIDI0OCwgMTAsIDE0LCAyMzYsIDI0NywgMTAsIDE0LCAyMzYsIDI0NiwgMTAsIDE0LCAyMzYsIDI0NSwgMTAsIDE0LCAyMzYsIAotICAgIDI0NCwgMTAsIDE0LCAyMzYsIDI0MywgMTAsIDE0LCAyMzYsIDI0MiwgMTAsIDE0LCAyMzYsIDI0MSwgMTAsIDE0LCAyMzYsIAotICAgIDI0MCwgMTAsIDE0LCAyMzYsIDIzOSwgMTAsIDE0LCAyMzYsIDIzOCwgMTAsIDE0LCAyMzYsIDIzNywgMTAsIDE0LCAyMzYsIAotICAgIDIzNiwgMTAsIDE0LCAyMzYsIDIzNSwgMTAsIDE0LCAyMzYsIDIzNCwgMTAsIDE0LCAyMzYsIDIzMywgMTAsIDE0LCAyMzYsIAotICAgIDIzMiwgMTAsIDE0LCAyMzYsIDIzMSwgMTAsIDE0LCAyMzYsIDIzMCwgMTAsIDE0LCAyMzYsIDIyOSwgMTAsIDE0LCAyMzYsIAotICAgIDIyOCwgMTAsIDE0LCAyMzYsIDIyNywgMTAsIDE0LCAyMzYsIDIyNiwgMTAsIDE0LCAyMzYsIDIyNSwgMTAsIDE0LCAyMzYsIAotICAgIDIyNCwgMTAsIDE0LCAyMzYsIDIyMywgMTAsIDE0LCAyMzYsIDIyMiwgMTAsIDE0LCAyMzYsIDIyMSwgMTAsIDE0LCAyMzYsIAotICAgIDIyMCwgMTAsIDE0LCAyMzYsIDIxOSwgMTAsIDE0LCAyMzYsIDIxOCwgMTAsIDE0LCAyMzYsIDIxNywgMTAsIDE0LCAyMzYsIAotICAgIDIxNiwgMTAsIDE0LCAyMzYsIDIxNSwgMTAsIDE0LCAyMzYsIDIxNCwgMTAsIDE0LCAyMzYsIDIxMywgMTAsIDE0LCAyMzYsIAotICAgIDIxMiwgMTAsIDE0LCAyMzYsIDIxMSwgMTAsIDE0LCAyMzYsIDIxMCwgMTAsIDE0LCAyMzYsIDIwOSwgMTAsIDE0LCAyMzYsIAotICAgIDIwOCwgMTAsIDE0LCAyMzYsIDIwNywgMTAsIDE0LCAyMzYsIDIwNiwgMTAsIDE0LCAyMzYsIDIwNSwgMTAsIDE0LCAyMzYsIAotICAgIDIwNCwgMTAsIDE0LCAyMzYsIDIwMywgMTAsIDE0LCAyMzYsIDIwMiwgMTAsIDE0LCAyMzYsIDIwMSwgMTAsIDE0LCAyMzYsIAotICAgIDIwMCwgMTAsIDE0LCAyMzYsIDE5OSwgMTAsIDE0LCAyMzYsIDE5OCwgMTAsIDE0LCAyMzYsIDE5NywgMTAsIDE0LCAyMzYsIAotICAgIDE5NiwgMTAsIDE0LCAyMzYsIDE5NSwgMTAsIDE0LCAyMzYsIDE5NCwgMTAsIDE0LCAyMzYsIDE5MywgMTAsIDE0LCAyMzYsIAotICAgIDE5MiwgMTAsIDE0LCAyMzYsIDE5MSwgMTAsIDE0LCAyMzYsIDE5MCwgMTAsIDE0LCAyMzYsIDE4OSwgMTAsIDE0LCAyMzYsIAotICAgIDE4OCwgMTAsIDE0LCAyMzYsIDE4NywgMTAsIDE0LCAyMzYsIDE4NiwgMTAsIDE0LCAyMzYsIDE4NSwgMTAsIDE0LCAyMzYsIAotICAgIDE4NCwgMTAsIDE0LCAyMzYsIDE4MywgMTAsIDE0LCAyMzYsIDE4MiwgMTAsIDE0LCAyMzYsIDE4MSwgMTAsIDE0LCAyMzYsIAotICAgIDE4MCwgMTAsIDE0LCAyMzYsIDE3OSwgMTAsIDE0LCAyMzYsIDE3OCwgMTAsIDE0LCAyMzYsIDE3NywgMTAsIDE0LCAyMzYsIAotICAgIDE3NiwgMTAsIDE0LCAyMzYsIDE3NSwgMTAsIDE0LCAyMzYsIDE3NCwgMTAsIDE0LCAyMzYsIDE3MywgMTAsIDE0LCAyMzYsIAotICAgIDE3MiwgMTAsIDE0LCAyMzYsIDE3MSwgMTAsIDE0LCAyMzYsIDE3MCwgMTAsIDE0LCAyMzYsIDE2OSwgMTAsIDE0LCAyMzYsIAotICAgIDE2OCwgMTAsIDE0LCAyMzYsIDE2NywgMTAsIDE0LCAyMzYsIDE2NiwgMTAsIDE0LCAyMzYsIDE2NSwgMTAsIDE0LCAyMzYsIAotICAgIDE2NCwgMTAsIDE0LCAyMzYsIDE2MywgMTAsIDE0LCAyMzYsIDE2MiwgMTAsIDE0LCAyMzYsIDE2MSwgMTAsIDE0LCAyMzYsIAotICAgIDE2MCwgMTAsIDE0LCAyMzYsIDE1OSwgMTAsIDE0LCAyMzYsIDE1OCwgMTAsIDE0LCAyMzYsIDE1NywgMTAsIDE0LCAyMzYsIAotICAgIDE1NiwgMTAsIDE0LCAyMzYsIDE1NSwgMTAsIDE0LCAyMzYsIDE1NCwgMTAsIDE0LCAyMzYsIDE1MywgMTAsIDE0LCAyMzYsIAotICAgIDE1MiwgMTAsIDE0LCAyMzYsIDE1MSwgMTAsIDE0LCAyMzYsIDE1MCwgMTAsIDE0LCAyMzYsIDE0OSwgMTAsIDE0LCAyMzYsIAotICAgIDE0OCwgMTAsIDE0LCAyMzYsIDE0NywgMTAsIDE0LCAyMzYsIDE0NiwgMTAsIDE0LCAyMzYsIDE0NSwgMTAsIDE0LCAyMzYsIAotICAgIDE0NCwgMTAsIDE0LCAyMzYsIDE0MywgMTAsIDE0LCAyMzYsIDE0MiwgMTAsIDE0LCAyMzYsIDE0MSwgMTAsIDE0LCAyMzYsIAotICAgIDE0MCwgMTAsIDE0LCAyMzYsIDEzOSwgMTAsIDE0LCAyMzYsIDEzOCwgMTAsIDE0LCAyMzYsIDEzNywgMTAsIDE0LCAyMzYsIAotICAgIDEzNiwgMTAsIDE0LCAyMzYsIDEzNSwgMTAsIDE0LCAyMzYsIDEzNCwgMTAsIDE0LCAyMzYsIDEzMywgMTAsIDE0LCAyMzYsIAotICAgIDEzMiwgMTAsIDE0LCAyMzYsIDEzMSwgMTAsIDE0LCAyMzYsIDEzMCwgMTAsIDE0LCAyMzYsIDEyOSwgMTAsIDE0LCAyMzYsIAotICAgIDEyOCwgMTAsIDE0LCAyMzYsIDEyNywgMTAsIDE0LCAyMzYsIDEyNiwgMTAsIDE0LCAyMzYsIDEyNSwgMTAsIDE0LCAyMzYsIAotICAgIDEyNCwgMTAsIDE0LCAyMzYsIDEyMywgMTAsIDE0LCAyMzYsIDEyMiwgMTAsIDE0LCAyMzYsIDEyMSwgMTAsIDE0LCAyMzYsIAotICAgIDEyMCwgMTAsIDE0LCAyMzYsIDExOSwgMTAsIDE0LCAyMzYsIDExOCwgMTAsIDE0LCAyMzYsIDExNywgMTAsIDE0LCAyMzYsIAotICAgIDExNiwgMTAsIDE0LCAyMzYsIDExNSwgMTAsIDE0LCAyMzYsIDExNCwgMTAsIDE0LCAyMzYsIDExMywgMTAsIDE0LCAyMzYsIAotICAgIDExMiwgMTAsIDE0LCAyMzYsIDExMSwgMTAsIDE0LCAyMzYsIDExMCwgMTAsIDE0LCAyMzYsIDEwOSwgMTAsIDE0LCAyMzYsIAotICAgIDEwOCwgMTAsIDE0LCAyMzYsIDEwNywgMTAsIDE0LCAyMzYsIDEwNiwgMTAsIDE0LCAyMzYsIDEwNSwgMTAsIDE0LCAyMzYsIAotICAgIDEwNCwgMTAsIDE0LCAyMzYsIDEwMywgMTAsIDE0LCAyMzYsIDEwMiwgMTAsIDE0LCAyMzYsIDEwMSwgMTAsIDE0LCAyMzYsIAotICAgIDEwMCwgMTAsIDE0LCAyMzYsIDk5LCAxMCwgMTQsIDIzNiwgOTgsIDEwLCAxNCwgMjM2LCA5NywgMTAsIDE0LCAyMzYsIDk2LCAKLSAgICAxMCwgMTQsIDIzNiwgOTUsIDEwLCAxNCwgMjM2LCA5NCwgMTAsIDE0LCAyMzYsIDkzLCAxMCwgMTQsIDIzNiwgOTIsIDEwLCAKLSAgICAxNCwgMjM2LCA5MSwgMTAsIDE0LCAyMzYsIDkwLCAxMCwgMTQsIDIzNiwgODksIDEwLCAxNCwgMjM2LCA4OCwgMTAsIDE0LCAKLSAgICAyMzYsIDg3LCAxMCwgMTQsIDIzNiwgODYsIDEwLCAxNCwgMjM2LCA4NSwgMTAsIDE0LCAyMzYsIDg0LCAxMCwgMTQsIDIzNiwgCi0gICAgODMsIDEwLCAxNCwgMjM2LCA4MiwgMTAsIDE0LCAyMzYsIDgxLCAxMCwgMTQsIDIzNiwgODAsIDEwLCAxNCwgMjM2LCA3OSwgCi0gICAgMTAsIDE0LCAyMzYsIDc4LCAxMCwgMTQsIDIzNiwgNzcsIDEwLCAxNCwgMjM2LCA3NiwgMTAsIDE0LCAyMzYsIDc1LCAxMCwgCi0gICAgMTQsIDIzNiwgNzQsIDEwLCAxNCwgMjM2LCA3MywgMTAsIDE0LCAyMzYsIDcyLCA3LCA0LCAyNywgMjQ0LCAxMzMsIDcsIDQsIAotICAgIDI3LCAyNDQsIDEyOSwgNywgNCwgMjcsIDI0NCwgODQsIDcsIDQsIDI3LCAyNDQsIDEzMiwgNywgNCwgMjcsIDI0NCwgMTMxLCAKLSAgICA3LCA0LCAyNywgMjAwLCAyMjIsIDk0LCAyMTcsIDE1MywgNywgNCwgMjcsIDIxOCwgMTcwLCAxNTAsIDQsIDI3LCAyMzEsIAotICAgIDY0LCAyMjgsIDQ0LCAxNTAsIDQsIDI3LCAyMzEsIDY0LCAyNDUsIDIyMSwgMTUwLCA0LCAyNywgMjMxLCA2NCwgMjM1LCAKLSAgICAyMzQsIDE1MCwgNCwgMjcsIDIxMywgMTgwLCAyMjgsIDQ0LCAxNTAsIDQsIDI3LCAyMzEsIDY0LCAyMTEsIDE2MCwgOTQsIDEsIAotICAgIDIxMCwgMjM0LCAyLCAyNDEsIDE2NSwgOTQsIDIyNSwgMTQsIDIzNSwgNTYsIDIxNCwgMTEsIDk0LCAyNywgMjExLCA2LCAKLSAgICAyMTAsIDIzNCwgMjEwLCAyMzQsIDIyNSwgMjQzLCA5NCwgMSwgMjU0LCAxNDcsIDI1MywgMTcwLCA5NCwgMSwgMjExLCAyNDcsIAotICAgIDI1NCwgMTc5LCA5NCwgMSwgMjExLCAyNDcsIDI0OCwgMTk3LCA5NCwgMSwgMjExLCAyNDcsIDI0MSwgMjQ1LCA5NCwgMSwgCi0gICAgMjExLCAyNDcsIDIzNSwgMCwgOTQsIDEsIDIxMSwgMjQ3LCAyMzMsIDEwMCwgOTQsIDEsIDIxMSwgMjQ3LCA0MCwgMjMxLCAKLSAgICA3MCwgOTQsIDEsIDIxMSwgMjQ3LCAyMjMsIDcwLCA5NCwgMSwgMjExLCAyNDcsIDIxNywgMzksIDk0LCAxLCAyNTQsIDE0NywgCi0gICAgOTYsIDUwLCA5NCwgMSwgMjIwLCAyMywgMiwgMjIwLCAyMywgMjQ3LCAxMjgsIDk0LCAxLCAyMjAsIDIzLCAyLCAyMTksIAotICAgIDE2MSwgMjQ3LCAxMjgsIDk0LCAxLCAyMjAsIDIzLCAyLCAyNDgsIDIxNiwgMjIsIDIyMCwgMjMsIDI0NywgMTI4LCA5NCwgMSwgCi0gICAgMjIwLCAyMywgMiwgMjQ4LCAyMTYsIDIyLCAyMTksIDE2MSwgMjQ3LCAxMjgsIDk0LCAxLCAxMDksIDIsIDIyNSwgMjQzLCAKLSAgICA5NCwgMSwgMTA5LCAyLCAyMjQsIDc5LCA5NCwgMSwgMTA5LCAyLCAyMzEsIDE3NiwgOTQsIDEsIDI1MiwgMzcsIDIsIDI0OCwgCi0gICAgMjE1LCA5NCwgMSwgMjQyLCAyMDksIDIsIDI0OCwgMjE1LCA5NCwgMSwgMjQ4LCAxOTgsIDIsIDI0OCwgMjE1LCA5NCwgMSwgCi0gICAgMjQxLCAyNDYsIDIsIDIzMSwgMTc2LCA5NCwgMSwgMjE0LCA0LCAyLCAyNDgsIDIxNSwgOTQsIDEsIDIxMCwgOTgsIDIsIAotICAgIDI0OCwgMjE1LCA5NCwgMSwgMjE2LCAyMzIsIDIsIDI0OCwgMjE1LCA5NCwgMSwgMjEwLCAyMzQsIDIsIDI0OCwgMjE1LCA5NCwgCi0gICAgMSwgNDAsIDIzNSwgMSwgMiwgMjQ4LCAyMTUsIDk0LCAxLCAyMzUsIDEsIDIsIDI0OCwgMjE1LCA5NCwgMSwgMjMzLCAxMDEsIAotICAgIDIsIDI0OCwgMjE1LCA5NCwgMSwgMjMxLCA3MSwgMiwgMjQ4LCAyMTUsIDk0LCAxLCAyMjcsIDE5OSwgMiwgMjQ4LCAyMTUsIAotICAgIDk0LCAxLCAyMjEsIDI1MiwgMiwgMjQ4LCAyMTUsIDk0LCAxLCA0MCwgMjI1LCAyMjUsIDIsIDI0OCwgMjE1LCA5NCwgMSwgCi0gICAgMjI1LCAyMjUsIDIsIDI0OCwgMjE1LCA5NCwgMSwgMjE1LCAxODEsIDIsIDI0OCwgMjE1LCA5NCwgMSwgMjI0LCA0MywgMiwgCi0gICAgMjQ4LCAyMTUsIDk0LCAxLCAyMjMsIDcxLCAyLCAyNDgsIDIxNSwgOTQsIDEsIDIyMCwgMjMsIDIsIDI0OCwgMjE1LCA5NCwgCi0gICAgMSwgMjE3LCA0MCwgMiwgMjQ4LCAyMTUsIDk0LCAxLCAyMTQsIDQsIDIsIDI0MSwgNjgsIDk0LCAxLCAyNTIsIDM3LCAyLCAKLSAgICAyMjMsIDE3MiwgOTQsIDEsIDIzNSwgMSwgMiwgMjIzLCAxNzIsIDk0LCAxLCAyMjUsIDIyNSwgMiwgMjIzLCAxNzIsIDk0LCAKLSAgICAyNywgMTA5LCAyMzMsIDEwMCwgOSwgMSwgMTA5LCAyMTIsIDQ3LCA1MywgMTcsIDksIDEsIDEwOSwgMjEyLCA0NywgNDAsIAotICAgIDE3LCA5LCAxLCAyNTIsIDczLCA1MywgMTcsIDksIDEsIDI1MiwgNzMsIDQwLCAxNywgOSwgMSwgMjUyLCA3MywgNjUsIDE3LCAKLSAgICA5LCAxLCAyNTIsIDczLCAxNDcsIDE3LCA5LCAxLCAyMjUsIDIwOSwgNTMsIDE3LCA5LCAxLCAyMjUsIDIwOSwgNDAsIDE3LCAKLSAgICA5LCAxLCAyMjUsIDIwOSwgNjUsIDE3LCA5LCAxLCAyMjUsIDIwOSwgMTQ3LCAxNywgOSwgMSwgMjUyLCA2MSwgNTMsIDE3LCAKLSAgICA5LCAxLCAyNTIsIDYxLCA0MCwgMTcsIDksIDEsIDI1MiwgNjEsIDY1LCAxNywgOSwgMSwgMjUyLCA2MSwgMTQ3LCAxNywgOSwgCi0gICAgMSwgMjE1LCAxNDgsIDUzLCAxNywgOSwgMSwgMjE1LCAxNDgsIDQwLCAxNywgOSwgMSwgMjE1LCAxNDgsIDY1LCAxNywgOSwgCi0gICAgMSwgMjE1LCAxNDgsIDE0NywgMTcsIDksIDEsIDIxNywgNywgNTMsIDE3LCA5LCAxLCAyMTcsIDcsIDQwLCAxNywgOSwgMSwgCi0gICAgMjE3LCA3LCA2NSwgMTcsIDksIDEsIDIxNywgNywgMTQ3LCAxNywgOSwgMSwgMjE1LCAxNTAsIDUzLCAxNywgOSwgMSwgMjE1LCAKLSAgICAxNTAsIDQwLCAxNywgOSwgMSwgMjE1LCAxNTAsIDY1LCAxNywgOSwgMSwgMjE1LCAxNTAsIDE0NywgMTcsIDksIDEsIDIxMywgCi0gICAgMjQ5LCA1MywgMTcsIDksIDEsIDIxMywgMjQ5LCA0MCwgMTcsIDksIDEsIDIxMywgMjQ5LCA2NSwgMTcsIDksIDEsIDIxMywgCi0gICAgMjQ5LCAxNDcsIDE3LCA5LCAxLCAyMjUsIDIwNywgNTMsIDE3LCA5LCAxLCAyMjUsIDIwNywgNDAsIDE3LCA5LCAxLCAyMjUsIAotICAgIDIwNywgNjUsIDE3LCA5LCAxLCAyMjUsIDIwNywgMTQ3LCAxNywgOSwgMSwgMjQ2LCA1MiwgNTMsIDE3LCA5LCAxLCAyNDYsIAotICAgIDUyLCA0MCwgMTcsIDksIDEsIDI0NiwgNTIsIDY1LCAxNywgOSwgMSwgMjQ2LCA1MiwgMTQ3LCAxNywgOSwgMSwgMjI3LCAKLSAgICAxNTgsIDUzLCAxNywgOSwgMSwgMjI3LCAxNTgsIDQwLCAxNywgOSwgMSwgMjI3LCAxNTgsIDY1LCAxNywgOSwgMSwgMjI3LCAKLSAgICAxNTgsIDE0NywgMTcsIDksIDEsIDIxNywgMjgsIDUzLCAxNywgOSwgMSwgMjE3LCAyOCwgNDAsIDE3LCA5LCAxLCAyMTcsIAotICAgIDI4LCA2NSwgMTcsIDksIDEsIDIxNywgMjgsIDE0NywgMTcsIDksIDEsIDIxNywgMjYsIDUzLCAxNywgOSwgMSwgMjE3LCAyNiwgCi0gICAgNDAsIDE3LCA5LCAxLCAyMTcsIDI2LCA2NSwgMTcsIDksIDEsIDIxNywgMjYsIDE0NywgMTcsIDksIDEsIDI0OCwgMTQxLCAKLSAgICA1MywgMTcsIDksIDEsIDI0OCwgMTQxLCA0MCwgMTcsIDksIDEsIDI0OCwgMjEwLCA1MywgMTcsIDksIDEsIDI0OCwgMjEwLCAKLSAgICA0MCwgMTcsIDksIDEsIDI0NiwgNzksIDUzLCAxNywgOSwgMSwgMjQ2LCA3OSwgNDAsIDE3LCA5LCAxLCAyNDgsIDEzOSwgNTMsIAotICAgIDE3LCA5LCAxLCAyNDgsIDEzOSwgNDAsIDE3LCA5LCAxLCAyMzUsIDEyNywgNTMsIDE3LCA5LCAxLCAyMzUsIDEyNywgNDAsIAotICAgIDE3LCA5LCAxLCAyMjIsIDE3NCwgNTMsIDE3LCA5LCAxLCAyMjIsIDE3NCwgNDAsIDE3LCA5LCAxLCAyMzQsIDE4MSwgNTMsIAotICAgIDE3LCA5LCAxLCAyMzQsIDE4MSwgNDAsIDE3LCA5LCAxLCAyMzQsIDE4MSwgNjUsIDE3LCA5LCAxLCAyMzQsIDE4MSwgMTQ3LCAKLSAgICAxNywgOSwgMSwgMjQzLCAxMzAsIDUzLCAxNywgOSwgMSwgMjQzLCAxMzAsIDQwLCAxNywgOSwgMSwgMjQzLCAxMzAsIDY1LCAKLSAgICAxNywgOSwgMSwgMjQzLCAxMzAsIDE0NywgMTcsIDksIDEsIDI0MiwgMTA5LCA1MywgMTcsIDksIDEsIDI0MiwgMTA5LCA0MCwgCi0gICAgMTcsIDksIDEsIDI0MiwgMTA5LCA2NSwgMTcsIDksIDEsIDI0MiwgMTA5LCAxNDcsIDE3LCA5LCAxLCAyMjksIDgsIDUzLCAKLSAgICAxNywgOSwgMSwgMjI5LCA4LCA0MCwgMTcsIDksIDEsIDIyOSwgOCwgNjUsIDE3LCA5LCAxLCAyMjksIDgsIDE0NywgMTcsIDksIAotICAgIDEsIDIyOCwgNjgsIDI0MiwgMjI2LCA1MywgMTcsIDksIDEsIDIyOCwgNjgsIDI0MiwgMjI2LCA0MCwgMTcsIDksIDEsIDIyMiwgCi0gICAgMjE3LCA1MywgMTcsIDksIDEsIDIyMiwgMjE3LCA0MCwgMTcsIDksIDEsIDIyMiwgMjE3LCA2NSwgMTcsIDksIDEsIDIyMiwgCi0gICAgMjE3LCAxNDcsIDE3LCA5LCAxLCAyNDEsIDIyNiwgMiwgNzcsIDcyLCA1MywgMTcsIDksIDEsIDI0MSwgMjI2LCAyLCA3NywgCi0gICAgNzIsIDQwLCAxNywgOSwgMSwgMjQxLCAyMjYsIDI0MiwgMTc5LCA1MywgMTcsIDksIDEsIDI0MSwgMjI2LCAyNDIsIDE3OSwgCi0gICAgNDAsIDE3LCA5LCAxLCAyNDEsIDIyNiwgMjQyLCAxNzksIDY1LCAxNywgOSwgMSwgMjQxLCAyMjYsIDI0MiwgMTc5LCAxNDcsIAotICAgIDE3LCA5LCAxLCAyNDEsIDIyNiwgMjQ3LCAxNTAsIDUzLCAxNywgOSwgMSwgMjQxLCAyMjYsIDI0NywgMTUwLCA0MCwgMTcsIAotICAgIDksIDEsIDI0MSwgMjI2LCAyNDcsIDE1MCwgNjUsIDE3LCA5LCAxLCAyNDEsIDIyNiwgMjQ3LCAxNTAsIDE0NywgMTcsIDksIAotICAgIDEsIDc3LCAyNTIsIDE0MSwgNTMsIDE3LCA5LCAxLCA3NywgMjUyLCAxNDEsIDQwLCAxNywgOSwgMSwgNzcsIDI1MiwgMTQxLCAKLSAgICAyLCAxODIsIDcyLCA1MywgMTcsIDksIDEsIDc3LCAyNTIsIDE0MSwgMiwgMTgyLCA3MiwgNDAsIDE3LCA5LCAxNiwgNTksIAotICAgIDQ4LCA5LCAxNiwgNTksIDUxLCA5LCAxNiwgMTEzLCAxNzAsIDQ4LCA5LCAxNiwgMTEzLCAxNzAsIDUxLCA5LCAxNiwgMTM0LCAKLSAgICAxNzAsIDQ4LCA5LCAxNiwgMTM0LCAxNzAsIDUxLCA5LCAxNiwgMTM0LCAxNzAsIDIyNSwgMTAsIDI0NiwgMTEyLCA0OCwgOSwgCi0gICAgMTYsIDEzNCwgMTcwLCAyMjUsIDEwLCAyNDYsIDExMiwgNTEsIDksIDE2LCAyNDQsIDE5LCAxNzAsIDQ4LCA5LCAxNiwgMjQ0LCAKLSAgICAxOSwgMTcwLCA1MSwgOSwgMTYsIDUyLCA2NywgMjUyLCAxNDksIDUxLCA5LCAxNiwgMTEzLCAxNzAsIDIxMywgMTg5LCA0OCwgCi0gICAgOSwgMTYsIDExMywgMTcwLCAyMTMsIDE4OSwgNTEsIDksIDE2LCAyMjIsIDIzNiwgOSwgMTYsIDQsIDIxNywgODIsIDQ4LCA5LCAKLSAgICAxNiwgNCwgMjE3LCA4MiwgNTEsIDksIDEsIDIyOSwgODUsIDUzLCAxNywgOSwgMSwgMjI5LCA4NSwgNDAsIDE3LCA5LCAxLCAKLSAgICAyMjksIDg1LCA2NSwgMTcsIDksIDEsIDIyOSwgODUsIDE0NywgMTcsIDksIDEsIDEwNCwgNTMsIDE3LCA5LCAxLCAxMDQsIAotICAgIDQwLCAxNywgOSwgMSwgMjI2LCAyMzksIDUzLCAxNywgOSwgMSwgMjI2LCAyMzksIDQwLCAxNywgOSwgMSwgMjEwLCAyMTMsIAotICAgIDUzLCAxNywgOSwgMSwgMjEwLCAyMTMsIDQwLCAxNywgOSwgMSwgMTA0LCAyLCAxODIsIDcyLCA1MywgMTcsIDksIDEsIDIxNCwgCi0gICAgMCwgNTMsIDE3LCA5LCAxLCAyMTQsIDAsIDQwLCAxNywgOSwgMSwgMjM0LCA3OSwgMjI2LCAyMzksIDUzLCAxNywgOSwgMSwgCi0gICAgMjM0LCA3OSwgMjI2LCAyMzksIDQwLCAxNywgOSwgMSwgMjM0LCA3OSwgMjEwLCAyMTMsIDUzLCAxNywgOSwgMSwgMjM0LCAKLSAgICA3OSwgMjEwLCAyMTMsIDQwLCAxNywgOSwgMSwgMTYwLCA1MywgMTcsIDksIDEsIDE2MCwgNDAsIDE3LCA5LCAxLCAxNjAsIAotICAgIDY1LCAxNywgOSwgMSwgMTYwLCAxNDcsIDE3LCA5LCAxLCAyMTQsIDIwNywgMjM0LCAxOTIsIDIzNCwgNzksIDEwOSwgMjMxLCAKLSAgICAxOTgsIDY1LCAxNywgOSwgMSwgMjE0LCAyMDcsIDIzNCwgMTkyLCAyMzQsIDc5LCAxMDksIDIzMSwgMTk4LCAxNDcsIDE3LCAKLSAgICA5LCAyNywgNzcsIDIsIDE4MiwgNzIsIDIsIDEwOSwgNTMsIDE3LCA5LCAyNywgNzcsIDIsIDE4MiwgNzIsIDIsIDEwOSwgNDAsIAotICAgIDE3LCA5LCAyNywgNzcsIDIsIDE4MiwgNzIsIDIsIDI1NCwgMjUzLCA1MywgMTcsIDksIDI3LCA3NywgMiwgMTgyLCA3MiwgMiwgCi0gICAgMjU0LCAyNTMsIDQwLCAxNywgOSwgMjcsIDc3LCAyLCAxODIsIDcyLCAyLCAyMTIsIDMxLCA1MywgMTcsIDksIDI3LCA3NywgCi0gICAgMiwgMTgyLCA3MiwgMiwgMjEyLCAzMSwgNDAsIDE3LCA5LCAyNywgNzcsIDIsIDE4MiwgNzIsIDIsIDEwNCwgNTMsIDE3LCA5LCAKLSAgICAyNywgNzcsIDIsIDE4MiwgNzIsIDIsIDEwNCwgNDAsIDE3LCA5LCAyNywgNzcsIDIsIDE4MiwgNzIsIDIsIDIyNiwgMjM5LCAKLSAgICA1MywgMTcsIDksIDI3LCA3NywgMiwgMTgyLCA3MiwgMiwgMjI2LCAyMzksIDQwLCAxNywgOSwgMjcsIDc3LCAyLCAxODIsIAotICAgIDcyLCAyLCAyMTAsIDIxMywgNTMsIDE3LCA5LCAyNywgNzcsIDIsIDE4MiwgNzIsIDIsIDIxMCwgMjEzLCA0MCwgMTcsIDksIAotICAgIDI3LCA3NywgMiwgMTgyLCA3MiwgMiwgMTYwLCA1MywgMTcsIDksIDI3LCA3NywgMiwgMTgyLCA3MiwgMiwgMTYwLCA0MCwgCi0gICAgMTcsIDksIDI3LCA3NywgMiwgMTgyLCA3MiwgMiwgMTYwLCA2NSwgMTcsIDksIDI3LCAyMTQsIDIwNywgMjM0LCA3OSwgNzcsIAotICAgIDIsIDE4MiwgNzIsIDIsIDEwOSwgMjMxLCAxOTgsIDUzLCAxNywgOSwgMjcsIDIxNCwgMjA3LCAyMzQsIDc5LCA3NywgMiwgCi0gICAgMTgyLCA3MiwgMiwgMTA5LCAyMzEsIDE5OCwgNDAsIDE3LCA5LCAyNywgMjE0LCAyMDcsIDIzNCwgNzksIDc3LCAyLCAxODIsIAotICAgIDcyLCAyLCAxMDksIDIzMSwgMTk4LCA2NSwgMTcsIDksIDEsIDI0NCwgMTc2LCA3NywgNTMsIDE3LCA5LCAxLCAyNDQsIDE3NiwgCi0gICAgNzcsIDQwLCAxNywgOSwgMSwgMjQ0LCAxNzYsIDc3LCA2NSwgMTcsIDksIDEsIDI0NCwgMTc2LCA3NywgMTQ3LCAxNywgOSwgCi0gICAgMjcsIDc3LCAyLCAxODIsIDcyLCAyLCAxNTEsIDUzLCAxNywgOSwgMjcsIDc3LCAyLCAxODIsIDcyLCAyLCAxMjIsIDUzLCAKLSAgICAxNywgOSwgMjcsIDc3LCAyLCAxODIsIDcyLCAyLCA2NiwgNTMsIDE3LCA5LCAyNywgNzcsIDIsIDE4MiwgNzIsIDIsIDEwOSwgCi0gICAgMjMxLCAxOTgsIDUzLCAxNywgOSwgMjcsIDc3LCAyLCAxODIsIDcyLCAyLCA3NywgNTMsIDE3LCA5LCAyNywgMjUyLCA2MywgCi0gICAgMiwgMTUxLCA1MywgMTcsIDksIDI3LCAyNTIsIDYzLCAyLCAxMjIsIDUzLCAxNywgOSwgMjcsIDI1MiwgNjMsIDIsIDIzNCwgCi0gICAgMTM2LCA1MywgMTcsIDksIDI3LCAyNTIsIDYzLCAyLCA2NiwgNTMsIDE3LCA5LCAyNywgMjUyLCA2MywgMiwgMTA5LCAyMzEsIAotICAgIDE5OCwgNTMsIDE3LCA5LCAyNywgMjUyLCA2MywgMiwgNzcsIDUzLCAxNywgOSwgMjcsIDIxNywgOSwgMiwgMTUxLCA1MywgCi0gICAgMTcsIDksIDI3LCAyMTcsIDksIDIsIDEyMiwgNTMsIDE3LCA5LCAyNywgMjE3LCA5LCAyLCAyMzQsIDEzNiwgNTMsIDE3LCA5LCAKLSAgICAyNywgMjE3LCA5LCAyLCA2NiwgNTMsIDE3LCA5LCAyNywgMjE3LCA5LCAyLCAxMDksIDIzMSwgMTk4LCA1MywgMTcsIDksIAotICAgIDI3LCAyMTcsIDksIDIsIDc3LCA1MywgMTcsIDksIDI3LCAyMTYsIDE5NCwgMiwgMTUxLCA1MywgMTcsIDksIDI3LCAyMTYsIAotICAgIDE5NCwgMiwgNjYsIDUzLCAxNywgOSwgMjcsIDIxNiwgMTk0LCAyLCAxMDksIDIzMSwgMTk4LCA1MywgMTcsIDksIDI3LCAKLSAgICAyMTYsIDE5NCwgMiwgNzcsIDUzLCAxNywgOSwgMjcsIDE1MSwgMiwgMTIyLCA1MywgMTcsIDksIDI3LCAxNTEsIDIsIDY2LCAKLSAgICA1MywgMTcsIDksIDI3LCAxMjIsIDIsIDE1MSwgNTMsIDE3LCA5LCAyNywgMTIyLCAyLCA2NiwgNTMsIDE3LCA5LCAyNywgCi0gICAgMjM0LCAxMzYsIDIsIDE1MSwgNTMsIDE3LCA5LCAyNywgMjM0LCAxMzYsIDIsIDEyMiwgNTMsIDE3LCA5LCAyNywgMjM0LCAKLSAgICAxMzYsIDIsIDY2LCA1MywgMTcsIDksIDI3LCAyMjEsIDE2OSwgMiwgMTUxLCA1MywgMTcsIDksIDI3LCAyMjEsIDE2OSwgMiwgCi0gICAgMTIyLCA1MywgMTcsIDksIDI3LCAyMjEsIDE2OSwgMiwgMjM0LCAxMzYsIDUzLCAxNywgOSwgMjcsIDIyMSwgMTY5LCAyLCAKLSAgICA2NiwgNTMsIDE3LCA5LCAyNywgMjIyLCAyOSwgMiwgMTIyLCA1MywgMTcsIDksIDI3LCAyMjIsIDI5LCAyLCA2NiwgNTMsIAotICAgIDE3LCA5LCAyNywgMjQ4LCAyMjUsIDIsIDE1MSwgNTMsIDE3LCA5LCAyNywgMjQ4LCAyMjUsIDIsIDEyMiwgNTMsIDE3LCA5LCAKLSAgICAyNywgMjQ4LCAyMjUsIDIsIDIzNCwgMTM2LCA1MywgMTcsIDksIDI3LCAyNDgsIDIyNSwgMiwgNjYsIDUzLCAxNywgOSwgMjcsIAotICAgIDIxNywgODIsIDIsIDEyMiwgNTMsIDE3LCA5LCAyNywgMjE3LCA4MiwgMiwgNjYsIDUzLCAxNywgOSwgMjcsIDIxMCwgMTEyLCAKLSAgICAyLCA2NiwgNTMsIDE3LCA5LCAyNywgMjU0LCAyMDYsIDIsIDE1MSwgNTMsIDE3LCA5LCAyNywgMjU0LCAyMDYsIDIsIDY2LCAKLSAgICA1MywgMTcsIDksIDI3LCAyNDIsIDI1MiwgMiwgMTUxLCA1MywgMTcsIDksIDI3LCAyNDIsIDI1MiwgMiwgNjYsIDUzLCAxNywgCi0gICAgOSwgMjcsIDI0NCwgMTUxLCAyLCAxNTEsIDUzLCAxNywgOSwgMjcsIDI0NCwgMTUxLCAyLCAxMjIsIDUzLCAxNywgOSwgMjcsIAotICAgIDI0NCwgMTUxLCAyLCAyMzQsIDEzNiwgNTMsIDE3LCA5LCAyNywgMjQ0LCAxNTEsIDIsIDY2LCA1MywgMTcsIDksIDI3LCAKLSAgICAyNDQsIDE1MSwgMiwgMTA5LCAyMzEsIDE5OCwgNTMsIDE3LCA5LCAyNywgMjQ0LCAxNTEsIDIsIDc3LCA1MywgMTcsIDksIAotICAgIDI3LCAyMjQsIDg1LCAyLCAxMjIsIDUzLCAxNywgOSwgMjcsIDIyNCwgODUsIDIsIDY2LCA1MywgMTcsIDksIDI3LCAyMjQsIAotICAgIDg1LCAyLCAxMDksIDIzMSwgMTk4LCA1MywgMTcsIDksIDI3LCAyMjQsIDg1LCAyLCA3NywgNTMsIDE3LCA5LCAyNywgMjM1LCAKLSAgICAxLCAyLCAxMDksIDUzLCAxNywgOSwgMjcsIDIzNSwgMSwgMiwgMTUxLCA1MywgMTcsIDksIDI3LCAyMzUsIDEsIDIsIDEyMiwgCi0gICAgNTMsIDE3LCA5LCAyNywgMjM1LCAxLCAyLCAyMzQsIDEzNiwgNTMsIDE3LCA5LCAyNywgMjM1LCAxLCAyLCAyMzMsIDEwOSwgCi0gICAgNTMsIDE3LCA5LCAyNywgMjM1LCAxLCAyLCA2NiwgNTMsIDE3LCA5LCAyNywgMjM1LCAxLCAyLCAxMDksIDIzMSwgMTk4LCAKLSAgICA1MywgMTcsIDksIDI3LCAyMzUsIDEsIDIsIDc3LCA1MywgMTcsIDksIDI3LCAyMzMsIDEwOSwgMiwgMTUxLCA1MywgMTcsIDksIAotICAgIDI3LCAyMzMsIDEwOSwgMiwgMTIyLCA1MywgMTcsIDksIDI3LCAyMzMsIDEwOSwgMiwgMjM0LCAxMzYsIDUzLCAxNywgOSwgCi0gICAgMjcsIDIzMywgMTA5LCAyLCA2NiwgNTMsIDE3LCA5LCAyNywgMjMzLCAxMDksIDIsIDEwOSwgMjMxLCAxOTgsIDUzLCAxNywgCi0gICAgOSwgMjcsIDIzMywgMTA5LCAyLCA3NywgNTMsIDE3LCA5LCAyNywgNjYsIDIsIDE1MSwgNTMsIDE3LCA5LCAyNywgNjYsIDIsIAotICAgIDEyMiwgNTMsIDE3LCA5LCAyNywgNjYsIDIsIDIzNCwgMTM2LCA1MywgMTcsIDksIDI3LCA2NiwgMiwgNjYsIDUzLCAxNywgOSwgCi0gICAgMjcsIDY2LCAyLCAxMDksIDIzMSwgMTk4LCA1MywgMTcsIDksIDI3LCA2NiwgMiwgNzcsIDUzLCAxNywgOSwgMjcsIDIyOCwgCi0gICAgNjgsIDIsIDE1MSwgNTMsIDE3LCA5LCAyNywgMjI4LCA2OCwgMiwgMTIyLCA1MywgMTcsIDksIDI3LCAyMjgsIDY4LCAyLCAKLSAgICAyMzQsIDEzNiwgNTMsIDE3LCA5LCAyNywgMjI4LCA2OCwgMiwgNjYsIDUzLCAxNywgOSwgMjcsIDIyOCwgNjgsIDIsIDEwOSwgCi0gICAgMjMxLCAxOTgsIDUzLCAxNywgOSwgMjcsIDIyOCwgNjgsIDIsIDc3LCA1MywgMTcsIDksIDI3LCAyNDEsIDIyNiwgMiwgMTUxLCAKLSAgICA1MywgMTcsIDksIDI3LCAyNDEsIDIyNiwgMiwgNjYsIDUzLCAxNywgOSwgMjcsIDI0MSwgMjI2LCAyLCAxMDksIDIzMSwgCi0gICAgMTk4LCA1MywgMTcsIDksIDI3LCAyNDEsIDIyNiwgMiwgNzcsIDUzLCAxNywgOSwgMjcsIDc3LCAyLCAxNTEsIDUzLCAxNywgCi0gICAgOSwgMjcsIDc3LCAyLCAxMjIsIDUzLCAxNywgOSwgMjcsIDc3LCAyLCAyMzQsIDEzNiwgNTMsIDE3LCA5LCAyNywgNzcsIDIsIAotICAgIDY2LCA1MywgMTcsIDksIDI3LCA3NywgMiwgMTA5LCAyMzEsIDE5OCwgNTMsIDE3LCA5LCAyNywgNzcsIDIsIDc3LCA1MywgCi0gICAgMTcsIDksIDI3LCAyMTYsIDIwNCwgMiwgMjE4LCAyNCwgMTA5LCA1MywgMTcsIDksIDI3LCAyMjMsIDk5LCAyLCAyMTgsIDI0LCAKLSAgICAxMDksIDUzLCAxNywgOSwgMjcsIDEwOSwgMjMxLCAxOTgsIDIsIDIxOCwgMjQsIDEwOSwgNTMsIDE3LCA5LCAyNywgMjIwLCAKLSAgICA5NiwgMiwgMjQ4LCAxOTEsIDUzLCAxNywgOSwgMjcsIDIyMCwgOTYsIDIsIDIzNCwgMjEwLCA1MywgMTcsIDksIDI3LCAyMjAsIAotICAgIDk2LCAyLCAyNDQsIDE3NCwgNTMsIDE3LCA5LCAyNywgMjIwLCA5NiwgMiwgMjQ4LCAxOTMsIDUzLCAxNywgOSwgMjcsIDIyMCwgCi0gICAgOTYsIDIsIDIzNCwgMjEyLCA1MywgMTcsIDksIDI3LCAyMjAsIDk2LCAyLCAyMTgsIDI0LCAxMDksIDUzLCAxNywgOSwgMjcsIAotICAgIDc3LCAyLCAxODIsIDcyLCAyLCAyMjMsIDk5LCA0MCwgMTcsIDksIDI3LCA3NywgMiwgMTgyLCA3MiwgMiwgMjEwLCAxMDksIAotICAgIDQwLCAxNywgOSwgMjcsIDc3LCAyLCAxODIsIDcyLCAyLCA2NiwgNDAsIDE3LCA5LCAyNywgNzcsIDIsIDE4MiwgNzIsIDIsIAotICAgIDIyOCwgNjgsIDQwLCAxNywgOSwgMjcsIDc3LCAyLCAxODIsIDcyLCAyLCAxMDksIDIzMSwgMTk4LCA0MCwgMTcsIDksIDI3LCAKLSAgICA3NywgMiwgMTgyLCA3MiwgMiwgNzcsIDQwLCAxNywgOSwgMjcsIDI1MiwgNjMsIDIsIDIyMywgOTksIDQwLCAxNywgOSwgMjcsIAotICAgIDI1MiwgNjMsIDIsIDIxMCwgMTA5LCA0MCwgMTcsIDksIDI3LCAyNTIsIDYzLCAyLCA2NiwgNDAsIDE3LCA5LCAyNywgMjUyLCAKLSAgICA2MywgMiwgMjI4LCA2OCwgNDAsIDE3LCA5LCAyNywgMjUyLCA2MywgMiwgMTA5LCAyMzEsIDE5OCwgNDAsIDE3LCA5LCAyNywgCi0gICAgMjUyLCA2MywgMiwgNzcsIDQwLCAxNywgOSwgMjcsIDIxNywgOSwgMiwgMjIzLCA5OSwgNDAsIDE3LCA5LCAyNywgMjE3LCA5LCAKLSAgICAyLCAyMTAsIDEwOSwgNDAsIDE3LCA5LCAyNywgMjE3LCA5LCAyLCA2NiwgNDAsIDE3LCA5LCAyNywgMjE3LCA5LCAyLCAyMjgsIAotICAgIDY4LCA0MCwgMTcsIDksIDI3LCAyMTcsIDksIDIsIDEwOSwgMjMxLCAxOTgsIDQwLCAxNywgOSwgMjcsIDIxNywgOSwgMiwgCi0gICAgNzcsIDQwLCAxNywgOSwgMjcsIDIxNiwgMTk0LCAyLCAyMjMsIDk5LCA0MCwgMTcsIDksIDI3LCAyMTYsIDE5NCwgMiwgMjEwLCAKLSAgICAxMDksIDQwLCAxNywgOSwgMjcsIDIxNiwgMTk0LCAyLCA2NiwgNDAsIDE3LCA5LCAyNywgMjE2LCAxOTQsIDIsIDIyOCwgNjgsIAotICAgIDQwLCAxNywgOSwgMjcsIDIxNiwgMTk0LCAyLCAxMDksIDIzMSwgMTk4LCA0MCwgMTcsIDksIDI3LCAyMTYsIDE5NCwgMiwgCi0gICAgNzcsIDQwLCAxNywgOSwgMjcsIDI0NCwgMTUxLCAyLCAxMDksIDIzMSwgMTk4LCA0MCwgMTcsIDksIDI3LCAyNDQsIDE1MSwgCi0gICAgMiwgNzcsIDQwLCAxNywgOSwgMjcsIDIyNCwgODUsIDIsIDEwOSwgMjMxLCAxOTgsIDQwLCAxNywgOSwgMjcsIDIyNCwgODUsIAotICAgIDIsIDc3LCA0MCwgMTcsIDksIDI3LCAyMzUsIDEsIDIsIDEwOSwgNDAsIDE3LCA5LCAyNywgMjM1LCAxLCAyLCAyMzMsIDEwOSwgCi0gICAgNDAsIDE3LCA5LCAyNywgMjM1LCAxLCAyLCA2NiwgNDAsIDE3LCA5LCAyNywgMjM1LCAxLCAyLCAxMDksIDIzMSwgMTk4LCAKLSAgICA0MCwgMTcsIDksIDI3LCAyMzUsIDEsIDIsIDc3LCA0MCwgMTcsIDksIDI3LCAyMzMsIDEwOSwgMiwgNjYsIDQwLCAxNywgOSwgCi0gICAgMjcsIDIzMywgMTA5LCAyLCAxMDksIDIzMSwgMTk4LCA0MCwgMTcsIDksIDI3LCAyMzMsIDEwOSwgMiwgNzcsIDQwLCAxNywgCi0gICAgOSwgMjcsIDY2LCAyLCAxMDksIDQwLCAxNywgOSwgMjcsIDY2LCAyLCA2NiwgNDAsIDE3LCA5LCAyNywgMjI4LCA2OCwgMiwgCi0gICAgMjIzLCA5OSwgNDAsIDE3LCA5LCAyNywgMjI4LCA2OCwgMiwgMjEwLCAxMDksIDQwLCAxNywgOSwgMjcsIDIyOCwgNjgsIDIsIAotICAgIDY2LCA0MCwgMTcsIDksIDI3LCAyMjgsIDY4LCAyLCAyMjgsIDY4LCA0MCwgMTcsIDksIDI3LCAyMjgsIDY4LCAyLCAxMDksIAotICAgIDIzMSwgMTk4LCA0MCwgMTcsIDksIDI3LCAyMjgsIDY4LCAyLCA3NywgNDAsIDE3LCA5LCAyNywgMTA5LCAyMzEsIDE5OCwgMiwgCi0gICAgMjE4LCAyNCwgMTA5LCA0MCwgMTcsIDksIDI3LCA3NywgMiwgMjIzLCA5OSwgNDAsIDE3LCA5LCAyNywgNzcsIDIsIDIxMCwgCi0gICAgMTA5LCA0MCwgMTcsIDksIDI3LCA3NywgMiwgNjYsIDQwLCAxNywgOSwgMjcsIDc3LCAyLCAyMjgsIDY4LCA0MCwgMTcsIDksIAotICAgIDI3LCA3NywgMiwgMTA5LCAyMzEsIDE5OCwgNDAsIDE3LCA5LCAyNywgNzcsIDIsIDc3LCA0MCwgMTcsIDksIDI3LCA3NywgMiwgCi0gICAgMTgyLCA3MiwgMiwgMTUxLCA2NSwgMTcsIDksIDI3LCA3NywgMiwgMTgyLCA3MiwgMiwgMTIyLCA2NSwgMTcsIDksIDI3LCAKLSAgICA3NywgMiwgMTgyLCA3MiwgMiwgMjM0LCAxMzYsIDY1LCAxNywgOSwgMjcsIDc3LCAyLCAxODIsIDcyLCAyLCA2NiwgNjUsIAotICAgIDE3LCA5LCAyNywgNzcsIDIsIDE4MiwgNzIsIDIsIDI0MSwgMjI2LCA2NSwgMTcsIDksIDI3LCAyNTIsIDYzLCAyLCAxNTEsIAotICAgIDY1LCAxNywgOSwgMjcsIDI1MiwgNjMsIDIsIDEyMiwgNjUsIDE3LCA5LCAyNywgMjUyLCA2MywgMiwgMjM0LCAxMzYsIDY1LCAKLSAgICAxNywgOSwgMjcsIDI1MiwgNjMsIDIsIDY2LCA2NSwgMTcsIDksIDI3LCAyNTIsIDYzLCAyLCAyNDEsIDIyNiwgNjUsIDE3LCAKLSAgICA5LCAyNywgMjE3LCA5LCAyLCAxNTEsIDY1LCAxNywgOSwgMjcsIDIxNywgOSwgMiwgMTIyLCA2NSwgMTcsIDksIDI3LCAyMTcsIAotICAgIDksIDIsIDIzNCwgMTM2LCA2NSwgMTcsIDksIDI3LCAyMTcsIDksIDIsIDY2LCA2NSwgMTcsIDksIDI3LCAyMTcsIDksIDIsIAotICAgIDI0MSwgMjI2LCA2NSwgMTcsIDksIDI3LCAyMTYsIDE5NCwgMiwgNjYsIDY1LCAxNywgOSwgMjcsIDE1MSwgMiwgMTIyLCA2NSwgCi0gICAgMTcsIDksIDI3LCAxNTEsIDIsIDY2LCA2NSwgMTcsIDksIDI3LCAxMjIsIDIsIDE1MSwgNjUsIDE3LCA5LCAyNywgMTIyLCAyLCAKLSAgICA2NiwgNjUsIDE3LCA5LCAyNywgMjM0LCAxMzYsIDIsIDE1MSwgNjUsIDE3LCA5LCAyNywgMjM0LCAxMzYsIDIsIDY2LCA2NSwgCi0gICAgMTcsIDksIDI3LCAyMjEsIDE2OSwgMiwgMTUxLCA2NSwgMTcsIDksIDI3LCAyMjEsIDE2OSwgMiwgMTIyLCA2NSwgMTcsIDksIAotICAgIDI3LCAyMjEsIDE2OSwgMiwgMjM0LCAxMzYsIDY1LCAxNywgOSwgMjcsIDIyMSwgMTY5LCAyLCA2NiwgNjUsIDE3LCA5LCAyNywgCi0gICAgMjIyLCAyOSwgMiwgMTIyLCA2NSwgMTcsIDksIDI3LCAyMjIsIDI5LCAyLCAyMzQsIDEzNiwgNjUsIDE3LCA5LCAyNywgMjIyLCAKLSAgICAyOSwgMiwgNjYsIDY1LCAxNywgOSwgMjcsIDI0OCwgMjI1LCAyLCAxNTEsIDY1LCAxNywgOSwgMjcsIDI0OCwgMjI1LCAyLCAKLSAgICAxMjIsIDY1LCAxNywgOSwgMjcsIDI0OCwgMjI1LCAyLCAyMzQsIDEzNiwgNjUsIDE3LCA5LCAyNywgMjQ4LCAyMjUsIDIsIAotICAgIDY2LCA2NSwgMTcsIDksIDI3LCAyMTcsIDgyLCAyLCAxMjIsIDY1LCAxNywgOSwgMjcsIDIxMCwgMTEyLCAyLCA2NiwgNjUsIAotICAgIDE3LCA5LCAyNywgMjU0LCAyMDYsIDIsIDE1MSwgNjUsIDE3LCA5LCAyNywgMjU0LCAyMDYsIDIsIDY2LCA2NSwgMTcsIDksIAotICAgIDI3LCAyNDIsIDI1MiwgMiwgMTUxLCA2NSwgMTcsIDksIDI3LCAyNDIsIDI1MiwgMiwgNjYsIDY1LCAxNywgOSwgMjcsIDI0NCwgCi0gICAgMTUxLCAyLCAxNTEsIDY1LCAxNywgOSwgMjcsIDI0NCwgMTUxLCAyLCAxMjIsIDY1LCAxNywgOSwgMjcsIDI0NCwgMTUxLCAyLCAKLSAgICAyMzQsIDEzNiwgNjUsIDE3LCA5LCAyNywgMjQ0LCAxNTEsIDIsIDY2LCA2NSwgMTcsIDksIDI3LCAyMjQsIDg1LCAyLCAxMjIsIAotICAgIDY1LCAxNywgOSwgMjcsIDIyNCwgODUsIDIsIDY2LCA2NSwgMTcsIDksIDI3LCAyMzUsIDEsIDIsIDE1MSwgNjUsIDE3LCA5LCAKLSAgICAyNywgMjM1LCAxLCAyLCAxMjIsIDY1LCAxNywgOSwgMjcsIDIzNSwgMSwgMiwgMjM0LCAxMzYsIDY1LCAxNywgOSwgMjcsIAotICAgIDIzNSwgMSwgMiwgMjMzLCAxMDksIDY1LCAxNywgOSwgMjcsIDIzNSwgMSwgMiwgNjYsIDY1LCAxNywgOSwgMjcsIDIzMywgCi0gICAgMTA5LCAyLCAxNTEsIDY1LCAxNywgOSwgMjcsIDIzMywgMTA5LCAyLCAxMjIsIDY1LCAxNywgOSwgMjcsIDIzMywgMTA5LCAyLCAKLSAgICAyMzQsIDEzNiwgNjUsIDE3LCA5LCAyNywgMjMzLCAxMDksIDIsIDY2LCA2NSwgMTcsIDksIDI3LCAyMzMsIDEwOSwgMiwgCi0gICAgMjQxLCAyMjYsIDY1LCAxNywgOSwgMjcsIDY2LCAyLCAxNTEsIDY1LCAxNywgOSwgMjcsIDY2LCAyLCAxMjIsIDY1LCAxNywgCi0gICAgOSwgMjcsIDY2LCAyLCAyMzQsIDEzNiwgNjUsIDE3LCA5LCAyNywgNjYsIDIsIDY2LCA2NSwgMTcsIDksIDI3LCAyMjgsIDY4LCAKLSAgICAyLCAxNTEsIDY1LCAxNywgOSwgMjcsIDIyOCwgNjgsIDIsIDEyMiwgNjUsIDE3LCA5LCAyNywgMjI4LCA2OCwgMiwgMjM0LCAKLSAgICAxMzYsIDY1LCAxNywgOSwgMjcsIDIyOCwgNjgsIDIsIDY2LCA2NSwgMTcsIDksIDI3LCAyMjgsIDY4LCAyLCAyNDEsIDIyNiwgCi0gICAgNjUsIDE3LCA5LCAyNywgMjQxLCAyMjYsIDIsIDE1MSwgNjUsIDE3LCA5LCAyNywgMjQxLCAyMjYsIDIsIDY2LCA2NSwgMTcsIAotICAgIDksIDI3LCAyNDEsIDIyNiwgMiwgMjE4LCAyNCwgMTA5LCA2NSwgMTcsIDksIDI3LCA3NywgMiwgMTUxLCA2NSwgMTcsIDksIAotICAgIDI3LCA3NywgMiwgMTIyLCA2NSwgMTcsIDksIDI3LCA3NywgMiwgMjM0LCAxMzYsIDY1LCAxNywgOSwgMjcsIDc3LCAyLCA2NiwgCi0gICAgNjUsIDE3LCA5LCAyNywgNzcsIDIsIDI0MSwgMjI2LCA2NSwgMTcsIDksIDI3LCA3NywgMiwgMTgyLCA3MiwgMiwgNjYsIAotICAgIDE0NywgMTcsIDksIDI3LCA3NywgMiwgMTgyLCA3MiwgMiwgMjQxLCAyMjYsIDE0NywgMTcsIDksIDI3LCAyNTIsIDYzLCAyLCAKLSAgICA2NiwgMTQ3LCAxNywgOSwgMjcsIDI1MiwgNjMsIDIsIDI0MSwgMjI2LCAxNDcsIDE3LCA5LCAyNywgMjE3LCA5LCAyLCA2NiwgCi0gICAgMTQ3LCAxNywgOSwgMjcsIDIxNywgOSwgMiwgMjQxLCAyMjYsIDE0NywgMTcsIDksIDI3LCAyMTYsIDE5NCwgMiwgNjYsIAotICAgIDE0NywgMTcsIDksIDI3LCAyMTYsIDE5NCwgMiwgMjQxLCAyMjYsIDE0NywgMTcsIDksIDI3LCAyMjEsIDE2OSwgMiwgNjYsIAotICAgIDE0NywgMTcsIDksIDI3LCAyMjEsIDE2OSwgMiwgMjQxLCAyMjYsIDE0NywgMTcsIDksIDI3LCAyMjAsIDYyLCAyLCA2NiwgCi0gICAgMTQ3LCAxNywgOSwgMjcsIDIyMCwgNjIsIDIsIDI0MSwgMjI2LCAxNDcsIDE3LCA5LCAyNywgMjM1LCAxLCAyLCAyMzMsIAotICAgIDEwOSwgMTQ3LCAxNywgOSwgMjcsIDIzNSwgMSwgMiwgNjYsIDE0NywgMTcsIDksIDI3LCAyMzMsIDEwOSwgMiwgNjYsIDE0NywgCi0gICAgMTcsIDksIDI3LCAyMjgsIDY4LCAyLCA2NiwgMTQ3LCAxNywgOSwgMjcsIDIyOCwgNjgsIDIsIDI0MSwgMjI2LCAxNDcsIDE3LCAKLSAgICA5LCAyNywgNzcsIDIsIDY2LCAxNDcsIDE3LCA5LCAyNywgNzcsIDIsIDI0MSwgMjI2LCAxNDcsIDE3LCA5LCAyNywgMjIwLCAKLSAgICA5NiwgMiwgMjQ0LCAxNzQsIDE0NywgMTcsIDksIDI3LCAyMjAsIDk2LCAyLCAyNDgsIDE5MywgMTQ3LCAxNywgOSwgMjcsIAotICAgIDIyMCwgOTYsIDIsIDIzNCwgMjEyLCAxNDcsIDE3LCA5LCAyNywgMjE3LCA4MiwgMiwgMTA5LCAyMzEsIDE5OCwgNTMsIDE3LCAKLSAgICA5LCAyNywgMjE3LCA4MiwgMiwgNzcsIDUzLCAxNywgOSwgMjcsIDI1NCwgMjA2LCAyLCAxMDksIDIzMSwgMTk4LCA1MywgMTcsIAotICAgIDksIDI3LCAyNTQsIDIwNiwgMiwgNzcsIDUzLCAxNywgOSwgMjcsIDI0MiwgMjUyLCAyLCAxMDksIDIzMSwgMTk4LCA1MywgCi0gICAgMTcsIDksIDI3LCAyNDIsIDI1MiwgMiwgNzcsIDUzLCAxNywgOSwgMjcsIDIyMSwgMTY5LCAyLCAxMDksIDIzMSwgMTk4LCAKLSAgICA1MywgMTcsIDksIDI3LCAyMjEsIDE2OSwgMiwgNzcsIDUzLCAxNywgOSwgMjcsIDIyMCwgNjIsIDIsIDEwOSwgMjMxLCAxOTgsIAotICAgIDUzLCAxNywgOSwgMjcsIDIyMCwgNjIsIDIsIDc3LCA1MywgMTcsIDksIDI3LCAxMjIsIDIsIDEwOSwgMjMxLCAxOTgsIDUzLCAKLSAgICAxNywgOSwgMjcsIDEyMiwgMiwgNzcsIDUzLCAxNywgOSwgMjcsIDE1MSwgMiwgMTA5LCAyMzEsIDE5OCwgNTMsIDE3LCA5LCAKLSAgICAyNywgMTUxLCAyLCA3NywgNTMsIDE3LCA5LCAyNywgMjM0LCAxMzYsIDIsIDEwOSwgMjMxLCAxOTgsIDUzLCAxNywgOSwgMjcsIAotICAgIDIzNCwgMTM2LCAyLCA3NywgNTMsIDE3LCA5LCAyNywgMjIyLCAyOSwgMiwgMTA5LCAyMzEsIDE5OCwgNTMsIDE3LCA5LCAyNywgCi0gICAgMjIyLCAyOSwgMiwgNzcsIDUzLCAxNywgOSwgMjcsIDI0OCwgMjI1LCAyLCAxMDksIDIzMSwgMTk4LCA1MywgMTcsIDksIDI3LCAKLSAgICAyNDgsIDIyNSwgMiwgNzcsIDUzLCAxNywgOSwgMjcsIDIyMCwgNjIsIDIsIDE1MSwgNTMsIDE3LCA5LCAyNywgMjIwLCA2MiwgCi0gICAgMiwgMTIyLCA1MywgMTcsIDksIDI3LCAyMjAsIDYyLCAyLCAyMzQsIDEzNiwgNTMsIDE3LCA5LCAyNywgMjIwLCA2MiwgMiwgCi0gICAgNjYsIDUzLCAxNywgOSwgMjcsIDIyMCwgNjIsIDIsIDIyMywgOTksIDUzLCAxNywgOSwgMjcsIDIyMSwgMTY5LCAyLCAyMjMsIAotICAgIDk5LCA1MywgMTcsIDksIDI3LCAyMjIsIDI5LCAyLCAyMjMsIDk5LCA1MywgMTcsIDksIDI3LCAyNDgsIDIyNSwgMiwgMjIzLCAKLSAgICA5OSwgNTMsIDE3LCA5LCAyNywgMjE3LCA4MiwgMiwgMTA5LCAyMzEsIDE5OCwgNDAsIDE3LCA5LCAyNywgMjE3LCA4MiwgMiwgCi0gICAgNzcsIDQwLCAxNywgOSwgMjcsIDI1NCwgMjA2LCAyLCAxMDksIDIzMSwgMTk4LCA0MCwgMTcsIDksIDI3LCAyNTQsIDIwNiwgCi0gICAgMiwgNzcsIDQwLCAxNywgOSwgMjcsIDI0MiwgMjUyLCAyLCAxMDksIDIzMSwgMTk4LCA0MCwgMTcsIDksIDI3LCAyNDIsIAotICAgIDI1MiwgMiwgNzcsIDQwLCAxNywgOSwgMjcsIDIyMSwgMTY5LCAyLCAxMDksIDIzMSwgMTk4LCA0MCwgMTcsIDksIDI3LCAKLSAgICAyMjEsIDE2OSwgMiwgNzcsIDQwLCAxNywgOSwgMjcsIDIyMCwgNjIsIDIsIDEwOSwgMjMxLCAxOTgsIDQwLCAxNywgOSwgMjcsIAotICAgIDIyMCwgNjIsIDIsIDc3LCA0MCwgMTcsIDksIDI3LCAxMjIsIDIsIDEwOSwgMjMxLCAxOTgsIDQwLCAxNywgOSwgMjcsIDEyMiwgCi0gICAgMiwgNzcsIDQwLCAxNywgOSwgMjcsIDE1MSwgMiwgMTA5LCAyMzEsIDE5OCwgNDAsIDE3LCA5LCAyNywgMTUxLCAyLCA3NywgCi0gICAgNDAsIDE3LCA5LCAyNywgMjM0LCAxMzYsIDIsIDEwOSwgMjMxLCAxOTgsIDQwLCAxNywgOSwgMjcsIDIzNCwgMTM2LCAyLCAKLSAgICA3NywgNDAsIDE3LCA5LCAyNywgMjIyLCAyOSwgMiwgMTA5LCAyMzEsIDE5OCwgNDAsIDE3LCA5LCAyNywgMjIyLCAyOSwgMiwgCi0gICAgNzcsIDQwLCAxNywgOSwgMjcsIDI0OCwgMjI1LCAyLCAxMDksIDIzMSwgMTk4LCA0MCwgMTcsIDksIDI3LCAyNDgsIDIyNSwgCi0gICAgMiwgNzcsIDQwLCAxNywgOSwgMjcsIDIyMCwgNjIsIDIsIDE1MSwgNDAsIDE3LCA5LCAyNywgMjIwLCA2MiwgMiwgMTIyLCAKLSAgICA0MCwgMTcsIDksIDI3LCAyMjAsIDYyLCAyLCAyMzQsIDEzNiwgNDAsIDE3LCA5LCAyNywgMjIwLCA2MiwgMiwgNjYsIDQwLCAKLSAgICAxNywgOSwgMjcsIDIyMCwgNjIsIDIsIDIyMywgOTksIDQwLCAxNywgOSwgMjcsIDIyMSwgMTY5LCAyLCAyMjMsIDk5LCA0MCwgCi0gICAgMTcsIDksIDI3LCAyMjIsIDI5LCAyLCAyMjMsIDk5LCA0MCwgMTcsIDksIDI3LCAyNDgsIDIyNSwgMiwgMjIzLCA5OSwgNDAsIAotICAgIDE3LCA5LCAyNywgMjIwLCA2MiwgMiwgMTUxLCA2NSwgMTcsIDksIDI3LCAyMjAsIDYyLCAyLCAxMjIsIDY1LCAxNywgOSwgCi0gICAgMjcsIDIyMCwgNjIsIDIsIDIzNCwgMTM2LCA2NSwgMTcsIDksIDI3LCAyMjAsIDYyLCAyLCA2NiwgNjUsIDE3LCA5LCAyNywgCi0gICAgMjIxLCAxNjksIDIsIDI0MSwgMjI2LCA2NSwgMTcsIDksIDI3LCAyMjAsIDYyLCAyLCAyNDEsIDIyNiwgNjUsIDE3LCA5LCAKLSAgICAyNywgMjE3LCA4MiwgMiwgNjYsIDY1LCAxNywgOSwgMjcsIDIyMSwgMTY5LCAyLCAxNTEsIDE0NywgMTcsIDksIDI3LCAyMjEsIAotICAgIDE2OSwgMiwgMTIyLCAxNDcsIDE3LCA5LCAyNywgMjIxLCAxNjksIDIsIDIzNCwgMTM2LCAxNDcsIDE3LCA5LCAyNywgMjIwLCAKLSAgICA2MiwgMiwgMTUxLCAxNDcsIDE3LCA5LCAyNywgMjIwLCA2MiwgMiwgMTIyLCAxNDcsIDE3LCA5LCAyNywgMjIwLCA2MiwgMiwgCi0gICAgMjM0LCAxMzYsIDE0NywgMTcsIDksIDI3LCAyMTcsIDgyLCAyLCA2NiwgMTQ3LCAxNywgOSwgMjcsIDIxMCwgMTEyLCAyLCAKLSAgICA2NiwgMTQ3LCAxNywgOSwgMjcsIDEwOSwgMiwgMjQ0LCAxNzIsIDQwLCAxNywgOSwgMjcsIDEwOSwgMiwgMjQ0LCAxNzIsIAotICAgIDUzLCAxNywgMjI2LCAxNTAsIDQzLCAyMjYsIDcsIDIyNiwgMTUwLCA0NCwgMjI2LCA3LCA5LCAyNywgMjE3LCA5LCAyLCAKLSAgICAxNTEsIDIsIDY2LCA2NSwgMTcsIDksIDI3LCAyMTcsIDksIDIsIDEyMiwgMiwgMTUxLCA0MCwgMTcsIDksIDI3LCAyMTcsIDksIAotICAgIDIsIDEyMiwgMiwgMTUxLCA2NSwgMTcsIDksIDI3LCAyMTcsIDksIDIsIDEyMiwgMiwgNjYsIDY1LCAxNywgOSwgMjcsIDIxNywgCi0gICAgOSwgMiwgMjM0LCAxMzYsIDIsIDY2LCA2NSwgMTcsIDksIDI3LCAyMTcsIDksIDIsIDY2LCAyLCAxNTEsIDY1LCAxNywgOSwgCi0gICAgMjcsIDIxNywgOSwgMiwgNjYsIDIsIDEyMiwgNjUsIDE3LCA5LCAyNywgMjE3LCA5LCAyLCA2NiwgMiwgMjM0LCAxMzYsIDY1LCAKLSAgICAxNywgOSwgMjcsIDE1MSwgMiwgNjYsIDIsIDEyMiwgNDAsIDE3LCA5LCAyNywgMTUxLCAyLCA2NiwgMiwgMTIyLCA2NSwgMTcsIAotICAgIDksIDI3LCAxMjIsIDIsIDY2LCAyLCA3NywgNDAsIDE3LCA5LCAyNywgMTIyLCAyLCA2NiwgMiwgMTA5LCAyMzEsIDE5OCwgCi0gICAgNDAsIDE3LCA5LCAyNywgMjIxLCAxNjksIDIsIDEyMiwgMiwgMTUxLCA2NSwgMTcsIDksIDI3LCAyMjEsIDE2OSwgMiwgMTUxLCAKLSAgICAyLCAxMjIsIDY1LCAxNywgOSwgMjcsIDIyMSwgMTY5LCAyLCAxNTEsIDIsIDEwOSwgMjMxLCAxOTgsIDQwLCAxNywgOSwgMjcsIAotICAgIDIyMSwgMTY5LCAyLCA2NiwgMiwgMTIyLCA0MCwgMTcsIDksIDI3LCAyMjEsIDE2OSwgMiwgNjYsIDIsIDEyMiwgNjUsIDE3LCAKLSAgICA5LCAyNywgMjIxLCAxNjksIDIsIDY2LCAyLCAxNTEsIDY1LCAxNywgOSwgMjcsIDIyMSwgMTY5LCAyLCA2NiwgMiwgNjYsIAotICAgIDQwLCAxNywgOSwgMjcsIDIyMSwgMTY5LCAyLCA2NiwgMiwgNjYsIDY1LCAxNywgOSwgMjcsIDIyMiwgMjksIDIsIDEyMiwgMiwgCi0gICAgMTIyLCA0MCwgMTcsIDksIDI3LCAyMjIsIDI5LCAyLCAxMjIsIDIsIDEyMiwgNjUsIDE3LCA5LCAyNywgMjIyLCAyOSwgMiwgCi0gICAgNjYsIDIsIDY2LCA0MCwgMTcsIDksIDI3LCAyMjAsIDYyLCAyLCAxMjIsIDIsIDY2LCA0MCwgMTcsIDksIDI3LCAyMjAsIDYyLCAKLSAgICAyLCAxMjIsIDIsIDY2LCA2NSwgMTcsIDksIDI3LCAyMjAsIDYyLCAyLCAxNTEsIDIsIDc3LCA0MCwgMTcsIDksIDI3LCAyMjAsIAotICAgIDYyLCAyLCA2NiwgMiwgMjM0LCAxMzYsIDQwLCAxNywgOSwgMjcsIDIyMCwgNjIsIDIsIDY2LCAyLCAyMzQsIDEzNiwgNjUsIAotICAgIDE3LCA5LCAyNywgMjIwLCA2MiwgMiwgNjYsIDIsIDY2LCA0MCwgMTcsIDksIDI3LCAyMjAsIDYyLCAyLCA2NiwgMiwgNjYsIAotICAgIDY1LCAxNywgOSwgMjcsIDI0OCwgMjI1LCAyLCAxMjIsIDIsIDEwOSwgMjMxLCAxOTgsIDQwLCAxNywgOSwgMjcsIDI0OCwgCi0gICAgMjI1LCAyLCAyMzQsIDEzNiwgMiwgNjYsIDQwLCAxNywgOSwgMjcsIDI0OCwgMjI1LCAyLCAyMzQsIDEzNiwgMiwgNjYsIDY1LCAKLSAgICAxNywgOSwgMjcsIDIxNywgODIsIDIsIDY2LCAyLCAxMjIsIDQwLCAxNywgOSwgMjcsIDIxNywgODIsIDIsIDY2LCAyLCAxMjIsIAotICAgIDY1LCAxNywgOSwgMjcsIDIxNywgODIsIDIsIDY2LCAyLCA2NiwgNjUsIDE3LCA5LCAyNywgMjE3LCA4MiwgMiwgNjYsIDIsIAotICAgIDc3LCA0MCwgMTcsIDksIDI3LCAyNTQsIDIwNiwgMiwgMTUxLCAyLCA2NiwgNDAsIDE3LCA5LCAyNywgMjU0LCAyMDYsIDIsIAotICAgIDY2LCAyLCA2NiwgNDAsIDE3LCA5LCAyNywgMjU0LCAyMDYsIDIsIDY2LCAyLCA2NiwgNjUsIDE3LCA5LCAyNywgMjU0LCAKLSAgICAyMDYsIDIsIDY2LCAyLCAxMDksIDIzMSwgMTk4LCA0MCwgMTcsIDksIDI3LCAyNDIsIDI1MiwgMiwgNjYsIDIsIDY2LCA0MCwgCi0gICAgMTcsIDksIDI3LCAyNDIsIDI1MiwgMiwgNjYsIDIsIDc3LCA0MCwgMTcsIDksIDI3LCAyNDIsIDI1MiwgMiwgNjYsIDIsIAotICAgIDEwOSwgMjMxLCAxOTgsIDQwLCAxNywgOSwgMjcsIDI0NCwgMTUxLCAyLCAyMzQsIDEzNiwgMiwgNjYsIDQwLCAxNywgOSwgCi0gICAgMjcsIDI0NCwgMTUxLCAyLCAyMzQsIDEzNiwgMiwgNjYsIDY1LCAxNywgOSwgMjcsIDIyNCwgODUsIDIsIDY2LCAyLCAxMjIsIAotICAgIDQwLCAxNywgOSwgMjcsIDIyNCwgODUsIDIsIDY2LCAyLCA2NiwgNDAsIDE3LCA5LCAyNywgMjMzLCAxMDksIDIsIDEyMiwgMiwgCi0gICAgNjYsIDQwLCAxNywgOSwgMjcsIDIzMywgMTA5LCAyLCAxMjIsIDIsIDc3LCA0MCwgMTcsIDksIDI3LCAyMzMsIDEwOSwgMiwgCi0gICAgMTIyLCAyLCAxMDksIDIzMSwgMTk4LCA0MCwgMTcsIDksIDI3LCAyMzMsIDEwOSwgMiwgMTUxLCAyLCAxNTEsIDY1LCAxNywgCi0gICAgOSwgMjcsIDIzMywgMTA5LCAyLCAxNTEsIDIsIDE1MSwgNDAsIDE3LCA5LCAyNywgMjMzLCAxMDksIDIsIDIzNCwgMTM2LCAyLCAKLSAgICA2NiwgNDAsIDE3LCA5LCAyNywgMjMzLCAxMDksIDIsIDIzNCwgMTM2LCAyLCA2NiwgNjUsIDE3LCA5LCAyNywgMjMzLCAxMDksIAotICAgIDIsIDY2LCAyLCAxMjIsIDQwLCAxNywgOSwgMjcsIDIzMywgMTA5LCAyLCA2NiwgMiwgMTIyLCA2NSwgMTcsIDksIDI3LCA2NiwgCi0gICAgMiwgMTIyLCAyLCAxNTEsIDY1LCAxNywgOSwgMjcsIDY2LCAyLCAxMjIsIDIsIDY2LCA2NSwgMTcsIDksIDI3LCA2NiwgMiwgCi0gICAgMTIyLCAyLCA3NywgNDAsIDE3LCA5LCAyNywgNjYsIDIsIDE1MSwgMiwgMTIyLCA2NSwgMTcsIDksIDI3LCA2NiwgMiwgMTUxLCAKLSAgICAyLCA2NiwgNjUsIDE3LCA5LCAyNywgNjYsIDIsIDIzNCwgMTM2LCAyLCAxNTEsIDY1LCAxNywgOSwgMjcsIDY2LCAyLCAyMzQsIAotICAgIDEzNiwgMiwgNjYsIDY1LCAxNywgOSwgMjcsIDY2LCAyLCAxNTEsIDIsIDIzNCwgMTM2LCA2NSwgMTcsIDksIDI3LCAyNDEsIAotICAgIDIyNiwgMiwgNjYsIDIsIDE1MSwgNjUsIDE3LCA5LCAyNywgMjQxLCAyMjYsIDIsIDY2LCAyLCA2NiwgNjUsIDE3LCA5LCAyNywgCi0gICAgMjI4LCA2OCwgMiwgMTIyLCAyLCA2NiwgNjUsIDE3LCA5LCAyNywgMjI4LCA2OCwgMiwgMTIyLCAyLCAxMDksIDIzMSwgMTk4LCAKLSAgICA0MCwgMTcsIDksIDI3LCAyMjgsIDY4LCAyLCAxNTEsIDIsIDY2LCA0MCwgMTcsIDksIDI3LCAyMjgsIDY4LCAyLCAxNTEsIDIsIAotICAgIDY2LCA2NSwgMTcsIDksIDI3LCAyMjgsIDY4LCAyLCAxNTEsIDIsIDEwOSwgMjMxLCAxOTgsIDQwLCAxNywgOSwgMjcsIDIyOCwgCi0gICAgNjgsIDIsIDY2LCAyLCA3NywgNDAsIDE3LCA5LCAyNywgMjI4LCA2OCwgMiwgNjYsIDIsIDEwOSwgMjMxLCAxOTgsIDQwLCAKLSAgICAxNywgOSwgMjcsIDc3LCAyLCA2NiwgMiwgNjYsIDQwLCAxNywgOSwgMjcsIDc3LCAyLCA2NiwgMiwgNjYsIDY1LCAxNywgOSwgCi0gICAgMjcsIDI1MiwgNjMsIDIsIDIzNCwgMTM2LCAyLCA3NywgNDAsIDE3LCA5LCAyNywgMjE3LCA5LCAyLCAxNTEsIDIsIDc3LCAKLSAgICA0MCwgMTcsIDksIDI3LCAyMTcsIDksIDIsIDE1MSwgMiwgMTA5LCAyMzEsIDE5OCwgNDAsIDE3LCA5LCAyNywgMjE3LCA5LCAKLSAgICAyLCAyMzQsIDEzNiwgMiwgNzcsIDQwLCAxNywgOSwgMjcsIDIxNywgOSwgMiwgMjM0LCAxMzYsIDIsIDEwOSwgMjMxLCAxOTgsIAotICAgIDQwLCAxNywgOSwgMjcsIDIxNywgOSwgMiwgNjYsIDIsIDc3LCA0MCwgMTcsIDksIDI3LCAyMTcsIDksIDIsIDY2LCAyLCAKLSAgICAxMDksIDIzMSwgMTk4LCA0MCwgMTcsIDksIDI3LCAxNTEsIDIsIDY2LCAyLCA3NywgNDAsIDE3LCA5LCAyNywgMTUxLCAyLCAKLSAgICAxMjIsIDIsIDEwOSwgMjMxLCAxOTgsIDQwLCAxNywgOSwgMjcsIDE1MSwgMiwgNjYsIDIsIDEwOSwgMjMxLCAxOTgsIDQwLCAKLSAgICAxNywgOSwgMjcsIDIyMSwgMTY5LCAyLCAyMzQsIDEzNiwgMiwgMTA5LCAyMzEsIDE5OCwgNDAsIDE3LCA5LCAyNywgMjIyLCAKLSAgICAyOSwgMiwgMTIyLCAyLCA3NywgNDAsIDE3LCA5LCAyNywgMjIwLCA2MiwgMiwgMTIyLCAyLCA3NywgNDAsIDE3LCA5LCAyNywgCi0gICAgMjQ4LCAyMjUsIDIsIDEyMiwgMiwgNzcsIDQwLCAxNywgOSwgMjcsIDIzMywgMTA5LCAyLCAxNTEsIDIsIDc3LCA0MCwgMTcsIAotICAgIDksIDI3LCAyMzMsIDEwOSwgMiwgNjYsIDIsIDc3LCA0MCwgMTcsIDksIDI3LCA3NywgMiwgMTIyLCAyLCA3NywgNDAsIDE3LCAKLSAgICA5LCAyNywgNzcsIDIsIDE1MSwgMiwgNzcsIDQwLCAxNywgOSwgMjcsIDc3LCAyLCA2NiwgMiwgNzcsIDQwLCAxNywgOSwgMjcsIAotICAgIDY2LCAyLCA2NiwgMiwgNzcsIDQwLCAxNywgOSwgMjcsIDIyNCwgODUsIDIsIDY2LCAyLCA3NywgNDAsIDE3LCA5LCAyNywgCi0gICAgMjI4LCA2OCwgMiwgMTIyLCAyLCA3NywgNDAsIDE3LCA5LCAyNywgMjI0LCA4NSwgMiwgNjYsIDIsIDEyMiwgNjUsIDE3LCA5LCAKLSAgICAyNywgMjMzLCAxMDksIDIsIDEyMiwgMiwgNjYsIDY1LCAxNywgOSwgMjcsIDI1NCwgMjA2LCAyLCA2NiwgMiwgNzcsIDQwLCAKLSAgICAxNywgOSwgMjcsIDIzNSwgMSwgMiwgNjYsIDIsIDc3LCA0MCwgMTcsIDksIDI3LCAyMjgsIDY4LCAyLCAxNTEsIDIsIDEyMiwgCi0gICAgNjUsIDE3LCA5LCAyNywgNjYsIDIsIDIzNCwgMTM2LCAyLCA3NywgNDAsIDE3LCA5LCAyNywgMjMzLCAxMDksIDIsIDE1MSwgCi0gICAgMiwgNjYsIDY1LCAxNywgOSwgMjcsIDIzNSwgMSwgMiwgNjYsIDIsIDY2LCA0MCwgMTcsIDksIDI3LCAyMzMsIDEwOSwgMiwgCi0gICAgMTUxLCAyLCA2NiwgNDAsIDE3LCA5LCAyNywgMjI4LCA2OCwgMiwgMTUxLCAyLCAxMjIsIDQwLCAxNywgOSwgMjcsIDE1MSwgCi0gICAgMiwgMTIyLCAyLCA3NywgNDAsIDE3LCA5LCAyNywgMTIyLCAyLCAxNTEsIDIsIDc3LCA0MCwgMTcsIDksIDI3LCA2NiwgMiwgCi0gICAgMTUxLCAyLCA3NywgNDAsIDE3LCA5LCAyNywgMjQ0LCAxNTEsIDIsIDY2LCAyLCA3NywgNDAsIDE3LCA5LCAyNywgMjUyLCAKLSAgICA2MywgMiwgMTIyLCAyLCA3NywgNDAsIDE3LCA5LCAyNywgMjM1LCAxLCAyLCA2NiwgMiwgNjYsIDY1LCAxNywgOSwgMjcsIAotICAgIDI1NCwgMjA2LCAyLCAxNTEsIDIsIDY2LCA2NSwgMTcsIDksIDI3LCAyMjIsIDI5LCAyLCA2NiwgMiwgNjYsIDY1LCAxNywgOSwgCi0gICAgMjcsIDIyMSwgMTY5LCAyLCAyMzQsIDEzNiwgMiwgNzcsIDQwLCAxNywgOSwgMjcsIDIyOCwgNjgsIDIsIDE1MSwgMiwgNzcsIAotICAgIDQwLCAxNywgOSwgMjcsIDIyMiwgNiwgMjE0LCAxMjgsIDI1MywgMjQ2LCAyMzQsIDEwLCAyMTgsIDEzMiwgNSwgNTMsIDE3LCAKLSAgICA5LCAyNywgMjI0LCA4MSwgMjE0LCAxMjgsIDI1MywgMjQ2LCAyMzQsIDEwLCAyMTgsIDEzMiwgNSwgNTMsIDE3LCA5LCAyNywgCi0gICAgMjU0LCAxNjIsIDUzLCAxNywgOSwgMjcsIDI1NCwgMTkyLCA1MywgMTcsIDksIDI3LCAyMzAsIDE1OCwgNTMsIDE3LCA5LCAKLSAgICAyNywgMjIyLCA3LCA1MywgMTcsIDksIDI3LCAyMjMsIDE0NiwgNTMsIDE3LCA5LCAyNywgMjU0LCAxODEsIDUzLCAxNywgOSwgCi0gICAgMjcsIDIxMiwgNDksIDUzLCAxNywgOSwgMjcsIDIyMiwgNiwgNTMsIDE3LCA5LCAyNywgMjIyLCA1LCAyNTQsIDE4MSwgMjEyLCAKLSAgICA0OCwgOSwgMjcsIDIzNSwgMTQwLCAyMjMsIDM3LCA1MCwgOSwgMjcsIDI1MSwgMjM4LCAyNTQsIDQ3LCAyNTQsIDQ4LCA0NSwgCi0gICAgMjIxLCAxNTgsIDQ1LCAyMjEsIDQ3LCA0NSwgMjIwLCAyMzUsIDQ1LCAyMjAsIDIyNCwgNDUsIDIyMCwgMjEzLCA0NSwgMjIwLCAKLSAgICAyMDIsIDQ1LCAyMjAsIDE5MSwgNDUsIDIyMCwgMTgwLCA0NSwgMjIwLCAxNjksIDQ1LCAyMjEsIDE1NywgNDUsIDIyMSwgCi0gICAgMTQ2LCA0NSwgMjIxLCAxMzUsIDQ1LCAyMjEsIDEyNCwgNDUsIDIyMSwgMTEzLCA0NSwgMjIxLCAxMDIsIDQ1LCAyMjEsIDkxLCAKLSAgICAyMjQsIDE5NywgMjQ0LCAyOCwgMzEsIDY3LCAyNDksIDIyNywgMjI0LCAxOTcsIDI0NCwgMjgsIDMxLCA2NywgMTEwLCAyNDksIAotICAgIDIyNywgMjI0LCAxOTcsIDI0NCwgMjgsIDMxLCA2NywgMTEwLCAyNDMsIDIzNiwgMjE4LCAxMzEsIDIyNCwgMTk3LCAyNDQsIAotICAgIDI4LCAzMSwgNjcsIDI0OSwgMjM0LCAyMjQsIDE5NywgMjQ0LCAyOCwgMzEsIDY3LCAyMjAsIDE1MiwgMjI0LCAxOTcsIDI0NCwgCi0gICAgMjgsIDMxLCA2NywgMjQ1LCAzOSwgNzksIDIyNCwgMTk3LCAyNDQsIDI4LCAzMSwgNjcsIDIyNCwgMTYsIDc5LCAyMjQsIAotICAgIDE5NywgMjQ0LCAyOCwgMzEsIDY3LCA0MywgNzEsIDIzMywgMjYsIDEyNywgMjI0LCAxOTcsIDI0NCwgMjgsIDMxLCA2NywgCi0gICAgNDQsIDcxLCAyMzMsIDI2LCAyNTEsIDE2NCwgMjI0LCAxOTcsIDI0NCwgMjgsIDMxLCA2NywgMjAzLCAyNDUsIDE3MSwgMzgsIAotICAgIDI3LCA0MywgMjQyLCAzNCwgMzgsIDI3LCA0NCwgMjQyLCAzNCwgMzgsIDUyLCAyMTYsIDkwLCA0MywgMjQyLCAzNCwgMzgsIAotICAgIDUyLCAyMTYsIDkwLCA0NCwgMjQyLCAzNCwgMzgsIDIzMSwgMjM4LCA0MywgMjQyLCAzNCwgMzgsIDIzMSwgMjM4LCA0NCwgCi0gICAgMjQyLCAzNCwgMzgsIDI0OSwgMjA1LCAyMzEsIDIzNywgMjI0LCAxOTcsIDI0NCwgMjgsIDMxLCA2NywgMTEzLCA1OSwgMjMzLCAKLSAgICA2MiwgMjI0LCAxOTcsIDI0NCwgMjgsIDMxLCA2NywgMjQ1LCAxNjgsIDI0OCwgMTY0LCAyMjQsIDE5NywgMjQ0LCAyOCwgMzEsIAotICAgIDY3LCAyNDUsIDE1OSwgMjQ4LCAxNjQsIDIyNCwgMTk3LCAyNDQsIDI4LCAzMSwgNjcsIDEyMSwgMjMyLCAyMTksIDIyNCwgCi0gICAgMTk3LCAyNDQsIDI4LCAzMSwgNjcsIDIxMiwgMzIsIDEyMSwgMjMyLCAyMTksIDIyNCwgMTk3LCAyNDQsIDI4LCAzMSwgNjcsIAotICAgIDQzLCAyMjYsIDcsIDIyNCwgMTk3LCAyNDQsIDI4LCAzMSwgNjcsIDQ0LCAyMjYsIDcsIDIyNCwgMTk3LCAyNDQsIDI4LCAzMSwgCi0gICAgNjcsIDQzLCAyNDksIDEwNywgMTI3LCAyMjQsIDE5NywgMjQ0LCAyOCwgMzEsIDY3LCA0NCwgMjQ5LCAxMDcsIDEyNywgMjI0LCAKLSAgICAxOTcsIDI0NCwgMjgsIDMxLCA2NywgNDMsIDIxNiwgNywgMjIwLCA1NSwgMTI3LCAyMjQsIDE5NywgMjQ0LCAyOCwgMzEsIAotICAgIDY3LCA0NCwgMjE2LCA3LCAyMjAsIDU1LCAxMjcsIDIyNCwgMTk3LCAyNDQsIDI4LCAzMSwgNjcsIDQzLCA4NSwgMjMzLCAyNiwgCi0gICAgMTI3LCAyMjQsIDE5NywgMjQ0LCAyOCwgMzEsIDY3LCA0NCwgODUsIDIzMywgMjYsIDEyNywgMjI0LCAxOTcsIDI0NCwgMjgsIAotICAgIDMxLCA2NywgNDMsIDUyLCAyNTQsIDExOCwgMTI3LCAyMjQsIDE5NywgMjQ0LCAyOCwgMzEsIDY3LCA0NCwgNTIsIDI1NCwgCi0gICAgMTE4LCAxMjcsIDIyNCwgMTk3LCAyNDQsIDI4LCAzMSwgNjcsIDQzLCAyNTQsIDExOCwgMTI3LCAyMjQsIDE5NywgMjQ0LCAKLSAgICAyOCwgMzEsIDY3LCA0NCwgMjU0LCAxMTgsIDEyNywgMjI0LCAxOTcsIDI0NCwgMjgsIDMxLCA2NywgNDMsIDI0OSwgMTY5LCAKLSAgICAxMjcsIDIyNCwgMTk3LCAyNDQsIDI4LCAzMSwgNjcsIDQ0LCAyNDksIDE2OSwgMTI3LCAyMjQsIDE5NywgMjQ0LCAyOCwgMzEsIAotICAgIDY3LCA0MywgNzEsIDI0OSwgMTY5LCAxMjcsIDIyNCwgMTk3LCAyNDQsIDI4LCAzMSwgNjcsIDQ0LCA3MSwgMjQ5LCAxNjksIAotICAgIDEyNywgMjIwLCAxMzMsIDI0NywgMTI4LCA3MSwgMjIwLCAxMzMsIDI0NywgMTI4LCAyMjQsIDE5NywgMjQ0LCAyOCwgMzEsIAotICAgIDY3LCA0MywgNDIsIDEyNywgMjI0LCAxOTcsIDI0NCwgMjgsIDMxLCA2NywgNDQsIDQyLCAxMjcsIDI0OCwgMTYzLCAyMjYsIAotICAgIDEyMywgMjUwLCAxODAsIDIyNiwgMTIzLCAyMTIsIDMyLCAyMjYsIDEyMywgNTIsIDIxMiwgMzIsIDIyNiwgMTIzLCAyNDgsIAotICAgIDE2MywgMTIxLCAyMzIsIDIxOSwgMjUwLCAxODAsIDEyMSwgMjMyLCAyMTksIDIxMiwgMzIsIDEyMSwgMjMyLCAyMTksIDQsIAotICAgIDI0OSwgMjI3LCA0LCAxMTAsIDI0OSwgMjI3LCA0LCAyNDMsIDIzNiwgMjE4LCAxMzEsIDQsIDIyMCwgMTUyLCA0LCAyNDksIAotICAgIDIzNCwgNCwgMjI0LCAxNiwgNzksIDQsIDI0NSwgMzksIDc5LCA0LCAyNDUsIDE2OCwgMjQ4LCAxNjQsIDQsIDQzLCAyMjYsIAotICAgIDcsIDQsIDQ0LCAyMjYsIDcsIDQsIDQzLCAyNDksIDEwNywgMTI3LCA0LCA0NCwgMjQ5LCAxMDcsIDEyNywgNCwgNDMsIDIxNiwgCi0gICAgNywgMjIwLCA1NSwgMTI3LCA0LCA0NCwgMjE2LCA3LCAyMjAsIDU1LCAxMjcsIDQsIDU0LCA1MCwgNCwgMjU0LCAxMzQsIDQsIAotICAgIDI1MywgMjI0LCA0LCA5NiwgNTAsIDQsIDI0MCwgMTc0LCA0LCAyMzMsIDIxLCA1MCwgNCwgMjQyLCAxMzcsIDUwLCA0LCAKLSAgICAyNDUsIDEwNiwgNTAsIDQsIDIyMywgNTMsIDIxOSwgNDgsIDQsIDI0NywgMTQwLCA1MCwgNCwgMjI1LCAxODUsIDUwLCA0LCAKLSAgICAyNDksIDIyNSwgMjUzLCAyMTQsIDksIDI0NCwgMTcyLCA1MywgMTcsIDksIDIxNywgNDUsIDIsIDI0NCwgMTcyLCA0OCwgOSwgCi0gICAgMjQ4LCAxOTEsIDUzLCAxNywgOSwgMjE3LCA3OSwgMjQ0LCA5LCA5LCAyMzQsIDIxMCwgNTMsIDE3LCA5LCAyNDQsIDE3NCwgCi0gICAgNTMsIDE3LCA5LCAyNDQsIDE3NCwgMTQ3LCAxNywgOSwgMjQ4LCAxOTMsIDUzLCAxNywgOSwgMjQ4LCAxOTMsIDE0NywgMTcsIAotICAgIDksIDIzNCwgMjEyLCA1MywgMTcsIDksIDIzNCwgMjEyLCAxNDcsIDE3LCA5LCAyMjAsIDk2LCA1MywgMTcsIDksIDIyMCwgCi0gICAgOTYsIDE0NywgMTcsIDksIDIxOCwgNDcsIDUzLCAxNywgOSwgMjE4LCA0NywgMTQ3LCAxNywgOSwgMSwgMTgyLCA1MywgMTcsIAotICAgIDksIDEsIDEwOSwgMiwgMjMxLCAyMzMsIDcyLCA1MywgMTcsIDksIDEsIDEwOSwgMiwgMjMxLCAyMzMsIDcyLCA0MCwgMTcsIAotICAgIDksIDEsIDEwOSwgMiwgMTgyLCA3MiwgNTMsIDE3LCA5LCAxLCAxMDksIDIsIDE4MiwgNzIsIDQwLCAxNywgOSwgMSwgMjEyLCAKLSAgICAzMSwgMiwgMTgyLCA3MiwgNTMsIDE3LCA5LCAxLCAyMTIsIDMxLCAyLCAxODIsIDcyLCA0MCwgMTcsIDksIDEsIDEwOSwgMiwgCi0gICAgMTgyLCAyNTIsIDUxLCA1MywgMTcsIDksIDEsIDEwOSwgMiwgMTgyLCAyNTIsIDUxLCA0MCwgMTcsIDksIDEsIDc3LCAyLCAKLSAgICAxODIsIDcyLCA1MywgMTcsIDksIDEsIDc3LCAyLCAxODIsIDcyLCA0MCwgMTcsIDksIDEsIDc3LCAyLCAxODIsIDcyLCA2NSwgCi0gICAgMTcsIDksIDEsIDc3LCAyLCAxODIsIDcyLCAxNDcsIDE3LCA5LCAxLCAxMDksIDUzLCAxNywgOSwgMSwgMTA5LCA0MCwgMTcsIAotICAgIDksIDEsIDI1MiwgNjMsIDUzLCAxNywgOSwgMSwgMjUyLCA2MywgNDAsIDE3LCA5LCAxLCAyNTIsIDYzLCA2NSwgMTcsIDksIAotICAgIDEsIDI1MiwgNjMsIDE0NywgMTcsIDksIDEsIDIxNywgOSwgMjMxLCAxNzAsIDUzLCAxNywgOSwgMSwgMjE3LCA5LCAyMzEsIAotICAgIDE3MCwgNDAsIDE3LCA5LCAxLCAyMTcsIDksIDUzLCAxNywgOSwgMSwgMjE3LCA5LCA0MCwgMTcsIDksIDEsIDIxNywgOSwgCi0gICAgNjUsIDE3LCA5LCAxLCAyMTcsIDksIDE0NywgMTcsIDksIDEsIDIxNiwgMTk0LCA1MywgMTcsIDksIDEsIDIxNiwgMTk0LCAKLSAgICA0MCwgMTcsIDksIDEsIDIxNiwgMTk0LCA2NSwgMTcsIDksIDEsIDIxNiwgMTk0LCAxNDcsIDE3LCA5LCAxLCAxNTEsIDUzLCAKLSAgICAxNywgOSwgMSwgMTUxLCA0MCwgMTcsIDksIDEsIDE1MSwgNjUsIDE3LCA5LCAxLCAxNTEsIDE0NywgMTcsIDksIDEsIDEyMiwgCi0gICAgNTMsIDE3LCA5LCAxLCAxMjIsIDQwLCAxNywgOSwgMSwgMTIyLCA2NSwgMTcsIDksIDEsIDEyMiwgMTQ3LCAxNywgOSwgMSwgCi0gICAgMjM0LCAxMzYsIDUzLCAxNywgOSwgMSwgMjM0LCAxMzYsIDQwLCAxNywgOSwgMSwgMjM0LCAxMzYsIDY1LCAxNywgOSwgMSwgCi0gICAgMjM0LCAxMzYsIDE0NywgMTcsIDksIDEsIDI0OCwgMjA0LCA1MywgMTcsIDksIDEsIDI0OCwgMjA0LCA0MCwgMTcsIDksIDEsIAotICAgIDIxNiwgMjA0LCA1MywgMTcsIDksIDEsIDIxNiwgMjA0LCA0MCwgMTcsIDksIDEsIDIyMywgOTksIDUzLCAxNywgOSwgMSwgCi0gICAgMjIzLCA5OSwgNDAsIDE3LCA5LCAxLCAyMTAsIDEwOSwgNTMsIDE3LCA5LCAxLCAyMTAsIDEwOSwgNDAsIDE3LCA5LCAxLCAKLSAgICAyMjEsIDE2OSwgNTMsIDE3LCA5LCAxLCAyMjEsIDE2OSwgNDAsIDE3LCA5LCAxLCAyMjEsIDE2OSwgNjUsIDE3LCA5LCAxLCAKLSAgICAyMjEsIDE2OSwgMTQ3LCAxNywgOSwgMSwgMjIwLCA2MiwgNTMsIDE3LCA5LCAxLCAyMjAsIDYyLCA0MCwgMTcsIDksIDEsIAotICAgIDIyMCwgNjIsIDY1LCAxNywgOSwgMSwgMjIwLCA2MiwgMTQ3LCAxNywgOSwgMSwgMjIyLCAyOSwgNTMsIDE3LCA5LCAxLCAKLSAgICAyMjIsIDI5LCA0MCwgMTcsIDksIDEsIDIyMiwgMjksIDY1LCAxNywgOSwgMSwgMjIyLCAyOSwgMTQ3LCAxNywgOSwgMSwgCi0gICAgMjQ4LCAyMjUsIDUzLCAxNywgOSwgMSwgMjQ4LCAyMjUsIDQwLCAxNywgOSwgMSwgMjQ4LCAyMjUsIDY1LCAxNywgOSwgMSwgCi0gICAgMjQ4LCAyMjUsIDE0NywgMTcsIDksIDEsIDIxNywgODIsIDUzLCAxNywgOSwgMSwgMjE3LCA4MiwgNDAsIDE3LCA5LCAxLCAKLSAgICAyMTcsIDgyLCA2NSwgMTcsIDksIDEsIDIxNywgODIsIDE0NywgMTcsIDksIDEsIDIxMCwgMTEyLCA1MywgMTcsIDksIDEsIAotICAgIDIxMCwgMTEyLCA0MCwgMTcsIDksIDEsIDIxMCwgMTEyLCA2NSwgMTcsIDksIDEsIDIxMCwgMTEyLCAxNDcsIDE3LCA5LCAxLCAKLSAgICAyNTQsIDIwNiwgNTMsIDE3LCA5LCAxLCAyNTQsIDIwNiwgNDAsIDE3LCA5LCAxLCAyNTQsIDIwNiwgNjUsIDE3LCA5LCAxLCAKLSAgICAyNTQsIDIwNiwgMTQ3LCAxNywgOSwgMSwgMjQyLCAyNTIsIDUzLCAxNywgOSwgMSwgMjQyLCAyNTIsIDQwLCAxNywgOSwgMSwgCi0gICAgMjQyLCAyNTIsIDY1LCAxNywgOSwgMSwgMjQyLCAyNTIsIDE0NywgMTcsIDksIDEsIDI0NCwgMTUxLCA1MywgMTcsIDksIDEsIAotICAgIDI0NCwgMTUxLCA0MCwgMTcsIDksIDEsIDI0NCwgMTUxLCA2NSwgMTcsIDksIDEsIDI0NCwgMTUxLCAxNDcsIDE3LCA5LCAxLCAKLSAgICAyMjQsIDg1LCA1MywgMTcsIDksIDEsIDIyNCwgODUsIDQwLCAxNywgOSwgMSwgMjI0LCA4NSwgNjUsIDE3LCA5LCAxLCAyMjQsIAotICAgIDg1LCAxNDcsIDE3LCA5LCAxLCAyMzUsIDEsIDUzLCAxNywgOSwgMSwgMjM1LCAxLCA0MCwgMTcsIDksIDEsIDIzNSwgMSwgCi0gICAgNjUsIDE3LCA5LCAxLCAyMzUsIDEsIDE0NywgMTcsIDksIDEsIDIzMywgMTA5LCA1MywgMTcsIDksIDEsIDIzMywgMTA5LCAKLSAgICA0MCwgMTcsIDksIDEsIDIzMywgMTA5LCA2NSwgMTcsIDksIDEsIDIzMywgMTA5LCAxNDcsIDE3LCA5LCAxLCA2NiwgNTMsIAotICAgIDE3LCA5LCAxLCA2NiwgNDAsIDE3LCA5LCAxLCA2NiwgNjUsIDE3LCA5LCAxLCA2NiwgMTQ3LCAxNywgOSwgMSwgMjI4LCA2OCwgCi0gICAgNTMsIDE3LCA5LCAxLCAyMjgsIDY4LCA0MCwgMTcsIDksIDEsIDIyOCwgNjgsIDY1LCAxNywgOSwgMSwgMjI4LCA2OCwgMTQ3LCAKLSAgICAxNywgOSwgMSwgMjQxLCAyMjYsIDUzLCAxNywgOSwgMSwgMjQxLCAyMjYsIDQwLCAxNywgOSwgMSwgMjQxLCAyMjYsIDY1LCAKLSAgICAxNywgOSwgMSwgMjQxLCAyMjYsIDE0NywgMTcsIDksIDEsIDIxMiwgMzEsIDUzLCAxNywgOSwgMSwgMjEyLCAzMSwgNDAsIAotICAgIDE3LCA5LCAxLCAxMDksIDIzMSwgMTk4LCA1MywgMTcsIDksIDEsIDEwOSwgMjMxLCAxOTgsIDQwLCAxNywgOSwgMSwgNzcsIAotICAgIDUzLCAxNywgOSwgMSwgNzcsIDQwLCAxNywgOSwgMSwgNzcsIDY1LCAxNywgOSwgMSwgNzcsIDE0NywgMTcsIDksIDI3LCAKLSAgICAyMzMsIDEwOSwgMiwgMTA5LCAyLCAyMzEsIDIzMywgNzIsIDUzLCAxNywgOSwgMjcsIDIzMywgMTA5LCAyLCAxMDksIDIsIAotICAgIDIzMSwgMjMzLCA3MiwgNDAsIDE3LCA5LCAyNywgMjMzLCAxMDksIDIsIDEwOSwgMiwgMTgyLCA3MiwgNTMsIDE3LCA5LCAyNywgCi0gICAgMjMzLCAxMDksIDIsIDEwOSwgMiwgMTgyLCA3MiwgNDAsIDE3LCA5LCAyNywgMjMzLCAxMDksIDIsIDEwOSwgMiwgMTgyLCAKLSAgICAyNTIsIDUxLCA1MywgMTcsIDksIDI3LCAyMzMsIDEwOSwgMiwgMTA5LCAyLCAxODIsIDI1MiwgNTEsIDQwLCAxNywgOSwgMjcsIAotICAgIDIzMywgMTA5LCAyLCAxMDksIDUzLCAxNywgOSwgMjcsIDIzMywgMTA5LCAyLCAxMDksIDQwLCAxNywgMjEwLCA4NywgMjExLCAKLSAgICAyNDUsIDIyOCwgNzgsIDIxOSwgMjAsIDEyNiwgMjQ1LCAzOSwgNzksIDEyNiwgMjI0LCAxLCA3OSwgMTI2LCA1NCwgNTAsIAotICAgIDEyNiwgMjQ3LCAxNDAsIDUwLCAxMjYsIDIyNSwgMTg1LCA1MCwgMTI2LCAyNTQsIDEzNCwgMTI2LCAyNTQsIDY1LCAxMjYsIAotICAgIDQzLCAyMjYsIDcsIDEyNiwgNDQsIDIyNiwgNywgMTI2LCAyNTMsIDIyNCwgMTI2LCA5NiwgNTAsIDEyNiwgMjQ5LCAyMjcsIAotICAgIDEyNiwgMjQwLCAxNzQsIDEyNiwgMjQzLCAyMzYsIDIxOCwgMTMxLCAxMjYsIDIxOSwgNDgsIDEyNiwgMjEsIDIxMCwgODYsIAotICAgIDEyNiwgMjEsIDExMSwgMTI2LCAyMSwgMTA1LCAxMjYsIDIxLCAxNTgsIDEyNiwgMjEsIDE2MSwgMTI2LCAyMSwgMTkwLCAKLSAgICAxMjYsIDIxLCAxOTUsIDEyNiwgMjEsIDE5OSwgMTI2LCAyMSwgMTk2LCAxMjYsIDIxLCAyMDEsIDEyNiwgMjQ5LCAyMzQsIAotICAgIDEyNiwgMjIwLCAxNTIsIDEyNiwgMjMzLCAyMSwgNTAsIDEyNiwgMjQ1LCAxMDYsIDUwLCAxMjYsIDI0MiwgMTM3LCA1MCwgCi0gICAgMTI2LCAyMjQsIDE2LCA3OSwgMTI2LCAyNDksIDIyNSwgMjUzLCAyMTQsIDEyNiwgNywgNiwgMSwgNjEsIDEyNiwgNywgNiwgCi0gICAgMSwgMjUzLCAxNjYsIDEyNiwgNywgNiwgMSwgMjUxLCA3NCwgMTI2LCA3LCA2LCAxLCAyNDksIDY4LCAxMjYsIDcsIDYsIDEsIAotICAgIDc2LCAxMjYsIDcsIDYsIDEsIDI0NSwgMTQsIDEyNiwgNywgNiwgMSwgMjQzLCAyMDksIDEyNiwgNywgNiwgMSwgMjQyLCA2NywgCi0gICAgMTI2LCA3LCA2LCAxLCA3NCwgMTI2LCA3LCA2LCAxLCAyMzUsIDE1MCwgMTI2LCA3LCA2LCAxLCAyMzUsIDI5LCAxMjYsIDcsIAotICAgIDYsIDEsIDE1NiwgMTI2LCA3LCA2LCAxLCAxOTQsIDEyNiwgNywgNiwgMSwgMjMwLCAzMCwgMTI2LCA3LCA2LCAxLCA3OCwgCi0gICAgMTI2LCA3LCA2LCAxLCAyMjYsIDEwOSwgMTI2LCA3LCA2LCAxLCAyMjQsIDk5LCAxMjYsIDcsIDYsIDEsIDE1MywgMTI2LCA3LCAKLSAgICA2LCAxLCAyMjIsIDkzLCAxMjYsIDcsIDYsIDEsIDIxNywgMTUzLCAxMjYsIDcsIDYsIDEsIDY5LCAxMjYsIDcsIDYsIDEsIAotICAgIDIxNCwgMTA1LCAxMjYsIDcsIDYsIDEsIDIxMiwgOTgsIDEyNiwgNywgNiwgMSwgMjExLCAxNzgsIDEyNiwgNywgNiwgMSwgCi0gICAgMjExLCAxMTcsIDEyNiwgNywgNiwgMSwgMjEwLCAxNTksIDEyNiwgNDMsIDQyLCAxMjcsIDEyNiwgMjIzLCA1MywgMjE5LCAKLSAgICA0OCwgMTI2LCA0NCwgNDIsIDEyNywgMTI2LCAyNTAsIDM5LCAyNTUsIDIzLCAxMjYsIDEyMSwgMjMyLCAyMTksIDEyNiwgCi0gICAgMjQyLCAxNDQsIDI1NSwgMjMsIDEyNiwgNywgNCwgMSwgNjEsIDEyNiwgNywgNCwgMSwgMjUzLCAxNjYsIDEyNiwgNywgNCwgCi0gICAgMSwgMjUxLCA3NCwgMTI2LCA3LCA0LCAxLCAyNDksIDY4LCAxMjYsIDcsIDQsIDEsIDc2LCAxMjYsIDcsIDQsIDEsIDI0NSwgCi0gICAgMTQsIDEyNiwgNywgNCwgMSwgMjQzLCAyMDksIDEyNiwgNywgNCwgMSwgMjQyLCA2NywgMTI2LCA3LCA0LCAxLCA3NCwgMTI2LCAKLSAgICA3LCA0LCAxLCAyMzUsIDE1MCwgMTI2LCA3LCA0LCAxLCAyMzUsIDI5LCAxMjYsIDcsIDQsIDEsIDE1NiwgMTI2LCA3LCA0LCAKLSAgICAxLCAxOTQsIDEyNiwgNywgNCwgMSwgMjMwLCAzMCwgMTI2LCA3LCA0LCAxLCA3OCwgMTI2LCA3LCA0LCAxLCAyMjYsIDEwOSwgCi0gICAgMTI2LCA3LCA0LCAxLCAyMjQsIDk5LCAxMjYsIDcsIDQsIDEsIDE1MywgMTI2LCA3LCA0LCAxLCAyMjIsIDkzLCAxMjYsIDcsIAotICAgIDQsIDEsIDIxNywgMTUzLCAxMjYsIDcsIDQsIDEsIDY5LCAxMjYsIDcsIDQsIDEsIDIxNCwgMTA1LCAxMjYsIDcsIDQsIDEsIAotICAgIDIxMiwgOTgsIDEyNiwgNywgNCwgMSwgMjExLCAxNzgsIDEyNiwgNywgNCwgMSwgMjExLCAxMTcsIDEyNiwgNywgNCwgMSwgCi0gICAgMjEwLCAxNTksIDEyNiwgNDMsIDI0OSwgMTA3LCAxMjcsIDEyNiwgNjcsIDIzMiwgMjE5LCAxMjYsIDQ0LCAyNDksIDEwNywgCi0gICAgMTI3LCAxMjYsIDE4NCwgMTI2LCA0MywgNzEsIDIyNiwgNywgMTI2LCA0NCwgNzEsIDIyNiwgNywgMTAxLCAxMTAsIDI0MywgCi0gICAgMjM2LCAyMTgsIDEzMSwgMTAxLCA0MywgMjQ5LCAxNjksIDEyNywgMTAxLCA0NCwgMjQ5LCAxNjksIDEyNywgMTAxLCAxMTAsIAotICAgIDI0OSwgMjI3LCAxMDEsIDU2LCAyMzAsIDIyOSwgMjQ3LCAxMjgsIDEwMSwgNTYsIDEsIDIxMSwgMjI3LCAxMDEsIDU2LCAxLCAKLSAgICA0LCA2MSwgMTAxLCA1NiwgMSwgNCwgNzQsIDEwMSwgNTYsIDEsIDQsIDY5LCAxMDEsIDU2LCAxLCA0LCA3NiwgMTAxLCA1NiwgCi0gICAgMSwgNCwgNzgsIDEwMSwgNTYsIDEsIDQsIDE5MiwgMTAxLCA1NiwgMSwgNCwgMjEwLCAyMTIsIDEwMSwgNTYsIDEsIDQsIAotICAgIDIxMCwgMjQ0LCAxMDEsIDU2LCAxLCA0LCAyMTUsIDExOSwgMTAxLCAyMzQsIDIwNywgMjI0LCAxNzYsIDIxOSwgMzMsIDc5LCAKLSAgICAxMDEsIDU2LCAxLCA2MSwgMTAxLCA1NiwgMSwgNzQsIDEwMSwgNTYsIDEsIDY5LCAxMDEsIDU2LCAxLCA3NiwgMTAxLCA1NiwgCi0gICAgMSwgNzgsIDEwMSwgNTYsIDEsIDE3NiwgMTAxLCA1NiwgMSwgMjM0LCA5OCwgMTAxLCA1NiwgMSwgMjMzLCAyMjMsIDEwMSwgCi0gICAgNTYsIDEsIDIzNCwgMTg4LCAxMDEsIDU2LCAxLCAyMzQsIDM0LCAxMDEsIDU2LCAxLCAyMDYsIDEwMSwgNTYsIDEsIDIxOSwgCi0gICAgMTkzLCAxMDEsIDU2LCAxLCAyMTgsIDg0LCAxMDEsIDU2LCAxLCAyMjEsIDE4MywgMTAxLCA1NiwgMSwgMjE5LCA2MCwgMTAxLCAKLSAgICA1NiwgMSwgMjE3LCAxMDYsIDEwMSwgNTYsIDEsIDIxNiwgMTE4LCAxMDEsIDU2LCAxLCAyMTUsIDExOSwgMTAxLCA1NiwgMSwgCi0gICAgMjE3LCAyMywgMTAxLCA1NiwgMSwgMTEyLCAxMDEsIDU2LCAxLCAxOTgsIDEwMSwgNTYsIDEsIDIyOCwgMjM4LCAxMDEsIDU2LCAKLSAgICAxLCAyMjcsIDI0MiwgMTAxLCA1NiwgMSwgMjI5LCAxMTIsIDEwMSwgNTYsIDEsIDIyOCwgNzksIDEwMSwgNTYsIDEsIDE2MiwgCi0gICAgMTAxLCA1NiwgMSwgMjQxLCAxODcsIDEwMSwgNTYsIDEsIDI0MCwgMjI5LCAxMDEsIDU2LCAxLCAyNDEsIDI0NSwgMTAxLCAKLSAgICA1NiwgMSwgMjQxLCA3NSwgMTAxLCA1NiwgMSwgMTg2LCAxMDEsIDU2LCAxLCAyMzAsIDIzNSwgMTAxLCA1NiwgMSwgMjMwLCAKLSAgICAxMDcsIDEwMSwgNTYsIDEsIDIzMSwgOTYsIDEwMSwgNTYsIDEsIDIzMCwgMTY2LCAxMDEsIDU2LCAxLCAxOTIsIDEwMSwgNTYsIAotICAgIDEsIDIxMCwgMjEyLCAxMDEsIDU2LCAxLCAyMTAsIDI0NCwgMTAxLCA1NiwgMSwgMjA1LCAxMDEsIDU2LCAxLCAyMjMsIDM4LCAKLSAgICAxMDEsIDU2LCAxLCAyMjIsIDE0MiwgMTAxLCA1NiwgMSwgMjIzLCAxMzEsIDEwMSwgNTYsIDEsIDIyMiwgMjEzLCAxMDEsIAotICAgIDU2LCAxLCAyMTIsIDY1LCAxMDEsIDU2LCAxLCAyMzAsIDMwLCAxMDEsIDU2LCAyMTMsIDEzNSwgMjE5LCAzMywgNzksIDEwMSwgCi0gICAgNTYsIDIyMCwgMTU3LCAyMTksIDMzLCA3OSwgMTAxLCAyNCwgMjQ0LCAxMTEsIDEwMSwgMjQsIDEsIDIzNCwgNjQsIDEwMSwgCi0gICAgMjQsIDEsIDIxOCwgMjE3LCAxMDEsIDI0LCAxLCAyMzQsIDU3LCAxMDEsIDI0LCAxLCAyMjgsIDIzMSwgMTAxLCAyNCwgMSwgCi0gICAgMjI4LCAyMjksIDEwMSwgMjQsIDEsIDIyOCwgMjI4LCAxMDEsIDI0LCAxLCAyMTYsIDEwMiwgMTAxLCAyNCwgMSwgMjE4LCAKLSAgICAyMDYsIDEwMSwgMjQsIDEsIDIyMywgMjksIDEwMSwgMjQsIDEsIDIyMywgMjQsIDEwMSwgMjQsIDEsIDIyMywgMjEsIDEwMSwgCi0gICAgMjQsIDEsIDIyMywgMTQsIDEwMSwgMjQsIDEsIDIyMywgOSwgMTAxLCAyNCwgMSwgMjIzLCA0LCAxMDEsIDI0LCAxLCAyMjMsIAotICAgIDE1LCAxMDEsIDI0LCAxLCAyMjMsIDI3LCAxMDEsIDI0LCAxLCAyMzAsIDIyMiwgMTAxLCAyNCwgMSwgMjI1LCA5OCwgMTAxLCAKLSAgICAyNCwgMSwgMjE4LCAyMTQsIDEwMSwgMjQsIDEsIDIyNSwgODcsIDEwMSwgMjQsIDEsIDIxOSwgMTUwLCAxMDEsIDI0LCAxLCAKLSAgICAyMTgsIDIxMSwgMTAxLCAyNCwgMSwgMjM2LCA2MywgMTAxLCAyNCwgMSwgMjUwLCA1NCwgMTAxLCAyNCwgMSwgMjE4LCAyMjEsIAotICAgIDEwMSwgMjQsIDEsIDI1MCwgMTE0LCAxMDEsIDI0LCAxLCAyMzQsIDExNiwgMTAxLCAyNCwgMSwgMjE2LCAxNzQsIDEwMSwgCi0gICAgMjQsIDEsIDIyNSwgMTM0LCAxMDEsIDI0LCAxLCAyNDEsIDE3OSwgMTAxLCAyNCwgMSwgNjEsIDEwMSwgMjQsIDEsIDI1NCwgCi0gICAgMjUyLCAxMDEsIDI0LCAxLCAxOTIsIDEwMSwgMjQsIDEsIDIxMSwgOTIsIDEwMSwgMjQsIDEsIDI0NSwgMTI1LCAxMDEsIDI0LCAKLSAgICAxLCA3NiwgMTAxLCAyNCwgMSwgMjExLCAzNiwgMTAxLCAyNCwgMSwgMjExLCA0NywgMTAxLCAyNCwgMSwgNzgsIDEwMSwgMjQsIAotICAgIDEsIDIxMiwgNjUsIDEwMSwgMjQsIDEsIDIxMiwgNjIsIDEwMSwgMjQsIDEsIDIyNiwgMjM4LCAxMDEsIDI0LCAxLCAyMTAsIAotICAgIDI0NCwgMTAxLCAyNCwgMSwgNjksIDEwMSwgMjQsIDEsIDIxMiwgMTEsIDEwMSwgMjQsIDEsIDIxMiwgMjIsIDEwMSwgMjQsIAotICAgIDEsIDIxMSwgMjUwLCAxMDEsIDI0LCAxLCAyMTAsIDIxMiwgMTAxLCAyNCwgMSwgMjQ1LCA2MywgMTAxLCAyNCwgMSwgMjExLCAKLSAgICA4LCAxMDEsIDI0LCAxLCA3NCwgMTI2LCAyNTAsIDE4NCwgNTAsIDEyNiwgMjI0LCAyMzEsIDUwLCAxMjYsIDIyOCwgNTcsIAotICAgIDUwLCAxMjYsIDIzMSwgMjM3LCAxMjYsIDI1MSwgMTQzLCAxMzAsIDEyNiwgMjExLCA0MCwgNTAsIDEyNiwgMjExLCAyMTcsIAotICAgIDUwLCAxMDEsIDI0NCwgMjYsIDE5MywgMjEzLCAyMzksIDEwMSwgMTQwLCA3NSwgMTAxLCAyMTQsIDE1MywgNzUsIDEwMSwgCi0gICAgOTcsIDc1LCAxMDEsIDI0NiwgMTEyLCA3NSwgMTAxLCA4NSwgMjE4LCAyMzYsIDEwMSwgNzEsIDI1MCwgNDMsIDIzNSwgMjExLCAKLSAgICAyNTQsIDEwNywgMjU0LCAxMjgsIDIzNSwgMjExLCAyNTQsIDEwNywgMjIwLCAxMzksIDIzNSwgMjExLCAyNTQsIDEwNywgCi0gICAgMjE2LCAyMzcsIDIyNiwgMjUzLCAyMjMsIDc1LCAyNTAsIDE1MCwgMjIzLCA3NSwgMjUwLCAxNTAsIDYyLCA1NywgMywgMjUzLCAKLSAgICAxNTAsIDYxLCA2MiwgNTcsIDMsIDI1MywgMTE5LCA3NiwgNjIsIDU3LCAzLCAyNTMsIDEyOCwgNzQsIDYyLCA1NywgMywgCi0gICAgMjUzLCA5NiwgNzgsIDYyLCA1NywgMywgMjUzLCAxNDYsIDY5LCA2MiwgNTcsIDMsIDI1MywgMTY1LCAyNDgsIDIyOSwgNjIsIAotICAgIDU3LCAzLCAyNTMsIDExMiwgMjQ4LCA5OCwgNjIsIDU3LCAzLCAyNTMsIDE1MiwgMjQ4LCAxMSwgNjIsIDU3LCAzLCAyNTMsIAotICAgIDE0MiwgMjQ3LCAxNTMsIDYyLCA1NywgMywgMjUzLCAxMDYsIDI0NiwgODYsIDYyLCA1NywgMywgMjUzLCAxMDAsIDIzNSwgCi0gICAgMTQ3LCA2MiwgNTcsIDMsIDI1MywgMTExLCAyMzUsIDEzMiwgNjIsIDU3LCAzLCAyNTMsIDEyMSwgMjM1LCA3NCwgNjIsIDU3LCAKLSAgICAzLCAyNTMsIDkyLCAyMzUsIDU3LCA2MiwgNTcsIDMsIDI1MywgODAsIDE3NiwgNjIsIDU3LCAzLCAyNTMsIDExMywgMjM0LCAKLSAgICAxODgsIDYyLCA1NywgMywgMjUzLCA5MCwgMjM0LCA5OCwgNjIsIDU3LCAzLCAyNTMsIDg3LCAyMzQsIDM0LCA2MiwgNTcsIDMsIAotICAgIDI1MywgNzYsIDIzMywgMjIzLCA2MiwgNTcsIDMsIDI1MywgNzcsIDE4NiwgNjIsIDU3LCAzLCAyNTMsIDE0MywgMjMxLCA5NiwgCi0gICAgNjIsIDU3LCAzLCAyNTMsIDg0LCAyMzAsIDIzNSwgNjIsIDU3LCAzLCAyNTMsIDE0MSwgMjMwLCAxNjYsIDYyLCA1NywgMywgCi0gICAgMjUzLCAxMzMsIDIzMCwgMTA3LCA2MiwgNTcsIDMsIDI1MywgMTU0LCAxOTgsIDYyLCA1NywgMywgMjUzLCAxMzIsIDIyOSwgCi0gICAgMTEyLCA2MiwgNTcsIDMsIDI1MywgMTI2LCAyMjgsIDIzOCwgNjIsIDU3LCAzLCAyNTMsIDEwNSwgMjI4LCA3OSwgNjIsIDU3LCAKLSAgICAzLCAyNTMsIDEwMiwgMjI3LCAyNDIsIDYyLCA1NywgMywgMjUzLCAxNjEsIDE5MSwgNjIsIDU3LCAzLCAyNTMsIDg1LCAyMjUsIAotICAgIDIyNCwgNjIsIDU3LCAzLCAyNTMsIDExOCwgMjI1LCAxMTEsIDYyLCA1NywgMywgMjUzLCAxNDUsIDIyNSwgMTksIDYyLCA1NywgCi0gICAgMywgMjUzLCAxMDcsIDIyNCwgMTUzLCA2MiwgNTcsIDMsIDI1MywgMTQwLCAyMjQsIDkxLCA2MiwgNTcsIDMsIDI1MywgNzksIAotICAgIDIyNCwgNzIsIDYyLCA1NywgMywgMjUzLCAxMzUsIDIyNCwgNTYsIDYyLCA1NywgMywgMjUzLCAxMjQsIDIyNCwgNDUsIDYyLCAKLSAgICA1NywgMywgMjUzLCA5NywgMjA1LCA2MiwgNTcsIDMsIDI1MywgMTI5LCAyMjMsIDEzMSwgNjIsIDU3LCAzLCAyNTMsIDEwNCwgCi0gICAgMjIzLCAzOCwgNjIsIDU3LCAzLCAyNTMsIDE2MywgMjIyLCAyMTMsIDYyLCA1NywgMywgMjUzLCAxMzAsIDIyMiwgMTQyLCAKLSAgICA2MiwgNTcsIDMsIDI1MywgMTI1LCAyMDYsIDYyLCA1NywgMywgMjUzLCAxNDgsIDIyMSwgMTgzLCA2MiwgNTcsIDMsIDI1MywgCi0gICAgMTE2LCAyMTksIDE5MywgNjIsIDU3LCAzLCAyNTMsIDE0NCwgMjE5LCA2MCwgNjIsIDU3LCAzLCAyNTMsIDk5LCAyMTgsIDg0LCAKLSAgICA2MiwgNTcsIDMsIDI1MywgOTgsIDIxNywgMTA2LCA2MiwgNTcsIDMsIDI1MywgMTU5LCAyMTcsIDIzLCA2MiwgNTcsIDMsIAotICAgIDI1MywgMTIwLCAyMTYsIDExOCwgNjIsIDU3LCAzLCAyNTMsIDE1NywgMTEyLCA2MiwgNTcsIDMsIDI1MywgODgsIDIxNSwgCi0gICAgMTE5LCA2MiwgNTcsIDMsIDI1MywgMTAzLCAyMTIsIDY1LCA2MiwgNTcsIDMsIDI1MywgODIsIDIxMiwgMjIsIDYyLCA1NywgCi0gICAgMywgMjUzLCAxMTcsIDIxMSwgMjUwLCA2MiwgNTcsIDMsIDI1MywgMTE1LCAyMTEsIDIyNywgNjIsIDU3LCAzLCAyNTMsIAotICAgIDEzOSwgMjEwLCAxMTYsIDYyLCA1NywgMywgMjUzLCA4MywgMjEwLCA5NCwgNjIsIDU3LCAzLCAyNTMsIDEzNiwgMjEwLCAyMywgCi0gICAgNjIsIDU3LCAzLCAyNTMsIDEzMSwgMjU1LCA4NCwgNjIsIDU3LCAzLCAyNTMsIDExNCwgMjU1LCA4MywgNjIsIDU3LCAzLCAKLSAgICAyNTMsIDczLCAyNTMsIDIwMCwgNjIsIDU3LCAzLCAyNTMsIDg2LCAyNDYsIDU0LCA2MiwgNTcsIDMsIDI1MywgNjksIDI0NiwgCi0gICAgNTMsIDYyLCA1NywgMywgMjUzLCAxMDksIDIyNywgMTc4LCA2MiwgNTcsIDMsIDI1MywgMTI3LCAyMjQsIDE1MSwgNjIsIDU3LCAKLSAgICAzLCAyNTMsIDk1LCAyMjQsIDE1NSwgNjIsIDU3LCAzLCAyNTMsIDgxLCAyMjMsIDE4OSwgNjIsIDU3LCAzLCAyNTMsIDEyMywgCi0gICAgMjIzLCAxODgsIDYyLCA1NywgMywgMjUzLCA4OSwgMjIyLCAyMTIsIDYyLCA1NywgMywgMjUzLCA5MSwgMjE3LCAxMDMsIDYyLCAKLSAgICA1NywgMywgMjUzLCA3MSwgMjE1LCA3OCwgNjIsIDU3LCAzLCAyNTMsIDY4LCAxMDUsIDYyLCA1NywgMTYsIDI1MywgMTM4LCAKLSAgICA2MiwgNTcsIDE2LCAyNTMsIDEzNywgNjIsIDU3LCAxNiwgMjUzLCAxMzQsIDYyLCA1NywgMTYsIDI1MywgMTIyLCA2MiwgNTcsIAotICAgIDE2LCAyNTMsIDExMCwgNjIsIDU3LCAxNiwgMjUzLCAxMDgsIDYyLCA1NywgMTYsIDI1MywgMTAxLCA2MiwgNTcsIDE2LCAKLSAgICAyNTMsIDk0LCA2MiwgNTcsIDE2LCAyNTMsIDkzLCA2MiwgNTcsIDE2LCAyNTMsIDc4LCA2MiwgNTcsIDE2LCAyNTMsIDc1LCAKLSAgICA2MiwgNTcsIDE2LCAyNTMsIDc0LCA2MiwgNTcsIDE2LCAyNTMsIDcyLCA2MiwgNTcsIDE2LCAyNTMsIDcwLCA2MiwgNTcsIAotICAgIDEwNiwgMjUzLCA2NywgMjMxLCAxOTAsIDYyLCA1NywgMTA2LCAyNTMsIDY2LCAyMTEsIDIyMSwgNjIsIDU3LCAxMDYsIDI1MywgCi0gICAgNjUsIDI0OCwgODIsIDYyLCA1NywgMTA2LCAyNTMsIDY0LCAyNDUsIDEwMywgNjIsIDU3LCAxMDYsIDI1MywgNjMsIDIzMSwgCi0gICAgMTY0LCA2MiwgNTcsIDEwNiwgMjUzLCA2MiwgMjE4LCAxNjQsIDYyLCA1NywgMTA2LCAyNTMsIDYxLCAyNDUsIDQ1LCA2MiwgCi0gICAgNTcsIDEwNiwgMjUzLCA2MCwgMjIzLCAxNTYsIDYyLCA1NywgMTA2LCAyNTMsIDU5LCAyMjAsIDY0LCA2MiwgNTcsIDEwNiwgCi0gICAgMjUzLCA1OCwgMjQxLCAyNDQsIDYyLCA1NywgMTA2LCAyNTMsIDU3LCAyMTksIDI3LCA2MiwgNTcsIDEwNiwgMjUzLCA1NiwgCi0gICAgMjUxLCAyMTEsIDYyLCA1NywgMTA2LCAyNTMsIDU1LCAyNDksIDE1MywgNjIsIDU3LCAxMDYsIDI1MywgNTQsIDI1MSwgMTIzLCAKLSAgICA2MiwgNTcsIDEwNiwgMjUzLCA1MywgMjEyLCAyLCA2MiwgNTcsIDEwNiwgMjUzLCA1MiwgMjUyLCAxNDQsIDYyLCA1NywgCi0gICAgMTA2LCAyNTMsIDUxLCAyMjYsIDIwOSwgNjIsIDU3LCAxMDYsIDI1MywgNTAsIDIxOSwgMCwgNjIsIDU3LCAxMDYsIDI1MywgCi0gICAgNDksIDI0OSwgNzYsIDYyLCA1NywgMjMwLCAxNDcsIDI1MywgNDgsIDIzNCwgMjMwLCA2MiwgNTcsIDIzMCwgMTQ3LCAyNTMsIAotICAgIDQ3LCAyMzQsIDIzOCwgNjIsIDU3LCAxMDYsIDI1MywgNDYsIDIyNiwgMjIyLCA2MiwgNTcsIDEwNiwgMjUzLCA0NSwgMjExLCAKLSAgICAyMzYsIDYyLCA1NywgMTA2LCAyNTMsIDQ0LCA2MiwgNTcsIDIzMCwgMTQ3LCAyNTMsIDQzLCAyNTQsIDI1LCA2MiwgNTcsIAotICAgIDIzMCwgMTQ3LCAyNTMsIDQyLCAyMzEsIDU3LCA2MiwgNTcsIDEwNiwgMjUzLCA0MSwgMjUxLCAxNDIsIDYyLCA1NywgMTA2LCAKLSAgICAyNTMsIDQwLCAyNDIsIDE3MywgNjIsIDU3LCAxMDYsIDI1MywgMzksIDYyLCA1NywgMTA2LCAyNTMsIDM4LCAyMTEsIDIxMiwgCi0gICAgNjIsIDU3LCAxMDYsIDI1MywgMzcsIDYyLCA1NywgMTA2LCAyNTMsIDM2LCA2MiwgNTcsIDEwNiwgMjUzLCAzNSwgMjQwLCAKLSAgICAyNTUsIDYyLCA1NywgMTA2LCAyNTMsIDM0LCA2MiwgNTcsIDEwNiwgMjUzLCAzMywgNjIsIDU3LCAxMDYsIDI1MywgMzIsIAotICAgIDYyLCA1NywgMjMwLCAxNDcsIDI1MywgMzAsIDIxNSwgOTIsIDYyLCA1NywgMTA2LCAyNTMsIDI5LCA2MiwgNTcsIDEwNiwgCi0gICAgMjUzLCAyOCwgNjIsIDU3LCAxMDYsIDI1MywgMjcsIDI1MCwgMiwgNjIsIDU3LCAxMDYsIDI1MywgMjYsIDYyLCA1NywgMTA2LCAKLSAgICAyNTMsIDI1LCA2MiwgNTcsIDEwNiwgMjUzLCAyNCwgMjQzLCAxMDAsIDYyLCA1NywgMTA2LCAyNTMsIDIzLCAyNTQsIDEyLCAKLSAgICA2MiwgNTcsIDEwNiwgMjUzLCAyMiwgNjIsIDU3LCAxMDYsIDI1MywgMjEsIDYyLCA1NywgMTA2LCAyNTMsIDIwLCA2MiwgNTcsIAotICAgIDEwNiwgMjUzLCAxOSwgNjIsIDU3LCAxMDYsIDI1MywgMTgsIDYyLCA1NywgMTA2LCAyNTMsIDE3LCA2MiwgNTcsIDEwNiwgCi0gICAgMjUzLCAxNiwgNjIsIDU3LCAxMDYsIDI1MywgMTUsIDYyLCA1NywgMTA2LCAyNTMsIDE0LCA2MiwgNTcsIDEwNiwgMjUzLCAKLSAgICAxMywgMjMwLCAxMzksIDYyLCA1NywgMTA2LCAyNTMsIDEyLCA2MiwgNTcsIDEwNiwgMjUzLCAxMSwgMjE1LCAyMzYsIDYyLCAKLSAgICA1NywgMTA2LCAyNTMsIDEwLCA2MiwgNTcsIDEwNiwgMjUzLCA5LCA2MiwgNTcsIDEwNiwgMjUzLCA4LCA2MiwgNTcsIDEwNiwgCi0gICAgMjUzLCA3LCA2MiwgNTcsIDEwNiwgMjUzLCA2LCA2MiwgNTcsIDEwNiwgMjUzLCA1LCA2MiwgNTcsIDEwNiwgMjUzLCA0LCAKLSAgICA2MiwgNTcsIDEwNiwgMjUzLCAzLCA2MiwgNTcsIDEwNiwgMjUzLCAyLCA2MiwgNTcsIDEwNiwgMjUzLCAxLCA2MiwgNTcsIAotICAgIDEwNiwgMjUzLCAwLCA2MiwgNTcsIDEwNiwgMjUyLCAyNTUsIDI0MSwgMjE4LCA2MiwgNTcsIDEwNiwgMjUyLCAyMzQsIDI0NCwgCi0gICAgMzYsIDYyLCA1NywgMTA2LCAyNTIsIDIzMSwgMjUyLCAxMjQsIDYyLCA1NywgMTA2LCAyNTIsIDIyNiwgMjE5LCA3LCA2MiwgCi0gICAgNTcsIDEwNiwgMjUyLCAyMjUsIDc1LCA2MiwgNTcsIDEwNiwgMjUyLCAyMjQsIDYyLCA1NywgMTA2LCAyNTIsIDIyMywgMjE3LCAKLSAgICAyMzcsIDYyLCA1NywgMTA2LCAyNTIsIDIyMiwgNjIsIDU3LCAxMDYsIDI1MiwgMjIxLCA2MiwgNTcsIDEwNiwgMjUyLCAyMjAsIAotICAgIDIxMSwgMjU0LCAyNTAsIDE0NywgNjIsIDU3LCAxMDYsIDI1MiwgMjE5LCAyNTAsIDE0NywgNjIsIDU3LCAxMDYsIDI1MiwgCi0gICAgMjE4LCAyNTAsIDE0OCwgMjQ0LCA3LCA2MiwgNTcsIDEwNiwgMjUyLCAyMTcsIDIxMiwgMCwgNjIsIDU3LCAxMDYsIDI1MiwgCi0gICAgMjE2LCA2MiwgNTcsIDEwNiwgMjUyLCAyMTUsIDYyLCA1NywgMjMwLCAxNDcsIDI1MiwgMjE0LCAyNDcsIDIwNiwgNjIsIDU3LCAKLSAgICAxMDYsIDI1MiwgMjEzLCA2MiwgNTcsIDEwNiwgMjUyLCAyMTIsIDYyLCA1NywgMTA2LCAyNTIsIDIxMCwgNjIsIDU3LCAxMDYsIAotICAgIDI1MiwgMjA5LCA2MiwgNTcsIDEwNiwgMjUyLCAyMDgsIDYyLCA1NywgMTA2LCAyNTIsIDIwNywgMjQ4LCAxNjcsIDYyLCA1NywgCi0gICAgMTA2LCAyNTIsIDIwNiwgNjIsIDU3LCAxMDYsIDI1MiwgMjA1LCA2MiwgNTcsIDEwNiwgMjUyLCAyMDQsIDYyLCA1NywgMTA2LCAKLSAgICAyNTIsIDIwMywgNjIsIDU3LCAxMDYsIDI1MiwgMjAyLCA2MiwgNTcsIDEwNiwgMjEzLCAxODYsIDI1MywgMzEsIDYyLCA1NywgCi0gICAgMTA2LCAyMTMsIDE4NiwgMjUyLCAyNTQsIDYyLCA1NywgMTA2LCAyMTMsIDE4NiwgMjUyLCAyNTMsIDYyLCA1NywgMTA2LCAKLSAgICAyMTMsIDE4NiwgMjUyLCAyNTIsIDYyLCA1NywgMTA2LCAyMTMsIDE4NiwgMjUyLCAyNTEsIDYyLCA1NywgMTA2LCAyMTMsIAotICAgIDE4NiwgMjUyLCAyNTAsIDYyLCA1NywgMTA2LCAyMTMsIDE4NiwgMjUyLCAyNDksIDYyLCA1NywgMTA2LCAyMTMsIDE4NiwgCi0gICAgMjUyLCAyNDgsIDYyLCA1NywgMTA2LCAyMTMsIDE4NiwgMjUyLCAyNDcsIDYyLCA1NywgMTA2LCAyMTMsIDE4NiwgMjUyLCAKLSAgICAyNDYsIDYyLCA1NywgMTA2LCAyMTMsIDE4NiwgMjUyLCAyNDUsIDYyLCA1NywgMTA2LCAyMTMsIDE4NiwgMjUyLCAyNDQsIAotICAgIDYyLCA1NywgMTA2LCAyMTMsIDE4NiwgMjUyLCAyNDMsIDYyLCA1NywgMTA2LCAyMTMsIDE4NiwgMjUyLCAyNDIsIDYyLCA1NywgCi0gICAgMTA2LCAyMTMsIDE4NiwgMjUyLCAyNDEsIDYyLCA1NywgMTA2LCAyMTMsIDE4NiwgMjUyLCAyNDAsIDYyLCA1NywgMTA2LCAKLSAgICAyMTMsIDE4NiwgMjUyLCAyMzksIDYyLCA1NywgMTA2LCAyMTMsIDE4NiwgMjUyLCAyMzgsIDYyLCA1NywgMTA2LCAyMTMsIAotICAgIDE4NiwgMjUyLCAyMzcsIDYyLCA1NywgMTA2LCAyMTMsIDE4NiwgMjUyLCAyMzYsIDYyLCA1NywgMTA2LCAyMTMsIDE4NiwgCi0gICAgMjUyLCAyMzUsIDYyLCA1NywgMTA2LCAyMTMsIDE4NiwgMjUyLCAyMzMsIDYyLCA1NywgMTA2LCAyMTMsIDE4NiwgMjUyLCAKLSAgICAyMzIsIDYyLCA1NywgMTA2LCAyMTMsIDE4NiwgMjUyLCAyMzAsIDYyLCA1NywgMTA2LCAyMTMsIDE4NiwgMjUyLCAyMjksIAotICAgIDYyLCA1NywgMTA2LCAyMTMsIDE4NiwgMjUyLCAyMjgsIDYyLCA1NywgMTA2LCAyMTMsIDE4NiwgMjUyLCAyMjcsIDYyLCA1NywgCi0gICAgMTA2LCAyMTMsIDE4NiwgMjUyLCAyMTEsIDYyLCA1NywgMTA2LCAyMTMsIDE4NiwgMjUyLCAyMDEsIDI1NCwgMjQ1LCAyMTEsIAotICAgIDIwOSwgMjIwLCAxNDAsIDIzMiwgMjE5LCAyNTQsIDI0NSwgMjExLCAyMDksIDIyMCwgMTQwLCAyNDcsIDEyOCwgMjU0LCAKLSAgICAyNDUsIDI1MCwgMTM4LCA3OSwgMjU0LCAyNDUsIDU0LCAxMTEsIDI1NCwgMjQ1LCA1NCwgMTA1LCAyNTQsIDI0NSwgNTQsIAotICAgIDE1OCwgMjU0LCAyNDUsIDU0LCAxNjEsIDI1NCwgMjQ1LCA1NCwgMTkwLCAyNTQsIDI0NSwgNTQsIDE5NSwgMjU0LCAyNDUsIAotICAgIDU0LCAxOTksIDI1NCwgMjQ1LCA1NCwgMTk2LCAyNTQsIDI0NSwgNTQsIDIwMSwgMjU0LCAyNDUsIDU0LCAyMTYsIDI0OCwgCi0gICAgMjU0LCAyNDUsIDU0LCAyMTUsIDczLCAyNTQsIDI0NSwgNTQsIDIxNiwgMTYzLCAyNTQsIDI0NSwgNTQsIDI0NCwgMjMsIAotICAgIDI1NCwgMjQ1LCA1NCwgMjQ0LCAxMjIsIDI1NCwgMjQ1LCA1NCwgMjE5LCAxMTMsIDI1NCwgMjQ1LCA1NCwgMjIwLCAxMTgsIAotICAgIDI1NCwgMjQ1LCA1NCwgMjQ1LCAxOTIsIDI1NCwgMjQ1LCA1NCwgMjI4LCAyMDAsIDI1NCwgMjQ1LCA1NCwgMTIzLCAyNDAsIAotICAgIDIxNywgMjU0LCAyNDUsIDU0LCAxMTMsIDI0MCwgMjE3LCAyNTQsIDI0NSwgNTQsIDEzNCwgMjQwLCAyMTcsIDI1NCwgMjQ1LCAKLSAgICA1NCwgMjQ0LCAxOSwgMjQwLCAyMTcsIDI1NCwgMjQ1LCA1NCwgMjQ0LCA4OSwgMjQwLCAyMTcsIDI1NCwgMjQ1LCA1NCwgCi0gICAgMjE5LCAxMjcsIDI0MCwgMjE3LCAyNTQsIDI0NSwgNTQsIDIyMCwgMTI0LCAyNDAsIDIxNywgMjU0LCAyNDUsIDU0LCAyNDUsIAotICAgIDIwMSwgMjQwLCAyMTcsIDI1NCwgMjQ1LCA1NCwgMjI4LCAyMDUsIDI0MCwgMjE3LCAyNTQsIDI0NSwgNTQsIDEyMywgMjE2LCAKLSAgICAxNDgsIDI1NCwgMjQ1LCA1NCwgMTEzLCAyMTYsIDE0OCwgMjU0LCAyNDUsIDU0LCAxMzQsIDIxNiwgMTQ4LCAyNTQsIDI0NSwgCi0gICAgNTQsIDI0NCwgMTksIDIxNiwgMTQ4LCAyNTQsIDI0NSwgNTQsIDI0NCwgODksIDIxNiwgMTQ4LCAyNTQsIDI0NSwgNTQsIAotICAgIDIxOSwgMTI3LCAyMTYsIDE0OCwgMjU0LCAyNDUsIDU0LCAyMjAsIDEyNCwgMjE2LCAxNDgsIDI1NCwgMjQ1LCA1NCwgMjQ1LCAKLSAgICAyMDEsIDIxNiwgMTQ4LCAyNTQsIDI0NSwgNTQsIDIyOCwgMjA1LCAyMTYsIDE0OCwgMjU0LCAyNDUsIDU0LCAyMTYsIDI0OSwgCi0gICAgMjE2LCAxNDgsIDI1NCwgMjQ1LCA1NCwgMjE1LCA3NCwgMjE2LCAxNDgsIDI1NCwgMjQ1LCA1NCwgMjE2LCAxNjQsIDIxNiwgCi0gICAgMTQ4LCAyNTQsIDI0NSwgNTQsIDI0NCwgMjQsIDIxNiwgMTQ4LCAyNTQsIDI0NSwgNTQsIDI0NCwgMTIzLCAyMTYsIDE0OCwgCi0gICAgMjU0LCAyNDUsIDU0LCAyMTksIDExNCwgMjE2LCAxNDgsIDI1NCwgMjQ1LCA1NCwgMjIwLCAxMTksIDIxNiwgMTQ4LCAyNTQsIAotICAgIDI0NSwgNTQsIDI0NSwgMTkzLCAyMTYsIDE0OCwgMjU0LCAyNDUsIDU0LCAyMjgsIDIwMSwgMjE2LCAxNDgsIDI1NCwgMjQ1LCAKLSAgICAyMTIsIDE0LCAyNTIsIDEzNiwgMjE0LCAxNzMsIDI1NCwgMjQ1LCAyMTIsIDE0LCAyNDQsIDEwMCwgMjE4LCA2MCwgMjU0LCAKLSAgICAyNDUsIDIxMiwgMTQsIDIyMSwgMTc4LCAyMTgsIDYwLCAyNTQsIDI0NSwgMjEyLCAxNCwgMjE2LCAxNzAsIDIxOCwgNjAsIAotICAgIDI1NCwgMjQ1LCAyMTIsIDE0LCAyNDQsIDEyLCAyMTgsIDYwLCAyNTQsIDI0NSwgMjQ2LCA4OSwgMjMxLCA5NSwgMjQ0LCAKLSAgICAxMDAsIDIxOCwgNjAsIDI1NCwgMjQ1LCAyMzIsIDIwNSwgMjMxLCA5NSwgMjQ0LCAxMDAsIDIxOCwgNjAsIDI1NCwgMjQ1LCAKLSAgICAyMzEsIDk1LCAyMjEsIDE3OCwgMjE4LCA2MCwgMjU0LCAyNDUsIDIzMSwgOTUsIDIxNiwgMTcwLCAyMTgsIDYwLCAyNiwgCi0gICAgMjU1LCAxNSwgMjUzLCAyMDIsIDEyMywgMjI0LCAyNCwgMjYsIDI1NSwgMTUsIDI1MywgMjAyLCAxMjMsIDI0MiwgMzQsIDI2LCAKLSAgICAyNTUsIDE1LCAyNTMsIDIwMiwgMTIzLCAyNDYsIDEwOCwgMjYsIDI1NSwgMTUsIDI1MywgMjAyLCAxOTAsIDI2LCAyNTUsIAotICAgIDE1LCAyNTMsIDIwMiwgMjQ0LCAxMjIsIDI2LCAyNTUsIDE1LCAyNTMsIDIwMiwgMjQ0LCA4OSwgMjQwLCAyMTcsIDI2LCAKLSAgICAyNTUsIDE1LCAyNTMsIDIwMiwgMjQ0LCA4OSwgMjE2LCAxNDgsIDI2LCAyNTUsIDE1LCAyNTMsIDIwMiwgMjQ0LCAxMjMsIAotICAgIDIxNiwgMTQ4LCAyNiwgMjU1LCAxNSwgMjUzLCAyMDIsIDI0NCwgODksIDIxNywgNjgsIDI2LCAyNTUsIDE1LCAyNTMsIDIwMiwgCi0gICAgMjE2LCAyNDksIDIxNywgNjgsIDI2LCAyNTUsIDE1LCAyNTMsIDIwMiwgMjQ0LCAxMjMsIDIxNywgNjgsIDI2LCAyNTUsIDE1LCAKLSAgICAyNTMsIDIwMiwgMTIzLCAyNDAsIDIxOCwgMjE3LCA2OCwgMjYsIDI1NSwgMTUsIDI1MywgMjAyLCAyNDQsIDg5LCAyNDAsIAotICAgIDIxOCwgMjE3LCA2OCwgMjYsIDI1NSwgMTUsIDI1MywgMjAyLCAxMjMsIDIxNiwgMTQ5LCAyMTcsIDY4LCAyNiwgMjU1LCAxNSwgCi0gICAgMjUzLCAyMDIsIDI0NCwgODksIDIxNiwgMTQ5LCAyMTcsIDY4LCAyNiwgMjU1LCAxNSwgMjUzLCAyMDIsIDI0NCwgODksIAotICAgIDIxOCwgMTUyLCAyNiwgMjU1LCAxNSwgMjUzLCAyMDIsIDIxNiwgMjQ5LCAyMTgsIDE1MiwgMjYsIDI1NSwgMTUsIDI1MywgCi0gICAgMjAyLCAyNDQsIDEyMywgMjE4LCAxNTIsIDI2LCAyNTUsIDE1LCAyNTMsIDIwMiwgMTIzLCAyNDAsIDIxOCwgMjE4LCAxNTIsIAotICAgIDI2LCAyNTUsIDE1LCAyNTMsIDIwMiwgMjQ0LCA4OSwgMjQwLCAyMTgsIDIxOCwgMTUyLCAyNiwgMjU1LCAxNSwgMjUzLCAKLSAgICAyMDIsIDEyMywgMjE2LCAxNDksIDIxOCwgMTUyLCAyNiwgMjU1LCAxNSwgMjUzLCAyMDIsIDIxNiwgMjQ5LCAyMTYsIDE0OSwgCi0gICAgMjE4LCAxNTIsIDI2LCAyNTUsIDE1LCAyNTMsIDIwMiwgMjQ0LCAxMjMsIDIxNiwgMTQ5LCAyMTgsIDE1MiwgMjYsIDI1NSwgCi0gICAgMTUsIDI1MywgMjAyLCAyMTYsIDI0OSwgMjMwLCAxNjksIDI2LCAyNTUsIDE1LCAyNDEsIDIxMiwgMTIzLCAyMjUsIDM0LCAKLSAgICAyNiwgMjU1LCAxNSwgMjE2LCAxODIsIDExMSwgMjYsIDI1NSwgMTUsIDI0MSwgMjA4LCAxMTEsIDI2LCAyNTUsIDE1LCAyNDUsIAotICAgIDExMiwgMTA1LCAyNiwgMjU1LCAxNSwgMjE2LCAxODIsIDEwNSwgMjYsIDI1NSwgMTUsIDI0OSwgNzMsIDExMywgMjQ2LCAKLSAgICAxMDcsIDI2LCAyNTUsIDE1LCAyNDUsIDExMiwgMTEzLCAyNDYsIDEwNywgMjYsIDI1NSwgMTUsIDIxNSwgMjA0LCAxOTAsIAotICAgIDI2LCAyNTUsIDE1LCAyMTUsIDIwNCwgMjE2LCAyNDgsIDI2LCAyNTUsIDE1LCAyMTUsIDIwNCwgMjE2LCAyNDksIDI1NCwgCi0gICAgMTQ5LCAxNywgMjYsIDI1NSwgMTUsIDI0MSwgMjA4LCAyMTYsIDI0OCwgMjYsIDI1NSwgMTUsIDIzMSwgNDYsIDIxNiwgMjQ4LCAKLSAgICAyNiwgMjU1LCAxNSwgMjE2LCAxODIsIDIxNiwgMjQ4LCAyNiwgMjU1LCAxNSwgMjE2LCAxODIsIDIxNiwgMTYzLCAyNiwgCi0gICAgMjU1LCAxNSwgMjE1LCAyMDQsIDI0NCwgMTIyLCAyNiwgMjU1LCAxNSwgMjE1LCAyMDQsIDI0NCwgMTIzLCAyNTQsIDE0OSwgCi0gICAgMTcsIDI2LCAyNTUsIDE1LCAyNDEsIDIwOCwgMjQ0LCAxMjIsIDI2LCAyNTUsIDE1LCAyMTYsIDE4MiwgMjQ0LCAxMjIsIDI2LCAKLSAgICAyNTUsIDE1LCAyMTYsIDE4MiwgMTIzLCAyNDAsIDIxNywgMjYsIDI1NSwgMTUsIDIxNiwgMTgyLCAxMzQsIDI0MCwgMjE3LCAKLSAgICAyNiwgMjU1LCAxNSwgMjQ1LCAxMTIsIDI0NCwgODksIDI0MCwgMjE3LCAyNiwgMjU1LCAxNSwgMjE1LCAyMDQsIDI0NCwgODksIAotICAgIDI0MCwgMjE3LCAyNiwgMjU1LCAxNSwgMjE2LCAxODIsIDI0NCwgODksIDI0MCwgMjE3LCAyNiwgMjU1LCAxNSwgMjUwLCAKLSAgICAyMzUsIDI0NCwgODksIDI0MCwgMjE3LCAyNiwgMjU1LCAxNSwgMjI5LCAxODcsIDI0NCwgODksIDI0MCwgMjE3LCAyNiwgCi0gICAgMjU1LCAxNSwgMjE2LCAxODIsIDEyMywgMjE2LCAxNDgsIDI2LCAyNTUsIDE1LCAyMTYsIDE4MiwgMjQ0LCA4OSwgMjE2LCAKLSAgICAxNDgsIDI2LCAyNTUsIDE1LCAyNDgsIDY1LCAyNDQsIDg5LCAyMzAsIDE2OSwgMjYsIDI1NSwgMTUsIDIxOCwgMTIwLCAyNDQsIAotICAgIDEyMywgMjMwLCAxNjksIDI2LCAxMjMsIDE2MywgNTAsIDI2LCAxMjMsIDE2MywgNSwgMjU0LCAxNDksIDE3LCAyNiwgMTEzLCAKLSAgICAyMTYsIDE2OCwgNTAsIDI2LCAxMzQsIDIyNCwgMjMsIDUwLCAyNiwgMjExLCA0NSwgNTAsIDI2LCAyMTcsIDY5LCA1MCwgMjYsIAotICAgIDI0NiwgMTA5LCA1MCwgMjYsIDIyNiwgMjUwLCA1MCwgMjYsIDExMywgMjI2LCAyNDksIDUwLCAyNiwgMTM0LCAyMjYsIDI0OSwgCi0gICAgNTAsIDI2LCAyNDQsIDE5LCAyMjYsIDI0OSwgNTAsIDI2LCAyNDQsIDg5LCAyMjYsIDI0OSwgNTAsIDI2LCAyMzEsIDQwLCAKLSAgICA1MCwgMjYsIDIzMywgMTYzLCAyNTIsIDEzNiwgNTAsIDI2LCAyMzIsIDIwMCwgNTAsIDI2LCAyMjYsIDEzNSwgNTAsIDI2LCAKLSAgICAyMTEsIDE1OSwgNTAsIDI2LCAyNTMsIDI1MSwgNTAsIDI2LCAyNTQsIDgsIDUwLCAyNiwgMjQyLCAxNTEsIDUwLCAyNiwgCi0gICAgMjE1LCAxODcsIDI1MiwgMTM2LCA1MCwgMjYsIDIxMCwgODcsIDUwLCAyMjIsIDIwMCwgMjIwLCAxMTUsIDUwLCAyMjIsIAotICAgIDIwMCwgMjE0LCAxODUsIDUwLCAyMjIsIDIwMCwgMjIwLCAxNDQsIDUwLCAyMjIsIDIwMCwgMjIwLCAxMTMsIDUwLCAyMjIsIAotICAgIDIwMCwgMjQ3LCAyMjEsIDIyMCwgMTEzLCA1MCwgMjIyLCAyMDAsIDIxOSwgMTcwLCA1MCwgMjIyLCAyMDAsIDI0OCwgNjEsIAotICAgIDUwLCAyMjIsIDIwMCwgMjI0LCA5LCA1MCwgMjIyLCAyMDAsIDIyMCwgMTMxLCA1MCwgMjIyLCAyMDAsIDI0NiwgNjgsIDUwLCAKLSAgICAyMjIsIDIwMCwgMjUzLCAyNDYsIDUwLCAyMjIsIDIwMCwgMjUwLCAxNzksIDUwLCAyMjUsIDE0NiwgMjQ3LCAxOTksIDUsIAotICAgIDIyNSwgMjE2LCAyMjUsIDE0NiwgMjQ3LCAxOTksIDUsIDIyNSwgMjcsIDI0MSwgMjQyLCAyMjUsIDE0NiwgMjQ3LCAxOTksIAotICAgIDUsIDIxNywgNDYsIDI0MSwgMjQyLCAyMjUsIDE0NiwgMjQ3LCAxOTksIDUsIDI1MCwgMjU1LCAyMjUsIDE0NiwgMjQ3LCAKLSAgICAxOTksIDUsIDI1MCwgMTA5LCAyMjUsIDE0NiwgMjQ3LCAxOTksIDUsIDIxMSwgMjIxLCAyMjUsIDE0NiwgMjQ3LCAxOTksIDUsIAotICAgIDI0MSwgMjE4LCAyMjUsIDE0NiwgMjQ3LCAxOTksIDUsIDI0MywgOTIsIDIyNSwgMTQ2LCAyNDcsIDE5OSwgNSwgMjE2LCAKLSAgICAxMTcsIDIyNSwgMTQ2LCAyNDcsIDE5OSwgNSwgNzUsIDIyNSwgMTQ2LCAyNDcsIDE5OSwgNSwgMjUxLCAxNzcsIDIyNSwgCi0gICAgMTQ2LCAyNDcsIDE5OSwgNSwgMjIwLCAzMSwgMjI1LCAxNDYsIDI0NywgMTk5LCA1LCAyNDksIDI1MiwgMjI1LCAxNDYsIAotICAgIDI0NywgMTk5LCA1LCAyMzEsIDE4OSwgMjI1LCAxNDYsIDI0NywgMTk5LCA1LCAyMzEsIDE0MSwgMjI1LCAxNDYsIDI0NywgCi0gICAgMTk5LCA1LCAyMjEsIDIxOCwgMjI1LCAxNDYsIDI0NywgMTk5LCA1LCAyMzIsIDI0MywgMjI1LCAxNDYsIDI0NywgMTk5LCA1LCAKLSAgICAyNTEsIDE5NiwgMjI1LCAxNDYsIDI0NywgMTk5LCA1LCAyNTAsIDIzOSwgMjI1LCAzOCwgMjI1LCAxNDYsIDI0NywgMTk5LCAKLSAgICA1LCAyNDcsIDE0MSwgMjI1LCAxNDYsIDI0NywgMTk5LCA1LCAyNDksIDIzMSwgMjI1LCAxNDYsIDI0NywgMTk5LCA1LCAyMTksIAotICAgIDg5LCAyMjUsIDE0NiwgMjQ3LCAxOTksIDUsIDI0OSwgMjMyLCAyMjUsIDE0NiwgMjQ3LCAxOTksIDUsIDI1MiwgNzEsIDIyNSwgCi0gICAgMTQ2LCAyNDcsIDE5OSwgNSwgMjIwLCAxOCwgMjI1LCAxNDYsIDI0NywgMTk5LCA1LCAyNDAsIDI1NSwgMjI1LCAxNDYsIAotICAgIDI0NywgMTk5LCA1LCAyNDEsIDE4NSwgMjI1LCAxNDYsIDI0NywgMTk5LCA1LCAyNTEsIDEyMCwgMjMzLCA0MiwgMjI1LCAKLSAgICAxNDYsIDI0NywgMTk5LCA1LCAyNTAsIDIzMiwgMjI1LCAxNDYsIDI0NywgMTk5LCA1LCAyMjMsIDE1NiwgMjI1LCAxNDYsIAotICAgIDI0NywgMTk5LCA1LCAyNDUsIDIzOCwgMjI1LCAxNDYsIDI0NywgMTk5LCA1LCAyNDYsIDExNSwgMjI1LCAxNDYsIDI0NywgCi0gICAgMTk5LCA1LCAyMTUsIDEwNiwgMjI1LCAxNDYsIDI0NywgMTk5LCA1LCAyNTIsIDc0LCAyMjUsIDE0NiwgMjQ3LCAxOTksIDUsIAotICAgIDIyNSwgMzksIDIxNSwgMjM2LCAyMjUsIDE0NiwgMjQ3LCAxOTksIDUsIDIxMywgMTU5LCAyMjUsIDE0NiwgMjQ3LCAxOTksIAotICAgIDUsIDIyNiwgMjIsIDIyNSwgMTQ2LCAyNDcsIDE5OSwgNSwgMjIyLCAxOTIsIDIyNSwgMTQ2LCAyNDcsIDE5OSwgNSwgMjMyLCAKLSAgICAyMzAsIDIyNSwgMTQ2LCAyNDcsIDE5OSwgNSwgMjI2LCAxMTksIDI1MiwgMTkyLCAyMjUsIDE0NiwgMjQ3LCAxOTksIDUsIAotICAgIDI0NCwgNTYsIDIyNSwgMTQ2LCAyNDcsIDE5OSwgNSwgMjQyLCAxNDUsIDIyNSwgMTQ2LCAyNDcsIDE5OSwgNSwgMjE4LCAKLSAgICAxMjEsIDIyNSwgMTQ2LCAyNDcsIDE5OSwgNSwgNCwgMjUzLCAxNzYsIDIyNSwgMTQ2LCAyNDcsIDE5OSwgNSwgMjEyLCAzMiwgCi0gICAgMjUyLCAxNTYsIDIyNSwgMTQ2LCAyNDcsIDE5OSwgNSwgMzgsIDIyNiwgMjUyLCA5MSwgMjMyLCA2NSwgMSwgNjEsIDIzMiwgCi0gICAgNjUsIDEsIDc2LCAyMzIsIDY1LCAxLCAyNTMsIDE2NiwgMjMyLCA2NSwgMSwgMjUyLCAyNywgMjMyLCA2NSwgMSwgMjQzLCAKLSAgICAyMDksIDIzMiwgNjUsIDEsIDI0OSwgNjgsIDIzMiwgNjUsIDEsIDc0LCAyMzIsIDY1LCAxLCAyMTIsIDk4LCAyMzIsIDY1LCAKLSAgICAxLCAyMTAsIDE1OSwgMjMyLCA2NSwgMSwgMjE2LCAyMTEsIDIzMiwgNjUsIDEsIDIzNSwgMTUwLCAyMzIsIDY1LCAxLCAyMzUsIAotICAgIDI5LCAyMzIsIDY1LCAxLCAyMjQsIDk5LCAyMzIsIDY1LCAxLCAxNTYsIDIzMiwgNjUsIDEsIDE5NCwgMjMyLCA2NSwgMSwgCi0gICAgMjMwLCAzMCwgMjMyLCA2NSwgMSwgMjMwLCAxNzEsIDIzMiwgNjUsIDEsIDIyOCwgMTE2LCAyMzIsIDY1LCAxLCA2OSwgMjMyLCAKLSAgICA2NSwgMSwgMjI2LCAxMDksIDIzMiwgNjUsIDEsIDIzNCwgNTMsIDIzMiwgNjUsIDEsIDE1MywgMjMyLCA2NSwgMSwgMjIyLCAKLSAgICA5MywgMjMyLCA2NSwgMSwgMjE3LCAxNTMsIDIzMiwgNjUsIDEsIDIxNSwgMTYwLCAyMzIsIDY1LCAxLCAyNTQsIDEzMSwgCi0gICAgMjMyLCA2NSwgMSwgMjQ1LCAxNTgsIDIzMiwgNjUsIDEsIDI0MiwgNjcsIDIzMiwgNjUsIDEsIDIxMSwgMTc4LCAyNTAsIAotICAgIDI0NSwgMSwgNjEsIDI1MCwgMjQ1LCAxLCAyMjYsIDk1LCAyNTAsIDI0NSwgMSwgMjQ5LCA2OCwgMjUwLCAyNDUsIDEsIDE1NiwgCi0gICAgMjUwLCAyNDUsIDEsIDIxNCwgMTE2LCAyNTAsIDI0NSwgMSwgMTUzLCAyNTAsIDI0NSwgMSwgMjMzLCA2OCwgMjUwLCAyNDUsIAotICAgIDEsIDI1NSwgODQsIDI1MCwgMjQ1LCAxLCAyMjQsIDk5LCAyNTAsIDI0NSwgMSwgMjUzLCAxNjYsIDI1MCwgMjQ1LCAxLCAKLSAgICAxOTQsIDI1MCwgMjQ1LCAxLCA3OCwgMjUwLCAyNDUsIDEsIDI0OCwgMjMxLCAyNTAsIDI0NSwgMSwgMjE3LCAxNTMsIDI1MCwgCi0gICAgMjQ1LCAxLCAyMjAsIDEwNiwgMjUwLCAyNDUsIDEsIDIyMCwgMTA1LCAyNTAsIDI0NSwgMSwgMjIyLCA5MywgMjUwLCAyNDUsIAotICAgIDEsIDI1MSwgNzMsIDI1MCwgMjQ1LCAxLCA2OSwgMjUwLCAyNDUsIDEsIDIyOCwgMTE2LCAyNTAsIDI0NSwgMSwgMjExLCAKLSAgICAxNzgsIDI1MCwgMjQ1LCAxLCAyMzAsIDMwLCAyNTAsIDI0NSwgMSwgMjE1LCAxNTksIDI1MCwgMjQ1LCAxLCAyMjYsIDEwOSwgCi0gICAgMjUwLCAyNDUsIDEsIDIxOCwgMjI4LCAyNTAsIDI0NSwgMSwgNzQsIDI1MCwgMjQ1LCAxLCA3NiwgMjUwLCAyNDUsIDEsIAotICAgIDIxNCwgMTEzLCAyNTAsIDI0NSwgMSwgMjM1LCAyOSwgMjUwLCAyNDUsIDEsIDIzNSwgMjAsIDI1MCwgMjQ1LCAxLCAyMjksIAotICAgIDE1NSwgMjUwLCAyNDUsIDEsIDIxNCwgMTE4LCAyNTAsIDI0NSwgMSwgMjQzLCAyMDksIDI1MCwgMjQ1LCAxLCAyNDMsIDE0NCwgCi0gICAgMjUwLCAyNDUsIDEsIDIxOCwgMTcwLCAyNTAsIDI0NSwgMSwgMjE4LCAxNjksIDI1MCwgMjQ1LCAxLCAyMjksIDg0LCAyNTAsIAotICAgIDI0NSwgMSwgMjM2LCA0MCwgMjUwLCAyNDUsIDEsIDI1MSwgNzIsIDI1MCwgMjQ1LCAxLCAyMTUsIDE2MCwgMjUwLCAyNDUsIAotICAgIDEsIDIxNCwgMTE1LCAyNTAsIDI0NSwgMSwgMjIyLCAxODIsIDI1MCwgMjQ1LCAxLCAyMzEsIDEzNCwgMjUwLCAyNDUsIDEsIAotICAgIDIzMSwgMTMzLCAyNTAsIDI0NSwgMSwgMjMxLCAxMzIsIDI1MCwgMjQ1LCAxLCAyMzEsIDEzMSwgMjUwLCAyNDUsIDEsIDIzMywgCi0gICAgNjcsIDI1MCwgMjQ1LCAxLCAyNDUsIDI0MiwgMjUwLCAyNDUsIDEsIDIxNCwgMTE0LCA1NSwgMzIsIDEsIDYxLCA1NSwgMzIsIAotICAgIDEsIDI1MiwgODMsIDU1LCAzMiwgMSwgMjM0LCAxODgsIDU1LCAzMiwgMSwgMjQ4LCA5OCwgNTUsIDMyLCAxLCA3NiwgNTUsIAotICAgIDMyLCAxLCAyMTMsIDI1NSwgNTUsIDMyLCAxLCAyMTAsIDk0LCA1NSwgMzIsIDEsIDI0MSwgMjQ1LCA1NSwgMzIsIDEsIDIxNiwgCi0gICAgMTk2LCA1NSwgMzIsIDEsIDc0LCA1NSwgMzIsIDEsIDE3NiwgNTUsIDMyLCAxLCAyNDUsIDE4MiwgNTUsIDMyLCAxLCAyNDUsIAotICAgIDE2NywgNTUsIDMyLCAxLCAyNDUsIDE1OCwgNTUsIDMyLCAxLCAyNDUsIDgzLCA1NSwgMzIsIDEsIDc4LCA1NSwgMzIsIDEsIAotICAgIDIyNSwgMjI0LCA1NSwgMzIsIDEsIDIyMCwgNjUsIDU1LCAzMiwgMSwgMjMzLCAyMjMsIDU1LCAzMiwgMSwgMjQ1LCAxMDAsIAotICAgIDU1LCAzMiwgMSwgMjQ1LCA5MCwgNTUsIDMyLCAxLCAyMTcsIDIzLCA1NSwgMzIsIDEsIDY5LCA1NSwgMzIsIDEsIDI0NSwgCi0gICAgMTg1LCA1NSwgMzIsIDEsIDIyNSwgMTM5LCA1NSwgMzIsIDEsIDIzNCwgMTI1LCA1NSwgMzIsIDEsIDI0NSwgMjEwLCA1NSwgCi0gICAgMzIsIDEsIDI0NSwgOTIsIDU1LCAzMiwgMSwgMjUwLCAxMzksIDU1LCAzMiwgMSwgMjM2LCA0MCwgNTUsIDMyLCAxLCAyMTQsIAotICAgIDExOCwgNTUsIDMyLCAyMjcsIDIwMiwgMTExLCA1NSwgMzIsIDIyNywgMjAyLCAxOTAsIDU1LCAzMiwgMjI3LCAyMDIsIDIxNiwgCi0gICAgMjQ4LCA1NSwgMzIsIDIyNywgMjAyLCAyNDQsIDEyMiwgMjQyLCAxNjAsIDEsIDI1NCwgMjEzLCAyNDIsIDE2MCwgMSwgMjUyLCAKLSAgICAxNzEsIDI0MiwgMTYwLCAxLCAyNDIsIDIxOCwgMjQyLCAxNjAsIDEsIDI0OCwgMjEyLCAyNDIsIDE2MCwgMSwgMjU0LCAyMDksIAotICAgIDI0MiwgMTYwLCAxLCAyMjQsIDgyLCAyNDIsIDE2MCwgMSwgMjM1LCAxNjEsIDI0MiwgMTYwLCAxLCAyNDIsIDQ2LCAyNDIsIAotICAgIDE2MCwgMSwgMjE2LCAxNTksIDI0MiwgMTYwLCAxLCAyNDUsIDE5MSwgMjQyLCAxNjAsIDEsIDIzMywgMTk2LCAyNDIsIDE2MCwgCi0gICAgMSwgMjMzLCAxMTksIDI0MiwgMTYwLCAxLCAyMzEsIDE4NCwgMjQyLCAxNjAsIDEsIDIyOSwgMTg5LCAyNDIsIDE2MCwgMSwgCi0gICAgMjM1LCAxMjUsIDI0MiwgMTYwLCAxLCAyMTQsIDEzNiwgMjQyLCAxNjAsIDEsIDIyNiwgNzMsIDI0MiwgMTYwLCAxLCAyMjgsIAotICAgIDIwMCwgMjQyLCAxNjAsIDEsIDIyMywgMTY4LCAyNDIsIDE2MCwgMSwgMjIxLCAyMjAsIDI0MiwgMTYwLCAxLCAyMTcsIDUsIAotICAgIDI0MiwgMTYwLCAxLCAyMTEsIDIzNCwgMjQyLCAxNjAsIDEsIDI0NCwgMTg2LCAyNDIsIDE2MCwgMSwgMjM2LCA0NCwgMjQyLCAKLSAgICAxNjAsIDEsIDI0MCwgMjA2LCAyNDIsIDE2MCwgMSwgMjI2LCAxNDMsIDI0MiwgMTYwLCAxLCAyMjgsIDIwNSwgMjQwLCAyMTcsIAotICAgIDIxNCwgMjA5LCAxLCAyNTQsIDE1NSwgMjE0LCAyMDksIDEsIDI1MiwgMzQsIDIxNCwgMjA5LCAxLCAyNDMsIDExNSwgMjE0LCAKLSAgICAyMDksIDEsIDIzNCwgMTM4LCAyMTQsIDIwOSwgMSwgMjQ4LCA2MiwgMjE0LCAyMDksIDEsIDI0MSwgNzUsIDIxNCwgMjA5LCAKLSAgICAxLCAyMTEsIDIyNywgMjE0LCAyMDksIDEsIDIxMCwgODUsIDIxNCwgMjA5LCAxLCAyNDAsIDI0OCwgMjE0LCAyMDksIDEsIAotICAgIDIxNiwgMjMxLCAyMTQsIDIwOSwgMSwgMjEwLCAyMzMsIDIxNCwgMjA5LCAxLCAyMzUsIDAsIDIxNCwgMjA5LCAxLCAyMjAsIAotICAgIDIyLCAyMTQsIDIwOSwgMSwgMjMzLCAxMDQsIDIxNCwgMjA5LCAxLCAyMzEsIDcwLCAyMTQsIDIwOSwgMSwgMjQ4LCAyOSwgCi0gICAgMjE0LCAyMDksIDEsIDIyNywgMTk4LCAyMTQsIDIwOSwgMSwgMjEwLCAxMywgMjE0LCAyMDksIDEsIDIyMSwgMjUwLCAyMTQsIAotICAgIDIwOSwgMSwgMjU0LCAyMDUsIDIxNCwgMjA5LCAxLCAyMjQsIDE1MywgMjE0LCAyMDksIDEsIDIyMiwgMjcsIDIxNCwgMjA5LCAKLSAgICAxLCAyMjQsIDM4LCAyMTQsIDIwOSwgMSwgMjIzLCAxNDcsIDIxNCwgMjA5LCAxLCAyMTYsIDIwMCwgMjE0LCAyMDksIDEsIAotICAgIDI0MiwgMjUxLCAyMTQsIDIwOSwgMSwgMTEyLCAyMTQsIDIwOSwgMSwgNzQsIDIxNCwgMjA5LCAxLCA2OSwgMjE0LCAyMDksIAotICAgIDEsIDIxOCwgMTgxLCAyMTQsIDIwOSwgMjExLCAyMDksIDI0NywgMTgwLCA1NSwgMjI1LCAxNzIsIDUsIDYxLCA1NSwgMjI1LCAKLSAgICAxNzIsIDUsIDc0LCA1NSwgMjI1LCAxNzIsIDUsIDY5LCA1NSwgMjI1LCAxNzIsIDUsIDE3NiwgNTUsIDIyNSwgMTcyLCA1LCAKLSAgICAyMzMsIDIyMywgNTUsIDIyNSwgMTcyLCA1LCAyNDMsIDE0MiwgNTUsIDIyNSwgMTcyLCA1LCAyNDIsIDEyMCwgNTUsIDIyNSwgCi0gICAgMTcyLCA1LCAyMTEsIDE2NSwgNTUsIDIyNSwgMTcyLCA1LCAyNTEsIDQxLCA1NSwgMjI1LCAxNzIsIDUsIDIzNSwgMTQ3LCAKLSAgICA1NSwgMjI1LCAxNzIsIDUsIDIzNSwgMTE0LCA1NSwgMjI1LCAxNzIsIDUsIDIxNywgMTA2LCA1NSwgMjI1LCAxNzIsIDUsIAotICAgIDIxNSwgMTE5LCA1NSwgMjI1LCAxNzIsIDUsIDI0OCwgMjI5LCA1NSwgMjI1LCAxNzIsIDUsIDI0OCwgMTEsIDU1LCAyMjUsIAotICAgIDE3MiwgNSwgMjQ2LCA4NiwgNTUsIDIyNSwgMTcyLCA1LCAyMTYsIDIwOSwgNTUsIDIyNSwgMTcyLCA1LCAxOTEsIDU1LCAKLSAgICAyMjUsIDE3MiwgNSwgMjUyLCAxOTksIDU1LCAyMjUsIDE3MiwgNSwgMjQ0LCAyMDQsIDU1LCAyMjUsIDE3MiwgNSwgMTk4LCAKLSAgICA1NSwgMjI1LCAxNzIsIDUsIDIyNywgMjQyLCA1NSwgMjI1LCAxNzIsIDUsIDE4NiwgNTUsIDIyNSwgMTcyLCA1LCAyMzAsIAotICAgIDIzNSwgNTUsIDIyNSwgMTcyLCA1LCAyMzAsIDEwNywgNTUsIDIyNSwgMTcyLCA1LCAxOTIsIDU1LCAyMjUsIDE3MiwgNSwgCi0gICAgMjE0LCAyNywgNTUsIDIyNSwgMTcyLCA1LCAyMTMsIDE3NiwgNTUsIDIyNSwgMTcyLCA1LCAyMDUsIDU1LCAyMjUsIDE3MiwgCi0gICAgNSwgMjIyLCAxNDIsIDU1LCAyMjUsIDE3MiwgNSwgMjMzLCAxNDEsIDU1LCAyMjUsIDE3MiwgNSwgMjA2LCA1NSwgMjI1LCAKLSAgICAxNzIsIDUsIDIxMCwgMTE2LCA1NSwgMjI1LCAxNzIsIDUsIDIyMCwgMTA0LCA1NSwgMjI1LCAxNzIsIDUsIDIxOCwgMjI1LCAKLSAgICA1NSwgMjI1LCAxNzIsIDUsIDE2MiwgNTUsIDIyNSwgMTcyLCA1LCAyNTMsIDE5NCwgNTUsIDIyNSwgMTcyLCA1LCAyNTMsIAotICAgIDE5MywgNTUsIDIyNSwgMTcyLCA1LCAyNTMsIDE5MiwgNTUsIDIyNSwgMTcyLCA1LCAyMTEsIDE0MiwgNTUsIDIyNSwgMTcyLCAKLSAgICA1LCAyNDgsIDIwOCwgNTUsIDIyNSwgMTcyLCA1LCAyNDgsIDIwNywgNTUsIDIyNSwgMTcyLCA1LCAyNTIsIDE3OCwgNTUsIAotICAgIDIyNSwgMTcyLCA1LCAyNTEsIDkzLCA1NSwgMjI1LCAxNzIsIDIxMSwgMjA5LCAyNDcsIDE4MCwgNTUsIDIyNSwgMTcyLCA1NCwgCi0gICAgMTExLCA1NSwgMjI1LCAxNzIsIDU0LCAxMDUsIDU1LCAyMjUsIDE3MiwgNTQsIDIxNiwgMjQ4LCA1NSwgMjI1LCAxNzIsIDU0LCAKLSAgICAyMTUsIDczLCA1NSwgMjI1LCAxNzIsIDU0LCAyNDAsIDIxNywgMTgxLCA2LCAxLCAyMDAsIDc0LCAxODEsIDYsIDEsIDIwMCwgCi0gICAgNzYsIDE4MSwgNiwgMSwgMjAwLCA2MSwgMTgxLCA2LCAxLCAyMDAsIDI1NCwgMjE4LCAxODEsIDYsIDEsIDIwMCwgNzgsIAotICAgIDE4MSwgNiwgMSwgMjAwLCAyMjYsIDE4NywgMTgxLCA2LCAxLCAyMTksIDI1MywgNzQsIDE4MSwgNiwgMSwgMjE5LCAyNTMsIAotICAgIDc2LCAxODEsIDYsIDEsIDIxOSwgMjUzLCA2MSwgMTgxLCA2LCAxLCAyMTksIDI1MywgMjU0LCAyMTgsIDE4MSwgNiwgMSwgCi0gICAgMjE5LCAyNTMsIDc4LCAxODEsIDYsIDEsIDIxOSwgMjUzLCAyMjYsIDE4NywgMTgxLCA2LCAxLCAyNTMsIDE3NSwgMTgxLCA2LCAKLSAgICAxLCAyMjYsIDEyMCwgMTgxLCA2LCAxLCAyMTEsIDE5NSwgMTgxLCA2LCAxLCAyMTEsIDQ0LCAxODEsIDYsIDEsIDI0MiwgNjcsIAotICAgIDE4MSwgNiwgMSwgMjI1LCAyMTQsIDE4MSwgNiwgMSwgMjUyLCA3NCwgMTgxLCA2LCAxLCAyMTcsIDEyLCAxODEsIDYsIDEsIAotICAgIDI0OCwgODUsIDE4MSwgNiwgMSwgMjUwLCAxMzYsIDE4MSwgNiwgMSwgMjM1LCAxMzAsIDE4MSwgNiwgMSwgMjM0LCAxOTUsIAotICAgIDE4MSwgNiwgMSwgMjQzLCA5MCwgMTgxLCA2LCAxLCAyNDUsIDIxMCwgMTgxLCA2LCAxLCAyMTMsIDI1MCwgMTgxLCA2LCAxLCAKLSAgICAyNDUsIDY3LCAxODEsIDYsIDEsIDIxNiwgMTk1LCAxODEsIDYsIDEsIDI0NSwgOTAsIDE4MSwgNiwgMSwgMjEwLCA5MiwgCi0gICAgMTgxLCA2LCAxLCAyNDUsIDgzLCAxODEsIDYsIDEsIDIxMCwgNzMsIDE4MSwgNiwgMSwgMjQ1LCAxMDAsIDE4MSwgNiwgMSwgCi0gICAgMjQ1LCAxODIsIDE4MSwgNiwgMSwgMjQ1LCAxNjcsIDE4MSwgNiwgMSwgMjQ1LCAxNTgsIDE4MSwgNiwgMSwgMjQ1LCAxNDYsIAotICAgIDE4MSwgNiwgMSwgMjI2LCAyMjMsIDE4MSwgNiwgMSwgMjQ1LCA0NiwgMTgxLCA0LCAxLCAyMDAsIDc0LCAxODEsIDQsIDEsIAotICAgIDIwMCwgNzYsIDE4MSwgNCwgMSwgMjAwLCA2MSwgMTgxLCA0LCAxLCAyMDAsIDI1NCwgMjE4LCAxODEsIDQsIDEsIDIwMCwgCi0gICAgNzgsIDE4MSwgNCwgMSwgMjAwLCAyMjYsIDE4NywgMTgxLCA0LCAxLCAyMTksIDI1MywgNzQsIDE4MSwgNCwgMSwgMjE5LCAKLSAgICAyNTMsIDc2LCAxODEsIDQsIDEsIDIxOSwgMjUzLCA2MSwgMTgxLCA0LCAxLCAyMTksIDI1MywgMjU0LCAyMTgsIDE4MSwgNCwgCi0gICAgMSwgMjE5LCAyNTMsIDc4LCAxODEsIDQsIDEsIDIxOSwgMjUzLCAyMjYsIDE4NywgMTgxLCA0LCAxLCAyNTMsIDE3NSwgMTgxLCAKLSAgICA0LCAxLCAyMjYsIDEyMCwgMTgxLCA0LCAxLCAyMTEsIDE5NSwgMTgxLCA0LCAxLCAyMTEsIDQ0LCAxODEsIDQsIDEsIDI0MiwgCi0gICAgNjcsIDE4MSwgNCwgMSwgMjI1LCAyMTQsIDE4MSwgNCwgMSwgMjUyLCA3NCwgMTgxLCA0LCAxLCAyMTcsIDEyLCAxODEsIDQsIAotICAgIDEsIDI0OCwgODUsIDE4MSwgNCwgMSwgMjUwLCAxMzYsIDE4MSwgNCwgMSwgMjM1LCAxMzAsIDE4MSwgNCwgMSwgMjM0LCAKLSAgICAxOTUsIDE4MSwgNCwgMSwgMjQzLCA5MCwgMTgxLCA0LCAxLCAyNDUsIDIxMCwgMTgxLCA0LCAxLCAyMTMsIDI1MCwgMTgxLCAKLSAgICA0LCAxLCAyNDUsIDY3LCAxODEsIDQsIDEsIDIxNiwgMTk1LCAxODEsIDQsIDEsIDI0NSwgOTAsIDE4MSwgNCwgMSwgMjEwLCAKLSAgICA5MiwgMTgxLCA0LCAxLCAyNDUsIDgzLCAxODEsIDQsIDEsIDIxMCwgNzMsIDE4MSwgNCwgMSwgMjQ1LCAxMDAsIDE4MSwgNCwgCi0gICAgMSwgMjQ1LCAxODIsIDE4MSwgNCwgMSwgMjQ1LCAxNjcsIDE4MSwgNCwgMSwgMjQ1LCAxNTgsIDE4MSwgNCwgMSwgMjQ1LCAKLSAgICAxNDYsIDE4MSwgNCwgMSwgMjI2LCAyMjMsIDE4MSwgNCwgMSwgMjQ1LCA0NiwgMjIwLCA3MSwgMSwgMjI1LCAyMTIsIDIyMCwgCi0gICAgNzEsIDEsIDIxNiwgNiwgMjIwLCA3MSwgMSwgMjM0LCA5NywgMjIwLCA3MSwgMSwgMjQ0LCAxNTUsIDIyMCwgNzEsIDEsIAotICAgIDIxNiwgMTczLCAyMjAsIDcxLCAxLCAyMTksIDYwLCAyMjAsIDcxLCAxLCAyMTgsIDE1LCAyMjAsIDcxLCAxLCAyNTAsIDY5LCAKLSAgICAyMjAsIDcxLCAxLCAyMTEsIDQ2LCAyMjAsIDcxLCAxLCAyNDAsIDIxNiwgMjIwLCA3MSwgMSwgMjUyLCAxMywgMjIwLCA3MSwgCi0gICAgMSwgMjQ4LCA5NywgMjIwLCA3MSwgMSwgMjQzLCAxMjgsIDIyMCwgNzEsIDEsIDIxMywgMTIzLCAyMjAsIDcxLCAxLCAyMTYsIAotICAgIDE3NywgMjIwLCA3MSwgMSwgMjEwLCAyMSwgMjIwLCA3MSwgMSwgMjMxLCA5NCwgMjIwLCA3MSwgMSwgMjM1LCA1NSwgMjIwLCAKLSAgICA3MSwgMSwgMjExLCAyMjUsIDIyMCwgNzEsIDEsIDI0MiwgNTUsIDIyMCwgNzEsIDEsIDIzMiwgMTQ4LCAyMjAsIDcxLCAxLCAKLSAgICAyMzAsIDE5NCwgMjIwLCA3MSwgMSwgMjM2LCA0NywgMjIwLCA3MSwgMSwgMjQ1LCAyMDksIDIyMCwgNzEsIDEsIDI1MywgCi0gICAgMjM5LCAyMjAsIDcxLCAxLCAyNTUsIDAsIDIyMCwgNzEsIDEsIDIyNiwgMjAwLCAyMjAsIDcxLCAxLCAyMTEsIDIxMiwgMjIwLCAKLSAgICA3MSwgMSwgMjI2LCAxMzQsIDIyMCwgNzEsIDEsIDI1NCwgMjE4LCAyMjAsIDcxLCAxLCAyMjIsIDIxMCwgMjIwLCA3MSwgMSwgCi0gICAgMjI3LCAxOTgsIDIyMCwgNzEsIDEsIDI0NSwgMjI1LCAyMjAsIDcxLCAxLCAyNTQsIDIyMywgMjIwLCA3MSwgMSwgMjQwLCAKLSAgICAxMTgsIDIyMCwgNzEsIDEsIDIxNCwgMTYzLCAyMjAsIDcxLCAxLCAyMjcsIDIsIDIyMCwgNzEsIDEsIDIyNiwgMTgwLCAyMjAsIAotICAgIDcxLCAxLCAyMjYsIDIyMiwgMjIwLCA3MSwgMSwgMjUzLCAxNzgsIDIyMCwgNzEsIDEsIDI1NCwgMjcsIDIyMCwgNzEsIDEsIAotICAgIDIyNiwgMTYyLCAyMjAsIDcxLCAxLCAyNTQsIDIwMSwgMjIwLCA3MSwgMSwgMjQ1LCA5NCwgMjIwLCA3MSwgMSwgMjU0LCA1LCAKLSAgICAyMjAsIDcxLCAxLCAyNDUsIDIzNSwgMjIwLCA3MSwgMSwgMjQwLCAxMjUsIDIyMCwgNzEsIDEsIDIxMSwgMTMsIDIyNiwgCi0gICAgMTQ1LCAxLCAyNTQsIDE3OSwgMjI2LCAxNDUsIDEsIDI1MiwgMTk5LCAyMjYsIDE0NSwgMSwgMjE3LCAxMDYsIDIyNiwgMTQ1LCAKLSAgICAxLCAyMzUsIDE0NywgMjI2LCAxNDUsIDEsIDIxMSwgMTY1LCAyMjYsIDE0NSwgMSwgMjM0LCAxMzgsIDIyNiwgMTQ1LCAxLCAKLSAgICAyNDgsIDg0LCAyMjYsIDE0NSwgMSwgMjA1LCAyMjYsIDE0NSwgMSwgMjA2LCAyMjYsIDE0NSwgMSwgMjIwLCAyOCwgMjI2LCAKLSAgICAxNDUsIDEsIDI0OCwgMzMsIDIyNiwgMTQ1LCAxLCAyNTAsIDIyMywgMjI2LCAxNDUsIDEsIDI0MywgMTQyLCAyMjYsIDE0NSwgCi0gICAgMSwgMjQ0LCAyMDQsIDIyNiwgMTQ1LCAxLCAyMjQsIDg5LCAyMjYsIDE0NSwgMSwgMjM1LCAxNSwgMjI2LCAxNDUsIDEsIAotICAgIDIzMywgMTM2LCAyMjYsIDE0NSwgMSwgMjMwLCAyMDUsIDIyNiwgMTQ1LCAxLCAyMjcsIDE4MiwgMjI2LCAxNDUsIDEsIDIxMiwgCi0gICAgMzAsIDIyNiwgMTQ1LCAxLCAxNjIsIDIyNiwgMTQ1LCAxLCAxOTIsIDIyNiwgMTQ1LCAxLCA2MSwgMjI2LCAxNDUsIDEsIDc2LCAKLSAgICAyMjYsIDE0NSwgMSwgNzQsIDIyNiwgMTQ1LCAxLCA3OCwgMjI2LCAxNDUsIDEsIDY5LCAyMjYsIDE0NSwgMSwgMjU1LCA4MiwgCi0gICAgMjI2LCAxNDUsIDEsIDI0NSwgMjE3LCAyMjYsIDE0NSwgMSwgMjI2LCAxODcsIDIyNiwgMTQ1LCAyMSwgMjEwLCA4NiwgMjI2LCAKLSAgICAxNDUsIDIxLCAxMTEsIDIyNiwgMTQ1LCAyMSwgMTA1LCAyMjYsIDE0NSwgMjEsIDE1OCwgMjI2LCAxNDUsIDIxLCAxNjEsIAotICAgIDIyNiwgMTQ1LCAyMSwgMTkwLCAyMjYsIDE0NSwgMjEsIDE5NSwgMjI2LCAxNDUsIDIxLCAxOTksIDIyNiwgMTQ1LCAyMSwgCi0gICAgMTk2LCAyMjYsIDE0NSwgMjEsIDIwMSwgMjQ5LCA3NSwgMywgNjEsIDI0OSwgNzUsIDMsIDc2LCAyNDksIDc1LCAzLCA3NCwgCi0gICAgMjQ5LCA3NSwgMywgNzgsIDI0OSwgNzUsIDMsIDY5LCAyNDksIDc1LCAzLCAyMzUsIDE0NywgMjQ5LCA3NSwgMywgMjM1LCAKLSAgICA3NCwgMjQ5LCA3NSwgMywgMTc2LCAyNDksIDc1LCAzLCAyMzQsIDE4OCwgMjQ5LCA3NSwgMywgMjM0LCA5OCwgMjQ5LCA3NSwgCi0gICAgMywgMjM0LCAzNCwgMjQ5LCA3NSwgMywgMjMzLCAyMjMsIDI0OSwgNzUsIDMsIDIzMywgMTQxLCAyNDksIDc1LCAzLCAyMzMsIAotICAgIDY0LCAyNDksIDc1LCAzLCAyMzIsIDI0NywgMjQ5LCA3NSwgMywgMjMyLCAxNjIsIDI0OSwgNzUsIDMsIDIzMiwgMTAzLCAKLSAgICAyNDksIDc1LCAzLCAxODYsIDI0OSwgNzUsIDMsIDIzMSwgOTYsIDI0OSwgNzUsIDMsIDIzMCwgMjM1LCAyNDksIDc1LCAzLCAKLSAgICAyMzAsIDE2NiwgMjQ5LCA3NSwgMywgMjMwLCAxMDcsIDI0OSwgNzUsIDMsIDE5OCwgMjQ5LCA3NSwgMywgMjI5LCAxMTIsIAotICAgIDI0OSwgNzUsIDMsIDIyOCwgMjM4LCAyNDksIDc1LCAzLCAyMjgsIDc5LCAyNDksIDc1LCAzLCAyMjcsIDI0MiwgMjQ5LCA3NSwgCi0gICAgMywgMTkxLCAyNDksIDc1LCAzLCAyMjUsIDIyNCwgMjQ5LCA3NSwgMywgMjI1LCAxMTEsIDI0OSwgNzUsIDMsIDIyNSwgMTksIAotICAgIDI0OSwgNzUsIDMsIDIyNCwgMTUzLCAyNDksIDc1LCAzLCAyMDUsIDI0OSwgNzUsIDMsIDIyMywgMTMxLCAyNDksIDc1LCAzLCAKLSAgICAyMjMsIDM4LCAyNDksIDc1LCAzLCAyMjIsIDIxMywgMjQ5LCA3NSwgMywgMjIyLCAxNDIsIDI0OSwgNzUsIDMsIDIwNiwgCi0gICAgMjQ5LCA3NSwgMywgMjIxLCAxODMsIDI0OSwgNzUsIDMsIDIxOSwgMTkzLCAyNDksIDc1LCAzLCAyMTksIDYwLCAyNDksIDc1LCAKLSAgICAzLCAyMTgsIDg0LCAyNDksIDc1LCAzLCAyMTcsIDEwNiwgMjQ5LCA3NSwgMywgMjE3LCAyMywgMjQ5LCA3NSwgMywgMjE2LCAKLSAgICAxMTgsIDI0OSwgNzUsIDMsIDExMiwgMjQ5LCA3NSwgMywgMjE1LCAxMTksIDI0OSwgNzUsIDMsIDIxMiwgNjUsIDI0OSwgNzUsIAotICAgIDMsIDIxMiwgMjIsIDI0OSwgNzUsIDMsIDIxMSwgMjUwLCAyNDksIDc1LCAzLCAyMTEsIDIyNywgMjQ5LCA3NSwgMywgMjExLCAKLSAgICAxNjUsIDI0OSwgNzUsIDMsIDIxMSwgMTYyLCAyNDksIDc1LCAzLCAyMTAsIDExNiwgMjQ5LCA3NSwgMywgMjEwLCAyMywgCi0gICAgMjM2LCA4LCAyNTQsIDM1LCAxLCAyNTQsIDE3NywgMjM2LCA4LCAyNTQsIDM1LCAxLCAyNTIsIDMzLCAyMzYsIDgsIDI1NCwgCi0gICAgMzUsIDEsIDI0MiwgMjA4LCAyMzYsIDgsIDI1NCwgMzUsIDEsIDI0OCwgMTk2LCAyMzYsIDgsIDI1NCwgMzUsIDEsIDI0MSwgCi0gICAgMjQ1LCAyMzYsIDgsIDI1NCwgMzUsIDEsIDIxMiwgMzAsIDIzNiwgOCwgMjU0LCAzNSwgMSwgMjEwLCA5NywgMjM2LCA4LCAKLSAgICAyNTQsIDM1LCAxLCAyNDEsIDIwMiwgMjM2LCA4LCAyNTQsIDM1LCAxLCAyMTYsIDIyNywgMjM2LCA4LCAyNTQsIDM1LCAxLCAKLSAgICAyMTAsIDIzMiwgMjM2LCA4LCAyNTQsIDM1LCAxLCAyMzQsIDIzMSwgMjM2LCA4LCAyNTQsIDM1LCAxLCAyMzMsIDk5LCAyMzYsIAotICAgIDgsIDI1NCwgMzUsIDEsIDIzMSwgNzAsIDIzNiwgOCwgMjU0LCAzNSwgMSwgMjI3LCAxOTgsIDIzNiwgOCwgMjU0LCAzNSwgMSwgCi0gICAgMjIxLCAyNTEsIDIzNiwgOCwgMjU0LCAzNSwgMSwgMjUzLCAxNzAsIDIzNiwgOCwgMjU0LCAzNSwgMSwgMjI1LCAyMjQsIAotICAgIDIzNiwgOCwgMjU0LCAzNSwgMSwgMjIyLCAyNiwgMjM2LCA4LCAyNTQsIDM1LCAxLCAyMjQsIDM3LCAyMzYsIDgsIDI1NCwgCi0gICAgMzUsIDEsIDIyMywgNzAsIDIzNiwgOCwgMjU0LCAzNSwgMSwgMjIwLCAyMiwgMjM2LCA4LCAyNTQsIDM1LCAxLCAyMTcsIDM3LCAKLSAgICAyMzYsIDgsIDI1NCwgMzUsIDIyMSwgMTc1LCA1MCwgMjM2LCA4LCAyNTQsIDM1LCA1NCwgMTExLCAyMzYsIDgsIDI1NCwgMzUsIAotICAgIDU0LCAxMDUsIDIzNiwgOCwgMjU0LCAzNSwgNTQsIDE1OCwgMjM2LCA4LCAyNTQsIDM1LCA1NCwgMjE2LCAyNDgsIDIzNiwgOCwgCi0gICAgMjU0LCAzNSwgNTQsIDIxNSwgNzMsIDIzNiwgOCwgMjU0LCAzNSwgNTQsIDEyMywgMjQwLCAyMTcsIDIzNiwgOCwgMjU0LCAKLSAgICAzNSwgNTQsIDEyMywgMjE2LCAxNDgsIDIzNiwgOCwgMjU0LCAzNSwgNTQsIDIxNiwgMjQ5LCAyMTYsIDE0OCwgMjI1LCAxMjIsIAotICAgIDEsIDI1NCwgMTc0LCAyMjUsIDEyMiwgMSwgMjUyLCAzNiwgMjI1LCAxMjIsIDEsIDI0MywgMTE2LCAyMjUsIDEyMiwgMSwgCi0gICAgMjQ4LCA2NCwgMjI1LCAxMjIsIDEsIDI0MSwgMjQ1LCAyMjUsIDEyMiwgMSwgMjEyLCAzNywgMjI1LCAxMjIsIDEsIDIxMCwgCi0gICAgMTEwLCAyMjUsIDEyMiwgMSwgMjQxLCAyMDQsIDIyNSwgMTIyLCAxLCAyMTYsIDIzMSwgMjI1LCAxMjIsIDEsIDIxMCwgMjMzLCAKLSAgICAyMjUsIDEyMiwgMSwgMjM1LCAwLCAyMjUsIDEyMiwgMSwgMjMzLCAxMDUsIDIyNSwgMTIyLCAxLCAyMzEsIDcwLCAyMjUsIAotICAgIDEyMiwgMSwgMjI3LCAxOTgsIDIyNSwgMTIyLCAxLCAyMjAsIDE0NiwgMjI1LCAxMjIsIDEsIDI1NCwgMjA1LCAyMjUsIDEyMiwgCi0gICAgMSwgMjI1LCAyMjQsIDIyNSwgMTIyLCAxLCAyMjIsIDI3LCAyMjUsIDEyMiwgMSwgMjI0LCA0MiwgMjI1LCAxMjIsIDEsIAotICAgIDIyMiwgMTkxLCAyMjUsIDEyMiwgMSwgMjIwLCAyMiwgMjI1LCAxMjIsIDEsIDIxNywgNDIsIDIyNSwgMTIyLCA1NCwgMTExLCAKLSAgICAyMjUsIDEyMiwgNTQsIDIxNiwgMjQ4LCAyMjUsIDEyMiwgNTQsIDIxNSwgNzMsIDIyNSwgMTIyLCA1NCwgMTIzLCAyNDAsIAotICAgIDIxNywgMjI1LCAxMjIsIDU0LCAxMDUsIDIyNSwgMTIyLCA1NCwgMTU4LCAyMjUsIDEyMiwgMjExLCAyMDksIDIyMCwgMTM5LCAKLSAgICAyMzIsIDY0LCAxLCA2MSwgMjMyLCA2NCwgMSwgMjUzLCAxNjYsIDIzMiwgNjQsIDEsIDI0MywgMjA5LCAyMzIsIDY0LCAxLCAKLSAgICAyNDksIDY4LCAyMzIsIDY0LCAxLCA3NiwgMjMyLCA2NCwgMSwgMjE0LCAxMDUsIDIzMiwgNjQsIDEsIDc0LCAyMzIsIDY0LCAKLSAgICAxLCAyMTEsIDExNywgMjMyLCA2NCwgMSwgMjM1LCAyOSwgMjMyLCA2NCwgMSwgMTU2LCAyMzIsIDY0LCAxLCAxOTQsIDIzMiwgCi0gICAgNjQsIDEsIDIzMCwgMzAsIDIzMiwgNjQsIDEsIDc4LCAyMzIsIDY0LCAxLCAxNTMsIDIzMiwgNjQsIDEsIDIxOCwgMjI4LCAKLSAgICAyMzIsIDY0LCAxLCAyMTcsIDE1MywgMjMyLCA2NCwgMSwgNjksIDIzMiwgNjQsIDEsIDI0NSwgMTQsIDIzMiwgNjQsIDEsIAotICAgIDIyNCwgOTksIDIzMiwgNjQsIDEsIDIyMiwgOTMsIDIzMiwgNjQsIDEsIDIxNSwgMTYwLCAyMzIsIDY0LCAxLCAyNTQsIDEzMSwgCi0gICAgMjMyLCA2NCwgMSwgMjQ1LCAxNTgsIDIzMiwgNjQsIDEsIDIzMiwgNjcsIDIzMiwgNjQsIDEsIDIyOCwgMTE2LCAyMzIsIDY0LCAKLSAgICAxLCAyNTEsIDc0LCAyMzIsIDY0LCAyMTUsIDIyMywgNzksIDIzMSwgNTMsIDI0MSwgMTgxLCAxLCA2MSwgMjMxLCA1MywgCi0gICAgMjQxLCAxODEsIDEsIDc2LCAyMzEsIDUzLCAyNDEsIDE4MSwgMSwgNzQsIDIzMSwgNTMsIDI0MSwgMTgxLCAxLCA3OCwgMjMxLCAKLSAgICA1MywgMjQxLCAxODEsIDEsIDE5MiwgMjMxLCA1MywgMjQxLCAxODEsIDEsIDIxMiwgNjUsIDIzMSwgNTMsIDI0MSwgMTgxLCAKLSAgICAxLCAyNTIsIDE5OSwgMjMxLCA1MywgMjQxLCAxODEsIDEsIDI1MiwgMTk4LCAyMzEsIDUzLCAyNDEsIDE4MSwgMSwgMTkxLCAKLSAgICAyMzEsIDUzLCAyNDEsIDE4MSwgMSwgMTg2LCAyMzEsIDUzLCAyNDEsIDE4MSwgMSwgMTk4LCAyMzEsIDUzLCAyNDEsIDE4MSwgCi0gICAgMSwgMjI5LCAyMzMsIDIzMSwgNTMsIDI0MSwgMTgxLCAxLCAyMjksIDExMiwgMjMxLCA1MywgMjQxLCAxODEsIDEsIDIyOSwgCi0gICAgMTExLCAyMzEsIDUzLCAyNDEsIDE4MSwgMSwgMjA1LCAyMzEsIDUzLCAyNDEsIDE4MSwgMSwgMjIzLCAxOTAsIDIzMSwgNTMsIAotICAgIDI0MSwgMTgxLCAxLCAyMzMsIDE0MSwgMjMxLCA1MywgMjQxLCAxODEsIDEsIDIzNCwgMTM4LCAyMzEsIDUzLCAyNDEsIDE4MSwgCi0gICAgMSwgMjQxLCAxOTYsIDIzMSwgNTMsIDI0MSwgMTgxLCAxLCAyMDYsIDIzMSwgNTMsIDI0MSwgMTgxLCAxLCAyMjIsIDM1LCAKLSAgICAyMzEsIDUzLCAyNDEsIDE4MSwgMSwgMjIxLCAxODMsIDIzMSwgNTMsIDI0MSwgMTgxLCAxLCAxNzYsIDIzMSwgNTMsIDI0MSwgCi0gICAgMTgxLCAxLCAyMjQsIDkxLCAyMzEsIDUzLCAyNDEsIDE4MSwgMSwgMjE3LCAxMDYsIDIzMSwgNTMsIDI0MSwgMTgxLCAxLCAKLSAgICAyMTcsIDEwNSwgMjMxLCA1MywgMjQxLCAxODEsIDEsIDIxNywgMjMsIDIzMSwgNTMsIDI0MSwgMTgxLCAxLCAyMTcsIDIyLCAKLSAgICAyMzEsIDUzLCAyNDEsIDE4MSwgMSwgMTEyLCAyMzEsIDUzLCAyNDEsIDE4MSwgMSwgMjQ4LCAyMjksIDIzMSwgNTMsIDI0MSwgCi0gICAgMTgxLCAxNiwgMjEzLCAxNzAsIDIzMSwgNTMsIDI0MSwgMTgxLCAxNiwgMjEzLCAxNjksIDIzMSwgNTMsIDI0OSwgMTAyLCAxLCAKLSAgICA2MSwgMjMxLCA1MywgMjQ5LCAxMDIsIDEsIDc2LCAyMzEsIDUzLCAyNDksIDEwMiwgMSwgNzQsIDIzMSwgNTMsIDI0OSwgCi0gICAgMTAyLCAxLCA3OCwgMjMxLCA1MywgMjQ5LCAxMDIsIDEsIDE5MiwgMjMxLCA1MywgMjQ5LCAxMDIsIDEsIDIxMiwgNjUsIAotICAgIDIzMSwgNTMsIDI0OSwgMTAyLCAxLCAyNTIsIDE5OSwgMjMxLCA1MywgMjQ5LCAxMDIsIDEsIDE5MSwgMjMxLCA1MywgMjQ5LCAKLSAgICAxMDIsIDEsIDE4NiwgMjMxLCA1MywgMjQ5LCAxMDIsIDEsIDE5OCwgMjMxLCA1MywgMjQ5LCAxMDIsIDEsIDIyOSwgMTEyLCAKLSAgICAyMzEsIDUzLCAyNDksIDEwMiwgMSwgMjA1LCAyMzEsIDUzLCAyNDksIDEwMiwgMSwgMjMzLCAxNDEsIDIzMSwgNTMsIDI0OSwgCi0gICAgMTAyLCAxLCAyMzQsIDEzOCwgMjMxLCA1MywgMjQ5LCAxMDIsIDEsIDI0MSwgMTk2LCAyMzEsIDUzLCAyNDksIDEwMiwgMSwgCi0gICAgMjA2LCAyMzEsIDUzLCAyNDksIDEwMiwgMSwgMjU0LCAzMSwgMjA2LCAyMzEsIDUzLCAyNDksIDEwMiwgMSwgMjIxLCAxODMsIAotICAgIDIzMSwgNTMsIDI0OSwgMTAyLCAxLCAxNzYsIDIzMSwgNTMsIDI0OSwgMTAyLCAxLCAyMjQsIDkxLCAyMzEsIDUzLCAyNDksIAotICAgIDEwMiwgMSwgMjE3LCAxMDYsIDIzMSwgNTMsIDI0OSwgMTAyLCAxLCAyMTcsIDIzLCAyMzEsIDUzLCAyNDksIDEwMiwgMSwgCi0gICAgMTEyLCAyMzEsIDUzLCAyNDksIDEwMiwgMSwgMjQ4LCAyMjksIDIzMSwgNTMsIDI0OSwgMTAyLCAyMzIsIDE1MSwgMjIyLCAKLSAgICAyMTksIDIzMSwgNTMsIDI0OSwgMTAyLCAyMzIsIDE1MSwgMjM2LCAxMywgMjM0LCAxMjYsIDEsIDYxLCAyMzQsIDEyNiwgMjUsIAotICAgIDUsIDc0LCAyMzQsIDEyNiwgMjUsIDUsIDY5LCAyMzQsIDEyNiwgMjUsIDUsIDE0OSwgMTUzLCAyMzQsIDEyNiwgMjUsIDUsIAotICAgIDc2LCAyMzQsIDEyNiwgMjUsIDUsIDc4LCAyMzQsIDEyNiwgMjUsIDIzMywgMjksIDc5LCAyMzQsIDEyNiwgNSwgNTIsIDIyMiwgCi0gICAgMjM3LCA1MSwgMjM0LCAxMjYsIDUsIDI1NCwgODMsIDIzNCwgMTI2LCA1LCAyMTMsIDE0NywgMjM0LCAxMjYsIDEsIDE3NiwgCi0gICAgMjM0LCAxMjYsIDEsIDIzNCwgMTM4LCAyMzQsIDEyNiwgMSwgMjQzLCAxNDIsIDIzNCwgMTI2LCAxLCAyNDMsIDAsIDIzNCwgCi0gICAgMTI2LCAxLCAyNTEsIDQxLCAyMzQsIDEyNiwgMSwgMjUwLCAxNjUsIDIzNCwgMTI2LCAxLCAyMzUsIDE0NywgMjM0LCAxMjYsIAotICAgIDEsIDIyNywgMTY5LCAyMzQsIDEyNiwgMSwgMjE1LCAxNTcsIDIzNCwgMTI2LCAxLCAyMTUsIDE0NSwgMjM0LCAxMjYsIDEsIAotICAgIDI0OCwgMTQzLCAyMzQsIDEyNiwgMSwgMjQ4LCAxMjcsIDIzNCwgMTI2LCAxLCAyMjgsIDExNSwgMjM0LCAxMjYsIDEsIDIxNywgCi0gICAgMTA2LCAyMzQsIDEyNiwgMSwgMjE2LCAyMDksIDIzNCwgMTI2LCAxLCAyNDgsIDIyOSwgMjM0LCAxMjYsIDEsIDI0OCwgMzMsIAotICAgIDIzNCwgMTI2LCAxLCAxOTgsIDIzNCwgMTI2LCAxLCAxOTEsIDIzNCwgMTI2LCAxLCAyMjUsIDE1MCwgMjM0LCAxMjYsIDEsIAotICAgIDI1MiwgMTk5LCAyMzQsIDEyNiwgMSwgMjUyLCAyNiwgMjM0LCAxMjYsIDEsIDE4NiwgMjM0LCAxMjYsIDEsIDE5MiwgMjM0LCAKLSAgICAxMjYsIDEsIDIwNSwgMjM0LCAxMjYsIDEsIDIzMywgMTQxLCAyMzQsIDEyNiwgMSwgMjE0LCAyNywgMjM0LCAxMjYsIDEsIAotICAgIDIyMCwgMTA0LCAyMzQsIDEyNiwgMSwgMjE4LCAyMjUsIDIzNCwgMTI2LCAxLCAyMDYsIDIzNCwgMTI2LCAxLCAyMTAsIDExNiwgCi0gICAgMjM0LCAxMjYsIDEsIDE2MiwgMjM0LCAxMjYsIDEsIDIzNCwgNTIsIDIzNCwgMTI2LCAxLCAyMTUsIDEyNSwgMjM0LCAxMjYsIAotICAgIDUsIDI1MiwgMTQ5LCA0OCwgMjM0LCAxMjYsIDUsIDI1MCwgMjI5LCAyMzQsIDEyNiwgNSwgNTksIDUxLCAyMzQsIDEyNiwgCi0gICAgMjEzLCAxNTIsIDIzNCwgMTI2LCAyMSwgMTExLCAyMzQsIDEyNiwgMjEsIDEwNSwgMjM0LCAxMjYsIDIxLCAxNTgsIDIzNCwgCi0gICAgMTI2LCAyMSwgMTYxLCAyMzQsIDEyNiwgNTQsIDIxNiwgMjQ4LCAyMzQsIDEyNiwgNTQsIDIxNSwgNzMsIDIzNCwgMTI2LCAKLSAgICA1NCwgMTIzLCAyNDAsIDIxNywgMjM0LCAxMjYsIDU0LCAxMjMsIDIxNiwgMTQ4LCAyMzQsIDEyNiwgMjI0LCAxNDQsIDI0NywgCi0gICAgMTI4LCAyMzQsIDEyNiwgMjI0LCAxNDQsIDQsIDI1MCwgNDMsIDIzNCwgMTI2LCAyMjQsIDE0NCwgMjUwLCA0MywgMjM0LCAKLSAgICAxMjYsIDIyNCwgMTQ0LCAyNDksIDE0NSwgMTMwLCAyMzQsIDEyNiwgMjI0LCAxNDQsIDIzMSwgMTg1LCAyMzQsIDEyNiwgCi0gICAgMjI0LCAxNDQsIDIzMiwgMTIxLCAyMzQsIDEyNiwgMjI0LCAxNDQsIDI0OCwgMTg2LCAyMzQsIDEyNiwgMjI0LCAxNDQsIDUyLCAKLSAgICAyNDgsIDE4NiwgMjM0LCAxMjYsIDIyNCwgMTQ0LCAyMzIsIDIxMywgNTUsIDIxOSwgMzAsIDI1NCwgNDYsIDEsIDI0MSwgCi0gICAgMjQ1LCA1NSwgMjE5LCAzMCwgMjU0LCA0NiwgMSwgMjMzLCA5OSwgNTUsIDIxOSwgMzAsIDI1NCwgNDYsIDEsIDI0MSwgMjAyLCAKLSAgICA1NSwgMjE5LCAzMCwgMjU0LCA0NiwgMSwgMjMxLCA3MCwgNTUsIDIxOSwgMzAsIDI1NCwgNDYsIDEsIDIyNCwgMzcsIDU1LCAKLSAgICAyMTksIDMwLCAyNTQsIDQ2LCAxLCAyMTIsIDMwLCA1NSwgMjE5LCAzMCwgMjU0LCA0NiwgMSwgMjIwLCAyMiwgNTUsIDIxOSwgCi0gICAgMzAsIDI1NCwgNDYsIDEsIDIyMywgNzAsIDU1LCAyMTksIDMwLCAyNTQsIDQ2LCAxLCAyNTIsIDMzLCA1NSwgMjE5LCAzMCwgCi0gICAgMjU0LCA0NiwgMSwgMjE3LCAzNywgNTUsIDIxOSwgMzAsIDI1NCwgNDYsIDEsIDIyMSwgMjI4LCA1NSwgMjE5LCAzMCwgMjU0LCAKLSAgICA0NiwgMSwgMjM0LCAyMzEsIDU1LCAyMTksIDMwLCAyNTQsIDQ2LCAxLCAyMjcsIDE5OCwgNTUsIDIxOSwgMzAsIDI1NCwgNDYsIAotICAgIDEsIDIzNCwgMTIyLCA1NSwgMjE5LCAzMCwgMjU0LCA0NiwgMSwgMjIyLCAyNiwgNTUsIDIxOSwgMzAsIDI1NCwgNDYsIDEsIAotICAgIDIyMSwgMjUxLCA1NSwgMjE5LCAzMCwgMjU0LCA0NiwgMSwgMjQ0LCAxNjIsIDU1LCAyMTksIDMwLCAyNTQsIDQ2LCAxLCAKLSAgICAyNTQsIDE3OSwgNTUsIDIxOSwgMzAsIDI1NCwgNDYsIDEsIDI1MywgMTY5LCA1NSwgMjE5LCAzMCwgMjU0LCA0NiwgMSwgCi0gICAgMjQ4LCAzMCwgNTUsIDIxOSwgMzAsIDI1NCwgNDYsIDEsIDI0MiwgMjA4LCA1NSwgMjE5LCAzMCwgMjU0LCA0NiwgMSwgMjQ4LCAKLSAgICAxOTYsIDU1LCAyMTksIDMwLCAyNTQsIDQ2LCAxLCAyNDIsIDI0NSwgNTUsIDIxOSwgMzAsIDI1NCwgNDYsIDEsIDIxNiwgCi0gICAgMjI3LCA1NSwgMjE5LCAzMCwgMjU0LCA0NiwgMSwgMjEwLCA5NiwgNTUsIDIxOSwgMzAsIDI1NCwgNDYsIDEsIDI0OCwgMjcsIAotICAgIDU1LCAyMTksIDMwLCAyNTQsIDQ2LCAxLCAyMTAsIDIzMiwgNTUsIDIxOSwgMzAsIDI1NCwgNDYsIDEsIDIxNiwgMTk4LCA1NSwgCi0gICAgMjE5LCAzMCwgMjU0LCA0NiwgMSwgMjE2LCAxNzksIDU1LCAyMTksIDMwLCAyNTQsIDQ2LCA1NCwgMTExLCA1NSwgMjE5LCAKLSAgICAzMCwgMjU0LCA0NiwgNTQsIDI0NCwgMTIyLCA1NSwgMjE5LCAzMCwgMjU0LCA0NiwgMTMyLCAyMzUsIDI0NSwgMjUzLCAxODAsIAotICAgIDEsIDYxLCAyNTMsIDE4MCwgMSwgMjU1LCA4MiwgMjUzLCAxODAsIDEsIDI1NCwgODEsIDI1MywgMTgwLCAxLCAyNTUsIDQxLCAKLSAgICAyNTMsIDE4MCwgMSwgMjU0LCAxMzEsIDI1MywgMTgwLCAxLCAyNTUsIDQyLCAyNTMsIDE4MCwgMSwgMjU0LCAyNTIsIDI1MywgCi0gICAgMTgwLCAxLCAyNTQsIDI0OCwgMjUzLCAxODAsIDEsIDc2LCAyNTMsIDE4MCwgMSwgMjQ1LCAyMTcsIDI1MywgMTgwLCAxLCAKLSAgICA3OCwgMjUzLCAxODAsIDEsIDIyNiwgMTg3LCAyNTMsIDE4MCwgMSwgNzQsIDI1MywgMTgwLCAxLCAyMzYsIDQwLCAyNTMsIAotICAgIDE4MCwgMSwgNjksIDI1MywgMTgwLCAxLCAyMTQsIDExOCwgMjUzLCAxODAsIDEsIDIzNCwgMTg4LCAyNTMsIDE4MCwgMSwgCi0gICAgMjExLCAxNjIsIDI1MywgMTgwLCAxLCAyMTEsIDEyOCwgMjUzLCAxODAsIDEsIDIxMSwgMTM3LCAyNTMsIDE4MCwgMSwgMjQzLCAKLSAgICA2OSwgMjUzLCAxODAsIDEsIDI0MywgMzEsIDI1MywgMTgwLCAxLCAyNDIsIDI0MywgMjUzLCAxODAsIDEsIDI1MCwgMTk4LCAKLSAgICAyNTMsIDE4MCwgMSwgMjM1LCAxMzIsIDI1MywgMTgwLCAxLCAyMTcsIDIzLCAyNTMsIDE4MCwgMSwgMjE2LCAxOTYsIDI1MywgCi0gICAgMTgwLCAxLCAyNDgsIDk4LCAyNTMsIDE4MCwgMSwgMjQ4LCAyNSwgMjUzLCAxODAsIDEsIDIxNSwgMTUyLCAyNTMsIDE4MCwgCi0gICAgMSwgMjI1LCAyMjQsIDI1MywgMTgwLCAxLCAyNDQsIDE2MiwgMjUzLCAxODAsIDEsIDI1MiwgODMsIDI1MywgMTgwLCAxLCAKLSAgICAyNTIsIDIyLCAyNTMsIDE4MCwgMSwgMjI5LCA2OSwgMjUzLCAxODAsIDEsIDIyOCwgMjQ0LCAyNTMsIDE4MCwgMSwgMjI4LCAKLSAgICAyNDUsIDI1MywgMTgwLCAxLCAyMjksIDExMiwgMjUzLCAxODAsIDEsIDIyNywgMTYwLCAyNTMsIDE4MCwgMSwgMjI4LCAxMTAsIAotICAgIDI1MywgMTgwLCAxLCAyMzEsIDk2LCAyNTMsIDE4MCwgMSwgMjQxLCAxMjMsIDI1MywgMTgwLCAxLCAyMTAsIDE2NiwgMjUzLCAKLSAgICAxODAsIDEsIDIxMSwgNDcsIDI1MywgMTgwLCAxLCAyMTMsIDI1NSwgMjUzLCAxODAsIDEsIDIyMywgMTMxLCAyNTMsIDE4MCwgCi0gICAgMSwgMjMzLCA2NCwgMjUzLCAxODAsIDEsIDIyMSwgMTgzLCAyNTMsIDE4MCwgMSwgMjEwLCA5NCwgMjUzLCAxODAsIDEsIAotICAgIDIyMCwgNjUsIDI1MywgMTgwLCAxLCAyMTAsIDc0LCAyNTMsIDE4MCwgMSwgMjE5LCAyMDAsIDI1MywgMTgwLCAxLCAyMTgsIAotICAgIDE5NSwgMjUzLCAxODAsIDEsIDI0MSwgMjQ1LCAyNTMsIDE4MCwgMjU1LCAzMCwgNzksIDIxNiwgODAsIDExMywgMTcwLCAKLSAgICAxMTUsIDEyMywgNTksIDIyNCwgMTQzLCA0LCAxMTMsIDE3MCwgMTE1LCAxMjMsIDU5LCAyMjQsIDE0MywgMjMzLCA5MSwgCi0gICAgMTEzLCAxNzAsIDExNSwgMTIzLCA1OSwgMjI0LCAxNDMsIDIzMywgOTEsIDEyMywgNTksIDExNSwgMTEzLCAxNzAsIDIyNCwgCi0gICAgMTQzLCAyMzMsIDkxLCAxMTMsIDIyMiwgMjM1LCAxMTUsIDEyMywgMjIyLCAyMzcsIDIyNCwgMTQzLCAyMzMsIDkxLCAxMjMsIAotICAgIDIyMiwgMjM3LCAxMTUsIDExMywgMjIyLCAyMzUsIDIyNCwgMTQzLCAyMzUsIDIyNSwgMjI2LCAyLCAxLCAyNTQsIDE3NywgCi0gICAgMjM1LCAyMjUsIDIyNiwgMiwgMSwgMjUyLCAzMywgMjM1LCAyMjUsIDIyNiwgMiwgMSwgMjQyLCAyMDgsIDIzNSwgMjI1LCAKLSAgICAyMjYsIDIsIDEsIDI0OCwgMTk2LCAyMzUsIDIyNSwgMjI2LCAyLCAxLCAyNDEsIDI0NSwgMjM1LCAyMjUsIDIyNiwgMiwgMSwgCi0gICAgMjEyLCAzMCwgMjM1LCAyMjUsIDIyNiwgMiwgMSwgMjEwLCA5NywgMjM1LCAyMjUsIDIyNiwgMiwgMSwgMjQxLCAyMDIsIAotICAgIDIzNSwgMjI1LCAyMjYsIDIsIDEsIDIxNiwgMjI3LCAyMzUsIDIyNSwgMjI2LCAyLCAxLCAyMTAsIDIzMiwgMjM1LCAyMjUsIAotICAgIDIyNiwgMiwgMSwgMjM0LCAyMzEsIDIzNSwgMjI1LCAyMjYsIDIsIDEsIDIzMywgOTksIDIzNSwgMjI1LCAyMjYsIDIsIDEsIAotICAgIDIzMSwgNzAsIDIzNSwgMjI1LCAyMjYsIDIsIDEsIDIyNywgMTk4LCAyMzUsIDIyNSwgMjI2LCAyLCAxLCAyMjEsIDI1MSwgCi0gICAgMjM1LCAyMjUsIDIyNiwgMiwgMSwgMjUzLCAxNzAsIDIzNSwgMjI1LCAyMjYsIDIsIDEsIDIyNSwgMjI0LCAyMzUsIDIyNSwgCi0gICAgMjI2LCAyLCAxLCAyMjIsIDI2LCAyMzUsIDIyNSwgMjI2LCAyLCAxLCAyMjQsIDM3LCAyMzUsIDIyNSwgMjI2LCAyLCAxLCAKLSAgICAyMjMsIDcwLCAyMzUsIDIyNSwgMjI2LCAyLCAxLCAyMjAsIDIyLCAyMzUsIDIyNSwgMjI2LCAyLCAxLCAyMTcsIDM3LCAyMzUsIAotICAgIDIyNSwgMjI2LCAyLCA1NCwgMTExLCAyMzUsIDIyNSwgMjI2LCAyLCA1NCwgMTA1LCAyMzUsIDIyNSwgMjI2LCAyLCA1NCwgCi0gICAgMTU4LCAyMzUsIDIyNSwgMjI2LCAyLCA1NCwgMTYxLCAyMzUsIDIyNSwgMjI2LCAyLCA1NCwgMjE2LCAyNDgsIDIzNSwgMjI1LCAKLSAgICAyMjYsIDIsIDU0LCAyMTUsIDczLCAyMzUsIDIyNSwgMjI2LCAyLCA1NCwgMTIzLCAyNDAsIDIxNywgMjM1LCAyMjUsIDIyNiwgCi0gICAgMiwgNTQsIDEyMywgMjE2LCAxNDgsIDIzNSwgMjI1LCAyMjYsIDc2LCAxLCAyNTQsIDE3NywgMjM1LCAyMjUsIDIyNiwgNzYsIAotICAgIDEsIDI1MiwgMzMsIDIzNSwgMjI1LCAyMjYsIDc2LCAxLCAyNDIsIDIwOCwgMjM1LCAyMjUsIDIyNiwgNzYsIDEsIDI0OCwgCi0gICAgMTk2LCAyMzUsIDIyNSwgMjI2LCA3NiwgMSwgMjQxLCAyNDUsIDIzNSwgMjI1LCAyMjYsIDc2LCAxLCAyMTIsIDI5LCAyMzUsIAotICAgIDIyNSwgMjI2LCA3NiwgMSwgMjEwLCA5NywgMjM1LCAyMjUsIDIyNiwgNzYsIDEsIDI0MSwgMjAyLCAyMzUsIDIyNSwgMjI2LCAKLSAgICA3NiwgMSwgMjE2LCAyMjcsIDIzNSwgMjI1LCAyMjYsIDc2LCAxLCAyMTAsIDIzMiwgMjM1LCAyMjUsIDIyNiwgNzYsIDEsIAotICAgIDIzNCwgMjMxLCAyMzUsIDIyNSwgMjI2LCA3NiwgMSwgMjMzLCA5OSwgMjM1LCAyMjUsIDIyNiwgNzYsIDEsIDIzMSwgNjksIAotICAgIDIzNSwgMjI1LCAyMjYsIDc2LCAxLCAyMjcsIDE5OCwgMjM1LCAyMjUsIDIyNiwgNzYsIDEsIDIyMSwgMjUxLCAyMzUsIDIyNSwgCi0gICAgMjI2LCA3NiwgMSwgMjI1LCAyMjQsIDIzNSwgMjI1LCAyMjYsIDc2LCAxLCAyMjIsIDI2LCAyMzUsIDIyNSwgMjI2LCA3NiwgCi0gICAgMSwgMjIwLCAyMiwgMjM1LCAyMjUsIDIyNiwgNzYsIDEsIDIxNywgMzcsIDIzNSwgMjI1LCAyMjYsIDc2LCA1NCwgMTExLCAKLSAgICAyMzUsIDIyNSwgMjI2LCA3NiwgNTQsIDEwNSwgMjM1LCAyMjUsIDIyNiwgNzYsIDU0LCAxNTgsIDIzNSwgMjI1LCAyMjYsIAotICAgIDc2LCA1NCwgMTYxLCAyMzUsIDIyNSwgMjI2LCA3NiwgNTQsIDIxNiwgMjQ4LCAyMzUsIDIyNSwgMjI2LCA3NiwgNTQsIDIxNSwgCi0gICAgNzMsIDIzNSwgMjI1LCAyMjYsIDc2LCA1NCwgMTIzLCAyNDAsIDIxNywgMjM1LCAyMjUsIDIyNiwgNzYsIDU0LCAxMjMsIAotICAgIDIxNiwgMTQ4LCA1NSwgMjAyLCAxLCAyMjYsIDE1MywgNjEsIDU1LCAyMDIsIDEsIDIxMSwgMzcsIDYxLCA1NSwgMjAyLCAxLCAKLSAgICAyMTEsIDM3LCAyNTQsIDI1MiwgNTUsIDIwMiwgMSwgMjI2LCAxNTMsIDc0LCA1NSwgMjAyLCAxLCAyMTEsIDM3LCA3NCwgNTUsIAotICAgIDIwMiwgMSwgMjExLCAzNywgNzYsIDU1LCAyMDIsIDEsIDIyNiwgMTUzLCA3OCwgNTUsIDIwMiwgMSwgMjI2LCAxNTMsIDIyNiwgCi0gICAgMjM4LCA1NSwgMjAyLCAxLCAyMTEsIDM3LCAyMjYsIDIzOCwgNTUsIDIwMiwgMSwgMjI2LCAxNTMsIDI1NSwgMzQsIDU1LCAKLSAgICAyMDIsIDEsIDIxMSwgMzcsIDI1NSwgMzQsIDU1LCAyMDIsIDEsIDIyNiwgMTUzLCAyNTQsIDI1MSwgNTUsIDIwMiwgMSwgCi0gICAgMjExLCAzNywgMjU0LCAyNTEsIDU1LCAyMDIsIDEsIDIyNiwgMTUzLCAyNTQsIDIyNSwgNTUsIDIwMiwgMSwgMjExLCAzNywgCi0gICAgMjU0LCAyMjUsIDU1LCAyMDIsIDEsIDIyNiwgMTUzLCAyNTQsIDI0NiwgNTUsIDIwMiwgMSwgMjExLCAzNywgMjU0LCAyNDYsIAotICAgIDU1LCAyMDIsIDEsIDIyNiwgMTUzLCAyNTUsIDgsIDU1LCAyMDIsIDEsIDIxMSwgMzcsIDI1NSwgOCwgNTUsIDIwMiwgMSwgCi0gICAgMjI2LCAxNTMsIDI1NCwgMjUwLCA1NSwgMjAyLCAxLCAyMjYsIDE1MywgMjQ1LCAyMCwgNTUsIDIwMiwgMSwgMjExLCAzNywgCi0gICAgMjQ1LCAyMCwgNTUsIDIwMiwgMSwgMjI2LCAxNTMsIDI1MywgMTc1LCA1NSwgMjAyLCAxLCAyMTEsIDM3LCAyNTMsIDE3NSwgCi0gICAgNTUsIDIwMiwgMSwgMjI2LCAxNTMsIDI1NCwgMjMzLCA1NSwgMjAyLCAxLCAyMTEsIDM3LCAyNTQsIDIzMywgNTUsIDIwMiwgCi0gICAgMSwgMjI2LCAxNTMsIDI1NCwgMjQ0LCA1NSwgMjAyLCAxLCAyMTEsIDM3LCAyNTQsIDI0NCwgNTUsIDIwMiwgMSwgMjI2LCAKLSAgICAxNTMsIDIyNiwgMjM3LCA1NSwgMjAyLCAxLCAyMTEsIDM3LCAyMjYsIDIzNywgNTUsIDIwMiwgMSwgMjI2LCAxNTMsIDI1NCwgCi0gICAgMTg3LCA1NSwgMjAyLCAxLCAyMTEsIDM3LCAyNTQsIDE4NywgNTUsIDIwMiwgMSwgMjI2LCAxNTMsIDI1NCwgMjQzLCA1NSwgCi0gICAgMjAyLCAxLCAyMjYsIDE1MywgMjQ1LCAxNjksIDU1LCAyMDIsIDEsIDIyNiwgMTUzLCAyNDUsIDE2NywgNTUsIDIwMiwgMSwgCi0gICAgMjI2LCAxNTMsIDI1NCwgMTMxLCA1NSwgMjAyLCAxLCAyMjYsIDE1MywgMjU0LCAyNDEsIDU1LCAyMDIsIDEsIDIxMSwgMzcsIAotICAgIDI1NCwgMjQxLCA1NSwgMjAyLCAxLCAyMjYsIDE1MywgMjQ1LCAxMzksIDU1LCAyMDIsIDEsIDIxMSwgMzcsIDI0NSwgMTM5LCAKLSAgICA1NSwgMjAyLCAxLCAyMjYsIDE1MywgMjQ1LCAxNTUsIDU1LCAyMDIsIDEsIDIxMSwgMzcsIDI0NSwgMTU1LCA1NSwgMjAyLCAKLSAgICAxLCAyMjYsIDE1MywgMjQ1LCAxMjYsIDU1LCAyMDIsIDEsIDIxMSwgMzcsIDI0NSwgMTI2LCA1NSwgMjAyLCAxLCAyMTEsIAotICAgIDM3LCAyNTQsIDEyMywgNTUsIDIwMiwgMSwgMjI2LCAxNTMsIDI0NSwgMTQ2LCA1NSwgMjAyLCAxLCAyMTEsIDM3LCAyNTQsIAotICAgIDI0MCwgNTUsIDIwMiwgMSwgMjI2LCAxNTMsIDI0NSwgMTE2LCA1NSwgMjAyLCAxLCAyMjYsIDE1MywgMjI2LCAxNzksIDU1LCAKLSAgICAyMDIsIDEsIDIyNiwgMTUzLCAyNDAsIDEyMCwgNTUsIDIwMiwgMSwgMjI2LCAxNTMsIDI0NSwgMjIzLCA1NSwgMjAyLCAxLCAKLSAgICAyMTEsIDM3LCAyNDUsIDIyMywgNTUsIDIwMiwgMSwgMjI2LCAxNTMsIDI1NCwgNTMsIDU1LCAyMDIsIDEsIDIxMSwgMzcsIAotICAgIDI1NCwgNTMsIDU1LCAyMDIsIDEsIDIyNiwgMTUzLCAyMzUsIDE4OCwgNTUsIDIwMiwgMSwgMjExLCAzNywgMjM1LCAxODgsIAotICAgIDU1LCAyMDIsIDEsIDIyNiwgMTUzLCAyMjYsIDE2MywgNTUsIDIwMiwgMSwgMjExLCAzNywgMjI2LCAxNjMsIDU1LCAyMDIsIAotICAgIDEsIDIyNiwgMTUzLCAyNTQsIDQ5LCA1NSwgMjAyLCAxLCAyMTEsIDM3LCAyNTQsIDQ5LCA1NSwgMjAyLCAxLCAyMjYsIDE1MywgCi0gICAgMjU0LCAyMzksIDU1LCAyMDIsIDEsIDIyNiwgMTUzLCAyNTMsIDI0NSwgNTUsIDIwMiwgMSwgMjI2LCAxNTMsIDI1NCwgMjM3LCAKLSAgICA1NSwgMjAyLCAxLCAyMjYsIDE1MywgMjUzLCAyMzksIDU1LCAyMDIsIDEsIDIxMSwgMzcsIDI1MywgMjM5LCA1NSwgMjAyLCAKLSAgICAxLCAyMjYsIDE1MywgMjQ1LCA4MywgNTUsIDIwMiwgMSwgMjExLCAzNywgMjQ1LCA4MywgNTUsIDIwMiwgMSwgMjI2LCAxNTMsIAotICAgIDI1MywgMjE0LCA1NSwgMjAyLCAxLCAyMTEsIDM3LCAyNTMsIDIxNCwgNTUsIDIwMiwgMSwgMjI2LCAxNTMsIDI1NCwgMjM0LCAKLSAgICA1NSwgMjAyLCAxLCAyMTEsIDM3LCAyNTQsIDIzNCwgNTUsIDIwMiwgMSwgMjI2LCAxNTMsIDIyNiwgMTQ0LCA1NSwgMjAyLCAKLSAgICAxLCAyMjYsIDE1MywgMjUyLCAxMzMsIDIyMiwgMTI5LCAyMSwgMTExLCAyMjIsIDEyOSwgMjEsIDEwNSwgMjIyLCAxMjksIAotICAgIDIxLCAxNTgsIDIyMiwgMTI5LCAyMSwgMTYxLCAyMjIsIDEyOSwgMjEsIDE5MCwgMjIyLCAxMjksIDIxLCAxOTUsIDIyMiwgCi0gICAgMTI5LCAyMSwgMTk5LCAyMjIsIDEyOSwgMjEsIDE5NiwgMjIyLCAxMjksIDIxLCAyMDEsIDIyMiwgMTI5LCA1NCwgMjE2LCAKLSAgICAyNDgsIDIyMiwgMTI5LCA1NCwgMjE1LCA3MywgMjIyLCAxMjksIDU0LCAyMTYsIDE2MywgMjIyLCAxMjksIDU0LCAyNDQsIAotICAgIDIzLCAyMjIsIDEyOSwgNTQsIDI0NCwgMTIyLCAyMjIsIDEyOSwgNTQsIDIxOSwgMTEzLCAyMjIsIDEyOSwgNTQsIDIyMCwgCi0gICAgMTE4LCAyMjIsIDEyOSwgNTQsIDI0NSwgMTkyLCAyMjIsIDEyOSwgNTQsIDIyOCwgMjAwLCAyMjIsIDEyOSwgNTQsIDEyMywgCi0gICAgMjQwLCAyMTcsIDIyMiwgMTI5LCA1NCwgMTEzLCAyNDAsIDIxNywgMjIyLCAxMjksIDU0LCAxMzQsIDI0MCwgMjE3LCAyMjIsIAotICAgIDEyOSwgNTQsIDI0NCwgMTksIDI0MCwgMjE3LCAyMjIsIDEyOSwgNTQsIDI0NCwgODksIDI0MCwgMjE3LCAyMjIsIDEyOSwgCi0gICAgNTQsIDIxOSwgMTI3LCAyNDAsIDIxNywgMjIyLCAxMjksIDU0LCAyMjAsIDEyNCwgMjQwLCAyMTcsIDIyMiwgMTI5LCA1NCwgCi0gICAgMjQ1LCAyMDEsIDI0MCwgMjE3LCAyMjIsIDEyOSwgNTQsIDIyOCwgMjA1LCAyNDAsIDIxNywgMjIyLCAxMjksIDI0NCwgMTAsIAotICAgIDEyMywgMjQyLCAzNCwgMjIyLCAxMjksIDI0NCwgMTAsIDEyMywgMjI0LCAyNCwgMjIyLCAxMjksIDI0NCwgMTAsIDEyMywgCi0gICAgMjE2LCAxNjksIDIyMiwgMTI5LCAyNDQsIDEwLCAxMTMsIDIxNiwgMTY3LCAxMTgsIDUsIDI1MSwgNywgMTE4LCA1LCAyNTQsIAotICAgIDgzLCAxMTgsIDUsIDIxMywgMTQ3LCAxMTgsIDUsIDIzNSwgMTA4LCAxMTgsIDUsIDIxNCwgMTYxLCAxMTgsIDEsIDYxLCAKLSAgICAxMTgsIDEsIDI1NSwgODIsIDExOCwgMSwgNzQsIDExOCwgMSwgMjM2LCA0MCwgMTE4LCAxLCA2OSwgMTE4LCAxLCAyMTQsIAotICAgIDExOCwgMTE4LCAxLCAxNDksIDE1MywgMTE4LCAxLCAxNDksIDIyMiwgMTgyLCAxMTgsIDEsIDE0OSwgMTU2LCAxMTgsIDEsIAotICAgIDE0OSwgMjMyLCAxOTEsIDExOCwgMSwgNzYsIDExOCwgMSwgMjU0LCAyMTAsIDExOCwgMSwgNzgsIDExOCwgMSwgMjUzLCAKLSAgICAyMDAsIDExOCwgMSwgMTc2LCAxMTgsIDEsIDIzNCwgMTM4LCAxMTgsIDEsIDI0MywgMTQyLCAxMTgsIDEsIDI0MywgMCwgCi0gICAgMTE4LCAxLCAyMjksIDgyLCAxMTgsIDEsIDI1MSwgNDEsIDExOCwgMSwgMjUwLCAxNjUsIDExOCwgMSwgMjM1LCAxNDcsIAotICAgIDExOCwgMSwgMjM1LCAxMjAsIDExOCwgMSwgMjI3LCAxNjksIDExOCwgMSwgMjE1LCAxNTcsIDExOCwgMSwgMjE1LCAxNDUsIAotICAgIDExOCwgMSwgMjQ4LCAxNDMsIDExOCwgMSwgMjQ4LCAxMjcsIDExOCwgMSwgMjI4LCAxMTUsIDExOCwgMSwgMjE3LCAxMDYsIAotICAgIDExOCwgMSwgMjE2LCAyMDksIDExOCwgMSwgMjQ4LCAyMjksIDExOCwgMSwgMjQ4LCAzMywgMTE4LCAxLCAxOTgsIDExOCwgMSwgCi0gICAgMTkxLCAxMTgsIDEsIDIyNSwgMTUwLCAxMTgsIDEsIDI1MiwgMTk5LCAxMTgsIDEsIDI1MiwgMjYsIDExOCwgMSwgMTg2LCAKLSAgICAxMTgsIDEsIDE5MiwgMTE4LCAxLCAyMDUsIDExOCwgMSwgMjMzLCAxNDEsIDExOCwgMSwgMjE0LCAyNywgMTE4LCAxLCAyMjAsIAotICAgIDEwNCwgMTE4LCAxLCAyMTgsIDIyNSwgMTE4LCAxLCAyMDYsIDExOCwgMSwgMTYyLCAxMTgsIDEsIDIzMiwgMTkwLCAxMTgsIAotICAgIDEsIDU1LCAzNiwgMjMyLCAxODEsIDExOCwgMSwgNTUsIDM2LCAyMjIsIDE4MSwgMTE4LCAxLCA1NSwgMzYsIDIyOCwgOTcsIAotICAgIDExOCwgMjUsIDUsIDI1NSwgODIsIDExOCwgMjUsIDUsIDI1MiwgMjMsIDI1NSwgODIsIDExOCwgMjUsIDUsIDc0LCAxMTgsIAotICAgIDI1LCA1LCAyMzYsIDQwLCAxMTgsIDI1LCA1LCA2OSwgMTE4LCAyNSwgNSwgMjE0LCAxMTgsIDExOCwgMjUsIDUsIDE0OSwgCi0gICAgMTUzLCAxMTgsIDI1LCA1LCAxNDksIDIyMiwgMTgyLCAxMTgsIDI1LCA1LCAxNDksIDE1NiwgMTE4LCAyNSwgNSwgMTQ5LCAKLSAgICAyMzIsIDE5MSwgMTE4LCAyNSwgNSwgNzYsIDExOCwgMjUsIDUsIDI1NCwgMjEwLCAxMTgsIDI1LCA1LCA3OCwgMTE4LCAyNSwgCi0gICAgNSwgMjUzLCAyMDAsIDExOCwgMjEzLCAxNTIsIDExOCwgMjQ4LCAxODYsIDExOCwgNTIsIDI0OCwgMTg2LCAxMTgsIDIyNCwgCi0gICAgMTQ0LCAyNDcsIDEyOCwgMTE4LCAyMjQsIDE0NCwgNTIsIDI0NywgMTI4LCAxMTgsIDIyNCwgMTQ0LCAyMzIsIDIxOSwgMTE4LCAKLSAgICAyMjQsIDE0NCwgMjQ5LCAxNDUsIDEzMCwgMTE4LCAyMjQsIDE0NCwgMjMyLCAxMjEsIDExOCwgNTQsIDExMSwgMTE4LCA1NCwgCi0gICAgMTA1LCAxMTgsIDU0LCAxNTgsIDExOCwgNTQsIDE2MSwgMTE4LCA1NCwgMTkwLCAxMTgsIDU0LCAxOTUsIDExOCwgNTQsIAotICAgIDE5OSwgMTE4LCA1NCwgMTk2LCAxMTgsIDU0LCAyMDEsIDExOCwgNTQsIDIxNiwgMjQ4LCAxMTgsIDU0LCAyMTUsIDczLCAKLSAgICAxMTgsIDU0LCAyMTYsIDE2MywgMTE4LCA1NCwgMjQ0LCAyMywgMTE4LCA1NCwgMjQ0LCAxMjIsIDExOCwgNTQsIDIxOSwgCi0gICAgMTEzLCAxMTgsIDU0LCAyMjAsIDExOCwgMTE4LCA1NCwgMjQ1LCAxOTIsIDExOCwgNTQsIDIyOCwgMjAwLCAxMTgsIDU0LCAKLSAgICAxMjMsIDI0MCwgMjE3LCAxMTgsIDU0LCAxMjMsIDIxNiwgMTQ4LCAxMTgsIDIxLCAyMTAsIDg2LCAxMTgsIDIxLCAxMTEsIAotICAgIDExOCwgMjEsIDEwNSwgMTE4LCAyMSwgMTU4LCAxMTgsIDIxLCAxNjEsIDExOCwgMjEsIDE5MCwgMTE4LCAyMSwgMTk1LCAKLSAgICAxMTgsIDIxLCAxOTksIDExOCwgMjEsIDE5NiwgMTE4LCAyMSwgMjAxLCAyMzQsIDI1MCwgNSwgMjUxLCA3LCAyMzQsIDI1MCwgCi0gICAgNSwgMjU0LCA4MywgMjM0LCAyNTAsIDUsIDIxMywgMTQ3LCAyMzQsIDI1MCwgMSwgNjEsIDIzNCwgMjUwLCAxLCAyNTUsIDgyLCAKLSAgICAyMzQsIDI1MCwgMSwgNzQsIDIzNCwgMjUwLCAxLCAyMzYsIDQwLCAyMzQsIDI1MCwgMSwgNjksIDIzNCwgMjUwLCAxLCAyMTQsIAotICAgIDExOCwgMjM0LCAyNTAsIDEsIDc2LCAyMzQsIDI1MCwgMSwgMjU0LCAyMTAsIDIzNCwgMjUwLCAxLCA3OCwgMjM0LCAyNTAsIAotICAgIDEsIDI1MywgMjAwLCAyMzQsIDI1MCwgMSwgMTc2LCAyMzQsIDI1MCwgMSwgMjM0LCAxMzgsIDIzNCwgMjUwLCAxLCAyNDMsIAotICAgIDE0MiwgMjM0LCAyNTAsIDEsIDI0MywgMCwgMjM0LCAyNTAsIDEsIDIyOSwgODIsIDIzNCwgMjUwLCAxLCAyNTEsIDQxLCAKLSAgICAyMzQsIDI1MCwgMSwgMjUwLCAxNjUsIDIzNCwgMjUwLCAxLCAyMzUsIDE0NywgMjM0LCAyNTAsIDEsIDIzNSwgMTIwLCAyMzQsIAotICAgIDI1MCwgMSwgMjI3LCAxNjksIDIzNCwgMjUwLCAxLCAyMTUsIDE1NywgMjM0LCAyNTAsIDEsIDIxNSwgMTQ1LCAyMzQsIDI1MCwgCi0gICAgMSwgMjQ4LCAxNDMsIDIzNCwgMjUwLCAxLCAyNDgsIDEzMiwgMjM0LCAyNTAsIDEsIDI0OCwgMTI3LCAyMzQsIDI1MCwgMSwgCi0gICAgMjIzLCA0MiwgMjM0LCAyNTAsIDEsIDIyOCwgMTE1LCAyMzQsIDI1MCwgMSwgMjE3LCAxMDYsIDIzNCwgMjUwLCAxLCAyMTYsIAotICAgIDIwOSwgMjM0LCAyNTAsIDEsIDI0OCwgMjI5LCAyMzQsIDI1MCwgMSwgMjQ4LCAzMywgMjM0LCAyNTAsIDEsIDE5OCwgMjM0LCAKLSAgICAyNTAsIDEsIDE5MSwgMjM0LCAyNTAsIDEsIDIyNSwgMTUwLCAyMzQsIDI1MCwgMSwgMjUyLCAxOTksIDIzNCwgMjUwLCAxLCAKLSAgICAyNTIsIDI2LCAyMzQsIDI1MCwgMSwgMTg2LCAyMzQsIDI1MCwgMSwgMTkyLCAyMzQsIDI1MCwgMSwgMjA1LCAyMzQsIDI1MCwgCi0gICAgMSwgMjMzLCAxNDEsIDIzNCwgMjUwLCAxLCAyMTQsIDI3LCAyMzQsIDI1MCwgMSwgMjIwLCAxMDQsIDIzNCwgMjUwLCAxLCAKLSAgICAyMTgsIDIyNSwgMjM0LCAyNTAsIDEsIDIwNiwgMjM0LCAyNTAsIDEsIDE2MiwgMjM0LCAyNTAsIDI1LCA1LCAyNTUsIDgyLCAKLSAgICAyMzQsIDI1MCwgMjUsIDUsIDc0LCAyMzQsIDI1MCwgMjUsIDUsIDIzNiwgNDAsIDIzNCwgMjUwLCAyNSwgNSwgNjksIDIzNCwgCi0gICAgMjUwLCAyNSwgNSwgMjE0LCAxMTgsIDIzNCwgMjUwLCAyNSwgNSwgNzYsIDIzNCwgMjUwLCAyNSwgNSwgMjU0LCAyMTAsIAotICAgIDIzNCwgMjUwLCAyNSwgNSwgNzgsIDIzNCwgMjUwLCAyNSwgNSwgMjUzLCAyMDAsIDIzNCwgMjUwLCA1LCAyMTMsIDE1MiwgCi0gICAgMjM0LCAyNTAsIDUsIDIyNywgMjA5LCAyMzQsIDI1MCwgMjU1LCAzMCwgNTAsIDIzNCwgMjUwLCAyNDUsIDEyOSwgNTAsIAotICAgIDIzNCwgMjUwLCA1NCwgNTAsIDIzNCwgMjUwLCAyMjEsIDE3NSwgNzksIDIzNCwgMjUwLCA1MiwgMjIxLCAxNzUsIDc5LCAKLSAgICAyMzQsIDI1MCwgMjQ4LCAxODYsIDIzNCwgMjUwLCA1MiwgMjQ4LCAxODYsIDIxOSwgMzgsIDIxOSwgNDYsIDEsIDIyMiwgMjAsIAotICAgIDIxOSwgMzgsIDIxOSwgNDYsIDEsIDIxNywgODEsIDIxOSwgMzgsIDIxOSwgNDYsIDEsIDI1MiwgMTc2LCAyMTksIDM4LCAKLSAgICAyMTksIDQ2LCAxLCAyNTEsIDMxLCAyMTksIDM4LCAyMTksIDQ2LCAxLCAyNDgsIDIxMSwgMjE5LCAzOCwgMjE5LCA0NiwgMSwgCi0gICAgMjQzLCAxMjcsIDIxOSwgMzgsIDIxOSwgNDYsIDEsIDIzMSwgMjE1LCAyMTksIDM4LCAyMTksIDQ2LCAxLCAyMjksIDc5LCAKLSAgICAyMTksIDM4LCAyMTksIDQ2LCAxLCAyMzMsIDExOCwgMjE5LCAzOCwgMjE5LCA0NiwgMSwgMjI5LCAyMTgsIDIxOSwgMzgsIAotICAgIDIxOSwgNDYsIDEsIDIxNCwgMjQsIDIxOSwgMzgsIDIxOSwgNDYsIDEsIDIyNiwgNzcsIDIxOSwgMzgsIDIxOSwgNDYsIDEsIAotICAgIDIxMSwgODQsIDIxOSwgMzgsIDIxOSwgNDYsIDEsIDIyMywgMTcxLCAyMTksIDM4LCAyMTksIDQ2LCAxLCAyNDIsIDQ0LCAKLSAgICAyMTksIDM4LCAyMTksIDQ2LCAxLCAyMzQsIDI1NCwgMjE5LCAzOCwgMjE5LCA0NiwgMSwgMjM1LCAxNDIsIDIxOSwgMzgsIAotICAgIDIxOSwgNDYsIDEsIDIyNywgMTY2LCAyMTksIDM4LCAyMTksIDQ2LCAxLCAyNTQsIDIxOCwgMjE5LCAzOCwgMjE5LCA0NiwgMSwgCi0gICAgMjQ1LCAyMTUsIDIxOSwgMzgsIDIxOSwgNDYsIDEsIDIzNiwgNDEsIDIxOSwgMzgsIDIxOSwgNDYsIDEsIDIxNCwgMjA4LCAKLSAgICAyMTksIDM4LCAyMTksIDQ2LCAxLCAyMjYsIDIyNiwgMjE5LCAzOCwgMjE5LCA0NiwgMSwgMjQ1LCAyMDUsIDIxOSwgMzgsIAotICAgIDIxOSwgNDYsIDEsIDIzMSwgMjI4LCAyMTksIDM4LCAyMTksIDQ2LCAyMSwgMjEwLCA4NiwgMjE5LCAzOCwgMjE5LCA0NiwgCi0gICAgMjEsIDExMSwgMjE5LCAzOCwgMjE5LCA0NiwgMjEsIDEwNSwgMjE5LCAzOCwgMjE5LCA0NiwgMjEsIDE1OCwgMjE5LCAzOCwgCi0gICAgMjE5LCA0NiwgMjEsIDE2MSwgMjE5LCAzOCwgMjE5LCA0NiwgMjEsIDE5MCwgMjE5LCAzOCwgMjE5LCA0NiwgMjEsIDE5NSwgCi0gICAgMjE5LCAzOCwgMjE5LCA0NiwgMjEsIDE5OSwgMjE5LCAzOCwgMjE5LCA0NiwgMjEsIDE5NiwgMjE5LCAzOCwgMjE5LCA0NiwgCi0gICAgMjEsIDIwMSwgMjUwLCAxNTksIDUsIDI1MSwgNywgMjUwLCAxNTksIDUsIDI1NCwgODMsIDI1MCwgMTU5LCA1LCAyMTMsIAotICAgIDE0NywgMjUwLCAxNTksIDEsIDI1NSwgODIsIDI1MCwgMTU5LCAxLCA3NCwgMjUwLCAxNTksIDEsIDY5LCAyNTAsIDE1OSwgMSwgCi0gICAgNzYsIDI1MCwgMTU5LCAxLCAyMzUsIDE2LCAyNTAsIDE1OSwgMSwgMjM0LCAxMzcsIDI1MCwgMTU5LCAxLCAyNDMsIDEzOSwgCi0gICAgMjUwLCAxNTksIDEsIDI0MiwgMjU1LCAyNTAsIDE1OSwgMSwgMjI5LCA4MSwgMjUwLCAxNTksIDEsIDI1MSwgNDAsIDI1MCwgCi0gICAgMTU5LCAxLCAyNTAsIDE2NCwgMjUwLCAxNTksIDEsIDIzNSwgMTQ2LCAyNTAsIDE1OSwgMSwgMjM1LCAxMTksIDI1MCwgMTU5LCAKLSAgICAxLCAyMjcsIDE2OCwgMjUwLCAxNTksIDEsIDIxNSwgMTU2LCAyNTAsIDE1OSwgMSwgMjE1LCAxNDQsIDI1MCwgMTU5LCAxLCAKLSAgICAyNDgsIDE0MiwgMjUwLCAxNTksIDEsIDI0OCwgMTI2LCAyNTAsIDE1OSwgMSwgMjI4LCAxMTQsIDI1MCwgMTU5LCAxLCAyMTcsIAotICAgIDEwMiwgMjUwLCAxNTksIDEsIDIxNiwgMjA4LCAyNTAsIDE1OSwgMSwgMjQ4LCAyMjgsIDI1MCwgMTU5LCAxLCAyNDgsIDMyLCAKLSAgICAyNTAsIDE1OSwgMSwgMjI5LCAyMzAsIDI1MCwgMTU5LCAxLCAyMjYsIDkzLCAyNTAsIDE1OSwgMSwgMjI1LCAxNDksIDI1MCwgCi0gICAgMTU5LCAxLCAyNTIsIDE5NywgMjUwLCAxNTksIDEsIDI1MiwgMjUsIDI1MCwgMTU5LCAxLCAyMzEsIDI0MiwgMjUwLCAxNTksIAotICAgIDEsIDIxMCwgMTY3LCAyNTAsIDE1OSwgMSwgMjExLCAxMDMsIDI1MCwgMTU5LCAxLCAyMjMsIDE4NywgMjUwLCAxNTksIDEsIAotICAgIDIzMywgMTQwLCAyNTAsIDE1OSwgMSwgMjEyLCA2NCwgMjUwLCAxNTksIDEsIDIyMiwgMzMsIDI1MCwgMTU5LCAxLCAyNDIsIAotICAgIDUzLCAyNTAsIDE1OSwgMjUsIDUsIDYxLCAyNTAsIDE1OSwgMjUsIDUsIDc0LCAyNTAsIDE1OSwgMjUsIDUsIDIzNiwgNDAsIAotICAgIDI1MCwgMTU5LCAyNSwgNSwgNjksIDI1MCwgMTU5LCAyNSwgNSwgMjE0LCAxMTgsIDI1MCwgMTU5LCAyNSwgNSwgNzYsIDI1MCwgCi0gICAgMTU5LCAyNSwgNSwgMjU0LCAyMTAsIDI1MCwgMTU5LCAyNSwgNSwgNzgsIDI1MCwgMTU5LCAyNSwgNSwgMjUzLCAyMDAsIAotICAgIDI1MCwgMTU5LCAyNSwgNSwgMjI2LCAyMjMsIDI1MCwgMTU5LCAxNDQsIDc5LCAyNTAsIDE1OSwgMjUzLCAyMDEsIDc5LCAKLSAgICAyNTAsIDE1OSwgMjEzLCAxNTIsIDI1MCwgMTU5LCAyMzEsIDI0MCwgMjUwLCAxNTksIDIxLCAyMTAsIDg2LCAyNTAsIDE1OSwgCi0gICAgMjEsIDExMSwgMjUwLCAxNTksIDIxLCAxMDUsIDI1MCwgMTU5LCAyMSwgMTU4LCAyNTAsIDE1OSwgMjEsIDE2MSwgMjUwLCAKLSAgICAxNTksIDIxLCAxOTAsIDI1MCwgMTU5LCAyMSwgMTk1LCAyNTAsIDE1OSwgMjEsIDE5OSwgMjUwLCAxNTksIDIxLCAxOTYsIAotICAgIDI1MCwgMTU5LCAyMSwgMjAxLCAyNTAsIDE1OSwgMjIxLCAxNzUsIDc5LCAyNTAsIDE1OSwgMjQ4LCAxODYsIDI1MCwgMTU5LCAKLSAgICA1MiwgMjQ4LCAxODYsIDI1MCwgMTU5LCAyMjQsIDE2LCA3OSwgMTc0LCA1LCAyNTEsIDcsIDE3NCwgNSwgMjU0LCA4MywgCi0gICAgMTc0LCA1LCAyMTMsIDE0NywgMTc0LCAxLCA2MSwgMTc0LCAxLCAyNTUsIDgyLCAxNzQsIDEsIDc0LCAxNzQsIDEsIDIzNiwgCi0gICAgNDAsIDE3NCwgMSwgNjksIDE3NCwgMSwgMjE0LCAxMTgsIDE3NCwgMSwgMTQ5LCAxNTMsIDE3NCwgMSwgMTQ5LCAyMjIsIAotICAgIDE4MiwgMTc0LCAxLCAxNDksIDE1NiwgMTc0LCAxLCAxNDksIDIzMiwgMTkxLCAxNzQsIDEsIDc2LCAxNzQsIDEsIDI1NCwgCi0gICAgMjEwLCAxNzQsIDEsIDc4LCAxNzQsIDEsIDI1MywgMjAwLCAxNzQsIDEsIDE3NiwgMTc0LCAxLCAyMzQsIDEzOCwgMTc0LCAxLCAKLSAgICAyNDMsIDE0MiwgMTc0LCAxLCAyNDMsIDAsIDE3NCwgMSwgMjI5LCA4MiwgMTc0LCAxLCAyNTEsIDQxLCAxNzQsIDEsIDI1MCwgCi0gICAgMTY1LCAxNzQsIDEsIDIzNSwgMTQ3LCAxNzQsIDEsIDIzNSwgMTIwLCAxNzQsIDEsIDIyNywgMTY5LCAxNzQsIDEsIDIxNSwgCi0gICAgMTU3LCAxNzQsIDEsIDIxNSwgMTQ1LCAxNzQsIDEsIDI0OCwgMTQzLCAxNzQsIDEsIDI0OCwgMTI3LCAxNzQsIDEsIDIyOCwgCi0gICAgMTE1LCAxNzQsIDEsIDIxNywgMTA2LCAxNzQsIDEsIDIxNiwgMjA5LCAxNzQsIDEsIDI0OCwgMjI5LCAxNzQsIDEsIDI0OCwgCi0gICAgMzMsIDE3NCwgMSwgMTk4LCAxNzQsIDEsIDE5MSwgMTc0LCAxLCAyMjUsIDE1MCwgMTc0LCAxLCAyNTIsIDE5OSwgMTc0LCAxLCAKLSAgICAyNTIsIDI2LCAxNzQsIDEsIDE4NiwgMTc0LCAxLCAxOTIsIDE3NCwgMSwgMjA1LCAxNzQsIDEsIDIzMywgMTQxLCAxNzQsIDEsIAotICAgIDIzMiwgMTkwLCAxNzQsIDEsIDIxNCwgMjcsIDE3NCwgMSwgMjIwLCAxMDQsIDE3NCwgMSwgMjE4LCAyMjUsIDE3NCwgMSwgCi0gICAgMjA2LCAxNzQsIDEsIDE2MiwgMTc0LCAyNSwgNSwgMjU1LCA4MiwgMTc0LCAyNSwgNSwgNzQsIDE3NCwgMjUsIDUsIDIzNiwgCi0gICAgNDAsIDE3NCwgMjUsIDUsIDY5LCAxNzQsIDI1LCA1LCAyMTQsIDExOCwgMTc0LCAyNSwgNSwgMTQ5LCAxNTMsIDE3NCwgMjUsIAotICAgIDUsIDE0OSwgMjIyLCAxODIsIDE3NCwgMjUsIDUsIDE0OSwgMTU2LCAxNzQsIDI1LCA1LCAxNDksIDIzMiwgMTkxLCAxNzQsIAotICAgIDI1LCA1LCA3NiwgMTc0LCAyNSwgNSwgMjU0LCAyMTAsIDE3NCwgMjUsIDUsIDc4LCAxNzQsIDI1LCA1LCAyNTMsIDIwMCwgCi0gICAgMTc0LCA1LCAyMTMsIDE1MiwgMTc0LCA1LCAyNTMsIDE4MywgMTc0LCA1LCAyMzUsIDEwOCwgMTc0LCA1LCAyMTQsIDE2MSwgCi0gICAgMTc0LCAyMjYsIDIwOCwgMTc0LCAyNDgsIDE4NiwgMTc0LCA1MiwgMjQ4LCAxODYsIDE3NCwgMjU1LCAzMCwgNTAsIDE3NCwgCi0gICAgMjIwLCAxMzksIDE3NCwgMjEsIDIxMCwgODYsIDE3NCwgMjEsIDExMSwgMTc0LCAyMSwgMTA1LCAxNzQsIDIxLCAxNTgsIAotICAgIDE3NCwgMjEsIDE2MSwgMTc0LCAyMSwgMTkwLCAxNzQsIDIxLCAxOTUsIDE3NCwgMjEsIDE5OSwgMTc0LCAyMSwgMTk2LCAKLSAgICAxNzQsIDIxLCAyMDEsIDIxNywgNzAsIDEsIDYxLCAyMTcsIDcwLCAxLCAyNTUsIDgyLCAyMTcsIDcwLCAxLCA3NCwgMjE3LCAKLSAgICA3MCwgMSwgMjM2LCA0MCwgMjE3LCA3MCwgMSwgNjksIDIxNywgNzAsIDEsIDIxNCwgMTE4LCAyMTcsIDcwLCAxLCA3NiwgCi0gICAgMjE3LCA3MCwgMSwgMjU0LCAyMTAsIDIxNywgNzAsIDEsIDc4LCAyMTcsIDcwLCAxLCAyNTMsIDIwMCwgMjE3LCA3MCwgMSwgCi0gICAgMTc2LCAyMTcsIDcwLCAxLCAyMzQsIDEzOCwgMjE3LCA3MCwgMSwgMjQzLCAxNDIsIDIxNywgNzAsIDEsIDI0MywgMCwgMjE3LCAKLSAgICA3MCwgMSwgMjI5LCA4MiwgMjE3LCA3MCwgMSwgMjUxLCA0MSwgMjE3LCA3MCwgMSwgMjUwLCAxNjUsIDIxNywgNzAsIDEsIAotICAgIDIzNSwgMTQ3LCAyMTcsIDcwLCAxLCAyMzUsIDEyMCwgMjE3LCA3MCwgMSwgMjI3LCAxNjksIDIxNywgNzAsIDEsIDIxNSwgCi0gICAgMTU3LCAyMTcsIDcwLCAxLCAyMTUsIDE0NSwgMjE3LCA3MCwgMSwgMjQ4LCAxNDMsIDIxNywgNzAsIDEsIDI0OCwgMTI3LCAKLSAgICAyMTcsIDcwLCAxLCAyMjgsIDExNSwgMjE3LCA3MCwgMSwgMjE3LCAxMDYsIDIxNywgNzAsIDEsIDIxNiwgMjA5LCAyMTcsIAotICAgIDcwLCAxLCAyNDgsIDIyOSwgMjE3LCA3MCwgMSwgMjQ4LCAzMywgMjE3LCA3MCwgMSwgMTk4LCAyMTcsIDcwLCAxLCAxOTEsIAotICAgIDIxNywgNzAsIDEsIDIyNSwgMTUwLCAyMTcsIDcwLCAxLCAyNTIsIDE5OSwgMjE3LCA3MCwgMSwgMjUyLCAyNiwgMjE3LCA3MCwgCi0gICAgMSwgMTg2LCAyMTcsIDcwLCAxLCAxOTIsIDIxNywgNzAsIDEsIDIwNSwgMjE3LCA3MCwgMSwgMjMzLCAxNDEsIDIxNywgNzAsIAotICAgIDEsIDIxNCwgMjcsIDIxNywgNzAsIDEsIDIyMCwgMTA0LCAyMTcsIDcwLCAxLCAyMDYsIDIxNywgNzAsIDEsIDE2MiwgMjE3LCAKLSAgICA3MCwgMSwgMjIyLCAxODEsIDIxNywgNzAsIDUsIDI1NCwgODMsIDIxNywgNzAsIDUsIDIxMywgMTQ3LCAyMTcsIDcwLCAyNSwgCi0gICAgNSwgMjU1LCA4MiwgMjE3LCA3MCwgMjUsIDUsIDc0LCAyMTcsIDcwLCAyNSwgNSwgMjM2LCA0MCwgMjE3LCA3MCwgMjUsIDUsIAotICAgIDY5LCAyMTcsIDcwLCAyNSwgNSwgMjE0LCAxMTgsIDIxNywgNzAsIDI1LCA1LCA3NiwgMjE3LCA3MCwgMjUsIDUsIDI1NCwgCi0gICAgMjEwLCAyMTcsIDcwLCAyNSwgNSwgNzgsIDIxNywgNzAsIDI1LCA1LCAyNTMsIDIwMCwgMjE3LCA3MCwgNSwgMjEzLCAxNTIsIAotICAgIDIxNywgNzAsIDUsIDIyNywgMjA5LCAyMTcsIDcwLCAyMSwgMjEwLCA4NiwgMjE3LCA3MCwgMjEsIDExMSwgMjE3LCA3MCwgCi0gICAgMjEsIDEwNSwgMjE3LCA3MCwgMjEsIDE1OCwgMjE3LCA3MCwgMjEsIDE2MSwgMjE3LCA3MCwgMjEsIDE5MCwgMjE3LCA3MCwgCi0gICAgMjEsIDE5NSwgMjE3LCA3MCwgMjEsIDE5OSwgMjE3LCA3MCwgMjEsIDE5NiwgMjE3LCA3MCwgMjEsIDIwMSwgMTUsIDUsIDYxLCAKLSAgICAxNSwgNSwgMTE2LCAzMCwgNjEsIDE1LCA1LCAxMTYsIDMwLCAyNTIsIDE4NCwgMTUsIDUsIDExNiwgMzAsIDI0MywgMTEyLCAKLSAgICAyMTYsIDI0MCwgMTUsIDUsIDExNiwgMzAsIDE2MiwgMTUsIDUsIDExNiwgMzAsIDIzNiwgNDIsIDE1LCA1LCAxMTYsIDMwLCAKLSAgICAyMzMsIDEyMiwgMjQyLCAxMDEsIDE1LCA1LCAxMTYsIDMwLCAyMzAsIDY2LCAxNSwgNSwgMTE2LCAzMCwgMjIyLCAyMywgMTUsIAotICAgIDUsIDI1NSwgODQsIDE1LCA1LCAyNTUsIDM0LCAxNSwgNSwgMjU1LCAzNSwgMzAsIDI1MywgMjM3LCAxNSwgNSwgMjU1LCAzNSwgCi0gICAgMzAsIDI0NiwgNzUsIDI0MiwgMTAxLCAxNSwgNSwgMjU1LCAzNSwgMzAsIDI0MywgMTI1LCAxNSwgNSwgMjU1LCAzNSwgMzAsIAotICAgIDI0MywgMTEyLCAyMTYsIDI0MCwgMTUsIDUsIDI1NSwgMzUsIDMwLCAxNjIsIDE1LCA1LCAyNTUsIDM1LCAzMCwgMjM2LCA0MywgCi0gICAgMjQyLCAxMDEsIDE1LCA1LCAyNTUsIDM1LCAzMCwgMjM2LCAxNiwgMTUsIDUsIDI1NSwgMzUsIDMwLCAyMzMsIDEyMywgMTUsIAotICAgIDUsIDI1NSwgMzUsIDMwLCAyMjAsIDUwLCAxNSwgNSwgMjU1LCAzNSwgMzAsIDEwNCwgOTYsIDEwNCwgOTYsIDY5LCAxNSwgNSwgCi0gICAgMjU1LCAzNSwgMjQyLCAxMDEsIDE1LCA1LCAyNTUsIDMyLCAxNSwgNSwgMjU1LCAzMywgMzAsIDI1MiwgMTY4LCAxNSwgNSwgCi0gICAgMjU1LCAzMywgMzAsIDI0MywgMTEyLCAyMTYsIDI0MCwgMTUsIDUsIDI1NSwgMzMsIDMwLCAyMzEsIDk3LCA5NiwgMjQ1LCAKLSAgICAxNTgsIDE1LCA1LCAyNTUsIDMzLCAzMCwgMjIwLCAxMDIsIDE1LCA1LCAyNTUsIDMzLCAzMCwgMjE3LCA3MywgMTUsIDUsIAotICAgIDI1NSwgOCwgMTUsIDUsIDI1NCwgMTk1LCAxNSwgNSwgMjU0LCAxOTYsIDMwLCAyNDUsIDk1LCAxNSwgNSwgMjU0LCAxOTYsIAotICAgIDMwLCAyMjAsIDEyLCA5NiwgMjQyLCAxOTcsIDE1LCA1LCAyNTQsIDE4NywgMTUsIDUsIDI1NCwgMTg4LCAzMCwgMjU0LCAKLSAgICAxODcsIDE1LCA1LCAyNTQsIDE4OCwgMzAsIDI0NywgMjI0LCAxNSwgNSwgMjU0LCAxODgsIDMwLCAyNDIsIDE5NywgMTUsIDUsIAotICAgIDI1NCwgMTg4LCAzMCwgMTYyLCAxNSwgNSwgMjU0LCAxODgsIDMwLCAyMzUsIDUsIDE1LCA1LCAyNTQsIDE4OCwgMzAsIDIzNCwgCi0gICAgOTgsIDE1LCA1LCAyNTQsIDE4OCwgMzAsIDIyMCwgNjUsIDE1LCA1LCAyNTQsIDE4OCwgMzAsIDIxNCwgMTI2LCAxNSwgNSwgCi0gICAgMjU0LCAxODQsIDE1LCA1LCAyNTQsIDE3NywgMTUsIDUsIDI1NCwgMTQwLCAxNSwgNSwgMjU0LCAxNDEsIDMwLCAyMjAsIDY1LCAKLSAgICAxNSwgNSwgMjU0LCAxMzEsIDE1LCA1LCAyNTQsIDEzMiwgMTE1LCAyNTQsIDEzMSwgMTUsIDUsIDI1NCwgMTMyLCAxMzQsIAotICAgIDIxNiwgODYsIDE1LCA1LCAyNTQsIDEzMiwgOTYsIDIyOSwgMjIyLCAyMjYsIDE2OCwgMjU0LCAxMzIsIDk2LCAyMjksIDIyMSwgCi0gICAgMTUsIDUsIDI1NCwgMTMyLCA5NiwgMjI5LCAyMjIsIDIxOCwgMjM1LCAxNSwgNSwgMjU0LCAxMDIsIDE1LCA1LCAyNTQsIDc1LCAKLSAgICAxNSwgNSwgMjU0LCA0MywgMTUsIDUsIDI1NCwgNDQsIDMwLCAyMzMsIDIwMiwgMTUsIDUsIDI1NCwgMTYsIDE1LCA1LCAyNTMsIAotICAgIDI0NCwgMTUsIDUsIDI1MywgMjM5LCAxNSwgNSwgMjUzLCAyNDAsIDIxMCwgNDAsIDIxNiwgMjQwLCAxNSwgNSwgMjUzLCAKLSAgICAyNDAsIDIzNSwgOSwgMjE2LCAyNDAsIDE1LCA1LCAyNTMsIDI0MCwgMTE1LCAyNTMsIDI0MCwgMjE1LCAxMTUsIDExNSwgCi0gICAgMjE1LCAxMTUsIDIxNSwgMTE1LCAxMTUsIDIxNSwgMTE1LCAyMjYsIDI1LCAxNSwgNSwgMjUzLCAyNDAsIDExNSwgMjUzLCAKLSAgICAyNDAsIDExNSwgMjUzLCAyMzksIDE1LCA1LCAyNTMsIDI0MCwgMTE1LCAyNTMsIDI0MCwgMTE1LCAyNTMsIDI0MCwgMjQ5LCAKLSAgICAxMzMsIDI1MywgMjQwLCAxMTUsIDI1MywgMjQwLCAxMTUsIDI1MywgMjM5LCAxNSwgNSwgMjUzLCAyMzcsIDE1LCA1LCAyNTMsIAotICAgIDIzNCwgMTUsIDUsIDI1MiwgMTk5LCAxNSwgNSwgMjUyLCAxODQsIDE1LCA1LCAyNTIsIDE3OSwgMTUsIDUsIDI1MiwgMTc1LCAKLSAgICAxNSwgNSwgMjUyLCAxNjksIDE1LCA1LCAyNTIsIDE3MCwgMTE1LCAyNTIsIDE2OSwgMTUsIDUsIDI1MiwgMTY4LCAxNSwgNSwgCi0gICAgMTMwLCAxNSwgNSwgMjUyLCAxNDgsIDE1LCA1LCAyNTIsIDE0LCAxNSwgNSwgMjUyLCAxNSwgMzAsIDYxLCAxNSwgNSwgMjUyLCAKLSAgICAxNSwgMzAsIDI0MywgMTAzLCAxNSwgNSwgMjUyLCAxNSwgMzAsIDIzNiwgNDMsIDI0MiwgMTAxLCAxNSwgNSwgMjUxLCAxMzMsIAotICAgIDE1LCA1LCAyNTEsIDEzNCwgMTE1LCAyNTEsIDEzNCwgMjU1LCAzNCwgMTUsIDUsIDI1MSwgMTM0LCAxMTUsIDI1MSwgMTM0LCAKLSAgICAyMTQsIDE5MCwgMTUsIDUsIDI1MSwgMTM0LCAyNDksIDEzMywgMjUxLCAxMzMsIDE1LCA1LCAyNTEsIDExNywgMTUsIDUsIAotICAgIDI1MSwgMTE4LCAxMTUsIDI1MSwgMTE3LCAxNSwgNSwgMjUxLCAxMDYsIDE1LCA1LCAyNTEsIDEwNSwgMTUsIDUsIDI0OCwgCi0gICAgMjI5LCAxNSwgNSwgMjQ4LCAyMjAsIDE1LCA1LCAyNDgsIDIyMSwgMjM0LCA3MiwgMzAsIDExNiwgOTYsIDIzMSwgMTUyLCAKLSAgICAxNSwgNSwgMjQ4LCAyMjEsIDIzNCwgNzIsIDMwLCAyNTQsIDE0MCwgMTUsIDUsIDI0OCwgMjIxLCAyMzQsIDcyLCAzMCwgCi0gICAgMjUyLCAxNjgsIDE1LCA1LCAyNDgsIDIyMSwgMjM0LCA3MiwgMzAsIDI1MiwgMTQsIDE1LCA1LCAyNDgsIDIyMSwgMjM0LCAKLSAgICA3MiwgMzAsIDI0MywgMTQyLCAxNSwgNSwgMjQ4LCAyMjEsIDIzNCwgNzIsIDMwLCAyNDMsIDE0MywgOTYsIDIzMSwgMTUyLCAKLSAgICAxNSwgNSwgMjQ4LCAyMjEsIDIzNCwgNzIsIDMwLCAyNDIsIDIyMSwgMTUsIDUsIDI0OCwgMjIxLCAyMzQsIDcyLCAzMCwgCi0gICAgMjQyLCAyMDQsIDE1LCA1LCAyNDgsIDIyMSwgMjM0LCA3MiwgMzAsIDI0MiwgMTEwLCAxNSwgNSwgMjQ4LCAyMjEsIDIzNCwgCi0gICAgNzIsIDMwLCAxNjIsIDE1LCA1LCAyNDgsIDIyMSwgMjM0LCA3MiwgMzAsIDIzNSwgMTg2LCAxNSwgNSwgMjQ4LCAyMjEsIAotICAgIDIzNCwgNzIsIDMwLCAyMzUsIDE4NywgOTYsIDIzMiwgMTAzLCAxNSwgNSwgMjQ4LCAyMjEsIDIzNCwgNzIsIDMwLCAyMzQsIAotICAgIDI0OCwgMTUsIDUsIDI0OCwgMjIxLCAyMzQsIDcyLCAzMCwgMjMzLCAxNDEsIDE1LCA1LCAyNDgsIDIyMSwgMjM0LCA3MiwgCi0gICAgMzAsIDIzMiwgMTAzLCAxNSwgNSwgMjQ4LCAyMjEsIDIzNCwgNzIsIDMwLCAyMzIsIDEwNCwgOTYsIDIzMSwgMTUxLCAxNSwgCi0gICAgNSwgMjQ4LCAyMjEsIDIzNCwgNzIsIDMwLCAyMzIsIDg5LCAxNSwgNSwgMjQ4LCAyMjEsIDIzNCwgNzIsIDMwLCAyMjksIAotICAgIDExMiwgMTUsIDUsIDI0OCwgMjIxLCAyMzQsIDcyLCAzMCwgMjI2LCAyNiwgOTYsIDIyNiwgMjUsIDE1LCA1LCAyNDgsIDIyMSwgCi0gICAgMjM0LCA3MiwgMzAsIDIxOSwgMTkzLCAxNSwgNSwgMjQ4LCAyMjEsIDIzNCwgNzIsIDMwLCAyMTcsIDczLCAxNSwgNSwgMjQ4LCAKLSAgICAyMjEsIDIzNCwgNzIsIDMwLCAyMTQsIDIzMSwgOTYsIDI0MiwgMjA0LCAxNSwgNSwgMjQ4LCAyMjEsIDIzNCwgNzIsIDMwLCAKLSAgICAyMTQsIDEyNiwgMTUsIDUsIDI0OCwgMTk1LCAxNSwgNSwgMjQ4LCAxNzQsIDE1LCA1LCAyNDgsIDE3MywgMTUsIDUsIDI0OCwgCi0gICAgMTcyLCAxNSwgNSwgMjQ4LCAxMSwgMTUsIDUsIDI0NywgMjUwLCAxNSwgNSwgMjQ3LCAyMjUsIDE1LCA1LCAyNDcsIDIyNiwgCi0gICAgMzAsIDIyMCwgNjUsIDE1LCA1LCAyNDcsIDIyNCwgMTUsIDUsIDI0NywgMjE0LCAxNSwgNSwgMjQ3LCAyMTUsIDIzNCwgMjE0LCAKLSAgICAxMDQsIDI0MiwgMTAyLCAyNDcsIDE5NSwgMTUsIDUsIDI0NywgMTk1LCAxNSwgNSwgMjQ2LCA4NiwgMTUsIDUsIDI0NiwgODcsIAotICAgIDExNSwgMjQ2LCA4NiwgMTUsIDUsIDI0NiwgODcsIDI0MiwgMTAxLCAxNSwgNSwgMjQ2LCA4NywgMjIwLCA0NywgMTUsIDUsIAotICAgIDI0NiwgODQsIDE1LCA1LCAyNDYsIDg1LCAzMCwgMjQ1LCA4MCwgMTUsIDUsIDI0NiwgODMsIDE1LCA1LCAyNDYsIDgyLCAxNSwgCi0gICAgNSwgMjQ2LCA4MSwgMTUsIDUsIDI0NiwgODAsIDE1LCA1LCAyNDYsIDc2LCAxNSwgNSwgMjQ2LCA3NCwgMTUsIDUsIDI0NiwgCi0gICAgNzUsIDI0MiwgMTAxLCAxNSwgNSwgMjQ2LCA3NSwgMjQyLCAxMDIsIDI0MiwgMTAxLCAxNSwgNSwgMjQ2LCA3MywgMTUsIDUsIAotICAgIDI0NiwgNjYsIDE1LCA1LCA3NiwgMTUsIDUsIDE2MCwgMzAsIDIyNiwgMjUsIDE1LCA1LCAxNjAsIDExNSwgMTYwLCAyMjcsIAotICAgIDE5OSwgMTE1LCAyMjcsIDE5OCwgMTUsIDUsIDI0NSwgMjQyLCAxNSwgNSwgMjQ1LCAyNDMsIDMwLCAxMTYsIDk2LCAyNDIsIAotICAgIDU2LCA5NiwgMjQ4LCAyMjksIDE1LCA1LCAyNDUsIDI0MywgMzAsIDI0MywgMTAzLCAxNSwgNSwgMjQ1LCAyNDMsIDMwLCAKLSAgICAyMzAsIDIzNSwgMTUsIDUsIDI0NSwgMjQzLCAzMCwgMjIyLCAxMCwgMTUsIDUsIDI0NSwgMjQzLCAzMCwgMjIwLCA2NSwgMTUsIAotICAgIDUsIDI0NSwgMjQzLCAzMCwgNjksIDE1LCA1LCAyNDUsIDIxOSwgMTUsIDUsIDI0NSwgMjA4LCAxNSwgNSwgMjQ1LCAxODIsIAotICAgIDE1LCA1LCAyNDUsIDE1OCwgMTUsIDUsIDI0NSwgMTU5LCAzMCwgMjQzLCAxMTEsIDE1LCA1LCAyNDUsIDE1OSwgMzAsIDI0MywgCi0gICAgMTEyLCAyMTYsIDI0MCwgMTUsIDUsIDI0NSwgMTU5LCAzMCwgMjMxLCA5NiwgMTUsIDUsIDI0NSwgMTU5LCAyNDksIDEzMywgCi0gICAgMjQ1LCAxNTgsIDE1LCA1LCAyNDUsIDE1OSwgMjI2LCAxNjgsIDI0NSwgMTU4LCAxNSwgNSwgMjQ1LCAxNTksIDIxOCwgMjM1LCAKLSAgICAxNSwgNSwgMjQ1LCA5NywgMTUsIDUsIDI0NSwgOTUsIDE1LCA1LCAyNDUsIDgwLCAxNSwgNSwgMjQ1LCAxOCwgMTUsIDUsIAotICAgIDI0NSwgMTksIDMwLCA2MSwgMTUsIDUsIDI0NSwgMTksIDMwLCAxMTYsIDk2LCAyMzMsIDExMCwgMTUsIDUsIDI0NSwgMTksIAotICAgIDMwLCAxMTYsIDk2LCAyMzMsIDExMSwgMzAsIDIzMywgMTEwLCAxNSwgNSwgMjQ1LCAxOSwgMzAsIDI1NCwgMTMxLCAxNSwgNSwgCi0gICAgMjQ1LCAxOSwgMzAsIDI1MiwgMTg0LCAxNSwgNSwgMjQ1LCAxOSwgMzAsIDI0NiwgNzUsIDI0MiwgMTAxLCAxNSwgNSwgMjQ1LCAKLSAgICAxOSwgMzAsIDI0NiwgNzUsIDI0MiwgMTAyLCAyNDIsIDEwMSwgMTUsIDUsIDI0NSwgMTksIDMwLCAxNjIsIDE1LCA1LCAyNDUsIAotICAgIDE5LCAzMCwgMjQyLCA1NiwgMjQyLCAxMDEsIDE1LCA1LCAyNDUsIDE5LCAzMCwgMjM2LCA0MywgMjQyLCAxMDEsIDE1LCA1LCAKLSAgICAyNDUsIDE5LCAzMCwgMjM0LCAyMTMsIDE1LCA1LCAyNDUsIDE5LCAzMCwgMjM0LCAyMTQsIDIxOCwgMjM1LCAxNSwgNSwgCi0gICAgMjQ1LCAxOSwgMzAsIDIzMywgMjIxLCAxNSwgNSwgMjQ1LCAxOSwgMzAsIDIzMywgMTQxLCAxNSwgNSwgMjQ1LCAxOSwgMzAsIAotICAgIDIzMywgMTExLCAzMCwgMjMzLCAxMTAsIDE1LCA1LCAyNDUsIDE5LCAzMCwgMjMyLCAyNDcsIDE1LCA1LCAyNDUsIDE5LCAzMCwgCi0gICAgMjMyLCAxMDMsIDE1LCA1LCAyNDUsIDE5LCAzMCwgMjE0LCAyMzAsIDE1LCA1LCAyNDUsIDE5LCAzMCwgMjE0LCAyMTksIDE1LCAKLSAgICA1LCAyNDMsIDE0MiwgMTUsIDUsIDI0MywgMTQzLCAyNDIsIDEwMSwgMTUsIDUsIDI0MywgMTQwLCAxNSwgNSwgMjQzLCAxNDEsIAotICAgIDMwLCAxMTYsIDk2LCAyNDgsIDIzMCwgOTYsIDE2MiwgMTUsIDUsIDI0MywgMTQxLCAzMCwgMTE2LCA5NiwgMTYyLCAxNSwgNSwgCi0gICAgMjQzLCAxNDEsIDMwLCAxMTYsIDk2LCAyMzYsIDQyLCAxNSwgNSwgMjQzLCAxNDEsIDMwLCAyNTUsIDMzLCAyMTYsIDI0MSwgCi0gICAgOTYsIDIxNywgOTQsIDE1LCA1LCAyNDMsIDE0MSwgMzAsIDI1NCwgMTMxLCAxNSwgNSwgMjQzLCAxNDEsIDMwLCAyNTMsIAotICAgIDIzOSwgMTUsIDUsIDI0MywgMTQxLCAzMCwgMjUzLCAyMzgsIDk2LCAyNDMsIDEyNSwgMTUsIDUsIDI0MywgMTQxLCAzMCwgCi0gICAgMjUyLCAxODQsIDE1LCA1LCAyNDMsIDE0MSwgMzAsIDI1MiwgMTQ5LCA5NiwgMjA1LCAxNSwgNSwgMjQzLCAxNDEsIDMwLCAKLSAgICAyNTEsIDEwNiwgMTUsIDUsIDI0MywgMTQxLCAzMCwgMjUxLCAxMDcsIDk2LCAyMDUsIDE1LCA1LCAyNDMsIDE0MSwgMzAsIAotICAgIDI0OCwgMjI5LCAxNSwgNSwgMjQzLCAxNDEsIDMwLCAyNDgsIDExLCAxNSwgNSwgMjQzLCAxNDEsIDMwLCAyNDcsIDIyNiwgCi0gICAgMzAsIDIyMCwgNjUsIDE1LCA1LCAyNDMsIDE0MSwgMzAsIDI0NiwgODQsIDE1LCA1LCAyNDMsIDE0MSwgMzAsIDI0NSwgMTgyLCAKLSAgICAxNSwgNSwgMjQzLCAxNDEsIDMwLCAyNDUsIDE4MywgOTYsIDIzMywgMTQxLCAxNSwgNSwgMjQzLCAxNDEsIDMwLCAyNDUsIAotICAgIDE1OCwgMTUsIDUsIDI0MywgMTQxLCAzMCwgMjQ1LCAxNTksIDMwLCAyNDMsIDExMiwgMjE2LCAyNDAsIDE1LCA1LCAyNDMsIAotICAgIDE0MSwgMzAsIDI0MywgMTEyLCAyMTYsIDI0MCwgMTUsIDUsIDI0MywgMTQxLCAzMCwgMjQzLCAxMDMsIDE1LCA1LCAyNDMsIAotICAgIDE0MSwgMzAsIDI0MiwgMjIxLCAxNSwgNSwgMjQzLCAxNDEsIDMwLCAyNDIsIDIxOSwgMTUsIDUsIDI0MywgMTQxLCAzMCwgCi0gICAgMjQyLCAyMjAsIDk2LCA2MSwgMTUsIDUsIDI0MywgMTQxLCAzMCwgMjQyLCAyMDUsIDk2LCAyMTgsIDg0LCAxNSwgNSwgMjQzLCAKLSAgICAxNDEsIDMwLCAyNDIsIDU2LCA5NiwgMjMyLCAxMDQsIDk2LCAyNDUsIDgwLCAxNSwgNSwgMjQzLCAxNDEsIDMwLCAyNDIsIAotICAgIDM3LCAxNSwgNSwgMjQzLCAxNDEsIDMwLCAyNDIsIDM4LCA5NiwgMjMzLCAxNDEsIDE1LCA1LCAyNDMsIDE0MSwgMzAsIDI0MSwgCi0gICAgMTg4LCA5NiwgMjMyLCAyNDcsIDE1LCA1LCAyNDMsIDE0MSwgMzAsIDI0MCwgMjI1LCAxNSwgNSwgMjQzLCAxNDEsIDMwLCAKLSAgICAyMzYsIDQzLCAyNDIsIDEwMSwgMTUsIDUsIDI0MywgMTQxLCAzMCwgMjM1LCAxNzMsIDk2LCAyNDAsIDIzMCwgOTYsIDI1MywgCi0gICAgMjM5LCAxNSwgNSwgMjQzLCAxNDEsIDMwLCAyMzQsIDI0OCwgMTUsIDUsIDI0MywgMTQxLCAzMCwgMjM0LCAyMTMsIDE1LCA1LCAKLSAgICAyNDMsIDE0MSwgMzAsIDIzNCwgOTUsIDE1LCA1LCAyNDMsIDE0MSwgMzAsIDIzNCwgOTYsIDk2LCAyMzMsIDExMCwgMTUsIDUsIAotICAgIDI0MywgMTQxLCAzMCwgMjMzLCAyMjIsIDk2LCAyNTQsIDEzMSwgMTUsIDUsIDI0MywgMTQxLCAzMCwgMjMzLCAxNDEsIDE1LCAKLSAgICA1LCAyNDMsIDE0MSwgMzAsIDIzMSwgOTcsIDk2LCAyNDUsIDE1OCwgMTUsIDUsIDI0MywgMTQxLCAzMCwgMjMwLCAyMzUsIAotICAgIDE1LCA1LCAyNDMsIDE0MSwgMzAsIDIyNywgMTk4LCAxNSwgNSwgMjQzLCAxNDEsIDMwLCAyMjcsIDE5OSwgMTE1LCAyMjcsIAotICAgIDE5OCwgMTUsIDUsIDI0MywgMTQxLCAzMCwgMTkxLCAxNSwgNSwgMjQzLCAxNDEsIDMwLCAyMjIsIDEwLCAxNSwgNSwgMjQzLCAKLSAgICAxNDEsIDMwLCAyMjEsIDIzMywgMTUsIDUsIDI0MywgMTQxLCAzMCwgMjIwLCA2NSwgMTUsIDUsIDI0MywgMTQxLCAzMCwgCi0gICAgMjIwLCA2NiwgOTYsIDIxNSwgOTksIDE1LCA1LCAyNDMsIDE0MSwgMzAsIDIyMCwgMzIsIDE1LCA1LCAyNDMsIDE0MSwgMzAsIAotICAgIDIxOCwgNDQsIDE1LCA1LCAyNDMsIDE0MSwgMzAsIDIxNywgNzMsIDE1LCA1LCAyNDMsIDE0MSwgMzAsIDY5LCAxNSwgNSwgCi0gICAgMjQzLCAxNDEsIDMwLCAyMTQsIDIxOSwgMTUsIDUsIDI0MywgMTQxLCAzMCwgMjE0LCAyMjAsIDk2LCAyNDYsIDg2LCAxNSwgCi0gICAgNSwgMjQzLCAxNDEsIDExNSwgMjQzLCAxNDAsIDE1LCA1LCAyNDMsIDEzNSwgMTUsIDUsIDI0MywgMTM2LCAyNDksIDEzMywgCi0gICAgMjQzLCAxMzUsIDE1LCA1LCAyNDMsIDEzMywgMTUsIDUsIDI0MywgMTM0LCAxMTUsIDI0MywgMTM0LCAyNDMsIDEwNCwgMTE1LCAKLSAgICAyNDMsIDEwMywgMTUsIDUsIDI0MywgMTI1LCAxNSwgNSwgMjQzLCAxMjYsIDI0MywgMTM0LCAxMTUsIDI0MywgMTM0LCAyNDMsIAotICAgIDEwNCwgMTE1LCAyNDMsIDEwMywgMTUsIDUsIDI0MywgMTI0LCAxNSwgNSwgMjQzLCAxMjIsIDE1LCA1LCAyNDMsIDExMywgCi0gICAgMTUsIDUsIDI0MywgMTExLCAxNSwgNSwgMjQzLCAxMTIsIDIxNiwgMjQwLCAxNSwgNSwgMjQzLCAxMTIsIDExNSwgMjQzLCAKLSAgICAxMTEsIDE1LCA1LCAyNDMsIDExMiwgMjQ5LCAxMzMsIDI0MywgMTExLCAxNSwgNSwgMjQzLCAxMDMsIDE1LCA1LCAyNDMsIAotICAgIDEwMiwgMTUsIDUsIDI0MywgOTcsIDE1LCA1LCAyNDMsIDQzLCAxNSwgNSwgMjQzLCA0NCwgMzAsIDIzMywgMjAyLCAxNSwgNSwgCi0gICAgMjQyLCAyMjEsIDE1LCA1LCAyNDIsIDIyMiwgMzAsIDc2LCAxNSwgNSwgMjQyLCAyMjIsIDMwLCA2OSwgMTUsIDUsIDI0MiwgCi0gICAgMjIyLCAyNDksIDEzMywgMjQyLCAyMjEsIDE1LCA1LCAyNDIsIDIxOSwgMTUsIDUsIDI0MiwgMjIwLCAxMTUsIDI0MiwgMjE5LCAKLSAgICAxNSwgNSwgMjQyLCAyMjAsIDI0OSwgMTMzLCAyNDIsIDIxOSwgMTUsIDUsIDI0MiwgMjE2LCAxNSwgNSwgMjQyLCAyMDQsIAotICAgIDE1LCA1LCAyNDIsIDIwNSwgMjQyLCAxMDEsIDE1LCA1LCAyNDIsIDIwMiwgMTUsIDUsIDI0MiwgMjAzLCAzMCwgMTE2LCA5NiwgCi0gICAgMjM2LCA0MiwgMTUsIDUsIDI0MiwgMjAzLCAzMCwgMjQzLCAxMTIsIDIxNiwgMjQwLCAxNSwgNSwgMjQyLCAyMDMsIDMwLCAKLSAgICAyMzYsIDQyLCAxNSwgNSwgMjQyLCAyMDMsIDMwLCAyMzIsIDEwNCwgOTYsIDIzNiwgNDIsIDE1LCA1LCAyNDIsIDIwMywgMzAsIAotICAgIDE5MSwgMTUsIDUsIDI0MiwgMTk5LCAxNSwgNSwgMjQyLCAxOTcsIDE1LCA1LCAyNDIsIDE5OCwgMjQ5LCAxMzMsIDI0MiwgCi0gICAgMTk3LCAxNSwgNSwgMjQyLCAxOTgsIDMwLCAyNTIsIDE4NCwgMTUsIDUsIDI0MiwgMTk4LCAzMCwgMjE3LCA3MywgMTUsIDUsIAotICAgIDI0MiwgMTk4LCAyMTYsIDI0MCwgMTUsIDUsIDI0MiwgMTIwLCAxNSwgNSwgMjQyLCAxMjEsIDI0OSwgMTMzLCAyNDIsIDEyMCwgCi0gICAgMTUsIDUsIDI0MiwgMTE4LCAxNSwgNSwgMjQyLCAxMTksIDMwLCAyMzQsIDI0OCwgMTUsIDUsIDI0MiwgMTE5LCAzMCwgMjM0LCAKLSAgICAyNDksIDMwLCAyMzYsIDQzLCAyNDIsIDEwMSwgMTUsIDUsIDI0MiwgMTE5LCAzMCwgMjI3LCAxOTgsIDE1LCA1LCAyNDIsIAotICAgIDExOSwgMzAsIDIyMiwgMTEsIDk2LCAyMTUsIDExNCwgMTUsIDUsIDI0MiwgMTE5LCAyNDIsIDEwMSwgMTUsIDUsIDI0MiwgCi0gICAgMTEwLCAxNSwgNSwgMjQyLCAxMTEsIDMwLCAxMTYsIDk2LCAyMzMsIDIwMiwgMTUsIDUsIDI0MiwgMTExLCAzMCwgMjMzLCAKLSAgICAyMDIsIDE1LCA1LCAyNDIsIDExMSwgMTE1LCAyNDIsIDExMSwgMjMyLCA5NiwgMTUsIDUsIDI0MiwgMTA1LCAxNSwgNSwgCi0gICAgMjQyLCAxMDMsIDE1LCA1LCAyNDIsIDEwNCwgMzAsIDIyMCwgNjUsIDE1LCA1LCAyNDIsIDk1LCAxNSwgNSwgMjQyLCA5NCwgCi0gICAgMTUsIDUsIDI0MiwgOTEsIDE1LCA1LCAyNDIsIDkwLCAxNSwgNSwgMTYyLCAxNSwgNSwgMjQyLCA1NiwgMjE2LCAyNDAsIDE1LCAKLSAgICA1LCAyNDIsIDU2LCAyNDIsIDEwMSwgMTUsIDUsIDI0MiwgMzcsIDE1LCA1LCAyNDEsIDE4NywgMTUsIDUsIDI0MSwgMTg4LCAKLSAgICAzMCwgMjUzLCAyMzksIDE1LCA1LCAyNDEsIDE4OCwgMzAsIDI1MywgMjM3LCAxNSwgNSwgMjQxLCAxODgsIDMwLCAyNTIsIAotICAgIDE4NCwgMTUsIDUsIDI0MSwgMTg4LCAzMCwgMjQ3LCAxOTUsIDE1LCA1LCAyNDEsIDE4OCwgMzAsIDI0MywgMTMzLCAxNSwgNSwgCi0gICAgMjQxLCAxODgsIDMwLCAyMzQsIDg3LCAxNSwgNSwgMjQxLCAxODgsIDMwLCAyMjcsIDE5OCwgMTUsIDUsIDI0MSwgMTg4LCAKLSAgICAzMCwgMjIwLCA2NSwgMTUsIDUsIDI0MSwgMTg4LCAzMCwgNjksIDE1LCA1LCAyNDAsIDIyOSwgMTUsIDUsIDI0MCwgMjI1LCAKLSAgICAxNSwgNSwgMjQwLCAyMjYsIDMwLCAyNTQsIDEzMSwgMTUsIDUsIDI0MCwgMjI2LCAzMCwgMjQyLCAzNywgMTUsIDUsIDI0MCwgCi0gICAgMjI2LCAzMCwgMjM0LCAyMTMsIDE1LCA1LCAyNDAsIDIyNiwgMzAsIDIzMiwgMjAzLCAxNSwgNSwgMjQwLCAyMjYsIDMwLCAKLSAgICAyMTQsIDIxOSwgMTUsIDUsIDI0MCwgMjIyLCAxNSwgNSwgNzQsIDE1LCA1LCAyNDAsIDE2MSwgNjEsIDE1LCA1LCAyNDAsIAotICAgIDEyMiwgMTUsIDUsIDIzNiwgNzAsIDE1LCA1LCAyMzYsIDcxLCAxMTUsIDIzNiwgNzEsIDI1MSwgMTA2LCAxNSwgNSwgMjM2LCAKLSAgICA3MSwgMTE1LCAyMzYsIDcxLCAyMTgsIDIzNSwgMTUsIDUsIDIzNiwgNDUsIDE1LCA1LCAyMzYsIDQyLCAxNSwgNSwgMjM2LCAKLSAgICA0MywgMjQ3LCAyNTAsIDE1LCA1LCAyMzYsIDQzLCAyMjMsIDM4LCAxNSwgNSwgMjM2LCA0MywgMTE1LCAyMzYsIDQzLCAyMjAsIAotICAgIDE2LCAxMTUsIDIyMCwgMTYsIDIxNCwgMjIwLCAxMTUsIDIxNCwgMjE5LCAxNSwgNSwgMjM2LCA0MywgMjQyLCAxMDEsIDE1LCAKLSAgICA1LCAyMzYsIDM0LCAxNSwgNSwgMjM2LCAzNSwgMzAsIDI0MywgMTEyLCAyMTYsIDI0MCwgMTUsIDUsIDIzNiwgMzMsIDE1LCAKLSAgICA1LCAyMzYsIDIzLCAxNSwgNSwgMjM2LCAyNCwgMzAsIDIxNywgNzMsIDE1LCA1LCAyMzYsIDI0LCAyNDksIDEzMywgMjM2LCAKLSAgICAyMywgMTUsIDUsIDIzNiwgMjQsIDIyNiwgMTY4LCAyMzYsIDIzLCAxNSwgNSwgMjM2LCAyNCwgMjE4LCAyMzUsIDE1LCA1LCAKLSAgICAyMzYsIDE2LCAxNSwgNSwgMjM2LCA2LCAxNSwgNSwgMjM1LCAxODYsIDE1LCA1LCAyMzUsIDE3MiwgMTUsIDUsIDE3NiwgMTUsIAotICAgIDUsIDIzNSwgMTksIDMwLCA2MSwgMTUsIDUsIDIzNSwgMTksIDMwLCAyNTUsIDgsIDE1LCA1LCAyMzUsIDE5LCAzMCwgMjU1LCAKLSAgICA5LCA5NiwgMjMzLCAyMjEsIDE1LCA1LCAyMzUsIDE5LCAzMCwgMjUzLCAyMzcsIDE1LCA1LCAyMzUsIDE5LCAzMCwgMjUyLCAKLSAgICAxODQsIDE1LCA1LCAyMzUsIDE5LCAzMCwgMjUyLCAxNjgsIDE1LCA1LCAyMzUsIDE5LCAzMCwgMTMwLCAxNSwgNSwgMjM1LCAKLSAgICAxOSwgMzAsIDI1MiwgMTQsIDE1LCA1LCAyMzUsIDE5LCAzMCwgMjQ1LCA5NSwgMTUsIDUsIDIzNSwgMTksIDMwLCAyNDUsIAotICAgIDgwLCAxNSwgNSwgMjM1LCAxOSwgMzAsIDI0MywgMTQyLCAxNSwgNSwgMjM1LCAxOSwgMzAsIDI0MywgMTI1LCAxNSwgNSwgCi0gICAgMjM1LCAxOSwgMzAsIDI0MywgMTEyLCAyMTYsIDI0MCwgMTUsIDUsIDIzNSwgMTksIDMwLCAyNDMsIDEwMywgMTUsIDUsIAotICAgIDIzNSwgMTksIDMwLCAyNDMsIDEwNCwgOTYsIDIyMCwgMTAzLCA5NiwgNjEsIDE1LCA1LCAyMzUsIDE5LCAzMCwgMjQyLCAKLSAgICAyMjEsIDE1LCA1LCAyMzUsIDE5LCAzMCwgMjQyLCAyMDQsIDE1LCA1LCAyMzUsIDE5LCAzMCwgMjQyLCAxOTgsIDk2LCAyMjEsIAotICAgIDIzMywgMTUsIDUsIDIzNSwgMTksIDMwLCAyNDIsIDE5OCwgMjQ5LCAxMzMsIDI0MiwgMTk3LCAxNSwgNSwgMjM1LCAxOSwgCi0gICAgMzAsIDI0MiwgMTIwLCAxNSwgNSwgMjM1LCAxOSwgMzAsIDI0MiwgOTQsIDE1LCA1LCAyMzUsIDE5LCAzMCwgMjM2LCA0MiwgCi0gICAgMTUsIDUsIDIzNSwgMTksIDMwLCAyMzYsIDIzLCAxNSwgNSwgMjM1LCAxOSwgMzAsIDIzNCwgMjQ4LCAxNSwgNSwgMjM1LCAKLSAgICAxOSwgMzAsIDIzNCwgOTgsIDE1LCA1LCAyMzUsIDE5LCAzMCwgMjM0LCA5NSwgMTUsIDUsIDIzNSwgMTksIDMwLCAyMzIsIAotICAgIDI0NywgMTUsIDUsIDIzNSwgMTksIDMwLCAyMzIsIDEwMywgMTUsIDUsIDIzNSwgMTksIDMwLCAyMzEsIDk2LCAxNSwgNSwgCi0gICAgMjM1LCAxOSwgMzAsIDIzMSwgOTcsIDk2LCAyNDYsIDg2LCAxNSwgNSwgMjM1LCAxOSwgMzAsIDIzMSwgOTcsIDk2LCAyNDIsIAotICAgIDIyMSwgMTUsIDUsIDIzNSwgMTksIDMwLCAyMzEsIDk3LCA5NiwgMjE3LCAyMywgMTUsIDUsIDIzNSwgMTksIDMwLCAyMzAsIAotICAgIDIzNSwgMTUsIDUsIDIzNSwgMTksIDMwLCAyMzAsIDIzNiwgOTYsIDIyNywgMTkzLCAxNSwgNSwgMjM1LCAxOSwgMzAsIDIyOSwgCi0gICAgMTEyLCAxNSwgNSwgMjM1LCAxOSwgMzAsIDIyNywgMTk4LCAxNSwgNSwgMjM1LCAxOSwgMzAsIDIyNSwgMTExLCAxNSwgNSwgCi0gICAgMjM1LCAxOSwgMzAsIDIyMiwgMTQyLCAxNSwgNSwgMjM1LCAxOSwgMzAsIDIwNiwgMTUsIDUsIDIzNSwgMTksIDMwLCAyMjEsIAotICAgIDIzMywgMTUsIDUsIDIzNSwgMTksIDMwLCAyMjAsIDEwNCwgMTUsIDUsIDIzNSwgMTksIDMwLCAyMjAsIDY1LCAxNSwgNSwgCi0gICAgMjM1LCAxOSwgMzAsIDIyMCwgMzIsIDE1LCA1LCAyMzUsIDE5LCAzMCwgMjE5LCAyMjcsIDE1LCA1LCAyMzUsIDE5LCAzMCwgCi0gICAgMjE5LCAxODQsIDE1LCA1LCAyMzUsIDE5LCAzMCwgMjE4LCA1MiwgMTUsIDUsIDIzNSwgMTksIDMwLCAyMTcsIDUxLCAxNSwgCi0gICAgNSwgMjM1LCAxOSwgMzAsIDY5LCAxNSwgNSwgMjM1LCAxOSwgMzAsIDIxNCwgMjMwLCAxNSwgNSwgMjM1LCAxOSwgMzAsIAotICAgIDIxNCwgMjE5LCAxNSwgNSwgMjM1LCAxOSwgMzAsIDIxNCwgMTkzLCAzMCwgMTkxLCAxNSwgNSwgMjM1LCAxOSwgMzAsIDIxNCwgCi0gICAgMTI2LCAxNSwgNSwgMjM1LCAxOSwgMzAsIDIxMCwgNDQsIDE1LCA1LCAyMzUsIDE3LCAxNSwgNSwgMjM1LCAxOCwgMjQ5LCAKLSAgICAxMzMsIDIzNSwgMTcsIDE1LCA1LCAyMzUsIDEwLCAxNSwgNSwgMjM1LCA3LCAxNSwgNSwgMjM1LCA1LCAxNSwgNSwgMjM1LCAKLSAgICA0LCAxNSwgNSwgMjM1LCAyLCAxNSwgNSwgMjM1LCAzLCAxMTUsIDIzNSwgMiwgMTUsIDUsIDIzNCwgMjQ4LCAxNSwgNSwgCi0gICAgMjM0LCAyNDksIDMwLCAyMzYsIDQzLCAyNDIsIDEwMSwgMTUsIDUsIDIzNCwgMjQ0LCAxNSwgNSwgMjM0LCAyNDUsIDMwLCAKLSAgICAyNTIsIDE4NCwgMTUsIDUsIDIzNCwgMjQ1LCAyNDksIDEzMywgMjM0LCAyNDQsIDE1LCA1LCAyMzQsIDI0MiwgMTUsIDUsIAotICAgIDIzNCwgMjQxLCAxNSwgNSwgMjM0LCAyMTMsIDE1LCA1LCAyMzQsIDIxNCwgMjMzLCAxMjQsIDMwLCAxMDQsIDExNSwgMjMzLCAKLSAgICAxMjQsIDMwLCA2OSwgMTUsIDUsIDIzNCwgMjE0LCAxMTUsIDIzNCwgMjE0LCAyMzMsIDEyNCwgMzAsIDEwNCwgMTE1LCAyMzMsIAotICAgIDEyNCwgMzAsIDY5LCAxNSwgNSwgMjM0LCAxNjMsIDE1LCA1LCAyMzQsIDk4LCAxNSwgNSwgMjM0LCA5OSwgMzAsIDI1MiwgCi0gICAgMTg0LCAxNSwgNSwgMjM0LCA5OSwgMzAsIDY5LCAxNSwgNSwgMjM0LCA5OSwgMzAsIDIxNCwgMjE5LCAxNSwgNSwgMjM0LCAKLSAgICA5NSwgMTUsIDUsIDIzNCwgODcsIDE1LCA1LCAyMzQsIDc0LCAxNSwgNSwgMjM0LCA3MywgMTUsIDUsIDIzNCwgNzEsIDE1LCAKLSAgICA1LCAyMzQsIDcyLCAxMTUsIDIzNCwgNzEsIDE1LCA1LCAyMzMsIDIyMywgMTUsIDUsIDIzMywgMjI0LCAxMTUsIDI0MSwgCi0gICAgMTg4LCAzMCwgMjUzLCAyMzgsIDIzMywgMjI0LCAxMTUsIDI0MSwgMTg4LCAzMCwgMjUzLCAyMzcsIDE1LCA1LCAyMzMsIAotICAgIDIyMSwgMTUsIDUsIDIzMywgMjE5LCAxNSwgNSwgMjMzLCAyMjAsIDIxNCwgMTIsIDE3LCAxNSwgNSwgMjMzLCAyMTgsIDE1LCAKLSAgICA1LCAyMzMsIDIxNSwgMTUsIDUsIDIzMywgMjE2LCAyNDIsIDEwMSwgMTUsIDUsIDIzMywgMjE0LCAxNSwgNSwgMjMzLCAyMDIsIAotICAgIDE1LCA1LCAyMzMsIDIwMywgMjI2LCAxNjgsIDIzMywgMjAyLCAxNSwgNSwgMjMzLCAxOTcsIDE1LCA1LCAyMzMsIDE3OCwgCi0gICAgMTUsIDUsIDIzMywgMTQxLCAxNSwgNSwgMjMzLCAxMjMsIDE1LCA1LCAyMzMsIDEyNCwgMzAsIDYxLCAxNSwgNSwgMjMzLCAKLSAgICAxMjQsIDMwLCAxMTYsIDk2LCAyNDgsIDIzMCwgOTYsIDE2MiwgMTUsIDUsIDIzMywgMTI0LCAzMCwgMTE2LCA5NiwgMjQzLCAKLSAgICAxMDMsIDE1LCA1LCAyMzMsIDEyNCwgMzAsIDExNiwgOTYsIDIzMywgMTEwLCAxNSwgNSwgMjMzLCAxMjQsIDMwLCAyNTQsIAotICAgIDE4NywgMTUsIDUsIDIzMywgMTI0LCAzMCwgMjU0LCAxMzEsIDE1LCA1LCAyMzMsIDEyNCwgMzAsIDI1MywgMjQwLCAyMTAsIAotICAgIDQwLCAyMTYsIDI0MCwgMTUsIDUsIDIzMywgMTI0LCAzMCwgMjUyLCAxODQsIDE1LCA1LCAyMzMsIDEyNCwgMzAsIDI1MiwgCi0gICAgMTQsIDE1LCA1LCAyMzMsIDEyNCwgMzAsIDI0OCwgMTc0LCAxNSwgNSwgMjMzLCAxMjQsIDMwLCAyNDUsIDE1OCwgMTUsIDUsIAotICAgIDIzMywgMTI0LCAzMCwgMjQzLCAxNDIsIDE1LCA1LCAyMzMsIDEyNCwgMzAsIDI0MywgMTAzLCAxNSwgNSwgMjMzLCAxMjQsIAotICAgIDMwLCAyNDIsIDExMCwgMTUsIDUsIDIzMywgMTI0LCAzMCwgMjQyLCAxMTEsIDk2LCAyNDIsIDExMCwgMTUsIDUsIDIzMywgCi0gICAgMTI0LCAzMCwgMTYyLCAxNSwgNSwgMjMzLCAxMjQsIDMwLCAyNDIsIDM3LCAxNSwgNSwgMjMzLCAxMjQsIDMwLCAyNDEsIAotICAgIDE4OCwgMzAsIDIyNywgMTk4LCAxNSwgNSwgMjMzLCAxMjQsIDMwLCAyMzYsIDQzLCAyNDIsIDEwMSwgMTUsIDUsIDIzMywgCi0gICAgMTI0LCAzMCwgMjM2LCAyMywgMTUsIDUsIDIzMywgMTI0LCAzMCwgMjM2LCAyNCwgOTYsIDE2MiwgMTUsIDUsIDIzMywgMTI0LCAKLSAgICAzMCwgMjM2LCAyNCwgOTYsIDIzMiwgMTAzLCAxNSwgNSwgMjMzLCAxMjQsIDMwLCAyMzQsIDk4LCAxNSwgNSwgMjMzLCAxMjQsIAotICAgIDMwLCAyMzQsIDg3LCAxNSwgNSwgMjMzLCAxMjQsIDMwLCAyMzMsIDIyMSwgMTUsIDUsIDIzMywgMTI0LCAzMCwgMjMzLCAKLSAgICAyMTUsIDE1LCA1LCAyMzMsIDEyNCwgMzAsIDIzMywgMjE2LCA5NiwgMjQxLCAxODgsIDk2LCA2MSwgMTUsIDUsIDIzMywgCi0gICAgMTI0LCAzMCwgMjMzLCAxMjMsIDE1LCA1LCAyMzMsIDEyNCwgMzAsIDIzMiwgMjAzLCAxNSwgNSwgMjMzLCAxMjQsIDMwLCAKLSAgICAyMzIsIDEwMywgMTUsIDUsIDIzMywgMTI0LCAzMCwgMjMyLCA5MSwgMTUsIDUsIDIzMywgMTI0LCAzMCwgMjMxLCA5NiwgMTUsIAotICAgIDUsIDIzMywgMTI0LCAzMCwgMjMxLCA5NywgOTYsIDI0NSwgMTU4LCAxNSwgNSwgMjMzLCAxMjQsIDMwLCAyMzAsIDY2LCAxNSwgCi0gICAgNSwgMjMzLCAxMjQsIDMwLCAyMjksIDExMiwgMTUsIDUsIDIzMywgMTI0LCAzMCwgMjIwLCA2NiwgOTYsIDIxOCwgNDQsIDE1LCAKLSAgICA1LCAyMzMsIDEyNCwgMzAsIDIyMCwgMTIsIDk2LCAyNDIsIDE5OCwgOTYsIDI0NSwgOTUsIDE1LCA1LCAyMzMsIDEyNCwgMzAsIAotICAgIDIyMCwgMTIsIDk2LCAyNDIsIDE5OCwgMjE2LCAyNDAsIDE1LCA1LCAyMzMsIDEyNCwgMzAsIDIxOSwgMjI1LCAxNSwgNSwgCi0gICAgMjMzLCAxMjQsIDMwLCAyMTksIDIyNiwgOTYsIDIxOSwgMjI1LCAxNSwgNSwgMjMzLCAxMjQsIDMwLCAyMTgsIDQ0LCAxNSwgCi0gICAgNSwgMjMzLCAxMjQsIDMwLCAyMTcsIDg1LCAxNSwgNSwgMjMzLCAxMjQsIDMwLCAyMTcsIDczLCAxNSwgNSwgMjMzLCAxMjQsIAotICAgIDMwLCAyMTcsIDI0LCA5NiwgMTE2LCA5NiwgMjE4LCA4NSwgOTYsIDE5OCwgMTUsIDUsIDIzMywgMTI0LCAzMCwgNjksIDE1LCAKLSAgICA1LCAyMzMsIDEyNCwgMzAsIDEwNCwgOTYsIDYxLCAxNSwgNSwgMjMzLCAxMjQsIDMwLCAxMDQsIDk2LCAxMDQsIDk2LCA2OSwgCi0gICAgMTUsIDUsIDIzMywgMTI0LCAzMCwgMjE0LCAyMzEsIDk2LCAyNTMsIDIzOSwgMTUsIDUsIDIzMywgMTI0LCAzMCwgMjE0LCAKLSAgICAyMTksIDE1LCA1LCAyMzMsIDEyNCwgMzAsIDIxNCwgMTI2LCAxNSwgNSwgMjMzLCAxMjQsIDIxOCwgMjM1LCAxNSwgNSwgCi0gICAgMjMzLCAxMjEsIDE1LCA1LCAyMzMsIDEyMiwgMzAsIDIyMCwgNjUsIDE1LCA1LCAyMzMsIDEyMiwgMzAsIDIyMCwgNjYsIDk2LCAKLSAgICAyMTgsIDQ0LCAxNSwgNSwgMjMzLCAxMjIsIDI0MiwgMTAxLCAxNSwgNSwgMjMzLCAxMjIsIDI0MiwgMTAyLCAxMTUsIDIzMywgCi0gICAgMTIyLCAyNDIsIDEwMiwgMjIwLCA2NSwgMTUsIDUsIDIzMywgMTE3LCAxNSwgNSwgMjMzLCAxMTAsIDE1LCA1LCAyMzMsIAotICAgIDExMSwgMzAsIDIzMywgMTEwLCAxNSwgNSwgMjMzLCAxMDgsIDE1LCA1LCAyMzMsIDEwOSwgMzAsIDIzMywgMjAyLCAxNSwgNSwgCi0gICAgMjMzLCAxMDksIDMwLCAyMzMsIDIwMywgOTYsIDIyMiwgMTQyLCAxNSwgNSwgMjMyLCAyNDcsIDE1LCA1LCAyMzIsIDIzMiwgCi0gICAgMTUsIDUsIDIzMiwgMjIyLCAxNSwgNSwgMjMyLCAyMDMsIDE1LCA1LCAyMzIsIDEwMywgMTUsIDUsIDIzMiwgMTA0LCAzMCwgCi0gICAgMjUyLCAxODQsIDE1LCA1LCAyMzIsIDEwMSwgMTUsIDUsIDIzMiwgMTAyLCAzMCwgMjU0LCAxODcsIDE1LCA1LCAyMzIsIAotICAgIDEwMiwgMzAsIDI1MiwgMTg0LCAxNSwgNSwgMjMyLCAxMDIsIDMwLCAyNDUsIDgwLCAxNSwgNSwgMjMyLCAxMDIsIDMwLCAKLSAgICAyNDUsIDgxLCAyMTYsIDI0MCwgMTUsIDUsIDIzMiwgMTAyLCAzMCwgMjQzLCAxMTIsIDIxNiwgMjQwLCAxNSwgNSwgMjMyLCAKLSAgICAxMDIsIDMwLCAyNDEsIDE4OCwgMzAsIDI1MiwgMTg0LCAxNSwgNSwgMjMyLCAxMDIsIDMwLCAyMzYsIDIzLCAxNSwgNSwgCi0gICAgMjMyLCAxMDIsIDMwLCAyMzUsIDcsIDE1LCA1LCAyMzIsIDEwMiwgMzAsIDIzNSwgNSwgMTUsIDUsIDIzMiwgMTAyLCAzMCwgCi0gICAgMjM1LCA2LCA5NiwgMjUzLCAyMzksIDE1LCA1LCAyMzIsIDEwMiwgMzAsIDIzNCwgOTgsIDE1LCA1LCAyMzIsIDEwMiwgMzAsIAotICAgIDIzMywgMTQyLCA5NiwgMjUzLCAyMzksIDE1LCA1LCAyMzIsIDEwMiwgMzAsIDIzMywgMTIzLCAxNSwgNSwgMjMyLCAxMDIsIAotICAgIDMwLCAyMzEsIDk3LCA5NiwgMjQ1LCAxNTgsIDE1LCA1LCAyMzIsIDEwMiwgMzAsIDIyOSwgMTEyLCAxNSwgNSwgMjMyLCAKLSAgICAxMDIsIDMwLCAyMjcsIDI0MiwgMTUsIDUsIDIzMiwgMTAyLCAzMCwgMjE5LCAxOTQsIDk2LCAyNTMsIDIzOSwgMTUsIDUsIAotICAgIDIzMiwgMTAyLCAzMCwgMjE5LCAxNzYsIDk2LCAyNTEsIDEzMywgMTUsIDUsIDIzMiwgMTAyLCAzMCwgMjE1LCAxMTQsIDE1LCAKLSAgICA1LCAyMzIsIDEwMiwgMjE2LCAyNDAsIDE1LCA1LCAyMzIsIDEwMiwgMjQ5LCAxMzMsIDIzMiwgMTAxLCAxNSwgNSwgMjMyLCAKLSAgICAxMDIsIDIyNiwgMTY4LCAyMzIsIDEwMSwgMTUsIDUsIDIzMiwgMTAyLCAyMTgsIDIzNSwgMTUsIDUsIDIzMiwgMTAyLCAyMjAsIAotICAgIDQ3LCAxNSwgNSwgMjMyLCAxMDAsIDE1LCA1LCAyMzIsIDk2LCAxNSwgNSwgMjMyLCA5NywgMTE1LCAyMzIsIDk2LCAxNSwgNSwgCi0gICAgMjMyLCA5NywgMjI2LCAxNjgsIDIzMiwgOTYsIDE1LCA1LCAyMzIsIDk3LCAyMjAsIDQ3LCAxNSwgNSwgMjMyLCA5NCwgMTUsIAotICAgIDUsIDIzMiwgOTEsIDE1LCA1LCAyMzIsIDg5LCAxNSwgNSwgMjMyLCA5MCwgMTE1LCAyMzIsIDg5LCAxNSwgNSwgMjMyLCA5MCwgCi0gICAgMTE1LCAyMzIsIDkwLCAyNDMsIDEwNCwgMTE1LCAyNDMsIDEwMywgMTUsIDUsIDE4NiwgMTUsIDUsIDIzMSwgMjQ0LCAzMCwgCi0gICAgMjE3LCA3MywgMTUsIDUsIDIzMSwgMjQ0LCAyNDIsIDEwMSwgMTUsIDUsIDIzMSwgMjQzLCAxNSwgNSwgMjMxLCAyMTUsIDE1LCAKLSAgICA1LCAyMzEsIDE3MSwgMTUsIDUsIDIzMSwgMTUyLCAxNSwgNSwgMjMxLCAxNTEsIDE1LCA1LCAyMzEsIDk2LCAxNSwgNSwgCi0gICAgMjMxLCA1MiwgMTUsIDUsIDIzMCwgMjM1LCAxNSwgNSwgMjMwLCAxOTMsIDE1LCA1LCAyMzAsIDEwNywgMTUsIDUsIDIzMCwgCi0gICAgMTA4LCAxMTUsIDIzMCwgMTA3LCAxNSwgNSwgMjMwLCA5OCwgMTUsIDUsIDIzMCwgOTksIDI0MiwgMTAxLCAxNSwgNSwgMjMwLCAKLSAgICA4MywgMTUsIDUsIDIzMCwgNjksIDE1LCA1LCAyMzAsIDY2LCAxNSwgNSwgMjMwLCA2NywgMzAsIDYxLCAxNSwgNSwgMjMwLCAKLSAgICA2NywgMzAsIDIzMywgMjAyLCAxNSwgNSwgMjMwLCA2NywgMzAsIDIxMCwgMTE2LCAxNSwgNSwgMjMwLCA2NywgMTE1LCAyMzAsIAotICAgIDY2LCAxNSwgNSwgMjMwLCA2NywgMTE1LCAyMzAsIDY3LCAzMCwgMTE2LCA5NiwgMTk4LCAxNSwgNSwgMjMwLCA2NywgMjQ5LCAKLSAgICAxMzMsIDIzMCwgNjYsIDE1LCA1LCAyMzAsIDY0LCAxNSwgNSwgMjMwLCA2NSwgMzAsIDYxLCAxNSwgNSwgMjMwLCA2NSwgMzAsIAotICAgIDExNiwgOTYsIDI0OCwgMTEsIDE1LCA1LCAyMzAsIDY1LCAzMCwgMjQ4LCAxMSwgMTUsIDUsIDIzMCwgNjUsIDI0MiwgMTAxLCAKLSAgICAxNSwgNSwgMTk4LCAxNSwgNSwgMjI5LCAyMzIsIDE1LCA1LCAyMjksIDIyMSwgMTUsIDUsIDIyOSwgMjIyLCAyMzUsIDE5OSwgCi0gICAgMTUsIDUsIDIyOSwgMjIyLCAzMCwgMjE5LCAyMjgsIDIxNiwgMjQwLCAxNSwgNSwgMjI5LCAyMjIsIDIyNiwgMTY4LCAyMjksIAotICAgIDIyMSwgMTUsIDUsIDIyOSwgMjIwLCAxNSwgNSwgMjI5LCAyMTMsIDIyNywgMTg0LCAxNSwgNSwgMjI5LCAyMTIsIDE1LCA1LCAKLSAgICAyMjksIDIxMSwgMTUsIDUsIDIyOSwgMTEyLCAxNSwgNSwgMjI5LCAxMTMsIDMwLCA2MSwgMTUsIDUsIDIyOSwgMTEzLCAzMCwgCi0gICAgMjE0LCAyMTksIDE1LCA1LCAyMjksIDExMywgMjIwLCA0NywgMTUsIDUsIDIyOCwgMjM4LCAxNSwgNSwgMjI4LCAyMzksIDMwLCAKLSAgICA3NiwgMTUsIDUsIDIyOCwgMjM3LCAxNSwgNSwgMjI4LCAyMDgsIDE1LCA1LCAyMjgsIDIwOSwgMzAsIDI0MywgMTEyLCAyMTYsIAotICAgIDI0MCwgMTUsIDUsIDIyOCwgMjA5LCAzMCwgMjQzLCAxMDQsIDk2LCAyNDMsIDExMiwgMjE2LCAyNDAsIDE1LCA1LCAyMjgsIAotICAgIDIwNiwgMTUsIDUsIDIyOCwgMjA3LCAzMCwgMjU0LCAxMzEsIDE1LCA1LCAyMjgsIDIwNywgMzAsIDI1MywgMjM5LCAxNSwgNSwgCi0gICAgMjI4LCAyMDcsIDMwLCAyNTMsIDI0MCwgOTYsIDI1MywgMjM5LCAxNSwgNSwgMjI4LCAyMDcsIDMwLCAyNDIsIDExMCwgMTUsIAotICAgIDUsIDIyOCwgMjA3LCAzMCwgMjMxLCA5NywgOTYsIDI0MywgMTEyLCAyMTYsIDI0MCwgMTUsIDUsIDIyOCwgMjA3LCAzMCwgCi0gICAgMjI5LCAxMTIsIDE1LCA1LCAyMjgsIDIwNywgMzAsIDIyNywgMTk4LCAxNSwgNSwgMjI4LCAyMDcsIDMwLCAyMjAsIDY1LCAKLSAgICAxNSwgNSwgMjI4LCAyMDcsIDMwLCAyMjAsIDY2LCA5NiwgMTE2LCAyNTQsIDEzMSwgMTUsIDUsIDIyOCwgMjA3LCAzMCwgCi0gICAgMjIwLCA2NiwgOTYsIDI1MywgMjM5LCAxNSwgNSwgMjI4LCAyMDcsIDMwLCAyMjAsIDY2LCA5NiwgMjUzLCAyNDAsIDk2LCAKLSAgICAyNTMsIDIzOSwgMTUsIDUsIDIyOCwgMjA3LCAzMCwgMjE0LCAyMzEsIDk2LCAyNTMsIDIzOSwgMTUsIDUsIDIyOCwgMjA3LCAKLSAgICAzMCwgMjE0LCAxMjYsIDE1LCA1LCAyMjgsIDE5NSwgMTUsIDUsIDIyNywgMjQyLCAxNSwgNSwgMjI3LCAyMTQsIDE1LCA1LCAKLSAgICAyMjcsIDE5OCwgMTUsIDUsIDIyNywgMTk5LCAyMzMsIDEyMiwgMzAsIDI0MywgMTAzLCAxNSwgNSwgMjI3LCAxOTksIDIzMywgCi0gICAgMTIyLCAzMCwgMjMxLCAxNTIsIDE1LCA1LCAyMjcsIDE5OSwgMjMzLCAxMjIsIDMwLCAyMjIsIDEwLCAxNSwgNSwgMjI3LCAKLSAgICAxOTksIDIzMywgMTIyLCAzMCwgMjIyLCAxMSwgMTE1LCAyMjcsIDE5OSwgMjMzLCAxMjIsIDMwLCAyMjIsIDEwLCAxNSwgNSwgCi0gICAgMjI3LCAxOTksIDIzMywgMTIyLCAzMCwgMjE0LCAxMjYsIDE1LCA1LCAyMjcsIDE5OSwgMjE2LCAyNDAsIDE1LCA1LCAyMjcsIAotICAgIDE5OSwgMTE1LCAyMjcsIDE5OCwgMTUsIDUsIDIyNywgMTk5LCAyNDksIDEzMywgMjI3LCAxOTgsIDE1LCA1LCAyMjcsIDE5OSwgCi0gICAgMjQ5LCAxMzMsIDIyNywgMTk5LCAyMzMsIDEyMiwgMTE1LCAyMzMsIDEyMSwgMTUsIDUsIDIyNywgMTkzLCAxNSwgNSwgMjI3LCAKLSAgICAxOTQsIDI1NSwgMzMsIDMwLCAyNTMsIDIzNCwgMTUsIDUsIDIyNywgMTk0LCAyNTUsIDMzLCAzMCwgMjUyLCAxNCwgMTUsIDUsIAotICAgIDIyNywgMTk0LCAyNTUsIDMzLCAzMCwgMjQ2LCA4MiwgMTUsIDUsIDIyNywgMTk0LCAyNTUsIDMzLCAzMCwgMjQyLCAxMTAsIAotICAgIDE1LCA1LCAyMjcsIDE5NCwgMjU1LCAzMywgMzAsIDIzNiwgNDMsIDI0MiwgMTAxLCAxNSwgNSwgMjI3LCAxOTQsIDI1NSwgCi0gICAgMzMsIDMwLCAyMzUsIDUsIDE1LCA1LCAyMjcsIDE5NCwgMjU1LCAzMywgMzAsIDIzMywgMTQxLCAxNSwgNSwgMjI3LCAxOTQsIAotICAgIDI1NSwgMzMsIDMwLCAyMjksIDExMiwgMTUsIDUsIDIyNywgMTk0LCAyNTUsIDMzLCAzMCwgMjE5LCAxNzMsIDE1LCA1LCAKLSAgICAyMjcsIDE5NCwgMjU1LCAzMywgMzAsIDIxNCwgMjMwLCAxNSwgNSwgMjI3LCAxOTQsIDIzNCwgNzIsIDMwLCAyNTIsIDE0LCAKLSAgICAxNSwgNSwgMjI3LCAxOTQsIDIzNCwgNzIsIDMwLCAyNTIsIDE1LCA2OSwgMTUsIDUsIDE5MSwgMTUsIDUsIDIyNiwgODQsIAotICAgIDE1LCA1LCAyMjYsIDUxLCAxNSwgNSwgMjI2LCAyNSwgMTUsIDUsIDIyNSwgMTY0LCAxNSwgNSwgMjI1LCAxMTEsIDE1LCA1LCAKLSAgICAyMjUsIDExMiwgMzAsIDYxLCAxNSwgNSwgMjI1LCAxMTIsIDMwLCAyNTUsIDM0LCAxNSwgNSwgMjI1LCAxMTIsIDMwLCAyNTIsIAotICAgIDE0LCAxNSwgNSwgMjI1LCAxMTIsIDMwLCAyNTEsIDEzMywgMTUsIDUsIDIyNSwgMTEyLCAzMCwgNzYsIDE1LCA1LCAyMjUsIAotICAgIDExMiwgMzAsIDc0LCAxNSwgNSwgMjI1LCAxMTIsIDMwLCAyNDAsIDEyMiwgMTUsIDUsIDIyNSwgMTEyLCAzMCwgNjksIDE1LCAKLSAgICA1LCAyMjUsIDExMiwgMzAsIDIxNCwgMjMwLCAxNSwgNSwgMjI1LCAxMTIsIDI0OSwgMTMzLCAyMjUsIDExMSwgMTUsIDUsIAotICAgIDIyNSwgNTYsIDE1LCA1LCAyMjUsIDU3LCAzMCwgMjM0LCAyNDQsIDE1LCA1LCAyMjUsIDU3LCAzMCwgMjE0LCAyMTksIDE1LCAKLSAgICA1LCAyMjUsIDU3LCAzMCwgMjEwLCAxMTYsIDE1LCA1LCAyMjUsIDU3LCAyMjYsIDE2OCwgMjI1LCA1NiwgMTUsIDUsIDIwNSwgCi0gICAgMTUsIDUsIDIyMywgMTg1LCAxNSwgNSwgMjIzLCAzOCwgMTUsIDUsIDIyMiwgMTQyLCAxNSwgNSwgMjA2LCAxNSwgNSwgMjIyLCAKLSAgICAyNCwgMjI3LCAxODQsIDE1LCA1LCAyMjIsIDIzLCAxNSwgNSwgMjIyLCAyNCwgMzAsIDYxLCAxNSwgNSwgMjIyLCAyNCwgMzAsIAotICAgIDI0NiwgODYsIDE1LCA1LCAyMjIsIDI0LCAzMCwgMjQ2LCA4NCwgMTUsIDUsIDIyMiwgMjQsIDMwLCAxNjIsIDE1LCA1LCAKLSAgICAyMjIsIDI0LCAzMCwgMjM0LCAyNDgsIDE1LCA1LCAyMjIsIDI0LCAzMCwgMjMzLCAyMDIsIDE1LCA1LCAyMjIsIDI0LCAzMCwgCi0gICAgMjMyLCA4OSwgMTUsIDUsIDIyMiwgMjQsIDMwLCAyMzAsIDIzNSwgMTUsIDUsIDIyMiwgMjQsIDMwLCAyMjcsIDE5OCwgMTUsIAotICAgIDUsIDIyMiwgMjQsIDMwLCAyMjIsIDEwLCAxNSwgNSwgMjIyLCAyNCwgMzAsIDIyMCwgMzIsIDE1LCA1LCAyMjIsIDI0LCAzMCwgCi0gICAgMjE3LCA5NCwgMTUsIDUsIDIyMiwgMjQsIDMwLCAyMTQsIDIzMCwgMTUsIDUsIDIyMiwgMjQsIDMwLCAyMTQsIDIyNSwgMTUsIAotICAgIDUsIDIyMiwgMjQsIDMwLCAyMTQsIDE5NywgMTUsIDUsIDIyMiwgMjQsIDMwLCAyMTQsIDE1MCwgMTUsIDUsIDIyMiwgMjQsIAotICAgIDMwLCAyMTQsIDEyNiwgMTUsIDUsIDIyMiwgMjQsIDExNSwgMjIyLCAyMywgMTUsIDUsIDIyMiwgMjQsIDI0MiwgMTAxLCAxNSwgCi0gICAgNSwgMjIyLCAxMCwgMTUsIDUsIDIyMiwgMTEsIDIzMywgMTI0LCAzMCwgMjUzLCAyMzcsIDE1LCA1LCAyMjEsIDI0MSwgMTUsIAotICAgIDUsIDIyMSwgMjMzLCAxNSwgNSwgMjIwLCAxMDQsIDE1LCA1LCAyMjAsIDEwMiwgMTUsIDUsIDIyMCwgMTAzLCAzMCwgNjEsIAotICAgIDE1LCA1LCAyMjAsIDEwMywgMzAsIDI1MiwgMTg0LCAxNSwgNSwgMjIwLCAxMDMsIDMwLCAyNDIsIDE5NywgMTUsIDUsIDIyMCwgCi0gICAgMTAzLCAzMCwgMjI5LCAxMTIsIDE1LCA1LCAyMjAsIDEwMywgMzAsIDIxOSwgMjI1LCAxNSwgNSwgMjIwLCAxMDMsIDMwLCAKLSAgICAyMTUsIDk5LCAxNSwgNSwgMjIwLCAxMDMsIDMwLCA2OSwgMTUsIDUsIDIyMCwgMTAzLCAzMCwgMTA0LCA5NiwgNjEsIDE1LCAKLSAgICA1LCAyMjAsIDEwMSwgMTUsIDUsIDIyMCwgOTksIDE1LCA1LCAyMjAsIDgwLCAxNSwgNSwgMjIwLCA2NSwgMTUsIDUsIDIyMCwgCi0gICAgNjYsIDI0MCwgMjI5LCAxNSwgNSwgMjIwLCA2NiwgMTE1LCAyMjAsIDY2LCAyNDMsIDEzNCwgMTE1LCAyNDMsIDEzNCwgMjQzLCAKLSAgICAxMDQsIDExNSwgMjQzLCAxMDMsIDE1LCA1LCAyMjAsIDY2LCAxMTUsIDIyMCwgNjYsIDIxNywgOTUsIDExNSwgMjE3LCA5NSwgCi0gICAgMjQzLCAxMDQsIDExNSwgMjQzLCAxMDMsIDE1LCA1LCAyMjAsIDU4LCAxNSwgNSwgMjIwLCA1MywgMTUsIDUsIDIyMCwgNTAsIAotICAgIDE1LCA1LCAyMjAsIDQ5LCAxNSwgNSwgMjIwLCA0NiwgMTUsIDUsIDIyMCwgMzIsIDE1LCA1LCAyMjAsIDMzLCAzMCwgNjEsIAotICAgIDE1LCA1LCAyMjAsIDMzLCAzMCwgMjM2LCAyMywgMTUsIDUsIDIyMCwgMjYsIDE1LCA1LCAyMjAsIDI3LCAzMCwgNjEsIDE1LCAKLSAgICA1LCAyMjAsIDI3LCAzMCwgMjUyLCAxNjksIDE1LCA1LCAyMjAsIDI3LCAzMCwgMjUxLCAxMTcsIDE1LCA1LCAyMjAsIDI3LCAKLSAgICAzMCwgMjQ3LCAyMTQsIDE1LCA1LCAyMjAsIDI3LCAzMCwgMjQzLCAxMDMsIDE1LCA1LCAyMjAsIDI3LCAzMCwgMjM2LCA0MiwgCi0gICAgMTUsIDUsIDIyMCwgMjcsIDMwLCAyMzYsIDQzLCAyNDIsIDEwMSwgMTUsIDUsIDIyMCwgMjcsIDMwLCAyMzMsIDE5NywgMTUsIAotICAgIDUsIDIyMCwgMjcsIDMwLCAyMzIsIDkxLCAxNSwgNSwgMjIwLCAyNywgMzAsIDIzMCwgOTgsIDE1LCA1LCAyMjAsIDI3LCAzMCwgCi0gICAgMjIyLCAxMCwgMTUsIDUsIDIyMCwgMjAsIDE1LCA1LCAyMjAsIDE1LCAxNSwgNSwgMjIwLCAxNiwgMjE2LCAyNDAsIDE1LCA1LCAKLSAgICAyMjAsIDE2LCAxMTUsIDIyMCwgMTYsIDI1MSwgMTA3LCAxMTUsIDI1MSwgMTA2LCAxNSwgNSwgMjIwLCAxMSwgMTUsIDUsIAotICAgIDIxOSwgMjI3LCAxNSwgNSwgMjE5LCAyMjgsIDExNSwgMjM1LCAyMDAsIDIxOSwgMjI3LCAxNSwgNSwgMjE5LCAyMjUsIDE1LCAKLSAgICA1LCAyMTksIDIyNCwgMTUsIDUsIDIxOSwgMTkzLCAxNSwgNSwgMjE5LCAxOTQsIDI0MiwgMTAxLCAxNSwgNSwgMjE5LCAxODQsIAotICAgIDE1LCA1LCAyMTksIDE4MiwgMTUsIDUsIDIxOSwgMTgzLCAxMTUsIDIxOSwgMTgzLCAyMTksIDIyNSwgMTUsIDUsIDIxOSwgCi0gICAgMTc1LCAxNSwgNSwgMjE5LCAxNzMsIDE1LCA1LCAyMTgsIDg0LCAxNSwgNSwgMjE4LCA4NSwgMTE1LCAyMTgsIDg0LCAxNSwgCi0gICAgNSwgMjE4LCA1NSwgMTUsIDUsIDIxOCwgNTQsIDE1LCA1LCAyMTgsIDUyLCAxNSwgNSwgMjE4LCA0NCwgMTUsIDUsIDIxOCwgCi0gICAgNDMsIDE1LCA1LCAyMTgsIDE4LCAxNSwgNSwgMjE4LCAxNywgMTUsIDUsIDIxNywgMTA2LCAxNSwgNSwgMjE3LCAxMDcsIAotICAgIDI1MywgMjI0LCAxNSwgNSwgMjE3LCAxMDcsIDMwLCAyNDEsIDE4NywgMTUsIDUsIDIxNywgMTA3LCAzMCwgMjMwLCAyMzUsIAotICAgIDE1LCA1LCAyMTcsIDEwNywgMjQyLCAxMDEsIDE1LCA1LCAyMTcsIDk0LCAxNSwgNSwgMjE3LCA5NSwgMTE1LCAyMTcsIDk1LCAKLSAgICAyMjgsIDIzOSwgMTE1LCAyMjgsIDIzOSwgMjQ3LCAxOTYsIDExNSwgMjQ3LCAxOTUsIDE1LCA1LCAyMTcsIDk1LCAyMTgsIAotICAgIDIzNSwgMTUsIDUsIDIxNywgODUsIDE1LCA1LCAxMjksIDMwLCAyNTIsIDE0LCAxNSwgNSwgMTI5LCAzMCwgMjQyLCAxMTAsIAotICAgIDE1LCA1LCAxMjksIDMwLCAyMjAsIDY1LCAxNSwgNSwgMTI5LCAzMCwgMjE5LCAyMjcsIDE1LCA1LCAxMjksIDMwLCAyMTUsIAotICAgIDExNCwgMTUsIDUsIDEyOSwgMzAsIDIxNCwgMjE5LCAxNSwgNSwgMjE3LCA3MywgMTUsIDUsIDIxNywgNTEsIDE1LCA1LCAKLSAgICAyMTcsIDIzLCAxNSwgNSwgMjE3LCAyNCwgMjQyLCAxMDEsIDE1LCA1LCAyMTYsIDExOCwgMTUsIDUsIDIxNiwgMTE5LCAyMTYsIAotICAgIDI0MCwgMTUsIDUsIDIxNiwgOTEsIDE1LCA1LCAyMTYsIDczLCAxNSwgNSwgMjE2LCA3NCwgMzAsIDIxNywgNzMsIDE1LCA1LCAKLSAgICAyMTYsIDc0LCAxMTUsIDIxNiwgNzMsIDE1LCA1LCAyMTYsIDc0LCAxMTUsIDIxNiwgNzQsIDI0MywgMTM0LCAxMTUsIDI0MywgCi0gICAgMTM0LCAyNDMsIDEwNCwgMTE1LCAyNDMsIDEwMywgMTUsIDUsIDIxNSwgMTE5LCAxNSwgNSwgMjE1LCAxMTQsIDE1LCA1LCAKLSAgICAyMTUsIDExMiwgMTUsIDUsIDIxNSwgMTA5LCAxNSwgNSwgMjE1LCA5OSwgMTUsIDUsIDIxNSwgMTAwLCAxMTUsIDIxNSwgCi0gICAgMTAwLCAyMTAsIDExNywgMTE1LCAyMTAsIDExNiwgMTUsIDUsIDY5LCAxNSwgNSwgMTA0LCAyNDIsIDExMCwgMTUsIDUsIAotICAgIDEwNCwgMTA0LCA2OSwgMTUsIDUsIDEwNCwgMTE1LCAxMDQsIDIyNiwgOTQsIDExNSwgMjI2LCA5NCwgMjQzLCAxMDQsIDExNSwgCi0gICAgMjQzLCAxMDMsIDE1LCA1LCAxMDQsIDExNSwgMTA0LCAyMTgsIDE5LCAxMTUsIDIxOCwgMTgsIDE1LCA1LCAxMDQsIDExNSwgCi0gICAgMTA0LCAxMDQsIDIyMywgNTIsIDExNSwgMTA0LCAyMjMsIDUxLCAxNSwgNSwgMjE0LCAyMzAsIDE1LCA1LCAyMTQsIDIyNSwgCi0gICAgMTUsIDUsIDIxNCwgMjE5LCAxNSwgNSwgMjE0LCAyMjAsIDIzMywgMTk3LCAxNSwgNSwgMjE0LCAyMjAsIDMwLCAyNTIsIAotICAgIDE4NCwgMTUsIDUsIDIxNCwgMjIwLCAzMCwgMjMwLCAyMzUsIDE1LCA1LCAyMTQsIDIyMCwgMzAsIDEwNCwgOTYsIDEwNCwgCi0gICAgOTYsIDY5LCAxNSwgNSwgMjE0LCAyMjAsIDMwLCAxMDQsIDk2LCAxMDQsIDk2LCAxMDQsIDI0MiwgMTAxLCAxNSwgNSwgMjE0LCAKLSAgICAyMjAsIDI0MiwgMTAxLCAxNSwgNSwgMjE0LCAyMjAsIDIyMCwgNDcsIDE1LCA1LCAyMTQsIDIyMCwgMjIwLCA0OCwgMzAsIAotICAgIDI1MiwgMTg0LCAxNSwgNSwgMjE0LCAyMTUsIDE1LCA1LCAyMTQsIDE5NywgMTUsIDUsIDIxNCwgMTk4LCAzMCwgMjMzLCAKLSAgICAxMjMsIDE1LCA1LCAyMTQsIDE5OCwgMzAsIDIzMSwgOTcsIDk2LCAyNDgsIDIyOSwgMTUsIDUsIDIxNCwgMTk4LCAzMCwgCi0gICAgMjIwLCAxMDIsIDE1LCA1LCAyMTQsIDE5OCwgMzAsIDY5LCAxNSwgNSwgMjE0LCAxOTYsIDE1LCA1LCAyMTQsIDE5MiwgMTUsIAotICAgIDUsIDIxNCwgMTkzLCAzMCwgMjM0LCAyMTMsIDE1LCA1LCAyMTQsIDE5MywgMzAsIDE5MSwgMTUsIDUsIDIxNCwgMTkwLCAxNSwgCi0gICAgNSwgMjE0LCAxOTEsIDI0MiwgMTAxLCAxNSwgNSwgMjE0LCAxNTAsIDE1LCA1LCAyMTQsIDE1MSwgMjQ5LCAxMzMsIDIxNCwgCi0gICAgMTUwLCAxNSwgNSwgMjE0LCAxNTEsIDIyMCwgNDcsIDE1LCA1LCAyMTQsIDE0OCwgMTUsIDUsIDIxNCwgMTQ5LCAzMCwgMTE2LCAKLSAgICA5NiwgMTYyLCAxNSwgNSwgMjE0LCAxNDksIDMwLCAxMTYsIDk2LCAxOTgsIDE1LCA1LCAyMTQsIDE0OSwgMzAsIDI1NCwgCi0gICAgMTg3LCAxNSwgNSwgMjE0LCAxNDksIDMwLCAxNjIsIDE1LCA1LCAyMTQsIDE0OSwgMzAsIDIyNywgMTk4LCAxNSwgNSwgMjE0LCAKLSAgICAxNDksIDMwLCAyMTQsIDIzMCwgMTUsIDUsIDIxNCwgMTQ5LCAzMCwgMjE0LCAyMzEsIDk2LCAyNTMsIDIzOSwgMTUsIDUsIAotICAgIDIxNCwgMTQ5LCAzMCwgMjE0LCAyMzEsIDk2LCAyNTIsIDE0LCAxNSwgNSwgMjE0LCAxNDcsIDE1LCA1LCAyMTQsIDE0NCwgCi0gICAgMTUsIDUsIDIxNCwgMTQzLCAxNSwgNSwgMjE0LCAxMzksIDE1LCA1LCAyMTQsIDE0MCwgMzAsIDYxLCAxNSwgNSwgMjE0LCAKLSAgICAxNDAsIDMwLCAyNTMsIDIzNCwgMTUsIDUsIDIxNCwgMTQwLCAzMCwgMTMwLCAxNSwgNSwgMjE0LCAxNDAsIDMwLCAyNDYsIAotICAgIDc2LCAxNSwgNSwgMjE0LCAxNDAsIDMwLCAyNDMsIDE0MiwgMTUsIDUsIDIxNCwgMTQwLCAzMCwgMjQzLCAxMjUsIDE1LCA1LCAKLSAgICAyMTQsIDE0MCwgMzAsIDI0MywgMTEyLCAyMTYsIDI0MCwgMTUsIDUsIDIxNCwgMTQwLCAzMCwgMjQzLCAxMDMsIDE1LCA1LCAKLSAgICAyMTQsIDE0MCwgMzAsIDI0MiwgMTIwLCAxNSwgNSwgMjE0LCAxNDAsIDMwLCAxNjIsIDE1LCA1LCAyMTQsIDE0MCwgMzAsIAotICAgIDIzNiwgNDIsIDE1LCA1LCAyMTQsIDE0MCwgMzAsIDIzNiwgMjMsIDE1LCA1LCAyMTQsIDE0MCwgMzAsIDIzNSwgMTcyLCAxNSwgCi0gICAgNSwgMjE0LCAxNDAsIDMwLCAyMzQsIDk4LCAxNSwgNSwgMjE0LCAxNDAsIDMwLCAyMzIsIDg5LCAxNSwgNSwgMjE0LCAxNDAsIAotICAgIDMwLCAyMzAsIDE5MywgMTUsIDUsIDIxNCwgMTQwLCAzMCwgMTkxLCAxNSwgNSwgMjE0LCAxNDAsIDMwLCAyMjAsIDY1LCAxNSwgCi0gICAgNSwgMjE0LCAxNDAsIDMwLCAyMTksIDE4MiwgMTUsIDUsIDIxNCwgMTQwLCAzMCwgMjE1LCAxMTksIDE1LCA1LCAyMTQsIAotICAgIDE0MCwgMzAsIDEwNCwgOTYsIDI0MiwgMTEwLCAxNSwgNSwgMjE0LCAxNDAsIDMwLCAyMTQsIDIxOSwgMTUsIDUsIDIxNCwgCi0gICAgMTQwLCAzMCwgMjE0LCAxMzcsIDE1LCA1LCAyMTQsIDEzNywgMTUsIDUsIDIxNCwgMTM4LCAzMCwgNjksIDE1LCA1LCAyMTQsIAotICAgIDEyNiwgMTUsIDUsIDIxNCwgMTI3LCAzMCwgNjEsIDE1LCA1LCAyMTQsIDEyNywgMzAsIDIzMywgMjIzLCAxNSwgNSwgMjE0LCAKLSAgICAxMjcsIDMwLCAyMzMsIDIwMiwgMTUsIDUsIDIxNCwgMTI3LCAzMCwgMjE3LCA3MywgMTUsIDUsIDIxNCwgMTIyLCAxNSwgNSwgCi0gICAgMjE0LCAxMjUsIDE1LCA1LCAyMTQsIDEyMywgMTUsIDUsIDIxNCwgMTE5LCAxNSwgNSwgMjE0LCAxMDgsIDE1LCA1LCAyMTQsIAotICAgIDEwOSwgMzAsIDIzNCwgMjEzLCAxNSwgNSwgMjE0LCAxMDcsIDE1LCA1LCAyMTAsIDExNiwgMTUsIDUsIDIxMCwgMTE3LCAKLSAgICAyMTYsIDI0MCwgMTUsIDUsIDIxMCwgMTE3LCA5MiwgMzAsIDIzMywgMjAyLCAxNSwgNSwgMjEwLCAxMTMsIDE1LCA1LCAyMTAsIAotICAgIDEwNiwgMTUsIDUsIDIxMCwgOTMsIDE1LCA1LCAyMTAsIDQ0LCAxNSwgNSwgMjEwLCA0NSwgMTE1LCAyMTAsIDQ0LCAxNSwgNSwgCi0gICAgMjEwLCA0MywgMTUsIDUsIDIxMCwgNDEsIDE1LCA1LCAyMTAsIDQyLCAyMzUsIDksIDIxNiwgMjQwLCAxNSwgNSwgMjEwLCAKLSAgICAzNiwgMTUsIDUsIDIxMCwgMjgsIDE1LCA1LCAyMTAsIDEzLCAxNSwgNSwgMjEwLCAxMSwgMTUsIDUsIDIxMCwgMTIsIDMwLCAKLSAgICA2MSwgMTUsIDUsIDIxMCwgMTAsIDE1LCA1LCAyMTAsIDksIDE1LCAxMzIsIDUsIDExMywgMjUzLCAyMzksIDE1LCAxMzIsIDUsIAotICAgIDEzNCwgMjUzLCAyMzksIDE1LCAxMzIsIDUsIDI0NCwgMTksIDI1MywgMjM5LCAxNSwgMTMyLCA1LCAyNDQsIDg5LCAyNTMsIAotICAgIDIzOSwgMTUsIDEzMiwgNSwgMjE5LCAxMjcsIDI1MywgMjM5LCAxNSwgMTMyLCA1LCAyMjAsIDEyNCwgMjUzLCAyMzksIDE1LCAKLSAgICAxMzIsIDUsIDI0NSwgMjAxLCAyNTMsIDIzOSwgMTUsIDEzMiwgNSwgMjI4LCAyMDUsIDI1MywgMjM5LCAxNSwgMTMyLCA1LCAKLSAgICAxMzQsIDI0NywgMTk1LCAxNSwgMTMyLCA1LCAyNDQsIDE5LCAyNDcsIDE5NSwgMTUsIDEzMiwgNSwgMjQ0LCA4OSwgMjQ3LCAKLSAgICAxOTUsIDE1LCAxMzIsIDUsIDIxOSwgMTI3LCAyNDcsIDE5NSwgMTUsIDEzMiwgNSwgMjIwLCAxMjQsIDI0NywgMTk1LCAxNSwgCi0gICAgMTMyLCA1LCAyNDUsIDIwMSwgMjQ3LCAxOTUsIDE1LCAxMzIsIDUsIDIyOCwgMjA1LCAyNDcsIDE5NSwgMTUsIDEzMiwgNSwgCi0gICAgMjQ0LCAxOSwgNjksIDE1LCAxMzIsIDUsIDI0NCwgODksIDY5LCAxNSwgMTMyLCA1LCAyMTksIDEyNywgNjksIDE1LCAxMzIsIAotICAgIDUsIDIyMCwgMTI0LCA2OSwgMTUsIDEzMiwgNSwgMjQ1LCAyMDEsIDY5LCAxNSwgMTMyLCA1LCAyMjgsIDIwNSwgNjksIDE1LCAKLSAgICAxMzIsIDUsIDEyMywgMjQzLCA0NSwgMTUsIDEzMiwgNSwgMTEzLCAyNDMsIDQ1LCAxNSwgMTMyLCA1LCAxMzQsIDI0MywgNDUsIAotICAgIDE1LCAxMzIsIDUsIDI0NCwgMTksIDI0MywgNDUsIDE1LCAxMzIsIDUsIDI0NCwgODksIDI0MywgNDUsIDE1LCAxMzIsIDUsIAotICAgIDIxOSwgMTI3LCAyNDMsIDQ1LCAxNSwgMTMyLCA1LCAyMjAsIDEyNCwgMjQzLCA0NSwgMTUsIDEzMiwgNSwgMjQ1LCAyMDEsIAotICAgIDI0MywgNDUsIDE1LCAxMzIsIDUsIDIyOCwgMjA1LCAyNDMsIDQ1LCAxNSwgMTMyLCA1LCAxMjMsIDI0MywgNDIsIDE1LCAKLSAgICAxMzIsIDUsIDExMywgMjQzLCA0MiwgMTUsIDEzMiwgNSwgMTM0LCAyNDMsIDQyLCAxNSwgMTMyLCA1LCAyNDQsIDE5LCAyNDMsIAotICAgIDQyLCAxNSwgMTMyLCA1LCAyNDQsIDg5LCAyNDMsIDQyLCAxNSwgMTMyLCA1LCAxMTMsIDIyMCwgODAsIDE1LCAxMzIsIDUsIAotICAgIDEzNCwgMjIwLCA4MCwgMTUsIDEzMiwgNSwgMTM0LCAyMjAsIDgxLCAyMTQsIDEyLCAxNywgMTUsIDEzMiwgNSwgMjQ0LCAxOSwgCi0gICAgMjIwLCA4MCwgMTUsIDEzMiwgNSwgMjQ0LCA4OSwgMjIwLCA4MCwgMTUsIDEzMiwgNSwgMjE5LCAxMjcsIDIyMCwgODAsIDE1LCAKLSAgICAxMzIsIDUsIDIyMCwgMTI0LCAyMjAsIDgwLCAxNSwgMTMyLCA1LCAyNDUsIDIwMSwgMjIwLCA4MCwgMTUsIDEzMiwgNSwgCi0gICAgMjI4LCAyMDUsIDIyMCwgODAsIDE1LCAxMzIsIDUsIDEyMywgMjIwLCA3NSwgMTUsIDEzMiwgNSwgMTEzLCAyMjAsIDc1LCAKLSAgICAxNSwgMTMyLCA1LCAxMzQsIDIyMCwgNzUsIDE1LCAxMzIsIDUsIDEzNCwgMjIwLCA3NiwgMjE0LCAxMiwgMTcsIDE1LCAxMzIsIAotICAgIDUsIDI0NCwgMTksIDIyMCwgNzUsIDE1LCAxMzIsIDUsIDI0NCwgODksIDIyMCwgNzUsIDE1LCAxMzIsIDUsIDIyMCwgODEsIAotICAgIDMwLCAyNDMsIDEyNiwgOTYsIDI0NywgMTk1LCAxNSwgMTMyLCA1LCAyMjAsIDgxLCAzMCwgMjQzLCAxMjYsIDk2LCAyMzAsIAotICAgIDE5MywgMTUsIDEzMiwgNSwgMTIzLCAyNTEsIDEwMywgMTUsIDEzMiwgNSwgMTEzLCAyNTEsIDEwMywgMTUsIDEzMiwgNSwgCi0gICAgMTM0LCAyNTEsIDEwMywgMTUsIDEzMiwgNSwgMTM0LCAyNTEsIDEwNCwgMjE0LCAxMiwgMTcsIDE1LCAxMzIsIDUsIDI0NCwgCi0gICAgMTksIDI1MSwgMTAzLCAxNSwgMTMyLCA1LCAyNDQsIDg5LCAyNTEsIDEwMywgMTUsIDEzMiwgNSwgMTM0LCAyMTQsIDEyLCAKLSAgICAyNDQsIDI4LCAyNDUsIDgyLCAxNSwgMTMyLCA1LCAxMzQsIDIxNCwgMTIsIDI0NCwgMjgsIDI0NSwgNzksIDE1LCAxMzIsIDUsIAotICAgIDI0NCwgMTksIDIxNCwgMTIsIDI0NCwgMjgsIDIzMiwgMjIzLCAxNSwgMTMyLCA1LCAyNDQsIDE5LCAyMTQsIDEyLCAyNDQsIAotICAgIDI4LCAyMzIsIDIyMSwgMTUsIDEzMiwgNSwgMjQ0LCAxOSwgMjE0LCAxMiwgMjQ0LCAyOCwgMjMyLCAyMjQsIDYxLCAxNSwgCi0gICAgMTMyLCA1LCAyNDQsIDE5LCAyMTQsIDEyLCAyNDQsIDI4LCAyMzIsIDIyNCwgMjUzLCAxNjYsIDE1LCAxMzIsIDUsIDIxOSwgCi0gICAgMTI3LCAyMTQsIDEyLCAyNDQsIDI4LCAyNTMsIDIzNiwgMTUsIDEzMiwgNSwgMjIwLCAxMjQsIDIxNCwgMTIsIDI0NCwgMjgsIAotICAgIDIzNiwgMTUsIDE1LCAxMzIsIDUsIDIyMCwgMTI0LCAyMTQsIDEyLCAyNDQsIDI4LCAyMzYsIDE3LCA2MSwgMTUsIDEzMiwgNSwgCi0gICAgMjIwLCAxMjQsIDIxNCwgMTIsIDI0NCwgMjgsIDIzNiwgMTcsIDI1MywgMTY2LCAxNSwgMTMyLCA1LCAyNDUsIDIwMSwgMjE0LCAKLSAgICAxMiwgMjQ0LCAyOCwgMjE0LCAxMjEsIDE1LCAxMzIsIDUsIDI0NSwgMjAxLCAyMTQsIDEyLCAyNDQsIDI4LCAyMTQsIDEyMCwgCi0gICAgMTUsIDEzMiwgNSwgMjI4LCAyMDUsIDIxNCwgMTIsIDI0NCwgMjgsIDIzNiwgMzEsIDE1LCAxMzIsIDUsIDIyOCwgMjA1LCAKLSAgICAyMTQsIDEyLCAyNDQsIDI4LCAyMzYsIDMwLCAxNSwgMTMyLCA1LCAyMjgsIDIwNSwgMjE0LCAxMiwgMjQ0LCAyOCwgMjM2LCAKLSAgICAyOSwgMTUsIDEzMiwgNSwgMjI4LCAyMDUsIDIxNCwgMTIsIDI0NCwgMjgsIDIzNiwgMzIsIDYxLCAxNSwgMTMyLCA1LCAxMTMsIAotICAgIDI1MywgMjQwLCAyMTYsIDI0MCwgMTUsIDEzMiwgNSwgMTM0LCAyNTMsIDI0MCwgMjE2LCAyNDAsIDE1LCAxMzIsIDUsIDI0NCwgCi0gICAgMTksIDI1MywgMjQwLCAyMTYsIDI0MCwgMTUsIDEzMiwgNSwgMjQ0LCA4OSwgMjUzLCAyNDAsIDIxNiwgMjQwLCAxNSwgMTMyLCAKLSAgICA1LCAyMTksIDEyNywgMjUzLCAyNDAsIDIxNiwgMjQwLCAxNSwgMTMyLCA1LCAxMjMsIDI1MiwgMTU4LCAxNSwgMTMyLCA1LCAKLSAgICAxMTMsIDI1MiwgMTU4LCAxNSwgMTMyLCA1LCAxMzQsIDI1MiwgMTU4LCAxNSwgMTMyLCA1LCAyNDQsIDE5LCAyNTIsIDE1OCwgCi0gICAgMTUsIDEzMiwgNSwgMjQ0LCAxOSwgMjUyLCAxNTksIDIxNCwgMTIsIDE3LCAxNSwgMTMyLCA1LCAyNDQsIDg5LCAyNTIsIAotICAgIDE1OCwgMTUsIDEzMiwgNSwgMjQ0LCA4OSwgMjUyLCAxNTksIDIxNCwgMTIsIDE3LCAxNSwgMTMyLCA1LCAyMjgsIDIxNSwgCi0gICAgMTUsIDEzMiwgNSwgMjI4LCAyMTYsIDE1LCAxMzIsIDUsIDEyMywgMjQ1LCA3OCwgMTUsIDEzMiwgNSwgMTEzLCAyNDUsIDc4LCAKLSAgICAxNSwgMTMyLCA1LCAxMjMsIDIxNiwgMTcwLCAyNDcsIDE5NSwgMTUsIDEzMiwgNSwgMTEzLCAyMTYsIDE2OCwgMjQ3LCAxOTUsIAotICAgIDE1LCAxMzIsIDUsIDI0NCwgODksIDIxOSwgMTE2LCAyNDcsIDE5NSwgMTUsIDEzMiwgNSwgMTIzLCAyMTYsIDE3MCwgMjE0LCAKLSAgICAxMiwgMjQ0LCAyOCwgNjEsIDE1LCAxMzIsIDUsIDExMywgMjE2LCAxNjgsIDIxNCwgMTIsIDI0NCwgMjgsIDYxLCAxNSwgCi0gICAgMTMyLCA1LCAxMjMsIDI0NSwgMTk3LCAyNTMsIDIzOSwgMTUsIDEzMiwgNSwgMTIzLCAyMjQsIDI1LCAyNTMsIDIzOSwgMTUsIAotICAgIDEzMiwgNSwgNTUsIDI1MywgMjI3LCAxMjMsIDIxOSwgMTE3LCAxNSwgMTMyLCA1LCA1NSwgMjUzLCAyMjcsIDEyMywgMjI0LCAKLSAgICAyNCwgMTUsIDIyNCwgMTQ0LCA1LCA1NSwgMjUzLCAyMjcsIDIxMSwgMjA5LCAyNDcsIDE4MCwgMTUsIDIyNCwgMTQ0LCA1LCAKLSAgICA2NywgMjQ5LCAyMzQsIDE1LCAyMjQsIDE0NCwgNSwgMjQ4LCA3LCAyNDksIDIzNCwgMTUsIDIyNCwgMTQ0LCA1LCAyNDgsIDcsIAotICAgIDIxNSwgMjIyLCAxMiwgMTMsIDI1NSwgMTY0LCAxMiwgMTMsIDI1NSwgMTYzLCAxMiwgMTMsIDI1NSwgMTYyLCAxMiwgMTMsIAotICAgIDI1NSwgMTYxLCAxMiwgMTMsIDI1NSwgMTYwLCAxMiwgMTMsIDI1NSwgMTU5LCAxMiwgMTMsIDI1NSwgMTU4LCAxMiwgMTMsIAotICAgIDI1NSwgMTU3LCAxMiwgMTMsIDI1NSwgMTU2LCAxMiwgMTMsIDI1NSwgMTU1LCAxMiwgMTMsIDI1NSwgMTU0LCAxMiwgMTMsIAotICAgIDI1NSwgMTUzLCAxMiwgMTMsIDI1NSwgMTUyLCAxMiwgMTMsIDI1NSwgMTUxLCAxMiwgMTMsIDI1NSwgMTUwLCAxMiwgMTMsIAotICAgIDI1NSwgMTQ5LCAxMiwgMTMsIDI1NSwgMTQ4LCAxMiwgMTMsIDI1NSwgMTQ3LCAxMiwgMTMsIDI1NSwgMTQ2LCAxMiwgMTMsIAotICAgIDI1NSwgMTQ1LCAxMiwgMTMsIDI1NSwgMTQ0LCAxMiwgMTMsIDI1NSwgMTQzLCAxMiwgMTMsIDI1NSwgMTQyLCAxMiwgMTMsIAotICAgIDI1NSwgMTQxLCAxMiwgMTMsIDI1NSwgMTQwLCAxMiwgMTMsIDI1NSwgMTM5LCAxMiwgMTMsIDI1NSwgMTM4LCAxMiwgMTMsIAotICAgIDI1NSwgMTM3LCAxMiwgMTMsIDI1NSwgMTM2LCAxMiwgMTMsIDI1NSwgMTM1LCAxMiwgMTMsIDI1NSwgMTM0LCAxMiwgMTMsIAotICAgIDI1NSwgMTMzLCAxMiwgMTMsIDI1NSwgMTMyLCAxMiwgMTMsIDI1NSwgMTMxLCAxMiwgMTMsIDI1NSwgMTMwLCAxMiwgMTMsIAotICAgIDI1NSwgMTI5LCAxMiwgMTMsIDI1NSwgMTI4LCAxMiwgMTMsIDI1NSwgMTI3LCAxMiwgMTMsIDI1NSwgMTI2LCAxMiwgMTMsIAotICAgIDI1NSwgMTI1LCAxMiwgMTMsIDI1NSwgMTI0LCAxMiwgMTMsIDI1NSwgMTIzLCAxMiwgMTMsIDI1NSwgMTIyLCAxMiwgMTMsIAotICAgIDI1NSwgMTIxLCAxMiwgMTMsIDI1NSwgMTIwLCAxMiwgMTMsIDI1NSwgMTE5LCAxMiwgMTMsIDI1NSwgMTE4LCAxMiwgMTMsIAotICAgIDI1NSwgMTE3LCAxMiwgMTMsIDI1NSwgMTE2LCAxMiwgMTMsIDI1NSwgMTE1LCAxMiwgMTMsIDI1NSwgMTE0LCAxMiwgMTMsIAotICAgIDI1NSwgMTEzLCAxMiwgMTMsIDI1NSwgMTEyLCAxMiwgMTMsIDI1NSwgMTExLCAxMiwgMTMsIDI1NSwgMTEwLCAxMiwgMTMsIAotICAgIDI1NSwgMTA5LCAxMiwgMTMsIDI1NSwgMTA4LCAxMiwgMTMsIDI1NSwgMTA3LCAxMiwgMTMsIDI1NSwgMTA2LCAxMiwgMTMsIAotICAgIDI1NSwgMTA1LCAxMiwgMTMsIDI1NSwgMTA0LCAxMiwgMTMsIDI1NSwgMTAzLCAxMiwgMTMsIDI1NSwgMTAyLCAxMiwgMTMsIAotICAgIDI1NSwgMTAxLCAxMiwgMTMsIDI1NSwgMTAwLCAxMiwgMTMsIDI1NSwgOTksIDEyLCAxMywgMjU1LCA5OCwgMTIsIDEzLCAKLSAgICAyNTUsIDk3LCAxMiwgMTMsIDI1NSwgOTYsIDEyLCAxMywgMjU1LCA5NSwgMTIsIDEzLCAyNTUsIDk0LCAxMiwgMTMsIDI1NSwgCi0gICAgOTMsIDEyLCAxMywgMjU1LCA5MiwgMTIsIDEzLCAyNTUsIDkxLCAxMiwgMTMsIDI1NSwgOTAsIDEyLCAxMywgMjU1LCA4OSwgCi0gICAgMTIsIDEzLCAyNTUsIDg4LCAxMiwgMTMsIDI1NSwgODcsIDEyLCAxMywgMjU1LCA4NiwgMTIsIDEzLCAyNTUsIDg1LCAxMiwgCi0gICAgMTMsIDI1MywgMTY0LCAxMiwgMTMsIDI1MywgMTYyLCAxMiwgMTMsIDI1MywgMTYwLCAxMiwgMTMsIDI1MywgMTU4LCAxMiwgCi0gICAgMTMsIDI1MywgMTU2LCAxMiwgMTMsIDI1MywgMTU1LCAxMiwgMTMsIDI1MywgMTUzLCAxMiwgMTMsIDI1MywgMTUxLCAxMiwgCi0gICAgMTMsIDI1MywgMTQ5LCAxMiwgMTMsIDI1MywgMTQ3LCAxMiwgMTMsIDI1MSwgNzAsIDEyLCAxMywgMjUxLCA2OSwgMTIsIDEzLCAKLSAgICAyNTEsIDY4LCAxMiwgMTMsIDI1MSwgNjcsIDEyLCAxMywgMjUxLCA2NiwgMTIsIDEzLCAyNTEsIDY1LCAxMiwgMTMsIDI1MSwgCi0gICAgNjQsIDEyLCAxMywgMjUxLCA2MywgMTIsIDEzLCAyNTEsIDYyLCAxMiwgMTMsIDI1MSwgNjEsIDEyLCAxMywgMjUxLCA2MCwgCi0gICAgMTIsIDEzLCAyNTEsIDU5LCAxMiwgMTMsIDI1MSwgNTgsIDEyLCAxMywgMjUxLCA1NywgMTIsIDEzLCAyNTEsIDU2LCAxMiwgCi0gICAgMTMsIDI1MSwgNTUsIDEyLCAxMywgMjUxLCA1NCwgMTIsIDEzLCAyNTEsIDUzLCAxMiwgMTMsIDI1MSwgNTIsIDEyLCAxMywgCi0gICAgMjUxLCA1MSwgMTIsIDEzLCAyNTEsIDUwLCAxMiwgMTMsIDI1MSwgNDksIDEyLCAxMywgMjUxLCA0OCwgMTIsIDEzLCAyNTEsIAotICAgIDQ3LCAxMiwgMTMsIDI1MSwgNDYsIDEyLCAxMywgMjUxLCA0NSwgMTIsIDEzLCAyNTEsIDQ0LCAxMiwgMTMsIDI1MSwgNDMsIAotICAgIDEyLCAxMywgMjQ5LCA2NywgMTIsIDEzLCAyNDksIDY2LCAxMiwgMTMsIDI0OSwgNjUsIDEyLCAxMywgMjQ5LCA2NCwgMTIsIAotICAgIDEzLCAyNDksIDYzLCAxMiwgMTMsIDI0OSwgNjIsIDEyLCAxMywgMjQ5LCA2MSwgMTIsIDEzLCAyNDksIDYwLCAxMiwgMTMsIAotICAgIDI0OSwgNTksIDEyLCAxMywgMjQ5LCA1OCwgMTIsIDEzLCAyNDksIDU3LCAxMiwgMTMsIDI0OSwgNTYsIDEyLCAxMywgMjQ5LCAKLSAgICA1NSwgMTIsIDEzLCAyNDksIDU0LCAxMiwgMTMsIDI0OSwgNTMsIDEyLCAxMywgMjQ5LCA1MiwgMTIsIDEzLCAyNDksIDUxLCAKLSAgICAxMiwgMTMsIDI0OSwgNTAsIDEyLCAxMywgMjQ5LCA0OSwgMTIsIDEzLCAyNDksIDQ4LCAxMiwgMTMsIDI0OSwgNDcsIDEyLCAKLSAgICAxMywgMjQ5LCA0NiwgMTIsIDEzLCAyNDksIDQ1LCAxMiwgMTMsIDI0OSwgNDQsIDEyLCAxMywgMjQ5LCA0MywgMTIsIDEzLCAKLSAgICAyNDksIDQyLCAxMiwgMTMsIDI0OSwgNDEsIDEyLCAxMywgMjQ5LCA0MCwgMTIsIDEzLCAyNDksIDM5LCAxMiwgMTMsIDI0OSwgCi0gICAgMzgsIDEyLCAxMywgMjQ5LCAzNywgMTIsIDEzLCAyNDksIDM2LCAxMiwgMTMsIDI0OSwgMzUsIDEyLCAxMywgMjQ5LCAzNCwgCi0gICAgMTIsIDEzLCAyNDksIDMzLCAxMiwgMTMsIDI0OSwgMzIsIDEyLCAxMywgMjQ5LCAzMSwgMTIsIDEzLCAyNDksIDMwLCAxMiwgCi0gICAgMTMsIDI0OSwgMjksIDEyLCAxMywgMjQ5LCAyOCwgMTIsIDEzLCAyNDksIDI3LCAxMiwgMTMsIDI0OSwgMjYsIDEyLCAxMywgCi0gICAgMjQ5LCAyNSwgMTIsIDEzLCAyNDksIDI0LCAxMiwgMTMsIDI0OSwgMjMsIDEyLCAxMywgMjQ5LCAyMiwgMTIsIDEzLCAyNDksIAotICAgIDIxLCAxMiwgMTMsIDI0OSwgMjAsIDEyLCAxMywgMjQ5LCAxOSwgMTIsIDEzLCAyNDksIDE4LCAxMiwgMTMsIDI0OSwgMTcsIAotICAgIDEyLCAxMywgMjQ5LCAxNiwgMTIsIDEzLCAyNDksIDE1LCAxMiwgMTMsIDI0OSwgMTQsIDEyLCAxMywgMjQ5LCAxMywgMTIsIAotICAgIDEzLCAyNDksIDEyLCAxMiwgMTMsIDI0OSwgMTEsIDEyLCAxMywgMjQ5LCAxMCwgMTIsIDEzLCAyNDksIDksIDEyLCAxMywgCi0gICAgMjQ5LCA4LCAxMiwgMTMsIDI0OSwgNywgMTIsIDEzLCAyNDksIDYsIDEyLCAxMywgMjQ5LCA1LCAxMiwgMTMsIDI0OSwgNCwgCi0gICAgMTIsIDEzLCAyNDksIDMsIDEyLCAxMywgMjQ5LCAyLCAxMiwgMTMsIDI0OSwgMSwgMTIsIDEzLCAyNDksIDAsIDEyLCAxMywgCi0gICAgMjQ4LCAyNTUsIDEyLCAxMywgMjQ4LCAyNTQsIDEyLCAxMywgMjQ4LCAyNTMsIDEyLCAxMywgMjQ4LCAyNTIsIDEyLCAxMywgCi0gICAgMjQ4LCAyNTEsIDEyLCAxMywgMjQ4LCAyNTAsIDEyLCAxMywgMjQ4LCAyNDksIDEyLCAxMywgMjQ4LCAyNDgsIDEyLCAxMywgCi0gICAgMjQ4LCAyNDcsIDEyLCAxMywgMjQ4LCAyNDYsIDEyLCAxMywgMjQ4LCAyNDUsIDEyLCAxMywgMjQ4LCAyNDQsIDEyLCAxMywgCi0gICAgMjQ4LCAyNDMsIDEyLCAxMywgMjQ4LCAyNDIsIDEyLCAxMywgMjQ4LCAyNDEsIDEyLCAxMywgMjQ4LCAyNDAsIDEyLCAxMywgCi0gICAgMjQ4LCAyMzksIDEyLCAxMywgMjQ4LCAyMzgsIDEyLCAxMywgMjQ4LCAyMzcsIDEyLCAxMywgMjQ4LCAyMzYsIDEyLCAxMywgCi0gICAgMjQ4LCAyMzUsIDEyLCAxMywgMjQ4LCAyMzQsIDEyLCAxMywgMjQ4LCAyMzMsIDEyLCAxMywgMjQ4LCAyMzIsIDEyLCAxMywgCi0gICAgMjQ2LCAzMSwgMTIsIDEzLCAyNDYsIDMwLCAxMiwgMTMsIDI0NiwgMjksIDEyLCAxMywgMjQ2LCAyOCwgMTIsIDEzLCAyNDYsIAotICAgIDI3LCAxMiwgMTMsIDI0NiwgMjYsIDEyLCAxMywgMjQ2LCAyNSwgMTIsIDEzLCAyNDYsIDI0LCAxMiwgMTMsIDI0NiwgMjMsIAotICAgIDEyLCAxMywgMjQ2LCAyMiwgMTIsIDEzLCAyNDYsIDIxLCAxMiwgMTMsIDI0NiwgMjAsIDEyLCAxMywgMjQ2LCAxOSwgMTIsIAotICAgIDEzLCAyNDYsIDE4LCAxMiwgMTMsIDI0NiwgMTcsIDEyLCAxMywgMjQ2LCAxNiwgMTIsIDEzLCAyNDYsIDE1LCAxMiwgMTMsIAotICAgIDI0NiwgMTQsIDEyLCAxMywgMjQ2LCAxMywgMTIsIDEzLCAyNDYsIDEyLCAxMiwgMTMsIDI0NiwgMTEsIDEyLCAxMywgMjQ2LCAKLSAgICAxMCwgMTIsIDEzLCAyNDYsIDksIDEyLCAxMywgMjQ2LCA4LCAxMiwgMTMsIDI0NiwgNywgMTIsIDEzLCAyNDYsIDYsIDEyLCAKLSAgICAxMywgMjQ2LCA1LCAxMiwgMTMsIDI0NiwgNCwgMTIsIDEzLCAyNDYsIDMsIDEyLCAxMywgMjQ2LCAyLCAxMiwgMTMsIDI0NiwgCi0gICAgMSwgMTIsIDEzLCAyNDYsIDAsIDEyLCAxMywgMjQ1LCAyNTUsIDEyLCAxMywgMjQ1LCAyNTQsIDEyLCAxMywgMjQ1LCAyNTMsIAotICAgIDEyLCAxMywgMjQ1LCAyNTIsIDEyLCAxMywgMjQ1LCAyNTEsIDEyLCAxMywgMjQ1LCAyNTAsIDEyLCAxMywgMjQ1LCAyNDksIAotICAgIDEyLCAxMywgMjQ1LCAyNDgsIDEyLCAxMywgMjQ1LCAyNDcsIDEyLCAxMywgMjQ1LCAyNDYsIDEyLCAxMywgMjQ1LCAyNDUsIAotICAgIDEyLCAxMywgMjQ1LCAyNDQsIDEyLCAxMywgMjQ1LCAxMywgMTIsIDEzLCAyNDUsIDEyLCAxMiwgMTMsIDI0NSwgMTEsIDEyLCAKLSAgICAxMywgMjQ1LCAxMCwgMTIsIDEzLCAyNDUsIDksIDEyLCAxMywgMjQ1LCA4LCAxMiwgMTMsIDI0NSwgNywgMTIsIDEzLCAyNDUsIAotICAgIDYsIDEyLCAxMywgMjQ1LCA1LCAxMiwgMTMsIDI0NSwgNCwgMTIsIDEzLCAyNDUsIDMsIDEyLCAxMywgMjQ1LCAyLCAxMiwgCi0gICAgMTMsIDI0NSwgMSwgMTIsIDEzLCAyNDUsIDAsIDEyLCAxMywgMjQ0LCAyNTUsIDEyLCAxMywgMjQ0LCAyNTQsIDEyLCAxMywgCi0gICAgMjQ0LCAyNTMsIDEyLCAxMywgMjQ0LCAyNTIsIDEyLCAxMywgMjQ0LCAyNTEsIDEyLCAxMywgMjQ0LCAyNTAsIDEyLCAxMywgCi0gICAgMjQ0LCAyNDksIDEyLCAxMywgMjQ0LCAyNDgsIDEyLCAxMywgMjQ0LCAyNDcsIDEyLCAxMywgMjQ0LCAyNDYsIDEyLCAxMywgCi0gICAgMjQ0LCAyNDUsIDEyLCAxMywgMjQ0LCAyNDQsIDEyLCAxMywgMjQ0LCAyNDMsIDEyLCAxMywgMjQ0LCAyNDIsIDEyLCAxMywgCi0gICAgMjQ0LCAyNDEsIDEyLCAxMywgMjQ0LCAyNDAsIDEyLCAxMywgMjQ0LCAyMzksIDEyLCAxMywgMjQ0LCAyMzgsIDEyLCAxMywgCi0gICAgMjQ0LCAyMzcsIDEyLCAxMywgMjQ0LCAyMzYsIDEyLCAxMywgMjQ0LCAyMzUsIDEyLCAxMywgMjQ0LCAyMzQsIDEyLCAxMywgCi0gICAgMjQ0LCAyMzMsIDEyLCAxMywgMjQ0LCAyMzIsIDEyLCAxMywgMjQ0LCAyMzEsIDEyLCAxMywgMjQ0LCAyMzAsIDEyLCAxMywgCi0gICAgMjQ0LCAyMjksIDEyLCAxMywgMjQ0LCAyMjgsIDEyLCAxMywgMjQ0LCAyMjcsIDEyLCAxMywgMjQ0LCAyMjYsIDEyLCAxMywgCi0gICAgMjQ0LCAyMjUsIDEyLCAxMywgMjQ0LCAyMjQsIDEyLCAxMywgMjQ0LCAyMjMsIDEyLCAxMywgMjQ0LCAyMjIsIDEyLCAxMywgCi0gICAgMjQ0LCAyMjEsIDEyLCAxMywgMjQ0LCAyMjAsIDEyLCAxMywgMjQ0LCAyMTksIDEyLCAxMywgMjQ0LCAyMTgsIDEyLCAxMywgCi0gICAgMjQ0LCAyMTcsIDEyLCAxMywgMjQ0LCAyMTYsIDEyLCAxMywgMjQ0LCAyMTUsIDEyLCAxMywgMjQ0LCAyMTQsIDEyLCAxMywgCi0gICAgMjQ0LCAyMTMsIDEyLCAxMywgMjQ0LCAyMTIsIDEyLCAxMywgMjQ0LCAyMTEsIDEyLCAxMywgMjQ0LCAyMTAsIDEyLCAxMywgCi0gICAgMjQ0LCAyMDksIDEyLCAxMywgMjQ0LCAyMDgsIDEyLCAxMywgMjQ0LCAyMDcsIDEyLCAxMywgMjQ0LCAyMDYsIDEyLCAxMywgCi0gICAgMjQ0LCAyMDUsIDEyLCAxMywgMjQzLCAyMDgsIDEyLCAxMywgMjQzLCAyMDcsIDEyLCAxMywgMjQzLCAyMDYsIDEyLCAxMywgCi0gICAgMjQzLCAyMDUsIDEyLCAxMywgMjQzLCAyMDQsIDEyLCAxMywgMjQzLCAyMDMsIDEyLCAxMywgMjQzLCAyMDIsIDEyLCAxMywgCi0gICAgMjQzLCAyMDEsIDEyLCAxMywgMjQzLCAyMDAsIDEyLCAxMywgMjQzLCAxOTksIDEyLCAxMywgMjQzLCAxOTgsIDEyLCAxMywgCi0gICAgMjQzLCAxOTcsIDEyLCAxMywgMjQzLCAxOTYsIDEyLCAxMywgMjQzLCAxOTUsIDEyLCAxMywgMjQzLCAxOTQsIDEyLCAxMywgCi0gICAgMjQzLCAxOTMsIDEyLCAxMywgMjQzLCAxOTIsIDEyLCAxMywgMjQzLCAxOTEsIDEyLCAxMywgMjQzLCAxOTAsIDEyLCAxMywgCi0gICAgMjQzLCAxODksIDEyLCAxMywgMjQzLCAxODgsIDEyLCAxMywgMjQzLCAxODcsIDEyLCAxMywgMjQzLCAxODYsIDEyLCAxMywgCi0gICAgMjQzLCAxODUsIDEyLCAxMywgMjQzLCAxODQsIDEyLCAxMywgMjQzLCAxODMsIDEyLCAxMywgMjQzLCAxODIsIDEyLCAxMywgCi0gICAgMjQzLCAxODEsIDEyLCAxMywgMjQzLCAxODAsIDEyLCAxMywgMjQzLCAxNzksIDEyLCAxMywgMjQzLCAxNzgsIDEyLCAxMywgCi0gICAgMjQzLCAxNzcsIDEyLCAxMywgMjQzLCAxNzYsIDEyLCAxMywgMjQzLCAxNzUsIDEyLCAxMywgMjQzLCAxNzQsIDEyLCAxMywgCi0gICAgMjQzLCAxNzMsIDEyLCAxMywgMjQzLCAxNzIsIDEyLCAxMywgMjQzLCAxNzEsIDEyLCAxMywgMjQzLCAxNzAsIDEyLCAxMywgCi0gICAgMjQzLCAxNjksIDEyLCAxMywgMjQzLCAxNjgsIDEyLCAxMywgMjQzLCAxNjcsIDEyLCAxMywgMjQzLCAxNjYsIDEyLCAxMywgCi0gICAgMjQzLCAxNjUsIDEyLCAxMywgMjQzLCAxNjQsIDEyLCAxMywgMjQzLCAxNjMsIDEyLCAxMywgMjQzLCAxNjIsIDEyLCAxMywgCi0gICAgMjQzLCAxNjEsIDEyLCAxMywgMjQzLCAxNjAsIDEyLCAxMywgMjQzLCAxNTksIDEyLCAxMywgMjQzLCAxNTgsIDEyLCAxMywgCi0gICAgMjQzLCAxNTcsIDEyLCAxMywgMjQzLCAxNTYsIDEyLCAxMywgMjQzLCAxNTUsIDEyLCAxMywgMjQzLCAxNTQsIDEyLCAxMywgCi0gICAgMjQzLCAxNTMsIDEyLCAxMywgMjQzLCAxNTIsIDEyLCAxMywgMjQzLCAxNTEsIDEyLCAxMywgMjQzLCAxNTAsIDEyLCAxMywgCi0gICAgMjQzLCAxNDksIDEyLCAxMywgMjQzLCAxNDgsIDEyLCAxMywgMjQzLCAxNDcsIDEyLCAxMywgMjQzLCAxNDYsIDEyLCAxMywgCi0gICAgMjQzLCAxNDUsIDEyLCAxMywgMjQyLCA2NSwgMTIsIDEzLCAyNDIsIDY0LCAxMiwgMTMsIDI0MiwgNjMsIDEyLCAxMywgMjQyLCAKLSAgICA2MiwgMTIsIDEzLCAyNDIsIDYxLCAxMiwgMTMsIDI0MiwgNjAsIDEyLCAxMywgMjQyLCA1OSwgMTIsIDEzLCAyNDIsIDU4LCAKLSAgICAxMiwgMTMsIDI0MiwgNTcsIDEyLCAxMywgMjQwLCAxNDUsIDEyLCAxMywgMjQwLCAxNDQsIDEyLCAxMywgMjQwLCAxNDMsIAotICAgIDEyLCAxMywgMjQwLCAxNDIsIDEyLCAxMywgMjQwLCAxNDEsIDEyLCAxMywgMjQwLCAxNDAsIDEyLCAxMywgMjQwLCAxMzksIAotICAgIDEyLCAxMywgMjQwLCAxMzgsIDEyLCAxMywgMjQwLCAxMzcsIDEyLCAxMywgMjQwLCAxMzYsIDEyLCAxMywgMjQwLCAxMzUsIAotICAgIDEyLCAxMywgMjQwLCAxMzQsIDEyLCAxMywgMjQwLCAxMzMsIDEyLCAxMywgMjQwLCAxMzIsIDEyLCAxMywgMjQwLCAxMzEsIAotICAgIDEyLCAxMywgMjQwLCAxMzAsIDEyLCAxMywgMjQwLCAxMjksIDEyLCAxMywgMjQwLCAxMjgsIDEyLCAxMywgMjQwLCAxMjcsIAotICAgIDEyLCAxMywgMjM1LCAyOCwgMTIsIDEzLCAyMzUsIDI3LCAxMiwgMTMsIDIzNSwgMjYsIDEyLCAxMywgMjM1LCAyNSwgMTIsIAotICAgIDEzLCAyMzUsIDI0LCAxMiwgMTMsIDIzNSwgMjMsIDEyLCAxMywgMjM1LCAyMiwgMTIsIDEzLCAyMzUsIDIxLCAxMiwgMTMsIAotICAgIDIzMywgMTUyLCAxMiwgMTMsIDIzMywgMTUxLCAxMiwgMTMsIDIzMywgMTUwLCAxMiwgMTMsIDIzMywgMTQ5LCAxMiwgMTMsIAotICAgIDIzMywgMTQ4LCAxMiwgMTMsIDIzMywgMTQ3LCAxMiwgMTMsIDIzMywgMTQ2LCAxMiwgMTMsIDIzMywgMTQ1LCAxMiwgMTMsIAotICAgIDIzMywgMTQ0LCAxMiwgMTMsIDIzMywgMTQzLCAxMiwgMTMsIDIzMiwgNTQsIDEyLCAxMywgMjMyLCA1MywgMTIsIDEzLCAKLSAgICAyMzIsIDUyLCAxMiwgMTMsIDIzMiwgNTEsIDEyLCAxMywgMjMyLCA1MCwgMTIsIDEzLCAyMzIsIDQ5LCAxMiwgMTMsIDIzMiwgCi0gICAgNDgsIDEyLCAxMywgMjMyLCA0NywgMTIsIDEzLCAyMzIsIDQ2LCAxMiwgMTMsIDIzMiwgNDUsIDEyLCAxMywgMjMyLCA0NCwgCi0gICAgMTIsIDEzLCAyMzIsIDQzLCAxMiwgMTMsIDIzMiwgNDIsIDEyLCAxMywgMjMyLCA0MSwgMTIsIDEzLCAyMzIsIDQwLCAxMiwgCi0gICAgMTMsIDIzMiwgMzksIDEyLCAxMywgMjMyLCAzOCwgMTIsIDEzLCAyMzIsIDM3LCAxMiwgMTMsIDIzMiwgMzYsIDEyLCAxMywgCi0gICAgMjMyLCAzNSwgMTIsIDEzLCAyMzIsIDM0LCAxMiwgMTMsIDIzMiwgMzMsIDEyLCAxMywgMjMyLCAzMiwgMTIsIDEzLCAyMzIsIAotICAgIDMxLCAxMiwgMTMsIDIzMiwgMzAsIDEyLCAxMywgMjMyLCAyOSwgMTIsIDEzLCAyMzIsIDI4LCAxMiwgMTMsIDIzMiwgMjcsIAotICAgIDEyLCAxMywgMjMyLCAyNiwgMTIsIDEzLCAyMzIsIDI1LCAxMiwgMTMsIDIzMiwgMjQsIDEyLCAxMywgMjMyLCAyMywgMTIsIAotICAgIDEzLCAyMzIsIDIyLCAxMiwgMTMsIDIzMiwgMjEsIDEyLCAxMywgMjMyLCAyMCwgMTIsIDEzLCAyMzIsIDE5LCAxMiwgMTMsIAotICAgIDIzMiwgMTgsIDEyLCAxMywgMjMyLCAxNywgMTIsIDEzLCAyMzIsIDE2LCAxMiwgMTMsIDIzMiwgMTUsIDEyLCAxMywgMjMyLCAKLSAgICAxNCwgMTIsIDEzLCAyMzIsIDEzLCAxMiwgMTMsIDIzMiwgMTIsIDEyLCAxMywgMjMyLCAxMSwgMTIsIDEzLCAyMzIsIDEwLCAKLSAgICAxMiwgMTMsIDIzMiwgOSwgMTIsIDEzLCAyMzIsIDgsIDEyLCAxMywgMjMyLCA3LCAxMiwgMTMsIDIzMiwgNiwgMTIsIDEzLCAKLSAgICAyMzIsIDUsIDEyLCAxMywgMjMyLCA0LCAxMiwgMTMsIDIzMiwgMywgMTIsIDEzLCAyMzIsIDIsIDEyLCAxMywgMjMyLCAxLCAKLSAgICAxMiwgMTMsIDIzMiwgMCwgMTIsIDEzLCAyMzEsIDI1NSwgMTIsIDEzLCAyMzEsIDI1NCwgMTIsIDEzLCAyMzEsIDI1MywgMTIsIAotICAgIDEzLCAyMzEsIDI1MiwgMTIsIDEzLCAyMzEsIDI1MSwgMTIsIDEzLCAyMzEsIDI1MCwgMTIsIDEzLCAyMzEsIDI0OSwgMTIsIAotICAgIDEzLCAyMzEsIDI0OCwgMTIsIDEzLCAyMzEsIDI0NywgMTIsIDEzLCAyMzEsIDI0NiwgMTIsIDEzLCAyMzEsIDI0NSwgMTIsIAotICAgIDEzLCAyMzAsIDI3LCAxMiwgMTMsIDIzMCwgMjYsIDEyLCAxMywgMjMwLCAyNSwgMTIsIDEzLCAyMzAsIDI0LCAxMiwgMTMsIAotICAgIDIzMCwgMjMsIDEyLCAxMywgMjMwLCAyMiwgMTIsIDEzLCAyMzAsIDIxLCAxMiwgMTMsIDIzMCwgMjAsIDEyLCAxMywgMjMwLCAKLSAgICAxOSwgMTIsIDEzLCAyMzAsIDE4LCAxMiwgMTMsIDIzMCwgMTcsIDEyLCAxMywgMjMwLCAxNiwgMTIsIDEzLCAyMzAsIDE1LCAKLSAgICAxMiwgMTMsIDIzMCwgMTQsIDEyLCAxMywgMjMwLCAxMywgMTIsIDEzLCAyMzAsIDEyLCAxMiwgMTMsIDIzMCwgMTEsIDEyLCAKLSAgICAxMywgMjMwLCAxMCwgMTIsIDEzLCAyMzAsIDksIDEyLCAxMywgMjMwLCA4LCAxMiwgMTMsIDIzMCwgNywgMTIsIDEzLCAyMzAsIAotICAgIDYsIDEyLCAxMywgMjMwLCA1LCAxMiwgMTMsIDIzMCwgNCwgMTIsIDEzLCAyMzAsIDMsIDEyLCAxMywgMjMwLCAyLCAxMiwgCi0gICAgMTMsIDIzMCwgMSwgMTIsIDEzLCAyMzAsIDAsIDEyLCAxMywgMjI5LCAyNTUsIDEyLCAxMywgMjI5LCAyNTQsIDEyLCAxMywgCi0gICAgMjI5LCAyNTMsIDEyLCAxMywgMjI5LCAyNTIsIDEyLCAxMywgMjI5LCAyNTEsIDEyLCAxMywgMjI5LCAyNTAsIDEyLCAxMywgCi0gICAgMjI5LCAyNDksIDEyLCAxMywgMjI5LCAyNDgsIDEyLCAxMywgMjI5LCAyNDcsIDEyLCAxMywgMjI5LCAyNDYsIDEyLCAxMywgCi0gICAgMjI5LCAyNDUsIDEyLCAxMywgMjI5LCAyNDQsIDEyLCAxMywgMjI5LCAyNDMsIDEyLCAxMywgMjI5LCAyNDIsIDEyLCAxMywgCi0gICAgMjI5LCAyNDEsIDEyLCAxMywgMjI5LCAyNDAsIDEyLCAxMywgMjI5LCAyMzksIDEyLCAxMywgMjI5LCAyMzgsIDEyLCAxMywgCi0gICAgMjI5LCAyMzcsIDEyLCAxMywgMjI5LCAyMzYsIDEyLCAxMywgMjI5LCAyMzUsIDEyLCAxMywgMjI4LCAxMzksIDEyLCAxMywgCi0gICAgMjI4LCAxMzgsIDEyLCAxMywgMjI4LCAxMzcsIDEyLCAxMywgMjI4LCAxMzYsIDEyLCAxMywgMjI4LCAxMzUsIDEyLCAxMywgCi0gICAgMjI4LCAxMzQsIDEyLCAxMywgMjI4LCAxMzMsIDEyLCAxMywgMjI4LCAxMzIsIDEyLCAxMywgMjI4LCAxMzEsIDEyLCAxMywgCi0gICAgMjI4LCAxMzAsIDEyLCAxMywgMjI4LCAxMjksIDEyLCAxMywgMjI4LCAxMjgsIDEyLCAxMywgMjI4LCAxMjcsIDEyLCAxMywgCi0gICAgMjI4LCAxMjYsIDEyLCAxMywgMjI4LCAxMjUsIDEyLCAxMywgMjI4LCAxMjQsIDEyLCAxMywgMjI4LCAxMjMsIDEyLCAxMywgCi0gICAgMjI4LCAxMjIsIDEyLCAxMywgMjI4LCAxMjEsIDEyLCAxMywgMjI4LCAxMjAsIDEyLCAxMywgMjI4LCAxMTksIDEyLCAxMywgCi0gICAgMjI4LCAxMTgsIDEyLCAxMywgMjI3LCAyNDEsIDEyLCAxMywgMjI3LCAyNDAsIDEyLCAxMywgMjI3LCAyMzksIDEyLCAxMywgCi0gICAgMjI3LCAyMzgsIDEyLCAxMywgMjI3LCAyMzcsIDEyLCAxMywgMjI3LCAyMzYsIDEyLCAxMywgMjI3LCAyMzUsIDEyLCAxMywgCi0gICAgMjI3LCAyMzQsIDEyLCAxMywgMjI3LCAyMzMsIDEyLCAxMywgMjI3LCAyMzIsIDEyLCAxMywgMjI3LCAyMzEsIDEyLCAxMywgCi0gICAgMjI3LCAyMzAsIDEyLCAxMywgMjI3LCAyMjksIDEyLCAxMywgMjI3LCAyMjgsIDEyLCAxMywgMjI3LCAyMjcsIDEyLCAxMywgCi0gICAgMjI3LCAyMjYsIDEyLCAxMywgMjI3LCAyMjUsIDEyLCAxMywgMjI3LCAyMjQsIDEyLCAxMywgMjI3LCAyMjMsIDEyLCAxMywgCi0gICAgMjI3LCAyMjIsIDEyLCAxMywgMjI3LCAyMjEsIDEyLCAxMywgMjI3LCAyMjAsIDEyLCAxMywgMjI3LCAyMTksIDEyLCAxMywgCi0gICAgMjI3LCAyMTgsIDEyLCAxMywgMjI3LCAyMTcsIDEyLCAxMywgMjI3LCAyMTYsIDEyLCAxMywgMjI3LCA4MCwgMTIsIDEzLCAKLSAgICAyMjcsIDc5LCAxMiwgMTMsIDIyNywgNzgsIDEyLCAxMywgMjI3LCA3NywgMTIsIDEzLCAyMjcsIDc2LCAxMiwgMTMsIDIyNywgCi0gICAgNzUsIDEyLCAxMywgMjI3LCA3NCwgMTIsIDEzLCAyMjcsIDczLCAxMiwgMTMsIDIyNywgNzIsIDEyLCAxMywgMjI3LCA3MSwgCi0gICAgMTIsIDEzLCAyMjcsIDcwLCAxMiwgMTMsIDIyNywgNjksIDEyLCAxMywgMjI3LCA2OCwgMTIsIDEzLCAyMjcsIDY3LCAxMiwgCi0gICAgMTMsIDIyNywgNjYsIDEyLCAxMywgMjI3LCA2NSwgMTIsIDEzLCAyMjcsIDY0LCAxMiwgMTMsIDIyNywgNjMsIDEyLCAxMywgCi0gICAgMjI3LCA2MiwgMTIsIDEzLCAyMjcsIDYxLCAxMiwgMTMsIDIyNywgNjAsIDEyLCAxMywgMjI3LCA1OSwgMTIsIDEzLCAyMjcsIAotICAgIDU4LCAxMiwgMTMsIDIyNywgNTcsIDEyLCAxMywgMjI3LCA1NiwgMTIsIDEzLCAyMjcsIDU1LCAxMiwgMTMsIDIyNywgNTQsIAotICAgIDEyLCAxMywgMjI3LCA1MywgMTIsIDEzLCAyMjcsIDUyLCAxMiwgMTMsIDIyNywgNTEsIDEyLCAxMywgMjI3LCA1MCwgMTIsIAotICAgIDEzLCAyMjcsIDQ5LCAxMiwgMTMsIDIyNywgNDgsIDEyLCAxMywgMjI3LCA0NywgMTIsIDEzLCAyMjcsIDQ2LCAxMiwgMTMsIAotICAgIDIyNywgNDUsIDEyLCAxMywgMjI3LCA0NCwgMTIsIDEzLCAyMjcsIDQzLCAxMiwgMTMsIDIyNywgNDIsIDEyLCAxMywgMjI3LCAKLSAgICA0MSwgMTIsIDEzLCAyMjcsIDQwLCAxMiwgMTMsIDIyNywgMzksIDEyLCAxMywgMjI3LCAzOCwgMTIsIDEzLCAyMjcsIDM3LCAKLSAgICAxMiwgMTMsIDIyNywgMzYsIDEyLCAxMywgMjI3LCAzNSwgMTIsIDEzLCAyMjcsIDM0LCAxMiwgMTMsIDIyNywgMzMsIDEyLCAKLSAgICAxMywgMjI3LCAzMiwgMTIsIDEzLCAyMjcsIDMxLCAxMiwgMTMsIDIyNywgMzAsIDEyLCAxMywgMjI3LCAyOSwgMTIsIDEzLCAKLSAgICAyMjcsIDI4LCAxMiwgMTMsIDIyNywgMjcsIDEyLCAxMywgMjI3LCAyNiwgMTIsIDEzLCAyMjcsIDI1LCAxMiwgMTMsIDIyNywgCi0gICAgMjQsIDEyLCAxMywgMjI3LCAyMywgMTIsIDEzLCAyMjcsIDIyLCAxMiwgMTMsIDIyNywgMjEsIDEyLCAxMywgMjI3LCAyMCwgCi0gICAgMTIsIDEzLCAyMjcsIDE5LCAxMiwgMTMsIDIyNywgMTgsIDEyLCAxMywgMjI3LCAxNywgMTIsIDEzLCAyMjcsIDE2LCAxMiwgCi0gICAgMTMsIDIyNywgMTUsIDEyLCAxMywgMjI3LCAxNCwgMTIsIDEzLCAyMjcsIDEzLCAxMiwgMTMsIDIyNywgMTIsIDEyLCAxMywgCi0gICAgMjI3LCAxMSwgMTIsIDEzLCAyMjcsIDEwLCAxMiwgMTMsIDIyNywgOSwgMTIsIDEzLCAyMjcsIDgsIDEyLCAxMywgMjI3LCA3LCAKLSAgICAxMiwgMTMsIDIyNywgNiwgMTIsIDEzLCAyMjYsIDEwOCwgMTIsIDEzLCAyMjYsIDEwNywgMTIsIDEzLCAyMjYsIDEwNiwgMTIsIAotICAgIDEzLCAyMjYsIDEwNSwgMTIsIDEzLCAyMjYsIDEwNCwgMTIsIDEzLCAyMjYsIDEwMywgMTIsIDEzLCAyMjYsIDEwMiwgMTIsIAotICAgIDEzLCAyMjYsIDEwMSwgMTIsIDEzLCAyMjYsIDEwMCwgMTIsIDEzLCAyMjYsIDk5LCAxMiwgMTMsIDIyNiwgOTgsIDEyLCAxMywgCi0gICAgMjI2LCA5NywgMTIsIDEzLCAyMjYsIDk2LCAxMiwgMTMsIDIyNCwgOTgsIDEyLCAxMywgMjI0LCA5NywgMTIsIDEzLCAyMjQsIAotICAgIDk2LCAxMiwgMTMsIDIyNCwgOTUsIDEyLCAxMywgMjI0LCA5NCwgMTIsIDEzLCAyMjQsIDkzLCAxMiwgMTMsIDIyNCwgOTIsIAotICAgIDEyLCAxMywgMjIzLCAyMjUsIDEyLCAxMywgMjIzLCAyMjQsIDEyLCAxMywgMjIzLCAyMjMsIDEyLCAxMywgMjIzLCAyMjIsIAotICAgIDEyLCAxMywgMjIzLCAyMjEsIDEyLCAxMywgMjIzLCAyMjAsIDEyLCAxMywgMjIzLCAyMTksIDEyLCAxMywgMjIzLCAyMTgsIAotICAgIDEyLCAxMywgMjIzLCAyMTcsIDEyLCAxMywgMjIzLCAyMTYsIDEyLCAxMywgMjIzLCAyMTUsIDEyLCAxMywgMjIzLCAyMTQsIAotICAgIDEyLCAxMywgMjIzLCAyMTMsIDEyLCAxMywgMjIzLCAyMTIsIDEyLCAxMywgMjIzLCAyMTEsIDEyLCAxMywgMjIzLCAyMTAsIAotICAgIDEyLCAxMywgMjIzLCAyMDksIDEyLCAxMywgMjIzLCAyMDgsIDEyLCAxMywgMjIzLCAyMDcsIDEyLCAxMywgMjIzLCAyMDYsIAotICAgIDEyLCAxMywgMjIzLCAyMDUsIDEyLCAxMywgMjIzLCAyMDQsIDEyLCAxMywgMjIzLCAyMDMsIDEyLCAxMywgMjIzLCAyMDIsIAotICAgIDEyLCAxMywgMjIzLCAyMDEsIDEyLCAxMywgMjIzLCAyMDAsIDEyLCAxMywgMjIzLCAxOTksIDEyLCAxMywgMjIzLCAxOTgsIAotICAgIDEyLCAxMywgMjIzLCAxOTcsIDEyLCAxMywgMjIzLCAxOTYsIDEyLCAxMywgMjIzLCAxOTUsIDEyLCAxMywgMjIzLCAxOTQsIAotICAgIDEyLCAxMywgMjIzLCAxOTMsIDEyLCAxMywgMjIzLCAxOTIsIDEyLCAxMywgMjIyLCA5MCwgMTIsIDEzLCAyMjIsIDg5LCAxMiwgCi0gICAgMTMsIDIyMiwgODgsIDEyLCAxMywgMjIyLCA4NywgMTIsIDEzLCAyMjIsIDg2LCAxMiwgMTMsIDIyMiwgODUsIDEyLCAxMywgCi0gICAgMjIyLCA4NCwgMTIsIDEzLCAyMjIsIDgzLCAxMiwgMTMsIDIyMiwgODIsIDEyLCAxMywgMjIyLCA4MSwgMTIsIDEzLCAyMjIsIAotICAgIDgwLCAxMiwgMTMsIDIyMiwgNzksIDEyLCAxMywgMjIyLCA3OCwgMTIsIDEzLCAyMjIsIDc3LCAxMiwgMTMsIDIyMiwgNzYsIAotICAgIDEyLCAxMywgMjIyLCA3NSwgMTIsIDEzLCAyMjIsIDc0LCAxMiwgMTMsIDIyMiwgNzMsIDEyLCAxMywgMjIyLCA3MiwgMTIsIAotICAgIDEzLCAyMjIsIDcxLCAxMiwgMTMsIDIyMiwgNzAsIDEyLCAxMywgMjIyLCA2OSwgMTIsIDEzLCAyMjIsIDY4LCAxMiwgMTMsIAotICAgIDIyMiwgNjcsIDEyLCAxMywgMjIyLCA2NiwgMTIsIDEzLCAyMjIsIDY1LCAxMiwgMTMsIDIyMiwgNjQsIDEyLCAxMywgMjIyLCAKLSAgICA2MywgMTIsIDEzLCAyMjIsIDYyLCAxMiwgMTMsIDIyMiwgNjEsIDEyLCAxMywgMjIyLCA2MCwgMTIsIDEzLCAyMjIsIDU5LCAKLSAgICAxMiwgMTMsIDIyMiwgNTgsIDEyLCAxMywgMjIyLCA1NywgMTIsIDEzLCAyMjIsIDU2LCAxMiwgMTMsIDIyMiwgNTUsIDEyLCAKLSAgICAxMywgMjIyLCA1NCwgMTIsIDEzLCAyMjIsIDUzLCAxMiwgMTMsIDIyMiwgNTIsIDEyLCAxMywgMjIyLCA1MSwgMTIsIDEzLCAKLSAgICAyMjIsIDUwLCAxMiwgMTMsIDIyMiwgNDksIDEyLCAxMywgMjIyLCA0OCwgMTIsIDEzLCAyMjIsIDQ3LCAxMiwgMTMsIDIyMiwgCi0gICAgNDYsIDEyLCAxMywgMjIyLCA0NSwgMTIsIDEzLCAyMjIsIDQ0LCAxMiwgMTMsIDIyMiwgNDMsIDEyLCAxMywgMjIyLCA0MiwgCi0gICAgMTIsIDEzLCAyMjIsIDQxLCAxMiwgMTMsIDIyMiwgNDAsIDEyLCAxMywgMjIyLCAzOSwgMTIsIDEzLCAyMjIsIDM4LCAxMiwgCi0gICAgMTMsIDIyMiwgMzcsIDEyLCAxMywgMjE3LCAxNTEsIDEyLCAxMywgMjE3LCAxNTAsIDEyLCAxMywgMjE3LCAxNDksIDEyLCAKLSAgICAxMywgMjE3LCAxNDgsIDEyLCAxMywgMjE3LCAxNDcsIDEyLCAxMywgMjE3LCAxNDYsIDEyLCAxMywgMjE3LCAxNDUsIDEyLCAKLSAgICAxMywgMjE3LCAxNDQsIDEyLCAxMywgMjE3LCAxNDMsIDEyLCAxMywgMjE3LCAxNDIsIDEyLCAxMywgMjE3LCAxNDEsIDEyLCAKLSAgICAxMywgMjE3LCAxNDAsIDEyLCAxMywgMjE3LCAxMzksIDEyLCAxMywgMjE3LCAxMzgsIDEyLCAxMywgMjE3LCAxMzcsIDEyLCAKLSAgICAxMywgMjE3LCAxMzYsIDEyLCAxMywgMjE3LCAxMzUsIDEyLCAxMywgMjE3LCAxMzQsIDEyLCAxMywgMjE3LCAxMzMsIDEyLCAKLSAgICAxMywgMjE3LCAxMzIsIDEyLCAxMywgMjE3LCAxMzEsIDEyLCAxMywgMjE3LCAxMzAsIDEyLCAxMywgMjE3LCAxMjksIDEyLCAKLSAgICAxMywgMjE3LCAxMjgsIDEyLCAxMywgMjE3LCAxMjcsIDEyLCAxMywgMjE3LCAxMjYsIDEyLCAxMywgMjE3LCAxMjUsIDEyLCAKLSAgICAxMywgMjE3LCAxMjQsIDEyLCAxMywgMjE3LCAxMjMsIDEyLCAxMywgMjE3LCAxMjIsIDEyLCAxMywgMjE3LCAxMjEsIDEyLCAKLSAgICAxMywgMjE3LCAxMjAsIDEyLCAxMywgMjE3LCAxMTksIDEyLCAxMywgMjE3LCAxMTgsIDEyLCAxMywgMjE3LCAxMTcsIDEyLCAKLSAgICAxMywgMjE3LCAxMTYsIDEyLCAxMywgMjE3LCAxMTUsIDEyLCAxMywgMjE3LCAxMTQsIDEyLCAxMywgMjE3LCAxMTMsIDEyLCAKLSAgICAxMywgMjE3LCAxMTIsIDEyLCAxMywgMjE3LCAxMTEsIDEyLCAxMywgMjE3LCAxMTAsIDEyLCAxMywgMjE3LCAxMDksIDEyLCAKLSAgICAxMywgMjE3LCAxMDgsIDEyLCAxMywgMjE1LCAyMiwgMTIsIDEzLCAyMTUsIDIxLCAxMiwgMTMsIDIxNSwgMjAsIDEyLCAxMywgCi0gICAgMjE1LCAxOSwgMTIsIDEzLCAyMTUsIDE4LCAxMiwgMTMsIDIxNSwgMTcsIDEyLCAxMywgMjE1LCAxNiwgMTIsIDEzLCAyMTUsIAotICAgIDE1LCAxMiwgMTMsIDIxNSwgMTQsIDEyLCAxMywgMjE1LCAxMywgMTIsIDEzLCAyMTUsIDEyLCAxMiwgMTMsIDIxNSwgMTEsIAotICAgIDEyLCAxMywgMjE1LCAxMCwgMTIsIDEzLCAyMTUsIDksIDEyLCAxMywgMjE1LCA4LCAxMiwgMTMsIDIxNSwgNywgMTIsIDEzLCAKLSAgICAyMTUsIDYsIDEyLCAxMywgMjE1LCA1LCAxMiwgMTMsIDIxNSwgNCwgMTIsIDEzLCAyMTUsIDMsIDEyLCAxMywgMjE1LCAyLCAKLSAgICAxMiwgMTMsIDIxNSwgMSwgMTIsIDEzLCAyMTUsIDAsIDEyLCAxMywgMjE0LCAyNTUsIDEyLCAxMywgMjE0LCAyNTQsIDEyLCAKLSAgICAxMywgMjE0LCAyNTMsIDEyLCAxMywgMjE0LCAyNTIsIDEyLCAxMywgMjE0LCAyNTEsIDEyLCAxMywgMjE0LCAyNTAsIDEyLCAKLSAgICAxMywgMjE0LCAyNDksIDEyLCAxMywgMjE0LCAyNDgsIDEyLCAxMywgMjE0LCAyNDcsIDEyLCAxMywgMjE0LCAyNDYsIDEyLCAKLSAgICAxMywgMjE0LCAyNDUsIDEyLCAxMywgMjE0LCAyNDQsIDEyLCAxMywgMjE0LCAyNDMsIDEyLCAxMywgMjE0LCAyNDIsIDEyLCAKLSAgICAxMywgMjE0LCAyNDEsIDEyLCAxMywgMjE0LCAyNDAsIDEyLCAxMywgMjE0LCAyMzksIDEyLCAxMywgMjE0LCAyMzgsIDEyLCAKLSAgICAxMywgMjE0LCAyMzcsIDEyLCAxMywgMjE0LCAyMzYsIDEyLCAxMywgMjE0LCAyMzUsIDEyLCAxMywgMjE0LCAyMzQsIDEyLCAKLSAgICAxMywgMjE0LCAyMzMsIDEyLCAxMywgMjE0LCAyMzIsIDEyLCAxMywgMjE0LCAxMDQsIDEyLCAxMywgMjE0LCAxMDMsIDEyLCAKLSAgICAxMywgMjE0LCAxMDIsIDEyLCAxMywgMjE0LCAxMDEsIDEyLCAxMywgMjE0LCAxMDAsIDEyLCAxMywgMjE0LCA5OSwgMTIsIAotICAgIDEzLCAyMTQsIDk4LCAxMiwgMTMsIDIxNCwgOTcsIDEyLCAxMywgMjE0LCA5NiwgMTIsIDEzLCAyMTQsIDk1LCAxMiwgMTMsIAotICAgIDIxNCwgOTQsIDEyLCAxMywgMjE0LCA5MywgMTIsIDEzLCAyMTQsIDkyLCAxMiwgMTMsIDIxNCwgOTEsIDEyLCAxMywgMjE0LCAKLSAgICA5MCwgMTIsIDEzLCAyMTQsIDg5LCAxMiwgMTMsIDIxNCwgODgsIDEyLCAxMywgMjE0LCA4NywgMTIsIDEzLCAyMTQsIDg2LCAKLSAgICAxMiwgMTMsIDIxNCwgODUsIDEyLCAxMywgMjE0LCA4NCwgMTIsIDEzLCAyMTQsIDgzLCAxMiwgMTMsIDIxNCwgODIsIDEyLCAKLSAgICAxMywgMjE0LCA4MSwgMTIsIDEzLCAyMTQsIDgwLCAxMiwgMTMsIDIxNCwgNzksIDEyLCAxMywgMjE0LCA3OCwgMTIsIDEzLCAKLSAgICAyMTQsIDc3LCAxMiwgMTMsIDIxNCwgNzYsIDEyLCAxMywgMjE0LCA3NSwgMTIsIDEzLCAyMTQsIDc0LCAxMiwgMTMsIDIxNCwgCi0gICAgNzMsIDEyLCAxMywgMjE0LCA3MiwgMTIsIDEzLCAyMTQsIDcxLCAxMiwgMTMsIDIxNCwgNzAsIDEyLCAxMywgMjE0LCA2OSwgCi0gICAgMTIsIDEzLCAyMTQsIDY4LCAxMiwgMTMsIDIxNCwgNjcsIDEyLCAxMywgMjE0LCA2NiwgMTIsIDEzLCAyMTQsIDY1LCAxMiwgCi0gICAgMTMsIDIxNCwgNjQsIDEyLCAxMywgMjE0LCA2MywgMTIsIDEzLCAyMTQsIDYyLCAxMiwgMTMsIDIxNCwgNjEsIDEyLCAxMywgCi0gICAgMjE0LCA2MCwgMTIsIDEzLCAyMTQsIDU5LCAxMiwgMTMsIDIxNCwgNTgsIDEyLCAxMywgMjE0LCA1NywgMTIsIDEzLCAyMTQsIAotICAgIDU2LCAxMiwgMTMsIDIxNCwgNTUsIDEyLCAxMywgMjE0LCA1NCwgMTIsIDEzLCAyMTQsIDUzLCAxMiwgMTMsIDIxNCwgNTIsIAotICAgIDEyLCAxMywgMjE0LCA1MSwgMTIsIDEzLCAyMTQsIDUwLCAxMiwgMTMsIDIxNCwgNDksIDEyLCAxMywgMjE0LCA0OCwgMTIsIAotICAgIDEzLCAyMTQsIDQ3LCAxMiwgMTMsIDIxNCwgNDYsIDEyLCAxMywgMjE0LCA0NSwgMTIsIDEzLCAyMTQsIDQ0LCAxMiwgMTMsIAotICAgIDIxNCwgNDMsIDEyLCAxMywgMjE0LCA0MiwgMTIsIDEzLCAyMTQsIDQxLCAxMiwgMTMsIDIxNCwgNDAsIDEyLCAxMywgMjE0LCAKLSAgICAzOSwgMTIsIDEzLCAyMTQsIDM4LCAxMiwgMTMsIDIxNCwgMzcsIDEyLCAxMywgMjE0LCAzNiwgMTIsIDEzLCAyMTQsIDM1LCAKLSAgICAxMiwgMTMsIDIxNCwgMzQsIDEyLCAxMywgMjE0LCAzMywgMTIsIDEzLCAyMTQsIDMyLCAxMiwgMTMsIDIxNCwgMzEsIDEyLCAKLSAgICAxMywgMjE0LCAzMCwgMTIsIDEzLCAyMTQsIDI5LCAxMiwgMTMsIDIxNCwgMjgsIDEyLCAxMywgMjEyLCA5NywgMTIsIDEzLCAKLSAgICAyMTIsIDk2LCAxMiwgMTMsIDIxMiwgOTUsIDEyLCAxMywgMjEyLCA5NCwgMTIsIDEzLCAyMTIsIDkzLCAxMiwgMTMsIDIxMiwgCi0gICAgOTIsIDEyLCAxMywgMjEyLCA5MSwgMTIsIDEzLCAyMTIsIDkwLCAxMiwgMTMsIDIxMiwgODksIDEyLCAxMywgMjEyLCA4OCwgCi0gICAgMTIsIDEzLCAyMTIsIDg3LCAxMiwgMTMsIDIxMiwgODYsIDEyLCAxMywgMjEyLCA4NSwgMTIsIDEzLCAyMTIsIDg0LCAxMiwgCi0gICAgMTMsIDIxMiwgODMsIDEyLCAxMywgMjEyLCA4MiwgMTIsIDEzLCAyMTIsIDgxLCAxMiwgMTMsIDIxMiwgODAsIDEyLCAxMywgCi0gICAgMjEyLCA3OSwgMTIsIDEzLCAyMTIsIDc4LCAxMiwgMTMsIDIxMiwgNzcsIDEyLCAxMywgMjEyLCA3NiwgMTIsIDEzLCAyMTIsIAotICAgIDc1LCAxMiwgMTMsIDIxMiwgNzQsIDEyLCAxMywgMjEyLCA3MywgMTIsIDEzLCAyMTIsIDcyLCAxMiwgMTMsIDIxMiwgNzEsIAotICAgIDEyLCAxMywgMjEyLCA3MCwgMTIsIDEzLCAyMTIsIDY5LCAxMiwgMTMsIDIxMiwgNjgsIDEyLCAxMywgMjEyLCA2NywgMTIsIAotICAgIDEzLCAyMTIsIDY2LCAxMiwgMTMsIDIxMSwgMTc3LCAxMiwgMTMsIDIxMSwgMTc2LCAxMiwgMTMsIDIxMSwgMTc1LCAxMiwgCi0gICAgMTMsIDIxMSwgMTc0LCAxMiwgMTMsIDIxMSwgMTczLCAxMiwgMTMsIDIxMSwgMTcyLCAxMiwgMTMsIDIxMSwgMTcxLCAxMiwgCi0gICAgMTMsIDIxMSwgMTcwLCAxMiwgMTMsIDIxMSwgMTY5LCAxMiwgMTMsIDIxMSwgMTY4LCAxMiwgMTMsIDIxMSwgMTY3LCAxMiwgCi0gICAgMTMsIDIxMSwgMTY2LCAxMiwgMTMsIDIxMSwgMTE1LCAxMiwgMTMsIDIxMSwgMTE0LCAxMiwgMTMsIDIxMSwgMTEzLCAxMiwgCi0gICAgMTMsIDIxMSwgMTEyLCAxMiwgMTMsIDIxMSwgMTExLCAxMiwgMTMsIDIxMSwgMTEwLCAxMiwgMTMsIDIxMSwgMTA5LCAxMiwgCi0gICAgMTMsIDIxMSwgMTA4LCAxMiwgMTMsIDIxMSwgMTA3LCAxMiwgMTMsIDIxMCwgMTU4LCAxMiwgMTMsIDIxMCwgMTU3LCAxMiwgCi0gICAgMTMsIDIxMCwgMTU2LCAxMiwgMTMsIDIxMCwgMTU1LCAxMiwgMTMsIDIxMCwgMTU0LCAxMiwgMTMsIDIxMCwgMTUzLCAxMiwgCi0gICAgMTMsIDIxMCwgMTUyLCAxMiwgMTMsIDIxMCwgMTUxLCAxMiwgMTMsIDIxMCwgMTUwLCAxMiwgMTMsIDIxMCwgMTQ5LCAxMiwgCi0gICAgMTMsIDIxMCwgMTQ4LCAxMiwgMTMsIDIxMCwgMTQ3LCAxMiwgMTMsIDIxMCwgMTQ2LCAxMiwgMTMsIDIxMCwgMTQ1LCAxMiwgCi0gICAgMTMsIDIxMCwgMTQ0LCAxMiwgMTMsIDIxMCwgMTQzLCAxMiwgMTMsIDIxMCwgMTQyLCAxMiwgMTMsIDIxMCwgMTQxLCAxMiwgCi0gICAgMTMsIDIxMCwgMTQwLCAxMiwgMTMsIDIxMCwgMTM5LCAxMiwgMTMsIDIxMCwgMTM4LCAxMiwgMTMsIDIxMCwgMTM3LCAxMiwgCi0gICAgMTMsIDIxMCwgMTM2LCAxMiwgMTMsIDIxMCwgMTM1LCAxMiwgMTMsIDIxMCwgMTM0LCAxMiwgMTMsIDIxMCwgMTMzLCAxMiwgCi0gICAgMTMsIDIxMCwgMTMyLCAxMiwgMTMsIDIxMCwgMTMxLCAxMiwgMTMsIDIxMCwgMTMwLCAxMiwgMTMsIDIxMCwgMTI5LCAxMiwgCi0gICAgMTMsIDIxMCwgMTI4LCAxMiwgMTMsIDIxMCwgMTI3LCAxMiwgMTMsIDIxMCwgMTI2LCAxMiwgMTMsIDIxMCwgMTI1LCAxMiwgCi0gICAgMTMsIDIxMCwgMTI0LCAxMiwgMTMsIDIxMCwgMTIzLCAxMiwgMTMsIDIxMCwgMTIyLCAxMiwgMTMsIDIxMCwgMTIxLCAxMiwgCi0gICAgMTMsIDIxMCwgMTIwLCAxMiwgMTMsIDIxMCwgMTE5LCAxMiwgMTMsIDIxMCwgMTE4LCAxMiwgMTMsIDI1NSwgODEsIDEyLCAKLSAgICAxMywgMjU1LCA4MCwgMTIsIDEzLCAyNTUsIDc5LCAxMiwgMTMsIDI1NSwgNzgsIDEyLCAxMywgMjU1LCA3NywgMTIsIDEzLCAKLSAgICAyNTUsIDc2LCAxMiwgMTMsIDI1NSwgNzUsIDEyLCAxMywgMjU1LCA3NCwgMTIsIDEzLCAyNTUsIDczLCAxMiwgMTMsIDI1NSwgCi0gICAgNzIsIDEyLCAxMywgMjU1LCA3MSwgMTIsIDEzLCAyNTUsIDcwLCAxMiwgMTMsIDI1NSwgNjksIDEyLCAxMywgMjU1LCA2OCwgCi0gICAgMTIsIDEzLCAyNTUsIDY3LCAxMiwgMTMsIDI1NSwgNjYsIDEyLCAxMywgMjU1LCA2NSwgMTIsIDEzLCAyNTUsIDY0LCAxMiwgCi0gICAgMTMsIDI1NSwgNjMsIDEyLCAxMywgMjU1LCA2MiwgMTIsIDEzLCAyNTUsIDYxLCAxMiwgMTMsIDI1NSwgNjAsIDEyLCAxMywgCi0gICAgMjU1LCA1OSwgMTIsIDEzLCAyNTUsIDU4LCAxMiwgMTMsIDI1NSwgNTcsIDEyLCAxMywgMjU1LCA1NiwgMTIsIDEzLCAyNTUsIAotICAgIDU1LCAxMiwgMTMsIDI1NSwgNTQsIDEyLCAxMywgMjU1LCA1MywgMTIsIDEzLCAyNTUsIDUyLCAxMiwgMTMsIDI1NSwgNTEsIAotICAgIDEyLCAxMywgMjU1LCA1MCwgMTIsIDEzLCAyNTUsIDQ5LCAxMiwgMTMsIDI1NSwgNDgsIDIwLCAxLCAxNjcsIDIyOSwgMTcsIAotICAgIDIzMSwgMjEsIDIwLCAxLCAxNjcsIDI0MywgNzcsIDI0NCwgNDQsIDIwLCAxLCAxNjcsIDIyNCwgMjU0LCAyMzEsIDIyLCAKLSAgICAyMjUsIDYwLCAyMCwgMSwgMTY3LCAyMjQsIDI1NCwgMjMxLCAyMiwgMjI1LCA2MSwgMjAsIDEsIDE2NywgMjI5LCAyMzEsIAotICAgIDIzMSwgMjEsIDIwLCAxLCAxNjcsIDIxOSwgMjIzLCAyMCwgMSwgMTY3LCAyMTYsIDY3LCAyMzEsIDIxLCAyMCwgMSwgMTY3LCAKLSAgICAyMjcsIDEyMiwgMjMxLCAyMSwgMjAsIDEsIDE2NywgMjIwLCAyMSwgMjI2LCA5NCwgMjI4LCAxNzQsIDIwLCAxLCAxNjcsIAotICAgIDIyNCwgMjU0LCAyMjYsIDk0LCAyMjgsIDE3NSwgMjI1LCA2MCwgMjAsIDEsIDE2NywgMjI0LCAyNTQsIDIyNiwgOTQsIDIyOCwgCi0gICAgMTc1LCAyMjUsIDYxLCAyMCwgMSwgMTY3LCAyMzEsIDIyMywgMjAsIDEsIDE2NywgMjE1LCAxMjAsIDIzMSwgMjI0LCAyMCwgCi0gICAgMSwgMTY3LCAyMjksIDc2LCAyMCwgMSwgMTY3LCAyMzEsIDIyMCwgMjAsIDEsIDE2NywgMjMxLCAxODEsIDIwLCAxLCAxNjcsIAotICAgIDIzMCwgNTMsIDIwLCAxLCAxNjcsIDIyMCwgMTI2LCAyMCwgMSwgMTY3LCAyMjcsIDI0NiwgMjAsIDEsIDE2NywgMjM0LCAKLSAgICAxNTUsIDIwLCAxLCAxNjcsIDIyOCwgMTQzLCAyMCwgMSwgMTY3LCAyMTgsIDUsIDIwLCAxLCAxNjcsIDIyOSwgMTYsIDIwLCAKLSAgICAxLCAxNjcsIDIzMywgOTMsIDIwLCAxLCAxNjcsIDIzMywgMTgsIDIzMywgMTk1LCAyMCwgMSwgMTY3LCAyMjcsIDI1MywgCi0gICAgMjMxLCAyOSwgMjAsIDEsIDE2NywgMjMxLCAyMjcsIDIwLCAxLCAxNjcsIDIyNSwgMjUwLCAyMCwgMSwgMTY3LCAyNDIsIAotICAgIDIzOCwgMjAsIDEsIDE2NywgMjI2LCA1NCwgMjAsIDEsIDE2NywgMjMwLCAxNTYsIDIyOSwgNTAsIDIwLCAxLCAxNjcsIDIyNywgCi0gICAgMTAzLCAyMzEsIDMyLCAyMCwgMSwgMTY3LCAxMDQsIDIxMCwgMTg4LCAyMjksIDIyNSwgMjAsIDEsIDE2NywgMjQyLCAyMzksIAotICAgIDIwLCAxLCAxNjcsIDIyNywgMjUzLCAyMjcsIDI1NCwgMjAsIDEsIDE2NywgMjE5LCAxMzAsIDIwLCAxLCAxNjcsIDIzMSwgCi0gICAgMTQsIDIwLCAxLCAxNjcsIDIzMSwgMzUsIDIwLCAxLCAxNjcsIDIzMCwgMTM1LCAyMCwgMSwgMTY3LCAyMzQsIDI1NSwgMjAsIAotICAgIDEsIDE2NywgMjI2LCA5NCwgMjMzLCA1MywgMjAsIDEsIDE2NywgMjI5LCAxNTQsIDIzMywgNTMsIDIwLCAxLCAxNjcsIDIyNSwgCi0gICAgMTYxLCAyMCwgMSwgMTY3LCAyMzEsIDIyMSwgMjAsIDEsIDE2NywgMjI4LCAyMTIsIDIwLCAxLCAxNjcsIDIyNCwgMTM3LCAKLSAgICAyMCwgMSwgMTY3LCAyMTUsIDExNywgMjAsIDEsIDE2NywgMjMyLCA5OSwgMjAsIDEsIDE2NywgMjE5LCA0MywgMjAsIDEsIAotICAgIDE2NywgMjE2LCAyMTcsIDIwLCAxLCAxNjcsIDIzMSwgMjE4LCAyMCwgMSwgMTY3LCAyMzQsIDE2MiwgMjAsIDEsIDE2NywgCi0gICAgMjI5LCAxNTAsIDIwLCAxLCAxNjcsIDIzMywgMjA3LCAyMCwgMSwgMTY3LCAyMzAsIDEzNiwgMjAsIDEsIDE2NywgMjE5LCAKLSAgICAyMjAsIDIwLCAxLCAxNjcsIDIzMiwgMTQ0LCAyMCwgMSwgMTY3LCAyNDQsIDEwMSwgMjAsIDEsIDE2NywgMjIyLCAyMDEsIAotICAgIDIwLCAxLCAxNjcsIDIzMywgMjQ3LCAyMCwgMSwgMTY3LCAyMTksIDM5LCAyMCwgMSwgMTY3LCAyMzEsIDE3OCwgMjI1LCAKLSAgICAxMDIsIDIwLCAxLCAxNjcsIDIyMCwgMTQsIDIwLCAxLCAxNjcsIDIyNywgMjUyLCAyMCwgMSwgMTY3LCAyMTksIDI1NSwgCi0gICAgMjI4LCA3LCAyMTAsIDE5NiwgMjAsIDEsIDE2NywgMjI3LCAxNDIsIDIzMCwgMTUzLCAyMCwgMSwgMTY3LCAyMjYsIDg5LCAKLSAgICAyMCwgMSwgMTY3LCAyMjgsIDE0NCwgMjAsIDEsIDE2NywgMjE0LCAxNzAsIDIwLCAxLCAxNjcsIDIyOSwgNTMsIDIwLCAxLCAKLSAgICAxNjcsIDIzMSwgMjE3LCAyMCwgMSwgMTY3LCAyMjgsIDE4NiwgMjAsIDEsIDE2NywgMjMxLCAxMjQsIDIwLCAxLCAxNjcsIAotICAgIDIyNywgMTU1LCAyMCwgMSwgMTY3LCAyMTYsIDIyMSwgMjAsIDEsIDE2NywgMjE5LCAzNiwgMjAsIDEsIDE2NywgMjI2LCA5MCwgCi0gICAgMjAsIDEsIDE2NywgMjI4LCAxMSwgMjAsIDEsIDE2NywgMjMxLCAyMjUsIDIwLCAxLCAxNjcsIDIyNywgMTUyLCAyMCwgMSwgCi0gICAgMTY3LCAyMzQsIDIyMiwgMjAsIDEsIDE2NywgMjI4LCAxNCwgMjAsIDEsIDE2NywgMjEzLCAyNTAsIDIwLCAxLCAxNjcsIAotICAgIDIzMiwgMTAzLCAyMCwgMSwgMTY3LCAyMjksIDEwMywgMjAsIDEsIDE2NywgMjI5LCAyMDEsIDIwLCAxLCAxNjcsIDIzMSwgCi0gICAgMTIzLCAyMCwgMSwgMjI1LCAxNDEsIDIyOCwgOSwgMjAsIDEsIDIyNSwgMTQxLCAyMTUsIDEyMCwgMjMxLCAyMjIsIDIwLCAxLCAKLSAgICAyMjUsIDE0MSwgMjE5LCAxODcsIDIwLCAxLCAyMjUsIDE0MSwgMjIwLCAxMzAsIDIxNSwgMTE5LCAyMCwgMSwgMjI1LCAxNDEsIAotICAgIDIzMiwgMTQ2LCAyMjcsIDI0OSwgMjAsIDEsIDIyNSwgMTQxLCAyMzEsIDEzMCwgMjMxLCAyMjYsIDIwLCAxLCAyMjUsIDE0MSwgCi0gICAgMjM0LCA5MywgMjAsIDEsIDIyNSwgMTQxLCAyMTEsIDE1LCAyMCwgMSwgMjI1LCAxNDEsIDIzMSwgMTI1LCAyMCwgMSwgMjI1LCAKLSAgICAxNDEsIDIzNCwgMjQzLCAyMCwgMSwgMjI1LCAxNDEsIDIyNSwgMjExLCAyMCwgMSwgMjI1LCAxNDEsIDIxMSwgODksIDIzMywgCi0gICAgNTMsIDIwLCAxLCAyMjUsIDE0MSwgMjMzLCAxMDksIDIyOCwgNywgMjI3LCAxNjQsIDIwLCAxLCAyMjUsIDE0MSwgMjI3LCAKLSAgICAyNDcsIDIyMCwgNDAsIDIwLCAxLCAyMjUsIDE0MSwgMjI5LCAxMjEsIDIyOCwgMTg5LCAyMCwgMSwgMjI1LCAxNDEsIDI0MiwgCi0gICAgMjM2LCAyMCwgMSwgMjI1LCAxNDEsIDIyNSwgNTIsIDIwLCAxLCAyMjUsIDE0MSwgMjE1LCAxMjAsIDIyOCwgNSwgMjAsIDEsIAotICAgIDIyNSwgMTQxLCAyMjAsIDQ1LCAyMjgsIDE4NCwgMjAsIDEsIDIyNSwgMTQxLCAyMjAsIDQxLCAyMCwgMSwgMjI1LCAxNDEsIAotICAgIDIzMSwgMjIsIDIxNiwgMjIwLCAyMCwgMSwgMjI1LCAxNDEsIDIzMSwgMTEyLCAyMzEsIDEyNiwgMjAsIDEsIDIyNSwgMTQxLCAKLSAgICAyMjcsIDE1MywgMjI3LCAyNDksIDIwLCAxLCAyMjUsIDE0MSwgMjM0LCAxNTEsIDIwLCAxLCAyMjUsIDE0MSwgMjQyLCAyMzcsIAotICAgIDIwLCAxLCAyMjUsIDE0MSwgMjM0LCAxNDcsIDIwLCAxLCAyMjUsIDE0MSwgMjMzLCAxMzUsIDIwLCAxLCAyMjUsIDE0MSwgCi0gICAgMjI1LCAyNTMsIDIwLCAxLCAyMjUsIDE0MSwgMjEzLCAxODIsIDIwLCAxLCAyMjUsIDE0MSwgMjI5LCAxOCwgMjMwLCA1MSwgCi0gICAgMjAsIDEsIDIyNSwgMTQxLCAyMjksIDUyLCAyMzEsIDEwOCwgMjAsIDEsIDIyNSwgMTQxLCAyMTEsIDE5MywgMjAsIDEsIAotICAgIDIyNSwgMTQxLCAyMjIsIDEzLCAyMCwgMSwgMjI1LCAxNDEsIDIxNywgOTgsIDIwLCAxLCAyMjUsIDE0MSwgMjMxLCAzNCwgCi0gICAgMjAsIDEsIDIyNSwgMTQxLCAyMjksIDM3LCAyMCwgMSwgMjI1LCAxNDEsIDIyOSwgMzgsIDIzMywgOTAsIDIwLCAxLCAyMjUsIAotICAgIDE0MSwgMjMxLCAyNCwgMjAsIDEsIDIyNSwgMTQxLCAyMTgsIDUzLCAyMCwgMSwgMjI1LCAxNDEsIDIzMSwgMTE2LCAyMCwgMSwgCi0gICAgMjI1LCAxNDEsIDIzMCwgMTM4LCAyMCwgMSwgMjI1LCAxNDEsIDIyNywgMTY3LCAyMCwgMSwgMjI1LCAxNDEsIDIyNCwgMTQxLCAKLSAgICAyMCwgMSwgMjI1LCAxNDEsIDIzMSwgMzMsIDIyOSwgNTQsIDIwLCAxLCAyMjUsIDE0MSwgMjQ0LCAxMzQsIDIwLCAxLCAyMjUsIAotICAgIDE0MSwgMjMxLCAxMDMsIDIwLCAxLCAyMjUsIDE0MSwgMjQ0LCAxNTUsIDIwLCAxLCAyMjUsIDE0MSwgMjM0LCAxNTksIDIwLCAKLSAgICAxLCAyMjUsIDE0MSwgMjMxLCAyNDQsIDIyOCwgMTc4LCAyMCwgMSwgMjI1LCAxNDEsIDIzMSwgMjQ0LCAyMjgsIDE1NCwgMjAsIAotICAgIDEsIDIyNSwgMTQxLCAyMzMsIDE3LCAyMCwgMSwgMjI1LCAxNDEsIDIyOSwgNjAsIDIwLCAxLCAyMjUsIDE0MSwgMjI4LCAxNiwgCi0gICAgMjAsIDEsIDIyNSwgMTQxLCAxODYsIDIwLCAxLCAyMjUsIDE0MSwgMjM0LCA4MCwgMjAsIDEsIDIyNSwgMTQxLCAyMjksIDYsIAotICAgIDIwLCAxLCAxMzcsIDIyOSwgMTcsIDIzMSwgMjI0LCAyMCwgMSwgMTM3LCAyMjcsIDEyMSwgMjAsIDEsIDEzNywgMjEwLCAKLSAgICAxOTYsIDIwLCAxLCAxMzcsIDIxMiwgNTMsIDIwLCAxLCAxMzcsIDIyOSwgNTMsIDIwLCAxLCAxMzcsIDIyOSwgMTQyLCAyMCwgCi0gICAgMSwgMTM3LCAyMjksIDI0LCAyMCwgMSwgMTM3LCAyNDIsIDI0NiwgMjAsIDEsIDEzNywgMjMxLCAxMjAsIDIwLCAxLCAxMzcsIAotICAgIDI0MywgODQsIDIwLCAxLCAxMzcsIDIyNywgMTQ0LCAyMzAsIDE3NSwgMjMxLCAzNiwgMjAsIDEsIDEzNywgMjI3LCAyNDUsIAotICAgIDIzMSwgMTExLCAyMCwgMSwgMTM3LCAyMzEsIDExNywgMjAsIDEsIDEzNywgMjI1LCA1OCwgMjAsIDEsIDEzNywgMjI5LCAKLSAgICAxMjcsIDIwLCAxLCAxMzcsIDIzMSwgMTI4LCAyNTEsIDM3LCAyMCwgMSwgMTM3LCAyMzQsIDE0OSwgMjAsIDEsIDEzNywgCi0gICAgMjQyLCAyNDcsIDIwLCAxLCAxMzcsIDIzNCwgMTU2LCAyMCwgMSwgMTM3LCAyMTAsIDIxMywgMjMwLCA4MSwgMjAsIDEsIAotICAgIDEzNywgMjI3LCAxMTUsIDIwLCAxLCAxMzcsIDIzMSwgMTA1LCAyMCwgMSwgMTM3LCAyMjgsIDE1LCAyMCwgMSwgMTM3LCAKLSAgICAyMzEsIDExMSwgMjAsIDEsIDEzNywgMjExLCAxNiwgMjAsIDEsIDEzNywgMjMzLCAyNTUsIDIwLCAxLCAxMzcsIDIzNSwgMTYsIAotICAgIDIwLCAxLCAxMzcsIDIyMCwgMTI1LCAyMCwgMSwgMTM3LCAyMjksIDEzNiwgMjAsIDEsIDEzNywgMjE3LCA5NiwgMjAsIDEsIAotICAgIDEzNywgMjI4LCAxNTgsIDIwLCAxLCAxMzcsIDIxNiwgNjcsIDIxMCwgMTk4LCAyMCwgMSwgMTM3LCAyMTgsIDgwLCAyMCwgMSwgCi0gICAgMTM3LCAyMjksIDQ0LCAyMjcsIDE2NCwgMjAsIDEsIDEzNywgMjEzLCAxODEsIDIwLCAxLCAxMzcsIDIyOSwgMjA0LCAyMCwgCi0gICAgMSwgMTM3LCAyMzEsIDI0NCwgMjM0LCAxNTgsIDIwLCAxLCAxMzcsIDIyNywgMjU0LCAyMCwgMSwgMTM3LCAyMjksIDM5LCAKLSAgICAyMCwgMSwgMTM3LCAyMzMsIDk0LCAyMCwgMSwgMTM3LCAyMzEsIDExMywgMjAsIDEsIDEzNywgMjMxLCAxMywgMjAsIDEsIAotICAgIDEzNywgMjI3LCAyNDgsIDIwLCAxLCAxMzcsIDIxNiwgMjE2LCAyMCwgMSwgMTM3LCAyMjksIDQxLCAyMCwgMSwgMTM3LCAKLSAgICAyNDMsIDI0MCwgMjAsIDEsIDEzNywgMjI5LCAxNDEsIDIwLCAxLCAxMzcsIDIyOCwgMTcsIDIwLCAxLCAxMzcsIDIyOCwgMTMsIAotICAgIDIwLCAxLCAxMzcsIDI1MSwgMTE1LCAyMCwgMSwgMTM3LCAyMTMsIDE4MywgMjAsIDEsIDEzNywgMjMxLCAxMTgsIDIwLCAxLCAKLSAgICAxMzcsIDIyMiwgMTQyLCAyMCwgMSwgMTM3LCAyMjgsIDE4OCwgMjAsIDEsIDEzNywgMjMzLCAxMDgsIDIwLCAxLCAxMzcsIAotICAgIDIxNiwgNjUsIDIwLCAxLCAxMzcsIDIyNywgMjU1LCAyMjksIDYsIDIwLCAxLCAxMzcsIDIyOCwgMTgwLCAyMCwgMSwgMTM3LCAKLSAgICAyMzQsIDE2MiwgMjAsIDEsIDEzNywgMjI5LCA0NSwgMjAsIDEsIDEzNywgMjMxLCAyMTcsIDIwLCAxLCAxMzcsIDIzMSwgCi0gICAgMTA2LCAyMCwgMSwgMTM3LCAyMzIsIDEwMywgMjAsIDEsIDEzNywgMjMzLCAxOTUsIDIwLCAxLCAxMzcsIDIyOCwgMTg2LCAKLSAgICAyMCwgMSwgMTM3LCAyMjksIDYsIDIwLCAxLCAxMzcsIDIxMSwgMTg0LCAyMCwgMSwgMTM3LCAyMjksIDQyLCAyMCwgMSwgCi0gICAgMTM3LCAyMjgsIDIsIDIwLCAxLCAxMzcsIDIyNywgMjUwLCAyMCwgMSwgMTM3LCAyMzMsIDIwOSwgMjI4LCAxNDQsIDIwLCAxLCAKLSAgICAxMzcsIDIyOCwgMCwgMjAsIDEsIDEzNywgMjI5LCAxNDksIDIwLCAxLCAxMzcsIDIzMSwgMjQ0LCAyMjgsIDUsIDIwLCAxLCAKLSAgICAxMzcsIDIxMSwgMTAzLCAyMCwgMSwgMTM3LCAyMjksIDE0OCwgMjAsIDEsIDEzNywgMjE5LCAyMjIsIDIwLCAxLCAxMzcsIAotICAgIDIyMCwgMTI4LCAyMCwgMSwgMTM3LCAyMzEsIDExNCwgMjAsIDEsIDEzNywgMjMxLCAyMjQsIDIwLCAxLCAxMzcsIDIzMSwgCi0gICAgMTI0LCAyMCwgMSwgMTM3LCAyMzQsIDE1MCwgMjAsIDEsIDEzNywgMjMxLCAxMTUsIDIwLCAxLCAxMzcsIDIzNCwgMTU0LCAKLSAgICAyMCwgMSwgMTM3LCAyMzEsIDEyOCwgMjI1LCAxMDYsIDIwLCAxLCAxMzcsIDIxMCwgMTc5LCAyMCwgMSwgMTM3LCAyMjgsIAotICAgIDE3NiwgMjAsIDEsIDEzNywgMjMwLCAyMjUsIDIwLCAxLCAxMzcsIDIzMCwgMTA1LCAyMCwgMSwgMTM3LCAyMjAsIDE3LCAyMCwgCi0gICAgMSwgMTM3LCAyMzQsIDE3MiwgMjMzLCA3NiwgMjAsIDEsIDEzNywgMjM0LCAxNzIsIDI0NCwgMTY4LCAyMCwgMSwgMTM3LCAKLSAgICAyMjksIDc0LCAyMCwgMSwgMTM3LCAyMjksIDIwMSwgMjAsIDEsIDEzNywgMjMyLCAyMDYsIDIwLCAxLCAxMzcsIDIyNSwgNjgsIAotICAgIDIwLCAxLCAxMzcsIDIyNSwgMjAyLCAyMCwgMSwgMTM3LCAyMTYsIDIzMSwgMjAsIDEsIDEwNywgMjMxLCAxMDQsIDIwLCAxLCAKLSAgICAxMDcsIDIxMiwgNTEsIDIwLCAxLCAxMDcsIDIyOCwgMTc0LCAyMCwgMSwgMTA3LCAyMzEsIDIxLCAyMCwgMSwgMTA3LCAyMjgsIAotICAgIDE3MiwgMjAsIDEsIDEwNywgMjMyLCAyNDEsIDIwLCAxLCAxMDcsIDIyOCwgMTc3LCAyMCwgMSwgMTA3LCAyMjgsIDEyLCAyMCwgCi0gICAgMSwgMTA3LCAyMjksIDU5LCAyMCwgMSwgMTA3LCAyMjcsIDE2NCwgMjAsIDEsIDEwNywgMjExLCAxOTQsIDIwLCAxLCAxMDcsIAotICAgIDIyOSwgMTQsIDIwLCAxLCAxMDcsIDIyMCwgNjMsIDIwLCAxLCAxMDcsIDIyOSwgMjUsIDIwLCAxLCAxMDcsIDIzNCwgMTU3LCAKLSAgICAyMCwgMSwgMTA3LCAyMTYsIDIxOCwgMjAsIDEsIDEwNywgMjIwLCA0MywgMjAsIDEsIDEwNywgMjI4LCAxODUsIDIwLCAxLCAKLSAgICAxMDcsIDIxOCwgNTMsIDIwLCAxLCAxMDcsIDIzNCwgMTYyLCAyMCwgMSwgMTA3LCAyMTEsIDkxLCAyMCwgMSwgMTA3LCAyMzMsIAotICAgIDIxMCwgMjAsIDEsIDEwNywgMjIxLCAyMzYsIDIwLCAxLCAxMDcsIDIzMSwgMjYsIDIwLCAxLCAxMDcsIDIyOSwgMTQwLCAyMCwgCi0gICAgMSwgMTA3LCAyMzEsIDE5MywgMjAsIDEsIDEwNywgMjMxLCAzMiwgMjAsIDEsIDEwNywgMjIwLCAxMjcsIDIwLCAxLCAxMDcsIAotICAgIDIxMSwgMzksIDIwLCAxLCAxMDcsIDIyOCwgMTc5LCAyMCwgMSwgMTA3LCAyMzQsIDE1MywgMjMxLCAxMDcsIDIwLCAxLCAKLSAgICAxMDcsIDIyOSwgMjEsIDIwLCAxLCAxMDcsIDIxNSwgMTE5LCAyMCwgMSwgMTA3LCAyNDIsIDI1NSwgMjAsIDEsIDEwNywgCi0gICAgMjI5LCAxMSwgMjAsIDEsIDEwNywgMjQ0LCAxMzUsIDIwLCAxLCAxMDcsIDIyOSwgMTQ0LCAyMCwgMSwgMTA3LCAyMzEsIDUsIAotICAgIDIwLCAxLCAxMDcsIDIzMywgMTEsIDIwLCAxLCAxMDcsIDIyOSwgMTI2LCAyMCwgMSwgMTA3LCAyMzAsIDE1MiwgMjAsIDEsIAotICAgIDEwNywgMjMxLCA5LCAyMCwgMSwgMTA3LCAyMjQsIDEyMSwgMjAsIDEsIDEwNywgMjMxLCA3LCAyMCwgMSwgMTA3LCAyMzEsIAotICAgIDIzLCAyMCwgMSwgMTA3LCAyMzIsIDg5LCAyMCwgMSwgMTA3LCAyMjgsIDQsIDIwLCAxLCAxMDcsIDIzMSwgMTI3LCAyMCwgMSwgCi0gICAgMTA3LCAyMzMsIDE4NiwgMjAsIDEsIDEwNywgMjI3LCAxNTUsIDIwLCAxLCAxMDcsIDIxNiwgMjIxLCAyMCwgMSwgMTA3LCAKLSAgICAyMTksIDM2LCAyMCwgMSwgMTA3LCAyMTAsIDE3OSwgMjAsIDEsIDEwNywgMjM0LCAxNTQsIDIwLCAxLCAxMDcsIDIyMywgCi0gICAgMTczLCAyMCwgMSwgMTA3LCAyMTcsIDExLCAyMCwgMSwgMTA3LCAyMjksIDIyLCAyMCwgMSwgMTA3LCAyMzEsIDI4LCAyMCwgCi0gICAgMSwgMTA3LCAyMjgsIDMsIDIwLCAxLCAxMDcsIDIzNCwgMTUyLCAyMCwgMSwgMTA3LCAyMjUsIDYyLCAyMCwgMSwgMTA3LCAKLSAgICAyMjUsIDE1NSwgMjAsIDEsIDEwNywgMjI3LCAxMzEsIDIwLCAxLCAxMDcsIDIzMywgMTcsIDIwLCAxLCAxMDcsIDIyOSwgNjAsIAotICAgIDIwLCAxLCAxMDcsIDIzMSwgMjUsIDIwLCAxLCAxMDcsIDIyOSwgMzQsIDIwLCAxLCAxMDcsIDIxMCwgMTkzLCAyMCwgMSwgCi0gICAgMTA3LCAyMjYsIDI1LCAyMCwgMSwgMTA3LCAyMTAsIDE5MiwgMjAsIDEsIDEwNywgMjI5LCAxNDksIDIwLCAxLCAxMDcsIAotICAgIDIyNywgMjQ5LCAyMCwgMSwgMTA3LCAyMTgsIDgyLCAyMCwgMSwgMTA3LCAyMzMsIDIxNCwgMjAsIDEsIDEwNywgMjI5LCA0OSwgCi0gICAgMjAsIDEsIDEwNywgMjI5LCAxOSwgMjAsIDEsIDEwNywgMjE1LCAxMDMsIDIwLCAxLCAxMDcsIDIzMSwgMzYsIDIwLCAxLCAKLSAgICAxMDcsIDIzMywgMjA0LCAyMCwgMSwgMTA3LCAyMjgsIDEsIDIwLCAxLCAxMDcsIDIxNiwgMjE5LCAyMCwgMSwgMTA3LCAyMzEsIAotICAgIDIxOSwgMjAsIDEsIDEwNywgMjI5LCA1OCwgMjAsIDEsIDEwNywgMjMzLCAxMCwgMjAsIDEsIDEwNywgMjI5LCA0MCwgMjAsIAotICAgIDEsIDEwNywgMjI4LCA2LCAyMCwgMSwgMTA3LCAyMjgsIDE1OCwgMjAsIDEsIDEwNywgMjQyLCAyNDAsIDIwLCAxLCAxMDcsIAotICAgIDIzMywgMjIzLCAyMCwgMSwgMTA3LCAyMjMsIDg3LCAyMjYsIDIxMywgMjAsIDEsIDEwNywgMjE3LCA4NywgMjAsIDEsIDEwNywgCi0gICAgMjE2LCAxMSwgMjAsIDEsIDEwNywgMjI3LCAxNTIsIDIwLCAxLCAxMDcsIDIyMiwgMjQyLCAyMCwgMSwgMTA3LCAyMzMsIDU1LCAKLSAgICAyMCwgMSwgMTA3LCAyMzEsIDg0LCAyMCwgMSwgMTA3LCAxOTQsIDIwLCAxLCAxMDcsIDIxOCwgNSwgMjAsIDEsIDEwNywgCi0gICAgMjMwLCAxMDcsIDIwLCAxLCAxMDcsIDIyMCwgMjksIDIwLCAxLCAxMDcsIDIyMCwgMzksIDIwLCAxLCAxMDcsIDIzMywgMTYxLCAKLSAgICAyMCwgMSwgMTA3LCAyMjcsIDI0MiwgMjAsIDEsIDEwNywgMjE5LCAyMjcsIDIwLCAxLCAxMDcsIDIyNywgMjUxLCAyMCwgMSwgCi0gICAgMTA3LCAyMjUsIDIxNCwgMjAsIDEsIDEwNywgMjI4LCAyMzgsIDIwLCAxLCAxMDcsIDIxOSwgMjU0LCAyMCwgMSwgMTA3LCAKLSAgICAyMjQsIDEzNiwgMjAsIDEsIDEwNywgMjMwLCA1MSwgMjAsIDEsIDEwNywgMjMyLCAxMjUsIDIwLCAxLCAxMDcsIDIyMywgODcsIAotICAgIDIzMCwgMTAxLCAyMCwgMSwgMTA3LCAyMTYsIDExOCwgMjAsIDEsIDEwNywgMjI3LCAyNDMsIDIwLCAxLCAxMDcsIDIzMSwgCi0gICAgMTI4LCAxOTksIDIwLCAxLCAxMDcsIDIyMSwgMjM0LCAyMCwgMSwgMTA3LCAyNDQsIDIwMywgMjAsIDEsIDgyLCAyMjksIAotICAgIDE0OCwgMjAsIDEsIDgyLCAyMTYsIDE3LCAyMCwgMSwgODIsIDIzMSwgMTE3LCAyMCwgMSwgODIsIDIzMywgOTQsIDIwLCAxLCAKLSAgICA4MiwgMjEzLCAxMjgsIDIwLCAxLCA4MiwgMjMyLCAxMzEsIDIwLCAxLCA4MiwgMjI2LCA5MywgMjAsIDEsIDgyLCAyMTksIAotICAgIDQ3LCAyMCwgMSwgODIsIDIyMywgMTQ4LCAyMCwgMSwgODIsIDIyOCwgOCwgMjAsIDEsIDgyLCAyMjksIDExOSwgMjAsIDEsIAotICAgIDgyLCAyMjQsIDE1MCwgMjAsIDEsIDgyLCAyMTcsIDYzLCAyMCwgMSwgODIsIDIyOSwgMjcsIDIwLCAxLCA4MiwgMjMzLCAKLSAgICAyNTEsIDIwLCAxLCA4MiwgMjExLCAxODcsIDIwLCAxLCA4MiwgMjIxLCAxNzIsIDIwLCAxLCA4MiwgMjI5LCA1MCwgMjAsIDEsIAotICAgIDgyLCAyMjYsIDkwLCAyMCwgMSwgODIsIDIxNiwgMTgsIDIwLCAxLCA4MiwgMjMzLCAyMDgsIDIwLCAxLCA4MiwgMjMyLCAKLSAgICAxNDUsIDIwLCAxLCA4MiwgMjI4LCAxMSwgMjAsIDEsIDgyLCAyMjksIDMsIDIwLCAxLCA4MiwgMjMxLCAyMjUsIDIwLCAxLCAKLSAgICA4MiwgMjI5LCAyMCwgMjAsIDEsIDgyLCAyMjksIDIsIDIwLCAxLCA4MiwgMjI4LCAxMCwgMjAsIDEsIDgyLCAyMjIsIDI0MCwgCi0gICAgMjAsIDEsIDgyLCAyMjgsIDE3NiwgMjAsIDEsIDgyLCAyMjUsIDIxMywgMjAsIDEsIDgyLCAyMjIsIDMzLCAyMCwgMSwgODIsIAotICAgIDIyOSwgMzUsIDIwLCAxLCA4MiwgMjMxLCAxNSwgMjAsIDEsIDgyLCAyNDIsIDIzNCwgMjAsIDEsIDgyLCAyMjksIDIzLCAyMCwgCi0gICAgMSwgODIsIDIyOCwgMTg3LCAyMCwgMSwgODIsIDIzMSwgMTc3LCAyMCwgMSwgODIsIDIzMiwgMTI3LCAyMCwgMSwgODIsIAotICAgIDIyOSwgNTUsIDIwLCAxLCA4MiwgMjI5LCAxMzIsIDIwLCAxLCA4MiwgMjE3LCA4NiwgMjI3LCAyNDksIDIwLCAxLCA4MiwgCi0gICAgMjIwLCAxMjksIDIwLCAxLCA4MiwgMjI0LCAxNDYsIDIwLCAxLCA4MiwgMjI5LCAxNTIsIDIxOSwgNTMsIDIwLCAxLCA4MiwgCi0gICAgMjI5LCA0MywgMjI3LCAxNjQsIDIwLCAxLCA4MiwgMjExLCA0LCAyMCwgMSwgODIsIDI0MiwgMjM1LCAyMCwgMSwgODIsIAotICAgIDIxNSwgMTE4LCAyMCwgMSwgODIsIDIxMSwgMTksIDIwLCAxLCA4MiwgMjI1LCAxOSwgMjAsIDEsIDgyLCAyMTUsIDEwOCwgCi0gICAgMjAsIDEsIDgyLCAyMzQsIDE2MCwgMjAsIDEsIDgyLCAyMTgsIDgxLCAyMCwgMSwgODIsIDIxNiwgMjIwLCAyMCwgMSwgODIsIAotICAgIDIxMywgMTg0LCAyMCwgMSwgODIsIDIxMiwgNiwgMjAsIDEsIDgyLCAyMzMsIDEzOCwgMjAsIDEsIDgyLCAyMjQsIDE1MywgCi0gICAgMjAsIDEsIDgyLCAyMTcsIDk3LCAyMCwgMSwgODIsIDI0MiwgMjU0LCAyMCwgMSwgODIsIDIyOSwgNjQsIDIwLCAxLCA4MiwgCi0gICAgMjIwLCA0MiwgMjAsIDEsIDgyLCAyMzEsIDEwLCAyMCwgMSwgODIsIDIzMSwgMTIxLCAyMCwgMSwgODIsIDIyNywgMTE5LCAKLSAgICAyMCwgMSwgODIsIDIyOCwgMTQxLCAyMCwgMSwgODIsIDI0MywgODAsIDIwLCAxLCA4MiwgMjE1LCAxMDksIDIwLCAxLCA4MiwgCi0gICAgMjMzLCAyMTcsIDIwLCAxLCA4MiwgMjExLCA2NywgMjAsIDEsIDgyLCAyMjcsIDE1MywgMjUwLCAyNCwgMjAsIDEsIDgyLCAKLSAgICAyMTAsIDI1MCwgMjAsIDEsIDgyLCAyMzEsIDI3LCAyMCwgMSwgODIsIDIyOSwgMTM3LCAyMCwgMSwgODIsIDIyNSwgMTAzLCAKLSAgICAyMCwgMSwgODIsIDIxMCwgMTk3LCAyMCwgMSwgODIsIDIzMywgMTIsIDIwLCAxLCA4MiwgMjQzLCAyNDAsIDIwLCAxLCA4MiwgCi0gICAgMjQzLCA3OSwgMjAsIDEsIDgyLCAyMjksIDEzLCAyMCwgMSwgODIsIDIzNCwgMTYyLCAyMCwgMSwgODIsIDIzMSwgMjI4LCAKLSAgICAyMCwgMSwgODIsIDIyOSwgMjYsIDIwLCAxLCA4MiwgMjQyLCAyNDEsIDIwLCAxLCA4MiwgMjQ0LCAyMDQsIDIwLCAxLCA4MiwgCi0gICAgMjI3LCAyNDQsIDIwLCAxLCA4MiwgMjI1LCAxNTYsIDIwLCAxLCA4MiwgMjExLCAxNywgMjAsIDEsIDgyLCAyMjksIDUxLCAKLSAgICAyMCwgMSwgODIsIDIyNywgMTUzLCAyNTIsIDMxLCAyMCwgMSwgODIsIDIyNywgOTksIDIwLCAxLCA4MiwgMjI0LCAyNTAsIAotICAgIDIwLCAxLCA4MiwgMjMwLCAyMjUsIDIwLCAxLCA4MiwgMjQzLCAyMzgsIDIwLCAxLCA4MiwgMjI5LCAyMjUsIDIwLCAxLCA4MiwgCi0gICAgMjMwLCAxMDUsIDIwLCAxLCA4MiwgMjQyLCAyNDAsIDIwLCAxLCA4MiwgMjQzLCAyNDIsIDc0LCAyMCwgMSwgODIsIDIzMCwgCi0gICAgNTIsIDIwLCAxLCA4MiwgMjI0LCAxNDksIDIwLCAxLCA4MiwgMjI5LCAxNSwgMjAsIDEsIDgyLCAyMzMsIDE5NSwgMjAsIDEsIAotICAgIDgyLCAyMjUsIDEwMCwgMjAsIDEsIDgyLCAyMjcsIDI1MiwgMjAsIDEsIDgyLCAyMTEsIDE4LCAyMCwgMSwgODIsIDIyOSwgCi0gICAgMzYsIDIwLCAxLCA4MiwgMjI2LCA5NCwgMjI1LCAxOTAsIDIwLCAxLCA4MiwgMjQzLCAyNDIsIDI1MSwgMjMsIDIwLCAxLCAKLSAgICA4MiwgMjQ0LCA0NSwgMjAsIDEsIDgyLCAyMjgsIDE4MSwgMjAsIDEsIDgyLCA2MSwgMjAsIDEsIDgyLCAyMTYsIDExLCAyMCwgCi0gICAgMSwgODIsIDc4LCAyMCwgMSwgODIsIDc0LCAyMCwgMSwgODIsIDIzMywgOTIsIDIwLCAxLCA4MiwgMjI2LCA5NCwgMjI1LCAKLSAgICAyNiwgMjAsIDEsIDgyLCAyMTcsIDEwMiwgMjAsIDEsIDgyLCAyMTcsIDUyLCAyMCwgMSwgODIsIDIyOSwgMTUyLCAyMzAsIAotICAgIDM5LCAyNDAsIDI0MSwgMjAsIDEsIDgyLCAyMjAsIDE3LCAyMCwgMSwgODIsIDIxMSwgMTQsIDIwLCAxLCA4MiwgMjI4LCAKLSAgICAyNTIsIDIwLCAxLCA4MiwgMjEwLCAyMDIsIDIwLCAxLCA4MiwgMjEwLCAyMjcsIDIxNywgMjQxLCAyMCwgMSwgODIsIDIxMCwgCi0gICAgMjI3LCAyNDksIDE1NSwgMjAsIDEsIDgyLCAyMTAsIDE4NywgMjAsIDEsIDgyLCAyMTAsIDE5NSwgMjAsIDEsIDgyLCAyMzQsIAotICAgIDE0OCwgMjAsIDEsIDgyLCAyMjUsIDE1NCwgMjAsIDEsIDgyLCAyMjgsIDE4MiwgMjQ1LCAxMTAsIDIwLCAxLCA4MiwgMjI0LCAKLSAgICAxNDcsIDIwLCAxLCA4MiwgMjExLCAxOTIsIDIwLCAxLCA4MiwgMjQ0LCAxNTUsIDIwLCAxLCA4MiwgMjEzLCAyNTAsIDIwLCAKLSAgICAxLCA4MiwgMjMyLCAxMDMsIDIwLCAxLCA4MiwgMjMwLCAyMzUsIDIwLCAxLCA4MiwgMjIzLCA1NCwgMjAsIDEsIDgyLCAyMjMsIAotICAgIDE3NCwgMjAsIDEsIDgyLCAyMjgsIDI1MSwgMjAsIDEsIDgyLCAyMjksIDgyLCAyMCwgMSwgODIsIDIyMCwgOSwgMjAsIDEsIAotICAgIDgyLCAyMTksIDI1NCwgMjAsIDEsIDgyLCAyNDMsIDI0MiwgMjIzLCA4OSwgMjAsIDEsIDgyLCAxOTgsIDIwLCAxLCA4MiwgCi0gICAgMjI1LCAxMTEsIDIwLCAxLCA4MiwgMjMyLCAxMjUsIDIwLCAxLCA4MiwgMjM0LCAzNCwgMjAsIDEsIDgyLCAyMzEsIDYzLCAKLSAgICAyMCwgMSwgODIsIDE4NiwgMjAsIDEsIDgyLCAyMzEsIDE3NCwgMjAsIDEsIDgyLCAyMTYsIDIyMiwgMjAsIDEsIDgyLCAyMzQsIAotICAgIDk4LCAyMCwgMSwgODIsIDIzMCwgMTU1LCAyMCwgMSwgODIsIDIxNiwgMjQ4LCAyMCwgMSwgODIsIDI0NCwgMTc3LCAyMCwgMSwgCi0gICAgODIsIDI0MiwgMjMwLCAyMCwgMSwgMjI1LCAxNDAsIDE3NiwgMjAsIDEsIDIyNSwgMTQwLCA2OSwgMjAsIDEsIDIyNSwgMTQwLCAKLSAgICAyMzMsIDIyMywgMjAsIDEsIDIyNSwgMTQwLCAyNDUsIDIxNywgMjAsIDEsIDIyNSwgMTQwLCAyMjMsIDExMSwgMjAsIDEsIAotICAgIDIyNSwgMTQwLCAyMTcsIDg3LCAyMCwgMSwgMjI1LCAxNDAsIDIyNywgMTUyLCAyMCwgMSwgMjI1LCAxNDAsIDIzMywgMTQxLCAKLSAgICAyMCwgMSwgMjI1LCAxNDAsIDIyMiwgMjQyLCAyMCwgMSwgMjI1LCAxNDAsIDIyMywgMzIsIDIwLCAxLCAyMjUsIDE0MCwgCi0gICAgMjMxLCA4NCwgMjAsIDEsIDIyNSwgMTQwLCAyMTcsIDEwMiwgMjAsIDEsIDIyNSwgMTQwLCAyMjksIDE1MSwgMjAsIDEsIAotICAgIDIyNSwgMTQwLCAyMjgsIDE4OCwgMjAsIDEsIDIyNSwgMTQwLCAxOTQsIDIwLCAxLCAyMjUsIDE0MCwgMjE4LCA1LCAyMCwgMSwgCi0gICAgMjI1LCAxNDAsIDIyMCwgMjksIDIwLCAxLCAyMjUsIDE0MCwgMjE5LCAxOTMsIDIwLCAxLCAyMjUsIDE0MCwgMjIwLCAxMjUsIAotICAgIDIwLCAxLCAyMjUsIDE0MCwgMjMzLCAxNjEsIDIwLCAxLCAyMjUsIDE0MCwgMjM0LCAxNjIsIDIwLCAxLCAyMjUsIDE0MCwgCi0gICAgMjI3LCAyMTMsIDIwLCAxLCAyMjUsIDE0MCwgMjI3LCAyNDIsIDIwLCAxLCAyMjUsIDE0MCwgMjI4LCAxNTksIDIwLCAxLCAKLSAgICAyMjUsIDE0MCwgMjEwLCAyMjYsIDIwLCAxLCAyMjUsIDE0MCwgMjE5LCAyMjcsIDIwLCAxLCAyMjUsIDE0MCwgMTkyLCAyMCwgCi0gICAgMSwgMjI1LCAxNDAsIDIyOCwgMTQsIDIwLCAxLCAyMjUsIDE0MCwgMjI1LCAxNTQsIDIwLCAxLCAyMjUsIDE0MCwgMjI3LCAKLSAgICAyNTEsIDIwLCAxLCAyMjUsIDE0MCwgMjExLCAxOTIsIDIwLCAxLCAyMjUsIDE0MCwgMjI1LCAyMTQsIDIwLCAxLCAyMjUsIAotICAgIDE0MCwgMjIyLCAxNDIsIDIwLCAxLCAyMjUsIDE0MCwgMjI4LCAyMzgsIDIwLCAxLCAyMjUsIDE0MCwgMjIzLCA1NCwgMjAsIAotICAgIDEsIDIyNSwgMTQwLCAyMzQsIDE3MSwgMjAsIDEsIDIyNSwgMTQwLCAyMjksIDEyLCAyMCwgMSwgMjI1LCAxNDAsIDIyOSwgCi0gICAgNjEsIDIwLCAxLCAyMjUsIDE0MCwgMjIwLCA5LCAyMCwgMSwgMjI1LCAxNDAsIDIyNCwgMTUwLCAyMCwgMSwgMjI1LCAxNDAsIAotICAgIDI0NCwgNDUsIDIwLCAxLCAyMjUsIDE0MCwgMjEyLCA2NSwgMjAsIDEsIDIyNSwgMTQwLCAyMzIsIDI0NywgMjAsIDEsIDIyNSwgCi0gICAgMTQwLCAyMzIsIDEyNSwgMjAsIDEsIDIyNSwgMTQwLCAyMzQsIDM0LCAyMCwgMSwgMjI1LCAxNDAsIDIzMSwgMTE5LCAyMCwgCi0gICAgMSwgMjI1LCAxNDAsIDIyMywgODYsIDIwLCAxLCAyMjUsIDE0MCwgMTg2LCAyMCwgMSwgMjI1LCAxNDAsIDIzMCwgMTY2LCAKLSAgICAyMCwgMSwgMjI1LCAxNDAsIDIzMSwgMTI3LCAyMCwgMSwgMjI1LCAxNDAsIDIxNiwgMjMxLCAyMCwgMSwgMjI1LCAxNDAsIAotICAgIDIzNCwgMSwgMjAsIDEsIDIyNSwgMTQwLCAyMjEsIDI1MywgMjAsIDEsIDIyNSwgMTQwLCAyMTIsIDExNSwgOTUsIDEsIDE5MSwgCi0gICAgOTUsIDEsIDI1MiwgMTk5LCA5NSwgMSwgOCwgMTkxLCA5NSwgMSwgMjI1LCA0NSwgOTUsIDEsIDE4NiwgOTUsIDEsIDIzMCwgCi0gICAgMjM4LCA5NSwgMSwgMjU0LCAzMSwgMTg2LCA5NSwgMSwgMjQ0LCAyMDQsIDk1LCAxLCAyMTQsIDI3LCA5NSwgMSwgMjEzLCAKLSAgICAxNzcsIDk1LCAxLCAyMTcsIDEwNiwgOTUsIDEsIDI0OCwgMjI5LCA5NSwgMSwgOCwgMjE1LCAxNTcsIDk1LCAxLCA4LCAyMTcsIAotICAgIDEwNiwgOTUsIDEsIDIxNSwgMTU3LCA5NSwgMSwgMjQ4LCAxNDMsIDk1LCAxLCAxOTgsIDk1LCAxLCAyMjgsIDI0MiwgOTUsIAotICAgIDEsIDgsIDIyOCwgMTE1LCA5NSwgMSwgMjU0LCAzMSwgMTk4LCA5NSwgMSwgMjI4LCAxMTUsIDk1LCAxLCAyMjgsIDEwMSwgCi0gICAgOTUsIDEsIDIzMywgMTQxLCA5NSwgMSwgMjMyLCA2NiwgOTUsIDEsIDIzMywgNCwgOTUsIDEsIDIzMiwgMjQ5LCA5NSwgMSwgCi0gICAgMjE2LCA1NywgOTUsIDEsIDI0NywgMTYxLCA5NSwgMSwgMjE2LCA0OSwgOTUsIDEsIDI0NywgMTYwLCA5NSwgMSwgMTc2LCAKLSAgICA5NSwgMSwgMjQzLCAxNDIsIDk1LCAxLCA4LCAxNzYsIDk1LCAxLCAyMjQsIDkxLCA5NSwgMSwgMjI0LCA2OSwgOTUsIDEsIAotICAgIDIyOSwgODIsIDk1LCAxLCAyMjksIDMzLCA5NSwgMSwgMjU0LCAzMSwgMjI5LCA4MiwgOTUsIDEsIDE2MiwgOTUsIDEsIDIxMSwgCi0gICAgMTY1LCA5NSwgMSwgMjQzLCAwLCA5NSwgMSwgMjQyLCAyMzMsIDk1LCAxLCAyMTUsIDE2NiwgOTUsIDEsIDI0NiwgMzQsIDk1LCAKLSAgICAxLCAyMjcsIDE2OSwgOTUsIDEsIDIyNywgMTU0LCA5NSwgMSwgMjE1LCAxNzYsIDk1LCAxLCAyNDYsIDQxLCA5NSwgMSwgOCwgCi0gICAgMjE1LCAxNzYsIDk1LCAxLCA4LCAyNDYsIDQxLCA5NSwgMSwgMjIzLCAxMDksIDIxNSwgMTc2LCA5NSwgMSwgMjIwLCAxMDQsIAotICAgIDk1LCAxLCAyMTgsIDIyNSwgOTUsIDEsIDIxMCwgODIsIDk1LCAxLCAyMTAsIDE0LCA5NSwgMSwgMjE1LCAxODQsIDk1LCAxLCAKLSAgICAyNDYsIDQ2LCA5NSwgMSwgOCwgMjE1LCAxODQsIDk1LCAxLCAyMDYsIDk1LCAxLCAyMTAsIDExNiwgOTUsIDEsIDIxMCwgMTUsIAotICAgIDk1LCAxLCAyMDksIDI0MywgOTUsIDEsIDIwOSwgMjIzLCA5NSwgMSwgMjU0LCAzMSwgMjA5LCAyNDMsIDk1LCAxLCAyMDksIAotICAgIDIxNSwgOTUsIDEsIDIwOSwgMjIyLCA5NSwgMSwgMjEyLCA2NSwgOTUsIDEsIDI1NCwgMjE4LCA5NSwgMSwgMjQxLCAxOTYsIAotICAgIDk1LCAxLCAyMjksIDE5NywgOTUsIDUsIDI1MywgMjMwLCA5NSwgNSwgMjIzLCAxMDksIDIxMywgMTMzLCA5NSwgNSwgMjIzLCAKLSAgICAxMDksIDI1MywgMjMwLCA5NSwgMjUsIDUsIDYxLCA5NSwgMjUsIDUsIDI1NSwgODIsIDk1LCAyNSwgNSwgMjU0LCAyMTQsIAotICAgIDk1LCAyNSwgNSwgMjU0LCAxMzEsIDk1LCAyNSwgNSwgMjU0LCAxMjMsIDk1LCAyNSwgNSwgNzgsIDk1LCAyNSwgNSwgMjI2LCAKLSAgICAxODcsIDk1LCAyNSwgNSwgMjExLCAyMjcsIDk1LCAyNSwgNSwgMjEyLCA5OCwgOTUsIDI1LCA1LCA3NiwgOTUsIDI1LCA1LCAKLSAgICAyNDUsIDE1OCwgOTUsIDI1LCA1LCAyNDUsIDE0NiwgOTUsIDI1LCA1LCAyMjYsIDIzNiwgOTUsIDI1LCA1LCA3NCwgOTUsIAotICAgIDI1LCA1LCAyNDAsIDEyNiwgOTUsIDI1LCA1LCAyNDAsIDEyNSwgOTUsIDI1LCA1LCAyNDAsIDEyNCwgOTUsIDI1LCA1LCAKLSAgICAyMzUsIDE5NiwgOTUsIDI1LCA1LCAyMzYsIDY3LCA5NSwgMjUsIDUsIDIzNiwgNDAsIDk1LCAyNSwgNSwgMjM1LCAxNjIsIAotICAgIDk1LCAyNSwgNSwgMjM1LCAyMzgsIDk1LCAyNSwgNSwgNjksIDk1LCAyNSwgNSwgMjE0LCAyMjksIDk1LCAyNSwgNSwgMjE0LCAKLSAgICAyMjgsIDk1LCAyNSwgNSwgMjE0LCAyMjcsIDk1LCAyNSwgNSwgMjE0LCAxMTgsIDk1LCAyNSwgNSwgMjE0LCAyMTEsIDk1LCAKLSAgICAyNSwgNSwgMjE0LCAxNzgsIDk1LCAyNSwgNSwgMjExLCAxMTcsIDk1LCAyNSwgNSwgMjExLCA4LCA5NSwgMjUsIDUsIDI1NCwgCi0gICAgMjUyLCA5NSwgMjUsIDUsIDI1NCwgMjQ4LCA5NSwgMjUsIDUsIDI0NSwgOTQsIDk1LCAyNSwgNSwgMjIyLCAxODUsIDI0NSwgCi0gICAgOTQsIDk1LCAyNSwgNSwgMjQ1LCAxMDAsIDk1LCAyNSwgNSwgMjIyLCAxODUsIDI0NSwgMTAwLCA5NSwgMjUsIDUsIDI1NCwgCi0gICAgMjEwLCA5NSwgMjUsIDUsIDI0NSwgMjAzLCA5NSwgMjUsIDUsIDI1MywgMjAwLCA5NSwgMjUsIDUsIDIyNiwgMTM4LCA5NSwgCi0gICAgMjUsIDUsIDIzMCwgMzAsIDk1LCAyNSwgNSwgMjI5LCA4NCwgOTUsIDEzOCwgMjIyLCAyNTQsIDk1LCAxMzgsIDIxNiwgMTUsIAotICAgIDIyMiwgMjU0LCA5NSwgMTM4LCA0OCwgOTUsIDEzOCwgNTEsIDk1LCAxLCAyMTYsIDI5LCA5NSwgMSwgMjE2LCAyOCwgOTUsIAotICAgIDEsIDIxNiwgMjcsIDk1LCAxLCAyMTYsIDI2LCA5NSwgMSwgMjE2LCAyNSwgOTUsIDEsIDIxNiwgMjQsIDk1LCAxLCAyMTYsIAotICAgIDIzLCA5NSwgMSwgMjIzLCAxMDksIDIxNiwgMzAsIDk1LCAxLCAyMjMsIDEwOSwgMjE2LCAyOSwgOTUsIDEsIDIyMywgMTA5LCAKLSAgICAyMTYsIDI3LCA5NSwgMSwgMjIzLCAxMDksIDIxNiwgMjYsIDk1LCAxLCAyMjMsIDEwOSwgMjE2LCAyNSwgOTUsIDEsIDIyMywgCi0gICAgMTA5LCAyMTYsIDIzLCA1NiwgMSwgMjU0LCAzMSwgNzYsIDE0MSwgMSwgMjU0LCAzMSwgMjExLCA0NywgNDksIDI4LCAxNiwgCi0gICAgMjI0LCAxNTcsIDQ5LCAyOCwgMTYsIDI0OCwgMTY2LCA0OSwgMjgsIDE2LCAyMjUsIDE3OCwgNDksIDI4LCAxNiwgMjI2LCAKLSAgICAxMTcsIDI0NSwgMTg2LCA0OSwgMjgsIDE2LCAyMjYsIDExNywgMjQ3LCAyMDksIDQ5LCAyOCwgMTYsIDIxNCwgMTYsIDI0NSwgCi0gICAgMTg2LCA0OSwgMjgsIDE2LCAyMTQsIDE2LCAyNDcsIDIwOSwgNDksIDI4LCAxNiwgMjM0LCAyMDMsIDQ5LCAyOCwgMTYsIAotICAgIDIxNywgMTcwLCA0OSwgMjgsIDE2LCAyMjYsIDEzLCA0OSwgMjgsIDE2LCAyMTAsIDIxNywgNDksIDI4LCAxNiwgMjEwLCAKLSAgICAyMTgsIDI0NywgMjA5LCA0OSwgMjgsIDE2LCAyMzMsIDI0MCwgNDksIDI4LCAxNiwgMjU0LCA3NiwgMjQ1LCAxODYsIDQ5LCAKLSAgICAyOCwgMTYsIDI0NSwgMzQsIDI0NSwgMTg2LCA0OSwgMjgsIDE2LCAyMTcsIDMsIDQ5LCAyOCwgMTYsIDIzNCwgMTY3LCA0OSwgCi0gICAgMjgsIDE2LCAyNTQsIDY2LCA0OSwgMjgsIDE2LCAyNTQsIDY3LCAyNDcsIDIwOSwgNDksIDI4LCAxNiwgMjE3LCAxNzYsIDQ5LCAKLSAgICAyOCwgMTYsIDIxNiwgMTYwLCA0OSwgMjgsIDE2LCAyMjYsIDIxMCwgMjU0LCAyOSwgNDksIDI4LCAxNiwgMjQyLCAxNjYsIAotICAgIDI1NCwgMjksIDQ5LCAyOCwgMTYsIDIyNCwgMTU2LCA0OSwgMjgsIDE2LCAyNTAsIDE1NywgNDksIDI4LCAxNiwgMjE0LCA2LCAKLSAgICA0OSwgMjgsIDE2LCAyMzUsIDE3MCwgMjU0LCAyOSwgNDksIDI4LCAxNiwgMjM0LCAxNjksIDI1NCwgMjksIDQ5LCAyOCwgMTYsIAotICAgIDIzNCwgMTY4LCAyNTQsIDI5LCA0OSwgMjgsIDE2LCAyMjEsIDIxNSwgNDksIDI4LCAxNiwgMjI2LCA0LCA0OSwgMjgsIDE2LCAKLSAgICAyMTgsIDE0OCwgMjU0LCA2OSwgNDksIDI4LCAxNiwgMjI2LCAxMTYsIDI1NCwgMjksIDQ5LCAyOCwgMTYsIDIxNCwgMTUsIAotICAgIDI1NCwgMjksIDQ5LCAyOCwgMTYsIDI1NCwgNzAsIDI1NCwgMjksIDQ5LCAyOCwgMTYsIDI1NCwgNjQsIDQ5LCAyOCwgMTYsIAotICAgIDIzNCwgNDMsIDQ5LCAyOCwgMTYsIDIyMywgNDksIDQ5LCAyOCwgMTYsIDIyNSwgMTA5LCAyNTQsIDI5LCA0OSwgMjgsIDE2LCAKLSAgICAyMTYsIDg0LCA0OSwgMjgsIDE2LCAyNTQsIDEyOSwgNDksIDI4LCAxNiwgMjIxLCAxNjEsIDQ5LCAyOCwgMTYsIDIxNywgCi0gICAgMTc5LCAyNTQsIDI5LCA0OSwgMjgsIDE2LCAyMTcsIDE3OSwgMjMxLCA0NSwgMjE4LCAxNDYsIDQ5LCAyOCwgMTYsIDIyNiwgCi0gICAgMTExLCAyNTQsIDI5LCA0OSwgMjgsIDE2LCAyMTYsIDE5MSwgNDksIDI4LCAxNiwgMjMzLCAzMywgNDksIDI4LCAxNiwgMjQ2LCAKLSAgICA0OSwgNDksIDI4LCAxNiwgMjE1LCAyMjgsIDQ5LCAyOCwgMTYsIDIxNiwgMjMzLCA0OSwgMjgsIDE2LCAyMzMsIDI0MywgNDksIAotICAgIDI4LCAxNiwgMjU0LCA3NiwgMjQ1LCAzNCwgMjI5LCAxMDAsIDQ5LCAyOCwgMTYsIDI0MywgMjQzLCAyNTQsIDI5LCA0OSwgCi0gICAgMjgsIDE2LCAyMzYsIDE5LCA0OSwgMjgsIDE2LCAyMTUsIDIwMCwgMjU0LCAyOSwgNDksIDI4LCAxNiwgMjM0LCAyMDYsIAotICAgIDIxNSwgMTk5LCA0OSwgMjgsIDE2LCAyMjUsIDIwMywgNDksIDI4LCAxNiwgMjI0LCAxNjEsIDQ5LCAyOCwgMTYsIDIzNCwgCi0gICAgMTcsIDQ5LCAyOCwgMTYsIDI1MCwgODgsIDI1NCwgMjksIDQ5LCAyOCwgMTYsIDIyMywgMTQ5LCA0OSwgMjgsIDE2LCAyMjYsIAotICAgIDE2LCAyNTQsIDI5LCA0OSwgMjgsIDE2LCAyMjYsIDE0LCAyNTQsIDI5LCA0OSwgMjgsIDE2LCAyNDAsIDExNiwgNDksIDI4LCAKLSAgICAxNiwgMjI5LCAyMDgsIDQ5LCAyOCwgMTYsIDIyNSwgMTU5LCA0OSwgMjgsIDE2LCAyMzQsIDE4LCAyNTQsIDE1OCwgNDksIAotICAgIDI4LCAxNiwgMjE1LCAyMDAsIDI1NCwgMTU4LCA0OSwgMjgsIDE2LCAyMTgsIDEyNSwgNDksIDI4LCAxNiwgMjQyLCAxMzAsIAotICAgIDQ5LCAyOCwgMTYsIDIzNSwgMTcwLCAyMjksIDEwMCwgNDksIDI4LCAxNiwgMjI2LCAyMTAsIDIyOSwgMTAwLCA0OSwgMjgsIAotICAgIDE2LCAyMjYsIDExNywgMjI5LCAxMDAsIDQ5LCAyOCwgMTYsIDIyNSwgMTU4LCA0OSwgMjgsIDE2LCAyMzQsIDQsIDQ5LCAyOCwgCi0gICAgMTYsIDIyNSwgMTU3LCA0OSwgMjgsIDE2LCAyMzMsIDI0MiwgNDksIDI4LCAxNiwgMjI1LCAyMDQsIDIyOSwgMTAwLCA0OSwgCi0gICAgMjgsIDE2LCAyMzQsIDE2OCwgMjI5LCAxMDEsIDI1NCwgMTA0LCA0OSwgMjgsIDE2LCAyMzQsIDE2OSwgMjI5LCAxMDEsIAotICAgIDI1NCwgMTA0LCA0OSwgMjgsIDE2LCAyMTAsIDIxNSwgNDksIDI4LCAxNiwgMjU0LCA2NywgMjI5LCAxMDAsIDQ5LCAyOCwgCi0gICAgMTYsIDI1NCwgNjgsIDIxNywgMTc3LCAyMjksIDEwMCwgNDksIDI4LCAxNiwgMjEwLCAyMTYsIDQ5LCAyOCwgMTYsIDIzMywgCi0gICAgMjQxLCA0OSwgMjgsIDE2LCAyNDUsIDE4MSwgNDksIDI4LCAxNiwgMjUwLCAxNTgsIDQ5LCAyOCwgMTYsIDIzMCwgMjAzLCAKLSAgICAyMzUsIDE2OSwgNDksIDI4LCAxNiwgMjE0LCAxNiwgMjI5LCAxMDAsIDQ5LCAyOCwgMTYsIDIyNSwgMTA5LCAyMjksIDEwMCwgCi0gICAgNDksIDI4LCAxNiwgMjI0LCAxNjIsIDIyOSwgMTAwLCA0OSwgMjgsIDE2LCAyMjYsIDIwNywgNDksIDI4LCAxNiwgMjU0LCAKLSAgICA5MiwgNDksIDI4LCAxNiwgMjMyLCA2MywgNDksIDI4LCAxNiwgMjI2LCAxNCwgMjI5LCAxMDAsIDQ5LCAyOCwgMTYsIDIyNiwgCi0gICAgMTYsIDIyOSwgMTAwLCA0OSwgMjgsIDE2LCAyNDUsIDY4LCAyMjYsIDE1LCA0OSwgMjgsIDE2LCAyMzMsIDE1OSwgNDksIDI4LCAKLSAgICAxNiwgMjU0LCA5MywgNDksIDI4LCAxNiwgMjE1LCAyMDAsIDIyOSwgMTAwLCA0OSwgMjgsIDE2LCAyNDUsIDE4NCwgNDksIAotICAgIDI4LCAxNiwgMjE3LCAxNzksIDIyOSwgMTAwLCA0OSwgMjgsIDE2LCAyMTcsIDE3MSwgNDksIDI4LCAxNiwgMjUwLCA4OCwgCi0gICAgMjI5LCAxMDAsIDQ5LCAyOCwgMTYsIDI0NSwgMTE0LCA0OSwgMjgsIDE2LCAyMjEsIDE2MiwgMjI5LCAxMDAsIDQ5LCAyOCwgCi0gICAgMTYsIDIxMSwgMTUxLCAyMzQsIDQzLCA0OSwgMjgsIDE2LCAyMTUsIDE5NywgNDksIDI4LCAxNiwgMjI0LCAxNjMsIDQ5LCAKLSAgICAyOCwgMTYsIDIxNSwgMjAxLCA0OSwgMjgsIDE2LCAyMTUsIDE5OCwgNDksIDI4LCAxNiwgMjI0LCAxNjAsIDQ5LCAyOCwgMTYsIAotICAgIDIxNSwgMTk2LCA0OSwgMjgsIDE2LCAyMjQsIDE1OSwgNDksIDI4LCAxNiwgMjQyLCAxNjUsIDQ5LCAyOCwgMTYsIDI1NCwgCi0gICAgMjIsIDQ5LCAyOCwgMTYsIDI0NSwgNjgsIDI1NCwgMjIsIDQ5LCAyOCwgMTYsIDIyNiwgMTExLCAyMjksIDEwMCwgNDksIDI4LCAKLSAgICAxNiwgMjE2LCAxOTAsIDI0NSwgNzcsIDQ5LCAyOCwgMTYsIDIxNiwgMTkwLCAyNDUsIDMzLCA0OSwgMjgsIDE2LCAyMTYsIAotICAgIDE5MiwgMjU0LCA3MSwgNDksIDI4LCAxNiwgMjE2LCAxODUsIDIzNCwgMjUzLCAyNTQsIDYzLCA0OSwgMjgsIDE2LCAyMzQsIAotICAgIDIwNSwgNDksIDI4LCAxNiwgMjQ1LCAxNDcsIDQ5LCAyOCwgMTYsIDIxMSwgMTEsIDIzNCwgMjAyLCA0OSwgMjgsIDE2LCAKLSAgICAyMTEsIDExLCAyNTQsIDEwNCwgNDksIDI4LCAxNiwgMjE4LCAxNDcsIDQ5LCAyOCwgMTYsIDIzNCwgNDQsIDI1NCwgMTA0LCAKLSAgICA0OSwgMjgsIDE2LCAyNDcsIDIxMCwgMjU0LCAyOSwgNDksIDI4LCAxNiwgMjMzLCAyNDQsIDI1NCwgMjksIDQ5LCAyOCwgMTYsIAotICAgIDIzMywgMjQ0LCAyNTQsIDE1OCwgNDksIDI4LCAxNiwgMjMzLCAyNDQsIDIyOSwgMTAwLCA0OSwgMjgsIDE2LCAyNTQsIDcwLCAKLSAgICAyMjksIDEwMCwgNDksIDI4LCAxNiwgMjU0LCA3MiwgNDksIDI4LCAxNiwgMjQ3LCAyMDksIDQ5LCAyOCwgMTYsIDIxNSwgCi0gICAgMjExLCA0OSwgMjgsIDE2LCAyMTYsIDIyNSwgNDksIDI4LCAxNiwgMjM0LCA4LCA0OSwgMjgsIDE2LCAyMzMsIDM4LCAyNDUsIAotICAgIDE0MiwgMjUwLCA3OSwgNDksIDI4LCAxNiwgMjMzLCAzOCwgMjQ2LCA1MCwgMjUwLCA4MCwgNDksIDI4LCAxNiwgMjMzLCAzOCwgCi0gICAgMjE1LCAyMTMsIDI1MCwgODAsIDQ5LCAyOCwgMTYsIDIzMywgMzgsIDIxNiwgMjM1LCAyNTAsIDgwLCA0OSwgMjgsIDE2LCAKLSAgICAyMzMsIDM4LCAyMzYsIDE0LCAyNTAsIDc5LCA0OSwgMjgsIDE2LCAyNDIsIDE2NiwgMjI5LCAxMDEsIDI1NCwgMTA0LCA0OSwgCi0gICAgMjgsIDE2LCAyNDIsIDE2NiwgMjI2LCA1LCAyNTQsIDE4LCA0OSwgMjgsIDE2LCAyNDIsIDE2NiwgMjI2LCA1LCAyNDgsIDM3LCAKLSAgICA0OSwgMjgsIDE2LCAyNDcsIDIzMywgNDksIDI4LCAxNiwgMjQ3LCAyMzQsIDIyNiwgNSwgMjU0LCAxOSwgMjM0LCAyMDIsIAotICAgIDQ5LCAyOCwgMTYsIDI0NywgMjM0LCAyMjYsIDUsIDI1NCwgMTksIDI1NCwgMTA0LCA0OSwgMjgsIDE2LCAyNDcsIDIzNCwgCi0gICAgMjI2LCA1LCAyNDgsIDM3LCA0OSwgMjgsIDE2LCAyMTUsIDIxNywgNDksIDI4LCAxNiwgMjU0LCAyMywgNDksIDI4LCAxNiwgCi0gICAgMjM2LCAyMSwgNDksIDI4LCAxNiwgMjQ3LCAyNTQsIDQ5LCAyOCwgMTYsIDI1NCwgMjIwLCAyMjUsIDMsIDI1NCwgMjQsIDQ5LCAKLSAgICAyOCwgMTYsIDI1NCwgMjIwLCAyNTQsIDIxLCA0OSwgMjgsIDE2LCAyNTQsIDIyMCwgMjU0LCAyNCwgNDksIDI4LCAxNiwgCi0gICAgMjU0LCAyMjAsIDIzMSwgMzksIDQ5LCAyOCwgMTYsIDI1NCwgMjIwLCAyMzEsIDUwLCA0OSwgMjgsIDE2LCAyNTQsIDIyMCwgCi0gICAgMjQyLCAxNjcsIDQ5LCAyOCwgMTYsIDI1NCwgMjIwLCAyNDIsIDE2NCwgNDksIDI4LCAxNiwgMjU0LCAyMjAsIDIyNSwgMywgCi0gICAgMjQyLCAxNjcsIDQ5LCAyOCwgMTYsIDIzMSwgMTU2LCAyMjQsIDE2OCwgMjQwLCAxMTQsIDQ5LCAyOCwgMTYsIDIzMSwgMTU2LCAKLSAgICAyNTQsIDE2MCwgMjI0LCAxNjgsIDI0MCwgMTE0LCA0OSwgMjgsIDE2LCAyMzEsIDE1NiwgMjQ4LCAzNiwgMjQwLCAxMTQsIAotICAgIDQ5LCAyOCwgMTYsIDIzMSwgMTU2LCAyNTQsIDE2MCwgMjQ4LCAzNiwgMjQwLCAxMTQsIDQ5LCAyOCwgMTYsIDIzMSwgMTU2LCAKLSAgICAyMTUsIDIwNiwgMjQwLCAxMTQsIDQ5LCAyOCwgMTYsIDIzMSwgMTU2LCAyMTUsIDIxOCwgNDksIDI4LCAxNiwgMjMxLCAxNTYsIAotICAgIDIxNiwgMjI5LCAyNDAsIDExNCwgNDksIDI4LCAxNiwgMjMxLCAxNTYsIDIxNiwgMjI5LCAyMzMsIDQxLCAyNDAsIDExNCwgCi0gICAgNDksIDI4LCAxNiwgMjMxLCAxNTYsIDIzMywgNDEsIDI0MCwgMTE0LCA0OSwgMjgsIDE2LCAyMzEsIDE1NiwgMjI1LCA0MiwgCi0gICAgMjQwLCAxMTQsIDQ5LCAyOCwgMTYsIDIzNSwgMTc2LCAyMTYsIDI1MiwgMjQwLCAxMTUsIDQ5LCAyOCwgMTYsIDI1NCwgNjgsIAotICAgIDIxNiwgMjUyLCAyNDAsIDExNSwgNDksIDI4LCAxNiwgMjQ0LCAxODAsIDIxNiwgMjI2LCA0OSwgMjgsIDE2LCAyNDQsIDE4MCwgCi0gICAgMjMwLCAxNDgsIDQ5LCAyOCwgMTYsIDI0NCwgMTgwLCAyNDcsIDIzOCwgNDksIDI4LCAxNiwgMjMxLCAxNTYsIDIxNCwgMTAsIAotICAgIDI0MCwgMTE0LCA0OSwgMjgsIDE2LCAyMzEsIDE1NiwgMjI0LCAxNjcsIDI0MCwgMTE0LCA0OSwgMjgsIDE2LCAyMzEsIDE1NiwgCi0gICAgMjI1LCA0MiwgMjE2LCAyMjksIDI0MCwgMTE0LCA0OSwgMjgsIDE2LCAyNDIsIDE2MiwgMjMwLCAzMSwgMjU0LCA3MSwgNDksIAotICAgIDI4LCAxNiwgMjQyLCAxNjIsIDIzMCwgMzEsIDI0NywgMjA4LCA0OSwgMjgsIDE2LCAyNDUsIDE1NiwgMjM0LCAyNTMsIDI0MywgCi0gICAgMjQzLCAyMTMsIDEyNCwgNDksIDI4LCAxNiwgMjM2LCAyMCwgNDksIDI4LCAxNiwgMjM2LCAxOCwgNDksIDI4LCAxNiwgMjQzLCAKLSAgICAyNDMsIDI1NCwgMzAsIDI0OCwgMzUsIDI0MCwgMTEzLCA0OSwgMjgsIDE2LCAyNDMsIDI0MywgMjQ3LCAyNTIsIDE5MSwgNDksIAotICAgIDI4LCAxNiwgMjQzLCAyNDMsIDI0NywgMjUyLCAyMjksIDIwOCwgNDksIDI4LCAxNiwgMjQzLCAyNDMsIDIyOSwgMjAzLCAKLSAgICAyNDAsIDExNCwgNDksIDI4LCAxNiwgMjQzLCAyNDMsIDI0NywgMjUyLCAyNDgsIDExLCA0OSwgMjgsIDE2LCAyNDMsIDI0MywgCi0gICAgMjE5LCAxMDQsIDI0NywgMjUxLCAyNDgsIDExLCA0OSwgMjgsIDE2LCAyNDMsIDI0MywgMjQ3LCAyNTIsIDIzNCwgMTg4LCAKLSAgICA0OSwgMjgsIDE2LCAyNDMsIDI0MywgMjQ3LCAyNTIsIDIxMCwgMjMsIDQ5LCAyOCwgMTYsIDI0MywgMjQzLCAyNDcsIDI1MiwgCi0gICAgMjI4LCAyMzksIDIzNCwgMjAyLCA0OSwgMjgsIDE2LCAyNDMsIDI0MywgMjQ3LCAyNTIsIDIyOCwgMjM5LCAyNTQsIDEwNCwgCi0gICAgNDksIDI4LCAxNiwgMjQzLCAyNDMsIDIzMSwgMTk2LCAyNTAsIDgxLCAyNDcsIDIzOCwgNDksIDI4LCAxNiwgMjQzLCAyNDMsIAotICAgIDIzMSwgMTk2LCAyNTAsIDgxLCAyMzAsIDE0OCwgNDksIDI4LCAxNiwgMjQ0LCAxMzAsIDIxOSwgMTA0LCAyNTAsIDgxLCAKLSAgICAyMTQsIDksIDQ5LCAyOCwgMTYsIDI0MywgMjQzLCAyMTksIDEwNCwgMjUwLCA4MSwgMjE3LCAxODAsIDQ5LCAyOCwgMTYsIAotICAgIDI0MywgMjQzLCAyMjksIDEwMiwgNDksIDI4LCAxNiwgMjUwLCA4MiwgMjA5LCAyNDksIDQ5LCAyOCwgMTYsIDI1MCwgODIsIAotICAgIDIzNCwgNDIsIDQ5LCAyOCwgMTYsIDI1MCwgODIsIDIxOSwgMTEsIDQ5LCAyOCwgMTYsIDI0MywgMjQzLCAyNDAsIDE2MSwgCi0gICAgMjExLCAxMCwgMjE2LCAyMzAsIDQ5LCAyOCwgMTYsIDI0MywgMjQzLCAyNDUsIDE1NywgMjU0LCA5NCwgNDksIDI4LCAxNiwgCi0gICAgMjExLCAxMCwgMjE1LCAyMDcsIDQ5LCAyOCwgMTYsIDI0NywgMjQ2LCAyMTUsIDIwNywgNDksIDI4LCAxNiwgMjQ3LCAyNDYsIAotICAgIDIxNiwgMjMwLCA0OSwgMjgsIDE2LCAyNDcsIDI0NiwgMjU0LCA3MywgMjQ2LCA1MCwgMjQ3LCAxNDcsIDQ5LCAyOCwgMTYsIAotICAgIDI0NywgMjQ2LCAyMzAsIDE0NiwgMjE2LCAyMzQsIDI0NywgMTQ3LCA0OSwgMjgsIDE2LCAyNDcsIDI0NiwgMjQ3LCAyMzAsIAotICAgIDI0NSwgNDQsIDI0NywgMTQ3LCA0OSwgMjgsIDE2LCAyNDcsIDI0NiwgMjE1LCAyMTUsIDIyNiwgMjE1LCAyNDcsIDE0NywgCi0gICAgNDksIDI4LCAxNiwgMjExLCAxMCwgMjU0LCA3MywgMjQ2LCA1MCwgMjQ3LCAxNDcsIDQ5LCAyOCwgMTYsIDIxMSwgMTAsIAotICAgIDIzMCwgMTQ2LCAyMTYsIDIzNCwgMjQ3LCAxNDcsIDQ5LCAyOCwgMTYsIDIxMSwgMTAsIDI0NywgMjMwLCAyNDUsIDQ0LCAKLSAgICAyNDcsIDE0NywgNDksIDI4LCAxNiwgMjExLCAxMCwgMjE1LCAyMTUsIDIyNiwgMjE1LCAyNDcsIDE0NywgNDksIDI4LCAxNiwgCi0gICAgMjQzLCA1NiwgMjQ3LCAyNDUsIDQ5LCAyOCwgMTYsIDI0MywgNTYsIDIxMSwgOSwgNDksIDI4LCAxNiwgMjQ3LCAyNTMsIAotICAgIDI1NCwgNzMsIDIzMCwgMjA0LCA0OSwgMjgsIDE2LCAyNDcsIDI1MywgMjU0LCA3MywgMjMxLCA3OCwgNDksIDI4LCAxNiwgCi0gICAgMjQ3LCAyNTMsIDI0NywgMjA5LCA0OSwgMjgsIDE2LCAyNDcsIDI1MywgMjE2LCAxODMsIDQ5LCAyOCwgMTYsIDIxOSwgMTY1LCAKLSAgICAyMTYsIDE4MywgNDksIDI4LCAxNiwgMjE5LCAxNjUsIDIxNiwgMTg0LCAyNDcsIDE5NCwgNDksIDI4LCAxNiwgMjE5LCAxNjUsIAotICAgIDIxNiwgMTg0LCAyMTUsIDIwOCwgNDksIDI4LCAxNiwgMjE5LCAxNjUsIDIxNiwgMTg0LCAyMTYsIDIyMywgNDksIDI4LCAxNiwgCi0gICAgMjE5LCAxNjUsIDI1MywgMjUyLCA0OSwgMjgsIDE2LCAyMTksIDE2NSwgMjUzLCAyNTMsIDI0NywgMTk0LCA0OSwgMjgsIDE2LCAKLSAgICAyMTksIDE2NSwgMjUzLCAyNTMsIDIxNSwgMjA4LCA0OSwgMjgsIDE2LCAyMTksIDE2NSwgMjUzLCAyNTMsIDIxNiwgMjIzLCAKLSAgICA0OSwgMjgsIDE2LCAyNDcsIDIzMSwgMjQzLCAzNywgNDksIDI4LCAxNiwgMjQ3LCAyMzcsIDIyNiwgMTM4LCA0OSwgMjgsIAotICAgIDE2LCAyMTgsIDEzOSwgNDksIDI4LCAxNiwgMjU0LCAxNSwgMTkxLCA0OSwgMjgsIDE2LCAyNTQsIDE1LCAyMTMsIDEyNCwgCi0gICAgNDksIDI4LCAxNiwgMjU0LCAxNSwgMjQzLCAxNDIsIDQ5LCAyOCwgMTYsIDI1NCwgMTUsIDI0OCwgMTEsIDQ5LCAyOCwgMTYsIAotICAgIDI1NCwgMTUsIDIzNCwgMTg4LCA0OSwgMjgsIDE2LCAyNTQsIDE1LCAyMTAsIDIzLCA0OSwgMjgsIDE2LCAyNTQsIDE1LCAKLSAgICAyMjgsIDIzOCwgNDksIDI4LCAxNiwgMjM0LCAxNjgsIDIyOSwgMTAxLCAyMzEsIDQ5LCA0OSwgMjgsIDE2LCAyMzQsIDE2OSwgCi0gICAgMjI5LCAxMDEsIDIzMSwgNDksIDQ5LCAyOCwgMTYsIDIzNCwgMTY4LCAyMjksIDEwMSwgMjM0LCAyMDIsIDQ5LCAyOCwgMTYsIAotICAgIDIzNCwgMTY5LCAyMjksIDEwMSwgMjM0LCAyMDIsIDQ5LCAyOCwgMTYsIDIzNCwgNDQsIDIzNCwgMjAyLCA0OSwgMjgsIDE2LCAKLSAgICAyNDIsIDE2NiwgMjI5LCAxMDEsIDIzNCwgMjAyLCAyOCwgMTYsIDIxOSwgMTU3LCAyNTIsIDE0MywgMjgsIDE2LCA1MiwgCi0gICAgMjUyLCAxNDMsIDI4LCAxNiwgNDAsIDI1MiwgMTQzLCAyOCwgMTYsIDIyMywgNTMsIDQwLCAyNTIsIDE0MywgMjgsIDE2LCAKLSAgICAyNDgsIDE2MywgMjUyLCAxNDMsIDI4LCAxNiwgMjE5LCAyNTMsIDI1MiwgMTQzLCAyOCwgMTYsIDQzLCAyMjMsIDgwLCA1MCwgCi0gICAgMjgsIDE2LCA0NCwgMjIzLCA4MCwgNTAsIDI4LCAxNiwgMjIzLCA4MCwgMjQ3LCAxMjYsIDI4LCAxNiwgMjQ4LCAyMDQsIAotICAgIDIyMSwgMTY1LCAyOCwgMTYsIDI0OCwgMjMwLCAyNTEsIDEsIDI4LCAxNiwgMjIxLCAxNjUsIDI4LCAxNiwgMjQ5LCAyNDIsIAotICAgIDI4LCAxNiwgMjIzLCA3OCwgMjQ0LCAxMTksIDI4LCAxNiwgMjIzLCA3OCwgMjQ0LCAxMTgsIDI4LCAxNiwgMjIzLCA3OCwgCi0gICAgMjQ0LCAxMTcsIDI4LCAxNiwgMjQ0LCAxMzksIDI4LCAxNiwgMjQ0LCAxNDAsIDUxLCAyOCwgMTYsIDI1MSwgMTU2LCA3OSwgCi0gICAgMjgsIDE2LCAyNTEsIDMyLCAyOCwgMTYsIDI1MSwgMTY3LCAyOCwgMTYsIDEyNywgMjgsIDE2LCAyMjYsIDE5NywgMjE4LCAKLSAgICAxNjUsIDI4LCAxNiwgMjE1LCA1NywgMjE4LCAxNjUsIDI4LCAxNiwgMjE2LCAxNDMsIDIxOCwgMTY1LCAyOCwgMTYsIDI0NCwgCi0gICAgMTgsIDIxOCwgMTY1LCAyOCwgMTYsIDI0NCwgODgsIDIxOCwgMTY1LCAyOCwgMTYsIDIxOSwgMTI2LCAyMTgsIDE2NSwgMjgsIAotICAgIDE2LCAyMTksIDEyNCwgMjQ0LCAyLCAyOCwgMTYsIDI0NCwgMTYsIDI0NCwgMiwgMjgsIDE2LCAyNDMsIDIxMCwgMjUwLCAyMiwgCi0gICAgMjgsIDE2LCAyNDMsIDIxMCwgMjUwLCAyMywgMjI2LCAxNDAsIDI1NCwgMTUwLCAyOCwgMTYsIDI0MywgMjEwLCAyNTAsIDIzLCAKLSAgICAyMjYsIDE0MCwgMjUyLCAxMzAsIDI4LCAxNiwgMjUxLCA3NSwgMjUwLCAyMiwgMjgsIDE2LCAyNDUsIDE1LCAyNTAsIDIyLCAKLSAgICAyOCwgMTYsIDI0NSwgMTUsIDI1MCwgMjMsIDIyNiwgMTQwLCAyNTQsIDE1MCwgMjgsIDE2LCAyNDUsIDE1LCAyNTAsIDIzLCAKLSAgICAyMjYsIDE0MCwgMjUyLCAxMzAsIDI4LCAxNiwgMjQ2LCA5MSwgMjUwLCAyMSwgMjgsIDE2LCAyNDYsIDkxLCAyNTAsIDIwLCAKLSAgICAyOCwgMTYsIDIzMCwgOTAsIDIzMSwgOTUsIDIyMywgNjQsIDI4LCAxNiwgNTIsIDIyMCwgNzcsIDI4LCAxNiwgNTIsIDI0NCwgCi0gICAgNzMsIDI4LCAxNiwgMjQ0LCA3NCwgMjE0LCAxNjMsIDI4LCAxNiwgMjQ0LCA3NCwgMjQ2LCAxMTQsIDI4LCAxNiwgMjI5LCAKLSAgICAxOTMsIDIxNCwgMTYzLCAyOCwgMTYsIDIyOSwgMTkzLCAyNDYsIDExNCwgMjgsIDE2LCAyMjAsIDc4LCAyMTQsIDE2MywgMjgsIAotICAgIDE2LCAyMjAsIDc4LCAyNDYsIDExNCwgMjgsIDE2LCAyMjQsIDI1LCAxMzgsIDIyMCwgNzcsIDI4LCAxNiwgMjI0LCAyNSwgCi0gICAgMTM4LCAyNDQsIDczLCAyOCwgMTYsIDI0OSwgMjI0LCAyMTYsIDg4LCAyOCwgMTYsIDI0OSwgOTMsIDIxNiwgODgsIDI4LCAKLSAgICAxNiwgMjI2LCAxNDAsIDI1NCwgMTUwLCAyOCwgMTYsIDIyNiwgMTQwLCAyNTIsIDEzMCwgMjgsIDE2LCAyMjQsIDcsIDI1NCwgCi0gICAgMTUwLCAyOCwgMTYsIDIyNCwgNywgMjUyLCAxMzAsIDI4LCAxNiwgMjMwLCA5MywgMjIzLCA2NCwgMjgsIDE2LCAyMTEsIAotICAgIDI1MSwgMjIzLCA2NCwgMjgsIDE2LCAxNjMsIDIyMywgNjQsIDI4LCAxNiwgMjI0LCAyNSwgMjIzLCA2NCwgMjgsIDE2LCAKLSAgICAyNDUsIDE5NywgMjIzLCA2NCwgMjgsIDE2LCAyMTksIDEyMCwgMjIzLCA2NCwgMjgsIDE2LCAyMTYsIDE2MSwgMjIzLCA2NCwgCi0gICAgMjgsIDE2LCAyMTksIDExMiwgMjIzLCA2NCwgMjgsIDE2LCAxMjMsIDI0MCwgMjE4LCAyMTUsIDcxLCAyMjMsIDY0LCAyOCwgCi0gICAgMTYsIDIxMSwgMTc5LCAyMjgsIDQ4LCAyOCwgMTYsIDk2LCAyMjgsIDQ4LCAyOCwgMTYsIDI1MCwgNDQsIDIxMSwgMTc5LCAKLSAgICAyMjgsIDQ4LCAyOCwgMTYsIDQyLCAyMjgsIDQ5LCAyMTEsIDI1MywgMjgsIDE2LCA0MiwgMjI4LCA0OSwgMjUxLCAyMjksIAotICAgIDI4LCAxNiwgMjE1LCAyMjcsIDIyOCwgNDksIDEyMCwgMjExLCAyNTMsIDI4LCAxNiwgMjE1LCAyMjcsIDIyOCwgNDksIDEyMCwgCi0gICAgMjUxLCAyMjksIDI4LCAxNiwgMjE1LCAyMjcsIDIyOCwgNDksIDQzLCAyMTEsIDI1MywgMjgsIDE2LCAyMTUsIDIyNywgMjI4LCAKLSAgICA0OSwgNDMsIDI1MSwgMjI5LCAyOCwgMTYsIDIxNSwgMjI3LCAyMjgsIDQ5LCA0NCwgMjExLCAyNTMsIDI4LCAxNiwgMjE1LCAKLSAgICAyMjcsIDIyOCwgNDksIDQ0LCAyNTEsIDIyOSwgMjgsIDE2LCAyMTUsIDIyNywgMjI4LCA0OSwgMTI0LCAyMTEsIDI1MywgMjgsIAotICAgIDE2LCAyMTUsIDIyNywgMjI4LCA0OSwgMTI0LCAyNTEsIDIyOSwgMjgsIDE2LCAyMTUsIDIyNywgMjI4LCA0OSwgMTIwLCA0NCwgCi0gICAgMjExLCAyNTMsIDI4LCAxNiwgMjE1LCAyMjcsIDIyOCwgNDksIDEyMCwgNDQsIDI1MSwgMjI5LCAyOCwgMTYsIDIzMCwgMTM0LCAKLSAgICAyMjgsIDQ5LCAyMTEsIDI1MywgMjgsIDE2LCAyMzAsIDEzNCwgMjI4LCA0OSwgMjUxLCAyMjksIDI4LCAxNiwgMjE1LCAyMjQsIAotICAgIDIyOCwgNDksIDEyNCwgMjExLCAyNTMsIDI4LCAxNiwgMjE1LCAyMjQsIDIyOCwgNDksIDEyNCwgMjUxLCAyMjksIDI4LCAxNiwgCi0gICAgMjI2LCA4LCAyMjgsIDQ4LCAyOCwgMTYsIDIxMywgMTMyLCAyMjgsIDQ4LCAyOCwgMTYsIDIyOCwgNDksIDI1MSwgMjI5LCAKLSAgICAyOCwgMTYsIDIyNywgMjA3LCAyMjgsIDQ4LCAyOCwgMTYsIDI0OSwgMjQ5LCAyMjgsIDQ5LCAyMTEsIDI1MywgMjgsIDE2LCAKLSAgICAyNDksIDI0OSwgMjI4LCA0OSwgMjUxLCAyMjksIDI4LCAxNiwgMjUxLCAxNTQsIDI4LCAxNiwgMjExLCAyNTEsIDIyOCwgNTIsIAotICAgIDI4LCAxNiwgMTYzLCAyMjgsIDUyLCAyOCwgMTYsIDIyNCwgMjUsIDIyOCwgNTIsIDI4LCAxNiwgMjQ1LCAxOTcsIDIyOCwgCi0gICAgNTIsIDI4LCAxNiwgMjE5LCAxMjAsIDIyOCwgNTIsIDI4LCAxNiwgMjE2LCAxNjEsIDIyOCwgNTIsIDI4LCAxNiwgMjE5LCAKLSAgICAxMTIsIDIyOCwgNTIsIDI4LCAxNiwgMTIzLCAyNDAsIDIxOCwgMjE1LCA3MSwgMjI4LCA1MiwgMjgsIDE2LCAzOCwgMjE4LCAKLSAgICAxNDEsIDI4LCAxNiwgMzgsIDIxOCwgMjQyLCAyMTgsIDE0MSwgMjgsIDE2LCAzOCwgMjE1LCAyMzUsIDI4LCAxNiwgMzgsIAotICAgIDIxNSwgMjM0LCAyOCwgMTYsIDM4LCAyMTUsIDIzMywgMjgsIDE2LCAyNDQsIDEwOSwgMjE1LCAyMzUsIDI4LCAxNiwgMjQ0LCAKLSAgICAxMDksIDIxNSwgMjM0LCAyOCwgMTYsIDI0NCwgMTA5LCAyMTUsIDIzMywgMjgsIDE2LCAzOCwgMjUzLCAxOTcsIDI0NywgCi0gICAgMTI4LCAyOCwgMTYsIDM4LCAyNDQsIDgwLCAyOCwgMTYsIDM4LCAyNDQsIDc5LCAyOCwgMTYsIDM4LCAyNDQsIDc4LCAyOCwgCi0gICAgMTYsIDM4LCAyNDQsIDc3LCAyOCwgMTYsIDM4LCAyNDQsIDc2LCAyOCwgMTYsIDI1MiwgNjYsIDI1MiwgODIsIDI4LCAxNiwgCi0gICAgMjQ1LCAxNTEsIDI1MiwgODIsIDI4LCAxNiwgMjUyLCA2NiwgMjE2LCAxMTIsIDI4LCAxNiwgMjQ1LCAxNTEsIDIxNiwgMTEyLCAKLSAgICAyOCwgMTYsIDI1MiwgNjYsIDIxOSwgODIsIDI4LCAxNiwgMjQ1LCAxNTEsIDIxOSwgODIsIDI4LCAxNiwgMjUyLCA2NiwgCi0gICAgMjI1LCAxMTgsIDI4LCAxNiwgMjQ1LCAxNTEsIDIyNSwgMTE4LCAyOCwgMTYsIDM4LCAyNTUsIDIzLCAyOCwgMTYsIDM4LCAKLSAgICAyMTgsIDE2NywgMjgsIDE2LCAzOCwgMjE2LCAyMzksIDI4LCAxNiwgMzgsIDIxOCwgMTY4LCAyOCwgMTYsIDM4LCAyMzEsIAotICAgIDE2NywgMjgsIDE2LCAzOCwgMjMxLCAxNjYsIDI4LCAxNiwgMzgsIDI1NSwgMjIsIDI4LCAxNiwgMzgsIDIzMiwgMTE4LCAyOCwgCi0gICAgMTYsIDI1NCwgNiwgMjE0LCAxNjMsIDI4LCAxNiwgMjU0LCA2LCAyNDYsIDExNCwgMjgsIDE2LCAzOCwgMjQ3LCAxNDMsIDI4LCAKLSAgICAxNiwgMzgsIDIyMiwgMjM0LCAyOCwgMTYsIDM4LCAyNDQsIDY2LCAyOCwgMTYsIDM4LCAyMTksIDc4LCAyOCwgMTYsIDM4LCAKLSAgICAyNTIsIDQ2LCAyOCwgMTYsIDM4LCA1MiwgMjE2LCAyMCwgMjgsIDE2LCAzOCwgMjE1LCAyMTIsIDIxNiwgMjAsIDI4LCAxNiwgCi0gICAgMjIyLCAyMzgsIDI4LCAxNiwgMjE4LCA3NiwgMjgsIDE2LCAyMTAsIDE1OSwgMjgsIDE2LCAyMjUsIDExMCwgMjgsIDE2LCAKLSAgICAyMzEsIDMwLCAyOCwgMTYsIDI0NCwgMjUsIDI4LCAxNiwgMjQ5LCAxNDYsIDI4LCAxNiwgMjQ4LCA4NiwgMjgsIDE2LCAyNDIsIAotICAgIDE1NywgMjI4LCA1MywgMjE5LCA5NywgMjgsIDE2LCAyNDIsIDE1NywgMjI4LCA1MywgMjI4LCA4MCwgMjE5LCA5NywgMjgsIAotICAgIDE2LCAyMTYsIDEsIDI4LCAxNiwgMjE1LCA5NSwgMjgsIDE2LCAyMzUsIDIwMCwgMjE1LCA5NSwgMjgsIDE2LCAyMTUsIDk2LCAKLSAgICAyMTksIDk3LCAyOCwgMTYsIDIxNSwgOTYsIDIxNCwgMTYzLCAyOCwgMTYsIDIyNiwgMTUyLCAyMTgsIDEwNCwgMjgsIDE2LCAKLSAgICAyMjYsIDE1MiwgMjE4LCAxMDEsIDI4LCAxNiwgMjI2LCAxNTIsIDIxOCwgMTAwLCAyOCwgMTYsIDIyNiwgMTUyLCAyMTgsIAotICAgIDk5LCAyOCwgMTYsIDIyNiwgMTUyLCAyMTgsIDk4LCAyOCwgMTYsIDIyNiwgMTUyLCAyMTgsIDk3LCAyOCwgMTYsIDIyNiwgCi0gICAgMTUyLCAyMTgsIDk2LCAyOCwgMTYsIDIyNiwgMTUyLCAyMTgsIDk1LCAyOCwgMTYsIDIyNiwgMTUyLCAyMTgsIDk0LCAyOCwgCi0gICAgMTYsIDIyNiwgMTUyLCAyMTgsIDEwMywgMjgsIDE2LCAyMjYsIDE1MiwgMjE4LCAxMDIsIDI4LCAxNiwgMjQxLCAyNTIsIDI4LCAKLSAgICAxNiwgMjI5LCAxMTAsIDI4LCAxNiwgMjQ1LCAxNTEsIDY0LCAyMTgsIDEzNSwgMjgsIDE2LCAyNDgsIDc5LCAyMTksIDk3LCAKLSAgICAyOCwgMTYsIDM4LCAxMjQsIDI1MSwgMTc3LCAyOCwgMTYsIDM4LCAxMjAsIDI1MSwgMTc3LCAyOCwgMTYsIDM4LCAyNDIsIDcsIAotICAgIDI4LCAxNiwgMzgsIDIxOSwgNjksIDIyNSwgNDYsIDI4LCAxNiwgMjI1LCAyMTksIDc5LCAyOCwgMTYsIDIyNSwgMjE5LCAKLSAgICAxMjAsIDc5LCAyOCwgMTYsIDE2MywgMjI1LCAyMTksIDc5LCAyOCwgMTYsIDI0MiwgMTg5LCAyMTQsIDE2MywgMjgsIDE2LCAKLSAgICAyNDIsIDE4OSwgMjQ2LCAxMTQsIDI4LCAxNiwgMiwgMjQ0LCAxMDgsIDI4LCAxNiwgMjQ4LCAxODgsIDI4LCAxNiwgMjQ4LCAKLSAgICAxODksIDI1NCwgMTYzLCAyOCwgMTYsIDIzMSwgMTM4LCAyOCwgMTYsIDIzMiwgMTM1LCAyOCwgMTYsIDI1MSwgMTUxLCAyOCwgCi0gICAgMTYsIDIyMCwgMTU2LCAyMTEsIDI1MywgMjgsIDE2LCAyMjAsIDE1NiwgMjUxLCAyMjksIDI4LCAxNiwgMjMwLCAxODksIDI4LCAKLSAgICAxNiwgMjMwLCAxOTAsIDI1MSwgMjI5LCAyOCwgMTYsIDIyMCwgMTUwLCAyMTEsIDI1MywgMjgsIDE2LCAyMjAsIDE1MCwgCi0gICAgMjUxLCAyMjksIDI4LCAxNiwgMjQzLCAyMjcsIDIxMSwgMjUzLCAyOCwgMTYsIDI0MywgMjI3LCAyNTEsIDIyOSwgMjgsIDE2LCAKLSAgICAyMzIsIDEzNiwgMjI1LCAxODMsIDIyMywgNjQsIDI4LCAxNiwgMjMyLCAxMzYsIDIzNiwgMTEsIDIyMywgNjQsIDI4LCAxNiwgCi0gICAgMjUxLCAxNTIsIDIyMywgNjQsIDI4LCAxNiwgMjIwLCAxNTYsIDIyMywgNjQsIDI4LCAxNiwgMjMwLCAxOTAsIDIyMywgNjQsIAotICAgIDI4LCAxNiwgMjIwLCAxNTAsIDIyMywgNjQsIDI4LCAxNiwgMjE2LCAyNTAsIDIyNSwgMTgxLCAyNDksIDExNSwgMjI0LCAKLSAgICAxNzcsIDIyNSwgMTgyLCAyOCwgMTYsIDIxNiwgMjUwLCAyMjUsIDE4MSwgMjQ5LCAxMTUsIDIyNCwgMTc3LCAyMzYsIDEwLCAKLSAgICAyOCwgMTYsIDIxNiwgMjUwLCAyMjUsIDE4MSwgMjQ5LCAxMTUsIDIyNCwgMTc3LCAyMjUsIDE4MywgMjQ3LCAyMTksIDI4LCAKLSAgICAxNiwgMjE2LCAyNTAsIDIzNiwgOSwgMjQ5LCAxMTUsIDIyNCwgMTc3LCAyMjUsIDE4MiwgMjgsIDE2LCAyMTYsIDI1MCwgCi0gICAgMjM2LCA5LCAyNDksIDExNSwgMjI0LCAxNzcsIDIzNiwgMTAsIDI4LCAxNiwgMjE2LCAyNTAsIDIzNiwgOSwgMjQ5LCAxMTUsIAotICAgIDIyNCwgMTc3LCAyMzYsIDExLCAyNDcsIDIxOSwgMjgsIDE2LCAyMTYsIDI1MCwgMjM2LCA5LCAyNDksIDExNSwgMjI0LCAKLSAgICAxNzcsIDIzNiwgMTEsIDI0NywgMjE4LCAyOCwgMTYsIDIxNiwgMjUwLCAyMzYsIDksIDI0OSwgMTE1LCAyMjQsIDE3NywgCi0gICAgMjM2LCAxMSwgMjQ3LCAyMTcsIDI4LCAxNiwgMjQ5LCAxNDEsIDI4LCAxNiwgMjQyLCAxMzMsIDI1MSwgNzUsIDI1MCwgMjIsIAotICAgIDI4LCAxNiwgMjQyLCAxMzMsIDI0NSwgMTUsIDI1MCwgMjIsIDI4LCAxNiwgNDIsIDI1MywgMTY2LCAyOCwgMTYsIDIxMywgCi0gICAgMTUxLCAyOCwgMTYsIDIyNSwgMTcsIDI4LCAxNiwgMjUwLCAxMywgMjgsIDE2LCAyMjEsIDIwNSwgMjgsIDE2LCAyNTAsIDE3LCAKLSAgICAyOCwgMTYsIDIxNiwgOCwgMjgsIDE2LCAyMjQsIDI0NSwgMjgsIDE2LCAyMjQsIDI0NiwgMjQ0LCA2OCwgMjgsIDE2LCAyMjEsIAotICAgIDIwNiwgMjQ0LCA2OCwgMjgsIDE2LCAyMTYsIDksIDIyMywgNjEsIDI4LCAxNiwgMjI1LCAxNjYsIDIxOCwgNjcsIDI2LCAKLSAgICAyMTMsIDEzNywgMTg5LCAyMTcsIDIzMCwgMjYsIDIxMywgMTM3LCAxODksIDIxNywgMjE5LCAyNiwgMjEzLCAxMzcsIDE4OSwgCi0gICAgMjE3LCAyMDksIDI2LCAyMTMsIDEzNywgMTg5LCAyMTcsIDIwMiwgMjYsIDIxMywgMTM3LCAxODksIDIxNywgMTk0LCAyNiwgCi0gICAgMjEzLCAxMzcsIDE4OSwgMjE3LCAxODgsIDI2LCAyMTMsIDEzNywgMTg5LCAyMTcsIDE4NywgMjYsIDIxMywgMTM3LCAxODksIAotICAgIDIxNywgMTg2LCAyNiwgMjEzLCAxMzcsIDE4OSwgMjE3LCAxODUsIDI2LCAyMTMsIDEzNywgMTg5LCAyMTcsIDIyOSwgMjYsIAotICAgIDIxMywgMTM3LCAxODksIDIxNywgMjI4LCAyNiwgMjEzLCAxMzcsIDE4OSwgMjE3LCAyMjcsIDI2LCAyMTMsIDEzNywgMTg5LCAKLSAgICAyMTcsIDIyNiwgMjYsIDIxMywgMTM3LCAxODksIDIxNywgMjI1LCAyNiwgMjEzLCAxMzcsIDE4OSwgMjE3LCAyMjQsIDI2LCAKLSAgICAyMTMsIDEzNywgMTg5LCAyMTcsIDIyMywgMjYsIDIxMywgMTM3LCAxODksIDIxNywgMjIyLCAyNiwgMjEzLCAxMzcsIDE4OSwgCi0gICAgMjE3LCAyMjEsIDI2LCAyMTMsIDEzNywgMTg5LCAyMTcsIDIyMCwgMjYsIDIxMywgMTM3LCAxODksIDIxNywgMjE4LCAyNiwgCi0gICAgMjEzLCAxMzcsIDE4OSwgMjE3LCAyMTcsIDI2LCAyMTMsIDEzNywgMTg5LCAyMTcsIDIxNiwgMjYsIDIxMywgMTM3LCAxODksIAotICAgIDIxNywgMjE1LCAyNiwgMjEzLCAxMzcsIDE4OSwgMjE3LCAyMTQsIDI2LCAyMTMsIDEzNywgMTg5LCAyMTcsIDE5MywgMjYsIAotICAgIDIxMywgMTM3LCAxODksIDIxNywgMTkyLCAyNiwgMjEzLCAxMzcsIDE4OSwgMjE3LCAxOTEsIDI2LCAyMTMsIDEzNywgMTg5LCAKLSAgICAyMTcsIDE5MCwgMjYsIDIxMywgMTM3LCAxODksIDIxNywgMTg5LCAyNiwgMjM1LCAyMjEsIDE4OSwgMjE3LCAyMzAsIDI2LCAKLSAgICAyMzUsIDIyMSwgMTg5LCAyMTcsIDIxOSwgMjYsIDIzNSwgMjIxLCAxODksIDIxNywgMjAyLCAyNiwgMjM1LCAyMjEsIDE4OSwgCi0gICAgMjE3LCAxOTQsIDI2LCAyMzUsIDIyMSwgMTg5LCAyMTcsIDE4NywgMjYsIDIzNSwgMjIxLCAxODksIDIxNywgMTg2LCAyNiwgCi0gICAgMjM1LCAyMjEsIDE4OSwgMjE3LCAyMjgsIDI2LCAyMzUsIDIyMSwgMTg5LCAyMTcsIDIyNywgMjYsIDIzNSwgMjIxLCAxODksIAotICAgIDIxNywgMjI2LCAyNiwgMjM1LCAyMjEsIDE4OSwgMjE3LCAyMjUsIDI2LCAyMzUsIDIyMSwgMTg5LCAyMTcsIDIyMiwgMjYsIAotICAgIDIzNSwgMjIxLCAxODksIDIxNywgMjIxLCAyNiwgMjM1LCAyMjEsIDE4OSwgMjE3LCAyMjAsIDI2LCAyMzUsIDIyMSwgMTg5LCAKLSAgICAyMTcsIDIxNSwgMjYsIDIzNSwgMjIxLCAxODksIDIxNywgMjE0LCAyNiwgMjM1LCAyMjEsIDE4OSwgMjE3LCAyMTMsIDI2LCAKLSAgICAyMzUsIDIyMSwgMTg5LCAyMTcsIDIxMiwgMjYsIDIzNSwgMjIxLCAxODksIDIxNywgMjExLCAyNiwgMjM1LCAyMjEsIDE4OSwgCi0gICAgMjE3LCAyMTAsIDI2LCAyMzUsIDIyMSwgMTg5LCAyMTcsIDIwOCwgMjYsIDIzNSwgMjIxLCAxODksIDIxNywgMjA3LCAyNiwgCi0gICAgMjM1LCAyMjEsIDE4OSwgMjE3LCAyMDYsIDI2LCAyMzUsIDIyMSwgMTg5LCAyMTcsIDIwNSwgMjYsIDIzNSwgMjIxLCAxODksIAotICAgIDIxNywgMjA0LCAyNiwgMjM1LCAyMjEsIDE4OSwgMjE3LCAyMDMsIDI2LCAyMzUsIDIyMSwgMTg5LCAyMTcsIDIwMSwgMjYsIAotICAgIDIzNSwgMjIxLCAxODksIDIxNywgMjAwLCAyNiwgMjM1LCAyMjEsIDE4OSwgMjE3LCAxOTksIDI2LCAyMzUsIDIyMSwgMTg5LCAKLSAgICAyMTcsIDE5OCwgMjYsIDIzNSwgMjIxLCAxODksIDIxNywgMTk3LCAyNiwgMjM1LCAyMjEsIDE4OSwgMjE3LCAxOTYsIDI2LCAKLSAgICAyMzUsIDIyMSwgMTg5LCAyMTcsIDE5NSwgMjYsIDIzNSwgMjIxLCAxODksIDIxNywgMTkzLCAyNiwgMjM1LCAyMjEsIDE4OSwgCi0gICAgMjE3LCAxOTIsIDI2LCAyMzUsIDIyMSwgMTg5LCAyMTcsIDE5MSwgMjYsIDIzNSwgMjIxLCAxODksIDIxNywgMTkwLCAyNiwgCi0gICAgMjM1LCAyMjEsIDE4OSwgMjE3LCAxODksIDM4LCAyNiwgMjgsIDIxNSwgMjA5LCAzOCwgMjYsIDI4LCAyMTYsIDIyNCwgMzgsIAotICAgIDI2LCAyOCwgMjI1LCAxOTEsIDI2LCAyOCwgMjMzLCAzNywgMjMwLCAxNDcsIDMxLCAyNDUsIDIzMSwgMjQ3LCAyMzIsIDMxLCAKLSAgICAyNDEsIDIyOSwgMjQ1LCAyMzEsIDI0NywgMjMyLCAzMSwgMjQwLCAyMjEsIDI0NSwgMjMxLCAyNDcsIDIzMiwgMzEsIDI0NSwgCi0gICAgMjMwLCAyNDEsIDIzMCwgMjQ3LCAyMzIsIDMxLCAyNDUsIDIzMCwgMjQwLCAyMjAsIDI0NywgMjMyLCAzMSwgMjQ1LCAyMzEsIAotICAgIDE4MCwgMzEsIDI1MCwgMTgyLCAxODAsIDMxLCAyNDMsIDIzNiwgMjUwLCA0MywgMTgwLCAzMSwgMjMwLCAxODIsIDE4MCwgCi0gICAgMzEsIDI1MiwgMTM4LCAxODAsIDMxLCAyMzQsIDE4NSwgMjE5LCA4MSwgMTgwLCAzMSwgMjQ5LCAxODcsIDE4MCwgMzEsIAotICAgIDI1MywgMjQxLCAxODAsIDMxLCAyMjYsIDE2NywgMTgwLCAzMSwgMjUxLCAxNjEsIDIyNiwgMTM0LCAxODAsIDMxLCAyNDgsIAotICAgIDgxLCAxNzcsIDI0NywgMTg3LCAxODAsIDMxLCAyNDcsIDE4NCwgMTgwLCAzMSwgMjEwLCAyMjIsIDE4MCwgMzEsIDIzNSwgCi0gICAgMjU0LCAxODAsIDMxLCAyMjUsIDIwMCwgMTgwLCAzMSwgMjIzLCAxMzAsIDE4MCwgMzEsIDI0OSwgMTk3LCAxODAsIDMxLCAKLSAgICAyNDEsIDY3LCAyNTIsIDE5MiwgMTgwLCAzMSwgMjEyLCA1OSwgMTgwLCAzMSwgMjQ0LCA0NywgMTgwLCAzMSwgMjU0LCAyNTUsIAotICAgIDE4MCwgMzEsIDIyMywgOTIsIDE4MCwgMzEsIDIyMywgNjgsIDE4MCwgMzEsIDI0NSwgMjI5LCAxODAsIDMxLCAyMzUsIDU5LCAKLSAgICAxODAsIDMxLCAyNDksIDE5MiwgMTgwLCAzMSwgMjQ1LCAxNTAsIDE4MCwgMzEsIDI0NiwgNjAsIDE4MCwgMzEsIDI1MCwgCi0gICAgMTUzLCAxODAsIDMxLCAyNDgsIDkwLCAxODAsIDMxLCAyMywgMjIzLCA2NywgMTgwLCAzMSwgMjI2LCA4NSwgMTgwLCAzMSwgCi0gICAgMjMzLCA0MCwgMTgwLCAzMSwgMjUwLCA2LCAxODAsIDMxLCAyMzQsIDgzLCAxODAsIDMxLCAyNDMsIDkzLCAxODAsIDMxLCAKLSAgICAyMTgsIDExNCwgMTgwLCAzMSwgMjI0LCAxMzMsIDE4MCwgMzEsIDI0MywgMjM1LCAxODAsIDMxLCAyMjMsIDY5LCAxODAsIAotICAgIDMxLCAyMzMsIDc3LCAxNzcsIDIzMCwgMTYyLCAxODAsIDMxLCAyMjMsIDY1LCAxODAsIDMxLCAyNDIsIDE3NSwgMjE2LCA0MywgCi0gICAgMjMxLCA4MSwgMTgwLCAzMSwgMjQ1LCAxNTIsIDE4MCwgMzEsIDIxOCwgMTI2LCAxODAsIDMxLCAyNDIsIDEzNSwgMTgwLCAKLSAgICAzMSwgMjQ1LCAxNDQsIDE4MCwgMzEsIDIyNSwgMjM5LCAxODAsIDMxLCAyMjIsIDIyOCwgMTgwLCAzMSwgMjQ0LCA2NywgCi0gICAgMTgwLCAzMSwgMjE0LCA4LCAxNzcsIDIxMiwgNDQsIDE4MCwgMzEsIDI0OSwgMjAxLCAxODAsIDMxLCAyMzEsIDk0LCAxODAsIAotICAgIDMxLCAyNDUsIDY5LCAxODAsIDMxLCAyMTQsIDE3MiwgMTgwLCAzMSwgMjQ3LCAyMjAsIDE4MCwgMzEsIDI1MCwgOCwgMjMwLCAKLSAgICAxMTUsIDE4MCwgMzEsIDI0MiwgMTEzLCAxODAsIDMxLCAyNDMsIDk0LCAyMzYsIDYsIDE4MCwgMzEsIDIzMSwgMTQ2LCAxODAsIAotICAgIDMxLCAyNTUsIDE5LCAxODAsIDMxLCAyNDUsIDE2NSwgMTgwLCAzMSwgMjQ2LCAxMTcsIDE4MCwgMzEsIDIxMiwgNDIsIDE4MCwgCi0gICAgMzEsIDIxOSwgMTUyLCAxODAsIDMxLCAyMzUsIDIyOSwgMTgwLCAzMSwgMjQ4LCA1MCwgMTgwLCAzMSwgMjQ4LCAxNjgsIAotICAgIDE4MCwgMzEsIDI0NywgMjE2LCAxODAsIDMxLCAyNDUsIDM3LCAxODAsIDMxLCAyMjAsIDExNywgMTgwLCAzMSwgMjE4LCAKLSAgICAxMzAsIDE4MCwgMzEsIDI0MiwgOSwgMTgwLCAzMSwgMjQ5LCAyMjAsIDE4MCwgMzEsIDI1MCwgMywgMTgwLCAzMSwgMjQ0LCAKLSAgICAxODUsIDE4MCwgMzEsIDI1NCwgMjIxLCAxODAsIDMxLCAyNDksIDIxOSwgMTgwLCAzMSwgMjI2LCAyMDEsIDIxNiwgMTk3LCAKLSAgICAyMTMsIDI0MiwgMTgwLCAzMSwgMjQ3LCAyNDAsIDE4MCwgMzEsIDIzMywgMTMwLCAxODAsIDMxLCAyNDQsIDIxLCAyNDksIAotICAgIDE1NywgMjIyLCAyMDQsIDIxNCwgMTc0LCAyMSwgMTExLCAyNDksIDE1NywgMjIyLCAyMDQsIDIxNCwgMTc0LCAyMSwgMTA1LCAKLSAgICAyNDksIDE1NywgMjIyLCAyMDQsIDIxNCwgMTc0LCAyMSwgMTU4LCAyNDksIDE1NywgMjIyLCAyMDQsIDIxNCwgMTc0LCAyMSwgCi0gICAgMTYxLCAyNDksIDE1NywgMjIyLCAyMDQsIDIxNCwgMTc0LCAyMSwgMTkwLCAyNDksIDE1NywgMjIyLCAyMDQsIDIxNCwgMTc0LCAKLSAgICAyMSwgMTk1LCAyNDksIDE1NywgMjIyLCAyMDQsIDIxNCwgMTc0LCAyMSwgMTk5LCAyNDksIDE1NywgMjIyLCAyMDQsIDIxNCwgCi0gICAgMTc0LCAyMSwgMTk2LCAyNDksIDE1NywgMjIyLCAyMDQsIDIxNCwgMTc0LCAyMSwgMjAxLCAyNDksIDE1NywgMjIyLCAyMDQsIAotICAgIDIxNiwgMjQ0LCAyMSwgMTExLCAyNDksIDE1NywgMjIyLCAyMDQsIDIxNiwgMjQ0LCAyMSwgMTA1LCAyNDksIDE1NywgMjIyLCAKLSAgICAyMDQsIDIxNiwgMjQ0LCAyMSwgMTU4LCAyNDksIDE1NywgMjIyLCAyMDQsIDIxNiwgMjQ0LCAyMSwgMTYxLCAyNDksIDE1NywgCi0gICAgMjIyLCAyMDQsIDIxNiwgMjQ0LCAyMSwgMTkwLCAyNDksIDE1NywgMjIyLCAyMDQsIDIxNiwgMjQ0LCAyMSwgMTk1LCAyNDksIAotICAgIDE1NywgMjIyLCAyMDQsIDIxNiwgMjQ0LCAyMSwgMTk5LCAyNDksIDE1NywgMjIyLCAyMDQsIDIxNiwgMjQ0LCAyMSwgMTk2LCAKLSAgICAyNDksIDE1NywgMjIyLCAyMDQsIDIxNiwgMjQ0LCAyMSwgMjAxLCAxMSwgMjMsIDYsIDYxLCAxMSwgMjMsIDYsIDI1MywgCi0gICAgMTY2LCAxMSwgMjMsIDYsIDI1MSwgNzQsIDExLCAyMywgNiwgMjQ5LCA2OCwgMTEsIDIzLCA2LCA3NiwgMTEsIDIzLCA2LCAKLSAgICAyNDUsIDE0LCAxMSwgMjMsIDYsIDI0MywgMjA5LCAxMSwgMjMsIDYsIDI0MiwgNjcsIDExLCAyMywgNiwgNzQsIDExLCAyMywgCi0gICAgNiwgMjM1LCAxNTAsIDExLCAyMywgNiwgMjM1LCAyOSwgMTEsIDIzLCA2LCAxNTYsIDExLCAyMywgNiwgMTk0LCAxMSwgMjMsIAotICAgIDYsIDIzMCwgMzAsIDExLCAyMywgNiwgNzgsIDExLCAyMywgNiwgMjI2LCAxMDksIDExLCAyMywgNiwgMjI0LCA5OSwgMTEsIAotICAgIDIzLCA2LCAxNTMsIDExLCAyMywgNiwgMjIyLCA5MywgMTEsIDIzLCA2LCAyMTcsIDE1MywgMTEsIDIzLCA2LCA2OSwgMTEsIAotICAgIDIzLCA2LCAyMTQsIDEwNSwgMTEsIDIzLCA2LCAyMTIsIDk4LCAxMSwgMjMsIDYsIDIxMSwgMTc4LCAxMSwgMjMsIDYsIDIxMSwgCi0gICAgMTE3LCAxMSwgMjMsIDYsIDIxMCwgMTU5LCAxMSwgMjMsIDQsIDYxLCAxMSwgMjMsIDQsIDI1MywgMTY2LCAxMSwgMjMsIDQsIAotICAgIDI1MSwgNzQsIDExLCAyMywgNCwgMjQ5LCA2OCwgMTEsIDIzLCA0LCA3NiwgMTEsIDIzLCA0LCAyNDUsIDE0LCAxMSwgMjMsIAotICAgIDQsIDI0MywgMjA5LCAxMSwgMjMsIDQsIDI0MiwgNjcsIDExLCAyMywgNCwgNzQsIDExLCAyMywgNCwgMjM1LCAxNTAsIDExLCAKLSAgICAyMywgNCwgMjM1LCAyOSwgMTEsIDIzLCA0LCAxNTYsIDExLCAyMywgNCwgMTk0LCAxMSwgMjMsIDQsIDIzMCwgMzAsIDExLCAKLSAgICAyMywgNCwgNzgsIDExLCAyMywgNCwgMjI2LCAxMDksIDExLCAyMywgNCwgMjI0LCA5OSwgMTEsIDIzLCA0LCAxNTMsIDExLCAKLSAgICAyMywgNCwgMjIyLCA5MywgMTEsIDIzLCA0LCAyMTcsIDE1MywgMTEsIDIzLCA0LCA2OSwgMTEsIDIzLCA0LCAyMTQsIDEwNSwgCi0gICAgMTEsIDIzLCA0LCAyMTIsIDk4LCAxMSwgMjMsIDQsIDIxMSwgMTc4LCAxMSwgMjMsIDQsIDIxMSwgMTE3LCAxMSwgMjMsIDQsIAotICAgIDIxMCwgMTU5LCAxMSwgMzIsIDYsIDYxLCAxMSwgMzIsIDYsIDI1MywgMTY2LCAxMSwgMzIsIDYsIDI1MSwgNzQsIDExLCAzMiwgCi0gICAgNiwgMjQ5LCA2OCwgMTEsIDMyLCA2LCA3NiwgMTEsIDMyLCA2LCAyNDUsIDE0LCAxMSwgMzIsIDYsIDI0MywgMjA5LCAxMSwgCi0gICAgMzIsIDYsIDI0MiwgNjcsIDExLCAzMiwgNiwgNzQsIDExLCAzMiwgNiwgMjM1LCAxNTAsIDExLCAzMiwgNiwgMjM1LCAyOSwgCi0gICAgMTEsIDMyLCA2LCAxNTYsIDExLCAzMiwgNiwgMTk0LCAxMSwgMzIsIDYsIDIzMCwgMzAsIDExLCAzMiwgNiwgNzgsIDExLCAKLSAgICAzMiwgNiwgMjI2LCAxMDksIDExLCAzMiwgNiwgMjI0LCA5OSwgMTEsIDMyLCA2LCAxNTMsIDExLCAzMiwgNiwgMjIyLCA5MywgCi0gICAgMTEsIDMyLCA2LCAyMTcsIDE1MywgMTEsIDMyLCA2LCA2OSwgMTEsIDMyLCA2LCAyMTQsIDEwNSwgMTEsIDMyLCA2LCAyMTIsIAotICAgIDk4LCAxMSwgMzIsIDYsIDIxMSwgMTc4LCAxMSwgMzIsIDYsIDIxMSwgMTE3LCAxMSwgMzIsIDYsIDIxMCwgMTU5LCAxMSwgCi0gICAgMzIsIDQsIDYxLCAxMSwgMzIsIDQsIDI1MywgMTY2LCAxMSwgMzIsIDQsIDI1MSwgNzQsIDExLCAzMiwgNCwgMjQ5LCA2OCwgCi0gICAgMTEsIDMyLCA0LCA3NiwgMTEsIDMyLCA0LCAyNDUsIDE0LCAxMSwgMzIsIDQsIDI0MywgMjA5LCAxMSwgMzIsIDQsIDc0LCAKLSAgICAxMSwgMzIsIDQsIDIzNSwgMTUwLCAxMSwgMzIsIDQsIDIzNSwgMjksIDExLCAzMiwgNCwgMTU2LCAxMSwgMzIsIDQsIDE5NCwgCi0gICAgMTEsIDMyLCA0LCAyMzAsIDMwLCAxMSwgMzIsIDQsIDc4LCAxMSwgMzIsIDQsIDIyNiwgMTA5LCAxMSwgMzIsIDQsIDIyNCwgCi0gICAgOTksIDExLCAzMiwgNCwgMTUzLCAxMSwgMzIsIDQsIDIyMiwgOTMsIDExLCAzMiwgNCwgMjE3LCAxNTMsIDExLCAzMiwgNCwgCi0gICAgNjksIDExLCAzMiwgNCwgMjE0LCAxMDUsIDExLCAzMiwgNCwgMjEyLCA5OCwgMTEsIDMyLCA0LCAyMTEsIDE3OCwgMTEsIDMyLCAKLSAgICA0LCAyMTEsIDExNywgMTEsIDMyLCA0LCAyMTAsIDE1OSwgMTEsIDIzLCAzMiwgNiwgNjEsIDExLCAyMywgMzIsIDYsIDI1MywgCi0gICAgMTY2LCAxMSwgMjMsIDMyLCA2LCAyNTEsIDc0LCAxMSwgMjMsIDMyLCA2LCAyNDksIDY4LCAxMSwgMjMsIDMyLCA2LCA3NiwgCi0gICAgMTEsIDIzLCAzMiwgNiwgMjQ1LCAxNCwgMTEsIDIzLCAzMiwgNiwgMjQzLCAyMDksIDExLCAyMywgMzIsIDYsIDI0MiwgNjcsIAotICAgIDExLCAyMywgMzIsIDYsIDc0LCAxMSwgMjMsIDMyLCA2LCAyMzUsIDE1MCwgMTEsIDIzLCAzMiwgNiwgMjM1LCAyOSwgMTEsIAotICAgIDIzLCAzMiwgNiwgMTU2LCAxMSwgMjMsIDMyLCA2LCAxOTQsIDExLCAyMywgMzIsIDYsIDIzMCwgMzAsIDExLCAyMywgMzIsIAotICAgIDYsIDc4LCAxMSwgMjMsIDMyLCA2LCAyMjYsIDEwOSwgMTEsIDIzLCAzMiwgNiwgMjI0LCA5OSwgMTEsIDIzLCAzMiwgNiwgCi0gICAgMTUzLCAxMSwgMjMsIDMyLCA2LCAyMjIsIDkzLCAxMSwgMjMsIDMyLCA2LCAyMTcsIDE1MywgMTEsIDIzLCAzMiwgNiwgNjksIAotICAgIDExLCAyMywgMzIsIDYsIDIxNCwgMTA1LCAxMSwgMjMsIDMyLCA2LCAyMTIsIDk4LCAxMSwgMjMsIDMyLCA2LCAyMTEsIDE3OCwgCi0gICAgMTEsIDIzLCAzMiwgNiwgMjExLCAxMTcsIDExLCAyMywgMzIsIDYsIDIxMCwgMTU5LCAxMSwgMjMsIDMyLCA0LCA2MSwgMTEsIAotICAgIDIzLCAzMiwgNCwgMjUzLCAxNjYsIDExLCAyMywgMzIsIDQsIDI1MSwgNzQsIDExLCAyMywgMzIsIDQsIDI0OSwgNjgsIDExLCAKLSAgICAyMywgMzIsIDQsIDc2LCAxMSwgMjMsIDMyLCA0LCAyNDUsIDE0LCAxMSwgMjMsIDMyLCA0LCAyNDMsIDIwOSwgMTEsIDIzLCAKLSAgICAzMiwgNCwgMjQyLCA2NywgMTEsIDIzLCAzMiwgNCwgNzQsIDExLCAyMywgMzIsIDQsIDIzNSwgMTUwLCAxMSwgMjMsIDMyLCAKLSAgICA0LCAyMzUsIDI5LCAxMSwgMjMsIDMyLCA0LCAxNTYsIDExLCAyMywgMzIsIDQsIDE5NCwgMTEsIDIzLCAzMiwgNCwgMjMwLCAKLSAgICAzMCwgMTEsIDIzLCAzMiwgNCwgNzgsIDExLCAyMywgMzIsIDQsIDIyNiwgMTA5LCAxMSwgMjMsIDMyLCA0LCAyMjQsIDk5LCAKLSAgICAxMSwgMjMsIDMyLCA0LCAxNTMsIDExLCAyMywgMzIsIDQsIDIyMiwgOTMsIDExLCAyMywgMzIsIDQsIDIxNywgMTUzLCAxMSwgCi0gICAgMjMsIDMyLCA0LCA2OSwgMTEsIDIzLCAzMiwgNCwgMjE0LCAxMDUsIDExLCAyMywgMzIsIDQsIDIxMiwgOTgsIDExLCAyMywgCi0gICAgMzIsIDQsIDIxMSwgMTc4LCAxMSwgMjMsIDMyLCA0LCAyMTEsIDExNywgMTEsIDIzLCAzMiwgNCwgMjEwLCAxNTksIDExLCAKLSAgICAxMTksIDYsIDYxLCAxMSwgMTE5LCA2LCAyNTEsIDc0LCAxMSwgMTE5LCA2LCAyNDksIDY4LCAxMSwgMTE5LCA2LCAyNDMsIAotICAgIDIwOSwgMTEsIDExOSwgNiwgMjM1LCAxNTAsIDExLCAxMTksIDYsIDIzNSwgMjksIDExLCAxMTksIDYsIDIzMCwgMzAsIDExLCAKLSAgICAxMTksIDYsIDc4LCAxMSwgMTE5LCA2LCAyMjYsIDEwOSwgMTEsIDExOSwgNiwgMjI0LCA5OSwgMTEsIDExOSwgNiwgMjIyLCAKLSAgICA5MywgMTEsIDExOSwgNiwgMjE3LCAxNTMsIDExLCAxMTksIDYsIDY5LCAxMSwgMTE5LCA2LCAyMTQsIDEwNSwgMTEsIDExOSwgCi0gICAgNiwgMjEyLCA5OCwgMTEsIDExOSwgNiwgMjExLCAxNzgsIDExLCAxMTksIDYsIDIxMSwgMTE3LCAxMSwgMTE5LCA2LCAyMTAsIAotICAgIDE1OSwgMTEsIDExOSwgNCwgNjEsIDExLCAxMTksIDQsIDI1MywgMTY2LCAxMSwgMTE5LCA0LCAyNTEsIDc0LCAxMSwgMTE5LCAKLSAgICA0LCAyNDksIDY4LCAxMSwgMTE5LCA0LCAyNDUsIDE0LCAxMSwgMTE5LCA0LCAyNDIsIDY3LCAxMSwgMTE5LCA0LCA3NCwgMTEsIAotICAgIDExOSwgNCwgMjM1LCAxNTAsIDExLCAxMTksIDQsIDIzNSwgMjksIDExLCAxMTksIDQsIDE1NiwgMTEsIDExOSwgNCwgMTk0LCAKLSAgICAxMSwgMTE5LCA0LCAyMzAsIDMwLCAxMSwgMTE5LCA0LCAyMjYsIDEwOSwgMTEsIDExOSwgNCwgMjI0LCA5OSwgMTEsIDExOSwgCi0gICAgNCwgMTUzLCAxMSwgMTE5LCA0LCAyMjIsIDkzLCAxMSwgMTE5LCA0LCAyMTcsIDE1MywgMTEsIDExOSwgNCwgNjksIDExLCAKLSAgICAxMTksIDQsIDIxNCwgMTA1LCAxMSwgMTE5LCA0LCAyMTIsIDk4LCAxMSwgMTE5LCA0LCAyMTEsIDE3OCwgMTEsIDExOSwgNCwgCi0gICAgMjExLCAxMTcsIDExLCAxMTksIDQsIDIxMCwgMTU5LCAxMSwgMjMsIDExOSwgNiwgNjEsIDExLCAyMywgMTE5LCA2LCAyNTMsIAotICAgIDE2NiwgMTEsIDIzLCAxMTksIDYsIDI1MSwgNzQsIDExLCAyMywgMTE5LCA2LCAyNDksIDY4LCAxMSwgMjMsIDExOSwgNiwgCi0gICAgNzYsIDExLCAyMywgMTE5LCA2LCAyNDUsIDE0LCAxMSwgMjMsIDExOSwgNiwgMjQzLCAyMDksIDExLCAyMywgMTE5LCA2LCAKLSAgICAyNDIsIDY3LCAxMSwgMjMsIDExOSwgNiwgNzQsIDExLCAyMywgMTE5LCA2LCAyMzUsIDE1MCwgMTEsIDIzLCAxMTksIDYsIAotICAgIDIzNSwgMjksIDExLCAyMywgMTE5LCA2LCAxNTYsIDExLCAyMywgMTE5LCA2LCAxOTQsIDExLCAyMywgMTE5LCA2LCAyMzAsIAotICAgIDMwLCAxMSwgMjMsIDExOSwgNiwgNzgsIDExLCAyMywgMTE5LCA2LCAyMjYsIDEwOSwgMTEsIDIzLCAxMTksIDYsIDIyNCwgCi0gICAgOTksIDExLCAyMywgMTE5LCA2LCAxNTMsIDExLCAyMywgMTE5LCA2LCAyMjIsIDkzLCAxMSwgMjMsIDExOSwgNiwgMjE3LCAKLSAgICAxNTMsIDExLCAyMywgMTE5LCA2LCA2OSwgMTEsIDIzLCAxMTksIDYsIDIxNCwgMTA1LCAxMSwgMjMsIDExOSwgNiwgMjEyLCAKLSAgICA5OCwgMTEsIDIzLCAxMTksIDYsIDIxMSwgMTc4LCAxMSwgMjMsIDExOSwgNiwgMjExLCAxMTcsIDExLCAyMywgMTE5LCA2LCAKLSAgICAyMTAsIDE1OSwgMTEsIDIzLCAxMTksIDQsIDYxLCAxMSwgMjMsIDExOSwgNCwgMjUzLCAxNjYsIDExLCAyMywgMTE5LCA0LCAKLSAgICAyNTEsIDc0LCAxMSwgMjMsIDExOSwgNCwgMjQ5LCA2OCwgMTEsIDIzLCAxMTksIDQsIDc2LCAxMSwgMjMsIDExOSwgNCwgCi0gICAgMjQ1LCAxNCwgMTEsIDIzLCAxMTksIDQsIDI0MywgMjA5LCAxMSwgMjMsIDExOSwgNCwgMjQyLCA2NywgMTEsIDIzLCAxMTksIAotICAgIDQsIDc0LCAxMSwgMjMsIDExOSwgNCwgMjM1LCAxNTAsIDExLCAyMywgMTE5LCA0LCAyMzUsIDI5LCAxMSwgMjMsIDExOSwgNCwgCi0gICAgMTU2LCAxMSwgMjMsIDExOSwgNCwgMTk0LCAxMSwgMjMsIDExOSwgNCwgMjMwLCAzMCwgMTEsIDIzLCAxMTksIDQsIDc4LCAKLSAgICAxMSwgMjMsIDExOSwgNCwgMjI2LCAxMDksIDExLCAyMywgMTE5LCA0LCAyMjQsIDk5LCAxMSwgMjMsIDExOSwgNCwgMTUzLCAKLSAgICAxMSwgMjMsIDExOSwgNCwgMjIyLCA5MywgMTEsIDIzLCAxMTksIDQsIDIxNywgMTUzLCAxMSwgMjMsIDExOSwgNCwgNjksIAotICAgIDExLCAyMywgMTE5LCA0LCAyMTQsIDEwNSwgMTEsIDIzLCAxMTksIDQsIDIxMiwgOTgsIDExLCAyMywgMTE5LCA0LCAyMTEsIAotICAgIDE3OCwgMTEsIDIzLCAxMTksIDQsIDIxMSwgMTE3LCAxMSwgMjMsIDExOSwgNCwgMjEwLCAxNTksIDExLCAxMzMsIDYsIDYxLCAKLSAgICAxMSwgMTMzLCA2LCAyNTMsIDE2NiwgMTEsIDEzMywgNiwgMjQ5LCA2OCwgMTEsIDEzMywgNiwgNzYsIDExLCAxMzMsIDYsIAotICAgIDI0NSwgMTQsIDExLCAxMzMsIDYsIDI0MywgMjA5LCAxMSwgMTMzLCA2LCAyMzUsIDE1MCwgMTEsIDEzMywgNiwgMjM1LCAyOSwgCi0gICAgMTEsIDEzMywgNiwgMTU2LCAxMSwgMTMzLCA2LCAxOTQsIDExLCAxMzMsIDYsIDIzMCwgMzAsIDExLCAxMzMsIDYsIDc4LCAKLSAgICAxMSwgMTMzLCA2LCAyMjYsIDEwOSwgMTEsIDEzMywgNiwgMjI0LCA5OSwgMTEsIDEzMywgNiwgMjIyLCA5MywgMTEsIDEzMywgCi0gICAgNiwgMjE3LCAxNTMsIDExLCAxMzMsIDYsIDY5LCAxMSwgMTMzLCA2LCAyMTQsIDEwNSwgMTEsIDEzMywgNiwgMjEyLCA5OCwgCi0gICAgMTEsIDEzMywgNiwgMjExLCAxNzgsIDExLCAxMzMsIDYsIDIxMSwgMTE3LCAxMSwgMTMzLCA0LCA2MSwgMTEsIDEzMywgNCwgCi0gICAgMjUzLCAxNjYsIDExLCAxMzMsIDQsIDI1MSwgNzQsIDExLCAxMzMsIDQsIDI0OSwgNjgsIDExLCAxMzMsIDQsIDc2LCAxMSwgCi0gICAgMTMzLCA0LCAyNDUsIDE0LCAxMSwgMTMzLCA0LCAyNDMsIDIwOSwgMTEsIDEzMywgNCwgMjQyLCA2NywgMTEsIDEzMywgNCwgCi0gICAgNzQsIDExLCAxMzMsIDQsIDIzNSwgMTUwLCAxMSwgMTMzLCA0LCAyMzUsIDI5LCAxMSwgMTMzLCA0LCAxNTYsIDExLCAxMzMsIAotICAgIDQsIDE5NCwgMTEsIDEzMywgNCwgMjMwLCAzMCwgMTEsIDEzMywgNCwgNzgsIDExLCAxMzMsIDQsIDIyNiwgMTA5LCAxMSwgCi0gICAgMTMzLCA0LCAyMjQsIDk5LCAxMSwgMTMzLCA0LCAxNTMsIDExLCAxMzMsIDQsIDIyMiwgOTMsIDExLCAxMzMsIDQsIDIxNywgCi0gICAgMTUzLCAxMSwgMTMzLCA0LCA2OSwgMTEsIDEzMywgNCwgMjE0LCAxMDUsIDExLCAxMzMsIDQsIDIxMiwgOTgsIDExLCAxMzMsIAotICAgIDQsIDIxMSwgMTc4LCAxMSwgMTMzLCA0LCAyMTEsIDExNywgMTEsIDEzMywgNCwgMjEwLCAxNTksIDExLCAxMzksIDYsIDYxLCAKLSAgICAxMSwgMTM5LCA2LCAyNTMsIDE2NiwgMTEsIDEzOSwgNiwgMjQ5LCA2OCwgMTEsIDEzOSwgNiwgNzYsIDExLCAxMzksIDYsIAotICAgIDI0NSwgMTQsIDExLCAxMzksIDYsIDI0MywgMjA5LCAxMSwgMTM5LCA2LCA3NCwgMTEsIDEzOSwgNiwgMjM1LCAxNTAsIDExLCAKLSAgICAxMzksIDYsIDIzNSwgMjksIDExLCAxMzksIDYsIDE1NiwgMTEsIDEzOSwgNiwgMTk0LCAxMSwgMTM5LCA2LCA3OCwgMTEsIAotICAgIDEzOSwgNiwgMjIyLCA5MywgMTEsIDEzOSwgNiwgMjE3LCAxNTMsIDExLCAxMzksIDYsIDY5LCAxMSwgMTM5LCA2LCAyMTQsIAotICAgIDEwNSwgMTEsIDEzOSwgNiwgMjEyLCA5OCwgMTEsIDEzOSwgNiwgMjExLCAxNzgsIDExLCAxMzksIDYsIDIxMSwgMTE3LCAxMSwgCi0gICAgMTM5LCA0LCA2MSwgMTEsIDEzOSwgNCwgMjUzLCAxNjYsIDExLCAxMzksIDQsIDI1MSwgNzQsIDExLCAxMzksIDQsIDI0OSwgCi0gICAgNjgsIDExLCAxMzksIDQsIDc2LCAxMSwgMTM5LCA0LCAyNDUsIDE0LCAxMSwgMTM5LCA0LCAyNDMsIDIwOSwgMTEsIDEzOSwgCi0gICAgNCwgMjQyLCA2NywgMTEsIDEzOSwgNCwgNzQsIDExLCAxMzksIDQsIDIzNSwgMTUwLCAxMSwgMTM5LCA0LCAyMzUsIDI5LCAKLSAgICAxMSwgMTM5LCA0LCAxNTYsIDExLCAxMzksIDQsIDE5NCwgMTEsIDEzOSwgNCwgMjMwLCAzMCwgMTEsIDEzOSwgNCwgNzgsIAotICAgIDExLCAxMzksIDQsIDIyNiwgMTA5LCAxMSwgMTM5LCA0LCAyMjQsIDk5LCAxMSwgMTM5LCA0LCAxNTMsIDExLCAxMzksIDQsIAotICAgIDIyMiwgOTMsIDExLCAxMzksIDQsIDIxNywgMTUzLCAxMSwgMTM5LCA0LCA2OSwgMTEsIDEzOSwgNCwgMjE0LCAxMDUsIDExLCAKLSAgICAxMzksIDQsIDIxMiwgOTgsIDExLCAxMzksIDQsIDIxMSwgMTc4LCAxMSwgMTM5LCA0LCAyMTEsIDExNywgMTEsIDEzOSwgNCwgCi0gICAgMjEwLCAxNTksIDExLCAyMywgMTMzLCA2LCA2MSwgMTEsIDIzLCAxMzMsIDYsIDI1MywgMTY2LCAxMSwgMjMsIDEzMywgNiwgCi0gICAgMjUxLCA3NCwgMTEsIDIzLCAxMzMsIDYsIDI0OSwgNjgsIDExLCAyMywgMTMzLCA2LCA3NiwgMTEsIDIzLCAxMzMsIDYsIAotICAgIDI0NSwgMTQsIDExLCAyMywgMTMzLCA2LCAyNDMsIDIwOSwgMTEsIDIzLCAxMzMsIDYsIDI0MiwgNjcsIDExLCAyMywgMTMzLCAKLSAgICA2LCA3NCwgMTEsIDIzLCAxMzMsIDYsIDIzNSwgMTUwLCAxMSwgMjMsIDEzMywgNiwgMjM1LCAyOSwgMTEsIDIzLCAxMzMsIDYsIAotICAgIDE1NiwgMTEsIDIzLCAxMzMsIDYsIDE5NCwgMTEsIDIzLCAxMzMsIDYsIDIzMCwgMzAsIDExLCAyMywgMTMzLCA2LCA3OCwgCi0gICAgMTEsIDIzLCAxMzMsIDYsIDIyNiwgMTA5LCAxMSwgMjMsIDEzMywgNiwgMjI0LCA5OSwgMTEsIDIzLCAxMzMsIDYsIDE1MywgCi0gICAgMTEsIDIzLCAxMzMsIDYsIDIyMiwgOTMsIDExLCAyMywgMTMzLCA2LCAyMTcsIDE1MywgMTEsIDIzLCAxMzMsIDYsIDY5LCAKLSAgICAxMSwgMjMsIDEzMywgNiwgMjE0LCAxMDUsIDExLCAyMywgMTMzLCA2LCAyMTIsIDk4LCAxMSwgMjMsIDEzMywgNiwgMjExLCAKLSAgICAxNzgsIDExLCAyMywgMTMzLCA2LCAyMTEsIDExNywgMTEsIDIzLCAxMzMsIDYsIDIxMCwgMTU5LCAxMSwgMjMsIDEzMywgNCwgCi0gICAgNjEsIDExLCAyMywgMTMzLCA0LCAyNTMsIDE2NiwgMTEsIDIzLCAxMzMsIDQsIDI1MSwgNzQsIDExLCAyMywgMTMzLCA0LCAKLSAgICAyNDksIDY4LCAxMSwgMjMsIDEzMywgNCwgNzYsIDExLCAyMywgMTMzLCA0LCAyNDUsIDE0LCAxMSwgMjMsIDEzMywgNCwgCi0gICAgMjQzLCAyMDksIDExLCAyMywgMTMzLCA0LCAyNDIsIDY3LCAxMSwgMjMsIDEzMywgNCwgNzQsIDExLCAyMywgMTMzLCA0LCAKLSAgICAyMzUsIDE1MCwgMTEsIDIzLCAxMzMsIDQsIDIzNSwgMjksIDExLCAyMywgMTMzLCA0LCAxNTYsIDExLCAyMywgMTMzLCA0LCAKLSAgICAxOTQsIDExLCAyMywgMTMzLCA0LCAyMzAsIDMwLCAxMSwgMjMsIDEzMywgNCwgNzgsIDExLCAyMywgMTMzLCA0LCAyMjYsIAotICAgIDEwOSwgMTEsIDIzLCAxMzMsIDQsIDIyNCwgOTksIDExLCAyMywgMTMzLCA0LCAxNTMsIDExLCAyMywgMTMzLCA0LCAyMjIsIAotICAgIDkzLCAxMSwgMjMsIDEzMywgNCwgMjE3LCAxNTMsIDExLCAyMywgMTMzLCA0LCA2OSwgMTEsIDIzLCAxMzMsIDQsIDIxNCwgCi0gICAgMTA1LCAxMSwgMjMsIDEzMywgNCwgMjEyLCA5OCwgMTEsIDIzLCAxMzMsIDQsIDIxMSwgMTc4LCAxMSwgMjMsIDEzMywgNCwgCi0gICAgMjExLCAxMTcsIDExLCAyMywgMTMzLCA0LCAyMTAsIDE1OSwgMTEsIDM1LCA2LCA2MSwgMTEsIDM1LCA2LCAyNTMsIDE2NiwgCi0gICAgMTEsIDM1LCA2LCAyNTEsIDc0LCAxMSwgMzUsIDYsIDI0OSwgNjgsIDExLCAzNSwgNiwgNzYsIDExLCAzNSwgNiwgMjQ1LCAKLSAgICAxNCwgMTEsIDM1LCA2LCAyNDMsIDIwOSwgMTEsIDM1LCA2LCAyNDIsIDY3LCAxMSwgMzUsIDYsIDc0LCAxMSwgMzUsIDYsIAotICAgIDIzNSwgMTUwLCAxMSwgMzUsIDYsIDIzNSwgMjksIDExLCAzNSwgNiwgMTU2LCAxMSwgMzUsIDYsIDE5NCwgMTEsIDM1LCA2LCAKLSAgICAyMzAsIDMwLCAxMSwgMzUsIDYsIDc4LCAxMSwgMzUsIDYsIDIyNiwgMTA5LCAxMSwgMzUsIDYsIDIyNCwgOTksIDExLCAzNSwgCi0gICAgNiwgMTUzLCAxMSwgMzUsIDYsIDIyMiwgOTMsIDExLCAzNSwgNiwgMjE3LCAxNTMsIDExLCAzNSwgNiwgNjksIDExLCAzNSwgCi0gICAgNiwgMjE0LCAxMDUsIDExLCAzNSwgNiwgMjEyLCA5OCwgMTEsIDM1LCA2LCAyMTEsIDE3OCwgMTEsIDM1LCA2LCAyMTEsIAotICAgIDExNywgMTEsIDM1LCA2LCAyMTAsIDE1OSwgMTEsIDM1LCA0LCA2MSwgMTEsIDM1LCA0LCAyNTMsIDE2NiwgMTEsIDM1LCA0LCAKLSAgICAyNTEsIDc0LCAxMSwgMzUsIDQsIDI0OSwgNjgsIDExLCAzNSwgNCwgNzYsIDExLCAzNSwgNCwgMjQ1LCAxNCwgMTEsIDM1LCAKLSAgICA0LCAyNDMsIDIwOSwgMTEsIDM1LCA0LCAyNDIsIDY3LCAxMSwgMzUsIDQsIDc0LCAxMSwgMzUsIDQsIDIzNSwgMTUwLCAxMSwgCi0gICAgMzUsIDQsIDIzNSwgMjksIDExLCAzNSwgNCwgMTU2LCAxMSwgMzUsIDQsIDE5NCwgMTEsIDM1LCA0LCAyMzAsIDMwLCAxMSwgCi0gICAgMzUsIDQsIDc4LCAxMSwgMzUsIDQsIDIyNiwgMTA5LCAxMSwgMzUsIDQsIDIyNCwgOTksIDExLCAzNSwgNCwgMTUzLCAxMSwgCi0gICAgMzUsIDQsIDIyMiwgOTMsIDExLCAzNSwgNCwgMjE3LCAxNTMsIDExLCAzNSwgNCwgNjksIDExLCAzNSwgNCwgMjE0LCAxMDUsIAotICAgIDExLCAzNSwgNCwgMjEyLCA5OCwgMTEsIDM1LCA0LCAyMTEsIDE3OCwgMTEsIDM1LCA0LCAyMTEsIDExNywgMTEsIDM1LCA0LCAKLSAgICAyMTAsIDE1OSwgMTEsIDM1LCAyMywgNiwgNjEsIDExLCAzNSwgMjMsIDYsIDI1MywgMTY2LCAxMSwgMzUsIDIzLCA2LCAyNTEsIAotICAgIDc0LCAxMSwgMzUsIDIzLCA2LCAyNDksIDY4LCAxMSwgMzUsIDIzLCA2LCA3NiwgMTEsIDM1LCAyMywgNiwgMjQ1LCAxNCwgCi0gICAgMTEsIDM1LCAyMywgNiwgMjQzLCAyMDksIDExLCAzNSwgMjMsIDYsIDI0MiwgNjcsIDExLCAzNSwgMjMsIDYsIDc0LCAxMSwgCi0gICAgMzUsIDIzLCA2LCAyMzUsIDE1MCwgMTEsIDM1LCAyMywgNiwgMjM1LCAyOSwgMTEsIDM1LCAyMywgNiwgMTU2LCAxMSwgMzUsIAotICAgIDIzLCA2LCAxOTQsIDExLCAzNSwgMjMsIDYsIDIzMCwgMzAsIDExLCAzNSwgMjMsIDYsIDc4LCAxMSwgMzUsIDIzLCA2LCAKLSAgICAyMjYsIDEwOSwgMTEsIDM1LCAyMywgNiwgMjI0LCA5OSwgMTEsIDM1LCAyMywgNiwgMTUzLCAxMSwgMzUsIDIzLCA2LCAyMjIsIAotICAgIDkzLCAxMSwgMzUsIDIzLCA2LCAyMTcsIDE1MywgMTEsIDM1LCAyMywgNiwgNjksIDExLCAzNSwgMjMsIDYsIDIxNCwgMTA1LCAKLSAgICAxMSwgMzUsIDIzLCA2LCAyMTIsIDk4LCAxMSwgMzUsIDIzLCA2LCAyMTEsIDE3OCwgMTEsIDM1LCAyMywgNiwgMjExLCAxMTcsIAotICAgIDExLCAzNSwgMjMsIDYsIDIxMCwgMTU5LCAxMSwgMzUsIDIzLCA0LCA2MSwgMTEsIDM1LCAyMywgNCwgMjUzLCAxNjYsIDExLCAKLSAgICAzNSwgMjMsIDQsIDI1MSwgNzQsIDExLCAzNSwgMjMsIDQsIDI0OSwgNjgsIDExLCAzNSwgMjMsIDQsIDc2LCAxMSwgMzUsIAotICAgIDIzLCA0LCAyNDUsIDE0LCAxMSwgMzUsIDIzLCA0LCAyNDMsIDIwOSwgMTEsIDM1LCAyMywgNCwgMjQyLCA2NywgMTEsIDM1LCAKLSAgICAyMywgNCwgNzQsIDExLCAzNSwgMjMsIDQsIDIzNSwgMTUwLCAxMSwgMzUsIDIzLCA0LCAyMzUsIDI5LCAxMSwgMzUsIDIzLCAKLSAgICA0LCAxNTYsIDExLCAzNSwgMjMsIDQsIDE5NCwgMTEsIDM1LCAyMywgNCwgMjMwLCAzMCwgMTEsIDM1LCAyMywgNCwgNzgsIAotICAgIDExLCAzNSwgMjMsIDQsIDIyNiwgMTA5LCAxMSwgMzUsIDIzLCA0LCAyMjQsIDk5LCAxMSwgMzUsIDIzLCA0LCAxNTMsIDExLCAKLSAgICAzNSwgMjMsIDQsIDIyMiwgOTMsIDExLCAzNSwgMjMsIDQsIDIxNywgMTUzLCAxMSwgMzUsIDIzLCA0LCA2OSwgMTEsIDM1LCAKLSAgICAyMywgNCwgMjE0LCAxMDUsIDExLCAzNSwgMjMsIDQsIDIxMiwgOTgsIDExLCAzNSwgMjMsIDQsIDIxMSwgMTc4LCAxMSwgMzUsIAotICAgIDIzLCA0LCAyMTEsIDExNywgMTEsIDM1LCAyMywgNCwgMjEwLCAxNTksIDExLCAzNSwgMzIsIDYsIDYxLCAxMSwgMzUsIDMyLCAKLSAgICA2LCAyNTMsIDE2NiwgMTEsIDM1LCAzMiwgNiwgMjUxLCA3NCwgMTEsIDM1LCAzMiwgNiwgMjQ5LCA2OCwgMTEsIDM1LCAzMiwgCi0gICAgNiwgNzYsIDExLCAzNSwgMzIsIDYsIDI0NSwgMTQsIDExLCAzNSwgMzIsIDYsIDI0MywgMjA5LCAxMSwgMzUsIDMyLCA2LCAKLSAgICAyNDIsIDY3LCAxMSwgMzUsIDMyLCA2LCA3NCwgMTEsIDM1LCAzMiwgNiwgMjM1LCAxNTAsIDExLCAzNSwgMzIsIDYsIDIzNSwgCi0gICAgMjksIDExLCAzNSwgMzIsIDYsIDE1NiwgMTEsIDM1LCAzMiwgNiwgMTk0LCAxMSwgMzUsIDMyLCA2LCAyMzAsIDMwLCAxMSwgCi0gICAgMzUsIDMyLCA2LCA3OCwgMTEsIDM1LCAzMiwgNiwgMjI2LCAxMDksIDExLCAzNSwgMzIsIDYsIDIyNCwgOTksIDExLCAzNSwgCi0gICAgMzIsIDYsIDE1MywgMTEsIDM1LCAzMiwgNiwgMjIyLCA5MywgMTEsIDM1LCAzMiwgNiwgMjE3LCAxNTMsIDExLCAzNSwgMzIsIAotICAgIDYsIDY5LCAxMSwgMzUsIDMyLCA2LCAyMTQsIDEwNSwgMTEsIDM1LCAzMiwgNiwgMjEyLCA5OCwgMTEsIDM1LCAzMiwgNiwgCi0gICAgMjExLCAxNzgsIDExLCAzNSwgMzIsIDYsIDIxMSwgMTE3LCAxMSwgMzUsIDMyLCA2LCAyMTAsIDE1OSwgMTEsIDM1LCAzMiwgCi0gICAgNCwgNjEsIDExLCAzNSwgMzIsIDQsIDI1MywgMTY2LCAxMSwgMzUsIDMyLCA0LCAyNTEsIDc0LCAxMSwgMzUsIDMyLCA0LCAKLSAgICAyNDksIDY4LCAxMSwgMzUsIDMyLCA0LCA3NiwgMTEsIDM1LCAzMiwgNCwgMjQ1LCAxNCwgMTEsIDM1LCAzMiwgNCwgMjQzLCAKLSAgICAyMDksIDExLCAzNSwgMzIsIDQsIDI0MiwgNjcsIDExLCAzNSwgMzIsIDQsIDc0LCAxMSwgMzUsIDMyLCA0LCAyMzUsIDE1MCwgCi0gICAgMTEsIDM1LCAzMiwgNCwgMjM1LCAyOSwgMTEsIDM1LCAzMiwgNCwgMTU2LCAxMSwgMzUsIDMyLCA0LCAxOTQsIDExLCAzNSwgCi0gICAgMzIsIDQsIDIzMCwgMzAsIDExLCAzNSwgMzIsIDQsIDc4LCAxMSwgMzUsIDMyLCA0LCAyMjYsIDEwOSwgMTEsIDM1LCAzMiwgCi0gICAgNCwgMjI0LCA5OSwgMTEsIDM1LCAzMiwgNCwgMTUzLCAxMSwgMzUsIDMyLCA0LCAyMjIsIDkzLCAxMSwgMzUsIDMyLCA0LCAKLSAgICAyMTcsIDE1MywgMTEsIDM1LCAzMiwgNCwgNjksIDExLCAzNSwgMzIsIDQsIDIxNCwgMTA1LCAxMSwgMzUsIDMyLCA0LCAyMTIsIAotICAgIDk4LCAxMSwgMzUsIDMyLCA0LCAyMTEsIDE3OCwgMTEsIDM1LCAzMiwgNCwgMjExLCAxMTcsIDExLCAzNSwgMzIsIDQsIDIxMCwgCi0gICAgMTU5LCAxMSwgMzUsIDIzLCAzMiwgNiwgNjEsIDExLCAzNSwgMjMsIDMyLCA2LCAyNTMsIDE2NiwgMTEsIDM1LCAyMywgMzIsIAotICAgIDYsIDI1MSwgNzQsIDExLCAzNSwgMjMsIDMyLCA2LCAyNDksIDY4LCAxMSwgMzUsIDIzLCAzMiwgNiwgNzYsIDExLCAzNSwgCi0gICAgMjMsIDMyLCA2LCAyNDUsIDE0LCAxMSwgMzUsIDIzLCAzMiwgNiwgMjQzLCAyMDksIDExLCAzNSwgMjMsIDMyLCA2LCAyNDIsIAotICAgIDY3LCAxMSwgMzUsIDIzLCAzMiwgNiwgNzQsIDExLCAzNSwgMjMsIDMyLCA2LCAyMzUsIDE1MCwgMTEsIDM1LCAyMywgMzIsIAotICAgIDYsIDIzNSwgMjksIDExLCAzNSwgMjMsIDMyLCA2LCAxNTYsIDExLCAzNSwgMjMsIDMyLCA2LCAxOTQsIDExLCAzNSwgMjMsIAotICAgIDMyLCA2LCAyMzAsIDMwLCAxMSwgMzUsIDIzLCAzMiwgNiwgNzgsIDExLCAzNSwgMjMsIDMyLCA2LCAyMjYsIDEwOSwgMTEsIAotICAgIDM1LCAyMywgMzIsIDYsIDIyNCwgOTksIDExLCAzNSwgMjMsIDMyLCA2LCAxNTMsIDExLCAzNSwgMjMsIDMyLCA2LCAyMjIsIAotICAgIDkzLCAxMSwgMzUsIDIzLCAzMiwgNiwgMjE3LCAxNTMsIDExLCAzNSwgMjMsIDMyLCA2LCA2OSwgMTEsIDM1LCAyMywgMzIsIAotICAgIDYsIDIxNCwgMTA1LCAxMSwgMzUsIDIzLCAzMiwgNiwgMjEyLCA5OCwgMTEsIDM1LCAyMywgMzIsIDYsIDIxMSwgMTc4LCAxMSwgCi0gICAgMzUsIDIzLCAzMiwgNiwgMjExLCAxMTcsIDExLCAzNSwgMjMsIDMyLCA2LCAyMTAsIDE1OSwgMTEsIDM1LCAyMywgMzIsIDQsIAotICAgIDYxLCAxMSwgMzUsIDIzLCAzMiwgNCwgMjUzLCAxNjYsIDExLCAzNSwgMjMsIDMyLCA0LCAyNTEsIDc0LCAxMSwgMzUsIDIzLCAKLSAgICAzMiwgNCwgMjQ5LCA2OCwgMTEsIDM1LCAyMywgMzIsIDQsIDc2LCAxMSwgMzUsIDIzLCAzMiwgNCwgMjQ1LCAxNCwgMTEsIAotICAgIDM1LCAyMywgMzIsIDQsIDI0MywgMjA5LCAxMSwgMzUsIDIzLCAzMiwgNCwgMjQyLCA2NywgMTEsIDM1LCAyMywgMzIsIDQsIAotICAgIDc0LCAxMSwgMzUsIDIzLCAzMiwgNCwgMjM1LCAxNTAsIDExLCAzNSwgMjMsIDMyLCA0LCAyMzUsIDI5LCAxMSwgMzUsIDIzLCAKLSAgICAzMiwgNCwgMTU2LCAxMSwgMzUsIDIzLCAzMiwgNCwgMTk0LCAxMSwgMzUsIDIzLCAzMiwgNCwgMjMwLCAzMCwgMTEsIDM1LCAKLSAgICAyMywgMzIsIDQsIDc4LCAxMSwgMzUsIDIzLCAzMiwgNCwgMjI2LCAxMDksIDExLCAzNSwgMjMsIDMyLCA0LCAyMjQsIDk5LCAKLSAgICAxMSwgMzUsIDIzLCAzMiwgNCwgMTUzLCAxMSwgMzUsIDIzLCAzMiwgNCwgMjIyLCA5MywgMTEsIDM1LCAyMywgMzIsIDQsIAotICAgIDIxNywgMTUzLCAxMSwgMzUsIDIzLCAzMiwgNCwgNjksIDExLCAzNSwgMjMsIDMyLCA0LCAyMTQsIDEwNSwgMTEsIDM1LCAyMywgCi0gICAgMzIsIDQsIDIxMiwgOTgsIDExLCAzNSwgMjMsIDMyLCA0LCAyMTEsIDE3OCwgMTEsIDM1LCAyMywgMzIsIDQsIDIxMSwgMTE3LCAKLSAgICAxMSwgMzUsIDIzLCAzMiwgNCwgMjEwLCAxNTksIDExLCAyMzAsIDE0MywgNiwgNjEsIDExLCAyMzAsIDE0MywgNiwgMjUzLCAKLSAgICAxNjYsIDExLCAyMzAsIDE0MywgNiwgMjUxLCA3NCwgMTEsIDIzMCwgMTQzLCA2LCAyNDksIDY4LCAxMSwgMjMwLCAxNDMsIDYsIAotICAgIDc2LCAxMSwgMjMwLCAxNDMsIDYsIDI0NSwgMTQsIDExLCAyMzAsIDE0MywgNiwgMjQzLCAyMDksIDExLCAyMzAsIDE0MywgNiwgCi0gICAgMjQyLCA2NywgMTEsIDIzMCwgMTQzLCA2LCA3NCwgMTEsIDIzMCwgMTQzLCA2LCAyMzUsIDE1MCwgMTEsIDIzMCwgMTQzLCA2LCAKLSAgICAyMzUsIDI5LCAxMSwgMjMwLCAxNDMsIDYsIDE1NiwgMTEsIDIzMCwgMTQzLCA2LCAxOTQsIDExLCAyMzAsIDE0MywgNiwgCi0gICAgMjMwLCAzMCwgMTEsIDIzMCwgMTQzLCA2LCA3OCwgMTEsIDIzMCwgMTQzLCA2LCAyMjYsIDEwOSwgMTEsIDIzMCwgMTQzLCA2LCAKLSAgICAyMjQsIDk5LCAxMSwgMjMwLCAxNDMsIDYsIDE1MywgMTEsIDIzMCwgMTQzLCA2LCAyMjIsIDkzLCAxMSwgMjMwLCAxNDMsIDYsIAotICAgIDIxNywgMTUzLCAxMSwgMjMwLCAxNDMsIDYsIDY5LCAxMSwgMjMwLCAxNDMsIDYsIDIxNCwgMTA1LCAxMSwgMjMwLCAxNDMsIAotICAgIDYsIDIxMiwgOTgsIDExLCAyMzAsIDE0MywgNiwgMjExLCAxNzgsIDExLCAyMzAsIDE0MywgNiwgMjExLCAxMTcsIDExLCAKLSAgICAyMzAsIDE0MywgNiwgMjEwLCAxNTksIDExLCAyMzAsIDE0MywgNCwgNjEsIDExLCAyMzAsIDE0MywgNCwgMjUzLCAxNjYsIAotICAgIDExLCAyMzAsIDE0MywgNCwgMjUxLCA3NCwgMTEsIDIzMCwgMTQzLCA0LCAyNDksIDY4LCAxMSwgMjMwLCAxNDMsIDQsIDc2LCAKLSAgICAxMSwgMjMwLCAxNDMsIDQsIDI0NSwgMTQsIDExLCAyMzAsIDE0MywgNCwgMjQzLCAyMDksIDExLCAyMzAsIDE0MywgNCwgCi0gICAgMjQyLCA2NywgMTEsIDIzMCwgMTQzLCA0LCA3NCwgMTEsIDIzMCwgMTQzLCA0LCAyMzUsIDE1MCwgMTEsIDIzMCwgMTQzLCA0LCAKLSAgICAyMzUsIDI5LCAxMSwgMjMwLCAxNDMsIDQsIDE1NiwgMTEsIDIzMCwgMTQzLCA0LCAxOTQsIDExLCAyMzAsIDE0MywgNCwgCi0gICAgMjMwLCAzMCwgMTEsIDIzMCwgMTQzLCA0LCA3OCwgMTEsIDIzMCwgMTQzLCA0LCAyMjYsIDEwOSwgMTEsIDIzMCwgMTQzLCA0LCAKLSAgICAyMjQsIDk5LCAxMSwgMjMwLCAxNDMsIDQsIDE1MywgMTEsIDIzMCwgMTQzLCA0LCAyMjIsIDkzLCAxMSwgMjMwLCAxNDMsIDQsIAotICAgIDIxNywgMTUzLCAxMSwgMjMwLCAxNDMsIDQsIDY5LCAxMSwgMjMwLCAxNDMsIDQsIDIxNCwgMTA1LCAxMSwgMjMwLCAxNDMsIAotICAgIDQsIDIxMiwgOTgsIDExLCAyMzAsIDE0MywgNCwgMjExLCAxNzgsIDExLCAyMzAsIDE0MywgNCwgMjExLCAxMTcsIDExLCAKLSAgICAyMzAsIDE0MywgNCwgMjEwLCAxNTksIDExLCAzMiwgNCwgMjQ3LCAxMjcsIDc0LCAxMSwgMzIsIDQsIDI0NywgMTI3LCAyMzUsIAotICAgIDE1MCwgMTEsIDIzLCA2LCAyNTQsIDE1MSwgMTEsIDIzLCA2LCAyNTIsIDM0LCAxMSwgMjMsIDYsIDI0MywgMTE0LCAxMSwgCi0gICAgMjMsIDYsIDI0OCwgNjIsIDExLCAyMywgNiwgMjQ1LCAxMDgsIDExLCAyMywgNiwgMjEwLCA4NSwgMTEsIDIzLCA2LCAyNDUsIAotICAgIDcxLCAxMSwgMjMsIDYsIDIxNiwgMTgwLCAxMSwgMjMsIDYsIDIzNSwgMTkyLCAxMSwgMjMsIDYsIDIzNCwgMjI4LCAxMSwgCi0gICAgMjMsIDYsIDIzMywgMTA0LCAxMSwgMjMsIDYsIDIzMCwgMTA3LCAxMSwgMjMsIDYsIDIyNywgMjQyLCAxMSwgMjMsIDYsIAotICAgIDIxMSwgMTU3LCAxMSwgMjMsIDYsIDIyNiwgMjAzLCAxMSwgMjMsIDYsIDIyNSwgMTExLCAxMSwgMjMsIDYsIDIyMywgNDAsIAotICAgIDExLCAyMywgNiwgMjE2LCAxODEsIDg3LCAxMSwgMjMsIDYsIDIxOSwgMTc5LCAxMSwgMjMsIDYsIDIxNywgNDIsIDExLCAyMywgCi0gICAgNiwgMjE0LCAxNTcsIDExLCAyMywgNiwgMjI1LCAxMzYsIDExLCAyMywgNiwgMjUwLCAxMTgsIDExLCAyMywgNiwgMjI0LCAKLSAgICAxNjQsIDExLCAyMywgNiwgMjI2LCAyMDUsIDExLCAyMywgMjI5LCAyMjYsIDExLCAyMywgNCwgMjU0LCAxNTEsIDExLCAyMywgCi0gICAgNCwgMjUyLCAzNCwgMTEsIDIzLCA0LCAyNDMsIDExNCwgMTEsIDIzLCA0LCAyNDgsIDYyLCAxMSwgMjMsIDQsIDI0NSwgMTA4LCAKLSAgICAxMSwgMjMsIDQsIDIxMCwgODUsIDExLCAyMywgNCwgMjQ1LCA3MSwgMTEsIDIzLCA0LCAyMTYsIDE4MCwgMTEsIDIzLCA0LCAKLSAgICAyMzUsIDE5MiwgMTEsIDIzLCA0LCAyMzQsIDIyOCwgMTEsIDIzLCA0LCAyMzMsIDEwNCwgMTEsIDIzLCA0LCAyMzAsIDEwNywgCi0gICAgMTEsIDIzLCA0LCAyMjcsIDI0MiwgMTEsIDIzLCA0LCAyMTEsIDE1NywgMTEsIDIzLCA0LCAyMjYsIDIwMywgMTEsIDIzLCA0LCAKLSAgICAyMjUsIDExMSwgMTEsIDIzLCA0LCAyMjMsIDQwLCAxMSwgMjMsIDQsIDQwLCAyMTksIDE3OSwgMTEsIDIzLCA0LCAyMTksIAotICAgIDE3OSwgMTEsIDIzLCA0LCAyMTcsIDQyLCAxMSwgMjMsIDQsIDIxNCwgMTU3LCAxMSwgMjMsIDQsIDIyNSwgMTM2LCAxMSwgCi0gICAgMjMsIDQsIDI1MCwgMTE4LCAxMSwgMjMsIDQsIDIyNCwgMTY0LCAxMSwgMjMsIDQsIDIyNiwgMjA1LCAxMSwgMjMsIDIyNiwgCi0gICAgMSwgMjQ3LCAyNDEsIDExLCAyMywgMjQ1LCAxMDksIDg3LCAxMSwgMjMsIDIxNiwgMTgxLCA4NywgMTEsIDIzLCAyMzQsIAotICAgIDIyOSwgODcsIDExLCAyMywgMjI1LCAxMzcsIDg3LCAxMSwgMjMsIDIyMywgNDEsIDg3LCAxMSwgMjMsIDIyNSwgMTEyLCA4NywgCi0gICAgMTEsIDMyLCA2LCAyNTQsIDE1MSwgMTEsIDMyLCA2LCAyNTIsIDM0LCAxMSwgMzIsIDYsIDI0MywgMTE0LCAxMSwgMzIsIDYsIAotICAgIDI0OCwgNjIsIDExLCAzMiwgNiwgMjQ1LCAxMDgsIDExLCAzMiwgNiwgMjEwLCA4NSwgMTEsIDMyLCA2LCAyNDUsIDcxLCAxMSwgCi0gICAgMzIsIDYsIDIxNiwgMTgwLCAxMSwgMzIsIDYsIDIzNSwgMTkyLCAxMSwgMzIsIDYsIDIzNCwgMjI4LCAxMSwgMzIsIDYsIAotICAgIDIzMywgMTA0LCAxMSwgMzIsIDYsIDIzMCwgMTA3LCAxMSwgMzIsIDYsIDIyNywgMjQyLCAxMSwgMzIsIDYsIDIxMSwgMTU3LCAKLSAgICAxMSwgMzIsIDYsIDIyNiwgMjAzLCAxMSwgMzIsIDYsIDIyNSwgMTExLCAxMSwgMzIsIDYsIDIyMywgNDAsIDExLCAzMiwgNiwgCi0gICAgMjE2LCAxODEsIDg3LCAxMSwgMzIsIDYsIDIxOSwgMTc5LCAxMSwgMzIsIDYsIDIxNywgNDIsIDExLCAzMiwgNiwgMjE0LCAKLSAgICAxNTcsIDExLCAzMiwgNiwgMjI1LCAxMzYsIDExLCAzMiwgNiwgMjUwLCAxMTgsIDExLCAzMiwgNiwgMjI0LCAxNjQsIDExLCAKLSAgICAzMiwgNiwgMjI2LCAyMDUsIDExLCAzMiwgMjI5LCAyMjYsIDExLCAzMiwgNCwgMjU0LCAxNTEsIDExLCAzMiwgNCwgMjUyLCAKLSAgICAzNCwgMTEsIDMyLCA0LCAyNDMsIDExNCwgMTEsIDMyLCA0LCAyNDgsIDYyLCAxMSwgMzIsIDQsIDI0NSwgMTA4LCAxMSwgMzIsIAotICAgIDQsIDIxMCwgODUsIDExLCAzMiwgNCwgMjQ1LCA3MSwgMTEsIDMyLCA0LCAyMTYsIDE4MCwgMTEsIDMyLCA0LCAyMzUsIDE5MiwgCi0gICAgMTEsIDMyLCA0LCAyMzQsIDIyOCwgMTEsIDMyLCA0LCAyMzMsIDEwNCwgMTEsIDMyLCA0LCAyMzAsIDEwNywgMTEsIDMyLCA0LCAKLSAgICAyMjcsIDI0MiwgMTEsIDMyLCA0LCAyMTEsIDE1NywgMTEsIDMyLCA0LCAyMjYsIDIwMywgMTEsIDMyLCA0LCAyMjUsIDExMSwgCi0gICAgMTEsIDMyLCA0LCAyMjMsIDQwLCAxMSwgMzIsIDQsIDQwLCAyMTksIDE3OSwgMTEsIDMyLCA0LCAyMTksIDE3OSwgMTEsIDMyLCAKLSAgICA0LCAyMTcsIDQyLCAxMSwgMzIsIDQsIDIxNCwgMTU3LCAxMSwgMzIsIDQsIDIyNSwgMTM2LCAxMSwgMzIsIDQsIDI1MCwgCi0gICAgMTE4LCAxMSwgMzIsIDQsIDIyNCwgMTY0LCAxMSwgMzIsIDQsIDIyNiwgMjA1LCAxMSwgMzIsIDIyNiwgMSwgMjQ3LCAyNDEsIAotICAgIDExLCAzMiwgMjQ1LCAxMDksIDg3LCAxMSwgMzIsIDIxNiwgMTgxLCA4NywgMTEsIDMyLCAyMzQsIDIyOSwgODcsIDExLCAzMiwgCi0gICAgMjI1LCAxMzcsIDg3LCAxMSwgMzIsIDIyMywgNDEsIDg3LCAxMSwgMzIsIDIyNSwgMTEyLCA4NywgMTEsIDIzLCAzMiwgNiwgCi0gICAgMjU0LCAxNTEsIDExLCAyMywgMzIsIDYsIDI1MiwgMzQsIDExLCAyMywgMzIsIDYsIDI0MywgMTE0LCAxMSwgMjMsIDMyLCA2LCAKLSAgICAyNDgsIDYyLCAxMSwgMjMsIDMyLCA2LCAyNDUsIDEwOCwgMTEsIDIzLCAzMiwgNiwgMjEwLCA4NSwgMTEsIDIzLCAzMiwgNiwgCi0gICAgMjQ1LCA3MSwgMTEsIDIzLCAzMiwgNiwgMjE2LCAxODAsIDExLCAyMywgMzIsIDYsIDIzNSwgMTkyLCAxMSwgMjMsIDMyLCA2LCAKLSAgICAyMzQsIDIyOCwgMTEsIDIzLCAzMiwgNiwgMjMzLCAxMDQsIDExLCAyMywgMzIsIDYsIDIzMCwgMTA3LCAxMSwgMjMsIDMyLCAKLSAgICA2LCAyMjcsIDI0MiwgMTEsIDIzLCAzMiwgNiwgMjExLCAxNTcsIDExLCAyMywgMzIsIDYsIDIyNiwgMjAzLCAxMSwgMjMsIAotICAgIDMyLCA2LCAyMjUsIDExMSwgMTEsIDIzLCAzMiwgNiwgMjIzLCA0MCwgMTEsIDIzLCAzMiwgNiwgMjE2LCAxODEsIDg3LCAxMSwgCi0gICAgMjMsIDMyLCA2LCAyMTksIDE3OSwgMTEsIDIzLCAzMiwgNiwgMjE3LCA0MiwgMTEsIDIzLCAzMiwgNiwgMjE0LCAxNTcsIDExLCAKLSAgICAyMywgMzIsIDYsIDIyNSwgMTM2LCAxMSwgMjMsIDMyLCA2LCAyNTAsIDExOCwgMTEsIDIzLCAzMiwgNiwgMjI0LCAxNjQsIAotICAgIDExLCAyMywgMzIsIDYsIDIyNiwgMjA1LCAxMSwgMjMsIDMyLCAyMjksIDIyNiwgMTEsIDIzLCAzMiwgNCwgMjU0LCAxNTEsIAotICAgIDExLCAyMywgMzIsIDQsIDI1MiwgMzQsIDExLCAyMywgMzIsIDQsIDI0MywgMTE0LCAxMSwgMjMsIDMyLCA0LCAyNDgsIDYyLCAKLSAgICAxMSwgMjMsIDMyLCA0LCAyNDUsIDEwOCwgMTEsIDIzLCAzMiwgNCwgMjEwLCA4NSwgMTEsIDIzLCAzMiwgNCwgMjQ1LCA3MSwgCi0gICAgMTEsIDIzLCAzMiwgNCwgMjE2LCAxODAsIDExLCAyMywgMzIsIDQsIDIzNSwgMTkyLCAxMSwgMjMsIDMyLCA0LCAyMzQsIAotICAgIDIyOCwgMTEsIDIzLCAzMiwgNCwgMjMzLCAxMDQsIDExLCAyMywgMzIsIDQsIDIzMCwgMTA3LCAxMSwgMjMsIDMyLCA0LCAKLSAgICAyMjcsIDI0MiwgMTEsIDIzLCAzMiwgNCwgMjExLCAxNTcsIDExLCAyMywgMzIsIDQsIDIyNiwgMjAzLCAxMSwgMjMsIDMyLCAKLSAgICA0LCAyMjUsIDExMSwgMTEsIDIzLCAzMiwgNCwgMjIzLCA0MCwgMTEsIDIzLCAzMiwgNCwgNDAsIDIxOSwgMTc5LCAxMSwgMjMsIAotICAgIDMyLCA0LCAyMTksIDE3OSwgMTEsIDIzLCAzMiwgNCwgMjE3LCA0MiwgMTEsIDIzLCAzMiwgNCwgMjE0LCAxNTcsIDExLCAyMywgCi0gICAgMzIsIDQsIDIyNSwgMTM2LCAxMSwgMjMsIDMyLCA0LCAyNTAsIDExOCwgMTEsIDIzLCAzMiwgNCwgMjI0LCAxNjQsIDExLCAKLSAgICAyMywgMzIsIDQsIDIyNiwgMjA1LCAxMSwgMjMsIDMyLCAyMjYsIDEsIDI0NywgMjQxLCAxMSwgMjMsIDMyLCAyNDUsIDEwOSwgCi0gICAgODcsIDExLCAyMywgMzIsIDIxNiwgMTgxLCA4NywgMTEsIDIzLCAzMiwgMjM0LCAyMjksIDg3LCAxMSwgMjMsIDMyLCAyMjUsIAotICAgIDEzNywgODcsIDExLCAyMywgMzIsIDIyMywgNDEsIDg3LCAxMSwgMjMsIDMyLCAyMjUsIDExMiwgODcsIDExLCAzNSwgMjMsIAotICAgIDYsIDI1NCwgMTUxLCAxMSwgMzUsIDIzLCA2LCAyNTIsIDM0LCAxMSwgMzUsIDIzLCA2LCAyNDMsIDExNCwgMTEsIDM1LCAyMywgCi0gICAgNiwgMjQ4LCA2MiwgMTEsIDM1LCAyMywgNiwgMjQ1LCAxMDgsIDExLCAzNSwgMjMsIDYsIDIxMCwgODUsIDExLCAzNSwgMjMsIAotICAgIDYsIDI0NSwgNzEsIDExLCAzNSwgMjMsIDYsIDIxNiwgMTgwLCAxMSwgMzUsIDIzLCA2LCAyMzUsIDE5MiwgMTEsIDM1LCAyMywgCi0gICAgNiwgMjM0LCAyMjgsIDExLCAzNSwgMjMsIDYsIDIzMywgMTA0LCAxMSwgMzUsIDIzLCA2LCAyMzAsIDEwNywgMTEsIDM1LCAKLSAgICAyMywgNiwgMjI3LCAyNDIsIDExLCAzNSwgMjMsIDYsIDIxMSwgMTU3LCAxMSwgMzUsIDIzLCA2LCAyMjYsIDIwMywgMTEsIAotICAgIDM1LCAyMywgNiwgMjI1LCAxMTEsIDExLCAzNSwgMjMsIDYsIDIyMywgNDAsIDExLCAzNSwgMjMsIDYsIDIxNiwgMTgxLCA4NywgCi0gICAgMTEsIDM1LCAyMywgNiwgMjE5LCAxNzksIDExLCAzNSwgMjMsIDYsIDIxNywgNDIsIDExLCAzNSwgMjMsIDYsIDIxNCwgMTU3LCAKLSAgICAxMSwgMzUsIDIzLCA2LCAyMjUsIDEzNiwgMTEsIDM1LCAyMywgNiwgMjUwLCAxMTgsIDExLCAzNSwgMjMsIDYsIDIyNCwgCi0gICAgMTY0LCAxMSwgMzUsIDIzLCA2LCAyMjYsIDIwNSwgMTEsIDM1LCAyMywgMjI5LCAyMjYsIDExLCAzNSwgMjMsIDQsIDI1NCwgCi0gICAgMTUxLCAxMSwgMzUsIDIzLCA0LCAyNTIsIDM0LCAxMSwgMzUsIDIzLCA0LCAyNDMsIDExNCwgMTEsIDM1LCAyMywgNCwgMjQ4LCAKLSAgICA2MiwgMTEsIDM1LCAyMywgNCwgMjQ1LCAxMDgsIDExLCAzNSwgMjMsIDQsIDIxMCwgODUsIDExLCAzNSwgMjMsIDQsIDI0NSwgCi0gICAgNzEsIDExLCAzNSwgMjMsIDQsIDIxNiwgMTgwLCAxMSwgMzUsIDIzLCA0LCAyMzUsIDE5MiwgMTEsIDM1LCAyMywgNCwgMjM0LCAKLSAgICAyMjgsIDExLCAzNSwgMjMsIDQsIDIzMywgMTA0LCAxMSwgMzUsIDIzLCA0LCAyMzAsIDEwNywgMTEsIDM1LCAyMywgNCwgCi0gICAgMjI3LCAyNDIsIDExLCAzNSwgMjMsIDQsIDIxMSwgMTU3LCAxMSwgMzUsIDIzLCA0LCAyMjYsIDIwMywgMTEsIDM1LCAyMywgCi0gICAgNCwgMjI1LCAxMTEsIDExLCAzNSwgMjMsIDQsIDIyMywgNDAsIDExLCAzNSwgMjMsIDQsIDQwLCAyMTksIDE3OSwgMTEsIDM1LCAKLSAgICAyMywgNCwgMjE5LCAxNzksIDExLCAzNSwgMjMsIDQsIDIxNywgNDIsIDExLCAzNSwgMjMsIDQsIDIxNCwgMTU3LCAxMSwgMzUsIAotICAgIDIzLCA0LCAyMjUsIDEzNiwgMTEsIDM1LCAyMywgNCwgMjUwLCAxMTgsIDExLCAzNSwgMjMsIDQsIDIyNCwgMTY0LCAxMSwgCi0gICAgMzUsIDIzLCA0LCAyMjYsIDIwNSwgMTEsIDM1LCAyMywgMjI2LCAxLCAyNDcsIDI0MSwgMTEsIDM1LCAyMywgMjQ1LCAxMDksIAotICAgIDg3LCAxMSwgMzUsIDIzLCAyMTYsIDE4MSwgODcsIDExLCAzNSwgMjMsIDIzNCwgMjI5LCA4NywgMTEsIDM1LCAyMywgMjI1LCAKLSAgICAxMzcsIDg3LCAxMSwgMzUsIDIzLCAyMjMsIDQxLCA4NywgMTEsIDM1LCAyMywgMjI1LCAxMTIsIDg3LCAxMSwgMzUsIDIzLCAKLSAgICAzMiwgNiwgMjU0LCAxNTEsIDExLCAzNSwgMjMsIDMyLCA2LCAyNTIsIDM0LCAxMSwgMzUsIDIzLCAzMiwgNiwgMjQzLCAxMTQsIAotICAgIDExLCAzNSwgMjMsIDMyLCA2LCAyNDgsIDYyLCAxMSwgMzUsIDIzLCAzMiwgNiwgMjQ1LCAxMDgsIDExLCAzNSwgMjMsIDMyLCAKLSAgICA2LCAyMTAsIDg1LCAxMSwgMzUsIDIzLCAzMiwgNiwgMjQ1LCA3MSwgMTEsIDM1LCAyMywgMzIsIDYsIDIxNiwgMTgwLCAxMSwgCi0gICAgMzUsIDIzLCAzMiwgNiwgMjM1LCAxOTIsIDExLCAzNSwgMjMsIDMyLCA2LCAyMzQsIDIyOCwgMTEsIDM1LCAyMywgMzIsIDYsIAotICAgIDIzMywgMTA0LCAxMSwgMzUsIDIzLCAzMiwgNiwgMjMwLCAxMDcsIDExLCAzNSwgMjMsIDMyLCA2LCAyMjcsIDI0MiwgMTEsIAotICAgIDM1LCAyMywgMzIsIDYsIDIxMSwgMTU3LCAxMSwgMzUsIDIzLCAzMiwgNiwgMjI2LCAyMDMsIDExLCAzNSwgMjMsIDMyLCA2LCAKLSAgICAyMjUsIDExMSwgMTEsIDM1LCAyMywgMzIsIDYsIDIyMywgNDAsIDExLCAzNSwgMjMsIDMyLCA2LCAyMTYsIDE4MSwgODcsIAotICAgIDExLCAzNSwgMjMsIDMyLCA2LCAyMTksIDE3OSwgMTEsIDM1LCAyMywgMzIsIDYsIDIxNywgNDIsIDExLCAzNSwgMjMsIDMyLCAKLSAgICA2LCAyMTQsIDE1NywgMTEsIDM1LCAyMywgMzIsIDYsIDIyNSwgMTM2LCAxMSwgMzUsIDIzLCAzMiwgNiwgMjUwLCAxMTgsIAotICAgIDExLCAzNSwgMjMsIDMyLCA2LCAyMjQsIDE2NCwgMTEsIDM1LCAyMywgMzIsIDYsIDIyNiwgMjA1LCAxMSwgMzUsIDIzLCAzMiwgCi0gICAgMjI5LCAyMjYsIDExLCAzNSwgMjMsIDMyLCA0LCAyNTQsIDE1MSwgMTEsIDM1LCAyMywgMzIsIDQsIDI1MiwgMzQsIDExLCAKLSAgICAzNSwgMjMsIDMyLCA0LCAyNDMsIDExNCwgMTEsIDM1LCAyMywgMzIsIDQsIDI0OCwgNjIsIDExLCAzNSwgMjMsIDMyLCA0LCAKLSAgICAyNDUsIDEwOCwgMTEsIDM1LCAyMywgMzIsIDQsIDIxMCwgODUsIDExLCAzNSwgMjMsIDMyLCA0LCAyNDUsIDcxLCAxMSwgMzUsIAotICAgIDIzLCAzMiwgNCwgMjE2LCAxODAsIDExLCAzNSwgMjMsIDMyLCA0LCAyMzUsIDE5MiwgMTEsIDM1LCAyMywgMzIsIDQsIDIzNCwgCi0gICAgMjI4LCAxMSwgMzUsIDIzLCAzMiwgNCwgMjMzLCAxMDQsIDExLCAzNSwgMjMsIDMyLCA0LCAyMzAsIDEwNywgMTEsIDM1LCAKLSAgICAyMywgMzIsIDQsIDIyNywgMjQyLCAxMSwgMzUsIDIzLCAzMiwgNCwgMjExLCAxNTcsIDExLCAzNSwgMjMsIDMyLCA0LCAyMjYsIAotICAgIDIwMywgMTEsIDM1LCAyMywgMzIsIDQsIDIyNSwgMTExLCAxMSwgMzUsIDIzLCAzMiwgNCwgMjIzLCA0MCwgMTEsIDM1LCAyMywgCi0gICAgMzIsIDQsIDQwLCAyMTksIDE3OSwgMTEsIDM1LCAyMywgMzIsIDQsIDIxOSwgMTc5LCAxMSwgMzUsIDIzLCAzMiwgNCwgMjE3LCAKLSAgICA0MiwgMTEsIDM1LCAyMywgMzIsIDQsIDIxNCwgMTU3LCAxMSwgMzUsIDIzLCAzMiwgNCwgMjI1LCAxMzYsIDExLCAzNSwgMjMsIAotICAgIDMyLCA0LCAyNTAsIDExOCwgMTEsIDM1LCAyMywgMzIsIDQsIDIyNCwgMTY0LCAxMSwgMzUsIDIzLCAzMiwgNCwgMjI2LCAKLSAgICAyMDUsIDExLCAzNSwgMjMsIDMyLCAyMjYsIDEsIDI0NywgMjQxLCAxMSwgMzUsIDIzLCAzMiwgMjQ1LCAxMDksIDg3LCAxMSwgCi0gICAgMzUsIDIzLCAzMiwgMjE2LCAxODEsIDg3LCAxMSwgMzUsIDIzLCAzMiwgMjM0LCAyMjksIDg3LCAxMSwgMzUsIDIzLCAzMiwgCi0gICAgMjI1LCAxMzcsIDg3LCAxMSwgMzUsIDIzLCAzMiwgMjIzLCA0MSwgODcsIDExLCAzNSwgMjMsIDMyLCAyMjUsIDExMiwgODcsIAotICAgIDExLCAyMywgNiwgMjQ3LCAyMzUsIDExLCAyMywgNCwgMjQ3LCAyMzUsIDExLCAyMywgMjEsIDIxMCwgODYsIDExLCAyMywgCi0gICAgMjEsIDExMSwgMTEsIDIzLCAyMSwgMTA1LCAxMSwgMjMsIDIxLCAxNTgsIDExLCAyMywgMjEsIDE2MSwgMTEsIDIzLCAyMSwgCi0gICAgMTkwLCAxMSwgMjMsIDIxLCAxOTUsIDExLCAyMywgMjEsIDE5OSwgMTEsIDIzLCAyMSwgMTk2LCAxMSwgMjMsIDIxLCAyMDEsIAotICAgIDExLCAxMzksIDIxLCAyMTAsIDg2LCAxMSwgMTM5LCAyMSwgMTExLCAxMSwgMTM5LCAyMSwgMTA1LCAxMSwgMTM5LCAyMSwgCi0gICAgMTU4LCAxMSwgMTM5LCAyMSwgMTYxLCAxMSwgMTM5LCAyMSwgMTkwLCAxMSwgMTM5LCAyMSwgMTk1LCAxMSwgMTM5LCAyMSwgCi0gICAgMTk5LCAxMSwgMTM5LCAyMSwgMTk2LCAxMSwgMTM5LCAyMSwgMjAxLCAxMSwgMzUsIDIxLCAyMTAsIDg2LCAxMSwgMzUsIDIxLCAKLSAgICAxMTEsIDExLCAzNSwgMjEsIDEwNSwgMTEsIDM1LCAyMSwgMTU4LCAxMSwgMzUsIDIxLCAxNjEsIDExLCAzNSwgMjEsIDE5MCwgCi0gICAgMTEsIDM1LCAyMSwgMTk1LCAxMSwgMzUsIDIxLCAxOTksIDExLCAzNSwgMjEsIDE5NiwgMTEsIDM1LCAyMSwgMjAxLCAxMSwgCi0gICAgMzUsIDIzLCAyMSwgMjEwLCA4NiwgMTEsIDM1LCAyMywgMjEsIDExMSwgMTEsIDM1LCAyMywgMjEsIDEwNSwgMTEsIDM1LCAKLSAgICAyMywgMjEsIDE1OCwgMTEsIDM1LCAyMywgMjEsIDE2MSwgMTEsIDM1LCAyMywgMjEsIDE5MCwgMTEsIDM1LCAyMywgMjEsIAotICAgIDE5NSwgMTEsIDM1LCAyMywgMjEsIDE5OSwgMTEsIDM1LCAyMywgMjEsIDE5NiwgMTEsIDM1LCAyMywgMjEsIDIwMSwgMTEsIAotICAgIDIzMCwgMTQzLCAyMSwgMjEwLCA4NiwgMTEsIDIzMCwgMTQzLCAyMSwgMTExLCAxMSwgMjMwLCAxNDMsIDIxLCAxMDUsIDExLCAKLSAgICAyMzAsIDE0MywgMjEsIDE1OCwgMTEsIDIzMCwgMTQzLCAyMSwgMTYxLCAxMSwgMjMwLCAxNDMsIDIxLCAxOTAsIDExLCAyMzAsIAotICAgIDE0MywgMjEsIDE5NSwgMTEsIDIzMCwgMTQzLCAyMSwgMTk5LCAxMSwgMjMwLCAxNDMsIDIxLCAxOTYsIDExLCAyMzAsIDE0MywgCi0gICAgMjEsIDIwMSwgOSwgMTEsIDI1NCwgMTc5LCA5LCAxMSwgMjUyLCA2MiwgOSwgMTEsIDIzNSwgMTI5LCA5LCAxMSwgMjQ4LCAKLSAgICAyMDMsIDksIDExLCAyMTIsIDMwLCA5LCAxMSwgMjEwLCAxMDgsIDksIDExLCAyNDIsIDQ0LCA5LCAxMSwgMjE3LCA4MSwgOSwgCi0gICAgMTEsIDIxMSwgNDMsIDksIDExLCAyMzUsIDAsIDksIDExLCAyMzMsIDEwOCwgOSwgMTEsIDIzMSwgODMsIDksIDExLCAyMjgsIAotICAgIDY3LCA5LCAxMSwgMjIxLCAxNjgsIDksIDExLCAyNTQsIDIwNSwgOSwgMTEsIDI0NCwgMTUwLCA5LCAxMSwgMjIyLCAyOCwgOSwgCi0gICAgMTEsIDIyNCwgODQsIDksIDExLCAyMjMsIDk4LCA5LCAxMSwgMjIwLCA2MSwgOSwgMTEsIDIxNywgOCwgOSwgMTEsIDIxNiwgCi0gICAgMTkzLCA5LCAxMSwgMjM0LCAxMzUsIDksIDExLCAyMTYsIDIwMywgOSwgMTEsIDI0OCwgMjI0LCA5LCAxMSwgMjEwLCAxMTEsIAotICAgIDksIDExLCAyNDIsIDI1MSwgOSwgMTEsIDI0NywgMTI3LCAyNTIsIDYyLCA5LCAxMSwgMjQ3LCAxMjcsIDIyOCwgNjcsIDksIAotICAgIDExLCAyNDcsIDEyNywgMjQ0LCAxNTAsIDksIDExLCAyNDcsIDEyNywgMjI0LCA4NCwgOSwgMTEsIDY1LCAyNTIsIDYyLCA5LCAKLSAgICAxMSwgNjUsIDIzNSwgMTI5LCA5LCAxMSwgNjUsIDI0MSwgMjI1LCA5LCAxMSwgNjUsIDI0MiwgNDQsIDksIDExLCA2NSwgCi0gICAgMjExLCA0MywgOSwgMTEsIDY1LCAyMzUsIDAsIDksIDExLCA2NSwgMjMzLCAxMDgsIDksIDExLCA2NSwgMjMxLCA4MywgOSwgCi0gICAgMTEsIDY1LCAyMjgsIDY3LCA5LCAxMSwgNjUsIDIyMSwgMTY4LCA5LCAxMSwgNjUsIDI1NCwgMjA1LCA5LCAxMSwgNjUsIAotICAgIDI0NCwgMTUwLCA5LCAxMSwgNjUsIDIyMiwgMjgsIDksIDExLCA2NSwgMjI0LCA4NCwgOSwgMTEsIDY1LCAyMjAsIDYxLCA5LCAKLSAgICAxMSwgNjUsIDIxNywgOCwgOSwgMTEsIDY1LCAyMTYsIDE5MywgOSwgMTEsIDY1LCAyMzQsIDEzNSwgOSwgMTEsIDY1LCAyNDgsIAotICAgIDIyNCwgOSwgMTEsIDY1LCAyNDIsIDI1MSwgOSwgMTEsIDIxNywgNzcsIDIzNSwgMTI5LCA5LCAxMSwgMjE3LCA3NywgMjQyLCAKLSAgICA0NCwgOSwgMTEsIDIxNywgNzcsIDIxMSwgNDMsIDksIDExLCAyMTcsIDc3LCAyMzMsIDEwOCwgOSwgMTEsIDIxNywgNzcsIAotICAgIDIyOCwgNjcsIDksIDExLCAyMTcsIDc3LCAyMjEsIDE2OCwgOSwgMTEsIDIxNywgNzcsIDI1NCwgMjA1LCA5LCAxMSwgMjE3LCAKLSAgICA3NywgMjIyLCAyOCwgOSwgMTEsIDIxNywgNzcsIDIyNCwgODQsIDksIDExLCAyMTcsIDc3LCAyMjAsIDYxLCA5LCAxMSwgCi0gICAgMjE3LCA3NywgMjM0LCAxMzUsIDksIDExLCAyMTcsIDc3LCAyNDgsIDIyNCwgOSwgMTEsIDIxNywgNzcsIDI0MiwgMjUxLCA5LCAKLSAgICAxMSwgMjE3LCA3NywgMjQ3LCAxMjcsIDIyOCwgNjcsIDksIDExLCAyMTcsIDc3LCAyNDcsIDEyNywgMjI0LCA4NCwgOSwgMTEsIAotICAgIDIxOCwgMTEyLCAyNTIsIDYyLCA5LCAxMSwgMjE4LCAxMTIsIDIzNSwgMTI5LCA5LCAxMSwgMjE4LCAxMTIsIDI0MSwgMjI1LCAKLSAgICA5LCAxMSwgMjE4LCAxMTIsIDI0MiwgNDQsIDksIDExLCAyMTgsIDExMiwgMjE3LCA4MSwgOSwgMTEsIDIxOCwgMTEyLCAyMTEsIAotICAgIDQzLCA5LCAxMSwgMjE4LCAxMTIsIDIzNSwgMCwgOSwgMTEsIDIxOCwgMTEyLCAyMzEsIDgzLCA5LCAxMSwgMjE4LCAxMTIsIAotICAgIDIyOCwgNjcsIDksIDExLCAyMTgsIDExMiwgMjIxLCAxNjgsIDksIDExLCAyMTgsIDExMiwgMjU0LCAyMDUsIDksIDExLCAKLSAgICAyMTgsIDExMiwgMjQ0LCAxNTAsIDksIDExLCAyMTgsIDExMiwgMjIyLCAyOCwgOSwgMTEsIDIxOCwgMTEyLCAyMjQsIDg0LCAKLSAgICA5LCAxMSwgMjE4LCAxMTIsIDIyMCwgNjEsIDksIDExLCAyMTgsIDExMiwgMjE3LCA4LCA5LCAxMSwgMjE4LCAxMTIsIDIxNiwgCi0gICAgMTkzLCA5LCAxMSwgMjE4LCAxMTIsIDIzNCwgMTM1LCA5LCAxMSwgMjE4LCAxMTIsIDI0OCwgMjI0LCA5LCAxMSwgMjE4LCAKLSAgICAxMTIsIDIxMCwgMTExLCA5LCAxMSwgMjE4LCAxMTIsIDI0MiwgMjUxLCA5LCAxMSwgMjE4LCAxMTIsIDI0NywgMTI3LCAyNTIsIAotICAgIDYyLCA5LCAxMSwgMjE4LCAxMTIsIDI0NywgMTI3LCAyNDQsIDE1MCwgOSwgMTEsIDIzMiwgMTI4LCAyNTQsIDE3OSwgOSwgCi0gICAgMTEsIDIzMiwgMTI4LCAyNTIsIDYyLCA5LCAxMSwgMjMyLCAxMjgsIDIzNSwgMTI5LCA5LCAxMSwgMjMyLCAxMjgsIDI0OCwgCi0gICAgMjAzLCA5LCAxMSwgMjMyLCAxMjgsIDI0MSwgMjI1LCA5LCAxMSwgMjMyLCAxMjgsIDIxMiwgMzAsIDksIDExLCAyMzIsIAotICAgIDEyOCwgMjEwLCAxMDgsIDksIDExLCAyMzIsIDEyOCwgMjQyLCA0NCwgOSwgMTEsIDIzMiwgMTI4LCAyMTcsIDgxLCA5LCAxMSwgCi0gICAgMjMyLCAxMjgsIDIxMSwgNDMsIDksIDExLCAyMzIsIDEyOCwgMjMzLCAxMDgsIDksIDExLCAyMzIsIDEyOCwgMjMxLCA4MywgCi0gICAgOSwgMTEsIDIzMiwgMTI4LCAyMjgsIDY3LCA5LCAxMSwgMjMyLCAxMjgsIDIyMSwgMTY4LCA5LCAxMSwgMjMyLCAxMjgsIAotICAgIDI1NCwgMjA1LCA5LCAxMSwgMjMyLCAxMjgsIDI0NCwgMTUwLCA5LCAxMSwgMjMyLCAxMjgsIDIyMiwgMjgsIDksIDExLCAKLSAgICAyMzIsIDEyOCwgMjI0LCA4NCwgOSwgMTEsIDIzMiwgMTI4LCAyMjMsIDk4LCA5LCAxMSwgMjMyLCAxMjgsIDIyMCwgNjEsIDksIAotICAgIDExLCAyMzIsIDEyOCwgMjE3LCA4LCA5LCAxMSwgMjMyLCAxMjgsIDIxNiwgMTkzLCA5LCAxMSwgMjMyLCAxMjgsIDIzNCwgCi0gICAgMTM1LCA5LCAxMSwgMjMyLCAxMjgsIDIxNiwgMjAzLCA5LCAxMSwgMjMyLCAxMjgsIDI0OCwgMjI0LCA5LCAxMSwgMjMyLCAKLSAgICAxMjgsIDIxMCwgMTExLCA5LCAxMSwgMjMyLCAxMjgsIDI0MiwgMjUxLCA5LCAxMSwgMTM5LCAyNTIsIDYyLCA5LCAxMSwgCi0gICAgMTM5LCAyMzUsIDEyOSwgOSwgMTEsIDEzOSwgMjQ4LCAyMDMsIDksIDExLCAxMzksIDIxMiwgMzAsIDksIDExLCAxMzksIAotICAgIDIxMCwgMTA4LCA5LCAxMSwgMTM5LCAyNDIsIDQ0LCA5LCAxMSwgMTM5LCAyMTcsIDgxLCA5LCAxMSwgMTM5LCAyMTEsIDQzLCAKLSAgICA5LCAxMSwgMTM5LCAyMzMsIDEwOCwgOSwgMTEsIDEzOSwgMjMxLCA4MywgOSwgMTEsIDEzOSwgMjI4LCA2NywgOSwgMTEsIAotICAgIDEzOSwgMjIxLCAxNjgsIDksIDExLCAxMzksIDI1NCwgMjA1LCA5LCAxMSwgMTM5LCAyNDQsIDE1MCwgOSwgMTEsIDEzOSwgCi0gICAgMjIyLCAyOCwgOSwgMTEsIDEzOSwgMjI0LCA4NCwgOSwgMTEsIDEzOSwgMjIzLCA5OCwgOSwgMTEsIDEzOSwgMjIwLCA2MSwgCi0gICAgOSwgMTEsIDEzOSwgMjE3LCA4LCA5LCAxMSwgMTM5LCAyMTYsIDE5MywgOSwgMTEsIDEzOSwgMjM0LCAxMzUsIDksIDExLCAKLSAgICAxMzksIDIxNiwgMjAzLCA5LCAxMSwgMTM5LCAyNDgsIDIyNCwgOSwgMTEsIDEzOSwgMjEwLCAxMTEsIDksIDExLCAxMzksIAotICAgIDI0MiwgMjUxLCA5LCAxMSwgMjI2LCAxNzIsIDY2LCAyLCAxMjIsIDIsIDIxNywgNDQsIDksIDExLCAyMjYsIDE3MiwgMTIyLCAKLSAgICAyLCAyNDgsIDIwMywgMjMxLCAyMTAsIDg2LCAyNDUsIDIyOCwgMjExLCAyMzksIDIzMSwgMjEwLCA4NiwgMjE5LCAzMCwgCi0gICAgMjExLCAyMzksIDIzMSwgMjEwLCA4NiwgMjEyLCA5LCAyMTEsIDIzOSwgMjMxLCAyMTAsIDg2LCAyMjgsIDYxLCAyMTEsIAotICAgIDIzOSwgMjMxLCAyMTAsIDg2LCAyMjMsIDExNCwgMjQ2LCAxMDQsIDIzMSwgMjEwLCA4NiwgMjQyLCAxMzQsIDI0NiwgMTA0LCAKLSAgICAyMzEsIDIxMCwgODYsIDcxLCAyNDYsIDEwNCwgMjMxLCAyMTAsIDg2LCAxMjMsIDY0LCAyNTAsIDE0OSwgMjMxLCAyMTAsIAotICAgIDg2LCAxMTMsIDY0LCAyNTAsIDE0OSwgMjMxLCAyMTAsIDg2LCAxMzQsIDY0LCAyNTAsIDE0OSwgMjMxLCAyMTAsIDg2LCAKLSAgICAyNDQsIDE5LCA2NCwgMjUwLCAxNDksIDIzMSwgMjEwLCA4NiwgMjQ0LCA4OSwgNjQsIDI1MCwgMTQ5LCAyMzEsIDIxMCwgODYsIAotICAgIDIxOSwgMTI3LCA2NCwgMjUwLCAxNDksIDIzMSwgMjEwLCA4NiwgMjIwLCAxMjQsIDY0LCAyNTAsIDE0OSwgMjMxLCAyMTAsIAotICAgIDg2LCAyNDUsIDIwMSwgNjQsIDI1MCwgMTQ5LCAyMzEsIDIxMCwgODYsIDIyOCwgMjA1LCA2NCwgMjUwLCAxNDksIDIzMSwgCi0gICAgMjEwLCA4NiwgMTIzLCA2NCwgMjUyLCAxNjEsIDIzMSwgMjEwLCA4NiwgMTEzLCA2NCwgMjUyLCAxNjEsIDIzMSwgMjEwLCAKLSAgICA4NiwgMTM0LCA2NCwgMjUyLCAxNjEsIDIzMSwgMjEwLCA4NiwgMjQ0LCAxOSwgNjQsIDI1MiwgMTYxLCAyMzEsIDIxMCwgODYsIAotICAgIDI0NCwgODksIDY0LCAyNTIsIDE2MSwgMjMxLCAyMTAsIDg2LCAyMTksIDEyNywgNjQsIDI1MiwgMTYxLCAyMzEsIDIxMCwgCi0gICAgODYsIDIyMCwgMTI0LCA2NCwgMjUyLCAxNjEsIDIzMSwgMjEwLCA4NiwgMjQ1LCAyMDEsIDY0LCAyNTIsIDE2MSwgMjMxLCAKLSAgICAyMTAsIDg2LCAyMjgsIDIwNSwgNjQsIDI1MiwgMTYxLCAyMzEsIDIxMCwgODYsIDEyMywgNjQsIDI1MCwgNDIsIDIzMSwgCi0gICAgMjEwLCA4NiwgMTEzLCA2NCwgMjUwLCA0MiwgMjMxLCAyMTAsIDg2LCAxMzQsIDY0LCAyNTAsIDQyLCAyMzEsIDIxMCwgODYsIAotICAgIDI0NCwgMTksIDY0LCAyNTAsIDQyLCAyMzEsIDIxMCwgODYsIDI0NCwgODksIDY0LCAyNTAsIDQyLCAyMzEsIDIxMCwgODYsIAotICAgIDIxOSwgMTI3LCA2NCwgMjUwLCA0MiwgMjMxLCAyMTAsIDg2LCAyMjAsIDEyNCwgNjQsIDI1MCwgNDIsIDIzMSwgMjEwLCA4NiwgCi0gICAgMjQ1LCAyMDEsIDY0LCAyNTAsIDQyLCAyMzEsIDIxMCwgODYsIDIyOCwgMjA1LCA2NCwgMjUwLCA0MiwgMjMxLCAyMTAsIDg2LCAKLSAgICAyMjUsIDI4LCAyMzEsIDIxMCwgODYsIDIyNiwgMTYwLCAyMzEsIDIxMCwgODYsIDI1MiwgMTYyLCAyMzEsIDIxMCwgODYsIAotICAgIDI1MCwgNzgsIDIzMSwgMjEwLCA4NiwgMjE4LCAyNDEsIDIzMSwgMjEwLCA4NiwgMjE4LCA0MCwgMjMxLCAyMTAsIDg2LCAKLSAgICAyNTMsIDE4NywgMjMxLCAyMTAsIDg2LCAyMTEsIDIzMiwgMjMxLCAyMTAsIDg2LCAyMzUsIDY4LCAyMzEsIDIxMCwgODYsIAotICAgIDI1MiwgMTkyLCAxMzEsIDg2LCAyMDMsIDI1MiwgMTkyLCAxMzEsIDg2LCAyNDEsIDUwLCAxMzEsIDg2LCAyNDEsIDQ5LCAKLSAgICAxMzEsIDg2LCAyNDEsIDQ4LCAxMzEsIDg2LCAyNDEsIDQ3LCAxMzEsIDg2LCAyNDEsIDQ2LCAxMzEsIDg2LCAyNDEsIDQ1LCAKLSAgICAxMzEsIDg2LCAyNDEsIDQ0LCAxMzEsIDg2LCAyNDEsIDQzLCAxMzEsIDg2LCAyNDEsIDQyLCAxMzEsIDg2LCAyNDEsIDQxLCAKLSAgICAxMzEsIDg2LCAyNDEsIDQwLCAxMzEsIDg2LCAyNDEsIDM5LCAxMzEsIDg2LCAyNDEsIDM4LCAxMzEsIDg2LCAyNDEsIDM3LCAKLSAgICAxMzEsIDg2LCAyNDEsIDM2LCAxMzEsIDg2LCAyNDEsIDM1LCAxMzEsIDg2LCAyNDEsIDM0LCAxMzEsIDg2LCAyNDEsIDMzLCAKLSAgICAxMzEsIDg2LCAyNDEsIDMyLCAxMzEsIDg2LCAyNDEsIDMxLCAxMzEsIDg2LCAyNDEsIDMwLCAxMzEsIDg2LCAyNDEsIDI5LCAKLSAgICAxMzEsIDg2LCAyNDEsIDI4LCAxMzEsIDg2LCAyNDEsIDI3LCAxMzEsIDg2LCAyNDEsIDI2LCAxMzEsIDg2LCAyNDEsIDI1LCAKLSAgICAxMzEsIDg2LCAyNDEsIDI0LCAxMzEsIDg2LCAyNDEsIDIzLCAxMzEsIDg2LCAyNDEsIDIyLCAxMzEsIDg2LCAyNDEsIDIxLCAKLSAgICAxMzEsIDg2LCAyNDEsIDIwLCAxMzEsIDg2LCAyNDEsIDE5LCAxMzEsIDg2LCAyNDEsIDE4LCAxMzEsIDg2LCAyNDEsIDE3LCAKLSAgICAxMzEsIDg2LCAyNDEsIDE2LCAxMzEsIDg2LCAyNDEsIDE1LCAxMzEsIDg2LCAyNDEsIDE0LCAxMzEsIDg2LCAyNDEsIDEzLCAKLSAgICAxMzEsIDg2LCAyNDEsIDEyLCAxMzEsIDg2LCAyNDEsIDExLCAxMzEsIDg2LCAyNDEsIDEwLCAxMzEsIDg2LCAyNDEsIDksIAotICAgIDEzMSwgODYsIDI0MSwgOCwgMTMxLCA4NiwgMjQxLCA3LCAxMzEsIDg2LCAyNDEsIDYsIDEzMSwgODYsIDI0MSwgNSwgMTMxLCAKLSAgICA4NiwgMjQxLCA0LCAxMzEsIDg2LCAyNDEsIDMsIDEzMSwgODYsIDI0MSwgMiwgMTMxLCA4NiwgNjcsIDI1MiwgMTkyLCAxMzEsIAotICAgIDg2LCAyMTMsIDIzOCwgMTMxLCA4NiwgMjEzLCAyMzcsIDEzMSwgODYsIDIxMywgMjM2LCAxMzEsIDg2LCAyMTMsIDIzNSwgCi0gICAgMTMxLCA4NiwgMjEzLCAyMzQsIDEzMSwgODYsIDIxMywgMjMzLCAxMzEsIDg2LCAyMTMsIDIzMiwgMTMxLCA4NiwgMjEzLCAKLSAgICAyMzEsIDEzMSwgODYsIDIxMywgMjMwLCAxMzEsIDg2LCAyMTMsIDIyOSwgMTMxLCA4NiwgMjEzLCAyMjgsIDEzMSwgODYsIAotICAgIDIxMywgMjI3LCAxMzEsIDg2LCAyMTMsIDIyNiwgMTMxLCA4NiwgMjEzLCAyMjUsIDEzMSwgODYsIDIxMywgMjI0LCAxMzEsIAotICAgIDg2LCAyMTMsIDIyMywgMTMxLCA4NiwgMjEzLCAyMjIsIDEzMSwgODYsIDIxMywgMjIxLCAxMzEsIDg2LCAyMTMsIDIyMCwgCi0gICAgMTMxLCA4NiwgMjEzLCAyMTksIDEzMSwgODYsIDIxMywgMjE4LCAxMzEsIDg2LCAyMTMsIDIxNywgMTMxLCA4NiwgMjEzLCAKLSAgICAyMTYsIDEzMSwgODYsIDIxMywgMjE1LCAxMzEsIDg2LCAyMTMsIDIxNCwgMTMxLCA4NiwgMjEzLCAyMTMsIDEzMSwgODYsIAotICAgIDIxMywgMjEyLCAxMzEsIDg2LCAyMTMsIDIxMSwgMTMxLCA4NiwgMjEzLCAyMTAsIDEzMSwgODYsIDIxMywgMjA5LCAxMzEsIAotICAgIDg2LCAyMTMsIDIwOCwgMTMxLCA4NiwgMjEzLCAyMDcsIDEzMSwgODYsIDIxMywgMjA2LCAxMzEsIDg2LCAyMTMsIDIwNSwgCi0gICAgMTMxLCA4NiwgMjEzLCAyMDQsIDEzMSwgODYsIDIxMywgMjAzLCAxMzEsIDg2LCAyMTMsIDIwMiwgMTMxLCA4NiwgMjEzLCAKLSAgICAyMDEsIDEzMSwgODYsIDIxMywgMjAwLCAxMzEsIDg2LCAyMTMsIDE5OSwgMTMxLCA4NiwgMjEzLCAxOTgsIDEzMSwgODYsIAotICAgIDIxMywgMTk3LCAxMzEsIDg2LCAyMTMsIDE5NiwgMTMxLCA4NiwgMjEzLCAxOTUsIDEzMSwgODYsIDIxMywgMTk0LCAxMzEsIAotICAgIDg2LCAyMTMsIDE5MywgMTMxLCA4NiwgMjEzLCAxOTIsIDEzMSwgODYsIDIxMywgMTkxLCAxMzEsIDg2LCAyMTMsIDE5MCwgCi0gICAgMjI1LCAzNiwgMjUwLCAyNTEsIDI1MiwgMTkyLCAyMjUsIDM2LCAyNTAsIDI1MSwgMjU1LCAxOCwgNjQsIDIxOSwgMTcsIAotICAgIDIyNSwgMzYsIDI1MCwgMjUxLCAxMTMsIDY0LCAyMTksIDE3LCAyMjUsIDM2LCAyNTAsIDI1MSwgMTM0LCA2NCwgMjE5LCAxNywgCi0gICAgMjI1LCAzNiwgMjUwLCAyNTEsIDI0NCwgMTksIDY0LCAyMTksIDE3LCAyMjUsIDM2LCAyNTAsIDI1MSwgMjQ0LCA4OSwgNjQsIAotICAgIDIxOSwgMTcsIDIyNSwgMzYsIDI1MCwgMjUxLCAyMTksIDEyNywgNjQsIDIxOSwgMTcsIDIyNSwgMzYsIDI1MCwgMjUxLCAKLSAgICAyMjAsIDEyNCwgNjQsIDIxOSwgMTcsIDIyNSwgMzYsIDI1MCwgMjUxLCAyNDUsIDIwMSwgNjQsIDIxOSwgMTcsIDIyNSwgMzYsIAotICAgIDI1MCwgMjUxLCAyMjgsIDIwNSwgNjQsIDIxOSwgMTcsIDIyNSwgMzYsIDI1MCwgMjUxLCAyMTYsIDI0OSwgNjQsIDIxOSwgCi0gICAgMTcsIDIyNSwgMzYsIDI1MCwgMjUxLCAyMzUsIDE0NSwgNjQsIDIxOSwgMTcsIDIyNSwgMzYsIDI1MCwgMjUxLCAyMzQsIDM3LCAKLSAgICA2NCwgMjE5LCAxNywgMjI1LCAzNiwgMjUwLCAyNTEsIDIyNCwgMTgsIDY0LCAyMTksIDE3LCAyMjUsIDM2LCAyNTAsIDI1MSwgCi0gICAgMjM0LCA4NSwgNjQsIDIxOSwgMTcsIDIyNSwgMzYsIDI1MCwgMjUxLCAyNTUsIDE4LCA2NCwgMjQxLCAyMzIsIDIyNSwgMzYsIAotICAgIDI1MCwgMjUxLCAxMTMsIDY0LCAyNDEsIDIzMiwgMjI1LCAzNiwgMjUwLCAyNTEsIDEzNCwgNjQsIDI0MSwgMjMyLCAyMjUsIAotICAgIDM2LCAyNTAsIDI1MSwgMjQ0LCAxOSwgNjQsIDI0MSwgMjMyLCAyMjUsIDM2LCAyNTAsIDI1MSwgMjQ0LCA4OSwgNjQsIDI0MSwgCi0gICAgMjMyLCAyMjUsIDM2LCAyNTAsIDI1MSwgMjE5LCAxMjcsIDY0LCAyNDEsIDIzMiwgMjI1LCAzNiwgMjUwLCAyNTEsIDIyMCwgCi0gICAgMTI0LCA2NCwgMjQxLCAyMzIsIDIyNSwgMzYsIDI1MCwgMjUxLCAyNDUsIDIwMSwgNjQsIDI0MSwgMjMyLCAyMjUsIDM2LCAKLSAgICAyNTAsIDI1MSwgMjI4LCAyMDUsIDY0LCAyNDEsIDIzMiwgMjI1LCAzNiwgMjUwLCAyNTEsIDIxNiwgMjQ5LCA2NCwgMjQxLCAKLSAgICAyMzIsIDIyNSwgMzYsIDI1MCwgMjUxLCAyMzUsIDE0NSwgNjQsIDI0MSwgMjMyLCAyMjUsIDM2LCAyNTAsIDI1MSwgMjM0LCAKLSAgICAzNywgNjQsIDI0MSwgMjMyLCAyMjUsIDM2LCAyNTAsIDI1MSwgMjI0LCAxOCwgNjQsIDI0MSwgMjMyLCAyMjUsIDM2LCAyNTAsIAotICAgIDI1MSwgMjM0LCA4NSwgNjQsIDI0MSwgMjMyLCAyMjUsIDM2LCAyNTAsIDI1MSwgMjU1LCAxOCwgNjQsIDI0NywgMjU1LCAKLSAgICAyMjUsIDM2LCAyNTAsIDI1MSwgMTEzLCA2NCwgMjQ3LCAyNTUsIDIyNSwgMzYsIDI1MCwgMjUxLCAxMzQsIDY0LCAyNDcsIAotICAgIDI1NSwgMjI1LCAzNiwgMjUwLCAyNTEsIDI0NCwgMTksIDY0LCAyNDcsIDI1NSwgMjI1LCAzNiwgMjUwLCAyNTEsIDI0NCwgCi0gICAgODksIDY0LCAyNDcsIDI1NSwgMjI1LCAzNiwgMjUwLCAyNTEsIDIxOSwgMTI3LCA2NCwgMjQ3LCAyNTUsIDIyNSwgMzYsIAotICAgIDI1MCwgMjUxLCAyMjAsIDEyNCwgNjQsIDI0NywgMjU1LCAyMjUsIDM2LCAyNTAsIDI1MSwgMjQ1LCAyMDEsIDY0LCAyNDcsIAotICAgIDI1NSwgMjI1LCAzNiwgMjUwLCAyNTEsIDIyOCwgMjA1LCA2NCwgMjQ3LCAyNTUsIDIyNSwgMzYsIDI1MCwgMjUxLCAyMTYsIAotICAgIDI0OSwgNjQsIDI0NywgMjU1LCAyMjUsIDM2LCAyNTAsIDI1MSwgMjM1LCAxNDUsIDY0LCAyNDcsIDI1NSwgMjI1LCAzNiwgCi0gICAgMjUwLCAyNTEsIDIzNCwgMzcsIDY0LCAyNDcsIDI1NSwgMjI1LCAzNiwgMjUwLCAyNTEsIDIyNCwgMTgsIDY0LCAyNDcsIAotICAgIDI1NSwgMjI1LCAzNiwgMjUwLCAyNTEsIDIzNCwgODUsIDY0LCAyNDcsIDI1NSwgMjI1LCAzNiwgMjUwLCAyNTEsIDg1LCAKLSAgICAyMzUsIDY4LCAyMjUsIDM2LCAyNTAsIDI1MSwgMjU1LCAxOCwgNjQsIDI0OSwgMjUwLCAyMjUsIDM2LCAyNTAsIDI1MSwgCi0gICAgMTEzLCA2NCwgMjQ5LCAyNTAsIDIyNSwgMzYsIDI1MCwgMjUxLCAxMzQsIDY0LCAyNDksIDI1MCwgMjI1LCAzNiwgMjUwLCAKLSAgICAyNTEsIDI0NCwgMTksIDY0LCAyNDksIDI1MCwgMjI1LCAzNiwgMjUwLCAyNTEsIDI0NCwgODksIDY0LCAyNDksIDI1MCwgCi0gICAgMjI1LCAzNiwgMjUwLCAyNTEsIDIxOSwgMTI3LCA2NCwgMjQ5LCAyNTAsIDIyNSwgMzYsIDI1MCwgMjUxLCAyMjAsIDEyNCwgCi0gICAgNjQsIDI0OSwgMjUwLCAyMjUsIDM2LCAyNTAsIDI1MSwgMjQ1LCAyMDEsIDY0LCAyNDksIDI1MCwgMjI1LCAzNiwgMjUwLCAKLSAgICAyNTEsIDIyOCwgMjA1LCA2NCwgMjQ5LCAyNTAsIDIyNSwgMzYsIDI1MCwgMjUxLCAyMTYsIDI0OSwgNjQsIDI0OSwgMjUwLCAKLSAgICAyMjUsIDM2LCAyNTAsIDI1MSwgMjM1LCAxNDUsIDY0LCAyNDksIDI1MCwgMjI1LCAzNiwgMjUwLCAyNTEsIDIzNCwgMzcsIAotICAgIDY0LCAyNDksIDI1MCwgMjI1LCAzNiwgMjUwLCAyNTEsIDIyNCwgMTgsIDY0LCAyNDksIDI1MCwgMjI1LCAzNiwgMjUwLCAKLSAgICAyNTEsIDIzNCwgODUsIDY0LCAyNDksIDI1MCwgMjI1LCAzNiwgMjUwLCAyNTEsIDcxLCAyMzUsIDY4LCAyMSwgMjEwLCA4NywgCi0gICAgMjQzLCAyMzYsIDIxOCwgMTMxLCAyMSwgMjEwLCA4NywgMjQ5LCAyMjcsIDIxLCAxMjMsIDI0OSwgMjI3LCAyMSwgMTEzLCAKLSAgICAyNDksIDIyNywgMjEsIDEzNCwgMjQ5LCAyMjcsIDIxLCAyNDQsIDE5LCAyNDksIDIyNywgMjEsIDI0NCwgODksIDI0OSwgCi0gICAgMjI3LCAyMSwgMjE5LCAxMjcsIDI0OSwgMjI3LCAyMSwgMjIwLCAxMjQsIDI0OSwgMjI3LCAyMSwgMjQ1LCAyMDEsIDI0OSwgCi0gICAgMjI3LCAyMSwgMjI4LCAyMDUsIDI0OSwgMjI3LCA4OCwgNywgNiwgMSwgNjEsIDg4LCA3LCA2LCAxLCAyNTMsIDE2NiwgODgsIAotICAgIDcsIDYsIDEsIDI1MSwgNzQsIDg4LCA3LCA2LCAxLCAyNDksIDY4LCA4OCwgNywgNiwgMSwgNzYsIDg4LCA3LCA2LCAxLCAKLSAgICAyNDUsIDE0LCA4OCwgNywgNiwgMSwgMjQzLCAyMDksIDg4LCA3LCA2LCAxLCAyNDIsIDY3LCA4OCwgNywgNiwgMSwgNzQsIAotICAgIDg4LCA3LCA2LCAxLCAyMzUsIDE1MCwgODgsIDcsIDYsIDEsIDIzNSwgMjksIDg4LCA3LCA2LCAxLCAxNTYsIDg4LCA3LCA2LCAKLSAgICAxLCAxOTQsIDg4LCA3LCA2LCAxLCAyMzAsIDMwLCA4OCwgNywgNiwgMSwgNzgsIDg4LCA3LCA2LCAxLCAyMjYsIDEwOSwgODgsIAotICAgIDcsIDYsIDEsIDIyNCwgOTksIDg4LCA3LCA2LCAxLCAxNTMsIDg4LCA3LCA2LCAxLCAyMjIsIDkzLCA4OCwgNywgNiwgMSwgCi0gICAgMjE3LCAxNTMsIDg4LCA3LCA2LCAxLCA2OSwgODgsIDcsIDYsIDEsIDIxNCwgMTA1LCA4OCwgNywgNiwgMSwgMjEyLCA5OCwgCi0gICAgODgsIDcsIDYsIDEsIDIxMSwgMTc4LCA4OCwgNywgNiwgMSwgMjExLCAxMTcsIDg4LCA3LCA2LCAxLCAyMTAsIDE1OSwgMjE2LCAKLSAgICA3LCAyMjAsIDU1LCAyNTEsIDE2NSwgNywgNiwgMSwgMjIyLCA5MywgMzcsIDMyLCA3LCA2LCAxLCAyNTEsIDc0LCAzNywgMzIsIAotICAgIDcsIDYsIDEsIDE1MywgMzcsIDI1MCwgMTk5LCAzNywgMjExLCAxODAsIDkyLCA3LCA2LCAxLCA2MSwgOTIsIDcsIDYsIDEsIAotICAgIDI1MywgMTY2LCA5MiwgNywgNiwgMSwgMjUxLCA3NCwgOTIsIDcsIDYsIDEsIDI0OSwgNjgsIDkyLCA3LCA2LCAxLCA3NiwgCi0gICAgOTIsIDcsIDYsIDEsIDI0NSwgMTQsIDkyLCA3LCA2LCAxLCAyNDMsIDIwOSwgOTIsIDcsIDYsIDEsIDI0MiwgNjcsIDkyLCA3LCAKLSAgICA2LCAxLCA3NCwgOTIsIDcsIDYsIDEsIDIzNSwgMTUwLCA5MiwgNywgNiwgMSwgMjM1LCAyOSwgOTIsIDcsIDYsIDEsIDE1NiwgCi0gICAgOTIsIDcsIDYsIDEsIDE5NCwgOTIsIDcsIDYsIDEsIDIzMCwgMzAsIDkyLCA3LCA2LCAxLCA3OCwgOTIsIDcsIDYsIDEsIAotICAgIDIyNiwgMTA5LCA5MiwgNywgNiwgMSwgMjI0LCA5OSwgOTIsIDcsIDYsIDEsIDE1MywgOTIsIDcsIDYsIDEsIDIyMiwgOTMsIAotICAgIDkyLCA3LCA2LCAxLCAyMTcsIDE1MywgOTIsIDcsIDYsIDEsIDY5LCA5MiwgNywgNiwgMSwgMjE0LCAxMDUsIDkyLCA3LCA2LCAKLSAgICAxLCAyMTIsIDk4LCA5MiwgNywgNiwgMSwgMjExLCAxNzgsIDkyLCA3LCA2LCAxLCAyMTEsIDExNywgOTIsIDcsIDYsIDEsIAotICAgIDIxMCwgMTU5LCA5MiwgMjQwLCAyMDgsIDkyLCAyMzAsIDU0LCA5MiwgMjIxLCAxODUsIDkyLCAyMTgsIDIyOCwgOTIsIDIyNCwgCi0gICAgMjIxLCA5MiwgMjEyLCAyMywgMTUyLCAzNywgNywgNiwgMSwgNjEsIDE1MiwgMzcsIDcsIDYsIDEsIDI1MywgMTY2LCAxNTIsIAotICAgIDM3LCA3LCA2LCAxLCAyNTEsIDc0LCAxNTIsIDM3LCA3LCA2LCAxLCAyNDksIDY4LCAxNTIsIDM3LCA3LCA2LCAxLCA3NiwgCi0gICAgMTUyLCAzNywgNywgNiwgMSwgMjQ1LCAxNCwgMTUyLCAzNywgNywgNiwgMSwgMjQzLCAyMDksIDE1MiwgMzcsIDcsIDYsIDEsIAotICAgIDI0MiwgNjcsIDE1MiwgMzcsIDcsIDYsIDEsIDc0LCAxNTIsIDM3LCA3LCA2LCAxLCAyMzUsIDE1MCwgMTUyLCAzNywgNywgNiwgCi0gICAgMSwgMjM1LCAyOSwgMTUyLCAzNywgNywgNiwgMSwgMTU2LCAxNTIsIDM3LCA3LCA2LCAxLCAxOTQsIDE1MiwgMzcsIDcsIDYsIAotICAgIDEsIDIzMCwgMzAsIDE1MiwgMzcsIDcsIDYsIDEsIDc4LCAxNTIsIDM3LCA3LCA2LCAxLCAyMjYsIDEwOSwgMTUyLCAzNywgNywgCi0gICAgNiwgMSwgMjI0LCA5OSwgMTUyLCAzNywgNywgNiwgMSwgMTUzLCAxNTIsIDM3LCA3LCA2LCAxLCAyMjIsIDkzLCAxNTIsIDM3LCAKLSAgICA3LCA2LCAxLCAyMTcsIDE1MywgMTUyLCAzNywgNywgNiwgMSwgNjksIDE1MiwgMzcsIDcsIDYsIDEsIDIxNCwgMTA1LCAxNTIsIAotICAgIDM3LCA3LCA2LCAxLCAyMTIsIDk4LCAxNTIsIDM3LCA3LCA2LCAxLCAyMTEsIDE3OCwgMTUyLCAzNywgNywgNiwgMSwgMjExLCAKLSAgICAxMTcsIDE1MiwgMzcsIDcsIDYsIDEsIDIxMCwgMTU5LCAyMjMsIDE2MCwgMjMxLCAxMDIsIDUwLCAyMjMsIDE2MCwgMjMxLCAKLSAgICA5OSwgNTAsIDE1MiwgOTIsIDcsIDYsIDEsIDYxLCAxNTIsIDkyLCA3LCA2LCAxLCAyNTMsIDE2NiwgMTUyLCA5MiwgNywgNiwgCi0gICAgMSwgMjUxLCA3NCwgMTUyLCA5MiwgNywgNiwgMSwgMjQ5LCA2OCwgMTUyLCA5MiwgNywgNiwgMSwgNzYsIDE1MiwgOTIsIDcsIAotICAgIDYsIDEsIDI0NSwgMTQsIDE1MiwgOTIsIDcsIDYsIDEsIDI0MywgMjA5LCAxNTIsIDkyLCA3LCA2LCAxLCAyNDIsIDY3LCAKLSAgICAxNTIsIDkyLCA3LCA2LCAxLCA3NCwgMTUyLCA5MiwgNywgNiwgMSwgMjM1LCAxNTAsIDE1MiwgOTIsIDcsIDYsIDEsIDIzNSwgCi0gICAgMjksIDE1MiwgOTIsIDcsIDYsIDEsIDE1NiwgMTUyLCA5MiwgNywgNiwgMSwgMTk0LCAxNTIsIDkyLCA3LCA2LCAxLCAyMzAsIAotICAgIDMwLCAxNTIsIDkyLCA3LCA2LCAxLCA3OCwgMTUyLCA5MiwgNywgNiwgMSwgMjI2LCAxMDksIDE1MiwgOTIsIDcsIDYsIDEsIAotICAgIDIyNCwgOTksIDE1MiwgOTIsIDcsIDYsIDEsIDE1MywgMTUyLCA5MiwgNywgNiwgMSwgMjIyLCA5MywgMTUyLCA5MiwgNywgNiwgCi0gICAgMSwgMjE3LCAxNTMsIDE1MiwgOTIsIDcsIDYsIDEsIDY5LCAxNTIsIDkyLCA3LCA2LCAxLCAyMTQsIDEwNSwgMTUyLCA5MiwgCi0gICAgNywgNiwgMSwgMjEyLCA5OCwgMTUyLCA5MiwgNywgNiwgMSwgMjExLCAxNzgsIDE1MiwgOTIsIDcsIDYsIDEsIDIxMSwgMTE3LCAKLSAgICAxNTIsIDkyLCA3LCA2LCAxLCAyMTAsIDE1OSwgMjQ5LCAxMzYsIDE1MiwgOTIsIDcsIDYsIDEsIDIyNiwgMTA5LCAxNTIsIAotICAgIDkyLCAyNDAsIDEyMCwgMTUyLCA5MiwgMTkxLCAxNTIsIDkyLCAyMDYsIDE1MiwgOTIsIDI1NSwgMzQsIDE1MiwgOTIsIDIxMiwgCi0gICAgMjMsIDQyLCAyNDcsIDE3MiwgOTIsIDI1MCwgMzEsIDkyLCAyNDksIDE3OCwgOTIsIDI0NCwgNCwgOTIsIDI0MCwgMTEyLCAKLSAgICA5MiwgMjI5LCA5MSwgOTIsIDIyOSwgODQsIDkyLCAyMjYsIDIxOCwgOTIsIDIxOSwgMzcsIDkyLCAxMjAsIDIsIDI0NSwgMzksIAotICAgIDc5LCA5MiwgMjEzLCAxMTksIDIyMywgMTA2LCAyMzUsIDI0NiwgMTYsIDEsIDYxLCAyMjMsIDEwNiwgMjM1LCAyNDYsIDE2LCAKLSAgICAxLCAyNTMsIDE2NiwgMjIzLCAxMDYsIDIzNSwgMjQ2LCAxNiwgMSwgMjUxLCA3NCwgMjIzLCAxMDYsIDIzNSwgMjQ2LCAxNiwgCi0gICAgMSwgMjQ5LCA2OCwgMjIzLCAxMDYsIDIzNSwgMjQ2LCAxNiwgMSwgNzYsIDIyMywgMTA2LCAyMzUsIDI0NiwgMTYsIDEsIAotICAgIDI0NSwgMTQsIDIyMywgMTA2LCAyMzUsIDI0NiwgMTYsIDEsIDI0MywgMjA5LCAyMjMsIDEwNiwgMjM1LCAyNDYsIDE2LCAxLCAKLSAgICAyNDIsIDY3LCAyMjMsIDEwNiwgMjM1LCAyNDYsIDE2LCAxLCA3NCwgMjIzLCAxMDYsIDIzNSwgMjQ2LCAxNiwgMSwgMjM1LCAKLSAgICAxNTAsIDIyMywgMTA2LCAyMzUsIDI0NiwgMTYsIDEsIDIzNSwgMjksIDIyMywgMTA2LCAyMzUsIDI0NiwgMTYsIDEsIDE1NiwgCi0gICAgMjIzLCAxMDYsIDIzNSwgMjQ2LCAxNiwgMSwgMTk0LCAyMjMsIDEwNiwgMjM1LCAyNDYsIDE2LCAxLCAyMzAsIDMwLCAyMjMsIAotICAgIDEwNiwgMjM1LCAyNDYsIDE2LCAxLCA3OCwgMjIzLCAxMDYsIDIzNSwgMjQ2LCAxNiwgMSwgMjI2LCAxMDksIDIyMywgMTA2LCAKLSAgICAyMzUsIDI0NiwgMTYsIDEsIDIyNCwgOTksIDIyMywgMTA2LCAyMzUsIDI0NiwgMTYsIDEsIDE1MywgMjIzLCAxMDYsIDIzNSwgCi0gICAgMjQ2LCAxNiwgMSwgMjIyLCA5MywgMjIzLCAxMDYsIDIzNSwgMjQ2LCAxNiwgMSwgMjE3LCAxNTMsIDIyMywgMTA2LCAyMzUsIAotICAgIDI0NiwgMTYsIDEsIDY5LCAyMjMsIDEwNiwgMjM1LCAyNDYsIDE2LCAxLCAyMTQsIDEwNSwgMjIzLCAxMDYsIDIzNSwgMjQ2LCAKLSAgICAxNiwgMSwgMjEyLCA5OCwgMjIzLCAxMDYsIDIzNSwgMjQ2LCAxNiwgMSwgMjExLCAxNzgsIDIyMywgMTA2LCAyMzUsIDI0NiwgCi0gICAgMTYsIDEsIDIxMSwgMTE3LCAyMjMsIDEwNiwgMjM1LCAyNDYsIDE2LCAxLCAyMTAsIDE1OSwgNDIsIDE0MSwgMjQxLCA3MCwgCi0gICAgOTIsIDU2LCAyMzQsIDI0LCA5MiwgNTYsIDIwNiwgOTIsIDEwLCAyMTQsIDE3NywgMjM4LCA1NywgOTIsIDEwLCAyMTQsIAotICAgIDE3NywgMjM4LCA2MSwgOTIsIDEwLCAyMTQsIDE3NywgMjM4LCA2OSwgOTIsIDU2LCAyNDgsIDk4LCA5MiwgMTAsIDIxNCwgCi0gICAgMTc3LCAyMzgsIDc2LCA5MiwgMTAsIDIxNCwgMTc3LCAyMzgsIDYzLCA5MiwgMTAsIDIxNCwgMTc3LCAyMzgsIDM1LCA5MiwgCi0gICAgMTAsIDIxNCwgMTc3LCAyMzgsIDYyLCA5MiwgMTAsIDIxNCwgMTc3LCAyMzgsIDc1LCA5MiwgMTAsIDIxNCwgMTc3LCAyMzgsIAotICAgIDQ5LCA5MiwgMTAsIDIxNCwgMTc3LCAyMzgsIDQyLCA5MiwgMTAsIDIxNCwgMTc3LCAyMzgsIDUxLCA5MiwgMTAsIDIxNCwgCi0gICAgMTc3LCAyMzgsIDcyLCA5MiwgMTAsIDIxNCwgMTc3LCAyMzgsIDU4LCA5MiwgMTAsIDIxNCwgMTc3LCAyMzgsIDc0LCA5MiwgCi0gICAgMTAsIDIxNCwgMTc3LCAyMzgsIDUwLCA5MiwgMTAsIDIxNCwgMTc3LCAyMzgsIDczLCA5MiwgMTAsIDIxNCwgMTc3LCAyMzgsIAotICAgIDM2LCA5MiwgMTAsIDIxNCwgMTc3LCAyMzgsIDQxLCA5MiwgMTAsIDIxNCwgMTc3LCAyMzgsIDM0LCA5MiwgMTAsIDIxNCwgCi0gICAgMTc3LCAyMzgsIDY0LCA5MiwgMTAsIDIxNCwgMTc3LCAyMzgsIDY2LCA5MiwgMTAsIDIxNCwgMTc3LCAyMzgsIDQ0LCA5MiwgCi0gICAgMTAsIDIxNCwgMTc3LCAyMzgsIDU1LCA5MiwgMTAsIDIxNCwgMTc3LCAyMzgsIDUzLCA5MiwgMTAsIDIxNCwgMTc3LCAyMzgsIAotICAgIDc5LCA5MiwgMTAsIDIxNCwgMTc3LCAyMzgsIDc4LCA5MiwgMTAsIDIxNCwgMTc3LCAyMzgsIDMyLCA5MiwgMTAsIDIxNCwgCi0gICAgMTc3LCAyMzgsIDU5LCA5MiwgMTAsIDIxNCwgMTc3LCAyMzgsIDc3LCA5MiwgMTAsIDIxNCwgMTc3LCAyMzgsIDY4LCA5MiwgCi0gICAgMTAsIDIxNCwgMTc3LCAyMzgsIDU0LCA5MiwgMTAsIDIxNCwgMTc3LCAyMzgsIDMzLCA5MiwgMTAsIDIxNCwgMTc3LCAyMzgsIAotICAgIDU2LCA5MiwgMTAsIDIxNCwgMTc3LCAyMzgsIDM4LCA5MiwgMTAsIDIxNCwgMTc3LCAyMzgsIDM3LCA5MiwgMTAsIDIxNCwgCi0gICAgMTc3LCAyMzgsIDY3LCA5MiwgMTAsIDIxNCwgMTc3LCAyMzgsIDQ1LCA5MiwgMTAsIDIxNCwgMTc3LCAyMzgsIDQ3LCA5MiwgCi0gICAgMTAsIDIxNCwgMTc3LCAyMzgsIDQ4LCA5MiwgMTAsIDIxNCwgMTc3LCAyMzgsIDQwLCA5MiwgMTAsIDIxNCwgMTc3LCAyMzgsIAotICAgIDcxLCA5MiwgMTAsIDIxNCwgMTc3LCAyMzgsIDY1LCAyMTYsIDcsIDIyMCwgNTUsIDI1MSwgMTY1LCAxMCwgMjE0LCAxNzcsIAotICAgIDIzOCwgNDYsIDIxNiwgNywgMjIwLCA1NSwgMjUxLCAxNjUsIDEwLCAyMTQsIDE3NywgMjM4LCA3OCwgMjE2LCA3LCAyMjAsIAotICAgIDU1LCAyNTEsIDE2NSwgMTAsIDIxNCwgMTc3LCAyMzgsIDc2LCAyMTYsIDcsIDIyMCwgNTUsIDI1MSwgMTY1LCAxMCwgMjE0LCAKLSAgICAxNzcsIDIzOCwgNjAsIDIxNiwgNywgMjIwLCA1NSwgMjUxLCAxNjUsIDEwLCAyMTQsIDE3NywgMjM4LCA0MywgMjE2LCA3LCAKLSAgICAyMjAsIDU1LCAyNTEsIDE2NSwgMTAsIDIxNCwgMTc3LCAyMzgsIDU2LCAyMTYsIDcsIDIyMCwgNTUsIDI1MSwgMTY1LCAxMCwgCi0gICAgMjE0LCAxNzcsIDIzOCwgMzksIDIxNiwgNywgMjIwLCA1NSwgMjUxLCAxNjUsIDEwLCAyMTQsIDE3NywgMjM4LCA3MCwgMjE2LCAKLSAgICA3LCAyMjAsIDU1LCAyNTEsIDE2NSwgMTAsIDIxNCwgMTc3LCAyMzgsIDUyLCAzNywgMTU0LCAyNTQsIDI1NCwgMzcsIDE1NCwgCi0gICAgMjU1LCAyMSwgMjQ5LCA3OSwgMjQ0LCA1MCwgMjUwLCA4LCAyMTQsIDE5NCwgMjI4LCAyMTgsIDIsIDIxOCwgMTU1LCAyMTgsIAotICAgIDM0LCAxMTUsIDIzMCwgMTE5LCAyMTgsIDMzLCAyNTAsIDM0LCAyNTMsIDIxNSwgMjQ2LCA2MiwgMjE4LCAzMiwgMTE1LCAKLSAgICAyNTEsIDEyNiwgMjIzLCAxNjEsIDI1MSwgMTQ4LCAyNTMsIDIxNSwgMjI4LCAyMTcsIDIxMiwgNDEsIDIxMiwgMzUsIDIxMywgCi0gICAgMTMxLCAyMzAsIDIwMCwgMjEyLCAyNSwgMjQ1LCAyMzIsIDI0MiwgMTg4LCAyNDUsIDUzLCAyNDUsIDIzMiwgMjQyLCAxODgsIAotICAgIDI1NCwgMTM2LCAyNDUsIDIzMiwgMjQyLCAxODgsIDI1MywgMjMzLCAyNDIsIDE4OCwgMiwgMjMxLCA1NiwgMTY2LCAyMzAsIAotICAgIDEzNCwgODcsIDIxMiwgMjcsIDI0OSwgMTQ1LCAyMzAsIDEzNCwgODcsIDI0NCwgMTAwLCAyMjQsIDI1LCAyMzAsIDEzNCwgCi0gICAgODcsIDIxMiwgMjcsIDI0MiwgMjE3LCAyMzAsIDEzNCwgODcsIDI0MywgMjM2LCAyMzAsIDEzNCwgODcsIDIxMiwgNTIsIAotICAgIDI0MiwgMjE3LCAyMzAsIDEzNCwgODcsIDIzMywgODYsIDIyNCwgMjUsIDIzMCwgMTM0LCA4NywgMjEyLCA1MiwgMjQ5LCAKLSAgICAxNDUsIDIzMCwgMTM0LCA4NywgMjQ5LCAxNDUsIDIzMCwgMTMzLCAxNjYsIDIzMCwgMTM0LCAyLCAyNDQsIDE5OCwgMjQ0LCAKLSAgICAxMDAsIDIyNCwgMjUsIDIzMCwgMTM0LCAyLCAyNDQsIDE5OCwgMjMzLCA4NiwgMjI0LCAyNSwgMjMwLCAxMzQsIDIsIDI0NCwgCi0gICAgMTk4LCAyNDMsIDIzNiwgMjMwLCAxMzQsIDIsIDI0NCwgMTk4LCAyMTgsIDM5LCAyLCAyNDQsIDE5OCwgMjQyLCAxODYsIAotICAgIDIxOCwgMTU4LCAyMjAsIDEsIDIxOCwgMTU4LCAyNTAsIDEyNCwgMjIxLCAxNzAsIDI0NSwgNDcsIDIxNSwgMjM2LCAyNDgsIAotICAgIDkyLCAyMTUsIDIzNiwgMjI2LCA2MywgMjE1LCAyMzYsIDI1MSwgMzUsIDIxNSwgMTEwLCAyNTAsIDEyNiwgMjUxLCAyMTgsIAotICAgIDIyMiwgMTkzLCAyNDEsIDE4NiwgMjE4LCAzNywgMjUxLCAyMTgsIDI0NSwgMjM2LCA2NCwgMjMxLCAxOTksIDI0NSwgMjM2LCAKLSAgICA2NCwgMjIzLCAzNCwgMjQxLCAyMTEsIDI0NCwgMTksIDIzMywgNjAsIDI0OSwgMjU0LCAyMzEsIDE3NSwgMjMzLCA1OSwgCi0gICAgMjQ0LCAxODQsIDIzMywgNTksIDIzMywgNjAsIDI0NCwgNTUsIDIzNiwgNywgMjExLCAyMzksIDIzMCwgNjMsIDIxNiwgMzUsIAotICAgIDI1MywgMTk5LCAyNDIsIDE1MCwgMjMxLCA3MiwgMjEyLCAzOSwgMjE3LCA1OCwgMjMzLCAzMiwgMjUyLCAxNTcsIDIyNSwgCi0gICAgNjUsIDIyMywgMTE0LCAyNTQsIDYyLCAyNDIsIDEzNCwgMjU0LCA2MiwgMjI1LCAyMjAsIDIyNSwgMjIxLCAyNTAsIDEyNywgCi0gICAgMjE4LCAxMTYsIDI0MiwgMzAsIDIxOSwgOTIsIDY0LCAyMjUsIDQ3LCAyMzEsIDkyLCAyMjYsIDIwMSwgMjUxLCAyMDIsIAotICAgIDIyNCwgMjMyLCAyMzMsIDQyLCAyMjMsIDM1LCAyNDksIDE1MCwgMjIzLCAzNSwgMjUyLCAxNjcsIDI0OSwgMTgxLCAyMjMsIAotICAgIDM0LCAyNDksIDEwMywgMjIsIDIyMywgMzQsIDIxOCwgMTQzLCAyNTEsIDE3NSwgMjE5LCAxNiwgMjUxLCAxNTksIDI0NCwgMywgCi0gICAgMjQzLCAyNTUsIDIyMiwgMjA5LCAyMTcsIDI0NywgMjI0LCAyMzQsIDI0OCwgMTgzLCAyMjYsIDI0MCwgMjE4LCA4LCAyNDQsIAotICAgIDAsIDIxOSwgMjMyLCAyNDQsIDk5LCAyNTEsIDI5LCAyLCAyMTcsIDI0MCwgMjQ4LCA0MywgMjE5LCA1NCwgMjQwLCAxMTksIAotICAgIDI0OSwgMTQ5LCAyMjAsIDcyLCAyNDAsIDExOCwgMjQwLCAxMTksIDI0OSwgMTQ5LCAyNDYsIDExNiwgMjQ5LCAxODAsIDI1MCwgCi0gICAgOTIsIDEzMCwgMjUxLCA2LCAyMzIsIDE0NywgMjQ5LCA5NiwgMjQxLCA2MiwgMjI0LCAyMzYsIDIxOSwgMjQyLCAyNTIsIDQ0LCAKLSAgICAyNTEsIDE3MSwgMjI0LCAyMzcsIDY0LCAyNDQsIDQxLCAyNDksIDE3OSwgMjQ0LCAzMiwgMjIsIDIzNCwgMzgsIDIxNywgMjAsIAotICAgIDIxMSwgMjMwLCAyNDIsIDIwLCAyMjIsIDE0LCAyNTEsIDE4NSwgMjIsIDI0OSwgMTEwLCAyMTEsIDIzNywgMjQyLCAxOTEsIAotICAgIDI0OSwgMjQzLCAyNDIsIDE5MSwgMjE1LCAxOTQsIDI0NiwgOTgsIDI1MiwgNzAsIDIzMCwgOTgsIDI1MCwgMTUsIDI1MiwgCi0gICAgNzAsIDIzMCwgOTcsIDI1MiwgMTk1LCAyNTEsIDE4NCwgMjIzLCAzNiwgMjExLCAyMDEsIDIyNCwgMTk4LCAyNTEsIDI0MywgCi0gICAgMjUxLCAyOCwgMjM1LCAxNDQsIDI1MCwgODUsIDIxNSwgMjM2LCAyNDQsIDE3MCwgMjUwLCA4NCwgMjQ0LCAxMDIsIDI0NCwgCi0gICAgMTAzLCAyMTksIDE0LCAyNTIsIDE2NiwgMjI1LCAyNTQsIDIyNCwgMjQ3LCAyNDksIDIxMiwgMjUyLCAxNjcsIDIxNywgNjAsIAotICAgIDIxNSwgMjM2LCAyNDksIDEzNiwgMjQ0LCA3NSwgMjI1LCA2NiwgMjQ4LCA4OSwgMjM1LCAxMzcsIDI0NywgMTM5LCAyNTAsIAotICAgIDI0MCwgMjE4LCAxMTUsIDIxMSwgMjQwLCAyNTAsIDEwNiwgMjMwLCAxMzQsIDIxMywgMTY0LCAyNTAsIDE3MCwgMjIxLCAKLSAgICAyMDEsIDIyMSwgMjI2LCAyNDIsIDE1NSwgMjUxLCAzLCAyNTAsIDI0MSwgMjQwLCAyNTIsIDI0NCwgMTM4LCAyMTIsIDAsIAotICAgIDIyMiwgMjAyLCAyNDksIDI0NCwgMjQ0LCA5NCwgMjI1LCA1LCAyMiwgMjQ0LCA5OCwgMjMwLCAyMzIsIDIzMCwgMTEzLCAKLSAgICAyNTEsIDE4LCAyNTAsIDQ3LCAyNDEsIDIzOSwgMjUzLCAyNDksIDIyNiwgNjYsIDIxNiwgMTUsIDI0MiwgMiwgMjUwLCAzNywgCi0gICAgMjE2LCAyNDMsIDIxNiwgMTE0LCAyNTAsIDI4LCAyNTEsIDIxMCwgMjI1LCAxODAsIDI1MywgMjQ4LCAyMTMsIDE3MiwgMjQzLCAKLSAgICAxMTcsIDI0NywgMjA1LCAyNDEsIDE2MywgMjE5LCA4NiwgMjMxLCAyMzksIDI1MSwgMjUzLCAyNDMsIDExOCwgMjQ3LCAyNDgsIAotICAgIDI1MSwgMTc0LCAyNDQsIDYwLCAyMjUsIDM2LCAyNTAsIDI0OSwgMjgsIDIyOCwgNTIsIDIzMCwgOTAsIDI4LCAyMjgsIDQ3LCAKLSAgICAyMjEsIDIxNCwgMjQyLCAxMDYsIDI4LCAyMzQsIDE0MywgMjE1LCAxOTEsIDIxMywgMTU0LCAyOCwgMjIxLCAxOTQsIDIyMiwgCi0gICAgMTI2LCAyMjAsIDEzLCAyLCAyMjEsIDIyOSwgMjE2LCAyNDUsIDIyMywgMTgxLCAyMiwgMjUyLCAxNjcsIDIxOSwgMTA3LCAKLSAgICAyMiwgMjE5LCAxMDcsIDI1MSwgMTk1LCAyNTIsIDEzMSwgMjIsIDI0MSwgNTYsIDI1MCwgMTI4LCAyNDQsIDgxLCAyMTksIAotICAgIDY1LCAyMjIsIDEyNywgMjE4LCAxMywgMjE1LCAxOTUsIDI0MCwgMjUzLCAyMjMsIDE4MiwgMjU0LCAxMzcsIDI0NCwgMzksIAotICAgIDIyMiwgMTM4LCAyNDQsIDM5LCAyMTcsIDI0MiwgMjQwLCAyNDIsIDI1MSwgMTI3LCAyNDAsIDI0MiwgMiwgMjQzLCAxMDEsIAotICAgIDIyNiwgMjMzLCAyNTEsIDEyNywgMjM1LCAxMzcsIDIyNCwgMjQyLCAyMjYsIDIzMiwgMjQ1LCA1MiwgMjI0LCAyNDIsIDIyNiwgCi0gICAgMjMyLCAyNDAsIDI1MSwgMjUyLCAxNTMsIDI1MywgMTg5LCAyMTYsIDI1MywgMjMxLCAyMzksIDI0MCwgMjQ3LCAyMzIsIAotICAgIDExNywgMjQwLCAyNDcsIDI0OSwgMTg0LCAyMTgsIDEyNywgMjIxLCAyMDAsIDI0OCwgNTEsIDIxOCwgMTI3LCAyNDQsIDE4OCwgCi0gICAgMjM1LCAxNTUsIDIzMywgOTUsIDIzNSwgMTM3LCAyNTAsIDIzNCwgMjQ1LCA1MiwgMjUwLCAyMzQsIDIyMywgMTQ0LCAyMzAsIAotICAgIDExNywgMjI2LCAxMTgsIDIxMiwgNDEsIDI1MSwgMTMxLCAyNDksIDE1MywgMjE2LCAxMDcsIDIzMywgMjQsIDIyMywgMTgzLCAKLSAgICAyNTAsIDIzMiwgMjQ2LCAxMDQsIDI0OSwgMTQzLCAyMTIsIDMsIDIxOSwgNzIsIDIxOSwgNzAsIDI0MCwgMjUyLCAyMjMsIAotICAgIDE1NiwgMjQyLCAxNzcsIDIyMCwgNTksIDIzMCwgMTUwLCAyMjIsIDE5NiwgMjUwLCAxMTYsIDI0NywgMTQ0LCAyMjUsIDc2LCAKLSAgICAyNTEsIDIxMSwgMjQ1LCAxNzcsIDIyNiwgMjQyLCAyMTgsIDI1NCwgMjIwLCA1NCwgMjUxLCAxMzAsIDI1NCwgMTAwLCAyNDEsIAotICAgIDYxLCAyMzMsIDEyNywgMjUyLCA2OCwgMjQ0LCA5OCwgMjE1LCAxOTQsIDI0NCwgOTgsIDI1MSwgMjE3LCAyMTUsIDkxLCAKLSAgICAyNDIsIDAsIDI1MCwgMTE3LCAyNTIsIDE5NSwgMjUwLCAxMTcsIDI0MywgMjUwLCAyNTIsIDE5NSwgMjUwLCAxMTcsIDI1MSwgCi0gICAgMjQ1LCAyMjUsIDE5OCwgMjM0LCAzMiwgMjI0LCAyNTEsIDI0NiwgOTUsIDI1MSwgMTksIDI1MiwgMTg1LCAyNTEsIDE5LCAKLSAgICAyNDcsIDEzOCwgMjMwLCAxMTgsIDI0NCwgMTk4LCAyNDksIDE1NCwgMjQ0LCAxOTgsIDIxNiwgMTA4LCAyNDQsIDE5OCwgCi0gICAgMjIzLCAxODQsIDI0NCwgMTk4LCAyNTAsIDIzMywgMjQ0LCAxOTgsIDI0NiwgMTA1LCAyNDQsIDE5OCwgMjE4LCAyNDMsIAotICAgIDIxMiwgMywgMjQwLCAyNTMsIDI0NCwgMTk4LCAyMzAsIDE1MSwgMjQ0LCAxOTgsIDI0NywgMTQ1LCAyNDQsIDE5OCwgMjI1LCAKLSAgICA3NywgMjQ0LCAxOTgsIDI0MywgMjUzLCAyNDQsIDE5OCwgMjQyLCAyNywgMjQ0LCAxOTgsIDIxMSwgMjI0LCAyNDQsIDE5OCwgCi0gICAgMjUyLCA3OSwgMjQ0LCAxOTgsIDIyNiwgNDksIDI0NCwgMTk4LCAyMjUsIDc3LCAyMjgsIDU4LCAyMjUsIDIzNiwgMjI0LCAKLSAgICAxODksIDI0NSwgMjEsIDI0NSwgMjM1LCAyMjgsIDU4LCAyMzAsIDExNSwgMjE2LCAyMCwgNzEsIDEyMCwgMjI1LCAxMCwgCi0gICAgMjUyLCAxOTAsIDIzNSwgMjQ5LCA3MSwgMTI0LCAyMjUsIDEwLCAyNTIsIDE5MCwgMjM1LCAyNDksIDcxLCA0MywgMjI1LCAKLSAgICAxMCwgMjUyLCAxOTAsIDIzNSwgMjQ5LCA3MSwgNDQsIDIyNSwgMTAsIDI1MiwgMTkwLCAyMzUsIDI0OSwgMjQ0LCA5MiwgCi0gICAgMjQyLCAyMywgNTAsIDIxMiwgMzMsIDI0MiwgMjMsIDUwLCAyMjYsIDIxOSwgMjQyLCAyMywgNTAsIDIxNiwgMTM2LCAxMjAsIAotICAgIDUwLCAyMTYsIDEzNiwgMTI0LCA1MCwgMjUwLCAyNywgMjQyLCAxOCwgNTAsIDIwNCwgMjQyLCAxOCwgNTAsIDI0OSwgMTMxLCAKLSAgICAyMTEsIDIyMCwgMjQyLCAyLCAyNDUsIDIyLCAyMjksIDEwOSwgMjE3LCAxNTIsIDIzNSwgMTMxLCAyNDYsIDEwMCwgMjM0LCAKLSAgICA4OCwgMjUxLCAyNTUsIDIxMSwgMjIwLCAyNTAsIDEsIDIyNCwgMTMwLCAyNDIsIDIxLCAyMjQsIDIzMywgMjMxLCAxODIsIAotICAgIDIyMCwgNiwgMjUzLCAyMTEsIDIyMCwgNiwgMjQxLCAxNzEsIDIyMCwgNiwgMjExLCAyMjAsIDIyMSwgMjQyLCAyMTEsIDIyMCwgCi0gICAgMjUxLCAxOTQsIDI0NCwgMzcsIDI1MSwgOTgsIDIzNiwgNywgMjE5LCAxNzEsIDI1MSwgOTcsIDIzNiwgNywgMjE5LCAxNzEsIAotICAgIDI1MSwgMTcwLCAyNDIsIDIwMSwgMjMxLCAxOTAsIDIxMSwgMjIxLCAyNDQsIDE4MiwgMjMxLCAxOTEsIDIyLCAyMTEsIDIyMiwgCi0gICAgMjQxLCA2NywgMjQyLCAxNywgMTEzLCAyMzEsIDY0LCAyNDEsIDY3LCAyNDIsIDE3LCAxMTMsIDIxMSwgMjE5LCAyNDEsIDY3LCAKLSAgICAyNDIsIDE3LCAyMjUsIDIsIDIyNiwgMjMxLCAyMTEsIDIyMiwgMiwgMjUxLCAxMTQsIDI0NSwgMjMzLCAyNTEsIDE0OSwgMiwgCi0gICAgMjEzLCAyNDYsIDIyNSwgMTcxLCAyLCAyNTEsIDIyMCwgMjQyLCA0MSwgMjMxLCAxOTEsIDIsIDI0MiwgMTE3LCAyMjUsIAotICAgIDExMiwgMjMxLCAxNzksIDIzMSwgMTkxLCAyLCAyMTUsIDk4LCAyMjYsIDIxMiwgMjMxLCAxOTAsIDIyNiwgMjEyLCAyMTEsIAotICAgIDIyMSwgMjUyLCAxOTQsIDI0OSwgMTk4LCAyMTEsIDIwNSwgMjI0LCAxOTIsIDIzNSwgMTM3LCAyMjYsIDIyNywgMjM1LCAKLSAgICAxMzcsIDI0MiwgMTc2LCAyNDIsIDIyOSwgMjUyLCAxOTUsIDI1NCwgMTIxLCAyNDUsIDI2LCAyNTQsIDE2OSwgMjU0LCAxNzAsIAotICAgIDIzMCwgMTQxLCAyMzYsIDEyLCAyMTksIDEwMiwgMjM1LCAyMzksIDI0OCwgNDIsIDIyNSwgMTcwLCAyNDIsIDExMiwgMjQ4LCAKLSAgICAxODcsIDIzMiwgMjA3LCAyMjksIDIxNiwgMjI1LCAxLCAyNDQsIDE5OSwgMjMxLCAxNDcsIDI0MiwgNDAsIDI1MiwgMTQ2LCAKLSAgICAyMjUsIDQsIDIxNywgMTcyLCAyMjUsIDY5LCAyMzQsIDcwLCA3OSwgMjMyLCAxMTcsIDIzMywgMTYsIDIyMiwgMjM2LCAyNDMsIAotICAgIDYxLCAyMTgsIDEzMywgMjM0LCA2OSwgMjUxLCAxNzksIDI0OSwgMTU2LCAyLCAyNDEsIDIzNCwgMjEyLCAxOSwgMjUyLCA3NywgCi0gICAgMjQxLCAyMzQsIDI1MSwgMTQzLCAyNDEsIDIzNCwgMTEzLCAyNDEsIDIzMiwgMjE5LCAxMiwgMjQxLCAyMzQsIDI0MiwgMTI3LCAKLSAgICAyNDEsIDIzNCwgMjQxLCAyMzUsIDIsIDc1LCAyNTEsIDIxNiwgMjQxLCAyMzQsIDI0MiwgMTM0LCAyNDEsIDIzNCwgMjExLCAKLSAgICA0MiwgMjQxLCAyMzQsIDIyNCwgMTMxLCAyNDEsIDIzNCwgMjQxLCAyMzUsIDIsIDIyMywgMzYsIDIyMywgNDcsIDI0MSwgCi0gICAgMjMyLCAyNDEsIDIzNSwgMjQ4LCA4OSwgMjQ4LCAxLCAyMjAsIDg0LCAyLCAxMTYsIDU5LCAyMzUsIDIyMiwgMjQ1LCAxODAsIAotICAgIDE5MywgMjUxLCAxMjQsIDI1NCwgMTIwLCA4NywgMjUxLCAyMDMsIDIxOSwgOTQsIDg3LCAyNDksIDIzNiwgODcsIDIxOCwgCi0gICAgMjQ4LCAyMTcsIDI0OSwgODcsIDI0NiwgOTMsIDI0OCwgMTY1LCA4NywgMjI1LCA3MCwgNjQsIDIyNCwgMjUyLCAyNDQsIDY5LCAKLSAgICAyNTIsIDExLCAyNDcsIDE3MywgODcsIDIxOSwgNSwgMjUyLCAxNjYsIDIxNiwgMTUwLCAyNTIsIDE2NiwgNzEsIDI0NCwgNTksIAotICAgIDI0MCwgMjE4LCAyMjUsIDgsIDg3LCAyMzAsIDE1NCwgMjUyLCAxODAsIDI0OSwgMTA2LCAyNDUsIDQwLCAxMTQsIDI0NywgCi0gICAgMTQwLCA1MCwgMjQ5LCAxNDcsIDI1MCwgMjUwLCAyNTIsIDE1MiwgMiwgMjExLCA0MCwgNTAsIDI1MiwgMTUyLCAyLCAyNDcsIAotICAgIDE0MCwgNTAsIDI1MiwgMTUyLCAyLCAyNDUsIDU1LCA1MCwgMjUyLCAxNTIsIDIsIDIyNCwgMjMxLCA1MCwgMjMwLCAxNTQsIAotICAgIDIsIDIxMSwgMjM1LCAyNTAsIDE0NiwgMiwgMjE0LCAxNTMsIDIxNSwgMjMyLCAyMiwgMjExLCA0MCwgNTAsIDIyMSwgMTgwLCAKLSAgICAyMjUsIDE2OSwgMjQ5LCAyMTYsIDI1MSwgMTQ3LCAyMzAsIDE5MSwgMjQ0LCA2NCwgMjQ3LCAxOTMsIDIyNiwgMTY1LCAyNDcsIAotICAgIDE5OCwgMjQ2LCA1NywgMjQ0LCAxMTUsIDI0NCwgNDgsIDIwNCwgMjQ0LCAxMTUsIDI0NCwgNDgsIDIyNiwgODAsIDIsIDI0OSwgCi0gICAgMTA4LCAyMjYsIDgwLCAyNDQsIDE5MSwgMjE0LCAxNjMsIDI1MSwgMjQsIDIxNywgMTksIDI1MSwgMjQsIDI1MCwgMjUxLCAKLSAgICAyMzUsIDI0OSwgMjUwLCAxNDYsIDIsIDIxNCwgMTUzLCAyMTUsIDIzMSwgMjUwLCAxNDYsIDIsIDI0NiwgMTEyLCAyMTUsIAotICAgIDIzMSwgMjUyLCAxNDksIDI1MCwgMTQ1LCAyNTAsIDE0LCAyMjQsIDEyNiwgMjIyLCAxODcsIDIyNCwgMTI2LCAyMjYsIDIzLCAKLSAgICAyMTgsIDEyMywgMjIyLCAxMzMsIDIxNSwgMjIzLCAyMjIsIDEzMywgMjUxLCAxOTksIDIxNywgOTIsIDIzMywgNTcsIDIyOCwgCi0gICAgNTAsIDIyOCwgNTEsIDIsIDI0OCwgODgsIDI0OSwgMTU1LCAyNTAsIDgsIDI1MSwgMjAwLCAyMDQsIDI1MSwgMjAwLCAyNDIsIAotICAgIDEzNCwgMjUxLCAyMDAsIDI1MSwgMjE2LCAyNTEsIDIwMCwgMjI2LCAxNjEsIDI1MSwgMjAwLCAyNTEsIDE5NywgMjI5LCAKLSAgICAyMTAsIDI1MiwgMTgzLCAyMjEsIDE4OCwgMjMxLCA2NSwgMjE3LCAyLCAyMjMsIDEyNiwgMjI2LCA3OCwgMjQ0LCAxNjcsIAotICAgIDIzMSwgMjM5LCAyMjEsIDIyNSwgMjU0LCA5NywgMjI0LCAxNDgsIDI1NSwgNSwgMjMyLCAxMTksIDI1MCwgMTM1LCAyMzEsIAotICAgIDc3LCAyMjYsIDEzMywgMjE1LCAyMzksIDIzNiwgMywgMjE1LCAyMzksIDIyNiwgODYsIDI0NiwgMzIsIDg3LCAyMzYsIDAsIAotICAgIDI0NSwgMTI3LCAyNDUsIDEyOCwgMiwgMjQ2LCAxMTIsIDgwLCA0OCwgMjUwLCA4LCAyMzEsIDIwNSwgMiwgMjMyLCAxMTMsIAotICAgIDI0NCwgODEsIDI1MCwgOCwgMjMxLCAyMDUsIDIsIDIyMywgMTYwLCAyNDQsIDgxLCAyMDQsIDIzMSwgMjA1LCAyLCAyMjMsIAotICAgIDE2MCwgMjQ0LCA4MSwgMjA0LCAyMzEsIDIwNSwgMiwgMjMyLCAxMTMsIDI0NCwgODEsIDIyNCwgMjM5LCAyMjQsIDI0MCwgCi0gICAgMjQwLCAyNTUsIDIyOSwgODksIDIzMCwgMTY0LCAyMjUsIDEyMCwgMjMwLCAxNjQsIDIyNSwgMTIxLCAyLCA5NywgODAsIAotICAgIDI1MywgMjE1LCAyMzMsIDUyLCAyMTMsIDE3NSwgMjMwLCAxNjMsIDIzMCwgMTY0LCAyMjUsIDEyMSwgMjI2LCAyMzQsIDIyOCwgCi0gICAgODAsIDIzMCwgMTY0LCAyMjUsIDExOSwgMjU0LCA5OCwgMiwgMjUyLCAxMzcsIDI1MSwgMTgsIDIxMywgMTcyLCAyNTEsIDE4LCAKLSAgICAyMTYsIDI1NSwgMjIzLCAxNzYsIDIxMywgMTcxLCAyMTUsIDYwLCA5NywgMjUzLCAyNTUsIDI1MCwgMTAsIDk3LCAyMiwgCi0gICAgMTQwLCAyMDQsIDI1MCwgNDQsIDI1MywgMjU1LCAyNTAsIDEwLCA5NywgMjIsIDE0MCwgMjA0LCAyNTAsIDQ0LCAyNTQsIDAsIAotICAgIDIsIDM3LCAxMjMsIDIyNiwgMTI0LCAyNTAsIDEwLCAyNDYsIDExMiwgMjIsIDIxNCwgMTUzLCAyMDQsIDI1MCwgNDQsIDI1MywgCi0gICAgMjU1LCAyNTQsIDk2LCAyNDYsIDExMiwgMjIsIDIxNCwgMTUzLCAyMDQsIDI1MCwgNDQsIDI1MywgMjU1LCAxMjEsIDI1MSwgCi0gICAgMTQ2LCA4NywgMTI1LCAyNTEsIDE0NiwgODcsIDIxOSwgOSwgMiwgMjUxLCAxMiwgOTEsIDIxOSwgOCwgMjE5LCA5LCAyLCAKLSAgICAxMjMsIDIxOSwgMzMsIDIxMiwgMzUsIDIxOSwgOSwgMiwgMTM0LCAyMTksIDMzLCAyMTIsIDM0LCAyNTIsIDEyMywgMjQ1LCAKLSAgICAxODAsIDIyNSwgMzAsIDIzMywgNDgsIDIzMSwgMjE2LCAyNDIsIDE5MSwgMjIyLCAyNTAsIDIzMSwgMjE2LCAyNDIsIDE5MSwgCi0gICAgMjMyLCAxNTgsIDIsIDIzNSwgMjMyLCAyMjUsIDIwMiwgMjUwLCA4LCAyMzIsIDE1OCwgMiwgMjM0LCAxNDQsIDIzNCwgMTQ0LCAKLSAgICAyMzIsIDE1NywgMjA0LCAyMzIsIDE1NywgMjUyLCA1MiwgMjUyLCA1MywgMiwgMjUxLCAxMiwgOTEsIDI1MSwgMTk4LCAyMzIsIAotICAgIDIxMCwgODcsIDIyMywgMTc3LCAyNTEsIDk0LCAyNTIsIDE5MywgMiwgMTQwLCA4MCwgNDgsIDI0NSwgMTUxLCAyLCAxNDAsIAotICAgIDgwLCA0OCwgMjI2LCAyMDEsIDIsIDI0NSwgMzksIDE2NCwgMiwgNDMsIDQ0LCA4MCwgNDgsIDIxOSwgNDEsIDIsIDk3LCA4MCwgCi0gICAgNDgsIDIxNiwgMTUsIDIsIDIxNCwgMTUzLCA4MCwgNDgsIDIyOCwgODAsIDEyMywgMjE0LCAxODQsIDI0NSwgMTk5LCA4NywgCi0gICAgMjM0LCAxNDIsIDIxNiwgMjQ4LCAyMzUsIDIyNiwgMTYsIDMxLCA3LCA2LCAyMzMsIDE1LCAyMzUsIDIyNiwgMTYsIDMxLCA3LCAKLSAgICA0LCAyMzMsIDE1LCAyMzUsIDIyNiwgMTYsIDMxLCAyMjcsIDIwMywgMjM1LCAyMjYsIDE2LCAzMSwgMjE3LCAxODQsIDIzNSwgCi0gICAgMjI2LCAxNiwgMzEsIDcsIDIzMywgMTUsIDI0NCwgMTA0LCAyNDUsIDE4MCwgMjE2LCAxMCwgMjExLCAxOTksIDI0MiwgMjgsIAotICAgIDIyNywgMTg2LCAyMiwgMjUxLCAyMDUsIDI0MSwgNzMsIDIyNSwgNTMsIDIzMCwgMjMxLCAyMTcsIDAsIDI0OSwgMTIyLCAKLSAgICAyNTIsIDE2NywgMjE5LCAxMjcsIDIyNSwgMTIsIDIxOCwgMTU5LCAyLCAyMzAsIDIyOSwgMjQ3LCAxMjgsIDIzNSwgMTM3LCAKLSAgICAxNiwgMzEsIDI1MiwgNjUsIDIxNSwgMjIxLCAyNDUsIDE2NCwgODUsIDQyLCAyNTEsIDk0LCA3MSwgNDIsIDI1MSwgOTQsIAotICAgIDIzMywgOTEsIDIyMywgMTE0LCAyNTAsIDQzLCAyMzMsIDkxLCAyNTEsIDIxNiwgMjUwLCA0MywgMjMzLCA5MSwgMjI2LCAKLSAgICAxNjEsIDI0OCwgMCwgMjMzLCA5MSwgMjUxLCAyMTYsIDI0OCwgMCwgNCwgMjI2LCAxNjEsIDI0OCwgMCwgNCwgMjUxLCAyMTYsIAotICAgIDI0OCwgMCwgMjE0LCAxNjIsIDIyMywgMTE0LCAyMTUsIDIyNiwgMjQ2LCAxMTMsIDIyMywgMTE0LCAyMTUsIDIyNiwgMjE0LCAKLSAgICAxNjIsIDQsIDIyMywgMTE0LCAyMTUsIDIyNiwgMjQ2LCAxMTMsIDQsIDIyMywgMTE0LCAyMTUsIDIyNiwgMzcsIDI0OSwgCi0gICAgMTM5LCAyMjQsIDI1NSwgMjQ5LCAxMzksIDIyNSwgMCwgMiwgMjQyLCAzMywgNTEsIDI0OSwgMTM5LCAyMjQsIDI1NSwgMjI4LCAKLSAgICA1NCwgNDMsIDIyMCwgMTU1LCAyLCAxMzQsIDI0NywgMTI2LCAyNTAsIDEyLCAyNDQsIDE5OSwgMTIzLCAyMjYsIDI0NiwgCi0gICAgMjUwLCAxMiwgMjQ0LCAxOTksIDExMywgMjI2LCAyNDYsIDI1MCwgMTIsIDI0NCwgMTk5LCAxMzQsIDIyNiwgMjQ2LCAyNTAsIAotICAgIDEyLCAyNDQsIDE5OSwgMjQ0LCAxOSwgMjI2LCAyNDYsIDI1MCwgMTIsIDI0NCwgMTk5LCAyNDQsIDg5LCAyMjYsIDI0NiwgCi0gICAgMjUwLCAxMiwgMjQ0LCAxOTksIDIxOSwgMTI3LCAyMjYsIDI0NiwgMjUwLCAxMiwgMjQ0LCAxOTksIDIyMCwgMTI0LCAyMjYsIAotICAgIDI0NiwgMjUwLCAxMiwgMjQ0LCAxOTksIDI0NSwgMjAxLCAyMjYsIDI0NiwgMjUwLCAxMiwgMjQ0LCAxOTksIDIyOCwgMjA1LCAKLSAgICAyMjYsIDI0NiwgMjUwLCAxMiwgMjQ0LCAxOTksIDIxNiwgMjQ5LCAyMjYsIDI0NiwgMjUwLCAxMiwgMjQ0LCAxOTksIDI0NSwgCi0gICAgMTc2LCAyMjYsIDI0NiwgMjUwLCAxMiwgMjQ0LCAxOTksIDIxNSwgNzcsIDIyNiwgMjQ2LCAyNTAsIDEyLCAyNDQsIDE5OSwgCi0gICAgMjI2LCAxOTYsIDI1MCwgMTIsIDI0NCwgMTk5LCAyMTUsIDU2LCAyNTAsIDEyLCAyNDQsIDE5OSwgMjE2LCAxNDEsIDI1MCwgCi0gICAgMTIsIDI0NCwgMTk5LCAyNDQsIDE1LCAyNTAsIDEyLCAyNDQsIDE5OSwgMjQ0LCA4NywgMjUwLCAxMiwgMjQ0LCAxOTksIAotICAgIDIxOSwgMTIzLCAyNTAsIDEyLCAyNDQsIDE5OSwgMjIwLCAxMjMsIDI1MCwgMTIsIDI0NCwgMTk5LCAyNDUsIDIwMCwgMjUwLCAKLSAgICAxMiwgMjQ0LCAxOTksIDIyOCwgMjA0LCAyNTAsIDEyLCAyNDQsIDE5OSwgMjE2LCAyNDcsIDI1MCwgMTIsIDI0NCwgMTk5LCAKLSAgICAyNDUsIDE3NCwgMjUwLCAxMiwgMjQ0LCAxOTksIDIxNSwgNzUsIDIzMCwgMTIyLCAyNDMsIDIzNywgMjE2LCAzNywgMjE2LCAKLSAgICAzLCAyMTgsIDE1MCwgNjQsIDIzMiwgMjQ1LCAyMTksIDE3MiwgNjQsIDIzNSwgMTM4LCAyMzAsIDExMSwgMjQyLCAxMzEsIAotICAgIDI0NCwgMTk4LCAyNDIsIDEzMSwgMjQ0LCAxOTksIDIsIDIxOSwgNzYsIDI0NSwgMjEsIDI0NCwgMTk5LCAyLCAyMTcsIDE1LCAKLSAgICA2NCwgMjM1LCA1OSwgMjE5LCA3NiwgMjQ0LCAxOTksIDIsIDIwNCwgMjMwLCAxMTUsIDIxOSwgNzYsIDI0NCwgMTk5LCAyLCAKLSAgICAyMDQsIDIzMCwgMTE2LCAyMiwgMjE5LCA3NiwgMjQ1LCAyMSwgMjE5LCA3NiwgMjQ0LCAxOTksIDIsIDIwNCwgMjMwLCAxMTYsIAotICAgIDIyLCAyNDksIDIzOCwgMjE3LCAyNDgsIDIxOSwgNzYsIDI0NCwgMTk5LCAyLCAyMDQsIDIzMCwgMTE2LCAyMiwgMjE2LCAKLSAgICAxMDUsIDI0NSwgMjEsIDIxOSwgNzYsIDI0NCwgMTk5LCAyLCAyNDIsIDMyLCAyMTksIDc2LCAyNDQsIDE5OSwgMiwgMjQwLCAKLSAgICAyNTQsIDIxMSwgMjMzLCAyNDQsIDE5OCwgMjE5LCA3NiwgMjQ0LCAxOTksIDIsIDIxOSwgNzYsIDI0NSwgMjEsIDI0NCwgCi0gICAgMTk5LCAyMjEsIDIxOSwgMjQ4LCA3MCwgMjQ0LCA0MSwgMjIzLCA5MSwgMjQ0LCAxOTgsIDIxOSwgNzYsIDI0NCwgMTk5LCAyLCAKLSAgICAyNDEsIDIzMywgMjQ1LCAyMSwgMjE5LCA3NiwgMjQ0LCAxOTksIDIsIDIxOCwgMzUsIDIxOSwgNzUsIDI0NCwgMTk4LCAyMjksIAotICAgIDkyLCAyNDQsIDE5OCwgMjQ1LCAzMSwgMjQ0LCAxOTgsIDIxNCwgMTg4LCAyNDQsIDE5OCwgMjQ0LCAxOTksIDIsIDI0OSwgCi0gICAgMjM4LCAyMTcsIDI0OCwgMjI1LCAxOTUsIDI0NCwgMTk4LCAyNDksIDIwOSwgMjQ0LCAxOTgsIDI0OSwgMjEwLCAyNDQsIAotICAgIDE5OCwgMjM0LCA2OCwgMjQ0LCAxOTgsIDI0NCwgMTk5LCAyMTYsIDEzOCwgMTE2LCAyMzQsIDY5LCAyMzQsIDY4LCAyNDQsIAotICAgIDE5OSwgMiwgMjE5LCA3NiwgMjQ1LCAyMSwgMjM0LCA2OCwgMjQ0LCAxOTksIDIsIDI1MCwgOCwgMjQ1LCAyMSwgMjQ0LCAKLSAgICAxOTksIDIsIDIxOCwgODksIDIxNiwgMjAsIDI0NCwgMTk5LCAyLCAyMTgsIDg5LCAyMTYsIDIxLCAyMiwgMjExLCAyMzMsIAotICAgIDI0NSwgMjMsIDI0NCwgMTk5LCAyLCAyMTgsIDg5LCAyMTYsIDIxLCAyMiwgMjE2LCAxMDUsIDI0NSwgMjEsIDI0NywgMjAwLCAKLSAgICAyNDQsIDE5OCwgMjExLCAyMDQsIDI0NCwgMTk4LCAyNTQsIDExNiwgMjQ0LCAxOTgsIDIyNCwgMjMwLCAyNDQsIDE5OCwgCi0gICAgMjQ5LCAxMjQsIDI0NCwgMTk4LCAyMjUsIDE3MywgMjQ0LCAxOTgsIDI0NCwgMTk5LCAyLCAyMzIsIDEzMiwgNjQsIDIxNSwgCi0gICAgMjA1LCAyNDcsIDIwMCwgMjUxLCA5NiwgMjIzLCA5MSwgMjQ0LCAxOTgsIDI0MywgMjQ3LCAyNDQsIDE5OSwgMiwgMjA0LCAKLSAgICAyMzAsIDExNSwgMjU0LCAxMTQsIDI0NCwgMTk4LCAyNDQsIDE2MCwgMjQ0LCAxOTgsIDIxMiwgMjAsIDI0NCwgMTk4LCAyMTksIAotICAgIDkzLCAyNDQsIDE5OCwgMjE2LCA3MiwgMjQ0LCAxOTgsIDI0MiwgMTMyLCAyNDQsIDE5OCwgMjMyLCAxMjAsIDI0OSwgMTI0LCAKLSAgICAyNDQsIDE5OCwgMjQ0LCAxOTksIDIsIDIwNCwgMjMwLCAxMTUsIDI0MCwgMjEwLCAyNDQsIDE5OCwgMjQ0LCAxOTksIDIsIAotICAgIDIwNCwgMjMwLCAxMTYsIDIyLCAyNDksIDIzOCwgMjE3LCAyNDgsIDI0NCwgMTk5LCAyMjEsIDE5MiwgMjM2LCA3LCAyNDQsIAotICAgIDE2MSwgMjUzLCAyMjEsIDI0NCwgMTk4LCAyNDQsIDU3LCAyNDQsIDE5OCwgMjE5LCA5NCwgMjQ0LCAxOTgsIDI0NywgMTczLCAKLSAgICAyNDQsIDE5OCwgMjQ0LCAxOTksIDIxMSwgMjMwLCAyMzAsIDExNSwgMjQ0LCAxOTksIDIsIDIzMSwgODksIDIzMSwgMTQ5LCAKLSAgICAyNDIsIDEzMSwgMjUwLCAyMzMsIDI0NCwgMTk5LCAyLCAyMTksIDc2LCAyNDUsIDIxLCAyNTAsIDIzMywgMjQ0LCAxOTksIDIsIAotICAgIDIxNywgMTUsIDY0LCAyMzUsIDU5LCAyMTksIDc2LCAyNTAsIDIzMywgMjQ0LCAxOTksIDIsIDIwNCwgMjMwLCAxMTUsIDIxOSwgCi0gICAgNzYsIDI1MCwgMjMzLCAyNDQsIDE5OSwgMiwgMjQxLCAyMzMsIDI0NSwgMjEsIDI1MCwgMjMzLCAyNDQsIDE5OSwgMiwgMjExLCAKLSAgICAxOTYsIDIxOSwgNzcsIDIzNCwgNjgsIDI1MCwgMjMzLCAyNDQsIDE5OSwgMiwgMjUwLCA4LCAyNDUsIDIxLCAyMjQsIDIzMCwgCi0gICAgMjUwLCAyMzMsIDI0NCwgMTk4LCAyNDksIDEyNCwgMjUwLCAyMzMsIDI0NCwgMTk4LCAyMTIsIDIwLCAyNTAsIDIzMywgMjQ0LCAKLSAgICAxOTgsIDI0NCwgMTk5LCAyLCAyMjgsIDgwLCAyNDIsIDE3MCwgMjQzLCA0MSwgMjQ0LCAxOTksIDIsIDIyNiwgMjE5LCAyNDMsIAotICAgIDQxLCAyMjUsIDE3MSwgMjUxLCAxNzYsIDI0OCwgODMsIDIyMSwgMTcxLCAyMzAsIDE1MCwgMjQxLCAyMzYsIDIzMCwgMTUwLCAKLSAgICAyMTksIDEwLCAyMzAsIDE1MCwgMjQyLCAxMiwgMjI1LCAxNzEsIDIyMywgMTU5LCAxMjMsIDI0MiwgMjIsIDIyNSwgMTcxLCAKLSAgICAyMjMsIDE1OSwgMjUxLCAxODYsIDI0MiwgMTgsIDIzNiwgNywgMjUwLCAxODcsIDIyNSwgMTcxLCAyNDMsIDI0NiwgMjI1LCAKLSAgICAxNzEsIDIsIDIyNCwgMjMwLCAyNDQsIDE5OCwgMjI1LCAxNzEsIDIsIDI0NCwgNDksIDI0MiwgMTcsIDIyMiwgMjA1LCAyNDEsIAotICAgIDIyMSwgMjE4LCAxNDUsIDIzMiwgMTU1LCAyMjMsIDE2NSwgMjUwLCAyNTIsIDI0MSwgMTY5LCAyMTUsIDI0OSwgMjQxLCAKLSAgICAxNjksIDIxNSwgMjUwLCAyLCAyNTEsIDEyMiwgMjI4LCA1OCwgMjE1LCAyNDksIDIzMSwgMzcsIDE5MywgMjIzLCAxNjYsIAotICAgIDIxOCwgMTUxLCAyMTUsIDI0NywgMjE1LCAyNDgsIDI1MCwgMjUyLCAyNTEsIDEwMCwgMjI2LCAxOTgsIDI1MSwgMTAwLCAKLSAgICAyMTUsIDIwMiwgMjUxLCAxMDEsIDIxOCwgMTMxLCAyMzAsIDE5MiwgMjU0LCAxMzgsIDI0NCwgMTA1LCAyNDUsIDE0NSwgCi0gICAgMjI1LCAyLCAyNTAsIDI1MiwgMjI2LCAxOTgsIDIyNSwgMiwgMjUwLCAyNTIsIDIxNywgMzMsIDIyNiwgMTk4LCAyMTcsIDMzLCAKLSAgICAyNTMsIDE4OCwgMjI2LCAxOTgsIDI1MywgMTg4LCAyMjMsIDEyMSwgMjEzLCAyNDcsIDI0OCwgNjYsIDIxNSwgMTkzLCAyNTMsIAotICAgIDI1MCwgMjMyLCAxMjMsIDIxNSwgMjU1LCAyMzAsIDE0NCwgMjMwLCAxMjEsIDIyMywgMTY0LCAyMTgsIDcsIDIyMywgMTY0LCAKLSAgICAyMzAsIDEyMSwgMjUxLCAzNiwgMjU0LCAyMzgsIDIxNSwgMjQ2LCAyMjAsIDE4LCAyMjIsIDE4NCwgMjE5LCAzLCAyMDMsIAotICAgIDIxNSwgMjUzLCAyMzIsIDIzNiwgNjcsIDIxNSwgMjUzLCAyMzIsIDIzNiwgMjQ5LCAxOTgsIDUwLCAyMjUsIDIsIDI1MCwgCi0gICAgMjM3LCAyMjMsIDQ3LCAyMzIsIDIzNiwgMjE1LCAyMjMsIDI0NCwgODIsIDIyNiwgMjAxLCAyMjQsIDI0MSwgMjQ3LCAxMzEsIAotICAgIDIyOCwgODAsIDI0NSwgMTMzLCA1MCwgMjE5LCA3NCwgODcsIDIyOCwgODAsIDIxOSwgNzQsIDg3LCAyMjQsIDEyNSwgMjMyLCAKLSAgICAxOTksIDIzNiwgNywgMjM1LCAxNjMsIDIyNSwgNDQsIDg3LCAyNDcsIDE1NCwgMjI4LCA1NywgMjMyLCAxOTksIDg3LCAyMjQsIAotICAgIDIzNSwgMjEyLCA0MSwgODcsIDIyOCwgNzEsIDIxMiwgNDEsIDg3LCAyNTIsIDEwLCAyMjgsIDgwLCAyNTIsIDksIDI1MiwgOCwgCi0gICAgMjMwLCAxMjEsIDI1MiwgOCwgMjI1LCAyMTYsIDIyOCwgODAsIDIyNSwgMjE1LCAyNTAsIDEwOCwgMjQ5LCAxMzIsIDIzMSwgCi0gICAgNjEsIDg3LCAyMTEsIDIxOCwgODcsIDIyMywgNjIsIDI1MiwgMTk1LCA4NywgMjE2LCAzOCwgMjEyLCA0MSwgMjUwLCA1LCAKLSAgICAyMTksIDIzNiwgMjUyLCAxMjYsIDI1MiwgMTI0LCAyMjUsIDI0NiwgMjQ5LCAxODUsIDI0OSwgOTQsIDI1MiwgMTc3LCAyNTAsIAotICAgIDMwLCA0MywgMjMyLCA5NSwgMTA4LCAxNiwgMzEsIDIyNCwgNiwgMTA4LCAxNiwgMzEsIDI1NCwgMjAxLCAxMDgsIDE2LCAzMSwgCi0gICAgMjQ0LCAxMDQsIDEwOCwgMTYsIDMxLCAyNDUsIDIzMSwgMTA4LCAxNiwgMzEsIDIxMiwgNDAsIDEwOCwgMTYsIDMxLCAyNTQsIAotICAgIDUxLCAxMDgsIDE2LCAzMSwgMjU0LCA1MiwgMjIzLCAxMDgsIDEwOCwgMTYsIDMxLCAyNTQsIDUyLCAyMjMsIDEwNywgMTA4LCAKLSAgICAxNiwgMzEsIDI1NCwgNTIsIDIxMywgMTQzLCAxMDgsIDE2LCAzMSwgMjU0LCA1MiwgMjEzLCAxNDIsIDEwOCwgMTYsIDMxLCAKLSAgICAyMTMsIDE1NywgMTA4LCAxNiwgMzEsIDIxMywgMTU2LCAxMDgsIDE2LCAzMSwgMjEzLCAxNTUsIDEwOCwgMTYsIDMxLCAyMTgsIAotICAgIDQ1LCAxMDgsIDE2LCAzMSwgMjI1LCAxMjgsIDIxOCwgNDUsIDEwOCwgMTYsIDMxLCA4NSwgMjE4LCA0NSwgMTA4LCAxNiwgCi0gICAgMzEsIDIzMSwgNjAsIDIxOCwgNzIsIDEwOCwgMTYsIDMxLCAyMzEsIDYwLCAyMTgsIDcxLCAxMDgsIDE2LCAzMSwgMjMxLCAKLSAgICA2MCwgMjE4LCA3MCwgMTA4LCAxNiwgMzEsIDI1MCwgNDYsIDEwOCwgMTYsIDMxLCAyMjIsIDMsIDEwOCwgMTYsIDMxLCAyMjgsIAotICAgIDE5MywgMTA4LCAxNiwgMzEsIDIxMywgMTQxLCAxMDgsIDE2LCAzMSwgMjEzLCAxNDAsIDEwOCwgMTYsIDMxLCAyMjIsIDIwNiwgCi0gICAgMjIyLCAzLCAxMDgsIDE2LCAzMSwgMjIyLCAyMDYsIDIyMiwgMiwgMTA4LCAxNiwgMzEsIDI0MiwgMTczLCAxMDgsIDE2LCAKLSAgICAzMSwgMjE5LCAxNjgsIDEwOCwgMTYsIDMxLCAyMzUsIDE4NCwgMjI2LCAxNTcsIDEwOCwgMTYsIDMxLCAyMzUsIDE4NCwgCi0gICAgMjI2LCAxNTYsIDEwOCwgMTYsIDMxLCAyNDksIDE0MiwgNjQsIDIzNSwgMTgzLCAxMDgsIDE2LCAzMSwgMjIzLCAxMDQsIDY0LCAKLSAgICAyMzUsIDE4MywgMTA4LCAxNiwgMzEsIDI0OSwgMTc2LCAyMjYsIDE1NywgMTA4LCAxNiwgMzEsIDIzNSwgMTgyLCAyMjYsIAotICAgIDE1NywgMTA4LCAxNiwgMzEsIDIxOCwgNzMsIDY0LCAyNDksIDE3NSwgMTA4LCAxNiwgMzEsIDI0OSwgMTQyLCA2NCwgMjQ5LCAKLSAgICAxNzUsIDEwOCwgMTYsIDMxLCAyNDksIDE0MiwgNjQsIDI0OSwgMTc0LCAxMDgsIDE2LCAzMSwgMjQ5LCAxNzYsIDI1NCwgOTEsIAotICAgIDEwOCwgMTYsIDMxLCAyMjIsIDQsIDY0LCAyNDksIDE3NiwgMjU0LCA5MSwgMTA4LCAxNiwgMzEsIDIxOCwgNzMsIDY0LCAKLSAgICAyMjIsIDQsIDY0LCAyNDksIDE3NSwgMTA4LCAxNiwgMzEsIDIxMywgMjQzLCAxMDgsIDE2LCAzMSwgMjE2LCA4NSwgMjI2LCAKLSAgICAxNTcsIDEwOCwgMTYsIDMxLCAyMzMsIDYzLCAyMjYsIDE1NywgMTA4LCAxNiwgMzEsIDI1NCwgOTAsIDIyNiwgMTU3LCAxMDgsIAotICAgIDE2LCAzMSwgMjE4LCA3MywgNjQsIDI1NCwgODksIDEwOCwgMTYsIDMxLCAyMjIsIDQsIDY0LCAyNTQsIDg5LCAxMDgsIDE2LCAKLSAgICAzMSwgMjE4LCA3MywgNjQsIDIyMiwgNCwgNjQsIDI1NCwgODksIDEwOCwgMTYsIDMxLCAyMTMsIDE1OCwgNjQsIDI1NCwgODksIAotICAgIDEwOCwgMTYsIDMxLCAyMjMsIDEwNCwgNjQsIDI1NCwgODksIDEwOCwgMTYsIDMxLCAyMjMsIDEwNCwgNjQsIDI1NCwgODgsIAotICAgIDEwOCwgMTYsIDMxLCAyMjMsIDEwMywgMTA4LCAxNiwgMzEsIDIyMywgMTAyLCAxMDgsIDE2LCAzMSwgMjIzLCAxMDEsIDEwOCwgCi0gICAgMTYsIDMxLCAyMjMsIDEwMCwgMTA4LCAxNiwgMzEsIDI1NCwgMTY2LCAxMDgsIDE2LCAzMSwgMjU0LCAxNjUsIDEwOCwgMTYsIAotICAgIDMxLCAyMzEsIDE2OCwgMTA4LCAxNiwgMzEsIDIyMiwgOSwgMTA4LCAxNiwgMzEsIDI1MywgMjU0LCAxMDgsIDE2LCAzMSwgCi0gICAgMjIzLCAxMjgsIDEwOCwgMTYsIDMxLCAyMjMsIDEyNywgMTA4LCAxNiwgMzEsIDI1MywgMTkxLCAxMDgsIDE2LCAzMSwgMjUxLCAKLSAgICAyMzcsIDIyNiwgMTU3LCAxMDgsIDE2LCAzMSwgMjE3LCA1MCwgMTA4LCAxNiwgMzEsIDIxNywgNDksIDEwOCwgMTYsIDMxLCAKLSAgICAyMjQsIDExLCAyMzIsIDIyOCwgMTA4LCAxNiwgMzEsIDI1MSwgMTkxLCAxMDgsIDE2LCAzMSwgMjUxLCAxOTAsIDEwOCwgMTYsIAotICAgIDMxLCAyNTEsIDE4OSwgMTA4LCAxNiwgMzEsIDI1NCwgMTQ2LCAxMDgsIDE2LCAzMSwgMjI2LCAyMjIsIDEwOCwgMTYsIDMxLCAKLSAgICAyMTgsIDI1MCwgMTA4LCAxNiwgMzEsIDIxNiwgODMsIDEwOCwgMTYsIDMxLCAyNDIsIDEwMywgMTA4LCAxNiwgMzEsIDIxMiwgCi0gICAgMjgsIDEwOCwgMTYsIDMxLCAyMjQsIDIyOSwgMTA4LCAxNiwgMzEsIDI1MSwgMjIsIDEwOCwgMTYsIDMxLCAyMTUsIDg2LCAKLSAgICAxMDgsIDE2LCAzMSwgMjUwLCAyNTQsIDIzMCwgMTI3LCAxMDgsIDE2LCAzMSwgMjIxLCAyMDQsIDY0LCAyMzUsIDYxLCAxMDgsIAotICAgIDE2LCAzMSwgMjUxLCAzMywgMTA4LCAxNiwgMzEsIDIxNSwgMjIwLCAxMDgsIDE2LCAzMSwgMjE4LCAxNTYsIDIxNSwgMjIwLCAKLSAgICAxMDgsIDE2LCAzMSwgMjMyLCAxNTQsIDEwOCwgMTYsIDMxLCAyMTksIDU4LCAxMDgsIDE2LCAzMSwgMjE0LCAxNDIsIDEwOCwgCi0gICAgMTYsIDMxLCAyNDAsIDI1MywgMjQ2LCA3MiwgMTA4LCAxNiwgMzEsIDI1MywgMjM1LCAxMDgsIDE2LCAzMSwgMjI0LCAyMzcsIAotICAgIDI1MywgMjM1LCAxMDgsIDE2LCAzMSwgMjUxLCAxNTAsIDEwOCwgMTYsIDMxLCAyMjQsIDIyOCwgMjUxLCAxNTAsIDEwOCwgCi0gICAgMTYsIDMxLCAyNTQsIDE0MywgMTA4LCAxNiwgMzEsIDIxOCwgMTE5LCAyMTgsIDI3LCAyMTgsIDExOCwgMTA4LCAxNiwgMzEsIAotICAgIDIxOCwgMTE5LCAyMTgsIDI3LCAyMTgsIDExNywgMTA4LCAxNiwgMzEsIDIxOCwgNjksIDEwOCwgMTYsIDMxLCAyMjQsIDIwMywgCi0gICAgMTA4LCAxNiwgMzEsIDI0NywgMTg5LCAxMDgsIDE2LCAzMSwgMjQ3LCAxOTEsIDEwOCwgMTYsIDMxLCAyNDcsIDE5MCwgMTA4LCAKLSAgICAxNiwgMzEsIDIyNCwgMTM0LCAxMDgsIDE2LCAzMSwgMjI0LCAxMjMsIDEwOCwgMTYsIDMxLCAyNDksIDEzMCwgMTA4LCAxNiwgCi0gICAgMzEsIDI0OSwgMTI5LCAxMDgsIDE2LCAzMSwgMjQ5LCAxMjgsIDEwOCwgMTYsIDMxLCAyNDksIDEyNywgMTA4LCAxNiwgMzEsIAotICAgIDI0OSwgMTI2LCAxMDgsIDE2LCAzMSwgMjU0LCAxNzgsIDEwOCwgMTYsIDMxLCAyNTIsIDEyNywgNjQsIDIzMSwgMTU0LCAKLSAgICAxMDgsIDE2LCAzMSwgMjUyLCAxMjcsIDY0LCAyMTQsIDE3LCAxMDgsIDE2LCAzMSwgMjIzLCA2MCwgMTA4LCAxNiwgMzEsIAotICAgIDI0MCwgMjQ1LCAxMDgsIDE2LCAzMSwgMjI4LCAyMTcsIDEwOCwgMTYsIDMxLCAyNDgsIDE1MywgMTA4LCAxNiwgMzEsIDIzMCwgCi0gICAgMTM5LCAxMDgsIDE2LCAzMSwgMTYzLCAyNDYsIDEwMiwgMTA4LCAxNiwgMzEsIDE2MywgMjI2LCAxMzYsIDEwLCAxNCwgMjQwLCAKLSAgICAxMDksIDEwLCAxNCwgMjQwLCAxMDgsIDEwLCAxNCwgMjQwLCAxMDcsIDEwLCAxNCwgMjQwLCAxMDYsIDEwLCAxNCwgMjQwLCAKLSAgICAxMDUsIDEwLCAxNCwgMjQwLCAxMDQsIDEwLCAxNCwgMjQwLCAxMDMsIDEwLCAxNCwgMjQwLCAxMDIsIDEwLCAxNCwgMjQwLCAKLSAgICAxMDEsIDEwLCAxNCwgMjQwLCAxMDAsIDEwLCAxNCwgMjQwLCA5OSwgMTAsIDE0LCAyNDAsIDk4LCAxMCwgMTQsIDI0MCwgOTcsIAotICAgIDEwLCAxNCwgMjQwLCA5NiwgMTAsIDE0LCAyNDAsIDk1LCAxMCwgMTQsIDI0MCwgOTQsIDEwLCAxNCwgMjQwLCA5MywgMTAsIAotICAgIDE0LCAyNDAsIDkyLCAxMCwgMTQsIDI0MCwgOTEsIDEwLCAxNCwgMjQwLCA5MCwgMTAsIDE0LCAyNDAsIDg5LCAxMCwgMTQsIAotICAgIDI0MCwgODgsIDEwLCAxNCwgMjQwLCA4NywgMTAsIDE0LCAyNDAsIDg2LCAxMCwgMTQsIDI0MCwgODUsIDEwLCAxNCwgMjQwLCAKLSAgICA4NCwgMTAsIDE0LCAyNDAsIDgzLCAxMCwgMTQsIDI0MCwgODIsIDEwLCAxNCwgMjQwLCA4MSwgMTAsIDE0LCAyNDAsIDgwLCAKLSAgICAxMCwgMTQsIDI0MCwgNzksIDEwLCAxNCwgMjQwLCA3OCwgMTAsIDE0LCAyNDAsIDc3LCAxMCwgMTQsIDI0MCwgNzYsIDEwLCAKLSAgICAxNCwgMjQwLCA3NSwgMTAsIDE0LCAyNDAsIDc0LCAxMCwgMTQsIDI0MCwgNzMsIDEwLCAxNCwgMjQwLCA3MiwgMTAsIDE0LCAKLSAgICAyNDAsIDcxLCAxMCwgMTQsIDI0MCwgNzAsIDEwLCAxNCwgMjQwLCA2OSwgMTAsIDE0LCAyNDAsIDY4LCAxMCwgMTQsIDI0MCwgCi0gICAgNjcsIDEwLCAxNCwgMjQwLCA2NiwgMTAsIDE0LCAyNDAsIDY1LCAxMCwgMTQsIDI0MCwgNjQsIDEwLCAxNCwgMjQwLCA2MywgCi0gICAgMTAsIDE0LCAyNDAsIDYyLCAxMCwgMTQsIDI0MCwgNjEsIDEwLCAxNCwgMjQwLCA2MCwgMTAsIDE0LCAyNDAsIDU5LCAxMCwgCi0gICAgMTQsIDI0MCwgNTgsIDEwLCAxNCwgMjQwLCA1NywgMTAsIDE0LCAyNDAsIDU2LCAxMCwgMTQsIDI0MCwgNTUsIDEwLCAxNCwgCi0gICAgMjQwLCA1NCwgMTAsIDE0LCAyNDAsIDUzLCAxMCwgMTQsIDI0MCwgNTIsIDEwLCAxNCwgMjQwLCA1MSwgMTAsIDE0LCAyNDAsIAotICAgIDUwLCAxMCwgMTQsIDI0MCwgNDksIDEwLCAxNCwgMjQwLCA0OCwgMTAsIDE0LCAyNDAsIDQ3LCAxMCwgMTQsIDI0MCwgNDYsIAotICAgIDEwLCAxNCwgMjQwLCA0NSwgMTAsIDE0LCAyNDAsIDQ0LCAxMCwgMTQsIDI0MCwgNDMsIDEwLCAxNCwgMjQwLCA0MiwgMTAsIAotICAgIDE0LCAyNDAsIDQxLCAxMCwgMTQsIDI0MCwgNDAsIDEwLCAxNCwgMjQwLCAzOSwgMTAsIDE0LCAyNDAsIDM4LCAxMCwgMTQsIAotICAgIDI0MCwgMzcsIDEwLCAxNCwgMjQwLCAzNiwgMTAsIDE0LCAyNDAsIDM1LCAxMCwgMTQsIDI0MCwgMzQsIDEwLCAxNCwgMjQwLCAKLSAgICAzMywgMTAsIDE0LCAyNDAsIDMyLCAxMCwgMTQsIDI0MCwgMzEsIDEwLCAxNCwgMjQwLCAzMCwgMTAsIDE0LCAyNDAsIDI5LCAKLSAgICAxMCwgMTQsIDI0MCwgMjgsIDEwLCAxNCwgMjQwLCAyNywgMTAsIDE0LCAyNDAsIDI2LCAxMCwgMTQsIDI0MCwgMjUsIDEwLCAKLSAgICAxNCwgMjQwLCAyNCwgMTAsIDE0LCAyNDAsIDIzLCAxMCwgMTQsIDI0MCwgMjIsIDEwLCAxNCwgMjQwLCAyMSwgMTAsIDE0LCAKLSAgICAyNDAsIDIwLCAxMCwgMTQsIDI0MCwgMTksIDEwLCAxNCwgMjQwLCAxOCwgMTAsIDE0LCAyNDAsIDE3LCAxMCwgMTQsIDI0MCwgCi0gICAgMTYsIDEwLCAxNCwgMjQwLCAxNSwgMTAsIDE0LCAyNDAsIDE0LCAxMCwgMTQsIDI0MCwgMTMsIDEwLCAxNCwgMjQwLCAxMiwgCi0gICAgMTAsIDE0LCAyNDAsIDExLCAxMCwgMTQsIDI0MCwgMTAsIDEwLCAxNCwgMjQwLCA5LCAxMCwgMTQsIDI0MCwgOCwgMTAsIDE0LCAKLSAgICAyNDAsIDcsIDEwLCAxNCwgMjQwLCA2LCAxMCwgMTQsIDI0MCwgNSwgMTAsIDE0LCAyNDAsIDQsIDEwLCAxNCwgMjQwLCAzLCAKLSAgICAxMCwgMTQsIDI0MCwgMiwgMTAsIDE0LCAyNDAsIDEsIDEwLCAxNCwgMjQwLCAwLCAxMCwgMTQsIDIzOSwgMjU1LCAxMCwgMTQsIAotICAgIDIzOSwgMjU0LCAxMCwgMTQsIDIzOSwgMjUzLCAxMCwgMTQsIDIzOSwgMjUyLCAxMCwgMTQsIDIzOSwgMjUxLCAxMCwgMTQsIAotICAgIDIzOSwgMjUwLCAxMCwgMTQsIDIzOSwgMjQ5LCAxMCwgMTQsIDIzOSwgMjQ4LCAxMCwgMTQsIDIzOSwgMjQ3LCAxMCwgMTQsIAotICAgIDIzOSwgMjQ2LCAxMCwgMTQsIDIzOSwgMjQ1LCAxMCwgMTQsIDIzOSwgMjQ0LCAxMCwgMTQsIDIzOSwgMjQzLCAxMCwgMTQsIAotICAgIDIzOSwgMjQyLCAxMCwgMTQsIDIzOSwgMjQxLCAxMCwgMTQsIDIzOSwgMjQwLCAxMCwgMTQsIDIzOSwgMjM5LCAxMCwgMTQsIAotICAgIDIzOSwgMjM4LCAxMCwgMTQsIDIzOSwgMjM3LCAxMCwgMTQsIDIzOSwgMjM2LCAxMCwgMTQsIDIzOSwgMjM1LCAxMCwgMTQsIAotICAgIDIzOSwgMjM0LCAxMCwgMTQsIDIzOSwgMjMzLCAxMCwgMTQsIDIzOSwgMjMyLCAxMCwgMTQsIDIzOSwgMjMxLCAxMCwgMTQsIAotICAgIDIzOSwgMjMwLCAxMCwgMTQsIDIzOSwgMjI5LCAxMCwgMTQsIDIzOSwgMjI4LCAxMCwgMTQsIDIzOSwgMjI3LCAxMCwgMTQsIAotICAgIDIzOSwgMjI2LCAxMCwgMTQsIDIzOSwgMjI1LCAxMCwgMTQsIDIzOSwgMjI0LCAxMCwgMTQsIDIzOSwgMjIzLCAxMCwgMTQsIAotICAgIDIzOSwgMjIyLCAxMCwgMTQsIDIzOSwgMjIxLCAxMCwgMTQsIDIzOSwgMjIwLCAxMCwgMTQsIDIzOSwgMjE5LCAxMCwgMTQsIAotICAgIDIzOSwgMjE4LCAxMCwgMTQsIDIzOSwgMjE3LCAxMCwgMTQsIDIzOSwgMjE2LCAxMCwgMTQsIDIzOSwgMjE1LCAxMCwgMTQsIAotICAgIDIzOSwgMjE0LCAxMCwgMTQsIDIzOSwgMjEzLCAxMCwgMTQsIDIzOSwgMjEyLCAxMCwgMTQsIDIzOSwgMjExLCAxMCwgMTQsIAotICAgIDIzOSwgMjEwLCAxMCwgMTQsIDIzOSwgMjA5LCAxMCwgMTQsIDIzOSwgMjA4LCAxMCwgMTQsIDIzOSwgMjA3LCAxMCwgMTQsIAotICAgIDIzOSwgMjA2LCAxMCwgMTQsIDIzOSwgMjA1LCAxMCwgMTQsIDIzOSwgMjA0LCAxMCwgMTQsIDIzOSwgMjAzLCAxMCwgMTQsIAotICAgIDIzOSwgMjAyLCAxMCwgMTQsIDIzOSwgMjAxLCAxMCwgMTQsIDIzOSwgMjAwLCAxMCwgMTQsIDIzOSwgMTk5LCAxMCwgMTQsIAotICAgIDIzOSwgMTk4LCAxMCwgMTQsIDIzOSwgMTk3LCAxMCwgMTQsIDIzOSwgMTk2LCAxMCwgMTQsIDIzOSwgMTk1LCAxMCwgMTQsIAotICAgIDIzOSwgMTk0LCAxMCwgMTQsIDIzOSwgMTkzLCAxMCwgMTQsIDIzOSwgMTkyLCAxMCwgMTQsIDIzOSwgMTkxLCAxMCwgMTQsIAotICAgIDIzOSwgMTkwLCAxMCwgMTQsIDIzOSwgMTg5LCAxMCwgMTQsIDIzOSwgMTg4LCAxMCwgMTQsIDIzOSwgMTg3LCAxMCwgMTQsIAotICAgIDIzOSwgMTg2LCAxMCwgMTQsIDIzOSwgMTg1LCAxMCwgMTQsIDIzOSwgMTg0LCAxMCwgMTQsIDIzOSwgMTgzLCAxMCwgMTQsIAotICAgIDIzOSwgMTgyLCAxMCwgMTQsIDIzOSwgMTgxLCAxMCwgMTQsIDIzOSwgMTgwLCAxMCwgMTQsIDIzOSwgMTc5LCAxMCwgMTQsIAotICAgIDIzOSwgMTc4LCAxMCwgMTQsIDIzOSwgMTc3LCAxMCwgMTQsIDIzOSwgMTc2LCAxMCwgMTQsIDIzOSwgMTc1LCAxMCwgMTQsIAotICAgIDIzOSwgMTc0LCAxMCwgMTQsIDIzOSwgMTczLCAxMCwgMTQsIDIzOSwgMTcyLCAxMCwgMTQsIDIzOSwgMTcxLCAxMCwgMTQsIAotICAgIDIzOSwgMTcwLCAxMCwgMTQsIDIzOSwgMTY5LCAxMCwgMTQsIDIzOSwgMTY4LCAxMCwgMTQsIDIzOSwgMTY3LCAxMCwgMTQsIAotICAgIDIzOSwgMTY2LCAxMCwgMTQsIDIzOSwgMTY1LCAxMCwgMTQsIDIzOSwgMTY0LCAxMCwgMTQsIDIzOSwgMTYzLCAxMCwgMTQsIAotICAgIDIzOSwgMTYyLCAxMCwgMTQsIDIzOSwgMTYxLCAxMCwgMTQsIDIzOSwgMTYwLCAxMCwgMTQsIDIzOSwgMTU5LCAxMCwgMTQsIAotICAgIDIzOSwgMTU4LCAxMCwgMTQsIDIzOSwgMTU3LCAxMCwgMTQsIDIzOSwgMTU2LCAxMCwgMTQsIDIzOSwgMTU1LCAxMCwgMTQsIAotICAgIDIzOSwgMTU0LCAxMCwgMTQsIDIzOSwgMTUzLCAxMCwgMTQsIDIzOSwgMTUyLCAxMCwgMTQsIDIzOSwgMTUxLCAxMCwgMTQsIAotICAgIDIzOSwgMTUwLCAxMCwgMTQsIDIzOSwgMTQ5LCAxMCwgMTQsIDIzOSwgMTQ4LCAxMCwgMTQsIDIzOSwgMTQ3LCAxMCwgMTQsIAotICAgIDIzOSwgMTQ2LCAxMCwgMTQsIDIzOSwgMTQ1LCAxMCwgMTQsIDIzOSwgMTQ0LCAxMCwgMTQsIDIzOSwgMTQzLCAxMCwgMTQsIAotICAgIDIzOSwgMTQyLCAxMCwgMTQsIDIzOSwgMTQxLCAxMCwgMTQsIDIzOSwgMTQwLCAxMCwgMTQsIDIzOSwgMTM5LCAxMCwgMTQsIAotICAgIDIzOSwgMTM4LCAxMCwgMTQsIDIzOSwgMTM3LCAxMCwgMTQsIDIzOSwgMTM2LCAxMCwgMTQsIDIzOSwgMTM1LCAxMCwgMTQsIAotICAgIDIzOSwgMTM0LCAxMCwgMTQsIDIzOSwgMTMzLCAxMCwgMTQsIDIzOSwgMTMyLCAxMCwgMTQsIDIzOSwgMTMxLCAxMCwgMTQsIAotICAgIDIzOSwgMTMwLCAxMCwgMTQsIDIzOSwgMTI5LCAxMCwgMTQsIDIzOSwgMTI4LCAxMCwgMTQsIDIzOSwgMTI3LCAxMCwgMTQsIAotICAgIDIzOSwgMTI2LCAxMCwgMTQsIDIzOSwgMTI1LCAxMCwgMTQsIDIzOSwgMTI0LCAxMCwgMTQsIDIzOSwgMTIzLCAxMCwgMTQsIAotICAgIDIzOSwgMTIyLCAxMCwgMTQsIDIzOSwgMTIxLCAxMCwgMTQsIDIzOSwgMTIwLCAxMCwgMTQsIDIzOSwgMTE5LCAxMCwgMTQsIAotICAgIDIzOSwgMTE4LCAxMCwgMTQsIDIzOSwgMTE3LCAxMCwgMTQsIDIzOSwgMTE2LCAxMCwgMTQsIDIzOSwgMTE1LCAxMCwgMTQsIAotICAgIDIzOSwgMTE0LCAxMCwgMTQsIDIzOSwgMTEzLCAxMCwgMTQsIDIzOSwgMTEyLCAxMCwgMTQsIDIzOSwgMTExLCAxMCwgMTQsIAotICAgIDIzOSwgMTEwLCAxMCwgMTQsIDIzOSwgMTA5LCAxMCwgMTQsIDIzOSwgMTA4LCAxMCwgMTQsIDIzOSwgMTA3LCAxMCwgMTQsIAotICAgIDIzOSwgMTA2LCAxMCwgMTQsIDIzOSwgMTA1LCAxMCwgMTQsIDIzOSwgMTA0LCAxMCwgMTQsIDIzOSwgMTAzLCAxMCwgMTQsIAotICAgIDIzOSwgMTAyLCAxMCwgMTQsIDIzOSwgMTAxLCAxMCwgMTQsIDIzOSwgMTAwLCAxMCwgMTQsIDIzOSwgOTksIDEwLCAxNCwgCi0gICAgMjM5LCA5OCwgMTAsIDE0LCAyMzksIDk3LCAxMCwgMTQsIDIzOSwgOTYsIDEwLCAxNCwgMjM5LCA5NSwgMTAsIDE0LCAyMzksIAotICAgIDk0LCAxMCwgMTQsIDIzOSwgOTMsIDEwLCAxNCwgMjM5LCA5MiwgMTAsIDE0LCAyMzksIDkxLCAxMCwgMTQsIDIzOSwgOTAsIAotICAgIDEwLCAxNCwgMjM5LCA4OSwgMTAsIDE0LCAyMzksIDg4LCAxMCwgMTQsIDIzOSwgODcsIDEwLCAxNCwgMjM5LCA4NiwgMTAsIAotICAgIDE0LCAyMzksIDg1LCAxMCwgMTQsIDIzOSwgODQsIDEwLCAxNCwgMjM5LCA4MywgMTAsIDE0LCAyMzksIDgyLCAxMCwgMTQsIAotICAgIDIzOSwgODEsIDEwLCAxNCwgMjM5LCA4MCwgMTAsIDE0LCAyMzksIDc5LCAxMCwgMTQsIDIzOSwgNzgsIDEwLCAxNCwgMjM5LCAKLSAgICA3NywgMTAsIDE0LCAyMzksIDc2LCAxMCwgMTQsIDIzOSwgNzUsIDEwLCAxNCwgMjM5LCA3NCwgMTAsIDE0LCAyMzksIDczLCAKLSAgICAxMCwgMTQsIDIzOSwgNzIsIDEwLCAxNCwgMjM5LCA3MSwgMTAsIDE0LCAyMzksIDcwLCAxMCwgMTQsIDIzOSwgNjksIDEwLCAKLSAgICAxNCwgMjM5LCA2OCwgMTAsIDE0LCAyMzksIDY3LCAxMCwgMTQsIDIzOSwgNjYsIDEwLCAxNCwgMjM5LCA2NSwgMTAsIDE0LCAKLSAgICAyMzksIDY0LCAxMCwgMTQsIDIzOSwgNjMsIDEwLCAxNCwgMjM5LCA2MiwgMTAsIDE0LCAyMzksIDYxLCAxMCwgMTQsIDIzOSwgCi0gICAgNjAsIDEwLCAxNCwgMjM5LCA1OSwgMTAsIDE0LCAyMzksIDU4LCAxMCwgMTQsIDIzOSwgNTcsIDEwLCAxNCwgMjM5LCA1NiwgCi0gICAgMTAsIDE0LCAyMzksIDU1LCAxMCwgMTQsIDIzOSwgNTQsIDEwLCAxNCwgMjM5LCA1MywgMTAsIDE0LCAyMzksIDUyLCAxMCwgCi0gICAgMTQsIDIzOSwgNTEsIDEwLCAxNCwgMjM5LCA1MCwgMTAsIDE0LCAyMzksIDQ5LCAxMCwgMTQsIDIzOSwgNDgsIDEwLCAxNCwgCi0gICAgMjM5LCA0NywgMTAsIDE0LCAyMzksIDQ2LCAxMCwgMTQsIDIzOSwgNDUsIDEwLCAxNCwgMjM5LCA0NCwgMTAsIDE0LCAyMzksIAotICAgIDQzLCAxMCwgMTQsIDIzOSwgNDIsIDEwLCAxNCwgMjM5LCA0MSwgMTAsIDE0LCAyMzksIDQwLCAxMCwgMTQsIDIzOSwgMzksIAotICAgIDEwLCAxNCwgMjM5LCAzOCwgMTAsIDE0LCAyMzksIDM3LCAxMCwgMTQsIDIzOSwgMzYsIDEwLCAxNCwgMjM5LCAzNSwgMTAsIAotICAgIDE0LCAyMzksIDM0LCAxMCwgMTQsIDIzOSwgMzMsIDEwLCAxNCwgMjM5LCAzMiwgMTAsIDE0LCAyMzksIDMxLCAxMCwgMTQsIAotICAgIDIzOSwgMzAsIDEwLCAxNCwgMjM5LCAyOSwgMTAsIDE0LCAyMzksIDI4LCAxMCwgMTQsIDIzOSwgMjcsIDEwLCAxNCwgMjM5LCAKLSAgICAyNiwgMTAsIDE0LCAyMzksIDI1LCAxMCwgMTQsIDIzOSwgMjQsIDEwLCAxNCwgMjM5LCAyMywgMTAsIDE0LCAyMzksIDIyLCAKLSAgICAxMCwgMTQsIDIzOSwgMjEsIDEwLCAxNCwgMjM5LCAyMCwgMTAsIDE0LCAyMzksIDE5LCAxMCwgMTQsIDIzOSwgMTgsIDEwLCAKLSAgICAxNCwgMjM5LCAxNywgMTAsIDE0LCAyMzksIDE2LCAxMCwgMTQsIDIzOSwgMTUsIDEwLCAxNCwgMjM5LCAxNCwgMTAsIDE0LCAKLSAgICAyMzksIDEzLCAxMCwgMTQsIDIzOSwgMTIsIDEwLCAxNCwgMjM5LCAxMSwgMTAsIDE0LCAyMzksIDEwLCAxMCwgMTQsIDIzOSwgCi0gICAgOSwgMTAsIDE0LCAyMzksIDgsIDEwLCAxNCwgMjM5LCA3LCAxMCwgMTQsIDIzOSwgNiwgMTAsIDE0LCAyMzksIDUsIDEwLCAKLSAgICAxNCwgMjM5LCA0LCAxMCwgMTQsIDIzOSwgMywgMTAsIDE0LCAyMzksIDIsIDEwLCAxNCwgMjM5LCAxLCAxMCwgMTQsIDIzOSwgCi0gICAgMCwgMTAsIDE0LCAyMzgsIDI1NSwgMTAsIDE0LCAyMzgsIDI1NCwgMTAsIDE0LCAyMzgsIDI1MywgMTAsIDE0LCAyMzgsIAotICAgIDI1MiwgMTAsIDE0LCAyMzgsIDI1MSwgMTAsIDE0LCAyMzgsIDI1MCwgMTAsIDE0LCAyMzgsIDI0OSwgMTAsIDE0LCAyMzgsIAotICAgIDI0OCwgMTAsIDE0LCAyMzgsIDI0NywgMTAsIDE0LCAyMzgsIDI0NiwgMTAsIDE0LCAyMzgsIDI0NSwgMTAsIDE0LCAyMzgsIAotICAgIDI0NCwgMTAsIDE0LCAyMzgsIDI0MywgMTAsIDE0LCAyMzgsIDI0MiwgMTAsIDE0LCAyMzgsIDI0MSwgMTAsIDE0LCAyMzgsIAotICAgIDI0MCwgMTAsIDE0LCAyMzgsIDIzOSwgMTAsIDE0LCAyMzgsIDIzOCwgMTAsIDE0LCAyMzgsIDIzNywgMTAsIDE0LCAyMzgsIAotICAgIDIzNiwgMTAsIDE0LCAyMzgsIDIzNSwgMTAsIDE0LCAyMzgsIDIzNCwgMTAsIDE0LCAyMzgsIDIzMywgMTAsIDE0LCAyMzgsIAotICAgIDIzMiwgMTAsIDE0LCAyMzgsIDIzMSwgMTAsIDE0LCAyMzgsIDIzMCwgMTAsIDE0LCAyMzgsIDIyOSwgMTAsIDE0LCAyMzgsIAotICAgIDIyOCwgMTAsIDE0LCAyMzgsIDIyNywgMTAsIDE0LCAyMzgsIDIyNiwgMTAsIDE0LCAyMzgsIDIyNSwgMTAsIDE0LCAyMzgsIAotICAgIDIyNCwgMTAsIDE0LCAyMzgsIDIyMywgMTAsIDE0LCAyMzgsIDIyMiwgMTAsIDE0LCAyMzgsIDIyMSwgMTAsIDE0LCAyMzgsIAotICAgIDIyMCwgMTAsIDE0LCAyMzgsIDIxOSwgMTAsIDE0LCAyMzgsIDIxOCwgMTAsIDE0LCAyMzgsIDIxNywgMTAsIDE0LCAyMzgsIAotICAgIDIxNiwgMTAsIDE0LCAyMzgsIDIxNSwgMTAsIDE0LCAyMzgsIDIxNCwgMTAsIDE0LCAyMzgsIDIxMywgMTAsIDE0LCAyMzgsIAotICAgIDIxMiwgMTAsIDE0LCAyMzgsIDIxMSwgMTAsIDE0LCAyMzgsIDIxMCwgMTAsIDE0LCAyMzgsIDIwOSwgMTAsIDE0LCAyMzgsIAotICAgIDIwOCwgMTAsIDE0LCAyMzgsIDIwNywgMTAsIDE0LCAyMzgsIDIwNiwgMTAsIDE0LCAyMzgsIDIwNSwgMTAsIDE0LCAyMzgsIAotICAgIDIwNCwgMTAsIDE0LCAyMzgsIDIwMywgMTAsIDE0LCAyMzgsIDIwMiwgMTAsIDE0LCAyMzgsIDIwMSwgMTAsIDE0LCAyMzgsIAotICAgIDIwMCwgMTAsIDE0LCAyMzgsIDE5OSwgMTAsIDE0LCAyMzgsIDE5OCwgMTAsIDE0LCAyMzgsIDE5NywgMTAsIDE0LCAyMzgsIAotICAgIDE5NiwgMTAsIDE0LCAyMzgsIDE5NSwgMTAsIDE0LCAyMzgsIDE5NCwgMTAsIDE0LCAyMzgsIDE5MywgMTAsIDE0LCAyMzgsIAotICAgIDE5MiwgMTAsIDE0LCAyMzgsIDE5MSwgMTAsIDE0LCAyMzgsIDE5MCwgMTAsIDE0LCAyMzgsIDE4OSwgMTAsIDE0LCAyMzgsIAotICAgIDE4OCwgMTAsIDE0LCAyMzgsIDE4NywgMTAsIDE0LCAyMzgsIDE4NiwgMTAsIDE0LCAyMzgsIDE4NSwgMTAsIDE0LCAyMzgsIAotICAgIDE4NCwgMTAsIDE0LCAyMzgsIDE4MywgMTAsIDE0LCAyMzgsIDE4MiwgMTAsIDE0LCAyMzgsIDE4MSwgMTAsIDE0LCAyMzgsIAotICAgIDE4MCwgMTAsIDE0LCAyMzgsIDE3OSwgMTAsIDE0LCAyMzgsIDE3OCwgMTAsIDE0LCAyMzgsIDE3NywgMTAsIDE0LCAyMzgsIAotICAgIDE3NiwgMTAsIDE0LCAyMzgsIDE3NSwgMTAsIDE0LCAyMzgsIDE3NCwgMTAsIDE0LCAyMzgsIDE3MywgMTAsIDE0LCAyMzgsIAotICAgIDE3MiwgMTAsIDE0LCAyMzgsIDE3MSwgMTAsIDE0LCAyMzgsIDE3MCwgMTAsIDE0LCAyMzgsIDE2OSwgMTAsIDE0LCAyMzgsIAotICAgIDE2OCwgMTAsIDE0LCAyMzgsIDE2NywgMTAsIDE0LCAyMzgsIDE2NiwgMTAsIDE0LCAyMzgsIDE2NSwgMTAsIDE0LCAyMzgsIAotICAgIDE2NCwgMTAsIDE0LCAyMzgsIDE2MywgMTAsIDE0LCAyMzgsIDE2MiwgMTAsIDE0LCAyMzgsIDE2MSwgMTAsIDE0LCAyMzgsIAotICAgIDE2MCwgMTAsIDE0LCAyMzgsIDE1OSwgMTAsIDE0LCAyMzgsIDE1OCwgMTAsIDE0LCAyMzgsIDE1NywgMTAsIDE0LCAyMzgsIAotICAgIDE1NiwgMTAsIDE0LCAyMzgsIDE1NSwgMTAsIDE0LCAyMzgsIDE1NCwgMTAsIDE0LCAyMzgsIDE1MywgMTAsIDE0LCAyMzgsIAotICAgIDE1MiwgMTAsIDE0LCAyMzgsIDE1MSwgMTAsIDE0LCAyMzgsIDE1MCwgMTAsIDE0LCAyMzgsIDE0OSwgMTAsIDE0LCAyMzgsIAotICAgIDE0OCwgMTAsIDE0LCAyMzgsIDE0NywgMTAsIDE0LCAyMzgsIDE0NiwgMTAsIDE0LCAyMzgsIDE0NSwgMTAsIDE0LCAyMzgsIAotICAgIDE0NCwgMTAsIDE0LCAyMzgsIDE0MywgMTAsIDE0LCAyMzgsIDE0MiwgMTAsIDE0LCAyMzgsIDE0MSwgMTAsIDE0LCAyMzgsIAotICAgIDE0MCwgMTAsIDE0LCAyMzgsIDEzOSwgMTAsIDE0LCAyMzgsIDEzOCwgMTAsIDE0LCAyMzgsIDEzNywgMTAsIDE0LCAyMzgsIAotICAgIDEzNiwgMTAsIDE0LCAyMzgsIDEzNSwgMTAsIDE0LCAyMzgsIDEzNCwgMTAsIDE0LCAyMzgsIDEzMywgMTAsIDE0LCAyMzgsIAotICAgIDEzMiwgMTAsIDE0LCAyMzgsIDEzMSwgMTAsIDE0LCAyMzgsIDEzMCwgMTAsIDE0LCAyMzgsIDEyOSwgMTAsIDE0LCAyMzgsIAotICAgIDEyOCwgMTAsIDE0LCAyMzgsIDEyNywgMTAsIDE0LCAyMzgsIDEyNiwgMTAsIDE0LCAyMzgsIDEyNSwgMTAsIDE0LCAyMzgsIAotICAgIDEyNCwgMTAsIDE0LCAyMzgsIDEyMywgMTAsIDE0LCAyMzgsIDEyMiwgMTAsIDE0LCAyMzgsIDEyMSwgMTAsIDE0LCAyMzgsIAotICAgIDEyMCwgMTAsIDE0LCAyMzgsIDExOSwgMTAsIDE0LCAyMzgsIDExOCwgMTAsIDE0LCAyMzgsIDExNywgMTAsIDE0LCAyMzgsIAotICAgIDExNiwgMTAsIDE0LCAyMzgsIDExNSwgMTAsIDE0LCAyMzgsIDExNCwgMTAsIDE0LCAyMzgsIDExMywgMTAsIDE0LCAyMzgsIAotICAgIDExMiwgMTAsIDE0LCAyMzgsIDExMSwgMTAsIDE0LCAyMzgsIDExMCwgMTAsIDE0LCAyMzgsIDEwOSwgMTAsIDE0LCAyMzgsIAotICAgIDEwOCwgMTAsIDE0LCAyMzgsIDEwNywgMTAsIDE0LCAyMzgsIDEwNiwgMTAsIDE0LCAyMzgsIDEwNSwgMTAsIDE0LCAyMzgsIAotICAgIDEwNCwgMTAsIDE0LCAyMzgsIDEwMywgMTAsIDE0LCAyMzgsIDEwMiwgMTAsIDE0LCAyMzgsIDEwMSwgMTAsIDE0LCAyMzgsIAotICAgIDEwMCwgMTAsIDE0LCAyMzgsIDk5LCAxMCwgMTQsIDIzOCwgOTgsIDEwLCAxNCwgMjM4LCA5NywgMTAsIDE0LCAyMzgsIDk2LCAKLSAgICAxMCwgMTQsIDIzOCwgOTUsIDEwLCAxNCwgMjM4LCA5NCwgMTAsIDE0LCAyMzgsIDkzLCAxMCwgMTQsIDIzOCwgOTIsIDEwLCAKLSAgICAxNCwgMjM4LCA5MSwgMTAsIDE0LCAyMzgsIDkwLCAxMCwgMTQsIDIzOCwgODksIDEwLCAxNCwgMjM4LCA4OCwgMTAsIDE0LCAKLSAgICAyMzgsIDg3LCAxMCwgMTQsIDIzOCwgODYsIDEwLCAxNCwgMjM4LCA4NSwgMTAsIDE0LCAyMzgsIDg0LCAxMCwgMTQsIDIzOCwgCi0gICAgODMsIDEwLCAxNCwgMjM4LCA4MiwgMTAsIDE0LCAyMzgsIDgxLCAxMCwgMTQsIDIzOCwgODAsIDIzMywgOTYsIDIxNywgODUsIAotICAgIDEyOSwgMjE5LCAyMCwgMTI5LCAyNDUsIDM5LCA3OSwgMTI5LCAyMjQsIDEsIDc5LCAxMjksIDU0LCA1MCwgMTI5LCAyNDcsIAotICAgIDE0MCwgNTAsIDEyOSwgMjI1LCAxODUsIDUwLCAxMjksIDI1NCwgMTM0LCAxMjksIDI1NCwgNjUsIDEyOSwgNDMsIDIyNiwgNywgCi0gICAgMTI5LCA0NCwgMjI2LCA3LCAxMjksIDI1MywgMjI0LCAxMjksIDk2LCA1MCwgMTI5LCAyNDksIDIyNywgMTI5LCAyNDAsIAotICAgIDE3NCwgMTI5LCAyNDMsIDIzNiwgMjE4LCAxMzEsIDEyOSwgMjE5LCA0OCwgMTI5LCAyMSwgMjEwLCA4NiwgMTI5LCAyMSwgCi0gICAgMTExLCAxMjksIDIxLCAxMDUsIDEyOSwgMjEsIDE1OCwgMTI5LCAyMSwgMTYxLCAxMjksIDIxLCAxOTAsIDEyOSwgMjEsIAotICAgIDE5NSwgMTI5LCAyMSwgMTk5LCAxMjksIDIxLCAxOTYsIDEyOSwgMjEsIDIwMSwgMTI5LCAyNDksIDIzNCwgMTI5LCAyMjAsIAotICAgIDE1MiwgMTI5LCAyMzMsIDIxLCA1MCwgMTI5LCAyNDUsIDEwNiwgNTAsIDEyOSwgMjQyLCAxMzcsIDUwLCAxMjksIDIyNCwgCi0gICAgMTYsIDc5LCAxMjksIDI0OSwgMjI1LCAyNTMsIDIxNCwgMTI5LCA3LCA2LCAxLCA2MSwgMTI5LCA3LCA2LCAxLCAyNTMsIAotICAgIDE2NiwgMTI5LCA3LCA2LCAxLCAyNTEsIDc0LCAxMjksIDcsIDYsIDEsIDI0OSwgNjgsIDEyOSwgNywgNiwgMSwgNzYsIDEyOSwgCi0gICAgNywgNiwgMSwgMjQ1LCAxNCwgMTI5LCA3LCA2LCAxLCAyNDMsIDIwOSwgMTI5LCA3LCA2LCAxLCAyNDIsIDY3LCAxMjksIDcsIAotICAgIDYsIDEsIDc0LCAxMjksIDcsIDYsIDEsIDIzNSwgMTUwLCAxMjksIDcsIDYsIDEsIDIzNSwgMjksIDEyOSwgNywgNiwgMSwgCi0gICAgMTU2LCAxMjksIDcsIDYsIDEsIDE5NCwgMTI5LCA3LCA2LCAxLCAyMzAsIDMwLCAxMjksIDcsIDYsIDEsIDc4LCAxMjksIDcsIAotICAgIDYsIDEsIDIyNiwgMTA5LCAxMjksIDcsIDYsIDEsIDIyNCwgOTksIDEyOSwgNywgNiwgMSwgMTUzLCAxMjksIDcsIDYsIDEsIAotICAgIDIyMiwgOTMsIDEyOSwgNywgNiwgMSwgMjE3LCAxNTMsIDEyOSwgNywgNiwgMSwgNjksIDEyOSwgNywgNiwgMSwgMjE0LCAKLSAgICAxMDUsIDEyOSwgNywgNiwgMSwgMjEyLCA5OCwgMTI5LCA3LCA2LCAxLCAyMTEsIDE3OCwgMTI5LCA3LCA2LCAxLCAyMTEsIAotICAgIDExNywgMTI5LCA3LCA2LCAxLCAyMTAsIDE1OSwgMTI5LCA0MywgNDIsIDEyNywgMTI5LCAyMjMsIDUzLCAyMTksIDQ4LCAKLSAgICAxMjksIDQ0LCA0MiwgMTI3LCAxMjksIDI1MCwgMzksIDI1NSwgMjMsIDEyOSwgMTIxLCAyMzIsIDIxOSwgMTI5LCAyNDIsIAotICAgIDE0NCwgMjU1LCAyMywgMTI5LCA3LCA0LCAxLCA2MSwgMTI5LCA3LCA0LCAxLCAyNTMsIDE2NiwgMTI5LCA3LCA0LCAxLCAKLSAgICAyNTEsIDc0LCAxMjksIDcsIDQsIDEsIDI0OSwgNjgsIDEyOSwgNywgNCwgMSwgNzYsIDEyOSwgNywgNCwgMSwgMjQ1LCAxNCwgCi0gICAgMTI5LCA3LCA0LCAxLCAyNDMsIDIwOSwgMTI5LCA3LCA0LCAxLCAyNDIsIDY3LCAxMjksIDcsIDQsIDEsIDc0LCAxMjksIDcsIAotICAgIDQsIDEsIDIzNSwgMTUwLCAxMjksIDcsIDQsIDEsIDIzNSwgMjksIDEyOSwgNywgNCwgMSwgMTU2LCAxMjksIDcsIDQsIDEsIAotICAgIDE5NCwgMTI5LCA3LCA0LCAxLCAyMzAsIDMwLCAxMjksIDcsIDQsIDEsIDc4LCAxMjksIDcsIDQsIDEsIDIyNiwgMTA5LCAKLSAgICAxMjksIDcsIDQsIDEsIDIyNCwgOTksIDEyOSwgNywgNCwgMSwgMTUzLCAxMjksIDcsIDQsIDEsIDIyMiwgOTMsIDEyOSwgNywgCi0gICAgNCwgMSwgMjE3LCAxNTMsIDEyOSwgNywgNCwgMSwgNjksIDEyOSwgNywgNCwgMSwgMjE0LCAxMDUsIDEyOSwgNywgNCwgMSwgCi0gICAgMjEyLCA5OCwgMTI5LCA3LCA0LCAxLCAyMTEsIDE3OCwgMTI5LCA3LCA0LCAxLCAyMTEsIDExNywgMTI5LCA3LCA0LCAxLCAKLSAgICAyMTAsIDE1OSwgMTI5LCA0MywgMjQ5LCAxMDcsIDEyNywgMTI5LCA2NywgMjMyLCAyMTksIDEyOSwgNDQsIDI0OSwgMTA3LCAKLSAgICAxMjcsIDEyOSwgMTg0LCAyNTEsIDE0LCAyMTcsIDg1LCA0NSwgMjIxLCA4MCwgNDUsIDIyMSwgNjksIDQ1LCAyMjEsIDU4LCAKLSAgICA0NSwgMjIxLCA0NiwgNDUsIDIyMSwgMzUsIDQ1LCAyMjEsIDI0LCA0NSwgMjIxLCAxMywgNDUsIDIyMSwgMiwgNDUsIDIyMCwgCi0gICAgMjQ3LCA0NSwgMjIwLCAyMzksIDQ1LCAyMjAsIDIzOCwgNDUsIDIyMCwgMjM3LCA0NSwgMjIwLCAyMzYsIDQ1LCAyMjAsIAotICAgIDIzNCwgNDUsIDIyMCwgMjMzLCA0NSwgMjIwLCAyMzIsIDQ1LCAyMjAsIDIzMSwgNDUsIDIyMCwgMjMwLCA0NSwgMjIwLCAKLSAgICAyMjksIDQ1LCAyMjAsIDIyOCwgNDUsIDIyMCwgMjI3LCA0NSwgMjIwLCAyMjYsIDQ1LCAyMjAsIDIyNSwgNDUsIDIyMCwgCi0gICAgMjIzLCA0NSwgMjIwLCAyMjIsIDQ1LCAyMjAsIDIyMSwgNDUsIDIyMCwgMjIwLCA0NSwgMjIwLCAyMTksIDQ1LCAyMjAsIAotICAgIDIxOCwgNDUsIDIyMCwgMjE3LCA0NSwgMjIwLCAyMTYsIDQ1LCAyMjAsIDIxNSwgNDUsIDIyMCwgMjE0LCA0NSwgMjIwLCAKLSAgICAyMTIsIDQ1LCAyMjAsIDIxMSwgNDUsIDIyMCwgMjEwLCA0NSwgMjIwLCAyMDksIDQ1LCAyMjAsIDIwOCwgNDUsIDIyMCwgCi0gICAgMjA3LCA0NSwgMjIwLCAyMDYsIDQ1LCAyMjAsIDIwNSwgNDUsIDIyMCwgMjA0LCA0NSwgMjIwLCAyMDMsIDQ1LCAyMjAsIAotICAgIDIwMSwgNDUsIDIyMCwgMjAwLCA0NSwgMjIwLCAxOTksIDQ1LCAyMjAsIDE5OCwgNDUsIDIyMCwgMTk3LCA0NSwgMjIwLCAKLSAgICAxOTYsIDQ1LCAyMjAsIDE5NSwgNDUsIDIyMCwgMTk0LCA0NSwgMjIwLCAxOTMsIDQ1LCAyMjAsIDE5MiwgNDUsIDIyMCwgCi0gICAgMTkwLCA0NSwgMjIwLCAxODksIDQ1LCAyMjAsIDE4OCwgNDUsIDIyMCwgMTg3LCA0NSwgMjIwLCAxODYsIDQ1LCAyMjAsIAotICAgIDE4NSwgNDUsIDIyMCwgMTg0LCA0NSwgMjIwLCAxODMsIDQ1LCAyMjAsIDE4MiwgNDUsIDIyMCwgMTgxLCA0NSwgMjIwLCAKLSAgICAxNzksIDQ1LCAyMjAsIDE3OCwgNDUsIDIyMCwgMTc3LCA0NSwgMjIwLCAxNzYsIDQ1LCAyMjAsIDE3NSwgNDUsIDIyMCwgCi0gICAgMTc0LCA0NSwgMjIwLCAxNzMsIDQ1LCAyMjAsIDE3MiwgNDUsIDIyMCwgMTcxLCA0NSwgMjIwLCAxNzAsIDQ1LCAyMjAsIAotICAgIDE2OCwgNDUsIDIyMCwgMTY3LCA0NSwgMjIwLCAxNjYsIDQ1LCAyMjAsIDE2NSwgNDUsIDIyMCwgMTY0LCA0NSwgMjIwLCAKLSAgICAxNjMsIDQ1LCAyMjAsIDE2MiwgNDUsIDIyMCwgMTYxLCA0NSwgMjIwLCAxNjAsIDQ1LCAyMjAsIDE1OSwgNDUsIDIyMSwgCi0gICAgMTU2LCA0NSwgMjIxLCAxNTUsIDQ1LCAyMjEsIDE1NCwgNDUsIDIyMSwgMTUzLCA0NSwgMjIxLCAxNTIsIDQ1LCAyMjEsIAotICAgIDE1MSwgNDUsIDIyMSwgMTUwLCA0NSwgMjIxLCAxNDksIDQ1LCAyMjEsIDE0OCwgNDUsIDIyMSwgMTQ3LCA0NSwgMjIxLCAKLSAgICAxNDUsIDQ1LCAyMjEsIDE0NCwgNDUsIDIyMSwgMTQzLCA0NSwgMjIxLCAxNDIsIDQ1LCAyMjEsIDE0MSwgNDUsIDIyMSwgCi0gICAgMTQwLCA0NSwgMjIxLCAxMzksIDQ1LCAyMjEsIDEzOCwgNDUsIDIyMSwgMTM3LCA0NSwgMjIxLCAxMzYsIDQ1LCAyMjEsIAotICAgIDEzNCwgNDUsIDIyMSwgMTMzLCA0NSwgMjIxLCAxMzIsIDQ1LCAyMjEsIDEzMSwgNDUsIDIyMSwgMTMwLCA0NSwgMjIxLCAKLSAgICAxMjksIDQ1LCAyMjEsIDEyOCwgNDUsIDIyMSwgMTI3LCA0NSwgMjIxLCAxMjYsIDQ1LCAyMjEsIDEyNSwgNDUsIDIyMSwgCi0gICAgMTIzLCA0NSwgMjIxLCAxMjIsIDQ1LCAyMjEsIDEyMSwgNDUsIDIyMSwgMTIwLCA0NSwgMjIxLCAxMTksIDQ1LCAyMjEsIAotICAgIDExOCwgNDUsIDIyMSwgMTE3LCA0NSwgMjIxLCAxMTYsIDQ1LCAyMjEsIDExNSwgNDUsIDIyMSwgMTE0LCA0NSwgMjIxLCAKLSAgICAxMTIsIDQ1LCAyMjEsIDExMSwgNDUsIDIyMSwgMTEwLCA0NSwgMjIxLCAxMDksIDQ1LCAyMjEsIDEwOCwgNDUsIDIyMSwgCi0gICAgMTA3LCA0NSwgMjIxLCAxMDYsIDQ1LCAyMjEsIDEwNSwgNDUsIDIyMSwgMTA0LCA0NSwgMjIxLCAxMDMsIDQ1LCAyMjEsIAotICAgIDEwMSwgNDUsIDIyMSwgMTAwLCA0NSwgMjIxLCA5OSwgNDUsIDIyMSwgOTgsIDQ1LCAyMjEsIDk3LCA0NSwgMjIxLCA5NiwgCi0gICAgNDUsIDIyMSwgOTUsIDQ1LCAyMjEsIDk0LCA0NSwgMjIxLCA5MywgNDUsIDIyMSwgOTIsIDQ1LCAyMjEsIDkwLCA0NSwgMjIxLCAKLSAgICA4OSwgNDUsIDIyMSwgODgsIDQ1LCAyMjEsIDg3LCA0NSwgMjIxLCA4NiwgNDUsIDIyMSwgODUsIDQ1LCAyMjEsIDg0LCA0NSwgCi0gICAgMjIxLCA4MywgNDUsIDIyMSwgODIsIDQ1LCAyMjEsIDgxLCA0NSwgMjIxLCA3OSwgNDUsIDIyMSwgNzgsIDQ1LCAyMjEsIDc3LCAKLSAgICA0NSwgMjIxLCA3NiwgNDUsIDIyMSwgNzUsIDQ1LCAyMjEsIDc0LCA0NSwgMjIxLCA3MywgNDUsIDIyMSwgNzIsIDQ1LCAyMjEsIAotICAgIDcxLCA0NSwgMjIxLCA3MCwgNDUsIDIyMSwgNjgsIDQ1LCAyMjEsIDY3LCA0NSwgMjIxLCA2NiwgNDUsIDIyMSwgNjUsIDQ1LCAKLSAgICAyMjEsIDY0LCA0NSwgMjIxLCA2MywgNDUsIDIyMSwgNjIsIDQ1LCAyMjEsIDYxLCA0NSwgMjIxLCA2MCwgNDUsIDIyMSwgNTksIAotICAgIDQ1LCAyMjEsIDU3LCA0NSwgMjIxLCA1NiwgNDUsIDIyMSwgNTUsIDQ1LCAyMjEsIDU0LCA0NSwgMjIxLCA1MywgNDUsIDIyMSwgCi0gICAgNTIsIDQ1LCAyMjEsIDUxLCA0NSwgMjIxLCA1MCwgNDUsIDIyMSwgNDksIDQ1LCAyMjEsIDQ4LCA0NSwgMjIxLCA0NSwgNDUsIAotICAgIDIyMSwgNDQsIDQ1LCAyMjEsIDQzLCA0NSwgMjIxLCA0MiwgNDUsIDIyMSwgNDEsIDQ1LCAyMjEsIDQwLCA0NSwgMjIxLCAzOSwgCi0gICAgNDUsIDIyMSwgMzgsIDQ1LCAyMjEsIDM3LCA0NSwgMjIxLCAzNiwgNDUsIDIyMSwgMzQsIDQ1LCAyMjEsIDMzLCA0NSwgMjIxLCAKLSAgICAzMiwgNDUsIDIyMSwgMzEsIDQ1LCAyMjEsIDMwLCA0NSwgMjIxLCAyOSwgNDUsIDIyMSwgMjgsIDQ1LCAyMjEsIDI3LCA0NSwgCi0gICAgMjIxLCAyNiwgNDUsIDIyMSwgMjUsIDQ1LCAyMjEsIDIzLCA0NSwgMjIxLCAyMiwgNDUsIDIyMSwgMjEsIDQ1LCAyMjEsIDIwLCAKLSAgICA0NSwgMjIxLCAxOSwgNDUsIDIyMSwgMTgsIDQ1LCAyMjEsIDE3LCA0NSwgMjIxLCAxNiwgNDUsIDIyMSwgMTUsIDQ1LCAyMjEsIAotICAgIDE0LCA0NSwgMjIxLCAxMiwgNDUsIDIyMSwgMTEsIDQ1LCAyMjEsIDEwLCA0NSwgMjIxLCA5LCA0NSwgMjIxLCA4LCA0NSwgCi0gICAgMjIxLCA3LCA0NSwgMjIxLCA2LCA0NSwgMjIxLCA1LCA0NSwgMjIxLCA0LCA0NSwgMjIxLCAzLCA0NSwgMjIxLCAxLCA0NSwgCi0gICAgMjIxLCAwLCA0NSwgMjIwLCAyNTUsIDQ1LCAyMjAsIDI1NCwgNDUsIDIyMCwgMjUzLCA0NSwgMjIwLCAyNTIsIDQ1LCAyMjAsIAotICAgIDI1MSwgNDUsIDIyMCwgMjUwLCA0NSwgMjIwLCAyNDksIDQ1LCAyMjAsIDI0OCwgNDUsIDIyMCwgMjQ2LCA0NSwgMjIwLCAKLSAgICAyNDUsIDQ1LCAyMjAsIDI0NCwgNDUsIDIyMCwgMjQzLCA0NSwgMjIwLCAyNDIsIDQ1LCAyMjAsIDI0MSwgNDUsIDIyMCwgCi0gICAgMjQwLCAyMjcsIDIwNiwgMjI3LCAyMDgsIDIxOCwgMTU0LCA2NCwgMjQxLCAyNDAsIDIxOSwgNTAsIDIxOCwgMTU0LCA2NCwgCi0gICAgMjE2LCAyMTMsIDIxOCwgODYsIDI0NSwgMTUxLCA2NCwgMjE2LCAyMTMsIDI0NSwgNjQsIDI0NSwgMTUxLCA2NCwgMjE1LCAKLSAgICAyNDQsIDI0NSwgMTE3LCAyNDUsIDE0MCwgMjQ1LCAxNDEsIDI1NSwgMTYsIDI1NSwgMTcsIDI1NCwgMTc2LCAyNTIsIDU1LCAKLSAgICAyNTIsIDE4NywgMjUxLCAxMzksIDEzNSwgMjE3LCA5MCwgMjAzLCAyMTcsIDkwLCAyNDAsIDIzNCwgMjE3LCA5NCwgMjMyLCAKLSAgICAyMjAsIDI0NCwgMTUzLCAxNjYsIDIzMiwgMjE5LCAyNDUsIDE1MSwgNjQsIDIzMiwgMjE5LCAyMzMsIDYsIDIyOCwgMTQwLCAKLSAgICAyNDUsIDEyMCwgMjMyLCAyMjAsIDIxNywgOTAsIDY3LCAyMTcsIDkwLCAyMTIsIDExOCwgMjQ0LCAyOCwgMjQ0LCAxNTMsIAotICAgIDI0NCwgMTMzLCAyNTAsIDIzOCwgMjIzLCA1NiwgMjQ5LCAxNTEsIDIyMCwgMzAsIDIyNiwgMTM0LCAyMzIsIDE1NiwgMTExLCAKLSAgICAyMTksIDYwLCAyMjAsIDMwLCAyMzYsIDYsIDIzMiwgMTU2LCAyMTAsIDg2LCAyMTksIDE5MywgMjQ4LCAxNTksIDIzMiwgCi0gICAgMjEwLCAyNDUsIDg1LCAyNDcsIDE2MywgMjQ4LCAzOSwgMjQ5LCAxODYsIDExMSwgMjQ4LCAxNDksIDI0OCwgMzksIDI0OSwgCi0gICAgMTg2LCAxMDUsIDI0OCwgMTQ4LCAyNDgsIDM5LCAyNDksIDE4NiwgMTU4LCAyNDgsIDE0NywgMjQ4LCAzOSwgMjQ5LCAxODYsIAotICAgIDE2MSwgMjQ4LCAxNDYsIDE1MiwgMjU1LCAxNiwgMjI5LCAyMTQsIDIxNywgMTc4LCAyMzYsIDY5LCAyMTcsIDE4MSwgMjQ1LCAKLSAgICAxNTEsIDY0LCAyMTUsIDI0NSwgMjUxLCAyMjEsIDI0NSwgNzAsIDI1MSwgMTMsIDI1MSwgMTUsIDI0NSwgMTUxLCA2NCwgCi0gICAgMjMxLCA4NiwgMjQ1LCAxMTgsIDIxOCwgNjIsIDIxOCwgNzksIDI0NSwgODUsIDI0NSwgODYsIDIzNSwgMjM5LCAyMjAsIAotICAgIDE0MCwgMTYxLCAyNDQsIDExNSwgMjIwLCAxMzksIDI0MywgMjQ1LCAyMzUsIDIzOSwgMjIwLCAxNDAsIDE1OCwgMjQyLCAKLSAgICAxMjgsIDIyMCwgMTM5LCAyNDIsIDEyNSwgMjM1LCAyMzksIDIyMCwgMTQwLCAxMDUsIDIyMywgMTI0LCAyMjAsIDEzOSwgCi0gICAgMjIyLCAxNDcsIDIzNSwgMjM5LCAyMjAsIDE0MCwgMTExLCAyMTQsIDE3NCwgMjIwLCAxMzksIDIxNCwgMTMzLCAyMTksIDIzLCAKLSAgICAyNDgsIDcxLCAyNDgsIDczLCAyMjYsIDgyLCAyNTAsIDE1MCwgMjI2LCA4NCwgMTI1LCAyMjYsIDI0NCwgMjI0LCAxOTYsIAotICAgIDI0MSwgNTQsIDI1MSwgMTU4LCAyMjUsIDE3NiwgMjQxLCAyMTAsIDI1MSwgMTY5LCAyMjgsIDgwLCAyNTEsIDE1OCwgMjQxLCAKLSAgICAyMTAsIDIyOSwgMTgwLCAyMzUsIDI0OSwgMjM1LCAyNTEsIDIyOSwgODcsIDIzMiwgMjE5LCAyMjksIDEwNCwgMjE4LCAxNTQsIAotICAgIDY0LCAyMjEsIDE2MCwgMjU0LCAyNiwgMjE4LCAyMjUsIDI0NSwgMTUxLCA2NCwgMjIxLCAxNjAsIDI1NCwgMjYsIDI0NSwgCi0gICAgODgsIDEzNSwgMjE3LCA5MSwgMjIwLCAxMjksIDIwMywgMjE3LCA5MSwgMjIwLCAxMjksIDI0MCwgMjMxLCAxMzUsIDIxNywgCi0gICAgOTEsIDIsIDIzNSwgNDEsIDIwMywgMjE3LCA5MSwgMiwgMjM1LCA0MSwgMjQwLCAyMzIsIDIzMiwgMjIwLCAyMTcsIDkxLCAKLSAgICAyMjAsIDEyOSwgNjcsIDIxNywgOTEsIDIyMCwgMTI5LCAyMTIsIDExNywgMjI2LCAxLCAyMzIsIDIyMCwgMjQ0LCAyMiwgCi0gICAgMjI2LCAxLCAyMzIsIDIyMCwgMjQ2LCAxMTQsIDIyNSwgMzUsIDIyNiwgMSwgMjMyLCAyMjAsIDI1MiwgMTg2LCAyMjYsIDEsIAotICAgIDIzMiwgMjIwLCAyMTQsIDE2MywgMjI1LCAzMSwgMjIzLCA1MywgMjMyLCAyMjAsIDI0NCwgMTUzLCAyMjMsIDUzLCAyMzUsIAotICAgIDI0OSwgMjIzLCAzOCwgMjE5LCAxNTcsIDIyMCwgMzAsIDEwNSwgMjE5LCAxNTQsIDIxOCwgMjI3LCAyMTksIDE1NywgMjIwLCAKLSAgICAzMCwgMTU4LCAyMTksIDE1MywgMjE4LCAyMjYsIDI0OCwgMzksIDI0OSwgMTg2LCAyMTgsIDEwNywgMjQ4LCAxNDUsIDIyNCwgCi0gICAgMTg2LCAyMTQsIDEzMiwgMTExLCAyMjQsIDE4NiwgMjE0LCAxMzAsIDIyNCwgMTUyLCAyMjQsIDE4NiwgMjE0LCAxMzIsIAotICAgIDEwNSwgMjI0LCAxODYsIDIxNCwgMTI5LCAyMjQsIDE1MSwgMjIwLCAxMzAsIDIxNSwgMjQzLCAyMTgsIDE1MywgMjE4LCA5MCwgCi0gICAgMjUxLCAxNCwgMjUwLCAxNTAsIDI1MCwgMjE3LCAyMzEsIDQ4LCAyMTIsIDU5LCAyMzAsIDQ4LCAyMTgsIDE1NCwgNjQsIAotICAgIDI0MiwgMTE0LCAyNTQsIDI2LCAyMTgsIDE1NCwgNjQsIDIyNCwgMTY5LCAyNTQsIDI2LCAyMTksIDIyLCAyNDUsIDE1MSwgCi0gICAgNjQsIDI0MiwgMTE0LCAyNTQsIDI2LCAyNDUsIDE1MSwgNjQsIDIyNCwgMTY5LCAyNTQsIDI2LCAyNDUsIDExNSwgMjE4LCAKLSAgICAxNTQsIDY0LCAyMTgsIDEwNywgMjE5LCAzNywgMjE5LCAxNTcsIDI0MiwgMTQ4LCAxMzUsIDIzNSwgMjAyLCAyMjAsIDEwOSwgCi0gICAgMjE5LCAxNTcsIDEzNSwgMjM1LCAyMDIsIDIyMSwgMTk2LCAyNDksIDE4NiwgMjIwLCAxMzcsIDIzNSwgMjAyLCAyNDksIAotICAgIDEyMSwgMjE4LCAxMDgsIDIxNiwgMjM3LCAyMTgsIDE3MCwgMjI2LCAxNzMsIDIxNywgMTY4LCAyNDksIDIyNiwgMjI2LCAKLSAgICAxNDYsIDIyNCwgMTg3LCAyMzEsIDQ3LCAyMjUsIDIyLCAyNTQsIDYxLCAyMjQsIDE4MSwgMjQ5LCAyMjYsIDI1NCwgNzcsIAotICAgIDIyOSwgMTY4LCAyMTksIDIwMiwgNywgNiwgMSwgMjQzLCAwLCA3LCA0LCAxLCAyNDMsIDAsIDI1MCwgMTY3LCAyNTQsIDE1NywgCi0gICAgMTgzLCAyMTgsIDY4LCAyNDksIDIzNSwgMjE5LCAxMDgsIDIzMywgNTIsIDE2NSwgMSwgMjMyLCAxODEsIDIwOSwgMjA5LCAxLCAKLSAgICAyNDQsIDUyLCAyNDQsIDQ0LCAyMDksIDIwOSwgMSwgMjQ0LCA1MiwgMjQ0LCAxNjUsIDIwOSwgMjA5LCAxLCAyMjIsIDIxMywgCi0gICAgMjA5LCAyMDksIDEsIDIzMiwgMTYyLCA2MywgMTY0LCAyNTEsIDIzMSwgMjIwLCA1LCAyNDIsIDIyMiwgMjMwLCAyNTMsIAotICAgIDIyMywgNDQsIDI0MywgMjIzLCAyNDMsIDIyMiwgMjQzLCAyMjEsIDIzMCwgNTAsIDIwOSwgMjUxLCAyMDksIDI1MiwgMjA5LCAKLSAgICAyNTQsIDIzMiwgMTA3LCAyMjIsIDIyMSwgMjMyLCAxMDksIDIyMiwgMjIzLCAyMjUsIDIyNywgMjMyLCAxMDYsIDIyMiwgCi0gICAgMjIwLCAyMjgsIDExMSwgMjMwLCAxNzAsIDIxMSwgMjI5LCAyMzIsIDEwOCwgMjIyLCAyMjIsIDI0MywgMjQ0LCAyMjUsIAotICAgIDIyNiwgMjEyLCAxNSwgMjQ1LCAxNzAsIDI0MywgMjMzLCAyMzAsIDIzNCwgMjI2LCAyMDEsIDIxNCwgMTM0LCA4NywgMjMwLCAKLSAgICAyMzQsIDI0OCwgMTY1LCA4NywgOCwgMywgMjM1LCAxNjQsIDc5LCAyMjQsIDE5NywgMjQ0LCAyOCwgMzEsIDY3LCA0NCwgNzEsIAotICAgIDIzMywgMjYsIDEyNywgMjEzLCAxMTgsIDIxMywgNywgMjEyLCAxOTUsIDIxMiwgMTg0LCAyMTIsIDE3MywgMjEyLCAxNjIsIAotICAgIDIxMiwgMTUxLCAyMTIsIDE0MCwgMjEyLCAxMjksIDIxMywgMTE3LCAyMTMsIDEwNiwgMjEzLCA5NSwgMjEzLCA4NCwgMjEzLCAKLSAgICA3MywgMjEzLCA2MiwgMjEzLCA1MSwgMjUxLCA3OSwgMjI2LCAxNTksIDc5LCAyNTEsIDIwNCwgMjA5LCAyNTMsIDE1LCA1LCAKLSAgICAyMjcsIDIxNSwgMjE2LCAyNDAsIDE1LCA1LCAyMjcsIDIxNSwgMTE1LCAyMjcsIDIxNSwgMjUxLCAxMDcsIDExNSwgMjUxLCAKLSAgICAxMDYsIDQ5LCAyOCwgMTYsIDI0MywgMjQzLCAyMTksIDEwNCwgMjUwLCA4MSwgMjE0LCA5LCAyMTMsIDQwLCAyMTMsIDI5LCAKLSAgICAyMTMsIDE4LCAyMTMsIDYsIDIxMiwgMjUxLCAyMTIsIDI0MCwgMjEyLCAyMjksIDIxMiwgMjE4LCAyMTIsIDIwNywgMjEyLCAKLSAgICAxOTksIDIxMiwgMTk4LCAyMTIsIDE5NywgMjEyLCAxOTYsIDIxMiwgMTk0LCAyMTIsIDE5MywgMjEyLCAxOTIsIDIxMiwgCi0gICAgMTkxLCAyMTIsIDE5MCwgMjEyLCAxODksIDIxMiwgMTg4LCAyMTIsIDE4NywgMjEyLCAxODYsIDIxMiwgMTg1LCAyMTIsIAotICAgIDE4MywgMjEyLCAxODIsIDIxMiwgMTgxLCAyMTIsIDE4MCwgMjEyLCAxNzksIDIxMiwgMTc4LCAyMTIsIDE3NywgMjEyLCAKLSAgICAxNzYsIDIxMiwgMTc1LCAyMTIsIDE3NCwgMjEyLCAxNzIsIDIxMiwgMTcxLCAyMTIsIDE3MCwgMjEyLCAxNjksIDIxMiwgCi0gICAgMTY4LCAyMTIsIDE2NywgMjEyLCAxNjYsIDIxMiwgMTY1LCAyMTIsIDE2NCwgMjEyLCAxNjMsIDIxMiwgMTYxLCAyMTIsIAotICAgIDE2MCwgMjEyLCAxNTksIDIxMiwgMTU4LCAyMTIsIDE1NywgMjEyLCAxNTYsIDIxMiwgMTU1LCAyMTIsIDE1NCwgMjEyLCAKLSAgICAxNTMsIDIxMiwgMTUyLCAyMTIsIDE1MCwgMjEyLCAxNDksIDIxMiwgMTQ4LCAyMTIsIDE0NywgMjEyLCAxNDYsIDIxMiwgCi0gICAgMTQ1LCAyMTIsIDE0NCwgMjEyLCAxNDMsIDIxMiwgMTQyLCAyMTIsIDE0MSwgMjEyLCAxMzksIDIxMiwgMTM4LCAyMTIsIAotICAgIDEzNywgMjEyLCAxMzYsIDIxMiwgMTM1LCAyMTIsIDEzNCwgMjEyLCAxMzMsIDIxMiwgMTMyLCAyMTIsIDEzMSwgMjEyLCAKLSAgICAxMzAsIDIxMiwgMTI4LCAyMTIsIDEyNywgMjEyLCAxMjYsIDIxMiwgMTI1LCAyMTIsIDEyNCwgMjEyLCAxMjMsIDIxMiwgCi0gICAgMTIyLCAyMTIsIDEyMSwgMjEyLCAxMjAsIDIxMiwgMTE5LCAyMTMsIDExNiwgMjEzLCAxMTUsIDIxMywgMTE0LCAyMTMsIAotICAgIDExMywgMjEzLCAxMTIsIDIxMywgMTExLCAyMTMsIDExMCwgMjEzLCAxMDksIDIxMywgMTA4LCAyMTMsIDEwNywgMjEzLCAKLSAgICAxMDUsIDIxMywgMTA0LCAyMTMsIDEwMywgMjEzLCAxMDIsIDIxMywgMTAxLCAyMTMsIDEwMCwgMjEzLCA5OSwgMjEzLCA5OCwgCi0gICAgMjEzLCA5NywgMjEzLCA5NiwgMjEzLCA5NCwgMjEzLCA5MywgMjEzLCA5MiwgMjEzLCA5MSwgMjEzLCA5MCwgMjEzLCA4OSwgCi0gICAgMjEzLCA4OCwgMjEzLCA4NywgMjEzLCA4NiwgMjEzLCA4NSwgMjEzLCA4MywgMjEzLCA4MiwgMjEzLCA4MSwgMjEzLCA4MCwgCi0gICAgMjEzLCA3OSwgMjEzLCA3OCwgMjEzLCA3NywgMjEzLCA3NiwgMjEzLCA3NSwgMjEzLCA3NCwgMjEzLCA3MiwgMjEzLCA3MSwgCi0gICAgMjEzLCA3MCwgMjEzLCA2OSwgMjEzLCA2OCwgMjEzLCA2NywgMjEzLCA2NiwgMjEzLCA2NSwgMjEzLCA2NCwgMjEzLCA2MywgCi0gICAgMjEzLCA2MSwgMjEzLCA2MCwgMjEzLCA1OSwgMjEzLCA1OCwgMjEzLCA1NywgMjEzLCA1NiwgMjEzLCA1NSwgMjEzLCA1NCwgCi0gICAgMjEzLCA1MywgMjEzLCA1MiwgMjEzLCA1MCwgMjEzLCA0OSwgMjEzLCA0OCwgMjEzLCA0NywgMjEzLCA0NiwgMjEzLCA0NSwgCi0gICAgMjEzLCA0NCwgMjEzLCA0MywgMjEzLCA0MiwgMjEzLCA0MSwgMjEzLCAzOSwgMjEzLCAzOCwgMjEzLCAzNywgMjEzLCAzNiwgCi0gICAgMjEzLCAzNSwgMjEzLCAzNCwgMjEzLCAzMywgMjEzLCAzMiwgMjEzLCAzMSwgMjEzLCAzMCwgMjEzLCAyOCwgMjEzLCAyNywgCi0gICAgMjEzLCAyNiwgMjEzLCAyNSwgMjEzLCAyNCwgMjEzLCAyMywgMjEzLCAyMiwgMjEzLCAyMSwgMjEzLCAyMCwgMjEzLCAxOSwgCi0gICAgMjEzLCAxNywgMjEzLCAxNiwgMjEzLCAxNSwgMjEzLCAxNCwgMjEzLCAxMywgMjEzLCAxMiwgMjEzLCAxMSwgMjEzLCAxMCwgCi0gICAgMjEzLCA5LCAyMTMsIDgsIDIxMywgNSwgMjEzLCA0LCAyMTMsIDMsIDIxMywgMiwgMjEzLCAxLCAyMTMsIDAsIDIxMiwgMjU1LCAKLSAgICAyMTIsIDI1NCwgMjEyLCAyNTMsIDIxMiwgMjUyLCAyMTIsIDI1MCwgMjEyLCAyNDksIDIxMiwgMjQ4LCAyMTIsIDI0NywgCi0gICAgMjEyLCAyNDYsIDIxMiwgMjQ1LCAyMTIsIDI0NCwgMjEyLCAyNDMsIDIxMiwgMjQyLCAyMTIsIDI0MSwgMjEyLCAyMzksIAotICAgIDIxMiwgMjM4LCAyMTIsIDIzNywgMjEyLCAyMzYsIDIxMiwgMjM1LCAyMTIsIDIzNCwgMjEyLCAyMzMsIDIxMiwgMjMyLCAKLSAgICAyMTIsIDIzMSwgMjEyLCAyMzAsIDIxMiwgMjI4LCAyMTIsIDIyNywgMjEyLCAyMjYsIDIxMiwgMjI1LCAyMTIsIDIyNCwgCi0gICAgMjEyLCAyMjMsIDIxMiwgMjIyLCAyMTIsIDIyMSwgMjEyLCAyMjAsIDIxMiwgMjE5LCAyMTIsIDIxNywgMjEyLCAyMTYsIAotICAgIDIxMiwgMjE1LCAyMTIsIDIxNCwgMjEyLCAyMTMsIDIxMiwgMjEyLCAyMTIsIDIxMSwgMjEyLCAyMTAsIDIxMiwgMjA5LCAKLSAgICAyMTIsIDIwOCwgMjEyLCAyMDYsIDIxMiwgMjA1LCAyMTIsIDIwNCwgMjEyLCAyMDMsIDIxMiwgMjAyLCAyMTIsIDIwMSwgCi0gICAgMjEyLCAyMDAsIDcsIDYsIDEsIDExNiwgMiwgMjMxLCAyMzgsIDIyLCAyNDIsIDE0MywgNywgNCwgMSwgMTE2LCAyLCAyMzEsIAotICAgIDIzOCwgMjIsIDI0MiwgMTQzLCA3LCA2LCAxLCAxNjAsIDIsIDY3LCAyMzIsIDIyMCwgNTEsIDcsIDQsIDEsIDE2MCwgMiwgCi0gICAgNjcsIDIzMiwgMjIwLCA1MSwgNywgNiwgMSwgMTYwLCAyLCA2NywgMjMyLCAyMjAsIDI1MiwgNTEsIDIyLCAyNDIsIDE0MywgCi0gICAgNywgNCwgMSwgMTYwLCAyLCA2NywgMjMyLCAyMjAsIDI1MiwgNTEsIDIyLCAyNDIsIDE0MywgNywgNiwgMSwgMTYwLCAyLCAKLSAgICA2NywgMjMyLCAyMjAsIDI1MiwgNTEsIDIyLCAxNDIsIDcsIDQsIDEsIDE2MCwgMiwgNjcsIDIzMiwgMjIwLCAyNTIsIDUxLCAKLSAgICAyMiwgMTQyLCA3LCA2LCAxLCAxNjAsIDIsIDI1MCwgMzksIDIyLCAyMzEsIDIzNywgNywgNCwgMSwgMTYwLCAyLCAyNTAsIAotICAgIDM5LCAyMiwgMjMxLCAyMzcsIDcsIDYsIDEsIDE2MCwgMiwgMjUwLCAzOSwgMjIsIDI1MCwgMjQyLCA3LCA0LCAxLCAxNjAsIAotICAgIDIsIDI1MCwgMzksIDIyLCAyNTAsIDI0MiwgNywgNiwgMSwgMjQwLCAxNjEsIDIsIDIzMSwgMjM4LCAyMiwgMjQyLCAxNDMsIAotICAgIDcsIDQsIDEsIDI0MCwgMTYxLCAyLCAyMzEsIDIzOCwgMjIsIDI0MiwgMTQzLCA3LCA0LCAxLCAyNDAsIDE2MSwgMiwgNTksIAotICAgIDcyLCAyMiwgMTQyLCA3LCA0LCAxLCAyMjksIDg1LCAyLCAyMTYsIDkwLCA0OCwgNywgNiwgMSwgMTQ0LCAyLCA2NywgMjMyLCAKLSAgICAyMjAsIDUxLCA3LCA0LCAxLCAxNDQsIDIsIDY3LCAyMzIsIDIyMCwgNTEsIDcsIDYsIDEsIDE0NCwgMiwgNjcsIDIzMiwgCi0gICAgMjIwLCAyNTIsIDUxLCAyMiwgMjQyLCAxNDMsIDcsIDQsIDEsIDE0NCwgMiwgNjcsIDIzMiwgMjIwLCAyNTIsIDUxLCAyMiwgCi0gICAgMjQyLCAxNDMsIDcsIDYsIDEsIDE0NCwgMiwgNjcsIDIzMiwgMjIwLCAyNTIsIDUxLCAyMiwgMTQyLCA3LCA0LCAxLCAxNDQsIAotICAgIDIsIDY3LCAyMzIsIDIyMCwgMjUyLCA1MSwgMjIsIDE0MiwgNywgNiwgMSwgMjIyLCA5NCwgMiwgNjcsIDIzMiwgMjIwLCA1MSwgCi0gICAgNywgNCwgMSwgMjIyLCA5NCwgMiwgNjcsIDIzMiwgMjIwLCA1MSwgNywgNiwgMSwgMTA0LCAyLCAyMzEsIDIzOCwgMjIsIAotICAgIDI0MiwgMTQzLCA3LCA0LCAxLCAxMDQsIDIsIDIzMSwgMjM4LCAyMiwgMjQyLCAxNDMsIDcsIDYsIDEsIDExNiwgMiwgMjI2LCAKLSAgICAyMjksIDIyLCAxNDIsIDcsIDQsIDEsIDExNiwgMiwgMjI2LCAyMjksIDIyLCAxNDIsIDcsIDYsIDEsIDExNiwgMiwgMjI2LCAKLSAgICAyMjksIDIyLCAxODQsIDcsIDQsIDEsIDExNiwgMiwgMjI2LCAyMjksIDIyLCAxODQsIDcsIDYsIDEsIDE2MCwgMiwgMjI2LCAKLSAgICAyMjksIDIyLCAxNDIsIDcsIDQsIDEsIDE2MCwgMiwgMjI2LCAyMjksIDIyLCAxNDIsIDcsIDYsIDEsIDE2MCwgMiwgMjI2LCAKLSAgICAyMjksIDIyLCAxODQsIDcsIDQsIDEsIDE2MCwgMiwgMjI2LCAyMjksIDIyLCAxODQsIDcsIDYsIDEsIDE2MCwgMiwgNTksIAotICAgIDcyLCAyMiwgMTQyLCA3LCA0LCAxLCAxNjAsIDIsIDU5LCA3MiwgMjIsIDE0MiwgNywgNiwgMSwgMTYwLCAyLCA1OSwgNzIsIAotICAgIDIyLCAxODQsIDcsIDQsIDEsIDE2MCwgMiwgNTksIDcyLCAyMiwgMTg0LCA3LCA0LCAxLCAyNDAsIDE2MSwgMiwgNTksIDcyLCAKLSAgICAyMiwgMjQyLCAxNDMsIDcsIDQsIDEsIDI0MCwgMTYxLCAyLCA1OSwgNzIsIDIyLCAxODQsIDcsIDYsIDEsIDI0MCwgMTYxLCAKLSAgICAyLCAyMjYsIDIyOSwgMjIsIDE0MiwgNywgNCwgMSwgMjQwLCAxNjEsIDIsIDIyNiwgMjI5LCAyMiwgNTksIDcyLCAyMiwgCi0gICAgMTQyLCA3LCA2LCAxLCAyNDAsIDE2MSwgMiwgMjI2LCAyMjksIDIyLCAxODQsIDcsIDQsIDEsIDI0MCwgMTYxLCAyLCAyMjYsIAotICAgIDIyOSwgMjIsIDU5LCA3MiwgMjIsIDE4NCwgNywgNiwgMSwgMjM1LCAxNTEsIDIsIDE4NCwgNywgNCwgMSwgMjM1LCAxNTEsIAotICAgIDIsIDU5LCA3MiwgMjIsIDE4NCwgNywgNiwgMSwgMjMzLCAxNTUsIDIsIDE4NCwgNywgNCwgMSwgMjMzLCAxNTUsIDIsIDE4NCwgCi0gICAgNywgNiwgMSwgMjMyLCA1NSwgMiwgMTg0LCA3LCA0LCAxLCAyMzIsIDU1LCAyLCAxODQsIDcsIDYsIDEsIDIyMywgMjI3LCAyLCAKLSAgICAxODQsIDcsIDQsIDEsIDIyMywgMjI3LCAyLCAxODQsIDcsIDYsIDEsIDEwNCwgMiwgMjI2LCAyMjksIDIyLCAxNDIsIDcsIDQsIAotICAgIDEsIDEwNCwgMiwgMjI2LCAyMjksIDIyLCAxNDIsIDcsIDYsIDEsIDEwNCwgMiwgMjI2LCAyMjksIDIyLCAxODQsIDcsIDQsIAotICAgIDEsIDEwNCwgMiwgMjI2LCAyMjksIDIyLCAxODQsIDcsIDYsIDEsIDEwNCwgMiwgMjMxLCAyMzgsIDIyLCAxNDIsIDcsIDQsIAotICAgIDEsIDEwNCwgMiwgMjMxLCAyMzgsIDIyLCAxNDIsIDcsIDYsIDEsIDEwNCwgMiwgMjMxLCAyMzgsIDIyLCAxODQsIDcsIDQsIAotICAgIDEsIDEwNCwgMiwgMjMxLCAyMzgsIDIyLCAxODQsIDcsIDQsIDEsIDI1NCwgMjUzLCAyLCAyNDIsIDE0MywgNywgNCwgMSwgCi0gICAgMjA0LCAxNDQsIDIsIDI0MiwgMTQzLCA3LCA0LCAxLCAyMDQsIDE0NCwgMiwgMTQyLCA3LCA0LCAxLCAyMTUsIDk0LCAyMTQsIAotICAgIDEwNiwgMiwgMjQyLCAxNDMsIDcsIDQsIDEsIDIxNSwgOTQsIDIxNCwgMTA2LCAyLCAxNDIsIDcsIDQsIDEsIDIyMSwgMTk4LCAKLSAgICAyLCAyNDIsIDE0MywgNywgNCwgMSwgMjIxLCAxOTgsIDIsIDE0MiwgNywgNCwgMSwgMjQxLCA1OCwgMjIxLCAxOTgsIDIsIAotICAgIDI0MiwgMTQzLCA3LCA0LCAxLCAyNDEsIDU4LCAyMjEsIDE5OCwgMiwgMTQyLCA5LCAyMjAsIDEzNywgNzcsIDIsIDE4MiwgCi0gICAgNzIsIDIsIDI1NCwgMTc5LCA5LCAyMjAsIDEzNywgNzcsIDIsIDE4MiwgNzIsIDIsIDIxMiwgMzAsIDksIDIyMCwgMTM3LCAKLSAgICA3NywgMiwgMTgyLCA3MiwgMiwgMTA5LCAyMzEsIDE5NywgOSwgMjIwLCAxMzcsIDc3LCAyLCAxODIsIDcyLCAyLCAyMjYsIAotICAgIDIzOCwgOSwgMjIwLCAxMzcsIDc3LCAyLCAxODIsIDcyLCAyLCA2OSwgOSwgMjIwLCAxMzcsIDc3LCAyLCAxODIsIDcyLCAyLCAKLSAgICAyMTAsIDIxMiwgOSwgMjIwLCAxMzcsIDc3LCAyLCAxODIsIDcyLCAyLCA3NiwgOSwgMjIwLCAxMzcsIDc3LCAyLCAxODIsIAotICAgIDcyLCAyLCAyNTQsIDI1MiwgOSwgMjIwLCAxMzcsIDIyOCwgNjgsIDIsIDIzNCwgMTgwLCAxNDYsIDEsIDIzNCwgMTE1LCAzNiwgCi0gICAgMTE3LCAyMzUsIDI5LCAzNiwgMTE3LCAyMjksIDg0LCAzNiwgMTE3LCAyNTEsIDc0LCAzNiwgMTE3LCAyMjcsIDE3MSwgMzYsIAotICAgIDExNywgMjE1LCAxNjAsIDM2LCAxMTcsIDIyOCwgMTE2LCAzNiwgMTE3LCAyMTcsIDE1MywgMzYsIDExNywgMjMwLCAzMCwgCi0gICAgMzYsIDExNywgMjI2LCAxMDksIDM2LCAxMTcsIDE5NCwgMzYsIDExNywgMjExLCAxMTcsIDM2LCAxMTcsIDE1MywgMzYsIAotICAgIDExNywgMTU2LCAzNiwgMTE3LCAyMTQsIDEwNSwgMzYsIDExNywgMjMyLCAxODIsIDM2LCAxMTcsIDIzMiwgMTkxLCAzNiwgCi0gICAgMTE3LCAyMjIsIDE4MiwgMzYsIDExNywgMjI4LCA5OCwgMzYsIDExNywgMjM1LCAxNTAsIDM2LCAxMTcsIDIyMCwgMTA2LCAKLSAgICAzNiwgMTE3LCAyMTgsIDIyOCwgMzYsIDExNywgMjIyLCA5MywgMzYsIDExNywgMjQyLCA2NywgMzYsIDExNywgMjMzLCAyMzgsIAotICAgIDM2LCAzLCAyMzUsIDE2LCAzNiwgMywgMjM0LCA5OCwgMzYsIDMsIDIzNCwgODksIDM2LCAzLCAyMzMsIDIyMywgMzYsIDMsIAotICAgIDIzMywgMTk0LCAzNiwgMywgMjM0LCAxODgsIDM2LCAzLCAyMzQsIDE4NywgMzYsIDMsIDIzNCwgMjUyLCAzNiwgMywgMjM0LCAKLSAgICAzNCwgMzYsIDMsIDIzNCwgMTYsIDM2LCAzLCAyMzQsIDIwMSwgMzYsIDMsIDIyOSwgODEsIDM2LCAzLCAyMjksIDMyLCAzNiwgCi0gICAgMywgMjI5LCAyOCwgMzYsIDMsIDIyOCwgMjUzLCAzNiwgMywgMjI4LCAyNDYsIDM2LCAzLCAyMjksIDY5LCAzNiwgMywgMjI5LCAKLSAgICA2NywgMzYsIDMsIDIyOSwgNzgsIDM2LCAzLCAyMjksIDksIDM2LCAzLCAyMjksIDQsIDM2LCAzLCAyMjksIDcxLCAzNiwgMywgCi0gICAgMjUxLCA0MCwgMzYsIDMsIDI1MCwgNTksIDM2LCAzLCAyNTAsIDQ5LCAzNiwgMywgMjQ5LCAxMjAsIDM2LCAzLCAyNDksIDkxLCAKLSAgICAzNiwgMywgMjUwLCAxOTgsIDM2LCAzLCAyNTAsIDE5MCwgMzYsIDMsIDI1MSwgMzAsIDM2LCAzLCAyNDksIDI0NiwgMzYsIDMsIAotICAgIDI0OSwgMTgyLCAzNiwgMywgMjUwLCAyMzAsIDM2LCAzLCAyMjcsIDE2OCwgMzYsIDMsIDIyNywgMTUyLCAzNiwgMywgMjI3LCAKLSAgICAxNDcsIDM2LCAzLCAyMjcsIDEzMiwgMzYsIDMsIDIyNywgMTI1LCAzNiwgMywgMjI3LCAxNjAsIDM2LCAzLCAyMjcsIDE1OSwgCi0gICAgMzYsIDMsIDIyNywgMTY1LCAzNiwgMywgMjI3LCAxMzgsIDM2LCAzLCAyMjcsIDEzNiwgMzYsIDMsIDIyNywgMTYzLCAzNiwgCi0gICAgMywgMjE1LCAxNTYsIDM2LCAzLCAyMTUsIDEzNiwgMzYsIDMsIDIxNSwgMTM1LCAzNiwgMywgMjE1LCAxMjQsIDM2LCAzLCAKLSAgICAyMTUsIDEyMSwgMzYsIDMsIDIxNSwgMTUyLCAzNiwgMywgMjE1LCAxNTEsIDM2LCAzLCAyMTUsIDE1NSwgMzYsIDMsIDIxNSwgCi0gICAgMTM0LCAzNiwgMywgMjE1LCAxMzMsIDM2LCAzLCAyMTUsIDE1NCwgMzYsIDMsIDIyOCwgMTE0LCAzNiwgMywgMjI4LCAxMDAsIAotICAgIDM2LCAzLCAyMjgsIDk5LCAzNiwgMywgMjI4LCA4MywgMzYsIDMsIDIyOCwgODIsIDM2LCAzLCAyMjgsIDExMCwgMzYsIDMsIAotICAgIDIyOCwgMTA5LCAzNiwgMywgMjI4LCAxMTMsIDM2LCAzLCAyMjgsIDg1LCAzNiwgMywgMjI4LCA4NCwgMzYsIDMsIDIyOCwgCi0gICAgMTEyLCAzNiwgMywgMjE3LCAxMDIsIDM2LCAzLCAyMTYsIDExOCwgMzYsIDMsIDIxNiwgMTA0LCAzNiwgMywgMjE1LCAxMTksIAotICAgIDM2LCAzLCAyMTUsIDg1LCAzNiwgMywgMjE3LCAyMywgMzYsIDMsIDIxNywgMTIsIDM2LCAzLCAyMTcsIDgwLCAzNiwgMywgCi0gICAgMTEyLCAzNiwgMywgMjE2LCAxOCwgMzYsIDMsIDIxNywgNDIsIDM2LCAzLCAyMjksIDIzMCwgMzYsIDMsIDIyOCwgMjM4LCAKLSAgICAzNiwgMywgMjI4LCAyMTMsIDM2LCAzLCAyMjcsIDI0MiwgMzYsIDMsIDIyNywgMTgzLCAzNiwgMywgMjI5LCAxMTIsIDM2LCAKLSAgICAzLCAyMjksIDEwOCwgMzYsIDMsIDIyOSwgMjE3LCAzNiwgMywgMjI4LCA3OSwgMzYsIDMsIDIyOCwgNjksIDM2LCAzLCAyMjksIAotICAgIDE5MiwgMzYsIDMsIDIyNiwgOTMsIDM2LCAzLCAyMjUsIDExMSwgMzYsIDMsIDIyNSwgNzQsIDM2LCAzLCAyMjQsIDE1MywgCi0gICAgMzYsIDMsIDIyNCwgMTIyLCAzNiwgMywgMjI1LCAyMjQsIDM2LCAzLCAyMjUsIDIxNCwgMzYsIDMsIDIyNiwgNzUsIDM2LCAzLCAKLSAgICAyMjUsIDE5LCAzNiwgMywgMjI0LCAyNTIsIDM2LCAzLCAyMjUsIDIzOCwgMzYsIDMsIDIzMSwgMjQyLCAzNiwgMywgMjMwLCAKLSAgICAyMzUsIDM2LCAzLCAyMzAsIDIwNiwgMzYsIDMsIDIzMCwgMTA3LCAzNiwgMywgMjMwLCA1OSwgMzYsIDMsIDIzMSwgOTYsIAotICAgIDM2LCAzLCAyMzEsIDg1LCAzNiwgMywgMjMxLCAyMDgsIDM2LCAzLCAyMzAsIDE2NiwgMzYsIDMsIDIzMCwgMTM3LCAzNiwgMywgCi0gICAgMjMxLCAxNDAsIDM2LCAzLCAyMTEsIDEwMywgMzYsIDMsIDIxMSwgOCwgMzYsIDMsIDIxMCwgMjU1LCAzNiwgMywgMjEwLCAKLSAgICAyMTIsIDM2LCAzLCAyMTAsIDE4MSwgMzYsIDMsIDIxMSwgNDcsIDM2LCAzLCAyMTEsIDQ0LCAzNiwgMywgMjExLCA4MiwgMzYsIAotICAgIDMsIDIxMCwgMjQ0LCAzNiwgMywgMjEwLCAyMjksIDM2LCAzLCAyMTEsIDU1LCAzNiwgMywgMjIzLCAxODcsIDM2LCAzLCAKLSAgICAyMjMsIDM4LCAzNiwgMywgMjIyLCAyNDIsIDM2LCAzLCAyMjIsIDE0MiwgMzYsIDMsIDIyMiwgMTE0LCAzNiwgMywgMjIzLCAKLSAgICAxMzEsIDM2LCAzLCAyMjMsIDExMSwgMzYsIDMsIDIyMywgMTY5LCAzNiwgMywgMjIyLCAyMTMsIDM2LCAzLCAyMjIsIDE5OSwgCi0gICAgMzYsIDMsIDIyMywgMTM5LCAzNiwgMywgMjMzLCAxNDAsIDM2LCAzLCAyMzIsIDI0NywgMzYsIDMsIDIzMiwgMjMzLCAzNiwgCi0gICAgMywgMjMyLCAxMDMsIDM2LCAzLCAyMzIsIDc4LCAzNiwgMywgMjMzLCA2NCwgMzYsIDMsIDIzMywgNTYsIDM2LCAzLCAyMzMsIAotICAgIDExNSwgMzYsIDMsIDIzMiwgMTYyLCAzNiwgMywgMjMyLCAxMzMsIDM2LCAzLCAyMzMsIDgwLCAzNiwgMywgMjE0LCAyNiwgCi0gICAgMzYsIDMsIDIxMywgMTc2LCAzNiwgMywgMjEzLCAxNjIsIDM2LCAzLCAyMTIsIDExNiwgMzYsIDMsIDIxMiwgMTA5LCAzNiwgCi0gICAgMywgMjEzLCAyNTUsIDM2LCAzLCAyMTMsIDI1MCwgMzYsIDMsIDIxNCwgMjMsIDM2LCAzLCAyMTMsIDEzOCwgMzYsIDMsIAotICAgIDIxMywgMTI3LCAzNiwgMywgMjE0LCA1LCAzNiwgMywgMjMyLCAxODAsIDM2LCAzLCAyMzIsIDE3NSwgMzYsIDMsIDIzMiwgCi0gICAgMTc0LCAzNiwgMywgMjMyLCAxNzEsIDM2LCAzLCAyMzIsIDE3MCwgMzYsIDMsIDIzMiwgMTc3LCAzNiwgMywgMjMyLCAxNzYsIAotICAgIDM2LCAzLCAyMzIsIDE3OSwgMzYsIDMsIDIzMiwgMTczLCAzNiwgMywgMjMyLCAxNzIsIDM2LCAzLCAyMzIsIDE3OCwgMzYsIAotICAgIDMsIDIzMiwgMTg5LCAzNiwgMywgMjMyLCAxODQsIDM2LCAzLCAyMzIsIDE4MywgMzYsIDMsIDIzMiwgMTY3LCAzNiwgMywgCi0gICAgMjMyLCAxNjYsIDM2LCAzLCAyMzIsIDE4NiwgMzYsIDMsIDIzMiwgMTg1LCAzNiwgMywgMjMyLCAxODgsIDM2LCAzLCAyMzIsIAotICAgIDE2OSwgMzYsIDMsIDIzMiwgMTY4LCAzNiwgMywgMjMyLCAxODcsIDM2LCAzLCAyMjIsIDE4MCwgMzYsIDMsIDIyMiwgMTY5LCAKLSAgICAzNiwgMywgMjIyLCAxNjgsIDM2LCAzLCAyMjIsIDE2MiwgMzYsIDMsIDIyMiwgMTU1LCAzNiwgMywgMjIyLCAxNzYsIDM2LCAKLSAgICAzLCAyMjIsIDE3NSwgMzYsIDMsIDIyMiwgMTc5LCAzNiwgMywgMjIyLCAxNjcsIDM2LCAzLCAyMjIsIDE2NiwgMzYsIDMsIAotICAgIDIyMiwgMTc4LCAzNiwgMywgMjI4LCA5NiwgMzYsIDMsIDIyOCwgOTEsIDM2LCAzLCAyMjgsIDkwLCAzNiwgMywgMjI4LCA4NywgCi0gICAgMzYsIDMsIDIyOCwgODYsIDM2LCAzLCAyMjgsIDkzLCAzNiwgMywgMjI4LCA5MiwgMzYsIDMsIDIyOCwgOTUsIDM2LCAzLCAKLSAgICAyMjgsIDg5LCAzNiwgMywgMjI4LCA4OCwgMzYsIDMsIDIyOCwgOTQsIDM2LCAzLCAyMzUsIDE0NiwgMzYsIDMsIDIzNSwgCi0gICAgMTE0LCAzNiwgMywgMjM1LCAxMDcsIDM2LCAzLCAyMzUsIDU3LCAzNiwgMywgMjM1LCAzOSwgMzYsIDMsIDIzNSwgMTMyLCAKLSAgICAzNiwgMywgMjM1LCAxMzAsIDM2LCAzLCAyMzUsIDE0MSwgMzYsIDMsIDIzNSwgNzQsIDM2LCAzLCAyMzUsIDY1LCAzNiwgMywgCi0gICAgMjM1LCAxMzUsIDM2LCAzLCAyMjAsIDEwMCwgMzYsIDMsIDIyMCwgMzQsIDM2LCAzLCAyMjAsIDI5LCAzNiwgMywgMjE5LCAKLSAgICAyMjcsIDM2LCAzLCAyMTksIDIxMiwgMzYsIDMsIDIyMCwgNjUsIDM2LCAzLCAyMjAsIDYzLCAzNiwgMywgMjIwLCA5MiwgMzYsIAotICAgIDMsIDIyMCwgOSwgMzYsIDMsIDIyMCwgMywgMzYsIDMsIDIyMCwgNzMsIDM2LCAzLCAyMTgsIDIyNCwgMzYsIDMsIDIxOCwgCi0gICAgMTk0LCAzNiwgMywgMjE4LCAxOTAsIDM2LCAzLCAyMTgsIDE4MSwgMzYsIDMsIDIxOCwgMTc4LCAzNiwgMywgMjE4LCAxOTksIAotICAgIDM2LCAzLCAyMTgsIDE5OCwgMzYsIDMsIDIxOCwgMjIzLCAzNiwgMywgMjE4LCAxODYsIDM2LCAzLCAyMTgsIDE4NSwgMzYsIAotICAgIDMsIDIxOCwgMjAxLCAzNiwgMywgMjIyLCAzMywgMzYsIDMsIDIxOSwgMTkzLCAzNiwgMywgMjE5LCAxNzcsIDM2LCAzLCAKLSAgICAyMTgsIDg0LCAzNiwgMywgMjE4LCA1LCAzNiwgMywgMjIxLCAxODMsIDM2LCAzLCAyMjEsIDE3MiwgMzYsIDMsIDIyMiwgMTksIAotICAgIDM2LCAzLCAyMTksIDYwLCAzNiwgMywgMjE5LCA0MiwgMzYsIDMsIDIyMSwgMjIxLCAzNiwgMywgMjQyLCA1MywgMzYsIDMsIAotICAgIDI0MSwgMTg3LCAzNiwgMywgMjQxLCAxNjgsIDM2LCAzLCAyNDAsIDIyOSwgMzYsIDMsIDI0MCwgMjA5LCAzNiwgMywgMjQxLCAKLSAgICAyNDUsIDM2LCAzLCAyNDEsIDIyNywgMzYsIDMsIDI0MiwgNDMsIDM2LCAzLCAyNDEsIDc1LCAzNiwgMywgMjQxLCA2MCwgMzYsIAotICAgIDMsIDI0MSwgMjUzLCAzNiwgMywgMjMzLCAyMzcsIDM2LCAzLCAyMzMsIDIzNiwgMzYsIDMsIDIzMywgMjMxLCAzNiwgMywgCi0gICAgMjMzLCAyMzAsIDM2LCAzLCAyMzMsIDIyNywgMzYsIDMsIDIzMywgMjI2LCAzNiwgMywgMjMzLCAyMzMsIDM2LCAzLCAyMzMsIAotICAgIDIzMiwgMzYsIDMsIDIzMywgMjM1LCAzNiwgMywgMjMzLCAyMjksIDM2LCAzLCAyMzMsIDIyOCwgMzYsIDMsIDIzMywgMjM0LCAKLSAgICAzNiwgMywgMjE5LCAyMzMsIDE3NSwgMTE3LCA1LCAyMTEsIDY4LCAxNzUsIDExNywgNSwgMjIzLCAxNTgsIDE3NSwgMTE3LCAKLSAgICA1LCAyMjMsIDgxLCA5OCwgMSwgMjE1LCAyOCwgNzAsIDExNywgNSwgMjQ5LCAyNDEsIDE3NiwgNzAsIDExNywgNSwgMjQ5LCAKLSAgICAyNDEsIDIzNCwgMTM4LCA3MCwgMTE3LCA1LCAyNDksIDI0MSwgMjM0LCAzNCwgNzAsIDExNywgNSwgMjQ5LCAyNDEsIDIzNCwgCi0gICAgMTExLCA3MCwgMTE3LCA1LCAyNDksIDI0MSwgMjI5LCA5LCA3MCwgMTE3LCA1LCAyNDksIDI0MSwgMjUxLCA0MSwgNzAsIAotICAgIDExNywgNSwgMjQ5LCAyNDEsIDI1MCwgMTY1LCA3MCwgMTE3LCA1LCAyNDksIDI0MSwgMjQ5LCAyNDYsIDcwLCAxMTcsIDUsIAotICAgIDI0OSwgMjQxLCAyNTAsIDk0LCA3MCwgMTE3LCA1LCAyNDksIDI0MSwgMjI3LCAxMzgsIDcwLCAxMTcsIDUsIDI0OSwgMjQxLCAKLSAgICAyNDgsIDIyOSwgNzAsIDExNywgNSwgMjQ5LCAyNDEsIDIxNSwgMTQ1LCA3MCwgMTE3LCA1LCAyNDksIDI0MSwgMjQ3LCAxNTMsIAotICAgIDcwLCAxMTcsIDUsIDI0OSwgMjQxLCAyMTUsIDE0MCwgNzAsIDExNywgNSwgMjQ5LCAyNDEsIDE5OCwgNzAsIDExNywgNSwgCi0gICAgMjQ5LCAyNDEsIDIxNywgMTA2LCA3MCwgMTE3LCA1LCAyNDksIDI0MSwgMjE2LCAyMDksIDcwLCAxMTcsIDUsIDI0OSwgMjQxLCAKLSAgICAxMTIsIDcwLCAxMTcsIDUsIDI0OSwgMjQxLCAyMTYsIDE1NywgNzAsIDExNywgNSwgMjQ5LCAyNDEsIDIyOCwgNzksIDcwLCAKLSAgICAxMTcsIDUsIDI0OSwgMjQxLCAyNTIsIDE5OSwgNzAsIDExNywgNSwgMjQ5LCAyNDEsIDIyNSwgMTUwLCA3MCwgMTE3LCA1LCAKLSAgICAyNDksIDI0MSwgMjI1LCAxOSwgNzAsIDExNywgNSwgMjQ5LCAyNDEsIDIyNSwgMTI0LCA3MCwgMTE3LCA1LCAyNDksIDI0MSwgCi0gICAgMjMwLCAxNjYsIDcwLCAxMTcsIDUsIDI0OSwgMjQxLCAyMTAsIDI0NCwgNzAsIDExNywgNSwgMjQ5LCAyNDEsIDIyMiwgMjEzLCAKLSAgICA3MCwgMTE3LCA1LCAyNDksIDI0MSwgMjMyLCAxNjIsIDcwLCAxMTcsIDUsIDI0OSwgMjQxLCAyMTMsIDEzOCwgNzAsIDExNywgCi0gICAgNSwgMjQ5LCAyNDEsIDIyMCwgMTA0LCA3MCwgMTE3LCA1LCAyNDksIDI0MSwgMjE4LCAyMjUsIDcwLCAxMTcsIDUsIDI0OSwgCi0gICAgMjQxLCAyMDYsIDcwLCAxMTcsIDUsIDI0OSwgMjQxLCAxNjIsIDcwLCAxMTcsIDUsIDI0OSwgMjQxLCAyMzMsIDE0MSwgNzAsIAotICAgIDI1LCA1LCAyNDksIDI0MSwgMjI0LCA5MSwgNzAsIDIzNSwgMjUwLCAyNSwgNSwgMjQ5LCAyNDEsIDIyNCwgMzMsIDcwLCAKLSAgICAyMzUsIDI1MCwgMjUsIDUsIDI0OSwgMjQxLCAyMjIsIDEwMiwgNzAsIDIzNSwgMjUwLCAyNSwgNSwgMjQ5LCAyNDEsIDIyMiwgCi0gICAgOTUsIDcwLCAyMzUsIDI1MCwgMjUsIDUsIDI0OSwgMjQxLCAyMjQsIDcyLCA3MCwgMjUsIDUsIDIyNiwgMjA4LCA3MCwgMjUsIAotICAgIDUsIDI1NSwgNDMsIDE0MSwgMSwgMjUyLCA3LCAyMjksIDgyLCAxNDEsIDEsIDI1MiwgNywgMjI5LCAzMiwgMTQxLCAxLCAKLSAgICAyNTIsIDcsIDIyOCwgMjUzLCAxNDEsIDEsIDI1MiwgNywgMjI5LCA2OSwgMTQxLCAxLCAyNTIsIDcsIDIyOSwgOSwgNTYsIDEsIAotICAgIDI1MiwgNywgMjI5LCA4MiwgNTYsIDEsIDI1MiwgNywgMjI5LCAzMiwgNTYsIDEsIDI1MiwgNywgMjI4LCAyNTMsIDU2LCAxLCAKLSAgICAyNTIsIDcsIDIyOSwgNjksIDU2LCAxLCAyNTIsIDcsIDIyOSwgOSwgNTYsIDEsIDI1NCwgMjAzLCAyNTAsIDE5OCwgNTYsIDEsIAotICAgIDI1NCwgMjAzLCAyMTUsIDExOSwgNTYsIDEsIDI1NCwgMjAzLCAxMTIsIDU2LCAxLCAyNTQsIDIwMywgMjI2LCAxMDksIDU4LCAKLSAgICAxLCAyNDUsIDI4LCAyNDUsIDI3LCAyNDksIDE5MCwgMTM4LCAxMzAsIDU4LCAxLCAyNDUsIDI3LCAyNDUsIDI4LCAyNDksIAotICAgIDE5MCwgMTM4LCAxMzAsIAorICAgIDAsIDIxNCwgMTUzLCAyNDIsIDE2OCwgODMsIDIxOSwgMTgwLCA4MywgNDMsIDUzLCAyNDUsIDM1LCA1MywgMjIxLCAxMzEsIAorICAgIDUzLCAyNTIsIDEyNSwgMjUyLCA1MywgNDcsIDIyMSwgMjE2LCA0OCwgMjIxLCAyMTYsIDI1MSwgMjA5LCAxMDEsIDUzLCAKKyAgICAyNDcsIDE1NSwgMjM3LCAyMzgsIDI0MSwgODIsIDIxMywgMjUxLCAyMTQsIDE4MCwgMTgsIDIwNSwgODUsIDE4LCAxMDIsIAorICAgIDE4LCAxMDUsIDE4LCAxNDIsIDE4LCAxMzksIDE4LCAxNjgsIDE4LCAxODQsIDE4LCAxOTUsIDE4LCAxOTMsIDE4LCAyMDAsIAorICAgIDI0NywgMTYyLCAyMTYsIDUyLCAyMzAsIDEwLCA1MywgMjQyLCAyNDIsIDUzLCAyMzksIDIzMCwgNTMsIDIxOSwgMTk2LCA4MywgCisgICAgMjQ3LCAxNTMsIDI1MSwgMTk5LCA3LCA2LCAxLCA2MiwgNywgNiwgMSwgMjUxLCAxNTAsIDcsIDYsIDEsIDI0OSwgMzQsIDcsIAorICAgIDYsIDEsIDI0NiwgMjQwLCA3LCA2LCAxLCA3NSwgNywgNiwgMSwgMjQyLCAxMzksIDcsIDYsIDEsIDI0MSwgNTUsIDcsIDYsIAorICAgIDEsIDIzOSwgMTU1LCA3LCA2LCAxLCA3NCwgNywgNiwgMSwgMjMyLCAyMDMsIDcsIDYsIDEsIDIzMiwgNzYsIDcsIDYsIDEsIAorICAgIDE0OSwgNywgNiwgMSwgMjI5LCAyOCwgNywgNiwgMSwgMjI2LCAzMywgNywgNiwgMSwgNzYsIDcsIDYsIDEsIDIyMiwgNjcsIAorICAgIDcsIDYsIDEsIDIyMCwgMjcsIDcsIDYsIDEsIDEzNywgNywgNiwgMSwgMTgyLCA3LCA2LCAxLCAyMTMsIDEwLCA3LCA2LCAxLCAKKyAgICA3MSwgNywgNiwgMSwgMjA5LCAxNDgsIDcsIDYsIDEsIDIwNywgMTI5LCA3LCA2LCAxLCAyMDYsIDE5NSwgNywgNiwgMSwgCisgICAgMjA2LCAxMjMsIDcsIDYsIDEsIDIwNSwgMTU5LCA0NywgNDksIDE0NSwgMjE4LCAyMjUsIDIxNCwgMTgwLCA0OCwgNDksIAorICAgIDE0NSwgMjQ3LCAyMjgsIDI1MywgMjEsIDExNCwgMjI5LCAyMDUsIDIzOSwgMjM3LCAyNTMsIDIxLCA3LCA1LCAxLCA2MiwgNywgCisgICAgNSwgMSwgMjUxLCAxNTAsIDcsIDUsIDEsIDI0OSwgMzQsIDcsIDUsIDEsIDI0NiwgMjQwLCA3LCA1LCAxLCA3NSwgNywgNSwgCisgICAgMSwgMjQyLCAxMzksIDcsIDUsIDEsIDI0MSwgNTUsIDcsIDUsIDEsIDIzOSwgMTU1LCA3LCA1LCAxLCA3NCwgNywgNSwgMSwgCisgICAgMjMyLCAyMDMsIDcsIDUsIDEsIDIzMiwgNzYsIDcsIDUsIDEsIDE0OSwgNywgNSwgMSwgMjI5LCAyOCwgNywgNSwgMSwgMjI2LCAKKyAgICAzMywgNywgNSwgMSwgNzYsIDcsIDUsIDEsIDIyMiwgNjcsIDcsIDUsIDEsIDIyMCwgMjcsIDcsIDUsIDEsIDEzNywgNywgNSwgCisgICAgMSwgMTgyLCA3LCA1LCAxLCAyMTMsIDEwLCA3LCA1LCAxLCA3MSwgNywgNSwgMSwgMjA5LCAxNDgsIDcsIDUsIDEsIDIwNywgCisgICAgMTI5LCA3LCA1LCAxLCAyMDYsIDE5NSwgNywgNSwgMSwgMjA2LCAxMjMsIDcsIDUsIDEsIDIwNSwgMTU5LCA0NywgMjQ3LCAKKyAgICAyNiwgMTQ1LCA3OSwgMjI5LCAyMDUsIDQ4LCAyNDcsIDI2LCAxNDUsIDIxMSwgMTgwLCAyMjQsIDY2LCAyMTQsIDE1MywgCisgICAgMjMzLCAyLCAyNDIsIDE2OCwgODMsIDI0OCwgMTMxLCA1MywgMjIwLCAxNjUsIDUzLCAyNDcsIDI1LCA1MywgMjA2LCA0MywgCisgICAgNTMsIDI0OSwgMTExLCAxMzQsIDIxNywgNzcsIDUzLCAyNDUsIDE2NiwgMjQ3LCA5NCwgNTMsIDI0MiwgOSwgMjIyLCAxMTgsIAorICAgIDIzMywgNDksIDIzMCwgNDEsIDUwLCAyNTIsIDEwOSwgMjE5LCAxODAsIDgzLCAyMjQsIDQzLCA1MywgMjE0LCAxODcsIDIzNywgCisgICAgMjM5LCAyMTksIDIzLCA1MywgMjI4LCAxMywgMjQ1LCAyNDUsIDUzLCAyMjAsIDIxNywgNTMsIDIxMywgMTM5LCAxMDUsIAorICAgIDIxMywgMTM5LCAxNDIsIDI1MywgOSwgMjUzLCAyMSwgMjI2LCAyNTIsIDUzLCAyMjEsIDEyLCA1MywgMjI2LCAyNDcsIDI0NSwgCisgICAgMjMsIDI0OCwgMTQxLCAyMTMsIDEzOSwgMTAyLCAyMjcsIDE3OSwgMjIyLCAxMTgsIDIzMywgNDksIDIxOCwgMTYyLCA1MCwgCisgICAgMjUyLCAxMDksIDIxOSwgMTgwLCA4MywgMjA3LCAxNDYsIDI0MSwgMTE2LCAxMTksIDIxOSwgMjA0LCAyMDcsIDE0NiwgMjQxLCAKKyAgICAxMTYsIDExOSwgMjM5LCAxMjEsIDIwNywgMTQ2LCAyNDEsIDExNiwgMTI5LCAyMTksIDIwMiwgMjMzLCAyLCAyMTksIDE5NiwgCisgICAgODMsIDcsIDYsIDEsIDMyLCAyLCAyMzksIDIzNiwgNywgNiwgMSwgMzIsIDIsIDE1MywgNywgNiwgMSwgMzIsIDIsIDI0NywgCisgICAgMjI3LCA3LCA2LCAxLCAzMiwgMiwgMjExLCAxODAsIDcsIDYsIDEsIDMyLCAyLCAyNDUsIDE2NiwgNywgNiwgMSwgMzIsIDIsIAorICAgIDIxOCwgMTQ5LCA1MiwgNywgNiwgMSwgMjUyLCAyNDgsIDcsIDYsIDEsIDI0OSwgMzUsIDIsIDI0OCwgMTQxLCA3LCA2LCAxLCAKKyAgICAxNzQsIDIsIDIzOSwgMjM2LCA3LCA2LCAxLCAxNzQsIDIsIDE1MywgNywgNiwgMSwgMTc0LCAyLCAyNDcsIDIyNywgNywgNiwgCisgICAgMSwgMTc0LCAyLCAyNDUsIDE2NiwgNywgNiwgMSwgMjM3LCAyMjUsIDIsIDIzOSwgMjM2LCA3LCA2LCAxLCAyMzcsIDIyNSwgCisgICAgMiwgMTUzLCA3LCA2LCAxLCAyMzcsIDIyNSwgMiwgMjQ3LCAyMjcsIDcsIDYsIDEsIDIzNywgMjI1LCAyLCAyNDUsIDE2NiwgCisgICAgNywgNiwgMSwgMjQyLCAxOTYsIDcsIDYsIDEsIDIyNiwgMzQsIDIsIDIxMSwgMTgwLCA3LCA2LCAxLCAxNDgsIDIsIDIzOSwgCisgICAgMjM2LCA3LCA2LCAxLCAxNDgsIDIsIDE1MywgNywgNiwgMSwgMTQ4LCAyLCAyNDcsIDIyNywgNywgNiwgMSwgMTQ4LCAyLCAKKyAgICAyMTEsIDE4MCwgNywgNiwgMSwgMTQ4LCAyLCAyNDUsIDE2NiwgMjI2LCA5NCwgNTMsIDcsIDYsIDEsIDE0OCwgMiwgOTEsIDcsIAorICAgIDYsIDEsIDEwNiwgMiwgMjM5LCAyMzYsIDcsIDYsIDEsIDEwNiwgMiwgMTUzLCA3LCA2LCAxLCAxMDYsIDIsIDI0NywgMjI3LCAKKyAgICA3LCA2LCAxLCAxMDYsIDIsIDI0NSwgMTY2LCA3LCA2LCAxLCAyMDYsIDEyNCwgMiwgMTUzLCA3LCA2LCAxLCAyMTEsIDI0NiwgCisgICAgNywgNSwgMSwgMjE1LCAyMjgsIDE4MiwgNywgNSwgMSwgMzIsIDIsIDIzOSwgMjM2LCA3LCA1LCAxLCAzMiwgMiwgMTUzLCA3LCAKKyAgICA1LCAxLCAzMiwgMiwgMjQ3LCAyMjcsIDcsIDUsIDEsIDMyLCAyLCAyMTEsIDE4MCwgNywgNSwgMSwgMzIsIDIsIDI0NSwgCisgICAgMTY2LCA3LCA1LCAxLCAzMiwgMiwgMjE4LCAxNDksIDUyLCA3LCA1LCAxLCAyNTIsIDI0OCwgNywgNSwgMSwgMjQ5LCAzNSwgCisgICAgMiwgMjQ4LCAxNDEsIDcsIDUsIDEsIDE3NCwgMiwgMjM5LCAyMzYsIDcsIDUsIDEsIDE3NCwgMiwgMTUzLCA3LCA1LCAxLCAKKyAgICAxNzQsIDIsIDI0NywgMjI3LCA3LCA1LCAxLCAxNzQsIDIsIDI0NSwgMTY2LCA3LCA1LCAxLCAyMzcsIDIyNSwgMiwgMjM5LCAKKyAgICAyMzYsIDcsIDUsIDEsIDIzNywgMjI1LCAyLCAxNTMsIDcsIDUsIDEsIDIzNywgMjI1LCAyLCAyNDcsIDIyNywgNywgNSwgMSwgCisgICAgMjM3LCAyMjUsIDIsIDI0NSwgMTY2LCA3LCA1LCAxLCAyNDIsIDE5NiwgNywgNSwgMSwgMjI2LCAzNCwgMiwgMjExLCAxODAsIAorICAgIDcsIDUsIDEsIDE0OCwgMiwgMjM5LCAyMzYsIDcsIDUsIDEsIDE0OCwgMiwgMTUzLCA3LCA1LCAxLCAxNDgsIDIsIDI0NywgCisgICAgMjI3LCA3LCA1LCAxLCAxNDgsIDIsIDIxMSwgMTgwLCA3LCA1LCAxLCAxNDgsIDIsIDI0NSwgMTY2LCAyNDUsIDc1LCA1MywgCisgICAgNywgNSwgMSwgMTQ4LCAyLCA5MSwgNywgNSwgMSwgMTA2LCAyLCAyMzksIDIzNiwgNywgNSwgMSwgMTA2LCAyLCAxNTMsIDcsIAorICAgIDUsIDEsIDEwNiwgMiwgMjQ3LCAyMjcsIDcsIDUsIDEsIDEwNiwgMiwgMjQ1LCAxNjYsIDcsIDUsIDEsIDIwNiwgMTI0LCAyLCAKKyAgICAxNTMsIDcsIDUsIDEsIDIxMSwgMjQ2LCA3LCA1LCAxLCAyMDYsIDEyNCwgMiwgMjQ1LCAxNjYsIDcsIDYsIDEsIDMyLCAyLCAKKyAgICAyMjgsIDEzLCA3LCA1LCAxLCAzMiwgMiwgMjI4LCAxMywgNywgNiwgMSwgMzIsIDIsIDI0OSwgMTIyLCA3LCA1LCAxLCAzMiwgCisgICAgMiwgMjQ5LCAxMjIsIDcsIDYsIDEsIDMyLCAyLCAyMjIsIDE5NiwgNywgNSwgMSwgMzIsIDIsIDIyMiwgMTk2LCA3LCA2LCAxLCAKKyAgICAyNDksIDM1LCAyLCAxNTMsIDcsIDUsIDEsIDI0OSwgMzUsIDIsIDE1MywgNywgNiwgMSwgMjQ5LCAzNSwgMiwgMjQ3LCAyMjcsIAorICAgIDcsIDUsIDEsIDI0OSwgMzUsIDIsIDI0NywgMjI3LCA3LCA2LCAxLCAyNDksIDM1LCAyLCA2NywgNTIsIDcsIDUsIDEsIDI0OSwgCisgICAgMzUsIDIsIDY3LCA1MiwgNywgNiwgMSwgMjQ5LCAzNSwgMiwgMjQ4LCAxOTUsIDcsIDUsIDEsIDI0OSwgMzUsIDIsIDI0OCwgCisgICAgMTk1LCA3LCA2LCAxLCAyNDYsIDI0MSwgMiwgMjQ4LCAxOTUsIDcsIDUsIDEsIDI0NiwgMjQxLCAyLCAyNDgsIDE5NSwgNywgCisgICAgNiwgMSwgMjQ2LCAyNDEsIDIsIDkxLCA3LCA1LCAxLCAyNDYsIDI0MSwgMiwgOTEsIDcsIDYsIDEsIDE3NCwgMiwgMjI4LCAKKyAgICAxMywgNywgNSwgMSwgMTc0LCAyLCAyMjgsIDEzLCA3LCA2LCAxLCAxNzQsIDIsIDI0OSwgMTIyLCA3LCA1LCAxLCAxNzQsIDIsIAorICAgIDI0OSwgMTIyLCA3LCA2LCAxLCAxNzQsIDIsIDY3LCA1MiwgNywgNSwgMSwgMTc0LCAyLCA2NywgNTIsIDcsIDYsIDEsIDE3NCwgCisgICAgMiwgMjIyLCAxOTYsIDcsIDUsIDEsIDE3NCwgMiwgMjIyLCAxOTYsIDcsIDYsIDEsIDE3NCwgMiwgMjQ4LCAxOTUsIDcsIDUsIAorICAgIDEsIDE3NCwgMiwgMjQ4LCAxOTUsIDcsIDYsIDEsIDI0MSwgNTYsIDIsIDI0NywgMjI3LCA3LCA1LCAxLCAyNDEsIDU2LCAyLCAKKyAgICAyNDcsIDIyNywgNywgNiwgMSwgMjQxLCA1NiwgMiwgMjQ5LCAxMjIsIDcsIDUsIDEsIDI0MSwgNTYsIDIsIDI0OSwgMTIyLCAKKyAgICA3LCA2LCAxLCAyNDEsIDU2LCAyLCA2NywgNTIsIDcsIDUsIDEsIDI0MSwgNTYsIDIsIDY3LCA1MiwgNywgNiwgMSwgMjQxLCAKKyAgICA1NiwgMiwgMjQ4LCAxNDEsIDcsIDUsIDEsIDI0MSwgNTYsIDIsIDI0OCwgMTQxLCA3LCA2LCAxLCAyMzksIDE1NiwgMiwgCisgICAgMjQ3LCAyMjcsIDcsIDUsIDEsIDIzOSwgMTU2LCAyLCAyNDcsIDIyNywgNywgNiwgMSwgMjM5LCAxNTYsIDIsIDkxLCA3LCA1LCAKKyAgICAxLCAyMzksIDE1NiwgMiwgOTEsIDcsIDYsIDEsIDIzNywgMjI1LCAyLCAyMTEsIDE4MCwgNywgNSwgMSwgMjM3LCAyMjUsIDIsIAorICAgIDIxMSwgMTgwLCA3LCA2LCAxLCAyMzcsIDIyNSwgMiwgMjI4LCAxMywgNywgNSwgMSwgMjM3LCAyMjUsIDIsIDIyOCwgMTMsIAorICAgIDcsIDYsIDEsIDIzNywgMjI1LCAyLCAyNDksIDEyMiwgNywgNSwgMSwgMjM3LCAyMjUsIDIsIDI0OSwgMTIyLCA3LCA2LCAxLCAKKyAgICAyMzcsIDIyNSwgMiwgMjIyLCAxOTYsIDcsIDUsIDEsIDIzNywgMjI1LCAyLCAyMjIsIDE5NiwgNywgNiwgMSwgMjM3LCAyMjUsIAorICAgIDIsIDY3LCA1MiwgNywgNSwgMSwgMjQ1LCAyMiwgNzQsIDcsIDYsIDI4LCAyMzMsIDEwMCwgNywgNSwgMjgsIDIzMywgMTAwLCAKKyAgICA3LCA2LCAxLCAyMzIsIDIwNCwgMiwgMjQ3LCAyMjcsIDcsIDUsIDEsIDIzMiwgMjA0LCAyLCAyNDcsIDIyNywgNywgNiwgMSwgCisgICAgMjMyLCA3NywgMiwgMjQ4LCAxNDEsIDcsIDUsIDEsIDIzMiwgNzcsIDIsIDI0OCwgMTQxLCA3LCA1LCAxLCAyMzEsIDIsIDcsIAorICAgIDYsIDEsIDIzMCwgMTU5LCAyLCAxNTMsIDcsIDUsIDEsIDIzMCwgMTU5LCAyLCAxNTMsIDcsIDYsIDEsIDIzMCwgMTU5LCAyLCAKKyAgICAyNDgsIDE0MSwgNywgNSwgMSwgMjMwLCAxNTksIDIsIDI0OCwgMTQxLCA3LCA2LCAxLCAyMzAsIDE1OSwgMiwgMjQ4LCAxOTUsIAorICAgIDcsIDUsIDEsIDIzMCwgMTU5LCAyLCAyNDgsIDE5NSwgNywgNiwgMSwgMjMwLCAxNTksIDIsIDIyNiwgMjQ3LCAyNDUsIDIzLCAKKyAgICA3LCA1LCAxLCAyMzAsIDE1OSwgMiwgMjI2LCAyNDcsIDI0NSwgMjMsIDcsIDYsIDEsIDIzMCwgMTU5LCAyLCA5MSwgNywgNSwgCisgICAgMSwgMjMwLCAxNTksIDIsIDkxLCA3LCA2LCAxLCAyMjYsIDM0LCAyLCAxNTMsIDcsIDUsIDEsIDIyNiwgMzQsIDIsIDE1MywgCisgICAgNywgNiwgMSwgMjI2LCAzNCwgMiwgMjQ4LCAxNDEsIDcsIDUsIDEsIDIyNiwgMzQsIDIsIDI0OCwgMTQxLCA3LCA2LCAxLCAKKyAgICAyMjYsIDM0LCAyLCAyNDgsIDE5NSwgNywgNSwgMSwgMjI2LCAzNCwgMiwgMjQ4LCAxOTUsIDcsIDUsIDEsIDIyNiwgMzQsIAorICAgIDIyMCwgMTQxLCAyNDksIDQ2LCAyNTIsIDUzLCA3LCA2LCAxLCAyNDMsIDI4LCA3LCA1LCAxLCAyNDMsIDI4LCA3LCA2LCAxLCAKKyAgICAxNDgsIDIsIDIyOCwgMTMsIDcsIDUsIDEsIDE0OCwgMiwgMjI4LCAxMywgNywgNiwgMSwgMTQ4LCAyLCAyNDksIDEyMiwgNywgCisgICAgNSwgMSwgMTQ4LCAyLCAyNDksIDEyMiwgNywgNiwgMSwgMTQ4LCAyLCA1MCwgMTUzLCA3LCA1LCAxLCAxNDgsIDIsIDUwLCAKKyAgICAxNTMsIDcsIDYsIDI4LCAyMjIsIDIwNiwgNywgNSwgMjgsIDIyMiwgMjA2LCA3LCA2LCAxLCAyMTksIDE1MCwgMiwgMTUzLCAKKyAgICA3LCA1LCAxLCAyMTksIDE1MCwgMiwgMTUzLCA3LCA2LCAxLCAyMTksIDE1MCwgMiwgMjQ4LCAxNDEsIDcsIDUsIDEsIDIxOSwgCisgICAgMTUwLCAyLCAyNDgsIDE0MSwgNywgNiwgMSwgMjE5LCAxNTAsIDIsIDI0OCwgMTk1LCA3LCA1LCAxLCAyMTksIDE1MCwgMiwgCisgICAgMjQ4LCAxOTUsIDcsIDYsIDEsIDIxOCwgMSwgMiwgMTUzLCA3LCA1LCAxLCAyMTgsIDEsIDIsIDE1MywgNywgNiwgMSwgMjE4LCAKKyAgICAxLCAyLCAyNDcsIDIyNywgNywgNSwgMSwgMjE4LCAxLCAyLCAyNDcsIDIyNywgNywgNiwgMSwgMjE4LCAxLCAyLCAyNDgsIAorICAgIDE0MSwgNywgNSwgMSwgMjE4LCAxLCAyLCAyNDgsIDE0MSwgNywgNiwgMSwgMjE4LCAxLCAyLCAyNDgsIDE5NSwgNywgNSwgMSwgCisgICAgMjE4LCAxLCAyLCAyNDgsIDE5NSwgNywgNiwgMSwgMjEzLCAxMSwgMiwgMjQ4LCAxNDEsIDcsIDUsIDEsIDIxMywgMTEsIDIsIAorICAgIDI0OCwgMTQxLCA3LCA2LCAxLCAyMTMsIDExLCAyLCAyNDgsIDE5NSwgNywgNSwgMSwgMjEzLCAxMSwgMiwgMjQ4LCAxOTUsIAorICAgIDcsIDYsIDEsIDIxMywgMTEsIDIsIDkxLCA3LCA1LCAxLCAyMTMsIDExLCAyLCA5MSwgNywgNiwgMSwgMTA2LCAyLCAyMTEsIAorICAgIDE4MCwgNywgNSwgMSwgMTA2LCAyLCAyMTEsIDE4MCwgNywgNiwgMSwgMTA2LCAyLCAyMjgsIDEzLCA3LCA1LCAxLCAxMDYsIAorICAgIDIsIDIyOCwgMTMsIDcsIDYsIDEsIDEwNiwgMiwgMjQ5LCAxMjIsIDcsIDUsIDEsIDEwNiwgMiwgMjQ5LCAxMjIsIDcsIDYsIAorICAgIDEsIDEwNiwgMiwgMjE4LCAxNDksIDUyLCA3LCA1LCAxLCAxMDYsIDIsIDIxOCwgMTQ5LCA1MiwgNywgNiwgMSwgMTA2LCAyLCAKKyAgICA1MCwgMTUzLCA3LCA1LCAxLCAxMDYsIDIsIDUwLCAxNTMsIDcsIDYsIDEsIDEwNiwgMiwgMjIyLCAxOTYsIDcsIDUsIDEsIAorICAgIDEwNiwgMiwgMjIyLCAxOTYsIDcsIDYsIDEsIDIwNywgMTMwLCAyLCAyNDcsIDIyNywgNywgNSwgMSwgMjA3LCAxMzAsIDIsIAorICAgIDI0NywgMjI3LCA3LCA2LCAxLCAyMDYsIDEyNCwgMiwgMjQ3LCAyMjcsIDcsIDUsIDEsIDIwNiwgMTI0LCAyLCAyNDcsIDIyNywgCisgICAgNywgNiwgMSwgMjA2LCAxMjQsIDIsIDI0NSwgMTY2LCA3LCA2LCAxLCAyMDUsIDE2MCwgMiwgMTUzLCA3LCA1LCAxLCAyMDUsIAorICAgIDE2MCwgMiwgMTUzLCA3LCA2LCAxLCAyMDUsIDE2MCwgMiwgNjcsIDUyLCA3LCA1LCAxLCAyMDUsIDE2MCwgMiwgNjcsIDUyLCAKKyAgICA3LCA2LCAxLCAyMDUsIDE2MCwgMiwgMjQ4LCAxOTUsIDcsIDUsIDEsIDIwNSwgMTYwLCAyLCAyNDgsIDE5NSwgNywgNSwgMSwgCisgICAgMTUyLCAxODIsIDcsIDUsIDEsIDYzLCAyLCA5MSwgNywgNiwgMSwgNjMsIDIsIDEwOSwgNywgNiwgMSwgNjMsIDIsIDIxMSwgCisgICAgOTksIDcsIDUsIDEsIDYzLCAyLCAyMTEsIDk5LCA3LCA2LCAxLCAxMzUsIDE4NCwgNywgNSwgMSwgMTM1LCAxODQsIDcsIDYsIAorICAgIDEsIDIyMiwgMTQyLCA3NiwgNywgNiwgMSwgMjQ5LCAzNSwgMiwgMTA5LCA3LCA1LCAxLCAyNDksIDM1LCAyLCAxMDksIDcsIAorICAgIDYsIDEsIDI1MiwgMjIzLCAyNDYsIDI0MCwgNywgNiwgMSwgMjQ2LCAyNDEsIDIsIDEwOSwgNywgNiwgMSwgMjQ2LCAyNDEsIAorICAgIDIsIDIxMSwgOTksIDcsIDUsIDEsIDI0NiwgMjQxLCAyLCAyMTEsIDk5LCA3LCA1LCAxLCAyMDEsIDI0NSwgMjI3LCA3LCA2LCAKKyAgICAxLCAyMTgsIDIyNCwgNzUsIDcsIDYsIDEsIDIxNywgMTAwLCA3LCA2LCAxLCAyMjIsIDE0MiwgNzUsIDcsIDYsIDEsIDI0MiwgCisgICAgMTQwLCAyLCAxMDksIDcsIDUsIDEsIDI0MiwgMTQwLCAyLCAxMDksIDcsIDYsIDEsIDI0MSwgNTYsIDIsIDEwOSwgNywgNiwgCisgICAgMSwgMjQwLCAyMTUsIDcsIDUsIDEsIDIzOCwgMTcsIDcsIDYsIDEsIDIzMiwgMjQ5LCA3LCA2LCAxLCAyMzcsIDIyNSwgMiwgCisgICAgOTEsIDcsIDYsIDEsIDIzMiwgNzcsIDIsIDEwOSwgNywgNSwgMSwgMjMyLCA3NywgMiwgMTA5LCA3LCA1LCAxLCAyMzAsIAorICAgIDE1OSwgMiwgMTM0LCA3LCA1LCAxLCAyMzAsIDEwNCwgMiwgOTEsIDcsIDYsIDEsIDIwMSwgMjI5LCAyOCwgNywgNiwgMSwgCisgICAgMjI2LCAzNCwgMiwgNDcsIDEwOSwgNywgNSwgMSwgMjI2LCAzNCwgMiwgMTUyLCA0OCwgMjMwLCAzNCwgNywgNiwgMSwgMTQ4LCAKKyAgICAyLCAyMjYsIDI0NywgMjExLCAxODAsIDcsIDYsIDEsIDE0OCwgMiwgMjM4LCA2OSwgNywgNSwgMSwgMTQ4LCAyLCAyMzgsIAorICAgIDY5LCA3LCA2LCAxLCAyMjIsIDE5MSwgNywgNSwgMSwgMjIyLCAxOTEsIDcsIDYsIDEsIDIyMiwgNjgsIDIsIDEwOSwgNywgNSwgCisgICAgMSwgMjIyLCA2OCwgMiwgMTA5LCA3LCAxLCAyMDUsIDIxNiwgNywgNiwgMSwgMTM1LCAxMDUsIDcsIDUsIDEsIDEzNSwgMTA1LCAKKyAgICA3LCA2LCAxLCAyNDIsIDIxNSwgNywgMSwgMjE4LCAyMjQsIDI0MiwgMjE2LCAyMjksIDExMSwgNywgNSwgMSwgMjEzLCAxMSwgCisgICAgMiwgMjIyLCAyNiwgMTA5LCA3LCA2LCAxLCAyMTMsIDExLCAyLCAxMDksIDcsIDUsIDEsIDIxMywgMTEsIDIsIDEwOSwgNywgCisgICAgNiwgMSwgMjEzLCAxMSwgMiwgMjE4LCAyMzAsIDEwOSwgNywgNiwgMSwgMTA2LCAyLCAyMzgsIDY5LCA3LCA1LCAxLCAxMDYsIAorICAgIDIsIDIzOCwgNjksIDcsIDYsIDEsIDIwOSwgMjAwLCA3LCA2LCAxLCAyMDksIDE0OSwgMiwgMTA5LCA3LCA2LCAxLCAyMDYsIAorICAgIDEyNCwgMiwgMTA5LCA3LCA1LCAxLCAyMDYsIDEyNCwgMiwgMTA5LCA3LCA2LCAxLCAyMDUsIDE2MCwgMiwgOTEsIDcsIDUsIAorICAgIDEsIDIwNSwgMTYwLCAyLCA5MSwgNywgNiwgMSwgMjQyLCAxNDEsIDcsIDYsIDEsIDI0MiwgMTQyLCAyMTgsIDIyMywgNywgNSwgCisgICAgMSwgMjQyLCAxNDIsIDIxOCwgMjIzLCA3LCA1LCAxLCAyNDIsIDE0MiwgMiwgMjEyLCAxOTEsIDcsIDEsIDExOCwgMiwgOTEsIAorICAgIDcsIDYsIDEsIDEzNSwgMTY4LCA3LCA1LCAxLCAxMzUsIDE2OCwgNywgMSwgMjMzLCAyLCAyNDAsIDI1LCAyMTMsIDI1MiwgMiwgCisgICAgOTEsIDcsIDEsIDIwNiwgMTk4LCA3LCAxLCAyNDUsIDIyMCwgMjQ3LCAyMDMsIDcsIDEsIDIzMCwgNzgsIDI0NywgMjAzLCA3LCAKKyAgICAxLCAyNTIsIDEzNywgMjQ3LCAyMDMsIDcsIDEsIDIxOCwgMjMwLCAyNDcsIDIwMywgNywgNiwgMSwgMjQzLCAxOTgsIDIsIAorICAgIDI0OCwgMTk1LCA3LCA2LCAxLCAyNDYsIDI0MSwgMiwgNSwgMSwgMjA1LCAxNjAsIDIsIDI0OCwgMTk1LCA3LCA1LCAxLCAKKyAgICAyNDMsIDE5OCwgMiwgMjQ4LCAxOTUsIDcsIDYsIDEsIDIyOSwgMTc2LCA3LCA2LCAxLCAyMzAsIDE1OSwgMiwgNSwgMSwgCisgICAgMjMyLCAyMDMsIDcsIDUsIDEsIDIyOSwgMTc2LCA3LCA2LCAxLCAyMjQsIDE4MSwgNywgNiwgMSwgMjI2LCAzNCwgMiwgNSwgCisgICAgMSwgMjMyLCAyMDMsIDcsIDUsIDEsIDIyNCwgMTgxLCA3LCA2LCAxLCAzMiwgMiwgMjQ4LCAxOTUsIDcsIDUsIDEsIDMyLCAyLCAKKyAgICAyNDgsIDE5NSwgNywgNiwgMSwgMjM3LCAyMjUsIDIsIDI0OCwgMTk1LCA3LCA1LCAxLCAyMzcsIDIyNSwgMiwgMjQ4LCAxOTUsIAorICAgIDcsIDYsIDEsIDE0OCwgMiwgMjQ4LCAxOTUsIDcsIDUsIDEsIDE0OCwgMiwgMjQ4LCAxOTUsIDcsIDYsIDEsIDEwNiwgMiwgCisgICAgMjQ4LCAxOTUsIDcsIDUsIDEsIDEwNiwgMiwgMjQ4LCAxOTUsIDcsIDYsIDEsIDEwNiwgMiwgMjQ1LCAxNjcsIDIzLCAyMjgsIAorICAgIDEzLCA3LCA1LCAxLCAxMDYsIDIsIDI0NSwgMTY3LCAyMywgMjI4LCAxMywgNywgNiwgMSwgMTA2LCAyLCAyNDUsIDE2NywgCisgICAgMjMsIDE1MywgNywgNSwgMSwgMTA2LCAyLCAyNDUsIDE2NywgMjMsIDE1MywgNywgNiwgMSwgMTA2LCAyLCAyNDUsIDE2NywgCisgICAgMjMsIDI0OCwgMTk1LCA3LCA1LCAxLCAxMDYsIDIsIDI0NSwgMTY3LCAyMywgMjQ4LCAxOTUsIDcsIDYsIDEsIDEwNiwgMiwgCisgICAgMjQ1LCAxNjcsIDIzLCAyMzksIDIzNiwgNywgNSwgMSwgMTA2LCAyLCAyNDUsIDE2NywgMjMsIDIzOSwgMjM2LCA3LCA1LCAxLCAKKyAgICAyMDEsIDc1LCA3LCA2LCAxLCAzMiwgMiwgMjQ1LCAxNjcsIDIzLCAyMjgsIDEzLCA3LCA1LCAxLCAzMiwgMiwgMjQ1LCAxNjcsIAorICAgIDIzLCAyMjgsIDEzLCA3LCA2LCAxLCAzMiwgMiwgNjcsIDg0LCAyMywgMjI4LCAxMywgNywgNSwgMSwgMzIsIDIsIDY3LCA4NCwgCisgICAgMjMsIDIyOCwgMTMsIDcsIDYsIDEsIDI1MiwgMjQ5LCAyLCAyMjgsIDEzLCA3LCA1LCAxLCAyNTIsIDI0OSwgMiwgMjI4LCAKKyAgICAxMywgNywgNiwgMSwgMjQxLCA1NiwgMiwgOTEsIDcsIDUsIDEsIDI0MSwgNTYsIDIsIDkxLCA3LCA2LCAxLCAyNDEsIDU2LCAKKyAgICAyLCAyNDgsIDE5NSwgNywgNSwgMSwgMjQxLCA1NiwgMiwgMjQ4LCAxOTUsIDcsIDYsIDEsIDIzMiwgNzcsIDIsIDI0OCwgCisgICAgMTk1LCA3LCA1LCAxLCAyMzIsIDc3LCAyLCAyNDgsIDE5NSwgNywgNiwgMSwgMTQ4LCAyLCAyMjIsIDE5NiwgNywgNSwgMSwgCisgICAgMTQ4LCAyLCAyMjIsIDE5NiwgNywgNiwgMSwgMTQ4LCAyLCAyMjIsIDE5NywgMjMsIDIyOCwgMTMsIDcsIDUsIDEsIDE0OCwgCisgICAgMiwgMjIyLCAxOTcsIDIzLCAyMjgsIDEzLCA3LCA2LCAxLCAyNDIsIDE0MiwgMiwgMjQ4LCAxOTUsIDcsIDUsIDEsIDI0MiwgCisgICAgMTQyLCAyLCAyNDgsIDE5NSwgNywgNSwgMSwgMjMyLCAyMDQsIDIsIDI0OCwgMTk1LCA3LCA2LCAxLCAyNDMsIDE5NywgNywgCisgICAgNiwgMSwgMjQ2LCAyNDEsIDIsIDUsIDEsIDIwNSwgMTU5LCA3LCA1LCAxLCAyNDMsIDE5NywgNywgNiwgMSwgMjQxLCA1NiwgCisgICAgMiwgMTUzLCA3LCA1LCAxLCAyNDEsIDU2LCAyLCAxNTMsIDcsIDYsIDEsIDIzOCwgMTQsIDcsIDYsIDEsIDIwNiwgMTk4LCA3LCAKKyAgICA2LCAxLCAyMjYsIDM0LCAyLCAyMzksIDIzNiwgNywgNSwgMSwgMjI2LCAzNCwgMiwgMjM5LCAyMzYsIDcsIDYsIDEsIDMyLCAKKyAgICAyLCAyMTgsIDE0OSwgODQsIDIzLCAxNTMsIDcsIDUsIDEsIDMyLCAyLCAyMTgsIDE0OSwgODQsIDIzLCAxNTMsIDcsIDYsIDEsIAorICAgIDI1MiwgMjQ5LCAyLCAxNTMsIDcsIDUsIDEsIDI1MiwgMjQ5LCAyLCAxNTMsIDcsIDYsIDEsIDE0OCwgMiwgMjEzLCAyMjUsIAorICAgIDIzLCAxNTMsIDcsIDUsIDEsIDE0OCwgMiwgMjEzLCAyMjUsIDIzLCAxNTMsIDcsIDYsIDEsIDMyLCAyLCA1MCwgMjM5LCAKKyAgICAyMzYsIDcsIDUsIDEsIDMyLCAyLCA1MCwgMjM5LCAyMzYsIDcsIDYsIDEsIDMyLCAyLCAyMzMsIDIsIDI0OSwgMTIyLCA3LCAKKyAgICA1LCAxLCAzMiwgMiwgMjMzLCAyLCAyNDksIDEyMiwgNywgNiwgMSwgMTc0LCAyLCA1MCwgMjM5LCAyMzYsIDcsIDUsIDEsIAorICAgIDE3NCwgMiwgNTAsIDIzOSwgMjM2LCA3LCA2LCAxLCAxNzQsIDIsIDIzMywgMiwgMjQ5LCAxMjIsIDcsIDUsIDEsIDE3NCwgMiwgCisgICAgMjMzLCAyLCAyNDksIDEyMiwgNywgNiwgMSwgMjM3LCAyMjUsIDIsIDUwLCAyMzksIDIzNiwgNywgNSwgMSwgMjM3LCAyMjUsIAorICAgIDIsIDUwLCAyMzksIDIzNiwgNywgNiwgMSwgMjM3LCAyMjUsIDIsIDIzMywgMiwgMjQ5LCAxMjIsIDcsIDUsIDEsIDIzNywgCisgICAgMjI1LCAyLCAyMzMsIDIsIDI0OSwgMTIyLCA3LCA2LCAxLCAxNDgsIDIsIDUwLCAyMzksIDIzNiwgNywgNSwgMSwgMTQ4LCAyLCAKKyAgICA1MCwgMjM5LCAyMzYsIDcsIDYsIDEsIDE0OCwgMiwgMjMzLCAyLCAyNDksIDEyMiwgNywgNSwgMSwgMTQ4LCAyLCAyMzMsIDIsIAorICAgIDI0OSwgMTIyLCA3LCA2LCAxLCAyMTksIDE1MCwgMiwgNTAsIDIzOSwgMjM2LCA3LCA1LCAxLCAyMTksIDE1MCwgMiwgNTAsIAorICAgIDIzOSwgMjM2LCA3LCA2LCAxLCAyMTksIDE1MCwgMiwgMjMzLCAyLCAyNDksIDEyMiwgNywgNSwgMSwgMjE5LCAxNTAsIDIsIAorICAgIDIzMywgMiwgMjQ5LCAxMjIsIDcsIDYsIDEsIDEwNiwgMiwgNTAsIDIzOSwgMjM2LCA3LCA1LCAxLCAxMDYsIDIsIDUwLCAKKyAgICAyMzksIDIzNiwgNywgNiwgMSwgMTA2LCAyLCAyMzMsIDIsIDI0OSwgMTIyLCA3LCA1LCAxLCAxMDYsIDIsIDIzMywgMiwgCisgICAgMjQ5LCAxMjIsIDcsIDYsIDEsIDIxOCwgMSwgMiwgMjQ3LCAxNTYsIDU1LCA3LCA1LCAxLCAyMTgsIDEsIDIsIDI0NywgMTU2LCAKKyAgICA1NSwgNywgNiwgMSwgMjEzLCAxMSwgMiwgMjQ3LCAxNTYsIDU1LCA3LCA1LCAxLCAyMTMsIDExLCAyLCAyNDcsIDE1NiwgNTUsIAorICAgIDcsIDYsIDEsIDIwNSwgMjM0LCA3LCA1LCAxLCAyMDUsIDIzNCwgNywgNiwgMSwgMjM5LCAxNTYsIDIsIDI0OCwgMTk1LCA3LCAKKyAgICA1LCAxLCAyMzksIDE1NiwgMiwgMjQ4LCAxOTUsIDcsIDYsIDEsIDIyNiwgMzQsIDIsIDE1MiwgNDgsIDIzMCwgMzQsIDcsIDUsIAorICAgIDEsIDI0NiwgMjQxLCAyLCAyNDcsIDI3LCA3LCA2LCAxLCAyMjIsIDk3LCA3LCA1LCAxLCAyMjIsIDk3LCA3LCA2LCAxLCAKKyAgICAyMDUsIDE2MCwgMiwgMTA5LCA3LCA1LCAxLCAyMDUsIDE2MCwgMiwgMTA5LCA3LCA2LCAxLCAzMiwgMiwgNjcsIDUyLCA3LCAKKyAgICA1LCAxLCAzMiwgMiwgNjcsIDUyLCA3LCA2LCAxLCAxNzQsIDIsIDI0OCwgMTQxLCA3LCA1LCAxLCAxNzQsIDIsIDI0OCwgCisgICAgMTQxLCA3LCA2LCAxLCAxNDgsIDIsIDI0NSwgMTY3LCAyMywgMjI4LCAxMywgNywgNSwgMSwgMTQ4LCAyLCAyNDUsIDE2NywgCisgICAgMjMsIDIyOCwgMTMsIDcsIDYsIDEsIDE0OCwgMiwgMjExLCAxODEsIDIzLCAyMjgsIDEzLCA3LCA1LCAxLCAxNDgsIDIsIAorICAgIDIxMSwgMTgxLCAyMywgMjI4LCAxMywgNywgNiwgMSwgMTQ4LCAyLCA2NywgNTIsIDcsIDUsIDEsIDE0OCwgMiwgNjcsIDUyLCAKKyAgICA3LCA2LCAxLCAxNDgsIDIsIDY3LCA4NCwgMjMsIDIyOCwgMTMsIDcsIDUsIDEsIDE0OCwgMiwgNjcsIDg0LCAyMywgMjI4LCAKKyAgICAxMywgNywgNiwgMSwgMjA2LCAxMjQsIDIsIDIyOCwgMTMsIDcsIDUsIDEsIDIwNiwgMTI0LCAyLCAyMjgsIDEzLCA3LCA1LCAKKyAgICAxLCAyMzAsIDE1OSwgMiwgMjQ3LCAyNywgNywgNSwgMSwgMjI2LCAzNCwgMiwgMjQ3LCAyNywgNywgNSwgMSwgMjEzLCAxMSwgCisgICAgMiwgMjQ3LCAyNywgNywgNSwgMSwgMjQ1LCAyMiwgMjMyLCAyMDMsIDcsIDUsIDEsIDI0NiwgNjQsIDI0NSwgMTI3LCA3LCA1LCAKKyAgICAxLCAyMTksIDIxNSwgMjQ1LCAxMjcsIDcsIDYsIDEsIDMyLCAyLCA5MSwgNywgNiwgMSwgMjQ5LCAzNSwgMiwgOTEsIDcsIDUsIAorICAgIDEsIDI0OSwgMzUsIDIsIDkxLCA3LCA2LCAxLCAyMzAsIDE1OSwgMiwgMTM0LCA3LCA2LCAxLCAyMTMsIDExLCAyLCAyNDUsIAorICAgIDE2MywgOTEsIDcsIDUsIDEsIDIxOCwgMSwgMiwgMjEzLCAxMDksIDIxMiwgMTkxLCA3LCA1LCAxLCAyMDUsIDE2MCwgMiwgCisgICAgMjEzLCAxMDksIDIxMiwgMTkxLCA3LCA2LCAxLCAyNDAsIDI1LCAyMTMsIDI1MSwgNywgNSwgMSwgMjQwLCAyNSwgMjEzLCAKKyAgICAyNTEsIDcsIDYsIDEsIDYzLCAyLCA5MSwgNywgNiwgMSwgMTA2LCAxMzQsIDcsIDYsIDEsIDIwMSwgMjA5LCAxNDgsIDcsIDYsIAorICAgIDEsIDE3NCwgMiwgOTEsIDcsIDUsIDEsIDE3NCwgMiwgOTEsIDcsIDYsIDEsIDIzMiwgMjA0LCAyLCA5MSwgNywgNSwgMSwgCisgICAgMjMyLCAyMDQsIDIsIDkxLCA3LCA2LCAxLCA1LCAyMjAsIDI4LCAyLCAyMzgsIDEzMCwgMjEyLCAxOTEsIDcsIDUsIDEsIAorICAgIDIyMCwgMjgsIDIsIDIzOCwgMTMwLCAyMTIsIDE5MSwgNywgNiwgMSwgMjE5LCAxNTAsIDIsIDkxLCA3LCA1LCAxLCAyMTksIAorICAgIDE1MCwgMiwgOTEsIDcsIDYsIDEsIDIwNiwgMTI0LCAyLCA5MSwgNywgNSwgMSwgMjA2LCAxMjQsIDIsIDkxLCA3LCA1LCAxLCAKKyAgICAyMDEsIDYyLCA3LCA1LCAxLCAyNTIsIDE0NCwgNywgNSwgMSwgMjAxLCAyNTIsIDE0NCwgNywgNSwgMSwgNjMsIDIsIDEwOSwgCisgICAgNywgNSwgMSwgMjIyLCAxNDIsIDc2LCA3LCA1LCAxLCAyNDksIDM1LCAyLCAyNDcsIDI3LCA3LCA1LCAxLCAyNDYsIDI0MSwgCisgICAgMiwgMjEyLCAxOTEsIDcsIDUsIDEsIDI0NiwgMjQxLCAyLCAxMDksIDcsIDUsIDEsIDIxOCwgMjI0LCA3NSwgNywgNSwgMSwgCisgICAgMjE3LCAxMDAsIDcsIDUsIDEsIDIxNywgMTAxLCAyLCAxMDksIDcsIDUsIDEsIDIyMiwgMTQyLCA3NSwgNywgNSwgMSwgMjE4LCAKKyAgICAyMjQsIDIyMiwgMTQyLCA3NSwgNywgNSwgMSwgMjE4LCAyMjQsIDIyMiwgMTQyLCAxNzQsIDIsIDEwOSwgNywgNSwgMSwgCisgICAgMjQ3LCAxOTIsIDIxOCwgMjI0LCAyMjIsIDE0MiwgNzUsIDcsIDUsIDEsIDI0NSwgMjIsIDIzMiwgMjA0LCAyLCA5MSwgNywgCisgICAgNSwgMSwgMjQxLCA1NiwgMiwgMTA5LCA3LCA1LCAxLCAxMjEsIDI0MSwgNTUsIDcsIDEsIDUsIDYsIDI0MSwgNTUsIDcsIDUsIAorICAgIDEsIDI0MCwgMjE1LCA3LCA1LCAxLCAyMTksIDc1LCAyMzgsIDY5LCA3LCA1LCAxLCAyMDEsIDIzOSwgMTU1LCA3LCA1LCAxLCAKKyAgICAyMzksIDE1NiwgMiwgMTA5LCA3LCA1LCAxLCAyMzksIDQwLCAyLCAxMDksIDcsIDUsIDEsIDIzNywgMjI1LCAyLCA5MSwgNywgCisgICAgNSwgMSwgMjMyLCAyNDksIDcsIDEsIDUsIDYsIDc0LCA3LCA1LCAxLCAyMzAsIDE1OSwgMiwgMjI2LCAyNDcsIDIxMSwgMTgwLCAKKyAgICA3LCA1LCAxLCAyMzAsIDE1OSwgMiwgMjUwLCAyNCwgNywgNSwgMSwgMjMwLCAxNTksIDIsIDIxOCwgMjMwLCAxMDksIDcsIDUsIAorICAgIDEsIDIyOSwgMjUxLCA3LCA1LCAxLCAyMDEsIDIyOSwgMjgsIDcsIDUsIDEsIDIwMSwgMjI5LCAyOSwgMiwgMTUyLCAyMzAsIAorICAgIDM0LCA3LCA1LCAxLCAyMjksIDI5LCAyLCAxMDksIDcsIDUsIDEsIDIyNiwgMzQsIDIsIDQ3LCAxMDksIDcsIDUsIDEsIDIyNiwgCisgICAgMzQsIDIsIDIxOCwgMjMwLCAxMDksIDcsIDEsIDUsIDYsIDIyNiwgMzMsIDcsIDUsIDEsIDI1MCwgMTIzLCA3NiwgNywgMSwgCisgICAgNSwgNiwgMjIyLCAyMDYsIDcsIDUsIDEsIDI0NywgMTkyLCAyMjIsIDE3MCwgNywgNSwgMSwgMjIxLCA3OCwgNywgNSwgMSwgCisgICAgMjAxLCAxMzcsIDcsIDUsIDEsIDIwMSwgMjE5LCAxNTAsIDIsIDE1MiwgMjMwLCAzNCwgNywgNSwgMSwgMjAxLCAyMTksIAorICAgIDE1MCwgMiwgMTA5LCA3LCA1LCAxLCAyMTksIDE1MCwgMiwgMTUyLCAyMzAsIDM0LCA3LCA1LCAxLCAyMTksIDE1MCwgMiwgCisgICAgMjEyLCAxOTEsIDcsIDUsIDEsIDIxOSwgMTUwLCAyLCAyNDEsIDIxMCwgNywgNSwgMSwgMjE4LCAyMjQsIDIxOSwgMTUwLCAyLCAKKyAgICAyNDEsIDIxMCwgNywgMSwgNSwgNiwgMTM3LCA3LCAxLCA1LCA2LCAyMzMsIDIsIDEzNywgNywgNSwgMSwgMjE4LCAxLCAyLCAKKyAgICAxMDksIDcsIDUsIDEsIDI0MiwgMjE1LCA3LCA1LCAxLCAyNDUsIDIyLCAyMzIsIDIwNCwgMiwgMjEzLCAyMjUsIDIzLCAxMDksIAorICAgIDcsIDUsIDEsIDIxNCwgMTA0LCAyMTgsIDIyNCwgMjQyLCAyMTUsIDcsIDUsIDEsIDI0MiwgMjE2LCAyLCAyNDcsIDI3LCA3LCAKKyAgICA1LCAxLCAyMDEsIDIxMywgMTAsIDcsIDUsIDEsIDIxMywgMTEsIDIsIDIxOCwgMjMwLCAxMDksIDcsIDUsIDEsIDEwNiwgCisgICAgMTM0LCA3LCA1LCAxLCAyMDksIDIwMCwgNywgNSwgMSwgMjA5LCAxNDksIDIsIDEwOSwgNywgNSwgMSwgMjAxLCAyMDksIAorICAgIDE0OCwgNywgNSwgMSwgMjAxLCAyMDcsIDEyOSwgNywgNSwgMSwgMjAxLCAyMDYsIDEyMywgNywgMSwgNSwgNiwgMjA2LCAKKyAgICAxMjMsIDcsIDUsIDEsIDIwNSwgMTYwLCAyLCAyMTgsIDIzMCwgMTA5LCA3LCA1LCAxLCAyMDUsIDE2MCwgMiwgMjQ3LCAyNywgCisgICAgNywgNSwgMSwgMjQyLCAxNDEsIDcsIDUsIDEsIDI0MiwgMTQyLCAyLCAyNDcsIDI3LCA3LCAxLCAyNDAsIDI1LCAyMTMsIAorICAgIDI1MSwgNywgMSwgMjIxLCA4NCwgMjA4LCAxNzAsIDI0MSwgMTA0LCA3LCAxLCAyMzMsIDIsIDI0MCwgMjUsIDIxMywgMjUxLCAKKyAgICA3LCAxLCAyMTMsIDIzMiwgMjQ5LCAzNCwgNywgMSwgMjQ5LCAyMjgsIDI0NywgMjAzLCA3LCAxLCA1LCA2LCAyNTEsIDE1MCwgCisgICAgNywgNSwgMSwgMjQ3LCAxOTIsIDIyMiwgMTQyLCA3NSwgNywgMSwgNSwgNiwgMjQxLCA1NiwgMiwgMTA5LCA3LCAxLCA1LCA2LCAKKyAgICAyMzksIDE1NSwgNywgNSwgMSwgMjMyLCAyMDQsIDIsIDI0NywgNTYsIDcsIDUsIDEsIDIwMSwgMjMyLCA3NiwgNywgMSwgNSwgCisgICAgNiwgMTQ5LCA3LCA1LCAxLCAyMjAsIDI4LCAyLCAxMDksIDcsIDEsIDI0MCwgMjUsIDIxMywgMjUyLCAyLCA5MSwgNywgMSwgCisgICAgMjE4LCAyMjQsIDI0MCwgMjUsIDIxMywgMjUyLCAyLCA5MSwgNywgNSwgMSwgMjQzLCAxOTgsIDI0NSwgMTI3LCA3LCA1LCAxLCAKKyAgICAyNDUsIDE5NCwgMjQ1LCAxMjcsIDcsIDUsIDEsIDI0MywgMTk4LCAyNDUsIDEyOCwgMiwgMjQ3LCAyNywgNywgNSwgMSwgCisgICAgMjEwLCAyNDUsIDI0NSwgMTI3LCA3LCA1LCAxLCAyMTIsIDg1LCAyNDUsIDEyNywgNywgNSwgMSwgMjEyLCAxMzgsIDI0NSwgCisgICAgMTI4LCAyLCAyNDcsIDI3LCA3LCA1LCAxLCAyNDIsIDcsIDI0NSwgMTI3LCA3LCA1LCAxLCAyMjksIDgzLCAyNDUsIDEyNywgCisgICAgNywgNSwgMSwgMjI5LCAzMCwgMjQ1LCAxMjcsIDcsIDEsIDI0OSwgMjI4LCAyMjEsIDEzMCwgNywgMSwgMjQ5LCAyMzYsIAorICAgIDIyMSwgMTMwLCA3LCA1LCAxLCAyMDEsIDIzOSwgMTU2LCAyLCAyNDEsIDIxMCwgNywgNSwgMSwgMjAxLCAyMzksIDE1NiwgMiwgCisgICAgMjQxLCAyMTEsIDIzLCAyMTIsIDE5MSwgNjUsIDEsIDUsIDIzOSwgMTU1LCA2NSwgMSwgNSwgMjM5LCAxNTYsIDIsIDEwOSwgCisgICAgNjUsIDEsIDUsIDIzMiwgMjAzLCA2NSwgMSwgNSwgMTM3LCA2NSwgMSwgNSwgMjAxLCAxMzcsIDY1LCAxLCA1LCAyMDEsIAorICAgIDIxOSwgMTUwLCAyLCAxMDksIDY1LCAxLCA1LCA2LCAyMzMsIDIsIDEzNywgNjUsIDEsIDUsIDIwNywgMTI5LCA2NSwgMSwgNSwgCisgICAgMjA2LCAxMjMsIDY1LCAxLCAyMjAsIDEyNywgNjUsIDEsIDUwLCAyMjAsIDEyNywgNjUsIDEsIDIwMSwgMjQ3LCAxNTUsIDY1LCAKKyAgICAxLCAyNTIsIDUzLCA2NSwgMSwgMjE4LCAyMjQsIDI0NywgMTU1LCA2NSwgMSwgNDgsIDE2MCwgMjE4LCAxNDgsIDY1LCAxLCAKKyAgICA0NywgMTYwLCAyMTgsIDE0OCwgNjUsIDEsIDI0MCwgMjUsIDIxMywgMjUxLCA2NSwgMSwgMjE4LCAyMjQsIDI0MCwgMjUsIAorICAgIDIxMywgMjUxLCA2NSwgMSwgNDcsIDI1MSwgMjQzLCA2NSwgMSwgNDgsIDI1MSwgMjQzLCA2NSwgMSwgMTIwLCAyNTEsIDI0MywgCisgICAgNjUsIDEsIDEzMCwgMjUxLCAyNDMsIDY1LCAxLCAyNDcsIDIyOCwgMjUzLCAyMSwgMjQ4LCAxOTUsIDY1LCAxLCA3OSwgMjI5LCAKKyAgICAyMDUsIDY1LCAxLCAyMjgsIDEzLCA2NSwgMSwgMjUzLCA5LCAyNTMsIDIxLCA2NSwgMSwgMjM5LCAyMzcsIDI1MywgMjEsIAorICAgIDY1LCAxLCAxMTQsIDc5LCAyMjksIDIwNSwgNjUsIDEsIDExNCwgMjI4LCAxMywgNjUsIDEsIDExNCwgMjM5LCAyMzcsIDI1MywgCisgICAgMjEsIDY1LCAxLCAxMTQsIDI1MywgOSwgMjUzLCAyMSwgNjUsIDEsIDIxMSwgNDgsIDI0NywgMTYyLCA2NSwgMSwgMTYwLCAKKyAgICAyMTEsIDQ4LCAyNDcsIDE2MiwgNjUsIDEsIDI0OCwgMTI3LCA0OCwgMTYwLCAyMTgsIDE0OCwgNjUsIDEsIDI0OCwgMTI3LCAKKyAgICA0NywgMTYwLCAyMTgsIDE0OCwgNjUsIDEsIDEyMCwgMjEyLCAyMDEsIDY1LCAxLCAxMzAsIDIxMiwgMjAxLCA2NSwgMSwgCisgICAgMTAxLCA1MywgNjUsIDEsIDIyNiwgMjAyLCA1MywgMjQ5LCAxMjIsIDY3LCA1MiwgMjE4LCAxNDksIDUyLCAyMjIsIDE5NiwgCisgICAgNSwgMjExLCAxODAsIDUwLCAyNTMsIDksIDI1MywgMjEsIDY1LCAxLCAyMTgsIDIwOSwgMTA5LCA2NSwgMSwgMjQ3LCA2MCwgCisgICAgMjUzLCAyMSwgNjUsIDEsIDUsIDI0MCwgMjE1LCA2NSwgMSwgNSwgMTQ5LCA2NSwgMSwgNSwgMTgyLCA2NSwgMSwgNSwgMjA2LCAKKyAgICAxOTUsIDY1LCAxLCA1LCAyMTgsIDIyNCwgMjQwLCAyNSwgMjEzLCAyNTEsIDY1LCAxLCAyNDIsIDE1NiwgMTM1LCAxMzQsIAorICAgIDY1LCAxLCAxMjcsIDEzNSwgMTM0LCA2NSwgMSwgMjI2LCAyNDksIDEzNSwgMTM0LCA2NSwgMSwgMTE0LCAxMzUsIDEzNCwgCisgICAgNjUsIDEsIDI0MiwgMTU1LCAxMzUsIDEzNCwgNjUsIDEsIDIwNiwgMSwgMjQ1LCAyMTcsIDEzNSwgODMsIDY1LCAxLCAyMDYsIAorICAgIDc2LCAyNDUsIDIxNywgMTM1LCA4MywgNjUsIDEsIDIwOCwgMTY4LCA2NSwgMSwgMjA5LCAyMzAsIDY1LCAxLCA1MCwgMjUyLCAKKyAgICA1MywgNjUsIDEsIDExNCwgMTMwLCAyNTEsIDI0MywgNjUsIDEsIDExNCwgMTIwLCAyNTEsIDI0MywgNjUsIDEsIDExNCwgNDcsIAorICAgIDI1MSwgMjQzLCA2NSwgMSwgMTE0LCA0OCwgMjUxLCAyNDMsIDY1LCAxLCAxMTQsIDIxOCwgMTQ4LCA2NSwgMSwgMjI2LCAKKyAgICAyNDcsIDIzOSwgMjM3LCAyNTMsIDIxLCA2NSwgMSwgMjI2LCAyNDcsIDUwLCAyMzksIDIzNywgMjUzLCAyMSwgNjUsIDEsIAorICAgIDIyNiwgMjQ3LCA1MCwgMjUzLCA5LCAyNTMsIDIxLCA2NSwgMSwgMTE0LCAyMTEsIDE4MCwgNjUsIDEsIDIxOSwgODEsIDI0NywgCisgICAgMTYyLCA2NSwgMSwgMjUwLCA0MiwgMTI3LCAyMTEsIDExOCwgNjUsIDEsIDI0MywgMzQsIDEyNywgMjExLCAxMTgsIDY1LCAxLCAKKyAgICAyNTAsIDQyLCAxMTQsIDIxMSwgMTE4LCA2NSwgMSwgMjQzLCAzNCwgMTE0LCAyMTEsIDExOCwgNjUsIDEsIDIxNSwgMjA1LCAKKyAgICA2NSwgMSwgMjIyLCAxNDIsIDIxNSwgMjA1LCA2NSwgMSwgMTE0LCA0NywgNDUsIDM2LCAyMzksIDIzNywgMjUzLCAyMSwgMzYsIAorICAgIDI1MywgOSwgMjUzLCAyMSwgMzYsIDI0NywgMjI4LCAyNTMsIDIxLCAzNiwgMjExLCAxODAsIDM2LCAyMjgsIDEzLCAzNiwgCisgICAgMjIyLCA4MSwgMzYsIDI0OSwgMTIyLCAzNiwgNjcsIDUyLCAzNiwgMjQ1LCAxNjYsIDM2LCAyMzgsIDEzMCwgNTIsIDM2LCAKKyAgICAyMTgsIDE0OSwgNTIsIDM2LCA1MCwgMjUzLCA5LCAyNTMsIDIxLCAzNiwgMjQ4LCAxOTUsIDM2LCA3OSwgMjI5LCAyMDYsIAorICAgIDUyLCAzNiwgNTAsIDc5LCAyMjksIDIwNiwgNTIsIDM2LCA1MCwgMjM5LCAyMzcsIDI1MywgMjEsIDM2LCAyNDgsIDIxNywgCisgICAgMzYsIDIzMywgMiwgMjQ5LCAxMjIsIDM2LCAyMDEsIDI0NywgMTU2LCA1MiwgMzYsIDI0NywgMTU2LCA1MiwgMzYsIDIxOCwgCisgICAgMjI0LCAyNDcsIDE1NiwgNTIsIDM2LCAyNDcsIDE1NiwgODQsIDIxOCwgMTY3LCAzNiwgMjM5LCAyMzcsIDI1MywgMjIsIDU1LCAKKyAgICAzNiwgMjUzLCA5LCAyNTMsIDIyLCA1NSwgMzYsIDQ3LCAyMTIsIDIwMiwgNTUsIDM2LCA0OCwgMjEyLCAyMDIsIDU1LCAzNiwgCisgICAgNDcsIDI1MiwgMTA5LCA1MiwgMzYsIDIzOCwgNjksIDM2LCA0NywgMTYwLCAyMTgsIDE0OSwgNTUsIDM2LCAxMjAsIDIxMiwgCisgICAgMjAyLCA1NSwgMzYsIDEzMCwgMjEyLCAyMDIsIDU1LCAzNiwgMTAxLCAzLCA1NSwgMzYsIDIyNiwgMjAyLCAzLCA1NSwgMzYsIAorICAgIDIyMiwgMjQsIDIzOCwgMTMwLCA1NSwgMzYsIDIxOCwgMjMwLCAyMzgsIDEzMCwgNTUsIDM2LCA2NywgNTUsIDM2LCAyNDUsIAorICAgIDE2NywgNTUsIDM2LCAyMTgsIDE0OSwgNTUsIDM2LCAyNDcsIDE1NiwgNTUsIDM2LCAyNDgsIDE0MSwgMzYsIDIyMiwgMTk2LCAKKyAgICAzNiwgNzksIDIyOSwgMjA2LCA1NSwgMzYsIDI0OSwgMTE2LCA1NSwgMzYsIDIzMywgMiwgNTAsIDI1MiwgMjAsIDU1LCAzNiwgCisgICAgMjQ4LCAxOTYsIDU1LCAzNiwgMjQ3LCAyMjgsIDI1MywgMjIsIDU1LCAzNiwgMjQ5LCAxMjMsIDU1LCAzNiwgMjMzLCAyLCAKKyAgICAyNDksIDEyMywgNTUsIDM2LCAyMTEsIDE4MSwgNTUsIDM2LCAyMjgsIDE0LCA1NSwgMzYsIDExNCwgMjI5LCAyMDUsIDM2LCAKKyAgICA1MCwgMTE0LCAyMjksIDIwNSwgMzYsIDIxMSwgMTgxLCAyMjIsIDgyLCAzNiwgMjE1LCAxNDQsIDIxMywgMjI1LCAyMjIsIAorICAgIDgyLCAzNiwgMTUyLCAyMTMsIDIyNSwgMjIyLCA4MiwgMzYsIDIxNSwgMTQ0LCAyMTQsIDE4MSwgMjIyLCA4MiwgMzYsIDE1MiwgCisgICAgMjE0LCAxODEsIDIyMiwgODIsIDM2LCA0OCwgMTYwLCAyMTgsIDE0OSwgNTUsIDM2LCAyMzMsIDIsIDI0OSwgMTE2LCA1NSwgCisgICAgMzYsIDQ5LCA1NSwgMzYsIDIxNywgODUsIDU1LCAzNiwgMjA2LCAxOTYsIDUyLCAzNiwgNzksIDIxMSwgMTgwLCAzNiwgNTAsIAorICAgIDIyMiwgODEsIDM2LCAyMzksIDIzNywgMTM1LCA4MywgMzYsIDI1MywgOSwgMTM1LCA4MywgMzYsIDI3LCAyMjEsIDEyNCwgCisgICAgMzYsIDI3LCAyMzEsIDIzLCAzNiwgMjcsIDI0NSwgMTYwLCAyMTEsIDEwNiwgMzYsIDI3LCAyMDUsIDIyMSwgMzYsIDI0OSwgCisgICAgMTE2LCA1MiwgMzYsIDI0MiwgMjQyLCAzLCA1NSwgMzYsIDUwLCA3OSwgMjI5LCAyMDYsIDU1LCAzNiwgNDcsIDI1MiwgMTA5LCAKKyAgICA1NSwgMzYsIDIyNCwgNDMsIDIxMSwgMTgxLCA1MiwgMzYsIDIzOCwgMTM2LCA1MiwgMzYsIDI1MiwgMTQ5LCAxNDYsIDIxMSwgCisgICAgMTMwLCA1MiwgMzYsIDQ3LCA0OCwgNTEsIDU1LCAzNiwgMTY3LCA1MSwgNTUsIDM2LCAyMzksIDI0MiwgMjMyLCAxMTcsIDM2LCAKKyAgICA0OCwgMjUxLCAyNDQsIDUyLCAzNiwgNDcsIDE2MCwgMjE4LCAxNDksIDUyLCAzNiwgMjQyLCA0LCAzNiwgMjA2LCAxOTYsIAorICAgIDU1LCAzNiwgNDcsIDI1MSwgMjQ0LCA1NSwgMzYsIDQ4LCAyNTEsIDI0NCwgNTUsIDM2LCA0OCwgMjUxLCAyNDQsIDIzLCAKKyAgICAxMjAsIDI1MSwgMjQ0LCA1NSwgMzYsIDQ4LCAxNjAsIDIxOCwgMTQ5LCA1MiwgMzYsIDY3LCA4NCwgMjE4LCAxNjcsIDM2LCAKKyAgICAyNTEsIDIxMCwgNTUsIDM2LCA1MCwgMjE4LCAxNDksIDU1LCAzNiwgMjA1LCAzMSwgNTIsIDM2LCA1MCwgMjQ5LCAxMjMsIAorICAgIDU1LCAzNiwgNTAsIDI0OSwgMTIyLCAzNiwgNTAsIDIyOCwgMTMsIDM2LCA1MCwgMjI4LCAxNCwgNTUsIDM2LCA1MCwgMjExLCAKKyAgICAxODAsIDM2LCA1MCwgMjMzLCAyLCAyNDksIDEyMiwgMzYsIDUwLCA4NiwgNTEsIDU1LCAzNiwgNywgNSwgMSwgNjIsIDM2LCAKKyAgICA3LCA1LCAxLCA3NSwgMzYsIDcsIDUsIDEsIDc0LCAzNiwgNywgNSwgMSwgNzYsIDM2LCA3LCA1LCAxLCA3MSwgMzYsIDcsIDUsIAorICAgIDEsIDI0OSwgMzQsIDM2LCA3LCA1LCAxLCAyNDYsIDI0MCwgMzYsIDcsIDUsIDEsIDIzOSwgMTU1LCAzNiwgNywgNSwgMSwgCisgICAgMjI5LCAyOCwgMzYsIDcsIDUsIDEsIDEzNywgMzYsIDcsIDUsIDEsIDIxMywgMTAsIDM2LCA3LCA1LCAxLCAyMDksIDE0OCwgCisgICAgMzYsIDcsIDUsIDEsIDIwNiwgMTk1LCAyNywgNiwgMSwgMjM5LCAyOCwgMjcsIDUsIDEsIDIzOSwgMjgsIDI3LCA2LCAxLCAKKyAgICAyNTIsIDE5LCAyMTcsIDE1NCwgMjcsIDUsIDEsIDI1MiwgMTksIDIxNywgMTU0LCAyNywgMjIzLCAxNzcsIDUzLCAyNywgCisgICAgMjI5LCA5MiwgMjIzLCAxNzcsIDUzLCAyNywgNiwgMSwgMjIyLCAxMCwgMjQ1LCAxMzQsIDI3LCA1LCAxLCAyMjIsIDEwLCAKKyAgICAyNDUsIDEzNCwgMjcsIDIwNSwgMjIxLCAyNywgNSwgMjE4LCAyMjQsIDIyOSwgNjQsIDIxNSwgNjQsIDkzLCAyNywgNSwgCisgICAgMjQ0LCAyMSwgMjI5LCA2NCwgMjE1LCA2NCwgOTMsIDI3LCA1LCAyMTgsIDIyNCwgMjQ0LCAyMSwgMjI5LCA2NCwgMjE1LCAKKyAgICA2NCwgOTMsIDI3LCAyMTksIDE5NiwgODMsIDI3LCA2LCAxLCAyMDUsIDIyNywgMjcsIDIxMSwgMTA2LCAyNywgMjQ1LCAxNjAsIAorICAgIDIxMSwgMTA2LCAyNywgNiwgMSwgMjUyLCAxNDUsIDIsIDIxMSwgMTA2LCAyNywgMjUyLCA5NiwgMjEyLCAxMDksIDI3LCA2LCAKKyAgICAxLCAyNDIsIDI0NSwgMiwgMjExLCAxMDYsIDI3LCA2LCAxLCAyNDIsIDIwMiwgMiwgMjExLCAxMDYsIDI3LCA2LCAxLCAyMzIsIAorICAgIDI1MCwgMiwgMjExLCAxMDYsIDI3LCA2LCAxLCAyMjIsIDE2OSwgMiwgMjExLCAxMDYsIDI3LCA2LCAxLCAyMDksIDIwMSwgMiwgCisgICAgMjExLCAxMDYsIDI3LCA2LCAxLCAyMjIsIDE3MSwgMiwgMjExLCAxMDYsIDI3LCA1LCAxLCAyMzIsIDI1MCwgMiwgMjQ1LCAKKyAgICAxNjAsIDIzLCAyMTEsIDEwNiwgMjcsIDYsIDEsIDI1MiwgMTQ0LCAyNywgNiwgMSwgMjUwLCA4LCAyNywgNiwgMSwgMjQwLCAKKyAgICAyMTUsIDI3LCA2LCAxLCAyNDUsIDIyNywgMjcsIDYsIDEsIDI0MiwgMjQ0LCAyNywgNiwgMSwgMjA1LCA4NCwgMjcsIDYsIDEsIAorICAgIDI0MiwgMjAxLCAyNywgNiwgMSwgMjEyLCAyMywgMjcsIDYsIDEsIDIzMiwgMjQ5LCAyNywgNiwgMSwgMjMyLCAxNCwgMjcsIAorICAgIDYsIDEsIDIzMCwgMTAyLCAyNywgNiwgMSwgMjI2LCAxMTQsIDI3LCA2LCAxLCAyMjMsIDIxNywgMjcsIDYsIDEsIDIwNiwgCisgICAgMTY5LCAyNywgNiwgMSwgMjIyLCAxNjgsIDI3LCA2LCAxLCAyMjEsIDUzLCAyNywgNiwgMSwgMjE4LCAyMTAsIDI3LCA2LCAxLCAKKyAgICAyMTUsIDYzLCAyNywgNiwgMSwgMjEyLCAxNTEsIDI3LCA2LCAxLCAyMDksIDIwMCwgMjcsIDYsIDEsIDIyMSwgNzgsIDI3LCAKKyAgICA2LCAxLCAyNDgsIDU4LCAyNywgNiwgMSwgMjIwLCA5MywgMjcsIDYsIDEsIDIyMiwgMTcwLCAyNywgNiwgMSwgMjMyLCAyNTAsIAorICAgIDIsIDI0NSwgMTU5LCAyNywgNiwgMSwgMjA5LCAyMDEsIDIsIDI0NSwgMTU5LCAyNywgNSwgMSwgMjUyLCAxNDUsIDIsIDIxMSwgCisgICAgMTA2LCAyNywgNSwgMSwgMjQyLCAyNDUsIDIsIDIxMSwgMTA2LCAyNywgNSwgMSwgMjQyLCAyMDIsIDIsIDIxMSwgMTA2LCAKKyAgICAyNywgNSwgMSwgMjMyLCAyNTAsIDIsIDIxMSwgMTA2LCAyNywgNSwgMSwgMjA5LCAyMDEsIDIsIDI0NSwgMTYwLCAyMywgCisgICAgMjExLCAxMDYsIDI3LCA1LCAxLCAyNTIsIDE0NCwgMjcsIDUsIDEsIDI1MCwgOCwgMjcsIDUsIDEsIDI0MCwgMjE1LCAyNywgCisgICAgNSwgMSwgMjQ1LCAyMjcsIDI3LCA1LCAxLCAyNDIsIDI0NCwgMjcsIDUsIDEsIDIwNSwgODQsIDI3LCA1LCAxLCAyNDIsIAorICAgIDIwMSwgMjcsIDUsIDEsIDIxMiwgMjMsIDI3LCA1LCAxLCAyMzIsIDI0OSwgMjcsIDUsIDEsIDIzMiwgMTQsIDI3LCA1LCAxLCAKKyAgICAyMzAsIDEwMiwgMjcsIDUsIDEsIDIyNiwgMTE0LCAyNywgNSwgMSwgMjIzLCAyMTcsIDI3LCA1LCAxLCAyMDYsIDE2OSwgMjcsIAorICAgIDUsIDEsIDIyMiwgMTY4LCAyNywgNSwgMSwgMjIxLCA1MywgMjcsIDUsIDEsIDIxOCwgMjEwLCAyNywgNSwgMSwgNDIsIDIxNSwgCisgICAgNjMsIDI3LCA1LCAxLCAyMTUsIDYzLCAyNywgNSwgMSwgMjEyLCAxNTEsIDI3LCA1LCAxLCAyMDksIDIwMCwgMjcsIDUsIDEsIAorICAgIDIyMSwgNzgsIDI3LCA1LCAxLCAyNDgsIDU4LCAyNywgNSwgMSwgMjIwLCA5MywgMjcsIDUsIDEsIDIyMiwgMTcwLCAyNywgNSwgCisgICAgMSwgMjMyLCAyNTAsIDIsIDI0NSwgMTU5LCAyNywgNSwgMSwgMjA5LCAyMDEsIDIsIDI0NSwgMTU5LCAyNywgNSwgMSwgMjIyLCAKKyAgICAxNjksIDIsIDIxMSwgMTA2LCAyNywgNSwgMSwgMjA5LCAyMDEsIDIsIDIxMSwgMTA2LCAyNywgNSwgMSwgMjIyLCAxNzEsIDIsIAorICAgIDIxMSwgMTA2LCAyNywgNiwgMjMyLCA0MiwgOTMsIDI3LCAyNTAsIDksIDkzLCAyNywgMjEyLCAyNCwgOTMsIDI3LCAyMDksIAorICAgIDIwMSwgMiwgMjM4LCAxMzAsIDkzLCAyNywgMjA5LCAyMDEsIDIsIDI1MywgOSwgMjMsIDIzOCwgMTMwLCA5MywgMjcsIDIwOSwgCisgICAgMjAxLCAyLCAyNDUsIDE2NywgMjMsIDIzOCwgMTMwLCA5MywgMjcsIDIyMSwgNzksIDkzLCAyNywgMjIxLCA1NCwgOTMsIDI3LCAKKyAgICAyMzIsIDQyLCA5MywgMjcsIDEsIDI1MiwgMTksIDIzMSwgMjcsIDI3LCA1LCAxLCAyNTIsIDE5LCAyMzEsIDI3LCAyNywgMSwgCisgICAgMjE0LCA1LCAyNywgNSwgMSwgMjE0LCA1LCAyNywgMSwgMjQ1LCAxMzQsIDI3LCA1LCAxLCAyNDUsIDEzNCwgMjcsIDEsIAorICAgIDIzMSwgMjcsIDI3LCA1LCAxLCAyMzEsIDI3LCAyNywgMSwgMjE3LCAxNTQsIDI3LCA1LCAxLCAyMTcsIDE1NCwgODEsIDYsIAorICAgIDEsIDIxNSwgMjA2LCA4MSwgNSwgMSwgMjE1LCAyMDYsIDgxLCA2LCAxLCAyNDIsIDEzLCA4MSwgNSwgMSwgMjQyLCAxMywgCisgICAgODEsIDYsIDEsIDIzMSwgMTUwLCA4MSwgNSwgMSwgMjMxLCAxNTAsIDgxLCA2LCAxLCAyMzgsIDEyMiwgODEsIDUsIDEsIAorICAgIDIzOCwgMTIyLCA4MSwgNiwgMSwgMjQwLCAyMTAsIDgxLCA1LCAxLCAyNDAsIDIxMCwgODEsIDYsIDEsIDIxNSwgMTczLCA4MSwgCisgICAgNSwgMSwgMjE1LCAxNzMsIDgxLCA2LCAxLCAyNDUsIDI0MiwgODEsIDUsIDEsIDI0NSwgMjQyLCAyNywgMjMyLCAxNSwgOTMsIAorICAgIDI3LCAyMTgsIDIxMSwgOTMsIDI3LCAyMjksIDY0LCAyMTUsIDY0LCA5MywgMjcsIDEsIDIwNSwgMjI3LCAyNywgNiwgMjEyLCAKKyAgICAyNCwgOTMsIDI3LCAyMjksIDY0LCAyNDIsIDI0NSwgOTMsIDI3LCAyMTgsIDIyNCwgMjI5LCA2NCwgMjQyLCAyNDUsIDkzLCAKKyAgICAyNywgNiwgMSwgMjE1LCAxNTgsIDI3LCA1LCAxLCAyMTUsIDE1OCwgMjcsIDYsIDIyOSwgNjQsIDIxNSwgNjQsIDkzLCAyNywgCisgICAgNiwgMSwgMjE3LCAxNTEsIDI3LCA1LCAxLCAyMTcsIDE1MSwgMjcsIDIxOCwgMjExLCAyLCAyMTMsIDIyNSwgOTMsIDI3LCA2LCAKKyAgICAyMTgsIDIyNCwgMjI5LCA2NCwgMjE1LCA2NCwgOTMsIDI3LCA2LCAyNDQsIDIxLCAyMjksIDY0LCAyMTUsIDY0LCA5MywgMjcsIAorICAgIDYsIDIxOCwgMjI0LCAyNDQsIDIxLCAyMjksIDY0LCAyMTUsIDY0LCA5MywgMzQsIDYsIDEsIDIzMywgMTMwLCAyLCAyMzksIAorICAgIDIzNiwgMzQsIDYsIDEsIDIzMiwgMjUzLCAzNCwgNiwgMSwgMjQ1LCA2OCwgMzQsIDYsIDEsIDI0MCwgMzIsIDM0LCA2LCAxLCAKKyAgICAyMDksIDI0NiwgMjMzLCAxMjksIDM0LCA2LCAxLCAyNDMsIDE5MywgMzQsIDYsIDEsIDI0OSwgNDQsIDc0LCAzNCwgNiwgMSwgCisgICAgMjA2LCAxMSwgMzQsIDYsIDEsIDIzMiwgMTgyLCAzNCwgNiwgMSwgMjI5LCAxNzUsIDM0LCA2LCAxLCAyMjQsIDE3MywgMzQsIAorICAgIDYsIDEsIDIxMCwgMjMxLCAzNCwgNiwgMSwgMjMxLCA3NCwgMzQsIDYsIDEsIDIzNywgMjI1LCAyLCAyMzksIDIzNiwgMzQsIAorICAgIDYsIDEsIDIxNSwgMTQ0LCA3MSwgMzQsIDYsIDEsIDI0MywgMTg5LCAzNCwgNiwgMSwgNjIsIDM0LCA2LCAxLCAyNTAsIDYxLCAKKyAgICAzNCwgNiwgMSwgMjA5LCAzOSwgMzQsIDYsIDEsIDI0MCwgODUsIDM0LCA2LCAxLCAyNDYsIDksIDM0LCA2LCAxLCAyMzMsIAorICAgIDEyOSwgMzQsIDYsIDEsIDIwNSwgNzIsIDM0LCA2LCAxLCAyMDUsIDkzLCAzNCwgNiwgMSwgNzQsIDM0LCA2LCAxLCAyMTUsIAorICAgIDE0NCwgNzQsIDM0LCA2LCAxLCAxNzIsIDM0LCA2LCAxLCAyNDMsIDY4LCAzNCwgNiwgMSwgMjQzLCA1MCwgMzQsIDYsIDEsIAorICAgIDI0MywgNDEsIDM0LCA2LCAxLCA3NiwgMzQsIDYsIDEsIDIyMSwgMTc0LCAzNCwgNiwgMSwgMjQyLCAyMzUsIDM0LCA2LCAxLCAKKyAgICAyNDIsIDIyNSwgMzQsIDYsIDEsIDIxMiwgMTMxLCAzNCwgNiwgMSwgNzEsIDM0LCA2LCAxLCAyNDMsIDk3LCAzNCwgNiwgMSwgCisgICAgMTU1LCAzNCwgNiwgMSwgMjEwLCAyMzcsIDM0LCA2LCAxLCAyNDgsIDgyLCAzNCwgNiwgMSwgMjE2LCAyLCAzNCwgNiwgMSwgCisgICAgMjE1LCAyMTcsIDM0LCA2LCAxLCAyMzksIDk0LCA1MywgMzQsIDYsIDEsIDIwNiwgMzAsIDM0LCA2LCAxLCAyMTQsIDE4NywgCisgICAgNTMsIDM0LCA2LCAxLCA3NSwgMzQsIDYsIDEsIDIwNSwgMjEzLCAzNCwgNiwgMSwgMTkwLCAzNCwgNSwgMSwgNjIsIDM0LCA1LCAKKyAgICAxLCAyNTAsIDYxLCAzNCwgNSwgMSwgMjA5LCAzOSwgMzQsIDUsIDEsIDI0MCwgODUsIDM0LCA1LCAxLCAyNDYsIDksIDM0LCAKKyAgICA1LCAxLCAyMzMsIDEyOSwgMzQsIDUsIDEsIDIwNSwgNzIsIDM0LCA1LCAxLCAyMDUsIDkzLCAzNCwgNSwgMSwgNzQsIDM0LCAKKyAgICA1LCAxLCAyMTUsIDE0NCwgNzQsIDM0LCA1LCAxLCAxNzIsIDM0LCA1LCAxLCAyNDMsIDY4LCAzNCwgNSwgMSwgMjQzLCA1MCwgCisgICAgMzQsIDUsIDEsIDI0MywgNDEsIDM0LCA1LCAxLCA3NiwgMzQsIDUsIDEsIDIyMSwgMTc0LCAzNCwgNSwgMSwgMjQyLCAyMzUsIAorICAgIDM0LCA1LCAxLCAyNDIsIDIyNSwgMzQsIDUsIDEsIDIxMiwgMTMxLCAzNCwgNSwgMSwgNzEsIDM0LCA1LCAxLCAyNDMsIDk3LCAKKyAgICAzNCwgNSwgMSwgMTU1LCAzNCwgNSwgMSwgMjEwLCAyMzcsIDM0LCA1LCAxLCAyNDgsIDgyLCAzNCwgNSwgMSwgMjE2LCAyLCAKKyAgICAzNCwgNSwgMSwgMjE1LCAyMTcsIDM0LCA1LCAxLCAyMzksIDk0LCA1MywgMzQsIDUsIDEsIDIwNiwgMzAsIDM0LCA1LCAxLCAKKyAgICAyMTQsIDE4NywgNTMsIDM0LCA1LCAxLCA3NSwgMzQsIDUsIDEsIDIwNSwgMjEzLCAzNCwgNSwgMSwgMTkwLCAzNCwgNSwgMSwgCisgICAgMjMzLCAxMzAsIDIsIDIzOSwgMjM2LCAzNCwgNSwgMSwgMjMyLCAyNTMsIDM0LCA1LCAxLCAyNDUsIDY4LCAzNCwgNSwgMSwgCisgICAgMjQwLCAzMiwgMzQsIDUsIDEsIDIwOSwgMjQ2LCAyMzMsIDEyOSwgMzQsIDUsIDEsIDI0MywgMTkzLCAzNCwgNSwgMSwgMjQ5LCAKKyAgICA0NCwgNzQsIDM0LCA1LCAxLCAyMDYsIDExLCAzNCwgNSwgMSwgMjMyLCAxODIsIDM0LCA1LCAxLCAyMjksIDE3NSwgMzQsIDUsIAorICAgIDEsIDIyNCwgMTczLCAzNCwgNSwgMSwgMjEwLCAyMzEsIDM0LCA1LCAxLCAyMzEsIDc0LCAzNCwgNSwgMSwgMjM3LCAyMjUsIAorICAgIDIsIDIzOSwgMjM2LCAzNCwgNSwgMSwgMjE1LCAxNDQsIDcxLCAzNCwgNSwgMSwgMjQzLCAxODksIDM0LCA2LCAxLCAyMjIsIAorICAgIDE3MCwgMzQsIDUsIDEsIDIyMiwgMTcwLCAzNCwgNiwgMSwgMjA2LCA2NSwgMzQsIDUsIDEsIDIwNiwgNjUsIDM0LCA2LCAxLCAKKyAgICAyMzIsIDI0NywgNzUsIDM0LCA1LCAxLCAyMzIsIDI0NywgNzUsIDM0LCA2LCAxLCAyMjksIDE4MCwgMjA1LCAxODMsIDM0LCAKKyAgICA1LCAxLCAyMjksIDE4MCwgMjA1LCAxODMsIDM0LCA2LCAxLCAyMzIsIDI0NywgMjI5LCAxODAsIDIwNSwgMTgzLCAzNCwgNSwgCisgICAgMSwgMjMyLCAyNDcsIDIyOSwgMTgwLCAyMDUsIDE4MywgMzQsIDYsIDEsIDI0OSwgMjMxLCAyMDUsIDE4MywgMzQsIDUsIDEsIAorICAgIDI0OSwgMjMxLCAyMDUsIDE4MywgMzQsIDYsIDEsIDIzMiwgMjQ3LCAyNDksIDIzMSwgMjA1LCAxODMsIDM0LCA1LCAxLCAKKyAgICAyMzIsIDI0NywgMjQ5LCAyMzEsIDIwNSwgMTgzLCAzNCwgNiwgMSwgMjMwLCAyNTIsIDM0LCA1LCAxLCAyMzAsIDI1MiwgMzQsIAorICAgIDYsIDEsIDIyMCwgOTMsIDM0LCA1LCAxLCAyMjAsIDkzLCAzNCwgNiwgMSwgMjQxLCAyMDUsIDM0LCA1LCAxLCAyNDEsIDIwNSwgCisgICAgMzQsIDYsIDEsIDIzMiwgMjA1LCAzNCwgNSwgMSwgMjMyLCAyMDUsIDM0LCA2LCAxLCAyMzIsIDIwNiwgMiwgNTAsIDIzOSwgCisgICAgMjM3LCAyNTMsIDIxLCAzNCwgNSwgMSwgMjMyLCAyMDYsIDIsIDUwLCAyMzksIDIzNywgMjUzLCAyMSwgMzQsIDYsIDEsIAorICAgIDIwOSwgMjQ5LCAzNCwgNSwgMSwgMjA5LCAyNDksIDM0LCA2LCAxLCAyMTgsIDk1LCAyMjIsIDE3MCwgMzQsIDUsIDEsIDIxOCwgCisgICAgOTUsIDIyMiwgMTcwLCAzNCwgNiwgMSwgMjIyLCAxNzEsIDIsIDIxMSwgMTU0LCAzNCwgNSwgMSwgMjIyLCAxNzEsIDIsIAorICAgIDIxMSwgMTU0LCAzNCwgNiwgMSwgMjIyLCAxMDMsIDM0LCA1LCAxLCAyMjIsIDEwMywgMzQsIDYsIDEsIDIzMSwgMjcsIDM0LCAKKyAgICA1LCAxLCAyMzEsIDI3LCAzNCwgMjExLCAyNDEsIDUzLCAzNiwgMzQsIDIxMSwgMTU0LCAzNiwgMzQsIDIyMiwgMjUsIDM2LCAKKyAgICAzNCwgMjQ2LCA3NiwgMjIwLCAyMTMsIDM2LCAzNCwgMjIwLCA4NywgMjIwLCAyMTMsIDM2LCAzNCwgMjIwLCAxOTcsIDM2LCAKKyAgICAzNCwgMjM4LCAzMCwgMjExLCAyNDEsIDUzLCAzNiwgMzQsIDIyNiwgMjEzLCA1MywgMzQsIDYsIDEsIDIxNSwgMTQ0LCAyMzcsIAorICAgIDIyNSwgMiwgMjEyLCAxOTEsIDM0LCA1LCAxLCAyMTUsIDE0NCwgMjM3LCAyMjUsIDIsIDIxMiwgMTkxLCAzNCwgNiwgMSwgCisgICAgMjE2LCA0OCwgNTMsIDM0LCA1LCAxLCAyMTYsIDQ4LCA1MywgMzQsIDYsIDEsIDI0MiwgMjM2LCAyLCAyMTEsIDIwNywgMzQsIAorICAgIDUsIDEsIDI0MiwgMjM2LCAyLCAyMTEsIDIwNywgMzQsIDYsIDEsIDI0MCwgODYsIDIsIDIwOSwgMTk5LCAzNCwgNSwgMSwgCisgICAgMjQwLCA4NiwgMiwgMjA5LCAxOTksIDM0LCA2LCAxLCAyNDAsIDg2LCAyLCA5MSwgMzQsIDUsIDEsIDI0MCwgODYsIDIsIDkxLCAKKyAgICAzNCwgNiwgMSwgMjQwLCA4NiwgMiwgMjI2LCAyNDcsIDEwOSwgMzQsIDUsIDEsIDI0MCwgODYsIDIsIDIyNiwgMjQ3LCAxMDksIAorICAgIDM0LCA2LCAxLCAyMDUsIDczLCAyLCAyNDUsIDIxMSwgMzQsIDUsIDEsIDIwNSwgNzMsIDIsIDI0NSwgMjExLCAzNCwgNiwgMSwgCisgICAgMjA1LCA5NCwgMiwgMjQ1LCAyMTEsIDM0LCA1LCAxLCAyMDUsIDk0LCAyLCAyNDUsIDIxMSwgMzQsIDYsIDEsIDIzMiwgNjYsIAorICAgIDIsIDI0NSwgMjExLCAzNCwgNSwgMSwgMjMyLCA2NiwgMiwgMjQ1LCAyMTEsIDM0LCA2LCAxLCAyMzIsIDY2LCAyLCA3OSwgCisgICAgOTEsIDM0LCA1LCAxLCAyMzIsIDY2LCAyLCA3OSwgOTEsIDM0LCA2LCAxLCAyMzIsIDY2LCAyLCA5MSwgMzQsIDUsIDEsIAorICAgIDIzMiwgNjYsIDIsIDkxLCAzNCwgNiwgMSwgMjUwLCAxMTIsIDE3MiwgMzQsIDUsIDEsIDI1MCwgMTEyLCAxNzIsIDM0LCA2LCAKKyAgICAxLCAyNDMsIDQyLCAyLCAyNDUsIDIxMSwgMzQsIDUsIDEsIDI0MywgNDIsIDIsIDI0NSwgMjExLCAzNCwgNiwgMjgsIDI0MywgCisgICAgNDIsIDI0MCwgODUsIDM0LCA1LCAyOCwgMjQzLCA0MiwgMjQwLCA4NSwgMzQsIDYsIDEsIDIyMSwgMTc1LCAyLCAyMjYsIAorICAgIDI0NywgMTA5LCAzNCwgNSwgMSwgMjIxLCAxNzUsIDIsIDIyNiwgMjQ3LCAxMDksIDM0LCA2LCAxLCAyNTMsIDI4LCAxNTUsIAorICAgIDM0LCA1LCAxLCAyNTMsIDI4LCAxNTUsIDM0LCA2LCAxLCAyNDIsIDIyNiwgMiwgMjQ1LCAyMTEsIDM0LCA1LCAxLCAyNDIsIAorICAgIDIyNiwgMiwgMjQ1LCAyMTEsIDM0LCA2LCAxLCAyMTIsIDEzMiwgMiwgMjQ1LCAyMTEsIDM0LCA1LCAxLCAyMTIsIDEzMiwgMiwgCisgICAgMjQ1LCAyMTEsIDM0LCA2LCAxLCAyMTMsIDI0MywgNzEsIDM0LCA1LCAxLCAyMTMsIDI0MywgNzEsIDM0LCA2LCAxLCAyMTMsIAorICAgIDI0MywgMTA2LCAyLCA5MSwgMzQsIDUsIDEsIDIxMywgMjQzLCAxMDYsIDIsIDkxLCAzNCwgNiwgMSwgMjM5LCAxNDQsIDIsIAorICAgIDI0NSwgMjExLCAzNCwgNSwgMSwgMjM5LCAxNDQsIDIsIDI0NSwgMjExLCAzNCwgNiwgMjgsIDIxMiwgMTMyLCAyMTAsIDIzNywgCisgICAgMzQsIDUsIDI4LCAyMTIsIDEzMiwgMjEwLCAyMzcsIDM0LCA2LCAxLCAyNDgsIDgzLCAyLCAyNDUsIDIxMSwgMzQsIDUsIDEsIAorICAgIDI0OCwgODMsIDIsIDI0NSwgMjExLCAzNCwgNiwgMSwgMjQ4LCA4MywgMiwgNzksIDkxLCAzNCwgNSwgMSwgMjQ4LCA4MywgMiwgCisgICAgNzksIDkxLCAzNCwgNiwgMSwgMjE1LCAxODQsIDM0LCA1LCAxLCAyMTUsIDE4NCwgMzQsIDYsIDEsIDI1MywgMjgsIDI0OCwgCisgICAgODIsIDM0LCA1LCAxLCAyNTMsIDI4LCAyNDgsIDgyLCAzNCwgNiwgMSwgMjUzLCAyOCwgMjQ4LCA4MywgMiwgMjQ1LCAyMTEsIAorICAgIDM0LCA1LCAxLCAyNTMsIDI4LCAyNDgsIDgzLCAyLCAyNDUsIDIxMSwgMzQsIDEsIDIyMiwgMTcsIDM0LCA2LCAxLCAyMDUsIAorICAgIDczLCAyLCAyNDksIDEyMiwgMzQsIDUsIDEsIDIwNSwgNzMsIDIsIDI0OSwgMTIyLCAzNCwgNiwgMSwgMjMyLCA2NiwgMiwgCisgICAgMTA5LCAzNCwgNSwgMSwgMjMyLCA2NiwgMiwgMTA5LCAzNCwgNiwgMSwgMjQzLCA2OSwgMiwgMjEyLCAxOTEsIDM0LCA1LCAxLCAKKyAgICAyNDMsIDY5LCAyLCAyMTIsIDE5MSwgMzQsIDYsIDEsIDI0MywgNDIsIDIsIDEwOSwgMzQsIDUsIDEsIDI0MywgNDIsIDIsIAorICAgIDEwOSwgMzQsIDYsIDEsIDI0MywgNDIsIDIsIDIxMiwgMTkxLCAzNCwgNSwgMSwgMjQzLCA0MiwgMiwgMjEyLCAxOTEsIDM0LCAKKyAgICA2LCAxLCAyMzEsIDE2MSwgMjQ4LCA4MiwgMzQsIDUsIDEsIDIzMSwgMTYxLCAyNDgsIDgyLCAzNCwgNiwgMSwgMjQzLCA1MSwgCisgICAgMiwgMjEyLCAxOTEsIDM0LCA1LCAxLCAyNDMsIDUxLCAyLCAyMTIsIDE5MSwgMzQsIDUsIDEsIDIyMiwgMTcsIDM0LCA2LCAxLCAKKyAgICAzMiwgMiwgMjQ5LCAxMjIsIDM0LCA1LCAxLCAzMiwgMiwgMjQ5LCAxMjIsIDM0LCA2LCAxLCAzMiwgMiwgMjQ1LCAxNjYsIAorICAgIDM0LCA1LCAxLCAzMiwgMiwgMjQ1LCAxNjYsIDM0LCA2LCAyOCwgMzIsIDIzMywgMTI5LCAzNCwgNSwgMjgsIDMyLCAyMzMsIAorICAgIDEyOSwgMzQsIDYsIDEsIDIzMywgMTMwLCAyLCAyNDksIDEyMiwgMzQsIDUsIDEsIDIzMywgMTMwLCAyLCAyNDksIDEyMiwgCisgICAgMzQsIDYsIDEsIDIxNywgMTAwLCAzNCwgNSwgMSwgMjE3LCAxMDAsIDM0LCA2LCAxLCAyMTcsIDEwMSwgMiwgMjQ1LCAxNjYsIAorICAgIDM0LCA1LCAxLCAyMTcsIDEwMSwgMiwgMjQ1LCAxNjYsIDM0LCA2LCAxLCAyMDUsIDczLCAyLCAyNDUsIDE2NiwgMzQsIDUsIAorICAgIDEsIDIwNSwgNzMsIDIsIDI0NSwgMTY2LCAzNCwgNiwgMSwgMjA1LCA5NCwgMiwgMjQ1LCAxNjYsIDM0LCA1LCAxLCAyMDUsIAorICAgIDk0LCAyLCAyNDUsIDE2NiwgMzQsIDYsIDEsIDI1MywgMjgsIDI0MywgMTkzLCAzNCwgNSwgMSwgMjUzLCAyOCwgMjQzLCAKKyAgICAxOTMsIDM0LCA2LCAxLCAyMzcsIDIyNSwgMiwgMjI4LCAxMywgMzQsIDUsIDEsIDIzNywgMjI1LCAyLCAyMjgsIDEzLCAzNCwgCisgICAgNiwgMSwgMjM3LCAyMjUsIDIsIDI0NSwgMTY2LCAzNCwgNSwgMSwgMjM3LCAyMjUsIDIsIDI0NSwgMTY2LCAzNCwgNiwgMSwgCisgICAgMTQ4LCAyLCAyNDUsIDE2NiwgMzQsIDUsIDEsIDE0OCwgMiwgMjQ1LCAxNjYsIDM0LCA2LCAxLCAyNTAsIDEyMywgNzYsIDM0LCAKKyAgICA1LCAxLCAyNTAsIDEyMywgNzYsIDM0LCA2LCAxLCAyNTAsIDEyMywgMTQ4LCAyLCAyNDUsIDE2NiwgMzQsIDUsIDEsIDI1MCwgCisgICAgMTIzLCAxNDgsIDIsIDI0NSwgMTY2LCAzNCwgNiwgMSwgMTc0LCAyLCAyNDUsIDE2NiwgMzQsIDUsIDEsIDE3NCwgMiwgMjQ1LCAKKyAgICAxNjYsIDM0LCA2LCAxLCAxMDYsIDIsIDIyOCwgMTMsIDM0LCA1LCAxLCAxMDYsIDIsIDIyOCwgMTMsIDM0LCA2LCAxLCAxMDYsIAorICAgIDIsIDI0NSwgMTY2LCAzNCwgNSwgMSwgMTA2LCAyLCAyNDUsIDE2NiwgMzQsIDYsIDEsIDEwNiwgMiwgNTAsIDE1MywgMzQsIAorICAgIDUsIDEsIDEwNiwgMiwgNTAsIDE1MywgMzQsIDYsIDEsIDI0OCwgODMsIDIsIDI0NSwgMTY2LCAzNCwgNSwgMSwgMjQ4LCA4MywgCisgICAgMiwgMjQ1LCAxNjYsIDM0LCA2LCAxLCAyNDAsIDg2LCAyLCAyNDUsIDIxMSwgMzQsIDUsIDEsIDI0MCwgODYsIDIsIDI0NSwgCisgICAgMjExLCAzNCwgNiwgMSwgMjA2LCAzMSwgMiwgMjQ1LCAxNjYsIDM0LCA1LCAxLCAyMDYsIDMxLCAyLCAyNDUsIDE2NiwgMzQsIAorICAgIDYsIDEsIDI0MCwgODYsIDIsIDIxMywgMjI1LCAyMywgMTA5LCAzNCwgNSwgMSwgMjQwLCA4NiwgMiwgMjEzLCAyMjUsIDIzLCAKKyAgICAxMDksIDM0LCA2LCAxLCAyMzksIDE0NCwgMiwgMTA5LCAzNCwgNSwgMSwgMjM5LCAxNDQsIDIsIDEwOSwgMzQsIDYsIDEsIAorICAgIDIzOSwgMTQ0LCAyLCA5MSwgMzQsIDUsIDEsIDIzOSwgMTQ0LCAyLCA5MSwgMzQsIDYsIDEsIDIzMSwgMzcsIDI0NiwgOSwgCisgICAgMzQsIDUsIDEsIDIzMSwgMzcsIDI0NiwgOSwgMzQsIDYsIDEsIDIzMSwgMzcsIDI0NSwgNjgsIDM0LCA1LCAxLCAyMzEsIDM3LCAKKyAgICAyNDUsIDY4LCAzNCwgNiwgMSwgMjMxLCAzNywgMjA1LCAyMywgMzQsIDUsIDEsIDIzMSwgMzcsIDIwNSwgMjMsIDM0LCA2LCAKKyAgICAxLCAyMzEsIDM3LCAyNDMsIDE4NSwgMzQsIDUsIDEsIDIzMSwgMzcsIDI0MywgMTg1LCAzNCwgNiwgMSwgMjMxLCAzNywgCisgICAgMjI5LCAxNzUsIDM0LCA1LCAxLCAyMzEsIDM3LCAyMjksIDE3NSwgMzQsIDYsIDEsIDIzMSwgMzcsIDIyNCwgMTczLCAzNCwgCisgICAgNSwgMSwgMjMxLCAzNywgMjI0LCAxNzMsIDM0LCA2LCAxLCAyMzEsIDM3LCAyMTQsIDI0OSwgMzQsIDUsIDEsIDIzMSwgMzcsIAorICAgIDIxNCwgMjQ5LCAzNCwgNiwgMSwgMjMxLCAzNywgMjExLCAxNDgsIDM0LCA1LCAxLCAyMzEsIDM3LCAyMTEsIDE0OCwgMzQsIAorICAgIDYsIDEsIDIxOCwgMjI0LCAyMDUsIDkzLCAzNCwgNSwgMSwgMjE4LCAyMjQsIDIwNSwgOTMsIDM0LCA2LCAxLCAyNDMsIDY5LCAKKyAgICAyLCAxMDksIDM0LCA1LCAxLCAyNDMsIDY5LCAyLCAxMDksIDM0LCA2LCAxLCAyMjksIDI0OCwgMzQsIDUsIDEsIDIyOSwgCisgICAgMjQ4LCAzNCwgNiwgMSwgMjE4LCAyMTIsIDM0LCA1LCAxLCAyMTgsIDIxMiwgMzQsIDYsIDEsIDIwNiwgOTgsIDM0LCA1LCAxLCAKKyAgICAyMDYsIDk4LCAzNCwgNiwgMSwgMjIwLCAxOSwgMzQsIDUsIDEsIDIyMCwgMTksIDM0LCA2LCAxLCAyMDcsIDUxLCAzNCwgNSwgCisgICAgMSwgMjA3LCA1MSwgMzQsIDYsIDEsIDI1MiwgMTY4LCAxNzIsIDM0LCA1LCAxLCAyNTIsIDE2OCwgMTcyLCAzNCwgNiwgMSwgCisgICAgMjQzLCA2OSwgMiwgMjI2LCAyNDcsIDEwOSwgMzQsIDUsIDEsIDI0MywgNjksIDIsIDIyNiwgMjQ3LCAxMDksIDM0LCA2LCAxLCAKKyAgICAyNDMsIDQyLCAyLCAyMjYsIDI0NywgMTA5LCAzNCwgNSwgMSwgMjQzLCA0MiwgMiwgMjI2LCAyNDcsIDEwOSwgMzQsIDYsIDEsIAorICAgIDIyMSwgMTc1LCAyLCAyNDUsIDIxMSwgMzQsIDUsIDEsIDIyMSwgMTc1LCAyLCAyNDUsIDIxMSwgMzQsIDYsIDEsIDIxNSwgCisgICAgMTg1LCAyLCAyNDUsIDIxMSwgMzQsIDUsIDEsIDIxNSwgMTg1LCAyLCAyNDUsIDIxMSwgMzQsIDYsIDEsIDI0MywgNDIsIDIsIAorICAgIDQ3LCAxMDksIDM0LCA1LCAxLCAyNDMsIDQyLCAyLCA0NywgMTA5LCAzNCwgNiwgMSwgMjQzLCAxNzgsIDM0LCA1LCAxLCAKKyAgICAyNDMsIDE3OCwgMzQsIDYsIDEsIDI0NiwgNTgsIDM0LCA1LCAxLCAyNDYsIDU4LCAzNCwgNiwgMSwgMjQzLCA2OSwgMiwgCisgICAgMjQ1LCAyMTEsIDM0LCA1LCAxLCAyNDMsIDY5LCAyLCAyNDUsIDIxMSwgMTY0LCA2LCAxLCAyNTEsIDE1NiwgMTY0LCA2LCAxLCAKKyAgICAyNTAsIDIyLCAxNjQsIDYsIDEsIDI0MCwgNDksIDE2NCwgNiwgMSwgMjQ2LCAxNDUsIDE2NCwgNiwgMSwgMjQzLCAxMDgsIAorICAgIDE2NCwgNiwgMSwgMjA1LCAxMTYsIDE2NCwgNiwgMSwgMjQzLCA5MiwgMTY0LCA2LCAxLCAyNDIsIDIwMywgMTY0LCA2LCAxLCAKKyAgICAxMjQsIDE2NCwgNiwgMSwgMjA1LCA3MiwgMTY0LCA2LCAxLCAyMzMsIDM4LCAxNjQsIDYsIDEsIDIyOSwgMTc4LCAxNjQsIDYsIAorICAgIDEsIDIwNiwgMTczLCAxNjQsIDYsIDEsIDI0OSwgMSwgMTY0LCA2LCAxLCAyMzEsIDIwMywgMTY0LCA2LCAxLCAyMzgsIDE0OSwgCisgICAgMTY0LCA2LCAxLCAyMzIsIDIwMCwgMTY0LCA2LCAxLCAyNDAsIDk2LCAxNjQsIDYsIDEsIDI0OCwgNzUsIDE2NCwgNiwgMSwgCisgICAgMjI3LCA4MywgMTY0LCA2LCAxLCAyMDYsIDExLCAxNjQsIDYsIDEsIDIyNCwgMjksIDE2NCwgNiwgMSwgMjE2LCAyLCAxNjQsIAorICAgIDYsIDEsIDIwOCwgMTczLCAxNjQsIDYsIDEsIDI0OCwgMTEwLCAxNjQsIDYsIDEsIDIyMSwgMTU3LCAxNjQsIDYsIDEsIDIzMiwgCisgICAgMTY1LCAxNjQsIDYsIDEsIDIxOSwgMTEzLCAxNjQsIDYsIDEsIDIxNywgNjQsIDE2NCwgNiwgMSwgMjA4LCAyMTgsIDE2NCwgCisgICAgNiwgMSwgMjExLCAxNTEsIDE2NCwgNiwgMSwgMjE5LCAxNiwgMTY0LCA2LCAxLCAyNDcsIDE3NCwgMTY0LCA2LCAxLCAyMDUsIAorICAgIDI1MiwgMTY0LCA2LCAxLCAyMjAsIDI0NCwgMTY0LCA2LCAxLCAyMzEsIDIxNCwgMTY0LCA2LCAxLCAyMjIsIDE5NCwgMTY0LCAKKyAgICA2LCAxLCAyNDIsIDE1LCAxNjQsIDY1LCAxLCA0NywgMTYwLCAyMTgsIDE0OCwgMTY0LCAyNTIsIDUzLCAxNjQsIDI0MywgNDUsIAorICAgIDgzLCAxNjQsIDI0MiwgMTY4LCA4MywgMTY0LCAyNDcsIDE1NSwgMTY0LCAyMTksIDE5NiwgODMsIDE2NCwgMjUzLCAyOSwgCisgICAgODMsIDE2NCwgNSwgMSwgMjUxLCAxNTYsIDE2NCwgNSwgMSwgMjUwLCAyMiwgMTY0LCA1LCAxLCAyNDAsIDQ5LCAxNjQsIDUsIAorICAgIDEsIDI0NiwgMTQ1LCAxNjQsIDUsIDEsIDI0MywgMTA4LCAxNjQsIDUsIDEsIDIwNSwgMTE2LCAxNjQsIDUsIDEsIDI0MywgCisgICAgOTIsIDE2NCwgNSwgMSwgMjQyLCAyMDMsIDE2NCwgNSwgMSwgMTI0LCAxNjQsIDUsIDEsIDIwNSwgNzIsIDE2NCwgNSwgMSwgCisgICAgMjMzLCAzOCwgMTY0LCA1LCAxLCAyMjksIDE3OCwgMTY0LCA1LCAxLCAyMDYsIDE3MywgMTY0LCA1LCAxLCAyNDksIDEsIAorICAgIDE2NCwgNSwgMSwgMjMxLCAyMDMsIDE2NCwgNSwgMSwgMjM4LCAxNDksIDE2NCwgNSwgMSwgMjMyLCAyMDAsIDE2NCwgNSwgMSwgCisgICAgMjQwLCA5NiwgMTY0LCA1LCAxLCAyNDgsIDc1LCAxNjQsIDUsIDEsIDIyNywgODMsIDE2NCwgNSwgMSwgMjA2LCAxMSwgMTY0LCAKKyAgICA1LCAxLCAyMjQsIDI5LCAxNjQsIDUsIDEsIDIxNiwgMiwgMTY0LCA1LCAxLCAyMDgsIDE3MywgMTY0LCA1LCAxLCAyNDgsIAorICAgIDExMCwgMTY0LCA1LCAxLCAyMjEsIDE1NywgMTY0LCA1LCAxLCAyMzIsIDE2NSwgMTY0LCA1LCAxLCAyMTksIDExMywgMTY0LCAKKyAgICA1LCAxLCAyMTcsIDY0LCAxNjQsIDUsIDEsIDIwOCwgMjE4LCAxNjQsIDUsIDEsIDIxMSwgMTUxLCAxNjQsIDUsIDEsIDIxOSwgCisgICAgMTYsIDE2NCwgNSwgMSwgMjQ3LCAxNzQsIDE2NCwgNSwgMSwgMjA1LCAyNTIsIDE2NCwgNSwgMSwgMjIwLCAyNDQsIDE2NCwgCisgICAgNSwgMSwgMjMxLCAyMTQsIDE2NCwgNSwgMSwgMjIyLCAxOTQsIDE2NCwgNSwgMSwgMjQyLCAxNSwgMTY0LCA1LCAyOCwgMjQzLCAKKyAgICAxMDksIDIwNSwgMjUyLCAxNjQsIDI0MSwgODIsIDIxMywgMjUxLCAxNjQsIDIzNywgMjM5LCAyMTgsIDE2NiwgMTY0LCAyNDIsIAorICAgIDE5OSwgNTMsIDIzMCwgNDUsIDE2NCwgMjQyLCAxOTksIDUzLCAxNjQsIDI0MywgMjU0LCA1MywgMTAzLCAyNTMsIDIyLCAKKyAgICAyNDIsIDE5NCwgMTAzLCAyNTMsIDIyLCAyMTcsIDY1LCAxMDMsIDI1MywgMjIsIDIxNSwgMjQwLCAxMDMsIDI1MywgMjIsIAorICAgIDIwNSwgMTA0LCAyMjAsIDIsIDEwMywgMjUzLCAyMiwgMjA1LCAxMDQsIDI0MCwgMjM0LCAxMDMsIDI1MywgMjIsIDIxMSwgCisgICAgMTY1LCAxMDMsIDI1MywgMjIsIDIxOCwgMjIxLCAxMDMsIDI1MywgMjIsIDIwNSwgMTAyLCAxMDMsIDI1MywgMjIsIDIyMSwgCisgICAgMjAxLCAxMDMsIDI1MywgMjIsIDIwNiwgMjMsIDEwMywgMjUzLCAyMiwgMjEyLCA2MywgMTAzLCAyNTMsIDIyLCAyNDAsIAorICAgIDE0NywgMTAzLCAyNTMsIDIyLCAyNDAsIDE0OCwgMjI2LCA3OCwgMTAzLCAyNTMsIDIyLCAyNDAsIDE0NSwgMTAzLCAyNTMsIAorICAgIDIyLCAyMjAsIDMsIDIyMSwgMjMwLCAxMDMsIDI1MywgMjIsIDIxMiwgMTA0LCAyNDAsIDE2MywgMTAzLCAyNTMsIDIyLCAKKyAgICAyMjEsIDE4MCwgMTAzLCAyNTMsIDIyLCAyNTEsIDE5MywgMjM5LCAxMzYsIDEwMywgMjUzLCAyMiwgMjI2LCA4OCwgMTAzLCAKKyAgICAyNTMsIDIyLCAyMjcsIDI0NCwgMTAzLCAyNTMsIDIyLCAyMjcsIDczLCAxMDMsIDI1MywgMjIsIDIyNywgNzQsIDIzMSwgCisgICAgMjE1LCAxMDMsIDI1MywgMjIsIDI0NiwgODUsIDEwMywgMjUzLCAyMiwgMjIwLCAxNCwgMTAzLCAyNTMsIDIyLCAyMTIsIAorICAgIDEwNCwgMjE5LCAyNTMsIDEwMywgMjUzLCAyMiwgMjA2LCAzMywgMjUwLCAyMywgMjA1LCAyMzMsIDEwMywgMjUzLCAyMiwgCisgICAgMjIyLCAxNzcsIDEwMywgMjUzLCAyMiwgMjMzLCA4OCwgMTAzLCAyNTMsIDIyLCAyNDUsIDI0MywgMTAzLCAyNTMsIDIyLCAKKyAgICAyMDUsIDI5LCAxMDMsIDE0MSwgMjI3LCAxNzQsIDI0NywgMjMzLCAxMDMsIDIyMCwgMjA1LCAyMTUsIDE4NywgMTAzLCAyMjAsIAorICAgIDIwNSwgMjM5LCA4NSwgMjE3LCA2NSwgMTAzLCAyMjAsIDIwNSwgMjM5LCA4NSwgMjIxLCAxOTQsIDEwMywgMjIwLCAyMDUsIAorICAgIDIzOSwgODUsIDIyMCwgNywgMTAzLCAyMjAsIDIwNSwgMjM4LCAyNDQsIDEwMywgMjIwLCAyMDUsIDIxMCwgMjM0LCAxMDMsIAorICAgIDIyMCwgMjA1LCAyMTcsIDY1LCAxMDMsIDIyMCwgMjA1LCAyMjEsIDE5NCwgMTAzLCAyMjAsIDIwNSwgMjIwLCA3LCAxMDMsIAorICAgIDIyMCwgMjA1LCAyMzgsIDE0MiwgMTAzLCAyMjAsIDIwNSwgMjM4LCAxNDMsIDIzOSwgODcsIDMzLCAyMDksIDQzLCAxMDMsIAorICAgIDIyMCwgMjA1LCAyMTksIDIwMCwgMTAzLCAyMjAsIDIwNSwgMjQ2LCAxMzEsIDIyMiwgMTIzLCAyMjcsIDIwNCwgMTAzLCAKKyAgICAyMjAsIDIwNSwgMjI3LCA2MiwgMTAzLCAyMjAsIDcyLCAyMjcsIDIwMSwgMTAzLCAyMjAsIDIwNSwgMjE5LCA5MywgMTAzLCAKKyAgICAyMjAsIDcyLCAyMjEsIDIwMywgMTAzLCAyMjAsIDIwNSwgMjE1LCAxNzIsIDI0NSwgMjMsIDEwMywgMjIwLCAyMDUsIDIxNSwgCisgICAgNDUsIDI0NSwgMjMsIDEwMywgMjIwLCA3MiwgMjE0LCAxODgsIDIyMSwgMTk2LCAxMDMsIDE0MSwgMjA5LCAyMDMsIDI0NSwgCisgICAgMjMsIDEwMywgMTQxLCAyMjksIDkyLCAyNDUsIDIzLCAxMDMsIDIyMCwgNzIsIDIyMywgMTc0LCAyMzksIDEzNSwgMTAzLCAKKyAgICAyMjAsIDIwNSwgMjIwLCA4LCAyMjAsIDIsIDEwMywgMSwgMjUyLCAxNzIsIDEwMywgMSwgMjUwLCAxMCwgMTAzLCAxLCAyNDAsIAorICAgIDQ3LCAxMDMsIDEsIDI0NiwgMTExLCAxMDMsIDEsIDIzOSwgNzEsIDEwMywgMSwgMjA5LCA0MywgMTAzLCAxLCAyMDUsIDk2LCAKKyAgICAxMDMsIDEsIDIzOSwgMjksIDEwMywgMSwgMjEyLCA4MCwgMTAzLCAxLCAyMDUsIDIzNiwgMTAzLCAxLCA0MiwgMjMyLCA0NSwgCisgICAgMTAzLCAxLCAyMzIsIDQ1LCAxMDMsIDEsIDIzMCwgOTgsIDEwMywgMSwgNDIsIDIyNywgOTAsIDEwMywgMSwgMjI3LCA5MCwgCisgICAgMTAzLCAxLCA0MiwgMjIzLCAxNzMsIDEwMywgMSwgMjIzLCAxNzMsIDEwMywgMSwgMjE3LCAxNTcsIDEwMywgMSwgMjUxLCAKKyAgICAxNTQsIDEwMywgMSwgNDIsIDIyMSwgMTc0LCAxMDMsIDEsIDIyMSwgMTc0LCAxMDMsIDEsIDQyLCAyMTAsIDIzOCwgMTAzLCAKKyAgICAxLCAyMTAsIDIzOCwgMTAzLCAxLCAyMTksIDIyMywgMTAzLCAxLCAyMTgsIDI0MiwgMTAzLCAxLCAyMTUsIDE3MSwgMTAzLCAKKyAgICAxLCAyMTIsIDE0NywgMTAzLCAyOCwgMjA2LCA5LCA1MCwgMjA5LCA0MywgMTAzLCAyOCwgMjA2LCA5LCAyMDksIDQ0LCAyMDUsIAorICAgIDIzNiwgMTAzLCAyOCwgMjA2LCA5LCA1MCwgMjA1LCAyMzYsIDEwMywgMjIwLCA3MiwgMjQwLCAxNDcsIDEwMywgMjIwLCA3MiwgCisgICAgMjQwLCAxNDUsIDgsIDQzLCA1MywgOCwgMywgMjE3LCAxNTAsIDgsIDI0MSwgMTQ2LCAyMjcsIDE4NywgOCwgMywgMjE3LCAKKyAgICAxODcsIDgsIDMsIDIxNywgMTUzLCA4LCA0MywgMTQxLCA1MiwgMjUyLCAzMywgMjQ3LCAzNiwgMjE4LCAxMDMsIDI1MiwgMzMsIAorICAgIDI0MSwgMTE4LCAyMTgsIDEwMywgOCwgMjE5LCA1OCwgMjUyLCAzMywgMjIxLCAxMzIsIDIyNiwgMjE1LCA1MywgMjUyLCAzMywgCisgICAgMjIxLCAxMzIsIDIxMiwgOTksIDIxMSwgMjQzLCA1MywgMjUyLCAyMjUsIDUzLCA4LCAyNDcsIDE1NSwgOCwgMjQ2LCA3MiwgCisgICAgMjE2LCAzOSwgOCwgMjIwLCAyMDcsIDIwOSwgMjQsIDUzLCA4LCAzLCAyMjYsIDE5NCwgOCwgMywgMjE3LCAxNjcsIDI1MiwgCisgICAgMTc1LCAyMDcsIDc1LCA4LCAzLCAyNTIsIDE3NSwgMjUxLCAyMTQsIDgsIDMsIDIxOSwgOTEsIDI1MiwgMTc0LCA4LCAzLCAKKyAgICAyMTksIDk5LCAyNTIsIDE1NCwgMjUyLCAxMDMsIDgsIDMsIDIxMiwgMTg0LCA4LCA1LCAxMjcsIDIxMiwgMTk0LCA4LCA1LCAKKyAgICAxMjcsIDI4LCAxMjYsIDIsIDIzMCwgMTA3LCAyLCAyMDYsIDQ3LCA4LCA1LCAxMjcsIDIwNSwgMTA4LCA4LCA1LCAyNDIsIAorICAgIDM5LCA4LCA1LCAyNDYsIDEwNiwgOCwgNSwgMjMxLCAyNTIsIDgsIDIxNiwgNTIsIDgsIDEsIDgzLCA4LCAyMTEsIDM2LCA2NywgCisgICAgMjIwLCA3MiwgODMsIDgsIDIxOSwgMTk2LCA4MywgOCwgMSwgMjMyLCAwLCAyMDYsIDQ3LCA4LCAxLCAyMzksIDExMSwgOCwgCisgICAgMSwgMTI2LCAyLCAyMjgsIDksIDUyLCA4LCAxLCAxMjYsIDIsIDIzOSwgMTEyLCA1MiwgOCwgMSwgMjA3LCA2MCwgMiwgMjM5LCAKKyAgICAxMTIsIDUyLCA4LCAxLCAxMjYsIDIsIDIzOSwgMTEyLCA1NSwgOCwgMSwgODcsIDIsIDIzOSwgMTEyLCA1MiwgOCwgMSwgCisgICAgMjUyLCAxNzIsIDgsIDEsIDI1MCwgMzgsIDgsIDEsIDIxMiwgMTE2LCAyMjcsIDE5NywgOCwgMSwgMjEyLCAxMTUsIDgsIDEsIAorICAgIDIxMiwgMzcsIDgsIDEsIDIzMiwgMTc5LCA4LCAxLCAyMzksIDEzMiwgOCwgMSwgMjMxLCAxNjMsIDgsIDEsIDI0NiwgMTE3LCAKKyAgICA4LCAxLCAyMTIsIDQ5LCA4LCAxLCAyMTksIDE2LCA4LCAxLCAyMDUsIDEwOCwgOCwgMSwgMjE3LCA3MCwgOCwgMSwgMjE1LCAKKyAgICAyMTAsIDgsIDEsIDIxNywgMTkxLCA4LCAxLCAyNDYsIDE0MCwgOCwgMSwgMjEyLCAxOTQsIDgsIDEsIDIwNSwgMTExLCA4LCAKKyAgICAxLCAyNTIsIDIwMCwgOCwgMSwgMjQwLCA5NCwgOCwgMSwgMjMxLCAyMTMsIDIsIDExOCwgMTc3LCA1MiwgOCwgMSwgMjMxLCAKKyAgICAyMTMsIDIsIDEyOSwgMTc3LCA1NSwgOCwgMSwgMjQyLCA0MiwgODcsIDIsIDIzMywgMiwgMjA5LCAxNDgsIDgsIDEsIDI0MiwgCisgICAgNDIsIDg3LCAyLCAxMTgsIDE3NywgNTIsIDgsIDEsIDI0MiwgNDIsIDg3LCAyLCAxMjksIDE3NywgNTIsIDgsIDIxMiwgMTUzLCAKKyAgICA4LCAxLCAyNDIsIDE1LCA4LCAxLCAyMjAsIDEyLCA4LCAxLCAyMzIsIDQ1LCA4LCAxLCAyMzAsIDEwNiwgOCwgMSwgMjI3LCAKKyAgICAxMDQsIDgsIDEsIDIyNCwgNTQsIDgsIDEsIDIzOSwgNTAsIDgsIDEsIDIwNywgNTksIDgsIDEsIDEyNiwgMjI3LCAyMjgsIDgsIAorICAgIDEsIDIwNiwgNDcsIDgsIDI0MiwgMzcsIDgsIDI0NiwgMTA0LCA4LCAyMzEsIDI1MCwgOCwgMjQyLCAzOSwgOCwgMjQ2LCAKKyAgICAxMDYsIDgsIDIzMSwgMjUyLCA4LCAyMTUsIDI0OSwgOCwgMjEzLCAxNjIsIDgsIDIyOCwgNywgNTIsIDgsIDIzOSwgMTEyLCAKKyAgICA1MiwgOCwgMjM5LCAxMTIsIDU1LCA4LCAyMTMsIDE4MywgMjUyLCAxNzIsIDgsIDIzMywgMiwgMjQ2LCAxMDYsIDgsIDE0MSwgCisgICAgMjI0LCA1NSwgMjQwLCA2NSwgOCwgMjA0LCAyNTEsIDgsIDIyLCAzLCA1LCAyMDksIDE0OSwgNTIsIDgsIDIyLCAzLCAyMzMsIAorICAgIDIsIDUsIDIwOSwgMTQ5LCA1MiwgOCwgMjIsIDMsIDY3LCA1NSwgOCwgMjE4LCAyMjQsIDI0NiwgMTA2LCA4LCAyNDIsIDQwLCAKKyAgICAyLCAxMTgsIDI0NSwgMjEsIDgsIDIwNywgNjEsIDIzOSwgMTEyLCA1NSwgMjUyLCAzMywgMTgsIDIwNSwgODUsIDI1MiwgMzMsIAorICAgIDE4LCAxMDIsIDI1MiwgMzMsIDE4LCAxMDUsIDI1MiwgMzMsIDE4LCAxNDIsIDI1MiwgMzMsIDE4LCAxMzksIDI1MiwgMzMsIAorICAgIDE4LCAxNjgsIDI1MiwgMzMsIDE4LCAxODQsIDI1MiwgMzMsIDE4LCAxOTUsIDI1MiwgMzMsIDE4LCAxOTMsIDI1MiwgMzMsIAorICAgIDE4LCAyMDAsIDgsIDIyMSwgMTMxLCA1MywgOCwgMjQ2LCAyLCAyMTYsIDM5LCA4LCAyMTEsIDI0MSwgMjE2LCAzOSwgOCwgCisgICAgMjQxLCAyMDQsIDIyMCwgMjAzLCAyMTQsIDI2LCA4LCAxLCAyNDUsIDIyLCAyNTAsIDM4LCA4LCAxLCAyNDUsIDIyLCAyMjAsIAorICAgIDEyLCA4LCAxLCAyMTMsIDEzOSwgMjUyLCAxNzIsIDgsIDEsIDEyNiwgMjA3LCA3NiwgOCwgMSwgMTI2LCAyLCAyMDcsIDYxLCAKKyAgICAyMzksIDExMiwgNTIsIDgsIDEsIDEyNiwgMiwgMjA3LCA2MSwgMjM5LCAxMTIsIDU1LCA4LCAxLCAxMjcsIDIzOSwgMTExLCAKKyAgICA4LCAxLCAxMjcsIDIzOSwgMTEyLCAyNTIsIDE3MiwgOCwgMSwgMTI3LCAyMzksIDExMiwgMjA3LCA1OSwgOCwgMSwgMTA2LCAKKyAgICAyLCAyMzksIDExMiwgNTIsIDgsIDEsIDEyNywgMjM5LCAxMTIsIDIwNiwgNDcsIDgsIDEsIDIxMCwgMjAwLCA4LCAxLCAyMTAsIAorICAgIDE5OCwgOCwgMSwgMjUwLCA0OCwgOCwgMSwgMjEyLCAxMTYsIDIsIDIxOCwgMTQ4LCA4LCAxLCAyMTIsIDExNiwgMiwgMTI5LCAKKyAgICAxNzcsIDg0LCAyNDQsIDYsIDgsIDEsIDIyMSwgMTU3LCA4LCAxLCAyMTIsIDExMywgOCwgMSwgMjUwLCAzNiwgOCwgMSwgCisgICAgMTQwLCAyLCAyMzksIDExMiwgNTIsIDgsIDEsIDE0MCwgMiwgMTE4LCAxNzcsIDc5LCA1MiwgOCwgMSwgMjIzLCAxMzEsIDgsIAorICAgIDEsIDI0MywgMjAxLCA4LCAxLCAxNDAsIDIsIDEyOSwgMTc3LCA1MiwgOCwgMSwgMjEyLCAxMzUsIDgsIDEsIDIxMiwgMTMzLCAKKyAgICA4LCAxLCAyNDYsIDQ5LCA4LCAxLCAyNDYsIDExOCwgMiwgMjE4LCAxNDgsIDgsIDEsIDI0NiwgMTE4LCAyLCA2NywgNTUsIDgsIAorICAgIDEsIDI0NiwgMTE4LCAyLCA2NywgMjUwLCAyNiwgMjMsIDUsIDIxMiwgMTk0LCA4LCAxLCAyNDYsIDEyNCwgOCwgMSwgMjQ2LCAKKyAgICA1MSwgOCwgMSwgMjQzLCAyMjksIDgsIDEsIDI0NiwgMTE4LCAyLCAxMjksIDE3NywgODQsIDI0NCwgNiwgOCwgMSwgMjQ2LCAKKyAgICAxMTgsIDIsIDI0MSwgMTI1LCAxNzcsIDUyLCA4LCAxLCAyMTgsIDgxLCA4LCAxLCAyMTksIDE3LCAyLCA1LCAyMDksIDE0OCwgCisgICAgOCwgMSwgMjE5LCAxNywgMiwgMjE4LCAxNDgsIDgsIDEsIDIxOSwgMTcsIDIsIDY3LCA1NSwgOCwgMSwgMjE5LCAxNywgMiwgCisgICAgNSwgMjA5LCAxNDksIDU1LCA4LCAxLCAyMTksIDE3LCAyLCA2NywgMjUwLCAyNiwgMjMsIDY3LCA1MiwgOCwgMSwgMjE5LCAKKyAgICAxNywgMiwgMTE4LCAxNzcsIDUyLCA4LCAxLCAyMzIsIDE3NiwgOCwgMSwgMjE5LCAxNywgMiwgMjQxLCAxMjUsIDE3NywgNTIsIAorICAgIDgsIDEsIDIxNywgNzEsIDIsIDY3LCAyNTAsIDI2LCAyMywgNjcsIDUyLCA4LCAxLCAyMTcsIDcxLCAyLCAxMjksIDE3NywgCisgICAgNTUsIDgsIDEsIDIxNywgNzEsIDIsIDEyOSwgMTc3LCAyNTAsIDI2LCAyMywgMTI5LCAxNzcsIDUyLCA4LCAxLCAyMTcsIAorICAgIDE5MiwgMiwgMTE4LCAxNzcsIDU1LCA4LCAxLCAyMTcsIDE5MiwgMiwgMTI5LCAxNzcsIDUyLCA4LCAxLCAyMTIsIDE5NSwgMiwgCisgICAgMTI5LCAxNzcsIDUyLCA4LCAxLCAyNTIsIDIwMSwgMiwgMTI5LCAxNzcsIDUyLCA4LCAxLCAyNDUsIDIyLCAyNDIsIDE1LCA4LCAKKyAgICAxLCAyNDIsIDE2LCAyLCA2NywgMjI2LCAxMjIsIDU1LCA4LCAxLCAyNDIsIDE2LCAyLCA2NywgNTUsIDgsIDEsIDIwOSwgMzIsIAorICAgIDgsIDEsIDI0MiwgMTYsIDIsIDEyOSwgMTc3LCA1NSwgOCwgMSwgMjIxLCAxNTUsIDgsIDEsIDIyMCwgMTMsIDIsIDY3LCA1MiwgCisgICAgOCwgMSwgMjIwLCAxMywgMiwgMTI5LCAxNzcsIDUyLCA4LCAxLCAyMzEsIDIxMiwgOCwgMSwgMjEzLCAxMDksIDIzMiwgNDUsIAorICAgIDgsIDEsIDIzMiwgNDYsIDIsIDIxOCwgMTQ4LCA4LCAxLCAyMzIsIDQ2LCAyLCA2NywgNTIsIDgsIDEsIDIyNSwgNzksIDgsIAorICAgIDEsIDIzMiwgNDYsIDIsIDEyOSwgMTc3LCA1NSwgOCwgMSwgMjQwLCAyMzEsIDgsIDEsIDI0MCwgMjMyLCAyLCAyMTgsIDE0OCwgCisgICAgOCwgMSwgMjI1LCAwLCA4LCAxLCAyNDAsIDIzMiwgMiwgMTE4LCAxNzcsIDU1LCA4LCAxLCAyMzksIDIwMCwgOCwgMSwgMjQwLCAKKyAgICAyMzIsIDIsIDEyOSwgMTc3LCA1MiwgOCwgMSwgMjMwLCAxMDcsIDIsIDUsIDIwOSwgMTQ4LCA4LCAxLCAyMzAsIDEwNywgMiwgCisgICAgNjcsIDUyLCA4LCAxLCAyMzAsIDEwNywgMiwgMTI5LCAxNzcsIDUyLCA4LCAxLCAyMzAsIDEwNywgMiwgMTI5LCAxNzcsIDU1LCAKKyAgICA4LCAxLCAyMjQsIDU1LCAyLCA2NywgNTUsIDgsIDEsIDIyNCwgNTUsIDI0MCwgNjUsIDgsIDEsIDIxOCwgMTI3LCA4LCAxLCAKKyAgICAyMjQsIDU1LCAyLCAyMTgsIDE0OCwgOCwgMSwgMjI0LCA1NSwgMiwgMTI5LCAxNzcsIDUyLCA4LCAxLCAyMzksIDUxLCAyNDUsIAorICAgIDQ3LCA4LCAxLCAyMTIsIDEzNiwgMiwgNjcsIDUyLCA4LCAxLCAyMzksIDUxLCAyLCA4NywgNTIsIDgsIDEsIDIzOSwgNTEsIAorICAgIDI0MCwgMTYsIDgsIDEsIDIzOSwgNTEsIDI0MCwgMTcsIDIsIDIzOSwgMTEyLCA1MiwgOCwgMSwgMjEyLCAxMTYsIDIyNywgCisgICAgMTk4LCAyNDAsIDE2LCA4LCAxLCAyMDcsIDYwLCAyLCAyMTgsIDE0OCwgOCwgMSwgMjMxLCAxMDEsIDIyMiwgMjA2LCA4LCAxLCAKKyAgICAyMjIsIDIwNiwgOCwgMSwgNzEsIDgsIDEsIDIwNSwgMjEzLCA4LCAxLCAyMzEsIDEwMSwgMjA1LCAyMTMsIDgsIDEsIDIwNywgCisgICAgNjAsIDIsIDExOCwgMTc3LCA1MiwgOCwgMSwgMjA5LCAzOSwgOCwgMSwgMjQyLCA0MiwgMjA2LCA0NywgOCwgMSwgODcsIDIsIAorICAgIDIxMiwgMTkxLCA4LCAxLCA4NywgMiwgNSwgMjA5LCAxNDgsIDgsIDEsIDIwNywgNjAsIDIsIDY3LCA1MiwgOCwgMSwgNzUsIAorICAgIDgsIDEsIDg3LCAyLCAxMjksIDE3NywgNTUsIDgsIDEsIDg3LCAyNTAsIDEyMSwgOCwgMSwgODcsIDI1MCwgMTIyLCAyLCAKKyAgICAyMzksIDExMiwgNTIsIDgsIDI0MSwgODIsIDIxMywgMjUxLCA4LCAxLCAyNTIsIDI0OCwgOCwgNSwgMTI3LCAyOCwgMjE3LCAKKyAgICAxOTIsIDIsIDIzMCwgMTA3LCAyLCAxMjYsIDIyNywgMjI4LCA4LCA1LCAxMjcsIDI4LCAyMjAsIDEzLCAyLCAyMzAsIDEwNywgCisgICAgMiwgMTI2LCAyMjcsIDIyOCwgOCwgNSwgMTI3LCA4MCwgNzgsIDE3LCA4LCA1LCAxMjcsIDIzMCwgMTA3LCAyNTIsIDE3MiwgCisgICAgOCwgNSwgMTI3LCAyMzIsIDE3OSwgOCwgNSwgMTI3LCAxMjksIDI0NSwgMjEsIDgsIDUsIDEyNywgMjE3LCA3MCwgOCwgMjQzLCAKKyAgICAzNCwgNzMsIDI1MSwgMTU4LCA4LCAyMTQsIDIyLCA3MywgMjE4LCA0OCwgMjQzLCA2OSwgMjM4LCAyNDAsIDgsIDUsIDEyNywgCisgICAgMjE4LCA5MywgMjA1LCA4NSwgOCwgNSwgMTI3LCAyMDksIDIwMiwgMjE5LCAzNiwgMjA1LCA4NSwgOCwgNSwgMTI3LCAyNDUsIAorICAgIDIyLCAyMzksIDY5LCA3MywgMjMxLCAxNjMsIDgsIDUsIDEyNywgODAsIDYxLCAxNywgOCwgNSwgMTE0LCAyMTcsIDcwLCA4LCAKKyAgICA1LCAxMjcsIDIyOCwgOCwgOCwgNSwgMjA3LCA1OSwgOCwgNSwgMjA2LCA0NywgOCwgNSwgMTI3LCAyMDYsIDQ3LCA4LCA1LCAKKyAgICAxMjcsIDIyNCwgNTQsIDgsIDIyMCwgMjM5LCA3MywgMjE3LCAxNzcsIDgsIDI0MywgNDMsIDI0OCwgMTI5LCAxMTQsIDIxMywgCisgICAgMjUxLCA4LCAyNDMsIDQzLCAyNDgsIDEyOSwgMTI3LCAyMTMsIDI1MSwgOCwgMjE4LCA5MywgMTI3LCAyMTMsIDI1MiwgMiwgCisgICAgMjQxLCAyMzMsIDI0OCwgMTI4LCA4LCA1LCAxMTQsIDIyNywgMTA0LCA4LCAxLCAyNDYsIDExOCwgMiwgMjMzLCAyLCAyMDksIAorICAgIDE0OCwgOCwgMSwgMjE5LCAxNywgMiwgMjMzLCAyLCAyMDksIDE0OCwgMjQyLCAxNTksIDI1MiwgMzMsIDE4LCAyMDUsIDg1LCAKKyAgICAyNDIsIDE1OSwgMjUyLCAzMywgMTgsIDEwMiwgMjQyLCAxNTksIDI1MiwgMzMsIDE4LCAxMDUsIDI0MiwgMTU5LCAyNTIsIAorICAgIDMzLCAxOCwgMTQyLCAyNDIsIDE1OSwgMjUyLCAzMywgMTgsIDEzOSwgMjQyLCAxNTksIDI1MiwgMzMsIDE4LCAxNjgsIDI0MiwgCisgICAgMTU5LCAyNTIsIDMzLCAxOCwgMTg0LCAyNDIsIDE1OSwgMjUyLCAzMywgMTgsIDE5NSwgMjQyLCAxNTksIDI1MiwgMzMsIDE4LCAKKyAgICAxOTMsIDI0MiwgMTU5LCAyNTIsIDMzLCAxOCwgMjAwLCA4LCAxLCAyMTUsIDIxMSwgMiwgNjcsIDU1LCA4LCAxLCAyNDYsIAorICAgIDE0MSwgMiwgNjcsIDU1LCA4LCAxLCAyNDAsIDk1LCAyLCA2NywgNTUsIDgsIDMsIDIxNSwgNDQsIDI1MiwgMTI1LCA4LCAzLCAKKyAgICAyMTUsIDQ0LCAyMjAsIDE3MiwgMjI3LCA4MywgOCwgMSwgMjM5LCA1MSwgMiwgMjMzLCAyLCAyMDksIDE0OCwgMjEzLCAzMCwgCisgICAgMjQzLCAzNCwgNzMsIDIyMSwgMjI4LCAyMTMsIDMwLCAyMTMsIDEzNSwgMjQxLCA4MiwgMjEzLCAyNTEsIDIxMywgMzAsIAorICAgIDIxMywgMTg1LCAyNDEsIDgyLCAyMTMsIDI1MSwgMjEzLCAzMCwgMjEzLCAxMzUsIDI0NywgMTYyLCAyMTMsIDMwLCAyMTMsIAorICAgIDE4NSwgMjQ3LCAxNjIsIDIxMywgMzAsIDE5NCwgMjQ3LCAxNjIsIDIxMywgMzAsIDI0NywgMTYzLCAyMTQsIDI0NiwgMjMwLCAKKyAgICA0NiwgMjEzLCAzMCwgMjQ3LCAxNjMsIDIxNCwgMjQ2LCAyMTgsIDE2NywgMjEzLCAzMCwgMjEzLCAxMzUsIDI0NywgMTYzLCAKKyAgICAyMTQsIDI0NiwgMjMwLCA0NiwgMjEzLCAzMCwgMjEzLCAxODUsIDI0NywgMTYzLCAyMTQsIDI0NiwgMjE4LCAxNjcsIDIxMywgCisgICAgMzAsIDI0NywgMTExLCAyMTMsIDMwLCAyMzksIDkyLCAyMjIsIDIyNCwgMjEzLCAzMCwgMjM5LCA5MiwgMjI3LCA2MCwgMjEzLCAKKyAgICAzMCwgMjM5LCA5MiwgMjUxLCAyMTEsIDIxMywgMzAsIDI1MywgMjksIDgzLCAyMTMsIDMwLCAxLCAyNTIsIDE3NywgMjEzLCAKKyAgICAzMCwgMSwgMjEzLCAxMzksIDI1MiwgMTc3LCAyMTMsIDMwLCAxLCAyNTAsIDcsIDIxMywgMzAsIDEsIDI0MCwgMjIxLCAyMTMsIAorICAgIDMwLCAxLCAyNDAsIDIyMiwgMjQwLCAxOTksIDIxMywgMzAsIDEsIDI0NiwgMTE0LCAyMTMsIDMwLCAxLCAyNDUsIDIyLCAKKyAgICAyNDYsIDExNSwgMjE4LCAxNDMsIDIxMywgMzAsIDEsIDIzOSwgNzEsIDIxMywgMzAsIDEsIDIwNywgNTksIDIxMywgMzAsIDEsIAorICAgIDIwNSwgMTA4LCAyMTMsIDMwLCAxLCAyMzksIDI3LCAyMTMsIDMwLCAxLCAyMTIsIDc2LCAyMTMsIDMwLCAxLCAyMTIsIDc3LCAKKyAgICAyNDAsIDE5OSwgMjEzLCAzMCwgMSwgMjA1LCAyMDAsIDIxMywgMzAsIDEsIDIwNSwgMjAxLCAyMzksIDcxLCAyMTMsIDMwLCAKKyAgICAxLCAyMzIsIDE3LCAyMTMsIDMwLCAxLCAyMzAsIDEwNSwgMjEzLCAzMCwgMSwgMjI2LCAyMTEsIDIxMywgMzAsIDEsIDIyMywgCisgICAgMTczLCAyMTMsIDMwLCAxLCAyMTYsIDQ1LCAyMTMsIDMwLCAxLCA0MiwgMjE2LCA0NSwgMjEzLCAzMCwgMSwgNzUsIDIxMywgCisgICAgMzAsIDEsIDIyMSwgMTc0LCAyMTMsIDMwLCAxLCAyMTgsIDIyNCwgMjIxLCAxNzQsIDIxMywgMzAsIDEsIDIxNywgMTg5LCAKKyAgICAyMTMsIDMwLCAxLCAyMjAsIDYsIDIxMywgMzAsIDEsIDIxOCwgMTQzLCAyMTMsIDMwLCAxLCAyMTUsIDE3MSwgMjEzLCAzMCwgCisgICAgMSwgMjEyLCAxNDUsIDIxMywgMzAsIDEsIDIyMSwgMTE2LCAyNDksIDI1MCwgMjEzLCAzMCwgMSwgMjIxLCAxMTYsIDI0MCwgCisgICAgOTIsIDIxMywgMzAsIDEsIDIyMSwgMTE2LCAyNDUsIDE4NywgMjEzLCAzMCwgMjIwLCA4MywgNTIsIDIxMywgMzAsIDIyMCwgCisgICAgODMsIDU1LCAyMTMsIDMwLCAyMjAsIDgzLCAyNDQsIDIwLCAyMTMsIDMwLCAyMDUsIDEzLCA1MiwgMjEzLCAzMCwgMjA1LCAKKyAgICAxMywgNTUsIDIxMywgMzAsIDIwNSwgMTMsIDI0NCwgMjAsIDIxMywgMzAsIDIxOSwgNTQsIDUyLCAyMTMsIDMwLCAyMTksIAorICAgIDU0LCA1NSwgMjEzLCAzMCwgMjQ0LCAyMSwgMjA1LCAyMCwgMjM4LCAxMjEsIDIxMywgMzAsIDI0NCwgMjEsIDIwNSwgMjAsIAorICAgIDI1MiwgMTA0LCAyMTMsIDMwLCAyMzksIDc0LCA1MiwgMjEzLCAzMCwgMjM5LCA3NCwgNTUsIDIxMywgMzAsIDIzOSwgNzMsIAorICAgIDI0NCwgMjAsIDIxMywgMzAsIDI0MiwgMjE5LCA1MiwgMjEzLCAzMCwgMjQyLCAyMTksIDU1LCAyMTMsIDMwLCAyMTgsIDE2LCAKKyAgICAyMTMsIDMwLCAyNDIsIDksIDI0NSwgMjMsIDIxMywgMzAsIDIxOSwgMTc0LCAyMTMsIDMwLCAyMTgsIDQzLCAyMTMsIDMwLCAKKyAgICAxMTgsIDc5LCAxNzcsIDUyLCAyMTMsIDMwLCAxMTgsIDc5LCAxNzcsIDU1LCAyMTMsIDMwLCAxMjksIDE3NywgNTIsIDIxMywgCisgICAgMzAsIDEyOSwgMTc3LCA1NSwgMjEzLCAzMCwgMjIyLCAyMjIsIDIyOSwgMjA2LCA1MiwgMjEzLCAzMCwgMjIyLCAyMjIsIAorICAgIDIyOSwgMjA2LCA1NSwgMjEzLCAzMCwgMjI2LCA2NCwgMjEzLCAzMCwgMjUwLCAxMjAsIDIxMywgMzAsIDEsIDIxNCwgMTg0LCAKKyAgICAyMDUsIDc5LCAyMTMsIDMwLCAxLCAyMTQsIDE4NCwgMjMxLCAxNTYsIDIxMywgMzAsIDEsIDIxNCwgMTg0LCAyNDIsIDI4LCAKKyAgICA4LCAxLCAyNTAsIDM5LCAyLCAxMjksIDE3NywgMjM4LCA3MSwgNTUsIDgsIDEsIDI1MCwgMzksIDIsIDY3LCAyNTAsIDI2LCAKKyAgICAyMywgMTI5LCAxNzcsIDUyLCA4LCAxLCAyNTAsIDM5LCAyLCAxMjksIDE3NywgMjIwLCAyMDEsIDE2NywgNTUsIDgsIDEsIAorICAgIDI1MCwgMzksIDIsIDEyOSwgMTc3LCAyMjAsIDIwMSwgMTY3LCAyNTAsIDI2LCAyMywgMTE4LCAxNzcsIDUyLCA4LCAxLCAKKyAgICAyNTAsIDM5LCAyLCAxMTgsIDE3NywgMjUwLCAyNiwgMjMsIDY3LCA1MiwgOCwgMSwgMjUwLCAzOSwgMiwgMjMzLCAyLCA1LCAKKyAgICAyMDksIDE0OSwgNTUsIDgsIDEsIDI1MCwgMzksIDIsIDUsIDIwOSwgMTQ4LCA4LCAxLCAxNDAsIDIsIDExOCwgMTc3LCA1MiwgCisgICAgOCwgMSwgMTQwLCAyLCAxMjksIDE3NywgMjIwLCAyMDEsIDE2NywgNTUsIDgsIDEsIDI0NiwgMTE4LCAyLCAxMTgsIDE3NywgCisgICAgMjA4LCAyMjgsIDI1MCwgMjYsIDIzLCA1LCAyMTIsIDE5NCwgOCwgMSwgMjQ2LCAxMTgsIDIsIDIzMywgMiwgNSwgMjA5LCAKKyAgICAxNDksIDU1LCA4LCAxLCAyMTksIDE3LCAyLCA5MSwgOCwgMSwgMjE3LCA3MSwgMiwgMjQxLCAxMjUsIDE3NywgNTIsIDgsIDEsIAorICAgIDI1MiwgMjAxLCAyLCAxMTgsIDE3NywgNTIsIDgsIDEsIDI1MiwgMjAxLCAyLCAxMjksIDE3NywgMjIwLCAyMDEsIDE3MywgCisgICAgNTIsIDgsIDEsIDI1MiwgMjAxLCAyLCAxMTgsIDE3NywgMjA4LCAyMjgsIDUyLCA4LCAxLCAyNDIsIDE2LCAyLCAxMTgsIAorICAgIDE3NywgNTUsIDgsIDEsIDI0MiwgMTYsIDIsIDEyOSwgMTc3LCAyMjAsIDIwMSwgMTY3LCA1NSwgOCwgMSwgMjMxLCAyMTMsIAorICAgIDIsIDY3LCA1MiwgOCwgMSwgMjMxLCAyMTMsIDIsIDEyOSwgMTc3LCA1MiwgOCwgMSwgMjMxLCAyMTMsIDIsIDEyOSwgMTc3LCAKKyAgICAyMjAsIDIwMSwgMTY3LCA1NSwgOCwgMSwgODAsIDIsIDY3LCA1MiwgOCwgMSwgODAsIDIsIDY3LCA1NSwgOCwgMSwgMjI0LCAKKyAgICA1NSwgMiwgMTE4LCAxNzcsIDU1LCA4LCAxLCAyMjQsIDU1LCAyLCA1LCAyMTIsIDE5NCwgOCwgMSwgMjI0LCA1NSwgMiwgNSwgCisgICAgMjA5LCAxNDgsIDgsIDEsIDIzMCwgMTA3LCAyLCAxMzQsIDgsIDEsIDIxOSwgMTcsIDIsIDExOCwgMTc3LCAyMDgsIDIyOCwgCisgICAgNTIsIDgsIDEsIDIxOSwgMTcsIDIsIDIzOSwgMTEyLCA1MiwgOCwgMSwgMjE3LCA3MSwgMiwgMTE4LCAxNzcsIDIwOCwgMjI4LCAKKyAgICA1MiwgOCwgMSwgMTQwLCAyLCA1LCA4LCAxLCAyMTIsIDE5NSwgNTUsIDgsIDEsIDE0MCwgMiwgNSwgOCwgMSwgMjEyLCAxOTUsIAorICAgIDIzLCAxMTgsIDI0NSwgMjEsIDgsIDEsIDIxNywgNzEsIDIsIDUsIDgsIDEsIDIxMiwgMTk1LCAyMywgMTE4LCAyNDUsIDIxLCAKKyAgICA4LCAxLCAyMTksIDE3LCAyLCA1LCA4LCAxLCAyMTIsIDE5NSwgMjMsIDExOCwgMjQ1LCAyMSwgOCwgMSwgMTQwLCAyLCA1LCAKKyAgICA4LCAxLCAyMTIsIDE5NSwgNTIsIDgsIDEsIDEyNiwgMiwgMjQyLCAxNTksIDI1MiwgMzMsIDE4LCAxMTgsIDUyLCA4LCAxLCAKKyAgICAxMjYsIDIsIDI0MiwgMTU5LCAyNTIsIDMzLCAxOCwgMTI5LCA1MiwgOCwgMSwgMjQyLCA0MiwgODcsIDIsIDI0MiwgMTU5LCAKKyAgICAyNTIsIDMzLCAxOCwgMTE4LCA1MiwgOCwgMSwgMjQyLCA0MiwgODcsIDIsIDI0MiwgMTU5LCAyNTIsIDMzLCAxOCwgMTI5LCAKKyAgICA1MiwgOCwgMSwgMjQyLCA0MiwgODcsIDIsIDI0MiwgMTU5LCAyNTIsIDMzLCAxOCwgMjQxLCAxMjUsIDU1LCA4LCAxLCAyMDcsIAorICAgIDYwLCAyLCAyNDIsIDE1OSwgMjUyLCAzMywgMTgsIDExOCwgNTIsIDgsIDEsIDIwNywgNjAsIDIsIDI0MiwgMTU5LCAyNTIsIAorICAgIDMzLCAxOCwgMTI5LCA1MiwgOCwgMSwgODcsIDI1MCwgMTIyLCAyLCAyNDIsIDE1OSwgMjUyLCAzMywgMTgsIDExOCwgNTIsIAorICAgIDgsIDEsIDg3LCAyNTAsIDEyMiwgMiwgMjQyLCAxNTksIDI1MiwgMzMsIDE4LCAxMjksIDUyLCA4LCAxLCAxNDAsIDIsIDI0MiwgCisgICAgMTU5LCAyNTIsIDMzLCAxOCwgMjQxLCAxMjUsIDU1LCA4LCAxLCAyMTcsIDcxLCAyLCAyNDIsIDE1OSwgMjUyLCAzMywgMTgsIAorICAgIDI0MSwgMTI1LCA1MiwgOCwgMSwgMjE3LCA3MSwgMiwgMjMzLCAyLCAyMDksIDE0OCwgOCwgMSwgMjMyLCA0NiwgMiwgMTE4LCAKKyAgICAxNzcsIDUyLCAyMTIsIDUzLCAxLCAyMzksIDE0MSwgMjEyLCA1MywgMSwgMjE1LCAyMjAsIDIxMiwgNTMsIDEsIDIyNCwgNTMsIAorICAgIDIxMiwgNTMsIDEsIDIxOSwgMTA5LCAyMTIsIDUzLCAxLCAyNTAsIDE4MSwgMjEyLCA1MywgMSwgMjI5LCAyNDUsIDIxMiwgCisgICAgNTMsIDEsIDIzMiwgNjAsIDIxMiwgNTMsIDEsIDI1MiwgMTYxLCAyMTIsIDUzLCAxLCAyMDksIDY4LCAyMTIsIDUzLCAxLCAKKyAgICAyMjcsIDEwMywgMjEyLCA1MywgMSwgMjQyLCA3MSwgMjEyLCA1MywgMSwgMjQ1LCAxOTAsIDIxMiwgNTMsIDEsIDIxMiwgNTUsIAorICAgIDIxMiwgNTMsIDEsIDIzMCwgMTM3LCAyMTIsIDUzLCAxLCAyNDAsIDI0MCwgMjEyLCA1MywgMSwgMjQwLCAyMiwgMjEyLCA1MywgCisgICAgMSwgMjE3LCA2OSwgMjEyLCA1MywgMSwgMjQ2LCA3MCwgMjEyLCA1MywgMSwgMjA1LCA5OSwgMjEyLCA1MywgMSwgMjEyLCAKKyAgICAxNDYsIDIxMiwgNTMsIDEsIDIwNiwgMTA5LCAyMTIsIDUzLCAxLCAyMjEsIDE4NywgMjEyLCA1MywgMSwgMjMyLCAxODYsIAorICAgIDIxMiwgNTMsIDEsIDI0OCwgODUsIDIxMiwgNTMsIDEsIDIxMCwgMjA3LCAyMTIsIDUzLCAxLCAyMzksIDE5LCAyMTIsIDUzLCAKKyAgICAxLCAyMzEsIDE2NiwgMjEyLCA1MywgMSwgMjEyLCA1NCwgMjEyLCA1MywgMSwgMjA1LCAxMTUsIDIxMiwgNTMsIDEsIDIxNSwgCisgICAgMjA5LCAyMTIsIDUzLCAxLCAyMTcsIDE5NSwgMjEyLCA1MywgMSwgMjQ2LCAxNDMsIDIxMiwgNTMsIDEsIDEyNCwgMjEyLCAKKyAgICA1MywgMSwgMjA1LCAxOSwgMjEyLCA1MywgMSwgMjUyLCAxOTcsIDIxMiwgNTMsIDEsIDI0MCwgOTMsIDIxMiwgNTMsIDEsIAorICAgIDIyMCwgMTYsIDIxMiwgNTMsIDEsIDIwNywgOTQsIDIxMiwgNTMsIDI1MywgMzEsIDIxMiwgNTMsIDI1MywgMTI5LCAyMTIsIAorICAgIDUzLCAyMzcsIDE4NCwgMjEyLCA1MywgMjQzLCAxMDMsIDIxMiwgNTMsIDIxMCwgMTEsIDIxMiwgNTMsIDIyMiwgMTUxLCAKKyAgICAyMTIsIDUzLCAyNDMsIDExMSwgMjEyLCA1MywgMjQyLCAxNTEsIDIxMiwgNTMsIDIyMiwgMjIxLCAyMTIsIDUzLCAyMjIsIAorICAgIDIyOSwgMjEyLCA1MywgMjEzLCAxNjIsIDIxMiwgNTMsIDEsIDIyNSwgMjMyLCAyMjQsIDEzMSwgMTgsIDIwNSwgODUsIDIyNCwgCisgICAgMTMxLCAxOCwgMTAyLCAyMjQsIDEzMSwgMTgsIDEwNSwgMjI0LCAxMzEsIDE4LCAxNDIsIDIyNCwgMTMxLCAxOCwgMTM5LCAKKyAgICAyMjQsIDEzMSwgMTgsIDE2OCwgMjI0LCAxMzEsIDE4LCAxODQsIDIyNCwgMTMxLCAxOCwgMTk1LCAyMjQsIDEzMSwgMTgsIAorICAgIDE5MywgMjI0LCAxMzEsIDE4LCAyMDAsIDIyNCwgMTMxLCAxLCA2MiwgMjI0LCAxMzEsIDEsIDI0MywgMTA0LCAyMjQsIDEzMSwgCisgICAgMSwgNzQsIDIyNCwgMTMxLCAxLCA3NSwgMjI0LCAxMzEsIDEsIDcxLCAyMjQsIDEzMSwgMSwgMjIyLCAxNTIsIDIyNCwgMTMxLCAKKyAgICAxLCA3NiwgMjI0LCAxMzEsIDEsIDI0NiwgMTMyLCAyMjQsIDEzMSwgMSwgMjI2LCAzMywgMjI0LCAxMzEsIDEsIDI1MCwgCisgICAgMTgzLCAyMjQsIDEzMSwgMSwgMTc5LCAyMjQsIDEzMSwgMSwgMjEyLCAyMTksIDIyNCwgMTMxLCAxLCAyMzIsIDIwMCwgMjI0LCAKKyAgICAxMzEsIDEsIDI0OCwgMTEwLCAyMjQsIDEzMSwgMSwgMjQ2LCAxNDUsIDIyNCwgMTMxLCAxLCAyMTksIDExMywgMjI0LCAxMzEsIAorICAgIDEsIDIxOCwgODksIDIyNCwgMTMxLCAxLCAyMTcsIDE5OSwgMjI0LCAxMzEsIDEsIDI0MCwgMTg3LCAyMjQsIDEzMSwgMSwgCisgICAgMjQyLCA3MywgMjI0LCAxMzEsIDEsIDE3MiwgMjI0LCAxMzEsIDEsIDIzMCwgMTQxLCAyMjQsIDEzMSwgMSwgMjI1LCAyMzcsIAorICAgIDIwNiwgMjQ2LCAyMjQsIDEzMSwgMSwgMTg1LCAyMjQsIDEzMSwgMSwgMjIzLCAxNDQsIDIyNCwgMTMxLCAxLCAxOTksIDIyNCwgCisgICAgMTMxLCAxLCAxNTUsIDIyNCwgMTMxLCAxLCAyMDcsIDk2LCAyMjQsIDEzMSwgMSwgMTkwLCAyMjQsIDEzMSwgMSwgMjIzLCAKKyAgICAxNDUsIDIwNiwgMjQ2LCAyMjQsIDEzMSwgMSwgMjMyLCAxMTUsIDIzMiwgMjAwLCAyMjQsIDEzMSwgMSwgMjMyLCAxMTUsIAorICAgIDI0OCwgMTEwLCAyMjQsIDEzMSwgMSwgMjMyLCAxMTUsIDIxOSwgMTEzLCAyMjQsIDEzMSwgMzYsIDIxNSwgMTQ0LCAxMjcsIAorICAgIDIxMSwgMTE4LCAyMjQsIDEzMSwgMzYsIDIxNSwgMTQ0LCAxMTQsIDIxMSwgMTE4LCAyMjQsIDEzMSwgMzYsIDIxNSwgMTQ0LCAKKyAgICAyMTgsIDE0MiwgMjExLCAxMTgsIDIyNCwgMTMxLCAzNiwgMTUyLCAyNDUsIDIxMCwgMjExLCAxMTgsIDIyNCwgMTMxLCAzNiwgCisgICAgMTUyLCAxMjcsIDIxMSwgMTE4LCAyMjQsIDEzMSwgMzYsIDE1MiwgMTE0LCAyMTEsIDExOCwgMjI0LCAxMzEsIDM2LCAxNTIsIAorICAgIDIxOCwgMTQyLCAyMTEsIDExOCwgMjI0LCAxMzEsIDM2LCAyMjUsIDE5NywgODMsIDIyNCwgMTMxLCAzNiwgNTAsIDY3LCA1MiwgCisgICAgMjI0LCAxMzEsIDEyNywgMTM1LCAyNTIsIDUzLCAyMjQsIDEzMSwgMTE0LCAxMzUsIDI1MiwgNTMsIDIyNCwgMTMxLCAxNiwgCisgICAgMjIyLCAxNTMsIDI0NSwgMjIzLCAyMjQsIDEzMSwgMTYsIDI0MCwgMTg2LCAyMjQsIDEzMSwgMjQ3LCAxNTUsIDIyNCwgMTMxLCAKKyAgICAyNDIsIDE2OCwgODMsIDIyNCwgMTMxLCAyMzAsIDExMiwgMjE3LCAxNjAsIDEsIDI1MiwgMTc5LCAyMTcsIDE2MCwgMSwgCisgICAgMjQ5LCAyMDksIDIxNywgMTYwLCAxLCAyNDAsIDIyMCwgMjE3LCAxNjAsIDEsIDI0NiwgMTE2LCAyMTcsIDE2MCwgMSwgMjMyLCAKKyAgICAyMTEsIDIxNywgMTYwLCAxLCAyNTAsIDE4MSwgMjE3LCAxNjAsIDEsIDIwNSwgODgsIDIxNywgMTYwLCAxLCAyMzIsIDIyMCwgCisgICAgMjE3LCAxNjAsIDEsIDIxMSwgMTU2LCAyMTcsIDE2MCwgMSwgMjA1LCAxODIsIDIxNywgMTYwLCAxLCAyMzIsIDYxLCAyMTcsIAorICAgIDE2MCwgMSwgMjMwLCAxMzQsIDIxNywgMTYwLCAxLCAyMjYsIDIxMSwgMjE3LCAxNjAsIDEsIDIyMywgMTczLCAyMTcsIDE2MCwgCisgICAgMSwgMjE1LCA0MiwgMjE3LCAxNjAsIDEsIDIzMywgNjgsIDIxNywgMTYwLCAxLCAyNDEsIDI1MCwgMjE3LCAxNjAsIDEsIAorICAgIDIxMCwgMjQxLCAyMTcsIDE2MCwgMSwgMjE5LCAxOTMsIDIxNywgMTYwLCAxLCAyMTgsIDE0MywgMjE3LCAxNjAsIDEsIDIxNSwgCisgICAgMjM3LCAyMTcsIDE2MCwgMSwgMjEyLCAyMTQsIDIxNywgMTYwLCAxNDEsIDIzMywgNjgsIDIxNywgMTYwLCAxNDEsIDIzMywgCisgICAgNjcsIDIxNywgMTYwLCAxNDEsIDIyMiwgMjE3LCAyMTcsIDE2MCwgMTQxLCAyNDYsIDEzMCwgMjE3LCAxNjAsIDY1LCAxLCAKKyAgICAyNDIsIDI0OSwgMjA1LCAxODIsIDIxNywgMTYwLCAxNDEsIDI0MiwgMjQ5LCAyMDUsIDE4MiwgMjE3LCAxNjAsIDIyLCAzLCAKKyAgICAxNTIsIDc1LCAyMTcsIDE2MCwgMjIsIDMsIDc1LCAyMTcsIDE2MCwgMjIsIDMsIDIyMiwgODAsIDI1MywgMTY0LCAyMTcsIAorICAgIDE2MCwgMjIsIDMsIDE1MiwgMjUzLCAxNjQsIDIxNywgMTYwLCAyMiwgMywgMjUzLCAxNjQsIDIxNywgMTYwLCAyMiwgMywgCisgICAgMjIyLCA4MCwgNjIsIDIxNywgMTYwLCAyMiwgMywgMTUyLCA2MiwgMjE3LCAxNjAsIDIyLCAzLCA2MiwgMjE3LCAxNjAsIDY1LCAKKyAgICAxLCAyMTUsIDE0NCwgNjIsIDIxNywgMTYwLCAyMiwgMywgMjE1LCAxNDQsIDYyLCAyMTcsIDE2MCwgMjIsIDMsIDE1MiwgNzEsIAorICAgIDIxNywgMTYwLCAyMiwgMywgNzEsIDIxNywgMTYwLCA2NSwgMSwgNzQsIDIxNywgMTYwLCAyMiwgMywgMTUyLCA3NCwgMjE3LCAKKyAgICAxNjAsIDIyLCAzLCA3NCwgMjE3LCAxNjAsIDIyLCAzLCA3NiwgMjE3LCAxNjAsIDIyLCAzLCAyMTMsIDE2MiwgMjE3LCAxNjAsIAorICAgIDE0MSwgMjI1LCA5NCwgMjE3LCAxNjAsIDIyMCwgNzIsIDIyNSwgOTQsIDIxNywgMTYwLCAyMjAsIDcyLCAyNTIsIDIyMiwgCisgICAgMjE3LCAxNjAsIDIyMCwgNzIsIDI1MiwgMTEzLCAyMTcsIDE2MCwgMjIwLCA3MiwgMjUwLCAxMDEsIDIxNywgMTYwLCAyMjAsIAorICAgIDcyLCAyNTEsIDE5NCwgMjE3LCAxNjAsIDIyMCwgNzIsIDIxNSwgMTU5LCAyMTcsIDE2MCwgMjUzLCAyOSwgODMsIDIxNywgCisgICAgMTYwLCAyMjAsIDcyLCAyMjcsIDkzLCAyMTksIDIyOSwgMjE3LCAxNjAsIDIyMCwgNzIsIDIwNSwgMjcsIDIxNywgMTYwLCAKKyAgICAyMjAsIDcyLCAyMTksIDIyOSwgMjE3LCAxNjAsIDIyMCwgNzIsIDIwNSwgMTE0LCAyMTcsIDE2MCwgMjIwLCA3MiwgMjEwLCAKKyAgICAxNDAsIDIxNywgMTYwLCAyMjAsIDcyLCAyNTIsIDQsIDIxNywgMTYwLCAyMjAsIDcyLCAyMTQsIDE4OCwgMjI3LCAxNzYsIAorICAgIDIxNywgMTYwLCAyMjAsIDcyLCAyNTIsIDk5LCAyMjcsIDIxNywgMSwgMjM5LCAxMTgsIDIyNywgMjE3LCAxLCAyNTMsIDExNSwgCisgICAgMjI3LCAyMTcsIDEsIDI1MiwgMjIwLCAyMjcsIDIxNywgMSwgMjUzLCA1LCAyMjcsIDIxNywgMSwgMjUyLCAyMTMsIDIyNywgCisgICAgMjE3LCAxLCAyMDksIDE2OCwgMjI3LCAyMTcsIDEsIDI1MSwgMTUyLCAyMjcsIDIxNywgMSwgMjMyLCAyMjAsIDIyNywgMjE3LCAKKyAgICAxLCAyNTEsIDE5MSwgMjI3LCAyMTcsIDEsIDI1MiwgMTg0LCAyMjcsIDIxNywgMSwgMjUyLCAxODksIDIyNywgMjE3LCAxLCAKKyAgICAyNTIsIDE4MSwgMjI3LCAyMTcsIDEsIDI1MiwgMTM2LCAyMjcsIDIxNywgMSwgMjUyLCAxMjIsIDIyNywgMjE3LCAxLCAyNTEsIAorICAgIDIzMSwgMjI3LCAyMTcsIDEsIDIzMywgNjgsIDIyNywgMjE3LCAxLCAyNTIsIDY4LCAyMjcsIDIxNywgMSwgMjUxLCAyMDEsIAorICAgIDIyNywgMjE3LCAxLCAyNTIsIDQxLCAyMjcsIDIxNywgMSwgMjUyLCAzNywgMjI3LCAyMTcsIDEsIDI1MSwgMjI1LCAyMjcsIAorICAgIDIxNywgMSwgMjUxLCAxOTksIDIyNywgMjE3LCAxLCAyNDMsIDIxNCwgMjI3LCAyMTcsIDEsIDIzMiwgNTMsIDIyNywgMjE3LCAKKyAgICAxLCAyNTIsIDIwMCwgMjI3LCAyMTcsIDI1MiwgMjI2LCA4MywgMjI3LCAyMTcsIDIwOCwgMTcxLCA4MywgMjI3LCAyMTcsIAorICAgIDI0MCwgMTU5LCA4MywgMjI3LCAyMTcsIDIyMCwgNzEsIDgsIDEsIDI1MCwgMzksIDIsIDUsIDIwOSwgMTQ5LCA1NSwgOCwgMSwgCisgICAgMjUwLCAzOSwgMiwgMjM5LCAxMTIsIDUyLCA4LCAxLCAxNzEsIDIsIDExOCwgMTc3LCA1MiwgOCwgMSwgMjEyLCAxOTUsIDIsIAorICAgIDExOCwgMTc3LCA1MiwgOCwgMSwgMjQyLCAxNiwgMiwgNjcsIDI1MCwgMjYsIDIzLCAxMjksIDE3NywgNTIsIDgsIDEsIDIyMCwgCisgICAgMTMsIDIsIDY3LCA1NSwgOCwgMSwgMjMwLCAxMDcsIDIsIDUwLCAxMzQsIDgsIDEsIDgwLCAyLCAxMjksIDE3NywgNTIsIDgsIAorICAgIDEsIDg3LCAyLCAxMTgsIDE3NywgMjUwLCAyNiwgMjMsIDIzOSwgMTEyLCA1MiwgOCwgMSwgODcsIDIsIDExOCwgMTc3LCAKKyAgICAyNTAsIDI2LCAyMywgNjcsIDUyLCA4LCAxLCAyMTksIDE3LCAyLCAyMjksIDExMSwgOCwgMSwgMjA3LCA2MCwgMiwgNjcsIAorICAgIDIwNiwgMjU0LCA4LCAxLCAyMTgsIDExMywgMjA2LCA0NywgOCwgMSwgMTE0LCAyNTIsIDE3MiwgOCwgMSwgMjQ2LCAxMTgsIAorICAgIDIsIDEyOSwgMTc3LCA1NSwgOCwgMSwgMjE3LCAxOTIsIDIsIDEyOSwgMTc3LCA1NSwgOCwgMSwgMjQwLCAyMzIsIDIsIDIzMywgCisgICAgMiwgOTEsIDgsIDEsIDIxMywgMjQzLCAyMDcsIDU5LCA4LCAxLCAyMDUsIDEwOSwgMiwgMjMzLCAyLCAyMDksIDE0OSwgNTIsIAorICAgIDgsIDI0NywgMjYsIDI0MiwgMzksIDgsIDI0NywgMjYsIDI0NiwgMTA2LCA4LCAyNDcsIDI2LCAyMzEsIDI1MiwgOCwgMjQ3LCAKKyAgICAyNiwgMjQyLCAzNywgOCwgMjQ3LCAyNiwgMjQ2LCAxMDQsIDgsIDI0NywgMjYsIDIzMSwgMjUwLCA4LCAxMzUsIDExOSwgNjcsIAorICAgIDUyLCA4LCAxMzUsIDExOCwgMTc3LCA1MiwgOCwgMTM1LCAyMjksIDExMiwgNTIsIDgsIDEzNSwgMTE5LCA2NywgNTUsIDgsIAorICAgIDEzNSwgMTE4LCAxNzcsIDU1LCA4LCAxMzUsIDIyOSwgMTEyLCA1NSwgOCwgMjIyLCAxNDIsIDI0MiwgMzcsIDgsIDIyMiwgCisgICAgMTQyLCAyNDYsIDEwNCwgOCwgMjIyLCAxNDIsIDIzMSwgMjUwLCA4LCA1LCAxMjcsIDIwNywgNTksIDgsIDI0MiwgNDAsIDIsIAorICAgIDIxOCwgMTQ4LCA4LCAyNDIsIDQwLCAyLCA2NywgNTIsIDgsIDIzMSwgMjUzLCAyLCA2NywgNTUsIDgsIDQ3LCAyNTEsIDI0NCwgCisgICAgNTIsIDgsIDQ4LCAyNTEsIDI0NCwgNTIsIDgsIDQ3LCAyNTEsIDI0NCwgNTUsIDgsIDQ4LCAyNTEsIDI0NCwgNTUsIDgsIDUwLCAKKyAgICA0OCwgMjUxLCAyNDQsIDUyLCA4LCA1MCwgNDgsIDI1MSwgMjQ0LCA4NCwgMiwgMjQ1LCAyMywgOCwgNDgsIDI1MSwgMjQ0LCAKKyAgICA4NCwgMiwgMjQ1LCAyMywgOCwgMjQ2LCAxMDcsIDIsIDI0NSwgMjMsIDgsIDE0MSwgMjE1LCA3MywgMjI0LCA1NSwgMjQwLCAKKyAgICA2NSwgODksIDMsIDIzMywgMiwgMjQ4LCAyMTcsIDg5LCAzLCAyNDgsIDIxNywgODksIDMsIDI1MiwgNzMsIDg5LCAzLCAyMDgsIAorICAgIDE4MywgODksIDEsIDIxNSwgMTQ0LCA2MiwgODksIDEsIDYyLCA4OSwgMSwgMjUzLCAxNjQsIDg5LCAxLCA3NCwgODksIDEsIAorICAgIDIzMywgMTAyLCA4OSwgMSwgNzEsIDg5LCAxLCAyMDksIDE2MiwgODksIDEsIDExNSwgMTM3LCA4OSwgMSwgMTE1LCAxNDksIAorICAgIDg5LCAxLCAyNDgsIDIyMCwgNzUsIDg5LCAxLCAyMTUsIDE0NCwgNzUsIDg5LCAxLCA3NSwgODksIDEsIDI1MiwgMjA1LCA4OSwgCisgICAgMSwgMjQ4LCAyMjAsIDc2LCA4OSwgMSwgMjE1LCAxNDQsIDc2LCA4OSwgMSwgNzYsIDg5LCAxLCAyNTEsIDE4NCwgODksIDEsIAorICAgIDE3MiwgODksIDEsIDIzMSwgMTY3LCA4OSwgMSwgMjQwLCAyNDQsIDg5LCAxLCAyNDAsIDk5LCA4OSwgMSwgMjI1LCA3NywgCisgICAgODksIDEsIDI0OSwgMSwgODksIDEsIDI0OCwgMTEwLCA4OSwgMSwgMjMyLCAyMDAsIDg5LCAxLCAyMzIsIDE3MCwgODksIDEsIAorICAgIDIyMywgMTQ0LCA4OSwgMSwgMjEwLCAyMDgsIDg5LCAxLCAyMTAsIDE5NiwgODksIDEsIDI0NiwgNTQsIDg5LCAxLCAyNDYsIAorICAgIDM4LCA4OSwgMSwgMjI0LCAxMDMsIDg5LCAxLCAyMTIsIDIxOSwgODksIDEsIDIxMiwgNTYsIDg5LCAxLCAyNDYsIDE0NSwgCisgICAgODksIDEsIDI0NSwgMTkyLCA4OSwgMSwgMTk5LCA4OSwgMSwgMjI0LCA4NSwgODksIDEsIDE3OSwgODksIDEsIDIyMSwgOTMsIAorICAgIDg5LCAxLCAyNTAsIDE4MywgODksIDEsIDI1MCwgMCwgODksIDEsIDE4NSwgODksIDEsIDE5MCwgODksIDEsIDIxOSwgMTEzLCAKKyAgICA4OSwgMSwgMjE4LCA4OSwgODksIDEsIDIzMCwgMTQxLCA4OSwgMSwgMjI5LCAxNzIsIDg5LCAxLCAyMjksIDE2MywgODksIDEsIAorICAgIDIwOSwgNzAsIDg5LCAxLCAyMTYsIDIsIDg5LCAxLCAyMTQsIDk2LCA4OSwgMSwgMjE3LCAxOTksIDg5LCAxLCAxNTUsIDg5LCAKKyAgICAyMiwgMywgMjIyLCAyMDYsIDg5LCAyMiwgMywgMjIyLCAxNTAsIDg5LCAzLCAyMjMsIDE4NCwgODksIDMsIDI1MSwgMTY3LCAKKyAgICA4OSwgMjIsIDMsIDI1MywgMTY0LCA4OSwgMjIsIDMsIDc0LCA4OSwgMjIsIDMsIDIzMywgMTAyLCA4OSwgMjIsIDMsIDcxLCAKKyAgICA4OSwgMjIsIDMsIDIwOSwgMTYyLCA4OSwgMjIsIDMsIDExNSwgMTM3LCA4OSwgMjIsIDMsIDExNSwgMjE4LCA5MCwgODksIAorICAgIDIyLCAzLCAyNDgsIDIyMCwgNzUsIDg5LCAyMiwgMywgMjE1LCAxNDQsIDc1LCA4OSwgMjIsIDMsIDc1LCA4OSwgMjIsIDMsIAorICAgIDI1MiwgMjA1LCA4OSwgMjIsIDMsIDI0OCwgMjIwLCA3NiwgODksIDIyLCAzLCAyMTUsIDE0NCwgNzYsIDg5LCAyMiwgMywgCisgICAgNzYsIDg5LCAyMiwgMywgMjUxLCAxODQsIDg5LCAzLCAyMDgsIDE4OCwgODksIDIyLCAzLCAyMjAsIDEyMCwgNzUsIDg5LCAKKyAgICAyMiwgMywgMjUxLCAxNjMsIDg5LCAyMjIsIDE3MywgODksIDIxMywgMjMzLCAzLCAyMTAsIDUsIDg5LCAyMTMsIDIzMywgMywgCisgICAgMjUyLCA3NSwgODksIDIzOSwgMjM3LCAyNTMsIDIxLCA4OSwgMjUzLCA5LCAyNTMsIDIxLCA4OSwgMjIsIDMsIDI0OCwgMjIwLCAKKyAgICAxNTIsIDc1LCA4OSwgMjIsIDMsIDIxMCwgMywgODksIDIyLCAzLCAyMDksIDE2MSwgODksIDEsIDIyMCwgMTksIDg5LCAxLCAKKyAgICAyMzEsIDE0OCwgODksIDEsIDI0MCwgNzQsIDg5LCAxLCAyMDUsIDExNiwgODksIDEsIDI0NiwgNDMsIDg5LCAxLCAyMTgsIAorICAgIDIxMiwgODksIDEsIDI0MiwgNzMsIDg5LCAxLCAyMDUsIDE2OCwgODksIDEsIDExNSwgMjE4LCA5MCwgODksIDEsIDExNSwgCisgICAgMjI5LCAxNzMsIDg5LCAyMiwgMywgMTE1LCAxNDksIDg5LCAyMiwgMywgMTE1LCAyMjksIDE3MywgODksIDI0NiwgMTAwLCAKKyAgICA4OSwgNTAsIDI0NiwgMTAwLCA4OSwgMTgsIDIwNSwgODUsIDg5LCAxOCwgMTAyLCA4OSwgMTgsIDEwNSwgODksIDE4LCAxNDIsIAorICAgIDg5LCAxOCwgMTM5LCA4OSwgMTgsIDE2OCwgODksIDE4LCAxODQsIDg5LCAxOCwgMTk1LCA4OSwgMTgsIDE5MywgODksIDE4LCAKKyAgICAyMDAsIDg5LCAyNTMsIDI5LCA1MywgODksIDMsIDEyNywgMjE0LCAxNTIsIDI0NSwgMjMsIDg5LCAxLCAyNDgsIDIyMCwgNjIsIAorICAgIDg5LCAxLCAyMjIsIDIwNiwgODksIDEsIDIyMiwgMTUwLCA4OSwgMSwgMjUxLCAxNjMsIDg5LCAxLCAyMTAsIDMsIDg5LCAxLCAKKyAgICAyMDksIDE2MSwgODksIDEsIDIyNywgMTgxLCAyNDYsIDU0LCA4OSwgMSwgMjA1LCA4MSwgODksIDEsIDc3LCAxOTAsIDg5LCAKKyAgICAxLCAyNDAsIDEzNSwgODksIDEsIDIzMiwgMTUwLCA4OSwgMSwgMjQwLCAyNSwgMjEzLCAyNTEsIDg5LCAxLCAyNDYsIDQ0LCAKKyAgICA4OSwgMSwgMjUwLCA5NywgMTY1LCAyNTIsIDEwMiwgMTY1LCAzLCAyNDgsIDIxNywgMTY1LCAzLCAyNTIsIDczLCAxNjUsIDMsIAorICAgIDIwOCwgMTgzLCAxNjUsIDEsIDYyLCAxNjUsIDEsIDI1MywgMTY0LCAxNjUsIDEsIDc0LCAxNjUsIDEsIDIzMywgMTAyLCAKKyAgICAxNjUsIDEsIDcxLCAxNjUsIDEsIDIwOSwgMTYyLCAxNjUsIDEsIDExNSwgMTM3LCAxNjUsIDEsIDExNSwgMTQ5LCAxNjUsIDEsIAorICAgIDc1LCAxNjUsIDEsIDI1MiwgMjA1LCAxNjUsIDEsIDc2LCAxNjUsIDEsIDI1MSwgMTg0LCAxNjUsIDEsIDE3MiwgMTY1LCAxLCAKKyAgICAyMzEsIDE2NywgMTY1LCAxLCAyNDAsIDI0NCwgMTY1LCAxLCAyNDAsIDk5LCAxNjUsIDEsIDIyNSwgNzcsIDE2NSwgMSwgCisgICAgMjQ5LCAxLCAxNjUsIDEsIDI0OCwgMTEwLCAxNjUsIDEsIDIzMiwgMjAwLCAxNjUsIDEsIDIzMiwgMTcwLCAxNjUsIDEsIAorICAgIDIyMywgMTQ0LCAxNjUsIDEsIDIxMCwgMjA4LCAxNjUsIDEsIDIxMCwgMTk2LCAxNjUsIDEsIDI0NiwgNTQsIDE2NSwgMSwgCisgICAgMjQ2LCAzOCwgMTY1LCAxLCAyMjQsIDEwMywgMTY1LCAxLCAyMTIsIDIxOSwgMTY1LCAxLCAyMTIsIDU2LCAxNjUsIDEsIAorICAgIDI0NiwgMTQ1LCAxNjUsIDEsIDI0NSwgMTkyLCAxNjUsIDEsIDE5OSwgMTY1LCAxLCAxNzksIDE2NSwgMSwgMjIxLCA5MywgCisgICAgMTY1LCAxLCAyNTAsIDE4MywgMTY1LCAxLCAyNTAsIDAsIDE2NSwgMSwgMTg1LCAxNjUsIDEsIDE5MCwgMTY1LCAxLCAyMTksIAorICAgIDExMywgMTY1LCAxLCAyMzAsIDE0MSwgMTY1LCAxLCAyMTYsIDIsIDE2NSwgMSwgMjE0LCA5NiwgMTY1LCAxLCAyMTcsIDE5OSwgCisgICAgMTY1LCAxLCAxNTUsIDE2NSwgMywgMjIzLCAxODQsIDE2NSwgMywgMjUxLCAxNjcsIDE2NSwgMjIsIDMsIDI1MywgMTY0LCAKKyAgICAxNjUsIDIyLCAzLCA3NCwgMTY1LCAyMiwgMywgMjMzLCAxMDIsIDE2NSwgMjIsIDMsIDcxLCAxNjUsIDIyLCAzLCAyMDksIAorICAgIDE2MiwgMTY1LCAyMiwgMywgMTE1LCAxMzcsIDE2NSwgMjIsIDMsIDExNSwgMjE4LCA5MCwgMTY1LCAyMiwgMywgNzUsIDE2NSwgCisgICAgMjIsIDMsIDI1MiwgMjA1LCAxNjUsIDIyLCAzLCA3NiwgMTY1LCAyMiwgMywgMjUxLCAxODQsIDE2NSwgMywgMjA4LCAxODgsIAorICAgIDE2NSwgMSwgMjMxLCAxNTgsIDIxMiwgMjE5LCAxNjUsIDI1MSwgMTg1LCAyMzAsIDIwLCA4MywgMTY1LCAxLCAyMTgsIDg5LCAKKyAgICAxNjUsIDEsIDIxOCwgMjEyLCAxNjUsIDEsIDIwNSwgMTY4LCAxNjUsIDEsIDExNSwgMjE4LCA5MCwgMTY1LCAxLCAxMTUsIAorICAgIDIyOSwgMTczLCAxNjUsIDIyLCAzLCAxMTUsIDE0OSwgMTY1LCAyMiwgMywgMTE1LCAyMjksIDE3MywgMTY1LCAxOCwgMjA1LCAKKyAgICA4NSwgMTY1LCAxOCwgMTAyLCAxNjUsIDE4LCAxMDUsIDE2NSwgMTgsIDE0MiwgMTY1LCAxOCwgMTM5LCAxNjUsIDE4LCAxNjgsIAorICAgIDE2NSwgMTgsIDE4NCwgMTY1LCAxOCwgMTk1LCAxNjUsIDE4LCAxOTMsIDE2NSwgMTgsIDIwMCwgMTY1LCAxLCAyMTksIDExNCwgCisgICAgMiwgMjI2LCAyNDcsIDI0NSwgMTYyLCAxNjUsIDEsIDIxOSwgMTE0LCAyLCAyMjksIDkyLCAyNDUsIDE2MiwgMTY1LCAyMTgsIAorICAgIDI3LCA4MywgMTY1LCAyMTgsIDI3LCA1MywgMTY1LCAyNDcsIDI1LCAyMjMsIDE3NiwgMTAyLCAxNjUsIDI0NywgMjUsIDIyMywgCisgICAgMTc2LCAxMDUsIDE2NSwgMjQ3LCAyNSwgMjIzLCAxNzYsIDE0MiwgMTY1LCAyNDcsIDI1LCAyMjMsIDE3NiwgMTM5LCAxNjUsIAorICAgIDI0NywgMjUsIDIyMywgMTc2LCAxMTksIDIzMCwgMTEsIDIxMiwgNDcsIDIxMiwgNDIsIDI0NSwgMjIxLCAxNjUsIDI0NywgCisgICAgMjUsIDI0NSwgMjIyLCAyMTUsIDQsIDE2NSwgMjMyLCAyMjEsIDE2NSwgMjQwLCAyMTEsIDgzLCAyMzksIDE4MiwgMywgMjUzLCAKKyAgICA0LCAyNDksIDIyNCwgMjM5LCAxODIsIDMsIDI0OSwgMjI0LCAyMzksIDE4MiwgMywgMjA4LCAxODMsIDIzOSwgMTgyLCAxLCAKKyAgICA2MiwgMjM5LCAxODIsIDEsIDI1MywgMTY0LCAyMzksIDE4MiwgMSwgNzQsIDIzOSwgMTgyLCAxLCAyMzMsIDEwMiwgMjM5LCAKKyAgICAxODIsIDEsIDcxLCAyMzksIDE4MiwgMSwgMjA5LCAxNjIsIDIzOSwgMTgyLCAxLCAyNDMsIDEwNCwgMjM5LCAxODIsIDEsIAorICAgIDI1MiwgMjA1LCAyMzksIDE4MiwgMSwgMjIyLCAxNTIsIDIzOSwgMTgyLCAxLCAyNTEsIDE4NCwgMjM5LCAxODIsIDEsIDE3MiwgCisgICAgMjM5LCAxODIsIDEsIDIzMSwgMTY3LCAyMzksIDE4MiwgMSwgMjQwLCAyNDQsIDIzOSwgMTgyLCAxLCAyNDAsIDk5LCAyMzksIAorICAgIDE4MiwgMSwgMjI1LCA3NywgMjM5LCAxODIsIDEsIDI0OSwgMSwgMjM5LCAxODIsIDEsIDI0OCwgMTEwLCAyMzksIDE4MiwgMSwgCisgICAgMjMyLCAyMDAsIDIzOSwgMTgyLCAxLCAyMzIsIDE3MCwgMjM5LCAxODIsIDEsIDIyMywgMTQ0LCAyMzksIDE4MiwgMSwgMjEwLCAKKyAgICAyMDgsIDIzOSwgMTgyLCAxLCAyMTAsIDE5NiwgMjM5LCAxODIsIDEsIDI0NiwgNTQsIDIzOSwgMTgyLCAxLCAyNDYsIDM4LCAKKyAgICAyMzksIDE4MiwgMSwgMjI0LCAxMDMsIDIzOSwgMTgyLCAxLCAyMTIsIDIxOSwgMjM5LCAxODIsIDEsIDIxMiwgNTYsIDIzOSwgCisgICAgMTgyLCAxLCAyNDYsIDE0NSwgMjM5LCAxODIsIDEsIDI0NSwgMTkyLCAyMzksIDE4MiwgMSwgMTk5LCAyMzksIDE4MiwgMSwgCisgICAgMTc5LCAyMzksIDE4MiwgMSwgMjIxLCA5MywgMjM5LCAxODIsIDEsIDI1MCwgMTgzLCAyMzksIDE4MiwgMSwgMjUwLCAwLCAKKyAgICAyMzksIDE4MiwgMSwgMTg1LCAyMzksIDE4MiwgMSwgMTkwLCAyMzksIDE4MiwgMSwgMjE5LCAxMTMsIDIzOSwgMTgyLCAxLCAKKyAgICAyMzAsIDE0MSwgMjM5LCAxODIsIDEsIDIyOSwgMTcyLCAyMzksIDE4MiwgMSwgMjA5LCA3MCwgMjM5LCAxODIsIDEsIDIxNiwgCisgICAgMiwgMjM5LCAxODIsIDEsIDIxNywgMTk5LCAyMzksIDE4MiwgMSwgMTU1LCAyMzksIDE4MiwgMywgMjIzLCAxODQsIDIzOSwgCisgICAgMTgyLCAyMiwgMywgMjUzLCAxNjQsIDIzOSwgMTgyLCAyMiwgMywgNzQsIDIzOSwgMTgyLCAyMiwgMywgMjMzLCAxMDIsIAorICAgIDIzOSwgMTgyLCAyMiwgMywgNzEsIDIzOSwgMTgyLCAyMiwgMywgMjA5LCAxNjIsIDIzOSwgMTgyLCAyMiwgMywgMjQzLCAKKyAgICAxMDQsIDIzOSwgMTgyLCAyMiwgMywgMjUyLCAyMDUsIDIzOSwgMTgyLCAyMiwgMywgMjIyLCAxNTIsIDIzOSwgMTgyLCAyMiwgCisgICAgMywgMjUxLCAxODQsIDIzOSwgMTgyLCAzLCAyMDgsIDE4OCwgMjM5LCAxODIsIDMsIDIxMCwgNywgMjM5LCAxODIsIDEsIAorICAgIDIzMSwgMTQ4LCAyMzksIDE4MiwgMSwgMjQwLCA3NCwgMjM5LCAxODIsIDEsIDIwNSwgMTE2LCAyMzksIDE4MiwgMSwgMjE4LCAKKyAgICA4OSwgMjM5LCAxODIsIDEsIDI0MiwgNzMsIDIzOSwgMTgyLCAxOCwgMjA1LCA4NSwgMjM5LCAxODIsIDE4LCAxMDIsIDIzOSwgCisgICAgMTgyLCAxOCwgMTA1LCAyMzksIDE4MiwgMTgsIDE0MiwgMjM5LCAxODIsIDE4LCAxMzksIDIzOSwgMTgyLCAxOCwgMTY4LCAKKyAgICAyMzksIDE4MiwgMTgsIDE4NCwgMjM5LCAxODIsIDE4LCAxOTUsIDIzOSwgMTgyLCAxOCwgMTkzLCAyMzksIDE4MiwgMTgsIAorICAgIDIwMCwgMjM5LCAxODIsIDIxMSwgMTY0LCAyMzksIDE4MiwgMjUzLCAzLCAyMzksIDE4MiwgMjMyLCAyNDEsIDIzOSwgMTgyLCAKKyAgICAyMDksIDE5MCwgMjM5LCAxODIsIDI0MywgNzYsIDIyMiwgMTU3LCAyMzksIDE4MiwgMywgMjA2LCA4NCwgMTk4LCAzLCAyNDgsIAorICAgIDIxNywgMTk4LCAzLCAyNTIsIDczLCAxOTgsIDMsIDIwOCwgMTgzLCAxOTgsIDEsIDYyLCAxOTgsIDEsIDI1MywgMTY0LCAKKyAgICAxOTgsIDEsIDc0LCAxOTgsIDEsIDIzMywgMTAyLCAxOTgsIDEsIDcxLCAxOTgsIDEsIDIwOSwgMTYyLCAxOTgsIDEsIDExNSwgCisgICAgMTM3LCAxOTgsIDEsIDExNSwgMTQ5LCAxOTgsIDIyLCAyNDgsIDIyMCwgNzUsIDE5OCwgMSwgNzUsIDE5OCwgMSwgMjUyLCAKKyAgICAyMDUsIDE5OCwgMjIsIDI0OCwgMjIwLCA3NiwgMTk4LCAxLCA3NiwgMTk4LCAxLCAyNTEsIDE4NCwgMTk4LCAxLCAxNzIsIAorICAgIDE5OCwgMSwgMjMxLCAxNjcsIDE5OCwgMSwgMjQwLCAyNDQsIDE5OCwgMSwgMjQwLCA5OSwgMTk4LCAxLCAyMjUsIDc3LCAKKyAgICAxOTgsIDEsIDI0OSwgMSwgMTk4LCAxLCAyNDgsIDExMCwgMTk4LCAxLCAyMzIsIDIwMCwgMTk4LCAxLCAyMzIsIDE3MCwgCisgICAgMTk4LCAxLCAyMjMsIDE0NCwgMTk4LCAxLCAyMTAsIDIwOCwgMTk4LCAxLCAyMTAsIDE5NiwgMTk4LCAxLCAyNDYsIDU0LCAKKyAgICAxOTgsIDEsIDI0NiwgMzgsIDE5OCwgMSwgMjI0LCAxMDMsIDE5OCwgMSwgMjEyLCAyMTksIDE5OCwgMSwgMjEyLCA1NiwgCisgICAgMTk4LCAxLCAyNDYsIDE0NSwgMTk4LCAxLCAyNDUsIDE5MiwgMTk4LCAxLCAxOTksIDE5OCwgMSwgMTc5LCAxOTgsIDEsIAorICAgIDIyMSwgOTMsIDE5OCwgMSwgMjUwLCAxODMsIDE5OCwgMSwgMjUwLCAwLCAxOTgsIDEsIDE4NSwgMTk4LCAxLCAxOTAsIDE5OCwgCisgICAgMSwgMjE5LCAxMTMsIDE5OCwgMSwgMjMwLCAxNDEsIDE5OCwgMSwgMjI5LCAxNzIsIDE5OCwgMSwgMjA5LCA3MCwgMTk4LCAxLCAKKyAgICAyMTYsIDIsIDE5OCwgMSwgMjE0LCA5NiwgMTk4LCAxLCAyMTcsIDE5OSwgMTk4LCAxLCAxNTUsIDE5OCwgMywgMjIzLCAxODQsIAorICAgIDE5OCwgMywgMjUxLCAxNjcsIDE5OCwgMjIsIDMsIDI1MywgMTY0LCAxOTgsIDIyLCAzLCA3NCwgMTk4LCAyMiwgMywgMjMzLCAKKyAgICAxMDIsIDE5OCwgMjIsIDMsIDcxLCAxOTgsIDIyLCAzLCAyMDksIDE2MiwgMTk4LCAyMiwgMywgMTE1LCAxMzcsIDE5OCwgMjIsIAorICAgIDMsIDExNSwgMjE4LCA5MCwgMTk4LCAyMiwgMywgMjQ4LCAyMjAsIDc1LCAxOTgsIDIyLCAzLCA3NSwgMTk4LCAyMiwgMywgCisgICAgMjUyLCAyMDUsIDE5OCwgMjIsIDMsIDI0OCwgMjIwLCA3NiwgMTk4LCAyMiwgMywgNzYsIDE5OCwgMjIsIDMsIDI1MSwgMTg0LCAKKyAgICAxOTgsIDMsIDIwOCwgMTg4LCAxOTgsIDIyMiwgMTczLCAxOTgsIDEsIDExNSwgMjE4LCA5MCwgMTk4LCAxLCAxMTUsIDIyOSwgCisgICAgMTczLCAxOTgsIDIyLCAzLCAxMTUsIDE0OSwgMTk4LCAyMiwgMywgMTE1LCAyMjksIDE3MywgMTk4LCAxOCwgMjA1LCA4NSwgCisgICAgMTk4LCAxOCwgMTAyLCAxOTgsIDE4LCAxMDUsIDE5OCwgMTgsIDE0MiwgMTk4LCAxOCwgMTM5LCAxOTgsIDE4LCAxNjgsIAorICAgIDE5OCwgMTgsIDE4NCwgMTk4LCAxOCwgMTk1LCAxOTgsIDE4LCAxOTMsIDE5OCwgMTgsIDIwMCwgMTk4LCAyNTMsIDI5LCA1MywgCisgICAgMTk4LCAyMTgsIDI3LCA1MywgMTc4LCAzLCAyNDgsIDIxNywgMTc4LCAzLCAyNTIsIDczLCAxNzgsIDMsIDIwOCwgMTgzLCAKKyAgICAxNzgsIDEsIDYyLCAxNzgsIDEsIDI1MywgMTY0LCAxNzgsIDEsIDc0LCAxNzgsIDEsIDIzMywgMTAyLCAxNzgsIDEsIDcxLCAKKyAgICAxNzgsIDEsIDIwOSwgMTYyLCAxNzgsIDEsIDExNSwgMTM3LCAxNzgsIDEsIDExNSwgMTQ5LCAxNzgsIDEsIDc1LCAxNzgsIDEsIAorICAgIDI1MiwgMjA1LCAxNzgsIDEsIDc2LCAxNzgsIDEsIDI1MSwgMTg0LCAxNzgsIDEsIDE3MiwgMTc4LCAxLCAyMzEsIDE2NywgCisgICAgMTc4LCAxLCAyNDAsIDI0NCwgMTc4LCAxLCAyNDAsIDk5LCAxNzgsIDEsIDIyNSwgNzcsIDE3OCwgMSwgMjQ5LCAxLCAxNzgsIAorICAgIDEsIDI0OCwgMTEwLCAxNzgsIDEsIDIzMiwgMjAwLCAxNzgsIDEsIDIzMiwgMTcwLCAxNzgsIDEsIDIyMywgMTQ0LCAxNzgsIAorICAgIDEsIDIxMCwgMjA4LCAxNzgsIDEsIDIxMCwgMTk2LCAxNzgsIDEsIDI0NiwgNTQsIDE3OCwgMSwgMjQ2LCAzOCwgMTc4LCAxLCAKKyAgICAyMjQsIDEwMywgMTc4LCAxLCAyMTIsIDIxOSwgMTc4LCAxLCAyMTIsIDU2LCAxNzgsIDEsIDI0NiwgMTQ1LCAxNzgsIDEsIAorICAgIDI0NSwgMTkyLCAxNzgsIDEsIDE5OSwgMTc4LCAxLCAxNzksIDE3OCwgMSwgMjIxLCA5MywgMTc4LCAxLCAyNTAsIDE4MywgCisgICAgMTc4LCAxLCAyNTAsIDAsIDE3OCwgMSwgMTg1LCAxNzgsIDEsIDE5MCwgMTc4LCAxLCAyMTksIDExMywgMTc4LCAxLCAyMzAsIAorICAgIDE0MSwgMTc4LCAxLCAyMjksIDE3MiwgMTc4LCAxLCAyMDksIDcwLCAxNzgsIDEsIDIxNiwgMiwgMTc4LCAxLCAyMTQsIDk2LCAKKyAgICAxNzgsIDEsIDIxNywgMTk5LCAxNzgsIDEsIDE1NSwgMTc4LCAzLCAyMjMsIDE4NCwgMTc4LCAzLCAyNTEsIDE2NywgMTc4LCAKKyAgICAyMiwgMywgMjUzLCAxNjQsIDE3OCwgMjIsIDMsIDc0LCAxNzgsIDIyLCAzLCAyMzMsIDEwMiwgMTc4LCAyMiwgMywgNzEsIAorICAgIDE3OCwgMjIsIDMsIDIwOSwgMTYyLCAxNzgsIDIyLCAzLCAxMTUsIDEzNywgMTc4LCAyMiwgMywgMTE1LCAyMTgsIDkwLCAKKyAgICAxNzgsIDIyLCAzLCA3NSwgMTc4LCAyMiwgMywgMjUyLCAyMDUsIDE3OCwgMjIsIDMsIDc2LCAxNzgsIDIyLCAzLCAyNTEsIAorICAgIDE4NCwgMTc4LCAzLCAyMDgsIDE4OCwgMTc4LCAyNTIsIDIwNiwgMjMwLCAyMCwgODMsIDE3OCwgMjUxLCAxODUsIDIzMCwgCisgICAgMjAsIDgzLCAxNzgsIDEsIDIxOCwgODksIDE3OCwgMSwgMjE4LCAyMTIsIDE3OCwgMSwgMjA1LCAxNjgsIDE3OCwgMSwgMTE1LCAKKyAgICAyMTgsIDkwLCAxNzgsIDEsIDExNSwgMjI5LCAxNzMsIDE3OCwgMjIsIDMsIDExNSwgMTQ5LCAxNzgsIDIyLCAzLCAxMTUsIAorICAgIDIyOSwgMTczLCAxNzgsIDE4LCAyMDUsIDg1LCAxNzgsIDE4LCAxMDIsIDE3OCwgMTgsIDEwNSwgMTc4LCAxOCwgMTQyLCAKKyAgICAxNzgsIDE4LCAxMzksIDE3OCwgMTgsIDE2OCwgMTc4LCAxOCwgMTg0LCAxNzgsIDE4LCAxOTUsIDE3OCwgMTgsIDE5MywgCisgICAgMTc4LCAxOCwgMjAwLCAxNzgsIDIzMiwgMjIxLCAxNzgsIDEsIDIwNywgOTYsIDE3OCwgMjQxLCAxMTYsIDExOSwgMjE5LCAKKyAgICAyMDQsIDE3OCwgMjQxLCAxMTYsIDExOSwgMjM5LCAxMjEsIDE3OCwgMjQxLCAxMTYsIDEyOSwgMjE5LCAyMDIsIDE3OCwgCisgICAgMjQxLCAxMTYsIDExOSwgMjE1LCAyLCAxNzgsIDI0MSwgMTE2LCAxMTksIDI0MywgODMsIDE3OCwgMjQxLCAxMTYsIDEyOSwgCisgICAgMjE1LCAxLCA0MCwgMywgMjUyLCA3MywgNDAsIDMsIDIwOCwgMTgzLCA0MCwgMSwgNjIsIDQwLCAxLCAyNTMsIDE2NCwgNDAsIAorICAgIDEsIDc0LCA0MCwgMSwgMjMzLCAxMDIsIDQwLCAxLCA3MSwgNDAsIDEsIDIwOSwgMTYyLCA0MCwgMSwgNzUsIDQwLCAxLCAKKyAgICAyNDMsIDEwNCwgNDAsIDEsIDI1MiwgMjA1LCA0MCwgMSwgNzYsIDQwLCAxLCAyMjIsIDE1MiwgNDAsIDEsIDI1MSwgMTg0LCAKKyAgICA0MCwgMSwgMTcyLCA0MCwgMSwgMjI1LCA3NywgNDAsIDEsIDI0OSwgMSwgNDAsIDEsIDIzMiwgMjAwLCA0MCwgMSwgMjIzLCAKKyAgICAxNDQsIDQwLCAxLCAyMTAsIDIwOCwgNDAsIDEsIDIyNCwgMTAzLCA0MCwgMSwgMjEyLCAyMTksIDQwLCAxLCAxOTksIDQwLCAKKyAgICAxLCAyMjQsIDg1LCA0MCwgMSwgMTc5LCA0MCwgMSwgMTg1LCA0MCwgMSwgMTkwLCA0MCwgMSwgMjE5LCAxMTMsIDQwLCAxLCAKKyAgICAyMTgsIDg5LCA0MCwgMSwgMjMwLCAxNDEsIDQwLCAxLCAyMjksIDE3MiwgNDAsIDEsIDIyOSwgMTYzLCA0MCwgMSwgMjA5LCAKKyAgICA3MCwgNDAsIDEsIDIxNiwgMiwgNDAsIDEsIDIxNCwgOTYsIDQwLCAxLCAyMTcsIDE5OSwgNDAsIDEsIDE1NSwgNDAsIDIyLCAKKyAgICAzLCAyNTMsIDE2NCwgNDAsIDIyLCAzLCA3NCwgNDAsIDIyLCAzLCAyMzMsIDEwMiwgNDAsIDIyLCAzLCA3MSwgNDAsIDIyLCAKKyAgICAzLCAyMDksIDE2MiwgNDAsIDIyLCAzLCA3NSwgNDAsIDIyLCAzLCAyNDMsIDEwNCwgNDAsIDIyLCAzLCAyNTIsIDIwNSwgNDAsIAorICAgIDIyLCAzLCA3NiwgNDAsIDIyLCAzLCAyMjIsIDE1MiwgNDAsIDIyLCAzLCAyNTEsIDE4NCwgNDAsIDMsIDIwOCwgMTg4LCA0MCwgCisgICAgMjIyLCAxNzMsIDQwLCAyNTEsIDE4NSwgMjMwLCAyMCwgODMsIDQwLCAxOCwgMjA1LCA4NSwgNDAsIDE4LCAxMDIsIDQwLCAKKyAgICAxOCwgMTA1LCA0MCwgMTgsIDE0MiwgNDAsIDE4LCAxMzksIDQwLCAxOCwgMTY4LCA0MCwgMTgsIDE4NCwgNDAsIDE4LCAxOTUsIAorICAgIDQwLCAxOCwgMTkzLCA0MCwgMTgsIDIwMCwgNDAsIDQzLCAyMTIsIDk4LCA0MCwgNDMsIDExOSwgMjM4LCAyOSwgNDAsIDQzLCAKKyAgICAxMTksIDIxMSwgMjQyLCA0MCwgMjQ2LCA2NywgNTMsIDQwLCAyMjYsIDE1MywgNTMsIDQwLCAyMDYsIDUwLCA1MywgNDAsIAorICAgIDI0NiwgNiwgNTMsIDQwLCAyNDcsIDY4LCA1MywgNDAsIDI1MSwgMjMyLCA4NCwgNTMsIDQwLCAyMTgsIDI3LCA1MywgNDAsIAorICAgIDQzLCA1MywgMTYzLCAzLCAzNiwgMjQ4LCAyMTgsIDUyLCAxNjMsIDMsIDI0OCwgMjE3LCAxNjMsIDMsIDI1MiwgNzMsIDE2MywgCisgICAgMywgMjA4LCAxODMsIDE2MywgMSwgNjIsIDE2MywgMSwgMjUzLCAxNjQsIDE2MywgMSwgNzQsIDE2MywgMSwgMjMzLCAxMDIsIAorICAgIDE2MywgMSwgNzEsIDE2MywgMSwgMjA5LCAxNjIsIDE2MywgMSwgMTE1LCAxMzcsIDE2MywgMSwgMTE1LCAxNDksIDE2MywgMSwgCisgICAgNzUsIDE2MywgMSwgMjQzLCAxMDQsIDE2MywgMSwgMjUyLCAyMDUsIDE2MywgMSwgNzYsIDE2MywgMSwgMjIyLCAxNTIsIAorICAgIDE2MywgMSwgMjUxLCAxODQsIDE2MywgMSwgMTcyLCAxNjMsIDEsIDIzMSwgMTY3LCAxNjMsIDEsIDI0MCwgMjQ0LCAxNjMsIAorICAgIDEsIDI0MCwgOTksIDE2MywgMSwgMjI1LCA3NywgMTYzLCAxLCAyNDksIDEsIDE2MywgMSwgMjQ4LCAxMTAsIDE2MywgMSwgCisgICAgMjMyLCAyMDAsIDE2MywgMSwgMjMyLCAxNzAsIDE2MywgMSwgMjIzLCAxNDQsIDE2MywgMSwgMjEwLCAyMDgsIDE2MywgMSwgCisgICAgMjEwLCAxOTYsIDE2MywgMSwgMjQ2LCA1NCwgMTYzLCAxLCAyNDYsIDM4LCAxNjMsIDEsIDIyNCwgMTAzLCAxNjMsIDEsIAorICAgIDIxMiwgMjE5LCAxNjMsIDEsIDIxMiwgNTYsIDE2MywgMSwgMjQ2LCAxNDUsIDE2MywgMSwgMjQ1LCAxOTIsIDE2MywgMSwgCisgICAgMTk5LCAxNjMsIDEsIDE3OSwgMTYzLCAxLCAyMjEsIDkzLCAxNjMsIDEsIDI1MCwgMTgzLCAxNjMsIDEsIDI1MCwgMCwgMTYzLCAKKyAgICAxLCAxODUsIDE2MywgMSwgMTkwLCAxNjMsIDEsIDIxOSwgMTEzLCAxNjMsIDEsIDIxOCwgODksIDE2MywgMSwgMjMwLCAxNDEsIAorICAgIDE2MywgMSwgMjI5LCAxNzIsIDE2MywgMSwgMjI5LCAxNjMsIDE2MywgMSwgMjA5LCA3MCwgMTYzLCAxLCAyMTYsIDIsIDE2MywgCisgICAgMSwgMjE0LCA5NiwgMTYzLCAxLCAyMTcsIDE5OSwgMTYzLCAxLCAxNTUsIDE2MywgMywgMjUxLCAxNjcsIDE2MywgMjIsIDMsIAorICAgIDI1MywgMTY0LCAxNjMsIDIyLCAzLCA3NCwgMTYzLCAyMiwgMywgMjMzLCAxMDIsIDE2MywgMjIsIDMsIDcxLCAxNjMsIDIyLCAKKyAgICAzLCAyMDksIDE2MiwgMTYzLCAyMiwgMywgMTE1LCAxMzcsIDE2MywgMjIsIDMsIDExNSwgMjE4LCA5MCwgMTYzLCAyMiwgMywgCisgICAgNzUsIDE2MywgMjIsIDMsIDI0MywgMTA0LCAxNjMsIDIyLCAzLCAyNTIsIDIwNSwgMTYzLCAyMiwgMywgNzYsIDE2MywgMjIsIAorICAgIDMsIDIyMiwgMTUyLCAxNjMsIDIyLCAzLCAyNTEsIDE4NCwgMTYzLCAzLCAyMDgsIDE4OCwgMTYzLCAyMzAsIDIwLCA4MywgCisgICAgMTYzLCAyNTIsIDIwNiwgMjMwLCAyMCwgODMsIDE2MywgMSwgMjEwLCAyNDMsIDE2MywgMSwgMjQzLCAxOTYsIDE2MywgMSwgCisgICAgMTE1LCAyMTgsIDkwLCAxNjMsIDEsIDExNSwgMjI5LCAxNzMsIDE2MywgMjIsIDMsIDExNSwgMTQ5LCAxNjMsIDIyLCAzLCAKKyAgICAxMTUsIDIyOSwgMTczLCAxNjMsIDE4LCAyMDUsIDg1LCAxNjMsIDE4LCAxMDIsIDE2MywgMTgsIDEwNSwgMTYzLCAxOCwgCisgICAgMTQyLCAxNjMsIDE4LCAxMzksIDE2MywgMTgsIDE2OCwgMTYzLCAxOCwgMTg0LCAxNjMsIDE4LCAxOTUsIDE2MywgMTgsIAorICAgIDE5MywgMTYzLCAxOCwgMjAwLCAxNjMsIDI0MSwgMTE2LCAxOCwgMjA1LCA4NiwgMzMsIDIyMiwgMjEwLCAyMjAsIDE2MCwgCisgICAgNzMsIDEzOSwgMTYzLCAyNDEsIDExNiwgMTgsIDExOSwgMzMsIDIyMiwgMjEwLCAyMjAsIDE2MCwgNzMsIDEzOSwgMTYzLCAKKyAgICAyNDEsIDExNiwgMTgsIDExOCwgMzMsIDIyMiwgMjEwLCAyMjAsIDE2MCwgNzMsIDEzOSwgMTYzLCAyNDEsIDExNiwgMTgsIAorICAgIDEyOSwgMzMsIDIyMiwgMjEwLCAyMjAsIDE2MCwgNzMsIDEzOSwgMTYzLCAyNDEsIDExNiwgMTgsIDExOSwgMzMsIDI0MiwgCisgICAgMTc5LCAyMjAsIDE2MCwgNzMsIDEzOSwgMTYzLCAyNDEsIDExNiwgMTgsIDExOCwgMzMsIDI0MiwgMTc5LCAyMjAsIDE2MCwgCisgICAgNzMsIDEzOSwgMTYzLCAyNDEsIDExNiwgMTgsIDEyOSwgMzMsIDI0MiwgMTc5LCAyMjAsIDE2MCwgNzMsIDEzOSwgMTYzLCAzLCAKKyAgICAyMTAsIDEzNCwgMTgzLCAzLCAyNDgsIDIxNywgMTgzLCAzLCAyNTIsIDczLCAxODMsIDMsIDIwOCwgMTgzLCAxODMsIDEsIAorICAgIDYyLCAxODMsIDEsIDI1MywgMTY0LCAxODMsIDEsIDc0LCAxODMsIDEsIDIzMywgMTAyLCAxODMsIDEsIDcxLCAxODMsIDEsIAorICAgIDIwOSwgMTYyLCAxODMsIDEsIDExNSwgMTM3LCAxODMsIDEsIDExNSwgMTQ5LCAxODMsIDEsIDc1LCAxODMsIDEsIDI0MywgCisgICAgMTA0LCAxODMsIDEsIDI1MiwgMjA1LCAxODMsIDEsIDc2LCAxODMsIDEsIDIyMiwgMTUyLCAxODMsIDEsIDI1MSwgMTg0LCAKKyAgICAxODMsIDEsIDE3MiwgMTgzLCAxLCAyMzEsIDE2NywgMTgzLCAxLCAyNDAsIDI0NCwgMTgzLCAxLCAyNDAsIDk5LCAxODMsIDEsIAorICAgIDIyNSwgNzcsIDE4MywgMSwgMjQ5LCAxLCAxODMsIDEsIDI0OCwgMTEwLCAxODMsIDEsIDIzMiwgMjAwLCAxODMsIDEsIDIzMiwgCisgICAgMTcwLCAxODMsIDEsIDIyMywgMTQ0LCAxODMsIDEsIDIxMCwgMjA4LCAxODMsIDEsIDIxMCwgMTk2LCAxODMsIDEsIDI0NiwgCisgICAgNTQsIDE4MywgMSwgMjQ2LCAzOCwgMTgzLCAxLCAyMjQsIDEwMywgMTgzLCAxLCAyMTIsIDIxOSwgMTgzLCAxLCAyMTIsIDU2LCAKKyAgICAxODMsIDEsIDI0NiwgMTQ1LCAxODMsIDEsIDI0NSwgMTkyLCAxODMsIDEsIDE5OSwgMTgzLCAxLCAxNzksIDE4MywgMSwgCisgICAgMjIxLCA5MywgMTgzLCAxLCAyNTAsIDE4MywgMTgzLCAxLCAyNTAsIDAsIDE4MywgMSwgMTg1LCAxODMsIDEsIDE5MCwgMTgzLCAKKyAgICAxLCAyMTksIDExMywgMTgzLCAxLCAyMTgsIDg5LCAxODMsIDEsIDIzMCwgMTQxLCAxODMsIDEsIDIyOSwgMTcyLCAxODMsIDEsIAorICAgIDIwOSwgNzAsIDE4MywgMSwgMjE2LCAyLCAxODMsIDEsIDIxNCwgOTYsIDE4MywgMSwgMjE3LCAxOTksIDE4MywgMSwgMTU1LCAKKyAgICAxODMsIDMsIDIyMywgMTg0LCAxODMsIDMsIDI1MSwgMTY3LCAxODMsIDIyLCAzLCAyNTMsIDE2NCwgMTgzLCAyMiwgMywgNzQsIAorICAgIDE4MywgMjIsIDMsIDIzMywgMTAyLCAxODMsIDIyLCAzLCA3MSwgMTgzLCAyMiwgMywgMjA5LCAxNjIsIDE4MywgMjIsIDMsIAorICAgIDExNSwgMTM3LCAxODMsIDIyLCAzLCAxMTUsIDIxOCwgOTAsIDE4MywgMjIsIDMsIDc1LCAxODMsIDIyLCAzLCAyNDMsIDEwNCwgCisgICAgMTgzLCAyMiwgMywgMjUyLCAyMDUsIDE4MywgMjIsIDMsIDc2LCAxODMsIDIyLCAzLCAyMjIsIDE1MiwgMTgzLCAyMiwgMywgCisgICAgMjUxLCAxODQsIDE4MywgMywgMjA4LCAxODgsIDE4MywgMjMwLCAyMCwgODMsIDE4MywgMjUyLCAyMDYsIDIzMCwgMjAsIDgzLCAKKyAgICAxODMsIDEsIDI0MiwgNzMsIDE4MywgMSwgMTE1LCAyMTgsIDkwLCAxODMsIDEsIDExNSwgMjI5LCAxNzMsIDE4MywgMjIsIDMsIAorICAgIDExNSwgMTQ5LCAxODMsIDIyLCAzLCAxMTUsIDIyOSwgMTczLCAxODMsIDE4LCAyMDUsIDg1LCAxODMsIDE4LCAxMDIsIDE4MywgCisgICAgMTgsIDEwNSwgMTgzLCAxOCwgMTQyLCAxODMsIDE4LCAxMzksIDE4MywgMTgsIDE2OCwgMTgzLCAxOCwgMTg0LCAxODMsIDE4LCAKKyAgICAxOTUsIDE4MywgMTgsIDE5MywgMTgzLCAxOCwgMjAwLCAxODMsIDMsIDIzMiwgMTU2LCAxODMsIDMsIDIwOSwgMjA0LCAxNTYsIAorICAgIDMsIDI0OCwgMjE3LCAxNTYsIDMsIDI1MiwgNzMsIDE1NiwgMywgMjA4LCAxODMsIDE1NiwgMSwgNjIsIDE1NiwgMSwgMjUzLCAKKyAgICAxNjQsIDE1NiwgMSwgNzQsIDE1NiwgMSwgMjMzLCAxMDIsIDE1NiwgMSwgNzEsIDE1NiwgMSwgMjA5LCAxNjIsIDE1NiwgMSwgCisgICAgMTE1LCAxMzcsIDE1NiwgMSwgMTE1LCAxNDksIDE1NiwgMSwgNzUsIDE1NiwgMSwgMjQzLCAxMDQsIDE1NiwgMSwgMjUyLCAKKyAgICAyMDUsIDE1NiwgMSwgNzYsIDE1NiwgMSwgMjIyLCAxNTIsIDE1NiwgMSwgMjUxLCAxODQsIDE1NiwgMSwgMTcyLCAxNTYsIDEsIAorICAgIDIzMSwgMTY3LCAxNTYsIDEsIDI0MCwgMjQ0LCAxNTYsIDEsIDI0MCwgOTksIDE1NiwgMSwgMjI1LCA3NywgMTU2LCAxLCAKKyAgICAyNDksIDEsIDE1NiwgMSwgMjQ4LCAxMTAsIDE1NiwgMSwgMjMyLCAyMDAsIDE1NiwgMSwgMjMyLCAxNzAsIDE1NiwgMSwgCisgICAgMjIzLCAxNDQsIDE1NiwgMSwgMjEwLCAyMDgsIDE1NiwgMSwgMjEwLCAxOTYsIDE1NiwgMSwgMjQ2LCA1NCwgMTU2LCAxLCAKKyAgICAyNDYsIDM4LCAxNTYsIDEsIDIyNCwgMTAzLCAxNTYsIDEsIDIxMiwgMjE5LCAxNTYsIDEsIDIxMiwgNTYsIDE1NiwgMSwgCisgICAgMjQ2LCAxNDUsIDE1NiwgMSwgMjQ1LCAxOTIsIDE1NiwgMSwgMTk5LCAxNTYsIDEsIDIyNCwgODUsIDE1NiwgMSwgMTc5LCAKKyAgICAxNTYsIDEsIDIyMSwgOTMsIDE1NiwgMSwgMjUwLCAxODMsIDE1NiwgMSwgMjUwLCAwLCAxNTYsIDEsIDE4NSwgMTU2LCAxLCAKKyAgICAxOTAsIDE1NiwgMSwgMjE5LCAxMTMsIDE1NiwgMSwgMjE4LCA4OSwgMTU2LCAxLCAyMzAsIDE0MSwgMTU2LCAxLCAyMjksIAorICAgIDE3MiwgMTU2LCAxLCAyMjksIDE2MywgMTU2LCAxLCAyMDksIDcwLCAxNTYsIDEsIDIxNiwgMiwgMTU2LCAxLCAyMTQsIDk2LCAKKyAgICAxNTYsIDEsIDIxNywgMTk5LCAxNTYsIDEsIDE1NSwgMTU2LCAxLCAyMTAsIDE3NywgMTU2LCAzLCAyNTEsIDE2NywgMTU2LCAKKyAgICAyMiwgMywgMjUzLCAxNjQsIDE1NiwgMjIsIDMsIDc0LCAxNTYsIDIyLCAzLCAyMzMsIDEwMiwgMTU2LCAyMiwgMywgNzEsIAorICAgIDE1NiwgMjIsIDMsIDIwOSwgMTYyLCAxNTYsIDIyLCAzLCAxMTUsIDEzNywgMTU2LCAyMiwgMywgMTE1LCAyMTgsIDkwLCAKKyAgICAxNTYsIDIyLCAzLCA3NSwgMTU2LCAyMiwgMywgMjQzLCAxMDQsIDE1NiwgMjIsIDMsIDI1MiwgMjA1LCAxNTYsIDIyLCAzLCAKKyAgICA3NiwgMTU2LCAyMiwgMywgMjIyLCAxNTIsIDE1NiwgMjIsIDMsIDI1MSwgMTg0LCAxNTYsIDMsIDIwOCwgMTg4LCAxNTYsIDEsIAorICAgIDY3LCAyMTgsIDI0OCwgMTU2LCAyNTEsIDE4NSwgMjMwLCAyMCwgODMsIDE1NiwgMSwgMTE1LCAyMTgsIDkwLCAxNTYsIDEsIAorICAgIDExNSwgMjI5LCAxNzMsIDE1NiwgMjIsIDMsIDExNSwgMTQ5LCAxNTYsIDIyLCAzLCAxMTUsIDIyOSwgMTczLCAxNTYsIDE4LCAKKyAgICAyMDUsIDg1LCAxNTYsIDE4LCAxMDIsIDE1NiwgMTgsIDEwNSwgMTU2LCAxOCwgMTQyLCAxNTYsIDE4LCAxMzksIDE1NiwgMTgsIAorICAgIDE2OCwgMTU2LCAxOCwgMTg0LCAxNTYsIDE4LCAxOTUsIDE1NiwgMTgsIDE5MywgMTU2LCAxOCwgMjAwLCAxNTYsIDQzLCAKKyAgICAyMTIsIDk4LCAxNTYsIDQzLCAxMTksIDIzOCwgMjksIDE1NiwgNDMsIDExOSwgMjExLCAyNDIsIDE1NiwgMjQxLCAxMTYsIAorICAgIDExOSwgMjE5LCAyMDQsIDE1NiwgMjQxLCAxMTYsIDExOSwgMjM5LCAxMjEsIDE1NiwgMjQxLCAxMTYsIDEyOSwgMjE5LCAKKyAgICAyMDIsIDE1NiwgMjQ2LCA3MiwgODMsIDE1NiwgMSwgMjQ4LCA0NywgMjI0LCAxMDQsIDE1NiwgMSwgMjQ4LCA0NywgMjI2LCAKKyAgICAzMywgMTU2LCAxLCAyNDgsIDQ3LCAyMTgsIDkwLCAxNTYsIDEsIDI0OCwgNDcsIDE0OSwgMTU2LCAxLCAyNDgsIDQ3LCAyMjksIAorICAgIDE3MywgMTU2LCAxLCAyNDgsIDQ3LCAyMzIsIDc2LCAxMzIsIDMsIDI1MiwgNzIsIDEzMiwgMywgMjA4LCAxODIsIDEzMiwgMSwgCisgICAgMjUxLCAxNTcsIDEzMiwgMSwgMjUzLCAxMTgsIDEzMiwgMSwgMjUyLCAyMjgsIDEzMiwgMSwgMjUyLCAyNDMsIDEzMiwgMSwgCisgICAgMjMyLCAyMTAsIDEzMiwgMSwgMjMzLCAxMDEsIDEzMiwgMSwgMjA5LCAxNTMsIDEzMiwgMSwgMjA5LCAxNTYsIDEzMiwgMSwgCisgICAgMjMyLCAyMzYsIDEzMiwgMSwgMjMyLCAyMzcsIDEzMiwgMSwgMjMzLCA4NywgMTMyLCAxLCAyMzMsIDg5LCAxMzIsIDEsIAorICAgIDI0MiwgMTUyLCAxMzIsIDEsIDI0MywgOTksIDEzMiwgMSwgMjUyLCAxOTEsIDEzMiwgMSwgMjIyLCA3MCwgMTMyLCAxLCAKKyAgICAyMjIsIDE0NSwgMTMyLCAxLCAyNTEsIDE3MCwgMTMyLCAxLCAyNTIsIDE0NywgMjMxLCAyMjksIDEzMiwgMSwgMjI3LCAyNDYsIAorICAgIDIzMSwgMjI5LCAxMzIsIDEsIDI1MiwgMTQ3LCAyNDAsIDE5MCwgMTMyLCAxLCAyMjcsIDI0NiwgMjQwLCAxOTAsIDEzMiwgMSwgCisgICAgMjMyLCAyMiwgMjI1LCAyMjksIDEzMiwgMSwgMjE3LCAxNDMsIDI0MCwgMTkwLCAxMzIsIDEsIDI1MiwgMTQ3LCAyNDgsIAorICAgIDE3NCwgMTMyLCAxLCAyMjcsIDI0NiwgMjQ4LCAxNzQsIDEzMiwgMSwgMjUyLCAxNDcsIDIzMiwgMTg1LCAxMzIsIDEsIDIyNywgCisgICAgMjQ2LCAyMzIsIDE4NSwgMTMyLCAxLCAyMTIsIDIxMiwgMjI1LCAyMjksIDEzMiwgMSwgMjEyLCAyMTIsIDIxNywgMTQyLCAKKyAgICAyMjUsIDIzMCwgMTMyLCAxLCAyMTcsIDE0MywgMjMyLCAxODUsIDEzMiwgMSwgMjUyLCAxNDcsIDIxMCwgMjA0LCAxMzIsIDEsIAorICAgIDIyNywgMjQ2LCAyMTAsIDIwNCwgMTMyLCAxLCAyNTIsIDE0NywgMjQ2LCA0NSwgMTMyLCAxLCAyMjcsIDI0NiwgMjQ2LCA0NSwgCisgICAgMTMyLCAxLCAyMjYsIDYxLCAyMjUsIDE4NCwgMTMyLCAxLCAyMTcsIDE0MywgMjQ2LCA0NSwgMTMyLCAxLCAyNTIsIDE0NywgCisgICAgMjEyLCAxMzksIDEzMiwgMSwgMjI3LCAyNDYsIDIxMiwgMTM5LCAxMzIsIDEsIDI1MiwgMTQ3LCAyNDYsIDY1LCAxMzIsIDEsIAorICAgIDIyNywgMjQ2LCAyNDYsIDY1LCAxMzIsIDEsIDI0NiwgOTYsIDIyNSwgMTg0LCAxMzIsIDEsIDIxNywgMTQzLCAyNDYsIDY1LCAKKyAgICAxMzIsIDEsIDI1MiwgMTQ3LCAyMjEsIDE4MiwgMTMyLCAxLCAyMjcsIDI0NiwgMjIxLCAxODIsIDEzMiwgMSwgMjUyLCAxNDcsIAorICAgIDI1MCwgOTksIDEzMiwgMSwgMjI3LCAyNDYsIDI1MCwgOTksIDEzMiwgMSwgMjI3LCAxNjEsIDEzMiwgMSwgMjUyLCAxMzEsIAorICAgIDI1MCwgOTksIDEzMiwgMSwgMjA2LCA1NywgMTMyLCAxLCAyMTksIDU3LCAxMzIsIDEsIDI0NiwgOTYsIDIzMCwgNjcsIDEzMiwgCisgICAgMSwgMjA5LCA0MSwgMTMyLCAxLCAyMTIsIDIxMiwgMjE3LCAxMTUsIDEzMiwgMSwgMjI2LCA2MSwgMjE3LCAxMTUsIDEzMiwgCisgICAgMSwgMjQ2LCA5NiwgMjE3LCAxMTUsIDEzMiwgMSwgMjM5LCA3NSwgMTMyLCAxLCAyMjYsIDYxLCAyMzAsIDY3LCAxMzIsIDEsIAorICAgIDI0MiwgMzAsIDEzMiwgMywgMjUyLCAxODAsIDEzMiwgMjIsIDMsIDI1MiwgMjM4LCAxMzIsIDIyLCAzLCAyMzEsIDE5MiwgCisgICAgMjUyLCAyNDUsIDEzMiwgMjIsIDMsIDI0NSwgMTM1LCAyNTIsIDI0NSwgMTMyLCAyMiwgMywgMjMxLCAxOTIsIDIzMiwgMjMzLCAKKyAgICAxMzIsIDIyLCAzLCAyNDUsIDEzNSwgMjMyLCAyMzMsIDEzMiwgMjIsIDMsIDIzMSwgMTkyLCAyMjIsIDUwLCAxMzIsIDIyLCAKKyAgICAzLCAyNDUsIDEzNSwgMjIyLCA1MCwgMTMyLCAyMiwgMywgMjQwLCAyMzMsIDEzMiwgMjIsIDMsIDIzMSwgMzgsIDEzMiwgMjIsIAorICAgIDMsIDI0NSwgMTM1LCAyMzEsIDM4LCAxMzIsIDIyLCAzLCAyMzEsIDQwLCAyNDUsIDI0MCwgMTMyLCAyMiwgMywgMjMxLCAzOSwgCisgICAgMjM5LCAxNDIsIDI1MiwgMjM4LCAxMzIsIDIyLCAzLCAyMzEsIDM5LCAyMzksIDE0MiwgMjQ1LCAxMzUsIDI1MiwgMjM4LCAKKyAgICAxMzIsIDIyLCAzLCAyMzEsIDM5LCAyMzksIDE0MiwgMjQwLCAxODksIDEzMiwgMjIsIDMsIDI0MCwgMTg5LCAxMzIsIDIyOSwgCisgICAgMTgzLCAxOCwgMjA1LCA4NSwgMTMyLCAyMjksIDE4MywgMTgsIDEwMiwgMTMyLCAyMjksIDE4MywgMTgsIDEwNSwgMTMyLCAKKyAgICAyMjksIDE4MywgMTgsIDE0MiwgMTMyLCAyMjksIDE4MywgMTgsIDEzOSwgMTMyLCAyMjksIDE4MywgMTgsIDE2OCwgMTMyLCAKKyAgICAyMjksIDE4MywgMTgsIDE4NCwgMTMyLCAyMjksIDE4MywgMTgsIDE5NSwgMTMyLCAyMjksIDE4MywgMTgsIDE5MywgMTMyLCAKKyAgICAyMjksIDE4MywgMTgsIDIwMCwgMTMyLCAyMiwgMywgMjQ1LCAxMzUsIDI0MCwgMjMzLCAxMzIsIDIyLCAzLCAyNDUsIDEzNSwgCisgICAgMjQwLCAxODksIDEzMiwgMjIwLCA3MiwgMjMwLCAyMjEsIDE4OSwgMTU3LCAyMzEsIDU0LCAyMzIsIDQxLCAxODksIDE1NywgCisgICAgMjMxLCAxMzksIDIzMSwgMTYyLCAxODksIDE1NywgMjMxLCAxMzksIDIzMSwgMTMxLCAxODksIDE1NywgMjMxLCAxMzksIAorICAgIDIzMSwgMTI2LCAxODksIDE1NywgMjMxLCAxMzksIDIzMSwgMTM1LCAxODksIDE1NywgMjMxLCAxMzksIDIxOSwgNzgsIDE4OSwgCisgICAgMTU3LCAyMjUsIDMsIDIyNCwgMjQ2LCAxODksIDE1NywgMjQ4LCAzMywgMjQ4LCAxMDAsIDE4OSwgMTU3LCAyNDgsIDMzLCAKKyAgICAyNDgsIDQzLCAxODksIDE1NywgMjQ4LCAzMywgMjQ4LCA5OSwgMTg5LCAxNTcsIDIxNCwgMTk0LCAyMTQsIDE5MywgMTg5LCAKKyAgICAxNTcsIDI0OCwgMzMsIDI0OCwgMjksIDE4OSwgMTU3LCAyMDUsIDI0OCwgMjA1LCAyNTUsIDE4OSwgMTU3LCAyNDUsIDUyLCAKKyAgICAyNDgsIDEwNywgMTg5LCAxNTcsIDIxMSwgMTMwLCAyMjEsIDE5MywgMTg5LCAxNTcsIDIxMSwgMjU0LCAyMTIsIDQ2LCAxODksIAorICAgIDE1NywgMjExLCAyNTQsIDIyNSwgMjA2LCAxODksIDE1NywgMjExLCAyNTQsIDIyMSwgNTYsIDE4OSwgMTU3LCAyMjQsIDY4LCAKKyAgICAyMjUsIDEwMSwgMTg5LCAxNTcsIDI0NSwgNTIsIDI0NSwgMjQxLCAxODksIDE1NywgMjExLCAxMzAsIDIxMiwgMTY3LCAxODksIAorICAgIDE1NywgMjExLCAyNTQsIDIxMSwgMjI1LCAxODksIDE1NywgMjExLCAyNTQsIDIxMiwgNTIsIDE4OSwgMTU3LCAyMTEsIDI1NCwgCisgICAgMjExLCAyNDksIDE4OSwgMTU3LCAyMjQsIDY4LCAyMjMsIDIxNywgMTg5LCAxNTcsIDI0OSwgMTg1LCAyNTAsIDE1NCwgMTg5LCAKKyAgICAxNTcsIDIyMCwgMjEyLCAyMjAsIDI0MCwgMTg5LCAxNTcsIDIyMSwgNjcsIDIyMSwgNTgsIDE4OSwgMTU3LCAyNDEsIDE2MywgCisgICAgMjQyLCA3MywgMTg5LCAxNTcsIDIyMSwgNjcsIDIyMSwgODYsIDE4OSwgMTU3LCAyNDEsIDE2MywgMjQyLCA0NywgMTg5LCAKKyAgICAxNTcsIDIyMSwgNjcsIDIxNywgMTU1LCAxODksIDE1NywgMjI2LCAxODIsIDE4NSwgMTg5LCAxNTcsIDIwNSwgMjQ4LCAyMDYsIAorICAgIDg1LCAxODksIDE1NywgMjE4LCAxMjUsIDIxOCwgNDksIDE4OSwgMTU3LCAyMTgsIDUwLCAxODksIDE1NywgMjI5LCAxNDUsIAorICAgIDIyOSwgMTk4LCAxODksIDE1NywgMjI5LCA4MSwgMTg5LCAxNTcsIDIwNiwgMjUxLCAyMDcsIDkxLCAxODksIDE1NywgMjE0LCAKKyAgICAxOTQsIDIxNywgMTcwLCAxODksIDE1NywgMjE0LCAxOTQsIDIxOCwgMjMsIDE4OSwgMTU3LCAyMTQsIDE5NCwgMjEzLCAyMDIsIAorICAgIDE4OSwgMTU3LCAyMzgsIDE1MCwgMjM4LCAyNDUsIDE4OSwgMTU3LCAyMjksIDE0NSwgMjQ4LCAxMywgMTg5LCAxNTcsIDE0OCwgCisgICAgMjUyLCAxMTQsIDE4OSwgMTU3LCAyMzgsIDE1MCwgMjI0LCA2MywgMTg5LCAxNTcsIDIyMiwgMjgsIDE4OSwgMTU3LCAyMTcsIAorICAgIDEzNywgNjIsIDE4OSwgMTU3LCAyMjcsIDI0MCwgMjM5LCAxMDksIDE4OSwgMTU3LCAyMTcsIDEzNywgMjUzLCAxNjQsIDE4OSwgCisgICAgMTU3LCAyMTcsIDEzNywgMjUyLCAxMzYsIDE4OSwgMTU3LCAyMTcsIDEzNywgNzQsIDE4OSwgMTU3LCAyMTcsIDEzNywgMjMzLCAKKyAgICAxMDIsIDE4OSwgMTU3LCAyMTcsIDEzNywgMjEwLCAzLCAxODksIDE1NywgMjE3LCAxMzcsIDIxMCwgMSwgMTg5LCAxNTcsIAorICAgIDIxNywgMTM3LCA3MSwgMTg5LCAxNTcsIDIxNywgMTM3LCAyMDksIDE2MiwgMTg5LCAxNTcsIDIyMSwgNjksIDE4OSwgMjQ3LCAKKyAgICAyNSwgMTYsIDI1MCwgMTU1LCAxODksIDE1NywgMjE3LCAxMzcsIDc1LCAxODksIDE1NywgMjE3LCAxMzcsIDI1MiwgMjQ4LCAKKyAgICAxODksIDE1NywgMjE3LCAxMzcsIDc2LCAxODksIDE1NywgMjE3LCAxMzcsIDI1MiwgMjA2LCAyMjcsIDIzNCwgMTg5LCAxNTcsIAorICAgIDIxNywgMTM3LCAyNTIsIDIwNiwgMjI3LCAyMzUsIDE4OSwgMTU3LCAyMzAsIDExMCwgMTg5LCAxNTcsIDIyNywgMjMxLCAKKyAgICAxODksIDE1NywgMjI3LCAyMzIsIDE4OSwgMTU3LCAyMjcsIDI0MCwgMjQzLCA3NSwgMTg5LCAxNTcsIDIyNywgMjQwLCAyMTEsIAorICAgIDI1MywgMTg5LCAxNTcsIDIyNywgMjQwLCAyMTEsIDU0LCAxODksIDE1NywgMjI3LCAyNDAsIDI0OCwgODcsIDE4OSwgMTU3LCAKKyAgICAyMTIsIDQ0LCAxODksIDE1NywgMjI0LCAyMDIsIDE4OSwgMTU3LCAyMDYsIDc5LCAxODksIDE1NywgMjQxLCAxNTMsIDE4OSwgCisgICAgMTgsIDIwNSwgODUsIDE4OSwgMTgsIDEwMiwgMTg5LCAxOCwgMTA1LCAxODksIDE4LCAxNDIsIDE4OSwgMTgsIDEzOSwgMTg5LCAKKyAgICAxOCwgMTY4LCAxODksIDE4LCAxODQsIDE4OSwgMTgsIDE5NSwgMTg5LCAxOCwgMTkzLCAxODksIDE4LCAyMDAsIDE4OSwgCisgICAgMTU3LCAyNTIsIDExMCwgMTg5LCAxNTcsIDIzMSwgMTM2LCAyMzAsIDkwLCAxLCAyMzEsIDUzLCAyMzAsIDkwLCAxLCAyMzEsIAorICAgIDEzOSwgMjEzLCAxNTEsIDIzMCwgOTAsIDEsIDIzMSwgMTM5LCAyMTIsIDE3NiwgMjMwLCA5MCwgMSwgMjI1LCAyLCAyMzAsIAorICAgIDkwLCAxLCAyNDcsIDE3NCwgMjMwLCA5MCwgMSwgMjE0LCAxOTQsIDIxMiwgMTc2LCAyMzAsIDkwLCAxLCAyMjMsIDExMCwgCisgICAgMjMwLCA5MCwgMSwgMjQ1LCA1MSwgMjMwLCA5MCwgMSwgMTI0LCAyMzAsIDkwLCAxLCAyMTEsIDI1NCwgMjEzLCAxNTEsIAorICAgIDIzMCwgOTAsIDEsIDIxMSwgMjU0LCAyMTIsIDE3NiwgMjMwLCA5MCwgMSwgMjI0LCA2NywgMjMwLCA5MCwgMSwgMjQ5LCAKKyAgICAxODQsIDIzMCwgOTAsIDEsIDIyMCwgMjExLCAyMzAsIDkwLCAxLCAyMjEsIDY3LCAyMTMsIDE1MSwgMjMwLCA5MCwgMSwgCisgICAgMjQxLCAxNjMsIDIxMiwgMTc2LCAyMzAsIDkwLCAxLCAyMjEsIDY3LCAyMTIsIDE3NiwgMjMwLCA5MCwgMSwgMjQxLCAxNjMsIAorICAgIDIxMywgMTUxLCAyMzAsIDkwLCAxLCAyMjYsIDE4MSwgMjMwLCA5MCwgMSwgMjA1LCAyNDcsIDIzMCwgOTAsIDEsIDIyOSwgCisgICAgMTQ1LCAyMjksIDE5OCwgMjMwLCA5MCwgMSwgMjI5LCAxNDUsIDIyOSwgMTA5LCAyMzAsIDkwLCAxLCAyMDYsIDI1MCwgMjMwLCAKKyAgICA5MCwgMSwgMjE0LCAxOTQsIDIxMywgMTUxLCAyMzAsIDkwLCAxLCAyMzgsIDE1MCwgMjEzLCAxNTEsIDIzMCwgOTAsIDEsIAorICAgIDc2LCAyMzAsIDkwLCAxLCAyMzgsIDE1MCwgMjEyLCAxNzYsIDIzMCwgOTAsIDI0MywgNTQsIDIzMCwgOTAsIDIyLCAzLCA2MiwgCisgICAgMjMwLCA5MCwgMjIsIDMsIDIyNywgMjQwLCAyMzIsIDI3LCAyMzAsIDkwLCAyMiwgMywgMjUzLCAxNjQsIDIzMCwgOTAsIDIyLCAKKyAgICAzLCAyNTIsIDEzNiwgMjMwLCA5MCwgMjIsIDMsIDc0LCAyMzAsIDkwLCAyMiwgMywgMjMzLCAxMDIsIDIzMCwgOTAsIDIyLCAKKyAgICAzLCAyMDYsIDEyMywgMjMwLCA5MCwgMjIsIDMsIDIwNSwgMTY5LCAyMzAsIDkwLCAyMiwgMywgNzEsIDIzMCwgOTAsIDIyLCAKKyAgICAzLCAyMDksIDE2MiwgMjMwLCA5MCwgMjIsIDMsIDIyNywgMjQwLCAyMzEsIDM2LCAyMzAsIDkwLCAyMTYsIDQ3LCAzLCAyMjksIAorICAgIDE0NCwgMjMwLCA5MCwgMjE2LCA0NywgMywgMjIzLCAxMTAsIDIzMCwgOTAsIDIyLCAzLCA3NSwgMjMwLCA5MCwgMjIsIDMsIAorICAgIDI0MywgOTAsIDIzMCwgOTAsIDIyLCAzLCA3NiwgMjMwLCA5MCwgMjIsIDMsIDI1MSwgMTU5LCAyMzAsIDkwLCAyMiwgMywgCisgICAgMjUyLCAyMDUsIDIzMCwgOTAsIDIzMSwgNTQsIDIzMCwgMTQxLCAyMzAsIDkwLCAxMzUsIDIyNywgMjQwLCAyNDMsIDc1LCAKKyAgICAyMzAsIDkwLCAxMzUsIDIyNywgMjQwLCAyMTEsIDI1MywgMjMwLCA5MCwgMTM1LCAyMjcsIDI0MCwgMjExLCAyMTEsIDIzMCwgCisgICAgOTAsIDEzNSwgMjI3LCAyNDAsIDI0OCwgMTgyLCAyMzAsIDkwLCAyNDgsIDIyMywgODMsIDIzMCwgOTAsIDIyNCwgMjExLCAKKyAgICAyMzAsIDkwLCAxOCwgMjA1LCA4NSwgMjMwLCA5MCwgMTgsIDEwMiwgMjMwLCA5MCwgMTgsIDEwNSwgMjMwLCA5MCwgMTgsIAorICAgIDE0MiwgMjMwLCA5MCwgMTgsIDEzOSwgMjMwLCA5MCwgMTgsIDE2OCwgMjMwLCA5MCwgMTgsIDE4NCwgMjMwLCA5MCwgMTgsIAorICAgIDE5NSwgMjMwLCA5MCwgMTgsIDE5MywgMjMwLCA5MCwgMTgsIDIwMCwgMjMwLCA5MCwgMjM4LCAxNTAsIDIyNCwgNjcsIDIzMCwgCisgICAgOTAsIDIzOCwgMTUwLCAyMjYsIDE4MSwgMjMwLCA5MCwgMSwgMjMxLCAxNDAsIDI0MCwgMTksIDIzMCwgOTAsIDEsIDIzMSwgCisgICAgMTQwLCAyMjMsIDExMCwgNzIsIDQsIDIyMiwgMTczLCA3MiwgMTQxLCAyMzksIDIxNSwgMjA2LCAzLCAyMjcsIDE2LCAyMTAsIAorICAgIDI0OSwgNjIsIDcyLCAxNDEsIDIzOSwgMjE1LCAyMDYsIDMsIDIyNywgMTYsIDI1NCwgMjU0LCAyMTgsIDEyOSwgMjUwLCA2MywgCisgICAgMTg1LCA3MiwgMTQxLCAyMzksIDIxNSwgMjA2LCAzLCAyMjcsIDE2LCAyNTQsIDI1NCwgMjM5LCAyMTUsIDIxMCwgMjI5LCAKKyAgICAxODUsIDcyLCAxNDEsIDc4LCAyMDYsIDMsIDIyNywgMTYsIDIyNywgMTIxLCAxODUsIDcyLCAxNDEsIDI0NywgMTg4LCAyMDYsIAorICAgIDMsIDIyNywgMTYsIDIxNiwgOSwgMTg1LCA3MiwgMTQxLCAyNDgsIDIwMCwgMjA2LCAzLCAyMjcsIDE2LCAyMjEsIDU3LCAKKyAgICAyMTUsIDI1MiwgMTg1LCA3MiwgMTQxLCAyMDYsIDMsIDIyNywgMTYsIDIxMCwgMjI5LCAyMTUsIDI1MiwgMTg1LCA3MiwgCisgICAgMTQxLCAyMTcsIDExMywgMjE1LCAyNTEsIDcyLCAxNDEsIDI0OSwgMTA0LCAyMDYsIDMsIDIyNywgMTUsIDcyLCAxNDEsIAorICAgIDI0OSwgMjA0LCAyMTUsIDE1NCwgMjA2LCAzLCAyMjcsIDE1LCA3MiwgMTQxLCAyMzMsIDYsIDIxMCwgMjI4LCA3MiwgMTQxLCAKKyAgICAyNDUsIDIzNCwgMjEwLCAyMjksIDI0OSwgMTAzLCA3MiwgMTQxLCAyMTUsIDI1MSwgNzIsIDE0MSwgMjIzLCAxMTUsIDIxNSwgCisgICAgMjUxLCA3MiwgMTQxLCAyMTAsIDIyOSwgMjE1LCAyNTEsIDcyLCAxNDEsIDIyMywgMTE1LCAyMTAsIDIyOSwgMjE1LCAyNTEsIAorICAgIDcyLCAxNDEsIDIxOCwgMTUxLCAyNDgsIDcxLCAyMTQsIDExMCwgMjE1LCAyNTEsIDcyLCAxNDEsIDIxOCwgMjE2LCAyMzksIAorICAgIDI0NiwgMjE1LCAyNTEsIDcyLCAxNDEsIDI0OCwgMjAwLCAyNTUsIDIsIDIxOCwgNTQsIDIyNywgMTIwLCAxNTIsIDI0OCwgCisgICAgMjI2LCA3MiwgMTQxLCAyMzksIDIxNSwgMjEwLCAyMjgsIDcyLCAyMjksIDEzMiwgMywgMjQ4LCAxMDgsIDIxOCwgNTMsIDcyLCAKKyAgICAyMjksIDEzMiwgMywgMjI5LCAyNDYsIDIxOCwgNTMsIDcyLCAyNTEsIDIwNSwgMywgMjE2LCA1LCAyNDAsIDE3MywgMjU1LCAKKyAgICAzLCAyMTgsIDUzLCA3MiwgMjUxLCAyMDUsIDMsIDI1NSwgMCwgMTc5LCA3MiwgMjUxLCAyMDUsIDMsIDIxNywgODcsIDIxMCwgCisgICAgMjIzLCA3MiwgMywgMjE5LCA1MywgMjQ1LCA2NSwgMjQwLCAxNzIsIDcyLCAzLCAyMTksIDUzLCAyNDUsIDY1LCAyNDAsIDIxLCAKKyAgICA3MiwgMywgMjE5LCA1MywgMjQ1LCA2NSwgMjM5LCAyMTYsIDcyLCAzLCAyMTksIDUzLCAyMjUsIDIyNSwgMjQwLCAxNzIsIAorICAgIDcyLCAzLCAyMTksIDUzLCAyMjUsIDIyNSwgMjQwLCAyMSwgNzIsIDMsIDIxOSwgNTMsIDI0NSwgNjUsIDIxOSwgNTMsIDIyNSwgCisgICAgMjI0LCA3MiwgMTgsIDIwNSwgODUsIDcyLCAxOCwgMTAyLCA3MiwgMTgsIDEwNSwgNzIsIDE4LCAxNDIsIDcyLCAxOCwgMTM5LCAKKyAgICA3MiwgMTgsIDE2OCwgNzIsIDE4LCAxODQsIDcyLCAxOCwgMTk1LCA3MiwgMTgsIDE5MywgNzIsIDE4LCAyMDAsIDcyLCAxOCwgCisgICAgMTYwLCAxMDIsIDcyLCAxOCwgMTYwLCAxMDUsIDcyLCAxOCwgMTYwLCAxNDIsIDcyLCAxOCwgMTYwLCAxMzksIDcyLCAxOCwgCisgICAgMTYwLCAxNjgsIDcyLCAxOCwgMTYwLCAxODQsIDcyLCAxOCwgMTYwLCAxOTUsIDcyLCAxOCwgMTYwLCAxOTMsIDcyLCAxOCwgCisgICAgMTYwLCAyMDAsIDcyLCAxOCwgMTYwLCAyMDUsIDg1LCA3MiwgMTQxLCAyNDksIDEwNiwgMjE4LCA1MywgNzIsIDE0MSwgMjI1LCAKKyAgICA2OCwgMjQ5LCAzNiwgMjIzLCAxMjYsIDIwNSwgMjEsIDcyLCAxNDEsIDI0OCwgMjAwLCAyNTUsIDIsIDIxOCwgNTQsIDI0OSwgCisgICAgMzcsIDIyNiwgMjI1LCAyNDgsIDIyNiwgNzIsIDE0MSwgMjI1LCA2OCwgMjQ5LCAzNiwgMjE2LCA2LCAyMTgsIDUzLCA3MiwgCisgICAgMTQxLCAyNDgsIDgzLCAyMjcsIDE1LCA3MiwgMTQxLCAyMTAsIDI0NCwgMjU0LCAyNTUsIDcyLCAxNDEsIDIzOSwgMTk4LCAKKyAgICAyMTgsIDU0LCAyMzksIDE1OCwgNzIsIDE0MSwgMjM5LCAxOTgsIDIxOCwgNTQsIDIzOSwgMTY0LCA3MiwgMTQxLCAyNTIsIAorICAgIDExNSwgMjMxLCAxNTcsIDIzOSwgMTU4LCA3MiwgMTQxLCAyNTIsIDExNSwgMjMxLCAxNTcsIDIzOSwgMTY0LCA3MiwgMywgCisgICAgMjA2LCA3MSwgMjEwLCAyMjcsIDcyLCAzLCAyMjcsIDIwMCwgMjEwLCAyMjcsIDcyLCAxLCAxNzIsIDcyLCAxLCAyMzEsIAorICAgIDE2NywgNzIsIDEsIDI0MCwgMjQ0LCA3MiwgMSwgMjQwLCA5OSwgNzIsIDEsIDIyNSwgNzcsIDcyLCAxLCAyNDksIDEsIDcyLCAKKyAgICAxLCAyNDgsIDExMCwgNzIsIDEsIDIzMiwgMjAwLCA3MiwgMSwgMjIzLCAxNDQsIDcyLCAxLCAyMTAsIDIwOCwgNzIsIDEsIAorICAgIDIxMCwgMTk2LCA3MiwgMSwgMjQ2LCA1NCwgNzIsIDEsIDI0NiwgMzgsIDcyLCAxLCAyMjQsIDEwMywgNzIsIDEsIDIxMiwgCisgICAgMjE5LCA3MiwgMSwgMjEyLCA1NiwgNzIsIDEsIDI0NiwgMTQ1LCA3MiwgMSwgMjQ1LCAxOTIsIDcyLCAxLCAxOTksIDcyLCAxLCAKKyAgICAxNzksIDcyLCAxLCAyMjEsIDkzLCA3MiwgMSwgMjUwLCAxODMsIDcyLCAxLCAyNTAsIDAsIDcyLCAxLCAxODUsIDcyLCAxLCAKKyAgICAyMTAsIDI0MywgNzIsIDEsIDIxMCwgMjMzLCA3MiwgMSwgMjQzLCAxOTYsIDcyLCAxLCAyNDMsIDE5MCwgNzIsIDEsIDIwNywgCisgICAgOTYsIDcyLCAxLCAyMDUsIDgxLCA3MiwgMSwgMjA1LCAxMTYsIDcyLCAxLCAyNTUsIDUsIDcyLCAxLCAxOTAsIDcyLCAxLCAKKyAgICAyMTksIDExMywgNzIsIDEsIDIzMCwgMTQxLCA3MiwgMSwgMjE2LCAyLCA3MiwgMSwgMjE0LCA5NiwgNzIsIDEsIDIxNywgCisgICAgMTk5LCA3MiwgMSwgMTU1LCA3MiwgMSwgNjIsIDcyLCAxLCAyMzAsIDI1MCwgNzIsIDEsIDI0MSwgMjAwLCAyMTksIDExMywgCisgICAgNzIsIDEsIDIzMSwgNzIsIDcyLCAxLCAyMTgsIDg5LCA3MiwgMjIsIDMsIDI1MywgMTY0LCA3MiwgMjIsIDMsIDc0LCA3MiwgCisgICAgMjIsIDMsIDIzMywgMTAyLCA3MiwgMjIsIDMsIDcxLCA3MiwgMjIsIDMsIDIwOSwgMTYyLCA3MiwgMjIsIDMsIDExNSwgMTM3LCAKKyAgICA3MiwgMjIsIDMsIDExNSwgMjE4LCA5MCwgNzIsIDIyLCAzLCAxMTUsIDE0OSwgNzIsIDIyLCAzLCAxMTUsIDIyOSwgMTczLCAKKyAgICA3MiwgMjIsIDMsIDc1LCA3MiwgMjIsIDMsIDI0MywgMTA0LCA3MiwgMjIsIDMsIDc2LCA3MiwgMjIsIDMsIDIyMiwgMTUyLCAKKyAgICA3MiwgMywgMjE4LCAxMzUsIDIxMywgMjA0LCAyMjUsIDc4LCAyMTgsIDEyNCwgNzIsIDMsIDIxOCwgMTI5LCAyNTAsIDYyLCAKKyAgICA3MiwgMjIsIDMsIDIxOCwgMjI0LCA3NCwgNzIsIDIyLCAzLCAyMTgsIDIyNCwgMjMzLCAxMDIsIDcyLCAzLCAyMjMsIDEyNiwgCisgICAgMjA1LCAyMiwgMjI1LCAyMzMsIDI0NiwgMTQ1LCA3MiwgMywgMjE0LCAyMDcsIDIzMCwgNjAsIDcyLCAxNDEsIDIzOSwgMTIzLCAKKyAgICA3MiwgMTQxLCAyMjIsIDE2LCA3MiwgMywgMjMwLCA2MywgMjE4LCA1MywgNzIsIDMsIDIwNiwgNzYsIDIxOCwgNTMsIDcyLCAKKyAgICAzLCAyMzAsIDY0LCAyMTAsIDI0NCwgMjQ4LCAyMjYsIDcyLCAzLCAyMjcsIDEyMywgMjQ4LCAyMjYsIDcyLCAzLCAyMzksIAorICAgIDIxOSwgMjQ4LCAyMjcsIDIxOCwgMjE0LCA3MiwgMywgMjM5LCAyMTksIDIyNywgMTEzLCAyMTgsIDIxNCwgNzIsIDMsIDIzMywgCisgICAgMiwgMjI3LCAxMjMsIDI0OCwgMjI2LCA3MiwgMjEzLCAxOTEsIDMsIDIzMCwgNjQsIDIxMCwgMjQ0LCAyNDgsIDIyNiwgNzIsIAorICAgIDIxMywgMTkxLCAzLCAyMjcsIDEyMywgMjQ4LCAyMjYsIDcyLCAyMTMsIDE5MSwgMywgMjMzLCAyLCAyMjcsIDEyMywgMjQ4LCAKKyAgICAyMjYsIDcyLCAyMTMsIDE5MSwgMSwgMTcyLCA3MiwgMjEzLCAxOTEsIDEsIDIzMSwgMTY3LCA3MiwgMjEzLCAxOTEsIDEsIAorICAgIDI0MCwgMjQ0LCA3MiwgMjEzLCAxOTEsIDEsIDI0MCwgOTksIDcyLCAyMTMsIDE5MSwgMSwgMjI1LCA3NywgNzIsIDIxMywgCisgICAgMTkxLCAxLCAyNDksIDEsIDcyLCAyMTMsIDE5MSwgMSwgMjQ4LCAxMTAsIDcyLCAyMTMsIDE5MSwgMSwgMjMyLCAyMDAsIDcyLCAKKyAgICAyMTMsIDE5MSwgMSwgMjIzLCAxNDQsIDcyLCAyMTMsIDE5MSwgMSwgMjEwLCAyMDgsIDcyLCAyMTMsIDE5MSwgMSwgMjEwLCAKKyAgICAxOTYsIDcyLCAyMTMsIDE5MSwgMSwgMjQ2LCA1NCwgNzIsIDIxMywgMTkxLCAxLCAyNDYsIDM4LCA3MiwgMjEzLCAxOTEsIDEsIAorICAgIDIyNCwgMTAzLCA3MiwgMjEzLCAxOTEsIDEsIDIxMiwgMjE5LCA3MiwgMjEzLCAxOTEsIDEsIDIxMiwgNTYsIDcyLCAyMTMsIAorICAgIDE5MSwgMSwgMjQ2LCAxNDUsIDcyLCAyMTMsIDE5MSwgMSwgMjQ1LCAxOTIsIDcyLCAyMTMsIDE5MSwgMSwgMTk5LCA3MiwgCisgICAgMjEzLCAxOTEsIDEsIDE3OSwgNzIsIDIxMywgMTkxLCAxLCAyMjEsIDkzLCA3MiwgMjEzLCAxOTEsIDEsIDI1MCwgMTgzLCAKKyAgICA3MiwgMjEzLCAxOTEsIDEsIDI1MCwgMCwgNzIsIDIxMywgMTkxLCAxLCAxODUsIDcyLCAyMTMsIDE5MSwgMSwgMjEwLCAyNDMsIAorICAgIDcyLCAyMTMsIDE5MSwgMSwgMjEwLCAyMzMsIDcyLCAyMTMsIDE5MSwgMSwgMjQzLCAxOTYsIDcyLCAyMTMsIDE5MSwgMSwgCisgICAgMjQzLCAxOTAsIDcyLCAyMTMsIDE5MSwgMSwgMjA3LCA5NiwgNzIsIDIxMywgMTkxLCAxLCAyMDUsIDgxLCA3MiwgMjEzLCAKKyAgICAxOTEsIDEsIDIwNSwgMTE2LCA3MiwgMjEzLCAxOTEsIDEsIDI1NSwgNSwgNzIsIDIxMywgMTkxLCAxLCAxOTAsIDcyLCAyMTMsIAorICAgIDE5MSwgMSwgMjE5LCAxMTMsIDcyLCAyMTMsIDE5MSwgMSwgMjMwLCAxNDEsIDcyLCAyMTMsIDE5MSwgMSwgMjE2LCAyLCA3MiwgCisgICAgMjEzLCAxOTEsIDEsIDIxNCwgOTYsIDcyLCAyMTMsIDE5MSwgMSwgMjE3LCAxOTksIDcyLCAyMTMsIDE5MSwgMSwgMTU1LCAKKyAgICA3MiwgMjEzLCAxOTEsIDEsIDYyLCA3MiwgMjEzLCAxOTEsIDEsIDIzMCwgMjUwLCA3MiwgMjEzLCAxOTEsIDEsIDI0MSwgCisgICAgMjAwLCAyMDcsIDk2LCA3MiwgMjEzLCAxOTEsIDEsIDI0MSwgMjAwLCAxOTAsIDcyLCAyMTMsIDE5MSwgMSwgMjQxLCAyMDAsIAorICAgIDIxOSwgMTEzLCA3MiwgMjMwLCAyMzcsIDIxOCwgNTEsIDIzMSwgMTY3LCA3MiwgMjMwLCAyMzcsIDIxOCwgNTEsIDIzMSwgCisgICAgMTY4LCAyNDksIDM3LCAyMjYsIDIyNSwgMjQ4LCAyMjYsIDcyLCAyNDgsIDIxNCwgMywgNzcsIDI1MCwgNTUsIDcyLCAyNDgsIAorICAgIDIxNCwgMywgMTQ3LCAyNTAsIDU1LCA3MiwgMjQ4LCAyMTQsIDMsIDI0OCwgMjE1LCAyMTIsIDEyOSwgNzIsIDI0OCwgMjE0LCAKKyAgICAzLCAyMTcsIDExMiwgMjU1LCA0LCA3MiwgMTYsIDI0MywgMjUwLCAyNDksIDEwMSwgNzIsIDE2LCAyMTksIDUyLCAyMTgsIAorICAgIDEzNiwgNzIsIDE2LCAyMjIsIDM5LCAyNDAsIDE3MSwgNzIsIDE2LCAyMTksIDUyLCAyMTgsIDEzNywgMjE4LCAyMTYsIDIzOSwgCisgICAgMjQ1LCA3MiwgMTYsIDIyMSwgNTcsIDE3OSwgNzIsIDE2LCAyMjQsIDUxLCAyNDksIDEwMSwgNzIsIDE2LCAyMjQsIDUxLCAKKyAgICAyNDksIDEwMiwgMjIzLCAxMTUsIDI1NSwgMSwgNzIsIDE2LCAyMjQsIDUxLCAyNDksIDEwMiwgMjM5LCAyMTcsIDI1NSwgMSwgCisgICAgNzIsIDE2LCAyMjQsIDUxLCAyNDksIDEwMiwgMjQ5LCAzNywgMjU1LCAxLCA3MiwgMywgMjE5LCA1MywgMjI1LCAyMjUsIAorICAgIDIxOSwgNTMsIDI0NSwgNjQsIDcyLCAzLCAyMTksIDUzLCAyMjUsIDIyNSwgMjM5LCAyMTYsIDcyLCAxNDEsIDI0OSwgMTA1LCAKKyAgICAyMTUsIDE1NCwgMjQwLCA2MiwgMjI3LCAxNiwgMjE4LCAyMTUsIDcyLCAxNDEsIDIyNiwgMTgzLCAyMDYsIDMsIDI0MCwgNjIsIAorICAgIDIyNywgMTYsIDIxOCwgMjE1LCA3MiwgMTQxLCAyMjMsIDExNSwgMjEwLCAyMjgsIDcyLCAxNDEsIDc4LCAyNDksIDEyOCwgCisgICAgMjE4LCAxMjYsIDIwNiwgMywgMjI3LCAxNiwgMjI3LCAxMjEsIDE4NSwgNzIsIDE0MSwgMjQ3LCAxODgsIDI0OSwgMTI4LCAKKyAgICAyMTgsIDEyNiwgMjA2LCAzLCAyMjcsIDE2LCAyMTYsIDksIDE4NSwgMjE4LCAxNjYsIDIxMywgMTE0LCA1MywgMjMwLCA0NSwgCisgICAgMjEzLCAxMTQsIDUzLCAyMTgsIDE2NiwgMjEzLCAxMTQsIDMsIDIsIDI0NSwgMjEsIDIzMCwgNDUsIDIxMywgMTE0LCAzLCAyLCAKKyAgICAyNDUsIDIxLCA3MiwgMTQxLCAyMzAsIDU1LCAyMjcsIDEyNCwgMjE4LCA1MywgNzIsIDE0MSwgMjExLCA3NiwgMjI3LCAxMjQsIAorICAgIDIxOCwgNTMsIDY2LCAxLCAxNzIsIDY2LCAxLCAyMzEsIDE2NywgNjYsIDEsIDI0MCwgMjQ0LCA2NiwgMSwgMjQwLCA5OSwgCisgICAgNjYsIDEsIDIyNSwgNzcsIDY2LCAxLCAyNDksIDEsIDY2LCAxLCAyNDgsIDExMCwgNjYsIDEsIDIzMiwgMjAwLCA2NiwgMSwgCisgICAgMjMyLCAxNzAsIDY2LCAxLCAyMjMsIDE0NCwgNjYsIDEsIDIyNCwgNjksIDY2LCAxLCAyMTAsIDIwOCwgNjYsIDEsIDIxMCwgCisgICAgMTk2LCA2NiwgMSwgMjQ2LCA1NCwgNjYsIDEsIDI0NiwgMzgsIDY2LCAxLCAyMjQsIDEwMywgNjYsIDEsIDIxMiwgMjE5LCAKKyAgICA2NiwgMSwgMjEyLCA1NiwgNjYsIDEsIDI0NiwgMTQ1LCA2NiwgMSwgMjQ1LCAxOTIsIDY2LCAxLCAxOTksIDY2LCAxLCAxNzksIAorICAgIDY2LCAxLCAyMjEsIDkzLCA2NiwgMSwgMjUwLCAxODMsIDY2LCAxLCAyNTAsIDAsIDY2LCAxLCAxODUsIDY2LCAxLCAxOTAsIAorICAgIDY2LCAxLCAyMTksIDExMywgNjYsIDEsIDIzMCwgMTQxLCA2NiwgMSwgMjA3LCA5NiwgNjYsIDEsIDIxNywgMTk5LCA2NiwgMSwgCisgICAgMTU1LCA2NiwgMSwgMjI5LCAxNzIsIDY2LCAxLCA2MiwgNjYsIDEsIDIxNSwgMjM4LCA2MiwgNjYsIDEsIDc0LCA2NiwgMSwgCisgICAgMjMzLCAxMDIsIDY2LCAxLCA3MSwgNjYsIDEsIDIwOSwgMTYyLCA2NiwgMSwgNzUsIDY2LCAxLCAyMjYsIDE2OSwgNzUsIDY2LCAKKyAgICAxLCA3NiwgNjYsIDEsIDI1MSwgMTg0LCA2NiwgMjIsIDMsIDIxMiwgMTc4LCAyNTMsIDE2NCwgNjYsIDIyLCAzLCAyNTMsIAorICAgIDE2NCwgNjYsIDIyLCAzLCA3NCwgNjYsIDIyLCAzLCAyMzMsIDEwMiwgNjYsIDIyLCAzLCA3MSwgNjYsIDIyLCAzLCAyMDksIAorICAgIDE2MiwgNjYsIDIyLCAzLCA3NSwgNjYsIDIyLCAzLCAyNTIsIDIwNSwgNjYsIDIyLCAzLCAyMjYsIDE2OSwgMjMzLCAxMDIsIAorICAgIDY2LCAyMiwgMywgMjI2LCAxNjksIDc2LCA2NiwgMjIsIDMsIDE3NCwgNTIsIDY2LCAzLCAyNTIsIDczLCA2NiwgMywgNjcsIAorICAgIDU1LCA2NiwgMywgMjA4LCAxODMsIDY2LCAzLCAyMDgsIDE4OCwgNjYsIDMsIDI1MSwgMjI5LCA2NiwgMTA3LCAzLCAxNjksIAorICAgIDE5MCwgNjYsIDEwNywgMywgMTY5LCAyMTksIDExMywgNjYsIDEwNywgMywgMTY5LCAyMDcsIDk2LCA2NiwgMTA3LCAzLCAKKyAgICAxNjksIDE1NSwgNjYsIDEsIDIzOSwgMjMyLCAyMTcsIDE5OSwgNjYsIDE4LCAyMDUsIDg1LCA2NiwgMTgsIDEwMiwgNjYsIAorICAgIDE4LCAxMDUsIDY2LCAxOCwgMTQyLCA2NiwgMTgsIDEzOSwgNjYsIDE4LCAxNjgsIDY2LCAxOCwgMTg0LCA2NiwgMTgsIDE5NSwgCisgICAgNjYsIDE4LCAxOTMsIDY2LCAxOCwgMjAwLCA2NiwgMywgMjI5LCAxODAsIDIxNywgNzYsIDY2LCAzLCAyMTcsIDc2LCA2NiwgCisgICAgMTYsIDIyOSwgMTQxLCA2NiwgMTYsIDI0NywgMTQ5LCA2NiwgMTYsIDI1MiwgMjI0LCA2NiwgMTYsIDI0MCwgMTU0LCA2NiwgCisgICAgMSwgMjE2LCAyLCA2NiwgMSwgMjE0LCA5NiwgNjYsIDEsIDExNSwgMTM3LCA2NiwgMSwgMTE1LCAyMTgsIDkwLCA2NiwgMSwgCisgICAgMTE1LCAxNDksIDY2LCAxLCAxMTUsIDIyOSwgMTczLCA2NiwgMjIsIDMsIDExNSwgMTM3LCA2NiwgMjIsIDMsIDExNSwgMjE4LCAKKyAgICA5MCwgNjYsIDIyLCAzLCAxMTUsIDE0OSwgNjYsIDIyLCAzLCAxMTUsIDIyOSwgMTczLCA2NiwgMSwgMjI2LCAxNjksIDIyNSwgCisgICAgNzcsIDY2LCAxLCAyMjYsIDE2OSwgMjMyLCAxNzAsIDY2LCAxLCAyMjYsIDE2OSwgMjUwLCA5NywgNjYsIDEsIDIyNiwgMTY5LCAKKyAgICAyNTAsIDkyLCA2NiwgMTA3LCAzLCAyMjYsIDE2OSwgMTY5LCAxOTksIDY2LCAxMDcsIDMsIDIyNiwgMTY5LCAxNjksIDE4NSwgCisgICAgNjYsIDEwNywgMywgMjI2LCAxNjksIDE2OSwgMjMwLCAxNDEsIDY2LCAxLCAyMTYsIDgsIDIzMiwgNCwgMjE2LCAyLCA2NiwgCisgICAgMjIsIDMsIDIxNiwgOCwgMjMyLCA0LCAyNDIsIDE5MiwgNjYsIDEzNSwgMTQxLCAyMTYsIDgsIDIzMiwgNCwgMjM5LCA4MiwgCisgICAgNjYsIDEzNSwgMTQxLCAyMTYsIDgsIDIzMiwgNCwgMjMxLCAyMjUsIDIyMSwgNjYsIDY2LCAxLCAyMDcsIDM0LCAyMjAsIDM5LCAKKyAgICAyMzIsIDQsIDIxMiwgNTYsIDY2LCAxLCAyMDcsIDM0LCAyMjAsIDM5LCAyMzIsIDQsIDIyMCwgNDUsIDY2LCAyMiwgMywgCisgICAgMjA3LCAzNCwgMjIwLCAzOSwgMjMyLCA0LCAyNDIsIDE5MiwgNjYsIDIyLCAzLCAyMDcsIDM0LCAyMjAsIDM5LCAyMzIsIDQsIAorICAgIDIxMCwgMywgNjYsIDMsIDIwNywgMzQsIDIyMCwgMzksIDIzMiwgNCwgMjExLCAxMTcsIDY2LCAzLCAyMDcsIDM0LCAyMjAsIAorICAgIDM5LCAyMzIsIDQsIDIxMSwgMTE2LCA2NiwgMywgMjA3LCAzNCwgMjIwLCAzOSwgMjMyLCA0LCAyMTEsIDExNSwgNjYsIDMsIAorICAgIDIwNywgMzQsIDIyMCwgMzksIDIzMiwgNCwgMjExLCAxMTQsIDY2LCAzLCAyMDcsIDM0LCAyMjAsIDM5LCAyMzIsIDQsIDIxMSwgCisgICAgMTEzLCA2NiwgMSwgMjQzLCAxMTUsIDIyMCwgMzksIDIzMiwgNCwgMjI0LCAxMDMsIDY2LCAxLCAyNDMsIDExNSwgMjIwLCAKKyAgICAzOSwgMjMyLCA0LCAyMDUsIDE3NiwgNjYsIDEsIDI0MywgMTE1LCAyMjAsIDM5LCAyMzIsIDQsIDI0MCwgNjQsIDY2LCAyMiwgCisgICAgMywgMjQwLCAxNjYsIDIzMiwgNCwgNzQsIDY2LCAyMiwgMywgMjMxLCAyMzAsIDIyMiwgMjA2LCA2NiwgMjIsIDMsIDIzMSwgCisgICAgMjMwLCA3MSwgNjYsIDIyLCAzLCAyMzEsIDIzMCwgMjQzLCAxMDQsIDY2LCAxLCAyMTUsIDIzOCwgMTcyLCA2NiwgMSwgMjE1LCAKKyAgICAyMzgsIDIzMSwgMTY3LCA2NiwgMSwgMjE1LCAyMzgsIDI0MCwgMjQ0LCA2NiwgMSwgMjE1LCAyMzgsIDI0OSwgMSwgNjYsIDEsIAorICAgIDIxNSwgMjM4LCAyMDUsIDExNiwgNjYsIDEsIDIxNSwgMjM4LCAyMjMsIDE0NCwgNjYsIDEsIDIxNSwgMjM4LCAyNDYsIDE0NSwgCisgICAgNjYsIDEsIDIxNSwgMjM4LCAxOTksIDY2LCAxLCAyMTUsIDIzOCwgMjIxLCA5MywgNjYsIDEsIDIxNSwgMjM4LCAyNDIsIDczLCAKKyAgICA2NiwgMSwgMjE1LCAyMzgsIDI1MCwgMTgzLCA2NiwgMSwgMjE1LCAyMzgsIDIxMiwgNTYsIDY2LCAxLCAyMTUsIDIzOCwgCisgICAgMTU1LCA2NiwgMTA3LCAzLCAyMTUsIDIzOCwgMTY5LCAyMDcsIDk2LCA2NiwgMjIsIDMsIDIxNSwgMjM4LCAyNTMsIDE2NCwgCisgICAgNjYsIDIyLCAzLCAyMTUsIDIzOCwgNzUsIDY2LCAyMiwgMywgMjE1LCAyMzgsIDE3NCwgNTIsIDY2LCAyMiwgMywgMjE1LCAKKyAgICAyMzgsIDQyLCAyMDYsIDEyMywgNjYsIDMsIDIxNSwgMjM4LCAyMTEsIDExNiwgNjYsIDMsIDIxNSwgMjM4LCAyMTEsIDExNSwgCisgICAgNjYsIDMsIDIxNSwgMjM4LCAyMTEsIDExMywgNjYsIDMsIDIxNSwgMjM4LCAyMTEsIDExMiwgNjYsIDMsIDIxNSwgMjM4LCAKKyAgICAyNDcsIDgyLCAyMTEsIDExNiwgNjYsIDMsIDIxNSwgMjM4LCAyNDcsIDgyLCAyMTEsIDExNSwgNjYsIDMsIDIxNSwgMjM4LCAKKyAgICAyNDcsIDgyLCAyNDMsIDQ0LCAyMTEsIDExOCwgNjYsIDEsIDIxOCwgMzcsIDIyMiwgMjMsIDI0MiwgNzMsIDY2LCAzLCAyMTgsIAorICAgIDM3LCAyMjIsIDIzLCAyMTEsIDExMywgNjYsIDIxNSwgMjM4LCAxOCwgMjA1LCA4NSwgNjYsIDIxNSwgMjM4LCAxOCwgMTAyLCAKKyAgICA2NiwgMjE1LCAyMzgsIDE4LCAxMDUsIDY2LCAyMTUsIDIzOCwgMTgsIDE0MiwgNjYsIDIxNSwgMjM4LCAxOCwgMTM5LCA2NiwgCisgICAgMjE1LCAyMzgsIDE4LCAxNjgsIDY2LCAyMTUsIDIzOCwgMTgsIDE4NCwgNjYsIDIxNSwgMjM4LCAxOCwgMTk1LCA2NiwgMjE1LCAKKyAgICAyMzgsIDE4LCAxOTMsIDY2LCAyMTUsIDIzOCwgMTgsIDIwMCwgNjYsIDMsIDIzMSwgMTYwLCAyMTEsIDExNywgNjYsIDMsIAorICAgIDIzMSwgMTYwLCAyMTEsIDExNSwgNjYsIDIyLCAzLCAyNTIsIDE5MywgNjIsIDY2LCAyMiwgMywgMjUyLCAxOTMsIDI1MiwgCisgICAgMjA1LCA2NiwgMTYsIDIxNSwgMjM4LCAxMDIsIDY2LCAxNiwgMjE1LCAyMzgsIDI0MiwgMTY3LCAxMDgsIDYsIDEsIDI1MiwgCisgICAgMTIyLCAxMDgsIDYsIDEsIDI1MCwgMTQwLCAxMDgsIDYsIDEsIDI0MCwgMjE0LCAxMDgsIDYsIDEsIDI0NSwgMzEsIDEwOCwgCisgICAgNiwgMSwgMjQzLCA0MSwgMTA4LCA2LCAxLCAyMDgsIDE5NywgMTA4LCA2LCAxLCAyMDUsIDg4LCAxMDgsIDYsIDEsIDIxMiwgCisgICAgMTc0LCAxMDgsIDYsIDEsIDIzMywgNjgsIDEwOCwgNiwgMSwgMjMyLCAyNywgMTA4LCA2LCAxLCAyMzAsIDgyLCAxMDgsIDYsIAorICAgIDEsIDIyNywgMjIxLCAxMDgsIDYsIDEsIDIyNSwgMjAwLCAxMDgsIDYsIDEsIDIyMiwgMTY1LCAxMDgsIDYsIDEsIDIyMSwgCisgICAgMjMxLCAxMDgsIDYsIDEsIDIwNSwgNzcsIDEwOCwgNiwgMSwgMjE5LCA5NSwgMTA4LCA2LCAxLCAyMTcsIDE1MSwgMTA4LCA2LCAKKyAgICAxLCAyMTIsIDE2MiwgMTA4LCA2LCAxLCAyMDksIDIzNCwgMTA4LCA2LCAxLCAyMjEsIDg1LCAxMDgsIDYsIDEsIDIzMSwgCisgICAgMTU1LCAxMDgsIDYsIDEsIDI0MCwgOTAsIDEwOCwgNiwgMSwgMjIwLCA0LCAxMDgsIDYsIDEsIDIxNSwgMTcxLCAxMDgsIDYsIAorICAgIDEsIDI0OCwgNDUsIDEwOCwgNiwgMSwgMjQ4LCAyMjYsIDEwOCwgNiwgMSwgMjMyLCAxNTQsIDEwOCwgNiwgMSwgMjQ3LCAKKyAgICAyNDAsIDEwOCwgNiwgMSwgMjQ4LCA5NSwgMTA4LCA2LCAxLCAyMDYsIDE3OSwgMTA4LCA2LCAxLCAyMzIsIDE2NywgMTA4LCAKKyAgICA2LCAxLCAyMzksIDEzOCwgMTA4LCA2LCAxLCAyMzksIDcxLCAxMDgsIDYsIDEsIDIzOSwgNiwgMTA4LCA2LCAxLCAyMDcsIAorICAgIDUxLCAxMDgsIDYsIDEsIDIzOSwgOTUsIDEwOCwgNiwgMSwgMjM4LCAxNDYsIDEwOCwgNiwgMSwgMjA1LCAyNDksIDEwOCwgNiwgCisgICAgMSwgMjUyLCAyMzcsIDEwOCwgMSwgMjUyLCAxMjIsIDEwOCwgMSwgMjUwLCAxNDAsIDEwOCwgMSwgMjQwLCAyMTQsIDEwOCwgCisgICAgMSwgMjQ1LCAzMSwgMTA4LCAxLCAyNDMsIDQxLCAxMDgsIDEsIDIwOCwgMTk3LCAxMDgsIDEsIDIwNSwgODgsIDEwOCwgMSwgCisgICAgMjEyLCAxNzQsIDEwOCwgMSwgMjMzLCA2OCwgMTA4LCAxLCAyMzIsIDI3LCAxMDgsIDEsIDIzMCwgODIsIDEwOCwgMSwgMjI3LCAKKyAgICAyMjEsIDEwOCwgMSwgMjI1LCAyMDAsIDEwOCwgMSwgMjIyLCAxNjUsIDEwOCwgMSwgMjIxLCAyMzEsIDEwOCwgMSwgMjA1LCAKKyAgICA3NywgMTA4LCAxLCAyMTksIDk1LCAxMDgsIDEsIDIxNywgMTUxLCAxMDgsIDEsIDIxMiwgMTYyLCAxMDgsIDEsIDIwOSwgCisgICAgMjM0LCAxMDgsIDEsIDIyMSwgODUsIDEwOCwgMSwgMjMxLCAxNTUsIDEwOCwgMSwgMjQwLCA5MCwgMTA4LCAxLCAyMjAsIDQsIAorICAgIDEwOCwgMSwgMjE1LCAxNzEsIDEwOCwgMSwgMjQ4LCA0NSwgMTA4LCAxLCAyNDgsIDIyNiwgMTA4LCAxLCAyMzIsIDE1NCwgCisgICAgMTA4LCAxLCAyNDcsIDI0MCwgMTA4LCAxLCAyNDgsIDk1LCAxMDgsIDEsIDIwNiwgMTc5LCAxMDgsIDEsIDIzMiwgMTY3LCAKKyAgICAxMDgsIDEsIDIzOSwgMTM4LCAxMDgsIDEsIDIzOSwgNzEsIDEwOCwgMSwgMjM5LCA2LCAxMDgsIDEsIDIwNywgNTEsIDEwOCwgCisgICAgMSwgMjM5LCA5NSwgMTA4LCAxLCAyMzgsIDE0NiwgMTA4LCAxLCAyNDEsIDI1MCwgMTA4LCAxLCAyMDUsIDI0OSwgMTA4LCAxLCAKKyAgICAyNDMsIDU2LCAxMDgsIDEsIDIwMSwgMjQwLCAyMTQsIDEwOCwgMSwgMjUyLCAyMDAsIDEwOCwgMjIxLCAyMjksIDIxNiwgMzksIAorICAgIDY1LCAxLCAxMDgsIDIyNSwgMjAwLCAxMDgsIDEsIDI1MiwgMjM3LCAxMDgsIDEsIDIzOSwgOTQsIDUzLCAxMDgsIDEsIDIzMCwgCisgICAgMTMyLCA1MywgMjUsIDExMywgMjMxLCA4NCwgMjUsIDExMywgMjE0LCA4OCwgMjUsIDExMywgMjI0LCAyMjMsIDI1LCAxMTMsIAorICAgIDIxMSwgMTkzLCAyNSwgMTEzLCAyMTQsIDc3LCAyNSwgMTEzLCAyMTgsIDE5OCwgMjUsIDExMywgMjI2LCAyNDAsIDI1LCAKKyAgICAxMTMsIDIyMSwgMzksIDI1LCAxMTMsIDIxNCwgODUsIDI1LCAxMTMsIDIxNSwgMzMsIDI1LCAxMTMsIDIxNCwgODIsIDI1LCAKKyAgICAxMTMsIDIzMywgMTI1LCAyNSwgMTEzLCAyNDcsIDI0NiwgMjUsIDExMywgMjE0LCA5MiwgMjUsIDExMywgMjQ4LCA1NCwgMjUsIAorICAgIDExMywgMjMxLCAxNDMsIDI1LCAxMTMsIDIxMiwgMTUsIDI1LCAxMTMsIDIyMSwgNzYsIDI1LCAxMTMsIDIzOSwgMywgMjUsIAorICAgIDExMywgMjI0LCAyMTksIDI1LCAxMTMsIDIxNCwgODYsIDI1LCAxMTMsIDIyNCwgMjEzLCAyNSwgMTEzLCAyMjQsIDIxNywgCisgICAgMjUsIDExMywgMjExLCAxOTAsIDI1LCAxMTMsIDIxOCwgMTg2LCAyNSwgMTEzLCAyMTQsIDg0LCAyNSwgMTEzLCAyMTgsIAorICAgIDE5NiwgMjUsIDExMywgMjMyLCAxMCwgMjUsIDExMywgMjI2LCAyMzMsIDI1LCAxMTMsIDIzMiwgMTMsIDI1LCAxMTMsIDIyMSwgCisgICAgMzQsIDI1LCAxMTMsIDIyMSwgMzIsIDI1LCAxMTMsIDIyMSwgMjAsIDI1LCAxMTMsIDIyMSwgMjgsIDI1LCAxMTMsIDIyMSwgCisgICAgMjYsIDI1LCAxMTMsIDIyMSwgMjMsIDI1LCAxMTMsIDIyMSwgMjUsIDI1LCAxMTMsIDIyMSwgMjIsIDI1LCAxMTMsIDIyMSwgCisgICAgMjcsIDI1LCAxMTMsIDIyMSwgMzcsIDI1LCAxMTMsIDIyMSwgMzgsIDI1LCAxMTMsIDIyMSwgMjEsIDI1LCAxMTMsIDIyMSwgCisgICAgMzEsIDI1LCAxMTMsIDIzMiwgMTEsIDI1LCAxMTMsIDIzMiwgOSwgMjUsIDExMywgMjE1LCAyNiwgMjUsIDExMywgMjE1LCAKKyAgICAyNCwgMjUsIDExMywgMjE1LCAxNiwgMjUsIDExMywgMjE1LCAxOSwgMjUsIDExMywgMjE1LCAyNSwgMjUsIDExMywgMjE1LCAKKyAgICAyMSwgMjUsIDExMywgMjE1LCAyMCwgMjUsIDExMywgMjE1LCAxOCwgMjUsIDExMywgMjE1LCAyOSwgMjUsIDExMywgMjE1LCAKKyAgICAzMSwgMjUsIDExMywgMjE1LCAzMiwgMjUsIDExMywgMjE1LCAyNywgMjUsIDExMywgMjE1LCAxNywgMjUsIDExMywgMjE1LCAKKyAgICAyMiwgMjUsIDExMywgMjE1LCAzMCwgMjUsIDExMywgMjQ4LCAzNiwgMjUsIDExMywgMjQ4LCAzNCwgMjUsIDExMywgMjQ4LCAKKyAgICAxMjEsIDI1LCAxMTMsIDI0OCwgMTE5LCAyNSwgMTEzLCAyMjEsIDI0NywgMjUsIDExMywgMjMzLCAxMjAsIDI1LCAxMTMsIAorICAgIDIzMywgMTExLCAyNSwgMTEzLCAyMzMsIDExOSwgMjUsIDExMywgMjMzLCAxMTYsIDI1LCAxMTMsIDIzMywgMTE0LCAyNSwgCisgICAgMTEzLCAyMzMsIDExOCwgMjUsIDExMywgMjE0LCA4OSwgMjUsIDExMywgMjMzLCAxMjMsIDI1LCAxMTMsIDIzMywgMTI0LCAKKyAgICAyNSwgMTEzLCAyMzMsIDExMiwgMjUsIDExMywgMjMzLCAxMTcsIDI1LCAxMTMsIDIwNiwgMjksIDI1LCAxMTMsIDI0NywgCisgICAgMjQ1LCAyNSwgMTEzLCAyNDgsIDM3LCAyNSwgMTEzLCAyNDgsIDM1LCAyNSwgMTEzLCAyNDgsIDEyMiwgMjUsIDExMywgMjQ4LCAKKyAgICAxMjAsIDI1LCAxMTMsIDI0OCwgNTIsIDI1LCAxMTMsIDI0OCwgNTMsIDI1LCAxMTMsIDI0OCwgMzgsIDI1LCAxMTMsIDI0OCwgCisgICAgMTIzLCAyNSwgMTEzLCAyMjEsIDc0LCAyNSwgMTEzLCAyMzIsIDEyLCAyNSwgMTEzLCAyMTQsIDkwLCAyNSwgMTEzLCAyMDYsIAorICAgIDM1LCAyNSwgMTEzLCAyMzEsIDc1LCAyNSwgMTEzLCAyMjQsIDIxNSwgMjUsIDExMywgMjI0LCAyMjEsIDI1LCAxMTMsIDIyNCwgCisgICAgMjIwLCAyNSwgMTEzLCAyMTEsIDE4NywgMjUsIDExMywgMjQxLCAyMzIsIDI1LCAxNjIsIDI0MSwgMjMyLCAyNSwgMTYyLCAKKyAgICA2MiwgMjUsIDE2MiwgMjUyLCAyNDgsIDI1LCAxNjIsIDE5MCwgMjUsIDE2MiwgMjA2LCA5OCwgMjUsIDE2MiwgMjQzLCA2LCAKKyAgICAyNSwgMTYyLCA3NSwgMjUsIDE2MiwgMjA2LCAzOSwgMjUsIDE2MiwgMjA2LCA1MiwgMjUsIDE2MiwgNzYsIDI1LCAxNjIsIAorICAgIDIwNywgOTYsIDI1LCAxNjIsIDIwNywgOTIsIDI1LCAxNjIsIDIyMiwgMjA2LCAyNSwgMTYyLCAyMDUsIDI0NywgMjUsIDE2MiwgCisgICAgNzEsIDI1LCAxNjIsIDIwNywgMzgsIDI1LCAxNjIsIDIwNywgNTEsIDI1LCAxNjIsIDIwNywgMjAsIDI1LCAxNjIsIDIwNSwgCisgICAgMjEzLCAyNSwgMTYyLCAyNDIsIDE5MiwgMjUsIDE2MiwgMjA2LCAxMSwgMjUsIDE2MiwgNzQsIDI1LCAxNjIsIDI1NCwgMjUyLCAKKyAgICAyNSwgMTYyLCAyNTQsIDI1MSwgMjUsIDE2MiwgMjA2LCAxMTIsIDI1LCAxNjIsIDIwNiwgMTEwLCAyNSwgMTYyLCAyNDMsIDQsIAorICAgIDI1LCAxNjIsIDI0MywgMywgMjUsIDE2MiwgMjQzLCA1LCAyNSwgMTYyLCAyMDYsIDM4LCAyNSwgMTYyLCAyMDYsIDM3LCAyNSwgCisgICAgMTYyLCAyMjMsIDU4LCAyNSwgMTYyLCAyMjMsIDU5LCAyNSwgMTYyLCAyMjMsIDUyLCAyNSwgMTYyLCAyMjMsIDU3LCAyNSwgCisgICAgMTYyLCAyMjMsIDU1LCAyNSwgMTYyLCAyMDUsIDI0MSwgMjUsIDE2MiwgMjA1LCAyNDAsIDI1LCAxNjIsIDIwNSwgMjM5LCAKKyAgICAyNSwgMTYyLCAyMDUsIDI0MiwgMjUsIDE2MiwgMjA1LCAyNDMsIDI1LCAxNjIsIDIxMCwgNzYsIDI1LCAxNjIsIDIxMCwgNzUsIAorICAgIDI1LCAxNjIsIDIxMCwgNzMsIDI1LCAxNjIsIDIxMCwgNjksIDI1LCAxNjIsIDIxMCwgNzAsIDI1LCAxNjIsIDIwNSwgMjEyLCAKKyAgICAyNSwgMTYyLCAyMDUsIDIwOSwgMjUsIDE2MiwgMjA1LCAyMTAsIDI1LCAxNjIsIDIwNSwgMjA0LCAyNSwgMTYyLCAyMDUsIAorICAgIDIwNSwgMjUsIDE2MiwgMjA1LCAyMDYsIDI1LCAxNjIsIDIwNSwgMjA4LCAyNSwgMTYyLCAyNDIsIDE4NiwgMjUsIDE2MiwgCisgICAgMjQyLCAxODgsIDI1LCAxNjIsIDIwNiwgMTAsIDI1LCAxNjIsIDIzNywgMjI0LCAyNSwgMTYyLCAyMzcsIDIxNiwgMjUsIAorICAgIDE2MiwgMjM3LCAyMTksIDI1LCAxNjIsIDIzNywgMjE3LCAyNSwgMTYyLCAyMzcsIDIyMSwgMjUsIDE2MiwgMjM3LCAyMjMsIAorICAgIDI1LCAxNjIsIDI1MiwgMzAsIDI1LCAxNjIsIDI1MiwgMjcsIDI1LCAxNjIsIDI1MiwgMjUsIDI1LCAxNjIsIDI1MiwgMjYsIAorICAgIDI1LCAxNjIsIDIxNCwgOTMsIDI1LCAxNjIsIDI1NCwgMjUzLCAyNSwgMTYyLCAyMDYsIDExMSwgMjUsIDE2MiwgMjA2LCAzNiwgCisgICAgMjUsIDE2MiwgMjIzLCA1NCwgMjUsIDE2MiwgMjIzLCA1MywgMjUsIDEwMCwgMjMxLCA4NCwgMjUsIDEwMCwgMjE0LCA4OCwgCisgICAgMjUsIDEwMCwgMjMxLCA3NywgMjUsIDEwMCwgMjI0LCAyMjMsIDI1LCAxMDAsIDIyNCwgMjIxLCAyNSwgMTAwLCAyMjQsIAorICAgIDIyMCwgMjUsIDEwMCwgMjExLCAxOTMsIDI1LCAxMDAsIDIxOCwgMTk4LCAyNSwgMTAwLCAyMTgsIDE5MywgMjUsIDEwMCwgCisgICAgMjE4LCAxOTAsIDI1LCAxMDAsIDIxOCwgMTgzLCAyNSwgMTAwLCAyMTgsIDE3OCwgMjUsIDEwMCwgMjE4LCAxNzMsIDI1LCAKKyAgICAxMDAsIDIxOCwgMTg0LCAyNSwgMTAwLCAyMTgsIDE5NiwgMjUsIDEwMCwgMjI2LCAyNDAsIDI1LCAxMDAsIDIyMSwgMzksIAorICAgIDI1LCAxMDAsIDIyMSwgMjgsIDI1LCAxMDAsIDIxNSwgMzMsIDI1LCAxMDAsIDIxNCwgODIsIDI1LCAxMDAsIDIzMywgMTI1LCAKKyAgICAyNSwgMTAwLCAyNDcsIDI0NiwgMjUsIDEwMCwgMjQ4LCA1NCwgMjUsIDEwMCwgMjMxLCAxNDMsIDI1LCAxMDAsIDIxMiwgMTUsIAorICAgIDI1LCAxMDAsIDIyMSwgNzYsIDI1LCAxMDAsIDIzOSwgMywgMjUsIDEwMCwgMjMxLCA3OCwgMjUsIDEwMCwgMjMxLCA3NiwgCisgICAgMjUsIDEwMCwgMjI0LCAyMTksIDI1LCAxMDAsIDIyNCwgMjEzLCAyNSwgMTAwLCAyMjQsIDIxNSwgMjUsIDEwMCwgMjI0LCAKKyAgICAyMTgsIDI1LCAxMDAsIDIyNCwgMjE0LCAyNSwgMTAwLCAyMTEsIDE5MCwgMjUsIDEwMCwgMjExLCAxODcsIDI1LCAxMDAsIAorICAgIDIxOCwgMTkxLCAyNSwgMTAwLCAyMTgsIDE4NiwgMjUsIDEwMCwgMjE4LCAxNzIsIDI1LCAxMDAsIDIxOCwgMTcxLCAyNSwgCisgICAgMTAwLCAyMTQsIDg0LCAyNSwgMTAwLCAyMTgsIDE4OCwgMjUsIDEwMCwgMjE4LCAxODcsIDI1LCAxMDAsIDIxOCwgMTgwLCAKKyAgICAyNSwgMTAwLCAyMTgsIDE4MiwgMjUsIDEwMCwgMjE4LCAxOTUsIDI1LCAxMDAsIDIxOCwgMTc1LCAyNSwgMTAwLCAyMTgsIAorICAgIDE4NSwgMjUsIDEwMCwgMjE4LCAxOTQsIDI1LCAxMDAsIDIxOCwgMTcwLCAyNSwgMTAwLCAyMjYsIDIzNiwgMjUsIDEwMCwgCisgICAgMjI2LCAyMzEsIDI1LCAxMDAsIDIyNiwgMjMzLCAyNSwgMTAwLCAyMjYsIDIzMCwgMjUsIDEwMCwgMjI2LCAyMjgsIDI1LCAKKyAgICAxMDAsIDIyNiwgMjM0LCAyNSwgMTAwLCAyMjYsIDIzOSwgMjUsIDEwMCwgMjI2LCAyMzcsIDI1LCAxMDAsIDIzMiwgMTMsIAorICAgIDI1LCAxMDAsIDIyMSwgMzAsIDI1LCAxMDAsIDIyMSwgMzEsIDI1LCAxMDAsIDIyMSwgMzYsIDI1LCAxMDAsIDIzMiwgMTEsIAorICAgIDI1LCAxMDAsIDIxNSwgMjYsIDI1LCAxMDAsIDIxNSwgMTYsIDI1LCAxMDAsIDIxNSwgMTksIDI1LCAxMDAsIDIxNSwgMjEsIAorICAgIDI1LCAxMDAsIDIyMSwgMjQ3LCAyNSwgMTAwLCAyMzMsIDEyMCwgMjUsIDEwMCwgMjMzLCAxMTMsIDI1LCAxMDAsIDIxNCwgCisgICAgODksIDI1LCAxMDAsIDIzMywgMTIxLCAyNSwgMTAwLCAyMDYsIDI5LCAyNSwgMTAwLCAyMDYsIDI1LCAyNSwgMTAwLCAyMDYsIAorICAgIDI2LCAyNSwgMTAwLCAyMjEsIDc0LCAyNSwgMTAwLCAyMzIsIDEyLCAyNSwgMTAwLCAyMzksIDEsIDI1LCAxMDAsIDIzOCwgCisgICAgMjU1LCAyNSwgMTAwLCAyMzksIDIsIDI1LCAxMDAsIDIzOSwgMCwgMjUsIDEwMCwgMjA2LCAzNSwgMjUsIDEwMCwgMjMxLCAKKyAgICA4MCwgMjUsIDEwMCwgMjMxLCA3OSwgMjUsIDEwMCwgMjMxLCA4MywgMjUsIDEwMCwgMjMxLCA4MSwgMjUsIDEwMCwgMjMxLCAKKyAgICA4MiwgMjUsIDEwMCwgMjE0LCA4NiwgMzEsIDQsIDE1NSwgMzEsIDQsIDIzOCwgNDIsIDMxLCA0LCAyMzksIDExLCAzMSwgNCwgCisgICAgMjM5LCAxNDEsIDMxLCA0LCAyMzksIDUzLCAzMSwgNCwgMjM5LCA3MSwgMzEsIDQsIDIzOCwgMTQ5LCAzMSwgNCwgMjM4LCAKKyAgICAxNDgsIDMxLCA0LCAyMzAsIDE0MSwgMzEsIDQsIDIyOSwgODEsIDMxLCA0LCAyMjksIDIzNSwgMzEsIDQsIDIzMCwgMTQwLCAKKyAgICAzMSwgNCwgMjMwLCA1MCwgMzEsIDQsIDIzMCwgNTgsIDMxLCA0LCAyMjksIDE0NCwgMzEsIDQsIDIyOSwgNTAsIDMxLCA0LCAKKyAgICAyMzksIDIwLCAzMSwgNCwgMjM5LCAxNCwgMzEsIDQsIDIzOSwgMTYsIDMxLCA0LCAyMzksIDE5LCAzMSwgNCwgMjM5LCAxNywgCisgICAgMzEsIDQsIDIzOSwgMTgsIDMxLCA0LCAyMzksIDE1LCAzMSwgNCwgMjM5LCAxMywgMzEsIDQsIDE4NSwgMzEsIDQsIDIyNiwgCisgICAgMTE0LCAzMSwgNCwgMjI2LCAyNTQsIDMxLCA0LCAyMjgsIDE4LCAzMSwgNCwgMjI3LCAxMDcsIDMxLCA0LCAyMjcsIDExOSwgCisgICAgMzEsIDQsIDIyNiwgMTgxLCAzMSwgNCwgMjI2LCA1MCwgMzEsIDQsIDIxMywgMjEsIDMxLCA0LCAyMTMsIDE1LCAzMSwgNCwgCisgICAgMjEzLCAxNywgMzEsIDQsIDIxMywgMjAsIDMxLCA0LCAyMTMsIDE4LCAzMSwgNCwgMjEzLCAxOSwgMzEsIDQsIDIxMywgMTYsIAorICAgIDMxLCA0LCAyMTMsIDE0LCAzMSwgNCwgMjE5LCAxMTMsIDMxLCA0LCAyMTgsIDUwLCAzMSwgNCwgMjE4LCAyMDgsIDMxLCA0LCAKKyAgICAyMTksIDEwOSwgMzEsIDQsIDIxOSwgMjksIDMxLCA0LCAyMTksIDUxLCAzMSwgNCwgMjE4LCAxMjQsIDMxLCA0LCAyMTgsIAorICAgIDE4LCAzMSwgNCwgMjE3LCAxOTksIDMxLCA0LCAyMTMsIDIwMywgMzEsIDQsIDIxNSwgODAsIDMxLCA0LCAyMTcsIDE5NiwgCisgICAgMzEsIDQsIDIxNywgNzQsIDMxLCA0LCAyMTcsIDg2LCAzMSwgNCwgMjE0LCAxOTMsIDMxLCA0LCAyMTMsIDExMiwgMzEsIDQsIAorICAgIDIxNiwgMiwgMzEsIDQsIDIxNSwgMTE2LCAzMSwgNCwgMjE1LCAxODMsIDMxLCA0LCAyMTUsIDI1NCwgMzEsIDQsIDIxNSwgCisgICAgMjEyLCAzMSwgNCwgMjE1LCAyMTQsIDMxLCA0LCAyMTUsIDE1OCwgMzEsIDQsIDIxNSwgOTgsIDMxLCA0LCAyMjAsIDE5LCAKKyAgICAzMSwgNCwgMjE5LCAyMTQsIDMxLCA0LCAyMTksIDIzNywgMzEsIDQsIDIyMCwgMTgsIDMxLCA0LCAyMTksIDI1NCwgMzEsIDQsIAorICAgIDIxOSwgMjU1LCAzMSwgNCwgMjE5LCAyMjYsIDMxLCA0LCAyMTksIDIyNSwgMzEsIDQsIDIxOSwgMTY4LCAzMSwgNCwgMjE5LCAKKyAgICAxNjQsIDMxLCA0LCAyMTksIDE2NywgMzEsIDQsIDIxOSwgMTY1LCAzMSwgNCwgMjE5LCAxNjYsIDMxLCA0LCAyMTksIDI1MSwgCisgICAgMzEsIDQsIDIxOSwgMjQzLCAzMSwgNCwgMjE5LCAyNDYsIDMxLCA0LCAyMTksIDI1MCwgMzEsIDQsIDIxOSwgMjQ3LCAzMSwgCisgICAgNCwgMjE5LCAyNDgsIDMxLCA0LCAyMTksIDI0NSwgMzEsIDQsIDIxOSwgMjQyLCAzMSwgNCwgMjE5LCAyMzgsIDMxLCA0LCAKKyAgICAyMTksIDI0MSwgMzEsIDQsIDIxOSwgMjM5LCAzMSwgNCwgMjE5LCAyNDAsIDMxLCA0LCAyNTAsIDE4MywgMzEsIDQsIDI0OSwgCisgICAgMTAxLCAzMSwgNCwgMjQ5LCAyNDQsIDMxLCA0LCAyNTAsIDE4MSwgMzEsIDQsIDI1MCwgNTAsIDMxLCA0LCAyNTAsIDYxLCAKKyAgICAzMSwgNCwgMjQ5LCAxODQsIDMxLCA0LCAyNDksIDUxLCAzMSwgNCwgMjA5LCA3MCwgMzEsIDQsIDIwNywgMTQ4LCAzMSwgNCwgCisgICAgMjA4LCAyMTQsIDMxLCA0LCAyMDksIDY5LCAzMSwgNCwgMjA5LCAzNCwgMzEsIDQsIDIwOSwgMzksIDMxLCA0LCAyMDgsIAorICAgIDE3MywgMzEsIDQsIDIwNywgMTM5LCAzMSwgNCwgMjEyLCAyMTksIDMxLCA0LCAyMTAsIDE3MCwgMzEsIDQsIDIxMSwgMjExLCAKKyAgICAzMSwgNCwgMjEyLCAyMTUsIDMxLCA0LCAyMTIsIDEyMCwgMzEsIDQsIDIxMiwgMTMxLCAzMSwgNCwgMTI0LCAzMSwgNCwgCisgICAgMjEwLCAxMzAsIDMxLCA0LCAyNDksIDEsIDMxLCA0LCAyNDcsIDQwLCAzMSwgNCwgMjQ3LCAyNTEsIDMxLCA0LCAyNDksIDAsIAorICAgIDMxLCA0LCAyNDgsIDE0MCwgMzEsIDQsIDI0OCwgMTQ4LCAzMSwgNCwgMjQ3LCAxNzQsIDMxLCA0LCAyNDcsIDcsIDMxLCA0LCAKKyAgICAyMDYsIDE4MSwgMzEsIDQsIDIwNiwgMTUxLCAzMSwgNCwgMjA2LCAxNjksIDMxLCA0LCAyMDYsIDE4MCwgMzEsIDQsIDIwNiwgCisgICAgMTc0LCAzMSwgNCwgMjA2LCAxNzUsIDMxLCA0LCAyMDYsIDE1OSwgMzEsIDQsIDIwNiwgMTU4LCAzMSwgNCwgMjA2LCAxNDUsIAorICAgIDMxLCA0LCAyMDYsIDE0MSwgMzEsIDQsIDIwNiwgMTQ0LCAzMSwgNCwgMjA2LCAxNDIsIDMxLCA0LCAyMDYsIDE0MywgMzEsIAorICAgIDQsIDE5OSwgMzEsIDQsIDIyMywgMjE3LCAzMSwgNCwgMjI0LCAyMzAsIDMxLCA0LCAyMjUsIDIzMiwgMzEsIDQsIDIyNSwgCisgICAgMTA2LCAzMSwgNCwgMjI1LCAxMTAsIDMxLCA0LCAyMjQsIDY3LCAzMSwgNCwgMjIzLCAxNTMsIDMxLCA0LCAyMjMsIDE0NCwgCisgICAgMzEsIDQsIDIyMywgMTAzLCAzMSwgNCwgMjIzLCAxMjUsIDMxLCA0LCAyMjMsIDE0MywgMzEsIDQsIDIyMywgMTMzLCAzMSwgCisgICAgNCwgMjIzLCAxMzQsIDMxLCA0LCAyMjMsIDExMCwgMzEsIDQsIDIyMywgOTMsIDMxLCA0LCAyNDAsIDI1LCA2MiwgMzEsIDQsIAorICAgIDI0MCwgMjUsIDcxLCAzMSwgNCwgMjQwLCAyNSwgNzQsIDMxLCA0LCAyNDAsIDI1LCAyNTMsIDE2NCwgMzEsIDQsIDI0MCwgCisgICAgMjUsIDI0MywgMTA0LCAzMSwgNCwgMjQwLCAyNSwgNzUsIDMxLCA0LCAyNDAsIDI1LCA3NiwgMzEsIDQsIDI0MCwgMjUsIAorICAgIDIwNywgOTYsIDMxLCA0LCAxNzIsIDMxLCA0LCAyMzAsIDIzNiwgMzEsIDQsIDIzMSwgMTIzLCAzMSwgNCwgMjMyLCA2MywgCisgICAgMzEsIDQsIDIzMSwgMjIxLCAzMSwgNCwgMjMxLCAyMjQsIDMxLCA0LCAyMzEsIDUzLCAzMSwgNCwgMjMxLCA1MiwgMzEsIDQsIAorICAgIDIzMCwgMTk1LCAzMSwgNCwgMjMwLCAxODgsIDMxLCA0LCAyMzAsIDE5NCwgMzEsIDQsIDIzMCwgMTg5LCAzMSwgNCwgMjMwLCAKKyAgICAxOTAsIDMxLCA0LCAyMzAsIDE4MSwgMzEsIDQsIDIzMCwgMTc1LCAzMSwgNCwgMjMwLCAxNzcsIDMxLCA0LCAyMzAsIDE4MCwgCisgICAgMzEsIDQsIDIzMCwgMTc4LCAzMSwgNCwgMjMwLCAxNzksIDMxLCA0LCAyMzAsIDE3NiwgMzEsIDQsIDIzMCwgMTc0LCAzMSwgCisgICAgNCwgMjMwLCAxNzAsIDMxLCA0LCAyMzAsIDE3MywgMzEsIDQsIDIzMCwgMTcxLCAzMSwgNCwgMjMwLCAxNzIsIDMxLCA0LCAKKyAgICAyMDcsIDk2LCAzMSwgNCwgMjA2LCAyMTYsIDMxLCA0LCAyMDcsIDIwLCAzMSwgNCwgMjA3LCA5NSwgMzEsIDQsIDIwNywgNDUsIAorICAgIDMxLCA0LCAyMDcsIDUxLCAzMSwgNCwgMjA2LCAyNTAsIDMxLCA0LCAyMDYsIDI0OSwgMzEsIDQsIDIyMSwgODQsIDYyLCAzMSwgCisgICAgNCwgMjIxLCA4NCwgNzEsIDMxLCA0LCAyMjEsIDg0LCA3NCwgMzEsIDQsIDIyMSwgODQsIDI1MywgMTY0LCAzMSwgNCwgMjIxLCAKKyAgICA4NCwgMjQzLCAxMDQsIDMxLCA0LCAyMjEsIDg0LCA3NSwgMzEsIDQsIDIyMSwgODQsIDc2LCAzMSwgNCwgMjA1LCAxMTYsIAorICAgIDMxLCA0LCAyMDUsIDksIDMxLCA0LCAyMDUsIDQwLCAzMSwgNCwgMjA1LCAxMTUsIDMxLCA0LCAyMDUsIDkxLCAzMSwgNCwgCisgICAgMjA1LCA5MywgMzEsIDQsIDIwNSwgMTksIDMxLCA0LCAyMDQsIDI1MiwgMzEsIDQsIDIwNSwgODEsIDMxLCA0LCAyMDUsIDU4LCAKKyAgICAzMSwgNCwgMjA1LCA2NywgMzEsIDQsIDIwNSwgODAsIDMxLCA0LCAyMDUsIDcxLCAzMSwgNCwgMjA1LCA3MiwgMzEsIDQsIAorICAgIDIwNSwgNjQsIDMxLCA0LCAyMDUsIDQ5LCAzMSwgNCwgMTkwLCAzMSwgNCwgMjA1LCAyMTMsIDMxLCA0LCAyMDYsIDExLCAzMSwgCisgICAgNCwgMjA2LCAxMDksIDMxLCA0LCAyMDYsIDQ5LCAzMSwgNCwgMjA2LCA1MiwgMzEsIDQsIDIwNSwgMjQ3LCAzMSwgNCwgMjA1LCAKKyAgICAyMzgsIDMxLCA0LCAyNDYsIDE0NSwgMzEsIDQsIDI0MywgMjM3LCAzMSwgNCwgMjQ1LCAxNjgsIDMxLCA0LCAyNDYsIDE0NCwgCisgICAgMzEsIDQsIDI0NSwgMjUxLCAzMSwgNCwgMjQ2LCA5LCAzMSwgNCwgMjQ1LCA1MSwgMzEsIDQsIDI0MywgMjA2LCAzMSwgNCwgCisgICAgMjQ2LCA1NCwgMzEsIDQsIDI0NiwgMTksIDMxLCA0LCAyNDYsIDMxLCAzMSwgNCwgMjQ2LCA1MywgMzEsIDQsIDI0NiwgNDEsIAorICAgIDMxLCA0LCAyNDYsIDQyLCAzMSwgNCwgMjQ2LCAyNCwgMzEsIDQsIDI0NiwgMTAsIDMxLCA0LCAyMzIsIDIwMCwgMzEsIDQsIAorICAgIDIzMiwgMTA0LCAzMSwgNCwgMjMyLCAxNjIsIDMxLCA0LCAyMzIsIDE5OSwgMzEsIDQsIDIzMiwgMTgwLCAzMSwgNCwgMjMyLCAKKyAgICAxODIsIDMxLCA0LCAyMzIsIDEyMiwgMzEsIDQsIDIzMiwgODQsIDMxLCA0LCAyNDAsIDI0NCwgMzEsIDQsIDIzOSwgMjEzLCAKKyAgICAzMSwgNCwgMjQwLCA2MSwgMzEsIDQsIDI0MCwgMjQxLCAzMSwgNCwgMjQwLCAxNjIsIDMxLCA0LCAyNDAsIDE3MCwgMzEsIDQsIAorICAgIDI0MCwgMTksIDMxLCA0LCAyNDAsIDE4LCAzMSwgNCwgMjM5LCAxNzQsIDMxLCA0LCAyMzksIDE3MCwgMzEsIDQsIDIzOSwgCisgICAgMTczLCAzMSwgNCwgMjM5LCAxNzEsIDMxLCA0LCAyMzksIDE3MiwgMzEsIDQsIDI0MCwgMTM1LCAzMSwgNCwgMjQwLCAxMTUsIAorICAgIDMxLCA0LCAyNDAsIDEyNSwgMzEsIDQsIDI0MCwgMTM0LCAzMSwgNCwgMjQwLCAxMjksIDMxLCA0LCAyNDAsIDEzMCwgMzEsIAorICAgIDQsIDI0MCwgMTE5LCAzMSwgNCwgMjQwLCAxMDQsIDMxLCA0LCAyMTIsIDU2LCAzMSwgNCwgMjExLCAyMzAsIDMxLCA0LCAKKyAgICAyMTIsIDE5LCAzMSwgNCwgMjEyLCA1NSwgMzEsIDQsIDIxMiwgMzksIDMxLCA0LCAyMTIsIDQxLCAzMSwgNCwgMjExLCAyNTMsIAorICAgIDMxLCA0LCAyMTEsIDIyMiwgMzEsIDQsIDI0OCwgMTEwLCAzMSwgNCwgMjQ4LCAxNCwgMzEsIDQsIDI0OCwgNTgsIDMxLCA0LCAKKyAgICAyNDgsIDEwOSwgMzEsIDQsIDI0OCwgNzgsIDMxLCA0LCAyNDgsIDgyLCAzMSwgNCwgMjQ4LCAzMiwgMzEsIDQsIDI0OCwgMywgCisgICAgMzEsIDQsIDIyMSwgOTMsIDMxLCA0LCAyMjEsIDU5LCAzMSwgNCwgMjIxLCA3OCwgMzEsIDQsIDIyMSwgOTIsIDMxLCA0LCAKKyAgICAyMjEsIDgwLCAzMSwgNCwgMjIxLCA4MSwgMzEsIDQsIDIyMSwgNjYsIDMxLCA0LCAyMjEsIDU1LCAzMSwgNCwgMjEwLCAyNDMsIAorICAgIDMxLCA0LCAyMTAsIDIxNiwgMzEsIDQsIDIxMCwgMjIyLCAzMSwgNCwgMjEwLCAyNDIsIDMxLCA0LCAyMTAsIDIzNiwgMzEsIAorICAgIDQsIDIxMCwgMjM3LCAzMSwgNCwgMjEwLCAyMjAsIDMxLCA0LCAyMTAsIDIxNCwgMzEsIDQsIDIxMCwgODUsIDMxLCA0LCAKKyAgICAyMTAsIDc3LCAzMSwgNCwgMjEwLCA4MSwgMzEsIDQsIDIxMCwgODQsIDMxLCA0LCAyMTAsIDgyLCAzMSwgNCwgMjEwLCA4MywgCisgICAgMzEsIDQsIDIxMCwgNzksIDMxLCA0LCAyMTAsIDc4LCAzMSwgNCwgMjQyLCA3MywgMzEsIDQsIDI0MSwgODgsIDMxLCA0LCAKKyAgICAyNDEsIDI1MCwgMzEsIDQsIDI0MiwgNzIsIDMxLCA0LCAyNDIsIDIxLCAzMSwgNCwgMjQyLCAyOCwgMzEsIDQsIDI0MSwgCisgICAgMTYyLCAzMSwgNCwgMjQxLCA2NiwgMzEsIDQsIDE3OSwgMzEsIDQsIDIyMCwgODIsIDMxLCA0LCAyMjEsIDUzLCAzMSwgNCwgCisgICAgMjIyLCA1MSwgMzEsIDQsIDIyMSwgMTY0LCAzMSwgNCwgMjIxLCAxNzQsIDMxLCA0LCAyMjAsIDIxMSwgMzEsIDQsIDIyMCwgCisgICAgNDUsIDMxLCA0LCAyMTgsIDgsIDMxLCA0LCAyMjYsIDM5LCAzMSwgNCwgMjQxLCA2MCwgMzEsIDM2LCAyNDAsIDE1OSwgMjMsIAorICAgIDIyLCAyMzAsIDIwLCA4MywgMzEsIDM2LCAyMiwgMjMwLCAyMCwgODMsIDMxLCAzNiwgMjQwLCAxNTksIDgzLCAzMSwgMjE3LCAKKyAgICA3NywgODMsIDMxLCAyMDYsIDIzMSwgMzEsIDI0MSwgODIsIDIxMywgMjUxLCAzMSwgMjQ3LCAxNTUsIDMxLCAyMTYsIDUyLCAKKyAgICAzMSwgMjQ3LCAxNjIsIDMxLCAyMjAsIDEzNiwgMjQ3LCAxNjIsIDMxLCAyMTksIDE5NiwgODMsIDMxLCAyMjEsIDIyOSwgCisgICAgMjE2LCAzOSwgMzEsIDE4LCAxMDIsIDMxLCAxOCwgMTA1LCAzMSwgMTgsIDE0MiwgMzEsIDE4LCAxMzksIDMxLCAxOCwgMTY4LCAKKyAgICAzMSwgMTgsIDE4NCwgMzEsIDE4LCAxOTUsIDMxLCAxOCwgMTkzLCAzMSwgMTgsIDIwMCwgMzEsIDQzLCAyMTIsIDk4LCAzMSwgCisgICAgNDMsIDIxMCwgMTIzLCAzMSwgNDMsIDIxMiwgMywgMzEsIDQzLCAyNDEsIDEzMCwgMzEsIDQzLCAyNDEsIDI0MywgMzEsIDQzLCAKKyAgICAyMTQsIDI1MiwgMzEsIDQzLCAyMTYsIDE3LCAzMSwgNDMsIDI0MywgNzksIDMxLCA0MywgMjI0LCAxOTAsIDMxLCA0MywgCisgICAgMjM4LCAyOSwgMzEsIDQzLCAyMTIsIDk5LCAyMTEsIDI0MiwgMzEsIDQsIDIxNywgODIsIDIyNiwgNTAsIDMxLCA0LCAyMjYsIAorICAgIDQ2LCAzMSwgNCwgMjI2LCA0NywgMzEsIDQsIDIyNiwgNDgsIDMxLCA0LCAyMTcsIDgyLCAyNDksIDUxLCAzMSwgNCwgMjQ5LCAKKyAgICA0OCwgMzEsIDQsIDI0OSwgNDksIDMxLCA0LCAyNDksIDUwLCAzMSwgNCwgMjE3LCA4MiwgMjQxLCA2NiwgMzEsIDQsIDI0MSwgCisgICAgNjIsIDMxLCA0LCAyNDEsIDYzLCAzMSwgNCwgMjQxLCA2NCwgMzEsIDQsIDIxNywgODIsIDIyMCwgNDUsIDMxLCA0LCAyMjAsIAorICAgIDQxLCAzMSwgNCwgMjIwLCA0MiwgMzEsIDQsIDIyMCwgNDMsIDMxLCAyMTEsIDExOSwgMTQxLCAyMDUsIDI1MCwgMzEsIDIxMSwgCisgICAgMTE5LCAxNDEsIDI0NSwgMjEzLCAzMSwgMjExLCAxMTksIDE0MSwgMjE4LCAxNTMsIDMxLCAyMTEsIDExOSwgMTQxLCAyMTUsIAorICAgIDE0NCwgMjE4LCAxNTMsIDMxLCAyMTEsIDExOSwgMTQxLCAyNDUsIDE0MiwgMzEsIDIxMSwgMTE5LCAxNDEsIDIzMSwgMjAyLCAKKyAgICAzMSwgMjExLCAxMTksIDE0MSwgMjQ4LCA0MCwgMzEsIDIxMSwgMTE5LCAxNDEsIDIzOSwgOCwgMzEsIDIxMSwgMTE5LCAxNDEsIAorICAgIDI0NSwgMjEyLCAzMSwgMjExLCAxMTksIDE0MSwgMjMwLCAyMDgsIDE5MiwgMSwgNjIsIDE5MiwgMSwgNzUsIDE5MiwgMSwgCisgICAgNzQsIDE5MiwgMSwgNzYsIDE5MiwgMSwgNzEsIDE5MiwgMSwgMjA5LCAxNDgsIDE5MiwgMSwgMjQwLCAyNDQsIDE5MiwgMSwgCisgICAgMTcyLCAxOTIsIDEsIDI0MCwgMTcwLCAxOTIsIDEsIDI0MCwgNjEsIDE5MiwgMSwgMjQwLCAxOSwgMTkyLCAxLCAyMzksIAorICAgIDIxMywgMTkyLCAxLCAyMzksIDE3NiwgMTkyLCAxLCAxNTUsIDE5MiwgMSwgMjM5LCA3MSwgMTkyLCAxLCAyMzksIDExLCAKKyAgICAxOTIsIDEsIDIzOCwgMTQ5LCAxOTIsIDEsIDIzOCwgNDIsIDE5MiwgMSwgMjM4LCAxNywgMTkyLCAxLCAyMzAsIDE0MSwgCisgICAgMTkyLCAxLCAyMzAsIDU4LCAxOTIsIDEsIDIyOSwgMjM1LCAxOTIsIDEsIDIyOSwgMTQ0LCAxOTIsIDEsIDIyOSwgODEsIAorICAgIDE5MiwgMSwgMjI5LCA1MSwgMTkyLCAxLCAxODUsIDE5MiwgMSwgMjI3LCAxMTksIDE5MiwgMSwgMjI2LCAyNTQsIDE5MiwgMSwgCisgICAgMjI2LCAxODEsIDE5MiwgMSwgMjI2LCAxMTQsIDE5MiwgMSwgMTk5LCAxOTIsIDEsIDIzOCwgMTczLCAxOTIsIDEsIDIyNSwgCisgICAgMjE5LCAxOTIsIDEsIDIyNSwgMTEwLCAxOTIsIDEsIDIyNCwgMjMwLCAxOTIsIDEsIDIyNCwgNjcsIDE5MiwgMSwgMjIzLCAKKyAgICAyMTcsIDE5MiwgMSwgMjIzLCAxNTUsIDE5MiwgMSwgMjE5LCAyMTMsIDE5MiwgMSwgMjE5LCAxOTksIDE5MiwgMSwgMjE5LCAKKyAgICAxOTIsIDE5MiwgMSwgMjE5LCAxODMsIDE5MiwgMSwgMjE5LCAxNzIsIDE5MiwgMSwgMjE5LCAxNzAsIDE5MiwgMSwgMjE3LCAKKyAgICAxOTksIDE5MiwgMSwgMTgyLCAxOTIsIDEsIDIxNywgODYsIDE5MiwgMSwgMjE1LCA4MCwgMTkyLCAxLCAyMTQsIDE5MywgCisgICAgMTkyLCAxLCAyMTMsIDIwMywgMTkyLCAxLCAyMTMsIDExNywgMTkyLCAxLCAyNDYsIDE0NSwgMTkyLCAxLCAyMTIsIDIxOSwgCisgICAgMTkyLCAxLCAyNDYsIDksIDE5MiwgMSwgMjEyLCAxMzEsIDE5MiwgMSwgMjQ1LCAxNjgsIDE5MiwgMSwgMjExLCAyMTEsIAorICAgIDE5MiwgMSwgMjQ1LCA1MSwgMTkyLCAxLCAyNDMsIDIzNywgMTkyLCAxLCAyNDMsIDIwOSwgMTkyLCAxLCAyNDUsIDYyLCAKKyAgICAxOTIsIDEsIDIxMSwgMTQ3LCAxOTIsIDEsIDIxMSwgMTQ2LCAxOTIsIDEsIDIxMSwgMTM1LCAxOTIsIDEsIDIxMSwgMTM0LCAKKyAgICAxOTIsIDEsIDIxMSwgMTMzLCAxOTIsIDEsIDIxMSwgMTMyLCAxOTIsIDEsIDIxMCwgMjQzLCAxOTIsIDEsIDIxMCwgMjM3LCAKKyAgICAxOTIsIDEsIDIxMCwgMjIyLCAxOTIsIDEsIDIxMCwgMjIwLCAxOTIsIDEsIDIxMCwgMjE2LCAxOTIsIDEsIDIxMCwgMjE1LCAKKyAgICAxOTIsIDEsIDIwNywgOTYsIDE5MiwgMSwgMjA3LCA1MSwgMTkyLCAxLCAyMDcsIDIwLCAxOTIsIDEsIDIwNiwgMjUwLCAxOTIsIAorICAgIDEsIDIwNiwgMjE2LCAxOTIsIDEsIDIwNiwgMjAzLCAxOTIsIDEsIDE5MCwgMTkyLCAxLCAyMDYsIDUyLCAxOTIsIDEsIDIwNiwgCisgICAgMTEsIDE5MiwgMSwgMjA1LCAyNDcsIDE5MiwgMSwgMjA1LCAyMTMsIDE5MiwgMSwgMjA1LCAxNzcsIDE5LCAyMCwgMjM3LCAKKyAgICAyMzksIDE5LCAyMCwgNzUsIDE5LCAyMCwgMjUzLCAxMjgsIDE5LCAyMCwgNzQsIDE5LCAyMCwgMjMzLCAxMDIsIDE5LCAyMCwgCisgICAgNzYsIDE5LCAyMCwgMjIyLCAxNTIsIDE5LCAyMCwgMjA2LCAxMjIsIDIyMiwgMTUyLCAxOSwgMjAsIDg1LCAyNDMsIDEwNCwgCisgICAgMTksIDIwLCA4NSwgNzQsIDE5LCAyMCwgNjIsIDE5LCAyMCwgMjUzLCAxNjQsIDE5LCAyMCwgMjA3LCA1MSwgMTksIDIwLCAKKyAgICAxODAsIDIwNywgNTEsIDE5LCAyMCwgMjA3LCAyMCwgMTksIDIwLCAxODAsIDIwNywgMjAsIDE5LCAyMCwgMjA3LCAxMiwgMTksIAorICAgIDIwLCAxODAsIDIwNywgMTIsIDE5LCAyMCwgMjA2LCAyNTAsIDE5LCAyMCwgMTgwLCAyMDYsIDI1MCwgMTksIDIwLCAyMDYsIAorICAgIDIzOCwgMTksIDIwLCAxODAsIDIwNiwgMjM4LCAxOSwgMjAsIDIyNSwgMTk0LCAyMDYsIDIzOCwgMTksIDIwLCAyMDcsIDk2LCAKKyAgICAxOSwgMjAsIDE4MCwgMjA3LCA5NiwgMTksIDIwLCAyMDcsIDk1LCAxOSwgMjAsIDE4MCwgMjA3LCA5NSwgMTksIDIwLCAyMjUsIAorICAgIDE5NCwgMjA3LCA5NSwgMTksIDIwLCAyNTIsIDIwNSwgMTksIDIwLCAyMDYsIDEyMiwgMjA3LCAxMjksIDE5LCAyMCwgMjQwLCAKKyAgICAyNSwgMjEzLCAyNTEsIDE5LCAyMCwgNDIsIDE1MywgMTksIDIwLCA0MiwgMjM5LCAyMzYsIDE5LCAyMCwgNDIsIDI0OSwgCisgICAgMTU0LCAxNjAsIDIxOCwgMTQ4LCAxOSwgMjAsIDQyLCAyMTEsIDEwMiwgMTYwLCAyMTgsIDE0OCwgMTksIDIwLCA0MiwgNDgsIAorICAgIDE2MCwgMjE4LCAxNDgsIDE5LCAyMCwgNDIsIDIxOCwgMTQ4LCAxOSwgMjAsIDQyLCA1MCwgMTUzLCAxOSwgMjAsIDQyLCA1MCwgCisgICAgMjE1LCAxNDQsIDc5LCAyMTMsIDIxMiwgMTksIDIwLCA0MiwgMjI2LCAyNDcsIDI0NSwgMjMsIDE5LCAyMCwgNDIsIDIxNSwgCisgICAgMTQ0LCAxOTQsIDkxLCAxOSwgMjAsIDQyLCAyMjAsIDIxOCwgMTksIDIwLCA0MiwgMTMwLCAyMTIsIDIwMSwgMTksIDIwLCAKKyAgICAyNDMsIDQxLCAxOSwgMjAsIDIzMywgNjgsIDE5LCAyMCwgMjIyLCAxNjUsIDE5LCAyMCwgMjUyLCAxMjIsIDE5LCAyMCwgCisgICAgMjIxLCAxNzQsIDE5LCAyMCwgMjIyLCA0OSwgMTksIDIwLCAyMjEsIDUzLCAxOSwgMjAsIDIyMSwgMTUsIDE5LCAyMCwgMjIwLCAKKyAgICAyMTEsIDE5LCAyMCwgMjIwLCAxODcsIDE5LCAyMCwgMjA2LCAxMjIsIDIyMCwgMTg3LCAxOSwgMjAsIDg1LCAyMzksIDUzLCAKKyAgICAxOSwgMjAsIDg1LCAyMzksIDExLCAxOSwgMjAsIDE3OSwgMTksIDIwLCAyMjIsIDUxLCAxOSwgMjAsIDIyMCwgNDMsIDE5LCAKKyAgICAyMCwgMTgwLCAyMjAsIDQzLCAxOSwgMjAsIDIyMCwgNDEsIDE5LCAyMCwgMTgwLCAyMjAsIDQxLCAxOSwgMjAsIDIyMCwgNDAsIAorICAgIDE5LCAyMCwgMTgwLCAyMjAsIDQwLCAxOSwgMjAsIDIyMCwgMzgsIDE5LCAyMCwgMTgwLCAyMjAsIDM4LCAxOSwgMjAsIDIyMCwgCisgICAgMzcsIDE5LCAyMCwgMTgwLCAyMjAsIDM3LCAxOSwgMjAsIDIyMCwgNDUsIDE5LCAyMCwgMTgwLCAyMjAsIDQ1LCAxOSwgMjAsIAorICAgIDIyMCwgNDQsIDE5LCAyMCwgMTgwLCAyMjAsIDQ0LCAxOSwgMjAsIDIwNiwgMTIyLCAyMjAsIDQ0LCAxOSwgMjAsIDIyMiwgCisgICAgNjcsIDE5LCAyMCwgMTgwLCAyMjIsIDY3LCAxOSwgMjAsIDg1LCAyMzksIDE1NSwgMTksIDIwLCAyMTIsIDEzMSwgMTksIDIwLCAKKyAgICAyMTIsIDIxMywgMTksIDIwLCAyMTEsIDIxMSwgMTksIDIwLCAyMTEsIDE5NSwgMTksIDIwLCAxMjQsIDE5LCAyMCwgMjExLCAKKyAgICAxMDUsIDE5LCAyMCwgMjA2LCAxMjIsIDIxMSwgMTA1LCAxOSwgMjAsIDg1LCAyNDUsIDI1MSwgMTksIDIwLCA4NSwgMjQ1LCAKKyAgICAxNjgsIDE5LCAyMCwgMjEyLCAyMTksIDE5LCAyMCwgMjEyLCAyMTUsIDE5LCAyMCwgMjEwLCAxMjgsIDE5LCAyMCwgMTgwLCAKKyAgICAyMTAsIDEyOCwgMTksIDIwLCAyMTAsIDExMiwgMTksIDIwLCAxODAsIDIxMCwgMTEyLCAxOSwgMjAsIDIxMCwgMTExLCAxOSwgCisgICAgMjAsIDE4MCwgMjEwLCAxMTEsIDE5LCAyMCwgMTA1LCAxOSwgMjAsIDE4MCwgMTA1LCAxOSwgMjAsIDIxMCwgMTA0LCAxOSwgCisgICAgMjAsIDE4MCwgMjEwLCAxMDQsIDE5LCAyMCwgMjEwLCAxMzAsIDE5LCAyMCwgMTgwLCAyMTAsIDEzMCwgMTksIDIwLCAyMTAsIAorICAgIDEyOSwgMTksIDIwLCAxODAsIDIxMCwgMTI5LCAxOSwgMjAsIDIyNSwgMTk0LCAyMTAsIDEyOSwgMTksIDIwLCAyMTMsIDEwLCAKKyAgICAxOSwgMjAsIDIxMCwgMjAzLCAxOSwgMjAsIDIxMCwgMTg3LCAxOSwgMjAsIDIxMCwgMTg1LCAxOSwgMjAsIDIxMCwgMjA4LCAKKyAgICAxOSwgMjAsIDIzMSwgMjI0LCAxOSwgMjAsIDIzMiwgNTksIDE5LCAyMCwgMjMxLCAxMjMsIDE5LCAyMCwgMjMxLCAxMTEsIAorICAgIDE5LCAyMCwgMjMxLCA1MywgMTksIDIwLCAyMzEsIDMzLCAxOSwgMjAsIDIwNiwgMTIyLCAyMzEsIDMzLCAxOSwgMjAsIDE3MiwgCisgICAgMTksIDIwLCAyMzIsIDYzLCAxOSwgMjAsIDIzMCwgMTkwLCAxOSwgMjAsIDE4MCwgMjMwLCAxOTAsIDE5LCAyMCwgMjMwLCAKKyAgICAxODgsIDE5LCAyMCwgMTgwLCAyMzAsIDE4OCwgMTksIDIwLCAyMzAsIDE4NywgMTksIDIwLCAxODAsIDIzMCwgMTg3LCAxOSwgCisgICAgMjAsIDIzMCwgMTg1LCAxOSwgMjAsIDE4MCwgMjMwLCAxODUsIDE5LCAyMCwgMjMwLCAxODQsIDE5LCAyMCwgMTgwLCAyMzAsIAorICAgIDE4NCwgMTksIDIwLCAyMzAsIDE5NSwgMTksIDIwLCAxODAsIDIzMCwgMTk1LCAxOSwgMjAsIDIzMCwgMTk0LCAxOSwgMjAsIAorICAgIDE4MCwgMjMwLCAxOTQsIDE5LCAyMCwgMjI1LCAxOTQsIDIzMCwgMTk0LCAxOSwgMjAsIDIzMiwgNzYsIDE5LCAyMCwgMjMwLCAKKyAgICAxOTYsIDE5LCAyMCwgMjE0LCAxNjIsIDIzMSwgMjE0LCAxOSwgMjAsIDIxNCwgMTYyLCAyMzEsIDExMiwgMTksIDIwLCAyMTQsIAorICAgIDE2MiwgMjMxLCA0NywgMTksIDIwLCAyMTQsIDE2MiwgMjMyLCA0MywgMTksIDIwLCAyNDgsIDE0OCwgMTksIDIwLCAyNDgsIAorICAgIDI1NSwgMTksIDIwLCAyNDcsIDI1MSwgMTksIDIwLCAyNDcsIDI0MSwgMTksIDIwLCAyNDcsIDE3NCwgMTksIDIwLCAyNDcsIAorICAgIDEwNSwgMTksIDIwLCAyMDYsIDEyMiwgMjQ3LCAxMDUsIDE5LCAyMCwgMjQ5LCAxLCAxOSwgMjAsIDI0OSwgMCwgMTksIDIwLCAKKyAgICAyNDcsIDUsIDE5LCAyMCwgMTgwLCAyNDcsIDUsIDE5LCAyMCwgMjQ3LCAzLCAxOSwgMjAsIDE4MCwgMjQ3LCAzLCAxOSwgMjAsIAorICAgIDI0NywgMiwgMTksIDIwLCAxODAsIDI0NywgMiwgMTksIDIwLCAyNDcsIDEsIDE5LCAyMCwgMTgwLCAyNDcsIDEsIDE5LCAyMCwgCisgICAgMjQ3LCAwLCAxOSwgMjAsIDE4MCwgMjQ3LCAwLCAxOSwgMjAsIDI0NywgNywgMTksIDIwLCAxODAsIDI0NywgNywgMTksIDIwLCAKKyAgICAyNDcsIDYsIDE5LCAyMCwgMTgwLCAyNDcsIDYsIDE5LCAyMCwgMjI1LCAxOTQsIDI0NywgNiwgMTksIDIwLCAyNDksIDM0LCAKKyAgICAxOSwgMjAsIDIxNywgMTE0LCAyMTIsIDU4LCAxOSwgMjAsIDIyNywgMTE5LCAxOSwgMjAsIDIyOCwgMTcsIDE5LCAyMCwgCisgICAgMjI2LCAyNTQsIDE5LCAyMCwgMjI2LCAyMjQsIDE5LCAyMCwgMjI2LCAxODEsIDE5LCAyMCwgMjI2LCAxNTAsIDE5LCAyMCwgCisgICAgMjA2LCAxMjIsIDIyNiwgMTUwLCAxOSwgMjAsIDE4NSwgMTksIDIwLCAyMjgsIDE4LCAxOSwgMjAsIDIyNiwgNDgsIDE5LCAKKyAgICAyMCwgMTgwLCAyMjYsIDQ4LCAxOSwgMjAsIDIyNiwgNDYsIDE5LCAyMCwgMTgwLCAyMjYsIDQ2LCAxOSwgMjAsIDIyNiwgNDUsIAorICAgIDE5LCAyMCwgMTgwLCAyMjYsIDQ1LCAxOSwgMjAsIDIyNiwgNDQsIDE5LCAyMCwgMTgwLCAyMjYsIDQ0LCAxOSwgMjAsIDIyNiwgCisgICAgNDMsIDE5LCAyMCwgMTgwLCAyMjYsIDQzLCAxOSwgMjAsIDIyNiwgNTAsIDE5LCAyMCwgMTgwLCAyMjYsIDUwLCAxOSwgMjAsIAorICAgIDIyNiwgNDksIDE5LCAyMCwgMTgwLCAyMjYsIDQ5LCAxOSwgMjAsIDIyNSwgMTk0LCAyMjYsIDQ5LCAxOSwgMjAsIDIyOSwgCisgICAgMjgsIDE5LCAyMCwgMTgwLCAyMjksIDI4LCAxOSwgMjAsIDIyNywgMiwgMTksIDIwLCAyNTEsIDE5OCwgMjI5LCAyOCwgMTksIAorICAgIDIwLCAyMTcsIDExNCwgMjI5LCAyOCwgMTksIDIwLCAyMjUsIDExMCwgMTksIDIwLCAyMjUsIDIzMSwgMTksIDIwLCAyMjQsIAorICAgIDIzMCwgMTksIDIwLCAyMjQsIDIwNSwgMTksIDIwLCAyMjQsIDY3LCAxOSwgMjAsIDIyNCwgNTYsIDE5LCAyMCwgMjA2LCAKKyAgICAxMjIsIDIyNCwgNTYsIDE5LCAyMCwgMTk5LCAxOSwgMjAsIDIyNSwgMjMyLCAxOSwgMjAsIDIyMywgMTUxLCAxOSwgMjAsIAorICAgIDE4MCwgMjIzLCAxNTEsIDE5LCAyMCwgMjIzLCAxNTMsIDE5LCAyMCwgMTgwLCAyMjMsIDE1MywgMTksIDIwLCAyMjMsIDE1MiwgCisgICAgMTksIDIwLCAxODAsIDIyMywgMTUyLCAxOSwgMjAsIDIyNSwgMTk0LCAyMjMsIDE1MiwgMTksIDIwLCAyMjYsIDMzLCAxOSwgCisgICAgMjAsIDg1LCAyMjUsIDc5LCAxOSwgMjAsIDIyNCwgMjM1LCAxOSwgMjAsIDIzMCwgNTgsIDE5LCAyMCwgMjMwLCAxMzksIDE5LCAKKyAgICAyMCwgMjI5LCAyMzUsIDE5LCAyMCwgMjI5LCAyMTksIDE5LCAyMCwgMjI5LCAxNDQsIDE5LCAyMCwgMjI5LCAxMTUsIDE5LCAKKyAgICAyMCwgMjA2LCAxMjIsIDIyOSwgMTE1LCAxOSwgMjAsIDIzMCwgMTQxLCAxOSwgMjAsIDIzMCwgMTQwLCAxOSwgMjAsIDIyOSwgCisgICAgNDgsIDE5LCAyMCwgMTgwLCAyMjksIDQ4LCAxOSwgMjAsIDIyOSwgNDcsIDE5LCAyMCwgMTgwLCAyMjksIDQ3LCAxOSwgMjAsIAorICAgIDIyOSwgNDYsIDE5LCAyMCwgMTgwLCAyMjksIDQ2LCAxOSwgMjAsIDIyOSwgNDUsIDE5LCAyMCwgMTgwLCAyMjksIDQ1LCAxOSwgCisgICAgMjAsIDIyOSwgNDQsIDE5LCAyMCwgMTgwLCAyMjksIDQ0LCAxOSwgMjAsIDIyOSwgNTAsIDE5LCAyMCwgMTgwLCAyMjksIDUwLCAKKyAgICAxOSwgMjAsIDIyOSwgNDksIDE5LCAyMCwgMTgwLCAyMjksIDQ5LCAxOSwgMjAsIDE0OSwgMTksIDIwLCAxODAsIDE0OSwgMTksIAorICAgIDIwLCAxNjksIDE0OSwgMTksIDIwLCAyMTcsIDg2LCAxOSwgMjAsIDIxNywgMTk0LCAxOSwgMjAsIDIxNSwgODAsIDE5LCAyMCwgCisgICAgMjE1LCA2MSwgMTksIDIwLCAyMTQsIDE5MywgMTksIDIwLCAyMTQsIDE3NCwgMTksIDIwLCAyMDYsIDEyMiwgMjE0LCAxNzQsIAorICAgIDE5LCAyMCwgMjE3LCAxOTksIDE5LCAyMCwgMjE3LCAxOTYsIDE5LCAyMCwgMjEzLCAxMDgsIDE5LCAyMCwgMTgwLCAyMTMsIAorICAgIDEwOCwgMTksIDIwLCAyMTMsIDEwMiwgMTksIDIwLCAxODAsIDIxMywgMTAyLCAxOSwgMjAsIDIxMywgMTAxLCAxOSwgMjAsIAorICAgIDE4MCwgMjEzLCAxMDEsIDE5LCAyMCwgMjEzLCA5NywgMTksIDIwLCAxODAsIDIxMywgOTcsIDE5LCAyMCwgMjEzLCA5NiwgCisgICAgMTksIDIwLCAxODAsIDIxMywgOTYsIDE5LCAyMCwgMjEzLCAxMTIsIDE5LCAyMCwgMTgwLCAyMTMsIDExMiwgMTksIDIwLCAKKyAgICAyMTMsIDExMSwgMTksIDIwLCAxODAsIDIxMywgMTExLCAxOSwgMjAsIDIyNSwgMTk0LCAyMTMsIDExMSwgMTksIDIwLCAxODIsIAorICAgIDE5LCAyMCwgMjUxLCAxOTgsIDE4MiwgMTksIDIwLCAyMTMsIDExMywgMTksIDIwLCAyNDksIDE5OSwgMTgyLCAxOSwgMjAsIAorICAgIDIyNiwgMTQzLCAyMTQsIDI0OCwgMTksIDIwLCAyMjUsIDE5NCwgMjE0LCAyMzksIDE5LCAyMCwgMjI1LCAxOTQsIDIxNywgCisgICAgMjU1LCAxOSwgMjAsIDIyNSwgMTk0LCAyMTQsIDEwOSwgMTksIDIwLCAyMjUsIDE5NCwgMjEzLCAyMDYsIDE5LCAyMCwgMjI1LCAKKyAgICAxOTQsIDIxNCwgMjM4LCAxOSwgMjAsIDIyNSwgMTk0LCAyMTcsIDg5LCAxOSwgMjAsIDIxNSwgMjE0LCAxOSwgMjAsIDIxNSwgCisgICAgMTgzLCAxOSwgMjAsIDIxNSwgMTc4LCAxOSwgMjAsIDIxNSwgMTU4LCAxOSwgMjAsIDIxNSwgMTUyLCAxOSwgMjAsIDIxNiwgCisgICAgMiwgMTksIDIwLCAyMTUsIDI1NCwgMTksIDIwLCAyMTUsIDk1LCAxOSwgMjAsIDE4MCwgMjE1LCA5NSwgMTksIDIwLCAyMTUsIAorICAgIDk0LCAxOSwgMjAsIDE4MCwgMjE1LCA5NCwgMTksIDIwLCAyMTUsIDkzLCAxOSwgMjAsIDE4MCwgMjE1LCA5MywgMTksIDIwLCAKKyAgICAyMTUsIDkyLCAxOSwgMjAsIDE4MCwgMjE1LCA5MiwgMTksIDIwLCAyMTUsIDkxLCAxOSwgMjAsIDE4MCwgMjE1LCA5MSwgMTksIAorICAgIDIwLCAyMTUsIDk4LCAxOSwgMjAsIDE4MCwgMjE1LCA5OCwgMTksIDIwLCAyMTUsIDk3LCAxOSwgMjAsIDE4MCwgMjE1LCA5NywgCisgICAgMTksIDIwLCAyMTYsIDQsIDE5LCAyMCwgMjA2LCA1MiwgMTksIDIwLCAyMDYsIDEwNywgMTksIDIwLCAyMDYsIDExLCAxOSwgCisgICAgMjAsIDIwNiwgMiwgMTksIDIwLCAyMDUsIDI0NywgMTksIDIwLCAyMDUsIDIzMiwgMTksIDIwLCAyMDYsIDEyMiwgMjA1LCAKKyAgICAyMzIsIDE5LCAyMCwgMTkwLCAxOSwgMjAsIDIwNiwgMTA5LCAxOSwgMjAsIDIwNSwgMTc0LCAxOSwgMjAsIDE4MCwgMjA1LCAKKyAgICAxNzQsIDE5LCAyMCwgMjA1LCAxNzMsIDE5LCAyMCwgMTgwLCAyMDUsIDE3MywgMTksIDIwLCAyMDUsIDE3MiwgMTksIDIwLCAKKyAgICAxODAsIDIwNSwgMTcyLCAxOSwgMjAsIDIwNSwgMTcxLCAxOSwgMjAsIDE4MCwgMjA1LCAxNzEsIDE5LCAyMCwgMjA1LCAxNzAsIAorICAgIDE5LCAyMCwgMTgwLCAyMDUsIDE3MCwgMTksIDIwLCAyMDUsIDE3NiwgMTksIDIwLCAxODAsIDIwNSwgMTc2LCAxOSwgMjAsIAorICAgIDIwNSwgMTc1LCAxOSwgMjAsIDE4MCwgMjA1LCAxNzUsIDE5LCAyMCwgMjI1LCAxOTQsIDIwNSwgMTc1LCAxOSwgMjAsIDIwNiwgCisgICAgMTIzLCAxOSwgMjAsIDI0OSwgMjQyLCAyMDYsIDEyMywgMTksIDIwLCAxODAsIDIwNiwgMTIzLCAxOSwgMjAsIDIxNywgMTE0LCAKKyAgICAyMDYsIDExLCAxOSwgMjAsIDIxOSwgNTEsIDE5LCAyMCwgMjE5LCAxNDksIDIxOSwgNTEsIDE5LCAyMCwgMTgwLCAyMzAsIAorICAgIDU4LCAxOSwgMjAsIDIxOSwgMTA4LCAxOSwgMjAsIDIxOCwgMjA4LCAxOSwgMjAsIDIxOCwgMTU0LCAxOSwgMjAsIDIxOCwgCisgICAgMTI0LCAxOSwgMjAsIDIxOCwgMTA3LCAxOSwgMjAsIDE4MCwgMjI5LCAxNDQsIDE5LCAyMCwgMjE5LCAxMTMsIDE5LCAyMCwgCisgICAgMjE5LCAxMDksIDE5LCAyMCwgMTgwLCAyMzAsIDE0MSwgMTksIDIwLCAyMTgsIDE3LCAxOSwgMjAsIDE4MCwgMjE4LCAxNywgCisgICAgMTksIDIwLCAxMzcsIDE5LCAyMCwgMTgwLCAxMzcsIDE5LCAyMCwgMTY5LCAxMzcsIDE5LCAyMCwgMjQyLCAyOCwgMTksIDIwLCAKKyAgICAyNDIsIDcwLCAxOSwgMjAsIDI0MSwgMjUwLCAxOSwgMjAsIDI0MSwgMjM3LCAxOSwgMjAsIDI0MSwgMTYyLCAxOSwgMjAsIAorICAgIDI0MSwgMTUxLCAxOSwgMjAsIDI0MiwgNzMsIDE5LCAyMCwgMjQyLCA3MiwgMTksIDIwLCAyNDEsIDY1LCAxOSwgMjAsIDE4MCwgCisgICAgMjQxLCA2NSwgMTksIDIwLCAyNDIsIDEzOSwgMTksIDIwLCAyMTIsIDQxLCAxOSwgMjAsIDIyNiwgMzEsIDIxMiwgNDEsIDE5LCAKKyAgICAyMCwgMjEyLCAxOSwgMTksIDIwLCAyMjYsIDMxLCAyMTIsIDE5LCAxOSwgMjAsIDIxMiwgMTMsIDE5LCAyMCwgMjI2LCAzMSwgCisgICAgMjEyLCAxMywgMTksIDIwLCAyMTEsIDI1MywgMTksIDIwLCAyMTEsIDI0OCwgMTksIDIwLCAyMTIsIDU2LCAxOSwgMjAsIAorICAgIDIxMiwgNTUsIDE5LCAyMCwgMjExLCAyMjEsIDE5LCAyMCwgMTgwLCAyMTEsIDIyMSwgMTksIDIwLCAyMTIsIDU4LCAxOSwgCisgICAgMjAsIDIxMCwgMTk0LCAxOSwgMjAsIDIxMCwgMTkyLCAxOSwgMjAsIDIxMCwgMTkxLCAxOSwgMjAsIDIxMCwgMTk2LCAxOSwgCisgICAgMjAsIDIxMCwgMTk3LCAxOSwgMjAsIDIxMCwgOTgsIDE5LCAyMCwgMjEwLCA5NywgMTksIDIwLCAyMTAsIDk2LCAxOSwgMjAsIAorICAgIDIxMCwgMTAwLCAxOSwgMjAsIDIyMywgMTcyLCAyMzksIDcxLCAxOSwgMjAsIDIyMywgMTcyLCAyMzksIDExLCAxOSwgMjAsIAorICAgIDIyMywgMTcyLCAyMzgsIDI0NywgMTksIDIwLCAyMjMsIDE3MiwgMjM4LCAxNDksIDE5LCAyMCwgMjIzLCAxNzIsIDIzOCwgCisgICAgMTMxLCAxOSwgMjAsIDIyMywgMTcyLCAxNTUsIDE5LCAyMCwgMjIzLCAxNzIsIDIzOSwgMTQxLCAxOSwgMjAsIDIyMywgMTcyLCAKKyAgICAyMzksIDE1NSwgMTksIDIwLCAyMjMsIDE3MSwgMjM5LCAxNTUsIDE5LCAyMCwgMjM4LCAyMzksIDE5LCAyMCwgMjIwLCAxNSwgCisgICAgMTksIDIwLCAyMTksIDIzNywgMTksIDIwLCAyMTksIDIzMiwgMTksIDIwLCAyMTksIDIyNiwgMTksIDIwLCAyMTksIDIyMSwgCisgICAgMTksIDIwLCAyMjAsIDE5LCAxOSwgMjAsIDIyMCwgMTgsIDE5LCAyMCwgMjIwLCAyNywgMTksIDIwLCAyMTEsIDE0MywgMTksIAorICAgIDIwLCAyMTEsIDE0MSwgMTksIDIwLCAyMTEsIDE0MCwgMTksIDIwLCAyMTEsIDE0NCwgMTksIDIwLCAxODAsIDIxOSwgNTEsIAorICAgIDE5LCAyMCwgMTgwLCAyMTgsIDIwOCwgMTksIDIwLCAxODAsIDIxOCwgMTI0LCAxOSwgMjAsIDE4MCwgMjE5LCAxMTMsIDE5LCAKKyAgICAyMCwgMjI1LCA3NSwgMTksIDIwLCAyMjUsIDI1LCAxOSwgMjAsIDIyNSwgMjEsIDE5LCAyMCwgMjI1LCAyLCAxOSwgMjAsIAorICAgIDIyNCwgMjUzLCAxOSwgMjAsIDIyNSwgNzcsIDE5LCAyMCwgMjI1LCA3NiwgMTksIDIwLCAyMjUsIDc5LCAxOSwgMjAsIDIyNCwgCisgICAgOTYsIDE5LCAyMCwgMjE3LCAxMTQsIDIxNSwgMjE0LCAxOSwgMjAsIDIxNywgMTE0LCAyMTUsIDE4MywgMTksIDIwLCAyMTcsIAorICAgIDExNCwgMjE1LCAxNTgsIDE5LCAyMCwgMjE3LCAxMTQsIDIxNiwgMiwgMTksIDIwLCAyMDYsIDIzNiwgMjEyLCA0MSwgMTksIAorICAgIDIwLCAyMDYsIDIzNiwgMjEyLCAxOSwgMTksIDIwLCAyMDYsIDIzNiwgMjExLCAyNTMsIDE5LCAyMCwgMjA2LCAyMzYsIDIxMiwgCisgICAgNTYsIDE5LCAyMCwgMjA2LCAyMzYsIDIxMiwgNTgsIDE5LCAyMCwgMjI5LCAyNDIsIDE5LCAyMCwgMjI5LCAyNDEsIDE5LCAKKyAgICAyMCwgMjI5LCAyNDAsIDE5LCAyMCwgMjI5LCAyMzksIDE5LCAyMCwgMjI5LCAyNDgsIDE5LCAyMCwgMjI5LCAyNDcsIDE5LCAKKyAgICAyMCwgMjI5LCAyNDksIDE5LCAyMCwgMjEyLCA1NywgMjEyLCA0MSwgMTksIDIwLCAyMTIsIDU3LCAyMTIsIDE5LCAxOSwgMjAsIAorICAgIDIxMiwgNTcsIDIxMiwgMTMsIDE5LCAyMCwgMjEyLCA1NywgMjExLCAyNTMsIDE5LCAyMCwgMjEyLCA1NywgMjExLCAyNDgsIAorICAgIDE5LCAyMCwgMjEyLCA1NywgMjEyLCA1NiwgMTksIDIwLCAyMTIsIDU3LCAyMTIsIDU1LCAxOSwgMjAsIDIxMiwgNTcsIDIxMiwgCisgICAgNTgsIDE5LCAyMCwgMjUyLCAxOTIsIDI1MSwgMTUwLCAxOSwgMjAsIDI0OSwgMTk5LCA3NSwgMTksIDIwLCAyNDksIDE5OSwgCisgICAgNzQsIDE5LCAyMCwgMjQ5LCAxOTksIDc2LCAxOSwgMjAsIDI0OSwgMTk5LCA2MiwgMTksIDIwLCAyNDksIDE5OSwgMjA3LCAKKyAgICA1MSwgMTksIDIwLCAyNDksIDE5OSwgMjA3LCAyMCwgMTksIDIwLCAyNDksIDE5OSwgMjA2LCAyNTAsIDE5LCAyMCwgMjQ5LCAKKyAgICAxOTksIDIwNywgOTYsIDE5LCAyMCwgMjQ5LCAxOTksIDIyNSwgMTEwLCAxOSwgMjAsIDI0OSwgMTk5LCAyMjQsIDIzMCwgMTksIAorICAgIDIwLCAyNDksIDE5OSwgMjI0LCA2NywgMTksIDIwLCAyNDksIDE5OSwgMTk5LCAxOSwgMjAsIDI0OSwgMTk5LCAyMzEsIDIyNCwgCisgICAgMTksIDIwLCAyNDksIDE5OSwgMjMxLCAxMjMsIDE5LCAyMCwgMjQ5LCAxOTksIDIzMSwgNTMsIDE5LCAyMCwgMjQ5LCAxOTksIAorICAgIDE3MiwgMTksIDIwLCAyMTcsIDExNCwgMjM5LCA3MSwgMTksIDIwLCAyMTcsIDExNCwgMjM5LCAxMSwgMTksIDIwLCAyMTcsIAorICAgIDExNCwgMjM4LCAxNDksIDE5LCAyMCwgMjE3LCAxMTQsIDE1NSwgMTksIDIwLCA4NSwgMjQwLCA2NywgMTksIDIwLCA4NSwgCisgICAgMjQwLCA3MSwgMTksIDIwLCA4NSwgMjQwLCA4NSwgMTksIDIwLCA4NSwgMjQwLCA4NCwgMTksIDIwLCA4NSwgMjQwLCA3MywgCisgICAgMTksIDIwLCA4NSwgMjQwLCA5OSwgMTksIDIwLCA4NSwgMjE4LCA1MCwgMTksIDIwLCA4NSwgMjE4LCAxMjQsIDE5LCAyMCwgCisgICAgODUsIDIxOSwgNTEsIDE5LCAyMCwgODUsIDIxOSwgMjksIDE5LCAyMCwgODUsIDIxOCwgMjA4LCAxOSwgMjAsIDg1LCAyMTksIAorICAgIDExMywgMTksIDIwLCA4NSwgMjA2LCAyMTYsIDE5LCAyMCwgODUsIDIwNiwgMjUwLCAxOSwgMjAsIDg1LCAyMDcsIDUxLCAxOSwgCisgICAgMjAsIDg1LCAyMDcsIDQ1LCAxOSwgMjAsIDg1LCAyMDcsIDIwLCAxOSwgMjAsIDg1LCAyMDcsIDk2LCAxOSwgMjAsIDg1LCAKKyAgICAyMzgsIDksIDE5LCAyMCwgODUsIDIzOCwgMTAsIDE5LCAyMCwgODUsIDIzOCwgMTMsIDE5LCAyMCwgODUsIDIzOCwgMTIsIAorICAgIDE5LCAyMCwgODUsIDIzOCwgMTEsIDE5LCAyMCwgODUsIDIzOCwgMTYsIDE5LCAyMCwgODUsIDIxMSwgMjMwLCAxOSwgMjAsIAorICAgIDg1LCAyMTEsIDI1MywgMTksIDIwLCA4NSwgMjEyLCA0MSwgMTksIDIwLCA4NSwgMjEyLCAzOSwgMTksIDIwLCA4NSwgMjEyLCAKKyAgICAxOSwgMTksIDIwLCA4NSwgMjEyLCA1NiwgMTksIDIwLCA4NSwgMjEwLCAxNzUsIDE5LCAyMCwgODUsIDIxMCwgMTg1LCAxOSwgCisgICAgMjAsIDg1LCAyMTAsIDIwMywgMTksIDIwLCA4NSwgMjEwLCAyMDIsIDE5LCAyMCwgODUsIDIxMCwgMTg3LCAxOSwgMjAsIDg1LCAKKyAgICAyMTAsIDIwOCwgMTksIDIwLCA4NSwgMjIwLCA4MiwgMTksIDIwLCA4NSwgMjIwLCAyMTEsIDE5LCAyMCwgODUsIDIyMSwgCisgICAgMTc0LCAxOSwgMjAsIDg1LCAyMjEsIDE2NCwgMTksIDIwLCA4NSwgMjIxLCA1MywgMTksIDIwLCA4NSwgMTc5LCAxOSwgMjAsIAorICAgIDg1LCAyMjIsIDY3LCAxOSwgMjAsIDg1LCAyMzksIDIxMywgMTksIDIwLCA4NSwgMjQwLCAxOSwgMTksIDIwLCA4NSwgMjQwLCAKKyAgICAxNzAsIDE5LCAyMCwgODUsIDI0MCwgMTYyLCAxOSwgMjAsIDg1LCAyNDAsIDYxLCAxOSwgMjAsIDg1LCAyNDAsIDI0NCwgMTksIAorICAgIDIwLCA4NSwgMjMxLCAxMzIsIDE5LCAyMCwgODUsIDIzMSwgMTM4LCAxOSwgMjAsIDg1LCAyMzEsIDE1MiwgMTksIDIwLCA4NSwgCisgICAgMjMxLCAxNTEsIDE5LCAyMCwgODUsIDIzMSwgMTQ1LCAxOSwgMjAsIDg1LCAyMzEsIDE2NywgMTksIDIwLCA4NSwgMjMxLCAKKyAgICA2NywgMTksIDIwLCA4NSwgMjMxLCA2OCwgMTksIDIwLCA4NSwgMjMxLCA3MSwgMTksIDIwLCA4NSwgMjMxLCA3MCwgMTksIAorICAgIDIwLCA4NSwgMjMxLCA2OSwgMTksIDIwLCA4NSwgMjMxLCA3MiwgMTksIDIwLCA4NSwgMjMxLCA3MywgMTksIDIwLCA4NSwgCisgICAgMjIzLCAyMTcsIDE5LCAyMCwgODUsIDIyNCwgNjcsIDE5LCAyMCwgODUsIDIyNSwgMTEwLCAxOSwgMjAsIDg1LCAyMjUsIAorICAgIDEwNiwgMTksIDIwLCA4NSwgMjI0LCAyMzAsIDE5LCAyMCwgODUsIDE5OSwgMTksIDIwLCA4NSwgMjI2LCAxMTQsIDE5LCAyMCwgCisgICAgODUsIDIyNiwgMTgxLCAxOSwgMjAsIDg1LCAyMjcsIDExOSwgMTksIDIwLCA4NSwgMjI3LCAxMDcsIDE5LCAyMCwgODUsIAorICAgIDIyNiwgMjU0LCAxOSwgMjAsIDg1LCAxODUsIDE5LCAyMCwgODUsIDIwNSwgMjEzLCAxOSwgMjAsIDg1LCAyMDUsIDI0NywgCisgICAgMTksIDIwLCA4NSwgMjA2LCA1MiwgMTksIDIwLCA4NSwgMjA2LCA0OSwgMTksIDIwLCA4NSwgMjA2LCAxMSwgMTksIDIwLCAKKyAgICA4NSwgMTkwLCAxOSwgMjAsIDg1LCAyMzIsIDEwNCwgMTksIDIwLCAyMTcsIDExNCwgMjMyLCAxMDQsIDE5LCAyMCwgODUsIAorICAgIDIzMiwgMTIyLCAxOSwgMjAsIDg1LCAyMzIsIDE4MiwgMTksIDIwLCA4NSwgMjMyLCAxODAsIDE5LCAyMCwgODUsIDIzMiwgCisgICAgMTYyLCAxOSwgMjAsIDIxNywgMTE0LCAyMzIsIDE2MiwgMTksIDIwLCA4NSwgMjMyLCAyMDAsIDE5LCAyMCwgODUsIDIzMiwgCisgICAgMTM1LCAxOSwgMjAsIDg1LCAyMzIsIDEzOSwgMTksIDIwLCA4NSwgMjMyLCAxNDksIDE5LCAyMCwgODUsIDIzMiwgMTQ4LCAKKyAgICAxOSwgMjAsIDg1LCAyMzIsIDE0NywgMTksIDIwLCA4NSwgMjMyLCAxNTAsIDE5LCAyMCwgODUsIDIyOSwgODEsIDE5LCAyMCwgCisgICAgODUsIDIyOSwgMTQ0LCAxOSwgMjAsIDg1LCAyMzAsIDU4LCAxOSwgMjAsIDg1LCAyMzAsIDUwLCAxOSwgMjAsIDg1LCAyMjksIAorICAgIDIzNSwgMTksIDIwLCA4NSwgMjMwLCAxNDEsIDE5LCAyMCwgODUsIDI0NSwgNTUsIDE5LCAyMCwgODUsIDI0NSwgNTYsIDE5LCAKKyAgICAyMCwgODUsIDI0NSwgNjEsIDE5LCAyMCwgODUsIDI0NSwgNjAsIDE5LCAyMCwgODUsIDI0NSwgNTcsIDE5LCAyMCwgODUsIAorICAgIDI0NSwgNjIsIDE5LCAyMCwgODUsIDIyOSwgMjM4LCAxOSwgMjAsIDg1LCAyMjksIDI0MCwgMTksIDIwLCA4NSwgMjI5LCAKKyAgICAyNDQsIDE5LCAyMCwgODUsIDIyOSwgMjQzLCAxOSwgMjAsIDg1LCAyMjksIDI0MiwgMTksIDIwLCA4NSwgMjI5LCAyNDgsIAorICAgIDE5LCAyMCwgODUsIDIxMSwgMTM4LCAxOSwgMjAsIDg1LCAyMTEsIDE0MCwgMTksIDIwLCA4NSwgMjExLCAxNDMsIDE5LCAyMCwgCisgICAgODUsIDIxMSwgMTQyLCAxOSwgMjAsIDg1LCAyMTEsIDE0MSwgMTksIDIwLCA4NSwgMjExLCAxNDQsIDE5LCAyMCwgODUsIAorICAgIDIxMSwgMTMzLCAxOSwgMjAsIDg1LCAyMTEsIDEzNCwgMTksIDIwLCA4NSwgMjExLCAxNDYsIDE5LCAyMCwgODUsIDIxMSwgCisgICAgMTQ1LCAxOSwgMjAsIDg1LCAyMTEsIDEzNSwgMTksIDIwLCA4NSwgMjExLCAxNDcsIDE5LCAyMCwgODUsIDIwNSwgOSwgMTksIAorICAgIDIwLCA4NSwgMjA1LCAxOSwgMTksIDIwLCA4NSwgMjA1LCA5MywgMTksIDIwLCA4NSwgMjA1LCA5MSwgMTksIDIwLCA4NSwgCisgICAgMjA1LCA0MCwgMTksIDIwLCA4NSwgMjA1LCAxMTYsIDE5LCAyMCwgODUsIDIwNSwgMTU5LCAxOSwgMjAsIDg1LCA3OCwgMjA1LCAKKyAgICAxNTksIDE5LCAyMCwgODUsIDI0MywgMTgzLCAxOSwgMjAsIDg1LCAyNDMsIDE4NCwgMTksIDIwLCA4NSwgMjQzLCAxOTMsIAorICAgIDE5LCAyMCwgODUsIDI0MywgMTkyLCAxOSwgMjAsIDg1LCAyNDMsIDE4NywgMTksIDIwLCA4NSwgMjQzLCAxOTYsIDE5LCAyMCwgCisgICAgODUsIDIxMywgMjAzLCAxOSwgMjAsIDg1LCAyMTQsIDE5MywgMTksIDIwLCA4NSwgMjE3LCA4NiwgMTksIDIwLCA4NSwgMjE3LCAKKyAgICA3NCwgMTksIDIwLCA4NSwgMjE1LCA4MCwgMTksIDIwLCA4NSwgMjE3LCAxOTksIDE5LCAyMCwgODUsIDIxNSwgMTE2LCAxOSwgCisgICAgMjAsIDg1LCAyMTUsIDE1OCwgMTksIDIwLCA4NSwgMjE1LCAyMTQsIDE5LCAyMCwgODUsIDIxNSwgMjEyLCAxOSwgMjAsIDg1LCAKKyAgICAyMTUsIDE4MywgMTksIDIwLCA4NSwgMjE2LCAyLCAxOSwgMjAsIDg1LCAyMTYsIDQsIDE5LCAyMCwgODUsIDIxMCwgMjE2LCAKKyAgICAxOSwgMjAsIDg1LCAyMTAsIDIyMCwgMTksIDIwLCA4NSwgMjEwLCAyMzcsIDE5LCAyMCwgODUsIDIxMCwgMjM2LCAxOSwgMjAsIAorICAgIDg1LCAyMTAsIDIyMiwgMTksIDIwLCA4NSwgMjEwLCAyNDMsIDE5LCAyMCwgODUsIDI0OCwgMTQsIDE5LCAyMCwgODUsIDI0OCwgCisgICAgMzIsIDE5LCAyMCwgODUsIDI0OCwgODIsIDE5LCAyMCwgODUsIDI0OCwgNzgsIDE5LCAyMCwgODUsIDI0OCwgNTgsIDE5LCAKKyAgICAyMCwgODUsIDI0OCwgMTEwLCAxOSwgMjAsIDg1LCAyMTAsIDE3OCwgMTksIDIwLCA4NSwgMjEwLCAxNzksIDE5LCAyMCwgODUsIAorICAgIDIxMCwgMTgyLCAxOSwgMjAsIDg1LCAyMTAsIDE4MSwgMTksIDIwLCA4NSwgMjEwLCAxODAsIDE5LCAyMCwgODUsIDIxMCwgCisgICAgMTgzLCAxOSwgMjAsIDI0OCwgNTksIDUzLCAxOSwgMjAsIDI0MSwgODIsIDIxMywgMjUxLCAxOSwgMjAsIDIyMCwgMTEsIDE5LCAKKyAgICAyMCwgMjI1LCA3MywgMTksIDIwLCAyMjQsIDkzLCAxOSwgMjAsIDIyNCwgOTIsIDE5LCAyMCwgMjI0LCA5MSwgMTksIDIwLCAKKyAgICAyMjQsIDkwLCAxOSwgMjAsIDIyNCwgOTUsIDE5LCAyMCwgMjI0LCA5NCwgMTksIDIwLCAyMDYsIDIzNiwgMjExLCAyMTksIAorICAgIDE5LCAyMCwgMjA2LCAyMzYsIDIxMSwgMjE4LCAxOSwgMjAsIDIwNiwgMjM2LCAyMTEsIDIxNywgMTksIDIwLCAyMDYsIDIzNiwgCisgICAgMjExLCAyMTYsIDE5LCAyMCwgMjA2LCAyMzYsIDIxMSwgMjE1LCAxOSwgMjAsIDIwNiwgMjM2LCAyMTEsIDIyMiwgMTksIDIwLCAKKyAgICAyMDYsIDIzNiwgMjExLCAyMjEsIDE5LCAyMCwgMjA2LCAyMzYsIDQyLCAyMTIsIDU4LCAxOSwgMjAsIDI0OSwgMTk5LCAyMDcsIAorICAgIDEyOSwgMjIyLCAxOTgsIDIxNCwgMTU0LCA4MywgMjIyLCAxOTgsIDEsIDI1MCwgMzIsIDIyMiwgMTk4LCAxLCAyMjksIDY4LCAKKyAgICAyMjIsIDE5OCwgMSwgMjQyLCAyNSwgMjIyLCAxOTgsIDEsIDIxNywgMTc5LCAyMjIsIDE5OCwgMSwgMjI0LCAxODgsIDIyMiwgCisgICAgMTk4LCAxLCAyMTAsIDE1LCAyMjIsIDE5OCwgMSwgMjQ2LCAxMTksIDIyMiwgMTk4LCAxLCAyMTEsIDE3MCwgMjIyLCAxOTgsIAorICAgIDEsIDI0NywgMTY1LCAyMjIsIDE5OCwgMSwgMjQ4LCAxMzYsIDIyMiwgMTk4LCAxLCAyMjYsIDEwMSwgMjIyLCAxOTgsIDEsIAorICAgIDI0MCwgMCwgMjIyLCAxOTgsIDEsIDIyNSwgNjMsIDIyMiwgMTk4LCAxLCAyMTMsIDI0NCwgMjIyLCAxOTgsIDEsIDIxOCwgCisgICAgNDQsIDIyMiwgMTk4LCAxLCAyNTIsIDIwMiwgMjIyLCAxOTgsIDEsIDIyMiwgMTU2LCAyMjIsIDE5OCwgMSwgMjA5LCAxOTQsIAorICAgIDIyMiwgMTk4LCAxLCAyNDMsIDEyOCwgMjIyLCAxOTgsIDEsIDIzMiwgMjUyLCAyMjIsIDE5OCwgMSwgMjQzLCAxMjksIDIyMiwgCisgICAgMTk4LCAxLCAyMjIsIDEyMiwgMjIyLCAxOTgsIDEsIDIwOSwgMjUwLCAyMjIsIDE5OCwgMSwgMjMzLCAxMDgsIDIyMiwgMTk4LCAKKyAgICAxLCAyNDMsIDEyNiwgMjIyLCAxOTgsIDEsIDIyMSwgMTU0LCAyMjIsIDE5OCwgMjQyLCAyNCwgODMsIDIyMiwgMTk4LCAyMTgsIAorICAgIDIyNCwgMjQyLCAyNCwgODMsIDE4MSwgMSwgMjQyLCAxNCwgMjQyLCA2LCAyNDIsIDI5LCAyNDIsIDEzOSwgMTgxLCAxLCAKKyAgICAyMDksIDE0OCwgMTgxLCAxLCAyMDksIDE3OSwgMjA5LCAxOTUsIDcxLCAxODEsIDEsIDIwNSwgMjE2LCAxODEsIDEsIDIwNiwgCisgICAgMTIzLCAxODEsIDEsIDIwNywgMTI5LCAxODEsIDEsIDIxMSwgMjI0LCAyMTEsIDIyMywgMjExLCAyNDYsIDE4MSwgMSwgMjQyLCAKKyAgICAxOTYsIDE4MSwgMSwgMjUyLCA5MiwgNjIsIDE4MSwgMSwgMjIyLCAxMDcsIDc2LCAxODEsIDEsIDI1MywgMjUsIDYyLCAxODEsIAorICAgIDEsIDI1MiwgMjMyLCAxODEsIDEsIDIyOSwgMTIxLCA3NiwgMTgxLCAxLCAyMTUsIDEzNywgNzYsIDE4MSwgMSwgNzYsIDE4MSwgCisgICAgMSwgMjIyLCAyMDYsIDE4MSwgMSwgMjIyLCAxNjUsIDE4MSwgMSwgMjE5LCA4OCwgMjE5LCAxMDEsIDIxOSwgMTQsIDEzNywgCisgICAgMTgxLCAxLCAyMzEsIDIzOSwgMTgxLCAxLCAyNDgsIDEzMiwgMTgxLCAxLCAyMzEsIDI0MCwgMjMyLCA3NiwgMTgxLCAxLCAKKyAgICAyNDEsIDU1LCAxODEsIDEsIDI0MywgMjgsIDE4MSwgMSwgMjQwLCAxNjUsIDIzOSwgMTYxLCAyNDEsIDU1LCAxODEsIDEsIAorICAgIDI0MCwgMjA0LCAxODEsIDEsIDIwNiwgMjA4LCAyMDYsIDE5OSwgMjA3LCAxMjksIDE4MSwgMSwgMjM5LCAxMzMsIDIzOSwgCisgICAgMTU1LCAxODEsIDEsIDIzOSwgMTM3LCAyMzksIDE1NSwgMTgxLCAxLCAyMjksIDEyMywgMjM5LCAxNTUsIDE4MSwgMSwgMjE1LCAKKyAgICAxNDAsIDIzOSwgMTU1LCAxODEsIDEsIDIyNSwgMTg5LCAyMjMsIDEzNSwgMjI1LCAxOTAsIDIyNiwgMzMsIDE4MSwgMSwgCisgICAgMjE1LCAxMzgsIDIyNiwgMzMsIDE4MSwgMSwgMjQ0LCAxOCwgMTgxLCAxLCAyMzIsIDIzMSwgMjMyLCAyMzUsIDIzMiwgMjIyLCAKKyAgICA3NCwgMTgxLCAxLCA3NSwgMTgxLCAxLCAyMzIsIDE3MywgMjMyLCAyMDMsIDE4MSwgMSwgMjQwLCAxNDksIDE4MSwgMSwgCisgICAgMjI5LCAxMjQsIDI1MiwgMjQ4LCAxODEsIDEsIDIxNSwgMTQyLCA2MiwgMTgxLCAxLCAyMzIsIDIxNCwgMjQzLCAyLCAxODEsIAorICAgIDEsIDIyMSwgMTExLCAyMjEsIDEzNiwgMjIyLCA2NywgMTgxLCAxLCAyNTIsIDE2NSwgMjQzLCAwLCAxODEsIDEsIDIxNCwgCisgICAgMTU5LCAxODIsIDE4MSwgMSwgMjE1LCA2NSwgMjI5LCAxMjAsIDE4MiwgMTgxLCAxLCAyMTUsIDEzNiwgMTgyLCAxODEsIDEsIAorICAgIDI0OSwgMzQsIDE4MSwgMSwgMjA1LCAxNTksIDE4MSwgMSwgMjExLCAxNTIsIDIxMSwgMTYzLCAyMTAsIDg3LCAyMTMsIDEwLCAKKyAgICAxODEsIDEsIDIxNSwgMTM1LCAyMTMsIDEwLCAxODEsIDEsIDI0NiwgMjQwLCAxODEsIDEsIDI1MCwgMTMsIDI1MCwgMTYsIAorICAgIDI0OSwgMjA1LCAyNTEsIDE1MCwgMTgxLCAxLCAyMTUsIDE0MSwgMjUxLCAxNTAsIDE4MSwgMSwgMjQ0LCAxNywgMTgxLCAxLCAKKyAgICAyMjIsIDEzNiwgMTgxLCAxLCAyNDMsIDkxLCAyNDMsIDkzLCA3NSwgMTgxLCAxLCAyMjcsIDIxMiwgMjI3LCAyMjIsIDIyOSwgCisgICAgMjgsIDE4MSwgMSwgMjI5LCAxMjIsIDIyOSwgMjgsIDE4MSwgMSwgMjE1LCAxMzksIDIyOSwgMjgsIDE4MSwgMSwgMjMwLCAKKyAgICA3MywgMjMwLCAxMTksIDIyOSwgMTMxLCAxNDksIDE4MSwgMSwgMjQ0LCAxOSwgMTgxLCAxLCAyMzMsIDQxLCAxODEsIDEsIAorICAgIDIzMywgNDIsIDE4MSwgMSwgMjQ2LCAxMzMsIDI0NiwgMTM5LCAyNDYsIDI0MCwgMTgxLCAxLCAyMjIsIDEwMSwgMjQyLCAKKyAgICAxOTUsIDc2LCAxODEsIDEsIDI0MywgMTI0LCAxODEsIDEsIDIzMiwgMjUxLCAxODEsIDEsIDI0NywgNCwgMTgxLCAxLCAyNDgsIAorICAgIDI0MCwgMTgxLCAxLCAyNDgsIDE0NywgMTgxLCAxLCAyMTQsIDMxLCAxODEsIDEsIDIyOSwgMTE5LCAxODEsIDEsIDIxNSwgCisgICAgMTM0LCAxODEsIDEsIDIzNywgMTgwLCAxODEsIDEsIDIyMCwgMjcsIDE4MSwgMSwgMjA2LCAxOTUsIDE4MSwgMjE1LCA0MSwgCisgICAgMjIwLCA3MSwgMTgxLCAyMjYsIDk1LCAyMjAsIDcxLCAxODEsIDI0NywgNjAsIDIyMCwgNzEsIDE4MSwgMjUyLCAxLCA5MywgCisgICAgMTgxLCAyMTAsIDEzMiwgOTMsIDE4MSwgMjUwLCAzMCwgOTMsIDE4MSwgMSwgMjMyLCA3NiwgMTgxLCAxLCAyMTYsIDQsIAorICAgIDE4MSwgMSwgMjIyLCAxNTIsIDE4MSwgMSwgMjQxLCAxMDksIDI0OCwgMTg2LCAyMjIsIDEwNiwgMTgxLCAxLCAyNDEsIDEwOSwgCisgICAgMjQ4LCAxODYsIDIzMiwgMjM0LCAxODEsIDEsIDI0MSwgMTA5LCAyNDgsIDE4NiwgMjQzLCA5MiwgMTgxLCAxLCAyNDEsIAorICAgIDEwOSwgMjQ4LCAxODYsIDI1MywgMjQsIDE4MSwgMSwgMjQxLCAxMDksIDI0OCwgMTg2LCAyNTIsIDIzMiwgMjEyLCAxOTcsIAorICAgIDEsIDYyLCAyMTIsIDE5NywgMSwgNzQsIDIxMiwgMTk3LCAxLCA3MSwgMjEyLCAxOTcsIDEsIDE3MiwgMjEyLCAxOTcsIDEsIAorICAgIDI0MCwgMjQ0LCAyMTIsIDE5NywgMSwgMjI1LCA3NywgMjEyLCAxOTcsIDEsIDIxMiwgMjE5LCAyMTIsIDE5NywgMSwgMjQ2LCAKKyAgICAxNDUsIDIxMiwgMTk3LCAxLCAxOTksIDIxMiwgMTk3LCAxLCAxNzksIDIxMiwgMTk3LCAxLCAyNTAsIDE4MywgMjEyLCAxOTcsIAorICAgIDEsIDE4NSwgMjEyLCAxOTcsIDEsIDE5MCwgMjEyLCAxOTcsIDEsIDIzMCwgMTQxLCAyMTIsIDE5NywgMSwgMjA3LCA5NiwgCisgICAgMjEyLCAxOTcsIDEsIDIxNywgMTk5LCAyMTIsIDE5NywgMSwgMTU1LCAyMTIsIDE5NywgMjIsIDMsIDc0LCAyMTIsIDE5NywgCisgICAgMjIsIDMsIDcxLCAyMTIsIDE5NywgMywgMjA4LCAxODgsIDIzOSwgOTksIDEsIDYyLCAyMzksIDk5LCAxLCA3NCwgMjM5LCAKKyAgICA5OSwgMSwgNzEsIDIzOSwgOTksIDEsIDE3MiwgMjM5LCA5OSwgMSwgMjQwLCAyNDQsIDIzOSwgOTksIDEsIDIyNSwgNzcsIAorICAgIDIzOSwgOTksIDEsIDIxMiwgMjE5LCAyMzksIDk5LCAxLCAyNDYsIDE0NSwgMjM5LCA5OSwgMSwgMTk5LCAyMzksIDk5LCAxLCAKKyAgICAxNzksIDIzOSwgOTksIDEsIDI1MCwgMTgzLCAyMzksIDk5LCAxLCAxODUsIDIzOSwgOTksIDEsIDE5MCwgMjM5LCA5OSwgMSwgCisgICAgMjE5LCAxMTMsIDIzOSwgOTksIDEsIDIzMCwgMTQxLCAyMzksIDk5LCAxLCAyMDcsIDk2LCAyMzksIDk5LCAxLCAyMTcsIAorICAgIDE5OSwgMjM5LCA5OSwgMSwgMTU1LCAyMzksIDk5LCAyMiwgMywgNzQsIDIzOSwgOTksIDIyLCAzLCA3MSwgMjM5LCA5OSwgMywgCisgICAgMjIyLCA4LCAyMjEsIDcxLCAyMTUsIDQxLCAyMjAsIDcxLCAyMjEsIDcxLCA1MCwgMjIwLCA3MSwgMjQ5LCA5MywgMSwgNjIsIAorICAgIDI0OSwgOTMsIDEsIDc0LCAyNDksIDkzLCAxLCA3MSwgMjQ5LCA5MywgMSwgMTcyLCAyNDksIDkzLCAxLCAyNDAsIDI0NCwgCisgICAgMjQ5LCA5MywgMSwgMjI1LCA3NywgMjQ5LCA5MywgMSwgMjEyLCAyMTksIDI0OSwgOTMsIDEsIDI0NiwgMTQ1LCAyNDksIDkzLCAKKyAgICAxLCAxOTksIDI0OSwgOTMsIDEsIDE3OSwgMjQ5LCA5MywgMSwgMjUwLCAxODMsIDI0OSwgOTMsIDEsIDE4NSwgMjQ5LCA5MywgCisgICAgMSwgMTkwLCAyNDksIDkzLCAxLCAyMTksIDExMywgMjQ5LCA5MywgMSwgMjMwLCAxNDEsIDI0OSwgOTMsIDEsIDIwNywgOTYsIAorICAgIDI0OSwgOTMsIDEsIDIxNywgMTk5LCAyNDksIDkzLCAxLCAxNTUsIDI0OSwgOTMsIDIyLCAzLCA3NCwgMjQ5LCA5MywgMjIsIAorICAgIDMsIDcxLCAyMTIsIDE5NiwgMSwgNjIsIDIxMiwgMTk2LCAxLCA3NCwgMjEyLCAxOTYsIDEsIDcxLCAyMTIsIDE5NiwgMSwgCisgICAgMTcyLCAyMTIsIDE5NiwgMSwgMjQwLCAyNDQsIDIxMiwgMTk2LCAxLCAyMjUsIDc3LCAyMTIsIDE5NiwgMSwgMjEyLCAyMTksIAorICAgIDIxMiwgMTk2LCAxLCAyNDYsIDE0NSwgMjEyLCAxOTYsIDEsIDE5OSwgMjEyLCAxOTYsIDEsIDE3OSwgMjEyLCAxOTYsIDEsIAorICAgIDI1MCwgMTgzLCAyMTIsIDE5NiwgMSwgMTg1LCAyMTIsIDE5NiwgMSwgMTkwLCAyMTIsIDE5NiwgMSwgMjMwLCAxNDEsIDIxMiwgCisgICAgMTk2LCAxLCAyMDcsIDk2LCAyMTIsIDE5NiwgMSwgMjE3LCAxOTksIDIxMiwgMTk2LCAyMiwgMywgNzQsIDIxMiwgMTk2LCAKKyAgICAyMiwgMywgNzEsIDgyLCAxLCAxNzIsIDgyLCAxLCAyMzEsIDE2NywgODIsIDEsIDIzMSwgNTMsIDgyLCAxLCAyMzEsIDEzOCwgCisgICAgODIsIDEsIDIyNSwgMiwgODIsIDEsIDI0OSwgMSwgODIsIDEsIDI0OCwgMTEwLCA4MiwgMSwgMjQ3LCAxNzQsIDgyLCAxLCAKKyAgICAyNDgsIDMyLCA4MiwgMSwgMjIzLCAxMTAsIDgyLCAxLCAyNDYsIDE0NSwgODIsIDEsIDIxMCwgMTk2LCA4MiwgMSwgMjQ1LCAKKyAgICA1MSwgODIsIDEsIDIxMCwgMTkxLCA4MiwgMSwgMjI0LCA3MywgODIsIDEsIDIxMiwgMjE5LCA4MiwgMSwgMjEyLCA1NiwgODIsIAorICAgIDEsIDEyNCwgODIsIDEsIDIxMSwgMjUzLCA4MiwgMSwgMjI0LCA2NywgODIsIDEsIDI1MCwgMTgzLCA4MiwgMSwgMjIxLCA5MywgCisgICAgODIsIDEsIDIyMCwgMjExLCA4MiwgMSwgMjIxLCA2NiwgODIsIDEsIDIyNiwgMTgxLCA4MiwgMSwgMjA1LCAyNDcsIDgyLCAxLCAKKyAgICAyMTgsIDEyNCwgODIsIDEsIDIyOSwgMTQ0LCA4MiwgMSwgMjA4LCAxNzMsIDgyLCAxLCAyMTYsIDIsIDgyLCAxLCAyMTQsIAorICAgIDU2LCA4MiwgMSwgMjE3LCAxOTksIDgyLCAxLCAxNTUsIDgyLCAxLCAyMzAsIDE0MSwgODIsIDEsIDIyMCwgMTksIDgyLCAKKyAgICAyMzMsIDU1LCAyMiwgMjIwLCA1LCA4MiwgMjMzLCA1NSwgMjIsIDIyMCwgMTgsIDgyLCAyMzMsIDU1LCAyMiwgMjE5LCAyMzcsIAorICAgIDgyLCAyMzMsIDU1LCAyMiwgMjE5LCAyMzIsIDgyLCAyMzMsIDU1LCAyMiwgMjE5LCAyMTQsIDgyLCAyMzMsIDU1LCAyMiwgCisgICAgMjE5LCAxODQsIDgyLCAyMzMsIDU1LCAyMiwgMjE5LCAxNzIsIDgyLCAyMzMsIDU1LCAyMiwgMjE5LCAxNzEsIDgyLCAyMzMsIAorICAgIDU1LCAyMiwgMjE4LCA5LCA4MiwgMjMzLCA1NSwgMjIsIDIxOCwgMiwgODIsIDIzMywgNTUsIDIyLCAyMjksIDQyLCA4MiwgCisgICAgMjMzLCA1NSwgMjIsIDIyOSwgMzEsIDgyLCAyMzMsIDU1LCAyMiwgMjE5LCAyNTUsIDgyLCAyMzMsIDU1LCAyMiwgMjIwLCAKKyAgICAxMSwgODIsIDIzMywgNTUsIDIyLCAyMTksIDIyMiwgMjEwLCA5NSwgMTAyLCA4MiwgMjMzLCA1NSwgMjIsIDIxOSwgMjIyLCAKKyAgICAyMTAsIDk1LCAxMDUsIDgyLCAyMzMsIDU1LCAyMiwgMjIwLCAxLCA4MiwgMjIsIDIzMywgNDAsIDI1MiwgNDEsIDgyLCAyMiwgCisgICAgMjMzLCA0MCwgMjUzLCAxNjQsIDgyLCAyMiwgMywgMjUzLCAxNjQsIDgyLCAyMiwgMywgNzQsIDgyLCAyMiwgMywgMjMzLCAKKyAgICAxMDIsIDgyLCAyMiwgMywgMjA2LCAxMjMsIDgyLCAyMiwgMywgMjA1LCAxNjksIDgyLCAyMiwgMywgNzEsIDgyLCAyMiwgMywgCisgICAgMjA5LCAxNjIsIDgyLCAyMiwgMywgMjEwLCAxOCwgODIsIDIyLCAzLCAyMjIsIDIwNiwgODIsIDIyLCAzLCAxOTAsIDgyLCAKKyAgICAyMiwgMywgMjMzLCAxMjksIDgyLCAyMiwgMywgNzUsIDgyLCAyMiwgMywgMjUyLCAyNDgsIDgyLCAyMiwgMywgMjUyLCAyMDUsIAorICAgIDgyLCAyMiwgMywgMjIyLCAxNTIsIDgyLCAyMiwgMywgMjUxLCAxODQsIDgyLCAzLCAyMjQsIDIwMywgODIsIDMsIDIxOSwgCisgICAgNDksIDgyLCAzLCAyMDUsIDE4MCwgODIsIDMsIDIyNiwgNjAsIDgyLCAzLCAyMTEsIDM5LCA4MiwgMywgMjUwLCAxMzEsIDgyLCAKKyAgICAzLCAyMTgsIDExOSwgODIsIDMsIDIxMSwgMTI4LCA4MiwgMywgMjMyLCAzNCwgODIsIDMsIDI1MiwgMjA3LCA4MiwgMywgCisgICAgMjE3LCAxNTIsIDIxNywgMTQ1LCA4MiwgMywgMjA4LCAxODUsIDgyLCAzLCAyNDcsIDE2OCwgODIsIDMsIDI1MCwgMTA0LCAKKyAgICA4MiwgMywgMjMxLCAxNTksIDgyLCAzLCAyNTAsIDEyNiwgODIsIDMsIDI0OCwgMjI5LCAyMjEsIDE2LCAyMzAsIDIwMSwgODIsIAorICAgIDMsIDIzMCwgMjcsIDIxMSwgMTA1LCA4MiwgMywgMjUwLCAyLCA4MiwgMywgMjIxLCA2OCwgMjI2LCAxMTEsIDgyLCAzLCAKKyAgICAyMzEsIDMxLCA4MiwgMjQ3LCAyNSwgMTYsIDIxOCwgMjAwLCA4MiwgMywgMjUxLCAxNjYsIDgyLCAzLCAyNTEsIDE4NywgODIsIAorICAgIDE4LCAyMDUsIDg1LCA4MiwgMTgsIDEwMiwgODIsIDE4LCAxMDUsIDgyLCAxOCwgMTQyLCA4MiwgMTgsIDEzOSwgODIsIDE4LCAKKyAgICAxNjgsIDgyLCAxOCwgMTg0LCA4MiwgMTgsIDE5NSwgODIsIDE4LCAxOTMsIDgyLCAxOCwgMjAwLCA4MiwgMTYsIDIzMCwgMjcsIAorICAgIDI1MSwgMTg5LCAyMTQsIDE3NywgODIsIDE2LCAyMzAsIDI3LCAyNTEsIDE4OSwgMjI2LCA4MCwgODIsIDE2LCAyMzAsIDI3LCAKKyAgICAyNTEsIDE4OSwgMjIxLCAxNSwgODIsIDE2LCAyMzAsIDI3LCAyNTEsIDE4OSwgMjUwLCAzMywgODIsIDE2LCAyMzAsIDI3LCAKKyAgICAyNTEsIDE4OSwgMjQ5LCA3MywgODIsIDE2LCAyMzAsIDI3LCAyNTEsIDE4OSwgMjIwLCAxNTIsIDgyLCAxNiwgMjMwLCAyNywgCisgICAgMjUxLCAxODksIDIyMCwgMTQ2LCA4MiwgMTYsIDIzMCwgMjcsIDI1MSwgMTg5LCAyMjAsIDE0NCwgODIsIDE2LCAyMzAsIDI3LCAKKyAgICAyNTEsIDE4OSwgMjIwLCAxNTAsIDgyLCAxNiwgMjMwLCAyNywgMjUxLCAxODksIDIyMCwgMTQ4LCA5MCwgMjQ5LCAyMTcsIAorICAgIDkwLCAyNDMsIDU0LCA5MCwgMjQ3LCAxNTUsIDkwLCAyNDEsIDgyLCAyMTMsIDI1MSwgOTAsIDI0NywgMTYyLCA5MCwgMjQxLCAKKyAgICAxMjUsIDI0NSwgMjEsIDkwLCAyMTEsIDEyNywgMjE0LCAxODcsIDIzNywgMjM5LCA5MCwgMjE1LCA3OCwgNCwgMjQ5LCAxNTAsIAorICAgIDIyNywgMTg3LCA5MCwgMjI3LCAyMTgsIDI0NywgMTU1LCA5MCwgMjI3LCAyMTgsIDI0MSwgODIsIDIxMywgMjUxLCA5MCwgCisgICAgMjI0LCAxODYsIDkwLCAyNDEsIDEwOCwgNTQsIDIxNywgNjAsIDEwMiwgOTAsIDI0MSwgMTA4LCA1NCwgMjE3LCA2MCwgMTA1LCAKKyAgICA5MCwgMjQxLCAxMDgsIDU0LCAyMTcsIDYwLCAxNDIsIDkwLCAyMiwgMjE2LCAzOSwgOTAsIDE4LCAyMDUsIDg1LCA5MCwgMTgsIAorICAgIDEwMiwgOTAsIDE4LCAxMDUsIDkwLCAxOCwgMTQyLCA5MCwgMTgsIDEzOSwgOTAsIDE4LCAxNjgsIDkwLCAxOCwgMTg0LCA5MCwgCisgICAgMTgsIDE5NSwgOTAsIDE4LCAxOTMsIDkwLCAxOCwgMjAwLCA5MCwgMSwgNjIsIDkwLCAxLCA3NSwgOTAsIDEsIDc0LCA5MCwgCisgICAgMSwgNzYsIDkwLCAxLCA3MSwgOTAsIDEsIDIyMiwgMjA2LCA5MCwgMSwgMjEwLCAzLCA5MCwgMSwgMjQzLCAxMDQsIDkwLCAxLCAKKyAgICAxOTksIDkwLCAxLCAyNTIsIDExNCwgOTAsIDEsIDI1MCwgMTgzLCA5MCwgMSwgMTc5LCA5MCwgMSwgMjIwLCAxOSwgOTAsIDEsIAorICAgIDI0MCwgMjQ0LCA5MCwgMSwgMTg1LCA5MCwgMSwgMjMwLCAxNDEsIDkwLCAxLCAyMTcsIDE5OSwgOTAsIDEsIDIxNiwgMiwgCisgICAgOTAsIDEsIDIxMiwgMjE5LCA5MCwgMSwgMjQ2LCAxNDUsIDkwLCAxLCAyNDgsIDExMCwgOTAsIDEsIDIzMiwgMjAwLCA5MCwgCisgICAgMSwgMTkwLCA5MCwgMSwgMjE5LCAxMTMsIDkwLCAxLCAyMDcsIDk2LCA5MCwgMSwgMjQyLCA3MywgOTAsIDEsIDE3MiwgOTAsIAorICAgIDEsIDIzMSwgMTY3LCA5MCwgMSwgMjEwLCAyNDMsIDkwLCAxLCAyMDUsIDExNiwgOTAsIDEsIDIzOSwgMTQxLCA5MCwgMSwgCisgICAgMjA1LCAxMiwgOTAsIDEsIDIyOSwgMjQ4LCA5MCwgMSwgMjA1LCA2NywgOTAsIDEsIDI0OCwgNTgsIDkwLCAxLCAyMTEsIAorICAgIDEyNywgMTUyLCAyMiwgNTMsIDkwLCAxLCAyMTEsIDEyNywgNzUsIDkwLCAxLCAyMTEsIDEyNywgNzQsIDkwLCAxLCAyMTEsIAorICAgIDEyNywgNzYsIDkwLCAxLCAyMTEsIDEyNywgNzEsIDkwLCAxLCAyMTEsIDEyNywgMjIyLCAyMDYsIDkwLCAxLCAyMTEsIDEyNywgCisgICAgMjEwLCAzLCA5MCwgMSwgMjExLCAxMjcsIDI1MiwgMTE0LCA5MCwgMSwgMjExLCAxMjcsIDI1MCwgMTgzLCA5MCwgMSwgMjExLCAKKyAgICAxMjcsIDE3OSwgOTAsIDEsIDIxMSwgMTI3LCAyMjAsIDE5LCA5MCwgMSwgMjExLCAxMjcsIDI0MCwgMjQ0LCA5MCwgMSwgCisgICAgMjExLCAxMjcsIDE4NSwgOTAsIDEsIDIxMSwgMTI3LCAyMTIsIDIxOSwgOTAsIDEsIDIxMSwgMTI3LCAyNDYsIDE0NSwgOTAsIAorICAgIDEsIDIxMSwgMTI3LCAyNDgsIDExMCwgOTAsIDEsIDIxMSwgMTI3LCAyMzIsIDIwMCwgOTAsIDEsIDIxMSwgMTI3LCAyMTAsIAorICAgIDI0MywgOTAsIDEsIDIxMSwgMTI3LCAxOTAsIDkwLCAxLCAyMTEsIDEyNywgMjA3LCA5NiwgOTAsIDEsIDIxMSwgMTI3LCAKKyAgICAxNzIsIDkwLCAxLCAyMTEsIDEyNywgMjQwLCAyNDEsIDkwLCAxLCAyMTEsIDEyNywgMjM5LCAxNDEsIDkwLCAxLCAyMTEsIAorICAgIDEyNywgMjMyLCAxNjEsIDkwLCAxLCAyMTEsIDEyNywgMjI0LCAyMjgsIDkwLCAxLCAyMTEsIDEyNywgMjQzLCAxOTYsIDkwLCAKKyAgICAxLCAyMTUsIDc4LCA3NSwgOTAsIDEsIDIxNSwgNzgsIDc0LCA5MCwgMSwgMjE1LCA3OCwgMjMyLCAyMTEsIDkwLCAxLCAyMTUsIAorICAgIDc4LCAyMTAsIDMsIDkwLCAxLCAyMTUsIDc4LCA3MSwgOTAsIDEsIDIxNSwgNzgsIDI1MiwgMTE0LCA5MCwgMSwgMjE1LCA3OCwgCisgICAgMTcyLCA5MCwgMSwgMjE1LCA3OCwgMjQwLCAyNDQsIDkwLCAxLCAyMTUsIDc4LCAxNTUsIDkwLCAxLCAyMTUsIDc4LCAxNzksIAorICAgIDkwLCAxLCAyMTUsIDc4LCAyMTYsIDIsIDkwLCAxLCAyMTUsIDc4LCAyMTIsIDIxOSwgOTAsIDEsIDIxNSwgNzgsIDI0NiwgCisgICAgMTQ1LCA5MCwgMSwgMjE1LCA3OCwgMjMyLCAyMDAsIDkwLCAxLCAyMTUsIDc4LCAyNDIsIDczLCA5MCwgMSwgMjE1LCA3OCwgCisgICAgMjQwLCAyNDEsIDkwLCAxLCAyMTUsIDc4LCAyMzksIDE0MSwgOTAsIDEsIDIxNSwgNzgsIDIxMCwgMjQzLCA5MCwgMSwgMjE1LCAKKyAgICA3OCwgMjA1LCAxMTYsIDkwLCAxLCAyMTUsIDc4LCAyMTksIDEwOSwgOTAsIDEsIDIxNSwgNzgsIDI0OCwgMTEwLCA5MCwgMSwgCisgICAgMjE1LCA3OCwgMjA1LCA4MSwgOTAsIDEsIDIyNywgMjE4LCA3NCwgOTAsIDEsIDIyNywgMjE4LCAxNzIsIDkwLCAxLCAyMjcsIAorICAgIDIxOCwgMjE5LCAxMTMsIDkwLCAxLCAyMjcsIDIxOCwgMjQyLCA3MywgOTAsIDEsIDIyNywgMjE4LCAyMDUsIDgxLCA5MCwgMSwgCisgICAgMjUyLCAxNjQsIDI0MCwgMjI0LCAyNTIsIDc0LCAxMDIsIDkwLCAxLCAyNTIsIDE2NCwgMjQwLCAyMjQsIDIwOCwgMTg0LCAKKyAgICAxMDIsIDkwLCAxLCAyNTIsIDE2NCwgMjQwLCAyMjQsIDI0NiwgMTA4LCA5MCwgMSwgMjUyLCAxNjQsIDI0MCwgMjI0LCAyMTAsIAorICAgIDEzLCA5MCwgMSwgMjUyLCAxNjQsIDI0MCwgMjI0LCAyMzMsIDIsIDIxMCwgMTMsIDkwLCAxLCAyNTIsIDE2NCwgMjQwLCAKKyAgICAyMjQsIDI1MCwgMTQzLCA5MCwgMSwgMjUyLCAxNjQsIDI0MCwgMjI0LCAxMjksIDI1MCwgMTQzLCA5MCwgMSwgMjUyLCAxNjQsIAorICAgIDI0MCwgMjI0LCA2MiwgOTAsIDEsIDI1MiwgMTY0LCAyNDAsIDIyNCwgNzQsIDkwLCAxLCAyNTIsIDE2NCwgMjQwLCAyMjQsIAorICAgIDE3MiwgOTAsIDEsIDI1MiwgMTY0LCAyNDAsIDIyNCwgMjI1LCA3NywgOTAsIDEsIDI1MiwgMTY0LCAyNDAsIDIyNCwgMjQ5LCAKKyAgICAxLCA5MCwgMSwgMjUyLCAxNjQsIDI0MCwgMjI0LCAyMTAsIDIwOCwgOTAsIDEsIDI1MiwgMTY0LCAyNDAsIDIyNCwgMjEwLCAKKyAgICAxOTYsIDkwLCAxLCAyNTIsIDE2NCwgMjQwLCAyMjQsIDI0NiwgNTQsIDkwLCAxLCAyNTIsIDE2NCwgMjQwLCAyMjQsIDIyNCwgCisgICAgMTAzLCA5MCwgMSwgMjUyLCAxNjQsIDI0MCwgMjI0LCAyMTIsIDIxOSwgOTAsIDEsIDI1MiwgMTY0LCAyNDAsIDIyNCwgMjQ2LCAKKyAgICAxNDUsIDkwLCAxLCAyNTIsIDE2NCwgMjQwLCAyMjQsIDE3OSwgOTAsIDEsIDI1MiwgMTY0LCAyNDAsIDIyNCwgMjIxLCA5MywgCisgICAgOTAsIDEsIDI1MiwgMTY0LCAyNDAsIDIyNCwgMjE0LCA5NiwgOTAsIDEsIDI1MiwgMTY0LCAyNDAsIDIyNCwgMjA1LCA4MSwgCisgICAgOTAsIDEsIDI1MiwgMTY0LCAyNDAsIDIyNCwgMjA1LCAxMTYsIDkwLCAxLCAyNTIsIDE2NCwgMjQwLCAyMjQsIDI1MiwgMjEzLCAKKyAgICA5MCwgMSwgMjExLCAxMjcsIDI1MiwgMTY0LCAyNDAsIDIyNCwgMjEyLCAyMTksIDkwLCAxLCAyMTEsIDEyNywgMjUyLCAxNjQsIAorICAgIDI0MCwgMjI0LCAyMDUsIDgxLCA5MCwgMSwgMjI3LCAyMTgsIDI1MiwgMTY0LCAyNDAsIDIyNCwgMjQwLCA5OSwgOTAsIDEsIAorICAgIDIyNywgMjE4LCAyNTIsIDE2NCwgMjQwLCAyMjQsIDIyNSwgNzcsIDkwLCAxLCAyMjcsIDIxOCwgMjUyLCAxNjQsIDI0MCwgCisgICAgMjI0LCAyNDksIDEsIDkwLCAxLCAyMjcsIDIxOCwgMjUyLCAxNjQsIDI0MCwgMjI0LCAyMzIsIDE3MCwgOTAsIDEsIDIyNywgCisgICAgMjE4LCAyNTIsIDE2NCwgMjQwLCAyMjQsIDIxMCwgMjA4LCA5MCwgMSwgMjI3LCAyMTgsIDI1MiwgMTY0LCAyNDAsIDIyNCwgCisgICAgMjQ2LCAzOCwgOTAsIDEsIDIyNywgMjE4LCAyNTIsIDE2NCwgMjQwLCAyMjQsIDIxMiwgMjE5LCA5MCwgMSwgMjI3LCAyMTgsIAorICAgIDI1MiwgMTY0LCAyNDAsIDIyNCwgMjQ1LCAxOTIsIDkwLCAxLCAyMjcsIDIxOCwgMjUyLCAxNjQsIDI0MCwgMjI0LCAyMTQsIAorICAgIDk2LCA5MCwgMSwgMjI3LCAyMTgsIDI1MiwgMTY0LCAyNDAsIDIyNCwgMjQ2LCAyNTQsIDkwLCAxLCAyMjcsIDIxOCwgMjUyLCAKKyAgICAxNjQsIDI0MCwgMjI0LCAyMDUsIDgxLCA5MCwgMSwgMjI3LCAyMTgsIDI1MiwgMTY0LCAyNDAsIDIyNCwgMjA1LCAxMTYsIAorICAgIDkwLCAxLCAyNTIsIDE2NCwgMjQwLCAyMjQsIDE2MCwgNzEsIDkwLCAxLCAyNTIsIDE2NCwgMjQwLCAyMjQsIDE2MCwgMTkwLCAKKyAgICA5MCwgMSwgMjI3LCAyMTgsIDI1MiwgMTY0LCAyNDAsIDIyNCwgMjUwLCAwLCA5MCwgMSwgMjUyLCAxNjQsIDI0MCwgMjI0LCAKKyAgICAyNDYsIDEzNCwgOTAsIDEsIDIyNywgMjE4LCAyNTIsIDE2NCwgMjQwLCAyMjQsIDIyOSwgMjQ4LCAxOSwgMjAsIDIyMiwgNzEsIAorICAgIDE5LCAyMCwgMjUxLCAxNTksIDE5LCAyMCwgMjUzLCAxMTksIDE5LCAyMCwgMjA3LCA1NCwgMTksIDIwLCAyMjAsIDE1OCwgCisgICAgMTksIDIwLCAyMjEsIDE4MywgMTksIDIwLCAyMjAsIDM2LCAxOSwgMjAsIDIxMiwgMTQwLCAxOSwgMjAsIDIzMSwgMjMxLCAKKyAgICAxOSwgMjAsIDIzMCwgMTkyLCAxOSwgMjAsIDIyNywgMTYyLCAxOSwgMjAsIDIyNCwgMjYsIDE5LCAyMCwgMjI1LCAxODUsIAorICAgIDE5LCAyMCwgMjMwLCA2OCwgMTksIDIwLCAyMTQsIDE1NywgMTksIDIwLCAyMTcsIDExNiwgMTksIDIwLCAyMTUsIDEyNCwgCisgICAgMTksIDIwLCAyMTUsIDIxOCwgMTksIDIwLCAyMTUsIDkwLCAxOSwgMjAsIDIwNSwgMjIyLCAxOSwgMjAsIDIwNiwgNTgsIDE5LCAKKyAgICAyMCwgMjE5LCA1OCwgMTksIDIwLCAyMjMsIDE1MCwgMTksIDIwLCAyMjIsIDE4NywgMjIzLCAxNTAsIDE5LCAyMCwgMjIzLCAKKyAgICAxNDksIDE5LCAyMCwgMjIyLCAxODcsIDIyMywgMTQ5LCAxOSwgMjAsIDIyMywgMTQ4LCAxOSwgMjAsIDIyMiwgMTg3LCAyMjMsIAorICAgIDE0OCwgMTksIDIwLCAyMjMsIDE0NywgMTksIDIwLCAyMjIsIDE4NywgMjIzLCAxNDcsIDE5LCAyMCwgMjE4LCAxNCwgMTksIAorICAgIDIwLCAyMTgsIDEzLCAxOSwgMjAsIDIxOCwgMTIsIDE5LCAyMCwgMjE4LCAxMSwgMTksIDIwLCAyMTgsIDEwLCAxOSwgMjAsIAorICAgIDIxOCwgMTgsIDE5LCAyMCwgMjIyLCAxODcsIDIyMiwgNjcsIDE5LCAyMCwgMjIyLCAxODcsIDIxMywgMTAsIDE5LCAyMCwgCisgICAgMjIyLCAxODcsIDIzMiwgNzYsIDE5LCAyMCwgMjIyLCAxODcsIDI0OSwgMzQsIDE5LCAyMCwgMjIyLCAxODcsIDIyOSwgMjgsIAorICAgIDE5LCAyMCwgMjIyLCAxODcsIDIyNiwgMzMsIDE5LCAyMCwgMjIyLCAxODcsIDE4MiwgMTksIDIwLCAyMjIsIDE4NywgMjE2LCAKKyAgICA0LCAxOSwgMjAsIDI0MywgMTE1LCAyMDcsIDEyOSwgMTksIDIwLCAyMDcsIDM0LCAyMDcsIDEyOSwgMTksIDIwLCA0MiwgNSwgCisgICAgMjE4LCAxNDgsIDE5LCAyMCwgNDIsIDIxOSwgODEsIDI0NSwgMjMsIDE5LCAyMCwgMjE5LCAxNDksIDIxOCwgMTUsIDE5LCAKKyAgICAyMCwgMTgwLCAyMjksIDExNSwgMTksIDIwLCAxODAsIDIzMCwgMTQwLCAxOSwgMjAsIDIxMSwgMjIwLCAxOSwgMjAsIDIxMSwgCisgICAgMjIyLCAxOSwgMjAsIDIxMCwgMTg4LCAxOSwgMjAsIDIxMCwgMTkwLCAxOSwgMjAsIDIxMCwgMTk1LCAxOSwgMjAsIDIxMSwgCisgICAgMTM3LCAxOSwgMjAsIDIxMSwgMTM5LCAxOSwgMjAsIDIxNywgMTE0LCAyMTUsIDk1LCAxOSwgMjAsIDIxNywgMTE0LCAyMTUsIAorICAgIDE1MiwgMTksIDIwLCAyMTcsIDExNCwgMjM4LCAxMzEsIDE5LCAyMCwgODUsIDIzOSwgMTY5LCAxOSwgMjAsIDg1LCAyNDUsIAorICAgIDIyNSwgMjQwLCAxNjIsIDE5LCAyMCwgODUsIDI0MCwgMjQxLCAxOSwgMjAsIDg1LCAyMzksIDE3NCwgMTksIDIwLCAyMTcsIAorICAgIDExNCwgMjMyLCA4NiwgMTksIDIwLCA4NSwgMjMyLCA4NCwgMTksIDIwLCAyNTAsIDUzLCAyNDUsIDIyNSwgMTQ5LCAxOSwgCisgICAgMjAsIDI1MCwgNTMsIDI0NSwgMjI1LCAxMzcsIDE5LCAyMCwgODUsIDI0NSwgMjIwLCAxODIsIDIyOSwgMjE1LCAyMDgsIAorICAgIDE1NCwgMjMwLCA1LCAyMjksIDIxNSwgMSwgMTcyLCAyMjksIDIxNSwgMSwgMjMxLCAxNjcsIDIyOSwgMjE1LCAxLCAyNDAsIAorICAgIDI0NCwgMjI5LCAyMTUsIDEsIDI0MCwgOTksIDIyOSwgMjE1LCAxLCAyMjUsIDc3LCAyMjksIDIxNSwgMSwgMjQ5LCAxLCAKKyAgICAyMjksIDIxNSwgMSwgMjQ4LCAxMTAsIDIyOSwgMjE1LCAxLCAyMzIsIDIwMCwgMjI5LCAyMTUsIDEsIDIzMiwgMTcwLCAyMjksIAorICAgIDIxNSwgMSwgMjA2LCA3NywgMjI5LCAyMTUsIDEsIDIxMiwgMjE5LCAyMjksIDIxNSwgMSwgMjEyLCA1NiwgMjI5LCAyMTUsIAorICAgIDEsIDI0NiwgMTQ1LCAyMjksIDIxNSwgMSwgMjQ1LCAxOTIsIDIyOSwgMjE1LCAxLCAxOTksIDIyOSwgMjE1LCAxLCAxNzksIAorICAgIDIyOSwgMjE1LCAxLCAyMjEsIDkzLCAyMjksIDIxNSwgMSwgMjUwLCAxODMsIDIyOSwgMjE1LCAxLCAyNTAsIDAsIDIyOSwgCisgICAgMjE1LCAxLCAxODUsIDIyOSwgMjE1LCAxLCAxOTAsIDIyOSwgMjE1LCAxLCAyMTksIDExMywgMjI5LCAyMTUsIDEsIDIzMCwgCisgICAgMTQxLCAyMjksIDIxNSwgMSwgMjA3LCA5NiwgMjI5LCAyMTUsIDEsIDIxNiwgMiwgMjI5LCAyMTUsIDEsIDIxNCwgOTYsIAorICAgIDIyOSwgMjE1LCAxLCAyMTcsIDE5OSwgMjI5LCAyMTUsIDEsIDE1NSwgMjI5LCAyMTUsIDEsIDIzOSwgMTY1LCAyMjksIDIxNSwgCisgICAgMSwgMjExLCA4MywgMjI5LCAyMTUsIDIyLCAzLCA2MiwgMjI5LCAyMTUsIDIyLCAzLCA3NCwgMjI5LCAyMTUsIDIyLCAzLCAKKyAgICA3MSwgMjI5LCAyMTUsIDIyLCAzLCAyNDMsIDEwNCwgMjI5LCAyMTUsIDIyLCAzLCAyNTIsIDIwNSwgMjI5LCAyMTUsIDIyLCAKKyAgICAzLCAyMjIsIDE1MiwgMjI5LCAyMTUsIDIyLCAzLCAyNTEsIDE4NCwgMjI5LCAyMTUsIDIyLCAzLCA3NSwgMjI5LCAyMTUsIAorICAgIDIyLCAzLCA3NiwgMjI5LCAyMTUsIDIxMywgMTkxLCAxLCAxOTAsIDIyOSwgMjE1LCAyMTMsIDE5MSwgMSwgMjE5LCAxMTMsIAorICAgIDIyOSwgMjE1LCAyMTMsIDE5MSwgMSwgMjA3LCA5NiwgMjI5LCAyMTUsIDUsIDEsIDE3MiwgMjI5LCAyMTUsIDUsIDEsIDIyNSwgCisgICAgNzcsIDIyOSwgMjE1LCA1LCAxLCAyNTIsIDczLCAyMjksIDIxNSwgNSwgMSwgMjEyLCAyMTksIDIyOSwgMjE1LCA1LCAxLCAKKyAgICAxOTksIDIyOSwgMjE1LCA1LCAxLCAxNzksIDIyOSwgMjE1LCA1LCAxLCAxODUsIDIyOSwgMjE1LCA1LCAxLCAyMTksIDExMywgCisgICAgMjI5LCAyMTUsIDUsIDEsIDIzMCwgMTQxLCAyMjksIDIxNSwgMywgMjI2LCA5OSwgMjI5LCAyMTUsIDMsIDIzMSwgMjA5LCAKKyAgICAyMjksIDIxNSwgMywgMjE3LCAxOTcsIDIyOSwgMjE1LCAzLCAyMjksIDExNSwgMjI5LCAyMTUsIDI0MiwgMTY4LCA4MywgCisgICAgMjI5LCAyMTUsIDIxOSwgMTk2LCA4MywgMjI5LCAyMTUsIDE4LCAyMDUsIDg1LCAyMjksIDIxNSwgMTgsIDEwMiwgMjI5LCAKKyAgICAyMTUsIDE4LCAxMDUsIDIyOSwgMjE1LCAxOCwgMTQyLCAyMjksIDIxNSwgMTgsIDEzOSwgMjI5LCAyMTUsIDE4LCAxNjgsIAorICAgIDIyOSwgMjE1LCAxOCwgMTg0LCAyMjksIDIxNSwgMTgsIDE5NSwgMjI5LCAyMTUsIDE4LCAxOTMsIDIyOSwgMjE1LCAxOCwgCisgICAgMjAwLCA0MSwgMjMwLCA1OSwgMSwgMTcyLCA0MSwgMjMwLCA1OSwgMSwgMjA2LCAxODEsIDQxLCAyMzAsIDU5LCAxLCAyMjUsIAorICAgIDc3LCA0MSwgMjMwLCA1OSwgMSwgMjEwLCAyNDMsIDQxLCAyMzAsIDU5LCAxLCAyMTcsIDE5OSwgNDEsIDIzMCwgNTksIDEsIAorICAgIDE5MCwgNDEsIDIzMCwgNTksIDEsIDIxMiwgMjE5LCA0MSwgMjMwLCA1OSwgMSwgMjEyLCA1NiwgNDEsIDIzMCwgNTksIDEsIAorICAgIDIzMCwgMTQxLCA0MSwgMjMwLCA1OSwgMSwgMTc5LCA0MSwgMjMwLCA1OSwgMSwgMjIxLCA5MywgNDEsIDIzMCwgNTksIDEsIAorICAgIDE4NSwgNDEsIDIzMCwgNTksIDEsIDI0MiwgNzMsIDQxLCAyMzAsIDU5LCAxLCAyMDksIDcwLCA0MSwgMjMwLCA1OSwgMSwgCisgICAgMTU1LCA0MSwgMjMwLCA1OSwgMSwgMjIwLCAxOSwgNDEsIDIzMCwgNTksIDEsIDIzMSwgMTY3LCA0MSwgMjMwLCA1OSwgMSwgCisgICAgMjEwLCAyMzMsIDQxLCAyMzAsIDU5LCAxLCAxOTksIDQxLCAyMzAsIDU5LCAxLCA2MiwgNDEsIDIzMCwgNTksIDEsIDc0LCAKKyAgICA0MSwgMjMwLCA1OSwgMSwgMjQzLCAxMDQsIDQxLCAyMzAsIDU5LCAxLCAyNDMsIDkyLCA0MSwgMjMwLCA1OSwgMSwgNzEsIAorICAgIDQxLCAyMzAsIDU5LCAxLCAyMjIsIDE1MiwgNDEsIDIzMCwgNTksIDEsIDc2LCA0MSwgMjMwLCA1OSwgMSwgMjEwLCAzLCA0MSwgCisgICAgMjMwLCA1OSwgMSwgNzUsIDQxLCAyMzAsIDU5LCAxLCAyNTEsIDE4MiwgNDEsIDIzMCwgNTksIDEsIDI1MiwgMjA1LCA0MSwgCisgICAgMjMwLCA1OSwgMSwgMjExLCAxMTYsIDQxLCAyMzAsIDU5LCAxLCAyMTEsIDExNSwgNDEsIDIzMCwgNTksIDEsIDIxMSwgMTE0LCAKKyAgICA0MSwgMjMwLCA1OSwgMSwgMjExLCAxMTMsIDQxLCAyMzAsIDU5LCAxLCAyMTEsIDExMiwgMTg2LCA0MSwgMjI5LCA3NSwgMSwgCisgICAgMTI3LCAyMjAsIDE5LCAxODYsIDQxLCAyMjksIDc1LCAxLCAxMTQsIDIyMCwgMTksIDE4NiwgNDEsIDIyOSwgNzUsIDEsIAorICAgIDEyNywgMTcyLCAxODYsIDQxLCAyMjksIDc1LCAxLCAxMjcsIDIwNiwgMTgxLCAxODYsIDQxLCAyMjksIDc1LCAxLCAxMjcsIAorICAgIDIyNSwgNzcsIDE4NiwgNDEsIDIyOSwgNzUsIDEsIDExNCwgMTcyLCAxODYsIDQxLCAyMjksIDc1LCAxLCAxMTQsIDIwNiwgCisgICAgMTgxLCAxODYsIDQxLCAyMjksIDc1LCAxLCAxMTQsIDIyNSwgNzcsIDE4NiwgNDEsIDIyOSwgNzUsIDEsIDEyNywgMjEwLCAKKyAgICAyNDMsIDE4NiwgNDEsIDIyOSwgNzUsIDEsIDEyNywgMjE3LCAxOTksIDE4NiwgNDEsIDIyOSwgNzUsIDEsIDEyNywgMTkwLCAKKyAgICAxODYsIDQxLCAyMjksIDc1LCAxLCAxMTQsIDIxMCwgMjQzLCAxODYsIDQxLCAyMjksIDc1LCAxLCAxMTQsIDIxNywgMTk5LCAKKyAgICAxODYsIDQxLCAyMjksIDc1LCAxLCAxMTQsIDE5MCwgMTg2LCA0MSwgMjI5LCA3NSwgMSwgMTI3LCAyMTIsIDIxOSwgMTg2LCAKKyAgICA0MSwgMjI5LCA3NSwgMSwgMTI3LCAyMTIsIDU2LCAxODYsIDQxLCAyMjksIDc1LCAxLCAxMjcsIDE5OSwgMTg2LCA0MSwgCisgICAgMjI5LCA3NSwgMSwgMTE0LCAyMTIsIDIxOSwgMTg2LCA0MSwgMjI5LCA3NSwgMSwgMTE0LCAyMTIsIDU2LCAxODYsIDQxLCAKKyAgICAyMjksIDc1LCAxLCAxMTQsIDE5OSwgMTg2LCA0MSwgMjI5LCA3NSwgMSwgMTI3LCAxNzksIDE4NiwgNDEsIDIyOSwgNzUsIDEsIAorICAgIDEyNywgMjIxLCA5MywgMTg2LCA0MSwgMjI5LCA3NSwgMSwgMTI3LCAxODUsIDE4NiwgNDEsIDIyOSwgNzUsIDEsIDExNCwgCisgICAgMTc5LCAxODYsIDQxLCAyMjksIDc1LCAxLCAxMTQsIDIyMSwgOTMsIDE4NiwgNDEsIDIyOSwgNzUsIDEsIDExNCwgMTg1LCAKKyAgICAxODYsIDQxLCAyMjksIDc1LCAxLCAxMjcsIDI0MiwgNzMsIDE4NiwgNDEsIDIyOSwgNzUsIDEsIDEyNywgMjA5LCA3MCwgCisgICAgMTg2LCA0MSwgMjI5LCA3NSwgMSwgMTI3LCAyMzAsIDE0MSwgMTg2LCA0MSwgMjI5LCA3NSwgMSwgMTE0LCAyNDIsIDczLCAKKyAgICAxODYsIDQxLCAyMjksIDc1LCAxLCAxMTQsIDIwOSwgNzAsIDE4NiwgNDEsIDIyOSwgNzUsIDEsIDExNCwgMjMwLCAxNDEsIAorICAgIDE4NiwgNDEsIDIyOSwgNzUsIDEsIDEyNywgMTU1LCAxODYsIDQxLCAyMjksIDc1LCAxLCAxMjcsIDI0NiwgMTQ1LCAxODYsIAorICAgIDQxLCAyMjksIDc1LCAxLCAxMjcsIDI1MCwgMTgzLCAxODYsIDQxLCAyMjksIDc1LCAxLCAxMTQsIDE1NSwgMTg2LCA0MSwgCisgICAgMjI5LCA3NSwgMSwgMTE0LCAyNDYsIDE0NSwgMTg2LCA0MSwgMjI5LCA3NSwgMSwgMTE0LCAyNTAsIDE4MywgMTg2LCA0MSwgCisgICAgMjI5LCA3NSwgMSwgMTI3LCAyMzAsIDE5NywgMTg2LCA0MSwgMjI5LCA3NSwgMSwgMTI3LCAyMDYsIDE0OCwgMTg2LCA0MSwgCisgICAgMjI5LCA3NSwgMSwgMTE0LCAyMzAsIDE5NywgMTg2LCA0MSwgMjI5LCA3NSwgMSwgMTE0LCAyMDYsIDE0OCwgMTg2LCA0MSwgCisgICAgMjI5LCA3NSwgMSwgMTI3LCAyMTMsIDIwMiwgMTg2LCA0MSwgMjI5LCA3NSwgMSwgMTE0LCAyMTMsIDIwMiwgMTg2LCA0MSwgCisgICAgMjI5LCA3NSwgMjIsIDMsIDIyLCAyMTUsIDEzMiwgMTg2LCA0MSwgMjI5LCA3NSwgMjIsIDMsIDI1MywgMTY0LCAxODYsIDQxLCAKKyAgICAyMjksIDc1LCAyMiwgMywgMjMzLCAxMDIsIDE4NiwgNDEsIDIyOSwgNzUsIDIyLCAzLCA3MSwgMTg2LCA0MSwgMjI5LCA3NSwgCisgICAgMjIsIDMsIDIwOSwgMTYyLCAxODYsIDQxLCAyMjksIDc1LCAyMiwgMywgNzUsIDE4NiwgNDEsIDIyOSwgNzUsIDIyLCAzLCAKKyAgICAyNTIsIDI0OCwgMTg2LCA0MSwgMjI5LCA3NSwgMjIsIDMsIDc2LCAxODYsIDQxLCAyMjksIDc1LCAyMiwgMywgMjIyLCAyMzAsIAorICAgIDE4NiwgNDEsIDIyOSwgNzUsIDIyLCAzLCAyMTAsIDMsIDE4NiwgNDEsIDIyOSwgNzUsIDIyLCAzLCAyNTEsIDE1OSwgMTg2LCAKKyAgICA0MSwgMjI5LCA3NSwgMjIsIDMsIDI1MywgMTE5LCAxODYsIDQxLCAyMjksIDc1LCAyMiwgMywgMjA5LCAxNTQsIDE4NiwgNDEsIAorICAgIDIyOSwgNzUsIDIyLCAzLCAyMjIsIDcxLCAxODYsIDQxLCAyMjksIDc1LCAyMiwgMywgMjIyLCAyMjcsIDE4NiwgNDEsIDIyOSwgCisgICAgNzUsIDIyLCAzLCAyMDksIDI1NSwgMTg2LCA0MSwgMjI5LCA3NSwgMjIsIDMsIDIzMiwgMjExLCAxODYsIDQxLCAyMjksIDc1LCAKKyAgICAxLCA0MiwgMjA5LCAxNDgsIDE4NiwgNDEsIDIyOSwgNzUsIDEsIDQyLCAyMjUsIDc5LCAxODYsIDQxLCAyMjksIDc1LCAxLCAKKyAgICA0MiwgMjI2LCAzMywgMTg2LCA0MSwgMjI5LCA3NSwgMSwgNDIsIDIyOSwgMjgsIDE4NiwgNDEsIDIyOSwgNzUsIDEsIDQyLCAKKyAgICAyMzIsIDc2LCAxODYsIDQxLCAyMjksIDc1LCAxLCA0MiwgMjQ2LCAyNDAsIDE4NiwgNDEsIDIyOSwgNzUsIDEsIDQyLCAyNTEsIAorICAgIDE1MCwgMTg2LCA0MSwgMjI5LCA3NSwgMTM1LCAyMjcsIDE5MSwgMTg2LCA0MSwgMjI5LCA3NSwgMTM1LCAyMjcsIDE5MCwgCisgICAgMTg2LCA0MSwgMjI5LCA3NSwgMTgsIDIwNSwgODUsIDE4NiwgNDEsIDIyOSwgNzUsIDE4LCAxMDIsIDE4NiwgNDEsIDIyOSwgCisgICAgNzUsIDE4LCAxMDUsIDE4NiwgNDEsIDIyOSwgNzUsIDE4LCAxNDIsIDE4NiwgNDEsIDIyOSwgNzUsIDE4LCAxMzksIDE4NiwgCisgICAgNDEsIDIyOSwgNzUsIDE4LCAxNjgsIDE4NiwgNDEsIDIyOSwgNzUsIDE4LCAxODQsIDE4NiwgNDEsIDIyOSwgNzUsIDE4LCAKKyAgICAxOTUsIDE4NiwgNDEsIDIyOSwgNzUsIDE4LCAxOTMsIDE4NiwgNDEsIDIyOSwgNzUsIDE4LCAyMDAsIDE4NiwgNDEsIDIyOSwgCisgICAgNzUsIDk5LCAxOCwgMTAyLCAxODYsIDQxLCAyMjksIDc1LCAzLCAyMzAsIDEyNSwgMTg2LCA0MSwgMjI5LCA3NSwgMywgMjMwLCAKKyAgICAxMjQsIDgyLCAxNiwgMjIxLCAxOTEsIDgyLCAxNiwgMjI2LCA4MSwgMjMxLCA0OSwgODIsIDE2LCAyMjEsIDE2LCAyMzEsIAorICAgIDQ5LCA4MiwgMTYsIDI1MCwgMzQsIDIzMSwgNDksIDgyLCAxNiwgMjQ5LCA3NCwgMjMxLCA0OSwgODIsIDE2LCAyMjAsIDE1MywgCisgICAgMjMxLCA0OSwgODIsIDE2LCAyMjAsIDE0NywgMjMxLCA0OSwgODIsIDE2LCAyMjAsIDE0NSwgMjMxLCA0OSwgODIsIDE2LCAKKyAgICAyMjAsIDE1MSwgMjMxLCA0OSwgODIsIDE2LCAyMjAsIDE0OSwgMjMxLCA0OSwgODIsIDE2LCAyNDYsIDk1LCAyMzEsIDQ5LCAKKyAgICA4MiwgMTYsIDI0NiwgOTEsIDIzMSwgNDksIDgyLCAxNiwgMjQ2LCA5MCwgMjMxLCA0OSwgODIsIDE2LCAyNDYsIDkzLCAyMzEsIAorICAgIDQ5LCA4MiwgMTYsIDI0NiwgOTIsIDIzMSwgNDksIDgyLCAxNiwgMjQ2LCA4OSwgMjMxLCA0OSwgODIsIDE2LCAyMTAsIDEzNywgCisgICAgODIsIDE2LCAyMjYsIDgxLCAyMTgsIDExOCwgODIsIDE2LCAyMjEsIDE2LCAyMTgsIDExOCwgODIsIDE2LCAyNTAsIDM0LCAKKyAgICAyMTgsIDExOCwgODIsIDE2LCAyNDksIDc0LCAyMTgsIDExOCwgODIsIDE2LCAyMjAsIDE1MywgMjE4LCAxMTgsIDgyLCAxNiwgCisgICAgMjIwLCAxNDcsIDIxOCwgMTE4LCA4MiwgMTYsIDIyMCwgMTQ1LCAyMTgsIDExOCwgODIsIDE2LCAyMjAsIDE1MSwgMjE4LCAKKyAgICAxMTgsIDgyLCAxNiwgMjIwLCAxNDksIDIxOCwgMTE4LCA4MiwgMTYsIDI0NiwgOTUsIDIxOCwgMTE4LCA4MiwgMTYsIDI0NiwgCisgICAgOTEsIDIxOCwgMTE4LCA4MiwgMTYsIDI0NiwgOTAsIDIxOCwgMTE4LCA4MiwgMTYsIDI0NiwgOTMsIDIxOCwgMTE4LCA4MiwgCisgICAgMTYsIDI0NiwgOTIsIDIxOCwgMTE4LCA4MiwgMTYsIDI0NiwgODksIDIxOCwgMTE4LCAyNDksIDk0LCAxLCAxNzIsIDI0OSwgCisgICAgOTQsIDEsIDI0MCwgMjQ0LCAyNDksIDk0LCAxLCAyMjUsIDc3LCAyNDksIDk0LCAxLCAyMjUsIDIwLCAyNDksIDk0LCAxLCAKKyAgICAxNzksIDI0OSwgOTQsIDEsIDI1MCwgMTgzLCAyNDksIDk0LCAxLCAxODUsIDI0OSwgOTQsIDEsIDIyNiwgMTE4LCAyNDksIAorICAgIDk0LCAxLCAyMTIsIDIxOSwgMjQ5LCA5NCwgMSwgMjQ2LCAxNDUsIDI0OSwgOTQsIDEsIDE5OSwgMjQ5LCA5NCwgMSwgMjI0LCAKKyAgICAyNCwgMjQ5LCA5NCwgMSwgMjQ5LCAxLCAyNDksIDk0LCAxLCAyMzIsIDIwMCwgMjQ5LCA5NCwgMSwgMjIzLCAxNDQsIDI0OSwgCisgICAgOTQsIDEsIDIyMywgMTM2LCAyNDksIDk0LCAxLCAxOTAsIDI0OSwgOTQsIDEsIDIxOSwgMTEzLCAyNDksIDk0LCAxLCAyMzAsIAorICAgIDE0MSwgMjQ5LCA5NCwgMSwgMjA5LCA3MCwgMjQ5LCA5NCwgMSwgMjE3LCAxOTksIDI0OSwgOTQsIDEsIDYyLCAyNDksIDk0LCAKKyAgICAxLCAxNTUsIDI0OSwgOTQsIDIyLCAzLCA3NCwgMjQ5LCA5NCwgMjIsIDMsIDcxLCAyNDksIDk0LCAyMiwgMywgNzUsIDI0OSwgCisgICAgOTQsIDIyLCAzLCA3NiwgMjQ5LCA5NCwgMjIsIDMsIDI1MiwgMjQ4LCAyNDksIDk0LCAyMjIsIDIwLCAyNDksIDk0LCAyNDMsIAorICAgIDM0LCA3MywgMjE3LCA3NiwgNDEsIDk5LCAxLCAxMjcsIDE3MiwgNDEsIDk5LCAxLCAxMjcsIDIzMSwgMTY3LCA0MSwgOTksIAorICAgIDEsIDEyNywgMjMwLCAxODEsIDQxLCA5OSwgMSwgMTE0LCAxNzIsIDQxLCA5OSwgMSwgMTE0LCAyMzAsIDE4MSwgNDEsIDk5LCAKKyAgICAxLCAxMTQsIDIzMSwgMTY3LCA0MSwgOTksIDEsIDIyNSwgNzcsIDQxLCA5OSwgMSwgMTI3LCAyNDksIDEsIDQxLCA5OSwgMSwgCisgICAgMTI3LCAyNDgsIDExMCwgNDEsIDk5LCAxLCAxMTQsIDI0OSwgMSwgNDEsIDk5LCAxLCAxMTQsIDIxNywgMTk5LCA0MSwgOTksIAorICAgIDEsIDExNCwgMjQ4LCAxMTAsIDQxLCA5OSwgMSwgMjIzLCAxNDQsIDQxLCA5OSwgMSwgMjE5LCA2NCwgNDEsIDk5LCAxLCAKKyAgICAxMjcsIDIxOSwgNjIsIDQxLCA5OSwgMSwgMjQ2LCAxNDUsIDQxLCA5OSwgMSwgMTE0LCAyMTksIDYyLCA0MSwgOTksIDEsIAorICAgIDIxOSwgNzMsIDQxLCA5OSwgMSwgMTI3LCAyMTIsIDIxOSwgNDEsIDk5LCAxLCAxMjcsIDIxMiwgNTYsIDQxLCA5OSwgMSwgCisgICAgMTE0LCAyMTIsIDIxOSwgNDEsIDk5LCAxLCAxMTQsIDIxMiwgNTYsIDQxLCA5OSwgMSwgMTk5LCA0MSwgOTksIDEsIDI1MCwgCisgICAgMTgzLCA0MSwgOTksIDEsIDEyNywgMTc5LCA0MSwgOTksIDEsIDEyNywgMjIxLCA5MywgNDEsIDk5LCAxLCAxMjcsIDI0MiwgCisgICAgNzMsIDQxLCA5OSwgMSwgMTE0LCAxNzksIDQxLCA5OSwgMSwgMTE0LCAyNDIsIDczLCA0MSwgOTksIDEsIDExNCwgMjIxLCAKKyAgICA5MywgNDEsIDk5LCAxLCAxODUsIDQxLCA5OSwgMSwgMTE0LCAxOTAsIDQxLCA5OSwgMSwgMTI3LCAxOTAsIDQxLCA5OSwgMSwgCisgICAgMjE5LCAxMTMsIDQxLCA5OSwgMSwgMjE4LCA0NiwgNDEsIDk5LCAxLCAyMzAsIDE0MSwgNDEsIDk5LCAxLCAyMjksIDc0LCAKKyAgICA0MSwgOTksIDEsIDIwNywgOTYsIDQxLCA5OSwgMSwgMTI3LCAyMTYsIDIsIDQxLCA5OSwgMSwgMTI3LCAyMTQsIDk2LCA0MSwgCisgICAgOTksIDEsIDEyNywgMjE3LCAxOTksIDQxLCA5OSwgMSwgMTI3LCAxNTUsIDQxLCA5OSwgMSwgMjI5LCAxNzIsIDQxLCA5OSwgCisgICAgMSwgNjIsIDQxLCA5OSwgMSwgMTE0LCAxNTUsIDQxLCA5OSwgMSwgNzQsIDQxLCA5OSwgMSwgMjMzLCAxMDIsIDQxLCA5OSwgCisgICAgMSwgNzEsIDQxLCA5OSwgMSwgMjA5LCAxNjIsIDQxLCA5OSwgMSwgMjQzLCAxMDQsIDQxLCA5OSwgMSwgMjIyLCAxNTIsIDQxLCAKKyAgICA5OSwgMSwgMjMwLCAxMjUsIDQxLCA5OSwgMSwgMjM5LCAyMzIsIDIxNywgMTk5LCA0MSwgOTksIDEwNywgMywgMTY5LCAyMTksIAorICAgIDExMywgNDEsIDk5LCAxMDcsIDMsIDE2OSwgMjMwLCAxNDEsIDQxLCA5OSwgMTA3LCAzLCAyMzAsIDE0MiwgMjEyLCAxNzIsIAorICAgIDIzMCwgMTE0LCA0MSwgOTksIDMsIDIyNywgMjQwLCAyMzIsIDI0LCAyMzAsIDExNCwgNDEsIDk5LCAxMDcsIDMsIDQyLCAKKyAgICAyMjUsIDc3LCA0MSwgOTksIDEwNywgMywgMTE0LCAxNzksIDQxLCA5OSwgMTA3LCAzLCAxMjcsIDIxOSwgNjMsIDIyMiwgCisgICAgMTIzLCAxMTQsIDE3OSwgNDEsIDk5LCAxMDcsIDMsIDE4NSwgNDEsIDk5LCAxMDcsIDMsIDI1MCwgMTgzLCA0MSwgOTksIAorICAgIDEwNywgMywgMjE3LCAxOTksIDQxLCA5OSwgMywgMjE3LCAxNzQsIDQxLCA5OSwgMjIsIDMsIDYyLCA0MSwgOTksIDIyLCAzLCAKKyAgICAyMjcsIDI0MCwgMjE3LCAxMzMsIDQxLCA5OSwgMjIsIDMsIDI1MywgMTY0LCA0MSwgOTksIDIyLCAzLCAyMTIsIDE3OCwgCisgICAgMjUzLCAxNjQsIDQxLCA5OSwgMjIsIDMsIDc0LCA0MSwgOTksIDIyLCAzLCAyMzMsIDEwMiwgNDEsIDk5LCAyMiwgMywgMjEwLCAKKyAgICAzLCA0MSwgOTksIDIyLCAzLCAyMDksIDE2MSwgNDEsIDk5LCAyMiwgMywgNzEsIDQxLCA5OSwgMjIsIDMsIDIwOSwgMTYyLCAKKyAgICA0MSwgOTksIDIyLCAzLCA3NiwgNDEsIDk5LCAyMiwgMywgMjIyLCAyMzEsIDU1LCA0MSwgOTksIDIyLCAzLCAyMjIsIDcxLCAKKyAgICA0MSwgOTksIDIyLCAzLCA3NSwgNDEsIDk5LCAyMiwgMywgMjUyLCAyNDgsIDQxLCA5OSwgMjIsIDMsIDIyMiwgMTUyLCA0MSwgCisgICAgOTksIDIyLCAzLCAyNTIsIDIwNSwgNDEsIDk5LCAyMiwgMywgOTksIDI1MiwgMjA1LCA0MSwgOTksIDIyLCAzLCAyMjIsIAorICAgIDIzMSwgNTIsIDQxLCA5OSwgMywgMjI3LCAyNDAsIDIzMiwgMjMsIDQxLCA5OSwgMywgMjExLCAxMTcsIDQxLCA5OSwgMywgCisgICAgMjExLCAxMTYsIDQxLCA5OSwgMywgMjMxLCAxMjgsIDIxMSwgMTE1LCA0MSwgOTksIDMsIDIzMSwgMTI4LCAyMTEsIDExNCwgCisgICAgNDEsIDk5LCAzLCAyMzEsIDEyOCwgMjExLCAxMTMsIDQxLCA5OSwgMywgMjE5LCAxMTQsIDIzOSwgMTQwLCA0MSwgOTksIDMsIAorICAgIDIyNywgMjQwLCAyMTcsIDE2MSwgNDEsIDk5LCAzLCAyMzEsIDEyNywgMjMyLCA2LCA0MSwgOTksIDM2LCAyNDcsIDQzLCAKKyAgICAyNDUsIDIzLCA0MSwgOTksIDIzOCwgMTIzLCAxOCwgMjA1LCA4NSwgNDEsIDk5LCAyMzgsIDEyMywgMTgsIDEwMiwgNDEsIAorICAgIDk5LCAyMzgsIDEyMywgMTgsIDEwNSwgNDEsIDk5LCAyMzgsIDEyMywgMTgsIDE0MiwgNDEsIDk5LCAyMzgsIDEyMywgMTgsIAorICAgIDEzOSwgNDEsIDk5LCAyMzgsIDEyMywgMTgsIDE2OCwgNDEsIDk5LCAyMzgsIDEyMywgMTgsIDE4NCwgNDEsIDk5LCAyMzgsIAorICAgIDEyMywgMTgsIDE5NSwgNDEsIDk5LCAyMzgsIDEyMywgMTgsIDE5MywgNDEsIDk5LCAyMzgsIDEyMywgMTgsIDIwMCwgNDEsIAorICAgIDk5LCA5OSwgMTgsIDIwNSwgODUsIDQxLCA5OSwgOTksIDE4LCAxMDIsIDQxLCA5OSwgOTksIDE4LCAxMDUsIDQxLCA5OSwgCisgICAgOTksIDE4LCAxNDIsIDQxLCA5OSwgOTksIDE4LCAxMzksIDQxLCA5OSwgOTksIDE4LCAxNjgsIDQxLCA5OSwgOTksIDE4LCAKKyAgICAxODQsIDQxLCA5OSwgOTksIDE4LCAxOTUsIDQxLCA5OSwgOTksIDE4LCAxOTMsIDQxLCA5OSwgOTksIDE4LCAyMDAsIDQxLCAKKyAgICA5OSwgMywgMjA3LCAxOSwgNDEsIDk5LCAzLCAyMDcsIDE4LCA0MSwgOTksIDMsIDIxNywgMTIwLCA0MSwgOTksIDMsIDIzMSwgCisgICAgMTk4LCA0MSwgOTksIDMsIDIzOCwgNTIsIDQxLCA5OSwgMywgMjQ1LCAzNywgNDEsIDk5LCAzLCAyMTgsIDIyNCwgMjE4LCAKKyAgICA5NywgMjE5LCA3MywgNDEsIDk5LCAzLCAyMjcsIDI0MCwgMjA2LCA3OCwgNDEsIDk5LCAzLCAyMzIsIDU4LCA0MSwgOTksIDMsIAorICAgIDIzMiwgNTcsIDQxLCA5OSwgMywgMjE3LCAxMjgsIDQxLCA5OSwgMywgMjE3LCAxMjcsIDQxLCA5OSwgMywgMjM5LCAxMDEsIAorICAgIDQxLCA5OSwgMywgMjQ4LCAyNTQsIDM2LCAyNDQsIDEzLCAyNDcsIDIyOCwgMjUzLCAyMSwgMzYsIDI0NSwgMTY1LCAzNiwgCisgICAgMjMzLCA0NSwgMzYsIDE3MywgNDUsIDM2LCAyMTEsIDM2LCAyNDUsIDIzLCAzNiwgMjA2LCAxOTQsIDU1LCAzNiwgMjA3LCAKKyAgICAxNCwgMjI5LCAyMDYsIDU1LCAzNiwgMjIyLCAxNDIsIDE0MSwgNTUsIDM2LCA1MCwgMjIyLCAxNDIsIDE0MSwgNTUsIDM2LCAKKyAgICAxNDcsIDI0OCwgMTMwLCAyMTMsIDIyNSwgNTUsIDM2LCAyMTMsIDIxMSwgMjQ4LCAxMzAsIDIxMywgMjI1LCA1NSwgMzYsIAorICAgIDIyMSwgMjE4LCA1MiwgMzYsIDUwLCAyMjEsIDIxOCwgNTIsIDM2LCAyMjEsIDIxOCwgNTUsIDM2LCAyMjEsIDIxOCwgMjIyLCAKKyAgICA4MiwgMTE3LCAzLCAyMDksIDI0NCwgMjE4LCAyMDIsIDExNywgMywgMjA5LCAyNDQsIDI0OCwgMjE5LCAxMTcsIDMsIDI0OCwgCisgICAgMTQ0LCAxMTcsIDMsIDIxMywgMTMxLCAxMTcsIDMsIDI0OSwgMjE0LCAxMTcsIDEsIDI1MiwgMTg3LCAxMTcsIDEsIDI1MiwgCisgICAgMTg4LCAyMTIsIDEyMiwgMTE3LCAxLCAyMzMsIDk4LCAxMTcsIDEsIDIzMywgOTksIDIxMiwgMTIyLCAxMTcsIDEsIDIwOSwgCisgICAgMjQ3LCAxMTcsIDEsIDIwOSwgMjQ4LCAyMTIsIDEyMiwgMTE3LCAxLCAyMTksIDExNCwgMjE4LCAyNTQsIDExNywgMSwgMjE5LCAKKyAgICAxMTQsIDIxOCwgMjU1LCAyMTIsIDEyMiwgMTE3LCAxLCAyMzAsIDE0MiwgMjMwLCAyMSwgMTE3LCAxLCAyMzAsIDE0MiwgCisgICAgMjMwLCAyMiwgMjEyLCAxMjIsIDExNywgMSwgMjQzLCA3MywgMTE3LCAxLCAyNTIsIDIwMywgMTE3LCAxLCAyMjIsIDE4MywgCisgICAgMTE3LCAxLCAyMjIsIDE4NCwgMjEyLCAxMjIsIDExNywgMSwgMTcyLCAxMTcsIDEsIDIzMiwgNjYsIDIyNywgMjQzLCAxMTcsIAorICAgIDEsIDI0MCwgMjQ0LCAxMTcsIDEsIDI0MCwgMjQ1LCAyNDAsIDUsIDExNywgMSwgMjI1LCA3NywgMTE3LCAxLCAyNDksIDEsIAorICAgIDExNywgMSwgMjQ5LCAyLCAyMzAsIDEyOCwgMTE3LCAxLCAyMzIsIDIwMCwgMTE3LCAxLCAyMzIsIDIwMSwgMjMyLCAxNzQsIAorICAgIDExNywgMSwgMjIzLCAxNDQsIDExNywgMSwgMjEyLCAyMjAsIDIzMCwgNzcsIDExNywgMSwgMjEyLCAyMjAsIDIyNiwgNzYsIAorICAgIDIyNywgMjQzLCAxMTcsIDEsIDI0NiwgMTQ2LCAyMjYsIDc2LCAyNTIsIDE0NiwgMTE3LCAxLCAyNDYsIDE0NiwgMjI2LCA3NiwgCisgICAgMjI3LCAyNDMsIDExNywgMSwgMjI1LCAyMzcsIDIxOSwgNzYsIDExNywgMSwgMjEyLCAyMTksIDExNywgMSwgMjEyLCAyMjAsIAorICAgIDIxMiwgMTQ0LCAxMTcsIDEsIDI0NiwgMTQ1LCAxMTcsIDEsIDI0NiwgMTQ2LCAyMjgsIDYsIDExNywgMSwgMTk5LCAxMTcsIAorICAgIDEsIDE3OSwgMTE3LCAxLCAyMjIsIDUyLCAyMzIsIDE4LCAxMTcsIDEsIDI1MCwgMTgzLCAxMTcsIDEsIDI1MCwgMTg0LCAKKyAgICAyMzEsIDIxMCwgMTE3LCAxLCAxODUsIDExNywgMSwgMTkwLCAxMTcsIDEsIDIxOSwgMTEzLCAxMTcsIDEsIDIzMCwgMTQxLCAKKyAgICAxMTcsIDEsIDIwNywgOTYsIDExNywgMSwgMjE3LCAyMDAsIDIxNywgMTg0LCAxMTcsIDEsIDIxNywgMjAwLCAyMTcsIDE0MCwgCisgICAgMTE3LCAxLCAyMTcsIDE5OSwgMTE3LCAxLCAxNTUsIDExNywgMywgMjE4LCAyNDUsIDExNywgMjIsIDMsIDIxMiwgMTIyLCAKKyAgICAxMTcsIDIyLCAzLCAyMDksIDI0MywgMTE3LCAyMiwgMywgMjA5LCAyNDQsIDIxNywgMTM2LCAxMTcsIDIyLCAzLCAyMTMsIAorICAgIDE2NCwgMTE3LCAyMiwgMywgMjEzLCAxNjUsIDIzMywgOTAsIDExNywgMjIsIDMsIDIxOSwgMTE0LCAyMTgsIDI1NCwgMTE3LCAKKyAgICAyMiwgMywgMjE5LCAxMTQsIDIxOCwgMjU1LCAyMTIsIDEyMiwgMTE3LCAyMiwgMywgMjMwLCAxNDIsIDIzMCwgMjEsIDExNywgCisgICAgMjIsIDMsIDIzMCwgMTQyLCAyMzAsIDIyLCAyMTIsIDEyMiwgMTE3LCAyMiwgMywgMjEyLCAxNzksIDExNywgMjIsIDMsIAorICAgIDIxMiwgMTgwLCAyMTgsIDI1NCwgMTE3LCAyMiwgMywgMjEyLCAxODAsIDIxMiwgMTIyLCAxMTcsIDIyLCAzLCAyMTIsIDE4MCwgCisgICAgMjE4LCAyNTUsIDIxMiwgMTIyLCAxMTcsIDIyLCAzLCAyMjEsIDEzNCwgMTE3LCAyMiwgMywgMjIxLCAxMzUsIDIxMiwgMTIyLCAKKyAgICAxMTcsIDI1MywgMCwgMjUyLCAyNTUsIDExNywgMSwgMjMyLCA0NiwgMjE3LCAxMzUsIDExNywgMSwgMjMxLCAxMzQsIDIxNywgCisgICAgMTM1LCAxMTcsIDEsIDIxMCwgODAsIDIxNywgMTM1LCAxMTcsIDEsIDI0MywgOTgsIDIxNywgMTM1LCAxMTcsIDEsIDIwOSwgCisgICAgNDAsIDIxNywgMTM1LCAxMTcsIDEsIDIwNSwgMTA3LCAyMTcsIDEzNSwgMTE3LCAxLCAyNTEsIDIwMiwgMjE3LCAxMzUsIAorICAgIDExNywgMTgsIDIwNSwgODUsIDExNywgMTgsIDEwMiwgMTE3LCAxOCwgMTA1LCAxMTcsIDE4LCAxNDIsIDExNywgMTgsIDEzOSwgCisgICAgMTE3LCAxOCwgMTY4LCAxMTcsIDE4LCAxODQsIDExNywgMTgsIDE5NSwgMTE3LCAxOCwgMTkzLCAxMTcsIDE4LCAyMDAsIAorICAgIDExNywgMjIxLCAyNDQsIDExNywgMjIyLCAxNCwgMTE3LCAyMDcsIDcsIDExNywgMjQ4LCAxOTcsIDIyMiwgNywgMTE3LCAKKyAgICAyNDgsIDE5NywgMjE1LCA1OCwgMTE3LCAyNDgsIDE5NywgMjIxLCAyMTUsIDExNywgMjIyLCAxMywgMTE3LCAzMCwgMTYsIAorICAgIDI0NSwgMjksIDExNywgMzAsIDE2LCAyNDUsIDIyNCwgMTE3LCAzMCwgMTYsIDI0MywgMjIzLCAxMTcsIDMwLCAxNiwgMjQ2LCAKKyAgICA5OCwgMTE3LCAzMCwgMTYsIDI0NiwgOTksIDIxMywgMTMxLCAxMTcsIDMwLCAxNiwgMjQ1LCAxMTIsIDExNywgMzAsIDE2LCAKKyAgICAyNDYsIDEzOCwgMTE3LCAzMCwgMTYsIDI0NSwgMjAxLCAxMTcsIDMwLCAxNiwgMjQ2LCAxMjAsIDExNywgMzAsIDE2LCAyNDYsIAorICAgIDk5LCAyNDAsIDE2NCwgMTE3LCAzMCwgMTYsIDM2LCAyMTIsIDExNywgMTE3LCAzMCwgMTYsIDM2LCAyNDMsIDMyLCAxMTcsIAorICAgIDMwLCAxNiwgMzYsIDIzMSwgMjA1LCAxMTcsIDMwLCAxNiwgMzYsIDIzMSwgMjA3LCAxMTcsIDMwLCAxNiwgMzYsIDIzMiwgCisgICAgMTc4LCAxMTcsIDMwLCAxNiwgMzYsIDIzMSwgMjA2LCAyLCAyMzIsIDE3OCwgMTE3LCAzMCwgMTYsIDM2LCAyMzEsIDIwOCwgCisgICAgMiwgMjMyLCAxNzgsIDExNywgMzAsIDE2LCAzNiwgMjUwLCAyMCwgMTE3LCAzMCwgMTYsIDM2LCAyNDAsIDksIDExNywgMzAsIAorICAgIDE2LCAyMTgsIDE2NSwgMjIyLCAxNDIsIDI0MywgMjMzLCAxMTcsIDMwLCAxNiwgMjE4LCAxNjUsIDIyMiwgMTQyLCAyNDYsIAorICAgIDEzNiwgMTE3LCAzMCwgMTYsIDIxOCwgMTY1LCAyNDcsIDE5MiwgMjEwLCAxNjIsIDExNywgMzAsIDE2LCAyMTgsIDE2NSwgCisgICAgMjQ3LCAxOTIsIDIxMiwgMTg3LCAxMTcsIDMwLCAxNiwgMjMwLCA0NCwgMjIyLCAxNDIsIDIyMiwgMiwgMTE3LCAzMCwgMTYsIAorICAgIDIzMCwgNDQsIDIyMiwgMTQyLCAyMjAsIDcwLCAxMTcsIDMwLCAxNiwgMjMwLCA0NCwgMjQ3LCAxOTIsIDIyMCwgMjM2LCAKKyAgICAxMTcsIDMwLCAxNiwgMjMwLCA0NCwgMjQ3LCAxOTIsIDIyMCwgMjIyLCAxMTcsIDMwLCAxNiwgMjMwLCA0NCwgMjIyLCAxNDIsIAorICAgIDIyMSwgNSwgMjEzLCAxNTMsIDMsIDIyMSwgMjQxLCAyMTMsIDE1MywgMywgMjIxLCAyNTQsIDIxMywgMTUzLCAzLCAyMjEsIAorICAgIDI1MCwgMjEzLCAxNTMsIDEsIDYyLCAyMTMsIDE1MywgMSwgNzQsIDIxMywgMTUzLCAxLCA3MSwgMjEzLCAxNTMsIDEsIDI1MiwgCisgICAgMjQ4LCAyMTMsIDE1MywgMSwgNzYsIDIxMywgMTUzLCAxLCA3NSwgMjEzLCAxNTMsIDEsIDI0MiwgMTkyLCAyMTMsIDE1MywgCisgICAgMSwgMTcyLCAyMTMsIDE1MywgMSwgMjIwLCAxOSwgMjEzLCAxNTMsIDEsIDI0MCwgMjQ0LCAyMTMsIDE1MywgMSwgMjI1LCAKKyAgICA3NywgMjEzLCAxNTMsIDEsIDI0OSwgMSwgMjEzLCAxNTMsIDEsIDIzMiwgMjAwLCAyMTMsIDE1MywgMSwgMjA1LCAxMTYsIAorICAgIDIxMywgMTUzLCAxLCAyMjMsIDE0NCwgMjEzLCAxNTMsIDEsIDIxMiwgMjE5LCAyMTMsIDE1MywgMSwgMjQ2LCAxNDUsIDIxMywgCisgICAgMTUzLCAxLCAxOTksIDIxMywgMTUzLCAxLCAxNzksIDIxMywgMTUzLCAxLCAyNDIsIDczLCAyMTMsIDE1MywgMSwgMjA5LCAKKyAgICA3MCwgMjEzLCAxNTMsIDEsIDI1MCwgMTgzLCAyMTMsIDE1MywgMSwgMTg1LCAyMTMsIDE1MywgMSwgMTkwLCAyMTMsIDE1MywgCisgICAgMSwgMjE5LCAxMTMsIDIxMywgMTUzLCAxLCAyMzAsIDE0MSwgMjEzLCAxNTMsIDEsIDIwNywgOTYsIDIxMywgMTUzLCAxLCAKKyAgICAyMTcsIDE5OSwgMjEzLCAxNTMsIDEsIDIwNiwgMTgxLCAyMTMsIDE1MywgMSwgMTU1LCAyMTMsIDE1MywgMTA3LCAzLCAyMjIsIAorICAgIDExLCAyMTMsIDE1MywgMTA3LCAzLCAyMjEsIDI0MywgMjEzLCAxNTMsIDEwNywgMywgMjIxLCAyNDAsIDIxMywgMTUzLCAyMiwgCisgICAgMywgMjIyLCAxLCAyMTMsIDE1MywgMjIsIDMsIDIyMSwgMjM5LCAyMTMsIDE1MywgMjIsIDMsIDIyMiwgNSwgMjEzLCAxNTMsIAorICAgIDIyLCAzLCAyMjEsIDI0OSwgMjEzLCAxNTMsIDIyLCAzLCAyMjIsIDEyLCAyMTMsIDE1MywgMjIsIDMsIDIyMiwgMywgMjEzLCAKKyAgICAxNTMsIDMsIDIyMiwgMTUsIDIxMywgMTUzLCAzLCAyMDgsIDE4OCwgMjEzLCAxNTMsIDEwNywgMywgMjIxLCAyMDQsIDE4NSwgCisgICAgMjEzLCAxNTMsIDEwNywgMywgMjIxLCAyMDQsIDIwNywgOTYsIDIxMywgMTUzLCAxLCAyMzEsIDE2NywgMjEzLCAxNTMsIDEsIAorICAgIDIxMywgOTAsIDIxMywgMTUzLCAxOCwgMjA1LCA4NSwgMjEzLCAxNTMsIDE4LCAxMDIsIDIxMywgMTUzLCAxOCwgMTA1LCAKKyAgICAyMTMsIDE1MywgMTgsIDE0MiwgMjEzLCAxNTMsIDE4LCAxMzksIDIxMywgMTUzLCAxOCwgMTY4LCAyMTMsIDE1MywgMTgsIAorICAgIDE4NCwgMjEzLCAxNTMsIDE4LCAxOTUsIDIxMywgMTUzLCAxOCwgMTkzLCAyMTMsIDE1MywgMTgsIDIwMCwgMjEzLCAxNTMsIAorICAgIDI1MSwgMTY3LCAyMTMsIDE1MywgMSwgMjE4LCAyMjcsIDIxMywgMTUzLCAxLCAyMzAsIDIsIDIxMywgMTUzLCAxLCAyNTAsIAorICAgIDAsIDIxMywgMTUzLCAxLCA0MiwgMjMyLCA3NiwgMjEzLCAxNTMsIDEsIDQyLCAyMjksIDI4LCAyNTAsIDEwNywgMSwgNjIsIAorICAgIDI1MCwgMTA3LCAxLCAyMTUsIDUwLCA2MiwgMjUwLCAxMDcsIDEsIDE1NSwgMjUwLCAxMDcsIDEsIDIxNSwgNTAsIDE1NSwgCisgICAgMjUwLCAxMDcsIDEsIDIyNywgMjE2LCAxNTUsIDI1MCwgMTA3LCAxLCAyNTAsIDE4MywgMjUwLCAxMDcsIDEsIDIzMiwgMywgCisgICAgMjUwLCAxODMsIDI1MCwgMTA3LCAxLCAxNzksIDI1MCwgMTA3LCAxLCAyMTUsIDUwLCAxNzksIDI1MCwgMTA3LCAxLCAxOTksIAorICAgIDI1MCwgMTA3LCAxLCAyMjcsIDIxNiwgMTk5LCAyNTAsIDEwNywgMSwgMjA3LCA5NiwgMjUwLCAxMDcsIDEsIDIxNSwgNTAsIAorICAgIDIwNywgOTYsIDI1MCwgMTA3LCAxLCAyMjIsIDI3LCAyMDcsIDk2LCAyNTAsIDEwNywgMSwgMjQwLCAyNDQsIDI1MCwgMTA3LCAKKyAgICAxLCAyMTUsIDUwLCAyNDAsIDI0NCwgMjUwLCAxMDcsIDEsIDIzMiwgMjAwLCAyNTAsIDEwNywgMSwgMjQ2LCAxNDUsIDI1MCwgCisgICAgMTA3LCAxLCAyMTksIDExMywgMjUwLCAxMDcsIDEsIDIxNSwgNTAsIDIxOSwgMTEzLCAyNTAsIDEwNywgMSwgMTg1LCAyNTAsIAorICAgIDEwNywgMSwgMjE1LCA1MCwgMTg1LCAyNTAsIDEwNywgMSwgMjE0LCAxNjEsIDIxMiwgMjE5LCAyNTAsIDEwNywgMSwgMjI0LCAKKyAgICA0NiwgMjEyLCAyMTksIDI1MCwgMTA3LCAxLCAyMTcsIDE5OSwgMjUwLCAxMDcsIDEsIDIxNSwgNTAsIDIxNywgMTk5LCAyNTAsIAorICAgIDEwNywgMSwgMjI3LCAyMTYsIDIxNywgMTk5LCAyNTAsIDEwNywgMSwgMTkwLCAyNTAsIDEwNywgMSwgMjE1LCA1MCwgMTkwLCAKKyAgICAyNTAsIDEwNywgMSwgMjI1LCA3NywgMjUwLCAxMDcsIDEsIDIzMCwgMTQxLCAyNTAsIDEwNywgMSwgMjE1LCA1MCwgMjMwLCAKKyAgICAxNDEsIDI1MCwgMTA3LCAxLCAyMjMsIDE0NCwgMjUwLCAxMDcsIDEsIDI0OSwgMSwgMjUwLCAxMDcsIDEsIDIyNSwgMTUxLCAKKyAgICAyNTAsIDEwNywgMSwgMjI3LCAxNTMsIDI1MCwgMTA3LCAxLCA3NCwgMjUwLCAxMDcsIDEsIDcxLCAyNTAsIDEwNywgMywgCisgICAgMjExLCAxMjEsIDI1MCwgMTA3LCAyMiwgMywgNzUsIDI1MCwgMTA3LCAyMiwgMywgMjIyLCAyNywgNzUsIDI1MCwgMTA3LCAKKyAgICAyMiwgMywgMjQzLCAxMDQsIDI1MCwgMTA3LCAyMiwgMywgNzQsIDI1MCwgMTA3LCAyMiwgMywgMjMyLCAzLCA3NCwgMjUwLCAKKyAgICAxMDcsIDIyLCAzLCA3NiwgMjUwLCAxMDcsIDIyLCAzLCAyMzIsIDMsIDc2LCAyNTAsIDEwNywgMjIsIDMsIDcxLCAyNTAsIAorICAgIDEwNywgMjIsIDMsIDEwNiwgMzMsIDIxNSwgNTAsIDIxNywgMTk5LCAyNTAsIDEwNywgMTA3LCAzLCAyMjUsIDc5LCAyNTAsIAorICAgIDEwNywgMTA3LCAzLCAyMzksIDE1NSwgMjUwLCAxMDcsIDIyMSwgMjUyLCAyNTAsIDEwNywgMjIxLCAyNDgsIDI1MCwgMTA3LCAKKyAgICAxNiwgMjQ5LCAyMjIsIDIyNSwgMjM3LCAyMjcsIDYxLCAyNTAsIDEwNywgMTYsIDI0OSwgMjIyLCAyMjEsIDgsIDI1MCwgCisgICAgMTA3LCAxNiwgMjQ5LCAyMjIsIDIzMiwgMTAxLCAyNTAsIDEwNywgMTYsIDI0OSwgMjIyLCAyMjEsIDI1MiwgMjMwLCAxMiwgCisgICAgMSwgMTcyLCAyMzAsIDEyLCAxLCAyMzEsIDY1LCAyMzAsIDEyLCAxLCAyMzEsIDE2NywgMjMwLCAxMiwgMSwgMjQwLCAyNDQsIAorICAgIDIzMCwgMTIsIDEsIDI0MCwgMzEsIDIzMCwgMTIsIDEsIDIyNSwgNzcsIDIzMCwgMTIsIDEsIDI0OSwgMSwgMjMwLCAxMiwgMSwgCisgICAgMjQ4LCAxMTAsIDIzMCwgMTIsIDEsIDIzMiwgMjAwLCAyMzAsIDEyLCAxLCAyMjMsIDE0NCwgMjMwLCAxMiwgMSwgMjEyLCAKKyAgICAyMTksIDIzMCwgMTIsIDEsIDIxMiwgNTYsIDIzMCwgMTIsIDEsIDI0NiwgMTQ1LCAyMzAsIDEyLCAxLCAxOTksIDIzMCwgMTIsIAorICAgIDEsIDE3OSwgMjMwLCAxMiwgMSwgMjIwLCAyNDAsIDIzMCwgMTIsIDEsIDIyMSwgOTMsIDIzMCwgMTIsIDEsIDI0MiwgNzMsIAorICAgIDIzMCwgMTIsIDEsIDI0MSwgMTk4LCAyMzAsIDEyLCAxLCAyNTAsIDE4MywgMjMwLCAxMiwgMSwgMjQ5LCAyMDMsIDIzMCwgCisgICAgMTIsIDEsIDE4NSwgMjMwLCAxMiwgMSwgMjI2LCAxODgsIDIzMCwgMTIsIDEsIDIxMCwgMjQzLCAyMzAsIDEyLCAxLCAyMTAsIAorICAgIDIzMywgMjMwLCAxMiwgMSwgMjQzLCAxOTYsIDIzMCwgMTIsIDEsIDE5MCwgMjMwLCAxMiwgMSwgMjE5LCAxMTMsIDIzMCwgCisgICAgMTIsIDEsIDIzMCwgMTQxLCAyMzAsIDEyLCAxLCAxNTUsIDIzMCwgMTIsIDEsIDIzOCwgMjM3LCAyMzAsIDEyLCAxLCAyMDksIAorICAgIDcwLCAyMzAsIDEyLCAxLCAyMTcsIDE5OSwgMjMwLCAxMiwgMSwgMjE2LCAyLCAyMzAsIDEyLCAxLCAyMDcsIDk2LCAyMzAsIAorICAgIDEyLCAxLCA2MiwgMjMwLCAxMiwgMjEzLCAxOTEsIDEsIDE5MCwgMjMwLCAxMiwgMjEzLCAxOTEsIDEsIDIxOSwgMTEzLCAKKyAgICAyMzAsIDEyLCAyMiwgMywgMjUzLCAxNjQsIDIzMCwgMTIsIDIyLCAzLCA3NCwgMjMwLCAxMiwgMjIsIDMsIDc2LCAyMzAsIAorICAgIDEyLCAyMiwgMywgMjIyLCAxNTIsIDIzMCwgMTIsIDIyLCAzLCA3MSwgMjMwLCAxMiwgMjIsIDMsIDIwOSwgMTYyLCAyMzAsIAorICAgIDEyLCAyMiwgMywgNzUsIDIzMCwgMTIsIDEwNywgMywgMjMyLCA3NiwgMjMwLCAxMiwgMTA3LCAzLCAyMjksIDI4LCAyMzAsIAorICAgIDEyLCAxMDcsIDMsIDE0OSwgMjMwLCAxMiwgMTA3LCAzLCAyMjYsIDMzLCAyMzAsIDEyLCAxMDcsIDMsIDIyMiwgNjcsIDIzMCwgCisgICAgMTIsIDEwNywgMywgMTM3LCAyMzAsIDEyLCAxMDcsIDMsIDIxMywgMTAsIDIzMCwgMTIsIDEwNywgMywgMjIzLCAxMTgsIAorICAgIDIzMCwgMTIsIDEwNywgMywgMjMyLCAyMywgMjMwLCAxMiwgMywgMjE5LCA3NCwgMjMwLCAxMiwgMywgMjIzLCAxODQsIDIzMCwgCisgICAgMTIsIDIyMCwgNzIsIDIxMiwgMjE3LCAyMzAsIDEyLCAyMjAsIDcyLCAyMjMsIDEyOSwgMjExLCAyMTQsIDIxMiwgMjE3LCAKKyAgICAyMzAsIDEyLCAyMjAsIDcyLCAyNDgsIDExNywgMjMwLCAxMiwgMjIwLCA3MiwgMjEwLCAyMjUsIDI0OCwgMTE3LCAyMzAsIAorICAgIDEyLCAyMjAsIDcyLCAyMTAsIDIyNCwgMjMwLCAxMiwgMTgsIDIwNSwgODUsIDIzMCwgMTIsIDE4LCAxMDIsIDIzMCwgMTIsIAorICAgIDE4LCAxMDUsIDIzMCwgMTIsIDE4LCAxNDIsIDIzMCwgMTIsIDE4LCAxMzksIDIzMCwgMTIsIDE4LCAxNjgsIDIzMCwgMTIsIAorICAgIDE4LCAxODQsIDIzMCwgMTIsIDE4LCAxOTUsIDIzMCwgMTIsIDE4LCAxOTMsIDIzMCwgMTIsIDE4LCAyMDAsIDIzMCwgMTIsIAorICAgIDEsIDIxMCwgMjA4LCAyMzAsIDEyLCAxLCAyMTAsIDE5NiwgMjMwLCAxMiwgMSwgMjQ2LCA1NCwgMjIyLCAxODEsIDI0OCwgCisgICAgNTEsIDE4LCAyMDUsIDg1LCAyMjIsIDE4MSwgMjQ4LCA1MSwgMTgsIDEwMiwgMjIyLCAxODEsIDI0OCwgNTEsIDE4LCAxMDUsIAorICAgIDIyMiwgMTgxLCAyNDgsIDUxLCAxOCwgMTQyLCAyMjIsIDE4MSwgMjQ4LCA1MSwgMTgsIDEzOSwgMjIyLCAxODEsIDI0OCwgCisgICAgNTEsIDE4LCAxNjgsIDIyMiwgMTgxLCAyNDgsIDUxLCAxOCwgMTg0LCAyMjIsIDE4MSwgMjQ4LCA1MSwgMTgsIDE5NSwgMjIyLCAKKyAgICAxODEsIDI0OCwgNTEsIDE4LCAxOTMsIDIyMiwgMTgxLCAyNDgsIDUxLCAxOCwgMjAwLCAyMjIsIDE4MSwgMjQ4LCA1MSwgMSwgCisgICAgMjMwLCAxNDEsIDIyMiwgMTgxLCAyNDgsIDUxLCAxLCAyNTEsIDE5OSwgMjIyLCAxODEsIDI0OCwgNTEsIDEsIDI1MiwgMjIwLCAKKyAgICAyMjIsIDE4MSwgMjQ4LCA1MSwgMSwgMjUyLCAxMTQsIDIyMiwgMTgxLCAyNDgsIDUxLCAxLCAyNTIsIDE4MSwgMjIyLCAxODEsIAorICAgIDI0OCwgNTEsIDEsIDIzMCwgMTQwLCAyMjIsIDE4MSwgMjQ4LCA1MSwgMSwgMjUzLCAxMjYsIDIyMiwgMTgxLCAyNDgsIDUxLCAKKyAgICAxLCAyNTMsIDEyNywgMjIyLCAxODEsIDI0OCwgNTEsIDEsIDI1MywgMTI1LCAyMjIsIDE4MSwgMjQ4LCA1MSwgMSwgMjUzLCAKKyAgICAxMjAsIDIyMiwgMTgxLCAyNDgsIDUxLCAxLCAyMjksIDIzNSwgMjIyLCAxODEsIDI0OCwgNTEsIDEsIDIzMiwgMjM0LCAyMjIsIAorICAgIDE4MSwgMjQ4LCA1MSwgMSwgMjMzLCAxMDMsIDIyMiwgMTgxLCAyNDgsIDUxLCAxLCAyMzIsIDI1NSwgMjIyLCAxODEsIDI0OCwgCisgICAgNTEsIDEsIDIzMiwgMjQzLCAyMjIsIDE4MSwgMjQ4LCA1MSwgMSwgMjI5LCA4MSwgMjIyLCAxODEsIDI0OCwgNTEsIDEsIAorICAgIDIxMCwgMTAsIDIyMiwgMTgxLCAyNDgsIDUxLCAxLCAyMTAsIDgsIDIyMiwgMTgxLCAyNDgsIDUxLCAxLCAyMDksIDIxMSwgCisgICAgMjIyLCAxODEsIDI0OCwgNTEsIDEsIDIwOSwgMTU0LCAyMjIsIDE4MSwgMjQ4LCA1MSwgMSwgMjMwLCA1OCwgMjIyLCAxODEsIAorICAgIDI0OCwgNTEsIDEsIDI0MiwgMjUzLCAyMjIsIDE4MSwgMjQ4LCA1MSwgMSwgMjQzLCAxMDcsIDIyMiwgMTgxLCAyNDgsIDUxLCAKKyAgICAxLCAyNDMsIDQxLCAyMjIsIDE4MSwgMjQ4LCA1MSwgMSwgMjQyLCAyMjksIDIyMiwgMTgxLCAyNDgsIDUxLCAxLCAyMjksIAorICAgIDE0NCwgMjIyLCAxODEsIDI0OCwgNTEsIDEsIDIyMiwgMTAwLCAyMjIsIDE4MSwgMjQ4LCA1MSwgMSwgMjIyLCAyMjYsIDIyMiwgCisgICAgMTgxLCAyNDgsIDUxLCAxLCAyMjIsIDg4LCAyMjIsIDE4MSwgMjQ4LCA1MSwgMSwgMjIyLCAxOTQsIDIyMiwgMTgxLCAyNDgsIAorICAgIDUxLCAyMjYsIDExNSwgMjEwLCAxNzMsIDIyMiwgMTgxLCAyNDgsIDUxLCAyNDAsIDIzOSwgMjEwLCAxNzQsIDIyMiwgMTgxLCAKKyAgICAyNDgsIDUxLCAyMjYsIDExMywgMjEwLCAxNzQsIDIyMiwgMTgxLCAyNDgsIDUxLCAyMTksIDEyLCAyMjIsIDE4MSwgMjQ4LCAKKyAgICA1MSwgMjIxLCA5MSwgMjIyLCAxODEsIDI0OCwgNTEsIDI1MiwgMjEyLCAyMjIsIDE4MSwgMjQ4LCA1MSwgMjIwLCA3MiwgCisgICAgMjI2LCAxMDksIDIyMiwgMTgxLCAyNDgsIDUxLCAyMjAsIDcyLCA1MCwgMjI2LCAxMDksIDIxMywgMTUzLCAyMjAsIDcyLCAKKyAgICAyNDksIDIyMiwgMjEzLCAxMjQsIDIxMywgMTUzLCAyMjAsIDcyLCAyNDksIDIyMiwgMjIxLCAyNTMsIDIxMywgMTUzLCAyMjAsIAorICAgIDcyLCAyNDksIDIyMiwgMjIwLCA2MCwgMjEzLCAxNTMsIDIyMCwgNzIsIDI0OSwgMjIyLCAyNDgsIDI0MiwgMjEzLCAxNTMsIAorICAgIDIyMCwgNzIsIDI0OSwgMjIyLCAyMzAsIDMsIDIxNywgMTMyLCAyMTMsIDE1MywgMjIwLCA3MiwgMjQ5LCAyMjIsIDIzMiwgCisgICAgNjYsIDIxNywgMTMyLCAyMTMsIDE1MywgMjIwLCA3MiwgMjQ5LCAyMjIsIDI0NiwgMTQ2LCAyMTcsIDEzMiwgMjEzLCAxNTMsIAorICAgIDIyMCwgNzIsIDI0OSwgMjIyLCAyNTAsIDE4NCwgMjE3LCAxMzIsIDIwOSwgMzYsIDEzNSwgMjMyLCAxLCAyMDksIDM2LCAKKyAgICAxMzUsIDIxNSwgMjI5LCAyMDksIDM2LCAxMzUsIDIyMCwgMTM1LCAyMDksIDM2LCAzLCAyMjQsIDIwNiwgMjA5LCAzNiwgMywgCisgICAgMjA2LCA4NiwgMjI2LCAyNDUsIDIxMywgMTE1LCAyMDksIDM2LCAxMzUsIDIwNiwgODYsIDI1MiwgMjE3LCAyMzMsIDU1LCAKKyAgICAyMTMsIDExNSwgMjA5LCAzNiwgMTM1LCAyMDYsIDg2LCAyMzMsIDU1LCAyMTMsIDExNSwgMjA5LCAzNiwgMTM1LCAyMDYsIAorICAgIDg2LCAyMzEsIDI0NSwgMjMzLCA1NSwgMjEzLCAxMTUsIDIwOSwgMzYsIDEzNSwgMjQ4LCAyMjAsIDU1LCAyMDksIDM2LCAKKyAgICAxMzUsIDIwNiwgODYsIDIzMSwgMjQ1LCAyMzMsIDU1LCAyMTMsIDExNiwgMjE3LCAxMDIsIDIwOSwgMzYsIDEzNSwgNTAsIAorICAgIDIxMywgMTE1LCAyMDksIDM2LCAxMzUsIDIxMSwgMzYsIDIxMywgMTE1LCAyMDksIDM2LCAxMzUsIDIzMSwgMjQ1LCAyNTIsIAorICAgIDc1LCAyMDksIDM2LCAxMzUsIDY3LCA1NSwgMjA5LCAzNiwgMTM1LCAxMTgsIDE3NywgNTUsIDIwOSwgMzYsIDEzNSwgMTI5LCAKKyAgICAxNzcsIDU1LCAyMDksIDM2LCAxMzUsIDIxOCwgMTU1LCAyMzIsIDAsIDIzMywgNTUsIDIxMywgMTE1LCAyMDksIDM2LCAxMzUsIAorICAgIDI1MSwgMTk3LCAyMzMsIDU1LCAyMTMsIDExNSwgMjA5LCAzNiwgMywgMjA4LCAxODQsIDIxMywgMTE1LCAyMDksIDM2LCAzLCAKKyAgICAyMDgsIDE4NCwgMjEwLCA1LCAyMDksIDM2LCAzLCAyMTgsIDIyNCwgMjA4LCAxODQsIDIxMCwgNSwgMjA5LCAzNiwgMywgCisgICAgMjA4LCAxODQsIDI1MiwgNzUsIDIwOSwgMzYsIDMsIDIxOCwgMjI0LCAyMDgsIDE4NCwgMjUyLCA3NSwgMjA5LCAzNiwgMywgCisgICAgMjA4LCAxODQsIDIxMCwgNiwgMiwgMjEyLCAxOTEsIDIwOSwgMzYsIDMsIDIwOCwgMTg0LCAyNTIsIDc2LCAyLCAyMTIsIAorICAgIDE5MSwgMjA5LCAzNiwgMywgMjUyLCA3NCwgMjUyLCA5MCwgMjA5LCAzNiwgMywgMjUyLCA3NCwgMjUwLCAxNTYsIDIwOSwgCisgICAgMzYsIDMsIDI1MiwgNzQsIDIwOSwgNjEsIDIwOSwgMzYsIDMsIDI1MiwgNzQsIDIwOSwgNjIsIDIsIDIxMiwgMTkxLCAyMDksIAorICAgIDM2LCAzLCAyMTEsIDE1NywgMjA5LCAzNiwgMywgMjM5LCAyMywgMTUyLCAyNTIsIDczLCAyMDksIDM2LCAzLCAxNTIsIDI1MiwgCisgICAgNzMsIDIwOSwgMzYsIDMsIDIxOCwgNTIsIDE1MiwgMjUyLCA3MywgMjA5LCAzNiwgMywgMjUyLCA3NCwgMjEwLCAxMiwgMjI2LCAKKyAgICAxMDAsIDIwOSwgMzYsIDMsIDI1MiwgMTUsIDIwOSwgMzYsIDMsIDIxOCwgOTcsIDI1MiwgMTUsIDIwOSwgMzYsIDEzNSwgCisgICAgMjQ4LCAyMjAsIDUyLCAyMDksIDM2LCAzLCAyMzIsIDE1NiwgMjA5LCAzNiwgMywgMjA5LCAyMDQsIDIwOSwgMzYsIDEzNSwgCisgICAgMjE4LCAxNDksIDUyLCAyMDksIDM2LCAxMzUsIDUwLCAyMTgsIDE0OSwgNTIsIDcsIDEsIDUsIDYsIDYyLCA3LCAxLCA1LCA2LCAKKyAgICAyNTIsIDI0OCwgNywgNSwgMSwgMjAxLCAyNTIsIDI0OCwgNywgMSwgNSwgNiwgMjUwLCAxMjMsIDI1MSwgMTUwLCA3LCAxLCAKKyAgICA1LCA2LCAyNDksIDM0LCA3LCAxLCA1LCA2LCAyNDYsIDI0MCwgNywgMSwgNSwgNiwgMjQyLCAxOTYsIDcsIDEsIDUsIDYsIAorICAgIDc1LCA3LCA1LCAxLCAyMDEsIDIyMiwgMTQyLCA3NSwgNywgNSwgMSwgMjAxLCA3NCwgNywgMSwgNSwgNiwgMjMyLCAyMDMsIAorICAgIDcsIDEsIDUsIDYsIDIzMiwgNzYsIDcsIDEsIDUsIDYsIDIzMCwgMTU5LCAyLCA5MSwgNywgMSwgNSwgNiwgMjI5LCAyOCwgNywgCisgICAgMSwgNSwgNiwgMjE4LCAyMjQsIDIyNiwgMzMsIDcsIDEsIDUsIDYsIDc2LCA3LCAxLCA1LCA2LCAyMjIsIDE0MiwgNzYsIDcsIAorICAgIDUsIDEsIDIxNSwgNzMsIDc2LCA3LCA1LCAxLCAyMTUsIDczLCAyMjIsIDE0MiwgNzYsIDcsIDUsIDEsIDIxNSwgNzMsIDE0OCwgCisgICAgMiwgOTEsIDcsIDUsIDEsIDIwMSwgMjIyLCAyMDYsIDcsIDEsIDUsIDYsIDIyMiwgOTcsIDcsIDUsIDEsIDIxMSwgMTAyLCAKKyAgICAxNjAsIDc2LCA3LCA1LCAxLCAyNDksIDE1NCwgMTYwLCA3NiwgNywgMSwgNSwgNiwgMjIyLCA2NywgNywgMSwgNSwgNiwgCisgICAgMjE4LCAyMjQsIDEzNywgNywgMSwgNSwgNiwgMjAxLCAxMzcsIDcsIDEsIDUsIDYsIDIxMywgMTAsIDcsIDEsIDUsIDYsIDcxLCAKKyAgICA3LCA1LCAxLCAyMTUsIDczLCA3MSwgNywgNSwgMSwgMjE1LCA3MywgMjQ1LCAxNjQsIDcxLCA3LCA1LCAxLCAyMTUsIDczLCAKKyAgICAyMDEsIDIyOSwgMjgsIDcsIDEsIDUsIDYsIDIwOSwgMTQ4LCA3LCAxLCA1LCA2LCAyMDcsIDEyOSwgNywgMSwgNSwgNiwgCisgICAgMjA1LCAxNTksIDcsIDEsIDUsIDYsIDI0MiwgMTQxLCA3LCAxLCAyMDgsIDE3MCwgMjMwLCA4MywgMjE0LCAxMjYsIDcsIDEsIAorICAgIDI1MiwgMjAwLCAyNywgMSwgNSwgNiwgMjQwLCAyMTUsIDI3LCAxLCA1LCA2LCAyMzAsIDEwMiwgMjcsIDEsIDUsIDYsIDIyMSwgCisgICAgNTMsIDI3LCAxLCA1LCA2LCAyMTgsIDIxMCwgMjcsIDEsIDUsIDYsIDIyMCwgOTMsIDM0LCAxLCA1LCA2LCAyNDMsIDY4LCAKKyAgICA2NSwgMSwgNiwgNjIsIDY1LCAxLCA2LCAyNTIsIDI0OCwgNjUsIDEsIDYsIDI1MSwgMTUwLCA2NSwgMSwgNiwgMjUwLCAxMjMsIAorICAgIDI1MSwgMTUwLCA2NSwgMSwgNiwgMjQ2LCAyNDAsIDY1LCAxLCA2LCA3NSwgNjUsIDEsIDYsIDIxOCwgMjI0LCA3NSwgNjUsIAorICAgIDEsIDYsIDI0MSwgNTUsIDY1LCAxLCA2LCAyMzksIDE1NSwgNjUsIDEsIDYsIDc0LCA2NSwgMSwgNiwgMjMyLCAyMDMsIDY1LCAKKyAgICAxLCA2LCAyMzIsIDc2LCA2NSwgMSwgNiwgMTQ5LCA2NSwgMSwgNiwgMjI5LCAyOCwgNjUsIDEsIDYsIDIyNiwgMzMsIDY1LCAKKyAgICAxLCA2LCAyMTgsIDIyNCwgMjI2LCAzMywgNjUsIDEsIDYsIDc2LCA2NSwgMSwgNiwgMjIyLCA5NywgNjUsIDEsIDYsIDIyMiwgCisgICAgNjcsIDY1LCAxLCA2LCAxMzcsIDY1LCAxLCA2LCAyMTMsIDEwLCA2NSwgMSwgNiwgNzEsIDY1LCAxLCA2LCAyMDcsIDEyOSwgCisgICAgNjUsIDEsIDUsIDYyLCA2NSwgMSwgNSwgMjAxLCA2MiwgNjUsIDEsIDUsIDI1MiwgMTQ0LCA2NSwgMSwgNSwgMjAxLCAyNTIsIAorICAgIDI0OCwgNjUsIDEsIDUsIDI1MSwgMTUwLCA2NSwgMSwgNSwgMjQ2LCAyNDAsIDY1LCAxLCA1LCA3NSwgNjUsIDEsIDUsIDIxNywgCisgICAgMTAwLCA2NSwgMSwgNSwgMjIyLCAxNDIsIDc1LCA2NSwgMSwgNSwgMjAxLCAyMjIsIDE0MiwgNzUsIDY1LCAxLCA1LCAyNDEsIAorICAgIDU1LCA2NSwgMSwgNSwgMjAxLCA3NCwgNjUsIDEsIDUsIDIzMiwgNzYsIDY1LCAxLCA1LCAyMjksIDI4LCA2NSwgMSwgNSwgCisgICAgMjQzLCAyOCwgNjUsIDEsIDUsIDc2LCA2NSwgMSwgNSwgMjIyLCAxNDIsIDc2LCA2NSwgMSwgNSwgMjExLCAxMDIsIDE2MCwgCisgICAgNzYsIDY1LCAxLCA1LCAyNDksIDE1NCwgMTYwLCA3NiwgNjUsIDEsIDUsIDIyMiwgNjcsIDY1LCAxLCA1LCAyMTMsIDEwLCAKKyAgICA2NSwgMSwgNSwgNzEsIDY1LCAxLCA1LCAyMTUsIDczLCA3MSwgNjUsIDEsIDUsIDIwMSwgMjI5LCAyOCwgNjUsIDEsIDUsIAorICAgIDIwOSwgMTQ4LCA2NSwgMSwgNSwgMjUyLCAyMDAsIDY1LCAxLCA1LCAyNTAsIDgsIDY1LCAxLCA1LCAyNywgMjQwLCAyMTUsIAorICAgIDY1LCAxLCA1LCAyNDUsIDIyNywgNjUsIDEsIDUsIDI3LCAyMjEsIDc4LCA2NSwgMSwgNSwgMjQ4LCA1OCwgNywgMjEzLCAKKyAgICAxODMsIDUsIDEsIDc0LCA3LCAyMTMsIDE4MywgNSwgMSwgMTM3LCA3LCAyMTMsIDE4MywgNSwgMSwgNzEsIDcsIDIxMywgCisgICAgMTgzLCA1LCAxLCAyMDksIDE0OCwgMjcsIDIxMywgMTgzLCA1LCAxLCAyNTAsIDgsIDI3LCAyMTMsIDE4MywgNSwgMSwgMjQwLCAKKyAgICAyMTUsIDI3LCAyMTMsIDE4MywgNSwgMSwgMjE4LCAyMTAsIDI3LCAyMTMsIDE4MywgNSwgMSwgMjIxLCA3OCwgMjcsIDIxMywgCisgICAgMTgzLCA1LCAxLCAyNDgsIDU4LCA3LCA1LCAxLCAyMTAsIDMsIDcsIDUsIDEsIDYzLCAyLCAyMjYsIDI0NywgMjExLCAxODAsIAorICAgIDcsIDUsIDEsIDI0NiwgMjQxLCAyLCAyMjYsIDI0NywgMjExLCAxODAsIDcsIDUsIDEsIDI0MiwgMTQwLCAyLCAyMjYsIDI0NywgCisgICAgMjExLCAxODAsIDcsIDUsIDEsIDIyOSwgMjksIDIsIDIyNiwgMjQ3LCAyMTEsIDE4MCwgNywgNSwgMSwgMjI2LCAzNCwgMiwgCisgICAgMjI2LCAyNDcsIDIxMSwgMTgwLCA3LCA1LCAxLCAyMjIsIDY4LCAyLCAyMjYsIDI0NywgMjExLCAxODAsIDcsIDUsIDEsIAorICAgIDIxOSwgMTUwLCAyLCAyMjYsIDI0NywgMjExLCAxODAsIDcsIDUsIDEsIDIxOSwgMTUwLCAyLCAyNDEsIDIxMSwgMjMsIDIyNiwgCisgICAgMjQ3LCAyMTEsIDE4MCwgNywgNSwgMSwgMjE4LCAxLCAyLCAyMjYsIDI0NywgMjExLCAxODAsIDcsIDUsIDEsIDIxMywgMTEsIAorICAgIDIsIDIyNiwgMjQ3LCAyMTEsIDE4MCwgNywgNSwgMSwgMjA1LCAxNjAsIDIsIDIyNiwgMjQ3LCAyMTEsIDE4MCwgNywgNSwgMSwgCisgICAgMjAxLCAyNDEsIDU1LCA2NSwgMSwgMzQsIDI0MywgNDEsIDcsIDUsIDEsIDIzMywgMjMsIDI0MSwgNTUsIDcsIDUsIDEsIAorICAgIDIxMiwgNTksIDIsIDIxMywgMjI5LCA3LCA1LCA2LCAxLCAyMzcsIDIyNSwgMiwgOTEsIDcsIDUsIDEsIDIzMiwgMjUwLCAyLCAKKyAgICA5MSwgNywgNSwgMSwgMjIyLCA2OCwgMiwgOTEsIDcsIDUsIDYsIDEsIDEwNiwgMiwgOTEsIDcsIDUsIDEsIDIwOSwgMjAxLCAKKyAgICAyLCA5MSwgNywgNSwgMSwgNjMsIDIsIDIyMiwgMjYsIDEwOSwgNywgNSwgMSwgMjQ2LCAyNDEsIDIsIDIyMiwgMjYsIDEwOSwgCisgICAgNywgNSwgMSwgMjQyLCAxNDAsIDIsIDIyMiwgMjYsIDEwOSwgNywgNSwgMSwgMjQxLCA1NiwgMiwgMjIyLCAyNiwgMTA5LCA3LCAKKyAgICA1LCAxLCAyMzIsIDc3LCAyLCAyMjIsIDI2LCAxMDksIDcsIDUsIDEsIDIzMCwgMTU5LCAyLCAyMjIsIDI2LCAxMDksIDcsIDUsIAorICAgIDEsIDIyOSwgMjksIDIsIDIyMiwgMjYsIDEwOSwgNywgNSwgMSwgMjI2LCAzNCwgMiwgMjIyLCAyNiwgMTA5LCA3LCA1LCAxLCAKKyAgICAyMjIsIDY4LCAyLCAyMjIsIDI2LCAxMDksIDcsIDUsIDEsIDIxOSwgMTUwLCAyLCAyMjIsIDI2LCAxMDksIDcsIDUsIDEsIAorICAgIDIxOCwgMSwgMiwgMjIyLCAyNiwgMTA5LCA3LCA1LCAxLCAyNDIsIDIxNiwgMiwgMjIyLCAyNiwgMTA5LCA3LCA1LCAxLCAKKyAgICAyMDksIDE0OSwgMiwgMjIyLCAyNiwgMTA5LCA3LCA1LCAxLCAyMDYsIDE5NiwgMiwgMjIyLCAyNiwgMTA5LCA3LCA1LCAxLCAKKyAgICAyMDUsIDE2MCwgMiwgMjIyLCAyNiwgMTA5LCA3LCA1LCAxLCAzMiwgMiwgMjE4LCAyMzAsIDEwOSwgNywgNSwgMSwgMjUyLCAKKyAgICAxNDUsIDIsIDIxOCwgMjMwLCAxMDksIDcsIDUsIDEsIDI0NiwgMjQxLCAyLCAyMzgsIDEzMCwgMjMsIDIxMiwgMTkxLCA3LCAKKyAgICA1LCAxLCAxNzQsIDIsIDIxOCwgMjMwLCAxMDksIDcsIDUsIDEsIDIyMiwgMTQyLCAxNzQsIDIsIDIxOCwgMjMwLCAxMDksIDcsIAorICAgIDUsIDEsIDIxOCwgMjI0LCAyMjIsIDE0MiwgMTc0LCAyLCAyMTgsIDIzMCwgMTA5LCA3LCA1LCAxLCAyMTcsIDEwMSwgMiwgCisgICAgMjE4LCAyMzAsIDEwOSwgNywgNSwgMSwgMjM3LCAyMjUsIDIsIDIxOCwgMjMwLCAxMDksIDcsIDUsIDEsIDIyMiwgMTQyLCAKKyAgICAxNDgsIDIsIDIxOCwgMjMwLCAxMDksIDcsIDUsIDEsIDI0MiwgMjE2LCAyLCAyMTgsIDIzMCwgMTA5LCA3LCA1LCAxLCAxMDYsIAorICAgIDIsIDIxOCwgMjMwLCAxMDksIDcsIDUsIDEsIDI0MiwgMTQyLCAyLCAyMTgsIDIzMCwgMTA5LCA2NSwgMSwgNSwgMjAxLCAKKyAgICAyNTIsIDE0NCwgNjUsIDEsIDUsIDI0OSwgMzQsIDY1LCAxLCA1LCAyNDksIDM1LCAyLCAyNDcsIDI3LCA2NSwgMSwgNSwgCisgICAgMjQyLCAxOTYsIDY1LCAxLCA1LCAyMTgsIDIyNCwgMjIyLCAxNDIsIDc1LCA2NSwgMSwgNSwgMjQyLCAxMzksIDY1LCAxLCA1LCAKKyAgICAyNDUsIDIyLCAyMzIsIDIwNCwgMiwgOTEsIDY1LCAxLCA1LCAxMjEsIDI0MSwgNTUsIDY1LCAxLCA1LCAyMDEsIDIzOSwgCisgICAgMTU1LCA2NSwgMSwgNSwgMjM3LCAyMjUsIDIsIDkxLCA2NSwgMSwgNSwgMjMyLCAyNDksIDY1LCAxLCA1LCA2LCA3NCwgNjUsIAorICAgIDEsIDUsIDYsIDIzNywgMjI1LCAyLCA5MSwgNjUsIDEsIDUsIDIzMiwgMjA0LCAyLCAyNDcsIDU2LCA2NSwgMSwgNSwgMjMwLCAKKyAgICAxNTksIDIsIDIxOCwgMjMwLCAxMDksIDY1LCAxLCA1LCAyMzAsIDE1OSwgMiwgMjIyLCAyNiwgMTA5LCA2NSwgMSwgNSwgNiwgCisgICAgMTQ5LCA2NSwgMSwgNSwgMjI5LCAyOSwgMiwgMTA5LCA2NSwgMSwgNSwgMjAxLCAyMjksIDI5LCAyLCAxNTIsIDIzMCwgMzQsIAorICAgIDY1LCAxLCA1LCAyMjYsIDM0LCAyLCA0NywgMTA5LCA2NSwgMSwgNSwgMjI2LCAzNCwgMiwgMjE4LCAyMzAsIDEwOSwgNjUsIAorICAgIDEsIDUsIDYsIDIyNiwgMzMsIDY1LCAxLCA1LCAyNTAsIDEyMywgNzYsIDY1LCAxLCA1LCAyMjEsIDc4LCA2NSwgMSwgNSwgCisgICAgMjE4LCAxLCAyLCAxMDksIDY1LCAxLCA1LCAyNDIsIDIxNSwgNjUsIDEsIDUsIDIxMywgMTEsIDIsIDIyMiwgMjYsIDEwOSwgCisgICAgNjUsIDEsIDUsIDEwNiwgMTM0LCA2NSwgMSwgNSwgMjA5LCAyMDAsIDY1LCAxLCA1LCA2LCA3MSwgNjUsIDEsIDUsIDIwOSwgCisgICAgMTQ5LCAyLCAxMDksIDY1LCAxLCA1LCAyMDEsIDIwOSwgMTQ4LCA2NSwgMSwgNSwgMjA1LCAxNTksIDY1LCAxLCA1LCAyMDUsIAorICAgIDE2MCwgMiwgMjE4LCAyMzAsIDEwOSwgNjUsIDEsIDUsIDIwNSwgMTYwLCAyLCAyNDcsIDI3LCA2NSwgMSwgNSwgMjQyLCAKKyAgICAxNDEsIDY1LCAxLCA1LCAyMTIsIDIzLCAzNiwgMjQ0LCAyMSwgMjM5LCAyMzcsIDI1MywgMjEsIDM2LCAyNDQsIDIxLCAyNTMsIAorICAgIDksIDI1MywgMjEsIDM2LCAyMTQsIDIwNSwgNTUsIDM2LCAyMTMsIDEyMiwgODMsIDM2LCAyMjgsIDEyLCAzNiwgMjM5LCAKKyAgICAyMzQsIDM2LCAyMjgsIDEwLCAzNiwgMjUzLCA3LCAzNiwgMjM5LCAyMzUsIDM2LCAyNTMsIDgsIDM2LCA3LCA1LCAxLCAyMTksIAorICAgIDE1MCwgNTUsIDM2LCAyNDksIDEyMSwgMzYsIDIyOCwgMTEsIDM2LCA1MCwgMjQ3LCAyMjgsIDUyLCAzNiwgMjIyLCAxOTcsIAorICAgIDUyLCAzNiwgMjA1LCAzMSwgNTUsIDM2LCAyMzIsIDIzNSwgNTUsIDM2LCAyMDksIDE5NSwgNTIsIDM2LCAyMDksIDE3OCwgCisgICAgNTIsIDM2LCA3LCA1LCAxLCAyNDEsIDE4NSwgMjIyLCAxNDIsIDMyLCA1MiwgMzYsIDcsIDUsIDEsIDI1MiwgMjQ4LCAzNiwgCisgICAgNywgNSwgMSwgMjUyLCA3MSwgMzYsIDcsIDUsIDEsIDI1MSwgMTY4LCAzNiwgNywgNSwgMSwgMjQ5LCAzNSwgMjQ4LCAxNDEsIAorICAgIDM2LCA3LCA1LCAxLCAyMzMsIDIzLCAyNDYsIDI0MCwgMzYsIDcsIDUsIDEsIDI0MiwgMTk2LCAzNiwgNywgNSwgMSwgMjQxLCAKKyAgICA1NSwgMzYsIDcsIDEsIDUsIDYsIDI0MSwgNTUsIDM2LCA3LCA1LCAxLCAyMzIsIDc2LCAzNiwgNywgNSwgMSwgMTQ5LCAzNiwgCisgICAgNywgMSwgNSwgNiwgMTQ5LCAzNiwgNywgMSwgNSwgNiwgMjI5LCAyOCwgMzYsIDcsIDUsIDEsIDIyNiwgMzMsIDM2LCA3LCAxLCAKKyAgICA1LCA2LCAyMjYsIDMzLCAzNiwgNywgMSwgNSwgNiwgMTM3LCAzNiwgNywgNSwgMSwgMjE5LCAxNTAsIDIxOCwgOTYsIDM2LCAKKyAgICA3LCA1LCAxLCAxODIsIDM2LCA3LCA1LCAxLCAxNTIsIDE4MiwgMzYsIDcsIDUsIDEsIDIwNSwgMTU5LCAzNiwgNywgNSwgMSwgCisgICAgMjUyLCAxNDQsIDM2LCA3LCA1LCAxLCAyNTEsIDE1MCwgMzYsIDcsIDUsIDEsIDI1MCwgOCwgMzYsIDcsIDUsIDEsIDIxNywgCisgICAgMTAwLCAzNiwgNywgNSwgMSwgMjQyLCAxMzksIDM2LCA3LCA1LCAxLCAyMzAsIDE1OSwgMiwgNTAsIDIyNiwgMjQ3LCAyMTEsIAorICAgIDE4MCwgMzYsIDcsIDUsIDEsIDE0OCwgMiwgMTQ3LCAyNDgsIDEzMCwgOTEsIDM2LCA3LCA1LCAxLCAyMjIsIDY3LCAzNiwgNywgCisgICAgNSwgMSwgMjQyLCAyMTUsIDM2LCA3LCA1LCAxLCAxMDYsIDIsIDE0NywgMjQ4LCAxMzAsIDkxLCAzNiwgNywgNSwgMSwgMjA3LCAKKyAgICAxMjksIDM2LCA3LCA1LCAxLCAzMiwgMiwgMjQ1LCAxNjYsIDM2LCA3LCA1LCAxLCAxNDgsIDIsIDI0NSwgMTY2LCAzNiwgNywgCisgICAgNSwgMSwgMTA2LCAyLCAyNDUsIDE2NiwgMzYsIDEyMCwgMjEyLCAyMDIsIDUyLCAzNiwgNTAsIDIzMywgMiwgMjQ5LCAxMjMsIAorICAgIDU1LCAzNiwgMjUyLCAxNDksIDE0NiwgMjExLCAxMzAsIDU1LCAzNiwgNDcsIDI1MSwgMjQ0LCA1MiwgMzYsIDQ4LCAyNTEsIAorICAgIDI0NCwgMjMsIDEzMCwgMjUxLCAyNDQsIDU1LCA3LCA2LCAxLCAzMiwgMiwgMjE4LCAxNDksIDU1LCA3LCA1LCAxLCAzMiwgMiwgCisgICAgMjE4LCAxNDksIDU1LCA3LCA2LCAxLCA2MywgMiwgNjcsIDUyLCA3LCA1LCAxLCA2MywgMiwgNjcsIDUyLCA3LCA2LCAxLCAKKyAgICA2MywgMiwgNjcsIDU1LCA3LCA1LCAxLCA2MywgMiwgNjcsIDU1LCA3LCA2LCAxLCA2MywgMiwgMjI5LCAyMDYsIDU1LCA3LCAKKyAgICA1LCAxLCA2MywgMiwgMjI5LCAyMDYsIDU1LCA3LCA2LCAxLCAyNDksIDM1LCAyLCAyNDgsIDE0MiwgMjMsIDE1MywgNywgNSwgCisgICAgMSwgMjQ5LCAzNSwgMiwgMjQ4LCAxNDIsIDIzLCAxNTMsIDcsIDYsIDEsIDI0NiwgMjQxLCAyLCA2NywgNTIsIDcsIDUsIDEsIAorICAgIDI0NiwgMjQxLCAyLCA2NywgNTIsIDcsIDYsIDEsIDI0NiwgMjQxLCAyLCA2NywgNTUsIDcsIDUsIDEsIDI0NiwgMjQxLCAyLCAKKyAgICA2NywgNTUsIDcsIDYsIDEsIDI0NiwgMjQxLCAyLCAyMjksIDIwNiwgNTUsIDcsIDUsIDEsIDI0NiwgMjQxLCAyLCAyMjksIAorICAgIDIwNiwgNTUsIDcsIDYsIDEsIDI0NiwgMjQxLCAyLCAyNDgsIDE0MSwgNywgNSwgMSwgMjQ2LCAyNDEsIDIsIDI0OCwgMTQxLCAKKyAgICA3LCA2LCAxLCAyNDYsIDI0MSwgMiwgMjQ3LCAyMjgsIDU1LCA3LCA1LCAxLCAyNDYsIDI0MSwgMiwgMjQ3LCAyMjgsIDU1LCAKKyAgICA3LCA2LCAxLCAxNzQsIDIsIDIyOCwgMTQsIDIzLCAyMzksIDIzNiwgNywgNSwgMSwgMTc0LCAyLCAyMjgsIDE0LCAyMywgCisgICAgMjM5LCAyMzYsIDcsIDYsIDEsIDE3NCwgMiwgMjI4LCAxNCwgMjMsIDE1MywgNywgNSwgMSwgMTc0LCAyLCAyMjgsIDE0LCAKKyAgICAyMywgMTUzLCA3LCA2LCAxLCAxNzQsIDIsIDI0NywgMjI4LCA1NSwgNywgNSwgMSwgMTc0LCAyLCAyNDcsIDIyOCwgNTUsIDcsIAorICAgIDYsIDEsIDE3NCwgMiwgMjExLCAxODEsIDU1LCA3LCA1LCAxLCAxNzQsIDIsIDIxMSwgMTgxLCA1NSwgNywgNiwgMSwgMTc0LCAKKyAgICAyLCAyNDgsIDE0MiwgMjMsIDI0OSwgMTIyLCA3LCA1LCAxLCAxNzQsIDIsIDI0OCwgMTQyLCAyMywgMjQ5LCAxMjIsIDcsIDYsIAorICAgIDEsIDI0MiwgMTQwLCAyLCA2NywgNTIsIDcsIDUsIDEsIDI0MiwgMTQwLCAyLCA2NywgNTIsIDcsIDYsIDEsIDI0MSwgNTYsIAorICAgIDIsIDIyOCwgMTMsIDcsIDUsIDEsIDI0MSwgNTYsIDIsIDIyOCwgMTMsIDcsIDYsIDEsIDIzOSwgMTU2LCAyLCA2NywgNTIsIAorICAgIDcsIDUsIDEsIDIzOSwgMTU2LCAyLCA2NywgNTIsIDcsIDYsIDEsIDIzOSwgMTU2LCAyLCA2NywgNTUsIDcsIDUsIDEsIDIzOSwgCisgICAgMTU2LCAyLCA2NywgNTUsIDcsIDYsIDEsIDIzOSwgMTU2LCAyLCAyNDUsIDE2NiwgNywgNSwgMSwgMjM5LCAxNTYsIDIsIAorICAgIDI0NSwgMTY2LCA3LCA2LCAxLCAyMzksIDE1NiwgMiwgMjQ4LCAxNDEsIDcsIDUsIDEsIDIzOSwgMTU2LCAyLCAyNDgsIDE0MSwgCisgICAgNywgNiwgMSwgMjM5LCAxNTYsIDIsIDI0OSwgMTIzLCA1NSwgNywgNSwgMSwgMjM5LCAxNTYsIDIsIDI0OSwgMTIzLCA1NSwgCisgICAgNywgNiwgMSwgMjM3LCAyMjUsIDIsIDIxMSwgMTgxLCA1NSwgNywgNSwgMSwgMjM3LCAyMjUsIDIsIDIxMSwgMTgxLCA1NSwgCisgICAgNywgNiwgMSwgMjM3LCAyMjUsIDIsIDI0NSwgMTY3LCAyMywgMTUzLCA3LCA1LCAxLCAyMzcsIDIyNSwgMiwgMjQ1LCAxNjcsIAorICAgIDIzLCAxNTMsIDcsIDYsIDEsIDIzMiwgNzcsIDIsIDE1MywgNywgNSwgMSwgMjMyLCA3NywgMiwgMTUzLCA3LCA2LCAxLCAKKyAgICAyMzIsIDc3LCAyLCA2NywgNTUsIDcsIDUsIDEsIDIzMiwgNzcsIDIsIDY3LCA1NSwgNywgNiwgMSwgMjMyLCA3NywgMiwgCisgICAgMjI5LCAyMDYsIDU1LCA3LCA1LCAxLCAyMzIsIDc3LCAyLCAyMjksIDIwNiwgNTUsIDcsIDYsIDEsIDIzMCwgMTU5LCAyLCAKKyAgICA2NywgNTUsIDcsIDUsIDEsIDIzMCwgMTU5LCAyLCA2NywgNTUsIDcsIDYsIDEsIDIzMCwgMTU5LCAyLCA2NywgMjUwLCAyNiwgCisgICAgMjMsIDIyOCwgMTMsIDcsIDUsIDEsIDIzMCwgMTU5LCAyLCA2NywgMjUwLCAyNiwgMjMsIDIyOCwgMTMsIDcsIDYsIDEsIAorICAgIDIzMCwgMTU5LCAyLCAyMjksIDIwNiwgNTUsIDcsIDUsIDEsIDIzMCwgMTU5LCAyLCAyMjksIDIwNiwgNTUsIDcsIDYsIDEsIAorICAgIDIzMCwgMTU5LCAyLCAyNDcsIDIyOCwgNTUsIDcsIDUsIDEsIDIzMCwgMTU5LCAyLCAyNDcsIDIyOCwgNTUsIDcsIDYsIDEsIAorICAgIDIyOSwgMjksIDIsIDE1MywgNywgNSwgMSwgMjI5LCAyOSwgMiwgMTUzLCA3LCA2LCAxLCAyMjksIDI5LCAyLCA2NywgNTIsIAorICAgIDcsIDUsIDEsIDIyOSwgMjksIDIsIDY3LCA1MiwgNywgNiwgMSwgMjI5LCAyOSwgMiwgNjcsIDU1LCA3LCA1LCAxLCAyMjksIAorICAgIDI5LCAyLCA2NywgNTUsIDcsIDYsIDEsIDIyNiwgMzQsIDIsIDY3LCA1MiwgNywgNSwgMSwgMjI2LCAzNCwgMiwgNjcsIDUyLCAKKyAgICA3LCA2LCAxLCAyMjYsIDM0LCAyLCA2NywgNTUsIDcsIDUsIDEsIDIyNiwgMzQsIDIsIDY3LCA1NSwgNywgNiwgMSwgMjI2LCAKKyAgICAzNCwgMiwgMjI5LCAyMDYsIDU1LCA3LCA1LCAxLCAyMjYsIDM0LCAyLCAyMjksIDIwNiwgNTUsIDcsIDYsIDEsIDIyNiwgMzQsIAorICAgIDIsIDI0NywgMjI4LCA1NSwgNywgNSwgMSwgMjI2LCAzNCwgMiwgMjQ3LCAyMjgsIDU1LCA3LCA2LCAxLCAxNDgsIDIsIDIxMSwgCisgICAgMTgxLCAyMywgMTUzLCA3LCA1LCAxLCAxNDgsIDIsIDIxMSwgMTgxLCAyMywgMTUzLCA3LCA2LCAxLCAxNDgsIDIsIDIxMSwgCisgICAgMTgxLCAyMywgMjQ1LCAxNjYsIDcsIDUsIDEsIDE0OCwgMiwgMjExLCAxODEsIDIzLCAyNDUsIDE2NiwgNywgNiwgMSwgMTQ4LCAKKyAgICAyLCAyMjgsIDE0LCAyMywgMjM5LCAyMzYsIDcsIDUsIDEsIDE0OCwgMiwgMjI4LCAxNCwgMjMsIDIzOSwgMjM2LCA3LCA2LCAKKyAgICAxLCAxNDgsIDIsIDIyOCwgMTQsIDIzLCAxNTMsIDcsIDUsIDEsIDE0OCwgMiwgMjI4LCAxNCwgMjMsIDE1MywgNywgNiwgMSwgCisgICAgMjIyLCA2OCwgMiwgMTUzLCA3LCA1LCAxLCAyMjIsIDY4LCAyLCAxNTMsIDcsIDYsIDEsIDIyMiwgNjgsIDIsIDY3LCA1MiwgCisgICAgNywgNSwgMSwgMjIyLCA2OCwgMiwgNjcsIDUyLCA3LCA2LCAxLCAyMTksIDE1MCwgMiwgNjcsIDUyLCA3LCA1LCAxLCAyMTksIAorICAgIDE1MCwgMiwgNjcsIDUyLCA3LCA2LCAxLCAyMTksIDE1MCwgMiwgNjcsIDU1LCA3LCA1LCAxLCAyMTksIDE1MCwgMiwgNjcsIAorICAgIDU1LCA3LCA2LCAxLCAyMTksIDE1MCwgMiwgNjcsIDI1MCwgMjYsIDIzLCAyMjgsIDEzLCA3LCA1LCAxLCAyMTksIDE1MCwgMiwgCisgICAgNjcsIDI1MCwgMjYsIDIzLCAyMjgsIDEzLCA3LCA2LCAxLCAyMTksIDE1MCwgMiwgMjI5LCAyMDYsIDU1LCA3LCA1LCAxLCAKKyAgICAyMTksIDE1MCwgMiwgMjI5LCAyMDYsIDU1LCA3LCA2LCAxLCAyMTgsIDEsIDIsIDY3LCA1MiwgNywgNSwgMSwgMjE4LCAxLCAKKyAgICAyLCA2NywgNTIsIDcsIDYsIDEsIDIxOCwgMSwgMiwgNjcsIDU1LCA3LCA1LCAxLCAyMTgsIDEsIDIsIDY3LCA1NSwgNywgNiwgCisgICAgMSwgMjE4LCAxLCAyLCAyNTMsIDksIDIzLCA2NywgNTIsIDcsIDUsIDEsIDIxOCwgMSwgMiwgMjUzLCA5LCAyMywgNjcsIDUyLCAKKyAgICA3LCA2LCAxLCAyMTgsIDEsIDIsIDI0OCwgMTk2LCAyMywgNjcsIDUyLCA3LCA1LCAxLCAyMTgsIDEsIDIsIDI0OCwgMTk2LCAKKyAgICAyMywgNjcsIDUyLCA3LCA2LCAxLCAyMTgsIDEsIDIsIDY3LCAyNTAsIDI2LCAyMywgNjcsIDUyLCA3LCA1LCAxLCAyMTgsIDEsIAorICAgIDIsIDY3LCAyNTAsIDI2LCAyMywgNjcsIDUyLCA3LCA2LCAxLCAyMTMsIDExLCAyLCA2NywgNTIsIDcsIDUsIDEsIDIxMywgCisgICAgMTEsIDIsIDY3LCA1MiwgNywgNiwgMSwgMjEzLCAxMSwgMiwgNjcsIDU1LCA3LCA1LCAxLCAyMTMsIDExLCAyLCA2NywgNTUsIAorICAgIDcsIDYsIDEsIDIxMywgMTEsIDIsIDIyOSwgMjA2LCA1NSwgNywgNSwgMSwgMjEzLCAxMSwgMiwgMjI5LCAyMDYsIDU1LCA3LCAKKyAgICA2LCAxLCAyMTMsIDExLCAyLCAyNDcsIDIyOCwgNTUsIDcsIDUsIDEsIDIxMywgMTEsIDIsIDI0NywgMjI4LCA1NSwgNywgNiwgCisgICAgMSwgMTA2LCAyLCAyNDUsIDE2NywgNTUsIDcsIDUsIDEsIDEwNiwgMiwgMjQ1LCAxNjcsIDU1LCA3LCA2LCAxLCAxMDYsIDIsIAorICAgIDIxMSwgMTgxLCA1NSwgNywgNSwgMSwgMTA2LCAyLCAyMTEsIDE4MSwgNTUsIDcsIDYsIDEsIDEwNiwgMiwgMjQ3LCAyMjgsIAorICAgIDU1LCA3LCA1LCAxLCAxMDYsIDIsIDI0NywgMjI4LCA1NSwgNywgNiwgMSwgMTA2LCAyLCAyMTEsIDE4MSwgMjMsIDE1MywgNywgCisgICAgNSwgMSwgMTA2LCAyLCAyMTEsIDE4MSwgMjMsIDE1MywgNywgNiwgMSwgMTA2LCAyLCAyMjgsIDE0LCAyMywgMjQ1LCAxNjYsIAorICAgIDcsIDUsIDEsIDEwNiwgMiwgMjI4LCAxNCwgMjMsIDI0NSwgMTY2LCA3LCA2LCAxLCAyMDksIDE0OSwgMiwgMjExLCAxODAsIAorICAgIDcsIDUsIDEsIDIwOSwgMTQ5LCAyLCAyMTEsIDE4MCwgNywgNiwgMSwgMjA5LCAxNDksIDIsIDY3LCA1NSwgNywgNSwgMSwgCisgICAgMjA5LCAxNDksIDIsIDY3LCA1NSwgNywgNiwgMSwgMjA3LCAxMzAsIDIsIDIzOSwgMjM2LCA3LCA1LCAxLCAyMDcsIDEzMCwgCisgICAgMiwgMjM5LCAyMzYsIDcsIDYsIDEsIDIwNywgMTMwLCAyLCAxNTMsIDcsIDUsIDEsIDIwNywgMTMwLCAyLCAxNTMsIDcsIDYsIAorICAgIDEsIDIwNywgMTMwLCAyLCAyNDUsIDE2NiwgNywgNSwgMSwgMjA3LCAxMzAsIDIsIDI0NSwgMTY2LCA3LCA2LCAxLCAyMDcsIAorICAgIDEzMCwgMiwgNjcsIDUyLCA3LCA1LCAxLCAyMDcsIDEzMCwgMiwgNjcsIDUyLCA3LCA2LCAxLCAyMDcsIDEzMCwgMiwgNjcsIAorICAgIDU1LCA3LCA1LCAxLCAyMDcsIDEzMCwgMiwgNjcsIDU1LCA3LCA2LCAxLCAyMDYsIDE5NiwgMiwgNjcsIDUyLCA3LCA1LCAxLCAKKyAgICAyMDYsIDE5NiwgMiwgNjcsIDUyLCA3LCA2LCAxLCAyMDYsIDE5NiwgMiwgMjQ1LCAxNjYsIDcsIDUsIDEsIDIwNiwgMTk2LCAKKyAgICAyLCAyNDUsIDE2NiwgNywgNiwgMSwgMjA2LCAxMjQsIDIsIDY3LCA1MiwgNywgNSwgMSwgMjA2LCAxMjQsIDIsIDY3LCA1MiwgCisgICAgNywgNiwgMSwgMjA1LCAxNjAsIDIsIDI0NywgMjI3LCA3LCA1LCAxLCAyMDUsIDE2MCwgMiwgMjQ3LCAyMjcsIDcsIDYsIDEsIAorICAgIDIwNSwgMTYwLCAyLCA2NywgNTUsIDcsIDUsIDEsIDIwNSwgMTYwLCAyLCA2NywgNTUsIDcsIDYsIDEsIDIwNSwgMTYwLCAyLCAKKyAgICAyMjksIDIwNiwgNTUsIDcsIDUsIDEsIDIwNSwgMTYwLCAyLCAyMjksIDIwNiwgNTUsIDcsIDUsIDEsIDIzOSwgMTU2LCAyLCAKKyAgICAyMjksIDIwNiwgNTUsIDcsIDUsIDEsIDIxMywgMTEsIDIsIDI0NSwgMTY2LCA3LCA1LCAxLCAyMDcsIDEzMCwgMiwgMjE4LCAKKyAgICAxNDksIDUyLCA3LCA1LCAxLCAyMDYsIDEyNCwgMiwgMjE4LCAxNDksIDUyLCA3LCA1LCAxLCAzMiwgMiwgNDgsIDE2MCwgCisgICAgMjE4LCAxNDgsIDcsIDUsIDEsIDE1MiwgMjE4LCAxLCAyLCA2NywgNTIsIDcsIDUsIDEsIDE1MiwgMjE4LCAxLCAyLCAyNDUsIAorICAgIDE2MywgOTEsIDcsIDUsIDEsIDE1MiwgMjE4LCAxLCAyLCAxMjcsIDkxLCA3LCA2LCAxLCAyMTUsIDIyOCwgMTgyLCA3LCA1LCAKKyAgICAxLCAyNDUsIDIyNywgNywgNiwgMSwgMzIsIDIsIDY3LCA1NSwgNywgNSwgMSwgMzIsIDIsIDY3LCA1NSwgNywgNiwgMSwgMzIsIAorICAgIDIsIDIzOCwgMTMwLCA1MiwgNywgNSwgMSwgMzIsIDIsIDIzOCwgMTMwLCA1MiwgNywgNiwgMSwgMzIsIDIsIDI0NywgMjI4LCAKKyAgICAyMywgMTUzLCA3LCA1LCAxLCAzMiwgMiwgMjQ3LCAyMjgsIDIzLCAxNTMsIDcsIDYsIDEsIDMyLCAyLCAyNDcsIDIyOCwgMjMsIAorICAgIDIzOSwgMjM2LCA3LCA1LCAxLCAzMiwgMiwgMjQ3LCAyMjgsIDIzLCAyMzksIDIzNiwgNywgNiwgMSwgMzIsIDIsIDI0NywgCisgICAgMjI4LCAyMywgMjM4LCAxMzAsIDUyLCA3LCA1LCAxLCAzMiwgMiwgMjQ3LCAyMjgsIDIzLCAyMzgsIDEzMCwgNTIsIDcsIDYsIAorICAgIDEsIDMyLCAyLCAyNDcsIDIyOCwgMjMsIDIxMSwgMTgwLCA3LCA1LCAxLCAzMiwgMiwgMjQ3LCAyMjgsIDIzLCAyMTEsIDE4MCwgCisgICAgNywgNiwgMSwgMzIsIDIsIDI0NywgMjI4LCAyMywgNjcsIDU1LCA3LCA1LCAxLCAzMiwgMiwgMjQ3LCAyMjgsIDIzLCA2NywgCisgICAgNTUsIDcsIDYsIDEsIDMyLCAyLCAyNDksIDEyMywgMjMsIDE1MywgNywgNSwgMSwgMzIsIDIsIDI0OSwgMTIzLCAyMywgMTUzLCAKKyAgICA3LCA2LCAxLCAzMiwgMiwgMjQ5LCAxMjMsIDIzLCAyMzksIDIzNiwgNywgNSwgMSwgMzIsIDIsIDI0OSwgMTIzLCAyMywgCisgICAgMjM5LCAyMzYsIDcsIDYsIDEsIDMyLCAyLCAyNDksIDEyMywgMjMsIDIzOCwgMTMwLCA1MiwgNywgNSwgMSwgMzIsIDIsIAorICAgIDI0OSwgMTIzLCAyMywgMjM4LCAxMzAsIDUyLCA3LCA2LCAxLCAzMiwgMiwgMjQ5LCAxMjMsIDIzLCAyMTEsIDE4MCwgNywgNSwgCisgICAgMSwgMzIsIDIsIDI0OSwgMTIzLCAyMywgMjExLCAxODAsIDcsIDYsIDEsIDMyLCAyLCAyNDksIDEyMywgMjMsIDY3LCA1NSwgCisgICAgNywgNSwgMSwgMzIsIDIsIDI0OSwgMTIzLCAyMywgNjcsIDU1LCA3LCA2LCAxLCAxNzQsIDIsIDY3LCA1NSwgNywgNSwgMSwgCisgICAgMTc0LCAyLCA2NywgNTUsIDcsIDYsIDEsIDE3NCwgMiwgMjM4LCAxMzAsIDUyLCA3LCA1LCAxLCAxNzQsIDIsIDIzOCwgMTMwLCAKKyAgICA1MiwgNywgNiwgMSwgMTc0LCAyLCAyMTEsIDE4MCwgNywgNSwgMSwgMTc0LCAyLCAyMTEsIDE4MCwgNywgNiwgMSwgMTc0LCAKKyAgICAyLCAyNDcsIDIyOCwgMjMsIDE1MywgNywgNSwgMSwgMTc0LCAyLCAyNDcsIDIyOCwgMjMsIDE1MywgNywgNiwgMSwgMTc0LCAKKyAgICAyLCAyNDcsIDIyOCwgMjMsIDIzOSwgMjM2LCA3LCA1LCAxLCAxNzQsIDIsIDI0NywgMjI4LCAyMywgMjM5LCAyMzYsIDcsIDYsIAorICAgIDEsIDE3NCwgMiwgMjQ3LCAyMjgsIDIzLCAyMzgsIDEzMCwgNTIsIDcsIDUsIDEsIDE3NCwgMiwgMjQ3LCAyMjgsIDIzLCAKKyAgICAyMzgsIDEzMCwgNTIsIDcsIDYsIDEsIDE3NCwgMiwgMjQ3LCAyMjgsIDIzLCAyMTEsIDE4MCwgNywgNSwgMSwgMTc0LCAyLCAKKyAgICAyNDcsIDIyOCwgMjMsIDIxMSwgMTgwLCA3LCA2LCAxLCAxNzQsIDIsIDI0NywgMjI4LCAyMywgNjcsIDU1LCA3LCA1LCAxLCAKKyAgICAxNzQsIDIsIDI0NywgMjI4LCAyMywgNjcsIDU1LCA3LCA2LCAxLCAyMzcsIDIyNSwgMiwgMjM4LCAxMzAsIDUyLCA3LCA1LCAKKyAgICAxLCAyMzcsIDIyNSwgMiwgMjM4LCAxMzAsIDUyLCA3LCA2LCAxLCAyMzcsIDIyNSwgMiwgNjcsIDU1LCA3LCA1LCAxLCAyMzcsIAorICAgIDIyNSwgMiwgNjcsIDU1LCA3LCA2LCAxLCAxNDgsIDIsIDY3LCA1NSwgNywgNSwgMSwgMTQ4LCAyLCA2NywgNTUsIDcsIDYsIAorICAgIDEsIDE0OCwgMiwgMjM4LCAxMzAsIDUyLCA3LCA1LCAxLCAxNDgsIDIsIDIzOCwgMTMwLCA1MiwgNywgNiwgMSwgMTQ4LCAyLCAKKyAgICAyNDcsIDIyOCwgMjMsIDE1MywgNywgNSwgMSwgMTQ4LCAyLCAyNDcsIDIyOCwgMjMsIDE1MywgNywgNiwgMSwgMTQ4LCAyLCAKKyAgICAyNDcsIDIyOCwgMjMsIDIzOSwgMjM2LCA3LCA1LCAxLCAxNDgsIDIsIDI0NywgMjI4LCAyMywgMjM5LCAyMzYsIDcsIDYsIDEsIAorICAgIDE0OCwgMiwgMjQ3LCAyMjgsIDIzLCAyMzgsIDEzMCwgNTIsIDcsIDUsIDEsIDE0OCwgMiwgMjQ3LCAyMjgsIDIzLCAyMzgsIAorICAgIDEzMCwgNTIsIDcsIDYsIDEsIDE0OCwgMiwgMjQ3LCAyMjgsIDIzLCAyMTEsIDE4MCwgNywgNSwgMSwgMTQ4LCAyLCAyNDcsIAorICAgIDIyOCwgMjMsIDIxMSwgMTgwLCA3LCA2LCAxLCAxNDgsIDIsIDI0NywgMjI4LCAyMywgNjcsIDU1LCA3LCA1LCAxLCAxNDgsIAorICAgIDIsIDI0NywgMjI4LCAyMywgNjcsIDU1LCA3LCA2LCAxLCAxNDgsIDIsIDIzOCwgNzAsIDIzLCAxNTMsIDcsIDUsIDEsIDE0OCwgCisgICAgMiwgMjM4LCA3MCwgMjMsIDE1MywgNywgNiwgMSwgMTQ4LCAyLCAyMzgsIDcwLCAyMywgMjM5LCAyMzYsIDcsIDUsIDEsIAorICAgIDE0OCwgMiwgMjM4LCA3MCwgMjMsIDIzOSwgMjM2LCA3LCA2LCAxLCAxNDgsIDIsIDIzOCwgNzAsIDIzLCAyMzgsIDEzMCwgCisgICAgNTIsIDcsIDUsIDEsIDE0OCwgMiwgMjM4LCA3MCwgMjMsIDIzOCwgMTMwLCA1MiwgNywgNiwgMSwgMTQ4LCAyLCAyMzgsIDcwLCAKKyAgICAyMywgMjExLCAxODAsIDcsIDUsIDEsIDE0OCwgMiwgMjM4LCA3MCwgMjMsIDIxMSwgMTgwLCA3LCA2LCAxLCAxNDgsIDIsIAorICAgIDIzOCwgNzAsIDIzLCA2NywgNTUsIDcsIDUsIDEsIDE0OCwgMiwgMjM4LCA3MCwgMjMsIDY3LCA1NSwgNywgNiwgMSwgMTA2LCAKKyAgICAyLCA2NywgNTUsIDcsIDUsIDEsIDEwNiwgMiwgNjcsIDU1LCA3LCA2LCAxLCAxMDYsIDIsIDIzOCwgMTMwLCA1MiwgNywgNSwgCisgICAgMSwgMTA2LCAyLCAyMzgsIDEzMCwgNTIsIDcsIDYsIDEsIDEwNiwgMiwgMjM4LCA3MCwgMjMsIDE1MywgNywgNSwgMSwgMTA2LCAKKyAgICAyLCAyMzgsIDcwLCAyMywgMTUzLCA3LCA2LCAxLCAxMDYsIDIsIDIzOCwgNzAsIDIzLCAyMzksIDIzNiwgNywgNSwgMSwgCisgICAgMTA2LCAyLCAyMzgsIDcwLCAyMywgMjM5LCAyMzYsIDcsIDYsIDEsIDEwNiwgMiwgMjM4LCA3MCwgMjMsIDIzOCwgMTMwLCAKKyAgICA1MiwgNywgNSwgMSwgMTA2LCAyLCAyMzgsIDcwLCAyMywgMjM4LCAxMzAsIDUyLCA3LCA2LCAxLCAxMDYsIDIsIDIzOCwgNzAsIAorICAgIDIzLCAyMTEsIDE4MCwgNywgNSwgMSwgMTA2LCAyLCAyMzgsIDcwLCAyMywgMjExLCAxODAsIDcsIDYsIDEsIDEwNiwgMiwgCisgICAgMjM4LCA3MCwgMjMsIDY3LCA1NSwgNywgNSwgMSwgMTA2LCAyLCAyMzgsIDcwLCAyMywgNjcsIDU1LCA3LCA2LCAxLCAyMDYsIAorICAgIDEyNCwgMiwgMjM5LCAyMzYsIDcsIDUsIDEsIDIwNiwgMTI0LCAyLCAyMzksIDIzNiwgNywgNiwgMSwgMjA2LCAxMjQsIDIsIAorICAgIDY3LCA1NSwgNywgNSwgMSwgMjA2LCAxMjQsIDIsIDY3LCA1NSwgNywgNiwgMSwgMjA2LCAxMjQsIDIsIDIzOCwgMTMwLCA1MiwgCisgICAgNywgNSwgMSwgMjA2LCAxMjQsIDIsIDIzOCwgMTMwLCA1MiwgNywgNiwgMSwgMjA2LCAxMjQsIDIsIDIxMSwgMTgwLCA3LCA1LCAKKyAgICAxLCAyMDYsIDEyNCwgMiwgMjExLCAxODAsIDcsIDYsIDEsIDIyNiwgMjQ2LCAyMjksIDE3MywgNywgNSwgMSwgMjI2LCAyNDYsIAorICAgIDIyOSwgMTczLCA3LCA2LCAxLCAyMjYsIDI0NiwgMjA5LCAxNDgsIDcsIDUsIDEsIDIyNiwgMjQ2LCAyMDksIDE0OCwgNywgNiwgCisgICAgMSwgMjA2LCAxMjQsIDIsIDIyOSwgMTExLCA3LCA1LCAxLCAyMDYsIDEyNCwgMiwgMjI5LCAxMTEsIDI3LCA1LCAxLCAyNTIsIAorICAgIDE0NSwgMiwgMjIwLCA4NiwgMjcsIDUsIDEsIDI1MiwgMTQ1LCAyLCAyNDYsIDc1LCAyNywgNSwgMSwgMjUyLCAxNDUsIDIsIAorICAgIDIyMCwgODcsIDIzLCAyMDksIDU0LCAyNywgNSwgMSwgMjUyLCAxNDUsIDIsIDI0NiwgNzYsIDIzLCAyMDksIDU0LCAyNywgNSwgCisgICAgMSwgMjUyLCAxNDUsIDIsIDIyMCwgODcsIDIzLCAyMjIsIDcyLCAyNywgNSwgMSwgMjUyLCAxNDUsIDIsIDI0NiwgNzYsIDIzLCAKKyAgICAyMjIsIDcyLCAyNywgNSwgMSwgMjUyLCAxNDUsIDIsIDIyMCwgODcsIDIzLCAyMjEsIDEyNCwgMjcsIDUsIDEsIDI1MiwgCisgICAgMTQ1LCAyLCAyNDYsIDc2LCAyMywgMjIxLCAxMjQsIDI3LCA2LCAxLCAyNTIsIDE0NSwgMiwgMjIwLCA4NiwgMjcsIDYsIDEsIAorICAgIDI1MiwgMTQ1LCAyLCAyNDYsIDc1LCAyNywgNiwgMSwgMjUyLCAxNDUsIDIsIDIyMCwgODcsIDIzLCAyMDksIDU0LCAyNywgNiwgCisgICAgMSwgMjUyLCAxNDUsIDIsIDI0NiwgNzYsIDIzLCAyMDksIDU0LCAyNywgNiwgMSwgMjUyLCAxNDUsIDIsIDIyMCwgODcsIDIzLCAKKyAgICAyMjIsIDcyLCAyNywgNiwgMSwgMjUyLCAxNDUsIDIsIDI0NiwgNzYsIDIzLCAyMjIsIDcyLCAyNywgNiwgMSwgMjUyLCAxNDUsIAorICAgIDIsIDIyMCwgODcsIDIzLCAyMjEsIDEyNCwgMjcsIDYsIDEsIDI1MiwgMTQ1LCAyLCAyNDYsIDc2LCAyMywgMjIxLCAxMjQsIAorICAgIDI3LCA1LCAxLCAyNDIsIDI0NSwgMiwgMjIwLCA4NiwgMjcsIDUsIDEsIDI0MiwgMjQ1LCAyLCAyNDYsIDc1LCAyNywgNSwgMSwgCisgICAgMjQyLCAyNDUsIDIsIDIyMCwgODcsIDIzLCAyMDksIDU0LCAyNywgNSwgMSwgMjQyLCAyNDUsIDIsIDI0NiwgNzYsIDIzLCAKKyAgICAyMDksIDU0LCAyNywgNSwgMSwgMjQyLCAyNDUsIDIsIDIyMCwgODcsIDIzLCAyMjIsIDcyLCAyNywgNSwgMSwgMjQyLCAyNDUsIAorICAgIDIsIDI0NiwgNzYsIDIzLCAyMjIsIDcyLCAyNywgNiwgMSwgMjQyLCAyNDUsIDIsIDIyMCwgODYsIDI3LCA2LCAxLCAyNDIsIAorICAgIDI0NSwgMiwgMjQ2LCA3NSwgMjcsIDYsIDEsIDI0MiwgMjQ1LCAyLCAyMjAsIDg3LCAyMywgMjA5LCA1NCwgMjcsIDYsIDEsIAorICAgIDI0MiwgMjQ1LCAyLCAyNDYsIDc2LCAyMywgMjA5LCA1NCwgMjcsIDYsIDEsIDI0MiwgMjQ1LCAyLCAyMjAsIDg3LCAyMywgCisgICAgMjIyLCA3MiwgMjcsIDYsIDEsIDI0MiwgMjQ1LCAyLCAyNDYsIDc2LCAyMywgMjIyLCA3MiwgMjcsIDUsIDEsIDI0MiwgMjAyLCAKKyAgICAyLCAyMjAsIDg2LCAyNywgNSwgMSwgMjQyLCAyMDIsIDIsIDI0NiwgNzUsIDI3LCA1LCAxLCAyNDIsIDIwMiwgMiwgMjIwLCAKKyAgICA4NywgMjMsIDIwOSwgNTQsIDI3LCA1LCAxLCAyNDIsIDIwMiwgMiwgMjQ2LCA3NiwgMjMsIDIwOSwgNTQsIDI3LCA1LCAxLCAKKyAgICAyNDIsIDIwMiwgMiwgMjIwLCA4NywgMjMsIDIyMiwgNzIsIDI3LCA1LCAxLCAyNDIsIDIwMiwgMiwgMjQ2LCA3NiwgMjMsIAorICAgIDIyMiwgNzIsIDI3LCA1LCAxLCAyNDIsIDIwMiwgMiwgMjIwLCA4NywgMjMsIDIyMSwgMTI0LCAyNywgNSwgMSwgMjQyLCAKKyAgICAyMDIsIDIsIDI0NiwgNzYsIDIzLCAyMjEsIDEyNCwgMjcsIDYsIDEsIDI0MiwgMjAyLCAyLCAyMjAsIDg2LCAyNywgNiwgMSwgCisgICAgMjQyLCAyMDIsIDIsIDI0NiwgNzUsIDI3LCA2LCAxLCAyNDIsIDIwMiwgMiwgMjIwLCA4NywgMjMsIDIwOSwgNTQsIDI3LCA2LCAKKyAgICAxLCAyNDIsIDIwMiwgMiwgMjQ2LCA3NiwgMjMsIDIwOSwgNTQsIDI3LCA2LCAxLCAyNDIsIDIwMiwgMiwgMjIwLCA4NywgMjMsIAorICAgIDIyMiwgNzIsIDI3LCA2LCAxLCAyNDIsIDIwMiwgMiwgMjQ2LCA3NiwgMjMsIDIyMiwgNzIsIDI3LCA2LCAxLCAyNDIsIDIwMiwgCisgICAgMiwgMjIwLCA4NywgMjMsIDIyMSwgMTI0LCAyNywgNiwgMSwgMjQyLCAyMDIsIDIsIDI0NiwgNzYsIDIzLCAyMjEsIDEyNCwgCisgICAgMjcsIDUsIDEsIDIzMiwgMjUwLCAyLCAyMjAsIDg2LCAyNywgNSwgMSwgMjMyLCAyNTAsIDIsIDI0NiwgNzUsIDI3LCA1LCAxLCAKKyAgICAyMzIsIDI1MCwgMiwgMjIwLCA4NywgMjMsIDIwOSwgNTQsIDI3LCA1LCAxLCAyMzIsIDI1MCwgMiwgMjQ2LCA3NiwgMjMsIAorICAgIDIwOSwgNTQsIDI3LCA1LCAxLCAyMzIsIDI1MCwgMiwgMjIwLCA4NywgMjMsIDIyMiwgNzIsIDI3LCA1LCAxLCAyMzIsIDI1MCwgCisgICAgMiwgMjQ2LCA3NiwgMjMsIDIyMiwgNzIsIDI3LCA1LCAxLCAyMzIsIDI1MCwgMiwgMjIwLCA4NywgMjMsIDIyMSwgMTI0LCAKKyAgICAyNywgNSwgMSwgMjMyLCAyNTAsIDIsIDI0NiwgNzYsIDIzLCAyMjEsIDEyNCwgMjcsIDYsIDEsIDIzMiwgMjUwLCAyLCAyMjAsIAorICAgIDg2LCAyNywgNiwgMSwgMjMyLCAyNTAsIDIsIDI0NiwgNzUsIDI3LCA2LCAxLCAyMzIsIDI1MCwgMiwgMjIwLCA4NywgMjMsIAorICAgIDIwOSwgNTQsIDI3LCA2LCAxLCAyMzIsIDI1MCwgMiwgMjQ2LCA3NiwgMjMsIDIwOSwgNTQsIDI3LCA2LCAxLCAyMzIsIDI1MCwgCisgICAgMiwgMjIwLCA4NywgMjMsIDIyMiwgNzIsIDI3LCA2LCAxLCAyMzIsIDI1MCwgMiwgMjQ2LCA3NiwgMjMsIDIyMiwgNzIsIDI3LCAKKyAgICA2LCAxLCAyMzIsIDI1MCwgMiwgMjIwLCA4NywgMjMsIDIyMSwgMTI0LCAyNywgNiwgMSwgMjMyLCAyNTAsIDIsIDI0NiwgNzYsIAorICAgIDIzLCAyMjEsIDEyNCwgMjcsIDUsIDEsIDIyMiwgMTY5LCAyLCAyMjAsIDg2LCAyNywgNSwgMSwgMjIyLCAxNjksIDIsIDI0NiwgCisgICAgNzUsIDI3LCA1LCAxLCAyMjIsIDE2OSwgMiwgMjIwLCA4NywgMjMsIDIwOSwgNTQsIDI3LCA1LCAxLCAyMjIsIDE2OSwgMiwgCisgICAgMjQ2LCA3NiwgMjMsIDIwOSwgNTQsIDI3LCA1LCAxLCAyMjIsIDE2OSwgMiwgMjIwLCA4NywgMjMsIDIyMiwgNzIsIDI3LCA1LCAKKyAgICAxLCAyMjIsIDE2OSwgMiwgMjQ2LCA3NiwgMjMsIDIyMiwgNzIsIDI3LCA2LCAxLCAyMjIsIDE2OSwgMiwgMjIwLCA4NiwgMjcsIAorICAgIDYsIDEsIDIyMiwgMTY5LCAyLCAyNDYsIDc1LCAyNywgNiwgMSwgMjIyLCAxNjksIDIsIDIyMCwgODcsIDIzLCAyMDksIDU0LCAKKyAgICAyNywgNiwgMSwgMjIyLCAxNjksIDIsIDI0NiwgNzYsIDIzLCAyMDksIDU0LCAyNywgNiwgMSwgMjIyLCAxNjksIDIsIDIyMCwgCisgICAgODcsIDIzLCAyMjIsIDcyLCAyNywgNiwgMSwgMjIyLCAxNjksIDIsIDI0NiwgNzYsIDIzLCAyMjIsIDcyLCAyNywgNSwgMSwgCisgICAgMjA5LCAyMDEsIDIsIDIyMCwgODYsIDI3LCA1LCAxLCAyMDksIDIwMSwgMiwgMjQ2LCA3NSwgMjcsIDUsIDEsIDIwOSwgMjAxLCAKKyAgICAyLCAyMjAsIDg3LCAyMywgMjA5LCA1NCwgMjcsIDUsIDEsIDIwOSwgMjAxLCAyLCAyNDYsIDc2LCAyMywgMjA5LCA1NCwgMjcsIAorICAgIDUsIDEsIDIwOSwgMjAxLCAyLCAyMjAsIDg3LCAyMywgMjIyLCA3MiwgMjcsIDUsIDEsIDIwOSwgMjAxLCAyLCAyNDYsIDc2LCAKKyAgICAyMywgMjIyLCA3MiwgMjcsIDUsIDEsIDIwOSwgMjAxLCAyLCAyMjAsIDg3LCAyMywgMjIxLCAxMjQsIDI3LCA1LCAxLCAyMDksIAorICAgIDIwMSwgMiwgMjQ2LCA3NiwgMjMsIDIyMSwgMTI0LCAyNywgNiwgMSwgMjA5LCAyMDEsIDIsIDI0NiwgNzUsIDI3LCA2LCAxLCAKKyAgICAyMDksIDIwMSwgMiwgMjQ2LCA3NiwgMjMsIDIwOSwgNTQsIDI3LCA2LCAxLCAyMDksIDIwMSwgMiwgMjQ2LCA3NiwgMjMsIAorICAgIDIyMiwgNzIsIDI3LCA2LCAxLCAyMDksIDIwMSwgMiwgMjQ2LCA3NiwgMjMsIDIyMSwgMTI0LCAyNywgNSwgMSwgMjIyLCAKKyAgICAxNzEsIDIsIDIyMCwgODYsIDI3LCA1LCAxLCAyMjIsIDE3MSwgMiwgMjQ2LCA3NSwgMjcsIDUsIDEsIDIyMiwgMTcxLCAyLCAKKyAgICAyMjAsIDg3LCAyMywgMjA5LCA1NCwgMjcsIDUsIDEsIDIyMiwgMTcxLCAyLCAyNDYsIDc2LCAyMywgMjA5LCA1NCwgMjcsIDUsIAorICAgIDEsIDIyMiwgMTcxLCAyLCAyMjAsIDg3LCAyMywgMjIyLCA3MiwgMjcsIDUsIDEsIDIyMiwgMTcxLCAyLCAyNDYsIDc2LCAyMywgCisgICAgMjIyLCA3MiwgMjcsIDUsIDEsIDIyMiwgMTcxLCAyLCAyMjAsIDg3LCAyMywgMjIxLCAxMjQsIDI3LCA1LCAxLCAyMjIsIAorICAgIDE3MSwgMiwgMjQ2LCA3NiwgMjMsIDIyMSwgMTI0LCAyNywgNiwgMSwgMjIyLCAxNzEsIDIsIDIyMCwgODYsIDI3LCA2LCAxLCAKKyAgICAyMjIsIDE3MSwgMiwgMjQ2LCA3NSwgMjcsIDYsIDEsIDIyMiwgMTcxLCAyLCAyMjAsIDg3LCAyMywgMjA5LCA1NCwgMjcsIDYsIAorICAgIDEsIDIyMiwgMTcxLCAyLCAyNDYsIDc2LCAyMywgMjA5LCA1NCwgMjcsIDYsIDEsIDIyMiwgMTcxLCAyLCAyMjAsIDg3LCAyMywgCisgICAgMjIyLCA3MiwgMjcsIDYsIDEsIDIyMiwgMTcxLCAyLCAyNDYsIDc2LCAyMywgMjIyLCA3MiwgMjcsIDYsIDEsIDIyMiwgMTcxLCAKKyAgICAyLCAyMjAsIDg3LCAyMywgMjIxLCAxMjQsIDI3LCA2LCAxLCAyMjIsIDE3MSwgMiwgMjQ2LCA3NiwgMjMsIDIyMSwgMTI0LCAKKyAgICAyNywgNSwgMSwgMjUyLCAxNDUsIDIsIDIwOSwgNTQsIDI3LCA1LCAxLCAyNTIsIDE0NSwgMiwgMjIyLCA3MiwgMjcsIDUsIDEsIAorICAgIDI0MiwgMjQ1LCAyLCAyMDksIDU0LCAyNywgNSwgMSwgMjQyLCAyNDUsIDIsIDIyMiwgNzIsIDI3LCA1LCAxLCAyNDIsIDIwMiwgCisgICAgMiwgMjA5LCA1NCwgMjcsIDUsIDEsIDI0MiwgMjAyLCAyLCAyMjIsIDcyLCAyNywgNSwgMSwgMjMyLCAyNTAsIDIsIDIwOSwgCisgICAgNTQsIDI3LCA1LCAxLCAyMzIsIDI1MCwgMiwgMjIyLCA3MiwgMjcsIDUsIDEsIDIyMiwgMTY5LCAyLCAyMDksIDU0LCAyNywgCisgICAgNSwgMSwgMjIyLCAxNjksIDIsIDIyMiwgNzIsIDI3LCA1LCAxLCAyMDksIDIwMSwgMiwgMjA5LCA1NCwgMjcsIDUsIDEsIAorICAgIDIwOSwgMjAxLCAyLCAyMjIsIDcyLCAyNywgNSwgMSwgMjIyLCAxNzEsIDIsIDIwOSwgNTQsIDI3LCA1LCAxLCAyMjIsIDE3MSwgCisgICAgMiwgMjIyLCA3MiwgMjcsIDUsIDEsIDI1MiwgMTQ1LCAyLCAyMjAsIDg3LCAyMywgMjA1LCAyMjEsIDI3LCA1LCAxLCAyNTIsIAorICAgIDE0NSwgMiwgMjQ2LCA3NiwgMjMsIDIwNSwgMjIxLCAyNywgNSwgMSwgMjUyLCAxNDUsIDIsIDIyMCwgODcsIDIzLCAyMDksIAorICAgIDU1LCAyMywgMjA1LCAyMjEsIDI3LCA1LCAxLCAyNTIsIDE0NSwgMiwgMjQ2LCA3NiwgMjMsIDIwOSwgNTUsIDIzLCAyMDUsIAorICAgIDIyMSwgMjcsIDUsIDEsIDI1MiwgMTQ1LCAyLCAyMjAsIDg3LCAyMywgMjIyLCA3MywgMjMsIDIwNSwgMjIxLCAyNywgNSwgMSwgCisgICAgMjUyLCAxNDUsIDIsIDI0NiwgNzYsIDIzLCAyMjIsIDczLCAyMywgMjA1LCAyMjEsIDI3LCA1LCAxLCAyNTIsIDE0NSwgMiwgCisgICAgMjIwLCA4NywgMjMsIDIyMSwgMTI1LCAyMywgMjA1LCAyMjEsIDI3LCA1LCAxLCAyNTIsIDE0NSwgMiwgMjQ2LCA3NiwgMjMsIAorICAgIDIyMSwgMTI1LCAyMywgMjA1LCAyMjEsIDI3LCA2LCAxLCAyNTIsIDE0NSwgMiwgMjIwLCA4NywgMjMsIDIyMCwgMTAwLCAyNywgCisgICAgNiwgMSwgMjUyLCAxNDUsIDIsIDI0NiwgNzYsIDIzLCAyMjAsIDEwMCwgMjcsIDYsIDEsIDI1MiwgMTQ1LCAyLCAyMjAsIDg3LCAKKyAgICAyMywgMjA5LCA1NSwgMjMsIDIyMCwgMTAwLCAyNywgNiwgMSwgMjUyLCAxNDUsIDIsIDI0NiwgNzYsIDIzLCAyMDksIDU1LCAKKyAgICAyMywgMjIwLCAxMDAsIDI3LCA2LCAxLCAyNTIsIDE0NSwgMiwgMjIwLCA4NywgMjMsIDIyMiwgNzMsIDIzLCAyMjAsIDEwMCwgCisgICAgMjcsIDYsIDEsIDI1MiwgMTQ1LCAyLCAyNDYsIDc2LCAyMywgMjIyLCA3MywgMjMsIDIyMCwgMTAwLCAyNywgNiwgMSwgMjUyLCAKKyAgICAxNDUsIDIsIDIyMCwgODcsIDIzLCAyMjEsIDEyNSwgMjMsIDIyMCwgMTAwLCAyNywgNiwgMSwgMjUyLCAxNDUsIDIsIDI0NiwgCisgICAgNzYsIDIzLCAyMjEsIDEyNSwgMjMsIDIyMCwgMTAwLCAyNywgNSwgMSwgMjQyLCAyMDIsIDIsIDIyMCwgODcsIDIzLCAyMDUsIAorICAgIDIyMSwgMjcsIDUsIDEsIDI0MiwgMjAyLCAyLCAyNDYsIDc2LCAyMywgMjA1LCAyMjEsIDI3LCA1LCAxLCAyNDIsIDIwMiwgMiwgCisgICAgMjIwLCA4NywgMjMsIDIwOSwgNTUsIDIzLCAyMDUsIDIyMSwgMjcsIDUsIDEsIDI0MiwgMjAyLCAyLCAyNDYsIDc2LCAyMywgCisgICAgMjA5LCA1NSwgMjMsIDIwNSwgMjIxLCAyNywgNSwgMSwgMjQyLCAyMDIsIDIsIDIyMCwgODcsIDIzLCAyMjIsIDczLCAyMywgCisgICAgMjA1LCAyMjEsIDI3LCA1LCAxLCAyNDIsIDIwMiwgMiwgMjQ2LCA3NiwgMjMsIDIyMiwgNzMsIDIzLCAyMDUsIDIyMSwgMjcsIAorICAgIDUsIDEsIDI0MiwgMjAyLCAyLCAyMjAsIDg3LCAyMywgMjIxLCAxMjUsIDIzLCAyMDUsIDIyMSwgMjcsIDUsIDEsIDI0MiwgCisgICAgMjAyLCAyLCAyNDYsIDc2LCAyMywgMjIxLCAxMjUsIDIzLCAyMDUsIDIyMSwgMjcsIDYsIDEsIDI0MiwgMjAyLCAyLCAyMjAsIAorICAgIDg3LCAyMywgMjIwLCAxMDAsIDI3LCA2LCAxLCAyNDIsIDIwMiwgMiwgMjQ2LCA3NiwgMjMsIDIyMCwgMTAwLCAyNywgNiwgMSwgCisgICAgMjQyLCAyMDIsIDIsIDIyMCwgODcsIDIzLCAyMDksIDU1LCAyMywgMjIwLCAxMDAsIDI3LCA2LCAxLCAyNDIsIDIwMiwgMiwgCisgICAgMjQ2LCA3NiwgMjMsIDIwOSwgNTUsIDIzLCAyMjAsIDEwMCwgMjcsIDYsIDEsIDI0MiwgMjAyLCAyLCAyMjAsIDg3LCAyMywgCisgICAgMjIyLCA3MywgMjMsIDIyMCwgMTAwLCAyNywgNiwgMSwgMjQyLCAyMDIsIDIsIDI0NiwgNzYsIDIzLCAyMjIsIDczLCAyMywgCisgICAgMjIwLCAxMDAsIDI3LCA2LCAxLCAyNDIsIDIwMiwgMiwgMjIwLCA4NywgMjMsIDIyMSwgMTI1LCAyMywgMjIwLCAxMDAsIDI3LCAKKyAgICA2LCAxLCAyNDIsIDIwMiwgMiwgMjQ2LCA3NiwgMjMsIDIyMSwgMTI1LCAyMywgMjIwLCAxMDAsIDI3LCA1LCAxLCAyMjIsIAorICAgIDE3MSwgMiwgMjIwLCA4NywgMjMsIDIwNSwgMjIxLCAyNywgNSwgMSwgMjIyLCAxNzEsIDIsIDI0NiwgNzYsIDIzLCAyMDUsIAorICAgIDIyMSwgMjcsIDUsIDEsIDIyMiwgMTcxLCAyLCAyMjAsIDg3LCAyMywgMjA5LCA1NSwgMjMsIDIwNSwgMjIxLCAyNywgNSwgMSwgCisgICAgMjIyLCAxNzEsIDIsIDI0NiwgNzYsIDIzLCAyMDksIDU1LCAyMywgMjA1LCAyMjEsIDI3LCA1LCAxLCAyMjIsIDE3MSwgMiwgCisgICAgMjIwLCA4NywgMjMsIDIyMiwgNzMsIDIzLCAyMDUsIDIyMSwgMjcsIDUsIDEsIDIyMiwgMTcxLCAyLCAyNDYsIDc2LCAyMywgCisgICAgMjIyLCA3MywgMjMsIDIwNSwgMjIxLCAyNywgNSwgMSwgMjIyLCAxNzEsIDIsIDIyMCwgODcsIDIzLCAyMjEsIDEyNSwgMjMsIAorICAgIDIwNSwgMjIxLCAyNywgNSwgMSwgMjIyLCAxNzEsIDIsIDI0NiwgNzYsIDIzLCAyMjEsIDEyNSwgMjMsIDIwNSwgMjIxLCAyNywgCisgICAgNiwgMSwgMjIyLCAxNzEsIDIsIDIyMCwgODcsIDIzLCAyMjAsIDEwMCwgMjcsIDYsIDEsIDIyMiwgMTcxLCAyLCAyNDYsIDc2LCAKKyAgICAyMywgMjIwLCAxMDAsIDI3LCA2LCAxLCAyMjIsIDE3MSwgMiwgMjIwLCA4NywgMjMsIDIwOSwgNTUsIDIzLCAyMjAsIDEwMCwgCisgICAgMjcsIDYsIDEsIDIyMiwgMTcxLCAyLCAyNDYsIDc2LCAyMywgMjA5LCA1NSwgMjMsIDIyMCwgMTAwLCAyNywgNiwgMSwgMjIyLCAKKyAgICAxNzEsIDIsIDIyMCwgODcsIDIzLCAyMjIsIDczLCAyMywgMjIwLCAxMDAsIDI3LCA2LCAxLCAyMjIsIDE3MSwgMiwgMjQ2LCAKKyAgICA3NiwgMjMsIDIyMiwgNzMsIDIzLCAyMjAsIDEwMCwgMjcsIDYsIDEsIDIyMiwgMTcxLCAyLCAyMjAsIDg3LCAyMywgMjIxLCAKKyAgICAxMjUsIDIzLCAyMjAsIDEwMCwgMjcsIDYsIDEsIDIyMiwgMTcxLCAyLCAyNDYsIDc2LCAyMywgMjIxLCAxMjUsIDIzLCAyMjAsIAorICAgIDEwMCwgMjcsIDUsIDEsIDI1MiwgMTQ1LCAyLCAyMDgsIDE1MiwgMjcsIDUsIDEsIDI1MiwgMTQ1LCAyLCAyMjgsIDEzLCAyNywgCisgICAgNSwgMSwgMjUyLCAxNDUsIDIsIDIwOSwgNTUsIDIzLCAyMDUsIDIyMSwgMjcsIDUsIDEsIDI1MiwgMTQ1LCAyLCAyMDUsIAorICAgIDIyMSwgMjcsIDUsIDEsIDI1MiwgMTQ1LCAyLCAyMjIsIDczLCAyMywgMjA1LCAyMjEsIDI3LCA1LCAxLCAyNTIsIDE0NSwgMiwgCisgICAgMjIxLCAxMjQsIDI3LCA1LCAxLCAyNTIsIDE0NSwgMiwgMjIxLCAxMjUsIDIzLCAyMDUsIDIyMSwgMjcsIDYsIDEsIDI1MiwgCisgICAgMTQ1LCAyLCAyMDgsIDE1MiwgMjcsIDYsIDEsIDI1MiwgMTQ1LCAyLCAyMjgsIDEzLCAyNywgNiwgMSwgMjUyLCAxNDUsIDIsIAorICAgIDIwOSwgNTQsIDI3LCA2LCAxLCAyNTIsIDE0NSwgMiwgMjIyLCA3MiwgMjcsIDYsIDEsIDI1MiwgMTQ1LCAyLCAyMjAsIDEwMCwgCisgICAgMjcsIDIzMSwgMjMsIDI3LCAyMjAsIDEwMCwgMjcsIDIyMCwgODYsIDI3LCAyMjEsIDEyNCwgMjcsIDI0NSwgMTYwLCAyMywgCisgICAgMjIxLCAxMjQsIDI3LCA1LCAxLCAyNDIsIDIwMiwgMiwgMjA5LCA1NSwgMjMsIDIwNSwgMjIxLCAyNywgNSwgMSwgMjQyLCAKKyAgICAyMDIsIDIsIDIwNSwgMjIxLCAyNywgNSwgMSwgMjQyLCAyMDIsIDIsIDIyMiwgNzMsIDIzLCAyMDUsIDIyMSwgMjcsIDUsIDEsIAorICAgIDI0MiwgMjAyLCAyLCAyMjEsIDEyNCwgMjcsIDUsIDEsIDI0MiwgMjAyLCAyLCAyMjEsIDEyNSwgMjMsIDIwNSwgMjIxLCAyNywgCisgICAgNiwgMSwgMjQyLCAyNDUsIDIsIDIwOSwgNTQsIDI3LCA2LCAxLCAyNDIsIDI0NSwgMiwgMjIyLCA3MiwgMjcsIDYsIDEsIAorICAgIDI0MiwgMjAyLCAyLCAyMDksIDU0LCAyNywgNiwgMSwgMjQyLCAyMDIsIDIsIDIyMiwgNzIsIDI3LCA2LCAxLCAyNDIsIDIwMiwgCisgICAgMiwgMjIwLCAxMDAsIDI3LCAyMjAsIDg3LCAyMywgMjA5LCA1NCwgMjcsIDIyMCwgODcsIDIzLCAyMjIsIDcyLCAyNywgMjIwLCAKKyAgICA4NywgMjMsIDIyMSwgMTI0LCAyNywgNSwgMSwgMjMyLCAyNTAsIDIsIDIwOCwgMTUyLCAyNywgNSwgMSwgMjMyLCAyNTAsIDIsIAorICAgIDIyOCwgMTMsIDI3LCA1LCAxLCAyMzIsIDI1MCwgMiwgMjQ1LCAxNjAsIDIzLCAyMDksIDU0LCAyNywgNSwgMSwgMjMyLCAKKyAgICAyNTAsIDIsIDI0NSwgMTYwLCAyMywgMjIyLCA3MiwgMjcsIDUsIDEsIDIzMiwgMjUwLCAyLCAyMjEsIDEyNCwgMjcsIDUsIDEsIAorICAgIDIzMiwgMjUwLCAyLCAyNDUsIDE2MCwgMjMsIDIyMSwgMTI0LCAyNywgNiwgMSwgMjMyLCAyNTAsIDIsIDIwOCwgMTUyLCAyNywgCisgICAgNiwgMSwgMjMyLCAyNTAsIDIsIDIyOCwgMTMsIDI3LCA2LCAxLCAyMzIsIDI1MCwgMiwgMjA5LCA1NCwgMjcsIDYsIDEsIAorICAgIDIzMiwgMjUwLCAyLCAyMjIsIDcyLCAyNywgMjQ2LCA3NiwgMjMsIDIwOSwgNTQsIDI3LCAyNDYsIDc2LCAyMywgMjIyLCA3MiwgCisgICAgMjcsIDI0NiwgNzYsIDIzLCAyMjEsIDEyNCwgMjcsIDUsIDEsIDIwOSwgMjAxLCAyLCAyMDgsIDE1MiwgMjcsIDUsIDEsIAorICAgIDIwOSwgMjAxLCAyLCAyMjgsIDEzLCAyNywgNSwgMSwgMjA5LCAyMDEsIDIsIDI0NSwgMTYwLCAyMywgMjA5LCA1NCwgMjcsIAorICAgIDUsIDEsIDIwOSwgMjAxLCAyLCAyNDUsIDE2MCwgMjMsIDIyMiwgNzIsIDI3LCA1LCAxLCAyMTgsIDIxMSwgMiwgMjIwLCA4NiwgCisgICAgMjcsIDUsIDEsIDIxOCwgMjExLCAyLCAyNDYsIDc1LCAyNywgNSwgMSwgMjA5LCAyMDEsIDIsIDIyMSwgMTI0LCAyNywgNSwgCisgICAgMSwgMjA5LCAyMDEsIDIsIDI0NSwgMTYwLCAyMywgMjIxLCAxMjQsIDI3LCA2LCAxLCAyMDksIDIwMSwgMiwgMjA4LCAxNTIsIAorICAgIDI3LCA2LCAxLCAyMDksIDIwMSwgMiwgMjI4LCAxMywgMjcsIDYsIDEsIDIwOSwgMjAxLCAyLCAyMDksIDU0LCAyNywgNiwgMSwgCisgICAgMjA5LCAyMDEsIDIsIDIyMiwgNzIsIDI3LCA2LCAxLCAyMTgsIDIxMSwgMiwgMjQ2LCA3NSwgMjcsIDI0NSwgMTYwLCAyMywgCisgICAgMjA5LCA1NCwgMjcsIDI0NSwgMTYwLCAyMywgMjIyLCA3MiwgMjcsIDIwOSwgNTQsIDI3LCA1LCAxLCAyMjIsIDE3MSwgMiwgCisgICAgMjA5LCA1NSwgMjMsIDIwNSwgMjIxLCAyNywgNSwgMSwgMjIyLCAxNzEsIDIsIDIwNSwgMjIxLCAyNywgNSwgMSwgMjIyLCAKKyAgICAxNzEsIDIsIDIyMiwgNzMsIDIzLCAyMDUsIDIyMSwgMjcsIDUsIDEsIDIyMiwgMTcxLCAyLCAyMjEsIDEyNCwgMjcsIDUsIDEsIAorICAgIDIyMiwgMTcxLCAyLCAyMjEsIDEyNSwgMjMsIDIwNSwgMjIxLCAyNywgNiwgMSwgMjIyLCAxNjksIDIsIDIwOSwgNTQsIDI3LCAKKyAgICA2LCAxLCAyMjIsIDE2OSwgMiwgMjIyLCA3MiwgMjcsIDYsIDEsIDIyMiwgMTcxLCAyLCAyMDksIDU0LCAyNywgNiwgMSwgCisgICAgMjIyLCAxNzEsIDIsIDIyMiwgNzIsIDI3LCA2LCAxLCAyMjIsIDE3MSwgMiwgMjIwLCAxMDAsIDI3LCAyMjIsIDcyLCAyNywgCisgICAgMjQ2LCA3NSwgMjQzLCA0MiwgMjE5LCAyMTEsIDI0MywgNTEsIDIxOSwgMjExLCAyNDMsIDQyLCAyMTQsIDE1MywgMjQzLCAKKyAgICA1MSwgMjE0LCAxNTMsIDIxMSwgMjM1LCAyMTQsIDE1MywgMjQxLCAxMjMsIDIxNCwgMTUzLCAyMTUsIDgsIDIxNCwgMTUzLCAKKyAgICAyNDEsIDI0MSwgMjE0LCAxNTMsIDIyMCwgNzIsIDIxNCwgMTUzLCAyMTIsIDEyLCAyMTQsIDE1MywgMjM5LCAxMzAsIDIxNCwgCisgICAgMTUzLCAyMDUsIDg2LCAyMDcsIDE1LCAyMTQsIDE1MywgMjA1LCA4NiwgMjA3LCAxNSwgMjI0LCA1OSwgMjA1LCA4NiwgMjA3LCAKKyAgICAxNSwgMjMyLCAxMTcsIDIzMCwgMzcsIDgzLCAyMTgsIDE1OCwgODMsIDIzNywgMjM5LCAyMjQsIDYwLCAyMzcsIDIzOSwgCisgICAgMjQxLCAyNDEsIDI0NiwgNzgsIDI0MywgNDIsIDI0NiwgNzgsIDI0MywgNTEsIDI0NiwgNzgsIDE5NCwgMTM0LCA1MCwgNzksIAorICAgIDIyOSwgMjA1LCA1MCwgMTE0LCAyMjksIDIwNSwgNDcsIDIxNSwgNDEsIDIxOSwgMTgwLCA4MywgNDgsIDIxNSwgNDEsIDIxOSwgCisgICAgMTgwLCA4MywgMjE1LCA0MSwgMjI5LCA5NiwgMjE5LCAxODAsIDgzLCAyMTUsIDQxLCAyMzgsIDI0OSwgMjE5LCAxODAsIDgzLCAKKyAgICA0NywgNTAsIDIxOSwgMTgwLCA4MywgNDgsIDUwLCAyMTksIDE4MCwgODMsIDUwLCAyMjksIDk2LCAyMTksIDE4MCwgODMsIAorICAgIDUwLCAyMzgsIDI0OSwgMjE5LCAxODAsIDgzLCAyNDYsIDEyOCwgNTAsIDI0NiwgMTI4LCAyNDksIDg1LCAyMTEsIDQ4LCAKKyAgICAyNDksIDg1LCAxMTksIDY3LCAyMzAsIDU2LCAxMTgsIDY3LCAyMzAsIDU2LCAxOTQsIDI0MywgNTQsIDIzNywgMjM3LCAyMjAsIAorICAgIDIwNCwgMjI5LCAyMDYsIDIxNiwgMzksIDIyMSwgMjI5LCAyMTYsIDM5LCAyMzAsIDM3LCAyNDMsIDQ5LCAyMTgsIDE1OCwgCisgICAgMjQzLCA0OSwgMjIwLCAxODQsIDI0NSwgMTAzLCAyNDEsIDEzNCwgMjMwLCAzNywgMjIyLCA3OSwgMjE4LCAxNTgsIDIyMiwgCisgICAgNzksIDIyNSwgMTk5LCAyMjQsIDY2LCAyMTQsIDE1MywgMjIxLCAxMzIsIDIyNiwgMjE1LCA1MywgMjIxLCAxMzIsIDIxMiwgCisgICAgOTksIDIxMSwgMjQzLCA1MywgMjIwLCAxMjcsIDUwLCAyMjAsIDEyNywgMjExLCAzNiwgMjIwLCAxMjcsIDIxOCwgMjI0LCAKKyAgICAyMjAsIDEyNywgMjE4LCAyMjQsIDUwLCAyMjAsIDEyNywgMjE4LCAyMjQsIDIxMSwgMzYsIDIyMCwgMTI3LCAyNDgsIDE5OSwgCisgICAgMjE1LCA0MSwgMjMwLCA0MSwgMjUyLCAxMDksIDIxOSwgMTgwLCA4MywgMjE1LCA0MSwgMjE4LCAxNjIsIDI1MiwgMTA5LCAKKyAgICAyMTksIDE4MCwgODMsIDIxOSwgMjgsIDgzLCA1MCwgMjQyLCAxNjgsIDgzLCAyMzMsIDEwLCAyMjIsIDgxLCAyMDksIDIyMywgCisgICAgMTU3LCAyMTEsIDIwMywgMjQ4LCAyMDAsIDIzMywgMjcsIDIyMCwgMjA0LCAyNTEsIDIwNywgMjM3LCAyNDAsIDI0OSwgODUsIAorICAgIDI0MSwgMTE2LCAyMTQsIDIzNSwgNDcsIDQ5LCAyNDksIDEzNCwgMiwgMjE5LCAxOTAsIDQ4LCA0OSwgMjQ5LCAxMzQsIDIsIAorICAgIDIxOSwgMTkwLCA1MCwgMjE5LCAxOTYsIDgzLCAyMTksIDE5NiwgMjQyLCAxNjgsIDgzLCAyNDIsIDE2OCwgMjE5LCAxOTYsIAorICAgIDgzLCAyMTEsIDE1OSwgMywgMjQyLCAyMDMsIDIxOCwgMjI0LCAyMjEsIDEyLCA1MywgNjAsIDkyLCAyNDksIDg1LCA2MCwgCisgICAgODYsIDI0OSwgODUsIDExNCwgMjUxLCAyMDksIDIxOCwgMjI0LCAyMTYsIDUyLCAyNDcsIDE5MywgMjA5LCAyMDYsIDExOCwgCisgICAgMjUxLCAyMDgsIDI1MiwgMTYwLCAyMDgsIDIyNywgMjQ3LCAxNTMsIDIyNiwgMjAyLCA1MywgMjEzLCA5MywgMjQ2LCA3OCwgCisgICAgMjMzLCAyLCAyMDksIDIyMywgMjQxLCAxNzMsIDIyMCwgNzIsIDgzLCAxMjksIDY3LCAyMjAsIDcxLCAyMTksIDIwNywgMjIwLCAKKyAgICAxMjcsIDI0MSwgMTI1LCA2NywgMjIwLCA3MSwgMjQxLCAyMDQsIDY3LCAyMjAsIDcxLCAxMTgsIDY3LCAyMjAsIDcxLCAyNDEsIAorICAgIDEyNSwgNjcsIDgzLCAyNDQsIDIxLCAyNDcsIDU5LCAyMTEsIDQ3LCA3OSwgMjQxLCAxMjUsIDI0NSwgMjEsIDIyNywgMTA5LCAKKyAgICAxMSwgMjE0LCAxNTMsIDIwNiwgMjMyLCAyMzIsIDExNywgMjQxLCA4MCwgMjUyLCA0OCwgMjMzLCAwLCAyMTEsIDE3NSwgCisgICAgMjMzLCAwLCAyMTYsIDM5LCAyMzMsIDAsIDIyMCwgMjE4LCAyMzAsIDM3LCAyMzIsIDIyNiwgMjE4LCAxNTgsIDIzMiwgMjI2LCAKKyAgICAyNDEsIDIxNSwgMjEzLCAyMTEsIDIzMiwgMjI2LCAyMjAsIDE4NCwgMjQ1LCAxMDMsIDIzMiwgMjI2LCAyMzMsIDM5LCAyMTMsIAorICAgIDQxLCAyMTMsIDExMCwgMjUzLCAxMSwgMjEzLCA0MSwgMjEzLCAxMTAsIDIzMywgMzksIDgsIDI0MSwgMTM2LCAyMTUsIDIzMiwgCisgICAgMjUzLCAxMSwgOCwgMjQxLCAxMzYsIDIxNSwgMjMyLCAyMjUsIDE5MywgMTgsIDIxNSwgMjMzLCAyMjQsIDYyLCAxOCwgMjE1LCAKKyAgICAyMzMsIDIxMywgMTM5LCAyMDUsIDg1LCAyMTMsIDEzOSwgNywgNSwgMSwgNzQsIDIxMywgMTM5LCAxMzksIDIxMywgMTM5LCAKKyAgICAxNjgsIDIxMywgMTM5LCAxODQsIDIxMywgMTM5LCAxOTUsIDIxMywgMTM5LCAxOTMsIDIxMywgMTM5LCAyMDAsIDIxMywgCisgICAgMTM5LCAxMDEsIDUzLCAyMTMsIDEzOSwgMjI2LCAyMDEsIDIxMywgMTM5LCAyNDIsIDI0MiwgNTMsIDIxMywgMTM5LCA0NywgCisgICAgMjIxLCAyMTYsIDIxMywgMTM5LCA0OCwgMjIxLCAyMTYsIDIxMywgMTM5LCA3LCA1LCAxLCAyMjYsIDMzLCAyMTMsIDE4MywgCisgICAgMjA1LCA4NSwgMjEzLCAxODMsIDEwMiwgMjEzLCAxODMsIDEwNSwgMjEzLCAxODMsIDE0MiwgMjEzLCAxODMsIDEzOSwgMjEzLCAKKyAgICAxODMsIDE2OCwgMjEzLCAxODMsIDE4NCwgMjEzLCAxODMsIDE5NSwgMjEzLCAxODMsIDE5MywgMjEzLCAxODMsIDIwMCwgCisgICAgMjEzLCAxODMsIDEwMSwgNTMsIDIxMywgMTgzLCAyMjYsIDIwMSwgMjEzLCAxODMsIDI0MiwgMjQyLCA1MywgMjEzLCAxODMsIAorICAgIDQ3LCAyMjEsIDIxNiwgMjEzLCAxODMsIDQ4LCAyMjEsIDIxNiwgNywgMjEzLCAxODMsIDUsIDEsIDYyLCA3LCAyMTMsIDE4MywgCisgICAgNSwgMSwgNzUsIDcsIDIxMywgMTgzLCA1LCAxLCA3NiwgNywgMjEzLCAxODMsIDUsIDEsIDIwNiwgMTk1LCA3LCAyMTMsIAorICAgIDE4MywgNSwgMSwgMjE3LCAxMDAsIDcsIDIxMywgMTgzLCA1LCAxLCAyMzksIDE1NSwgNywgMjEzLCAxODMsIDUsIDEsIDIzMiwgCisgICAgNzYsIDcsIDIxMywgMTgzLCA1LCAxLCAxNDksIDcsIDIxMywgMTgzLCA1LCAxLCAyMjksIDI4LCA3LCAyMTMsIDE4MywgNSwgCisgICAgMSwgMjI2LCAzMywgNywgMjEzLCAxODMsIDUsIDEsIDIyMiwgNjcsIDcsIDIxMywgMTgzLCA1LCAxLCAxODIsIDcsIDIxMywgCisgICAgMTgzLCA1LCAxLCAyMTMsIDEwLCAyNDIsIDE4MywgNTMsIDI0NywgMTYzLCA1MywgMjQ3LCA0NSwgNTMsIDI0MSwgMTA2LCAKKyAgICAyNDEsIDExMCwgNTMsIDIyOSwgMTg4LCA1MywgMjI2LCAyMTYsIDUzLCAyMjUsIDIxNiwgNTMsIDIyMSwgMTA5LCA1MywgCisgICAgMjE4LCAyNywgNTMsIDIwNiwgMjQwLCA1MywgMTg2LCAyMTUsIDIwMCwgNTMsIDI0NSwgMzAsIDUzLCAyNDIsIDE4NCwgNTMsIAorICAgIDIzMSwgMTA0LCA1MywgMjEwLCAxNjMsIDUzLCAyNDQsIDQsIDUzLCAyNDAsIDE0NiwgMjIxLCAxNDMsIDUzLCAyMjEsIDEwNiwgCisgICAgNTMsIDIzOSwgMjA4LCA1MywgMjUxLCAxNzQsIDUzLCAyMzgsIDQ4LCA1MywgMjQ4LCAxNDMsIDUzLCAyMjksIDE3OSwgMjExLCAKKyAgICA4OCwgNTMsIDIxNCwgMTM0LCA1MywgMjEyLCA5NiwgNTMsIDIzMywgNTIsIDIxOCwgMjcsIDUzLCAyMTAsIDE0NiwgMjI5LCAKKyAgICAxODgsIDUzLCAyMjQsIDQ5LCAxNDEsIDUzLCAyMjcsIDIxOSwgNTMsIDIxOCwgNDcsIDUzLCAzNiwgNDcsIDIzOSwgOTAsIAorICAgIDUyLCAzNiwgNDgsIDIzOSwgOTAsIDUyLCAzNiwgMTUyLCA3OSwgMjI5LCAyMDYsIDIyMiwgODIsIDM2LCAyMTUsIDE0NCwgCisgICAgNzksIDIyOSwgMjA2LCAyMjIsIDgyLCAzNiwgMjUyLCA4NywgNTEsIDUyLCAzNiwgMjQ3LCAxOTQsIDUxLCA1MiwgMzYsIDQ3LCAKKyAgICA1MSwgNTIsIDM2LCA0OCwgNTEsIDUyLCAzNiwgMjE4LCAxNDksIDIyMiwgODIsIDM2LCAyNDcsIDE5NCwgMjE4LCAxNDksIAorICAgIDIyMiwgODIsIDM2LCAyNTIsIDg3LCAyMTgsIDE0OSwgMjIyLCA4MiwgMzYsIDEyOSwgMTc3LCA1MiwgMzYsIDI0MSwgMTI1LCAKKyAgICAxNzcsIDUyLCAzNiwgMjQzLCAzNywgMjQ3LCAyMzMsIDM2LCAyNDMsIDM3LCAyMTQsIDEwNywgMzYsIDI0MywgMzcsIDI0NSwgCisgICAgMTU2LCAzNiwgMjQzLCAzNywgMjQ3LCAyMzQsIDI1MCwgMTcxLCAzNiwgNDcsIDQ4LCA1MSwgNTIsIDM2LCAyNDMsIDM3LCAKKyAgICAyMTcsIDkzLCAzNiwgMjQzLCAzNywgMjMxLCAxNzAsIDM2LCAyNDMsIDM3LCAyMDksIDE5OCwgMjIwLCAyMDEsIDIxMSwgNTEsIAorICAgIDM2LCAyMTgsIDIyNSwgMjE0LCAxODEsIDIyMiwgODIsIDM2LCA1MCwgNzksIDIxMywgMjI1LCAyMjIsIDgyLCAzNiwgMjUyLCAKKyAgICA5NywgOTMsIDM2LCAyMTEsIDM2LCAyMDksIDIyNSwgMzYsIDIwNywgMTcsIDI0OSwgMTE2LCA1MiwgMzYsIDkyLCA1MSwgCisgICAgMjIyLCA4MiwgMzYsIDE1MiwgNTAsIDIxNCwgMTgxLCAyMjIsIDgyLCAzNiwgODYsIDIzOSwgOTAsIDIsIDEzOCwgMjQ0LCA2LCAKKyAgICAzNiwgOTIsIDIzOSwgOTAsIDIsIDEzOCwgMjQ0LCA2LCAzNiwgNDcsIDUxLCA1NSwgMzYsIDQ4LCA1MSwgNTUsIDM2LCAyNTEsIAorICAgIDIxMCwgNTIsIDI1MywgMTcsIDIyMiwgMjAzLCAyNTMsIDEsIDIxMSwgMTMwLCAyMTIsIDQyLCAyMTMsIDE5MiwgMTU5LCA2LCAKKyAgICAyNDksIDM0LCAyNDUsIDI0NSwgMjQ4LCAxMzQsIDI0OCwgMTI5LCAyMjksIDIwNiwgOTMsIDI0OCwgMjAxLCAyMjIsIDIwMywgCisgICAgMjQ4LCAyNDksIDIwOSwgMjMzLCAyNDIsIDE4NSwgMjQ3LCAxMjQsIDIxNywgOTAsIDI0NSwgMjQ1LCAyNDIsIDU2LCAxMjEsIAorICAgIDUsIDI0MSwgNTUsIDEyMSwgNiwgMjM5LCAxNTUsIDI0OSwgMjAwLCA2LCAyMzksIDE1NSwgMTU5LCA2LCAyMzksIDE1NSwgCisgICAgMjIwLCAyMzUsIDI0NywgMTI0LCAyMjAsIDIzNSwgMjQ3LCAxMjUsIDEzMSwgMTE4LCAyMjEsIDUzLCAxMjEsIDYsIDc0LCAKKyAgICAyNDksIDIwMCwgNiwgNzQsIDEyMSwgNiwgMTQ5LCAxMjEsIDUsIDE0OSwgMjMwLCAxNTksIDYzLCAyNTAsIDEyOSwgOTMsIAorICAgIDE1OSwgNiwgMjI2LCAzMywgMjIzLCAxNzUsIDUzLCAyMTQsIDE2NSwgMjE5LCA0MCwgMjQ3LCA5MywgMTIxLCA2LCAyMjIsIAorICAgIDY3LCAxNTksIDYsIDIyMiwgNjcsIDE1OSwgNiwgMjIwLCAyNywgMTIxLCA2LCAxMzcsIDI0OSwgMjAwLCA2LCAxMzcsIDE1OSwgCisgICAgNiwgMTM3LCAyMjAsIDEzMywgMjEyLCAxODUsIDIxOCwgMjM3LCAyMTYsIDMzLCA4MywgMjEyLCAxMDgsIDUzLCAyMTEsIDc5LCAKKyAgICAxNDEsIDUzLCAyMDksIDIzLCAxNTksIDYsIDIwNSwgMTU5LCAyMjIsIDk2LCA1MywgMjIyLCAxOTMsIDUzLCAyMzMsIDIsIAorICAgIDIyMiwgMTkzLCA1MywgMjQ5LCAyMDAsIDYsIDIwNSwgMTU5LCAyMDEsIDI3LCA1LCAxLCAyMzIsIDI0OSwgMjMxLCAyMTEsIAorICAgIDUzLCAyNTIsIDEwNiwgNTMsIDEyMSwgNiwgMjUxLCAxNTAsIDI0OSwgMjAwLCA2LCAyNDksIDM0LCAyNDIsIDIwNywgOTMsIAorICAgIDEyMSwgNSwgNzUsIDEyMSwgNiwgNzUsIDEyMSwgNiwgMjQyLCAxMzksIDIwMSwgNiwgMjQyLCAxMzksIDEyMSwgNiwgMjI5LCAKKyAgICAyOCwgMTIxLCA1LCA3NiwgMTI2LCA5MywgMjUwLCAxMSwgOTMsIDI0MCwgNDgsIDkzLCAyNDYsIDExMiwgOTMsIDIzMywgNDMsIAorICAgIDIxNCwgMTYzLCAyMTgsIDk3LCA2LCAyMjAsIDI3LCAyNDIsIDU5LCA1MywgMTU5LCA1LCAyMjEsIDUzLCAxNTksIDUsIDI0MCwgCisgICAgMjE1LCAxNTksIDYsIDI0MCwgMjE1LCAxNTksIDYsIDIyMSwgNTMsIDE1OSwgMjI2LCAzMiwgMjEzLCAxNTcsIDIwMSwgMzgsIAorICAgIDYsIDI0MSwgNTUsIDIwMSwgMzgsIDYsIDE0OSwgMjE4LCAyMjQsIDM4LCA2LCAxNDksIDIwMSwgMzgsIDYsIDIwNiwgMTIzLCAKKyAgICAxNTksIDM1LCA2LCAyNDYsIDI0MCwgMTU5LCAzNSwgNSwgMjQ2LCAyNDAsIDE1OSwgMzUsIDUsIDc1LCAxNTksIDM1LCA1LCAKKyAgICA3NCwgMTU5LCAzNSwgNSwgMjMyLCAyMDMsIDIyMCwgMTAzLCAyMjksIDIwNSwgMjAxLCAyNTIsIDEyNSwgMjIxLCAxMzIsIAorICAgIDUzLCAyNTIsIDE4MywgMjAxLCA1LCAyNDIsIDEzOSwgMTYsIDMzLCAyMTcsIDE2MCwgMjE0LCAxNjMsIDIwNywgMTQ2LCAKKyAgICAyNDEsIDExNiwgMTE5LCAyMTYsIDE5LCAyMDcsIDE0NiwgMjQxLCAxMTYsIDExOSwgMjI0LCAxODksIDIwNywgMTQ2LCAyNDEsIAorICAgIDExNiwgMTE5LCAyMTIsIDkxLCAyMDcsIDE0NiwgMjQxLCAxMTYsIDExOSwgMjEyLCAxMCwgMjA3LCAxNDYsIDI0MSwgMTE2LCAKKyAgICAxMTgsIDIxMiwgNywgMjA3LCAxNDYsIDI0MSwgMTE2LCAxMTksIDI0MSwgMjQ2LCAyMDcsIDE0NiwgMjQxLCAxMTYsIDExOCwgCisgICAgMjQxLCAyNDUsIDIwNywgMTQ2LCAyNDEsIDExNiwgMTI5LCAyNDEsIDI0NSwgMjA3LCAxNDYsIDI0MSwgMTE2LCAyNDEsIAorICAgIDEyNSwgMjQxLCAyNDUsIDIwNywgMTQ2LCAyNDEsIDExNiwgMTE5LCAyMTUsIDAsIDIwNywgMTQ2LCAyNDEsIDExNiwgMjQxLCAKKyAgICAyMDQsIDIxNCwgMjU0LCAyMDcsIDE0NiwgMjQxLCAxMTYsIDExOSwgMjQzLCA4MywgMjA3LCAxNDYsIDI0MSwgMTE2LCAxMjksIAorICAgIDI0MywgODEsIDIwNywgMTQ2LCAyNDEsIDExNiwgMjQxLCAyMDQsIDI0MywgODEsIDIwNywgMTQ2LCAyNDEsIDExNiwgMjE2LCAKKyAgICAyMywgMjQzLCA4MSwgMjQxLCAxMTYsIDIyMywgMTc2LCAxMDIsIDIxOCwgMTA5LCAyMjMsIDE3NywgMTAyLCAyMTgsIDEwOSwgCisgICAgMjIzLCAxNzcsIDEwNSwgMjE4LCAxMDksIDIyMywgMTc3LCAxNDIsIDIxOCwgMTA5LCAyMjMsIDE3NywgMTM5LCAyMTgsIAorICAgIDEwOSwgMjIzLCAxNzcsIDE2OCwgMjE4LCAxMDksIDIyMywgMTc3LCAxODQsIDIxOCwgMTA5LCAyMjMsIDE3NywgMTk1LCAKKyAgICAyMTgsIDEwOSwgMjIzLCAxNzcsIDE5MywgMjE4LCAxMDksIDIyMywgMTc3LCAyMDAsIDIxOCwgMTA5LCAyMjMsIDE3NywgCisgICAgMjEyLCA5OCwgMjE4LCAxMDksIDIyMywgMTc3LCAyNDMsIDU4LCAyMTgsIDEwOSwgMjIzLCAxNzcsIDIxMCwgMTI2LCAyMTgsIAorICAgIDEwOSwgMjIzLCAxNzcsIDI0MSwgMjQzLCAyMTgsIDEwOSwgMjIzLCAxNzcsIDExOSwgMjM4LCAyOSwgMjE4LCAxMDksIDIyMywgCisgICAgMTc3LCAyNDEsIDIwNCwgMjM4LCAyOSwgMjE4LCAxMDksIDIyMywgMTc3LCAxMTksIDIxMSwgMjQyLCA1LCAyMTgsIDEwOSwgCisgICAgMjIzLCAxNzcsIDEwMiwgNSwgMjE4LCAxMDksIDIyMywgMTc3LCAxMDUsIDUsIDIxOCwgMTA5LCAyMjMsIDE3NywgMTQyLCA1LCAKKyAgICAyMTgsIDEwOSwgMjIzLCAxNzcsIDEzOSwgNSwgMjE4LCAxMDksIDIyMywgMTc3LCAxNjgsIDUsIDIxOCwgMTA5LCAyMjMsIAorICAgIDE3NywgMTg0LCA1LCAyMTgsIDEwOSwgMjIzLCAxNzcsIDE5NSwgNSwgMjE4LCAxMDksIDIyMywgMTc3LCAxOTMsIDUsIDIxOCwgCisgICAgMTA5LCAyMjMsIDE3NywgMjAwLCA1LCAyMTgsIDEwOSwgMjIzLCAxNzcsIDIxMiwgOTgsIDUsIDIxOCwgMTA5LCAyMjMsIAorICAgIDE3NywgMjQzLCA1OCwgNSwgMjE4LCAxMDksIDIyMywgMTc3LCAyMTAsIDEyNiwgNSwgMjE4LCAxMDksIDIyMywgMTc3LCAKKyAgICAyNDEsIDI0MywgNSwgMjE4LCAxMDksIDIyMywgMTc3LCAxMTksIDIzOCwgMjksIDUsIDIxOCwgMTA5LCAyMjMsIDE3NywgCisgICAgMjQxLCAyMDQsIDIzOCwgMjksIDUsIDIxOCwgMTA5LCAyMjMsIDE3NywgMTE5LCAyMTEsIDI0MiwgMjE4LCAxMDksIDIyMywgCisgICAgMTc3LCAxMTksIDIxMSwgMjQzLCAyNDksIDM1LCAyNDYsIDI0MCwgMjE4LCAxMDksIDIyMywgMTc3LCAyNDEsIDIwNCwgMjExLCAKKyAgICAyNDIsIDIxOCwgMTA5LCAyMjMsIDE3NywgMjEyLCA5OSwgMjExLCAyNDIsIDIxOCwgMTA5LCAyMjMsIDE3NywgMjE4LCAyMjQsIAorICAgIDExOSwgMjM4LCAyOSwgNywgNSwgMSwgMjE4LCAyMjQsIDI0OSwgMzQsIDIxOCwgMTA5LCAyMjMsIDE3NywgMjE1LCAxMCwgCisgICAgMjMwLCA3OSwgMTcsIDIxOCwgMTA5LCAyMjMsIDE3NywgMjQxLCAyNDQsIDI0MywgMTIzLCAxNywgMjE4LCAxMDksIDIyMywgCisgICAgMTc3LCAyNDEsIDI0NCwgMjExLCAyNDIsIDIxOCwgMTA5LCAyMjMsIDE3NywgMTE5LCAyMzgsIDMwLCAyMTEsIDI0MiwgMjA3LCAKKyAgICAxNDYsIDI0MSwgMTE2LCAyMDUsIDg2LCAyMTIsIDcsIDkyLCA0NSwgMTY3LCA0NSwgODYsIDQ1LCAxNzMsIDQ1LCA0NywgNDgsIAorICAgIDQ1LCAxMjAsIDEzMCwgNDUsIDE0MywgMjA3LCAzNiwgNDUsIDE0MywgMjQzLCAxMTcsIDQ1LCAxODgsIDI0MywgMTE3LCA0NSwgCisgICAgMTg4LCAyMDcsIDM2LCA0NSwgOTIsIDUxLCAyLCA5MSwgODYsIDUxLCAyLCA5MSwgOTIsIDIwNywgNjUsIDQ1LCA4NiwgMjA3LCAKKyAgICA2NSwgNDUsIDkyLCAxMTgsIDIzOSwgNjcsIDQ1LCAxNjcsIDExOCwgMjM5LCA2NywgNDUsIDg2LCAxMTgsIDIzOSwgNjcsIAorICAgIDQ1LCAxNzMsIDExOCwgMjM5LCA2NywgNDUsIDkyLCA1MSwgMiwgMjEyLCAxOTEsIDg2LCA1MSwgMiwgMjEyLCAxOTEsIDkyLCAKKyAgICA1MSwgMjQxLCA5OCwgMTM0LCAxNjcsIDUxLCAyNDEsIDk4LCAxMzQsIDg2LCA1MSwgMjQxLCA5OCwgMTM0LCAxNzMsIDUxLCAKKyAgICAyNDEsIDk4LCAxMzQsIDEyMCwgMTMwLCA1MSwgMiwgMjUwLCAxMTYsIDkyLCA1MSwgMiwgMTA5LCA4NiwgNTEsIDIsIDEwOSwgCisgICAgOTIsIDUxLCAyLCAyMjksIDExMSwgODYsIDUxLCAyLCAyMjksIDExMSwgNDcsIDQ4LCAyMDcsIDY1LCA0NSwgNDcsIDQ4LCAKKyAgICA1MSwgMiwgOTEsIDE3MywgMjA1LCAzMSwgNDUsIDE2NywgNTEsIDIsIDIxMSwgMTY3LCAyMzAsIDM2LCAxNjcsIDUxLCAyLCAKKyAgICAyMTEsIDE2NywgMjE4LCAxNTYsIDE3MywgNTEsIDIsIDIxMSwgMTY3LCAyMzAsIDM2LCAxNzMsIDUxLCAyLCAyMTEsIDE2NywgCisgICAgMjE4LCAxNTYsIDg2LCA1MSwgMiwgMjQ3LCA5MiwgMjQ0LCA2LCAxNzMsIDUxLCAyLCAyNDcsIDkyLCAyMzAsIDM2LCAyNTIsIAorICAgIDg3LCAyMTEsIDEwMiwgMjE2LCA1NSwgNDUsIDI0NywgMTk0LCAyMTEsIDEwMiwgMjE2LCA1NSwgNDUsIDE0MywgMjA3LCAzNiwgCisgICAgNTEsIDIxMSwgMTMwLCAxNTIsIDEzNCwgOTIsIDUxLCAyMTEsIDEzMCwgMjUwLCAxMjksIDEzMSwgODYsIDUxLCAyMTEsIAorICAgIDEzMCwgMTM0LCAyNTIsIDg3LCAyMjIsIDE0MiwgMjQ3LCAyMzQsIDQ1LCAyNDcsIDE5NCwgMjIyLCAxNDIsIDI0NywgMjM0LCAKKyAgICA0NSwgOTIsIDIzOSwgOTAsIDIsIDEzOCwgMjA5LCAxOTYsIDkyLCAyMzksIDkwLCAyLCAxMzgsIDI0NCwgNiwgMTY3LCAyMzksIAorICAgIDkwLCAyLCAxMzgsIDIxOCwgMTU2LCAxNjcsIDIzOSwgOTAsIDIsIDEzOCwgMjMwLCAzNiwgODYsIDIzOSwgOTAsIDIsIDEzOCwgCisgICAgMjA5LCAxOTYsIDg2LCAyMzksIDkwLCAyLCAxMzgsIDI0NCwgNiwgMTczLCAyMzksIDkwLCAyLCAxMzgsIDIxOCwgMTU2LCAKKyAgICAxNzMsIDIzOSwgOTAsIDIsIDEzOCwgMjMwLCAzNiwgODYsIDUxLCAxMzEsIDkyLCA0NSwgMTY3LCA1MSwgOTIsIDczLCAxNzMsIAorICAgIDQ1LCA5MiwgNTEsIDEzMSwgODYsIDQ1LCA5MiwgMjIyLCAzMCwgMjUxLCAyNDEsIDE2NywgMjIyLCAzMCwgMjUxLCAyNDEsIAorICAgIDg2LCAyMjIsIDMwLCAyNTEsIDI0MSwgMTczLCAyMjIsIDMwLCAyNTEsIDI0MSwgOTIsIDIzOSwgOTAsIDEzMSwgODYsIDIzOSwgCisgICAgODksIDg2LCAyMzksIDkwLCAxMzEsIDkyLCAyMzksIDg5LCA5MiwgNTAsIDUxLCAyLCA5MSwgNDcsIDQ4LCA1MCwgNTEsIDIsIAorICAgIDkxLCA4NiwgNTAsIDUxLCAyLCA5MSwgOTIsIDUwLCA0NSwgMTY3LCA1MCwgNDUsIDg2LCA1MCwgNDUsIDE3MywgNTAsIDQ1LCAKKyAgICA0NywgNDgsIDUwLCA0NSwgMTIwLCAxMzAsIDUwLCA0NSwgMTQzLCAyMDcsIDM2LCA1MCwgNDUsIDE0MywgMjQzLCAxMTcsIAorICAgIDUwLCA0NSwgMTg4LCAyNDMsIDExNywgNTAsIDQ1LCAxODgsIDIwNywgMzYsIDUwLCA0NSwgOTIsIDIxMSwgMzYsIDQ1LCA4NiwgCisgICAgMjExLCAzNiwgNDUsIDkyLCAyMTQsIDEwMywgNDUsIDg2LCAyMTQsIDEwMywgNDUsIDE2NywgNTEsIDIsIDUwLCA5MSwgMTczLCAKKyAgICA1MSwgMiwgNTAsIDkxLCA5MiwgMjQ2LCA3NywgNDUsIDE2NywgMjQ2LCA3NywgNDUsIDg2LCAyNDYsIDc3LCA0NSwgMTczLCAKKyAgICAyNDYsIDc3LCA0NSwgOTIsIDUxLCAyMTEsIDEzMCwgMTM0LCA4NiwgNTEsIDIxMSwgMTMwLCAxMzQsIDkyLCA1OSwgNDUsIAorICAgIDE2NywgNTksIDQ1LCA4NiwgNTksIDQ1LCAxNzMsIDU5LCA0NSwgMTY3LCA1OSwgNTEsIDI0MSwgOTgsIDEzNCwgMTY3LCA1OSwgCisgICAgNTEsIDIyMiwgMTY2LCAyMjEsIDE2NywgMTY3LCA1OSwgNTEsIDIyMiwgMTY2LCAyMjEsIDE2OCwgMiwgMTk0LCAxMzQsIAorICAgIDE2NywgNTksIDUxLCAyMjIsIDE2NiwgMjIxLCAxNjgsIDIsIDc5LCAxMzQsIDE2NywgNTksIDUwLCA0NSwgMTY3LCA1OSwgCisgICAgNTAsIDUxLCAyMjIsIDE2NiwgMjIxLCAxNjcsIDg2LCA1OSwgNTEsIDI0MSwgOTgsIDIwNywgODYsIDE0MywgMjA3LCAzNiwgCisgICAgNTEsIDIxMSwgMTMwLCAyNDcsIDkxLCAxODgsIDI0MywgMTE3LCA1MSwgMjExLCAxMzAsIDI0NywgOTEsIDEyMCwgMTMwLCAKKyAgICA1OSwgNDUsIDQ4LCA1MSwgMiwgNSwgMjQ3LCAyMzMsIDE3MywgNTEsIDkyLCA3MywgMTY3LCA0NSwgMTI5LCA4NiwgMjUxLCAKKyAgICAyNDEsIDkyLCA1MSwgMiwgNzksIDkxLCA4NiwgNTEsIDIsIDc5LCA5MSwgNDcsIDQ4LCA1MSwgMiwgNzksIDkxLCA5MiwgNTEsIAorICAgIDIsIDUwLCA3OSwgOTEsIDg2LCA1MSwgMiwgNTAsIDc5LCA5MSwgNDcsIDQ4LCA1MSwgMiwgNTAsIDc5LCA5MSwgOTIsIDIyMiwgCisgICAgMTQwLCA0NSwgODYsIDIyMiwgMTQwLCA0NSwgNDcsIDQ4LCAyMjIsIDE0MCwgNDUsIDMzLCAyNTIsIDE1NiwgMjQ3LCAxNTAsIAorICAgIDIyMSwgMjA5LCAyNDUsIDE0MCwgMjEyLCAzMiwgMjQyLCAxNjQsIDIxMiwgMzIsIDI0NSwgNDIsIDIyNCwgNDMsIDI0MiwgCisgICAgMTY1LCAyNDMsIDQzLCAyMTYsIDI4LCAyMzMsIDU3LCAyMjUsIDIyNywgMjQzLCA2MSwgMjIyLCAyMDMsIDIyNCwgNDMsIAorICAgIDI1MiwgMTIzLCAyNDMsIDYxLCAyMjIsIDIwMywgNSwgMjQzLCA2MSwgMjIyLCAyMDMsIDI0NywgMTE4LCAyNTEsIDIzMiwgCisgICAgMjI3LCA4NywgMjQ1LCA0MiwgMjI0LCA0MywgMjQ3LCAxMjAsIDI1MSwgMjMyLCAyMjcsIDg3LCA1LCAyNDcsIDExOCwgMjUxLCAKKyAgICAyMzIsIDIyNywgODcsIDI0MywgMzQsIDczLCAyMjAsIDEwNSwgMjI2LCAzMiwgMjIwLCAxMTUsIDIyNiwgMzIsIDI0NywgOTYsIAorICAgIDIyNiwgMzIsIDIxMywgMTU3LCAyMjYsIDIwMiwgNTMsIDIyNiwgMjAwLCA1MywgNjcsIDIyMCwgMjE4LCAyNDUsIDc1LCAKKyAgICAyMTQsIDIzNSwgMjE2LCAyOSwgMjI2LCAyMDEsIDI1MSwgMjEwLCAyMjIsIDEzMiwgMjE4LCAxNDksIDIyMiwgMTMyLCAyNDksIAorICAgIDg2LCAyMjIsIDEzMiwgNDksIDIxOCwgMTAzLCAyNDcsIDM2LCAyMTgsIDEwMywgMjQxLCAxMTgsIDIxOCwgMTAzLCAyMjAsIAorICAgIDEwMSwgMTI0LCAyMzMsIDQ1LCA0OCwgMjUyLCAxMDgsIDI1MiwgMTA4LCAyMjcsIDExNiwgMjUyLCAxMDgsIDIxNCwgMTMzLCAKKyAgICAyNTIsIDEwOCwgMjQ1LCA3NywgMjQ1LCA0MiwgMjI0LCA0MywgMjQ1LCA4MSwgMjIxLCAyMjIsIDEyNCwgMjI0LCA0MywgCisgICAgMjIxLCAyMjIsIDEyNCwgMjI5LCAxMzQsIDI1MiwgMTE3LCAyMjksIDEzNCwgMjIyLCAxMjIsIDIzMywgNywgMjA5LCAyMTgsIAorICAgIDIzMywgMjEsIDUwLCAyMzMsIDIxLCAyMTEsIDM2LCAyMzMsIDIxLCAyNDcsIDExMywgMjMzLCAyMSwgMjEzLCAxMjksIDIzMywgCisgICAgMjEsIDIwOCwgMTYzLCAyMzMsIDIxLCAyNDcsIDE5NCwgMjMzLCAyMSwgMjQ3LCAxOTQsIDI0NywgMTEzLCAyMzMsIDIxLCAKKyAgICAyNTIsIDg3LCAyNDcsIDExMywgMjMzLCAyMSwgMjEyLCAzMSwgMjUwLCA1MiwgMjE5LCA2MSwgMjIwLCAxMDIsIDY3LCAyMjYsIAorICAgIDIwMSwgMjQyLCAxNzAsIDI0MCwgMTUyLCAyMjAsIDEwMiwgMjM4LCAxMzUsIDIxMSwgMTgxLCAyMjIsIDEzMiwgMjE4LCAKKyAgICAyMjQsIDIxMSwgMTgwLCAyMzMsIDIsIDIzMCwgNjUsIDE4MiwgMjE1LCA0MywgMjA3LCA2NCwgMjA2LCAyMjEsIDIyMCwgCisgICAgMTE1LCAyMjQsIDQzLCAyMTEsIDE4MCwgMjI2LCAyMDIsIDIxMSwgMTgwLCAyNTEsIDIwMywgMTQ2LCAxMjQsIDIyNCwgNDMsIAorICAgIDI1MSwgMjAzLCAxNDYsIDEyNCwgMjUyLCA0NCwgMTQ2LCAxMjQsIDI1MiwgNDQsIDI0OSwgNTcsIDIyNCwgNDMsIDI1MywgCisgICAgMTAsIDE0NiwgMTI0LCAyMjUsIDEwMywgMjUyLCA0NCwgMjI0LCA1MSwgMjUzLCAxMCwgMTQ2LCAxMjQsIDI1MiwgMTQ5LCAKKyAgICAxNDYsIDEyNCwgMjI0LCA0MywgMjUyLCAxNDksIDE0NiwgMTI0LCAyNTIsIDE0OSwgMTQ2LCAyMjIsIDEyMywgMTQ2LCAxMjQsIAorICAgIDIxMSwgMzYsIDIxMSwgMTgwLCAyNTIsIDE1NywgMTQ2LCAxMjQsIDI0MiwgMjM3LCAxMjQsIDI0MCwgMTUxLCAyNDIsIDIzNywgCisgICAgMTI0LCAyNDUsIDE0MSwgMjUwLCA1LCAyNTIsIDQ2LCAyMTIsIDQyLCAyMjksIDIxMywgMjQwLCAxNTEsIDE0NiwgMTI0LCAKKyAgICAyNTIsIDQ0LCAxNDYsIDIxMSwgMTMwLCAyMjIsIDEyMywgMjEyLCA0MiwgMjMzLCA4NCwgMjIyLCAyMDMsIDIzMywgODQsIAorICAgIDczLCAyMjIsIDEyMywgMjUyLCA0NCwgMTQ2LCAxMjQsIDI0NywgMTYzLCAyNDIsIDI0MSwgMjQyLCAyNDIsIDI0NywgMTYyLCAKKyAgICAyMTgsIDE0OSwgMjMzLCA2OSwgMTQ2LCAxMjQsIDIxOCwgMTQ5LCAxNDYsIDEyNCwgMjQ3LCA4NSwgMTI0LCAyNDIsIDIwNiwgCisgICAgMjQyLCAyNDAsIDEyNCwgMjE0LCAyNywgMjQyLCAyNDEsIDI0NSwgMjI4LCAxNDYsIDEyNCwgMTQ2LCAyMTEsIDEzMCwgMjQ5LCAKKyAgICA0NiwgMjQ1LCAyNDYsIDIyNywgMTE2LCAyNDksIDQ1LCAyMTksIDE5NCwgMTQ2LCAxMjQsIDIyNCwgNDMsIDE0NiwgMTI0LCAKKyAgICAyMzcsIDE3MywgMTI0LCAyMjQsIDQzLCAyMzcsIDE3MywgMTI0LCAyMTMsIDIzMSwgMjQyLCAyMzcsIDEyNCwgMjMwLCAxMCwgCisgICAgMjIyLCAxMjMsIDE0NiwgMTI0LCAyMzksIDIzMCwgMjIyLCAxMjMsIDE0NiwgMTI0LCAyMzAsIDEwLCAxMzEsIDE0NiwgMTI0LCAKKyAgICAyMzksIDIzMCwgMTMxLCAxNDYsIDEyNCwgMjMwLCAxMCwgMjQ5LCA1NywgMjI0LCA0MywgMTQ2LCAxMjQsIDIzOSwgMjMwLCAKKyAgICAyNDksIDU3LCAyMjQsIDQzLCAxNDYsIDEyNCwgMjI2LCAxMDgsIDIzMCwgOSwgMjI2LCAxMDgsIDIzOSwgMjI5LCAyNTAsIDUsIAorICAgIDIyNCwgNDMsIDI0MiwgMjM3LCAxMjQsIDIyNCwgNDMsIDIzMCwgOSwgMjI0LCA0MywgMjM5LCAyMjksIDIyNSwgMTAzLCAKKyAgICAyMzAsIDEwLCAyMjQsIDUxLCAxNDYsIDEyNCwgMjI1LCAxMDMsIDIzOSwgMjMwLCAyMjQsIDUxLCAxNDYsIDEyNCwgMjMwLCAKKyAgICAxMCwgMjIyLCAxMjMsIDI0MiwgMjM3LCAxMjQsIDIzOSwgMjMwLCAyMjIsIDEyMywgMjQyLCAyMzcsIDEyNCwgMjI1LCAxMDMsIAorICAgIDIzMCwgMTAsIDIyNCwgNTEsIDI0MiwgMjM3LCAxMjQsIDIyNSwgMTAzLCAyMzksIDIzMCwgMjI0LCA1MSwgMjQyLCAyMzcsIAorICAgIDEyNCwgMjMwLCAxMCwgMjIyLCAxMjMsIDIzOSwgMjI5LCAyMzksIDIzMCwgMjIyLCAxMjMsIDIzMCwgOSwgMjI1LCAxMDMsIAorICAgIDIzMCwgMTAsIDIyNCwgNTEsIDIzOSwgMjI5LCAyMjUsIDEwMywgMjM5LCAyMzAsIDIyNCwgNTEsIDIzMCwgOSwgMjIwLCAKKyAgICAxMzksIDIxMywgMTczLCAyMjAsIDE0MCwgMjIyLCAxMjMsIDE0NiwgMTI0LCAyMTMsIDE3NCwgMjIyLCAxMjMsIDE0NiwgCisgICAgMTI0LCAyMjAsIDE0MCwgMjIyLCAxMjMsIDI0MiwgMjM3LCAxMjQsIDIxMywgMTc0LCAyMjIsIDEyMywgMjQyLCAyMzcsIAorICAgIDEyNCwgMjQ1LCA0MiwgMjI0LCA0MywgMjIwLCAxNDIsIDI0NSwgNDIsIDIyNCwgNDMsIDIxMywgMTc1LCAyMTMsIDE4MiwgCisgICAgMjIyLCAyMDMsIDIxMywgMTM4LCAyMjIsIDIwMywgMjI0LCA0MywgMzIsIDIxMywgMTgyLCAyMjIsIDIwMywgMjI0LCA0MywgCisgICAgMzIsIDIxMywgMTM4LCAyMjIsIDIwMywgMjEzLCAxODIsIDczLCAyMjIsIDEyMywgMTQ2LCAxMjQsIDIxMywgMTM4LCA3MywgCisgICAgMjIyLCAxMjMsIDE0NiwgMTI0LCAyMjUsIDEwMywgMzIsIDIxMywgMTgyLCA3MywgMjI0LCA1MSwgMTQ2LCAxMjQsIDIyNSwgCisgICAgMTAzLCAzMiwgMjEzLCAxMzgsIDczLCAyMjQsIDUxLCAxNDYsIDEyNCwgMjEzLCAxODIsIDczLCAyLCAyMjQsIDQzLCAxNDYsIAorICAgIDEyNCwgMjEzLCAxMzgsIDczLCAyLCAyMjQsIDQzLCAxNDYsIDEyNCwgMjI2LCA5MSwgMjI2LCA5MiwgMjI2LCA5MywgMjI2LCAKKyAgICA5MiwgMjA5LCAyMTgsIDQ5LCAyMzMsIDg0LCAyMjIsIDIwMywgNDksIDIyMiwgMTE0LCAyMjIsIDIwMywgNDksIDIzMywgODQsIAorICAgIDczLCAyMjIsIDEyMywgMTQ2LCAxMjQsIDQ5LCAyMjIsIDExNCwgNzMsIDIyMiwgMTIzLCAxNDYsIDEyNCwgNDksIDI0OCwgCisgICAgMjEzLCA0OSwgMjQ3LCAyOSwgMzksIDIyMCwgMjE4LCAzOSwgMjI2LCAyMDEsIDM5LCAyMTEsIDE3NSwgMzksIDI0NSwgNzUsIAorICAgIDIxNCwgMjM1LCAzOSwgNjcsIDIyMiwgMTMyLCAzOSwgMjE4LCAxNDksIDIyMiwgMTMyLCAzOSwgMjUxLCAyMTAsIDIyMiwgCisgICAgMTMyLCAzOSwgMjQyLCAyNDEsIDM5LCAyNDYsIDc4LCA5OCwgMjIwLCAyMTgsIDk4LCAyMjYsIDIwMSwgOTgsIDIxMSwgMTc1LCAKKyAgICA5OCwgNjcsIDIyMiwgMTMyLCA0OCwgMjEyLCAyMDEsIDQ3LCAyMTIsIDIwMSwgMTMwLCAyMTIsIDIwMSwgMTIwLCAyMTIsIAorICAgIDIwMSwgMjUxLCAyMTMsIDIyNiwgMTc2LCAyMTEsIDE2LCAyNDEsIDE0MSwgMjExLCAzNiwgNzksIDI1MCwgMTI5LCA0OCwgCisgICAgMjEwLCAxNDMsIDUwLCA3OSwgMjUwLCAxMjksIDUwLCA0OCwgMjEwLCAxNDMsIDI0NSwgNDIsIDIyNCwgNDMsIDIyMCwgOTYsIAorICAgIDIyNCwgNDMsIDIxMSwgMTYsIDI0NSwgNDIsIDIyNCwgNDMsIDI0MSwgMTQyLCAyMjUsIDEwNSwgNTAsIDc5LCAyNTAsIDEyOSwgCisgICAgNTAsIDQ4LCAyMTAsIDE0MywgMjIwLCAxNDAsIDIwOSwgMjI3LCAyMTksIDExLCAyMTMsIDE3NCwgMjA5LCAyMjcsIDIxOSwgCisgICAgMTEsIDIyNCwgNDgsIDIxMywgMTk1LCAyMjIsIDIwMywgMjQ3LCAxMTgsIDI1MSwgMjMyLCAyMjQsIDQ4LCAyMTMsIDE5NCwgCisgICAgMjI0LCA0OCwgMjEzLCAxOTUsIDczLCAyMjIsIDEyMywgMTQ2LCAxMjQsIDI0NywgMTE4LCAyNTEsIDIzMiwgMjI0LCA0OCwgCisgICAgMjEzLCAxOTUsIDIyMiwgMTIzLCAxNDYsIDEyNCwgMjIyLCAxMTQsIDIyMiwgMjAzLCAyMzMsIDg0LCAyMjIsIDIwMywgMjI2LCAKKyAgICA5NywgMjM5LCAzMiwgMjQ3LCAxMjksIDIyNywgMTY4LCAyMzMsIDE4LCAyMDYsIDE1NSwgMjI1LCAyMDcsIDIyNCwgNTAsIAorICAgIDQ4LCAyNTIsIDEwOSwgMiwgMjUyLCAyMSwgNDgsIDIxMSwgNTEsIDIyNiwgMzIsIDIyOSwgMTM0LCAyNTIsIDExNywgMjI2LCAKKyAgICAzMiwgMjI5LCAxMzQsIDIyMiwgMTIyLCAyMjYsIDMyLCAyMzMsIDcsIDIyNiwgMzIsIDIwOSwgMjE4LCAyNDUsIDE1NywgCisgICAgMjIyLCAxMzIsIDY3LCAyMjIsIDEzMiwgMjE0LCAyNywgMjIyLCAxMzIsIDI0NSwgNzUsIDIxMSwgMTc1LCAyNDksIDE0MSwgCisgICAgNDcsIDIyNCwgNDgsIDI0MiwgNTgsIDIxNiwgNTEsIDIyMCwgMTE1LCA0OCwgMjI0LCA0OCwgMjQyLCA1OCwgMjE2LCA1MSwgCisgICAgMjIwLCAxMTUsIDQ3LCAyMTYsIDUxLCAyMjAsIDExNSwgNDgsIDIxNiwgNTEsIDIyMCwgMTE1LCAyMTgsIDIyNCwgMjExLCAKKyAgICAxODEsIDI0MiwgMjQxLCAyNDcsIDI2LCAyMjksIDEzNCwgMjIyLCAxMjIsIDI0NywgMjYsIDIyOSwgMTM0LCAyNTIsIDExNywgCisgICAgNTAsIDIxMywgMTgxLCA1MCwgMjEzLCAxMzcsIDUwLCAyMzMsIDcsIDUwLCAyMDksIDIxOCwgMjIwLCAyNDUsIDE0NiwgMjMsIAorICAgIDIyMSwgMjIyLCAxMjQsIDIzMCwgMTAsIDIsIDI0NSwgMjMsIDIzOSwgMjMwLCAyLCAyNDUsIDIzLCAyMDgsIDIyNiwgMjI2LCAKKyAgICAxMDgsIDIzMCwgOSwgMjA4LCAyMjYsIDIyNiwgMTA4LCAyMzksIDIyOSwgMjMwLCAxMCwgMTQ2LCAyMTEsIDEzMCwgMjIyLCAKKyAgICAxMjMsIDIzOSwgMjI5LCAyMzksIDIzMCwgMTQ2LCAyMTEsIDEzMCwgMjIyLCAxMjMsIDIzMCwgOSwgMTQ2LCAyMTEsIDEzMCwgCisgICAgMjIyLCAxMjMsIDIzMCwgOSwgMTQ2LCAyMTEsIDEzMCwgMjIyLCAxMjMsIDIzOSwgMjI5LCAxNDYsIDIxMSwgMTMwLCAyMjIsIAorICAgIDEyMywgMjIwLCAxMzksIDE0NiwgMjExLCAxMzAsIDIyMiwgMTIzLCAyMTMsIDE3MywgMjQ1LCA0MiwgMjI0LCA0MywgMjIwLCAKKyAgICAxNDMsIDIyMiwgMTIzLCAyNDIsIDI0MywgMjQ1LCA0MiwgMjI0LCA0MywgMjEzLCAxNzYsIDIyMiwgMTIzLCAyNDIsIDI0MywgCisgICAgMjI0LCA0MywgNDksIDIzMywgODQsIDczLCAyMjIsIDEyMywgMTQ2LCAxMjQsIDIyNCwgNDMsIDQ5LCAyMjIsIDExNCwgNzMsIAorICAgIDIyMiwgMTIzLCAxNDYsIDEyNCwgNDksIDIzMywgODQsIDczLCAyMjIsIDEyMywgMjI0LCA0MywgMTQ2LCAxMjQsIDQ5LCAKKyAgICAyMjIsIDExNCwgNzMsIDIyMiwgMTIzLCAyMjQsIDQzLCAxNDYsIDEyNCwgMjMwLCAxMCwgMjQ5LCA1NywgMjI0LCA0MywgCisgICAgMjQyLCAyMzcsIDEyNCwgMjM5LCAyMzAsIDI0OSwgNTcsIDIyNCwgNDMsIDI0MiwgMjM3LCAxMjQsIDIyMCwgMTQwLCAyNDksIAorICAgIDU3LCAyMjQsIDQzLCAyNDIsIDIzNywgMTI0LCAyMTMsIDE3NCwgMjQ5LCA1NywgMjI0LCA0MywgMjQyLCAyMzcsIDEyNCwgCisgICAgMjI0LCA0MywgMjI0LCA0OCwgMjEzLCAxOTUsIDIyMiwgMjAzLCAyNDUsIDQyLCAyMjQsIDQzLCAyNDcsIDEyMCwgMjUxLCAKKyAgICAyMzIsIDIyNCwgNDgsIDIxMywgMTk0LCAyMjQsIDQzLCAyMjQsIDQ4LCAyMTMsIDE5NSwgNzMsIDIyMiwgMTIzLCAxNDYsIAorICAgIDEyNCwgMjQ1LCA0MiwgMjI0LCA0MywgMjQ3LCAxMjAsIDI1MSwgMjMyLCAyMjQsIDQ4LCAyMTMsIDE5NSwgMjIyLCAxMjMsIAorICAgIDI0MiwgMjQzLCA3OSwgMjQzLCA1NCwgMjI2LCAyNDUsIDE5NCwgMjQzLCA1NCwgMTIwLCA0OCwgMjQ1LCAxNjMsIDI0MywgCisgICAgNTQsIDEzMCwgNDgsIDI0NSwgMTYzLCAyNDMsIDU0LCAyNDMsIDYxLCA3MywgMiwgMTUyLCAxOTQsIDkxLCAyNDMsIDYxLCAKKyAgICA3MywgMiwgNzksIDI1MCwgMTI5LCAyNTEsIDIwMCwgMjQzLCAzNCwgNzMsIDE5NCwgOTEsIDUsIDI0MywgNjEsIDczLCAyLCAKKyAgICA3OSwgMjUwLCAxMjksIDI1MSwgMjAwLCAyNDMsIDM0LCA3MywgMTk0LCA5MSwgMjQzLCA2MSwgNzMsIDIsIDY3LCA1MiwgCisgICAgMjQzLCA2MSwgNzMsIDIsIDIyMiwgODYsIDUsIDI0MywgNjEsIDczLCAyLCAyMjIsIDg2LCAyNDMsIDYxLCA3MywgMiwgMjA5LCAKKyAgICAyMjYsIDI0MywgNjEsIDczLCAyLCAxMTgsIDE5NCwgMjEzLCAyMTIsIDI0NywgMTE4LCAyLCAxNTIsIDE5NCwgOTEsIDI0NywgCisgICAgMTE4LCAyLCA3OSwgMjUwLCAxMjksIDI1MSwgMjAwLCAyNDMsIDM0LCA3MywgMTk0LCA5MSwgNSwgMjQ3LCAxMTgsIDIsIDc5LCAKKyAgICAyNTAsIDEyOSwgMjUxLCAyMDAsIDI0MywgMzQsIDczLCAxOTQsIDkxLCAyNDcsIDExOCwgMiwgMjIyLCA4NiwgNSwgMjQ3LCAKKyAgICAxMTgsIDIsIDIyMiwgODYsIDIwNSwgMTYwLCAyMjQsIDQxLCAyNTAsIDE2NCwgMjI3LCA4NiwgMjQ1LCAxNTgsIDUzLCAyNDMsIAorICAgIDYzLCA0NSwgMjM4LCA1NCwgMTIwLCAyNTEsIDI0MywgMTMwLCAyNTEsIDI0MywgMjIwLCAxMDksIDIyMSwgMTEyLCAyMDcsIAorICAgIDYxLCAyMjksIDIwNSwgNDcsIDI0OCwgMTM3LCA0OCwgMjQ4LCAxMzcsIDQ3LCAyNDEsIDE3OCwgNDgsIDI0MSwgMTc4LCAKKyAgICAyNDksIDE1NCwgNDgsIDI0NywgNjEsIDI0OSwgMTU0LCA0NywgMjQ3LCA2MSwgMjExLCAxMDIsIDQ4LCAyNDcsIDYxLCAyMTEsIAorICAgIDEwMiwgNDcsIDI0NywgNjEsIDIxOCwgMjI0LCAyMjQsIDQzLCA1MywgNDksIDIyOSwgODgsIDI1MiwgMjEsIDIxNywgNjcsIAorICAgIDIxNywgNzUsIDIxMiwgMTA4LCAyMTksIDQxLCAyMjAsIDE3OCwgMjMzLCA0OSwgMjA4LCAyMDIsIDIxNCwgMTA3LCAyMjAsIAorICAgIDIzOSwgNzMsIDIzMywgMTcsIDUzLCAyMDEsIDIyNCwgNDMsIDUzLCAyMDcsIDcxLCAyMzgsIDU2LCAyMTEsIDEwMiwgNDcsIAorICAgIDI0NywgOTEsIDIxMSwgMTAyLCA0OCwgMjQ3LCA5MSwgMjQ5LCAxNTQsIDQ3LCAyNDcsIDkxLCAyNDksIDE1NCwgNDgsIDI0NywgCisgICAgOTEsIDIxMSwgMTAyLCAxNjAsIDIzMywgMjEsIDI0OSwgMTU0LCAxNjAsIDIzMywgMjEsIDI0MSwgOTUsIDIxNCwgMjExLCAKKyAgICAxMjAsIDI1MSwgMjQ0LCAyNTAsIDYsIDExOCwgMTk0LCAyNTAsIDExOCwgMjIyLCAxMjUsIDIzMSwgMTc0LCAyNDIsIDIzMywgCisgICAgMjExLCAxMzAsIDIxMiwgNDIsIDIxOCwgMTY3LCAyMDYsIDE5NiwgMjMzLCA2OSwgMzIsIDIxOSwgMzgsIDI0OSwgMTQwLCAKKyAgICAyMzEsIDE3MiwgMjMwLCA0MSwgMjUyLCAxMDksIDE0NSwgMjE4LCAxNjIsIDI1MiwgMTA5LCAxNDUsIDI0MiwgMjMzLCAyMTEsIAorICAgIDEzMCwgMjEyLCA0MiwgMjMwLCA0NiwgMjUwLCAxNywgMjE4LCAxNDgsIDI0NiwgMjUwLCAyNTIsIDE1NywgMjUxLCAyNTIsIAorICAgIDIxMywgNDAsIDIxMSwgOTAsIDIxOCwgMzIsIDI0NSwgMTIyLCAyMjIsIDExNSwgMjQ3LCAxMzEsIDIxMiwgMTY0LCAyMTQsIAorICAgIDIyMiwgMjQ3LCA4MSwgMjQ3LCA4MCwgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDIzNywgMjIyLCAyNTIsIDYyLCAyNDEsIDc4LCAKKyAgICAxNiwgMjE0LCAxMDEsIDIxOSwgMjExLCAyNTIsIDYyLCAyNDEsIDc4LCAxNiwgMjE5LCAyMTIsIDI0MiwgMjQzLCAyNTIsIAorICAgIDYyLCAyNDEsIDc4LCAxNiwgMjE5LCAyMTIsIDI0NSwgODEsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAyMTksIDIxMiwgMjQ1LCAKKyAgICAxNTYsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAyMTksIDIxMiwgMjMyLCAxMTAsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAyMTksIAorICAgIDIxMiwgMjQ3LCAyMzMsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAyNDcsIDIzNCwgMjE0LCAzLCAyNTIsIDYyLCAyNDEsIDc4LCAKKyAgICAxNiwgMjQ3LCAyMzQsIDIzMiwgMTEwLCAyNTIsIDYyLCAyNDEsIDc4LCAxNiwgMjE0LCAyMzYsIDEzNCwgMjUyLCA2MiwgCisgICAgMjQxLCA3OCwgMTYsIDI1MCwgMTcyLCAxMzQsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAyMTksIDIxMiwgMjE0LCAyMzUsIAorICAgIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAyMTksIDIxMiwgMjUwLCAxNzEsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAyMTksIDIxMiwgCisgICAgMjMwLCA5LCAyNTIsIDYyLCAyNDEsIDc4LCAxNiwgMjE5LCAyMTIsIDIzOSwgMjI5LCAyNTIsIDYyLCAyNDEsIDc4LCAxNiwgCisgICAgOTIsIDIwOSwgNjAsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCA4NiwgMjA5LCA2MCwgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIAorICAgIDIxOSwgMjEyLCA5MiwgNDUsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAyMTksIDIxMiwgODYsIDQ1LCAyNTIsIDYyLCAyNDEsIAorICAgIDc4LCAxNiwgMjQ3LCAyMzQsIDI1MCwgMTcxLCAyNTIsIDYyLCAyNDEsIDc4LCAxNiwgMTMwLCAyMTIsIDIwMiwgMjA5LCAKKyAgICAyMjYsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAyNDUsIDIyOCwgMjE0LCAzLCAyNTIsIDYyLCAyNDEsIDc4LCAxNiwgMjE5LCAKKyAgICAyMTIsIDEzMCwgMjQ4LCAxOTksIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAyMTksIDIxMiwgMjQ1LCAyMjcsIDI1MiwgNjIsIAorICAgIDI0MSwgNzgsIDE2LCAxMzAsIDIxMiwgMjAyLCAyMzIsIDExMCwgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDE2NywgMjA5LCA2MCwgCisgICAgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDIxOSwgMjEyLCAxNjcsIDQ1LCAyNTIsIDYyLCAyNDEsIDc4LCAxNiwgMTIwLCAyMTIsIAorICAgIDIwMiwgMjIyLCA4NiwgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDI0NSwgMjM5LCAyMTQsIDMsIDI1MiwgNjIsIDI0MSwgNzgsIAorICAgIDE2LCAyMTksIDIxMiwgMTIwLCAyNDgsIDE5OSwgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDIxOSwgMjEyLCAyNDUsIDIzOCwgCisgICAgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDEyMCwgMjEyLCAyMDIsIDIzMiwgMTEwLCAyNTIsIDYyLCAyNDEsIDc4LCAxNiwgMTczLCAKKyAgICAyMDksIDYwLCAyNTIsIDYyLCAyNDEsIDc4LCAxNiwgMjE5LCAyMTIsIDE3MywgNDUsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAKKyAgICAyMTksIDE3OSwgMjA5LCAyMjYsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAyNDUsIDIyOCwgMjA5LCAyMjYsIDI1MiwgNjIsIAorICAgIDI0MSwgNzgsIDE2LCAyNDUsIDE1NywgMjA5LCAyMjYsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAyMzIsIDExMSwgMjA5LCAKKyAgICAyMjYsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAyNDcsIDIzNCwgMjA5LCAyMjYsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAxMjAsIAorICAgIDIxNSwgMTU2LCAyMzIsIDExMCwgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDIxOSwgMTc5LCAyMTksIDIxMSwgMjUyLCA2MiwgCisgICAgMjQxLCA3OCwgMTYsIDI0NywgMjM0LCAyMTQsIDI2LCAyNTIsIDYyLCAyNDEsIDc4LCAxNiwgMjE5LCAyMTIsIDI0NywgMTYyLCAKKyAgICAyNTIsIDYyLCAyNDEsIDc4LCAxNiwgMTIwLCAyMTIsIDIwMiwgMjQ1LCAxNjYsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAyNDUsIAorICAgIDIzOSwgMjQ1LCAxNjYsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAyMTQsIDI3LCAyNDUsIDE2NiwgMjUyLCA2MiwgMjQxLCA3OCwgCisgICAgMTYsIDIzMiwgMTExLCAyNDUsIDE2NiwgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDI0NywgMjM0LCAyNDUsIDE2NiwgMjUyLCAKKyAgICA2MiwgMjQxLCA3OCwgMTYsIDEzMCwgMjE1LCAxNTYsIDIxNCwgMywgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDQ3LCAyMTUsIAorICAgIDE1NiwgMjE0LCAzLCAyNTIsIDYyLCAyNDEsIDc4LCAxNiwgMjExLCAxODEsIDI0NSwgMTY2LCAyNTIsIDYyLCAyNDEsIDc4LCAKKyAgICAxNiwgMjM5LCAyMzAsIDI0NSwgMTY2LCAyNTIsIDYyLCAyNDEsIDc4LCAxNiwgMjQ3LCAxNTYsIDEzNCwgMjUyLCA2MiwgCisgICAgMjQxLCA3OCwgMTYsIDI0NSwgMjM5LCAyMTEsIDE4MCwgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDIwNSwgMzAsIDI1MiwgNjIsIAorICAgIDI0MSwgNzgsIDE2LCAyMTQsIDQsIDIxMSwgMTgwLCAyNTIsIDYyLCAyNDEsIDc4LCAxNiwgMjE2LCA1MywgMjA5LCAyMjYsIAorICAgIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAyMTksIDIxMiwgMjI0LCA0MywgMjQyLCAyNDMsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAKKyAgICAyMTksIDIxMiwgMjE5LCAxOTUsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAxMzAsIDI0OCwgMjAwLCAyMTEsIDE4MCwgMjUyLCAKKyAgICA2MiwgMjQxLCA3OCwgMTYsIDEyMCwgMjQ4LCAyMDAsIDIxMSwgMTgwLCAyNTIsIDYyLCAyNDEsIDc4LCAxNiwgMjMyLCAyNDksIAorICAgIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAyMTgsIDIxMCwgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDIyMiwgMTcwLCAyNTIsIDYyLCAKKyAgICAyNDEsIDc4LCAxNiwgMjUyLCAxNDUsIDIwOSwgMjI2LCAyNTIsIDYyLCAyNDEsIDc4LCAxNiwgMjQyLCAyNDUsIDIwOSwgCisgICAgMjI2LCAyNTIsIDYyLCAyNDEsIDc4LCAxNiwgMjMyLCAyNTAsIDIwOSwgMjI2LCAyNTIsIDYyLCAyNDEsIDc4LCAxNiwgMjIyLCAKKyAgICAxNzEsIDIwOSwgMjI2LCAyNTIsIDYyLCAyNDEsIDc4LCAxNiwgMjUyLCAxNDQsIDIyNCwgNDMsIDI0OCwgODEsIDgzLCA0OCwgCisgICAgMjUyLCAxMDksIDIsIDE3MywgMjA1LCAzMSwgNDUsIDIxNSwgMTI3LCAyMjIsIDE0MiwgMjQ5LCAxNDAsIDI1MCwgMjksIDkzLCAKKyAgICA3OSwgMjI5LCAyMDYsIDIsIDIyNiwgMjQ3LCAyNDUsIDIzLCAyMzMsIDI3LCA5MywgMjQ3LCAxMTQsIDIwOSwgMjI0LCA5MywgCisgICAgMjQ1LCA5NiwgMjA5LCAyMjQsIDkzLCAyNDMsIDQ1LCA5MywgMjQ3LCAxNDYsIDkzLCA1OSwgNDksIDIsIDI0OCwgMTI5LCAKKyAgICA3OSwgMjI5LCAyMDUsIDI0MywgMTksIDkzLCAyNTIsIDEzOSwgMjMxLCAxNzUsIDkzLCAyMzksIDQ1LCA5MywgMzksIDE5NCwgCisgICAgMjUwLCAxMjksIDIsIDIyNCwgNDAsIDM5LCAyMTEsIDUyLCAyNDQsIDgsIDI0OSwgMTExLCAyNDcsIDIzNCwgMiwgMjI0LCAKKyAgICA0NSwgNDUsIDIwOSwgMjIyLCA5MywgMjI2LCAxNTUsIDkzLCAyMzcsIDIzNSwgOTMsIDIyMiwgMTQxLCAyMzksIDE1NCwgOTMsIAorICAgIDIyMiwgMTQxLCAyMzAsIDE1NywgOTMsIDIyMSwgMTk5LCA5MywgMjIxLCAxOTgsIDkzLCAyNDUsIDEwNCwgMjQ3LCAyNCwgCisgICAgMTYsIDI0MSwgMTM2LCAxMDUsIDIxNCwgMTg1LCA5MywgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDIxOSwgMjExLCAyNDYsIDIsIAorICAgIDIxNiwgNDAsIDIzMSwgMTc1LCA5MywgMjIwLCAxMjksIDIyMiwgMzcsIDIyNSwgODIsIDIyMiwgMzcsIDIyMCwgMTI1LCAKKyAgICAyMTcsIDk0LCA5MywgMjQ3LCAyMDksIDIxNywgOTQsIDkzLCA0NywgMjIxLCAyMTcsIDIwOSwgMjAzLCAxMDksIDQ3LCAyMjEsIAorICAgIDIxNywgMjQyLCAxNTcsIDQ3LCAyMjEsIDIxNywgMjI5LCA5MiwgMTA5LCA0OCwgMjIxLCAyMTcsIDIwOSwgMjAzLCAxMDksIAorICAgIDQ4LCAyMjEsIDIxNywgMjQyLCAxNTcsIDQ4LCAyMjEsIDIxNywgMjI5LCA5MiwgMTA5LCA0NywgNDksIDI0OSwgMTM0LCAKKyAgICAyMDksIDIwMywgMjQ3LCA5MSwgNDcsIDQ5LCAyNDksIDEzNCwgMjQyLCAxNTcsIDQ3LCA0OSwgMjQ5LCAxMzQsIDIyOSwgOTIsIAorICAgIDI0NywgOTEsIDQ4LCA0OSwgMjQ5LCAxMzQsIDIwOSwgMjAzLCAyNDcsIDkxLCA0OCwgNDksIDI0OSwgMTM0LCAyNDIsIDE1NywgCisgICAgNDgsIDQ5LCAyNDksIDEzNCwgMjI5LCA5MiwgMjQ3LCA5MSwgNDcsIDI0NywgMjYsIDI0OSwgMTM0LCAyMDksIDIwMywgMTA5LCAKKyAgICA0NywgMjQ3LCAyNiwgMjQ5LCAxMzQsIDIyNiwgMjQ3LCAyMjEsIDQ1LCA0NywgMjQ3LCAyNiwgMjQ5LCAxMzQsIDIyOSwgOTIsIAorICAgIDEwOSwgMjQ3LCAyNiwgMjQ5LCAxMzQsIDI0MiwgMTU3LCA0OCwgMjQ3LCAyNiwgMjQ5LCAxMzQsIDIwOSwgMjAzLCAxMDksIAorICAgIDQ4LCAyNDcsIDI2LCAyNDksIDEzNCwgMjI2LCAyNDcsIDIyMSwgNDUsIDQ4LCAyNDcsIDI2LCAyNDksIDEzNCwgMjI5LCA5MiwgCisgICAgMTA5LCAyMzMsIDIyLCAyNDIsIDE1NywgMTk0LCAyMjksIDIwNiwgMjQyLCAxNTcsIDIwOSwgMjAzLCA0NywgMjIyLCAxMjMsIAorICAgIDIyOSwgOTIsIDQ4LCAyNDcsIDI2LCAyNDksIDEzNCwgMjE3LCA3NiwgMjA5LCAyMDMsIDQ4LCAyMjIsIDEyMywgMjI5LCA5MiwgCisgICAgNDcsIDI0NywgMjYsIDI0OSwgMTM0LCAyMTcsIDc2LCAyMTMsIDE1OCwgMjExLCAxMDEsIDIxMywgMTU4LCAyNDksIDE1MywgCisgICAgMjExLCAxMDIsIDQ5LCAxNDUsIDI0OSwgMTU0LCA0OSwgMTQ1LCAyNDksIDE1NCwgNDksIDI0OSwgMTM0LCAxMzEsIDIxMSwgCisgICAgMTAyLCA0OSwgMTQ1LCAzNywgMTYsIDI0OSwgMTUzLCA0NywgNzksIDk2LCAyMjksIDIwNSwgNDgsIDc5LCA5NiwgMjI5LCAKKyAgICAyMDUsIDE5NCwgMjE3LCAxMTAsIDIyOSwgMjA0LCAxOTQsIDIxNywgMTEwLCAyMjksIDIwMywgMTk0LCAyMTcsIDExMCwgCisgICAgMjI5LCAyMDIsIDE5NCwgMjE3LCAxMTAsIDIyOSwgMjAxLCAyNDUsIDIxOSwgMTYsIDE0NywgNzksIDIzLCAyMTEsIDEwMiwgCisgICAgMjE4LCAxNjcsIDI0NSwgMjE5LCAxNiwgMTQ3LCA3OSwgMjMsIDI0OSwgMTU0LCAyMTgsIDE2NywgMjQ1LCAyMTksIDE2LCAKKyAgICAxNDcsIDc5LCAyLCAyNDcsIDIzMywgMjQ1LCAyMTksIDE2LCAxNDcsIDEzMCwgMjMsIDE5NCwgMiwgMjQ3LCAyMzMsIDI0NSwgCisgICAgMjE5LCAxNiwgMTQ3LCAxMjAsIDIzLCAxOTQsIDIsIDI0NywgMjMzLCAyNDUsIDIxOSwgMTYsIDE0NywgNzksIDIsIDIxMSwgCisgICAgNTEsIDI0NSwgMjE5LCAxNiwgMTQ3LCAxMzAsIDIzLCAxOTQsIDIsIDIxMSwgNTEsIDI0NSwgMjE5LCAxNiwgMTQ3LCAxMjAsIAorICAgIDIzLCAxOTQsIDIsIDIxMSwgNTEsIDI0NSwgMjE5LCAxNiwgMTQ3LCA3OSwgMjMsIDIwNywgNjQsIDI0NSwgMjE5LCAxNiwgCisgICAgMTQ3LCAxMzAsIDIzLCAxOTQsIDIsIDIwNywgNjQsIDI0NSwgMjE5LCAxNiwgMTQ3LCAxMjAsIDIzLCAxOTQsIDIsIDIwNywgCisgICAgNjQsIDI0NSwgMjE5LCAxNiwgMTQ3LCAxMzAsIDIzLCAyMzgsIDEyMSwgMjQ1LCAyMTksIDE2LCAxNDcsIDEyMCwgMjMsIAorICAgIDIzOCwgMTIxLCAyNDUsIDIxOSwgMTYsIDE0NywgNzksIDIzLCAyMTEsIDEwMiwgMjMwLCA0NiwgMjQ1LCAyMTksIDE2LCAKKyAgICAxNDcsIDc5LCAyMywgMjQ5LCAxNTQsIDIzMCwgNDYsIDQ5LCAyNDEsIDE0OCwgMjE4LCAyMjksIDkzLCAyNDMsIDc3LCA5MywgCisgICAgNzksIDIyOSwgMjA2LCAyNDIsIDE1NywgMjI3LCA1NywgMjQ5LCAxMjIsIDIyNywgNTcsIDE1MiwgMTMxLCAyMTUsIDE0MywgCisgICAgMjI3LCA1NywgMjE1LCAxNDQsIDEzMSwgMjI5LCAxMjUsIDIyNywgNTcsIDE1MiwgMTMxLCAxMTgsIDIxNSwgMTI5LCAyMjcsIAorICAgIDU3LCAxMTgsIDIxNSwgMTMwLCAxMzEsIDIyOSwgMTI1LCAyMjcsIDU3LCAxMTgsIDIxNSwgMTMwLCAyMzIsIDExOCwgMjI3LCAKKyAgICA1NywgMjExLCAzMywgMjI3LCA1NywgMjEyLCA3MiwgMjI3LCA1NywgMjIxLCAxMzgsIDI0MywgMTIxLCAyMzksIDIyMiwgCisgICAgMjQxLCA3MiwgMjExLCAxMDIsIDIyMSwgMjE2LCAyNDksIDE1NCwgMjIxLCAyMTYsIDIxMSwgMTAyLCAyNDcsIDI2LCAxNDUsIAorICAgIDI0OSwgMTU0LCAyNDcsIDI2LCAxNDUsIDIxMSwgMTAyLCAyMTEsIDkzLCAyMTUsIDIwNCwgMTQ1LCAyNDksIDE1NCwgMjExLCAKKyAgICA5MywgMjE1LCAyMDQsIDE0NSwgNTksIDIxMSwgNjUsIDI1MCwgMTcsIDIxOCwgMTQ5LCAyLCAyNDcsIDIzMywgMjEzLCAyNDIsIAorICAgIDI0MSwgMTg2LCAyNTMsIDI1LCAyNDcsIDIzLCAyNDMsIDYyLCAyMzMsIDcsIDI0NiwgMiwgMjQyLCAxNjEsIDkzLCA2MCwgCisgICAgMjE4LCAxNjIsIDUwLCAyMTEsIDUxLCA2MCwgMjMwLCA0MSwgNTAsIDIxMSwgNTEsIDYwLCAyMDksIDIwNSwgNTAsIDIxMSwgCisgICAgNTEsIDYwLCAyNDQsIDcsIDUwLCAyMTEsIDUxLCA2MCwgMjE4LCAxNjIsIDUwLCAyMTEsIDUyLCAyLCA3OSwgMTM0LCA2MCwgCisgICAgMjMwLCA0MSwgNTAsIDIxMSwgNTIsIDIsIDc5LCAxMzQsIDYwLCAyMTgsIDE2MiwgMjExLCA1MiwgMiwgNTAsIDc5LCAxMzQsIAorICAgIDI1MiwgMTc2LCAyNDcsIDE5NSwgMjEzLCAyNDgsIDIxMSwgMTc2LCAyNDcsIDE5NSwgMjM4LCA1NywgMiwgMjQxLCAxNzAsIAorICAgIDIxNywgMTQ5LCA2MCwgMjI3LCAxMDksIDIzMCwgNDEsIDIxMSwgNTEsIDYwLCAyMjcsIDEwOSwgMjE4LCAxNjIsIDIxMSwgCisgICAgNTEsIDYwLCAyMjcsIDEwOSwgMjA5LCAyMDUsIDIxMSwgNTEsIDYwLCAyMjcsIDEwOSwgMjQ0LCA3LCAyMTEsIDUxLCA1MCwgCisgICAgNzksIDEzNCwgNjAsIDQ5LCAzMywgMjEzLCAyNTEsIDYwLCAyNDcsIDIzNCwgMzMsIDIxOSwgNDIsIDE2LCAzMywgMjIzLCAKKyAgICAxODEsIDE2LCAzMywgMjE0LCAyMiwgNzMsIDIzOSwgNjYsIDE2LCAzMywgMjE0LCAyMiwgNzMsIDIxMiwgNjAsIDE2LCAzMywgCisgICAgMjQzLCAzNCwgNzMsIDIxMiwgNjAsIDE2LCAzMywgMjQzLCAzNCwgNzMsIDIxMSwgNjksIDE2LCAzMywgMjQzLCAyMSwgMTYsIAorICAgIDMzLCAyNTMsIDEzLCAxNiwgMzMsIDI1MCwgMjgsIDE2LCAzMywgMjUwLCAxNzAsIDE2LCAzMywgMTk0LCAyMTIsIDIwMywgCisgICAgMTYsIDMzLCAyMjksIDIwNiwgMjQyLCAxOSwgMTYsIDMzLCA3OSwgMjEyLCAyMDMsIDE2LCAzMywgMjQxLCAxMzYsIDI0MiwgCisgICAgMTksIDE2LCAzMywgMjQ4LCAxOTEsIDIxOCwgMjI4LCAxNiwgMzMsIDIxNSwgMTc5LCAyMjIsIDkzLCAxNiwgMzMsIDIxNSwgCisgICAgMTc5LCAyMzMsIDY4LCAxNiwgMzMsIDI0NiwgNzMsIDIyOSwgMTk2LCAyNDIsIDIxNywgMTYsIDMzLCAyNDUsIDE5OSwgMjQ3LCAKKyAgICAxMDksIDEwMiwgMTYsIDMzLCAyNDUsIDE5OSwgMjQ3LCAxMDksIDEwNSwgMTYsIDMzLCAyNDUsIDE5OSwgMjQ3LCAxMDksIAorICAgIDE0MiwgMTYsIDMzLCAyNDUsIDE5OSwgMjQ3LCAxMDksIDEzOSwgMTYsIDMzLCAxNzAsIDI1MywgMTMsIDE2LCAzMywgMjEzLCAKKyAgICAzNiwgMjMzLCAxMzEsIDE2LCAzMywgMjQzLCAzNCwgNzMsIDIxMSwgNzAsIDI0OSwgMTkzLCAxNiwgMzMsIDI0OCwgMjI0LCAKKyAgICAxNiwgMzMsIDI0MywgMzQsIDczLCAyMjcsIDEwOCwgMTYsIDMzLCAyMTMsIDE3OSwgMTYsIDMzLCAyNDIsIDIxNywgMTYsIAorICAgIDMzLCAyNDEsIDIzNiwgMjE2LCAzOSwgMTYsIDMzLCAyMzksIDIyMSwgMjE2LCAzOSwgMTYsIDMzLCAyMTksIDQzLCAyMTYsIAorICAgIDM5LCAxNiwgMzMsIDIwOSwgMjE3LCAyMTYsIDM5LCAxNiwgMzMsIDIxNCwgMTUzLCAxNiwgMzMsIDI0NSwgMjM2LCAyNDksIAorICAgIDE5NiwgOTMsIDIyMiwgMTQyLCAyNDksIDE0MCwgMTYsIDMzLCAyMjUsIDg1LCAxNiwgMzMsIDI0NSwgMjM3LCAyNDEsIDEzNiwgCisgICAgMTA1LCAxNiwgMzMsIDIxMywgMTgwLCAyNDEsIDEzNiwgMTA1LCAyMjIsIDIxNSwgMTA5LCAyMjIsIDIxNSwgMjQ4LCAxMDUsIAorICAgIDIyMiwgMjE1LCAyNDEsIDEzOSwgMjIyLCAyMTUsIDIzMywgMiwgMjQxLCAxMzksIDIyMiwgMjE1LCAyNTAsIDI1LCAyNDksIAorICAgIDk4LCAyMjIsIDIxNSwgMjQ5LCAxNDcsIDIxMSwgMjAzLCAyMjIsIDIxNSwgMjQ5LCAxMzEsIDI1MCwgMTM0LCAyMzcsIDE3MiwgCisgICAgMjIyLCAyMTUsIDI1MiwgMTI3LCA3MywgMjQ4LCA4MCwgMjIyLCAyMTUsIDI0NiwgNzgsIDIyMiwgMjE1LCAyNDcsIDEzLCAKKyAgICAyNTMsIDE3LCAyMjMsIDE3OSwgMjIyLCAyMTUsIDUwLCAyNTAsIDE3MSwgMzksIDE4LCAxMDIsIDM5LCAxOCwgMTA1LCAzOSwgCisgICAgMTgsIDE0MiwgMzksIDE4LCAxMzksIDM5LCAxOCwgMTY4LCAzOSwgMTgsIDE4NCwgMzksIDE4LCAxOTUsIDM5LCAxOCwgMTkzLCAKKyAgICAzOSwgMTgsIDIwMCwgMzksIDQzLCAyMTIsIDk4LCAzOSwgNDMsIDI0MywgNTgsIDM5LCA0MywgMjEwLCAxMjYsIDM5LCA0MywgCisgICAgMjEyLCA1LCAzOSwgNDMsIDI0MSwgMTE5LCAzOSwgNDMsIDI0MSwgMjQ3LCAzOSwgNDMsIDIxNSwgNCwgMzksIDQzLCAyMTYsIAorICAgIDIwLCAzOSwgNDMsIDI0MywgODUsIDM5LCA0MywgMjI0LCAxOTIsIDM5LCA0MywgMjEwLCAxMjMsIDk3LCAxOCwgMTAyLCA5NywgCisgICAgMTgsIDEwNSwgOTcsIDE4LCAxNDIsIDk3LCAxOCwgMTM5LCA5NywgMTgsIDE2OCwgOTcsIDE4LCAxODQsIDk3LCAxOCwgMTk1LCAKKyAgICA5NywgMTgsIDE5MywgOTcsIDE4LCAyMDAsIDk3LCA0MywgMjEyLCA5OCwgOTcsIDQzLCAyNDMsIDU4LCA5NywgNDMsIDIxMCwgCisgICAgMTI2LCA5NywgNDMsIDIxMiwgNSwgOTcsIDQzLCAyNDEsIDExOSwgOTcsIDQzLCAyNDEsIDI0NywgOTcsIDQzLCAyMTUsIDQsIAorICAgIDk3LCA0MywgMjE2LCAyMCwgOTcsIDQzLCAyNDMsIDg1LCA5NywgNDMsIDIyNCwgMTkyLCA5NywgNDMsIDIxMCwgMTIzLCAxOCwgCisgICAgMTE5LCAyNDEsIDgyLCAyMTMsIDI1MSwgMTgsIDExOCwgMjQxLCA4MiwgMjEzLCAyNTEsIDE4LCAxMjksIDI0MSwgODIsIAorICAgIDIxMywgMjUxLCAxOCwgMjQxLCAxMjUsIDI0MSwgODIsIDIxMywgMjUxLCAxOCwgMjQxLCAyMDQsIDI0MSwgODIsIDIxMywgCisgICAgMjUxLCAxOCwgMjE1LCAxMCwgMjQxLCA4MiwgMjEzLCAyNTEsIDE4LCAyMTYsIDIzLCAyNDEsIDgyLCAyMTMsIDI1MSwgMTgsIAorICAgIDI0MywgODgsIDI0MSwgODIsIDIxMywgMjUxLCAxOCwgMjI0LCAxOTUsIDI0MSwgODIsIDIxMywgMjUxLCA0MywgMjEyLCA5OSwgCisgICAgMjQxLCA4MiwgMjEzLCAyNTEsIDQzLCAyNDMsIDU5LCAyNDEsIDgyLCAyMTMsIDI1MSwgNDMsIDIxMCwgMTI3LCAyNDEsIDgyLCAKKyAgICAyMTMsIDI1MSwgNDMsIDIxMiwgNiwgMjQxLCA4MiwgMjEzLCAyNTEsIDQzLCAyNDEsIDEyMCwgMjQxLCA4MiwgMjEzLCAyNTEsIAorICAgIDQzLCAyNDEsIDI0OCwgMjQxLCA4MiwgMjEzLCAyNTEsIDQzLCAyMTUsIDUsIDI0MSwgODIsIDIxMywgMjUxLCA0MywgMjE2LCAKKyAgICAyMSwgMjQxLCA4MiwgMjEzLCAyNTEsIDQzLCAyNDMsIDg2LCAyNDEsIDgyLCAyMTMsIDI1MSwgNDMsIDIyNCwgMTkzLCAyNDEsIAorICAgIDgyLCAyMTMsIDI1MSwgNDMsIDIxMCwgMTI0LCAyNDEsIDgyLCAyMTMsIDI1MSwgOTcsIDcsIDUsIDEsIDYyLCA5NywgNywgNSwgCisgICAgMSwgMjUxLCAxNTAsIDk3LCA3LCA1LCAxLCAyNDksIDM0LCA5NywgNywgNSwgMSwgMjQ2LCAyNDAsIDk3LCA3LCA1LCAxLCAKKyAgICA3NSwgOTcsIDcsIDUsIDEsIDI0MiwgMTM5LCA5NywgNywgNSwgMSwgMjQxLCA1NSwgOTcsIDcsIDUsIDEsIDIzOSwgMTU1LCAKKyAgICA5NywgNywgNSwgMSwgNzQsIDk3LCA3LCA1LCAxLCAyMzIsIDIwMywgOTcsIDcsIDUsIDEsIDIzMiwgNzYsIDk3LCA3LCA1LCAKKyAgICAxLCAxNDksIDk3LCA3LCA1LCAxLCAyMjksIDI4LCA5NywgNywgNSwgMSwgMjI2LCAzMywgOTcsIDcsIDUsIDEsIDc2LCA5NywgCisgICAgNywgNSwgMSwgMjIyLCA2NywgOTcsIDcsIDUsIDEsIDIyMCwgMjcsIDk3LCA3LCA1LCAxLCAxMzcsIDk3LCA3LCA1LCAxLCAKKyAgICAxODIsIDk3LCA3LCA1LCAxLCAyMTMsIDEwLCA5NywgNywgNSwgMSwgNzEsIDk3LCA3LCA1LCAxLCAyMDksIDE0OCwgOTcsIDcsIAorICAgIDUsIDEsIDIwNywgMTI5LCA5NywgNywgNSwgMSwgMjA2LCAxOTUsIDk3LCA3LCA1LCAxLCAyMDYsIDEyMywgOTcsIDcsIDUsIAorICAgIDEsIDIwNSwgMTU5LCAzOSwgNywgNiwgMSwgNjIsIDM5LCA3LCA2LCAxLCAyNTEsIDE1MCwgMzksIDcsIDYsIDEsIDI0OSwgCisgICAgMzQsIDM5LCA3LCA2LCAxLCAyNDYsIDI0MCwgMzksIDcsIDYsIDEsIDc1LCAzOSwgNywgNiwgMSwgMjQyLCAxMzksIDM5LCA3LCAKKyAgICA2LCAxLCAyNDEsIDU1LCAzOSwgNywgNiwgMSwgMjM5LCAxNTUsIDM5LCA3LCA2LCAxLCA3NCwgMzksIDcsIDYsIDEsIDIzMiwgCisgICAgMjAzLCAzOSwgNywgNiwgMSwgMjMyLCA3NiwgMzksIDcsIDYsIDEsIDE0OSwgMzksIDcsIDYsIDEsIDIyOSwgMjgsIDM5LCA3LCAKKyAgICA2LCAxLCAyMjYsIDMzLCAzOSwgNywgNiwgMSwgNzYsIDM5LCA3LCA2LCAxLCAyMjIsIDY3LCAzOSwgNywgNiwgMSwgMjIwLCAKKyAgICAyNywgMzksIDcsIDYsIDEsIDEzNywgMzksIDcsIDYsIDEsIDE4MiwgMzksIDcsIDYsIDEsIDIxMywgMTAsIDM5LCA3LCA2LCAKKyAgICAxLCA3MSwgMzksIDcsIDYsIDEsIDIwOSwgMTQ4LCAzOSwgNywgNiwgMSwgMjA3LCAxMjksIDM5LCA3LCA2LCAxLCAyMDYsIAorICAgIDE5NSwgMzksIDcsIDYsIDEsIDIwNiwgMTIzLCAzOSwgNywgNiwgMSwgMjA1LCAxNTksIDM5LCA3LCA1LCAxLCA2MiwgMzksIAorICAgIDcsIDUsIDEsIDI1MSwgMTUwLCAzOSwgNywgNSwgMSwgMjQ5LCAzNCwgMzksIDcsIDUsIDEsIDI0NiwgMjQwLCAzOSwgNywgNSwgCisgICAgMSwgNzUsIDM5LCA3LCA1LCAxLCAyNDIsIDEzOSwgMzksIDcsIDUsIDEsIDI0MSwgNTUsIDM5LCA3LCA1LCAxLCAyMzksIAorICAgIDE1NSwgMzksIDcsIDUsIDEsIDc0LCAzOSwgNywgNSwgMSwgMjMyLCAyMDMsIDM5LCA3LCA1LCAxLCAyMzIsIDc2LCAzOSwgNywgCisgICAgNSwgMSwgMTQ5LCAzOSwgNywgNSwgMSwgMjI5LCAyOCwgMzksIDcsIDUsIDEsIDIyNiwgMzMsIDM5LCA3LCA1LCAxLCA3NiwgCisgICAgMzksIDcsIDUsIDEsIDIyMiwgNjcsIDM5LCA3LCA1LCAxLCAyMjAsIDI3LCAzOSwgNywgNSwgMSwgMTM3LCAzOSwgNywgNSwgCisgICAgMSwgMTgyLCAzOSwgNywgNSwgMSwgMjEzLCAxMCwgMzksIDcsIDUsIDEsIDcxLCAzOSwgNywgNSwgMSwgMjA5LCAxNDgsIDM5LCAKKyAgICA3LCA1LCAxLCAyMDcsIDEyOSwgMzksIDcsIDUsIDEsIDIwNiwgMTk1LCAzOSwgNywgNSwgMSwgMjA2LCAxMjMsIDM5LCA3LCAKKyAgICA1LCAxLCAyMDUsIDE1OSwgMzksIDE4LCAyMDUsIDg1LCAxNzAsIDM5LCA0MywgMjQzLCA1OCwgMTcwLCAzOSwgNDMsIDIxMCwgCisgICAgMTI2LCAxNzAsIDM5LCA0MywgMjEyLCA1LCAxNzAsIDM5LCA0MywgMjQxLCAxMTksIDE3MCwgMzksIDQzLCAyNDEsIDI0NywgCisgICAgMTcwLCAzOSwgNDMsIDIxNSwgNCwgMTcwLCAzOSwgNDMsIDIxNiwgMjAsIDE3MCwgMzksIDQzLCAyNDMsIDg1LCAxNzAsIDM5LCAKKyAgICA0MywgMjI0LCAxOTIsIDE3MCwgMzksIDQzLCAyMTAsIDEyMywgNTAsIDM5LCAxOCwgMTAyLCA1MCwgMzksIDE4LCAxMDUsIAorICAgIDUwLCAzOSwgMTgsIDE0MiwgNTAsIDM5LCAxOCwgMTM5LCA1MCwgMzksIDE4LCAxNjgsIDUwLCAzOSwgMTgsIDE4NCwgNTAsIAorICAgIDM5LCAxOCwgMTk1LCA1MCwgMzksIDE4LCAxOTMsIDUwLCAzOSwgMTgsIDIwMCwgNTAsIDM5LCA0MywgMjEyLCA5OCwgMTcwLCAKKyAgICAzOSwgMTgsIDIwNSwgODUsIDk2LCAxMTAsIDE0NywgMjM4LCAxMjEsIDk2LCAxMTAsIDc3LCAyMzgsIDEyMSwgOTYsIDExMCwgCisgICAgMTQ3LCAyMDksIDIyLCA5NiwgMTEwLCA3NywgMjA5LCAyMiwgOTYsIDExMCwgMTQ3LCAyMTEsIDM2LCAyNDYsIDc5LCAyMzgsIAorICAgIDEyMSwgOTYsIDExMCwgNzcsIDIxMSwgMzYsIDI0NiwgNzksIDIzOCwgMTIxLCA5NiwgMTEwLCAxNDcsIDIxMSwgMzYsIDI0NiwgCisgICAgNzksIDIwOSwgMjIsIDk2LCAxMTAsIDc3LCAyMTEsIDM2LCAyNDYsIDc5LCAyMDksIDIyLCA5NiwgMTEwLCAxNDcsIDIxOSwgCisgICAgMjA3LCAyNDYsIDc5LCAyMzgsIDEyMSwgOTYsIDExMCwgNzcsIDIxOSwgMjA3LCAyNDYsIDc5LCAyMzgsIDEyMSwgOTYsIAorICAgIDExMCwgMTQ3LCAyMTksIDIwNywgMjQ2LCA3OSwgMjA5LCAyMiwgOTYsIDExMCwgNzcsIDIxOSwgMjA3LCAyNDYsIDc5LCAKKyAgICAyMDksIDIyLCA5NiwgMTEwLCAxNDcsIDEzMCwgMjMsIDIxOCwgMTY3LCA5NiwgMTEwLCAxMzAsIDE0NywgMjMsIDQ4LCAyMzksIAorICAgIDU0LCA5NiwgMTEwLCAxMzAsIDc3LCAyMywgNDgsIDIyOSwgMjIzLCA5NiwgMTEwLCA3NywgMTMwLCAyMywgMjE4LCAxNjcsIAorICAgIDk2LCAxMTAsIDE0NywgMTMwLCAyMywgMjMwLCA0NiwgOTYsIDExMCwgMTMwLCAxNDcsIDIzLCA0NywgMjM5LCA1NCwgOTYsIAorICAgIDExMCwgMTMwLCA3NywgMjMsIDQ3LCAyMjksIDIyMywgOTYsIDExMCwgNzcsIDEzMCwgMjMsIDIzMCwgNDYsIDk2LCAxMTAsIAorICAgIDE0NywgMTIwLCAyMywgMjE4LCAxNjcsIDk2LCAxMTAsIDEyMCwgMTQ3LCAyMywgNDgsIDIzOSwgNTQsIDk2LCAxMTAsIDEyMCwgCisgICAgNzcsIDIzLCA0OCwgMjI5LCAyMjMsIDk2LCAxMTAsIDc3LCAxMjAsIDIzLCAyMTgsIDE2NywgOTYsIDExMCwgMTQ3LCAxMjAsIAorICAgIDIzLCAyMzAsIDQ2LCA5NiwgMTEwLCAxMjAsIDE0NywgMjMsIDQ3LCAyMzksIDU0LCA5NiwgMTEwLCAxMjAsIDc3LCAyMywgCisgICAgNDcsIDIyOSwgMjIzLCA5NiwgMTEwLCA3NywgMTIwLCAyMywgMjMwLCA0NiwgOTYsIDExMCwgMTQ3LCA3OSwgMjMsIDIxOCwgCisgICAgMTY3LCA5NiwgMTEwLCA3OSwgMTQ3LCAyMywgNDgsIDIzOSwgNTQsIDk2LCAxMTAsIDEyMCwgNzcsIDIzLCA0OCwgMTMwLCAKKyAgICAyMjksIDIyMywgOTYsIDExMCwgMTMwLCA3NywgMjMsIDQ4LCAxMjAsIDIyOSwgMjIzLCA5NiwgMTEwLCA3OSwgNzcsIDIzLCAKKyAgICA0OCwgMjI5LCAyMjMsIDk2LCAxMTAsIDEzMCwgMTQ3LCAyMywgNDgsIDEyMCwgMjM5LCA1NCwgOTYsIDExMCwgMTIwLCAxNDcsIAorICAgIDIzLCA0OCwgMTMwLCAyMzksIDU0LCA5NiwgMTEwLCA3NywgNzksIDIzLCAyMTgsIDE2NywgOTYsIDExMCwgMTQ3LCA3OSwgCisgICAgMjMsIDIzMCwgNDYsIDk2LCAxMTAsIDc5LCAxNDcsIDIzLCA0NywgMjM5LCA1NCwgOTYsIDExMCwgMTIwLCA3NywgMjMsIDQ3LCAKKyAgICAxMzAsIDIyOSwgMjIzLCA5NiwgMTEwLCAxMzAsIDc3LCAyMywgNDcsIDEyMCwgMjI5LCAyMjMsIDk2LCAxMTAsIDc5LCA3NywgCisgICAgMjMsIDQ3LCAyMjksIDIyMywgOTYsIDExMCwgMTMwLCAxNDcsIDIzLCA0NywgMTIwLCAyMzksIDU0LCA5NiwgMTEwLCAxMjAsIAorICAgIDE0NywgMjMsIDQ3LCAxMzAsIDIzOSwgNTQsIDk2LCAxMTAsIDc3LCA3OSwgMjMsIDIzMCwgNDYsIDk2LCAxMTAsIDE0NywgCisgICAgMTMwLCAyMywgMjM4LCAxMjEsIDk2LCAxMTAsIDQ3LCA3NywgMjMsIDQ4LCAxMzAsIDIyOSwgMjIzLCA5NiwgMTEwLCA0OCwgCisgICAgNzcsIDIzLCA0NywgMTMwLCAyMjksIDIyMywgOTYsIDExMCwgMTMwLCAxNDcsIDIzLCAxOTQsIDIzOSwgNTQsIDk2LCAxMTAsIAorICAgIDEzMCwgNzcsIDIzLCAxOTQsIDIyOSwgMjIzLCA5NiwgMTEwLCA0OCwgMTQ3LCAyMywgNDcsIDEzMCwgMjM5LCA1NCwgOTYsIAorICAgIDExMCwgNDcsIDE0NywgMjMsIDQ4LCAxMzAsIDIzOSwgNTQsIDk2LCAxMTAsIDc3LCAxMzAsIDIzLCAyMzgsIDEyMSwgOTYsIAorICAgIDExMCwgMTQ3LCAxMjAsIDIzLCAyMzgsIDEyMSwgOTYsIDExMCwgNDcsIDc3LCAyMywgNDgsIDEyMCwgMjI5LCAyMjMsIDk2LCAKKyAgICAxMTAsIDQ4LCA3NywgMjMsIDQ3LCAxMjAsIDIyOSwgMjIzLCA5NiwgMTEwLCAxMjAsIDE0NywgMjMsIDE5NCwgMjM5LCA1NCwgCisgICAgOTYsIDExMCwgMTIwLCA3NywgMjMsIDE5NCwgMjI5LCAyMjMsIDk2LCAxMTAsIDQ4LCAxNDcsIDIzLCA0NywgMTIwLCAyMzksIAorICAgIDU0LCA5NiwgMTEwLCA0NywgMTQ3LCAyMywgNDgsIDEyMCwgMjM5LCA1NCwgOTYsIDExMCwgNzcsIDEyMCwgMjMsIDIzOCwgCisgICAgMTIxLCA5NiwgMTEwLCAxNDcsIDc5LCAyMywgMjM4LCAxMjEsIDk2LCAxMTAsIDQ3LCA3NywgMjMsIDQ4LCA3OSwgMjI5LCAKKyAgICAyMjMsIDk2LCAxMTAsIDQ4LCA3NywgMjMsIDQ3LCA3OSwgMjI5LCAyMjMsIDk2LCAxMTAsIDc5LCAxNDcsIDIzLCAxOTQsIAorICAgIDIzOSwgNTQsIDk2LCAxMTAsIDEyMCwgNzcsIDIzLCAxMzAsIDE5NCwgMjI5LCAyMjMsIDk2LCAxMTAsIDEzMCwgNzcsIDIzLCAKKyAgICAxMjAsIDE5NCwgMjI5LCAyMjMsIDk2LCAxMTAsIDc5LCA3NywgMjMsIDE5NCwgMjI5LCAyMjMsIDk2LCAxMTAsIDQ3LCAxMjAsIAorICAgIDc3LCAyMywgNDgsIDEzMCwgMjI5LCAyMjMsIDk2LCAxMTAsIDQ4LCAxMjAsIDc3LCAyMywgNDcsIDEzMCwgMjI5LCAyMjMsIAorICAgIDk2LCAxMTAsIDQ3LCAxMzAsIDc3LCAyMywgNDgsIDEyMCwgMjI5LCAyMjMsIDk2LCAxMTAsIDQ4LCAxMzAsIDc3LCAyMywgCisgICAgNDcsIDEyMCwgMjI5LCAyMjMsIDk2LCAxMTAsIDEzMCwgMTQ3LCAyMywgMTIwLCAxOTQsIDIzOSwgNTQsIDk2LCAxMTAsIAorICAgIDEyMCwgMTQ3LCAyMywgMTMwLCAxOTQsIDIzOSwgNTQsIDk2LCAxMTAsIDQ4LCAxNDcsIDIzLCA0NywgNzksIDIzOSwgNTQsIAorICAgIDk2LCAxMTAsIDQ3LCAxNDcsIDIzLCA0OCwgNzksIDIzOSwgNTQsIDk2LCAxMTAsIDc3LCA3OSwgMjMsIDIzOCwgMTIxLCA5NiwgCisgICAgMTEwLCAxNDcsIDUwLCAyNDYsIDc5LCAyMzgsIDEyMSwgOTYsIDExMCwgNzcsIDUwLCAyNDYsIDc5LCAyMzgsIDEyMSwgOTYsIAorICAgIDExMCwgMTQ3LCA1MCwgMjQ2LCA3OSwgMjA5LCAyMiwgOTYsIDExMCwgNzcsIDUwLCAyNDYsIDc5LCAyMDksIDIyLCA5NiwgCisgICAgMTEwLCA1MCwgMjM4LCAxMjEsIDk2LCAxMTAsIDUwLCAyMDksIDIyLCA5NiwgMTEwLCAxMzAsIDIxNSwgNDEsIDIzLCA0OCwgCisgICAgMjQ0LCAxNiwgOTYsIDExMCwgMTMwLCA1MCwgMjMsIDQ4LCAyMTUsIDQwLCA5NiwgMTEwLCA1MCwgMTMwLCAyMywgMjE4LCAKKyAgICAxNjcsIDk2LCAxMTAsIDEzMCwgMjE1LCA0MSwgMjMsIDQ3LCAyNDQsIDE2LCA5NiwgMTEwLCAxMzAsIDUwLCAyMywgNDcsIAorICAgIDIxNSwgNDAsIDk2LCAxMTAsIDUwLCAxMzAsIDIzLCAyMzAsIDQ2LCA5NiwgMTEwLCAxMjAsIDIxNSwgNDEsIDIzLCA0OCwgCisgICAgMjQ0LCAxNiwgOTYsIDExMCwgMTIwLCA1MCwgMjMsIDQ4LCAyMTUsIDQwLCA5NiwgMTEwLCA1MCwgMTIwLCAyMywgMjE4LCAKKyAgICAxNjcsIDk2LCAxMTAsIDEyMCwgMjE1LCA0MSwgMjMsIDQ3LCAyNDQsIDE2LCA5NiwgMTEwLCAxMjAsIDUwLCAyMywgNDcsIAorICAgIDIxNSwgNDAsIDk2LCAxMTAsIDUwLCAxMjAsIDIzLCAyMzAsIDQ2LCA5NiwgMTEwLCA3OSwgMjE1LCA0MSwgMjMsIDQ4LCAKKyAgICAyNDQsIDE2LCA5NiwgMTEwLCA3OSwgNTAsIDIzLCA0OCwgMjE1LCA0MCwgOTYsIDExMCwgNTAsIDc5LCAyMywgMjE4LCAxNjcsIAorICAgIDk2LCAxMTAsIDc5LCAyMTUsIDQxLCAyMywgNDcsIDI0NCwgMTYsIDk2LCAxMTAsIDc5LCA1MCwgMjMsIDQ3LCAyMTUsIDQwLCAKKyAgICA5NiwgMTEwLCA1MCwgNzksIDIzLCAyMzAsIDQ2LCA5NiwgMTEwLCAxMzAsIDIxNSwgNDEsIDIzLCAxOTQsIDI0NCwgMTYsIAorICAgIDk2LCAxMTAsIDEzMCwgNTAsIDIzLCAxOTQsIDIxNSwgNDAsIDk2LCAxMTAsIDUwLCAxMzAsIDIzLCAyMzgsIDEyMSwgOTYsIAorICAgIDExMCwgMTIwLCAyMTUsIDQxLCAyMywgMTk0LCAyNDQsIDE2LCA5NiwgMTEwLCAxMjAsIDUwLCAyMywgMTk0LCAyMTUsIDQwLCAKKyAgICA5NiwgMTEwLCA1MCwgMTIwLCAyMywgMjM4LCAxMjEsIDk2LCAxMTAsIDc5LCAyMTUsIDQxLCAyMywgMTk0LCAyNDQsIDE2LCAKKyAgICA5NiwgMTEwLCA3OSwgNTAsIDIzLCAxOTQsIDIxNSwgNDAsIDk2LCAxMTAsIDUwLCA3OSwgMjMsIDIzOCwgMTIxLCA5NiwgCisgICAgMTEwLCAxNDcsIDI1MiwgMjIsIDEzMCwgMjMsIDIxOCwgMTY3LCA5NiwgMTEwLCAxNDcsIDI1MiwgMjIsIDEzMCwgMjMsIAorICAgIDIzMCwgNDYsIDk2LCAxMTAsIDE0NywgMjUyLCAyMiwgMTIwLCAyMywgMjMwLCA0NiwgOTYsIDExMCwgMTQ3LCAyNTIsIDIyLCAKKyAgICAxMjAsIDIzLCAyMTgsIDE2NywgOTYsIDExMCwgMTQ3LCAyNDUsIDE2MywgMjA5LCAyMDMsIDQ4LCAyMTEsIDEzMCwgMjI5LCAKKyAgICA5MiwgMjMwLCA0NiwgOTYsIDExMCwgMTQ3LCAyNDUsIDE2MywgMjA5LCAyMDMsIDQ3LCAyMTEsIDEzMCwgMjI5LCA5MiwgCisgICAgMjE4LCAxNjcsIDk2LCAxMTAsIDE0NywgMjQ1LCAxNjMsIDI0NywgNTksIDk2LCAxMTAsIDE0NywgMjMwLCA0NiwgOTYsIAorICAgIDExMCwgMTQ3LCAyMDksIDIwNiwgOTYsIDExMCwgMTQ3LCAyMTgsIDE2NywgOTYsIDExMCwgMTQ3LCAyNDQsIDgsIDk2LCAKKyAgICAxMTAsIDc3LCAyMzAsIDQ2LCA5NiwgMTEwLCA3NywgMjA5LCAyMDYsIDk2LCAxMTAsIDc3LCAyMTgsIDE2NywgOTYsIDExMCwgCisgICAgNzcsIDI0NCwgOCwgOTYsIDExMCwgMTQ3LCA0NywgMjMsIDc3LCAyMTgsIDE2NywgOTYsIDExMCwgMTQ3LCAxMjAsIDIzLCAKKyAgICA3NywgMjQ0LCA4LCA5NiwgMTEwLCA3NywgNDcsIDIzLCAxNDcsIDIxOCwgMTY3LCA5NiwgMTEwLCA3NywgMTIwLCAyMywgCisgICAgMTQ3LCAyNDQsIDgsIDIwOSwgMjAzLCAxNjAsIDI0OSwgMTkzLCAyMjksIDkyLCAxMTksIDI0MywgODQsIDI0OSwgMTkzLCAKKyAgICAyMjksIDkyLCAxMTksIDIxOSwgMjA1LCAyNDksIDE5MywgMjI5LCA5MiwgMTI5LCAyNDMsIDgyLCAyNDksIDE5MywgMjI5LCAKKyAgICA5MiwgMTYwLCAyNDksIDE5MywgMjI5LCA5MiwgMjQxLCAyMDQsIDI0MywgODIsIDI0OSwgMTkzLCAyMjksIDkyLCAxMjksIAorICAgIDIxOSwgMjAzLCAyNDksIDE5MywgMjI5LCA5MiwgMjE2LCAyMywgMjQzLCA4MiwgMjQ5LCAxOTMsIDI0MSwgODIsIDI0OSwgCisgICAgMTkzLCA0NywgMjE2LCAyMywgMjQzLCA4MiwgMjQ5LCAxOTMsIDQ3LCAxMjksIDIxOSwgMjAzLCAyNDksIDE5MywgNDcsIAorICAgIDI0MSwgMjA0LCAyNDMsIDgyLCAyNDksIDE5MywgNDcsIDE2MCwgMjQ5LCAxOTMsIDQ3LCAxMjksIDI0MywgODIsIDI0OSwgCisgICAgMTkzLCA0NywgMTE5LCAyMTksIDIwNSwgMjQ5LCAxOTMsIDQ3LCAxMTksIDI0MywgODQsIDI0OSwgMTkzLCA0OCwgMTYwLCAKKyAgICAyNDksIDE5MywgMTQ3LCAyMTUsIDI0OCwgMjI3LCAxMDksIDIxNSwgMjQ4LCAyNDYsIDg0LCAyMTUsIDI0OCwgMjA5LCAyMDMsIAorICAgIDExOSwgMjQzLCA4NCwgMjQ5LCAxOTMsIDQ4LCAxMTksIDI0MywgODQsIDI0OSwgMTkzLCAyMTksIDIwOSwgMjI5LCA5MiwgCisgICAgMjMwLCA0NiwgMjE5LCAyMDksIDIyOSwgOTIsIDIxOCwgMTY3LCAyMTksIDIwOSwgMjA5LCAyMDMsIDIzMCwgNDYsIDIxOSwgCisgICAgMjA5LCAyMDksIDIwMywgNDcsIDIzLCAyMjksIDkyLCA0NywgMjMsIDIyOSwgOTIsIDIxOCwgMTY3LCAyMTksIDIwOSwgMjA5LCAKKyAgICAyMDMsIDQ3LCAyMywgMjI5LCA5MiwgMjE4LCAxNjcsIDIxOSwgMjA5LCAyMDksIDIwMywgNDcsIDIzLCAyMDksIDIwMywgNDgsIAorICAgIDIzLCAyMjksIDkyLCAyMzAsIDQ2LCAyMTksIDIwOSwgMjA5LCAyMDMsIDQ3LCAyMywgMjA5LCAyMDMsIDQ4LCAyMywgMjI5LCAKKyAgICA5MiwgMjE4LCAxNjcsIDIxOSwgMjA5LCAyMDksIDIwMywgMjE4LCAxNjcsIDIxOSwgMjA5LCAyMDksIDIwMywgNDgsIDIzLCAKKyAgICAyMjksIDkyLCAyMzAsIDQ2LCAyMTksIDIwOSwgMjA5LCAyMDMsIDQ4LCAyMywgMjI5LCA5MiwgNDcsIDIzLCAyMjksIDkyLCAKKyAgICAyMTgsIDE2NywgNjAsIDIxNCwgMTA3LCA1OSwgMjE0LCAxMDcsIDU5LCA0OSwgMiwgMjE4LCA5MywgMjQ3LCA5MCwgNTksIAorICAgIDQ5LCAyNDcsIDExOSwgNjAsIDUsIDIxNCwgMTA3LCA0OSwgMiwgMTk0LCAyNDEsIDIzNCwgNDksIDIsIDc5LCAyNDEsIDIzNCwgCisgICAgNDksIDIsIDIyMiwgMTA4LCAyNDcsIDU1LCAyNDEsIDIzNCwgNDksIDIsIDIwOSwgMjAzLCA0NywgMjExLCAxMzAsIDIyOSwgCisgICAgOTIsIDQ4LCAyNDEsIDIzNCwgNDksIDIsIDIwOSwgMjAzLCA0OCwgMjExLCAxMzAsIDIyOSwgOTIsIDQ3LCAyNDEsIDIzNCwgCisgICAgNDksIDIsIDI0NSwgMTYzLCAyNDcsIDU1LCAyNDEsIDIzNCwgNjAsIDUsIDIxNCwgMTA3LCA1OSwgNSwgMjE0LCAxMDcsIDYwLCAKKyAgICAyMTksIDM3LCA1OSwgMjE5LCAzNywgNjAsIDc5LCAyMTksIDM3LCA1OSwgNzksIDIxOSwgMzcsIDYwLCAyMjEsIDIyMCwgNTksIAorICAgIDIyMSwgMjIwLCA2MCwgMjA5LCAyMDUsIDIxMSwgNTEsIDU5LCAyMDksIDIwNSwgMjExLCA1MSwgNjAsIDIwOSwgMjA1LCA1LCAKKyAgICAyMTEsIDUxLCA1OSwgMjA5LCAyMDUsIDUsIDIxMSwgNTEsIDYwLCAyMTgsIDE2MiwgMjExLCA1MSwgNTksIDIxOCwgMTYyLCAKKyAgICAyMTEsIDUxLCA2MCwgMjE4LCAxNjIsIDUsIDIxMSwgNTEsIDU5LCAyMTgsIDE2MiwgNSwgMjExLCA1MSwgNjAsIDIxOCwgCisgICAgMTYyLCAyMjAsIDIwMiwgNTksIDIxOCwgMTYyLCAyMjAsIDIwMiwgNjAsIDI0NCwgNywgMjExLCA1MSwgNTksIDI0NCwgNywgCisgICAgMjExLCA1MSwgNjAsIDI0NCwgNywgNSwgMjExLCA1MSwgNTksIDI0NCwgNywgNSwgMjExLCA1MSwgNjAsIDIzMCwgNDEsIAorICAgIDIxMSwgNTEsIDU5LCAyMzAsIDQxLCAyMTEsIDUxLCA2MCwgMjMwLCA0MSwgNSwgMjExLCA1MSwgNTksIDIzMCwgNDEsIDUsIAorICAgIDIxMSwgNTEsIDYwLCAyMzAsIDQxLCAyMjAsIDIwMiwgNTksIDIzMCwgNDEsIDIyMCwgMjAyLCA2MCwgMjQ1LCAxNTYsIDU5LCAKKyAgICAyNDUsIDE1NiwgNTksIDI0NSwgMTU3LCAyNDcsIDExOSwgNjAsIDUsIDI0NSwgMTU2LCAyNDEsIDIxMiwgMjI5LCA4OCwgNTksIAorICAgIDI0NywgMjMzLCAyNDQsIDIxLCAyNDcsIDIzMywgMjQ3LCAyMzQsIDIsIDc5LCAyNDEsIDIzNCwgMjQ5LCA4MSwgNjAsIDI0NywgCisgICAgMjMzLCAyNDcsIDIzNCwgMiwgNDcsIDE2MCwgMjQ5LCAyMDIsIDI0NywgMjM0LCAyLCA0OCwgMTYwLCAyNDksIDIwMiwgMjQ3LCAKKyAgICAyMzQsIDIsIDIyOSwgOTIsIDE2MCwgMjQ5LCAyMDIsIDI0NywgMjM0LCAyLCAyMDksIDIwMywgMTYwLCAyNDksIDIwMiwgCisgICAgMjQ3LCAyMzQsIDIsIDIwOSwgMjAzLCA0OCwgMjE5LCAyMDksIDI0OSwgMjAyLCAyNDcsIDIzNCwgMiwgMjUyLCAxNTcsIAorICAgIDI0OSwgNTcsIDIwOSwgMjAzLCA0NywgMjE5LCAyMDksIDI0OSwgMjAyLCA0NywgMTYwLCA2MCwgMjQ3LCAyMzMsIDQ4LCAKKyAgICAxNjAsIDYwLCAyNDcsIDIzMywgMjMzLCAzLCAyNDksIDg1LCAyMzMsIDMsIDU5LCAyNDcsIDIzMywgMjA5LCAyMDMsIDE2MCwgCisgICAgMjMzLCAzLCA1OSwgMjQ3LCAyMzMsIDIyOSwgOTIsIDE2MCwgMjMzLCAzLCA1OSwgMjQ3LCAyMzMsIDIwOSwgMjAzLCA0NywgCisgICAgMjE5LCAyMDksIDI0NywgMjMwLCAyNTIsIDIxLCAyMDksIDIwMywgNDgsIDIxOSwgMjA5LCAyNDcsIDIzMCwgMjUyLCAyMSwgCisgICAgMjI5LCA5MiwgNDgsIDIxOSwgMjA5LCAyNDcsIDIzMCwgMjUyLCAyMSwgMjI5LCA5MiwgNDcsIDIxOSwgMjA5LCAyNDcsIAorICAgIDIzMCwgMjUyLCAyMSwgMjA5LCAyMDMsIDE2MCwgMjQ3LCAyMzMsIDIyOSwgOTIsIDE2MCwgMjQ3LCAyMzMsIDYwLCAyMjksIAorICAgIDkyLCA0OCwgMjExLCA1MSwgNjAsIDIyOSwgOTIsIDQ3LCAyMTEsIDUxLCA2MCwgMjA5LCAyMDMsIDQ3LCAyMTEsIDUxLCA2MCwgCisgICAgMjA5LCAyMDMsIDQ4LCAyMTEsIDUxLCA1OSwgMjQ5LCA4NSwgNDksIDIsIDQ3LCAxNjAsIDI0OSwgMjAyLCA0OSwgMiwgNDgsIAorICAgIDE2MCwgMjQ5LCAyMDIsIDQ5LCAyLCAyMDksIDIwMywgNDcsIDI0NSwgMTYzLCAxNjAsIDI0OSwgMjAyLCA0OSwgMiwgMjI5LCAKKyAgICA5MiwgNDgsIDI0NSwgMTYzLCAxNjAsIDI0OSwgMjAyLCA1OSwgNDksIDIsIDc5LCAyNDksIDIxMywgMjI5LCAyMDUsIDU5LCAKKyAgICAyMDksIDIwNSwgMjExLCA1MiwgMiwgMjQ1LCAyMywgMjA5LCAyMDUsIDIxMSwgNTIsIDIsIDQ3LCAxNjAsIDI0OSwgMjAyLCAKKyAgICAyMDksIDIwNSwgMjExLCA1MiwgMiwgNDgsIDE2MCwgMjQ5LCAyMDIsIDIzMCwgODYsIDI0NywgMjMzLCA1OSwgNDksIDIsIAorICAgIDIwOSwgMjAzLCA0NywgMjE5LCAyMDgsIDU5LCA0OSwgMiwgMjI5LCA5MiwgNDcsIDIxOSwgMjA4LCA1OSwgNDksIDIsIDIyOSwgCisgICAgOTIsIDQ4LCAyMTksIDIwOCwgNTksIDQ5LCAyLCAyMDksIDIwMywgNDgsIDIxOSwgMjA4LCA1OSwgMjQ3LCAyMzQsIDIsIAorICAgIDIwOSwgMjAzLCA0NywgMjE5LCAyMDgsIDU5LCAyNDcsIDIzNCwgMiwgMjI5LCA5MiwgNDcsIDIxOSwgMjA4LCA1OSwgMjQ3LCAKKyAgICAyMzQsIDIsIDIyOSwgOTIsIDQ4LCAyMTksIDIwOCwgNTksIDI0NywgMjM0LCAyLCAyMDksIDIwMywgNDgsIDIxOSwgMjA4LCAKKyAgICAyMDksIDIwMywgNDcsIDIxMSwgNTEsIDIwOSwgMjAzLCA0OCwgMjExLCA1MSwgMjI5LCA5MiwgNDcsIDIxMSwgNTEsIDU5LCAKKyAgICAyMjcsIDEwOSwgMjE0LCAxMDcsIDYwLCAyMjcsIDEwOSwgMjE0LCAxMDcsIDU5LCAyMjcsIDEwOSwgNSwgMjE0LCAxMDcsIAorICAgIDYwLCAyMjcsIDEwOSwgNSwgMjE0LCAxMDcsIDIyOSwgOTIsIDQ4LCAyMTEsIDUxLCA2MCwgMjEzLCAxNTUsIDIsIDIxOSwgCisgICAgNTUsIDI0NywgMTgzLCAyMDksIDIzOCwgMjE0LCAxOTUsIDI0NywgMTU4LCA2MCwgMjE0LCAyNiwgNTksIDIxNCwgMjYsIAorICAgIDIyOSwgMjIwLCAyMTEsIDIyNiwgMjEzLCAxNTQsIDI1MSwgMjI4LCAyMjQsIDY0LCAyNDUsIDIxMCwgMjI0LCA2NCwgMjQ3LCAKKyAgICAxMjgsIDIyMiwgMTI4LCA2MCwgMjEyLCAxMDcsIDU5LCAyMTIsIDEwNywgMjUwLCAxNDYsIDI0OSwgMTQwLCAyNTAsIDE0NiwgCisgICAgOTYsIDIsIDI0OCwgODAsIDI1MCwgMTQ2LCA5NiwgMiwgMjA2LCAxOTUsIDIxNywgMTYyLCAyMDksIDIzOSwgMiwgMjE5LCAKKyAgICA4NCwgMjQzLCAyNDMsIDIzOCwgNjMsIDI1MCwgNCwgNTksIDIxNSwgMTUzLCAyMjEsIDQ1LCA2MCwgMjE1LCAxNTMsIDIyMSwgCisgICAgNDUsIDIxNSwgMjM5LCAyMTgsIDIyNCwgMjE4LCA5NywgMjQxLCAxNzYsIDIzOSwgNjEsIDI0OSwgODUsIDYwLCA0NywgMjIwLCAKKyAgICAyMDEsIDIzMywgNTMsIDYwLCA0OCwgMjIwLCAyMDEsIDIzMywgNTMsIDU5LCA0NywgMjIwLCAyMDEsIDIzMywgNTMsIDU5LCAKKyAgICAxMjAsIDIyMCwgMjAxLCAyMzMsIDUzLCA1OSwgNDgsIDIyMCwgMjAxLCAyMzMsIDUzLCA1OSwgMTMwLCAyMjAsIDIwMSwgCisgICAgMjMzLCA1MywgMjE0LCAyNDEsIDIzLCAyNDcsIDU4LCAyNDgsIDE3NywgNTMsIDIxOSwgOTYsIDUzLCAyNDksIDIyMCwgNTMsIAorICAgIDI0OCwgMjQ4LCAyNTIsIDEwMSwgMjIyLCAxMDksIDI0NywgNTksIDI0OCwgNTksIDIxOCwgMjEwLCAyNDcsIDYwLCA3MywgCisgICAgMjI5LCAxMDYsIDI0NywgNjAsIDczLCAyMzIsIDE3MiwgMjE0LCAyNywgMjMsIDI0NywgNjUsIDI0MiwgNDIsIDkzLCAyNTIsIAorICAgIDI1NCwgMjE1LCAyNDEsIDIzOSwgMTE1LCAyMywgMjE1LCA3NywgMjIxLCAxNzMsIDkzLCAyMDYsIDEsIDIwNiwgNzUsIDIxMSwgCisgICAgNDEsIDMzLCAyMzksIDU2LCAyMTEsIDQxLCAzMywgMjMwLCAxMTEsIDIxMSwgNDEsIDMzLCAyNDEsIDIxOSwgMjExLCA0MSwgCisgICAgMzMsIDIxMSwgMjI3LCAyMTEsIDQxLCAzMywgMjA3LCA5LCAyMTEsIDQxLCAzMywgMjA3LCA2OSwgMjExLCA0MSwgMzMsIAorICAgIDIyNiwgMTI4LCAyMTEsIDQxLCAzMywgMjQzLCAxMjAsIDIwNywgMjcsIDczLCAyNDUsIDE4NCwgNTksIDI0MSwgOTQsIDI0MiwgCisgICAgNjcsIDU5LCAyMTQsIDIxMCwgMjQyLCA2NywgNjAsIDIxNCwgMjEwLCAyNDIsIDY3LCA1OSwgMjEzLCAxNTUsIDIsIDIxOSwgCisgICAgNTUsIDI0MSwgMjE1LCAyMTksIDIwNSwgMjI2LCAxNDQsIDIzMCwgODEsIDIxOSwgMjA1LCAyMjYsIDE0NCwgMjI3LCA3OCwgCisgICAgMjQyLCAxMSwgNTMsIDI0MywgMTIwLCAyMjcsIDIyNiwgNTMsIDIzMiwgOTEsIDIxNywgMTI2LCAyMDksIDE4OSwgMjI1LCAKKyAgICA5NSwgMjIwLCAyMTUsIDI1MiwgNywgMjEyLCAxNDksIDI0MCwgMTU4LCAyNDgsIDIyMiwgMjMwLCAxNSwgMjA4LCAxODYsIAorICAgIDIyOSwgMjMyLCAyMTcsIDk2LCAyMTcsIDE4MywgMjQ4LCAyMDgsIDI1MiwgMzgsIDIyMCwgMjUwLCA1OSwgMjQ4LCA2NSwgCisgICAgMjMxLCAxMDYsIDU5LCAyNDgsIDY1LCAyMTksIDE5NywgNTksIDI0OCwgNjUsIDIxOCwgMTA1LCA1OSwgMjQ4LCA2NSwgMjQ5LCAKKyAgICAyMTIsIDU5LCAyNDgsIDY1LCAyMzEsIDU2LCA1OSwgMjQ4LCA2NSwgMjIxLCAxODUsIDYwLCAyNDgsIDY1LCAyMzEsIDEwNiwgCisgICAgNjAsIDI0OCwgNjUsIDIxOSwgMTk3LCA2MCwgMjQ4LCA2NSwgMjE4LCAxMDUsIDYwLCAyNDgsIDY1LCAyNDksIDIxMiwgNjAsIAorICAgIDI0OCwgNjUsIDIzMSwgNTYsIDYwLCAyNDgsIDY1LCAyMjEsIDE4NSwgNjAsIDIxNCwgMTUxLCAyMTMsIDE2NywgNTksIDIzOSwgCisgICAgNjEsIDIxMywgMTY3LCA1OSwgMjQ1LCAxNTcsIDIxMywgMTY3LCA2MCwgMjQ3LCAxODEsIDIxMywgMTY3LCA1OSwgMjE0LCAKKyAgICAxNTEsIDIxMywgMTY3LCA2MCwgMjM5LCA2MSwgMjEzLCAxNjcsIDYwLCAyNDUsIDE1NywgMjEzLCAxNjcsIDU5LCAyNDcsIAorICAgIDE4MSwgMjEzLCAxNjcsIDIzOCwgNjMsIDIxNCwgMTEyLCAyMTksIDIwNSwgMjI0LCAzNywgMjQzLCA4NCwgMjI0LCAzNywgCisgICAgMjUwLCA1OCwgMjQzLCA4NCwgMjI0LCAzMiwgMjUwLCA1OCwgMjE1LCAzLCAyMjQsIDMyLCAyMjYsIDY1LCAyNDEsIDE4OCwgCisgICAgNTMsIDIyNiwgNjUsIDIyNSwgMTkyLCA1MywgMjI2LCA2NSwgMjE1LCAyMjgsIDUzLCAyMDcsIDM2LCAyMTMsIDMwLCAyNDcsIAorICAgIDU5LCAyNDMsIDExNywgMjEzLCAzMCwgMjQ3LCA1OSwgMjA5LCAyMTQsIDIxOSwgMzMsIDkzLCAyMTksIDMzLCAxNiwgMzMsIAorICAgIDIxMCwgOTQsIDIyMCwgMjMyLCAyMTksIDMzLCAxNiwgMzMsIDIxMCwgOTMsIDIyMCwgMjMyLCAyMTksIDMzLCAxNiwgMzMsIAorICAgIDIxMCwgOTIsIDIyMCwgMjMyLCAyMTksIDMzLCAxNiwgMzMsIDIxMCwgOTEsIDIyMCwgMjMyLCAyMTksIDMzLCAxNiwgMzMsIAorICAgIDIxMCwgOTAsIDIyMCwgMjMyLCAyMTksIDMzLCAxNiwgMzMsIDIxMCwgODksIDIyMCwgMjMyLCAyMTksIDMzLCAxNiwgMzMsIAorICAgIDIxMCwgODgsIDIyMCwgMjMyLCAyMTksIDMzLCAxNiwgMzMsIDI0MCwgMTU2LCAyMjcsIDE2OSwgNjAsIDIwOSwgMjE0LCAKKyAgICAyMTksIDMzLCA5MywgMjE5LCAzNCwgMjIxLCAyMzUsIDkzLCAyMjEsIDIwOCwgMjIxLCAyMzUsIDkzLCAyMjEsIDEyMywgCisgICAgMjIxLCAyMzUsIDUzLCAyMDcsIDI1LCA5MywgMjQ1LCAxNDksIDI0MiwgNjYsIDI0NSwgMTQ5LCAyNDIsIDY1LCAyNDUsIAorICAgIDE0OSwgMjQyLCA2NCwgMjQ1LCAxNDksIDI0MiwgNjMsIDI0NSwgMTQ5LCAyNDIsIDYyLCAyNDUsIDE0OSwgMjQyLCA2MSwgCisgICAgNTksIDI0NywgMjM0LCAyLCA2NywgMjE4LCAxNjcsIDU5LCAyNDcsIDIzNCwgMiwgMTE4LCAyNDUsIDIxLCA2MCwgMjQ3LCAKKyAgICAyMzQsIDIsIDU5LCA2NywgMjE4LCAxNjcsIDYwLCAyNDcsIDIzNCwgMiwgMTE4LCA1OSwgMjQ1LCAyMSwgMjI2LCAxNjAsIAorICAgIDMzLCAyMDYsIDc1LCAyMjYsIDE2MCwgMzMsIDIwNiwgMCwgMjQ1LCAxMzEsIDMzLCAyMzksIDIzMSwgMjA2LCA3NSwgMjQ1LCAKKyAgICAxMzEsIDMzLCAyMzAsIDgsIDIwNiwgMCwgMjQ1LCAxMzEsIDMzLCAyMzAsIDgsIDIwNiwgNzUsIDI0NSwgMTMxLCAzMywgCisgICAgMjM5LCAyMzEsIDIwNiwgMCwgNTksIDI0MSwgMTk2LCA2MCwgMjQxLCAxOTYsIDIzOSwgMTE1LCAyMywgMjIxLCA0OSwgMjUyLCAKKyAgICAxMTksIDI0NywgNTcsIDIxMywgOTQsIDIxNCwgMzUsIDczLCAyNTIsIDIzMSwgMjE3LCAxMTEsIDI1MiwgMTcxLCAyNDEsIAorICAgIDE3MiwgMjQwLCAxNjcsIDIxNCwgMzUsIDczLCAyMzksIDM0LCAyNTEsIDE5MiwgOTMsIDI0MSwgMTg0LCAyMjIsIDg5LCA1OSwgCisgICAgMjE0LCAyNiwgMTI5LCAyMjksIDIwMCwgMjQ3LCAxMDYsIDIxOCwgMTY3LCAxMjksIDIyOSwgMjAwLCAyNDcsIDEwNiwgMjMwLCAKKyAgICA0NiwgMjA3LCA4MCwgNTMsIDEyNywgMjA4LCAxNjQsIDUzLCAyNDQsIDEzLCAyNDIsIDExLCA1MywgMjQ0LCAxMywgMjI3LCAKKyAgICAyMjYsIDUzLCAyMzMsIDEzLCAyNDIsIDExLCAyMywgMjI3LCAyMjYsIDUzLCAyMjcsIDIyNiwgMjMsIDI0MiwgMTEsIDUzLCAKKyAgICAyMjcsIDIyNiwgMiwgMjEzLCAyMjUsIDUzLCAyMjcsIDIyNiwgMiwgMjEzLCAyMjUsIDIzLCAyMjcsIDIyNiwgMjMsIDI0MiwgCisgICAgMTEsIDUzLCA3OSwgMjI3LCAyMjYsIDIsIDIxMywgMjI1LCA1MywgMTk0LCAyMjcsIDIyNiwgMiwgMjEzLCAyMjUsIDUzLCAKKyAgICAyMjcsIDEwOSwgNTksIDI0NywgMjMzLCAyMjcsIDEwOSwgNjAsIDI0NywgMjMzLCAyMjcsIDEwOSwgNSwgNTksIDI0NywgCisgICAgMjMzLCAyMjcsIDE4NSwgOTMsIDI0NSwgNzMsIDkzLCAyMDksIDIxMiwgMjIxLCAyMDcsIDkzLCAyNDcsIDE2NywgMjQxLCAKKyAgICA3NywgMjA5LCAxODUsIDIyNSwgODksIDI0OCwgMTE0LCAyMjIsIDIxLCAyMzIsIDk3LCAyMDgsIDIyNCwgMjQ4LCAzOSwgNjAsIAorICAgIDIyNiwgMTQ1LCAyMjksIDIxNywgMjE2LCAxMywgMjE2LCA0OSwgMjE5LCAxODcsIDIxNiwgMzEsIDIxNCwgMTkwLCAyNTAsIAorICAgIDE0OSwgMjUwLCAxMTUsIDk4LCAyMzEsIDE3NCwgNTksIDI0MywgMjUyLCAyMjcsIDIyMSwgNTksIDI0MywgMjUyLCAyMzEsIAorICAgIDEwNiwgNjAsIDI0MywgMjUyLCAyMjcsIDIyMSwgNjAsIDI0MywgMjUyLCAyMzEsIDEwNiwgMjE0LCAxOTYsIDIwNiwgMjUzLCAKKyAgICAyMTQsIDE5OSwgMjEzLCAxNTUsIDI1MCwgMzUsIDI0NywgMTgzLCAyMTksIDgzLCA2MCwgMjE0LCAxOTUsIDIxMSwgMjI4LCAKKyAgICAyNDcsIDE4NCwgMjMsIDIxOSwgODMsIDIwMSwgNTksIDIxNSwgMTUzLCAyMjEsIDQ1LCAyMDEsIDYwLCAyMTUsIDE1MywgCisgICAgMjIxLCA0NSwgNTksIDI0NSwgMTU3LCAyMzMsIDY5LCAyMTQsIDEwNywgMjQ3LCA1NCwgMjMwLCA5MywgMjQ1LCAxMDAsIAorICAgIDI0OCwgMjA0LCAyMjIsIDEzMSwgMjIxLCA0OSwgMjQ4LCAyMDUsIDIxNCwgMjI2LCAyMzksIDQ0LCAyLCA1OSwgMjQ3LCA1OSwgCisgICAgMzksIDI0NywgNTQsIDIzMCwgOTMsIDI0OCwgMTA2LCAyMjQsIDY4LCAyNDMsIDEzLCAyNTIsIDE0MSwgMjIyLCAxNjAsIDQ3LCAKKyAgICAyMDcsIDU1LCAyMTEsIDc3LCA2MCwgMjEwLCAxMDUsIDQ3LCAyMDcsIDU1LCAyMTEsIDc3LCA1OSwgMjEwLCAxMDUsIDQ3LCAKKyAgICAyMDcsIDU1LCAyMTEsIDc3LCA2MCwgNDcsIDIzMCwgOTQsIDIyNywgNzcsIDU5LCA0NywgMjMwLCA5NCwgMjI3LCA3NywgCisgICAgMjQzLCAyNDgsIDIxNCwgMjE4LCA1MywgNzcsIDU5LCAyNDQsIDcsIDIxMSwgNTEsIDQ3LCAyNDcsIDE5MiwgMjQzLCAxMywgCisgICAgOTgsIDIxNywgMTYyLCAyNDIsIDUwLCAyNDUsIDE2MywgMjMzLCA2OSwgNTksIDI0NywgMjM0LCAyMzMsIDY5LCA2MCwgMjE0LCAKKyAgICAxMDcsIDYwLCAyMTEsIDE3LCAyMTgsIDIzNSwgNDcsIDI0MywgMTIsIDIxOCwgMjM1LCA0NywgMjQzLCAxMSwgMjUxLCAyMDQsIAorICAgIDE2LCAzMywgMjA5LCAxODksIDc3LCAyNDcsIDIzNCwgMiwgMjEzLCAyMjUsIDIzLCAxMTgsIDE3NywgNTIsIDIyMSwgMTM5LCAKKyAgICAyMTgsIDE2NCwgMjMzLCAxNSwgMjIxLCAxMzksIDIzMCwgNDMsIDIzMywgMTUsIDIyMSwgMTM5LCAyMzMsIDIsIDIyMSwgCisgICAgMTM5LCA2MCwgMjQ3LCA2MCwgMjIyLCAxNjYsIDIxNSwgMTgwLCAyMTUsIDE2OCwgMjE1LCAxMjAsIDI0OCwgNiwgMjQ4LCAKKyAgICAxODUsIDIzOCwgMjQzLCAyMTUsIDExLCAyNDAsIDE2OCwgMjA2LCAyNTMsIDIzOCwgMzksIDI0MCwgMTY4LCAyLCAyMzksIAorICAgIDEwNCwgMjI3LCAyMDYsIDE2LCAzMywgMjI5LCAyMjIsIDIyNiwgMTI4LCAyMDksIDIzOSwgMjIyLCAxNjYsIDIzOSwgMjIyLCAKKyAgICAyNDEsIDEyNiwgMjQxLCAxOTcsIDIzMywgNjksIDIzOCwgMTQwLCAyNDIsIDIsIDIxNywgMTc4LCA0OSwgMjQxLCAxMjUsIAorICAgIDI0NywgOTAsIDIxNCwgMjQ0LCAyMzcsIDE4MiwgMjE0LCAyNDcsIDIyMSwgMTE1LCAyLCAyNTAsIDE0OSwgMjEyLCA5MiwgCisgICAgMjMyLCAxODksIDI1MCwgMTM0LCA5MywgMjM5LCA2NCwgMjM5LCAyMzMsIDkzLCAyNDEsIDg1LCAyMjAsIDczLCAyNDcsIDMwLCAKKyAgICAyMjIsIDE2NiwgNjAsIDIxNCwgMTA3LCA1OSwgMjQxLCAxOTcsIDIsIDE5NCwgMjI2LCAyNDcsIDYwLCAyMTMsIDIyNiwgNjAsIAorICAgIDIxNywgMTg4LCAyMTcsIDk4LCAyMDksIDIwMywgMjQ5LCAxOTcsIDIxNywgOTgsIDYwLCAyMTcsIDk4LCAyMjksIDkyLCAKKyAgICAyNDksIDE5NywgMjE3LCA5OCwgNTksIDIxNywgOTgsIDU5LCA3NywgMjQ4LCA4MSwgODMsIDIxMiwgMTA4LCAyMjksIDE0MiwgCisgICAgNTMsIDIxMiwgMTY1LCAyNDMsIDI0NywgMjUyLCAxOTQsIDI0MywgOCwgMjE5LCA4MSwgMjQxLCAyMDgsIDIxOSwgODEsIAorICAgIDIzOSwgMTA3LCAyMDgsIDIxMiwgMjM5LCAxMDcsIDIwNiwgMjE5LCAyMzksIDEwNywgMjI5LCA5MiwgNDgsIDIyMSwgMTQ5LCAKKyAgICAyMjEsIDE0OSwgMjA5LCAyMDMsIDQ4LCAyMjEsIDE0OSwgNTksIDIyNCwgMjI3LCA2MCwgMjI0LCAyMjcsIDI0OCwgODEsIAorICAgIDgzLCA3NywgMjQ4LCA4MSwgODMsIDIyNiwgOTQsIDIwNiwgMTk1LCA3NywgMjI2LCA5NCwgMjA2LCAxOTUsIDI1MCwgMTQ2LCAKKyAgICAyMDYsIDE5NSwgNzcsIDI1MCwgMTQ2LCAyMDYsIDE5NSwgMjIyLCA4OSwgMjcsIDI0NywgNTksIDc3LCAyNywgMjQ3LCA1OSwgCisgICAgMjIyLCAxNDIsIDI0OCwgMTI5LCAyNDcsIDU5LCA3NywgMjIyLCAxNDIsIDI0OCwgMTI5LCAyNDcsIDU5LCA3LCAyNDcsIDU5LCAKKyAgICAyMTUsIDI0NiwgNTksIDcsIDI0NywgNTksIDIyMiwgODksIDcsIDI0NywgNTksIDIyNywgMjIzLCAyNDcsIDU5LCAyMTQsIAorICAgIDI3LCA3MywgMjQ2LCA3MSwgMjQxLCAxMjUsIDIxMiwgMTI0LCAyNTEsIDIwOSwgMjQxLCAxMjUsIDI1MCwgMTQ3LCAyNTEsIAorICAgIDIwOSwgNzcsIDI0MSwgMTI1LCAyNTAsIDE0NywgMjUxLCAyMDksIDI0MSwgMTI1LCAyNDcsIDE3OSwgMjUxLCAyMDksIDYwLCAKKyAgICAyNDEsIDEyNSwgMjIwLCAyMDMsIDIxNCwgMjYsIDU5LCAyNDEsIDEyNSwgMjIwLCAyMDMsIDIxNCwgMjYsIDIxNCwgMTQ2LCAKKyAgICAyMTMsIDIzMywgMjIyLCA4OSwgNTksIDIxNCwgMjYsIDM5LCA1OSwgMjE0LCAyNiwgMjIyLCAxNDIsIDI0OCwgMTI5LCA2MCwgCisgICAgMjE0LCAyNiwgNjAsIDI0OCwgMTI5LCA1OSwgMjE0LCAyNiwgMjIyLCA4OSwgNjAsIDIxNCwgMjYsIDc3LCAyMjIsIDg5LCAKKyAgICA2MCwgMjE0LCAyNiwgMjIxLCA0LCAyMTQsIDI2LCAyMTUsIDI0NiwgNTksIDIxNCwgMjYsIDc3LCAyNTEsIDIwOSwgMjIyLCAKKyAgICAxNDIsIDI0OCwgMTI5LCAyNTEsIDIwOSwgMjQzLCA4OCwgMjE0LCAxMTksIDI1MSwgMjA5LCAyNDMsIDg4LCAyMjAsIDIwMywgCisgICAgNjAsIDIxNCwgMjYsIDI0MywgODgsIDIyMCwgMjAzLCAyMjEsIDQsIDIxNCwgMjYsIDIxNSwgMTAsIDIyMCwgMjAzLCA2MCwgCisgICAgMjE0LCAyNiwgMjQzLCA4OCwgMjIwLCAyMDMsIDIxOSwgMzUsIDYwLCAyMTQsIDI2LCA3NywgMjQzLCA4OCwgMjIwLCAyMDMsIAorICAgIDIxOSwgMzUsIDYwLCAyMTQsIDI2LCAyMTAsIDEyNywgMjIwLCAyMDMsIDYwLCAyMTQsIDI2LCAyMTUsIDUsIDIyMCwgMjAzLCAKKyAgICAyNTEsIDIwOSwgMjEyLCAxMjQsIDI1MSwgMjA5LCAyMjIsIDE0MiwgMjQ4LCAxMjksIDIxMiwgMTI0LCAyNTEsIDIwOSwgNzcsIAorICAgIDIxMiwgMTI0LCAyNTEsIDIwOSwgMjE1LCAxMCwgMjIxLCAxMDMsIDYwLCAyMywgNTksIDI0MSwgMTc1LCA2MCwgMjQxLCAKKyAgICAxNzUsIDU5LCAyNDEsIDE3NSwgMjQzLCA4OCwgMjIxLCAxMDMsIDIyMiwgODksIDYwLCAyNDEsIDE3NSwgMzksIDIyMiwgCisgICAgMTQyLCAyNDgsIDEyOSwgMjQzLCA4OCwgMjIwLCAyMDMsIDIxNCwgMjYsIDc3LCAyMTIsIDEyNCwgMjIxLCA0LCAyNTEsIAorICAgIDIwOSwgMjE0LCAxOTcsIDIxMSwgMTk3LCAyMTEsIDQ0LCAyMTQsIDE5NywgNzcsIDI0OCwgNjIsIDIxNCwgMTk3LCAyMTQsIAorICAgIDE0OCwgNzcsIDIxNCwgMTQ4LCAyNTAsIDE0NywgMjUxLCAyMDksIDI0MywgODgsIDIxMiwgMTI0LCAyMjAsIDEwNCwgMjUxLCAKKyAgICAyMDksIDc3LCAyNDMsIDg4LCAyMTIsIDEyNCwgMjIwLCAxMDQsIDI1MSwgMjA5LCAyNDcsIDYwLCA4MywgMjE1LCAyNDYsIAorICAgIDU5LCAyNDcsIDIzMywgMTcwLCA5OCwgMjQ3LCA2MCwgODMsIDIyOSwgOTIsIDQ4LCAyNDMsIDI0NSwgNTksIDIxNCwgMTA3LCAKKyAgICAyMDksIDIwMywgNDgsIDI0MywgMjQ1LCA1OSwgMjE0LCAxMDcsIDIyOSwgOTIsIDQ4LCAyMTUsIDI0NiwgNTksIDIxNCwgCisgICAgMTA3LCAyMDksIDIwMywgNDgsIDIxNSwgMjQ2LCA1OSwgMjE0LCAxMDcsIDYwLCAyMTksIDE5NiwgMTQxLCAyMjIsIDExMSwgCisgICAgNTksIDIxOSwgMTk2LCAxNDEsIDIyMiwgMTExLCA1OSwgMjQyLCAxNjgsIDE0MSwgMjIyLCAxMTEsIDYwLCAyNDUsIDE1NywgCisgICAgMjI2LCAyMDIsIDU5LCAyMDYsIDE5NSwgNzcsIDI0MiwgMTY4LCAxNDEsIDkzLCAxNDcsIDc5LCAxMzQsIDIyNywgMTA5LCAKKyAgICA3OSwgMTM0LCA3NywgNzksIDEzNCwgNzcsIDIxNSwgNDEsIDIwMSwgMjQ3LCAxNTYsIDIxOSwgMTgwLCAxNDEsIDIyMiwgCisgICAgMTExLCA3NywgMjE1LCA0MSwgMjQ3LCAxNTYsIDIxOSwgMTgwLCAxNDEsIDIyMiwgMTExLCA3NywgNTAsIDIwMSwgMjQ3LCAKKyAgICAxNTYsIDIxOSwgMTgwLCAxNDEsIDIyMiwgMTExLCA3NywgNTAsIDI0NywgMTU2LCAyMTksIDE4MCwgMTQxLCAyMjIsIDExMSwgCisgICAgNzcsIDExNCwgMjE1LCA0MSwgMjQ3LCAxNTYsIDIxOSwgMTgwLCAxNDEsIDIyMiwgMTExLCA3NywgMTE0LCA1MCwgMjQ3LCAKKyAgICAxNTYsIDIxOSwgMTgwLCAxNDEsIDIyMiwgMTExLCAyNDcsIDE4LCAyMTQsIDEwLCAyMjEsIDIyOSwgMywgMjIyLCAxMTEsIAorICAgIDc3LCAyNDIsIDE2OCwgMTQxLCAyMjIsIDExMSwgNzcsIDIzOSwgNjEsIDI0MiwgMTY4LCAxNDEsIDIyMiwgMTExLCA3NywgCisgICAgNjAsIDIzOSwgNjAsIDIxOCwgOTcsIDc3LCA2MCwgMjM5LCA2MSwgMjQ5LCA4NSwgMjQxLCAxNzYsIDIzOSwgNjAsIDIxOCwgCisgICAgOTcsIDI0MSwgMTc2LCAyMzksIDYxLCAyNDksIDg1LCAyMjcsIDEwOSwgNDcsIDIyMSwgMjE3LCAyMjIsIDExMSwgMjI3LCAKKyAgICAxMDksIDQ4LCAyMjEsIDIxNywgMjIyLCAxMTEsIDIyNywgMTA5LCAyNDEsIDE4NSwgNDcsIDIyMSwgMjE3LCAyMjIsIDExMSwgCisgICAgMjI3LCAxMDksIDI0MSwgMTg1LCA0OCwgMjIxLCAyMTcsIDIyMiwgMTExLCAyMjcsIDEwOSwgMjMwLCA0MSwgMjUyLCAxMDksIAorICAgIDI0OSwgMTM0LCAyMjIsIDExMSwgMjI3LCAxMDksIDIxOCwgMTYyLCAyNTIsIDEwOSwgMjQ5LCAxMzQsIDIyMiwgMTExLCA3NywgCisgICAgMjMwLCA0MSwgMjUyLCAxMDksIDIxOSwgMTgwLCAxNDEsIDIyMiwgMTExLCA3NywgMjE4LCAxNjIsIDI1MiwgMTA5LCAyMTksIAorICAgIDE4MCwgMTQxLCAyMjIsIDExMSwgNzcsIDIzMCwgNDEsIDI1MiwgMTA5LCAyNDksIDEzNCwgMjIyLCAxMTEsIDc3LCAyMTgsIAorICAgIDE2MiwgMjUyLCAxMDksIDI0OSwgMTM0LCAyMjIsIDExMSwgMTQ3LCA0NywgMjExLCA5MywgMjE1LCAyMDQsIDI0OSwgMTM0LCAKKyAgICAyMjIsIDExMSwgMTQ3LCA0OCwgMjExLCA5MywgMjE1LCAyMDQsIDI0OSwgMTM0LCAyMjIsIDExMSwgMjI3LCAxMDksIDQ3LCAKKyAgICAyNDcsIDI2LCAyNDksIDEzNCwgMjIyLCAxMTEsIDIyNywgMTA5LCA0OCwgMjQ3LCAyNiwgMjQ5LCAxMzQsIDIyMiwgMTExLCAKKyAgICAyNDUsIDExMSwgMTcwLCAzOSwgMTgsIDEwMiwgMjQ1LCAxMTEsIDE3MCwgMzksIDE4LCAxMDUsIDI0NSwgMTExLCAxNzAsIAorICAgIDM5LCAxOCwgMTQyLCAyNDUsIDExMSwgMTcwLCAzOSwgMTgsIDEzOSwgMjQ1LCAxMTEsIDE3MCwgMzksIDE4LCAxNjgsIDI0NSwgCisgICAgMTExLCAxNzAsIDM5LCAxOCwgMTg0LCAyNDUsIDExMSwgMTcwLCAzOSwgMTgsIDE5NSwgMjQ1LCAxMTEsIDE3MCwgMzksIDE4LCAKKyAgICAxOTMsIDI0NSwgMTExLCAxNzAsIDM5LCAxOCwgMjAwLCAyNDUsIDExMSwgMTcwLCAzOSwgNDMsIDIxMiwgOTgsIDI0NSwgCisgICAgMTExLCAzOSwgMzgsIDE4LCAxMDIsIDI0NSwgMTExLCAzOSwgMzgsIDE4LCAxMDUsIDI0NSwgMTExLCAzOSwgMzgsIDE4LCAKKyAgICAxNDIsIDI0NSwgMTExLCAzOSwgMzgsIDE4LCAxMzksIDI0NSwgMTExLCAzOSwgMzgsIDE4LCAxNjgsIDI0NSwgMTExLCAzOSwgCisgICAgMzgsIDE4LCAxODQsIDI0NSwgMTExLCAzOSwgMzgsIDE4LCAxOTUsIDI0NSwgMTExLCAzOSwgMzgsIDE4LCAxOTMsIDI0NSwgCisgICAgMTExLCAzOSwgMzgsIDE4LCAyMDAsIDI0NSwgMTExLCAzOSwgMzgsIDQzLCAyMTIsIDk4LCAyNDUsIDExMSwgMTcwLCAzOSwgCisgICAgMzgsIDE4LCAxMDIsIDI0NSwgMTExLCAxNzAsIDM5LCAzOCwgMTgsIDEwNSwgMjQ1LCAxMTEsIDE3MCwgMzksIDM4LCAxOCwgCisgICAgMTQyLCAyNDUsIDExMSwgMTcwLCAzOSwgMzgsIDE4LCAxMzksIDI0NSwgMTExLCAxNzAsIDM5LCAzOCwgMTgsIDE2OCwgMjQ1LCAKKyAgICAxMTEsIDE3MCwgMzksIDM4LCAxOCwgMTg0LCAyNDUsIDExMSwgMTcwLCAzOSwgMzgsIDE4LCAxOTUsIDI0NSwgMTExLCAxNzAsIAorICAgIDM5LCAzOCwgMTgsIDE5MywgMjQ1LCAxMTEsIDE3MCwgMzksIDM4LCAxOCwgMjAwLCAyNDUsIDExMSwgMTcwLCAzOSwgMzgsIAorICAgIDQzLCAyMTIsIDk4LCA3NywgMjA3LCAxNiwgODYsIDQ1LCA3NywgMTAxLCA1MywgNzcsIDIyNiwgMjAyLCA1MywgNzcsIDI0NSwgCisgICAgNzUsIDUzLCA3NywgMTg4LCAyNDMsIDExNywgNDUsIDc3LCA4NiwgNDUsIDc3LCAxNDMsIDI0MywgMTE3LCA0NSwgMjQ0LCAxLCAKKyAgICAyMjAsIDIwNSwgODYsIDQ1LCA3NywgMjE4LCA5NCwgODYsIDQ1LCAyMTEsIDUwLCA4NiwgNDUsIDc3LCAyMTEsIDUwLCA4NiwgCisgICAgNDUsIDI0NiwgNzcsIDIxMSwgNTAsIDg2LCA0NSwgNzcsIDI0NiwgNzcsIDIxMSwgNTAsIDg2LCA0NSwgNjAsIDg2LCA0NSwgCisgICAgMjExLCAyMzgsIDIxMSwgMTAwLCA4NiwgMjUxLCAyNDMsIDIxMSwgMjM4LCAyNDksIDE1MiwgODYsIDI1MSwgMjQzLCA2MCwgCisgICAgODYsIDI1MSwgMjQzLCA3NywgNjAsIDI0NywgMTgsIDE3MywgMjMsIDg2LCA0NSwgNzcsIDYwLCAyNDcsIDE4LCAxNjcsIDIzLCAKKyAgICA4NiwgNDUsIDIxNCwgMTA0LCA2MCwgODYsIDQ1LCA3NywgMjQ3LCAxMzksIDYwLCA4NiwgNDUsIDIxOCwgMTYxLCA1OSwgODYsIAorICAgIDQ1LCAyMzAsIDQwLCA1OSwgODYsIDQ1LCAyNTAsIDE3NSwgMjE1LCAyNDYsIDU5LCA4NiwgNDUsIDI0MSwgOTYsIDIxNSwgCisgICAgMjQ2LCA1OSwgODYsIDQ1LCA3NywgMjI5LCA5MiwgMjE4LCAxNjAsIDU5LCA4NiwgNDUsIDc3LCAyMDksIDIwMywgMjE4LCAKKyAgICAxNjAsIDU5LCA4NiwgNDUsIDIyNCwgMzksIDIyOSwgOTIsIDIxOCwgMTYwLCA1OSwgODYsIDQ1LCAyNDcsIDI2LCAyMjksIAorICAgIDExMSwgMjI0LCAzOSwgMjA5LCAyMDMsIDIxOCwgMTYwLCA1OSwgODYsIDQ1LCAzOSwgNzcsIDU5LCA4NiwgNDUsIDIwNywgCisgICAgMjIsIDg2LCA0NSwgMjQ5LCAyMDEsIDE4OCwgMjQzLCAxMTcsIDQ1LCAyNDksIDIwMSwgODYsIDQ1LCAyNDksIDIwMSwgMTQzLCAKKyAgICAyNDMsIDExNywgNDUsIDc3LCAyNDksIDIwMSwgMTg4LCAyNDMsIDExNywgNDUsIDc3LCAyNDksIDIwMSwgODYsIDQ1LCA3NywgCisgICAgMjQ5LCAyMDEsIDE0MywgMjQzLCAxMTcsIDQ1LCAyMTIsIDEyNiwgODYsIDQ1LCA3NywgMjEyLCAxMjUsIDg2LCA0NSwgMjA3LCAKKyAgICA0NiwgODYsIDQ1LCA3NywgMjA3LCA0NiwgODYsIDQ1LCAyMjIsIDEzNywgODYsIDQ1LCA1MCwgMjQ3LCAyNiwgMjI5LCAxMTEsIAorICAgIDEyOSwgMjQ1LCAxMjEsIDI1MiwgMTA4LCA1OSwgMjExLCA1MiwgMjQ3LCAxMTksIDUsIDU5LCAyMTEsIDUxLCAyMjEsIDExOCwgCisgICAgMjIyLCAxNDIsIDIxMywgMTgxLCAyMjIsIDE0MiwgMjEzLCAxMzcsIDQ3LCAyMTgsIDAsIDI1MCwgMTY0LCAyNDUsIDIzMywgCisgICAgNDgsIDIxOCwgMCwgMjUwLCAxNjQsIDI0NSwgMjMzLCAyMjIsIDEyMywgMiwgNjcsIDIzMywgMjUsIDIxOCwgMjI1LCAyMTQsIAorICAgIDE4MSwgMjIwLCAxMzgsIDIxMywgMTgxLCAyMTMsIDEzOCwgMjIwLCAxMzgsIDIxNCwgMTgwLCA3OSwgMjUwLCAxMjksIDIsIAorICAgIDE5NCwgOTEsIDExLCAyMTgsIDE0MiwgMjQ1LCAxNjIsIDE1MiwgMjQ1LCA3NCwgMTEsIDI0MiwgNTAsIDI0NSwgMTYyLCA5OCwgCisgICAgMjI5LCAxMzQsIDI1MiwgMTE3LCA5OCwgMjI5LCAxMzQsIDIyMiwgMTIyLCA1OSwgMjQ1LCAxNTcsIDIsIDI0OCwgMTI3LCAKKyAgICAyNDUsIDIzLCAyMywgMiwgMjQ1LCAyMywgMjQzLCA2MSwgNzMsIDIyMiwgMTM1LCAyMDksIDE5NiwgMjI5LCA5MiwgNDgsIAorICAgIDI0NywgOTIsIDIsIDI0NSwgMjMsIDIwOSwgMjAzLCA0NywgMjQ3LCA5MiwgMiwgMjQ1LCAyMywgNDcsIDIyMiwgOTEsIDIzMiwgCisgICAgMTIwLCA0OCwgMjIyLCA5MSwgMjMyLCAxMjAsIDI0MSwgODIsIDIyMiwgOTEsIDIzMiwgMTIwLCAyMzAsIDg2LCAxMjAsIAorICAgIDIxMiwgMjAxLCAyMzAsIDg2LCAxMzAsIDIxMiwgMjAxLCA0NywgMjMsIDQ4LCA1MCwgMjEwLCAxNDMsIDQ3LCAyMywgNDgsIAorICAgIDIxMiwgMjAxLCA0NywgMjI2LCA5NywgMTUyLCA0OCwgMjEyLCAyMDEsIDE1MiwgNDcsIDIxMiwgMjAxLCAxMjAsIDIxMiwgCisgICAgMjAyLCAyLCAyNDcsIDIzNCwgNTIsIDIyOSwgODksIDI0NSwgODAsIDI0OSwgNDYsIDE5NCwgMjE4LCA0MiwgNTksIDI0NywgCisgICAgMTM4LCAyNDUsIDE1NiwgNTksIDI0NywgMTM4LCAyNDUsIDE1NywgMiwgOTIsIDIxMSwgMjA3LCA1OSwgMjQ3LCAxMzgsIAorICAgIDI0NSwgMTU3LCAyLCA4NiwgMjExLCAyMDcsIDU5LCA0OSwgMiwgOTIsIDIxMSwgMjA3LCA1OSwgNDksIDIsIDg2LCAyMTEsIAorICAgIDIwNywgMTEsIDQ3LCA1OSwgNDksIDE0NSwgMTEsIDQ4LCA1OSwgNDksIDE0NSwgMTEsIDQ3LCAyNTIsIDEwOSwgMTQ1LCAxMSwgCisgICAgNDgsIDI1MiwgMTA5LCAxNDUsIDExLCA0NywgNTAsIDI1MiwgMTA5LCAxNDUsIDExLCA0OCwgNTAsIDI1MiwgMTA5LCAxNDUsIAorICAgIDExLCA0NywgNTksIDIxMSwgOTMsIDIxNSwgMjA0LCAxNDUsIDExLCA0OCwgNTksIDIxMSwgOTMsIDIxNSwgMjA0LCAxNDUsIAorICAgIDExLCA0NywgMjQxLCAxODUsIDIyMSwgMjE2LCAxMSwgNDgsIDI0MSwgMTg1LCAyMjEsIDIxNiwgMTY3LCAyMTksIDIwNywgCisgICAgNDUsIDE3MywgMjE5LCAyMDcsIDQ1LCAyNTIsIDg3LCAyNDAsIDIwNiwgMjQ3LCAyMzQsIDQ1LCAyNDcsIDE5NCwgMjQwLCAKKyAgICAyMDYsIDI0NywgMjM0LCA0NSwgNDgsIDUxLCAyLCAzOSwgMjIwLCAyMTgsIDE1MiwgOTIsIDQ1LCAxNTIsIDg2LCA0NSwgCisgICAgMTUyLCA0NywgNDgsIDQ1LCAxNTIsIDkyLCA1MCwgNDUsIDE1MiwgODYsIDUwLCA0NSwgMTUyLCA0NywgNDgsIDUwLCA0NSwgCisgICAgMTUyLCA5MiwgNTEsIDI0MSwgOTgsIDEzNCwgMTUyLCA4NiwgNTEsIDI0MSwgOTgsIDEzNCwgMTUyLCA5MiwgNTAsIDUxLCAKKyAgICAyNDEsIDk4LCAxMzQsIDE1MiwgODYsIDUwLCA1MSwgMjQxLCA5OCwgMTM0LCAxNTIsIDg2LCAyMTQsIDEwMywgNDUsIDU2LCAKKyAgICA1NywgMjQ5LCAxOTUsIDU2LCA1NywgMjQ1LCAyMCwgNTYsIDU3LCAyNDQsIDE0OCwgNTYsIDU3LCAyNDUsIDE5LCA1NiwgNTcsIAorICAgIDI0NCwgODQsIDU2LCA1NywgMjQ0LCAyMTEsIDU2LCA1NywgMjQ0LCAxNDcsIDU2LCA1NywgMjQ1LCAxOCwgNTYsIDU3LCAKKyAgICAyNDQsIDUyLCA1NiwgNTcsIDI0NCwgMTc5LCA1NiwgNTcsIDI0NCwgMTE1LCA1NiwgNTcsIDI0NCwgMjQyLCA1NiwgNTcsIAorICAgIDI0NCwgODMsIDU2LCA1NywgMjQ0LCAyMTAsIDU2LCA1NywgMjQ0LCAxNDYsIDU2LCA1NywgMjQ1LCAxNywgNTYsIDU3LCAKKyAgICAyNDQsIDM2LCA1NiwgNTcsIDI0NCwgMTYzLCA1NiwgNTcsIDI0NCwgOTksIDU2LCA1NywgMjQ0LCAyMjYsIDU2LCA1NywgCisgICAgMjQ0LCA2NywgNTYsIDU3LCAyNDQsIDE5NCwgNTYsIDU3LCAyNDQsIDEzMCwgNTYsIDU3LCAyNDUsIDEsIDU2LCA1NywgMjQ0LCAKKyAgICA1MSwgNTYsIDU3LCAyNDQsIDE3OCwgNTYsIDU3LCAyNDQsIDExNCwgNTYsIDU3LCAyNDQsIDI0MSwgNTYsIDU3LCAyNDQsIAorICAgIDgyLCA1NiwgNTcsIDI0NCwgMjA5LCA1NiwgNTcsIDI0NCwgMTQ1LCA1NiwgNTcsIDI0NSwgMTYsIDU2LCA1NywgMjQ0LCAyOCwgCisgICAgNTYsIDU3LCAyNDQsIDE1NSwgNTYsIDU3LCAyNDQsIDkxLCA1NiwgNTcsIDI0NCwgMjE4LCA1NiwgNTcsIDI0NCwgNTksIDU2LCAKKyAgICA1NywgMjQ0LCAxODYsIDU2LCA1NywgMjQ0LCAxMjIsIDU2LCA1NywgMjQ0LCAyNDksIDU2LCA1NywgMjQ0LCA0MywgNTYsIAorICAgIDU3LCAyNDQsIDE3MCwgNTYsIDU3LCAyNDQsIDEwNiwgNTYsIDU3LCAyNDQsIDIzMywgNTYsIDU3LCAyNDQsIDc0LCA1NiwgCisgICAgNTcsIDI0NCwgMjAxLCA1NiwgNTcsIDI0NCwgMTM3LCA1NiwgNTcsIDI0NSwgOCwgNTYsIDU3LCAyNDQsIDM1LCA1NiwgNTcsIAorICAgIDI0NCwgMTYyLCA1NiwgNTcsIDI0NCwgOTgsIDU2LCA1NywgMjQ0LCAyMjUsIDU2LCA1NywgMjQ0LCA2NiwgNTYsIDU3LCAKKyAgICAyNDQsIDE5MywgNTYsIDU3LCAyNDQsIDEyOSwgNTYsIDU3LCAyNDUsIDAsIDU2LCA1NywgMjQ0LCA1MCwgNTYsIDU3LCAyNDQsIAorICAgIDE3NywgNTYsIDU3LCAyNDQsIDExMywgNTYsIDU3LCAyNDQsIDI0MCwgNTYsIDU3LCAyNDQsIDgxLCA1NiwgNTcsIDI0NCwgCisgICAgMjA4LCA1NiwgNTcsIDI0NCwgMTQ0LCA1NiwgNTcsIDI0NSwgMTUsIDU2LCA1NywgMjQ0LCAyNCwgNTYsIDU3LCAyNDQsIAorICAgIDE1MSwgNTYsIDU3LCAyNDQsIDg3LCA1NiwgNTcsIDI0NCwgMjE0LCA1NiwgNTcsIDI0NCwgNTUsIDU2LCA1NywgMjQ0LCAKKyAgICAxODIsIDU2LCA1NywgMjQ0LCAxMTgsIDU2LCA1NywgMjQ0LCAyNDUsIDU2LCA1NywgMjQ0LCAzOSwgNTYsIDU3LCAyNDQsIAorICAgIDE2NiwgNTYsIDU3LCAyNDQsIDEwMiwgNTYsIDU3LCAyNDQsIDIyOSwgNTYsIDU3LCAyNDQsIDcwLCA1NiwgNTcsIDI0NCwgCisgICAgMTk3LCA1NiwgNTcsIDI0NCwgMTMzLCA1NiwgNTcsIDI0NSwgNCwgNTYsIDU3LCAyNDQsIDMxLCA1NiwgNTcsIDI0NCwgMTU4LCAKKyAgICA1NiwgNTcsIDI0NCwgOTQsIDU2LCA1NywgMjQ0LCAyMjEsIDU2LCA1NywgMjQ0LCA2MiwgNTYsIDU3LCAyNDQsIDE4OSwgNTYsIAorICAgIDU3LCAyNDQsIDEyNSwgNTYsIDU3LCAyNDQsIDI1MiwgNTYsIDU3LCAyNDQsIDQ2LCA1NiwgNTcsIDI0NCwgMTczLCA1NiwgCisgICAgNTcsIDI0NCwgMTA5LCA1NiwgNTcsIDI0NCwgMjM2LCA1NiwgNTcsIDI0NCwgNzcsIDU2LCA1NywgMjQ0LCAyMDQsIDU2LCAKKyAgICA1NywgMjQ0LCAxNDAsIDU2LCA1NywgMjQ1LCAxMSwgNTYsIDU3LCAyNDQsIDI3LCA1NiwgNTcsIDI0NCwgMTU0LCA1NiwgNTcsIAorICAgIDI0NCwgOTAsIDU2LCA1NywgMjQ0LCAyMTcsIDU2LCA1NywgMjQ0LCA1OCwgNTYsIDU3LCAyNDQsIDE4NSwgNTYsIDU3LCAKKyAgICAyNDQsIDEyMSwgNTYsIDU3LCAyNDQsIDI0OCwgNTYsIDU3LCAyNDQsIDQyLCA1NiwgNTcsIDI0NCwgMTY5LCA1NiwgNTcsIAorICAgIDI0NCwgMTA1LCA1NiwgNTcsIDI0NCwgMjMyLCA1NiwgNTcsIDI0NCwgNzMsIDU2LCA1NywgMjQ0LCAyMDAsIDU2LCA1NywgCisgICAgMjQ0LCAxMzYsIDU2LCA1NywgMjQ1LCA3LCA1NiwgNTcsIDI0NCwgMzQsIDU2LCA1NywgMjQ0LCAxNjEsIDU2LCA1NywgMjQ0LCAKKyAgICA5NywgNTYsIDU3LCAyNDQsIDIyNCwgNTYsIDU3LCAyNDQsIDY1LCA1NiwgNTcsIDI0NCwgMTkyLCA1NiwgNTcsIDI0NCwgCisgICAgMTI4LCA1NiwgNTcsIDI0NCwgMjU1LCA1NiwgNTcsIDI0NCwgNDksIDU2LCA1NywgMjQ0LCAxNzYsIDU2LCA1NywgMjQ0LCAKKyAgICAxMTIsIDU2LCA1NywgMjQ0LCAyMzksIDU2LCA1NywgMjQ0LCA4MCwgNTYsIDU3LCAyNDQsIDIwNywgNTYsIDU3LCAyNDQsIAorICAgIDE0MywgNTYsIDU3LCAyNDUsIDE0LCA1NiwgNTcsIDI0NCwgMjIsIDU2LCA1NywgMjQ0LCAxNDksIDU2LCA1NywgMjQ0LCA4NSwgCisgICAgNTYsIDU3LCAyNDQsIDIxMiwgNTYsIDU3LCAyNDQsIDUzLCA1NiwgNTcsIDI0NCwgMTgwLCA1NiwgNTcsIDI0NCwgMTE2LCAKKyAgICA1NiwgNTcsIDI0NCwgMjQzLCA1NiwgNTcsIDI0NCwgMzcsIDU2LCA1NywgMjQ0LCAxNjQsIDU2LCA1NywgMjQ0LCAxMDAsIAorICAgIDU2LCA1NywgMjQ0LCAyMjcsIDU2LCA1NywgMjQ0LCA2OCwgNTYsIDU3LCAyNDQsIDE5NSwgNTYsIDU3LCAyNDQsIDEzMSwgCisgICAgNTYsIDU3LCAyNDUsIDIsIDU2LCA1NywgMjQ0LCAyOSwgNTYsIDU3LCAyNDQsIDE1NiwgNTYsIDU3LCAyNDQsIDkyLCA1NiwgCisgICAgNTcsIDI0NCwgMjE5LCA1NiwgNTcsIDI0NCwgNjAsIDU2LCA1NywgMjQ0LCAxODcsIDU2LCA1NywgMjQ0LCAxMjMsIDU2LCAKKyAgICA1NywgMjQ0LCAyNTAsIDU2LCA1NywgMjQ0LCA0NCwgNTYsIDU3LCAyNDQsIDE3MSwgNTYsIDU3LCAyNDQsIDEwNywgNTYsIAorICAgIDU3LCAyNDQsIDIzNCwgNTYsIDU3LCAyNDQsIDc1LCA1NiwgNTcsIDI0NCwgMjAyLCA1NiwgNTcsIDI0NCwgMTM4LCA1NiwgCisgICAgNTcsIDI0NSwgOSwgNTYsIDU3LCAyNDQsIDI1LCA1NiwgNTcsIDI0NCwgMTUyLCA1NiwgNTcsIDI0NCwgODgsIDU2LCA1NywgCisgICAgMjQ0LCAyMTUsIDU2LCA1NywgMjQ0LCA1NiwgNTYsIDU3LCAyNDQsIDE4MywgNTYsIDU3LCAyNDQsIDExOSwgNTYsIDU3LCAKKyAgICAyNDQsIDI0NiwgNTYsIDU3LCAyNDQsIDQwLCA1NiwgNTcsIDI0NCwgMTY3LCA1NiwgNTcsIDI0NCwgMTAzLCA1NiwgNTcsIAorICAgIDI0NCwgMjMwLCA1NiwgNTcsIDI0NCwgNzEsIDU2LCA1NywgMjQ0LCAxOTgsIDU2LCA1NywgMjQ0LCAxMzQsIDU2LCA1NywgCisgICAgMjQ1LCA1LCA1NiwgNTcsIDI0NCwgMzIsIDU2LCA1NywgMjQ0LCAxNTksIDU2LCA1NywgMjQ0LCA5NSwgNTYsIDU3LCAyNDQsIAorICAgIDIyMiwgNTYsIDU3LCAyNDQsIDYzLCA1NiwgNTcsIDI0NCwgMTkwLCA1NiwgNTcsIDI0NCwgMTI2LCA1NiwgNTcsIDI0NCwgCisgICAgMjUzLCA1NiwgNTcsIDI0NCwgNDcsIDU2LCA1NywgMjQ0LCAxNzQsIDU2LCA1NywgMjQ0LCAxMTAsIDU2LCA1NywgMjQ0LCAKKyAgICAyMzcsIDU2LCA1NywgMjQ0LCA3OCwgNTYsIDU3LCAyNDQsIDIwNSwgNTYsIDU3LCAyNDQsIDE0MSwgNTYsIDU3LCAyNDUsIAorICAgIDEyLCA1NiwgNTcsIDI0NCwgMjMsIDU2LCA1NywgMjQ0LCAxNTAsIDU2LCA1NywgMjQ0LCA4NiwgNTYsIDU3LCAyNDQsIDIxMywgCisgICAgNTYsIDU3LCAyNDQsIDU0LCA1NiwgNTcsIDI0NCwgMTgxLCA1NiwgNTcsIDI0NCwgMTE3LCA1NiwgNTcsIDI0NCwgMjQ0LCAKKyAgICA1NiwgNTcsIDI0NCwgMzgsIDU2LCA1NywgMjQ0LCAxNjUsIDU2LCA1NywgMjQ0LCAxMDEsIDU2LCA1NywgMjQ0LCAyMjgsIAorICAgIDU2LCA1NywgMjQ0LCA2OSwgNTYsIDU3LCAyNDQsIDE5NiwgNTYsIDU3LCAyNDQsIDEzMiwgNTYsIDU3LCAyNDUsIDMsIDU2LCAKKyAgICA1NywgMjQ0LCAzMCwgNTYsIDU3LCAyNDQsIDE1NywgNTYsIDU3LCAyNDQsIDkzLCA1NiwgNTcsIDI0NCwgMjIwLCA1NiwgNTcsIAorICAgIDI0NCwgNjEsIDU2LCA1NywgMjQ0LCAxODgsIDU2LCA1NywgMjQ0LCAxMjQsIDU2LCA1NywgMjQ0LCAyNTEsIDU2LCA1NywgCisgICAgMjQ0LCA0NSwgNTYsIDU3LCAyNDQsIDE3MiwgNTYsIDU3LCAyNDQsIDEwOCwgNTYsIDU3LCAyNDQsIDIzNSwgNTYsIDU3LCAKKyAgICAyNDQsIDc2LCA1NiwgNTcsIDI0NCwgMjAzLCA1NiwgNTcsIDI0NCwgMTM5LCA1NiwgNTcsIDI0NSwgMTAsIDU2LCA1NywgCisgICAgMjQ0LCAyNiwgNTYsIDU3LCAyNDQsIDE1MywgNTYsIDU3LCAyNDQsIDg5LCA1NiwgNTcsIDI0NCwgMjE2LCA1NiwgNTcsIAorICAgIDI0NCwgNTcsIDU2LCA1NywgMjQ0LCAxODQsIDU2LCA1NywgMjQ0LCAxMjAsIDU2LCA1NywgMjQ0LCAyNDcsIDU2LCA1NywgCisgICAgMjQ0LCA0MSwgNTYsIDU3LCAyNDQsIDE2OCwgNTYsIDU3LCAyNDQsIDEwNCwgNTYsIDU3LCAyNDQsIDIzMSwgNTYsIDU3LCAKKyAgICAyNDQsIDcyLCA1NiwgNTcsIDI0NCwgMTk5LCA1NiwgNTcsIDI0NCwgMTM1LCA1NiwgNTcsIDI0NSwgNiwgNTYsIDU3LCAyNDQsIAorICAgIDMzLCA1NiwgNTcsIDI0NCwgMTYwLCA1NiwgNTcsIDI0NCwgOTYsIDU2LCA1NywgMjQ0LCAyMjMsIDU2LCA1NywgMjQ0LCA2NCwgCisgICAgNTYsIDU3LCAyNDQsIDE5MSwgNTYsIDU3LCAyNDQsIDEyNywgNTYsIDU3LCAyNDQsIDI1NCwgNTYsIDU3LCAyNDQsIDQ4LCAKKyAgICA1NiwgNTcsIDI0NCwgMTc1LCA1NiwgNTcsIDI0NCwgMTExLCA1NiwgNTcsIDI0NCwgMjM4LCA1NiwgNTcsIDI0NCwgNzksIAorICAgIDU2LCA1NywgMjQ0LCAyMDYsIDU2LCA1NywgMjQ0LCAxNDIsIDU2LCA1NywgMjQ1LCAxMywgODYsIDIxMCwgMTA4LCA1MSwgMiwgCisgICAgNzksIDkxLCA4NiwgMjEwLCAxMDgsIDUxLCAyLCA1MCwgNzksIDkxLCA5MiwgNTAsIDUxLCAyLCA3OSwgOTEsIDg2LCA1MCwgCisgICAgNTEsIDIsIDc5LCA5MSwgNDcsIDQ4LCA1MCwgNTEsIDIsIDc5LCA5MSwgODYsIDIxMCwgMTA4LCA1MSwgMjQxLCA5OCwgMTM0LCAKKyAgICA5MiwgNTAsIDUxLCAyNDEsIDk4LCAxMzQsIDg2LCA1MCwgNTEsIDI0MSwgOTgsIDEzNCwgMTczLCA1MSwgMiwgMTk0LCA5MSwgCisgICAgMTY3LCA1MSwgMiwgMTk0LCA5MSwgMTY3LCAyMTEsIDM2LCA0NSwgMTczLCAyMTEsIDM2LCA0NSwgOTIsIDUwLCAyNDYsIDc5LCAKKyAgICA0NSwgODYsIDUwLCAyNDYsIDc5LCA0NSwgOTIsIDIxMSwgMzYsIDI0NiwgNzksIDQ1LCA4NiwgMjExLCAzNiwgMjQ2LCA3OSwgCisgICAgNDUsIDg2LCAyMTAsIDEwOCwgMjExLCAzNiwgMjQ2LCA3OSwgNDUsIDg2LCA1MSwgMiwgMjQ0LCAyMSwgMjE0LCA5LCAxNjcsIAorICAgIDUxLCAyMTEsIDEzMCwgMTM0LCAxNzMsIDUxLCAyMTEsIDEzMCwgMTM0LCA4NiwgNTEsIDIsIDIxMiwgMTkyLCAyLCA3OSwgCisgICAgOTEsIDg2LCA1MSwgMiwgMjEyLCAxOTIsIDIsIDUwLCA3OSwgOTEsIDg2LCAyMTAsIDEwOCwgNTEsIDIsIDIxMiwgMTkxLCAKKyAgICA4NiwgMjEwLCAxMDgsIDUxLCAyLCAyMTIsIDE5MiwgMiwgNzksIDkxLCA4NiwgMjEwLCAxMDgsIDUxLCAyLCAyMTIsIDE5MiwgCisgICAgMiwgNTAsIDc5LCA5MSwgOTIsIDI1MSwgMjQ1LCA4NiwgMjUxLCAyNDUsIDkyLCA1MCwgMjUxLCAyNDUsIDg2LCA1MCwgMjUxLCAKKyAgICAyNDUsIDkyLCA1MSwgMjExLCAxMzAsIDYwLCAyNDUsIDE1NiwgODYsIDUxLCAyMTEsIDEzMCwgNjAsIDI0NSwgMTU2LCA5MiwgCisgICAgNTEsIDI0MSwgOTgsIDI1MCwgMTI5LCAyMTEsIDEzMCwgNjAsIDI0NSwgMTU2LCA4NiwgNTEsIDI0MSwgOTgsIDI1MCwgMTI5LCAKKyAgICAyMTEsIDEzMCwgNjAsIDI0NSwgMTU2LCAxNDMsIDIwNywgMzYsIDIzLCAxODgsIDI0MywgMTE3LCA0NSwgMTQzLCAyNDMsIAorICAgIDExNywgMjMsIDE4OCwgMjA3LCAzNiwgNDUsIDE0MywgMjA3LCAzNiwgNTEsIDIsIDEwOSwgMTQzLCAyNDMsIDExNywgNTEsIAorICAgIDIsIDEwOSwgMTg4LCAyNDMsIDExNywgNTEsIDIsIDEwOSwgMTg4LCAyMDcsIDM2LCA1MSwgMiwgMTA5LCAxNDMsIDIwNywgCisgICAgMzYsIDUxLCAyMywgMTQzLCAyNDMsIDExNywgNDUsIDE0MywgMjQzLCAxMTcsIDUxLCAyMywgMTg4LCAyNDMsIDExNywgNDUsIAorICAgIDE4OCwgMjQzLCAxMTcsIDUxLCAyMywgMTg4LCAyMDcsIDM2LCA0NSwgMTg4LCAyMDcsIDM2LCA1MSwgMjMsIDE0MywgMjA3LCAKKyAgICAzNiwgNDUsIDIxOCwgMTQyLCAyNDUsIDE2MywgMjQ3LCA1NCwgMjQyLCA1MCwgMjQ1LCAxNjIsIDI0MiwgNTAsIDI0NSwgCisgICAgMTYzLCAyNDcsIDU0LCAyMTgsIDE0MiwgMjQ1LCAxNjIsIDE4OCwgMjQzLCAxMTcsIDUxLCAyNDcsIDU0LCAxNDMsIDI0MywgCisgICAgMTE3LCA0NSwgMTQzLCAyNDMsIDExNywgNTEsIDI0NywgNTQsIDE4OCwgMjQzLCAxMTcsIDQ1LCAyNDIsIDUwLCAyNDUsIAorICAgIDE2MywgMjQ3LCA1NCwgMTQzLCAyNDMsIDExNywgNDUsIDIxOCwgMTQyLCAyNDUsIDE2MywgMjQ3LCA1NCwgMTg4LCAyNDMsIAorICAgIDExNywgNDUsIDE0MywgMjQzLCAxMTcsIDUxLCAyNDcsIDU0LCAxNDMsIDIwNywgMzYsIDQ1LCAxNDMsIDIwNywgMzYsIDUxLCAKKyAgICAyNDcsIDU0LCAxNDMsIDI0MywgMTE3LCA0NSwgMjA3LCA2NSwgNTEsIDIyMCwgMjAxLCAyNDUsIDEwMiwgMjE4LCAxNjcsIAorICAgIDUxLCAyMjAsIDIwMSwgODYsIDIxMiwgMzMsIDI0NywgMTcsIDIwOSwgMTk2LCA1MSwgMjIwLCAyMDEsIDg2LCAyMTIsIDMzLCAKKyAgICAyNDcsIDE3LCAyNDQsIDYsIDUxLCAyMjAsIDIwMSwgMTczLCAyMTIsIDMzLCAyNDcsIDE3LCAyMzAsIDM2LCA1MSwgMjIwLCAKKyAgICAyMDEsIDE3MywgMjEyLCAzMywgMjQ3LCAxNywgMjE4LCAxNTYsIDIxOCwgMTU5LCAyNTIsIDIyLCAyNDcsIDE5NCwgNDUsIAorICAgIDIzMCwgMzksIDI1MiwgMjIsIDI1MiwgODcsIDQ1LCAyMTEsIDEwMiwgMjUyLCAyMiwgMjUyLCA4NywgNDUsIDI0OSwgMTU0LCAKKyAgICAyNTIsIDIyLCAyNTIsIDg3LCA0NSwgMjExLCAxMDIsIDI1MiwgMjIsIDI0NywgMTk0LCA1MSwgMiwgMjI2LCAyMDEsIDIxMSwgCisgICAgMTAyLCAyNTIsIDIyLCAyNTIsIDg3LCA1MSwgMiwgMjIwLCAyMTgsIDIyOSwgOTIsIDQ4LCAyMTYsIDU0LCAyNDcsIDE5NCwgCisgICAgNDUsIDIyOSwgOTIsIDQ3LCAyMTYsIDU0LCAyNTIsIDg3LCA0NSwgMjUyLCA4NywgMjQ3LCAxOTIsIDI0NywgMjM0LCA0NSwgCisgICAgMjQ3LCAxOTQsIDI0NywgMTkyLCAyNDcsIDIzNCwgNDUsIDg2LCA1MSwgODQsIDIxNSwgMTQ0LCA5MiwgNDUsIDkyLCA1MSwgCisgICAgODQsIDIxNSwgMTQ0LCA4NiwgNDUsIDIxNSwgMTQ0LCA4NiwgNTEsIDg0LCA5MiwgNDUsIDg2LCA1MSwgMiwgMTAxLCA1NSwgCisgICAgOTIsIDUxLCAyLCAxMDEsIDU1LCA4NiwgNTEsIDIxMSwgMjMzLCAyMDYsIDE5NSwgNDcsIDQ4LCA1MSwgMjExLCAyMzMsIDUsIAorICAgIDI0NywgMjMzLCAxNjcsIDIxMCwgMTA4LCA1MSwgMjQxLCA5OCwgNSwgMjQ3LCAyMzMsIDQ3LCAxMzgsIDEyMCwgNDgsIDEzOCwgCisgICAgMTMwLCAyMzksIDg5LCA0NywgMTM4LCAxMzAsIDQ4LCAxMzgsIDEyMCwgMjM5LCA4OSwgMTIwLCAxMzgsIDQ4LCAxMzAsIAorICAgIDEzOCwgNDcsIDIzOSwgODksIDEyMCwgMTM4LCA0NywgMTMwLCAxMzgsIDQ4LCAyMzksIDg5LCA0NywgMTM4LCAxMjAsIDQ4LCAKKyAgICAxMzgsIDEyMCwgMjM5LCA4OSwgMTIwLCAxMzgsIDQ4LCAxMzAsIDEzOCwgNDgsIDIzOSwgODksIDQ3LCAxMzgsIDEzMCwgNDgsIAorICAgIDEzOCwgMTMwLCAyMzksIDg5LCAxMjAsIDEzOCwgNDcsIDEzMCwgMTM4LCA0NywgMjM5LCA4OSwgOTIsIDIzOSwgOTAsIDIsIAorICAgIDEzOCwgMTIwLCAyMTEsIDEzMCwgMTM0LCA4NiwgMjM5LCA5MCwgMiwgMTM4LCAxMjAsIDIxMSwgMTMwLCAxMzQsIDE2NywgCisgICAgMjM5LCA5MCwgMiwgMTM4LCA0OCwgMjExLCAxMzAsIDEzNCwgMTczLCAyMzksIDkwLCAyLCAxMzgsIDQ4LCAyMTEsIDEzMCwgCisgICAgMTM0LCA5MiwgMjM5LCA5MCwgMiwgMTM4LCAxMzAsIDIxMSwgMTMwLCAxMzQsIDg2LCAyMzksIDkwLCAyLCAxMzgsIDEzMCwgCisgICAgMjExLCAxMzAsIDEzNCwgMTY3LCAyMzksIDkwLCAyLCAxMzgsIDQ3LCAyMTEsIDEzMCwgMTM0LCAxNzMsIDIzOSwgOTAsIDIsIAorICAgIDEzOCwgNDcsIDIxMSwgMTMwLCAxMzQsIDkyLCAyMzksIDkwLCAyLCAxMzgsIDEyMCwgMjQxLCA5OCwgMTM0LCA4NiwgMjM5LCAKKyAgICA5MCwgMiwgMTM4LCAxMjAsIDI0MSwgOTgsIDEzNCwgMTY3LCAyMzksIDkwLCAyLCAxMzgsIDQ4LCAyNDEsIDk4LCAxMzQsIAorICAgIDE3MywgMjM5LCA5MCwgMiwgMTM4LCA0OCwgMjQxLCA5OCwgMTM0LCA5MiwgMjM5LCA5MCwgMiwgMTM4LCAxMzAsIDI0MSwgCisgICAgOTgsIDEzNCwgODYsIDIzOSwgOTAsIDIsIDEzOCwgMTMwLCAyNDEsIDk4LCAxMzQsIDE2NywgMjM5LCA5MCwgMiwgMTM4LCAKKyAgICA0NywgMjQxLCA5OCwgMTM0LCAxNzMsIDIzOSwgOTAsIDIsIDEzOCwgNDcsIDI0MSwgOTgsIDEzNCwgOTIsIDIzOSwgOTAsIDIsIAorICAgIDEzOCwgMTIwLCA4NCwgOTIsIDIzOSwgOTAsIDIsIDEzOCwgMjQ0LCA4LCAxNjcsIDIzOSwgOTAsIDIsIDEzOCwgNDcsIDI1MCwgCisgICAgMTIsIDE2NywgMjM5LCA5MCwgMiwgMTM4LCAyMTgsIDE2NywgODYsIDIzOSwgOTAsIDIsIDEzOCwgMTIwLCA4NCwgODYsIAorICAgIDIzOSwgOTAsIDIsIDEzOCwgMjQ0LCA4LCAxNzMsIDIzOSwgOTAsIDIsIDEzOCwgNDcsIDI1MCwgMTIsIDE3MywgMjM5LCA5MCwgCisgICAgMiwgMTM4LCAyMTgsIDE2NywgOTIsIDIzOSwgOTAsIDIsIDEzOCwgMTIwLCA4NCwgODYsIDIzOSwgOTAsIDIsIDEzOCwgMjA5LCAKKyAgICAyMDYsIDkyLCAyMzksIDkwLCAyLCAxMzgsIDEzMCwgODQsIDg2LCAyMzksIDkwLCAyLCAxMzgsIDI0NCwgOCwgODYsIDIzOSwgCisgICAgOTAsIDIsIDEzOCwgMTIwLCA4NCwgOTIsIDIzOSwgOTAsIDIsIDEzOCwgMjA5LCAyMDYsIDg2LCAyMzksIDkwLCAyLCAxMzgsIAorICAgIDEzMCwgODQsIDkyLCAyMzksIDkwLCAyLCAxMzgsIDI0NCwgOCwgOTIsIDIzOSwgOTAsIDIsIDEzOCwgMTIwLCA4NCwgMTUyLCAKKyAgICAyNDYsIDc4LCA5MiwgMjM5LCA5MCwgMiwgMTM4LCAxMzAsIDI1MCwgMjYsIDE1MiwgMjQ2LCA3OCwgODYsIDIzOSwgOTAsIDIsIAorICAgIDEzOCwgMTIwLCA4NCwgMTUyLCAyNDYsIDc4LCA4NiwgMjM5LCA5MCwgMiwgMTM4LCAxMzAsIDI1MCwgMjYsIDE1MiwgMjQ2LCAKKyAgICA3OCwgMTY3LCAyMzksIDkwLCAyLCAxMzgsIDQ3LCAyNTAsIDEyLCAxNzMsIDIzOSwgOTAsIDIsIDEzOCwgMjE4LCAxNjcsIAorICAgIDE3MywgMjM5LCA5MCwgMiwgMTM4LCA0NywgMjUwLCAxMiwgMTY3LCAyMzksIDkwLCAyLCAxMzgsIDIxOCwgMTY3LCA0OCwgCisgICAgNTAsIDUxLCAyLCAyMTgsIDkzLCAyMzksIDY4LCAyNDIsIDI0MiwgMywgODQsIDg2LCA0NSwgMjExLCAxODEsIDIyMiwgMTMzLCAKKyAgICA4NCwgODYsIDQ1LCA5MiwgNTEsIDg0LCAyMTEsIDE4MSwgMjIyLCAxMzIsIDg2LCA1MSwgODQsIDIxMSwgMTgxLCAyMjIsIAorICAgIDEzMiwgODYsIDUxLCA4NCwgMjUyLCAxNDksIDE0NiwgMTI0LCAyMzAsIDEwLCA4NCwgOTIsIDQ1LCA5MiwgNTEsIDIxMSwgCisgICAgMjMzLCAyMzAsIDksIDIzOSwgMjMwLCA4NCwgODYsIDQ1LCAyMTMsIDE4MiwgODQsIDg2LCA0NSwgOTIsIDUxLCAyMTEsIAorICAgIDIzMywgMjEzLCAxODEsIDIxMywgMTM4LCA4NCwgOTIsIDQ1LCA0NywgMjQxLCAyMTQsIDIxMiwgMTkxLCA0OCwgMjQxLCAKKyAgICAyMTQsIDIxMiwgMTkxLCAxMjAsIDI0MSwgMjE0LCAyMTIsIDE5MSwgMTMwLCAyNDEsIDIxNCwgMjEyLCAxOTEsIDIxMSwgMzYsIAorICAgIDc5LCAyNTAsIDEyOSwgMjQ1LCAyMzMsIDIwNSwgMTYwLCAyMjQsIDQxLCAyMTQsIDExNiwgMjA1LCAxNjAsIDIyNCwgNDEsIAorICAgIDIxMCwgOTUsIDI0NywgMTYyLCA0NywgNTksIDI0NywgMjYsIDE0NSwgNDgsIDU5LCAyNDcsIDI2LCAxNDUsIDQ3LCA1OSwgCisgICAgMjIxLCAyMTYsIDQ4LCA1OSwgMjIxLCAyMTYsIDIwNSwgMTYwLCAyMjQsIDQxLCA0NywgMjMzLCA4NCwgMTQ1LCAyMDUsIAorICAgIDE2MCwgMjI0LCA0MSwgNDgsIDIzMywgODQsIDE0NSwgMjA1LCAxNjAsIDIyNCwgNDEsIDQ3LCAyNDksIDIyMywgMTQ1LCAKKyAgICAyMDUsIDE2MCwgMjI0LCA0MSwgNDgsIDI0OSwgMjIzLCAxNDUsIDQ3LCA0OSwgMjQ5LCAxMzQsIDIsIDIwOSwgMjI2LCA0OCwgCisgICAgNDksIDI0OSwgMTM0LCAyLCAyMDksIDIyNiwgNDcsIDQ5LCAyNDksIDEzNCwgMiwgMjExLCAyMDgsIDIzMywgNjksIDIxMSwgCisgICAgMTAyLCAyNDcsIDkxLCA0OCwgNDksIDI0OSwgMTM0LCAyLCAyMTEsIDIwOCwgMjMzLCA2OSwgMjQ5LCAxNTQsIDI0NywgOTEsIAorICAgIDQ3LCA0OSwgMjQ5LCAxMzQsIDIsIDIxMSwgMjA4LCAyMzMsIDY5LCAyNDksIDE1NCwgMjQ3LCA5MSwgNDgsIDQ5LCAyNDksIAorICAgIDEzNCwgMiwgMjExLCAyMDgsIDIzMywgNjksIDIxMSwgMTAyLCAyNDcsIDkxLCA0NywgMjUyLCAxMDksIDI0OSwgMTM0LCAyLCAKKyAgICAyNDUsIDIzLCA0OCwgMjUyLCAxMDksIDI0OSwgMTM0LCAyLCAyNDUsIDIzLCA0NywgMjUyLCAyMiwgMjMwLCAxMCwgMTQ1LCAKKyAgICA0OCwgMjUyLCAyMiwgMjM5LCAyMzAsIDE0NSwgNTAsIDQ3LCAyNTIsIDIyLCAyMzksIDIzMCwgMTQ1LCA1MCwgNDgsIDI1MiwgCisgICAgMjIsIDIzMCwgMTAsIDE0NSwgNDcsIDYwLCAyMTEsIDkzLCAyMTUsIDIwNCwgMTQ1LCA0OCwgNjAsIDIxMSwgOTMsIDIxNSwgCisgICAgMjA0LCAxNDUsIDI0NCwgMjEsIDI0MiwgOCwgNzksIDIwNSwgMzEsIDIyOSwgMjA1LCAyMjcsIDExNiwgMjUyLCAxMDksIAorICAgIDIyMiwgMTM1LCAyMzAsIDQ2LCA0OCwgMjUyLCAxMDksIDIwOSwgNTMsIDIsIDIxNCwgMTA3LCAyMjcsIDExNiwgNDgsIDI1MiwgCisgICAgMTA5LCAyLCAyNDUsIDIzLCAyNTIsIDEwOSwgMiwgMjE4LCAxLCAyMzMsIDI1LCAyNTMsIDksIDI1MiwgMTA4LCAyMTQsIAorICAgIDEzMywgMjUyLCAxMDksIDIyMiwgMTM1LCAyMzAsIDQ2LCAyMTQsIDEzMywgMjUyLCAxMDksIDIyMiwgMTM1LCAyMDksIDIwNiwgCisgICAgMjAxLCAyNTIsIDEwOCwgMjE4LCAyMjQsIDI1MiwgMTA4LCAyNTIsIDEwOSwgMiwgMjA5LCAyMjYsIDIxOCwgMjI0LCAyNTIsIAorICAgIDEwOSwgMiwgMjA5LCAyMjYsIDIyMiwgMjIyLCAyNTIsIDEwOSwgMjIyLCAxMzUsIDIwOSwgMjA2LCAyMjIsIDIyMiwgMjUyLCAKKyAgICAxMDksIDIyMiwgMTM1LCAyNDQsIDgsIDIyNywgMTE2LCAyNTIsIDEwOSwgMiwgMjIyLCAxNDIsIDI1MiwgMCwgMjQzLCAzMSwgCisgICAgMjMzLCA2OSwgNTEsIDIyMCwgMjAxLCAxMjAsIDIzLCAyMTgsIDE2NywgMjI3LCAxMTYsIDI1MiwgMTA5LCAyLCAyMjIsIAorICAgIDE0MiwgMjUyLCAwLCAyNDMsIDMxLCAyMzMsIDY5LCA1MSwgMjIwLCAyMDEsIDEyMCwgMjMsIDIzMCwgNDYsIDIyNywgMTE2LCAKKyAgICAyNTIsIDEwOSwgMiwgMjIyLCAxNDIsIDI1MiwgMCwgMjQzLCAzMSwgMjMzLCA2OSwgNTEsIDIyMCwgMjAxLCAxMzAsIDIzLCAKKyAgICAyMTgsIDE2NywgMjI3LCAxMTYsIDI1MiwgMTA5LCAyLCAyMjIsIDE0MiwgMjUyLCAwLCAyNDMsIDMxLCAyMzMsIDY5LCA1MSwgCisgICAgMjIwLCAyMDEsIDEzMCwgMjMsIDIzMCwgNDYsIDIyNywgMTE2LCAyNTIsIDEwOSwgMiwgMjIyLCAxNDIsIDI1MiwgMCwgMjQzLCAKKyAgICAzMSwgMjMzLCA2OSwgNTEsIDIyMCwgMjAxLCA0OCwgMjMsIDIwOSwgMjA2LCAyMjcsIDExNiwgMjUyLCAxMDksIDIsIDIyMiwgCisgICAgMTQyLCAyNTIsIDAsIDI0MywgMzEsIDIzMywgNjksIDUxLCAyMjAsIDIwMSwgNDcsIDIzLCAyMDksIDIwNiwgMjI3LCAxMTYsIAorICAgIDI1MiwgMTA5LCAyLCAyMjIsIDE0MiwgMjUyLCAwLCAyNDMsIDMxLCAyMzMsIDY5LCA1MSwgMjIwLCAyMDEsIDQ4LCAyMywgCisgICAgMjQ0LCA4LCAyMjcsIDExNiwgMjUyLCAxMDksIDIsIDIyMiwgMTQyLCAyNTIsIDAsIDI0MywgMzEsIDIzMywgNjksIDUxLCAKKyAgICAyMjAsIDIwMSwgNDcsIDIzLCAyNDQsIDgsIDIxOCwgMjI0LCAyNDMsIDQzLCAyMTYsIDI4LCAyNDMsIDQzLCAyMTYsIDI5LCAKKyAgICAyLCAyMjIsIDg2LCAyNDMsIDQzLCAyMTYsIDI5LCAyLCA1LCAyNDcsIDIzNCwgNTIsIDI0MywgNDMsIDIxNiwgMjksIDIsIAorICAgIDQ4LCA1MSwgNTIsIDI0MywgNDMsIDIxNiwgMjksIDIsIDQ3LCA1MSwgNTIsIDI0NywgMjM0LCAyLCAxOTQsIDEzNCwgMzksIAorICAgIDc5LCAxMzQsIDM5LCAyMjEsIDIyMSwgMzksIDIxOCwgMjI1LCAyMTQsIDE4MCwgMzksIDIyMSwgMTE4LCAyNDcsIDIzNCwgCisgICAgMjQ1LCA4MCwgMjQ5LCA0NiwgMTk0LCAyNTAsIDEyOSwgMjMsIDIxMSwgMTAyLCAxNjAsIDI0NSwgODAsIDI0OSwgNDYsIDc5LCAKKyAgICAxMzQsIDI0NywgMjM0LCAyLCAyMTMsIDE0MCwgMjA2LCAxOTUsIDM5LCAyNTIsIDg1LCAyNDUsIDc1LCA1MywgMTIwLCA1MSwgCisgICAgMjExLCAyMzMsIDI0NywgMjMzLCAzOSwgNTksIDI0OSwgODUsIDM5LCAyNDksIDg1LCAzOSwgMjMwLCA5LCAzOSwgMjM5LCAKKyAgICAyMjksIDI0NywgMjM0LCAyLCA1LCAyNDcsIDIzNCwgMjExLCAxMzAsIDIxMiwgNDIsIDIxOCwgMTY3LCAyNDcsIDIzNCwgMiwgCisgICAgMTE4LCAxOTQsIDIxMywgMjEzLCAyMTEsIDEzMCwgMjEyLCA0MiwgMjE4LCAxNjcsIDk4LCAyMTgsIDE0MiwgMjQ1LCAxNjMsIAorICAgIDIxNCwgMjM1LCA5OCwgMjQyLCA1MCwgMjQ1LCAxNjMsIDIxNCwgMjM1LCA5OCwgMjUxLCAyMDksIDk4LCA1LCAyNDcsIDIzMywgCisgICAgOTgsIDIxNCwgMTA3LCAxMTgsIDIzMiwgMTE5LCAyMTQsIDEwNSwgMjExLCA1MiwgMiwgNjcsIDUyLCAyMTEsIDUyLCAyLCAKKyAgICAyMDksIDIyNiwgMjE4LCAxLCAyMzMsIDY5LCAyMTEsIDUxLCAyMTEsIDUyLCAyLCAyMTYsIDM1LCAyNTEsIDIwMCwgMjQ5LCAKKyAgICAxNTMsIDQ4LCAyMTEsIDUyLCA4NCwgNDcsIDIxMSwgNTEsIDQ3LCAyMTEsIDUyLCAyNTAsIDEyLCA3OSwgMTM0LCA3OSwgCisgICAgMjUwLCAxMjksIDI1MCwgMTIsIDQ4LCAyMTEsIDUxLCAyNDksIDE0MiwgMiwgNDcsIDE2MCwgMjQ5LCAyMDIsIDI0OSwgMTQyLCAKKyAgICAyLCA0OCwgMTYwLCAyNDksIDIwMiwgNjAsIDI0OSwgMTQxLCAyOSwgMiwgNDcsIDE2MCwgMjQ5LCAyMDIsIDI5LCAyLCA0OCwgCisgICAgMTYwLCAyNDksIDIwMiwgNTksIDIzOCwgNTYsIDYwLCAyMzgsIDU2LCA0NywgMjA3LCAxNCwgMjQyLCA4LCA0OCwgMjA3LCAKKyAgICAxNCwgMjQyLCA4LCA0NywgNTAsIDIwNywgMTQsIDI0MiwgOCwgNDgsIDUwLCAyMDcsIDE0LCAyNDIsIDgsIDIzMywgNjEsIAorICAgIDIzMywgNDUsIDIxMSwgMjA0LCAxMzEsIDIzMywgNDUsIDIzMywgNDYsIDIyNSwgMTA1LCAyLCA3OSwgMTM0LCAyNDQsIDE1LCAKKyAgICAyMjYsIDk3LCA0OSwgMiwgMjQ3LCAxMTIsIDIyMiwgOTAsIDIzMywgNTgsIDI1MSwgMjMxLCAyMTUsIDExMCwgMjIwLCAxMTUsIAorICAgIDI0MiwgMjQyLCAzLCAyMywgMjE0LCAyMzcsIDIyMSwgMjIxLCAyNDIsIDI0MiwgMywgMjMsIDIxNCwgMjM3LCAyMjEsIDIyMiwgCisgICAgMiwgMjExLCAxODEsIDUyLCAyMzcsIDE3MywgMjExLCAxMzAsIDIzLCAyMTQsIDIzNywgMjIxLCAyMjEsIDI0MCwgMjgsIAorICAgIDIxNCwgMjUsIDIxMiwgMzAsIDI0NCwgNywgMjExLCA1MiwgMiwgNDcsIDE2MCwgMjQ5LCAyMDIsIDI0NCwgNywgMjExLCA1MiwgCisgICAgMiwgNDgsIDE2MCwgMjQ5LCAyMDIsIDYwLCAyNDUsIDE1NywgMiwgMTMwLCA0NSwgNjAsIDIyOSwgODgsIDU5LCAyNDcsIAorICAgIDIzNCwgMiwgMTMwLCA0NSwgNjAsIDI0NywgMjM0LCAyLCAxMzAsIDQ1LCAyNDIsIDIyOCwgNTksIDIxNCwgMTA3LCAyNDIsIAorICAgIDIyOCwgNjAsIDIxNCwgMTA3LCAyNDIsIDIyOCwgNTksIDI0NSwgMTU2LCAyNDIsIDIyOCwgNjAsIDI0NSwgMTU2LCAyNDIsIAorICAgIDIyOCwgNTksIDI0NywgMjMzLCAyNDIsIDIyOCwgNjAsIDI0NywgMjMzLCAyMTgsIDQxLCAyMTgsIDIyNSwgMjE0LCAxODEsIAorICAgIDIyMiwgMTMyLCAyMTQsIDE4MSwgMiwgMjIyLCA4NiwgMjE4LCAyMjUsIDIxNCwgMTgxLCAyLCAxOTQsIDkxLCAyNDksIDIzMSwgCisgICAgMjE0LCAxODAsIDI0OSwgMjMxLCAyMTgsIDIyNSwgMjE0LCAxODAsIDUwLCAyMjAsIDIxOCwgMjExLCAzNiwgMjIwLCAyMTgsIAorICAgIDIzMCwgNDEsIDI0NywgMTgsIDI1MiwgMTA5LCAxNDUsIDIxOCwgMTYyLCAyNDcsIDE4LCAyNTIsIDEwOSwgMTQ1LCAyMTEsIAorICAgIDE2OCwgMjI2LCAxOTksIDIyNiwgMzIsIDM5LCA2NywgMjIyLCAxMzIsIDIyNiwgMzIsIDM5LCAxMDEsIDIyMiwgMTMyLCAKKyAgICAyMjYsIDMyLCAzOSwgMjksIDIyMiwgMTMyLCAyMjYsIDMyLCAyMDksIDIxOSwgMjIyLCAxMzMsIDIsIDI0NSwgMjMsIDIyNiwgCisgICAgMzIsIDIwOSwgMjE5LCAyMjIsIDEzMywgMiwgMjIwLCAyMTgsIDIyNiwgMzIsIDQ5LCAyMzMsIDgsIDIyMiwgMTMyLCAyMjYsIAorICAgIDMyLCA0OSwgMjA5LCAyMTksIDIyMiwgMTMyLCAxMTgsIDIyOSwgMTM0LCAyMywgMjIyLCAxMzIsIDExOCwgMjI5LCAxMzQsIAorICAgIDIyMiwgMTIzLCAyMjIsIDEzMiwgMjI2LCAzMiwgMjksIDIyMiwgMTMyLCAyMjYsIDE3MiwgMTE4LCAyMTMsIDE2MCwgMjEzLCAKKyAgICAxNTgsIDIsIDIzMywgMjEsIDIxOSwgMjA3LCAyMzMsIDIyLCAyMjIsIDEzMiwgMjQxLCAyMjIsIDIyMSwgMjExLCAyMzMsIAorICAgIDIxLCAyMzMsIDIyLCAyLCA1MCwgOTEsIDIzMywgMjIsIDI1MSwgMTY1LCAyLCAyMTQsIDIzNSwgMjQ3LCAyMjksIDI0MSwgCisgICAgNzksIDI1MiwgODcsIDIzMywgMTksIDIyOSwgMjA2LCAyMzMsIDIwLCAyLCAyMTksIDM2LCAyMjEsIDE5MiwgMjUxLCAyNTMsIAorICAgIDIyMCwgMTk1LCAyMjksIDIwNiwgMjMzLCAyMCwgMiwgMjE2LCA1NCwgMjIxLCAxOTIsIDI1MSwgMjUzLCAyMjAsIDE5NSwgCisgICAgMjI5LCAyMDYsIDIzMywgMjAsIDIyNCwgNDMsIDIzMywgNjMsIDIxMiwgNDIsIDIyMCwgMTk1LCAyMzMsIDIyLCAyNTEsIAorICAgIDI1MywgMzIsIDIyMCwgMjA1LCAyMjIsIDEzMiwgMjE5LCAyMDEsIDIzMywgMjIsIDIyMiwgMTMyLCAyMzMsIDIyLCAyLCA5MiwgCisgICAgNTEsIDIsIDEwOSwgMjMzLCAyMiwgMiwgMjksIDUzLCAyMzMsIDIyLCAyLCAyMzMsIDcsIDIzMywgMjIsIDIsIDIwOSwgMjE4LCAKKyAgICAyMzMsIDIyLCAyLCAyMjIsIDg2LCAyMzMsIDIyLCAyLCAyMDksIDIyNiwgMjMyLCAxMjAsIDIzMCwgODYsIDQ3LCAyMTEsIAorICAgIDUyLCAyMjIsIDEzMiwgMjA1LCAxNjAsIDIyNCwgNDEsIDIxNywgMTA2LCAyNDcsIDE0NSwgMjA1LCAxNjAsIDIyNCwgNDEsIAorICAgIDIxNywgMTA2LCAyMjEsIDAsIDIwNSwgMTYwLCAyMjQsIDQxLCAyMTcsIDEwNiwgMjIwLCAxMTAsIDEwMSwgMywgMiwgNSwgCisgICAgMjQ3LCAyMzQsIDUyLCAxMDEsIDMsIDIsIDI0NywgMjI4LCAyNTMsIDIyLCA1MiwgMTAxLCAzLCAyLCAyMTEsIDE4MSwgNTIsIAorICAgIDEwMSwgMywgMiwgNjcsIDU1LCAxMDEsIDMsIDIsIDIxMSwgMTgxLCA1NSwgMTAxLCAzLCAyLCAyMTMsIDE4MywgMTA1LCAKKyAgICAxMDEsIDMsIDIsIDYwLCAyMTEsIDUxLCAyMjYsIDIwMiwgMywgMiwgMjQ3LCAxNTYsIDUyLCAyMjYsIDIwMiwgMywgMiwgNjcsIAorICAgIDU1LCAyMjYsIDIwMiwgMywgMiwgMjQyLCA1MCwgMjQ1LCAyMSwgMjI2LCAyMDIsIDMsIDIsIDIxOCwgMTQyLCAyNDUsIDIxLCAKKyAgICAxMDEsIDMsIDIzMywgNjksIDQ3LCAxNjAsIDI0NywgMjMzLCAxMDEsIDMsIDIzMywgNjksIDQ4LCAxNjAsIDI0NywgMjMzLCAKKyAgICAyMDksIDM4LCAyMjIsIDEyMywgMjQ3LCA2MCwgMjIwLCAxMTUsIDIyNiwgOTQsIDMsIDIsIDY3LCA1MiwgMjI2LCA5NCwgMywgCisgICAgMiwgMjA5LCAyMjYsIDIxNiwgNTEsIDIyMCwgMTE2LCAyLCAyNDksIDE1NCwgMjQ3LCAxOTEsIDIxNCwgMjEzLCAyMjAsIAorICAgIDExNSwgMjI2LCA5NCwgMywgMjMzLCA2OSwgNDcsIDE2MCwgMjQ3LCAyMzMsIDIyNiwgOTQsIDMsIDIzMywgNjksIDQ4LCAKKyAgICAxNjAsIDI0NywgMjMzLCAzOSwgMjI2LCA5NCwgMywgMiwgMjQ3LCAyMjgsIDI1MywgMjEsIDIyNiwgOTQsIDMsIDIzMywgNjksIAorICAgIDUwLCAyNDcsIDIzMywgMzksIDI0NSwgNzUsIDUzLCAxMDEsIDMsIDIzMywgNjksIDIxMSwgNTEsIDIyNiwgMjAyLCAzLCAKKyAgICAyMzMsIDY5LCAyMTEsIDUxLCAyMjYsIDk0LCAzLCAyMzMsIDY5LCAyMTEsIDUxLCAyMzMsIDE2LCAyMjAsIDExNSwgMjE4LCAKKyAgICAxNTcsIDIzMywgMTYsIDIyMCwgMTE1LCAyMDUsIDE2MCwgMjI0LCA0MSwgMjE5LCAxMCwgMjQ3LCAxNDUsIDI1MiwgMTM0LCAKKyAgICAyMjIsIDEyMywgMjQ3LCA5NiwgMjMzLCA4LCAyLCAyNDUsIDIzLCAyMDksIDIxOSwgMiwgMjI2LCAyMDIsIDUzLCAyMDksIAorICAgIDIxOSwgMiwgMjIyLCA4NiwgMjMzLCA4LCAyLCAyMjIsIDg2LCAyMzMsIDgsIDIsIDIyOSwgMTM0LCAyNTIsIDExNywgMjA5LCAKKyAgICAyMTksIDIsIDIyOSwgMTM0LCAyMjIsIDEyMiwgMjA5LCAyMTksIDg0LCAyMzMsIDcsIDIzMywgOCwgODQsIDIwOSwgMjE4LCAKKyAgICAyMDksIDIxOSwgODQsIDI1MCwgMTI5LCA4NCwgMjMzLCA3LCAyMzMsIDgsIDg0LCAyNTAsIDEyOSwgODQsIDIwOSwgMjE4LCAKKyAgICAyMDksIDIxOSwgMjUwLCAxMiwgMjMsIDIzMiwgMTE5LCAyLCAyMDksIDIxOCwgMjMzLCA4LCAyNTAsIDEyLCAyMywgMjMyLCAKKyAgICAxMTksIDIsIDIzMywgNywgMjQ3LCAxOTIsIDIwOSwgMjE5LCAyLCAyMTYsIDM0LCAyNDcsIDE5MiwgMjMzLCA4LCAyLCAyMTYsIAorICAgIDM0LCA1MCwgNDksIDIzMywgNywgNTAsIDQ5LCAyMDksIDIxOCwgMjQ3LCAxOTIsIDIwOSwgMjE5LCAyLCAyMTYsIDM1LCAyMywgCisgICAgMjE0LCAyMTMsIDIyMCwgMTE1LCAyMjksIDEzNCwgMjMsIDIsIDY3LCA1MiwgMjI5LCAxMzQsIDIyMiwgMTIzLCAyLCA2NywgCisgICAgNTIsIDUwLCAyMjksIDEzNCwgMjUyLCAxMTcsIDUwLCAyMjksIDEzNCwgMjIyLCAxMjIsIDExOCwgMjMzLCA5LCAyMjksIAorICAgIDEzNCwgMjUyLCAxMTcsIDExOCwgMjMzLCA5LCAyMjksIDEzNCwgMjIyLCAxMjIsIDIxNCwgMjIxLCAyMzAsIDg2LCAyMjIsIAorICAgIDEyMiwgMjE0LCAyMjEsIDIzMCwgODYsIDI1MiwgMTE3LCAyMjksIDEzNCwgMjIyLCAxMjMsIDIyMiwgODMsIDIyOSwgMTM0LCAKKyAgICAyNTIsIDExNywgMjI5LCAxMzQsIDIzLCAyLCAyMjYsIDI0NywgMjE0LCA5LCAyMjksIDEzNCwgMjIyLCAxMjMsIDIsIDIyNiwgCisgICAgMjQ3LCAyMTQsIDksIDIyOSwgMTM0LCAyMywgMiwgMTk0LCAyNDYsIDc4LCAyMjksIDEzNCwgMjIyLCAxMjMsIDIsIDE5NCwgCisgICAgMjQ2LCA3OCwgMjI5LCAxMzQsIDIzLCAyLCA1MCwgMjIyLCA4NiwgMjI5LCAxMzQsIDIzLCAyLCAyMDksIDIyNiwgMjI5LCAKKyAgICAxMzQsIDIzLCAyLCA1MCwgMjA5LCAyMjYsIDUsIDIwOSwgMzUsIDIsIDIwOSwgMjI2LCAyMjksIDEzNCwgMjIyLCAxMjMsIDIsIAorICAgIDUwLCAyMjIsIDg2LCAyMjksIDEzNCwgMjIyLCAxMjMsIDIsIDUwLCAyMDksIDIyNiwgMjA1LCAxNjAsIDIyNCwgNDEsIDI0NSwgCisgICAgMzIsIDI1MiwgNzcsIDIwNSwgMTYwLCAyMjQsIDQxLCAyMTksIDcyLCAyNTIsIDc3LCAyNDIsIDI0MiwgMywgMiwgNjcsIDU1LCAKKyAgICAyMzcsIDE3MywgMiwgNjcsIDUyLCAyMTEsIDM2LCAxOTQsIDI1MCwgMTI5LCAyLCA1MCwgNzksIDkxLCAyMTEsIDM2LCAxOTQsIAorICAgIDI1MCwgMTI5LCAyLCAyMTEsIDM2LCA3OSwgOTEsIDIxMSwgMTgxLCAyMjIsIDEzMywgMiwgNjcsIDUyLCAyMTEsIDE4MSwgCisgICAgMjIyLCAxMzMsIDIsIDIxOCwgMTQyLCAyNDUsIDIxLCAyMTUsIDQ4LCAyMjYsIDIwMiwgMjE1LCA0NywgMjQ3LCAxMzIsIDIsIAorICAgIDY3LCA1MiwgMjQyLCAyNDIsIDIsIDI1MSwgMjA5LCAyNTIsIDE0OSwgMTQ2LCAyMTEsIDEzMCwgMiwgMjQ3LCAyMjgsIDI1MywgCisgICAgMjEsIDI1MiwgNDQsIDE0NiwgMjIyLCAxMjMsIDE0NiwgMTI0LCAyNDIsIDI0MiwgMywgODQsIDEwMSwgNTMsIDEwMSwgMywgCisgICAgODQsIDI0MiwgMjQyLCA1MywgMjQyLCAyNDIsIDMsIDg0LCAyMTEsIDE4MSwgMjIyLCAxMzIsIDUwLCAyNDcsIDE2MywgMjQyLCAKKyAgICAyNDMsIDExOCwgMjQ3LCAxMjcsIDI0MiwgMjQyLCAyMTUsIDYyLCAxMjksIDI0NywgMTI3LCAyNDIsIDI0MiwgMjE1LCA2MiwgCisgICAgMjQyLCAyNDIsIDMsIDIsIDExOCwgMTc3LCA4NCwgMjMsIDExOCwgMTc3LCA1NSwgMjQyLCAyMzcsIDIsIDI0MSwgMTI1LCAKKyAgICAxNzcsIDUyLCAyMzAsIDEwLCAyLCAyNDcsIDIzNCwgMjMzLCAyNSwgMjM5LCAyMzAsIDIsIDI0NywgMjM0LCAyMzMsIDI1LCAKKyAgICAyMzAsIDEwLCAyLCAyMTksIDE5NiwgMTQxLCA1MiwgMjM5LCAyMzAsIDIsIDIxOSwgMTk2LCAxNDEsIDUyLCAyMzAsIDEwLCAKKyAgICAyMjIsIDEyMywgMjE0LCAyMzcsIDE0NiwgMTI0LCAyMzksIDIzMCwgMjIyLCAxMjMsIDIxNCwgMjM3LCAxNDYsIDEyNCwgCisgICAgMjMwLCAxMCwgMjIyLCAxMjMsIDIxNCwgMjM3LCAxNDYsIDIxMSwgMTMwLCAyLCA2NywgMjMzLCAyNSwgMjM5LCAyMzAsIAorICAgIDIyMiwgMTIzLCAyMTQsIDIzNywgMTQ2LCAyMTEsIDEzMCwgMiwgNjcsIDIzMywgMjUsIDIzMCwgMTAsIDIyMiwgMTIzLCAKKyAgICAyMTQsIDIzNywgMTQ2LCAyMTEsIDEzMCwgMiwgNjcsIDUyLCAyMzksIDIzMCwgMjIyLCAxMjMsIDIxNCwgMjM3LCAxNDYsIAorICAgIDIxMSwgMTMwLCAyLCA2NywgNTIsIDIzMCwgMTAsIDIyMiwgMTIzLCAyMTQsIDIzNywgMTQ2LCAyMTEsIDEzMCwgMiwgNjcsIAorICAgIDg0LCAyMTgsIDE2NywgMjM5LCAyMzAsIDIyMiwgMTIzLCAyMTQsIDIzNywgMTQ2LCAyMTEsIDEzMCwgMiwgNjcsIDg0LCAKKyAgICAyMzAsIDQ2LCAyMzAsIDEwLCAyMjIsIDEyMywgMjUyLCA0NSwgMjM5LCAyMzAsIDIyMiwgMTIzLCAyNTIsIDQ1LCAyMzAsIAorICAgIDEwLCAyMywgMjE1LCAzOSwgMjI0LCA0MywgMTQ2LCAxMjQsIDIzOSwgMjMwLCAyMywgMjE1LCAzOSwgMjI0LCA0MywgMTQ2LCAKKyAgICAxMjQsIDIzMCwgMTAsIDIzLCAyMjQsIDQzLCAyNTIsIDQ1LCAyMzksIDIzMCwgMjMsIDIyNCwgNDMsIDI1MiwgNDUsIDIzMCwgCisgICAgMTAsIDg0LCAyNDQsIDE0LCAxNDYsIDg0LCAyMzksIDIyOSwgMjM5LCAyMzAsIDg0LCAyNDQsIDE0LCAxNDYsIDg0LCAyMzAsIAorICAgIDksIDIzMCwgMTAsIDg0LCAyMTUsIDQ4LCAyMjIsIDEyMywgMjQyLCAyNDMsIDIzOSwgMjMwLCA4NCwgMjE1LCA0OCwgMjIyLCAKKyAgICAxMjMsIDI0MiwgMjQzLCAyMzAsIDEwLCA4NCwgMjE1LCA0OCwgODQsIDIzOSwgMjI5LCAyMzksIDIzMCwgODQsIDIxNSwgNDgsIAorICAgIDg0LCAyMzAsIDksIDIzMCwgMTAsIDg0LCAyMzksIDIzMCwgODQsIDI0NCwgMTQsIDI0MiwgMjQzLCAyMzksIDIzMCwgODQsIAorICAgIDIzMCwgMTAsIDg0LCAyNDQsIDE0LCAyNDIsIDI0MywgMjMwLCAxMCwgODQsIDIxNCwgMjM3LCAxNDYsIDg0LCAyMzksIDIzMCwgCisgICAgODQsIDIxNCwgMjM3LCAyNDIsIDI0MywgMjM5LCAyMzAsIDg0LCAyMTQsIDIzNywgMTQ2LCA4NCwgMjMwLCAxMCwgODQsIAorICAgIDIxNCwgMjM3LCAyNDIsIDI0MywgMjE0LCAyMzcsIDE0NiwgMjExLCAxMzAsIDIyMiwgMTIzLCAyMzAsIDksIDIxNCwgMjM3LCAKKyAgICAxNDYsIDIxMSwgMTMwLCAyMjIsIDEyMywgMjM5LCAyMjksIDIxNCwgMjM3LCAxNDYsIDIxMSwgMTMwLCAyMjIsIDEyMywgCisgICAgMjMwLCAxMCwgMiwgNjcsIDIzMywgMjUsIDIxNCwgMjM3LCAxNDYsIDIxMSwgMTMwLCAyMjIsIDEyMywgMjM5LCAyMzAsIDIsIAorICAgIDY3LCAyMzMsIDI1LCAyNDQsIDE0LCAxNDYsIDIxMSwgMTMwLCAyMjIsIDEyMywgMjMwLCA5LCAyNDQsIDE0LCAxNDYsIDIxMSwgCisgICAgMTMwLCAyMjIsIDEyMywgMjM5LCAyMjksIDI0NCwgMTQsIDIxNCwgMjM3LCAxNDYsIDIxMSwgMTMwLCAyMjIsIDEyMywgMjMwLCAKKyAgICA5LCAyNDQsIDE0LCAyMTQsIDIzNywgMTQ2LCAyMTEsIDEzMCwgMjIyLCAxMjMsIDIzOSwgMjI5LCAyMTUsIDQ4LCAyMjIsIAorICAgIDEyMywgMjMwLCA5LCAyMTUsIDQ4LCAyMjIsIDEyMywgMjM5LCAyMjksIDIxNSwgNDgsIDg0LCAyMzAsIDEwLCA4NCwgMjQyLCAKKyAgICAyNDIsIDUzLCAyMTUsIDQ4LCA4NCwgMjM5LCAyMzAsIDg0LCAyNDIsIDI0MiwgNTMsIDUwLCAyMjUsIDkzLCAyMzAsIDksIAorICAgIDUwLCAyMjUsIDkzLCAyMzksIDIyOSwgNTAsIDIyNSwgOTMsIDIzMCwgMTAsIDIsIDIwOSwgMjI2LCAyMzksIDIzMCwgMjIyLCAKKyAgICA4MywgMjMwLCA5LCAyMzksIDIzMCwgMjUwLCAxMiwgMjMwLCA5LCAyMzAsIDEwLCAyNDcsIDE5MiwgMjQ5LCA0NiwgMjQ3LCAKKyAgICAxOSwgMjM5LCAyMzAsIDI0NywgMTkyLCAyNDksIDQ2LCAyNDcsIDE5LCAyMzAsIDEwLCAyNDcsIDE5MiwgMjQ5LCA0NiwgCisgICAgMjQ3LCAyMCwgODQsIDIxNCwgMjM3LCAyNDIsIDI0MywgMjM5LCAyMzAsIDI0NywgMTkyLCAyNDksIDQ2LCAyNDcsIDIwLCAKKyAgICA4NCwgMjE0LCAyMzcsIDI0MiwgMjQzLCAyMTQsIDIxNCwgMjEyLCA0NiwgMjMwLCA4NCwgMjEyLCA0NiwgMjE0LCAyMTQsIAorICAgIDIxMiwgNDcsIDIyMiwgMTIzLCAxNDYsIDEyNCwgMjMwLCA4NCwgMjEyLCA0NywgMjIyLCAxMjMsIDE0NiwgMTI0LCAyNDIsIAorICAgIDI0MiwgMywgMiwgMjQ5LCA3OCwgNTIsIDIyMCwgMTQwLCA4NCwgMjE1LCAzOSwgMjQyLCAyNDIsIDUzLCAyMTMsIDE3NCwgCisgICAgODQsIDIxNSwgMzksIDI0MiwgMjQyLCA1MywgMjIwLCAxNDAsIDg0LCAyMTUsIDM5LCAyMjQsIDQzLCAxNDYsIDEyNCwgMjEzLCAKKyAgICAxNzQsIDg0LCAyMTUsIDM5LCAyMjQsIDQzLCAxNDYsIDEyNCwgMjIwLCAxNDAsIDg0LCAyNDIsIDI0MiwgNTMsIDIxMywgCisgICAgMTc0LCA4NCwgMjQyLCAyNDIsIDUzLCAyMjAsIDE0MCwgODQsIDIyNCwgNDMsIDE0NiwgMTI0LCAyMTMsIDE3NCwgODQsIAorICAgIDIyNCwgNDMsIDE0NiwgMTI0LCAyMjAsIDE0MCwgODQsIDI1MiwgMTQ5LCAxNDYsIDEyNCwgMjEzLCAxNzQsIDg0LCAyNTIsIAorICAgIDE0OSwgMTQ2LCAxMjQsIDIyMCwgMTQwLCA4NCwgMjI0LCA0MywgMjUyLCAxNDksIDE0NiwgMTI0LCAyMTMsIDE3NCwgODQsIAorICAgIDIyNCwgNDMsIDI1MiwgMTQ5LCAxNDYsIDEyNCwgNTAsIDIyMCwgMTM5LCA1MCwgMjEzLCAxNzMsIDIxMywgMTgyLCAyLCAKKyAgICAyNDUsIDIzLCAyMTMsIDEzOCwgMiwgMjQ1LCAyMywgMjEzLCAxODIsIDIsIDEwMSwgMywgNTUsIDIxMywgMTM4LCAyLCAxMDEsIAorICAgIDMsIDU1LCAyMTMsIDE4MiwgMiwgMjI2LCA5NCwgMywgNTUsIDIxMywgMTM4LCAyLCAyMjYsIDk0LCAzLCA1NSwgMjEzLCAKKyAgICAxODIsIDczLCAyMjIsIDEyMywgMTQ2LCAyMTEsIDEzMCwgMiwgNjcsIDUyLCAyMTMsIDEzOCwgNzMsIDIyMiwgMTIzLCAxNDYsIAorICAgIDIxMSwgMTMwLCAyLCA2NywgNTIsIDIxMywgMTgyLCA3MywgODQsIDI0MiwgMjQyLCA1MywgMjEzLCAxMzgsIDczLCA4NCwgCisgICAgMjQyLCAyNDIsIDUzLCAyMTMsIDE4MiwgNzMsIDg0LCAyMTEsIDE4MSwgMjIyLCAxMzIsIDIxMywgMTM4LCA3MywgODQsIAorICAgIDIxMSwgMTgxLCAyMjIsIDEzMiwgMjEzLCAxODIsIDczLCA4NCwgMjUyLCAxNDksIDE0NiwgMTI0LCAyMTMsIDEzOCwgNzMsIAorICAgIDg0LCAyNTIsIDE0OSwgMTQ2LCAxMjQsIDIxMywgMTgyLCA3MywgODQsIDIyNCwgNDMsIDE0NiwgMTI0LCAyMTMsIDEzOCwgCisgICAgNzMsIDg0LCAyMjQsIDQzLCAxNDYsIDEyNCwgNDksIDQ3LCAyMjIsIDE0MiwgOTYsIDIyMiwgMTMyLCA0OSwgNDgsIDIyMiwgCisgICAgMTQyLCA5NiwgMjIyLCAxMzIsIDI0NywgMTkyLCAyMTMsIDE4MSwgMjQ3LCAxOTIsIDIxMywgMTM3LCAyNDcsIDE5MiwgMjEzLCAKKyAgICAxODIsIDIyMiwgMTIzLCAxNDYsIDEyNCwgMjQ3LCAxOTIsIDIxMywgMTM4LCAyMjIsIDEyMywgMTQ2LCAxMjQsIDIxMywgCisgICAgMTgyLCA4NCwgMjEzLCAxMzcsIDIxMywgMTM4LCA4NCwgMjEzLCAxODEsIDIxMywgMTgyLCA4NCwgMjEzLCAxODEsIDIxMywgCisgICAgMTM4LCA4NCwgMjEzLCAxMzcsIDIxMywgMTM4LCAyNTAsIDEyLCAyMTMsIDE4MSwgMjEzLCAxMzgsIDI1MCwgMTIsIDIzLCAKKyAgICAyMzIsIDExOSwgMjQ5LCA0NiwgMjQ2LCA3OSwgMiwgMjEzLCAxODEsIDI0MywgNjEsIDczLCAyMjIsIDEzNSwgMjQ0LCA2LCAKKyAgICAyMjAsIDI0NiwgMiwgMjEyLCAxMjEsIDIxMSwgMTAxLCAyMTEsIDY2LCAyMzMsIDcsIDI0MSwgMTM3LCAyMjQsIDU3LCAyMTUsIAorICAgIDE0NCwgNDcsIDIxMiwgMjAxLCAyMTUsIDE0NCwgMTMwLCAyMTIsIDIwMSwgMjE1LCAxNDQsIDEyMCwgMjEyLCAyMDEsIDIyMSwgCisgICAgMTE5LCAyLCAxODIsIDc5LCAyNTAsIDEyOSwgMjExLCAzNiwgNDgsIDIxMCwgMTQzLCA1MCwgNzksIDI1MCwgMTI5LCA0NywgCisgICAgMjEwLCAxNDMsIDc5LCAyNTAsIDEyOSwgNTAsIDQ3LCAyMTAsIDE0MywgNTAsIDc5LCAyNTAsIDEyOSwgNTAsIDQ3LCAyMTAsIAorICAgIDE0MywgMTUyLCAyNDYsIDc5LCAyNDEsIDk4LCA0NywgMjI3LCA4OCwgNzMsIDUwLCAyMDksIDIyLCAyMTUsIDE0NCwgMTMwLCAKKyAgICAyMTIsIDIwMiwgMiwgMjIyLCA4NiwgMjE1LCAxNDQsIDEyMCwgMjEyLCAyMDIsIDIsIDIwOSwgMjI2LCAyMTUsIDE0NCwgCisgICAgMTIwLCAyMTIsIDIwMiwgODQsIDIxNSwgMTQ0LCAxMzAsIDIxMiwgMjAxLCA1MCwgMTMwLCAyMTIsIDIwMSwgNTAsIDEyMCwgCisgICAgMjEyLCAyMDEsIDUwLCAyMTMsIDIyNSwgMjI0LCA0MywgNTMsIDIxOCwgMjI0LCA1MCwgMjEzLCAyMjUsIDIyNCwgNDMsIDUzLCAKKyAgICAyNDUsIDQyLCAyMjQsIDQzLCAyNDUsIDgyLCAyLCAyMTgsIDIyNCwgMjI1LCAxMDQsIDIxNCwgMjM1LCA3OSwgMjI5LCAyMDYsIAorICAgIDIsIDI0NywgMjM0LCA1MiwgNzksIDIyOSwgMjA2LCAyLCAyNDcsIDIzNCwgNTUsIDEzMCwgMjEyLCAyMDIsIDIsIDI0NywgCisgICAgMjM0LCA1NSwgMjIxLCAyMjIsIDIsIDE5NCwgOTEsIDIyMSwgMjIyLCAyLCAyMTEsIDE4MSwgMjIyLCAxMzIsIDIxMSwgMzYsIAorICAgIDc5LCAyNTAsIDEyOSwgMjQ5LCAyMjUsIDIxOSwgMTEsIDIxMSwgMzYsIDc5LCAyNTAsIDEyOSwgMiwgMTk0LCA5MSwgMjExLCAKKyAgICAzNiwgMjQ3LCAxNjMsIDIyMiwgMTMyLCAyMTEsIDM2LCAyMjUsIDkzLCAyMzAsIDksIDIxMSwgMzYsIDIyNSwgOTMsIDIzOSwgCisgICAgMjI5LCAyNDQsIDE0LCAyMTQsIDIzNywgMjMwLCAxMCwgMjIyLCAxMjMsIDE0NiwgMTI0LCAyNDQsIDE0LCAyMTQsIDIzNywgCisgICAgMjM5LCAyMzAsIDIyMiwgMTIzLCAxNDYsIDEyNCwgMjExLCAzNiwgMjE0LCAxODEsIDI0OSwgMjI1LCAyMTksIDExLCAyMzAsIAorICAgIDg2LCAyMTEsIDM2LCA3OSwgMjUwLCAxMjksIDIyMiwgMTMyLCA1MCwgMjE0LCAxODEsIDIyMiwgMTMyLCA1OSwgNzksIDEzNCwgCisgICAgMjI2LCAzMiwgNTksIDc5LCAxMzQsIDE0MywgMjQzLCAxMTcsIDU5LCA0NSwgMTQzLCAyMDcsIDM2LCA1OSwgNDUsIDE4OCwgCisgICAgMjQzLCAxMTcsIDU5LCA0NSwgMTg4LCAyMDcsIDM2LCA1OSwgNDUsIDQ3LCA0OCwgNTksIDQ1LCA5MiwgNjAsIDQ1LCAxNjcsIAorICAgIDYwLCA0NSwgMTczLCA2MCwgNDUsIDE0MywgMjQzLCAxMTcsIDYwLCA0NSwgMTQzLCAyMDcsIDM2LCA2MCwgNDUsIDE4OCwgCisgICAgMjQzLCAxMTcsIDYwLCA0NSwgMTg4LCAyMDcsIDM2LCA2MCwgNDUsIDQ3LCA0OCwgNjAsIDQ1LCAxMjAsIDEzMCwgNjAsIDQ1LCAKKyAgICA4NiwgNTEsIDIsIDIxMSwgMTY3LCAyNDQsIDYsIDg2LCA1MSwgMiwgMjExLCAxNjcsIDIwOSwgMTk2LCA5MiwgNTEsIDIsIAorICAgIDIxMSwgMTY3LCAyNDQsIDYsIDkyLCA1MSwgMiwgMjExLCAxNjcsIDIwOSwgMTk2LCA0OSwgMiwgMjExLCAxMDIsIDE2MCwgCisgICAgMjQ5LCAyMDIsIDQ5LCAyLCAyNDksIDE1NCwgMTYwLCAyNDksIDIwMiwgNDksIDIsIDIwOSwgMjAzLCA0OCwgMjQ1LCAxNjMsIAorICAgIDE2MCwgMjQ5LCAyMDIsIDQ5LCAyLCAyMjksIDkyLCA0NywgMjQ1LCAxNjMsIDE2MCwgMjQ5LCAyMDIsIDI0NSwgMTU3LCAyLCAKKyAgICA0NywgMTYwLCAyNDksIDIwMiwgMjQ1LCAxNTcsIDIsIDQ4LCAxNjAsIDI0OSwgMjAyLCAyNDUsIDE1NywgMiwgMjExLCAxMDIsIAorICAgIDE2MCwgMjQ5LCAyMDIsIDI0NSwgMTU3LCAyLCAyNDksIDE1NCwgMTYwLCAyNDksIDIwMiwgMjQ0LCAyMSwgMjE0LCAxMDcsIAorICAgIDYwLCAyMzAsIDg2LCAyMTQsIDEwNywgNTksIDIzMCwgODYsIDIxNCwgMTA3LCA2MCwgMjA4LCAyMjYsIDUsIDIxNCwgMTA3LCAKKyAgICA1OSwgMjA4LCAyMjYsIDUsIDIxNCwgMTA3LCA2MCwgMjIxLCAxNDAsIDU5LCAyMjEsIDE0MCwgNTksIDIzOSwgMjUsIDYwLCAKKyAgICAyMzksIDI1LCAxOTQsIDYwLCAyMzksIDI1LCA2MCwgMjMwLCA4NiwgMjQ3LCAyMzMsIDYwLCAyMjcsIDEwOSwgMjQ1LCAxNTYsIAorICAgIDU5LCAyMjcsIDEwOSwgMjQ1LCAxNTYsIDYwLCAyMjcsIDEwOSwgMjI5LCA4OCwgNTksIDIyNywgMTA5LCAyMjksIDg4LCA2MCwgCisgICAgNSwgMjQ1LCAxNTYsIDYwLCA1LCAyMjksIDg4LCA1OSwgNSwgMjI5LCA4OCwgNjAsIDE5NCwgMjQzLCA1NSwgNTksIDE5NCwgCisgICAgMjQzLCA1NSwgNjAsIDc5LCAyNDMsIDU1LCA1OSwgNzksIDI0MywgNTUsIDQ3LCA1MSwgMiwgNSwgMjQ3LCAyMzMsIDEyOSwgCisgICAgOTIsIDI1MSwgMjQxLCA0NywgNTEsIDIsIDM5LCAyMjAsIDIxOCwgMTUyLCA5MiwgMjE0LCAxMDMsIDQ1LCA5MiwgMjEwLCAKKyAgICAxMDgsIDUxLCAyLCA3OSwgOTEsIDkyLCAyMTAsIDEwOCwgNTEsIDIsIDUwLCA3OSwgOTEsIDkyLCAyMTAsIDEwOCwgNTEsIAorICAgIDI0MSwgOTgsIDEzNCwgOTIsIDIxMCwgMTA4LCAyMTEsIDM2LCAyNDYsIDc5LCA0NSwgOTIsIDUxLCAyLCAyNDQsIDIxLCAKKyAgICAyMTQsIDksIDkyLCA1MSwgMiwgMjEyLCAxOTIsIDIsIDc5LCA5MSwgOTIsIDUxLCAyLCAyMTIsIDE5MiwgMiwgNTAsIDc5LCAKKyAgICA5MSwgOTIsIDIxMCwgMTA4LCA1MSwgMiwgMjEyLCAxOTEsIDkyLCAyMTAsIDEwOCwgNTEsIDIsIDIxMiwgMTkyLCAyLCA3OSwgCisgICAgOTEsIDkyLCAyMTAsIDEwOCwgNTEsIDIsIDIxMiwgMTkyLCAyLCA1MCwgNzksIDkxLCA5MiwgNTEsIDIxMSwgMjMzLCAyMDYsIAorICAgIDE5NSwgMjA3LCA2NSwgNTEsIDIyMCwgMjAxLCAyNDUsIDEwMiwgMjMwLCA0NiwgMjQyLCAyNDIsIDMsIDg0LCA5MiwgNDUsIAorICAgIDIxOCwgMjI1LCAyMTEsIDE4MSwgMjIyLCAxMzMsIDg0LCA5MiwgNDUsIDkyLCA1MSwgODQsIDIxOCwgMjI1LCAyNTIsIDE0OSwgCisgICAgMTQ2LCAxMjQsIDg2LCA1MSwgMjExLCAyMzMsIDIzOSwgMjI5LCA4NiwgNTEsIDIxMSwgMjMzLCAyMTMsIDEzNywgOTIsIAorICAgIDIxOSwgMjA3LCA0NSwgODYsIDIxOSwgMjA3LCA0NSwgMjE4LCAyMjUsIDIxMSwgMTgxLCAyMjIsIDEzMywgODQsIDg2LCA0NSwgCisgICAgODYsIDUxLCA4NCwgMjE4LCAyMjUsIDI1MiwgMTQ5LCAxNDYsIDEyNCwgMjExLCAxODEsIDIyMiwgMTMzLCA4NCwgOTIsIDQ1LCAKKyAgICA5MiwgNTEsIDg0LCAyNTIsIDE0OSwgMTQ2LCAxMjQsIDkyLCA1MSwgODQsIDIxOCwgMjI1LCAyMTEsIDE4MSwgMjIyLCAxMzIsIAorICAgIDg2LCA1MSwgODQsIDIxOCwgMjI1LCAyMTEsIDE4MSwgMjIyLCAxMzIsIDE3MywgMjExLCA1MCwgMjA1LCAzMSwgNDUsIDIxNSwgCisgICAgMTQ0LCAyMTQsIDIzNywgMTQzLCA0NSwgMjE1LCAxNDQsIDI1MCwgMTczLCAxODgsIDQ1LCA1OSwgMjI3LCAxMDksIDIxNCwgCisgICAgMjYsIDYwLCA1LCAyMTQsIDI2LCA1OSwgNSwgMjE0LCAyNiwgNjAsIDIxOCwgMTYyLCAyMjEsIDE0MCwgNTksIDIxOCwgMTYyLCAKKyAgICAyMjEsIDE0MCwgNzcsIDIzMCwgODYsIDI0NywgMjMzLCA3NywgMjIyLCA4NywgMiwgMjIyLCA4NywgMjMzLCAyNSwgNzcsIAorICAgIDI0NywgMjM0LCAyLCAyNDcsIDIzNCwgMjMzLCAyNSwgNzcsIDI0NywgMjMzLCA3NywgMzksIDIxNywgMTYyLCAyMTQsIDIzNywgCisgICAgMTQzLCA1MSwgMiwgMjM4LCAxMjksIDIzOSwgNjgsIDI1MCwgMTczLCAxODgsIDUxLCAyLCAyMzgsIDEyOSwgMjEyLCAxOTEsIAorICAgIDIxNCwgMjM3LCAxNDMsIDUxLCAyLCAxOTQsIDIxMiwgMTkxLCAyNTAsIDE3MywgMTg4LCA1MSwgMiwgMTk0LCAyMTIsIDE5MSwgCisgICAgMjUwLCAxOSwgNTEsIDIyMCwgMjAxLCAxNzMsIDIxMiwgMzMsIDE0MywgMjQzLCAxMTYsIDIxNSwgMTQ0LCAyNTAsIDE5LCAKKyAgICA1MSwgMjIwLCAyMDEsIDE3MywgMjEyLCAzMywgMTQzLCAyNDMsIDExNiwgOTIsIDIxMSwgNTAsIDQ1LCAxNjcsIDIxMSwgNTAsIAorICAgIDQ1LCA4NiwgMjExLCA1MCwgNDUsIDE3MywgMjExLCA1MCwgNDUsIDQ3LCA0OCwgMjExLCA1MCwgNDUsIDEyMCwgMTMwLCAKKyAgICAyMTEsIDUwLCA0NSwgMTQzLCAyMDcsIDM2LCAyMTEsIDUwLCA0NSwgMTQzLCAyNDMsIDExNywgMjExLCA1MCwgNDUsIDE4OCwgCisgICAgMjQzLCAxMTcsIDIxMSwgNTAsIDQ1LCAxODgsIDIwNywgMzYsIDIxMSwgNTAsIDQ1LCA5MiwgMjExLCA1MCwgMjQ2LCA3NywgCisgICAgNDUsIDE2NywgMjExLCA1MCwgMjQ2LCA3NywgNDUsIDg2LCAyMTEsIDUwLCAyNDYsIDc3LCA0NSwgMTczLCAyMTEsIDUwLCAKKyAgICAyNDYsIDc3LCA0NSwgMjQ3LCAxOTQsIDIxMSwgNTAsIDIyMiwgMTQyLCAyNDcsIDIzNCwgNDUsIDI1MiwgODcsIDIxMSwgNTAsIAorICAgIDIyMiwgMTQyLCAyNDcsIDIzNCwgNDUsIDkyLCAyMTEsIDUwLCA1MSwgMjExLCAxMzAsIDEzNCwgMTY3LCAyMTEsIDUwLCA1MSwgCisgICAgMjExLCAxMzAsIDEzNCwgODYsIDIxMSwgNTAsIDUxLCAyMTEsIDEzMCwgMTM0LCAxNzMsIDIxMSwgNTAsIDUxLCAyMTEsIAorICAgIDEzMCwgMTM0LCAxNDMsIDIwNywgMzYsIDIxMSwgNTAsIDUxLCAyMTEsIDEzMCwgMTM0LCAxNDMsIDI0MywgMTE3LCAyMTEsIAorICAgIDUwLCA1MSwgMjExLCAxMzAsIDEzNCwgMTg4LCAyNDMsIDExNywgMjExLCA1MCwgNTEsIDIxMSwgMTMwLCAxMzQsIDE4OCwgCisgICAgMjA3LCAzNiwgMjExLCA1MCwgNTEsIDIxMSwgMTMwLCAxMzQsIDkyLCAyMTEsIDUwLCA1MSwgMiwgNTAsIDE5NCwgOTEsIAorICAgIDE2NywgMjExLCA1MCwgNTEsIDIsIDUwLCAxOTQsIDkxLCA4NiwgMjExLCA1MCwgNTEsIDIsIDUwLCAxOTQsIDkxLCAxNzMsIAorICAgIDIxMSwgNTAsIDUxLCAyLCA1MCwgMTk0LCA5MSwgMTk0LCAyMTIsIDIwOCwgMjMxLCAxNzQsIDc5LCAyMTIsIDIwOCwgMjMxLCAKKyAgICAxNzQsIDkyLCAyMTEsIDUwLCA1MSwgMTMxLCA4NiwgMjExLCA1MCwgNDUsIDE2NywgMjExLCA1MCwgNTEsIDkyLCA3MywgCisgICAgMTczLCAyMTEsIDUwLCA0NSwgODYsIDIxMSwgNTAsIDUxLCAxMzEsIDkyLCAyMTEsIDUwLCA0NSwgMTczLCAyMTEsIDUwLCAKKyAgICA1MSwgOTIsIDczLCAxNjcsIDIxMSwgNTAsIDQ1LCA5MiwgMjExLCA1MCwgMjIyLCAzMCwgMjUxLCAyNDEsIDE2NywgMjExLCAKKyAgICA1MCwgMjIyLCAzMCwgMjUxLCAyNDEsIDg2LCAyMTEsIDUwLCAyMjIsIDMwLCAyNTEsIDI0MSwgMTczLCAyMTEsIDUwLCAyMjIsIAorICAgIDMwLCAyNTEsIDI0MSwgOTIsIDYwLCAzOSwgNTksIDQ1LCAxNjcsIDYwLCAzOSwgNTksIDQ1LCA4NiwgNjAsIDM5LCA1OSwgCisgICAgNDUsIDE3MywgNjAsIDM5LCA1OSwgNDUsIDI1MiwgODcsIDIxMSwgNTAsIDQ4LCAyMTAsIDcxLCA0NSwgMjUyLCA4NywgMjExLCAKKyAgICA1MCwgMjQ5LCAxNTQsIDIxMCwgNzEsIDQ1LCAyNTIsIDg3LCAyMTEsIDUwLCA0NywgMjEwLCA3MSwgNDUsIDI1MiwgODcsIAorICAgIDIxMSwgNTAsIDIxMSwgMTAyLCAyMTAsIDcxLCA0NSwgMjE4LCAyMjksIDIzMCwgNDYsIDIxOCwgMjI5LCAyMTgsIDE2NywgCisgICAgMjI1LCA4NiwgMjMwLCA0NiwgMjI1LCA4NiwgMjE4LCAxNjcsIDI0MSwgMTI1LCAyNDcsIDkyLCAyNTEsIDI0MiwgMjQ3LCAKKyAgICAyMzEsIDI1MiwgODYsIDg2LCA2MCwgNDUsIDIxMSwgMjM4LCAyMTEsIDEwMCwgOTIsIDI0MiwgMjM4LCAyNTEsIDI0MywgCisgICAgMjExLCAyMzgsIDIxOCwgMTYzLCAxNjcsIDI0MiwgMjM4LCAyNTEsIDI0MywgMjExLCAyMzgsIDIxMSwgMTAwLCA4NiwgMjQyLCAKKyAgICAyMzgsIDI1MSwgMjQzLCAyMTEsIDIzOCwgMjMwLCA0MiwgMTczLCAyNDIsIDIzOCwgMjUxLCAyNDMsIDYwLCA5MiwgMjQyLCAKKyAgICAyMzgsIDI1MSwgMjQzLCA2MCwgMTY3LCAyNDIsIDIzOCwgMjUxLCAyNDMsIDYwLCA4NiwgMjQyLCAyMzgsIDI1MSwgMjQzLCAKKyAgICA2MCwgMTczLCAyNDIsIDIzOCwgMjUxLCAyNDMsIDE3MywgMjExLCA1MCwgNTEsIDIsIDE1MiwgMjExLCAxNjcsIDIzMCwgMzYsIAorICAgIDE3MywgMjExLCA1MCwgNTEsIDIsIDE1MiwgMjExLCAxNjcsIDIxOCwgMTU2LCAxNjcsIDIxMSwgNTAsIDUxLCAyLCAxNTIsIAorICAgIDIxMSwgMTY3LCAyMzAsIDM2LCAxNjcsIDIxMSwgNTAsIDUxLCAyLCAxNTIsIDIxMSwgMTY3LCAyMTgsIDE1NiwgOTIsIDIxMSwgCisgICAgNTAsIDUxLCAyLCAxNTIsIDIxMSwgMTY3LCAyMDksIDE5NiwgODYsIDIxMSwgNTAsIDUxLCAyLCAxNTIsIDIxMSwgMTY3LCAKKyAgICAyMDksIDE5NiwgOTIsIDIxMSwgNTAsIDUxLCAyLCAxNTIsIDIxMSwgMTY3LCAyNDQsIDYsIDg2LCAyMTEsIDUwLCA1MSwgMiwgCisgICAgMTUyLCAyMTEsIDE2NywgMjQ0LCA2LCA2MCwgMjQ3LCAxOCwgMTczLCAyMywgOTIsIDQ1LCA2MCwgMjQ3LCAxOCwgMTczLCAKKyAgICAyMywgODYsIDQ1LCA2MCwgMjQ3LCAxOCwgMTY3LCAyMywgOTIsIDQ1LCA2MCwgMjQ3LCAxOCwgMTY3LCAyMywgODYsIDQ1LCAKKyAgICA2MCwgMjQ3LCAxOCwgOTIsIDIzLCAxNjcsIDQ1LCA2MCwgMjQ3LCAxOCwgODYsIDIzLCAxNjcsIDQ1LCA2MCwgMjQ3LCAxOCwgCisgICAgOTIsIDIzLCAxNzMsIDQ1LCA2MCwgMjQ3LCAxOCwgODYsIDIzLCAxNzMsIDQ1LCAyMTgsIDIwNiwgNTEsIDEzMCwgMjMwLCAKKyAgICA0NiwgMjE4LCAyMDYsIDUxLCAxMzAsIDIxOCwgMTY3LCAyMTgsIDIwNiwgNTEsIDEyMCwgMjMwLCA0NiwgMjE4LCAyMDYsIAorICAgIDUxLCAxMjAsIDIxOCwgMTY3LCAyMTgsIDIwNiwgNTEsIDQ3LCAyMDksIDIwNiwgMjE4LCAyMDYsIDUxLCA0OCwgMjA5LCAKKyAgICAyMDYsIDIxOCwgMjA2LCA1MSwgNDcsIDI0NCwgOCwgMjE4LCAyMDYsIDUxLCA0OCwgMjQ0LCA4LCAxNjcsIDU5LCA1MSwgCisgICAgMjQxLCA5OCwgMjUwLCAxMjksIDIsIDE5NCwgMTM0LCAxMjAsIDI1MSwgMjQ0LCAyMzMsIDY5LCAzMiwgMjE5LCAzOCwgMjQ5LCAKKyAgICAxNDAsIDI1MCwgMTQ2LCA5NiwgMiwgMTQ3LCAyMDYsIDE5NSwgMzksIDIwNiwgMTk1LCAzOSwgMjQsIDIwNiwgMTk1LCA2MCwgCisgICAgNDksIDI0OCwgMTI2LCA2MCwgMjQ1LCAxNTcsIDI0OCwgMTI2LCAyMDEsIDYwLCAyMjEsIDE0MCwgMTk0LCA2MCwgMjIyLCAKKyAgICAyMTQsIDYwLCAyMjIsIDIxNCwgNjAsIDIyNywgMTA5LCAyMDksIDIwNSwgMjExLCA1MiwgMjQ4LCAxMjYsIDYwLCAyMjcsIAorICAgIDEwOSwgMjQ0LCA3LCAyMTEsIDUyLCAyNDgsIDEyNiwgNjAsIDIyNywgMTA5LCAyMzAsIDQxLCAyMTEsIDUyLCAyNDgsIDEyNiwgCisgICAgNjAsIDIyNywgMTA5LCAyMTgsIDE2MiwgMjExLCA1MiwgMjQ4LCAxMjYsIDIxMSwgMTAyLCAxNjAsIDYwLCAyNDcsIDIzMywgCisgICAgMjQ5LCAxNTQsIDE2MCwgNjAsIDI0NywgMjMzLCAxNDcsIDI0MSwgMTI1LCAyMjAsIDIwMywgNjAsIDI0NywgMTUsIDIxOCwgCisgICAgOTcsIDE0NywgMjQxLCAxMjUsIDIyMCwgMjAzLCA2MCwgMjQ3LCAxNSwgNTksIDI0MSwgMTI1LCAyMjAsIDIwMywgMjQ3LCAKKyAgICAxNSwgMjE4LCA5NywgNTksIDI0MSwgMTI1LCAyMjAsIDIwMywgMjQ3LCAxNSwgNDksIDIyMCwgMTc4LCAyMzMsIDQ5LCAyMDksIAorICAgIDIyOSwgNTMsIDE2NiwgNiwgMSwgMjUxLCAxNTEsIDE2NiwgNiwgMSwgMjQ5LCA4OSwgMTY2LCA2LCAxLCAyMDksIDM3LCAKKyAgICAxNjYsIDYsIDEsIDI0MCwgMzAsIDE2NiwgNiwgMSwgMjQ1LCA0NiwgMTY2LCA2LCAxLCAyMDYsIDI0LCAxNjYsIDYsIDEsIAorICAgIDIwNSwgNjUsIDE2NiwgNiwgMSwgMjQzLCAxOTEsIDE2NiwgNiwgMSwgMjA1LCA5MCwgMTY2LCA2LCAxLCAyMzIsIDIwNywgCisgICAgMTY2LCA2LCAxLCA3OCwgMjMyLCAyMDcsIDE2NiwgNiwgMSwgNzQsIDE2NiwgNiwgMSwgMjQ1LCA2NiwgMTY2LCA2LCAxLCAKKyAgICAyMzIsIDMzLCAxNjYsIDYsIDEsIDIyOSwgMTc0LCAxNjYsIDYsIDEsIDIyNiwgMzcsIDE2NiwgNiwgMSwgMjI1LCAxOTUsIAorICAgIDE2NiwgNiwgMSwgMjIyLCAxNTQsIDE2NiwgNiwgMSwgMjIwLCAxOTgsIDE2NiwgNiwgMSwgMjE4LCAxNDEsIDE2NiwgNiwgMSwgCisgICAgMjE0LCAyMTksIDE2NiwgNiwgMSwgMjEwLCAxMzEsIDE2NiwgNiwgMSwgMjA5LCAyNDUsIDE2NiwgNiwgMSwgMjQxLCAxMDEsIAorICAgIDE2NiwgNiwgMSwgMjM5LCAzMSwgMTY2LCA2LCAxLCAyMjIsIDk4LCAxNjYsIDYsIDEsIDIyMSwgMTc0LCAxNjYsIDYsIDEsIAorICAgIDIxNSwgMTE5LCAxNjYsIDYsIDEsIDIxMCwgMjIyLCAxNjYsIDYsIDEsIDI0OCwgMjAsIDE2NiwgNiwgMSwgMjE2LCAyLCAKKyAgICAxNjYsIDYsIDEsIDIwNiwgMzAsIDE2NiwgNiwgMSwgMjA2LCAzMiwgMTY2LCA2LCAxLCAyMDYsIDYzLCAxNjYsIDYsIDEsIAorICAgIDIxNCwgMTI5LCAxNTUsIDE2NiwgNiwgMSwgMjA1LCAyMTMsIDE2NiwgNiwgMSwgNSwgMjA1LCAxODMsIDE2NiwgNiwgMSwgNSwgCisgICAgMjA1LCAxODQsIDIsIDIxMiwgMTkxLCAxNjYsIDYsIDEsIDIwNSwgMjQ3LCAxNjYsIDYsIDEsIDIzMiwgMjQ4LCA1LCAyMDUsIAorICAgIDE4MywgMTY2LCA2LCAxLCAyNDksIDIzMSwgMjA1LCAxODMsIDE2NiwgNiwgMSwgMjMyLCAyNDgsIDI0OSwgMjMxLCAyMDUsIAorICAgIDE4MywgMTY2LCA2LCAxLCAyNDEsIDIwNSwgMTY2LCA2LCAxLCAyMzIsIDIwNSwgMTY2LCA2LCAxLCAyMTUsIDExOCwgMTY2LCAKKyAgICA2LCAxLCAyMTEsIDI3LCA2MiwgMTY2LCA2LCAxLCAyMzAsIDc2LCAyMjYsIDM3LCAxNjYsIDUsIDEsIDI1MSwgMTUxLCAxNjYsIAorICAgIDUsIDEsIDI0OSwgODksIDE2NiwgNSwgMSwgMjA5LCAzNywgMTY2LCA1LCAxLCAyNDAsIDMwLCAxNjYsIDUsIDEsIDI0NSwgCisgICAgNDYsIDE2NiwgNSwgMSwgMjA2LCAyNCwgMTY2LCA1LCAxLCAyMDUsIDY1LCAxNjYsIDUsIDEsIDI0MywgMTkxLCAxNjYsIDUsIAorICAgIDEsIDIwNSwgOTAsIDE2NiwgNSwgMSwgMjMyLCAyMDcsIDE2NiwgNSwgMSwgNzgsIDIzMiwgMjA3LCAxNjYsIDUsIDEsIDc0LCAKKyAgICAxNjYsIDUsIDEsIDI0NSwgNjYsIDE2NiwgNSwgMSwgMjMyLCAzMywgMTY2LCA1LCAxLCAyMjksIDE3NCwgMTY2LCA1LCAxLCAKKyAgICAyMjYsIDM3LCAxNjYsIDUsIDEsIDIyNSwgMTk1LCAxNjYsIDUsIDEsIDIyMiwgMTU0LCAxNjYsIDUsIDEsIDIyMCwgMTk4LCAKKyAgICAxNjYsIDUsIDEsIDIxOCwgMTQxLCAxNjYsIDUsIDEsIDIxNCwgMjE5LCAxNjYsIDUsIDEsIDIxMCwgMTMxLCAxNjYsIDUsIDEsIAorICAgIDIwOSwgMjQ1LCAxNjYsIDUsIDEsIDI0MSwgMTAxLCAxNjYsIDUsIDEsIDIzOSwgMzEsIDE2NiwgNSwgMSwgMjIyLCA5OCwgCisgICAgMTY2LCA1LCAxLCAyMjEsIDE3NCwgMTY2LCA1LCAxLCAyMTUsIDExOSwgMTY2LCA1LCAxLCAyMTAsIDIyMiwgMTY2LCA1LCAxLCAKKyAgICAyNDgsIDIwLCAxNjYsIDUsIDEsIDIxNiwgMiwgMTY2LCA1LCAxLCAyMDYsIDMwLCAxNjYsIDUsIDEsIDIwNiwgMzIsIDE2NiwgCisgICAgNSwgMSwgMjA2LCA2MywgMTY2LCA1LCAxLCAyMTQsIDEyOSwgMTU1LCAxNjYsIDUsIDEsIDIwNSwgMjEzLCAxNjYsIDUsIDEsIAorICAgIDUsIDIwNSwgMTgzLCAxNjYsIDUsIDEsIDUsIDIwNSwgMTg0LCAyLCAyMTIsIDE5MSwgMTY2LCA1LCAxLCAyMDUsIDI0NywgCisgICAgMTY2LCA1LCAxLCAyMzIsIDI0OCwgNSwgMjA1LCAxODMsIDE2NiwgNSwgMSwgMjQ5LCAyMzEsIDIwNSwgMTgzLCAxNjYsIDUsIAorICAgIDEsIDIzMiwgMjQ4LCAyNDksIDIzMSwgMjA1LCAxODMsIDE2NiwgNSwgMSwgMjQxLCAyMDUsIDE2NiwgNSwgMSwgMjMyLCAKKyAgICAyMDUsIDE2NiwgNSwgMSwgMjE1LCAxMTgsIDE2NiwgNSwgMSwgMjExLCAyNywgNjIsIDE2NiwgNSwgMSwgMjMwLCA3NiwgCisgICAgMjI2LCAzNywgNywgNiwgMSwgMjMwLCAxNTksIDIsIDUwLCAxMzQsIDcsIDUsIDEsIDIzMCwgMTU5LCAyLCA1MCwgMTM0LCA3LCAKKyAgICA2LCAxLCAyMzAsIDE1OSwgMiwgMjI2LCAyNDcsIDIxMSwgMTgwLCA3LCA2LCAxLCAyMjIsIDY4LCAyLCA5MSwgNywgNiwgMSwgCisgICAgMjE5LCAxNTAsIDIsIDIxMiwgMTkxLCA3LCA1LCAxLCAzMiwgMiwgOTEsIDcsIDUsIDEsIDIxMywgMTEsIDIsIDI0NSwgMTYzLCAKKyAgICA5MSwgNywgNiwgMSwgMjM5LCAxNTYsIDIsIDI0NSwgMjExLCA3LCA1LCAxLCAyMzksIDE1NiwgMiwgMjQ1LCAyMTEsIDcsIDYsIAorICAgIDEsIDIzMiwgNzcsIDIsIDI0NSwgMjExLCA3LCA1LCAxLCAyMzIsIDc3LCAyLCAyNDUsIDIxMSwgNywgNiwgMSwgMjA1LCAKKyAgICAxNjAsIDIsIDI0NSwgMjExLCA3LCA1LCAxLCAyMDUsIDE2MCwgMiwgMjQ1LCAyMTEsIDcsIDYsIDEsIDI1MiwgMTQ0LCA3LCAKKyAgICA2LCAxLCAyMjksIDI5LCAyLCAxMDksIDcsIDYsIDEsIDIwMSwgNjIsIDcsIDYsIDEsIDIwMSwgMjUyLCAxNDQsIDcsIDUsIDEsIAorICAgIDIwOSwgMTQ5LCAyLCA0OCwgMTA5LCA3LCA2LCAxLCAyMDcsIDEzMCwgMiwgMTA5LCA3LCA1LCAxLCAyMDcsIDEzMCwgMiwgCisgICAgMTA5LCA3LCA1LCAxLCAyMDksIDE0OSwgMiwgMjQ3LCAyNywgNywgNiwgMSwgMTYwLCAyMzksIDE1NSwgNywgNSwgMSwgMTYwLCAKKyAgICAyMzksIDE1NSwgNywgNSwgMSwgMjEyLCAxODksIDIyMSwgNzgsIDcsIDUsIDEsIDE3NCwgMiwgMjI0LCA0MCwgNywgNSwgMSwgCisgICAgMjAxLCAyMTksIDE1MCwgMiwgMjEyLCAxOTEsIDcsIDUsIDEsIDE0OCwgMiwgMTE0LCAyMTgsIDE0OSwgMjMzLCAyNSwgNywgCisgICAgMSwgNSwgNiwgMjAxLCA3NSwgNywgMjEzLCAxODMsIDUsIDEsIDIzMiwgMjAzLCA2NSwgMSwgNiwgMjA5LCAxNDgsIDcsIDYsIAorICAgIDEsIDIxOCwgMSwgMiwgMjEzLCAxMDksIDIxMiwgMTkxLCA3LCA2LCAxLCAyMDUsIDE2MCwgMiwgMjEzLCAxMDksIDIxMiwgCisgICAgMTkxLCA4MSwgNiwgMSwgMjUyLCAxNjYsIDgxLCA1LCAxLCAyNTIsIDE2NiwgODEsIDYsIDEsIDIwOCwgMjExLCA4MSwgNSwgCisgICAgMSwgMjA4LCAyMTEsIDgxLCA2LCAxLCAyNDAsIDIxNSwgODEsIDUsIDEsIDI0MCwgMjE1LCA4MSwgNiwgMSwgMjQ2LCAxMTMsIAorICAgIDgxLCA1LCAxLCAyNDYsIDExMywgODEsIDYsIDEsIDI0MywgODksIDgxLCA1LCAxLCAyNDMsIDg5LCA4MSwgNiwgMSwgMjE0LCAKKyAgICAxNjcsIDgxLCA1LCAxLCAyMTQsIDE2NywgODEsIDYsIDEsIDIwNSwgMTAwLCA4MSwgNSwgMSwgMjA1LCAxMDAsIDgxLCA2LCAKKyAgICAxLCAyMzksIDgzLCA4MSwgNSwgMSwgMjM5LCA4MywgODEsIDYsIDEsIDIxMiwgMjEsIDgxLCA1LCAxLCAyMTIsIDIxLCA4MSwgCisgICAgNiwgMSwgMjM3LCAxODcsIDgxLCA1LCAxLCAyMzcsIDE4NywgODEsIDYsIDEsIDIzMiwgMTksIDgxLCA1LCAxLCAyMzIsIDE5LCAKKyAgICA4MSwgNiwgMSwgMjMwLCA3MiwgODEsIDUsIDEsIDIzMCwgNzIsIDgxLCA2LCAxLCAyMjYsIDI1NCwgODEsIDUsIDEsIDIyNiwgCisgICAgMjU0LCA4MSwgNiwgMSwgMjI0LCAyMzAsIDgxLCA1LCAxLCAyMjQsIDIzMCwgODEsIDYsIDEsIDIzMCwgMjUyLCA4MSwgNSwgCisgICAgMSwgMjMwLCAyNTIsIDgxLCA2LCAxLCA3NiwgODEsIDUsIDEsIDc2LCA4MSwgNiwgMSwgMjIxLCA1MywgODEsIDUsIDEsIAorICAgIDIyMSwgNTMsIDgxLCA2LCAxLCAyMTgsIDEyNCwgODEsIDUsIDEsIDIxOCwgMTI0LCA4MSwgNiwgMSwgMjE1LCA1MSwgODEsIAorICAgIDUsIDEsIDIxNSwgNTEsIDgxLCA2LCAxLCAyMTIsIDE1MSwgODEsIDUsIDEsIDIxMiwgMTUxLCA4MSwgNiwgMSwgMjEwLCAxOCwgCisgICAgODEsIDUsIDEsIDIxMCwgMTgsIDgxLCA2LCAxLCAyNDEsIDI1MCwgODEsIDUsIDEsIDI0MSwgMjUwLCA4MSwgNiwgMSwgMjMxLCAKKyAgICAxNDUsIDgxLCA1LCAxLCAyMzEsIDE0NSwgODEsIDYsIDEsIDIyMCwgOTMsIDgxLCA1LCAxLCAyMjAsIDkzLCA4MSwgNiwgMSwgCisgICAgMjIyLCAxNDYsIDgxLCA1LCAxLCAyMjIsIDE0NiwgODEsIDYsIDEsIDI0NSwgMTYxLCAyNTIsIDE3MiwgODEsIDUsIDEsIAorICAgIDI0NSwgMTYxLCAyNTIsIDE3MiwgODEsIDYsIDEsIDQ0LCA4MSwgMjUyLCAyMDAsIDgxLCA1LCAxLCA0NCwgODEsIDI1MiwgCisgICAgMjAwLCA4MSwgNiwgMSwgMjQ3LCA0MywgMjQzLCA4OSwgODEsIDUsIDEsIDI0NywgNDMsIDI0MywgODksIDgxLCA2LCAxLCAKKyAgICAyNDUsIDE2MSwgMjMyLCAxOSwgODEsIDUsIDEsIDI0NSwgMTYxLCAyMzIsIDE5LCA4MSwgNiwgMSwgMjQ1LCAxNjEsIDIyNCwgCisgICAgMjMwLCA4MSwgNSwgMSwgMjQ1LCAxNjEsIDIyNCwgMjMwLCA4MSwgNiwgMSwgMjQ3LCA0MywgMjI0LCAyMzAsIDgxLCA1LCAxLCAKKyAgICAyNDcsIDQzLCAyMjQsIDIzMCwgODEsIDYsIDEsIDQ0LCA4MSwgMjIyLCAxNDYsIDgxLCA1LCAxLCA0NCwgODEsIDIyMiwgCisgICAgMTQ2LCA4MSwgNiwgMSwgMjE3LCAxNTQsIDgxLCA1LCAxLCAyMTcsIDE1NCwgODEsIDYsIDEsIDI0NywgNTcsIDIxNSwgMjA2LCAKKyAgICA4MSwgNSwgMSwgMjQ3LCA1NywgMjE1LCAyMDYsIDgxLCA2LCAxLCA0NCwgODEsIDIxNSwgMjA2LCA4MSwgNSwgMSwgNDQsIAorICAgIDgxLCAyMTUsIDIwNiwgODEsIDYsIDEsIDQ0LCA4MSwgMjQyLCAyMTUsIDgxLCA1LCAxLCA0NCwgODEsIDI0MiwgMjE1LCA4MSwgCisgICAgNiwgMSwgMjUyLCAxODUsIDIzMSwgMTUwLCA4MSwgNSwgMSwgMjUyLCAxODUsIDIzMSwgMTUwLCA4MSwgNiwgMSwgMjQ1LCAKKyAgICAxNjEsIDIzOCwgMTIyLCA4MSwgNSwgMSwgMjQ1LCAxNjEsIDIzOCwgMTIyLCA4MSwgNiwgMSwgNDQsIDgxLCAyMzgsIDEyMiwgCisgICAgODEsIDUsIDEsIDQ0LCA4MSwgMjM4LCAxMjIsIDgxLCA2LCAxLCA0NCwgODEsIDE1NSwgODEsIDUsIDEsIDQ0LCA4MSwgMTU1LCAKKyAgICA4MSwgNiwgMSwgMjMwLCAxNTgsIDE1NSwgODEsIDUsIDEsIDIzMCwgMTU4LCAxNTUsIDgxLCA2LCAxLCA0NCwgODEsIDIzOSwgCisgICAgNDksIDgxLCA1LCAxLCA0NCwgODEsIDIzOSwgNDksIDgxLCA2LCAxLCA0NCwgODEsIDIzOSwgODYsIDgxLCA1LCAxLCA0NCwgCisgICAgODEsIDIzOSwgODYsIDgxLCA2LCAxLCA0NCwgODEsIDI0MCwgMjEwLCA4MSwgNSwgMSwgNDQsIDgxLCAyNDAsIDIxMCwgODEsIAorICAgIDYsIDEsIDQ0LCA4MSwgMjQ1LCA2OSwgODEsIDUsIDEsIDQ0LCA4MSwgMjQ1LCA2OSwgODEsIDYsIDEsIDQ0LCA4MSwgMjE1LCAKKyAgICAxNzMsIDgxLCA1LCAxLCA0NCwgODEsIDIxNSwgMTczLCA4MSwgNiwgMSwgNDQsIDIyMywgMTg3LCAyMTUsIDE3MywgODEsIDUsIAorICAgIDEsIDQ0LCAyMjMsIDE4NywgMjE1LCAxNzMsIDgxLCA2LCAxLCA0NCwgMjIzLCAxODcsIDIyNSwgMjUsIDgxLCA1LCAxLCA0NCwgCisgICAgMjIzLCAxODcsIDIyNSwgMjUsIDgxLCA2LCAxLCA0NCwgMjIzLCAxODcsIDIyMywgMTI1LCA4MSwgNSwgMSwgNDQsIDIyMywgCisgICAgMTg3LCAyMjMsIDEyNSwgODEsIDYsIDEsIDQ0LCAyMjMsIDE4NywgMjA3LCA2NiwgODEsIDUsIDEsIDQ0LCAyMjMsIDE4NywgCisgICAgMjA3LCA2NiwgODEsIDE2LCAyMzIsIDQxLCA4MSwgMTYsIDIyNiwgMjU1LCAyMTgsIDEyNCwgODEsIDE2LCAyMjEsIDU0LCAKKyAgICAyMTgsIDEyNCwgODEsIDE2LCAyMTQsIDE3LCA4MSwgMTYsIDIxMiwgMTUyLCAyMTgsIDEyNCwgODEsIDE2LCAyMzEsIDE0NiwgCisgICAgMjE4LCAxMjQsIDgxLCAxNiwgMjE1LCAxNzQsIDIxNSwgNTEsIDgxLCA2LCAxLCAyNDcsIDQzLCAyMTUsIDIwNiwgODEsIDUsIAorICAgIDEsIDI0NywgNDMsIDIxNSwgMjA2LCA4MSwgNiwgMSwgMjQ3LCA0MywgMjQwLCAyMTAsIDgxLCA1LCAxLCAyNDcsIDQzLCAKKyAgICAyNDAsIDIxMCwgODEsIDM2LCAyMjQsIDIzMSwgNTIsIDgxLCAzNiwgMjE0LCAxMjMsIDI1MSwgMjE3LCA4MSwgMzYsIDIxNCwgCisgICAgMTIzLCAyMzAsIDE3LCA4MSwgNiwgMSwgMjQ5LCAxNzgsIDIzMSwgMTUwLCA4MSwgNSwgMSwgMjQ5LCAxNzgsIDIzMSwgMTUwLCAKKyAgICA4MSwgNDQsIDIyMywgMTg3LCAyNDEsIDgyLCAyMTMsIDI1MSwgODEsIDQ0LCAyMjMsIDE4NywgMjQ1LCAxMDQsIDIxOSwgCisgICAgMTk2LCA4MywgODEsIDQ0LCAyMjMsIDE4NywgMjMzLCA0OCwgMjE5LCAxOTYsIDgzLCA4MSwgNDQsIDIyMywgMTg3LCAyMDksIAorICAgIDI0LCAyNDUsIDc5LCA4MSwgMjQxLCAxMTYsIDExOSwgMjM5LCAxMjEsIDgxLCAyNDEsIDgyLCAyMTMsIDI1MSwgODEsIDIyNiwgCisgICAgMTQwLCAyNDUsIDc5LCAxMDgsIDUsIDEsIDI1MiwgMTIyLCAxMDgsIDUsIDEsIDI1MCwgMTQwLCAxMDgsIDUsIDEsIDI0MCwgCisgICAgMjE0LCAxMDgsIDUsIDEsIDI0NSwgMzEsIDEwOCwgNSwgMSwgMjQzLCA0MSwgMTA4LCA1LCAxLCAyMDgsIDE5NywgMTA4LCA1LCAKKyAgICAxLCAyMDUsIDg4LCAxMDgsIDUsIDEsIDIxMiwgMTc0LCAxMDgsIDUsIDEsIDIzMywgNjgsIDEwOCwgNSwgMSwgMjMyLCAyNywgCisgICAgMTA4LCA1LCAxLCAyMzAsIDgyLCAxMDgsIDUsIDEsIDIyNywgMjIxLCAxMDgsIDUsIDEsIDIyNSwgMjAwLCAxMDgsIDUsIDEsIAorICAgIDIyMiwgMTY1LCAxMDgsIDUsIDEsIDIyMSwgMjMxLCAxMDgsIDUsIDEsIDIwNSwgNzcsIDEwOCwgNSwgMSwgMjE5LCA5NSwgCisgICAgMTA4LCA1LCAxLCAyMTcsIDE1MSwgMTA4LCA1LCAxLCAyMTIsIDE2MiwgMTA4LCA1LCAxLCAyMDksIDIzNCwgMTA4LCA1LCAxLCAKKyAgICAyMjEsIDg1LCAxMDgsIDUsIDEsIDIzMSwgMTU1LCAxMDgsIDUsIDEsIDI0MCwgOTAsIDEwOCwgNSwgMSwgMjIwLCA0LCAxMDgsIAorICAgIDUsIDEsIDIxNSwgMTcxLCAxMDgsIDUsIDEsIDI0OCwgNDUsIDEwOCwgNSwgMSwgMjQ4LCAyMjYsIDEwOCwgNSwgMSwgMjMyLCAKKyAgICAxNTQsIDEwOCwgNSwgMSwgMjQ3LCAyNDAsIDEwOCwgNSwgMSwgMjQ4LCA5NSwgMTA4LCA1LCAxLCAyMDYsIDE3OSwgMTA4LCAKKyAgICA1LCAxLCAyMzIsIDE2NywgMTA4LCA1LCAxLCAyMzksIDEzOCwgMTA4LCA1LCAxLCAyMzksIDcxLCAxMDgsIDUsIDEsIDIzOSwgCisgICAgNiwgMTA4LCA1LCAxLCAyMDcsIDUxLCAxMDgsIDUsIDEsIDIzOSwgOTUsIDEwOCwgNSwgMSwgMjM4LCAxNDYsIDEwOCwgNSwgCisgICAgMSwgMjA1LCAyNDksIDEwOCwgNSwgMSwgMjUyLCAyMzcsIDIxMSwgMjAwLCAxLCAxOTAsIDIxMSwgMjAwLCAxLCAyMDYsIAorICAgIDEwNSwgMjExLCAyMDAsIDEsIDIwNiwgMTA0LCAyMTEsIDIwMCwgMSwgMjA2LCA5NCwgMjExLCAyMDAsIDEsIDIwNiwgOTIsIAorICAgIDIxMSwgMjAwLCAxLCAyNTAsIDE0LCAyNTMsIDIzLCAyMDYsIDg3LCAyMTEsIDIwMCwgMSwgMjA2LCA4NywgMjExLCAyMDAsIAorICAgIDEsIDIwNiwgMTAyLCAyMTEsIDIwMCwgMSwgMjA2LCA5OSwgMjExLCAyMDAsIDEsIDIwNiwgMTAxLCAyMTEsIDIwMCwgMSwgCisgICAgMjA2LCAxMDAsIDIxMSwgMjAwLCAxLCAyMDYsIDE1LCAyMTEsIDIwMCwgMSwgMjA2LCA5NiwgMjExLCAyMDAsIDEsIDIwNiwgCisgICAgODUsIDIxMSwgMjAwLCAxLCAyMTAsIDE2NywgMjA2LCA4NSwgMjExLCAyMDAsIDEsIDIwNiwgODIsIDIxMSwgMjAwLCAxLCAKKyAgICAyMDYsIDkwLCAyMTEsIDIwMCwgMSwgMjUwLCAxNCwgMjUzLCAyMywgMjA2LCA5MCwgMjExLCAyMDAsIDEsIDIxMCwgMTY3LCAKKyAgICAyMDYsIDkwLCAyMTEsIDIwMCwgMSwgMjA2LCA4OSwgMjExLCAyMDAsIDEsIDIwNiwgMTA5LCAyMTEsIDIwMCwgMSwgMjA2LCAKKyAgICA4MywgMjExLCAyMDAsIDEsIDIxMCwgMTY3LCAyMDYsIDgzLCAyMTEsIDIwMCwgMSwgMjA2LCA3MiwgMjExLCAyMDAsIDEsIAorICAgIDIxMCwgMTY3LCAyMDYsIDcyLCAyMTEsIDIwMCwgMSwgMjA2LCAxMSwgMjExLCAyMDAsIDEsIDIwNiwgNTQsIDIxMSwgMjAwLCAKKyAgICAxLCAyNTIsIDIxMSwgMjA2LCA1NCwgMjExLCAyMDAsIDEsIDIxMCwgMTY3LCAyMDYsIDU0LCAyMTEsIDIwMCwgMSwgMjA2LCAKKyAgICA4MSwgMjExLCAyMDAsIDEsIDIwNiwgODAsIDIxMSwgMjAwLCAxLCAyMDYsIDc3LCAyMTEsIDIwMCwgMSwgMjEwLCAxNjcsIAorICAgIDIwNiwgOTEsIDIxMSwgMjAwLCAxLCAyMTAsIDE2NywgMjA2LCA3NSwgMjExLCAyMDAsIDEsIDIwNiwgNzMsIDIxMSwgMjAwLCAKKyAgICAxLCAyMDUsIDIxMywgMjExLCAyMDAsIDEsIDIwNiwgNzAsIDIxMSwgMjAwLCAxLCAyMDYsIDY5LCAyMTEsIDIwMCwgMSwgCisgICAgMjA2LCA5MywgMjExLCAyMDAsIDEsIDIxMCwgMTY3LCAyMDYsIDkzLCAyMTEsIDIwMCwgMSwgMjUxLCAxNTUsIDIwNiwgOTMsIAorICAgIDIxMSwgMjAwLCAxLCAyMDYsIDY4LCAyMTEsIDIwMCwgMSwgMjA2LCA2NiwgMjExLCAyMDAsIDEsIDIwNiwgNjcsIDIxMSwgCisgICAgMjAwLCAxLCAyMDYsIDY1LCAyMTEsIDIwMCwgMSwgMjA2LCA2NCwgMjExLCAyMDAsIDEsIDIwNiwgMTAzLCAyMTEsIDIwMCwgCisgICAgMSwgMjA2LCA2MiwgMjExLCAyMDAsIDEsIDIwNiwgNjAsIDIxMSwgMjAwLCAxLCAyMDYsIDU5LCAyMTEsIDIwMCwgMSwgMjA2LCAKKyAgICA1OCwgMjExLCAyMDAsIDEsIDIwNiwgNTUsIDIxMSwgMjAwLCAxLCAyMTIsIDE0MywgMjA2LCA1NSwgMjExLCAyMDAsIDEsIAorICAgIDIwNiwgNTMsIDIxMSwgMjAwLCAxLCAyMDYsIDUyLCAyMTEsIDIwMCwgMSwgMjA1LCAyNDcsIDIxMSwgMjAwLCA2NSwgMSwgCisgICAgMjMwLCAxMzEsIDgzLCAyMTEsIDIwMCwgMjE2LCA0MCwgODMsIDIxMSwgMjAwLCAxMDcsIDIzMiwgMTE3LCAzMSwgNCwgMjI5LCAKKyAgICAxNDMsIDMxLCA0LCAyMjYsIDE4MCwgMzEsIDQsIDIxOCwgMTIyLCAzMSwgNCwgMjE0LCAxOTIsIDMxLCA0LCAyMTUsIDE1NywgCisgICAgMzEsIDQsIDI0OSwgMTgzLCAzMSwgNCwgMjExLCAxMjksIDMxLCA0LCAyNDcsIDE3MywgMzEsIDQsIDIyNCwgNjUsIDMxLCA0LCAKKyAgICAyMjMsIDEwOSwgMzEsIDQsIDI0MCwgMjUsIDIyMiwgMjMwLCAzMSwgNCwgMjA1LCAxOCwgMzEsIDQsIDI0NSwgNDksIDMxLCAKKyAgICA0LCAyNDYsIDIzLCAzMSwgNCwgMjMyLCAxMjEsIDMxLCA0LCAyMTEsIDI1MiwgMzEsIDQsIDI0OCwgMzEsIDMxLCA0LCAyMjEsIAorICAgIDY1LCAzMSwgNCwgMjIwLCAyMTAsIDMxLCA0LCAyNDAsIDEwNSwgMzEsIDQsIDI0MCwgMTAxLCAzMSwgNCwgMjQwLCAxMDIsIAorICAgIDMxLCA0LCAyNDAsIDEwMywgMzEsIDQsIDIxNCwgOTYsIDMxLCA0LCAyMTQsIDUxLCAzMSwgNCwgMjE0LCA2NCwgMzEsIDQsIAorICAgIDIxNCwgOTUsIDMxLCA0LCAyMTQsIDY5LCAzMSwgNCwgMjE0LCA3MCwgMzEsIDQsIDIxNCwgNTYsIDMxLCA0LCAyNDgsIDE3MSwgCisgICAgMzEsIDQsIDI0OCwgMTUwLCAzMSwgNCwgMjQ4LCAxNTIsIDMxLCA0LCAyNDgsIDE3MCwgMzEsIDQsIDI0OCwgMTY4LCAzMSwgCisgICAgNCwgMjQ4LCAxNjksIDMxLCA0LCAyNDgsIDE1MSwgMzEsIDQsIDIwNCwgMjM4LCAzMSwgNCwgMjA0LCAyMTYsIDMxLCA0LCAKKyAgICAyMDQsIDIyOSwgMzEsIDQsIDIwNCwgMjM3LCAzMSwgNCwgMjA0LCAyMzIsIDMxLCA0LCAyMDQsIDIzMywgMzEsIDQsIDIwNCwgCisgICAgMjIxLCAzMSwgNCwgMjQ4LCAxNjYsIDMxLCA0LCAyNDgsIDE1MywgMzEsIDQsIDI0OCwgMTU1LCAzMSwgNCwgMjQ4LCAxNjUsIAorICAgIDMxLCA0LCAyNDgsIDE2MywgMzEsIDQsIDI0OCwgMTY0LCAzMSwgNCwgMjQ4LCAxNTQsIDMxLCA0LCAyMTksIDE2MiwgMzEsIAorICAgIDQsIDIxOSwgMTUyLCAzMSwgNCwgMjE5LCAxNTgsIDMxLCA0LCAyMTksIDE2MSwgMzEsIDQsIDIxOSwgMTU5LCAzMSwgNCwgCisgICAgMjE5LCAxNjAsIDMxLCA0LCAyMTksIDE1NywgMzEsIDQsIDIzMCwgMTY5LCAzMSwgNCwgMjMwLCAxNjEsIDMxLCA0LCAyMzAsIAorICAgIDE2NCwgMzEsIDQsIDIzMCwgMTY4LCAzMSwgNCwgMjMwLCAxNjUsIDMxLCA0LCAyMzAsIDE2NiwgMzEsIDQsIDIzMCwgMTYyLCAKKyAgICAzMSwgNCwgMjA2LCAxMzksIDMxLCA0LCAyMDYsIDEyNiwgMzEsIDQsIDIwNiwgMTM0LCAzMSwgNCwgMjA2LCAxMzgsIDMxLCAKKyAgICA0LCAyMDYsIDEzNiwgMzEsIDQsIDIwNiwgMTM3LCAzMSwgNCwgMjA2LCAxMzMsIDMxLCA0LCAyMzksIDE2NywgMzEsIDQsIAorICAgIDIzOSwgMTU3LCAzMSwgNCwgMjM5LCAxNjAsIDMxLCA0LCAyMzksIDE2NiwgMzEsIDQsIDIzOSwgMTYyLCAzMSwgNCwgMjM5LCAKKyAgICAxNjMsIDMxLCA0LCAyMzksIDE1OSwgMzYsIDM0LCAxLCAyNTAsIDYxLCAzNiwgMzQsIDEsIDIwOSwgMzksIDM2LCAzNCwgMSwgCisgICAgMjQwLCA4NSwgMzYsIDM0LCAxLCAyNDYsIDksIDM2LCAzNCwgMSwgMjA1LCA3MiwgMzYsIDM0LCAxLCAyMDUsIDkzLCAzNiwgCisgICAgMzQsIDEsIDE3MiwgMzYsIDM0LCAxLCAyNDMsIDY4LCAzNiwgMzQsIDEsIDI0MywgNTAsIDM2LCAzNCwgMSwgMjQzLCA0MSwgCisgICAgMzYsIDM0LCAxLCA3NiwgMzYsIDM0LCAxLCAyMjEsIDE3NCwgMzYsIDM0LCAxLCAyNDIsIDIzNSwgMzYsIDM0LCAxLCAyNDIsIAorICAgIDIyNSwgMzYsIDM0LCAxLCAyMTIsIDEzMSwgMzYsIDM0LCAxLCAxNTUsIDM2LCAzNCwgMSwgMjEwLCAyMzcsIDM2LCAzNCwgMSwgCisgICAgMjQ4LCA4MiwgMzYsIDM0LCAxLCAyMTYsIDIsIDM2LCAzNCwgMSwgMjE1LCAyMTcsIDM2LCAzNCwgMSwgMjQxLCAyMDUsIDM2LCAKKyAgICAzNCwgMSwgMjQyLCAyMjEsIDM2LCAzNCwgMSwgNjIsIDM2LCAzNCwgMSwgMjMzLCAxMjksIDM2LCAzNCwgMSwgMjQ1LCA2NywgCisgICAgMzYsIDM0LCAxLCAyMjYsIDE1OCwgMjA5LCAyNDksIDM2LCAzNCwgMSwgMjA2LCA2NSwgMzYsIDM0LCAxLCAyMDUsIDIxMywgCisgICAgMzYsIDM0LCAxLCAyMzIsIDI0NywgNjIsIDM2LCAzNCwgMSwgMjI5LCAxODAsIDIwNSwgMTgzLCAzNiwgMzQsIDEsIDI0OSwgCisgICAgMjMxLCAyMDUsIDE4MywgMzYsIDM0LCAxLCAyMzIsIDI0NywgMjQ5LCAyMzEsIDIwNSwgMTgzLCA0OCwgMjUyLCAxMDksIAorICAgIDIxMywgMTc4LCAyMjcsIDE4NywgNDgsIDI1MiwgMTA5LCAyNDQsIDIxLCAyMTMsIDE3OCwgMjI3LCAxODcsIDQ3LCAyMTMsIAorICAgIDE3OCwgMTQ1LCA0OCwgMjEzLCAxNzgsIDE0NSwgNDcsIDI0NCwgMjEsIDIxMywgMTc4LCAxNDUsIDQ4LCAyNDQsIDIxLCAKKyAgICAyMTMsIDE3OCwgMTQ1LCAyMTksIDgxLCAyMzMsIDEyLCAyMjcsIDE4NywgMjE5LCA4MSwgMjQ0LCAyMSwgMjMzLCAxMiwgCisgICAgMjI3LCAxODcsIDI0NCwgMjEsIDIxMSwgNjcsIDIyNywgMTg3LCA0NywgMjExLCA2NywgMTQ1LCA0OCwgMjExLCA2NywgMTQ1LCAKKyAgICAyMTksIDgxLCAyMTQsIDEwNywgNDcsIDIxOSwgODEsIDIyMiwgMTY3LCAxNDUsIDQ4LCAyMTksIDgxLCAyMjIsIDE2NywgCisgICAgMTQ1LCAyNDMsIDEwNSwgMjQ3LCA4OSwgMjIxLCAyMjcsIDI0MSwgMTM4LCAyMjEsIDIyNywgMjE4LCAyMjQsIDI0MSwgMTM4LCAKKyAgICAyMjEsIDIyNywgMjM3LCAyMzYsIDI0NCwgMjEsIDIyMiwgMjI1LCAxNzMsIDI1MiwgMTE4LCAxNjcsIDI1MiwgMTE4LCAyNDQsIAorICAgIDIxLCAyMTgsIDE2MiwgMjUyLCAxMDgsIDUwLCAyMjIsIDIyMiwgMjM3LCAyMzksIDIzMywgMiwgMjMzLCAxMCwgMjIyLCAxOSwgCisgICAgMjQ5LCAxMzAsIDIzNywgMjQwLCAyLCAyNDUsIDE2NiwgMjExLCAxODEsIDIsIDIxOCwgMTQ5LCA1MiwgNDcsIDExNCwgMjIxLCAKKyAgICAyMTksIDE0NSwgNDgsIDExNCwgMjIxLCAyMTksIDE0NSwgMjExLCAxODEsIDIsIDY3LCA1MiwgMjExLCAxODEsIDIsIDY3LCAKKyAgICA1NSwgNDcsIDc5LCAyNTAsIDEyOSwgMiwgMjE5LCAxOTAsIDQ4LCA3OSwgMjUwLCAxMjksIDIsIDIxOSwgMTkwLCAyMTEsIAorICAgIDEwMiwgNDcsIDE2MCwgMTQ1LCAyMTEsIDEwMiwgNDgsIDE2MCwgMTQ1LCAyNDksIDE1NCwgNDcsIDE2MCwgMTQ1LCAyNDksIAorICAgIDE1NCwgNDgsIDE2MCwgMTQ1LCA0NywgMjE1LCA3MywgMTA2LCAxNDUsIDQ4LCAyMTUsIDczLCAxMDYsIDE0NSwgNDcsIDUwLCAKKyAgICAyMjEsIDIxNiwgNDgsIDUwLCAyMjEsIDIxNiwgMTE4LCAxNzcsIDEzMSwgMTE5LCA2NywgMjIwLCA3MSwgMTE5LCA2NywgCisgICAgMTMxLCAxMTgsIDE3NywgMjIwLCA3MSwgOTgsIDI0MSwgMTI1LCA2NywgMjIwLCA3MSwgMjQxLCAyMDQsIDY3LCA4MywgMjE4LCAKKyAgICAyMjQsIDIxOSwgMTk2LCA4MywgNzksIDIxMSwgMTgwLCAyMTgsIDE0OSwgMjIwLCAyMDQsIDIwNiwgMjMyLCAyMTYsIDQwLCAKKyAgICAyMjYsIDI0NywgMjQ1LCAyMywgMjAxLCAyNDcsIDE1NSwgMjE5LCA4MSwgMjQ1LCAyMywgMjE5LCA4MSwgMjQ3LCAxNTUsIAorICAgIDIwMSwgMjE2LCA1MiwgMjQ2LCAxMjksIDIsIDQ3LCAyMzksIDIwNywgMjQ2LCAxMjksIDIsIDQ4LCAyMzksIDIwNywgMjAxLCAKKyAgICAyNDYsIDEyOCwgMjExLCAxMDIsIDE2MCwgMjE3LCA3NywgNTMsIDIxMCwgMTA5LCAyNDYsIDc4LCAyMTEsIDIzNywgMjQ2LCAKKyAgICA3OCwgMjE0LCA4LCAyNDEsIDgyLCAyMTMsIDI1MSwgNzksIDIxNSwgMTAsIDI0NSwgMjEsIDIwNywgMTQsIDc5LCAyMjksIAorICAgIDIwNSwgMjQ4LCAyMTEsIDUwLCAyMzcsIDIzOSwgMjE4LCAyMjQsIDI0NywgMTU1LCA1MCwgMjI5LCA5MywgMjE5LCAxODAsIAorICAgIDgzLCAxMCwgMzcsIDIxOCwgMjUxLCAxMCwgMzcsIDI0NywgMjAyLCAxMCwgMzcsIDIxNywgODAsIDEwMiwgMTAsIDM3LCAKKyAgICAyMTcsIDgwLCAxMDUsIDEwLCAzNywgMjE3LCA4MCwgMTQyLCAxMCwgMzcsIDIyMSwgMTE0LCAxMCwgMzcsIDI0OSwgMTQwLCAKKyAgICAxMCwgMzcsIDIxMiwgMjA2LCAxMCwgMzcsIDIzMSwgNTksIDEwMiwgMTAsIDM3LCAyMzEsIDU5LCAxMDUsIDEwLCAzNywgCisgICAgMjQ1LCA3NiwgMTAsIDM3LCAyMTcsIDg0LCAxMCwgMzcsIDUsIDEwMiwgMTAsIDM3LCA1LCAxMDUsIDEwLCAzNywgMjMwLCAKKyAgICAxMDEsIDEwMiwgMTAsIDM3LCAyMzAsIDEwMSwgMTA1LCAxMCwgMzcsIDIzMCwgMTAxLCAxNDIsIDEwLCAzNywgMjMwLCAxMDEsIAorICAgIDEzOSwgMTAsIDM3LCAyMTQsIDIwNCwgMTAsIDM3LCAyMTEsIDIzOSwgMTAsIDM3LCAyMTQsIDIwMiwgMTAyLCAxMCwgMzcsIAorICAgIDIxNCwgMjAyLCAxMDUsIDEwLCAzNywgMjM5LCA2MSwgMTAyLCAxMCwgMzcsIDIzOSwgNjEsIDEwNSwgMTAsIDM3LCAyMzksIAorICAgIDEwNywgMTAsIDM3LCAyMTksIDcxLCAxMCwgMzcsIDI0OCwgMjgsIDEwLCAzNywgMjEzLCAxNTQsIDEwLCAzNywgMjI2LCAKKyAgICAxNDQsIDEwLCAzNywgMjQ2LCA3LCAxMCwgMzcsIDIyNiwgMTM2LCAxMCwgMzcsIDI0NywgMjIwLCAxMCwgMzcsIDIwNywgNzAsIAorICAgIDEwMiwgMTAsIDM3LCAyMDcsIDcwLCAxMDUsIDEwLCAzNywgMjQxLCAyMTksIDEwLCAzNywgMjIxLCAxODYsIDEwMiwgMTAsIAorICAgIDM3LCAyMjEsIDE4NiwgMTA1LCAxMCwgMzcsIDIxNSwgNDYsIDE2MCwgMjExLCA2MiwgMjEwLCAyNDgsIDEwLCAzNywgMjQ3LCAKKyAgICA3NSwgMTAsIDM3LCAyNDUsIDQwLCAxMCwgMzcsIDIzMiwgMTk1LCAxMCwgMzcsIDI0OSwgMTc3LCA3MywgMjQ3LCAxODYsIAorICAgIDEwLCAzNywgMjQyLCAxNTAsIDEwLCAzNywgMjE0LCAxMjUsIDEwMiwgMTAsIDM3LCAyMTQsIDEyNSwgMTA1LCAxMCwgMzcsIAorICAgIDI1MCwgMTQyLCAxMCwgMzcsIDIxNSwgNTMsIDEwLCAzNywgMjQ5LCAzMSwgMjE1LCA1MywgMTAsIDM3LCAyMjUsIDkyLCAKKyAgICAxMDIsIDEwLCAzNywgMjI1LCA5MiwgMTA1LCAxMCwgMzcsIDIyNSwgOTIsIDE0MiwgMTAsIDM3LCAyMjUsIDkyLCAxMzksIAorICAgIDEwLCAzNywgMjI3LCA3MCwgMTAsIDM3LCAyMTUsIDIwOCwgMTAsIDM3LCAyMTksIDc3LCAxMCwgMzcsIDI0MiwgMTc0LCAxMCwgCisgICAgMzcsIDIyMiwgMTc5LCAxMCwgMzcsIDI0OSwgMTA5LCAxMDIsIDEwLCAzNywgMjQ5LCAxMDksIDEwNSwgMTAsIDM3LCAyMjcsIAorICAgIDExNCwgMTAsIDM3LCAyMjYsIDEzOSwgMTAsIDM3LCAyMzksIDI0MCwgMTAyLCAxMCwgMzcsIDIzOSwgMjQwLCAxMDUsIDEwLCAKKyAgICAzNywgMjM5LCAyNDAsIDE0MiwgMTAsIDM3LCAyMTEsIDE5OCwgMTAsIDM3LCAyNDcsIDE4NSwgMTAsIDM3LCAyMDcsIDM2LCAKKyAgICAxMDIsIDEwLCAzNywgMjA3LCAzNiwgMTA1LCAxMCwgMzcsIDI0OSwgMzEsIDIxNywgNzQsIDEwLCAzNywgMjE1LCA0NiwgCisgICAgMjM4LCA2OSwgMTAsIDM3LCAyMzgsIDY5LCAxMCwgMzcsIDI0OSwgMzEsIDIxNCwgMTM2LCAxMCwgMzcsIDI0OSwgMzEsIAorICAgIDIxNSwgMjAzLCAxMCwgMzcsIDI0MSwgMTQ4LCAxMCwgMzcsIDI0OSwgMzEsIDI0OCwgMTg5LCAxMCwgMzcsIDIxNSwgNDYsIAorICAgIDIwNywgODcsIDEwLCAzNywgMjA3LCA4OCwgMTAyLCAxMCwgMzcsIDIwNywgODgsIDEwNSwgMTAsIDM3LCAyNDcsIDIyMywgCisgICAgMTAsIDM3LCAyNDksIDMxLCAyNDAsIDExLCAxMCwgMzcsIDE1MiwgMTAyLCAxMCwgMzcsIDE1MiwgMTA1LCAxMCwgMzcsIAorICAgIDI0OSwgMzEsIDIyOSwgMTI1LCAxMCwgMzcsIDI0OSwgMzEsIDI0MCwgMTk2LCAxMCwgMzcsIDIyNiwgMTMyLCAxMDIsIDEwLCAKKyAgICAzNywgMjI2LCAxMzIsIDEwNSwgMTAsIDM3LCAyMTksIDgzLCAxMCwgMzcsIDI0OSwgMTg2LCAxMCwgMzcsIDI0OSwgMzEsIAorICAgIDIxMiwgMTY4LCAyMzAsIDUyLCAxMCwgMzcsIDI0OSwgMzEsIDIzMCwgNTMsIDEwLCAzNywgMjQ5LCAzMSwgMjA3LCA5LCAxMCwgCisgICAgMzcsIDI0OSwgMzEsIDI0MSwgMTY2LCAxMCwgMzcsIDI0MywgMTE0LCAxMDIsIDEwLCAzNywgMjQzLCAxMTQsIDEwNSwgMTAsIAorICAgIDM3LCAyNDMsIDExNCwgMTQyLCAxMCwgMzcsIDI0OSwgMzEsIDI0MywgMTEzLCAxMCwgMzcsIDIzOSwgNjgsIDEwLCAzNywgCisgICAgMjQ5LCAzMSwgMjM4LCA2NSwgMTAsIDM3LCAyNDksIDE3MywgMTAsIDM3LCAyNDAsIDY5LCAxMCwgMzcsIDI0OSwgMzEsIAorICAgIDI0MSwgMjEzLCAxMCwgMzcsIDI0OSwgMzEsIDI0OSwgMjE4LCAxMCwgMzcsIDI0OSwgMzEsIDIxNywgMTY1LCAxMCwgMzcsIAorICAgIDIxNSwgNDYsIDIwNywgMjgsIDEwLCAzNywgMjE1LCA0NiwgMjA2LCA0NCwgMTAsIDM3LCAyNDksIDMxLCAyNDEsIDk5LCAxMCwgCisgICAgMzcsIDIzMiwgMjAyLCAyNDIsIDE3OCwgMTAsIDM3LCAyNDksIDMxLCAyNDIsIDE3OCwgMTAsIDM3LCAyMzIsIDIwMiwgMjExLCAKKyAgICAxMDMsIDEwLCAzNywgMjQ5LCAzMSwgMjExLCAxMDMsIDEwLCAzNywgMjMyLCAyMDIsIDI0MywgMjU1LCAxMCwgMzcsIDI0OSwgCisgICAgMzEsIDI0MywgMjU1LCAxMCwgMzcsIDIxMCwgMTQxLCAxMCwgMzcsIDIzMiwgMjAyLCAyMTAsIDE0MSwgMTAsIDM3LCAyNDksIAorICAgIDMxLCAyMTAsIDE0MSwgNjgsIDM3LCAxMDIsIDY4LCAzNywgMjI5LCAyMDUsIDY4LCAzNywgMjQ1LCAyMywgNjgsIDM3LCAKKyAgICAyMTQsIDIzNSwgNjgsIDM3LCAyMTcsIDc5LCA2OCwgMzcsIDEwOSwgNjgsIDM3LCAxMDUsIDY4LCAzNywgMjI5LCAyMzEsIAorICAgIDY4LCAzNywgMjI3LCAyMjEsIDY4LCAzNywgMjMwLCAzMSwgNjgsIDM3LCAyNDMsIDE4LCA2OCwgMzcsIDE5MywgNjgsIDM3LCAKKyAgICAxMzAsIDI0OSwgMTQwLCA2OCwgMzcsIDI0NywgNzcsIDY4LCAzNywgMjM3LCAxODEsIDY4LCAzNywgMjEyLCAyMDYsIDY4LCAKKyAgICAzNywgMjIyLCAxNDIsIDI0OSwgMTQwLCA2OCwgMzcsIDIzMSwgNTgsIDY4LCAzNywgMjIwLCAxNjEsIDY4LCAzNywgMjA2LCAKKyAgICAyMjMsIDY4LCAzNywgMjE0LCAxMTgsIDY4LCAzNywgNDgsIDIyMiwgMTQyLCAyNDksIDE0MCwgNjgsIDM3LCAyMzksIDcsIAorICAgIDI0MywgMzYsIDY4LCAzNywgMjEyLCA5OCwgNjgsIDM3LCAyNDUsIDc2LCA2OCwgMzcsIDIxNywgODQsIDY4LCAzNywgMjQ3LCAKKyAgICAyMDIsIDY4LCAzNywgMjIwLCAxMTcsIDY4LCAzNywgMjUyLCAyMTksIDY4LCAzNywgMjI2LCAxMjMsIDY4LCAzNywgMjQzLCAKKyAgICAzNiwgNjgsIDM3LCAyNDMsIDEyMCwgNjgsIDM3LCAyMTcsIDEwNSwgNjgsIDM3LCAyNDAsIDE5LCA2OCwgMzcsIDI0MCwgMjAsIAorICAgIDIxNCwgMjE3LCA2OCwgMzcsIDI0MiwgMTc3LCA2OCwgMzcsIDI0OSwgMjMwLCA2OCwgMzcsIDIwNiwgMjQ0LCA2OCwgMzcsIAorICAgIDI0OCwgNDksIDY4LCAzNywgMjE4LCAxMDYsIDY4LCAzNywgMjMzLCA2NCwgNjgsIDM3LCAyMTQsIDIxNSwgNjgsIDM3LCAKKyAgICAyMzAsIDEwMCwgNjgsIDM3LCAyNDcsIDg3LCA2OCwgMzcsIDIxNCwgMTExLCA2OCwgMzcsIDIyNiwgMTI4LCA2OCwgMzcsIAorICAgIDIxOCwgMTM4LCA2OCwgMzcsIDIwNiwgMjI5LCA2OCwgMzcsIDIyMiwgMTU5LCA2OCwgMzcsIDIxMCwgMTQ4LCA2OCwgMzcsIAorICAgIDI0MywgMjM5LCA2OCwgMzcsIDIxNSwgMTQ0LCAyMTEsIDIzOSwgNjgsIDM3LCAyNDQsIDIxLCAyNDcsIDIwMiwgNjgsIDM3LCAKKyAgICAxNTIsIDIxMywgMjMwLCA2OCwgMzcsIDExOCwgMjM5LCAxMDIsIDY4LCAzNywgMjE1LCAxNTAsIDY4LCAzNywgMjQ5LCAxNDYsIAorICAgIDY4LCAzNywgMjE0LCAyMDEsIDY4LCAzNywgMjQ5LCAxMTMsIDY4LCAzNywgMjE0LCA3LCA2OCwgMzcsIDIzOSwgNjAsIDY4LCAKKyAgICAzNywgMjM5LCAxMjIsIDY4LCAzNywgMjQ1LCAyNiwgNjgsIDM3LCAyMzksIDEwNywgNjgsIDM3LCAyNDksIDEzMCwgNjgsIAorICAgIDM3LCAyMTksIDcxLCA2OCwgMzcsIDIxNywgOTIsIDY4LCAzNywgMjQ1LCAxMDYsIDY4LCAzNywgMjUxLCAxNjAsIDY4LCAzNywgCisgICAgMjE0LCAxMDcsIDY4LCAzNywgMjI0LCA0MiwgNjgsIDM3LCAyMTMsIDE1NCwgNjgsIDM3LCAyMTcsIDExNiwgNjgsIDM3LCAKKyAgICAyMjYsIDE0NCwgNjgsIDM3LCAyMTEsIDYxLCA2OCwgMzcsIDIzMCwgMTI3LCA2OCwgMzcsIDIxMywgMjUxLCA2OCwgMzcsIAorICAgIDI0NiwgNywgNjgsIDM3LCAyMDcsIDUwLCA2OCwgMzcsIDI0NSwgNTIsIDIyNCwgNDIsIDY4LCAzNywgMjQ3LCAxNTEsIDY4LCAKKyAgICAzNywgMjQxLCA3NSwgNjgsIDM3LCAyNDcsIDIxNCwgNjgsIDM3LCAyMTQsIDEyLCA2OCwgMzcsIDIwNywgNjksIDY4LCAzNywgCisgICAgMjQxLCAyMTksIDY4LCAzNywgMjQ3LCAyMTAsIDY4LCAzNywgMjQyLCAzNSwgNjgsIDM3LCA1MCwgMjA2LCAxOTUsIDY4LCAKKyAgICAzNywgMTYwLCAyMTEsIDYyLCAyMTAsIDI0OCwgNjgsIDM3LCAyMTQsIDIyOCwgNjgsIDM3LCAyNDIsIDQ1LCA2OCwgMzcsIAorICAgIDI0NywgNzUsIDY4LCAzNywgMjQ1LCA0MCwgNjgsIDM3LCAyMjAsIDExNCwgNjgsIDM3LCAyMzIsIDE5NSwgNjgsIDM3LCAKKyAgICAyMjcsIDkyLCA2OCwgMzcsIDIxMSwgMTc5LCA2OCwgMzcsIDIxMywgMTA0LCA2OCwgMzcsIDIyOSwgMjI1LCA2OCwgMzcsIAorICAgIDIwOSwgMTc1LCA2OCwgMzcsIDI0MSwgMjQ5LCA2OCwgMzcsIDI0OSwgMTc3LCA3MywgMjQ3LCAxODYsIDY4LCAzNywgMjE1LCAKKyAgICA3NiwgNjgsIDM3LCAyNDQsIDIxLCAyMTIsIDkyLCA2OCwgMzcsIDIwNywgMjMsIDY4LCAzNywgMjE0LCAyNDMsIDY4LCAzNywgCisgICAgMjQ1LCA5NCwgNjgsIDM3LCAyNDIsIDE1MCwgNjgsIDM3LCAyMTQsIDEzOSwgNjgsIDM3LCA0NSwgNjgsIDM3LCAyMTMsIAorICAgIDI1MywgNjgsIDM3LCAyMTQsIDEyNCwgNjgsIDM3LCAyMTEsIDgyLCA2OCwgMzcsIDIzOSwgMjQ3LCA2OCwgMzcsIDI0OCwgCisgICAgMTc2LCA2OCwgMzcsIDIxNCwgMzAsIDY4LCAzNywgMjUwLCAxNDIsIDY4LCAzNywgMjE4LCAyMDMsIDY4LCAzNywgMjE1LCAKKyAgICA1MywgNjgsIDM3LCAyMzIsIDE4OCwgNjgsIDM3LCAyMjUsIDkxLCA2OCwgMzcsIDIxNSwgMjA4LCA2OCwgMzcsIDI0MiwgMjMsIAorICAgIDY4LCAzNywgMjIyLCAxNzksIDY4LCAzNywgMjUyLCAxMTcsIDY4LCAzNywgMjIwLCAyMjUsIDY4LCAzNywgMjQzLCAxMjQsIAorICAgIDY4LCAzNywgMjQ5LCAxMDgsIDY4LCAzNywgMjI3LCAxMTQsIDY4LCAzNywgMjI2LCAyMDMsIDY4LCAzNywgMjE2LCA1OCwgCisgICAgNjgsIDM3LCAyNTEsIDI0NywgNjgsIDM3LCAyMjYsIDEzOSwgNjgsIDM3LCAyMTEsIDEwNywgNjgsIDM3LCAyMjIsIDEzMCwgCisgICAgNjgsIDM3LCAyNDksIDE4MCwgNjgsIDM3LCAyMTMsIDI0OSwgNjgsIDM3LCAyNDcsIDE2MSwgNjgsIDM3LCAyMzksIDIzOSwgCisgICAgNjgsIDM3LCAyMTEsIDE5OCwgNjgsIDM3LCAyMzMsIDI4LCA2OCwgMzcsIDI0OSwgMTkxLCA2OCwgMzcsIDIwNywgODgsIAorICAgIDI0MywgMzYsIDY4LCAzNywgMjQ3LCAxODUsIDY4LCAzNywgMjA3LCAzNSwgNjgsIDM3LCAyMTcsIDc0LCA2OCwgMzcsIDIzOCwgCisgICAgNjksIDY4LCAzNywgMjE0LCAxMzYsIDY4LCAzNywgMjA5LCA2MywgNjgsIDM3LCAyNTAsIDU3LCA2OCwgMzcsIDIyMSwgMTcsIAorICAgIDY4LCAzNywgMjUwLCAxNjUsIDY4LCAzNywgMjE1LCAyMDMsIDY4LCAzNywgMjE5LCAzMSwgNjgsIDM3LCAyMTgsIDM1LCA2OCwgCisgICAgMzcsIDI0MSwgMTQ4LCA2OCwgMzcsIDI0OSwgMTc5LCA2OCwgMzcsIDI0OCwgMTg5LCA2OCwgMzcsIDI0OSwgMjA3LCA2OCwgCisgICAgMzcsIDIyNiwgMTQxLCA2OCwgMzcsIDIwNywgODcsIDY4LCAzNywgMjQ3LCAyMjMsIDY4LCAzNywgMjA3LCA1LCA2OCwgMzcsIAorICAgIDI0NSwgODcsIDY4LCAzNywgMjA4LCAxOTgsIDY4LCAzNywgMjQwLCAxMSwgNjgsIDM3LCAyMjksIDEyNSwgNjgsIDM3LCAKKyAgICAyNDAsIDE5NiwgNjgsIDM3LCAyMjYsIDEzMSwgNjgsIDM3LCAyMTQsIDIzNCwgNjgsIDM3LCAyMTUsIDE0NCwgMjEyLCAxOTAsIAorICAgIDI0OSwgMjE4LCA2OCwgMzcsIDIxOSwgODMsIDY4LCAzNywgMjQ5LCAxODYsIDY4LCAzNywgMjA2LCAyMTgsIDY4LCAzNywgCisgICAgMjQyLCA2NywgNjgsIDM3LCAyMzAsIDUyLCA2OCwgMzcsIDIxMiwgMTY4LCAyMzAsIDUyLCA2OCwgMzcsIDIzMCwgNDgsIDY4LCAKKyAgICAzNywgMjE0LCAxNjQsIDY4LCAzNywgMjMwLCA1MywgNjgsIDM3LCAyMDcsIDksIDY4LCAzNywgMjQxLCAxNjYsIDY4LCAzNywgCisgICAgMjQzLCAxMTMsIDY4LCAzNywgMjM5LCA2OCwgNjgsIDM3LCAyNDEsIDExNCwgNjgsIDM3LCAyMzgsIDY1LCA2OCwgMzcsIAorICAgIDI0OSwgMTczLCA2OCwgMzcsIDIxMiwgMTc3LCA2OCwgMzcsIDIzOSwgMTI5LCA2OCwgMzcsIDI0MSwgMjQyLCA2OCwgMzcsIAorICAgIDIxNywgMTkzLCAyMDcsIDUsIDY4LCAzNywgMjQ4LCAxNzgsIDY4LCAzNywgMjQwLCA2OSwgNjgsIDM3LCAyNDEsIDIxMywgCisgICAgNjgsIDM3LCAyNDksIDIxOCwgNjgsIDM3LCAyMTcsIDE2NSwgNjgsIDM3LCAyNDUsIDI0OCwgNjgsIDM3LCAyMDcsIDI4LCAKKyAgICA2OCwgMzcsIDIzOSwgNDIsIDY4LCAzNywgMjA2LCA0NCwgNjgsIDM3LCAyMjYsIDIxNCwgNjgsIDM3LCAyNDksIDIwMiwgNjgsIAorICAgIDM3LCAyNDMsIDQ2LCA2OCwgMzcsIDI0MSwgOTksIDY4LCAzNywgMjExLCAzNCwgNjgsIDM3LCAyNDMsIDI0MSwgNjgsIDM3LCAKKyAgICAyMTksIDY1LCA2OCwgMzcsIDIyNCwgNDQsIDY4LCAzNywgMjQyLCAxNzgsIDY4LCAzNywgMjExLCAxMDMsIDY4LCAzNywgCisgICAgMjQzLCAyNTUsIDY4LCAzNywgMjEwLCAxNDEsIDY4LCAzNywgMjQxLCAxNjgsIDEyOCwgMjQ1LCAyMDksIDE1NywgNDcsIAorICAgIDIxMSwgMTMwLCAyMTgsIDE2NywgMTI4LCAyNDUsIDIwOSwgMTU3LCA4NCwgMjExLCAxMzAsIDU1LCAxMjgsIDI0NSwgMjA5LCAKKyAgICAxNTcsIDQ3LCAyMTEsIDEzMCwgMjI2LCAyNDcsIDIzLCAyMTgsIDE2NywgMTI4LCAyNDUsIDIwOSwgMTU3LCA4NCwgMjExLCAKKyAgICAxMzAsIDIyNiwgMjQ3LCAyMywgNTUsIDEyOCwgMjQ1LCAyMDksIDE1NywgMjQxLCA4MiwgMjEzLCAxMjYsIDEyOCwgMjQ1LCAKKyAgICAyMDksIDE1NywgMjEzLCAxMjcsIDI0MSwgOTgsIDUyLCAxMjgsIDI0NSwgMjA5LCAxNTcsIDIxMywgMTI3LCAyNDEsIDk4LCAKKyAgICA1NSwgMTI4LCAyNDUsIDIwOSwgMTU3LCAyMTMsIDEyNywgMjQxLCA5OCwgMjMwLCA0NiwgMTI4LCAyNDUsIDIwOSwgMTU3LCAKKyAgICAyMTMsIDEyNywgMjQxLCA5OCwgMjA5LCAyMDMsIDIzMCwgNDYsIDEyOCwgMjQ1LCAyMDksIDE1NywgMjEzLCAxMjcsIDI0MSwgCisgICAgOTgsIDIwOSwgMjAzLCAyMTgsIDE2NywgMTI4LCAyNDUsIDIwOSwgMTU3LCAyMTMsIDEyNywgMjQxLCA5OCwgMjI5LCA5MiwgCisgICAgMjMwLCA0NiwgMTI4LCAyNDUsIDIwOSwgMTU3LCAyMjIsIDg1LCAxMjgsIDIxNCwgMTUzLCAxMjgsIDI0NywgMTU1LCAxMjgsIAorICAgIDI0MSwgODIsIDIxMywgMjUxLCAyNDUsIDg0LCA4MywgMjMyLCAxODksIDIzMywgNDcsIDIxNCwgMjksIDkzLCAxMjgsIDIzMiwgCisgICAgMjE4LCA4MywgMTI4LCAyNDcsIDE4OCwgODMsIDEyOCwgNDMsIDIwNSwgODUsIDQ3LCAyNTIsIDEwOSwgMTQ1LCA0OCwgMjUyLCAKKyAgICAxMDksIDE0NSwgNDcsIDUwLCAyNTIsIDEwOSwgMTQ1LCA0OCwgNTAsIDI1MiwgMTA5LCAxNDUsIDQ3LCAyNDcsIDkyLCAxNDUsIAorICAgIDQ4LCAyNDcsIDkyLCAxNDUsIDQ3LCA1OSwgMjQ3LCA5MiwgMTQ1LCA0OCwgNTksIDI0NywgOTIsIDE0NSwgNDcsIDYwLCAKKyAgICAyMzAsIDE2LCAxNDUsIDQ4LCA2MCwgMjMwLCAxNiwgMTQ1LCAyMjAsIDE3NCwgODMsIDI0MCwgMTM4LCA4MywgNDcsIDIxMSwgCisgICAgOTMsIDIxNSwgMjA0LCAxNDUsIDQ4LCAyMTEsIDkzLCAyMTUsIDIwNCwgMTQ1LCA0NywgNTksIDIzMCwgMTYsIDE0NSwgNDgsIAorICAgIDU5LCAyMzAsIDE2LCAxNDUsIDQ3LCA1OSwgMjExLCA5MywgMjE1LCAyMDQsIDE0NSwgNDgsIDU5LCAyMTEsIDkzLCAyMTUsIAorICAgIDIwNCwgMTQ1LCA0NywgNTksIDQ5LCAxNDUsIDQ4LCA1OSwgNDksIDE0NSwgMjA3LCA2NSwgMjQ2LCA3OCwgMjE4LCAyMjQsIAorICAgIDUwLCAyMjAsIDEyOCwgMjE5LCAxODAsIDgzLCA1MCwgMjIwLCAxMjgsIDIxOSwgMTgwLCA4MywgMTE0LCA1MCwgMjIwLCAKKyAgICAxMjgsIDIxOSwgMTgwLCA4MywgMjIwLCAxNzQsIDE0MSwgMjQyLCA2NywgMjM5LCAxMDAsIDIyMywgMTc3LCAxMDIsIDIzOSwgCisgICAgMTAwLCAyMjMsIDE3NywgMTA1LCAyMzksIDEwMCwgMjIzLCAxNzcsIDE0MiwgMjM5LCAxMDAsIDIyMywgMTc3LCAxMzksIAorICAgIDIzOSwgMTAwLCAyMjMsIDE3NywgMTY4LCAyMzksIDEwMCwgMjIzLCAxNzcsIDE4NCwgMjM5LCAxMDAsIDIyMywgMTc3LCAKKyAgICAxOTUsIDIzOSwgMTAwLCAyMjMsIDE3NywgMTkzLCAyMzksIDEwMCwgMjIzLCAxNzcsIDIwMCwgMTI4LCAyMjksIDI1NCwgCisgICAgMTM1LCA4MywgMTI4LCAyMTgsIDE0MiwgMTM1LCA4MywgMTI4LCAyNDUsIDIxNywgMTM1LCA4MywgMTI4LCAyNDMsIDE3LCAKKyAgICAxMzUsIDgzLCAyNSwgMjE1LCA0MSwgNjcsIDEzNSwgODMsIDI1LCA1MCwgNjcsIDEzNSwgODMsIDIwNywgNjEsIDI0NiwgNzgsIAorICAgIDc5LCAyMzIsIDI2LCAyMTgsIDI1MiwgODMsIDc5LCAyMzIsIDI2LCAyMTgsIDI1MiwgMiwgMjA4LCAxNzAsIDIxNCwgMTY1LCAKKyAgICA4MywgNzksIDIzMiwgMjYsIDIxOCwgMjUyLCAxNDEsIDIwOSwgMjAzLCAyMzksIDEyMSwgNzksIDIzMiwgMjYsIDIxOCwgCisgICAgMjUyLCAyLCAyMDgsIDE3MCwgMjE0LCAxNjUsIDE0MSwgMjA5LCAyMDMsIDIzOSwgMTIxLCA3OSwgMjMyLCAyNiwgMjE4LCAKKyAgICAyNTIsIDE0MSwgMjI5LCA5MiwgMjM5LCAxMjEsIDM5LCAyMjAsIDE3NCwgODMsIDEyOCwgMjEyLCAxMTAsIDIyOSwgMjA2LCAKKyAgICAyNDIsIDIwLCAyMTYsIDQwLCA5MywgMjM5LCAxMDAsIDIyMywgMTc3LCAyMTIsIDk4LCAyMzksIDEwMCwgMjIzLCAxNzcsIAorICAgIDIxMCwgMTIzLCAyMzksIDEwMCwgMjIzLCAxNzcsIDIxMiwgMywgNzksIDEyOCwgMjMyLCAyMTgsIDgzLCAyMjcsIDE3MSwgCisgICAgODMsIDIyMSwgMjExLCAyNTIsIDE0MCwgODMsIDEyOCwgNTQsIDIzMywgNDksIDEyOCwgMTYwLCAyNDEsIDIzNSwgMjE0LCAKKyAgICAxNTMsIDE2MSwgMSwgNSwgNjIsIDE2MSwgMSwgNjIsIDE2MSwgMSwgNSwgNzQsIDE2MSwgMSwgNzQsIDE2MSwgMSwgNSwgNzEsIAorICAgIDE2MSwgMSwgNzEsIDE2MSwgMSwgNSwgNzUsIDE2MSwgMSwgNzUsIDE2MSwgMSwgNSwgNzYsIDE2MSwgMSwgNzYsIDE2MSwgMSwgCisgICAgMTcyLCAxNjEsIDEsIDI0MCwgMjQ0LCAxNjEsIDEsIDIzMSwgMTIzLCAxNjEsIDEsIDI0MCwgNjEsIDE2MSwgMSwgMjMwLCAKKyAgICAyMzYsIDE2MSwgMSwgMjM5LCAyMTMsIDE2MSwgMSwgMjMxLCAyMjQsIDE2MSwgMSwgMjQwLCAxNzAsIDE2MSwgMSwgMjMxLCAKKyAgICA1MywgMTYxLCAxLCAyNDAsIDE5LCAxNjEsIDEsIDIxNywgMTk5LCAxNjEsIDEsIDIwNSwgMTE2LCAxNjEsIDEsIDIxNSwgODAsIAorICAgIDE2MSwgMSwgMjA1LCA0MCwgMTYxLCAxLCAyMTMsIDIwMywgMTYxLCAxLCAyMDUsIDksIDE2MSwgMSwgMjE3LCA4NiwgMTYxLCAKKyAgICAxLCAyMDUsIDkzLCAxNjEsIDEsIDIxNCwgMTkzLCAxNjEsIDEsIDIwNSwgMTksIDE2MSwgMSwgMjEyLCAyMTksIDE2MSwgMSwgCisgICAgMjQ2LCAxNDUsIDE2MSwgMSwgMjExLCAyMTEsIDE2MSwgMSwgMjQ1LCAxNjgsIDE2MSwgMSwgNSwgMjEwLCAxNzAsIDE2MSwgCisgICAgMSwgMjEwLCAxNzAsIDE2MSwgMSwgMjQzLCAyMzcsIDE2MSwgMSwgMjEyLCAxMzEsIDE2MSwgMSwgMjQ2LCA5LCAxNjEsIDEsIAorICAgIDEyNCwgMTYxLCAxLCAyNDUsIDUxLCAxNjEsIDEsIDE5OSwgMTYxLCAxLCAyMjQsIDIzMCwgMTYxLCAxLCAyMjMsIDIxNywgCisgICAgMTYxLCAxLCAyMjUsIDExMCwgMTYxLCAxLCAyMjQsIDY3LCAxNjEsIDEsIDE1NSwgMTYxLCAxLCAyNTAsIDE4MywgMTYxLCAxLCAKKyAgICAxNzksIDE2MSwgMSwgMjM5LCAxMSwgMTYxLCAxLCAyNDksIDI0NCwgMTYxLCAxLCAyMjEsIDUzLCAxNjEsIDEsIDIzOCwgNDIsIAorICAgIDE2MSwgMSwgMjQ5LCAxMDEsIDE2MSwgMSwgMjIwLCA4MiwgMTYxLCAxLCAyMzksIDcxLCAxNjEsIDEsIDI1MCwgNjEsIDE2MSwgCisgICAgMSwgMjIxLCAxNzQsIDE2MSwgMSwgMjM4LCAxNDksIDE2MSwgMSwgMjQ5LCAxODQsIDE2MSwgMSwgMjIwLCAyMTEsIDE2MSwgCisgICAgMSwgMTg1LCAxNjEsIDEsIDIyNiwgMjU0LCAxNjEsIDEsIDIyNiwgMTE0LCAxNjEsIDEsIDIyNywgMTE5LCAxNjEsIDEsIAorICAgIDIyNiwgMTgxLCAxNjEsIDEsIDUsIDE5MCwgMTYxLCAxLCAxOTAsIDE2MSwgMSwgNSwgMjA1LCAyMTMsIDE2MSwgMSwgMjA1LCAKKyAgICAyMTMsIDE2MSwgMSwgNSwgMjA1LCAyNDcsIDE2MSwgMSwgMjA1LCAyNDcsIDE2MSwgMSwgMjE5LCAxMTMsIDE2MSwgMSwgCisgICAgMjE4LCAyMDgsIDE2MSwgMSwgMjE4LCA1MCwgMTYxLCAxLCAyMTksIDUxLCAxNjEsIDEsIDIxOCwgMTI0LCAxNjEsIDEsIDUsIAorICAgIDIwNywgOTYsIDE2MSwgMSwgMjA3LCA5NiwgMTYxLCAxLCAyMDcsIDIwLCAxNjEsIDEsIDIwNywgNTEsIDE2MSwgMSwgMjA2LCAKKyAgICAyNTAsIDE2MSwgMSwgMjI2LCAzMywgMTYxLCAxLCAyMDcsIDE0OCwgMTYxLCAxLCA1LCAxNzIsIDE2MSwgMSwgNSwgMjMxLCAKKyAgICAyMjQsIDM2LCAyMzEsIDI0OCwgMjA4LCAxNzAsIDIxNCwgMTY1LCA4MywgMzYsIDIzMSwgMjQ4LCAyMTYsIDU3LCAyMTQsIAorICAgIDE2NSwgODMsIDIzMSwgMjQ4LCAyMDgsIDE3MCwgMjE0LCAxNjUsIDgzLCAyMzEsIDI0OCwgMjE2LCA1NywgMjE0LCAxNjUsIAorICAgIDgzLCAxNjEsIDIzMiwgMjE4LCA4MywgMTYxLCAyMDgsIDE3MCwgMjMyLCAyMTgsIDgzLCAxNjEsIDI0NSwgMTI4LCAyMDUsIAorICAgIDIyOCwgMjMxLCAyNDgsIDUwLCAyMzcsIDIzOSwgNjQsIDEsIDUsIDYyLCA2NCwgMSwgNjIsIDY0LCAxLCA1LCA3NCwgNjQsIAorICAgIDEsIDc0LCA2NCwgMSwgNSwgNzEsIDY0LCAxLCA3MSwgNjQsIDEsIDUsIDc1LCA2NCwgMSwgNzUsIDY0LCAxLCA1LCA3NiwgCisgICAgNjQsIDEsIDc2LCA2NCwgMSwgMTcyLCA2NCwgMSwgMjQwLCAyNDQsIDY0LCAxLCAyMzEsIDEyMywgNjQsIDEsIDI0MCwgNjEsIAorICAgIDY0LCAxLCAyMzAsIDIzNiwgNjQsIDEsIDIzOSwgMjEzLCA2NCwgMSwgMjMxLCAyMjQsIDY0LCAxLCAyNDAsIDE3MCwgNjQsIAorICAgIDEsIDIzMSwgNTMsIDY0LCAxLCAyNDAsIDE5LCA2NCwgMSwgMjE3LCAxOTksIDY0LCAxLCAyMDUsIDExNiwgNjQsIDEsIDIxNSwgCisgICAgODAsIDY0LCAxLCAyMDUsIDQwLCA2NCwgMSwgMjEzLCAyMDMsIDY0LCAxLCAyMDUsIDksIDY0LCAxLCAyMTcsIDg2LCA2NCwgCisgICAgMSwgMjA1LCA5MywgNjQsIDEsIDIxNCwgMTkzLCA2NCwgMSwgMjA1LCAxOSwgNjQsIDEsIDIxMiwgMjE5LCA2NCwgMSwgMjQ2LCAKKyAgICAxNDUsIDY0LCAxLCAyMTEsIDIxMSwgNjQsIDEsIDI0NSwgMTY4LCA2NCwgMSwgNSwgMjEwLCAxNzAsIDY0LCAxLCAyMTAsIAorICAgIDE3MCwgNjQsIDEsIDI0MywgMjM3LCA2NCwgMSwgMjEyLCAxMzEsIDY0LCAxLCAyNDYsIDksIDY0LCAxLCAxMjQsIDY0LCAxLCAKKyAgICAyNDUsIDUxLCA2NCwgMSwgMTk5LCA2NCwgMSwgMjI0LCAyMzAsIDY0LCAxLCAyMjMsIDIxNywgNjQsIDEsIDIyNSwgMTEwLCAKKyAgICA2NCwgMSwgMjI0LCA2NywgNjQsIDEsIDE1NSwgNjQsIDEsIDI1MCwgMTgzLCA2NCwgMSwgMTc5LCA2NCwgMSwgMjM5LCAxMSwgCisgICAgNjQsIDEsIDI0OSwgMjQ0LCA2NCwgMSwgMjIxLCA1MywgNjQsIDEsIDIzOCwgNDIsIDY0LCAxLCAyNDksIDEwMSwgNjQsIDEsIAorICAgIDIyMCwgODIsIDY0LCAxLCAyMzksIDcxLCA2NCwgMSwgMjUwLCA2MSwgNjQsIDEsIDIyMSwgMTc0LCA2NCwgMSwgMjM4LCAKKyAgICAxNDksIDY0LCAxLCAyNDksIDE4NCwgNjQsIDEsIDIyMCwgMjExLCA2NCwgMSwgMTg1LCA2NCwgMSwgMjI2LCAyNTQsIDY0LCAKKyAgICAxLCAyMjYsIDExNCwgNjQsIDEsIDIyNywgMTE5LCA2NCwgMSwgMjI2LCAxODEsIDY0LCAxLCA1LCAxOTAsIDY0LCAxLCAxOTAsIAorICAgIDY0LCAxLCA1LCAyMDUsIDIxMywgNjQsIDEsIDIwNSwgMjEzLCA2NCwgMSwgNSwgMjA1LCAyNDcsIDY0LCAxLCAyMDUsIDI0NywgCisgICAgNjQsIDEsIDIxOSwgMTEzLCA2NCwgMSwgMjE4LCAyMDgsIDY0LCAxLCAyMTgsIDUwLCA2NCwgMSwgMjE5LCA1MSwgNjQsIDEsIAorICAgIDIxOCwgMTI0LCA2NCwgMSwgNSwgMjA3LCA5NiwgNjQsIDEsIDIwNywgOTYsIDY0LCAxLCAyMDcsIDIwLCA2NCwgMSwgMjA3LCAKKyAgICA1MSwgNjQsIDEsIDIwNiwgMjUwLCA2NCwgMSwgMjI2LCAzMywgNjQsIDEsIDIwNywgMTQ4LCA2NCwgMSwgNSwgMTcyLCA2NCwgCisgICAgMSwgNSwgMjMxLCAyMjQsIDY0LCAxLCAyMDksIDcwLCA2NCwgMSwgMjA4LCAyMTQsIDY0LCAxLCAyMDksIDM5LCA2NCwgMSwgCisgICAgMjA4LCAxNzMsIDY0LCAyMjYsIDI0NywgMjQ1LCAyMywgMjMxLCAyNDgsIDIyMCwgMTA2LCAyMTQsIDE2NSwgODMsIDY0LCAKKyAgICAyMzIsIDIxOCwgODMsIDY0LCAyMDgsIDE3MCwgMjMyLCAyMTgsIDgzLCA2NCwgMjQ1LCAxMjgsIDIzMSwgMjAsIDI0OSwgCisgICAgMTYzLCAxLCAyNTEsIDE1MCwgMjQ5LCAxNjMsIDEsIDIyMiwgNjcsIDI0OSwgMTYzLCAxLCAyMjksIDI4LCAyNDksIDE2MywgCisgICAgMSwgMjQyLCAxMzksIDI0OSwgMTYzLCAxLCAyNDYsIDI0MCwgMjQ5LCAxNjMsIDEsIDIxMywgMTAsIDI0OSwgMTYzLCAxLCAKKyAgICAyMjYsIDMzLCAyNDksIDE2MywgMSwgMTQ5LCAyNDksIDE2MywgMSwgMjQxLCA1NSwgMjQ5LCAxNjMsIDEsIDIzMiwgNzYsIAorICAgIDI0OSwgMTYzLCAxLCAyMzksIDE1NSwgMjQ5LCAxNjMsIDEsIDIzMiwgMjAzLCAyNDksIDE2MywgMSwgMjIwLCAyNywgMjQ5LCAKKyAgICAxNjMsIDEsIDIwNiwgMTk1LCAyNDksIDE2MywgMSwgMjA1LCA4MiwgMjQ5LCAxNjMsIDEsIDI0OCwgMTExLCAyNDksIDE2MywgCisgICAgMSwgMjE2LCA0LCAyNDksIDE2MywgMSwgMTM3LCAyNDksIDE2MywgMSwgMjA1LCAxNTksIDI0OSwgMTYzLCAxLCAyNDksIDM0LCAKKyAgICAyNDksIDE2MywgMSwgMTgyLCAyNDksIDE2MywgMSwgNjIsIDI0OSwgMTYzLCAxLCA3NiwgMjQ5LCAxNjMsIDEsIDc1LCAyNDksIAorICAgIDE2MywgMSwgMjQzLCA5MiwgMjQ5LCAxNjMsIDEsIDI1MiwgMjA1LCAyNDksIDE2MywgMSwgMjQzLCA5MCwgMjQ5LCAxNjMsIAorICAgIDEsIDI1MSwgMTg0LCAyNDksIDE2MywgMSwgMjIyLCA5NywgMjQ5LCAxNjMsIDEsIDI1MiwgMTIyLCAyNDksIDE2MywgMSwgCisgICAgMjQzLCA0MSwgMjQ5LCAxNjMsIDEsIDI1MiwgMTE0LCAyNDksIDE2MywgMSwgMjQzLCAyOCwgMjQ5LCAxNjMsIDEsIDI0MiwgCisgICAgMjM1LCAyNDksIDE2MywgMSwgNzQsIDI0OSwgMTYzLCAxLCA3MSwgMjQ5LCAxNjMsIDEsIDIzMiwgMjE2LCAyNDksIDE2MywgCisgICAgMSwgMjA5LCAxNDgsIDI0OSwgMTYzLCAxLCAyMjUsIDc5LCAyNDksIDE2MywgMSwgMjQwLCAyMywgMjQ5LCAxNjMsIDEsIAorICAgIDIzMywgMTAzLCAyNSwgMSwgMjMxLCA4NCwgMjUsIDEsIDIxNCwgODgsIDI1LCAxLCAyMzEsIDc3LCAyNSwgMSwgMjI0LCAKKyAgICAyMjMsIDI1LCAxLCAyMjQsIDIyMSwgMjUsIDEsIDIyNCwgMjIwLCAyNSwgMSwgMjExLCAxOTMsIDI1LCAxLCAyMTQsIDc3LCAKKyAgICAyNSwgMSwgMjE4LCAxOTgsIDI1LCAxLCAyMTgsIDE5MywgMjUsIDEsIDIxOCwgMTkwLCAyNSwgMSwgMjE4LCAxODMsIDI1LCAKKyAgICAxLCAyMTgsIDE3OCwgMjUsIDEsIDIxOCwgMTczLCAyNSwgMSwgMjE4LCAxODQsIDI1LCAxLCAyMTgsIDE5NiwgMjUsIDEsIAorICAgIDIyNiwgMjQwLCAyNSwgMSwgMjIxLCAzOSwgMjUsIDEsIDIxNCwgODUsIDI1LCAxLCAyMjEsIDI4LCAyNSwgMSwgMjE1LCAzMywgCisgICAgMjUsIDEsIDIxNCwgODIsIDI1LCAxLCAyMzMsIDEyNSwgMjUsIDEsIDI0NywgMjQ2LCAyNSwgMSwgMjE0LCA5MiwgMjUsIDEsIAorICAgIDI0OCwgNTQsIDI1LCAxLCAyMzEsIDE0MywgMjUsIDEsIDIxMiwgMTUsIDI1LCAxLCAyMjEsIDc2LCAyNSwgMSwgMjM5LCAzLCAKKyAgICAyNSwgMSwgNjIsIDI1LCAxLCAyNTIsIDI0OCwgMjUsIDEsIDE5MCwgMjUsIDEsIDIwNiwgOTgsIDI1LCAxLCAyNDMsIDYsIAorICAgIDI1LCAxLCA3NSwgMjUsIDEsIDIwNiwgMzksIDI1LCAxLCAyMDYsIDUyLCAyNSwgMSwgNzYsIDI1LCAxLCAyMDcsIDk2LCAyNSwgCisgICAgMSwgMjA3LCA5MiwgMjUsIDEsIDIyMiwgMjA2LCAyNSwgMSwgMjA1LCAyNDcsIDI1LCAxLCA3MSwgMjUsIDEsIDIwNywgMzgsIAorICAgIDI1LCAxLCAyMDcsIDUxLCAyNSwgMSwgMjA3LCAyMCwgMjUsIDEsIDIwNSwgMjEzLCAyNSwgMSwgMjQyLCAxOTIsIDI1LCAxLCAKKyAgICAyMDYsIDExLCAyNSwgMSwgNzQsIDI1LCAyNDEsIDIzMiwgMjUsIDEsIDIxNCwgODYsIDI1LCAxLCAyMjQsIDIxMywgMjUsIDEsIAorICAgIDIyNCwgMjE1LCAyNSwgMSwgMjI0LCAyMTgsIDI1LCAxLCAyMTgsIDE5MSwgMjUsIDEsIDIxOCwgMTcyLCAyNSwgMSwgMjE4LCAKKyAgICAxODAsIDI1LCAxLCAyMTgsIDE4NSwgMjUsIDEsIDIxOCwgMTcwLCAyNSwgMSwgMjI2LCAyMzMsIDI1LCAxLCAyMjYsIDIzMCwgCisgICAgMjUsIDEsIDIyNiwgMjM0LCAyNSwgMSwgMjMyLCAxMywgMjUsIDEsIDIyMSwgMzQsIDI1LCAxLCAyMjEsIDIwLCAyNSwgMSwgCisgICAgMjIxLCAyNiwgMjUsIDEsIDIyMSwgMjMsIDI1LCAxLCAyMjEsIDM3LCAyNSwgMSwgMjIxLCAyMSwgMjUsIDEsIDIzMiwgMTEsIAorICAgIDI1LCAxLCAyMzIsIDksIDI1LCAxLCAyMTUsIDI2LCAyNSwgMSwgMjE1LCAyNCwgMjUsIDEsIDIxNSwgMTYsIDI1LCAxLCAKKyAgICAyMTUsIDIxLCAyNSwgMSwgMjE1LCAzMSwgMjUsIDEsIDIyMSwgMjQ3LCAyNSwgMSwgMjE0LCA4OSwgMjUsIDEsIDIwNiwgMjksIAorICAgIDI1LCAxLCAyMDYsIDI1LCAyNSwgMSwgMjA2LCAyNiwgMjUsIDEsIDIzMiwgMTIsIDI1LCAxLCAyMTQsIDkwLCAyNSwgMSwgCisgICAgMjA2LCAzNSwgMjUsIDEsIDIwNSwgMjQxLCAyNSwgMSwgMjA1LCAyNDAsIDI1LCAxLCAyMDUsIDI0MywgMjUsIDEsIDIwNSwgCisgICAgMjA0LCAyNSwgMSwgMjA1LCAyMDUsIDI1LCAxLCAyMDUsIDIwOCwgMjUsIDEsIDI1MiwgMzAsIDI1LCAxLCAyNTIsIDI0LCAKKyAgICAxMjgsIDI1MiwgOTgsIDIyOSwgMTk0LCA4MywgMTI4LCAyNTIsIDk4LCAyMTgsIDIyNSwgODMsIDEyOCwgMjUyLCA5OCwgCisgICAgMTE5LCA4MywgMTI4LCAyNTIsIDk4LCAxMTgsIDgzLCAxMjgsIDI1MiwgOTgsIDEyOSwgODMsIDEyOCwgMjUyLCA5OCwgMjQxLCAKKyAgICAxMjUsIDgzLCAxMjgsIDI1MiwgOTgsIDIxMSwgMTAyLCA4MywgMTI4LCAyNTIsIDk4LCAyMjYsIDI0NywgODMsIDEyOCwgCisgICAgMjUyLCA5OCwgMjQ5LCAxNTQsIDgzLCAxMjgsIDI1MiwgOTgsIDI0MSwgMjE1LCA4MywgMTI4LCAyNTIsIDk4LCAyMTcsIDgwLCAKKyAgICA4MywgMTI4LCAyNTIsIDk4LCAyMTIsIDExLCA4MywgMTI4LCAyNTIsIDk4LCAyNDEsIDExOCwgODMsIDEyOCwgMjUyLCA5OCwgCisgICAgMjM5LCA1NywgODMsIDEyOCwgMjUyLCA5OCwgMjQzLCAxMjEsIDgzLCAxMjgsIDI1MiwgOTgsIDIyNywgMjIyLCA4MywgMjQ5LCAKKyAgICAxNjMsIDEsIDI0OSwgMTAxLCAyNDksIDE2MywgMSwgMjA1LCA0MCwgMjQ5LCAxNjMsIDEsIDIzMiwgMTYyLCAyNDksIDE2MywgCisgICAgMSwgMjM5LCAyMTMsIDI0OSwgMTYzLCAxLCAyNDMsIDEwNCwgMjQ5LCAxNjMsIDEsIDI0MywgMjUsIDI0OSwgMTYzLCAxLCAKKyAgICAyMjIsIDE1MiwgMjQ5LCAxNjMsIDEsIDIyMiwgMTU2LCAyNDksIDE2MywgMSwgMjMyLCAyNDMsIDI0OSwgMTYzLCAxLCAyNTIsIAorICAgIDEwMCwgMjQ5LCAxNjMsIDEsIDIzMywgMzUsIDI0OSwgMTYzLCAxLCAyMDksIDIxMSwgMjQ5LCAxNjMsIDEsIDIzMywgODUsIAorICAgIDI0OSwgMTYzLCAxLCAyMjUsIDU3LCAyNDksIDE2MywgMSwgMjUyLCAxOTksIDI0OSwgMTYzLCAxLCAyNTEsIDE3OSwgMjQ5LCAKKyAgICAxNjMsIDEsIDI1MiwgMTM2LCAyNDksIDE2MywgMSwgMjIyLCAxNzMsIDI0OSwgMTYzLCAxLCAyMjIsIDE1OCwgMjQ5LCAxNjMsIAorICAgIDEsIDIzMywgMzIsIDI0OSwgMTYzLCA0MiwgMSwgMjIyLCA2NywgMjQ5LCAxNjMsIDQyLCAxLCAyMTMsIDEwLCAyNDksIDE2MywgCisgICAgNDIsIDEsIDIzMiwgNzYsIDI0OSwgMTYzLCA0MiwgMSwgMjM5LCAxNTUsIDI0OSwgMTYzLCAxLCAyNDAsIDEwMCwgMjQ5LCAKKyAgICAxNjMsIDEsIDIyOSwgMjQ5LCAyNDksIDE2MywgMSwgMjA0LCAyNDUsIDEwLCAyMTMsIDIyNSwgMjEzLCAxMCwgMTAsIDIxMywgCisgICAgMjI1LCAyMDcsIDMxLCAxMCwgMjEzLCAyMjUsIDIwNiwgMTcwLCAxMCwgMjEzLCAyMjUsIDI0OSwgNDcsIDEwLCAyMTMsIAorICAgIDIyNSwgMjEzLCAxMTMsIDEwLCAyMTMsIDIyNSwgMjM3LCAyMjksIDEwLCAyMTMsIDIyNSwgMjM3LCAyMzMsIDEwLCAyMTMsIAorICAgIDIyNSwgMjM4LCA1MSwgMTAsIDIxMywgMjI1LCAyMzcsIDIzMCwgMTAsIDIxMywgMjI1LCAyMTMsIDEzLCAxMCwgMjEzLCAKKyAgICAyMjUsIDIzNywgMjMyLCAxMCwgMjEzLCAyMjUsIDIzNywgMjI4LCAxMCwgMjEzLCAyMjUsIDIzOCwgNDksIDEwLCAyMTMsIAorICAgIDIyNSwgMjM3LCAyMzEsIDEwLCAyMTMsIDIyNSwgMjM3LCAyMjcsIDEwLCAyMTMsIDIyNSwgMjI2LCAzMywgMTAsIDIxMywgCisgICAgMjI1LCAyMzksIDE1NSwgMTAsIDIxMywgMjI1LCAxODIsIDEwLCAyMTMsIDIyNSwgMjIyLCA2NywgMTAsIDIxMywgMjI1LCAKKyAgICAyMTQsIDE1NiwgMTAsIDIxMywgMjI1LCAyNDYsIDI0MCwgMTAsIDIxMywgMjI1LCAyMzcsIDIzNCwgMTAsIDIxMywgMjI1LCAKKyAgICAyMzksIDIxLCAxMCwgMjEzLCAyMjUsIDIxMywgMjIsIDEwLCAyMTMsIDIyNSwgMjEzLCA5MiwgMTAsIDIxMywgMjI1LCAyMTQsIAorICAgIDQwLCAxMCwgMjEzLCAyMjUsIDIxNiwgMTAsIDEwLCAyMTMsIDIyNSwgMjIxLCAxNzgsIDEwLCAyMTMsIDIyNSwgMjIwLCAyOSwgCisgICAgMTAsIDIxMywgMjI1LCAyMTEsIDEzMSwgMTAsIDIxMywgMjI1LCAyMTMsIDEyLCAxMCwgMjEzLCAyMjUsIDIxMywgMTAzLCAKKyAgICAxMCwgMjEzLCAyMjUsIDIzNywgMjQxLCAxMCwgMjEzLCAyMjUsIDIzNywgMjI2LCAxMCwgMjEzLCAyMjUsIDIyMSwgOTUsIAorICAgIDEwLCAyMTMsIDIyNSwgMjIwLCAyNywgNjQsIDEsIDUsIDIzMCwgMjM2LCA2NCwgMSwgNSwgMjE1LCA4MCwgNjQsIDEsIDUsIAorICAgIDIxMywgMjAzLCA2NCwgMSwgNSwgMTI0LCA2NCwgMSwgNSwgMjIzLCAyMTcsIDY0LCAxLCA1LCAxNTUsIDY0LCAxLCA1LCAKKyAgICAyMzksIDExLCA2NCwgMSwgNSwgMjM4LCA0MiwgNjQsIDEsIDUsIDIzOSwgNzEsIDY0LCAxLCA1LCAyMzgsIDE0OSwgNjQsIDEsIAorICAgIDUsIDIyNiwgMTE0LCA2NCwgMSwgNSwgMjE5LCAxMTMsIDY0LCAxLCA1LCAyMTgsIDIwOCwgNjQsIDEsIDUsIDIxOCwgNTAsIAorICAgIDY0LCAxLCA1LCAyMTksIDUxLCA2NCwgMSwgNSwgMjE4LCAxMjQsIDk3LCAyNSwgMjMxLCA4NCwgOTcsIDI1LCAyMjQsIDIyMywgCisgICAgOTcsIDI1LCAyMTEsIDE5MywgOTcsIDI1LCAyMTgsIDE5OCwgOTcsIDI1LCAyMjYsIDI0MCwgOTcsIDI1LCAyMjEsIDM5LCAKKyAgICA5NywgMjUsIDIxNSwgMzMsIDk3LCAyNSwgMjMzLCAxMjUsIDk3LCAyNSwgMjQ3LCAyNDYsIDk3LCAyNSwgMjQ4LCA1NCwgOTcsIAorICAgIDI1LCAyMzEsIDE0MywgOTcsIDI1LCAyMTIsIDE1LCA5NywgMjUsIDIyMSwgNzYsIDk3LCAyNSwgMjM5LCAzLCA5NywgMjUsIAorICAgIDIzMSwgODUsIDYyLCA5NywgMjUsIDIyNCwgMjI0LCA2MiwgOTcsIDI1LCAyMTEsIDE5NCwgNjIsIDk3LCAyNSwgMjE4LCAKKyAgICAxOTksIDYyLCA5NywgMjUsIDIyNiwgMjQxLCA2MiwgOTcsIDI1LCAyMjEsIDQwLCA2MiwgOTcsIDI1LCAyMTUsIDM0LCA2MiwgCisgICAgOTcsIDI1LCAyMzMsIDEyNiwgNjIsIDk3LCAyNSwgMjQ3LCAyNDcsIDYyLCA5NywgMjUsIDI0OCwgNTUsIDYyLCA5NywgMjUsIAorICAgIDIzMSwgMTQ0LCA2MiwgOTcsIDI1LCAyMTIsIDE2LCA2MiwgOTcsIDI1LCAyMjEsIDc3LCA2MiwgOTcsIDI1LCAyMzksIDQsIAorICAgIDYyLCA5NywgMjUsIDI0NywgMjQ3LCA3MSwgOTcsIDIzMSwgMjQsIDE1NywgMjIyLCAxODgsIDk3LCAyMzEsIDI0LCAxNTcsIAorICAgIDE0OCwgMjM4LCA0MiwgOTcsIDE3NSwgMTAyLCA5NywgMTc1LCAxMDUsIDk3LCAxNzUsIDE0MiwgOTcsIDE3NSwgMTM5LCA5NywgCisgICAgMTc1LCAxNjgsIDk3LCAxNzUsIDE4NCwgOTcsIDE3NSwgMTk1LCA5NywgMTc1LCAxOTMsIDk3LCAxNzUsIDIwMCwgOTcsIAorICAgIDE3NSwgMjEyLCA5OCwgOTcsIDE3NSwgMjI2LCAxNDQsIDk3LCAxNzUsIDI0MSwgMjE5LCA5NywgMTc1LCAyMDcsIDY5LCA5NywgCisgICAgMTc1LCAyMDYsIDIzNywgOTcsIDE3NSwgMjI3LCA2MywgOTcsIDE3NSwgMjQzLCAxMjAsIDk3LCAxNzUsIDIxMywgMTU0LCAKKyAgICA5NywgMTc1LCAyMTMsIDI1NCwgOTcsIDE3NSwgMjM5LCA3OCwgOTcsIDE3NSwgMjE0LCAxODksIDk3LCAxNzUsIDIyNSwgCisgICAgMjEwLCA5NywgMTc1LCAyMTQsIDEzOCwgOTcsIDE3NSwgMjQxLCAyMjksIDk3LCAxNzUsIDI0NywgMTMzLCA5NywgMTc1LCAKKyAgICAyMzAsIDEzMCwgOTcsIDE3NSwgMjE4LCAyNDYsIDk3LCAxNzUsIDI0OCwgMjM2LCA5NywgMTc1LCAyMTMsIDIwNywgOTcsIAorICAgIDE3NSwgMjEzLCAxMzYsIDk3LCAxNzUsIDI0MywgMTYsIDk3LCAxNzUsIDIxOCwgMjM4LCA5NywgMTc1LCAyNTIsIDE1MiwgCisgICAgOTcsIDE3NSwgMjQyLCAxLCA5NywgMTc1LCAyMTgsIDIzNiwgOTcsIDE3NSwgMjE2LCA1OCwgOTcsIDE3NSwgMjE5LCA1MCwgCisgICAgMzksIDE3NSwgMjE5LCAxOTUsIDM5LCAxNzUsIDIzMSwgMTA4LCAzOSwgMTc1LCAyMTcsIDEwMywgMzksIDE3NSwgMjMxLCAKKyAgICAyMCwgMzksIDQzLCAyMTIsIDk5LCAyMjIsIDE2NiwgNjAsIDIxNCwgMTA3LCAzOSwgNDMsIDIxMCwgMTI0LCAyMjIsIDE2NiwgCisgICAgNjAsIDIxNCwgMTA3LCAzOSwgNDMsIDIxMiwgNCwgMjIyLCAxNjYsIDYwLCAyMTQsIDEwNywgMzksIDQzLCAyNDEsIDEzMSwgCisgICAgMjIyLCAxNjYsIDYwLCAyMTQsIDEwNywgMzksIDQzLCAyNDEsIDI0NCwgMjIyLCAxNjYsIDYwLCAyMTQsIDEwNywgMzksIDQzLCAKKyAgICAyMTQsIDI1MywgMjIyLCAxNjYsIDYwLCAyMTQsIDEwNywgMzksIDQzLCAyMTYsIDE4LCAyMjIsIDE2NiwgNjAsIDIxNCwgCisgICAgMTA3LCAzOSwgNDMsIDI0MywgODAsIDIyMiwgMTY2LCA2MCwgMjE0LCAxMDcsIDIyMSwgMjA3LCA1MywgMzksIDQzLCAyMTAsIAorICAgIDEyNCwgMTAyLCAzOSwgNDMsIDIxMCwgMTI0LCAxMDUsIDM5LCA0MywgMjEwLCAxMjQsIDE0MiwgMzksIDQzLCAyMTAsIDEyNCwgCisgICAgMTM5LCAzOSwgNDMsIDIxMCwgMTI0LCAxNjgsIDM5LCA0MywgMjEwLCAxMjQsIDE4NCwgMzksIDQzLCAyMTAsIDEyNCwgMTk1LCAKKyAgICAzOSwgNDMsIDIxMCwgMTI0LCAxOTMsIDM5LCA0MywgMjEwLCAxMjQsIDIwMCwgMzksIDQzLCAyMTIsIDMsIDM5LCA0MywgCisgICAgMjEyLCA0LCAxMDIsIDM5LCA0MywgMjEyLCA0LCAxMDUsIDM5LCA0MywgMjEyLCA0LCAxNDIsIDM5LCA0MywgMjEyLCA0LCAKKyAgICAxMzksIDM5LCA0MywgMjEyLCA0LCAxNjgsIDM5LCAyNSwgMjMxLCA4NCwgMzksIDI1LCAyMjQsIDIyMywgMzksIDI1LCAyMTEsIAorICAgIDE5MywgMzksIDI1LCAyMTgsIDE5OCwgMzksIDI1LCAyMjYsIDI0MCwgMzksIDI1LCAyMjEsIDM5LCAzOSwgMjUsIDIxNSwgCisgICAgMzMsIDM5LCAyNSwgMjMzLCAxMjUsIDM5LCAyNSwgMjQ3LCAyNDYsIDM5LCAyNSwgMjQ4LCA1NCwgMzksIDI1LCAyMzEsIAorICAgIDE0MywgMzksIDI1LCAyMTIsIDE1LCAzOSwgMjUsIDIyMSwgNzYsIDM5LCAyNSwgMjM5LCAzLCAzOSwgMjUsIDIzMSwgODUsIAorICAgIDYyLCAzOSwgMjUsIDIyNCwgMjI0LCA2MiwgMzksIDI1LCAyMTEsIDE5NCwgNjIsIDM5LCAyNSwgMjE4LCAxOTksIDYyLCAzOSwgCisgICAgMjUsIDIyNiwgMjQxLCA2MiwgMzksIDI1LCAyMjEsIDQwLCA2MiwgMzksIDI1LCAyMTUsIDM0LCA2MiwgMzksIDI1LCAyMzMsIAorICAgIDEyNiwgNjIsIDM5LCAyNSwgMjQ3LCAyNDcsIDYyLCAzOSwgMjUsIDI0OCwgNTUsIDYyLCAzOSwgMjUsIDIzMSwgMTQ0LCA2MiwgCisgICAgMzksIDI1LCAyMTIsIDE2LCA2MiwgMzksIDI1LCAyMjEsIDc3LCA2MiwgMzksIDI1LCAyMzksIDQsIDYyLCAzOSwgMjMxLCAKKyAgICAyNCwgMTU3LCAyNDgsIDEwMSwgMzksIDIzMSwgMjQsIDE1NywgMjMyLCAxMDAsIDM5LCAyNSwgMjMzLCAxMjYsIDcxLCAyMzEsIAorICAgIDI0LCAyMTQsIDI5LCA5MywgMzksIDE3NSwgMTAyLCAzOSwgMTc1LCAxMDUsIDM5LCAxNzUsIDE0MiwgMzksIDE3NSwgMTM5LCAKKyAgICAzOSwgMTc1LCAxNjgsIDM5LCAxNzUsIDE4NCwgMzksIDE3NSwgMTk1LCAzOSwgMTc1LCAxOTMsIDM5LCAxNzUsIDIwMCwgMzksIAorICAgIDE3NSwgMjEyLCA5OCwgMzksIDE3NSwgMjI2LCAxNDQsIDM5LCAxNzUsIDI0MSwgMjE5LCAzOSwgMTc1LCAyMDcsIDY5LCAzOSwgCisgICAgMTc1LCAyMDYsIDIzNywgMzksIDE3NSwgMjI3LCA2MywgMzksIDE3NSwgMjQzLCAxMjAsIDM5LCAxNzUsIDIxMywgMTU0LCAKKyAgICAzOSwgMTc1LCAyMTMsIDI1NCwgMzksIDE3NSwgMjM5LCA3OCwgMzksIDE3NSwgMjE0LCAxODksIDM5LCAxNzUsIDIyNSwgCisgICAgMjEwLCAzOSwgMTc1LCAyMTQsIDEzOCwgMzksIDE3NSwgMjQxLCAyMjksIDM5LCAxNzUsIDI0NywgMTMzLCAzOSwgMTc1LCAKKyAgICAyMzAsIDEzMCwgMzksIDE3NSwgMjE3LCA3OCwgMzksIDE3NSwgMjI3LCAyMjUsIDM5LCAxNzUsIDI0MiwgMTAsIDM5LCAxNzUsIAorICAgIDIxMywgMTY2LCAzOSwgMTc1LCAyNDIsIDE3MSwgMzksIDE3NSwgMjIwLCAxMjQsIDM5LCAxNzUsIDI1MSwgMTg4LCAzOSwgCisgICAgMTc1LCAyMzIsIDIxOSwgMzksIDE3NSwgMjE4LCAyMzYsIDM5LCAxNzUsIDI0NywgOTUsIDM5LCAxNzUsIDI0NywgODYsIDM5LCAKKyAgICAxNzUsIDIzOCwgMjUyLCAzOSwgMTc1LCAyNDgsIDEyOCwgMzksIDE3NSwgMjI5LCA5NywgMzksIDE3NSwgMjMwLCA0NiwgMzksIAorICAgIDE3NSwgMjE4LCAxNjcsIDM5LCAxNzUsIDIyNywgMTEwLCAzOSwgMTc1LCAyMTksIDcsIDM5LCAxNzUsIDIxMywgMjA3LCAzOSwgCisgICAgMTc1LCAyMTMsIDEzNiwgMzksIDE3NSwgMjQzLCAxNiwgMzksIDE3NSwgMjE4LCAyMzgsIDM5LCAxNzUsIDI1MiwgMTUyLCAKKyAgICAzOSwgMTc1LCAyMjQsIDIwOSwgMzksIDQzLCAyMTIsIDQsIDE4NCwgMzksIDQzLCAyMTIsIDQsIDE5NSwgMzksIDQzLCAyMTIsIAorICAgIDQsIDE5MywgMzksIDQzLCAyMTIsIDQsIDIwMCwgMzksIDQzLCAyNDEsIDEzMCwgMzksIDQzLCAyNDEsIDEzMSwgMTAyLCAzOSwgCisgICAgNDMsIDI0MSwgMTMxLCAxMDUsIDM5LCA0MywgMjQxLCAxMzEsIDE0MiwgMzksIDQzLCAyNDEsIDEzMSwgMTM5LCAzOSwgNDMsIAorICAgIDI0MSwgMTMxLCAxNjgsIDM5LCA0MywgMjQxLCAxMzEsIDE4NCwgMzksIDQzLCAyNDEsIDEzMSwgMTk1LCAzOSwgNDMsIDI0MSwgCisgICAgMTMxLCAxOTMsIDM5LCA0MywgMjQxLCAxMzEsIDIwMCwgMzksIDQzLCAyNDEsIDI0MywgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAKKyAgICAyMzIsIDE5MSwgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAyNDIsIDIyLCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDIyNywgCisgICAgMTkzLCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDI1MiwgNDMsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjI3LCAxNjIsIAorICAgIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjMyLCA5OCwgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAyMzIsIDk5LCAxMjgsIDIxMiwgCisgICAgMTEwLCAxNiwgMzMsIDI1MSwgMTgwLCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDIxNiwgMzgsIDEyOCwgMjEyLCAxMTAsIDE2LCAKKyAgICAzMywgMjIyLCAyMTIsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjI0LCAzMCwgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAyNDYsIAorICAgIDQsIDQ5LCAyMzksIDIxLCA0OSwgMjQyLCAyMzEsIDQ5LCAyNDIsIDE4MCwgMjI5LCAyMTEsIDIyOSwgMjM0LCA1MywgMzksIAorICAgIDY0LCA2MiwgMzksIDY0LCA3NCwgMzksIDY0LCA3MSwgMzksIDY0LCA3NSwgMzksIDY0LCA3NiwgMzksIDY0LCAxNzIsIDM5LCAKKyAgICA2NCwgMjMxLCAxMjMsIDM5LCA2NCwgMjMwLCAyMzYsIDM5LCA2NCwgMjMxLCAyMjQsIDM5LCA2NCwgMjMxLCA1MywgMzksIAorICAgIDY0LCAyMTcsIDE5OSwgMzksIDY0LCAyMTUsIDgwLCAzOSwgNjQsIDIxMywgMjAzLCAzOSwgNjQsIDIxNywgODYsIDM5LCA2NCwgCisgICAgMjE0LCAxOTMsIDM5LCA2NCwgMjEyLCAyMTksIDM5LCA2NCwgMjExLCAyMTEsIDM5LCA2NCwgMjEwLCAxNzAsIDM5LCA2NCwgCisgICAgMjEyLCAxMzEsIDM5LCA2NCwgMTI0LCAzOSwgNjQsIDE5OSwgMzksIDY0LCAyMjQsIDIzMCwgMzksIDY0LCAyMjMsIDIxNywgCisgICAgMzksIDY0LCAyMjUsIDExMCwgMzksIDY0LCAyMjQsIDY3LCAzOSwgNjQsIDE1NSwgMzksIDY0LCAyMzksIDExLCAzOSwgNjQsIAorICAgIDIzOCwgNDIsIDM5LCA2NCwgMjM5LCA3MSwgMzksIDY0LCAyMzgsIDE0OSwgMzksIDY0LCAxODUsIDM5LCA2NCwgMjI2LCAKKyAgICAyNTQsIDM5LCA2NCwgMjI2LCAxMTQsIDM5LCA2NCwgMjI3LCAxMTksIDM5LCA2NCwgMjI2LCAxODEsIDM5LCA2NCwgMTkwLCAKKyAgICAzOSwgNjQsIDIwNSwgMjEzLCAzOSwgNjQsIDIwNSwgMjQ3LCAzOSwgNjQsIDIxOSwgMTEzLCAzOSwgNjQsIDIxOCwgMjA4LCAKKyAgICAzOSwgNjQsIDIxOCwgNTAsIDM5LCA2NCwgMjE5LCA1MSwgMzksIDY0LCAyMTgsIDEyNCwgMzksIDY0LCAyMDcsIDk2LCAzOSwgCisgICAgNjQsIDIwNywgMjAsIDM5LCA2NCwgMjA3LCA1MSwgMzksIDY0LCAyMDYsIDI1MCwgNDksIDI1MiwgNjcsIDQ5LCAyNTEsIAorICAgIDIzMywgNDksIDI1MiwgOTQsIDQ5LCAyNTMsIDEyMiwgNDksIDIzMywgMzcsIDQ5LCAyMzMsIDUsIDQ5LCAyMDksIDIwOSwgCisgICAgNDksIDI0MiwgMjA1LCA0OSwgMjQzLCAxMDEsIDQ5LCAyMjIsIDE1NSwgNDksIDIyMiwgMTQ4LCA0OSwgMjMyLCAzOSwgNDksIAorICAgIDIzMiwgNSwgNDksIDIzMiwgMiwgNDksIDI0MCwgMjAwLCA0OSwgMjQwLCAyMDksIDQ5LCAyNDAsIDUwLCA0OSwgMjQwLCA0NiwgCisgICAgNDksIDIzMCwgMTYwLCA0OSwgMjQwLCAzOCwgNDksIDIzMSwgMTAwLCA0OSwgMjMxLCA5OSwgNDksIDIzMSwgOTgsIDQ5LCAKKyAgICAyMzEsIDk3LCA0OSwgMjM5LCAxODQsIDQ5LCAyMzksIDE4MywgNDksIDIzMCwgMjA3LCA0OSwgMjMwLCAyMDksIDQ5LCAyMzEsIAorICAgIDIxNywgNDksIDIzMSwgMjIsIDQ5LCAyMzEsIDMwLCA0OSwgMjE3LCAxODAsIDQ5LCAyMTcsIDE0NCwgNDksIDIxNSwgMTQsIAorICAgIDQ5LCAyMTYsIDQzLCA0OSwgMjE2LCA0MiwgNDksIDI0NiwgMTQyLCA0OSwgMjQ1LCAyMDUsIDQ5LCAyNDUsIDI0LCA0OSwgCisgICAgMjExLCAxMjAsIDQ5LCAyMjUsIDIwNSwgNDksIDIyNCwgMzEsIDQ5LCAyMzksIDEyNiwgNDksIDIyMiwgNDYsIDQ5LCAyMjIsIAorICAgIDQ1LCA0OSwgMjUwLCAxODAsIDQ5LCAyMjEsIDUwLCA0OSwgMjIxLCAxMywgNDksIDIyMSwgMTQsIDQ5LCAyNDksIDIxNSwgCisgICAgNDksIDIzOCwgNDAsIDQ5LCAyMzgsIDM2LCA0OSwgMjQ5LCA2MCwgNDksIDIzOCwgMjIsIDQ5LCAyMzksIDQ3LCA0OSwgMjIxLCAKKyAgICAxMDUsIDQ5LCAyMjEsIDE0NSwgNDksIDIzOSwgMzAsIDQ5LCAyMjEsIDE0MSwgNDksIDIyMSwgMTU5LCA0OSwgMjUwLCA0NSwgCisgICAgNDksIDIyMCwgMjAwLCA0OSwgMjQ5LCAxNTksIDQ5LCAyMzgsIDEzNCwgNDksIDIyMCwgMTg4LCA0OSwgMjM4LCAxMjYsIDQ5LCAKKyAgICAyMzgsIDEyOCwgNDksIDIyNywgMjM3LCA0OSwgMjI3LCAyMzMsIDQ5LCAyMjcsIDI0MiwgNDksIDIyNywgMTgyLCA0OSwgCisgICAgMjI3LCAyMDksIDQ5LCAyMjYsIDIyMCwgNDksIDIyNiwgMTk2LCA0OSwgMjI2LCAxOTUsIDQ5LCAyMjcsIDk5LCA0OSwgMjI3LCAKKyAgICA5NiwgNDksIDIyNywgMTAwLCA0OSwgMjA2LCAxMDgsIDQ5LCAyMDYsIDEwNiwgNDksIDIwNSwgMjAyLCA0OSwgMjE4LCAxNDAsIAorICAgIDQ5LCAyMTgsIDE0NCwgNDksIDIxOCwgMjYsIDQ5LCAyMTgsIDIwLCA0OSwgMjE5LCA0LCA0OSwgMjE5LCAxLCA0OSwgMjA3LCAKKyAgICA2NywgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAyMzgsIDU5LCAyMDUsIDg1LCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDIzOCwgCisgICAgNTksIDEwMiwgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAyMzgsIDU5LCAxMDUsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjM4LCAKKyAgICA1OSwgMTQyLCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDIzOCwgNTksIDEzOSwgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAyMzgsIAorICAgIDU5LCAxNjgsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjM4LCA1OSwgMTg0LCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDIzOCwgCisgICAgNTksIDE5NSwgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAyMzgsIDU5LCAxOTMsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjM4LCAKKyAgICA1OSwgMjAwLCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDIzOCwgNTksIDIxMiwgOTgsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgCisgICAgMjM4LCA1OSwgMjQzLCA1OCwgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAyMzgsIDU5LCAyMTAsIDEyNiwgMTI4LCAyMTIsIAorICAgIDExMCwgMTYsIDMzLCAyMzgsIDU5LCAyMTIsIDUsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjM4LCA1OSwgMjQxLCAxMTksIAorICAgIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjM4LCA1OSwgMjQxLCAyNDcsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjM4LCA1OSwgCisgICAgMjE1LCA0LCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDIzOCwgNTksIDIxNiwgMjAsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgCisgICAgMjM4LCA1OSwgMjQzLCA4NSwgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAyMzgsIDU5LCAyMjQsIDE5MiwgMTI4LCAyMTIsIAorICAgIDExMCwgMTYsIDMzLCAyMzgsIDU5LCAyMTAsIDEyMywgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAyMzgsIDU5LCAyMTAsIDExNywgCisgICAgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAyMzgsIDU5LCAyMTAsIDExMywgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAyMzgsIDU5LCAKKyAgICAyMTAsIDExNCwgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAyMzgsIDU5LCAyMTAsIDExOSwgNDksIDIzOCwgNTAsIDQ5LCAyNDYsIAorICAgIDE0NSwgNDksIDI1MSwgMTg0LCA0OSwgMTM0LCA0OSwgMjIyLCA4OCwgNDksIDIyMSwgMTc5LCA0OSwgMjQ1LCA1MywgNDksIAorICAgIDI0NSwgNTQsIDIxNCwgMTA2LCA0OSwgMjQ1LCA1NCwgMjQ3LCAzNSwgNDksIDIzMiwgMjE2LCA0OSwgMjQyLCAyMzQsIDIyNSwgCisgICAgMjExLCAyMzksIDQ4LCA0OSwgMjQyLCAyMzQsIDIyNSwgMjExLCAyMTMsIDMzLCA0OSwgMjQyLCAyMzQsIDIyNSwgMjExLCAKKyAgICAyMTIsIDE4OCwgNDksIDI0MiwgMjM0LCAyMjUsIDIxMSwgMjI3LCA5NSwgNDksIDI0NywgODgsIDQ5LCAyMjIsIDUyLCAyNTIsIAorICAgIDEyNCwgNDksIDE5OSwgNDksIDIyNiwgMTE1LCA2MiwgNDksIDE4NSwgNDksIDE3MiwgNDksIDIzMSwgMjI3LCA0OSwgMjI3LCAKKyAgICAxNTgsIDQ5LCAyNDAsIDE4OCwgNDksIDI0OCwgMjQxLCA0OSwgMjMxLCAyMjYsIDQ5LCAyMjEsIDk2LCA0OSwgMjI1LCA4MSwgCisgICAgNDksIDIyNiwgMTE1LCAyNDIsIDEzOSwgNDksIDIyNiwgMTE1LCAyNDEsIDU1LCA0OSwgMjI3LCAzOSwgNDksIDIzMSwgMTY5LCAKKyAgICA0OSwgMjM3LCAyMzQsIDQ5LCAyMzEsIDEyNSwgNDksIDIyNywgMCwgNDksIDI0MCwgNjMsIDQ5LCAyMTEsIDIxMywgNDksIAorICAgIDIyNiwgMTE1LCAxNDksIDQ5LCAyMjYsIDE4OSwgNDksIDI0NSwgNjMsIDQ5LCAyMzEsIDY2LCA0OSwgMjQxLCAxNjQsIDQ5LCAKKyAgICAyMjQsIDEwNSwgNDksIDIyNiwgMTE1LCAyMjksIDI4LCA0OSwgMjI2LCAxODYsIDQ5LCAyNDcsIDE3NSwgNDksIDIzMSwgNjAsIAorICAgIDQ5LCAyMjYsIDE4NywgMjE0LCAxMDYsIDQ5LCAyNDcsIDE3NiwgMjE0LCAxMDYsIDQ5LCAyMjksIDI5LCAyMTQsIDEwNiwgCisgICAgNDksIDIzMSwgNjEsIDIxNCwgMTA2LCA0OSwgMjI2LCAxODcsIDI0NywgMzUsIDQ5LCAyNDcsIDE3NiwgMjQ3LCAzNSwgNDksIAorICAgIDIyOSwgMjksIDI0NywgMzUsIDQ5LCAyMzEsIDYxLCAyNDcsIDM1LCA0OSwgMjI5LCAyOSwgMTMxLCAxODIsIDQ5LCAyMjksIAorICAgIDI5LCAxMzEsIDIxOCwgMSwgMjE0LCAxMDYsIDQ5LCAxNzksIDQ5LCAyMzEsIDE1LCA0OSwgMjI2LCAxMTgsIDQ5LCAyMzksIAorICAgIDI1MSwgNDksIDIxOSwgMTAwLCA0OSwgMjE5LCAxMDEsIDEzMSwgMTgyLCA0OSwgMjE5LCAxMDEsIDEzMSwgMjE4LCAxLCAKKyAgICAyMTQsIDEwNiwgNDksIDIyMCwgOTUsIDQ5LCAyMjMsIDI1NSwgNDksIDIyNiwgMTE1LCAxODIsIDQ5LCAyMjYsIDExNiwgNDksIAorICAgIDIyMCwgNDcsIDQ5LCAyMjMsIDE1NSwgNDksIDIyNiwgMTE1LCAyMDksIDE0OCwgNDksIDIyNiwgNTcsIDQ5LCAyMzAsIDE5OCwgCisgICAgNDksIDIyNiwgNTgsIDIyNywgOTksIDQ5LCAyMjAsIDQ2LCA0OSwgMjIzLCAxNTQsIDQ5LCAyMjYsIDExNSwgMjA3LCAxMjksIAorICAgIDQ5LCAyMjYsIDUxLCA0OSwgMjMwLCAxOTYsIDQ5LCAyMjYsIDUyLCAyMjcsIDk5LCA0OSwgMjMyLCA3NywgMjIyLCAxOTIsIAorICAgIDQ5LCAyMjksIDI5LCAyMjIsIDE5MiwgNDksIDI1MiwgMTM2LCA0OSwgMjQ5LCAxMzYsIDQ5LCAyNDgsIDE3MiwgNDksIDI0OCwgCisgICAgMTQ5LCA0OSwgMjQ5LCAzNSwgMTMxLCAyMzEsIDE2OSwgNDksIDI0NywgMTc0LCA0OSwgMjQ2LCA2MywgNDksIDIzOSwgMTY4LCAKKyAgICA0OSwgMTU1LCA0OSwgMjM4LCA1MSwgNDksIDIzMywgNjgsIDQ5LCAyMzEsIDczLCA0OSwgMjMxLCA2MSwgMjQ4LCAyMTIsIAorICAgIDQ5LCAyMzAsIDIzOCwgNDksIDIyOSwgMTQ3LCA0OSwgMjI5LCAxNDYsIDQ5LCAyMjksIDEzNSwgNDksIDIyOSwgNDMsIDQ5LCAKKyAgICAyMjcsIDE1OSwgMjE0LCAyMTUsIDQ5LCAyMjYsIDIxOSwgNDksIDIyNiwgMTcwLCA0OSwgMjIxLCA5NCwgNDksIDIyMCwgCisgICAgMjE0LCA0OSwgMjIwLCAxNTYsIDQ5LCAyMjAsIDE1NCwgNDksIDIxNCwgMTAwLCA0OSwgMjEzLCAxMTcsIDQ5LCAyMDcsIDUzLCAKKyAgICA0OSwgMjA5LCAxNDksIDEzMSwgMjI5LCAyOCwgNDksIDMyLCAxMzEsIDIyOSwgMjgsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgCisgICAgMjQ2LCA2NywgMTAyLCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDI0NiwgNjcsIDEwNSwgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAKKyAgICAyNDYsIDY3LCAxNDIsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjQ2LCA2NywgMTM5LCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIAorICAgIDI0NiwgNjcsIDE2OCwgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAyNDYsIDY3LCAxODQsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgCisgICAgMjQ2LCA2NywgMTk1LCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDI0NiwgNjcsIDE5MywgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAKKyAgICAyNDYsIDY3LCAyMDAsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjQ2LCA2NywgMjEyLCA5OCwgMTI4LCAyMTIsIDExMCwgMTYsIAorICAgIDMzLCAyNDYsIDY3LCAyNDMsIDU4LCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDI0NiwgNjcsIDIxMCwgMTI2LCAxMjgsIDIxMiwgCisgICAgMTEwLCAxNiwgMzMsIDI0NiwgNjcsIDIxMiwgNSwgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAyNDYsIDY3LCAyNDEsIDExOSwgCisgICAgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAyNDYsIDY3LCAyNDEsIDI0NywgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAyNDYsIDY3LCAKKyAgICAyMTUsIDQsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjQ2LCA2NywgMjE2LCAyMCwgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAKKyAgICAyNDYsIDY3LCAyNDMsIDg1LCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDI0NiwgNjcsIDIyNCwgMTkyLCAxMjgsIDIxMiwgCisgICAgMTEwLCAxNiwgMzMsIDI0NiwgNjcsIDIxMCwgMTIzLCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDI0NiwgNjcsIDIxMCwgMTE3LCAKKyAgICAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDI0NiwgNjcsIDIxMCwgMTEzLCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDI0NiwgNjcsIAorICAgIDIxMCwgMTE0LCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDI0NiwgNjcsIDIxMCwgMTE5LCAxMjgsIDIxMiwgMTEwLCAxNiwgCisgICAgMzMsIDI0NiwgNjcsIDIxMCwgMTIwLCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDI0NiwgNjcsIDIxMCwgMTE1LCAxMjgsIAorICAgIDIxMiwgMTEwLCAxNiwgMzMsIDI0NiwgNjcsIDIxMCwgMTE2LCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDI0NiwgNjcsIDIxMCwgCisgICAgMTIyLCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDI0NiwgNjcsIDIxMCwgMTE4LCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIAorICAgIDI0NiwgNjcsIDIxMiwgMywgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAyNDYsIDY3LCAyMTIsIDIsIDQ5LCAyNDAsIDIyNiwgCisgICAgMjM5LCAyNCwgMzMsIDIxMiwgNDIsIDI0NywgNjksIDIzOSwgNTYsIDIzOSwgMjQsIDMzLCAyMTIsIDQyLCAyMTksIDQ0LCAKKyAgICAyNDMsIDEyMCwgMjM5LCAyNCwgMzMsIDI0NSwgMTM4LCAyNTEsIDIwMCwgMjEyLCA0MiwgMjUwLCA0MCwgMjM5LCAyNCwgMzMsIAorICAgIDIwNSwgMjI2LCAyNDEsIDE1NiwgMjM5LCAyNCwgMzMsIDIwNywgODksIDIzOSwgMjQsIDMzLCAyNDcsIDEzNiwgMjM5LCAyNCwgCisgICAgMzMsIDIxMiwgNDIsIDI1MSwgMjU0LCAyMzksIDI0LCAzMywgMjM4LCAxNDEsIDIxMSwgMTI2LCAyMzksIDI0LCAzMywgNSwgCisgICAgMjEyLCAxNzUsIDIzOSwgMjQsIDMzLCAyMTEsIDYzLCAyMzksIDI0LCAzMywgMjIxLCAxNzIsIDIzOSwgMjQsIDMzLCAyMTQsIAorICAgIDI4LCAyMzksIDI0LCAzMywgMjQyLCAxMiwgMjM5LCAyNCwgMzMsIDIzOSwgMjMyLCAyMjAsIDE3NywgMjM5LCAyNCwgMzMsIAorICAgIDIyNiwgMTc0LCAyMzksIDI0LCAzMywgMjQzLCAxNSwgMjM5LCAyNCwgMzMsIDI0MSwgMTU3LCAyMzksIDI0LCAzMywgMjA2LCAKKyAgICAyMzAsIDIyMiwgMTY2LCAyMTIsIDQyLCAyNDYsIDUsIDIzOSwgMjQsIDMzLCAyNTIsIDQ3LCAyMzksIDI0LCAzMywgMjQ3LCAKKyAgICAxMTcsIDIzOSwgMjQsIDMzLCAyNDksIDIwOCwgMjExLCAyMzIsIDIzOSwgMjQsIDMzLCAyMzksIDI0OSwgMjM5LCAyNCwgMzMsIAorICAgIDIxNCwgMTIwLCAyNTIsIDY2LCAyMzksIDI0LCAzMywgMjE4LCAyMjgsIDIzOSwgMjQsIDMzLCAyMzMsIDMxLCAyMzksIDI0LCAKKyAgICAzMywgMjM5LCAyMzIsIDIxMiwgMTc1LCAyMzksIDI0LCAzMywgMjI2LCAxMjQsIDI0NywgOTAsIDIzOSwgMjQsIDMzLCAyMzksIAorICAgIDIzMiwgMjIwLCAxMzQsIDIzOSwgMjQsIDMzLCAyMTIsIDQyLCAyNTMsIDI2LCAyMDcsIDY5LCAyMzksIDI0LCAzMywgMjEyLCAKKyAgICA0MiwgMjQ3LCAyMDAsIDI0MSwgMjE5LCAyMzksIDI0LCAzMywgMjMzLCA0NCwgMjM5LCAyNCwgMzMsIDI0MywgMjE2LCAyMzksIAorICAgIDI0LCAzMywgMjE4LCAyMzEsIDIzOSwgMjQsIDMzLCAyMzksIDIzMiwgMjIwLCAxNjEsIDIzOSwgMjQsIDMzLCAyMjAsIDExMiwgCisgICAgMjM5LCAyNCwgMzMsIDI0NiwgODMsIDczLCAyMTIsIDQyLCAyMjksIDIyMywgMjM5LCAyNCwgMzMsIDIxMiwgNDIsIDI0MiwgCisgICAgNDgsIDIzOSwgMjQsIDMzLCAyMjIsIDEyOCwgMjM5LCAyNCwgMzMsIDIyMiwgMjE4LCAyMzksIDI0LCAzMywgMjQ1LCAyMzIsIAorICAgIDIzOSwgMjQsIDMzLCAyNDUsIDI1MywgMjM5LCAyNCwgMzMsIDIzMywgNTksIDIzOSwgMjQsIDMzLCAyNDksIDEyNSwgMjM5LCAKKyAgICAyNCwgMzMsIDI0NywgMTU3LCAyMTEsIDEzMCwgMjI3LCAxMDIsIDIzOSwgMjQsIDMzLCAyNDAsIDE5NSwgMjExLCAxMjYsIAorICAgIDIzOSwgMjQsIDMzLCAyMjAsIDU2LCAyMDksIDE5NywgMjM5LCAyNCwgMzMsIDIyMiwgMTI3LCAyMzksIDI0LCAzMywgMjEyLCAKKyAgICA0MiwgMjA3LCA0MCwgMjM5LCAyNCwgMzMsIDIxOCwgMjE5LCAyMzksIDI0LCAzMywgMjEyLCA0MiwgMjQ4LCAxNzgsIDIzOSwgCisgICAgMjQsIDMzLCAyMTIsIDQyLCAyNTEsIDI1MCwgMjExLCAyMjcsIDIzOSwgMjQsIDMzLCAyMTIsIDQyLCAyMzEsIDIxOCwgMjE0LCAKKyAgICAyLCAyMjYsIDEyOCwgMjM5LCAyNCwgMzMsIDI0NSwgMjAwLCAyMzksIDI0LCAzMywgMjEyLCA0MiwgMjI3LCAxODQsIDIyNywgCisgICAgMjM4LCAyMzksIDI0LCAzMywgMjUzLCAyNywgMjM5LCAyNCwgMzMsIDIxMiwgNDIsIDIwNywgODQsIDIzOSwgMjQsIDMzLCAKKyAgICAyMTIsIDQyLCAyNDAsIDE1MywgMjA3LCA5LCAyMzksIDI0LCAzMywgMjEyLCA0MiwgMjMyLCAxMDYsIDIzMCwgMTExLCAyMzksIAorICAgIDI0LCAzMywgMjQ1LCA5MSwgMjM5LCAyNCwgMzMsIDIyOSwgMjEyLCAyMzksIDI0LCAzMywgMjMzLCAzNCwgMjEwLCAyNDcsIAorICAgIDIzOSwgMjQsIDMzLCA1LCAyMjAsIDEzNCwgMjM5LCAyNCwgMzMsIDI1MiwgMjIxLCAyNDcsIDE0OCwgMjM5LCAyNCwgMzMsIAorICAgIDI1MCwgNDMsIDI0NywgMTQ4LCA5LCA0LCAyMzIsIDIyMCwgOSwgNCwgMjMyLCAyMTIsIDksIDQsIDc0LCA5LCA0LCAyMzIsIAorICAgIDI0NiwgOSwgNCwgMjMzLCAxMjcsIDksIDQsIDIzMywgMTEwLCA5LCA0LCAyMzMsIDEyOSwgOSwgNCwgMjMzLCAxMjgsIDksIAorICAgIDQsIDI1MSwgMTk5LCA5LCA0LCAyNTEsIDE2MSwgOSwgNCwgNjIsIDksIDQsIDI1MiwgNjgsIDksIDQsIDIwOSwgMjA3LCA5LCAKKyAgICA0LCAyMDksIDIxMCwgOSwgNCwgMjA5LCAyMDgsIDksIDQsIDIyMiwgMTAzLCA5LCA0LCAyMjIsIDc2LCA5LCA0LCA3NiwgOSwgCisgICAgNCwgMjIyLCAxNDMsIDksIDQsIDI0MiwgMTcyLCA5LCA0LCA3NSwgOSwgNCwgMjA2LCAyMTYsIDksIDQsIDI0OSwgMjA5LCA5LCAKKyAgICA0LCAyNDksIDIwNiwgOSwgNCwgMjQ5LCAyNDQsIDksIDQsIDI0OSwgMjE5LCA5LCA0LCAyNDksIDIzMywgOSwgNCwgMjQ5LCAKKyAgICAyMzIsIDksIDQsIDI0OSwgMjM1LCA5LCA0LCAyNDksIDIzNCwgOSwgNCwgMjUwLCAxMDgsIDksIDQsIDI1MCwgMTAwLCA5LCAKKyAgICA0LCAyNTAsIDE4MywgOSwgNCwgMjUwLCAxMzAsIDksIDQsIDI0OSwgNzEsIDksIDQsIDI0OSwgNzUsIDksIDQsIDI0OSwgNzIsIAorICAgIDksIDQsIDI0OSwgMTU4LCA5LCA0LCAyNDksIDE0MCwgOSwgNCwgMjQ5LCAxODQsIDksIDQsIDI0OSwgMTY0LCA5LCA0LCAKKyAgICAyNTAsIDMsIDksIDQsIDI1MCwgNjEsIDksIDQsIDI1MCwgMTUsIDksIDQsIDI0OSwgNTYsIDksIDQsIDI0OSwgNTIsIDksIDQsIAorICAgIDI0OSwgMTAxLCA5LCA0LCAyNDksIDcwLCA5LCA0LCAyNDksIDY0LCA5LCA0LCAyNDksIDY4LCA5LCA0LCAyNDksIDQwLCA5LCAKKyAgICA0LCAyNDksIDM4LCA5LCA0LCAyNDksIDQ1LCA5LCA0LCAyNDksIDQzLCA5LCA0LCAyNDksIDQxLCA5LCA0LCAyNDksIDQyLCAKKyAgICA5LCA0LCAyMjAsIDI0NywgOSwgNCwgMjIwLCAyNDMsIDksIDQsIDIyMSwgNTMsIDksIDQsIDIyMSwgMywgOSwgNCwgMjIxLCAKKyAgICAxOSwgOSwgNCwgMjIxLCA0NiwgOSwgNCwgMjIxLCA0MiwgOSwgNCwgMjIxLCAxOTUsIDksIDQsIDIyMSwgMTg0LCA5LCA0LCAKKyAgICAxNzksIDksIDQsIDIyMSwgMjM2LCA5LCA0LCAyMjAsIDY2LCA5LCA0LCAyMjAsIDY4LCA5LCA0LCAyMjAsIDY3LCA5LCA0LCAKKyAgICAyMjAsIDE3MCwgOSwgNCwgMjIwLCAxNTksIDksIDQsIDIyMCwgMjExLCA5LCA0LCAyMjAsIDE4MywgOSwgNCwgMjIwLCA1MiwgCisgICAgOSwgNCwgMjIwLCA0OCwgOSwgNCwgMjIwLCA4MiwgOSwgNCwgMjIwLCA2NSwgOSwgNCwgMjIwLCA1NywgOSwgNCwgMjIwLCAKKyAgICA2MywgOSwgNCwgMjIwLCAzMSwgOSwgNCwgMjIwLCAzMCwgOSwgNCwgMjIwLCAzNSwgOSwgNCwgMjIwLCAzNCwgOSwgNCwgCisgICAgMjIwLCAzMiwgOSwgNCwgMjIwLCAzMywgOSwgNCwgMjUwLCA4MiwgOSwgNCwgMjUwLCA4MSwgOSwgNCwgMjUwLCA4OCwgOSwgCisgICAgNCwgMjUwLCA4MywgOSwgNCwgMjUwLCA4NSwgOSwgNCwgMjUwLCA4NCwgOSwgNCwgMjUwLCA4NywgOSwgNCwgMjUwLCA4NiwgCisgICAgOSwgNCwgMjUwLCA5NCwgOSwgNCwgMjUwLCA5MywgOSwgNCwgMjUwLCA5NywgOSwgNCwgMjUwLCA5NSwgOSwgNCwgMjUwLCAKKyAgICA3MywgOSwgNCwgMjUwLCA3NSwgOSwgNCwgMjUwLCA3NCwgOSwgNCwgMjUwLCA3OCwgOSwgNCwgMjUwLCA3NywgOSwgNCwgCisgICAgMjUwLCA4MCwgOSwgNCwgMjUwLCA3OSwgOSwgNCwgMjUwLCA4OSwgOSwgNCwgMjUwLCA5MiwgOSwgNCwgMjUwLCA5MCwgOSwgCisgICAgNCwgMjUwLCA2OSwgOSwgNCwgMjUwLCA2OCwgOSwgNCwgMjUwLCA3NiwgOSwgNCwgMjUwLCA3MiwgOSwgNCwgMjUwLCA3MCwgCisgICAgOSwgNCwgMjUwLCA3MSwgOSwgNCwgMjUwLCA2NSwgOSwgNCwgMjUwLCA2NCwgOSwgNCwgMjUwLCA2NywgOSwgNCwgMjUwLCAKKyAgICA2NiwgOSwgNCwgMjI1LCAxNzMsIDksIDQsIDIyNSwgMTcyLCA5LCA0LCAyMjUsIDE3OCwgOSwgNCwgMjI1LCAxNzQsIDksIDQsIAorICAgIDIyNSwgMTc1LCA5LCA0LCAyMjUsIDE3NywgOSwgNCwgMjI1LCAxNzYsIDksIDQsIDIyNSwgMTgxLCA5LCA0LCAyMjUsIDE4MCwgCisgICAgOSwgNCwgMjI1LCAxODMsIDksIDQsIDIyNSwgMTgyLCA5LCA0LCAyMjUsIDE2OSwgOSwgNCwgMjI1LCAxNjgsIDksIDQsIAorICAgIDIyNSwgMTcxLCA5LCA0LCAyMjUsIDE3MCwgOSwgNCwgMjI1LCAxNjIsIDksIDQsIDIyNSwgMTYxLCA5LCA0LCAyMjUsIDE2NiwgCisgICAgOSwgNCwgMjI1LCAxNjUsIDksIDQsIDIyNSwgMTYzLCA5LCA0LCAyMjUsIDE2NCwgOSwgNCwgMjI1LCAxNTYsIDksIDQsIAorICAgIDIyNSwgMTU1LCA5LCA0LCAyMjUsIDE2MCwgOSwgNCwgMjI1LCAxNTksIDksIDQsIDIyNSwgMTU3LCA5LCA0LCAyMjUsIDE1OCwgCisgICAgOSwgNCwgMjM4LCAxOTMsIDksIDQsIDIzOCwgMTkyLCA5LCA0LCAyMzgsIDE5OCwgOSwgNCwgMjM4LCAxOTQsIDksIDQsIAorICAgIDIzOCwgMTk1LCA5LCA0LCAyMzgsIDE5NywgOSwgNCwgMjM4LCAxOTYsIDksIDQsIDIzOCwgMjAxLCA5LCA0LCAyMzgsIDIwMCwgCisgICAgOSwgNCwgMjM4LCAyMDMsIDksIDQsIDIzOCwgMjAyLCA5LCA0LCAyMzgsIDE4NCwgOSwgNCwgMjM4LCAxODYsIDksIDQsIAorICAgIDIzOCwgMTg1LCA5LCA0LCAyMzgsIDE4OSwgOSwgNCwgMjM4LCAxODgsIDksIDQsIDIzOCwgMTkxLCA5LCA0LCAyMzgsIDE5MCwgCisgICAgOSwgNCwgMjM4LCAxODAsIDksIDQsIDIzOCwgMTc5LCA5LCA0LCAyMzgsIDE4NywgOSwgNCwgMjM4LCAxODMsIDksIDQsIAorICAgIDIzOCwgMTgxLCA5LCA0LCAyMzgsIDE4MiwgOSwgNCwgMjM4LCAxNzQsIDksIDQsIDIzOCwgMTc4LCA5LCA0LCAyMzgsIDE3NywgCisgICAgOSwgNCwgMjM4LCAxNzUsIDksIDQsIDIzOCwgMTc2LCA5LCA0LCAyMjYsIDE5MiwgOSwgNCwgMjI2LCAxOTEsIDksIDQsIAorICAgIDIyNiwgMjU0LCA5LCA0LCAyMjYsIDE5OCwgOSwgNCwgMjI2LCAyMjYsIDksIDQsIDIyNiwgMjQ0LCA5LCA0LCAyMjYsIDI0MiwgCisgICAgOSwgNCwgMjI3LCAxNzAsIDksIDQsIDIyNywgMTY1LCA5LCA0LCAxODUsIDksIDQsIDIyNywgMjA1LCA5LCA0LCAyMjYsIDgzLCAKKyAgICA5LCA0LCAyMjYsIDgyLCA5LCA0LCAyMjYsIDg2LCA5LCA0LCAyMjYsIDg0LCA5LCA0LCAyMjYsIDEzNywgOSwgNCwgMjI2LCAKKyAgICAxMjAsIDksIDQsIDIyNiwgMTgxLCA5LCA0LCAyMjYsIDE0MiwgOSwgNCwgMjI3LCA1MCwgOSwgNCwgMjI3LCAxMTksIDksIDQsIAorICAgIDIyNiwgNjMsIDksIDQsIDIyNiwgNTksIDksIDQsIDIyNiwgMTE0LCA5LCA0LCAyMjYsIDc5LCA5LCA0LCAyMjYsIDcyLCA5LCAKKyAgICA0LCAyMjYsIDc3LCA5LCA0LCAyMjYsIDM2LCA5LCA0LCAyMjYsIDM1LCA5LCA0LCAyMjYsIDQxLCA5LCA0LCAyMjYsIDM4LCAKKyAgICA5LCA0LCAyNDEsIDIwNiwgOSwgNCwgMjQxLCAyMDEsIDksIDQsIDI0MSwgMjUwLCA5LCA0LCAyNDEsIDIyMSwgOSwgNCwgCisgICAgMjQyLCA0MSwgOSwgNCwgMjQyLCAzMiwgOSwgNCwgMjQyLCA3MywgOSwgNCwgMjQyLCA0NCwgOSwgNCwgMjQxLCAxMTcsIDksIAorICAgIDQsIDI0MSwgMTYyLCA5LCA0LCAyNDEsIDE0MywgOSwgNCwgMjQxLCA3MSwgOSwgNCwgMjQxLCA3MCwgOSwgNCwgMjQxLCA4OCwgCisgICAgOSwgNCwgMjQxLCA3NiwgOSwgNCwgMjQxLCA3NCwgOSwgNCwgMjQxLCA3NSwgOSwgNCwgMjQxLCA1OCwgOSwgNCwgMjQxLCAKKyAgICA1NywgOSwgNCwgMjQxLCA2MSwgOSwgNCwgMjQxLCA1OSwgOSwgNCwgMjA4LCAxODAsIDksIDQsIDIwOCwgMTc1LCA5LCA0LCAKKyAgICAyMDgsIDIxNCwgOSwgNCwgMjA4LCAxODksIDksIDQsIDIwOCwgMjAzLCA5LCA0LCAyMDgsIDIwMCwgOSwgNCwgMjA4LCAyMDYsIAorICAgIDksIDQsIDIwOCwgMjA1LCA5LCA0LCAyMDksIDQ3LCA5LCA0LCAyMDksIDQyLCA5LCA0LCAyMDksIDcwLCA5LCA0LCAyMDksIAorICAgIDU5LCA5LCA0LCAyMDgsIDE1NywgOSwgNCwgMjA4LCAxNTMsIDksIDQsIDIwOCwgMTczLCA5LCA0LCAyMDgsIDE1OSwgOSwgNCwgCisgICAgMjA4LCAyMTcsIDksIDQsIDIwOSwgMjgsIDksIDQsIDIwNywgMTQyLCA5LCA0LCAyMDcsIDE0MCwgOSwgNCwgMjA3LCAxNDgsIAorICAgIDksIDQsIDIwNywgMTQ1LCA5LCA0LCAyMDcsIDE0MywgOSwgNCwgMjA3LCAxNDQsIDksIDQsIDIwNywgMTMzLCA5LCA0LCAKKyAgICAyMDcsIDEzMiwgOSwgNCwgMjA3LCAxMzcsIDksIDQsIDIwNywgMTM2LCA5LCA0LCAyMDcsIDEzNCwgOSwgNCwgMjA3LCAxMzUsIAorICAgIDksIDQsIDI0NSwgODUsIDksIDQsIDI0NSwgNzIsIDksIDQsIDI0NSwgMTY4LCA5LCA0LCAyNDUsIDExMCwgOSwgNCwgMjQ1LCAKKyAgICAxNDMsIDksIDQsIDI0NSwgMTQ4LCA5LCA0LCAyNDUsIDE0NywgOSwgNCwgMjQ2LCA3NCwgOSwgNCwgMjQ2LCA2OCwgOSwgNCwgCisgICAgMjQ2LCAxNDUsIDksIDQsIDI0NiwgOTQsIDksIDQsIDI0MywgMjIxLCA5LCA0LCAyNDMsIDIyMiwgOSwgNCwgMjQ1LCAyMywgCisgICAgOSwgNCwgMjQ0LCA1LCA5LCA0LCAyNDUsIDUxLCA5LCA0LCAyNDUsIDI1LCA5LCA0LCAyNDUsIDE5OCwgOSwgNCwgMjQ2LCA5LCAKKyAgICA5LCA0LCAyNDUsIDIxOCwgOSwgNCwgMjQzLCAyMTIsIDksIDQsIDI0MywgMjEwLCA5LCA0LCAyNDMsIDIzNywgOSwgNCwgCisgICAgMjQzLCAyMjAsIDksIDQsIDI0MywgMjE1LCA5LCA0LCAyNDMsIDIxOCwgOSwgNCwgMjExLCAxNTYsIDksIDQsIDIxMSwgMTQ5LCAKKyAgICA5LCA0LCAyMTEsIDIxMSwgOSwgNCwgMjExLCAxNjYsIDksIDQsIDIxMSwgMjAxLCA5LCA0LCAyMTEsIDIwMywgOSwgNCwgCisgICAgMjExLCAyMDIsIDksIDQsIDIxMiwgMTU2LCA5LCA0LCAyMTIsIDE0MiwgOSwgNCwgMjEyLCAyMTksIDksIDQsIDIxMiwgMTY2LCAKKyAgICA5LCA0LCAyMTAsIDE1MywgOSwgNCwgMjEwLCAxNTIsIDksIDQsIDIxMCwgMTU1LCA5LCA0LCAyMTAsIDE1NCwgOSwgNCwgCisgICAgMjExLCA5MSwgOSwgNCwgMjExLCA4NSwgOSwgNCwgMTI0LCA5LCA0LCAyMTEsIDEwMSwgOSwgNCwgMjEyLCA2MiwgOSwgNCwgCisgICAgMjEyLCAxMzEsIDksIDQsIDIxMiwgODcsIDksIDQsIDIxMCwgMTM4LCA5LCA0LCAyMTAsIDEzMywgOSwgNCwgMjEwLCAxNzAsIAorICAgIDksIDQsIDIxMCwgMTUxLCA5LCA0LCAyMTAsIDEzOSwgOSwgNCwgMjEwLCAxNDksIDksIDQsIDI0NiwgMjYsIDksIDQsIDI0NiwgCisgICAgMjUsIDksIDQsIDI0NiwgMzEsIDksIDQsIDI0NiwgMjcsIDksIDQsIDI0NiwgMjgsIDksIDQsIDI0NiwgMzAsIDksIDQsIAorICAgIDI0NiwgMjksIDksIDQsIDI0NiwgNDcsIDksIDQsIDI0NiwgNDYsIDksIDQsIDI0NiwgNTQsIDksIDQsIDI0NiwgNDgsIDksIAorICAgIDQsIDI0NiwgMTYsIDksIDQsIDI0NiwgMTgsIDksIDQsIDI0NiwgMTcsIDksIDQsIDI0NiwgMjEsIDksIDQsIDI0NiwgMjAsIAorICAgIDksIDQsIDI0NiwgMjQsIDksIDQsIDI0NiwgMjIsIDksIDQsIDI0NiwgMzksIDksIDQsIDI0NiwgNDIsIDksIDQsIDI0NiwgCisgICAgNDAsIDksIDQsIDI0NiwgMTIsIDksIDQsIDI0NiwgMTEsIDksIDQsIDI0NiwgMTksIDksIDQsIDI0NiwgMTUsIDksIDQsIAorICAgIDI0NiwgMTMsIDksIDQsIDI0NiwgMTQsIDksIDQsIDIyNSwgMTI5LCA5LCA0LCAyMjUsIDEyOCwgOSwgNCwgMjI1LCAxMzYsIAorICAgIDksIDQsIDIyNSwgMTMxLCA5LCA0LCAyMjUsIDEzMiwgOSwgNCwgMjI1LCAxMzMsIDksIDQsIDIyNSwgMTQ1LCA5LCA0LCAKKyAgICAyMjUsIDE0NCwgOSwgNCwgMjI1LCAxNTEsIDksIDQsIDIyNSwgMTQ2LCA5LCA0LCAyMjUsIDEyMSwgOSwgNCwgMjI1LCAxMjAsIAorICAgIDksIDQsIDIyNSwgMTI3LCA5LCA0LCAyMjUsIDEyMiwgOSwgNCwgMjI1LCAxMzcsIDksIDQsIDIyNSwgMTQzLCA5LCA0LCAKKyAgICAyMjUsIDE0MSwgOSwgNCwgMjI1LCAxMTMsIDksIDQsIDIyNSwgMTEyLCA5LCA0LCAyMjUsIDExOCwgOSwgNCwgMjI1LCAxMTYsIAorICAgIDksIDQsIDIyNSwgMTE0LCA5LCA0LCAyMjUsIDExNSwgOSwgNCwgMjM4LCAxNTksIDksIDQsIDIzOCwgMTU4LCA5LCA0LCAKKyAgICAyMzgsIDE2NSwgOSwgNCwgMjM4LCAxNjAsIDksIDQsIDIzOCwgMTYyLCA5LCA0LCAyMzgsIDE2MSwgOSwgNCwgMjM4LCAxNjQsIAorICAgIDksIDQsIDIzOCwgMTYzLCA5LCA0LCAyMzgsIDE3MSwgOSwgNCwgMjM4LCAxNjksIDksIDQsIDIzOCwgMTczLCA5LCA0LCAKKyAgICAyMzgsIDE3MiwgOSwgNCwgMjM4LCAxNTIsIDksIDQsIDIzOCwgMTUzLCA5LCA0LCAyMzgsIDE1NiwgOSwgNCwgMjM4LCAxNTUsIAorICAgIDksIDQsIDIzOCwgMTU3LCA5LCA0LCAyMzgsIDE2NiwgOSwgNCwgMjM4LCAxNjgsIDksIDQsIDIzOCwgMTY3LCA5LCA0LCAKKyAgICAyMzgsIDE1MSwgOSwgNCwgMjI0LCAxODQsIDksIDQsIDIyNCwgMTgyLCA5LCA0LCAyMjQsIDIzMCwgOSwgNCwgMjI0LCAxODcsIAorICAgIDksIDQsIDIyNCwgMjEyLCA5LCA0LCAyMjQsIDIyNiwgOSwgNCwgMjI0LCAyMjUsIDksIDQsIDIyNSwgMTg3LCA5LCA0LCAKKyAgICAxOTksIDksIDQsIDIyNSwgMjAyLCA5LCA0LCAyMjMsIDE2NSwgOSwgNCwgMjIzLCAxNjcsIDksIDQsIDIyMywgMTY2LCA5LCAKKyAgICA0LCAyMjQsIDQyLCA5LCA0LCAyMjQsIDI3LCA5LCA0LCAyMjQsIDY3LCA5LCA0LCAyMjQsIDUyLCA5LCA0LCAyMjUsIDgzLCAKKyAgICA5LCA0LCAyMjUsIDExMCwgOSwgNCwgMjI1LCA5NiwgOSwgNCwgMjIzLCAxNjAsIDksIDQsIDIyMywgMTU2LCA5LCA0LCAyMjMsIAorICAgIDIxNywgOSwgNCwgMjIzLCAxNjQsIDksIDQsIDIyMywgMTYyLCA5LCA0LCAyMjMsIDE2MywgOSwgNCwgMjM4LCAyMjQsIDksIAorICAgIDQsIDIzOCwgMjIzLCA5LCA0LCAyMzgsIDIyOSwgOSwgNCwgMjM4LCAyMjUsIDksIDQsIDIzOCwgMjI2LCA5LCA0LCAyMzgsIAorICAgIDIyOCwgOSwgNCwgMjM4LCAyMjcsIDksIDQsIDIzOCwgMjM1LCA5LCA0LCAyMzgsIDIzMywgOSwgNCwgMjM4LCAyMzcsIDksIAorICAgIDQsIDIzOCwgMjM2LCA5LCA0LCAyMzgsIDIxNiwgOSwgNCwgMjM4LCAyMTgsIDksIDQsIDIzOCwgMjE3LCA5LCA0LCAyMzgsIAorICAgIDIyMCwgOSwgNCwgMjM4LCAyMjIsIDksIDQsIDIzOCwgMjIxLCA5LCA0LCAyMzgsIDIzMCwgOSwgNCwgMjM4LCAyMzIsIDksIAorICAgIDQsIDIzOCwgMjMxLCA5LCA0LCAyMzgsIDIxMiwgOSwgNCwgMjM4LCAyMTEsIDksIDQsIDIzOCwgMjE5LCA5LCA0LCAyMzgsIAorICAgIDIxNSwgOSwgNCwgMjM4LCAyMTMsIDksIDQsIDIzOCwgMjE0LCA5LCA0LCAyMzgsIDIwNiwgOSwgNCwgMjM4LCAyMDUsIDksIAorICAgIDQsIDIzOCwgMjEwLCA5LCA0LCAyMzgsIDIwOSwgOSwgNCwgMjM4LCAyMDcsIDksIDQsIDIzOCwgMjA4LCA5LCA0LCAyMjksIAorICAgIDE4NCwgOSwgNCwgMjI5LCAxNzcsIDksIDQsIDIyOSwgMjM1LCA5LCA0LCAyMjksIDE5MywgOSwgNCwgMjI5LCAyMjcsIDksIAorICAgIDQsIDIyOSwgMjI2LCA5LCA0LCAyMjksIDIzMCwgOSwgNCwgMjI5LCAyMjgsIDksIDQsIDIzMCwgODAsIDksIDQsIDIzMCwgCisgICAgNjksIDksIDQsIDIzMCwgMTQxLCA5LCA0LCAyMzAsIDg5LCA5LCA0LCAyMjksIDYwLCA5LCA0LCAyMjksIDU5LCA5LCA0LCAKKyAgICAyMjksIDYyLCA5LCA0LCAyMjksIDYxLCA5LCA0LCAyMjksIDEwMywgOSwgNCwgMjI5LCA5MCwgOSwgNCwgMjI5LCAxNDQsIDksIAorICAgIDQsIDIyOSwgMTA4LCA5LCA0LCAyMjksIDI1MiwgOSwgNCwgMjMwLCA1OCwgOSwgNCwgMjMwLCAxMywgOSwgNCwgMjI5LCA1NCwgCisgICAgOSwgNCwgMjI5LCA1MiwgOSwgNCwgMjI5LCA4MSwgOSwgNCwgMjI5LCA1OCwgOSwgNCwgMjI5LCA1NiwgOSwgNCwgMjI5LCAKKyAgICA1NywgOSwgNCwgMjI5LCAzMywgOSwgNCwgMjI5LCAzMiwgOSwgNCwgMjI5LCA0MiwgOSwgNCwgMjI5LCAzNiwgOSwgNCwgCisgICAgMjI5LCAzNCwgOSwgNCwgMjI5LCAzNSwgOSwgNCwgMjQwLCAzNCwgOSwgNCwgMjQwLCAzMywgOSwgNCwgMjQwLCA2MSwgOSwgCisgICAgNCwgMjQwLCA0NSwgOSwgNCwgMjQwLCA1MywgOSwgNCwgMjQwLCA1MiwgOSwgNCwgMjQwLCA1NSwgOSwgNCwgMjQwLCA1NCwgCisgICAgOSwgNCwgMjQwLCAxOTcsIDksIDQsIDI0MCwgMTkyLCA5LCA0LCAyNDAsIDI0NCwgOSwgNCwgMjQwLCAyMDcsIDksIDQsIAorICAgIDIzOSwgMTg5LCA5LCA0LCAyMzksIDE4OCwgOSwgNCwgMjM5LCAxOTEsIDksIDQsIDIzOSwgMTkwLCA5LCA0LCAyMzksIDI1NCwgCisgICAgOSwgNCwgMjM5LCAyNTIsIDksIDQsIDI0MCwgMTksIDksIDQsIDI0MCwgNiwgOSwgNCwgMjQwLCAxMzksIDksIDQsIDI0MCwgCisgICAgMTM3LCA5LCA0LCAyNDAsIDE3MCwgOSwgNCwgMjQwLCAxNTAsIDksIDQsIDIzOSwgMTc4LCA5LCA0LCAyMzksIDE3NywgOSwgCisgICAgNCwgMjM5LCAyMTMsIDksIDQsIDIzOSwgMTg3LCA5LCA0LCAyMzksIDE3OSwgOSwgNCwgMjM5LCAxODYsIDksIDQsIDIzMSwgCisgICAgODksIDksIDQsIDIzMSwgODYsIDksIDQsIDIzMSwgMTIzLCA5LCA0LCAyMzEsIDEwMywgOSwgNCwgMjMxLCAxMTMsIDksIDQsIAorICAgIDIzMSwgMTE2LCA5LCA0LCAyMzEsIDExNCwgOSwgNCwgMjMxLCAyNDksIDksIDQsIDIzMSwgMjMyLCA5LCA0LCAxNzIsIDksIAorICAgIDQsIDIzMiwgMjAsIDksIDQsIDIzMCwgMjE0LCA5LCA0LCAyMzAsIDIxOSwgOSwgNCwgMjMwLCAyMTYsIDksIDQsIDIzMSwgCisgICAgMjEsIDksIDQsIDIzMSwgMTYsIDksIDQsIDIzMSwgNTMsIDksIDQsIDIzMSwgMjgsIDksIDQsIDIzMSwgMTkzLCA5LCA0LCAKKyAgICAyMzEsIDE3NiwgOSwgNCwgMjMxLCAyMjQsIDksIDQsIDIzMSwgMTk3LCA5LCA0LCAyMzAsIDIwMywgOSwgNCwgMjMwLCAxOTksIAorICAgIDksIDQsIDIzMCwgMjM2LCA5LCA0LCAyMzAsIDIxMywgOSwgNCwgMjMwLCAyMDYsIDksIDQsIDIzMCwgMjEwLCA5LCA0LCAKKyAgICAyNDAsIDEyMSwgOSwgNCwgMjQwLCAxMjAsIDksIDQsIDI0MCwgMTI1LCA5LCA0LCAyNDAsIDEyMiwgOSwgNCwgMjQwLCAxMjQsIAorICAgIDksIDQsIDI0MCwgMTIzLCA5LCA0LCAyNDAsIDEzMiwgOSwgNCwgMjQwLCAxMzEsIDksIDQsIDI0MCwgMTM1LCA5LCA0LCAKKyAgICAyNDAsIDEzMywgOSwgNCwgMjQwLCAxMTIsIDksIDQsIDI0MCwgMTExLCA5LCA0LCAyNDAsIDExNCwgOSwgNCwgMjQwLCAxMTMsIAorICAgIDksIDQsIDI0MCwgMTE3LCA5LCA0LCAyNDAsIDExNiwgOSwgNCwgMjQwLCAxMTksIDksIDQsIDI0MCwgMTE4LCA5LCA0LCAKKyAgICAyNDAsIDEyNywgOSwgNCwgMjQwLCAxMjYsIDksIDQsIDI0MCwgMTMwLCA5LCA0LCAyNDAsIDEyOCwgOSwgNCwgMjQwLCAxMDcsIAorICAgIDksIDQsIDI0MCwgMTA2LCA5LCA0LCAyNDAsIDExNSwgOSwgNCwgMjQwLCAxMTAsIDksIDQsIDI0MCwgMTA4LCA5LCA0LCAKKyAgICAyNDAsIDEwOSwgOSwgNCwgMjI3LCAxNywgOSwgNCwgMjI3LCAxOCwgOSwgNCwgMjI3LCAzNiwgOSwgNCwgMjI3LCAzNSwgOSwgCisgICAgNCwgMjI3LCAzOCwgOSwgNCwgMjI3LCAzNywgOSwgNCwgMjI3LCA4LCA5LCA0LCAyMjcsIDEwLCA5LCA0LCAyMjcsIDksIDksIAorICAgIDQsIDIyNywgMTMsIDksIDQsIDIyNywgMTIsIDksIDQsIDIyNywgMTUsIDksIDQsIDIyNywgMTQsIDksIDQsIDIyNywgMTksIAorICAgIDksIDQsIDIyNywgMjEsIDksIDQsIDIyNywgMjAsIDksIDQsIDIyNywgNCwgOSwgNCwgMjI3LCAzLCA5LCA0LCAyMjcsIDExLCAKKyAgICA5LCA0LCAyMjcsIDcsIDksIDQsIDIyNywgNSwgOSwgNCwgMjI3LCA2LCA5LCA0LCAyMzcsIDI1MSwgOSwgNCwgMjM3LCAyNTAsIAorICAgIDksIDQsIDIzOCwgMSwgOSwgNCwgMjM3LCAyNTIsIDksIDQsIDIzNywgMjU0LCA5LCA0LCAyMzcsIDI1MywgOSwgNCwgMjM4LCAKKyAgICAwLCA5LCA0LCAyMzcsIDI1NSwgOSwgNCwgMjM4LCA2LCA5LCA0LCAyMzgsIDUsIDksIDQsIDIzOCwgOCwgOSwgNCwgMjM4LCAKKyAgICA3LCA5LCA0LCAyMzcsIDI0MywgOSwgNCwgMjM3LCAyNDIsIDksIDQsIDIzNywgMjQ1LCA5LCA0LCAyMzcsIDI0NCwgOSwgNCwgCisgICAgMjM3LCAyNDcsIDksIDQsIDIzNywgMjQ2LCA5LCA0LCAyMzcsIDI0OSwgOSwgNCwgMjM3LCAyNDgsIDksIDQsIDIzOCwgMiwgCisgICAgOSwgNCwgMjM4LCA0LCA5LCA0LCAyMzgsIDMsIDksIDQsIDIyNSwgMjIsIDksIDQsIDIyNSwgMjQsIDksIDQsIDIyNSwgMjMsIAorICAgIDksIDQsIDIyNSwgNjcsIDksIDQsIDIyNSwgNjUsIDksIDQsIDIyNSwgNzcsIDksIDQsIDIyNSwgNzAsIDksIDQsIDIyNCwgCisgICAgMjQwLCA5LCA0LCAyMjQsIDIzOSwgOSwgNCwgMjI0LCAyNDEsIDksIDQsIDIyNCwgMjUwLCA5LCA0LCAyMjQsIDI0NywgOSwgCisgICAgNCwgMjI1LCAyLCA5LCA0LCAyMjQsIDI1MiwgOSwgNCwgMjI1LCA1OCwgOSwgNCwgMjI1LCA2NCwgOSwgNCwgMjI1LCA2MCwgCisgICAgOSwgNCwgMjM4LCAyNDIsIDksIDQsIDIzOCwgMjUzLCA5LCA0LCAyMzksIDYsIDksIDQsIDIzOSwgODYsIDksIDQsIDIzOSwgCisgICAgNzYsIDksIDQsIDE1NSwgOSwgNCwgMjM5LCA5NywgOSwgNCwgMjM4LCAyNCwgOSwgNCwgMjM4LCAyMywgOSwgNCwgMjM4LCAKKyAgICAyNiwgOSwgNCwgMjM4LCAyNSwgOSwgNCwgMjM4LCA2MiwgOSwgNCwgMjM4LCA1MywgOSwgNCwgMjM4LCAxNDksIDksIDQsIAorICAgIDIzOCwgMTI0LCA5LCA0LCAyMzksIDI2LCA5LCA0LCAyMzksIDcxLCA5LCA0LCAyMzksIDM4LCA5LCA0LCAyMDcsIDcyLCA5LCAKKyAgICA0LCAyMDcsIDU3LCA5LCA0LCAyMDcsIDk2LCA5LCA0LCAyMDcsIDgxLCA5LCA0LCAyMDYsIDIwNSwgOSwgNCwgMjA2LCAyMDcsIAorICAgIDksIDQsIDIwNiwgMjA2LCA5LCA0LCAyMDYsIDIyNCwgOSwgNCwgMjA2LCAyNTAsIDksIDQsIDIwNiwgMjMzLCA5LCA0LCAKKyAgICAyMDcsIDMyLCA5LCA0LCAyMDcsIDUxLCA5LCA0LCAyMDcsIDM3LCA5LCA0LCAyMDUsIDI2LCA5LCA0LCAyMDUsIDI1LCA5LCAKKyAgICA0LCAyMDUsIDQwLCA5LCA0LCAyMDUsIDI4LCA5LCA0LCAyMDUsIDMzLCA5LCA0LCAyMDUsIDM1LCA5LCA0LCAyMDUsIDM0LCAKKyAgICA5LCA0LCAyMDUsIDEwMSwgOSwgNCwgMjA1LCA5OCwgOSwgNCwgMjA1LCAxMTYsIDksIDQsIDIwNSwgMTA1LCA5LCA0LCAyMDUsIAorICAgIDIsIDksIDQsIDIwNSwgNCwgOSwgNCwgMjA1LCAzLCA5LCA0LCAyMDUsIDE1LCA5LCA0LCAyMDUsIDE0LCA5LCA0LCAyMDUsIAorICAgIDE5LCA5LCA0LCAyMDUsIDE2LCA5LCA0LCAyMDUsIDgzLCA5LCA0LCAyMDUsIDkzLCA5LCA0LCAyMDUsIDg3LCA5LCA0LCAKKyAgICAyMDQsIDI1NCwgOSwgNCwgMjA0LCAyNTMsIDksIDQsIDIwNSwgOSwgOSwgNCwgMjA1LCAxLCA5LCA0LCAyMDQsIDI1NSwgOSwgCisgICAgNCwgMjA1LCAwLCA5LCA0LCAyMDQsIDI0MCwgOSwgNCwgMjA0LCAyMzksIDksIDQsIDIwNCwgMjQ1LCA5LCA0LCAyMDQsIAorICAgIDI0MywgOSwgNCwgMjA0LCAyNDEsIDksIDQsIDIwNCwgMjQyLCA5LCA0LCAyNDcsIDIyNSwgOSwgNCwgMjQ3LCAyMTksIDksIAorICAgIDQsIDI0NywgMjUxLCA5LCA0LCAyNDcsIDIzNSwgOSwgNCwgMjQ3LCAyNDgsIDksIDQsIDI0NywgMjQyLCA5LCA0LCAyNDcsIAorICAgIDI1MCwgOSwgNCwgMjQ3LCAyNDksIDksIDQsIDI0OCwgMTgzLCA5LCA0LCAyNDgsIDE3NSwgOSwgNCwgMjQ5LCAxLCA5LCA0LCAKKyAgICAyNDgsIDIxMywgOSwgNCwgMjQ3LCAzMSwgOSwgNCwgMjQ3LCAzMywgOSwgNCwgMjQ3LCAzMiwgOSwgNCwgMjQ3LCA4NCwgOSwgCisgICAgNCwgMjQ3LCA3NCwgOSwgNCwgMjQ3LCAxNzQsIDksIDQsIDI0NywgMTAwLCA5LCA0LCAyNDgsIDExMywgOSwgNCwgMjQ4LCAKKyAgICAxNDgsIDksIDQsIDI0OCwgMTE4LCA5LCA0LCAyNDcsIDEwLCA5LCA0LCAyNDcsIDgsIDksIDQsIDI0NywgNDAsIDksIDQsIAorICAgIDI0NywgMjksIDksIDQsIDI0NywgMTYsIDksIDQsIDI0NywgMjgsIDksIDQsIDI0NiwgMjQzLCA5LCA0LCAyNDYsIDI0MiwgOSwgCisgICAgNCwgMjQ2LCAyNTUsIDksIDQsIDI0NiwgMjQ5LCA5LCA0LCAyNDYsIDI0NCwgOSwgNCwgMjQ2LCAyNDYsIDksIDQsIDIwNCwgCisgICAgMjIzLCA5LCA0LCAyMDQsIDIyMiwgOSwgNCwgMjA0LCAyMjksIDksIDQsIDIwNCwgMjI0LCA5LCA0LCAyMDQsIDIyNiwgOSwgCisgICAgNCwgMjA0LCAyMjUsIDksIDQsIDIwNCwgMjI4LCA5LCA0LCAyMDQsIDIyNywgOSwgNCwgMjA0LCAyMzUsIDksIDQsIDIwNCwgCisgICAgMjM0LCA5LCA0LCAyMDQsIDIzOCwgOSwgNCwgMjA0LCAyMzYsIDksIDQsIDIwNCwgMjE5LCA5LCA0LCAyMDQsIDIyMSwgOSwgCisgICAgNCwgMjA0LCAyMjAsIDksIDQsIDIwNCwgMjMwLCA5LCA0LCAyMDQsIDIzMywgOSwgNCwgMjA0LCAyMzEsIDksIDQsIDIwNCwgCisgICAgMjEyLCA5LCA0LCAyMDQsIDIxNiwgOSwgNCwgMjA0LCAyMTUsIDksIDQsIDIwNCwgMjEzLCA5LCA0LCAyMDQsIDIxNCwgOSwgCisgICAgNCwgMjA0LCAyMDYsIDksIDQsIDIwNCwgMjA1LCA5LCA0LCAyMDQsIDIxMSwgOSwgNCwgMjA0LCAyMDksIDksIDQsIDIwNCwgCisgICAgMjA3LCA5LCA0LCAyMDQsIDIwOCwgOSwgNCwgMjIzLCA3OCwgOSwgNCwgMjIzLCA3NywgOSwgNCwgMjIzLCA4MywgOSwgNCwgCisgICAgMjIzLCA3OSwgOSwgNCwgMjIzLCA4MCwgOSwgNCwgMjIzLCA4MiwgOSwgNCwgMjIzLCA4MSwgOSwgNCwgMjIzLCA4OCwgOSwgCisgICAgNCwgMjIzLCA4NywgOSwgNCwgMjIzLCA5MSwgOSwgNCwgMjIzLCA5MCwgOSwgNCwgMjIzLCA3MSwgOSwgNCwgMjIzLCA3MiwgCisgICAgOSwgNCwgMjIzLCA3NSwgOSwgNCwgMjIzLCA3NiwgOSwgNCwgMjIzLCA4NCwgOSwgNCwgMjIzLCA4NiwgOSwgNCwgMjIzLCAKKyAgICA2NiwgOSwgNCwgMjIzLCA3NCwgOSwgNCwgMjIzLCA3MCwgOSwgNCwgMjIzLCA2NywgOSwgNCwgMjIzLCA2OCwgOSwgNCwgCisgICAgMjIzLCA2MSwgOSwgNCwgMjIzLCA2MCwgOSwgNCwgMjIzLCA2NSwgOSwgNCwgMjIzLCA2NCwgOSwgNCwgMjIzLCA2MiwgOSwgCisgICAgNCwgMjIzLCA2MywgOSwgNCwgMjE1LCAxMiwgOSwgNCwgMTg0LCA5LCA0LCAyMTUsIDgwLCA5LCA0LCAyMTUsIDE1LCA5LCA0LCAKKyAgICAyMTUsIDY5LCA5LCA0LCAyMTUsIDcyLCA5LCA0LCAyMTUsIDcwLCA5LCA0LCAyMTcsIDEzMywgOSwgNCwgMjE3LCAxMTksIDksIAorICAgIDQsIDIxNywgMTk5LCA5LCA0LCAyMTcsIDE0MSwgOSwgNCwgMjEzLCAxNDQsIDksIDQsIDIxMywgMTQ2LCA5LCA0LCAyMTMsIAorICAgIDE0NSwgOSwgNCwgMjE0LCAxNjgsIDksIDQsIDIxNCwgMTU4LCA5LCA0LCAyMTQsIDE5MywgOSwgNCwgMjE0LCAxNzIsIDksIAorICAgIDQsIDIxNiwgMTUsIDksIDQsIDIxNywgODYsIDksIDQsIDIxNiwgNDEsIDksIDQsIDIxMywgMTIxLCA5LCA0LCAyMTMsIDExOCwgCisgICAgOSwgNCwgMjEzLCAyMDMsIDksIDQsIDIxMywgMTQzLCA5LCA0LCAyMTMsIDEyNSwgOSwgNCwgMjEzLCAxMzMsIDksIDQsIAorICAgIDIxMywgMjQsIDksIDQsIDIxMywgMjMsIDksIDQsIDIxMywgOTEsIDksIDQsIDIxMywgMzIsIDksIDQsIDIxMywgMjYsIDksIAorICAgIDQsIDIxMywgMzEsIDksIDQsIDIxNCwgNTgsIDksIDQsIDIxNCwgNTcsIDksIDQsIDIxNCwgNjQsIDksIDQsIDIxNCwgNTksIAorICAgIDksIDQsIDIxNCwgNjEsIDksIDQsIDIxNCwgNjMsIDksIDQsIDIxNCwgNjIsIDksIDQsIDIxNCwgNzMsIDksIDQsIDIxNCwgCisgICAgNzEsIDksIDQsIDIxNCwgOTYsIDksIDQsIDIxNCwgNzQsIDksIDQsIDIxNCwgNTMsIDksIDQsIDIxNCwgNTIsIDksIDQsIAorICAgIDIxNCwgNTYsIDksIDQsIDIxNCwgNTQsIDksIDQsIDIxNCwgNjcsIDksIDQsIDIxNCwgNzAsIDksIDQsIDIxNCwgNjgsIDksIAorICAgIDQsIDIxNCwgNDksIDksIDQsIDIxNCwgNDcsIDksIDQsIDIxNCwgNTEsIDksIDQsIDIxNCwgNTAsIDksIDQsIDIxNCwgNDIsIAorICAgIDksIDQsIDIxNCwgNDEsIDksIDQsIDIxNCwgNDYsIDksIDQsIDIxNCwgNDUsIDksIDQsIDIxNCwgNDMsIDksIDQsIDIxNCwgCisgICAgNDQsIDksIDQsIDIwNSwgNzYsIDksIDQsIDIwNSwgNzUsIDksIDQsIDIwNSwgODEsIDksIDQsIDIwNSwgNzgsIDksIDQsIAorICAgIDIwNSwgNTUsIDksIDQsIDIwNSwgNTcsIDksIDQsIDIwNSwgNTYsIDksIDQsIDIwNSwgNjAsIDksIDQsIDIwNSwgNTksIDksIAorICAgIDQsIDIwNSwgNjQsIDksIDQsIDIwNSwgNjEsIDksIDQsIDIwNSwgNjksIDksIDQsIDIwNSwgNjgsIDksIDQsIDIwNSwgNzIsIAorICAgIDksIDQsIDIwNSwgNzAsIDksIDQsIDIwNSwgNTEsIDksIDQsIDIwNSwgNTAsIDksIDQsIDIwNSwgNTgsIDksIDQsIDIwNSwgCisgICAgNTQsIDksIDQsIDIwNSwgNTIsIDksIDQsIDIwNSwgNTMsIDksIDQsIDIwNSwgNDMsIDksIDQsIDIwNSwgNDIsIDksIDQsIAorICAgIDIwNSwgNDcsIDksIDQsIDIwNSwgNDYsIDksIDQsIDIwNSwgNDQsIDksIDQsIDIwNSwgNDUsIDksIDQsIDI0OCwgODgsIDksIAorICAgIDQsIDI0OCwgODQsIDksIDQsIDI0OCwgMTEwLCA5LCA0LCAyNDgsIDk3LCA5LCA0LCAyNDgsIDEwLCA5LCA0LCAyNDgsIDksIAorICAgIDksIDQsIDI0OCwgMTIsIDksIDQsIDI0OCwgMTEsIDksIDQsIDI0OCwgMjUsIDksIDQsIDI0OCwgMjQsIDksIDQsIDI0OCwgCisgICAgMzIsIDksIDQsIDI0OCwgMjcsIDksIDQsIDI0OCwgNjMsIDksIDQsIDI0OCwgNjEsIDksIDQsIDI0OCwgODIsIDksIDQsIAorICAgIDI0OCwgNzAsIDksIDQsIDI0OCwgNCwgOSwgNCwgMjQ4LCAxNCwgOSwgNCwgMjQ4LCA4LCA5LCA0LCAyNDgsIDUsIDksIDQsIAorICAgIDI0OCwgNywgOSwgNCwgMjQ3LCAyNTMsIDksIDQsIDI0NywgMjUyLCA5LCA0LCAyNDgsIDEsIDksIDQsIDI0OCwgMCwgOSwgNCwgCisgICAgMjQ3LCAyNTQsIDksIDQsIDI0NywgMjU1LCA5LCA0LCAyMTgsIDg1LCA5LCA0LCAyMTgsIDg5LCA5LCA0LCAyMTgsIDY4LCA5LCAKKyAgICA0LCAyMTgsIDY5LCA5LCA0LCAyMTgsIDcyLCA5LCA0LCAyMTgsIDcxLCA5LCA0LCAyMTgsIDc1LCA5LCA0LCAyMTgsIDczLCAKKyAgICA5LCA0LCAyMTgsIDc5LCA5LCA0LCAyMTgsIDc4LCA5LCA0LCAyMTgsIDg0LCA5LCA0LCAyMTgsIDgwLCA5LCA0LCAyMTgsIAorICAgIDY0LCA5LCA0LCAyMTgsIDYyLCA5LCA0LCAyMTgsIDcwLCA5LCA0LCAyMTgsIDY3LCA5LCA0LCAyMTgsIDY1LCA5LCA0LCAKKyAgICAyMTgsIDY2LCA5LCA0LCAyMTgsIDU3LCA5LCA0LCAyMTgsIDU2LCA5LCA0LCAyMTgsIDYxLCA5LCA0LCAyMTgsIDYwLCA5LCAKKyAgICA0LCAyMTgsIDU4LCA5LCA0LCAyMTgsIDU5LCA5LCA0LCAyMjQsIDIyLCA5LCA0LCAyMjQsIDIxLCA5LCA0LCAyMjQsIDI0LCAKKyAgICA5LCA0LCAyMjQsIDIzLCA5LCA0LCAyMjQsIDEzLCA5LCA0LCAyMjQsIDE1LCA5LCA0LCAyMjQsIDE0LCA5LCA0LCAyMjQsIAorICAgIDE3LCA5LCA0LCAyMjQsIDE2LCA5LCA0LCAyMjQsIDIwLCA5LCA0LCAyMjQsIDE5LCA5LCA0LCAyMjQsIDcsIDksIDQsIDIyNCwgCisgICAgNiwgOSwgNCwgMjI0LCAxMiwgOSwgNCwgMjI0LCAxMCwgOSwgNCwgMjI0LCA4LCA5LCA0LCAyMjQsIDksIDksIDQsIDIyNCwgCisgICAgMSwgOSwgNCwgMjI0LCAwLCA5LCA0LCAyMjQsIDUsIDksIDQsIDIyNCwgNCwgOSwgNCwgMjI0LCAyLCA5LCA0LCAyMjQsIDMsIAorICAgIDksIDQsIDIxNSwgMjI0LCA5LCA0LCAyMTUsIDIxOSwgOSwgNCwgMjE2LCAyLCA5LCA0LCAyMTUsIDIzNSwgOSwgNCwgMjE1LCAKKyAgICAxMDUsIDksIDQsIDIxNSwgMTA3LCA5LCA0LCAyMTUsIDEwNiwgOSwgNCwgMjE1LCAxMjgsIDksIDQsIDIxNSwgMTI1LCA5LCAKKyAgICA0LCAyMTUsIDE1OCwgOSwgNCwgMjE1LCAxNDgsIDksIDQsIDIxNSwgMTkzLCA5LCA0LCAyMTUsIDE4NiwgOSwgNCwgMjE1LCAKKyAgICAyMTQsIDksIDQsIDIxNSwgMjAxLCA5LCA0LCAyMTUsIDEwMSwgOSwgNCwgMjE1LCA5OSwgOSwgNCwgMjE1LCAxMTYsIDksIDQsIAorICAgIDIxNSwgMTA0LCA5LCA0LCAyMTUsIDEwMiwgOSwgNCwgMjE1LCAxMDMsIDksIDQsIDIxNSwgODMsIDksIDQsIDIxNSwgODIsIAorICAgIDksIDQsIDIxNSwgODksIDksIDQsIDIxNSwgODYsIDksIDQsIDIxNSwgODQsIDksIDQsIDIxNSwgODUsIDksIDQsIDIxOSwgCisgICAgNjUsIDksIDQsIDIxOSwgNTksIDksIDQsIDIxOSwgMTEzLCA5LCA0LCAyMTksIDcxLCA5LCA0LCAyMTgsIDI5LCA5LCA0LCAKKyAgICAyMTgsIDMxLCA5LCA0LCAyMTgsIDMwLCA5LCA0LCAyMTgsIDk4LCA5LCA0LCAyMTgsIDkxLCA5LCA0LCAyMTgsIDEyNCwgOSwgCisgICAgNCwgMjE4LCAxMDIsIDksIDQsIDIxOCwgMjE3LCA5LCA0LCAyMTksIDUxLCA5LCA0LCAyMTksIDAsIDksIDQsIDIxOCwgMjIsIAorICAgIDksIDQsIDIxOCwgMTksIDksIDQsIDIxOCwgNTAsIDksIDQsIDIxOCwgMjgsIDksIDQsIDIxOCwgMjQsIDksIDQsIDIxOCwgCisgICAgMjUsIDksIDQsIDIxOCwgNCwgOSwgNCwgMjE4LCAzLCA5LCA0LCAyMTgsIDksIDksIDQsIDIxOCwgNywgOSwgNCwgMjE4LCA1LCAKKyAgICA5LCA0LCAyMTgsIDYsIDksIDQsIDIzMiwgMTUyLCA5LCA0LCAyMzIsIDE1MSwgOSwgNCwgMjMyLCAxNjIsIDksIDQsIDIzMiwgCisgICAgMTUzLCA5LCA0LCAyMzIsIDE1OCwgOSwgNCwgMjMyLCAxNTcsIDksIDQsIDIzMiwgMTYwLCA5LCA0LCAyMzIsIDE1OSwgOSwgCisgICAgNCwgMjMyLCA5NCwgOSwgNCwgMjMyLCA5MywgOSwgNCwgMjMyLCA5NiwgOSwgNCwgMjMyLCA5NSwgOSwgNCwgMjMyLCAxMTAsIAorICAgIDksIDQsIDIzMiwgMTA4LCA5LCA0LCAyMzIsIDEyMiwgOSwgNCwgMjMyLCAxMTIsIDksIDQsIDIzMiwgODcsIDksIDQsIDIzMiwgCisgICAgODUsIDksIDQsIDIzMiwgMTA0LCA5LCA0LCAyMzIsIDkyLCA5LCA0LCAyMzIsIDg5LCA5LCA0LCAyMzIsIDkwLCA5LCA0LCAKKyAgICAyMzIsIDc5LCA5LCA0LCAyMzIsIDc4LCA5LCA0LCAyMzIsIDgzLCA5LCA0LCAyMzIsIDgyLCA5LCA0LCAyMzIsIDgwLCA5LCAKKyAgICA0LCAyMzIsIDgxLCA5LCA0LCAyMTksIDIzMCwgOSwgNCwgMjE5LCAyMjgsIDksIDQsIDIxOSwgMjM3LCA5LCA0LCAyMTksIAorICAgIDIzMSwgOSwgNCwgMjE5LCAyMzQsIDksIDQsIDIxOSwgMjMzLCA5LCA0LCAyMTksIDIzNiwgOSwgNCwgMjE5LCAyMzUsIDksIAorICAgIDQsIDIxOSwgMTgxLCA5LCA0LCAyMTksIDE3OCwgOSwgNCwgMjE5LCAxODMsIDksIDQsIDIxOSwgMTgyLCA5LCA0LCAyMTksIAorICAgIDIxNywgOSwgNCwgMjE5LCAyMTYsIDksIDQsIDIxOSwgMjI2LCA5LCA0LCAyMTksIDIyMCwgOSwgNCwgMjE5LCAxNzMsIDksIAorICAgIDQsIDIxOSwgMTY5LCA5LCA0LCAyMTksIDIxNCwgOSwgNCwgMjE5LCAxNzcsIDksIDQsIDIxOSwgMTc1LCA5LCA0LCAyMTksIAorICAgIDE3NiwgOSwgNCwgMjE5LCAxNTMsIDksIDQsIDIxOSwgMTUxLCA5LCA0LCAyMTksIDE2MywgOSwgNCwgMjE5LCAxNTYsIDksIAorICAgIDQsIDIxOSwgMTU0LCA5LCA0LCAyMTksIDE1NSwgOSwgNCwgMjMyLCAxNDEsIDksIDQsIDIzMiwgMTQwLCA5LCA0LCAyMzIsIAorICAgIDE0NywgOSwgNCwgMjMyLCAxNDIsIDksIDQsIDIzMiwgMTQ0LCA5LCA0LCAyMzIsIDE0MywgOSwgNCwgMjMyLCAxNDYsIDksIAorICAgIDQsIDIzMiwgMTQ1LCA5LCA0LCAyMzIsIDEzMiwgOSwgNCwgMjMyLCAxMzQsIDksIDQsIDIzMiwgMTMzLCA5LCA0LCAyMzIsIAorICAgIDEzNywgOSwgNCwgMjMyLCAxMzYsIDksIDQsIDIzMiwgMTM5LCA5LCA0LCAyMzIsIDEzOCwgOSwgNCwgMjMyLCAxMjgsIDksIAorICAgIDQsIDIzMiwgMTI3LCA5LCA0LCAyMzIsIDEzNSwgOSwgNCwgMjMyLCAxMzEsIDksIDQsIDIzMiwgMTI5LCA5LCA0LCAyMzIsIAorICAgIDEzMCwgOSwgNCwgMjMyLCAxMjQsIDksIDQsIDIzMiwgMTIzLCA5LCA0LCAyMzIsIDEyNiwgOSwgNCwgMjMyLCAxMjUsIDksIAorICAgIDQsIDIyNCwgMTU3LCA5LCA0LCAyMjQsIDE1NiwgOSwgNCwgMjI0LCAxNjQsIDksIDQsIDIyNCwgMTU4LCA5LCA0LCAyMjQsIAorICAgIDE2MCwgOSwgNCwgMjI0LCAxNTksIDksIDQsIDIyNCwgMTYzLCA5LCA0LCAyMjQsIDE2MSwgOSwgNCwgMjI0LCAxNDYsIDksIAorICAgIDQsIDIyNCwgMTQ3LCA5LCA0LCAyMjQsIDE1MiwgOSwgNCwgMjI0LCAxNTEsIDksIDQsIDIyNCwgMTU1LCA5LCA0LCAyMjQsIAorICAgIDE1MywgOSwgNCwgMjI0LCAxNDEsIDksIDQsIDIyNCwgMTUwLCA5LCA0LCAyMjQsIDE0NSwgOSwgNCwgMjI0LCAxNDIsIDksIAorICAgIDQsIDIyNCwgMTQzLCA5LCA0LCAyMjQsIDEzNiwgOSwgNCwgMjI0LCAxMzUsIDksIDQsIDIyNCwgMTQwLCA5LCA0LCAyMjQsIAorICAgIDEzOSwgOSwgNCwgMjI0LCAxMzcsIDksIDQsIDIyNCwgMTM4LCA5LCA0LCAyMjMsIDExMywgOSwgNCwgMjIzLCAxMTIsIDksIAorICAgIDQsIDIyMywgMTI1LCA5LCA0LCAyMjMsIDExNywgOSwgNCwgMjIzLCAxMjIsIDksIDQsIDIyMywgMTIxLCA5LCA0LCAyMjMsIAorICAgIDEyNCwgOSwgNCwgMjIzLCAxMjMsIDksIDQsIDIyMywgOTgsIDksIDQsIDIyMywgMTAwLCA5LCA0LCAyMjMsIDk5LCA5LCA0LCAKKyAgICAyMjMsIDEwNSwgOSwgNCwgMjIzLCAxMDQsIDksIDQsIDIyMywgMTEwLCA5LCA0LCAyMjMsIDEwNiwgOSwgNCwgMjIzLCA5NiwgCisgICAgOSwgNCwgMjIzLCA5NCwgOSwgNCwgMjIzLCAxMDMsIDksIDQsIDIyMywgOTcsIDksIDQsIDIwNiwgMTYxLCA5LCA0LCAyMDYsIAorICAgIDE2MCwgOSwgNCwgMjA2LCAxNjksIDksIDQsIDIwNiwgMTYzLCA5LCA0LCAyMDYsIDE2NSwgOSwgNCwgMjA2LCAxNjQsIDksIAorICAgIDQsIDIwNiwgMTY3LCA5LCA0LCAyMDYsIDE2NiwgOSwgNCwgMjA2LCAxNDksIDksIDQsIDIwNiwgMTUwLCA5LCA0LCAyMDYsIAorICAgIDE1NCwgOSwgNCwgMjA2LCAxNTMsIDksIDQsIDIwNiwgMTU5LCA5LCA0LCAyMDYsIDE1NywgOSwgNCwgMjA2LCAxMjcsIDksIAorICAgIDQsIDIwNiwgMTI1LCA5LCA0LCAyMDYsIDE0MCwgOSwgNCwgMjA2LCAxMzAsIDksIDQsIDIwNiwgMTI4LCA5LCA0LCAyMDYsIAorICAgIDEyOSwgOSwgNCwgMjA1LCAyNTMsIDksIDQsIDIwNSwgMjUxLCA5LCA0LCAyMDYsIDExLCA5LCA0LCAyMDUsIDI1NCwgOSwgNCwgCisgICAgMjA2LCA1LCA5LCA0LCAyMDYsIDQsIDksIDQsIDIwNiwgOCwgOSwgNCwgMjA2LCA2LCA5LCA0LCAyMDUsIDE5MSwgOSwgNCwgCisgICAgMjA1LCAxOTAsIDksIDQsIDIwNSwgMTk0LCA5LCA0LCAyMDUsIDE5MiwgOSwgNCwgMjA1LCAyMjcsIDksIDQsIDIwNSwgMjIzLCAKKyAgICA5LCA0LCAyMDUsIDI0NywgOSwgNCwgMjA1LCAyMzEsIDksIDQsIDIwNSwgMTgyLCA5LCA0LCAyMDUsIDE3OCwgOSwgNCwgCisgICAgMjA1LCAyMTMsIDksIDQsIDIwNSwgMTg5LCA5LCA0LCAyMDUsIDE4NSwgOSwgNCwgMjA1LCAxODYsIDksIDQsIDIwNSwgMTYyLCAKKyAgICA5LCA0LCAyMDUsIDE2MSwgOSwgNCwgMjA1LCAxNjksIDksIDQsIDIwNSwgMTY1LCA5LCA0LCAyMDUsIDE2MywgOSwgNCwgCisgICAgMjA1LCAxNjQsIDksIDM3LCAyMTksIDIxNywgOSwgMzcsIDIyOSwgMjM1LCA5LCAzNywgMjMxLCA4OSwgOSwgMzcsIDIyMywgCisgICAgMTE3LCA5LCAzNywgMjQ2LCAyNDksIDksIDM3LCAyMTQsIDY0LCA5LCAzNywgMjQwLCAxMTgsIDksIDM3LCAyNDAsIDE1MCwgCisgICAgOSwgMzcsIDIyNiwgMjU0LCA5LCAzNywgMjM3LCAyNTEsIDksIDM3LCAyMjksIDM1LCA5LCAzNywgMjUwLCA2OSwgOSwgMzcsIAorICAgIDIyNiwgMTQyLCA5LCAzNywgMjA1LCAyNDcsIDksIDM3LCAyMjAsIDUyLCA5LCAzNywgMjM3LCAyNDUsIDksIDM3LCAyMTIsIAorICAgIDE1NiwgOSwgMzcsIDI0MCwgMjQ0LCA5LCAzNywgMjA1LCAxLCA5LCAzNywgMjQ2LCAyNDMsIDksIDM3LCAyNDYsIDE0LCA5LCAKKyAgICAzNywgMjQ5LCA2OCwgOSwgMzcsIDI0MCwgMTE0LCA5LCAzNywgMjIzLCAxMDYsIDksIDM3LCAyMTAsIDE3MCwgOSwgMzcsIAorICAgIDIyMiwgMTQzLCA5LCAzNywgMjMyLCAxMjgsIDksIDM3LCAyMDUsIDE1LCA5LCAzNywgMjIwLCAzMSwgOSwgMzcsIDIzOCwgCisgICAgMTkxLCA5LCAzNywgMjA1LCAyNTMsIDksIDM3LCAyMDcsIDE0NCwgOSwgMzcsIDIxNSwgODksIDksIDM3LCAyMDksIDI4LCA5LCAKKyAgICAzNywgMjA1LCAxMTYsIDksIDM3LCAyMzIsIDEyMiwgOSwgMzcsIDIyMywgNzAsIDksIDM3LCAyMzIsIDEyNiwgOSwgMzcsIAorICAgIDIzOSwgMjU0LCA5LCAzNywgMjMyLCAxNDYsIDksIDM3LCAyMDYsIDI1MCwgOSwgMzcsIDI0MywgMjM3LCA5LCAzNywgMjE1LCAKKyAgICAxMDMsIDksIDM3LCAyMjksIDIzMCwgOSwgMzcsIDI0NiwgMjU1LCA5LCAzNywgMjQ3LCAzMiwgOSwgMzcsIDI0NywgMjM1LCAKKyAgICA5LCAzNywgMjM3LCAyNDgsIDksIDM3LCAyMTUsIDIyNCwgOSwgMzcsIDIwNSwgMCwgOSwgMzcsIDIxNSwgMTQ4LCA5LCAzNywgCisgICAgMjQ4LCA4MiwgOSwgMzcsIDIwNCwgMjI2LCA5LCAzNywgMjI1LCAxNzcsIDksIDM3LCAyMzEsIDIyNCwgMjI5LCAxODUsIDEsIAorICAgIDI1MCwgMTgzLCAyMjksIDE4NSwgMSwgMTc5LCAyMjksIDE4NSwgMSwgMjIxLCA5MywgMjI5LCAxODUsIDEsIDI0NiwgMTQ1LCAKKyAgICAyMjksIDE4NSwgMSwgMjEyLCAyMTksIDIyOSwgMTg1LCAxLCAyMTIsIDU2LCAyMjksIDE4NSwgMSwgMjQwLCAyNDQsIDIyOSwgCisgICAgMTg1LCAxLCAxNzIsIDIyOSwgMTg1LCAxLCAyMzEsIDE2NywgMjI5LCAxODUsIDEsIDIzMiwgMjAwLCAyMjksIDE4NSwgMSwgCisgICAgMjQ5LCAxLCAyMjksIDE4NSwgMSwgMjQ4LCAxMTAsIDIyOSwgMTg1LCAxLCAyNDMsIDE5NiwgMjI5LCAxODUsIDEsIDIxMCwgCisgICAgMjQzLCAyMjksIDE4NSwgMSwgMjEwLCAyMzMsIDIyOSwgMTg1LCAxLCAxODUsIDIyOSwgMTg1LCAxLCAxOTksIDIyOSwgMTg1LCAKKyAgICAxLCAyMzAsIDE0MSwgMjI5LCAxODUsIDEsIDIxNywgMTk5LCAyMjksIDE4NSwgMSwgMjA1LCA4MSwgMjI5LCAxODUsIDEsIAorICAgIDIwNSwgMTE2LCAyMjksIDE4NSwgMSwgMjI1LCA3NywgMjI5LCAxODUsIDEsIDE1NSwgMjI5LCAxODUsIDEsIDIwNiwgMTgxLCAKKyAgICAyMjksIDE4NSwgMSwgMjM5LCAyMCwgMjI5LCAxODUsIDEsIDI0MiwgNzMsIDIyOSwgMTg1LCAxLCAyMDcsIDk2LCAyMjksIAorICAgIDE4NSwgMSwgMjE2LCAyLCAyMjksIDE4NSwgMSwgMTkwLCAyMjksIDE4NSwgMSwgMjQwLCA5OSwgMjI5LCAxODUsIDEsIDYyLCAKKyAgICAyMjksIDE4NSwgMSwgMjUyLCAyNDgsIDIyOSwgMTg1LCAxLCA3NSwgMjI5LCAxODUsIDEsIDI0MiwgMTkyLCAyMjksIDE4NSwgCisgICAgMSwgNzQsIDIyOSwgMTg1LCAxLCA3NiwgMjI5LCAxODUsIDEsIDcxLCAyMjksIDE4NSwgMSwgMjEwLCAzLCAyMjksIDE4NSwgCisgICAgMSwgMjA5LCAyNTMsIDIyOSwgMTg1LCAxLCAyMjIsIDIwNiwgMjI5LCAxODUsIDEsIDEzNSwgMjI2LCA0MCwgMjExLCAyMTEsIAorICAgIDIyOSwgMTg1LCAxLCAxMzUsIDIyNSwgMjM3LCAyMjAsIDIxMSwgMjI5LCAxODUsIDEsIDEzNSwgMjI2LCA0MCwgMjQ2LCAKKyAgICAyNTQsIDIyOSwgMTg1LCAxLCAxMzUsIDIyNiwgNDAsIDI0OSwgMTg0LCAyMjksIDE4NSwgMSwgMTM1LCAyMjYsIDQwLCAxOTksIAorICAgIDIyOSwgMTg1LCAxLCAxMzUsIDIyNiwgNDAsIDIzMiwgMTcxLCAyMjksIDE4NSwgMjIwLCA3MiwgMjQ3LCAxNTUsIDIyOSwgCisgICAgMTg1LCAyMjAsIDcyLCAyNDEsIDgyLCAyMTMsIDI1MSwgNDYsIDQsIDI0MywgMTA0LCA0NiwgNCwgMjQzLCAxMDAsIDQ2LCA0LCAKKyAgICAyMzksIDUzLCA0NiwgNCwgMjA3LCA0NSwgNDYsIDQsIDIwNywgNDQsIDQ2LCA0LCAyMjEsIDE2NCwgNDYsIDQsIDI0OSwgCisgICAgMjUxLCA0NiwgNCwgMjUwLCA1MCwgNDYsIDQsIDIyNywgMTQ1LCA0NiwgNCwgMjMxLCAxMCwgNDYsIDQsIDIyNywgMzAsIDQ2LCAKKyAgICA0LCAyNDAsIDE4MywgNDYsIDQsIDI0MiwgMjEsIDQ2LCA0LCAyMDksIDM0LCA0NiwgNCwgMjEyLCAxMjAsIDQ2LCA0LCAyMTIsIAorICAgIDM5LCA0NiwgNCwgMjQ1LCAxODIsIDQ2LCA0LCAyNDUsIDE3OSwgNDYsIDQsIDIzMCwgNTAsIDQ2LCA0LCAyMTksIDI5LCA0NiwgCisgICAgNCwgMjQ1LCAyNTEsIDQ2LCA0LCAyMjUsIDE0MiwgNDYsIDQsIDIxNywgNzQsIDQ2LCA0LCAyMTUsIDIxMiwgNDYsIDQsIAorICAgIDIwNSwgOTEsIDQ2LCA0LCAyMDUsIDcxLCA0NiwgNCwgMjQ4LCAxNDAsIDQ2LCA0LCAyMzIsIDE4MCwgNDYsIDQsIDIyNCwgCisgICAgMTcxLCA0NiwgNCwgMjA2LCA0OSwgNDYsIDQsIDIzMSwgMjIxLCA0NiwgNCwgMjI1LCA1MCwgNDYsIDQsIDI0MCwgMTYyLCAKKyAgICA0NiwgNCwgMjI3LCAxMDcsIDQ2LCA0LCAyMjUsIDEwNiwgNDYsIDQsIDIyMywgMTMzLCA0NiwgNCwgNzQsIDQ2LCA0LCAyMzMsIAorICAgIDY4LCA0NiwgNCwgMjM5LCAxMSwgNDYsIDQsIDIzOCwgMjQ2LCA0NiwgNCwgMjA3LCAyMCwgNDYsIDQsIDIwNywgMTEsIDQ2LCAKKyAgICA0LCAyMjEsIDUzLCA0NiwgNCwgMjQ5LCAyNDksIDQ2LCA0LCAyNDksIDI0NCwgNDYsIDQsIDIyNywgMTM4LCA0NiwgNCwgCisgICAgMjMxLCA3LCA0NiwgNCwgMjI3LCAyNywgNDYsIDQsIDI0MCwgMTc5LCA0NiwgNCwgMjQxLCAyNTAsIDQ2LCA0LCAyMDgsIAorICAgIDIxNCwgNDYsIDQsIDIxMSwgMjExLCA0NiwgNCwgMjEyLCAxOSwgNDYsIDQsIDI0NSwgMTc0LCA0NiwgNCwgMjQ1LCAxNzgsIAorICAgIDQ2LCA0LCAyMjksIDIzNSwgNDYsIDQsIDIxOCwgMjA4LCA0NiwgNCwgMjQ1LCAxNjgsIDQ2LCA0LCAyMjUsIDEzNiwgNDYsIAorICAgIDQsIDIxNSwgODAsIDQ2LCA0LCAyMTUsIDE4MywgNDYsIDQsIDIwNSwgNDAsIDQ2LCA0LCAyMDUsIDY3LCA0NiwgNCwgMjQ3LCAKKyAgICAyNTEsIDQ2LCA0LCAyMzIsIDE2MiwgNDYsIDQsIDIyNCwgMTY0LCA0NiwgNCwgMjA2LCAxMSwgNDYsIDQsIDIzMSwgMTIzLCAKKyAgICA0NiwgNCwgMjI1LCA0MiwgNDYsIDQsIDI0MCwgNjEsIDQ2LCA0LCAyMjYsIDI1NCwgNDYsIDQsIDIyNCwgMjMwLCA0NiwgNCwgCisgICAgMjIzLCAxMjUsIDQ2LCA0LCA2MiwgNDYsIDQsIDI1MiwgMTIyLCA0NiwgNCwgMjI1LCA3MiwgNDYsIDQsIDE1NSwgNDYsIDQsIAorICAgIDIzOSwgMTEwLCA0NiwgNCwgMjA3LCA5NiwgNDYsIDQsIDIwNywgODUsIDQ2LCA0LCAxNzksIDQ2LCA0LCAyNTAsIDAsIDQ2LCAKKyAgICA0LCAyNTAsIDE4MywgNDYsIDQsIDIyNywgMTUzLCA0NiwgNCwgMjMxLCAxNSwgNDYsIDQsIDIzMSwgMTMsIDQ2LCA0LCAyMjcsIAorICAgIDM0LCA0NiwgNCwgMjQwLCAxODcsIDQ2LCA0LCAyNDIsIDczLCA0NiwgNCwgMjA5LCA3MCwgNDYsIDQsIDIxMiwgMjE5LCA0NiwgCisgICAgNCwgMjEyLCA1NiwgNDYsIDQsIDI0NSwgMTkyLCA0NiwgNCwgMjQ1LCAxODEsIDQ2LCA0LCAyMzAsIDE0MSwgNDYsIDQsIAorICAgIDIxOSwgMTEzLCA0NiwgNCwgMjQ2LCAxNDUsIDQ2LCA0LCAyMjUsIDE1MSwgNDYsIDQsIDIxNywgMTk5LCA0NiwgNCwgMjE2LCAKKyAgICAyLCA0NiwgNCwgMjA1LCAxMTYsIDQ2LCA0LCAyMDUsIDgxLCA0NiwgNCwgMjQ5LCAxLCA0NiwgNCwgMjMyLCAyMDAsIDQ2LCAKKyAgICA0LCAyMjQsIDE4MCwgNDYsIDQsIDE5MCwgNDYsIDQsIDE3MiwgNDYsIDQsIDIzMiwgMjcsIDQ2LCA0LCAyMjUsIDU2LCA0NiwgCisgICAgNCwgMjQwLCAyNDQsIDQ2LCA0LCAxODUsIDQ2LCA0LCAxOTksIDQ2LCA0LCAyMjMsIDE0NCwgNDYsIDQsIDIyMiwgMTUyLCAKKyAgICA0NiwgNCwgMjIyLCAxNDcsIDQ2LCA0LCAyMzgsIDEzMSwgNDYsIDQsIDIwNiwgMjM4LCA0NiwgNCwgMjA2LCAyMzQsIDQ2LCAKKyAgICA0LCAyMjAsIDE4NywgNDYsIDQsIDI0OSwgMjQ3LCA0NiwgNCwgMjQ5LCAxNzIsIDQ2LCA0LCAyMjcsIDEzMywgNDYsIDQsIAorICAgIDIzMSwgNSwgNDYsIDQsIDIyNywgMjMsIDQ2LCA0LCAyNDAsIDE3NSwgNDYsIDQsIDI0MSwgMTUxLCA0NiwgNCwgMjA4LCAKKyAgICAxNjEsIDQ2LCA0LCAyMTEsIDEwNSwgNDYsIDQsIDIxMSwgMjQ4LCA0NiwgNCwgMjQ1LCAxNzEsIDQ2LCA0LCAyNDUsIDE3NiwgCisgICAgNDYsIDQsIDIyOSwgMTE1LCA0NiwgNCwgMjE4LCAxMDcsIDQ2LCA0LCAyNDUsIDI4LCA0NiwgNCwgMjI1LCAxMjMsIDQ2LCA0LCAKKyAgICAyMTQsIDE3NCwgNDYsIDQsIDIxNSwgMTUyLCA0NiwgNCwgMjA1LCAxNywgNDYsIDQsIDIwNSwgNjIsIDQ2LCA0LCAyNDcsIAorICAgIDEwNSwgNDYsIDQsIDIzMiwgMTEzLCA0NiwgNCwgMjI0LCAxNTQsIDQ2LCA0LCAyMDUsIDIzMiwgNDYsIDQsIDIzMSwgMzMsIAorICAgIDQ2LCA0LCAyMjUsIDQwLCA0NiwgNCwgMjQwLCA4LCA0NiwgNCwgMjI2LCAxNTAsIDQ2LCA0LCAyMjQsIDU2LCA0NiwgNCwgCisgICAgMjIzLCAxMDcsIDQ2LCA0LCA3MSwgNDYsIDQsIDIwOSwgMjM0LCA0NiwgNCwgMjM4LCA0MiwgNDYsIDQsIDIzOCwgMzEsIDQ2LCAKKyAgICA0LCAyMDYsIDIxNiwgNDYsIDQsIDIwNiwgMjA5LCA0NiwgNCwgMjIwLCA4MiwgNDYsIDQsIDI0OSwgMjQ2LCA0NiwgNCwgCisgICAgMjQ5LCAxMDEsIDQ2LCA0LCAyMjcsIDEzMiwgNDYsIDQsIDIzMSwgMywgNDYsIDQsIDIyNywgMjIsIDQ2LCA0LCAyNDAsIAorICAgIDE3NCwgNDYsIDQsIDI0MSwgODgsIDQ2LCA0LCAyMDcsIDE0OCwgNDYsIDQsIDIxMCwgMTcwLCA0NiwgNCwgMjExLCAyMzAsIAorICAgIDQ2LCA0LCAyNDUsIDE2OSwgNDYsIDQsIDI0NSwgMTc1LCA0NiwgNCwgMjI5LCA4MSwgNDYsIDQsIDIxOCwgNTAsIDQ2LCA0LCAKKyAgICAyNDMsIDIzNywgNDYsIDQsIDIyNSwgMTE4LCA0NiwgNCwgMjEzLCAyMDMsIDQ2LCA0LCAyMTUsIDExNiwgNDYsIDQsIDIwNSwgCisgICAgOSwgNDYsIDQsIDIwNSwgNTgsIDQ2LCA0LCAyNDcsIDQwLCA0NiwgNCwgMjMyLCAxMDQsIDQ2LCA0LCAyMjQsIDE1MCwgNDYsIAorICAgIDQsIDIwNSwgMjEzLCA0NiwgNCwgMjMwLCAyMzYsIDQ2LCA0LCAyMjUsIDM5LCA0NiwgNCwgMjM5LCAyMTMsIDQ2LCA0LCAKKyAgICAyMjYsIDExNCwgNDYsIDQsIDIyMywgMjE3LCA0NiwgNCwgMjIzLCAxMDMsIDQ2LCA0LCA3NiwgNDYsIDQsIDIyMiwgMTY1LCAKKyAgICA0NiwgNCwgMjI0LCAyNTQsIDQ2LCA0LCAyMzgsIDE0OSwgNDYsIDQsIDIzOCwgMTM0LCA0NiwgNCwgMjA2LCAyNTAsIDQ2LCAKKyAgICA0LCAyMDYsIDIzOSwgNDYsIDQsIDIyMCwgMjExLCA0NiwgNCwgMjQ5LCAyNDgsIDQ2LCA0LCAyNDksIDE4NCwgNDYsIDQsIAorICAgIDIyNywgMTM0LCA0NiwgNCwgMjMxLCA2LCA0NiwgNCwgMjI3LCAyNSwgNDYsIDQsIDI0MCwgMTc3LCA0NiwgNCwgMjQwLCAKKyAgICAxNzYsIDQ2LCA0LCAyNDEsIDE2MiwgNDYsIDQsIDIwOCwgMTczLCA0NiwgNCwgMTI0LCA0NiwgNCwgMjExLCAyNTMsIDQ2LCAKKyAgICA0LCAyNDUsIDE3MiwgNDYsIDQsIDI0NSwgMTc3LCA0NiwgNCwgMjI5LCAxNDQsIDQ2LCA0LCAyMTgsIDEyNCwgNDYsIDQsIAorICAgIDI0NSwgNTEsIDQ2LCA0LCAyMjUsIDEyNywgNDYsIDQsIDIxNCwgMTkzLCA0NiwgNCwgMjE1LCAxNTgsIDQ2LCA0LCAyMDUsIAorICAgIDE5LCA0NiwgNCwgMjA1LCA2NCwgNDYsIDQsIDI0NywgMTc0LCA0NiwgNCwgMjMyLCAxMjIsIDQ2LCA0LCAyMjQsIDE1NSwgCisgICAgNDYsIDQsIDIwNSwgMjQ3LCA0NiwgNCwgMjMxLCA1MywgNDYsIDQsIDIyNSwgNDEsIDQ2LCA0LCAyNDAsIDE5LCA0NiwgNCwgCisgICAgMjI2LCAxODEsIDQ2LCA0LCAyMjQsIDY3LCA0NiwgNCwgMjIzLCAxMTAsIDQ2LCA0LCA3NSwgNDYsIDQsIDI0MywgNDEsIDQ2LCAKKyAgICA0LCAyMjUsIDYxLCA0NiwgNCwgMjM5LCA3MSwgNDYsIDQsIDIzOSwgNDEsIDQ2LCA0LCAyMDcsIDUxLCA0NiwgNCwgMjA3LCAKKyAgICAzOSwgNDYsIDQsIDIyMSwgMTc0LCA0NiwgNCwgMjQ5LCAyNTIsIDQ2LCA0LCAyNTAsIDYxLCA0NiwgNCwgMjI3LCAxNDYsIAorICAgIDQ2LCA0LCAyMzEsIDExLCA0NiwgNCwgMjMxLCA5LCA0NiwgNCwgMjI3LCAzMSwgNDYsIDQsIDI0MCwgMTg0LCA0NiwgNCwgCisgICAgMjQwLCAxODIsIDQ2LCA0LCAyNDIsIDI4LCA0NiwgNCwgMjA5LCAzOSwgNDYsIDQsIDIxMiwgMTMxLCA0NiwgNCwgMjEyLCAKKyAgICA0MSwgNDYsIDQsIDI0NSwgMTgzLCA0NiwgNCwgMjQ1LCAxODAsIDQ2LCA0LCAyMzAsIDU4LCA0NiwgNCwgMjE5LCA1MSwgNDYsIAorICAgIDQsIDI0NiwgOSwgNDYsIDQsIDIyNSwgMTQzLCA0NiwgNCwgMjE3LCA4NiwgNDYsIDQsIDIxNSwgMjE0LCA0NiwgNCwgMjA1LCAKKyAgICA5MywgNDYsIDQsIDIwNSwgNzIsIDQ2LCA0LCAyNDgsIDE0OCwgNDYsIDQsIDIzMiwgMTgyLCA0NiwgNCwgMjI0LCAxNzMsIAorICAgIDQ2LCA0LCAyMDYsIDUyLCA0NiwgNCwgMjMxLCAyMjQsIDQ2LCA0LCAyMjUsIDUxLCA0NiwgNCwgMjI1LCA0NywgNDYsIDQsIAorICAgIDI0MCwgMTcwLCA0NiwgNCwgMjQwLCAxNTcsIDQ2LCA0LCAyMjcsIDExOSwgNDYsIDQsIDIyNSwgMTEwLCA0NiwgNCwgMjIzLCAKKyAgICAxMzQsIDQ2LCA0LCAyMjUsIDc5LCA0NiwgNCwgMjMwLCAxOSwgNDYsIDI0NywgMTU1LCA0NiwgMjQxLCA4MiwgMjEzLCAyNTEsIAorICAgIDQ2LCAyMTksIDE5NiwgODMsIDQ2LCA0LCAyMjUsIDEyNiwgMjQyLCA3MywgNDYsIDQsIDIyNSwgMTI2LCAxNzIsIDQ2LCA0LCAKKyAgICAyMjUsIDEyNiwgMjE0LCAxNzQsIDQ2LCAxNiwgMjQyLCAxNywgNDYsIDE2LCAyMzEsIDIxOSwgNDYsIDE2LCAyMTEsIDE3MSwgCisgICAgNDYsIDE2LCAyMjQsIDIwNSwgNDYsIDE2LCAyNTAsIDEzNSwgNDYsIDE2LCAyNDIsIDcyLCA0NiwgMTYsIDIxMiwgMjE1LCAKKyAgICA0NiwgMTYsIDI0NiwgOTgsIDQ2LCAxNiwgMjQ1LCAyNywgNDYsIDE2LCAyMzAsIDIyMCwgNDYsIDE2LCAyMTEsIDEwOSwgNDYsIAorICAgIDE2LCAyNDUsIDUwLCA0NiwgMTYsIDIzMiwgMTE0LCA0NiwgMTgsIDIwNSwgODUsIDQ2LCAxOCwgMTAyLCA0NiwgMTgsIDEwNSwgCisgICAgNDYsIDE4LCAxNDIsIDQ2LCAxOCwgMTM5LCA0NiwgMTgsIDE2OCwgNDYsIDE4LCAxODQsIDQ2LCAxOCwgMTk1LCA0NiwgMTgsIAorICAgIDE5MywgNDYsIDE4LCAyMDAsIDQ2LCA0LCAyMjUsIDEyNiwgMTg1LCA0NiwgNCwgMjI1LCAxMjYsIDI0NSwgNTEsIDM0LCA2LCAKKyAgICAxLCAyMDUsIDg5LCAzNCwgNSwgMSwgMjA1LCA4OSwgMzQsIDYsIDEsIDI0MywgMTkxLCAzNCwgNSwgMSwgMjQzLCAxOTEsIAorICAgIDM0LCA2LCAxLCAyMTgsIDIyNCwgMjQzLCAxOTMsIDM0LCA1LCAxLCAyMTgsIDIyNCwgMjQzLCAxOTMsIDM0LCA2LCAxLCAKKyAgICAyMzIsIDI0OSwgMzQsIDUsIDEsIDIzMiwgMjQ5LCAzNCwgNiwgMSwgMjQ1LCA2NywgMzQsIDUsIDEsIDI0NSwgNjcsIDM0LCAKKyAgICA2LCAxLCAyMjYsIDE1OCwgMjA5LCAyNDksIDM0LCA1LCAxLCAyMjYsIDE1OCwgMjA5LCAyNDksIDM0LCA2LCAxLCAyNDksIAorICAgIDExMiwgMjIyLCAxNzAsIDM0LCA1LCAxLCAyNDksIDExMiwgMjIyLCAxNzAsIDM0LCA2LCAxLCAyMjUsIDg4LCAyMDYsIDM0LCAKKyAgICAzNCwgNSwgMSwgMjI1LCA4OCwgMjA2LCAzNCwgMzQsIDYsIDEsIDIwNiwgMzEsIDIsIDI1MCwgMTc3LCAyMDYsIDM0LCAzNCwgCisgICAgNSwgMSwgMjA2LCAzMSwgMiwgMjUwLCAxNzcsIDIwNiwgMzQsIDM0LCA2LCAxLCAyMzIsIDI0NywgMjA2LCA2NSwgMzQsIDUsIAorICAgIDEsIDIzMiwgMjQ3LCAyMDYsIDY1LCAzNCwgNiwgMSwgMjE4LCAyMjQsIDIwNSwgMjEzLCAzNCwgNSwgMSwgMjE4LCAyMjQsIAorICAgIDIwNSwgMjEzLCAzNCwgNiwgMSwgMjMyLCAyNDcsIDYyLCAzNCwgNSwgMSwgMjMyLCAyNDcsIDYyLCAzNCwgNiwgMSwgMjQ3LCAKKyAgICAxOTIsIDIyOSwgMTgwLCAyMDUsIDE4MywgMzQsIDUsIDEsIDI0NywgMTkyLCAyMjksIDE4MCwgMjA1LCAxODMsIDM0LCA2LCAKKyAgICAxLCAyNDksIDE5NCwgMjA1LCAxODMsIDM0LCA1LCAxLCAyNDksIDE5NCwgMjA1LCAxODMsIDM0LCA2LCAxLCAyMzIsIDI0NywgCisgICAgMjQ3LCAxOTIsIDIyOSwgMTgwLCAyMDUsIDE4MywgMzQsIDUsIDEsIDIzMiwgMjQ3LCAyNDcsIDE5MiwgMjI5LCAxODAsIAorICAgIDIwNSwgMTgzLCAzNCwgNiwgMSwgMjA1LCAyNDksIDM0LCA1LCAxLCAyMDUsIDI0OSwgMzQsIDYsIDEsIDIxOCwgMjI0LCAKKyAgICAyMTAsIDIzNywgMzQsIDUsIDEsIDIxOCwgMjI0LCAyMTAsIDIzNywgMzQsIDYsIDEsIDIxNCwgMTg3LCAyNDYsIDksIDM0LCAKKyAgICA1LCAxLCAyMTQsIDE4NywgMjQ2LCA5LCAzNCwgNiwgMSwgMjE0LCAxODcsIDI0MywgNjgsIDM0LCA1LCAxLCAyMTQsIDE4NywgCisgICAgMjQzLCA2OCwgMzQsIDYsIDEsIDIxNCwgMTg3LCAyNDMsIDUwLCAzNCwgNSwgMSwgMjE0LCAxODcsIDI0MywgNTAsIDM0LCA2LCAKKyAgICAxLCAyMjYsIDE2MiwgNzYsIDM0LCA1LCAxLCAyMjYsIDE2MiwgNzYsIDM0LCA2LCAxLCAyNDksIDIyMSwgNzYsIDM0LCA1LCAKKyAgICAxLCAyNDksIDIyMSwgNzYsIDM0LCA2LCAxLCA1MCwgMjI2LCAxNjIsIDc2LCAzNCwgNSwgMSwgNTAsIDIyNiwgMTYyLCA3NiwgCisgICAgMzQsIDEsIDIyNiwgOTYsIDc2LCAzNiwgMzQsIDIwNywgMTMxLCAzNiwgMzQsIDIxMiwgOTksIDIyNiwgMjEzLCA1MywgMzYsIAorICAgIDM0LCAyMzgsIDMwLCAyMjYsIDIxMywgNTMsIDM2LCAzNCwgMjExLCAyNDMsIDIyNiwgMjEzLCA1MywgMjE0LCAyMzMsIDI1MSwgCisgICAgMjA5LCAzNiwgMzQsIDEsIDIwOSwgMjQ2LCAyMzMsIDEyOSwgMzYsIDM0LCAxLCA3NCwgMzYsIDM0LCAxLCAyMDYsIDExLCAKKyAgICAzNiwgMzQsIDEsIDcxLCAzNiwgMzQsIDEsIDIzOSwgOTQsIDUzLCAzNiwgMzQsIDEsIDIwNiwgMzAsIDM2LCAzNCwgMSwgCisgICAgMjE0LCAxODcsIDUzLCAzNiwgMzQsIDEsIDIyMiwgMTcwLCAzNiwgMzQsIDIzMSwgMjM2LCAzNiwgMzQsIDIyMSwgMTgxLCAKKyAgICAzNCwgMjMxLCAyMzYsIDM0LCAyMjEsIDE4MSwgMzQsIDYsIDEsIDI0MywgMjA1LCAzNCwgNSwgMSwgMjQzLCAyMDUsIDM0LCAKKyAgICA2LCAxLCAyNDMsIDE4MiwgMzQsIDUsIDEsIDI0MywgMTgyLCAzNCwgNiwgMSwgMjA1LCA0OCwgMzQsIDUsIDEsIDIwNSwgNDgsIAorICAgIDM0LCA2LCAxLCAyNDgsIDE2NCwgMzQsIDUsIDEsIDI0OCwgMTY0LCAzNCwgNiwgMSwgMjQzLCAxNzksIDM0LCA1LCAxLCAKKyAgICAyNDMsIDE3OSwgMzQsIDYsIDEsIDIxMiwgMTMyLCAyLCAyMjYsIDI0NywgMTA5LCAzNCwgNSwgMSwgMjEyLCAxMzIsIDIsIAorICAgIDIyNiwgMjQ3LCAxMDksIDM0LCA2LCAxLCAyMTAsIDEyOCwgMzQsIDUsIDEsIDIxMCwgMTI4LCAzNCwgNiwgMSwgMjEwLCAKKyAgICAyMTIsIDM0LCA1LCAxLCAyMTAsIDIxMiwgMzQsIDYsIDEsIDIxMCwgMjE3LCAzNCwgNSwgMSwgMjEwLCAyMTcsIDM0LCA2LCAKKyAgICAxLCAyMTIsIDEzNywgMzQsIDUsIDEsIDIxMiwgMTM3LCAzNCwgNiwgMSwgMjM4LCAxMywgMzQsIDUsIDEsIDIzOCwgMTMsIAorICAgIDM0LCA2LCAxLCAyMTUsIDk1LCAzNCwgNSwgMSwgMjE1LCA5NSwgMzQsIDYsIDEsIDUwLCA3NiwgMzQsIDUsIDEsIDUwLCA3NiwgCisgICAgMzQsIDYsIDEsIDI0NywgNTcsIDc2LCAzNCwgNSwgMSwgMjQ3LCA1NywgNzYsIDY1LCAxLCAzNCwgMjM5LCA5NCwgNTMsIDY1LCAKKyAgICAxLCAzNCwgMjE0LCAxODcsIDUzLCAzNiwgMzQsIDEsIDIzMiwgMjQ3LCA3NSwgMjEsIDEsIDYyLCAyMSwgMSwgMTcyLCAyMSwgCisgICAgMSwgNzEsIDIxLCAxLCAyMzAsIDIzNiwgMjEsIDEsIDI0MywgMTA0LCAyMSwgMSwgMjE5LCAyOSwgMjEsIDEsIDIxMiwgMjAwLCAKKyAgICAyMSwgMSwgNzYsIDIxLCAxLCAyMjMsIDEyNSwgMjEsIDEsIDc0LCAyMSwgMSwgMjMwLCAxNDEsIDIxLCAxLCAxNzksIDIxLCAKKyAgICAxLCAyMTgsIDE1NCwgMjEsIDEsIDIxOCwgMjAxLCAyMSwgMSwgMjMwLCA0OSwgMjEsIDEsIDIyNywgMTA2LCAyMSwgMSwgCisgICAgMjEyLCAyMTUsIDIxLCAxLCAyMjUsIDE0OSwgMjEsIDEsIDIyNCwgMTc4LCAyMSwgMSwgMjI5LCAyOCwgMjEsIDEsIDIxMywgCisgICAgMTE5LCAyMSwgMSwgMjI2LCAxMTQsIDIxLCAxLCAyMTUsIDE3OCwgMjEsIDEsIDIxNSwgODAsIDIxLCAxLCAyMTUsIDE4OCwgCisgICAgMjEsIDEsIDIxNiwgMjQsIDIxLCAxLCAyMzAsIDE2NSwgMjEsIDEsIDIzMSwgMTkzLCAyMSwgMSwgMjIzLCAxODgsIDIxLCAxLCAKKyAgICAyMjMsIDIxNywgMjEsIDEsIDIyNCwgMTQ5LCAyMSwgMSwgMjA1LCAyMjksIDIxLCAxLCAyMTUsIDExNiwgMjEsIDEsIDIwNSwgCisgICAgMTg3LCAyMSwgMSwgMTkwLCAyMSwgMSwgMjIzLCAyNTEsIDIxLCAxLCAyMzEsIDE3OSwgMjEsIDEsIDIyMSwgOTcsIDIxLCAxLCAKKyAgICAyMjQsIDE3MSwgMjEsIDEsIDIyMywgMjMyLCAyMSwgMSwgMjIwLCA3NSwgMjEsIDEsIDIwNiwgMjEzLCAyMSwgMSwgMjIxLCAKKyAgICAxNjQsIDIxLCAxLCAyNDIsIDIxLCAyMSwgMSwgMjE4LCA1MCwgMjEsIDEsIDIyOSwgODEsIDIxLCAxLCAyMjYsIDI1NCwgMjEsIAorICAgIDEsIDIyNCwgMjMwLCAyMSwgMSwgMjE4LCAyMjYsIDIxLCAxLCAyMTksIDk1LCAyMSwgMSwgMjMxLCAyMDMsIDIxLCAxLCAKKyAgICAyMjUsIDUsIDIxLCAxLCAyMjUsIDU2LCAyMSwgMSwgMjI1LCA3NywgMjEsIDEsIDIxNSwgMTU4LCAyMSwgMSwgMjIwLCA3OSwgCisgICAgMjEsIDEsIDI0MSwgODgsIDIxLCAxLCAyNDEsIDE1NSwgMjEsIDEsIDIwNywgOTYsIDIxLCAxLCAxOTksIDIxLCAxLCAyMjksIAorICAgIDIzNSwgMjEsIDEsIDIyMSwgNTMsIDIxLCAxLCAyMjksIDEwNywgMjEsIDEsIDIzMSwgNTMsIDIxLCAxLCAyMjcsIDE0MywgCisgICAgMjEsIDEsIDIxOSwgMiwgMjEsIDEsIDIyNywgODMsIDIxLCAxLCAxODUsIDIxLCAxLCAyMTEsIDIxMSwgMjEsIDEsIDIzMSwgCisgICAgMTIzLCAyMSwgMSwgMjI2LCAxODEsIDIxLCAxLCAyMjcsIDE1MSwgMjEsIDEsIDIxMiwgODAsIDIxLCAxLCAyMzEsIDE1LCAKKyAgICAyMSwgMSwgMjEyLCA5OCwgMjEsIDEsIDIyMywgMjE5LCAyMSwgMSwgMjE3LCAxNTksIDIxLCAxLCAyNDIsIDY5LCAyMSwgMSwgCisgICAgMjMxLCAxNywgMjEsIDEsIDIzMSwgNDgsIDIxLCAzNiwgMTQxLCAyMzEsIDI2LCAyMSwgMzYsIDE0MSwgMjEwLCAxNjEsIDIxLCAKKyAgICAyMjQsIDE3NywgMjEsIDI0MSwgODIsIDIxMywgMjUxLCAyMSwgMjQ3LCAxNjIsIDIxLCAyNDcsIDE1NSwgMjEsIDIxNiwgNTIsIAorICAgIDIxLCAyMTksIDE5NiwgODMsIDY1LCAxLCAyNDgsIDQ0LCAxMzUsIDIwNiwgMSwgMjIxLCA1LCA2NSwgMSwgMjQ4LCA0NCwgCisgICAgMTM1LCAyMDYsIDc2LCAyMjEsIDUsIDY1LCAxLCAyNDgsIDQ0LCAxMzUsIDIwNiwgMSwgMjE1LCAyMzYsIDY1LCAxLCAyNDgsIAorICAgIDQ0LCAxMzUsIDIwNiwgNzYsIDIxNSwgMjM2LCA2NSwgMSwgMjQ4LCA0NCwgMTM1LCAyMDYsIDEsIDIxOSwgMjE0LCA2NSwgMSwgCisgICAgMjQ4LCA0NCwgMTM1LCAyMDYsIDc2LCAyMTksIDIxNCwgNjUsIDEsIDI0OCwgNDQsIDEzNSwgMjA2LCAxLCAyMTgsIDUwLCAKKyAgICA2NSwgMSwgMjQ4LCA0NCwgMTM1LCAyMDYsIDc2LCAyMTgsIDUwLCA2NSwgMSwgMjQyLCAxNTYsIDI0NCwgMjEsIDEzNSwgCisgICAgMTM0LCA2NSwgMSwgMTI3LCAyNDQsIDIxLCAxMzUsIDEzNCwgNjUsIDEsIDIyNiwgMjQ5LCAyNDQsIDIxLCAxMzUsIDEzNCwgCisgICAgNjUsIDEsIDExNCwgMjQ0LCAyMSwgMTM1LCAxMzQsIDY1LCAxLCAyNDIsIDE1NSwgMjQ0LCAyMSwgMTM1LCAxMzQsIDY1LCAxLCAKKyAgICAyNDIsIDE1NiwgMjQ0LCAyMSwgMjMwLCAzOCwgMTM1LCAxMzQsIDY1LCAxLCAxMjcsIDI0NCwgMjEsIDIzMCwgMzgsIDEzNSwgCisgICAgMTM0LCA2NSwgMSwgMjI2LCAyNDksIDI0NCwgMjEsIDIzMCwgMzgsIDEzNSwgMTM0LCA2NSwgMSwgMTE0LCAyNDQsIDIxLCAKKyAgICAyMzAsIDM4LCAxMzUsIDEzNCwgNjUsIDEsIDI0MiwgMTU1LCAyNDQsIDIxLCAyMzAsIDM4LCAxMzUsIDEzNCwgNjUsIDEsIAorICAgIDI0MiwgMTU2LCAyMzAsIDM4LCAxMzUsIDEzNCwgNjUsIDEsIDEyNywgMjMwLCAzOCwgMTM1LCAxMzQsIDY1LCAxLCAyMjYsIAorICAgIDI0OSwgMjMwLCAzOCwgMTM1LCAxMzQsIDY1LCAxLCAxMTQsIDIzMCwgMzgsIDEzNSwgMTM0LCA2NSwgMSwgMjQyLCAxNTUsIAorICAgIDIzMCwgMzgsIDEzNSwgMTM0LCA2NSwgMSwgNjcsIDc5LCAxMzQsIDY1LCAxLCA2NywgMjE0LCAyMzUsIDY1LCAxLCA2NywgCisgICAgMTk0LCAxMzQsIDY1LCAxLCAyMjksIDkyLCA0OCwgMjQ3LCA5MiwgMjUyLCAxMDgsIDY1LCAxLCAyMTksIDgxLCAxMjAsIDQ1LCAKKyAgICA2NSwgMSwgMjE5LCA4MSwgMTMwLCA0NSwgNjUsIDEsIDIxOSwgODEsIDI0MiwgMTY4LCA4MywgNjUsIDEsIDIxOSwgODEsIAorICAgIDIzMywgMiwgMjQyLCAxNjgsIDgzLCA2NSwgMSwgMTE0LCAyMzMsIDIsIDI0MiwgMTY4LCA4MywgNjUsIDEsIDIxMywgMjMzLCAKKyAgICAyMywgMTI3LCAyMTEsIDExOCwgNjUsIDEsIDIxMywgMjMzLCAyMywgMTE0LCAyMTEsIDExOCwgNywgNiwgMSwgMjQzLCA5NCwgCisgICAgMjUyLCAxNzIsIDcsIDUsIDEsIDI0MywgOTQsIDI1MiwgMTcyLCA3LCA2LCAxLCAyNDMsIDk0LCAyNTIsIDIwMCwgNywgNSwgCisgICAgMSwgMjQzLCA5NCwgMjUyLCAyMDAsIDcsIDYsIDEsIDIzOSwgMzksIDcsIDUsIDEsIDIzOSwgMzksIDcsIDYsIDEsIDIxMCwgCisgICAgODYsIDcsIDUsIDEsIDIxMCwgODYsIDcsIDYsIDEsIDIxMSwgNTUsIDcsIDUsIDEsIDIxMSwgNTUsIDcsIDYsIDEsIDI0NywgCisgICAgMzcsIDcsIDUsIDEsIDI0NywgMzcsIDcsIDYsIDEsIDI0NywgMzgsIDIsIDI0NywgMTU1LCA3LCA1LCAxLCAyNDcsIDM4LCAyLCAKKyAgICAyNDcsIDE1NSwgNywgMSwgNSwgNiwgMjQyLCAxMzksIDcsIDEsIDUsIDYsIDE4MiwgNywgNiwgMSwgMjUzLCAxNjQsIDcsIDUsIAorICAgIDEsIDI1MywgMTY0LCA3LCA2LCAxLCAyNTIsIDcxLCA3LCA1LCAxLCAyNTIsIDcxLCA3LCA2LCAxLCAyNTEsIDE4NCwgNywgNSwgCisgICAgMSwgMjUxLCAxODQsIDcsIDYsIDEsIDI1MSwgMTY4LCA3LCA1LCAxLCAyNTEsIDE2OCwgNywgNiwgMSwgMjUxLCAxNjksIDIsIAorICAgIDE5NCwgMTM0LCA3LCA1LCAxLCAyNTEsIDE2OSwgMiwgMTk0LCAxMzQsIDcsIDYsIDEsIDI1MSwgMTU5LCA3LCA1LCAxLCAKKyAgICAyNTEsIDE1OSwgNywgNiwgMSwgMjE4LCAyMjQsIDI0OSwgMzUsIDIsIDI0NSwgMjMsIDcsIDUsIDEsIDIxOCwgMjI0LCAyNDksIAorICAgIDM1LCAyLCAyNDUsIDIzLCA3LCA2LCAxLCAyMzIsIDc3LCAyLCA5MSwgNywgNSwgMSwgMjMyLCA3NywgMiwgOTEsIDcsIDYsIAorICAgIDEsIDIzMiwgNzcsIDIsIDI0NSwgMTYzLCA5MSwgNywgNSwgMSwgMjMyLCA3NywgMiwgMjQ1LCAxNjMsIDkxLCA3LCA2LCAxLCAKKyAgICAyMzIsIDc3LCAyLCAyMTMsIDIyNSwgMjMsIDI0NSwgMTYzLCA5MSwgNywgNSwgMSwgMjMyLCA3NywgMiwgMjEzLCAyMjUsIAorICAgIDIzLCAyNDUsIDE2MywgOTEsIDcsIDYsIDEsIDI0OSwgMTExLCAxNDksIDcsIDUsIDEsIDI0OSwgMTExLCAxNDksIDcsIDYsIAorICAgIDEsIDIzMCwgMTU5LCAyLCAxMjcsIDkxLCA3LCA1LCAxLCAyMzAsIDE1OSwgMiwgMTI3LCA5MSwgNywgNiwgMSwgMTQ4LCAyLCAKKyAgICAxNTIsIDIxMywgMjI1LCAyMjIsIDgyLCA3LCA1LCAxLCAxNDgsIDIsIDE1MiwgMjEzLCAyMjUsIDIyMiwgODIsIDcsIDYsIDEsIAorICAgIDE0OCwgMiwgMjI5LCAxMTEsIDcsIDUsIDEsIDE0OCwgMiwgMjI5LCAxMTEsIDcsIDYsIDEsIDIyMiwgMTUyLCA3LCA1LCAxLCAKKyAgICAyMjIsIDE1MiwgNywgNiwgMSwgMjIyLCA2OCwgMiwgMjEzLCAyMjUsIDIxMSwgMjMzLCAyNDUsIDIxMSwgNywgNSwgMSwgCisgICAgMjIyLCA2OCwgMiwgMjEzLCAyMjUsIDIxMSwgMjMzLCAyNDUsIDIxMSwgNywgNiwgMSwgMjIyLCA2OCwgMiwgMjQxLCAxNzQsIAorICAgIDcsIDUsIDEsIDIyMiwgNjgsIDIsIDI0MSwgMTc0LCA3LCA2LCAxLCAyMjIsIDY4LCAyLCAyMTQsIDEwMiwgMjEyLCAxOTEsIAorICAgIDcsIDUsIDEsIDIyMiwgNjgsIDIsIDIxNCwgMTAyLCAyMTIsIDE5MSwgNywgNiwgMSwgMjIwLCAyOCwgMiwgMjEzLCAyMjUsIAorICAgIDIxMSwgMjMzLCAyNDUsIDIxMSwgNywgNSwgMSwgMjIwLCAyOCwgMiwgMjEzLCAyMjUsIDIxMSwgMjMzLCAyNDUsIDIxMSwgNywgCisgICAgNiwgMSwgMjIwLCAyOCwgMiwgMjQ1LCAxNjMsIDkxLCA3LCA1LCAxLCAyMjAsIDI4LCAyLCAyNDUsIDE2MywgOTEsIDcsIDYsIAorICAgIDEsIDIxOSwgMTUwLCAyMTgsIDk2LCA3LCA1LCAxLCAyMTksIDE1MCwgMjE4LCA5NiwgNywgNiwgMSwgMjE4LCAzOSwgMjE4LCAKKyAgICA5NiwgNywgNSwgMSwgMjE4LCAzOSwgMjE4LCA5NiwgNywgNiwgMSwgMjA5LCAxNDksIDIsIDI0NSwgMTYzLCA5MSwgNywgNSwgCisgICAgMSwgMjA5LCAxNDksIDIsIDI0NSwgMTYzLCA5MSwgNywgNiwgMSwgMjA3LCAxMzcsIDcsIDUsIDEsIDIwNywgMTM3LCA3LCA2LCAKKyAgICAxLCAyMDgsIDE4MSwgMjA1LCAxNTksIDcsIDUsIDEsIDIwOCwgMTgxLCAyMDUsIDE1OSwgNywgNiwgMSwgMjExLCAyNDcsIDIsIAorICAgIDkxLCA3LCA1LCAxLCAyMTEsIDI0NywgMiwgOTEsIDcsIDYsIDEsIDIxMSwgMjQ3LCAyLCAyMTMsIDIyNSwgMjExLCAyMzMsIAorICAgIDI0NSwgMjExLCA3LCA1LCAxLCAyMTEsIDI0NywgMiwgMjEzLCAyMjUsIDIxMSwgMjMzLCAyNDUsIDIxMSwgNywgNiwgMSwgCisgICAgMjA5LCAyOSwgNywgNSwgMSwgMjA5LCAyOSwgNywgNiwgMSwgMjQyLCAyMDMsIDcsIDUsIDEsIDI0MiwgMjAzLCA3LCA2LCAxLCAKKyAgICAyMzIsIDIzNCwgNywgNSwgMSwgMjMyLCAyMzQsIDcsIDYsIDEsIDI0NywgMTQwLCA3LCA1LCAxLCAyNDcsIDE0MCwgNjUsIDEsIAorICAgIDIwOSwgMTc3LCA3LCA1LCAxLCAyNDMsIDIyOCwgNywgNSwgMSwgMjI5LCA2NSwgNywgNSwgMSwgMjI2LCA5MCwgNywgNSwgMSwgCisgICAgMjIzLCAxODAsIDcsIDUsIDEsIDIxOCwgMzgsIDcsIDEsIDUsIDYsIDIxOCwgMzgsIDcsIDUsIDEsIDIxMCwgMTU5LCA3LCA1LCAKKyAgICAxLCAyMDksIDI0MSwgNywgNiwgMSwgMjMzLCAyMywgMjQ2LCAyNDAsIDcsIDUsIDEsIDIzMywgMjMsIDI0NiwgMjQwLCA3LCAKKyAgICA2LCAxLCAyMzMsIDIzLCAyNDIsIDEzOSwgNywgNSwgMSwgMjMzLCAyMywgMjQyLCAxMzksIDcsIDYsIDEsIDIzMywgMjMsIAorICAgIDI0MSwgNTUsIDcsIDYsIDEsIDIwMSwgMjMzLCAyMywgMjQxLCA1NSwgNywgNSwgMSwgMjAxLCAyMzMsIDIzLCAyNDEsIDU1LCAKKyAgICA3LCA2LCAxLCAyMDEsIDE0OSwgNywgNSwgMSwgMjAxLCAxNDksIDcsIDYsIDEsIDIzMywgMjMsIDEzNywgNywgNSwgMSwgCisgICAgMjMzLCAyMywgMTM3LCA3LCA2LCAxLCAyMzMsIDIzLCAxODIsIDcsIDUsIDEsIDIzMywgMjMsIDE4MiwgNywgNiwgMSwgMjMzLCAKKyAgICAyMywgMjEzLCAxMCwgNywgNSwgMSwgMjMzLCAyMywgMjEzLCAxMCwgNjUsIDEsIDExNCwgMjQ3LCAyMjgsIDI1MywgMjEsIAorICAgIDY1LCAxLCAyNDcsIDE2MiwgNjUsIDEsIDIxNSwgMTQ0LCAyNDIsIDI0MiwgNTMsIDcsIDYsIDEsIDIxNywgMTYzLCA3LCA1LCAKKyAgICAxLCAyMTcsIDE2MywgNywgNiwgMSwgMjAxLCAyMzksIDE1NSwgNywgNSwgMSwgMjMwLCAxNTksIDIsIDIxOCwgMjMwLCAyMzgsIAorICAgIDEzMCwgMjMsIDI1MCwgMjQsIDcsIDYsIDEsIDIyNiwgMzQsIDIsIDI0NSwgMjExLCA3LCA1LCAxLCAyMjYsIDM0LCAyLCAKKyAgICAyNDUsIDIxMSwgNywgNiwgMSwgMjQ5LCAzNSwgMiwgMTM0LCA3LCA1LCAxLCAyNDksIDM1LCAyLCAxMzQsIDcsIDUsIDEsIAorICAgIDI0OSwgMzUsIDIsIDIyMiwgMjYsIDEwOSwgNywgNSwgMSwgMjM5LCAxNTYsIDIsIDIyMiwgMjYsIDEwOSwgNywgNiwgMSwgCisgICAgNjMsIDIsIDI0MSwgMTc0LCA3LCA1LCAxLCA2MywgMiwgMjQxLCAxNzQsIDcsIDYsIDEsIDI0MiwgMTQwLCAyLCA5MSwgNywgCisgICAgNSwgMSwgMjQyLCAxNDAsIDIsIDkxLCA3LCA2LCAxLCAyMDgsIDE2NiwgMjUyLCAyNDgsIDcsIDUsIDEsIDIwOCwgMTY2LCAKKyAgICAyNTIsIDI0OCwgNywgNiwgMSwgMjA4LCAxNjYsIDIyMiwgMjA2LCA3LCA1LCAxLCAyMDgsIDE2NiwgMjIyLCAyMDYsIDcsIDYsIAorICAgIDEsIDIwOCwgMTY2LCAyMTAsIDMsIDcsIDUsIDEsIDIwOCwgMTY2LCAyMTAsIDMsIDcsIDYsIDEsIDI0MSwgNTYsIDIsIDIyMiwgCisgICAgMjIyLCA5MSwgNywgNSwgMSwgMjQxLCA1NiwgMiwgMjIyLCAyMjIsIDkxLCA3LCA2LCAxLCAyMzIsIDc3LCAyLCAyMjIsIAorICAgIDIyMiwgOTEsIDcsIDUsIDEsIDIzMiwgNzcsIDIsIDIyMiwgMjIyLCA5MSwgNywgNiwgMSwgMjI2LCAzNCwgMiwgMjIyLCAKKyAgICAyMjIsIDkxLCA3LCA1LCAxLCAyMjYsIDM0LCAyLCAyMjIsIDIyMiwgOTEsIDcsIDYsIDEsIDIxOSwgMTUwLCAyLCAyMjIsIAorICAgIDIyMiwgOTEsIDcsIDUsIDEsIDIxOSwgMTUwLCAyLCAyMjIsIDIyMiwgOTEsIDcsIDYsIDEsIDIxOCwgMSwgMiwgMjIyLCAKKyAgICAyMjIsIDkxLCA3LCA1LCAxLCAyMTgsIDEsIDIsIDIyMiwgMjIyLCA5MSwgNywgNiwgMSwgMjM5LCAxNTYsIDIsIDEwOSwgNywgCisgICAgNiwgMSwgMjE4LCAyMjQsIDIyMiwgMTQyLCA3NSwgNywgNiwgMSwgMTIxLCAyNDEsIDU1LCA3LCA2LCAxLCAyMzAsIDE1OSwgCisgICAgMiwgMjUwLCAyNCwgNywgNiwgMSwgMjAxLCAyMzIsIDc2LCA3LCA2LCAxLCAyMDEsIDIxMywgMTAsIDcsIDI0MiwgMjQ3LCAxLCAKKyAgICAyMTUsIDczLCA3NCwgNjUsIDEsIDYsIDIzOSwgMTU2LCAyLCA5MSwgNjUsIDEsIDUsIDI4LCAyMjIsIDIwNiwgNywgMSwgNSwgCisgICAgNiwgMjAxLCAyMjksIDI4LCA3LCAyNDIsIDI0NywgMSwgMjE4LCAyMjQsIDI0MiwgMTM5LCA3LCAyNDIsIDI0NywgMSwgMjE4LCAKKyAgICAyMjQsIDIyMiwgNjcsIDcsIDI0MiwgMjQ3LCAxLCAyMzMsIDIsIDIyOSwgMjgsIDcsIDI0MiwgMjQ3LCAxLCAyMzcsIDIyNSwgCisgICAgMjI5LCAxMTcsIDcsIDI0MiwgMjQ3LCAxLCAyNTIsIDE5LCAyMjksIDI4LCAyMTMsIDg5LCAyMjUsIDIyMCwgMSwgNjIsIAorICAgIDIxMywgODksIDIyNSwgMjIwLCAxLCA3NCwgMjEzLCA4OSwgMjI1LCAyMjAsIDMsIDI0MywgMjA3LCAyMTMsIDg5LCAyMjUsIAorICAgIDIyMCwgMSwgNzEsIDIxMywgODksIDIyNSwgMjIwLCAxLCA3NSwgMjEzLCA4OSwgMjI1LCAyMjAsIDEsIDc2LCAyMTMsIDg5LCAKKyAgICAyMjUsIDIyMCwgMywgMjM5LCA4OCwgMjEzLCA4OSwgMjI1LCAyMjAsIDEsIDIzMSwgNTMsIDIxMywgODksIDIyNSwgMjIwLCAKKyAgICAxLCAyMzEsIDEzOCwgMjEzLCA4OSwgMjI1LCAyMjAsIDEsIDI0MCwgMTksIDIxMywgODksIDIyNSwgMjIwLCAxLCAyNDAsIAorICAgIDcxLCAyMTMsIDg5LCAyMjUsIDIyMCwgMywgMjUyLCA3MywgMjEzLCA4OSwgMjI1LCAyMjAsIDEsIDI0NywgMTc0LCAyMTMsIAorICAgIDg5LCAyMjUsIDIyMCwgMSwgMjQ4LCAzMiwgMjEzLCA4OSwgMjI1LCAyMjAsIDEsIDIzMiwgMTIyLCAyMTMsIDg5LCAyMjUsIAorICAgIDIyMCwgMSwgMjMyLCAxNjQsIDIxMywgODksIDIyNSwgMjIwLCAxLCAyMTAsIDE4NSwgMjEzLCA4OSwgMjI1LCAyMjAsIDEsIAorICAgIDIxMCwgMTkxLCAyMTMsIDg5LCAyMjUsIDIyMCwgMSwgMjQ2LCAyNCwgMjEzLCA4OSwgMjI1LCAyMjAsIDEsIDI0NiwgMzMsIAorICAgIDIxMywgODksIDIyNSwgMjIwLCAxLCAxMjQsIDIxMywgODksIDIyNSwgMjIwLCAxLCAyMTEsIDI1MywgMjEzLCA4OSwgMjI1LCAKKyAgICAyMjAsIDEsIDI0NSwgNTEsIDIxMywgODksIDIyNSwgMjIwLCAxLCAyNDUsIDE3MiwgMjEzLCA4OSwgMjI1LCAyMjAsIDEsIAorICAgIDIyNCwgNjcsIDIxMywgODksIDIyNSwgMjIwLCAxLCAyMjAsIDIxMSwgMjEzLCA4OSwgMjI1LCAyMjAsIDEsIDIyMSwgNjYsIAorICAgIDIxMywgODksIDIyNSwgMjIwLCAxLCAyNDksIDE4NCwgMjEzLCA4OSwgMjI1LCAyMjAsIDEsIDI0OSwgMjQ4LCAyMTMsIDg5LCAKKyAgICAyMjUsIDIyMCwgMSwgMjI2LCAxODEsIDIxMywgODksIDIyNSwgMjIwLCAxLCAyMTgsIDEyNCwgMjEzLCA4OSwgMjI1LCAyMjAsIAorICAgIDEsIDIyOSwgMTQ0LCAyMTMsIDg5LCAyMjUsIDIyMCwgMSwgMjE4LCA3NSwgMjEzLCA4OSwgMjI1LCAyMjAsIDEsIDIxNCwgCisgICAgMTkzLCAyMTMsIDg5LCAyMjUsIDIyMCwgMSwgMjM4LCAxNDksIDIxMywgODksIDIyNSwgMjIwLCAyMiwgMywgNjIsIDIxMywgCisgICAgODksIDIyNSwgMjIwLCAyMiwgMywgNzQsIDIxMywgODksIDIyNSwgMjIwLCAyMiwgMywgNzEsIDIxMywgODksIDIyNSwgMjIwLCAKKyAgICAyMiwgMywgNzUsIDIxMywgODksIDIyNSwgMjIwLCAyMiwgMywgMjIyLCAxNTIsIDIxMywgODksIDIyNSwgMjIwLCAyMjAsIAorICAgIDIwNiwgMjI3LCAxOTEsIDIxMywgODksIDIyNSwgMjIwLCAyMjAsIDIwNiwgMjI3LCAxOTAsIDIxMywgODksIDIyNSwgMjIwLCAKKyAgICAyMjAsIDIwNiwgMjI3LCAxODksIDIxMywgODksIDIyNSwgMjIwLCAyMjAsIDIwNiwgMjI3LCAxODgsIDE0MywgMjMzLCA1MSwgCisgICAgMjQxLCAxMTYsIDExOSwgMjE5LCAyMDQsIDE0MywgMjMzLCA1MSwgMjQxLCAxMTYsIDExOSwgMjM5LCAxMjEsIDE0MywgMjMzLCAKKyAgICA1MSwgMjQxLCAxMTYsIDEyOSwgMjE5LCAyMDIsIDE0MywgMjMzLCA1MSwgMjQxLCAxMTYsIDExOSwgMjE1LCAyLCAxNDMsIAorICAgIDIzMywgNTEsIDI0MSwgMTE2LCAxMTksIDI0MywgODMsIDE0MywgMjMzLCA1MSwgMjQxLCAxMTYsIDEyOSwgMjE1LCAxLCAKKyAgICAxNDMsIDIzMywgNTEsIDIxOSwgMjA1LCA4MywgMTQzLCAyMzMsIDUxLCAyMjAsIDIzOCwgODMsIDE0MywgMjMzLCA1MSwgCisgICAgMjE4LCAyNywgODMsIDE0MywgMjMzLCA1MSwgMjE5LCAyMDYsIDgzLCAyMjEsIDg5LCAxLCAxNzIsIDIyMSwgODksIDEsIAorICAgIDIzMSwgMTY3LCAyMjEsIDg5LCAxLCAyNDAsIDI0NCwgMjIxLCA4OSwgMSwgMjI1LCA3NywgMjIxLCA4OSwgMSwgMjQ5LCAxLCAKKyAgICAyMjEsIDg5LCAxLCAyNDgsIDExMCwgMjIxLCA4OSwgMSwgMjMyLCAyMDAsIDIyMSwgODksIDEsIDIyMywgMTQ0LCAyMjEsIAorICAgIDg5LCAxLCAyMTIsIDIxOSwgMjIxLCA4OSwgMSwgMjEyLCA1NiwgMjIxLCA4OSwgMSwgMjQ2LCAxNDUsIDIyMSwgODksIDEsIAorICAgIDE5OSwgMjIxLCA4OSwgMSwgMTc5LCAyMjEsIDg5LCAxLCAyMjEsIDkzLCAyMjEsIDg5LCAxLCAyNTAsIDE4MywgMjIxLCA4OSwgCisgICAgMSwgMTg1LCAyMjEsIDg5LCAxLCAyMTAsIDI0MywgMjIxLCA4OSwgMSwgMjEwLCAyMzMsIDIyMSwgODksIDEsIDI0MywgMTk2LCAKKyAgICAyMjEsIDg5LCAxLCAyMDcsIDk2LCAyMjEsIDg5LCAxLCAyMDUsIDgxLCAyMjEsIDg5LCAxLCAyMDUsIDExNiwgMjIxLCA4OSwgCisgICAgMSwgNSwgNjIsIDIyMSwgODksIDEsIDE5MCwgMjIxLCA4OSwgMSwgMjE5LCAxMTMsIDIyMSwgODksIDEsIDIzMCwgMTQxLCAKKyAgICAyMjEsIDg5LCAxLCAyMTYsIDIsIDIyMSwgODksIDEsIDIxNywgMTk5LCAyMjEsIDg5LCAxLCAxNTUsIDIyMSwgODksIDEsIAorICAgIDYyLCAyMjEsIDg5LCAxLCA3NCwgMjIxLCA4OSwgMSwgNzEsIDIyMSwgODksIDEsIDc1LCAyMjEsIDg5LCAxLCA3NiwgMjIxLCAKKyAgICA4OSwgMSwgMjIwLCAxOSwgMjIxLCA4OSwgMSwgMjA2LCAxODEsIDIyMSwgODksIDEsIDI0MiwgNzMsIDIyMSwgODksIDEsIAorICAgIDI0MCwgMTM1LCAyMjEsIDg5LCAxLCAyNDMsIDEwNCwgMjIxLCA4OSwgMjEzLCAxOTEsIDEsIDIwNywgOTYsIDIyMSwgODksIAorICAgIDIxMywgMTkxLCAxLCAxOTAsIDIyMSwgODksIDEsIDIxMCwgMjA4LCAyMjEsIDg5LCAxLCAyMTAsIDE5NiwgMjIxLCA4OSwgMSwgCisgICAgMjQ2LCA1NCwgMjIxLCA4OSwgMSwgMjI0LCAxMDMsIDIyMSwgODksIDEsIDI1MiwgMTQxLCAxOTAsIDIyMSwgODksIDEsIAorICAgIDIwOCwgMTY5LCAyMTYsIDIsIDIyMSwgODksIDEsIDIwOCwgMTcwLCAxNTUsIDIyMSwgODksIDEsIDI1MSwgMjE2LCAyNDIsIAorICAgIDczLCAyMjEsIDg5LCAyMTMsIDE5MSwgMSwgMjE5LCAxMTMsIDIyMSwgODksIDIxMywgMTQxLCAxLCAyMTksIDExMywgMjIxLCAKKyAgICA4OSwgMSwgMjQ4LCAyMTcsIDIyMSwgODksIDIxNSwgNDEsIDIzOSwgNjksIDgzLCAyMjEsIDg5LCA1MCwgMjM5LCA2OSwgODMsIAorICAgIDIyMSwgODksIDE0MSwgMjE1LCAyNTEsIDIyMSwgODksIDE0MSwgNTAsIDIxNSwgMjUxLCAyMTcsIDEyMywgMywgMjUyLCA3MywgCisgICAgMjE3LCAxMjMsIDMsIDIwOCwgMTgzLCAyMTcsIDEyMywgMSwgNjIsIDIxNywgMTIzLCAxLCAyNTMsIDE2NCwgMjE3LCAxMjMsIAorICAgIDEsIDc0LCAyMTcsIDEyMywgMSwgMjMzLCAxMDIsIDIxNywgMTIzLCAxLCA3MSwgMjE3LCAxMjMsIDEsIDIwOSwgMTYyLCAKKyAgICAyMTcsIDEyMywgMSwgMTE1LCAxMzcsIDIxNywgMTIzLCAxLCAxMTUsIDIxOCwgOTAsIDIxNywgMTIzLCAxLCAxMTUsIDE0OSwgCisgICAgMjE3LCAxMjMsIDEsIDExNSwgMjI5LCAxNzMsIDIxNywgMTIzLCAxLCA3NSwgMjE3LCAxMjMsIDEsIDI0MywgMTA0LCAyMTcsIAorICAgIDEyMywgMSwgMjUyLCAyMDUsIDIxNywgMTIzLCAxLCA3NiwgMjE3LCAxMjMsIDEsIDIyMiwgMTUyLCAyMTcsIDEyMywgMSwgCisgICAgMjUxLCAxODQsIDIxNywgMTIzLCAxLCAxNzIsIDIxNywgMTIzLCAxLCAyMzEsIDE2NywgMjE3LCAxMjMsIDEsIDI0MCwgMjQ0LCAKKyAgICAyMTcsIDEyMywgMSwgMjQwLCA5OSwgMjE3LCAxMjMsIDEsIDIyNSwgNzcsIDIxNywgMTIzLCAxLCAyNDksIDEsIDIxNywgCisgICAgMTIzLCAxLCAyNDgsIDExMCwgMjE3LCAxMjMsIDEsIDIzMiwgMjAwLCAyMTcsIDEyMywgMSwgMjMyLCAxNzAsIDIxNywgMTIzLCAKKyAgICAxLCAyMjMsIDE0NCwgMjE3LCAxMjMsIDEsIDIxMCwgMjA4LCAyMTcsIDEyMywgMSwgMjEwLCAxOTYsIDIxNywgMTIzLCAxLCAKKyAgICAyNDYsIDU0LCAyMTcsIDEyMywgMSwgMjQ2LCAzOCwgMjE3LCAxMjMsIDEsIDIyNCwgMTAzLCAyMTcsIDEyMywgMSwgMjEyLCAKKyAgICAyMTksIDIxNywgMTIzLCAxLCAyMTIsIDU2LCAyMTcsIDEyMywgMSwgMjQ2LCAxNDUsIDIxNywgMTIzLCAxLCAyNDUsIDE5MiwgCisgICAgMjE3LCAxMjMsIDEsIDE5OSwgMjE3LCAxMjMsIDEsIDE3OSwgMjE3LCAxMjMsIDEsIDIyMSwgOTMsIDIxNywgMTIzLCAxLCAKKyAgICAyNTAsIDE4MywgMjE3LCAxMjMsIDEsIDI1MCwgMCwgMjE3LCAxMjMsIDEsIDE4NSwgMjE3LCAxMjMsIDEsIDE5MCwgMjE3LCAKKyAgICAxMjMsIDEsIDIxOSwgMTEzLCAyMTcsIDEyMywgMSwgMjMwLCAxNDEsIDIxNywgMTIzLCAxLCAyMDksIDcwLCAyMTcsIDEyMywgCisgICAgMSwgMjE2LCAyLCAyMTcsIDEyMywgMSwgMjE0LCA5NiwgMjE3LCAxMjMsIDEsIDIxNywgMTk5LCAyMTcsIDEyMywgMSwgMTU1LCAKKyAgICAyMTcsIDEyMywgMSwgMjI5LCAxNzIsIDIxNywgMTIzLCAxMDcsIDMsIDIzOSwgMTM5LCAyMTcsIDEyMywgMjIsIDMsIDI1MywgCisgICAgMTY0LCAyMTcsIDEyMywgMjIsIDMsIDc0LCAyMTcsIDEyMywgMjIsIDMsIDIzMywgMTAyLCAyMTcsIDEyMywgMjIsIDMsIDcxLCAKKyAgICAyMTcsIDEyMywgMjIsIDMsIDIwOSwgMTYyLCAyMTcsIDEyMywgMjIsIDMsIDExNSwgMTM3LCAyMTcsIDEyMywgMjIsIDMsIAorICAgIDExNSwgMjE4LCA5MCwgMjE3LCAxMjMsIDIyLCAzLCAxMTUsIDE0OSwgMjE3LCAxMjMsIDIyLCAzLCAxMTUsIDIyOSwgMTczLCAKKyAgICAyMTcsIDEyMywgMjIsIDMsIDc1LCAyMTcsIDEyMywgMjIsIDMsIDI0MywgMTA0LCAyMTcsIDEyMywgMjIsIDMsIDI1MiwgCisgICAgMjA1LCAyMTcsIDEyMywgMjIsIDMsIDc2LCAyMTcsIDEyMywgMjIsIDMsIDIyMiwgMTUyLCAyMTcsIDEyMywgMjIsIDMsIAorICAgIDI1MSwgMTg0LCAyMTcsIDEyMywgMywgMjA4LCAxODgsIDIxNywgMTIzLCAyNDYsIDEwMCwgMjE3LCAxMjMsIDUwLCAyNDYsIAorICAgIDEwMCwgMjE3LCAxMjMsIDE4LCAyMDUsIDg1LCAyMTcsIDEyMywgMTgsIDEwMiwgMjE3LCAxMjMsIDE4LCAxMDUsIDIxNywgCisgICAgMTIzLCAxOCwgMTQyLCAyMTcsIDEyMywgMTgsIDEzOSwgMjE3LCAxMjMsIDE4LCAxNjgsIDIxNywgMTIzLCAxOCwgMTg0LCAKKyAgICAyMTcsIDEyMywgMTgsIDE5NSwgMjE3LCAxMjMsIDE4LCAxOTMsIDIxNywgMTIzLCAxOCwgMjAwLCAzNiwgODksIDE4LCAyMDUsIAorICAgIDg1LCAzNiwgODksIDE4LCAxMDIsIDM2LCA4OSwgMTgsIDEwNSwgMzYsIDg5LCAxOCwgMTQyLCAzNiwgODksIDE4LCAxMzksIAorICAgIDM2LCA4OSwgMTgsIDE2OCwgMzYsIDg5LCAxOCwgMTg0LCAzNiwgODksIDE4LCAxOTUsIDM2LCA4OSwgMTgsIDE5MywgMzYsIAorICAgIDg5LCAxOCwgMjAwLCAzNiwgODksIDEsIDYyLCAzNiwgODksIDEsIDcxLCAzNiwgODksIDEsIDE3MiwgMzYsIDg5LCAxLCAKKyAgICAxOTksIDM2LCA4OSwgMSwgMTc5LCAzNiwgODksIDEsIDIxOSwgMTEzLCAzNiwgODksIDEsIDIwOCwgMjE0LCAzNiwgODksIDMsIAorICAgIDI1MSwgMTY3LCA4OSwgMywgMjE0LCAxNTIsIDI0OCwgMjE3LCA4OSwgMywgMjQ4LCAyMTgsIDIwOCwgMTg4LCA4OSwgMywgCisgICAgNTAsIDI0OCwgMjE4LCAyMDgsIDE4OCwgODksIDMsIDI0OCwgMjE4LCAxMDUsIDg5LCAzLCAyNDgsIDIxOCwgMTQyLCA4OSwgCisgICAgMywgMjQ4LCAyMTgsIDI1MSwgMTY3LCA4OSwgMywgMjIwLCA1NSwgODksIDI0MCwgMjA4LCAyNDEsIDIzMiwgODksIDI0OCwgCisgICAgMTk5LCA4OSwgMjM5LCA2MywgMjMxLCAyMzAsIDIyOSwgMjM2LCAxOCwgMjA1LCA4NSwgMjMxLCAyMzAsIDIyOSwgMjM2LCAKKyAgICAxOCwgMTAyLCAyMzEsIDIzMCwgMjI5LCAyMzYsIDE4LCAxMDUsIDIzMSwgMjMwLCAyMjksIDIzNiwgMTgsIDE0MiwgMjMxLCAKKyAgICAyMzAsIDIyOSwgMjM2LCAxOCwgMTM5LCAyMzEsIDIzMCwgMjI5LCAyMzYsIDE4LCAxNjgsIDIzMSwgMjMwLCAyMjksIDIzNiwgCisgICAgMTgsIDE4NCwgMjMxLCAyMzAsIDIyOSwgMjM2LCAxOCwgMTk1LCAyMzEsIDIzMCwgMjI5LCAyMzYsIDE4LCAxOTMsIDIzMSwgCisgICAgMjMwLCAyMjksIDIzNiwgMTgsIDIwMCwgMjMxLCAyMzAsIDIyOSwgMjM2LCAxLCAxNzIsIDIzMSwgMjMwLCAyMjksIDIzNiwgCisgICAgMSwgMjMxLCAxNjcsIDIzMSwgMjMwLCAyMjksIDIzNiwgMSwgMjQwLCAyNDQsIDIzMSwgMjMwLCAyMjksIDIzNiwgMSwgMjI1LCAKKyAgICA3NywgMjMxLCAyMzAsIDIyOSwgMjM2LCAxLCAyMTcsIDE5OSwgMjMxLCAyMzAsIDIyOSwgMjM2LCAxLCAyMTYsIDIsIDIzMSwgCisgICAgMjMwLCAyMjksIDIzNiwgMSwgMjA1LCAxMTYsIDIzMSwgMjMwLCAyMjksIDIzNiwgMSwgMjIzLCAxNDQsIDIzMSwgMjMwLCAKKyAgICAyMjksIDIzNiwgMSwgMjEyLCAyMTksIDIzMSwgMjMwLCAyMjksIDIzNiwgMSwgMjM4LCA0NiwgMjMxLCAyMzAsIDIyOSwgCisgICAgMjM2LCAxLCAxOTksIDIzMSwgMjMwLCAyMjksIDIzNiwgMSwgMTc5LCAyMzEsIDIzMCwgMjI5LCAyMzYsIDEsIDIyMSwgOTMsIAorICAgIDIzMSwgMjMwLCAyMjksIDIzNiwgMSwgMTg1LCAyMzEsIDIzMCwgMjI5LCAyMzYsIDEsIDI0NiwgMTQ1LCAyMzEsIDIzMCwgCisgICAgMjI5LCAyMzYsIDEsIDI1MCwgMTgzLCAyMzEsIDIzMCwgMjI5LCAyMzYsIDEsIDIxOSwgMTEzLCAyMzEsIDIzMCwgMjI5LCAKKyAgICAyMzYsIDEsIDE5MCwgMjMxLCAyMzAsIDIyOSwgMjM2LCAxLCAyMzAsIDE0MSwgMjMxLCAyMzAsIDIyOSwgMjM2LCAxLCAyMDcsIAorICAgIDk2LCAyMzEsIDIzMCwgMjI5LCAyMzYsIDEsIDIxMiwgNTYsIDIzMSwgMjMwLCAyMjksIDIzNiwgMSwgMTU1LCAyMzEsIDIzMCwgCisgICAgMjI5LCAyMzYsIDEsIDIwOSwgNzAsIDIzMSwgMjMwLCAyMjksIDIzNiwgMSwgMjQ5LCAxLCAyMzEsIDIzMCwgMjI5LCAyMzYsIAorICAgIDEsIDYyLCAyMzEsIDIzMCwgMjI5LCAyMzYsIDEsIDIyMiwgMjA2LCAyMzEsIDIzMCwgMjI5LCAyMzYsIDEsIDc0LCAyMzEsIAorICAgIDIzMCwgMjI5LCAyMzYsIDEsIDIyMiwgMTUyLCAyMzEsIDIzMCwgMjI5LCAyMzYsIDIyLCAyMTAsIDMsIDIzMSwgMjMwLCAKKyAgICAyMjksIDIzNiwgMjIsIDc1LCAyMzEsIDIzMCwgMjI5LCAyMzYsIDIyLCA3MSwgMjMxLCAyMzAsIDIyOSwgMjM2LCAyMiwgCisgICAgMjQzLCAxMDQsIDIzMSwgMjMwLCAyMjksIDIzNiwgMjIsIDc2LCAyMzEsIDIzMCwgMjI5LCAyMzYsIDEzNSwgMjIwLCAyMjYsIAorICAgIDIzMSwgMjMwLCAyMjksIDIzNiwgMTM1LCAyNDgsIDIzMywgMjMxLCAyMzAsIDIyOSwgMjM2LCAxMzUsIDI0OCwgMjM0LCAKKyAgICAyMjAsIDIyNiwgMjMxLCAyMzAsIDIyOSwgMjM2LCAzLCAyNDcsIDMsIDIzMSwgMjMwLCAyMjksIDIzNiwgMywgMjE1LCA4OCwgCisgICAgMjE5LCAxMywgMSwgMTcyLCAyMTksIDEzLCAxLCAyNDAsIDI0NCwgMjE5LCAxMywgMSwgMjI1LCA3NywgMjE5LCAxMywgMSwgCisgICAgMjEyLCAyMTksIDIxOSwgMTMsIDEsIDI0NiwgMTQ1LCAyMTksIDEzLCAxLCAxOTksIDIxOSwgMTMsIDEsIDE3OSwgMjE5LCAKKyAgICAxMywgMSwgMjUwLCAxODMsIDIxOSwgMTMsIDEsIDE4NSwgMjE5LCAxMywgMSwgMjQ5LCAxLCAyMTksIDEzLCAxLCAyMzIsIAorICAgIDIwMCwgMjE5LCAxMywgMSwgMjIzLCAxNDQsIDIxOSwgMTMsIDEsIDIxNywgMTk5LCAyMTksIDEzLCAxLCAyMTksIDExMywgCisgICAgMjE5LCAxMywgMSwgMjMwLCAxNDEsIDIxOSwgMTMsIDEsIDE5MCwgMjE5LCAxMywgMSwgMjA3LCA5NiwgMjE5LCAxMywgMSwgCisgICAgMTU1LCAyMTksIDEzLCAxLCAyMjcsIDE1MywgMjE5LCAxMywgMSwgMjI1LCA1NiwgMjE5LCAxMywgMSwgMjI1LCAxNTEsIAorICAgIDIxOSwgMTMsIDEsIDIyMywgMTExLCAyMTksIDEzLCAxLCA2MiwgMjE5LCAxMywgMjIsIDMsIDc0LCAyMTksIDEzLCAyMiwgMywgCisgICAgNzEsIDIxOSwgMTMsIDIyLCAzLCA3NSwgMjE5LCAxMywgMjIsIDMsIDI1MiwgMjA1LCAyMTksIDEzLCAyMiwgMywgNzYsIAorICAgIDIxOSwgMTMsIDIyLCAzLCAyNTEsIDE4NCwgMjE5LCAxMywgMjIsIDMsIDI0MiwgMTkyLCAyMTksIDEzLCAyMiwgMywgMjQzLCAKKyAgICAxMzAsIDIxOSwgMTMsIDEwNywgMywgMjI1LCA3OSwgMjE5LCAxMywgMTA3LCAzLCAyMjYsIDMzLCAyMTksIDEzLCAxMDcsIDMsIAorICAgIDEzNywgMjE5LCAxMywgMTA3LCAzLCAyMzksIDE1NSwgMjE5LCAxMywgMjA4LCAxODgsIDIxOSwgMTMsIDIxNywgNzcsIDgzLCAKKyAgICAyNSwgMTEzLCAyMTEsIDE4OSwgMjUsIDExMywgMjExLCAxODgsIDI1LCAxMTMsIDIxMSwgMTg2LCAyNSwgMTEzLCAyMTEsIAorICAgIDE5MSwgMjUsIDExMywgMjE4LCAxOTMsIDI1LCAxMTMsIDIxOCwgMTc3LCAyNSwgMTEzLCAyMTgsIDE3MiwgMjUsIDExMywgCisgICAgMjE4LCAxNzQsIDI1LCAxMTMsIDIxOCwgMTkwLCAyNSwgMTEzLCAyMTgsIDE4MywgMjUsIDExMywgMjE4LCAxNzYsIDI1LCAKKyAgICAxMTMsIDIxOCwgMTk1LCAyNSwgMTEzLCAyMTgsIDE3OCwgMjUsIDExMywgMjE4LCAxOTcsIDI1LCAxMTMsIDIxOCwgMTk0LCAKKyAgICAyNSwgMTEzLCAyMjYsIDIzNiwgMjUsIDExMywgMjI2LCAyMjcsIDI1LCAxMTMsIDIyNiwgMjMwLCAyNSwgMTEzLCAyMjEsIAorICAgIDI0LCAyNSwgMTEzLCAyMjEsIDM1LCAyNSwgMTEzLCAyMjEsIDM2LCAyNSwgMTEzLCAyMTQsIDgwLCAyNSwgMTEzLCAyMzMsIAorICAgIDExNSwgMjUsIDExMywgMjMzLCAxMjIsIDI1LCAxMTMsIDIxNCwgOTEsIDI1LCAxMTMsIDIxNCwgNzgsIDI1LCAxMTMsIDIyMSwgCisgICAgNzUsIDI1LCAxMTMsIDIzOCwgMjU0LCAyNSwgMTEzLCAyMTQsIDc1LCAxNzYsIDMsIDIyMSwgMjQyLCAxNzYsIDMsIDI0OCwgCisgICAgMTQ1LCAxNzYsIDMsIDIzMCwgNjYsIDE3NiwgMywgMjA3LCAxMywgMTc2LCAxLCA2MiwgMTc2LCAxLCAyMzcsIDIyNSwgMjMxLCAKKyAgICAyMzQsIDE3NiwgMSwgNzQsIDE3NiwgMSwgMjMzLCAxMDIsIDE3NiwgMSwgNzEsIDE3NiwgMSwgMjIyLCA1MiwgMjQ4LCAxMTYsIAorICAgIDE3NiwgMSwgMjI1LCA3OCwgMjMwLCAyNSwgMTc2LCAxLCAyMjUsIDc4LCAyMzAsIDI2LCAyMTksIDY2LCAxNzYsIDEsIDc1LCAKKyAgICAxNzYsIDEsIDI1MiwgMjA1LCAxNzYsIDEsIDc2LCAxNzYsIDEsIDE3MiwgMTc2LCAxLCAyMzIsIDY2LCAyMTcsIDEzNSwgCisgICAgMTc2LCAxLCAyMzIsIDY2LCAyMjYsIDc1LCAxNzYsIDEsIDI0MCwgMjQ0LCAxNzYsIDEsIDI0MCwgMjQ1LCAyMjYsIDc1LCAKKyAgICAxNzYsIDEsIDIyNSwgNzcsIDE3NiwgMSwgMjQ5LCAxLCAxNzYsIDEsIDI0OSwgMiwgMjI2LCA3NSwgMTc2LCAxLCAyMzIsIAorICAgIDIwMCwgMTc2LCAxLCAyMjMsIDE0NSwgMjI2LCA3NSwgMTc2LCAxLCAyMzIsIDIwMSwgMjI3LCAyNDMsIDE3NiwgMSwgMjIzLCAKKyAgICAxNDQsIDE3NiwgMSwgMjEwLCAyMDgsIDE3NiwgMSwgMjEwLCAyMDksIDIyNywgMjQzLCAxNzYsIDEsIDI0NiwgNTQsIDE3NiwgCisgICAgMSwgMjQ2LCA1NSwgMjI3LCAyNDMsIDE3NiwgMSwgMjI1LCAyMzcsIDIyNiwgNzUsIDE3NiwgMSwgMjEyLCAyMTksIDE3NiwgCisgICAgMSwgMjEyLCAyMjAsIDIyNiwgNzUsIDE3NiwgMSwgMjQ2LCAxNDUsIDE3NiwgMSwgMjQ2LCAxNDYsIDIyNywgMjQzLCAxNzYsIAorICAgIDEsIDE5OSwgMTc2LCAxLCAxNzksIDE3NiwgMSwgMjIyLCA1MiwgMjI2LCA3NSwgMTc2LCAxLCAyNTAsIDE4MywgMTc2LCAxLCAKKyAgICAyNTAsIDE4NCwgMjI2LCA3NSwgMTc2LCAxLCAxODUsIDE3NiwgMSwgMTkwLCAxNzYsIDEsIDIxOSwgMTEzLCAxNzYsIDEsIAorICAgIDIxOSwgMTE0LCAyNTIsIDIxNCwgMTc2LCAxLCAyMzAsIDE0MSwgMTc2LCAxLCAyMDcsIDk2LCAxNzYsIDEsIDIxNywgMjAwLCAKKyAgICAyMjYsIDc1LCAxNzYsIDEsIDIxNywgMjAwLCAyMjcsIDI0MywgMTc2LCAxLCAyMTcsIDE5OSwgMTc2LCAxLCAxNTUsIDE3NiwgCisgICAgMywgMjQ4LCAxNDYsIDIxMiwgMTAxLCAxNzYsIDIyLCAzLCAyMTIsIDE1OCwgMTc2LCAyMiwgMywgMjExLCAxMjMsIDE3NiwgCisgICAgMjIsIDMsIDIwNiwgMjEwLCAxNzYsIDIyLCAzLCAyMDYsIDIxMSwgMjI3LCA5NCwgMTc2LCAyMiwgMywgMjEzLCAxNjQsIAorICAgIDE3NiwgMjIsIDMsIDIxMywgMTY1LCAyMjcsIDgyLCAxNzYsIDIyLCAzLCAyMTIsIDE3OSwgMTc2LCAyMiwgMywgMjQ1LCAKKyAgICAxMDEsIDIyNiwgNzQsIDE3NiwgMjIsIDMsIDIyMSwgMTM0LCAxNzYsIDEwNywgMywgMjMxLCAxOTYsIDE3NiwgMTA3LCAzLCAKKyAgICAyMjEsIDE0NywgMTc2LCAxMDcsIDMsIDI0OCwgMjQyLCAxNzYsIDIyMSwgMjU1LCAxNzYsIDQ3LCAyMTgsIDI0NCwgMTc2LCAKKyAgICA0OCwgMjE4LCAyNDQsIDE3NiwgMjIyLCA0MSwgMjUyLCAxMTYsIDE3NiwgMjIyLCA0MSwgMjI4LCA1LCAxNzYsIDIyMiwgNDEsIAorICAgIDIyOSwgNjksIDE3NiwgMjIyLCA0MSwgMjA3LCA3LCAxNzYsIDIyMiwgNDEsIDIyMiwgMCwgMTc2LCAyMjIsIDQxLCAyMjksIAorICAgIDE5NywgMTc2LCAyMjIsIDQxLCAyMjksIDYzLCAxNzYsIDIyMiwgNDEsIDI1MiwgMjU1LCAxNzYsIDIyMiwgNDEsIDI1MywgMCwgCisgICAgMjUyLCAyNTUsIDE3NiwgMjIyLCA0MSwgMjIwLCAyNDksIDE3NiwgMjAxLCAyMjIsIDQxLCAyMjAsIDI0OSwgMTc2LCAyMjEsIAorICAgIDI1MSwgMTc2LCAxOCwgMjA1LCA4NSwgMTc2LCAxOCwgMTAyLCAxNzYsIDE4LCAxMDUsIDE3NiwgMTgsIDE0MiwgMTc2LCAxOCwgCisgICAgMTM5LCAxNzYsIDE4LCAxNjgsIDE3NiwgMTgsIDE4NCwgMTc2LCAxOCwgMTk1LCAxNzYsIDE4LCAxOTMsIDE3NiwgMTgsIAorICAgIDIwMCwgMTc2LCAyMjIsIDQxLCAyMTEsIDE1OCwgMjEwLCAxNTcsIDE3NiwgMjIyLCA0MSwgMjMyLCAyMzAsIDY2LCAxLCAKKyAgICAyMTUsIDIzOCwgMjQwLCA5OSwgNjYsIDEsIDIxNSwgMjM4LCAyNDgsIDExMCwgNjYsIDEsIDIxNSwgMjM4LCAyMzIsIDE3MCwgCisgICAgNjYsIDEsIDIxNSwgMjM4LCAyMjQsIDEwMywgNjYsIDEsIDIxNSwgMjM4LCAyNTAsIDAsIDY2LCAzLCAyMTUsIDIzOCwgMjE3LCAKKyAgICAxMjEsIDY2LCA2NSwgMSwgMjE1LCAyMzgsIDIxOSwgMzAsIDY2LCAxLCA0MSwgMjMwLCAxMTMsIDIyMywgMTQ0LCA2NiwgMSwgCisgICAgNDEsIDIzMCwgMTEzLCAyNDIsIDczLCA2NiwgMSwgNDEsIDIzMCwgMTEzLCAyNDAsIDI0NCwgNjYsIDEsIDQxLCAyMzAsIAorICAgIDExMywgMjQwLCA5OSwgNjYsIDEsIDQxLCAyMzAsIDExMywgMjMyLCAyMDAsIDY2LCAxLCA0MSwgMjMwLCAxMTMsIDIzMiwgCisgICAgMTcwLCA2NiwgMSwgNDEsIDIzMCwgMTEzLCAyNDYsIDU0LCA2NiwgMSwgNDEsIDIzMCwgMTEzLCAyNDYsIDM4LCA2NiwgMSwgCisgICAgNDEsIDIzMCwgMTEzLCAyMjQsIDEwMywgNjYsIDQxLCAyMzAsIDExMywgMTgsIDIwNSwgODUsIDY2LCA0MSwgMjMwLCAxMTMsIAorICAgIDE4LCAxMDIsIDY2LCA0MSwgMjMwLCAxMTMsIDE4LCAxMDUsIDY2LCA0MSwgMjMwLCAxMTMsIDE4LCAxNDIsIDY2LCA0MSwgCisgICAgMjMwLCAxMTMsIDE4LCAxMzksIDY2LCA0MSwgMjMwLCAxMTMsIDE4LCAxNjgsIDY2LCA0MSwgMjMwLCAxMTMsIDE4LCAxODQsIAorICAgIDY2LCA0MSwgMjMwLCAxMTMsIDE4LCAxOTUsIDY2LCA0MSwgMjMwLCAxMTMsIDE4LCAxOTMsIDY2LCA0MSwgMjMwLCAxMTMsIAorICAgIDE4LCAyMDAsIDY2LCAxLCA0MSwgMjMwLCAxMTMsIDIyOSwgMTcyLCA2NiwgMSwgNDEsIDIzMCwgMTEzLCAyNDYsIDE0NSwgCisgICAgNjYsIDEsIDQxLCAyMzAsIDExMywgMjQ1LCAxOTIsIDY2LCAxLCA0MSwgMjMwLCAxMTMsIDI1MCwgMTgzLCA2NiwgMSwgNDEsIAorICAgIDIzMCwgMTEzLCAyNTAsIDAsIDIwMywgMSwgNjIsIDIwMywgMSwgNzQsIDIwMywgMSwgNzEsIDIwMywgMSwgNzUsIDIwMywgMSwgCisgICAgMjUyLCAyMDUsIDIwMywgMSwgNzYsIDIwMywgMSwgMTcyLCAyMDMsIDEsIDIzMSwgMTY3LCAyMDMsIDEsIDI0MCwgMjQ0LCAKKyAgICAyMDMsIDEsIDI0MCwgOTksIDIwMywgMSwgMjI0LCAyNDIsIDIwMywgMSwgMjI1LCA3NywgMjAzLCAxLCAyNDgsIDExMCwgCisgICAgMjAzLCAxLCAyNDgsIDYwLCAyMDMsIDEsIDIzMiwgMjAwLCAyMDMsIDEsIDIzMiwgMTcwLCAyMDMsIDEsIDIyNCwgMjMyLCAKKyAgICAyMDMsIDEsIDIyNCwgMjM0LCAyMDMsIDEsIDIyNCwgMjMzLCAyMDMsIDEsIDIxMiwgMjE5LCAyMDMsIDEsIDIxMiwgNTYsIAorICAgIDIwMywgMSwgMjQ2LCAxNDUsIDIwMywgMSwgMjQ1LCAxOTIsIDIwMywgMSwgMjIzLCAxODYsIDIwMywgMSwgMTk5LCAyMDMsIAorICAgIDEsIDI0NiwgNTQsIDIwMywgMSwgMTc5LCAyMDMsIDEsIDIyMCwgMTU3LCAyMDMsIDEsIDIyMSwgOTMsIDIwMywgMSwgMjUwLCAKKyAgICAxODMsIDIwMywgMSwgMjUwLCAwLCAyMDMsIDEsIDIyNiwgMTA2LCAyMDMsIDEsIDE4NSwgMjAzLCAxLCAyNTAsIDk3LCAyMDMsIAorICAgIDEsIDE5MCwgMjAzLCAxLCAyMTksIDExMywgMjAzLCAxLCAyMzAsIDE0MSwgMjAzLCAxLCAyMDksIDcwLCAyMDMsIDEsIDIxNCwgCisgICAgOTYsIDIwMywgMSwgMjE3LCAxOTksIDIwMywgMSwgMTU1LCAyMDMsIDIyLCAzLCAyNTMsIDE2NCwgMjAzLCAyMiwgMywgNzQsIAorICAgIDIwMywgMjIsIDMsIDIzMywgMTAyLCAyMDMsIDIyLCAzLCAyNDMsIDkwLCAyMDMsIDIyLCAzLCA3MSwgMjAzLCAyMiwgMywgCisgICAgMjIyLCAyMDYsIDIwMywgMjIsIDMsIDc2LCAyMDMsIDIyLCAzLCAyNTIsIDIwNSwgMjAzLCAyMiwgMywgMjUxLCAxODQsIAorICAgIDIwMywgMjIsIDMsIDIxMCwgMywgMjAzLCAxMDcsIDMsIDE5MCwgMjAzLCAxMDcsIDMsIDIxOSwgMTEzLCAyMDMsIDEwNywgMywgCisgICAgMjMwLCAxNDEsIDIwMywgMTA3LCAzLCAyMDcsIDk2LCAyMDMsIDEsIDQyLCAyMzIsIDc2LCAyMDMsIDEsIDQyLCAyNDEsIDU1LCAKKyAgICAyMDMsIDEsIDQyLCAyMjUsIDc5LCAyMDMsIDEwNywgMywgNDIsIDIyNSwgNzksIDIwMywgMSwgNDIsIDI0OCwgMTExLCAyMDMsIAorICAgIDEsIDQyLCAyMTMsIDEwLCAyMDMsIDEsIDQyLCAyMjYsIDMzLCAyMDMsIDEsIDQyLCAyMjIsIDY3LCAyMDMsIDEsIDQyLCAKKyAgICAyMDYsIDEyMywgMjAzLCAxLCA0MiwgMTM3LCAyMDMsIDEsIDQyLCAxNDksIDIwMywgMSwgNDIsIDIxNCwgOTksIDIwMywgCisgICAgMTA3LCAzLCA0MiwgMjI5LCAyOCwgMjAzLCAxMDcsIDMsIDQyLCAyMzksIDE1NSwgMjAzLCAxOCwgMjA1LCA4NSwgMjAzLCAKKyAgICAxOCwgMTAyLCAyMDMsIDE4LCAxMDUsIDIwMywgMTgsIDE0MiwgMjAzLCAxOCwgMTM5LCAyMDMsIDE4LCAxNjgsIDIwMywgMTgsIAorICAgIDE4NCwgMjAzLCAxOCwgMTk1LCAyMDMsIDE4LCAxOTMsIDIwMywgMTgsIDIwMCwgMjAzLCAyMjAsIDcyLCAyMTQsIDEyNywgCisgICAgMjAzLCAyMjAsIDcyLCAyNDYsIDEwMCwgMjAzLCAyMjAsIDcyLCA1MCwgMjQ2LCAxMDAsIDIwMywgMjIwLCA3MiwgMjExLCAKKyAgICAzNiwgMjQ2LCAxMDAsIDY2LCAxLCAyMzEsIDE2MCwgMjQwLCAyNDQsIDY2LCAxLCAyMzEsIDE2MCwgMjQ5LCAxLCA2NiwgMSwgCisgICAgMjMxLCAxNjAsIDI0OCwgMTEwLCA2NiwgMSwgMjMxLCAxNjAsIDIzMiwgMjAwLCA2NiwgMSwgMjMxLCAxNjAsIDIzMiwgMTcwLCAKKyAgICA2NiwgMSwgMjMxLCAxNjAsIDIyMywgMTQ0LCA2NiwgMSwgMjMxLCAxNjAsIDIxMCwgMjA4LCA2NiwgMSwgMjMxLCAxNjAsIAorICAgIDIxMCwgMTk2LCA2NiwgMSwgMjMxLCAxNjAsIDI0NiwgNTQsIDY2LCAxLCAyMzEsIDE2MCwgMjQ2LCAzOCwgNjYsIDEsIDIzMSwgCisgICAgMTYwLCAyNDUsIDE5MiwgNjYsIDEsIDIzMSwgMTYwLCAxOTksIDY2LCAxLCAyMzEsIDE2MCwgMjE3LCAxOTksIDY2LCAxLCAKKyAgICAyMzEsIDE2MCwgMTU1LCA2NiwgMSwgMjMxLCAxNjAsIDIzOSwgMjAsIDY2LCAxLCAyMzEsIDE2MCwgMjQyLCA3MywgNjYsIAorICAgIDY1LCAxLCAyMzEsIDE2MCwgMjE5LCAzMCwgNjYsIDEsIDIzMSwgMTYwLCAyMDYsIDE4MSwgNjYsIDEsIDIzMSwgMTYwLCAKKyAgICAyMDUsIDExNiwgNjYsIDEsIDIzMSwgMTYwLCAyMTksIDExMywgNjYsIDIyOSwgMTMzLCAyMzEsIDE2MCwgMjIyLCAyMjcsIAorICAgIDY2LCAyMjksIDEzMywgMjMxLCAxNjAsIDIxOSwgMjI3LCA2NiwgMjI5LCAxMzMsIDIzMSwgMTYwLCAyMzgsIDIwNCwgNjYsIAorICAgIDE2LCAyNTIsIDE5MywgMjQyLCAxNjcsIDY2LCAxNiwgMjUyLCAxOTMsIDEwMiwgNjYsIDE2LCAyNTIsIDE5MywgMTA1LCA2NiwgCisgICAgMSwgMjUyLCAxOTMsIDIxOSwgMTEzLCA2NiwgMywgMjIxLCAyMzgsIDIzMiwgNCwgMjExLCAxMTgsIDY2LCAzLCA0MSwgMjMwLCAKKyAgICAxMTMsIDIxMSwgMTE2LCA2NiwgMywgNDEsIDIzMCwgMTEzLCAyMTEsIDExMywgNjYsIDEsIDIxNSwgOTYsIDIyMiwgMjMsIAorICAgIDI0OCwgMTEwLCA2NiwgMSwgMjE1LCA5NiwgMjIyLCAyMywgMjE2LCAyLCA0MSwgMjA4LCAyMDQsIDEsIDExNCwgMjMxLCA1MywgCisgICAgNDEsIDIwOCwgMjA0LCAxLCAxMjcsIDIzMSwgNTMsIDQxLCAyMDgsIDIwNCwgMSwgMTE0LCAyMzEsIDEzOCwgNDEsIDIwOCwgCisgICAgMjA0LCAxLCAxMjcsIDIzMSwgMTM4LCA0MSwgMjA4LCAyMDQsIDEsIDExNCwgMjMxLCAxNDcsIDQxLCAyMDgsIDIwNCwgMSwgCisgICAgMTI3LCAyMzEsIDE0NywgNDEsIDIwOCwgMjA0LCAxLCAxMTQsIDI0MCwgMTksIDQxLCAyMDgsIDIwNCwgMSwgMTI3LCAyNDAsIAorICAgIDE5LCA0MSwgMjA4LCAyMDQsIDEsIDExNCwgMjI1LCAyLCA0MSwgMjA4LCAyMDQsIDEsIDEyNywgMjI1LCAyLCA0MSwgMjA4LCAKKyAgICAyMDQsIDEsIDExNCwgMjQ3LCAxNzQsIDQxLCAyMDgsIDIwNCwgMSwgMTI3LCAyNDcsIDE3NCwgNDEsIDIwOCwgMjA0LCAxLCAKKyAgICAxMTQsIDI0OCwgMzIsIDQxLCAyMDgsIDIwNCwgMSwgMTI3LCAyNDgsIDMyLCA0MSwgMjA4LCAyMDQsIDEsIDExNCwgMjE0LCAKKyAgICAxOTMsIDQxLCAyMDgsIDIwNCwgMSwgMTI3LCAyMTQsIDE5MywgNDEsIDIwOCwgMjA0LCAxLCAxMTQsIDIyMywgMTEwLCA0MSwgCisgICAgMjA4LCAyMDQsIDEsIDEyNywgMjIzLCAxMTAsIDQxLCAyMDgsIDIwNCwgMSwgMTE0LCAyNDUsIDUxLCA0MSwgMjA4LCAyMDQsIAorICAgIDEsIDEyNywgMjQ1LCA1MSwgNDEsIDIwOCwgMjA0LCAxLCAxMTQsIDEyNCwgNDEsIDIwOCwgMjA0LCAxLCAxMjcsIDEyNCwgCisgICAgNDEsIDIwOCwgMjA0LCAxLCAxMTQsIDIxMSwgMjUzLCA0MSwgMjA4LCAyMDQsIDEsIDEyNywgMjExLCAyNTMsIDQxLCAyMDgsIAorICAgIDIwNCwgMSwgMTE0LCAyMjQsIDY3LCA0MSwgMjA4LCAyMDQsIDEsIDEyNywgMjI0LCA2NywgNDEsIDIwOCwgMjA0LCAxLCAKKyAgICAxMTQsIDI0OSwgMTg0LCA0MSwgMjA4LCAyMDQsIDEsIDEyNywgMjQ5LCAxODQsIDQxLCAyMDgsIDIwNCwgMSwgMTE0LCAyMjAsIAorICAgIDIxMSwgNDEsIDIwOCwgMjA0LCAxLCAxMjcsIDIyMCwgMjExLCA0MSwgMjA4LCAyMDQsIDEsIDExNCwgMjIxLCA2NiwgNDEsIAorICAgIDIwOCwgMjA0LCAxLCAxMjcsIDIyMSwgNjYsIDQxLCAyMDgsIDIwNCwgMSwgMTE0LCAyNDEsIDE2MiwgNDEsIDIwOCwgMjA0LCAKKyAgICAxLCAxMjcsIDI0MSwgMTYyLCA0MSwgMjA4LCAyMDQsIDEsIDExNCwgMjI2LCAxODEsIDQxLCAyMDgsIDIwNCwgMSwgMTI3LCAKKyAgICAyMjYsIDE4MSwgNDEsIDIwOCwgMjA0LCAxLCAxMTQsIDIwNSwgMjQ3LCA0MSwgMjA4LCAyMDQsIDEsIDEyNywgMjA1LCAyNDcsIAorICAgIDQxLCAyMDgsIDIwNCwgMSwgMTE0LCAyMTgsIDEyNCwgNDEsIDIwOCwgMjA0LCAxLCAxMjcsIDIxOCwgMTI0LCA0MSwgMjA4LCAKKyAgICAyMDQsIDEsIDExNCwgMjI5LCAxNDQsIDQxLCAyMDgsIDIwNCwgMSwgMTI3LCAyMjksIDE0NCwgNDEsIDIwOCwgMjA0LCAxLCAKKyAgICAxMTQsIDIwOCwgMTczLCA0MSwgMjA4LCAyMDQsIDEsIDEyNywgMjA4LCAxNzMsIDQxLCAyMDgsIDIwNCwgMSwgMTE0LCAyMzgsIAorICAgIDE0OSwgNDEsIDIwOCwgMjA0LCAxLCAxMjcsIDIzOCwgMTQ5LCA0MSwgMjA4LCAyMDQsIDEsIDExNCwgNzYsIDQxLCAyMDgsIAorICAgIDIwNCwgMSwgMTI3LCA3NiwgNDEsIDIwOCwgMjA0LCAyMjcsIDI0MCwgMjMyLCAyMywgNDEsIDIwOCwgMjA0LCAyMiwgMjUzLCAKKyAgICAxNjQsIDQxLCAyMDgsIDIwNCwgMjIsIDc0LCA0MSwgMjA4LCAyMDQsIDIyLCAyMTAsIDMsIDQxLCAyMDgsIDIwNCwgMjIsIAorICAgIDcxLCA0MSwgMjA4LCAyMDQsIDIyLCA3NSwgNDEsIDIwOCwgMjA0LCAyMiwgNzYsIDQxLCAyMDgsIDIwNCwgMjI3LCAyNDAsIAorICAgIDIzMSwgMTQxLCA0MSwgMjA4LCAyMDQsIDIyLCAyMzcsIDE5MCwgNDEsIDIwOCwgMjA0LCAyMiwgMjEwLCAyLCA0MSwgMjA4LCAKKyAgICAyMDQsIDIyLCAyMTAsIDE4LCA0MSwgMjA4LCAyMDQsIDIyLCAyNTEsIDE4MiwgNDEsIDIwOCwgMjA0LCAyMiwgMjUxLCAxNTksIAorICAgIDQxLCAyMDgsIDIwNCwgMjIsIDI1MiwgMTIyLCA0MSwgMjA4LCAyMDQsIDIyLCAyNTIsIDEzNiwgNDEsIDIwOCwgMjA0LCAKKyAgICAxMzUsIDIyNywgMjQwLCAyNDMsIDc1LCA0MSwgMjA4LCAyMDQsIDEzNSwgMjI3LCAyNDAsIDIyMywgMTg1LCA0MSwgMjA4LCAKKyAgICAyMDQsIDEzNSwgMjI3LCAyNDAsIDIxMSwgMjUzLCA0MSwgMjA4LCAyMDQsIDEzNSwgMjI3LCAyNDAsIDIxNCwgMTc2LCA0MSwgCisgICAgMjA4LCAyMDQsIDE2LCAyMzEsIDM2LCA0MSwgMjA4LCAyMDQsIDE2LCAyMjMsIDE4NSwgNDEsIDIwOCwgMjA0LCAxNiwgMjE3LCAKKyAgICAxNjEsIDQxLCAyMDgsIDIwNCwgMTYsIDIzOCwgMTUwLCAyMzgsIDE0NSwgNDEsIDIwOCwgMjA0LCAxNiwgMjMxLCA0NiwgCisgICAgMjMxLCA0NSwgMjI3LCAxMDEsIDIyNywgMTYwLCAxLCA3NSwgMjI3LCAxMDEsIDIyNywgMTYwLCAxLCA3NiwgMjI3LCAxMDEsIAorICAgIDIyNywgMTYwLCAxLCAyNDgsIDExMCwgMjI3LCAxMDEsIDIyNywgMTYwLCAxLCAyMjMsIDE0NCwgMjI3LCAxMDEsIDIyNywgCisgICAgMTYwLCAxLCAyMTAsIDIwOCwgMjI3LCAxMDEsIDIyNywgMTYwLCAxLCAyMTAsIDE5NiwgMjI3LCAxMDEsIDIyNywgMTYwLCAxLCAKKyAgICAyNDYsIDU0LCAyMjcsIDEwMSwgMjI3LCAxNjAsIDEsIDI0NiwgMzgsIDIyNywgMTAxLCAyMjcsIDE2MCwgMSwgMjI0LCAxMDMsIAorICAgIDIyNywgMTAxLCAyMjcsIDE2MCwgMSwgMjE2LCAyLCAyMjcsIDEwMSwgMjI3LCAxNjAsIDEsIDIxNCwgOTYsIDIyNywgMTAxLCAKKyAgICAyMjcsIDE2MCwgMjIsIDMsIDIzMywgMTAyLCAyMjcsIDEwMSwgMjI3LCAxNjAsIDIyLCAzLCAyMDksIDE2MiwgMjI3LCAxMDEsIAorICAgIDIyNywgMTYwLCAyMiwgMywgMjUzLCAxMjgsIDIyNywgMTAxLCAyMjcsIDE2MCwgMjIsIDMsIDI1MSwgMTg0LCAyMjcsIDEwMSwgCisgICAgMjI3LCAxNjAsIDIyLCAzLCAyNTMsIDEyMSwgMjI3LCAxMDEsIDIyNywgMTYwLCAyNDgsIDc0LCAyMjcsIDEwMSwgMjI3LCAKKyAgICAxNjAsIDI1MiwgMjEwLCAyMzEsIDEzMCwgMjI3LCAxMDEsIDIyNywgMTYwLCAyNTIsIDEwMiwgMjI3LCAxMDEsIDIyNywgCisgICAgMTYwLCA0LCAyMTgsIDI0OSwgODMsIDIyNywgMTAxLCAyMjcsIDE2MCwgMjA2LCAyMzIsIDIxOCwgMjQ5LCA4MywgMjI3LCAKKyAgICAxMDEsIDIyNywgMTYwLCAyMiwgMywgMjA4LCAxODMsIDIyNywgMTAxLCAyMjcsIDE2MCwgMjA4LCAxODgsIDMxLCA0LCAyMTAsIAorICAgIDE4OSwgMzEsIDQsIDIxMCwgMTkyLCAzMSwgNCwgMjEwLCAxOTUsIDMxLCA0LCAyMTAsIDE5MywgMzEsIDQsIDIxMCwgMTk0LCAKKyAgICAzMSwgNCwgMjEwLCAxOTEsIDMxLCA0LCAyNDYsIDMyLCAzMSwgNCwgMjQ2LCAzNCwgMzEsIDQsIDI0NiwgMzcsIDMxLCA0LCAKKyAgICAyNDYsIDM1LCAzMSwgNCwgMjQ2LCAzNiwgMzEsIDQsIDI0NiwgMzMsIDMxLCA0LCAyNDMsIDE4MywgMzEsIDQsIDI0MywgCisgICAgMTg3LCAzMSwgNCwgMjQzLCAxOTUsIDMxLCA0LCAyNDMsIDE5MiwgMzEsIDQsIDI0MywgMTkzLCAzMSwgNCwgMjQzLCAxODQsIAorICAgIDMxLCA0LCAyNDgsIDE2MiwgMzEsIDQsIDI0OCwgMTU2LCAzMSwgNCwgMjQ4LCAxNTgsIDMxLCA0LCAyNDgsIDE2MSwgMzEsIAorICAgIDQsIDI0OCwgMTU5LCAzMSwgNCwgMjQ4LCAxNjAsIDMxLCA0LCAyNDgsIDE1NywgMzEsIDQsIDI1MCwgOTcsIDMxLCA0LCAKKyAgICAyNTAsIDc2LCAzMSwgNCwgMjUwLCA4OCwgMzEsIDQsIDI1MCwgOTYsIDMxLCA0LCAyNTAsIDkxLCAzMSwgNCwgMjUwLCA5MiwgCisgICAgMzEsIDQsIDI1MCwgODAsIDcsIDUsIDEsIDI1MCwgMTIzLCAyNTIsIDE0NCwgNywgNSwgMSwgMzIsIDIxOCwgMjIyLCA3LCA1LCAKKyAgICAxLCAyNDksIDE5OCwgNzUsIDcsIDUsIDEsIDI1MCwgMTIzLCA3NSwgNywgNSwgMSwgMTc0LCAyLCAyNDEsIDE3NCwgNywgNSwgCisgICAgMSwgMjMwLCAxOCwgMjQyLCAxMzksIDcsIDUsIDEsIDEyMSwgMjQxLCA1NiwgMiwgMjQ3LCA1NiwgNywgNSwgMSwgMjMwLCAKKyAgICAxNTksIDIsIDIzMywgMiwgMjMwLCA2NSwgMTgyLCA3LCA1LCAxLCAyMzAsIDE1OSwgMiwgNTAsIDIyNiwgMjQ3LCAyMTEsIAorICAgIDE4MCwgNywgNSwgMSwgMjMwLCAxNTksIDIsIDIyNiwgMjQ3LCAyMTgsIDE0OCwgNywgNSwgMSwgMjI5LCAyOSwgMiwgMjQ3LCAKKyAgICA1NiwgNywgNSwgMSwgMjI2LCAzNCwgMiwgMjQ3LCA1NiwgNywgNSwgMSwgMjQzLCAyOSwgMiwgMjQ3LCA1NiwgNywgNSwgMSwgCisgICAgMjQ5LCAxOTgsIDc2LCA3LCA1LCAxLCAyNDksIDE5OCwgMTQ4LCAyLCA5MSwgNywgNSwgMSwgMjIyLCAxNDIsIDE0OCwgMiwgCisgICAgOTEsIDcsIDUsIDEsIDIzMywgMiwgMjIyLCAyMDYsIDcsIDUsIDEsIDIwMSwgMjIyLCAyMDcsIDIsIDkxLCA3LCA1LCAxLCAKKyAgICAyMDEsIDIyMiwgMjA3LCAyLCAxOTQsIDkxLCA3LCA1LCAxLCAyMDEsIDE0OCwgMjIyLCAxMzgsIDcsIDUsIDEsIDIwMSwgCisgICAgMTQ4LCAyMjIsIDEzOSwgMiwgOTEsIDcsIDUsIDEsIDIxNCwgMCwgMTM3LCA3LCAxLCA1LCA2LCAyMTksIDE1MCwgMiwgNDgsIAorICAgIDIzMCwgMzQsIDcsIDUsIDEsIDIxOSwgMTUwLCAyMDYsIDI1MywgMjM5LCAxMDUsIDcsIDUsIDEsIDUwLCAxMzcsIDcsIDUsIAorICAgIDEsIDIxOSwgMTUwLCAyLCAyNDcsIDU2LCA3LCA1LCAxLCA1MCwgMjE5LCAxNTAsIDIsIDI0NywgNTYsIDcsIDUsIDEsIDEyMSwgCisgICAgMTM3LCA3LCA1LCAxLCAxMjEsIDIxOSwgMTUwLCAyLCAyMTgsIDE0OCwgNywgNSwgMSwgMjUwLCAxMTQsIDI0MiwgMjE1LCA3LCAKKyAgICA1LCAxLCAxMDYsIDIsIDIxNSwgMTQ0LCA0OCwgMjMwLCAzNCwgNywgNSwgMSwgMTA2LCAyNTAsIDEyOSwgMiwgMjE1LCAxNDQsIAorICAgIDQ4LCAyMzAsIDM0LCA3LCA1LCAxLCAyMDksIDI1MiwgNywgNSwgMSwgMjAxLCAyMDksIDI1MiwgNywgNSwgMSwgMTA2LCAyLCAKKyAgICA0NywgMTA5LCA3LCA1LCAxLCAyNDgsIDU4LCA3LCA1LCAxLCAyNDgsIDU5LCAyLCAxMTQsIDQ4LCAyMTgsIDE0OCwgNywgNSwgCisgICAgMSwgMjQ4LCA1OSwgMiwgMTE0LCA0NywgMjE2LCAzNiwgNywgNSwgMSwgMjA2LCAxOTYsIDIsIDExNCwgNDgsIDIxOCwgMTQ4LCAKKyAgICA3LCA1LCAxLCAyMDYsIDE5NiwgMiwgMTUyLCA0NywgMjMwLCAzNCwgNywgNSwgMSwgMjA2LCAxOTYsIDIsIDE1MiwgNDcsIAorICAgIDIzMCwgMzUsIDIzLCAxMTQsIDQ4LCAyMTgsIDE0OCwgNywgNSwgMSwgMjA2LCAxOTYsIDIsIDE1MiwgNDcsIDIzMCwgMzUsIAorICAgIDIsIDIxNiwgMzYsIDcsIDUsIDEsIDIwNiwgMTI0LCAyLCAyMTUsIDE0NCwgNDgsIDIzMCwgMzQsIDY1LCAyNDksIDEyMywgMiwgCisgICAgMjMzLCAyLCAyNDksIDEyMiwgNjUsIDEsIDUsIDIzOSwgMzksIDY1LCAxLCA1LCAyMzAsIDE1OSwgMiwgMjMzLCAyLCAyMzAsIAorICAgIDY1LCAxODIsIDY1LCAxLCA1LCAyMzAsIDE1OSwgMiwgMjI2LCAyNDcsIDIxMSwgMTgwLCA2NSwgMSwgNSwgMTA2LCAyLCA0NywgCisgICAgMTA5LCA3LCA1LCAxLCAyMzMsIDIsIDI1MiwgMTQ0LCAyNywgMSwgNSwgNiwgMjIyLCAxNzAsIDIyNywgMTAxLCAyMjcsIAorICAgIDE2MCwgMSwgMjMxLCA0MywgMjI3LCAxMDEsIDIyNywgMTYwLCAxLCAyMTcsIDE2MSwgMjI3LCAxMDEsIDIyNywgMTYwLCAxLCAKKyAgICAyMzAsIDExNCwgMjI3LCAxMDEsIDIyNywgMTYwLCAxLCAyMjYsIDE5MiwgMjI3LCAxMDEsIDIyNywgMTYwLCAxLCAxNzksIAorICAgIDIyNywgMTAxLCAyMjcsIDE2MCwgMSwgMTk5LCAyMjcsIDEwMSwgMjI3LCAxNjAsIDEsIDI0OCwgNTAsIDIyNywgMTAxLCAKKyAgICAyMjcsIDE2MCwgMSwgMjExLCAxODIsIDIyNywgMTAxLCAyMjcsIDE2MCwgMSwgMjMxLCAxMzMsIDIyNywgMTAxLCAyMjcsIAorICAgIDE2MCwgMSwgMjI0LCAyNDgsIDIyNywgMTAxLCAyMjcsIDE2MCwgMSwgMjExLCAyNDUsIDIyNywgMTAxLCAyMjcsIDE2MCwgMSwgCisgICAgMjA3LCA5MCwgMjI3LCAxMDEsIDIyNywgMTYwLCAxLCAyMDYsIDc1LCAyMjcsIDEwMSwgMjI3LCAxNjAsIDEsIDIzOCwgMzUsIAorICAgIDIyNywgMTAxLCAyMjcsIDE2MCwgMSwgMjA5LCAyMzQsIDIyNywgMTAxLCAyMjcsIDE2MCwgMSwgNzQsIDIyNywgMTAxLCAKKyAgICAyMjcsIDE2MCwgMSwgMjIxLCA4NywgMjI3LCAxMDEsIDIyNywgMTYwLCAxLCAyNTEsIDE5NSwgMjI3LCAxMDEsIDIyNywgCisgICAgMTYwLCAxLCAyNDAsIDEyLCAyMjcsIDEwMSwgMjI3LCAxNjAsIDEsIDIzMiwgMTY4LCAyMjcsIDEwMSwgMjI3LCAxNjAsIDEsIAorICAgIDIxOSwgOTAsIDIyNywgMTAxLCAyMjcsIDE2MCwgMSwgMjUwLCAxODMsIDIyNywgMTAxLCAyMjcsIDE2MCwgMSwgMjMyLCAKKyAgICAxNTQsIDIyNywgMTAxLCAyMjcsIDE2MCwgMSwgMjQ1LCAxMjYsIDIyNywgMTAxLCAyMjcsIDE2MCwgMSwgMjQwLCA2OCwgCisgICAgMjI3LCAxMDEsIDIyNywgMTYwLCAxLCAyNDUsIDE3MCwgMjI3LCAxMDEsIDIyNywgMTYwLCAxLCAyNDksIDI1NCwgMjI3LCAKKyAgICAxMDEsIDIyNywgMTYwLCAxLCAyMzEsIDQ0LCAyMjksIDExNiwgMjI3LCAxMDEsIDIyNywgMTYwLCAxLCAyMzAsIDExNSwgCisgICAgMjI5LCAxMTYsIDIyNywgMTAxLCAyMjcsIDE2MCwgMSwgMjI2LCAxOTMsIDIyOSwgMTE2LCAyMjcsIDEwMSwgMjI3LCAxNjAsIAorICAgIDEsIDIyMiwgNTIsIDIyOSwgMTE2LCAyMjcsIDEwMSwgMjI3LCAxNjAsIDEsIDIyNSwgMjM3LCAyMjksIDExNiwgMjI3LCAKKyAgICAxMDEsIDIyNywgMTYwLCAxLCAyMTEsIDE4MywgMjI5LCAxMTYsIDIyNywgMTAxLCAyMjcsIDE2MCwgMSwgMjI0LCAyNDksIAorICAgIDIyOSwgMTE2LCAyMjcsIDEwMSwgMjI3LCAxNjAsIDEsIDIzNywgMjI1LCAyMjksIDExNiwgMjI3LCAxMDEsIDIyNywgMTYwLCAKKyAgICAyMiwgMywgMjIyLCAxNjQsIDIyNywgMTAxLCAyMjcsIDE2MCwgMjIsIDMsIDIzMywgNjYsIDIyNywgMTAxLCAyMjcsIDE2MCwgCisgICAgMjIsIDMsIDI1MiwgMTIxLCAyMjcsIDEwMSwgMjI3LCAxNjAsIDIyLCAzLCAyMDYsIDQxLCAyMjcsIDEwMSwgMjI3LCAxNjAsIAorICAgIDIyLCAzLCAyMTQsIDE2NiwgMjI3LCAxMDEsIDIyNywgMTYwLCAyMiwgMywgMjA5LCAyMzEsIDIyNywgMTAxLCAyMjcsIDE2MCwgCisgICAgMjIsIDMsIDI0OCwgNzIsIDIyNywgMTAxLCAyMjcsIDE2MCwgMjIsIDMsIDIyMywgMTcwLCAyMjcsIDEwMSwgMjI3LCAxNjAsIAorICAgIDI0OCwgNzMsIDIyNywgMTAxLCAyMjcsIDE2MCwgMjI5LCA2NiwgMjMyLCAyMDksIDIyNywgMTAxLCAyMjcsIDE2MCwgMjUyLCAKKyAgICA0MiwgMjMyLCAyMDksIDIyNywgMTAxLCAyMjcsIDE2MCwgMTgsIDIwNSwgODUsIDIyNywgMTAxLCAyMjcsIDE2MCwgMTgsIAorICAgIDEwMiwgMjI3LCAxMDEsIDIyNywgMTYwLCAxOCwgMTA1LCAyMjcsIDEwMSwgMjI3LCAxNjAsIDE4LCAxNDIsIDIyNywgMTAxLCAKKyAgICAyMjcsIDE2MCwgMTgsIDEzOSwgMjI3LCAxMDEsIDIyNywgMTYwLCAxOCwgMTY4LCAyMjcsIDEwMSwgMjI3LCAxNjAsIDE4LCAKKyAgICAxODQsIDIyNywgMTAxLCAyMjcsIDE2MCwgMTgsIDE5NSwgMjI3LCAxMDEsIDIyNywgMTYwLCAxOCwgMTkzLCAyMjcsIDEwMSwgCisgICAgMjI3LCAxNjAsIDE4LCAyMDAsIDI1LCAxNjIsIDIyMywgNTEsIDI1LCAxNjIsIDIyMywgNTYsIDI1LCAxNjIsIDIwNSwgMjQ2LCAKKyAgICAyNSwgMTYyLCAyMDUsIDI0NSwgMjUsIDE2MiwgMjA1LCAyNDQsIDI1LCAxNjIsIDIxMCwgNjgsIDI1LCAxNjIsIDIxMCwgNzIsIAorICAgIDI1LCAxNjIsIDIwNSwgMjExLCAyNSwgMTYyLCAyMDUsIDIwNywgMjUsIDE2MiwgMjQyLCAxOTEsIDI1LCAxNjIsIDI0MiwgCisgICAgMTg5LCAyNSwgMTYyLCAyNDIsIDE5MCwgMjUsIDE2MiwgMjQyLCAxODcsIDI1LCAxNjIsIDIzNywgMjE1LCAyNSwgMTYyLCAKKyAgICAyMzcsIDIxNCwgMjUsIDE2MiwgMjM3LCAyMTIsIDI1LCAxNjIsIDIzNywgMjEzLCAyNSwgMTYyLCAyMzcsIDIxOCwgMjUsIAorICAgIDE2MiwgMjM3LCAyMTEsIDI1LCAxNjIsIDIzNywgMjEwLCAyNSwgMTYyLCAyMzcsIDIyMCwgMjUsIDE2MiwgMjUyLCAyOSwgCisgICAgMjUsIDE2MiwgMjUyLCAyOCwgMjUsIDEwMCwgMjI0LCAyMTYsIDI1LCAxMDAsIDIyNCwgMjIyLCAyNSwgMTAwLCAyMTQsIDc3LCAKKyAgICAyNSwgMTAwLCAyMTQsIDc2LCAyNSwgMTAwLCAyMTEsIDE4OCwgMjUsIDEwMCwgMjExLCAxODYsIDI1LCAxMDAsIDIxMSwgCisgICAgMTg1LCAyNSwgMTAwLCAyMTEsIDE5MSwgMjUsIDEwMCwgMjExLCAxOTIsIDI1LCAxMDAsIDIxMSwgMTg0LCAyNSwgMTAwLCAKKyAgICAyMTgsIDE3NywgMjUsIDEwMCwgMjE4LCAxOTIsIDI1LCAxMDAsIDIxNCwgODMsIDI1LCAxMDAsIDIxOCwgMTg5LCAyNSwgCisgICAgMTAwLCAyMTgsIDE3OSwgMjUsIDEwMCwgMjE4LCAxODEsIDI1LCAxMDAsIDIxOCwgMTY4LCAyNSwgMTAwLCAyMTgsIDE2OSwgCisgICAgMjUsIDEwMCwgMjMyLCAxMCwgMjUsIDEwMCwgMjI2LCAyMzUsIDI1LCAxMDAsIDIyNiwgMjI5LCAyNSwgMTAwLCAyMTQsIDg3LCAKKyAgICAyNSwgMTAwLCAyMjYsIDIzMiwgMjUsIDEwMCwgMjI2LCAyMzgsIDI1LCAxMDAsIDIyMSwgMjAsIDI1LCAxMDAsIDIyMSwgMjksIAorICAgIDI1LCAxMDAsIDIyMSwgMzMsIDI1LCAxMDAsIDIxNCwgODUsIDI1LCAxMDAsIDIyMSwgMjMsIDI1LCAxMDAsIDIyMSwgMzcsIAorICAgIDI1LCAxMDAsIDIyMSwgMzgsIDI1LCAxMDAsIDIxNSwgMjUsIDI1LCAxMDAsIDIxNSwgMjgsIDI1LCAxMDAsIDIxNCwgODEsIAorICAgIDI1LCAxMDAsIDIxNCwgNzksIDI1LCAxMDAsIDIxNSwgMjMsIDI1LCAxMDAsIDIxNSwgMzEsIDI1LCAxMDAsIDIxNSwgMzIsIAorICAgIDI1LCAxMDAsIDIxNSwgMTcsIDI1LCAxMDAsIDIxNSwgMzAsIDI1LCAxMDAsIDIyMSwgMjQ1LCAyNSwgMTAwLCAyMjEsIDI0NiwgCisgICAgMjUsIDEwMCwgMjA2LCAyNywgMjUsIDEwMCwgMjA2LCAyOCwgMjUsIDEwMCwgMjQ3LCAyNDQsIDI1LCAxMDAsIDI0NywgMjQzLCAKKyAgICAyNSwgMTAwLCAyMTQsIDkyLCAyNSwgMTAwLCAyMjEsIDczLCAyNSwgMTAwLCAyMjEsIDcyLCAxMCwgMTUsIDIzNSwgOTMsIAorICAgIDEwLCAxNSwgMjM1LCA5MiwgMTAsIDE1LCAyMzUsIDkxLCAxMCwgMTUsIDIzNSwgOTAsIDEwLCAxNSwgMjM1LCA4OSwgMTAsIAorICAgIDE1LCAyMzUsIDg4LCAxMCwgMTUsIDIzNSwgODcsIDEwLCAxNSwgMjM1LCA4NiwgMTAsIDE1LCAyMzUsIDg1LCAxMCwgMTUsIAorICAgIDIzNSwgODQsIDEwLCAxNSwgMjM1LCA4MywgMTAsIDE1LCAyMzUsIDgyLCAxMCwgMTUsIDIzNSwgODEsIDEwLCAxNSwgMjM1LCAKKyAgICA4MCwgMTAsIDE1LCAyMzUsIDc5LCAxMCwgMTUsIDIzNSwgNzgsIDEwLCAxNSwgMjM1LCA3NywgMTAsIDE1LCAyMzUsIDc2LCAKKyAgICAxMCwgMTUsIDIzNSwgNzUsIDEwLCAxNSwgMjM1LCA3NCwgMTAsIDE1LCAyMzUsIDczLCAxMCwgMTUsIDIzNSwgNzIsIDEwLCAKKyAgICAxNSwgMjM1LCA3MSwgMTAsIDE1LCAyMzUsIDcwLCAxMCwgMTUsIDIzNSwgNjksIDEwLCAxNSwgMjM1LCA2OCwgMTAsIDE1LCAKKyAgICAyMzUsIDY3LCAxMCwgMTUsIDIzNSwgNjYsIDEwLCAxNSwgMjM1LCA2NSwgMTAsIDE1LCAyMzUsIDY0LCAxMCwgMTUsIDIzNSwgCisgICAgNjMsIDEwLCAxNSwgMjM1LCA2MiwgMTAsIDE1LCAyMzUsIDYxLCAxMCwgMTUsIDIzNSwgNjAsIDEwLCAxNSwgMjM1LCA1OSwgCisgICAgMTAsIDE1LCAyMzUsIDU4LCAxMCwgMTUsIDIzNSwgNTcsIDEwLCAxNSwgMjM1LCA1NiwgMTAsIDE1LCAyMzUsIDU1LCAxMCwgCisgICAgMTUsIDIzNSwgNTQsIDEwLCAxNSwgMjM1LCA1MywgMTAsIDE1LCAyMzUsIDUyLCAxMCwgMTUsIDIzNSwgNTEsIDEwLCAxNSwgCisgICAgMjM1LCA1MCwgMTAsIDE1LCAyMzUsIDQ5LCAxMCwgMTUsIDIzNSwgNDgsIDEwLCAxNSwgMjM1LCA0NywgMTAsIDE1LCAyMzUsIAorICAgIDQ2LCAxMCwgMTUsIDIzNSwgNDUsIDEwLCAxNSwgMjM1LCA0NCwgMTAsIDE1LCAyMzUsIDQzLCAxMCwgMTUsIDIzNSwgNDIsIAorICAgIDEwLCAxNSwgMjM1LCA0MSwgMTAsIDE1LCAyMzUsIDQwLCAxMCwgMTUsIDIzNSwgMzksIDEwLCAxNSwgMjM1LCAzOCwgMTAsIAorICAgIDE1LCAyMzUsIDM3LCAxMCwgMTUsIDIzNSwgMzYsIDEwLCAxNSwgMjM1LCAzNSwgMTAsIDE1LCAyMzUsIDM0LCAxMCwgMTUsIAorICAgIDIzNSwgMzMsIDEwLCAxNSwgMjM1LCAzMiwgMTAsIDE1LCAyMzUsIDMxLCAxMCwgMTUsIDIzNSwgMzAsIDEwLCAxNSwgMjM1LCAKKyAgICAyOSwgMTAsIDE1LCAyMzUsIDI4LCAxMCwgMTUsIDIzNSwgMjcsIDEwLCAxNSwgMjM1LCAyNiwgMTAsIDE1LCAyMzUsIDI1LCAKKyAgICAxMCwgMTUsIDIzNSwgMjQsIDEwLCAxNSwgMjM1LCAyMywgMTAsIDE1LCAyMzUsIDIyLCAxMCwgMTUsIDIzNSwgMjEsIDEwLCAKKyAgICAxNSwgMjM1LCAyMCwgMTAsIDE1LCAyMzUsIDE5LCAxMCwgMTUsIDIzNSwgMTgsIDEwLCAxNSwgMjM1LCAxNywgMTAsIDE1LCAKKyAgICAyMzUsIDE2LCAxMCwgMTUsIDIzNSwgMTUsIDEwLCAxNSwgMjM1LCAxNCwgMTAsIDE1LCAyMzUsIDEzLCAxMCwgMTUsIDIzNSwgCisgICAgMTIsIDEwLCAxNSwgMjM1LCAxMSwgMTAsIDE1LCAyMzUsIDEwLCAxMCwgMTUsIDIzNSwgOSwgMTAsIDE1LCAyMzUsIDgsIDEwLCAKKyAgICAxNSwgMjM1LCA3LCAxMCwgMTUsIDIzNSwgNiwgMTAsIDE1LCAyMzUsIDUsIDEwLCAxNSwgMjM1LCA0LCAxMCwgMTUsIDIzNSwgCisgICAgMywgMTAsIDE1LCAyMzUsIDIsIDEwLCAxNSwgMjM1LCAxLCAxMCwgMTUsIDIzNSwgMCwgMTAsIDE1LCAyMzQsIDI1NSwgMTAsIAorICAgIDE1LCAyMzQsIDI1NCwgMTAsIDE1LCAyMzQsIDI1MywgMTAsIDE1LCAyMzQsIDI1MiwgMTAsIDE1LCAyMzQsIDI1MSwgMTAsIAorICAgIDE1LCAyMzQsIDI1MCwgMTAsIDE1LCAyMzQsIDI0OSwgMTAsIDE1LCAyMzQsIDI0OCwgMTAsIDE1LCAyMzQsIDI0NywgMTAsIAorICAgIDE1LCAyMzQsIDI0NiwgMTAsIDE1LCAyMzQsIDI0NSwgMTAsIDE1LCAyMzQsIDI0NCwgMTAsIDE1LCAyMzQsIDI0MywgMTAsIAorICAgIDE1LCAyMzQsIDI0MiwgMTAsIDE1LCAyMzQsIDI0MSwgMTAsIDE1LCAyMzQsIDI0MCwgMTAsIDE1LCAyMzQsIDIzOSwgMTAsIAorICAgIDE1LCAyMzQsIDIzOCwgMTAsIDE1LCAyMzQsIDIzNywgMTAsIDE1LCAyMzQsIDIzNiwgMTAsIDE1LCAyMzQsIDIzNSwgMTAsIAorICAgIDE1LCAyMzQsIDIzNCwgMTAsIDE1LCAyMzQsIDIzMywgMTAsIDE1LCAyMzQsIDIzMiwgMTAsIDE1LCAyMzQsIDIzMSwgMTAsIAorICAgIDE1LCAyMzQsIDIzMCwgMTAsIDE1LCAyMzQsIDIyOSwgMTAsIDE1LCAyMzQsIDIyOCwgMTAsIDE1LCAyMzQsIDIyNywgMTAsIAorICAgIDE1LCAyMzQsIDIyNiwgMTAsIDE1LCAyMzQsIDIyNSwgMTAsIDE1LCAyMzQsIDIyNCwgMTAsIDE1LCAyMzQsIDIyMywgMTAsIAorICAgIDE1LCAyMzQsIDIyMiwgMTAsIDE1LCAyMzQsIDIyMSwgMTAsIDE1LCAyMzQsIDIyMCwgMTAsIDE1LCAyMzQsIDIxOSwgMTAsIAorICAgIDE1LCAyMzQsIDIxOCwgMTAsIDE1LCAyMzQsIDIxNywgMTAsIDE1LCAyMzQsIDIxNiwgMTAsIDE1LCAyMzQsIDIxNSwgMTAsIAorICAgIDE1LCAyMzQsIDIxNCwgMTAsIDE1LCAyMzQsIDIxMywgMTAsIDE1LCAyMzQsIDIxMiwgMTAsIDE1LCAyMzQsIDIxMSwgMTAsIAorICAgIDE1LCAyMzQsIDIxMCwgMTAsIDE1LCAyMzQsIDIwOSwgMTAsIDE1LCAyMzQsIDIwOCwgMTAsIDE1LCAyMzQsIDIwNywgMTAsIAorICAgIDE1LCAyMzQsIDIwNiwgMTAsIDE1LCAyMzQsIDIwNSwgMTAsIDE1LCAyMzQsIDIwNCwgMTAsIDE1LCAyMzQsIDIwMywgMTAsIAorICAgIDE1LCAyMzQsIDIwMiwgMTAsIDE1LCAyMzQsIDIwMSwgMTAsIDE1LCAyMzQsIDIwMCwgMTAsIDE1LCAyMzQsIDE5OSwgMTAsIAorICAgIDE1LCAyMzQsIDE5OCwgMTAsIDE1LCAyMzQsIDE5NywgMTAsIDE1LCAyMzQsIDE5NiwgMTAsIDE1LCAyMzQsIDE5NSwgMTAsIAorICAgIDE1LCAyMzQsIDE5NCwgMTAsIDE1LCAyMzQsIDE5MywgMTAsIDE1LCAyMzQsIDE5MiwgMTAsIDE1LCAyMzQsIDE5MSwgMTAsIAorICAgIDE1LCAyMzQsIDE5MCwgMTAsIDE1LCAyMzQsIDE4OSwgMTAsIDE1LCAyMzQsIDE4OCwgMTAsIDE1LCAyMzQsIDE4NywgMTAsIAorICAgIDE1LCAyMzQsIDE4NiwgMTAsIDE1LCAyMzQsIDE4NSwgMTAsIDE1LCAyMzQsIDE4NCwgMTAsIDE1LCAyMzQsIDE4MywgMTAsIAorICAgIDE1LCAyMzQsIDE4MiwgMTAsIDE1LCAyMzQsIDE4MSwgMTAsIDE1LCAyMzQsIDE4MCwgMTAsIDE1LCAyMzQsIDE3OSwgMTAsIAorICAgIDE1LCAyMzQsIDE3OCwgMTAsIDE1LCAyMzQsIDE3NywgMTAsIDE1LCAyMzQsIDE3NiwgMTAsIDE1LCAyMzQsIDE3NSwgMTAsIAorICAgIDE1LCAyMzQsIDE3NCwgMTAsIDE1LCAyMzQsIDE3MywgMTAsIDE1LCAyMzQsIDE3MiwgMTAsIDE1LCAyMzQsIDE3MSwgMTAsIAorICAgIDE1LCAyMzQsIDE3MCwgMTAsIDE1LCAyMzQsIDE2OSwgMTAsIDE1LCAyMzQsIDE2OCwgMTAsIDE1LCAyMzQsIDE2NywgMTAsIAorICAgIDE1LCAyMzQsIDE2NiwgMTAsIDE1LCAyMzQsIDE2NSwgMTAsIDE1LCAyMzQsIDE2NCwgMTAsIDE1LCAyMzQsIDE2MywgMTAsIAorICAgIDE1LCAyMzQsIDE2MiwgMTAsIDE1LCAyMzQsIDE2MSwgMTAsIDE1LCAyMzQsIDE2MCwgMTAsIDE1LCAyMzQsIDE1OSwgMTAsIAorICAgIDE1LCAyMzQsIDE1OCwgMTAsIDE1LCAyMzQsIDE1NywgMTAsIDE1LCAyMzQsIDE1NiwgMTAsIDE1LCAyMzQsIDE1NSwgMTAsIAorICAgIDE1LCAyMzQsIDE1NCwgMTAsIDE1LCAyMzQsIDE1MywgMTAsIDE1LCAyMzQsIDE1MiwgMTAsIDE1LCAyMzQsIDE1MSwgMTAsIAorICAgIDE1LCAyMzQsIDE1MCwgMTAsIDE1LCAyMzQsIDE0OSwgMTAsIDE1LCAyMzQsIDE0OCwgMTAsIDE1LCAyMzQsIDE0NywgMTAsIAorICAgIDE1LCAyMzQsIDE0NiwgMTAsIDE1LCAyMzQsIDE0NSwgMTAsIDE1LCAyMzQsIDE0NCwgMTAsIDE1LCAyMzQsIDE0MywgMTAsIAorICAgIDE1LCAyMzQsIDE0MiwgMTAsIDE1LCAyMzQsIDE0MSwgMTAsIDE1LCAyMzQsIDE0MCwgMTAsIDE1LCAyMzQsIDEzOSwgMTAsIAorICAgIDE1LCAyMzQsIDEzOCwgMTAsIDE1LCAyMzQsIDEzNywgMTAsIDE1LCAyMzQsIDEzNiwgMTAsIDE1LCAyMzQsIDEzNSwgMTAsIAorICAgIDE1LCAyMzQsIDEzNCwgMTAsIDE1LCAyMzQsIDEzMywgMTAsIDE1LCAyMzQsIDEzMiwgMTAsIDE1LCAyMzQsIDEzMSwgMTAsIAorICAgIDE1LCAyMzQsIDEzMCwgMTAsIDE1LCAyMzQsIDEyOSwgMTAsIDE1LCAyMzQsIDEyOCwgMTAsIDE1LCAyMzQsIDEyNywgMTAsIAorICAgIDE1LCAyMzQsIDEyNiwgMTAsIDE1LCAyMzQsIDEyNSwgMTAsIDE1LCAyMzQsIDEyNCwgMTAsIDE1LCAyMzQsIDEyMywgMTAsIAorICAgIDE1LCAyMzQsIDEyMiwgMTAsIDE1LCAyMzQsIDEyMSwgMTAsIDE1LCAyMzQsIDEyMCwgMTAsIDE1LCAyMzQsIDExOSwgMTAsIAorICAgIDE1LCAyMzQsIDExOCwgMTAsIDE1LCAyMzQsIDExNywgMTAsIDE1LCAyMzQsIDExNiwgMTAsIDE1LCAyMzQsIDExNSwgMTAsIAorICAgIDE1LCAyMzQsIDExNCwgMTAsIDE1LCAyMzQsIDExMywgMTAsIDE1LCAyMzQsIDExMiwgMTAsIDE1LCAyMzQsIDExMSwgMTAsIAorICAgIDE1LCAyMzQsIDExMCwgMTAsIDE1LCAyMzQsIDEwOSwgMTAsIDE1LCAyMzQsIDEwOCwgMTAsIDE1LCAyMzQsIDEwNywgMTAsIAorICAgIDE1LCAyMzQsIDEwNiwgMTAsIDE1LCAyMzQsIDEwNSwgMTAsIDE1LCAyMzQsIDEwNCwgMTAsIDE1LCAyMzQsIDEwMywgMTAsIAorICAgIDE1LCAyMzQsIDEwMiwgMTAsIDE1LCAyMzQsIDEwMSwgMTAsIDE1LCAyMzQsIDEwMCwgMTAsIDE1LCAyMzQsIDk5LCAxMCwgCisgICAgMTUsIDIzNCwgOTgsIDEwLCAxNSwgMjM0LCA5NywgMTAsIDE1LCAyMzQsIDk2LCAxMCwgMTUsIDIzNCwgOTUsIDEwLCAxNSwgCisgICAgMjM0LCA5NCwgMTAsIDE1LCAyMzQsIDkzLCAxMCwgMTUsIDIzNCwgOTIsIDEwLCAxNSwgMjM0LCA5MSwgMTAsIDE1LCAyMzQsIAorICAgIDkwLCAxMCwgMTUsIDIzNCwgODksIDEwLCAxNSwgMjM0LCA4OCwgMTAsIDE1LCAyMzQsIDg3LCAxMCwgMTUsIDIzNCwgODYsIAorICAgIDEwLCAxNSwgMjM0LCA4NSwgMTAsIDE1LCAyMzQsIDg0LCAxMCwgMTUsIDIzNCwgODMsIDEwLCAxNSwgMjM0LCA4MiwgMTAsIAorICAgIDE1LCAyMzQsIDgxLCAxMCwgMTUsIDIzNCwgODAsIDEwLCAxNSwgMjM0LCA3OSwgMTAsIDE1LCAyMzQsIDc4LCAxMCwgMTUsIAorICAgIDIzNCwgNzcsIDEwLCAxNSwgMjM0LCA3NiwgMTAsIDE1LCAyMzQsIDc1LCAxMCwgMTUsIDIzNCwgNzQsIDEwLCAxNSwgMjM0LCAKKyAgICA3MywgMTAsIDE1LCAyMzQsIDcyLCAxMCwgMTUsIDIzNCwgNzEsIDEwLCAxNSwgMjM0LCA3MCwgMTAsIDE1LCAyMzQsIDY5LCAKKyAgICAxMCwgMTUsIDIzNCwgNjgsIDEwLCAxNSwgMjM0LCA2NywgMTAsIDE1LCAyMzQsIDY2LCAxMCwgMTUsIDIzNCwgNjUsIDEwLCAKKyAgICAxNSwgMjM0LCA2NCwgMTAsIDE1LCAyMzQsIDYzLCAxMCwgMTUsIDIzNCwgNjIsIDEwLCAxNSwgMjM0LCA2MSwgMTAsIDE1LCAKKyAgICAyMzQsIDYwLCAxMCwgMTUsIDIzNCwgNTksIDEwLCAxNSwgMjM0LCA1OCwgMTAsIDE1LCAyMzQsIDU3LCAxMCwgMTUsIDIzNCwgCisgICAgNTYsIDEwLCAxNSwgMjM0LCA1NSwgMTAsIDE1LCAyMzQsIDU0LCAxMCwgMTUsIDIzNCwgNTMsIDEwLCAxNSwgMjM0LCA1MiwgCisgICAgMTAsIDE1LCAyMzQsIDUxLCAxMCwgMTUsIDIzNCwgNTAsIDEwLCAxNSwgMjM0LCA0OSwgMTAsIDE1LCAyMzQsIDQ4LCAxMCwgCisgICAgMTUsIDIzNCwgNDcsIDEwLCAxNSwgMjM0LCA0NiwgMTAsIDE1LCAyMzQsIDQ1LCAxMCwgMTUsIDIzNCwgNDQsIDEwLCAxNSwgCisgICAgMjM0LCA0MywgMTAsIDE1LCAyMzQsIDQyLCAxMCwgMTUsIDIzNCwgNDEsIDEwLCAxNSwgMjM0LCA0MCwgMTAsIDE1LCAyMzQsIAorICAgIDM5LCAxMCwgMTUsIDIzNCwgMzgsIDEwLCAxNSwgMjM0LCAzNywgMTAsIDE1LCAyMzQsIDM2LCAxMCwgMTUsIDIzNCwgMzUsIAorICAgIDEwLCAxNSwgMjM0LCAzNCwgMTAsIDE1LCAyMzQsIDMzLCAxMCwgMTUsIDIzNCwgMzIsIDEwLCAxNSwgMjM0LCAzMSwgMTAsIAorICAgIDE1LCAyMzQsIDMwLCAxMCwgMTUsIDIzNCwgMjksIDEwLCAxNSwgMjM0LCAyOCwgMTAsIDE1LCAyMzQsIDI3LCAxMCwgMTUsIAorICAgIDIzNCwgMjYsIDEwLCAxNSwgMjM0LCAyNSwgMTAsIDE1LCAyMzQsIDI0LCAxMCwgMTUsIDIzNCwgMjMsIDEwLCAxNSwgMjM0LCAKKyAgICAyMiwgMTAsIDE1LCAyMzQsIDIxLCAxMCwgMTUsIDIzNCwgMjAsIDEwLCAxNSwgMjM0LCAxOSwgMTAsIDE1LCAyMzQsIDE4LCAKKyAgICAxMCwgMTUsIDIzNCwgMTcsIDEwLCAxNSwgMjM0LCAxNiwgMTAsIDE1LCAyMzQsIDE1LCAxMCwgMTUsIDIzNCwgMTQsIDEwLCAKKyAgICAxNSwgMjM0LCAxMywgMTAsIDE1LCAyMzQsIDEyLCAxMCwgMTUsIDIzNCwgMTEsIDEwLCAxNSwgMjM0LCAxMCwgMTAsIDE1LCAKKyAgICAyMzQsIDksIDEwLCAxNSwgMjM0LCA4LCAxMCwgMTUsIDIzNCwgNywgMTAsIDE1LCAyMzQsIDYsIDEwLCAxNSwgMjM0LCA1LCAKKyAgICAxMCwgMTUsIDIzNCwgNCwgMTAsIDE1LCAyMzQsIDMsIDEwLCAxNSwgMjM0LCAyLCAxMCwgMTUsIDIzNCwgMSwgMTAsIDE1LCAKKyAgICAyMzQsIDAsIDEwLCAxNSwgMjMzLCAyNTUsIDEwLCAxNSwgMjMzLCAyNTQsIDEwLCAxNSwgMjMzLCAyNTMsIDEwLCAxNSwgCisgICAgMjMzLCAyNTIsIDEwLCAxNSwgMjMzLCAyNTEsIDEwLCAxNSwgMjMzLCAyNTAsIDEwLCAxNSwgMjMzLCAyNDksIDEwLCAxNSwgCisgICAgMjMzLCAyNDgsIDEwLCAxNSwgMjMzLCAyNDcsIDEwLCAxNSwgMjMzLCAyNDYsIDEwLCAxNSwgMjMzLCAyNDUsIDEwLCAxNSwgCisgICAgMjMzLCAyNDQsIDEwLCAxNSwgMjMzLCAyNDMsIDEwLCAxNSwgMjMzLCAyNDIsIDEwLCAxNSwgMjMzLCAyNDEsIDEwLCAxNSwgCisgICAgMjMzLCAyNDAsIDEwLCAxNSwgMjMzLCAyMzksIDEwLCAxNSwgMjMzLCAyMzgsIDEwLCAxNSwgMjMzLCAyMzcsIDEwLCAxNSwgCisgICAgMjMzLCAyMzYsIDEwLCAxNSwgMjMzLCAyMzUsIDEwLCAxNSwgMjMzLCAyMzQsIDEwLCAxNSwgMjMzLCAyMzMsIDEwLCAxNSwgCisgICAgMjMzLCAyMzIsIDEwLCAxNSwgMjMzLCAyMzEsIDEwLCAxNSwgMjMzLCAyMzAsIDEwLCAxNSwgMjMzLCAyMjksIDEwLCAxNSwgCisgICAgMjMzLCAyMjgsIDEwLCAxNSwgMjMzLCAyMjcsIDEwLCAxNSwgMjMzLCAyMjYsIDEwLCAxNSwgMjMzLCAyMjUsIDEwLCAxNSwgCisgICAgMjMzLCAyMjQsIDEwLCAxNSwgMjMzLCAyMjMsIDEwLCAxNSwgMjMzLCAyMjIsIDEwLCAxNSwgMjMzLCAyMjEsIDEwLCAxNSwgCisgICAgMjMzLCAyMjAsIDEwLCAxNSwgMjMzLCAyMTksIDEwLCAxNSwgMjMzLCAyMTgsIDEwLCAxNSwgMjMzLCAyMTcsIDEwLCAxNSwgCisgICAgMjMzLCAyMTYsIDEwLCAxNSwgMjMzLCAyMTUsIDEwLCAxNSwgMjMzLCAyMTQsIDEwLCAxNSwgMjMzLCAyMTMsIDEwLCAxNSwgCisgICAgMjMzLCAyMTIsIDEwLCAxNSwgMjMzLCAyMTEsIDEwLCAxNSwgMjMzLCAyMTAsIDEwLCAxNSwgMjMzLCAyMDksIDEwLCAxNSwgCisgICAgMjMzLCAyMDgsIDEwLCAxNSwgMjMzLCAyMDcsIDEwLCAxNSwgMjMzLCAyMDYsIDEwLCAxNSwgMjMzLCAyMDUsIDEwLCAxNSwgCisgICAgMjMzLCAyMDQsIDEwLCAxNSwgMjMzLCAyMDMsIDEwLCAxNSwgMjMzLCAyMDIsIDEwLCAxNSwgMjMzLCAyMDEsIDEwLCAxNSwgCisgICAgMjMzLCAyMDAsIDEwLCAxNSwgMjMzLCAxOTksIDEwLCAxNSwgMjMzLCAxOTgsIDEwLCAxNSwgMjMzLCAxOTcsIDEwLCAxNSwgCisgICAgMjMzLCAxOTYsIDEwLCAxNSwgMjMzLCAxOTUsIDEwLCAxNSwgMjMzLCAxOTQsIDEwLCAxNSwgMjMzLCAxOTMsIDEwLCAxNSwgCisgICAgMjMzLCAxOTIsIDEwLCAxNSwgMjMzLCAxOTEsIDEwLCAxNSwgMjMzLCAxOTAsIDEwLCAxNSwgMjMzLCAxODksIDEwLCAxNSwgCisgICAgMjMzLCAxODgsIDEwLCAxNSwgMjMzLCAxODcsIDEwLCAxNSwgMjMzLCAxODYsIDEwLCAxNSwgMjMzLCAxODUsIDEwLCAxNSwgCisgICAgMjMzLCAxODQsIDEwLCAxNSwgMjMzLCAxODMsIDEwLCAxNSwgMjMzLCAxODIsIDEwLCAxNSwgMjMzLCAxODEsIDEwLCAxNSwgCisgICAgMjMzLCAxODAsIDEwLCAxNSwgMjMzLCAxNzksIDEwLCAxNSwgMjMzLCAxNzgsIDEwLCAxNSwgMjMzLCAxNzcsIDEwLCAxNSwgCisgICAgMjMzLCAxNzYsIDEwLCAxNSwgMjMzLCAxNzUsIDEwLCAxNSwgMjMzLCAxNzQsIDEwLCAxNSwgMjMzLCAxNzMsIDEwLCAxNSwgCisgICAgMjMzLCAxNzIsIDEwLCAxNSwgMjMzLCAxNzEsIDEwLCAxNSwgMjMzLCAxNzAsIDEwLCAxNSwgMjMzLCAxNjksIDEwLCAxNSwgCisgICAgMjMzLCAxNjgsIDEwLCAxNSwgMjMzLCAxNjcsIDEwLCAxNSwgMjMzLCAxNjYsIDEwLCAxNSwgMjMzLCAxNjUsIDEwLCAxNSwgCisgICAgMjMzLCAxNjQsIDEwLCAxNSwgMjMzLCAxNjMsIDEwLCAxNSwgMjMzLCAxNjIsIDEwLCAxNSwgMjMzLCAxNjEsIDEwLCAxNSwgCisgICAgMjMzLCAxNjAsIDEwLCAxNSwgMjMzLCAxNTksIDEwLCAxNSwgMjMzLCAxNTgsIDEwLCAxNSwgMjMzLCAxNTcsIDEwLCAxNSwgCisgICAgMjMzLCAxNTYsIDEwLCAxNSwgMjMzLCAxNTUsIDEwLCAxNSwgMjMzLCAxNTQsIDEwLCAxNSwgMjMzLCAxNTMsIDEwLCAxNSwgCisgICAgMjMzLCAxNTIsIDEwLCAxNSwgMjMzLCAxNTEsIDEwLCAxNSwgMjMzLCAxNTAsIDEwLCAxNSwgMjMzLCAxNDksIDEwLCAxNSwgCisgICAgMjMzLCAxNDgsIDEwLCAxNSwgMjMzLCAxNDcsIDEwLCAxNSwgMjMzLCAxNDYsIDEwLCAxNSwgMjMzLCAxNDUsIDEwLCAxNSwgCisgICAgMjMzLCAxNDQsIDEwLCAxNSwgMjMzLCAxNDMsIDEwLCAxNSwgMjMzLCAxNDIsIDEwLCAxNSwgMjMzLCAxNDEsIDEwLCAxNSwgCisgICAgMjMzLCAxNDAsIDEwLCAxNSwgMjMzLCAxMzksIDEwLCAxNSwgMjMzLCAxMzgsIDEwLCAxNSwgMjMzLCAxMzcsIDEwLCAxNSwgCisgICAgMjMzLCAxMzYsIDEwLCAxNSwgMjMzLCAxMzUsIDEwLCAxNSwgMjMzLCAxMzQsIDcsIDUsIDI4LCAyNDEsIDI1NCwgNywgNSwgCisgICAgMjgsIDI0MSwgMjUwLCA3LCA1LCAyOCwgMjQxLCAxOTksIDcsIDUsIDI4LCAyNDEsIDI1MywgNywgNSwgMjgsIDI0MSwgMjUyLCAKKyAgICA3LCA1LCAyOCwgMTUyLCAyMTgsIDEsIDIxMywgMTAsIDcsIDUsIDI4LCAyMTQsIDQwLCAxNjQsIDUsIDI4LCAyMjcsIDg0LCAKKyAgICAyMjQsIDI5LCAxNjQsIDUsIDI4LCAyMjcsIDg0LCAyNDMsIDEwOCwgMTY0LCA1LCAyOCwgMjI3LCA4NCwgMjMzLCAzOCwgCisgICAgMTY0LCA1LCAyOCwgMjA4LCAyMTksIDIyNCwgMjksIDE2NCwgNSwgMjgsIDIyNywgODQsIDIwNiwgMTczLCAxMDMsIDEsIAorICAgIDIwNSwgMjM3LCAyLCAyMzgsIDI0NCwgMTAzLCAyMjAsIDIwNSwgMjMyLCAxMDMsIDIwOSwgNTEsIDEwMywgMjgsIDIwNiwgOSwgCisgICAgMjA1LCAyMzcsIDIwNSwgMjM3LCAyMjEsIDE5NCwgMTAzLCAxLCAyNTIsIDEzOSwgMjUxLCAxNTQsIDEwMywgMSwgMjA3LCAKKyAgICAxNywgMjUyLCAxNzIsIDEwMywgMSwgMjA3LCAxNywgMjQ2LCAxMTEsIDEwMywgMSwgMjA3LCAxNywgMjM5LCA3MSwgMTAzLCAKKyAgICAxLCAyMDcsIDE3LCAyMzIsIDQ1LCAxMDMsIDEsIDIwNywgMTcsIDIzMCwgOTgsIDEwMywgMSwgMjA3LCAxNywgNDIsIDIyNywgCisgICAgOTAsIDEwMywgMSwgMjA3LCAxNywgMjE4LCAyNDIsIDEwMywgMSwgMjA3LCAxNywgMjEyLCAxNDcsIDEwMywgMSwgMjUyLCAKKyAgICAxMzksIDEwMSwgNTMsIDEwMywgMSwgMjE1LCAxNzIsIDIsIDIxNSwgMTcyLCAyNDUsIDIzLCAxMDMsIDEsIDIxNSwgMTcyLCAKKyAgICAyLCAyMTUsIDQ1LCAyNDUsIDIzLCAxMDMsIDEsIDIxNSwgMTcyLCAyLCAyNDYsIDEzMSwgMjMsIDIxNSwgMTcyLCAyNDUsIAorICAgIDIzLCAxMDMsIDEsIDIxNSwgMTcyLCAyLCAyNDYsIDEzMSwgMjMsIDIxNSwgNDUsIDI0NSwgMjMsIDEwMywgMSwgMTI2LCAyLCAKKyAgICAyMjEsIDE5NCwgMTAzLCAxLCAxMjYsIDIsIDIyMCwgNywgMTAzLCAxLCAxMjYsIDIsIDIyNywgMjA0LCAxMDMsIDEsIDI1MCwgCisgICAgMTEsIDIsIDI0NiwgMTMwLCAxMDMsIDEsIDI0MCwgNDgsIDIsIDI0NiwgMTMwLCAxMDMsIDEsIDI0NiwgMTEyLCAyLCAyNDYsIAorICAgIDEzMCwgMTAzLCAxLCAyMzksIDcyLCAyLCAyMjcsIDIwNCwgMTAzLCAxLCAyMDksIDQ0LCAyLCAyNDYsIDEzMCwgMTAzLCAxLCAKKyAgICAyMDUsIDk3LCAyLCAyNDYsIDEzMCwgMTAzLCAxLCAyMTIsIDgxLCAyLCAyNDYsIDEzMCwgMTAzLCAxLCAyMDUsIDIzNywgMiwgCisgICAgMjQ2LCAxMzAsIDEwMywgMSwgNDIsIDIzMiwgNDYsIDIsIDI0NiwgMTMwLCAxMDMsIDEsIDIzMiwgNDYsIDIsIDI0NiwgMTMwLCAKKyAgICAxMDMsIDEsIDIzMCwgOTksIDIsIDI0NiwgMTMwLCAxMDMsIDEsIDIyNywgOTEsIDIsIDI0NiwgMTMwLCAxMDMsIDEsIDIyMywgCisgICAgMTc0LCAyLCAyNDYsIDEzMCwgMTAzLCAxLCAyMTcsIDE1OCwgMiwgMjQ2LCAxMzAsIDEwMywgMSwgNDIsIDIyMSwgMTc1LCAyLCAKKyAgICAyNDYsIDEzMCwgMTAzLCAxLCAyMjEsIDE3NSwgMiwgMjQ2LCAxMzAsIDEwMywgMSwgMjEwLCAyMzksIDIsIDI0NiwgMTMwLCAKKyAgICAxMDMsIDEsIDIxOSwgMjI0LCAyLCAyNDYsIDEzMCwgMTAzLCAxLCAyMTgsIDI0MywgMiwgMjQ2LCAxMzAsIDEwMywgMSwgCisgICAgMjE1LCAxNzIsIDIsIDI0NiwgMTMwLCAxMDMsIDEsIDIxMiwgMTQ4LCAyLCAyNDYsIDEzMCwgMTAzLCAxLCAyMDksIDQ0LCAyLCAKKyAgICAyMzgsIDE0MiwgMTAzLCAxLCAyNTAsIDExLCAyLCAyMTksIDkzLCAxMDMsIDEsIDIzMiwgNDYsIDIsIDIxOSwgOTMsIDEwMywgCisgICAgMSwgMjIxLCAxNzUsIDIsIDIxOSwgOTMsIDEwMywgMjgsIDEyNiwgMjMwLCA5OCwgOCwgMSwgMTI2LCAyMDcsIDc3LCA2MSwgCisgICAgMTcsIDgsIDEsIDEyNiwgMjA3LCA3NywgNDIsIDE3LCA4LCAxLCAyNTAsIDQ5LCA2MSwgMTcsIDgsIDEsIDI1MCwgNDksIDQyLCAKKyAgICAxNywgOCwgMSwgMjUwLCA0OSwgNzgsIDE3LCA4LCAxLCAyNTAsIDQ5LCAxNjksIDE3LCA4LCAxLCAyMjEsIDE1OCwgNjEsIAorICAgIDE3LCA4LCAxLCAyMjEsIDE1OCwgNDIsIDE3LCA4LCAxLCAyMjEsIDE1OCwgNzgsIDE3LCA4LCAxLCAyMjEsIDE1OCwgMTY5LCAKKyAgICAxNywgOCwgMSwgMjUwLCAzNywgNjEsIDE3LCA4LCAxLCAyNTAsIDM3LCA0MiwgMTcsIDgsIDEsIDI1MCwgMzcsIDc4LCAxNywgCisgICAgOCwgMSwgMjUwLCAzNywgMTY5LCAxNywgOCwgMSwgMjEwLCAxOTksIDYxLCAxNywgOCwgMSwgMjEwLCAxOTksIDQyLCAxNywgCisgICAgOCwgMSwgMjEwLCAxOTksIDc4LCAxNywgOCwgMSwgMjEwLCAxOTksIDE2OSwgMTcsIDgsIDEsIDIxMiwgMTE0LCA2MSwgMTcsIAorICAgIDgsIDEsIDIxMiwgMTE0LCA0MiwgMTcsIDgsIDEsIDIxMiwgMTE0LCA3OCwgMTcsIDgsIDEsIDIxMiwgMTE0LCAxNjksIDE3LCAKKyAgICA4LCAxLCAyMTAsIDIwMSwgNjEsIDE3LCA4LCAxLCAyMTAsIDIwMSwgNDIsIDE3LCA4LCAxLCAyMTAsIDIwMSwgNzgsIDE3LCAKKyAgICA4LCAxLCAyMTAsIDIwMSwgMTY5LCAxNywgOCwgMSwgMjA5LCAzMywgNjEsIDE3LCA4LCAxLCAyMDksIDMzLCA0MiwgMTcsIDgsIAorICAgIDEsIDIwOSwgMzMsIDc4LCAxNywgOCwgMSwgMjA5LCAzMywgMTY5LCAxNywgOCwgMSwgMjIxLCAxNTYsIDYxLCAxNywgOCwgMSwgCisgICAgMjIxLCAxNTYsIDQyLCAxNywgOCwgMSwgMjIxLCAxNTYsIDc4LCAxNywgOCwgMSwgMjIxLCAxNTYsIDE2OSwgMTcsIDgsIDEsIAorICAgIDI0MywgMjAyLCA2MSwgMTcsIDgsIDEsIDI0MywgMjAyLCA0MiwgMTcsIDgsIDEsIDI0MywgMjAyLCA3OCwgMTcsIDgsIDEsIAorICAgIDI0MywgMjAyLCAxNjksIDE3LCA4LCAxLCAyMjMsIDEzMiwgNjEsIDE3LCA4LCAxLCAyMjMsIDEzMiwgNDIsIDE3LCA4LCAxLCAKKyAgICAyMjMsIDEzMiwgNzgsIDE3LCA4LCAxLCAyMjMsIDEzMiwgMTY5LCAxNywgOCwgMSwgMjEyLCAxMzYsIDYxLCAxNywgOCwgMSwgCisgICAgMjEyLCAxMzYsIDQyLCAxNywgOCwgMSwgMjEyLCAxMzYsIDc4LCAxNywgOCwgMSwgMjEyLCAxMzYsIDE2OSwgMTcsIDgsIDEsIAorICAgIDIxMiwgMTM0LCA2MSwgMTcsIDgsIDEsIDIxMiwgMTM0LCA0MiwgMTcsIDgsIDEsIDIxMiwgMTM0LCA3OCwgMTcsIDgsIDEsIAorICAgIDIxMiwgMTM0LCAxNjksIDE3LCA4LCAxLCAyNDYsIDUyLCA2MSwgMTcsIDgsIDEsIDI0NiwgNTIsIDQyLCAxNywgOCwgMSwgCisgICAgMjQ2LCAxMjUsIDYxLCAxNywgOCwgMSwgMjQ2LCAxMjUsIDQyLCAxNywgOCwgMSwgMjQzLCAyMzAsIDYxLCAxNywgOCwgMSwgCisgICAgMjQzLCAyMzAsIDQyLCAxNywgOCwgMSwgMjQ2LCA1MCwgNjEsIDE3LCA4LCAxLCAyNDYsIDUwLCA0MiwgMTcsIDgsIDEsIAorICAgIDIzMiwgMTc3LCA2MSwgMTcsIDgsIDEsIDIzMiwgMTc3LCA0MiwgMTcsIDgsIDEsIDIxOCwgODIsIDYxLCAxNywgOCwgMSwgCisgICAgMjE4LCA4MiwgNDIsIDE3LCA4LCAxLCAyMzEsIDIxMywgNjEsIDE3LCA4LCAxLCAyMzEsIDIxMywgNDIsIDE3LCA4LCAxLCAKKyAgICAyMzEsIDIxMywgNzgsIDE3LCA4LCAxLCAyMzEsIDIxMywgMTY5LCAxNywgOCwgMSwgMjQwLCAyMzIsIDYxLCAxNywgOCwgMSwgCisgICAgMjQwLCAyMzIsIDQyLCAxNywgOCwgMSwgMjQwLCAyMzIsIDc4LCAxNywgOCwgMSwgMjQwLCAyMzIsIDE2OSwgMTcsIDgsIDEsIAorICAgIDIzOSwgMjAxLCA2MSwgMTcsIDgsIDEsIDIzOSwgMjAxLCA0MiwgMTcsIDgsIDEsIDIzOSwgMjAxLCA3OCwgMTcsIDgsIDEsIAorICAgIDIzOSwgMjAxLCAxNjksIDE3LCA4LCAxLCAyMjUsIDEsIDYxLCAxNywgOCwgMSwgMjI1LCAxLCA0MiwgMTcsIDgsIDEsIDIyNSwgCisgICAgMSwgNzgsIDE3LCA4LCAxLCAyMjUsIDEsIDE2OSwgMTcsIDgsIDEsIDIyNCwgNTUsIDI0MCwgNjYsIDYxLCAxNywgOCwgMSwgCisgICAgMjI0LCA1NSwgMjQwLCA2NiwgNDIsIDE3LCA4LCAxLCAyMTgsIDEyOCwgNjEsIDE3LCA4LCAxLCAyMTgsIDEyOCwgNDIsIDE3LCAKKyAgICA4LCAxLCAyMTgsIDEyOCwgNzgsIDE3LCA4LCAxLCAyMTgsIDEyOCwgMTY5LCAxNywgOCwgMSwgMjM5LCA1MSwgMiwgODcsIAorICAgIDg0LCA2MSwgMTcsIDgsIDEsIDIzOSwgNTEsIDIsIDg3LCA4NCwgNDIsIDE3LCA4LCAxLCAyMzksIDUxLCAyNDAsIDE3LCA2MSwgCisgICAgMTcsIDgsIDEsIDIzOSwgNTEsIDI0MCwgMTcsIDQyLCAxNywgOCwgMSwgMjM5LCA1MSwgMjQwLCAxNywgNzgsIDE3LCA4LCAxLCAKKyAgICAyMzksIDUxLCAyNDAsIDE3LCAxNjksIDE3LCA4LCAxLCAyMzksIDUxLCAyNDUsIDQ4LCA2MSwgMTcsIDgsIDEsIDIzOSwgNTEsIAorICAgIDI0NSwgNDgsIDQyLCAxNywgOCwgMSwgMjM5LCA1MSwgMjQ1LCA0OCwgNzgsIDE3LCA4LCAxLCAyMzksIDUxLCAyNDUsIDQ4LCAKKyAgICAxNjksIDE3LCA4LCAxLCA4NywgMjUwLCAxMjIsIDYxLCAxNywgOCwgMSwgODcsIDI1MCwgMTIyLCA0MiwgMTcsIDgsIDEsIAorICAgIDg3LCAyNTAsIDEyMiwgMiwgMjM5LCAxMTIsIDg0LCA2MSwgMTcsIDgsIDEsIDg3LCAyNTAsIDEyMiwgMiwgMjM5LCAxMTIsIAorICAgIDg0LCA0MiwgMTcsIDgsIDE2LCA2NywgNTIsIDgsIDE2LCA2NywgNTUsIDgsIDE2LCAxMTgsIDE3NywgNTIsIDgsIDE2LCAKKyAgICAxMTgsIDE3NywgNTUsIDgsIDE2LCAxMjksIDE3NywgNTIsIDgsIDE2LCAxMjksIDE3NywgNTUsIDgsIDE2LCAxMjksIDE3NywgCisgICAgMjIwLCAyMDEsIDE3MywgNTIsIDgsIDE2LCAxMjksIDE3NywgMjIwLCAyMDEsIDE3MywgNTUsIDgsIDE2LCAyNDEsIDEyNSwgCisgICAgMTc3LCA1MiwgOCwgMTYsIDI0MSwgMTI1LCAxNzcsIDU1LCA4LCAxNiwgNTAsIDc5LCAyNTAsIDEyOSwgNTUsIDgsIDE2LCAKKyAgICAxMTgsIDE3NywgMjA4LCAyMjgsIDUyLCA4LCAxNiwgMTE4LCAxNzcsIDIwOCwgMjI4LCA1NSwgOCwgMTYsIDIxOCwgMTQ4LCAKKyAgICA4LCAxNiwgNSwgMjEyLCAxOTUsIDUyLCA4LCAxNiwgNSwgMjEyLCAxOTUsIDU1LCA4LCAxLCAyMjUsIDgwLCA2MSwgMTcsIDgsIAorICAgIDEsIDIyNSwgODAsIDQyLCAxNywgOCwgMSwgMjI1LCA4MCwgNzgsIDE3LCA4LCAxLCAyMjUsIDgwLCAxNjksIDE3LCA4LCAxLCAKKyAgICAxMDYsIDYxLCAxNywgOCwgMSwgMTA2LCA0MiwgMTcsIDgsIDEsIDIyMiwgMjA3LCA2MSwgMTcsIDgsIDEsIDIyMiwgMjA3LCAKKyAgICA0MiwgMTcsIDgsIDEsIDIwNSwgMjE0LCA2MSwgMTcsIDgsIDEsIDIwNSwgMjE0LCA0MiwgMTcsIDgsIDEsIDEwNiwgMiwgCisgICAgMjM5LCAxMTIsIDg0LCA2MSwgMTcsIDgsIDEsIDIwOSwgNDAsIDYxLCAxNywgOCwgMSwgMjA5LCA0MCwgNDIsIDE3LCA4LCAxLCAKKyAgICAyMzEsIDEwMSwgMjIyLCAyMDcsIDYxLCAxNywgOCwgMSwgMjMxLCAxMDEsIDIyMiwgMjA3LCA0MiwgMTcsIDgsIDEsIDIzMSwgCisgICAgMTAxLCAyMDUsIDIxNCwgNjEsIDE3LCA4LCAxLCAyMzEsIDEwMSwgMjA1LCAyMTQsIDQyLCAxNywgOCwgMSwgMTc0LCA2MSwgCisgICAgMTcsIDgsIDEsIDE3NCwgNDIsIDE3LCA4LCAxLCAxNzQsIDc4LCAxNywgOCwgMSwgMTc0LCAxNjksIDE3LCA4LCAxLCAyMDksIAorICAgIDI1MSwgMjMxLCAyMjgsIDIzMSwgMTAxLCAxMjYsIDIyNywgMjI5LCA3OCwgMTcsIDgsIDEsIDIwOSwgMjUxLCAyMzEsIDIyOCwgCisgICAgMjMxLCAxMDEsIDEyNiwgMjI3LCAyMjksIDE2OSwgMTcsIDgsIDI4LCA4NywgMiwgMjM5LCAxMTIsIDg0LCAyLCAxMjYsIDYxLCAKKyAgICAxNywgOCwgMjgsIDg3LCAyLCAyMzksIDExMiwgODQsIDIsIDEyNiwgNDIsIDE3LCA4LCAyOCwgODcsIDIsIDIzOSwgMTEyLCAKKyAgICA4NCwgMiwgMjUyLCAyNDksIDYxLCAxNywgOCwgMjgsIDg3LCAyLCAyMzksIDExMiwgODQsIDIsIDI1MiwgMjQ5LCA0MiwgMTcsIAorICAgIDgsIDI4LCA4NywgMiwgMjM5LCAxMTIsIDg0LCAyLCAyMDcsIDYwLCA2MSwgMTcsIDgsIDI4LCA4NywgMiwgMjM5LCAxMTIsIAorICAgIDg0LCAyLCAyMDcsIDYwLCA0MiwgMTcsIDgsIDI4LCA4NywgMiwgMjM5LCAxMTIsIDg0LCAyLCAxMDYsIDYxLCAxNywgOCwgCisgICAgMjgsIDg3LCAyLCAyMzksIDExMiwgODQsIDIsIDEwNiwgNDIsIDE3LCA4LCAyOCwgODcsIDIsIDIzOSwgMTEyLCA4NCwgMiwgCisgICAgMjIyLCAyMDcsIDYxLCAxNywgOCwgMjgsIDg3LCAyLCAyMzksIDExMiwgODQsIDIsIDIyMiwgMjA3LCA0MiwgMTcsIDgsIDI4LCAKKyAgICA4NywgMiwgMjM5LCAxMTIsIDg0LCAyLCAyMDUsIDIxNCwgNjEsIDE3LCA4LCAyOCwgODcsIDIsIDIzOSwgMTEyLCA4NCwgMiwgCisgICAgMjA1LCAyMTQsIDQyLCAxNywgOCwgMjgsIDg3LCAyLCAyMzksIDExMiwgODQsIDIsIDE3NCwgNjEsIDE3LCA4LCAyOCwgODcsIAorICAgIDIsIDIzOSwgMTEyLCA4NCwgMiwgMTc0LCA0MiwgMTcsIDgsIDI4LCA4NywgMiwgMjM5LCAxMTIsIDg0LCAyLCAxNzQsIDc4LCAKKyAgICAxNywgOCwgMjgsIDIwOSwgMjUxLCAyMzEsIDEwMSwgODcsIDIsIDIzOSwgMTEyLCA4NCwgMiwgMTI2LCAyMjcsIDIyOSwgNjEsIAorICAgIDE3LCA4LCAyOCwgMjA5LCAyNTEsIDIzMSwgMTAxLCA4NywgMiwgMjM5LCAxMTIsIDg0LCAyLCAxMjYsIDIyNywgMjI5LCA0MiwgCisgICAgMTcsIDgsIDI4LCAyMDksIDI1MSwgMjMxLCAxMDEsIDg3LCAyLCAyMzksIDExMiwgODQsIDIsIDEyNiwgMjI3LCAyMjksIDc4LCAKKyAgICAxNywgOCwgMSwgMjQyLCA0MiwgODcsIDYxLCAxNywgOCwgMSwgMjQyLCA0MiwgODcsIDQyLCAxNywgOCwgMSwgMjQyLCA0MiwgCisgICAgODcsIDc4LCAxNywgOCwgMSwgMjQyLCA0MiwgODcsIDE2OSwgMTcsIDgsIDI4LCA4NywgMiwgMjM5LCAxMTIsIDg0LCAyLCAKKyAgICAxNzEsIDYxLCAxNywgOCwgMjgsIDg3LCAyLCAyMzksIDExMiwgODQsIDIsIDE0MCwgNjEsIDE3LCA4LCAyOCwgODcsIDIsIAorICAgIDIzOSwgMTEyLCA4NCwgMiwgODAsIDYxLCAxNywgOCwgMjgsIDg3LCAyLCAyMzksIDExMiwgODQsIDIsIDEyNiwgMjI3LCAKKyAgICAyMjksIDYxLCAxNywgOCwgMjgsIDg3LCAyLCAyMzksIDExMiwgODQsIDIsIDg3LCA2MSwgMTcsIDgsIDI4LCAyNTAsIDM5LCAKKyAgICAyLCAxNzEsIDYxLCAxNywgOCwgMjgsIDI1MCwgMzksIDIsIDE0MCwgNjEsIDE3LCA4LCAyOCwgMjUwLCAzOSwgMiwgMjMxLCAKKyAgICAxNjQsIDYxLCAxNywgOCwgMjgsIDI1MCwgMzksIDIsIDgwLCA2MSwgMTcsIDgsIDI4LCAyNTAsIDM5LCAyLCAxMjYsIDIyNywgCisgICAgMjI5LCA2MSwgMTcsIDgsIDI4LCAyNTAsIDM5LCAyLCA4NywgNjEsIDE3LCA4LCAyOCwgMjEyLCAxMTYsIDIsIDE3MSwgNjEsIAorICAgIDE3LCA4LCAyOCwgMjEyLCAxMTYsIDIsIDE0MCwgNjEsIDE3LCA4LCAyOCwgMjEyLCAxMTYsIDIsIDIzMSwgMTY0LCA2MSwgCisgICAgMTcsIDgsIDI4LCAyMTIsIDExNiwgMiwgODAsIDYxLCAxNywgOCwgMjgsIDIxMiwgMTE2LCAyLCAxMjYsIDIyNywgMjI5LCAKKyAgICA2MSwgMTcsIDgsIDI4LCAyMTIsIDExNiwgMiwgODcsIDYxLCAxNywgOCwgMjgsIDIxMiwgMzgsIDIsIDE3MSwgNjEsIDE3LCAKKyAgICA4LCAyOCwgMjEyLCAzOCwgMiwgODAsIDYxLCAxNywgOCwgMjgsIDIxMiwgMzgsIDIsIDEyNiwgMjI3LCAyMjksIDYxLCAxNywgCisgICAgOCwgMjgsIDIxMiwgMzgsIDIsIDg3LCA2MSwgMTcsIDgsIDI4LCAxNzEsIDIsIDE0MCwgNjEsIDE3LCA4LCAyOCwgMTcxLCAyLCAKKyAgICA4MCwgNjEsIDE3LCA4LCAyOCwgMTQwLCAyLCAxNzEsIDYxLCAxNywgOCwgMjgsIDE0MCwgMiwgODAsIDYxLCAxNywgOCwgMjgsIAorICAgIDIzMSwgMTY0LCAyLCAxNzEsIDYxLCAxNywgOCwgMjgsIDIzMSwgMTY0LCAyLCAxNDAsIDYxLCAxNywgOCwgMjgsIDIzMSwgCisgICAgMTY0LCAyLCA4MCwgNjEsIDE3LCA4LCAyOCwgMjE3LCA3MSwgMiwgMTcxLCA2MSwgMTcsIDgsIDI4LCAyMTcsIDcxLCAyLCAKKyAgICAxNDAsIDYxLCAxNywgOCwgMjgsIDIxNywgNzEsIDIsIDIzMSwgMTY0LCA2MSwgMTcsIDgsIDI4LCAyMTcsIDcxLCAyLCA4MCwgCisgICAgNjEsIDE3LCA4LCAyOCwgMjE3LCAxOTIsIDIsIDE0MCwgNjEsIDE3LCA4LCAyOCwgMjE3LCAxOTIsIDIsIDgwLCA2MSwgMTcsIAorICAgIDgsIDI4LCAyNDYsIDE0MSwgMiwgMTcxLCA2MSwgMTcsIDgsIDI4LCAyNDYsIDE0MSwgMiwgMTQwLCA2MSwgMTcsIDgsIDI4LCAKKyAgICAyNDYsIDE0MSwgMiwgMjMxLCAxNjQsIDYxLCAxNywgOCwgMjgsIDI0NiwgMTQxLCAyLCA4MCwgNjEsIDE3LCA4LCAyOCwgCisgICAgMjEyLCAxOTUsIDIsIDE0MCwgNjEsIDE3LCA4LCAyOCwgMjEyLCAxOTUsIDIsIDgwLCA2MSwgMTcsIDgsIDI4LCAyMDUsIAorICAgIDExMiwgMiwgODAsIDYxLCAxNywgOCwgMjgsIDI1MiwgMjAxLCAyLCAxNzEsIDYxLCAxNywgOCwgMjgsIDI1MiwgMjAxLCAyLCAKKyAgICA4MCwgNjEsIDE3LCA4LCAyOCwgMjQwLCA5NSwgMiwgMTcxLCA2MSwgMTcsIDgsIDI4LCAyNDAsIDk1LCAyLCA4MCwgNjEsIAorICAgIDE3LCA4LCAyOCwgMjQyLCAxNiwgMiwgMTcxLCA2MSwgMTcsIDgsIDI4LCAyNDIsIDE2LCAyLCAxNDAsIDYxLCAxNywgOCwgCisgICAgMjgsIDI0MiwgMTYsIDIsIDIzMSwgMTY0LCA2MSwgMTcsIDgsIDI4LCAyNDIsIDE2LCAyLCA4MCwgNjEsIDE3LCA4LCAyOCwgCisgICAgMjQyLCAxNiwgMiwgMTI2LCAyMjcsIDIyOSwgNjEsIDE3LCA4LCAyOCwgMjQyLCAxNiwgMiwgODcsIDYxLCAxNywgOCwgMjgsIAorICAgIDIyMCwgMTMsIDIsIDE0MCwgNjEsIDE3LCA4LCAyOCwgMjIwLCAxMywgMiwgODAsIDYxLCAxNywgOCwgMjgsIDIyMCwgMTMsIAorICAgIDIsIDEyNiwgMjI3LCAyMjksIDYxLCAxNywgOCwgMjgsIDIyMCwgMTMsIDIsIDg3LCA2MSwgMTcsIDgsIDI4LCAyMzIsIDQ2LCAKKyAgICAyLCAxMjYsIDYxLCAxNywgOCwgMjgsIDIzMiwgNDYsIDIsIDE3MSwgNjEsIDE3LCA4LCAyOCwgMjMyLCA0NiwgMiwgMTQwLCAKKyAgICA2MSwgMTcsIDgsIDI4LCAyMzIsIDQ2LCAyLCAyMzEsIDE2NCwgNjEsIDE3LCA4LCAyOCwgMjMyLCA0NiwgMiwgMjMwLCAxMDcsIAorICAgIDYxLCAxNywgOCwgMjgsIDIzMiwgNDYsIDIsIDgwLCA2MSwgMTcsIDgsIDI4LCAyMzIsIDQ2LCAyLCAxMjYsIDIyNywgMjI5LCAKKyAgICA2MSwgMTcsIDgsIDI4LCAyMzIsIDQ2LCAyLCA4NywgNjEsIDE3LCA4LCAyOCwgMjMwLCAxMDcsIDIsIDE3MSwgNjEsIDE3LCAKKyAgICA4LCAyOCwgMjMwLCAxMDcsIDIsIDE0MCwgNjEsIDE3LCA4LCAyOCwgMjMwLCAxMDcsIDIsIDIzMSwgMTY0LCA2MSwgMTcsIDgsIAorICAgIDI4LCAyMzAsIDEwNywgMiwgODAsIDYxLCAxNywgOCwgMjgsIDIzMCwgMTA3LCAyLCAxMjYsIDIyNywgMjI5LCA2MSwgMTcsIAorICAgIDgsIDI4LCAyMzAsIDEwNywgMiwgODcsIDYxLCAxNywgOCwgMjgsIDgwLCAyLCAxNzEsIDYxLCAxNywgOCwgMjgsIDgwLCAyLCAKKyAgICAxNDAsIDYxLCAxNywgOCwgMjgsIDgwLCAyLCAyMzEsIDE2NCwgNjEsIDE3LCA4LCAyOCwgODAsIDIsIDgwLCA2MSwgMTcsIDgsIAorICAgIDI4LCA4MCwgMiwgMTI2LCAyMjcsIDIyOSwgNjEsIDE3LCA4LCAyOCwgODAsIDIsIDg3LCA2MSwgMTcsIDgsIDI4LCAyMjQsIAorICAgIDU1LCAyLCAxNzEsIDYxLCAxNywgOCwgMjgsIDIyNCwgNTUsIDIsIDE0MCwgNjEsIDE3LCA4LCAyOCwgMjI0LCA1NSwgMiwgCisgICAgMjMxLCAxNjQsIDYxLCAxNywgOCwgMjgsIDIyNCwgNTUsIDIsIDgwLCA2MSwgMTcsIDgsIDI4LCAyMjQsIDU1LCAyLCAxMjYsIAorICAgIDIyNywgMjI5LCA2MSwgMTcsIDgsIDI4LCAyMjQsIDU1LCAyLCA4NywgNjEsIDE3LCA4LCAyOCwgMjM5LCA1MSwgMiwgMTcxLCAKKyAgICA2MSwgMTcsIDgsIDI4LCAyMzksIDUxLCAyLCA4MCwgNjEsIDE3LCA4LCAyOCwgMjM5LCA1MSwgMiwgMTI2LCAyMjcsIDIyOSwgCisgICAgNjEsIDE3LCA4LCAyOCwgMjM5LCA1MSwgMiwgODcsIDYxLCAxNywgOCwgMjgsIDg3LCAyLCAxNzEsIDYxLCAxNywgOCwgMjgsIAorICAgIDg3LCAyLCAxNDAsIDYxLCAxNywgOCwgMjgsIDg3LCAyLCAyMzEsIDE2NCwgNjEsIDE3LCA4LCAyOCwgODcsIDIsIDgwLCA2MSwgCisgICAgMTcsIDgsIDI4LCA4NywgMiwgMTI2LCAyMjcsIDIyOSwgNjEsIDE3LCA4LCAyOCwgODcsIDIsIDg3LCA2MSwgMTcsIDgsIDI4LCAKKyAgICAyMTIsIDUwLCAyLCAyMTMsIDEzOSwgMTI2LCA2MSwgMTcsIDgsIDI4LCAyMTksIDE3LCAyLCAyMTMsIDEzOSwgMTI2LCA2MSwgCisgICAgMTcsIDgsIDI4LCAxMjYsIDIyNywgMjI5LCAyLCAyMTMsIDEzOSwgMTI2LCA2MSwgMTcsIDgsIDI4LCAyMTUsIDI1MCwgMiwgCisgICAgMjQ2LCAxMDUsIDYxLCAxNywgOCwgMjgsIDIxNSwgMjUwLCAyLCAyMzEsIDI1MSwgNjEsIDE3LCA4LCAyOCwgMjE1LCAyNTAsIAorICAgIDIsIDI0MiwgNDAsIDYxLCAxNywgOCwgMjgsIDIxNSwgMjUwLCAyLCAyNDYsIDEwNywgNjEsIDE3LCA4LCAyOCwgMjE1LCAKKyAgICAyNTAsIDIsIDIzMSwgMjUzLCA2MSwgMTcsIDgsIDI4LCAyMTUsIDI1MCwgMiwgMjEzLCAxMzksIDEyNiwgNjEsIDE3LCA4LCAKKyAgICAyOCwgODcsIDIsIDIzOSwgMTEyLCA4NCwgMiwgMjE5LCAxNywgNDIsIDE3LCA4LCAyOCwgODcsIDIsIDIzOSwgMTEyLCA4NCwgCisgICAgMiwgMjA1LCAxMDksIDQyLCAxNywgOCwgMjgsIDg3LCAyLCAyMzksIDExMiwgODQsIDIsIDgwLCA0MiwgMTcsIDgsIDI4LCAKKyAgICA4NywgMiwgMjM5LCAxMTIsIDg0LCAyLCAyMjQsIDU1LCA0MiwgMTcsIDgsIDI4LCA4NywgMiwgMjM5LCAxMTIsIDg0LCAyLCAKKyAgICAxMjYsIDIyNywgMjI5LCA0MiwgMTcsIDgsIDI4LCA4NywgMiwgMjM5LCAxMTIsIDg0LCAyLCA4NywgNDIsIDE3LCA4LCAyOCwgCisgICAgMjUwLCAzOSwgMiwgMjE5LCAxNywgNDIsIDE3LCA4LCAyOCwgMjUwLCAzOSwgMiwgMjA1LCAxMDksIDQyLCAxNywgOCwgMjgsIAorICAgIDI1MCwgMzksIDIsIDgwLCA0MiwgMTcsIDgsIDI4LCAyNTAsIDM5LCAyLCAyMjQsIDU1LCA0MiwgMTcsIDgsIDI4LCAyNTAsIAorICAgIDM5LCAyLCAxMjYsIDIyNywgMjI5LCA0MiwgMTcsIDgsIDI4LCAyNTAsIDM5LCAyLCA4NywgNDIsIDE3LCA4LCAyOCwgMjEyLCAKKyAgICAxMTYsIDIsIDIxOSwgMTcsIDQyLCAxNywgOCwgMjgsIDIxMiwgMTE2LCAyLCAyMDUsIDEwOSwgNDIsIDE3LCA4LCAyOCwgCisgICAgMjEyLCAxMTYsIDIsIDgwLCA0MiwgMTcsIDgsIDI4LCAyMTIsIDExNiwgMiwgMjI0LCA1NSwgNDIsIDE3LCA4LCAyOCwgMjEyLCAKKyAgICAxMTYsIDIsIDEyNiwgMjI3LCAyMjksIDQyLCAxNywgOCwgMjgsIDIxMiwgMTE2LCAyLCA4NywgNDIsIDE3LCA4LCAyOCwgCisgICAgMjEyLCAzOCwgMiwgMjE5LCAxNywgNDIsIDE3LCA4LCAyOCwgMjEyLCAzOCwgMiwgMjA1LCAxMDksIDQyLCAxNywgOCwgMjgsIAorICAgIDIxMiwgMzgsIDIsIDgwLCA0MiwgMTcsIDgsIDI4LCAyMTIsIDM4LCAyLCAyMjQsIDU1LCA0MiwgMTcsIDgsIDI4LCAyMTIsIAorICAgIDM4LCAyLCAxMjYsIDIyNywgMjI5LCA0MiwgMTcsIDgsIDI4LCAyMTIsIDM4LCAyLCA4NywgNDIsIDE3LCA4LCAyOCwgMjQyLCAKKyAgICAxNiwgMiwgMTI2LCAyMjcsIDIyOSwgNDIsIDE3LCA4LCAyOCwgMjQyLCAxNiwgMiwgODcsIDQyLCAxNywgOCwgMjgsIDIyMCwgCisgICAgMTMsIDIsIDEyNiwgMjI3LCAyMjksIDQyLCAxNywgOCwgMjgsIDIyMCwgMTMsIDIsIDg3LCA0MiwgMTcsIDgsIDI4LCAyMzIsIAorICAgIDQ2LCAyLCAxMjYsIDQyLCAxNywgOCwgMjgsIDIzMiwgNDYsIDIsIDIzMCwgMTA3LCA0MiwgMTcsIDgsIDI4LCAyMzIsIDQ2LCAKKyAgICAyLCA4MCwgNDIsIDE3LCA4LCAyOCwgMjMyLCA0NiwgMiwgMTI2LCAyMjcsIDIyOSwgNDIsIDE3LCA4LCAyOCwgMjMyLCA0NiwgCisgICAgMiwgODcsIDQyLCAxNywgOCwgMjgsIDIzMCwgMTA3LCAyLCA4MCwgNDIsIDE3LCA4LCAyOCwgMjMwLCAxMDcsIDIsIDEyNiwgCisgICAgMjI3LCAyMjksIDQyLCAxNywgOCwgMjgsIDIzMCwgMTA3LCAyLCA4NywgNDIsIDE3LCA4LCAyOCwgODAsIDIsIDEyNiwgNDIsIAorICAgIDE3LCA4LCAyOCwgODAsIDIsIDgwLCA0MiwgMTcsIDgsIDI4LCAyMjQsIDU1LCAyLCAyMTksIDE3LCA0MiwgMTcsIDgsIDI4LCAKKyAgICAyMjQsIDU1LCAyLCAyMDUsIDEwOSwgNDIsIDE3LCA4LCAyOCwgMjI0LCA1NSwgMiwgODAsIDQyLCAxNywgOCwgMjgsIDIyNCwgCisgICAgNTUsIDIsIDIyNCwgNTUsIDQyLCAxNywgOCwgMjgsIDIyNCwgNTUsIDIsIDEyNiwgMjI3LCAyMjksIDQyLCAxNywgOCwgMjgsIAorICAgIDIyNCwgNTUsIDIsIDg3LCA0MiwgMTcsIDgsIDI4LCAxMjYsIDIyNywgMjI5LCAyLCAyMTMsIDEzOSwgMTI2LCA0MiwgMTcsIAorICAgIDgsIDI4LCA4NywgMiwgMjE5LCAxNywgNDIsIDE3LCA4LCAyOCwgODcsIDIsIDIwNSwgMTA5LCA0MiwgMTcsIDgsIDI4LCA4NywgCisgICAgMiwgODAsIDQyLCAxNywgOCwgMjgsIDg3LCAyLCAyMjQsIDU1LCA0MiwgMTcsIDgsIDI4LCA4NywgMiwgMTI2LCAyMjcsIAorICAgIDIyOSwgNDIsIDE3LCA4LCAyOCwgODcsIDIsIDg3LCA0MiwgMTcsIDgsIDI4LCA4NywgMiwgMjM5LCAxMTIsIDg0LCAyLCAKKyAgICAxNzEsIDc4LCAxNywgOCwgMjgsIDg3LCAyLCAyMzksIDExMiwgODQsIDIsIDE0MCwgNzgsIDE3LCA4LCAyOCwgODcsIDIsIAorICAgIDIzOSwgMTEyLCA4NCwgMiwgMjMxLCAxNjQsIDc4LCAxNywgOCwgMjgsIDg3LCAyLCAyMzksIDExMiwgODQsIDIsIDgwLCA3OCwgCisgICAgMTcsIDgsIDI4LCA4NywgMiwgMjM5LCAxMTIsIDg0LCAyLCAyMzksIDUxLCA3OCwgMTcsIDgsIDI4LCAyNTAsIDM5LCAyLCAKKyAgICAxNzEsIDc4LCAxNywgOCwgMjgsIDI1MCwgMzksIDIsIDE0MCwgNzgsIDE3LCA4LCAyOCwgMjUwLCAzOSwgMiwgMjMxLCAxNjQsIAorICAgIDc4LCAxNywgOCwgMjgsIDI1MCwgMzksIDIsIDgwLCA3OCwgMTcsIDgsIDI4LCAyNTAsIDM5LCAyLCAyMzksIDUxLCA3OCwgCisgICAgMTcsIDgsIDI4LCAyMTIsIDExNiwgMiwgMTcxLCA3OCwgMTcsIDgsIDI4LCAyMTIsIDExNiwgMiwgMTQwLCA3OCwgMTcsIDgsIAorICAgIDI4LCAyMTIsIDExNiwgMiwgMjMxLCAxNjQsIDc4LCAxNywgOCwgMjgsIDIxMiwgMTE2LCAyLCA4MCwgNzgsIDE3LCA4LCAyOCwgCisgICAgMjEyLCAxMTYsIDIsIDIzOSwgNTEsIDc4LCAxNywgOCwgMjgsIDIxMiwgMzgsIDIsIDgwLCA3OCwgMTcsIDgsIDI4LCAxNzEsIAorICAgIDIsIDE0MCwgNzgsIDE3LCA4LCAyOCwgMTcxLCAyLCA4MCwgNzgsIDE3LCA4LCAyOCwgMTQwLCAyLCAxNzEsIDc4LCAxNywgOCwgCisgICAgMjgsIDE0MCwgMiwgODAsIDc4LCAxNywgOCwgMjgsIDIzMSwgMTY0LCAyLCAxNzEsIDc4LCAxNywgOCwgMjgsIDIzMSwgMTY0LCAKKyAgICAyLCA4MCwgNzgsIDE3LCA4LCAyOCwgMjE3LCA3MSwgMiwgMTcxLCA3OCwgMTcsIDgsIDI4LCAyMTcsIDcxLCAyLCAxNDAsIAorICAgIDc4LCAxNywgOCwgMjgsIDIxNywgNzEsIDIsIDIzMSwgMTY0LCA3OCwgMTcsIDgsIDI4LCAyMTcsIDcxLCAyLCA4MCwgNzgsIAorICAgIDE3LCA4LCAyOCwgMjE3LCAxOTIsIDIsIDE0MCwgNzgsIDE3LCA4LCAyOCwgMjE3LCAxOTIsIDIsIDIzMSwgMTY0LCA3OCwgCisgICAgMTcsIDgsIDI4LCAyMTcsIDE5MiwgMiwgODAsIDc4LCAxNywgOCwgMjgsIDI0NiwgMTQxLCAyLCAxNzEsIDc4LCAxNywgOCwgCisgICAgMjgsIDI0NiwgMTQxLCAyLCAxNDAsIDc4LCAxNywgOCwgMjgsIDI0NiwgMTQxLCAyLCAyMzEsIDE2NCwgNzgsIDE3LCA4LCAKKyAgICAyOCwgMjQ2LCAxNDEsIDIsIDgwLCA3OCwgMTcsIDgsIDI4LCAyMTIsIDE5NSwgMiwgMTQwLCA3OCwgMTcsIDgsIDI4LCAyMDUsIAorICAgIDExMiwgMiwgODAsIDc4LCAxNywgOCwgMjgsIDI1MiwgMjAxLCAyLCAxNzEsIDc4LCAxNywgOCwgMjgsIDI1MiwgMjAxLCAyLCAKKyAgICA4MCwgNzgsIDE3LCA4LCAyOCwgMjQwLCA5NSwgMiwgMTcxLCA3OCwgMTcsIDgsIDI4LCAyNDAsIDk1LCAyLCA4MCwgNzgsIAorICAgIDE3LCA4LCAyOCwgMjQyLCAxNiwgMiwgMTcxLCA3OCwgMTcsIDgsIDI4LCAyNDIsIDE2LCAyLCAxNDAsIDc4LCAxNywgOCwgCisgICAgMjgsIDI0MiwgMTYsIDIsIDIzMSwgMTY0LCA3OCwgMTcsIDgsIDI4LCAyNDIsIDE2LCAyLCA4MCwgNzgsIDE3LCA4LCAyOCwgCisgICAgMjIwLCAxMywgMiwgMTQwLCA3OCwgMTcsIDgsIDI4LCAyMjAsIDEzLCAyLCA4MCwgNzgsIDE3LCA4LCAyOCwgMjMyLCA0NiwgCisgICAgMiwgMTcxLCA3OCwgMTcsIDgsIDI4LCAyMzIsIDQ2LCAyLCAxNDAsIDc4LCAxNywgOCwgMjgsIDIzMiwgNDYsIDIsIDIzMSwgCisgICAgMTY0LCA3OCwgMTcsIDgsIDI4LCAyMzIsIDQ2LCAyLCAyMzAsIDEwNywgNzgsIDE3LCA4LCAyOCwgMjMyLCA0NiwgMiwgODAsIAorICAgIDc4LCAxNywgOCwgMjgsIDIzMCwgMTA3LCAyLCAxNzEsIDc4LCAxNywgOCwgMjgsIDIzMCwgMTA3LCAyLCAxNDAsIDc4LCAxNywgCisgICAgOCwgMjgsIDIzMCwgMTA3LCAyLCAyMzEsIDE2NCwgNzgsIDE3LCA4LCAyOCwgMjMwLCAxMDcsIDIsIDgwLCA3OCwgMTcsIDgsIAorICAgIDI4LCAyMzAsIDEwNywgMiwgMjM5LCA1MSwgNzgsIDE3LCA4LCAyOCwgODAsIDIsIDE3MSwgNzgsIDE3LCA4LCAyOCwgODAsIAorICAgIDIsIDE0MCwgNzgsIDE3LCA4LCAyOCwgODAsIDIsIDIzMSwgMTY0LCA3OCwgMTcsIDgsIDI4LCA4MCwgMiwgODAsIDc4LCAxNywgCisgICAgOCwgMjgsIDIyNCwgNTUsIDIsIDE3MSwgNzgsIDE3LCA4LCAyOCwgMjI0LCA1NSwgMiwgMTQwLCA3OCwgMTcsIDgsIDI4LCAKKyAgICAyMjQsIDU1LCAyLCAyMzEsIDE2NCwgNzgsIDE3LCA4LCAyOCwgMjI0LCA1NSwgMiwgODAsIDc4LCAxNywgOCwgMjgsIDIyNCwgCisgICAgNTUsIDIsIDIzOSwgNTEsIDc4LCAxNywgOCwgMjgsIDIzOSwgNTEsIDIsIDE3MSwgNzgsIDE3LCA4LCAyOCwgMjM5LCA1MSwgCisgICAgMiwgODAsIDc4LCAxNywgOCwgMjgsIDIzOSwgNTEsIDIsIDIxMywgMTM5LCAxMjYsIDc4LCAxNywgOCwgMjgsIDg3LCAyLCAKKyAgICAxNzEsIDc4LCAxNywgOCwgMjgsIDg3LCAyLCAxNDAsIDc4LCAxNywgOCwgMjgsIDg3LCAyLCAyMzEsIDE2NCwgNzgsIDE3LCAKKyAgICA4LCAyOCwgODcsIDIsIDgwLCA3OCwgMTcsIDgsIDI4LCA4NywgMiwgMjM5LCA1MSwgNzgsIDE3LCA4LCAyOCwgODcsIDIsIAorICAgIDIzOSwgMTEyLCA4NCwgMiwgODAsIDE2OSwgMTcsIDgsIDI4LCA4NywgMiwgMjM5LCAxMTIsIDg0LCAyLCAyMzksIDUxLCAKKyAgICAxNjksIDE3LCA4LCAyOCwgMjUwLCAzOSwgMiwgODAsIDE2OSwgMTcsIDgsIDI4LCAyNTAsIDM5LCAyLCAyMzksIDUxLCAxNjksIAorICAgIDE3LCA4LCAyOCwgMjEyLCAxMTYsIDIsIDgwLCAxNjksIDE3LCA4LCAyOCwgMjEyLCAxMTYsIDIsIDIzOSwgNTEsIDE2OSwgCisgICAgMTcsIDgsIDI4LCAyMTIsIDM4LCAyLCA4MCwgMTY5LCAxNywgOCwgMjgsIDIxMiwgMzgsIDIsIDIzOSwgNTEsIDE2OSwgMTcsIAorICAgIDgsIDI4LCAyMTcsIDcxLCAyLCA4MCwgMTY5LCAxNywgOCwgMjgsIDIxNywgNzEsIDIsIDIzOSwgNTEsIDE2OSwgMTcsIDgsIAorICAgIDI4LCAyMTUsIDIxMSwgMiwgODAsIDE2OSwgMTcsIDgsIDI4LCAyMTUsIDIxMSwgMiwgMjM5LCA1MSwgMTY5LCAxNywgOCwgCisgICAgMjgsIDIzMiwgNDYsIDIsIDIzMCwgMTA3LCAxNjksIDE3LCA4LCAyOCwgMjMyLCA0NiwgMiwgODAsIDE2OSwgMTcsIDgsIDI4LCAKKyAgICAyMzAsIDEwNywgMiwgODAsIDE2OSwgMTcsIDgsIDI4LCAyMjQsIDU1LCAyLCA4MCwgMTY5LCAxNywgOCwgMjgsIDIyNCwgNTUsIAorICAgIDIsIDIzOSwgNTEsIDE2OSwgMTcsIDgsIDI4LCA4NywgMiwgODAsIDE2OSwgMTcsIDgsIDI4LCA4NywgMiwgMjM5LCA1MSwgCisgICAgMTY5LCAxNywgOCwgMjgsIDIxNSwgMjUwLCAyLCAyNDIsIDQwLCAxNjksIDE3LCA4LCAyOCwgMjE1LCAyNTAsIDIsIDI0NiwgCisgICAgMTA3LCAxNjksIDE3LCA4LCAyOCwgMjE1LCAyNTAsIDIsIDIzMSwgMjUzLCAxNjksIDE3LCA4LCAyOCwgMjEyLCAxOTUsIDIsIAorICAgIDEyNiwgMjI3LCAyMjksIDYxLCAxNywgOCwgMjgsIDIxMiwgMTk1LCAyLCA4NywgNjEsIDE3LCA4LCAyOCwgMjUyLCAyMDEsIAorICAgIDIsIDEyNiwgMjI3LCAyMjksIDYxLCAxNywgOCwgMjgsIDI1MiwgMjAxLCAyLCA4NywgNjEsIDE3LCA4LCAyOCwgMjQwLCA5NSwgCisgICAgMiwgMTI2LCAyMjcsIDIyOSwgNjEsIDE3LCA4LCAyOCwgMjQwLCA5NSwgMiwgODcsIDYxLCAxNywgOCwgMjgsIDIxNywgNzEsIAorICAgIDIsIDEyNiwgMjI3LCAyMjksIDYxLCAxNywgOCwgMjgsIDIxNywgNzEsIDIsIDg3LCA2MSwgMTcsIDgsIDI4LCAyMTUsIDIxMSwgCisgICAgMiwgMTI2LCAyMjcsIDIyOSwgNjEsIDE3LCA4LCAyOCwgMjE1LCAyMTEsIDIsIDg3LCA2MSwgMTcsIDgsIDI4LCAxNDAsIDIsIAorICAgIDEyNiwgMjI3LCAyMjksIDYxLCAxNywgOCwgMjgsIDE0MCwgMiwgODcsIDYxLCAxNywgOCwgMjgsIDE3MSwgMiwgMTI2LCAKKyAgICAyMjcsIDIyOSwgNjEsIDE3LCA4LCAyOCwgMTcxLCAyLCA4NywgNjEsIDE3LCA4LCAyOCwgMjMxLCAxNjQsIDIsIDEyNiwgCisgICAgMjI3LCAyMjksIDYxLCAxNywgOCwgMjgsIDIzMSwgMTY0LCAyLCA4NywgNjEsIDE3LCA4LCAyOCwgMjE3LCAxOTIsIDIsIAorICAgIDEyNiwgMjI3LCAyMjksIDYxLCAxNywgOCwgMjgsIDIxNywgMTkyLCAyLCA4NywgNjEsIDE3LCA4LCAyOCwgMjQ2LCAxNDEsIAorICAgIDIsIDEyNiwgMjI3LCAyMjksIDYxLCAxNywgOCwgMjgsIDI0NiwgMTQxLCAyLCA4NywgNjEsIDE3LCA4LCAyOCwgMjE1LCAKKyAgICAyMTEsIDIsIDE3MSwgNjEsIDE3LCA4LCAyOCwgMjE1LCAyMTEsIDIsIDE0MCwgNjEsIDE3LCA4LCAyOCwgMjE1LCAyMTEsIDIsIAorICAgIDIzMSwgMTY0LCA2MSwgMTcsIDgsIDI4LCAyMTUsIDIxMSwgMiwgODAsIDYxLCAxNywgOCwgMjgsIDIxNSwgMjExLCAyLCAKKyAgICAyMTksIDE3LCA2MSwgMTcsIDgsIDI4LCAyMTcsIDcxLCAyLCAyMTksIDE3LCA2MSwgMTcsIDgsIDI4LCAyMTcsIDE5MiwgMiwgCisgICAgMjE5LCAxNywgNjEsIDE3LCA4LCAyOCwgMjQ2LCAxNDEsIDIsIDIxOSwgMTcsIDYxLCAxNywgOCwgMjgsIDIxMiwgMTk1LCAyLCAKKyAgICAxMjYsIDIyNywgMjI5LCA0MiwgMTcsIDgsIDI4LCAyMTIsIDE5NSwgMiwgODcsIDQyLCAxNywgOCwgMjgsIDI1MiwgMjAxLCAKKyAgICAyLCAxMjYsIDIyNywgMjI5LCA0MiwgMTcsIDgsIDI4LCAyNTIsIDIwMSwgMiwgODcsIDQyLCAxNywgOCwgMjgsIDI0MCwgOTUsIAorICAgIDIsIDEyNiwgMjI3LCAyMjksIDQyLCAxNywgOCwgMjgsIDI0MCwgOTUsIDIsIDg3LCA0MiwgMTcsIDgsIDI4LCAyMTcsIDcxLCAKKyAgICAyLCAxMjYsIDIyNywgMjI5LCA0MiwgMTcsIDgsIDI4LCAyMTcsIDcxLCAyLCA4NywgNDIsIDE3LCA4LCAyOCwgMjE1LCAyMTEsIAorICAgIDIsIDEyNiwgMjI3LCAyMjksIDQyLCAxNywgOCwgMjgsIDIxNSwgMjExLCAyLCA4NywgNDIsIDE3LCA4LCAyOCwgMTQwLCAyLCAKKyAgICAxMjYsIDIyNywgMjI5LCA0MiwgMTcsIDgsIDI4LCAxNDAsIDIsIDg3LCA0MiwgMTcsIDgsIDI4LCAxNzEsIDIsIDEyNiwgCisgICAgMjI3LCAyMjksIDQyLCAxNywgOCwgMjgsIDE3MSwgMiwgODcsIDQyLCAxNywgOCwgMjgsIDIzMSwgMTY0LCAyLCAxMjYsIAorICAgIDIyNywgMjI5LCA0MiwgMTcsIDgsIDI4LCAyMzEsIDE2NCwgMiwgODcsIDQyLCAxNywgOCwgMjgsIDIxNywgMTkyLCAyLCAKKyAgICAxMjYsIDIyNywgMjI5LCA0MiwgMTcsIDgsIDI4LCAyMTcsIDE5MiwgMiwgODcsIDQyLCAxNywgOCwgMjgsIDI0NiwgMTQxLCAKKyAgICAyLCAxMjYsIDIyNywgMjI5LCA0MiwgMTcsIDgsIDI4LCAyNDYsIDE0MSwgMiwgODcsIDQyLCAxNywgOCwgMjgsIDIxNSwgCisgICAgMjExLCAyLCAxNzEsIDQyLCAxNywgOCwgMjgsIDIxNSwgMjExLCAyLCAxNDAsIDQyLCAxNywgOCwgMjgsIDIxNSwgMjExLCAyLCAKKyAgICAyMzEsIDE2NCwgNDIsIDE3LCA4LCAyOCwgMjE1LCAyMTEsIDIsIDgwLCA0MiwgMTcsIDgsIDI4LCAyMTUsIDIxMSwgMiwgCisgICAgMjE5LCAxNywgNDIsIDE3LCA4LCAyOCwgMjE3LCA3MSwgMiwgMjE5LCAxNywgNDIsIDE3LCA4LCAyOCwgMjE3LCAxOTIsIDIsIAorICAgIDIxOSwgMTcsIDQyLCAxNywgOCwgMjgsIDI0NiwgMTQxLCAyLCAyMTksIDE3LCA0MiwgMTcsIDgsIDI4LCAyMTUsIDIxMSwgMiwgCisgICAgMTcxLCA3OCwgMTcsIDgsIDI4LCAyMTUsIDIxMSwgMiwgMTQwLCA3OCwgMTcsIDgsIDI4LCAyMTUsIDIxMSwgMiwgMjMxLCAKKyAgICAxNjQsIDc4LCAxNywgOCwgMjgsIDIxNSwgMjExLCAyLCA4MCwgNzgsIDE3LCA4LCAyOCwgMjE3LCA3MSwgMiwgMjM5LCA1MSwgCisgICAgNzgsIDE3LCA4LCAyOCwgMjE1LCAyMTEsIDIsIDIzOSwgNTEsIDc4LCAxNywgOCwgMjgsIDIxMiwgMTk1LCAyLCA4MCwgNzgsIAorICAgIDE3LCA4LCAyOCwgMjE3LCA3MSwgMiwgMTcxLCAxNjksIDE3LCA4LCAyOCwgMjE3LCA3MSwgMiwgMTQwLCAxNjksIDE3LCA4LCAKKyAgICAyOCwgMjE3LCA3MSwgMiwgMjMxLCAxNjQsIDE2OSwgMTcsIDgsIDI4LCAyMTUsIDIxMSwgMiwgMTcxLCAxNjksIDE3LCA4LCAKKyAgICAyOCwgMjE1LCAyMTEsIDIsIDE0MCwgMTY5LCAxNywgOCwgMjgsIDIxNSwgMjExLCAyLCAyMzEsIDE2NCwgMTY5LCAxNywgOCwgCisgICAgMjgsIDIxMiwgMTk1LCAyLCA4MCwgMTY5LCAxNywgOCwgMjgsIDIwNSwgMTEyLCAyLCA4MCwgMTY5LCAxNywgOCwgMjgsIAorICAgIDEyNiwgMiwgMjQyLCAzOCwgNDIsIDE3LCA4LCAyOCwgMTI2LCAyLCAyNDIsIDM4LCA2MSwgMTcsIDIyMiwgMTEwLCA0NywgCisgICAgMjIxLCAyMTYsIDIyMiwgMTEwLCA0OCwgMjIxLCAyMTYsIDgsIDI4LCAyMTIsIDExNiwgMiwgMTcxLCAyLCA4MCwgNzgsIDE3LCAKKyAgICA4LCAyOCwgMjEyLCAxMTYsIDIsIDE0MCwgMiwgMTcxLCA0MiwgMTcsIDgsIDI4LCAyMTIsIDExNiwgMiwgMTQwLCAyLCAxNzEsIAorICAgIDc4LCAxNywgOCwgMjgsIDIxMiwgMTE2LCAyLCAxNDAsIDIsIDgwLCA3OCwgMTcsIDgsIDI4LCAyMTIsIDExNiwgMiwgMjMxLCAKKyAgICAxNjQsIDIsIDgwLCA3OCwgMTcsIDgsIDI4LCAyMTIsIDExNiwgMiwgODAsIDIsIDE3MSwgNzgsIDE3LCA4LCAyOCwgMjEyLCAKKyAgICAxMTYsIDIsIDgwLCAyLCAxNDAsIDc4LCAxNywgOCwgMjgsIDIxMiwgMTE2LCAyLCA4MCwgMiwgMjMxLCAxNjQsIDc4LCAxNywgCisgICAgOCwgMjgsIDE3MSwgMiwgODAsIDIsIDE0MCwgNDIsIDE3LCA4LCAyOCwgMTcxLCAyLCA4MCwgMiwgMTQwLCA3OCwgMTcsIDgsIAorICAgIDI4LCAxNDAsIDIsIDgwLCAyLCA4NywgNDIsIDE3LCA4LCAyOCwgMTQwLCAyLCA4MCwgMiwgMTI2LCAyMjcsIDIyOSwgNDIsIAorICAgIDE3LCA4LCAyOCwgMjE3LCA3MSwgMiwgMTQwLCAyLCAxNzEsIDc4LCAxNywgOCwgMjgsIDIxNywgNzEsIDIsIDE3MSwgMiwgCisgICAgMTQwLCA3OCwgMTcsIDgsIDI4LCAyMTcsIDcxLCAyLCAxNzEsIDIsIDEyNiwgMjI3LCAyMjksIDQyLCAxNywgOCwgMjgsIAorICAgIDIxNywgNzEsIDIsIDgwLCAyLCAxNDAsIDQyLCAxNywgOCwgMjgsIDIxNywgNzEsIDIsIDgwLCAyLCAxNDAsIDc4LCAxNywgOCwgCisgICAgMjgsIDIxNywgNzEsIDIsIDgwLCAyLCAxNzEsIDc4LCAxNywgOCwgMjgsIDIxNywgNzEsIDIsIDgwLCAyLCA4MCwgNDIsIDE3LCAKKyAgICA4LCAyOCwgMjE3LCA3MSwgMiwgODAsIDIsIDgwLCA3OCwgMTcsIDgsIDI4LCAyMTcsIDE5MiwgMiwgMTQwLCAyLCAxNDAsIAorICAgIDQyLCAxNywgOCwgMjgsIDIxNywgMTkyLCAyLCAxNDAsIDIsIDE0MCwgNzgsIDE3LCA4LCAyOCwgMjE3LCAxOTIsIDIsIDgwLCAKKyAgICAyLCA4MCwgNDIsIDE3LCA4LCAyOCwgMjE1LCAyMTEsIDIsIDE0MCwgMiwgODAsIDQyLCAxNywgOCwgMjgsIDIxNSwgMjExLCAKKyAgICAyLCAxNDAsIDIsIDgwLCA3OCwgMTcsIDgsIDI4LCAyMTUsIDIxMSwgMiwgMTcxLCAyLCA4NywgNDIsIDE3LCA4LCAyOCwgCisgICAgMjE1LCAyMTEsIDIsIDgwLCAyLCAyMzEsIDE2NCwgNDIsIDE3LCA4LCAyOCwgMjE1LCAyMTEsIDIsIDgwLCAyLCAyMzEsIAorICAgIDE2NCwgNzgsIDE3LCA4LCAyOCwgMjE1LCAyMTEsIDIsIDgwLCAyLCA4MCwgNDIsIDE3LCA4LCAyOCwgMjE1LCAyMTEsIDIsIAorICAgIDgwLCAyLCA4MCwgNzgsIDE3LCA4LCAyOCwgMjQ2LCAxNDEsIDIsIDE0MCwgMiwgMTI2LCAyMjcsIDIyOSwgNDIsIDE3LCA4LCAKKyAgICAyOCwgMjQ2LCAxNDEsIDIsIDIzMSwgMTY0LCAyLCA4MCwgNDIsIDE3LCA4LCAyOCwgMjQ2LCAxNDEsIDIsIDIzMSwgMTY0LCAKKyAgICAyLCA4MCwgNzgsIDE3LCA4LCAyOCwgMjEyLCAxOTUsIDIsIDgwLCAyLCAxNDAsIDQyLCAxNywgOCwgMjgsIDIxMiwgMTk1LCAKKyAgICAyLCA4MCwgMiwgMTQwLCA3OCwgMTcsIDgsIDI4LCAyMTIsIDE5NSwgMiwgODAsIDIsIDgwLCA3OCwgMTcsIDgsIDI4LCAyMTIsIAorICAgIDE5NSwgMiwgODAsIDIsIDg3LCA0MiwgMTcsIDgsIDI4LCAyNTIsIDIwMSwgMiwgMTcxLCAyLCA4MCwgNDIsIDE3LCA4LCAyOCwgCisgICAgMjUyLCAyMDEsIDIsIDgwLCAyLCA4MCwgNDIsIDE3LCA4LCAyOCwgMjUyLCAyMDEsIDIsIDgwLCAyLCA4MCwgNzgsIDE3LCA4LCAKKyAgICAyOCwgMjUyLCAyMDEsIDIsIDgwLCAyLCAxMjYsIDIyNywgMjI5LCA0MiwgMTcsIDgsIDI4LCAyNDAsIDk1LCAyLCA4MCwgMiwgCisgICAgODAsIDQyLCAxNywgOCwgMjgsIDI0MCwgOTUsIDIsIDgwLCAyLCA4NywgNDIsIDE3LCA4LCAyOCwgMjQwLCA5NSwgMiwgODAsIAorICAgIDIsIDEyNiwgMjI3LCAyMjksIDQyLCAxNywgOCwgMjgsIDI0MiwgMTYsIDIsIDIzMSwgMTY0LCAyLCA4MCwgNDIsIDE3LCA4LCAKKyAgICAyOCwgMjQyLCAxNiwgMiwgMjMxLCAxNjQsIDIsIDgwLCA3OCwgMTcsIDgsIDI4LCAyMjAsIDEzLCAyLCA4MCwgMiwgMTQwLCAKKyAgICA0MiwgMTcsIDgsIDI4LCAyMjAsIDEzLCAyLCA4MCwgMiwgODAsIDQyLCAxNywgOCwgMjgsIDIzMCwgMTA3LCAyLCAxNDAsIDIsIAorICAgIDgwLCA0MiwgMTcsIDgsIDI4LCAyMzAsIDEwNywgMiwgMTQwLCAyLCA4NywgNDIsIDE3LCA4LCAyOCwgMjMwLCAxMDcsIDIsIAorICAgIDE0MCwgMiwgMTI2LCAyMjcsIDIyOSwgNDIsIDE3LCA4LCAyOCwgMjMwLCAxMDcsIDIsIDE3MSwgMiwgMTcxLCA3OCwgMTcsIAorICAgIDgsIDI4LCAyMzAsIDEwNywgMiwgMTcxLCAyLCAxNzEsIDQyLCAxNywgOCwgMjgsIDIzMCwgMTA3LCAyLCAyMzEsIDE2NCwgMiwgCisgICAgODAsIDQyLCAxNywgOCwgMjgsIDIzMCwgMTA3LCAyLCAyMzEsIDE2NCwgMiwgODAsIDc4LCAxNywgOCwgMjgsIDIzMCwgMTA3LCAKKyAgICAyLCA4MCwgMiwgMTQwLCA0MiwgMTcsIDgsIDI4LCAyMzAsIDEwNywgMiwgODAsIDIsIDE0MCwgNzgsIDE3LCA4LCAyOCwgODAsIAorICAgIDIsIDE0MCwgMiwgMTcxLCA3OCwgMTcsIDgsIDI4LCA4MCwgMiwgMTQwLCAyLCA4MCwgNzgsIDE3LCA4LCAyOCwgODAsIDIsIAorICAgIDE0MCwgMiwgODcsIDQyLCAxNywgOCwgMjgsIDgwLCAyLCAxNzEsIDIsIDE0MCwgNzgsIDE3LCA4LCAyOCwgODAsIDIsIDE3MSwgCisgICAgMiwgODAsIDc4LCAxNywgOCwgMjgsIDgwLCAyLCAyMzEsIDE2NCwgMiwgMTcxLCA3OCwgMTcsIDgsIDI4LCA4MCwgMiwgMjMxLCAKKyAgICAxNjQsIDIsIDgwLCA3OCwgMTcsIDgsIDI4LCA4MCwgMiwgMTcxLCAyLCAyMzEsIDE2NCwgNzgsIDE3LCA4LCAyOCwgMjM5LCAKKyAgICA1MSwgMiwgODAsIDIsIDE3MSwgNzgsIDE3LCA4LCAyOCwgMjM5LCA1MSwgMiwgODAsIDIsIDgwLCA3OCwgMTcsIDgsIDI4LCAKKyAgICAyMjQsIDU1LCAyLCAxNDAsIDIsIDgwLCA3OCwgMTcsIDgsIDI4LCAyMjQsIDU1LCAyLCAxNDAsIDIsIDEyNiwgMjI3LCAyMjksIAorICAgIDQyLCAxNywgOCwgMjgsIDIyNCwgNTUsIDIsIDE3MSwgMiwgODAsIDQyLCAxNywgOCwgMjgsIDIyNCwgNTUsIDIsIDE3MSwgMiwgCisgICAgODAsIDc4LCAxNywgOCwgMjgsIDIyNCwgNTUsIDIsIDE3MSwgMiwgMTI2LCAyMjcsIDIyOSwgNDIsIDE3LCA4LCAyOCwgMjI0LCAKKyAgICA1NSwgMiwgODAsIDIsIDg3LCA0MiwgMTcsIDgsIDI4LCAyMjQsIDU1LCAyLCA4MCwgMiwgMTI2LCAyMjcsIDIyOSwgNDIsIAorICAgIDE3LCA4LCAyOCwgODcsIDIsIDgwLCAyLCA4MCwgNDIsIDE3LCA4LCAyOCwgODcsIDIsIDgwLCAyLCA4MCwgNzgsIDE3LCA4LCAKKyAgICAyOCwgMjUwLCAzOSwgMiwgMjMxLCAxNjQsIDIsIDg3LCA0MiwgMTcsIDgsIDI4LCAyMTIsIDExNiwgMiwgMTcxLCAyLCA4NywgCisgICAgNDIsIDE3LCA4LCAyOCwgMjEyLCAxMTYsIDIsIDE3MSwgMiwgMTI2LCAyMjcsIDIyOSwgNDIsIDE3LCA4LCAyOCwgMjEyLCAKKyAgICAxMTYsIDIsIDIzMSwgMTY0LCAyLCA4NywgNDIsIDE3LCA4LCAyOCwgMjEyLCAxMTYsIDIsIDIzMSwgMTY0LCAyLCAxMjYsIAorICAgIDIyNywgMjI5LCA0MiwgMTcsIDgsIDI4LCAyMTIsIDExNiwgMiwgODAsIDIsIDg3LCA0MiwgMTcsIDgsIDI4LCAyMTIsIDExNiwgCisgICAgMiwgODAsIDIsIDEyNiwgMjI3LCAyMjksIDQyLCAxNywgOCwgMjgsIDE3MSwgMiwgODAsIDIsIDg3LCA0MiwgMTcsIDgsIDI4LCAKKyAgICAxNzEsIDIsIDE0MCwgMiwgMTI2LCAyMjcsIDIyOSwgNDIsIDE3LCA4LCAyOCwgMTcxLCAyLCA4MCwgMiwgMTI2LCAyMjcsIAorICAgIDIyOSwgNDIsIDE3LCA4LCAyOCwgMjE3LCA3MSwgMiwgMjMxLCAxNjQsIDIsIDEyNiwgMjI3LCAyMjksIDQyLCAxNywgOCwgCisgICAgMjgsIDIxNywgMTkyLCAyLCAxNDAsIDIsIDg3LCA0MiwgMTcsIDgsIDI4LCAyMTUsIDIxMSwgMiwgMTQwLCAyLCA4NywgNDIsIAorICAgIDE3LCA4LCAyOCwgMjQ2LCAxNDEsIDIsIDE0MCwgMiwgODcsIDQyLCAxNywgOCwgMjgsIDIzMCwgMTA3LCAyLCAxNzEsIDIsIAorICAgIDg3LCA0MiwgMTcsIDgsIDI4LCAyMzAsIDEwNywgMiwgODAsIDIsIDg3LCA0MiwgMTcsIDgsIDI4LCA4NywgMiwgMTQwLCAyLCAKKyAgICA4NywgNDIsIDE3LCA4LCAyOCwgODcsIDIsIDE3MSwgMiwgODcsIDQyLCAxNywgOCwgMjgsIDg3LCAyLCA4MCwgMiwgODcsIAorICAgIDQyLCAxNywgOCwgMjgsIDgwLCAyLCA4MCwgMiwgODcsIDQyLCAxNywgOCwgMjgsIDIyMCwgMTMsIDIsIDgwLCAyLCA4NywgCisgICAgNDIsIDE3LCA4LCAyOCwgMjI0LCA1NSwgMiwgMTQwLCAyLCA4NywgNDIsIDE3LCA4LCAyOCwgMjIwLCAxMywgMiwgODAsIDIsIAorICAgIDE0MCwgNzgsIDE3LCA4LCAyOCwgMjMwLCAxMDcsIDIsIDE0MCwgMiwgODAsIDc4LCAxNywgOCwgMjgsIDI1MiwgMjAxLCAyLCAKKyAgICA4MCwgMiwgODcsIDQyLCAxNywgOCwgMjgsIDIzMiwgNDYsIDIsIDgwLCAyLCA4NywgNDIsIDE3LCA4LCAyOCwgMjI0LCA1NSwgCisgICAgMiwgMTcxLCAyLCAxNDAsIDc4LCAxNywgOCwgMjgsIDgwLCAyLCAyMzEsIDE2NCwgMiwgODcsIDQyLCAxNywgOCwgMjgsIAorICAgIDIzMCwgMTA3LCAyLCAxNzEsIDIsIDgwLCA3OCwgMTcsIDgsIDI4LCAyMzIsIDQ2LCAyLCA4MCwgMiwgODAsIDQyLCAxNywgOCwgCisgICAgMjgsIDIzMCwgMTA3LCAyLCAxNzEsIDIsIDgwLCA0MiwgMTcsIDgsIDI4LCAyMjQsIDU1LCAyLCAxNzEsIDIsIDE0MCwgNDIsIAorICAgIDE3LCA4LCAyOCwgMTcxLCAyLCAxNDAsIDIsIDg3LCA0MiwgMTcsIDgsIDI4LCAxNDAsIDIsIDE3MSwgMiwgODcsIDQyLCAxNywgCisgICAgOCwgMjgsIDgwLCAyLCAxNzEsIDIsIDg3LCA0MiwgMTcsIDgsIDI4LCAyNDIsIDE2LCAyLCA4MCwgMiwgODcsIDQyLCAxNywgCisgICAgOCwgMjgsIDI1MCwgMzksIDIsIDE0MCwgMiwgODcsIDQyLCAxNywgOCwgMjgsIDIzMiwgNDYsIDIsIDgwLCAyLCA4MCwgNzgsIAorICAgIDE3LCA4LCAyOCwgMjUyLCAyMDEsIDIsIDE3MSwgMiwgODAsIDc4LCAxNywgOCwgMjgsIDIxNywgMTkyLCAyLCA4MCwgMiwgCisgICAgODAsIDc4LCAxNywgOCwgMjgsIDIxNywgNzEsIDIsIDIzMSwgMTY0LCAyLCA4NywgNDIsIDE3LCA4LCAyOCwgMjI0LCA1NSwgCisgICAgMiwgMTcxLCAyLCA4NywgNDIsIDE3LCA4LCAyOCwgMjE3LCAxNjgsIDIwOSwgMTcyLCAyNTEsIDIzMiwgMjMxLCAyNSwgMjEzLCAKKyAgICAyNTIsIDMsIDYxLCAxNywgOCwgMjgsIDIyMCwgOSwgMjA5LCAxNzIsIDI1MSwgMjMyLCAyMzEsIDI1LCAyMTMsIDI1MiwgMywgCisgICAgNjEsIDE3LCA4LCAyOCwgMjUyLCAxNTUsIDYxLCAxNywgOCwgMjgsIDI1MiwgMTg2LCA2MSwgMTcsIDgsIDI4LCAyMjYsIAorICAgIDE3MSwgNjEsIDE3LCA4LCAyOCwgMjE3LCAxNjksIDYxLCAxNywgOCwgMjgsIDIxOSwgNjcsIDYxLCAxNywgOCwgMjgsIDI1MiwgCisgICAgMTc1LCA2MSwgMTcsIDgsIDI4LCAyMDcsIDc5LCA2MSwgMTcsIDgsIDI4LCAyMTcsIDE2OCwgNjEsIDE3LCA4LCAyOCwgMjE3LCAKKyAgICAxNjcsIDI1MiwgMTc1LCAyMDcsIDc4LCA4LCAyOCwgMjMyLCAxOTIsIDIxOCwgMjA3LCA1MywgOCwgMjgsIDI0OSwgMjExLCAKKyAgICAyNTIsIDM1LCAyNTIsIDM2LCA1NCwgMjE3LCA1OCwgNTQsIDIxNiwgMjAzLCA1NCwgMjE2LCAxMzUsIDU0LCAyMTYsIDEyNCwgCisgICAgNTQsIDIxNiwgMTEzLCA1NCwgMjE2LCAxMDIsIDU0LCAyMTYsIDkxLCA1NCwgMjE2LCA4MCwgNTQsIDIxNiwgNjksIDU0LCAKKyAgICAyMTcsIDU3LCA1NCwgMjE3LCA0NiwgNTQsIDIxNywgMzUsIDU0LCAyMTcsIDI0LCA1NCwgMjE3LCAxMywgNTQsIDIxNywgMiwgCisgICAgNTQsIDIxNiwgMjQ3LCAyMjAsIDEzMSwgMjQxLCAxMzYsIDMzLCA3OSwgMjQ3LCAxNTUsIDIyMCwgMTMxLCAyNDEsIDEzNiwgCisgICAgMzMsIDc5LCAxMjgsIDI0NywgMTU1LCAyMjAsIDEzMSwgMjQxLCAxMzYsIDMzLCA3OSwgMTI4LCAyNDEsIDgyLCAyMTMsIAorICAgIDI1MSwgMjIwLCAxMzEsIDI0MSwgMTM2LCAzMywgNzksIDI0NywgMTYyLCAyMjAsIDEzMSwgMjQxLCAxMzYsIDMzLCA3OSwgCisgICAgMjE2LCA1MiwgMjIwLCAxMzEsIDI0MSwgMTM2LCAzMywgNzksIDI0MiwgMTY4LCA4MywgMjIwLCAxMzEsIDI0MSwgMTM2LCAKKyAgICAzMywgNzksIDIxOSwgMTk2LCA4MywgMjIwLCAxMzEsIDI0MSwgMTM2LCAzMywgNzksIDQ3LCA1OSwgMjMwLCAxNiwgMTQ1LCAKKyAgICAyMjAsIDEzMSwgMjQxLCAxMzYsIDMzLCA3OSwgNDgsIDU5LCAyMzAsIDE2LCAyNDksIDEzMiwgMjIwLCAxMzEsIDI0MSwgCisgICAgMTM2LCAzMywgNzksIDE5NCwgMjQzLCA1NCwgMzYsIDI4LCA0NywgMjM5LCAxMjEsIDM2LCAyOCwgNDgsIDIzOSwgMTIxLCAKKyAgICAzNiwgNTAsIDIxMSwgMTgxLCA0NywgMjM5LCAxMjEsIDM2LCA1MCwgMjExLCAxODEsIDQ4LCAyMzksIDEyMSwgMzYsIDIyOCwgCisgICAgMTQsIDQ3LCAyMzksIDEyMSwgMzYsIDIyOCwgMTQsIDQ4LCAyMzksIDEyMSwgMzYsIDI0NywgMTMwLCAyMjgsIDEzLCAzNiwgCisgICAgMjgsIDQ3LCAxNjAsIDU1LCAzNiwgMjgsIDQ4LCAxNjAsIDU1LCAzNiwgMjExLCAxODEsIDQ3LCAxNjAsIDU1LCAzNiwgMjExLCAKKyAgICAxODEsIDQ4LCAxNjAsIDU1LCAzNiwgMjI4LCAxNCwgNDcsIDE2MCwgNTUsIDM2LCAyMjgsIDE0LCA0OCwgMTYwLCA1NSwgMzYsIAorICAgIDI0NywgMTMwLCAyMjgsIDE0LCA1NSwgMjIwLCAxMzEsIDI0MSwgMTM2LCAzMywgNzksIDExOCwgNjcsIDIzMCwgNTYsIDIyMCwgCisgICAgMTMxLCAyNDEsIDEzNiwgMzMsIDc5LCAyNDMsIDUxLCAyNDYsIDc4LCAyMjAsIDEzMSwgMjQxLCAxMzYsIDMzLCA3OSwgMjQzLCAKKyAgICA0MiwgMjQ2LCA3OCwgMjIwLCAxMzEsIDI0MSwgMTM2LCAzMywgNzksIDExNCwgMjI5LCAyMDUsIDIyMCwgMTMxLCAyNDEsIAorICAgIDEzNiwgMzMsIDc5LCAyMDcsIDYxLCAxMTQsIDIyOSwgMjA1LCAyMjAsIDEzMSwgMjQxLCAxMzYsIDMzLCA3OSwgNDcsIDIyMSwgCisgICAgMjE2LCAyMjAsIDEzMSwgMjQxLCAxMzYsIDMzLCA3OSwgNDgsIDIyMSwgMjE2LCAyMjAsIDEzMSwgMjQxLCAxMzYsIDMzLCAKKyAgICA3OSwgNDcsIDI0NywgMjYsIDE0NSwgMjIwLCAxMzEsIDI0MSwgMTM2LCAzMywgNzksIDQ4LCAyNDcsIDI2LCAxNDUsIDIyMCwgCisgICAgMTMxLCAyNDEsIDEzNiwgMzMsIDc5LCA0NywgMjExLCA5MywgMjE1LCAyMDQsIDE0NSwgMjIwLCAxMzEsIDI0MSwgMTM2LCAKKyAgICAzMywgNzksIDQ4LCAyMTEsIDkzLCAyMTUsIDIwNCwgMTQ1LCAyMjAsIDEzMSwgMjQxLCAxMzYsIDMzLCA3OSwgNDcsIDYwLCAKKyAgICAyMzAsIDE2LCAxNDUsIDIyMCwgMTMxLCAyNDEsIDEzNiwgMzMsIDc5LCA0OCwgNjAsIDIzMCwgMTYsIDE0NSwgMjIwLCAxMzEsIAorICAgIDI0MSwgMTM2LCAzMywgNzksIDQ3LCA1MCwgMjUyLCAxMDksIDE0NSwgMjIwLCAxMzEsIDI0MSwgMTM2LCAzMywgNzksIDQ4LCAKKyAgICA1MCwgMjUyLCAxMDksIDE0NSwgMjIwLCAxMzEsIDI0MSwgMTM2LCAzMywgNzksIDQ3LCAyNTIsIDEwOSwgMTQ1LCAyMjAsIAorICAgIDEzMSwgMjQxLCAxMzYsIDMzLCA3OSwgNDgsIDI1MiwgMTA5LCAxNDUsIDIyMCwgMTMxLCAyNDEsIDEzNiwgMzMsIDc5LCA0NywgCisgICAgMjQ3LCA5MiwgMTQ1LCAyMjAsIDEzMSwgMjQxLCAxMzYsIDMzLCA3OSwgNDgsIDI0NywgOTIsIDE0NSwgMjIwLCAxMzEsIAorICAgIDI0MSwgMTM2LCAzMywgNzksIDQ3LCA1OSwgMjQ3LCA5MiwgMTQ1LCAyMjAsIDEzMSwgMjQxLCAxMzYsIDMzLCA3OSwgNDgsIAorICAgIDU5LCAyNDcsIDkyLCAxNDUsIDIxNiwgMzIsIDI0NSwgMjMsIDU5LCAyMTYsIDMyLCAyNDUsIDIzLCAyMjAsIDEzMSwgMjQxLCAKKyAgICAxMzYsIDMzLCA3OSwgNDcsIDQ5LCAxNDUsIDIyMCwgMTMxLCAyNDEsIDEzNiwgMzMsIDc5LCA0OCwgNDksIDE0NSwgMjQ2LCAKKyAgICA3NywgMjIyLCA4MSwgMjQ4LCAxMjUsIDIyMiwgODEsIDIwNywgNjEsIDIyMiwgODEsIDUwLCAyMDcsIDYxLCAyMjIsIDgxLCAKKyAgICAyNDYsIDc3LCAxMTQsIDIyOSwgMjA1LCAyNDgsIDEyNSwgMTE0LCAyMjksIDIwNSwgMjA3LCA2MSwgMTE0LCAyMjksIDIwNSwgCisgICAgNSwgMjQ3LCAxNTUsIDUsIDEyOCwgMjQ3LCAxNTUsIDUsIDI0MSwgODIsIDIxMywgMjUxLCA1LCAyMTYsIDUyLCA1LCAyNDcsIAorICAgIDE2MiwgNSwgMjE5LCAxOTYsIDgzLCA1LCAyNDIsIDE2OCwgODMsIDUsIDI0MywgNTEsIDI0NiwgNzgsIDUsIDQ3LCAyMjEsIAorICAgIDIxNiwgNSwgNDgsIDIyMSwgMjE2LCA1LCA0NywgMjQ3LCAyNiwgMTQ1LCA1LCA0OCwgMjQ3LCAyNiwgMTQ1LCA1LCA0NywgCisgICAgMjExLCA5MywgMjE1LCAyMDQsIDE0NSwgNSwgNDgsIDIxMSwgOTMsIDIxNSwgMjA0LCAxNDUsIDUsIDQzLCA1MywgNSwgMjUyLCAKKyAgICAxMjUsIDUsIDI1MSwgMjA5LCA1LCAxMDEsIDUzLCA1LCAyMzcsIDIzOCwgNSwgMjMwLCAxMCwgNTMsIDUsIDIzOSwgMjMwLCAKKyAgICA1MywgNSwgMjQyLCAyNDIsIDUzLCA1LCAyMTgsIDIyNSwgMjE0LCAxODAsIDUsIDI0NSwgMzUsIDUzLCA1LCAyMjEsIDEzMSwgCisgICAgNTMsIDUsIDI0NywgMTUzLCAyNTEsIDE5OSwgOCwgMjQyLCAzOCwgNjEsIDE3LCA4LCAyMTIsIDE1NCwgMiwgMjQyLCAzOCwgCisgICAgNTIsIDgsIDI0NiwgMTA1LCA2MSwgMTcsIDgsIDIxMiwgMTkyLCAyNDEsIDExNSwgOCwgMjMxLCAyNTEsIDYxLCAxNywgOCwgCisgICAgMjQyLCA0MCwgNjEsIDE3LCA4LCAyNDIsIDQwLCAxNjksIDE3LCA4LCAyNDYsIDEwNywgNjEsIDE3LCA4LCAyNDYsIDEwNywgCisgICAgMTY5LCAxNywgOCwgMjMxLCAyNTMsIDYxLCAxNywgOCwgMjMxLCAyNTMsIDE2OSwgMTcsIDgsIDIxNSwgMjUwLCA2MSwgMTcsIAorICAgIDgsIDIxNSwgMjUwLCAxNjksIDE3LCA4LCAyMTMsIDE2MywgNjEsIDE3LCA4LCAyMTMsIDE2MywgMTY5LCAxNywgOCwgMSwgCisgICAgMjM5LCAxMTIsIDYxLCAxNywgOCwgMSwgMTI2LCAyLCAyMjgsIDksIDg0LCA2MSwgMTcsIDgsIDEsIDEyNiwgMiwgMjI4LCA5LCAKKyAgICA4NCwgNDIsIDE3LCA4LCAxLCAxMjYsIDIsIDIzOSwgMTEyLCA4NCwgNjEsIDE3LCA4LCAxLCAxMjYsIDIsIDIzOSwgMTEyLCAKKyAgICA4NCwgNDIsIDE3LCA4LCAxLCAyMDcsIDYwLCAyLCAyMzksIDExMiwgODQsIDYxLCAxNywgOCwgMSwgMjA3LCA2MCwgMiwgCisgICAgMjM5LCAxMTIsIDg0LCA0MiwgMTcsIDgsIDEsIDEyNiwgMiwgMjM5LCAxMTIsIDI1MCwgMjYsIDYxLCAxNywgOCwgMSwgMTI2LCAKKyAgICAyLCAyMzksIDExMiwgMjUwLCAyNiwgNDIsIDE3LCA4LCAxLCA4NywgMiwgMjM5LCAxMTIsIDg0LCA2MSwgMTcsIDgsIDEsIAorICAgIDg3LCAyLCAyMzksIDExMiwgODQsIDQyLCAxNywgOCwgMSwgODcsIDIsIDIzOSwgMTEyLCA4NCwgNzgsIDE3LCA4LCAxLCA4NywgCisgICAgMiwgMjM5LCAxMTIsIDg0LCAxNjksIDE3LCA4LCAxLCAxMjYsIDYxLCAxNywgOCwgMSwgMTI2LCA0MiwgMTcsIDgsIDEsIAorICAgIDI1MCwgMzksIDYxLCAxNywgOCwgMSwgMjUwLCAzOSwgNDIsIDE3LCA4LCAxLCAyNTAsIDM5LCA3OCwgMTcsIDgsIDEsIDI1MCwgCisgICAgMzksIDE2OSwgMTcsIDgsIDEsIDIxMiwgMTE2LCAyMjcsIDE5OCwgNjEsIDE3LCA4LCAxLCAyMTIsIDExNiwgMjI3LCAxOTgsIAorICAgIDQyLCAxNywgOCwgMSwgMjEyLCAxMTYsIDYxLCAxNywgOCwgMSwgMjEyLCAxMTYsIDQyLCAxNywgOCwgMSwgMjEyLCAxMTYsIAorICAgIDc4LCAxNywgOCwgMSwgMjEyLCAxMTYsIDE2OSwgMTcsIDgsIDEsIDIxMiwgMzgsIDYxLCAxNywgOCwgMSwgMjEyLCAzOCwgCisgICAgNDIsIDE3LCA4LCAxLCAyMTIsIDM4LCA3OCwgMTcsIDgsIDEsIDIxMiwgMzgsIDE2OSwgMTcsIDgsIDEsIDE3MSwgNjEsIDE3LCAKKyAgICA4LCAxLCAxNzEsIDQyLCAxNywgOCwgMSwgMTcxLCA3OCwgMTcsIDgsIDEsIDE3MSwgMTY5LCAxNywgOCwgMSwgMTQwLCA2MSwgCisgICAgMTcsIDgsIDEsIDE0MCwgNDIsIDE3LCA4LCAxLCAxNDAsIDc4LCAxNywgOCwgMSwgMTQwLCAxNjksIDE3LCA4LCAxLCAyMzEsIAorICAgIDE2NCwgNjEsIDE3LCA4LCAxLCAyMzEsIDE2NCwgNDIsIDE3LCA4LCAxLCAyMzEsIDE2NCwgNzgsIDE3LCA4LCAxLCAyMzEsIAorICAgIDE2NCwgMTY5LCAxNywgOCwgMSwgMjQ2LCAxMTgsIDYxLCAxNywgOCwgMSwgMjQ2LCAxMTgsIDQyLCAxNywgOCwgMSwgMjEyLCAKKyAgICA1MCwgNjEsIDE3LCA4LCAxLCAyMTIsIDUwLCA0MiwgMTcsIDgsIDEsIDIxOSwgMTcsIDYxLCAxNywgOCwgMSwgMjE5LCAxNywgCisgICAgNDIsIDE3LCA4LCAxLCAyMDUsIDEwOSwgNjEsIDE3LCA4LCAxLCAyMDUsIDEwOSwgNDIsIDE3LCA4LCAxLCAyMTcsIDcxLCAKKyAgICA2MSwgMTcsIDgsIDEsIDIxNywgNzEsIDQyLCAxNywgOCwgMSwgMjE3LCA3MSwgNzgsIDE3LCA4LCAxLCAyMTcsIDcxLCAxNjksIAorICAgIDE3LCA4LCAxLCAyMTUsIDIxMSwgNjEsIDE3LCA4LCAxLCAyMTUsIDIxMSwgNDIsIDE3LCA4LCAxLCAyMTUsIDIxMSwgNzgsIAorICAgIDE3LCA4LCAxLCAyMTUsIDIxMSwgMTY5LCAxNywgOCwgMSwgMjE3LCAxOTIsIDYxLCAxNywgOCwgMSwgMjE3LCAxOTIsIDQyLCAKKyAgICAxNywgOCwgMSwgMjE3LCAxOTIsIDc4LCAxNywgOCwgMSwgMjE3LCAxOTIsIDE2OSwgMTcsIDgsIDEsIDI0NiwgMTQxLCA2MSwgCisgICAgMTcsIDgsIDEsIDI0NiwgMTQxLCA0MiwgMTcsIDgsIDEsIDI0NiwgMTQxLCA3OCwgMTcsIDgsIDEsIDI0NiwgMTQxLCAxNjksIAorICAgIDE3LCA4LCAxLCAyMTIsIDE5NSwgNjEsIDE3LCA4LCAxLCAyMTIsIDE5NSwgNDIsIDE3LCA4LCAxLCAyMTIsIDE5NSwgNzgsIAorICAgIDE3LCA4LCAxLCAyMTIsIDE5NSwgMTY5LCAxNywgOCwgMSwgMjA1LCAxMTIsIDYxLCAxNywgOCwgMSwgMjA1LCAxMTIsIDQyLCAKKyAgICAxNywgOCwgMSwgMjA1LCAxMTIsIDc4LCAxNywgOCwgMSwgMjA1LCAxMTIsIDE2OSwgMTcsIDgsIDEsIDI1MiwgMjAxLCA2MSwgCisgICAgMTcsIDgsIDEsIDI1MiwgMjAxLCA0MiwgMTcsIDgsIDEsIDI1MiwgMjAxLCA3OCwgMTcsIDgsIDEsIDI1MiwgMjAxLCAxNjksIAorICAgIDE3LCA4LCAxLCAyNDAsIDk1LCA2MSwgMTcsIDgsIDEsIDI0MCwgOTUsIDQyLCAxNywgOCwgMSwgMjQwLCA5NSwgNzgsIDE3LCAKKyAgICA4LCAxLCAyNDAsIDk1LCAxNjksIDE3LCA4LCAxLCAyNDIsIDE2LCA2MSwgMTcsIDgsIDEsIDI0MiwgMTYsIDQyLCAxNywgOCwgCisgICAgMSwgMjQyLCAxNiwgNzgsIDE3LCA4LCAxLCAyNDIsIDE2LCAxNjksIDE3LCA4LCAxLCAyMjAsIDEzLCA2MSwgMTcsIDgsIDEsIAorICAgIDIyMCwgMTMsIDQyLCAxNywgOCwgMSwgMjIwLCAxMywgNzgsIDE3LCA4LCAxLCAyMjAsIDEzLCAxNjksIDE3LCA4LCAxLCAKKyAgICAyMzIsIDQ2LCA2MSwgMTcsIDgsIDEsIDIzMiwgNDYsIDQyLCAxNywgOCwgMSwgMjMyLCA0NiwgNzgsIDE3LCA4LCAxLCAyMzIsIAorICAgIDQ2LCAxNjksIDE3LCA4LCAxLCAyMzAsIDEwNywgNjEsIDE3LCA4LCAxLCAyMzAsIDEwNywgNDIsIDE3LCA4LCAxLCAyMzAsIAorICAgIDEwNywgNzgsIDE3LCA4LCAxLCAyMzAsIDEwNywgMTY5LCAxNywgOCwgMSwgODAsIDYxLCAxNywgOCwgMSwgODAsIDQyLCAxNywgCisgICAgOCwgMSwgODAsIDc4LCAxNywgOCwgMSwgODAsIDE2OSwgMTcsIDgsIDEsIDIyNCwgNTUsIDYxLCAxNywgOCwgMSwgMjI0LCAKKyAgICA1NSwgNDIsIDE3LCA4LCAxLCAyMjQsIDU1LCA3OCwgMTcsIDgsIDEsIDIyNCwgNTUsIDE2OSwgMTcsIDgsIDEsIDIzOSwgNTEsIAorICAgIDYxLCAxNywgOCwgMSwgMjM5LCA1MSwgNDIsIDE3LCA4LCAxLCAyMzksIDUxLCA3OCwgMTcsIDgsIDEsIDIzOSwgNTEsIDE2OSwgCisgICAgMTcsIDgsIDEsIDIwNywgNjAsIDYxLCAxNywgOCwgMSwgMjA3LCA2MCwgNDIsIDE3LCA4LCAxLCAxMjYsIDIyNywgMjI5LCAKKyAgICA2MSwgMTcsIDgsIDEsIDEyNiwgMjI3LCAyMjksIDQyLCAxNywgOCwgMSwgODcsIDYxLCAxNywgOCwgMSwgODcsIDQyLCAxNywgCisgICAgOCwgMSwgODcsIDc4LCAxNywgOCwgMSwgODcsIDE2OSwgMTcsIDgsIDI4LCAyMzAsIDEwNywgMiwgMTI2LCAyLCAyMjgsIDksIAorICAgIDg0LCA2MSwgMTcsIDgsIDI4LCAyMzAsIDEwNywgMiwgMTI2LCAyLCAyMjgsIDksIDg0LCA0MiwgMTcsIDgsIDI4LCAyMzAsIAorICAgIDEwNywgMiwgMTI2LCAyLCAyMzksIDExMiwgODQsIDYxLCAxNywgOCwgMjgsIDIzMCwgMTA3LCAyLCAxMjYsIDIsIDIzOSwgCisgICAgMTEyLCA4NCwgNDIsIDE3LCA4LCAyOCwgMjMwLCAxMDcsIDIsIDEyNiwgMiwgMjM5LCAxMTIsIDI1MCwgMjYsIDYxLCAxNywgCisgICAgOCwgMjgsIDIzMCwgMTA3LCAyLCAxMjYsIDIsIDIzOSwgMTEyLCAyNTAsIDI2LCA0MiwgMTcsIDgsIDI4LCAyMzAsIDEwNywgCisgICAgMiwgMTI2LCA2MSwgMTcsIDgsIDI4LCAyMzAsIDEwNywgMiwgMTI2LCA0MiwgMTcsIDIwNSwgODYsIDIwNywgMTUsIDIyNCwgCisgICAgNjYsIDIxNCwgMTUzLCAxNDQsIDI0MiwgMTY4LCA4MywgMTQ0LCAyMTksIDE4MCwgODMsIDE0NCwgNDMsIDUzLCAxNDQsIAorICAgIDI0NSwgMzUsIDUzLCAxNDQsIDIyMSwgMTMxLCA1MywgMTQ0LCAyNTIsIDEyNSwgMTQ0LCAyNTIsIDUzLCAxNDQsIDQ3LCAKKyAgICAyMjEsIDIxNiwgMTQ0LCA0OCwgMjIxLCAyMTYsIDE0NCwgMjUxLCAyMDksIDE0NCwgMTAxLCA1MywgMTQ0LCAyNDcsIDE1NSwgCisgICAgMTQ0LCAyMzcsIDIzOCwgMTQ0LCAyNDEsIDgyLCAyMTMsIDI1MSwgMTQ0LCAyMTQsIDE4MCwgMTQ0LCAxOCwgMjA1LCA4NSwgCisgICAgMTQ0LCAxOCwgMTAyLCAxNDQsIDE4LCAxMDUsIDE0NCwgMTgsIDE0MiwgMTQ0LCAxOCwgMTM5LCAxNDQsIDE4LCAxNjgsIAorICAgIDE0NCwgMTgsIDE4NCwgMTQ0LCAxOCwgMTk1LCAxNDQsIDE4LCAxOTMsIDE0NCwgMTgsIDIwMCwgMTQ0LCAyNDcsIDE2MiwgCisgICAgMTQ0LCAyMTYsIDUyLCAxNDQsIDIzMCwgMTAsIDUzLCAxNDQsIDI0MiwgMjQyLCA1MywgMTQ0LCAyMzksIDIzMCwgNTMsIAorICAgIDE0NCwgMjE5LCAxOTYsIDgzLCAxNDQsIDI0NywgMTUzLCAyNTEsIDE5OSwgMTQ0LCA3LCA2LCAxLCA2MiwgMTQ0LCA3LCA2LCAKKyAgICAxLCAyNTEsIDE1MCwgMTQ0LCA3LCA2LCAxLCAyNDksIDM0LCAxNDQsIDcsIDYsIDEsIDI0NiwgMjQwLCAxNDQsIDcsIDYsIDEsIAorICAgIDc1LCAxNDQsIDcsIDYsIDEsIDI0MiwgMTM5LCAxNDQsIDcsIDYsIDEsIDI0MSwgNTUsIDE0NCwgNywgNiwgMSwgMjM5LCAKKyAgICAxNTUsIDE0NCwgNywgNiwgMSwgNzQsIDE0NCwgNywgNiwgMSwgMjMyLCAyMDMsIDE0NCwgNywgNiwgMSwgMjMyLCA3NiwgCisgICAgMTQ0LCA3LCA2LCAxLCAxNDksIDE0NCwgNywgNiwgMSwgMjI5LCAyOCwgMTQ0LCA3LCA2LCAxLCAyMjYsIDMzLCAxNDQsIDcsIAorICAgIDYsIDEsIDc2LCAxNDQsIDcsIDYsIDEsIDIyMiwgNjcsIDE0NCwgNywgNiwgMSwgMjIwLCAyNywgMTQ0LCA3LCA2LCAxLCAKKyAgICAxMzcsIDE0NCwgNywgNiwgMSwgMTgyLCAxNDQsIDcsIDYsIDEsIDIxMywgMTAsIDE0NCwgNywgNiwgMSwgNzEsIDE0NCwgNywgCisgICAgNiwgMSwgMjA5LCAxNDgsIDE0NCwgNywgNiwgMSwgMjA3LCAxMjksIDE0NCwgNywgNiwgMSwgMjA2LCAxOTUsIDE0NCwgNywgCisgICAgNiwgMSwgMjA2LCAxMjMsIDE0NCwgNywgNiwgMSwgMjA1LCAxNTksIDE0NCwgNDcsIDQ5LCAxNDUsIDE0NCwgMjE4LCAyMjUsIAorICAgIDIxNCwgMTgwLCAxNDQsIDQ4LCA0OSwgMTQ1LCAxNDQsIDI0NywgMjI4LCAyNTMsIDIxLCAxNDQsIDExNCwgMjI5LCAyMDUsIAorICAgIDE0NCwgMjM5LCAyMzcsIDI1MywgMjEsIDE0NCwgNywgNSwgMSwgNjIsIDE0NCwgNywgNSwgMSwgMjUxLCAxNTAsIDE0NCwgNywgCisgICAgNSwgMSwgMjQ5LCAzNCwgMTQ0LCA3LCA1LCAxLCAyNDYsIDI0MCwgMTQ0LCA3LCA1LCAxLCA3NSwgMTQ0LCA3LCA1LCAxLCAKKyAgICAyNDIsIDEzOSwgMTQ0LCA3LCA1LCAxLCAyNDEsIDU1LCAxNDQsIDcsIDUsIDEsIDIzOSwgMTU1LCAxNDQsIDcsIDUsIDEsIAorICAgIDc0LCAxNDQsIDcsIDUsIDEsIDIzMiwgMjAzLCAxNDQsIDcsIDUsIDEsIDIzMiwgNzYsIDE0NCwgNywgNSwgMSwgMTQ5LCAKKyAgICAxNDQsIDcsIDUsIDEsIDIyOSwgMjgsIDE0NCwgNywgNSwgMSwgMjI2LCAzMywgMTQ0LCA3LCA1LCAxLCA3NiwgMTQ0LCA3LCAKKyAgICA1LCAxLCAyMjIsIDY3LCAxNDQsIDcsIDUsIDEsIDIyMCwgMjcsIDE0NCwgNywgNSwgMSwgMTM3LCAxNDQsIDcsIDUsIDEsIAorICAgIDE4MiwgMTQ0LCA3LCA1LCAxLCAyMTMsIDEwLCAxNDQsIDcsIDUsIDEsIDcxLCAxNDQsIDcsIDUsIDEsIDIwOSwgMTQ4LCAKKyAgICAxNDQsIDcsIDUsIDEsIDIwNywgMTI5LCAxNDQsIDcsIDUsIDEsIDIwNiwgMTk1LCAxNDQsIDcsIDUsIDEsIDIwNiwgMTIzLCAKKyAgICAxNDQsIDcsIDUsIDEsIDIwNSwgMTU5LCAxNDQsIDQ3LCAyNDcsIDI2LCAxNDUsIDE0NCwgNzksIDIyOSwgMjA1LCAxNDQsIAorICAgIDQ4LCAyNDcsIDI2LCAxNDUsIDE0NCwgMjExLCAxODAsIDE0NCwgNDcsIDU5LCAyMjEsIDIxNiwgMTQ0LCA0OCwgNTksIDIyMSwgCisgICAgMjE2LCAxMTYsIDEyOCwgMjQxLCA4MiwgMjEzLCAyNTEsIDExNiwgNDcsIDI0NywgOTIsIDE0NSwgMTE2LCA0OCwgMjQ3LCAKKyAgICA5MiwgMTQ1LCAxMTYsIDEyOCwgMjQ3LCAxNTUsIDExNiwgNjQsIDIyNiwgMjQ3LCAyNDUsIDIzLCAxMTYsIDY0LCAxLCAyMDYsIAorICAgIDI1MCwgMTE2LCA2NCwgMSwgNSwgNjIsIDExNiwgNjQsIDEsIDUsIDc0LCAxMTYsIDY0LCAxLCA1LCA3MSwgMTE2LCA2NCwgMSwgCisgICAgNSwgNzUsIDExNiwgNjQsIDEsIDUsIDc2LCAxMTYsIDY0LCAxLCA1LCAxOTAsIDExNiwgNjQsIDEsIDUsIDIwNSwgMjEzLCAKKyAgICAxMTYsIDY0LCAxLCA1LCAyMDUsIDI0NywgMTE2LCA2NCwgMSwgNSwgMjEwLCAxNzAsIDExNiwgMjMxLCAyNDgsIDIyMCwgCisgICAgMTA2LCAyMTQsIDE2NSwgODMsIDExNiwgNjQsIDEsIDYyLCAxMTYsIDY0LCAxLCA3NCwgMTE2LCA2NCwgMSwgNzEsIDExNiwgCisgICAgNjQsIDEsIDc1LCAxMTYsIDY0LCAxLCA3NiwgMTE2LCA2NCwgMSwgMTcyLCAxMTYsIDY0LCAxLCAyMzEsIDEyMywgMTE2LCAKKyAgICA2NCwgMSwgMjMwLCAyMzYsIDExNiwgNjQsIDEsIDIzMSwgMjI0LCAxMTYsIDY0LCAxLCAyMzEsIDUzLCAxMTYsIDY0LCAxLCAKKyAgICAyMTcsIDE5OSwgMTE2LCA2NCwgMSwgMjE1LCA4MCwgMTE2LCA2NCwgMSwgMjEzLCAyMDMsIDExNiwgNjQsIDEsIDIxNywgODYsIAorICAgIDExNiwgNjQsIDEsIDIxNCwgMTkzLCAxMTYsIDY0LCAxLCAyMTIsIDIxOSwgMTE2LCA2NCwgMSwgMjExLCAyMTEsIDExNiwgCisgICAgNjQsIDEsIDIxMCwgMTcwLCAxMTYsIDY0LCAxLCAyMTIsIDEzMSwgMTE2LCA2NCwgMSwgMTI0LCAxMTYsIDY0LCAxLCAxOTksIAorICAgIDExNiwgNjQsIDEsIDIyNCwgMjMwLCAxMTYsIDY0LCAxLCAyMjMsIDIxNywgMTE2LCA2NCwgMSwgMjI1LCAxMTAsIDExNiwgCisgICAgNjQsIDEsIDIyNCwgNjcsIDExNiwgNjQsIDEsIDE1NSwgMTE2LCA2NCwgMSwgMjM5LCAxMSwgMTE2LCA2NCwgMSwgMjM4LCAKKyAgICA0MiwgMTE2LCA2NCwgMSwgMjM5LCA3MSwgMTE2LCA2NCwgMSwgMjM4LCAxNDksIDExNiwgNjQsIDEsIDE4NSwgMTE2LCA2NCwgCisgICAgMSwgMjI2LCAyNTQsIDExNiwgNjQsIDEsIDIyNiwgMTE0LCAxMTYsIDY0LCAxLCAyMjcsIDExOSwgMTE2LCA2NCwgMSwgMjI2LCAKKyAgICAxODEsIDExNiwgNjQsIDEsIDE5MCwgMTE2LCA2NCwgMSwgMjA1LCAyMTMsIDExNiwgNjQsIDEsIDIwNSwgMjQ3LCAxMTYsIAorICAgIDY0LCAxLCAyMTksIDExMywgMTE2LCA2NCwgMSwgMjE4LCAyMDgsIDExNiwgNjQsIDEsIDIxOCwgNTAsIDExNiwgNjQsIDEsIAorICAgIDIxOSwgNTEsIDExNiwgNjQsIDEsIDIxOCwgMTI0LCAxMTYsIDY0LCAxLCAyMDcsIDk2LCAxMTYsIDY0LCAxLCAyMjYsIDMzLCAKKyAgICAxMTYsIDY0LCAyMDgsIDE3MCwgMjE0LCAxNjUsIDgzLCAxMTYsIDY0LCAyMTYsIDU3LCAyMTQsIDE2NSwgODMsIDExNiwgMjUsIAorICAgIDI0MSwgMjMyLCAxMTYsIDI1LCAxLCAyMzEsIDg0LCAxMTYsIDI1LCAxLCAyMTQsIDg4LCAxMTYsIDI1LCAxLCAyMzEsIDc3LCAKKyAgICAxMTYsIDI1LCAxLCAyMjQsIDIyMywgMTE2LCAyNSwgMSwgMjI0LCAyMjEsIDExNiwgMjUsIDEsIDIyNCwgMjIwLCAxMTYsIAorICAgIDI1LCAxLCAyMTEsIDE5MywgMTE2LCAyNSwgMSwgMjE0LCA3NywgMTE2LCAyNSwgMSwgMjE4LCAxOTgsIDExNiwgMjUsIDEsIAorICAgIDIxOCwgMTkzLCAxMTYsIDI1LCAxLCAyMTgsIDE5MCwgMTE2LCAyNSwgMSwgMjE4LCAxODMsIDExNiwgMjUsIDEsIDIxOCwgCisgICAgMTc4LCAxMTYsIDI1LCAxLCAyMTgsIDE3MywgMTE2LCAyNSwgMSwgMjE4LCAxODQsIDExNiwgMjUsIDEsIDIxOCwgMTk2LCAKKyAgICAxMTYsIDI1LCAxLCAyMjYsIDI0MCwgMTE2LCAyNSwgMSwgMjIxLCAzOSwgMTE2LCAyNSwgMSwgMjE0LCA4NSwgMTE2LCAyNSwgCisgICAgMSwgMjIxLCAyOCwgMTE2LCAyNSwgMSwgMjE1LCAzMywgMTE2LCAyNSwgMSwgMjE0LCA4MiwgMTE2LCAyNSwgMSwgMjMzLCAKKyAgICAxMjUsIDExNiwgMjUsIDEsIDI0NywgMjQ2LCAxMTYsIDI1LCAxLCAyMTQsIDkyLCAxMTYsIDI1LCAxLCAyNDgsIDU0LCAxMTYsIAorICAgIDI1LCAxLCAyMzEsIDE0MywgMTE2LCAyNSwgMSwgMjEyLCAxNSwgMTE2LCAyNSwgMSwgMjIxLCA3NiwgMTE2LCAyNSwgMSwgCisgICAgMjM5LCAzLCAxMTYsIDI1LCAxLCA2MiwgMTE2LCAyNSwgMSwgMjUyLCAyNDgsIDExNiwgMjUsIDEsIDE5MCwgMTE2LCAyNSwgCisgICAgMSwgMjA2LCA5OCwgMTE2LCAyNSwgMSwgMjQzLCA2LCAxMTYsIDI1LCAxLCA3NSwgMTE2LCAyNSwgMSwgMjA2LCAzOSwgMTE2LCAKKyAgICAyNSwgMSwgMjA2LCA1MiwgMTE2LCAyNSwgMSwgNzYsIDExNiwgMjUsIDEsIDIwNywgOTYsIDExNiwgMjUsIDEsIDIwNywgOTIsIAorICAgIDExNiwgMjUsIDEsIDIyMiwgMjA2LCAxMTYsIDI1LCAxLCAyMDUsIDI0NywgMTE2LCAyNSwgMSwgNzEsIDExNiwgMjUsIDEsIAorICAgIDIwNywgMzgsIDExNiwgMjUsIDEsIDIwNywgNTEsIDExNiwgMjUsIDEsIDIwNywgMjAsIDExNiwgMjUsIDEsIDIwNSwgMjEzLCAKKyAgICAxMTYsIDI1LCAxLCAyNDIsIDE5MiwgMTE2LCAyNSwgMSwgMjA2LCAxMSwgMTE2LCAyNSwgMSwgNzQsIDE0NCwgMjQ4LCAxMzEsIAorICAgIDUzLCAxNDQsIDIyMCwgMTY1LCA1MywgMTQ0LCAyMjQsIDQzLCA1MywgMTQ0LCAyMjgsIDEzLCAxNDQsIDI0OSwgMTExLCAKKyAgICAxMzQsIDE0NCwgMjA2LCA0MywgNTMsIDE0NCwgMjA2LCAyNDAsIDUzLCAxMTYsIDI0MSwgMTMzLCAxNDcsIDIwOSwgMjIsIAorICAgIDExNiwgOTIsIDQ1LCAxMTYsIDE2NywgNDUsIDExNiwgODYsIDQ1LCAxMTYsIDE3MywgNDUsIDExNiwgNjAsIDIxNCwgMTA3LCAKKyAgICAxMTYsIDU5LCAyNDcsIDIzMywgMjMzLCAxNCwgMjUyLCA5OCwgMjUyLCAxMTksIDIzMywgMTQsIDI1MiwgOTgsIDIxNiwgMzksIAorICAgIDIzMywgMTQsIDI1MiwgOTgsIDIxMiwgODYsIDIyMiwgMjIzLCAyMTgsIDI0NywgMjQ4LCA5NCwgMjE4LCAyNDcsIDI0OCwgCisgICAgOTQsIDI2LCA2MywgNCwgMjUxLCAxMzQsIDYyLCAyNiwgNjMsIDQsIDI1MSwgMTAzLCA3NSwgMjYsIDYzLCA0LCAyNTEsIAorICAgIDExMiwgNzQsIDI2LCA2MywgNCwgMjUxLCA4MCwgNzYsIDI2LCA2MywgNCwgMjUxLCAxMzAsIDcxLCAyNiwgNjMsIDQsIDI1MSwgCisgICAgMTQ5LCAyNDYsIDE0NSwgMjYsIDYzLCA0LCAyNTEsIDk2LCAyNDYsIDksIDI2LCA2MywgNCwgMjUxLCAxMzYsIDI0NSwgMTY4LCAKKyAgICAyNiwgNjMsIDQsIDI1MSwgMTI2LCAyNDUsIDUxLCAyNiwgNjMsIDQsIDI1MSwgOTAsIDI0MywgMjM3LCAyNiwgNjMsIDQsIAorICAgIDI1MSwgODQsIDIzMiwgMjAwLCAyNiwgNjMsIDQsIDI1MSwgOTUsIDIzMiwgMTgyLCAyNiwgNjMsIDQsIDI1MSwgMTA1LCAKKyAgICAyMzIsIDEyMiwgMjYsIDYzLCA0LCAyNTEsIDc2LCAyMzIsIDEwNCwgMjYsIDYzLCA0LCAyNTEsIDY0LCAxNzIsIDI2LCA2MywgCisgICAgNCwgMjUxLCA5NywgMjMxLCAyMjQsIDI2LCA2MywgNCwgMjUxLCA3NCwgMjMxLCAxMjMsIDI2LCA2MywgNCwgMjUxLCA3MSwgCisgICAgMjMxLCA1MywgMjYsIDYzLCA0LCAyNTEsIDYwLCAyMzAsIDIzNiwgMjYsIDYzLCA0LCAyNTEsIDYxLCAxODUsIDI2LCA2MywgCisgICAgNCwgMjUxLCAxMjcsIDIyNywgMTE5LCAyNiwgNjMsIDQsIDI1MSwgNjgsIDIyNiwgMjU0LCAyNiwgNjMsIDQsIDI1MSwgMTI1LCAKKyAgICAyMjYsIDE4MSwgMjYsIDYzLCA0LCAyNTEsIDExNywgMjI2LCAxMTQsIDI2LCA2MywgNCwgMjUxLCAxMzgsIDE5OSwgMjYsIAorICAgIDYzLCA0LCAyNTEsIDExNiwgMjI1LCAxMTAsIDI2LCA2MywgNCwgMjUxLCAxMTAsIDIyNCwgMjMwLCAyNiwgNjMsIDQsIDI1MSwgCisgICAgODksIDIyNCwgNjcsIDI2LCA2MywgNCwgMjUxLCA4NiwgMjIzLCAyMTcsIDI2LCA2MywgNCwgMjUxLCAxNDUsIDE3OSwgMjYsIAorICAgIDYzLCA0LCAyNTEsIDY5LCAyMjEsIDE3NCwgMjYsIDYzLCA0LCAyNTEsIDEwMiwgMjIxLCA1MywgMjYsIDYzLCA0LCAyNTEsIAorICAgIDEyOSwgMjIwLCAyMTEsIDI2LCA2MywgNCwgMjUxLCA5MSwgMjIwLCA4MiwgMjYsIDYzLCA0LCAyNTEsIDEyNCwgMjIwLCAxOSwgCisgICAgMjYsIDYzLCA0LCAyNTEsIDYzLCAyMTksIDI1NSwgMjYsIDYzLCA0LCAyNTEsIDExOSwgMjE5LCAyMzcsIDI2LCA2MywgNCwgCisgICAgMjUxLCAxMDgsIDIxOSwgMjI2LCAyNiwgNjMsIDQsIDI1MSwgODEsIDIxOSwgMTEzLCAyNiwgNjMsIDQsIDI1MSwgMTEzLCAKKyAgICAyMTksIDUxLCAyNiwgNjMsIDQsIDI1MSwgODgsIDIxOCwgMjA4LCAyNiwgNjMsIDQsIDI1MSwgMTQ3LCAyMTgsIDEyNCwgMjYsIAorICAgIDYzLCA0LCAyNTEsIDExNCwgMjE4LCA1MCwgMjYsIDYzLCA0LCAyNTEsIDEwOSwgMjE3LCAxOTksIDI2LCA2MywgNCwgMjUxLCAKKyAgICAxMzIsIDIxNywgODYsIDI2LCA2MywgNCwgMjUxLCAxMDAsIDIxNSwgODAsIDI2LCA2MywgNCwgMjUxLCAxMjgsIDIxNCwgCisgICAgMTkzLCAyNiwgNjMsIDQsIDI1MSwgODMsIDIxMywgMjAzLCAyNiwgNjMsIDQsIDI1MSwgODIsIDIxMiwgMjE5LCAyNiwgNjMsIAorICAgIDQsIDI1MSwgMTQzLCAyMTIsIDEzMSwgMjYsIDYzLCA0LCAyNTEsIDEwNCwgMjExLCAyMTEsIDI2LCA2MywgNCwgMjUxLCAKKyAgICAxNDEsIDEyNCwgMjYsIDYzLCA0LCAyNTEsIDcyLCAyMTAsIDE3MCwgMjYsIDYzLCA0LCAyNTEsIDg3LCAyMDcsIDk2LCAyNiwgCisgICAgNjMsIDQsIDI1MSwgNjYsIDIwNywgNTEsIDI2LCA2MywgNCwgMjUxLCAxMDEsIDIwNywgMjAsIDI2LCA2MywgNCwgMjUxLCAKKyAgICA5OSwgMjA2LCAyNTAsIDI2LCA2MywgNCwgMjUxLCAxMjMsIDIwNSwgMTE2LCAyNiwgNjMsIDQsIDI1MSwgNjcsIDIwNSwgOTMsIAorICAgIDI2LCA2MywgNCwgMjUxLCAxMjAsIDIwNSwgMTksIDI2LCA2MywgNCwgMjUxLCAxMTUsIDI1NCwgMTY2LCAyNiwgNjMsIDQsIAorICAgIDI1MSwgOTgsIDI1NCwgMTY1LCAyNiwgNjMsIDQsIDI1MSwgNTcsIDI1MSwgMTg0LCAyNiwgNjMsIDQsIDI1MSwgNzAsIDI0MywgCisgICAgMjA1LCAyNiwgNjMsIDQsIDI1MSwgNTMsIDI0MywgMjA0LCAyNiwgNjMsIDQsIDI1MSwgOTMsIDIyMywgMTUzLCAyNiwgNjMsIAorICAgIDQsIDI1MSwgMTExLCAyMjAsIDgwLCAyNiwgNjMsIDQsIDI1MSwgNzksIDIyMCwgODQsIDI2LCA2MywgNCwgMjUxLCA2NSwgCisgICAgMjE5LCAxMTEsIDI2LCA2MywgNCwgMjUxLCAxMDcsIDIxOSwgMTEwLCAyNiwgNjMsIDQsIDI1MSwgNzMsIDIxOCwgMTIzLCAKKyAgICAyNiwgNjMsIDQsIDI1MSwgNzUsIDIxMiwgMjE2LCAyNiwgNjMsIDQsIDI1MSwgNTUsIDIxMCwgMTI4LCAyNiwgNjMsIDQsIAorICAgIDI1MSwgNTIsIDEwNSwgMjYsIDYzLCAxNiwgMjUxLCAxMjIsIDI2LCA2MywgMTYsIDI1MSwgMTIxLCAyNiwgNjMsIDE2LCAKKyAgICAyNTEsIDExOCwgMjYsIDYzLCAxNiwgMjUxLCAxMDYsIDI2LCA2MywgMTYsIDI1MSwgOTQsIDI2LCA2MywgMTYsIDI1MSwgOTIsIAorICAgIDI2LCA2MywgMTYsIDI1MSwgODUsIDI2LCA2MywgMTYsIDI1MSwgNzgsIDI2LCA2MywgMTYsIDI1MSwgNzcsIDI2LCA2MywgCisgICAgMTYsIDI1MSwgNjIsIDI2LCA2MywgMTYsIDI1MSwgNTksIDI2LCA2MywgMTYsIDI1MSwgNTgsIDI2LCA2MywgMTYsIDI1MSwgCisgICAgNTYsIDI2LCA2MywgMTYsIDI1MSwgNTQsIDI2LCA2MywgMTIyLCAyNTEsIDUxLCAyMjcsIDIyMSwgMjYsIDYzLCAxMjIsIAorICAgIDI1MSwgNTAsIDIwNiwgMjQ0LCAyNiwgNjMsIDEyMiwgMjUxLCA0OSwgMjQ1LCAyNDgsIDI2LCA2MywgMTIyLCAyNTEsIDQ4LCAKKyAgICAyNDIsIDIzOSwgMjYsIDYzLCAxMjIsIDI1MSwgNDcsIDIyNywgMTkyLCAyNiwgNjMsIDEyMiwgMjUxLCA0NiwgMjE0LCAzMywgCisgICAgMjYsIDYzLCAxMjIsIDI1MSwgNDUsIDI0MiwgMTc0LCAyNiwgNjMsIDEyMiwgMjUxLCA0NCwgMjE5LCA3NywgMjYsIDYzLCAKKyAgICAxMjIsIDI1MSwgNDMsIDIxNSwgMjEzLCAyNiwgNjMsIDEyMiwgMjUxLCA0MiwgMjM5LCA3MCwgMjYsIDYzLCAxMjIsIDI1MSwgCisgICAgNDEsIDIxNCwgMTYwLCAyNiwgNjMsIDEyMiwgMjUxLCA0MCwgMjQ5LCAxODIsIDI2LCA2MywgMTIyLCAyNTEsIDM5LCAyNDcsIAorICAgIDc1LCAyNiwgNjMsIDEyMiwgMjUxLCAzOCwgMjQ5LCA4NywgMjYsIDYzLCAxMjIsIDI1MSwgMzcsIDIwNywgMjgsIDI2LCA2MywgCisgICAgMTIyLCAyNTEsIDM2LCAyNTAsIDEyNSwgMjYsIDYzLCAxMjIsIDI1MSwgMzUsIDIyMiwgMTc1LCAyNiwgNjMsIDEyMiwgMjUxLCAKKyAgICAzNCwgMjE0LCAxMzIsIDI2LCA2MywgMTIyLCAyNTEsIDMzLCAyNDYsIDI0OCwgMjYsIDYzLCAyMjYsIDE2MCwgMjUxLCAzMiwgCisgICAgMjMyLCAxNiwgMjYsIDYzLCAyMjYsIDE2MCwgMjUxLCAzMSwgMjMyLCAyNSwgMjYsIDYzLCAxMjIsIDI1MSwgMzAsIDIyMiwgCisgICAgMTg5LCAyNiwgNjMsIDEyMiwgMjUxLCAyOSwgMjA3LCA1LCAyNiwgNjMsIDEyMiwgMjUxLCAyOCwgMjYsIDYzLCAyMjYsIAorICAgIDE2MCwgMjUxLCAyNywgMjUyLCAxMiwgMjYsIDYzLCAyMjYsIDE2MCwgMjUxLCAyNiwgMjI3LCA3NiwgMjYsIDYzLCAxMjIsIAorICAgIDI1MSwgMjUsIDI0OSwgMTEwLCAyNiwgNjMsIDEyMiwgMjUxLCAyNCwgMjQwLCAxMSwgMjYsIDYzLCAxMjIsIDI1MSwgMjMsIAorICAgIDI2LCA2MywgMTIyLCAyNTEsIDIyLCAyMDYsIDIzNSwgMjYsIDYzLCAxMjIsIDI1MSwgMjEsIDI2LCA2MywgMTIyLCAyNTEsIAorICAgIDIwLCAyNiwgNjMsIDEyMiwgMjUxLCAxOSwgMjM4LCA2OSwgMjYsIDYzLCAxMjIsIDI1MSwgMTgsIDI2LCA2MywgMTIyLCAKKyAgICAyNTEsIDE3LCAyNiwgNjMsIDEyMiwgMjUxLCAxNiwgMjYsIDYzLCAyMjYsIDE2MCwgMjUxLCAxNCwgMjEwLCAxNDIsIDI2LCAKKyAgICA2MywgMTIyLCAyNTEsIDEzLCAyNiwgNjMsIDEyMiwgMjUxLCAxMiwgMjYsIDYzLCAxMjIsIDI1MSwgMTEsIDI0NywgMTg2LCAKKyAgICAyNiwgNjMsIDEyMiwgMjUxLCAxMCwgMjYsIDYzLCAxMjIsIDI1MSwgOSwgMjYsIDYzLCAxMjIsIDI1MSwgOCwgMjQwLCAyMDEsIAorICAgIDI2LCA2MywgMTIyLCAyNTEsIDcsIDI1MSwgMjU1LCAyNiwgNjMsIDEyMiwgMjUxLCA2LCAyNiwgNjMsIDEyMiwgMjUxLCA1LCAKKyAgICAyNiwgNjMsIDEyMiwgMjUxLCA0LCAyNiwgNjMsIDEyMiwgMjUxLCAzLCAyNiwgNjMsIDEyMiwgMjUxLCAyLCAyNiwgNjMsIAorICAgIDEyMiwgMjUxLCAxLCAyNiwgNjMsIDEyMiwgMjUxLCAwLCAyNiwgNjMsIDEyMiwgMjUwLCAyNTUsIDI2LCA2MywgMTIyLCAKKyAgICAyNTAsIDI1NCwgMjYsIDYzLCAxMjIsIDI1MCwgMjUzLCAyMjYsIDE1MiwgMjYsIDYzLCAxMjIsIDI1MCwgMjUyLCAyNiwgNjMsIAorICAgIDEyMiwgMjUwLCAyNTEsIDIxMSwgNjEsIDI2LCA2MywgMTIyLCAyNTAsIDI1MCwgMjYsIDYzLCAxMjIsIDI1MCwgMjQ5LCAyNiwgCisgICAgNjMsIDEyMiwgMjUwLCAyNDgsIDI2LCA2MywgMTIyLCAyNTAsIDI0NywgMjYsIDYzLCAxMjIsIDI1MCwgMjQ2LCAyNiwgNjMsIAorICAgIDEyMiwgMjUwLCAyNDUsIDI2LCA2MywgMTIyLCAyNTAsIDI0NCwgMjYsIDYzLCAxMjIsIDI1MCwgMjQzLCAyNiwgNjMsIDEyMiwgCisgICAgMjUwLCAyNDIsIDI2LCA2MywgMTIyLCAyNTAsIDI0MSwgMjYsIDYzLCAxMjIsIDI1MCwgMjQwLCAyNiwgNjMsIDEyMiwgMjUwLCAKKyAgICAyMzksIDIzOSwgNDMsIDI2LCA2MywgMTIyLCAyNTAsIDIxOCwgMjQxLCAxNDQsIDI2LCA2MywgMTIyLCAyNTAsIDIxNSwgCisgICAgMjUwLCAxMDMsIDI2LCA2MywgMTIyLCAyNTAsIDIxMCwgMjE0LCAxMzksIDI2LCA2MywgMTIyLCAyNTAsIDIwOSwgNDUsIDI2LCAKKyAgICA2MywgMTIyLCAyNTAsIDIwOCwgMjYsIDYzLCAxMjIsIDI1MCwgMjA3LCAyMTMsIDk1LCAyNiwgNjMsIDEyMiwgMjUwLCAyMDYsIAorICAgIDI2LCA2MywgMTIyLCAyNTAsIDIwNSwgMjYsIDYzLCAxMjIsIDI1MCwgMjA0LCAyMDcsIDI0LCAyNDgsIDkxLCAyNiwgNjMsIAorICAgIDEyMiwgMjUwLCAyMDMsIDI0OCwgOTEsIDI2LCA2MywgMTIyLCAyNTAsIDIwMiwgMjQ4LCA5MiwgMjQxLCAxMTIsIDI2LCA2MywgCisgICAgMTIyLCAyNTAsIDIwMSwgMjA3LCAyNiwgMjYsIDYzLCAxMjIsIDI1MCwgMjAwLCAyNiwgNjMsIDEyMiwgMjUwLCAxOTksIDI2LCAKKyAgICA2MywgMjI2LCAxNjAsIDI1MCwgMTk4LCAyNDUsIDEwNSwgMjYsIDYzLCAxMjIsIDI1MCwgMTk3LCAyNiwgNjMsIDEyMiwgCisgICAgMjUwLCAxOTYsIDI2LCA2MywgMTIyLCAyNTAsIDE5NCwgMjYsIDYzLCAxMjIsIDI1MCwgMTkzLCAyNiwgNjMsIDEyMiwgMjUwLCAKKyAgICAxOTIsIDI2LCA2MywgMTIyLCAyNTAsIDE5MSwgMjQ2LCA4MSwgMjYsIDYzLCAxMjIsIDI1MCwgMTkwLCAyNiwgNjMsIDEyMiwgCisgICAgMjUwLCAxODksIDI2LCA2MywgMTIyLCAyNTAsIDE4OCwgMjYsIDYzLCAxMjIsIDI1MCwgMTg3LCAyNiwgNjMsIDEyMiwgMjUwLCAKKyAgICAxODYsIDI2LCA2MywgMTIyLCAyMDgsIDIyNSwgMjUxLCAxNSwgMjYsIDYzLCAxMjIsIDIwOCwgMjI1LCAyNTAsIDIzOCwgMjYsIAorICAgIDYzLCAxMjIsIDIwOCwgMjI1LCAyNTAsIDIzNywgMjYsIDYzLCAxMjIsIDIwOCwgMjI1LCAyNTAsIDIzNiwgMjYsIDYzLCAKKyAgICAxMjIsIDIwOCwgMjI1LCAyNTAsIDIzNSwgMjYsIDYzLCAxMjIsIDIwOCwgMjI1LCAyNTAsIDIzNCwgMjYsIDYzLCAxMjIsIAorICAgIDIwOCwgMjI1LCAyNTAsIDIzMywgMjYsIDYzLCAxMjIsIDIwOCwgMjI1LCAyNTAsIDIzMiwgMjYsIDYzLCAxMjIsIDIwOCwgCisgICAgMjI1LCAyNTAsIDIzMSwgMjYsIDYzLCAxMjIsIDIwOCwgMjI1LCAyNTAsIDIzMCwgMjYsIDYzLCAxMjIsIDIwOCwgMjI1LCAKKyAgICAyNTAsIDIyOSwgMjYsIDYzLCAxMjIsIDIwOCwgMjI1LCAyNTAsIDIyOCwgMjYsIDYzLCAxMjIsIDIwOCwgMjI1LCAyNTAsIAorICAgIDIyNywgMjYsIDYzLCAxMjIsIDIwOCwgMjI1LCAyNTAsIDIyNiwgMjYsIDYzLCAxMjIsIDIwOCwgMjI1LCAyNTAsIDIyNSwgCisgICAgMjYsIDYzLCAxMjIsIDIwOCwgMjI1LCAyNTAsIDIyNCwgMjYsIDYzLCAxMjIsIDIwOCwgMjI1LCAyNTAsIDIyMywgMjYsIDYzLCAKKyAgICAxMjIsIDIwOCwgMjI1LCAyNTAsIDIyMiwgMjYsIDYzLCAxMjIsIDIwOCwgMjI1LCAyNTAsIDIyMSwgMjYsIDYzLCAxMjIsIAorICAgIDIwOCwgMjI1LCAyNTAsIDIyMCwgMjYsIDYzLCAxMjIsIDIwOCwgMjI1LCAyNTAsIDIxOSwgMjYsIDYzLCAxMjIsIDIwOCwgCisgICAgMjI1LCAyNTAsIDIxNywgMjYsIDYzLCAxMjIsIDIwOCwgMjI1LCAyNTAsIDIxNiwgMjYsIDYzLCAxMjIsIDIwOCwgMjI1LCAKKyAgICAyNTAsIDIxNCwgMjYsIDYzLCAxMjIsIDIwOCwgMjI1LCAyNTAsIDIxMywgMjYsIDYzLCAxMjIsIDIwOCwgMjI1LCAyNTAsIAorICAgIDIxMiwgMjYsIDYzLCAxMjIsIDIwOCwgMjI1LCAyNTAsIDIxMSwgMjYsIDYzLCAxMjIsIDIwOCwgMjI1LCAyNTAsIDE5NSwgCisgICAgMjYsIDYzLCAxMjIsIDIwOCwgMjI1LCAyNTAsIDE4NSwgMjUyLCAyNDEsIDIwNiwgMjMyLCAyMTYsIDQwLCAyMjksIDIwNSwgCisgICAgMjUyLCAyNDEsIDIwNiwgMjMyLCAyMTYsIDQwLCAyNDUsIDIzLCAyNTIsIDI0MSwgMjQ4LCA4MSwgODMsIDI1MiwgMjQxLCAKKyAgICA0MywgMTAyLCAyNTIsIDI0MSwgNDMsIDEwNSwgMjUyLCAyNDEsIDQzLCAxNDIsIDI1MiwgMjQxLCA0MywgMTM5LCAyNTIsIAorICAgIDI0MSwgNDMsIDE2OCwgMjUyLCAyNDEsIDQzLCAxODQsIDI1MiwgMjQxLCA0MywgMTk1LCAyNTIsIDI0MSwgNDMsIDE5MywgCisgICAgMjUyLCAyNDEsIDQzLCAyMDAsIDI1MiwgMjQxLCA0MywgMjEyLCA5OCwgMjUyLCAyNDEsIDQzLCAyMTAsIDEyMywgMjUyLCAKKyAgICAyNDEsIDQzLCAyMTIsIDMsIDI1MiwgMjQxLCA0MywgMjQxLCAxMzAsIDI1MiwgMjQxLCA0MywgMjQxLCAyNDMsIDI1MiwgCisgICAgMjQxLCA0MywgMjE0LCAyNTIsIDI1MiwgMjQxLCA0MywgMjE2LCAxNywgMjUyLCAyNDEsIDQzLCAyNDMsIDc5LCAyNTIsIAorICAgIDI0MSwgNDMsIDIyNCwgMTkwLCAyNTIsIDI0MSwgNDMsIDExOSwgMjM4LCAyOSwgMjUyLCAyNDEsIDQzLCAxMTgsIDIzOCwgCisgICAgMjksIDI1MiwgMjQxLCA0MywgMTI5LCAyMzgsIDI5LCAyNTIsIDI0MSwgNDMsIDI0MSwgMTI1LCAyMzgsIDI5LCAyNTIsIAorICAgIDI0MSwgNDMsIDI0MSwgMjA0LCAyMzgsIDI5LCAyNTIsIDI0MSwgNDMsIDIxNSwgMTAsIDIzOCwgMjksIDI1MiwgMjQxLCA0MywgCisgICAgMjE2LCAyMywgMjM4LCAyOSwgMjUyLCAyNDEsIDQzLCAyNDMsIDg4LCAyMzgsIDI5LCAyNTIsIDI0MSwgNDMsIDIyNCwgMTk1LCAKKyAgICAyMzgsIDI5LCAyNTIsIDI0MSwgNDMsIDExOSwgMjExLCAyNDIsIDI1MiwgMjQxLCA0MywgMTE4LCAyMTEsIDI0MiwgMjUyLCAKKyAgICAyNDEsIDQzLCAxMjksIDIxMSwgMjQyLCAyNTIsIDI0MSwgNDMsIDI0MSwgMTI1LCAyMTEsIDI0MiwgMjUyLCAyNDEsIDQzLCAKKyAgICAyNDEsIDIwNCwgMjExLCAyNDIsIDI1MiwgMjQxLCA0MywgMjE1LCAxMCwgMjExLCAyNDIsIDI1MiwgMjQxLCA0MywgMjE2LCAKKyAgICAyMywgMjExLCAyNDIsIDI1MiwgMjQxLCA0MywgMjQzLCA4OCwgMjExLCAyNDIsIDI1MiwgMjQxLCA0MywgMjI0LCAxOTUsIAorICAgIDIxMSwgMjQyLCAyNTIsIDI0MSwgNDMsIDIxMiwgOTksIDIxMSwgMjQyLCAyNTIsIDI0MSwgNDMsIDIxMCwgMTI0LCAyMTEsIAorICAgIDI0MiwgMjUyLCAyNDEsIDQzLCAyMTIsIDQsIDIxMSwgMjQyLCAyNTIsIDI0MSwgNDMsIDI0MSwgMTMxLCAyMTEsIDI0MiwgCisgICAgMjUyLCAyNDEsIDQzLCAyNDEsIDI0NCwgMjExLCAyNDIsIDI1MiwgMjQxLCA0MywgMjE0LCAyNTMsIDIxMSwgMjQyLCAyNTIsIAorICAgIDI0MSwgNDMsIDIxNiwgMTgsIDIxMSwgMjQyLCAyNTIsIDI0MSwgNDMsIDI0MywgODAsIDIxMSwgMjQyLCAyNTIsIDI0MSwgCisgICAgNDMsIDIyNCwgMTkxLCAyMTEsIDI0MiwgMjUyLCAyNDEsIDIwNywgNDEsIDI1MCwgMTE3LCAyMDksIDIxNiwgMjUyLCAyNDEsIAorICAgIDIwNywgNDEsIDI0MSwgMjE1LCAyMTMsIDE3NywgMjUyLCAyNDEsIDIwNywgNDEsIDIxNywgODAsIDIxMywgMTc3LCAyNTIsIAorICAgIDI0MSwgMjA3LCA0MSwgMjEyLCAxMSwgMjEzLCAxNzcsIDI1MiwgMjQxLCAyMDcsIDQxLCAyNDEsIDExOCwgMjEzLCAxNzcsIAorICAgIDI1MiwgMjQxLCAyNDMsIDI0MCwgMjI3LCAxMTgsIDI0MSwgMjE1LCAyMTMsIDE3NywgMjUyLCAyNDEsIDIyOSwgMTg5LCAKKyAgICAyMjcsIDExOCwgMjQxLCAyMTUsIDIxMywgMTc3LCAyNTIsIDI0MSwgMjI3LCAxMTgsIDIxNywgODAsIDIxMywgMTc3LCAyNTIsIAorICAgIDI0MSwgMjI3LCAxMTgsIDIxMiwgMTEsIDIxMywgMTc3LCAyNywgMjUzLCAxMiwgMjUxLCAxODYsIDExOSwgMjE5LCAyMDQsIAorICAgIDI3LCAyNTMsIDEyLCAyNTEsIDE4NiwgMTE5LCAyMzksIDEyMSwgMjcsIDI1MywgMTIsIDI1MSwgMTg2LCAxMTksIDI0NCwgMywgCisgICAgMjcsIDI1MywgMTIsIDI1MSwgMTg2LCAxNjgsIDI3LCAyNTMsIDEyLCAyNTEsIDE4NiwgMjQxLCAyNDMsIDI3LCAyNTMsIDEyLCAKKyAgICAyNTEsIDE4NiwgMjQxLCAyMDQsIDIzOCwgMjksIDI3LCAyNTMsIDEyLCAyNTEsIDE4NiwgMjQxLCAyMDQsIDIxMSwgMjQyLCAKKyAgICAyNywgMjUzLCAxMiwgMjUxLCAxODYsIDI0MSwgMjQ0LCAyMTEsIDI0MiwgMjcsIDI1MywgMTIsIDI1MSwgMTg2LCAyNDEsIAorICAgIDIwNCwgMjEyLCAxODEsIDI3LCAyNTMsIDEyLCAyNTEsIDE4NiwgMjEyLCA5OSwgMjEyLCAxODEsIDI3LCAyNTMsIDEyLCAKKyAgICAyNTEsIDE4NiwgMjQxLCAyNDQsIDIxMiwgMTgxLCAyNywgMjUzLCAxMiwgMjUxLCAxODYsIDExOSwgMjM4LCAzMCwgMjEyLCAKKyAgICAxODEsIDI3LCAyNTMsIDEyLCAyNTEsIDE4NiwgMjQxLCAyMDQsIDIzOCwgMzAsIDIxMiwgMTgxLCAyNywgMjUzLCAxMiwgCisgICAgMjUxLCAxODYsIDExOSwgMjExLCAyNDMsIDIxMiwgMTgxLCAyNywgMjUzLCAxMiwgMjUxLCAxODYsIDI0MSwgMjA0LCAyMTEsIAorICAgIDI0MywgMjEyLCAxODEsIDI3LCAyNTMsIDEyLCAyNTEsIDE4NiwgMjQxLCAyMDQsIDIxNCwgMjAsIDI3LCAyNTMsIDEyLCAKKyAgICAyNTEsIDE4NiwgMjEyLCA5OSwgMjE0LCAyMCwgMjcsIDI1MywgMTIsIDI1MSwgMTg2LCAyNDEsIDI0NCwgMjE0LCAyMCwgMjcsIAorICAgIDI1MywgMTIsIDI1MSwgMTg2LCAxMTksIDIzOCwgMzAsIDIxNCwgMjAsIDI3LCAyNTMsIDEyLCAyNTEsIDE4NiwgMjQxLCAKKyAgICAyMDQsIDIzOCwgMzAsIDIxNCwgMjAsIDI3LCAyNTMsIDEyLCAyNTEsIDE4NiwgMTE5LCAyMTEsIDI0MywgMjE0LCAyMCwgMjcsIAorICAgIDI1MywgMTIsIDI1MSwgMTg2LCAyMTIsIDk5LCAyMTEsIDI0MywgMjE0LCAyMCwgMjcsIDI1MywgMTIsIDI1MSwgMTg2LCAKKyAgICAyNDEsIDI0NCwgMjExLCAyNDMsIDIxNCwgMjAsIDI3LCAyNTMsIDEyLCAyNTEsIDE4NiwgMjEyLCA5OSwgMjI2LCAxODQsIAorICAgIDI3LCAyNTMsIDEyLCAyMzksIDM3LCAxMTksIDIyMCwgMjI4LCAyNywgMjUzLCAxMiwgMjEyLCAyNSwgMTAyLCAyNywgMjUzLCAKKyAgICAxMiwgMjM5LCAzMywgMTAyLCAyNywgMjUzLCAxMiwgMjQyLCAyNDgsIDEwNSwgMjcsIDI1MywgMTIsIDIxMiwgMjUsIDEwNSwgCisgICAgMjcsIDI1MywgMTIsIDI0NiwgMjQ1LCAxMTgsIDI0NCwgMiwgMjcsIDI1MywgMTIsIDI0MiwgMjQ4LCAxMTgsIDI0NCwgMiwgCisgICAgMjcsIDI1MywgMTIsIDIxMSwgMjgsIDE2OCwgMjcsIDI1MywgMTIsIDIxMSwgMjgsIDIxMiwgOTgsIDI3LCAyNTMsIDEyLCAKKyAgICAyMTEsIDI4LCAyMTIsIDk5LCAyNTIsIDE0MSwgMTcsIDI3LCAyNTMsIDEyLCAyMzksIDMzLCAyMTIsIDk4LCAyNywgMjUzLCAKKyAgICAxMiwgMjI3LCA2NSwgMjEyLCA5OCwgMjcsIDI1MywgMTIsIDIxMiwgMjUsIDIxMiwgOTgsIDI3LCAyNTMsIDEyLCAyMTIsIAorICAgIDI1LCAyMTIsIDMsIDI3LCAyNTMsIDEyLCAyMTEsIDI4LCAyNDEsIDI0MywgMjcsIDI1MywgMTIsIDIxMSwgMjgsIDI0MSwgCisgICAgMjQ0LCAyNTIsIDE0MSwgMTcsIDI3LCAyNTMsIDEyLCAyMzksIDMzLCAyNDEsIDI0MywgMjcsIDI1MywgMTIsIDIxMiwgMjUsIAorICAgIDI0MSwgMjQzLCAyNywgMjUzLCAxMiwgMjEyLCAyNSwgMTE5LCAyMzgsIDI5LCAyNywgMjUzLCAxMiwgMjEyLCAyNSwgMTI5LCAKKyAgICAyMzgsIDI5LCAyNywgMjUzLCAxMiwgMjQyLCAyNDgsIDI0MSwgMjA0LCAyMzgsIDI5LCAyNywgMjUzLCAxMiwgMjExLCAyOCwgCisgICAgMjQxLCAyMDQsIDIzOCwgMjksIDI3LCAyNTMsIDEyLCAyMTIsIDI1LCAyNDEsIDIwNCwgMjM4LCAyOSwgMjcsIDI1MywgMTIsIAorICAgIDI0OCwgMTg3LCAyNDEsIDIwNCwgMjM4LCAyOSwgMjcsIDI1MywgMTIsIDIyNSwgMTg2LCAyNDEsIDIwNCwgMjM4LCAyOSwgCisgICAgMjcsIDI1MywgMTIsIDIxMiwgMjUsIDExOSwgMjExLCAyNDIsIDI3LCAyNTMsIDEyLCAyMTIsIDI1LCAyNDEsIDIwNCwgMjExLCAKKyAgICAyNDIsIDI3LCAyNTMsIDEyLCAyNDUsIDIzMCwgMjQxLCAyMDQsIDIyNiwgMTg0LCAyNywgMjUzLCAxMiwgMjEzLCAyNDAsIAorICAgIDI0MSwgMjQ0LCAyMjYsIDE4NCwgMjcsIDExOSwgMTYwLCA1MywgMjcsIDExOSwgMTYwLCAzLCAyNTIsIDE0MSwgMTcsIDI3LCAKKyAgICAxMTgsIDIxMiwgOCwgNTMsIDI3LCAxMjksIDIxOSwgMjAzLCA1MywgMjcsIDIwNiwgNTAsIDUzLCAyNywgMjEyLCAxODIsIAorICAgIDUzLCAyNywgMjQ0LCA0LCA1MywgMjcsIDIyMiwgMjIwLCA1MywgMjcsIDExOCwgMjIyLCAyMTksIDUzLCAyNywgMTI5LCAKKyAgICAyMjIsIDIxOSwgNTMsIDI3LCAyNDEsIDEyNSwgMjIyLCAyMTksIDUzLCAyNywgMjQxLCAyMDQsIDIyMiwgMjE5LCA1MywgMjcsIAorICAgIDIyNywgNTksIDUzLCAyNywgMjMwLCAxNjcsIDI1MCwgMTE3LCA1MywgMjcsIDIyOSwgMTgyLCA1MywgMjcsIDIyMiwgOTQsIAorICAgIDUzLCAyNywgMjA2LCAxNzIsIDUzLCAyNywgMjUxLCAyMzcsIDUzLCAyNywgMjUxLCAyNTEsIDUzLCAyNywgMjM5LCAyNDQsIAorICAgIDUzLCAyNywgMjEwLCAyNDYsIDI1MCwgMTE3LCA1MywgMjcsIDIwNSwgODYsIDUzLCAyNywgMTE5LCAyMTksIDIwNSwgNTMsIAorICAgIDI3LCAyMTUsIDM1LCA1MywgMjE4LCAxMDksIDIxNiwgMTQsIDUzLCAyMTgsIDEwOSwgMjA5LCAyMjgsIDUzLCAyMTgsIDEwOSwgCisgICAgMjE2LCA0NCwgNTMsIDIxOCwgMTA5LCAyMTYsIDEyLCA1MywgMjE4LCAxMDksIDI0NSwgMTIwLCAyMTYsIDEyLCA1MywgMjE4LCAKKyAgICAxMDksIDIxNSwgNTQsIDUzLCAyMTgsIDEwOSwgMjQ1LCAyMjYsIDUzLCAyMTgsIDEwOSwgMjE5LCAxODgsIDUzLCAyMTgsIAorICAgIDEwOSwgMjE2LCAzMCwgNTMsIDIxOCwgMTA5LCAyNDMsIDIxOSwgNTMsIDIxOCwgMTA5LCAyNTEsIDIzMiwgNTMsIDIxOCwgCisgICAgMTA5LCAyNDgsIDEyNCwgNTMsIDI3LCAxNiwgMjEyLCAxNTIsIDIxOCwgMjEwLCAyMjEsIDg4LCAyNDUsIDk4LCAzLCAyMjEsIAorICAgIDE2NiwgMjIxLCA4OCwgMjQ1LCA5OCwgMywgMjIwLCAyMjAsIDIzOSwgNjgsIDIyMSwgODgsIDI0NSwgOTgsIDMsIDIxMiwgCisgICAgMTU1LCAyMzksIDY4LCAyMjEsIDg4LCAyNDUsIDk4LCAzLCAyNDgsIDIwNywgMjIxLCA4OCwgMjQ1LCA5OCwgMywgMjQ4LCAKKyAgICA0OSwgMjIxLCA4OCwgMjQ1LCA5OCwgMywgMjA2LCAyNDQsIDIyMSwgODgsIDI0NSwgOTgsIDMsIDIzOSwgNDMsIDIyMSwgODgsIAorICAgIDI0NSwgOTgsIDMsIDI0MCwgMTkzLCAyMjEsIDg4LCAyNDUsIDk4LCAzLCAyMTEsIDIwOSwgMjIxLCA4OCwgMjQ1LCA5OCwgMywgCisgICAgNDUsIDIyMSwgODgsIDI0NSwgOTgsIDMsIDI0OSwgMTQ2LCAyMjEsIDg4LCAyNDUsIDk4LCAzLCAyMTUsIDE4MCwgMjIxLCAKKyAgICA4OCwgMjQ1LCA5OCwgMywgMjQ3LCAxODAsIDIyMSwgODgsIDI0NSwgOTgsIDMsIDIyNywgMjIwLCAyMjEsIDg4LCAyNDUsIAorICAgIDk4LCAzLCAyMjcsIDE2NywgMjIxLCA4OCwgMjQ1LCA5OCwgMywgMjE3LCAxMjEsIDIyMSwgODgsIDI0NSwgOTgsIDMsIDIyOSwgCisgICAgMjMxLCAyMjEsIDg4LCAyNDUsIDk4LCAzLCAyNDksIDE2NywgMjIxLCA4OCwgMjQ1LCA5OCwgMywgMjQ4LCAxOTIsIDIyMCwgCisgICAgMjMzLCAyMjEsIDg4LCAyNDUsIDk4LCAzLCAyNDUsIDM2LCAyMjEsIDg4LCAyNDUsIDk4LCAzLCAyNDcsIDE1OSwgMjIxLCAKKyAgICA4OCwgMjQ1LCA5OCwgMywgMjE0LCAyMjQsIDIyMSwgODgsIDI0NSwgOTgsIDMsIDI0NywgMTYwLCAyMjEsIDg4LCAyNDUsIAorICAgIDk4LCAzLCAyNTAsIDQ3LCAyMjEsIDg4LCAyNDUsIDk4LCAzLCAyMTUsIDE2NywgMjIxLCA4OCwgMjQ1LCA5OCwgMywgMjM4LCAKKyAgICA2OSwgMjIxLCA4OCwgMjQ1LCA5OCwgMywgMjM5LCA5LCAyMjEsIDg4LCAyNDUsIDk4LCAzLCAyNDksIDgyLCAyMzAsIDM0LCAKKyAgICAyMjEsIDg4LCAyNDUsIDk4LCAzLCAyNDgsIDE4MywgMjIxLCA4OCwgMjQ1LCA5OCwgMywgMjE5LCA3NywgMjIxLCA4OCwgCisgICAgMjQ1LCA5OCwgMywgMjQzLCAxMjcsIDIyMSwgODgsIDI0NSwgOTgsIDMsIDI0NCwgOSwgMjIxLCA4OCwgMjQ1LCA5OCwgMywgCisgICAgMjEwLCAxNTYsIDIyMSwgODgsIDI0NSwgOTgsIDMsIDI1MCwgNTAsIDIyMSwgODgsIDI0NSwgOTgsIDMsIDIyMCwgMjM0LCAKKyAgICAyMTEsIDYxLCAyMjEsIDg4LCAyNDUsIDk4LCAzLCAyMDgsIDE5NSwgMjIxLCA4OCwgMjQ1LCA5OCwgMywgMjIxLCAyMzIsIAorICAgIDIyMSwgODgsIDI0NSwgOTgsIDMsIDIxOCwgMTAwLCAyMjEsIDg4LCAyNDUsIDk4LCAzLCAyMjksIDIxNiwgMjIxLCA4OCwgCisgICAgMjQ1LCA5OCwgMywgMjIyLCA3NywgMjUwLCAxNzYsIDIyMSwgODgsIDI0NSwgOTgsIDMsIDI0MSwgMTY4LCAyMjEsIDg4LCAKKyAgICAyNDUsIDk4LCAzLCAyMzksIDIzOCwgMjIxLCA4OCwgMjQ1LCA5OCwgMywgMjEzLCAyNDEsIDIyMSwgODgsIDI0NSwgOTgsIDMsIAorICAgIDUsIDI1MSwgMTYwLCAyMjEsIDg4LCAyNDUsIDk4LCAzLCAyMDcsIDYxLCAyNTAsIDEzNiwgMjIxLCA4OCwgMjQ1LCA5OCwgMywgCisgICAgMzYsIDIyMiwgMjIyLCA5MSwgMjI5LCA0MCwgMSwgNjIsIDIyOSwgNDAsIDEsIDc1LCAyMjksIDQwLCAxLCAyNTEsIDE1MCwgCisgICAgMjI5LCA0MCwgMSwgMjUwLCAxLCAyMjksIDQwLCAxLCAyNDEsIDU1LCAyMjksIDQwLCAxLCAyNDYsIDI0MCwgMjI5LCA0MCwgCisgICAgMSwgNzQsIDIyOSwgNDAsIDEsIDIwNywgMTI5LCAyMjksIDQwLCAxLCAyMDUsIDE1OSwgMjI5LCA0MCwgMSwgMjEyLCA1OCwgCisgICAgMjI5LCA0MCwgMSwgMjMyLCAyMDMsIDIyOSwgNDAsIDEsIDIzMiwgNzYsIDIyOSwgNDAsIDEsIDIyMCwgMjcsIDIyOSwgNDAsIAorICAgIDEsIDE0OSwgMjI5LCA0MCwgMSwgMjI5LCAyOCwgMjI5LCA0MCwgMSwgMjI2LCAzMywgMjI5LCA0MCwgMSwgMjI2LCAxODYsIAorICAgIDIyOSwgNDAsIDEsIDIyNCwgMTA0LCAyMjksIDQwLCAxLCA3MSwgMjI5LCA0MCwgMSwgMjIyLCA2NywgMjI5LCA0MCwgMSwgCisgICAgMjMxLCA3MywgMjI5LCA0MCwgMSwgMTM3LCAyMjksIDQwLCAxLCAxODIsIDIyOSwgNDAsIDEsIDIxMywgMTAsIDIyOSwgNDAsIAorICAgIDEsIDIxMCwgMjExLCAyMjksIDQwLCAxLCAyNTIsIDEyMiwgMjI5LCA0MCwgMSwgMjQzLCA0MSwgMjI5LCA0MCwgMSwgMjM5LCAKKyAgICAxNTUsIDIyOSwgNDAsIDEsIDIwNiwgMTk1LCAyNDgsIDE5OCwgMSwgNjIsIDI0OCwgMTk4LCAxLCAyMjIsIDUzLCAyNDgsIAorICAgIDE5OCwgMSwgMjQ2LCAyNDAsIDI0OCwgMTk4LCAxLCAxNDksIDI0OCwgMTk4LCAxLCAyMDksIDE2MCwgMjQ4LCAxOTgsIDEsIAorICAgIDEzNywgMjQ4LCAxOTgsIDEsIDIzMCwgNjIsIDI0OCwgMTk4LCAxLCAyNTQsIDE2NiwgMjQ4LCAxOTgsIDEsIDIyMCwgMjcsIAorICAgIDI0OCwgMTk4LCAxLCAyNTEsIDE1MCwgMjQ4LCAxOTgsIDEsIDIyOSwgMjgsIDI0OCwgMTk4LCAxLCA3NiwgMjQ4LCAxOTgsIAorICAgIDEsIDI0NiwgMTQ3LCAyNDgsIDE5OCwgMSwgMjEzLCAxMCwgMjQ4LCAxOTgsIDEsIDIxNiwgNCwgMjQ4LCAxOTgsIDEsIDIxNiwgCisgICAgMywgMjQ4LCAxOTgsIDEsIDE4MiwgMjQ4LCAxOTgsIDEsIDI0OSwgMzMsIDI0OCwgMTk4LCAxLCA3MSwgMjQ4LCAxOTgsIDEsIAorICAgIDIyNCwgMTA0LCAyNDgsIDE5OCwgMSwgMjA2LCAxOTUsIDI0OCwgMTk4LCAxLCAyMjYsIDMzLCAyNDgsIDE5OCwgMSwgMjEwLCAKKyAgICAyMTAsIDI0OCwgMTk4LCAxLCAyMjIsIDY3LCAyNDgsIDE5OCwgMSwgMjE0LCA5OSwgMjQ4LCAxOTgsIDEsIDc0LCAyNDgsIAorICAgIDE5OCwgMSwgNzUsIDI0OCwgMTk4LCAxLCAyMDksIDE1NywgMjQ4LCAxOTgsIDEsIDIzMiwgNzYsIDI0OCwgMTk4LCAxLCAKKyAgICAyMzIsIDY3LCAyNDgsIDE5OCwgMSwgMjI1LCAxNTMsIDI0OCwgMTk4LCAxLCAyMDksIDE2MiwgMjQ4LCAxOTgsIDEsIDI0MSwgCisgICAgNTUsIDI0OCwgMTk4LCAxLCAyNDAsIDI0NiwgMjQ4LCAxOTgsIDEsIDIxNCwgNDAsIDI0OCwgMTk4LCAxLCAyMTQsIDM5LCAKKyAgICAyNDgsIDE5OCwgMSwgMjI1LCA3OSwgMjQ4LCAxOTgsIDEsIDIzMywgMTAyLCAyNDgsIDE5OCwgMSwgMjQ5LCAzMiwgMjQ4LCAKKyAgICAxOTgsIDEsIDIxMCwgMjExLCAyNDgsIDE5OCwgMSwgMjA5LCAxNTksIDI0OCwgMTk4LCAxLCAyMTgsIDkwLCAyNDgsIDE5OCwgCisgICAgMSwgMjI3LCAxNTgsIDI0OCwgMTk4LCAxLCAyMjcsIDE1NywgMjQ4LCAxOTgsIDEsIDIyNywgMTU2LCAyNDgsIDE5OCwgMSwgCisgICAgMjI3LCAxNTUsIDI0OCwgMTk4LCAxLCAyMzAsIDYxLCAyNDgsIDE5OCwgMSwgMjQzLCAxMzEsIDI0OCwgMTk4LCAxLCAyMDksIAorICAgIDE1OCwgODEsIDI0MiwgMjUxLCAyMTEsIDI0MSwgODMsIDgxLCAyNDIsIDI1MSwgMTgsIDEwMiwgODEsIDI0MiwgMjUxLCAxOCwgCisgICAgMTA1LCA4MSwgMjQyLCAyNTEsIDE4LCAxNDIsIDgxLCAyNDIsIDI1MSwgMTgsIDEzOSwgODEsIDI0MiwgMjUxLCAxOCwgMTY4LCAKKyAgICA4MSwgMjQyLCAyNTEsIDE4LCAxODQsIDgxLCAyNDIsIDI1MSwgMTgsIDE5NSwgODEsIDI0MiwgMjUxLCAxOCwgMTkzLCA4MSwgCisgICAgMjQyLCAyNTEsIDE4LCAyMDAsIDgxLCAyNDIsIDI1MSwgNDMsIDIxMiwgOTgsIDgxLCAyNDIsIDI1MSwgNDMsIDIxMCwgMTIzLCAKKyAgICA4MSwgMjQyLCAyNTEsIDQzLCAyMTIsIDMsIDgxLCAyNDIsIDI1MSwgNDMsIDI0MSwgMTMwLCA4MSwgMjQyLCAyNTEsIDQzLCAKKyAgICAyNDEsIDI0MywgODEsIDI0MiwgMjUxLCA0MywgMjE0LCAyNTIsIDgxLCAyNDIsIDI1MSwgNDMsIDIxNiwgMTcsIDgxLCAyNDIsIAorICAgIDI1MSwgNDMsIDI0MywgNzksIDgxLCAyNDIsIDI1MSwgNDMsIDIyNCwgMTkwLCA4MSwgMjQyLCAyNTEsIDQzLCAxMTksIDIzOCwgCisgICAgMjksIDgxLCAyNDIsIDI1MSwgNDMsIDExOCwgMjM4LCAyOSwgODEsIDI0MiwgMjUxLCA0MywgMTI5LCAyMzgsIDI5LCA4MSwgCisgICAgMjQyLCAyNTEsIDQzLCAyNDEsIDEyNSwgMjM4LCAyOSwgODEsIDI0MiwgMjUxLCA0MywgMjQxLCAyMDQsIDIzOCwgMjksIDgxLCAKKyAgICAyNDIsIDI1MSwgNDMsIDIxNSwgMTAsIDIzOCwgMjksIDgxLCAyNDIsIDI1MSwgNDMsIDIxNiwgMjMsIDIzOCwgMjksIDgxLCAKKyAgICAyNDIsIDI1MSwgNDMsIDI0MywgODgsIDIzOCwgMjksIDgxLCAyNDIsIDI1MSwgNDMsIDIyNCwgMTk1LCAyMzgsIDI5LCA0NCwgCisgICAgMzUsIDEsIDYyLCA0NCwgMzUsIDEsIDI1MCwgNjEsIDQ0LCAzNSwgMSwgMjMxLCAyMjQsIDQ0LCAzNSwgMSwgMjQ2LCA5LCAKKyAgICA0NCwgMzUsIDEsIDc1LCA0NCwgMzUsIDEsIDIwOSwgMzksIDQ0LCAzNSwgMSwgMjA1LCA5MywgNDQsIDM1LCAxLCAyMzksIAorICAgIDcxLCA0NCwgMzUsIDEsIDIxMiwgNDEsIDQ0LCAzNSwgMSwgNzQsIDQ0LCAzNSwgMSwgMTcyLCA0NCwgMzUsIDEsIDI0MywgCisgICAgNjgsIDQ0LCAzNSwgMSwgMjQzLCA1MCwgNDQsIDM1LCAxLCAyNDMsIDQxLCA0NCwgMzUsIDEsIDI0MiwgMjE1LCA0NCwgMzUsIAorICAgIDEsIDc2LCA0NCwgMzUsIDEsIDIyMSwgMTc0LCA0NCwgMzUsIDEsIDIxNSwgMjE0LCA0NCwgMzUsIDEsIDIzMCwgMjM2LCA0NCwgCisgICAgMzUsIDEsIDI0MiwgMjM1LCA0NCwgMzUsIDEsIDI0MiwgMjI1LCA0NCwgMzUsIDEsIDIxMiwgMTMxLCA0NCwgMzUsIDEsIDcxLCAKKyAgICA0NCwgMzUsIDEsIDI0MywgNzEsIDQ0LCAzNSwgMSwgMjIxLCA4MSwgNDQsIDM1LCAxLCAyMzEsIDE1MiwgNDQsIDM1LCAxLCAKKyAgICAyNDMsIDk3LCA0NCwgMzUsIDEsIDI0MiwgMjI3LCA0NCwgMzUsIDEsIDI0OCwgODIsIDQ0LCAzNSwgMSwgMjMzLCAxMDIsIAorICAgIDQ0LCAzNSwgMSwgMjA5LCAxNjIsIDQ0LCAzNSwgMSwgMjQyLCAyMDgsIDQ0LCAzNSwgMjIzLCAxNzcsIDEwMiwgNDQsIDM1LCAKKyAgICAyMjMsIDE3NywgMTY4LCA0NCwgMzUsIDIyMywgMTc3LCAyMTIsIDk4LCA0NCwgMzUsIDIyMywgMTc3LCAyNDEsIDI0MywgCisgICAgMjM5LCAyNTMsIDEsIDI1MiwgMjA4LCAyMzksIDI1MywgMSwgMjUwLCAxNTMsIDIzOSwgMjUzLCAxLCAyNDAsIDU4LCAyMzksIAorICAgIDI1MywgMSwgMjQ2LCAxMjcsIDIzOSwgMjUzLCAxLCAyNTIsIDIwNCwgMjM5LCAyNTMsIDEsIDIyMCwgMTAsIDIzOSwgMjUzLCAKKyAgICAxLCAyMzIsIDIxNSwgMjM5LCAyNTMsIDEsIDIzOSwgMTM0LCAyMzksIDI1MywgMSwgMjExLCAyNTUsIDIzOSwgMjUzLCAxLCAKKyAgICAyNDMsIDc4LCAyMzksIDI1MywgMSwgMjMwLCAyMDQsIDIzOSwgMjUzLCAxLCAyMzAsIDExOCwgMjM5LCAyNTMsIDEsIDIyNywgCisgICAgMjEzLCAyMzksIDI1MywgMSwgMjI1LCAxODgsIDIzOSwgMjUzLCAxLCAyMzIsIDE3NSwgMjM5LCAyNTMsIDEsIDIwOSwgMTgwLCAKKyAgICAyMzksIDI1MywgMSwgMjIyLCAyOSwgMjM5LCAyNTMsIDEsIDIyNCwgMTkwLCAyMzksIDI1MywgMSwgMjE5LCA4OSwgMjM5LCAKKyAgICAyNTMsIDEsIDIxNywgMTI0LCAyMzksIDI1MywgMSwgMjEyLCAxMTIsIDIzOSwgMjUzLCAxLCAyMDcsIDMsIDIzOSwgMjUzLCAKKyAgICAxLCAyNDIsIDU0LCAyMzksIDI1MywgMSwgMjMzLCAxMDYsIDIzOSwgMjUzLCAxLCAyMzgsIDE0LCAyMzksIDI1MywgMSwgCisgICAgMjIyLCAxMDIsIDIzOSwgMjUzLCAxLCAyMjQsIDE5NSwgMjM4LCAyOSwgNDQsIDIyMSwgMTIyLCAxLCAyNTIsIDEyMiwgNDQsIAorICAgIDIyMSwgMTIyLCAxLCAyNDksIDY4LCA0NCwgMjIxLCAxMjIsIDEsIDI0MCwgMjI4LCA0NCwgMjIxLCAxMjIsIDEsIDI0NSwgCisgICAgMzksIDQ0LCAyMjEsIDEyMiwgMSwgNzUsIDQ0LCAyMjEsIDEyMiwgMSwgMjA1LCA2MywgNDQsIDIyMSwgMTIyLCAxLCAyNDMsIAorICAgIDE4OCwgNDQsIDIyMSwgMTIyLCAxLCAyMDUsIDEwMCwgNDQsIDIyMSwgMTIyLCAxLCAyNDMsIDE4NiwgNDQsIDIyMSwgMTIyLCAKKyAgICAxLCA3NCwgNDQsIDIyMSwgMTIyLCAxLCAyMzEsIDQyLCA0NCwgMjIxLCAxMjIsIDEsIDIzMCwgMzAsIDQ0LCAyMjEsIDEyMiwgCisgICAgMSwgMjI3LCA4MSwgNDQsIDIyMSwgMTIyLCAxLCAyMjUsIDk5LCA0NCwgMjIxLCAxMjIsIDEsIDIwOCwgMTYwLCA0NCwgMjIxLCAKKyAgICAxMjIsIDEsIDIyMSwgMTYzLCA0NCwgMjIxLCAxMjIsIDEsIDIxOSwgMTUsIDQ0LCAyMjEsIDEyMiwgMSwgMjE1LCA2MSwgNDQsIAorICAgIDIyMSwgMTIyLCAxLCAyMTIsIDE5MywgNDQsIDIyMSwgMTIyLCAxLCA3MSwgNDQsIDIyMSwgMTIyLCAxLCAyNDgsIDY2LCA0NCwgCisgICAgMjIxLCAxMjIsIDEsIDIxNSwgMTUxLCA0NCwgMjIxLCAxMjIsIDEsIDIxNSwgMjE2LCA0NCwgMjIxLCAxMjIsIDEsIDIwNSwgCisgICAgMjE1LCA0NCwgMjIxLCAxMjIsIDEsIDIwNiwgMzAsIDQ0LCAyMjEsIDEyMiwgMSwgNzYsIDQ0LCAyMjEsIDEyMiwgMSwgMjIyLCAKKyAgICAxNTIsIDQ0LCAyMjEsIDEyMiwgMSwgMjQzLCA5NywgNDQsIDIyMSwgMTIyLCAxLCAxNTUsIDQ0LCAyMjEsIDEyMiwgMSwgCisgICAgMjEwLCAyMjEsIDQ0LCAyMjEsIDEyMiwgMSwgMjA5LCAyNywgNDQsIDIyMSwgMTIyLCAxLCAyMDYsIDM0LCA0NCwgMjIxLCAKKyAgICAxMjIsIDEsIDIwNiwgMzIsIDQ0LCAyMjEsIDEyMiwgMSwgMjA2LCA2NSwgNDQsIDIyMSwgMTIyLCAxLCAyMzMsIDEyOSwgNDQsIAorICAgIDIyMSwgMTIyLCAxLCAyMDUsIDIxMywgNDQsIDIyMSwgMTIyLCAxLCAxOTAsIDQ0LCAyMjEsIDEyMiwgMSwgMjM3LCAxOTAsIAorICAgIDM2LCA0NCwgMjIxLCAxMjIsIDEsIDI1MiwgMTIyLCAzNiwgNDQsIDIyMSwgMTIyLCAxLCAyNDUsIDM5LCAzNiwgNDQsIDIyMSwgCisgICAgMTIyLCAxLCAyMDUsIDEwMCwgMzYsIDQ0LCAyMjEsIDEyMiwgMSwgMjI1LCA5OSwgMzYsIDQ0LCAyMjEsIDEyMiwgMSwgMjE1LCAKKyAgICA2MSwgMjA5LCAyNTQsIDEsIDI1MiwgMTQ4LCAyMDksIDI1NCwgMSwgMjUwLCA4LCAyMDksIDI1NCwgMSwgMjQwLCAyMTYsIAorICAgIDIwOSwgMjU0LCAxLCAyMzEsIDE2NywgMjA5LCAyNTQsIDEsIDI0NSwgMjI3LCAyMDksIDI1NCwgMSwgMjM4LCAxNDksIDIwOSwgCisgICAgMjU0LCAxLCAyMDYsIDI1MCwgMjA5LCAyNTQsIDEsIDIwNSwgODQsIDIwOSwgMjU0LCAxLCAyMzgsIDYxLCAyMDksIDI1NCwgCisgICAgMSwgMjEyLCA4MCwgMjA5LCAyNTQsIDEsIDIwNSwgMjM2LCAyMDksIDI1NCwgMSwgMjMyLCA0NSwgMjA5LCAyNTQsIDEsIAorICAgIDIxNSwgMTcxLCAyMDksIDI1NCwgMSwgMjMwLCAxMDIsIDIwOSwgMjU0LCAxLCAyMjcsIDkwLCAyMDksIDI1NCwgMSwgMjQ1LCAKKyAgICAxODgsIDIwOSwgMjU0LCAxLCAyMjMsIDE3MywgMjA5LCAyNTQsIDEsIDIwNSwgOSwgMjA5LCAyNTQsIDEsIDIxNywgMTU2LCAKKyAgICAyMDksIDI1NCwgMSwgMjUyLCAyMDAsIDIwOSwgMjU0LCAxLCAyMjAsIDgyLCAyMDksIDI1NCwgMSwgMjE3LCAxOTAsIDIwOSwgCisgICAgMjU0LCAxLCAyMTksIDIxOSwgMjA5LCAyNTQsIDEsIDIxOSwgNjgsIDIwOSwgMjU0LCAxLCAyMTIsIDQ1LCAyMDksIDI1NCwgCisgICAgMSwgMjQwLCA5NCwgMjA5LCAyNTQsIDEsIDEyNCwgMjA5LCAyNTQsIDEsIDc0LCAyMDksIDI1NCwgMSwgNzEsIDIwOSwgMjU0LCAKKyAgICAxLCAyMTQsIDUxLCAyMDksIDI1NCwgMjA2LCAyMzIsIDI0NSwgNzksIDQ0LCAyMjEsIDExNiwgMywgNjIsIDQ0LCAyMjEsIAorICAgIDExNiwgMywgNzQsIDQ0LCAyMjEsIDExNiwgMywgNzEsIDQ0LCAyMjEsIDExNiwgMywgMTcyLCA0NCwgMjIxLCAxMTYsIDMsIAorICAgIDIzMCwgMjM2LCA0NCwgMjIxLCAxMTYsIDMsIDI0MCwgMjQ0LCA0NCwgMjIxLCAxMTYsIDMsIDIzOSwgMjEzLCA0NCwgMjIxLCAKKyAgICAxMTYsIDMsIDIwNiwgMTgxLCA0NCwgMjIxLCAxMTYsIDMsIDI0OSwgMSwgNDQsIDIyMSwgMTE2LCAzLCAyMzIsIDIwMCwgNDQsIAorICAgIDIyMSwgMTE2LCAzLCAyMzIsIDE2MiwgNDQsIDIyMSwgMTE2LCAzLCAyMTIsIDIxOSwgNDQsIDIyMSwgMTE2LCAzLCAyMTAsIAorICAgIDE3MCwgNDQsIDIyMSwgMTE2LCAzLCAyNDYsIDE0NSwgNDQsIDIyMSwgMTE2LCAzLCAyNDUsIDE2OCwgNDQsIDIyMSwgMTE2LCAKKyAgICAzLCAyNDMsIDIzNywgNDQsIDIyMSwgMTE2LCAzLCAyMTIsIDU2LCA0NCwgMjIxLCAxMTYsIDMsIDE3OSwgNDQsIDIyMSwgCisgICAgMTE2LCAzLCAyNTAsIDE4MywgNDQsIDIyMSwgMTE2LCAzLCAyNDIsIDczLCA0NCwgMjIxLCAxMTYsIDMsIDE5OSwgNDQsIAorICAgIDIyMSwgMTE2LCAzLCAyMjMsIDIxNywgNDQsIDIyMSwgMTE2LCAzLCAxODUsIDQ0LCAyMjEsIDExNiwgMywgMjI2LCAyNTQsIAorICAgIDQ0LCAyMjEsIDExNiwgMywgMjI2LCAxMTQsIDQ0LCAyMjEsIDExNiwgMywgMTkwLCA0NCwgMjIxLCAxMTYsIDMsIDIwOSwgCisgICAgNzAsIDQ0LCAyMjEsIDExNiwgMywgMjA4LCAyMTQsIDQ0LCAyMjEsIDExNiwgMywgMjE5LCAxMTMsIDQ0LCAyMjEsIDExNiwgCisgICAgMywgMjE4LCA1MCwgNDQsIDIyMSwgMTE2LCAzLCAyMzAsIDE0MSwgNDQsIDIyMSwgMTE2LCAzLCAyMTcsIDE5OSwgNDQsIAorICAgIDIyMSwgMTE2LCAzLCAyMDUsIDExNiwgNDQsIDIyMSwgMTE2LCAzLCAyMTYsIDIsIDQ0LCAyMjEsIDExNiwgMywgMjE0LCA5NiwgCisgICAgNDQsIDIyMSwgMTE2LCAzLCAxNTUsIDQ0LCAyMjEsIDExNiwgMywgMjUxLCAxNzgsIDQ0LCAyMjEsIDExNiwgMywgMjUxLCAKKyAgICAxNzcsIDQ0LCAyMjEsIDExNiwgMywgMjUxLCAxNzYsIDQ0LCAyMjEsIDExNiwgMywgMjA2LCAxNTIsIDQ0LCAyMjEsIDExNiwgCisgICAgMywgMjQ2LCAxMjMsIDQ0LCAyMjEsIDExNiwgMywgMjQ2LCAxMjIsIDQ0LCAyMjEsIDExNiwgMywgMjUwLCAxNjEsIDQ0LCAKKyAgICAyMjEsIDExNiwgMywgMjQ5LCA1MywgNDQsIDIyMSwgMTE2LCAyMDYsIDIzMiwgMjQ1LCA3OSwgNDQsIDIyMSwgMTE2LCA0MywgCisgICAgMTAyLCA0NCwgMjIxLCAxMTYsIDQzLCAxMDUsIDQ0LCAyMjEsIDExNiwgNDMsIDIxMiwgOTgsIDQ0LCAyMjEsIDExNiwgNDMsIAorICAgIDIxMCwgMTIzLCA0NCwgMjIxLCAxMTYsIDQzLCAyMzgsIDI5LCAyNDUsIDIwOCwgNiwgMSwgMTUyLCA3NCwgMjQ1LCAyMDgsIAorICAgIDYsIDEsIDE1MiwgNzUsIDI0NSwgMjA4LCA2LCAxLCAxNTIsIDYyLCAyNDUsIDIwOCwgNiwgMSwgMTUyLCAyNTIsIDIxMywgCisgICAgMjQ1LCAyMDgsIDYsIDEsIDE1MiwgNzYsIDI0NSwgMjA4LCA2LCAxLCAxNTIsIDIyMiwgMTUyLCAyNDUsIDIwOCwgNiwgMSwgCisgICAgMjE1LCAxNDQsIDc0LCAyNDUsIDIwOCwgNiwgMSwgMjE1LCAxNDQsIDc1LCAyNDUsIDIwOCwgNiwgMSwgMjE1LCAxNDQsIDYyLCAKKyAgICAyNDUsIDIwOCwgNiwgMSwgMjE1LCAxNDQsIDI1MiwgMjEzLCAyNDUsIDIwOCwgNiwgMSwgMjE1LCAxNDQsIDc2LCAyNDUsIAorICAgIDIwOCwgNiwgMSwgMjE1LCAxNDQsIDIyMiwgMTUyLCAyNDUsIDIwOCwgNiwgMSwgMjUxLCAxNTksIDI0NSwgMjA4LCA2LCAxLCAKKyAgICAyMjIsIDc4LCAyNDUsIDIwOCwgNiwgMSwgMjA2LCAyMTYsIDI0NSwgMjA4LCA2LCAxLCAyMDYsIDQ5LCAyNDUsIDIwOCwgNiwgCisgICAgMSwgMjM5LCAxNTUsIDI0NSwgMjA4LCA2LCAxLCAyMjEsIDE2NCwgMjQ1LCAyMDgsIDYsIDEsIDI1MCwgNTAsIDI0NSwgMjA4LCAKKyAgICA2LCAxLCAyMTIsIDEyMCwgMjQ1LCAyMDgsIDYsIDEsIDI0NSwgMjUxLCAyNDUsIDIwOCwgNiwgMSwgMjQ4LCA3OCwgMjQ1LCAKKyAgICAyMDgsIDYsIDEsIDIzMiwgMTgwLCAyNDUsIDIwOCwgNiwgMSwgMjMxLCAyMzEsIDI0NSwgMjA4LCA2LCAxLCAyNDAsIDE5MSwgCisgICAgMjQ1LCAyMDgsIDYsIDEsIDI0MywgOTcsIDI0NSwgMjA4LCA2LCAxLCAyMDksIDM0LCAyNDUsIDIwOCwgNiwgMSwgMjQyLCAKKyAgICAxOTYsIDI0NSwgMjA4LCA2LCAxLCAyMTIsIDM5LCAyNDUsIDIwOCwgNiwgMSwgMjQyLCAyMjUsIDI0NSwgMjA4LCA2LCAxLCAKKyAgICAyMDUsIDkxLCAyNDUsIDIwOCwgNiwgMSwgMjQyLCAyMTUsIDI0NSwgMjA4LCA2LCAxLCAyMDUsIDcxLCAyNDUsIDIwOCwgNiwgCisgICAgMSwgMjQyLCAyMzUsIDI0NSwgMjA4LCA2LCAxLCAyNDMsIDY4LCAyNDUsIDIwOCwgNiwgMSwgMjQzLCA1MCwgMjQ1LCAyMDgsIAorICAgIDYsIDEsIDI0MywgNDEsIDI0NSwgMjA4LCA2LCAxLCAyNDMsIDI4LCAyNDUsIDIwOCwgNiwgMSwgMjIyLCAxOTEsIDI0NSwgCisgICAgMjA4LCA2LCAxLCAyNDIsIDE3NSwgMjQ1LCAyMDgsIDUsIDEsIDE1MiwgNzQsIDI0NSwgMjA4LCA1LCAxLCAxNTIsIDc1LCAKKyAgICAyNDUsIDIwOCwgNSwgMSwgMTUyLCA2MiwgMjQ1LCAyMDgsIDUsIDEsIDE1MiwgMjUyLCAyMTMsIDI0NSwgMjA4LCA1LCAxLCAKKyAgICAxNTIsIDc2LCAyNDUsIDIwOCwgNSwgMSwgMTUyLCAyMjIsIDE1MiwgMjQ1LCAyMDgsIDUsIDEsIDIxNSwgMTQ0LCA3NCwgCisgICAgMjQ1LCAyMDgsIDUsIDEsIDIxNSwgMTQ0LCA3NSwgMjQ1LCAyMDgsIDUsIDEsIDIxNSwgMTQ0LCA2MiwgMjQ1LCAyMDgsIDUsIAorICAgIDEsIDIxNSwgMTQ0LCAyNTIsIDIxMywgMjQ1LCAyMDgsIDUsIDEsIDIxNSwgMTQ0LCA3NiwgMjQ1LCAyMDgsIDUsIDEsIDIxNSwgCisgICAgMTQ0LCAyMjIsIDE1MiwgMjQ1LCAyMDgsIDUsIDEsIDI1MSwgMTU5LCAyNDUsIDIwOCwgNSwgMSwgMjIyLCA3OCwgMjQ1LCAKKyAgICAyMDgsIDUsIDEsIDIwNiwgMjE2LCAyNDUsIDIwOCwgNSwgMSwgMjA2LCA0OSwgMjQ1LCAyMDgsIDUsIDEsIDIzOSwgMTU1LCAKKyAgICAyNDUsIDIwOCwgNSwgMSwgMjIxLCAxNjQsIDI0NSwgMjA4LCA1LCAxLCAyNTAsIDUwLCAyNDUsIDIwOCwgNSwgMSwgMjEyLCAKKyAgICAxMjAsIDI0NSwgMjA4LCA1LCAxLCAyNDUsIDI1MSwgMjQ1LCAyMDgsIDUsIDEsIDI0OCwgNzgsIDI0NSwgMjA4LCA1LCAxLCAKKyAgICAyMzIsIDE4MCwgMjQ1LCAyMDgsIDUsIDEsIDIzMSwgMjMxLCAyNDUsIDIwOCwgNSwgMSwgMjQwLCAxOTEsIDI0NSwgMjA4LCAKKyAgICA1LCAxLCAyNDMsIDk3LCAyNDUsIDIwOCwgNSwgMSwgMjA5LCAzNCwgMjQ1LCAyMDgsIDUsIDEsIDI0MiwgMTk2LCAyNDUsIAorICAgIDIwOCwgNSwgMSwgMjEyLCAzOSwgMjQ1LCAyMDgsIDUsIDEsIDI0MiwgMjI1LCAyNDUsIDIwOCwgNSwgMSwgMjA1LCA5MSwgCisgICAgMjQ1LCAyMDgsIDUsIDEsIDI0MiwgMjE1LCAyNDUsIDIwOCwgNSwgMSwgMjA1LCA3MSwgMjQ1LCAyMDgsIDUsIDEsIDI0MiwgCisgICAgMjM1LCAyNDUsIDIwOCwgNSwgMSwgMjQzLCA2OCwgMjQ1LCAyMDgsIDUsIDEsIDI0MywgNTAsIDI0NSwgMjA4LCA1LCAxLCAKKyAgICAyNDMsIDQxLCAyNDUsIDIwOCwgNSwgMSwgMjQzLCAyOCwgMjQ1LCAyMDgsIDUsIDEsIDIyMiwgMTkxLCAyNDUsIDIwOCwgNSwgCisgICAgMSwgMjQyLCAxNzUsIDIxNSwgMjIxLCAxLCAyMjEsIDE2MSwgMjE1LCAyMjEsIDEsIDIxMSwgOTEsIDIxNSwgMjIxLCAxLCAKKyAgICAyMzEsIDExOSwgMjE1LCAyMjEsIDEsIDI0MiwgMjEsIDIxNSwgMjIxLCAxLCAyMTIsIDE0LCAyMTUsIDIyMSwgMSwgMjE0LCAKKyAgICAxOTMsIDIxNSwgMjIxLCAxLCAyMTMsIDEzMCwgMjE1LCAyMjEsIDEsIDI0OCwgNiwgMjE1LCAyMjEsIDEsIDIwNiwgNTEsIAorICAgIDIxNSwgMjIxLCAxLCAyMzgsIDI3LCAyMTUsIDIyMSwgMSwgMjQ5LCAyNDMsIDIxNSwgMjIxLCAxLCAyNDYsIDgsIDIxNSwgCisgICAgMjIxLCAxLCAyNDAsIDIzMCwgMjE1LCAyMjEsIDEsIDIwOCwgMTU1LCAyMTUsIDIyMSwgMSwgMjEyLCAyMCwgMjE1LCAyMjEsIAorICAgIDEsIDIwNSwgMTcsIDIxNSwgMjIxLCAxLCAyMjcsIDExNywgMjE1LCAyMjEsIDEsIDIzMiwgMTAyLCAyMTUsIDIyMSwgMSwgCisgICAgMjA2LCAyNDgsIDIxNSwgMjIxLCAxLCAyMzksIDE0MywgMjE1LCAyMjEsIDEsIDIyOSwgMTMwLCAyMTUsIDIyMSwgMSwgMjI2LCAKKyAgICAyMTAsIDIxNSwgMjIxLCAxLCAyMzMsIDEwOSwgMjE1LCAyMjEsIDEsIDI0MywgOTYsIDIxNSwgMjIxLCAxLCAyNTEsIDIyNSwgCisgICAgMjE1LCAyMjEsIDEsIDI1MiwgMjUyLCAyMTUsIDIyMSwgMSwgMjIyLCAxNjUsIDIxNSwgMjIxLCAxLCAyMDYsIDIzNSwgMjE1LCAKKyAgICAyMjEsIDEsIDIyMiwgOTMsIDIxNSwgMjIxLCAxLCAyNTIsIDIxMywgMjE1LCAyMjEsIDEsIDIxOCwgMTIxLCAyMTUsIDIyMSwgCisgICAgMSwgMjIzLCAxNzMsIDIxNSwgMjIxLCAxLCAyNDMsIDExMywgMjE1LCAyMjEsIDEsIDI1MiwgMjE4LCAyMTUsIDIyMSwgMSwgCisgICAgMjM3LCAxODEsIDIxNSwgMjIxLCAxLCAyMDksIDIwNiwgMjE1LCAyMjEsIDEsIDIyMiwgMjI4LCAyMTUsIDIyMSwgMSwgMjIyLCAKKyAgICAxNDQsIDIxNSwgMjIxLCAxLCAyMjIsIDE4OSwgMjE1LCAyMjEsIDEsIDI1MSwgMTYyLCAyMTUsIDIyMSwgMSwgMjUyLCAxNCwgCisgICAgMjE1LCAyMjEsIDEsIDIyMiwgMTIyLCAyMTUsIDIyMSwgMSwgMjUyLCAxOTYsIDIxNSwgMjIxLCAxLCAyNDIsIDIyOSwgMjE1LCAKKyAgICAyMjEsIDEsIDI1MSwgMjQ4LCAyMTUsIDIyMSwgMSwgMjQzLCAxMjQsIDIxNSwgMjIxLCAxLCAyMzcsIDE4OSwgMjE1LCAyMjEsIAorICAgIDEsIDIwNiwgMTYsIDIyMiwgMTA0LCAxLCAyNTIsIDE3MiwgMjIyLCAxMDQsIDEsIDI1MCwgMTgzLCAyMjIsIDEwNCwgMSwgCisgICAgMjEyLCAyMTksIDIyMiwgMTA0LCAxLCAyMzIsIDIwMCwgMjIyLCAxMDQsIDEsIDIwNiwgMTgxLCAyMjIsIDEwNCwgMSwgMjMxLCAKKyAgICAxNjcsIDIyMiwgMTA0LCAxLCAyNDUsIDI1MCwgMjIyLCAxMDQsIDEsIDIxOSwgMTEzLCAyMjIsIDEwNCwgMSwgMjE3LCAxOTksIAorICAgIDIyMiwgMTA0LCAxLCAyMTUsIDE3NywgMjIyLCAxMDQsIDEsIDI0NSwgMTkyLCAyMjIsIDEwNCwgMSwgMjQ4LCAxNzMsIDIyMiwgCisgICAgMTA0LCAxLCAyNDAsIDI0NCwgMjIyLCAxMDQsIDEsIDI0MiwgNzMsIDIyMiwgMTA0LCAxLCAyMjAsIDE3LCAyMjIsIDEwNCwgCisgICAgMSwgMjMyLCA2MSwgMjIyLCAxMDQsIDEsIDIzMCwgMTM2LCAyMjIsIDEwNCwgMSwgMjI2LCAyMjMsIDIyMiwgMTA0LCAxLCAKKyAgICAyMjMsIDE1NywgMjIyLCAxMDQsIDEsIDIwNywgNTksIDIyMiwgMTA0LCAxLCAxNTUsIDIyMiwgMTA0LCAxLCAxOTAsIDIyMiwgCisgICAgMTA0LCAxLCA2MiwgMjIyLCAxMDQsIDEsIDc1LCAyMjIsIDEwNCwgMSwgNzQsIDIyMiwgMTA0LCAxLCA3NiwgMjIyLCAxMDQsIAorICAgIDEsIDcxLCAyMjIsIDEwNCwgMSwgMjUzLCAxNjQsIDIyMiwgMTA0LCAxLCAyNDMsIDEwNCwgMjIyLCAxMDQsIDEsIDIyMiwgCisgICAgMTUyLCAyMjIsIDEwNCwgMTgsIDIwNSwgODUsIDIyMiwgMTA0LCAxOCwgMTAyLCAyMjIsIDEwNCwgMTgsIDEwNSwgMjIyLCAKKyAgICAxMDQsIDE4LCAxNDIsIDIyMiwgMTA0LCAxOCwgMTM5LCAyMjIsIDEwNCwgMTgsIDE2OCwgMjIyLCAxMDQsIDE4LCAxODQsIAorICAgIDIyMiwgMTA0LCAxOCwgMTk1LCAyMjIsIDEwNCwgMTgsIDE5MywgMjIyLCAxMDQsIDE4LCAyMDAsIDI0MywgNjQsIDEsIDYyLCAKKyAgICAyNDMsIDY0LCAxLCAyNTAsIDYxLCAyNDMsIDY0LCAxLCAyNDgsIDE0OCwgMjQzLCA2NCwgMSwgMjQ4LCA4MiwgMjQzLCA2NCwgCisgICAgMSwgMjQ2LCA5LCAyNDMsIDY0LCAxLCAyMjUsIDE0MywgMjQzLCA2NCwgMSwgMjQ1LCAxODMsIDI0MywgNjQsIDEsIDI0MywgCisgICAgOTAsIDI0MywgNjQsIDEsIDc1LCAyNDMsIDY0LCAxLCAyNDIsIDI4LCAyNDMsIDY0LCAxLCAyNDAsIDE3MCwgMjQzLCA2NCwgCisgICAgMSwgMjQwLCAzMiwgMjQzLCA2NCwgMSwgMjM5LCA3MSwgMjQzLCA2NCwgMSwgNzQsIDI0MywgNjQsIDEsIDIzMiwgMTgyLCAKKyAgICAyNDMsIDY0LCAxLCAyMzEsIDIyNCwgMjQzLCA2NCwgMSwgMjMwLCA1OCwgMjQzLCA2NCwgMSwgMjI5LCAxNjgsIDI0MywgNjQsIAorICAgIDEsIDIyNywgMTE5LCAyNDMsIDY0LCAxLCAyMjUsIDExMCwgMjQzLCA2NCwgMSwgMTk5LCAyNDMsIDY0LCAxLCAyMjQsIDE3MywgCisgICAgMjQzLCA2NCwgMSwgNzYsIDI0MywgNjQsIDEsIDIyMSwgMTc0LCAyNDMsIDY0LCAxLCAyMTksIDI1NSwgMjQzLCA2NCwgMSwgCisgICAgMjE5LCA1MSwgMjQzLCA2NCwgMSwgMjE4LCA4NCwgMjQzLCA2NCwgMSwgMjE3LCA4NiwgMjQzLCA2NCwgMSwgMjE1LCAyMTQsIAorICAgIDI0MywgNjQsIDEsIDIxMiwgMTMxLCAyNDMsIDY0LCAxLCAyMTIsIDQxLCAyNDMsIDY0LCAxLCA3MSwgMjQzLCA2NCwgMSwgCisgICAgMjA5LCAzOSwgMjQzLCA2NCwgMSwgMjA2LCAxNzUsIDI0MywgNjQsIDEsIDIwNiwgMTIzLCAyNDMsIDY0LCAxLCAyMDUsIDkzLCAKKyAgICAyNDMsIDY0LCAxLCAyMDUsIDcyLCAyNDMsIDY0LCAxLCAyNDAsIDg1LCAyNDMsIDY0LCAxLCAyNDAsIDkxLCAyNDMsIDY0LCAKKyAgICAxLCAyMzEsIDE1MiwgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyNTIsIDE0MywgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyNTAsIAorICAgIDEwLCAyNDgsIDE4MCwgMjUyLCAxNzMsIDEsIDI0MCwgNDksIDI0OCwgMTgwLCAyNTIsIDE3MywgMSwgMjQ2LCA3NCwgMjQ4LCAKKyAgICAxODAsIDI1MiwgMTczLCAxLCAyNDMsIDExMiwgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyMDUsIDEwMywgMjQ4LCAxODAsIAorICAgIDI1MiwgMTczLCAxLCAyNDIsIDE0NywgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyMDUsIDY2LCAyNDgsIDE4MCwgMjUyLCAKKyAgICAxNzMsIDEsIDIxMiwgMTU3LCAyNDgsIDE4MCwgMjUyLCAxNzMsIDEsIDI0OCwgMTEwLCAyNDgsIDE4MCwgMjUyLCAxNzMsIDEsIAorICAgIDIwNSwgMjI0LCAyNDgsIDE4MCwgMjUyLCAxNzMsIDEsIDIwNSwgODEsIDI0OCwgMTgwLCAyNTIsIDE3MywgMSwgMjMyLCAKKyAgICAyNDIsIDI0OCwgMTgwLCAyNTIsIDE3MywgMSwgMjE2LCAyLCAyNDgsIDE4MCwgMjUyLCAxNzMsIDEsIDIzMCwgOTUsIDI0OCwgCisgICAgMTgwLCAyNTIsIDE3MywgMSwgMjMyLCAyNTQsIDI0OCwgMTgwLCAyNTIsIDE3MywgMSwgMjA2LCAxNzEsIDI0OCwgMTgwLCAKKyAgICAyNTIsIDE3MywgMSwgMjQzLCAyMDMsIDI0OCwgMTgwLCAyNTIsIDE3MywgMSwgMjQ4LCAyMDQsIDI0OCwgMTgwLCAyNTIsIAorICAgIDE3MywgMSwgMjMyLCAxNjMsIDI0OCwgMTgwLCAyNTIsIDE3MywgMSwgMjMyLCA3LCAyNDgsIDE4MCwgMjUyLCAxNzMsIDEsIAorICAgIDIyOSwgMzcsIDI0OCwgMTgwLCAyNTIsIDE3MywgMSwgMjM5LCAyMiwgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyMjAsIDAsIAorICAgIDI0OCwgMTgwLCAyNTIsIDE3MywgMSwgMjUyLCA3MCwgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyNDgsIDIzLCAyNDgsIDE4MCwgCisgICAgMjUyLCAxNzMsIDEsIDI0OCwgNTgsIDI0OCwgMTgwLCAyNTIsIDE3MywgMSwgMjQ2LCAyNTIsIDI0OCwgMTgwLCAyNTIsIAorICAgIDE3MywgMSwgMjI3LCAyMDIsIDI0OCwgMTgwLCAyNTIsIDE3MywgMSwgMjIwLCA0LCAyNDgsIDE4MCwgMjUyLCAxNzMsIDEsIAorICAgIDIyNCwgMjgsIDI0OCwgMTgwLCAyNTIsIDE3MywgMSwgMjQzLCAxODEsIDI0OCwgMTgwLCAyNTIsIDE3MywgMSwgMjE1LCAKKyAgICAyNDIsIDI0OCwgMTgwLCAyNTIsIDE3MywgMSwgMjMyLCAxODMsIDI0OCwgMTgwLCAyNTIsIDE3MywgMSwgMjIyLCAxNjUsIAorICAgIDI0OCwgMTgwLCAyNTIsIDE3MywgMSwgMjEwLCA5OSwgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyNDIsIDQ5LCAyNDgsIDE4MCwgCisgICAgMjUyLCAxNzMsIDEsIDI0MywgMTk0LCAyNDgsIDE4MCwgMjUyLCAxNzMsIDEsIDI0OCwgODgsIDI0OCwgMTgwLCAyNTIsIAorICAgIDE3MywgMSwgMjIxLCAxNTAsIDI0OCwgMTgwLCAyNTIsIDE3MywgMSwgMjQwLCA3NSwgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAKKyAgICAyMTksIDY1LCAyNDgsIDE4MCwgMjUyLCAxNzMsIDEsIDIxNiwgMTEsIDI0OCwgMTgwLCAyNTIsIDE3MywgMSwgMjA4LCAyMTYsIAorICAgIDI0OCwgMTgwLCAyNTIsIDE3MywgMSwgMjExLCAxNTAsIDI0OCwgMTgwLCAyNTIsIDE3MywgMSwgMjE1LCAxMjQsIDI0OCwgCisgICAgMTgwLCAyNTIsIDE3MywgMSwgMjMyLCAyMTMsIDI0OCwgMTgwLCAyNTIsIDE3MywgMSwgMjQ2LCAyNTMsIDI0OCwgMTgwLCAKKyAgICAyNTIsIDE3MywgMSwgMjQ4LCAxNzMsIDI0OCwgMTgwLCAyNTIsIDE3MywgMSwgMjA2LCA1NiwgMjQ4LCAxODAsIDI1MiwgCisgICAgMTczLCAxLCAyMjAsIDI0NCwgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyMzEsIDg3LCAyNDgsIDE4MCwgMjUyLCAxNzMsIAorICAgIDI0NywgMjI0LCA4MywgMjYsIDMyLCAzLCAyNTMsIDExNCwgMjYsIDMyLCAzLCAyNTMsIDExMywgMjYsIDMyLCAzLCAyNTMsIAorICAgIDExMiwgMjYsIDMyLCAzLCAyNTMsIDExMSwgMjYsIDMyLCAzLCAyNTMsIDExMCwgMjYsIDMyLCAzLCAyNTMsIDEwOSwgMjYsIAorICAgIDMyLCAzLCAyNTMsIDEwOCwgMjYsIDMyLCAzLCAyNTMsIDEwNywgMjYsIDMyLCAzLCAyNTMsIDEwNiwgMjYsIDMyLCAzLCAKKyAgICAyNTMsIDEwNSwgMjYsIDMyLCAzLCAyNTMsIDEwNCwgMjYsIDMyLCAzLCAyNTMsIDEwMywgMjYsIDMyLCAzLCAyNTMsIDEwMiwgCisgICAgMjYsIDMyLCAzLCAyNTMsIDEwMSwgMjYsIDMyLCAzLCAyNTMsIDEwMCwgMjYsIDMyLCAzLCAyNTMsIDk5LCAyNiwgMzIsIDMsIAorICAgIDI1MywgOTgsIDI2LCAzMiwgMywgMjUzLCA5NywgMjYsIDMyLCAzLCAyNTMsIDk2LCAyNiwgMzIsIDMsIDI1MywgOTUsIDI2LCAKKyAgICAzMiwgMywgMjUzLCA5NCwgMjYsIDMyLCAzLCAyNTMsIDkzLCAyNiwgMzIsIDMsIDI1MywgOTIsIDI2LCAzMiwgMywgMjUzLCAKKyAgICA5MSwgMjYsIDMyLCAzLCAyNTMsIDkwLCAyNiwgMzIsIDMsIDI1MywgODksIDI2LCAzMiwgMywgMjUzLCA4OCwgMjYsIDMyLCAKKyAgICAzLCAyNTQsIDIxNywgMjYsIDMyLCAzLCAyNTMsIDg3LCAyNiwgMzIsIDMsIDI1MywgODYsIDI2LCAzMiwgMywgMjUzLCA4NSwgCisgICAgMjYsIDMyLCAzLCAyNTMsIDg0LCAyNiwgMzIsIDMsIDI1MywgODMsIDI2LCAzMiwgMywgMjUzLCA4MiwgMjYsIDMyLCAzLCAKKyAgICAyNTMsIDgxLCAyNiwgMzIsIDMsIDI1MywgODAsIDI2LCAzMiwgMywgMjUzLCA3OSwgMjYsIDMyLCAzLCAyNTMsIDc4LCAyNiwgCisgICAgMzIsIDMsIDI1MywgNzcsIDI2LCAzMiwgMywgMjUzLCA3NiwgMjYsIDMyLCAzLCAyNTMsIDc1LCAyNiwgMzIsIDMsIDI1MywgCisgICAgNzQsIDI2LCAzMiwgMywgMjUzLCA3MywgMjYsIDMyLCAzLCAyNTMsIDcyLCAyNiwgMzIsIDMsIDI1MywgNzEsIDI2LCAzMiwgCisgICAgMywgMjUzLCA3MCwgMjYsIDMyLCAzLCAyNTMsIDY5LCAyNiwgMzIsIDMsIDI1MywgNjgsIDI2LCAzMiwgMywgMjUzLCA2NywgCisgICAgMjYsIDMyLCAzLCAyNTMsIDY2LCAyNiwgMzIsIDMsIDI1MywgNjUsIDI2LCAzMiwgMywgMjUzLCA2NCwgMjYsIDMyLCAzLCAKKyAgICAyNTMsIDYzLCAyNiwgMzIsIDMsIDI1MywgNjIsIDI2LCAzMiwgMywgMjUzLCA2MSwgMjYsIDMyLCAzLCAyNTMsIDYwLCAyNiwgCisgICAgMzIsIDMsIDI1MywgNTksIDI2LCAzMiwgMywgMjUzLCA1OCwgMjYsIDMyLCAzLCAyNTMsIDU3LCAyNiwgMzIsIDMsIDI1MywgCisgICAgNTYsIDI2LCAzMiwgMywgMjUzLCA1NSwgMjYsIDMyLCAzLCAyNTMsIDU0LCAyNiwgMzIsIDMsIDI1MywgNTMsIDI2LCAzMiwgCisgICAgMywgMjUzLCA1MiwgMjYsIDMyLCAzLCAyNTMsIDUxLCAyNiwgMzIsIDMsIDI1MywgNTAsIDI2LCAzMiwgMywgMjUzLCA0OSwgCisgICAgMjYsIDMyLCAzLCAyNTMsIDQ4LCAyNiwgMzIsIDMsIDI1MywgNDcsIDI2LCAzMiwgMywgMjUzLCA0NiwgMjYsIDMyLCAzLCAKKyAgICAyNTMsIDQ1LCAyNiwgMzIsIDMsIDI1NCwgMTY5LCAyNiwgMzIsIDMsIDI1MywgNDQsIDI2LCAzMiwgMywgMjUzLCA0MywgMjYsIAorICAgIDMyLCAzLCAyNTQsIDE2OCwgMjYsIDMyLCAzLCAyNTMsIDQyLCAyNiwgMzIsIDMsIDI1MywgNDEsIDI2LCAzMiwgMywgMjUzLCAKKyAgICA0MCwgMjYsIDMyLCAzLCAyNTMsIDM5LCAyNiwgMzIsIDMsIDI1NCwgMTY3LCAyNiwgMzIsIDMsIDI1MywgMzgsIDI2LCAzMiwgCisgICAgMywgMjUzLCAzNywgMjYsIDMyLCAzLCAyNTMsIDM2LCAyNiwgMzIsIDMsIDI1MywgMzUsIDI2LCAzMiwgMywgMjUzLCAzNCwgCisgICAgMjYsIDMyLCAzLCAyNTQsIDE2NCwgMjYsIDMyLCAzLCAyNTQsIDE2MywgMjYsIDMyLCAzLCAyNTQsIDE2MiwgMjYsIDMyLCAzLCAKKyAgICAyNTQsIDE2MSwgMjYsIDMyLCAzLCAyNTQsIDE2MCwgMjYsIDMyLCAzLCAyNTQsIDE1OSwgMjYsIDMyLCAzLCAyNTQsIDE1OCwgCisgICAgMjYsIDMyLCAzLCAyNTQsIDE1NywgMjYsIDMyLCAzLCAyNTQsIDE1NiwgMjYsIDMyLCAzLCAyNTQsIDE1NSwgMjYsIDMyLCAzLCAKKyAgICAyNTQsIDE1NCwgMjYsIDMyLCAzLCAyNTQsIDE1MywgMjYsIDMyLCAzLCAyNTQsIDE1MiwgMjYsIDMyLCAzLCAyNTQsIDE1MSwgCisgICAgMjYsIDMyLCAzLCAyNTQsIDE1MCwgMjYsIDMyLCAzLCAyNTQsIDE0OSwgMjYsIDMyLCAzLCAyNTQsIDE0OCwgMjYsIDMyLCAzLCAKKyAgICAyNTQsIDE0NywgMjYsIDMyLCAzLCAyNTQsIDE0NiwgMjYsIDMyLCAzLCAyNTQsIDE0NSwgMjYsIDMyLCAzLCAyNTQsIDE0NCwgCisgICAgMjYsIDMyLCAzLCAyNTQsIDE0MywgMjYsIDMyLCAzLCAyNTQsIDE0MiwgMjYsIDMyLCAzLCAyNTQsIDE0MSwgMjYsIDMyLCAzLCAKKyAgICAyNTQsIDE0MCwgMjYsIDMyLCAzLCAyNTQsIDEzOSwgMjYsIDMyLCAzLCAyNTQsIDEzOCwgMjYsIDMyLCAzLCAyNTQsIDEzNywgCisgICAgMjYsIDMyLCAzLCAyNTQsIDEzNiwgMjYsIDMyLCAzLCAyNTQsIDEzNSwgMjYsIDMyLCAzLCAyNTQsIDEzNCwgMjYsIDMyLCAzLCAKKyAgICAyNTQsIDEzMywgMjYsIDMyLCAzLCAyNTQsIDEzMiwgMjYsIDMyLCAzLCAyNTQsIDEzMSwgMjYsIDMyLCAzLCAyNTQsIDEzMCwgCisgICAgMjYsIDMyLCAzLCAyNTQsIDEyOSwgMjYsIDMyLCAzLCAyNTQsIDEyOCwgMjYsIDMyLCAzLCAyNTQsIDEyNywgMjYsIDMyLCAzLCAKKyAgICAyNTQsIDEyNiwgMjYsIDMyLCAzLCAyNTQsIDEyNSwgMjYsIDMyLCAzLCAyNTQsIDEyNCwgMjYsIDMyLCAzLCAyNTQsIDEyMywgCisgICAgMjYsIDMyLCAzLCAyNTQsIDEyMiwgMjYsIDMyLCAzLCAyNTQsIDEyMSwgMjYsIDMyLCAzLCAyNTQsIDEyMCwgMjYsIDMyLCAzLCAKKyAgICAyNTQsIDExOSwgMjYsIDMyLCAzLCAyNTQsIDExOCwgMjYsIDMyLCAzLCAyNTQsIDExNywgMjYsIDMyLCAzLCAyNTQsIDExNiwgCisgICAgMjYsIDMyLCAzLCAyNTQsIDExNSwgMjYsIDMyLCAzLCAyNTQsIDExNCwgMjYsIDMyLCAzLCAyNTQsIDExMywgMjYsIDMyLCAzLCAKKyAgICAyNTQsIDExMiwgMjYsIDMyLCAzLCAyNTQsIDExMSwgMjYsIDMyLCAzLCAyNTQsIDExMCwgMjYsIDMyLCAzLCAyNTQsIDEwOSwgCisgICAgMjYsIDMyLCAzLCAyNTQsIDEwOCwgMjYsIDMyLCAzLCAyNTQsIDEwNywgMjYsIDMyLCAzLCAyNTQsIDEwNiwgMjYsIDMyLCAzLCAKKyAgICAyNTQsIDEwNSwgMjYsIDMyLCAzLCAyNTQsIDEwNCwgMjYsIDMyLCAzLCAyNTQsIDEwMywgMjYsIDMyLCAzLCAyNTQsIDEwMiwgCisgICAgMjYsIDMyLCAzLCAyNTQsIDEwMSwgMjYsIDMyLCAzLCAyNTQsIDEwMCwgMjYsIDMyLCAzLCAyNTQsIDk5LCAyNiwgMzIsIDMsIAorICAgIDI1NCwgOTgsIDI2LCAzMiwgMywgMjU0LCA5NywgMjYsIDMyLCAzLCAyNTQsIDk2LCAyNiwgMzIsIDMsIDI1NCwgOTUsIDI2LCAKKyAgICAzMiwgMywgMjU0LCA5NCwgMjYsIDMyLCAzLCAyNTQsIDkzLCAyNiwgMzIsIDMsIDI1NCwgOTIsIDI2LCAzMiwgMywgMjU0LCAKKyAgICA5MSwgMjYsIDMyLCAzLCAyNTQsIDkwLCAyNiwgMzIsIDMsIDI1NCwgODksIDI2LCAzMiwgMywgMjU0LCA4OCwgMjYsIDMyLCAKKyAgICAzLCAyNTQsIDg3LCAyNiwgMzIsIDMsIDI1NCwgODYsIDI2LCAzMiwgMywgMjU0LCA4NSwgMjYsIDMyLCAzLCAyNTQsIDg0LCAKKyAgICAyNiwgMzIsIDMsIDI1NCwgODMsIDI2LCAzMiwgMywgMjU0LCA4MiwgMjYsIDMyLCAzLCAyNTQsIDgxLCAyNiwgMzIsIDMsIAorICAgIDI1NCwgODAsIDI2LCAzMiwgMywgMjU0LCA3OSwgMjYsIDMyLCAzLCAyNTQsIDc4LCAyNiwgMzIsIDMsIDI1NCwgNzcsIDI2LCAKKyAgICAzMiwgMywgMjU0LCA3NiwgMjYsIDMyLCAzLCAyNTQsIDc1LCAyNiwgMzIsIDMsIDI1NCwgNzQsIDI2LCAzMiwgMywgMjU0LCAKKyAgICA3MywgMjYsIDMyLCAzLCAyNTQsIDcyLCAyNiwgMzIsIDMsIDI1NCwgNzEsIDI2LCAzMiwgMywgMjU0LCA3MCwgMjYsIDMyLCAKKyAgICAzLCAyNTQsIDY5LCAyNiwgMzIsIDMsIDI1NCwgNjgsIDI2LCAzMiwgMywgMjU0LCA2NywgMjYsIDMyLCAzLCAyNTQsIDY2LCAKKyAgICAyNiwgMzIsIDMsIDI1NCwgNjUsIDI2LCAzMiwgMywgMjU0LCA2NCwgMjYsIDMyLCAzLCAyNTQsIDYzLCAyNiwgMzIsIDMsIAorICAgIDI1NCwgNjIsIDI2LCAzMiwgMywgMjU0LCA2MSwgMjYsIDMyLCAzLCAyNTQsIDYwLCAyNiwgMzIsIDMsIDI1NCwgNTksIDI2LCAKKyAgICAzMiwgMywgMjU0LCA1OCwgMjYsIDMyLCAzLCAyNTQsIDU3LCAyNiwgMzIsIDMsIDI1NCwgNTYsIDI2LCAzMiwgMywgMjU0LCAKKyAgICA1NSwgMjYsIDMyLCAzLCAyNTQsIDU0LCAyNiwgMzIsIDMsIDI1NCwgNTMsIDI2LCAzMiwgMywgMjU0LCA1MiwgMjYsIDMyLCAKKyAgICAzLCAyNTQsIDUxLCAyNiwgMzIsIDMsIDI1NCwgNTAsIDI2LCAzMiwgMywgMjU0LCA0OSwgMjYsIDMyLCAzLCAyNTQsIDQ4LCAKKyAgICAyNiwgMzIsIDMsIDI1NCwgNDcsIDI2LCAzMiwgMywgMjU0LCA0NiwgMjYsIDMyLCAzLCAyNTQsIDQ1LCAyNiwgMzIsIDMsIAorICAgIDI1NCwgNDQsIDI2LCAzMiwgMywgMjU0LCA0MywgMjYsIDMyLCAzLCAyNTQsIDQyLCAyNiwgMzIsIDMsIDI1NCwgNDEsIDI2LCAKKyAgICAzMiwgMywgMjU0LCA0MCwgMjYsIDMyLCAzLCAyNTQsIDM5LCAyNiwgMzIsIDMsIDI1NCwgMzgsIDI2LCAzMiwgMywgMjU0LCAKKyAgICAzNywgMjYsIDMyLCAzLCAyNTQsIDM2LCAyNiwgMzIsIDMsIDI1NCwgMzUsIDI2LCAzMiwgMywgMjU0LCAzNCwgMjYsIDMyLCAKKyAgICAzLCAyNTQsIDMzLCAyNiwgMzIsIDMsIDI1NCwgMzIsIDI2LCAzMiwgMywgMjU0LCAzMSwgMjYsIDMyLCAzLCAyNTQsIDMwLCAKKyAgICAyNiwgMzIsIDMsIDI1NCwgMjksIDI2LCAzMiwgMywgMjU0LCAyOCwgMjYsIDMyLCAzLCAyNTQsIDI3LCAyNiwgMzIsIDMsIAorICAgIDI1NCwgMjYsIDI2LCAzMiwgMywgMjU0LCAyNSwgMjYsIDMyLCAzLCAyNTQsIDI0LCAyNiwgMzIsIDMsIDI1NCwgMjMsIDI2LCAKKyAgICAzMiwgMywgMjU0LCAyMiwgMjYsIDMyLCAzLCAyNTQsIDIxLCAyNiwgMzIsIDMsIDI1NCwgMjAsIDI2LCAzMiwgMywgMjU0LCAKKyAgICAxOSwgMjYsIDMyLCAzLCAyNTQsIDE4LCAyNiwgMzIsIDMsIDI1NCwgMTcsIDI2LCAzMiwgMywgMjU0LCAxNiwgMjYsIDMyLCAKKyAgICAzLCAyNTQsIDE1LCAyNiwgMzIsIDMsIDI1NCwgMTQsIDI2LCAzMiwgMywgMjU0LCAxMywgMjYsIDMyLCAzLCAyNTQsIDEyLCAKKyAgICAyNiwgMzIsIDMsIDI1NCwgMTEsIDI2LCAzMiwgMywgMjU0LCAxMCwgMjYsIDMyLCAzLCAyNTQsIDksIDI2LCAzMiwgMywgCisgICAgMjU0LCA4LCAyNiwgMzIsIDMsIDI1NCwgNywgMjYsIDMyLCAzLCAyNTQsIDYsIDI2LCAzMiwgMywgMjU0LCA1LCAyNiwgMzIsIAorICAgIDMsIDI1NCwgNCwgMjYsIDMyLCAzLCAyNTQsIDMsIDI2LCAzMiwgMywgMjU0LCAyLCAyNiwgMzIsIDMsIDI1NCwgMSwgMjYsIAorICAgIDMyLCAzLCAyNTQsIDAsIDI2LCAzMiwgMywgMjUzLCAyNTUsIDI2LCAzMiwgMywgMjUzLCAyNTQsIDI2LCAzMiwgMywgMjUzLCAKKyAgICAyNTMsIDI2LCAzMiwgMywgMjUzLCAyNTIsIDI2LCAzMiwgMywgMjUzLCAyNTEsIDI2LCAzMiwgMywgMjUzLCAyNTAsIDI2LCAKKyAgICAzMiwgMywgMjUzLCAyNDksIDI2LCAzMiwgMywgMjUzLCAyNDgsIDI2LCAzMiwgMywgMjUzLCAyNDcsIDI2LCAzMiwgMywgCisgICAgMjUzLCAyNDYsIDI2LCAzMiwgMywgMjUzLCAyNDUsIDI2LCAzMiwgMywgMjUzLCAyNDQsIDI2LCAzMiwgMywgMjUzLCAyNDMsIAorICAgIDI2LCAzMiwgMywgMjUzLCAyNDIsIDI2LCAzMiwgMywgMjUzLCAyNDEsIDI2LCAzMiwgMywgMjUzLCAyNDAsIDI2LCAzMiwgMywgCisgICAgMjUzLCAyMzksIDI2LCAzMiwgMywgMjUzLCAyMzgsIDI2LCAzMiwgMywgMjUzLCAyMzcsIDI2LCAzMiwgMywgMjUzLCAyMzYsIAorICAgIDI2LCAzMiwgMywgMjUzLCAyMzUsIDI2LCAzMiwgMywgMjUzLCAyMzQsIDI2LCAzMiwgMywgMjUzLCAyMzMsIDI2LCAzMiwgMywgCisgICAgMjUzLCAyMzIsIDI2LCAzMiwgMywgMjUzLCAyMzEsIDI2LCAzMiwgMywgMjUzLCAyMzAsIDI2LCAzMiwgMywgMjUzLCAyMjksIAorICAgIDI2LCAzMiwgMywgMjUzLCAyMjgsIDI2LCAzMiwgMywgMjUzLCAyMjcsIDI2LCAzMiwgMywgMjUzLCAyMjYsIDI2LCAzMiwgMywgCisgICAgMjUzLCAyMjUsIDI2LCAzMiwgMywgMjUzLCAyMjQsIDI2LCAzMiwgMywgMjUzLCAyMjMsIDI2LCAzMiwgMywgMjUzLCAyMjIsIAorICAgIDI2LCAzMiwgMywgMjUzLCAyMjEsIDI2LCAzMiwgMywgMjUzLCAyMjAsIDI2LCAzMiwgMywgMjUzLCAyMTksIDI2LCAzMiwgMywgCisgICAgMjUzLCAyMTgsIDI2LCAzMiwgMywgMjUzLCAyMTcsIDI2LCAzMiwgMywgMjUzLCAyMTYsIDI2LCAzMiwgMywgMjUzLCAyMTUsIAorICAgIDI2LCAzMiwgMywgMjUzLCAyMTQsIDI2LCAzMiwgMywgMjUzLCAyMTMsIDI2LCAzMiwgMywgMjUzLCAyMTIsIDI2LCAzMiwgMywgCisgICAgMjUzLCAyMTEsIDI2LCAzMiwgMywgMjUzLCAyMTAsIDI2LCAzMiwgMywgMjUzLCAyMDksIDI2LCAzMiwgMywgMjUzLCAyMDgsIAorICAgIDI2LCAzMiwgMywgMjUzLCAyMDcsIDI2LCAzMiwgMywgMjUzLCAyMDYsIDI2LCAzMiwgMywgMjUzLCAyMDUsIDI2LCAzMiwgMywgCisgICAgMjUzLCAyMDQsIDI2LCAzMiwgMywgMjUzLCAyMDMsIDI2LCAzMiwgMywgMjUzLCAyMDIsIDI2LCAzMiwgMywgMjUzLCAyMDEsIAorICAgIDI2LCAzMiwgMywgMjUzLCAyMDAsIDI2LCAzMiwgMywgMjUzLCAxOTksIDI2LCAzMiwgMywgMjUzLCAxOTgsIDI2LCAzMiwgMywgCisgICAgMjUzLCAxOTcsIDI2LCAzMiwgMywgMjUzLCAxOTYsIDI2LCAzMiwgMywgMjUzLCAxOTUsIDI2LCAzMiwgMywgMjUzLCAxOTQsIAorICAgIDYyLCAyNiwgMzIsIDMsIDI1MywgMTkzLCAyNTEsIDE1MCwgMjYsIDMyLCAzLCAyNTMsIDE5MiwgMjQ2LCAyNDAsIDI2LCAzMiwgCisgICAgMywgMjUzLCAxOTEsIDc1LCAyNiwgMzIsIDMsIDI1MywgMTkwLCAyNDIsIDEzOSwgMjYsIDMyLCAzLCAyNTMsIDE4OSwgMjM5LCAKKyAgICAxNTUsIDI2LCAzMiwgMywgMjUzLCAxODgsIDIzMiwgMjAzLCAyNiwgMzIsIDMsIDI1MywgMTg3LCAyMzIsIDc2LCAyNiwgMzIsIAorICAgIDMsIDI1MywgMTg2LCAxNDksIDI2LCAzMiwgMywgMjUzLCAxODUsIDIzMCwgMTQ2LCAyNiwgMzIsIDMsIDI1MywgMTg0LCAKKyAgICAyMzAsIDE0NSwgMjYsIDMyLCAzLCAyNTMsIDE4MywgMjMwLCAxNDQsIDI2LCAzMiwgMywgMjUzLCAxODIsIDIzMCwgMTQzLCAKKyAgICAyNiwgMzIsIDMsIDI1MywgMTgxLCAyMDcsIDEyOSwgMjYsIDMyLCAzLCAyNTMsIDE4MCwgMjA2LCAxOTUsIDI2LCAzMiwgMywgCisgICAgMjUzLCAxNzksIDIwNiwgMTIzLCAyNiwgMzIsIDMsIDI1MywgMTc4LCAyMjIsIDE3MCwgMjYsIDMyLCAzLCAyNTMsIDE3NywgCisgICAgMjUzLCAzMCwgMjYsIDMyLCAzLCAyNTMsIDE3NiwgMjUwLCA5OCwgMjYsIDMyLCAzLCAyNTMsIDE3NSwgMjQ2LCA1NiwgMjYsIAorICAgIDMyLCAzLCAyNTMsIDE3NCwgMjQyLCAxNDYsIDI2LCAzMiwgMywgMjUzLCAxNzMsIDIzMiwgMTgyLCAyNiwgMzIsIDMsIDI1MywgCisgICAgMTcyLCAyNiwgMzIsIDMsIDI1MywgMTcxLCAyNiwgMzIsIDMsIDI1MywgMTcwLCAyNiwgMzIsIDMsIDI1MywgMTY5LCAyNiwgCisgICAgMzIsIDMsIDI1MywgMTY4LCAyNiwgMzIsIDMsIDI1MywgMTY3LCAyNiwgMzIsIDMsIDI1MywgMTY2LCAyNiwgMzIsIDMsIAorICAgIDI1MywgMTY1LCAyNDYsIDI0NywgNCwgNjIsIDI0NiwgMjQ3LCA0LCA3NSwgMjQ2LCAyNDcsIDQsIDc0LCAyNDYsIDI0NywgNCwgCisgICAgNzYsIDI0NiwgMjQ3LCA0LCA3MSwgMjQ2LCAyNDcsIDQsIDIzMiwgMjAwLCAyNDYsIDI0NywgNCwgMjMyLCAxMjIsIDI0NiwgCisgICAgMjQ3LCA0LCAxNzIsIDI0NiwgMjQ3LCA0LCAyMzEsIDIyNCwgMjQ2LCAyNDcsIDQsIDIzMSwgMTIzLCAyNDYsIDI0NywgNCwgCisgICAgMjMxLCA1MywgMjQ2LCAyNDcsIDQsIDIzMCwgMjM2LCAyNDYsIDI0NywgNCwgMjMwLCAxNDEsIDI0NiwgMjQ3LCA0LCAyMzAsIAorICAgIDU4LCAyNDYsIDI0NywgNCwgMjI5LCAyMzUsIDI0NiwgMjQ3LCA0LCAyMjksIDE0NCwgMjQ2LCAyNDcsIDQsIDIyOSwgODEsIAorICAgIDI0NiwgMjQ3LCA0LCAxODUsIDI0NiwgMjQ3LCA0LCAyMjcsIDExOSwgMjQ2LCAyNDcsIDQsIDIyNiwgMjU0LCAyNDYsIDI0NywgCisgICAgNCwgMjI2LCAxODEsIDI0NiwgMjQ3LCA0LCAyMjYsIDExNCwgMjQ2LCAyNDcsIDQsIDE5OSwgMjQ2LCAyNDcsIDQsIDIyNSwgCisgICAgMTEwLCAyNDYsIDI0NywgNCwgMjI0LCAyMzAsIDI0NiwgMjQ3LCA0LCAyMjQsIDY3LCAyNDYsIDI0NywgNCwgMjIzLCAyMTcsIAorICAgIDI0NiwgMjQ3LCA0LCAxNzksIDI0NiwgMjQ3LCA0LCAyMjEsIDE3NCwgMjQ2LCAyNDcsIDQsIDIyMSwgNTMsIDI0NiwgMjQ3LCAKKyAgICA0LCAyMjAsIDIxMSwgMjQ2LCAyNDcsIDQsIDIyMCwgODIsIDI0NiwgMjQ3LCA0LCAyMTksIDExMywgMjQ2LCAyNDcsIDQsIAorICAgIDIxOSwgNTEsIDI0NiwgMjQ3LCA0LCAyMTgsIDIwOCwgMjQ2LCAyNDcsIDQsIDIxOCwgMTI0LCAyNDYsIDI0NywgNCwgMjE4LCAKKyAgICA1MCwgMjQ2LCAyNDcsIDQsIDIxNywgMTk5LCAyNDYsIDI0NywgNCwgMjE3LCA4NiwgMjQ2LCAyNDcsIDQsIDIxNSwgODAsIAorICAgIDI0NiwgMjQ3LCA0LCAyMTQsIDE5MywgMjQ2LCAyNDcsIDQsIDIxMywgMjAzLCAyNDYsIDI0NywgNCwgMjEyLCAyMTksIDI0NiwgCisgICAgMjQ3LCA0LCAyMTIsIDEzMSwgMjQ2LCAyNDcsIDQsIDIxMSwgMjExLCAyNDYsIDI0NywgNCwgMTI0LCAyNDYsIDI0NywgNCwgCisgICAgMjEwLCAxNzAsIDI0NiwgMjQ3LCA0LCAyMDcsIDk2LCAyNDYsIDI0NywgNCwgMjA3LCA1MSwgMjQ2LCAyNDcsIDQsIDIwNywgCisgICAgMjAsIDI0NiwgMjQ3LCA0LCAyMDYsIDI1MCwgMjQ2LCAyNDcsIDQsIDIwNiwgMTgxLCAyNDYsIDI0NywgNCwgMjA2LCAxNzUsIAorICAgIDI0NiwgMjQ3LCA0LCAyMDUsIDExNiwgMjQ2LCAyNDcsIDQsIDIwNSwgMTksIDIzMywgNzAsIDI1MiwgMjMsIDEsIDI1MiwgCisgICAgMTcwLCAyMzMsIDcwLCAyNTIsIDIzLCAxLCAyNTAsIDcsIDIzMywgNzAsIDI1MiwgMjMsIDEsIDI0MCwgNDcsIDIzMywgNzAsIAorICAgIDI1MiwgMjMsIDEsIDI0NiwgMTEwLCAyMzMsIDcwLCAyNTIsIDIzLCAxLCAyMzksIDcxLCAyMzMsIDcwLCAyNTIsIDIzLCAxLCAKKyAgICAyMDcsIDU5LCAyMzMsIDcwLCAyNTIsIDIzLCAxLCAyMDUsIDk2LCAyMzMsIDcwLCAyNTIsIDIzLCAxLCAyMzksIDI3LCAyMzMsIAorICAgIDcwLCAyNTIsIDIzLCAxLCAyMTIsIDc2LCAyMzMsIDcwLCAyNTIsIDIzLCAxLCAyMDUsIDIzNSwgMjMzLCA3MCwgMjUyLCAyMywgCisgICAgMSwgMjMyLCAxNywgMjMzLCA3MCwgMjUyLCAyMywgMSwgMjMwLCA5NywgMjMzLCA3MCwgMjUyLCAyMywgMSwgMjI3LCA5MCwgCisgICAgMjMzLCA3MCwgMjUyLCAyMywgMSwgMjIzLCAxNzMsIDIzMywgNzAsIDI1MiwgMjMsIDEsIDIxNywgMTU3LCAyMzMsIDcwLCAKKyAgICAyNTIsIDIzLCAxLCAyNTEsIDE1NCwgMjMzLCA3MCwgMjUyLCAyMywgMSwgMjIxLCAxNzQsIDIzMywgNzAsIDI1MiwgMjMsIDEsIAorICAgIDIxNywgMTg5LCAyMzMsIDcwLCAyNTIsIDIzLCAxLCAyMTksIDIxOCwgMjMzLCA3MCwgMjUyLCAyMywgMSwgMjE4LCAyNDIsIAorICAgIDIzMywgNzAsIDI1MiwgMjMsIDEsIDIxNSwgMTcxLCAyMzMsIDcwLCAyNTIsIDIzLCAxLCAyMTIsIDE0NSwgMjMzLCA3MCwgCisgICAgMjUyLCAyMywgMjE3LCA3NywgNTMsIDIzMywgNzAsIDI1MiwgMjMsIDQzLCAxMDIsIDIzMywgNzAsIDI1MiwgMjMsIDQzLCAKKyAgICAxMDUsIDIzMywgNzAsIDI1MiwgMjMsIDQzLCAxNDIsIDIzMywgNzAsIDI1MiwgMjMsIDQzLCAyMTIsIDk4LCAyMzMsIDcwLCAKKyAgICAyNTIsIDIzLCA0MywgMjEwLCAxMjMsIDIzMywgNzAsIDI1MiwgMjMsIDQzLCAxMTksIDIzOCwgMjksIDIzMywgNzAsIDI1MiwgCisgICAgMjMsIDQzLCAxMTksIDIxMSwgMjQyLCAyMzMsIDcwLCAyNTIsIDIzLCA0MywgMjEyLCA5OSwgMjExLCAyNDIsIDIyMiwgMTgsIAorICAgIDEsIDI1MiwgMTcwLCAyMjIsIDE4LCAxLCAyNTAsIDcsIDIyMiwgMTgsIDEsIDI0MCwgNDcsIDIyMiwgMTgsIDEsIDI0NiwgCisgICAgMTEwLCAyMjIsIDE4LCAxLCAyMzksIDcxLCAyMjIsIDE4LCAxLCAyMDcsIDU5LCAyMjIsIDE4LCAxLCAyMDUsIDk2LCAyMjIsIAorICAgIDE4LCAxLCAyMzksIDI3LCAyMjIsIDE4LCAxLCAyMTIsIDc2LCAyMjIsIDE4LCAxLCAyMDUsIDIzNSwgMjIyLCAxOCwgMSwgCisgICAgMjMyLCAxNywgMjIyLCAxOCwgMSwgMjMwLCA5NywgMjIyLCAxOCwgMSwgMjI3LCA5MCwgMjIyLCAxOCwgMSwgNDIsIDIyMywgCisgICAgMTczLCAyMjIsIDE4LCAxLCAyMjMsIDE3MywgMjIyLCAxOCwgMSwgMjE3LCAxNTcsIDIyMiwgMTgsIDEsIDI1MSwgMTU0LCAKKyAgICAyMjIsIDE4LCAxLCAyMjEsIDE3NCwgMjIyLCAxOCwgMSwgMjE3LCAxODksIDIyMiwgMTgsIDEsIDIxOSwgMjE4LCAyMjIsIAorICAgIDE4LCAxLCAyMTgsIDI0MiwgMjIyLCAxOCwgMSwgMjE1LCAxNzEsIDIyMiwgMTgsIDEsIDIxMiwgMTQ1LCAyMjIsIDE4LCAKKyAgICAyMzAsIDQxLCAyNDEsIDE4MywgMjIyLCAxOCwgMjE4LCAxNjIsIDI0MSwgMTgzLCAyMjIsIDE4LCA0MywgMTAyLCAyMjIsIAorICAgIDE4LCA0MywgMTA1LCAyMjIsIDE4LCA0MywgMTQyLCAyMjIsIDE4LCA0MywgMTM5LCAyMjIsIDE4LCA0MywgMTY4LCAyMjIsIAorICAgIDE4LCA0MywgMjEyLCA5OCwgMjIyLCAxOCwgNDMsIDIxMCwgMTIzLCAyMjUsIDIyOCwgMSwgNDIsIDI1MiwgMTcwLCAyMjUsIAorICAgIDIyOCwgMSwgMjUyLCAxNzAsIDIyNSwgMjI4LCAxLCA0MiwgMjUwLCA3LCAyMjUsIDIyOCwgMSwgMjUwLCA3LCAyMjUsIDIyOCwgCisgICAgMSwgMjQwLCA0NywgMjI1LCAyMjgsIDEsIDI0NiwgMTEwLCAyMjUsIDIyOCwgMSwgNDIsIDIzOSwgNzEsIDIyNSwgMjI4LCAxLCAKKyAgICAyMzksIDcxLCAyMjUsIDIyOCwgMSwgMjA3LCA1OSwgMjI1LCAyMjgsIDEsIDIwNSwgOTYsIDIyNSwgMjI4LCAxLCAyMzksIAorICAgIDI3LCAyMjUsIDIyOCwgMSwgMjEyLCA3NiwgMjI1LCAyMjgsIDEsIDQyLCAyMDUsIDIzNSwgMjI1LCAyMjgsIDEsIDIwNSwgCisgICAgMjM1LCAyMjUsIDIyOCwgMSwgNDIsIDIzMiwgMTcsIDIyNSwgMjI4LCAxLCAyMzIsIDE3LCAyMjUsIDIyOCwgMSwgNDIsIAorICAgIDIzMCwgOTcsIDIyNSwgMjI4LCAxLCAyMzAsIDk3LCAyMjUsIDIyOCwgMSwgNDIsIDIyNywgOTAsIDIyNSwgMjI4LCAxLCAKKyAgICAyMjcsIDkwLCAyMjUsIDIyOCwgMSwgNDIsIDIyMywgMTczLCAyMjUsIDIyOCwgMSwgMjIzLCAxNzMsIDIyNSwgMjI4LCAxLCAKKyAgICAyMTcsIDE1NywgMjI1LCAyMjgsIDEsIDI1MSwgMTU0LCAyMjUsIDIyOCwgMSwgMjIxLCAxNzQsIDIyNSwgMjI4LCAxLCAyMTcsIAorICAgIDE4OSwgMjI1LCAyMjgsIDEsIDIxOSwgMjE4LCAyMjUsIDIyOCwgMSwgMjE4LCAyNDIsIDIyNSwgMjI4LCAxLCA0MiwgMjE1LCAKKyAgICAxNzEsIDIyNSwgMjI4LCAxLCAyMTUsIDE3MSwgMjI1LCAyMjgsIDEsIDIxMiwgMTQ1LCAyMjUsIDIyOCwgNDMsIDEwMiwgCisgICAgMjI1LCAyMjgsIDQzLCAxMDUsIDIyNSwgMjI4LCA0MywgMTQyLCAyMjUsIDIyOCwgNDMsIDEzOSwgMjI1LCAyMjgsIDI0NywgCisgICAgNDYsIDQzLCAxMzksIDIyNSwgMjI4LCA0MywgMTY4LCAyMjUsIDIyOCwgNDMsIDIxMiwgOTgsIDIyNSwgMjI4LCA0MywgMjEwLCAKKyAgICAxMjMsIDIyNSwgMjI4LCA0MywgMTE5LCAyMzgsIDI5LCAyMjEsIDY0LCAxLCAyNTIsIDE2NywgMjIxLCA2NCwgMSwgMjUwLCAKKyAgICAxMCwgMjIxLCA2NCwgMSwgMjQwLCAyMTcsIDIyMSwgNjQsIDEsIDI0NSwgMjI5LCAyMjEsIDY0LCAxLCAyMzksIDcxLCAyMjEsIAorICAgIDY0LCAxLCAyMDcsIDY2LCAyMjEsIDY0LCAxLCAyMDUsIDExMCwgMjIxLCA2NCwgMSwgMjM5LCAyOSwgMjIxLCA2NCwgMSwgCisgICAgMjEyLCA4MCwgMjIxLCA2NCwgMSwgMjA1LCAyMzYsIDIyMSwgNjQsIDEsIDIzMiwgNDUsIDIyMSwgNjQsIDEsIDIzMCwgMTAzLCAKKyAgICAyMjEsIDY0LCAxLCAyMjcsIDkwLCAyMjEsIDY0LCAxLCAyMjMsIDE3MywgMjIxLCA2NCwgMSwgMjE2LCA0NiwgMjIxLCA2NCwgCisgICAgMSwgMjUyLCAyMDAsIDIyMSwgNjQsIDEsIDIyMSwgMTc0LCAyMjEsIDY0LCAxLCAyMTcsIDE5MCwgMjIxLCA2NCwgMSwgMjE5LCAKKyAgICAyMjMsIDIyMSwgNjQsIDEsIDIxOCwgOTksIDIyMSwgNjQsIDEsIDIxNSwgMTcxLCAyMjEsIDY0LCAxLCAyMTIsIDE1MSwgCisgICAgMjIxLCA2NCwgNDMsIDEwMiwgMjIxLCA2NCwgNDMsIDIxMiwgOTgsIDIyMSwgNjQsIDQzLCAyMTAsIDEyMywgMjIxLCA2NCwgCisgICAgNDMsIDExOSwgMjM4LCAyOSwgMjIxLCA2NCwgNDMsIDEwNSwgMjIxLCA2NCwgNDMsIDE0MiwgMjIxLCA2NCwgMjA2LCAyMzIsIAorICAgIDIxNiwgMzksIDIyOSwgMzksIDEsIDYyLCAyMjksIDM5LCAxLCAyNTEsIDE1MCwgMjI5LCAzOSwgMSwgMjQxLCA1NSwgMjI5LCAKKyAgICAzOSwgMSwgMjQ2LCAyNDAsIDIyOSwgMzksIDEsIDc1LCAyMjksIDM5LCAxLCAyMDksIDE0OCwgMjI5LCAzOSwgMSwgNzQsIAorICAgIDIyOSwgMzksIDEsIDIwNiwgMTIzLCAyMjksIDM5LCAxLCAyMzIsIDc2LCAyMjksIDM5LCAxLCAxNDksIDIyOSwgMzksIDEsIAorICAgIDIyOSwgMjgsIDIyOSwgMzksIDEsIDIyNiwgMzMsIDIyOSwgMzksIDEsIDc2LCAyMjksIDM5LCAxLCAxMzcsIDIyOSwgMzksIAorICAgIDEsIDIxNCwgOTksIDIyOSwgMzksIDEsIDIxMywgMTAsIDIyOSwgMzksIDEsIDcxLCAyMjksIDM5LCAxLCAyNDIsIDEzOSwgCisgICAgMjI5LCAzOSwgMSwgMjIwLCAyNywgMjI5LCAzOSwgMSwgMTgyLCAyMjksIDM5LCAxLCAyMTAsIDIxMSwgMjI5LCAzOSwgMSwgCisgICAgMjUyLCAxMjIsIDIyOSwgMzksIDEsIDI0MywgNDEsIDIyOSwgMzksIDEsIDIyOSwgNDIsIDIyOSwgMzksIDEsIDIyNCwgMTA0LCAKKyAgICAyMjksIDM5LCAxLCAyNDksIDM0LCAyMjksIDM5LCAyMTEsIDQ4LCA4MywgMjI3LCA3MiwgMjM5LCA1LCAxLCA2MiwgMjI3LCAKKyAgICA3MiwgMjM5LCA1LCAxLCA3NSwgMjI3LCA3MiwgMjM5LCA1LCAxLCA3NCwgMjI3LCA3MiwgMjM5LCA1LCAxLCA3NiwgMjI3LCAKKyAgICA3MiwgMjM5LCA1LCAxLCAxOTAsIDIyNywgNzIsIDIzOSwgNSwgMSwgMjA3LCA5NiwgMjI3LCA3MiwgMjM5LCA1LCAxLCAyNTAsIAorICAgIDE4MywgMjI3LCA3MiwgMjM5LCA1LCAxLCAyNTAsIDE4MiwgMjI3LCA3MiwgMjM5LCA1LCAxLCAxNzksIDIyNywgNzIsIDIzOSwgCisgICAgNSwgMSwgMTg1LCAyMjcsIDcyLCAyMzksIDUsIDEsIDE5OSwgMjI3LCA3MiwgMjM5LCA1LCAxLCAyMjUsIDIzNiwgMjI3LCAKKyAgICA3MiwgMjM5LCA1LCAxLCAyMjUsIDExMCwgMjI3LCA3MiwgMjM5LCA1LCAxLCAyMjUsIDEwOSwgMjI3LCA3MiwgMjM5LCA1LCAKKyAgICAxLCAyMTksIDExMywgMjI3LCA3MiwgMjM5LCA1LCAxLCAyMTksIDExMiwgMjI3LCA3MiwgMjM5LCA1LCAxLCAyMzAsIDE0MSwgCisgICAgMjI3LCA3MiwgMjM5LCA1LCAxLCAyMzEsIDE2NywgMjI3LCA3MiwgMjM5LCA1LCAxLCAyMzksIDIwLCAyMjcsIDcyLCAyMzksIAorICAgIDUsIDEsIDIxNywgMTk5LCAyMjcsIDcyLCAyMzksIDUsIDEsIDIxNywgMTk4LCAyMjcsIDcyLCAyMzksIDUsIDEsIDIxNywgCisgICAgODYsIDIyNywgNzIsIDIzOSwgNSwgMSwgMTcyLCAyMjcsIDcyLCAyMzksIDUsIDEsIDIyMCwgMTksIDIyNywgNzIsIDIzOSwgCisgICAgNSwgMSwgMjEyLCAyMTksIDIyNywgNzIsIDIzOSwgNSwgMSwgMjEyLCAyMTgsIDIyNywgNzIsIDIzOSwgNSwgMSwgMjEyLCAKKyAgICAxMzEsIDIyNywgNzIsIDIzOSwgNSwgMSwgMjEyLCAxMzAsIDIyNywgNzIsIDIzOSwgNSwgMSwgMTI0LCAyMjcsIDcyLCAyMzksIAorICAgIDUsIDEsIDI0NiwgMTQ1LCAyMjcsIDcyLCAyMzksIDUsIDE2LCAyMDgsIDIwOCwgMjI3LCA3MiwgMjM5LCA1LCAxNiwgMjA4LCAKKyAgICAyMDcsIDIyNywgNzIsIDI0NywgMjEsIDEsIDYyLCAyMjcsIDcyLCAyNDcsIDIxLCAxLCA3NSwgMjI3LCA3MiwgMjQ3LCAyMSwgCisgICAgMSwgNzQsIDIyNywgNzIsIDI0NywgMjEsIDEsIDc2LCAyMjcsIDcyLCAyNDcsIDIxLCAxLCAxOTAsIDIyNywgNzIsIDI0NywgCisgICAgMjEsIDEsIDIwNywgOTYsIDIyNywgNzIsIDI0NywgMjEsIDEsIDI1MCwgMTgzLCAyMjcsIDcyLCAyNDcsIDIxLCAxLCAxNzksIAorICAgIDIyNywgNzIsIDI0NywgMjEsIDEsIDE4NSwgMjI3LCA3MiwgMjQ3LCAyMSwgMSwgMTk5LCAyMjcsIDcyLCAyNDcsIDIxLCAxLCAKKyAgICAyMjUsIDExMCwgMjI3LCA3MiwgMjQ3LCAyMSwgMSwgMjE5LCAxMTMsIDIyNywgNzIsIDI0NywgMjEsIDEsIDIzMCwgMTQxLCAKKyAgICAyMjcsIDcyLCAyNDcsIDIxLCAxLCAyMzEsIDE2NywgMjI3LCA3MiwgMjQ3LCAyMSwgMSwgMjM5LCAyMCwgMjI3LCA3MiwgCisgICAgMjQ3LCAyMSwgMSwgMjE3LCAxOTksIDIyNywgNzIsIDI0NywgMjEsIDEsIDI1MiwgMTksIDIxNywgMTk5LCAyMjcsIDcyLCAKKyAgICAyNDcsIDIxLCAxLCAyMTcsIDg2LCAyMjcsIDcyLCAyNDcsIDIxLCAxLCAxNzIsIDIyNywgNzIsIDI0NywgMjEsIDEsIDIyMCwgCisgICAgMTksIDIyNywgNzIsIDI0NywgMjEsIDEsIDIxMiwgMjE5LCAyMjcsIDcyLCAyNDcsIDIxLCAxLCAyMTIsIDEzMSwgMjI3LCAKKyAgICA3MiwgMjQ3LCAyMSwgMSwgMTI0LCAyMjcsIDcyLCAyNDcsIDIxLCAxLCAyNDYsIDE0NSwgMjI3LCA3MiwgMjQ3LCAyMSwgCisgICAgMjI5LCAxMzMsIDIxOCwgMTMwLCAyMjcsIDcyLCAyNDcsIDIxLCAyMjksIDEzMywgMjMzLCA3NSwgMjMxLCAxNTQsIDEsIDYyLCAKKyAgICAyMzEsIDE1NCwgMjIsIDMsIDc0LCAyMzEsIDE1NCwgMjIsIDMsIDcxLCAyMzEsIDE1NCwgMjIsIDMsIDExNSwgMTM3LCAyMzEsIAorICAgIDE1NCwgMjIsIDMsIDc1LCAyMzEsIDE1NCwgMjIsIDMsIDc2LCAyMzEsIDE1NCwgMjIsIDIzMCwgMjAsIDgzLCAyMzEsIDE1NCwgCisgICAgMywgNTAsIDIxOCwgMTQ5LCA1NSwgMjMxLCAxNTQsIDMsIDI1MiwgNzMsIDIzMSwgMTU0LCAzLCAyMDgsIDE4MywgMjMxLCAKKyAgICAxNTQsIDEsIDE3MiwgMjMxLCAxNTQsIDEsIDIzMSwgMTY3LCAyMzEsIDE1NCwgMSwgMjQwLCAyNDQsIDIzMSwgMTU0LCAxLCAKKyAgICAyNDAsIDk5LCAyMzEsIDE1NCwgMSwgMjQ5LCAxLCAyMzEsIDE1NCwgMSwgMjQ4LCAxMTAsIDIzMSwgMTU0LCAxLCAyMzIsIAorICAgIDIwMCwgMjMxLCAxNTQsIDEsIDIyMywgMTQ0LCAyMzEsIDE1NCwgMSwgMjEwLCAyMDgsIDIzMSwgMTU0LCAxLCAyMTAsIDE5NiwgCisgICAgMjMxLCAxNTQsIDEsIDI0NiwgNTQsIDIzMSwgMTU0LCAxLCAyNDYsIDM4LCAyMzEsIDE1NCwgMSwgMjI0LCAxMDMsIDIzMSwgCisgICAgMTU0LCAxLCAyMTIsIDIxOSwgMjMxLCAxNTQsIDEsIDIxMiwgNTYsIDIzMSwgMTU0LCAxLCAyNDYsIDE0NSwgMjMxLCAxNTQsIAorICAgIDEsIDI0NSwgMTkyLCAyMzEsIDE1NCwgMSwgMTk5LCAyMzEsIDE1NCwgMSwgMTc5LCAyMzEsIDE1NCwgMSwgMjIxLCA5MywgCisgICAgMjMxLCAxNTQsIDEsIDI1MCwgMTgzLCAyMzEsIDE1NCwgMSwgMjUwLCAwLCAyMzEsIDE1NCwgMSwgMTg1LCAyMzEsIDE1NCwgCisgICAgMSwgMTkwLCAyMzEsIDE1NCwgMSwgMjE5LCAxMTMsIDIzMSwgMTU0LCAxLCAyMzAsIDE0MSwgMjMxLCAxNTQsIDEsIDIwOSwgCisgICAgNzAsIDIzMSwgMTU0LCAxLCAyMTYsIDIsIDIzMSwgMTU0LCAxLCAyMTQsIDk2LCAyMzEsIDE1NCwgMSwgMjE3LCAxOTksIAorICAgIDIzMSwgMTU0LCAxLCAyMDUsIDExNiwgMjMxLCAxNTQsIDEsIDE1NSwgMjMxLCAxNTQsIDEsIDIzMSwgNzIsIDIzMSwgMTU0LCAKKyAgICAxLCAyMTAsIDE3NiwgMjMxLCAxNTQsIDMsIDI1MCwgMTI5LCA1MiwgMjMxLCAxNTQsIDMsIDI0OCwgMTc5LCAyMzEsIDE1NCwgCisgICAgMywgNjcsIDU1LCAyMzEsIDE1NCwgMjA4LCAxODgsIDIzMSwgMTU0LCAxOCwgMTAyLCAyMzEsIDE1NCwgMTgsIDEwNSwgMjMxLCAKKyAgICAxNTQsIDE4LCAxNDIsIDIzMSwgMTU0LCAxOCwgMTM5LCAyMzEsIDE1NCwgNDMsIDIxMiwgOTgsIDIzMSwgMTU0LCA0MywgCisgICAgMjEwLCAxMjMsIDIzMSwgMTU0LCA0MywgMTE5LCAyMzgsIDI5LCAyMzEsIDE1NCwgNDMsIDExOSwgMjExLCAyNDIsIDIzMSwgCisgICAgMTU0LCAyMjAsIDcyLCAyNDUsIDIzLCAyMzEsIDE1NCwgMjIwLCA3MiwgNSwgMjQ3LCAyMzMsIDIzMSwgMTU0LCAyMjAsIDcyLCAKKyAgICAyNDcsIDIzMywgMjMxLCAxNTQsIDIyMCwgNzIsIDI0NywgNjYsIDEzNCwgMjMxLCAxNTQsIDIyMCwgNzIsIDIyNywgMjE1LCAKKyAgICAyMzEsIDE1NCwgMjIwLCA3MiwgMjI5LCAxMDIsIDIzMSwgMTU0LCAyMjAsIDcyLCAyNDYsIDEwMCwgMjMxLCAxNTQsIDIyMCwgCisgICAgNzIsIDUwLCAyNDYsIDEwMCwgMjMxLCAxNTQsIDIyMCwgNzIsIDIyOSwgMTk5LCA0NCwgMTg4LCAyNTIsIDM0LCAxLCAyMzksIAorICAgIDcxLCA0NCwgMTg4LCAyNTIsIDM0LCAxLCAyMzAsIDk3LCA0NCwgMTg4LCAyNTIsIDM0LCAxLCAyMzksIDI3LCA0NCwgMTg4LCAKKyAgICAyNTIsIDM0LCAxLCAyMjcsIDkwLCA0NCwgMTg4LCAyNTIsIDM0LCAxLCAyMTksIDIxOCwgNDQsIDE4OCwgMjUyLCAzNCwgMSwgCisgICAgMjA3LCA1OSwgNDQsIDE4OCwgMjUyLCAzNCwgMSwgMjE1LCAxNzEsIDQ0LCAxODgsIDI1MiwgMzQsIDEsIDIxOCwgMjQyLCAKKyAgICA0NCwgMTg4LCAyNTIsIDM0LCAxLCAyNTAsIDcsIDQ0LCAxODgsIDI1MiwgMzQsIDEsIDIxMiwgMTQ1LCA0NCwgMTg4LCAyNTIsIAorICAgIDM0LCAxLCAyMTcsIDEzMywgNDQsIDE4OCwgMjUyLCAzNCwgMSwgMjMyLCAxNywgNDQsIDE4OCwgMjUyLCAzNCwgMSwgMjIzLCAKKyAgICAxNzMsIDQ0LCAxODgsIDI1MiwgMzQsIDEsIDIzMSwgMTQ5LCA0NCwgMTg4LCAyNTIsIDM0LCAxLCAyMTcsIDE4OSwgNDQsIAorICAgIDE4OCwgMjUyLCAzNCwgMSwgMjE3LCAxNTcsIDQ0LCAxODgsIDI1MiwgMzQsIDEsIDI0MiwgMjgsIDQ0LCAxODgsIDI1MiwgCisgICAgMzQsIDEsIDI1MiwgMTcyLCA0NCwgMTg4LCAyNTIsIDM0LCAxLCAyNTEsIDE1MywgNDQsIDE4OCwgMjUyLCAzNCwgMSwgMjQ1LCAKKyAgICAxODksIDQ0LCAxODgsIDI1MiwgMzQsIDEsIDI0MCwgNDcsIDQ0LCAxODgsIDI1MiwgMzQsIDEsIDI0NiwgMTEwLCA0NCwgCisgICAgMTg4LCAyNTIsIDM0LCAxLCAyNDAsIDg3LCA0NCwgMTg4LCAyNTIsIDM0LCAxLCAyMTIsIDc2LCA0NCwgMTg4LCAyNTIsIDM0LCAKKyAgICAxLCAyMDUsIDk1LCA0NCwgMTg4LCAyNTIsIDM0LCAxLCAyNDUsIDE4NiwgNDQsIDE4OCwgMjUyLCAzNCwgMSwgMjA1LCAyMzUsIAorICAgIDQ0LCAxODgsIDI1MiwgMzQsIDEsIDIxMiwgNDMsIDQ0LCAxODgsIDI1MiwgMzQsIDEsIDIxMiwgMjIsIDQ0LCAxODgsIDI1MiwgCisgICAgMzQsIDQzLCAxMDIsIDQ0LCAxODgsIDI1MiwgMzQsIDQzLCAyNDEsIDI0MywgNDQsIDE4OCwgMjUyLCAzNCwgMTMzLCAyMzMsIAorICAgIDQ5LCA0NCwgMTQzLCAyNTIsIDM0LCAxLCAyMzksIDUwLCA0NCwgMTQzLCAyNTIsIDM0LCAxLCAyMzAsIDEwNiwgNDQsIDE0MywgCisgICAgMjUyLCAzNCwgMSwgMjM5LCAxMzIsIDQ0LCAxNDMsIDI1MiwgMzQsIDEsIDIyNywgMTA0LCA0NCwgMTQzLCAyNTIsIDM0LCAxLCAKKyAgICAyMjAsIDEyLCA0NCwgMTQzLCAyNTIsIDM0LCAxLCAyMDcsIDU5LCA0NCwgMTQzLCAyNTIsIDM0LCAxLCAyNDIsIDIyMywgNDQsIAorICAgIDE0MywgMjUyLCAzNCwgMSwgMjE5LCAxNiwgNDQsIDE0MywgMjUyLCAzNCwgMSwgMjUwLCAzOCwgNDQsIDE0MywgMjUyLCAzNCwgCisgICAgMSwgMjEyLCAxMTUsIDQ0LCAxNDMsIDI1MiwgMzQsIDEsIDI0MiwgMjI0LCA0NCwgMTQzLCAyNTIsIDM0LCAxLCAyMzIsIDQ1LCAKKyAgICA0NCwgMTQzLCAyNTIsIDM0LCAxLCAyMjQsIDU0LCA0NCwgMTQzLCAyNTIsIDM0LCAxLCAyMzEsIDE2MywgNDQsIDE0MywgCisgICAgMjUyLCAzNCwgMSwgMjE3LCAxOTEsIDQ0LCAxNDMsIDI1MiwgMzQsIDEsIDI0MiwgMjIyLCA0NCwgMTQzLCAyNTIsIDM0LCAxLCAKKyAgICAyNDIsIDE1LCA0NCwgMTQzLCAyNTIsIDM0LCAxLCAyNTIsIDE3MiwgNDQsIDE0MywgMjUyLCAzNCwgMSwgMjUyLCAyMDAsIAorICAgIDQ0LCAxNDMsIDI1MiwgMzQsIDEsIDI0NiwgMTQwLCA0NCwgMTQzLCAyNTIsIDM0LCAxLCAyNDAsIDE2MSwgNDQsIDE0MywgCisgICAgMjUyLCAzNCwgMSwgMjQ2LCAxMTcsIDQ0LCAxNDMsIDI1MiwgMzQsIDEsIDI0MCwgOTQsIDQ0LCAxNDMsIDI1MiwgMzQsIDEsIAorICAgIDIxMiwgMTk0LCA0NCwgMTQzLCAyNTIsIDM0LCAxLCAyMDUsIDEwOCwgNDQsIDE0MywgMjUyLCAzNCwgMSwgMjEyLCA0OSwgCisgICAgNDQsIDE0MywgMjUyLCAzNCwgMSwgMjA2LCA0NywgNDQsIDE0MywgMjUyLCAzNCwgMSwgMjEyLCAzNywgNDQsIDE0MywgMjUyLCAKKyAgICAzNCwgMSwgMjA1LCAxMTEsIDQ0LCAxNDMsIDI1MiwgMzQsIDQzLCAxMDIsIDQ0LCAxNDMsIDI1MiwgMzQsIDQzLCAyMTIsIAorICAgIDk4LCA0NCwgMTQzLCAyNTIsIDM0LCA0MywgMjEwLCAxMjMsIDIyNywgMjE0LCAxLCAyNTIsIDE3MCwgMjI3LCAyMTQsIDEsIAorICAgIDI1MCwgNywgMjI3LCAyMTQsIDEsIDI0OSwgMjUwLCAyMjcsIDIxNCwgMSwgMjQwLCA0NywgMjI3LCAyMTQsIDEsIDI0MCwgCisgICAgNzIsIDIyNywgMjE0LCAxLCAyNDYsIDExMCwgMjI3LCAyMTQsIDEsIDIzOSwgNzEsIDIyNywgMjE0LCAxLCAyMDcsIDU5LCAKKyAgICAyMjcsIDIxNCwgMywgMjEwLCA4LCAyMjcsIDIxNCwgMSwgMjA1LCA5NiwgMjI3LCAyMTQsIDEsIDIwNSwgNzQsIDIyNywgCisgICAgMjE0LCAxLCAyMzIsIDE4NCwgMjI3LCAyMTQsIDEsIDIzMiwgMTY2LCAyMjcsIDIxNCwgMSwgMjM5LCAyNywgMjI3LCAyMTQsIAorICAgIDEsIDIxMiwgNzYsIDIyNywgMjE0LCAxLCAyMDUsIDIzNSwgMjI3LCAyMTQsIDEsIDIzMiwgMTcsIDIyNywgMjE0LCAxLCAKKyAgICAyMDYsIDE3OCwgMjI3LCAyMTQsIDEsIDIzMSwgMTU2LCAyMjcsIDIxNCwgMSwgMjMwLCA5NywgMjI3LCAyMTQsIDEsIDI0NSwgCisgICAgMTg1LCAyMjcsIDIxNCwgMSwgMjEyLCA0OCwgMjI3LCAyMTQsIDEsIDIyNywgOTAsIDIyNywgMjE0LCAxLCAyMjMsIDE3MywgCisgICAgMjI3LCAyMTQsIDEsIDIxNywgMTU3LCAyMjcsIDIxNCwgMSwgMjUxLCAxNTQsIDIyNywgMjE0LCAxLCAyNTMsIDExNywgMjI3LCAKKyAgICAyMTQsIDEsIDIyMSwgMTc0LCAyMjcsIDIxNCwgMSwgMjQyLCAyOCwgMjI3LCAyMTQsIDEsIDIxNywgMTg5LCAyMjcsIDIxNCwgCisgICAgMSwgMjE5LCAyMTgsIDIyNywgMjE0LCAxLCAyMDYsIDE1NiwgMjI3LCAyMTQsIDEsIDIxOSwgMjQ0LCAyMjcsIDIxNCwgMSwgCisgICAgMjE4LCAyNDIsIDIyNywgMjE0LCAxLCAyMTUsIDE3MSwgMjI3LCAyMTQsIDEsIDIxNCwgNjUsIDIyNywgMjE0LCAxLCAyMTIsIAorICAgIDE0NSwgMjI3LCAyMTQsIDI1MywgMjksIDE0MSwgNTIsIDIyNywgMjE0LCAyNTMsIDI5LCAxNDEsIDU1LCAyMjcsIDIxNCwgCisgICAgNDMsIDEwMiwgMjI3LCAyMTQsIDQzLCAxNjgsIDIyNywgMjE0LCA0MywgMjEyLCA5OCwgMjI3LCAyMTQsIDQzLCAyMTAsIAorICAgIDEyMywgMjI3LCAyMTQsIDQzLCAxMTksIDIzOCwgMjksIDIyNywgMjE0LCAyMjAsIDcyLCAyMTQsIDI2LCAyMjcsIDIxNCwgCisgICAgMjIwLCA3MiwgMjQxLCAxODMsIDIyNywgMjE0LCAyMjAsIDcyLCA1MCwgNjcsIDIwNiwgMjU1LCAyNDUsIDIzLCAyMjcsIAorICAgIDIxNCwgMjIwLCA3MiwgNjcsIDIwNiwgMjU1LCAyNDUsIDIzLCAyMjcsIDIxNCwgMjIwLCA3MiwgMjQ1LCAyMywgMjI3LCAKKyAgICAyMTQsIDIyMCwgNzIsIDExOCwgMjQ1LCAyMSwgMjI3LCAyMTQsIDIyMCwgNzIsIDIyOSwgMjA2LCAyNDEsIDIzMiwgMjUxLCAKKyAgICAxNjQsIDEsIDYyLCAyNTEsIDE2NCwgMSwgMjUzLCAxNjQsIDI1MSwgMTY0LCAxLCAyNTIsIDcxLCAyNTEsIDE2NCwgMSwgCisgICAgMjUzLCAxMjMsIDI1MSwgMTY0LCAxLCAyNTIsIDEyMiwgMjUxLCAxNjQsIDEsIDI1MywgMTI0LCAyNTEsIDE2NCwgMSwgMjUyLCAKKyAgICAyNDgsIDI1MSwgMTY0LCAxLCAyNTIsIDI0NCwgMjUxLCAxNjQsIDEsIDc1LCAyNTEsIDE2NCwgMSwgMjQzLCAxMDQsIDI1MSwgCisgICAgMTY0LCAxLCA3NiwgMjUxLCAxNjQsIDEsIDIyMiwgMTUyLCAyNTEsIDE2NCwgMSwgNzQsIDI1MSwgMTY0LCAxLCAyMzMsIAorICAgIDEwMiwgMjUxLCAxNjQsIDEsIDcxLCAyNTEsIDE2NCwgMSwgMjA5LCAxNjIsIDI1MSwgMTY0LCAxLCAyMzEsIDIyNCwgMjUxLCAKKyAgICAxNjQsIDEsIDIwNiwgMTc1LCAyNTEsIDE2NCwgMSwgMjA2LCAxMzcsIDI1MSwgMTY0LCAxLCAyMDYsIDE0NywgMjUxLCAxNjQsIAorICAgIDEsIDI0MCwgMTcwLCAyNTEsIDE2NCwgMSwgMjQwLCAxMzAsIDI1MSwgMTY0LCAxLCAyNDAsIDg1LCAyNTEsIDE2NCwgMSwgCisgICAgMjQ4LCAxNDgsIDI1MSwgMTY0LCAxLCAyMzIsIDE4MiwgMjUxLCAxNjQsIDEsIDIxMiwgMTMxLCAyNTEsIDE2NCwgMSwgMjEyLCAKKyAgICA0MSwgMjUxLCAxNjQsIDEsIDI0NiwgOSwgMjUxLCAxNjQsIDEsIDI0NSwgMTgzLCAyNTEsIDE2NCwgMSwgMjEwLCAyMDMsIAorICAgIDI1MSwgMTY0LCAxLCAyMjEsIDE3NCwgMjUxLCAxNjQsIDEsIDI0MiwgMjgsIDI1MSwgMTY0LCAxLCAyNTAsIDYxLCAyNTEsIAorICAgIDE2NCwgMSwgMjQ5LCAyNTIsIDI1MSwgMTY0LCAxLCAyMjUsIDY0LCAyNTEsIDE2NCwgMSwgMjI0LCAyMzYsIDI1MSwgMTY0LCAKKyAgICAxLCAyMjQsIDIzNywgMjUxLCAxNjQsIDEsIDIyNSwgMTEwLCAyNTEsIDE2NCwgMSwgMjIzLCAxMzQsIDI1MSwgMTY0LCAxLCAKKyAgICAyMjQsIDk4LCAyNTEsIDE2NCwgMSwgMjI3LCAxMTksIDI1MSwgMTY0LCAxLCAyMzgsIDE5OSwgMjUxLCAxNjQsIDEsIDIwNSwgCisgICAgMTY2LCAyNTEsIDE2NCwgMSwgMjA2LCA1MiwgMjUxLCAxNjQsIDEsIDIwOSwgMzksIDI1MSwgMTY0LCAxLCAyMTksIDUxLCAKKyAgICAyNTEsIDE2NCwgMSwgMjMwLCA1OCwgMjUxLCAxNjQsIDEsIDIxNywgODYsIDI1MSwgMTY0LCAxLCAyMDUsIDkzLCAyNTEsIAorICAgIDE2NCwgMSwgMjE1LCAyMTQsIDI1MSwgMTY0LCAxLCAyMDUsIDcyLCAyNTEsIDE2NCwgMSwgMjE1LCA4NywgMjUxLCAxNjQsIAorICAgIDEsIDIxNCwgNjYsIDI1MSwgMTY0LCAxLCAyMzksIDcxLCAyNTEsIDE2NCwgMjUzLCAyOSwgODMsIDIxMSwgMTY5LCAxMTgsIAorICAgIDE3NywgMTMxLCAxMTksIDY3LCAyMjAsIDcxLCA1LCAxMTgsIDE3NywgMTMxLCAxMTksIDY3LCAyMjAsIDcxLCAyMzAsIDg2LCAKKyAgICAxMTgsIDE3NywgMTMxLCAxMTksIDY3LCAyMjAsIDcxLCAyMzAsIDg2LCAxMTksIDY3LCAxMzEsIDExOCwgMTc3LCAyMjAsIAorICAgIDcxLCAyMzAsIDg2LCAxMTgsIDIxOCwgMTQ2LCAxMzEsIDExOSwgMjE4LCAxNDksIDIyMCwgNzEsIDIzMCwgODYsIDExOSwgCisgICAgMjE4LCAxNDksIDEzMSwgMTE4LCAyMTgsIDE0NiwgMjIwLCA3MSwgMjMzLCAyOSwgMjIxLCAyMTAsIDEsIDI1MiwgMTcwLCAKKyAgICAyMzMsIDI5LCAyMjEsIDIxMCwgMSwgMjUwLCA3LCAyMzMsIDI5LCAyMjEsIDIxMCwgMSwgMjQwLCA0NywgMjMzLCAyOSwgCisgICAgMjIxLCAyMTAsIDEsIDI0NiwgMTEwLCAyMzMsIDI5LCAyMjEsIDIxMCwgMSwgMjM5LCA3MSwgMjMzLCAyOSwgMjIxLCAyMTAsIAorICAgIDEsIDIwNywgNTksIDIzMywgMjksIDIyMSwgMjEwLCAxLCAyMDUsIDk2LCAyMzMsIDI5LCAyMjEsIDIxMCwgMSwgMjM5LCAyNywgCisgICAgMjMzLCAyOSwgMjIxLCAyMTAsIDEsIDIxMiwgNzYsIDIzMywgMjksIDIyMSwgMjEwLCAxLCAyMDUsIDIzNSwgMjMzLCAyOSwgCisgICAgMjIxLCAyMTAsIDEsIDIzMiwgMTcsIDIzMywgMjksIDIyMSwgMjEwLCAxLCAyMzAsIDk3LCAyMzMsIDI5LCAyMjEsIDIxMCwgCisgICAgMSwgMjI3LCA5MCwgMjMzLCAyOSwgMjIxLCAyMTAsIDEsIDIyMywgMTczLCAyMzMsIDI5LCAyMjEsIDIxMCwgMSwgMjE3LCAKKyAgICAxNTcsIDIzMywgMjksIDIyMSwgMjEwLCAxLCAyNTEsIDE1NCwgMjMzLCAyOSwgMjIxLCAyMTAsIDEsIDIyMSwgMTc0LCAyMzMsIAorICAgIDI5LCAyMjEsIDIxMCwgMSwgMjE3LCAxODksIDIzMywgMjksIDIyMSwgMjEwLCAxLCAyMTksIDIxOCwgMjMzLCAyOSwgMjIxLCAKKyAgICAyMTAsIDEsIDIxOCwgMjQyLCAyMzMsIDI5LCAyMjEsIDIxMCwgMSwgMjE1LCAxNzEsIDIzMywgMjksIDIyMSwgMjEwLCAxLCAKKyAgICAyMTIsIDE0NSwgMjMzLCAyOSwgMjIxLCAyMTAsIDQzLCAxMDIsIDIzMywgMjksIDIyMSwgMjEwLCA0MywgMTA1LCAyMzMsIAorICAgIDI5LCAyMjEsIDIxMCwgNDMsIDE0MiwgMjMzLCAyOSwgMjIxLCAyMTAsIDQzLCAxMzksIDIzMywgMjksIDIyMSwgMjEwLCA0MywgCisgICAgMjEyLCA5OCwgMjMzLCAyOSwgMjIxLCAyMTAsIDQzLCAyMTAsIDEyMywgMjMzLCAyOSwgMjIxLCAyMTAsIDQzLCAxMTksIAorICAgIDIzOCwgMjksIDIzMywgMjksIDIyMSwgMjEwLCA0MywgMTE5LCAyMTEsIDI0MiwgMjMzLCAyOSwgMjIyLCAzMywgMSwgMjUyLCAKKyAgICAxNzAsIDIzMywgMjksIDIyMiwgMzMsIDEsIDI1MCwgNywgMjMzLCAyOSwgMjIyLCAzMywgMSwgMjQwLCA0NywgMjMzLCAyOSwgCisgICAgMjIyLCAzMywgMSwgMjQ2LCAxMTAsIDIzMywgMjksIDIyMiwgMzMsIDEsIDIzOSwgNzEsIDIzMywgMjksIDIyMiwgMzMsIDEsIAorICAgIDIwNywgNTgsIDIzMywgMjksIDIyMiwgMzMsIDEsIDIwNSwgOTYsIDIzMywgMjksIDIyMiwgMzMsIDEsIDIzOSwgMjcsIDIzMywgCisgICAgMjksIDIyMiwgMzMsIDEsIDIxMiwgNzYsIDIzMywgMjksIDIyMiwgMzMsIDEsIDIwNSwgMjM1LCAyMzMsIDI5LCAyMjIsIDMzLCAKKyAgICAxLCAyMzIsIDE3LCAyMzMsIDI5LCAyMjIsIDMzLCAxLCAyMzAsIDk3LCAyMzMsIDI5LCAyMjIsIDMzLCAxLCAyMjcsIDg5LCAKKyAgICAyMzMsIDI5LCAyMjIsIDMzLCAxLCAyMjMsIDE3MywgMjMzLCAyOSwgMjIyLCAzMywgMSwgMjE3LCAxNTcsIDIzMywgMjksIAorICAgIDIyMiwgMzMsIDEsIDIyMSwgMTc0LCAyMzMsIDI5LCAyMjIsIDMzLCAxLCAyMTcsIDE4OSwgMjMzLCAyOSwgMjIyLCAzMywgMSwgCisgICAgMjE1LCAxNzEsIDIzMywgMjksIDIyMiwgMzMsIDEsIDIxMiwgMTQ1LCAyMzMsIDI5LCAyMjIsIDMzLCA0MywgMTAyLCAyMzMsIAorICAgIDI5LCAyMjIsIDMzLCA0MywgMTA1LCAyMzMsIDI5LCAyMjIsIDMzLCA0MywgMTQyLCAyMzMsIDI5LCAyMjIsIDMzLCA0MywgCisgICAgMTM5LCAyMzMsIDI5LCAyMjIsIDMzLCA0MywgMjEyLCA5OCwgMjMzLCAyOSwgMjIyLCAzMywgNDMsIDIxMCwgMTIzLCAyMzMsIAorICAgIDI5LCAyMjIsIDMzLCA0MywgMTE5LCAyMzgsIDI5LCAyMzMsIDI5LCAyMjIsIDMzLCA0MywgMTE5LCAyMTEsIDI0MiwgMjIwLCAKKyAgICA5NCwgMjIyLCAzMywgMSwgMjUyLCAxNzAsIDIyMCwgOTQsIDIyMiwgMzMsIDEsIDI1MCwgNywgMjIwLCA5NCwgMjIyLCAzMywgCisgICAgMSwgMjQwLCA0NywgMjIwLCA5NCwgMjIyLCAzMywgMSwgMjQ2LCAxMTAsIDIyMCwgOTQsIDIyMiwgMzMsIDEsIDIzOSwgNzEsIAorICAgIDIyMCwgOTQsIDIyMiwgMzMsIDEsIDIwNywgNTgsIDIyMCwgOTQsIDIyMiwgMzMsIDEsIDIwNSwgOTYsIDIyMCwgOTQsIDIyMiwgCisgICAgMzMsIDEsIDIzOSwgMjcsIDIyMCwgOTQsIDIyMiwgMzMsIDEsIDIwNSwgMjM1LCAyMjAsIDk0LCAyMjIsIDMzLCAxLCAyMzIsIAorICAgIDE3LCAyMjAsIDk0LCAyMjIsIDMzLCAxLCAyMzAsIDk3LCAyMjAsIDk0LCAyMjIsIDMzLCAxLCAyMjcsIDg5LCAyMjAsIDk0LCAKKyAgICAyMjIsIDMzLCAxLCAyMjMsIDE3MywgMjIwLCA5NCwgMjIyLCAzMywgMSwgMjE3LCAxNTcsIDIyMCwgOTQsIDIyMiwgMzMsIDEsIAorICAgIDIyMSwgMTc0LCAyMjAsIDk0LCAyMjIsIDMzLCAxLCAyMTcsIDE4OSwgMjIwLCA5NCwgMjIyLCAzMywgMSwgMjE1LCAxNzEsIAorICAgIDIyMCwgOTQsIDIyMiwgMzMsIDEsIDIxMiwgMTQ1LCAyMjAsIDk0LCAyMjIsIDMzLCAyMTcsIDc3LCA4MywgMjIwLCA5NCwgCisgICAgMjIyLCAzMywgMjAxLCAyMTcsIDc3LCA4MywgMjIwLCA5NCwgMjIyLCAzMywgMjQxLCAxMjUsIDE3NywgMiwgMjQ3LCA1OSwgCisgICAgMjIwLCA5NCwgMjIyLCAzMywgMjQxLCAxMjUsIDE3NywgMiwgMjQ1LCAyMywgMjIwLCA5NCwgMjIyLCAzMywgNDMsIDEwMiwgCisgICAgMjIwLCA5NCwgMjIyLCAzMywgNDMsIDEwNSwgMjIwLCA5NCwgMjIyLCAzMywgNDMsIDE0MiwgMjIwLCA5NCwgMjIyLCAzMywgCisgICAgNDMsIDEzOSwgMjIwLCA5NCwgMjIyLCAzMywgNDMsIDIxMiwgOTgsIDIyMCwgOTQsIDIyMiwgMzMsIDQzLCAyMTAsIDEyMywgCisgICAgMjIwLCA5NCwgMjIyLCAzMywgNDMsIDExOSwgMjM4LCAyOSwgNDQsIDIxMCwgMTQ3LCAxLCAyMjIsIDExMywgNjIsIDQ0LCAKKyAgICAyMTAsIDE0NywgMSwgMjA2LCA0MCwgNjIsIDQ0LCAyMTAsIDE0NywgMSwgMjA2LCA0MCwgMjUyLCAyNDgsIDQ0LCAyMTAsIAorICAgIDE0NywgMSwgMjIyLCAxMTMsIDc0LCA0NCwgMjEwLCAxNDcsIDEsIDIwNiwgNDAsIDc0LCA0NCwgMjEwLCAxNDcsIDEsIDIwNiwgCisgICAgNDAsIDc1LCA0NCwgMjEwLCAxNDcsIDEsIDIyMiwgMTEzLCA3NiwgNDQsIDIxMCwgMTQ3LCAxLCAyMjIsIDExMywgMjIyLCAKKyAgICAyMDYsIDQ0LCAyMTAsIDE0NywgMSwgMjA2LCA0MCwgMjIyLCAyMDYsIDQ0LCAyMTAsIDE0NywgMSwgMjIyLCAxMTMsIDI1MywgCisgICAgMTE1LCA0NCwgMjEwLCAxNDcsIDEsIDIwNiwgNDAsIDI1MywgMTE1LCA0NCwgMjEwLCAxNDcsIDEsIDIyMiwgMTEzLCAyNTIsIAorICAgIDI0NywgNDQsIDIxMCwgMTQ3LCAxLCAyMDYsIDQwLCAyNTIsIDI0NywgNDQsIDIxMCwgMTQ3LCAxLCAyMjIsIDExMywgMjUyLCAKKyAgICAyMjAsIDQ0LCAyMTAsIDE0NywgMSwgMjA2LCA0MCwgMjUyLCAyMjAsIDQ0LCAyMTAsIDE0NywgMSwgMjIyLCAxMTMsIDI1MiwgCisgICAgMjQyLCA0NCwgMjEwLCAxNDcsIDEsIDIwNiwgNDAsIDI1MiwgMjQyLCA0NCwgMjEwLCAxNDcsIDEsIDIyMiwgMTEzLCAyNTMsIAorICAgIDUsIDQ0LCAyMTAsIDE0NywgMSwgMjA2LCA0MCwgMjUzLCA1LCA0NCwgMjEwLCAxNDcsIDEsIDIyMiwgMTEzLCAyNTIsIDI0NiwgCisgICAgNDQsIDIxMCwgMTQ3LCAxLCAyMjIsIDExMywgMjQyLCAxNDUsIDQ0LCAyMTAsIDE0NywgMSwgMjA2LCA0MCwgMjQyLCAxNDUsIAorICAgIDQ0LCAyMTAsIDE0NywgMSwgMjIyLCAxMTMsIDI1MSwgMTU5LCA0NCwgMjEwLCAxNDcsIDEsIDIwNiwgNDAsIDI1MSwgMTU5LCAKKyAgICA0NCwgMjEwLCAxNDcsIDEsIDIyMiwgMTEzLCAyNTIsIDIyOSwgNDQsIDIxMCwgMTQ3LCAxLCAyMDYsIDQwLCAyNTIsIDIyOSwgCisgICAgNDQsIDIxMCwgMTQ3LCAxLCAyMjIsIDExMywgMjUyLCAyNDAsIDQ0LCAyMTAsIDE0NywgMSwgMjA2LCA0MCwgMjUyLCAyNDAsIAorICAgIDQ0LCAyMTAsIDE0NywgMSwgMjIyLCAxMTMsIDIyMiwgMjA1LCA0NCwgMjEwLCAxNDcsIDEsIDIwNiwgNDAsIDIyMiwgMjA1LCAKKyAgICA0NCwgMjEwLCAxNDcsIDEsIDIyMiwgMTEzLCAyNTIsIDE4MSwgNDQsIDIxMCwgMTQ3LCAxLCAyMDYsIDQwLCAyNTIsIDE4MSwgCisgICAgNDQsIDIxMCwgMTQ3LCAxLCAyMjIsIDExMywgMjUyLCAyMzksIDQ0LCAyMTAsIDE0NywgMSwgMjIyLCAxMTMsIDI0MywgNTIsIAorICAgIDQ0LCAyMTAsIDE0NywgMSwgMjIyLCAxMTMsIDI0MywgNTAsIDQ0LCAyMTAsIDE0NywgMSwgMjIyLCAxMTMsIDI1MiwgMTIyLCAKKyAgICA0NCwgMjEwLCAxNDcsIDEsIDIyMiwgMTEzLCAyNTIsIDIzNywgNDQsIDIxMCwgMTQ3LCAxLCAyMDYsIDQwLCAyNTIsIDIzNywgCisgICAgNDQsIDIxMCwgMTQ3LCAxLCAyMjIsIDExMywgMjQzLCAyMCwgNDQsIDIxMCwgMTQ3LCAxLCAyMDYsIDQwLCAyNDMsIDIwLCAKKyAgICA0NCwgMjEwLCAxNDcsIDEsIDIyMiwgMTEzLCAyNDMsIDM4LCA0NCwgMjEwLCAxNDcsIDEsIDIwNiwgNDAsIDI0MywgMzgsIAorICAgIDQ0LCAyMTAsIDE0NywgMSwgMjIyLCAxMTMsIDI0MywgNywgNDQsIDIxMCwgMTQ3LCAxLCAyMDYsIDQwLCAyNDMsIDcsIDQ0LCAKKyAgICAyMTAsIDE0NywgMSwgMjA2LCA0MCwgMjUyLCAxMTQsIDQ0LCAyMTAsIDE0NywgMSwgMjIyLCAxMTMsIDI0MywgMjgsIDQ0LCAKKyAgICAyMTAsIDE0NywgMSwgMjA2LCA0MCwgMjUyLCAyMzYsIDQ0LCAyMTAsIDE0NywgMSwgMjIyLCAxMTMsIDI0MiwgMjUzLCA0NCwgCisgICAgMjEwLCAxNDcsIDEsIDIyMiwgMTEzLCAyMjIsIDE0MywgNDQsIDIxMCwgMTQ3LCAxLCAyMjIsIDExMywgMjM3LCAxODMsIDQ0LCAKKyAgICAyMTAsIDE0NywgMSwgMjIyLCAxMTMsIDI0MywgMTEwLCA0NCwgMjEwLCAxNDcsIDEsIDIwNiwgNDAsIDI0MywgMTEwLCA0NCwgCisgICAgMjEwLCAxNDcsIDEsIDIyMiwgMTEzLCAyNTIsIDQxLCA0NCwgMjEwLCAxNDcsIDEsIDIwNiwgNDAsIDI1MiwgNDEsIDQ0LCAKKyAgICAyMTAsIDE0NywgMSwgMjIyLCAxMTMsIDIzMiwgMjQ1LCA0NCwgMjEwLCAxNDcsIDEsIDIwNiwgNDAsIDIzMiwgMjQ1LCA0NCwgCisgICAgMjEwLCAxNDcsIDEsIDIyMiwgMTEzLCAyMjIsIDEyNCwgNDQsIDIxMCwgMTQ3LCAxLCAyMDYsIDQwLCAyMjIsIDEyNCwgNDQsIAorICAgIDIxMCwgMTQ3LCAxLCAyMjIsIDExMywgMjUyLCAzNywgNDQsIDIxMCwgMTQ3LCAxLCAyMDYsIDQwLCAyNTIsIDM3LCA0NCwgCisgICAgMjEwLCAxNDcsIDEsIDIyMiwgMTEzLCAyNTIsIDIzNSwgNDQsIDIxMCwgMTQ3LCAxLCAyMjIsIDExMywgMjUxLCAyMzEsIDQ0LCAKKyAgICAyMTAsIDE0NywgMSwgMjIyLCAxMTMsIDI1MiwgMjMzLCA0NCwgMjEwLCAxNDcsIDEsIDIyMiwgMTEzLCAyNTEsIDIyNSwgNDQsIAorICAgIDIxMCwgMTQ3LCAxLCAyMDYsIDQwLCAyNTEsIDIyNSwgNDQsIDIxMCwgMTQ3LCAxLCAyMjIsIDExMywgMjQyLCAyMTUsIDQ0LCAKKyAgICAyMTAsIDE0NywgMSwgMjA2LCA0MCwgMjQyLCAyMTUsIDQ0LCAyMTAsIDE0NywgMSwgMjIyLCAxMTMsIDI1MSwgMTk5LCA0NCwgCisgICAgMjEwLCAxNDcsIDEsIDIwNiwgNDAsIDI1MSwgMTk5LCA0NCwgMjEwLCAxNDcsIDEsIDIyMiwgMTEzLCAyNTIsIDIzMCwgNDQsIAorICAgIDIxMCwgMTQ3LCAxLCAyMDYsIDQwLCAyNTIsIDIzMCwgNDQsIDIxMCwgMTQ3LCAxLCAyMjIsIDExMywgMjIyLCAxMDMsIDQ0LCAKKyAgICAyMTAsIDE0NywgMSwgMjIyLCAxMTMsIDI1MCwgMTEzLCAyMTgsIDM2LCAxOCwgMTAyLCAyMTgsIDM2LCAxOCwgMTA1LCAyMTgsIAorICAgIDM2LCAxOCwgMTQyLCAyMTgsIDM2LCAxOCwgMTM5LCAyMTgsIDM2LCAxOCwgMTY4LCAyMTgsIDM2LCAxOCwgMTg0LCAyMTgsIAorICAgIDM2LCAxOCwgMTk1LCAyMTgsIDM2LCAxOCwgMTkzLCAyMTgsIDM2LCAxOCwgMjAwLCAyMTgsIDM2LCA0MywgMjEyLCA5OCwgCisgICAgMjE4LCAzNiwgNDMsIDIxMCwgMTIzLCAyMTgsIDM2LCA0MywgMjEyLCAzLCAyMTgsIDM2LCA0MywgMjQxLCAxMzAsIDIxOCwgCisgICAgMzYsIDQzLCAyNDEsIDI0MywgMjE4LCAzNiwgNDMsIDIxNCwgMjUyLCAyMTgsIDM2LCA0MywgMjE2LCAxNywgMjE4LCAzNiwgCisgICAgNDMsIDI0MywgNzksIDIxOCwgMzYsIDQzLCAyMjQsIDE5MCwgMjE4LCAzNiwgNDMsIDExOSwgMjM4LCAyOSwgMjE4LCAzNiwgCisgICAgNDMsIDExOCwgMjM4LCAyOSwgMjE4LCAzNiwgNDMsIDEyOSwgMjM4LCAyOSwgMjE4LCAzNiwgNDMsIDI0MSwgMTI1LCAyMzgsIAorICAgIDI5LCAyMTgsIDM2LCA0MywgMjQxLCAyMDQsIDIzOCwgMjksIDIxOCwgMzYsIDQzLCAyMTUsIDEwLCAyMzgsIDI5LCAyMTgsIAorICAgIDM2LCA0MywgMjE2LCAyMywgMjM4LCAyOSwgMjE4LCAzNiwgNDMsIDI0MywgODgsIDIzOCwgMjksIDIxOCwgMzYsIDQzLCAKKyAgICAyMjQsIDE5NSwgMjM4LCAyOSwgMjE4LCAzNiwgMjQxLCAxMTYsIDExOSwgMjM5LCAxMjEsIDIxOCwgMzYsIDI0MSwgMTE2LCAKKyAgICAxMTksIDIxOSwgMjA0LCAyMTgsIDM2LCAyNDEsIDExNiwgMTE5LCAyMTIsIDEwLCAyMTgsIDM2LCAyNDEsIDExNiwgMTE4LCAKKyAgICAyMTIsIDcsIDEzNiwgMywgMjQ4LCAyMTcsIDEzNiwgMywgMjUyLCA3MywgMTM2LCAzLCAyMDgsIDE4MywgMTM2LCAzLCAyMzIsIAorICAgIDE1NiwgMTM2LCAzLCAyMDksIDIwNCwgMTM2LCAxLCA2MiwgMTM2LCAxLCAyNTMsIDE2NCwgMTM2LCAxLCA3NCwgMTM2LCAxLCAKKyAgICAyMzMsIDEwMiwgMTM2LCAxLCA3MSwgMTM2LCAxLCAyMDksIDE2MiwgMTM2LCAxLCAxMTUsIDEzNywgMTM2LCAxLCAxMTUsIAorICAgIDIxOCwgOTAsIDEzNiwgMSwgMTE1LCAxNDksIDEzNiwgMSwgMTE1LCAyMjksIDE3MywgMTM2LCAxLCA3NSwgMTM2LCAxLCAKKyAgICAyNTIsIDIwNSwgMTM2LCAxLCA3NiwgMTM2LCAxLCAyNTEsIDE4NCwgMTM2LCAxLCAxNzIsIDEzNiwgMSwgMjMxLCAxNjcsIAorICAgIDEzNiwgMSwgMjQwLCAyNDQsIDEzNiwgMSwgMjQwLCA5OSwgMTM2LCAxLCAyMjUsIDc3LCAxMzYsIDEsIDI0OSwgMSwgMTM2LCAKKyAgICAxLCAyNDgsIDExMCwgMTM2LCAxLCAyMzIsIDIwMCwgMTM2LCAxLCAyMzIsIDE3MCwgMTM2LCAxLCAyMjMsIDE0NCwgMTM2LCAKKyAgICAxLCAyMTAsIDIwOCwgMTM2LCAxLCAyMTAsIDE5NiwgMTM2LCAxLCAyNDYsIDU0LCAxMzYsIDEsIDI0NiwgMzgsIDEzNiwgMSwgCisgICAgMjI0LCAxMDMsIDEzNiwgMSwgMjEyLCAyMTksIDEzNiwgMSwgMjEyLCA1NiwgMTM2LCAxLCAyNDYsIDE0NSwgMTM2LCAxLCAKKyAgICAyNDUsIDE5MiwgMTM2LCAxLCAxOTksIDEzNiwgMSwgMTc5LCAxMzYsIDEsIDIyMSwgOTMsIDEzNiwgMSwgMjUwLCAxODMsIAorICAgIDEzNiwgMSwgMjUwLCAwLCAxMzYsIDEsIDE4NSwgMTM2LCAxLCAxOTAsIDEzNiwgMSwgMjE5LCAxMTMsIDEzNiwgMSwgMjMwLCAKKyAgICAxNDEsIDEzNiwgMSwgMjA5LCA3MCwgMTM2LCAxLCAyMTYsIDIsIDEzNiwgMSwgMjE0LCA5NiwgMTM2LCAxLCAyMTcsIDE5OSwgCisgICAgMTM2LCAxLCAxNTUsIDEzNiwgMSwgMjI5LCAxNzIsIDEzNiwgMSwgNDQsIDQwLCAyMjksIDE2MywgMTM2LCAxLCA0NCwgNDAsIAorICAgIDIxOCwgODksIDEzNiwgMSwgNDQsIDQwLCAyMjQsIDg1LCAxMzYsIDIyLCAzLCAyNTMsIDE2NCwgMTM2LCAyMiwgMywgMjQ5LCAKKyAgICAyNTMsIDI1MywgMTY0LCAxMzYsIDIyLCAzLCA3NCwgMTM2LCAyMiwgMywgMjMzLCAxMDIsIDEzNiwgMjIsIDMsIDcxLCAxMzYsIAorICAgIDIyLCAzLCAyMDksIDE2MiwgMTM2LCAyMiwgMywgMTE1LCAxMzcsIDEzNiwgMjIsIDMsIDExNSwgMjE4LCA5MCwgMTM2LCAyMiwgCisgICAgMywgMTE1LCAxNDksIDEzNiwgMjIsIDMsIDExNSwgMjI5LCAxNzMsIDEzNiwgMjIsIDMsIDc1LCAxMzYsIDIyLCAzLCAyNTIsIAorICAgIDIwNSwgMTM2LCAyMiwgMywgNzYsIDEzNiwgMjIsIDMsIDI1MSwgMTg0LCAxMzYsIDIwOCwgMTg4LCAxMzYsIDI0NiwgMTAwLCAKKyAgICAxMzYsIDUwLCAyNDYsIDEwMCwgMTM2LCAyMjAsIDcyLCAyNDUsIDIzLCAxMzYsIDIyMCwgNzIsIDUwLCAyNDUsIDIzLCAxMzYsIAorICAgIDIyMCwgNzIsIDIyOSwgMjA1LCAxMzYsIDIyMCwgNzIsIDI0NywgNjYsIDEzNCwgMTM2LCAyMjAsIDcyLCAyMjksIDEwMiwgCisgICAgMTM2LCA0MywgMTAyLCAxMzYsIDQzLCAxMDUsIDEzNiwgNDMsIDE0MiwgMTM2LCA0MywgMTM5LCAxMzYsIDQzLCAxNjgsIAorICAgIDEzNiwgNDMsIDE4NCwgMTM2LCA0MywgMTk1LCAxMzYsIDQzLCAxOTMsIDEzNiwgNDMsIDIwMCwgMTM2LCA0MywgMjEyLCA5OCwgCisgICAgMTM2LCA0MywgMjEwLCAxMjMsIDEzNiwgNDMsIDIxMiwgMywgMTM2LCA0MywgMjQxLCAxMzAsIDEzNiwgNDMsIDI0MSwgMjQzLCAKKyAgICAxMzYsIDQzLCAyMTQsIDI1MiwgMTM2LCA0MywgMjE2LCAxNywgMTM2LCA0MywgMjQzLCA3OSwgMTM2LCA0MywgMjI0LCAxOTAsIAorICAgIDEzNiwgNDMsIDExOSwgMjM4LCAyOSwgMTM2LCA0MywgMTE5LCAyMTEsIDI0MiwgMTM2LCAxOCwgMjA1LCA4NSwgMTM2LCAxOCwgCisgICAgMTAyLCAxMzYsIDE4LCAxMDUsIDEzNiwgMTgsIDE0MiwgMTM2LCAxOCwgMTM5LCAxMzYsIDE4LCAxNjgsIDEzNiwgMTgsIAorICAgIDE4NCwgMTM2LCAxOCwgMTk1LCAxMzYsIDE4LCAxOTMsIDEzNiwgMTgsIDIwMCwgMTM2LCA0MywgMjMyLCAxMTcsIDIzMiwgCisgICAgMzgsIDMsIDI0OCwgMjE3LCAyMzIsIDM4LCAzLCAyNTIsIDczLCAyMzIsIDM4LCAzLCAyMDgsIDE4MywgMjMyLCAzOCwgMSwgCisgICAgNjIsIDIzMiwgMzgsIDEsIDI1MywgMTY0LCAyMzIsIDM4LCAxLCA3NCwgMjMyLCAzOCwgMSwgMjMzLCAxMDIsIDIzMiwgMzgsIAorICAgIDEsIDcxLCAyMzIsIDM4LCAxLCAyMDksIDE2MiwgMjMyLCAzOCwgMSwgNzUsIDIzMiwgMzgsIDEsIDI1MiwgMjA1LCAyMzIsIAorICAgIDM4LCAxLCA3NiwgMjMyLCAzOCwgMSwgMjUxLCAxODQsIDIzMiwgMzgsIDEsIDE3MiwgMjMyLCAzOCwgMSwgMjMxLCAxNjcsIAorICAgIDIzMiwgMzgsIDEsIDI0MCwgMjQ0LCAyMzIsIDM4LCAxLCAyNDAsIDk5LCAyMzIsIDM4LCAxLCAyMjUsIDc3LCAyMzIsIDM4LCAKKyAgICAxLCAyNDksIDEsIDIzMiwgMzgsIDEsIDI0OCwgMTEwLCAyMzIsIDM4LCAxLCAyMzIsIDIwMCwgMjMyLCAzOCwgMSwgMjMyLCAKKyAgICAxNzAsIDIzMiwgMzgsIDEsIDIyMywgMTQ0LCAyMzIsIDM4LCAxLCAyMTAsIDIwOCwgMjMyLCAzOCwgMSwgMjEwLCAxOTYsIAorICAgIDIzMiwgMzgsIDEsIDI0NiwgNTQsIDIzMiwgMzgsIDEsIDI0NiwgNDMsIDIzMiwgMzgsIDEsIDI0NiwgMzgsIDIzMiwgMzgsIAorICAgIDEsIDIxOCwgMjEyLCAyMzIsIDM4LCAxLCAyMjQsIDEwMywgMjMyLCAzOCwgMSwgMjEyLCAyMTksIDIzMiwgMzgsIDEsIDIxMiwgCisgICAgNTYsIDIzMiwgMzgsIDEsIDI0NiwgMTQ1LCAyMzIsIDM4LCAxLCAyNDUsIDE5MiwgMjMyLCAzOCwgMSwgMTk5LCAyMzIsIDM4LCAKKyAgICAxLCAxNzksIDIzMiwgMzgsIDEsIDIyMSwgOTMsIDIzMiwgMzgsIDEsIDI1MCwgMTgzLCAyMzIsIDM4LCAxLCAyNTAsIDAsIAorICAgIDIzMiwgMzgsIDEsIDE4NSwgMjMyLCAzOCwgMSwgMTkwLCAyMzIsIDM4LCAxLCAyMTksIDExMywgMjMyLCAzOCwgMSwgMjMwLCAKKyAgICAxNDEsIDIzMiwgMzgsIDEsIDIwOSwgNzAsIDIzMiwgMzgsIDEsIDIxNiwgMiwgMjMyLCAzOCwgMSwgMjE0LCA5NiwgMjMyLCAKKyAgICAzOCwgMSwgMjE3LCAxOTksIDIzMiwgMzgsIDEsIDE1NSwgMjMyLCAzOCwgMjIsIDMsIDI1MywgMTY0LCAyMzIsIDM4LCAyMiwgCisgICAgMywgNzQsIDIzMiwgMzgsIDIyLCAzLCAyMzMsIDEwMiwgMjMyLCAzOCwgMjIsIDMsIDcxLCAyMzIsIDM4LCAyMiwgMywgMjA5LCAKKyAgICAxNjIsIDIzMiwgMzgsIDIyLCAzLCA3NSwgMjMyLCAzOCwgMjIsIDMsIDI1MiwgMjA1LCAyMzIsIDM4LCAyMiwgMywgNzYsIAorICAgIDIzMiwgMzgsIDIyLCAzLCAyNTEsIDE4NCwgMjMyLCAzOCwgMywgMjA4LCAxODgsIDIzMiwgMzgsIDMsIDIyMywgMTg0LCAKKyAgICAyMzIsIDM4LCAyNTMsIDI5LCA1MywgMjMyLCAzOCwgMjQzLCAxMCwgNTMsIDIzMiwgMzgsIDQzLCA1MywgMjMyLCAzOCwgCisgICAgMjE3LCA3NywgODMsIDIzMiwgMzgsIDUwLCAyMTcsIDc3LCA4MywgMjMyLCAzOCwgMjQ2LCAxMDAsIDIzMiwgMzgsIDUwLCAKKyAgICAyNDYsIDEwMCwgMjE0LCAxNzAsIDIxNCwgMTc4LCAxLCAyMTcsIDE4MiwgMjE0LCAxNzAsIDIxNCwgMTc4LCAxLCAyMTIsIAorICAgIDE5NCwgMjE0LCAxNzAsIDIxNCwgMTc4LCAxLCAyNTAsIDE1OCwgMjE0LCAxNzAsIDIxNCwgMTc4LCAxLCAyNDgsIDI0NiwgCisgICAgMjE0LCAxNzAsIDIxNCwgMTc4LCAxLCAyNDYsIDEyNiwgMjE0LCAxNzAsIDIxNCwgMTc4LCAxLCAyNDAsIDIyOSwgMjE0LCAKKyAgICAxNzAsIDIxNCwgMTc4LCAxLCAyMjcsIDI0NywgMjE0LCAxNzAsIDIxNCwgMTc4LCAxLCAyMjUsIDc0LCAyMTQsIDE3MCwgCisgICAgMjE0LCAxNzgsIDEsIDIzMCwgMTE3LCAyMTQsIDE3MCwgMjE0LCAxNzgsIDEsIDIyNSwgMjE5LCAyMTQsIDE3MCwgMjE0LCAKKyAgICAxNzgsIDEsIDIwOSwgNjYsIDIxNCwgMTcwLCAyMTQsIDE3OCwgMSwgMjIyLCAzNCwgMjE0LCAxNzAsIDIxNCwgMTc4LCAxLCAKKyAgICAyMDYsIDkwLCAyMTQsIDE3MCwgMjE0LCAxNzgsIDEsIDIxOSwgOTIsIDIxNCwgMTcwLCAyMTQsIDE3OCwgMSwgMjM5LCAxMzIsIAorICAgIDIxNCwgMTcwLCAyMTQsIDE3OCwgMSwgMjMyLCA0MywgMjE0LCAxNzAsIDIxNCwgMTc4LCAxLCAyMzIsIDE5NCwgMjE0LCAKKyAgICAxNzAsIDIxNCwgMTc4LCAxLCAyMjMsIDE0MSwgMjE0LCAxNzAsIDIxNCwgMTc4LCAxLCAyNTIsIDIxMywgMjE0LCAxNzAsIAorICAgIDIxNCwgMTc4LCAxLCAyNDMsIDEwMiwgMjE0LCAxNzAsIDIxNCwgMTc4LCAxLCAyMzMsIDEwMywgMjE0LCAxNzAsIDIxNCwgCisgICAgMTc4LCAxLCAyMDksIDI1MywgMjE0LCAxNzAsIDIxNCwgMTc4LCAxLCAyMjIsIDE5NCwgMjE0LCAxNzAsIDIxNCwgMTc4LCAxLCAKKyAgICAyNDMsIDkyLCAyMTQsIDE3MCwgMjE0LCAxNzgsIDEsIDIyOCwgNCwgMjE0LCAxNzAsIDIxNCwgMTc4LCAxOCwgMjA1LCA4NSwgCisgICAgMjE0LCAxNzAsIDIxNCwgMTc4LCAxOCwgMTAyLCAyMTQsIDE3MCwgMjE0LCAxNzgsIDE4LCAxMDUsIDIxNCwgMTcwLCAyMTQsIAorICAgIDE3OCwgMTgsIDE0MiwgMjE0LCAxNzAsIDIxNCwgMTc4LCAxOCwgMTM5LCAyMTQsIDE3MCwgMjE0LCAxNzgsIDE4LCAxNjgsIAorICAgIDIxNCwgMTcwLCAyMTQsIDE3OCwgMTgsIDE4NCwgMjE0LCAxNzAsIDIxNCwgMTc4LCAxOCwgMTk1LCAyMTQsIDE3MCwgMjE0LCAKKyAgICAxNzgsIDE4LCAxOTMsIDIxNCwgMTcwLCAyMTQsIDE3OCwgMTgsIDIwMCwgMjQ4LCAxMDQsIDMsIDI0OCwgMjE3LCAyNDgsIAorICAgIDEwNCwgMywgMjUyLCA3MywgMjQ4LCAxMDQsIDMsIDIwOCwgMTgzLCAyNDgsIDEwNCwgMSwgMjUzLCAxNjQsIDI0OCwgMTA0LCAKKyAgICAxLCA3NCwgMjQ4LCAxMDQsIDEsIDcxLCAyNDgsIDEwNCwgMSwgNzUsIDI0OCwgMTA0LCAxLCAyMzIsIDYzLCAyNDgsIDEwNCwgCisgICAgMSwgMjMxLCAxNjYsIDI0OCwgMTA0LCAxLCAyNDAsIDI0MSwgMjQ4LCAxMDQsIDEsIDI0MCwgOTgsIDI0OCwgMTA0LCAxLCAKKyAgICAyMjUsIDc2LCAyNDgsIDEwNCwgMSwgMjQ5LCAwLCAyNDgsIDEwNCwgMSwgMjQ4LCAxMDksIDI0OCwgMTA0LCAxLCAyMzIsIAorICAgIDE5OSwgMjQ4LCAxMDQsIDEsIDIzMiwgMTY5LCAyNDgsIDEwNCwgMSwgMjIzLCAxNDMsIDI0OCwgMTA0LCAxLCAyMTAsIDIwNywgCisgICAgMjQ4LCAxMDQsIDEsIDIxMCwgMTk1LCAyNDgsIDEwNCwgMSwgMjQ2LCA1MywgMjQ4LCAxMDQsIDEsIDI0NiwgMzcsIDI0OCwgCisgICAgMTA0LCAxLCAyMjQsIDEwMiwgMjQ4LCAxMDQsIDEsIDIxMiwgMjE1LCAyNDgsIDEwNCwgMSwgMjEyLCA1NSwgMjQ4LCAxMDQsIAorICAgIDEsIDI0NiwgMTQ0LCAyNDgsIDEwNCwgMSwgMjQ1LCAxOTEsIDI0OCwgMTA0LCAxLCAyMjUsIDIzMiwgMjQ4LCAxMDQsIDEsIAorICAgIDIyMiwgNTEsIDI0OCwgMTA0LCAxLCAyMjEsIDkyLCAyNDgsIDEwNCwgMSwgMjUwLCAxODEsIDI0OCwgMTA0LCAxLCAyNDksIAorICAgIDI1NSwgMjQ4LCAxMDQsIDEsIDIyOCwgMTgsIDI0OCwgMTA0LCAxLCAyMDUsIDE2NywgMjQ4LCAxMDQsIDEsIDIwNiwgMTA5LCAKKyAgICAyNDgsIDEwNCwgMSwgMjE5LCAxMDksIDI0OCwgMTA0LCAxLCAyMzAsIDE0MCwgMjQ4LCAxMDQsIDEsIDIwNywgOTUsIDI0OCwgCisgICAgMTA0LCAxLCAyMTcsIDE5NiwgMjQ4LCAxMDQsIDEsIDIzOSwgMTQxLCAyNDgsIDEwNCwgMjIsIDMsIDYyLCAyNDgsIDEwNCwgCisgICAgMjIsIDMsIDc0LCAyNDgsIDEwNCwgMjIsIDMsIDIzMywgMTAyLCAyNDgsIDEwNCwgMjIsIDMsIDcxLCAyNDgsIDEwNCwgMjIsIAorICAgIDMsIDIwOSwgMTYyLCAyNDgsIDEwNCwgMjIsIDMsIDc1LCAyNDgsIDEwNCwgMjIsIDMsIDI1MiwgMjA1LCAyNDgsIDEwNCwgCisgICAgMjIsIDMsIDc2LCAyNDgsIDEwNCwgMjIsIDMsIDI1MSwgMTg0LCAyNDgsIDEwNCwgMjIsIDMsIDIyMiwgMTkxLCAyNDgsIAorICAgIDEwNCwgMTQ4LCA4MywgMjQ4LCAxMDQsIDI1MSwgMTg1LCA4MywgMjQ4LCAxMDQsIDIwOCwgMTg4LCAyNDgsIDEwNCwgMjI4LCAKKyAgICAxNiwgMjQ4LCAxMDQsIDE4LCAyMDUsIDg1LCAyNDgsIDEwNCwgMTgsIDEwMiwgMjQ4LCAxMDQsIDE4LCAxMDUsIDI0OCwgCisgICAgMTA0LCAxOCwgMTQyLCAyNDgsIDEwNCwgMTgsIDEzOSwgMjQ4LCAxMDQsIDE4LCAxNjgsIDI0OCwgMTA0LCAxOCwgMTg0LCAKKyAgICAyNDgsIDEwNCwgMTgsIDE5NSwgMjQ4LCAxMDQsIDE4LCAxOTMsIDI0OCwgMTA0LCAxOCwgMjAwLCAyNDgsIDEwNCwgMjE3LCAKKyAgICA3NywgODMsIDI0OCwgMTA0LCAyNDYsIDEwMCwgMjQ4LCAxMDQsIDUwLCAyNDYsIDEwMCwgMjQ4LCAxMDQsIDIxOSwgMTk2LCAKKyAgICA4MywgMjI3LCAyNDUsIDEsIDYyLCAyMjcsIDI0NSwgMSwgNzQsIDIyNywgMjQ1LCAxLCA3MSwgMjI3LCAyNDUsIDEsIDc1LCAKKyAgICAyMjcsIDI0NSwgMSwgNzYsIDIyNywgMjQ1LCAxLCAxNzIsIDIyNywgMjQ1LCAxLCAyMzEsIDE2NywgMjI3LCAyNDUsIDEsIAorICAgIDI0MCwgMjQ0LCAyMjcsIDI0NSwgMSwgMjQwLCA5OSwgMjI3LCAyNDUsIDEsIDI0OSwgMSwgMjI3LCAyNDUsIDEsIDI0OCwgCisgICAgMTEwLCAyMjcsIDI0NSwgMSwgMjMyLCAyMDAsIDIyNywgMjQ1LCAxLCAyMzIsIDE3MCwgMjI3LCAyNDUsIDEsIDIyMywgMTQ0LCAKKyAgICAyMjcsIDI0NSwgMSwgMjEwLCAyMDgsIDIyNywgMjQ1LCAxLCAyMTAsIDE5NiwgMjI3LCAyNDUsIDEsIDI0NiwgNTQsIDIyNywgCisgICAgMjQ1LCAxLCAyNDYsIDM4LCAyMjcsIDI0NSwgMSwgMjI0LCAxMDMsIDIyNywgMjQ1LCAxLCAyMTIsIDIxOSwgMjI3LCAyNDUsIAorICAgIDEsIDIxMiwgNTYsIDIyNywgMjQ1LCAxLCAyNDYsIDE0NSwgMjI3LCAyNDUsIDEsIDI0NSwgMTkyLCAyMjcsIDI0NSwgMSwgCisgICAgMTk5LCAyMjcsIDI0NSwgMSwgMTc5LCAyMjcsIDI0NSwgMSwgMjIxLCA5MywgMjI3LCAyNDUsIDEsIDI1MCwgMTgzLCAyMjcsIAorICAgIDI0NSwgMSwgMjUwLCAwLCAyMjcsIDI0NSwgMSwgMTg1LCAyMjcsIDI0NSwgMSwgMjE5LCAxMTMsIDIyNywgMjQ1LCAxLCAKKyAgICAyMzAsIDE0MSwgMjI3LCAyNDUsIDEsIDIwOSwgNzAsIDIyNywgMjQ1LCAxLCAyMTcsIDE5OSwgMjI3LCAyNDUsIDEsIDE1NSwgCisgICAgMjI3LCAyNDUsIDEsIDIxOCwgODksIDIyNywgMjQ1LCAzLCAyMjMsIDE4NCwgMjI3LCAyNDUsIDI1MywgMjksIDUzLCAyMjcsIAorICAgIDI0NSwgMjE3LCA3NywgODMsIDIyNywgMjQ1LCAyOCwgMjE1LCAxMjMsIDE5NiwgMywgMjQ4LCAyMTcsIDE5NiwgMywgMjUyLCAKKyAgICA3MywgMTk2LCAzLCAyMDgsIDE4MywgMTk2LCAxLCA2MiwgMTk2LCAxLCAyNTMsIDE2NCwgMTk2LCAxLCA3NCwgMTk2LCAxLCAKKyAgICAyMzMsIDEwMiwgMTk2LCAxLCA3MSwgMTk2LCAxLCAyMDksIDE2MiwgMTk2LCAxLCAxMTUsIDEzNywgMTk2LCAxLCAxMTUsIAorICAgIDIxOCwgOTAsIDE5NiwgMSwgMTE1LCAxNDksIDE5NiwgMSwgMTE1LCAyMjksIDE3MywgMTk2LCAxLCA3NSwgMTk2LCAxLCAKKyAgICAyNTIsIDIwNSwgMTk2LCAxLCA3NiwgMTk2LCAxLCAyNTEsIDE4NCwgMTk2LCAxLCAxNzIsIDE5NiwgMSwgMjMxLCAxNjcsIAorICAgIDE5NiwgMSwgMjQwLCAyNDQsIDE5NiwgMSwgMjQwLCA5OSwgMTk2LCAxLCAyMjUsIDc3LCAxOTYsIDEsIDI0OSwgMSwgMTk2LCAKKyAgICAxLCAyNDgsIDExMCwgMTk2LCAxLCAyMzIsIDIwMCwgMTk2LCAxLCAyMzIsIDE3MCwgMTk2LCAxLCAyMjMsIDE0NCwgMTk2LCAKKyAgICAxLCAyMTAsIDIwOCwgMTk2LCAxLCAyMTAsIDE5NiwgMTk2LCAxLCAyNDYsIDU0LCAxOTYsIDEsIDI0NiwgMzgsIDE5NiwgMSwgCisgICAgMjI0LCAxMDMsIDE5NiwgMSwgMjEyLCAyMTksIDE5NiwgMSwgMjEyLCA1NiwgMTk2LCAxLCAyNDYsIDE0NSwgMTk2LCAxLCAKKyAgICAyNDUsIDE5MiwgMTk2LCAxLCAxOTksIDE5NiwgMSwgMTc5LCAxOTYsIDEsIDIyMSwgOTMsIDE5NiwgMSwgMjUwLCAxODMsIAorICAgIDE5NiwgMSwgMjUwLCAwLCAxOTYsIDEsIDE4NSwgMTk2LCAxLCAxOTAsIDE5NiwgMSwgMjE5LCAxMTMsIDE5NiwgMSwgMjMwLCAKKyAgICAxNDEsIDE5NiwgMSwgMjI5LCAxNzIsIDE5NiwgMSwgMjA5LCA3MCwgMTk2LCAxLCAyMTYsIDIsIDE5NiwgMSwgMjE0LCA5NiwgCisgICAgMTk2LCAxLCAyMTcsIDE5OSwgMTk2LCAxLCAxNTUsIDE5NiwgMjIsIDMsIDI1MywgMTY0LCAxOTYsIDIyLCAzLCA3NCwgMTk2LCAKKyAgICAyMiwgMywgMjMzLCAxMDIsIDE5NiwgMjIsIDMsIDcxLCAxOTYsIDIyLCAzLCAyMDksIDE2MiwgMTk2LCAyMiwgMywgMTE1LCAKKyAgICAxMzcsIDE5NiwgMjIsIDMsIDExNSwgMjE4LCA5MCwgMTk2LCAyMiwgMywgMTE1LCAxNDksIDE5NiwgMjIsIDMsIDExNSwgCisgICAgMjI5LCAxNzMsIDE5NiwgMjIsIDMsIDc1LCAxOTYsIDIyLCAzLCAyNTIsIDIwNSwgMTk2LCAyMiwgMywgNzYsIDE5NiwgMjIsIAorICAgIDMsIDI1MSwgMTg0LCAxOTYsIDMsIDIwOCwgMTg4LCAxOTYsIDMsIDI1MSwgMTY3LCAxOTYsIDMsIDIzMiwgMTU2LCAxOTYsIAorICAgIDMsIDIwOSwgMjA0LCAxOTYsIDIyMiwgMTczLCAxOTYsIDI0NiwgMTAwLCAxOTYsIDUwLCAyNDYsIDEwMCwgMTk2LCAyNTMsIAorICAgIDI5LCA1MywgMTk2LCAyMTYsIDM5LCAxOTYsIDIxMywgMTIwLCA4MywgMTk2LCAxOCwgMjA1LCA4NSwgMTk2LCAxOCwgMTAyLCAKKyAgICAxOTYsIDE4LCAxMDUsIDE5NiwgMTgsIDE0MiwgMTk2LCAxOCwgMTM5LCAxOTYsIDE4LCAxNjgsIDE5NiwgMTgsIDE4NCwgCisgICAgMTk2LCAxOCwgMTk1LCAxOTYsIDE4LCAxOTMsIDE5NiwgMTgsIDIwMCwgMTk2LCAyNDMsIDc0LCAxMzIsIDI1MiwgMTksIDE4LCAKKyAgICAxMDIsIDEzMiwgMjUyLCAxOSwgMTgsIDEwNSwgMTMyLCAyNTIsIDE5LCAxOCwgMTQyLCAxMzIsIDI1MiwgMTksIDE4LCAxMzksIAorICAgIDEzMiwgMjUyLCAxOSwgMTgsIDE2OCwgMTMyLCAyNTIsIDE5LCAxOCwgMTg0LCAxMzIsIDI1MiwgMTksIDE4LCAxOTUsIDEzMiwgCisgICAgMjUyLCAxOSwgMTgsIDE5MywgMTMyLCAyNTIsIDE5LCAxOCwgMjAwLCAxMzIsIDI1MiwgMTksIDQzLCAyMTIsIDk4LCAxMzIsIAorICAgIDI1MiwgMTksIDQzLCAyMTAsIDEyMywgMTMyLCAyNTIsIDE5LCA0MywgMjEyLCAzLCAxMzIsIDI1MiwgMTksIDQzLCAyNDEsIAorICAgIDEzMCwgMTMyLCAyNTIsIDE5LCA0MywgMjQxLCAyNDMsIDEzMiwgMjUyLCAxOSwgNDMsIDIxNCwgMjUyLCAxMzIsIDI1MiwgCisgICAgMTksIDQzLCAyMTYsIDE3LCAxMzIsIDI1MiwgMTksIDQzLCAyNDMsIDc5LCAxMzIsIDI1MiwgMTksIDQzLCAyMjQsIDE5MCwgCisgICAgMTMyLCAyNTIsIDE5LCA0MywgMTE5LCAyMzgsIDI5LCAxMzIsIDI1MiwgMTksIDQzLCAxMTksIDIxMSwgMjQyLCAyMzEsIAorICAgIDEzNywgMSwgNjIsIDIzMSwgMTM3LCAxLCAyNTMsIDE2NCwgMjMxLCAxMzcsIDEsIDc0LCAyMzEsIDEzNywgMSwgNzEsIDIzMSwgCisgICAgMTM3LCAxLCA3NSwgMjMxLCAxMzcsIDEsIDI1MiwgMjA1LCAyMzEsIDEzNywgMSwgNzYsIDIzMSwgMTM3LCAxLCAyNTEsIAorICAgIDE4NCwgMjMxLCAxMzcsIDEsIDE3MiwgMjMxLCAxMzcsIDEsIDIzMSwgMTY3LCAyMzEsIDEzNywgMSwgMjQwLCAyNDQsIDIzMSwgCisgICAgMTM3LCAxLCAyNDAsIDEzNSwgMjMxLCAxMzcsIDEsIDI0MCwgOTksIDIzMSwgMTM3LCAxLCAyMjUsIDc3LCAyMzEsIDEzNywgCisgICAgMSwgMjQ5LCAxLCAyMzEsIDEzNywgMSwgMjQ4LCAxMTAsIDIzMSwgMTM3LCAxLCAyMzIsIDIwMCwgMjMxLCAxMzcsIDEsIAorICAgIDIzMiwgMTUwLCAyMzEsIDEzNywgMSwgMjIzLCAxNDQsIDIzMSwgMTM3LCAxLCAyMTAsIDIwOCwgMjMxLCAxMzcsIDEsIDIxMCwgCisgICAgMTk2LCAyMzEsIDEzNywgMSwgMjQ2LCA1NCwgMjMxLCAxMzcsIDEsIDI0NiwgMzgsIDIzMSwgMTM3LCAxLCAyMjQsIDEwMywgCisgICAgMjMxLCAxMzcsIDEsIDIxMiwgMjE5LCAyMzEsIDEzNywgMSwgMjEyLCA1NiwgMjMxLCAxMzcsIDEsIDI0NiwgMTQ1LCAyMzEsIAorICAgIDEzNywgMSwgMjQ2LCA0NCwgMjMxLCAxMzcsIDEsIDI0NSwgMTkyLCAyMzEsIDEzNywgMSwgMTk5LCAyMzEsIDEzNywgMSwgCisgICAgMTc5LCAyMzEsIDEzNywgMSwgMjIxLCA5MywgMjMxLCAxMzcsIDEsIDI1MCwgMTgzLCAyMzEsIDEzNywgMSwgMjUwLCA5NywgCisgICAgMjMxLCAxMzcsIDEsIDI1MCwgMCwgMjMxLCAxMzcsIDEsIDE4NSwgMjMxLCAxMzcsIDEsIDE5MCwgMjMxLCAxMzcsIDEsIAorICAgIDIxOSwgMTEzLCAyMzEsIDEzNywgMSwgMjMwLCAxNDEsIDIzMSwgMTM3LCAxLCAyMDksIDcwLCAyMzEsIDEzNywgMSwgMjE3LCAKKyAgICAxOTksIDIzMSwgMTM3LCAxLCAxNTUsIDIzMSwgMTM3LCAxLCAyMjksIDE3MiwgMjMxLCAxMzcsIDIyLCAzLCAyNTMsIDE2NCwgCisgICAgMjMxLCAxMzcsIDIyLCAzLCA3NCwgMjMxLCAxMzcsIDIyLCAzLCAyMzMsIDEwMiwgMjMxLCAxMzcsIDIyLCAzLCA3MSwgMjMxLCAKKyAgICAxMzcsIDIyLCAzLCA3NSwgMjMxLCAxMzcsIDIyLCAzLCAyNTIsIDIwNSwgMjMxLCAxMzcsIDIyLCAzLCA3NiwgMjMxLCAxMzcsIAorICAgIDIyLCAzLCAyNTEsIDE4NCwgMjMxLCAxMzcsIDMsIDI1MiwgNzMsIDIzMSwgMTM3LCAzLCAyMDgsIDE4OCwgMjMxLCAxMzcsIAorICAgIDMsIDIyMywgMTg0LCAyMzEsIDEzNywgMywgMjE1LCAyNDksIDIzMSwgMTM3LCAyNDYsIDEwMCwgMjMxLCAxMzcsIDUwLCAKKyAgICAyNDYsIDEwMCwgMjMxLCAxMzcsIDIwNiwgMjMyLCAyMTYsIDM5LCAyMzEsIDEzNywgMjE3LCA3NywgODMsIDIzMSwgMTM3LCAKKyAgICA1MCwgMjE3LCA3NywgODMsIDIzMSwgMTM3LCAyNTMsIDI5LCA1MywgMjMxLCAxMjksIDEsIDYyLCAyMzEsIDEyOSwgMSwgCisgICAgMjUzLCAxNjQsIDIzMSwgMTI5LCAxLCA3NCwgMjMxLCAxMjksIDEsIDIzMywgMTAyLCAyMzEsIDEyOSwgMSwgNzEsIDIzMSwgCisgICAgMTI5LCAxLCAyMDksIDE2MiwgMjMxLCAxMjksIDEsIDc1LCAyMzEsIDEyOSwgMSwgMjUyLCAyMDUsIDIzMSwgMTI5LCAxLCAKKyAgICA3NiwgMjMxLCAxMjksIDEsIDI1MSwgMTg0LCAyMzEsIDEyOSwgMSwgMTcyLCAyMzEsIDEyOSwgMSwgMjMxLCAxNjcsIDIzMSwgCisgICAgMTI5LCAxLCAyNDAsIDI0NCwgMjMxLCAxMjksIDEsIDI0MCwgMTM1LCAyMzEsIDEyOSwgMSwgMjQwLCA5OSwgMjMxLCAxMjksIAorICAgIDEsIDIyNSwgNzcsIDIzMSwgMTI5LCAxLCAyNDksIDEsIDIzMSwgMTI5LCAxLCAyNDgsIDExMCwgMjMxLCAxMjksIDEsIDIzMiwgCisgICAgMjAwLCAyMzEsIDEyOSwgMSwgMjMyLCAxNTAsIDIzMSwgMTI5LCAxLCAyMzIsIDE3MCwgMjMxLCAxMjksIDEsIDIyMywgMTQ0LCAKKyAgICAyMzEsIDEyOSwgMSwgMjEwLCAyMDgsIDIzMSwgMTI5LCAxLCAyMTAsIDE5NiwgMjMxLCAxMjksIDEsIDI0NiwgNTQsIDIzMSwgCisgICAgMTI5LCAxLCAyNDYsIDQ0LCAyMzEsIDEyOSwgMSwgMjE4LCA4OSwgMjMxLCAxMjksIDEsIDI0NiwgMzgsIDIzMSwgMTI5LCAxLCAKKyAgICAyMjQsIDEwMywgMjMxLCAxMjksIDEsIDIxMiwgMjE5LCAyMzEsIDEyOSwgMSwgMjEyLCA1NiwgMjMxLCAxMjksIDEsIDI0NiwgCisgICAgMTQ1LCAyMzEsIDEyOSwgMSwgMjQ1LCAxOTIsIDIzMSwgMTI5LCAxLCAxOTksIDIzMSwgMTI5LCAxLCAxNzksIDIzMSwgMTI5LCAKKyAgICAxLCAyMjEsIDkzLCAyMzEsIDEyOSwgMSwgMjUwLCAxODMsIDIzMSwgMTI5LCAxLCAyNTAsIDk3LCAyMzEsIDEyOSwgMSwgCisgICAgMjUwLCAwLCAyMzEsIDEyOSwgMSwgMTg1LCAyMzEsIDEyOSwgMSwgMTkwLCAyMzEsIDEyOSwgMSwgMjE5LCAxMTMsIDIzMSwgCisgICAgMTI5LCAxLCAyMzAsIDE0MSwgMjMxLCAxMjksIDEsIDIwOSwgNzAsIDIzMSwgMTI5LCAxLCAyMTYsIDIsIDIzMSwgMTI5LCAxLCAKKyAgICAyMTcsIDE5OSwgMjMxLCAxMjksIDEsIDE1NSwgMjMxLCAxMjksIDMsIDI1MiwgNzMsIDIzMSwgMTI5LCAyMiwgMywgMjUzLCAKKyAgICAxNjQsIDIzMSwgMTI5LCAyMiwgMywgNzQsIDIzMSwgMTI5LCAyMiwgMywgMjMzLCAxMDIsIDIzMSwgMTI5LCAyMiwgMywgNzEsIAorICAgIDIzMSwgMTI5LCAyMiwgMywgMjA5LCAxNjIsIDIzMSwgMTI5LCAyMiwgMywgNzUsIDIzMSwgMTI5LCAyMiwgMywgMjUyLCAKKyAgICAyMDUsIDIzMSwgMTI5LCAyMiwgMywgNzYsIDIzMSwgMTI5LCAyMiwgMywgMjUxLCAxODQsIDIzMSwgMTI5LCAzLCAyMjMsIAorICAgIDE4NCwgMjMxLCAxMjksIDMsIDIwOCwgMTg4LCAyMzEsIDEyOSwgMTgsIDIwNSwgODUsIDIzMSwgMTI5LCAxOCwgMTAyLCAKKyAgICAyMzEsIDEyOSwgMTgsIDEwNSwgMjMxLCAxMjksIDE4LCAxNDIsIDIzMSwgMTI5LCAxOCwgMTM5LCAyMzEsIDEyOSwgMTgsIAorICAgIDE2OCwgMjMxLCAxMjksIDE4LCAxODQsIDIzMSwgMTI5LCAxOCwgMTk1LCAyMzEsIDEyOSwgMTgsIDE5MywgMjMxLCAxMjksIAorICAgIDE4LCAyMDAsIDIwNCwgMjA0LCAzLCAyNDgsIDIxNywgMjA0LCAyMDQsIDMsIDI1MiwgNzMsIDIwNCwgMjA0LCAzLCAyMDgsIAorICAgIDE4MywgMjA0LCAyMDQsIDEsIDYyLCAyMDQsIDIwNCwgMSwgMjUzLCAxNjQsIDIwNCwgMjA0LCAxLCA3NCwgMjA0LCAyMDQsIAorICAgIDEsIDIzMywgMTAyLCAyMDQsIDIwNCwgMSwgNzEsIDIwNCwgMjA0LCAxLCAyMDksIDE2MiwgMjA0LCAyMDQsIDEsIDExNSwgCisgICAgMTM3LCAyMDQsIDIwNCwgMSwgMTE1LCAxNDksIDIwNCwgMjA0LCAxLCAyNDMsIDEwNCwgMjA0LCAyMDQsIDEsIDI1MiwgMjA1LCAKKyAgICAyMDQsIDIwNCwgMSwgMjIyLCAxNTIsIDIwNCwgMjA0LCAxLCAyNTEsIDE4NCwgMjA0LCAyMDQsIDEsIDE3MiwgMjA0LCAyMDQsIAorICAgIDEsIDIzMSwgMTY3LCAyMDQsIDIwNCwgMSwgMjQwLCAyNDQsIDIwNCwgMjA0LCAxLCAyNDAsIDk5LCAyMDQsIDIwNCwgMSwgCisgICAgMjI1LCA3NywgMjA0LCAyMDQsIDEsIDI0OSwgMSwgMjA0LCAyMDQsIDEsIDI0OCwgMTEwLCAyMDQsIDIwNCwgMSwgMjMyLCAKKyAgICAyMDAsIDIwNCwgMjA0LCAxLCAyMzIsIDE3MCwgMjA0LCAyMDQsIDEsIDIyMywgMTQ0LCAyMDQsIDIwNCwgMSwgMjEwLCAyMDgsIAorICAgIDIwNCwgMjA0LCAxLCAyMTAsIDE5NiwgMjA0LCAyMDQsIDEsIDI0NiwgNTQsIDIwNCwgMjA0LCAxLCAyNDYsIDM4LCAyMDQsIAorICAgIDIwNCwgMSwgMjI0LCAxMDMsIDIwNCwgMjA0LCAxLCAyMTIsIDIxOSwgMjA0LCAyMDQsIDEsIDIxMiwgNTYsIDIwNCwgMjA0LCAKKyAgICAxLCAyNDYsIDE0NSwgMjA0LCAyMDQsIDEsIDI0NSwgMTkyLCAyMDQsIDIwNCwgMSwgMTk5LCAyMDQsIDIwNCwgMSwgMTc5LCAKKyAgICAyMDQsIDIwNCwgMSwgMjIxLCA5MywgMjA0LCAyMDQsIDEsIDI1MCwgMTgzLCAyMDQsIDIwNCwgMSwgMjUwLCAwLCAyMDQsIAorICAgIDIwNCwgMSwgMTg1LCAyMDQsIDIwNCwgMSwgMTkwLCAyMDQsIDIwNCwgMSwgMjE5LCAxMTMsIDIwNCwgMjA0LCAxLCAyMzAsIAorICAgIDE0MSwgMjA0LCAyMDQsIDEsIDIyOSwgMTcyLCAyMDQsIDIwNCwgMSwgMjA5LCA3MCwgMjA0LCAyMDQsIDEsIDIxNiwgMiwgCisgICAgMjA0LCAyMDQsIDEsIDIxNCwgOTYsIDIwNCwgMjA0LCAxLCAyMTcsIDE5OSwgMjA0LCAyMDQsIDEsIDE1NSwgMjA0LCAyMDQsIAorICAgIDMsIDIyMywgMTg0LCAyMDQsIDIwNCwgMywgMjUxLCAxNjcsIDIwNCwgMjA0LCAyMiwgMywgMjUzLCAxNjQsIDIwNCwgMjA0LCAKKyAgICAyMiwgMywgNzQsIDIwNCwgMjA0LCAyMiwgMywgMjMzLCAxMDIsIDIwNCwgMjA0LCAyMiwgMywgNzEsIDIwNCwgMjA0LCAyMiwgCisgICAgMywgMjA5LCAxNjIsIDIwNCwgMjA0LCAyMiwgMywgMTE1LCAxMzcsIDIwNCwgMjA0LCAyMiwgMywgMTE1LCAyMTgsIDkwLCAKKyAgICAyMDQsIDIwNCwgMjIsIDMsIDI0MywgMTA0LCAyMDQsIDIwNCwgMjIsIDMsIDI1MiwgMjA1LCAyMDQsIDIwNCwgMjIsIDMsIAorICAgIDIyMiwgMTUyLCAyMDQsIDIwNCwgMjIsIDMsIDI1MSwgMTg0LCAyMDQsIDIwNCwgMywgMjA4LCAxODgsIDIwNCwgMjA0LCAKKyAgICAyNTEsIDE4NSwgMjMwLCAyMCwgODMsIDIwNCwgMjA0LCAzLCAyMjAsIDIxNiwgMjA0LCAyMDQsIDEsIDIwOSwgMzYsIDI1MiwgCisgICAgNzMsIDIwNCwgMjA0LCAxLCAyMDksIDM2LCA1MCwgMjUyLCA3MywgMjA0LCAyMDQsIDEsIDExNSwgMjE4LCA5MCwgMjA0LCAKKyAgICAyMDQsIDEsIDExNSwgMjI5LCAxNzMsIDIwNCwgMjA0LCAyMiwgMywgMTE1LCAxNDksIDIwNCwgMjA0LCAyMiwgMywgMTE1LCAKKyAgICAyMjksIDE3MywgMzYsIDIwNCwgMjA0LCAxOCwgMjA1LCA4NSwgMzYsIDIwNCwgMjA0LCAxOCwgMTAyLCAzNiwgMjA0LCAyMDQsIAorICAgIDE4LCAxMDUsIDM2LCAyMDQsIDIwNCwgMTgsIDE0MiwgMzYsIDIwNCwgMjA0LCAxOCwgMTM5LCAzNiwgMjA0LCAyMDQsIDE4LCAKKyAgICAxNjgsIDM2LCAyMDQsIDIwNCwgMTgsIDE4NCwgMzYsIDIwNCwgMjA0LCAxLCA2MiwgMzYsIDIwNCwgMjA0LCAxLCAxNzIsIAorICAgIDM2LCAyMDQsIDIwNCwgMSwgMTk5LCAzNiwgMjA0LCAyMDQsIDEsIDIwOCwgMjE0LCAzNiwgMjA0LCAyMDQsIDEsIDE3OSwgCisgICAgMjExLCAxNjAsIDI1MiwgMTAyLCAyMTEsIDE2MCwgMSwgNjIsIDIxMSwgMTYwLCAxLCAyNTMsIDE2NCwgMjExLCAxNjAsIDEsIAorICAgIDc0LCAyMTEsIDE2MCwgMSwgMjMzLCAxMDIsIDIxMSwgMTYwLCAxLCA3MSwgMjExLCAxNjAsIDEsIDIwOSwgMTYyLCAyMTEsIAorICAgIDE2MCwgMSwgMTE1LCAxMzcsIDIxMSwgMTYwLCAxLCAxMTUsIDIxOCwgOTAsIDIxMSwgMTYwLCAxLCAxMTUsIDE0OSwgMjExLCAKKyAgICAxNjAsIDEsIDExNSwgMjI5LCAxNzMsIDIxMSwgMTYwLCAxLCA3NSwgMjExLCAxNjAsIDEsIDI1MiwgMjA1LCAyMTEsIDE2MCwgCisgICAgMSwgNzYsIDIxMSwgMTYwLCAxLCAyNTEsIDE4NCwgMjExLCAxNjAsIDEsIDE3MiwgMjExLCAxNjAsIDEsIDIzMSwgMTY3LCAKKyAgICAyMTEsIDE2MCwgMSwgMjQwLCAyNDQsIDIxMSwgMTYwLCAxLCAyNDAsIDk5LCAyMTEsIDE2MCwgMSwgMjI1LCA3NywgMjExLCAKKyAgICAxNjAsIDEsIDI0OSwgMSwgMjExLCAxNjAsIDEsIDI0OCwgMTEwLCAyMTEsIDE2MCwgMSwgMjMyLCAyMDAsIDIxMSwgMTYwLCAKKyAgICAxLCAyMzIsIDE3MCwgMjExLCAxNjAsIDEsIDIyMywgMTQ0LCAyMTEsIDE2MCwgMSwgMjEwLCAyMDgsIDIxMSwgMTYwLCAxLCAKKyAgICAyMTAsIDE5NiwgMjExLCAxNjAsIDEsIDI0NiwgNTQsIDIxMSwgMTYwLCAxLCAyNDYsIDM4LCAyMTEsIDE2MCwgMSwgMjI0LCAKKyAgICAxMDMsIDIxMSwgMTYwLCAxLCAyMTIsIDIxOSwgMjExLCAxNjAsIDEsIDIxMiwgNTYsIDIxMSwgMTYwLCAxLCAyNDYsIDE0NSwgCisgICAgMjExLCAxNjAsIDEsIDI0NSwgMTkyLCAyMTEsIDE2MCwgMSwgMTk5LCAyMTEsIDE2MCwgMSwgMTc5LCAyMTEsIDE2MCwgMSwgCisgICAgMjIxLCA5MywgMjExLCAxNjAsIDEsIDI1MCwgMTgzLCAyMTEsIDE2MCwgMSwgMjUwLCAwLCAyMTEsIDE2MCwgMSwgMTg1LCAKKyAgICAyMTEsIDE2MCwgMSwgMTkwLCAyMTEsIDE2MCwgMSwgMjE5LCAxMTMsIDIxMSwgMTYwLCAxLCAyMzAsIDE0MSwgMjExLCAxNjAsIAorICAgIDEsIDIwOSwgNzAsIDIxMSwgMTYwLCAxLCAyMTYsIDIsIDIxMSwgMTYwLCAxLCAyMTQsIDk2LCAyMTEsIDE2MCwgMSwgMjE3LCAKKyAgICAxOTksIDIxMSwgMTYwLCAxLCAxNTUsIDIxMSwgMTYwLCAyMiwgMywgMjUzLCAxNjQsIDIxMSwgMTYwLCAyMiwgMywgNzQsIAorICAgIDIxMSwgMTYwLCAyMiwgMywgMjMzLCAxMDIsIDIxMSwgMTYwLCAyMiwgMywgNzEsIDIxMSwgMTYwLCAyMiwgMywgMjA5LCAKKyAgICAxNjIsIDIxMSwgMTYwLCAyMiwgMywgMTE1LCAxMzcsIDIxMSwgMTYwLCAyMiwgMywgMTE1LCAyMTgsIDkwLCAyMTEsIDE2MCwgCisgICAgMjIsIDMsIDExNSwgMTQ5LCAyMTEsIDE2MCwgMjIsIDMsIDExNSwgMjI5LCAxNzMsIDIxMSwgMTYwLCAyMiwgMywgNzUsIAorICAgIDIxMSwgMTYwLCAyMiwgMywgMjE1LCAxNDQsIDc1LCAyMTEsIDE2MCwgMjIsIDMsIDI1MiwgMjA1LCAyMTEsIDE2MCwgMjIsIAorICAgIDMsIDc2LCAyMTEsIDE2MCwgMjIsIDMsIDIxNSwgMTQ0LCA3NiwgMjExLCAxNjAsIDIyLCAzLCAyNTEsIDE4NCwgMjExLCAKKyAgICAxNjAsIDMsIDI0OCwgMjE3LCAyMTEsIDE2MCwgMywgMjUyLCA3MywgMjExLCAxNjAsIDMsIDIwOCwgMTgzLCAyMTEsIDE2MCwgCisgICAgMywgMjA4LCAxODgsIDIxMSwgMTYwLCAzLCAyMjMsIDE4NCwgMjExLCAxNjAsIDMsIDI1MSwgMTY3LCAyMTEsIDE2MCwgMjM5LCAKKyAgICAxNzUsIDIxMSwgMTYwLCAyNTMsIDI5LCA1MywgMjExLCAxNjAsIDIyMiwgMTczLCAyMTEsIDE2MCwgMTgsIDIwNSwgODUsIAorICAgIDIxMSwgMTYwLCAxOCwgMTAyLCAyMTEsIDE2MCwgMTgsIDEwNSwgMjExLCAxNjAsIDE4LCAxNDIsIDIxMSwgMTYwLCAxOCwgCisgICAgMTM5LCAyMTEsIDE2MCwgMTgsIDE2OCwgMjExLCAxNjAsIDE4LCAxODQsIDIxMSwgMTYwLCAxOCwgMTk1LCAyMTEsIDE2MCwgCisgICAgMTgsIDE5MywgMjExLCAxNjAsIDE4LCAyMDAsIDIxNSwgNzUsIDEsIDYyLCAyMTUsIDc1LCAxLCAyNTMsIDE2NCwgMjE1LCAKKyAgICA3NSwgMSwgNzQsIDIxNSwgNzUsIDEsIDIzMywgMTAyLCAyMTUsIDc1LCAxLCA3MSwgMjE1LCA3NSwgMSwgMjA5LCAxNjIsIAorICAgIDIxNSwgNzUsIDEsIDExNSwgMTM3LCAyMTUsIDc1LCAxLCAxMTUsIDIxOCwgOTAsIDIxNSwgNzUsIDEsIDExNSwgMTQ5LCAKKyAgICAyMTUsIDc1LCAxLCAxMTUsIDIyOSwgMTczLCAyMTUsIDc1LCAxLCA3NSwgMjE1LCA3NSwgMSwgMjUyLCAyMDUsIDIxNSwgNzUsIAorICAgIDEsIDc2LCAyMTUsIDc1LCAxLCAyNTEsIDE4NCwgMjE1LCA3NSwgMSwgMTcyLCAyMTUsIDc1LCAxLCAyMzEsIDE2NywgMjE1LCAKKyAgICA3NSwgMSwgMjQwLCAyNDQsIDIxNSwgNzUsIDEsIDI0MCwgOTksIDIxNSwgNzUsIDEsIDIyNSwgNzcsIDIxNSwgNzUsIDEsIAorICAgIDI0OSwgMSwgMjE1LCA3NSwgMSwgMjQ4LCAxMTAsIDIxNSwgNzUsIDEsIDIzMiwgMjAwLCAyMTUsIDc1LCAxLCAyMzIsIDE3MCwgCisgICAgMjE1LCA3NSwgMSwgMjIzLCAxNDQsIDIxNSwgNzUsIDEsIDIxMCwgMjA4LCAyMTUsIDc1LCAxLCAyMTAsIDE5NiwgMjE1LCAKKyAgICA3NSwgMSwgMjQ2LCA1NCwgMjE1LCA3NSwgMSwgMjQ2LCAzOCwgMjE1LCA3NSwgMSwgMjI0LCAxMDMsIDIxNSwgNzUsIDEsIAorICAgIDIxMiwgMjE5LCAyMTUsIDc1LCAxLCAyMTIsIDU2LCAyMTUsIDc1LCAxLCAyNDYsIDE0NSwgMjE1LCA3NSwgMSwgMjQ1LCAKKyAgICAxOTIsIDIxNSwgNzUsIDEsIDE5OSwgMjE1LCA3NSwgMSwgMTc5LCAyMTUsIDc1LCAxLCAyMjEsIDkzLCAyMTUsIDc1LCAxLCAKKyAgICAyNTAsIDE4MywgMjE1LCA3NSwgMSwgMjUwLCAwLCAyMTUsIDc1LCAxLCAxODUsIDIxNSwgNzUsIDEsIDE5MCwgMjE1LCA3NSwgCisgICAgMSwgMjE5LCAxMTMsIDIxNSwgNzUsIDEsIDIzMCwgMTQxLCAyMTUsIDc1LCAxLCAyMDksIDcwLCAyMTUsIDc1LCAxLCAyMTYsIAorICAgIDIsIDIxNSwgNzUsIDEsIDIxNCwgOTYsIDIxNSwgNzUsIDEsIDIxNywgMTk5LCAyMTUsIDc1LCAxLCAxNTUsIDIxNSwgNzUsIAorICAgIDIyLCAzLCAyNTMsIDE2NCwgMjE1LCA3NSwgMjIsIDMsIDc0LCAyMTUsIDc1LCAyMiwgMywgMjMzLCAxMDIsIDIxNSwgNzUsIAorICAgIDIyLCAzLCA3MSwgMjE1LCA3NSwgMjIsIDMsIDIwOSwgMTYyLCAyMTUsIDc1LCAyMiwgMywgMTE1LCAxMzcsIDIxNSwgNzUsIAorICAgIDIyLCAzLCAxMTUsIDIxOCwgOTAsIDIxNSwgNzUsIDIyLCAzLCA3NSwgMjE1LCA3NSwgMjIsIDMsIDI1MiwgMjA1LCAyMTUsIAorICAgIDc1LCAyMiwgMywgNzYsIDIxNSwgNzUsIDIyLCAzLCAyNTEsIDE4NCwgMjE1LCA3NSwgMywgMjQ4LCAyMTcsIDIxNSwgNzUsIAorICAgIDMsIDI1MiwgNzMsIDIxNSwgNzUsIDMsIDIwOCwgMTgzLCAyMTUsIDc1LCAzLCAyMDgsIDE4OCwgMjE1LCA3NSwgMywgMjIzLCAKKyAgICAxODQsIDIxNSwgNzUsIDMsIDIxNSwgNzQsIDIxNSwgNzUsIDI0NiwgMTAwLCAyMTUsIDc1LCA1MCwgMjQ2LCAxMDAsIDIxNSwgCisgICAgNzUsIDIxNiwgNDAsIDI0NSwgMjMsIDIxNSwgNzUsIDIxNiwgNDAsIDEzNCwgMjE1LCA3NSwgMjE4LCAyNDksIDIyNywgMTkxLCAKKyAgICAyMTUsIDc1LCAyMTgsIDI0OSwgMjI3LCAxOTAsIDIxNSwgNzUsIDIxOCwgMjQ5LCAyMjcsIDE4OSwgMjE1LCA3NSwgMjQzLCAKKyAgICAzNCwgNzMsIDIxMiwgNjEsIDgzLCAyMjYsIDE3MywgMSwgNjIsIDIyNiwgMTczLCAxLCAyNTMsIDE2NCwgMjI2LCAxNzMsIDEsIAorICAgIDc0LCAyMjYsIDE3MywgMSwgMjMzLCAxMDIsIDIyNiwgMTczLCAxLCA3MSwgMjI2LCAxNzMsIDEsIDIwOSwgMTYyLCAyMjYsIAorICAgIDE3MywgMSwgMTE1LCAxMzcsIDIyNiwgMTczLCAxLCAxMTUsIDIxOCwgOTAsIDIyNiwgMTczLCAxLCAxMTUsIDE0OSwgMjI2LCAKKyAgICAxNzMsIDEsIDExNSwgMjI5LCAxNzMsIDIyNiwgMTczLCAxLCA3NSwgMjI2LCAxNzMsIDEsIDI1MiwgMjA1LCAyMjYsIDE3MywgCisgICAgMSwgNzYsIDIyNiwgMTczLCAxLCAyNTEsIDE4NCwgMjI2LCAxNzMsIDEsIDE3MiwgMjI2LCAxNzMsIDEsIDIzMSwgMTY3LCAKKyAgICAyMjYsIDE3MywgMSwgMjQwLCAyNDQsIDIyNiwgMTczLCAxLCAyNDAsIDk5LCAyMjYsIDE3MywgMSwgMjI1LCA3NywgMjI2LCAKKyAgICAxNzMsIDEsIDI0OSwgMSwgMjI2LCAxNzMsIDEsIDI0OCwgMTEwLCAyMjYsIDE3MywgMSwgMjMyLCAyMDAsIDIyNiwgMTczLCAKKyAgICAxLCAyMzIsIDE3MCwgMjI2LCAxNzMsIDEsIDIyMywgMTQ0LCAyMjYsIDE3MywgMSwgMjEwLCAyMDgsIDIyNiwgMTczLCAxLCAKKyAgICAyMTAsIDE5NiwgMjI2LCAxNzMsIDEsIDI0NiwgNTQsIDIyNiwgMTczLCAxLCAyNDYsIDM4LCAyMjYsIDE3MywgMSwgMjI0LCAKKyAgICAxMDMsIDIyNiwgMTczLCAxLCAyMTIsIDIxOSwgMjI2LCAxNzMsIDEsIDIxMiwgNTYsIDIyNiwgMTczLCAxLCAyNDYsIDE0NSwgCisgICAgMjI2LCAxNzMsIDEsIDI0NSwgMTkyLCAyMjYsIDE3MywgMSwgMTk5LCAyMjYsIDE3MywgMSwgMTc5LCAyMjYsIDE3MywgMSwgCisgICAgMjIxLCA5MywgMjI2LCAxNzMsIDEsIDI1MCwgMTgzLCAyMjYsIDE3MywgMSwgMjUwLCAwLCAyMjYsIDE3MywgMSwgMTg1LCAKKyAgICAyMjYsIDE3MywgMSwgMTkwLCAyMjYsIDE3MywgMSwgMjE5LCAxMTMsIDIyNiwgMTczLCAxLCAyMzAsIDE0MSwgMjI2LCAxNzMsIAorICAgIDEsIDIwOSwgNzAsIDIyNiwgMTczLCAxLCAyMTYsIDIsIDIyNiwgMTczLCAxLCAyMTQsIDk2LCAyMjYsIDE3MywgMSwgMjE3LCAKKyAgICAxOTksIDIyNiwgMTczLCAxLCAxNTUsIDIyNiwgMTczLCAxLCAyMjksIDE3MiwgMjI2LCAxNzMsIDIyLCAzLCAyNTMsIDE2NCwgCisgICAgMjI2LCAxNzMsIDIyLCAzLCA3NCwgMjI2LCAxNzMsIDIyLCAzLCAyMzMsIDEwMiwgMjI2LCAxNzMsIDIyLCAzLCA3MSwgMjI2LCAKKyAgICAxNzMsIDIyLCAzLCAyMDksIDE2MiwgMjI2LCAxNzMsIDIyLCAzLCAxMTUsIDEzNywgMjI2LCAxNzMsIDIyLCAzLCAxMTUsIAorICAgIDIxOCwgOTAsIDIyNiwgMTczLCAyMiwgMywgMTE1LCAxNDksIDIyNiwgMTczLCAyMiwgMywgMTE1LCAyMjksIDE3MywgMjI2LCAKKyAgICAxNzMsIDIyLCAzLCA3NSwgMjI2LCAxNzMsIDIyLCAzLCAyNTIsIDIwNSwgMjI2LCAxNzMsIDIyLCAzLCA3NiwgMjI2LCAxNzMsIAorICAgIDIyLCAzLCAyNTEsIDE4NCwgMjI2LCAxNzMsIDMsIDI1MiwgNzMsIDIyNiwgMTczLCAzLCAyMDgsIDE4MywgMjI2LCAxNzMsIAorICAgIDMsIDIwOCwgMTg4LCAyMjYsIDE3MywgMywgMjUyLCAxNiwgMjI2LCAxNzMsIDI0NiwgMTAwLCAyMjYsIDE3MywgNTAsIDI0NiwgCisgICAgMTAwLCAyMjYsIDE3MywgMjUzLCAyOSwgNTMsIDIyNiwgMTczLCAzLCAyMzgsIDE4LCAyMjYsIDE3MywgMTgsIDIwNSwgODUsIAorICAgIDIyNiwgMTczLCAxOCwgMTAyLCAyMjYsIDE3MywgMTgsIDEwNSwgMjI2LCAxNzMsIDE4LCAxNDIsIDIyNiwgMTczLCAxOCwgCisgICAgMTM5LCAyMjYsIDE3MywgMTgsIDE2OCwgMjI2LCAxNzMsIDE4LCAxODQsIDIyNiwgMTczLCAxOCwgMTk1LCAyMjYsIDE3MywgCisgICAgMTgsIDE5MywgMjI2LCAxNzMsIDE4LCAyMDAsIDIxMiwgMTgzLCAxLCA2MiwgMjEyLCAxODMsIDEsIDI1MywgMTY0LCAyMTIsIAorICAgIDE4MywgMSwgNzQsIDIxMiwgMTgzLCAxLCAyMzMsIDEwMiwgMjEyLCAxODMsIDEsIDcxLCAyMTIsIDE4MywgMSwgMjA5LCAKKyAgICAxNjIsIDIxMiwgMTgzLCAxLCA3NSwgMjEyLCAxODMsIDEsIDI1MiwgMjA1LCAyMTIsIDE4MywgMSwgNzYsIDIxMiwgMTgzLCAKKyAgICAxLCAyNTEsIDE4NCwgMjEyLCAxODMsIDEsIDE3MiwgMjEyLCAxODMsIDEsIDIzMSwgMTY3LCAyMTIsIDE4MywgMSwgMjQwLCAKKyAgICAyNDQsIDIxMiwgMTgzLCAxLCAyNDAsIDk5LCAyMTIsIDE4MywgMSwgMjI1LCA3NywgMjEyLCAxODMsIDEsIDI0OSwgMSwgCisgICAgMjEyLCAxODMsIDEsIDI0OCwgMTEwLCAyMTIsIDE4MywgMSwgMjMyLCAyMDAsIDIxMiwgMTgzLCAxLCAyMzIsIDE3MCwgMjEyLCAKKyAgICAxODMsIDEsIDIyMywgMTQ0LCAyMTIsIDE4MywgMSwgMjEwLCAyMDgsIDIxMiwgMTgzLCAxLCAyMTAsIDE5NiwgMjEyLCAxODMsIAorICAgIDEsIDI0NiwgNTQsIDIxMiwgMTgzLCAxLCAyNDYsIDM4LCAyMTIsIDE4MywgMSwgMjI0LCAxMDMsIDIxMiwgMTgzLCAxLCAKKyAgICAyMTIsIDIxOSwgMjEyLCAxODMsIDEsIDIxMiwgNTYsIDIxMiwgMTgzLCAxLCAyNDYsIDE0NSwgMjEyLCAxODMsIDEsIDI0NSwgCisgICAgMTkyLCAyMTIsIDE4MywgMSwgMTk5LCAyMTIsIDE4MywgMSwgMTc5LCAyMTIsIDE4MywgMSwgMjIxLCA5MywgMjEyLCAxODMsIAorICAgIDEsIDI1MCwgMTgzLCAyMTIsIDE4MywgMSwgMjUwLCAwLCAyMTIsIDE4MywgMSwgMTg1LCAyMTIsIDE4MywgMSwgMTkwLCAKKyAgICAyMTIsIDE4MywgMSwgMjE5LCAxMTMsIDIxMiwgMTgzLCAxLCAyMzAsIDE0MSwgMjEyLCAxODMsIDEsIDIwOSwgNzAsIDIxMiwgCisgICAgMTgzLCAxLCAyMTYsIDIsIDIxMiwgMTgzLCAxLCAyMTcsIDE5OSwgMjEyLCAxODMsIDEsIDE1NSwgMjEyLCAxODMsIDEsIAorICAgIDIxOCwgODksIDIxMiwgMTgzLCAzLCAyNTIsIDczLCAyMTIsIDE4MywgMywgMjA4LCAxODMsIDIxMiwgMTgzLCAyMiwgMywgCisgICAgMjUzLCAxNjQsIDIxMiwgMTgzLCAyMiwgMywgNzQsIDIxMiwgMTgzLCAyMiwgMywgMjMzLCAxMDIsIDIxMiwgMTgzLCAyMiwgCisgICAgMywgNzEsIDIxMiwgMTgzLCAyMiwgMywgMjA5LCAxNjIsIDIxMiwgMTgzLCAyMiwgMywgNzUsIDIxMiwgMTgzLCAyMiwgMywgCisgICAgMjUyLCAyMDUsIDIxMiwgMTgzLCAyMiwgMywgNzYsIDIxMiwgMTgzLCAyMiwgMywgMjUxLCAxODQsIDIxMiwgMTgzLCAzLCAKKyAgICAyMDgsIDE4OCwgMjEyLCAxODMsIDMsIDIyMywgMTg0LCAyMTIsIDE4MywgMTgsIDIwNSwgODUsIDIxMiwgMTgzLCAxOCwgCisgICAgMTAyLCAyMTIsIDE4MywgMTgsIDEwNSwgMjEyLCAxODMsIDE4LCAxNDIsIDIxMiwgMTgzLCAxOCwgMTM5LCAyMTIsIDE4MywgCisgICAgMTgsIDE2OCwgMjEyLCAxODMsIDE4LCAxODQsIDIxMiwgMTgzLCAxOCwgMTk1LCAyMTIsIDE4MywgMTgsIDE5MywgMjEyLCAKKyAgICAxODMsIDE4LCAyMDAsIDIwMiwgMTk3LCA2LCAxLCAyMjUsIDc2LCAyMDIsIDE5NywgNiwgMSwgNjIsIDIwMiwgMTk3LCA2LCAKKyAgICAxLCAyMDcsIDIwLCAyMDIsIDE5NywgNiwgMSwgMjA1LCAyMTMsIDIwMiwgMTk3LCA2LCAxLCAxOTAsIDIwMiwgMTk3LCA2LCAKKyAgICAxLCAyMDUsIDI0NywgMjAyLCAxOTcsIDYsIDEsIDIzMywgMTAyLCAyMDIsIDE5NywgNiwgMSwgMjA5LCAxNjIsIDIwMiwgCisgICAgMTk3LCA2LCAxLCA3NSwgMjAyLCAxOTcsIDYsIDEsIDc2LCAyMDIsIDE5NywgNiwgMSwgMjUyLCAxMTQsIDIwMiwgMTk3LCA2LCAKKyAgICAxLCAyNDAsIDI0NCwgMjAyLCAxOTcsIDYsIDEsIDIzMSwgNTMsIDIwMiwgMTk3LCA2LCAxLCAyNDMsIDcsIDIwMiwgMTk3LCAKKyAgICA2LCAxLCAyMDUsIDE5NywgMjAyLCAxOTcsIDYsIDEsIDIxMCwgMTAsIDIwMiwgMTk3LCA2LCAxLCAyNDMsIDI1LCAyMDIsIAorICAgIDE5NywgNiwgMSwgMjIyLCAyMDksIDIwMiwgMTk3LCA2LCAxLCAyMTAsIDIwMywgMjAyLCAxOTcsIDYsIDEsIDIyMywgMTcwLCAKKyAgICAyMDIsIDE5NywgNiwgMSwgMjQ2LCAxNDUsIDIwMiwgMTk3LCA2LCAxLCAyNTEsIDE5OSwgMjAyLCAxOTcsIDYsIDEsIDI1MiwgCisgICAgMTM2LCAyMDIsIDE5NywgNiwgMSwgMjQ5LCAxMDEsIDIwMiwgMTk3LCA2LCAxLCAyMjAsIDgyLCAyMDIsIDE5NywgNiwgMSwgCisgICAgMjM4LCAyNDEsIDIwMiwgMTk3LCA2LCAxLCAyMzgsIDEzOCwgMjAyLCAxOTcsIDYsIDEsIDIzOCwgNjcsIDIwMiwgMTk3LCA2LCAKKyAgICAxLCAyMzksIDk1LCAyMDIsIDE5NywgNiwgMSwgMjE0LCA0OCwgMjAyLCAxOTcsIDYsIDEsIDIxNSwgNjEsIDIwMiwgMTk3LCAKKyAgICA2LCAxLCAyMDgsIDE3NCwgMjAyLCAxOTcsIDUsIDEsIDIyNSwgNzYsIDIwMiwgMTk3LCA1LCAxLCA2MiwgMjAyLCAxOTcsIDUsIAorICAgIDEsIDIwNywgMjAsIDIwMiwgMTk3LCA1LCAxLCAyMDUsIDIxMywgMjAyLCAxOTcsIDUsIDEsIDE5MCwgMjAyLCAxOTcsIDUsIAorICAgIDEsIDIwNSwgMjQ3LCAyMDIsIDE5NywgNSwgMSwgMjMzLCAxMDIsIDIwMiwgMTk3LCA1LCAxLCAyMDksIDE2MiwgMjAyLCAKKyAgICAxOTcsIDUsIDEsIDc1LCAyMDIsIDE5NywgNSwgMSwgNzYsIDIwMiwgMTk3LCA1LCAxLCAyNTIsIDExNCwgMjAyLCAxOTcsIDUsIAorICAgIDEsIDI0MCwgMjQ0LCAyMDIsIDE5NywgNSwgMSwgMjMxLCA1MywgMjAyLCAxOTcsIDUsIDEsIDI0MywgNywgMjAyLCAxOTcsIAorICAgIDUsIDEsIDIwNSwgMTk3LCAyMDIsIDE5NywgNSwgMSwgMjEwLCAxMCwgMjAyLCAxOTcsIDUsIDEsIDI0MywgMjUsIDIwMiwgCisgICAgMTk3LCA1LCAxLCAyMjIsIDIwOSwgMjAyLCAxOTcsIDUsIDEsIDIxMCwgMjAzLCAyMDIsIDE5NywgNSwgMSwgMjIzLCAxNzAsIAorICAgIDIwMiwgMTk3LCA1LCAxLCAyNDYsIDE0NSwgMjAyLCAxOTcsIDUsIDEsIDI1MSwgMTk5LCAyMDIsIDE5NywgNSwgMSwgMjUyLCAKKyAgICAxMzYsIDIwMiwgMTk3LCA1LCAxLCAyNDksIDEwMSwgMjAyLCAxOTcsIDUsIDEsIDIyMCwgODIsIDIwMiwgMTk3LCA1LCAxLCAKKyAgICAyMzgsIDI0MSwgMjAyLCAxOTcsIDUsIDEsIDIzOCwgMTM4LCAyMDIsIDE5NywgNSwgMSwgMjM4LCA2NywgMjAyLCAxOTcsIDUsIAorICAgIDEsIDIzOSwgOTUsIDIwMiwgMTk3LCA1LCAxLCAyMTQsIDQ4LCAyMDIsIDE5NywgNSwgMSwgMjE1LCA2MSwgMjAyLCAxOTcsIAorICAgIDUsIDEsIDIwOCwgMTc0LCAyMDIsIDE5NywgMTgsIDIwNSwgODUsIDIwMiwgMTk3LCAxOCwgMTAyLCAyMDIsIDE5NywgMTgsIAorICAgIDEwNSwgMjAyLCAxOTcsIDE4LCAxNDIsIDIwMiwgMTk3LCAxOCwgMTM5LCAyMDIsIDE5NywgMTgsIDE2OCwgMjAyLCAxOTcsIAorICAgIDE4LCAxODQsIDIwMiwgMTk3LCAxOCwgMTk1LCAyMDIsIDE5NywgMTgsIDE5MywgMjAyLCAxOTcsIDE4LCAyMDAsIDIwMiwgCisgICAgMTk3LCA0MywgMjEyLCA5OCwgMjAyLCAxOTcsIDQzLCAyMTAsIDEyMywgMjAyLCAxOTcsIDQzLCAyMTIsIDMsIDIwMiwgMTk3LCAKKyAgICA0MywgMjQxLCAxMzAsIDIwMiwgMTk3LCA0MywgMjQxLCAyNDMsIDIwMiwgMTk3LCA0MywgMjE0LCAyNTIsIDIwMiwgMTk3LCAKKyAgICA0MywgMjE2LCAxNywgMjAyLCAxOTcsIDQzLCAyNDMsIDc5LCAyMDIsIDE5NywgNDMsIDIyNCwgMTkwLCAyMDIsIDE5NywgCisgICAgMjIyLCAxNzMsIDIyMSwgMTg5LCAyNDcsIDIzOCwgMjM5LCA4MSwgMSwgMTc5LCAyMjEsIDE4OSwgMjQ3LCAyMzgsIDIzOSwgCisgICAgODEsIDEsIDE3MiwgMjIxLCAxODksIDI0NywgMjM4LCAyMzksIDgxLCAxLCAyMzAsIDE0MSwgMjIxLCAxODksIDI0NywgMjM4LCAKKyAgICAyMzksIDgxLCAxLCAxODUsIDIyMSwgMTg5LCAyNDcsIDIzOCwgMjM5LCA4MSwgMSwgMjQ2LCAxNDUsIDIyMSwgMTg5LCAyNDcsIAorICAgIDIzOCwgMjM5LCA4MSwgMSwgMjA1LCAxMTYsIDIyMSwgMTg5LCAyNDcsIDIzOCwgMjM5LCA4MSwgMSwgMjA5LCA3MCwgMjIxLCAKKyAgICAxODksIDI0NywgMjM4LCAyMzksIDgxLCAxLCAyMjUsIDc3LCAyMjEsIDE4OSwgMjQ3LCAyMzgsIDIzOSwgODEsIDEsIDE1NSwgCisgICAgMjIxLCAxODksIDI0NywgMjM4LCAyMzksIDgxLCAxLCAyNDAsIDI0NCwgMjIxLCAxODksIDI0NywgMjM4LCAyMzksIDgxLCAxLCAKKyAgICAyMzEsIDE2NywgMjIxLCAxODksIDI0NywgMjM4LCAyMzksIDgxLCAxLCAyMTcsIDE5OSwgMjIxLCAxODksIDI0NywgMjM4LCAKKyAgICAyMzksIDgxLCAxLCAyNTAsIDE4MywgMjIxLCAxODksIDI0NywgMjM4LCAyMzksIDgxLCAxLCAyNDksIDEsIDIyMSwgMTg5LCAKKyAgICAyNDcsIDIzOCwgMjM5LCA4MSwgMSwgMjEyLCAyMTksIDIyMSwgMTg5LCAyNDcsIDIzOCwgMjM5LCA4MSwgMSwgMjEyLCA1NiwgCisgICAgMjIxLCAxODksIDI0NywgMjM4LCAyMzksIDgxLCAxLCAxOTksIDIyMSwgMTg5LCAyNDcsIDIzOCwgMjM5LCA4MSwgMSwgMjIxLCAKKyAgICA5MywgMjIxLCAxODksIDI0NywgMjM4LCAyMzksIDgxLCAxLCAyMTksIDExMywgMjIxLCAxODksIDI0NywgMjM4LCAyMzksIAorICAgIDgxLCAxLCAyNDIsIDczLCAyMjEsIDE4OSwgMjQ3LCAyMzgsIDIzOSwgODEsIDEsIDI0OCwgMTEwLCAyMjEsIDE4OSwgMjQ3LCAKKyAgICAyMzgsIDIzOSwgODEsIDEsIDYyLCAyMjEsIDE4OSwgMjQ3LCAyMzgsIDIzOSwgODEsIDEsIDc1LCAyMjEsIDE4OSwgMjQ3LCAKKyAgICAyMzgsIDIzOSwgODEsIDEsIDc0LCAyMjEsIDE4OSwgMjQ3LCAyMzgsIDIzOSwgODEsIDEsIDc2LCAyMjEsIDE4OSwgMjQ3LCAKKyAgICAyMzgsIDIzOSwgODEsIDEsIDcxLCAyMjEsIDE4OSwgMjQ3LCAyMzgsIDIzOSwgODEsIDEsIDIxMCwgMTgsIDIyMSwgMTg5LCAKKyAgICAyNDcsIDIzOCwgMjM5LCA4MSwgMSwgMjM3LCAxOTAsIDIyMSwgMTg5LCAyNDcsIDIzOCwgMjM5LCA4MSwgMSwgNDIsIDIyMiwgCisgICAgNjcsIDIyMSwgMTg5LCAyNDcsIDIzOCwgMjM5LCA4MSwgMSwgNDIsIDIzMiwgNzYsIDIyMSwgMTg5LCAyNDcsIDIzOCwgMjM5LCAKKyAgICA4MSwgMSwgNDIsIDIxMywgMTAsIDIyMSwgMTg5LCAyNDcsIDIzOCwgMjM5LCA4MSwgMSwgNDIsIDIyOSwgMjgsIDIyMSwgCisgICAgMTg5LCAyNDcsIDIzOCwgMjM5LCA4MSwgMSwgNDIsIDIyNiwgMzMsIDIyMSwgMTg5LCAyNDcsIDIzOCwgMjM5LCA4MSwgMSwgCisgICAgNDIsIDE0OSwgMjIxLCAxODksIDI0NywgMjM4LCAyMzksIDgxLCAxLCA0MiwgMjA3LCAxMjksIDIyMSwgMTg5LCAyNDcsIAorICAgIDIzOCwgMjM5LCA4MSwgMSwgNDIsIDIyNSwgNzksIDIyMSwgMTg5LCAyNDcsIDIzOCwgMjM5LCA4MSwgMSwgNDIsIDIwNiwgCisgICAgMTIzLCAyMjEsIDE4OSwgMjQ3LCAyMzgsIDIzOSwgODEsIDIxOCwgMTQyLCAxMzUsIDIyOSwgMTI1LCAyMjEsIDE4OSwgMjQ3LCAKKyAgICAyMzgsIDIzOSwgODEsIDIxOCwgMTQyLCAyMTEsIDExOCwgMjIxLCAxODksIDI0NywgMjM4LCAyMzksIDgxLCAyMTcsIDE0NywgCisgICAgMjQwLCAyNSwgMjEzLCAyNTEsIDIyMSwgMTg5LCAyNDcsIDIzOCwgMjM5LCA4MSwgMjE4LCAxNDIsIDEzNSwgMTUyLCAyNDEsIAorICAgIDIzMCwgMjIxLCAxODksIDI0NywgMjM4LCAyMzksIDgxLCAyMTgsIDE0MiwgMTM1LCAyNDEsIDIzMCwgMjIxLCAxODksIDI0NywgCisgICAgMjM4LCAyMzksIDgxLCAyMTcsIDE0NywgMjQwLCAyNSwgMjEzLCAyNTIsIDI0MSwgMjMwLCAyMjEsIDE4OSwgMjQ3LCAyMzgsIAorICAgIDIzOSwgODEsIDIxNywgMTQ3LCAxMzUsIDIyOSwgMTI1LCAyMjEsIDE4OSwgMjQ3LCAyMzgsIDIzOSwgODEsIDIxNywgMTQ3LCAKKyAgICAyMTEsIDExOCwgMjIxLCAxODksIDI0NywgMjM4LCAyMzksIDgxLCAyMTcsIDE0NywgMTM1LCAxNTIsIDI0MSwgMjMwLCAyMjEsIAorICAgIDE4OSwgMjQ3LCAyMzgsIDIzOSwgODEsIDIxNywgMTQ3LCAxMzUsIDI0MSwgMjMwLCAyMjEsIDE4OSwgMjQ3LCAyMzgsIDIzOSwgCisgICAgODEsIDIyNiwgMjQ4LCAyMTEsIDExOCwgMjIxLCAxODksIDI0NywgMjM4LCAyMzksIDgxLCAyNDAsIDI1LCAyMTMsIDI1MiwgCisgICAgMjA5LCA1MiwgMjIxLCAxODksIDI0NywgMjM4LCAyMzksIDgxLCAyMjYsIDI0OCwgMTM1LCAxNTIsIDI0MSwgMjMwLCAyMjEsIAorICAgIDE4OSwgMjQ3LCAyMzgsIDIzOSwgODEsIDIyNiwgMjQ4LCAxMzUsIDI0MSwgMjMwLCAyMjEsIDE4OSwgMjQ3LCAyMzgsIDIzOSwgCisgICAgODEsIDIyOSwgOTUsIDEzNSwgMjI5LCAxMjUsIDIyMSwgMTg5LCAyNDcsIDIzOCwgMjM5LCA4MSwgMjI5LCA5NSwgMjExLCAKKyAgICAxMTgsIDIyMSwgMTg5LCAyNDcsIDIzOCwgMjM5LCA4MSwgMjQwLCAyNSwgMjEzLCAyNTEsIDIyMSwgMTg5LCAyNDcsIDIzOCwgCisgICAgMjM5LCA4MSwgMjI5LCA5NSwgMTM1LCAxNTIsIDI0MSwgMjMwLCAyMjEsIDE4OSwgMjQ3LCAyMzgsIDIzOSwgODEsIDIyOSwgCisgICAgOTUsIDEzNSwgMjQxLCAyMzAsIDIyMSwgMTg5LCAyNDcsIDIzOCwgMjM5LCA4MSwgMjQwLCAyNSwgMjEzLCAyNTIsIDI0MSwgCisgICAgMjMwLCAxNCwgMywgNjIsIDE0LCAzLCAzMiwgMjksIDYyLCAxNCwgMywgMzIsIDI5LCAyNTAsIDE2NywgMTQsIDMsIDMyLCAKKyAgICAyOSwgMjQwLCAyMTMsIDIxMiwgODksIDE0LCAzLCAzMiwgMjksIDE1NSwgMTQsIDMsIDMyLCAyOSwgMjMzLCAxMDQsIDE0LCAKKyAgICAzLCAzMiwgMjksIDIzMCwgMTIxLCAyMzksIDE5MiwgMTQsIDMsIDMyLCAyOSwgMjI2LCA2OSwgMTQsIDMsIDMyLCAyOSwgCisgICAgMjE3LCAxODUsIDE0LCAzLCAyNTQsIDE2NiwgMTQsIDMsIDI1MywgMTE1LCAxNCwgMywgMjUzLCAxMTYsIDI5LCAyNTEsIAorICAgIDIyMywgMTQsIDMsIDI1MywgMTE2LCAyOSwgMjQzLCAyMjYsIDIzOSwgMTkyLCAxNCwgMywgMjUzLCAxMTYsIDI5LCAyNDAsIAorICAgIDIyNiwgMTQsIDMsIDI1MywgMTE2LCAyOSwgMjQwLCAyMTMsIDIxMiwgODksIDE0LCAzLCAyNTMsIDExNiwgMjksIDE1NSwgCisgICAgMTQsIDMsIDI1MywgMTE2LCAyOSwgMjMzLCAxMDUsIDIzOSwgMTkyLCAxNCwgMywgMjUzLCAxMTYsIDI5LCAyMzMsIDc4LCAKKyAgICAxNCwgMywgMjUzLCAxMTYsIDI5LCAyMzAsIDEyMiwgMTQsIDMsIDI1MywgMTE2LCAyOSwgMjE1LCAxOTksIDE0LCAzLCAyNTMsIAorICAgIDExNiwgMjksIDEwNiwgMTAxLCAxMDYsIDEwMSwgNzEsIDE0LCAzLCAyNTMsIDExNiwgMjM5LCAxOTIsIDE0LCAzLCAyNTMsIAorICAgIDMyLCAxNCwgMywgMjUzLCAzMywgMjksIDI1MCwgMTUwLCAxNCwgMywgMjUzLCAzMywgMjksIDI0MCwgMjEzLCAyMTIsIDg5LCAKKyAgICAxNCwgMywgMjUzLCAzMywgMjksIDIyNywgMTIwLCAxMDEsIDI0MywgNDEsIDE0LCAzLCAyNTMsIDMzLCAyOSwgMjE2LCAwLCAKKyAgICAxNCwgMywgMjUzLCAzMywgMjksIDIxMiwgMTg2LCAxNCwgMywgMjUzLCA1LCAxNCwgMywgMjUyLCAxODksIDE0LCAzLCAyNTIsIAorICAgIDE5MCwgMjksIDI0MiwgMjMwLCAxNCwgMywgMjUyLCAxOTAsIDI5LCAyMTUsIDE2MSwgMTAxLCAyNDAsIDM1LCAxNCwgMywgCisgICAgMjUyLCAxODEsIDE0LCAzLCAyNTIsIDE4MiwgMjksIDI1MiwgMTgxLCAxNCwgMywgMjUyLCAxODIsIDI5LCAyNDUsIDEyMywgCisgICAgMTQsIDMsIDI1MiwgMTgyLCAyOSwgMjQwLCAzNSwgMTQsIDMsIDI1MiwgMTgyLCAyOSwgMTU1LCAxNCwgMywgMjUyLCAxODIsIAorICAgIDI5LCAyMzIsIDUwLCAxNCwgMywgMjUyLCAxODIsIDI5LCAyMzEsIDEyMywgMTQsIDMsIDI1MiwgMTgyLCAyOSwgMjE1LCAKKyAgICAyMTQsIDE0LCAzLCAyNTIsIDE4MiwgMjksIDIwOSwgMTcwLCAxNCwgMywgMjUyLCAxNzgsIDE0LCAzLCAyNTIsIDE3MCwgMTQsIAorICAgIDMsIDI1MiwgMTMyLCAxNCwgMywgMjUyLCAxMzMsIDI5LCAyMTUsIDIxNCwgMTQsIDMsIDI1MiwgMTIyLCAxNCwgMywgMjUyLCAKKyAgICAxMjMsIDEzMSwgMjUyLCAxMjIsIDE0LCAzLCAyNTIsIDEyMywgMTI5LCAyMTEsIDE3NSwgMTQsIDMsIDI1MiwgMTIzLCAxMDEsIAorICAgIDIyNSwgMjIzLCAyMjIsIDEyOSwgMjUyLCAxMjMsIDEwMSwgMjI1LCAyMjIsIDE0LCAzLCAyNTIsIDEyMywgMTAxLCAyMjUsIAorICAgIDIyMywgMjE0LCAxMDYsIDE0LCAzLCAyNTIsIDkzLCAxNCwgMywgMjUyLCA2MywgMTQsIDMsIDI1MiwgMzEsIDE0LCAzLCAKKyAgICAyNTIsIDMyLCAyOSwgMjMwLCAyMTAsIDE0LCAzLCAyNTIsIDMsIDE0LCAzLCAyNTEsIDIzMCwgMTQsIDMsIDI1MSwgMjI1LCAKKyAgICAxNCwgMywgMjUxLCAyMjYsIDIwNSwgMzYsIDIxMiwgODksIDE0LCAzLCAyNTEsIDIyNiwgMjMyLCA1NCwgMjEyLCA4OSwgMTQsIAorICAgIDMsIDI1MSwgMjI2LCAxMzEsIDI1MSwgMjI2LCAyMTAsIDE2NSwgMTMxLCAyMTAsIDE2NSwgMjEwLCAxNjUsIDEzMSwgMjEwLCAKKyAgICAxNjUsIDIyMSwgMjM2LCAxNCwgMywgMjUxLCAyMjYsIDEzMSwgMjUxLCAyMjYsIDEzMSwgMjUxLCAyMjUsIDE0LCAzLCAyNTEsIAorICAgIDIyNiwgMTMxLCAyNTEsIDIyNiwgMTMxLCAyNTEsIDIyNiwgMjQ3LCA1NCwgMjUxLCAyMjYsIDEzMSwgMjUxLCAyMjYsIDEzMSwgCisgICAgMjUxLCAyMjUsIDE0LCAzLCAyNTEsIDIyMywgMTQsIDMsIDI1MSwgMjE5LCAxNCwgMywgMjUwLCAxODMsIDE0LCAzLCAyNTAsIAorICAgIDE2NywgMTQsIDMsIDI1MCwgMTYyLCAxNCwgMywgMjUwLCAxNTcsIDE0LCAzLCAyNTAsIDE1MSwgMTQsIDMsIDI1MCwgMTUyLCAKKyAgICAxMzEsIDI1MCwgMTUxLCAxNCwgMywgMjUwLCAxNTAsIDE0LCAzLCAxMzQsIDE0LCAzLCAyNTAsIDEyOCwgMTQsIDMsIDI0OSwgCisgICAgMjQ0LCAxNCwgMywgMjQ5LCAyNDUsIDI5LCA2MiwgMTQsIDMsIDI0OSwgMjQ1LCAyOSwgMjQwLCAyMDQsIDE0LCAzLCAyNDksIAorICAgIDI0NSwgMjksIDIzMywgMTA1LCAyMzksIDE5MiwgMTQsIDMsIDI0OSwgMTAxLCAxNCwgMywgMjQ5LCAxMDIsIDEzMSwgMjQ5LCAKKyAgICAxMDIsIDI1MywgMTE1LCAxNCwgMywgMjQ5LCAxMDIsIDEzMSwgMjQ5LCAxMDIsIDIwOSwgMjM0LCAxNCwgMywgMjQ5LCAxMDIsIAorICAgIDI0NywgNTQsIDI0OSwgMTAxLCAxNCwgMywgMjQ5LCA3OSwgMTQsIDMsIDI0OSwgODAsIDEzMSwgMjQ5LCA3OSwgMTQsIDMsIAorICAgIDI0OSwgNjgsIDE0LCAzLCAyNDksIDY3LCAxNCwgMywgMjQ2LCAxNDUsIDE0LCAzLCAyNDYsIDEzNiwgMTQsIDMsIDI0NiwgCisgICAgMTM3LCAyMzEsIDk0LCAyOSwgMzIsIDEwMSwgMjI3LCAxNzgsIDE0LCAzLCAyNDYsIDEzNywgMjMxLCA5NCwgMjksIDI1MiwgCisgICAgMTMyLCAxNCwgMywgMjQ2LCAxMzcsIDIzMSwgOTQsIDI5LCAyNTAsIDE1MCwgMTQsIDMsIDI0NiwgMTM3LCAyMzEsIDk0LCAKKyAgICAyOSwgMjQ5LCAyNDQsIDE0LCAzLCAyNDYsIDEzNywgMjMxLCA5NCwgMjksIDI0MCwgMjQ0LCAxNCwgMywgMjQ2LCAxMzcsIAorICAgIDIzMSwgOTQsIDI5LCAyNDAsIDI0NSwgMTAxLCAyMjcsIDE3OCwgMTQsIDMsIDI0NiwgMTM3LCAyMzEsIDk0LCAyOSwgMjQwLCAKKyAgICA2MSwgMTQsIDMsIDI0NiwgMTM3LCAyMzEsIDk0LCAyOSwgMjQwLCA0MywgMTQsIDMsIDI0NiwgMTM3LCAyMzEsIDk0LCAyOSwgCisgICAgMjM5LCAyMDIsIDE0LCAzLCAyNDYsIDEzNywgMjMxLCA5NCwgMjksIDE1NSwgMTQsIDMsIDI0NiwgMTM3LCAyMzEsIDk0LCAKKyAgICAyOSwgMjMyLCAyNDMsIDE0LCAzLCAyNDYsIDEzNywgMjMxLCA5NCwgMjksIDIzMiwgMjQ0LCAxMDEsIDIyOSwgODEsIDE0LCAKKyAgICAzLCAyNDYsIDEzNywgMjMxLCA5NCwgMjksIDIzMiwgMzUsIDE0LCAzLCAyNDYsIDEzNywgMjMxLCA5NCwgMjksIDIzMCwgCisgICAgMTQxLCAxNCwgMywgMjQ2LCAxMzcsIDIzMSwgOTQsIDI5LCAyMjksIDgxLCAxNCwgMywgMjQ2LCAxMzcsIDIzMSwgOTQsIDI5LCAKKyAgICAyMjksIDgyLCAxMDEsIDIyNywgMTc3LCAxNCwgMywgMjQ2LCAxMzcsIDIzMSwgOTQsIDI5LCAyMjksIDY1LCAxNCwgMywgCisgICAgMjQ2LCAxMzcsIDIzMSwgOTQsIDI5LCAyMjUsIDExMCwgMTQsIDMsIDI0NiwgMTM3LCAyMzEsIDk0LCAyOSwgMjIxLCAyMzcsIAorICAgIDEwMSwgMjIxLCAyMzYsIDE0LCAzLCAyNDYsIDEzNywgMjMxLCA5NCwgMjksIDIxNSwgODAsIDE0LCAzLCAyNDYsIDEzNywgCisgICAgMjMxLCA5NCwgMjksIDIxMiwgMTg2LCAxNCwgMywgMjQ2LCAxMzcsIDIzMSwgOTQsIDI5LCAyMTAsIDIwLCAxMDEsIDI0MCwgCisgICAgNDMsIDE0LCAzLCAyNDYsIDEzNywgMjMxLCA5NCwgMjksIDIwOSwgMTcwLCAxNCwgMywgMjQ2LCAxMDksIDE0LCAzLCAyNDYsIAorICAgIDg4LCAxNCwgMywgMjQ2LCA4NywgMTQsIDMsIDI0NiwgODYsIDE0LCAzLCAyNDUsIDE2OCwgMTQsIDMsIDI0NSwgMTUwLCAxNCwgCisgICAgMywgMjQ1LCAxMjQsIDE0LCAzLCAyNDUsIDEyNSwgMjksIDIxNSwgMjE0LCAxNCwgMywgMjQ1LCAxMjMsIDE0LCAzLCAyNDUsIAorICAgIDExMywgMTQsIDMsIDI0NSwgMTE0LCAyMzEsIDI1NSwgMTA2LCAyMzksIDE5MywgMjQ1LCA5NCwgMTQsIDMsIDI0NSwgOTQsIAorICAgIDE0LCAzLCAyNDMsIDIzNywgMTQsIDMsIDI0MywgMjM4LCAxMzEsIDI0MywgMjM3LCAxNCwgMywgMjQzLCAyMzgsIDIzOSwgCisgICAgMTkyLCAxNCwgMywgMjQzLCAyMzgsIDIxNSwgMTk2LCAxNCwgMywgMjQzLCAyMzUsIDE0LCAzLCAyNDMsIDIzNiwgMjksIAorICAgIDI0MiwgMjEyLCAxNCwgMywgMjQzLCAyMzQsIDE0LCAzLCAyNDMsIDIzMywgMTQsIDMsIDI0MywgMjMyLCAxNCwgMywgMjQzLCAKKyAgICAyMzEsIDE0LCAzLCAyNDMsIDIyNywgMTQsIDMsIDI0MywgMjI1LCAxNCwgMywgMjQzLCAyMjYsIDIzOSwgMTkyLCAxNCwgMywgCisgICAgMjQzLCAyMjYsIDIzOSwgMTkzLCAyMzksIDE5MiwgMTQsIDMsIDI0MywgMjI0LCAxNCwgMywgMjQzLCAyMTcsIDE0LCAzLCAKKyAgICA3NSwgMTQsIDMsIDE3NCwgMjksIDIyMSwgMjM2LCAxNCwgMywgMTc0LCAxMzEsIDE3NCwgMjIzLCAxNzQsIDEzMSwgMjIzLCAKKyAgICAxNzMsIDE0LCAzLCAyNDMsIDEzMSwgMTQsIDMsIDI0MywgMTMyLCAyOSwgMzIsIDEwMSwgMjM5LCAxNDQsIDEwMSwgMjQ2LCAKKyAgICAxNDUsIDE0LCAzLCAyNDMsIDEzMiwgMjksIDI0MCwgMjA0LCAxNCwgMywgMjQzLCAxMzIsIDI5LCAyMjYsIDI1NCwgMTQsIDMsIAorICAgIDI0MywgMTMyLCAyOSwgMjE3LCAxNzIsIDE0LCAzLCAyNDMsIDEzMiwgMjksIDIxNSwgMjE0LCAxNCwgMywgMjQzLCAxMzIsIAorICAgIDI5LCA3MSwgMTQsIDMsIDI0MywgMTA2LCAxNCwgMywgMjQzLCA5NSwgMTQsIDMsIDI0MywgNjgsIDE0LCAzLCAyNDMsIDQxLCAKKyAgICAxNCwgMywgMjQzLCA0MiwgMjksIDI0MCwgMjEyLCAxNCwgMywgMjQzLCA0MiwgMjksIDI0MCwgMjEzLCAyMTIsIDg5LCAxNCwgCisgICAgMywgMjQzLCA0MiwgMjksIDIyNywgMTE5LCAxNCwgMywgMjQzLCA0MiwgMjQ3LCA1NCwgMjQzLCA0MSwgMTQsIDMsIDI0MywgCisgICAgNDIsIDIyMiwgMTI5LCAyNDMsIDQxLCAxNCwgMywgMjQzLCA0MiwgMjE0LCAxMDYsIDE0LCAzLCAyNDIsIDIzMiwgMTQsIDMsIAorICAgIDI0MiwgMjMwLCAxNCwgMywgMjQyLCAyMTIsIDE0LCAzLCAyNDIsIDE0MywgMTQsIDMsIDI0MiwgMTQ0LCAyOSwgNjIsIDE0LCAKKyAgICAzLCAyNDIsIDE0NCwgMjksIDMyLCAxMDEsIDIzMCwgMTA4LCAxNCwgMywgMjQyLCAxNDQsIDI5LCAzMiwgMTAxLCAyMzAsIAorICAgIDEwOSwgMjksIDIzMCwgMTA4LCAxNCwgMywgMjQyLCAxNDQsIDI5LCAyNTIsIDEyMiwgMTQsIDMsIDI0MiwgMTQ0LCAyOSwgCisgICAgMjUwLCAxNjcsIDE0LCAzLCAyNDIsIDE0NCwgMjksIDI0MywgMjI2LCAyMzksIDE5MiwgMTQsIDMsIDI0MiwgMTQ0LCAyOSwgCisgICAgMjQzLCAyMjYsIDIzOSwgMTkzLCAyMzksIDE5MiwgMTQsIDMsIDI0MiwgMTQ0LCAyOSwgMTU1LCAxNCwgMywgMjQyLCAxNDQsIAorICAgIDI5LCAyMzksIDE0NCwgMjM5LCAxOTIsIDE0LCAzLCAyNDIsIDE0NCwgMjksIDIzMywgMTA1LCAyMzksIDE5MiwgMTQsIDMsIAorICAgIDI0MiwgMTQ0LCAyOSwgMjMxLCAyNTQsIDE0LCAzLCAyNDIsIDE0NCwgMjksIDIzMSwgMjU1LCAyMTQsIDEwNiwgMTQsIDMsIAorICAgIDI0MiwgMTQ0LCAyOSwgMjMwLCAyMzQsIDE0LCAzLCAyNDIsIDE0NCwgMjksIDIzMCwgMTQxLCAxNCwgMywgMjQyLCAxNDQsIAorICAgIDI5LCAyMzAsIDEwOSwgMjksIDIzMCwgMTA4LCAxNCwgMywgMjQyLCAxNDQsIDI5LCAyMjksIDIzNSwgMTQsIDMsIDI0MiwgCisgICAgMTQ0LCAyOSwgMjI5LCA4MSwgMTQsIDMsIDI0MiwgMTQ0LCAyOSwgMjEwLCAxOSwgMTQsIDMsIDI0MiwgMTQ0LCAyOSwgMjEwLCAKKyAgICA4LCAxNCwgMywgMjQwLCAyNDQsIDE0LCAzLCAyNDAsIDI0NSwgMjM5LCAxOTIsIDE0LCAzLCAyNDAsIDI0MiwgMTQsIDMsIAorICAgIDI0MCwgMjQzLCAyOSwgMzIsIDEwMSwgMjQ2LCAxNDYsIDEwMSwgMTU1LCAxNCwgMywgMjQwLCAyNDMsIDI5LCAzMiwgMTAxLCAKKyAgICAxNTUsIDE0LCAzLCAyNDAsIDI0MywgMjksIDMyLCAxMDEsIDIzMywgMTA0LCAxNCwgMywgMjQwLCAyNDMsIDI5LCAyNTMsIAorICAgIDMzLCAyMTIsIDkwLCAxMDEsIDIxMiwgMjA3LCAxNCwgMywgMjQwLCAyNDMsIDI5LCAyNTIsIDEyMiwgMTQsIDMsIDI0MCwgCisgICAgMjQzLCAyOSwgMjUxLCAyMjUsIDE0LCAzLCAyNDAsIDI0MywgMjksIDI1MSwgMjI0LCAxMDEsIDI0MCwgMjI2LCAxNCwgMywgCisgICAgMjQwLCAyNDMsIDI5LCAyNTAsIDE2NywgMTQsIDMsIDI0MCwgMjQzLCAyOSwgMjUwLCAxMjksIDEwMSwgMjE5LCAxMTMsIDE0LCAKKyAgICAzLCAyNDAsIDI0MywgMjksIDI0OSwgNjgsIDE0LCAzLCAyNDAsIDI0MywgMjksIDI0OSwgNjksIDEwMSwgMjE5LCAxMTMsIAorICAgIDE0LCAzLCAyNDAsIDI0MywgMjksIDI0NiwgMTQ1LCAxNCwgMywgMjQwLCAyNDMsIDI5LCAyNDUsIDE2OCwgMTQsIDMsIDI0MCwgCisgICAgMjQzLCAyOSwgMjQ1LCAxMjUsIDI5LCAyMTUsIDIxNCwgMTQsIDMsIDI0MCwgMjQzLCAyOSwgMjQzLCAyMzUsIDE0LCAzLCAKKyAgICAyNDAsIDI0MywgMjksIDI0MywgNjgsIDE0LCAzLCAyNDAsIDI0MywgMjksIDI0MywgNjksIDEwMSwgMjMwLCAxNDEsIDE0LCAKKyAgICAzLCAyNDAsIDI0MywgMjksIDI0MywgNDEsIDE0LCAzLCAyNDAsIDI0MywgMjksIDI0MywgNDIsIDI5LCAyNDAsIDIxMywgCisgICAgMjEyLCA4OSwgMTQsIDMsIDI0MCwgMjQzLCAyOSwgMjQwLCAyMTMsIDIxMiwgODksIDE0LCAzLCAyNDAsIDI0MywgMjksIAorICAgIDI0MCwgMjA0LCAxNCwgMywgMjQwLCAyNDMsIDI5LCAyNDAsIDYxLCAxNCwgMywgMjQwLCAyNDMsIDI5LCAyNDAsIDU5LCAxNCwgCisgICAgMywgMjQwLCAyNDMsIDI5LCAyNDAsIDYwLCAxMDEsIDYyLCAxNCwgMywgMjQwLCAyNDMsIDI5LCAyNDAsIDQ0LCAxMDEsIAorICAgIDIxMywgMjAzLCAxNCwgMywgMjQwLCAyNDMsIDI5LCAyMzksIDE0NCwgMTAxLCAyMjksIDgyLCAxMDEsIDI0MiwgMjEyLCAxNCwgCisgICAgMywgMjQwLCAyNDMsIDI5LCAyMzksIDEyNCwgMTQsIDMsIDI0MCwgMjQzLCAyOSwgMjM5LCAxMjUsIDEwMSwgMjMwLCAxNDEsIAorICAgIDE0LCAzLCAyNDAsIDI0MywgMjksIDIzOSwgMTIsIDEwMSwgMjI5LCAyMzUsIDE0LCAzLCAyNDAsIDI0MywgMjksIDIzOCwgCisgICAgMzcsIDE0LCAzLCAyNDAsIDI0MywgMjksIDIzMywgMTA1LCAyMzksIDE5MiwgMTQsIDMsIDI0MCwgMjQzLCAyOSwgMjMyLCAKKyAgICAyMjksIDEwMSwgMjM4LCA0MywgMTAxLCAyNTEsIDIyNSwgMTQsIDMsIDI0MCwgMjQzLCAyOSwgMjMyLCAzNSwgMTQsIDMsIAorICAgIDI0MCwgMjQzLCAyOSwgMjMxLCAyNTQsIDE0LCAzLCAyNDAsIDI0MywgMjksIDIzMSwgMTE3LCAxNCwgMywgMjQwLCAyNDMsIAorICAgIDI5LCAyMzEsIDExOCwgMTAxLCAyMzAsIDEwOCwgMTQsIDMsIDI0MCwgMjQzLCAyOSwgMjMwLCAyMzUsIDEwMSwgMjUyLCAKKyAgICAxMjIsIDE0LCAzLCAyNDAsIDI0MywgMjksIDIzMCwgMTQxLCAxNCwgMywgMjQwLCAyNDMsIDI5LCAyMjcsIDEyMCwgMTAxLCAKKyAgICAyNDMsIDQxLCAxNCwgMywgMjQwLCAyNDMsIDI5LCAyMjYsIDI1NCwgMTQsIDMsIDI0MCwgMjQzLCAyOSwgMjIzLCAxNzMsIAorICAgIDE0LCAzLCAyNDAsIDI0MywgMjksIDIyMywgMTc0LCAxMzEsIDIyMywgMTczLCAxNCwgMywgMjQwLCAyNDMsIDI5LCAxNzksIAorICAgIDE0LCAzLCAyNDAsIDI0MywgMjksIDIxNywgMTcyLCAxNCwgMywgMjQwLCAyNDMsIDI5LCAyMTcsIDEzOCwgMTQsIDMsIDI0MCwgCisgICAgMjQzLCAyOSwgMjE1LCAyMTQsIDE0LCAzLCAyNDAsIDI0MywgMjksIDIxNSwgMjE1LCAxMDEsIDIxMCwgMTQ5LCAxNCwgMywgCisgICAgMjQwLCAyNDMsIDI5LCAyMTUsIDE4MSwgMTQsIDMsIDI0MCwgMjQzLCAyOSwgMjEzLCAxNjAsIDE0LCAzLCAyNDAsIDI0MywgCisgICAgMjksIDIxMiwgMTg2LCAxNCwgMywgMjQwLCAyNDMsIDI5LCA3MSwgMTQsIDMsIDI0MCwgMjQzLCAyOSwgMjEwLCA4LCAxNCwgCisgICAgMywgMjQwLCAyNDMsIDI5LCAyMTAsIDksIDEwMSwgMjQzLCAyMzcsIDE0LCAzLCAyNDAsIDI0MywgMTMxLCAyNDAsIDI0MiwgCisgICAgMTQsIDMsIDI0MCwgMjM3LCAxNCwgMywgMjQwLCAyMzgsIDI0NywgNTQsIDI0MCwgMjM3LCAxNCwgMywgMjQwLCAyMzUsIDE0LCAKKyAgICAzLCAyNDAsIDIzNiwgMTMxLCAyNDAsIDIzNiwgMjQwLCAyMDUsIDEzMSwgMjQwLCAyMDQsIDE0LCAzLCAyNDAsIDIyNiwgMTQsIAorICAgIDMsIDI0MCwgMjI3LCAyNDAsIDIzNiwgMTMxLCAyNDAsIDIzNiwgMjQwLCAyMDUsIDEzMSwgMjQwLCAyMDQsIDE0LCAzLCAKKyAgICAyNDAsIDIyNSwgMTQsIDMsIDI0MCwgMjIzLCAxNCwgMywgMjQwLCAyMTQsIDE0LCAzLCAyNDAsIDIxMiwgMTQsIDMsIDI0MCwgCisgICAgMjEzLCAyMTIsIDg5LCAxNCwgMywgMjQwLCAyMTMsIDEzMSwgMjQwLCAyMTIsIDE0LCAzLCAyNDAsIDIxMywgMjQ3LCA1NCwgCisgICAgMjQwLCAyMTIsIDE0LCAzLCAyNDAsIDIwNCwgMTQsIDMsIDI0MCwgMjAzLCAxNCwgMywgMjQwLCAxOTgsIDE0LCAzLCAyNDAsIAorICAgIDE0MiwgMTQsIDMsIDI0MCwgMTQzLCAyOSwgMjMwLCAyMTAsIDE0LCAzLCAyNDAsIDYxLCAxNCwgMywgMjQwLCA2MiwgMjksIAorICAgIDc1LCAxNCwgMywgMjQwLCA2MiwgMjksIDcxLCAxNCwgMywgMjQwLCA2MiwgMjQ3LCA1NCwgMjQwLCA2MSwgMTQsIDMsIDI0MCwgCisgICAgNTksIDE0LCAzLCAyNDAsIDYwLCAxMzEsIDI0MCwgNTksIDE0LCAzLCAyNDAsIDYwLCAyNDcsIDU0LCAyNDAsIDU5LCAxNCwgCisgICAgMywgMjQwLCA1NiwgMTQsIDMsIDI0MCwgNDMsIDE0LCAzLCAyNDAsIDQ0LCAyMzksIDE5MiwgMTQsIDMsIDI0MCwgNDEsIDE0LCAKKyAgICAzLCAyNDAsIDQyLCAyOSwgMzIsIDEwMSwgMjMzLCAxMDQsIDE0LCAzLCAyNDAsIDQyLCAyOSwgMjQwLCAyMTMsIDIxMiwgODksIAorICAgIDE0LCAzLCAyNDAsIDQyLCAyOSwgMjMzLCAxMDQsIDE0LCAzLCAyNDAsIDQyLCAyOSwgMjI5LCA4MiwgMTAxLCAyMzMsIDEwNCwgCisgICAgMTQsIDMsIDI0MCwgNDIsIDI5LCAxNzksIDE0LCAzLCAyNDAsIDM3LCAxNCwgMywgMjQwLCAzNSwgMTQsIDMsIDI0MCwgMzYsIAorICAgIDI0NywgNTQsIDI0MCwgMzUsIDE0LCAzLCAyNDAsIDM2LCAyOSwgMjUwLCAxNjcsIDE0LCAzLCAyNDAsIDM2LCAyOSwgMjEyLCAKKyAgICAxODYsIDE0LCAzLCAyNDAsIDM2LCAyMTIsIDg5LCAxNCwgMywgMjM5LCAyMTMsIDE0LCAzLCAyMzksIDIxNCwgMjQ3LCA1NCwgCisgICAgMjM5LCAyMTMsIDE0LCAzLCAyMzksIDIxMSwgMTQsIDMsIDIzOSwgMjEyLCAyOSwgMjMyLCAzNSwgMTQsIDMsIDIzOSwgMjEyLCAKKyAgICAyOSwgMjMyLCAzNiwgMjksIDIzMywgMTA1LCAyMzksIDE5MiwgMTQsIDMsIDIzOSwgMjEyLCAyOSwgMjIzLCAxNzMsIDE0LCAKKyAgICAzLCAyMzksIDIxMiwgMjksIDIxNywgMTczLCAxMDEsIDIxMCwgMTY0LCAxNCwgMywgMjM5LCAyMTIsIDIzOSwgMTkyLCAxNCwgCisgICAgMywgMjM5LCAyMDIsIDE0LCAzLCAyMzksIDIwMywgMjksIDMyLCAxMDEsIDIzMCwgMjEwLCAxNCwgMywgMjM5LCAyMDMsIDI5LCAKKyAgICAyMzAsIDIxMCwgMTQsIDMsIDIzOSwgMjAzLCAxMzEsIDIzOSwgMjAzLCAyMjksIDcyLCAxNCwgMywgMjM5LCAxOTYsIDE0LCAKKyAgICAzLCAyMzksIDE5NCwgMTQsIDMsIDIzOSwgMTk1LCAyOSwgMjE1LCAyMTQsIDE0LCAzLCAyMzksIDE4NiwgMTQsIDMsIDIzOSwgCisgICAgMTg1LCAxNCwgMywgMjM5LCAxODEsIDE0LCAzLCAyMzksIDE4MCwgMTQsIDMsIDE1NSwgMTQsIDMsIDIzOSwgMTQ0LCAyMTIsIAorICAgIDg5LCAxNCwgMywgMjM5LCAxNDQsIDIzOSwgMTkyLCAxNCwgMywgMjM5LCAxMjQsIDE0LCAzLCAyMzksIDExLCAxNCwgMywgCisgICAgMjM5LCAxMiwgMjksIDI1MSwgMjI1LCAxNCwgMywgMjM5LCAxMiwgMjksIDI1MSwgMjIzLCAxNCwgMywgMjM5LCAxMiwgMjksIAorICAgIDI1MCwgMTY3LCAxNCwgMywgMjM5LCAxMiwgMjksIDI0NSwgOTQsIDE0LCAzLCAyMzksIDEyLCAyOSwgMjQwLCAyMzUsIDE0LCAKKyAgICAzLCAyMzksIDEyLCAyOSwgMjMxLCAxMDksIDE0LCAzLCAyMzksIDEyLCAyOSwgMjIzLCAxNzMsIDE0LCAzLCAyMzksIDEyLCAKKyAgICAyOSwgMjE1LCAyMTQsIDE0LCAzLCAyMzksIDEyLCAyOSwgNzEsIDE0LCAzLCAyMzgsIDQyLCAxNCwgMywgMjM4LCAzNywgMTQsIAorICAgIDMsIDIzOCwgMzgsIDI5LCAyNTIsIDEyMiwgMTQsIDMsIDIzOCwgMzgsIDI5LCAyMzksIDEyNCwgMTQsIDMsIDIzOCwgMzgsIAorICAgIDI5LCAyMzEsIDI1NCwgMTQsIDMsIDIzOCwgMzgsIDI5LCAyMjksIDE4NiwgMTQsIDMsIDIzOCwgMzgsIDI5LCAyMTAsIDgsIAorICAgIDE0LCAzLCAyMzgsIDM0LCAxNCwgMywgNzQsIDE0LCAzLCAyMzcsIDIyNSwgNjIsIDE0LCAzLCAyMzcsIDE4NSwgMTQsIDMsIAorICAgIDIzMywgMTMyLCAxNCwgMywgMjMzLCAxMzMsIDEzMSwgMjMzLCAxMzMsIDI0OSwgNjgsIDE0LCAzLCAyMzMsIDEzMywgMTMxLCAKKyAgICAyMzMsIDEzMywgMjE0LCAxMDYsIDE0LCAzLCAyMzMsIDEwNywgMTQsIDMsIDIzMywgMTA0LCAxNCwgMywgMjMzLCAxMDUsIAorICAgIDI0NSwgMTUwLCAxNCwgMywgMjMzLCAxMDUsIDIxOCwgMjA4LCAxNCwgMywgMjMzLCAxMDUsIDEzMSwgMjMzLCAxMDUsIDIxNSwgCisgICAgMTY1LCAxMzEsIDIxNSwgMTY1LCAyMTAsIDksIDEzMSwgMjEwLCA4LCAxNCwgMywgMjMzLCAxMDUsIDIzOSwgMTkyLCAxNCwgCisgICAgMywgMjMzLCA5NiwgMTQsIDMsIDIzMywgOTcsIDI5LCAyNDAsIDIxMywgMjEyLCA4OSwgMTQsIDMsIDIzMywgOTUsIDE0LCAzLCAKKyAgICAyMzMsIDg1LCAxNCwgMywgMjMzLCA4NiwgMjksIDIxMiwgMTg2LCAxNCwgMywgMjMzLCA4NiwgMjQ3LCA1NCwgMjMzLCA4NSwgCisgICAgMTQsIDMsIDIzMywgODYsIDIyMiwgMTI5LCAyMzMsIDg1LCAxNCwgMywgMjMzLCA4NiwgMjE0LCAxMDYsIDE0LCAzLCAyMzMsIAorICAgIDc4LCAxNCwgMywgMjMzLCA2OCwgMTQsIDMsIDIzMiwgMjQzLCAxNCwgMywgMjMyLCAyMjgsIDE0LCAzLCAxNzIsIDE0LCAzLCAKKyAgICAyMzIsIDY2LCAyOSwgNjIsIDE0LCAzLCAyMzIsIDY2LCAyOSwgMjUzLCA1LCAxNCwgMywgMjMyLCA2NiwgMjksIDI1MywgNiwgCisgICAgMTAxLCAyMzAsIDIzNCwgMTQsIDMsIDIzMiwgNjYsIDI5LCAyNTEsIDIyMywgMTQsIDMsIDIzMiwgNjYsIDI5LCAyNTAsIAorICAgIDE2NywgMTQsIDMsIDIzMiwgNjYsIDI5LCAyNTAsIDE1MCwgMTQsIDMsIDIzMiwgNjYsIDI5LCAxMzQsIDE0LCAzLCAyMzIsIAorICAgIDY2LCAyOSwgMjQ5LCAyNDQsIDE0LCAzLCAyMzIsIDY2LCAyOSwgMjQyLCAyMzAsIDE0LCAzLCAyMzIsIDY2LCAyOSwgMjQyLCAKKyAgICAyMTIsIDE0LCAzLCAyMzIsIDY2LCAyOSwgMjQwLCAyNDQsIDE0LCAzLCAyMzIsIDY2LCAyOSwgMjQwLCAyMjYsIDE0LCAzLCAKKyAgICAyMzIsIDY2LCAyOSwgMjQwLCAyMTMsIDIxMiwgODksIDE0LCAzLCAyMzIsIDY2LCAyOSwgMjQwLCAyMDQsIDE0LCAzLCAyMzIsIAorICAgIDY2LCAyOSwgMjQwLCAyMDUsIDEwMSwgMjE2LCAxLCAxMDEsIDYyLCAxNCwgMywgMjMyLCA2NiwgMjksIDI0MCwgNjEsIDE0LCAKKyAgICAzLCAyMzIsIDY2LCAyOSwgMjQwLCA0MywgMTQsIDMsIDIzMiwgNjYsIDI5LCAyNDAsIDM2LCAxMDEsIDIxNywgMTM4LCAxNCwgCisgICAgMywgMjMyLCA2NiwgMjksIDI0MCwgMzYsIDI0NywgNTQsIDI0MCwgMzUsIDE0LCAzLCAyMzIsIDY2LCAyOSwgMjM5LCAyMTMsIAorICAgIDE0LCAzLCAyMzIsIDY2LCAyOSwgMjM5LCAxODUsIDE0LCAzLCAyMzIsIDY2LCAyOSwgMjMzLCAxMDQsIDE0LCAzLCAyMzIsIAorICAgIDY2LCAyOSwgMjMzLCA4NSwgMTQsIDMsIDIzMiwgNjYsIDI5LCAyMzIsIDM1LCAxNCwgMywgMjMyLCA2NiwgMjksIDIzMSwgCisgICAgMTIzLCAxNCwgMywgMjMyLCA2NiwgMjksIDIzMSwgMTE3LCAxNCwgMywgMjMyLCA2NiwgMjksIDIyOSwgMjM1LCAxNCwgMywgCisgICAgMjMyLCA2NiwgMjksIDIyOSwgODEsIDE0LCAzLCAyMzIsIDY2LCAyOSwgMjI3LCAxMTksIDE0LCAzLCAyMzIsIDY2LCAyOSwgCisgICAgMjI3LCAxMjAsIDEwMSwgMjQzLCAyMzcsIDE0LCAzLCAyMzIsIDY2LCAyOSwgMjI3LCAxMjAsIDEwMSwgMjQwLCA2MSwgMTQsIAorICAgIDMsIDIzMiwgNjYsIDI5LCAyMjcsIDEyMCwgMTAxLCAyMTIsIDEzMSwgMTQsIDMsIDIzMiwgNjYsIDI5LCAyMjYsIDI1NCwgCisgICAgMTQsIDMsIDIzMiwgNjYsIDI5LCAyMjYsIDI1NSwgMTAxLCAyMjMsIDE2OCwgMTQsIDMsIDIzMiwgNjYsIDI5LCAyMjUsIAorICAgIDExMCwgMTQsIDMsIDIzMiwgNjYsIDI5LCAyMjMsIDE3MywgMTQsIDMsIDIzMiwgNjYsIDI5LCAyMjEsIDUzLCAxNCwgMywgCisgICAgMjMyLCA2NiwgMjksIDIxOCwgNTAsIDE0LCAzLCAyMzIsIDY2LCAyOSwgMjE3LCAxOTksIDE0LCAzLCAyMzIsIDY2LCAyOSwgCisgICAgMjE3LCAxMzgsIDE0LCAzLCAyMzIsIDY2LCAyOSwgMjE2LCAyLCAxNCwgMywgMjMyLCA2NiwgMjksIDIxNSwgMjE0LCAxNCwgCisgICAgMywgMjMyLCA2NiwgMjksIDIxNSwgMTgxLCAxNCwgMywgMjMyLCA2NiwgMjksIDIxNSwgMTE2LCAxNCwgMywgMjMyLCA2NiwgCisgICAgMjksIDIxNSwgNjgsIDE0LCAzLCAyMzIsIDY2LCAyOSwgMjEzLCAxNjksIDE0LCAzLCAyMzIsIDY2LCAyOSwgMjEyLCAxNjIsIAorICAgIDE0LCAzLCAyMzIsIDY2LCAyOSwgNzEsIDE0LCAzLCAyMzIsIDY2LCAyOSwgMjEwLCAxOSwgMTQsIDMsIDIzMiwgNjYsIDI5LCAKKyAgICAyMTAsIDgsIDE0LCAzLCAyMzIsIDY2LCAyOSwgMjA5LCAyMzcsIDI5LCAxNzksIDE0LCAzLCAyMzIsIDY2LCAyOSwgMjA5LCAKKyAgICAxNzAsIDE0LCAzLCAyMzIsIDY2LCAyOSwgMjA1LCA0MCwgMTQsIDMsIDIzMiwgNjQsIDE0LCAzLCAyMzIsIDY1LCAyNDcsIAorICAgIDU0LCAyMzIsIDY0LCAxNCwgMywgMjMyLCA1NSwgMTQsIDMsIDIzMiwgNTIsIDE0LCAzLCAyMzIsIDUwLCAxNCwgMywgMjMyLCAKKyAgICA0OSwgMTQsIDMsIDIzMiwgNDcsIDE0LCAzLCAyMzIsIDQ4LCAxMzEsIDIzMiwgNDcsIDE0LCAzLCAyMzIsIDM1LCAxNCwgMywgCisgICAgMjMyLCAzNiwgMjksIDIzMywgMTA1LCAyMzksIDE5MiwgMTQsIDMsIDIzMiwgMzEsIDE0LCAzLCAyMzIsIDMyLCAyOSwgMjUwLCAKKyAgICAxNjcsIDE0LCAzLCAyMzIsIDMyLCAyNDcsIDU0LCAyMzIsIDMxLCAxNCwgMywgMjMyLCAyOSwgMTQsIDMsIDIzMiwgMjgsIAorICAgIDE0LCAzLCAyMzEsIDI1NCwgMTQsIDMsIDIzMSwgMjU1LCAyMzAsIDEyMywgMjksIDEwNiwgMTMxLCAyMzAsIDEyMywgMjksIAorICAgIDcxLCAxNCwgMywgMjMxLCAyNTUsIDEzMSwgMjMxLCAyNTUsIDIzMCwgMTIzLCAyOSwgMTA2LCAxMzEsIDIzMCwgMTIzLCAyOSwgCisgICAgNzEsIDE0LCAzLCAyMzEsIDE5NCwgMTQsIDMsIDIzMSwgMTIzLCAxNCwgMywgMjMxLCAxMjQsIDI5LCAyNTAsIDE2NywgMTQsIAorICAgIDMsIDIzMSwgMTI0LCAyOSwgNzEsIDE0LCAzLCAyMzEsIDEyNCwgMjksIDIxMCwgOCwgMTQsIDMsIDIzMSwgMTE3LCAxNCwgMywgCisgICAgMjMxLCAxMDksIDE0LCAzLCAyMzEsIDk2LCAxNCwgMywgMjMxLCA5NSwgMTQsIDMsIDIzMSwgOTMsIDE0LCAzLCAyMzEsIDk0LCAKKyAgICAxMzEsIDIzMSwgOTMsIDE0LCAzLCAyMzAsIDIzNiwgMTQsIDMsIDIzMCwgMjM3LCAxMzEsIDIzOSwgMTIsIDI5LCAyNTEsIAorICAgIDIyNCwgMjMwLCAyMzcsIDEzMSwgMjM5LCAxMiwgMjksIDI1MSwgMjIzLCAxNCwgMywgMjMwLCAyMzQsIDE0LCAzLCAyMzAsIAorICAgIDIzMiwgMTQsIDMsIDIzMCwgMjMzLCAyMDksIDUzLCAxNywgMTQsIDMsIDIzMCwgMjMxLCAxNCwgMywgMjMwLCAyMjMsIDE0LCAKKyAgICAzLCAyMzAsIDIyNCwgMjM5LCAxOTIsIDE0LCAzLCAyMzAsIDIyMiwgMTQsIDMsIDIzMCwgMjEwLCAxNCwgMywgMjMwLCAyMTEsIAorICAgIDIyMiwgMTI5LCAyMzAsIDIxMCwgMTQsIDMsIDIzMCwgMjA1LCAxNCwgMywgMjMwLCAxODMsIDE0LCAzLCAyMzAsIDE0MSwgCisgICAgMTQsIDMsIDIzMCwgMTIyLCAxNCwgMywgMjMwLCAxMjMsIDI5LCA2MiwgMTQsIDMsIDIzMCwgMTIzLCAyOSwgMzIsIDEwMSwgCisgICAgMjQ2LCAxNDYsIDEwMSwgMTU1LCAxNCwgMywgMjMwLCAxMjMsIDI5LCAzMiwgMTAxLCAyNDAsIDIwNCwgMTQsIDMsIDIzMCwgCisgICAgMTIzLCAyOSwgMzIsIDEwMSwgMjMwLCAxMDgsIDE0LCAzLCAyMzAsIDEyMywgMjksIDI1MiwgMTgxLCAxNCwgMywgMjMwLCAKKyAgICAxMjMsIDI5LCAyNTIsIDEyMiwgMTQsIDMsIDIzMCwgMTIzLCAyOSwgMjUxLCAyMjYsIDIwNSwgMzYsIDIxMiwgODksIDE0LCAKKyAgICAzLCAyMzAsIDEyMywgMjksIDI1MCwgMTY3LCAxNCwgMywgMjMwLCAxMjMsIDI5LCAyNDksIDI0NCwgMTQsIDMsIDIzMCwgCisgICAgMTIzLCAyOSwgMjQ2LCA4OCwgMTQsIDMsIDIzMCwgMTIzLCAyOSwgMjQzLCA0MSwgMTQsIDMsIDIzMCwgMTIzLCAyOSwgMjQwLCAKKyAgICAyNDQsIDE0LCAzLCAyMzAsIDEyMywgMjksIDI0MCwgMjA0LCAxNCwgMywgMjMwLCAxMjMsIDI5LCAyMzksIDIwMiwgMTQsIDMsIAorICAgIDIzMCwgMTIzLCAyOSwgMjM5LCAyMDMsIDEwMSwgMjM5LCAyMDIsIDE0LCAzLCAyMzAsIDEyMywgMjksIDE1NSwgMTQsIDMsIAorICAgIDIzMCwgMTIzLCAyOSwgMjM5LCAxMjQsIDE0LCAzLCAyMzAsIDEyMywgMjksIDIzOSwgMTIsIDI5LCAyMjMsIDE3MywgMTQsIAorICAgIDMsIDIzMCwgMTIzLCAyOSwgMjMzLCAxMDUsIDIzOSwgMTkyLCAxNCwgMywgMjMwLCAxMjMsIDI5LCAyMzMsIDg1LCAxNCwgMywgCisgICAgMjMwLCAxMjMsIDI5LCAyMzMsIDg2LCAxMDEsIDE1NSwgMTQsIDMsIDIzMCwgMTIzLCAyOSwgMjMzLCA4NiwgMTAxLCAyMjksIAorICAgIDgxLCAxNCwgMywgMjMwLCAxMjMsIDI5LCAyMzEsIDEyMywgMTQsIDMsIDIzMCwgMTIzLCAyOSwgMjMxLCAxMDksIDE0LCAzLCAKKyAgICAyMzAsIDEyMywgMjksIDIzMCwgMjM0LCAxNCwgMywgMjMwLCAxMjMsIDI5LCAyMzAsIDIyMywgMTQsIDMsIDIzMCwgMTIzLCAKKyAgICAyOSwgMjMwLCAyMjQsIDEwMSwgMjM5LCAxMiwgMTAxLCA2MiwgMTQsIDMsIDIzMCwgMTIzLCAyOSwgMjMwLCAxMjIsIDE0LCAKKyAgICAzLCAyMzAsIDEyMywgMjksIDIyOSwgMTg2LCAxNCwgMywgMjMwLCAxMjMsIDI5LCAyMjksIDgxLCAxNCwgMywgMjMwLCAxMjMsIAorICAgIDI5LCAyMjksIDY3LCAxNCwgMywgMjMwLCAxMjMsIDI5LCAyMjcsIDExOSwgMTQsIDMsIDIzMCwgMTIzLCAyOSwgMjI3LCAKKyAgICAxMjAsIDEwMSwgMjQzLCA0MSwgMTQsIDMsIDIzMCwgMTIzLCAyOSwgMjI2LCA2OSwgMTQsIDMsIDIzMCwgMTIzLCAyOSwgCisgICAgMjI1LCAxMTAsIDE0LCAzLCAyMzAsIDEyMywgMjksIDIxNSwgMjE1LCAxMDEsIDIxMywgMTYwLCAxNCwgMywgMjMwLCAxMjMsIAorICAgIDI5LCAyMTUsIDE2MSwgMTAxLCAyNDAsIDM2LCAxMDEsIDI0MiwgMjMwLCAxNCwgMywgMjMwLCAxMjMsIDI5LCAyMTUsIDE2MSwgCisgICAgMTAxLCAyNDAsIDM2LCAyMTIsIDg5LCAxNCwgMywgMjMwLCAxMjMsIDI5LCAyMTUsIDExNCwgMTQsIDMsIDIzMCwgMTIzLCAKKyAgICAyOSwgMjE1LCAxMTUsIDEwMSwgMjE1LCAxMTQsIDE0LCAzLCAyMzAsIDEyMywgMjksIDIxMywgMTYwLCAxNCwgMywgMjMwLCAKKyAgICAxMjMsIDI5LCAyMTIsIDE5OCwgMTQsIDMsIDIzMCwgMTIzLCAyOSwgMjEyLCAxODYsIDE0LCAzLCAyMzAsIDEyMywgMjksIAorICAgIDIxMiwgMTMyLCAxMDEsIDMyLCAxMDEsIDIxMywgMjA0LCAxMDEsIDE5OSwgMTQsIDMsIDIzMCwgMTIzLCAyOSwgNzEsIDE0LCAKKyAgICAzLCAyMzAsIDEyMywgMjksIDEwNiwgMTAxLCA2MiwgMTQsIDMsIDIzMCwgMTIzLCAyOSwgMTA2LCAxMDEsIDEwNiwgMTAxLCAKKyAgICA3MSwgMTQsIDMsIDIzMCwgMTIzLCAyOSwgMjEwLCAyMCwgMTAxLCAyNTEsIDIyNSwgMTQsIDMsIDIzMCwgMTIzLCAyOSwgCisgICAgMjEwLCA4LCAxNCwgMywgMjMwLCAxMjMsIDI5LCAyMDksIDE3MCwgMTQsIDMsIDIzMCwgMTIzLCAyMTQsIDEwNiwgMTQsIDMsIAorICAgIDIzMCwgMTIwLCAxNCwgMywgMjMwLCAxMjEsIDI5LCAyMTUsIDIxNCwgMTQsIDMsIDIzMCwgMTIxLCAyOSwgMjE1LCAyMTUsIAorICAgIDEwMSwgMjEzLCAxNjAsIDE0LCAzLCAyMzAsIDEyMSwgMjM5LCAxOTIsIDE0LCAzLCAyMzAsIDEyMSwgMjM5LCAxOTMsIDEzMSwgCisgICAgMjMwLCAxMjEsIDIzOSwgMTkzLCAyMTUsIDIxNCwgMTQsIDMsIDIzMCwgMTE2LCAxNCwgMywgMjMwLCAxMDgsIDE0LCAzLCAKKyAgICAyMzAsIDEwOSwgMjksIDIzMCwgMTA4LCAxNCwgMywgMjMwLCAxMDYsIDE0LCAzLCAyMzAsIDEwNywgMjksIDIzMCwgMjEwLCAKKyAgICAxNCwgMywgMjMwLCAxMDcsIDI5LCAyMzAsIDIxMSwgMTAxLCAyMTgsIDUwLCAxNCwgMywgMjI5LCAyMzUsIDE0LCAzLCAyMjksIAorICAgIDIxOCwgMTQsIDMsIDIyOSwgMjA4LCAxNCwgMywgMjI5LCAxODYsIDE0LCAzLCAyMjksIDgxLCAxNCwgMywgMjI5LCA4MiwgCisgICAgMjksIDI1MCwgMTY3LCAxNCwgMywgMjI5LCA3OSwgMTQsIDMsIDIyOSwgODAsIDI5LCAyNTIsIDE4MSwgMTQsIDMsIDIyOSwgCisgICAgODAsIDI5LCAyNTAsIDE2NywgMTQsIDMsIDIyOSwgODAsIDI5LCAyNDIsIDIxMiwgMTQsIDMsIDIyOSwgODAsIDI5LCAyNDIsIAorICAgIDIxMywgMjEyLCA4OSwgMTQsIDMsIDIyOSwgODAsIDI5LCAyNDAsIDIxMywgMjEyLCA4OSwgMTQsIDMsIDIyOSwgODAsIDI5LCAKKyAgICAyMzksIDEyLCAyOSwgMjUwLCAxNjcsIDE0LCAzLCAyMjksIDgwLCAyOSwgMjMzLCA4NSwgMTQsIDMsIDIyOSwgODAsIDI5LCAKKyAgICAyMzIsIDUyLCAxNCwgMywgMjI5LCA4MCwgMjksIDIzMiwgNTAsIDE0LCAzLCAyMjksIDgwLCAyOSwgMjMyLCA1MSwgMTAxLCAKKyAgICAyNTEsIDIyNSwgMTQsIDMsIDIyOSwgODAsIDI5LCAyMzEsIDEyMywgMTQsIDMsIDIyOSwgODAsIDI5LCAyMzAsIDE0MiwgCisgICAgMTAxLCAyNTEsIDIyNSwgMTQsIDMsIDIyOSwgODAsIDI5LCAyMzAsIDEyMiwgMTQsIDMsIDIyOSwgODAsIDI5LCAyMjcsIAorICAgIDEyMCwgMTAxLCAyNDMsIDQxLCAxNCwgMywgMjI5LCA4MCwgMjksIDIyNSwgMTEwLCAxNCwgMywgMjI5LCA4MCwgMjksIDIyMywgCisgICAgMjE3LCAxNCwgMywgMjI5LCA4MCwgMjksIDIxNSwgODEsIDEwMSwgMjUxLCAyMjUsIDE0LCAzLCAyMjksIDgwLCAyOSwgMjE1LCAKKyAgICA2MCwgMTAxLCAyNDksIDEwMSwgMTQsIDMsIDIyOSwgODAsIDI5LCAyMTAsIDE2NCwgMTQsIDMsIDIyOSwgODAsIDIxMiwgODksIAorICAgIDE0LCAzLCAyMjksIDgwLCAyNDcsIDU0LCAyMjksIDc5LCAxNCwgMywgMjI5LCA4MCwgMjIyLCAxMjksIDIyOSwgNzksIDE0LCAKKyAgICAzLCAyMjksIDgwLCAyMTQsIDEwNiwgMTQsIDMsIDIyOSwgODAsIDIxNSwgMTk2LCAxNCwgMywgMjI5LCA3OCwgMTQsIDMsIAorICAgIDIyOSwgNzIsIDE0LCAzLCAyMjksIDczLCAxMzEsIDIyOSwgNzIsIDE0LCAzLCAyMjksIDczLCAyMjIsIDEyOSwgMjI5LCA3MiwgCisgICAgMTQsIDMsIDIyOSwgNzMsIDIxNSwgMTk2LCAxNCwgMywgMjI5LCA3MCwgMTQsIDMsIDIyOSwgNjcsIDE0LCAzLCAyMjksIDY1LCAKKyAgICAxNCwgMywgMjI5LCA2NiwgMTMxLCAyMjksIDY1LCAxNCwgMywgMjI5LCA2NiwgMTMxLCAyMjksIDY2LCAyNDAsIDIwNSwgCisgICAgMTMxLCAyNDAsIDIwNCwgMTQsIDMsIDE4NSwgMTQsIDMsIDIyOCwgMjAsIDI5LCAyMTIsIDE4NiwgMTQsIDMsIDIyOCwgMjAsIAorICAgIDIzOSwgMTkyLCAxNCwgMywgMjI4LCAxOSwgMTQsIDMsIDIyNywgMjQ3LCAxNCwgMywgMjI3LCAxOTksIDE0LCAzLCAyMjcsIAorICAgIDE3OCwgMTQsIDMsIDIyNywgMTc3LCAxNCwgMywgMjI3LCAxMTksIDE0LCAzLCAyMjcsIDcxLCAxNCwgMywgMjI2LCAyNTQsIAorICAgIDE0LCAzLCAyMjYsIDIwOSwgMTQsIDMsIDIyNiwgMTE0LCAxNCwgMywgMjI2LCAxMTUsIDEzMSwgMjI2LCAxMTQsIDE0LCAzLCAKKyAgICAyMjYsIDEwMywgMTQsIDMsIDIyNiwgMTA0LCAyMzksIDE5MiwgMTQsIDMsIDIyNiwgODcsIDE0LCAzLCAyMjYsIDczLCAxNCwgCisgICAgMywgMjI2LCA2OSwgMTQsIDMsIDIyNiwgNzAsIDI5LCA2MiwgMTQsIDMsIDIyNiwgNzAsIDI5LCAyMzAsIDIxMCwgMTQsIDMsIAorICAgIDIyNiwgNzAsIDI5LCAyMDUsIDExNiwgMTQsIDMsIDIyNiwgNzAsIDEzMSwgMjI2LCA2OSwgMTQsIDMsIDIyNiwgNzAsIDEzMSwgCisgICAgMjI2LCA3MCwgMjksIDMyLCAxMDEsIDE5OSwgMTQsIDMsIDIyNiwgNzAsIDI0NywgNTQsIDIyNiwgNjksIDE0LCAzLCAyMjYsIAorICAgIDY3LCAxNCwgMywgMjI2LCA2OCwgMjksIDYyLCAxNCwgMywgMjI2LCA2OCwgMjksIDMyLCAxMDEsIDI0NSwgMTY4LCAxNCwgMywgCisgICAgMjI2LCA2OCwgMjksIDI0NSwgMTY4LCAxNCwgMywgMjI2LCA2OCwgMjM5LCAxOTIsIDE0LCAzLCAxOTksIDE0LCAzLCAyMjUsIAorICAgIDIzNSwgMTQsIDMsIDIyNSwgMjIyLCAxNCwgMywgMjI1LCAyMjMsIDIzMywgMSwgMTQsIDMsIDIyNSwgMjIzLCAyOSwgMjE1LCAKKyAgICAxMTcsIDIxMiwgODksIDE0LCAzLCAyMjUsIDIyMywgMjIyLCAxMjksIDIyNSwgMjIyLCAxNCwgMywgMjI1LCAyMjEsIDE0LCAKKyAgICAzLCAyMjUsIDIxNCwgMjIzLCAxNTksIDE0LCAzLCAyMjUsIDIxMywgMTQsIDMsIDIyNSwgMjEyLCAxNCwgMywgMjI1LCAxMTAsIAorICAgIDE0LCAzLCAyMjUsIDExMSwgMjksIDYyLCAxNCwgMywgMjI1LCAxMTEsIDI5LCAyMTAsIDgsIDE0LCAzLCAyMjUsIDExMSwgCisgICAgMjE1LCAxOTYsIDE0LCAzLCAyMjQsIDIzMCwgMTQsIDMsIDIyNCwgMjMxLCAyOSwgNzUsIDE0LCAzLCAyMjQsIDIyOSwgMTQsIAorICAgIDMsIDIyNCwgMjAwLCAxNCwgMywgMjI0LCAyMDEsIDI5LCAyNDAsIDIxMywgMjEyLCA4OSwgMTQsIDMsIDIyNCwgMjAxLCAyOSwgCisgICAgMjQwLCAyMDUsIDEwMSwgMjQwLCAyMTMsIDIxMiwgODksIDE0LCAzLCAyMjQsIDE5NiwgMTQsIDMsIDIyNCwgMTk3LCAyOSwgCisgICAgMjUyLCAxMjIsIDE0LCAzLCAyMjQsIDE5NywgMjksIDI1MSwgMjI1LCAxNCwgMywgMjI0LCAxOTcsIDI5LCAyNTEsIDIyNiwgCisgICAgMTAxLCAyNTEsIDIyNSwgMTQsIDMsIDIyNCwgMTk3LCAyOSwgMjM5LCAyMDIsIDE0LCAzLCAyMjQsIDE5NywgMjksIDIyNywgCisgICAgMTIwLCAxMDEsIDI0MCwgMjEzLCAyMTIsIDg5LCAxNCwgMywgMjI0LCAxOTcsIDI5LCAyMjUsIDExMCwgMTQsIDMsIDIyNCwgCisgICAgMTk3LCAyOSwgMjIzLCAxNzMsIDE0LCAzLCAyMjQsIDE5NywgMjksIDIxNSwgMjE0LCAxNCwgMywgMjI0LCAxOTcsIDI5LCAKKyAgICAyMTUsIDIxNSwgMTAxLCAzMiwgMjUyLCAxMjIsIDE0LCAzLCAyMjQsIDE5NywgMjksIDIxNSwgMjE1LCAxMDEsIDI1MSwgCisgICAgMjI1LCAxNCwgMywgMjI0LCAxOTcsIDI5LCAyMTUsIDIxNSwgMTAxLCAyNTEsIDIyNiwgMTAxLCAyNTEsIDIyNSwgMTQsIDMsIAorICAgIDIyNCwgMTk3LCAyOSwgMjEwLCAyMCwgMTAxLCAyNTEsIDIyNSwgMTQsIDMsIDIyNCwgMTk3LCAyOSwgMjA5LCAxNzAsIDE0LCAKKyAgICAzLCAyMjQsIDE4NSwgMTQsIDMsIDIyMywgMjE3LCAxNCwgMywgMjIzLCAxODksIDE0LCAzLCAyMjMsIDE3MywgMTQsIDMsIAorICAgIDIyMywgMTc0LCAyMzAsIDEyMSwgMjksIDI0MCwgMjA0LCAxNCwgMywgMjIzLCAxNzQsIDIzMCwgMTIxLCAyOSwgMjI3LCAKKyAgICAxNzgsIDE0LCAzLCAyMjMsIDE3NCwgMjMwLCAxMjEsIDI5LCAyMTcsIDE3MiwgMTQsIDMsIDIyMywgMTc0LCAyMzAsIDEyMSwgCisgICAgMjksIDIxNywgMTczLCAxMzEsIDIyMywgMTc0LCAyMzAsIDEyMSwgMjksIDIxNywgMTcyLCAxNCwgMywgMjIzLCAxNzQsIAorICAgIDIzMCwgMTIxLCAyOSwgMjA5LCAxNzAsIDE0LCAzLCAyMjMsIDE3NCwgMjEyLCA4OSwgMTQsIDMsIDIyMywgMTc0LCAxMzEsIAorICAgIDIyMywgMTczLCAxNCwgMywgMjIzLCAxNzQsIDI0NywgNTQsIDIyMywgMTczLCAxNCwgMywgMjIzLCAxNzQsIDI0NywgNTQsIAorICAgIDIyMywgMTc0LCAyMzAsIDEyMSwgMTMxLCAyMzAsIDEyMCwgMTQsIDMsIDIyMywgMTY4LCAxNCwgMywgMjIzLCAxNjksIDI1MywgCisgICAgMzMsIDI5LCAyNTEsIDIxOSwgMTQsIDMsIDIyMywgMTY5LCAyNTMsIDMzLCAyOSwgMjQ5LCAyNDQsIDE0LCAzLCAyMjMsIAorICAgIDE2OSwgMjUzLCAzMywgMjksIDI0MywgMjMzLCAxNCwgMywgMjIzLCAxNjksIDI1MywgMzMsIDI5LCAyMzksIDIwMiwgMTQsIAorICAgIDMsIDIyMywgMTY5LCAyNTMsIDMzLCAyOSwgMjMzLCAxMDUsIDIzOSwgMTkyLCAxNCwgMywgMjIzLCAxNjksIDI1MywgMzMsIAorICAgIDI5LCAyMzIsIDUwLCAxNCwgMywgMjIzLCAxNjksIDI1MywgMzMsIDI5LCAyMzAsIDE0MSwgMTQsIDMsIDIyMywgMTY5LCAKKyAgICAyNTMsIDMzLCAyOSwgMjI1LCAxMTAsIDE0LCAzLCAyMjMsIDE2OSwgMjUzLCAzMywgMjksIDIxNSwgNTcsIDE0LCAzLCAyMjMsIAorICAgIDE2OSwgMjUzLCAzMywgMjksIDIxMCwgMTksIDE0LCAzLCAyMjMsIDE2OSwgMjMxLCA5NCwgMjksIDI0OSwgMjQ0LCAxNCwgMywgCisgICAgMjIzLCAxNjksIDIzMSwgOTQsIDI5LCAyNDksIDI0NSwgNzEsIDE0LCAzLCAxNzksIDE0LCAzLCAyMjIsIDQyLCAxNCwgMywgCisgICAgMjIyLCA2LCAxNCwgMywgMjIxLCAyMzYsIDE0LCAzLCAyMjEsIDEwNywgMTQsIDMsIDIyMSwgNTMsIDE0LCAzLCAyMjEsIDU0LCAKKyAgICAyOSwgNjIsIDE0LCAzLCAyMjEsIDU0LCAyOSwgMjUzLCAxMTUsIDE0LCAzLCAyMjEsIDU0LCAyOSwgMjQ5LCAyNDQsIDE0LCAKKyAgICAzLCAyMjEsIDU0LCAyOSwgMjQ5LCAxMDEsIDE0LCAzLCAyMjEsIDU0LCAyOSwgNzUsIDE0LCAzLCAyMjEsIDU0LCAyOSwgNzQsIAorICAgIDE0LCAzLCAyMjEsIDU0LCAyOSwgMjM3LCAxODUsIDE0LCAzLCAyMjEsIDU0LCAyOSwgNzEsIDE0LCAzLCAyMjEsIDU0LCAyOSwgCisgICAgMjEwLCAxOSwgMTQsIDMsIDIyMSwgNTQsIDI0NywgNTQsIDIyMSwgNTMsIDE0LCAzLCAyMjAsIDI1MSwgMTQsIDMsIDIyMCwgCisgICAgMjUyLCAyOSwgMjMyLCAzMSwgMTQsIDMsIDIyMCwgMjUyLCAyOSwgMjEwLCA4LCAxNCwgMywgMjIwLCAyNTIsIDI5LCAyMDUsIAorICAgIDExNiwgMTQsIDMsIDIyMCwgMjUyLCAyMjIsIDEyOSwgMjIwLCAyNTEsIDE0LCAzLCAyMTksIDExMywgMTQsIDMsIDIxOSwgCisgICAgMTA3LCAxNCwgMywgMjE4LCAyMDgsIDE0LCAzLCAyMTgsIDUwLCAxNCwgMywgMjE3LCAxOTksIDE0LCAzLCAyMTcsIDE4NiwgCisgICAgMjIzLCAxNTksIDE0LCAzLCAyMTcsIDE4NSwgMTQsIDMsIDIxNywgMTg2LCAyOSwgNjIsIDE0LCAzLCAyMTcsIDE4NiwgMjksIAorICAgIDI0MywgMjM3LCAxNCwgMywgMjE3LCAxODYsIDI5LCAyNDMsIDIzNSwgMTQsIDMsIDIxNywgMTg2LCAyOSwgMTU1LCAxNCwgMywgCisgICAgMjE3LCAxODYsIDI5LCAyMzIsIDM1LCAxNCwgMywgMjE3LCAxODYsIDI5LCAyMzAsIDIxMCwgMTQsIDMsIDIxNywgMTg2LCAKKyAgICAyOSwgMjI5LCA2NSwgMTQsIDMsIDIxNywgMTg2LCAyOSwgMjI2LCAyNTQsIDE0LCAzLCAyMTcsIDE4NiwgMjksIDIyMywgCisgICAgMTczLCAxNCwgMywgMjE3LCAxODYsIDI5LCAyMTcsIDE3MiwgMTQsIDMsIDIxNywgMTg2LCAyOSwgMjE1LCAxODEsIDE0LCAzLCAKKyAgICAyMTcsIDE4NiwgMjksIDIxMiwgMjA3LCAxNCwgMywgMjE3LCAxODYsIDI5LCAyMTAsIDE5LCAxNCwgMywgMjE3LCAxODYsIAorICAgIDI5LCAyMTAsIDE0LCAxNCwgMywgMjE3LCAxODYsIDI5LCAyMDksIDI0MSwgMTQsIDMsIDIxNywgMTg2LCAyOSwgMjA5LCAKKyAgICAxOTQsIDE0LCAzLCAyMTcsIDE4NiwgMjksIDIwOSwgMTcwLCAxNCwgMywgMjE3LCAxODYsIDEzMSwgMjE3LCAxODUsIDE0LCAKKyAgICAzLCAyMTcsIDE4NiwgMjM5LCAxOTIsIDE0LCAzLCAyMTcsIDE3MiwgMTQsIDMsIDIxNywgMTczLCAyMzAsIDEyMywgMjksIAorICAgIDI1MSwgMjIzLCAxNCwgMywgMjE3LCAxNDYsIDE0LCAzLCAyMTcsIDEzOCwgMTQsIDMsIDIxNiwgMiwgMTQsIDMsIDIxNiwgMCwgCisgICAgMTQsIDMsIDIxNiwgMSwgMjksIDYyLCAxNCwgMywgMjE2LCAxLCAyOSwgMjUwLCAxNjcsIDE0LCAzLCAyMTYsIDEsIDI5LCAKKyAgICAyNDAsIDM1LCAxNCwgMywgMjE2LCAxLCAyOSwgMjI1LCAxMTAsIDE0LCAzLCAyMTYsIDEsIDI5LCAyMTUsIDExNCwgMTQsIDMsIAorICAgIDIxNiwgMSwgMjksIDIxMCwgMTQ5LCAxNCwgMywgMjE2LCAxLCAyOSwgNzEsIDE0LCAzLCAyMTYsIDEsIDI5LCAxMDYsIDEwMSwgCisgICAgNjIsIDE0LCAzLCAyMTUsIDI1NSwgMTQsIDMsIDIxNSwgMjUzLCAxNCwgMywgMjE1LCAyMzAsIDE0LCAzLCAyMTUsIDIxNCwgCisgICAgMTQsIDMsIDIxNSwgMjE1LCAyMzgsIDQyLCAxNCwgMywgMjE1LCAyMTUsIDEzMSwgMjE1LCAyMTUsIDI0MCwgMjM2LCAxMzEsIAorICAgIDI0MCwgMjM2LCAyNDAsIDIwNSwgMTMxLCAyNDAsIDIwNCwgMTQsIDMsIDIxNSwgMjE1LCAxMzEsIDIxNSwgMjE1LCAyMTIsIAorICAgIDIwOCwgMTMxLCAyMTIsIDIwOCwgMjQwLCAyMDUsIDEzMSwgMjQwLCAyMDQsIDE0LCAzLCAyMTUsIDIwNywgMTQsIDMsIDIxNSwgCisgICAgMjAyLCAxNCwgMywgMjE1LCAxOTksIDE0LCAzLCAyMTUsIDE5OCwgMTQsIDMsIDIxNSwgMTk1LCAxNCwgMywgMjE1LCAxODEsIAorICAgIDE0LCAzLCAyMTUsIDE4MiwgMjksIDYyLCAxNCwgMywgMjE1LCAxODIsIDI5LCAyMzMsIDg1LCAxNCwgMywgMjE1LCAxNzUsIAorICAgIDE0LCAzLCAyMTUsIDE3NiwgMjksIDYyLCAxNCwgMywgMjE1LCAxNzYsIDI5LCAyNTAsIDE1MSwgMTQsIDMsIDIxNSwgMTc2LCAKKyAgICAyOSwgMjQ5LCA3OSwgMTQsIDMsIDIxNSwgMTc2LCAyOSwgMjQ1LCAxMTMsIDE0LCAzLCAyMTUsIDE3NiwgMjksIDI0MCwgCisgICAgMjA0LCAxNCwgMywgMjE1LCAxNzYsIDI5LCAyMzMsIDEwNCwgMTQsIDMsIDIxNSwgMTc2LCAyOSwgMjMzLCAxMDUsIDIzOSwgCisgICAgMTkyLCAxNCwgMywgMjE1LCAxNzYsIDI5LCAyMzAsIDIwNSwgMTQsIDMsIDIxNSwgMTc2LCAyOSwgMjI5LCA2NywgMTQsIDMsIAorICAgIDIxNSwgMTc2LCAyOSwgMjI2LCAxMDMsIDE0LCAzLCAyMTUsIDE3NiwgMjksIDIxNywgMTcyLCAxNCwgMywgMjE1LCAxNjksIAorICAgIDE0LCAzLCAyMTUsIDE2NCwgMTQsIDMsIDIxNSwgMTY1LCAyMTIsIDg5LCAxNCwgMywgMjE1LCAxNjUsIDEzMSwgMjE1LCAKKyAgICAxNjUsIDI0OSwgNjksIDEzMSwgMjQ5LCA2OCwgMTQsIDMsIDIxNSwgMTYwLCAxNCwgMywgMjE1LCAxMTYsIDE0LCAzLCAyMTUsIAorICAgIDExNywgMTMxLCAyMzMsIDIsIDIxNSwgMTE2LCAxNCwgMywgMjE1LCAxMTQsIDE0LCAzLCAyMTUsIDExMywgMTQsIDMsIDIxNSwgCisgICAgODAsIDE0LCAzLCAyMTUsIDgxLCAyMzksIDE5MiwgMTQsIDMsIDIxNSwgNjgsIDE0LCAzLCAyMTUsIDY2LCAxNCwgMywgMjE1LCAKKyAgICA2NywgMTMxLCAyMTUsIDY3LCAyMTUsIDExNCwgMTQsIDMsIDIxNSwgNTksIDE0LCAzLCAyMTUsIDU3LCAxNCwgMywgMjEzLCAKKyAgICAyMDMsIDE0LCAzLCAyMTMsIDIwNCwgMTMxLCAyMTMsIDIwMywgMTQsIDMsIDIxMywgMTcyLCAxNCwgMywgMjEzLCAxNzEsIAorICAgIDE0LCAzLCAyMTMsIDE2OSwgMTQsIDMsIDIxMywgMTYwLCAxNCwgMywgMjEzLCAxNTksIDE0LCAzLCAyMTMsIDEzMywgMTQsIAorICAgIDMsIDIxMywgMTMyLCAxNCwgMywgMjEyLCAyMTksIDE0LCAzLCAyMTIsIDIyMCwgMjUxLCAyMDksIDE0LCAzLCAyMTIsIDIyMCwgCisgICAgMjksIDIzOSwgMTEsIDE0LCAzLCAyMTIsIDIyMCwgMjksIDIyNiwgMjU0LCAxNCwgMywgMjEyLCAyMjAsIDIzOSwgMTkyLCAKKyAgICAxNCwgMywgMjEyLCAyMDcsIDE0LCAzLCAyMTIsIDIwOCwgMTMxLCAyMTIsIDIwOCwgMjI0LCAyMzEsIDEzMSwgMjI0LCAyMzEsIAorICAgIDI0NSwgOTUsIDEzMSwgMjQ1LCA5NCwgMTQsIDMsIDIxMiwgMjA4LCAyMTQsIDEwNiwgMTQsIDMsIDIxMiwgMTk4LCAxNCwgMywgCisgICAgMTUwLCAyOSwgMjQ5LCAyNDQsIDE0LCAzLCAxNTAsIDI5LCAyMzksIDIwMiwgMTQsIDMsIDE1MCwgMjksIDIxNSwgMjE0LCAKKyAgICAxNCwgMywgMTUwLCAyOSwgMjE1LCAxMTYsIDE0LCAzLCAxNTAsIDI5LCAyMTAsIDE2NCwgMTQsIDMsIDE1MCwgMjksIDIxMCwgCisgICAgOCwgMTQsIDMsIDIxMiwgMTg2LCAxNCwgMywgMjEyLCAxNjIsIDE0LCAzLCAyMTIsIDEzMSwgMTQsIDMsIDIxMiwgMTMyLCAKKyAgICAyMzksIDE5MiwgMTQsIDMsIDIxMSwgMjExLCAxNCwgMywgMjExLCAyMTIsIDIxMiwgODksIDE0LCAzLCAyMTEsIDE4MiwgMTQsIAorICAgIDMsIDIxMSwgMTYyLCAxNCwgMywgMjExLCAxNjMsIDI5LCAyMTIsIDE4NiwgMTQsIDMsIDIxMSwgMTYzLCAxMzEsIDIxMSwgCisgICAgMTYyLCAxNCwgMywgMjExLCAxNjMsIDEzMSwgMjExLCAxNjMsIDI0MCwgMjM2LCAxMzEsIDI0MCwgMjM2LCAyNDAsIDIwNSwgCisgICAgMTMxLCAyNDAsIDIwNCwgMTQsIDMsIDIxMCwgMTcwLCAxNCwgMywgMjEwLCAxNjQsIDE0LCAzLCAyMTAsIDE2MiwgMTQsIDMsIAorICAgIDIxMCwgMTU5LCAxNCwgMywgMjEwLCAxNDksIDE0LCAzLCAyMTAsIDE1MCwgMTMxLCAyMTAsIDE1MCwgMjA1LCAxMTcsIDEzMSwgCisgICAgMjA1LCAxMTYsIDE0LCAzLCA3MSwgMTQsIDMsIDEwNiwgMjM5LCAyMDIsIDE0LCAzLCAxMDYsIDEwNiwgNzEsIDE0LCAzLCAKKyAgICAxMDYsIDEzMSwgMTA2LCAyMjIsIDUyLCAxMzEsIDIyMiwgNTIsIDI0MCwgMjA1LCAxMzEsIDI0MCwgMjA0LCAxNCwgMywgCisgICAgMTA2LCAxMzEsIDEwNiwgMjEzLCAxMzQsIDEzMSwgMjEzLCAxMzMsIDE0LCAzLCAxMDYsIDEzMSwgMTA2LCAxMDYsIDIxOCwgCisgICAgMjI0LCAxMzEsIDEwNiwgMjE4LCAyMjMsIDE0LCAzLCAyMTAsIDE5LCAxNCwgMywgMjEwLCAxNCwgMTQsIDMsIDIxMCwgOCwgCisgICAgMTQsIDMsIDIxMCwgOSwgMjMwLCAyMDUsIDE0LCAzLCAyMTAsIDksIDI5LCAyNTAsIDE2NywgMTQsIDMsIDIxMCwgOSwgMjksIAorICAgIDIyNiwgMjU0LCAxNCwgMywgMjEwLCA5LCAyOSwgMTA2LCAxMDEsIDEwNiwgMTAxLCA3MSwgMTQsIDMsIDIxMCwgOSwgMjksIAorICAgIDEwNiwgMTAxLCAxMDYsIDEwMSwgMTA2LCAyMzksIDE5MiwgMTQsIDMsIDIxMCwgOSwgMjM5LCAxOTIsIDE0LCAzLCAyMTAsIAorICAgIDksIDIxNSwgMTk2LCAxNCwgMywgMjEwLCA5LCAyMTUsIDE5NywgMjksIDI1MCwgMTY3LCAxNCwgMywgMjEwLCA0LCAxNCwgMywgCisgICAgMjA5LCAyNDEsIDE0LCAzLCAyMDksIDI0MiwgMjksIDIzMCwgMTIyLCAxNCwgMywgMjA5LCAyNDIsIDI5LCAyMjcsIDEyMCwgCisgICAgMTAxLCAyNDYsIDE0NSwgMTQsIDMsIDIwOSwgMjQyLCAyOSwgMjE2LCAwLCAxNCwgMywgMjA5LCAyNDIsIDI5LCA3MSwgMTQsIAorICAgIDMsIDIwOSwgMjQwLCAxNCwgMywgMjA5LCAyMzYsIDE0LCAzLCAyMDksIDIzNywgMjksIDIzMSwgMjU0LCAxNCwgMywgMjA5LCAKKyAgICAyMzcsIDI5LCAxNzksIDE0LCAzLCAyMDksIDIzNCwgMTQsIDMsIDIwOSwgMjM1LCAyMzksIDE5MiwgMTQsIDMsIDIwOSwgCisgICAgMTk0LCAxNCwgMywgMjA5LCAxOTUsIDI0NywgNTQsIDIwOSwgMTk0LCAxNCwgMywgMjA5LCAxOTUsIDIxNSwgMTk2LCAxNCwgCisgICAgMywgMjA5LCAxOTIsIDE0LCAzLCAyMDksIDE5MywgMjksIDMyLCAxMDEsIDE1NSwgMTQsIDMsIDIwOSwgMTkzLCAyOSwgMzIsIAorICAgIDEwMSwgMTk5LCAxNCwgMywgMjA5LCAxOTMsIDI5LCAyNTIsIDE4MSwgMTQsIDMsIDIwOSwgMTkzLCAyOSwgMTU1LCAxNCwgMywgCisgICAgMjA5LCAxOTMsIDI5LCAyMjMsIDE3MywgMTQsIDMsIDIwOSwgMTkzLCAyOSwgMjEwLCAxOSwgMTQsIDMsIDIwOSwgMTkzLCAKKyAgICAyOSwgMjEwLCAyMCwgMTAxLCAyNTEsIDIyNSwgMTQsIDMsIDIwOSwgMTkzLCAyOSwgMjEwLCAyMCwgMTAxLCAyNDksIDI0NCwgCisgICAgMTQsIDMsIDIwOSwgMTkxLCAxNCwgMywgMjA5LCAxODgsIDE0LCAzLCAyMDksIDE4NywgMTQsIDMsIDIwOSwgMTgzLCAxNCwgCisgICAgMywgMjA5LCAxODQsIDI5LCA2MiwgMTQsIDMsIDIwOSwgMTg0LCAyOSwgMjUxLCAyMTksIDE0LCAzLCAyMDksIDE4NCwgMjksIAorICAgIDEzNCwgMTQsIDMsIDIwOSwgMTg0LCAyOSwgMjQzLCAyMjcsIDE0LCAzLCAyMDksIDE4NCwgMjksIDI0MCwgMjQ0LCAxNCwgMywgCisgICAgMjA5LCAxODQsIDI5LCAyNDAsIDIyNiwgMTQsIDMsIDIwOSwgMTg0LCAyOSwgMjQwLCAyMTMsIDIxMiwgODksIDE0LCAzLCAKKyAgICAyMDksIDE4NCwgMjksIDI0MCwgMjA0LCAxNCwgMywgMjA5LCAxODQsIDI5LCAyMzksIDIxMywgMTQsIDMsIDIwOSwgMTg0LCAKKyAgICAyOSwgMTU1LCAxNCwgMywgMjA5LCAxODQsIDI5LCAyMzMsIDEwNCwgMTQsIDMsIDIwOSwgMTg0LCAyOSwgMjMzLCA4NSwgMTQsIAorICAgIDMsIDIwOSwgMTg0LCAyOSwgMjMyLCAyMjgsIDE0LCAzLCAyMDksIDE4NCwgMjksIDIzMSwgMTIzLCAxNCwgMywgMjA5LCAKKyAgICAxODQsIDI5LCAyMjksIDY1LCAxNCwgMywgMjA5LCAxODQsIDI5LCAyMjYsIDIwOSwgMTQsIDMsIDIwOSwgMTg0LCAyOSwgCisgICAgMTc5LCAxNCwgMywgMjA5LCAxODQsIDI5LCAyMTUsIDIxNCwgMTQsIDMsIDIwOSwgMTg0LCAyOSwgMjE1LCA2NiwgMTQsIDMsIAorICAgIDIwOSwgMTg0LCAyOSwgMjEwLCAxNzAsIDE0LCAzLCAyMDksIDE4NCwgMjksIDEwNiwgMTAxLCAyMzksIDIwMiwgMTQsIDMsIAorICAgIDIwOSwgMTg0LCAyOSwgMjEwLCA4LCAxNCwgMywgMjA5LCAxODQsIDI5LCAyMDksIDE4MSwgMTQsIDMsIDIwOSwgMTgxLCAxNCwgCisgICAgMywgMjA5LCAxODIsIDI5LCA3MSwgMTQsIDMsIDIwOSwgMTcwLCAxNCwgMywgMjA5LCAxNzEsIDI5LCA2MiwgMTQsIDMsIAorICAgIDIwOSwgMTcxLCAyOSwgMjMwLCAyMzYsIDE0LCAzLCAyMDksIDE3MSwgMjksIDIzMCwgMjEwLCAxNCwgMywgMjA5LCAxNzEsIAorICAgIDI5LCAyMTIsIDE4NiwgMTQsIDMsIDIwOSwgMTY2LCAxNCwgMywgMjA5LCAxNjksIDE0LCAzLCAyMDksIDE2NywgMTQsIDMsIAorICAgIDIwOSwgMTYzLCAxNCwgMywgMjA5LCAxNTEsIDE0LCAzLCAyMDksIDE1MiwgMjksIDIzMSwgMjU0LCAxNCwgMywgMjA5LCAKKyAgICAxNTAsIDE0LCAzLCAyMDUsIDExNiwgMTQsIDMsIDIwNSwgMTE3LCAyMTIsIDg5LCAxNCwgMywgMjA1LCAxMTcsIDk4LCAyOSwgCisgICAgMjMwLCAyMTAsIDE0LCAzLCAyMDUsIDExMywgMTQsIDMsIDIwNSwgMTA2LCAxNCwgMywgMjA1LCA5MiwgMTQsIDMsIDIwNSwgCisgICAgNDAsIDE0LCAzLCAyMDUsIDQxLCAxMzEsIDIwNSwgNDAsIDE0LCAzLCAyMDUsIDM5LCAxNCwgMywgMjA1LCAzNywgMTQsIDMsIAorICAgIDIwNSwgMzgsIDIzMiwgNTQsIDIxMiwgODksIDE0LCAzLCAyMDUsIDMyLCAxNCwgMywgMjA1LCAyNCwgMTQsIDMsIDIwNSwgOSwgCisgICAgMTQsIDMsIDIwNSwgNywgMTQsIDMsIDIwNSwgOCwgMjksIDYyLCAxNCwgMywgMjA1LCA2LCAxNCwgMywgMjA1LCA1LCAxNCwgCisgICAgMywgMjMyLCAyMSwgMjQzLCA2NSwgMTQsIDMsIDI1MywgMTE2LCAyOSwgMjIzLCAxNzMsIDE0LCAzLCAyNTMsIDMzLCAyOSwgCisgICAgNjIsIDE0LCAzLCAyNTIsIDEzMywgMjksIDIzMCwgMjI1LCAxNCwgMywgMjQ2LCAxMzcsIDIzMSwgOTQsIDI5LCAyMTAsIDIwLCAKKyAgICAxMDEsIDIyNywgMTc4LCAxNCwgMywgMjQ2LCAxMzUsIDE0LCAzLCAyNDUsIDk1LCAxMDEsIDIxNSwgMTE2LCAxNCwgMywgCisgICAgMjQzLCAyMzYsIDI5LCAyMTUsIDIxNCwgMTQsIDMsIDI0MiwgMTQ0LCAyOSwgMjM5LCAyMDIsIDE0LCAzLCAyNDIsIDE0NCwgCisgICAgMjksIDIxNSwgMjE0LCAxNCwgMywgMjQwLCAyNDMsIDI5LCAyNTIsIDEyMywgMTAxLCAyMzIsIDM2LCAxMDEsIDYyLCAxNCwgCisgICAgMywgMjQwLCAyNDMsIDI5LCAyNTEsIDIyMywgMTQsIDMsIDI0MCwgMTY5LCAxNCwgMywgMjQwLCA1MSwgMTQsIDMsIDIzOCwgCisgICAgMjEsIDE0LCAzLCAyMzIsIDY2LCAyOSwgMjUyLCA5MywgMTQsIDMsIDIzMiwgNjYsIDI5LCAyNTEsIDIyMiwgMTQsIDMsIAorICAgIDIzMiwgNjYsIDI5LCAyNDAsIDM1LCAxNCwgMywgMjMyLCA2NiwgMjksIDIzOSwgMjAyLCAxNCwgMywgMjMyLCA2NiwgMjksIAorICAgIDIzOSwgMTIsIDI5LCAyNTEsIDIyMywgMTQsIDMsIDIzMiwgNjYsIDI5LCAyMjksIDY1LCAxNCwgMywgMjMyLCA2NiwgMjksIAorICAgIDE3OSwgMTQsIDMsIDIzMiwgNjYsIDI5LCAyMTUsIDEwOSwgMTQsIDMsIDIzMiwgNjYsIDI5LCAyMTAsIDE3MCwgMTQsIDMsIAorICAgIDIzMiwgNjYsIDI5LCAyMDksIDE5MiwgMTQsIDMsIDIzMCwgMTIzLCAyOSwgMjQwLCA2MSwgMTQsIDMsIDIyOSwgODAsIDIxNSwgCisgICAgMTk3LCAyOSwgMjUwLCAxNjcsIDE0LCAzLCAyMjksIDgwLCAyOSwgMjQyLCAyMTMsIDEwMSwgMjMwLCAxMDgsIDE0LCAzLCAKKyAgICAyMjksIDgwLCAyOSwgMjE1LCAxMTYsIDE0LCAzLCAyMjcsIDcwLCAxNCwgMywgMjI2LCA2OCwgMjksIDIwNSwgMTE2LCAxNCwgCisgICAgMywgMjI1LCAyMzQsIDE0LCAzLCAyMjQsIDE5OSwgMTQsIDMsIDIyNCwgMTk4LCAxNCwgMywgMjI0LCAxOTcsIDI5LCAyNTAsIAorICAgIDE1MSwgMTQsIDMsIDIyNCwgMTk3LCAyOSwgMjQwLCA2MSwgMTQsIDMsIDIyMywgMTkwLCAyMTgsIDk3LCAyMjQsIDE5MSwgCisgICAgMjQ1LCAyNDQsIDE0LCAzLCAyMjEsIDEwOCwgMjUxLCAyMDksIDE0LCAzLCAyMjAsIDI1NSwgMTQsIDMsIDIxNywgMTg2LCAKKyAgICAyOSwgMjMzLCAxMDUsIDIzOSwgMTkyLCAxNCwgMywgMjExLCAyMTAsIDE0LCAzLCAyMDksIDI0MiwgMjksIDIyNywgMTE5LCAKKyAgICAxNCwgMTMzLCAzLCAxMTgsIDI1MSwgMjI1LCAxNCwgMTMzLCAzLCAxMjksIDI1MSwgMjI1LCAxNCwgMTMzLCAzLCAyNDEsIAorICAgIDEyNSwgMjUxLCAyMjUsIDE0LCAxMzMsIDMsIDI0MSwgMjA0LCAyNTEsIDIyNSwgMTQsIDEzMywgMywgMjE1LCAxMCwgMjUxLCAKKyAgICAyMjUsIDE0LCAxMzMsIDMsIDIxNiwgMjMsIDI1MSwgMjI1LCAxNCwgMTMzLCAzLCAyNDMsIDg4LCAyNTEsIDIyNSwgMTQsIAorICAgIDEzMywgMywgMjI0LCAxOTUsIDI1MSwgMjI1LCAxNCwgMTMzLCAzLCAxMjksIDI0NSwgOTQsIDE0LCAxMzMsIDMsIDI0MSwgCisgICAgMTI1LCAyNDUsIDk0LCAxNCwgMTMzLCAzLCAyNDEsIDIwNCwgMjQ1LCA5NCwgMTQsIDEzMywgMywgMjE1LCAxMCwgMjQ1LCAKKyAgICA5NCwgMTQsIDEzMywgMywgMjE2LCAyMywgMjQ1LCA5NCwgMTQsIDEzMywgMywgMjQzLCA4OCwgMjQ1LCA5NCwgMTQsIDEzMywgCisgICAgMywgMjI0LCAxOTUsIDI0NSwgOTQsIDE0LCAxMzMsIDMsIDI0MSwgMTI1LCA3MSwgMTQsIDEzMywgMywgMjQxLCAyMDQsIDcxLCAKKyAgICAxNCwgMTMzLCAzLCAyMTUsIDEwLCA3MSwgMTQsIDEzMywgMywgMjE2LCAyMywgNzEsIDE0LCAxMzMsIDMsIDI0MywgODgsIAorICAgIDcxLCAxNCwgMTMzLCAzLCAyMjQsIDE5NSwgNzEsIDE0LCAxMzMsIDMsIDExOSwgMjQwLCAxNDQsIDE0LCAxMzMsIDMsIDExOCwgCisgICAgMjQwLCAxNDQsIDE0LCAxMzMsIDMsIDEyOSwgMjQwLCAxNDQsIDE0LCAxMzMsIDMsIDI0MSwgMTI1LCAyNDAsIDE0NCwgMTQsIAorICAgIDEzMywgMywgMjQxLCAyMDQsIDI0MCwgMTQ0LCAxNCwgMTMzLCAzLCAyMTUsIDEwLCAyNDAsIDE0NCwgMTQsIDEzMywgMywgCisgICAgMjE2LCAyMywgMjQwLCAxNDQsIDE0LCAxMzMsIDMsIDI0MywgODgsIDI0MCwgMTQ0LCAxNCwgMTMzLCAzLCAyMjQsIDE5NSwgCisgICAgMjQwLCAxNDQsIDE0LCAxMzMsIDMsIDExOSwgMjQwLCAxNDEsIDE0LCAxMzMsIDMsIDExOCwgMjQwLCAxNDEsIDE0LCAxMzMsIAorICAgIDMsIDEyOSwgMjQwLCAxNDEsIDE0LCAxMzMsIDMsIDI0MSwgMTI1LCAyNDAsIDE0MSwgMTQsIDEzMywgMywgMjQxLCAyMDQsIAorICAgIDI0MCwgMTQxLCAxNCwgMTMzLCAzLCAxMTgsIDIxNSwgMjMwLCAxNCwgMTMzLCAzLCAxMjksIDIxNSwgMjMwLCAxNCwgMTMzLCAKKyAgICAzLCAxMjksIDIxNSwgMjMxLCAyMDksIDUzLCAxNywgMTQsIDEzMywgMywgMjQxLCAxMjUsIDIxNSwgMjMwLCAxNCwgMTMzLCAKKyAgICAzLCAyNDEsIDIwNCwgMjE1LCAyMzAsIDE0LCAxMzMsIDMsIDIxNSwgMTAsIDIxNSwgMjMwLCAxNCwgMTMzLCAzLCAyMTYsIAorICAgIDIzLCAyMTUsIDIzMCwgMTQsIDEzMywgMywgMjQzLCA4OCwgMjE1LCAyMzAsIDE0LCAxMzMsIDMsIDIyNCwgMTk1LCAyMTUsIAorICAgIDIzMCwgMTQsIDEzMywgMywgMTE5LCAyMTUsIDIyNSwgMTQsIDEzMywgMywgMTE4LCAyMTUsIDIyNSwgMTQsIDEzMywgMywgCisgICAgMTI5LCAyMTUsIDIyNSwgMTQsIDEzMywgMywgMTI5LCAyMTUsIDIyNiwgMjA5LCA1MywgMTcsIDE0LCAxMzMsIDMsIDI0MSwgCisgICAgMTI1LCAyMTUsIDIyNSwgMTQsIDEzMywgMywgMjQxLCAyMDQsIDIxNSwgMjI1LCAxNCwgMTMzLCAzLCAyMTUsIDIzMSwgMjksIAorICAgIDI0MCwgMjI3LCAxMDEsIDI0NSwgOTQsIDE0LCAxMzMsIDMsIDIxNSwgMjMxLCAyOSwgMjQwLCAyMjcsIDEwMSwgMjI2LCAKKyAgICAyMDksIDE0LCAxMzMsIDMsIDExOSwgMjQ5LCA2NSwgMTQsIDEzMywgMywgMTE4LCAyNDksIDY1LCAxNCwgMTMzLCAzLCAxMjksIAorICAgIDI0OSwgNjUsIDE0LCAxMzMsIDMsIDEyOSwgMjQ5LCA2NiwgMjA5LCA1MywgMTcsIDE0LCAxMzMsIDMsIDI0MSwgMTI1LCAKKyAgICAyNDksIDY1LCAxNCwgMTMzLCAzLCAyNDEsIDIwNCwgMjQ5LCA2NSwgMTQsIDEzMywgMywgMTI5LCAyMDksIDUzLCAyNDEsIAorICAgIDEzNiwgMjQyLCAyMTQsIDE0LCAxMzMsIDMsIDEyOSwgMjA5LCA1MywgMjQxLCAxMzYsIDI0MiwgMjExLCAxNCwgMTMzLCAzLCAKKyAgICAyNDEsIDEyNSwgMjA5LCA1MywgMjQxLCAxMzYsIDIyOSwgMjA5LCAxNCwgMTMzLCAzLCAyNDEsIDEyNSwgMjA5LCA1MywgCisgICAgMjQxLCAxMzYsIDIyOSwgMjA3LCAxNCwgMTMzLCAzLCAyNDEsIDEyNSwgMjA5LCA1MywgMjQxLCAxMzYsIDIyOSwgMjEwLCAKKyAgICA2MiwgMTQsIDEzMywgMywgMjQxLCAxMjUsIDIwOSwgNTMsIDI0MSwgMTM2LCAyMjksIDIxMCwgMjUxLCAxNTAsIDE0LCAxMzMsIAorICAgIDMsIDIxNSwgMTAsIDIwOSwgNTMsIDI0MSwgMTM2LCAyNTEsIDIyMSwgMTQsIDEzMywgMywgMjE2LCAyMywgMjA5LCA1MywgCisgICAgMjQxLCAxMzYsIDIzMywgNzcsIDE0LCAxMzMsIDMsIDIxNiwgMjMsIDIwOSwgNTMsIDI0MSwgMTM2LCAyMzMsIDc5LCA2MiwgCisgICAgMTQsIDEzMywgMywgMjE2LCAyMywgMjA5LCA1MywgMjQxLCAxMzYsIDIzMywgNzksIDI1MSwgMTUwLCAxNCwgMTMzLCAzLCAKKyAgICAyNDMsIDg4LCAyMDksIDUzLCAyNDEsIDEzNiwgMjA5LCAxNjUsIDE0LCAxMzMsIDMsIDI0MywgODgsIDIwOSwgNTMsIDI0MSwgCisgICAgMTM2LCAyMDksIDE2NCwgMTQsIDEzMywgMywgMjI0LCAxOTUsIDIwOSwgNTMsIDI0MSwgMTM2LCAyMzMsIDkzLCAxNCwgMTMzLCAKKyAgICAzLCAyMjQsIDE5NSwgMjA5LCA1MywgMjQxLCAxMzYsIDIzMywgOTIsIDE0LCAxMzMsIDMsIDIyNCwgMTk1LCAyMDksIDUzLCAKKyAgICAyNDEsIDEzNiwgMjMzLCA5MSwgMTQsIDEzMywgMywgMjI0LCAxOTUsIDIwOSwgNTMsIDI0MSwgMTM2LCAyMzMsIDk0LCA2MiwgCisgICAgMTQsIDEzMywgMywgMTE4LCAyNTEsIDIyNiwgMjEyLCA4OSwgMTQsIDEzMywgMywgMTI5LCAyNTEsIDIyNiwgMjEyLCA4OSwgCisgICAgMTQsIDEzMywgMywgMjQxLCAxMjUsIDI1MSwgMjI2LCAyMTIsIDg5LCAxNCwgMTMzLCAzLCAyNDEsIDIwNCwgMjUxLCAyMjYsIAorICAgIDIxMiwgODksIDE0LCAxMzMsIDMsIDIxNSwgMTAsIDI1MSwgMjI2LCAyMTIsIDg5LCAxNCwgMTMzLCAzLCAxMTksIDI1MCwgCisgICAgMTM4LCAxNCwgMTMzLCAzLCAxMTgsIDI1MCwgMTM4LCAxNCwgMTMzLCAzLCAxMjksIDI1MCwgMTM4LCAxNCwgMTMzLCAzLCAKKyAgICAyNDEsIDEyNSwgMjUwLCAxMzgsIDE0LCAxMzMsIDMsIDI0MSwgMTI1LCAyNTAsIDEzOSwgMjA5LCA1MywgMTcsIDE0LCAxMzMsIAorICAgIDMsIDI0MSwgMjA0LCAyNTAsIDEzOCwgMTQsIDEzMywgMywgMjQxLCAyMDQsIDI1MCwgMTM5LCAyMDksIDUzLCAxNywgMTQsIAorICAgIDEzMywgMywgMjI0LCAyMDcsIDE0LCAxMzMsIDMsIDIyNCwgMjA4LCAxNCwgMTMzLCAzLCAxMTksIDI0MiwgMjEwLCAxNCwgCisgICAgMTMzLCAzLCAxMTgsIDI0MiwgMjEwLCAxNCwgMTMzLCAzLCAxMTksIDIxMiwgMTEsIDI0NSwgOTQsIDE0LCAxMzMsIDMsIAorICAgIDExOCwgMjEyLCA4LCAyNDUsIDk0LCAxNCwgMTMzLCAzLCAyNDEsIDIwNCwgMjE0LCAyNTUsIDI0NSwgOTQsIDE0LCAxMzMsIAorICAgIDMsIDExOSwgMjEyLCAxMSwgMjA5LCA1MywgMjQxLCAxMzYsIDYyLCAxNCwgMTMzLCAzLCAxMTgsIDIxMiwgOCwgMjA5LCA1MywgCisgICAgMjQxLCAxMzYsIDYyLCAxNCwgMTMzLCAzLCAxMTksIDI0MywgODQsIDI1MSwgMjI1LCAxNCwgMTMzLCAzLCAxMTksIDIxOSwgCisgICAgMjA1LCAyNTEsIDIyNSwgMTQsIDEzMywgMywgNDQsIDI1MSwgMjEyLCAxMTksIDIxNSwgMCwgMTQsIDEzMywgMywgNDQsIAorICAgIDI1MSwgMjEyLCAxMTksIDIxOSwgMjA0LCAxNCwgMTMzLCAzLCAxMTksIDIxOSwgMjA1LCAyMzksIDE4NiwgMTQsIDEzMywgMywgCisgICAgMTE5LCAxNjAsIDIzOSwgMTg2LCAxNCwgMTMzLCAzLCAyNDMsIDY2LCAxMTksIDIxMiwgMTAsIDE0LCAxMzMsIDMsIDI0MywgCisgICAgNjYsIDExOCwgMjEyLCA3LCAxNCwgMTMzLCAzLCAyNDMsIDY2LCAyNDEsIDEzMCwgMTQsIDEzMywgMywgMjQzLCA2NiwgMjQxLCAKKyAgICAyNDMsIDE0LCAxMzMsIDMsIDI0MSwgMTI1LCAxMDYsIDIwOSwgNTMsIDE3LCAxNCwgMTMzLCAzLCAyNDEsIDIwNCwgMTA2LCAKKyAgICAyMDksIDUzLCAxNywgMTQsIDEzMywgMywgMjE1LCAxMCwgMTA2LCAyMDksIDUzLCAxNywgMTQsIDEzMywgMywgMjE2LCAyMywgCisgICAgMTA2LCAyMDksIDUzLCAxNywgMTQsIDEzMywgMywgMjQzLCA4OCwgMTA2LCAyMDksIDUzLCAxNywgMTQsIDEzMywgMywgMjI0LCAKKyAgICAxOTUsIDEwNiwgMjA5LCA1MywgMTcsIDE0LCAyMjAsIDcyLCAzLCA0NCwgMjUxLCAyMTIsIDIwNiwgMjMyLCAyNDUsIDc5LCAKKyAgICAxNCwgMjIwLCA3MiwgMywgNzksIDI0NywgMTYyLCAxNCwgMjIwLCA3MiwgMywgMjQ1LCAxNjMsIDI0NywgMTYyLCAxNCwgCisgICAgMjIwLCA3MiwgMywgMjQ1LCAxNjMsIDIxMSwgNDcsIDE0LCAyMjAsIDcyLCAzLCAyNDUsIDE2MywgMjE5LCAyMTAsIDEyLCAKKyAgICAxMywgMjU0LCAyNTAsIDEyLCAxMywgMjU0LCAyNDksIDEyLCAxMywgMjU0LCAyNDgsIDEyLCAxMywgMjU0LCAyNDcsIDEyLCAKKyAgICAxMywgMjU0LCAyNDYsIDEyLCAxMywgMjU0LCAyNDUsIDEyLCAxMywgMjU0LCAyNDQsIDEyLCAxMywgMjU0LCAyNDMsIDEyLCAKKyAgICAxMywgMjU0LCAyNDIsIDEyLCAxMywgMjU0LCAyNDEsIDEyLCAxMywgMjU0LCAyNDAsIDEyLCAxMywgMjU0LCAyMzksIDEyLCAKKyAgICAxMywgMjU0LCAyMzgsIDEyLCAxMywgMjU0LCAyMzcsIDEyLCAxMywgMjU0LCAyMzYsIDEyLCAxMywgMjU0LCAyMzUsIDEyLCAKKyAgICAxMywgMjU0LCAyMzQsIDEyLCAxMywgMjU0LCAyMzMsIDEyLCAxMywgMjU0LCAyMzIsIDEyLCAxMywgMjU0LCAyMzEsIDEyLCAKKyAgICAxMywgMjU0LCAyMzAsIDEyLCAxMywgMjU0LCAyMjksIDEyLCAxMywgMjU0LCAyMjgsIDEyLCAxMywgMjU0LCAyMjcsIDEyLCAKKyAgICAxMywgMjU0LCAyMjYsIDEyLCAxMywgMjU0LCAyMjUsIDEyLCAxMywgMjU0LCAyMjQsIDEyLCAxMywgMjU0LCAyMjMsIDEyLCAKKyAgICAxMywgMjU0LCAyMjIsIDEyLCAxMywgMjU0LCAyMjEsIDEyLCAxMywgMjU0LCAyMjAsIDEyLCAxMywgMjU0LCAyMTksIDEyLCAKKyAgICAxMywgMjU0LCAyMTgsIDEyLCAxMywgMjU0LCAyMTYsIDEyLCAxMywgMjU0LCAyMTUsIDEyLCAxMywgMjU0LCAyMTQsIDEyLCAKKyAgICAxMywgMjU0LCAyMTMsIDEyLCAxMywgMjU0LCAyMTIsIDEyLCAxMywgMjU0LCAyMTEsIDEyLCAxMywgMjU0LCAyMTAsIDEyLCAKKyAgICAxMywgMjU0LCAyMDksIDEyLCAxMywgMjU0LCAyMDgsIDEyLCAxMywgMjU0LCAyMDcsIDEyLCAxMywgMjU0LCAyMDYsIDEyLCAKKyAgICAxMywgMjU0LCAyMDUsIDEyLCAxMywgMjU0LCAyMDQsIDEyLCAxMywgMjU0LCAyMDMsIDEyLCAxMywgMjU0LCAyMDIsIDEyLCAKKyAgICAxMywgMjU0LCAyMDEsIDEyLCAxMywgMjU0LCAyMDAsIDEyLCAxMywgMjU0LCAxOTksIDEyLCAxMywgMjU0LCAxOTgsIDEyLCAKKyAgICAxMywgMjU0LCAxOTcsIDEyLCAxMywgMjU0LCAxOTYsIDEyLCAxMywgMjU0LCAxOTUsIDEyLCAxMywgMjU0LCAxOTQsIDEyLCAKKyAgICAxMywgMjU0LCAxOTMsIDEyLCAxMywgMjU0LCAxOTIsIDEyLCAxMywgMjU0LCAxOTEsIDEyLCAxMywgMjU0LCAxOTAsIDEyLCAKKyAgICAxMywgMjU0LCAxODksIDEyLCAxMywgMjU0LCAxODgsIDEyLCAxMywgMjU0LCAxODcsIDEyLCAxMywgMjU0LCAxODYsIDEyLCAKKyAgICAxMywgMjU0LCAxODUsIDEyLCAxMywgMjU0LCAxODQsIDEyLCAxMywgMjU0LCAxODMsIDEyLCAxMywgMjU0LCAxODIsIDEyLCAKKyAgICAxMywgMjU0LCAxODEsIDEyLCAxMywgMjU0LCAxODAsIDEyLCAxMywgMjU0LCAxNzksIDEyLCAxMywgMjU0LCAxNzgsIDEyLCAKKyAgICAxMywgMjU0LCAxNzcsIDEyLCAxMywgMjU0LCAxNzYsIDEyLCAxMywgMjU0LCAxNzUsIDEyLCAxMywgMjU0LCAxNzQsIDEyLCAKKyAgICAxMywgMjU0LCAxNzMsIDEyLCAxMywgMjU0LCAxNzIsIDEyLCAxMywgMjU0LCAxNzEsIDEyLCAxMywgMjU0LCAxNzAsIDEyLCAKKyAgICAxMywgMjUxLCAxNDgsIDEyLCAxMywgMjUxLCAxNDYsIDEyLCAxMywgMjUxLCAxNDQsIDEyLCAxMywgMjUxLCAxNDIsIDEyLCAKKyAgICAxMywgMjUxLCAxNDAsIDEyLCAxMywgMjUxLCAxMzksIDEyLCAxMywgMjUxLCAxMzcsIDEyLCAxMywgMjUxLCAxMzUsIDEyLCAKKyAgICAxMywgMjUxLCAxMzMsIDEyLCAxMywgMjUxLCAxMzEsIDEyLCAxMywgMjQ5LCAzMCwgMTIsIDEzLCAyNDksIDI5LCAxMiwgMTMsIAorICAgIDI0OSwgMjgsIDEyLCAxMywgMjQ5LCAyNywgMTIsIDEzLCAyNDksIDI2LCAxMiwgMTMsIDI0OSwgMjUsIDEyLCAxMywgMjQ5LCAKKyAgICAyNCwgMTIsIDEzLCAyNDksIDIzLCAxMiwgMTMsIDI0OSwgMjIsIDEyLCAxMywgMjQ5LCAyMSwgMTIsIDEzLCAyNDksIDIwLCAKKyAgICAxMiwgMTMsIDI0OSwgMTksIDEyLCAxMywgMjQ5LCAxOCwgMTIsIDEzLCAyNDksIDE3LCAxMiwgMTMsIDI0OSwgMTYsIDEyLCAKKyAgICAxMywgMjQ5LCAxNSwgMTIsIDEzLCAyNDksIDE0LCAxMiwgMTMsIDI0OSwgMTMsIDEyLCAxMywgMjQ5LCAxMiwgMTIsIDEzLCAKKyAgICAyNDksIDExLCAxMiwgMTMsIDI0OSwgMTAsIDEyLCAxMywgMjQ5LCA5LCAxMiwgMTMsIDI0OSwgOCwgMTIsIDEzLCAyNDksIDcsIAorICAgIDEyLCAxMywgMjQ5LCA2LCAxMiwgMTMsIDI0OSwgNSwgMTIsIDEzLCAyNDksIDQsIDEyLCAxMywgMjQ5LCAzLCAxMiwgMTMsIAorICAgIDI0NiwgMjM5LCAxMiwgMTMsIDI0NiwgMjM4LCAxMiwgMTMsIDI0NiwgMjM3LCAxMiwgMTMsIDI0NiwgMjM2LCAxMiwgMTMsIAorICAgIDI0NiwgMjM1LCAxMiwgMTMsIDI0NiwgMjM0LCAxMiwgMTMsIDI0NiwgMjMzLCAxMiwgMTMsIDI0NiwgMjMyLCAxMiwgMTMsIAorICAgIDI0NiwgMjMxLCAxMiwgMTMsIDI0NiwgMjMwLCAxMiwgMTMsIDI0NiwgMjI5LCAxMiwgMTMsIDI0NiwgMjI4LCAxMiwgMTMsIAorICAgIDI0NiwgMjI3LCAxMiwgMTMsIDI0NiwgMjI2LCAxMiwgMTMsIDI0NiwgMjI1LCAxMiwgMTMsIDI0NiwgMjI0LCAxMiwgMTMsIAorICAgIDI0NiwgMjIzLCAxMiwgMTMsIDI0NiwgMjIyLCAxMiwgMTMsIDI0NiwgMjIxLCAxMiwgMTMsIDI0NiwgMjIwLCAxMiwgMTMsIAorICAgIDI0NiwgMjE5LCAxMiwgMTMsIDI0NiwgMjE4LCAxMiwgMTMsIDI0NiwgMjE3LCAxMiwgMTMsIDI0NiwgMjE2LCAxMiwgMTMsIAorICAgIDI0NiwgMjE1LCAxMiwgMTMsIDI0NiwgMjE0LCAxMiwgMTMsIDI0NiwgMjEzLCAxMiwgMTMsIDI0NiwgMjEyLCAxMiwgMTMsIAorICAgIDI0NiwgMjExLCAxMiwgMTMsIDI0NiwgMjEwLCAxMiwgMTMsIDI0NiwgMjA5LCAxMiwgMTMsIDI0NiwgMjA4LCAxMiwgMTMsIAorICAgIDI0NiwgMjA3LCAxMiwgMTMsIDI0NiwgMjA2LCAxMiwgMTMsIDI0NiwgMjA1LCAxMiwgMTMsIDI0NiwgMjA0LCAxMiwgMTMsIAorICAgIDI0NiwgMjAzLCAxMiwgMTMsIDI0NiwgMjAyLCAxMiwgMTMsIDI0NiwgMjAxLCAxMiwgMTMsIDI0NiwgMjAwLCAxMiwgMTMsIAorICAgIDI0NiwgMTk5LCAxMiwgMTMsIDI0NiwgMTk4LCAxMiwgMTMsIDI0NiwgMTk3LCAxMiwgMTMsIDI0NiwgMTk2LCAxMiwgMTMsIAorICAgIDI0NiwgMTk1LCAxMiwgMTMsIDI0NiwgMTk0LCAxMiwgMTMsIDI0NiwgMTkzLCAxMiwgMTMsIDI0NiwgMTkyLCAxMiwgMTMsIAorICAgIDI0NiwgMTkxLCAxMiwgMTMsIDI0NiwgMTkwLCAxMiwgMTMsIDI0NiwgMTg5LCAxMiwgMTMsIDI0NiwgMTg4LCAxMiwgMTMsIAorICAgIDI0NiwgMTg3LCAxMiwgMTMsIDI0NiwgMTg2LCAxMiwgMTMsIDI0NiwgMTg1LCAxMiwgMTMsIDI0NiwgMTg0LCAxMiwgMTMsIAorICAgIDI0NiwgMTgzLCAxMiwgMTMsIDI0NiwgMTgyLCAxMiwgMTMsIDI0NiwgMTgxLCAxMiwgMTMsIDI0NiwgMTgwLCAxMiwgMTMsIAorICAgIDI0NiwgMTc5LCAxMiwgMTMsIDI0NiwgMTc4LCAxMiwgMTMsIDI0NiwgMTc3LCAxMiwgMTMsIDI0NiwgMTc2LCAxMiwgMTMsIAorICAgIDI0NiwgMTc1LCAxMiwgMTMsIDI0NiwgMTc0LCAxMiwgMTMsIDI0NiwgMTczLCAxMiwgMTMsIDI0NiwgMTcyLCAxMiwgMTMsIAorICAgIDI0NiwgMTcxLCAxMiwgMTMsIDI0NiwgMTcwLCAxMiwgMTMsIDI0NiwgMTY5LCAxMiwgMTMsIDI0NiwgMTY4LCAxMiwgMTMsIAorICAgIDI0NiwgMTY3LCAxMiwgMTMsIDI0NiwgMTY2LCAxMiwgMTMsIDI0NiwgMTY1LCAxMiwgMTMsIDI0NiwgMTY0LCAxMiwgMTMsIAorICAgIDI0NiwgMTYzLCAxMiwgMTMsIDI0NiwgMTYyLCAxMiwgMTMsIDI0NiwgMTYxLCAxMiwgMTMsIDI0NiwgMTYwLCAxMiwgMTMsIAorICAgIDI0NiwgMTU5LCAxMiwgMTMsIDI0NiwgMTU4LCAxMiwgMTMsIDI0NiwgMTU3LCAxMiwgMTMsIDI0NiwgMTU2LCAxMiwgMTMsIAorICAgIDI0NiwgMTU1LCAxMiwgMTMsIDI0NiwgMTU0LCAxMiwgMTMsIDI0NiwgMTUzLCAxMiwgMTMsIDI0NiwgMTUyLCAxMiwgMTMsIAorICAgIDI0NiwgMTUxLCAxMiwgMTMsIDI0NiwgMTUwLCAxMiwgMTMsIDI0NiwgMTQ5LCAxMiwgMTMsIDI0NiwgMTQ4LCAxMiwgMTMsIAorICAgIDI0MywgMTc2LCAxMiwgMTMsIDI0MywgMTc1LCAxMiwgMTMsIDI0MywgMTc0LCAxMiwgMTMsIDI0MywgMTczLCAxMiwgMTMsIAorICAgIDI0MywgMTcyLCAxMiwgMTMsIDI0MywgMTcxLCAxMiwgMTMsIDI0MywgMTcwLCAxMiwgMTMsIDI0MywgMTY5LCAxMiwgMTMsIAorICAgIDI0MywgMTY4LCAxMiwgMTMsIDI0MywgMTY3LCAxMiwgMTMsIDI0MywgMTY2LCAxMiwgMTMsIDI0MywgMTY1LCAxMiwgMTMsIAorICAgIDI0MywgMTY0LCAxMiwgMTMsIDI0MywgMTYzLCAxMiwgMTMsIDI0MywgMTYyLCAxMiwgMTMsIDI0MywgMTYxLCAxMiwgMTMsIAorICAgIDI0MywgMTYwLCAxMiwgMTMsIDI0MywgMTU5LCAxMiwgMTMsIDI0MywgMTU4LCAxMiwgMTMsIDI0MywgMTU3LCAxMiwgMTMsIAorICAgIDI0MywgMTU2LCAxMiwgMTMsIDI0MywgMTU1LCAxMiwgMTMsIDI0MywgMTU0LCAxMiwgMTMsIDI0MywgMTUzLCAxMiwgMTMsIAorICAgIDI0MywgMTUyLCAxMiwgMTMsIDI0MywgMTUxLCAxMiwgMTMsIDI0MywgMTUwLCAxMiwgMTMsIDI0MywgMTQ5LCAxMiwgMTMsIAorICAgIDI0MywgMTQ4LCAxMiwgMTMsIDI0MywgMTQ3LCAxMiwgMTMsIDI0MywgMTQ2LCAxMiwgMTMsIDI0MywgMTQ1LCAxMiwgMTMsIAorICAgIDI0MywgMTQ0LCAxMiwgMTMsIDI0MywgMTQzLCAxMiwgMTMsIDI0MywgMTQyLCAxMiwgMTMsIDI0MywgMTQxLCAxMiwgMTMsIAorICAgIDI0MywgMTQwLCAxMiwgMTMsIDI0MywgMTM5LCAxMiwgMTMsIDI0MywgMTM4LCAxMiwgMTMsIDI0MywgMTM3LCAxMiwgMTMsIAorICAgIDI0MywgMTM2LCAxMiwgMTMsIDI0MywgMTM1LCAxMiwgMTMsIDI0MywgMTM0LCAxMiwgMTMsIDI0MywgMTMzLCAxMiwgMTMsIAorICAgIDI0MiwgMTM4LCAxMiwgMTMsIDI0MiwgMTM3LCAxMiwgMTMsIDI0MiwgMTM2LCAxMiwgMTMsIDI0MiwgMTM1LCAxMiwgMTMsIAorICAgIDI0MiwgMTM0LCAxMiwgMTMsIDI0MiwgMTMzLCAxMiwgMTMsIDI0MiwgMTMyLCAxMiwgMTMsIDI0MiwgMTMxLCAxMiwgMTMsIAorICAgIDI0MiwgMTMwLCAxMiwgMTMsIDI0MiwgMTI5LCAxMiwgMTMsIDI0MiwgMTI4LCAxMiwgMTMsIDI0MiwgMTI3LCAxMiwgMTMsIAorICAgIDI0MiwgMTI2LCAxMiwgMTMsIDI0MiwgMTI1LCAxMiwgMTMsIDI0MiwgMTI0LCAxMiwgMTMsIDI0MiwgMTIzLCAxMiwgMTMsIAorICAgIDI0MiwgMTIyLCAxMiwgMTMsIDI0MiwgMTIxLCAxMiwgMTMsIDI0MiwgMTIwLCAxMiwgMTMsIDI0MiwgMTE5LCAxMiwgMTMsIAorICAgIDI0MiwgMTE4LCAxMiwgMTMsIDI0MiwgMTE3LCAxMiwgMTMsIDI0MiwgMTE2LCAxMiwgMTMsIDI0MiwgMTE1LCAxMiwgMTMsIAorICAgIDI0MiwgMTE0LCAxMiwgMTMsIDI0MiwgMTEzLCAxMiwgMTMsIDI0MiwgMTEyLCAxMiwgMTMsIDI0MiwgMTExLCAxMiwgMTMsIAorICAgIDI0MiwgMTEwLCAxMiwgMTMsIDI0MiwgMTA5LCAxMiwgMTMsIDI0MiwgMTA4LCAxMiwgMTMsIDI0MiwgMTA3LCAxMiwgMTMsIAorICAgIDI0MiwgMTA2LCAxMiwgMTMsIDI0MiwgMTA1LCAxMiwgMTMsIDI0MiwgMTA0LCAxMiwgMTMsIDI0MiwgMTAzLCAxMiwgMTMsIAorICAgIDI0MiwgMTAyLCAxMiwgMTMsIDI0MiwgMTAxLCAxMiwgMTMsIDI0MiwgMTAwLCAxMiwgMTMsIDI0MiwgOTksIDEyLCAxMywgCisgICAgMjQyLCA5OCwgMTIsIDEzLCAyNDIsIDk3LCAxMiwgMTMsIDI0MiwgOTYsIDEyLCAxMywgMjQyLCA5NSwgMTIsIDEzLCAyNDIsIAorICAgIDk0LCAxMiwgMTMsIDI0MiwgOTMsIDEyLCAxMywgMjQyLCA5MiwgMTIsIDEzLCAyNDIsIDkxLCAxMiwgMTMsIDI0MiwgOTAsIAorICAgIDEyLCAxMywgMjQyLCA4OSwgMTIsIDEzLCAyNDIsIDg4LCAxMiwgMTMsIDI0MiwgODcsIDEyLCAxMywgMjQyLCA4NiwgMTIsIAorICAgIDEzLCAyNDIsIDg1LCAxMiwgMTMsIDI0MiwgODQsIDEyLCAxMywgMjQyLCA4MywgMTIsIDEzLCAyNDIsIDgyLCAxMiwgMTMsIAorICAgIDI0MiwgODEsIDEyLCAxMywgMjQyLCA4MCwgMTIsIDEzLCAyNDIsIDc5LCAxMiwgMTMsIDI0MiwgNzgsIDEyLCAxMywgMjQyLCAKKyAgICA3NywgMTIsIDEzLCAyNDIsIDc2LCAxMiwgMTMsIDI0MiwgNzUsIDEyLCAxMywgMjQyLCA3NCwgMTIsIDEzLCAyNDEsIDU0LCAKKyAgICAxMiwgMTMsIDI0MSwgNTMsIDEyLCAxMywgMjQxLCA1MiwgMTIsIDEzLCAyNDEsIDUxLCAxMiwgMTMsIDI0MSwgNTAsIDEyLCAKKyAgICAxMywgMjQxLCA0OSwgMTIsIDEzLCAyNDEsIDQ4LCAxMiwgMTMsIDI0MSwgNDcsIDEyLCAxMywgMjQxLCA0NiwgMTIsIDEzLCAKKyAgICAyNDEsIDQ1LCAxMiwgMTMsIDI0MSwgNDQsIDEyLCAxMywgMjQxLCA0MywgMTIsIDEzLCAyNDEsIDQyLCAxMiwgMTMsIDI0MSwgCisgICAgNDEsIDEyLCAxMywgMjQxLCA0MCwgMTIsIDEzLCAyNDEsIDM5LCAxMiwgMTMsIDI0MSwgMzgsIDEyLCAxMywgMjQxLCAzNywgCisgICAgMTIsIDEzLCAyNDEsIDM2LCAxMiwgMTMsIDI0MSwgMzUsIDEyLCAxMywgMjQxLCAzNCwgMTIsIDEzLCAyNDEsIDMzLCAxMiwgCisgICAgMTMsIDI0MSwgMzIsIDEyLCAxMywgMjQxLCAzMSwgMTIsIDEzLCAyNDEsIDMwLCAxMiwgMTMsIDI0MSwgMjksIDEyLCAxMywgCisgICAgMjQxLCAyOCwgMTIsIDEzLCAyNDEsIDI3LCAxMiwgMTMsIDI0MSwgMjYsIDEyLCAxMywgMjQxLCAyNSwgMTIsIDEzLCAyNDEsIAorICAgIDI0LCAxMiwgMTMsIDI0MSwgMjMsIDEyLCAxMywgMjQxLCAyMiwgMTIsIDEzLCAyNDEsIDIxLCAxMiwgMTMsIDI0MSwgMjAsIAorICAgIDEyLCAxMywgMjQxLCAxOSwgMTIsIDEzLCAyNDEsIDE4LCAxMiwgMTMsIDI0MSwgMTcsIDEyLCAxMywgMjQxLCAxNiwgMTIsIAorICAgIDEzLCAyNDEsIDE1LCAxMiwgMTMsIDI0MSwgMTQsIDEyLCAxMywgMjQxLCAxMywgMTIsIDEzLCAyNDEsIDEyLCAxMiwgMTMsIAorICAgIDI0MSwgMTEsIDEyLCAxMywgMjQxLCAxMCwgMTIsIDEzLCAyNDEsIDksIDEyLCAxMywgMjQxLCA4LCAxMiwgMTMsIDI0MSwgNywgCisgICAgMTIsIDEzLCAyNDEsIDYsIDEyLCAxMywgMjQxLCA1LCAxMiwgMTMsIDI0MSwgNCwgMTIsIDEzLCAyNDEsIDMsIDEyLCAxMywgCisgICAgMjQxLCAyLCAxMiwgMTMsIDI0MSwgMSwgMTIsIDEzLCAyNDEsIDAsIDEyLCAxMywgMjQwLCAyNTUsIDEyLCAxMywgMjQwLCAKKyAgICAyNTQsIDEyLCAxMywgMjQwLCAyNTMsIDEyLCAxMywgMjQwLCAyNTIsIDEyLCAxMywgMjQwLCAyNTEsIDEyLCAxMywgMjQwLCAKKyAgICAyNTAsIDEyLCAxMywgMjQwLCAyNDksIDEyLCAxMywgMjQwLCAyNDgsIDEyLCAxMywgMjQwLCAyNDcsIDEyLCAxMywgMjM5LCAKKyAgICAxNTMsIDEyLCAxMywgMjM5LCAxNTIsIDEyLCAxMywgMjM5LCAxNTEsIDEyLCAxMywgMjM5LCAxNTAsIDEyLCAxMywgMjM5LCAKKyAgICAxNDksIDEyLCAxMywgMjM5LCAxNDgsIDEyLCAxMywgMjM5LCAxNDcsIDEyLCAxMywgMjM5LCAxNDYsIDEyLCAxMywgMjM5LCAKKyAgICAxNDUsIDEyLCAxMywgMjM3LCAyMDksIDEyLCAxMywgMjM3LCAyMDgsIDEyLCAxMywgMjM3LCAyMDcsIDEyLCAxMywgMjM3LCAKKyAgICAyMDYsIDEyLCAxMywgMjM3LCAyMDUsIDEyLCAxMywgMjM3LCAyMDQsIDEyLCAxMywgMjM3LCAyMDMsIDEyLCAxMywgMjM3LCAKKyAgICAyMDIsIDEyLCAxMywgMjM3LCAyMDEsIDEyLCAxMywgMjM3LCAyMDAsIDEyLCAxMywgMjM3LCAxOTksIDEyLCAxMywgMjM3LCAKKyAgICAxOTgsIDEyLCAxMywgMjM3LCAxOTcsIDEyLCAxMywgMjM3LCAxOTYsIDEyLCAxMywgMjM3LCAxOTUsIDEyLCAxMywgMjM3LCAKKyAgICAxOTQsIDEyLCAxMywgMjM3LCAxOTMsIDEyLCAxMywgMjM3LCAxOTIsIDEyLCAxMywgMjM3LCAxOTEsIDEyLCAxMywgMjMyLCAKKyAgICA3NSwgMTIsIDEzLCAyMzIsIDc0LCAxMiwgMTMsIDIzMiwgNzMsIDEyLCAxMywgMjMyLCA3MiwgMTIsIDEzLCAyMzIsIDcxLCAKKyAgICAxMiwgMTMsIDIzMiwgNzAsIDEyLCAxMywgMjMyLCA2OSwgMTIsIDEzLCAyMzIsIDY4LCAxMiwgMTMsIDIzMCwgMTU2LCAxMiwgCisgICAgMTMsIDIzMCwgMTU1LCAxMiwgMTMsIDIzMCwgMTU0LCAxMiwgMTMsIDIzMCwgMTUzLCAxMiwgMTMsIDIzMCwgMTUyLCAxMiwgCisgICAgMTMsIDIzMCwgMTUxLCAxMiwgMTMsIDIzMCwgMTUwLCAxMiwgMTMsIDIzMCwgMTQ5LCAxMiwgMTMsIDIzMCwgMTQ4LCAxMiwgCisgICAgMTMsIDIzMCwgMTQ3LCAxMiwgMTMsIDIyOSwgMjYsIDEyLCAxMywgMjI5LCAyNSwgMTIsIDEzLCAyMjksIDI0LCAxMiwgMTMsIAorICAgIDIyOSwgMjIsIDEyLCAxMywgMjI5LCAyMCwgMTIsIDEzLCAyMjksIDE5LCAxMiwgMTMsIDIyOSwgMTcsIDEyLCAxMywgMjI5LCAKKyAgICAxNSwgMTIsIDEzLCAyMjksIDEzLCAxMiwgMTMsIDIyOSwgMTEsIDEyLCAxMywgMjI5LCA5LCAxMiwgMTMsIDIyOSwgNywgMTIsIAorICAgIDEzLCAyMjksIDUsIDEyLCAxMywgMjI5LCA0LCAxMiwgMTMsIDIyOSwgMiwgMTIsIDEzLCAyMjksIDAsIDEyLCAxMywgMjI4LCAKKyAgICAyNTUsIDEyLCAxMywgMjI4LCAyNTQsIDEyLCAxMywgMjI4LCAyNTMsIDEyLCAxMywgMjI4LCAyNTIsIDEyLCAxMywgMjI4LCAKKyAgICAyNTEsIDEyLCAxMywgMjI4LCAyNTAsIDEyLCAxMywgMjI4LCAyNDksIDEyLCAxMywgMjI4LCAyNDgsIDEyLCAxMywgMjI4LCAKKyAgICAyNDYsIDEyLCAxMywgMjI4LCAyNDQsIDEyLCAxMywgMjI4LCAyNDIsIDEyLCAxMywgMjI4LCAyNDEsIDEyLCAxMywgMjI4LCAKKyAgICAyMzksIDEyLCAxMywgMjI4LCAyMzgsIDEyLCAxMywgMjI4LCAyMzYsIDEyLCAxMywgMjI4LCAyMzUsIDEyLCAxMywgMjI4LCAKKyAgICAyMzMsIDEyLCAxMywgMjI4LCAyMzEsIDEyLCAxMywgMjI4LCAyMjksIDEyLCAxMywgMjI4LCAyMjcsIDEyLCAxMywgMjI4LCAKKyAgICAyMjUsIDEyLCAxMywgMjI4LCAyMjQsIDEyLCAxMywgMjI4LCAyMjIsIDEyLCAxMywgMjI4LCAyMjAsIDEyLCAxMywgMjI4LCAKKyAgICAyMTksIDEyLCAxMywgMjI4LCAyMTcsIDEyLCAxMywgMjI4LCAyMTUsIDEyLCAxMywgMjI4LCAyMTMsIDEyLCAxMywgMjI4LCAKKyAgICAyMTEsIDEyLCAxMywgMjI4LCAyMTAsIDEyLCAxMywgMjI4LCAyMDgsIDEyLCAxMywgMjI4LCAyMDYsIDEyLCAxMywgMjI4LCAKKyAgICAyMDQsIDEyLCAxMywgMjI4LCAyMDMsIDEyLCAxMywgMjI4LCAyMDEsIDEyLCAxMywgMjI4LCAxOTksIDEyLCAxMywgMjI4LCAKKyAgICAxOTgsIDEyLCAxMywgMjI4LCAxOTcsIDEyLCAxMywgMjI4LCAxOTUsIDEyLCAxMywgMjI4LCAxOTMsIDEyLCAxMywgMjI4LCAKKyAgICAxOTEsIDEyLCAxMywgMjI4LCAxODksIDEyLCAxMywgMjI4LCAxODcsIDEyLCAxMywgMjI4LCAxODUsIDEyLCAxMywgMjI4LCAKKyAgICAxODMsIDEyLCAxMywgMjI4LCAxODIsIDEyLCAxMywgMjI4LCAxODAsIDEyLCAxMywgMjI4LCAxNzgsIDEyLCAxMywgMjI4LCAKKyAgICAxNzYsIDEyLCAxMywgMjI4LCAxNzQsIDEyLCAxMywgMjI2LCAzMCwgMTIsIDEzLCAyMjYsIDI5LCAxMiwgMTMsIDIyNiwgMjgsIAorICAgIDEyLCAxMywgMjI2LCAyNywgMTIsIDEzLCAyMjYsIDI2LCAxMiwgMTMsIDIyNiwgMjUsIDEyLCAxMywgMjI2LCAyNCwgMTIsIAorICAgIDEzLCAyMjYsIDIzLCAxMiwgMTMsIDIyNiwgMjIsIDEyLCAxMywgMjI2LCAyMSwgMTIsIDEzLCAyMjYsIDIwLCAxMiwgMTMsIAorICAgIDIyNiwgMTksIDEyLCAxMywgMjI2LCAxOCwgMTIsIDEzLCAyMjYsIDE3LCAxMiwgMTMsIDIyNiwgMTYsIDEyLCAxMywgMjI2LCAKKyAgICAxNSwgMTIsIDEzLCAyMjYsIDE0LCAxMiwgMTMsIDIyNiwgMTMsIDEyLCAxMywgMjI2LCAxMiwgMTIsIDEzLCAyMjYsIDExLCAKKyAgICAxMiwgMTMsIDIyNiwgMTAsIDEyLCAxMywgMjI2LCA5LCAxMiwgMTMsIDIyNiwgOCwgMTIsIDEzLCAyMjYsIDcsIDEyLCAxMywgCisgICAgMjI2LCA2LCAxMiwgMTMsIDIyNiwgNSwgMTIsIDEzLCAyMjYsIDQsIDEyLCAxMywgMjI2LCAzLCAxMiwgMTMsIDIyNiwgMiwgCisgICAgMTIsIDEzLCAyMjYsIDEsIDEyLCAxMywgMjI2LCAwLCAxMiwgMTMsIDIyNSwgMjU1LCAxMiwgMTMsIDIyNSwgMjU0LCAxMiwgCisgICAgMTMsIDIyNSwgMjUzLCAxMiwgMTMsIDIyNSwgMjUyLCAxMiwgMTMsIDIyNSwgMjUxLCAxMiwgMTMsIDIyNSwgMjUwLCAxMiwgCisgICAgMTMsIDIyNSwgMjQ5LCAxMiwgMTMsIDIyNSwgMjQ4LCAxMiwgMTMsIDIyNSwgMjQ3LCAxMiwgMTMsIDIyNSwgMjQ2LCAxMiwgCisgICAgMTMsIDIyNSwgMjQ1LCAxMiwgMTMsIDIyNSwgMjQ0LCAxMiwgMTMsIDIyNSwgMjQzLCAxMiwgMTMsIDIyNSwgMjQyLCAxMiwgCisgICAgMTMsIDIyNSwgMjQxLCAxMiwgMTMsIDIyNSwgMjQwLCAxMiwgMTMsIDIyNSwgMjM5LCAxMiwgMTMsIDIyNSwgMjM4LCAxMiwgCisgICAgMTMsIDIyNCwgMTI4LCAxMiwgMTMsIDIyNCwgMTI3LCAxMiwgMTMsIDIyNCwgMTI2LCAxMiwgMTMsIDIyNCwgMTI1LCAxMiwgCisgICAgMTMsIDIyNCwgMTI0LCAxMiwgMTMsIDIyNCwgMTIzLCAxMiwgMTMsIDIyNCwgMTIyLCAxMiwgMTMsIDIyNCwgMTIxLCAxMiwgCisgICAgMTMsIDIyNCwgMTIwLCAxMiwgMTMsIDIyNCwgMTE5LCAxMiwgMTMsIDIyNCwgMTE4LCAxMiwgMTMsIDIyNCwgMTE3LCAxMiwgCisgICAgMTMsIDIyNCwgMTE2LCAxMiwgMTMsIDIyNCwgMTE1LCAxMiwgMTMsIDIyNCwgMTE0LCAxMiwgMTMsIDIyNCwgMTEzLCAxMiwgCisgICAgMTMsIDIyNCwgMTEyLCAxMiwgMTMsIDIyNCwgMTExLCAxMiwgMTMsIDIyNCwgMTEwLCAxMiwgMTMsIDIyNCwgMTA5LCAxMiwgCisgICAgMTMsIDIyNCwgMTA4LCAxMiwgMTMsIDIyNCwgMTA3LCAxMiwgMTMsIDIyMywgMjE2LCAxMiwgMTMsIDIyMywgMjE1LCAxMiwgCisgICAgMTMsIDIyMywgMjE0LCAxMiwgMTMsIDIyMywgMjEzLCAxMiwgMTMsIDIyMywgMjEyLCAxMiwgMTMsIDIyMywgMjExLCAxMiwgCisgICAgMTMsIDIyMywgMjEwLCAxMiwgMTMsIDIyMywgMjA5LCAxMiwgMTMsIDIyMywgMjA4LCAxMiwgMTMsIDIyMywgMjA3LCAxMiwgCisgICAgMTMsIDIyMywgMjA2LCAxMiwgMTMsIDIyMywgMjA1LCAxMiwgMTMsIDIyMywgMjA0LCAxMiwgMTMsIDIyMywgMjAzLCAxMiwgCisgICAgMTMsIDIyMywgMjAyLCAxMiwgMTMsIDIyMywgMjAxLCAxMiwgMTMsIDIyMywgMjAwLCAxMiwgMTMsIDIyMywgMTk5LCAxMiwgCisgICAgMTMsIDIyMywgMTk4LCAxMiwgMTMsIDIyMywgMTk3LCAxMiwgMTMsIDIyMywgMTk2LCAxMiwgMTMsIDIyMywgMTk1LCAxMiwgCisgICAgMTMsIDIyMywgMTk0LCAxMiwgMTMsIDIyMywgMTkzLCAxMiwgMTMsIDIyMywgMTkyLCAxMiwgMTMsIDIyMywgMTkxLCAxMiwgCisgICAgMTMsIDIyMywgNTAsIDEyLCAxMywgMjIzLCA0OSwgMTIsIDEzLCAyMjMsIDQ4LCAxMiwgMTMsIDIyMywgNDcsIDEyLCAxMywgCisgICAgMjIzLCA0NiwgMTIsIDEzLCAyMjMsIDQ1LCAxMiwgMTMsIDIyMywgNDQsIDEyLCAxMywgMjIzLCA0MywgMTIsIDEzLCAyMjMsIAorICAgIDQyLCAxMiwgMTMsIDIyMywgNDEsIDEyLCAxMywgMjIzLCA0MCwgMTIsIDEzLCAyMjMsIDM5LCAxMiwgMTMsIDIyMywgMzgsIAorICAgIDEyLCAxMywgMjIzLCAzNywgMTIsIDEzLCAyMjMsIDM2LCAxMiwgMTMsIDIyMywgMzUsIDEyLCAxMywgMjIzLCAzNCwgMTIsIAorICAgIDEzLCAyMjMsIDMzLCAxMiwgMTMsIDIyMywgMzIsIDEyLCAxMywgMjIzLCAzMSwgMTIsIDEzLCAyMjMsIDMwLCAxMiwgMTMsIAorICAgIDIyMywgMjksIDEyLCAxMywgMjIzLCAyOCwgMTIsIDEzLCAyMjMsIDI3LCAxMiwgMTMsIDIyMywgMjYsIDEyLCAxMywgMjIzLCAKKyAgICAyNSwgMTIsIDEzLCAyMjMsIDI0LCAxMiwgMTMsIDIyMywgMjMsIDEyLCAxMywgMjIzLCAyMiwgMTIsIDEzLCAyMjMsIDIxLCAKKyAgICAxMiwgMTMsIDIyMywgMjAsIDEyLCAxMywgMjIzLCAxOSwgMTIsIDEzLCAyMjMsIDE4LCAxMiwgMTMsIDIyMywgMTcsIDEyLCAKKyAgICAxMywgMjIzLCAxNiwgMTIsIDEzLCAyMjMsIDE1LCAxMiwgMTMsIDIyMywgMTQsIDEyLCAxMywgMjIzLCAxMywgMTIsIDEzLCAKKyAgICAyMjMsIDEyLCAxMiwgMTMsIDIyMywgMTEsIDEyLCAxMywgMjIzLCAxMCwgMTIsIDEzLCAyMjMsIDksIDEyLCAxMywgMjIzLCAKKyAgICA4LCAxMiwgMTMsIDIyMywgNywgMTIsIDEzLCAyMjMsIDYsIDEyLCAxMywgMjIzLCA1LCAxMiwgMTMsIDIyMywgNCwgMTIsIAorICAgIDEzLCAyMjMsIDMsIDEyLCAxMywgMjIzLCAyLCAxMiwgMTMsIDIyMywgMSwgMTIsIDEzLCAyMjMsIDAsIDEyLCAxMywgMjIyLCAKKyAgICAyNTUsIDEyLCAxMywgMjIyLCAyNTQsIDEyLCAxMywgMjIyLCAyNTMsIDEyLCAxMywgMjIyLCAyNTIsIDEyLCAxMywgMjIyLCAKKyAgICAyNTEsIDEyLCAxMywgMjIyLCAyNTAsIDEyLCAxMywgMjIyLCAyNDksIDEyLCAxMywgMjIyLCAyNDgsIDEyLCAxMywgMjIyLCAKKyAgICAyNDcsIDEyLCAxMywgMjIyLCAyNDYsIDEyLCAxMywgMjIyLCAyNDUsIDEyLCAxMywgMjIyLCAyNDQsIDEyLCAxMywgMjIyLCAKKyAgICAyNDMsIDEyLCAxMywgMjIyLCAyNDIsIDEyLCAxMywgMjIyLCAyNDEsIDEyLCAxMywgMjIyLCAyNDAsIDEyLCAxMywgMjIyLCAKKyAgICAyMzksIDEyLCAxMywgMjIyLCAyMzgsIDEyLCAxMywgMjIyLCAyMzcsIDEyLCAxMywgMjIyLCAyMzYsIDEyLCAxMywgMjIyLCAKKyAgICAyMzUsIDEyLCAxMywgMjIyLCAyMzQsIDEyLCAxMywgMjIyLCAyMzMsIDEyLCAxMywgMjIyLCAyMzIsIDEyLCAxMywgMjIyLCAKKyAgICA2NiwgMTIsIDEzLCAyMjIsIDY1LCAxMiwgMTMsIDIyMiwgNjQsIDEyLCAxMywgMjIyLCA2MywgMTIsIDEzLCAyMjIsIDYyLCAKKyAgICAxMiwgMTMsIDIyMiwgNjEsIDEyLCAxMywgMjIyLCA2MCwgMTIsIDEzLCAyMjIsIDU5LCAxMiwgMTMsIDIyMiwgNTgsIDEyLCAKKyAgICAxMywgMjIyLCA1NywgMTIsIDEzLCAyMjIsIDU2LCAxMiwgMTMsIDIyMiwgNTUsIDEyLCAxMywgMjIyLCA1NCwgMTIsIDEzLCAKKyAgICAyMjAsIDI2LCAxMiwgMTMsIDIyMCwgMjUsIDEyLCAxMywgMjIwLCAyNCwgMTIsIDEzLCAyMjAsIDIzLCAxMiwgMTMsIDIyMCwgCisgICAgMjIsIDEyLCAxMywgMjIwLCAyMSwgMTIsIDEzLCAyMjAsIDIwLCAxMiwgMTMsIDIxOSwgMTQ4LCAxMiwgMTMsIDIxOSwgMTQ3LCAKKyAgICAxMiwgMTMsIDIxOSwgMTQ2LCAxMiwgMTMsIDIxOSwgMTQ1LCAxMiwgMTMsIDIxOSwgMTQ0LCAxMiwgMTMsIDIxOSwgMTQzLCAKKyAgICAxMiwgMTMsIDIxOSwgMTQyLCAxMiwgMTMsIDIxOSwgMTQxLCAxMiwgMTMsIDIxOSwgMTQwLCAxMiwgMTMsIDIxOSwgMTM5LCAKKyAgICAxMiwgMTMsIDIxOSwgMTM4LCAxMiwgMTMsIDIxOSwgMTM3LCAxMiwgMTMsIDIxOSwgMTM2LCAxMiwgMTMsIDIxOSwgMTM1LCAKKyAgICAxMiwgMTMsIDIxOSwgMTM0LCAxMiwgMTMsIDIxOSwgMTMzLCAxMiwgMTMsIDIxOSwgMTMyLCAxMiwgMTMsIDIxOSwgMTMxLCAKKyAgICAxMiwgMTMsIDIxOSwgMTMwLCAxMiwgMTMsIDIxOSwgMTI5LCAxMiwgMTMsIDIxOSwgMTI4LCAxMiwgMTMsIDIxOSwgMTI3LCAKKyAgICAxMiwgMTMsIDIxOSwgMTI2LCAxMiwgMTMsIDIxOSwgMTI1LCAxMiwgMTMsIDIxOSwgMTI0LCAxMiwgMTMsIDIxOSwgMTIzLCAKKyAgICAxMiwgMTMsIDIxOSwgMTIyLCAxMiwgMTMsIDIxOSwgMTIxLCAxMiwgMTMsIDIxOSwgMTIwLCAxMiwgMTMsIDIxOSwgMTE5LCAKKyAgICAxMiwgMTMsIDIxOSwgMTE4LCAxMiwgMTMsIDIxOSwgMTE3LCAxMiwgMTMsIDIxOSwgMTE2LCAxMiwgMTMsIDIxOSwgMTE1LCAKKyAgICAxMiwgMTMsIDIxNywgMjU0LCAxMiwgMTMsIDIxNywgMjUzLCAxMiwgMTMsIDIxNywgMjUyLCAxMiwgMTMsIDIxNywgMjUxLCAKKyAgICAxMiwgMTMsIDIxNywgMjUwLCAxMiwgMTMsIDIxNywgMjQ5LCAxMiwgMTMsIDIxNywgMjQ4LCAxMiwgMTMsIDIxNywgMjQ3LCAKKyAgICAxMiwgMTMsIDIxNywgMjQ2LCAxMiwgMTMsIDIxNywgMjQ1LCAxMiwgMTMsIDIxNywgMjQ0LCAxMiwgMTMsIDIxNywgMjQzLCAKKyAgICAxMiwgMTMsIDIxNywgMjQyLCAxMiwgMTMsIDIxNywgMjQxLCAxMiwgMTMsIDIxNywgMjQwLCAxMiwgMTMsIDIxNywgMjM5LCAKKyAgICAxMiwgMTMsIDIxNywgMjM4LCAxMiwgMTMsIDIxNywgMjM3LCAxMiwgMTMsIDIxNywgMjM2LCAxMiwgMTMsIDIxNywgMjM1LCAKKyAgICAxMiwgMTMsIDIxNywgMjM0LCAxMiwgMTMsIDIxNywgMjMzLCAxMiwgMTMsIDIxNywgMjMyLCAxMiwgMTMsIDIxNywgMjMxLCAKKyAgICAxMiwgMTMsIDIxNywgMjMwLCAxMiwgMTMsIDIxNywgMjI5LCAxMiwgMTMsIDIxNywgMjI4LCAxMiwgMTMsIDIxNywgMjI3LCAKKyAgICAxMiwgMTMsIDIxNywgMjI2LCAxMiwgMTMsIDIxNywgMjI1LCAxMiwgMTMsIDIxNywgMjI0LCAxMiwgMTMsIDIxNywgMjIzLCAKKyAgICAxMiwgMTMsIDIxNywgMjIyLCAxMiwgMTMsIDIxNywgMjIxLCAxMiwgMTMsIDIxNywgMjIwLCAxMiwgMTMsIDIxNywgMjE5LCAKKyAgICAxMiwgMTMsIDIxNywgMjE4LCAxMiwgMTMsIDIxNywgMjE3LCAxMiwgMTMsIDIxNywgMjE2LCAxMiwgMTMsIDIxNywgMjE1LCAKKyAgICAxMiwgMTMsIDIxNywgMjE0LCAxMiwgMTMsIDIxNywgMjEzLCAxMiwgMTMsIDIxNywgMjEyLCAxMiwgMTMsIDIxNywgMjExLCAKKyAgICAxMiwgMTMsIDIxNywgMjEwLCAxMiwgMTMsIDIxNywgMjA5LCAxMiwgMTMsIDIxNywgMjA4LCAxMiwgMTMsIDIxNywgMjA3LCAKKyAgICAxMiwgMTMsIDIxNywgMjA2LCAxMiwgMTMsIDIxNywgMjA1LCAxMiwgMTMsIDIxNywgMjA0LCAxMiwgMTMsIDIxNywgMjAzLCAKKyAgICAxMiwgMTMsIDIxNywgMjAyLCAxMiwgMTMsIDIxNywgMjAxLCAxMiwgMTMsIDIxMywgOCwgMTIsIDEzLCAyMTMsIDcsIDEyLCAKKyAgICAxMywgMjEzLCA2LCAxMiwgMTMsIDIxMywgNSwgMTIsIDEzLCAyMTMsIDQsIDEyLCAxMywgMjEzLCAzLCAxMiwgMTMsIDIxMywgCisgICAgMiwgMTIsIDEzLCAyMTMsIDEsIDEyLCAxMywgMjEzLCAwLCAxMiwgMTMsIDIxMiwgMjU1LCAxMiwgMTMsIDIxMiwgMjU0LCAKKyAgICAxMiwgMTMsIDIxMiwgMjUzLCAxMiwgMTMsIDIxMiwgMjUyLCAxMiwgMTMsIDIxMiwgMjUxLCAxMiwgMTMsIDIxMiwgMjUwLCAKKyAgICAxMiwgMTMsIDIxMiwgMjQ5LCAxMiwgMTMsIDIxMiwgMjQ4LCAxMiwgMTMsIDIxMiwgMjQ3LCAxMiwgMTMsIDIxMiwgMjQ2LCAKKyAgICAxMiwgMTMsIDIxMiwgMjQ1LCAxMiwgMTMsIDIxMiwgMjQ0LCAxMiwgMTMsIDIxMiwgMjQzLCAxMiwgMTMsIDIxMiwgMjQyLCAKKyAgICAxMiwgMTMsIDIxMiwgMjQxLCAxMiwgMTMsIDIxMiwgMjQwLCAxMiwgMTMsIDIxMiwgMjM5LCAxMiwgMTMsIDIxMiwgMjM4LCAKKyAgICAxMiwgMTMsIDIxMiwgMjM3LCAxMiwgMTMsIDIxMiwgMjM2LCAxMiwgMTMsIDIxMiwgMjM1LCAxMiwgMTMsIDIxMiwgMjM0LCAKKyAgICAxMiwgMTMsIDIxMiwgMjMzLCAxMiwgMTMsIDIxMiwgMjMyLCAxMiwgMTMsIDIxMiwgMjMxLCAxMiwgMTMsIDIxMiwgMjMwLCAKKyAgICAxMiwgMTMsIDIxMiwgMjI5LCAxMiwgMTMsIDIxMiwgMjI4LCAxMiwgMTMsIDIxMiwgMjI3LCAxMiwgMTMsIDIxMiwgMjI2LCAKKyAgICAxMiwgMTMsIDIxMiwgMjI1LCAxMiwgMTMsIDIxMiwgMjI0LCAxMiwgMTMsIDIxMiwgMjIzLCAxMiwgMTMsIDIxMiwgMjIyLCAKKyAgICAxMiwgMTMsIDIxMiwgMjIxLCAxMiwgMTMsIDIxMCwgNjcsIDEyLCAxMywgMjEwLCA2NiwgMTIsIDEzLCAyMTAsIDY1LCAxMiwgCisgICAgMTMsIDIxMCwgNjQsIDEyLCAxMywgMjEwLCA2MywgMTIsIDEzLCAyMTAsIDYyLCAxMiwgMTMsIDIxMCwgNjEsIDEyLCAxMywgCisgICAgMjEwLCA2MCwgMTIsIDEzLCAyMTAsIDU5LCAxMiwgMTMsIDIxMCwgNTgsIDEyLCAxMywgMjEwLCA1NywgMTIsIDEzLCAyMTAsIAorICAgIDU2LCAxMiwgMTMsIDIxMCwgNTUsIDEyLCAxMywgMjEwLCA1NCwgMTIsIDEzLCAyMTAsIDUzLCAxMiwgMTMsIDIxMCwgNTIsIAorICAgIDEyLCAxMywgMjEwLCA1MSwgMTIsIDEzLCAyMTAsIDUwLCAxMiwgMTMsIDIxMCwgNDksIDEyLCAxMywgMjEwLCA0OCwgMTIsIAorICAgIDEzLCAyMTAsIDQ3LCAxMiwgMTMsIDIxMCwgNDYsIDEyLCAxMywgMjEwLCA0NSwgMTIsIDEzLCAyMTAsIDQ0LCAxMiwgMTMsIAorICAgIDIxMCwgNDMsIDEyLCAxMywgMjEwLCA0MiwgMTIsIDEzLCAyMTAsIDQxLCAxMiwgMTMsIDIxMCwgNDAsIDEyLCAxMywgMjEwLCAKKyAgICAzOSwgMTIsIDEzLCAyMTAsIDM4LCAxMiwgMTMsIDIxMCwgMzcsIDEyLCAxMywgMjEwLCAzNiwgMTIsIDEzLCAyMTAsIDM1LCAKKyAgICAxMiwgMTMsIDIxMCwgMzQsIDEyLCAxMywgMjEwLCAzMywgMTIsIDEzLCAyMTAsIDMyLCAxMiwgMTMsIDIxMCwgMzEsIDEyLCAKKyAgICAxMywgMjEwLCAzMCwgMTIsIDEzLCAyMTAsIDI5LCAxMiwgMTMsIDIxMCwgMjgsIDEyLCAxMywgMjEwLCAyNywgMTIsIDEzLCAKKyAgICAyMTAsIDI2LCAxMiwgMTMsIDIxMCwgMjUsIDEyLCAxMywgMjEwLCAyNCwgMTIsIDEzLCAyMTAsIDIzLCAxMiwgMTMsIDIxMCwgCisgICAgMjIsIDEyLCAxMywgMjEwLCAyMSwgMTIsIDEzLCAyMDksIDE0NywgMTIsIDEzLCAyMDksIDE0NiwgMTIsIDEzLCAyMDksIAorICAgIDE0NSwgMTIsIDEzLCAyMDksIDE0NCwgMTIsIDEzLCAyMDksIDE0MywgMTIsIDEzLCAyMDksIDE0MiwgMTIsIDEzLCAyMDksIAorICAgIDE0MSwgMTIsIDEzLCAyMDksIDE0MCwgMTIsIDEzLCAyMDksIDEzOSwgMTIsIDEzLCAyMDksIDEzOCwgMTIsIDEzLCAyMDksIAorICAgIDEzNywgMTIsIDEzLCAyMDksIDEzNiwgMTIsIDEzLCAyMDksIDEzNSwgMTIsIDEzLCAyMDksIDEzNCwgMTIsIDEzLCAyMDksIAorICAgIDEzMywgMTIsIDEzLCAyMDksIDEzMiwgMTIsIDEzLCAyMDksIDEzMSwgMTIsIDEzLCAyMDksIDEzMCwgMTIsIDEzLCAyMDksIAorICAgIDEyOSwgMTIsIDEzLCAyMDksIDEyOCwgMTIsIDEzLCAyMDksIDEyNywgMTIsIDEzLCAyMDksIDEyNiwgMTIsIDEzLCAyMDksIAorICAgIDEyNSwgMTIsIDEzLCAyMDksIDEyNCwgMTIsIDEzLCAyMDksIDEyMywgMTIsIDEzLCAyMDksIDEyMiwgMTIsIDEzLCAyMDksIAorICAgIDEyMSwgMTIsIDEzLCAyMDksIDEyMCwgMTIsIDEzLCAyMDksIDExOSwgMTIsIDEzLCAyMDksIDExOCwgMTIsIDEzLCAyMDksIAorICAgIDExNywgMTIsIDEzLCAyMDksIDExNiwgMTIsIDEzLCAyMDksIDExNSwgMTIsIDEzLCAyMDksIDExNCwgMTIsIDEzLCAyMDksIAorICAgIDExMywgMTIsIDEzLCAyMDksIDExMiwgMTIsIDEzLCAyMDksIDExMSwgMTIsIDEzLCAyMDksIDExMCwgMTIsIDEzLCAyMDksIAorICAgIDEwOSwgMTIsIDEzLCAyMDksIDEwOCwgMTIsIDEzLCAyMDksIDEwNywgMTIsIDEzLCAyMDksIDEwNiwgMTIsIDEzLCAyMDksIAorICAgIDEwNSwgMTIsIDEzLCAyMDksIDEwNCwgMTIsIDEzLCAyMDksIDEwMywgMTIsIDEzLCAyMDksIDEwMiwgMTIsIDEzLCAyMDksIAorICAgIDEwMSwgMTIsIDEzLCAyMDksIDEwMCwgMTIsIDEzLCAyMDksIDk5LCAxMiwgMTMsIDIwOSwgOTgsIDEyLCAxMywgMjA5LCA5NywgCisgICAgMTIsIDEzLCAyMDksIDk2LCAxMiwgMTMsIDIwOSwgOTUsIDEyLCAxMywgMjA5LCA5NCwgMTIsIDEzLCAyMDksIDkzLCAxMiwgCisgICAgMTMsIDIwOSwgOTIsIDEyLCAxMywgMjA5LCA5MSwgMTIsIDEzLCAyMDksIDkwLCAxMiwgMTMsIDIwOSwgODksIDEyLCAxMywgCisgICAgMjA5LCA4OCwgMTIsIDEzLCAyMDksIDg3LCAxMiwgMTMsIDIwOSwgODYsIDEyLCAxMywgMjA5LCA4NSwgMTIsIDEzLCAyMDksIAorICAgIDg0LCAxMiwgMTMsIDIwOSwgODMsIDEyLCAxMywgMjA5LCA4MiwgMTIsIDEzLCAyMDksIDgxLCAxMiwgMTMsIDIwOSwgODAsIAorICAgIDEyLCAxMywgMjA5LCA3OSwgMTIsIDEzLCAyMDksIDc4LCAxMiwgMTMsIDIwOSwgNzcsIDEyLCAxMywgMjA5LCA3NiwgMTIsIAorICAgIDEzLCAyMDksIDc1LCAxMiwgMTMsIDIwOSwgNzQsIDEyLCAxMywgMjA5LCA3MywgMTIsIDEzLCAyMDksIDcyLCAxMiwgMTMsIAorICAgIDIwOSwgNzEsIDEyLCAxMywgMjA3LCAxMjgsIDEyLCAxMywgMjA3LCAxMjcsIDEyLCAxMywgMjA3LCAxMjYsIDEyLCAxMywgCisgICAgMjA3LCAxMjUsIDEyLCAxMywgMjA3LCAxMjQsIDEyLCAxMywgMjA3LCAxMjMsIDEyLCAxMywgMjA3LCAxMjIsIDEyLCAxMywgCisgICAgMjA3LCAxMjEsIDEyLCAxMywgMjA3LCAxMjAsIDEyLCAxMywgMjA3LCAxMTksIDEyLCAxMywgMjA3LCAxMTgsIDEyLCAxMywgCisgICAgMjA3LCAxMTcsIDEyLCAxMywgMjA3LCAxMTYsIDEyLCAxMywgMjA3LCAxMTUsIDEyLCAxMywgMjA3LCAxMTQsIDEyLCAxMywgCisgICAgMjA3LCAxMTMsIDEyLCAxMywgMjA3LCAxMTIsIDEyLCAxMywgMjA3LCAxMTEsIDEyLCAxMywgMjA3LCAxMTAsIDEyLCAxMywgCisgICAgMjA3LCAxMDksIDEyLCAxMywgMjA3LCAxMDgsIDEyLCAxMywgMjA3LCAxMDcsIDEyLCAxMywgMjA3LCAxMDYsIDEyLCAxMywgCisgICAgMjA3LCAxMDUsIDEyLCAxMywgMjA3LCAxMDQsIDEyLCAxMywgMjA3LCAxMDMsIDEyLCAxMywgMjA3LCAxMDIsIDEyLCAxMywgCisgICAgMjA3LCAxMDEsIDEyLCAxMywgMjA3LCAxMDAsIDEyLCAxMywgMjA3LCA5OSwgMTIsIDEzLCAyMDcsIDk4LCAxMiwgMTMsIAorICAgIDIwNywgOTcsIDEyLCAxMywgMjA2LCAxOTMsIDEyLCAxMywgMjA2LCAxOTIsIDEyLCAxMywgMjA2LCAxOTEsIDEyLCAxMywgCisgICAgMjA2LCAxOTAsIDEyLCAxMywgMjA2LCAxODksIDEyLCAxMywgMjA2LCAxODgsIDEyLCAxMywgMjA2LCAxODcsIDEyLCAxMywgCisgICAgMjA2LCAxODYsIDEyLCAxMywgMjA2LCAxODUsIDEyLCAxMywgMjA2LCAxODQsIDEyLCAxMywgMjA2LCAxODMsIDEyLCAxMywgCisgICAgMjA2LCAxODIsIDEyLCAxMywgMjA2LCAxMjEsIDEyLCAxMywgMjA2LCAxMjAsIDEyLCAxMywgMjA2LCAxMTksIDEyLCAxMywgCisgICAgMjA2LCAxMTgsIDEyLCAxMywgMjA2LCAxMTcsIDEyLCAxMywgMjA2LCAxMTYsIDEyLCAxMywgMjA2LCAxMTUsIDEyLCAxMywgCisgICAgMjA2LCAxMTQsIDEyLCAxMywgMjA2LCAxMTMsIDEyLCAxMywgMjA1LCAxNTgsIDEyLCAxMywgMjA1LCAxNTcsIDEyLCAxMywgCisgICAgMjA1LCAxNTYsIDEyLCAxMywgMjA1LCAxNTUsIDEyLCAxMywgMjA1LCAxNTQsIDEyLCAxMywgMjA1LCAxNTMsIDEyLCAxMywgCisgICAgMjA1LCAxNTIsIDEyLCAxMywgMjA1LCAxNTEsIDEyLCAxMywgMjA1LCAxNTAsIDEyLCAxMywgMjA1LCAxNDksIDEyLCAxMywgCisgICAgMjA1LCAxNDgsIDEyLCAxMywgMjA1LCAxNDcsIDEyLCAxMywgMjA1LCAxNDYsIDEyLCAxMywgMjA1LCAxNDUsIDEyLCAxMywgCisgICAgMjA1LCAxNDQsIDEyLCAxMywgMjA1LCAxNDMsIDEyLCAxMywgMjA1LCAxNDIsIDEyLCAxMywgMjA1LCAxNDEsIDEyLCAxMywgCisgICAgMjA1LCAxNDAsIDEyLCAxMywgMjA1LCAxMzksIDEyLCAxMywgMjA1LCAxMzgsIDEyLCAxMywgMjA1LCAxMzcsIDEyLCAxMywgCisgICAgMjA1LCAxMzYsIDEyLCAxMywgMjA1LCAxMzUsIDEyLCAxMywgMjA1LCAxMzQsIDEyLCAxMywgMjA1LCAxMzMsIDEyLCAxMywgCisgICAgMjA1LCAxMzIsIDEyLCAxMywgMjA1LCAxMzEsIDEyLCAxMywgMjA1LCAxMzAsIDEyLCAxMywgMjA1LCAxMjksIDEyLCAxMywgCisgICAgMjA1LCAxMjgsIDEyLCAxMywgMjA1LCAxMjcsIDEyLCAxMywgMjA1LCAxMjYsIDEyLCAxMywgMjA1LCAxMjUsIDEyLCAxMywgCisgICAgMjA1LCAxMjQsIDEyLCAxMywgMjA1LCAxMjMsIDEyLCAxMywgMjA1LCAxMjIsIDEyLCAxMywgMjA1LCAxMjEsIDEyLCAxMywgCisgICAgMjA1LCAxMjAsIDEyLCAxMywgMjA1LCAxMTksIDEyLCAxMywgMjA1LCAxMTgsIDEyLCAxMywgMjUzLCAxNjMsIDEyLCAxMywgCisgICAgMjUzLCAxNjIsIDEyLCAxMywgMjUzLCAxNjEsIDEyLCAxMywgMjUzLCAxNjAsIDEyLCAxMywgMjUzLCAxNTksIDEyLCAxMywgCisgICAgMjUzLCAxNTgsIDEyLCAxMywgMjUzLCAxNTcsIDEyLCAxMywgMjUzLCAxNTYsIDEyLCAxMywgMjUzLCAxNTUsIDEyLCAxMywgCisgICAgMjUzLCAxNTQsIDEyLCAxMywgMjUzLCAxNTMsIDEyLCAxMywgMjUzLCAxNTIsIDEyLCAxMywgMjUzLCAxNTEsIDEyLCAxMywgCisgICAgMjUzLCAxNTAsIDEyLCAxMywgMjUzLCAxNDksIDEyLCAxMywgMjUzLCAxNDgsIDEyLCAxMywgMjUzLCAxNDcsIDEyLCAxMywgCisgICAgMjUzLCAxNDYsIDEyLCAxMywgMjUzLCAxNDUsIDEyLCAxMywgMjUzLCAxNDQsIDEyLCAxMywgMjUzLCAxNDMsIDEyLCAxMywgCisgICAgMjUzLCAxNDIsIDEyLCAxMywgMjUzLCAxNDEsIDEyLCAxMywgMjUzLCAxNDAsIDEyLCAxMywgMjUzLCAxMzksIDEyLCAxMywgCisgICAgMjUzLCAxMzgsIDEyLCAxMywgMjUzLCAxMzcsIDEyLCAxMywgMjUzLCAxMzYsIDEyLCAxMywgMjUzLCAxMzUsIDEyLCAxMywgCisgICAgMjUzLCAxMzQsIDEyLCAxMywgMjUzLCAxMzMsIDEyLCAxMywgMjUzLCAxMzIsIDEyLCAxMywgMjUzLCAxMzEsIDEyLCAxMywgCisgICAgMjUzLCAxMzAsIDIxLCAxLCAxODcsIDIyNSwgMTAsIDIyNywgNDAsIDIxLCAxLCAxODcsIDI0MCwgMTc4LCAyNDEsIDE1NCwgCisgICAgMjEsIDEsIDE4NywgMjIwLCAxODksIDIyNywgNDEsIDIyMSwgMSwgMjEsIDEsIDE4NywgMjIwLCAxODksIDIyNywgNDEsIAorICAgIDIyMSwgMiwgMjEsIDEsIDE4NywgMjI1LCAyMzMsIDIyNywgNDAsIDIxLCAxLCAxODcsIDIxNSwgMTEyLCAyMSwgMSwgMTg3LCAKKyAgICAyMTEsIDE1NSwgMjI3LCA0MCwgMjEsIDEsIDE4NywgMjIzLCA5MiwgMjI3LCA0MCwgMjEsIDEsIDE4NywgMjE1LCAxNzAsIAorICAgIDIyMiwgNTIsIDIyNCwgMTY0LCAyMSwgMSwgMTg3LCAyMjAsIDE4OSwgMjIyLCA1MiwgMjI0LCAxNjUsIDIyMSwgMSwgMjEsIAorICAgIDEsIDE4NywgMjIwLCAxODksIDIyMiwgNTIsIDIyNCwgMTY1LCAyMjEsIDIsIDIxLCAxLCAxODcsIDIyNywgMjU1LCAyMSwgMSwgCisgICAgMTg3LCAyMTAsIDE3MSwgMjI4LCAwLCAyMSwgMSwgMTg3LCAyMjUsIDcxLCAyMSwgMSwgMTg3LCAyMjcsIDI1MiwgMjEsIDEsIAorICAgIDE4NywgMjI3LCAyMTAsIDIxLCAxLCAxODcsIDIyNiwgNTYsIDIxLCAxLCAxODcsIDIxNiwgMjUsIDIxLCAxLCAxODcsIDIyMywgCisgICAgMjI0LCAyMSwgMSwgMTg3LCAyMzEsIDE4NiwgMjEsIDEsIDE4NywgMjI0LCAxMzIsIDIxLCAxLCAxODcsIDIxMywgMTE5LCAKKyAgICAyMSwgMSwgMTg3LCAyMjUsIDksIDIxLCAxLCAxODcsIDIzMCwgODgsIDIxLCAxLCAxODcsIDIzMCwgNywgMjMwLCAyMDMsIAorICAgIDIxLCAxLCAxODcsIDIyMywgMjM0LCAyMjcsIDQ4LCAyMSwgMSwgMTg3LCAyMjgsIDMsIDIxLCAxLCAxODcsIDIyMSwgMjAyLCAKKyAgICAyMSwgMSwgMTg3LCAyNDAsIDgwLCAyMSwgMSwgMTg3LCAyMjIsIDksIDIxLCAxLCAxODcsIDIyNiwgMTY5LCAyMjUsIDQ0LCAKKyAgICAyMSwgMSwgMTg3LCAyMjMsIDczLCAyMjcsIDUxLCAyMSwgMSwgMTg3LCAxMDYsIDIwNSwgMTg4LCAyMjUsIDIyNiwgMjEsIDEsIAorICAgIDE4NywgMjQwLCA4MSwgMjEsIDEsIDE4NywgMjIzLCAyMzQsIDIyMywgMjM1LCAyMSwgMSwgMTg3LCAyMTUsIDEzLCAyMSwgMSwgCisgICAgMTg3LCAyMjcsIDMzLCAyMSwgMSwgMTg3LCAyMjcsIDU0LCAyMSwgMSwgMTg3LCAyMjYsIDE0NiwgMjEsIDEsIDE4NywgMjMyLCAKKyAgICA0NCwgMjEsIDEsIDE4NywgMjIyLCA1MiwgMjMwLCA0NywgMjEsIDEsIDE4NywgMjI1LCAxNTIsIDIzMCwgNDcsIDIxLCAxLCAKKyAgICAxODcsIDIyMSwgMTA0LCAyMSwgMSwgMTg3LCAyMjcsIDI1MywgMjEsIDEsIDE4NywgMjI0LCAyMDQsIDIxLCAxLCAxODcsIAorICAgIDIyMCwgNjUsIDIxLCAxLCAxODcsIDIxMCwgMTY4LCAyMSwgMSwgMTg3LCAyMjksIDc3LCAyMSwgMSwgMTg3LCAyMTQsIDE3NSwgCisgICAgMjEsIDEsIDE4NywgMjEyLCA2NSwgMjEsIDEsIDE4NywgMjI3LCAyNTAsIDIxLCAxLCAxODcsIDIzMSwgMTkzLCAyMSwgMSwgCisgICAgMTg3LCAyMjUsIDE0OCwgMjEsIDEsIDE4NywgMjMwLCAyMTUsIDIxLCAxLCAxODcsIDIyNiwgMTQ3LCAyMSwgMSwgMTg3LCAKKyAgICAyMTUsIDEwOCwgMjEsIDEsIDE4NywgMjI5LCAxMjYsIDIxLCAxLCAxODcsIDI0MSwgMjE2LCAyMSwgMSwgMTg3LCAyMTgsIAorICAgIDExMCwgMjEsIDEsIDE4NywgMjMxLCA0LCAyMSwgMSwgMTg3LCAyMTQsIDE3MSwgMjEsIDEsIDE4NywgMjI3LCAyMDYsIDIyMSwgCisgICAgNDMsIDIxLCAxLCAxODcsIDIxNSwgMTYzLCAyMSwgMSwgMTg3LCAyMjMsIDIzMywgMjEsIDEsIDE4NywgMjE1LCAxNDYsIAorICAgIDIyMywgMjQ0LCAyMDUsIDE5NiwgMjEsIDEsIDE4NywgMjIzLCAxMTQsIDIyNiwgMTY2LCAyMSwgMSwgMTg3LCAyMjIsIDQ3LCAKKyAgICAyMSwgMSwgMTg3LCAyMjQsIDEzNCwgMjEsIDEsIDE4NywgMjA5LCAyMTMsIDIxLCAxLCAxODcsIDIyNSwgNDcsIDIxLCAxLCAKKyAgICAxODcsIDIyNywgMjQ5LCAyMSwgMSwgMTg3LCAyMjQsIDE3NiwgMjEsIDEsIDE4NywgMjI3LCAxNDgsIDIxLCAxLCAxODcsIAorICAgIDIyMywgMTI4LCAyMSwgMSwgMTg3LCAyMTIsIDY5LCAyMSwgMSwgMTg3LCAyMTQsIDE2OCwgMjEsIDEsIDE4NywgMjIyLCA0OCwgCisgICAgMjEsIDEsIDE4NywgMjIzLCAyNDgsIDIxLCAxLCAxODcsIDIyOCwgMSwgMjEsIDEsIDE4NywgMjIzLCAxMjUsIDIxLCAxLCAKKyAgICAxODcsIDIzMiwgOCwgMjEsIDEsIDE4NywgMjIzLCAyNTEsIDIxLCAxLCAxODcsIDIwOSwgMzQsIDIxLCAxLCAxODcsIDIyOSwgCisgICAgODEsIDIxLCAxLCAxODcsIDIyNSwgMTAxLCAyMSwgMSwgMTg3LCAyMjUsIDIwMSwgMjEsIDEsIDE4NywgMjI3LCAxNDcsIDIxLCAKKyAgICAxLCAyMjEsIDgzLCAyMjMsIDI0NiwgMjEsIDEsIDIyMSwgODMsIDIxMCwgMTcxLCAyMjcsIDI1NCwgMjEsIDEsIDIyMSwgODMsIAorICAgIDIxNSwgNzEsIDIxLCAxLCAyMjEsIDgzLCAyMTYsIDI5LCAyMTAsIDE3MCwgMjEsIDEsIDIyMSwgODMsIDIyOSwgMTI4LCAKKyAgICAyMjMsIDIzMCwgMjEsIDEsIDIyMSwgODMsIDIyNywgMTU0LCAyMjgsIDIsIDIxLCAxLCAyMjEsIDgzLCAyMzEsIDExNSwgMjEsIAorICAgIDEsIDIyMSwgODMsIDIwNiwgMTgsIDIxLCAxLCAyMjEsIDgzLCAyMjcsIDE0OSwgMjEsIDEsIDIyMSwgODMsIDIzMiwgMzAsIAorICAgIDIxLCAxLCAyMjEsIDgzLCAyMjEsIDE2MCwgMjEsIDEsIDIyMSwgODMsIDIwNiwgOTUsIDIzMCwgNDcsIDIxLCAxLCAyMjEsIAorICAgIDgzLCAyMzAsIDEwNywgMjIzLCAyNDQsIDIyMywgMTM5LCAyMSwgMSwgMjIxLCA4MywgMjIzLCAyMjcsIDIxNSwgMTg5LCAyMSwgCisgICAgMSwgMjIxLCA4MywgMjI1LCAxMTksIDIyNCwgMTc5LCAyMSwgMSwgMjIxLCA4MywgMjQwLCA3OCwgMjEsIDEsIDIyMSwgODMsIAorICAgIDIyMCwgMjQ3LCAyMSwgMSwgMjIxLCA4MywgMjEwLCAxNzEsIDIyMywgMjQyLCAyMSwgMSwgMjIxLCA4MywgMjE1LCAxOTQsIAorICAgIDIyNCwgMTc0LCAyMSwgMSwgMjIxLCA4MywgMjE1LCAxOTAsIDIxLCAxLCAyMjEsIDgzLCAyMjcsIDQxLCAyMTIsIDY4LCAyMSwgCisgICAgMSwgMjIxLCA4MywgMjI3LCAxMzYsIDIyNywgMTUwLCAyMSwgMSwgMjIxLCA4MywgMjIzLCAxMjYsIDIyMywgMjMwLCAyMSwgCisgICAgMSwgMjIxLCA4MywgMjMxLCAxODIsIDIxLCAxLCAyMjEsIDgzLCAyNDAsIDc5LCAyMSwgMSwgMjIxLCA4MywgMjMxLCAxNzgsIAorICAgIDIxLCAxLCAyMjEsIDgzLCAyMzAsIDEzNSwgMjEsIDEsIDIyMSwgODMsIDIyMSwgMjA1LCAyMSwgMSwgMjIxLCA4MywgMjA4LCAKKyAgICAyMjEsIDIxLCAxLCAyMjEsIDgzLCAyMjUsIDExLCAyMjYsIDU0LCAyMSwgMSwgMjIxLCA4MywgMjI1LCA0NiwgMjI3LCAxMzIsIAorICAgIDIxLCAxLCAyMjEsIDgzLCAyMDYsIDIxNCwgMjEsIDEsIDIyMSwgODMsIDIxNywgMTc1LCAyMSwgMSwgMjIxLCA4MywgMjEyLCAKKyAgICAyMTEsIDIxLCAxLCAyMjEsIDgzLCAyMjcsIDUzLCAyMSwgMSwgMjIxLCA4MywgMjI1LCAzMCwgMjEsIDEsIDIyMSwgODMsIAorICAgIDIyNSwgMzEsIDIzMCwgODUsIDIxLCAxLCAyMjEsIDgzLCAyMjcsIDQzLCAyMSwgMSwgMjIxLCA4MywgMjEzLCAxNzAsIDIxLCAKKyAgICAxLCAyMjEsIDgzLCAyMjcsIDE0MCwgMjEsIDEsIDIyMSwgODMsIDIyNiwgMTUxLCAyMSwgMSwgMjIxLCA4MywgMjIzLCAxNDIsIAorICAgIDIxLCAxLCAyMjEsIDgzLCAyMjAsIDY5LCAyMSwgMSwgMjIxLCA4MywgMjI3LCA1MiwgMjI1LCA0OCwgMjEsIDEsIDIyMSwgCisgICAgODMsIDI0MSwgMjU1LCAyMSwgMSwgMjIxLCA4MywgMjI3LCAxMjcsIDIxLCAxLCAyMjEsIDgzLCAyNDIsIDIxLCAyMSwgMSwgCisgICAgMjIxLCA4MywgMjMxLCAxOTAsIDIxLCAxLCAyMjEsIDgzLCAyMjgsIDIwLCAyMjQsIDE2OCwgMjEsIDEsIDIyMSwgODMsIAorICAgIDIyOCwgMjAsIDIyNCwgMTQ0LCAyMSwgMSwgMjIxLCA4MywgMjMwLCA2LCAyMSwgMSwgMjIxLCA4MywgMjI1LCA1NCwgMjEsIAorICAgIDEsIDIyMSwgODMsIDIyMywgMjUzLCAyMSwgMSwgMjIxLCA4MywgMTg1LCAyMSwgMSwgMjIxLCA4MywgMjMxLCAxMDIsIDIxLCAKKyAgICAxLCAyMjEsIDgzLCAyMjQsIDI1NSwgMjEsIDEsIDE1OCwgMjI1LCAxMCwgMjI4LCAwLCAyMSwgMSwgMTU4LCAyMjMsIDkxLCAKKyAgICAyMSwgMSwgMTU4LCAyMDUsIDE5NiwgMjEsIDEsIDE1OCwgMjA3LCA4MywgMjEsIDEsIDE1OCwgMjI1LCA0NywgMjEsIDEsIAorICAgIDE1OCwgMjI1LCAxNDAsIDIxLCAxLCAxNTgsIDIyNSwgMTcsIDIxLCAxLCAxNTgsIDI0MCwgODgsIDIxLCAxLCAxNTgsIDIyNywgCisgICAgMTQ0LCAyMSwgMSwgMTU4LCAyNDAsIDE4NSwgMjEsIDEsIDE1OCwgMjIzLCAxMTYsIDIyNiwgMTkwLCAyMjcsIDU1LCAyMSwgCisgICAgMSwgMTU4LCAyMjMsIDIyMiwgMjI3LCAxMzUsIDIxLCAxLCAxNTgsIDIyNywgMTQxLCAyMSwgMSwgMTU4LCAyMjAsIDI1MywgCisgICAgMjEsIDEsIDE1OCwgMjI1LCAxMjUsIDIxLCAxLCAxNTgsIDIyNywgMTUyLCAyNDgsIDI1MywgMjEsIDEsIDE1OCwgMjMxLCAKKyAgICAxODAsIDIxLCAxLCAxNTgsIDI0MCwgODksIDIxLCAxLCAxNTgsIDIzMSwgMTg3LCAyMSwgMSwgMTU4LCAyMDUsIDIxNCwgCisgICAgMjI2LCA4NSwgMjEsIDEsIDE1OCwgMjIzLCA4NSwgMjEsIDEsIDE1OCwgMjI3LCAxMjksIDIxLCAxLCAxNTgsIDIyMywgMjUyLCAKKyAgICAyMSwgMSwgMTU4LCAyMjcsIDEzNSwgMjEsIDEsIDE1OCwgMjA2LCAxOSwgMjEsIDEsIDE1OCwgMjMxLCAxMiwgMjEsIDEsIAorICAgIDE1OCwgMjMyLCA2MywgMjEsIDEsIDE1OCwgMjE2LCAyNCwgMjEsIDEsIDE1OCwgMjI1LCAxMzQsIDIxLCAxLCAxNTgsIDIxMiwgCisgICAgMjA5LCAyMSwgMSwgMTU4LCAyMjQsIDE0OCwgMjEsIDEsIDE1OCwgMjExLCAxNTUsIDIwNSwgMTk5LCAyMSwgMSwgMTU4LCAKKyAgICAyMTMsIDE5OCwgMjEsIDEsIDE1OCwgMjI1LCAzNywgMjIzLCAxMzksIDIxLCAxLCAxNTgsIDIwOCwgMjIwLCAyMSwgMSwgCisgICAgMTU4LCAyMjUsIDIwNCwgMjEsIDEsIDE1OCwgMjI4LCAyMCwgMjMxLCAxODksIDIxLCAxLCAxNTgsIDIyMywgMjM1LCAyMSwgCisgICAgMSwgMTU4LCAyMjUsIDMyLCAyMSwgMSwgMTU4LCAyMzAsIDg5LCAyMSwgMSwgMTU4LCAyMjcsIDEzNywgMjEsIDEsIDE1OCwgCisgICAgMjI3LCAzMiwgMjEsIDEsIDE1OCwgMjIzLCAyMjksIDIxLCAxLCAxNTgsIDIxMiwgNjQsIDIxLCAxLCAxNTgsIDIyNSwgMzQsIAorICAgIDIxLCAxLCAxNTgsIDI0MSwgODYsIDIxLCAxLCAxNTgsIDIyNSwgMTM5LCAyMSwgMSwgMTU4LCAyMjMsIDI1NCwgMjEsIDEsIAorICAgIDE1OCwgMjIzLCAyNTAsIDIxLCAxLCAxNTgsIDI0OSwgNzcsIDIxLCAxLCAxNTgsIDIwOCwgMjIyLCAyMSwgMSwgMTU4LCAKKyAgICAyMjcsIDE0MiwgMjEsIDEsIDE1OCwgMjE4LCA1MCwgMjEsIDEsIDE1OCwgMjI0LCAxNzgsIDIxLCAxLCAxNTgsIDIzMCwgCisgICAgMTA2LCAyMSwgMSwgMTU4LCAyMTEsIDE1MywgMjEsIDEsIDE1OCwgMjIzLCAyMzYsIDIyNCwgMjU1LCAyMSwgMSwgMTU4LCAKKyAgICAyMjQsIDE3MCwgMjEsIDEsIDE1OCwgMjMxLCAxOTMsIDIxLCAxLCAxNTgsIDIyNSwgMzksIDIxLCAxLCAxNTgsIDIyNywgCisgICAgMjQ5LCAyMSwgMSwgMTU4LCAyMjcsIDEzMCwgMjEsIDEsIDE1OCwgMjI5LCA4MSwgMjEsIDEsIDE1OCwgMjMwLCAyMDMsIDIxLCAKKyAgICAxLCAxNTgsIDIyNCwgMTc2LCAyMSwgMSwgMTU4LCAyMjQsIDI1NSwgMjEsIDEsIDE1OCwgMjA2LCAyMDQsIDIxLCAxLCAxNTgsIAorICAgIDIyNSwgMzUsIDIxLCAxLCAxNTgsIDIyMywgMjM5LCAyMSwgMSwgMTU4LCAyMjMsIDIzMSwgMjEsIDEsIDE1OCwgMjMwLCAKKyAgICAyMTcsIDIyNCwgMTM0LCAyMSwgMSwgMTU4LCAyMjMsIDIzNywgMjEsIDEsIDE1OCwgMjI1LCAxNDcsIDIxLCAxLCAxNTgsIAorICAgIDIyOCwgMjAsIDIyMywgMjQyLCAyMSwgMSwgMTU4LCAyMDYsIDEwOSwgMjEsIDEsIDE1OCwgMjI1LCAxNDYsIDIxLCAxLCAKKyAgICAxNTgsIDIxNSwgMTExLCAyMSwgMSwgMTU4LCAyMTYsIDI3LCAyMSwgMSwgMTU4LCAyMjcsIDEzOCwgMjEsIDEsIDE1OCwgCisgICAgMjI4LCAwLCAyMSwgMSwgMTU4LCAyMjcsIDE0OCwgMjEsIDEsIDE1OCwgMjMxLCAxODEsIDIxLCAxLCAxNTgsIDIyNywgMTM5LCAKKyAgICAyMSwgMSwgMTU4LCAyMzEsIDE4NSwgMjEsIDEsIDE1OCwgMjI3LCAxNTIsIDIyMSwgNDgsIDIxLCAxLCAxNTgsIDIwNSwgCisgICAgMTc5LCAyMSwgMSwgMTU4LCAyMjQsIDE2NiwgMjEsIDEsIDE1OCwgMjI2LCAyNDMsIDIxLCAxLCAxNTgsIDIyNiwgMTEyLCAKKyAgICAyMSwgMSwgMTU4LCAyMTUsIDE2NiwgMjEsIDEsIDE1OCwgMjMxLCAyMDQsIDIzMCwgNzAsIDIxLCAxLCAxNTgsIDIzMSwgCisgICAgMjA0LCAyNDIsIDM0LCAyMSwgMSwgMTU4LCAyMjUsIDY5LCAyMSwgMSwgMTU4LCAyMjUsIDIwMSwgMjEsIDEsIDE1OCwgMjI5LCAKKyAgICAxOTAsIDIxLCAxLCAxNTgsIDIyMSwgOSwgMjEsIDEsIDE1OCwgMjIxLCAxNTAsIDIxLCAxLCAxNTgsIDIxMiwgODAsIDIxLCAKKyAgICAxLCAxMjMsIDIyNywgMTI4LCAyMSwgMSwgMTIzLCAyMDcsIDgxLCAyMSwgMSwgMTIzLCAyMjQsIDE2NCwgMjEsIDEsIDEyMywgCisgICAgMjI3LCA0MCwgMjEsIDEsIDEyMywgMjI0LCAxNjIsIDIxLCAxLCAxMjMsIDIyOSwgMjI5LCAyMSwgMSwgMTIzLCAyMjQsIAorICAgIDE2NywgMjEsIDEsIDEyMywgMjIzLCAyNDksIDIxLCAxLCAxMjMsIDIyNSwgNTMsIDIxLCAxLCAxMjMsIDIyMywgMTM5LCAyMSwgCisgICAgMSwgMTIzLCAyMDYsIDIxNSwgMjEsIDEsIDEyMywgMjI1LCA3LCAyMSwgMSwgMTIzLCAyMTUsIDIxMiwgMjEsIDEsIDEyMywgCisgICAgMjI1LCAxOCwgMjEsIDEsIDEyMywgMjMxLCAxODgsIDIxLCAxLCAxMjMsIDIxMiwgNjYsIDIxLCAxLCAxMjMsIDIxNSwgMTkyLCAKKyAgICAyMSwgMSwgMTIzLCAyMjQsIDE3NSwgMjEsIDEsIDEyMywgMjEzLCAxNzAsIDIxLCAxLCAxMjMsIDIzMSwgMTkzLCAyMSwgMSwgCisgICAgMTIzLCAyMDYsIDk3LCAyMSwgMSwgMTIzLCAyMzAsIDIxOCwgMjEsIDEsIDEyMywgMjE3LCAxNDEsIDIxLCAxLCAxMjMsIAorICAgIDIyNywgNDUsIDIxLCAxLCAxMjMsIDIyNSwgMTM4LCAyMSwgMSwgMTIzLCAyMjcsIDIyNCwgMjEsIDEsIDEyMywgMjI3LCA1MSwgCisgICAgMjEsIDEsIDEyMywgMjE2LCAyNiwgMjEsIDEsIDEyMywgMjA2LCA0MiwgMjEsIDEsIDEyMywgMjI0LCAxNjksIDIxLCAxLCAKKyAgICAxMjMsIDIzMSwgMTg0LCAyMjcsIDEzMSwgMjEsIDEsIDEyMywgMjI1LCAxNCwgMjEsIDEsIDEyMywgMjEwLCAxNzAsIDIxLCAKKyAgICAxLCAxMjMsIDI0MCwgOTgsIDIxLCAxLCAxMjMsIDIyNSwgNCwgMjEsIDEsIDEyMywgMjQyLCAwLCAyMSwgMSwgMTIzLCAyMjUsIAorICAgIDE0MiwgMjEsIDEsIDEyMywgMjI3LCAyNCwgMjEsIDEsIDEyMywgMjMwLCAwLCAyMSwgMSwgMTIzLCAyMjUsIDEyNCwgMjEsIAorICAgIDEsIDEyMywgMjI2LCAxNjUsIDIxLCAxLCAxMjMsIDIyNywgMjgsIDIxLCAxLCAxMjMsIDIyMCwgNDksIDIxLCAxLCAxMjMsIAorICAgIDIyNywgMjYsIDIxLCAxLCAxMjMsIDIyNywgNDIsIDIxLCAxLCAxMjMsIDIyOSwgNjUsIDIxLCAxLCAxMjMsIDIyMywgMjQxLCAKKyAgICAyMSwgMSwgMTIzLCAyMjcsIDE1MSwgMjEsIDEsIDEyMywgMjMwLCAxOTMsIDIxLCAxLCAxMjMsIDIyMywgMTI4LCAyMSwgMSwgCisgICAgMTIzLCAyMTIsIDY5LCAyMSwgMSwgMTIzLCAyMTQsIDE2OCwgMjEsIDEsIDEyMywgMjA1LCAxNzksIDIxLCAxLCAxMjMsIAorICAgIDIzMSwgMTg1LCAyMSwgMSwgMTIzLCAyMTksIDk0LCAyMSwgMSwgMTIzLCAyMTIsIDExOSwgMjEsIDEsIDEyMywgMjI1LCAxNSwgCisgICAgMjEsIDEsIDEyMywgMjI3LCA0NywgMjEsIDEsIDEyMywgMjIzLCAyNDAsIDIxLCAxLCAxMjMsIDIzMSwgMTgzLCAyMSwgMSwgCisgICAgMTIzLCAyMjEsIDMsIDIxLCAxLCAxMjMsIDIyMSwgOTgsIDIxLCAxLCAxMjMsIDIyMywgMTAyLCAyMSwgMSwgMTIzLCAyMzAsIAorICAgIDYsIDIxLCAxLCAxMjMsIDIyNSwgNTQsIDIxLCAxLCAxMjMsIDIyNywgNDQsIDIxLCAxLCAxMjMsIDIyNSwgMjcsIDIxLCAxLCAKKyAgICAxMjMsIDIwNSwgMTkzLCAyMSwgMSwgMTIzLCAyMjEsIDIzNiwgMjEsIDEsIDEyMywgMjA1LCAxOTIsIDIxLCAxLCAxMjMsIAorICAgIDIyNSwgMTQ3LCAyMSwgMSwgMTIzLCAyMjMsIDIzMCwgMjEsIDEsIDEyMywgMjEzLCAyMDAsIDIxLCAxLCAxMjMsIDIzMCwgCisgICAgMjIyLCAyMSwgMSwgMTIzLCAyMjUsIDQzLCAyMSwgMSwgMTIzLCAyMjUsIDEyLCAyMSwgMSwgMTIzLCAyMTAsIDE1MywgMjEsIAorICAgIDEsIDEyMywgMjI3LCA1NSwgMjEsIDEsIDEyMywgMjMwLCAyMTIsIDIxLCAxLCAxMjMsIDIyMywgMjM4LCAyMSwgMSwgMTIzLCAKKyAgICAyMTIsIDY3LCAyMSwgMSwgMTIzLCAyMjcsIDI1MSwgMjEsIDEsIDEyMywgMjI1LCA1MiwgMjEsIDEsIDEyMywgMjI5LCAyNTUsIAorICAgIDIxLCAxLCAxMjMsIDIyNSwgMzMsIDIxLCAxLCAxMjMsIDIyMywgMjQzLCAyMSwgMSwgMTIzLCAyMjQsIDE0OCwgMjEsIDEsIAorICAgIDEyMywgMjQwLCA4MiwgMjEsIDEsIDEyMywgMjMwLCAyMzYsIDIxLCAxLCAxMjMsIDIxOSwgMywgMjIyLCAxNzksIDIxLCAxLCAKKyAgICAxMjMsIDIxMiwgMjAwLCAyMSwgMSwgMTIzLCAyMTEsIDk4LCAyMSwgMSwgMTIzLCAyMjMsIDEyNSwgMjEsIDEsIDEyMywgCisgICAgMjE4LCAxNTQsIDIxLCAxLCAxMjMsIDIzMCwgNDksIDIxLCAxLCAxMjMsIDIyNywgMTA2LCAyMSwgMSwgMTIzLCAyMjksIDI4LCAKKyAgICAyMSwgMSwgMTIzLCAyMTMsIDExOSwgMjEsIDEsIDEyMywgMjI2LCAxMTQsIDIxLCAxLCAxMjMsIDIxNSwgMTc4LCAyMSwgMSwgCisgICAgMTIzLCAyMTUsIDE4OCwgMjEsIDEsIDEyMywgMjMwLCAxNjUsIDIxLCAxLCAxMjMsIDIyMywgMjE3LCAyMSwgMSwgMTIzLCAKKyAgICAyMTUsIDExNiwgMjEsIDEsIDEyMywgMjIzLCAyMzIsIDIxLCAxLCAxMjMsIDIyMSwgMTY0LCAyMSwgMSwgMTIzLCAyMjQsIAorICAgIDIzMCwgMjEsIDEsIDEyMywgMjE1LCAxNDUsIDIxLCAxLCAxMjMsIDIyMCwgNjQsIDIxLCAxLCAxMjMsIDIyNiwgNTQsIDIxLCAKKyAgICAxLCAxMjMsIDIyOSwgMTA3LCAyMSwgMSwgMTIzLCAyMTksIDMsIDIyNiwgMTA3LCAyMSwgMSwgMTIzLCAyMTEsIDIxMSwgMjEsIAorICAgIDEsIDEyMywgMjIzLCAyMTksIDIxLCAxLCAxMjMsIDIyNywgMTUyLCAxOTUsIDIxLCAxLCAxMjMsIDIxNywgMTM5LCAyMSwgMSwgCisgICAgMTIzLCAyNDIsIDcyLCAyMSwgMSwgODgsIDIyNSwgMTQ2LCAyMSwgMSwgODgsIDIxMSwgMTA0LCAyMSwgMSwgODgsIDIyNywgCisgICAgMTQxLCAyMSwgMSwgODgsIDIzMCwgODksIDIxLCAxLCA4OCwgMjA4LCAxNjIsIDIxLCAxLCA4OCwgMjI5LCAxMTMsIDIxLCAxLCAKKyAgICA4OCwgMjIyLCA1MSwgMjEsIDEsIDg4LCAyMTQsIDE3OSwgMjEsIDEsIDg4LCAyMTksIDY5LCAyMSwgMSwgODgsIDIyMywgCisgICAgMjQ1LCAyMSwgMSwgODgsIDIyNSwgMTE3LCAyMSwgMSwgODgsIDIyMCwgNzksIDIxLCAxLCA4OCwgMjEyLCAxNzYsIDIxLCAxLCAKKyAgICA4OCwgMjI1LCAyMCwgMjEsIDEsIDg4LCAyMzEsIDgsIDIxLCAxLCA4OCwgMjA2LCAyMDcsIDIxLCAxLCA4OCwgMjE3LCA3NCwgCisgICAgMjEsIDEsIDg4LCAyMjUsIDQ0LCAyMSwgMSwgODgsIDIyMiwgNDgsIDIxLCAxLCA4OCwgMjExLCAxMDUsIDIxLCAxLCA4OCwgCisgICAgMjMwLCAyMTYsIDIxLCAxLCA4OCwgMjI5LCAxMjcsIDIxLCAxLCA4OCwgMjIzLCAyNDgsIDIxLCAxLCA4OCwgMjI0LCAyNTIsIAorICAgIDIxLCAxLCA4OCwgMjI4LCAxLCAyMSwgMSwgODgsIDIyNSwgMTMsIDIxLCAxLCA4OCwgMjI0LCAyNTEsIDIxLCAxLCA4OCwgCisgICAgMjIzLCAyNDcsIDIxLCAxLCA4OCwgMjE4LCAxNTIsIDIxLCAxLCA4OCwgMjI0LCAxNjYsIDIxLCAxLCA4OCwgMjIxLCAxNjIsIAorICAgIDIxLCAxLCA4OCwgMjE3LCAxOTYsIDIxLCAxLCA4OCwgMjI1LCAyOCwgMjEsIDEsIDg4LCAyMjcsIDM0LCAyMSwgMSwgODgsIAorICAgIDI0MCwgNzYsIDIxLCAxLCA4OCwgMjI1LCAxNiwgMjEsIDEsIDg4LCAyMjQsIDE3NywgMjEsIDEsIDg4LCAyMjcsIDIwNSwgCisgICAgMjEsIDEsIDg4LCAyMjksIDEwOSwgMjEsIDEsIDg4LCAyMjUsIDQ5LCAyMSwgMSwgODgsIDIyNSwgMTMwLCAyMSwgMSwgODgsIAorICAgIDIxMiwgMTk5LCAyMjMsIDIzMCwgMjEsIDEsIDg4LCAyMTYsIDI4LCAyMSwgMSwgODgsIDIyMCwgNzQsIDIxLCAxLCA4OCwgCisgICAgMjI1LCAxNTAsIDIxNCwgMTg2LCAyMSwgMSwgODgsIDIyNSwgMzYsIDIyMywgMTM5LCAyMSwgMSwgODgsIDIwNiwgNywgMjEsIAorICAgIDEsIDg4LCAyNDAsIDc3LCAyMSwgMSwgODgsIDIxMCwgMTY5LCAyMSwgMSwgODgsIDIwNiwgMjIsIDIxLCAxLCA4OCwgMjIwLCAKKyAgICAyMTEsIDIxLCAxLCA4OCwgMjEwLCAxNTgsIDIxLCAxLCA4OCwgMjMxLCAxOTEsIDIxLCAxLCA4OCwgMjEzLCAxOTksIDIxLCAKKyAgICAxLCA4OCwgMjEyLCA2OCwgMjEsIDEsIDg4LCAyMDgsIDIyMywgMjEsIDEsIDg4LCAyMDcsIDMzLCAyMSwgMSwgODgsIDIzMCwgCisgICAgMTM4LCAyMSwgMSwgODgsIDIyMCwgODIsIDIxLCAxLCA4OCwgMjEyLCAyMTAsIDIxLCAxLCA4OCwgMjQwLCA5NywgMjEsIDEsIAorICAgIDg4LCAyMjUsIDU5LCAyMSwgMSwgODgsIDIxNSwgMTkxLCAyMSwgMSwgODgsIDIyNywgMjksIDIxLCAxLCA4OCwgMjI3LCAKKyAgICAxNDUsIDIxLCAxLCA4OCwgMjIzLCA4OSwgMjEsIDEsIDg4LCAyMjQsIDEzMCwgMjEsIDEsIDg4LCAyNDAsIDE4MSwgMjEsIDEsIAorICAgIDg4LCAyMTAsIDE1OSwgMjEsIDEsIDg4LCAyMzAsIDIyNiwgMjEsIDEsIDg4LCAyMDYsIDczLCAyMSwgMSwgODgsIDIyMywgCisgICAgMTI2LCAyNDcsIDIwOCwgMjEsIDEsIDg4LCAyMDUsIDI1MywgMjEsIDEsIDg4LCAyMjcsIDQ2LCAyMSwgMSwgODgsIDIyNSwgCisgICAgMTM1LCAyMSwgMSwgODgsIDIyMSwgNDQsIDIxLCAxLCA4OCwgMjA1LCAxOTgsIDIxLCAxLCA4OCwgMjMwLCAxLCAyMSwgMSwgCisgICAgODgsIDI0MSwgODYsIDIxLCAxLCA4OCwgMjQwLCAxODAsIDIxLCAxLCA4OCwgMjI1LCA2LCAyMSwgMSwgODgsIDIzMSwgMTkzLCAKKyAgICAyMSwgMSwgODgsIDIyOCwgNCwgMjEsIDEsIDg4LCAyMjUsIDE5LCAyMSwgMSwgODgsIDI0MCwgODMsIDIxLCAxLCA4OCwgCisgICAgMjQyLCA3MywgMjEsIDEsIDg4LCAyMjMsIDIyMCwgMjEsIDEsIDg4LCAyMjEsIDk5LCAyMSwgMSwgODgsIDIwNiwgMjAsIDIxLCAKKyAgICAxLCA4OCwgMjI1LCA0NSwgMjEsIDEsIDg4LCAyMjMsIDEyNiwgMjUwLCA1LCAyMSwgMSwgODgsIDIyMywgNjksIDIxLCAxLCAKKyAgICA4OCwgMjIwLCAxODUsIDIxLCAxLCA4OCwgMjI2LCAyNDMsIDIxLCAxLCA4OCwgMjQxLCA4NCwgMjEsIDEsIDg4LCAyMjUsIAorICAgIDIyNiwgMjEsIDEsIDg4LCAyMjYsIDExMiwgMjEsIDEsIDg4LCAyNDAsIDgyLCAyMSwgMSwgODgsIDI0MSwgODksIDc0LCAyMSwgCisgICAgMSwgODgsIDIyNiwgNTUsIDIxLCAxLCA4OCwgMjIwLCA3OCwgMjEsIDEsIDg4LCAyMjUsIDgsIDIxLCAxLCA4OCwgMjMwLCAKKyAgICAyMDMsIDIxLCAxLCA4OCwgMjIxLCA0MSwgMjEsIDEsIDg4LCAyMjMsIDIzMywgMjEsIDEsIDg4LCAyMDYsIDIxLCAyMSwgMSwgCisgICAgODgsIDIyNSwgMjksIDIxLCAxLCA4OCwgMjIyLCA1MiwgMjIxLCAxMzcsIDIxLCAxLCA4OCwgMjQxLCA4OSwgMjQ4LCAyMzYsIAorICAgIDIxLCAxLCA4OCwgMjQxLCAxNTUsIDIxLCAxLCA4OCwgMjI0LCAxNzEsIDIxLCAxLCA4OCwgNjIsIDIxLCAxLCA4OCwgMjExLCAKKyAgICA5OCwgMjEsIDEsIDg4LCA3NiwgMjEsIDEsIDg4LCA3NCwgMjEsIDEsIDg4LCAyMzAsIDg3LCAyMSwgMSwgODgsIDIyMiwgNTIsIAorICAgIDIyMCwgMjE5LCAyMSwgMSwgODgsIDIxMiwgMjE1LCAyMSwgMSwgODgsIDIxMiwgMTYzLCAyMSwgMSwgODgsIDIyNSwgMTUwLCAKKyAgICAyMjYsIDQyLCAyMzgsIDU0LCAyMSwgMSwgODgsIDIxNSwgMTY2LCAyMSwgMSwgODgsIDIwNiwgMTcsIDIxLCAxLCA4OCwgCisgICAgMjI0LCAyNDUsIDIxLCAxLCA4OCwgMjA1LCAyMDMsIDIxLCAxLCA4OCwgMjA1LCAyMzAsIDIxMywgOTksIDIxLCAxLCA4OCwgCisgICAgMjA1LCAyMzAsIDI0NywgNzcsIDIxLCAxLCA4OCwgMjA1LCAxODcsIDIxLCAxLCA4OCwgMjA1LCAxOTUsIDIxLCAxLCA4OCwgCisgICAgMjMxLCAxNzksIDIxLCAxLCA4OCwgMjIxLCA5NywgMjEsIDEsIDg4LCAyMjQsIDE3MiwgMjQyLCAyNDYsIDIxLCAxLCA4OCwgCisgICAgMjIwLCA3NSwgMjEsIDEsIDg4LCAyMDYsIDIxMywgMjEsIDEsIDg4LCAyNDIsIDIxLCAyMSwgMSwgODgsIDIwOSwgMzQsIDIxLCAKKyAgICAxLCA4OCwgMjI5LCA4MSwgMjEsIDEsIDg4LCAyMjYsIDI1NCwgMjEsIDEsIDg4LCAyMTgsIDIyNiwgMjEsIDEsIDg4LCAyMTksIAorICAgIDk1LCAyMSwgMSwgODgsIDIyNCwgMjQ0LCAyMSwgMSwgODgsIDIyNSwgNzcsIDIxLCAxLCA4OCwgMjE1LCAxNTgsIDIxLCAxLCAKKyAgICA4OCwgMjE1LCAxNDUsIDIxLCAxLCA4OCwgMjQxLCA4OSwgMjE5LCA2LCAyMSwgMSwgODgsIDE5OSwgMjEsIDEsIDg4LCAyMjEsIAorICAgIDUzLCAyMSwgMSwgODgsIDIyOSwgMTA3LCAyMSwgMSwgODgsIDIzMSwgNTMsIDIxLCAxLCA4OCwgMjI3LCA4MywgMjEsIDEsIAorICAgIDg4LCAxODUsIDIxLCAxLCA4OCwgMjI3LCAyMDIsIDIxLCAxLCA4OCwgMjEyLCA3MCwgMjEsIDEsIDg4LCAyMzEsIDEyMywgCisgICAgMjEsIDEsIDg4LCAyMjYsIDE2OCwgMjEsIDEsIDg4LCAyMTIsIDk4LCAyMSwgMSwgODgsIDI0MiwgNDMsIDIxLCAxLCA4OCwgCisgICAgMjQwLCA3MCwgMjEsIDEsIDIyMSwgODIsIDE3MiwgMjEsIDEsIDIyMSwgODIsIDcxLCAyMSwgMSwgMjIxLCA4MiwgMjMwLCAKKyAgICAyMzYsIDIxLCAxLCAyMjEsIDgyLCAyNDMsIDEwNCwgMjEsIDEsIDIyMSwgODIsIDIxOSwgMjksIDIxLCAxLCAyMjEsIDgyLCAKKyAgICAyMTIsIDIwMCwgMjEsIDEsIDIyMSwgODIsIDIyMywgMTI1LCAyMSwgMSwgMjIxLCA4MiwgMjMwLCAxNDEsIDIxLCAxLCAyMjEsIAorICAgIDgyLCAyMTgsIDE1NCwgMjEsIDEsIDIyMSwgODIsIDIxOCwgMjAxLCAyMSwgMSwgMjIxLCA4MiwgMjI3LCAxMDYsIDIxLCAxLCAKKyAgICAyMjEsIDgyLCAyMTIsIDIxNSwgMjEsIDEsIDIyMSwgODIsIDIyNSwgMTQ5LCAyMSwgMSwgMjIxLCA4MiwgMjI0LCAxNzgsIAorICAgIDIxLCAxLCAyMjEsIDgyLCAyMjksIDI4LCAyMSwgMSwgMjIxLCA4MiwgMjEzLCAxMTksIDIxLCAxLCAyMjEsIDgyLCAyMTUsIAorICAgIDE3OCwgMjEsIDEsIDIyMSwgODIsIDIxNSwgODAsIDIxLCAxLCAyMjEsIDgyLCAyMTYsIDI0LCAyMSwgMSwgMjIxLCA4MiwgCisgICAgMjMwLCAxNjUsIDIxLCAxLCAyMjEsIDgyLCAyMzEsIDE5MywgMjEsIDEsIDIyMSwgODIsIDIyMywgMTg4LCAyMSwgMSwgMjIxLCAKKyAgICA4MiwgMjIzLCAyMTcsIDIxLCAxLCAyMjEsIDgyLCAyMjQsIDE0OSwgMjEsIDEsIDIyMSwgODIsIDIwNSwgMjI5LCAyMSwgMSwgCisgICAgMjIxLCA4MiwgMjE1LCAxMTYsIDIxLCAxLCAyMjEsIDgyLCAxOTAsIDIxLCAxLCAyMjEsIDgyLCAyMjMsIDI1MSwgMjEsIDEsIAorICAgIDIyMSwgODIsIDIyMSwgOTcsIDIxLCAxLCAyMjEsIDgyLCAyMjMsIDIzMiwgMjEsIDEsIDIyMSwgODIsIDIwNiwgMjEzLCAyMSwgCisgICAgMSwgMjIxLCA4MiwgMjIxLCAxNjQsIDIxLCAxLCAyMjEsIDgyLCAyMTgsIDUwLCAyMSwgMSwgMjIxLCA4MiwgMjI0LCAyMzAsIAorICAgIDIxLCAxLCAyMjEsIDgyLCAyMTgsIDIyNiwgMjEsIDEsIDIyMSwgODIsIDIzMSwgMjAzLCAyMSwgMSwgMjIxLCA4MiwgMjI1LCAKKyAgICA1LCAyMSwgMSwgMjIxLCA4MiwgMjI1LCA1NiwgMjEsIDEsIDIyMSwgODIsIDIxNSwgMTU4LCAyMSwgMSwgMjIxLCA4MiwgCisgICAgMjIwLCA3OSwgMjEsIDEsIDIyMSwgODIsIDI0MSwgMTU1LCAyMSwgMSwgMjIxLCA4MiwgMjA3LCA5NiwgMjEsIDEsIDIyMSwgCisgICAgODIsIDIyOSwgMjM1LCAyMSwgMSwgMjIxLCA4MiwgMjI5LCAxMDcsIDIxLCAxLCAyMjEsIDgyLCAyMzEsIDUzLCAyMSwgMSwgCisgICAgMjIxLCA4MiwgMjI3LCAxNDMsIDIxLCAxLCAyMjEsIDgyLCAyMTksIDIsIDIxLCAxLCAyMjEsIDgyLCAxODUsIDIxLCAxLCAKKyAgICAyMjEsIDgyLCAyMjYsIDE4MSwgMjEsIDEsIDIyMSwgODIsIDIyNywgMTUxLCAyMSwgMSwgMjIxLCA4MiwgMjEyLCA4MCwgMjEsIAorICAgIDEsIDIyMSwgODIsIDIzMSwgMTUsIDIxLCAxLCAyMjEsIDgyLCAyMTcsIDE1OSwgMjEsIDEsIDIyMSwgODIsIDIwNywgMTQ3LCAKKyAgICAyMjYsIDExNywgMSwgMjEyLCAyMTksIDIyNiwgMTE3LCAxLCAyMjUsIDI1LCAyMjYsIDExNywgMSwgMjA1LCAyNDcsIDIyNiwgCisgICAgMTE3LCAxLCAyMjYsIDIxMSwgMjI2LCAxMTcsIDEsIDI1MCwgMTgzLCAyMjYsIDExNywgMSwgMjQ2LCAxNDUsIDIyNiwgMTE3LCAKKyAgICAxLCA2MiwgMjI2LCAxMTcsIDEsIDIyMSwgNzgsIDIyNiwgMTE3LCAxLCAyMzEsIDE2MiwgMjI2LCAxMTcsIDEsIDIzOSwgOTgsIAorICAgIDIyNiwgMTE3LCAxLCAyNDYsIDEyMSwgMjI2LCAxMTcsIDEsIDI0OCwgMTQsIDIyNiwgMTE3LCAxLCAyMzEsIDIyMywgMjI2LCAKKyAgICAxMTcsIDEsIDIyMiwgMTgwLCAyMjYsIDExNywgMSwgMjI4LCAxLCAyMjYsIDExNywgMSwgMjI0LCAxOTksIDIyNiwgMTE3LCAKKyAgICAxLCAxNzksIDIyNiwgMTE3LCAxLCAyMjIsIDE1MiwgMjI2LCAxMTcsIDEsIDc2LCAyMjYsIDExNywgMSwgMjE4LCAxMjQsIAorICAgIDIyNiwgMTE3LCAxLCAyMTUsIDE4MywgMjI2LCAxMTcsIDEsIDIxMiwgNDAsIDIyNiwgMTE3LCAxLCAyNDMsIDEzMCwgMjI2LCAKKyAgICAxMTcsIDEsIDIwNywgOTYsIDIyNiwgMTE3LCAxLCA3NSwgMjI2LCAxMTcsIDEsIDIzMSwgNTMsIDIyNiwgMTE3LCAxLCAyMzAsIAorICAgIDk1LCAyMjYsIDExNywgMSwgMjMwLCAxNDEsIDIyNiwgMTE3LCAxLCAyMzksIDEzMSwgMjI2LCAxMTcsIDEsIDIxOCwgMjA4LCAKKyAgICAyMjYsIDExNywgMSwgMjEyLCAxMTEsIDIyNiwgMTE3LCAxOCwgMjA1LCA4NSwgMjI2LCAxMTcsIDE4LCAxMDIsIDIyNiwgCisgICAgMTE3LCAxOCwgMTA1LCAyMjYsIDExNywgMTgsIDE0MiwgMjI2LCAxMTcsIDE4LCAxMzksIDIyNiwgMTE3LCAxOCwgMTY4LCAKKyAgICAyMjYsIDExNywgMTgsIDE4NCwgMjI2LCAxMTcsIDE4LCAxOTUsIDIyNiwgMTE3LCAxOCwgMTkzLCAyMjYsIDExNywgMTgsIAorICAgIDIwMCwgMjI2LCAxMTcsIDI0NiwgMTAwLCAyMjYsIDExNywgNTAsIDI0NiwgMTAwLCAyNTAsIDExMCwgMjA5LCA2NywgMSwgCisgICAgMjQzLCAyNCwgMjUwLCAxMTAsIDIwOSwgNjcsIDEsIDE3MiwgMjUwLCAxMTAsIDIwOSwgNjcsIDEsIDIxNywgODYsIDI1MCwgCisgICAgMTEwLCAyMDksIDY3LCAxLCAyNDIsIDczLCAyNTAsIDExMCwgMjA5LCA2NywgMSwgMjI3LCAxNDYsIDI1MCwgMTEwLCAyMDksIAorICAgIDY3LCAxLCAyMDYsIDgsIDI1MCwgMTEwLCAyMDksIDY3LCAxLCAyNDAsIDIyOSwgMjUwLCAxMTAsIDIwOSwgNjcsIDEsIDI0NSwgCisgICAgMTczLCAyNTAsIDExMCwgMjA5LCA2NywgMSwgMjMxLCAxNCwgMjUwLCAxMTAsIDIwOSwgNjcsIDEsIDIzMiwgMTIyLCAyNTAsIAorICAgIDExMCwgMjA5LCA2NywgMSwgMjM4LCAxNSwgMjUwLCAxMTAsIDIwOSwgNjcsIDEsIDIwNywgOTYsIDI1MCwgMTEwLCAyMDksIAorICAgIDY3LCAxLCAyMDUsIDE5LCAyNTAsIDExMCwgMjA5LCA2NywgMSwgMjQwLCAxNzQsIDI1MCwgMTEwLCAyMDksIDY3LCAxLCAKKyAgICAyNDUsIDUxLCAyNTAsIDExMCwgMjA5LCA2NywgMSwgMjQ4LCAxNDgsIDI1MCwgMTEwLCAyMDksIDY3LCAxLCAyMDksIDE1NSwgCisgICAgMjUwLCAxMTAsIDIwOSwgNjcsIDEsIDEyNCwgMjUwLCAxMTAsIDIwOSwgNjcsIDEsIDI1MCwgMTgzLCAyNTAsIDExMCwgMjA5LCAKKyAgICA2NywgMSwgMjA3LCAxNDgsIDI1MCwgMTEwLCAyMDksIDY3LCAxLCAyMDYsIDQ2LCAyNTAsIDExMCwgMjA5LCA2NywgMSwgCisgICAgMTc5LCAyNTAsIDExMCwgMjA5LCA2NywgMSwgMjA3LCA5MywgMjUwLCAxMTAsIDIwOSwgNjcsIDEsIDYyLCAyNTAsIDExMCwgCisgICAgMjA5LCA2NywgMSwgNzYsIDI1MCwgMTEwLCAyMDksIDY3LCAxLCAyMjIsIDE1MiwgMjUwLCAxMTAsIDIwOSwgNjcsIDEsIDcxLCAKKyAgICAyNTAsIDExMCwgMjA5LCA2NywgMSwgMjQzLCAxMDQsIDI1MCwgMTEwLCAyMDksIDY3LCAxLCA3NSwgMjUwLCAxMTAsIDIwOSwgCisgICAgNjcsIDEsIDc0LCAyNTAsIDExMCwgMjA5LCA2NywgMzYsIDEyNywgMjExLCAxMTgsIDI1MCwgMTEwLCAyMDksIDY3LCAzNiwgCisgICAgMTE0LCAyMTEsIDExOCwgMjUwLCAxMTAsIDIwOSwgNjcsIDM2LCAyMjYsIDI0OSwgMjExLCAxMTgsIDI1MCwgMTEwLCAyMDksIAorICAgIDY3LCAzNiwgMjI5LCA5NCwgMjExLCAxMTgsIDI1MCwgMTEwLCAyMDksIDY3LCAzNiwgMjM4LCAyNTAsIDIxMSwgMTE4LCAKKyAgICAyNTAsIDExMCwgMjA5LCA2NywgMjQxLCA4MiwgMjEzLCAyNTEsIDExMiwgMTExLCAyMiwgMjMxLCAyMjAsIDExMiwgMTExLCAKKyAgICAyMiwgMjMxLCAyMTYsIDExMiwgMTExLCAyMiwgMjMxLCAxMjAsIDExMiwgMTExLCAyMiwgMjMxLCA4OCwgMTEyLCAxMTEsIAorICAgIDIyLCAyMzEsIDI0MSwgMTEyLCAxMTEsIDIyLCAyMzEsIDIzOCwgMTEyLCAxMTEsIDIyLCAyMzAsIDIyNywgMTEyLCAxMTEsIAorICAgIDIyLCAyMzAsIDIwMCwgMTEyLCAxMTEsIDIyLCAyMzEsIDIyMiwgMTEyLCAxMTEsIDIyLCAyMzEsIDE3NywgMTEyLCAxMTEsIAorICAgIDIyLCAyMzIsIDQwLCAxMTIsIDExMSwgMjIsIDIzMiwgMzcsIDExMiwgMTExLCAyMiwgMjMxLCAzMiwgMTEyLCAxMTEsIDIyLCAKKyAgICAyMzEsIDI5LCAxMTIsIDExMSwgMjIsIDIzMSwgMjM1LCAxMTIsIDExMSwgMjIsIDIzMSwgMjMzLCAxMTIsIDExMSwgMjIsIAorICAgIDIzMCwgMjI5LCAxMTIsIDExMSwgMjIsIDIzMCwgMjI4LCAxMTIsIDExMSwgMjIsIDIzMSwgNTAsIDExMiwgMTExLCAyMiwgCisgICAgMjMxLCAxOCwgMTEyLCAxMTEsIDIyLCAyMzEsIDEyMiwgMTEyLCAxMTEsIDIyLCAyMzEsIDEyMSwgMTEyLCAxMTEsIDIyLCAKKyAgICAyMzIsIDU1LCAxMTIsIDExMSwgMjIsIDIzMSwgMjM3LCAxMTIsIDExMSwgMjIsIDIzMCwgMTkxLCAxMTIsIDExMSwgMjIsIAorICAgIDIzMCwgMTgyLCAxMTIsIDExMSwgMjIsIDIzMiwgNjIsIDExMiwgMTExLCAyMiwgMjMyLCA1NiwgMTEyLCAxMTEsIDEwNywgCisgICAgMjA5LCA0NSwgMTEyLCAxMTEsIDEwNywgMjIzLCAyMjMsIDExMiwgMTExLCAxMDcsIDIzMCwgNzUsIDExMiwgMTExLCAxMDcsIAorICAgIDIzOSwgODAsIDExMiwgMTExLCAxMDcsIDIyNCwgMTA2LCAxMTIsIDExMSwgMTA3LCAyMTksIDYwLCAxMTIsIDExMSwgMTA3LCAKKyAgICAyMjQsIDEzMywgMTEyLCAxMTEsIDEwNywgMjE5LCAyNDksIDExMiwgMTExLCAxMDcsIDIwNiwgNjEsIDExMiwgMTExLCAxMDcsIAorICAgIDIzOCwgMjM0LCAxMTIsIDExMSwgMTA3LCAyMjcsIDE2NiwgMTEyLCAxMTEsIDEwNywgMjQ4LCA4NiwgMTEyLCAxMTEsIDEwNywgCisgICAgMjI1LCAxNTQsIDExMiwgMTExLCAxMDcsIDIzOCwgMTcwLCAxMTIsIDExMSwgMTA3LCAyMjAsIDIyNywgMTEyLCAxMTEsIAorICAgIDEwNywgMjIzLCAyMjgsIDExMiwgMTExLCAxMDcsIDIyNSwgMTkxLCAxMTIsIDExMSwgMTA3LCAyNTEsIDE4NCwgMTEyLCAKKyAgICAxMTEsIDEwNywgMjA2LCAxNzcsIDExMiwgMTExLCAxMDcsIDI0OCwgMTgxLCAxMTIsIDExMSwgMTQxLCAyNDcsIDIzOSwgCisgICAgMjEwLCAxNjYsIDExMiwgMTExLCAxNDEsIDI0NywgMjM5LCAyMTQsIDE5MywgMTEyLCAxMTEsIDE0MSwgMjQ3LCAyMzksIAorICAgIDIzMSwgMTk1LCAxMTIsIDExMSwgMTQxLCAyNDcsIDIzOSwgMjMxLCAxNTMsIDExMiwgMTExLCAxNDEsIDI0NywgMjM5LCAKKyAgICAyMTMsIDE5NywgMTEyLCAxMTEsIDE0MSwgMjQ3LCAyMzksIDIzOCwgMTM3LCAxMTIsIDExMSwgMTQxLCAyNDcsIDIzOSwgCisgICAgMjEyLCAxNTAsIDExMiwgMTExLCAzLCAyMDgsIDE1OCwgMjExLCAyNTAsIDExMiwgMTExLCAzLCAyMDgsIDE1OCwgMjEwLCAKKyAgICAyMzIsIDI0OCwgMTM5LCAxMTIsIDExMSwgMywgMjQ3LCAyMzksIDI0OCwgNzcsIDExMiwgMTExLCAzLCAyMDgsIDE1OCwgCisgICAgMjEyLCAxOCwgMTEyLCAxMTEsIDMsIDIwOCwgMTU4LCAyNDIsIDE4LCAxMTIsIDExMSwgMywgMjA2LCAxMzUsIDIyMywgMjE4LCAKKyAgICAxMTIsIDExMSwgMywgMjA2LCAxMzUsIDIxOCwgMjEwLCAxMTIsIDExMSwgMywgMjA2LCAxMzUsIDIxMSwgODcsIDExMiwgCisgICAgMTExLCAzLCAyMDYsIDEzNSwgMjQyLCA1NSwgMTEyLCAxMTEsIDMsIDIwOCwgMTU4LCAyMTcsIDY4LCAxMTIsIDExMSwgMywgCisgICAgMjI3LCAxMDUsIDIxMywgMjAxLCAxMTIsIDExMSwgMywgMjA4LCAxNTgsIDIyNCwgMTEsIDExMiwgMTExLCAzLCAyMzcsIAorICAgIDE4NiwgMjA2LCA4MCwgMTEyLCAxMTEsIDMsIDIwNiwgMTc2LCAxMTIsIDExMSwgMywgMjQ3LCAyMzksIDIxMCwgMjE5LCAKKyAgICAyMTgsIDExNCwgMTEyLCAxMTEsIDE4LCAyMDUsIDg1LCAxMTIsIDExMSwgMTgsIDEwMiwgMTEyLCAxMTEsIDE4LCAxMDUsIAorICAgIDExMiwgMTExLCAxOCwgMTQyLCAxMTIsIDExMSwgMTgsIDEzOSwgMTEyLCAxMTEsIDE4LCAxNjgsIDExMiwgMTExLCAxOCwgCisgICAgMTg0LCAxMTIsIDExMSwgMTgsIDE5NSwgMTEyLCAxMTEsIDE4LCAxOTMsIDExMiwgMTExLCAxOCwgMjAwLCAxMTIsIDExMSwgCisgICAgNDMsIDIxMiwgOTMsIDExMiwgMTExLCA0MywgMjM4LCAyOCwgMTEyLCAxMTEsIDQzLCAyMTIsIDk5LCAyMTEsIDI0MCwgMTEyLCAKKyAgICAxMTEsIDQzLCAyMjYsIDIxMiwgMTEyLCAxMTEsIDQzLCAyMzgsIDMwLCAyMjYsIDIxMiwgMTEyLCAxMTEsIDQzLCAyMTIsIAorICAgIDk5LCAyNDksIDIyNiwgMTEyLCAxMTEsIDQzLCAyMTEsIDM4LCAxMTIsIDExMSwgMywgMjA4LCAxNTgsIDIyOSwgNzYsIDExMiwgCisgICAgMTExLCAzLCAyMDYsIDEzMiwgMTEyLCAxMTEsIDMsIDIzOCwgMjI5LCAxMTIsIDExMSwgMywgMjEyLCA5LCAyMzgsIDIyOSwgCisgICAgMTEyLCAxMTEsIDMsIDIwNCwgMjUwLCAyMTIsIDUxLCAxMTIsIDExMSwgMywgMjM4LCAxNTQsIDExMiwgMTExLCAzLCAyMjQsIAorICAgIDI1LCAxMTIsIDExMSwgMywgMjA2LCAxNjgsIDExMiwgMTExLCAzLCAyMjMsIDIyMSwgMTEyLCAxMTEsIDMsIDI1MSwgMTY4LCAKKyAgICAxMTIsIDExMSwgMywgMjEwLCAxMDMsIDI0OCwgMTM4LCAxMTIsIDExMSwgMywgMjI3LCAxMDUsIDIxMCwgMjM1LCAxMTIsIAorICAgIDExMSwgMywgMjEyLCAxNTEsIDExMiwgMTExLCAzLCAyMjksIDEwNCwgMTEyLCAxMTEsIDMsIDIyNiwgNzEsIDExMiwgMTExLCAKKyAgICAzLCAyNDcsIDIzOSwgMjM5LCAxMjcsIDIyOSwgNTUsIDIyMywgMjI2LCAyMjMsIDIyNSwgMTEyLCAxMTEsIDMsIDI0NywgCisgICAgMjM5LCAyNDcsIDM5LCAyMTAsIDIyNiwgMTEyLCAxMTEsIDMsIDI0NywgMjM5LCAyMTAsIDEwMSwgMTEyLCAxMTEsIDMsIAorICAgIDI0NywgMjM5LCAyMTAsIDEwMiwgMjQ4LCAyLCAxMTIsIDExMSwgMywgMjQ3LCAyMzksIDIyMCwgNzcsIDI0NiwgNjksIDExMiwgCisgICAgMTExLCAzLCAyNDcsIDIzOSwgMjI0LCAxOCwgMjExLCA5MiwgMTEyLCAxMTEsIDI0NywgMjE1LCAzLCAyMTAsIDIzMCwgMTEyLCAKKyAgICAxMTEsIDI0NywgMjE1LCAzLCAyMDYsIDQ4LCAxMTIsIDExMSwgMjQ3LCAyMTUsIDMsIDIyOSwgMTg3LCAxMTIsIDExMSwgCisgICAgMjQ3LCAyMTUsIDMsIDIzMCwgNzQsIDExMiwgMTExLCAyNDcsIDIxNSwgMywgMjA2LCAxMzEsIDExMiwgMTExLCAyNDcsIAorICAgIDIxNSwgMywgMjMxLCAzMywgMTEyLCAxMTEsIDI0NywgMjE1LCAzLCAyMzksIDc3LCAxMTIsIDExMSwgMjQ3LCAyMTUsIDMsIAorICAgIDIyNiwgMTEwLCAxMTIsIDExMSwgMjQ3LCAyMTUsIDMsIDIxMSwgMjUxLCAxMTIsIDExMSwgMjQ3LCAyMTUsIDMsIDIxMCwgCisgICAgMjQwLCAxMTIsIDExMSwgMjQ3LCAyMTUsIDMsIDIyMSwgOTAsIDExMiwgMTExLCAyNDcsIDIxNSwgMywgMjMxLCAxNjUsIAorICAgIDExMiwgMTExLCAyNDcsIDIxNSwgMywgMjM5LCAxMTcsIDExMiwgMTExLCAyNDcsIDIxNSwgMywgMjA5LCA2NCwgMTEyLCAKKyAgICAxMTEsIDI0NywgMjE1LCAzLCAyNDIsIDUyLCAxMTIsIDExMSwgMjQ3LCAyMTUsIDMsIDIwNiwgODcsIDExMiwgMTExLCAyNDcsIAorICAgIDIxNSwgMywgMjEwLCAyMTMsIDExMiwgMTExLCAyNDcsIDIxNSwgMywgMjMwLCAxODYsIDExMiwgMTExLCAyNDcsIDIxNSwgMywgCisgICAgMjA3LCAxMzgsIDEwNCwgMSwgMTc5LCAxMDQsIDEsIDI1MCwgMTgzLCAxMDQsIDEsIDksIDE3OSwgMTA0LCAxLCAyMjAsIAorICAgIDI0MCwgMTA0LCAxLCAxODUsIDEwNCwgMSwgMjI3LCAxLCAxMDQsIDEsIDI1MiwgMTksIDE4NSwgMTA0LCAxLCAyNDIsIDczLCAKKyAgICAxMDQsIDEsIDIwOSwgNzAsIDEwNCwgMSwgMjA4LCAyMTUsIDEwNCwgMSwgMjEyLCAyMTksIDEwNCwgMSwgMjQ2LCAxNDUsIAorICAgIDEwNCwgMSwgOSwgMjEwLCAyMDgsIDEwNCwgMSwgOSwgMjEyLCAyMTksIDEwNCwgMSwgMjEwLCAyMDgsIDEwNCwgMSwgMjQ2LCAKKyAgICA1NCwgMTA0LCAxLCAxOTksIDEwNCwgMSwgMjI0LCAyMzQsIDEwNCwgMSwgOSwgMjI0LCAxMDMsIDEwNCwgMSwgMjUyLCAxOSwgCisgICAgMTk5LCAxMDQsIDEsIDIyNCwgMTAzLCAxMDQsIDEsIDIyNCwgODksIDEwNCwgMSwgMjMwLCAxNDEsIDEwNCwgMSwgMjI5LCAKKyAgICA0MSwgMTA0LCAxLCAyMjksIDI0OCwgMTA0LCAxLCAyMjksIDIzNywgMTA0LCAxLCAyMTEsIDE0NCwgMTA0LCAxLCAyNDUsIAorICAgIDU5LCAxMDQsIDEsIDIxMSwgMTM2LCAxMDQsIDEsIDI0NSwgNTgsIDEwNCwgMSwgMTcyLCAxMDQsIDEsIDI0MCwgMjQ0LCAKKyAgICAxMDQsIDEsIDksIDE3MiwgMTA0LCAxLCAyMjAsIDE5LCAxMDQsIDEsIDIxOSwgMjUyLCAxMDQsIDEsIDIyNSwgNzcsIDEwNCwgCisgICAgMSwgMjI1LCAyNiwgMTA0LCAxLCAyNTIsIDE5LCAyMjUsIDc3LCAxMDQsIDEsIDE1NSwgMTA0LCAxLCAyMDYsIDE4MSwgMTA0LCAKKyAgICAxLCAyNDAsIDk5LCAxMDQsIDEsIDI0MCwgNzQsIDEwNCwgMSwgMjEwLCAyMTgsIDEwNCwgMSwgMjQzLCAxODAsIDEwNCwgMSwgCisgICAgMjIzLCAxNDQsIDEwNCwgMSwgMjIzLCAxMjcsIDEwNCwgMSwgMjEwLCAyMzMsIDEwNCwgMSwgMjQzLCAxOTAsIDEwNCwgMSwgCisgICAgOSwgMjEwLCAyMzMsIDEwNCwgMSwgOSwgMjQzLCAxOTAsIDEwNCwgMSwgMjE5LCAyNywgMjEwLCAyMzMsIDEwNCwgMSwgMjE2LCAKKyAgICAyLCAxMDQsIDEsIDIxNCwgOTYsIDEwNCwgMSwgMjA1LCA4MSwgMTA0LCAxLCAyMDUsIDEwLCAxMDQsIDEsIDIxMCwgMjQzLCAKKyAgICAxMDQsIDEsIDI0MywgMTk2LCAxMDQsIDEsIDksIDIxMCwgMjQzLCAxMDQsIDEsIDIxNywgMTk5LCAxMDQsIDEsIDIwNSwgCisgICAgMTE2LCAxMDQsIDEsIDIwNSwgMTEsIDEwNCwgMSwgMjA0LCAyMzgsIDEwNCwgMSwgMjA0LCAyMTgsIDEwNCwgMSwgMjUyLCAKKyAgICAxOSwgMjA0LCAyMzgsIDEwNCwgMSwgMjA0LCAyMTAsIDEwNCwgMSwgMjA0LCAyMTcsIDEwNCwgMSwgMjA3LCA5NiwgMTA0LCAKKyAgICAxLCAyNTIsIDIxMywgMTA0LCAxLCAyMzksIDIwLCAxMDQsIDEsIDIyNSwgMTk2LCAxMDQsIDMsIDI1MSwgMjE1LCAxMDQsIDMsIAorICAgIDIxOSwgMjcsIDIwOCwgMTY4LCAxMDQsIDMsIDIxOSwgMjcsIDI1MSwgMjE1LCAxMDQsIDIyLCAzLCA2MiwgMTA0LCAyMiwgMywgCisgICAgMjUzLCAxNjQsIDEwNCwgMjIsIDMsIDI1MiwgMjA5LCAxMDQsIDIyLCAzLCAyNTIsIDEyMiwgMTA0LCAyMiwgMywgMjUyLCAKKyAgICAxMTQsIDEwNCwgMjIsIDMsIDc2LCAxMDQsIDIyLCAzLCAyMjIsIDE1MiwgMTA0LCAyMiwgMywgMjA2LCAyNTAsIDEwNCwgMjIsIAorICAgIDMsIDIwNywgMTI5LCAxMDQsIDIyLCAzLCA3NSwgMTA0LCAyMiwgMywgMjQzLCA0MSwgMTA0LCAyMiwgMywgMjQzLCAyOCwgCisgICAgMTA0LCAyMiwgMywgMjIyLCAyMDQsIDEwNCwgMjIsIDMsIDc0LCAxMDQsIDIyLCAzLCAyMzcsIDE5MCwgMTA0LCAyMiwgMywgCisgICAgMjM3LCAxODksIDEwNCwgMjIsIDMsIDIzNywgMTg4LCAxMDQsIDIyLCAzLCAyMzIsIDI1MywgMTA0LCAyMiwgMywgMjMzLCAKKyAgICAxMjksIDEwNCwgMjIsIDMsIDIzMywgMTAyLCAxMDQsIDIyLCAzLCAyMzIsIDIxNiwgMTA0LCAyMiwgMywgMjMzLCA0MiwgCisgICAgMTA0LCAyMiwgMywgNzEsIDEwNCwgMjIsIDMsIDIxMCwgMTgsIDEwNCwgMjIsIDMsIDIxMCwgMTcsIDEwNCwgMjIsIDMsIAorICAgIDIxMCwgMTYsIDEwNCwgMjIsIDMsIDIwOSwgMTYyLCAxMDQsIDIyLCAzLCAyMTAsIDAsIDEwNCwgMjIsIDMsIDIwOSwgMjIxLCAKKyAgICAxMDQsIDIyLCAzLCAyMDYsIDEyMywgMTA0LCAyMiwgMywgMjA2LCAxMSwgMTA0LCAyMiwgMywgMjUyLCAyNDgsIDEwNCwgMjIsIAorICAgIDMsIDI1MiwgMjQ0LCAxMDQsIDIyLCAzLCAyNDIsIDIyOSwgMTA0LCAyMiwgMywgMjE4LCA5MywgMjQyLCAyMjksIDEwNCwgCisgICAgMjIsIDMsIDI0MiwgMjM1LCAxMDQsIDIyLCAzLCAyMTgsIDkzLCAyNDIsIDIzNSwgMTA0LCAyMiwgMywgMjUyLCAyMDUsIAorICAgIDEwNCwgMjIsIDMsIDI0MywgOTAsIDEwNCwgMjIsIDMsIDI1MSwgMTg0LCAxMDQsIDIyLCAzLCAyMjIsIDk3LCAxMDQsIDIyLCAKKyAgICAzLCAyMjYsIDMzLCAxMDQsIDIyLCAzLCAyMjUsIDc5LCAxMDQsIDEzNSwgMjE4LCAxNjcsIDEwNCwgMTM1LCAyMTEsIDEwMiwgCisgICAgMjE4LCAxNjcsIDEwNCwgMTM1LCA1MiwgMTA0LCAxMzUsIDU1LCAxMDQsIDEsIDIxMSwgMTE2LCAxMDQsIDEsIDIxMSwgMTE1LCAKKyAgICAxMDQsIDEsIDIxMSwgMTE0LCAxMDQsIDEsIDIxMSwgMTEzLCAxMDQsIDEsIDIxMSwgMTEyLCAxMDQsIDEsIDIxMSwgMTExLCAKKyAgICAxMDQsIDEsIDIxMSwgMTEwLCAxMDQsIDEsIDIxOSwgMjcsIDIxMSwgMTE3LCAxMDQsIDEsIDIxOSwgMjcsIDIxMSwgMTE2LCAKKyAgICAxMDQsIDEsIDIxOSwgMjcsIDIxMSwgMTE0LCAxMDQsIDEsIDIxOSwgMjcsIDIxMSwgMTEzLCAxMDQsIDEsIDIxOSwgMjcsIAorICAgIDIxMSwgMTEyLCAxMDQsIDEsIDIxOSwgMjcsIDIxMSwgMTEwLCA2NCwgMSwgMjUyLCAxOSwgNzUsIDE2MSwgMSwgMjUyLCAxOSwgCisgICAgMjA2LCA1MiwgOTUsIDEsIDIzOSwgMTU1LCA5NSwgMSwgMjA2LCAxOTUsIDk1LCAxLCAyMjIsIDY3LCA5NSwgMSwgMjEzLCAKKyAgICAxMCwgOTUsIDEsIDI0MiwgMTM5LCA5NSwgMSwgMjMyLCA3NiwgOTUsIDEsIDE0OSwgOTUsIDEsIDI1MSwgMTUwLCA5NSwgMSwgCisgICAgMjQ2LCAyNDAsIDk1LCAxLCAyMDksIDE0OCwgOTUsIDEsIDI0MSwgNTUsIDk1LCAxLCAxMzcsIDk1LCAxLCAyMjIsIDY4LCAKKyAgICAyMjYsIDMzLCA5NSwgMSwgMjQ2LCAyNDEsIDE4MiwgOTUsIDEsIDI0MiwgMTQwLCAyMjYsIDMzLCA5NSwgMSwgMjMyLCA3NywgCisgICAgMjI5LCAyOCwgOTUsIDEsIDIxOSwgMTUwLCAxODIsIDk1LCAxLCAyMTIsIDU4LCA5NSwgMSwgMjE0LCAyMjMsIDI0NSwgMTkzLCAKKyAgICA5NSwgMSwgMjQ1LCAxOTMsIDk1LCAxLCAyMzEsIDczLCA5NSwgMSwgMjE0LCAyMjMsIDIzMiwgMjAzLCA5NSwgMSwgMjM4LCAKKyAgICAyMzgsIDk1LCAxLCAyMjksIDI0OSwgOTUsIDEsIDIxOCwgMjEzLCA5NSwgMSwgMjI5LCAyOCwgOTUsIDEsIDIyNiwgMzMsIAorICAgIDk1LCAxLCAyMzIsIDIwMywgOTUsIDEsIDE4MiwgOTUsIDEsIDIyOSwgMjksIDIyNiwgMzMsIDk1LCAxLCAyMjYsIDM0LCAKKyAgICAyMjksIDI4LCA5NSwgMSwgMjMyLCAyMDQsIDIyOSwgMjgsIDk1LCAxLCAyMTgsIDEsIDIzMiwgMjAzLCA5NSwgMSwgMjI5LCAKKyAgICAyOSwgMiwgMjQ1LCAyMywgOTUsIDEsIDIyNiwgMzQsIDIsIDI0NSwgMjMsIDk1LCAxLCAyMzIsIDIwNCwgMiwgMjQ1LCAyMywgCisgICAgOTUsIDEsIDIzMiwgMjA0LCAyLCAxNzcsIDIzMywgMjYsIDIzLCA1MiwgOTUsIDEsIDIxOCwgMSwgMiwgMjQ1LCAyMywgOTUsIAorICAgIDEsIDIxOCwgMSwgMiwgNjcsIDU1LCA5NSwgMSwgMjI5LCAyOSwgMTgyLCA5NSwgMSwgMjI2LCAzNCwgMTgyLCA5NSwgMSwgCisgICAgMjMyLCAyMDQsIDE4MiwgOTUsIDEsIDIxOCwgMSwgMTgyLCA5NSwgMSwgMjI5LCAyOSwgMjI2LCAzNCwgMTgyLCA5NSwgMSwgCisgICAgMjI2LCAzNCwgMjI5LCAyOSwgMTgyLCA5NSwgMSwgMjMyLCAyMDQsIDIyOSwgMjksIDE4MiwgOTUsIDEsIDIxOCwgMSwgMjMyLCAKKyAgICAyMDQsIDE4MiwgOTUsIDEsIDIzMiwgMjA0LCAyMTgsIDEsIDIsIDI0NSwgMjMsIDk1LCAxLCAyMzIsIDIwNCwgMjI2LCAzMywgCisgICAgOTUsIDEsIDIzMiwgMjA0LCAyMjYsIDM0LCAxODIsIDk1LCAxLCAyMTgsIDEsIDIxMywgMTAsIDk1LCAxLCAyMTgsIDEsIAorICAgIDIxMywgMTEsIDEzNywgOTUsIDEsIDIxOCwgMSwgMjIyLCA2NywgOTUsIDEsIDIxOCwgMSwgMjIyLCA2OCwgMTM3LCA5NSwgMSwgCisgICAgMjEzLCAxMSwgMTgyLCA5NSwgMSwgMjEzLCAxMSwgMjE5LCAxNTAsIDE4MiwgOTUsIDEsIDIwNywgMTI5LCA5NSwgMSwgMjA3LCAKKyAgICAzMCwgOTUsIDEsIDIwNywgMTMwLCAxMzcsIDk1LCAxLCAyMTgsIDEsIDIyNiwgMzMsIDk1LCAxLCAyMTgsIDEsIDIyOSwgMjgsIAorICAgIDk1LCAxLCAyMzIsIDc3LCAyMTksIDE1MCwgMTgyLCA5NSwgMSwgMjQxLCA1NiwgMjE5LCAxNTAsIDE4MiwgOTUsIDEsIDIxOCwgCisgICAgMSwgMjMyLCA3NiwgOTUsIDEsIDIxOCwgMSwgMjMyLCA3NywgMTM3LCA5NSwgMSwgNjIsIDk1LCAxLCAyMTQsIDIyMywgMjIyLCAKKyAgICA3OCwgOTUsIDEsIDIyMiwgMjMwLCA5NSwgMSwgNzYsIDk1LCAxLCAyNTIsIDY5LCA5NSwgMSwgNzQsIDk1LCAxLCA3NSwgOTUsIAorICAgIDEsIDIzMywgMTI5LCA5NSwgMSwgMjE1LCAxNDQsIDc0LCA5NSwgMSwgMjA5LCAyNTIsIDk1LCAxLCAyNDMsIDEwNCwgOTUsIAorICAgIDEsIDIxNCwgMjIzLCAyNDMsIDkyLCA5NSwgMSwgMjE4LCAxMDgsIDc0LCA5NSwgMSwgMjE0LCAyMjMsIDI0MywgMTA0LCA5NSwgCisgICAgMSwgMTUyLCA3NCwgOTUsIDEsIDIwNiwgNTIsIDk1LCAxLCA3MSwgOTUsIDEsIDI0MiwgMTkyLCA5NSwgMSwgMjA2LCAxNDYsIAorICAgIDk1LCAxLCAxMDYsIDIyNiwgMzMsIDk1LCAxLCAxNTIsIDcxLCA5NSwgMSwgMjE4LCAxMDgsIDcxLCA5NSwgMSwgMjA5LCAKKyAgICAyNTMsIDk1LCAxLCAyMTQsIDIyMywgNzEsIDk1LCAxLCAyMjIsIDE0OSwgOTUsIDEsIDIyMiwgNzgsIDk1LCAxLCAyMjIsIAorICAgIDk3LCA5NSwgMSwgMjA3LCA5NiwgOTUsIDEsIDIwNiwgMjUwLCA5NSwgMSwgMjA3LCAyMCwgOTUsIDEsIDIwNywgNDMsIDk1LCAKKyAgICAxLCAyMDYsIDIyNSwgOTUsIDEsIDIyNSwgMTk4LCA3MSwgOTUsIDEsIDIyNSwgMTk4LCA3NiwgOTUsIDEsIDIyNSwgMTk4LCAKKyAgICA3NCwgOTUsIDEsIDIyNSwgMTk4LCA2MiwgOTUsIDEsIDIyMSwgMTIwLCAyNTIsIDEyMiwgOTUsIDEsIDIyMSwgMTIwLCAyNTIsIAorICAgIDEzNiwgOTUsIDEsIDIxNCwgMjIzLCAyNDMsIDQxLCA5NSwgMSwgMjE0LCAyMjMsIDI1MiwgMTIyLCA5NSwgMSwgMjE0LCAKKyAgICAyMjMsIDIyMiwgMTY1LCA5NSwgMSwgMTE1LCAyMjksIDI4LCA5NSwgMjUyLCAyMjcsIDQ3LCAxOTQsIDIxNywgODEsIDk1LCAKKyAgICAyNTIsIDIyNywgMjI2LCAyNDksIDE5NCwgMjE3LCA4MSwgOTUsIDI1MiwgMjI3LCA0OCwgMTk0LCAyMTcsIDgxLCA5NSwgCisgICAgMjUyLCAyMjcsIDExNCwgNzksIDIxNywgODEsIDk1LCAyNTIsIDIyNywgMjI2LCAyNDksIDc5LCAyMTcsIDgxLCA5NSwgMjUyLCAKKyAgICAyMjcsIDEyNywgNzksIDIxNywgODEsIDk1LCAyNTIsIDIyNywgMjUxLCAxOTAsIDIxNywgODEsIDk1LCAyNTIsIDIyNywgCisgICAgMjUxLCAxOTAsIDIzMCwgMzcsIDIxNywgODEsIDk1LCAyNTIsIDIyNywgMjUxLCAxOTAsIDIxMiwgMTcwLCA5NSwgMjUyLCAKKyAgICAyMjcsIDI1MSwgMTkwLCAyMTIsIDE5MSwgOTUsIDI1MiwgMjI3LCAyNTEsIDE5MCwgMTc0LCAxMDksIDk1LCAyNTIsIDIyNywgCisgICAgMjUxLCAxOTAsIDIzNywgMjI1LCAxMDksIDk1LCAyNTIsIDIyNywgMjUxLCAxOTAsIDIxMiwgMTcxLCAxMDksIDk1LCAyNTIsIAorICAgIDIyNywgMTI3LCAxNTMsIDk1LCAyNTIsIDIyNywgMTI3LCAyMTEsIDE5NywgMTUzLCA5NSwgMjUyLCAyMjcsIDEyNywgMjM5LCAKKyAgICAyMzYsIDk1LCAyNTIsIDIyNywgMTI3LCAxNTIsIDIzOSwgMjM2LCA5NSwgMjUyLCAyMjcsIDEyNywgMjQ1LCAyMywgOTUsIAorICAgIDI1MiwgMjI3LCAxMjcsIDI0NywgMjMzLCA5NSwgMjUyLCAyMjcsIDEyNywgMjI5LCAyMDUsIDk1LCAyNTIsIDIyNywgMTI3LCAKKyAgICAyMDcsIDY0LCA5NSwgMjUyLCAyMjcsIDEyNywgMjA5LCAyMiwgOTUsIDI1MiwgMjI3LCAxMTQsIDE1MywgOTUsIDI1MiwgCisgICAgMjI3LCAxMTQsIDIxMSwgMTk3LCAxNTMsIDk1LCAyNTIsIDIyNywgMTE0LCAyMzksIDIzNiwgOTUsIDI1MiwgMjI3LCAxMTQsIAorICAgIDE1MiwgMjM5LCAyMzYsIDk1LCAyNTIsIDIyNywgMTE0LCAyNDUsIDIzLCA5NSwgMjUyLCAyMjcsIDExNCwgMjQ3LCAyMzMsIAorICAgIDk1LCAyNTIsIDIyNywgMTE0LCAyMjksIDIwNSwgOTUsIDI1MiwgMjI3LCAxMTQsIDIwNywgNjQsIDk1LCAyNTIsIDIyNywgCisgICAgMTE0LCAyMDksIDIyLCA5NSwgMjUyLCAyMjcsIDExNCwgNDUsIDk1LCAzLCAxNDgsIDIsIDI0NywgNTksIDk1LCAyMTIsIDE3LCAKKyAgICAxLCAyMTcsIDU5LCA5NSwgNTAsIDgzLCA5NSwgMjIwLCA3MiwgMjQ4LCA0MiwgMjQxLCA4MiwgMjEzLCAyNTEsIDIxNSwgCisgICAgMTMxLCAyNDEsIDEzNSwgMSwgMjIyLCA4NCwgMjE1LCAxMzEsIDI0MSwgMTM1LCAyNDcsIDExNSwgMjIyLCA4NCwgMjE1LCAKKyAgICAxMzEsIDI0MSwgMTM1LCAxMzAsIDIxNCwgNywgMjE1LCAxMzEsIDI0MSwgMTM1LCAxMjAsIDIxNCwgNywgNTgsIDMwLCAxNiwgCisgICAgMjIwLCA4NiwgNTgsIDMwLCAxNiwgMjQ2LCA4MCwgNTgsIDMwLCAxNiwgMjIxLCAxMjQsIDU4LCAzMCwgMTYsIDIyMiwgNzUsIAorICAgIDI0MywgNzIsIDU4LCAzMCwgMTYsIDIyMiwgNzUsIDI0NSwgMTA4LCA1OCwgMzAsIDE2LCAyMDksIDU3LCAyNDMsIDcyLCA1OCwgCisgICAgMzAsIDE2LCAyMDksIDU3LCAyNDUsIDEwOCwgNTgsIDMwLCAxNiwgMjMxLCAyNDQsIDU4LCAzMCwgMTYsIDIxMywgMjcsIDU4LCAKKyAgICAzMCwgMTYsIDIyMSwgMjIzLCA1OCwgMzAsIDE2LCAyMDUsIDIxOSwgNTgsIDMwLCAxNiwgMjA1LCAyMjAsIDI0NSwgMTA4LCAKKyAgICA1OCwgMzAsIDE2LCAyMzAsIDI1MywgNTgsIDMwLCAxNiwgMjUyLCA2NCwgMjQzLCA3MiwgNTgsIDMwLCAxNiwgMjQyLCAxNjMsIAorICAgIDI0MywgNzIsIDU4LCAzMCwgMTYsIDIxMiwgMTA5LCA1OCwgMzAsIDE2LCAyMzEsIDE5OSwgNTgsIDMwLCAxNiwgMjUyLCA1NCwgCisgICAgNTgsIDMwLCAxNiwgMjUyLCA1NSwgMjQ1LCAxMDgsIDU4LCAzMCwgMTYsIDIxMywgMzQsIDU4LCAzMCwgMTYsIDIxMiwgMCwgCisgICAgNTgsIDMwLCAxNiwgMjIyLCAxNzYsIDI1MiwgMTcsIDU4LCAzMCwgMTYsIDI0MCwgMywgMjUyLCAxNywgNTgsIDMwLCAxNiwgCisgICAgMjIwLCA4NSwgNTgsIDMwLCAxNiwgMjQ4LCAxMDIsIDU4LCAzMCwgMTYsIDIwOSwgNDYsIDU4LCAzMCwgMTYsIDIzMiwgMjI1LCAKKyAgICAyNTIsIDE3LCA1OCwgMzAsIDE2LCAyMzEsIDIwMSwgMjUyLCAxNywgNTgsIDMwLCAxNiwgMjMxLCAyMDAsIDI1MiwgMTcsIAorICAgIDU4LCAzMCwgMTYsIDIxNywgMTE4LCA1OCwgMzAsIDE2LCAyMjEsIDIxMywgNTgsIDMwLCAxNiwgMjE0LCAxNiwgMjUyLCA1NywgCisgICAgNTgsIDMwLCAxNiwgMjIyLCA3NCwgMjUyLCAxNywgNTgsIDMwLCAxNiwgMjA5LCA1NiwgMjUyLCAxNywgNTgsIDMwLCAxNiwgCisgICAgMjUyLCA1OCwgMjUyLCAxNywgNTgsIDMwLCAxNiwgMjUyLCA1MiwgNTgsIDMwLCAxNiwgMjMxLCA2MywgNTgsIDMwLCAxNiwgCisgICAgMjE4LCAyMjAsIDU4LCAzMCwgMTYsIDIyMSwgNTEsIDI1MiwgMTcsIDU4LCAzMCwgMTYsIDIxMSwgMTczLCA1OCwgMzAsIDE2LCAKKyAgICAyNTIsIDEyMCwgNTgsIDMwLCAxNiwgMjE3LCA2MiwgNTgsIDMwLCAxNiwgMjEzLCAzNywgMjUyLCAxNywgNTgsIDMwLCAxNiwgCisgICAgMjEzLCAzNywgMjI3LCA2NCwgMjE0LCAxNCwgNTgsIDMwLCAxNiwgMjIyLCA2OSwgMjUyLCAxNywgNTgsIDMwLCAxNiwgMjEyLCAKKyAgICAzNSwgNTgsIDMwLCAxNiwgMjMwLCAyNCwgNTgsIDMwLCAxNiwgMjQzLCAxOTksIDU4LCAzMCwgMTYsIDIxMSwgNTMsIDU4LCAKKyAgICAzMCwgMTYsIDIxMiwgODIsIDU4LCAzMCwgMTYsIDIzMSwgMCwgNTgsIDMwLCAxNiwgMjUyLCA2NCwgMjQyLCAxNjMsIDIyNSwgCisgICAgOTcsIDU4LCAzMCwgMTYsIDI0MSwgOTAsIDI1MiwgMTcsIDU4LCAzMCwgMTYsIDIzMywgODEsIDU4LCAzMCwgMTYsIDIxMSwgCisgICAgMjQsIDI1MiwgMTcsIDU4LCAzMCwgMTYsIDIzMSwgMjQ3LCAyMTEsIDIzLCA1OCwgMzAsIDE2LCAyMjEsIDE1MiwgNTgsIDMwLCAKKyAgICAxNiwgMjIwLCA5MCwgNTgsIDMwLCAxNiwgMjMxLCAzNCwgNTgsIDMwLCAxNiwgMjQ4LCAyNiwgMjUyLCAxNywgNTgsIDMwLCAKKyAgICAxNiwgMjE5LCA3MCwgNTgsIDMwLCAxNiwgMjIxLCAyMjYsIDI1MiwgMTcsIDU4LCAzMCwgMTYsIDIyMSwgMjI0LCAyNTIsIAorICAgIDE3LCA1OCwgMzAsIDE2LCAyMzcsIDE3OSwgNTgsIDMwLCAxNiwgMjI1LCAyMDgsIDU4LCAzMCwgMTYsIDIyMSwgMTAyLCA1OCwgCisgICAgMzAsIDE2LCAyMzEsIDM1LCAyNTIsIDE1MSwgNTgsIDMwLCAxNiwgMjExLCAyNCwgMjUyLCAxNTEsIDU4LCAzMCwgMTYsIAorICAgIDIxMywgMjQ1LCA1OCwgMzAsIDE2LCAyMzksIDIyMywgNTgsIDMwLCAxNiwgMjMyLCAyMjUsIDIyNSwgOTcsIDU4LCAzMCwgCisgICAgMTYsIDIyMiwgMTc2LCAyMjUsIDk3LCA1OCwgMzAsIDE2LCAyMjIsIDc1LCAyMjUsIDk3LCA1OCwgMzAsIDE2LCAyMjEsIAorICAgIDEwMSwgNTgsIDMwLCAxNiwgMjMxLCAxOSwgNTgsIDMwLCAxNiwgMjIxLCAxMDAsIDU4LCAzMCwgMTYsIDIzMCwgMjU1LCA1OCwgCisgICAgMzAsIDE2LCAyMjEsIDE1MywgMjI1LCA5NywgNTgsIDMwLCAxNiwgMjMxLCAyMDAsIDIyNSwgOTgsIDI1MiwgOTUsIDU4LCAKKyAgICAzMCwgMTYsIDIzMSwgMjAxLCAyMjUsIDk4LCAyNTIsIDk1LCA1OCwgMzAsIDE2LCAyMDUsIDIxNywgNTgsIDMwLCAxNiwgCisgICAgMjUyLCA1NSwgMjI1LCA5NywgNTgsIDMwLCAxNiwgMjUyLCA1NiwgMjEzLCAzNSwgMjI1LCA5NywgNTgsIDMwLCAxNiwgMjA1LCAKKyAgICAyMTgsIDU4LCAzMCwgMTYsIDIzMCwgMjU0LCA1OCwgMzAsIDE2LCAyNDMsIDY3LCA1OCwgMzAsIDE2LCAyNDgsIDEwMywgNTgsIAorICAgIDMwLCAxNiwgMjI2LCAyMjEsIDIzMiwgMjI0LCA1OCwgMzAsIDE2LCAyMDksIDU3LCAyMjUsIDk3LCA1OCwgMzAsIDE2LCAKKyAgICAyMjEsIDUxLCAyMjUsIDk3LCA1OCwgMzAsIDE2LCAyMjAsIDkxLCAyMjUsIDk3LCA1OCwgMzAsIDE2LCAyMjIsIDE3MiwgNTgsIAorICAgIDMwLCAxNiwgMjUyLCA4MiwgNTgsIDMwLCAxNiwgMjI5LCAzOCwgNTgsIDMwLCAxNiwgMjIxLCAyMjQsIDIyNSwgOTcsIDU4LCAKKyAgICAzMCwgMTYsIDIyMSwgMjI2LCAyMjUsIDk3LCA1OCwgMzAsIDE2LCAyNDIsIDE5NywgMjIxLCAyMjUsIDU4LCAzMCwgMTYsIAorICAgIDIzMCwgMTYzLCA1OCwgMzAsIDE2LCAyNTIsIDgzLCA1OCwgMzAsIDE2LCAyMTEsIDI0LCAyMjUsIDk3LCA1OCwgMzAsIDE2LCAKKyAgICAyNDMsIDcwLCA1OCwgMzAsIDE2LCAyMTMsIDM3LCAyMjUsIDk3LCA1OCwgMzAsIDE2LCAyMTMsIDI4LCA1OCwgMzAsIDE2LCAKKyAgICAyNDgsIDI2LCAyMjUsIDk3LCA1OCwgMzAsIDE2LCAyNDIsIDI1MCwgNTgsIDMwLCAxNiwgMjE3LCA2MywgMjI1LCA5NywgNTgsIAorICAgIDMwLCAxNiwgMjA2LCAxNjIsIDIzMSwgNjMsIDU4LCAzMCwgMTYsIDIxMSwgMjEsIDU4LCAzMCwgMTYsIDIyMCwgOTIsIDU4LCAKKyAgICAzMCwgMTYsIDIxMSwgMjUsIDU4LCAzMCwgMTYsIDIxMSwgMjIsIDU4LCAzMCwgMTYsIDIyMCwgODksIDU4LCAzMCwgMTYsIAorICAgIDIxMSwgMjAsIDU4LCAzMCwgMTYsIDIyMCwgODgsIDU4LCAzMCwgMTYsIDI0MCwgMiwgNTgsIDMwLCAxNiwgMjUyLCA5LCA1OCwgCisgICAgMzAsIDE2LCAyNDIsIDE5NywgMjUyLCA5LCA1OCwgMzAsIDE2LCAyMjIsIDY5LCAyMjUsIDk3LCA1OCwgMzAsIDE2LCAyMTIsIAorICAgIDM0LCAyNDIsIDIwOSwgNTgsIDMwLCAxNiwgMjEyLCAzNCwgMjQyLCAxNjIsIDU4LCAzMCwgMTYsIDIxMiwgMzYsIDI1MiwgCisgICAgNTksIDU4LCAzMCwgMTYsIDIxMiwgMjgsIDIzMiwgNDIsIDI1MiwgNTEsIDU4LCAzMCwgMTYsIDIzMSwgMjQ2LCA1OCwgMzAsIAorICAgIDE2LCAyNDMsIDMwLCA1OCwgMzAsIDE2LCAyMDYsIDE0LCAyMzEsIDI0MywgNTgsIDMwLCAxNiwgMjA2LCAxNCwgMjUyLCA5NSwgCisgICAgNTgsIDMwLCAxNiwgMjE0LCAxNSwgNTgsIDMwLCAxNiwgMjMxLCA2NCwgMjUyLCA5NSwgNTgsIDMwLCAxNiwgMjQ1LCAxMDksIAorICAgIDI1MiwgMTcsIDU4LCAzMCwgMTYsIDIzMSwgMSwgMjUyLCAxNywgNTgsIDMwLCAxNiwgMjMxLCAxLCAyNTIsIDE1MSwgNTgsIAorICAgIDMwLCAxNiwgMjMxLCAxLCAyMjUsIDk3LCA1OCwgMzAsIDE2LCAyNTIsIDU4LCAyMjUsIDk3LCA1OCwgMzAsIDE2LCAyNTIsIAorICAgIDYwLCA1OCwgMzAsIDE2LCAyNDUsIDEwOCwgNTgsIDMwLCAxNiwgMjExLCAzNSwgNTgsIDMwLCAxNiwgMjEyLCA3MywgNTgsIAorICAgIDMwLCAxNiwgMjMxLCAyMywgNTgsIDMwLCAxNiwgMjMwLCAyOSwgMjQzLCAyMywgMjQ4LCAxNiwgNTgsIDMwLCAxNiwgMjMwLCAKKyAgICAyOSwgMjQzLCAyMDAsIDI0OCwgMTcsIDU4LCAzMCwgMTYsIDIzMCwgMjksIDIxMSwgMzcsIDI0OCwgMTcsIDU4LCAzMCwgMTYsIAorICAgIDIzMCwgMjksIDIxMiwgODQsIDI0OCwgMTcsIDU4LCAzMCwgMTYsIDIzMCwgMjksIDIzMywgNzYsIDI0OCwgMTYsIDU4LCAzMCwgCisgICAgMTYsIDI0MCwgMywgMjI1LCA5OCwgMjUyLCA5NSwgNTgsIDMwLCAxNiwgMjQwLCAzLCAyMjEsIDIxNCwgMjUyLCA1LCA1OCwgCisgICAgMzAsIDE2LCAyNDAsIDMsIDIyMSwgMjE0LCAyNDUsIDE5NywgNTgsIDMwLCAxNiwgMjQ1LCAxMzIsIDU4LCAzMCwgMTYsIAorICAgIDI0NSwgMTMzLCAyMjEsIDIxNCwgMjUyLCA2LCAyMzEsIDI0MywgNTgsIDMwLCAxNiwgMjQ1LCAxMzMsIDIyMSwgMjE0LCAKKyAgICAyNTIsIDYsIDI1MiwgOTUsIDU4LCAzMCwgMTYsIDI0NSwgMTMzLCAyMjEsIDIxNCwgMjQ1LCAxOTcsIDU4LCAzMCwgMTYsIAorICAgIDIxMSwgNDIsIDU4LCAzMCwgMTYsIDI1MiwgMTAsIDU4LCAzMCwgMTYsIDIzMywgODMsIDU4LCAzMCwgMTYsIDI0NSwgMTU0LCAKKyAgICA1OCwgMzAsIDE2LCAyNTIsIDIxNSwgMjIwLCAxOTQsIDI1MiwgMTEsIDU4LCAzMCwgMTYsIDI1MiwgMjE1LCAyNTIsIDgsIAorICAgIDU4LCAzMCwgMTYsIDI1MiwgMjE1LCAyNTIsIDExLCA1OCwgMzAsIDE2LCAyNTIsIDIxNSwgMjI3LCA1OCwgNTgsIDMwLCAxNiwgCisgICAgMjUyLCAyMTUsIDIyNywgNjksIDU4LCAzMCwgMTYsIDI1MiwgMjE1LCAyNDAsIDQsIDU4LCAzMCwgMTYsIDI1MiwgMjE1LCAKKyAgICAyNDAsIDEsIDU4LCAzMCwgMTYsIDI1MiwgMjE1LCAyMjAsIDE5NCwgMjQwLCA0LCA1OCwgMzAsIDE2LCAyMjcsIDE4MywgCisgICAgMjIwLCA5OCwgMjM3LCAxNzcsIDU4LCAzMCwgMTYsIDIyNywgMTgzLCAyNTIsIDE1MywgMjIwLCA5OCwgMjM3LCAxNzcsIDU4LCAKKyAgICAzMCwgMTYsIDIyNywgMTgzLCAyNDUsIDE5NiwgMjM3LCAxNzcsIDU4LCAzMCwgMTYsIDIyNywgMTgzLCAyNTIsIDE1MywgCisgICAgMjQ1LCAxOTYsIDIzNywgMTc3LCA1OCwgMzAsIDE2LCAyMjcsIDE4MywgMjExLCAzMCwgMjM3LCAxNzcsIDU4LCAzMCwgMTYsIAorICAgIDIyNywgMTgzLCAyMTEsIDQzLCA1OCwgMzAsIDE2LCAyMjcsIDE4MywgMjEyLCA3OCwgMjM3LCAxNzcsIDU4LCAzMCwgMTYsIAorICAgIDIyNywgMTgzLCAyMTIsIDc4LCAyMzAsIDMzLCAyMzcsIDE3NywgNTgsIDMwLCAxNiwgMjI3LCAxODMsIDIzMCwgMzMsIDIzNywgCisgICAgMTc3LCA1OCwgMzAsIDE2LCAyMjcsIDE4MywgMjIwLCAyMzcsIDIzNywgMTc3LCA1OCwgMzAsIDE2LCAyMzIsIDIzMiwgMjEyLCAKKyAgICAxMDIsIDIzNywgMTc4LCA1OCwgMzAsIDE2LCAyNTIsIDU2LCAyMTIsIDEwMiwgMjM3LCAxNzgsIDU4LCAzMCwgMTYsIDI0MiwgCisgICAgNDYsIDIxMiwgNzUsIDU4LCAzMCwgMTYsIDI0MiwgNDYsIDIyNiwgMTYxLCA1OCwgMzAsIDE2LCAyNDIsIDQ2LCAyNDUsIAorICAgIDEzNywgNTgsIDMwLCAxNiwgMjI3LCAxODMsIDIwOSwgNTAsIDIzNywgMTc3LCA1OCwgMzAsIDE2LCAyMjcsIDE4MywgMjIwLCAKKyAgICA5NywgMjM3LCAxNzcsIDU4LCAzMCwgMTYsIDIyNywgMTgzLCAyMjAsIDIzNywgMjEyLCA3OCwgMjM3LCAxNzcsIDU4LCAzMCwgCisgICAgMTYsIDIzOSwgMjU1LCAyMjYsIDM0LCAyNTIsIDU5LCA1OCwgMzAsIDE2LCAyMzksIDI1NSwgMjI2LCAzNCwgMjQ1LCAxMDcsIAorICAgIDU4LCAzMCwgMTYsIDI0MywgMzksIDIzMiwgNDIsIDI0MSwgOTAsIDIwOCwgMTU2LCA1OCwgMzAsIDE2LCAyMzMsIDgyLCA1OCwgCisgICAgMzAsIDE2LCAyMzMsIDgwLCA1OCwgMzAsIDE2LCAyNDEsIDkwLCAyNTIsIDE4LCAyNDUsIDE5NSwgMjM3LCAxNzYsIDU4LCAKKyAgICAzMCwgMTYsIDI0MSwgOTAsIDI0NSwgMTUyLCAxNzksIDU4LCAzMCwgMTYsIDI0MSwgOTAsIDI0NSwgMTUyLCAyMjUsIDIwOCwgCisgICAgNTgsIDMwLCAxNiwgMjQxLCA5MCwgMjI1LCAyMDMsIDIzNywgMTc3LCA1OCwgMzAsIDE2LCAyNDEsIDkwLCAyNDUsIDE1MiwgCisgICAgMjQ1LCAxNjgsIDU4LCAzMCwgMTYsIDI0MSwgOTAsIDIxNCwgMjQyLCAyNDUsIDE1MSwgMjQ1LCAxNjgsIDU4LCAzMCwgMTYsIAorICAgIDI0MSwgOTAsIDI0NSwgMTUyLCAyMzEsIDIyNCwgNTgsIDMwLCAxNiwgMjQxLCA5MCwgMjQ1LCAxNTIsIDIwNSwgMTksIDU4LCAKKyAgICAzMCwgMTYsIDI0MSwgOTAsIDI0NSwgMTUyLCAyMjQsIDIzMSwgMjMxLCAyNDMsIDU4LCAzMCwgMTYsIDI0MSwgOTAsIDI0NSwgCisgICAgMTUyLCAyMjQsIDIzMSwgMjUyLCA5NSwgNTgsIDMwLCAxNiwgMjQxLCA5MCwgMjI3LCAyMjcsIDI0OCwgMTgsIDI0NSwgMTM3LCAKKyAgICA1OCwgMzAsIDE2LCAyNDEsIDkwLCAyMjcsIDIyNywgMjQ4LCAxOCwgMjI2LCAxNjEsIDU4LCAzMCwgMTYsIDI0MSwgMjUxLCAKKyAgICAyMTQsIDI0MiwgMjQ4LCAxOCwgMjA5LCA0OSwgNTgsIDMwLCAxNiwgMjQxLCA5MCwgMjE0LCAyNDIsIDI0OCwgMTgsIDIxMywgCisgICAgMzgsIDU4LCAzMCwgMTYsIDI0MSwgOTAsIDIyNSwgMTAwLCA1OCwgMzAsIDE2LCAyNDgsIDE5LCAyMDQsIDI0NCwgNTgsIDMwLCAKKyAgICAxNiwgMjQ4LCAxOSwgMjMxLCA2MiwgNTgsIDMwLCAxNiwgMjQ4LCAxOSwgMjE0LCAxNDQsIDU4LCAzMCwgMTYsIDI0MSwgOTAsIAorICAgIDIzNywgMjI1LCAyMDYsIDEzLCAyMTIsIDc5LCA1OCwgMzAsIDE2LCAyNDEsIDkwLCAyNDMsIDQwLCAyNTIsIDg0LCA1OCwgCisgICAgMzAsIDE2LCAyMDYsIDEzLCAyMTEsIDMxLCA1OCwgMzAsIDE2LCAyNDUsIDE0NSwgMjExLCAzMSwgNTgsIDMwLCAxNiwgMjQ1LCAKKyAgICAxNDUsIDIxMiwgNzksIDU4LCAzMCwgMTYsIDI0NSwgMTQ1LCAyNTIsIDYxLCAyNDMsIDIwMCwgMjQ1LCA0MywgNTgsIDMwLCAKKyAgICAxNiwgMjQ1LCAxNDUsIDIyNiwgMTU5LCAyMTIsIDgzLCAyNDUsIDQzLCA1OCwgMzAsIDE2LCAyNDUsIDE0NSwgMjQ1LCAxMjksIAorICAgIDI0MiwgMTczLCAyNDUsIDQzLCA1OCwgMzAsIDE2LCAyNDUsIDE0NSwgMjExLCA0MCwgMjIyLCAxODIsIDI0NSwgNDMsIDU4LCAKKyAgICAzMCwgMTYsIDIwNiwgMTMsIDI1MiwgNjEsIDI0MywgMjAwLCAyNDUsIDQzLCA1OCwgMzAsIDE2LCAyMDYsIDEzLCAyMjYsIAorICAgIDE1OSwgMjEyLCA4MywgMjQ1LCA0MywgNTgsIDMwLCAxNiwgMjA2LCAxMywgMjQ1LCAxMjksIDI0MiwgMTczLCAyNDUsIDQzLCAKKyAgICA1OCwgMzAsIDE2LCAyMDYsIDEzLCAyMTEsIDQwLCAyMjIsIDE4MiwgMjQ1LCA0MywgNTgsIDMwLCAxNiwgMjQwLCAxNTUsIAorICAgIDI0NSwgMTQ0LCA1OCwgMzAsIDE2LCAyNDAsIDE1NSwgMjA2LCAxMiwgNTgsIDMwLCAxNiwgMjQ1LCAxNTMsIDI1MiwgNjEsIAorICAgIDIyNiwgMjIyLCA1OCwgMzAsIDE2LCAyNDUsIDE1MywgMjUyLCA2MSwgMjI3LCA5OCwgNTgsIDMwLCAxNiwgMjQ1LCAxNTMsIAorICAgIDI0NSwgMTA4LCA1OCwgMzAsIDE2LCAyNDUsIDE1MywgMjEyLCAyNiwgNTgsIDMwLCAxNiwgMjE1LCA0OSwgMjEyLCAyNiwgCisgICAgNTgsIDMwLCAxNiwgMjE1LCA0OSwgMjEyLCAyNywgMjQ1LCA5MywgNTgsIDMwLCAxNiwgMjE1LCA0OSwgMjEyLCAyNywgMjExLCAKKyAgICAzMiwgNTgsIDMwLCAxNiwgMjE1LCA0OSwgMjEyLCAyNywgMjEyLCA3MSwgNTgsIDMwLCAxNiwgMjE1LCA0OSwgMjUxLCAyMzgsIAorICAgIDU4LCAzMCwgMTYsIDIxNSwgNDksIDI1MSwgMjM5LCAyNDUsIDkzLCA1OCwgMzAsIDE2LCAyMTUsIDQ5LCAyNTEsIDIzOSwgCisgICAgMjExLCAzMiwgNTgsIDMwLCAxNiwgMjE1LCA0OSwgMjUxLCAyMzksIDIxMiwgNzEsIDU4LCAzMCwgMTYsIDI0NSwgMTMwLCAKKyAgICAyNDAsIDEzNiwgNTgsIDMwLCAxNiwgMjQ1LCAxMzYsIDIyMiwgOTcsIDU4LCAzMCwgMTYsIDIxNCwgNSwgNTgsIDMwLCAxNiwgCisgICAgMjUyLCAyLCAxNzksIDU4LCAzMCwgMTYsIDI1MiwgMiwgMjA4LCAxNTYsIDU4LCAzMCwgMTYsIDI1MiwgMiwgMjQwLCAyNDQsIAorICAgIDU4LCAzMCwgMTYsIDI1MiwgMiwgMjQ1LCAxNjgsIDU4LCAzMCwgMTYsIDI1MiwgMiwgMjMxLCAyMjQsIDU4LCAzMCwgMTYsIAorICAgIDI1MiwgMiwgMjA1LCAxOSwgNTgsIDMwLCAxNiwgMjUyLCAyLCAyMjQsIDIzMCwgNTgsIDMwLCAxNiwgMjMxLCAyMDAsIDIyNSwgCisgICAgOTgsIDIyNywgNjgsIDU4LCAzMCwgMTYsIDIzMSwgMjAxLCAyMjUsIDk4LCAyMjcsIDY4LCA1OCwgMzAsIDE2LCAyMzEsIAorICAgIDIwMCwgMjI1LCA5OCwgMjMxLCAyNDMsIDU4LCAzMCwgMTYsIDIzMSwgMjAxLCAyMjUsIDk4LCAyMzEsIDI0MywgNTgsIDMwLCAKKyAgICAxNiwgMjMxLCA2NCwgMjMxLCAyNDMsIDU4LCAzMCwgMTYsIDI0MCwgMywgMjI1LCA5OCwgMjMxLCAyNDMsIDMwLCAxNiwgCisgICAgMjE1LCA0MSwgMjUwLCAxMjQsIDMwLCAxNiwgNTAsIDI1MCwgMTI0LCAzMCwgMTYsIDQyLCAyNTAsIDEyNCwgMzAsIDE2LCAKKyAgICAyMTgsIDIyNSwgNDIsIDI1MCwgMTI0LCAzMCwgMTYsIDI0NiwgNzcsIDI1MCwgMTI0LCAzMCwgMTYsIDIxNSwgMTQ0LCAyNTAsIAorICAgIDEyNCwgMzAsIDE2LCA0NywgMjE4LCAyNTIsIDUzLCAzMCwgMTYsIDQ4LCAyMTgsIDI1MiwgNTMsIDMwLCAxNiwgMjE4LCAKKyAgICAyNTIsIDI0NSwgMjEsIDMwLCAxNiwgMjQ2LCAxMTgsIDIxNywgNjYsIDMwLCAxNiwgMjQ2LCAxNDYsIDI0OCwgMjEwLCAzMCwgCisgICAgMTYsIDIxNywgNjYsIDMwLCAxNiwgMjQ3LCAxNzAsIDMwLCAxNiwgMjE4LCAyNTAsIDI0MSwgMjQwLCAzMCwgMTYsIDIxOCwgCisgICAgMjUwLCAyNDEsIDIzOSwgMzAsIDE2LCAyMTgsIDI1MCwgMjQxLCAyMzgsIDMwLCAxNiwgMjQyLCA0LCAzMCwgMTYsIDI0MiwgCisgICAgNSwgNTUsIDMwLCAxNiwgMjQ5LCAxMjQsIDgzLCAzMCwgMTYsIDI0OCwgMjQ3LCAzMCwgMTYsIDI0OSwgMTM1LCAzMCwgMTYsIAorICAgIDE0NSwgMzAsIDE2LCAyMjIsIDE2MiwgMjE0LCAzNCwgMzAsIDE2LCAyMTAsIDEwNywgMjE0LCAzNCwgMzAsIDE2LCAyMTEsIAorICAgIDIzNiwgMjE0LCAzNCwgMzAsIDE2LCAyNDEsIDEyNCwgMjE0LCAzNCwgMzAsIDE2LCAyNDEsIDIwMywgMjE0LCAzNCwgMzAsIAorICAgIDE2LCAyMTUsIDksIDIxNCwgMzQsIDMwLCAxNiwgMjE1LCA3LCAyNDEsIDEwNSwgMzAsIDE2LCAyNDEsIDEyMiwgMjQxLCAKKyAgICAxMDUsIDMwLCAxNiwgMjQxLCA1NiwgMjQ3LCAyMDYsIDMwLCAxNiwgMjQxLCA1NiwgMjQ3LCAyMDcsIDIyMiwgOTksIDI1MiwgCisgICAgMTQyLCAzMCwgMTYsIDI0MSwgNTYsIDI0NywgMjA3LCAyMjIsIDk5LCAyNTAsIDEwOSwgMzAsIDE2LCAyNDksIDM1LCAyNDcsIAorICAgIDIwNiwgMzAsIDE2LCAyNDIsIDE0MCwgMjQ3LCAyMDYsIDMwLCAxNiwgMjQyLCAxNDAsIDI0NywgMjA3LCAyMjIsIDk5LCAKKyAgICAyNTIsIDE0MiwgMzAsIDE2LCAyNDIsIDE0MCwgMjQ3LCAyMDcsIDIyMiwgOTksIDI1MCwgMTA5LCAzMCwgMTYsIDI0MywgCisgICAgMjQyLCAyNDcsIDIwNSwgMzAsIDE2LCAyNDMsIDI0MiwgMjQ3LCAyMDQsIDMwLCAxNiwgMjI2LCA5NSwgMjI3LCAxMTgsIAorICAgIDIxOCwgMjM2LCAzMCwgMTYsIDUwLCAyMTUsIDIyNywgMzAsIDE2LCA1MCwgMjQxLCAxODcsIDMwLCAxNiwgMjQxLCAxODgsIAorICAgIDIwOSwgMjA2LCAzMCwgMTYsIDI0MSwgMTg4LCAyNDQsIDgsIDMwLCAxNiwgMjI1LCAxOTIsIDIwOSwgMjA2LCAzMCwgMTYsIAorICAgIDIyNSwgMTkyLCAyNDQsIDgsIDMwLCAxNiwgMjE1LCAyMjgsIDIwOSwgMjA2LCAzMCwgMTYsIDIxNSwgMjI4LCAyNDQsIDgsIAorICAgIDMwLCAxNiwgMjE5LCAyMDUsIDEzNSwgMjE1LCAyMjcsIDMwLCAxNiwgMjE5LCAyMDUsIDEzNSwgMjQxLCAxODcsIDMwLCAxNiwgCisgICAgMjQ3LCAxNTIsIDIxMSwgMTc3LCAzMCwgMTYsIDI0NywgMTEsIDIxMSwgMTc3LCAzMCwgMTYsIDIyMiwgOTksIDI1MiwgMTQyLCAKKyAgICAzMCwgMTYsIDIyMiwgOTksIDI1MCwgMTA5LCAzMCwgMTYsIDIxOSwgMTg2LCAyNTIsIDE0MiwgMzAsIDE2LCAyMTksIDE4NiwgCisgICAgMjUwLCAxMDksIDMwLCAxNiwgMjI2LCA5OCwgMjE4LCAyMzYsIDMwLCAxNiwgMjA3LCAyMSwgMjE4LCAyMzYsIDMwLCAxNiwgCisgICAgMTYwLCAyMTgsIDIzNiwgMzAsIDE2LCAyMTksIDIwNSwgMjE4LCAyMzYsIDMwLCAxNiwgMjQzLCA4NCwgMjE4LCAyMzYsIDMwLCAKKyAgICAxNiwgMjE1LCAzLCAyMTgsIDIzNiwgMzAsIDE2LCAyMTIsIDEsIDIxOCwgMjM2LCAzMCwgMTYsIDIxNCwgMjUxLCAyMTgsIAorICAgIDIzNiwgMzAsIDE2LCAxMTksIDIzOCwgMzAsIDIxMCwgMTIxLCAyMTgsIDIzNiwgMzAsIDE2LCAyMDYsIDE5NiwgMjI0LCAzMywgCisgICAgMzAsIDE2LCAxMDEsIDIyNCwgMzMsIDMwLCAxNiwgMjQ3LCAyMzQsIDIwNiwgMTk2LCAyMjQsIDMzLCAzMCwgMTYsIDQ5LCAKKyAgICAyMjQsIDM0LCAyMDcsIDIzLCAzMCwgMTYsIDQ5LCAyMjQsIDM0LCAyNDksIDIwMiwgMzAsIDE2LCAyMTEsIDUyLCAyMjQsIAorICAgIDM0LCAxMjAsIDIwNywgMjMsIDMwLCAxNiwgMjExLCA1MiwgMjI0LCAzNCwgMTIwLCAyNDksIDIwMiwgMzAsIDE2LCAyMTEsIAorICAgIDUyLCAyMjQsIDM0LCA0NywgMjA3LCAyMywgMzAsIDE2LCAyMTEsIDUyLCAyMjQsIDM0LCA0NywgMjQ5LCAyMDIsIDMwLCAxNiwgCisgICAgMjExLCA1MiwgMjI0LCAzNCwgNDgsIDIwNywgMjMsIDMwLCAxNiwgMjExLCA1MiwgMjI0LCAzNCwgNDgsIDI0OSwgMjAyLCAKKyAgICAzMCwgMTYsIDIxMSwgNTIsIDIyNCwgMzQsIDEzMCwgMjA3LCAyMywgMzAsIDE2LCAyMTEsIDUyLCAyMjQsIDM0LCAxMzAsIAorICAgIDI0OSwgMjAyLCAzMCwgMTYsIDIxMSwgNTIsIDIyNCwgMzQsIDEyMCwgNDgsIDIwNywgMjMsIDMwLCAxNiwgMjExLCA1MiwgCisgICAgMjI0LCAzNCwgMTIwLCA0OCwgMjQ5LCAyMDIsIDMwLCAxNiwgMjI2LCAxNDUsIDIyNCwgMzQsIDIwNywgMjMsIDMwLCAxNiwgCisgICAgMjI2LCAxNDUsIDIyNCwgMzQsIDI0OSwgMjAyLCAzMCwgMTYsIDIxMSwgNDksIDIyNCwgMzQsIDEzMCwgMjA3LCAyMywgMzAsIAorICAgIDE2LCAyMTEsIDQ5LCAyMjQsIDM0LCAxMzAsIDI0OSwgMjAyLCAzMCwgMTYsIDIyMSwgMjE3LCAyMjQsIDMzLCAzMCwgMTYsIAorICAgIDIwOCwgMTY3LCAyMjQsIDMzLCAzMCwgMTYsIDIyNCwgMzQsIDI0OSwgMjAyLCAzMCwgMTYsIDIyMywgMTgyLCAyMjQsIDMzLCAKKyAgICAzMCwgMTYsIDI0NywgMTc3LCAyMjQsIDM0LCAyMDcsIDIzLCAzMCwgMTYsIDI0NywgMTc3LCAyMjQsIDM0LCAyNDksIDIwMiwgCisgICAgMzAsIDE2LCAyNDksIDEyMiwgMzAsIDE2LCAyMDcsIDIxLCAyMjQsIDM3LCAzMCwgMTYsIDE2MCwgMjI0LCAzNywgMzAsIDE2LCAKKyAgICAyMTksIDIwNSwgMjI0LCAzNywgMzAsIDE2LCAyNDMsIDg0LCAyMjQsIDM3LCAzMCwgMTYsIDIxNSwgMywgMjI0LCAzNywgMzAsIAorICAgIDE2LCAyMTIsIDEsIDIyNCwgMzcsIDMwLCAxNiwgMjE0LCAyNTEsIDIyNCwgMzcsIDMwLCAxNiwgMTE5LCAyMzgsIDMwLCAKKyAgICAyMTAsIDEyMSwgMjI0LCAzNywgMzAsIDE2LCAzNiwgMjE0LCA5LCAzMCwgMTYsIDM2LCAyMTQsIDExNCwgMjE0LCA5LCAzMCwgCisgICAgMTYsIDM2LCAyMTEsIDYwLCAzMCwgMTYsIDM2LCAyMTEsIDU5LCAzMCwgMTYsIDM2LCAyMTEsIDU4LCAzMCwgMTYsIDI0MSwgCisgICAgMjI2LCAyMTEsIDYwLCAzMCwgMTYsIDI0MSwgMjI2LCAyMTEsIDU5LCAzMCwgMTYsIDI0MSwgMjI2LCAyMTEsIDU4LCAzMCwgCisgICAgMTYsIDM2LCAyNTEsIDE4MSwgMjQ1LCAyMywgMzAsIDE2LCAzNiwgMjQxLCAxOTUsIDMwLCAxNiwgMzYsIDI0MSwgMTk0LCAKKyAgICAzMCwgMTYsIDM2LCAyNDEsIDE5MywgMzAsIDE2LCAzNiwgMjQxLCAxOTIsIDMwLCAxNiwgMzYsIDI0MSwgMTkxLCAzMCwgMTYsIAorICAgIDI1MCwgNDIsIDI1MCwgNTksIDMwLCAxNiwgMjQzLCAzNCwgMjUwLCA1OSwgMzAsIDE2LCAyNTAsIDQyLCAyMTEsIDIwMywgCisgICAgMzAsIDE2LCAyNDMsIDM0LCAyMTEsIDIwMywgMzAsIDE2LCAyNTAsIDQyLCAyMTQsIDIxNiwgMzAsIDE2LCAyNDMsIDM0LCAKKyAgICAyMTQsIDIxNiwgMzAsIDE2LCAyNTAsIDQyLCAyMjEsIDYwLCAzMCwgMTYsIDI0MywgMzQsIDIyMSwgNjAsIDMwLCAxNiwgMzYsIAorICAgIDI1MywgMjEsIDMwLCAxNiwgMzYsIDIxNCwgMzcsIDMwLCAxNiwgMzYsIDIxMiwgODgsIDMwLCAxNiwgMzYsIDIxNCwgMzgsIAorICAgIDMwLCAxNiwgMzYsIDIyNywgMTk1LCAzMCwgMTYsIDM2LCAyMjcsIDE5NCwgMzAsIDE2LCAzNiwgMjUzLCAyMCwgMzAsIDE2LCAKKyAgICAzNiwgMjI5LCA5OSwgMzAsIDE2LCAyNTEsIDI0OSwgMjA5LCAyMDYsIDMwLCAxNiwgMjUxLCAyNDksIDI0NCwgOCwgMzAsIAorICAgIDE2LCAzNiwgMjQ1LCAzOCwgMzAsIDE2LCAzNiwgMjE4LCAxNDUsIDMwLCAxNiwgMzYsIDI0MSwgMTc5LCAzMCwgMTYsIDM2LCAKKyAgICAyMTQsIDIxMiwgMzAsIDE2LCAzNiwgMjUwLCAyMSwgMzAsIDE2LCAzNiwgNTAsIDIxMSwgMTA3LCAzMCwgMTYsIDM2LCAyMTEsIAorICAgIDM2LCAyMTEsIDEwNywgMzAsIDE2LCAyMTgsIDE1MCwgMzAsIDE2LCAyMTMsIDE5MywgMzAsIDE2LCAyMDUsIDE1OSwgMzAsIAorICAgIDE2LCAyMjEsIDUyLCAzMCwgMTYsIDIyNywgNDksIDMwLCAxNiwgMjQxLCAxMzIsIDMwLCAxNiwgMjQ3LCA2NywgMzAsIDE2LCAKKyAgICAyNDUsIDI1MiwgMzAsIDE2LCAyMzksIDI1MCwgMjI0LCAzOCwgMjE0LCAyMzUsIDMwLCAxNiwgMjM5LCAyNTAsIDIyNCwgMzgsIAorICAgIDIyNCwgNjgsIDIxNCwgMjM1LCAzMCwgMTYsIDIxMSwgODQsIDMwLCAxNiwgMjEwLCAxNDQsIDMwLCAxNiwgMjMzLCAyLCAKKyAgICAyMTAsIDE0NCwgMzAsIDE2LCAyMTAsIDE0NSwgMjE0LCAyMzUsIDMwLCAxNiwgMjEwLCAxNDUsIDIwOSwgMjA2LCAzMCwgMTYsIAorICAgIDIyMiwgMTEyLCAyMTMsIDIyNCwgMzAsIDE2LCAyMjIsIDExMiwgMjEzLCAyMjEsIDMwLCAxNiwgMjIyLCAxMTIsIDIxMywgCisgICAgMjIwLCAzMCwgMTYsIDIyMiwgMTEyLCAyMTMsIDIxOSwgMzAsIDE2LCAyMjIsIDExMiwgMjEzLCAyMTgsIDMwLCAxNiwgMjIyLCAKKyAgICAxMTIsIDIxMywgMjE3LCAzMCwgMTYsIDIyMiwgMTEyLCAyMTMsIDIxNiwgMzAsIDE2LCAyMjIsIDExMiwgMjEzLCAyMTUsIAorICAgIDMwLCAxNiwgMjIyLCAxMTIsIDIxMywgMjE0LCAzMCwgMTYsIDIyMiwgMTEyLCAyMTMsIDIyMywgMzAsIDE2LCAyMjIsIDExMiwgCisgICAgMjEzLCAyMjIsIDMwLCAxNiwgMjM5LCA3OSwgMzAsIDE2LCAyMjUsIDEwOCwgMzAsIDE2LCAyNDMsIDM0LCA3MywgMjE0LCAxLCAKKyAgICAzMCwgMTYsIDI0NSwgMjQ1LCAyMTQsIDIzNSwgMzAsIDE2LCAzNiwgMTMwLCAyNDksIDE0NiwgMzAsIDE2LCAzNiwgMTIwLCAKKyAgICAyNDksIDE0NiwgMzAsIDE2LCAzNiwgMjM5LCA5MSwgMzAsIDE2LCAzNiwgMjE0LCAyMDMsIDIyMCwgMjQxLCAzMCwgMTYsIAorICAgIDIyMSwgMTY5LCA4MywgMzAsIDE2LCAyMjEsIDE2OSwgMTIwLCA4MywgMzAsIDE2LCAxNjAsIDIyMSwgMTY5LCA4MywgMzAsIAorICAgIDE2LCAyNDAsIDI3LCAyMDksIDIwNiwgMzAsIDE2LCAyNDAsIDI3LCAyNDQsIDgsIDMwLCAxNiwgMiwgMjQxLCAyMjUsIDMwLCAKKyAgICAxNiwgMjQ2LCAxMDIsIDMwLCAxNiwgMjQ2LCAxMDMsIDI1MiwgMTU2LCAzMCwgMTYsIDIyNywgMTY0LCAzMCwgMTYsIDIyOSwgCisgICAgMTE3LCAzMCwgMTYsIDI0OSwgMTE5LCAzMCwgMTYsIDIxNiwgNTYsIDIwNywgMjMsIDMwLCAxNiwgMjE2LCA1NiwgMjQ5LCAKKyAgICAyMDIsIDMwLCAxNiwgMjI2LCAyMDUsIDMwLCAxNiwgMjI2LCAyMDYsIDI0OSwgMjAyLCAzMCwgMTYsIDIxNiwgNTAsIDIwNywgCisgICAgMjMsIDMwLCAxNiwgMjE2LCA1MCwgMjQ5LCAyMDIsIDMwLCAxNiwgMjQxLCA3MywgMjA3LCAyMywgMzAsIDE2LCAyNDEsIDczLCAKKyAgICAyNDksIDIwMiwgMzAsIDE2LCAyMjksIDExOCwgMjIxLCAxMjksIDIxOCwgMjM2LCAzMCwgMTYsIDIyOSwgMTE4LCAyMzMsIAorICAgIDczLCAyMTgsIDIzNiwgMzAsIDE2LCAyNDksIDEyMCwgMjE4LCAyMzYsIDMwLCAxNiwgMjE2LCA1NiwgMjE4LCAyMzYsIDMwLCAKKyAgICAxNiwgMjI2LCAyMDYsIDIxOCwgMjM2LCAzMCwgMTYsIDIxNiwgNTAsIDIxOCwgMjM2LCAzMCwgMTYsIDIxMiwgMTAwLCAyMjEsIAorICAgIDEyNywgMjQ3LCAzNCwgMjIwLCAxMDcsIDIyMSwgMTI4LCAzMCwgMTYsIDIxMiwgMTAwLCAyMjEsIDEyNywgMjQ3LCAzNCwgCisgICAgMjIwLCAxMDcsIDIzMywgNzIsIDMwLCAxNiwgMjEyLCAxMDAsIDIyMSwgMTI3LCAyNDcsIDM0LCAyMjAsIDEwNywgMjIxLCAKKyAgICAxMjksIDI0NSwgMTE4LCAzMCwgMTYsIDIxMiwgMTAwLCAyMzMsIDcxLCAyNDcsIDM0LCAyMjAsIDEwNywgMjIxLCAxMjgsIAorICAgIDMwLCAxNiwgMjEyLCAxMDAsIDIzMywgNzEsIDI0NywgMzQsIDIyMCwgMTA3LCAyMzMsIDcyLCAzMCwgMTYsIDIxMiwgMTAwLCAKKyAgICAyMzMsIDcxLCAyNDcsIDM0LCAyMjAsIDEwNywgMjMzLCA3MywgMjQ1LCAxMTgsIDMwLCAxNiwgMjEyLCAxMDAsIDIzMywgNzEsIAorICAgIDI0NywgMzQsIDIyMCwgMTA3LCAyMzMsIDczLCAyNDUsIDExNywgMzAsIDE2LCAyMTIsIDEwMCwgMjMzLCA3MSwgMjQ3LCAzNCwgCisgICAgMjIwLCAxMDcsIDIzMywgNzMsIDI0NSwgMTE2LCAzMCwgMTYsIDI0NywgNjIsIDMwLCAxNiwgMjM5LCAyMjYsIDI0OSwgMzUsIAorICAgIDI0NywgMjA2LCAzMCwgMTYsIDIzOSwgMjI2LCAyNDIsIDE0MCwgMjQ3LCAyMDYsIDMwLCAxNiwgNDksIDI1MSwgMTUwLCAzMCwgCisgICAgMTYsIDIwOCwgMTg3LCAzMCwgMTYsIDIyMCwgMjA4LCAzMCwgMTYsIDI0NywgMTk3LCAzMCwgMTYsIDIxNywgMTA4LCAzMCwgCisgICAgMTYsIDI0NywgMjAxLCAzMCwgMTYsIDIxMSwgOTUsIDMwLCAxNiwgMjIwLCAxODAsIDMwLCAxNiwgMjIwLCAxODEsIDI0MSwgCisgICAgMTgxLCAzMCwgMTYsIDIxNywgMTA5LCAyNDEsIDE4MSwgMzAsIDE2LCAyMTEsIDk2LCAyMTgsIDIzMywgMzAsIDE2LCAyMjEsIAorICAgIDExMCwgMjEzLCAxODQsIDI3LCAyMDgsIDE3MiwgMjI0LCA0MSwgMjEzLCA4OCwgMjcsIDIwOCwgMTcyLCAyMjQsIDQxLCAKKyAgICAyMTMsIDc3LCAyNywgMjA4LCAxNzIsIDIyNCwgNDEsIDIxMywgNjcsIDI3LCAyMDgsIDE3MiwgMjI0LCA0MSwgMjEzLCA2MCwgCisgICAgMjcsIDIwOCwgMTcyLCAyMjQsIDQxLCAyMTMsIDUyLCAyNywgMjA4LCAxNzIsIDIyNCwgNDEsIDIxMywgNDYsIDI3LCAyMDgsIAorICAgIDE3MiwgMjI0LCA0MSwgMjEzLCA0NSwgMjcsIDIwOCwgMTcyLCAyMjQsIDQxLCAyMTMsIDQ0LCAyNywgMjA4LCAxNzIsIDIyNCwgCisgICAgNDEsIDIxMywgNDMsIDI3LCAyMDgsIDE3MiwgMjI0LCA0MSwgMjEzLCA4NywgMjcsIDIwOCwgMTcyLCAyMjQsIDQxLCAyMTMsIAorICAgIDg2LCAyNywgMjA4LCAxNzIsIDIyNCwgNDEsIDIxMywgODUsIDI3LCAyMDgsIDE3MiwgMjI0LCA0MSwgMjEzLCA4NCwgMjcsIAorICAgIDIwOCwgMTcyLCAyMjQsIDQxLCAyMTMsIDgzLCAyNywgMjA4LCAxNzIsIDIyNCwgNDEsIDIxMywgODIsIDI3LCAyMDgsIDE3MiwgCisgICAgMjI0LCA0MSwgMjEzLCA4MSwgMjcsIDIwOCwgMTcyLCAyMjQsIDQxLCAyMTMsIDgwLCAyNywgMjA4LCAxNzIsIDIyNCwgNDEsIAorICAgIDIxMywgNzksIDI3LCAyMDgsIDE3MiwgMjI0LCA0MSwgMjEzLCA3OCwgMjcsIDIwOCwgMTcyLCAyMjQsIDQxLCAyMTMsIDc2LCAKKyAgICAyNywgMjA4LCAxNzIsIDIyNCwgNDEsIDIxMywgNzUsIDI3LCAyMDgsIDE3MiwgMjI0LCA0MSwgMjEzLCA3NCwgMjcsIDIwOCwgCisgICAgMTcyLCAyMjQsIDQxLCAyMTMsIDczLCAyNywgMjA4LCAxNzIsIDIyNCwgNDEsIDIxMywgNzIsIDI3LCAyMDgsIDE3MiwgMjI0LCAKKyAgICA0MSwgMjEzLCA1MSwgMjcsIDIwOCwgMTcyLCAyMjQsIDQxLCAyMTMsIDUwLCAyNywgMjA4LCAxNzIsIDIyNCwgNDEsIDIxMywgCisgICAgNDksIDI3LCAyMDgsIDE3MiwgMjI0LCA0MSwgMjEzLCA0OCwgMjcsIDIwOCwgMTcyLCAyMjQsIDQxLCAyMTMsIDQ3LCAyNywgCisgICAgMjMzLCAyNCwgMjI0LCA0MSwgMjEzLCA4OCwgMjcsIDIzMywgMjQsIDIyNCwgNDEsIDIxMywgNzcsIDI3LCAyMzMsIDI0LCAKKyAgICAyMjQsIDQxLCAyMTMsIDYwLCAyNywgMjMzLCAyNCwgMjI0LCA0MSwgMjEzLCA1MiwgMjcsIDIzMywgMjQsIDIyNCwgNDEsIAorICAgIDIxMywgNDUsIDI3LCAyMzMsIDI0LCAyMjQsIDQxLCAyMTMsIDQ0LCAyNywgMjMzLCAyNCwgMjI0LCA0MSwgMjEzLCA4NiwgCisgICAgMjcsIDIzMywgMjQsIDIyNCwgNDEsIDIxMywgODUsIDI3LCAyMzMsIDI0LCAyMjQsIDQxLCAyMTMsIDg0LCAyNywgMjMzLCAKKyAgICAyNCwgMjI0LCA0MSwgMjEzLCA4MywgMjcsIDIzMywgMjQsIDIyNCwgNDEsIDIxMywgODAsIDI3LCAyMzMsIDI0LCAyMjQsIAorICAgIDQxLCAyMTMsIDc5LCAyNywgMjMzLCAyNCwgMjI0LCA0MSwgMjEzLCA3OCwgMjcsIDIzMywgMjQsIDIyNCwgNDEsIDIxMywgCisgICAgNzMsIDI3LCAyMzMsIDI0LCAyMjQsIDQxLCAyMTMsIDcyLCAyNywgMjMzLCAyNCwgMjI0LCA0MSwgMjEzLCA3MSwgMjcsIAorICAgIDIzMywgMjQsIDIyNCwgNDEsIDIxMywgNzAsIDI3LCAyMzMsIDI0LCAyMjQsIDQxLCAyMTMsIDY5LCAyNywgMjMzLCAyNCwgCisgICAgMjI0LCA0MSwgMjEzLCA2OCwgMjcsIDIzMywgMjQsIDIyNCwgNDEsIDIxMywgNjYsIDI3LCAyMzMsIDI0LCAyMjQsIDQxLCAKKyAgICAyMTMsIDY1LCAyNywgMjMzLCAyNCwgMjI0LCA0MSwgMjEzLCA2NCwgMjcsIDIzMywgMjQsIDIyNCwgNDEsIDIxMywgNjMsIAorICAgIDI3LCAyMzMsIDI0LCAyMjQsIDQxLCAyMTMsIDYyLCAyNywgMjMzLCAyNCwgMjI0LCA0MSwgMjEzLCA2MSwgMjcsIDIzMywgCisgICAgMjQsIDIyNCwgNDEsIDIxMywgNTksIDI3LCAyMzMsIDI0LCAyMjQsIDQxLCAyMTMsIDU4LCAyNywgMjMzLCAyNCwgMjI0LCAKKyAgICA0MSwgMjEzLCA1NywgMjcsIDIzMywgMjQsIDIyNCwgNDEsIDIxMywgNTYsIDI3LCAyMzMsIDI0LCAyMjQsIDQxLCAyMTMsIAorICAgIDU1LCAyNywgMjMzLCAyNCwgMjI0LCA0MSwgMjEzLCA1NCwgMjcsIDIzMywgMjQsIDIyNCwgNDEsIDIxMywgNTMsIDI3LCAKKyAgICAyMzMsIDI0LCAyMjQsIDQxLCAyMTMsIDUxLCAyNywgMjMzLCAyNCwgMjI0LCA0MSwgMjEzLCA1MCwgMjcsIDIzMywgMjQsIAorICAgIDIyNCwgNDEsIDIxMywgNDksIDI3LCAyMzMsIDI0LCAyMjQsIDQxLCAyMTMsIDQ4LCAyNywgMjMzLCAyNCwgMjI0LCA0MSwgCisgICAgMjEzLCA0NywgMzYsIDI3LCAzMCwgMjExLCAzMywgMzYsIDI3LCAzMCwgMjEyLCA3MiwgMzYsIDI3LCAzMCwgMjIxLCAxMzgsIAorICAgIDI3LCAzMCwgMjMwLCAyOCwgMjI2LCAxNjAsIDMzLCAyNDMsIDEyMCwgMjQ1LCAxMzEsIDMzLCAyMzksIDU1LCAyNDMsIDEyMCwgCisgICAgMjQ1LCAxMzEsIDMzLCAyMzgsIDMzLCAyNDMsIDEyMCwgMjQ1LCAxMzEsIDMzLCAyNDMsIDExOSwgMjM5LCA1NiwgMjQ1LCAKKyAgICAxMzEsIDMzLCAyNDMsIDExOSwgMjM4LCAzMiwgMjQ1LCAxMzEsIDMzLCAyNDMsIDEyMCwgMjEyLCA3NCwgMzMsIDI0OCwgCisgICAgMTI4LCAyMTIsIDc0LCAzMywgMjQxLCA4MiwgMjQ3LCAyMzMsIDIxMiwgNzQsIDMzLCAyMjYsIDE5NywgMjEyLCA3NCwgMzMsIAorICAgIDI1MCwgMTE5LCAyMTIsIDc0LCAzMywgMjMxLCAyMTgsIDIxNCwgMjE1LCAyMTIsIDc0LCAzMywgMjQ3LCAxMTAsIDIxMiwgCisgICAgNzQsIDMzLCAyNTEsIDIyNywgMjEyLCA3NCwgMzMsIDIyMiwgMTI4LCAyMTIsIDc0LCAzMywgMjQ5LCAxMjksIDIyMiwgOTMsIAorICAgIDIxMiwgNzQsIDMzLCAyNDUsIDI0NywgMjIyLCAxMjMsIDI0NSwgODYsIDIxMiwgNzQsIDMzLCAyNDUsIDgzLCAyMTIsIDc0LCAKKyAgICAzMywgMjA1LCAyMjUsIDIxMiwgNzQsIDMzLCAyMzMsIDU5LCAyMTIsIDc0LCAzMywgMjIxLCAxNDgsIDIxMiwgNzQsIDMzLCAKKyAgICAyMTksIDUwLCAyMTIsIDc0LCAzMywgMjQ3LCAxMjEsIDIxMiwgNzQsIDMzLCAyMzgsIDE0MSwgMjUwLCAxNzYsIDIxMiwgNzQsIAorICAgIDMzLCAyMDcsIDg5LCAyMTIsIDc0LCAzMywgMjQxLCAxNTcsIDIxMiwgNzQsIDMzLCAyNTIsIDI1MSwgMjEyLCA3NCwgMzMsIAorICAgIDIxOSwgOSwgMjEyLCA3NCwgMzMsIDIxOCwgMjQwLCAyMTIsIDc0LCAzMywgMjQzLCAxMTgsIDIxMiwgNzQsIDMzLCAyMzIsIAorICAgIDEwNywgMjEyLCA3NCwgMzMsIDI0NywgMTE2LCAyMTIsIDc0LCAzMywgMjQzLCAzMywgMjEyLCA3NCwgMzMsIDI0MywgMjExLCAKKyAgICAyMTIsIDc0LCAzMywgMjQ4LCA5OCwgMjEyLCA3NCwgMzMsIDI0NiwgMSwgMjEyLCA3NCwgMzMsIDI0LCAyMTgsIDIzOSwgCisgICAgMjEyLCA3NCwgMzMsIDIyMiwgNDMsIDIxMiwgNzQsIDMzLCAyMzAsIDMyLCAyMTIsIDc0LCAzMywgMjQ3LCAxOTAsIDIxMiwgCisgICAgNzQsIDMzLCAyMzEsIDEwNSwgMjEyLCA3NCwgMzMsIDI0MCwgMTk0LCAyMTIsIDc0LCAzMywgMjEzLCAyMzQsIDIxMiwgNzQsIAorICAgIDMzLCAyMjAsIDYxLCAyMTIsIDc0LCAzMywgMjQxLCA4MSwgMjEyLCA3NCwgMzMsIDIxOCwgMjQxLCAyMTIsIDc0LCAzMywgCisgICAgMjMwLCA3MSwgMjIyLCAxMjMsIDIyNiwgMTc3LCAyMTIsIDc0LCAzMywgMjE4LCAyMzcsIDIxMiwgNzQsIDMzLCAyNDAsIDEzLCAKKyAgICAyMTEsIDEzMCwgMjI3LCAxMDIsIDIxMiwgNzQsIDMzLCAyNDMsIDM1LCAyMTIsIDc0LCAzMywgMjEzLCAyNDYsIDIxMiwgNzQsIAorICAgIDMzLCAyMzksIDIyOCwgMjEyLCA3NCwgMzMsIDI0MywgMjYsIDIxMiwgNzQsIDMzLCAyMjEsIDE5MCwgMjEyLCA3NCwgMzMsIAorICAgIDIxOCwgMTM5LCAyMTIsIDc0LCAzMywgMjQxLCAxODAsIDIxMiwgNzQsIDMzLCAyMDksIDQ4LCAyMjIsIDEyMywgMjA3LCA3MywgCisgICAgMjEyLCA3NCwgMzMsIDI0NywgMTI2LCAyMTIsIDc0LCAzMywgMjI3LCAxMTcsIDIxMiwgNzQsIDMzLCAyNDIsIDE5OCwgMjEyLCAKKyAgICA3NCwgMzMsIDIwOSwgMjE1LCAyMTIsIDc0LCAzMywgMjQ1LCAxMTksIDIxMiwgNzQsIDMzLCAyNDcsIDE5MiwgMjI2LCAxMjMsIAorICAgIDIxMiwgNzQsIDMzLCAyMzksIDIwNSwgMjEyLCA3NCwgMzMsIDI0MCwgMTk1LCAyMzMsIDY4LCAyMTIsIDc0LCAzMywgMjI3LCAKKyAgICAxNzIsIDIxMiwgNzQsIDMzLCAyNTMsIDE2LCAyMTIsIDc0LCAzMywgMjQzLCA0OCwgMjEyLCA3NCwgMzMsIDI0NCwgMTIsIAorICAgIDIxMiwgNzQsIDMzLCAyMDcsIDcxLCAyMTIsIDc0LCAzMywgMjE1LCAzNiwgMjEyLCA3NCwgMzMsIDIzMywgMzMsIDIxMiwgCisgICAgNzQsIDMzLCAyNDUsIDIxNSwgMjEyLCA3NCwgMzMsIDI0NiwgODIsIDIxMiwgNzQsIDMzLCAyNDUsIDExNSwgMjEyLCA3NCwgCisgICAgMzMsIDI0MiwgMTY2LCAyMTIsIDc0LCAzMywgMjE2LCAxNiwgMjEyLCA3NCwgMzMsIDIxMywgMjUwLCAyMTIsIDc0LCAzMywgCisgICAgMjM5LCA5MywgMjEyLCA3NCwgMzMsIDI0NywgMTQ4LCAyMTIsIDc0LCAzMywgMjQ3LCAxODcsIDIxMiwgNzQsIDMzLCAyNDIsIAorICAgIDUzLCAyMTIsIDc0LCAzMywgMjUyLCAyMTYsIDIxMiwgNzQsIDMzLCAyNDcsIDE0NywgMjEyLCA3NCwgMzMsIDIyMiwgMTY2LCAKKyAgICAyMTIsIDQyLCAyMDksIDI1LCAyMTIsIDc0LCAzMywgMjQ1LCAxMzksIDIxMiwgNzQsIDMzLCAyMzAsIDEyOSwgMjEyLCA3NCwgCisgICAgMzMsIDI0MSwgMTI4LCAyNDcsIDc5LCAyMTgsIDExNSwgMjA5LCAyMTcsIDE4LCAxMDIsIDI0NywgNzksIDIxOCwgMTE1LCAKKyAgICAyMDksIDIxNywgMTgsIDEwNSwgMjQ3LCA3OSwgMjE4LCAxMTUsIDIwOSwgMjE3LCAxOCwgMTQyLCAyNDcsIDc5LCAyMTgsIAorICAgIDExNSwgMjA5LCAyMTcsIDE4LCAxMzksIDI0NywgNzksIDIxOCwgMTE1LCAyMDksIDIxNywgMTgsIDE2OCwgMjQ3LCA3OSwgCisgICAgMjE4LCAxMTUsIDIwOSwgMjE3LCAxOCwgMTg0LCAyNDcsIDc5LCAyMTgsIDExNSwgMjA5LCAyMTcsIDE4LCAxOTUsIDI0NywgCisgICAgNzksIDIxOCwgMTE1LCAyMDksIDIxNywgMTgsIDE5MywgMjQ3LCA3OSwgMjE4LCAxMTUsIDIwOSwgMjE3LCAxOCwgMjAwLCAKKyAgICAyNDcsIDc5LCAyMTgsIDExNSwgMjEyLCA5NCwgMTgsIDEwMiwgMjQ3LCA3OSwgMjE4LCAxMTUsIDIxMiwgOTQsIDE4LCAxMDUsIAorICAgIDI0NywgNzksIDIxOCwgMTE1LCAyMTIsIDk0LCAxOCwgMTQyLCAyNDcsIDc5LCAyMTgsIDExNSwgMjEyLCA5NCwgMTgsIDEzOSwgCisgICAgMjQ3LCA3OSwgMjE4LCAxMTUsIDIxMiwgOTQsIDE4LCAxNjgsIDI0NywgNzksIDIxOCwgMTE1LCAyMTIsIDk0LCAxOCwgMTg0LCAKKyAgICAyNDcsIDc5LCAyMTgsIDExNSwgMjEyLCA5NCwgMTgsIDE5NSwgMjQ3LCA3OSwgMjE4LCAxMTUsIDIxMiwgOTQsIDE4LCAxOTMsIAorICAgIDI0NywgNzksIDIxOCwgMTE1LCAyMTIsIDk0LCAxOCwgMjAwLCAxMSwgMjQsIDYsIDYyLCAxMSwgMjQsIDYsIDI1MSwgMTUwLCAKKyAgICAxMSwgMjQsIDYsIDI0OSwgMzQsIDExLCAyNCwgNiwgMjQ2LCAyNDAsIDExLCAyNCwgNiwgNzUsIDExLCAyNCwgNiwgMjQyLCAKKyAgICAxMzksIDExLCAyNCwgNiwgMjQxLCA1NSwgMTEsIDI0LCA2LCAyMzksIDE1NSwgMTEsIDI0LCA2LCA3NCwgMTEsIDI0LCA2LCAKKyAgICAyMzIsIDIwMywgMTEsIDI0LCA2LCAyMzIsIDc2LCAxMSwgMjQsIDYsIDE0OSwgMTEsIDI0LCA2LCAyMjksIDI4LCAxMSwgMjQsIAorICAgIDYsIDIyNiwgMzMsIDExLCAyNCwgNiwgNzYsIDExLCAyNCwgNiwgMjIyLCA2NywgMTEsIDI0LCA2LCAyMjAsIDI3LCAxMSwgCisgICAgMjQsIDYsIDEzNywgMTEsIDI0LCA2LCAxODIsIDExLCAyNCwgNiwgMjEzLCAxMCwgMTEsIDI0LCA2LCA3MSwgMTEsIDI0LCA2LCAKKyAgICAyMDksIDE0OCwgMTEsIDI0LCA2LCAyMDcsIDEyOSwgMTEsIDI0LCA2LCAyMDYsIDE5NSwgMTEsIDI0LCA2LCAyMDYsIDEyMywgCisgICAgMTEsIDI0LCA2LCAyMDUsIDE1OSwgMTEsIDI0LCA1LCA2MiwgMTEsIDI0LCA1LCAyNTEsIDE1MCwgMTEsIDI0LCA1LCAyNDksIAorICAgIDM0LCAxMSwgMjQsIDUsIDI0NiwgMjQwLCAxMSwgMjQsIDUsIDc1LCAxMSwgMjQsIDUsIDI0MiwgMTM5LCAxMSwgMjQsIDUsIAorICAgIDI0MSwgNTUsIDExLCAyNCwgNSwgMjM5LCAxNTUsIDExLCAyNCwgNSwgNzQsIDExLCAyNCwgNSwgMjMyLCAyMDMsIDExLCAyNCwgCisgICAgNSwgMjMyLCA3NiwgMTEsIDI0LCA1LCAxNDksIDExLCAyNCwgNSwgMjI5LCAyOCwgMTEsIDI0LCA1LCAyMjYsIDMzLCAxMSwgCisgICAgMjQsIDUsIDc2LCAxMSwgMjQsIDUsIDIyMiwgNjcsIDExLCAyNCwgNSwgMjIwLCAyNywgMTEsIDI0LCA1LCAxMzcsIDExLCAKKyAgICAyNCwgNSwgMTgyLCAxMSwgMjQsIDUsIDIxMywgMTAsIDExLCAyNCwgNSwgNzEsIDExLCAyNCwgNSwgMjA5LCAxNDgsIDExLCAKKyAgICAyNCwgNSwgMjA3LCAxMjksIDExLCAyNCwgNSwgMjA2LCAxOTUsIDExLCAyNCwgNSwgMjA2LCAxMjMsIDExLCAyNCwgNSwgCisgICAgMjA1LCAxNTksIDExLCAzNSwgNiwgNjIsIDExLCAzNSwgNiwgMjUxLCAxNTAsIDExLCAzNSwgNiwgMjQ5LCAzNCwgMTEsIDM1LCAKKyAgICA2LCAyNDYsIDI0MCwgMTEsIDM1LCA2LCA3NSwgMTEsIDM1LCA2LCAyNDIsIDEzOSwgMTEsIDM1LCA2LCAyNDEsIDU1LCAxMSwgCisgICAgMzUsIDYsIDIzOSwgMTU1LCAxMSwgMzUsIDYsIDc0LCAxMSwgMzUsIDYsIDIzMiwgMjAzLCAxMSwgMzUsIDYsIDIzMiwgNzYsIAorICAgIDExLCAzNSwgNiwgMTQ5LCAxMSwgMzUsIDYsIDIyOSwgMjgsIDExLCAzNSwgNiwgMjI2LCAzMywgMTEsIDM1LCA2LCA3NiwgCisgICAgMTEsIDM1LCA2LCAyMjIsIDY3LCAxMSwgMzUsIDYsIDIyMCwgMjcsIDExLCAzNSwgNiwgMTM3LCAxMSwgMzUsIDYsIDE4MiwgCisgICAgMTEsIDM1LCA2LCAyMTMsIDEwLCAxMSwgMzUsIDYsIDcxLCAxMSwgMzUsIDYsIDIwOSwgMTQ4LCAxMSwgMzUsIDYsIDIwNywgCisgICAgMTI5LCAxMSwgMzUsIDYsIDIwNiwgMTk1LCAxMSwgMzUsIDYsIDIwNiwgMTIzLCAxMSwgMzUsIDYsIDIwNSwgMTU5LCAxMSwgCisgICAgMzUsIDUsIDYyLCAxMSwgMzUsIDUsIDI1MSwgMTUwLCAxMSwgMzUsIDUsIDI0OSwgMzQsIDExLCAzNSwgNSwgMjQ2LCAyNDAsIAorICAgIDExLCAzNSwgNSwgNzUsIDExLCAzNSwgNSwgMjQyLCAxMzksIDExLCAzNSwgNSwgMjQxLCA1NSwgMTEsIDM1LCA1LCA3NCwgCisgICAgMTEsIDM1LCA1LCAyMzIsIDIwMywgMTEsIDM1LCA1LCAyMzIsIDc2LCAxMSwgMzUsIDUsIDE0OSwgMTEsIDM1LCA1LCAyMjksIAorICAgIDI4LCAxMSwgMzUsIDUsIDIyNiwgMzMsIDExLCAzNSwgNSwgNzYsIDExLCAzNSwgNSwgMjIyLCA2NywgMTEsIDM1LCA1LCAKKyAgICAyMjAsIDI3LCAxMSwgMzUsIDUsIDEzNywgMTEsIDM1LCA1LCAxODIsIDExLCAzNSwgNSwgMjEzLCAxMCwgMTEsIDM1LCA1LCAKKyAgICA3MSwgMTEsIDM1LCA1LCAyMDksIDE0OCwgMTEsIDM1LCA1LCAyMDcsIDEyOSwgMTEsIDM1LCA1LCAyMDYsIDE5NSwgMTEsIAorICAgIDM1LCA1LCAyMDYsIDEyMywgMTEsIDM1LCA1LCAyMDUsIDE1OSwgMTEsIDI0LCAzNSwgNiwgNjIsIDExLCAyNCwgMzUsIDYsIAorICAgIDI1MSwgMTUwLCAxMSwgMjQsIDM1LCA2LCAyNDksIDM0LCAxMSwgMjQsIDM1LCA2LCAyNDYsIDI0MCwgMTEsIDI0LCAzNSwgNiwgCisgICAgNzUsIDExLCAyNCwgMzUsIDYsIDI0MiwgMTM5LCAxMSwgMjQsIDM1LCA2LCAyNDEsIDU1LCAxMSwgMjQsIDM1LCA2LCAyMzksIAorICAgIDE1NSwgMTEsIDI0LCAzNSwgNiwgNzQsIDExLCAyNCwgMzUsIDYsIDIzMiwgMjAzLCAxMSwgMjQsIDM1LCA2LCAyMzIsIDc2LCAKKyAgICAxMSwgMjQsIDM1LCA2LCAxNDksIDExLCAyNCwgMzUsIDYsIDIyOSwgMjgsIDExLCAyNCwgMzUsIDYsIDIyNiwgMzMsIDExLCAKKyAgICAyNCwgMzUsIDYsIDc2LCAxMSwgMjQsIDM1LCA2LCAyMjIsIDY3LCAxMSwgMjQsIDM1LCA2LCAyMjAsIDI3LCAxMSwgMjQsIAorICAgIDM1LCA2LCAxMzcsIDExLCAyNCwgMzUsIDYsIDE4MiwgMTEsIDI0LCAzNSwgNiwgMjEzLCAxMCwgMTEsIDI0LCAzNSwgNiwgCisgICAgNzEsIDExLCAyNCwgMzUsIDYsIDIwOSwgMTQ4LCAxMSwgMjQsIDM1LCA2LCAyMDcsIDEyOSwgMTEsIDI0LCAzNSwgNiwgMjA2LCAKKyAgICAxOTUsIDExLCAyNCwgMzUsIDYsIDIwNiwgMTIzLCAxMSwgMjQsIDM1LCA2LCAyMDUsIDE1OSwgMTEsIDI0LCAzNSwgNSwgNjIsIAorICAgIDExLCAyNCwgMzUsIDUsIDI1MSwgMTUwLCAxMSwgMjQsIDM1LCA1LCAyNDksIDM0LCAxMSwgMjQsIDM1LCA1LCAyNDYsIDI0MCwgCisgICAgMTEsIDI0LCAzNSwgNSwgNzUsIDExLCAyNCwgMzUsIDUsIDI0MiwgMTM5LCAxMSwgMjQsIDM1LCA1LCAyNDEsIDU1LCAxMSwgCisgICAgMjQsIDM1LCA1LCAyMzksIDE1NSwgMTEsIDI0LCAzNSwgNSwgNzQsIDExLCAyNCwgMzUsIDUsIDIzMiwgMjAzLCAxMSwgMjQsIAorICAgIDM1LCA1LCAyMzIsIDc2LCAxMSwgMjQsIDM1LCA1LCAxNDksIDExLCAyNCwgMzUsIDUsIDIyOSwgMjgsIDExLCAyNCwgMzUsIAorICAgIDUsIDIyNiwgMzMsIDExLCAyNCwgMzUsIDUsIDc2LCAxMSwgMjQsIDM1LCA1LCAyMjIsIDY3LCAxMSwgMjQsIDM1LCA1LCAKKyAgICAyMjAsIDI3LCAxMSwgMjQsIDM1LCA1LCAxMzcsIDExLCAyNCwgMzUsIDUsIDE4MiwgMTEsIDI0LCAzNSwgNSwgMjEzLCAxMCwgCisgICAgMTEsIDI0LCAzNSwgNSwgNzEsIDExLCAyNCwgMzUsIDUsIDIwOSwgMTQ4LCAxMSwgMjQsIDM1LCA1LCAyMDcsIDEyOSwgMTEsIAorICAgIDI0LCAzNSwgNSwgMjA2LCAxOTUsIDExLCAyNCwgMzUsIDUsIDIwNiwgMTIzLCAxMSwgMjQsIDM1LCA1LCAyMDUsIDE1OSwgCisgICAgMTEsIDEyMSwgNiwgNjIsIDExLCAxMjEsIDYsIDI0OSwgMzQsIDExLCAxMjEsIDYsIDI0NiwgMjQwLCAxMSwgMTIxLCA2LCAKKyAgICAyNDEsIDU1LCAxMSwgMTIxLCA2LCAyMzIsIDIwMywgMTEsIDEyMSwgNiwgMjMyLCA3NiwgMTEsIDEyMSwgNiwgMjI2LCAzMywgCisgICAgMTEsIDEyMSwgNiwgNzYsIDExLCAxMjEsIDYsIDIyMiwgNjcsIDExLCAxMjEsIDYsIDIyMCwgMjcsIDExLCAxMjEsIDYsIAorICAgIDE4MiwgMTEsIDEyMSwgNiwgMjEzLCAxMCwgMTEsIDEyMSwgNiwgNzEsIDExLCAxMjEsIDYsIDIwOSwgMTQ4LCAxMSwgMTIxLCAKKyAgICA2LCAyMDcsIDEyOSwgMTEsIDEyMSwgNiwgMjA2LCAxOTUsIDExLCAxMjEsIDYsIDIwNiwgMTIzLCAxMSwgMTIxLCA2LCAyMDUsIAorICAgIDE1OSwgMTEsIDEyMSwgNSwgNjIsIDExLCAxMjEsIDUsIDI1MSwgMTUwLCAxMSwgMTIxLCA1LCAyNDksIDM0LCAxMSwgMTIxLCAKKyAgICA1LCAyNDYsIDI0MCwgMTEsIDEyMSwgNSwgMjQyLCAxMzksIDExLCAxMjEsIDUsIDIzOSwgMTU1LCAxMSwgMTIxLCA1LCA3NCwgCisgICAgMTEsIDEyMSwgNSwgMjMyLCAyMDMsIDExLCAxMjEsIDUsIDIzMiwgNzYsIDExLCAxMjEsIDUsIDE0OSwgMTEsIDEyMSwgNSwgCisgICAgMjI5LCAyOCwgMTEsIDEyMSwgNSwgMjI2LCAzMywgMTEsIDEyMSwgNSwgMjIyLCA2NywgMTEsIDEyMSwgNSwgMjIwLCAyNywgCisgICAgMTEsIDEyMSwgNSwgMTM3LCAxMSwgMTIxLCA1LCAxODIsIDExLCAxMjEsIDUsIDIxMywgMTAsIDExLCAxMjEsIDUsIDcxLCAKKyAgICAxMSwgMTIxLCA1LCAyMDksIDE0OCwgMTEsIDEyMSwgNSwgMjA3LCAxMjksIDExLCAxMjEsIDUsIDIwNiwgMTk1LCAxMSwgCisgICAgMTIxLCA1LCAyMDYsIDEyMywgMTEsIDEyMSwgNSwgMjA1LCAxNTksIDExLCAyNCwgMTIxLCA2LCA2MiwgMTEsIDI0LCAxMjEsIAorICAgIDYsIDI1MSwgMTUwLCAxMSwgMjQsIDEyMSwgNiwgMjQ5LCAzNCwgMTEsIDI0LCAxMjEsIDYsIDI0NiwgMjQwLCAxMSwgMjQsIAorICAgIDEyMSwgNiwgNzUsIDExLCAyNCwgMTIxLCA2LCAyNDIsIDEzOSwgMTEsIDI0LCAxMjEsIDYsIDI0MSwgNTUsIDExLCAyNCwgCisgICAgMTIxLCA2LCAyMzksIDE1NSwgMTEsIDI0LCAxMjEsIDYsIDc0LCAxMSwgMjQsIDEyMSwgNiwgMjMyLCAyMDMsIDExLCAyNCwgCisgICAgMTIxLCA2LCAyMzIsIDc2LCAxMSwgMjQsIDEyMSwgNiwgMTQ5LCAxMSwgMjQsIDEyMSwgNiwgMjI5LCAyOCwgMTEsIDI0LCAKKyAgICAxMjEsIDYsIDIyNiwgMzMsIDExLCAyNCwgMTIxLCA2LCA3NiwgMTEsIDI0LCAxMjEsIDYsIDIyMiwgNjcsIDExLCAyNCwgCisgICAgMTIxLCA2LCAyMjAsIDI3LCAxMSwgMjQsIDEyMSwgNiwgMTM3LCAxMSwgMjQsIDEyMSwgNiwgMTgyLCAxMSwgMjQsIDEyMSwgCisgICAgNiwgMjEzLCAxMCwgMTEsIDI0LCAxMjEsIDYsIDcxLCAxMSwgMjQsIDEyMSwgNiwgMjA5LCAxNDgsIDExLCAyNCwgMTIxLCA2LCAKKyAgICAyMDcsIDEyOSwgMTEsIDI0LCAxMjEsIDYsIDIwNiwgMTk1LCAxMSwgMjQsIDEyMSwgNiwgMjA2LCAxMjMsIDExLCAyNCwgCisgICAgMTIxLCA2LCAyMDUsIDE1OSwgMTEsIDI0LCAxMjEsIDUsIDYyLCAxMSwgMjQsIDEyMSwgNSwgMjUxLCAxNTAsIDExLCAyNCwgCisgICAgMTIxLCA1LCAyNDksIDM0LCAxMSwgMjQsIDEyMSwgNSwgMjQ2LCAyNDAsIDExLCAyNCwgMTIxLCA1LCA3NSwgMTEsIDI0LCAKKyAgICAxMjEsIDUsIDI0MiwgMTM5LCAxMSwgMjQsIDEyMSwgNSwgMjQxLCA1NSwgMTEsIDI0LCAxMjEsIDUsIDIzOSwgMTU1LCAxMSwgCisgICAgMjQsIDEyMSwgNSwgNzQsIDExLCAyNCwgMTIxLCA1LCAyMzIsIDIwMywgMTEsIDI0LCAxMjEsIDUsIDIzMiwgNzYsIDExLCAKKyAgICAyNCwgMTIxLCA1LCAxNDksIDExLCAyNCwgMTIxLCA1LCAyMjksIDI4LCAxMSwgMjQsIDEyMSwgNSwgMjI2LCAzMywgMTEsIAorICAgIDI0LCAxMjEsIDUsIDc2LCAxMSwgMjQsIDEyMSwgNSwgMjIyLCA2NywgMTEsIDI0LCAxMjEsIDUsIDIyMCwgMjcsIDExLCAyNCwgCisgICAgMTIxLCA1LCAxMzcsIDExLCAyNCwgMTIxLCA1LCAxODIsIDExLCAyNCwgMTIxLCA1LCAyMTMsIDEwLCAxMSwgMjQsIDEyMSwgCisgICAgNSwgNzEsIDExLCAyNCwgMTIxLCA1LCAyMDksIDE0OCwgMTEsIDI0LCAxMjEsIDUsIDIwNywgMTI5LCAxMSwgMjQsIDEyMSwgCisgICAgNSwgMjA2LCAxOTUsIDExLCAyNCwgMTIxLCA1LCAyMDYsIDEyMywgMTEsIDI0LCAxMjEsIDUsIDIwNSwgMTU5LCAxMSwgMTU0LCAKKyAgICA2LCA2MiwgMTEsIDE1NCwgNiwgMjUxLCAxNTAsIDExLCAxNTQsIDYsIDI0NiwgMjQwLCAxMSwgMTU0LCA2LCA3NSwgMTEsIAorICAgIDE1NCwgNiwgMjQyLCAxMzksIDExLCAxNTQsIDYsIDI0MSwgNTUsIDExLCAxNTQsIDYsIDIzMiwgMjAzLCAxMSwgMTU0LCA2LCAKKyAgICAyMzIsIDc2LCAxMSwgMTU0LCA2LCAxNDksIDExLCAxNTQsIDYsIDIyOSwgMjgsIDExLCAxNTQsIDYsIDIyNiwgMzMsIDExLCAKKyAgICAxNTQsIDYsIDc2LCAxMSwgMTU0LCA2LCAyMjIsIDY3LCAxMSwgMTU0LCA2LCAyMjAsIDI3LCAxMSwgMTU0LCA2LCAxODIsIAorICAgIDExLCAxNTQsIDYsIDIxMywgMTAsIDExLCAxNTQsIDYsIDcxLCAxMSwgMTU0LCA2LCAyMDksIDE0OCwgMTEsIDE1NCwgNiwgCisgICAgMjA3LCAxMjksIDExLCAxNTQsIDYsIDIwNiwgMTk1LCAxMSwgMTU0LCA2LCAyMDYsIDEyMywgMTEsIDE1NCwgNSwgNjIsIDExLCAKKyAgICAxNTQsIDUsIDI1MSwgMTUwLCAxMSwgMTU0LCA1LCAyNDksIDM0LCAxMSwgMTU0LCA1LCAyNDYsIDI0MCwgMTEsIDE1NCwgNSwgCisgICAgNzUsIDExLCAxNTQsIDUsIDI0MiwgMTM5LCAxMSwgMTU0LCA1LCAyNDEsIDU1LCAxMSwgMTU0LCA1LCAyMzksIDE1NSwgMTEsIAorICAgIDE1NCwgNSwgNzQsIDExLCAxNTQsIDUsIDIzMiwgMjAzLCAxMSwgMTU0LCA1LCAyMzIsIDc2LCAxMSwgMTU0LCA1LCAxNDksIAorICAgIDExLCAxNTQsIDUsIDIyOSwgMjgsIDExLCAxNTQsIDUsIDIyNiwgMzMsIDExLCAxNTQsIDUsIDc2LCAxMSwgMTU0LCA1LCAKKyAgICAyMjIsIDY3LCAxMSwgMTU0LCA1LCAyMjAsIDI3LCAxMSwgMTU0LCA1LCAxMzcsIDExLCAxNTQsIDUsIDE4MiwgMTEsIDE1NCwgCisgICAgNSwgMjEzLCAxMCwgMTEsIDE1NCwgNSwgNzEsIDExLCAxNTQsIDUsIDIwOSwgMTQ4LCAxMSwgMTU0LCA1LCAyMDcsIDEyOSwgCisgICAgMTEsIDE1NCwgNSwgMjA2LCAxOTUsIDExLCAxNTQsIDUsIDIwNiwgMTIzLCAxMSwgMTU0LCA1LCAyMDUsIDE1OSwgMTEsIAorICAgIDE1OSwgNiwgNjIsIDExLCAxNTksIDYsIDI1MSwgMTUwLCAxMSwgMTU5LCA2LCAyNDYsIDI0MCwgMTEsIDE1OSwgNiwgNzUsIAorICAgIDExLCAxNTksIDYsIDI0MiwgMTM5LCAxMSwgMTU5LCA2LCAyNDEsIDU1LCAxMSwgMTU5LCA2LCA3NCwgMTEsIDE1OSwgNiwgCisgICAgMjMyLCAyMDMsIDExLCAxNTksIDYsIDIzMiwgNzYsIDExLCAxNTksIDYsIDE0OSwgMTEsIDE1OSwgNiwgMjI5LCAyOCwgMTEsIAorICAgIDE1OSwgNiwgNzYsIDExLCAxNTksIDYsIDE4MiwgMTEsIDE1OSwgNiwgMjEzLCAxMCwgMTEsIDE1OSwgNiwgNzEsIDExLCAKKyAgICAxNTksIDYsIDIwOSwgMTQ4LCAxMSwgMTU5LCA2LCAyMDcsIDEyOSwgMTEsIDE1OSwgNiwgMjA2LCAxOTUsIDExLCAxNTksIDYsIAorICAgIDIwNiwgMTIzLCAxMSwgMTU5LCA1LCA2MiwgMTEsIDE1OSwgNSwgMjUxLCAxNTAsIDExLCAxNTksIDUsIDI0OSwgMzQsIDExLCAKKyAgICAxNTksIDUsIDI0NiwgMjQwLCAxMSwgMTU5LCA1LCA3NSwgMTEsIDE1OSwgNSwgMjQyLCAxMzksIDExLCAxNTksIDUsIDI0MSwgCisgICAgNTUsIDExLCAxNTksIDUsIDIzOSwgMTU1LCAxMSwgMTU5LCA1LCA3NCwgMTEsIDE1OSwgNSwgMjMyLCAyMDMsIDExLCAxNTksIAorICAgIDUsIDIzMiwgNzYsIDExLCAxNTksIDUsIDE0OSwgMTEsIDE1OSwgNSwgMjI5LCAyOCwgMTEsIDE1OSwgNSwgMjI2LCAzMywgCisgICAgMTEsIDE1OSwgNSwgNzYsIDExLCAxNTksIDUsIDIyMiwgNjcsIDExLCAxNTksIDUsIDIyMCwgMjcsIDExLCAxNTksIDUsIAorICAgIDEzNywgMTEsIDE1OSwgNSwgMTgyLCAxMSwgMTU5LCA1LCAyMTMsIDEwLCAxMSwgMTU5LCA1LCA3MSwgMTEsIDE1OSwgNSwgCisgICAgMjA5LCAxNDgsIDExLCAxNTksIDUsIDIwNywgMTI5LCAxMSwgMTU5LCA1LCAyMDYsIDE5NSwgMTEsIDE1OSwgNSwgMjA2LCAKKyAgICAxMjMsIDExLCAxNTksIDUsIDIwNSwgMTU5LCAxMSwgMjQsIDE1NCwgNiwgNjIsIDExLCAyNCwgMTU0LCA2LCAyNTEsIDE1MCwgCisgICAgMTEsIDI0LCAxNTQsIDYsIDI0OSwgMzQsIDExLCAyNCwgMTU0LCA2LCAyNDYsIDI0MCwgMTEsIDI0LCAxNTQsIDYsIDc1LCAKKyAgICAxMSwgMjQsIDE1NCwgNiwgMjQyLCAxMzksIDExLCAyNCwgMTU0LCA2LCAyNDEsIDU1LCAxMSwgMjQsIDE1NCwgNiwgMjM5LCAKKyAgICAxNTUsIDExLCAyNCwgMTU0LCA2LCA3NCwgMTEsIDI0LCAxNTQsIDYsIDIzMiwgMjAzLCAxMSwgMjQsIDE1NCwgNiwgMjMyLCAKKyAgICA3NiwgMTEsIDI0LCAxNTQsIDYsIDE0OSwgMTEsIDI0LCAxNTQsIDYsIDIyOSwgMjgsIDExLCAyNCwgMTU0LCA2LCAyMjYsIAorICAgIDMzLCAxMSwgMjQsIDE1NCwgNiwgNzYsIDExLCAyNCwgMTU0LCA2LCAyMjIsIDY3LCAxMSwgMjQsIDE1NCwgNiwgMjIwLCAyNywgCisgICAgMTEsIDI0LCAxNTQsIDYsIDEzNywgMTEsIDI0LCAxNTQsIDYsIDE4MiwgMTEsIDI0LCAxNTQsIDYsIDIxMywgMTAsIDExLCAKKyAgICAyNCwgMTU0LCA2LCA3MSwgMTEsIDI0LCAxNTQsIDYsIDIwOSwgMTQ4LCAxMSwgMjQsIDE1NCwgNiwgMjA3LCAxMjksIDExLCAKKyAgICAyNCwgMTU0LCA2LCAyMDYsIDE5NSwgMTEsIDI0LCAxNTQsIDYsIDIwNiwgMTIzLCAxMSwgMjQsIDE1NCwgNiwgMjA1LCAxNTksIAorICAgIDExLCAyNCwgMTU0LCA1LCA2MiwgMTEsIDI0LCAxNTQsIDUsIDI1MSwgMTUwLCAxMSwgMjQsIDE1NCwgNSwgMjQ5LCAzNCwgCisgICAgMTEsIDI0LCAxNTQsIDUsIDI0NiwgMjQwLCAxMSwgMjQsIDE1NCwgNSwgNzUsIDExLCAyNCwgMTU0LCA1LCAyNDIsIDEzOSwgCisgICAgMTEsIDI0LCAxNTQsIDUsIDI0MSwgNTUsIDExLCAyNCwgMTU0LCA1LCAyMzksIDE1NSwgMTEsIDI0LCAxNTQsIDUsIDc0LCAKKyAgICAxMSwgMjQsIDE1NCwgNSwgMjMyLCAyMDMsIDExLCAyNCwgMTU0LCA1LCAyMzIsIDc2LCAxMSwgMjQsIDE1NCwgNSwgMTQ5LCAKKyAgICAxMSwgMjQsIDE1NCwgNSwgMjI5LCAyOCwgMTEsIDI0LCAxNTQsIDUsIDIyNiwgMzMsIDExLCAyNCwgMTU0LCA1LCA3NiwgMTEsIAorICAgIDI0LCAxNTQsIDUsIDIyMiwgNjcsIDExLCAyNCwgMTU0LCA1LCAyMjAsIDI3LCAxMSwgMjQsIDE1NCwgNSwgMTM3LCAxMSwgCisgICAgMjQsIDE1NCwgNSwgMTgyLCAxMSwgMjQsIDE1NCwgNSwgMjEzLCAxMCwgMTEsIDI0LCAxNTQsIDUsIDcxLCAxMSwgMjQsIAorICAgIDE1NCwgNSwgMjA5LCAxNDgsIDExLCAyNCwgMTU0LCA1LCAyMDcsIDEyOSwgMTEsIDI0LCAxNTQsIDUsIDIwNiwgMTk1LCAxMSwgCisgICAgMjQsIDE1NCwgNSwgMjA2LCAxMjMsIDExLCAyNCwgMTU0LCA1LCAyMDUsIDE1OSwgMTEsIDM4LCA2LCA2MiwgMTEsIDM4LCA2LCAKKyAgICAyNTEsIDE1MCwgMTEsIDM4LCA2LCAyNDksIDM0LCAxMSwgMzgsIDYsIDI0NiwgMjQwLCAxMSwgMzgsIDYsIDc1LCAxMSwgMzgsIAorICAgIDYsIDI0MiwgMTM5LCAxMSwgMzgsIDYsIDI0MSwgNTUsIDExLCAzOCwgNiwgMjM5LCAxNTUsIDExLCAzOCwgNiwgNzQsIDExLCAKKyAgICAzOCwgNiwgMjMyLCAyMDMsIDExLCAzOCwgNiwgMjMyLCA3NiwgMTEsIDM4LCA2LCAxNDksIDExLCAzOCwgNiwgMjI5LCAyOCwgCisgICAgMTEsIDM4LCA2LCAyMjYsIDMzLCAxMSwgMzgsIDYsIDc2LCAxMSwgMzgsIDYsIDIyMiwgNjcsIDExLCAzOCwgNiwgMjIwLCAKKyAgICAyNywgMTEsIDM4LCA2LCAxMzcsIDExLCAzOCwgNiwgMTgyLCAxMSwgMzgsIDYsIDIxMywgMTAsIDExLCAzOCwgNiwgNzEsIAorICAgIDExLCAzOCwgNiwgMjA5LCAxNDgsIDExLCAzOCwgNiwgMjA3LCAxMjksIDExLCAzOCwgNiwgMjA2LCAxOTUsIDExLCAzOCwgNiwgCisgICAgMjA2LCAxMjMsIDExLCAzOCwgNiwgMjA1LCAxNTksIDExLCAzOCwgNSwgNjIsIDExLCAzOCwgNSwgMjUxLCAxNTAsIDExLCAKKyAgICAzOCwgNSwgMjQ5LCAzNCwgMTEsIDM4LCA1LCAyNDYsIDI0MCwgMTEsIDM4LCA1LCA3NSwgMTEsIDM4LCA1LCAyNDIsIDEzOSwgCisgICAgMTEsIDM4LCA1LCAyNDEsIDU1LCAxMSwgMzgsIDUsIDIzOSwgMTU1LCAxMSwgMzgsIDUsIDc0LCAxMSwgMzgsIDUsIDIzMiwgCisgICAgMjAzLCAxMSwgMzgsIDUsIDIzMiwgNzYsIDExLCAzOCwgNSwgMTQ5LCAxMSwgMzgsIDUsIDIyOSwgMjgsIDExLCAzOCwgNSwgCisgICAgMjI2LCAzMywgMTEsIDM4LCA1LCA3NiwgMTEsIDM4LCA1LCAyMjIsIDY3LCAxMSwgMzgsIDUsIDIyMCwgMjcsIDExLCAzOCwgCisgICAgNSwgMTM3LCAxMSwgMzgsIDUsIDE4MiwgMTEsIDM4LCA1LCAyMTMsIDEwLCAxMSwgMzgsIDUsIDcxLCAxMSwgMzgsIDUsIAorICAgIDIwOSwgMTQ4LCAxMSwgMzgsIDUsIDIwNywgMTI5LCAxMSwgMzgsIDUsIDIwNiwgMTk1LCAxMSwgMzgsIDUsIDIwNiwgMTIzLCAKKyAgICAxMSwgMzgsIDUsIDIwNSwgMTU5LCAxMSwgMzgsIDI0LCA2LCA2MiwgMTEsIDM4LCAyNCwgNiwgMjUxLCAxNTAsIDExLCAzOCwgCisgICAgMjQsIDYsIDI0OSwgMzQsIDExLCAzOCwgMjQsIDYsIDI0NiwgMjQwLCAxMSwgMzgsIDI0LCA2LCA3NSwgMTEsIDM4LCAyNCwgCisgICAgNiwgMjQyLCAxMzksIDExLCAzOCwgMjQsIDYsIDI0MSwgNTUsIDExLCAzOCwgMjQsIDYsIDIzOSwgMTU1LCAxMSwgMzgsIDI0LCAKKyAgICA2LCA3NCwgMTEsIDM4LCAyNCwgNiwgMjMyLCAyMDMsIDExLCAzOCwgMjQsIDYsIDIzMiwgNzYsIDExLCAzOCwgMjQsIDYsIAorICAgIDE0OSwgMTEsIDM4LCAyNCwgNiwgMjI5LCAyOCwgMTEsIDM4LCAyNCwgNiwgMjI2LCAzMywgMTEsIDM4LCAyNCwgNiwgNzYsIAorICAgIDExLCAzOCwgMjQsIDYsIDIyMiwgNjcsIDExLCAzOCwgMjQsIDYsIDIyMCwgMjcsIDExLCAzOCwgMjQsIDYsIDEzNywgMTEsIAorICAgIDM4LCAyNCwgNiwgMTgyLCAxMSwgMzgsIDI0LCA2LCAyMTMsIDEwLCAxMSwgMzgsIDI0LCA2LCA3MSwgMTEsIDM4LCAyNCwgNiwgCisgICAgMjA5LCAxNDgsIDExLCAzOCwgMjQsIDYsIDIwNywgMTI5LCAxMSwgMzgsIDI0LCA2LCAyMDYsIDE5NSwgMTEsIDM4LCAyNCwgCisgICAgNiwgMjA2LCAxMjMsIDExLCAzOCwgMjQsIDYsIDIwNSwgMTU5LCAxMSwgMzgsIDI0LCA1LCA2MiwgMTEsIDM4LCAyNCwgNSwgCisgICAgMjUxLCAxNTAsIDExLCAzOCwgMjQsIDUsIDI0OSwgMzQsIDExLCAzOCwgMjQsIDUsIDI0NiwgMjQwLCAxMSwgMzgsIDI0LCA1LCAKKyAgICA3NSwgMTEsIDM4LCAyNCwgNSwgMjQyLCAxMzksIDExLCAzOCwgMjQsIDUsIDI0MSwgNTUsIDExLCAzOCwgMjQsIDUsIDIzOSwgCisgICAgMTU1LCAxMSwgMzgsIDI0LCA1LCA3NCwgMTEsIDM4LCAyNCwgNSwgMjMyLCAyMDMsIDExLCAzOCwgMjQsIDUsIDIzMiwgNzYsIAorICAgIDExLCAzOCwgMjQsIDUsIDE0OSwgMTEsIDM4LCAyNCwgNSwgMjI5LCAyOCwgMTEsIDM4LCAyNCwgNSwgMjI2LCAzMywgMTEsIAorICAgIDM4LCAyNCwgNSwgNzYsIDExLCAzOCwgMjQsIDUsIDIyMiwgNjcsIDExLCAzOCwgMjQsIDUsIDIyMCwgMjcsIDExLCAzOCwgCisgICAgMjQsIDUsIDEzNywgMTEsIDM4LCAyNCwgNSwgMTgyLCAxMSwgMzgsIDI0LCA1LCAyMTMsIDEwLCAxMSwgMzgsIDI0LCA1LCAKKyAgICA3MSwgMTEsIDM4LCAyNCwgNSwgMjA5LCAxNDgsIDExLCAzOCwgMjQsIDUsIDIwNywgMTI5LCAxMSwgMzgsIDI0LCA1LCAyMDYsIAorICAgIDE5NSwgMTEsIDM4LCAyNCwgNSwgMjA2LCAxMjMsIDExLCAzOCwgMjQsIDUsIDIwNSwgMTU5LCAxMSwgMzgsIDM1LCA2LCA2MiwgCisgICAgMTEsIDM4LCAzNSwgNiwgMjUxLCAxNTAsIDExLCAzOCwgMzUsIDYsIDI0OSwgMzQsIDExLCAzOCwgMzUsIDYsIDI0NiwgMjQwLCAKKyAgICAxMSwgMzgsIDM1LCA2LCA3NSwgMTEsIDM4LCAzNSwgNiwgMjQyLCAxMzksIDExLCAzOCwgMzUsIDYsIDI0MSwgNTUsIDExLCAKKyAgICAzOCwgMzUsIDYsIDIzOSwgMTU1LCAxMSwgMzgsIDM1LCA2LCA3NCwgMTEsIDM4LCAzNSwgNiwgMjMyLCAyMDMsIDExLCAzOCwgCisgICAgMzUsIDYsIDIzMiwgNzYsIDExLCAzOCwgMzUsIDYsIDE0OSwgMTEsIDM4LCAzNSwgNiwgMjI5LCAyOCwgMTEsIDM4LCAzNSwgCisgICAgNiwgMjI2LCAzMywgMTEsIDM4LCAzNSwgNiwgNzYsIDExLCAzOCwgMzUsIDYsIDIyMiwgNjcsIDExLCAzOCwgMzUsIDYsIAorICAgIDIyMCwgMjcsIDExLCAzOCwgMzUsIDYsIDEzNywgMTEsIDM4LCAzNSwgNiwgMTgyLCAxMSwgMzgsIDM1LCA2LCAyMTMsIDEwLCAKKyAgICAxMSwgMzgsIDM1LCA2LCA3MSwgMTEsIDM4LCAzNSwgNiwgMjA5LCAxNDgsIDExLCAzOCwgMzUsIDYsIDIwNywgMTI5LCAxMSwgCisgICAgMzgsIDM1LCA2LCAyMDYsIDE5NSwgMTEsIDM4LCAzNSwgNiwgMjA2LCAxMjMsIDExLCAzOCwgMzUsIDYsIDIwNSwgMTU5LCAKKyAgICAxMSwgMzgsIDM1LCA1LCA2MiwgMTEsIDM4LCAzNSwgNSwgMjUxLCAxNTAsIDExLCAzOCwgMzUsIDUsIDI0OSwgMzQsIDExLCAKKyAgICAzOCwgMzUsIDUsIDI0NiwgMjQwLCAxMSwgMzgsIDM1LCA1LCA3NSwgMTEsIDM4LCAzNSwgNSwgMjQyLCAxMzksIDExLCAzOCwgCisgICAgMzUsIDUsIDI0MSwgNTUsIDExLCAzOCwgMzUsIDUsIDIzOSwgMTU1LCAxMSwgMzgsIDM1LCA1LCA3NCwgMTEsIDM4LCAzNSwgCisgICAgNSwgMjMyLCAyMDMsIDExLCAzOCwgMzUsIDUsIDIzMiwgNzYsIDExLCAzOCwgMzUsIDUsIDE0OSwgMTEsIDM4LCAzNSwgNSwgCisgICAgMjI5LCAyOCwgMTEsIDM4LCAzNSwgNSwgMjI2LCAzMywgMTEsIDM4LCAzNSwgNSwgNzYsIDExLCAzOCwgMzUsIDUsIDIyMiwgCisgICAgNjcsIDExLCAzOCwgMzUsIDUsIDIyMCwgMjcsIDExLCAzOCwgMzUsIDUsIDEzNywgMTEsIDM4LCAzNSwgNSwgMTgyLCAxMSwgCisgICAgMzgsIDM1LCA1LCAyMTMsIDEwLCAxMSwgMzgsIDM1LCA1LCA3MSwgMTEsIDM4LCAzNSwgNSwgMjA5LCAxNDgsIDExLCAzOCwgCisgICAgMzUsIDUsIDIwNywgMTI5LCAxMSwgMzgsIDM1LCA1LCAyMDYsIDE5NSwgMTEsIDM4LCAzNSwgNSwgMjA2LCAxMjMsIDExLCAKKyAgICAzOCwgMzUsIDUsIDIwNSwgMTU5LCAxMSwgMzgsIDI0LCAzNSwgNiwgNjIsIDExLCAzOCwgMjQsIDM1LCA2LCAyNTEsIDE1MCwgCisgICAgMTEsIDM4LCAyNCwgMzUsIDYsIDI0OSwgMzQsIDExLCAzOCwgMjQsIDM1LCA2LCAyNDYsIDI0MCwgMTEsIDM4LCAyNCwgMzUsIAorICAgIDYsIDc1LCAxMSwgMzgsIDI0LCAzNSwgNiwgMjQyLCAxMzksIDExLCAzOCwgMjQsIDM1LCA2LCAyNDEsIDU1LCAxMSwgMzgsIAorICAgIDI0LCAzNSwgNiwgMjM5LCAxNTUsIDExLCAzOCwgMjQsIDM1LCA2LCA3NCwgMTEsIDM4LCAyNCwgMzUsIDYsIDIzMiwgMjAzLCAKKyAgICAxMSwgMzgsIDI0LCAzNSwgNiwgMjMyLCA3NiwgMTEsIDM4LCAyNCwgMzUsIDYsIDE0OSwgMTEsIDM4LCAyNCwgMzUsIDYsIAorICAgIDIyOSwgMjgsIDExLCAzOCwgMjQsIDM1LCA2LCAyMjYsIDMzLCAxMSwgMzgsIDI0LCAzNSwgNiwgNzYsIDExLCAzOCwgMjQsIAorICAgIDM1LCA2LCAyMjIsIDY3LCAxMSwgMzgsIDI0LCAzNSwgNiwgMjIwLCAyNywgMTEsIDM4LCAyNCwgMzUsIDYsIDEzNywgMTEsIAorICAgIDM4LCAyNCwgMzUsIDYsIDE4MiwgMTEsIDM4LCAyNCwgMzUsIDYsIDIxMywgMTAsIDExLCAzOCwgMjQsIDM1LCA2LCA3MSwgCisgICAgMTEsIDM4LCAyNCwgMzUsIDYsIDIwOSwgMTQ4LCAxMSwgMzgsIDI0LCAzNSwgNiwgMjA3LCAxMjksIDExLCAzOCwgMjQsIDM1LCAKKyAgICA2LCAyMDYsIDE5NSwgMTEsIDM4LCAyNCwgMzUsIDYsIDIwNiwgMTIzLCAxMSwgMzgsIDI0LCAzNSwgNiwgMjA1LCAxNTksIAorICAgIDExLCAzOCwgMjQsIDM1LCA1LCA2MiwgMTEsIDM4LCAyNCwgMzUsIDUsIDI1MSwgMTUwLCAxMSwgMzgsIDI0LCAzNSwgNSwgCisgICAgMjQ5LCAzNCwgMTEsIDM4LCAyNCwgMzUsIDUsIDI0NiwgMjQwLCAxMSwgMzgsIDI0LCAzNSwgNSwgNzUsIDExLCAzOCwgMjQsIAorICAgIDM1LCA1LCAyNDIsIDEzOSwgMTEsIDM4LCAyNCwgMzUsIDUsIDI0MSwgNTUsIDExLCAzOCwgMjQsIDM1LCA1LCAyMzksIDE1NSwgCisgICAgMTEsIDM4LCAyNCwgMzUsIDUsIDc0LCAxMSwgMzgsIDI0LCAzNSwgNSwgMjMyLCAyMDMsIDExLCAzOCwgMjQsIDM1LCA1LCAKKyAgICAyMzIsIDc2LCAxMSwgMzgsIDI0LCAzNSwgNSwgMTQ5LCAxMSwgMzgsIDI0LCAzNSwgNSwgMjI5LCAyOCwgMTEsIDM4LCAyNCwgCisgICAgMzUsIDUsIDIyNiwgMzMsIDExLCAzOCwgMjQsIDM1LCA1LCA3NiwgMTEsIDM4LCAyNCwgMzUsIDUsIDIyMiwgNjcsIDExLCAKKyAgICAzOCwgMjQsIDM1LCA1LCAyMjAsIDI3LCAxMSwgMzgsIDI0LCAzNSwgNSwgMTM3LCAxMSwgMzgsIDI0LCAzNSwgNSwgMTgyLCAKKyAgICAxMSwgMzgsIDI0LCAzNSwgNSwgMjEzLCAxMCwgMTEsIDM4LCAyNCwgMzUsIDUsIDcxLCAxMSwgMzgsIDI0LCAzNSwgNSwgCisgICAgMjA5LCAxNDgsIDExLCAzOCwgMjQsIDM1LCA1LCAyMDcsIDEyOSwgMTEsIDM4LCAyNCwgMzUsIDUsIDIwNiwgMTk1LCAxMSwgCisgICAgMzgsIDI0LCAzNSwgNSwgMjA2LCAxMjMsIDExLCAzOCwgMjQsIDM1LCA1LCAyMDUsIDE1OSwgMTEsIDIyNiwgMTU2LCA2LCAKKyAgICA2MiwgMTEsIDIyNiwgMTU2LCA2LCAyNTEsIDE1MCwgMTEsIDIyNiwgMTU2LCA2LCAyNDksIDM0LCAxMSwgMjI2LCAxNTYsIDYsIAorICAgIDI0NiwgMjQwLCAxMSwgMjI2LCAxNTYsIDYsIDc1LCAxMSwgMjI2LCAxNTYsIDYsIDI0MiwgMTM5LCAxMSwgMjI2LCAxNTYsIAorICAgIDYsIDI0MSwgNTUsIDExLCAyMjYsIDE1NiwgNiwgMjM5LCAxNTUsIDExLCAyMjYsIDE1NiwgNiwgNzQsIDExLCAyMjYsIDE1NiwgCisgICAgNiwgMjMyLCAyMDMsIDExLCAyMjYsIDE1NiwgNiwgMjMyLCA3NiwgMTEsIDIyNiwgMTU2LCA2LCAxNDksIDExLCAyMjYsIAorICAgIDE1NiwgNiwgMjI5LCAyOCwgMTEsIDIyNiwgMTU2LCA2LCAyMjYsIDMzLCAxMSwgMjI2LCAxNTYsIDYsIDc2LCAxMSwgMjI2LCAKKyAgICAxNTYsIDYsIDIyMiwgNjcsIDExLCAyMjYsIDE1NiwgNiwgMjIwLCAyNywgMTEsIDIyNiwgMTU2LCA2LCAxMzcsIDExLCAyMjYsIAorICAgIDE1NiwgNiwgMTgyLCAxMSwgMjI2LCAxNTYsIDYsIDIxMywgMTAsIDExLCAyMjYsIDE1NiwgNiwgNzEsIDExLCAyMjYsIDE1NiwgCisgICAgNiwgMjA5LCAxNDgsIDExLCAyMjYsIDE1NiwgNiwgMjA3LCAxMjksIDExLCAyMjYsIDE1NiwgNiwgMjA2LCAxOTUsIDExLCAKKyAgICAyMjYsIDE1NiwgNiwgMjA2LCAxMjMsIDExLCAyMjYsIDE1NiwgNiwgMjA1LCAxNTksIDExLCAyMjYsIDE1NiwgNSwgNjIsIAorICAgIDExLCAyMjYsIDE1NiwgNSwgMjUxLCAxNTAsIDExLCAyMjYsIDE1NiwgNSwgMjQ5LCAzNCwgMTEsIDIyNiwgMTU2LCA1LCAKKyAgICAyNDYsIDI0MCwgMTEsIDIyNiwgMTU2LCA1LCA3NSwgMTEsIDIyNiwgMTU2LCA1LCAyNDIsIDEzOSwgMTEsIDIyNiwgMTU2LCAKKyAgICA1LCAyNDEsIDU1LCAxMSwgMjI2LCAxNTYsIDUsIDIzOSwgMTU1LCAxMSwgMjI2LCAxNTYsIDUsIDc0LCAxMSwgMjI2LCAxNTYsIAorICAgIDUsIDIzMiwgMjAzLCAxMSwgMjI2LCAxNTYsIDUsIDIzMiwgNzYsIDExLCAyMjYsIDE1NiwgNSwgMTQ5LCAxMSwgMjI2LCAKKyAgICAxNTYsIDUsIDIyOSwgMjgsIDExLCAyMjYsIDE1NiwgNSwgMjI2LCAzMywgMTEsIDIyNiwgMTU2LCA1LCA3NiwgMTEsIDIyNiwgCisgICAgMTU2LCA1LCAyMjIsIDY3LCAxMSwgMjI2LCAxNTYsIDUsIDIyMCwgMjcsIDExLCAyMjYsIDE1NiwgNSwgMTM3LCAxMSwgMjI2LCAKKyAgICAxNTYsIDUsIDE4MiwgMTEsIDIyNiwgMTU2LCA1LCAyMTMsIDEwLCAxMSwgMjI2LCAxNTYsIDUsIDcxLCAxMSwgMjI2LCAxNTYsIAorICAgIDUsIDIwOSwgMTQ4LCAxMSwgMjI2LCAxNTYsIDUsIDIwNywgMTI5LCAxMSwgMjI2LCAxNTYsIDUsIDIwNiwgMTk1LCAxMSwgCisgICAgMjI2LCAxNTYsIDUsIDIwNiwgMTIzLCAxMSwgMjI2LCAxNTYsIDUsIDIwNSwgMTU5LCAxMSwgMzUsIDUsIDI0NSwgMjIsIDc0LCAKKyAgICAxMSwgMzUsIDUsIDI0NSwgMjIsIDIzMiwgMjAzLCAxMSwgMjQsIDYsIDI1MiwgMTQ0LCAxMSwgMjQsIDYsIDI1MCwgOCwgMTEsIAorICAgIDI0LCA2LCAyNDAsIDIxNSwgMTEsIDI0LCA2LCAyNDUsIDIyNywgMTEsIDI0LCA2LCAyNDIsIDI0NCwgMTEsIDI0LCA2LCAKKyAgICAyMDUsIDg0LCAxMSwgMjQsIDYsIDI0MiwgMjAxLCAxMSwgMjQsIDYsIDIxMiwgMjMsIDExLCAyNCwgNiwgMjMyLCAyNDksIAorICAgIDExLCAyNCwgNiwgMjMyLCAxNCwgMTEsIDI0LCA2LCAyMzAsIDEwMiwgMTEsIDI0LCA2LCAyMjYsIDExNCwgMTEsIDI0LCA2LCAKKyAgICAyMjMsIDIxNywgMTEsIDI0LCA2LCAyMDYsIDE2OSwgMTEsIDI0LCA2LCAyMjIsIDE2OCwgMTEsIDI0LCA2LCAyMjEsIDUzLCAKKyAgICAxMSwgMjQsIDYsIDIxOCwgMjEwLCAxMSwgMjQsIDYsIDIxMiwgMjQsIDkzLCAxMSwgMjQsIDYsIDIxNSwgNjMsIDExLCAyNCwgCisgICAgNiwgMjEyLCAxNTEsIDExLCAyNCwgNiwgMjA5LCAyMDAsIDExLCAyNCwgNiwgMjIxLCA3OCwgMTEsIDI0LCA2LCAyNDgsIDU4LCAKKyAgICAxMSwgMjQsIDYsIDIyMCwgOTMsIDExLCAyNCwgNiwgMjIyLCAxNzAsIDExLCAyNCwgMjI1LCAyMjcsIDExLCAyNCwgNSwgCisgICAgMjUyLCAxNDQsIDExLCAyNCwgNSwgMjUwLCA4LCAxMSwgMjQsIDUsIDI0MCwgMjE1LCAxMSwgMjQsIDUsIDI0NSwgMjI3LCAKKyAgICAxMSwgMjQsIDUsIDI0MiwgMjQ0LCAxMSwgMjQsIDUsIDIwNSwgODQsIDExLCAyNCwgNSwgMjQyLCAyMDEsIDExLCAyNCwgNSwgCisgICAgMjEyLCAyMywgMTEsIDI0LCA1LCAyMzIsIDI0OSwgMTEsIDI0LCA1LCAyMzIsIDE0LCAxMSwgMjQsIDUsIDIzMCwgMTAyLCAKKyAgICAxMSwgMjQsIDUsIDIyNiwgMTE0LCAxMSwgMjQsIDUsIDIyMywgMjE3LCAxMSwgMjQsIDUsIDIwNiwgMTY5LCAxMSwgMjQsIDUsIAorICAgIDIyMiwgMTY4LCAxMSwgMjQsIDUsIDIyMSwgNTMsIDExLCAyNCwgNSwgMjE4LCAyMTAsIDExLCAyNCwgNSwgNDIsIDIxNSwgCisgICAgNjMsIDExLCAyNCwgNSwgMjE1LCA2MywgMTEsIDI0LCA1LCAyMTIsIDE1MSwgMTEsIDI0LCA1LCAyMDksIDIwMCwgMTEsIDI0LCAKKyAgICA1LCAyMjEsIDc4LCAxMSwgMjQsIDUsIDI0OCwgNTgsIDExLCAyNCwgNSwgMjIwLCA5MywgMTEsIDI0LCA1LCAyMjIsIDE3MCwgCisgICAgMTEsIDI0LCAyMjEsIDIwOSwgMjQ1LCAxNDAsIDExLCAyNCwgMjQyLCAyNDUsIDkzLCAxMSwgMjQsIDIxMiwgMjQsIDkzLCAKKyAgICAxMSwgMjQsIDIzMiwgMTUsIDkzLCAxMSwgMjQsIDIyMSwgNzksIDkzLCAxMSwgMjQsIDIxOCwgMjExLCA5MywgMTEsIDI0LCAKKyAgICAyMjEsIDU0LCA5MywgMTEsIDM1LCA2LCAyNTIsIDE0NCwgMTEsIDM1LCA2LCAyNTAsIDgsIDExLCAzNSwgNiwgMjQwLCAyMTUsIAorICAgIDExLCAzNSwgNiwgMjQ1LCAyMjcsIDExLCAzNSwgNiwgMjQyLCAyNDQsIDExLCAzNSwgNiwgMjA1LCA4NCwgMTEsIDM1LCA2LCAKKyAgICAyNDIsIDIwMSwgMTEsIDM1LCA2LCAyMTIsIDIzLCAxMSwgMzUsIDYsIDIzMiwgMjQ5LCAxMSwgMzUsIDYsIDIzMiwgMTQsIAorICAgIDExLCAzNSwgNiwgMjMwLCAxMDIsIDExLCAzNSwgNiwgMjI2LCAxMTQsIDExLCAzNSwgNiwgMjIzLCAyMTcsIDExLCAzNSwgNiwgCisgICAgMjA2LCAxNjksIDExLCAzNSwgNiwgMjIyLCAxNjgsIDExLCAzNSwgNiwgMjIxLCA1MywgMTEsIDM1LCA2LCAyMTgsIDIxMCwgCisgICAgMTEsIDM1LCA2LCAyMTIsIDI0LCA5MywgMTEsIDM1LCA2LCAyMTUsIDYzLCAxMSwgMzUsIDYsIDIxMiwgMTUxLCAxMSwgMzUsIAorICAgIDYsIDIwOSwgMjAwLCAxMSwgMzUsIDYsIDIyMSwgNzgsIDExLCAzNSwgNiwgMjQ4LCA1OCwgMTEsIDM1LCA2LCAyMjAsIDkzLCAKKyAgICAxMSwgMzUsIDYsIDIyMiwgMTcwLCAxMSwgMzUsIDIyNSwgMjI3LCAxMSwgMzUsIDUsIDI1MiwgMTQ0LCAxMSwgMzUsIDUsIAorICAgIDI1MCwgOCwgMTEsIDM1LCA1LCAyNDAsIDIxNSwgMTEsIDM1LCA1LCAyNDUsIDIyNywgMTEsIDM1LCA1LCAyNDIsIDI0NCwgCisgICAgMTEsIDM1LCA1LCAyMDUsIDg0LCAxMSwgMzUsIDUsIDI0MiwgMjAxLCAxMSwgMzUsIDUsIDIxMiwgMjMsIDExLCAzNSwgNSwgCisgICAgMjMyLCAyNDksIDExLCAzNSwgNSwgMjMyLCAxNCwgMTEsIDM1LCA1LCAyMzAsIDEwMiwgMTEsIDM1LCA1LCAyMjYsIDExNCwgCisgICAgMTEsIDM1LCA1LCAyMjMsIDIxNywgMTEsIDM1LCA1LCAyMDYsIDE2OSwgMTEsIDM1LCA1LCAyMjIsIDE2OCwgMTEsIDM1LCA1LCAKKyAgICAyMjEsIDUzLCAxMSwgMzUsIDUsIDIxOCwgMjEwLCAxMSwgMzUsIDUsIDQyLCAyMTUsIDYzLCAxMSwgMzUsIDUsIDIxNSwgNjMsIAorICAgIDExLCAzNSwgNSwgMjEyLCAxNTEsIDExLCAzNSwgNSwgMjA5LCAyMDAsIDExLCAzNSwgNSwgMjIxLCA3OCwgMTEsIDM1LCA1LCAKKyAgICAyNDgsIDU4LCAxMSwgMzUsIDUsIDIyMCwgOTMsIDExLCAzNSwgNSwgMjIyLCAxNzAsIDExLCAzNSwgMjIxLCAyMDksIDI0NSwgCisgICAgMTQwLCAxMSwgMzUsIDI0MiwgMjQ1LCA5MywgMTEsIDM1LCAyMTIsIDI0LCA5MywgMTEsIDM1LCAyMzIsIDE1LCA5MywgMTEsIAorICAgIDM1LCAyMjEsIDc5LCA5MywgMTEsIDM1LCAyMTgsIDIxMSwgOTMsIDExLCAzNSwgMjIxLCA1NCwgOTMsIDExLCAyNCwgMzUsIAorICAgIDYsIDI1MiwgMTQ0LCAxMSwgMjQsIDM1LCA2LCAyNTAsIDgsIDExLCAyNCwgMzUsIDYsIDI0MCwgMjE1LCAxMSwgMjQsIDM1LCAKKyAgICA2LCAyNDUsIDIyNywgMTEsIDI0LCAzNSwgNiwgMjQyLCAyNDQsIDExLCAyNCwgMzUsIDYsIDIwNSwgODQsIDExLCAyNCwgMzUsIAorICAgIDYsIDI0MiwgMjAxLCAxMSwgMjQsIDM1LCA2LCAyMTIsIDIzLCAxMSwgMjQsIDM1LCA2LCAyMzIsIDI0OSwgMTEsIDI0LCAzNSwgCisgICAgNiwgMjMyLCAxNCwgMTEsIDI0LCAzNSwgNiwgMjMwLCAxMDIsIDExLCAyNCwgMzUsIDYsIDIyNiwgMTE0LCAxMSwgMjQsIDM1LCAKKyAgICA2LCAyMjMsIDIxNywgMTEsIDI0LCAzNSwgNiwgMjA2LCAxNjksIDExLCAyNCwgMzUsIDYsIDIyMiwgMTY4LCAxMSwgMjQsIAorICAgIDM1LCA2LCAyMjEsIDUzLCAxMSwgMjQsIDM1LCA2LCAyMTgsIDIxMCwgMTEsIDI0LCAzNSwgNiwgMjEyLCAyNCwgOTMsIDExLCAKKyAgICAyNCwgMzUsIDYsIDIxNSwgNjMsIDExLCAyNCwgMzUsIDYsIDIxMiwgMTUxLCAxMSwgMjQsIDM1LCA2LCAyMDksIDIwMCwgMTEsIAorICAgIDI0LCAzNSwgNiwgMjIxLCA3OCwgMTEsIDI0LCAzNSwgNiwgMjQ4LCA1OCwgMTEsIDI0LCAzNSwgNiwgMjIwLCA5MywgMTEsIAorICAgIDI0LCAzNSwgNiwgMjIyLCAxNzAsIDExLCAyNCwgMzUsIDIyNSwgMjI3LCAxMSwgMjQsIDM1LCA1LCAyNTIsIDE0NCwgMTEsIAorICAgIDI0LCAzNSwgNSwgMjUwLCA4LCAxMSwgMjQsIDM1LCA1LCAyNDAsIDIxNSwgMTEsIDI0LCAzNSwgNSwgMjQ1LCAyMjcsIDExLCAKKyAgICAyNCwgMzUsIDUsIDI0MiwgMjQ0LCAxMSwgMjQsIDM1LCA1LCAyMDUsIDg0LCAxMSwgMjQsIDM1LCA1LCAyNDIsIDIwMSwgMTEsIAorICAgIDI0LCAzNSwgNSwgMjEyLCAyMywgMTEsIDI0LCAzNSwgNSwgMjMyLCAyNDksIDExLCAyNCwgMzUsIDUsIDIzMiwgMTQsIDExLCAKKyAgICAyNCwgMzUsIDUsIDIzMCwgMTAyLCAxMSwgMjQsIDM1LCA1LCAyMjYsIDExNCwgMTEsIDI0LCAzNSwgNSwgMjIzLCAyMTcsIAorICAgIDExLCAyNCwgMzUsIDUsIDIwNiwgMTY5LCAxMSwgMjQsIDM1LCA1LCAyMjIsIDE2OCwgMTEsIDI0LCAzNSwgNSwgMjIxLCA1MywgCisgICAgMTEsIDI0LCAzNSwgNSwgMjE4LCAyMTAsIDExLCAyNCwgMzUsIDUsIDQyLCAyMTUsIDYzLCAxMSwgMjQsIDM1LCA1LCAyMTUsIAorICAgIDYzLCAxMSwgMjQsIDM1LCA1LCAyMTIsIDE1MSwgMTEsIDI0LCAzNSwgNSwgMjA5LCAyMDAsIDExLCAyNCwgMzUsIDUsIDIyMSwgCisgICAgNzgsIDExLCAyNCwgMzUsIDUsIDI0OCwgNTgsIDExLCAyNCwgMzUsIDUsIDIyMCwgOTMsIDExLCAyNCwgMzUsIDUsIDIyMiwgCisgICAgMTcwLCAxMSwgMjQsIDM1LCAyMjEsIDIwOSwgMjQ1LCAxNDAsIDExLCAyNCwgMzUsIDI0MiwgMjQ1LCA5MywgMTEsIDI0LCAKKyAgICAzNSwgMjEyLCAyNCwgOTMsIDExLCAyNCwgMzUsIDIzMiwgMTUsIDkzLCAxMSwgMjQsIDM1LCAyMjEsIDc5LCA5MywgMTEsIAorICAgIDI0LCAzNSwgMjE4LCAyMTEsIDkzLCAxMSwgMjQsIDM1LCAyMjEsIDU0LCA5MywgMTEsIDM4LCAyNCwgNiwgMjUyLCAxNDQsIAorICAgIDExLCAzOCwgMjQsIDYsIDI1MCwgOCwgMTEsIDM4LCAyNCwgNiwgMjQwLCAyMTUsIDExLCAzOCwgMjQsIDYsIDI0NSwgMjI3LCAKKyAgICAxMSwgMzgsIDI0LCA2LCAyNDIsIDI0NCwgMTEsIDM4LCAyNCwgNiwgMjA1LCA4NCwgMTEsIDM4LCAyNCwgNiwgMjQyLCAyMDEsIAorICAgIDExLCAzOCwgMjQsIDYsIDIxMiwgMjMsIDExLCAzOCwgMjQsIDYsIDIzMiwgMjQ5LCAxMSwgMzgsIDI0LCA2LCAyMzIsIDE0LCAKKyAgICAxMSwgMzgsIDI0LCA2LCAyMzAsIDEwMiwgMTEsIDM4LCAyNCwgNiwgMjI2LCAxMTQsIDExLCAzOCwgMjQsIDYsIDIyMywgCisgICAgMjE3LCAxMSwgMzgsIDI0LCA2LCAyMDYsIDE2OSwgMTEsIDM4LCAyNCwgNiwgMjIyLCAxNjgsIDExLCAzOCwgMjQsIDYsIAorICAgIDIyMSwgNTMsIDExLCAzOCwgMjQsIDYsIDIxOCwgMjEwLCAxMSwgMzgsIDI0LCA2LCAyMTIsIDI0LCA5MywgMTEsIDM4LCAyNCwgCisgICAgNiwgMjE1LCA2MywgMTEsIDM4LCAyNCwgNiwgMjEyLCAxNTEsIDExLCAzOCwgMjQsIDYsIDIwOSwgMjAwLCAxMSwgMzgsIDI0LCAKKyAgICA2LCAyMjEsIDc4LCAxMSwgMzgsIDI0LCA2LCAyNDgsIDU4LCAxMSwgMzgsIDI0LCA2LCAyMjAsIDkzLCAxMSwgMzgsIDI0LCAKKyAgICA2LCAyMjIsIDE3MCwgMTEsIDM4LCAyNCwgMjI1LCAyMjcsIDExLCAzOCwgMjQsIDUsIDI1MiwgMTQ0LCAxMSwgMzgsIDI0LCAKKyAgICA1LCAyNTAsIDgsIDExLCAzOCwgMjQsIDUsIDI0MCwgMjE1LCAxMSwgMzgsIDI0LCA1LCAyNDUsIDIyNywgMTEsIDM4LCAyNCwgCisgICAgNSwgMjQyLCAyNDQsIDExLCAzOCwgMjQsIDUsIDIwNSwgODQsIDExLCAzOCwgMjQsIDUsIDI0MiwgMjAxLCAxMSwgMzgsIDI0LCAKKyAgICA1LCAyMTIsIDIzLCAxMSwgMzgsIDI0LCA1LCAyMzIsIDI0OSwgMTEsIDM4LCAyNCwgNSwgMjMyLCAxNCwgMTEsIDM4LCAyNCwgCisgICAgNSwgMjMwLCAxMDIsIDExLCAzOCwgMjQsIDUsIDIyNiwgMTE0LCAxMSwgMzgsIDI0LCA1LCAyMjMsIDIxNywgMTEsIDM4LCAKKyAgICAyNCwgNSwgMjA2LCAxNjksIDExLCAzOCwgMjQsIDUsIDIyMiwgMTY4LCAxMSwgMzgsIDI0LCA1LCAyMjEsIDUzLCAxMSwgMzgsIAorICAgIDI0LCA1LCAyMTgsIDIxMCwgMTEsIDM4LCAyNCwgNSwgNDIsIDIxNSwgNjMsIDExLCAzOCwgMjQsIDUsIDIxNSwgNjMsIDExLCAKKyAgICAzOCwgMjQsIDUsIDIxMiwgMTUxLCAxMSwgMzgsIDI0LCA1LCAyMDksIDIwMCwgMTEsIDM4LCAyNCwgNSwgMjIxLCA3OCwgMTEsIAorICAgIDM4LCAyNCwgNSwgMjQ4LCA1OCwgMTEsIDM4LCAyNCwgNSwgMjIwLCA5MywgMTEsIDM4LCAyNCwgNSwgMjIyLCAxNzAsIDExLCAKKyAgICAzOCwgMjQsIDIyMSwgMjA5LCAyNDUsIDE0MCwgMTEsIDM4LCAyNCwgMjQyLCAyNDUsIDkzLCAxMSwgMzgsIDI0LCAyMTIsIAorICAgIDI0LCA5MywgMTEsIDM4LCAyNCwgMjMyLCAxNSwgOTMsIDExLCAzOCwgMjQsIDIyMSwgNzksIDkzLCAxMSwgMzgsIDI0LCAKKyAgICAyMTgsIDIxMSwgOTMsIDExLCAzOCwgMjQsIDIyMSwgNTQsIDkzLCAxMSwgMzgsIDI0LCAzNSwgNiwgMjUyLCAxNDQsIDExLCAKKyAgICAzOCwgMjQsIDM1LCA2LCAyNTAsIDgsIDExLCAzOCwgMjQsIDM1LCA2LCAyNDAsIDIxNSwgMTEsIDM4LCAyNCwgMzUsIDYsIAorICAgIDI0NSwgMjI3LCAxMSwgMzgsIDI0LCAzNSwgNiwgMjQyLCAyNDQsIDExLCAzOCwgMjQsIDM1LCA2LCAyMDUsIDg0LCAxMSwgCisgICAgMzgsIDI0LCAzNSwgNiwgMjQyLCAyMDEsIDExLCAzOCwgMjQsIDM1LCA2LCAyMTIsIDIzLCAxMSwgMzgsIDI0LCAzNSwgNiwgCisgICAgMjMyLCAyNDksIDExLCAzOCwgMjQsIDM1LCA2LCAyMzIsIDE0LCAxMSwgMzgsIDI0LCAzNSwgNiwgMjMwLCAxMDIsIDExLCAKKyAgICAzOCwgMjQsIDM1LCA2LCAyMjYsIDExNCwgMTEsIDM4LCAyNCwgMzUsIDYsIDIyMywgMjE3LCAxMSwgMzgsIDI0LCAzNSwgNiwgCisgICAgMjA2LCAxNjksIDExLCAzOCwgMjQsIDM1LCA2LCAyMjIsIDE2OCwgMTEsIDM4LCAyNCwgMzUsIDYsIDIyMSwgNTMsIDExLCAKKyAgICAzOCwgMjQsIDM1LCA2LCAyMTgsIDIxMCwgMTEsIDM4LCAyNCwgMzUsIDYsIDIxMiwgMjQsIDkzLCAxMSwgMzgsIDI0LCAzNSwgCisgICAgNiwgMjE1LCA2MywgMTEsIDM4LCAyNCwgMzUsIDYsIDIxMiwgMTUxLCAxMSwgMzgsIDI0LCAzNSwgNiwgMjA5LCAyMDAsIDExLCAKKyAgICAzOCwgMjQsIDM1LCA2LCAyMjEsIDc4LCAxMSwgMzgsIDI0LCAzNSwgNiwgMjQ4LCA1OCwgMTEsIDM4LCAyNCwgMzUsIDYsIAorICAgIDIyMCwgOTMsIDExLCAzOCwgMjQsIDM1LCA2LCAyMjIsIDE3MCwgMTEsIDM4LCAyNCwgMzUsIDIyNSwgMjI3LCAxMSwgMzgsIAorICAgIDI0LCAzNSwgNSwgMjUyLCAxNDQsIDExLCAzOCwgMjQsIDM1LCA1LCAyNTAsIDgsIDExLCAzOCwgMjQsIDM1LCA1LCAyNDAsIAorICAgIDIxNSwgMTEsIDM4LCAyNCwgMzUsIDUsIDI0NSwgMjI3LCAxMSwgMzgsIDI0LCAzNSwgNSwgMjQyLCAyNDQsIDExLCAzOCwgCisgICAgMjQsIDM1LCA1LCAyMDUsIDg0LCAxMSwgMzgsIDI0LCAzNSwgNSwgMjQyLCAyMDEsIDExLCAzOCwgMjQsIDM1LCA1LCAyMTIsIAorICAgIDIzLCAxMSwgMzgsIDI0LCAzNSwgNSwgMjMyLCAyNDksIDExLCAzOCwgMjQsIDM1LCA1LCAyMzIsIDE0LCAxMSwgMzgsIDI0LCAKKyAgICAzNSwgNSwgMjMwLCAxMDIsIDExLCAzOCwgMjQsIDM1LCA1LCAyMjYsIDExNCwgMTEsIDM4LCAyNCwgMzUsIDUsIDIyMywgCisgICAgMjE3LCAxMSwgMzgsIDI0LCAzNSwgNSwgMjA2LCAxNjksIDExLCAzOCwgMjQsIDM1LCA1LCAyMjIsIDE2OCwgMTEsIDM4LCAKKyAgICAyNCwgMzUsIDUsIDIyMSwgNTMsIDExLCAzOCwgMjQsIDM1LCA1LCAyMTgsIDIxMCwgMTEsIDM4LCAyNCwgMzUsIDUsIDQyLCAKKyAgICAyMTUsIDYzLCAxMSwgMzgsIDI0LCAzNSwgNSwgMjE1LCA2MywgMTEsIDM4LCAyNCwgMzUsIDUsIDIxMiwgMTUxLCAxMSwgMzgsIAorICAgIDI0LCAzNSwgNSwgMjA5LCAyMDAsIDExLCAzOCwgMjQsIDM1LCA1LCAyMjEsIDc4LCAxMSwgMzgsIDI0LCAzNSwgNSwgMjQ4LCAKKyAgICA1OCwgMTEsIDM4LCAyNCwgMzUsIDUsIDIyMCwgOTMsIDExLCAzOCwgMjQsIDM1LCA1LCAyMjIsIDE3MCwgMTEsIDM4LCAyNCwgCisgICAgMzUsIDIyMSwgMjA5LCAyNDUsIDE0MCwgMTEsIDM4LCAyNCwgMzUsIDI0MiwgMjQ1LCA5MywgMTEsIDM4LCAyNCwgMzUsIAorICAgIDIxMiwgMjQsIDkzLCAxMSwgMzgsIDI0LCAzNSwgMjMyLCAxNSwgOTMsIDExLCAzOCwgMjQsIDM1LCAyMjEsIDc5LCA5MywgCisgICAgMTEsIDM4LCAyNCwgMzUsIDIxOCwgMjExLCA5MywgMTEsIDM4LCAyNCwgMzUsIDIyMSwgNTQsIDkzLCAxMSwgMjQsIDYsIAorICAgIDI0NSwgMTM0LCAxMSwgMjQsIDUsIDI0NSwgMTM0LCAxMSwgMjQsIDE4LCAyMDUsIDg1LCAxMSwgMjQsIDE4LCAxMDIsIDExLCAKKyAgICAyNCwgMTgsIDEwNSwgMTEsIDI0LCAxOCwgMTQyLCAxMSwgMjQsIDE4LCAxMzksIDExLCAyNCwgMTgsIDE2OCwgMTEsIDI0LCAKKyAgICAxOCwgMTg0LCAxMSwgMjQsIDE4LCAxOTUsIDExLCAyNCwgMTgsIDE5MywgMTEsIDI0LCAxOCwgMjAwLCAxMSwgMTU5LCAxOCwgCisgICAgMjA1LCA4NSwgMTEsIDE1OSwgMTgsIDEwMiwgMTEsIDE1OSwgMTgsIDEwNSwgMTEsIDE1OSwgMTgsIDE0MiwgMTEsIDE1OSwgCisgICAgMTgsIDEzOSwgMTEsIDE1OSwgMTgsIDE2OCwgMTEsIDE1OSwgMTgsIDE4NCwgMTEsIDE1OSwgMTgsIDE5NSwgMTEsIDE1OSwgCisgICAgMTgsIDE5MywgMTEsIDE1OSwgMTgsIDIwMCwgMTEsIDM4LCAxOCwgMjA1LCA4NSwgMTEsIDM4LCAxOCwgMTAyLCAxMSwgMzgsIAorICAgIDE4LCAxMDUsIDExLCAzOCwgMTgsIDE0MiwgMTEsIDM4LCAxOCwgMTM5LCAxMSwgMzgsIDE4LCAxNjgsIDExLCAzOCwgMTgsIAorICAgIDE4NCwgMTEsIDM4LCAxOCwgMTk1LCAxMSwgMzgsIDE4LCAxOTMsIDExLCAzOCwgMTgsIDIwMCwgMTEsIDM4LCAyNCwgMTgsIAorICAgIDIwNSwgODUsIDExLCAzOCwgMjQsIDE4LCAxMDIsIDExLCAzOCwgMjQsIDE4LCAxMDUsIDExLCAzOCwgMjQsIDE4LCAxNDIsIAorICAgIDExLCAzOCwgMjQsIDE4LCAxMzksIDExLCAzOCwgMjQsIDE4LCAxNjgsIDExLCAzOCwgMjQsIDE4LCAxODQsIDExLCAzOCwgCisgICAgMjQsIDE4LCAxOTUsIDExLCAzOCwgMjQsIDE4LCAxOTMsIDExLCAzOCwgMjQsIDE4LCAyMDAsIDExLCAyMjYsIDE1NiwgMTgsIAorICAgIDIwNSwgODUsIDExLCAyMjYsIDE1NiwgMTgsIDEwMiwgMTEsIDIyNiwgMTU2LCAxOCwgMTA1LCAxMSwgMjI2LCAxNTYsIDE4LCAKKyAgICAxNDIsIDExLCAyMjYsIDE1NiwgMTgsIDEzOSwgMTEsIDIyNiwgMTU2LCAxOCwgMTY4LCAxMSwgMjI2LCAxNTYsIDE4LCAxODQsIAorICAgIDExLCAyMjYsIDE1NiwgMTgsIDE5NSwgMTEsIDIyNiwgMTU2LCAxOCwgMTkzLCAxMSwgMjI2LCAxNTYsIDE4LCAyMDAsIDcwLCAKKyAgICA2OSwgNCwgMjI5LCAyNywgMjMxLCAxMjMsIDcwLCA2OSwgNCwgMjI5LCAyMywgMTcyLCA3MCwgNjksIDQsIDIyOSwgMjEsIAorICAgIDIzMCwgMjM2LCA3MCwgNjksIDQsIDIyOCwgMTUzLCAyMzEsIDIyMSwgNzAsIDY5LCA0LCAyMjgsIDEyMywgMjMxLCAyMjQsIAorICAgIDcwLCA2OSwgNCwgMjI4LCAxNDIsIDIzMSwgMzMsIDcwLCA2OSwgNCwgMjI4LCAxNzAsIDIzMSwgNTMsIDcwLCA2OSwgNCwgCisgICAgMjI4LCAzOSwgMjMwLCAyMzAsIDcwLCA2OSwgNCwgMjI5LCAxOCwgMjA3LCAyMCwgNzAsIDY5LCA0LCAyMjksIDE2LCAyMDcsIAorICAgIDk2LCA3MCwgNjksIDQsIDIyOSwgMTQsIDIwNiwgMjE2LCA3MCwgNjksIDQsIDIyOCwgOTIsIDIwNywgNDUsIDcwLCA2OSwgNCwgCisgICAgMjI4LCAxMDAsIDIwNywgNTEsIDcwLCA2OSwgNCwgMjI4LCAxMDQsIDIwNiwgMjM4LCA3MCwgNjksIDQsIDIyOCwgMTczLCAKKyAgICAyMDYsIDI1MCwgNzAsIDY5LCA0LCAyMjgsIDI0LCAyMDYsIDIxMiwgNzAsIDY5LCA0LCAyMjgsIDc1LCAyMDcsIDQzLCA3MCwgCisgICAgNjksIDQsIDIyOCwgMTU3LCAyMDYsIDIwMCwgNzAsIDY5LCA0LCAyMjgsIDE2OSwgMjA2LCAyMDIsIDcwLCA2OSwgNCwgMjI4LCAKKyAgICA3OSwgMjA2LCAyMDEsIDcwLCA2OSwgNCwgMjI5LCAxMiwgMjI2LCAyMDksIDcwLCA2OSwgNCwgMjI5LCAxMCwgMjI3LCAyMjEsIAorICAgIDcwLCA2OSwgNCwgMjI5LCA4LCAyMjYsIDg5LCA3MCwgNjksIDQsIDIyOCwgMTU5LCAyMjcsIDgzLCA3MCwgNjksIDQsIDIyOCwgCisgICAgMTI0LCAyMjYsIDE2OCwgNzAsIDY5LCA0LCAyMjgsIDY0LCAyMjYsIDExMSwgNzAsIDY5LCA0LCAyMjgsIDI5LCAyMjYsIAorICAgIDEwNSwgNzAsIDY5LCA0LCAyMjksIDYsIDI0OSwgMjQ0LCA3MCwgNjksIDQsIDIyOSwgMywgMjUwLCAxODMsIDcwLCA2OSwgNCwgCisgICAgMjI5LCAxLCAyNDksIDEwMSwgNzAsIDY5LCA0LCAyMjgsIDY4LCAyNTAsIDUwLCA3MCwgNjksIDQsIDIyOCwgMTIxLCAyNTAsIAorICAgIDYxLCA3MCwgNjksIDQsIDIyOCwgMTE1LCAyNDksIDE3MiwgNzAsIDY5LCA0LCAyMjgsIDgwLCAyNDksIDE4NCwgNzAsIDY5LCAKKyAgICA0LCAyMjgsIDI0NywgNzQsIDcwLCA2OSwgNCwgMjI4LCAyNDUsIDYyLCA3MCwgNjksIDQsIDIyOCwgMjQzLCA3MSwgNzAsIAorICAgIDY5LCA0LCAyMjgsIDU1LCAyNDMsIDEwNCwgNzAsIDY5LCA0LCAyMjgsIDExOCwgNzUsIDcwLCA2OSwgNCwgMjI4LCA1MywgCisgICAgMjIyLCAxNTIsIDcwLCA2OSwgNCwgMjI4LCA3MSwgNzYsIDcwLCA2OSwgNCwgMjI4LCA4MSwgMjQzLCA5MCwgNzAsIDY5LCA0LCAKKyAgICAyMjgsIDg3LCAyMzMsIDY4LCA3MCwgNjksIDQsIDIyOCwgODMsIDIzMywgNjgsIDcwLCA2OSwgNCwgMjI4LCAyMywgMjUyLCAKKyAgICAxMjIsIDcwLCA2OSwgNCwgMjI4LCA0MCwgMjQzLCA0MSwgNzAsIDY5LCA0LCAyMjgsIDIzMiwgMjE1LCA4MCwgNzAsIDY5LCAKKyAgICA0LCAyMjgsIDIzMCwgMjE3LCAxOTksIDcwLCA2OSwgNCwgMjI4LCAyMjgsIDIxMywgMjAzLCA3MCwgNjksIDQsIDIyOCwgNTYsIAorICAgIDIxNywgNzQsIDcwLCA2OSwgNCwgMjI4LCAxMDIsIDIxNywgODYsIDcwLCA2OSwgNCwgMjI4LCA4MiwgMjE0LCAxNzQsIDcwLCAKKyAgICA2OSwgNCwgMjI4LCAxMzksIDIxNCwgMTkzLCA3MCwgNjksIDQsIDIyOCwgMjIsIDIxNSwgNzksIDcwLCA2OSwgNCwgMjI4LCAKKyAgICAyMTgsIDIyOSwgMjM1LCA3MCwgNjksIDQsIDIyOCwgMjE2LCAyMzAsIDE0MSwgNzAsIDY5LCA0LCAyMjgsIDIxNCwgMjI5LCAKKyAgICA4MSwgNzAsIDY5LCA0LCAyMjgsIDEzNCwgMjMwLCA1MCwgNzAsIDY5LCA0LCAyMjgsIDE0NSwgMjMwLCA1OCwgNzAsIDY5LCAKKyAgICA0LCAyMjgsIDE2NCwgMjI5LCAxMTUsIDcwLCA2OSwgNCwgMjI4LCA2NSwgMjI5LCAxNDQsIDcwLCA2OSwgNCwgMjI4LCAxMDgsIAorICAgIDE1MiwgMjMwLCA1OCwgNzAsIDY5LCA0LCAyMjgsIDI0MCwgMjQ1LCAxNjgsIDcwLCA2OSwgNCwgMjI4LCAyMzcsIDI0NiwgCisgICAgMTQ1LCA3MCwgNjksIDQsIDIyOCwgMjM0LCAyNDMsIDIzNywgNzAsIDY5LCA0LCAyMjgsIDEyOSwgMjQ1LCAyNTEsIDcwLCAKKyAgICA2OSwgNCwgMjI4LCAzOCwgMjQ1LCAyOCwgNzAsIDY5LCA0LCAyMjgsIDM3LCAyNDUsIDUxLCA3MCwgNjksIDQsIDIyOCwgCisgICAgMjI2LCAyMTEsIDIxMSwgNzAsIDY5LCA0LCAyMjgsIDIyMywgMjEyLCAyMTksIDcwLCA2OSwgNCwgMjI4LCAyMjEsIDIxMCwgCisgICAgMTcwLCA3MCwgNjksIDQsIDIyOCwgMTI3LCAyMTIsIDEyMCwgNzAsIDY5LCA0LCAyMjgsIDE2MywgMjEyLCAxMzEsIDcwLCAKKyAgICA2OSwgNCwgMjI4LCAxMTQsIDIxMSwgMTA1LCA3MCwgNjksIDQsIDIyOCwgMTQ5LCAxMjQsIDcwLCA2OSwgNCwgMjI4LCAyMTIsIAorICAgIDIzMiwgMTYyLCA3MCwgNjksIDQsIDIyOCwgMjA5LCAyMzIsIDIwMCwgNzAsIDY5LCA0LCAyMjgsIDIwNywgMjMyLCAxMDQsIAorICAgIDcwLCA2OSwgNCwgMjI4LCA2MSwgMjMyLCAxODAsIDcwLCA2OSwgNCwgMjI4LCAxMDUsIDIzMiwgMTgyLCA3MCwgNjksIDQsIAorICAgIDIyOCwgNTgsIDIzMiwgMTEzLCA3MCwgNjksIDQsIDIyOCwgMTU1LCAyMzIsIDEyMiwgNzAsIDY5LCA0LCAyMjgsIDQzLCAKKyAgICAxNTIsIDIzMiwgMTIyLCA3MCwgNjksIDQsIDIyOCwgMjA1LCAyMDYsIDExLCA3MCwgNjksIDQsIDIyOCwgMjAyLCAxOTAsIAorICAgIDcwLCA2OSwgNCwgMjI4LCAyMDAsIDIwNSwgMjEzLCA3MCwgNjksIDQsIDIyOCwgMTA5LCAyMDYsIDQ5LCA3MCwgNjksIDQsIAorICAgIDIyOCwgMTM4LCAyMDYsIDUyLCA3MCwgNjksIDQsIDIyOCwgNzcsIDIwNSwgMjMyLCA3MCwgNjksIDQsIDIyOCwgOTcsIDIwNSwgCisgICAgMjQ3LCA3MCwgNjksIDQsIDIyOCwgMTk2LCAyNDEsIDI1MCwgNzAsIDY5LCA0LCAyMjgsIDE5NCwgMjQyLCA3MywgNzAsIDY5LCAKKyAgICA0LCAyMjgsIDE5MiwgMjQxLCA4OCwgNzAsIDY5LCA0LCAyMjgsIDE0MCwgMjQyLCAyMSwgNzAsIDY5LCA0LCAyMjgsIDE0MywgCisgICAgMjQyLCAyOCwgNzAsIDY5LCA0LCAyMjgsIDg1LCAyNDEsIDE1MSwgNzAsIDY5LCA0LCAyMjgsIDEzMCwgMjQxLCAxNjIsIDcwLCAKKyAgICA2OSwgNCwgMjI4LCAyMSwgMjQxLCA4NywgNzAsIDY5LCA0LCAyMjgsIDExNywgMjQyLCA0NywgNzAsIDY5LCA0LCAyMjgsIAorICAgIDE5MCwgMjI0LCAxOTksIDcwLCA2OSwgNCwgMjI4LCAxODgsIDIyNSwgMjA5LCA3MCwgNjksIDQsIDIyOCwgMTg2LCAyMjMsIAorICAgIDE3MywgNzAsIDY5LCA0LCAyMjgsIDEwMSwgMjI1LCAxMDEsIDcwLCA2OSwgNCwgMjI4LCA0OSwgMjI0LCA2MSwgNzAsIDY5LCAKKyAgICA0LCAyMjgsIDQyLCAyMzksIDExLCA3MCwgNjksIDQsIDIyOCwgMTgxLCAxNTUsIDcwLCA2OSwgNCwgMjI4LCAzMiwgMjM4LCAKKyAgICA0MiwgNzAsIDY5LCA0LCAyMjgsIDE4NCwgMjM5LCA1MywgNzAsIDY5LCA0LCAyMjgsIDEyMiwgMjM5LCA3MSwgNzAsIDY5LCAKKyAgICA0LCAyMjgsIDE3OSwgMjM4LCAxMzEsIDcwLCA2OSwgNCwgMjI4LCA3OCwgMjM4LCAxNDksIDcwLCA2OSwgNCwgMjI4LCAxMzUsIAorICAgIDIzOSwgNTIsIDcwLCA2OSwgNCwgMjI4LCA5MCwgMjM4LCAxMjUsIDcwLCA2OSwgNCwgMjI4LCAxNjUsIDIzOCwgMjQ2LCA3MCwgCisgICAgNjksIDQsIDIyOCwgODgsIDIzOSwgMTEwLCA3MCwgNjksIDQsIDIyOCwgMTMxLCAyMzgsIDMxLCA3MCwgNjksIDQsIDIyOCwgCisgICAgMTY2LCAyMzksIDQxLCA3MCwgNjksIDQsIDIyOCwgMjUsIDIzOCwgMTM0LCA3MCwgNjksIDQsIDIyOCwgMTcyLCAyMzgsIDQxLCAKKyAgICA3MCwgNjksIDQsIDIyOCwgMTI4LCAyMjUsIDQyLCA3MCwgNjksIDQsIDIyOCwgMTc3LCAyMjUsIDU2LCA3MCwgNjksIDQsIAorICAgIDIyOCwgMTM2LCAyMjUsIDM5LCA3MCwgNjksIDQsIDIyOCwgMTAzLCAyMjUsIDUwLCA3MCwgNjksIDQsIDIyOCwgNzIsIDIyNSwgCisgICAgNTEsIDcwLCA2OSwgNCwgMjI4LCA2MiwgMjI1LCA0MCwgNzAsIDY5LCA0LCAyMjgsIDk4LCAyMjUsIDQxLCA3MCwgNjksIDQsIAorICAgIDIyOCwgNTksIDIyNSwgNTUsIDcwLCA2OSwgNCwgMjI4LCA5MSwgMjI1LCAzOCwgNzAsIDY5LCA0LCAyMjgsIDEzMiwgMTUyLCAKKyAgICAyMjUsIDUxLCA3MCwgNjksIDQsIDIyOCwgMTEyLCAxNTIsIDIyNSwgNDAsIDcwLCA2OSwgNCwgMjI4LCAzNSwgMTUyLCAyMjUsIAorICAgIDQxLCA3MCwgNjksIDQsIDIyOCwgNjMsIDI0MCwgNjEsIDcwLCA2OSwgNCwgMjI4LCAxMDcsIDI0MCwgMjQ0LCA3MCwgNjksIAorICAgIDQsIDIyOCwgNTAsIDIzOSwgMjEzLCA3MCwgNjksIDQsIDIyOCwgMjgsIDI0MCwgMTYyLCA3MCwgNjksIDQsIDIyOCwgNTIsIAorICAgIDIzOSwgMTk5LCA3MCwgNjksIDQsIDIyOCwgNTEsIDIzOSwgMjA5LCA3MCwgNjksIDQsIDIyOCwgMzQsIDIyNSwgNjEsIDcwLCAKKyAgICA2OSwgNCwgMjI4LCAxNjEsIDIyNCwgMjU0LCA3MCwgNjksIDQsIDIyOCwgNDEsIDIyNCwgMjQzLCA3MCwgNjksIDQsIDIyOCwgCisgICAgMTUwLCAyMjEsIDUzLCA3MCwgNjksIDQsIDIyOCwgMTE5LCAxNzksIDcwLCA2OSwgNCwgMjI4LCAxNjgsIDIyMCwgODIsIDcwLCAKKyAgICA2OSwgNCwgMjI4LCAxMzcsIDIyMSwgMTY0LCA3MCwgNjksIDQsIDIyOCwgMTY3LCAyMjEsIDE3NCwgNzAsIDY5LCA0LCAyMjgsIAorICAgIDExNiwgMjIwLCAxODcsIDcwLCA2OSwgNCwgMjI4LCAxNTIsIDIyMCwgMjExLCA3MCwgNjksIDQsIDIyOCwgNzMsIDIyNywgCisgICAgMTM4LCA3MCwgNjksIDQsIDIyOCwgMTU2LCAyMjcsIDE1MywgNzAsIDY5LCA0LCAyMjgsIDk2LCAyMjcsIDEzMiwgNzAsIDY5LCAKKyAgICA0LCAyMjgsIDE3MSwgMjI3LCAxNDUsIDcwLCA2OSwgNCwgMjI4LCAzMCwgMjI3LCAxNDUsIDcwLCA2OSwgNCwgMjI4LCAxNDYsIAorICAgIDIyNywgMTQ2LCA3MCwgNjksIDQsIDIyOCwgNDYsIDIyNywgMTMzLCA3MCwgNjksIDQsIDIyOCwgNDQsIDIyNywgMTM0LCA3MCwgCisgICAgNjksIDQsIDIyOCwgMzEsIDIyNywgMTI2LCA3MCwgNjksIDQsIDIyOCwgNTcsIDE1MiwgMjI3LCAxNDYsIDcwLCA2OSwgNCwgCisgICAgMjI4LCAxMTMsIDE1MiwgMjI3LCAxMzMsIDcwLCA2OSwgNCwgMjI4LCA3NiwgMTUyLCAyMjcsIDEzNCwgNzAsIDY5LCA0LCAKKyAgICAyMjgsIDg2LCAyMzEsIDcsIDcwLCA2OSwgNCwgMjI4LCAxMjYsIDIzMSwgMTUsIDcwLCA2OSwgNCwgMjI4LCAxNDQsIDIzMSwgCisgICAgMywgNzAsIDY5LCA0LCAyMjgsIDE3NSwgMjMxLCAxMCwgNzAsIDY5LCA0LCAyMjgsIDExMCwgMjMxLCAxMSwgNzAsIDY5LCA0LCAKKyAgICAyMjgsIDEwNiwgMjMxLCA1LCA3MCwgNjksIDQsIDIyOCwgNjAsIDIzMSwgNiwgNzAsIDY5LCA0LCAyMjgsIDk0LCAyNDAsIAorICAgIDE3OSwgNzAsIDY5LCA0LCAyMjgsIDE2MiwgMjQwLCAxODcsIDcwLCA2OSwgNCwgMjI4LCA3MCwgMjQwLCAxNzQsIDcwLCA2OSwgCisgICAgNCwgMjI4LCAxMjUsIDI0MCwgMTgzLCA3MCwgNjksIDQsIDIyOCwgMTExLCAyNDAsIDE4NCwgNzAsIDY5LCA0LCAyMjgsIAorICAgIDE0NywgMjQwLCAxNzUsIDcwLCA2OSwgNCwgMjI4LCAxNDgsIDI0MCwgMTc3LCA3MCwgNjksIDQsIDIyOCwgNDcsIDIxOSwgCisgICAgMTEzLCA3MCwgNjksIDQsIDIyOCwgOTUsIDIyNSwgMTM2LCA3MCwgNjksIDQsIDIyOCwgODksIDIyNSwgMTUxLCA3MCwgNjksIAorICAgIDQsIDIyOCwgOTMsIDIyNSwgMTE4LCA3MCwgNjksIDQsIDIyOCwgMjcsIDIyNSwgMTQyLCA3MCwgNjksIDQsIDIyOCwgOTksIAorICAgIDIyNSwgMTQzLCA3MCwgNjksIDQsIDIyOCwgMTUxLCAyMjUsIDEyMywgNzAsIDY5LCA0LCAyMjgsIDE1NCwgMjI1LCAxMjcsIAorICAgIDcwLCA2OSwgNCwgMjI4LCA2NiwgMjI0LCAxODAsIDcwLCA2OSwgNCwgMjI4LCAyNiwgMjI0LCAxNTAsIDcwLCA2OSwgNCwgCisgICAgMjI4LCA2OSwgMjI0LCAxNzEsIDcwLCA2OSwgNCwgMjI4LCA4NCwgMjI0LCAxNTQsIDcwLCA2OSwgNCwgMjI4LCAzNiwgMjA4LCAKKyAgICAyMTQsIDcwLCA2OSwgNCwgMjI4LCAzMywgMjA5LCA3MCwgNzAsIDY5LCA0LCAyMjgsIDY3LCAyMDcsIDE0OCwgNzAsIDY5LCAKKyAgICA0LCAyMjgsIDQ1LCAyMDksIDM0LCA3MCwgNjksIDQsIDIyOCwgMTMzLCAyMDksIDM5LCA3MCwgNjksIDQsIDIyOCwgNzQsIAorICAgIDIwOCwgMTYxLCA3MCwgNjksIDQsIDIyOCwgMTQxLCAyMDgsIDE3MywgNzAsIDY5LCA0LCAyMjgsIDU0LCAyMjMsIDExOSwgCisgICAgNzAsIDY5LCA0LCAyMjgsIDE2MCwgMjIzLCAxMzgsIDcwLCA2OSwgNCwgMjI4LCA0OCwgMjIzLCAxMDEsIDcwLCA2OSwgNCwgCisgICAgMjI4LCAxMjAsIDIyMywgMTMwLCA3MCwgNjksIDQsIDIyOCwgMTU4LCAyMjMsIDEwOCwgNzAsIDY5LCAxOCwgMTAyLCA3MCwgCisgICAgNjksIDE4LCAxMDUsIDcwLCA2OSwgMTgsIDE0MiwgNzAsIDY5LCAxOCwgMTM5LCA3MCwgNjksIDE4LCAxNjgsIDcwLCA2OSwgCisgICAgMTgsIDE4NCwgNzAsIDY5LCAxOCwgMTk1LCA3MCwgNjksIDE4LCAxOTMsIDcwLCA2OSwgMTgsIDIwMCwgNzAsIDY5LCAzNiwgCisgICAgNDMsIDIxMiwgMTE4LCA3MCwgNjksIDM2LCA0MywgMjEyLCA5MywgNzAsIDY5LCAzNiwgNDMsIDIzOCwgMjgsIDcwLCA2OSwgCisgICAgMzYsIDQzLCAyMTEsIDI0MCwgNzAsIDY5LCAzNiwgNDMsIDIxMiwgOTksIDIxMSwgMjQwLCA3MCwgNjksIDM2LCA0MywgMjM4LCAKKyAgICAzMCwgMjExLCAyNDAsIDcwLCA2OSwgMzYsIDQzLCAyMjYsIDIxMiwgOCwgMTEsIDI1MiwgMTcyLCA4LCAxMSwgMjUwLCAzOCwgCisgICAgOCwgMTEsIDIzMiwgMTc5LCA4LCAxMSwgMjQ2LCAxMTcsIDgsIDExLCAyMDcsIDU5LCA4LCAxMSwgMjA1LCAxMDgsIDgsIDExLCAKKyAgICAyMzksIDEzMiwgOCwgMTEsIDIxMiwgMTk0LCA4LCAxMSwgMjA2LCA0NywgOCwgMTEsIDIzMiwgNDUsIDgsIDExLCAyMzAsIAorICAgIDEwNiwgOCwgMTEsIDIyNywgMTA0LCA4LCAxMSwgMjI0LCA1NCwgOCwgMTEsIDIxNywgNzAsIDgsIDExLCAyNTIsIDIwMCwgOCwgCisgICAgMTEsIDI0MiwgMTUsIDgsIDExLCAyMTcsIDE5MSwgOCwgMTEsIDIyMCwgMTIsIDgsIDExLCAyMTksIDE2LCA4LCAxMSwgMjE1LCAKKyAgICAyMTAsIDgsIDExLCAyMTIsIDExNSwgOCwgMTEsIDIxMiwgMzcsIDgsIDExLCAyMzEsIDE2MywgOCwgMTEsIDIxMiwgNDksIDgsIAorICAgIDExLCAyNDYsIDE0MCwgOCwgMTEsIDIwNSwgMTExLCA4LCAxMSwgMjQwLCA5NCwgOCwgMTEsIDI0NSwgMjIsIDI1MCwgMzgsIAorICAgIDgsIDExLCAyNDUsIDIyLCAyMjQsIDU0LCA4LCAxMSwgMjQ1LCAyMiwgMjQyLCAxNSwgOCwgMTEsIDI0NSwgMjIsIDIyMCwgCisgICAgMTIsIDgsIDExLCA3OCwgMjUwLCAzOCwgOCwgMTEsIDc4LCAyMzIsIDE3OSwgOCwgMTEsIDc4LCAyMzksIDUwLCA4LCAxMSwgCisgICAgNzgsIDIzOSwgMTMyLCA4LCAxMSwgNzgsIDIwNiwgNDcsIDgsIDExLCA3OCwgMjMyLCA0NSwgOCwgMTEsIDc4LCAyMzAsIAorICAgIDEwNiwgOCwgMTEsIDc4LCAyMjcsIDEwNCwgOCwgMTEsIDc4LCAyMjQsIDU0LCA4LCAxMSwgNzgsIDIxNywgNzAsIDgsIDExLCAKKyAgICA3OCwgMjUyLCAyMDAsIDgsIDExLCA3OCwgMjQyLCAxNSwgOCwgMTEsIDc4LCAyMTcsIDE5MSwgOCwgMTEsIDc4LCAyMjAsIAorICAgIDEyLCA4LCAxMSwgNzgsIDIxNSwgMjEwLCA4LCAxMSwgNzgsIDIxMiwgMTE1LCA4LCAxMSwgNzgsIDIxMiwgMzcsIDgsIDExLCAKKyAgICA3OCwgMjMxLCAxNjMsIDgsIDExLCA3OCwgMjQ2LCAxNDAsIDgsIDExLCA3OCwgMjQwLCA5NCwgOCwgMTEsIDIxMiwgMTkwLCAKKyAgICAyMzIsIDE3OSwgOCwgMTEsIDIxMiwgMTkwLCAyMzksIDEzMiwgOCwgMTEsIDIxMiwgMTkwLCAyMDYsIDQ3LCA4LCAxMSwgCisgICAgMjEyLCAxOTAsIDIzMCwgMTA2LCA4LCAxMSwgMjEyLCAxOTAsIDIyNCwgNTQsIDgsIDExLCAyMTIsIDE5MCwgMjE3LCA3MCwgCisgICAgOCwgMTEsIDIxMiwgMTkwLCAyNTIsIDIwMCwgOCwgMTEsIDIxMiwgMTkwLCAyMTcsIDE5MSwgOCwgMTEsIDIxMiwgMTkwLCAKKyAgICAyMjAsIDEyLCA4LCAxMSwgMjEyLCAxOTAsIDIxNSwgMjEwLCA4LCAxMSwgMjEyLCAxOTAsIDIzMSwgMTYzLCA4LCAxMSwgCisgICAgMjEyLCAxOTAsIDI0NiwgMTQwLCA4LCAxMSwgMjEyLCAxOTAsIDI0MCwgOTQsIDgsIDExLCAyMTIsIDE5MCwgMjQ1LCAyMiwgCisgICAgMjI0LCA1NCwgOCwgMTEsIDIxMiwgMTkwLCAyNDUsIDIyLCAyMjAsIDEyLCA4LCAxMSwgMjEzLCAyMzIsIDI1MCwgMzgsIDgsIAorICAgIDExLCAyMTMsIDIzMiwgMjMyLCAxNzksIDgsIDExLCAyMTMsIDIzMiwgMjM5LCA1MCwgOCwgMTEsIDIxMywgMjMyLCAyMzksIAorICAgIDEzMiwgOCwgMTEsIDIxMywgMjMyLCAyMTIsIDE5NCwgOCwgMTEsIDIxMywgMjMyLCAyMDYsIDQ3LCA4LCAxMSwgMjEzLCAKKyAgICAyMzIsIDIzMiwgNDUsIDgsIDExLCAyMTMsIDIzMiwgMjI3LCAxMDQsIDgsIDExLCAyMTMsIDIzMiwgMjI0LCA1NCwgOCwgMTEsIAorICAgIDIxMywgMjMyLCAyMTcsIDcwLCA4LCAxMSwgMjEzLCAyMzIsIDI1MiwgMjAwLCA4LCAxMSwgMjEzLCAyMzIsIDI0MiwgMTUsIAorICAgIDgsIDExLCAyMTMsIDIzMiwgMjE3LCAxOTEsIDgsIDExLCAyMTMsIDIzMiwgMjIwLCAxMiwgOCwgMTEsIDIxMywgMjMyLCAKKyAgICAyMTUsIDIxMCwgOCwgMTEsIDIxMywgMjMyLCAyMTIsIDExNSwgOCwgMTEsIDIxMywgMjMyLCAyMTIsIDM3LCA4LCAxMSwgCisgICAgMjEzLCAyMzIsIDIzMSwgMTYzLCA4LCAxMSwgMjEzLCAyMzIsIDI0NiwgMTQwLCA4LCAxMSwgMjEzLCAyMzIsIDIwNSwgMTExLCAKKyAgICA4LCAxMSwgMjEzLCAyMzIsIDI0MCwgOTQsIDgsIDExLCAyMTMsIDIzMiwgMjQ1LCAyMiwgMjUwLCAzOCwgOCwgMTEsIDIxMywgCisgICAgMjMyLCAyNDUsIDIyLCAyNDIsIDE1LCA4LCAxMSwgMjI5LCAxMTAsIDI1MiwgMTcyLCA4LCAxMSwgMjI5LCAxMTAsIDI1MCwgCisgICAgMzgsIDgsIDExLCAyMjksIDExMCwgMjMyLCAxNzksIDgsIDExLCAyMjksIDExMCwgMjQ2LCAxMTcsIDgsIDExLCAyMjksIAorICAgIDExMCwgMjM5LCA1MCwgOCwgMTEsIDIyOSwgMTEwLCAyMDcsIDU5LCA4LCAxMSwgMjI5LCAxMTAsIDIwNSwgMTA4LCA4LCAxMSwgCisgICAgMjI5LCAxMTAsIDIzOSwgMTMyLCA4LCAxMSwgMjI5LCAxMTAsIDIxMiwgMTk0LCA4LCAxMSwgMjI5LCAxMTAsIDIwNiwgNDcsIAorICAgIDgsIDExLCAyMjksIDExMCwgMjMwLCAxMDYsIDgsIDExLCAyMjksIDExMCwgMjI3LCAxMDQsIDgsIDExLCAyMjksIDExMCwgCisgICAgMjI0LCA1NCwgOCwgMTEsIDIyOSwgMTEwLCAyMTcsIDcwLCA4LCAxMSwgMjI5LCAxMTAsIDI1MiwgMjAwLCA4LCAxMSwgMjI5LCAKKyAgICAxMTAsIDI0MiwgMTUsIDgsIDExLCAyMjksIDExMCwgMjE3LCAxOTEsIDgsIDExLCAyMjksIDExMCwgMjIwLCAxMiwgOCwgMTEsIAorICAgIDIyOSwgMTEwLCAyMTksIDE2LCA4LCAxMSwgMjI5LCAxMTAsIDIxNSwgMjEwLCA4LCAxMSwgMjI5LCAxMTAsIDIxMiwgMTE1LCAKKyAgICA4LCAxMSwgMjI5LCAxMTAsIDIxMiwgMzcsIDgsIDExLCAyMjksIDExMCwgMjMxLCAxNjMsIDgsIDExLCAyMjksIDExMCwgCisgICAgMjEyLCA0OSwgOCwgMTEsIDIyOSwgMTEwLCAyNDYsIDE0MCwgOCwgMTEsIDIyOSwgMTEwLCAyMDUsIDExMSwgOCwgMTEsIAorICAgIDIyOSwgMTEwLCAyNDAsIDk0LCA4LCAxMSwgMTU5LCAyNTAsIDM4LCA4LCAxMSwgMTU5LCAyMzIsIDE3OSwgOCwgMTEsIDE1OSwgCisgICAgMjQ2LCAxMTcsIDgsIDExLCAxNTksIDIwNywgNTksIDgsIDExLCAxNTksIDIwNSwgMTA4LCA4LCAxMSwgMTU5LCAyMzksIAorICAgIDEzMiwgOCwgMTEsIDE1OSwgMjEyLCAxOTQsIDgsIDExLCAxNTksIDIwNiwgNDcsIDgsIDExLCAxNTksIDIzMCwgMTA2LCA4LCAKKyAgICAxMSwgMTU5LCAyMjcsIDEwNCwgOCwgMTEsIDE1OSwgMjI0LCA1NCwgOCwgMTEsIDE1OSwgMjE3LCA3MCwgOCwgMTEsIDE1OSwgCisgICAgMjUyLCAyMDAsIDgsIDExLCAxNTksIDI0MiwgMTUsIDgsIDExLCAxNTksIDIxNywgMTkxLCA4LCAxMSwgMTU5LCAyMjAsIDEyLCAKKyAgICA4LCAxMSwgMTU5LCAyMTksIDE2LCA4LCAxMSwgMTU5LCAyMTUsIDIxMCwgOCwgMTEsIDE1OSwgMjEyLCAxMTUsIDgsIDExLCAKKyAgICAxNTksIDIxMiwgMzcsIDgsIDExLCAxNTksIDIzMSwgMTYzLCA4LCAxMSwgMTU5LCAyMTIsIDQ5LCA4LCAxMSwgMTU5LCAyNDYsIAorICAgIDE0MCwgOCwgMTEsIDE1OSwgMjA1LCAxMTEsIDgsIDExLCAxNTksIDI0MCwgOTQsIDgsIDExLCAyMjIsIDEzMywgODAsIDIsIAorICAgIDE0MCwgMiwgMjEyLCAxNTMsIDgsIDExLCAyMjIsIDEzMywgMTQwLCAyLCAyNDYsIDExNywgMjI3LCAyNDEsIDk0LCAyNDMsIAorICAgIDExNywgMjA3LCA5LCAyMjcsIDI0MSwgOTQsIDE4OCwgMjA3LCA5LCAyMjcsIDI0MSwgOTQsIDIwNywgMzYsIDIwNywgOSwgCisgICAgMjI3LCAyNDEsIDk0LCAxNDMsIDIwNywgOSwgMjI3LCAyNDEsIDk0LCAyMTksIDMyLCAyNDMsIDI1NSwgMjI3LCAyNDEsIDk0LCAKKyAgICAyMzksIDIyNywgMjQzLCAyNTUsIDIyNywgMjQxLCA5NCwgNTksIDI0MywgMjU1LCAyMjcsIDI0MSwgOTQsIDExOSwgNzMsIAorICAgIDI0OCwgOTMsIDIyNywgMjQxLCA5NCwgMTE4LCA3MywgMjQ4LCA5MywgMjI3LCAyNDEsIDk0LCAxMjksIDczLCAyNDgsIDkzLCAKKyAgICAyMjcsIDI0MSwgOTQsIDI0MSwgMTI1LCA3MywgMjQ4LCA5MywgMjI3LCAyNDEsIDk0LCAyNDEsIDIwNCwgNzMsIDI0OCwgOTMsIAorICAgIDIyNywgMjQxLCA5NCwgMjE1LCAxMCwgNzMsIDI0OCwgOTMsIDIyNywgMjQxLCA5NCwgMjE2LCAyMywgNzMsIDI0OCwgOTMsIAorICAgIDIyNywgMjQxLCA5NCwgMjQzLCA4OCwgNzMsIDI0OCwgOTMsIDIyNywgMjQxLCA5NCwgMjI0LCAxOTUsIDczLCAyNDgsIDkzLCAKKyAgICAyMjcsIDI0MSwgOTQsIDExOSwgNzMsIDI1MCwgMTQxLCAyMjcsIDI0MSwgOTQsIDExOCwgNzMsIDI1MCwgMTQxLCAyMjcsIAorICAgIDI0MSwgOTQsIDEyOSwgNzMsIDI1MCwgMTQxLCAyMjcsIDI0MSwgOTQsIDI0MSwgMTI1LCA3MywgMjUwLCAxNDEsIDIyNywgCisgICAgMjQxLCA5NCwgMjQxLCAyMDQsIDczLCAyNTAsIDE0MSwgMjI3LCAyNDEsIDk0LCAyMTUsIDEwLCA3MywgMjUwLCAxNDEsIAorICAgIDIyNywgMjQxLCA5NCwgMjE2LCAyMywgNzMsIDI1MCwgMTQxLCAyMjcsIDI0MSwgOTQsIDI0MywgODgsIDczLCAyNTAsIDE0MSwgCisgICAgMjI3LCAyNDEsIDk0LCAyMjQsIDE5NSwgNzMsIDI1MCwgMTQxLCAyMjcsIDI0MSwgOTQsIDExOSwgNzMsIDI0NywgMjMyLCAKKyAgICAyMjcsIDI0MSwgOTQsIDExOCwgNzMsIDI0NywgMjMyLCAyMjcsIDI0MSwgOTQsIDEyOSwgNzMsIDI0NywgMjMyLCAyMjcsIAorICAgIDI0MSwgOTQsIDI0MSwgMTI1LCA3MywgMjQ3LCAyMzIsIDIyNywgMjQxLCA5NCwgMjQxLCAyMDQsIDczLCAyNDcsIDIzMiwgCisgICAgMjI3LCAyNDEsIDk0LCAyMTUsIDEwLCA3MywgMjQ3LCAyMzIsIDIyNywgMjQxLCA5NCwgMjE2LCAyMywgNzMsIDI0NywgMjMyLCAKKyAgICAyMjcsIDI0MSwgOTQsIDI0MywgODgsIDczLCAyNDcsIDIzMiwgMjI3LCAyNDEsIDk0LCAyMjQsIDE5NSwgNzMsIDI0NywgCisgICAgMjMyLCAyMjcsIDI0MSwgOTQsIDIyMCwgMjIxLCAyMjcsIDI0MSwgOTQsIDIyMiwgMTIwLCAyMjcsIDI0MSwgOTQsIDI1MCwgCisgICAgMTQyLCAyMjcsIDI0MSwgOTQsIDI0OCwgMTUsIDIyNywgMjQxLCA5NCwgMjE0LCAxMTMsIDIyNywgMjQxLCA5NCwgMjEzLCAKKyAgICAxNTYsIDIyNywgMjQxLCA5NCwgMjUxLCAxNzEsIDIyNywgMjQxLCA5NCwgMjA3LCAxLCAyMjcsIDI0MSwgOTQsIDIzMiwgCisgICAgMTE2LCAyMjcsIDI0MSwgOTQsIDI1MCwgMTc2LCAxNTEsIDk0LCAxOTQsIDI1MCwgMTc2LCAxNTEsIDk0LCAyMzgsIDEyMCwgCisgICAgMTUxLCA5NCwgMjM4LCAxMTksIDE1MSwgOTQsIDIzOCwgMTE4LCAxNTEsIDk0LCAyMzgsIDExNywgMTUxLCA5NCwgMjM4LCAKKyAgICAxMTYsIDE1MSwgOTQsIDIzOCwgMTE1LCAxNTEsIDk0LCAyMzgsIDExNCwgMTUxLCA5NCwgMjM4LCAxMTMsIDE1MSwgOTQsIAorICAgIDIzOCwgMTEyLCAxNTEsIDk0LCAyMzgsIDExMSwgMTUxLCA5NCwgMjM4LCAxMTAsIDE1MSwgOTQsIDIzOCwgMTA5LCAxNTEsIAorICAgIDk0LCAyMzgsIDEwOCwgMTUxLCA5NCwgMjM4LCAxMDcsIDE1MSwgOTQsIDIzOCwgMTA2LCAxNTEsIDk0LCAyMzgsIDEwNSwgCisgICAgMTUxLCA5NCwgMjM4LCAxMDQsIDE1MSwgOTQsIDIzOCwgMTAzLCAxNTEsIDk0LCAyMzgsIDEwMiwgMTUxLCA5NCwgMjM4LCAKKyAgICAxMDEsIDE1MSwgOTQsIDIzOCwgMTAwLCAxNTEsIDk0LCAyMzgsIDk5LCAxNTEsIDk0LCAyMzgsIDk4LCAxNTEsIDk0LCAyMzgsIAorICAgIDk3LCAxNTEsIDk0LCAyMzgsIDk2LCAxNTEsIDk0LCAyMzgsIDk1LCAxNTEsIDk0LCAyMzgsIDk0LCAxNTEsIDk0LCAyMzgsIAorICAgIDkzLCAxNTEsIDk0LCAyMzgsIDkyLCAxNTEsIDk0LCAyMzgsIDkxLCAxNTEsIDk0LCAyMzgsIDkwLCAxNTEsIDk0LCAyMzgsIAorICAgIDg5LCAxNTEsIDk0LCAyMzgsIDg4LCAxNTEsIDk0LCAyMzgsIDg3LCAxNTEsIDk0LCAyMzgsIDg2LCAxNTEsIDk0LCAyMzgsIAorICAgIDg1LCAxNTEsIDk0LCAyMzgsIDg0LCAxNTEsIDk0LCAyMzgsIDgzLCAxNTEsIDk0LCAyMzgsIDgyLCAxNTEsIDk0LCAyMzgsIAorICAgIDgxLCAxNTEsIDk0LCAyMzgsIDgwLCAxNTEsIDk0LCAyMzgsIDc5LCAxNTEsIDk0LCAyMzgsIDc4LCAxNTEsIDk0LCAyMzgsIAorICAgIDc3LCAxNTEsIDk0LCAyMzgsIDc2LCAxNTEsIDk0LCAyMzgsIDc1LCAxNTEsIDk0LCAyMzgsIDc0LCAxNTEsIDk0LCAyMzgsIAorICAgIDczLCAxNTEsIDk0LCAyMzgsIDcyLCAxNTEsIDk0LCA3OSwgMjUwLCAxNzYsIDE1MSwgOTQsIDIwOSwgMjEsIDE1MSwgOTQsIAorICAgIDIwOSwgMjAsIDE1MSwgOTQsIDIwOSwgMTksIDE1MSwgOTQsIDIwOSwgMTgsIDE1MSwgOTQsIDIwOSwgMTcsIDE1MSwgOTQsIAorICAgIDIwOSwgMTYsIDE1MSwgOTQsIDIwOSwgMTUsIDE1MSwgOTQsIDIwOSwgMTQsIDE1MSwgOTQsIDIwOSwgMTMsIDE1MSwgOTQsIAorICAgIDIwOSwgMTIsIDE1MSwgOTQsIDIwOSwgMTEsIDE1MSwgOTQsIDIwOSwgMTAsIDE1MSwgOTQsIDIwOSwgOSwgMTUxLCA5NCwgCisgICAgMjA5LCA4LCAxNTEsIDk0LCAyMDksIDcsIDE1MSwgOTQsIDIwOSwgNiwgMTUxLCA5NCwgMjA5LCA1LCAxNTEsIDk0LCAyMDksIAorICAgIDQsIDE1MSwgOTQsIDIwOSwgMywgMTUxLCA5NCwgMjA5LCAyLCAxNTEsIDk0LCAyMDksIDEsIDE1MSwgOTQsIDIwOSwgMCwgCisgICAgMTUxLCA5NCwgMjA4LCAyNTUsIDE1MSwgOTQsIDIwOCwgMjU0LCAxNTEsIDk0LCAyMDgsIDI1MywgMTUxLCA5NCwgMjA4LCAKKyAgICAyNTIsIDE1MSwgOTQsIDIwOCwgMjUxLCAxNTEsIDk0LCAyMDgsIDI1MCwgMTUxLCA5NCwgMjA4LCAyNDksIDE1MSwgOTQsIAorICAgIDIwOCwgMjQ4LCAxNTEsIDk0LCAyMDgsIDI0NywgMTUxLCA5NCwgMjA4LCAyNDYsIDE1MSwgOTQsIDIwOCwgMjQ1LCAxNTEsIAorICAgIDk0LCAyMDgsIDI0NCwgMTUxLCA5NCwgMjA4LCAyNDMsIDE1MSwgOTQsIDIwOCwgMjQyLCAxNTEsIDk0LCAyMDgsIDI0MSwgCisgICAgMTUxLCA5NCwgMjA4LCAyNDAsIDE1MSwgOTQsIDIwOCwgMjM5LCAxNTEsIDk0LCAyMDgsIDIzOCwgMTUxLCA5NCwgMjA4LCAKKyAgICAyMzcsIDE1MSwgOTQsIDIwOCwgMjM2LCAxNTEsIDk0LCAyMDgsIDIzNSwgMTUxLCA5NCwgMjA4LCAyMzQsIDE1MSwgOTQsIAorICAgIDIwOCwgMjMzLCAxNTEsIDk0LCAyMDgsIDIzMiwgMTUxLCA5NCwgMjA4LCAyMzEsIDE1MSwgOTQsIDIwOCwgMjMwLCAxNTEsIAorICAgIDk0LCAyMDgsIDIyOSwgMjIwLCAyMzAsIDE5MSwgMjUwLCAxNzYsIDIyMCwgMjMwLCAxOTEsIDI1MywgMTUsIDczLCAyMTQsIAorICAgIDE1MCwgMjIwLCAyMzAsIDE5MSwgMTE4LCA3MywgMjE0LCAxNTAsIDIyMCwgMjMwLCAxOTEsIDEyOSwgNzMsIDIxNCwgMTUwLCAKKyAgICAyMjAsIDIzMCwgMTkxLCAyNDEsIDEyNSwgNzMsIDIxNCwgMTUwLCAyMjAsIDIzMCwgMTkxLCAyNDEsIDIwNCwgNzMsIDIxNCwgCisgICAgMTUwLCAyMjAsIDIzMCwgMTkxLCAyMTUsIDEwLCA3MywgMjE0LCAxNTAsIDIyMCwgMjMwLCAxOTEsIDIxNiwgMjMsIDczLCAKKyAgICAyMTQsIDE1MCwgMjIwLCAyMzAsIDE5MSwgMjQzLCA4OCwgNzMsIDIxNCwgMTUwLCAyMjAsIDIzMCwgMTkxLCAyMjQsIDE5NSwgCisgICAgNzMsIDIxNCwgMTUwLCAyMjAsIDIzMCwgMTkxLCAyMTIsIDk5LCA3MywgMjE0LCAxNTAsIDIyMCwgMjMwLCAxOTEsIDIzMiwgCisgICAgMTk4LCA3MywgMjE0LCAxNTAsIDIyMCwgMjMwLCAxOTEsIDIzMSwgNTcsIDczLCAyMTQsIDE1MCwgMjIwLCAyMzAsIDE5MSwgCisgICAgMjE5LCAxOTgsIDczLCAyMTQsIDE1MCwgMjIwLCAyMzAsIDE5MSwgMjMxLCAxMDcsIDczLCAyMTQsIDE1MCwgMjIwLCAyMzAsIAorICAgIDE5MSwgMjUzLCAxNSwgNzMsIDIzOSwgNTgsIDIyMCwgMjMwLCAxOTEsIDExOCwgNzMsIDIzOSwgNTgsIDIyMCwgMjMwLCAKKyAgICAxOTEsIDEyOSwgNzMsIDIzOSwgNTgsIDIyMCwgMjMwLCAxOTEsIDI0MSwgMTI1LCA3MywgMjM5LCA1OCwgMjIwLCAyMzAsIAorICAgIDE5MSwgMjQxLCAyMDQsIDczLCAyMzksIDU4LCAyMjAsIDIzMCwgMTkxLCAyMTUsIDEwLCA3MywgMjM5LCA1OCwgMjIwLCAKKyAgICAyMzAsIDE5MSwgMjE2LCAyMywgNzMsIDIzOSwgNTgsIDIyMCwgMjMwLCAxOTEsIDI0MywgODgsIDczLCAyMzksIDU4LCAyMjAsIAorICAgIDIzMCwgMTkxLCAyMjQsIDE5NSwgNzMsIDIzOSwgNTgsIDIyMCwgMjMwLCAxOTEsIDIxMiwgOTksIDczLCAyMzksIDU4LCAKKyAgICAyMjAsIDIzMCwgMTkxLCAyMzIsIDE5OCwgNzMsIDIzOSwgNTgsIDIyMCwgMjMwLCAxOTEsIDIzMSwgNTcsIDczLCAyMzksIAorICAgIDU4LCAyMjAsIDIzMCwgMTkxLCAyMTksIDE5OCwgNzMsIDIzOSwgNTgsIDIyMCwgMjMwLCAxOTEsIDIzMSwgMTA3LCA3MywgCisgICAgMjM5LCA1OCwgMjIwLCAyMzAsIDE5MSwgMjE5LCAzMiwgMjMyLCAxMTYsIDIyMCwgMjMwLCAxOTEsIDI1MywgMTUsIDczLCAKKyAgICAyNDUsIDE1NSwgMjIwLCAyMzAsIDE5MSwgMTE4LCA3MywgMjQ1LCAxNTUsIDIyMCwgMjMwLCAxOTEsIDEyOSwgNzMsIDI0NSwgCisgICAgMTU1LCAyMjAsIDIzMCwgMTkxLCAyNDEsIDEyNSwgNzMsIDI0NSwgMTU1LCAyMjAsIDIzMCwgMTkxLCAyNDEsIDIwNCwgNzMsIAorICAgIDI0NSwgMTU1LCAyMjAsIDIzMCwgMTkxLCAyMTUsIDEwLCA3MywgMjQ1LCAxNTUsIDIyMCwgMjMwLCAxOTEsIDIxNiwgMjMsIAorICAgIDczLCAyNDUsIDE1NSwgMjIwLCAyMzAsIDE5MSwgMjQzLCA4OCwgNzMsIDI0NSwgMTU1LCAyMjAsIDIzMCwgMTkxLCAyMjQsIAorICAgIDE5NSwgNzMsIDI0NSwgMTU1LCAyMjAsIDIzMCwgMTkxLCAyMTIsIDk5LCA3MywgMjQ1LCAxNTUsIDIyMCwgMjMwLCAxOTEsIAorICAgIDIzMiwgMTk4LCA3MywgMjQ1LCAxNTUsIDIyMCwgMjMwLCAxOTEsIDIzMSwgNTcsIDczLCAyNDUsIDE1NSwgMjIwLCAyMzAsIAorICAgIDE5MSwgMjE5LCAxOTgsIDczLCAyNDUsIDE1NSwgMjIwLCAyMzAsIDE5MSwgMjMxLCAxMDcsIDczLCAyNDUsIDE1NSwgMjIwLCAKKyAgICAyMzAsIDE5MSwgNjAsIDIzMiwgMTE2LCAyMjAsIDIzMCwgMTkxLCAyNTMsIDE1LCA3MywgMjQ3LCAxNzgsIDIyMCwgMjMwLCAKKyAgICAxOTEsIDExOCwgNzMsIDI0NywgMTc4LCAyMjAsIDIzMCwgMTkxLCAxMjksIDczLCAyNDcsIDE3OCwgMjIwLCAyMzAsIDE5MSwgCisgICAgMjQxLCAxMjUsIDczLCAyNDcsIDE3OCwgMjIwLCAyMzAsIDE5MSwgMjQxLCAyMDQsIDczLCAyNDcsIDE3OCwgMjIwLCAyMzAsIAorICAgIDE5MSwgMjE1LCAxMCwgNzMsIDI0NywgMTc4LCAyMjAsIDIzMCwgMTkxLCAyMTYsIDIzLCA3MywgMjQ3LCAxNzgsIDIyMCwgCisgICAgMjMwLCAxOTEsIDI0MywgODgsIDczLCAyNDcsIDE3OCwgMjIwLCAyMzAsIDE5MSwgMjI0LCAxOTUsIDczLCAyNDcsIDE3OCwgCisgICAgMjIwLCAyMzAsIDE5MSwgMjEyLCA5OSwgNzMsIDI0NywgMTc4LCAyMjAsIDIzMCwgMTkxLCAyMzIsIDE5OCwgNzMsIDI0NywgCisgICAgMTc4LCAyMjAsIDIzMCwgMTkxLCAyMzEsIDU3LCA3MywgMjQ3LCAxNzgsIDIyMCwgMjMwLCAxOTEsIDIxOSwgMTk4LCA3MywgCisgICAgMjQ3LCAxNzgsIDIyMCwgMjMwLCAxOTEsIDIzMSwgMTA3LCA3MywgMjQ3LCAxNzgsIDIyMCwgMjMwLCAxOTEsIDU5LCAyMzIsIAorICAgIDExNiwgMjIwLCAyMzAsIDE5MSwgMjQxLCAxNDksIDIyMCwgMjMwLCAxOTEsIDIxMSwgMTUsIDIyMCwgMjMwLCAxOTEsIDIxMSwgCisgICAgNCwgMjIwLCAyMzAsIDE5MSwgMjExLCAxLCAyMjAsIDIzMCwgMTkxLCAyMTEsIDAsIDIyMCwgMjMwLCAxOTEsIDIxMCwgMjU1LCAKKyAgICAyMjAsIDIzMCwgMTkxLCAyMTAsIDI1NCwgMjIwLCAyMzAsIDE5MSwgMjEwLCAyNTMsIDIyMCwgMjMwLCAxOTEsIDIxMCwgCisgICAgMjUyLCAyMjAsIDIzMCwgMTkxLCAyMTAsIDI1MSwgMjIwLCAyMzAsIDE5MSwgMjExLCAxNCwgMjIwLCAyMzAsIDE5MSwgMjExLCAKKyAgICAxMywgMjIwLCAyMzAsIDE5MSwgMjExLCAxMiwgMjIwLCAyMzAsIDE5MSwgMjExLCAxMSwgMjIwLCAyMzAsIDE5MSwgMjExLCAKKyAgICAxMCwgMjIwLCAyMzAsIDE5MSwgMjExLCA5LCAyMjAsIDIzMCwgMTkxLCAyMTEsIDgsIDIyMCwgMjMwLCAxOTEsIDIxMSwgNywgCisgICAgMjIwLCAyMzAsIDE5MSwgMjExLCA2LCAyMjAsIDIzMCwgMTkxLCAyMTEsIDUsIDIyMCwgMjMwLCAxOTEsIDIxMSwgMywgMjIwLCAKKyAgICAyMzAsIDE5MSwgMjExLCAyLCAxOCwgMjA1LCA4NiwgMjQxLCA4MiwgMjEzLCAyNTEsIDE4LCAyMDUsIDg2LCAyNDcsIDE1NSwgCisgICAgMTgsIDExOSwgMjQ3LCAxNTUsIDE4LCAxMTgsIDI0NywgMTU1LCAxOCwgMTI5LCAyNDcsIDE1NSwgMTgsIDI0MSwgMTI1LCAKKyAgICAyNDcsIDE1NSwgMTgsIDI0MSwgMjA0LCAyNDcsIDE1NSwgMTgsIDIxNSwgMTAsIDI0NywgMTU1LCAxOCwgMjE2LCAyMywgCisgICAgMjQ3LCAxNTUsIDE4LCAyNDMsIDg4LCAyNDcsIDE1NSwgMTgsIDIyNCwgMTk1LCAyNDcsIDE1NSwgMjQ1LCAxMTEsIDM5LCAKKyAgICAzOCwgMTgsIDIwNSwgODUsIDI0NSwgMTExLCAxNzAsIDM5LCAzOCwgMTgsIDIwNSwgODUsIDk3LCA3LCA2LCAxLCA2MiwgOTcsIAorICAgIDcsIDYsIDEsIDI1MSwgMTUwLCA5NywgNywgNiwgMSwgMjQ5LCAzNCwgOTcsIDcsIDYsIDEsIDI0NiwgMjQwLCA5NywgNywgNiwgCisgICAgMSwgNzUsIDk3LCA3LCA2LCAxLCAyNDIsIDEzOSwgOTcsIDcsIDYsIDEsIDI0MSwgNTUsIDk3LCA3LCA2LCAxLCAyMzksIAorICAgIDE1NSwgOTcsIDcsIDYsIDEsIDc0LCA5NywgNywgNiwgMSwgMjMyLCAyMDMsIDk3LCA3LCA2LCAxLCAyMzIsIDc2LCA5NywgNywgCisgICAgNiwgMSwgMTQ5LCA5NywgNywgNiwgMSwgMjI5LCAyOCwgOTcsIDcsIDYsIDEsIDIyNiwgMzMsIDk3LCA3LCA2LCAxLCA3NiwgCisgICAgOTcsIDcsIDYsIDEsIDIyMiwgNjcsIDk3LCA3LCA2LCAxLCAyMjAsIDI3LCA5NywgNywgNiwgMSwgMTM3LCA5NywgNywgNiwgCisgICAgMSwgMTgyLCA5NywgNywgNiwgMSwgMjEzLCAxMCwgOTcsIDcsIDYsIDEsIDcxLCA5NywgNywgNiwgMSwgMjA5LCAxNDgsIDk3LCAKKyAgICA3LCA2LCAxLCAyMDcsIDEyOSwgOTcsIDcsIDYsIDEsIDIwNiwgMTk1LCA5NywgNywgNiwgMSwgMjA2LCAxMjMsIDk3LCA3LCAKKyAgICA2LCAxLCAyMDUsIDE1OSwgMjExLCA5MywgMjE1LCAyMDQsIDI0OSwgMTMzLCA3LCA2LCAxLCAxODIsIDM5LCAzNSwgNywgNiwgCisgICAgMSwgMjQ5LCAzNCwgMzksIDM1LCA3LCA2LCAxLCAxMzcsIDM5LCAyNDgsIDE0OSwgMzksIDIwNiwgMTk3LCA5OCwgNywgNiwgCisgICAgMSwgNjIsIDk4LCA3LCA2LCAxLCAyNTEsIDE1MCwgOTgsIDcsIDYsIDEsIDI0OSwgMzQsIDk4LCA3LCA2LCAxLCAyNDYsIAorICAgIDI0MCwgOTgsIDcsIDYsIDEsIDc1LCA5OCwgNywgNiwgMSwgMjQyLCAxMzksIDk4LCA3LCA2LCAxLCAyNDEsIDU1LCA5OCwgNywgCisgICAgNiwgMSwgMjM5LCAxNTUsIDk4LCA3LCA2LCAxLCA3NCwgOTgsIDcsIDYsIDEsIDIzMiwgMjAzLCA5OCwgNywgNiwgMSwgMjMyLCAKKyAgICA3NiwgOTgsIDcsIDYsIDEsIDE0OSwgOTgsIDcsIDYsIDEsIDIyOSwgMjgsIDk4LCA3LCA2LCAxLCAyMjYsIDMzLCA5OCwgNywgCisgICAgNiwgMSwgNzYsIDk4LCA3LCA2LCAxLCAyMjIsIDY3LCA5OCwgNywgNiwgMSwgMjIwLCAyNywgOTgsIDcsIDYsIDEsIDEzNywgCisgICAgOTgsIDcsIDYsIDEsIDE4MiwgOTgsIDcsIDYsIDEsIDIxMywgMTAsIDk4LCA3LCA2LCAxLCA3MSwgOTgsIDcsIDYsIDEsIAorICAgIDIwOSwgMTQ4LCA5OCwgNywgNiwgMSwgMjA3LCAxMjksIDk4LCA3LCA2LCAxLCAyMDYsIDE5NSwgOTgsIDcsIDYsIDEsIDIwNiwgCisgICAgMTIzLCA5OCwgNywgNiwgMSwgMjA1LCAxNTksIDk4LCAyMzgsIDE3LCA5OCwgMjI2LCA1NywgOTgsIDIxNywgODgsIDk4LCAKKyAgICAyMTQsIDk5LCA5OCwgMjIwLCAxNTUsIDk4LCAyMDcsIDUyLCAxNzAsIDM5LCA3LCA2LCAxLCA2MiwgMTcwLCAzOSwgNywgNiwgCisgICAgMSwgMjUxLCAxNTAsIDE3MCwgMzksIDcsIDYsIDEsIDI0OSwgMzQsIDE3MCwgMzksIDcsIDYsIDEsIDI0NiwgMjQwLCAxNzAsIAorICAgIDM5LCA3LCA2LCAxLCA3NSwgMTcwLCAzOSwgNywgNiwgMSwgMjQyLCAxMzksIDE3MCwgMzksIDcsIDYsIDEsIDI0MSwgNTUsIAorICAgIDE3MCwgMzksIDcsIDYsIDEsIDIzOSwgMTU1LCAxNzAsIDM5LCA3LCA2LCAxLCA3NCwgMTcwLCAzOSwgNywgNiwgMSwgMjMyLCAKKyAgICAyMDMsIDE3MCwgMzksIDcsIDYsIDEsIDIzMiwgNzYsIDE3MCwgMzksIDcsIDYsIDEsIDE0OSwgMTcwLCAzOSwgNywgNiwgMSwgCisgICAgMjI5LCAyOCwgMTcwLCAzOSwgNywgNiwgMSwgMjI2LCAzMywgMTcwLCAzOSwgNywgNiwgMSwgNzYsIDE3MCwgMzksIDcsIDYsIAorICAgIDEsIDIyMiwgNjcsIDE3MCwgMzksIDcsIDYsIDEsIDIyMCwgMjcsIDE3MCwgMzksIDcsIDYsIDEsIDEzNywgMTcwLCAzOSwgNywgCisgICAgNiwgMSwgMTgyLCAxNzAsIDM5LCA3LCA2LCAxLCAyMTMsIDEwLCAxNzAsIDM5LCA3LCA2LCAxLCA3MSwgMTcwLCAzOSwgNywgCisgICAgNiwgMSwgMjA5LCAxNDgsIDE3MCwgMzksIDcsIDYsIDEsIDIwNywgMTI5LCAxNzAsIDM5LCA3LCA2LCAxLCAyMDYsIDE5NSwgCisgICAgMTcwLCAzOSwgNywgNiwgMSwgMjA2LCAxMjMsIDE3MCwgMzksIDcsIDYsIDEsIDIwNSwgMTU5LCAyMTksIDgxLCAyMjcsIAorICAgIDEyNSwgNTMsIDIxOSwgODEsIDIyNywgMTIyLCA1MywgMTcwLCA5OCwgNywgNiwgMSwgNjIsIDE3MCwgOTgsIDcsIDYsIDEsIAorICAgIDI1MSwgMTUwLCAxNzAsIDk4LCA3LCA2LCAxLCAyNDksIDM0LCAxNzAsIDk4LCA3LCA2LCAxLCAyNDYsIDI0MCwgMTcwLCA5OCwgCisgICAgNywgNiwgMSwgNzUsIDE3MCwgOTgsIDcsIDYsIDEsIDI0MiwgMTM5LCAxNzAsIDk4LCA3LCA2LCAxLCAyNDEsIDU1LCAxNzAsIAorICAgIDk4LCA3LCA2LCAxLCAyMzksIDE1NSwgMTcwLCA5OCwgNywgNiwgMSwgNzQsIDE3MCwgOTgsIDcsIDYsIDEsIDIzMiwgMjAzLCAKKyAgICAxNzAsIDk4LCA3LCA2LCAxLCAyMzIsIDc2LCAxNzAsIDk4LCA3LCA2LCAxLCAxNDksIDE3MCwgOTgsIDcsIDYsIDEsIDIyOSwgCisgICAgMjgsIDE3MCwgOTgsIDcsIDYsIDEsIDIyNiwgMzMsIDE3MCwgOTgsIDcsIDYsIDEsIDc2LCAxNzAsIDk4LCA3LCA2LCAxLCAKKyAgICAyMjIsIDY3LCAxNzAsIDk4LCA3LCA2LCAxLCAyMjAsIDI3LCAxNzAsIDk4LCA3LCA2LCAxLCAxMzcsIDE3MCwgOTgsIDcsIDYsIAorICAgIDEsIDE4MiwgMTcwLCA5OCwgNywgNiwgMSwgMjEzLCAxMCwgMTcwLCA5OCwgNywgNiwgMSwgNzEsIDE3MCwgOTgsIDcsIDYsIAorICAgIDEsIDIwOSwgMTQ4LCAxNzAsIDk4LCA3LCA2LCAxLCAyMDcsIDEyOSwgMTcwLCA5OCwgNywgNiwgMSwgMjA2LCAxOTUsIDE3MCwgCisgICAgOTgsIDcsIDYsIDEsIDIwNiwgMTIzLCAxNzAsIDk4LCA3LCA2LCAxLCAyMDUsIDE1OSwgMjQ3LCA1NywgMTcwLCA5OCwgNywgCisgICAgNiwgMSwgMjIyLCA2NywgMTcwLCA5OCwgMjM3LCAxODMsIDE3MCwgOTgsIDE3OSwgMTcwLCA5OCwgMjE3LCAxOTksIDE3MCwgCisgICAgOTgsIDI1MywgMTE1LCAxNzAsIDk4LCAyMDcsIDUyLCA0OSwgMjQ1LCA3MCwgOTgsIDI0NywgMjE4LCA5OCwgMjQ3LCAxMDEsIAorICAgIDk4LCAyNDEsIDEwNywgOTgsIDIzNywgMTc0LCA5OCwgMjI1LCA4NywgOTgsIDIyNSwgNzksIDk4LCAyMjIsIDE4NSwgOTgsIAorICAgIDIxNCwgMTY5LCA5OCwgMTIwLCAyLCAyNDIsIDE2OCwgODMsIDk4LCAyMDgsIDE1MSwgMjE5LCAyNCwgMjMzLCA1MCwgMTYsIAorICAgIDEsIDYyLCAyMTksIDI0LCAyMzMsIDUwLCAxNiwgMSwgMjUxLCAxNTAsIDIxOSwgMjQsIDIzMywgNTAsIDE2LCAxLCAyNDksIAorICAgIDM0LCAyMTksIDI0LCAyMzMsIDUwLCAxNiwgMSwgMjQ2LCAyNDAsIDIxOSwgMjQsIDIzMywgNTAsIDE2LCAxLCA3NSwgMjE5LCAKKyAgICAyNCwgMjMzLCA1MCwgMTYsIDEsIDI0MiwgMTM5LCAyMTksIDI0LCAyMzMsIDUwLCAxNiwgMSwgMjQxLCA1NSwgMjE5LCAyNCwgCisgICAgMjMzLCA1MCwgMTYsIDEsIDIzOSwgMTU1LCAyMTksIDI0LCAyMzMsIDUwLCAxNiwgMSwgNzQsIDIxOSwgMjQsIDIzMywgNTAsIAorICAgIDE2LCAxLCAyMzIsIDIwMywgMjE5LCAyNCwgMjMzLCA1MCwgMTYsIDEsIDIzMiwgNzYsIDIxOSwgMjQsIDIzMywgNTAsIDE2LCAKKyAgICAxLCAxNDksIDIxOSwgMjQsIDIzMywgNTAsIDE2LCAxLCAyMjksIDI4LCAyMTksIDI0LCAyMzMsIDUwLCAxNiwgMSwgMjI2LCAKKyAgICAzMywgMjE5LCAyNCwgMjMzLCA1MCwgMTYsIDEsIDc2LCAyMTksIDI0LCAyMzMsIDUwLCAxNiwgMSwgMjIyLCA2NywgMjE5LCAKKyAgICAyNCwgMjMzLCA1MCwgMTYsIDEsIDIyMCwgMjcsIDIxOSwgMjQsIDIzMywgNTAsIDE2LCAxLCAxMzcsIDIxOSwgMjQsIDIzMywgCisgICAgNTAsIDE2LCAxLCAxODIsIDIxOSwgMjQsIDIzMywgNTAsIDE2LCAxLCAyMTMsIDEwLCAyMTksIDI0LCAyMzMsIDUwLCAxNiwgCisgICAgMSwgNzEsIDIxOSwgMjQsIDIzMywgNTAsIDE2LCAxLCAyMDksIDE0OCwgMjE5LCAyNCwgMjMzLCA1MCwgMTYsIDEsIDIwNywgCisgICAgMTI5LCAyMTksIDI0LCAyMzMsIDUwLCAxNiwgMSwgMjA2LCAxOTUsIDIxOSwgMjQsIDIzMywgNTAsIDE2LCAxLCAyMDYsIAorICAgIDEyMywgMjE5LCAyNCwgMjMzLCA1MCwgMTYsIDEsIDIwNSwgMTU5LCA0OSwgMTYxLCAyMzgsIDE0NCwgOTgsIDY0LCAyMzEsIAorICAgIDQxLCA5OCwgNjQsIDIxNywgMTk5LCA5OCwgMTAsIDIwOSwgMjIwLCAyMzUsIDExOSwgOTgsIDEwLCAyMDksIDIyMCwgMjM1LCAKKyAgICAxMjMsIDk4LCAxMCwgMjA5LCAyMjAsIDIzNSwgMTMxLCA5OCwgNjQsIDI0NiwgOSwgOTgsIDEwLCAyMDksIDIyMCwgMjM1LCAKKyAgICAxMzgsIDk4LCAxMCwgMjA5LCAyMjAsIDIzNSwgMTI1LCA5OCwgMTAsIDIwOSwgMjIwLCAyMzUsIDk3LCA5OCwgMTAsIDIwOSwgCisgICAgMjIwLCAyMzUsIDEyNCwgOTgsIDEwLCAyMDksIDIyMCwgMjM1LCAxMzcsIDk4LCAxMCwgMjA5LCAyMjAsIDIzNSwgMTExLCAKKyAgICA5OCwgMTAsIDIwOSwgMjIwLCAyMzUsIDEwNCwgOTgsIDEwLCAyMDksIDIyMCwgMjM1LCAxMTMsIDk4LCAxMCwgMjA5LCAyMjAsIAorICAgIDIzNSwgMTM0LCA5OCwgMTAsIDIwOSwgMjIwLCAyMzUsIDEyMCwgOTgsIDEwLCAyMDksIDIyMCwgMjM1LCAxMzYsIDk4LCAxMCwgCisgICAgMjA5LCAyMjAsIDIzNSwgMTEyLCA5OCwgMTAsIDIwOSwgMjIwLCAyMzUsIDEzNSwgOTgsIDEwLCAyMDksIDIyMCwgMjM1LCAKKyAgICA5OCwgOTgsIDEwLCAyMDksIDIyMCwgMjM1LCAxMDMsIDk4LCAxMCwgMjA5LCAyMjAsIDIzNSwgOTYsIDk4LCAxMCwgMjA5LCAKKyAgICAyMjAsIDIzNSwgMTI2LCA5OCwgMTAsIDIwOSwgMjIwLCAyMzUsIDEyOCwgOTgsIDEwLCAyMDksIDIyMCwgMjM1LCAxMDYsIAorICAgIDk4LCAxMCwgMjA5LCAyMjAsIDIzNSwgMTE3LCA5OCwgMTAsIDIwOSwgMjIwLCAyMzUsIDExNSwgOTgsIDEwLCAyMDksIDIyMCwgCisgICAgMjM1LCAxNDEsIDk4LCAxMCwgMjA5LCAyMjAsIDIzNSwgMTQwLCA5OCwgMTAsIDIwOSwgMjIwLCAyMzUsIDk0LCA5OCwgMTAsIAorICAgIDIwOSwgMjIwLCAyMzUsIDEyMSwgOTgsIDEwLCAyMDksIDIyMCwgMjM1LCAxMzksIDk4LCAxMCwgMjA5LCAyMjAsIDIzNSwgCisgICAgMTMwLCA5OCwgMTAsIDIwOSwgMjIwLCAyMzUsIDExNiwgOTgsIDEwLCAyMDksIDIyMCwgMjM1LCA5NSwgOTgsIDEwLCAyMDksIAorICAgIDIyMCwgMjM1LCAxMTgsIDk4LCAxMCwgMjA5LCAyMjAsIDIzNSwgMTAwLCA5OCwgMTAsIDIwOSwgMjIwLCAyMzUsIDk5LCA5OCwgCisgICAgMTAsIDIwOSwgMjIwLCAyMzUsIDEyOSwgOTgsIDEwLCAyMDksIDIyMCwgMjM1LCAxMDcsIDk4LCAxMCwgMjA5LCAyMjAsIAorICAgIDIzNSwgMTA5LCA5OCwgMTAsIDIwOSwgMjIwLCAyMzUsIDExMCwgOTgsIDEwLCAyMDksIDIyMCwgMjM1LCAxMDIsIDk4LCAxMCwgCisgICAgMjA5LCAyMjAsIDIzNSwgMTMzLCA5OCwgMTAsIDIwOSwgMjIwLCAyMzUsIDEyNywgMjExLCA5MywgMjE1LCAyMDQsIDI0OSwgCisgICAgMTMzLCAxMCwgMjA5LCAyMjAsIDIzNSwgMTA4LCAyMTEsIDkzLCAyMTUsIDIwNCwgMjQ5LCAxMzMsIDEwLCAyMDksIDIyMCwgCisgICAgMjM1LCAxNDAsIDIxMSwgOTMsIDIxNSwgMjA0LCAyNDksIDEzMywgMTAsIDIwOSwgMjIwLCAyMzUsIDEzOCwgMjExLCA5MywgCisgICAgMjE1LCAyMDQsIDI0OSwgMTMzLCAxMCwgMjA5LCAyMjAsIDIzNSwgMTIyLCAyMTEsIDkzLCAyMTUsIDIwNCwgMjQ5LCAxMzMsIAorICAgIDEwLCAyMDksIDIyMCwgMjM1LCAxMDUsIDIxMSwgOTMsIDIxNSwgMjA0LCAyNDksIDEzMywgMTAsIDIwOSwgMjIwLCAyMzUsIAorICAgIDExOCwgMjExLCA5MywgMjE1LCAyMDQsIDI0OSwgMTMzLCAxMCwgMjA5LCAyMjAsIDIzNSwgMTAxLCAyMTEsIDkzLCAyMTUsIAorICAgIDIwNCwgMjQ5LCAxMzMsIDEwLCAyMDksIDIyMCwgMjM1LCAxMzIsIDIxMSwgOTMsIDIxNSwgMjA0LCAyNDksIDEzMywgMTAsIAorICAgIDIwOSwgMjIwLCAyMzUsIDExNCwgMzksIDE3NSwgMjUyLCAyNTAsIDM5LCAxNzUsIDI1MywgMTksIDI0NiwgMjUxLCAyNDEsIAorICAgIDE2MCwgMjQ3LCAxOTIsIDIwOSwgMjM4LCAyMjQsIDIxMCwgMiwgMjE0LCAyMywgMjEzLCAxNDksIDEzMSwgMjI2LCAxMjcsIAorICAgIDIxMywgMTQ4LCAyNDcsIDIyMiwgMjUxLCAyMDAsIDI0MywgMjEzLCAyMTMsIDE0NywgMTMxLCAyNDksIDkwLCAyMTksIDgyLCAKKyAgICAyNDksIDExNiwgMjUxLCAyMDAsIDIyNCwgMjA5LCAyMDcsIDcwLCAyMDcsIDY0LCAyMDgsIDE2NSwgMjI2LCAyMTcsIDIwNywgCisgICAgNTQsIDI0MywgMTIxLCAyNDAsIDI2LCAyNDIsIDE4MiwgMjQzLCAxMjEsIDI0MCwgMjYsIDI1MiwgMTI4LCAyNDMsIDEyMSwgCisgICAgMjQwLCAyNiwgMjUxLCAyMTgsIDI0MCwgMjYsIDIsIDIyNywgNzUsIDE4NiwgMjI2LCAxNDUsIDkzLCAyMDcsIDU2LCAyNDcsIAorICAgIDY2LCAyMjYsIDE0NSwgOTMsIDI0MSwgMjE1LCAyMTksIDIwNSwgMjI2LCAxNDUsIDkzLCAyMDcsIDU2LCAyNDAsIDU3LCAKKyAgICAyMjYsIDE0NSwgOTMsIDI0MSwgODIsIDIyNiwgMTQ1LCA5MywgMjA3LCA4MiwgMjQwLCA1NywgMjI2LCAxNDUsIDkzLCAyMzAsIAorICAgIDgxLCAyMTksIDIwNSwgMjI2LCAxNDUsIDkzLCAyMDcsIDgyLCAyNDcsIDY2LCAyMjYsIDE0NSwgOTMsIDI0NywgNjYsIDIyNiwgCisgICAgMTQ0LCAxODYsIDIyNiwgMTQ1LCAyLCAyNDIsIDY3LCAyNDEsIDIxNSwgMjE5LCAyMDUsIDIyNiwgMTQ1LCAyLCAyNDIsIDY3LCAKKyAgICAyMzAsIDgxLCAyMTksIDIwNSwgMjI2LCAxNDUsIDIsIDI0MiwgNjcsIDI0MSwgODIsIDIyNiwgMTQ1LCAyLCAyNDIsIDY3LCAKKyAgICAyMTMsIDE1NSwgMiwgMjQyLCA2NywgMjQwLCAyNCwgMjE0LCAyNiwgMjE1LCAxNDksIDIxNCwgMjYsIDIxMiwgMjksIDYwLCAKKyAgICAyNDMsIDI0NCwgNTksIDIxMywgMTU0LCA1OSwgMjEzLCAxNTUsIDIsIDUsIDI0NywgMTgzLCA1OSwgMjEzLCAxNTUsIDI1MCwgCisgICAgMzUsIDI0NywgMTgzLCA1OSwgMjEzLCAxNTUsIDI1MCwgMzUsIDI0NywgMTg0LCAyLCAyMTksIDgzLCAyNDcsIDE4NCwgMiwgCisgICAgMjE5LCA4MywgMjQ3LCAxODQsIDIsIDIxNCwgMTk5LCAyNDcsIDE4NCwgMiwgMjI5LCAyMjAsIDI0NywgMTg0LCAyLCAyMTEsIAorICAgIDk0LCAyNDEsIDE2MSwgMjA3LCAxMCwgMjQ5LCAxODgsIDI0MiwgNjcsIDI0OCwgNjQsIDIxNywgNzIsIDI0MiwgMTc2LCAKKyAgICAyMTEsIDYxLCAyNDYsIDMsIDIxMSwgNjEsIDIyMiwgMTksIDIxMSwgNjEsIDI0OCwgMjUwLCAyMzgsIDYzLCAyMjEsIDEzMywgCisgICAgMjEwLCAxNjAsIDI0OCwgNjcsIDI0OSwgMTkwLCAyMTgsIDEwMSwgMjM5LCAxMCwgMjEzLCAxNTIsIDI0OSwgMTkwLCAyNDMsIAorICAgIDEyNSwgNzMsIDIyNywgMjMwLCAyNDMsIDEyNSwgNzMsIDIxOCwgMjAzLCAyMzksIDM2LCAyNDEsIDEyNSwgMjMwLCA1NCwgCisgICAgMjQ3LCAxODIsIDIyNywgMjAzLCAyMzAsIDUzLCAyNDIsIDUxLCAyMzAsIDUzLCAyMzAsIDU0LCAyNDEsIDE2NywgMjMzLCAKKyAgICA2OSwgMjA3LCA5LCAyMjYsIDY2LCAyMTEsIDEyMiwgMjUxLCAxODMsIDIzOSwgMjQzLCAyMjcsIDkyLCAyMDcsIDY4LCAyMTIsIAorICAgIDE2OSwgMjMwLCAyMywgMjUwLCAxMzcsIDIyMSwgNiwgMjE5LCAzMiwgMjUyLCA1MCwgMjM5LCAyMjcsIDI1MiwgNTAsIDIyMSwgCisgICAgMTcwLCAyMjEsIDE3MSwgMjQ4LCA2OCwgMjEzLCAyMzYsIDIzOSwgMTE2LCAyMTQsIDIyOSwgNzMsIDIyMCwgMjQyLCAyMjcsIAorICAgIDExNSwgMjIyLCAxNjYsIDI0OSwgMTczLCAyMjAsIDE2NiwgMjMwLCAzNCwgMjE4LCAyMDQsIDI0NywgNzIsIDIxOCwgMjA0LCAKKyAgICAyNTAsIDE0OSwgMjQ3LCAxMDQsIDIxOCwgMjAzLCAyNDcsIDIyLCAyMywgMjE4LCAyMDMsIDIxNCwgMTEsIDI0OSwgMTQ0LCAKKyAgICAyMTQsIDE0OSwgMjQ5LCAxMjcsIDI0MSwgMTA2LCAyNDEsIDEwMiwgMjE4LCAxMjAsIDIxMywgMTA1LCAyMjAsIDE2OCwgCisgICAgMjQ2LCA5NywgMjIyLCAyMDgsIDIxMywgMTIzLCAyNDEsIDEwMywgMjE1LCAxMjEsIDI0MSwgMjE0LCAyNDgsIDI0NCwgMiwgCisgICAgMjEzLCA5OCwgMjQ1LCAyMDQsIDIxNCwgMTg3LCAyMzcsIDE4MiwgMjQ3LCA3MCwgMjE1LCAyMjIsIDIzNywgMTgxLCAyMzcsIAorICAgIDE4MiwgMjQ3LCA3MCwgMjQ0LCAxMSwgMjQ3LCAxMDMsIDI0OCwgMzAsIDEzNCwgMjQ4LCAyMTYsIDIyOSwgMTI5LCAyNDcsIAorICAgIDE0LCAyMzgsIDEzMywgMjIwLCAxNzAsIDIxNSwgMTMzLCAyNTAsIDE4LCAyNDksIDE0MCwgMjIwLCAxNzEsIDczLCAyNDEsIAorICAgIDE1MCwgMjQ3LCAxMDIsIDI0MSwgMTQwLCAyMywgMjMxLCA1OCwgMjEyLCAxMjgsIDIwNiwgMjUzLCAyMzksIDEwNSwgMjE3LCAKKyAgICAxNzYsIDI0OSwgMTU2LCAyMywgMjQ3LCAyOSwgMjA3LCA2LCAyNDAsIDI5LCAyNDcsIDE3MSwgMjQwLCAyOSwgMjExLCAxOCwgCisgICAgMjQzLCAyNDksIDI1MCwgNDYsIDIyNiwgMTAzLCAyNDcsIDE5OSwgMjUwLCA0NiwgMjI2LCAxMDIsIDI1MCwgMTc5LCAyNDksIAorICAgIDE1NSwgMjQxLCAxNDAsIDIzLCAyMzEsIDU5LCAyLCAyMjAsIDIzMSwgMjE4LCAyMDUsIDIwNiwgMjIyLCAyMjAsIDEzMiwgCisgICAgMjQ5LCAyMTYsIDI0OCwgMjQzLCAyMzIsIDE5NywgMjQ4LCAyMiwgMjExLCA2MSwgMjQyLCAzNiwgMjQ4LCAyMSwgMjQxLCAKKyAgICAyMTcsIDI0MSwgMjE4LCAyMTQsIDE0NywgMjUwLCAxNDgsIDIyMSwgMjA2LCAyMjAsIDE4MiwgMjQ3LCAxMzcsIDI1MCwgCisgICAgMTQ5LCAyMTIsIDE3MywgMjExLCA2MSwgMjQ3LCA1NywgMjQxLCAxOTAsIDIyMSwgNywgMjQ2LCAwLCAyMzIsIDE4OSwgMjQ1LCAKKyAgICAzNCwgMjQ4LCAxOTMsIDIxMywgMjM1LCAyMDcsIDEwLCAyNDgsIDQ2LCAyMjYsIDE0NSwgMjA4LCAyMDEsIDI0OCwgMTE1LCAKKyAgICAyMTcsIDEwNCwgMjE3LCAxMzEsIDIzOSwgMjQ4LCAyNDgsIDIxMywgMjM5LCA2MSwgMiwgMjExLCAxNjcsIDIyMiwgMTY2LCAKKyAgICAyMTIsIDQyLCAyMzAsIDQ2LCAyNDksIDE0OSwgNzMsIDI0MSwgMTcxLCAyMjYsIDIxOCwgMjI3LCAxMTIsIDIxOSwgNSwgCisgICAgMjE4LCAyMDUsIDMwLCAyMzEsIDE3MywgMiwgMjMyLCAxOTYsIDIxMywgMjA4LCAyMjYsIDI1MSwgMjI5LCAyNTQsIDIxNCwgCisgICAgMjI3LCAyNDcsIDEwOSwgMjMxLCA1NSwgMjUwLCA1OCwgMjUxLCAyMjgsIDMwLCAyMjQsIDMyLCAyNTAsIDU4LCAyNDUsIAorICAgIDIxMCwgMzAsIDIyNCwgMzIsIDI0MSwgMjMxLCAyNDEsIDExMSwgMjUyLCAyNTMsIDIxMSwgMjA1LCAyNDgsIDE5NCwgMjM4LCAKKyAgICA2NSwgMjQyLCAzLCAyMDcsIDI2LCAyMTgsIDExMSwgMjQ3LCAxNzIsIDI0MSwgMjA5LCAyMjAsIDE5NiwgMjMsIDI0MSwgCisgICAgMjEzLCAyMjYsIDI1MSwgMjI2LCAxMjEsIDI0OCwgMjMwLCAyNDcsIDIzNywgMjM5LCA2NSwgMjUxLCAyMzUsIDIyMiwgMjIsIAorICAgIDIxMSwgMTAyLCAyMzksIDg2LCAyNDcsIDIyNiwgMjEyLCA5MiwgMjExLCAyMDYsIDI0NywgMjEzLCAyNDksIDE4MSwgMjIxLCAKKyAgICAxMjYsIDI1MSwgMjM0LCAyMDgsIDIxMCwgMjQwLCAyMTgsIDI0NSwgMTA0LCAyMzgsIDI0MiwgMjE0LCAyMjAsIDIyOCwgMTUsIAorICAgIDI0OSwgMjI3LCAyNDAsIDIxOSwgMjQ1LCAxNDgsIDI0OSwgMTQzLCAyNDEsIDE3MywgMjIwLCAyMzAsIDI0OCwgMjAyLCAzMCwgCisgICAgMjI0LCAzNywgMjI2LCA5NSwgMzAsIDIyNCwgMzIsIDIxNywgMTE3LCAyMzksIDE5NywgMzAsIDIzMSwgMTcyLCAyMTAsIAorICAgIDI1MCwgMjA4LCAxOTAsIDMwLCAyMTcsIDk3LCAyMTgsIDMzLCAyMTUsIDE2MiwgMiwgMjE3LCAxMzQsIDIxMiwgOTUsIDIxOSwgCisgICAgMTAyLCAyMywgMjUwLCAxNDksIDIxNCwgMjQ1LCAyMywgMjE0LCAyNDUsIDI0OSwgMTY2LCAyNTAsIDExMSwgMjMsIDIzOCwgCisgICAgMTI3LCAyNDgsIDY5LCAyNDEsIDE5NiwgMjE0LCAxOTgsIDIxOCwgMzQsIDIxMywgMTI4LCAyMTQsIDExNywgMjI3LCAxMTIsIAorICAgIDIxMSwgMTksIDIzOCwgNjYsIDIxOSwgMTAzLCAyNTIsIDEyOSwgMjQxLCAxNDcsIDIxOCwgNDUsIDI0MSwgMTQ3LCAyMTMsIAorICAgIDEwMCwgMjA3LCA0MSwgMjI5LCAyMjQsIDI0MCwgMTAsIDIxOSwgMTA0LCAyMjYsIDEzNCwgMjE5LCAxMDQsIDI0OCwgMjA0LCAKKyAgICAyMTQsIDIwMCwgMjQ4LCAyMDksIDIyNiwgMTI4LCAyNDgsIDIyOCwgMjUwLCA2MCwgMiwgMjA5LCAyMzgsIDI0OSwgOTIsIAorICAgIDI0NywgMTIyLCAyMzgsIDU1LCAyNDksIDkwLCAyNDcsIDIyMSwgMjQ1LCAyMTQsIDIzOCwgNTUsIDI0OSwgOTEsIDI0NywgCisgICAgMjExLCAyNDksIDkxLCAyNDUsIDIwNiwgMjQ1LCAyMDcsIDIzMiwgMjI3LCAyMjUsIDE5MywgMjIxLCAyMTIsIDIxNCwgMzYsIAorICAgIDIzOCwgNTUsIDI0OSwgOTEsIDIzOCwgNTUsIDIsIDI0MCwgMjAyLCAyMjIsIDIwMSwgMjQ5LCA5MSwgMjMyLCAxODksIDIyMCwgCisgICAgMTc2LCAyMjIsIDIwMCwgMjQyLCAxODEsIDIyMCwgMTc2LCAyMjIsIDIwMCwgMjM4LCA2NCwgMjUwLCAxMzMsIDI1MSwgMTczLCAKKyAgICAyMTIsIDEwMywgMjI4LCAxNSwgMjM4LCA2MCwgMjI5LCA5OCwgMjM4LCA2MCwgMjQ3LCAxMDcsIDIxMywgMjQ3LCAyMTcsIAorICAgIDEwMywgMjQ1LCAyMTYsIDIxMywgMjQ3LCAyNDIsIDU3LCAyMzIsIDIwOCwgMjMwLCA5MSwgMjMyLCAxODksIDI0OCwgMTg1LCAKKyAgICAyNDIsIDE4MSwgMjQ4LCAxODUsIDU5LCAyMjEsIDE0NCwgNjAsIDIyMSwgMTQ0LCAyMDcsIDYyLCA1OSwgMjQxLCAxOTYsIAorICAgIDIwNywgNjIsIDYwLCAyNDEsIDE5NiwgMjE4LCAxMDAsIDYwLCAyMTgsIDEwMCwgMjMwLCAxMzMsIDIxOSwgNjUsIDIyNiwgCisgICAgMTI1LCAyMjIsIDc2LCAyMDcsIDcwLCAyNDksIDk2LCAyNDcsIDc1LCAyMTEsIDE5OCwgMjMwLCAxNCwgMjE5LCAxMDUsIAorICAgIDI0OCwgMTgzLCAyNDMsIDI1NSwgMjQ3LCA2NCwgMjA3LCAyOSwgMjE0LCAyMDYsIDIxNCwgMjA0LCAyMzgsIDY1LCAyMTksIAorICAgIDc3LCAyNDAsIDE1LCAyMTUsIDIwOCwgMjI2LCAxNjMsIDIxOCwgMTA0LCAyNDgsIDU2LCAyNDUsIDQwLCAyMjEsIDE3LCAKKyAgICAyNDksIDE4MiwgMjQzLCA2MCwgMjIyLCAyMTEsIDIxNCwgMTI4LCAyMTUsIDIwMywgMjQ5LCA5NSwgMjUyLCA5MSwgMjM4LCAKKyAgICAxMzIsIDIzMCwgMTI2LCAyNTAsIDQ0LCAyNDEsIDIxMywgMjExLCAxOCwgMjQxLCAyMTMsIDI0OSwgMTg5LCAyMTAsIDE0MSwgCisgICAgMjM5LCA4NCwgMjQ4LCA1NywgMjUwLCAxNzksIDI0OCwgNTcsIDI0MSwgOTcsIDI1MCwgMTc5LCAyNDgsIDU3LCAyNDksIAorICAgIDIxOCwgMjIxLCAxNDYsIDIzMSwgNTEsIDIyMCwgMTg2LCAyNDMsIDI0NiwgMjQ4LCAyMzIsIDI1MCwgMTY4LCAyNDgsIDIzMiwgCisgICAgMjQ1LCAzMywgMjI2LCAxMjYsIDI0MiwgNjcsIDI0NywgNzYsIDI0MiwgNjcsIDIxMSwgMTk5LCAyNDIsIDY3LCAyMTksIAorICAgIDEwNiwgMjQyLCA2NywgMjQ4LCAxODQsIDI0MiwgNjcsIDI0NCwgMCwgMjQyLCA2NywgMjE0LCAxMTUsIDIwNywgMjksIDIzOCwgCisgICAgNjYsIDI0MiwgNjcsIDIyNiwgMTY0LCAyNDIsIDY3LCAyNDUsIDQxLCAyNDIsIDY3LCAyMjEsIDE4LCAyNDIsIDY3LCAyNDEsIAorICAgIDEwMCwgMjQyLCA2NywgMjM5LCAxMTMsIDI0MiwgNjcsIDIwNiwgMjQ3LCAyNDIsIDY3LCAyNTAsIDU2LCAyNDIsIDY3LCAKKyAgICAyMjIsIDQsIDI0MiwgNjcsIDIyMSwgMTgsIDIyNCwgNDQsIDIyMSwgMTg2LCAyMjAsIDEyMSwgMjQ4LCA0MSwgMjQyLCAxNDgsIAorICAgIDI0MiwgMTUwLCAyNDMsIDEyNCwgMjI0LCA0NCwgMjI2LCAxMjMsIDIxMSwgMTA3LCA1OSwgMTIwLCAyMjAsIDIwMSwgMjUwLCAKKyAgICAxNzQsIDIzMywgNTMsIDU5LCAxMzAsIDIyMCwgMjAxLCAyNTAsIDE3NCwgMjMzLCA1MywgNTksIDQ3LCAyMjAsIDIwMSwgCisgICAgMjUwLCAxNzQsIDIzMywgNTMsIDU5LCA0OCwgMjIwLCAyMDEsIDI1MCwgMTc0LCAyMzMsIDUzLCAyNDEsIDIwNywgMjM5LCAKKyAgICAxMDgsIDUzLCAyMDcsIDYyLCAyMzksIDEwOCwgNTMsIDIyMiwgMTg2LCAyMzksIDEwOCwgNTMsIDIxMSwgMjI5LCAxMjAsIAorICAgIDUzLCAyMTEsIDIyOSwgMTMwLCA1MywgMjQ3LCAyMTIsIDIzOSwgMTAzLCA1MywgMjIyLCAxNDIsIDIzOSwgMTAzLCA1MywgCisgICAgMjQ3LCA1MiwgMjA2LCAyNDMsIDIzOSwgODYsIDI0MiwgMTQ5LCAyMjUsIDEwNywgMjEzLCA5LCAyMzIsIDE4MSwgMjQzLCAKKyAgICAyNTEsIDIzMSwgMTEwLCAyNDksIDIyOSwgMjA2LCAyNDMsIDI0NywgMTg1LCAyMjAsIDU4LCAyMzksIDEwNiwgMjIwLCAxNjcsIAorICAgIDIyNywgMjExLCAyMTUsIDE1NSwgMjUxLCAxOTYsIDIxNSwgMTU1LCAyMzgsIDI1MSwgMjE1LCAxNTUsIDIwNiwgMjQzLCAKKyAgICAyMTcsIDE0OCwgMjA2LCAyNDMsIDI0OSwgMTY1LCAyNDEsIDE0NSwgMjQ5LCA1OSwgMjMzLCA2OSwgMjE1LCA1NSwgMjQ5LCAKKyAgICA1OCwgMjMzLCA2OSwgMjE1LCA1NSwgMjQ5LCAxMzksIDI0MCwgNDAsIDIyNywgMjIxLCAyMDYsIDI0NCwgMjQyLCA0OCwgCisgICAgMjI3LCAyMjIsIDIzLCAyMDYsIDI0NSwgMjM4LCAxNDEsIDIzOSwgMTAyLCAxMTgsIDIyNywgODQsIDIzOCwgMTQxLCAyMzksIAorICAgIDEwMiwgMTE4LCAyMDYsIDI0MiwgMjM4LCAxNDEsIDIzOSwgMTAyLCAyMjAsIDE5MywgMjIyLCAxOTksIDIwNiwgMjQ1LCAyLCAKKyAgICAyNDksIDc2LCAyNDMsIDEyMiwgMjQ5LCAxMTcsIDIsIDIwOSwgMzAsIDIyMSwgMTE1LCAyLCAyNDksIDE5MiwgMjM5LCAxMjksIAorICAgIDIyNywgMjIyLCAyLCAyMzksIDIxMCwgMjIxLCA1NCwgMjI3LCAyMDcsIDIyNywgMjIyLCAyLCAyMTAsIDE0OCwgMjIyLCAKKyAgICAxNzgsIDIyNywgMjIxLCAyMjIsIDE3OCwgMjA2LCAyNDQsIDI1MCwgMTc4LCAyNDcsIDEyMywgMjA2LCAyMjgsIDIyMCwgCisgICAgMTI2LCAyMzIsIDE4OSwgMjIyLCAxOTUsIDIzMiwgMTg5LCAyNDAsIDE0LCAyNDAsIDY5LCAyNTAsIDE3OSwgMjUyLCAxMTIsIAorICAgIDI0MiwgMTU0LCAyNTIsIDE2MiwgMjUyLCAxNjMsIDIyNiwgMTU0LCAyMzMsIDc0LCAyMTQsIDI0MCwgMjMzLCA0MywgMjQ1LCAKKyAgICAyMDMsIDIyMSwgMTE0LCAyMzksIDIwNCwgMjQ2LCAxMDEsIDIyOSwgMTkxLCAyMjUsIDIxNywgMjIwLCAxOTIsIDI0MiwgNjgsIAorICAgIDIyNywgMTczLCAyMzksIDEyOCwgMjUwLCAxMjcsIDIyMCwgMTk1LCAyMTMsIDI5LCAyMjEsIDEwLCAyMzEsIDkyLCA4MywgCisgICAgMjI5LCA5OCwgMjMwLCA1LCAyMTgsIDE0OCwgMjQwLCAxNjAsIDIxMywgMjUzLCAyMzEsIDkxLCAyNDksIDE0OCwgMjQ3LCAKKyAgICA3OCwgMiwgMjM5LCA2MCwgMjA3LCA0NywgMjUwLCA1NCwgMjM5LCA2MCwgMjQ5LCAxMTEsIDIzOSwgNjAsIDExOCwgMjM5LCAKKyAgICA1OCwgMjE0LCAxNDUsIDIzOSwgNjAsIDIzOSwgMjIwLCAyMzksIDYwLCAyMzksIDYxLCAyLCA0NSwgMjQ5LCAxODcsIDIzOSwgCisgICAgNjAsIDIzOSwgMjI3LCAyMzksIDYwLCAyMDYsIDQ1LCAyMzksIDYwLCAyMjAsIDU5LCAyMzksIDYwLCAyMzksIDYxLCAyLCAKKyAgICAyMTgsIDIwNSwgMjE4LCAyMTgsIDIzOSwgNTgsIDIzOSwgNjEsIDI0NiwgMCwgMjQ1LCAxNTcsIDIxNSwgMjM0LCAyLCAzMiwgCisgICAgNjcsIDIzMywgMjUsIDI0MywgNjMsIDE0NywgMjQ5LCA4OCwgMjUyLCAxMTEsIDkzLCAyNDksIDE3NCwgMjE0LCAyMzIsIDkzLCAKKyAgICAyNDcsIDE2NCwgOTMsIDIxNCwgMTIyLCAyMTMsIDEwNywgOTMsIDI0MywgMjQ0LCAyNDYsIDc5LCA5MywgMjIxLCAxMSwgNzMsIAorICAgIDIyMCwgMTg3LCAyNDEsIDE4MiwgMjQ5LCAyNDEsIDI0NSwgNzEsIDkzLCAyMTQsIDEzNywgMjUwLCAxNDgsIDIxMSwgMjQ0LCAKKyAgICAyNTAsIDE0OCwgNTksIDI0MSwgMTcyLCAyMzgsIDMwLCAyMjAsIDE5OSwgOTMsIDIyNiwgMTY3LCAyNTAsIDE2MywgMjQ3LCAKKyAgICAyNSwgMjQyLCAxNjksIDc3LCAyNDUsIDM1LCA1MywgMjQ3LCA2OCwgMjQ4LCAyMDMsIDI1MCwgMTMyLCAyLCAyMDYsIDQzLCAKKyAgICA1MywgMjUwLCAxMzIsIDIsIDI0NSwgMzUsIDUzLCAyNTAsIDEzMiwgMiwgMjQyLCAxODQsIDUzLCAyNTAsIDEzMiwgMiwgCisgICAgMjIwLCAxNjUsIDUzLCAyMjYsIDE2NywgMiwgMjA3LCA0LCAyNDgsIDkwLCAyLCAxNjcsIDIxMSwgNTcsIDIzLCAyMDYsIDQzLCAKKyAgICA1MywgMjE3LCA4MywgMjIxLCAxMTMsIDI0NywgMTQyLCAyNDksIDExNSwgMjI2LCAyMDcsIDI0MSwgMTc3LCAyNDUsIDkyLCAKKyAgICAyMjIsIDEyNiwgMjQ1LCA5NywgMjQzLCAyMDgsIDI0MSwgMjM2LCAyNDEsIDE1OCwgMjIyLCAxNDIsIDI0MSwgMjM2LCAyNDEsIAorICAgIDE1OCwgMjIyLCAzOCwgMiwgMjQ3LCAyNywgMjIyLCAzOCwgMjQyLCA2MCwgMjA5LCAyMDYsIDI0OCwgMjM3LCAyMTIsIDEyNywgCisgICAgMjQ4LCAyMzcsIDE5MSwgMjMzLCA1MywgMjQ4LCA5MCwgMiwgMTY3LCAyMTEsIDU2LCAyNDgsIDkwLCAyLCAxNzMsIDIxMSwgCisgICAgNTYsIDI1MCwgMTI5LCAyNDgsIDg5LCAyNDcsIDE5OCwgMjIwLCA1NCwgMjE4LCA5NSwgMjIwLCA1NCwgMjIxLCAyMzQsIAorICAgIDIxMywgMjQzLCAyMTgsIDQwLCAyMTEsIDQ4LCAyMTgsIDQwLCAyNDksIDE3MCwgMjEyLCAyMDUsIDIzMCwgNTEsIDIyNCwgCisgICAgMzUsIDIyNCwgMzYsIDIsIDI0NSwgMjU1LCAyNDcsIDc3LCAyNDcsIDE5MiwgMjQ5LCAxNzEsIDIyMiwgMTQyLCAyNDksIAorICAgIDE3MSwgMjM5LCAyMjcsIDI0OSwgMTcxLCAyNDksIDE4NywgMjQ5LCAxNzEsIDIyMiwgMTIxLCAyNDksIDE3MSwgMjQ5LCAKKyAgICAxNjgsIDIyNSwgMjExLCAyNTAsIDE2NiwgMjE3LCA5MSwgMjI3LCA4NSwgMjEyLCAxMDgsIDIxOSwgNDUsIDIyMiwgMzYsIAorICAgIDI0MiwgMzMsIDIyOCwgMTUsIDIxNywgMTMwLCAyNTIsIDg4LCAyMjAsIDc2LCAyNTMsIDIsIDIyOSwgMTAwLCAyNDgsIDc2LCAKKyAgICAyMjcsIDk3LCAyMjIsIDkyLCAyMTEsIDY0LCAyMzMsIDY1LCAyMTEsIDY0LCAyMjIsIDQ0LCAyNDMsIDE3NywgOTMsIDIzMywgCisgICAgNjIsIDI0MywgOCwgMjQzLCA5LCAyLCAxNzMsIDUxLCA1MiwgMjQ3LCAxOTIsIDIyNywgMjM2LCAyLCAyMjksIDkxLCAyNDEsIAorICAgIDE5NiwgMjQ3LCAxOTIsIDIyNywgMjM2LCAyLCAyMTksIDgxLCAyNDEsIDE5NiwgMjIyLCAxNDIsIDIyNywgMjM2LCAyLCAKKyAgICAyMTksIDgxLCAyNDEsIDE5NiwgMjIyLCAxNDIsIDIyNywgMjM2LCAyLCAyMjksIDkxLCAyNDEsIDE5NiwgMjIwLCAxNzMsIAorICAgIDIyMCwgMTc0LCAyMzgsIDY5LCAyMjUsIDg0LCAyMjYsIDE3OSwgMjIxLCA2MiwgMjI2LCAxNzksIDIyMSwgNjMsIDIsIDg2LCAKKyAgICA1MSwgMjUxLCAyMDAsIDIzMCwgNDYsIDIwOCwgMjEzLCAyMjYsIDE3OCwgMjI2LCAxNzksIDIyMSwgNjMsIDIyMiwgMjAyLCAKKyAgICAyMjQsIDY4LCAyMjYsIDE3OSwgMjIxLCA2MSwgMjUyLCA4OSwgMiwgMjUwLCAxMTgsIDI0OCwgMjMwLCAyNDgsIDIzMSwgMiwgCisgICAgMjQxLCAxODksIDIwOCwgMjEwLCAyNDgsIDIzMCwgMjEyLCAxMDUsIDIxOSwgOTcsIDIwOCwgMjA5LCAyNDEsIDIzMSwgMjIwLCAKKyAgICAxMDgsIDIyMCwgMTc5LCAyMTQsIDYsIDIxMCwgMTEwLCA4NiwgMjUxLCAyNDEsIDI0NywgMTk0LCA4NiwgMjMsIDkyLCAyMjIsIAorICAgIDE0MiwgMjQ3LCAyMzQsIDI1MSwgMjQxLCAyNDcsIDE5NCwgODYsIDIzLCA5MiwgMjIyLCAxNDIsIDI0NywgMjM0LCAyNTEsIAorICAgIDI0MiwgMiwgMzksIDExOSwgMjIyLCA4MiwgMjQ3LCAxOTQsIDE3MywgMjMsIDE2NywgMjIyLCAxNDIsIDI0NywgMjM0LCAKKyAgICAyNTEsIDI0MSwgMjUyLCA4NywgMTczLCAyMywgMTY3LCAyMjIsIDE0MiwgMjQ3LCAyMzQsIDI1MSwgMjQxLCAxMTQsIDI0OSwgCisgICAgMTE0LCA5MywgMTI3LCAyNDksIDExNCwgOTMsIDIxNCwgMTQyLCAyLCAyNDgsIDIyMywgOTEsIDIxNCwgMTQxLCAyMTQsIAorICAgIDE0MiwgMiwgMTE5LCAyMTQsIDE2NSwgMjA3LCA2NCwgMjE0LCAxNDIsIDIsIDEyOSwgMjE0LCAxNjUsIDIwNywgNjMsIDI1MCwgCisgICAgMTAyLCAyNDMsIDYzLCAyMjAsIDIyMywgMjMwLCA0MSwgMjI3LCAyNDgsIDI0MCwgMjksIDIxOCwgMTYyLCAyMjcsIDI0OCwgCisgICAgMjQwLCAyOSwgMjI5LCAxNDAsIDIsIDIzMywgMzYsIDIyMSwgMTUwLCAyNDcsIDE5MiwgMjI5LCAxNDAsIDIsIDIzMSwgMTc0LCAKKyAgICAyMzEsIDE3NCwgMjI5LCAxMzksIDIyMiwgMTQyLCAyMjksIDEzOSwgMjUwLCAyOCwgMjUwLCAyOSwgMiwgMjQ4LCAyMjMsIAorICAgIDkxLCAyNDksIDE2OSwgMjI5LCAxOTYsIDkzLCAyMTksIDk4LCAyNDksIDU0LCAyNTAsIDE3NywgMiwgOTIsIDUxLCA1MiwgCisgICAgMjQzLCAzNCwgMiwgOTIsIDUxLCA1MiwgMjIyLCAxNjYsIDIsIDI0MiwgMTY4LCAxNDEsIDIsIDQ3LCA0OCwgNTEsIDUyLCAKKyAgICAyMTQsIDE3MywgMiwgODYsIDUxLCA1MiwgMjExLCAxMDIsIDIsIDE2NywgNTEsIDUyLCAyMjQsIDY4LCAxMTksIDIwOSwgCisgICAgMjI3LCAyNDMsIDg2LCA5MywgMjMxLCAxNzEsIDIxMiwgOTgsIDIzMywgMzAsIDE2LCAzMywgNywgNiwgMjMwLCA0LCAyMzMsIAorICAgIDMwLCAxNiwgMzMsIDcsIDUsIDIzMCwgNCwgMjMzLCAzMCwgMTYsIDMzLCAyMjMsIDE3OCwgMjMzLCAzMCwgMTYsIDMzLCAKKyAgICAyMTMsIDQyLCAyMzMsIDMwLCAxNiwgMzMsIDcsIDIzMCwgNCwgMjQxLCAyMTksIDI0MywgNjMsIDIxMSwgOTcsIDIwNiwgCisgICAgMjIwLCAyMzksIDExNCwgMjIzLCAxNjEsIDIzLCAyNDksIDE3NiwgMjM4LCAxNDcsIDIyMCwgMjQ4LCAyMjYsIDI1MCwgMjEyLCAKKyAgICAxMDYsIDI0NywgNDIsIDI1MCwgMTQ5LCAyMTUsIDEwLCAyMjAsIDIwMywgMjE0LCAyNywgMiwgMjI2LCAyNDcsIDI0NSwgMjMsIAorICAgIDIzMiwgMTg5LCAxNiwgMzMsIDI1MCwgNDEsIDIxMSwgNDYsIDI0MywgNDcsIDYwLCA0OSwgMjQ5LCA1NCwgNTksIDQ5LCAKKyAgICAyNDksIDU0LCAyMzAsIDg2LCAyMTksIDMyLCAyNDcsIDIzMywgMjMwLCA4NiwgMjQ5LCAxODcsIDI0NywgMjMzLCAyMzAsIAorICAgIDg2LCAyMjIsIDEyMSwgMjQ1LCAxNTYsIDIzMCwgODYsIDI0OSwgMTg3LCAyNDUsIDE1NiwgNSwgMjIyLCAxMjEsIDI0NSwgCisgICAgMTU2LCA1LCAyNDksIDE4NywgMjQ1LCAxNTYsIDIwOSwgMjA1LCAyMTksIDMyLCAyMTEsIDUxLCAyNDQsIDcsIDIxOSwgMzIsIAorICAgIDIxMSwgNTEsIDIwOSwgMjA1LCA1LCAyMTksIDMyLCAyMTEsIDUxLCAyNDQsIDcsIDUsIDIxOSwgMzIsIDIxMSwgNTEsIDIyOSwgCisgICAgOTIsIDQ4LCAyMTUsIDI0NiwgNTksIDI0NywgMjMzLCAyMDksIDIwMywgNDgsIDIxNSwgMjQ2LCA1OSwgMjQ3LCAyMzMsIDM5LCAKKyAgICAyNDcsIDYwLCAyMjAsIDE5MCwgMjQ3LCA2MCwgMjIwLCAxOTEsIDIsIDIzOSwgMTIwLCA1NSwgMjQ3LCA2MCwgMjIwLCAxOTAsIAorICAgIDIyNCwgMzksIDQ3LCAyMTYsIDU1LCAyLCAxMjksIDI0NSwgMjEsIDIyNCwgMzksIDQ4LCAyMTYsIDU1LCAyLCAxMjksIDI0NSwgCisgICAgMjEsIDE2LCAzMywgMjI3LCAxODYsIDI0OCwgOTYsIDU5LCA3LCAyNDcsIDU5LCA3NywgNywgMjQ3LCA1OSwgMjQ4LCAxMzMsIAorICAgIDI0NywgNTksIDIyMiwgMTc0LCA5MywgMjQ0LCAxMCwgNzMsIDIyMSwgMTcyLCAyNDcsIDE5NiwgMjQyLCA2OCwgMTE5LCAKKyAgICAyMjIsIDIxNiwgMjQ3LCAxOTYsIDI0MiwgNjgsIDExOCwgMjIyLCAyMTYsIDI0NywgMTk2LCAyNDIsIDY4LCAxMjksIDIyMiwgCisgICAgMjE2LCAyNDcsIDE5NiwgMjQyLCA2OCwgMjQxLCAxMjUsIDIyMiwgMjE2LCAyNDcsIDE5NiwgMjQyLCA2OCwgMjQxLCAyMDQsIAorICAgIDIyMiwgMjE2LCAyNDcsIDE5NiwgMjQyLCA2OCwgMjE1LCAxMCwgMjIyLCAyMTYsIDI0NywgMTk2LCAyNDIsIDY4LCAyMTYsIAorICAgIDIzLCAyMjIsIDIxNiwgMjQ3LCAxOTYsIDI0MiwgNjgsIDI0MywgODgsIDIyMiwgMjE2LCAyNDcsIDE5NiwgMjQyLCA2OCwgCisgICAgMjI0LCAxOTUsIDIyMiwgMjE2LCAyNDcsIDE5NiwgMjQyLCA2OCwgMjEyLCA5OSwgMjIyLCAyMTYsIDI0NywgMTk2LCAyNDIsIAorICAgIDY4LCAyNDMsIDU5LCAyMjIsIDIxNiwgMjQ3LCAxOTYsIDI0MiwgNjgsIDIxMCwgMTI3LCAyMjIsIDIxNiwgMjQ3LCAxOTYsIAorICAgIDI0MiwgNjgsIDIyMiwgMTYxLCAyNDcsIDE5NiwgMjQyLCA2OCwgMjEwLCAxMDYsIDI0NywgMTk2LCAyNDIsIDY4LCAyMTEsIAorICAgIDIzNCwgMjQ3LCAxOTYsIDI0MiwgNjgsIDI0MSwgMTIxLCAyNDcsIDE5NiwgMjQyLCA2OCwgMjQxLCAyMDIsIDI0NywgMTk2LCAKKyAgICAyNDIsIDY4LCAyMTUsIDYsIDI0NywgMTk2LCAyNDIsIDY4LCAyMTYsIDIyLCAyNDcsIDE5NiwgMjQyLCA2OCwgMjQzLCA4NywgCisgICAgMjQ3LCAxOTYsIDI0MiwgNjgsIDIyNCwgMTk0LCAyNDcsIDE5NiwgMjQyLCA2OCwgMjEyLCA5NywgMjQ3LCAxOTYsIDI0MiwgCisgICAgNjgsIDI0MywgNTcsIDI0NywgMTk2LCAyNDIsIDY4LCAyMTAsIDEyNSwgNDgsIDIxNCwgMTQxLCA0OCwgMjE0LCAxNDIsIDIsIAorICAgIDExOSwgMjE0LCAxNjUsIDIwNywgNjQsIDQ4LCAyMTQsIDE0MiwgMiwgMTI5LCAyMTQsIDE2NSwgMjA3LCA2MywgMjQ5LCA4MywgCisgICAgMjQ5LCA4NCwgMiwgMjE0LCAxNjUsIDIwNywgNjMsIDIxOCwgMTQ3LCAyNTAsIDI4LCAyNDksIDE3MSwgMjQ4LCAyMjEsIAorICAgIDIyNywgMjA4LCAyNDcsIDE5NSwgNjAsIDIxNCwgMjQxLCAyMywgMjQ3LCA1OCwgMjI0LCA2OCwgMjIwLCAyNTQsIDIzOCwgCisgICAgMTQwLCAyMjcsIDIyMiwgMjMzLCA2OSwgMjQ5LCA2MSwgMjEzLCAxNjgsIDIyOSwgMjUzLCAyMTQsIDIzMCwgMjIyLCAxMjMsIAorICAgIDIxNCwgMTA4LCAyNDYsIDg0LCAyMTMsIDE1MCwgMjE0LCAxMzAsIDIxNCwgMTMxLCAyMDcsIDQ4LCAyMzIsIDEwNSwgNDcsIAorICAgIDIzOSwgMTA4LCAyMTIsIDEwOCwgMjE5LCA0NSwgMjEyLCAxMDgsIDIxOSwgNDYsIDIsIDIyMiwgMzcsIDQ4LCAyMzksIDEwOCwgCisgICAgMjEyLCAxMDgsIDIxOSwgNDUsIDU5LCAyMTEsIDg5LCAyMTIsIDEwNywgNjAsIDIxMSwgODksIDIxMiwgMTA3LCAyMTIsIAorICAgIDEwOCwgMjIyLCAxNjYsIDIxMSwgMTAyLCA3MywgMjI2LCAxNzUsIDI0NywgMjE2LCAyMjYsIDE3OSwgMjIxLCA2MiwgMjUwLCAKKyAgICAxNzcsIDczLCAyNDMsIDgsIDIxNCwgMzIsIDI0MywgOCwgMjQzLCA5LCAyLCAyMjksIDIyMCwgMjQxLCAxNjUsIDI0MywgOCwgCisgICAgMjIxLCAxNTEsIDEzMSwgMjE0LCAzMiwgMjQzLCA4LCAyMjksIDE5NSwgMjIxLCAyMzMsIDYwLCAyMjAsIDU0LCAyMjksIDkyLCAKKyAgICA0NywgMjIxLCAxNDksIDIyOSwgOTIsIDQ3LCAyNTAsIDE0NCwgMjIxLCAxNTAsIDIyOSwgOTIsIDQ3LCAyNDEsIDEyNywgCisgICAgMjIxLCAxNTAsIDIyOSwgOTIsIDQ3LCAyMjIsIDMxLCAyMjksIDkyLCA0NywgMjQ3LCA3MSwgNDcsIDIwNiwgMjE5LCAyMzksIAorICAgIDEwNywgMjAxLCAyMjIsIDE4NiwgMjM5LCAxMDgsIDUzLCAyMTksIDgxLCAyMzksIDEwOCwgMiwgMjQxLCAyMjQsIDIxNCwgCisgICAgMTIxLCAyMTgsIDIyNCwgMjE5LCA4MSwgMjM5LCAxMDgsIDIsIDI0MSwgMjI0LCAyMTQsIDEyMSwgMjE4LCAyMjQsIDIxMSwgCisgICAgMjI5LCAxMjAsIDUzLCAyMTgsIDIyNCwgMjExLCAyMjksIDEzMCwgNTMsIDIxOCwgMjI0LCAyMDgsIDIxMiwgMjM5LCAxMDcsIAorICAgIDIxOCwgMjI0LCAyMzksIDEwOCwgMiwgMjI2LCAyNDcsIDI0MSwgMjI4LCAyNDIsIDE1OCwgMjE5LCA4MSwgMjM5LCAxMDgsIAorICAgIDIsIDIyMSwgMjExLCAyNTAsIDYsIDIyNiwgMjQ3LCAyMywgMjE4LCAxNDksIDI0MSwgMjIzLCA1OSwgMTMwLCAyMjAsIDIwMSwgCisgICAgNDcsIDIzOSwgMTA4LCAyMzMsIDUzLCAyMTUsIDczLCA1OSwgNDcsIDIyMCwgMjAxLCAyMzMsIDUzLCAyMTUsIDczLCA1OSwgCisgICAgNDgsIDIyMCwgMjAxLCAyMzMsIDUzLCAyMTUsIDczLCA2MCwgNDcsIDIyMCwgMjAxLCAyMzMsIDUzLCAyMTUsIDczLCA2MCwgCisgICAgNDgsIDIyMCwgMjAxLCAyMzMsIDUzLCA2MCwgNDcsIDIyMCwgMjAxLCAyNTAsIDE3NCwgMjMzLCA1MywgNjAsIDQ4LCAyMjAsIAorICAgIDIwMSwgMjUwLCAxNzQsIDIzMywgNTMsIDIxNSwgNzMsIDU5LCAxMjAsIDIyMCwgMjAxLCAyMzMsIDUzLCAyMTUsIDczLCA1OSwgCisgICAgMTMwLCAyMjAsIDIwMSwgMjMzLCA1MywgMjE1LCA3MywgNjAsIDEyMCwgMjIwLCAyMDEsIDIzMywgNTMsIDIxNSwgNzMsIDYwLCAKKyAgICAxMzAsIDIyMCwgMjAxLCAyMzMsIDUzLCA2MCwgMTIwLCAyMjAsIDIwMSwgMjUwLCAxNzQsIDIzMywgNTMsIDYwLCAxMzAsIAorICAgIDIyMCwgMjAxLCAyNTAsIDE3NCwgMjMzLCA1MywgMjQ1LCAyMDIsIDI0NywgMTQyLCAyMzEsIDE3MywgMjMsIDIyNiwgMTI1LCAKKyAgICAxMjksIDIyNSwgOTAsIDI0NywgMTQxLCAyMjAsIDEyMiwgMjIwLCAyMDksIDI0OCwgMjM5LCA2MCwgMjM5LCA5NCwgMjE1LCAKKyAgICAyMDQsIDI0MSwgMTc3LCAyNDUsIDkyLCA1OSwgMjM5LCA5NCwgMjE1LCAyMDQsIDI0MSwgMTc3LCAyNDUsIDkyLCAyMTQsIAorICAgIDE4NywgMjE1LCAyMDQsIDI0MSwgMTc3LCAyNDUsIDkyLCAyMTIsIDE2NSwgMjQ4LCAxODgsIDIwNywgMCwgMjMxLCAxNzIsIAorICAgIDExOSwgMjQ5LCA1NSwgMjI2LCAxMjUsIDExOCwgMjQ5LCA1NSwgMjI2LCAxMjUsIDEyOSwgMjQ5LCA1NSwgMjI2LCAxMjUsIAorICAgIDIxMSwgODEsIDQ0LCAyMjEsIDExMywgMjQ3LCAxNDIsIDIzOSwgOTQsIDI0NSwgOTIsIDIxNywgOTMsIDIyMCwgMTIzLCAKKyAgICAyMzcsIDE3NSwgMjQyLCAzMywgMjM3LCAxNzUsIDIyMiwgMTI2LCAyNDUsIDk4LCAyMzcsIDE3NSwgMjQ1LCA0NSwgMiwgCisgICAgMjEyLCA2MCwgMjQ1LCA0NSwgMiwgMjEyLCA2MSwgMjMsIDIyMSwgNDcsIDI0NSwgNDUsIDIsIDIyMSwgNDcsIDI0MSwgMTEzLCAKKyAgICAyLCAyMjEsIDQ3LCAyNDEsIDExMywgMiwgMjExLCAxNzgsIDI0MSwgMTEzLCAyLCAyNTIsIDEyMywgMjA2LCAxOTUsIDYwLCAKKyAgICAyNDEsIDE1OCwgMjQxLCAxNTgsIDIyMiwgMTQyLCAyNDEsIDE1OCwgMTkxLCAyMzMsIDU0LCAyNDUsIDc4LCAxOTEsIDI0MSwgCisgICAgMjM2LCAyNDksIDE0MCwgMjQxLCAyMzYsIDI0OCwgMjUyLCAyNDMsIDQzLCAyMjQsIDM3LCAyNDMsIDQzLCAyMjQsIDM4LCAKKyAgICAyMjIsIDM3LCAyNDMsIDQzLCAyMjQsIDM4LCAyMjIsIDQyLCAyMjQsIDM3LCAyMjQsIDM4LCAyMjIsIDM3LCAyMjQsIDM4LCAKKyAgICAyMjIsIDQyLCAyNDMsIDQzLCAyNDUsIDQ0LCAyNDMsIDQzLCAyMjIsIDM3LCAyNDMsIDQzLCAyMjIsIDM1LCAyNDUsIDQ0LCAKKyAgICAyMjIsIDM3LCAyMjIsIDM1LCAyMDcsIDc0LCAyMTQsIDEyOCwgMjI0LCAzOCwgMjIyLCA0MiwgMjE0LCAxMjgsIDI0OCwgCisgICAgMjM4LCAyMjIsIDQyLCAyNDUsIDIwMiwgMjA3LCA4LCAyMjYsIDIwNCwgMjI3LCAxNjMsIDIyMiwgODQsIDI0NywgMTk0LCAKKyAgICA0OCwgMjMsIDQ3LCAyMTYsIDU1LCAyNTEsIDI0MSwgMjQ4LCAyMjMsIDIwNiwgMTk1LCAyMzMsIDYwLCAyNDEsIDE1MiwgCisgICAgMjE0LCAyNTAsIDkzLCAyNDUsIDI1NCwgMjQxLCAxNTIsIDIxNCwgMjUwLCA5MywgMjQ3LCAxNDMsIDQ0LCAyMzEsIDE3NCwgCisgICAgMjE4LCAxMTIsIDIyNSwgODQsIDIyMiwgMzgsIDIsIDM5LCAyMTIsIDYwLCAyMTMsIDI1NSwgMjQ4LCA4OSwgMjQ2LCAxMjksIAorICAgIDIzMSwgNTgsIDIyOSwgMTkyLCAyMTQsIDE0MCwgMjM5LCA2OSwgMjMzLCA2OSwgMjE1LCA1NSwgMTI5LCAyMTksIDU2LCA1MiwgCisgICAgMTI5LCAyMTksIDU2LCA1NSwgMTI5LCAyMTksIDU2LCAyMzAsIDQ2LCAxMjksIDIxOSwgNTYsIDIxOCwgMTY3LCA0NywgMjE0LCAKKyAgICAxMzcsIDI0OSwgMTAwLCA0OCwgMjE0LCAxMzcsIDI0OSwgMTAwLCAxMTgsIDIxNCwgMTM3LCAyNDksIDk5LCAxMjksIDIxNCwgCisgICAgMTM3LCAyNDksIDk5LCA0NywgMjExLCAyNDQsIDI0OSwgMTAwLCA0OCwgMjExLCAyNDQsIDI0OSwgMTAwLCA0NywgMjUyLCAKKyAgICAxMTEsIDI0OSwgMTAwLCA0OCwgMjUyLCAxMTEsIDI0OSwgMTAwLCAyMjYsIDE0OSwgMjQ5LCAxMDAsIDIyOSwgMjIxLCAyMjYsIAorICAgIDE0OSwgMjQ5LCAxMDAsIDIyOSwgMjIxLCAyMjYsIDE0OCwgMjUwLCAxNDYsIDk2LCAyLCAyNTAsIDE0NSwgMjUwLCAxNDYsIAorICAgIDEyMSwgMjA2LCAxOTUsIDI1MCwgMTQ2LCA5NiwgMiwgMTIxLCAyMDYsIDE5NSwgMjUwLCAxNDYsIDI0LCAxMjEsIDIwNiwgCisgICAgMTk1LCAyNTAsIDE0NiwgOTYsIDIsIDI0LCAxMjEsIDIwNiwgMTk1LCAxNDcsIDI0OCwgODEsIDgzLCAyNTAsIDE0NiwgOTYsIAorICAgIDIsIDI0LCAyNDgsIDgwLCAyMDYsIDIyNywgMjI3LCAyMDUsIDIyNiwgMTMwLCAyNDEsIDgzLCAyMTEsIDEyNCwgMjExLCA4NiwgCisgICAgMjE0LCAxOCwgNzMsIDIyOSwgMjMzLCAyMTUsIDU2LCA3MywgMjMyLCAxOTAsIDIyNiwgMTE5LCAyMzksIDIyNCwgMjQyLCAKKyAgICA2NywgMjM5LCAyMjQsIDI0MiwgNjgsIDIsIDIxNCwgMjEwLCAyNDIsIDE0OCwgMjQyLCA2OCwgMiwgMjEyLCAxMjMsIDczLCAKKyAgICAyMzIsIDEwNywgMjE0LCAyMTAsIDI0MiwgNjgsIDIsIDIyMiwgMTQyLCAyMjYsIDEyMywgMjE0LCAyMTAsIDI0MiwgNjgsIDIsIAorICAgIDIyMiwgMTQyLCAyMjYsIDEyNCwgMjMsIDIxNCwgMjEwLCAyNDIsIDE0OCwgMjE0LCAyMTAsIDI0MiwgNjgsIDIsIDIyMiwgCisgICAgMTQyLCAyMjYsIDEyNCwgMjMsIDI0NywgMTY2LCAyMTMsIDEwNiwgMjE0LCAyMTAsIDI0MiwgNjgsIDIsIDIyMiwgMTQyLCAKKyAgICAyMjYsIDEyNCwgMjMsIDIxMSwgMTk2LCAyNDIsIDE0OCwgMjE0LCAyMTAsIDI0MiwgNjgsIDIsIDIzOSwgMTE5LCAyMTQsIAorICAgIDIxMCwgMjQyLCA2OCwgMiwgMjM4LCA2OCwgMjA3LCAyLCAyNDIsIDY3LCAyMTQsIDIxMCwgMjQyLCA2OCwgMiwgMjE0LCAKKyAgICAyMTAsIDI0MiwgMTQ4LCAyNDIsIDY4LCAyMTcsIDEyMiwgMjQ1LCAyMzUsIDI0MSwgMTUwLCAyMTksIDgsIDI0MiwgNjcsIAorICAgIDIxNCwgMjEwLCAyNDIsIDY4LCAyLCAyMzksIDU5LCAyNDIsIDE0OCwgMjE0LCAyMTAsIDI0MiwgNjgsIDIsIDIxMywgMTUwLCAKKyAgICAyMTQsIDIwOSwgMjQyLCA2NywgMjI1LCA4OCwgMjQyLCA2NywgMjQyLCAxNjAsIDI0MiwgNjcsIDIwOSwgMjMyLCAyNDIsIAorICAgIDY3LCAyNDIsIDY4LCAyLCAyNDcsIDE2NiwgMjEzLCAxMDYsIDIyMSwgMTQyLCAyNDIsIDY3LCAyNDcsIDEzNCwgMjQyLCA2NywgCisgICAgMjQ3LCAxMzUsIDI0MiwgNjcsIDIzMSwgOTAsIDI0MiwgNjcsIDI0MiwgNjgsIDIxMSwgMjMxLCAzMiwgMjMxLCA5MSwgMjMxLCAKKyAgICA5MCwgMjQyLCA2OCwgMiwgMjE0LCAyMTAsIDI0MiwgMTQ4LCAyMzEsIDkwLCAyNDIsIDY4LCAyLCAyNDcsIDE5MiwgMjQyLCAKKyAgICAxNDgsIDI0MiwgNjgsIDIsIDIxMywgMjA5LCAyMTEsIDEwNywgMjQyLCA2OCwgMiwgMjEzLCAyMDksIDIxMSwgMTA4LCAyMywgCisgICAgMjA3LCAyLCAyNDIsIDE1MCwgMjQyLCA2OCwgMiwgMjEzLCAyMDksIDIxMSwgMTA4LCAyMywgMjExLCAxOTYsIDI0MiwgMTQ4LCAKKyAgICAyNDUsIDk5LCAyNDIsIDY3LCAyMDYsIDIyNiwgMjQyLCA2NywgMjUyLCAxMDcsIDI0MiwgNjcsIDIyMCwgMTY0LCAyNDIsIAorICAgIDY3LCAyNDcsIDQ0LCAyNDIsIDY3LCAyMjEsIDExNywgMjQyLCA2NywgMjQyLCA2OCwgMiwgMjI5LCAxMTQsIDczLCAyMTEsIAorICAgIDI5LCAyNDUsIDk5LCAyNDksIDU3LCAyMTksIDgsIDI0MiwgNjcsIDI0MSwgOTQsIDI0MiwgNjgsIDIsIDIyMiwgMTQyLCAKKyAgICAyMjYsIDEyMywgMjUyLCAxMDUsIDI0MiwgNjcsIDI0MiwgMjYsIDI0MiwgNjcsIDIwNywgNDksIDI0MiwgNjcsIDIxNCwgCisgICAgMjMxLCAyNDIsIDY3LCAyMTEsIDE2MSwgMjQyLCA2NywgMjM5LCAyMjUsIDI0MiwgNjcsIDIyOSwgMTAxLCAyNDcsIDQ0LCAKKyAgICAyNDIsIDY3LCAyNDIsIDY4LCAyLCAyMjIsIDE0MiwgMjI2LCAxMjMsIDIzOCwgMjAsIDI0MiwgNjcsIDI0MiwgNjgsIDIsIAorICAgIDIyMiwgMTQyLCAyMjYsIDEyNCwgMjMsIDI0NywgMTY2LCAyMTMsIDEwNiwgMjQyLCA2OCwgMjE3LCA5NSwgMjMzLCA2OSwgCisgICAgMjQyLCAyNywgMjUxLCAyMDYsIDI0MiwgNjcsIDI0MSwgMTY5LCAyNDIsIDY3LCAyMTQsIDIzMiwgMjQyLCA2NywgMjQ1LCAKKyAgICA3MSwgMjQyLCA2NywgMjQyLCA2OCwgMjA2LCAyNTMsIDIyNiwgMTIzLCAyNDIsIDY4LCAyLCAyMjcsIDExMSwgMjI3LCAxNzUsIAorICAgIDIzOSwgMjI0LCAyNDgsIDE4NCwgMjQyLCA2OCwgMiwgMjE0LCAyMTAsIDI0MiwgMTQ4LCAyNDgsIDE4NCwgMjQyLCA2OCwgMiwgCisgICAgMjEyLCAxMjMsIDczLCAyMzIsIDEwNywgMjE0LCAyMTAsIDI0OCwgMTg0LCAyNDIsIDY4LCAyLCAyMjIsIDE0MiwgMjI2LCAKKyAgICAxMjMsIDIxNCwgMjEwLCAyNDgsIDE4NCwgMjQyLCA2OCwgMiwgMjM5LCA1OSwgMjQyLCAxNDgsIDI0OCwgMTg0LCAyNDIsIAorICAgIDY4LCAyLCAyMDYsIDIxNywgMjE0LCAyMTEsIDIzMSwgOTAsIDI0OCwgMTg0LCAyNDIsIDY4LCAyLCAyNDcsIDE5MiwgMjQyLCAKKyAgICAxNDgsIDIyMCwgMTY0LCAyNDgsIDE4NCwgMjQyLCA2NywgMjQ3LCA0NCwgMjQ4LCAxODQsIDI0MiwgNjcsIDIwNywgNDksIAorICAgIDI0OCwgMTg0LCAyNDIsIDY3LCAyMTQsIDIyNSwgMjQxLCA5NCwgMjQyLCA2NywgMjE0LCAyMjUsIDIxNCwgMjEwLCAyNDIsIAorICAgIDY3LCAyNDIsIDY4LCAyLCAyMjQsIDY4LCAyNDAsIDcsIDI0MCwgMTQwLCAyNDIsIDY4LCAyLCAyMjIsIDE4NiwgMjQwLCAKKyAgICAxNDAsIDIyMSwgMTE1LCAyNDksIDE0NSwgMjQ1LCAyNDksIDIxNywgNzMsIDIyNiwgMTYzLCAyMzksIDYyLCAyMjYsIDE2MywgCisgICAgMjE0LCAxNDMsIDIyNiwgMTYzLCAyMzksIDk2LCAyMjEsIDExNSwgMjE5LCA4MCwgMTE5LCAyMzksIDEwNywgMjIxLCAxMTUsIAorICAgIDIxOSwgODAsIDI0OSwgMTU3LCAyMzksIDEwMywgMjMzLCA2OSwgMjQ4LCAxMzUsIDIyMSwgMTE1LCAyNDEsIDkzLCAyMjEsIAorICAgIDExNSwgMiwgMjIwLCAxNjQsIDI0MiwgNjcsIDIyMSwgMTE1LCAyLCAyNDEsIDE1OSwgMjM5LCAxMDIsIDE0MywgMjA3LCAzNiwgCisgICAgMjIwLCAyMDEsIDIzMCwgNTMsIDE4OCwgMjA3LCAzNiwgMjIwLCAyMDEsIDIzMCwgNTMsIDE0MywgMjQzLCAxMTcsIDIyMCwgCisgICAgMjAxLCAyMzAsIDUzLCAxODgsIDI0MywgMTE3LCAyMjAsIDIwMSwgMjMwLCA1MywgMjAxLCAxNDMsIDIwNywgMzYsIDIyMCwgCisgICAgMjAxLCAyMzAsIDUzLCAyMDEsIDE4OCwgMjA3LCAzNiwgMjIwLCAyMDEsIDIzMCwgNTMsIDIwMSwgMTQzLCAyNDMsIDExNywgCisgICAgMjIwLCAyMDEsIDIzMCwgNTMsIDIwMSwgMTg4LCAyNDMsIDExNywgMjIwLCAyMDEsIDIzMCwgNTMsIDE0MywgMjA3LCAzNiwgCisgICAgMjIwLCAyMDEsIDIwOCwgMTk2LCAyMzAsIDUzLCAxODgsIDIwNywgMzYsIDIyMCwgMjAxLCAyMDgsIDE5NiwgMjMwLCA1MywgCisgICAgMTQzLCAyNDMsIDExNywgMjIwLCAyMDEsIDIwOCwgMTk2LCAyMzAsIDUzLCAxODgsIDI0MywgMTE3LCAyMjAsIDIwMSwgMjA4LCAKKyAgICAxOTYsIDIzMCwgNTMsIDc3LCAxNDMsIDIwNywgMzYsIDIyMCwgMjAxLCAyMDgsIDE5NiwgMjMwLCA1MywgNzcsIDE4OCwgCisgICAgMjA3LCAzNiwgMjIwLCAyMDEsIDIwOCwgMTk2LCAyMzAsIDUzLCA3NywgMTQzLCAyNDMsIDExNywgMjIwLCAyMDEsIDIwOCwgCisgICAgMTk2LCAyMzAsIDUzLCA3NywgMTg4LCAyNDMsIDExNywgMjIwLCAyMDEsIDIwOCwgMTk2LCAyMzAsIDUzLCAxNDMsIDIwNywgCisgICAgMzYsIDIyMCwgMjAxLCAyNDksIDk3LCAxODgsIDIwNywgMzYsIDIyMCwgMjAxLCAyNDksIDk3LCAxNDMsIDI0MywgMTE3LCAKKyAgICAyMjAsIDIwMSwgMjQ5LCA5NywgMTg4LCAyNDMsIDExNywgMjIwLCAyMDEsIDI0OSwgOTcsIDc3LCAxNDMsIDIwNywgMzYsIAorICAgIDIyMCwgMjAxLCAyNDksIDk3LCA3NywgMTg4LCAyMDcsIDM2LCAyMjAsIDIwMSwgMjQ5LCA5NywgNzcsIDE0MywgMjQzLCAKKyAgICAxMTcsIDIyMCwgMjAxLCAyNDksIDk3LCA3NywgMTg4LCAyNDMsIDExNywgMjIwLCAyMDEsIDI0OSwgOTcsIDIzOCwgMTM5LCAKKyAgICAyMTksIDE4OSwgNDksIDIyMiwgMTExLCAyMzgsIDEzOSwgMjE5LCAxODksIDQ5LCAyMjIsIDExMiwgMjMzLCA2OSwgNjAsIAorICAgIDIxNCwgMTA3LCAyMTQsIDE4MiwgMjE5LCAxODksIDQ5LCAyMjIsIDExMSwgMjE0LCAxODIsIDIxOSwgMTg5LCA0OSwgMjIyLCAKKyAgICAxMTIsIDIzMywgNjksIDYwLCAyMTQsIDEwNywgOTIsIDIxOCwgMTE2LCAxNjcsIDIxOCwgMTE2LCA4NiwgMjE4LCAxMTYsIAorICAgIDE3MywgMjE4LCAxMTYsIDEyMSwgMjgsIDI0MiwgMjA0LCAyMjIsIDExMSwgNzcsIDEyMSwgMjgsIDI0MiwgMjA0LCAyMjIsIAorICAgIDExMSwgMjgsIDIyMiwgMTQyLCAyNDIsIDIwNCwgMjIyLCAxMTEsIDc3LCAyOCwgMjIyLCAxNDIsIDI0MiwgMjA0LCAyMjIsIAorICAgIDExMSwgNzcsIDI1MiwgMTI2LCAyMjIsIDExMSwgMjEzLCAxMDksIDI1MiwgMTI2LCAyMjIsIDExMSwgMzgsIDc3LCA1MCwgCisgICAgMjAxLCAyNDcsIDE1NiwgMjE5LCAxODAsIDE0MSwgMjIyLCAxMTEsIDM4LCA3NywgNTAsIDI0NywgMTU2LCAyMTksIDE4MCwgCisgICAgMTQxLCAyMjIsIDExMSwgMzgsIDc3LCAxMTQsIDUwLCAyNDcsIDE1NiwgMjE5LCAxODAsIDE0MSwgMjIyLCAxMTEsIDc3LCAKKyAgICAyMzMsIDExLCAyMjIsIDExMSwgMzgsIDIzMywgMTEsIDIyMiwgMTExLCA3NywgMzgsIDIzMywgMTEsIDIyMiwgMTExLCAyMDgsIAorICAgIDIyNiwgNzcsIDIxNCwgMTgwLCAyMDgsIDIyNiwgNzcsIDIxOCwgMjI1LCAyMTQsIDE4MCwgMjQ4LCA3OSwgMjQ5LCAxODEsIAorICAgIDIxOCwgMjI1LCAyNDgsIDc5LCAyNDksIDE4MSwgMjE4LCAxMTYsIDIzOSwgNDYsIDIxNCwgMTMsIDIyOSwgMTM3LCAyMTksIAorICAgIDg2LCAyNDgsIDIwNCwgMjM4LCAyNDgsIDIxMSwgNzQsIDIzOCwgMjQ4LCAyMTEsIDc1LCAyLCAyNDksIDg2LCAyMjQsIDQ0LCAKKyAgICAyMTEsIDc0LCAyMjcsIDU2LCAxNDcsIDIxOSwgODcsIDIxNCwgMTksIDIxMSwgNzIsIDIxMSwgNzMsIDI0OCwgMjA0LCAyNDksIAorICAgIDYyLCAyMjIsIDE2MywgMjQ5LCA2MiwgMjExLCAyNiwgMjQ5LCA2MywgMjEzLCAyNTEsIDIyNiwgMjA4LCAyNTIsIDEzMCwgCisgICAgMjQxLCAyMjAsIDI0MywgMjcsIDIyMCwgMTkzLCAyNDgsIDIwNCwgMjIyLCAxNjMsIDIyMCwgMTkzLCAyNDgsIDIwNCwgMjEyLCAKKyAgICAxNDEsIDIyMiwgMTYzLCAyMTIsIDE0MSwgMjUxLCAxNzIsIDIyMiwgMTYzLCAyNTEsIDE3MiwgMjE5LCAzOSwgMjA5LCAzMSwgCisgICAgMjQ1LCAyMzEsIDIxMSwgMTcsIDI1MSwgMjM2LCAyMjksIDEwNSwgMjExLCA4MCwgMjI2LCAxNTcsIDIyNiwgMTI5LCAyMTksIAorICAgIDg1LCAyMTMsIDEyMiwgMjE5LCA4NSwgMjI2LCAxMjksIDI0OCwgMjUxLCAyNTIsIDIzNCwgMjExLCA3MSwgMjE1LCAxNjcsIAorICAgIDIxOCwgOTIsIDIxNCwgMTM1LCAxOTQsIDIxMSwgNzgsIDIyOSwgMjIzLCA3OSwgMjExLCA3OCwgMjI5LCAyMjMsIDI0NywgCisgICAgMTIzLCA1MywgMjIwLCAxOTMsIDI0OCwgMTkwLCAyMTgsIDIxOCwgMjI5LCAyMjMsIDIxMSwgNDgsIDI0MSwgMTk3LCAyMjIsIAorICAgIDE2NiwgMjIwLCAxNzUsIDI0NSwgMjYsIDIyNCwgNjgsIDI0MywgMTQsIDUzLCAyMTQsIDIwOCwgOTMsIDIyNCwgNjgsIDIxNCwgCisgICAgMjA4LCA5MywgMjIwLCA1MywgMjI5LCAxODEsIDIzMywgNjksIDIzMiwgMjE3LCAyMjAsIDIzOSwgOTMsIDI0NSwgNTIsIAorICAgIDIyNCwgNDMsIDIyOSwgMTgxLCA5MywgMjIwLCAxNjksIDIwNywgNzAsIDkzLCAyMjQsIDU4LCAyMDcsIDcwLCA5MywgMjQ5LCAKKyAgICAyNDAsIDIyNCwgNjgsIDI0OSwgMjM5LCAyNDksIDIzOCwgMjI2LCAxMjksIDI0OSwgMjM4LCAyMjEsIDE2NiwgMjI0LCA2OCwgCisgICAgMjIxLCAxNjUsIDI0OCwgNDgsIDI0NywgNTMsIDIyNywgODAsIDkzLCAyMDYsIDI0MSwgOTMsIDIxOCwgMjM0LCAyNTAsIAorICAgIDE3OSwgOTMsIDIxMSwgMTI1LCAyMDcsIDcwLCAyNDcsIDE4OSwgMjE1LCAxMjYsIDI1MCwgMTA1LCAyNTAsIDEwMywgMjIxLCAKKyAgICAxOTcsIDI0NywgMTA4LCAyNDcsIDEyLCAyNTAsIDE2MCwgMjQ3LCAyMTcsIDQ3LCAyMjksIDcxLCAyMTEsIDUyLCAyLCAyMTgsIAorICAgIDkzLCAyNDcsIDkwLCAyMjAsIDExMSwgNTMsIDM5LCAyMzMsIDQzLCAyMTQsIDE2MywgMjQ5LCAxMzgsIDkzLCAyNDAsIDM5LCAKKyAgICA5MywgMjQ3LCA4MywgMjMsIDIzMCwgOTYsIDIxNCwgMjMyLCAyNTMsIDE4LCAyMTUsIDE0NywgMjUwLCAxNTksIDI1MCwgMjcsIAorICAgIDI1MCwgMjgsIDI1MCwgNTEsIDIzOSwgMTE1LCAyMywgMjA2LCAyMjAsIDIxNSwgMTgwLCAyMjIsIDE5MCwgMjQzLCAyNDEsIAorICAgIDIyNiwgMTMzLCAyMTksIDg2LCAyMTEsIDgyLCAyMjYsIDEzNSwgMjQ5LCAxODAsIDIwOSwgMjA1LCAyMjYsIDIxOCwgMjUyLCAKKyAgICAxOTQsIDIwOSwgMjA1LCAyNTIsIDE5NCwgMjA5LCAyMDUsIDUsIDI1MiwgMTk0LCA1LCAyNTIsIDE5NCwgMjI0LCA0NywgCisgICAgMjUyLCAxOTQsIDI1MiwgMTk1LCAyNDUsIDIxNSwgMjUyLCAxOTUsIDI1MSwgMjQ2LCAyMTcsIDEyOSwgMjIyLCAxNjMsIAorICAgIDI0MSwgMjIwLCAyNDMsIDI3LCAyNDUsIDE0NiwgMjI5LCAxMzcsIDIyMSwgMjAwLCAyMTUsIDE2NywgMTI1LCAxNiwgMzMsIAorICAgIDIxOSwgMTg1LCAxMjUsIDE2LCAzMywgMjUyLCAxOTYsIDEyNSwgMTYsIDMzLCAyNDEsIDIxOSwgMTI1LCAxNiwgMzMsIDI0MywgCisgICAgMTIwLCAxMjUsIDE2LCAzMywgMjA3LCA2OSwgMTI1LCAxNiwgMzMsIDI1MiwgMzksIDEyNSwgMTYsIDMzLCAyNTIsIDQwLCAKKyAgICAyMTksIDI2LCAxMjUsIDE2LCAzMywgMjUyLCA0MCwgMjE5LCAyNSwgMTI1LCAxNiwgMzMsIDI1MiwgNDAsIDIwOCwgMTc5LCAKKyAgICAxMjUsIDE2LCAzMywgMjUyLCA0MCwgMjA4LCAxNzgsIDEyNSwgMTYsIDMzLCAyMDgsIDE5MywgMTI1LCAxNiwgMzMsIDIwOCwgCisgICAgMTkyLCAxMjUsIDE2LCAzMywgMjA4LCAxOTEsIDEyNSwgMTYsIDMzLCAyMTMsIDE2MSwgMTI1LCAxNiwgMzMsIDIyMSwgNzAsIAorICAgIDIxMywgMTYxLCAxMjUsIDE2LCAzMywgNjAsIDIxMywgMTYxLCAxMjUsIDE2LCAzMywgMjI3LCA3OSwgMjEzLCAxODksIDEyNSwgCisgICAgMTYsIDMzLCAyMjcsIDc5LCAyMTMsIDE4OCwgMTI1LCAxNiwgMzMsIDIyNywgNzksIDIxMywgMTg3LCAxMjUsIDE2LCAzMywgCisgICAgMjQ3LCAyMzYsIDEyNSwgMTYsIDMzLCAyMTcsIDE2NSwgMTI1LCAxNiwgMzMsIDIyNCwgMTgzLCAxMjUsIDE2LCAzMywgMjA4LCAKKyAgICAxNzcsIDEyNSwgMTYsIDMzLCAyMDgsIDE3NiwgMTI1LCAxNiwgMzMsIDIxOCwgMTE3LCAyMTcsIDE2NSwgMTI1LCAxNiwgMzMsIAorICAgIDIxOCwgMTE3LCAyMTcsIDE2NCwgMTI1LCAxNiwgMzMsIDI0MCwgMTEsIDEyNSwgMTYsIDMzLCAyMTUsIDUyLCAxMjUsIDE2LCAKKyAgICAzMywgMjMyLCAyNDAsIDIyMiwgMTE3LCAxMjUsIDE2LCAzMywgMjMyLCAyNDAsIDIyMiwgMTE2LCAxMjUsIDE2LCAzMywgCisgICAgMjQ3LCA2MywgNzMsIDIzMiwgMjM5LCAxMjUsIDE2LCAzMywgMjE5LCAyMiwgNzMsIDIzMiwgMjM5LCAxMjUsIDE2LCAzMywgCisgICAgMjQ3LCA5OSwgMjIyLCAxMTcsIDEyNSwgMTYsIDMzLCAyMzIsIDIzOCwgMjIyLCAxMTcsIDEyNSwgMTYsIDMzLCAyMTMsIAorICAgIDE5MCwgNzMsIDI0NywgOTgsIDEyNSwgMTYsIDMzLCAyNDcsIDYzLCA3MywgMjQ3LCA5OCwgMTI1LCAxNiwgMzMsIDI0NywgCisgICAgNjMsIDczLCAyNDcsIDk3LCAxMjUsIDE2LCAzMywgMjQ3LCA5OSwgMjUyLCA4MSwgMTI1LCAxNiwgMzMsIDIxNywgMTY2LCAKKyAgICA3MywgMjQ3LCA5OSwgMjUyLCA4MSwgMTI1LCAxNiwgMzMsIDIxMywgMTkwLCA3MywgMjE3LCAxNjYsIDczLCAyNDcsIDk4LCAKKyAgICAxMjUsIDE2LCAzMywgMjA5LCAyNiwgMTI1LCAxNiwgMzMsIDIxMSwgMTc0LCAyMjIsIDExNywgMTI1LCAxNiwgMzMsIDIzMCwgCisgICAgNTcsIDIyMiwgMTE3LCAxMjUsIDE2LCAzMywgMjUyLCA4MCwgMjIyLCAxMTcsIDEyNSwgMTYsIDMzLCAyMTMsIDE5MCwgNzMsIAorICAgIDI1MiwgNzksIDEyNSwgMTYsIDMzLCAyMTcsIDE2NiwgNzMsIDI1MiwgNzksIDEyNSwgMTYsIDMzLCAyMTMsIDE5MCwgNzMsIAorICAgIDIxNywgMTY2LCA3MywgMjUyLCA3OSwgMTI1LCAxNiwgMzMsIDIwOCwgMTk0LCA3MywgMjUyLCA3OSwgMTI1LCAxNiwgMzMsIAorICAgIDIxOSwgMjIsIDczLCAyNTIsIDc5LCAxMjUsIDE2LCAzMywgMjE5LCAyMiwgNzMsIDI1MiwgNzgsIDEyNSwgMTYsIDMzLCAKKyAgICAyMTksIDIxLCAxMjUsIDE2LCAzMywgMjE5LCAyMCwgMTI1LCAxNiwgMzMsIDIxOSwgMTksIDEyNSwgMTYsIDMzLCAyMTksIAorICAgIDE4LCAxMjUsIDE2LCAzMywgMjUyLCAxNTksIDEyNSwgMTYsIDMzLCAyNTIsIDE1OCwgMTI1LCAxNiwgMzMsIDIyNywgMTk2LCAKKyAgICAxMjUsIDE2LCAzMywgMjE3LCAxNzEsIDEyNSwgMTYsIDMzLCAyNTEsIDI0MCwgMTI1LCAxNiwgMzMsIDIxOSwgNDgsIDEyNSwgCisgICAgMTYsIDMzLCAyMTksIDQ3LCAxMjUsIDE2LCAzMywgMjUxLCAxNzUsIDEyNSwgMTYsIDMzLCAyNDksIDIxMCwgMjIyLCAxMTcsIAorICAgIDEyNSwgMTYsIDMzLCAyMTIsIDE2MCwgMTI1LCAxNiwgMzMsIDIxMiwgMTU5LCAxMjUsIDE2LCAzMywgMjE5LCAxOTEsIDIyOSwgCisgICAgMjE0LCAxMjUsIDE2LCAzMywgMjQ5LCAxNjIsIDEyNSwgMTYsIDMzLCAyNDksIDE2MSwgMTI1LCAxNiwgMzMsIDI0OSwgMTYwLCAKKyAgICAxMjUsIDE2LCAzMywgMjUyLCAxMzgsIDEyNSwgMTYsIDMzLCAyMjIsIDE4OSwgMTI1LCAxNiwgMzMsIDIxNCwgMTI0LCAxMjUsIAorICAgIDE2LCAzMywgMjExLCAxNzIsIDEyNSwgMTYsIDMzLCAyMzksIDE5NCwgMTI1LCAxNiwgMzMsIDIwNywgNTcsIDEyNSwgMTYsIAorICAgIDMzLCAyMjAsIDE2MywgMTI1LCAxNiwgMzMsIDI0OCwgMjM1LCAxMjUsIDE2LCAzMywgMjEwLCAxMzYsIDEyNSwgMTYsIDMzLCAKKyAgICAyNDgsIDIwNiwgMjI2LCAxMzgsIDEyNSwgMTYsIDMzLCAyMTcsIDEwNywgNzMsIDIzMiwgMTA5LCAxMjUsIDE2LCAzMywgCisgICAgMjQ4LCAyNDgsIDEyNSwgMTYsIDMzLCAyMTEsIDQ1LCAxMjUsIDE2LCAzMywgMjE0LCAyNCwgMjExLCA0NSwgMTI1LCAxNiwgCisgICAgMzMsIDIyOSwgMTM2LCAxMjUsIDE2LCAzMywgMjE0LCAxOTEsIDEyNSwgMTYsIDMzLCAyMDksIDE4NiwgMTI1LCAxNiwgMzMsIAorICAgIDIzOCwgNjYsIDI0MywgMjIzLCAxMjUsIDE2LCAzMywgMjUxLCAyMjAsIDEyNSwgMTYsIDMzLCAyMjAsIDE3MSwgMjUxLCAKKyAgICAyMjAsIDEyNSwgMTYsIDMzLCAyNDksIDExOCwgMTI1LCAxNiwgMzMsIDIyMCwgMTYyLCAyNDksIDExOCwgMTI1LCAxNiwgMzMsIAorICAgIDI1MiwgMTM1LCAxMjUsIDE2LCAzMywgMjEzLCAyMzksIDIxMywgMTQyLCAyMTMsIDIzOCwgMTI1LCAxNiwgMzMsIDIxMywgCisgICAgMjM5LCAyMTMsIDE0MiwgMjEzLCAyMzcsIDEyNSwgMTYsIDMzLCAyMTMsIDE4NiwgMTI1LCAxNiwgMzMsIDIyMCwgMTM3LCAKKyAgICAxMjUsIDE2LCAzMywgMjQ1LCA4OCwgMTI1LCAxNiwgMzMsIDI0NSwgOTAsIDEyNSwgMTYsIDMzLCAyNDUsIDg5LCAxMjUsIAorICAgIDE2LCAzMywgMjIwLCA2MiwgMTI1LCAxNiwgMzMsIDIyMCwgNTEsIDEyNSwgMTYsIDMzLCAyNDcsIDUxLCAxMjUsIDE2LCAzMywgCisgICAgMjQ3LCA1MCwgMTI1LCAxNiwgMzMsIDI0NywgNDksIDEyNSwgMTYsIDMzLCAyNDcsIDQ4LCAxMjUsIDE2LCAzMywgMjQ3LCAKKyAgICA0NywgMTI1LCAxNiwgMzMsIDI1MiwgMTcxLCAxMjUsIDE2LCAzMywgMjUwLCAxMDYsIDczLCAyMjcsIDE4MCwgMTI1LCAxNiwgCisgICAgMzMsIDI1MCwgMTA2LCA3MywgMjA5LCA1OCwgMTI1LCAxNiwgMzMsIDIxOCwgMjMyLCAxMjUsIDE2LCAzMywgMjM4LCA1OCwgCisgICAgMTI1LCAxNiwgMzMsIDIyNCwgMjA5LCAxMjUsIDE2LCAzMywgMjQ2LCA2NiwgMTI1LCAxNiwgMzMsIDIyNiwgMTUyLCAxMjUsIAorICAgIDE2LCAzMywgMTYwLCAyNDMsIDI1MywgMTI1LCAxNiwgMzMsIDE2MCwgMjIyLCA5NSwgNjAsIDIzMCwgNDEsIDIzMiwgMjIzLCAKKyAgICA0OCwgMjExLCA1MSwgNjAsIDIwOSwgMjA1LCAyMzIsIDIyMywgNDgsIDIxMSwgNTEsIDYwLCAyMTgsIDE2MiwgMjMyLCAyMjMsIAorICAgIDQ4LCAyMTEsIDUxLCA2MCwgMjQ0LCA3LCAyMzIsIDIyMywgNDgsIDIxMSwgNTEsIDYwLCAyMTQsIDIyNSwgNSwgMjQ3LCAKKyAgICAyMzMsIDIyNywgMTA5LCAyNCwgNTksIDI0NywgMjMzLCAyNCwgNTksIDI0NywgMjMzLCA3NywgNTksIDI0NywgMjMzLCAyMDgsIAorICAgIDIyNiwgNzcsIDU5LCAyNDcsIDIzMywgMjQyLCAxNTMsIDc3LCA1OSwgMjQ3LCAyMzMsIDU5LCAyNDcsIDIzNCwgMjQ3LCAKKyAgICAxMTksIDYwLCA1LCAyNDcsIDIzMywgMjE4LCA5NSwgMjEyLCAxNjEsIDYwLCAyMTEsIDE2OSwgMjE0LCAxMDcsIDYwLCAyMTQsIAorICAgIDIyNSwgNSwgMjE0LCAxMDcsIDE0NywgNTksIDIxNCwgMTA3LCAyMjcsIDEwOSwgNTksIDIxNCwgMTA3LCAyNCwgNTksIDIxNCwgCisgICAgMTA3LCA3NywgNTksIDIxNCwgMTA3LCAyMDgsIDIyNiwgNzcsIDU5LCAyMTQsIDEwNywgMjQyLCAxNTMsIDc3LCA1OSwgMjE0LCAKKyAgICAxMDcsIDU5LCA0OSwgMjQ3LCAxMTksIDYwLCAyMDgsIDIyNiwgNSwgMjE0LCAxMDcsIDU5LCA0OSwgMjQ3LCAxMTksIDYwLCAKKyAgICAyMjcsIDEwOSwgMjE0LCAxMDcsIDQ5LCAyMTIsIDE2MSwgNjAsIDIxMSwgMTY5LCAyNDUsIDE1NiwgNjAsIDIwOCwgMjI2LCAKKyAgICA1LCAyNDUsIDE1NiwgNjAsIDIyNywgMTA5LCA1LCAyNDUsIDE1NiwgNTksIDI0NSwgMTU3LCAyNDcsIDExOSwgNjAsIDIwOCwgCisgICAgMjI2LCA1LCAyNDUsIDE1NiwgNTksIDI0NSwgMTU3LCAyNDcsIDExOSwgNjAsIDIyNywgMTA5LCAyNDUsIDE1NiwgMjQ1LCAKKyAgICAxNTcsIDIxMiwgMTYxLCA2MCwgMjExLCAxNjksIDIyOSwgODgsIDYwLCAyMDgsIDIyNiwgNSwgMjI5LCA4OCwgNjAsIDIyNywgCisgICAgMTA5LCA1LCAyMjksIDg4LCA1OSwgMjI5LCA4OSwgMjQ3LCAxMTksIDYwLCA1LCAyMjksIDg4LCAyMTIsIDEyLCAyNywgMjQ3LCAKKyAgICA1OSwgMTQ3LCAyNywgMjQ3LCA1OSwgMjI3LCAxMDksIDI3LCAyNDcsIDU5LCAyNCwgMjcsIDI0NywgNTksIDIwOCwgMjI2LCAKKyAgICAyNCwgMjcsIDI0NywgNTksIDIwOCwgMjI2LCA3NywgMjcsIDI0NywgNTksIDI0MiwgMTUzLCA3NywgMjcsIDI0NywgNTksIAorICAgIDIxMiwgMTIsIDIxNywgMTYyLCAxNDcsIDIxNywgMTYyLCAyMjcsIDEwOSwgMjE3LCAxNjIsIDI0LCAyMTcsIDE2MiwgNzcsIAorICAgIDIxNywgMTYyLCAyMDgsIDIyNiwgNzcsIDIxNywgMTYyLCAyNDIsIDE1MywgNzcsIDIxNywgMTYyLCAxNDcsIDI0MSwgMjA0LCAKKyAgICAyMTQsIDExOSwgMjUxLCAyMDksIDIyNywgMTA5LCAyNDEsIDIwNCwgMjE0LCAxMTksIDI1MSwgMjA5LCAyNCwgMjQxLCAyMDQsIAorICAgIDIxNCwgMTE5LCAyNTEsIDIwOSwgNzcsIDI0MSwgMjA0LCAyMTQsIDExOSwgMjUxLCAyMDksIDIwOCwgMjI2LCA3NywgMjQxLCAKKyAgICAyMDQsIDIxNCwgMTE5LCAyNTEsIDIwOSwgMjQyLCAxNTMsIDc3LCAyNDEsIDIwNCwgMjE0LCAxMTksIDI1MSwgMjA5LCAxNDcsIAorICAgIDIxNSwgMTAsIDIxNCwgMTE5LCAyNTEsIDIwOSwgMjI3LCAxMDksIDIxNSwgMTAsIDIxNCwgMTE5LCAyNTEsIDIwOSwgMjQsIAorICAgIDIxNSwgMTAsIDIxNCwgMTE5LCAyNTEsIDIwOSwgNzcsIDIxNSwgMTAsIDIxNCwgMTE5LCAyNTEsIDIwOSwgMjA4LCAyMjYsIAorICAgIDc3LCAyMTUsIDEwLCAyMTQsIDExOSwgMjUxLCAyMDksIDI0MiwgMTUzLCA3NywgMjE1LCAxMCwgMjE0LCAxMTksIDI1MSwgCisgICAgMjA5LCAxNDcsIDI0MywgODgsIDIxNCwgMTE5LCAyNTEsIDIwOSwgMjI3LCAxMDksIDI0MywgODgsIDIxNCwgMTE5LCAyNTEsIAorICAgIDIwOSwgMjQsIDI0MywgODgsIDIxNCwgMTE5LCAyNTEsIDIwOSwgNzcsIDI0MywgODgsIDIxNCwgMTE5LCAyNTEsIDIwOSwgCisgICAgMjA4LCAyMjYsIDc3LCAyNDMsIDg4LCAyMTQsIDExOSwgMjUxLCAyMDksIDE0NywgMTI5LCAyMjAsIDIwMywgNjAsIDIxNCwgCisgICAgMjYsIDIyNywgMTA5LCAxMjksIDIyMCwgMjAzLCA2MCwgMjE0LCAyNiwgMTI5LCAyMjAsIDIwMywgNjAsIDIxNCwgMjYsIAorICAgIDIyNywgMTA5LCAxMjksIDIyMCwgMjAzLCAyMjEsIDQsIDIxNCwgMjYsIDE0NywgMjQxLCAxMjUsIDIyMCwgMjAzLCA2MCwgCisgICAgMjE0LCAyNiwgMjI3LCAxMDksIDI0MSwgMTI1LCAyMjAsIDIwMywgNjAsIDIxNCwgMjYsIDI0MSwgMTI1LCAyMjAsIDIwMywgCisgICAgNjAsIDIxNCwgMjYsIDIyNywgMTA5LCAyNDEsIDEyNSwgMjIwLCAyMDMsIDIyMSwgNCwgMjE0LCAyNiwgMjE4LCAyMjUsIAorICAgIDE0NywgMjQxLCAxMjUsIDIyMCwgMjAzLCAyMjEsIDQsIDIxNCwgMjYsIDE0NywgMjQxLCAyMDQsIDIyMCwgMjAzLCA2MCwgCisgICAgMjE0LCAyNiwgNzcsIDI0MSwgMjA0LCAyMjAsIDIwMywgNjAsIDIxNCwgMjYsIDIyNywgMTA5LCAyMTUsIDEwLCAyMjAsIAorICAgIDIwMywgNjAsIDIxNCwgMjYsIDc3LCAyMTUsIDEwLCAyMjAsIDIwMywgNjAsIDIxNCwgMjYsIDIxNSwgMTAsIDIyMCwgMjAzLCAKKyAgICAyMjEsIDQsIDIxNCwgMjYsIDIyNywgMTA5LCAyNDMsIDg4LCAyMjAsIDIwMywgNjAsIDIxNCwgMjYsIDc3LCAyNDMsIDg4LCAKKyAgICAyMjAsIDIwMywgNjAsIDIxNCwgMjYsIDIwOCwgMjI2LCA3NywgMjQzLCA4OCwgMjIwLCAyMDMsIDYwLCAyMTQsIDI2LCA3NywgCisgICAgMjQzLCA4OCwgMjIwLCAyMDMsIDIyMSwgNCwgMjE0LCAyNiwgMTQ3LCAyMTAsIDEyNywgMjIwLCAyMDMsIDYwLCAyMTQsIDI2LCAKKyAgICA3NywgMjEwLCAxMjcsIDIyMCwgMjAzLCA2MCwgMjE0LCAyNiwgNzcsIDIxMCwgMTI3LCAyMjAsIDIwMywgMjIxLCA0LCAyMTQsIAorICAgIDI2LCA5MiwgNTEsIDIsIDUsIDIxMSwgNTIsIDI1MSwgMjQzLCAxNjcsIDUxLCAyLCA1LCAyMTEsIDUyLCAyNTEsIDI0MywgCisgICAgODYsIDUxLCAyLCA1LCAyMTEsIDUyLCAyNTEsIDI0MywgMTczLCA1MSwgMiwgNSwgMjExLCA1MiwgMjUxLCAyNDMsIDkyLCAKKyAgICA1MSwgMiwgMjI3LCAxMDksIDIxMSwgNTIsIDI1MSwgMjQzLCAxNjcsIDUxLCAyLCAyMjcsIDEwOSwgMjExLCA1MiwgMjUxLCAKKyAgICAyNDMsIDg2LCA1MSwgMiwgMjI3LCAxMDksIDIxMSwgNTIsIDI1MSwgMjQzLCAxNzMsIDUxLCAyLCAyMjcsIDEwOSwgMjExLCAKKyAgICA1MiwgMjUxLCAyNDMsIDkyLCA1MSwgMiwgMjMwLCA4NiwgMjExLCA1MiwgMjUxLCAyNDMsIDE2NywgNTEsIDIsIDIzMCwgODYsIAorICAgIDIxMSwgNTIsIDI1MSwgMjQzLCA4NiwgNTEsIDIsIDIzMCwgODYsIDIxMSwgNTIsIDI1MSwgMjQzLCAxNzMsIDUxLCAyLCAKKyAgICAyMzAsIDg2LCAyMTEsIDUyLCAyNTEsIDI0MywgOTIsIDUxLCAyLCA1LCAyNDIsIDIzOCwgMjUxLCAyNDMsIDE2NywgNTEsIDIsIAorICAgIDUsIDI0MiwgMjM4LCAyNTEsIDI0MywgODYsIDUxLCAyLCA1LCAyNDIsIDIzOCwgMjUxLCAyNDMsIDE3MywgNTEsIDIsIDUsIAorICAgIDI0MiwgMjM4LCAyNTEsIDI0MywgOTIsIDUxLCAyLCAyNDIsIDIzOCwgMjUxLCAyNDMsIDE2NywgNTEsIDIsIDI0MiwgMjM4LCAKKyAgICAyNTEsIDI0MywgODYsIDUxLCAyLCAyNDIsIDIzOCwgMjUxLCAyNDMsIDE3MywgNTEsIDIsIDI0MiwgMjM4LCAyNTEsIDI0MywgCisgICAgNzcsIDkyLCA1MSwgMiwgMjQyLCAyMzgsIDI1MSwgMjQzLCA3NywgMTY3LCA1MSwgMiwgMjQyLCAyMzgsIDI1MSwgMjQzLCAKKyAgICA3NywgODYsIDUxLCAyLCAyNDIsIDIzOCwgMjUxLCAyNDMsIDc3LCAxNzMsIDUxLCAyLCAyNDIsIDIzOCwgMjUxLCAyNDMsIAorICAgIDc3LCA5MiwgNTEsIDIsIDIzMCwgODYsIDI0MiwgMjM4LCAyNTEsIDI0MywgNzcsIDE2NywgNTEsIDIsIDIzMCwgODYsIDI0MiwgCisgICAgMjM4LCAyNTEsIDI0MywgNzcsIDg2LCA1MSwgMiwgMjMwLCA4NiwgMjQyLCAyMzgsIDI1MSwgMjQzLCA3NywgMTczLCA1MSwgCisgICAgMiwgMjMwLCA4NiwgMjQyLCAyMzgsIDI1MSwgMjQzLCA5MiwgMjExLCA1MCwgNTEsIDIsIDIyNSwgMTk5LCAyMTUsIDI0NCwgCisgICAgMTY3LCAyMTEsIDUwLCA1MSwgMiwgMjI1LCAxOTksIDIxNSwgMjQ0LCA4NiwgMjExLCA1MCwgNTEsIDIsIDIyNSwgMTk5LCAKKyAgICAyMTUsIDI0NCwgMTczLCAyMTEsIDUwLCA1MSwgMiwgMjI1LCAxOTksIDIxNSwgMjQ0LCA5MiwgMjExLCA1MCwgNTEsIDIsIAorICAgIDIyNywgMTA5LCAyMTUsIDI0NCwgMTY3LCAyMTEsIDUwLCA1MSwgMiwgMjI3LCAxMDksIDIxNSwgMjQ0LCA4NiwgMjExLCA1MCwgCisgICAgNTEsIDIsIDIyNywgMTA5LCAyMTUsIDI0NCwgMTczLCAyMTEsIDUwLCA1MSwgMiwgMjI3LCAxMDksIDIxNSwgMjQ0LCA5MiwgCisgICAgMjExLCA1MCwgNTEsIDIsIDI0LCAyMTUsIDI0NCwgMTY3LCAyMTEsIDUwLCA1MSwgMiwgMjQsIDIxNSwgMjQ0LCA4NiwgMjExLCAKKyAgICA1MCwgNTEsIDIsIDI0LCAyMTUsIDI0NCwgMTczLCAyMTEsIDUwLCA1MSwgMiwgMjQsIDIxNSwgMjQ0LCA5MiwgMjExLCA1MCwgCisgICAgNTEsIDIsIDc3LCAyMTUsIDI0NCwgMTY3LCAyMTEsIDUwLCA1MSwgMiwgNzcsIDIxNSwgMjQ0LCA4NiwgMjExLCA1MCwgNTEsIAorICAgIDIsIDc3LCAyMTUsIDI0NCwgMTczLCAyMTEsIDUwLCA1MSwgMiwgNzcsIDIxNSwgMjQ0LCA5MiwgMjExLCA1MCwgNTEsIDIsIAorICAgIDIwOCwgMjI2LCA3NywgMjE1LCAyNDQsIDE2NywgMjExLCA1MCwgNTEsIDIsIDIwOCwgMjI2LCA3NywgMjE1LCAyNDQsIDg2LCAKKyAgICAyMTEsIDUwLCA1MSwgMiwgMjA4LCAyMjYsIDc3LCAyMTUsIDI0NCwgMTczLCAyMTEsIDUwLCA1MSwgMiwgMjA4LCAyMjYsIAorICAgIDc3LCAyMTUsIDI0NCwgOTIsIDI0MSwgMjI3LCA0NSwgMTY3LCAyNDEsIDIyNywgNDUsIDg2LCAyNDEsIDIyNywgNDUsIDE3MywgCisgICAgMjQxLCAyMjcsIDQ1LCA5MiwgOTgsIDQ1LCAxNjcsIDk4LCA0NSwgODYsIDk4LCA0NSwgMTczLCA5OCwgNDUsIDkyLCAyNDcsIAorICAgIDE0NCwgNDUsIDE2NywgMjQ3LCAxNDQsIDQ1LCA4NiwgMjQ3LCAxNDQsIDQ1LCAxNzMsIDI0NywgMTQ0LCA0NSwgOTIsIDc3LCAKKyAgICAyNDcsIDE0NCwgNDUsIDE2NywgNzcsIDI0NywgMTQ0LCA0NSwgODYsIDc3LCAyNDcsIDE0NCwgNDUsIDE3MywgNzcsIDI0NywgCisgICAgMTQ0LCA0NSwgOTIsIDc3LCA0NSwgMTY3LCA3NywgNDUsIDg2LCA3NywgNDUsIDE3MywgNzcsIDQ1LCA5MiwgMzgsIDQ1LCAKKyAgICAxNjcsIDM4LCA0NSwgODYsIDM4LCA0NSwgMTczLCAzOCwgNDUsIDE0MywgMjA3LCAzNiwgMzgsIDQ1LCAxNDMsIDI0MywgCisgICAgMTE3LCAzOCwgNDUsIDE4OCwgMjQzLCAxMTcsIDM4LCA0NSwgMTg4LCAyMDcsIDM2LCAzOCwgNDUsIDQ3LCA0OCwgMzgsIDQ1LCAKKyAgICAxMjAsIDEzMCwgMzgsIDQ1LCAyMDcsIDE2LCA5MiwgMTQ3LCAxMzgsIDQ1LCAyMDcsIDE2LCAxNjcsIDE0NywgMTM4LCA0NSwgCisgICAgMjA3LCAxNiwgODYsIDE0NywgMTM4LCA0NSwgMjA3LCAxNiwgMTczLCAxNDcsIDEzOCwgNDUsIDIwNywgMTYsIDE0MywgMjA3LCAKKyAgICAzNiwgMTQ3LCAxMzgsIDQ1LCAyMDcsIDE2LCAxNDMsIDI0MywgMTE3LCAxNDcsIDEzOCwgNDUsIDIwNywgMTYsIDE4OCwgCisgICAgMjQzLCAxMTcsIDE0NywgMTM4LCA0NSwgMjA3LCAxNiwgMTg4LCAyMDcsIDM2LCAxNDcsIDEzOCwgNDUsIDIwNywgMTYsIDkyLCAKKyAgICAxMzgsIDQ1LCAyMDcsIDE2LCAxNjcsIDEzOCwgNDUsIDIwNywgMTYsIDg2LCAxMzgsIDQ1LCAyMDcsIDE2LCAxNzMsIDEzOCwgCisgICAgNDUsIDIwNywgMTYsIDE0MywgMjA3LCAzNiwgMTM4LCA0NSwgMjA3LCAxNiwgMTQzLCAyNDMsIDExNywgMTM4LCA0NSwgMjA3LCAKKyAgICAxNiwgMTg4LCAyNDMsIDExNywgMTM4LCA0NSwgMjA3LCAxNiwgMTg4LCAyMDcsIDM2LCAxMzgsIDQ1LCAyMDcsIDE2LCA5MiwgCisgICAgMjI3LCAxMDksIDEzOCwgNDUsIDIwNywgMTYsIDE2NywgMjI3LCAxMDksIDEzOCwgNDUsIDIwNywgMTYsIDg2LCAyMjcsIAorICAgIDEwOSwgMTM4LCA0NSwgMjA3LCAxNiwgMTczLCAyMjcsIDEwOSwgMTM4LCA0NSwgMjA3LCAxNiwgMTQzLCAyMDcsIDM2LCAKKyAgICAyMjcsIDEwOSwgMTM4LCA0NSwgMjA3LCAxNiwgMTQzLCAyNDMsIDExNywgMjI3LCAxMDksIDEzOCwgNDUsIDIwNywgMTYsIAorICAgIDE4OCwgMjQzLCAxMTcsIDIyNywgMTA5LCAxMzgsIDQ1LCAyMDcsIDE2LCAxODgsIDIwNywgMzYsIDIyNywgMTA5LCAxMzgsIAorICAgIDQ1LCAyMDcsIDE2LCA5MiwgNzcsIDEzOCwgNDUsIDIwNywgMTYsIDE2NywgNzcsIDEzOCwgNDUsIDIwNywgMTYsIDg2LCA3NywgCisgICAgMTM4LCA0NSwgMjA3LCAxNiwgMTczLCA3NywgMTM4LCA0NSwgMjA3LCAxNiwgMTQzLCAyMDcsIDM2LCA3NywgMTM4LCA0NSwgCisgICAgMjA3LCAxNiwgMTQzLCAyNDMsIDExNywgNzcsIDEzOCwgNDUsIDIwNywgMTYsIDE4OCwgMjQzLCAxMTcsIDc3LCAxMzgsIDQ1LCAKKyAgICAyMDcsIDE2LCAxODgsIDIwNywgMzYsIDc3LCAxMzgsIDQ1LCAyMDcsIDE2LCA5MiwgMjA4LCAyMjYsIDc3LCAxMzgsIDQ1LCAKKyAgICAyMDcsIDE2LCAxNjcsIDIwOCwgMjI2LCA3NywgMTM4LCA0NSwgMjA3LCAxNiwgODYsIDIwOCwgMjI2LCA3NywgMTM4LCA0NSwgCisgICAgMjA3LCAxNiwgMTczLCAyMDgsIDIyNiwgNzcsIDEzOCwgNDUsIDIwNywgMTYsIDE0MywgMjA3LCAzNiwgMjA4LCAyMjYsIDc3LCAKKyAgICAxMzgsIDQ1LCAyMDcsIDE2LCAxNDMsIDI0MywgMTE3LCAyMDgsIDIyNiwgNzcsIDEzOCwgNDUsIDIwNywgMTYsIDE4OCwgCisgICAgMjQzLCAxMTcsIDIwOCwgMjI2LCA3NywgMTM4LCA0NSwgMjA3LCAxNiwgMTg4LCAyMDcsIDM2LCAyMDgsIDIyNiwgNzcsIAorICAgIDEzOCwgNDUsIDkyLCAyMTEsIDUyLCAyNTEsIDI0MywgMTY3LCAyMTEsIDUyLCAyNTEsIDI0MywgODYsIDIxMSwgNTIsIDI1MSwgCisgICAgMjQzLCAxNzMsIDIxMSwgNTIsIDI1MSwgMjQzLCA5MiwgNTksIDUxLCAyMDYsIDI1NSwgMjExLCA1MiwgMjUxLCAyNDMsIAorICAgIDE2NywgNTksIDUxLCAyMDYsIDI1NSwgMjExLCA1MiwgMjUxLCAyNDMsIDg2LCA1OSwgNTEsIDIwNiwgMjU1LCAyMTEsIDUyLCAKKyAgICAyNTEsIDI0MywgMTczLCA1OSwgNTEsIDIwNiwgMjU1LCAyMTEsIDUyLCAyNTEsIDI0MywgOTIsIDUxLCAyLCAyMjQsIDM5LCAKKyAgICAyMTIsIDE5MSwgMTY3LCA1MSwgMiwgMjI0LCAzOSwgMjEyLCAxOTEsIDg2LCA1MSwgMiwgMjI0LCAzOSwgMjEyLCAxOTEsIAorICAgIDE3MywgNTEsIDIsIDIyNCwgMzksIDIxMiwgMTkxLCA3NywgNTEsIDIxNSwgMjQ1LCAyMDcsIDE1LCAxMDIsIDc3LCA1MSwgCisgICAgMjE1LCAyNDUsIDIwNywgMTUsIDExOCwgMjEyLCA3LCA3NywgNTEsIDIxNSwgMjQ1LCAyMDcsIDE1LCAxMTksIDIzOSwgMTIxLCAKKyAgICA3NywgNTEsIDIxNSwgMjQ1LCAyMDcsIDE1LCAxMTksIDIxMiwgMTAsIDkyLCAyNDksIDE1MSwgNTksIDQ1LCA4NiwgMjQ5LCAKKyAgICAxNTQsIDIxNSwgMjQ3LCA1OSwgNDUsIDkyLCAyMTEsIDEwMiwgMjE1LCAyNDcsIDU5LCA0NSwgODYsIDIxMSwgMTAyLCAyMTUsIAorICAgIDI0NywgNTksIDQ1LCA5MiwgMjMwLCA0MCwgNTksIDQ1LCA4NiwgMjE4LCAxNjEsIDU5LCA0NSwgOTIsIDIxOCwgMTYxLCA1OSwgCisgICAgNDUsIDg2LCAyMzAsIDQwLCA1OSwgNDUsIDkyLCAyNTAsIDE3NSwgMjE1LCAyNDYsIDU5LCA0NSwgODYsIDI1MCwgMTc1LCAKKyAgICAyMTUsIDI0NiwgNTksIDQ1LCA5MiwgMjQxLCA5NiwgMjE1LCAyNDYsIDU5LCA0NSwgODYsIDI0MSwgOTYsIDIxNSwgMjQ2LCAKKyAgICA1OSwgNDUsIDU5LCA1MSwgMjE1LCAyNDUsIDIwNywgMTUsIDEwMiwgNTksIDUxLCAyMTUsIDI0NSwgMjA3LCAxNSwgMTE4LCAKKyAgICAyMTIsIDcsIDEwLCAxNSwgMjM3LCAxNzEsIDEwLCAxNSwgMjM3LCAxNzAsIDEwLCAxNSwgMjM3LCAxNjksIDEwLCAxNSwgCisgICAgMjM3LCAxNjgsIDEwLCAxNSwgMjM3LCAxNjcsIDEwLCAxNSwgMjM3LCAxNjYsIDEwLCAxNSwgMjM3LCAxNjUsIDEwLCAxNSwgCisgICAgMjM3LCAxNjQsIDEwLCAxNSwgMjM3LCAxNjMsIDEwLCAxNSwgMjM3LCAxNjIsIDEwLCAxNSwgMjM3LCAxNjEsIDEwLCAxNSwgCisgICAgMjM3LCAxNjAsIDEwLCAxNSwgMjM3LCAxNTksIDEwLCAxNSwgMjM3LCAxNTgsIDEwLCAxNSwgMjM3LCAxNTcsIDEwLCAxNSwgCisgICAgMjM3LCAxNTYsIDEwLCAxNSwgMjM3LCAxNTUsIDEwLCAxNSwgMjM3LCAxNTQsIDEwLCAxNSwgMjM3LCAxNTMsIDEwLCAxNSwgCisgICAgMjM3LCAxNTIsIDEwLCAxNSwgMjM3LCAxNTEsIDEwLCAxNSwgMjM3LCAxNTAsIDEwLCAxNSwgMjM3LCAxNDksIDEwLCAxNSwgCisgICAgMjM3LCAxNDgsIDEwLCAxNSwgMjM3LCAxNDcsIDEwLCAxNSwgMjM3LCAxNDYsIDEwLCAxNSwgMjM3LCAxNDUsIDEwLCAxNSwgCisgICAgMjM3LCAxNDQsIDEwLCAxNSwgMjM3LCAxNDMsIDEwLCAxNSwgMjM3LCAxNDIsIDEwLCAxNSwgMjM3LCAxNDEsIDEwLCAxNSwgCisgICAgMjM3LCAxNDAsIDEwLCAxNSwgMjM3LCAxMzksIDEwLCAxNSwgMjM3LCAxMzgsIDEwLCAxNSwgMjM3LCAxMzcsIDEwLCAxNSwgCisgICAgMjM3LCAxMzYsIDEwLCAxNSwgMjM3LCAxMzUsIDEwLCAxNSwgMjM3LCAxMzQsIDEwLCAxNSwgMjM3LCAxMzMsIDEwLCAxNSwgCisgICAgMjM3LCAxMzIsIDEwLCAxNSwgMjM3LCAxMzEsIDEwLCAxNSwgMjM3LCAxMzAsIDEwLCAxNSwgMjM3LCAxMjksIDEwLCAxNSwgCisgICAgMjM3LCAxMjgsIDEwLCAxNSwgMjM3LCAxMjcsIDEwLCAxNSwgMjM3LCAxMjYsIDEwLCAxNSwgMjM3LCAxMjUsIDEwLCAxNSwgCisgICAgMjM3LCAxMjQsIDEwLCAxNSwgMjM3LCAxMjMsIDEwLCAxNSwgMjM3LCAxMjIsIDEwLCAxNSwgMjM3LCAxMjEsIDEwLCAxNSwgCisgICAgMjM3LCAxMjAsIDEwLCAxNSwgMjM3LCAxMTksIDEwLCAxNSwgMjM3LCAxMTgsIDEwLCAxNSwgMjM3LCAxMTcsIDEwLCAxNSwgCisgICAgMjM3LCAxMTYsIDEwLCAxNSwgMjM3LCAxMTUsIDEwLCAxNSwgMjM3LCAxMTQsIDEwLCAxNSwgMjM3LCAxMTMsIDEwLCAxNSwgCisgICAgMjM3LCAxMTIsIDEwLCAxNSwgMjM3LCAxMTEsIDEwLCAxNSwgMjM3LCAxMTAsIDEwLCAxNSwgMjM3LCAxMDksIDEwLCAxNSwgCisgICAgMjM3LCAxMDgsIDEwLCAxNSwgMjM3LCAxMDcsIDEwLCAxNSwgMjM3LCAxMDYsIDEwLCAxNSwgMjM3LCAxMDUsIDEwLCAxNSwgCisgICAgMjM3LCAxMDQsIDEwLCAxNSwgMjM3LCAxMDMsIDEwLCAxNSwgMjM3LCAxMDIsIDEwLCAxNSwgMjM3LCAxMDEsIDEwLCAxNSwgCisgICAgMjM3LCAxMDAsIDEwLCAxNSwgMjM3LCA5OSwgMTAsIDE1LCAyMzcsIDk4LCAxMCwgMTUsIDIzNywgOTcsIDEwLCAxNSwgMjM3LCAKKyAgICA5NiwgMTAsIDE1LCAyMzcsIDk1LCAxMCwgMTUsIDIzNywgOTQsIDEwLCAxNSwgMjM3LCA5MywgMTAsIDE1LCAyMzcsIDkyLCAKKyAgICAxMCwgMTUsIDIzNywgOTEsIDEwLCAxNSwgMjM3LCA5MCwgMTAsIDE1LCAyMzcsIDg5LCAxMCwgMTUsIDIzNywgODgsIDEwLCAKKyAgICAxNSwgMjM3LCA4NywgMTAsIDE1LCAyMzcsIDg2LCAxMCwgMTUsIDIzNywgODUsIDEwLCAxNSwgMjM3LCA4NCwgMTAsIDE1LCAKKyAgICAyMzcsIDgzLCAxMCwgMTUsIDIzNywgODIsIDEwLCAxNSwgMjM3LCA4MSwgMTAsIDE1LCAyMzcsIDgwLCAxMCwgMTUsIDIzNywgCisgICAgNzksIDEwLCAxNSwgMjM3LCA3OCwgMTAsIDE1LCAyMzcsIDc3LCAxMCwgMTUsIDIzNywgNzYsIDEwLCAxNSwgMjM3LCA3NSwgCisgICAgMTAsIDE1LCAyMzcsIDc0LCAxMCwgMTUsIDIzNywgNzMsIDEwLCAxNSwgMjM3LCA3MiwgMTAsIDE1LCAyMzcsIDcxLCAxMCwgCisgICAgMTUsIDIzNywgNzAsIDEwLCAxNSwgMjM3LCA2OSwgMTAsIDE1LCAyMzcsIDY4LCAxMCwgMTUsIDIzNywgNjcsIDEwLCAxNSwgCisgICAgMjM3LCA2NiwgMTAsIDE1LCAyMzcsIDY1LCAxMCwgMTUsIDIzNywgNjQsIDEwLCAxNSwgMjM3LCA2MywgMTAsIDE1LCAyMzcsIAorICAgIDYyLCAxMCwgMTUsIDIzNywgNjEsIDEwLCAxNSwgMjM3LCA2MCwgMTAsIDE1LCAyMzcsIDU5LCAxMCwgMTUsIDIzNywgNTgsIAorICAgIDEwLCAxNSwgMjM3LCA1NywgMTAsIDE1LCAyMzcsIDU2LCAxMCwgMTUsIDIzNywgNTUsIDEwLCAxNSwgMjM3LCA1NCwgMTAsIAorICAgIDE1LCAyMzcsIDUzLCAxMCwgMTUsIDIzNywgNTIsIDEwLCAxNSwgMjM3LCA1MSwgMTAsIDE1LCAyMzcsIDUwLCAxMCwgMTUsIAorICAgIDIzNywgNDksIDEwLCAxNSwgMjM3LCA0OCwgMTAsIDE1LCAyMzcsIDQ3LCAxMCwgMTUsIDIzNywgNDYsIDEwLCAxNSwgMjM3LCAKKyAgICA0NSwgMTAsIDE1LCAyMzcsIDQ0LCAxMCwgMTUsIDIzNywgNDMsIDEwLCAxNSwgMjM3LCA0MiwgMTAsIDE1LCAyMzcsIDQxLCAKKyAgICAxMCwgMTUsIDIzNywgNDAsIDEwLCAxNSwgMjM3LCAzOSwgMTAsIDE1LCAyMzcsIDM4LCAxMCwgMTUsIDIzNywgMzcsIDEwLCAKKyAgICAxNSwgMjM3LCAzNiwgMTAsIDE1LCAyMzcsIDM1LCAxMCwgMTUsIDIzNywgMzQsIDEwLCAxNSwgMjM3LCAzMywgMTAsIDE1LCAKKyAgICAyMzcsIDMyLCAxMCwgMTUsIDIzNywgMzEsIDEwLCAxNSwgMjM3LCAzMCwgMTAsIDE1LCAyMzcsIDI5LCAxMCwgMTUsIDIzNywgCisgICAgMjgsIDEwLCAxNSwgMjM3LCAyNywgMTAsIDE1LCAyMzcsIDI2LCAxMCwgMTUsIDIzNywgMjUsIDEwLCAxNSwgMjM3LCAyNCwgCisgICAgMTAsIDE1LCAyMzcsIDIzLCAxMCwgMTUsIDIzNywgMjIsIDEwLCAxNSwgMjM3LCAyMSwgMTAsIDE1LCAyMzcsIDIwLCAxMCwgCisgICAgMTUsIDIzNywgMTksIDEwLCAxNSwgMjM3LCAxOCwgMTAsIDE1LCAyMzcsIDE3LCAxMCwgMTUsIDIzNywgMTYsIDEwLCAxNSwgCisgICAgMjM3LCAxNSwgMTAsIDE1LCAyMzcsIDE0LCAxMCwgMTUsIDIzNywgMTMsIDEwLCAxNSwgMjM3LCAxMiwgMTAsIDE1LCAyMzcsIAorICAgIDExLCAxMCwgMTUsIDIzNywgMTAsIDEwLCAxNSwgMjM3LCA5LCAxMCwgMTUsIDIzNywgOCwgMTAsIDE1LCAyMzcsIDcsIDEwLCAKKyAgICAxNSwgMjM3LCA2LCAxMCwgMTUsIDIzNywgNSwgMTAsIDE1LCAyMzcsIDQsIDEwLCAxNSwgMjM3LCAzLCAxMCwgMTUsIDIzNywgCisgICAgMiwgMTAsIDE1LCAyMzcsIDEsIDEwLCAxNSwgMjM3LCAwLCAxMCwgMTUsIDIzNiwgMjU1LCAxMCwgMTUsIDIzNiwgMjU0LCAKKyAgICAxMCwgMTUsIDIzNiwgMjUzLCAxMCwgMTUsIDIzNiwgMjUyLCAxMCwgMTUsIDIzNiwgMjUxLCAxMCwgMTUsIDIzNiwgMjUwLCAKKyAgICAxMCwgMTUsIDIzNiwgMjQ5LCAxMCwgMTUsIDIzNiwgMjQ4LCAxMCwgMTUsIDIzNiwgMjQ3LCAxMCwgMTUsIDIzNiwgMjQ2LCAKKyAgICAxMCwgMTUsIDIzNiwgMjQ1LCAxMCwgMTUsIDIzNiwgMjQ0LCAxMCwgMTUsIDIzNiwgMjQzLCAxMCwgMTUsIDIzNiwgMjQyLCAKKyAgICAxMCwgMTUsIDIzNiwgMjQxLCAxMCwgMTUsIDIzNiwgMjQwLCAxMCwgMTUsIDIzNiwgMjM5LCAxMCwgMTUsIDIzNiwgMjM4LCAKKyAgICAxMCwgMTUsIDIzNiwgMjM3LCAxMCwgMTUsIDIzNiwgMjM2LCAxMCwgMTUsIDIzNiwgMjM1LCAxMCwgMTUsIDIzNiwgMjM0LCAKKyAgICAxMCwgMTUsIDIzNiwgMjMzLCAxMCwgMTUsIDIzNiwgMjMyLCAxMCwgMTUsIDIzNiwgMjMxLCAxMCwgMTUsIDIzNiwgMjMwLCAKKyAgICAxMCwgMTUsIDIzNiwgMjI5LCAxMCwgMTUsIDIzNiwgMjI4LCAxMCwgMTUsIDIzNiwgMjI3LCAxMCwgMTUsIDIzNiwgMjI2LCAKKyAgICAxMCwgMTUsIDIzNiwgMjI1LCAxMCwgMTUsIDIzNiwgMjI0LCAxMCwgMTUsIDIzNiwgMjIzLCAxMCwgMTUsIDIzNiwgMjIyLCAKKyAgICAxMCwgMTUsIDIzNiwgMjIxLCAxMCwgMTUsIDIzNiwgMjIwLCAxMCwgMTUsIDIzNiwgMjE5LCAxMCwgMTUsIDIzNiwgMjE4LCAKKyAgICAxMCwgMTUsIDIzNiwgMjE3LCAxMCwgMTUsIDIzNiwgMjE2LCAxMCwgMTUsIDIzNiwgMjE1LCAxMCwgMTUsIDIzNiwgMjE0LCAKKyAgICAxMCwgMTUsIDIzNiwgMjEzLCAxMCwgMTUsIDIzNiwgMjEyLCAxMCwgMTUsIDIzNiwgMjExLCAxMCwgMTUsIDIzNiwgMjEwLCAKKyAgICAxMCwgMTUsIDIzNiwgMjA5LCAxMCwgMTUsIDIzNiwgMjA4LCAxMCwgMTUsIDIzNiwgMjA3LCAxMCwgMTUsIDIzNiwgMjA2LCAKKyAgICAxMCwgMTUsIDIzNiwgMjA1LCAxMCwgMTUsIDIzNiwgMjA0LCAxMCwgMTUsIDIzNiwgMjAzLCAxMCwgMTUsIDIzNiwgMjAyLCAKKyAgICAxMCwgMTUsIDIzNiwgMjAxLCAxMCwgMTUsIDIzNiwgMjAwLCAxMCwgMTUsIDIzNiwgMTk5LCAxMCwgMTUsIDIzNiwgMTk4LCAKKyAgICAxMCwgMTUsIDIzNiwgMTk3LCAxMCwgMTUsIDIzNiwgMTk2LCAxMCwgMTUsIDIzNiwgMTk1LCAxMCwgMTUsIDIzNiwgMTk0LCAKKyAgICAxMCwgMTUsIDIzNiwgMTkzLCAxMCwgMTUsIDIzNiwgMTkyLCAxMCwgMTUsIDIzNiwgMTkxLCAxMCwgMTUsIDIzNiwgMTkwLCAKKyAgICAxMCwgMTUsIDIzNiwgMTg5LCAxMCwgMTUsIDIzNiwgMTg4LCAxMCwgMTUsIDIzNiwgMTg3LCAxMCwgMTUsIDIzNiwgMTg2LCAKKyAgICAxMCwgMTUsIDIzNiwgMTg1LCAxMCwgMTUsIDIzNiwgMTg0LCAxMCwgMTUsIDIzNiwgMTgzLCAxMCwgMTUsIDIzNiwgMTgyLCAKKyAgICAxMCwgMTUsIDIzNiwgMTgxLCAxMCwgMTUsIDIzNiwgMTgwLCAxMCwgMTUsIDIzNiwgMTc5LCAxMCwgMTUsIDIzNiwgMTc4LCAKKyAgICAxMCwgMTUsIDIzNiwgMTc3LCAxMCwgMTUsIDIzNiwgMTc2LCAxMCwgMTUsIDIzNiwgMTc1LCAxMCwgMTUsIDIzNiwgMTc0LCAKKyAgICAxMCwgMTUsIDIzNiwgMTczLCAxMCwgMTUsIDIzNiwgMTcyLCAxMCwgMTUsIDIzNiwgMTcxLCAxMCwgMTUsIDIzNiwgMTcwLCAKKyAgICAxMCwgMTUsIDIzNiwgMTY5LCAxMCwgMTUsIDIzNiwgMTY4LCAxMCwgMTUsIDIzNiwgMTY3LCAxMCwgMTUsIDIzNiwgMTY2LCAKKyAgICAxMCwgMTUsIDIzNiwgMTY1LCAxMCwgMTUsIDIzNiwgMTY0LCAxMCwgMTUsIDIzNiwgMTYzLCAxMCwgMTUsIDIzNiwgMTYyLCAKKyAgICAxMCwgMTUsIDIzNiwgMTYxLCAxMCwgMTUsIDIzNiwgMTYwLCAxMCwgMTUsIDIzNiwgMTU5LCAxMCwgMTUsIDIzNiwgMTU4LCAKKyAgICAxMCwgMTUsIDIzNiwgMTU3LCAxMCwgMTUsIDIzNiwgMTU2LCAxMCwgMTUsIDIzNiwgMTU1LCAxMCwgMTUsIDIzNiwgMTU0LCAKKyAgICAxMCwgMTUsIDIzNiwgMTUzLCAxMCwgMTUsIDIzNiwgMTUyLCAxMCwgMTUsIDIzNiwgMTUxLCAxMCwgMTUsIDIzNiwgMTUwLCAKKyAgICAxMCwgMTUsIDIzNiwgMTQ5LCAxMCwgMTUsIDIzNiwgMTQ4LCAxMCwgMTUsIDIzNiwgMTQ3LCAxMCwgMTUsIDIzNiwgMTQ2LCAKKyAgICAxMCwgMTUsIDIzNiwgMTQ1LCAxMCwgMTUsIDIzNiwgMTQ0LCAxMCwgMTUsIDIzNiwgMTQzLCAxMCwgMTUsIDIzNiwgMTQyLCAKKyAgICAxMCwgMTUsIDIzNiwgMTQxLCAxMCwgMTUsIDIzNiwgMTQwLCAxMCwgMTUsIDIzNiwgMTM5LCAxMCwgMTUsIDIzNiwgMTM4LCAKKyAgICAxMCwgMTUsIDIzNiwgMTM3LCAxMCwgMTUsIDIzNiwgMTM2LCAxMCwgMTUsIDIzNiwgMTM1LCAxMCwgMTUsIDIzNiwgMTM0LCAKKyAgICAxMCwgMTUsIDIzNiwgMTMzLCAxMCwgMTUsIDIzNiwgMTMyLCAxMCwgMTUsIDIzNiwgMTMxLCAxMCwgMTUsIDIzNiwgMTMwLCAKKyAgICAxMCwgMTUsIDIzNiwgMTI5LCAxMCwgMTUsIDIzNiwgMTI4LCAxMCwgMTUsIDIzNiwgMTI3LCAxMCwgMTUsIDIzNiwgMTI2LCAKKyAgICAxMCwgMTUsIDIzNiwgMTI1LCAxMCwgMTUsIDIzNiwgMTI0LCAxMCwgMTUsIDIzNiwgMTIzLCAxMCwgMTUsIDIzNiwgMTIyLCAKKyAgICAxMCwgMTUsIDIzNiwgMTIxLCAxMCwgMTUsIDIzNiwgMTIwLCAxMCwgMTUsIDIzNiwgMTE5LCAxMCwgMTUsIDIzNiwgMTE4LCAKKyAgICAxMCwgMTUsIDIzNiwgMTE3LCAxMCwgMTUsIDIzNiwgMTE2LCAxMCwgMTUsIDIzNiwgMTE1LCAxMCwgMTUsIDIzNiwgMTE0LCAKKyAgICAxMCwgMTUsIDIzNiwgMTEzLCAxMCwgMTUsIDIzNiwgMTEyLCAxMCwgMTUsIDIzNiwgMTExLCAxMCwgMTUsIDIzNiwgMTEwLCAKKyAgICAxMCwgMTUsIDIzNiwgMTA5LCAxMCwgMTUsIDIzNiwgMTA4LCAxMCwgMTUsIDIzNiwgMTA3LCAxMCwgMTUsIDIzNiwgMTA2LCAKKyAgICAxMCwgMTUsIDIzNiwgMTA1LCAxMCwgMTUsIDIzNiwgMTA0LCAxMCwgMTUsIDIzNiwgMTAzLCAxMCwgMTUsIDIzNiwgMTAyLCAKKyAgICAxMCwgMTUsIDIzNiwgMTAxLCAxMCwgMTUsIDIzNiwgMTAwLCAxMCwgMTUsIDIzNiwgOTksIDEwLCAxNSwgMjM2LCA5OCwgMTAsIAorICAgIDE1LCAyMzYsIDk3LCAxMCwgMTUsIDIzNiwgOTYsIDEwLCAxNSwgMjM2LCA5NSwgMTAsIDE1LCAyMzYsIDk0LCAxMCwgMTUsIAorICAgIDIzNiwgOTMsIDEwLCAxNSwgMjM2LCA5MiwgMTAsIDE1LCAyMzYsIDkxLCAxMCwgMTUsIDIzNiwgOTAsIDEwLCAxNSwgMjM2LCAKKyAgICA4OSwgMTAsIDE1LCAyMzYsIDg4LCAxMCwgMTUsIDIzNiwgODcsIDEwLCAxNSwgMjM2LCA4NiwgMTAsIDE1LCAyMzYsIDg1LCAKKyAgICAxMCwgMTUsIDIzNiwgODQsIDEwLCAxNSwgMjM2LCA4MywgMTAsIDE1LCAyMzYsIDgyLCAxMCwgMTUsIDIzNiwgODEsIDEwLCAKKyAgICAxNSwgMjM2LCA4MCwgMTAsIDE1LCAyMzYsIDc5LCAxMCwgMTUsIDIzNiwgNzgsIDEwLCAxNSwgMjM2LCA3NywgMTAsIDE1LCAKKyAgICAyMzYsIDc2LCAxMCwgMTUsIDIzNiwgNzUsIDEwLCAxNSwgMjM2LCA3NCwgMTAsIDE1LCAyMzYsIDczLCAxMCwgMTUsIDIzNiwgCisgICAgNzIsIDEwLCAxNSwgMjM2LCA3MSwgMTAsIDE1LCAyMzYsIDcwLCAxMCwgMTUsIDIzNiwgNjksIDEwLCAxNSwgMjM2LCA2OCwgCisgICAgMTAsIDE1LCAyMzYsIDY3LCAxMCwgMTUsIDIzNiwgNjYsIDEwLCAxNSwgMjM2LCA2NSwgMTAsIDE1LCAyMzYsIDY0LCAxMCwgCisgICAgMTUsIDIzNiwgNjMsIDEwLCAxNSwgMjM2LCA2MiwgMTAsIDE1LCAyMzYsIDYxLCAxMCwgMTUsIDIzNiwgNjAsIDEwLCAxNSwgCisgICAgMjM2LCA1OSwgMTAsIDE1LCAyMzYsIDU4LCAxMCwgMTUsIDIzNiwgNTcsIDEwLCAxNSwgMjM2LCA1NiwgMTAsIDE1LCAyMzYsIAorICAgIDU1LCAxMCwgMTUsIDIzNiwgNTQsIDEwLCAxNSwgMjM2LCA1MywgMTAsIDE1LCAyMzYsIDUyLCAxMCwgMTUsIDIzNiwgNTEsIAorICAgIDEwLCAxNSwgMjM2LCA1MCwgMTAsIDE1LCAyMzYsIDQ5LCAxMCwgMTUsIDIzNiwgNDgsIDEwLCAxNSwgMjM2LCA0NywgMTAsIAorICAgIDE1LCAyMzYsIDQ2LCAxMCwgMTUsIDIzNiwgNDUsIDEwLCAxNSwgMjM2LCA0NCwgMTAsIDE1LCAyMzYsIDQzLCAxMCwgMTUsIAorICAgIDIzNiwgNDIsIDEwLCAxNSwgMjM2LCA0MSwgMTAsIDE1LCAyMzYsIDQwLCAxMCwgMTUsIDIzNiwgMzksIDEwLCAxNSwgMjM2LCAKKyAgICAzOCwgMTAsIDE1LCAyMzYsIDM3LCAxMCwgMTUsIDIzNiwgMzYsIDEwLCAxNSwgMjM2LCAzNSwgMTAsIDE1LCAyMzYsIDM0LCAKKyAgICAxMCwgMTUsIDIzNiwgMzMsIDEwLCAxNSwgMjM2LCAzMiwgMTAsIDE1LCAyMzYsIDMxLCAxMCwgMTUsIDIzNiwgMzAsIDEwLCAKKyAgICAxNSwgMjM2LCAyOSwgMTAsIDE1LCAyMzYsIDI4LCAxMCwgMTUsIDIzNiwgMjcsIDEwLCAxNSwgMjM2LCAyNiwgMTAsIDE1LCAKKyAgICAyMzYsIDI1LCAxMCwgMTUsIDIzNiwgMjQsIDEwLCAxNSwgMjM2LCAyMywgMTAsIDE1LCAyMzYsIDIyLCAxMCwgMTUsIDIzNiwgCisgICAgMjEsIDEwLCAxNSwgMjM2LCAyMCwgMTAsIDE1LCAyMzYsIDE5LCAxMCwgMTUsIDIzNiwgMTgsIDEwLCAxNSwgMjM2LCAxNywgCisgICAgMTAsIDE1LCAyMzYsIDE2LCAxMCwgMTUsIDIzNiwgMTUsIDEwLCAxNSwgMjM2LCAxNCwgMTAsIDE1LCAyMzYsIDEzLCAxMCwgCisgICAgMTUsIDIzNiwgMTIsIDEwLCAxNSwgMjM2LCAxMSwgMTAsIDE1LCAyMzYsIDEwLCAxMCwgMTUsIDIzNiwgOSwgMTAsIDE1LCAKKyAgICAyMzYsIDgsIDEwLCAxNSwgMjM2LCA3LCAxMCwgMTUsIDIzNiwgNiwgMTAsIDE1LCAyMzYsIDUsIDEwLCAxNSwgMjM2LCA0LCAKKyAgICAxMCwgMTUsIDIzNiwgMywgMTAsIDE1LCAyMzYsIDIsIDEwLCAxNSwgMjM2LCAxLCAxMCwgMTUsIDIzNiwgMCwgMTAsIDE1LCAKKyAgICAyMzUsIDI1NSwgMTAsIDE1LCAyMzUsIDI1NCwgMTAsIDE1LCAyMzUsIDI1MywgMTAsIDE1LCAyMzUsIDI1MiwgMTAsIDE1LCAKKyAgICAyMzUsIDI1MSwgMTAsIDE1LCAyMzUsIDI1MCwgMTAsIDE1LCAyMzUsIDI0OSwgMTAsIDE1LCAyMzUsIDI0OCwgMTAsIDE1LCAKKyAgICAyMzUsIDI0NywgMTAsIDE1LCAyMzUsIDI0NiwgMTAsIDE1LCAyMzUsIDI0NSwgMTAsIDE1LCAyMzUsIDI0NCwgMTAsIDE1LCAKKyAgICAyMzUsIDI0MywgMTAsIDE1LCAyMzUsIDI0MiwgMTAsIDE1LCAyMzUsIDI0MSwgMTAsIDE1LCAyMzUsIDI0MCwgMTAsIDE1LCAKKyAgICAyMzUsIDIzOSwgMTAsIDE1LCAyMzUsIDIzOCwgMTAsIDE1LCAyMzUsIDIzNywgMTAsIDE1LCAyMzUsIDIzNiwgMTAsIDE1LCAKKyAgICAyMzUsIDIzNSwgMTAsIDE1LCAyMzUsIDIzNCwgMTAsIDE1LCAyMzUsIDIzMywgMTAsIDE1LCAyMzUsIDIzMiwgMTAsIDE1LCAKKyAgICAyMzUsIDIzMSwgMTAsIDE1LCAyMzUsIDIzMCwgMTAsIDE1LCAyMzUsIDIyOSwgMTAsIDE1LCAyMzUsIDIyOCwgMTAsIDE1LCAKKyAgICAyMzUsIDIyNywgMTAsIDE1LCAyMzUsIDIyNiwgMTAsIDE1LCAyMzUsIDIyNSwgMTAsIDE1LCAyMzUsIDIyNCwgMTAsIDE1LCAKKyAgICAyMzUsIDIyMywgMTAsIDE1LCAyMzUsIDIyMiwgMTAsIDE1LCAyMzUsIDIyMSwgMTAsIDE1LCAyMzUsIDIyMCwgMTAsIDE1LCAKKyAgICAyMzUsIDIxOSwgMTAsIDE1LCAyMzUsIDIxOCwgMTAsIDE1LCAyMzUsIDIxNywgMTAsIDE1LCAyMzUsIDIxNiwgMTAsIDE1LCAKKyAgICAyMzUsIDIxNSwgMTAsIDE1LCAyMzUsIDIxNCwgMTAsIDE1LCAyMzUsIDIxMywgMTAsIDE1LCAyMzUsIDIxMiwgMTAsIDE1LCAKKyAgICAyMzUsIDIxMSwgMTAsIDE1LCAyMzUsIDIxMCwgMTAsIDE1LCAyMzUsIDIwOSwgMTAsIDE1LCAyMzUsIDIwOCwgMTAsIDE1LCAKKyAgICAyMzUsIDIwNywgMTAsIDE1LCAyMzUsIDIwNiwgMTAsIDE1LCAyMzUsIDIwNSwgMTAsIDE1LCAyMzUsIDIwNCwgMTAsIDE1LCAKKyAgICAyMzUsIDIwMywgMTAsIDE1LCAyMzUsIDIwMiwgMTAsIDE1LCAyMzUsIDIwMSwgMTAsIDE1LCAyMzUsIDIwMCwgMTAsIDE1LCAKKyAgICAyMzUsIDE5OSwgMTAsIDE1LCAyMzUsIDE5OCwgMTAsIDE1LCAyMzUsIDE5NywgMTAsIDE1LCAyMzUsIDE5NiwgMTAsIDE1LCAKKyAgICAyMzUsIDE5NSwgMTAsIDE1LCAyMzUsIDE5NCwgMTAsIDE1LCAyMzUsIDE5MywgMTAsIDE1LCAyMzUsIDE5MiwgMTAsIDE1LCAKKyAgICAyMzUsIDE5MSwgMTAsIDE1LCAyMzUsIDE5MCwgMTAsIDE1LCAyMzUsIDE4OSwgMTAsIDE1LCAyMzUsIDE4OCwgMTAsIDE1LCAKKyAgICAyMzUsIDE4NywgMTAsIDE1LCAyMzUsIDE4NiwgMTAsIDE1LCAyMzUsIDE4NSwgMTAsIDE1LCAyMzUsIDE4NCwgMTAsIDE1LCAKKyAgICAyMzUsIDE4MywgMTAsIDE1LCAyMzUsIDE4MiwgMTAsIDE1LCAyMzUsIDE4MSwgMTAsIDE1LCAyMzUsIDE4MCwgMTAsIDE1LCAKKyAgICAyMzUsIDE3OSwgMTAsIDE1LCAyMzUsIDE3OCwgMTAsIDE1LCAyMzUsIDE3NywgMTAsIDE1LCAyMzUsIDE3NiwgMTAsIDE1LCAKKyAgICAyMzUsIDE3NSwgMTAsIDE1LCAyMzUsIDE3NCwgMTAsIDE1LCAyMzUsIDE3MywgMTAsIDE1LCAyMzUsIDE3MiwgMTAsIDE1LCAKKyAgICAyMzUsIDE3MSwgMTAsIDE1LCAyMzUsIDE3MCwgMTAsIDE1LCAyMzUsIDE2OSwgMTAsIDE1LCAyMzUsIDE2OCwgMTAsIDE1LCAKKyAgICAyMzUsIDE2NywgMTAsIDE1LCAyMzUsIDE2NiwgMTAsIDE1LCAyMzUsIDE2NSwgMTAsIDE1LCAyMzUsIDE2NCwgMTAsIDE1LCAKKyAgICAyMzUsIDE2MywgMTAsIDE1LCAyMzUsIDE2MiwgMTAsIDE1LCAyMzUsIDE2MSwgMTAsIDE1LCAyMzUsIDE2MCwgMTAsIDE1LCAKKyAgICAyMzUsIDE1OSwgMTAsIDE1LCAyMzUsIDE1OCwgMTAsIDE1LCAyMzUsIDE1NywgMTAsIDE1LCAyMzUsIDE1NiwgMTAsIDE1LCAKKyAgICAyMzUsIDE1NSwgMTAsIDE1LCAyMzUsIDE1NCwgMTAsIDE1LCAyMzUsIDE1MywgMTAsIDE1LCAyMzUsIDE1MiwgMTAsIDE1LCAKKyAgICAyMzUsIDE1MSwgMTAsIDE1LCAyMzUsIDE1MCwgMTAsIDE1LCAyMzUsIDE0OSwgMTAsIDE1LCAyMzUsIDE0OCwgMTAsIDE1LCAKKyAgICAyMzUsIDE0NywgMTAsIDE1LCAyMzUsIDE0NiwgMTAsIDE1LCAyMzUsIDE0NSwgMTAsIDE1LCAyMzUsIDE0NCwgMTAsIDE1LCAKKyAgICAyMzUsIDE0MywgMTAsIDE1LCAyMzUsIDE0MiwgMjMwLCA5MiwgMjEyLCAxOTgsIDE1MCwgMjE0LCAxNTMsIDE1MCwgMjQyLCAKKyAgICAxNjgsIDgzLCAxNTAsIDIxOSwgMTgwLCA4MywgMTUwLCA0MywgNTMsIDE1MCwgMjQ1LCAzNSwgNTMsIDE1MCwgMjIxLCAxMzEsIAorICAgIDUzLCAxNTAsIDI1MiwgMTI1LCAxNTAsIDI1MiwgNTMsIDE1MCwgNDcsIDIyMSwgMjE2LCAxNTAsIDQ4LCAyMjEsIDIxNiwgCisgICAgMTUwLCAyNTEsIDIwOSwgMTUwLCAxMDEsIDUzLCAxNTAsIDI0NywgMTU1LCAxNTAsIDIzNywgMjM4LCAxNTAsIDI0MSwgODIsIAorICAgIDIxMywgMjUxLCAxNTAsIDIxNCwgMTgwLCAxNTAsIDE4LCAyMDUsIDg1LCAxNTAsIDE4LCAxMDIsIDE1MCwgMTgsIDEwNSwgCisgICAgMTUwLCAxOCwgMTQyLCAxNTAsIDE4LCAxMzksIDE1MCwgMTgsIDE2OCwgMTUwLCAxOCwgMTg0LCAxNTAsIDE4LCAxOTUsIAorICAgIDE1MCwgMTgsIDE5MywgMTUwLCAxOCwgMjAwLCAxNTAsIDI0NywgMTYyLCAxNTAsIDIxNiwgNTIsIDE1MCwgMjMwLCAxMCwgCisgICAgNTMsIDE1MCwgMjQyLCAyNDIsIDUzLCAxNTAsIDIzOSwgMjMwLCA1MywgMTUwLCAyMTksIDE5NiwgODMsIDE1MCwgMjQ3LCAKKyAgICAxNTMsIDI1MSwgMTk5LCAxNTAsIDcsIDYsIDEsIDYyLCAxNTAsIDcsIDYsIDEsIDI1MSwgMTUwLCAxNTAsIDcsIDYsIDEsIAorICAgIDI0OSwgMzQsIDE1MCwgNywgNiwgMSwgMjQ2LCAyNDAsIDE1MCwgNywgNiwgMSwgNzUsIDE1MCwgNywgNiwgMSwgMjQyLCAKKyAgICAxMzksIDE1MCwgNywgNiwgMSwgMjQxLCA1NSwgMTUwLCA3LCA2LCAxLCAyMzksIDE1NSwgMTUwLCA3LCA2LCAxLCA3NCwgCisgICAgMTUwLCA3LCA2LCAxLCAyMzIsIDIwMywgMTUwLCA3LCA2LCAxLCAyMzIsIDc2LCAxNTAsIDcsIDYsIDEsIDE0OSwgMTUwLCA3LCAKKyAgICA2LCAxLCAyMjksIDI4LCAxNTAsIDcsIDYsIDEsIDIyNiwgMzMsIDE1MCwgNywgNiwgMSwgNzYsIDE1MCwgNywgNiwgMSwgCisgICAgMjIyLCA2NywgMTUwLCA3LCA2LCAxLCAyMjAsIDI3LCAxNTAsIDcsIDYsIDEsIDEzNywgMTUwLCA3LCA2LCAxLCAxODIsIAorICAgIDE1MCwgNywgNiwgMSwgMjEzLCAxMCwgMTUwLCA3LCA2LCAxLCA3MSwgMTUwLCA3LCA2LCAxLCAyMDksIDE0OCwgMTUwLCA3LCAKKyAgICA2LCAxLCAyMDcsIDEyOSwgMTUwLCA3LCA2LCAxLCAyMDYsIDE5NSwgMTUwLCA3LCA2LCAxLCAyMDYsIDEyMywgMTUwLCA3LCAKKyAgICA2LCAxLCAyMDUsIDE1OSwgMTUwLCA0NywgNDksIDE0NSwgMTUwLCAyMTgsIDIyNSwgMjE0LCAxODAsIDE1MCwgNDgsIDQ5LCAKKyAgICAxNDUsIDE1MCwgMjQ3LCAyMjgsIDI1MywgMjEsIDE1MCwgMTE0LCAyMjksIDIwNSwgMTUwLCAyMzksIDIzNywgMjUzLCAyMSwgCisgICAgMTUwLCA3LCA1LCAxLCA2MiwgMTUwLCA3LCA1LCAxLCAyNTEsIDE1MCwgMTUwLCA3LCA1LCAxLCAyNDksIDM0LCAxNTAsIDcsIAorICAgIDUsIDEsIDI0NiwgMjQwLCAxNTAsIDcsIDUsIDEsIDc1LCAxNTAsIDcsIDUsIDEsIDI0MiwgMTM5LCAxNTAsIDcsIDUsIDEsIAorICAgIDI0MSwgNTUsIDE1MCwgNywgNSwgMSwgMjM5LCAxNTUsIDE1MCwgNywgNSwgMSwgNzQsIDE1MCwgNywgNSwgMSwgMjMyLCAKKyAgICAyMDMsIDE1MCwgNywgNSwgMSwgMjMyLCA3NiwgMTUwLCA3LCA1LCAxLCAxNDksIDE1MCwgNywgNSwgMSwgMjI5LCAyOCwgCisgICAgMTUwLCA3LCA1LCAxLCAyMjYsIDMzLCAxNTAsIDcsIDUsIDEsIDc2LCAxNTAsIDcsIDUsIDEsIDIyMiwgNjcsIDE1MCwgNywgCisgICAgNSwgMSwgMjIwLCAyNywgMTUwLCA3LCA1LCAxLCAxMzcsIDE1MCwgNywgNSwgMSwgMTgyLCAxNTAsIDcsIDUsIDEsIDIxMywgCisgICAgMTAsIDE1MCwgNywgNSwgMSwgNzEsIDE1MCwgNywgNSwgMSwgMjA5LCAxNDgsIDE1MCwgNywgNSwgMSwgMjA3LCAxMjksIAorICAgIDE1MCwgNywgNSwgMSwgMjA2LCAxOTUsIDE1MCwgNywgNSwgMSwgMjA2LCAxMjMsIDE1MCwgNywgNSwgMSwgMjA1LCAxNTksIAorICAgIDE1MCwgNDcsIDI0NywgMjYsIDE0NSwgMTUwLCA3OSwgMjI5LCAyMDUsIDE1MCwgNDgsIDI0NywgMjYsIDE0NSwgMTUwLCAKKyAgICAyMTEsIDE4MCwgMjQ4LCAyMjUsIDIxMiwgMTk4LCA1NCwgMjE2LCAyMzYsIDU0LCAyMTYsIDIyNSwgNTQsIDIxNiwgMjE0LCAKKyAgICA1NCwgMjE2LCAyMDIsIDU0LCAyMTYsIDE5MSwgNTQsIDIxNiwgMTgwLCA1NCwgMjE2LCAxNjksIDU0LCAyMTYsIDE1OCwgNTQsIAorICAgIDIxNiwgMTQ3LCA1NCwgMjE2LCAxMzksIDU0LCAyMTYsIDEzOCwgNTQsIDIxNiwgMTM3LCA1NCwgMjE2LCAxMzYsIDU0LCAKKyAgICAyMTYsIDEzNCwgNTQsIDIxNiwgMTMzLCA1NCwgMjE2LCAxMzIsIDU0LCAyMTYsIDEzMSwgNTQsIDIxNiwgMTMwLCA1NCwgCisgICAgMjE2LCAxMjksIDU0LCAyMTYsIDEyOCwgNTQsIDIxNiwgMTI3LCA1NCwgMjE2LCAxMjYsIDU0LCAyMTYsIDEyNSwgNTQsIAorICAgIDIxNiwgMTIzLCA1NCwgMjE2LCAxMjIsIDU0LCAyMTYsIDEyMSwgNTQsIDIxNiwgMTIwLCA1NCwgMjE2LCAxMTksIDU0LCAKKyAgICAyMTYsIDExOCwgNTQsIDIxNiwgMTE3LCA1NCwgMjE2LCAxMTYsIDU0LCAyMTYsIDExNSwgNTQsIDIxNiwgMTE0LCA1NCwgCisgICAgMjE2LCAxMTIsIDU0LCAyMTYsIDExMSwgNTQsIDIxNiwgMTEwLCA1NCwgMjE2LCAxMDksIDU0LCAyMTYsIDEwOCwgNTQsIAorICAgIDIxNiwgMTA3LCA1NCwgMjE2LCAxMDYsIDU0LCAyMTYsIDEwNSwgNTQsIDIxNiwgMTA0LCA1NCwgMjE2LCAxMDMsIDU0LCAKKyAgICAyMTYsIDEwMSwgNTQsIDIxNiwgMTAwLCA1NCwgMjE2LCA5OSwgNTQsIDIxNiwgOTgsIDU0LCAyMTYsIDk3LCA1NCwgMjE2LCAKKyAgICA5NiwgNTQsIDIxNiwgOTUsIDU0LCAyMTYsIDk0LCA1NCwgMjE2LCA5MywgNTQsIDIxNiwgOTIsIDU0LCAyMTYsIDkwLCA1NCwgCisgICAgMjE2LCA4OSwgNTQsIDIxNiwgODgsIDU0LCAyMTYsIDg3LCA1NCwgMjE2LCA4NiwgNTQsIDIxNiwgODUsIDU0LCAyMTYsIDg0LCAKKyAgICA1NCwgMjE2LCA4MywgNTQsIDIxNiwgODIsIDU0LCAyMTYsIDgxLCA1NCwgMjE2LCA3OSwgNTQsIDIxNiwgNzgsIDU0LCAyMTYsIAorICAgIDc3LCA1NCwgMjE2LCA3NiwgNTQsIDIxNiwgNzUsIDU0LCAyMTYsIDc0LCA1NCwgMjE2LCA3MywgNTQsIDIxNiwgNzIsIDU0LCAKKyAgICAyMTYsIDcxLCA1NCwgMjE2LCA3MCwgNTQsIDIxNiwgNjgsIDU0LCAyMTYsIDY3LCA1NCwgMjE2LCA2NiwgNTQsIDIxNiwgNjUsIAorICAgIDU0LCAyMTYsIDY0LCA1NCwgMjE2LCA2MywgNTQsIDIxNiwgNjIsIDU0LCAyMTYsIDYxLCA1NCwgMjE2LCA2MCwgNTQsIDIxNiwgCisgICAgNTksIDU0LCAyMTcsIDU2LCA1NCwgMjE3LCA1NSwgNTQsIDIxNywgNTQsIDU0LCAyMTcsIDUzLCA1NCwgMjE3LCA1MiwgNTQsIAorICAgIDIxNywgNTEsIDU0LCAyMTcsIDUwLCA1NCwgMjE3LCA0OSwgNTQsIDIxNywgNDgsIDU0LCAyMTcsIDQ3LCA1NCwgMjE3LCA0NSwgCisgICAgNTQsIDIxNywgNDQsIDU0LCAyMTcsIDQzLCA1NCwgMjE3LCA0MiwgNTQsIDIxNywgNDEsIDU0LCAyMTcsIDQwLCA1NCwgMjE3LCAKKyAgICAzOSwgNTQsIDIxNywgMzgsIDU0LCAyMTcsIDM3LCA1NCwgMjE3LCAzNiwgNTQsIDIxNywgMzQsIDU0LCAyMTcsIDMzLCA1NCwgCisgICAgMjE3LCAzMiwgNTQsIDIxNywgMzEsIDU0LCAyMTcsIDMwLCA1NCwgMjE3LCAyOSwgNTQsIDIxNywgMjgsIDU0LCAyMTcsIDI3LCAKKyAgICA1NCwgMjE3LCAyNiwgNTQsIDIxNywgMjUsIDU0LCAyMTcsIDIzLCA1NCwgMjE3LCAyMiwgNTQsIDIxNywgMjEsIDU0LCAyMTcsIAorICAgIDIwLCA1NCwgMjE3LCAxOSwgNTQsIDIxNywgMTgsIDU0LCAyMTcsIDE3LCA1NCwgMjE3LCAxNiwgNTQsIDIxNywgMTUsIDU0LCAKKyAgICAyMTcsIDE0LCA1NCwgMjE3LCAxMiwgNTQsIDIxNywgMTEsIDU0LCAyMTcsIDEwLCA1NCwgMjE3LCA5LCA1NCwgMjE3LCA4LCAKKyAgICA1NCwgMjE3LCA3LCA1NCwgMjE3LCA2LCA1NCwgMjE3LCA1LCA1NCwgMjE3LCA0LCA1NCwgMjE3LCAzLCA1NCwgMjE3LCAxLCAKKyAgICA1NCwgMjE3LCAwLCA1NCwgMjE2LCAyNTUsIDU0LCAyMTYsIDI1NCwgNTQsIDIxNiwgMjUzLCA1NCwgMjE2LCAyNTIsIDU0LCAKKyAgICAyMTYsIDI1MSwgNTQsIDIxNiwgMjUwLCA1NCwgMjE2LCAyNDksIDU0LCAyMTYsIDI0OCwgNTQsIDIxNiwgMjQ2LCA1NCwgCisgICAgMjE2LCAyNDUsIDU0LCAyMTYsIDI0NCwgNTQsIDIxNiwgMjQzLCA1NCwgMjE2LCAyNDIsIDU0LCAyMTYsIDI0MSwgNTQsIAorICAgIDIxNiwgMjQwLCA1NCwgMjE2LCAyMzksIDU0LCAyMTYsIDIzOCwgNTQsIDIxNiwgMjM3LCA1NCwgMjE2LCAyMzUsIDU0LCAKKyAgICAyMTYsIDIzNCwgNTQsIDIxNiwgMjMzLCA1NCwgMjE2LCAyMzIsIDU0LCAyMTYsIDIzMSwgNTQsIDIxNiwgMjMwLCA1NCwgCisgICAgMjE2LCAyMjksIDU0LCAyMTYsIDIyOCwgNTQsIDIxNiwgMjI3LCA1NCwgMjE2LCAyMjYsIDU0LCAyMTYsIDIyNCwgNTQsIAorICAgIDIxNiwgMjIzLCA1NCwgMjE2LCAyMjIsIDU0LCAyMTYsIDIyMSwgNTQsIDIxNiwgMjIwLCA1NCwgMjE2LCAyMTksIDU0LCAKKyAgICAyMTYsIDIxOCwgNTQsIDIxNiwgMjE3LCA1NCwgMjE2LCAyMTYsIDU0LCAyMTYsIDIxNSwgNTQsIDIxNiwgMjEzLCA1NCwgCisgICAgMjE2LCAyMTIsIDU0LCAyMTYsIDIxMSwgNTQsIDIxNiwgMjEwLCA1NCwgMjE2LCAyMDksIDU0LCAyMTYsIDIwOCwgNTQsIAorICAgIDIxNiwgMjA3LCA1NCwgMjE2LCAyMDYsIDU0LCAyMTYsIDIwNSwgNTQsIDIxNiwgMjA0LCA1NCwgMjE2LCAyMDEsIDU0LCAKKyAgICAyMTYsIDIwMCwgNTQsIDIxNiwgMTk5LCA1NCwgMjE2LCAxOTgsIDU0LCAyMTYsIDE5NywgNTQsIDIxNiwgMTk2LCA1NCwgCisgICAgMjE2LCAxOTUsIDU0LCAyMTYsIDE5NCwgNTQsIDIxNiwgMTkzLCA1NCwgMjE2LCAxOTIsIDU0LCAyMTYsIDE5MCwgNTQsIAorICAgIDIxNiwgMTg5LCA1NCwgMjE2LCAxODgsIDU0LCAyMTYsIDE4NywgNTQsIDIxNiwgMTg2LCA1NCwgMjE2LCAxODUsIDU0LCAKKyAgICAyMTYsIDE4NCwgNTQsIDIxNiwgMTgzLCA1NCwgMjE2LCAxODIsIDU0LCAyMTYsIDE4MSwgNTQsIDIxNiwgMTc5LCA1NCwgCisgICAgMjE2LCAxNzgsIDU0LCAyMTYsIDE3NywgNTQsIDIxNiwgMTc2LCA1NCwgMjE2LCAxNzUsIDU0LCAyMTYsIDE3NCwgNTQsIAorICAgIDIxNiwgMTczLCA1NCwgMjE2LCAxNzIsIDU0LCAyMTYsIDE3MSwgNTQsIDIxNiwgMTcwLCA1NCwgMjE2LCAxNjgsIDU0LCAKKyAgICAyMTYsIDE2NywgNTQsIDIxNiwgMTY2LCA1NCwgMjE2LCAxNjUsIDU0LCAyMTYsIDE2NCwgNTQsIDIxNiwgMTYzLCA1NCwgCisgICAgMjE2LCAxNjIsIDU0LCAyMTYsIDE2MSwgNTQsIDIxNiwgMTYwLCA1NCwgMjE2LCAxNTksIDU0LCAyMTYsIDE1NywgNTQsIAorICAgIDIxNiwgMTU2LCA1NCwgMjE2LCAxNTUsIDU0LCAyMTYsIDE1NCwgNTQsIDIxNiwgMTUzLCA1NCwgMjE2LCAxNTIsIDU0LCAKKyAgICAyMTYsIDE1MSwgNTQsIDIxNiwgMTUwLCA1NCwgMjE2LCAxNDksIDU0LCAyMTYsIDE0OCwgNTQsIDIxNiwgMTQ2LCA1NCwgCisgICAgMjE2LCAxNDUsIDU0LCAyMTYsIDE0NCwgNTQsIDIxNiwgMTQzLCA1NCwgMjE2LCAxNDIsIDU0LCAyMTYsIDE0MSwgNTQsIAorICAgIDIxNiwgMTQwLCAyMjMsIDE4MSwgMjIzLCAxODMsIDIxNCwgMjIsIDczLCAyMzksIDY2LCAyMTQsIDE4MywgMjE0LCAyMiwgCisgICAgNzMsIDIxMiwgNjAsIDIxMywgMjA1LCAyNDMsIDM0LCA3MywgMjEyLCA2MCwgMjQyLCAxOTMsIDI0MywgMzQsIDczLCAyMTEsIAorICAgIDY5LCAyNDIsIDI1NCwgMjQzLCAyMSwgMjQzLCAyMiwgMjUzLCAxMywgMjUzLCAxNCwgMjUyLCAxNjksIDI1MCwgMzEsIDI1MCwgCisgICAgMTcwLCAyNDksIDEwNywgMTU3LCAyMTIsIDIwMywgMTk0LCAyMTIsIDIwMywgMjM4LCA0NywgMjEyLCAyMDcsIDIyOSwgMjA2LCAKKyAgICAyNDIsIDE5LCAxODYsIDIyOSwgMjA1LCAyNDMsIDM0LCA3MywgMjI5LCAyMDUsIDIyOSwgMjUwLCAyMjQsIDEyOSwgMjQzLCAKKyAgICAxLCAyMjksIDIwNiwgMjEyLCAyMDMsIDc5LCAyMTIsIDIwMywgMjA3LCAxNTAsIDI0MSwgMTM2LCAyNDIsIDE5LCAyNDEsIAorICAgIDI1NCwgMjQ4LCAxOTEsIDIxOCwgMjI4LCAyNDcsIDczLCAyMTUsIDE3OSwgMjIyLCA5MywgMjI5LCAxMzgsIDEwMiwgMjE0LCAKKyAgICAxOTMsIDIxNSwgMTc5LCAyMzMsIDY4LCAyMjksIDEzOCwgMjA1LCA4NSwgMjE1LCA4MCwgMjQ2LCA3MywgMjI5LCAxOTYsIAorICAgIDI0MiwgMjE3LCAyNDUsIDYxLCAyNDUsIDE5OSwgMjQ3LCAxMDksIDEwMiwgMjQ2LCA2MiwgMjQ1LCAxOTksIDI0NywgMTA5LCAKKyAgICAxMDUsIDI0NiwgNjEsIDI0NSwgMTk5LCAyNDcsIDEwOSwgMTQyLCAyNDYsIDYwLCAyNDUsIDE5OSwgMjQ3LCAxMDksIDEzOSwgCisgICAgMjQ2LCA1OSwgMTcwLCAyNTMsIDEzLCAyMjUsIDIxNSwgMjEzLCAzNiwgMjMzLCAxMzEsIDIxMywgMzksIDI0MywgMzQsIDczLCAKKyAgICAyMTEsIDcwLCAyNDksIDE5MywgMjQyLCAyMDAsIDI0OCwgMjI0LCAyNDgsIDIyNiwgMjQzLCAzNCwgNzMsIDIyNywgMTA4LCAKKyAgICAyNDIsIDI1NSwgMjEzLCAxNzksIDIxMywgMTk2LCAyNDIsIDIxNywgMjQyLCAyMTgsIDIzMywgNDMsIDIxNiwgNDAsIDEzOSwgCisgICAgMjQxLCAyMzYsIDIxNiwgMzksIDI0MSwgOTIsIDIzMywgNDMsIDIxNiwgNDAsIDE0MiwgMjM5LCAyMjEsIDIxNiwgMzksIAorICAgIDIzOSwgMjE4LCAyMzMsIDQzLCAyMTYsIDQwLCAxMDUsIDIxOSwgNDMsIDIxNiwgMzksIDIxOCwgNTUsIDIzMywgNDMsIDIxNiwgCisgICAgNDAsIDEwMiwgMjA5LCAyMTcsIDIxNiwgMzksIDIwOSwgMTc3LCAyMTQsIDE1NiwgMjQ1LCAyMzYsIDI0NSwgMjM4LCAyMjIsIAorICAgIDQwLCAyNDgsIDk0LCAyMjIsIDQyLCAxMjcsIDIyMiwgMjEzLCAyMjAsIDEzMCwgMjM4LCAxMjQsIDI0OSwgMTI2LCAyMjEsIAorICAgIDEyMSwgMjM5LCAzNSwgMjQ5LCAxMzcsIDIyNCwgNjgsIDI0OSwgMTI2LCAyMzksIDM1LCAyMjUsIDE3OSwgMjMzLCA1MywgCisgICAgMjMzLCA1NiwgMjI1LCA4MiwgMjI5LCAyMDUsIDIyNSwgMTAyLCAyMTQsIDIyLCA3MywgMjE3LCA2MSwgMjUyLCAxMywgMjE0LCAKKyAgICA5NiwgMjQzLCAzNCwgNzMsIDIxNywgNjEsIDI1MiwgMTMsIDI0MiwgMjIwLCAxNTcsIDIxMiwgMjA0LCAyMTYsIDI4LCAxOTQsIAorICAgIDIxMiwgMjA0LCAyMTYsIDI4LCAyMzgsIDQ0LCAxNTcsIDIxMiwgMjA0LCAyLCAyMzIsIDg4LCAxOTQsIDIxMiwgMjA0LCAyLCAKKyAgICAyMzIsIDg4LCAyMzgsIDQ1LCAyMjksIDIwNiwgMjEyLCAyMDQsIDIxNiwgMjgsIDc5LCAyMTIsIDIwNCwgMjE2LCAyOCwgCisgICAgMjA3LCAxNDksIDIyMSwgMjA5LCAyMjksIDIwNiwgMjQxLCAxMjksIDIyMSwgMjA5LCAyMjksIDIwNiwgMjQ0LCA4LCAyMjAsIAorICAgIDIyOSwgMjIxLCAyMDksIDIyOSwgMjA2LCAyNTAsIDE2OSwgMjIxLCAyMDksIDIyOSwgMjA2LCAyMDksIDIwNiwgMjIwLCAKKyAgICAyMjQsIDIxOCwgMjI1LCAyMjksIDIwNiwgMjQyLCAxOSwgMjE4LCAyMjUsIDIzMywgNTMsIDIxOCwgMjA4LCAyMTUsIDQxLCAKKyAgICAyMTUsIDE3OSwgMTA1LCAyMTUsIDM4LCAyMTQsIDk4LCAyMTUsIDQxLCAyMTUsIDE3OSwgMTQyLCAyMTUsIDM3LCAyMTQsIAorICAgIDk3LCAyNDUsIDE5OSwgMjQ3LCAxMDksIDIxMywgMjI3LCAyNDYsIDU3LCAyMjAsIDExOCwgMjA5LCAxNzYsIDEwMiwgMjIwLCAKKyAgICAxMTgsIDIwOSwgMTc0LCAyMjAsIDgxLCAyMjAsIDExOCwgMjA5LCAxNzYsIDEwNSwgMjIwLCAxMTgsIDIwOSwgMTczLCAyMjAsIAorICAgIDgwLCAyMTYsIDI5LCAyMTEsIDY4LCAyMTQsIDIxLCAyMTMsIDIxMCwgMjQ4LCAyMjUsIDI0OCwgOTQsIDI0OCwgMTY3LCAKKyAgICAyMjcsIDY3LCAyMDcsIDg5LCAyMjYsIDUxLCAyMTQsIDIyLCA3MywgMjM5LCAyMDYsIDI1MiwgMTMsIDIxNCwgMjIsIDczLCAKKyAgICAyMjAsIDk5LCAyNTIsIDEzLCAyMTQsIDE1NSwgMjQzLCAzNCwgNzMsIDIzOSwgMjA2LCAyNTIsIDEzLCAyNDMsIDM0LCA3MywgCisgICAgMjIwLCA5OSwgMjUyLCAxMywgMjQyLCAyNTIsIDIxNCwgMjIsIDczLCAyMTMsIDIyNywgMjE0LCAxNjksIDIxNSwgNDEsIAorICAgIDIzOSwgMjQxLCAxNTcsIDIzMywgNCwgMjE2LCA3LCAyMTUsIDQxLCAxNTcsIDIzMywgNCwgMjE3LCA5OSwgMjQ3LCAxMDksIAorICAgIDIxNiwgMzcsIDIzMywgNCwgMjQ3LCA0MSwgMjEzLCAyMjgsIDIxMiwgODYsIDIxNCwgNDAsIDIyMiwgMTM0LCAyMTMsIDI1LCAKKyAgICAyNDcsIDE1NCwgMjIyLCAxMDUsIDIyMCwgMTE5LCAyMjcsIDY2LCAyMjAsIDIxNCwgMjUyLCA0OSwgMjIwLCAxMTMsIDI0NywgCisgICAgMTU0LCAyNTIsIDY1LCAyMjUsIDE2NywgMjE1LCA4OSwgNywgNiwgMSwgMjQwLCA5OSwgNywgNSwgMSwgMjQwLCA5OSwgMjQ4LCAKKyAgICAxMTIsIDI1MiwgMTUwLCAyMTMsIDMwLCAyMTMsIDE4NSwgMjQ3LCAxNjMsIDIxNCwgMjQ2LCAyMzAsIDQ2LCAxODMsIDEsIAorICAgIDIyOSwgMTYzLCAyMzAsIDkwLCAxLCAyNDEsIDE2MywgMjQxLCAxNTQsIDIzMCwgOTAsIDEsIDI0MSwgMTYzLCAyNDIsIDMxLCAKKyAgICAyMzAsIDkwLCAxLCAyMTgsIDEyNCwgMjMwLCA5MCwgMSwgMjI5LCAxNDQsIDcyLCAxNDEsIDI0OSwgMjA0LCAyMTUsIDE1NCwgCisgICAgMjQwLCA2MiwgMjI3LCAxNiwgMjE4LCAyMTUsIDI0MSwgNjksIDI0MSwgNjgsIDI0MSwgNjcsIDIyNiwgNTMsIDIwNCwgMjQ2LCAKKyAgICAyMDQsIDI0NywgMjA0LCAyNDksIDIyOSwgODUsIDIxOCwgMTMyLCAyMjksIDg3LCAyMTgsIDEzNCwgMjIxLCAxNzcsIDIyOSwgCisgICAgODQsIDIxOCwgMTMxLCAyMjQsIDk5LCAyMjYsIDE4NSwgMjA2LCAyNTIsIDIyOSwgODYsIDIxOCwgMTMzLCAyNDEsIDkxLCAKKyAgICAyMjEsIDE3NiwgMjA3LCA0MiwgMjQzLCA1MywgMjQxLCA3OSwgMjI2LCAyNTMsIDIyMiwgMTY2LCAyMDksIDE3OCwgOTMsIAorICAgIDIyNiwgMjUzLCAyNDYsIDc5LCA5MywgOSwgNCwgMjMyLCAyMTgsIDgzLCAyMjAsIDEzMSwgMjQxLCAxMzYsIDMzLCA3OSwgCisgICAgNDgsIDU5LCAyMzAsIDE2LCAxNDUsIDIwOCwgMTUwLCAyMDgsIDM5LCAyMDcsIDIyNywgMjA3LCAyMTYsIDIwNywgMjA1LCAKKyAgICAyMDcsIDE5NCwgMjA3LCAxODMsIDIwNywgMTcyLCAyMDcsIDE2MSwgMjA4LCAxNDksIDIwOCwgMTM4LCAyMDgsIDEyNywgCisgICAgMjA4LCAxMTYsIDIwOCwgMTA1LCAyMDgsIDk0LCAyMDgsIDgzLCAyNDksIDM5LCAyMjIsIDExOSwgODMsIDI0OSwgMTc1LCAKKyAgICAyMDQsIDI0OCwgMTQsIDMsIDIyMywgMTkwLCAyMTIsIDg5LCAxNCwgMywgMjIzLCAxOTAsIDEzMSwgMjIzLCAxOTAsIDI0OSwgCisgICAgNjksIDEzMSwgMjQ5LCA2OCwgNTgsIDMwLCAxNiwgMjQxLCA5MCwgMjE0LCAyNDIsIDI0OCwgMTgsIDIwOSwgNDksIDIwOCwgCisgICAgNzIsIDIwOCwgNjEsIDIwOCwgNTAsIDIwOCwgMzgsIDIwOCwgMjcsIDIwOCwgMTYsIDIwOCwgNSwgMjA3LCAyNTAsIDIwNywgCisgICAgMjM5LCAyMDcsIDIzMSwgMjA3LCAyMzAsIDIwNywgMjI5LCAyMDcsIDIyOCwgMjA3LCAyMjYsIDIwNywgMjI1LCAyMDcsIAorICAgIDIyNCwgMjA3LCAyMjMsIDIwNywgMjIyLCAyMDcsIDIyMSwgMjA3LCAyMjAsIDIwNywgMjE5LCAyMDcsIDIxOCwgMjA3LCAKKyAgICAyMTcsIDIwNywgMjE1LCAyMDcsIDIxNCwgMjA3LCAyMTMsIDIwNywgMjEyLCAyMDcsIDIxMSwgMjA3LCAyMTAsIDIwNywgCisgICAgMjA5LCAyMDcsIDIwOCwgMjA3LCAyMDcsIDIwNywgMjA2LCAyMDcsIDIwNCwgMjA3LCAyMDMsIDIwNywgMjAyLCAyMDcsIAorICAgIDIwMSwgMjA3LCAyMDAsIDIwNywgMTk5LCAyMDcsIDE5OCwgMjA3LCAxOTcsIDIwNywgMTk2LCAyMDcsIDE5NSwgMjA3LCAKKyAgICAxOTMsIDIwNywgMTkyLCAyMDcsIDE5MSwgMjA3LCAxOTAsIDIwNywgMTg5LCAyMDcsIDE4OCwgMjA3LCAxODcsIDIwNywgCisgICAgMTg2LCAyMDcsIDE4NSwgMjA3LCAxODQsIDIwNywgMTgyLCAyMDcsIDE4MSwgMjA3LCAxODAsIDIwNywgMTc5LCAyMDcsIAorICAgIDE3OCwgMjA3LCAxNzcsIDIwNywgMTc2LCAyMDcsIDE3NSwgMjA3LCAxNzQsIDIwNywgMTczLCAyMDcsIDE3MSwgMjA3LCAKKyAgICAxNzAsIDIwNywgMTY5LCAyMDcsIDE2OCwgMjA3LCAxNjcsIDIwNywgMTY2LCAyMDcsIDE2NSwgMjA3LCAxNjQsIDIwNywgCisgICAgMTYzLCAyMDcsIDE2MiwgMjA3LCAxNjAsIDIwNywgMTU5LCAyMDcsIDE1OCwgMjA3LCAxNTcsIDIwNywgMTU2LCAyMDcsIAorICAgIDE1NSwgMjA3LCAxNTQsIDIwNywgMTUzLCAyMDcsIDE1MiwgMjA3LCAxNTEsIDIwOCwgMTQ4LCAyMDgsIDE0NywgMjA4LCAKKyAgICAxNDYsIDIwOCwgMTQ1LCAyMDgsIDE0NCwgMjA4LCAxNDMsIDIwOCwgMTQyLCAyMDgsIDE0MSwgMjA4LCAxNDAsIDIwOCwgCisgICAgMTM5LCAyMDgsIDEzNywgMjA4LCAxMzYsIDIwOCwgMTM1LCAyMDgsIDEzNCwgMjA4LCAxMzMsIDIwOCwgMTMyLCAyMDgsIAorICAgIDEzMSwgMjA4LCAxMzAsIDIwOCwgMTI5LCAyMDgsIDEyOCwgMjA4LCAxMjYsIDIwOCwgMTI1LCAyMDgsIDEyNCwgMjA4LCAKKyAgICAxMjMsIDIwOCwgMTIyLCAyMDgsIDEyMSwgMjA4LCAxMjAsIDIwOCwgMTE5LCAyMDgsIDExOCwgMjA4LCAxMTcsIDIwOCwgCisgICAgMTE1LCAyMDgsIDExNCwgMjA4LCAxMTMsIDIwOCwgMTEyLCAyMDgsIDExMSwgMjA4LCAxMTAsIDIwOCwgMTA5LCAyMDgsIAorICAgIDEwOCwgMjA4LCAxMDcsIDIwOCwgMTA2LCAyMDgsIDEwNCwgMjA4LCAxMDMsIDIwOCwgMTAyLCAyMDgsIDEwMSwgMjA4LCAKKyAgICAxMDAsIDIwOCwgOTksIDIwOCwgOTgsIDIwOCwgOTcsIDIwOCwgOTYsIDIwOCwgOTUsIDIwOCwgOTMsIDIwOCwgOTIsIDIwOCwgCisgICAgOTEsIDIwOCwgOTAsIDIwOCwgODksIDIwOCwgODgsIDIwOCwgODcsIDIwOCwgODYsIDIwOCwgODUsIDIwOCwgODQsIDIwOCwgCisgICAgODIsIDIwOCwgODEsIDIwOCwgODAsIDIwOCwgNzksIDIwOCwgNzgsIDIwOCwgNzcsIDIwOCwgNzYsIDIwOCwgNzUsIDIwOCwgCisgICAgNzQsIDIwOCwgNzMsIDIwOCwgNzEsIDIwOCwgNzAsIDIwOCwgNjksIDIwOCwgNjgsIDIwOCwgNjcsIDIwOCwgNjYsIDIwOCwgCisgICAgNjUsIDIwOCwgNjQsIDIwOCwgNjMsIDIwOCwgNjIsIDIwOCwgNjAsIDIwOCwgNTksIDIwOCwgNTgsIDIwOCwgNTcsIDIwOCwgCisgICAgNTYsIDIwOCwgNTUsIDIwOCwgNTQsIDIwOCwgNTMsIDIwOCwgNTIsIDIwOCwgNTEsIDIwOCwgNDksIDIwOCwgNDgsIDIwOCwgCisgICAgNDcsIDIwOCwgNDYsIDIwOCwgNDUsIDIwOCwgNDQsIDIwOCwgNDMsIDIwOCwgNDIsIDIwOCwgNDEsIDIwOCwgNDAsIDIwOCwgCisgICAgMzcsIDIwOCwgMzYsIDIwOCwgMzUsIDIwOCwgMzQsIDIwOCwgMzMsIDIwOCwgMzIsIDIwOCwgMzEsIDIwOCwgMzAsIDIwOCwgCisgICAgMjksIDIwOCwgMjgsIDIwOCwgMjYsIDIwOCwgMjUsIDIwOCwgMjQsIDIwOCwgMjMsIDIwOCwgMjIsIDIwOCwgMjEsIDIwOCwgCisgICAgMjAsIDIwOCwgMTksIDIwOCwgMTgsIDIwOCwgMTcsIDIwOCwgMTUsIDIwOCwgMTQsIDIwOCwgMTMsIDIwOCwgMTIsIDIwOCwgCisgICAgMTEsIDIwOCwgMTAsIDIwOCwgOSwgMjA4LCA4LCAyMDgsIDcsIDIwOCwgNiwgMjA4LCA0LCAyMDgsIDMsIDIwOCwgMiwgMjA4LCAKKyAgICAxLCAyMDgsIDAsIDIwNywgMjU1LCAyMDcsIDI1NCwgMjA3LCAyNTMsIDIwNywgMjUyLCAyMDcsIDI1MSwgMjA3LCAyNDksIAorICAgIDIwNywgMjQ4LCAyMDcsIDI0NywgMjA3LCAyNDYsIDIwNywgMjQ1LCAyMDcsIDI0NCwgMjA3LCAyNDMsIDIwNywgMjQyLCAKKyAgICAyMDcsIDI0MSwgMjA3LCAyNDAsIDIwNywgMjM4LCAyMDcsIDIzNywgMjA3LCAyMzYsIDIwNywgMjM1LCAyMDcsIDIzNCwgCisgICAgMjA3LCAyMzMsIDIwNywgMjMyLCA3LCA2LCAxLCAzMiwgMiwgMjI4LCAxNCwgMjMsIDIzOSwgMjM2LCA3LCA1LCAxLCAzMiwgCisgICAgMiwgMjI4LCAxNCwgMjMsIDIzOSwgMjM2LCA3LCA2LCAxLCAxNzQsIDIsIDc5LCAyMjksIDIwNiwgNTUsIDcsIDUsIDEsIAorICAgIDE3NCwgMiwgNzksIDIyOSwgMjA2LCA1NSwgNywgNiwgMSwgMTc0LCAyLCA3OSwgMjI5LCAyMDYsIDI1MCwgMjYsIDIzLCAKKyAgICAyMzksIDIzNiwgNywgNSwgMSwgMTc0LCAyLCA3OSwgMjI5LCAyMDYsIDI1MCwgMjYsIDIzLCAyMzksIDIzNiwgNywgNiwgMSwgCisgICAgMTc0LCAyLCA3OSwgMjI5LCAyMDYsIDI1MCwgMjYsIDIzLCAxNTMsIDcsIDUsIDEsIDE3NCwgMiwgNzksIDIyOSwgMjA2LCAKKyAgICAyNTAsIDI2LCAyMywgMTUzLCA3LCA2LCAxLCAxNzQsIDIsIDI0NywgMjI4LCAyMywgMjI4LCAxMywgNywgNSwgMSwgMTc0LCAKKyAgICAyLCAyNDcsIDIyOCwgMjMsIDIyOCwgMTMsIDcsIDYsIDEsIDE3NCwgMiwgMjQ3LCAyMjgsIDIzLCAyNDgsIDE5NSwgNywgNSwgCisgICAgMSwgMTc0LCAyLCAyNDcsIDIyOCwgMjMsIDI0OCwgMTk1LCA3LCA2LCAxLCAyMzcsIDIyNSwgMiwgMjI4LCAxNCwgMjMsIAorICAgIDIzOSwgMjM2LCA3LCA1LCAxLCAyMzcsIDIyNSwgMiwgMjI4LCAxNCwgMjMsIDIzOSwgMjM2LCA3LCA1LCAxLCAyMzcsIDIyNSwgCisgICAgMiwgNjcsIDg0LCAyMywgMTUzLCA3LCA1LCAxLCAyMjUsIDgwLCAyLCAyMTEsIDE4MSwgNTIsIDcsIDYsIDEsIDE0OCwgMiwgCisgICAgNzksIDIyOSwgMjA2LCA1NSwgNywgNSwgMSwgMTQ4LCAyLCA3OSwgMjI5LCAyMDYsIDU1LCA3LCA2LCAxLCAxNDgsIDIsIDc5LCAKKyAgICAyMjksIDIwNiwgMjUwLCAyNiwgMjMsIDIzOSwgMjM2LCA3LCA1LCAxLCAxNDgsIDIsIDc5LCAyMjksIDIwNiwgMjUwLCAyNiwgCisgICAgMjMsIDIzOSwgMjM2LCA3LCA2LCAxLCAxNDgsIDIsIDc5LCAyMjksIDIwNiwgMjUwLCAyNiwgMjMsIDE1MywgNywgNSwgMSwgCisgICAgMTQ4LCAyLCA3OSwgMjI5LCAyMDYsIDI1MCwgMjYsIDIzLCAxNTMsIDcsIDYsIDEsIDIxOCwgMSwgMiwgNzksIDIyOSwgMjA2LCAKKyAgICA1NSwgNywgNSwgMSwgMjE4LCAxLCAyLCA3OSwgMjI5LCAyMDYsIDU1LCA3LCA2LCAxLCAxMDYsIDIsIDIyOCwgMTQsIDIzLCAKKyAgICAyMzksIDIzNiwgNywgNSwgMSwgMTA2LCAyLCAyMjgsIDE0LCAyMywgMjM5LCAyMzYsIDcsIDYsIDEsIDMyLCAyLCAyMjIsIAorICAgIDE5NywgMjMsIDE1MywgNywgNSwgMSwgMzIsIDIsIDIyMiwgMTk3LCAyMywgMTUzLCA3LCA2LCAxLCAzMiwgMiwgMjIyLCAKKyAgICAxOTcsIDIzLCAyMTEsIDE4MCwgNywgNSwgMSwgMzIsIDIsIDIyMiwgMTk3LCAyMywgMjExLCAxODAsIDcsIDYsIDEsIDE3NCwgCisgICAgMiwgMjIyLCAxOTcsIDIzLCAxNTMsIDcsIDUsIDEsIDE3NCwgMiwgMjIyLCAxOTcsIDIzLCAxNTMsIDcsIDYsIDEsIDE3NCwgCisgICAgMiwgMjIyLCAxOTcsIDIzLCAyMTEsIDE4MCwgNywgNSwgMSwgMTc0LCAyLCAyMjIsIDE5NywgMjMsIDIxMSwgMTgwLCA3LCA2LCAKKyAgICAxLCAxNzQsIDIsIDY3LCA4NCwgMjMsIDE1MywgNywgNSwgMSwgMTc0LCAyLCA2NywgODQsIDIzLCAxNTMsIDcsIDYsIDEsIAorICAgIDE3NCwgMiwgNjcsIDg0LCAyMywgMjExLCAxODAsIDcsIDUsIDEsIDE3NCwgMiwgNjcsIDg0LCAyMywgMjExLCAxODAsIDcsIAorICAgIDUsIDEsIDIzNywgMjI1LCAyLCA2NywgODQsIDIzLCAyMzksIDIzNiwgNywgNSwgMSwgMjM3LCAyMjUsIDIsIDY3LCA4NCwgCisgICAgMjMsIDIxMSwgMTgwLCA3LCA2LCAxLCAyMzcsIDIyNSwgMiwgMjIyLCAxOTcsIDIzLCAxNTMsIDcsIDUsIDEsIDIzNywgMjI1LCAKKyAgICAyLCAyMjIsIDE5NywgMjMsIDY3LCA4NCwgMjMsIDE1MywgNywgNiwgMSwgMjM3LCAyMjUsIDIsIDIyMiwgMTk3LCAyMywgCisgICAgMjExLCAxODAsIDcsIDUsIDEsIDIzNywgMjI1LCAyLCAyMjIsIDE5NywgMjMsIDY3LCA4NCwgMjMsIDIxMSwgMTgwLCA3LCA2LCAKKyAgICAxLCAyMzIsIDIwNCwgMiwgMjExLCAxODAsIDcsIDUsIDEsIDIzMiwgMjA0LCAyLCA2NywgODQsIDIzLCAyMTEsIDE4MCwgNywgCisgICAgNiwgMSwgMjMwLCAxNTksIDIsIDIxMSwgMTgwLCA3LCA1LCAxLCAyMzAsIDE1OSwgMiwgMjExLCAxODAsIDcsIDYsIDEsIAorICAgIDIyOSwgMjksIDIsIDIxMSwgMTgwLCA3LCA1LCAxLCAyMjksIDI5LCAyLCAyMTEsIDE4MCwgNywgNiwgMSwgMjE5LCAxNTAsIAorICAgIDIsIDIxMSwgMTgwLCA3LCA1LCAxLCAyMTksIDE1MCwgMiwgMjExLCAxODAsIDcsIDYsIDEsIDEwNiwgMiwgMjIyLCAxOTcsIAorICAgIDIzLCAxNTMsIDcsIDUsIDEsIDEwNiwgMiwgMjIyLCAxOTcsIDIzLCAxNTMsIDcsIDYsIDEsIDEwNiwgMiwgMjIyLCAxOTcsIAorICAgIDIzLCAyMTEsIDE4MCwgNywgNSwgMSwgMTA2LCAyLCAyMjIsIDE5NywgMjMsIDIxMSwgMTgwLCA3LCA2LCAxLCAxMDYsIDIsIAorICAgIDIyOCwgMTQsIDIzLCAxNTMsIDcsIDUsIDEsIDEwNiwgMiwgMjI4LCAxNCwgMjMsIDE1MywgNywgNiwgMSwgMTA2LCAyLCAKKyAgICAyMjgsIDE0LCAyMywgMjExLCAxODAsIDcsIDUsIDEsIDEwNiwgMiwgMjI4LCAxNCwgMjMsIDIxMSwgMTgwLCA3LCA1LCAxLCAKKyAgICAyNTIsIDI0OSwgMiwgMjM5LCAyMzYsIDcsIDUsIDEsIDIyMiwgMTQyLCAxNDgsIDIsIDIzOSwgMjM2LCA3LCA1LCAxLCAyMjIsIAorICAgIDE0MiwgMTQ4LCAyLCAxNTMsIDcsIDUsIDEsIDIwMSwgMjA5LCAxNDksIDIsIDIzOSwgMjM2LCA3LCA1LCAxLCAyMDEsIDIwOSwgCisgICAgMTQ5LCAyLCAxNTMsIDcsIDUsIDEsIDIxNywgMTAxLCAyLCAyMzksIDIzNiwgNywgNSwgMSwgMjE3LCAxMDEsIDIsIDE1MywgCisgICAgNywgNSwgMSwgMjM4LCAxMjksIDIxNywgMTAxLCAyLCAyMzksIDIzNiwgNywgNSwgMSwgMjM4LCAxMjksIDIxNywgMTAxLCAyLCAKKyAgICAxNTMsIDgsIDIxNiwgMzcsIDg3LCAyLCAyMzksIDExMiwgODQsIDIsIDI1MiwgMTcyLCA4LCAyMTYsIDM3LCA4NywgMiwgCisgICAgMjM5LCAxMTIsIDg0LCAyLCAyMDcsIDU5LCA4LCAyMTYsIDM3LCA4NywgMiwgMjM5LCAxMTIsIDg0LCAyLCAxMjYsIDIyNywgCisgICAgMjI4LCA4LCAyMTYsIDM3LCA4NywgMiwgMjM5LCAxMTIsIDg0LCAyLCAyMjIsIDIwNiwgOCwgMjE2LCAzNywgODcsIDIsIAorICAgIDIzOSwgMTEyLCA4NCwgMiwgNzEsIDgsIDIxNiwgMzcsIDg3LCAyLCAyMzksIDExMiwgODQsIDIsIDIwNSwgMjEzLCA4LCAKKyAgICAyMTYsIDM3LCA4NywgMiwgMjM5LCAxMTIsIDg0LCAyLCA3NSwgOCwgMjE2LCAzNywgODcsIDIsIDIzOSwgMTEyLCA4NCwgMiwgCisgICAgMjUyLCAyNDgsIDgsIDIxNiwgMzcsIDIyNCwgNTUsIDIsIDIzMSwgMjEyLCAxNjUsIDEsIDIzMSwgMTQyLCA0MCwgMTA3LCAKKyAgICAyMzIsIDc2LCA0MCwgMTA3LCAyMjUsIDc5LCA0MCwgMTA3LCAyNDksIDM0LCA0MCwgMTA3LCAyMjMsIDE0NiwgNDAsIDEwNywgCisgICAgMjEwLCAyMTEsIDQwLCAxMDcsIDIyNCwgMTA0LCA0MCwgMTA3LCAyMTMsIDEwLCA0MCwgMTA3LCAyMjYsIDMzLCA0MCwgMTA3LCAKKyAgICAyMjIsIDY3LCA0MCwgMTA3LCAyMjksIDI4LCA0MCwgMTA3LCAyMDYsIDEyMywgNDAsIDEwNywgMTM3LCA0MCwgMTA3LCAxNDksIAorICAgIDQwLCAxMDcsIDIwOSwgMTQ4LCA0MCwgMTA3LCAyMjksIDE2NCwgNDAsIDEwNywgMjI5LCAxNzMsIDQwLCAxMDcsIDIxOCwgCisgICAgOTAsIDQwLCAxMDcsIDIyNCwgODYsIDQwLCAxMDcsIDIzMiwgMjAzLCA0MCwgMTA3LCAyMTYsIDQsIDQwLCAxMDcsIDIxNCwgCisgICAgOTksIDQwLCAxMDcsIDE4MiwgNDAsIDEwNywgMjM5LCAxNTUsIDQwLCAxMDcsIDIzMCwgMjUxLCA0MCwgNCwgMjMyLCA2MywgCisgICAgNDAsIDQsIDIzMSwgMTIzLCA0MCwgNCwgMjMxLCAxMTEsIDQwLCA0LCAyMzAsIDIzNiwgNDAsIDQsIDIzMCwgMjAyLCA0MCwgCisgICAgNCwgMjMxLCAyMjQsIDQwLCA0LCAyMzEsIDIyMSwgNDAsIDQsIDIzMiwgNDEsIDQwLCA0LCAyMzEsIDUzLCA0MCwgNCwgMjMxLCAKKyAgICAzMywgNDAsIDQsIDIzMSwgMjQyLCA0MCwgNCwgMjI1LCA3NiwgNDAsIDQsIDIyNSwgMjUsIDQwLCA0LCAyMjUsIDIxLCA0MCwgCisgICAgNCwgMjI0LCAyNDYsIDQwLCA0LCAyMjQsIDIzOCwgNDAsIDQsIDIyNSwgNjQsIDQwLCA0LCAyMjUsIDYyLCA0MCwgNCwgMjI1LCAKKyAgICA3MywgNDAsIDQsIDIyNSwgMiwgNDAsIDQsIDIyNCwgMjUzLCA0MCwgNCwgMjI1LCA2NiwgNDAsIDQsIDI0OSwgMCwgNDAsIDQsIAorICAgIDI0NywgMjUxLCA0MCwgNCwgMjQ3LCAyNDEsIDQwLCA0LCAyNDcsIDQwLCA0MCwgNCwgMjQ3LCA5LCA0MCwgNCwgMjQ4LCAKKyAgICAxNDgsIDQwLCA0LCAyNDgsIDE0MCwgNDAsIDQsIDI0OCwgMjQ1LCA0MCwgNCwgMjQ3LCAxNzQsIDQwLCA0LCAyNDcsIDEwNSwgCisgICAgNDAsIDQsIDI0OCwgMTgxLCA0MCwgNCwgMjIzLCAxNDMsIDQwLCA0LCAyMjMsIDEyNSwgNDAsIDQsIDIyMywgMTIwLCA0MCwgCisgICAgNCwgMjIzLCAxMDMsIDQwLCA0LCAyMjMsIDk1LCA0MCwgNCwgMjIzLCAxMzQsIDQwLCA0LCAyMjMsIDEzMywgNDAsIDQsIAorICAgIDIyMywgMTQwLCA0MCwgNCwgMjIzLCAxMTAsIDQwLCA0LCAyMjMsIDEwNywgNDAsIDQsIDIyMywgMTM3LCA0MCwgNCwgMjEwLCAKKyAgICAyMDcsIDQwLCA0LCAyMTAsIDE4NywgNDAsIDQsIDIxMCwgMTg2LCA0MCwgNCwgMjEwLCAxNzUsIDQwLCA0LCAyMTAsIDE3MiwgCisgICAgNDAsIDQsIDIxMCwgMjAzLCA0MCwgNCwgMjEwLCAyMDIsIDQwLCA0LCAyMTAsIDIwNiwgNDAsIDQsIDIxMCwgMTg1LCA0MCwgCisgICAgNCwgMjEwLCAxODQsIDQwLCA0LCAyMTAsIDIwNSwgNDAsIDQsIDIyNCwgMTAyLCA0MCwgNCwgMjI0LCA4OCwgNDAsIDQsIAorICAgIDIyNCwgODcsIDQwLCA0LCAyMjQsIDcxLCA0MCwgNCwgMjI0LCA3MCwgNDAsIDQsIDIyNCwgOTgsIDQwLCA0LCAyMjQsIDk3LCAKKyAgICA0MCwgNCwgMjI0LCAxMDEsIDQwLCA0LCAyMjQsIDczLCA0MCwgNCwgMjI0LCA3MiwgNDAsIDQsIDIyNCwgMTAwLCA0MCwgNCwgCisgICAgMjEyLCAyMTUsIDQwLCA0LCAyMTEsIDIxMSwgNDAsIDQsIDIxMSwgMTk1LCA0MCwgNCwgMjEwLCAxNzAsIDQwLCA0LCAyMTAsIAorICAgIDEzNSwgNDAsIDQsIDIxMiwgMTMxLCA0MCwgNCwgMjEyLCAxMjAsIDQwLCA0LCAyMTIsIDE5MywgNDAsIDQsIDEyNCwgNDAsIAorICAgIDQsIDIxMSwgMTA1LCA0MCwgNCwgMjEyLCAxNTEsIDQwLCA0LCAyMjUsIDIzMiwgNDAsIDQsIDIyNCwgMjMwLCA0MCwgNCwgCisgICAgMjI0LCAyMDUsIDQwLCA0LCAyMjMsIDIxNywgNDAsIDQsIDIyMywgMTU4LCA0MCwgNCwgMjI1LCAxMTAsIDQwLCA0LCAyMjUsIAorICAgIDEwNiwgNDAsIDQsIDIyNSwgMjE4LCA0MCwgNCwgMjI0LCA2NywgNDAsIDQsIDIyNCwgNTYsIDQwLCA0LCAyMjUsIDE5MSwgCisgICAgNDAsIDQsIDIyMiwgNTEsIDQwLCA0LCAyMjEsIDUzLCA0MCwgNCwgMjIxLCAxNSwgNDAsIDQsIDIyMCwgODIsIDQwLCA0LCAKKyAgICAyMjAsIDUwLCA0MCwgNCwgMjIxLCAxNzQsIDQwLCA0LCAyMjEsIDE2NCwgNDAsIDQsIDIyMiwgMzIsIDQwLCA0LCAyMjAsIAorICAgIDIxMSwgNDAsIDQsIDIyMCwgMTg3LCA0MCwgNCwgMjIxLCAxODgsIDQwLCA0LCAyMjgsIDE4LCA0MCwgNCwgMjI2LCAyNTQsIAorICAgIDQwLCA0LCAyMjYsIDIyNCwgNDAsIDQsIDIyNiwgMTE0LCA0MCwgNCwgMjI2LCA2MiwgNDAsIDQsIDIyNywgMTE5LCA0MCwgNCwgCisgICAgMjI3LCAxMDcsIDQwLCA0LCAyMjcsIDIzOSwgNDAsIDQsIDIyNiwgMTgxLCA0MCwgNCwgMjI2LCAxNTAsIDQwLCA0LCAyMjcsIAorICAgIDE2NiwgNDAsIDQsIDIwNiwgMTA5LCA0MCwgNCwgMjA2LCAxMSwgNDAsIDQsIDIwNiwgMiwgNDAsIDQsIDIwNSwgMjEzLCA0MCwgCisgICAgNCwgMjA1LCAxODEsIDQwLCA0LCAyMDYsIDUyLCA0MCwgNCwgMjA2LCA0OSwgNDAsIDQsIDIwNiwgODgsIDQwLCA0LCAyMDUsIAorICAgIDI0NywgNDAsIDQsIDIwNSwgMjMyLCA0MCwgNCwgMjA2LCA2MSwgNDAsIDQsIDIxOSwgMTA5LCA0MCwgNCwgMjE4LCAyMDgsIAorICAgIDQwLCA0LCAyMTgsIDE1NCwgNDAsIDQsIDIxOCwgNTAsIDQwLCA0LCAyMTgsIDIxLCA0MCwgNCwgMjE5LCA1MSwgNDAsIDQsIAorICAgIDIxOSwgMjksIDQwLCA0LCAyMTksIDkwLCA0MCwgNCwgMjE4LCAxMjQsIDQwLCA0LCAyMTgsIDEwNywgNDAsIDQsIDIxOSwgCisgICAgNjAsIDQwLCA0LCAyMzAsIDE0MCwgNDAsIDQsIDIyOSwgMjM1LCA0MCwgNCwgMjI5LCAyMTksIDQwLCA0LCAyMjksIDgxLCAKKyAgICA0MCwgNCwgMjI5LCA1MywgNDAsIDQsIDIzMCwgNTgsIDQwLCA0LCAyMzAsIDUwLCA0MCwgNCwgMjMwLCAxMTQsIDQwLCA0LCAKKyAgICAyMjksIDE0NCwgNDAsIDQsIDIyOSwgMTE1LCA0MCwgNCwgMjMwLCA3NSwgNDAsIDQsIDIwOSwgNjksIDQwLCA0LCAyMDgsIAorICAgIDIxNCwgNDAsIDQsIDIwOCwgMTk5LCA0MCwgNCwgMjA3LCAxNDgsIDQwLCA0LCAyMDcsIDE0MSwgNDAsIDQsIDIwOSwgMzksIAorICAgIDQwLCA0LCAyMDksIDM0LCA0MCwgNCwgMjA5LCA2NSwgNDAsIDQsIDIwOCwgMTczLCA0MCwgNCwgMjA4LCAxNjEsIDQwLCA0LCAKKyAgICAyMDksIDQ1LCA0MCwgNCwgMjI5LCAxNjIsIDQwLCA0LCAyMjksIDE1NywgNDAsIDQsIDIyOSwgMTU2LCA0MCwgNCwgMjI5LCAKKyAgICAxNTMsIDQwLCA0LCAyMjksIDE1MiwgNDAsIDQsIDIyOSwgMTU5LCA0MCwgNCwgMjI5LCAxNTgsIDQwLCA0LCAyMjksIDE2MSwgCisgICAgNDAsIDQsIDIyOSwgMTU1LCA0MCwgNCwgMjI5LCAxNTQsIDQwLCA0LCAyMjksIDE2MCwgNDAsIDQsIDIyOSwgMTcxLCA0MCwgCisgICAgNCwgMjI5LCAxNjYsIDQwLCA0LCAyMjksIDE2NSwgNDAsIDQsIDIyOSwgMTQ5LCA0MCwgNCwgMjI5LCAxNDgsIDQwLCA0LCAKKyAgICAyMjksIDE2OCwgNDAsIDQsIDIyOSwgMTY3LCA0MCwgNCwgMjI5LCAxNzAsIDQwLCA0LCAyMjksIDE1MSwgNDAsIDQsIDIyOSwgCisgICAgMTUwLCA0MCwgNCwgMjI5LCAxNjksIDQwLCA0LCAyMTgsIDg4LCA0MCwgNCwgMjE4LCA3NywgNDAsIDQsIDIxOCwgNzYsIDQwLCAKKyAgICA0LCAyMTgsIDcwLCA0MCwgNCwgMjE4LCA2MywgNDAsIDQsIDIxOCwgODQsIDQwLCA0LCAyMTgsIDgzLCA0MCwgNCwgMjE4LCAKKyAgICA4NywgNDAsIDQsIDIxOCwgNzUsIDQwLCA0LCAyMTgsIDc0LCA0MCwgNCwgMjE4LCA4NiwgNDAsIDQsIDIyNCwgODQsIDQwLCAKKyAgICA0LCAyMjQsIDc5LCA0MCwgNCwgMjI0LCA3OCwgNDAsIDQsIDIyNCwgNzUsIDQwLCA0LCAyMjQsIDc0LCA0MCwgNCwgMjI0LCAKKyAgICA4MSwgNDAsIDQsIDIyNCwgODAsIDQwLCA0LCAyMjQsIDgzLCA0MCwgNCwgMjI0LCA3NywgNDAsIDQsIDIyNCwgNzYsIDQwLCAKKyAgICA0LCAyMjQsIDgyLCA0MCwgNCwgMjMyLCAxOTksIDQwLCA0LCAyMzIsIDE2MiwgNDAsIDQsIDIzMiwgMTU1LCA0MCwgNCwgCisgICAgMjMyLCAxMDQsIDQwLCA0LCAyMzIsIDg2LCA0MCwgNCwgMjMyLCAxODIsIDQwLCA0LCAyMzIsIDE4MCwgNDAsIDQsIDIzMiwgCisgICAgMTkzLCA0MCwgNCwgMjMyLCAxMjIsIDQwLCA0LCAyMzIsIDExMywgNDAsIDQsIDIzMiwgMTg3LCA0MCwgNCwgMjE1LCAyNTQsIAorICAgIDQwLCA0LCAyMTUsIDE4MywgNDAsIDQsIDIxNSwgMTc4LCA0MCwgNCwgMjE1LCAxMTYsIDQwLCA0LCAyMTUsIDEwMCwgNDAsIAorICAgIDQsIDIxNSwgMjE0LCA0MCwgNCwgMjE1LCAyMTIsIDQwLCA0LCAyMTUsIDI0MywgNDAsIDQsIDIxNSwgMTU4LCA0MCwgNCwgCisgICAgMjE1LCAxNTIsIDQwLCA0LCAyMTUsIDIyMywgNDAsIDQsIDIxNCwgOTUsIDQwLCA0LCAyMTQsIDY0LCA0MCwgNCwgMjE0LCAKKyAgICA2MCwgNDAsIDQsIDIxNCwgNTEsIDQwLCA0LCAyMTQsIDQ4LCA0MCwgNCwgMjE0LCA3MCwgNDAsIDQsIDIxNCwgNjksIDQwLCAKKyAgICA0LCAyMTQsIDk0LCA0MCwgNCwgMjE0LCA1NiwgNDAsIDQsIDIxNCwgNTUsIDQwLCA0LCAyMTQsIDcyLCA0MCwgNCwgMjE3LCAKKyAgICAxOTYsIDQwLCA0LCAyMTUsIDgwLCA0MCwgNCwgMjE1LCA2MSwgNDAsIDQsIDIxMywgMjAzLCA0MCwgNCwgMjEzLCAxMTksIAorICAgIDQwLCA0LCAyMTcsIDg2LCA0MCwgNCwgMjE3LCA3NCwgNDAsIDQsIDIxNywgMTgxLCA0MCwgNCwgMjE0LCAxOTMsIDQwLCA0LCAKKyAgICAyMTQsIDE3NCwgNDAsIDQsIDIxNywgMTI1LCA0MCwgNCwgMjM5LCAxNDEsIDQwLCA0LCAyMzksIDExLCA0MCwgNCwgMjM4LCAKKyAgICAyNDcsIDQwLCA0LCAyMzgsIDQyLCA0MCwgNCwgMjM4LCAxOSwgNDAsIDQsIDIzOSwgNzEsIDQwLCA0LCAyMzksIDUzLCA0MCwgCisgICAgNCwgMjM5LCAxMzEsIDQwLCA0LCAyMzgsIDE0OSwgNDAsIDQsIDIzOCwgMTMxLCA0MCwgNCwgMjM5LCA4MCwgNDAsIDQsIAorICAgIDIzMCwgMjUwLCA0MCwgNCwgMjMwLCAyNDksIDQwLCA0LCAyMzAsIDI0NCwgNDAsIDQsIDIzMCwgMjQzLCA0MCwgNCwgMjMwLCAKKyAgICAyNDAsIDQwLCA0LCAyMzAsIDIzOSwgNDAsIDQsIDIzMCwgMjQ2LCA0MCwgNCwgMjMwLCAyNDUsIDQwLCA0LCAyMzAsIDI0OCwgCisgICAgNDAsIDQsIDIzMCwgMjQyLCA0MCwgNCwgMjMwLCAyNDEsIDQwLCA0LCAyMzAsIDI0NywgNDAsIDQsIDIxNSwgMTIyLCAxMzIsIAorICAgIDEwNywgMywgMjA2LCA3NCwgMTMyLCAxMDcsIDMsIDIxOSwgNzksIDEzMiwgMTA3LCAzLCAyMTgsIDI1MywgMTA4LCAxLCAKKyAgICAyMTAsIDc0LCA4MiwgMTA3LCAzLCAyNDcsIDE2OSwgMTcyLCA4MiwgMTA3LCAzLCAyNDcsIDE2OSwgMjMxLCAxNjcsIDgyLCAKKyAgICAxMDcsIDMsIDI0NywgMTY5LCAyMzEsIDUzLCA4MiwgMTA3LCAzLCAyNDcsIDE2OSwgMjMxLCAxMzgsIDgyLCAxMDcsIDMsIAorICAgIDI0NywgMTY5LCAyMjUsIDIsIDgyLCAxMDcsIDMsIDI0NywgMTY5LCAyNDksIDEsIDgyLCAxMDcsIDMsIDI0NywgMTY5LCAKKyAgICAyNDgsIDExMCwgODIsIDEwNywgMywgMjQ3LCAxNjksIDI0NywgMTc0LCA4MiwgMTA3LCAzLCAyNDcsIDE2OSwgMjQ4LCAzMiwgCisgICAgODIsIDEwNywgMywgMjQ3LCAxNjksIDIyMywgMTEwLCA4MiwgMTA3LCAzLCAyNDcsIDE2OSwgMjQ2LCAxNDUsIDgyLCAxMDcsIAorICAgIDMsIDI0NywgMTY5LCAyMTAsIDE5NiwgODIsIDEwNywgMywgMjQ3LCAxNjksIDI0NSwgNTEsIDgyLCAxMDcsIDMsIDI0NywgCisgICAgMTY5LCAyMTAsIDE5MSwgODIsIDEwNywgMywgMjQ3LCAxNjksIDE5OSwgODIsIDEwNywgMywgMjQ3LCAxNjksIDIxMiwgMjE5LCAKKyAgICA4MiwgMTA3LCAzLCAyNDcsIDE2OSwgMjEyLCA1NiwgODIsIDEwNywgMywgMjQ3LCAxNjksIDEyNCwgODIsIDEwNywgMywgCisgICAgMjQ3LCAxNjksIDIxMSwgMjUzLCA4MiwgMTA3LCAzLCAyNDcsIDE2OSwgMjI0LCA2NywgODIsIDEwNywgMywgMjQ3LCAxNjksIAorICAgIDI1MCwgMTgzLCA4MiwgMTA3LCAzLCAyNDcsIDE2OSwgMjIxLCA5MywgODIsIDEwNywgMywgMjQ3LCAxNjksIDIyMCwgMjExLCAKKyAgICA4MiwgMTA3LCAzLCAyNDcsIDE2OSwgMjIxLCA2NiwgODIsIDEwNywgMywgMjQ3LCAxNjksIDIyNiwgMTgxLCA4MiwgMTA3LCAKKyAgICAzLCAyNDcsIDE2OSwgMjA1LCAyNDcsIDgyLCAxMDcsIDMsIDI0NywgMTY5LCAyMTgsIDEyNCwgODIsIDEwNywgMywgMjQ3LCAKKyAgICAxNjksIDIyOSwgMTQ0LCA4MiwgMTA3LCAzLCAyNDcsIDE2OSwgMjA4LCAxNzMsIDgyLCAxMDcsIDMsIDI0NywgMTY5LCAyMTYsIAorICAgIDIsIDgyLCAxMDcsIDMsIDI0NywgMTY5LCAyMTQsIDk2LCA4MiwgMTA3LCAzLCAyNDcsIDE2OSwgMjE3LCAxOTksIDgyLCAKKyAgICAxMDcsIDMsIDI0NywgMTY5LCAxNTUsIDgyLCAxMDcsIDMsIDI0NywgMTY5LCAyMzAsIDE0MSwgODIsIDIyLCAzLCAyNDcsIAorICAgIDE2OSwgMjIwLCAxOSwgODIsIDIzMywgNTUsIDIyLCAzLCAyNDcsIDE2OSwgMjE5LCAyMTQsIDgyLCAyMzMsIDU1LCAyMiwgMywgCisgICAgMjQ3LCAxNjksIDIxOCwgOSwgODIsIDIzMywgNTUsIDIyLCAzLCAyNDcsIDE2OSwgMjE4LCAyLCA4MiwgMjMzLCA1NSwgMjIsIAorICAgIDMsIDI0NywgMTY5LCAyMTksIDI1NSwgODIsIDIyLCAzLCAyMjIsIDE3MywgODIsIDIyLCAzLCAyNTMsIDEyNSwgMTYxLCAxLCAKKyAgICAyNDksIDIzNywgMjI1LCA3NywgMTYxLCAxLCAyNDksIDIzNywgMjI1LCAyNSwgMTYxLCAxLCAyNDksIDIzNywgMjI0LCAyNDYsIAorICAgIDE2MSwgMSwgMjQ5LCAyMzcsIDIyNSwgNjQsIDE2MSwgMSwgMjQ5LCAyMzcsIDIyNSwgMiwgNjQsIDEsIDI0OSwgMjM3LCAKKyAgICAyMjUsIDc3LCA2NCwgMSwgMjQ5LCAyMzcsIDIyNSwgMjUsIDY0LCAxLCAyNDksIDIzNywgMjI0LCAyNDYsIDY0LCAxLCAyNDksIAorICAgIDIzNywgMjI1LCA2NCwgNjQsIDEsIDI0OSwgMjM3LCAyMjUsIDIsIDY0LCAxLCAyNTIsIDE5OCwgMjQ4LCAxNDgsIDY0LCAxLCAKKyAgICAyNTIsIDE5OCwgMjEwLCAxNzAsIDY0LCAxLCAyNTIsIDE5OCwgMTI0LCA2NCwgMSwgMjUyLCAxOTgsIDIyMiwgNjcsIDY1LCAKKyAgICAxLCAyNDIsIDE1NiwgMjQyLCAxNTUsIDI0NywgMTEzLCAxMzUsIDEzNCwgNjUsIDEsIDI0MiwgMTU1LCAyNDIsIDE1NiwgCisgICAgMjQ3LCAxMTMsIDEzNSwgMTM0LCAKIH07CiAKIHN0YXRpYyB1bnNpZ25lZCBjaGFyIHBocmFzZWJvb2tfb2Zmc2V0MVtdID0gewogICAgIDAsIDEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAxNywgMTgsIDE5LCAyMCwgCiAgICAgMjEsIDIyLCAyMywgMjQsIDI1LCAyNiwgMjcsIDI4LCAyOSwgMzAsIDMxLCAzMiwgMzMsIDM0LCAzNSwgMzYsIDM3LCAzOCwgCi0gICAgMzksIDQwLCA0MSwgNDIsIDQzLCA0NCwgNDUsIDQ2LCA0NywgNDgsIDQ5LCA1MCwgNTEsIDUyLCA1MywgNTQsIDU1LCA1NiwgCi0gICAgNTcsIDU4LCA1OSwgNjAsIDYxLCA2MiwgNjMsIDY0LCA2NSwgNjYsIDY3LCA2OCwgNjksIDcwLCA3MSwgNzIsIDczLCA3NCwgCi0gICAgNzUsIDc2LCA3NywgNzgsIDc5LCA4MCwgODEsIDgyLCA4MywgODQsIDg1LCA4NiwgODcsIDg4LCA4OSwgOTAsIDkxLCA5MiwgCi0gICAgOTMsIDk0LCA5NSwgOTYsIDk3LCA5OCwgOTksIDEwMCwgMTAxLCAxMDIsIDEwMywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgMTA0LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDEwNSwgMTA2LCAxMDcsIDEwOCwgMTA5LCAKLSAgICAxMTAsIDExMSwgMTEyLCAxMTMsIDExNCwgMTE1LCAxMTYsIDExNywgMTE4LCAxMTksIDEyMCwgMTIxLCAxMjIsIDEyMywgCi0gICAgMTI0LCAxMjUsIDEyNiwgMTI3LCAxMjgsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDEyOSwgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgMTMwLCAxMzEsIAotICAgIDEzMiwgMTMzLCAxMzQsIDEzNSwgMTM2LCAxMzcsIDEzOCwgMTM5LCAxNDAsIDE0MSwgMTQyLCAxNDMsIDE0NCwgMTQ1LCAKLSAgICAxNDYsIDE0NywgODcsIDE0OCwgMTQ5LCAxNTAsIDE1MSwgMTUyLCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAxNTMsIDg3LCAKLSAgICAxNTQsIDE1NSwgMTU2LCA4NywgMTU3LCA4NywgMTU4LCA4NywgODcsIDg3LCAxNTksIDg3LCA4NywgODcsIDE2MCwgMTYxLCAKLSAgICAxNjIsIDE2MywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgMTY0LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAxNjUsIDE2NiwgMTY3LCAxNjgsIAotICAgIDE2OSwgMTcwLCAxNzEsIDg3LCAxNzIsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgMTczLCAxNzQsIDE3NSwgMTc2LCAxNzcsIDE3OCwgCi0gICAgMTc5LCAxODAsIDE4MSwgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDE4MiwgCi0gICAgMTgzLCAxODQsIDE4NSwgMTg2LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAxODcsIDE4OCwgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICAxODksIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDE5MCwgMTkxLCAxOTIsIDE5MywgMTk0LCA4NywgMTk1LCAKLSAgICA4NywgMTk2LCAxOTcsIDE5OCwgMTk5LCAyMDAsIDIwMSwgMjAyLCAyMDMsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgMjA0LCAyMDUsIDg3LCA4NywgMjA2LCAyMDcsIDIwOCwgMjA5LCAyMTAsIDg3LCAyMTEsIDIxMiwgMjEzLCAyMTQsIAotICAgIDIxNSwgMjE2LCAyMTcsIDIxOCwgMjE5LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAyMjAsIDIyMSwgCi0gICAgMjIyLCAyMjMsIDIyNCwgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgMjI1LCA4NywgMjI2LCAyMjcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCAyMjgsIDIyOSwgMjMwLCAyMzEsIDIzMiwgMjMzLCAyMzQsIDIzNSwgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCAKKyAgICAzOSwgNDAsIDQxLCA0MiwgNDMsIDQ0LCA0NSwgNDYsIDQ3LCA0OCwgNDksIDUwLCA1MSwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUzLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTQsIDU1LCA1NiwgNTcsIDU4LCAKKyAgICA1OSwgNjAsIDYxLCA2MiwgNjMsIDY0LCA2NSwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDY2LCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA2NywgNjgsIDY5LCA3MCwgNzEsIDcyLCAKKyAgICA3MywgNzQsIDc1LCA3NiwgNzcsIDc4LCA3OSwgODAsIDgxLCA4MiwgODMsIDg0LCA4NSwgODYsIDUyLCA4NywgNTIsIDg4LCAKKyAgICA4OSwgOTAsIDkxLCA5MiwgOTMsIDk0LCA1MiwgOTUsIDUyLCA5NiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA5NywgOTgsIDk5LCAKKyAgICAxMDAsIDEwMSwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAxMDIsIDEwMywgMTA0LCAxMDUsIAorICAgIDEwNiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgMTA3LCAxMDgsIAorICAgIDEwOSwgMTEwLCA1MiwgNTIsIDUyLCAxMTEsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAxMTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgMTEzLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgMTE0LCAxMTUsIDExNiwgMTE3LCAKKyAgICAxMTgsIDExOSwgMTIwLCAxMjEsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCAxMjIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgMTIzLCA1MiwgMTI0LCAxMjUsIDEyNiwgMTI3LCAxMjgsIAorICAgIDEyOSwgMTMwLCAxMzEsIDEzMiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgMTMzLCAxMzQsIDEzNSwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDEzNiwgMTM3LCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDEzOCwgMTM5LCAxNDAsIDE0MSwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIAogfTsKIAogc3RhdGljIHVuc2lnbmVkIGludCBwaHJhc2Vib29rX29mZnNldDJbXSA9IHsKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxLCAzLCA2LCA5LCAxMSwgMTQsIDE3LCAxOSwgMjEsIDI0LCAyNywgMjksIDMxLCAKICAgICAzMywgMzUsIDM5LCA0MSwgNDQsIDQ2LCA0OCwgNTAsIDUyLCA1NCwgNTYsIDU4LCA2MCwgNjIsIDY0LCA2NiwgNjksIDcyLCAKLSAgICA3NSwgNzgsIDgyLCA4NiwgOTEsIDk2LCAxMDEsIDEwNSwgMTEwLCAxMTUsIDEyMCwgMTI0LCAxMjksIDEzNCwgMTM4LCAxNDIsIAotICAgIDE0NywgMTUxLCAxNTYsIDE2MSwgMTY1LCAxNzAsIDE3NSwgMTc5LCAxODQsIDE4OSwgMTk0LCAxOTksIDIwNCwgMjA3LCAKKyAgICA3NSwgNzgsIDgyLCA4NiwgOTEsIDk2LCAxMDEsIDEwNSwgMTEwLCAxMTUsIDEyMCwgMTI0LCAxMjksIDEzNCwgMTM4LCAxNDMsIAorICAgIDE0OCwgMTUyLCAxNTcsIDE2MiwgMTY2LCAxNzAsIDE3NSwgMTc5LCAxODQsIDE4OSwgMTk0LCAxOTksIDIwNCwgMjA3LCAKICAgICAyMTEsIDIxNCwgMjE4LCAyMjEsIDIyNSwgMjI5LCAyMzQsIDIzOSwgMjQ0LCAyNDgsIDI1MywgMjU4LCAyNjMsIDI2NywgCi0gICAgMjcyLCAyNzcsIDI4MSwgMjg1LCAyOTAsIDI5NCwgMjk5LCAzMDQsIDMwOCwgMzEzLCAzMTgsIDMyMiwgMzI3LCAzMzIsIAorICAgIDI3MiwgMjc3LCAyODEsIDI4NiwgMjkxLCAyOTUsIDMwMCwgMzA1LCAzMDksIDMxMywgMzE4LCAzMjIsIDMyNywgMzMyLCAKICAgICAzMzcsIDM0MiwgMzQ3LCAzNTEsIDM1NCwgMzU4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNTksIDM2MywgMzY4LCAKLSAgICAzNzEsIDM3NCwgMzc3LCAzODAsIDM4MywgMzg2LCAzODgsIDM5MSwgMzk3LCA0MDUsIDQwOCwgNDEyLCA0MTUsIDQxNywgCi0gICAgNDIwLCA0MjMsIDQyNiwgNDI5LCA0MzMsIDQzNiwgNDM5LCA0NDMsIDQ0NSwgNDQ4LCA0NTQsIDQ2MiwgNDY5LCA0NzYsIAotICAgIDQ4MywgNDg4LCA0OTUsIDUwMSwgNTA4LCA1MTQsIDUyMSwgNTI5LCA1MzQsIDU0MiwgNTQ5LCA1NTUsIDU2MiwgNTY5LCAKLSAgICA1NzcsIDU4NCwgNTkyLCA2MDAsIDYwNSwgNjEyLCA2MTksIDYyNSwgNjMyLCA2MzgsIDY0NSwgNjQ4LCA2NTQsIDY2MSwgCi0gICAgNjY3LCA2NzQsIDY4MSwgNjg4LCA2OTMsIDcwMCwgNzA3LCA3MTMsIDcyMCwgNzI2LCA3MzMsIDc0MSwgNzQ2LCA3NTQsIAotICAgIDc2MSwgNzY3LCA3NzQsIDc4MSwgNzg5LCA3OTYsIDgwNCwgODEyLCA4MTcsIDgyNCwgODMxLCA4MzcsIDg0NCwgODUwLCAKLSAgICA4NTcsIDg2MCwgODY2LCA4NzMsIDg3OSwgODg2LCA4OTMsIDkwMCwgOTA1LCA5MTMsIDkyMCwgOTI3LCA5MzQsIDk0MSwgCi0gICAgOTQ4LCA5NTUsIDk2MiwgOTY5LCA5NzcsIDk4NSwgOTkzLCAxMDAxLCAxMDA5LCAxMDE3LCAxMDI1LCAxMDMzLCAxMDQwLCAKLSAgICAxMDQ3LCAxMDU0LCAxMDYxLCAxMDY4LCAxMDc1LCAxMDgyLCAxMDg5LCAxMDk2LCAxMTAzLCAxMTEwLCAxMTE3LCAxMTI1LCAKLSAgICAxMTMzLCAxMTQxLCAxMTQ5LCAxMTU3LCAxMTY1LCAxMTczLCAxMTgxLCAxMTg5LCAxMTk3LCAxMjA0LCAxMjExLCAxMjE4LCAKLSAgICAxMjI1LCAxMjMzLCAxMjQxLCAxMjQ5LCAxMjU3LCAxMjY1LCAxMjczLCAxMjgxLCAxMjg3LCAxMjkyLCAxMjk3LCAxMzA1LCAKLSAgICAxMzEzLCAxMzIxLCAxMzI5LCAxMzM0LCAxMzQxLCAxMzQ4LCAxMzU2LCAxMzY0LCAxMzcyLCAxMzgwLCAxMzkwLCAxNDAwLCAKLSAgICAxNDA3LCAxNDE0LCAxNDIxLCAxNDI4LCAxNDM2LCAxNDQ0LCAxNDUyLCAxNDYwLCAxNDcxLCAxNDc2LCAxNDgxLCAxNDg4LCAKLSAgICAxNDk1LCAxNTAyLCAxNTA5LCAxNTE2LCAxNTIzLCAxNTI4LCAxNTMzLCAxNTQwLCAxNTQ3LCAxNTU1LCAxNTYzLCAxNTcxLCAKLSAgICAxNTc5LCAxNTg2LCAxNTkzLCAxNjAxLCAxNjA5LCAxNjE3LCAxNjI1LCAxNjMzLCAxNjQxLCAxNjQ5LCAxNjU3LCAxNjY1LCAKLSAgICAxNjczLCAxNjgwLCAxNjg3LCAxNjkzLCAxNjk5LCAxNzA2LCAxNzEzLCAxNzIwLCAxNzI3LCAxNzM1LCAxNzQzLCAxNzUwLCAKLSAgICAxNzU3LCAxNzY0LCAxNzcxLCAxNzc5LCAxNzg3LCAxNzk1LCAxODAzLCAxODExLCAxODE4LCAxODI1LCAxODMzLCAxODQxLCAKLSAgICAxODQ5LCAxODU3LCAxODYzLCAxODY5LCAxODc1LCAxODgyLCAxODg5LCAxODk0LCAxODk5LCAxOTA0LCAxOTExLCAxOTE4LCAKLSAgICAxOTI1LCAxOTMyLCAxOTQwLCAxOTQ4LCAxOTU1LCAxOTYxLCAxOTY2LCAxOTcxLCAxOTc4LCAxOTg1LCAxOTkyLCAxOTk3LCAKLSAgICAyMDAyLCAyMDA3LCAyMDE0LCAyMDIxLCAyMDI4LCAyMDM1LCAyMDQyLCAyMDQ4LCAyMDU2LCAyMDY2LCAyMDc0LCAyMDgxLCAKLSAgICAyMDg4LCAyMDkzLCAyMDk4LCAyMTA1LCAyMTEyLCAyMTE2LCAyMTIxLCAyMTI2LCAyMTMxLCAyMTM5LCAyMTQ4LCAyMTU1LCAKLSAgICAyMTYyLCAyMTcxLCAyMTc4LCAyMTg1LCAyMTkwLCAyMTk3LCAyMjA0LCAyMjExLCAyMjE4LCAyMjI1LCAyMjMwLCAyMjM3LCAKLSAgICAyMjQ0LCAyMjUyLCAyMjU3LCAyMjYyLCAyMjY3LCAyMjc3LCAyMjgxLCAyMjg3LCAyMjkzLCAyMjk5LCAyMzA1LCAyMzEzLCAKLSAgICAyMzI2LCAyMzM0LCAyMzM5LCAyMzQ5LCAyMzU0LCAyMzU5LCAyMzY5LCAyMzc0LCAyMzgxLCAyMzg4LCAyMzk2LCAyNDA0LCAKLSAgICAyNDExLCAyNDE4LCAyNDI1LCAyNDMyLCAyNDQyLCAyNDUyLCAyNDYxLCAyNDcwLCAyNDgwLCAyNDkwLCAyNTAwLCAyNTEwLCAKLSAgICAyNTE2LCAyNTI2LCAyNTM2LCAyNTQ2LCAyNTU2LCAyNTY0LCAyNTcyLCAyNTc5LCAyNTg2LCAyNTk0LCAyNjAyLCAyNjEwLCAKLSAgICAyNjE4LCAyNjI1LCAyNjMyLCAyNjQyLCAyNjUyLCAyNjYwLCAyNjY4LCAyNjc2LCAyNjgxLCAyNjkxLCAyNjk2LCAyNzAzLCAKLSAgICAyNzEwLCAyNzE1LCAyNzIwLCAyNzI4LCAyNzM2LCAyNzQ2LCAyNzU2LCAyNzYzLCAyNzcwLCAyNzc5LCAyNzg4LCAyNzk2LCAKLSAgICAyODA0LCAyODEzLCAyODIyLCAyODMwLCAyODM4LCAyODQ3LCAyODU2LCAyODY1LCAyODc0LCAyODg0LCAyODk0LCAyOTAyLCAKLSAgICAyOTEwLCAyOTE5LCAyOTI4LCAyOTM3LCAyOTQ2LCAyOTU2LCAyOTY2LCAyOTc0LCAyOTgyLCAyOTkxLCAzMDAwLCAzMDA5LCAKLSAgICAzMDE4LCAzMDI3LCAzMDM2LCAzMDQxLCAzMDQ2LCAzMDU0LCAzMDYyLCAzMDcyLCAzMDgwLCAzMDg1LCAzMDkwLCAzMDk3LCAKLSAgICAzMTA0LCAzMTExLCAzMTE4LCAzMTI1LCAzMTMyLCAzMTQyLCAzMTUyLCAzMTYyLCAzMTcyLCAzMTc5LCAzMTg2LCAzMTk2LCAKLSAgICAzMjA2LCAzMjE0LCAzMjIyLCAzMjMwLCAzMjM4LCAzMjQ2LCAzMjUzLCAzMjYwLCAzMjY3LCAzMjczLCAzMjgwLCAzMjg3LCAKLSAgICAzMjk0LCAzMzAzLCAzMzEzLCAzMzIzLCAzMzMwLCAzMzM3LCAzMzQzLCAzMzQ4LCAzMzU1LCAzMzYxLCAzMzY3LCAzMzc0LCAKLSAgICAzMzgxLCAzMzkyLCAzNDAyLCAzNDA5LCAzNDE2LCAzNDIzLCAzNDMwLCAzNDM2LCAzNDQxLCAzNDQ4LCAzNDU0LCAzNDU5LCAKLSAgICAzNDY3LCAzNDc1LCAzNDgyLCAzNDg4LCAzNDkzLCAzNTAwLCAzNTA1LCAzNTEyLCAzNTIxLCAzNTMwLCAzNTM5LCAzNTQ2LCAKLSAgICAzNTUyLCAzNTU4LCAzNTYzLCAzNTcwLCAzNTc3LCAzNTg0LCAzNTkxLCAzNTk4LCAzNjAzLCAzNjA4LCAzNjE3LCAzNjI1LCAKLSAgICAzNjM0LCAzNjM5LCAzNjQ1LCAzNjU2LCAzNjYzLCAzNjcxLCAzNjgwLCAzNjg2LCAzNjkyLCAzNjk4LCAzNzA1LCAzNzEwLCAKLSAgICAzNzE2LCAzNzI3LCAzNzM2LCAzNzQ1LCAzNzUzLCAzNzYxLCAzNzcxLCAzNzc2LCAzNzgzLCAzNzkwLCAzNzk1LCAzODA3LCAKLSAgICAzODE2LCAzODI0LCAzODMxLCAzODQwLCAzODQ1LCAzODUwLCAzODU3LCAzODY0LCAzODcxLCAzODc4LCAzODg0LCAzODkzLCAKLSAgICAzOTAxLCAzOTA2LCAzOTE0LCAzOTIwLCAzOTI4LCAzOTM2LCAzOTQyLCAzOTQ4LCAzOTU0LCAzOTYxLCAzOTY5LCAzOTc1LCAKLSAgICAzOTgzLCAzOTkwLCAzOTk1LCA0MDAyLCA0MDEwLCA0MDIwLCA0MDI3LCA0MDM0LCA0MDQ0LCA0MDUxLCA0MDU4LCA0MDY4LCAKLSAgICA0MDc1LCA0MDgyLCA0MDg5LCA0MDk1LCA0MTAxLCA0MTExLCA0MTI0LCA0MTI5LCA0MTM2LCA0MTQxLCA0MTQ1LCA0MTUxLCAKLSAgICA0MTYwLCA0MTY3LCA0MTcyLCA0MTc3LCA0MTgxLCA0MTg2LCA0MTkyLCA0MTk2LCA0MjAyLCA0MjA4LCA0MjE0LCA0MjIwLCAKLSAgICA0MjI4LCA0MjMzLCA0MjM4LCA0MjQzLCA0MjQ4LCA0MjU0LCA0MjU2LCA0MjYxLCA0MjY1LCA0MjcxLCA0Mjc3LCA0MjgzLCAKLSAgICA0Mjg4LCA0Mjk1LCA0MzAyLCA0MzA4LCA0MzE1LCA0MzIzLCA0MzMxLCA0MzM2LCA0MzQxLCA0MzQ1LCA0MzUwLCA0MzUyLCAKLSAgICA0MzU0LCA0MzU3LCA0MzU5LCA0MzYxLCA0MzY2LCA0MzcxLCA0Mzc3LCA0MzgyLCA0Mzg2LCA0MzkxLCA0Mzk2LCA0NDA1LCAKLSAgICA0NDExLCA0NDE2LCA0NDIyLCA0NDI3LCA0NDMzLCA0NDQxLCA0NDQ5LCA0NDUzLCA0NDU3LCA0NDYyLCA0NDY4LCA0NDc0LCAKLSAgICA0NDgwLCA0NDg2LCA0NDkxLCA0NDk5LCA0NTA4LCA0NTE3LCA0NTIxLCA0NTI3LCA0NTM0LCA0NTQxLCA0NTQ4LCA0NTU1LCAKLSAgICA0NTU5LCA0NTY0LCA0NTY5LCA0NTc0LCA0NTc5LCA0NTg0LCA0NTg2LCA0NTg5LCA0NTkyLCA0NTk1LCA0NTk4LCA0NjAxLCAKLSAgICA0NjA1LCA0NjA5LCA0NjE1LCA0NjE4LCA0NjIzLCA0NjI5LCA0NjM1LCA0NjM4LCA0NjQzLCA0NjQ5LCA0NjUzLCA0NjU5LCAKLSAgICA0NjY1LCA0NjcxLCA0Njc3LCA0NjgyLCA0Njg3LCA0NjkyLCA0Njk1LCA0NzAxLCA0NzA2LCA0NzExLCA0NzE1LCA0NzIwLCAKLSAgICA0NzI2LCA0NzMyLCA0NzM1LCA0NzM5LCA0NzQzLCA0NzQ3LCA0NzUwLCA0NzUzLCA0NzU4LCA0NzYyLCA0NzY5LCA0NzczLCAKLSAgICA0Nzc5LCA0NzgzLCA0Nzg5LCA0NzkzLCA0Nzk3LCA0ODAxLCA0ODA2LCA0ODExLCA0ODE4LCA0ODI0LCA0ODMxLCA0ODM3LCAKLSAgICA0ODQzLCA0ODQ5LCA0ODUyLCA0ODU2LCA0ODYwLCA0ODYzLCA0ODY3LCA0ODcyLCA0ODc3LCA0ODgxLCA0ODg1LCA0ODkxLCAKLSAgICA0ODk1LCA0ODk5LCA0OTA0LCA0OTEwLCA0OTE1LCA0OTIxLCA0OTI1LCA0OTMyLCA0OTM3LCA0OTQyLCA0OTQ3LCA0OTUyLCAKLSAgICA0OTU4LCA0OTYxLCA0OTY1LCA0OTcwLCA0OTc1LCA0OTg0LCA0OTkwLCA0OTk1LCA0OTk5LCA1MDA0LCA1MDA4LCA1MDEzLCAKLSAgICA1MDE3LCA1MDIxLCA1MDI2LCA1MDI5LCA1MDM1LCA1MDQwLCA1MDQ1LCA1MDUwLCA1MDU1LCA1MDYwLCA1MDY1LCA1MDcxLCAKLSAgICA1MDc3LCA1MDgzLCA1MDg4LCA1MDkzLCA1MDk5LCA1MTA1LCA1MTExLCA1MTE2LCA1MTIxLCA1MTI4LCA1MTM1LCA1MTM5LCAKLSAgICA1MTQ1LCA1MTUyLCAwLCAwLCA1MTU5LCA1MTYyLCA1MTcxLCA1MTgwLCA1MTkxLCAwLCAwLCAwLCAwLCAwLCA1MTk1LCAKLSAgICA1MTk4LCA1MjAzLCA1MjExLCA1MjE2LCA1MjI0LCA1MjMyLCAwLCA1MjQwLCAwLCA1MjQ4LCA1MjU2LCA1MjY0LCA1Mjc1LCAKLSAgICA1MjgwLCA1Mjg1LCA1MjkwLCA1Mjk1LCA1MzAwLCA1MzA1LCA1MzEwLCA1MzE1LCA1MzIwLCA1MzI1LCA1MzMwLCA1MzM1LCAKLSAgICA1MzQwLCA1MzQ1LCA1MzUwLCA1MzU1LCAwLCA1MzYwLCA1MzY1LCA1MzcwLCA1Mzc1LCA1MzgwLCA1Mzg1LCA1MzkwLCAKLSAgICA1Mzk1LCA1NDAzLCA1NDExLCA1NDE5LCA1NDI3LCA1NDM1LCA1NDQzLCA1NDU0LCA1NDU5LCA1NDY0LCA1NDY5LCA1NDc0LCAKLSAgICA1NDc5LCA1NDg0LCA1NDg5LCA1NDk0LCA1NDk5LCA1NTA0LCA1NTA5LCA1NTE0LCA1NTE5LCA1NTI0LCA1NTI5LCA1NTM0LCAKLSAgICA1NTM5LCA1NTQ1LCA1NTUwLCA1NTU1LCA1NTYwLCA1NTY1LCA1NTcwLCA1NTc1LCA1NTgwLCA1NTg4LCA1NTk2LCA1NjA0LCAKLSAgICA1NjEyLCA1NjIwLCA1NjI1LCA1NjI5LCA1NjMzLCA1NjQwLCA1NjUwLCA1NjYwLCA1NjY0LCA1NjY4LCA1NjcyLCA1Njc4LCAKLSAgICA1Njg1LCA1Njg5LCA1Njk0LCA1Njk4LCA1NzAzLCA1NzA3LCA1NzEyLCA1NzE2LCA1NzIxLCA1NzI2LCA1NzMxLCA1NzM2LCAKLSAgICA1NzQxLCA1NzQ2LCA1NzUxLCA1NzU2LCA1NzYxLCA1NzY2LCA1NzcxLCA1Nzc2LCA1NzgxLCA1Nzg2LCA1NzkxLCA1Nzk1LCAKLSAgICA1Nzk5LCA1ODA1LCA1ODA5LCA1ODE0LCA1ODIwLCA1ODI4LCA1ODMzLCA1ODM4LCA1ODQ1LCA1ODUwLCA1ODU1LCA1ODYyLCAKLSAgICA1ODcxLCA1ODgwLCA1ODkxLCA1ODk5LCA1OTA0LCA1OTA5LCA1OTE0LCA1OTIxLCA1OTI2LCA1OTMyLCA1OTM3LCA1OTQyLCAKLSAgICA1OTQ3LCA1OTUyLCA1OTU3LCA1OTYyLCA1OTcwLCA1OTc2LCA1OTgxLCA1OTg1LCA1OTkwLCA1OTk1LCA2MDAwLCA2MDA1LCAKLSAgICA2MDEwLCA2MDE1LCA2MDIwLCA2MDI0LCA2MDMwLCA2MDM0LCA2MDM5LCA2MDQ0LCA2MDQ5LCA2MDUzLCA2MDU4LCA2MDYzLCAKLSAgICA2MDY4LCA2MDczLCA2MDc3LCA2MDgyLCA2MDg2LCA2MDkxLCA2MDk2LCA2MTAxLCA2MTA2LCA2MTEyLCA2MTE3LCA2MTIzLCAKLSAgICA2MTI3LCA2MTMyLCA2MTM2LCA2MTQwLCA2MTQ1LCA2MTUwLCA2MTU1LCA2MTYwLCA2MTY1LCA2MTcwLCA2MTc1LCA2MTc5LCAKLSAgICA2MTg1LCA2MTg5LCA2MTk0LCA2MTk5LCA2MjA0LCA2MjA4LCA2MjEzLCA2MjE4LCA2MjIzLCA2MjI4LCA2MjMyLCA2MjM3LCAKLSAgICA2MjQxLCA2MjQ2LCA2MjUxLCA2MjU2LCA2MjYxLCA2MjY3LCA2MjcyLCA2Mjc4LCA2MjgyLCA2Mjg3LCA2MjkxLCA2Mjk5LCAKLSAgICA2MzA0LCA2MzA5LCA2MzE0LCA2MzIxLCA2MzI2LCA2MzMyLCA2MzM3LCA2MzQyLCA2MzQ3LCA2MzUyLCA2MzU3LCA2MzYyLCAKLSAgICA2MzcwLCA2Mzc2LCA2MzgxLCA2Mzg2LCA2MzkxLCA2Mzk2LCA2NDAxLCA2NDA3LCA2NDEzLCA2NDIwLCA2NDI3LCA2NDM2LCAKLSAgICA2NDQ1LCA2NDUyLCA2NDU5LCA2NDY4LCA2NDc3LCA2NDgyLCA2NDg3LCA2NDkyLCA2NDk3LCA2NTAyLCA2NTA3LCA2NTEyLCAKLSAgICA2NTE3LCA2NTI4LCA2NTM5LCA2NTQ0LCA2NTQ5LCA2NTU2LCA2NTYzLCA2NTcxLCA2NTc5LCA2NTg0LCA2NTg5LCA2NTk0LCAKLSAgICA2NTk5LCA2NjAzLCA2NjA3LCA2NjExLCA2NjE3LCA2NjIzLCA2NjI3LCA2NjM0LCA2NjM5LCA2NjQ5LCA2NjU5LCA2NjY1LCAKLSAgICA2NjcxLCA2Njc5LCA2Njg3LCA2Njk1LCA2NzAzLCA2NzEwLCA2NzE3LCA2NzI2LCA2NzM1LCA2NzQzLCA2NzUxLCA2NzU5LCAKLSAgICA2NzY3LCA2Nzc1LCA2NzgzLCA2NzkxLCA2Nzk5LCA2ODA2LCA2ODEzLCA2ODE5LCA2ODI1LCA2ODMzLCA2ODQxLCA2ODQ4LCAKLSAgICA2ODU1LCA2ODY0LCA2ODczLCA2ODc5LCA2ODg1LCA2ODkzLCA2OTAxLCA2OTA5LCA2OTE3LCA2OTIzLCA2OTI5LCA2OTM3LCAKLSAgICA2OTQ1LCA2OTUzLCA2OTYxLCA2OTY4LCA2OTc1LCA2OTgzLCA2OTkxLCA2OTk5LCA3MDA3LCA3MDEyLCA3MDE3LCA3MDI0LCAKLSAgICA3MDMxLCA3MDQxLCA3MDUxLCA3MDU1LCA3MDYzLCA3MDcxLCA3MDc4LCA3MDg1LCA3MDkzLCA3MTAxLCA3MTA4LCA3MTE1LCAKLSAgICA3MTIzLCA3MTMxLCA3MTM4LCA3MTQ1LCA3MTUzLCA3MTYxLCA3MTY2LCA3MTczLCA3MTgwLCA3MTg3LCA3MTk0LCA3MjAwLCAKLSAgICA3MjA2LCA3MjE0LCA3MjIyLCA3MjI3LCA3MjMyLCA3MjQwLCA3MjQ4LCA3MjU2LCA3MjY0LCA3MjcyLCA3MjgwLCA3Mjg3LCAKLSAgICA3Mjk0LCA3MzAyLCA3MzEwLCA3MzE4LCA3MzI2LCA3MzMzLCA3MzQwLCA3MzQ2LCA3MzUyLCA3MzYxLCA3MzcwLCA3Mzc3LCAKLSAgICA3Mzg0LCA3MzkxLCA3Mzk4LCA3NDA1LCA3NDEyLCA3NDE5LCA3NDI2LCA3NDM0LCA3NDQyLCA3NDUwLCA3NDU4LCA3NDY2LCAKLSAgICA3NDc0LCA3NDg0LCA3NDk0LCA3NTAxLCA3NTA4LCA3NTE1LCA3NTIyLCA3NTI5LCA3NTM2LCA3NTQzLCA3NTUwLCA3NTU3LCAKLSAgICA3NTY0LCA3NTcxLCA3NTc4LCA3NTg1LCA3NTkyLCA3NTk5LCA3NjA2LCA3NjEzLCA3NjIwLCA3NjI3LCA3NjM0LCA3NjQxLCAKLSAgICA3NjQ4LCA3NjU1LCA3NjYyLCA3NjY3LCA3NjcyLCA3Njc3LCA3NjgyLCA3Njg3LCA3NjkyLCA3Njk3LCA3NzAyLCA3NzA3LCAKLSAgICA3NzEyLCA3NzE4LCA3NzI0LCA3NzMzLCA3NzQyLCA3NzUxLCA3NzYwLCA3NzY4LCA3Nzc2LCA3Nzg0LCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA3NzkyLCA3Nzk3LCA3ODAyLCA3ODA3LCA3ODEyLCA3ODE3LCA3ODIyLCA3ODI3LCA3ODMyLCAKLSAgICA3ODM2LCA3ODQxLCA3ODQ2LCA3ODUxLCA3ODU2LCA3ODYxLCA3ODY2LCA3ODcxLCA3ODc2LCA3ODgxLCA3ODg2LCA3ODkxLCAKLSAgICA3ODk2LCA3OTAxLCA3OTA2LCA3OTExLCA3OTE2LCA3OTIxLCA3OTI2LCA3OTMwLCA3OTM1LCA3OTQwLCA3OTQ1LCA3OTUwLCAKLSAgICA3OTU1LCA3OTYwLCA3OTY1LCA3OTcwLCA3OTc1LCAwLCAwLCA3OTgwLCA3OTg3LCA3OTkwLCA3OTk0LCA3OTk4LCA4MDAxLCAKLSAgICA4MDA1LCAwLCA4MDA5LCA4MDE0LCA4MDE5LCA4MDI0LCA4MDI5LCA4MDM0LCA4MDM5LCA4MDQ0LCA4MDQ5LCA4MDUzLCAKLSAgICA4MDU4LCA4MDYzLCA4MDY4LCA4MDczLCA4MDc4LCA4MDgzLCA4MDg4LCA4MDkzLCA4MDk4LCA4MTAzLCA4MTA4LCA4MTEzLCAKLSAgICA4MTE4LCA4MTIzLCA4MTI4LCA4MTMzLCA4MTM4LCA4MTQzLCA4MTQ3LCA4MTUyLCA4MTU3LCA4MTYyLCA4MTY3LCA4MTcyLCAKLSAgICA4MTc3LCA4MTgyLCA4MTg3LCA4MTkyLCA4MTk3LCAwLCA4MjA0LCA4MjA5LCAwLCAwLCAwLCAwLCA4MjEyLCAwLCA4MjE2LCAKLSAgICA4MjIxLCA4MjI2LCA4MjMxLCA4MjM4LCA4MjQ1LCA4MjUwLCA4MjU1LCA4MjYwLCA4MjY1LCA4MjcwLCA4Mjc1LCA4MjgwLCAKLSAgICA4Mjg3LCA4MjkyLCA4Mjk5LCA4MzA2LCA4MzExLCA4MzE4LCA4MzIzLCA4MzI4LCA4MzMzLCA4MzQwLCA4MzQ1LCA4MzUwLCAKLSAgICA4MzU3LCA4MzY2LCA4MzcxLCA4Mzc2LCA4MzgxLCA4Mzg2LCA4MzkyLCA4Mzk3LCA4NDA0LCA4NDExLCA4NDE4LCA4NDIzLCAKLSAgICA4NDI4LCA4NDMzLCA4NDM4LCA4NDQzLCA4NDQ4LCA4NDU4LCA4NDYzLCA4NDcxLCA4NDc2LCA4NDgxLCA4NDg2LCA4NDkxLCAKLSAgICA4NDk4LCA4NTA1LCA4NTEyLCA4NTE4LCA4NTI0LCA4NTMxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4NTM4LCA4NTQyLCAKLSAgICA4NTQ2LCA4NTUwLCA4NTU0LCA4NTU4LCA4NTYyLCA4NTY2LCA4NTcwLCA4NTc0LCA4NTc4LCA4NTgzLCA4NTg3LCA4NTkxLCAKLSAgICA4NTk2LCA4NjAwLCA4NjA1LCA4NjA5LCA4NjEzLCA4NjE3LCA4NjIyLCA4NjI2LCA4NjMxLCA4NjM1LCA4NjM5LCA4NjQzLCAKLSAgICA4NjQ3LCAwLCAwLCAwLCAwLCAwLCA4NjUxLCA4NjU4LCA4NjY2LCA4NjczLCA4Njc4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCA4NjgzLCA4Njg2LCA4NjkwLCA4Njk1LCA4Njk5LCAwLCA4NzAzLCA4NzA5LCA4NzE1LCA4NzE4LCAKLSAgICA4NzI1LCA4NzM0LCA4NzM3LCA4NzQwLCA4NzQ1LCA4NzUxLCA4NzU1LCA4NzYzLCA4NzY5LCA4Nzc1LCA4NzgzLCA4Nzg3LCAKLSAgICA4NzkyLCA4ODAzLCA4ODA4LCA4ODEyLCA4ODE2LCA4ODIwLCA4ODIzLCAwLCA4ODI2LCA4ODMzLCA4ODM3LCA4ODQzLCAKLSAgICA4ODQ3LCA4ODU0LCA4ODYwLCA4ODY3LCA4ODczLCA4ODc5LCA4ODgzLCA4ODg3LCA4ODkzLCA4ODk3LCA4OTAxLCA4OTA1LCAKLSAgICA4OTA5LCA4OTEzLCA4OTE3LCA4OTIxLCA4OTI1LCA4OTI5LCA4OTMzLCA4OTM3LCA4OTQxLCA4OTQ1LCA4OTQ5LCA4OTUzLCAKLSAgICA4OTU3LCA4OTYxLCA4OTY5LCA4OTc3LCA4OTg3LCA4OTk2LCA5MDA1LCA5MDA4LCA5MDEyLCA5MDE2LCA5MDIwLCA5MDI0LCAKLSAgICA5MDI4LCA5MDMyLCA5MDM2LCA5MDQwLCA5MDQ1LCA5MDQ5LCA5MDUyLCA5MDU1LCA5MDU4LCA5MDYxLCA5MDY0LCA5MDY3LCAKLSAgICA5MDcwLCA5MDczLCA5MDc3LCA5MDgwLCA5MDgzLCA5MDg4LCA5MDkzLCA5MDk5LCA5MTAyLCA5MTA5LCA5MTE4LCA5MTIzLCAKLSAgICA5MTI4LCA5MTM1LCA5MTQwLCA5MTQ1LCA5MTQ5LCA5MTUzLCA5MTU3LCA5MTYxLCA5MTY1LCA5MTY5LCA5MTczLCA5MTc3LCAKLSAgICA5MTgxLCA5MTg1LCA5MTkwLCA5MTk1LCA5MjAyLCA5MjA4LCA5MjE0LCA5MjIwLCA5MjI1LCA5MjMzLCA5MjQxLCA5MjQ2LCAKLSAgICA5MjUyLCA5MjU4LCA5MjY0LCA5MjcwLCA5Mjc0LCA5Mjc4LCA5MjgyLCA5Mjg5LCA5Mjk5LCA5MzAzLCA5MzA3LCA5MzExLCAKLSAgICA5MzE3LCA5MzI1LCA5MzI5LCA5MzMzLCA5MzQwLCA5MzQ0LCA5MzQ4LCA5MzUyLCA5MzU5LCA5MzY2LCA5Mzc4LCA5MzgyLCAKLSAgICA5Mzg2LCA5MzkwLCA5NDAwLCA5NDA5LCA5NDEzLCA5NDIxLCA5NDI4LCA5NDM1LCA5NDQ0LCA5NDU1LCA5NDYzLCA5NDY3LCAKLSAgICA5NDc2LCA5NDg3LCA5NDk1LCA5NTA4LCA5NTE2LCA5NTI0LCA5NTMyLCA5NTQwLCA5NTQ2LCA5NTU1LCA5NTYyLCA5NTY2LCAKLSAgICA5NTc0LCA5NTc4LCA5NTg1LCA5NTkzLCA5NTk3LCA5NjAzLCA5NjEwLCA5NjE3LCA5NjIxLCA5NjI5LCA5NjMzLCA5NjQwLCAKLSAgICA5NjQ0LCA5NjUyLCA5NjU2LCA5NjY0LCA5NjcyLCA5Njc5LCA5Njg3LCA5Njk1LCA5NzAyLCA5NzA4LCA5NzEyLCA5NzE5LCAKLSAgICA5NzI3LCA5NzMzLCA5NzQwLCA5NzQ3LCA5NzUzLCA5NzYyLCA5NzcwLCA5Nzc3LCA5NzgzLCA5Nzg3LCA5NzkwLCA5Nzk0LCAKLSAgICA5ODAwLCA5ODA4LCA5ODEyLCA5ODE4LCA5ODI0LCA5ODMxLCA5ODM4LCA5ODQxLCA5ODQ4LCA5ODUzLCA5ODYxLCA5ODY2LCAKLSAgICA5ODcwLCA5ODgzLCA5ODk2LCA5OTAyLCA5OTA5LCA5OTE0LCA5OTIwLCA5OTI1LCA5OTMxLCA5OTQxLCA5OTQ4LCA5OTU3LCAKLSAgICA5OTY3LCA5OTczLCA5OTc4LCA5OTgzLCA5OTg3LCA5OTkxLCA5OTk2LCAxMDAwMSwgMTAwMDcsIDEwMDE1LCAxMDAyMywgCi0gICAgMTAwMzQsIDEwMDM5LCAxMDA0OCwgMTAwNTcsIDEwMDY0LCAxMDA3MCwgMTAwNzYsIDEwMDgyLCAxMDA4OCwgMTAwOTQsIAotICAgIDEwMTAwLCAxMDEwNiwgMTAxMTIsIDEwMTE4LCAxMDEyNSwgMTAxMzIsIDEwMTM5LCAxMDE0NSwgMTAxNTMsIDEwMTYyLCAKLSAgICAxMDE2OCwgMTAxNzUsIDEwMTgyLCAxMDE4NywgMTAxOTIsIDEwMTk2LCAxMDIwMywgMTAyMTAsIDEwMjE5LCAxMDIyOCwgCi0gICAgMTAyMzEsIDEwMjM2LCAxMDI0MSwgMCwgMTAyNDYsIDEwMjUwLCAxMDI1NCwgMTAyNjAsIDEwMjY0LCAxMDI2OCwgMTAyNzQsIAotICAgIDEwMjc4LCAxMDI4NiwgMTAyOTAsIDEwMjk0LCAxMDI5OCwgMTAzMDIsIDEwMzA2LCAxMDMxMiwgMTAzMTYsIDEwMzIyLCAKLSAgICAxMDMyNiwgMTAzMzAsIDEwMzM0LCAxMDMzOCwgMTAzNDIsIDEwMzQ3LCAxMDM1MCwgMTAzNTQsIDEwMzYwLCAxMDM2NCwgCi0gICAgMTAzNjgsIDEwMzcyLCAxMDM3NiwgMTAzODAsIDEwMzg2LCAxMDM5MiwgMTAzOTgsIDEwNDAyLCAxMDQwNiwgMTA0MTEsIAotICAgIDEwNDE1LCAxMDQxOSwgMTA0MjQsIDEwNDI4LCAxMDQzMiwgMTA0MzksIDEwNDQ2LCAxMDQ1MCwgMTA0NTQsIDEwNDU5LCAKLSAgICAxMDQ2MywgMTA0NjcsIDEwNDcwLCAxMDQ3NSwgMTA0NzgsIDEwNDgxLCAxMDQ4NiwgMTA0OTEsIDEwNDk1LCAxMDQ5OSwgCi0gICAgMTA1MDUsIDEwNTExLCAxMDUxNCwgMCwgMCwgMTA1MTcsIDEwNTIzLCAxMDUyOSwgMTA1MzUsIDEwNTQ1LCAxMDU1NywgCi0gICAgMTA1NjksIDEwNTg2LCAxMDU5OCwgMTA2MDksIDEwNjE3LCAxMDYyNCwgMTA2MzUsIDEwNjUwLCAxMDY2MSwgMTA2NjcsIAotICAgIDEwNjc2LCAxMDY4NCwgMTA2OTYsIDEwNzA2LCAxMDcxNCwgMTA3MjYsIDEwNzMzLCAxMDc0MSwgMTA3NTMsIDEwNzU5LCAKLSAgICAxMDc2NSwgMTA3NzMsIDEwNzgxLCAxMDc4OSwgMTA3OTUsIDEwODA1LCAxMDgxMiwgMTA4MjIsIDEwODMyLCAxMDg0NSwgCi0gICAgMTA4NTksIDEwODczLCAxMDg4MywgMTA4OTQsIDEwOTA1LCAxMDkxOCwgMTA5MzEsIDEwOTQ1LCAxMDk1NywgMTA5NjksIAotICAgIDEwOTgyLCAxMDk5NSwgMTEwMDcsIDExMDIwLCAxMTAyOSwgMTEwMzcsIDExMDQyLCAxMTA0NywgMTEwNTIsIDExMDU3LCAKLSAgICAxMTA2MiwgMTEwNjcsIDExMDcyLCAxMTA3NywgMTEwODIsIDExMDg3LCAxMTA5MiwgMTEwOTcsIDExMTAyLCAxMTEwNywgCi0gICAgMTExMTIsIDExMTE3LCAxMTEyMiwgMTExMjcsIDExMTMyLCAxMTEzNywgMTExNDIsIDExMTQ3LCAxMTE1MiwgMTExNTcsIAotICAgIDExMTYyLCAxMTE2NywgMTExNzIsIDExMTc3LCAxMTE4MiwgMTExODcsIDExMTkyLCAxMTE5NywgMTEyMDEsIDExMjA2LCAKLSAgICAxMTIxMSwgMTEyMTYsIDExMjIxLCAxMTIyNiwgMTEyMzAsIDExMjM0LCAxMTIzOCwgMTEyNDIsIDExMjQ2LCAxMTI1MCwgCi0gICAgMTEyNTQsIDExMjU4LCAxMTI2MiwgMTEyNjYsIDExMjcwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAxMTI3NSwgMTEyODAsIDExMjg0LCAxMTI4OCwgMTEyOTIsIDExMjk2LCAxMTMwMCwgMTEzMDQsIDExMzA4LCAxMTMxMiwgCi0gICAgMTEzMTYsIDExMzIwLCAxMTMyNSwgMTEzMjksIDExMzMzLCAxMTMzNywgMTEzNDIsIDExMzQ2LCAxMTM1MSwgMTEzNTYsIAotICAgIDExMzYxLCAxMTM2NSwgMTEzNzAsIDExMzc1LCAxMTM4MCwgMTEzODUsIDExMzg5LCAxMTM5NCwgMTEzOTgsIDExNDAzLCAKLSAgICAxMTQwOCwgMTE0MTIsIDExNDE3LCAxMTQyNCwgMTE0MjgsIDExNDMzLCAxMTQzNywgMTE0NDEsIDExNDQ2LCAxMTQ1MCwgCi0gICAgMTE0NTcsIDExNDY0LCAxMTQ3MSwgMTE0NzcsIDExNDg1LCAxMTQ5MywgMTE1MDIsIDExNTEwLCAxMTUxNywgMTE1MjQsIAotICAgIDExNTMyLCAxMTUzOCwgMTE1NDQsIDExNTUwLCAxMTU1NiwgMTE1NjMsIDExNTY4LCAxMTU3MiwgMTE1NzcsIDAsIDAsIDAsIAotICAgIDAsIDAsIDExNTgxLCAxMTU4NiwgMTE1OTEsIDExNTk2LCAxMTYwMSwgMTE2MDYsIDExNjExLCAxMTYxNiwgMTE2MjEsIAotICAgIDExNjI2LCAxMTYzMSwgMTE2MzYsIDExNjQxLCAxMTY0NiwgMTE2NTEsIDExNjU2LCAxMTY2MSwgMTE2NjYsIDExNjcxLCAKLSAgICAxMTY3NiwgMTE2ODEsIDExNjg2LCAxMTY5MSwgMTE2OTYsIDExNzAxLCAxMTcwNiwgMTE3MTEsIDExNzE5LCAxMTcyNiwgCi0gICAgMTE3MzIsIDExNzM3LCAxMTc0NSwgMTE3NTIsIDExNzU4LCAxMTc2NSwgMTE3NzEsIDExNzc2LCAxMTc4MywgMTE3OTAsIAotICAgIDExNzk2LCAxMTgwMSwgMTE4MDYsIDExODEyLCAxMTgxNywgMTE4MjIsIDExODI4LCAwLCAwLCAxMTgzMywgMTE4MzksIAotICAgIDExODQ1LCAxMTg1MSwgMTE4NTcsIDExODYzLCAxMTg2OSwgMTE4NzQsIDExODgyLCAxMTg4OCwgMTE4OTQsIDExOTAwLCAKLSAgICAxMTkwNiwgMTE5MTIsIDExOTIwLCAwLCAxMTkyNiwgMTE5MzEsIDExOTM2LCAxMTk0MSwgMTE5NDYsIDExOTUxLCAxMTk1NiwgCi0gICAgMTE5NjEsIDExOTY2LCAxMTk3MSwgMTE5NzYsIDExOTgxLCAxMTk4NiwgMTE5OTEsIDExOTk2LCAxMjAwMSwgMTIwMDYsIAotICAgIDEyMDExLCAxMjAxNiwgMTIwMjEsIDEyMDI2LCAxMjAzMSwgMTIwMzYsIDEyMDQxLCAxMjA0NiwgMTIwNTEsIDEyMDU2LCAKLSAgICAxMjA2MSwgMCwgMCwgMTIwNjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM2MCwgMzY0LCAzNjksIAorICAgIDM3MiwgMzc1LCAzNzgsIDM4MSwgMzg0LCAzODcsIDM4OSwgMzkyLCAzOTgsIDQwNiwgNDA5LCA0MTMsIDQxNiwgNDE4LCAKKyAgICA0MjEsIDQyNCwgNDI3LCA0MzAsIDQzNCwgNDM3LCA0NDAsIDQ0NCwgNDQ2LCA0NDksIDQ1NSwgNDYzLCA0NzAsIDQ3NywgCisgICAgNDg0LCA0ODksIDQ5NiwgNTAyLCA1MDksIDUxNiwgNTIzLCA1MzEsIDUzNiwgNTQ0LCA1NTEsIDU1NywgNTY0LCA1NzEsIAorICAgIDU3OSwgNTg2LCA1OTQsIDYwMiwgNjA3LCA2MTUsIDYyMiwgNjI4LCA2MzUsIDY0MiwgNjQ5LCA2NTIsIDY1OCwgNjY1LCAKKyAgICA2NzEsIDY3OCwgNjg1LCA2OTIsIDY5NywgNzAzLCA3MTAsIDcxNiwgNzIzLCA3MzAsIDczNywgNzQ1LCA3NTAsIDc1OCwgCisgICAgNzY1LCA3NzEsIDc3OCwgNzg1LCA3OTMsIDgwMCwgODA4LCA4MTYsIDgyMSwgODI5LCA4MzYsIDg0MiwgODQ5LCA4NTYsIAorICAgIDg2MywgODY2LCA4NzIsIDg3OSwgODg1LCA4OTIsIDg5OSwgOTA2LCA5MTEsIDkxOSwgOTI2LCA5MzMsIDk0MCwgOTQ3LCAKKyAgICA5NTQsIDk2MSwgOTY4LCA5NzUsIDk4MywgOTkxLCA5OTksIDEwMDcsIDEwMTUsIDEwMjMsIDEwMzEsIDEwMzksIDEwNDYsIAorICAgIDEwNTMsIDEwNjAsIDEwNjcsIDEwNzQsIDEwODEsIDEwODgsIDEwOTUsIDExMDIsIDExMDksIDExMTYsIDExMjMsIDExMzEsIAorICAgIDExMzksIDExNDcsIDExNTUsIDExNjMsIDExNzEsIDExNzksIDExODcsIDExOTUsIDEyMDMsIDEyMTAsIDEyMTcsIDEyMjUsIAorICAgIDEyMzMsIDEyNDEsIDEyNDksIDEyNTcsIDEyNjUsIDEyNzMsIDEyODEsIDEyODksIDEyOTUsIDEzMDAsIDEzMDUsIDEzMTMsIAorICAgIDEzMjEsIDEzMjksIDEzMzcsIDEzNDIsIDEzNDksIDEzNTYsIDEzNjQsIDEzNzIsIDEzODAsIDEzODgsIDEzOTgsIDE0MDgsIAorICAgIDE0MTUsIDE0MjIsIDE0MjksIDE0MzYsIDE0NDQsIDE0NTIsIDE0NjAsIDE0NjgsIDE0NzksIDE0ODQsIDE0ODksIDE0OTYsIAorICAgIDE1MDMsIDE1MTAsIDE1MTcsIDE1MjQsIDE1MzEsIDE1MzYsIDE1NDEsIDE1NDgsIDE1NTUsIDE1NjMsIDE1NzEsIDE1NzksIAorICAgIDE1ODcsIDE1OTQsIDE2MDEsIDE2MDksIDE2MTcsIDE2MjUsIDE2MzMsIDE2NDEsIDE2NDksIDE2NTcsIDE2NjUsIDE2NzMsIAorICAgIDE2ODEsIDE2ODgsIDE2OTUsIDE3MDIsIDE3MDksIDE3MTYsIDE3MjMsIDE3MzAsIDE3MzcsIDE3NDUsIDE3NTMsIDE3NjAsIAorICAgIDE3NjcsIDE3NzQsIDE3ODEsIDE3ODksIDE3OTcsIDE4MDUsIDE4MTMsIDE4MjEsIDE4MjgsIDE4MzUsIDE4NDMsIDE4NTEsIAorICAgIDE4NTksIDE4NjcsIDE4NzIsIDE4NzgsIDE4ODQsIDE4OTEsIDE4OTgsIDE5MDMsIDE5MDgsIDE5MTQsIDE5MjEsIDE5MjgsIAorICAgIDE5MzUsIDE5NDIsIDE5NTAsIDE5NTgsIDE5NjQsIDE5NzAsIDE5NzUsIDE5ODEsIDE5ODgsIDE5OTUsIDIwMDIsIDIwMDcsIAorICAgIDIwMTIsIDIwMTcsIDIwMjQsIDIwMzEsIDIwMzgsIDIwNDUsIDIwNTIsIDIwNTgsIDIwNjYsIDIwNzYsIDIwODUsIDIwOTIsIAorICAgIDIwOTksIDIxMDQsIDIxMDksIDIxMTYsIDIxMjMsIDIxMjcsIDIxMzIsIDIxMzcsIDIxNDIsIDIxNTAsIDIxNTksIDIxNjYsIAorICAgIDIxNzMsIDIxODIsIDIxODksIDIxOTYsIDIyMDEsIDIyMDgsIDIyMTUsIDIyMjIsIDIyMjksIDIyMzYsIDIyNDEsIDIyNDgsIAorICAgIDIyNTUsIDIyNjMsIDIyNjgsIDIyNzMsIDIyNzgsIDIyODgsIDIyOTIsIDIyOTgsIDIzMDQsIDIzMTAsIDIzMTYsIDIzMjQsIAorICAgIDIzMzcsIDIzNDUsIDIzNTAsIDIzNjAsIDIzNjUsIDIzNzAsIDIzODAsIDIzODUsIDIzOTIsIDIzOTksIDI0MDcsIDI0MTUsIAorICAgIDI0MjIsIDI0MjksIDI0MzYsIDI0NDMsIDI0NTMsIDI0NjMsIDI0NzIsIDI0ODEsIDI0OTEsIDI1MDEsIDI1MTEsIDI1MjEsIAorICAgIDI1MjYsIDI1MzYsIDI1NDYsIDI1NTYsIDI1NjYsIDI1NzQsIDI1ODIsIDI1ODksIDI1OTYsIDI2MDQsIDI2MTIsIDI2MjAsIAorICAgIDI2MjgsIDI2MzUsIDI2NDIsIDI2NTIsIDI2NjIsIDI2NzAsIDI2NzgsIDI2ODYsIDI2OTEsIDI3MDEsIDI3MDYsIDI3MTMsIAorICAgIDI3MjAsIDI3MjUsIDI3MzAsIDI3MzgsIDI3NDYsIDI3NTYsIDI3NjYsIDI3NzMsIDI3ODAsIDI3ODksIDI3OTgsIDI4MDYsIAorICAgIDI4MTQsIDI4MjMsIDI4MzIsIDI4NDAsIDI4NDgsIDI4NTcsIDI4NjYsIDI4NzUsIDI4ODQsIDI4OTQsIDI5MDQsIDI5MTIsIAorICAgIDI5MjAsIDI5MjksIDI5MzgsIDI5NDcsIDI5NTYsIDI5NjYsIDI5NzYsIDI5ODQsIDI5OTIsIDMwMDEsIDMwMTAsIDMwMTksIAorICAgIDMwMjgsIDMwMzcsIDMwNDYsIDMwNTEsIDMwNTYsIDMwNjQsIDMwNzIsIDMwODIsIDMwOTAsIDMwOTUsIDMxMDAsIDMxMDcsIAorICAgIDMxMTQsIDMxMjEsIDMxMjgsIDMxMzUsIDMxNDIsIDMxNTIsIDMxNjIsIDMxNzIsIDMxODIsIDMxODksIDMxOTYsIDMyMDYsIAorICAgIDMyMTYsIDMyMjQsIDMyMzIsIDMyNDAsIDMyNDgsIDMyNTYsIDMyNjMsIDMyNzAsIDMyNzcsIDMyODMsIDMyOTAsIDMyOTcsIAorICAgIDMzMDQsIDMzMTMsIDMzMjMsIDMzMzMsIDMzNDAsIDMzNDcsIDMzNTMsIDMzNTgsIDMzNjQsIDMzNzAsIDMzNzYsIDMzODMsIAorICAgIDMzOTAsIDM0MDEsIDM0MTEsIDM0MTgsIDM0MjUsIDM0MzIsIDM0MzksIDM0NDQsIDM0NDksIDM0NTUsIDM0NjEsIDM0NjcsIAorICAgIDM0NzUsIDM0ODMsIDM0OTAsIDM0OTYsIDM1MDEsIDM1MDgsIDM1MTQsIDM1MjIsIDM1MzIsIDM1NDIsIDM1NTEsIDM1NTgsIAorICAgIDM1NjQsIDM1NzAsIDM1NzUsIDM1ODIsIDM1ODgsIDM1OTUsIDM2MDIsIDM2MDksIDM2MTQsIDM2MTksIDM2MjksIDM2MzcsIAorICAgIDM2NDYsIDM2NTEsIDM2NTcsIDM2NjcsIDM2NzQsIDM2ODIsIDM2OTEsIDM2OTcsIDM3MDMsIDM3MDksIDM3MTYsIDM3MjEsIAorICAgIDM3MjYsIDM3MzYsIDM3NDQsIDM3NTMsIDM3NjEsIDM3NjksIDM3NzksIDM3ODQsIDM3OTEsIDM3OTgsIDM4MDMsIDM4MTUsIAorICAgIDM4MjQsIDM4MzIsIDM4MzgsIDM4NDcsIDM4NTIsIDM4NTcsIDM4NjQsIDM4NzAsIDM4NzYsIDM4ODIsIDM4ODgsIDM4OTcsIAorICAgIDM5MDUsIDM5MTAsIDM5MTgsIDM5MjQsIDM5MzIsIDM5NDAsIDM5NDYsIDM5NTIsIDM5NTgsIDM5NjYsIDM5NzQsIDM5ODAsIAorICAgIDM5ODgsIDM5OTQsIDM5OTksIDQwMDYsIDQwMTQsIDQwMjQsIDQwMzEsIDQwMzgsIDQwNDgsIDQwNTUsIDQwNjIsIDQwNzIsIAorICAgIDQwNzksIDQwODYsIDQwOTMsIDQwOTksIDQxMDUsIDQxMTQsIDQxMjYsIDQxMzEsIDQxMzgsIDQxNDMsIDQxNDcsIDQxNTIsIAorICAgIDQxNjAsIDQxNjcsIDQxNzIsIDQxNzcsIDQxODEsIDQxODYsIDQxOTEsIDQxOTUsIDQyMDEsIDQyMDcsIDQyMTMsIDQyMTksIAorICAgIDQyMjcsIDQyMzIsIDQyMzcsIDQyNDIsIDQyNDcsIDQyNTMsIDQyNTUsIDQyNjAsIDQyNjQsIDQyNzAsIDQyNzYsIDQyODIsIAorICAgIDQyODcsIDQyOTQsIDQzMDEsIDQzMDcsIDQzMTQsIDQzMjIsIDQzMzAsIDQzMzUsIDQzNDAsIDQzNDQsIDQzNDksIDQzNTEsIAorICAgIDQzNTMsIDQzNTYsIDQzNTgsIDQzNjEsIDQzNjYsIDQzNzEsIDQzNzcsIDQzODIsIDQzODYsIDQzOTAsIDQzOTUsIDQ0MDQsIAorICAgIDQ0MTAsIDQ0MTUsIDQ0MjEsIDQ0MjYsIDQ0MzIsIDQ0NDAsIDQ0NDgsIDQ0NTIsIDQ0NTYsIDQ0NjEsIDQ0NjcsIDQ0NzMsIAorICAgIDQ0NzksIDQ0ODUsIDQ0OTAsIDQ0OTgsIDQ1MDcsIDQ1MTYsIDQ1MjEsIDQ1MjcsIDQ1MzQsIDQ1NDEsIDQ1NDgsIDQ1NTUsIAorICAgIDQ1NTksIDQ1NjUsIDQ1NzAsIDQ1NzUsIDQ1ODAsIDQ1ODUsIDQ1ODgsIDQ1OTEsIDQ1OTQsIDQ1OTcsIDQ2MDAsIDQ2MDMsIAorICAgIDQ2MDcsIDQ2MTEsIDQ2MTcsIDQ2MjAsIDQ2MjUsIDQ2MzEsIDQ2MzcsIDQ2NDAsIDQ2NDUsIDQ2NTAsIDQ2NTQsIDQ2NjAsIAorICAgIDQ2NjYsIDQ2NzIsIDQ2NzgsIDQ2ODMsIDQ2ODgsIDQ2OTMsIDQ2OTYsIDQ3MDIsIDQ3MDcsIDQ3MTIsIDQ3MTYsIDQ3MjEsIAorICAgIDQ3MjcsIDQ3MzMsIDQ3MzYsIDQ3NDAsIDQ3NDQsIDQ3NDgsIDQ3NTEsIDQ3NTQsIDQ3NTksIDQ3NjMsIDQ3NzAsIDQ3NzQsIAorICAgIDQ3ODAsIDQ3ODQsIDQ3OTAsIDQ3OTQsIDQ3OTgsIDQ4MDIsIDQ4MDcsIDQ4MTIsIDQ4MTksIDQ4MjUsIDQ4MzIsIDQ4MzgsIAorICAgIDQ4NDQsIDQ4NTAsIDQ4NTMsIDQ4NTcsIDQ4NjEsIDQ4NjUsIDQ4NjksIDQ4NzQsIDQ4NzksIDQ4ODMsIDQ4ODcsIDQ4OTMsIAorICAgIDQ4OTcsIDQ5MDEsIDQ5MDYsIDQ5MTIsIDQ5MTcsIDQ5MjMsIDQ5MjcsIDQ5MzQsIDQ5MzksIDQ5NDMsIDQ5NDgsIDQ5NTMsIAorICAgIDQ5NTksIDQ5NjIsIDQ5NjYsIDQ5NzEsIDQ5NzYsIDQ5ODUsIDQ5OTEsIDQ5OTYsIDUwMDAsIDUwMDUsIDUwMDksIDUwMTQsIAorICAgIDUwMTgsIDUwMjIsIDUwMjcsIDUwMzEsIDUwMzcsIDUwNDIsIDUwNDcsIDUwNTIsIDUwNTcsIDUwNjIsIDUwNjcsIDUwNzMsIAorICAgIDUwNzksIDUwODUsIDUwOTEsIDUwOTYsIDUxMDIsIDUxMDgsIDUxMTQsIDUxMTksIDUxMjQsIDUxMzEsIDUxMzgsIDUxNDIsIAorICAgIDUxNDgsIDUxNTUsIDAsIDAsIDUxNjIsIDUxNjUsIDUxNzQsIDUxODMsIDUxOTQsIDUxOTgsIDAsIDAsIDAsIDAsIDUyMDMsIAorICAgIDUyMDYsIDUyMTEsIDUyMTksIDUyMjQsIDUyMzIsIDUyNDAsIDAsIDUyNDgsIDAsIDUyNTYsIDUyNjQsIDUyNzIsIDUyODMsIAorICAgIDUyODgsIDUyOTMsIDUyOTgsIDUzMDMsIDUzMDgsIDUzMTMsIDUzMTgsIDUzMjMsIDUzMjgsIDUzMzMsIDUzMzgsIDUzNDMsIAorICAgIDUzNDgsIDUzNTMsIDUzNTgsIDUzNjMsIDAsIDUzNjgsIDUzNzMsIDUzNzgsIDUzODMsIDUzODgsIDUzOTMsIDUzOTgsIAorICAgIDU0MDMsIDU0MTEsIDU0MTksIDU0MjcsIDU0MzUsIDU0NDMsIDU0NTEsIDU0NjIsIDU0NjcsIDU0NzIsIDU0NzcsIDU0ODIsIAorICAgIDU0ODcsIDU0OTIsIDU0OTcsIDU1MDIsIDU1MDcsIDU1MTIsIDU1MTcsIDU1MjIsIDU1MjcsIDU1MzIsIDU1MzcsIDU1NDIsIAorICAgIDU1NDcsIDU1NTMsIDU1NTgsIDU1NjMsIDU1NjgsIDU1NzMsIDU1NzgsIDU1ODMsIDU1ODgsIDU1OTYsIDU2MDQsIDU2MTIsIAorICAgIDU2MjAsIDU2MjgsIDU2MzMsIDU2MzcsIDU2NDEsIDU2NDgsIDU2NTgsIDU2NjgsIDU2NzIsIDU2NzYsIDU2ODAsIDU2ODYsIAorICAgIDU2OTMsIDU2OTcsIDU3MDIsIDU3MDYsIDU3MTEsIDU3MTUsIDU3MjAsIDU3MjQsIDU3MjksIDU3MzQsIDU3MzksIDU3NDQsIAorICAgIDU3NDksIDU3NTQsIDU3NTksIDU3NjQsIDU3NjksIDU3NzQsIDU3NzksIDU3ODQsIDU3ODksIDU3OTQsIDU3OTksIDU4MDMsIAorICAgIDU4MDcsIDU4MTMsIDU4MTcsIDU4MjIsIDU4MjgsIDU4MzYsIDU4NDEsIDU4NDYsIDU4NTMsIDU4NTgsIDU4NjMsIDU4NzAsIAorICAgIDU4NzksIDU4ODgsIDU4OTksIDU5MDcsIDU5MTIsIDU5MTcsIDU5MjIsIDU5MjksIDU5MzQsIDU5NDAsIDU5NDUsIDU5NTAsIAorICAgIDU5NTUsIDU5NjAsIDU5NjUsIDU5NzAsIDU5NzgsIDU5ODQsIDU5ODksIDU5OTMsIDU5OTgsIDYwMDMsIDYwMDgsIDYwMTMsIAorICAgIDYwMTgsIDYwMjMsIDYwMjgsIDYwMzIsIDYwMzgsIDYwNDIsIDYwNDcsIDYwNTIsIDYwNTcsIDYwNjEsIDYwNjYsIDYwNzEsIAorICAgIDYwNzYsIDYwODEsIDYwODUsIDYwOTAsIDYwOTQsIDYwOTksIDYxMDQsIDYxMDksIDYxMTQsIDYxMjAsIDYxMjUsIDYxMzEsIAorICAgIDYxMzUsIDYxNDAsIDYxNDQsIDYxNDgsIDYxNTMsIDYxNTgsIDYxNjMsIDYxNjgsIDYxNzMsIDYxNzgsIDYxODMsIDYxODcsIAorICAgIDYxOTMsIDYxOTcsIDYyMDIsIDYyMDcsIDYyMTIsIDYyMTYsIDYyMjEsIDYyMjYsIDYyMzEsIDYyMzYsIDYyNDAsIDYyNDUsIAorICAgIDYyNDksIDYyNTQsIDYyNTksIDYyNjQsIDYyNjksIDYyNzUsIDYyODAsIDYyODYsIDYyOTAsIDYyOTUsIDYyOTksIDYzMDcsIAorICAgIDYzMTIsIDYzMTcsIDYzMjIsIDYzMjksIDYzMzQsIDYzNDAsIDYzNDUsIDYzNTAsIDYzNTUsIDYzNjAsIDYzNjUsIDYzNzAsIAorICAgIDYzNzgsIDYzODQsIDYzODksIDYzOTQsIDYzOTksIDY0MDQsIDY0MDksIDY0MTUsIDY0MjEsIDY0MjgsIDY0MzUsIDY0NDQsIAorICAgIDY0NTMsIDY0NjAsIDY0NjcsIDY0NzYsIDY0ODUsIDY0OTAsIDY0OTUsIDY1MDAsIDY1MDUsIDY1MTAsIDY1MTUsIDY1MjAsIAorICAgIDY1MjUsIDY1MzYsIDY1NDcsIDY1NTIsIDY1NTcsIDY1NjQsIDY1NzEsIDY1NzksIDY1ODcsIDY1OTIsIDY1OTcsIDY2MDIsIAorICAgIDY2MDcsIDY2MTEsIDY2MTUsIDY2MTksIDY2MjUsIDY2MzEsIDY2MzUsIDY2NDIsIDY2NDcsIDY2NTcsIDY2NjcsIDY2NzMsIAorICAgIDY2NzksIDY2ODcsIDY2OTUsIDY3MDMsIDY3MTEsIDY3MTgsIDY3MjUsIDY3MzQsIDY3NDMsIDY3NTEsIDY3NTksIDY3NjcsIAorICAgIDY3NzUsIDY3ODMsIDY3OTEsIDY3OTksIDY4MDcsIDY4MTQsIDY4MjEsIDY4MjcsIDY4MzMsIDY4NDEsIDY4NDksIDY4NTYsIAorICAgIDY4NjMsIDY4NzIsIDY4ODEsIDY4ODcsIDY4OTMsIDY5MDEsIDY5MDksIDY5MTcsIDY5MjUsIDY5MzEsIDY5MzcsIDY5NDUsIAorICAgIDY5NTMsIDY5NjEsIDY5NjksIDY5NzYsIDY5ODMsIDY5OTEsIDY5OTksIDcwMDcsIDcwMTUsIDcwMjAsIDcwMjUsIDcwMzIsIAorICAgIDcwMzksIDcwNDksIDcwNTksIDcwNjMsIDcwNzEsIDcwNzksIDcwODYsIDcwOTMsIDcxMDEsIDcxMDksIDcxMTYsIDcxMjMsIAorICAgIDcxMzEsIDcxMzksIDcxNDYsIDcxNTMsIDcxNjEsIDcxNjksIDcxNzQsIDcxODEsIDcxODgsIDcxOTUsIDcyMDIsIDcyMDgsIAorICAgIDcyMTQsIDcyMjIsIDcyMzAsIDcyMzUsIDcyNDAsIDcyNDgsIDcyNTYsIDcyNjQsIDcyNzIsIDcyODAsIDcyODgsIDcyOTUsIAorICAgIDczMDIsIDczMTAsIDczMTgsIDczMjYsIDczMzQsIDczNDEsIDczNDgsIDczNTQsIDczNjAsIDczNjksIDczNzgsIDczODUsIAorICAgIDczOTIsIDczOTksIDc0MDYsIDc0MTMsIDc0MjAsIDc0MjcsIDc0MzQsIDc0NDIsIDc0NTAsIDc0NTgsIDc0NjYsIDc0NzQsIAorICAgIDc0ODIsIDc0OTIsIDc1MDIsIDc1MDksIDc1MTYsIDc1MjMsIDc1MzAsIDc1MzcsIDc1NDQsIDc1NTEsIDc1NTgsIDc1NjUsIAorICAgIDc1NzIsIDc1NzksIDc1ODYsIDc1OTMsIDc2MDAsIDc2MDcsIDc2MTQsIDc2MjEsIDc2MjgsIDc2MzUsIDc2NDIsIDc2NDksIAorICAgIDc2NTYsIDc2NjMsIDc2NzAsIDc2NzUsIDc2ODAsIDc2ODUsIDc2OTAsIDc2OTUsIDc3MDAsIDc3MDUsIDc3MTAsIDc3MTUsIAorICAgIDc3MjAsIDc3MjYsIDc3MzIsIDc3NDEsIDc3NTAsIDc3NTksIDc3NjgsIDc3NzYsIDc3ODQsIDc3OTIsIDc4MDAsIDc4MDgsIAorICAgIDc4MTYsIDc4MjEsIDc4MjYsIDc4MzEsIDc4MzYsIDc4NDQsIDAsIDc4NTIsIDc4NTcsIDc4NjIsIDc4NjcsIDc4NzIsIAorICAgIDc4NzcsIDc4ODIsIDc4ODcsIDc4OTIsIDc4OTYsIDc5MDEsIDc5MDYsIDc5MTEsIDc5MTYsIDc5MjEsIDc5MjYsIDc5MzEsIAorICAgIDc5MzYsIDc5NDEsIDc5NDYsIDc5NTEsIDc5NTYsIDc5NjEsIDc5NjYsIDc5NzEsIDc5NzYsIDc5ODEsIDc5ODYsIDc5OTEsIAorICAgIDc5OTYsIDgwMDEsIDgwMDYsIDgwMTEsIDgwMTYsIDgwMjEsIDgwMjYsIDgwMzEsIDgwMzYsIDAsIDAsIDgwNDEsIDgwNDgsIAorICAgIDgwNTEsIDgwNTUsIDgwNTksIDgwNjIsIDgwNjYsIDAsIDgwNzAsIDgwNzUsIDgwODAsIDgwODUsIDgwOTAsIDgwOTUsIAorICAgIDgxMDAsIDgxMDUsIDgxMTAsIDgxMTQsIDgxMTksIDgxMjQsIDgxMjksIDgxMzQsIDgxMzksIDgxNDQsIDgxNDksIDgxNTQsIAorICAgIDgxNTksIDgxNjQsIDgxNjksIDgxNzQsIDgxNzksIDgxODQsIDgxODksIDgxOTQsIDgxOTksIDgyMDQsIDgyMDksIDgyMTQsIAorICAgIDgyMTksIDgyMjQsIDgyMjksIDgyMzQsIDgyMzksIDgyNDQsIDgyNDksIDgyNTQsIDgyNTksIDAsIDgyNjYsIDgyNzEsIDAsIAorICAgIDAsIDgyNzQsIDgyODAsIDgyODYsIDAsIDgyOTAsIDgyOTUsIDgzMDAsIDgzMDUsIDgzMTIsIDgzMTksIDgzMjQsIDgzMjksIAorICAgIDgzMzQsIDgzMzksIDgzNDQsIDgzNDksIDgzNTQsIDgzNjEsIDgzNjYsIDgzNzMsIDgzODAsIDgzODUsIDgzOTIsIDgzOTcsIAorICAgIDg0MDIsIDg0MDcsIDg0MTQsIDg0MTksIDg0MjQsIDg0MzEsIDg0NDAsIDg0NDUsIDg0NTAsIDg0NTUsIDg0NjAsIDg0NjYsIAorICAgIDg0NzEsIDg0NzgsIDg0ODUsIDg0OTIsIDg0OTcsIDg1MDIsIDg1MDcsIDg1MTIsIDg1MTcsIDg1MjIsIDg1MzIsIDg1MzcsIAorICAgIDg1NDYsIDg1NTEsIDg1NTYsIDg1NjEsIDg1NjYsIDg1NzMsIDg1ODAsIDg1ODcsIDg1OTMsIDg1OTksIDg2MDYsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDg2MTMsIDg2MTcsIDg2MjEsIDg2MjUsIDg2MjksIDg2MzMsIDg2MzcsIDg2NDEsIDg2NDUsIAorICAgIDg2NDksIDg2NTMsIDg2NTgsIDg2NjIsIDg2NjYsIDg2NzEsIDg2NzUsIDg2ODAsIDg2ODQsIDg2ODgsIDg2OTIsIDg2OTcsIAorICAgIDg3MDEsIDg3MDYsIDg3MTAsIDg3MTQsIDg3MTgsIDg3MjIsIDAsIDAsIDAsIDAsIDAsIDg3MjYsIDg3MzMsIDg3NDEsIAorICAgIDg3NDgsIDg3NTMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDg3NTgsIDg3NjEsIDg3NjUsIDg3NzAsIAorICAgIDg3NzQsIDg3NzgsIDg3ODIsIDg3ODgsIDg3OTQsIDg3OTcsIDg4MDQsIDg4MTMsIDg4MTYsIDg4MTksIDg4MjQsIDg4MzAsIAorICAgIDg4MzQsIDg4NDIsIDg4NDgsIDg4NTQsIDg4NjIsIDg4NjYsIDg4NzEsIDg4ODIsIDg4ODcsIDg4OTEsIDg4OTUsIDg4OTksIAorICAgIDg5MDIsIDAsIDg5MDUsIDg5MTIsIDg5MTYsIDg5MjIsIDg5MjYsIDg5MzMsIDg5NDAsIDg5NDgsIDg5NTUsIDg5NjIsIAorICAgIDg5NjYsIDg5NzAsIDg5NzYsIDg5ODAsIDg5ODQsIDg5ODgsIDg5OTIsIDg5OTYsIDkwMDAsIDkwMDQsIDkwMDgsIDkwMTIsIAorICAgIDkwMTYsIDkwMjAsIDkwMjQsIDkwMjgsIDkwMzIsIDkwMzYsIDkwNDAsIDkwNDQsIDkwNTIsIDkwNjAsIDkwNzAsIDkwNzksIAorICAgIDkwODgsIDkwOTEsIDkwOTUsIDkwOTksIDkxMDMsIDkxMDcsIDkxMTEsIDkxMTUsIDkxMTksIDkxMjMsIDkxMjgsIDkxMzIsIAorICAgIDkxMzUsIDkxMzgsIDkxNDEsIDkxNDQsIDkxNDcsIDkxNTAsIDkxNTMsIDkxNTYsIDkxNjAsIDkxNjQsIDkxNjgsIDkxNzMsIAorICAgIDkxNzgsIDkxODQsIDkxODcsIDkxOTQsIDkyMDMsIDkyMDgsIDkyMTMsIDkyMjAsIDkyMjYsIDkyMzEsIDkyMzUsIDkyMzksIAorICAgIDkyNDMsIDkyNDcsIDkyNTEsIDkyNTUsIDkyNTksIDkyNjMsIDkyNjcsIDkyNzEsIDkyNzYsIDkyODEsIDkyODgsIDkyOTQsIAorICAgIDkzMDAsIDkzMDYsIDkzMTEsIDkzMjAsIDkzMjksIDkzMzQsIDkzNDEsIDkzNDgsIDkzNTUsIDkzNjIsIDkzNjYsIDkzNzAsIAorICAgIDkzNzQsIDkzODEsIDkzOTEsIDkzOTUsIDkzOTksIDk0MDMsIDk0MTAsIDk0MTgsIDk0MjIsIDk0MjYsIDk0MzMsIDk0MzcsIAorICAgIDk0NDEsIDk0NDUsIDk0NTIsIDk0NTksIDk0NzEsIDk0NzUsIDk0NzksIDk0ODMsIDk0OTMsIDk1MDIsIDk1MDYsIDk1MTQsIAorICAgIDk1MjEsIDk1MjgsIDk1MzcsIDk1NDgsIDk1NTYsIDk1NjAsIDk1NjksIDk1ODAsIDk1ODgsIDk2MDEsIDk2MDksIDk2MTcsIAorICAgIDk2MjUsIDk2MzMsIDk2MzksIDk2NDgsIDk2NTUsIDk2NTksIDk2NjcsIDk2NzEsIDk2NzgsIDk2ODYsIDk2OTAsIDk2OTYsIAorICAgIDk3MDMsIDk3MTAsIDk3MTQsIDk3MjIsIDk3MjYsIDk3MzMsIDk3MzcsIDk3NDUsIDk3NDksIDk3NTcsIDk3NjUsIDk3NzIsIAorICAgIDk3ODAsIDk3ODgsIDk3OTUsIDk4MDEsIDk4MDUsIDk4MTIsIDk4MjAsIDk4MjYsIDk4MzMsIDk4NDAsIDk4NDYsIDk4NTYsIAorICAgIDk4NjQsIDk4NzEsIDk4NzcsIDk4ODEsIDk4ODQsIDk4ODgsIDk4OTQsIDk5MDIsIDk5MDYsIDk5MTIsIDk5MTgsIDk5MjUsIAorICAgIDk5MzIsIDk5MzUsIDk5NDIsIDk5NDcsIDk5NTYsIDk5NjEsIDk5NjUsIDk5NzgsIDk5OTEsIDk5OTcsIDEwMDA0LCAxMDAwOSwgCisgICAgMTAwMTUsIDEwMDIwLCAxMDAyNiwgMTAwMzYsIDEwMDQzLCAxMDA1MiwgMTAwNjIsIDEwMDY4LCAxMDA3MywgMTAwNzgsIAorICAgIDEwMDgyLCAxMDA4NiwgMTAwOTEsIDEwMDk2LCAxMDEwMiwgMTAxMTAsIDEwMTE4LCAxMDEyOSwgMTAxMzQsIDEwMTQzLCAKKyAgICAxMDE1MiwgMTAxNTksIDEwMTY1LCAxMDE3MSwgMTAxNzcsIDEwMTgzLCAxMDE4OSwgMTAxOTUsIDEwMjAxLCAxMDIwNywgCisgICAgMTAyMTMsIDEwMjIwLCAxMDIyNywgMTAyMzQsIDEwMjQwLCAxMDI0OCwgMTAyNTcsIDEwMjY0LCAxMDI3MiwgMTAyODAsIAorICAgIDEwMjg2LCAxMDI5MiwgMTAyOTcsIDEwMzA1LCAxMDMxMywgMTAzMjMsIDEwMzMzLCAxMDMzNywgMTAzNDMsIDEwMzQ5LCAwLCAKKyAgICAxMDM1NSwgMTAzNjAsIDEwMzY1LCAxMDM3MiwgMTAzNzcsIDEwMzgyLCAxMDM4OSwgMTAzOTQsIDEwNDAzLCAxMDQwOCwgCisgICAgMTA0MTMsIDEwNDE4LCAxMDQyMywgMTA0MjgsIDEwNDM1LCAxMDQ0MCwgMTA0NDcsIDEwNDUyLCAxMDQ1NywgMTA0NjIsIAorICAgIDEwNDY3LCAxMDQ3MiwgMTA0NzgsIDEwNDgyLCAxMDQ4NywgMTA0OTQsIDEwNDk5LCAxMDUwNCwgMTA1MDksIDEwNTE0LCAKKyAgICAxMDUxOSwgMTA1MjYsIDEwNTMzLCAxMDU0MCwgMTA1NDUsIDEwNTUwLCAxMDU1NiwgMTA1NjEsIDEwNTY2LCAxMDU3MiwgCisgICAgMTA1NzcsIDEwNTgyLCAxMDU5MCwgMTA1OTgsIDEwNjAzLCAxMDYwOCwgMTA2MTQsIDEwNjE5LCAxMDYyNCwgMTA2MjgsIAorICAgIDEwNjM0LCAxMDYzOCwgMTA2NDIsIDEwNjQ4LCAxMDY1NCwgMTA2NTksIDEwNjY0LCAxMDY3MSwgMTA2NzgsIDEwNjgyLCAwLCAKKyAgICAwLCAxMDY4NiwgMTA2OTMsIDEwNzAwLCAxMDcwNywgMTA3MTcsIDEwNzI5LCAxMDc0MCwgMTA3NTYsIDEwNzY4LCAxMDc3OSwgCisgICAgMTA3ODcsIDEwNzk0LCAxMDgwNCwgMTA4MTksIDEwODMwLCAxMDgzNiwgMTA4NDUsIDEwODUzLCAxMDg2NCwgMTA4NzQsIAorICAgIDEwODgyLCAxMDg5MywgMTA5MDAsIDEwOTA4LCAxMDkxOSwgMTA5MjUsIDEwOTMxLCAxMDkzOSwgMTA5NDcsIDEwOTU1LCAKKyAgICAxMDk2MSwgMTA5NzEsIDEwOTc5LCAxMDk4OSwgMTA5OTksIDExMDEyLCAxMTAyNiwgMTEwNDAsIDExMDUwLCAxMTA2MSwgCisgICAgMTEwNzIsIDExMDg1LCAxMTA5OCwgMTExMTIsIDExMTI0LCAxMTEzNiwgMTExNDksIDExMTYyLCAxMTE3NCwgMTExODcsIAorICAgIDExMTk2LCAxMTIwNCwgMTEyMDksIDExMjE0LCAxMTIxOSwgMTEyMjQsIDExMjI5LCAxMTIzNCwgMTEyMzksIDExMjQ0LCAKKyAgICAxMTI0OSwgMTEyNTQsIDExMjU5LCAxMTI2NCwgMTEyNjksIDExMjc0LCAxMTI3OSwgMTEyODQsIDExMjg5LCAxMTI5NCwgCisgICAgMTEyOTksIDExMzA0LCAxMTMwOSwgMTEzMTQsIDExMzE5LCAxMTMyNCwgMTEzMjksIDExMzM0LCAxMTMzOSwgMTEzNDQsIAorICAgIDExMzQ5LCAxMTM1NCwgMTEzNTksIDExMzY0LCAxMTM2OCwgMTEzNzMsIDExMzc4LCAxMTM4MywgMTEzODgsIDExMzkzLCAKKyAgICAxMTM5NywgMTE0MDEsIDExNDA1LCAxMTQwOSwgMTE0MTMsIDExNDE3LCAxMTQyMSwgMTE0MjUsIDExNDI5LCAxMTQzMywgCisgICAgMTE0MzcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDExNDQyLCAxMTQ0NywgMTE0NTEsIAorICAgIDExNDU1LCAxMTQ1OSwgMTE0NjMsIDExNDY3LCAxMTQ3MSwgMTE0NzUsIDExNDc5LCAxMTQ4MywgMTE0ODcsIDExNDkyLCAKKyAgICAxMTQ5NiwgMTE1MDAsIDExNTA0LCAxMTUwOSwgMTE1MTMsIDExNTE4LCAxMTUyMywgMTE1MjgsIDExNTMyLCAxMTUzNywgCisgICAgMTE1NDIsIDExNTQ3LCAxMTU1MiwgMTE1NTcsIDExNTYyLCAxMTU2NywgMTE1NzIsIDExNTc3LCAxMTU4MSwgMTE1ODYsIAorICAgIDExNTkzLCAxMTU5NywgMTE2MDIsIDExNjA2LCAxMTYxMCwgMTE2MTUsIDExNjE5LCAxMTYyNiwgMTE2MzMsIDExNjQwLCAKKyAgICAxMTY0NywgMTE2NTUsIDExNjYzLCAxMTY3MiwgMTE2ODAsIDExNjg3LCAxMTY5NCwgMTE3MDIsIDExNzA4LCAxMTcxNCwgCisgICAgMTE3MjAsIDExNzI2LCAxMTczMywgMTE3MzgsIDExNzQyLCAxMTc0NywgMCwgMCwgMCwgMCwgMCwgMTE3NTEsIDExNzU2LCAKKyAgICAxMTc2MSwgMTE3NjYsIDExNzcxLCAxMTc3NiwgMTE3ODEsIDExNzg2LCAxMTc5MSwgMTE3OTYsIDExODAxLCAxMTgwNiwgCisgICAgMTE4MTEsIDExODE2LCAxMTgyMSwgMTE4MjYsIDExODMxLCAxMTgzNiwgMTE4NDEsIDExODQ2LCAxMTg1MSwgMTE4NTYsIAorICAgIDExODYxLCAxMTg2NiwgMTE4NzEsIDExODc2LCAxMTg4MSwgMTE4ODksIDExODk2LCAxMTkwMiwgMTE5MDcsIDExOTE1LCAKKyAgICAxMTkyMiwgMTE5MjgsIDExOTM1LCAxMTk0MSwgMTE5NDYsIDExOTUzLCAxMTk2MCwgMTE5NjYsIDExOTcxLCAxMTk3NiwgCisgICAgMTE5ODIsIDExOTg3LCAxMTk5MiwgMTE5OTgsIDAsIDAsIDEyMDAzLCAxMjAwOSwgMTIwMTUsIDEyMDIxLCAxMjAyNywgCisgICAgMTIwMzMsIDEyMDM5LCAxMjA0NCwgMTIwNTIsIDEyMDU4LCAxMjA2NCwgMTIwNzAsIDEyMDc2LCAxMjA4MiwgMTIwOTAsIDAsIAorICAgIDEyMDk2LCAxMjEwMSwgMTIxMDYsIDEyMTExLCAxMjExNiwgMTIxMjEsIDEyMTI2LCAxMjEzMSwgMTIxMzYsIDEyMTQxLCAKKyAgICAxMjE0NiwgMTIxNTEsIDEyMTU2LCAxMjE2MSwgMTIxNjYsIDEyMTcxLCAxMjE3NiwgMTIxODEsIDEyMTg2LCAxMjE5MSwgCisgICAgMTIxOTYsIDEyMjAxLCAxMjIwNiwgMTIyMTEsIDEyMjE2LCAxMjIyMSwgMTIyMjYsIDEyMjMxLCAwLCAwLCAxMjIzNiwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTIyNDAsIDEyMjQ5LCAxMjI1NywgCisgICAgMTIyNjQsIDEyMjcyLCAxMjI4NCwgMTIyOTEsIDEyMjk4LCAxMjMwNSwgMTIzMTcsIDEyMzI4LCAxMjMzNSwgMTIzNDMsIAorICAgIDEyMzQ5LCAxMjM1NCwgMTIzNjIsIDEyMzcwLCAxMjM3OCwgMTIzODQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyMzk0LCAxMjM5OSwgMTI0MDQsIDEyNDA5LCAKKyAgICAxMjQxNCwgMTI0MTksIDEyNDI0LCAxMjQyOSwgMTI0MzQsIDEyNDM5LCAxMjQ0NCwgMTI0NDksIDEyNDU0LCAxMjQ1OSwgCisgICAgMTI0NjQsIDEyNDY5LCAxMjQ3NCwgMTI0ODAsIDEyNDg2LCAxMjQ5MiwgMTI0OTcsIDEyNTAyLCAxMjUwNywgMTI1MTIsIAorICAgIDEyNTE4LCAxMjUyNywgMTI1MzUsIDEyNTQxLCAxMjU0OSwgMTI1NTUsIDEyNTU5LCAxMjU2MywgMTI1NjcsIDEyNTcyLCAKKyAgICAxMjU3NSwgMTI1NzksIDEyNTgyLCAxMjU4NiwgMTI1ODksIDEyNTkzLCAxMjU5NywgMTI2MDEsIDEyNjA2LCAxMjYxMSwgCisgICAgMTI2MTQsIDEyNjE4LCAxMjYyMywgMTI2MjgsIDEyNjMxLCAxMjYzNSwgMTI2MzgsIDEyNjQyLCAxMjY0NiwgMTI2NTAsIAorICAgIDEyNjU0LCAxMjY1OCwgMTI2NjIsIDEyNjY2LCAxMjY3MCwgMTI2NzQsIDEyNjc4LCAxMjY4MiwgMTI2ODYsIDEyNjkwLCAKKyAgICAxMjY5NCwgMTI2OTgsIDEyNzAyLCAxMjcwNiwgMTI3MTAsIDEyNzEzLCAxMjcxNywgMTI3MjAsIDEyNzI0LCAxMjcyOCwgCisgICAgMTI3MzIsIDEyNzM1LCAxMjczOCwgMTI3NDIsIDEyNzQ2LCAxMjc1MCwgMTI3NTQsIDEyNzU4LCAxMjc2MiwgMTI3NjYsIAorICAgIDEyNzcwLCAxMjc3NCwgMTI3NzcsIDEyNzgyLCAxMjc4NywgMTI3OTEsIDEyNzk1LCAxMjgwMCwgMTI4MDQsIDEyODA5LCAKKyAgICAxMjgxMywgMTI4MTgsIDEyODIzLCAxMjgyOSwgMTI4MzUsIDEyODQxLCAxMjg0NSwgMTI4NTAsIDEyODU2LCAxMjg2MiwgCisgICAgMTI4NjYsIDEyODcxLCAxMjg3NSwgMTI4ODEsIDEyODg2LCAxMjg4OSwgMTI4OTUsIDEyOTAxLCAxMjkwNiwgMTI5MTEsIAorICAgIDEyOTE4LCAxMjkyMywgMTI5MjgsIDEyOTMyLCAxMjkzNiwgMTI5NDAsIDEyOTQ0LCAxMjk0OCwgMTI5NTIsIDEyOTU2LCAKKyAgICAxMjk2MCwgMTI5NjUsIDEyOTcwLCAxMjk3NSwgMTI5ODEsIDEyOTg0LCAxMjk4OCwgMTI5OTIsIDEyOTk1LCAxMjk5OCwgCisgICAgMTMwMDEsIDEzMDA0LCAxMzAwNywgMTMwMTAsIDEzMDEzLCAxMzAxNiwgMTMwMTksIDEzMDIzLCAxMzAzMCwgMTMwMzUsIAorICAgIDEzMDM5LCAxMzA0MywgMTMwNDcsIDEzMDUxLCAxMzA1NSwgMTMwNjEsIDEzMDY1LCAxMzA2OSwgMTMwNzMsIDEzMDc3LCAKKyAgICAxMzA4MywgMTMwODcsIDEzMDkxLCAxMzA5NCwgMTMwOTgsIDEzMTAyLCAwLCAxMzEwNiwgMTMxMDksIDEzMTEzLCAxMzExNiwgCisgICAgMTMxMjAsIDEzMTIzLCAxMzEyNywgMTMxMzEsIDAsIDAsIDEzMTM1LCAxMzEzOCwgMCwgMCwgMTMxNDIsIDEzMTQ1LCAKKyAgICAxMzE0OSwgMTMxNTIsIDEzMTU2LCAxMzE2MCwgMTMxNjQsIDEzMTY4LCAxMzE3MiwgMTMxNzYsIDEzMTgwLCAxMzE4NCwgCisgICAgMTMxODgsIDEzMTkyLCAxMzE5NiwgMTMyMDAsIDEzMjA0LCAxMzIwOCwgMTMyMTIsIDEzMjE2LCAxMzIyMCwgMTMyMjQsIDAsIAorICAgIDEzMjI3LCAxMzIzMCwgMTMyMzQsIDEzMjM4LCAxMzI0MiwgMTMyNDUsIDEzMjQ4LCAwLCAxMzI1MiwgMCwgMCwgMCwgCisgICAgMTMyNTYsIDEzMjYwLCAxMzI2NCwgMTMyNjgsIDAsIDAsIDEzMjcxLCAxMzI3NSwgMTMyNzksIDEzMjg0LCAxMzI4OCwgCisgICAgMTMyOTMsIDEzMjk3LCAxMzMwMiwgMTMzMDcsIDAsIDAsIDEzMzEzLCAxMzMxNywgMCwgMCwgMTMzMjIsIDEzMzI2LCAKKyAgICAxMzMzMSwgMTMzMzUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEzMzQxLCAwLCAwLCAwLCAwLCAxMzM0NywgMTMzNTEsIDAsIAorICAgIDEzMzU1LCAxMzM1OSwgMTMzNjQsIDEzMzY5LCAxMzM3NCwgMCwgMCwgMTMzODAsIDEzMzg0LCAxMzM4NywgMTMzOTAsIAorICAgIDEzMzkzLCAxMzM5NiwgMTMzOTksIDEzNDAyLCAxMzQwNSwgMTM0MDgsIDEzNDExLCAxMzQyMCwgMTM0MjksIDEzNDMzLCAKKyAgICAxMzQzNywgMTM0NDMsIDEzNDQ5LCAxMzQ1NSwgMTM0NjEsIDEzNDc1LCAxMzQ4MiwgMTM0ODUsIDAsIDAsIDAsIDAsIDAsIAorICAgIDEzNDg5LCAxMzQ5NiwgMTM1MDEsIDAsIDEzNTA2LCAxMzUxMCwgMTM1MTUsIDEzNTE5LCAxMzUyNCwgMTM1MjgsIDAsIDAsIAorICAgIDAsIDAsIDEzNTMzLCAxMzUzOCwgMCwgMCwgMTM1NDMsIDEzNTQ4LCAxMzU1MywgMTM1NTcsIDEzNTYyLCAxMzU2NywgCisgICAgMTM1NzIsIDEzNTc3LCAxMzU4MiwgMTM1ODcsIDEzNTkyLCAxMzU5NywgMTM2MDIsIDEzNjA3LCAxMzYxMiwgMTM2MTcsIAorICAgIDEzNjIyLCAxMzYyNywgMTM2MzIsIDEzNjM3LCAxMzY0MiwgMTM2NDcsIDAsIDEzNjUxLCAxMzY1NSwgMTM2NjAsIDEzNjY1LCAKKyAgICAxMzY3MCwgMTM2NzQsIDEzNjc4LCAwLCAxMzY4MywgMTM2ODgsIDAsIDEzNjkzLCAxMzY5OCwgMCwgMTM3MDMsIDEzNzA4LCAKKyAgICAwLCAwLCAxMzcxMiwgMCwgMTM3MTcsIDEzNzIzLCAxMzcyOCwgMTM3MzQsIDEzNzM5LCAwLCAwLCAwLCAwLCAxMzc0NSwgCisgICAgMTM3NTEsIDAsIDAsIDEzNzU3LCAxMzc2MywgMTM3NjksIDAsIDAsIDAsIDEzNzc0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAxMzc3OSwgMTM3ODQsIDEzNzg5LCAxMzc5NCwgMCwgMTM3OTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEzODA0LCAxMzgwOSwgCisgICAgMTM4MTMsIDEzODE3LCAxMzgyMSwgMTM4MjUsIDEzODI5LCAxMzgzMywgMTM4MzcsIDEzODQxLCAxMzg0NSwgMTM4NDksIAorICAgIDEzODUzLCAxMzg1NywgMTM4NjEsIDEzODY3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzg3MiwgCisgICAgMTM4NzYsIDEzODgwLCAwLCAxMzg4NCwgMTM4ODcsIDEzODkxLCAxMzg5NCwgMTM4OTgsIDEzOTAxLCAxMzkwNSwgMTM5MDksIAorICAgIDEzOTEzLCAwLCAxMzkxOCwgMTM5MjEsIDEzOTI1LCAwLCAxMzkzMCwgMTM5MzMsIDEzOTM3LCAxMzk0MCwgMTM5NDQsIAorICAgIDEzOTQ4LCAxMzk1MiwgMTM5NTYsIDEzOTYwLCAxMzk2NCwgMTM5NjgsIDEzOTcyLCAxMzk3NiwgMTM5ODAsIDEzOTg0LCAKKyAgICAxMzk4OCwgMTM5OTIsIDEzOTk2LCAxNDAwMCwgMTQwMDQsIDE0MDA4LCAxNDAxMiwgMCwgMTQwMTUsIDE0MDE4LCAxNDAyMiwgCisgICAgMTQwMjYsIDE0MDMwLCAxNDAzMywgMTQwMzYsIDAsIDE0MDQwLCAxNDA0NCwgMCwgMTQwNDgsIDE0MDUyLCAxNDA1NiwgCisgICAgMTQwNjAsIDE0MDY0LCAwLCAwLCAxNDA2NywgMTQwNzEsIDE0MDc1LCAxNDA4MCwgMTQwODQsIDE0MDg5LCAxNDA5MywgCisgICAgMTQwOTgsIDE0MTAzLCAxNDEwOSwgMCwgMTQxMTUsIDE0MTE5LCAxNDEyNCwgMCwgMTQxMzAsIDE0MTM0LCAxNDEzOSwgMCwgCisgICAgMCwgMTQxNDMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0MTQ2LCAxNDE1MSwgCisgICAgMTQxNTYsIDE0MTYxLCAwLCAwLCAxNDE2NywgMTQxNzEsIDE0MTc0LCAxNDE3NywgMTQxODAsIDE0MTgzLCAxNDE4NiwgCisgICAgMTQxODksIDE0MTkyLCAxNDE5NSwgMTQxOTgsIDE0MjAyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAxNDIwNiwgMTQyMTAsIDE0MjE0LCAwLCAxNDIxOCwgMTQyMjEsIDE0MjI1LCAxNDIyOCwgMTQyMzIsIDE0MjM1LCAKKyAgICAxNDIzOSwgMTQyNDMsIDAsIDAsIDE0MjQ3LCAxNDI1MCwgMCwgMCwgMTQyNTQsIDE0MjU3LCAxNDI2MSwgMTQyNjQsIAorICAgIDE0MjY4LCAxNDI3MiwgMTQyNzYsIDE0MjgwLCAxNDI4NCwgMTQyODgsIDE0MjkyLCAxNDI5NiwgMTQzMDAsIDE0MzA0LCAKKyAgICAxNDMwOCwgMTQzMTIsIDE0MzE2LCAxNDMyMCwgMTQzMjQsIDE0MzI4LCAxNDMzMiwgMTQzMzYsIDAsIDE0MzM5LCAxNDM0MiwgCisgICAgMTQzNDYsIDE0MzUwLCAxNDM1NCwgMTQzNTcsIDE0MzYwLCAwLCAxNDM2NCwgMTQzNjgsIDAsIDE0MzcyLCAxNDM3NiwgCisgICAgMTQzODAsIDE0Mzg0LCAxNDM4OCwgMCwgMCwgMTQzOTEsIDE0Mzk1LCAxNDM5OSwgMTQ0MDQsIDE0NDA4LCAxNDQxMywgCisgICAgMTQ0MTcsIDE0NDIyLCAxNDQyNywgMCwgMCwgMTQ0MzMsIDE0NDM3LCAwLCAwLCAxNDQ0MiwgMTQ0NDYsIDE0NDUxLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAxNDQ1NSwgMTQ0NjEsIDAsIDAsIDAsIDAsIDE0NDY3LCAxNDQ3MSwgMCwgMTQ0NzUsIAorICAgIDE0NDc5LCAxNDQ4NCwgMTQ0ODksIDE0NDk0LCAwLCAwLCAxNDUwMCwgMTQ1MDQsIDE0NTA3LCAxNDUxMCwgMTQ1MTMsIAorICAgIDE0NTE2LCAxNDUxOSwgMTQ1MjIsIDE0NTI1LCAxNDUyOCwgMTQ1MzEsIDE0NTM0LCAxNDUzOCwgMTQ1NDQsIDE0NTUwLCAKKyAgICAxNDU1NiwgMTQ1NjIsIDE0NTY4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDU3NCwgMTQ1NzgsIDAsIAorICAgIDE0NTgyLCAxNDU4NSwgMTQ1ODksIDE0NTkyLCAxNDU5NiwgMTQ1OTksIDAsIDAsIDAsIDE0NjAzLCAxNDYwNiwgMTQ2MTAsIAorICAgIDAsIDE0NjE0LCAxNDYxNywgMTQ2MjEsIDE0NjI1LCAwLCAwLCAwLCAxNDYyOCwgMTQ2MzIsIDAsIDE0NjM2LCAwLCAxNDY0MCwgCisgICAgMTQ2NDQsIDAsIDAsIDAsIDE0NjQ4LCAxNDY1MiwgMCwgMCwgMCwgMTQ2NTYsIDE0NjU5LCAxNDY2MywgMCwgMCwgMCwgCisgICAgMTQ2NjYsIDE0NjY5LCAxNDY3MiwgMTQ2NzYsIDE0NjgwLCAxNDY4NCwgMTQ2ODgsIDE0NjkyLCAxNDY5NiwgMTQ3MDAsIAorICAgIDE0NzA0LCAxNDcwOCwgMCwgMCwgMCwgMCwgMTQ3MTEsIDE0NzE2LCAxNDcyMCwgMTQ3MjUsIDE0NzI5LCAwLCAwLCAwLCAKKyAgICAxNDczNCwgMTQ3MzgsIDE0NzQzLCAwLCAxNDc0OCwgMTQ3NTIsIDE0NzU3LCAxNDc2MiwgMCwgMCwgMTQ3NjYsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDE0NzY5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDc3NSwgMTQ3NzksIAorICAgIDE0NzgyLCAxNDc4NSwgMTQ3ODgsIDE0NzkxLCAxNDc5NCwgMTQ3OTcsIDE0ODAwLCAxNDgwMywgMTQ4MDYsIDE0ODEwLCAKKyAgICAxNDgxNSwgMTQ4MjAsIDE0ODI0LCAxNDgyOCwgMTQ4MzIsIDE0ODM2LCAxNDg0MCwgMTQ4NDUsIDE0ODQ5LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAxNDg1MiwgMTQ4NTgsIDE0ODYyLCAxNDg2NiwgMCwgMTQ4NzAsIDE0ODczLCAxNDg3NywgMTQ4ODAsIDE0ODg0LCAKKyAgICAxNDg4NywgMTQ4OTEsIDE0ODk1LCAwLCAxNDg5OSwgMTQ5MDIsIDE0OTA2LCAwLCAxNDkxMCwgMTQ5MTMsIDE0OTE3LCAKKyAgICAxNDkyMSwgMTQ5MjQsIDE0OTI4LCAxNDkzMiwgMTQ5MzYsIDE0OTQwLCAxNDk0NCwgMTQ5NDgsIDE0OTUyLCAxNDk1NiwgCisgICAgMTQ5NjAsIDE0OTY0LCAxNDk2OCwgMTQ5NzIsIDE0OTc2LCAxNDk4MCwgMTQ5ODQsIDE0OTg4LCAxNDk5MiwgMTQ5OTYsIDAsIAorICAgIDE0OTk5LCAxNTAwMiwgMTUwMDYsIDE1MDEwLCAxNTAxNCwgMTUwMTcsIDE1MDIwLCAxNTAyNCwgMTUwMjgsIDE1MDMyLCAKKyAgICAxNTAzNiwgMTUwNDAsIDE1MDQ0LCAxNTA0OCwgMTUwNTIsIDE1MDU2LCAwLCAwLCAwLCAxNTA1OSwgMTUwNjMsIDE1MDY4LCAKKyAgICAxNTA3MiwgMTUwNzcsIDE1MDgxLCAxNTA4NiwgMTUwOTEsIDAsIDE1MDk3LCAxNTEwMSwgMTUxMDYsIDAsIDE1MTExLCAKKyAgICAxNTExNSwgMTUxMjAsIDE1MTI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNTEyOSwgMTUxMzMsIDAsIDE1MTM5LCAxNTE0MywgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMTUxNDcsIDE1MTUyLCAxNTE1NywgMTUxNjIsIDAsIDAsIDE1MTY4LCAxNTE3MiwgMTUxNzUsIAorICAgIDE1MTc4LCAxNTE4MSwgMTUxODQsIDE1MTg3LCAxNTE5MCwgMTUxOTMsIDE1MTk2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAxNTE5OSwgMTUyMTIsIDE1MjI0LCAxNTIzNiwgMTUyNDgsIDE1MjYwLCAxNTI3MiwgMTUyODQsIDAsIDE1Mjg4LCAxNTI5MiwgCisgICAgMTUyOTYsIDAsIDE1MzAwLCAxNTMwMywgMTUzMDcsIDE1MzEwLCAxNTMxNCwgMTUzMTcsIDE1MzIxLCAxNTMyNSwgMCwgCisgICAgMTUzMjksIDE1MzMyLCAxNTMzNiwgMCwgMTUzNDAsIDE1MzQzLCAxNTM0NywgMTUzNTEsIDE1MzU0LCAxNTM1OCwgMTUzNjIsIAorICAgIDE1MzY2LCAxNTM3MCwgMTUzNzQsIDE1Mzc4LCAxNTM4MiwgMTUzODYsIDE1MzkwLCAxNTM5NCwgMTUzOTgsIDE1NDAyLCAKKyAgICAxNTQwNiwgMTU0MTAsIDE1NDE0LCAxNTQxOCwgMTU0MjIsIDE1NDI2LCAwLCAxNTQyOSwgMTU0MzIsIDE1NDM2LCAxNTQ0MCwgCisgICAgMTU0NDQsIDE1NDQ3LCAxNTQ1MCwgMTU0NTQsIDE1NDU4LCAxNTQ2MiwgMCwgMTU0NjYsIDE1NDcwLCAxNTQ3NCwgMTU0NzgsIAorICAgIDE1NDgyLCAwLCAwLCAxNTQ4NSwgMTU0ODksIDE1NDkzLCAxNTQ5OCwgMTU1MDIsIDE1NTA3LCAxNTUxMSwgMTU1MTYsIAorICAgIDE1NTIxLCAwLCAxNTUyNywgMTU1MzEsIDE1NTM2LCAwLCAxNTU0MSwgMTU1NDUsIDE1NTUwLCAxNTU1NSwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMTU1NTksIDE1NTYzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNTU2OSwgMCwgMTU1NzMsIDE1NTc4LCAKKyAgICAxNTU4MywgMTU1ODgsIDAsIDAsIDE1NTk0LCAxNTU5OCwgMTU2MDEsIDE1NjA0LCAxNTYwNywgMTU2MTAsIDE1NjEzLCAKKyAgICAxNTYxNiwgMTU2MTksIDE1NjIyLCAwLCAxNTYyNSwgMTU2MjksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDE1NjMzLCAxNTYzNywgMTU2NDEsIDAsIDE1NjQ1LCAxNTY0OCwgMTU2NTIsIDE1NjU1LCAxNTY1OSwgMTU2NjIsIAorICAgIDE1NjY2LCAxNTY3MCwgMCwgMTU2NzQsIDE1Njc3LCAxNTY4MSwgMCwgMTU2ODUsIDE1Njg4LCAxNTY5MiwgMTU2OTYsIAorICAgIDE1Njk5LCAxNTcwMywgMTU3MDcsIDE1NzExLCAxNTcxNSwgMTU3MTksIDE1NzIzLCAxNTcyNywgMTU3MzEsIDE1NzM1LCAKKyAgICAxNTczOSwgMTU3NDMsIDE1NzQ3LCAxNTc1MSwgMTU3NTUsIDE1NzU5LCAxNTc2MywgMTU3NjcsIDE1NzcxLCAxNTc3NCwgCisgICAgMTU3NzgsIDE1NzgxLCAxNTc4NSwgMTU3ODksIDE1NzkzLCAxNTc5NiwgMTU3OTksIDE1ODAzLCAxNTgwNywgMTU4MTEsIAorICAgIDE1ODE1LCAxNTgxOSwgMTU4MjMsIDE1ODI3LCAxNTgzMSwgMTU4MzUsIDE1ODM4LCAwLCAwLCAxNTg0MiwgMTU4NDYsIAorICAgIDE1ODUxLCAxNTg1NSwgMTU4NjAsIDE1ODY0LCAxNTg2OSwgMTU4NzQsIDAsIDE1ODgwLCAxNTg4NCwgMTU4ODksIDAsIAorICAgIDE1ODk0LCAxNTg5OCwgMTU5MDMsIDE1OTA4LCAxNTkxMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTU5MTcsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDE1OTIzLCAxNTkyOCwgMTU5MzMsIDE1OTM4LCAwLCAwLCAxNTk0NCwgMTU5NDgsIDE1OTUxLCAKKyAgICAxNTk1NCwgMTU5NTcsIDE1OTYwLCAxNTk2MywgMTU5NjYsIDE1OTY5LCAxNTk3MiwgMTU5NzUsIDE1OTc5LCAxNTk4NCwgCisgICAgMTU5ODksIDE1OTk1LCAxNjAwMSwgMCwgMCwgMCwgMTYwMDcsIDE2MDExLCAxNjAxNywgMTYwMjMsIDE2MDI5LCAxNjAzNCwgCisgICAgMTYwNDAsIDAsIDAsIDE2MDQ2LCAxNjA1MCwgMCwgMTYwNTQsIDE2MDU4LCAxNjA2MiwgMTYwNjYsIDE2MDcwLCAxNjA3NCwgCisgICAgMTYwNzgsIDE2MDgyLCAxNjA4NiwgMTYwOTAsIDE2MDk0LCAxNjA5OCwgMTYxMDIsIDE2MTA2LCAxNjExMCwgMTYxMTQsIAorICAgIDE2MTE4LCAxNjEyMiwgMCwgMCwgMCwgMTYxMjYsIDE2MTMyLCAxNjEzOCwgMTYxNDQsIDE2MTUwLCAxNjE1NiwgMTYxNjIsIAorICAgIDE2MTY4LCAxNjE3NCwgMTYxODAsIDE2MTg2LCAxNjE5MiwgMTYyMDAsIDE2MjA2LCAxNjIxMiwgMTYyMTgsIDE2MjI0LCAKKyAgICAxNjIzMCwgMTYyMzYsIDE2MjQyLCAxNjI0OCwgMTYyNTQsIDE2MjYwLCAxNjI2NiwgMCwgMTYyNzIsIDE2Mjc4LCAxNjI4NCwgCisgICAgMTYyOTAsIDE2Mjk2LCAxNjMwMiwgMTYzMDYsIDE2MzEyLCAxNjMxNiwgMCwgMTYzMjAsIDAsIDAsIDE2MzI2LCAxNjMzMCwgCisgICAgMTYzMzYsIDE2MzQyLCAxNjM0OCwgMTYzNTIsIDE2MzU4LCAwLCAwLCAwLCAxNjM2MiwgMCwgMCwgMCwgMCwgMTYzNjYsIAorICAgIDE2MzcxLCAxNjM3OCwgMTYzODUsIDE2MzkyLCAxNjM5OSwgMCwgMTY0MDYsIDAsIDE2NDEzLCAxNjQxOCwgMTY0MjMsIAorICAgIDE2NDMwLCAxNjQzNywgMTY0NDYsIDE2NDU3LCAxNjQ2NiwgMCwgMCwgMCwgMCwgMCwgMCwgMTY0NzEsIDE2NDc3LCAxNjQ4MiwgCisgICAgMTY0ODcsIDE2NDkyLCAxNjQ5NywgMTY1MDIsIDE2NTA3LCAxNjUxMiwgMTY1MTcsIDAsIDAsIDE2NTIyLCAxNjUyOSwgCisgICAgMTY1MzYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE2NTQxLCAxNjU0NywgMTY1NTMsIDE2NTU5LCAKKyAgICAxNjU2NSwgMTY1NzEsIDE2NTc3LCAxNjU4MywgMTY1ODksIDE2NTk1LCAxNjYwMSwgMTY2MDcsIDE2NjEzLCAxNjYxOSwgCisgICAgMTY2MjUsIDE2NjMxLCAxNjYzNywgMTY2NDMsIDE2NjQ5LCAxNjY1NSwgMTY2NjEsIDE2NjY3LCAxNjY3MywgMTY2NzksIAorICAgIDE2Njg1LCAxNjY5MSwgMTY2OTcsIDE2NzAzLCAxNjcwOSwgMTY3MTUsIDE2NzIxLCAxNjcyNywgMTY3MzMsIDE2NzM4LCAKKyAgICAxNjc0NCwgMTY3NTAsIDE2NzU0LCAxNjc2MCwgMTY3NjQsIDE2NzcwLCAxNjc3NiwgMTY3ODIsIDE2Nzg4LCAxNjc5NCwgCisgICAgMTY4MDAsIDE2ODA1LCAxNjgxMSwgMTY4MTUsIDE2ODIwLCAxNjgyNiwgMTY4MzIsIDE2ODM4LCAxNjg0MywgMTY4NDksIAorICAgIDE2ODU1LCAxNjg2MSwgMTY4NjYsIDE2ODcyLCAwLCAwLCAwLCAwLCAxNjg3NiwgMTY4ODIsIDE2ODg3LCAxNjg5MywgCisgICAgMTY4OTgsIDE2OTA2LCAxNjkxNCwgMTY5MTgsIDE2OTIyLCAxNjkyNiwgMTY5MzIsIDE2OTM4LCAxNjk0NCwgMTY5NTAsIAorICAgIDE2OTU0LCAxNjk1OCwgMTY5NjIsIDE2OTY2LCAxNjk3MCwgMTY5NzMsIDE2OTc2LCAxNjk3OSwgMTY5ODIsIDE2OTg1LCAKKyAgICAxNjk4OCwgMTY5OTEsIDE2OTk0LCAxNjk5NywgMTcwMDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDE3MDA1LCAxNzAxMCwgMCwgMTcwMTcsIDAsIDAsIDE3MDI0LCAxNzAyOSwgMCwgMTcwMzQsIDAsIDAsIDE3MDQxLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAxNzA0NiwgMTcwNTEsIDE3MDU1LCAxNzA2MiwgMCwgMTcwNjksIDE3MDc0LCAxNzA3OSwgMTcwODQsIAorICAgIDE3MDkxLCAxNzA5OCwgMTcxMDUsIDAsIDE3MTEyLCAxNzExNywgMTcxMjIsIDAsIDE3MTI5LCAwLCAxNzEzNiwgMCwgMCwgCisgICAgMTcxNDEsIDE3MTQ4LCAwLCAxNzE1NSwgMTcxNTksIDE3MTY2LCAxNzE3MCwgMTcxNzUsIDE3MTgzLCAxNzE4OSwgMTcxOTUsIAorICAgIDE3MjAwLCAxNzIwNiwgMTcyMTIsIDE3MjE4LCAxNzIyMywgMCwgMTcyMjksIDE3MjM3LCAxNzI0NCwgMCwgMCwgMTcyNTEsIAorICAgIDE3MjU2LCAxNzI2MiwgMTcyNjcsIDE3MjczLCAwLCAxNzI3OSwgMCwgMTcyODUsIDE3MjkyLCAxNzI5OSwgMTczMDYsIAorICAgIDE3MzEzLCAxNzMxOCwgMCwgMCwgMTczMjIsIDE3MzI3LCAxNzMzMSwgMTczMzUsIDE3MzM5LCAxNzM0MywgMTczNDcsIAorICAgIDE3MzUxLCAxNzM1NSwgMTczNTksIDAsIDAsIDE3MzYzLCAxNzM2OSwgMTczNzUsIDE3MzgyLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAxNzM4OSwgMTczOTMsIDE3NDA0LCAxNzQxOSwgMTc0MzQsIDE3NDQ0LCAxNzQ1NSwgMTc0NjgsIDE3NDc5LCAKKyAgICAxNzQ4NSwgMTc0OTMsIDE3NTAzLCAxNzUwOSwgMTc1MTcsIDE3NTIxLCAxNzUyNywgMTc1MzMsIDE3NTQxLCAxNzU1MSwgCisgICAgMTc1NTksIDE3NTcyLCAxNzU3OCwgMTc1ODYsIDE3NTk0LCAxNzYwNiwgMTc2MTMsIDE3NjIxLCAxNzYyOSwgMTc2MzcsIAorICAgIDE3NjQ1LCAxNzY1MywgMTc2NjEsIDE3NjcxLCAxNzY3NSwgMTc2NzgsIDE3NjgxLCAxNzY4NCwgMTc2ODcsIDE3NjkwLCAKKyAgICAxNzY5MywgMTc2OTYsIDE3Njk5LCAxNzcwMiwgMTc3MDYsIDE3NzEwLCAxNzcxNCwgMTc3MTgsIDE3NzIyLCAxNzcyNiwgCisgICAgMTc3MzAsIDE3NzM0LCAxNzczOCwgMTc3NDMsIDE3NzQ5LCAxNzc1OSwgMTc3NzMsIDE3NzgzLCAxNzc4OSwgMTc3OTUsIAorICAgIDE3ODAzLCAxNzgxMSwgMTc4MTksIDE3ODI3LCAxNzgzMywgMTc4MzksIDE3ODQyLCAxNzg0NiwgMTc4NTAsIDE3ODU0LCAKKyAgICAxNzg1OCwgMTc4NjIsIDE3ODY2LCAwLCAxNzg3MCwgMTc4NzQsIDE3ODc4LCAxNzg4MiwgMTc4ODYsIDE3ODkwLCAxNzg5NCwgCisgICAgMTc4OTgsIDE3OTAyLCAxNzkwNiwgMTc5MTAsIDE3OTEzLCAxNzkxNiwgMTc5MjAsIDE3OTI0LCAxNzkyOCwgMTc5MzEsIAorICAgIDE3OTM1LCAxNzkzOSwgMTc5NDMsIDE3OTQ3LCAxNzk1MSwgMTc5NTUsIDE3OTU5LCAxNzk2MywgMTc5NjYsIDE3OTcwLCAKKyAgICAxNzk3NCwgMTc5NzgsIDE3OTgyLCAxNzk4NiwgMTc5ODksIDE3OTkyLCAxNzk5NiwgMTgwMDIsIDE4MDA2LCAwLCAwLCAwLCAKKyAgICAwLCAxODAxMCwgMTgwMTUsIDE4MDE5LCAxODAyNCwgMTgwMjgsIDE4MDMzLCAxODAzOCwgMTgwNDQsIDE4MDQ5LCAxODA1NSwgCisgICAgMTgwNTksIDE4MDY0LCAxODA2OCwgMTgwNzMsIDE4MDgzLCAxODA4OSwgMTgwOTUsIDE4MTAyLCAxODExMiwgMTgxMTgsIAorICAgIDE4MTIyLCAxODEyNiwgMTgxMzIsIDE4MTM4LCAxODE0NiwgMTgxNTIsIDE4MTYwLCAxODE2OCwgMTgxNzYsIDE4MTg2LCAKKyAgICAxODE5NCwgMTgyMDQsIDE4MjA5LCAxODIxNSwgMTgyMjEsIDE4MjI3LCAxODIzMywgMTgyMzksIDE4MjQ1LCAwLCAxODI1MSwgCisgICAgMTgyNTcsIDE4MjYzLCAxODI2OSwgMTgyNzUsIDE4MjgxLCAxODI4NywgMTgyOTMsIDE4Mjk5LCAxODMwNSwgMTgzMTEsIAorICAgIDE4MzE2LCAxODMyMSwgMTgzMjcsIDE4MzMzLCAxODMzOSwgMTgzNDQsIDE4MzUwLCAxODM1NiwgMTgzNjIsIDE4MzY4LCAKKyAgICAxODM3NCwgMTgzODAsIDE4Mzg2LCAxODM5MiwgMTgzOTcsIDE4NDAzLCAxODQwOSwgMTg0MTUsIDE4NDIxLCAxODQyNywgCisgICAgMTg0MzIsIDE4NDM3LCAxODQ0MywgMTg0NTEsIDE4NDU4LCAwLCAxODQ2NiwgMTg0NzMsIDE4NDg2LCAxODQ5MywgMTg1MDAsIAorICAgIDE4NTA4LCAxODUxNiwgMTg1MjIsIDE4NTI4LCAxODUzNCwgMTg1NDQsIDE4NTQ5LCAxODU1NSwgMTg1NjUsIDE4NTc1LCAwLCAKKyAgICAxODU4NSwgMTg1OTUsIDE4NjAzLCAxODYxNSwgMTg2MjcsIDE4NjMzLCAxODY0NywgMTg2NjIsIDE4NjY3LCAxODY3MiwgCisgICAgMTg2ODAsIDE4Njg4LCAxODY5NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTg3MDQsIDE4NzA3LCAKKyAgICAxODcxMSwgMTg3MTUsIDE4NzE5LCAxODcyMywgMTg3MjcsIDE4NzMxLCAxODczNSwgMTg3MzksIDE4NzQzLCAxODc0NywgCisgICAgMTg3NTEsIDE4NzU1LCAxODc1OSwgMTg3NjMsIDE4NzY3LCAxODc3MSwgMTg3NzUsIDE4Nzc5LCAxODc4MywgMTg3ODYsIAorICAgIDE4Nzg5LCAxODc5MywgMTg3OTcsIDE4ODAxLCAxODgwNCwgMTg4MDcsIDE4ODExLCAxODgxNSwgMTg4MTksIDE4ODIzLCAKKyAgICAxODgyNiwgMTg4MzAsIDE4ODMzLCAxODgzOCwgMTg4NDEsIDE4ODQ1LCAxODg0OCwgMTg4NTIsIDE4ODU1LCAxODg2MCwgCisgICAgMTg4NjMsIDE4ODY3LCAxODg3NCwgMTg4NzksIDE4ODgzLCAxODg4OCwgMTg4OTIsIDE4ODk3LCAxODkwMSwgMTg5MDYsIAorICAgIDE4OTEzLCAxODkxOSwgMTg5MjQsIDE4OTI4LCAxODkzMiwgMTg5MzYsIDE4OTQwLCAxODk0NCwgMTg5NDksIDE4OTU1LCAKKyAgICAxODk2MSwgMTg5NjYsIDE4OTcyLCAxODk3NiwgMTg5NzksIDE4OTgyLCAxODk4NSwgMTg5ODgsIDE4OTkxLCAxODk5NCwgCisgICAgMTg5OTcsIDE5MDAwLCAxOTAwMywgMTkwMDksIDE5MDEzLCAxOTAxNywgMTkwMjEsIDE5MDI1LCAxOTAyOSwgMTkwMzMsIAorICAgIDE5MDM3LCAxOTA0MSwgMTkwNDYsIDE5MDUwLCAxOTA1NSwgMTkwNjAsIDE5MDY2LCAxOTA3MSwgMTkwNzcsIDE5MDgzLCAKKyAgICAxOTA4OSwgMTkwOTUsIDE5MTAxLCAxOTEwOCwgMTkxMTUsIDE5MTIzLCAxOTEzMSwgMTkxNDAsIDE5MTQ5LCAxOTE2MCwgCisgICAgMTkxNzAsIDE5MTgwLCAxOTE5MSwgMTkyMDIsIDE5MjEyLCAxOTIyMiwgMTkyMzIsIDE5MjQyLCAxOTI1MiwgMTkyNjIsIAorICAgIDE5MjcyLCAxOTI4MiwgMTkyOTAsIDE5Mjk3LCAxOTMwMywgMTkzMTAsIDE5MzE1LCAxOTMyMSwgMTkzMjcsIDE5MzMzLCAKKyAgICAxOTMzOSwgMTkzNDUsIDE5MzUxLCAxOTM1NiwgMTkzNjIsIDE5MzY4LCAxOTM3NCwgMTkzODAsIDE5Mzg1LCAxOTM5MywgCisgICAgMTk0MDAsIDE5NDA2LCAxOTQxMywgMTk0MjEsIDE5NDI3LCAxOTQzMywgMTk0MzksIDE5NDQ1LCAxOTQ1MywgMTk0NjEsIAorICAgIDE5NDcxLCAxOTQ3OSwgMTk0ODcsIDE5NDkzLCAxOTQ5OCwgMTk1MDMsIDE5NTA4LCAxOTUxMywgMTk1MTgsIDE5NTIzLCAKKyAgICAxOTUyOCwgMTk1MzMsIDE5NTM4LCAxOTU0NCwgMTk1NTAsIDE5NTU2LCAxOTU2MywgMTk1NjgsIDE5NTc0LCAxOTU3OSwgCisgICAgMTk1ODQsIDE5NTg5LCAxOTU5NCwgMTk1OTksIDE5NjA0LCAxOTYwOSwgMTk2MTQsIDE5NjE5LCAxOTYyNCwgMTk2MjksIAorICAgIDE5NjM0LCAxOTYzOSwgMTk2NDQsIDE5NjQ5LCAxOTY1NCwgMTk2NTksIDE5NjY0LCAxOTY2OSwgMTk2NzQsIDE5Njc5LCAKKyAgICAxOTY4NCwgMTk2ODksIDE5Njk0LCAxOTY5OSwgMTk3MDQsIDE5NzA5LCAxOTcxNCwgMTk3MTksIDE5NzI0LCAxOTcyOSwgCisgICAgMTk3MzQsIDE5NzM5LCAxOTc0NCwgMTk3NDksIDE5NzU0LCAxOTc1OSwgMCwgMTk3NjQsIDAsIDAsIDAsIDAsIDAsIDE5NzY5LCAKKyAgICAwLCAwLCAxOTc3NCwgMTk3NzgsIDE5NzgyLCAxOTc4NiwgMTk3OTAsIDE5Nzk0LCAxOTc5OCwgMTk4MDIsIDE5ODA2LCAKKyAgICAxOTgxMCwgMTk4MTQsIDE5ODE4LCAxOTgyMiwgMTk4MjYsIDE5ODMwLCAxOTgzNCwgMTk4MzgsIDE5ODQyLCAxOTg0NiwgCisgICAgMTk4NTAsIDE5ODU0LCAxOTg1OCwgMTk4NjIsIDE5ODY2LCAxOTg3MCwgMTk4NzQsIDE5ODc4LCAxOTg4MiwgMTk4ODYsIAorICAgIDE5ODkwLCAxOTg5NCwgMTk4OTgsIDE5OTAyLCAxOTkwNiwgMTk5MTAsIDE5OTE0LCAxOTkxOCwgMTk5MjIsIDE5OTI2LCAKKyAgICAxOTkzMCwgMTk5MzQsIDE5OTM4LCAxOTk0MywgMTk5NDcsIDE5OTUyLCAxOTk1NywgMTk5NjEsIDE5OTY2LCAxOTk3MSwgCisgICAgMTk5NzUsIDE5OTc5LCAxOTk4MywgMTk5ODcsIDE5OTkxLCAxOTk5NSwgMTk5OTksIDIwMDAzLCAyMDAwNywgMjAwMTEsIAorICAgIDIwMDE1LCAyMDAxOSwgMjAwMjMsIDIwMDI3LCAyMDAzMSwgMjAwMzUsIDIwMDM5LCAyMDA0MywgMjAwNDcsIDIwMDUxLCAKKyAgICAyMDA1NSwgMjAwNTksIDIwMDYzLCAyMDA2NywgMjAwNzEsIDIwMDc1LCAyMDA3OSwgMjAwODMsIDIwMDg3LCAyMDA5MSwgCisgICAgMjAwOTUsIDIwMDk5LCAyMDEwMywgMjAxMDcsIDIwMTExLCAyMDExNSwgMjAxMTksIDIwMTIzLCAyMDEyNywgMjAxMzEsIAorICAgIDIwMTM1LCAyMDEzOSwgMjAxNDMsIDIwMTQ3LCAyMDE1MSwgMjAxNTUsIDIwMTU5LCAyMDE2MywgMjAxNjcsIDIwMTcxLCAKKyAgICAyMDE3NSwgMjAxNzksIDIwMTgzLCAyMDE4NywgMjAxOTEsIDIwMTk1LCAyMDE5OSwgMjAyMDMsIDIwMjA3LCAyMDIxMSwgCisgICAgMjAyMTUsIDIwMjE5LCAyMDIyMywgMjAyMjcsIDIwMjMxLCAyMDIzNSwgMjAyMzksIDIwMjQzLCAyMDI0NywgMjAyNTEsIAorICAgIDIwMjU1LCAyMDI1OSwgMjAyNjMsIDIwMjY3LCAyMDI3MSwgMjAyNzUsIDIwMjc5LCAyMDI4MywgMjAyODcsIDIwMjkxLCAKKyAgICAyMDI5NSwgMjAyOTksIDIwMzAzLCAyMDMwNywgMjAzMTEsIDIwMzE1LCAyMDMxOSwgMjAzMjMsIDIwMzI3LCAyMDMzMSwgCisgICAgMjAzMzUsIDIwMzM5LCAyMDM0MywgMjAzNDcsIDIwMzUxLCAyMDM1NSwgMjAzNTksIDIwMzYyLCAyMDM2NiwgMjAzNjksIAorICAgIDIwMzczLCAyMDM3NywgMjAzODAsIDIwMzg0LCAyMDM4OCwgMjAzOTEsIDIwMzk1LCAyMDM5OSwgMjA0MDMsIDIwNDA3LCAKKyAgICAyMDQxMCwgMjA0MTQsIDIwNDE4LCAyMDQyMiwgMjA0MjYsIDIwNDMwLCAyMDQzNCwgMjA0MzcsIDIwNDQxLCAyMDQ0NSwgCisgICAgMjA0NDksIDIwNDUzLCAyMDQ1NywgMjA0NjEsIDIwNDY1LCAyMDQ2OSwgMjA0NzMsIDIwNDc3LCAyMDQ4MSwgMjA0ODUsIAorICAgIDIwNDg5LCAyMDQ5MywgMjA0OTcsIDIwNTAxLCAyMDUwNSwgMjA1MDksIDIwNTEzLCAyMDUxNywgMjA1MjEsIDIwNTI1LCAKKyAgICAyMDUyOSwgMjA1MzMsIDIwNTM3LCAyMDU0MSwgMjA1NDUsIDIwNTQ5LCAyMDU1MywgMjA1NTcsIDIwNTYxLCAyMDU2NSwgCisgICAgMjA1NjksIDIwNTczLCAyMDU3NywgMjA1ODEsIDIwNTg1LCAyMDU4OSwgMjA1OTMsIDIwNTk3LCAyMDYwMSwgMjA2MDUsIAorICAgIDIwNjA5LCAyMDYxMywgMjA2MTcsIDIwNjIxLCAyMDYyNSwgMjA2MjksIDIwNjMzLCAyMDYzNywgMjA2NDEsIDIwNjQ1LCAKKyAgICAyMDY0OSwgMjA2NTMsIDIwNjU3LCAyMDY2MSwgMjA2NjUsIDIwNjY5LCAyMDY3MywgMjA2NzcsIDIwNjgxLCAyMDY4NSwgCisgICAgMjA2ODksIDIwNjkzLCAyMDY5NywgMjA3MDEsIDIwNzA1LCAyMDcwOSwgMjA3MTMsIDIwNzE3LCAyMDcyMSwgMjA3MjUsIAorICAgIDIwNzI5LCAyMDczMywgMjA3MzcsIDIwNzQxLCAyMDc0NSwgMjA3NDksIDIwNzUzLCAyMDc1NywgMjA3NjEsIDIwNzY1LCAKKyAgICAyMDc2OSwgMjA3NzMsIDIwNzc3LCAyMDc4MSwgMjA3ODUsIDIwNzg5LCAyMDc5MywgMjA3OTcsIDIwODAxLCAyMDgwNSwgCisgICAgMjA4MDksIDIwODEzLCAyMDgxNywgMjA4MjEsIDIwODI1LCAyMDgyOSwgMjA4MzMsIDIwODM3LCAyMDg0MSwgMjA4NDUsIAorICAgIDIwODQ5LCAyMDg1MywgMjA4NTcsIDIwODYxLCAyMDg2NSwgMjA4NjksIDIwODczLCAyMDg3NywgMjA4ODEsIDIwODg1LCAKKyAgICAyMDg4OSwgMjA4OTMsIDIwODk3LCAyMDkwMSwgMjA5MDUsIDIwOTA5LCAyMDkxMywgMjA5MTcsIDIwOTIxLCAyMDkyNSwgCisgICAgMjA5MjksIDIwOTMzLCAyMDkzNywgMjA5NDEsIDIwOTQ1LCAyMDk0OSwgMjA5NTMsIDIwOTU3LCAyMDk2MSwgMjA5NjUsIAorICAgIDIwOTY5LCAyMDk3MywgMjA5NzcsIDIwOTgxLCAyMDk4NSwgMjA5ODksIDIwOTkyLCAyMDk5NiwgMjEwMDAsIDIxMDA0LCAKKyAgICAyMTAwOCwgMjEwMTIsIDIxMDE2LCAyMTAyMCwgMjEwMjQsIDIxMDI4LCAyMTAzMiwgMjEwMzYsIDIxMDQwLCAyMTA0NCwgCisgICAgMjEwNDgsIDIxMDUyLCAyMTA1NiwgMjEwNjAsIDIxMDY0LCAyMTA2OCwgMjEwNzIsIDIxMDc2LCAyMTA4MCwgMjEwODQsIAorICAgIDIxMDg3LCAyMTA5MSwgMjEwOTUsIDIxMDk5LCAyMTEwMywgMjExMDcsIDIxMTExLCAyMTExNSwgMjExMTksIDIxMTIzLCAKKyAgICAyMTEyNywgMjExMzEsIDIxMTM1LCAyMTEzOSwgMjExNDMsIDIxMTQ3LCAyMTE1MSwgMjExNTUsIDIxMTU5LCAyMTE2MywgCisgICAgMjExNjcsIDIxMTcxLCAyMTE3NSwgMjExNzksIDIxMTgzLCAyMTE4NywgMjExOTEsIDIxMTk1LCAyMTE5OSwgMjEyMDMsIAorICAgIDIxMjA3LCAyMTIxMSwgMjEyMTUsIDIxMjE5LCAyMTIyMywgMjEyMjcsIDIxMjMxLCAyMTIzNSwgMjEyMzksIDIxMjQzLCAKKyAgICAyMTI0NywgMjEyNTEsIDIxMjU1LCAyMTI1OSwgMjEyNjMsIDIxMjY3LCAyMTI3MSwgMjEyNzUsIDAsIDIxMjc5LCAyMTI4MywgCisgICAgMjEyODcsIDIxMjkxLCAwLCAwLCAyMTI5NSwgMjEyOTksIDIxMzAzLCAyMTMwNywgMjEzMTEsIDIxMzE1LCAyMTMxOSwgMCwgCisgICAgMjEzMjMsIDAsIDIxMzI3LCAyMTMzMSwgMjEzMzUsIDIxMzM5LCAwLCAwLCAyMTM0MywgMjEzNDcsIDIxMzUxLCAyMTM1NSwgCisgICAgMjEzNTksIDIxMzYzLCAyMTM2NywgMjEzNzEsIDIxMzc1LCAyMTM3OSwgMjEzODMsIDIxMzg3LCAyMTM5MSwgMjEzOTUsIAorICAgIDIxMzk5LCAyMTQwMywgMjE0MDcsIDIxNDExLCAyMTQxNSwgMjE0MTksIDIxNDIzLCAyMTQyNywgMjE0MzEsIDIxNDM0LCAKKyAgICAyMTQzOCwgMjE0NDIsIDIxNDQ2LCAyMTQ1MCwgMjE0NTQsIDIxNDU4LCAyMTQ2MiwgMjE0NjYsIDIxNDcwLCAyMTQ3NCwgCisgICAgMjE0NzgsIDIxNDgyLCAyMTQ4NiwgMjE0OTAsIDIxNDk0LCAyMTQ5OCwgMjE1MDIsIDAsIDIxNTA2LCAyMTUxMCwgMjE1MTQsIAorICAgIDIxNTE4LCAwLCAwLCAyMTUyMiwgMjE1MjUsIDIxNTI5LCAyMTUzMywgMjE1MzcsIDIxNTQxLCAyMTU0NSwgMjE1NDksIAorICAgIDIxNTUzLCAyMTU1NywgMjE1NjEsIDIxNTY1LCAyMTU2OSwgMjE1NzMsIDIxNTc3LCAyMTU4MSwgMjE1ODUsIDIxNTkwLCAKKyAgICAyMTU5NSwgMjE2MDAsIDIxNjA2LCAyMTYxMiwgMjE2MTcsIDIxNjIyLCAyMTYyOCwgMjE2MzEsIDIxNjM1LCAyMTYzOSwgCisgICAgMjE2NDMsIDIxNjQ3LCAyMTY1MSwgMjE2NTUsIDIxNjU5LCAwLCAyMTY2MywgMjE2NjcsIDIxNjcxLCAyMTY3NSwgMCwgMCwgCisgICAgMjE2NzksIDIxNjgzLCAyMTY4NywgMjE2OTEsIDIxNjk1LCAyMTY5OSwgMjE3MDMsIDAsIDIxNzA3LCAwLCAyMTcxMSwgCisgICAgMjE3MTUsIDIxNzE5LCAyMTcyMywgMCwgMCwgMjE3MjcsIDIxNzMxLCAyMTczNSwgMjE3MzksIDIxNzQzLCAyMTc0NywgCisgICAgMjE3NTEsIDIxNzU1LCAyMTc1OSwgMjE3NjQsIDIxNzY5LCAyMTc3NCwgMjE3ODAsIDIxNzg2LCAyMTc5MSwgMCwgMjE3OTYsIAorICAgIDIxODAwLCAyMTgwNCwgMjE4MDgsIDIxODEyLCAyMTgxNiwgMjE4MjAsIDIxODI0LCAyMTgyOCwgMjE4MzIsIDIxODM2LCAKKyAgICAyMTg0MCwgMjE4NDQsIDIxODQ4LCAyMTg1MiwgMjE4NTYsIDIxODYwLCAyMTg2MywgMjE4NjcsIDIxODcxLCAyMTg3NSwgCisgICAgMjE4NzksIDIxODgzLCAyMTg4NywgMjE4OTEsIDIxODk1LCAyMTg5OSwgMjE5MDMsIDIxOTA3LCAyMTkxMSwgMjE5MTUsIAorICAgIDIxOTE5LCAyMTkyMywgMjE5MjcsIDIxOTMxLCAyMTkzNSwgMjE5MzksIDIxOTQzLCAyMTk0NywgMjE5NTEsIDIxOTU1LCAKKyAgICAyMTk1OSwgMjE5NjMsIDIxOTY3LCAyMTk3MSwgMjE5NzUsIDIxOTc5LCAyMTk4MywgMjE5ODcsIDIxOTkxLCAyMTk5NSwgCisgICAgMjE5OTksIDIyMDAzLCAyMjAwNywgMjIwMTEsIDIyMDE1LCAyMjAxOSwgMCwgMjIwMjMsIDIyMDI3LCAyMjAzMSwgMjIwMzUsIAorICAgIDAsIDAsIDIyMDM5LCAyMjA0MywgMjIwNDcsIDIyMDUxLCAyMjA1NSwgMjIwNTksIDIyMDYzLCAyMjA2NywgMjIwNzEsIAorICAgIDIyMDc1LCAyMjA3OSwgMjIwODMsIDIyMDg3LCAyMjA5MSwgMjIwOTUsIDIyMDk5LCAyMjEwMywgMjIxMDcsIDIyMTExLCAKKyAgICAyMjExNSwgMjIxMTksIDIyMTIzLCAyMjEyNywgMjIxMzEsIDIyMTM1LCAyMjEzOSwgMjIxNDMsIDIyMTQ3LCAyMjE1MSwgCisgICAgMjIxNTUsIDIyMTU5LCAyMjE2MywgMjIxNjcsIDIyMTcxLCAyMjE3NSwgMjIxNzksIDIyMTgzLCAyMjE4NywgMjIxOTEsIAorICAgIDIyMTk1LCAyMjE5OSwgMjIyMDMsIDIyMjA3LCAyMjIxMSwgMjIyMTUsIDIyMjE5LCAyMjIyMywgMjIyMjcsIDIyMjMxLCAKKyAgICAyMjIzNSwgMjIyMzksIDIyMjQzLCAyMjI0NywgMjIyNTEsIDIyMjU1LCAyMjI1OSwgMjIyNjMsIDIyMjY2LCAyMjI3MCwgCisgICAgMjIyNzQsIDIyMjc4LCAyMjI4MiwgMjIyODYsIDIyMjkwLCAyMjI5NCwgMjIyOTgsIDIyMzAyLCAwLCAwLCAyMjMwNiwgCisgICAgMjIzMTUsIDIyMzIxLCAyMjMyNiwgMjIzMzAsIDIyMzMzLCAyMjMzOCwgMjIzNDEsIDIyMzQ0LCAyMjM0NywgMjIzNTIsIAorICAgIDIyMzU2LCAyMjM2MSwgMjIzNjQsIDIyMzY3LCAyMjM3MCwgMjIzNzMsIDIyMzc2LCAyMjM3OSwgMjIzODIsIDIyMzg1LCAKKyAgICAyMjM4OCwgMjIzOTIsIDIyMzk2LCAyMjQwMCwgMjI0MDQsIDIyNDA4LCAyMjQxMiwgMjI0MTYsIDIyNDIwLCAyMjQyNCwgCisgICAgMjI0MjgsIDAsIDAsIDAsIDIyNDM0LCAyMjQ0MCwgMjI0NDQsIDIyNDQ4LCAyMjQ1MiwgMjI0NTgsIDIyNDYyLCAyMjQ2NiwgCisgICAgMjI0NzAsIDIyNDc2LCAyMjQ4MCwgMjI0ODQsIDIyNDg4LCAyMjQ5NCwgMjI0OTgsIDIyNTAyLCAyMjUwNiwgMjI1MTIsIAorICAgIDIyNTE4LCAyMjUyNCwgMjI1MzIsIDIyNTM4LCAyMjU0NCwgMjI1NTAsIDIyNTU2LCAyMjU2MiwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMjI1NjgsIDIyNTcxLCAyMjU3NCwgMjI1NzcsIDIyNTgwLCAyMjU4MywgMjI1ODcsIDIyNTkxLCAyMjU5NCwgMjI1OTgsIAorICAgIDIyNjAyLCAyMjYwNiwgMjI2MTAsIDIyNjE0LCAyMjYxNywgMjI2MjEsIDIyNjI1LCAyMjYyOSwgMjI2MzMsIDIyNjM3LCAKKyAgICAyMjY0MSwgMjI2NDUsIDIyNjQ5LCAyMjY1MywgMjI2NTcsIDIyNjYxLCAyMjY2NCwgMjI2NjgsIDIyNjcyLCAyMjY3NiwgCisgICAgMjI2ODAsIDIyNjgzLCAyMjY4NywgMjI2OTEsIDIyNjk1LCAyMjY5OSwgMjI3MDMsIDIyNzA3LCAyMjcxMSwgMjI3MTUsIAorICAgIDIyNzE5LCAyMjcyMywgMjI3MjcsIDIyNzMxLCAyMjczNSwgMjI3MzksIDIyNzQyLCAyMjc0NiwgMjI3NTAsIDIyNzU0LCAKKyAgICAyMjc1OCwgMjI3NjIsIDIyNzY2LCAyMjc3MCwgMjI3NzQsIDIyNzc4LCAyMjc4MiwgMjI3ODYsIDIyNzkwLCAyMjc5NCwgCisgICAgMjI3OTgsIDIyODAyLCAyMjgwNiwgMjI4MTAsIDIyODE0LCAyMjgxOCwgMjI4MjIsIDIyODI2LCAyMjgzMCwgMjI4MzQsIAorICAgIDIyODM4LCAyMjg0MiwgMjI4NDYsIDIyODUwLCAyMjg1NCwgMjI4NTgsIDIyODYyLCAyMjg2NiwgMjI4NzAsIDIyODc0LCAKKyAgICAyMjg3NywgMjI4ODEsIDIyODg1LCAyMjg4OSwgMjI4OTMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDIyODk3LCAyMjkwMSwgMjI5MDQsIDIyOTA4LCAyMjkxMSwgMjI5MTUsIDIyOTE4LCAyMjkyMiwgMjI5MjgsIDIyOTMzLCAKKyAgICAyMjkzNywgMjI5NDAsIDIyOTQ0LCAyMjk0OCwgMjI5NTMsIDIyOTU3LCAyMjk2MiwgMjI5NjYsIDIyOTcxLCAyMjk3NSwgCisgICAgMjI5ODAsIDIyOTg0LCAyMjk4OSwgMjI5OTUsIDIyOTk5LCAyMzAwNCwgMjMwMDgsIDIzMDEzLCAyMzAxOSwgMjMwMjMsIAorICAgIDIzMDI5LCAyMzAzNSwgMjMwMzksIDIzMDQ0LCAyMzA1MiwgMjMwNjAsIDIzMDY3LCAyMzA3MiwgMjMwNzcsIDIzMDg2LCAKKyAgICAyMzA5MywgMjMxMDAsIDIzMTA1LCAyMzExMSwgMjMxMTUsIDIzMTE5LCAyMzEyMywgMjMxMjcsIDIzMTMxLCAyMzEzNSwgCisgICAgMjMxMzksIDIzMTQzLCAyMzE0NywgMjMxNTEsIDIzMTU3LCAyMzE2MiwgMjMxNjcsIDIzMTcwLCAyMzE3NCwgMjMxNzgsIAorICAgIDIzMTgzLCAyMzE4NywgMjMxOTIsIDIzMTk2LCAyMzIwMSwgMjMyMDUsIDIzMjEwLCAyMzIxNCwgMjMyMTksIDIzMjIzLCAKKyAgICAyMzIyOCwgMjMyMzIsIDIzMjM3LCAyMzI0MywgMjMyNDcsIDIzMjUyLCAyMzI1NywgMjMyNjEsIDIzMjY1LCAyMzI2OSwgCisgICAgMjMyNzMsIDIzMjc2LCAyMzI4MCwgMjMyODYsIDIzMjkxLCAyMzI5NiwgMjMzMDAsIDIzMzA0LCAyMzMwOCwgMjMzMTMsIAorICAgIDIzMzE3LCAyMzMyMiwgMjMzMjYsIDIzMzMxLCAyMzMzNCwgMjMzMzgsIDIzMzQyLCAyMzM0NywgMjMzNTEsIDIzMzU2LCAKKyAgICAyMzM2MCwgMjMzNjUsIDIzMzcxLCAyMzM3NSwgMjMzNzksIDIzMzgzLCAyMzM4NywgMjMzOTEsIDIzMzk1LCAyMzM5OSwgCisgICAgMjM0MDMsIDIzNDA3LCAyMzQxMSwgMjM0MTUsIDIzNDIxLCAyMzQyNCwgMjM0MjgsIDIzNDMyLCAyMzQzNywgMjM0NDEsIAorICAgIDIzNDQ2LCAyMzQ1MCwgMjM0NTUsIDIzNDU5LCAyMzQ2NCwgMjM0NjgsIDIzNDczLCAyMzQ3NywgMjM0ODIsIDIzNDg2LCAKKyAgICAyMzQ5MSwgMjM0OTcsIDIzNTAxLCAyMzUwNSwgMjM1MTEsIDIzNTE3LCAyMzUyMywgMjM1MjksIDIzNTMzLCAyMzUzNywgCisgICAgMjM1NDEsIDIzNTQ1LCAyMzU0OSwgMjM1NTMsIDIzNTU5LCAyMzU2MywgMjM1NjcsIDIzNTcxLCAyMzU3NiwgMjM1ODAsIAorICAgIDIzNTg1LCAyMzU4OSwgMjM1OTQsIDIzNTk4LCAyMzYwMywgMjM2MDcsIDIzNjEyLCAyMzYxNiwgMjM2MjEsIDIzNjI1LCAKKyAgICAyMzYzMCwgMjM2MzYsIDIzNjQwLCAyMzY0NiwgMjM2NTAsIDIzNjU0LCAyMzY1OCwgMjM2NjIsIDIzNjY2LCAyMzY3MCwgCisgICAgMjM2NzYsIDIzNjc5LCAyMzY4MywgMjM2ODcsIDIzNjkyLCAyMzY5NiwgMjM3MDEsIDIzNzA1LCAyMzcxMCwgMjM3MTQsIAorICAgIDIzNzE5LCAyMzcyMywgMjM3MjgsIDIzNzMyLCAyMzczNywgMjM3NDEsIDIzNzQ2LCAyMzc1MiwgMjM3NTYsIDIzNzYxLCAKKyAgICAyMzc2NSwgMjM3NzEsIDIzNzc3LCAyMzc4MSwgMjM3ODUsIDIzNzg5LCAyMzc5MywgMjM3OTcsIDIzODAxLCAyMzgwNywgCisgICAgMjM4MTAsIDIzODE0LCAyMzgxOCwgMjM4MjMsIDIzODI3LCAyMzgzMiwgMjM4MzYsIDIzODQxLCAyMzg0NywgMjM4NTEsIAorICAgIDIzODU2LCAyMzg2MCwgMjM4NjQsIDIzODY4LCAyMzg3MiwgMjM4NzYsIDIzODgwLCAyMzg4NCwgMjM4OTAsIDIzODk0LCAKKyAgICAyMzg5OCwgMjM5MDIsIDIzOTA3LCAyMzkxMSwgMjM5MTYsIDIzOTIwLCAyMzkyNSwgMjM5MjksIDIzOTM0LCAyMzkzOCwgCisgICAgMjM5NDMsIDIzOTQ3LCAyMzk1MiwgMjM5NTYsIDIzOTYxLCAyMzk2NCwgMjM5NjgsIDIzOTcyLCAyMzk3NiwgMjM5ODAsIAorICAgIDIzOTg0LCAyMzk4OCwgMjM5OTIsIDIzOTk2LCAyNDAwMiwgMjQwMDYsIDI0MDEwLCAyNDAxNCwgMjQwMTksIDI0MDIzLCAKKyAgICAyNDAyOCwgMjQwMzIsIDI0MDM3LCAyNDA0MSwgMjQwNDYsIDI0MDUwLCAyNDA1NSwgMjQwNTksIDI0MDY0LCAyNDA2OCwgCisgICAgMjQwNzMsIDI0MDc5LCAyNDA4MiwgMjQwODcsIDI0MDkxLCAyNDA5NiwgMjQxMDIsIDI0MTA4LCAyNDExNCwgMjQxMjAsIAorICAgIDI0MTI2LCAyNDEzMiwgMjQxMzgsIDI0MTQyLCAyNDE0NiwgMjQxNTAsIDI0MTU0LCAyNDE1OCwgMjQxNjIsIDI0MTY2LCAKKyAgICAyNDE3MCwgMjQxNzUsIDI0MTc5LCAyNDE4NCwgMjQxODgsIDI0MTkzLCAyNDE5NywgMjQyMDIsIDI0MjA2LCAyNDIxMSwgCisgICAgMjQyMTUsIDI0MjIwLCAyNDIyNCwgMjQyMjksIDI0MjMzLCAyNDIzNywgMjQyNDEsIDI0MjQ1LCAyNDI0OSwgMjQyNTMsIAorICAgIDI0MjU3LCAyNDI2MywgMjQyNjYsIDI0MjcwLCAyNDI3NCwgMjQyNzksIDI0MjgzLCAyNDI4OCwgMjQyOTIsIDI0Mjk3LCAKKyAgICAyNDMwMSwgMjQzMDYsIDI0MzEwLCAyNDMxNSwgMjQzMTksIDI0MzI0LCAyNDMyOCwgMjQzMzMsIDI0MzM5LCAyNDM0MywgCisgICAgMjQzNDksIDI0MzU0LCAyNDM2MCwgMjQzNjQsIDI0MzcwLCAyNDM3NSwgMjQzNzksIDI0MzgzLCAyNDM4NywgMjQzOTEsIAorICAgIDI0Mzk1LCAyNDQwMCwgMjQ0MDQsIDI0NDA4LCAyNDQxMywgMjQ0MTcsIDI0NDIyLCAyNDQyNSwgMjQ0MjksIDI0NDMzLCAKKyAgICAyNDQzNywgMjQ0NDEsIDI0NDQ1LCAyNDQ0OSwgMjQ0NTMsIDI0NDU3LCAyNDQ2MSwgMjQ0NjUsIDI0NDY5LCAyNDQ3NCwgCisgICAgMjQ0NzgsIDI0NDgyLCAyNDQ4OCwgMjQ0OTIsIDI0NDk4LCAyNDUwMiwgMjQ1MDgsIDI0NTEyLCAyNDUxNiwgMjQ1MjAsIAorICAgIDI0NTI0LCAyNDUyOCwgMjQ1MzMsIDI0NTM3LCAyNDU0MSwgMjQ1NDUsIDI0NTQ5LCAyNDU1MywgMjQ1NTcsIDI0NTYxLCAKKyAgICAyNDU2NSwgMjQ1NjksIDI0NTczLCAyNDU3OSwgMjQ1ODUsIDI0NTkxLCAyNDU5NywgMjQ2MDMsIDI0NjA4LCAyNDYxNCwgCisgICAgMjQ2MjAsIDI0NjI2LCAyNDYzMCwgMjQ2MzQsIDI0NjM4LCAyNDY0MiwgMjQ2NDYsIDI0NjUwLCAyNDY1NCwgMjQ2NTgsIAorICAgIDI0NjYyLCAyNDY2NiwgMjQ2NzAsIDI0Njc0LCAyNDY3OCwgMjQ2ODMsIDI0Njg4LCAyNDY5MywgMjQ2OTgsIDI0NzAyLCAKKyAgICAyNDcwNiwgMjQ3MTAsIDI0NzE0LCAyNDcxOCwgMjQ3MjIsIDI0NzI2LCAyNDczMCwgMjQ3MzQsIDI0NzQwLCAyNDc0NiwgCisgICAgMjQ3NTIsIDI0NzU4LCAyNDc2NCwgMjQ3NzAsIDI0Nzc2LCAyNDc4MiwgMjQ3ODgsIDI0NzkyLCAyNDc5NiwgMjQ4MDAsIAorICAgIDI0ODA0LCAyNDgwOCwgMjQ4MTIsIDI0ODE2LCAyNDgyMiwgMjQ4MjgsIDI0ODM0LCAyNDg0MCwgMjQ4NDYsIDI0ODUyLCAKKyAgICAyNDg1OCwgMjQ4NjQsIDI0ODcwLCAyNDg3NSwgMjQ4ODAsIDI0ODg1LCAyNDg5MCwgMjQ4OTYsIDI0OTAyLCAyNDkwOCwgCisgICAgMjQ5MTQsIDI0OTIwLCAyNDkyNiwgMjQ5MzIsIDI0OTM3LCAyNDk0MywgMjQ5NDksIDI0OTU1LCAyNDk2MCwgMjQ5NjYsIAorICAgIDI0OTcyLCAyNDk3OCwgMjQ5ODMsIDI0OTg4LCAyNDk5MywgMjQ5OTgsIDI1MDAzLCAyNTAwOCwgMjUwMTMsIDI1MDE4LCAKKyAgICAyNTAyMywgMjUwMjgsIDI1MDMzLCAyNTAzOCwgMjUwNDMsIDI1MDQ4LCAyNTA1MywgMjUwNTgsIDI1MDYzLCAyNTA2OCwgCisgICAgMjUwNzMsIDI1MDc4LCAyNTA4MywgMjUwODgsIDI1MDkzLCAyNTA5OCwgMjUxMDMsIDI1MTA4LCAyNTExMywgMjUxMTgsIAorICAgIDI1MTIzLCAyNTEyOCwgMjUxMzMsIDI1MTM4LCAyNTE0MywgMjUxNDgsIDI1MTUzLCAyNTE1OCwgMjUxNjMsIDI1MTY4LCAKKyAgICAyNTE3MywgMjUxNzgsIDI1MTgzLCAyNTE4OCwgMjUxOTIsIDI1MTk3LCAyNTIwMiwgMjUyMDcsIDI1MjEyLCAyNTIxNywgCisgICAgMjUyMjIsIDI1MjI3LCAyNTIzMiwgMjUyMzcsIDI1MjQyLCAyNTI0NywgMjUyNTIsIDI1MjU3LCAyNTI2MiwgMjUyNjcsIAorICAgIDI1MjcyLCAyNTI3NywgMjUyODIsIDI1Mjg3LCAyNTI5MiwgMjUyOTcsIDI1MzAyLCAyNTMwNywgMjUzMTIsIDI1MzE3LCAKKyAgICAyNTMyMSwgMjUzMjYsIDI1MzMxLCAyNTMzNiwgMjUzNDEsIDI1MzQ2LCAyNTM1MCwgMjUzNTUsIDI1MzYwLCAyNTM2NSwgCisgICAgMjUzNzAsIDI1Mzc1LCAyNTM3OSwgMjUzODQsIDI1MzkwLCAyNTM5NSwgMjU0MDAsIDI1NDA1LCAyNTQxMCwgMjU0MTYsIAorICAgIDI1NDIxLCAyNTQyNiwgMjU0MzEsIDI1NDM2LCAyNTQ0MSwgMjU0NDYsIDI1NDUxLCAyNTQ1NiwgMjU0NjEsIDI1NDY2LCAKKyAgICAyNTQ3MSwgMjU0NzYsIDI1NDgxLCAyNTQ4NiwgMjU0OTEsIDI1NDk2LCAyNTUwMSwgMjU1MDYsIDI1NTExLCAyNTUxNiwgCisgICAgMjU1MjEsIDI1NTI2LCAyNTUzMSwgMjU1MzYsIDI1NTQxLCAyNTU0NiwgMjU1NTEsIDI1NTU2LCAyNTU2MSwgMjU1NjYsIAorICAgIDI1NTcxLCAyNTU3NiwgMjU1ODEsIDI1NTg2LCAyNTU5MSwgMjU1OTYsIDI1NjAxLCAyNTYwNiwgMjU2MTEsIDI1NjE2LCAKKyAgICAyNTYyMSwgMjU2MjYsIDI1NjMxLCAyNTYzNiwgMjU2NDIsIDI1NjQ3LCAyNTY1MiwgMjU2NTcsIDI1NjYyLCAyNTY2NywgCisgICAgMjU2NzIsIDI1Njc3LCAyNTY4MiwgMjU2ODcsIDI1NjkyLCAyNTY5NywgMjU3MDIsIDI1NzA3LCAyNTcxMiwgMjU3MTcsIAorICAgIDI1NzIyLCAyNTcyNywgMjU3MzIsIDI1NzM3LCAyNTc0MiwgMjU3NDcsIDI1NzUyLCAyNTc1NywgMjU3NjIsIDI1NzY3LCAKKyAgICAyNTc3MiwgMjU3NzcsIDI1NzgyLCAyNTc4NywgMjU3OTIsIDI1Nzk3LCAyNTgwMiwgMjU4MDcsIDI1ODEyLCAyNTgxNywgCisgICAgMjU4MjIsIDI1ODI3LCAyNTgzMiwgMjU4MzgsIDI1ODQyLCAyNTg0NiwgMjU4NTAsIDI1ODU0LCAyNTg1OCwgMjU4NjIsIAorICAgIDI1ODY2LCAyNTg3MCwgMjU4NzYsIDI1ODgyLCAyNTg4OCwgMjU4OTQsIDI1OTAwLCAyNTkwNiwgMjU5MTIsIDI1OTE5LCAKKyAgICAyNTkyNSwgMjU5MzAsIDI1OTM1LCAyNTk0MCwgMjU5NDUsIDI1OTUwLCAyNTk1NSwgMjU5NjAsIDI1OTY1LCAyNTk3MCwgCisgICAgMjU5NzUsIDI1OTgwLCAyNTk4NSwgMjU5OTAsIDI1OTk1LCAyNjAwMCwgMjYwMDUsIDI2MDEwLCAyNjAxNSwgMjYwMjAsIAorICAgIDI2MDI1LCAyNjAzMCwgMjYwMzUsIDI2MDQwLCAyNjA0NSwgMjYwNTAsIDI2MDU1LCAyNjA2MCwgMjYwNjUsIDAsIDAsIDAsIAorICAgIDI2MDcyLCAyNjA4MiwgMjYwODYsIDI2MDkzLCAyNjA5NywgMjYxMDEsIDI2MTA1LCAyNjExMywgMjYxMTcsIDI2MTIyLCAKKyAgICAyNjEyNywgMjYxMzIsIDI2MTM2LCAyNjE0MSwgMjYxNDYsIDI2MTQ5LCAyNjE1MywgMjYxNTcsIDI2MTY2LCAyNjE3MCwgCisgICAgMjYxNzQsIDI2MTgwLCAyNjE4NCwgMjYxODgsIDI2MTk2LCAyNjIwMCwgMjYyMDgsIDI2MjE0LCAyNjIyMCwgMjYyMjYsIAorICAgIDI2MjMyLCAyNjI0MiwgMjYyNDgsIDI2MjUyLCAyNjI2MSwgMjYyNjQsIDI2MjcwLCAyNjI3NCwgMjYyODAsIDI2Mjg1LCAKKyAgICAyNjI5MSwgMjYyOTksIDI2MzA1LCAyNjMxMCwgMjYzMTcsIDI2MzIyLCAyNjMyNiwgMjYzMzAsIDI2MzQwLCAyNjM0NiwgCisgICAgMjYzNTAsIDI2MzYwLCAyNjM2NiwgMjYzNzAsIDI2Mzc0LCAyNjM4MSwgMjYzODksIDI2Mzk1LCAyNjQwMSwgMjY0MTAsIAorICAgIDI2NDE0LCAyNjQxOCwgMjY0MjIsIDI2NDMwLCAyNjQzNywgMjY0NDEsIDI2NDQ1LCAyNjQ0OSwgMjY0NTMsIDI2NDU3LCAKKyAgICAyNjQ2MSwgMjY0NjUsIDI2NDY5LCAyNjQ3MywgMjY0NzcsIDI2NDgxLCAyNjQ4NiwgMjY0OTEsIDI2NDk2LCAyNjUwMCwgCisgICAgMjY1MDQsIDI2NTA4LCAyNjUxMiwgMjY1MTYsIDI2NTIwLCAyNjUyOCwgMjY1MzYsIDI2NTQ0LCAyNjU1MiwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMjY1NjAsIDI2NTY0LCAyNjU2OCwgMjY1NzIsIDI2NTc2LCAyNjU4MSwgMjY1ODYsIDI2NTkxLCAKKyAgICAyNjU5NiwgMjY2MDAsIDI2NjA0LCAyNjYwOSwgMjY2MTMsIDAsIDI2NjE3LCAyNjYyMiwgMjY2MjcsIDI2NjMyLCAyNjYzNiwgCisgICAgMjY2NDEsIDI2NjQ2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNjY1MSwgMjY2NTUsIDI2NjU5LCAKKyAgICAyNjY2MywgMjY2NjcsIDI2NjcyLCAyNjY3NywgMjY2ODIsIDI2Njg3LCAyNjY5MSwgMjY2OTUsIDI2NzAwLCAyNjcwNCwgCisgICAgMjY3MDgsIDI2NzEzLCAyNjcxOCwgMjY3MjMsIDI2NzI4LCAyNjczMiwgMjY3MzcsIDI2NzQyLCAyNjc0NywgMjY3NTMsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI2NzU4LCAyNjc2MiwgMjY3NjYsIDI2NzcwLCAyNjc3NCwgMjY3NzksIDI2Nzg0LCAKKyAgICAyNjc4OSwgMjY3OTQsIDI2Nzk4LCAyNjgwMiwgMjY4MDcsIDI2ODExLCAyNjgxNSwgMjY4MjAsIDI2ODI1LCAyNjgzMCwgCisgICAgMjY4MzUsIDI2ODM5LCAyNjg0NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjY4NDksIDI2ODUzLCAKKyAgICAyNjg1NywgMjY4NjEsIDI2ODY1LCAyNjg3MCwgMjY4NzUsIDI2ODgwLCAyNjg4NSwgMjY4ODksIDI2ODkzLCAyNjg5OCwgCisgICAgMjY5MDIsIDAsIDI2OTA2LCAyNjkxMSwgMjY5MTYsIDAsIDI2OTIxLCAyNjkyNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMjY5MzEsIDI2OTM0LCAyNjkzOCwgMjY5NDIsIDI2OTQ2LCAyNjk1MCwgMjY5NTQsIDI2OTU4LCAKKyAgICAyNjk2MiwgMjY5NjYsIDI2OTcwLCAyNjk3NCwgMjY5NzgsIDI2OTgyLCAyNjk4NiwgMjY5OTAsIDI2OTk0LCAyNjk5OCwgCisgICAgMjcwMDEsIDI3MDA1LCAyNzAwOSwgMjcwMTMsIDI3MDE3LCAyNzAyMSwgMjcwMjUsIDI3MDI5LCAyNzAzMywgMjcwMzcsIAorICAgIDI3MDQxLCAyNzA0NSwgMjcwNDksIDI3MDUzLCAyNzA1NywgMjcwNjAsIDI3MDY0LCAyNzA2OCwgMjcwNzQsIDI3MDgwLCAKKyAgICAyNzA4NiwgMjcwOTIsIDI3MDk4LCAyNzEwNCwgMjcxMTAsIDI3MTE2LCAyNzEyMiwgMjcxMjgsIDI3MTM0LCAyNzE0MCwgCisgICAgMjcxNDYsIDI3MTUyLCAyNzE2MSwgMjcxNzAsIDI3MTc2LCAyNzE4MiwgMjcxODgsIDI3MTkzLCAyNzE5NywgMjcyMDIsIAorICAgIDI3MjA3LCAyNzIxMiwgMjcyMTYsIDI3MjIxLCAyNzIyNiwgMjcyMzEsIDI3MjM1LCAyNzI0MCwgMjcyNDQsIDI3MjQ5LCAKKyAgICAyNzI1NCwgMjcyNTksIDI3MjY0LCAyNzI2OCwgMjcyNzIsIDI3Mjc2LCAyNzI4MCwgMjcyODQsIDI3Mjg4LCAyNzI5MiwgCisgICAgMjcyOTYsIDI3MzAwLCAyNzMwNCwgMjczMTAsIDI3MzE0LCAyNzMxOCwgMjczMjIsIDI3MzI2LCAyNzMzMCwgMjczMzgsIAorICAgIDI3MzQ0LCAyNzM0OCwgMjczNTQsIDI3MzU4LCAyNzM2NCwgMjczNjgsIDAsIDAsIDI3MzcyLCAyNzM3NiwgMjczNzksIAorICAgIDI3MzgyLCAyNzM4NSwgMjczODgsIDI3MzkxLCAyNzM5NCwgMjczOTcsIDI3NDAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNzQwMywgCisgICAgMjc0MTEsIDI3NDE5LCAyNzQyNywgMjc0MzUsIDI3NDQzLCAyNzQ1MSwgMjc0NTksIDI3NDY3LCAyNzQ3NSwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMjc0ODMsIDI3NDg2LCAyNzQ4OSwgMjc0OTIsIDI3NDk3LCAyNzUwMCwgMjc1MDUsIDI3NTEyLCAyNzUyMCwgCisgICAgMjc1MjUsIDI3NTMyLCAyNzUzNSwgMjc1NDIsIDI3NTQ5LCAyNzU1NiwgMCwgMjc1NjAsIDI3NTY0LCAyNzU2NywgMjc1NzAsIAorICAgIDI3NTczLCAyNzU3NiwgMjc1NzksIDI3NTgyLCAyNzU4NSwgMjc1ODgsIDAsIDAsIDAsIDAsIDAsIDAsIDI3NTkxLCAyNzU5NCwgCisgICAgMjc1OTcsIDI3NjAwLCAyNzYwMywgMjc2MDYsIDI3NjEwLCAyNzYxNCwgMjc2MTgsIDI3NjIxLCAyNzYyNSwgMjc2MjksIAorICAgIDI3NjMyLCAyNzYzNiwgMjc2NDAsIDI3NjQzLCAyNzY0NywgMjc2NTEsIDI3NjU1LCAyNzY1OSwgMjc2NjMsIDI3NjY3LCAKKyAgICAyNzY3MSwgMjc2NzQsIDI3Njc4LCAyNzY4MiwgMjc2ODYsIDI3Njg5LCAyNzY5MywgMjc2OTcsIDI3NzAxLCAyNzcwNSwgCisgICAgMjc3MDksIDI3NzEzLCAyNzcxNywgMjc3MjEsIDI3NzI4LCAyNzczMywgMjc3MzgsIDI3NzQzLCAyNzc0OCwgMjc3NTQsIAorICAgIDI3NzYwLCAyNzc2NiwgMjc3NzIsIDI3Nzc3LCAyNzc4MywgMjc3ODksIDI3Nzk0LCAyNzgwMCwgMjc4MDYsIDI3ODEyLCAKKyAgICAyNzgxOCwgMjc4MjQsIDI3ODI5LCAyNzgzNSwgMjc4NDAsIDI3ODQ2LCAyNzg1MiwgMjc4NTgsIDI3ODY0LCAyNzg3MCwgCisgICAgMjc4NzUsIDI3ODgwLCAyNzg4NiwgMjc4OTIsIDI3ODk3LCAyNzkwMywgMjc5MDgsIDI3OTE0LCAyNzkxOSwgMjc5MjQsIAorICAgIDI3OTMwLCAyNzkzNiwgMjc5NDIsIDI3OTQ4LCAyNzk1NCwgMjc5NjAsIDI3OTY2LCAyNzk3MiwgMjc5NzgsIDI3OTg0LCAKKyAgICAyNzk5MCwgMjc5OTYsIDI4MDAxLCAyODAwNiwgMjgwMTIsIDI4MDE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyODAyNCwgCisgICAgMjgwMzMsIDI4MDQyLCAyODA1MCwgMjgwNTgsIDI4MDY4LCAyODA3NiwgMjgwODUsIDI4MDkyLCAyODA5OSwgMjgxMDYsIAorICAgIDI4MTE0LCAyODEyMiwgMjgxMzAsIDI4MTM4LCAyODE0NiwgMjgxNTQsIDI4MTYyLCAyODE3MCwgMjgxNzcsIDI4MTg1LCAKKyAgICAyODE5MywgMjgyMDEsIDI4MjA5LCAyODIxNywgMjgyMjcsIDI4MjM3LCAyODI0NywgMjgyNTcsIDI4MjY3LCAyODI3NywgCisgICAgMjgyODcsIDI4Mjk3LCAyODMwNywgMjgzMTcsIDI4MzI3LCAyODMzNywgMjgzNDcsIDI4MzU3LCAyODM2NSwgMjgzNzMsIAorICAgIDI4MzgzLCAyODM5MSwgMCwgMCwgMCwgMCwgMCwgMjg0MDEsIDI4NDA1LCAyODQwOSwgMjg0MTMsIDI4NDE3LCAyODQyMSwgCisgICAgMjg0MjUsIDI4NDI5LCAyODQzMywgMjg0MzcsIDI4NDQxLCAyODQ0NSwgMjg0NDksIDI4NDUzLCAyODQ1NywgMjg0NjEsIAorICAgIDI4NDY1LCAyODQ2OSwgMjg0NzMsIDI4NDc3LCAyODQ4MSwgMjg0ODUsIDI4NDg5LCAyODQ5MywgMjg0OTksIDI4NTAzLCAKKyAgICAyODUwOSwgMjg1MTMsIDI4NTE5LCAyODUyMywgMjg1MjksIDI4NTMzLCAyODUzNywgMjg1NDEsIDI4NTQ1LCAyODU0OSwgCisgICAgMjg1NTMsIDI4NTU5LCAyODU2NSwgMjg1NzEsIDI4NTc3LCAyODU4MywgMjg1ODksIDI4NTk0LCAyODYwMCwgMjg2MDYsIAorICAgIDI4NjEyLCAyODYxOCwgMjg2MjUsIDI4NjMxLCAyODYzNiwgMjg2NDEsIDI4NjQ1LCAyODY0OSwgMjg2NTMsIDI4NjU3LCAKKyAgICAyODY2MSwgMjg2NjUsIDI4NjY5LCAyODY3NSwgMjg2ODEsIDI4Njg3LCAyODY5MiwgMjg2OTksIDI4NzA0LCAyODcwOSwgCisgICAgMjg3MTUsIDI4NzIwLCAyODcyNywgMjg3MzQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI4NzQwLCAyODc0NiwgCisgICAgMjg3NTAsIDI4NzU1LCAyODc2MCwgMjg3NjUsIDI4NzcwLCAyODc3NSwgMjg3ODAsIDI4Nzg1LCAyODc5MCwgMjg3OTUsIAorICAgIDI4ODAwLCAyODgwNSwgMjg4MTAsIDI4ODE1LCAyODgxOSwgMjg4MjMsIDI4ODI4LCAyODgzMywgMjg4MzgsIDI4ODQyLCAKKyAgICAyODg0NiwgMjg4NTEsIDI4ODU2LCAyODg2MSwgMjg4NjYsIDI4ODcxLCAyODg3NiwgMjg4ODAsIDI4ODg1LCAwLCAyODg5MCwgCisgICAgMjg4OTUsIDI4OTAwLCAyODkwNSwgMjg5MTEsIDI4OTE3LCAyODkyMywgMjg5MjksIDI4OTM0LCAyODkzOSwgMjg5NDUsIAorICAgIDI4OTUyLCAwLCAwLCAwLCAwLCAyODk1OSwgMjg5NjQsIDI4OTcwLCAyODk3NiwgMjg5ODIsIDI4OTg3LCAyODk5MiwgCisgICAgMjg5OTcsIDI5MDAzLCAyOTAwOSwgMjkwMTQsIDI5MDE5LCAwLCAwLCAwLCAwLCAyOTAyNCwgMCwgMCwgMCwgMjkwMjksIAorICAgIDI5MDM0LCAyOTAzOSwgMjkwNDQsIDI5MDQ4LCAyOTA1MiwgMjkwNTYsIDI5MDYwLCAyOTA2NCwgMjkwNjgsIDI5MDcyLCAKKyAgICAyOTA3NiwgMjkwODAsIDI5MDg1LCAyOTA5MSwgMjkwOTcsIDI5MTAzLCAyOTEwOSwgMjkxMTQsIDI5MTIwLCAyOTEyNiwgCisgICAgMjkxMzIsIDI5MTM3LCAyOTE0MywgMjkxNDgsIDI5MTU0LCAyOTE2MCwgMjkxNjUsIDI5MTcxLCAyOTE3NywgMjkxODMsIAorICAgIDI5MTg4LCAyOTE5MywgMjkxOTgsIDI5MjA0LCAyOTIxMCwgMjkyMTUsIDI5MjIxLCAyOTIyNiwgMjkyMzIsIDI5MjM3LCAKKyAgICAyOTI0MywgMCwgMCwgMjkyNDksIDI5MjU1LCAyOTI2MSwgMjkyNjcsIDI5MjczLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAyOTI3OSwgMjkyODcsIDI5Mjk1LCAyOTMwMiwgMjkzMTAsIDI5MzE4LCAyOTMyNSwgMjkzMzMsIDI5MzQxLCAKKyAgICAyOTM0OSwgMjkzNTcsIDI5MzY0LCAyOTM3MiwgMjkzODAsIDI5Mzg3LCAyOTM5NSwgMjk0MDMsIDI5NDEwLCAyOTQxOCwgCisgICAgMjk0MjYsIDI5NDMzLCAyOTQ0MCwgMjk0NDgsIDI5NDU1LCAyOTQ2MiwgMjk0NzAsIDI5NDc3LCAyOTQ4NSwgMjk0OTMsIAorICAgIDI5NTAxLCAyOTUwOSwgMjk1MTcsIDI5NTI1LCAyOTUzMiwgMjk1NDAsIDI5NTQ4LCAyOTU1NSwgMjk1NjMsIDI5NTcxLCAKKyAgICAyOTU3OSwgMjk1ODcsIDI5NTk1LCAyOTYwMywgMjk2MTEsIDAsIDAsIDAsIDAsIDI5NjE5LCAyOTYyOCwgMjk2MzYsIAorICAgIDI5NjQ0LCAyOTY1MSwgMjk2NTksIDI5NjY2LCAyOTY3NCwgMjk2ODEsIDI5Njg5LCAyOTY5NywgMjk3MDUsIDI5NzEzLCAKKyAgICAyOTcyMSwgMjk3MjksIDI5NzM3LCAyOTc0NSwgMjk3NTMsIDI5NzYxLCAyOTc2OSwgMjk3NzcsIDI5Nzg1LCAyOTc5MywgCisgICAgMjk4MDEsIDI5ODA5LCAyOTgxNiwgMCwgMCwgMCwgMCwgMCwgMCwgMjk4MjMsIDI5ODMwLCAyOTgzNiwgMjk4NDIsIDI5ODQ4LCAKKyAgICAyOTg1NCwgMjk4NjAsIDI5ODY2LCAyOTg3MiwgMjk4NzgsIDI5ODg0LCAwLCAwLCAwLCAyOTg5MSwgMjk4OTgsIDI5OTA1LCAKKyAgICAyOTkwOSwgMjk5MTUsIDI5OTIxLCAyOTkyNywgMjk5MzMsIDI5OTM5LCAyOTk0NSwgMjk5NTEsIDI5OTU3LCAyOTk2MywgCisgICAgMjk5NjksIDI5OTc1LCAyOTk4MSwgMjk5ODcsIDI5OTkzLCAyOTk5OSwgMzAwMDMsIDMwMDA5LCAzMDAxNSwgMzAwMjEsIAorICAgIDMwMDI3LCAzMDAzMywgMzAwMzksIDMwMDQ1LCAzMDA1MSwgMzAwNTcsIDMwMDYzLCAzMDA2OSwgMzAwNzUsIDMwMDgxLCAKKyAgICAzMDA4NywgMzAwOTMsIDMwMDk3LCAzMDEwMiwgMzAxMDcsIDMwMTEyLCAzMDExNiwgMzAxMjEsIDMwMTI1LCAzMDEzMCwgCisgICAgMzAxMzUsIDMwMTQwLCAzMDE0NCwgMzAxNDksIDMwMTU0LCAzMDE1OSwgMzAxNjQsIDMwMTY5LCAzMDE3MywgMzAxNzgsIAorICAgIDMwMTgzLCAzMDE4OCwgMzAxOTMsIDMwMTk3LCAzMDIwMSwgMzAyMDYsIDMwMjExLCAzMDIxNiwgMzAyMjEsIDAsIDAsIAorICAgIDMwMjI3LCAzMDIzMSwgMzAyMzgsIDMwMjQzLCAzMDI0OSwgMzAyNTUsIDMwMjYwLCAzMDI2NiwgMzAyNzIsIDMwMjc3LCAKKyAgICAzMDI4MywgMzAyODksIDMwMjk1LCAzMDMwMSwgMzAzMDcsIDMwMzEyLCAzMDMxNywgMzAzMjMsIDMwMzI4LCAzMDMzNCwgCisgICAgMzAzMzksIDMwMzQ1LCAzMDM1MSwgMzAzNTcsIDMwMzYzLCAzMDM2NywgMzAzNzIsIDMwMzc3LCAzMDM4MywgMzAzODksIAorICAgIDMwMzk0LCAzMDQwMCwgMzA0MDYsIDMwNDEwLCAzMDQxNSwgMzA0MjAsIDMwNDI1LCAzMDQzMCwgMzA0MzUsIDMwNDQwLCAKKyAgICAzMDQ0NSwgMzA0NTEsIDMwNDU3LCAzMDQ2MywgMzA0NjgsIDMwNDczLCAzMDQ3NywgMzA0ODIsIDMwNDg2LCAzMDQ5MSwgCisgICAgMzA0OTUsIDMwNTAwLCAzMDUwNSwgMzA1MTAsIDMwNTE1LCAzMDUyMiwgMzA1MjksIDMwNTM2LCAzMDU0NiwgMzA1NTUsIAorICAgIDMwNTYyLCAzMDU2OCwgMzA1NzksIDMwNTg0LCAzMDU5MCwgMCwgMzA1OTYsIDMwNjAxLCAzMDYwNiwgMzA2MTQsIDMwNjIwLCAKKyAgICAzMDYyOCwgMzA2MzMsIDMwNjM5LCAzMDY0NSwgMzA2NTEsIDMwNjU2LCAzMDY2MiwgMzA2NjcsIDMwNjc0LCAzMDY4MCwgCisgICAgMzA2ODUsIDMwNjkxLCAzMDY5NywgMzA3MDMsIDMwNzEwLCAzMDcxNywgMzA3MjQsIDMwNzI5LCAzMDczNCwgMzA3NDEsIAorICAgIDMwNzQ4LCAzMDc1NSwgMzA3NjIsIDMwNzY5LCAwLCAwLCAzMDc3NiwgMzA3ODMsIDMwNzkwLCAzMDc5NiwgMzA4MDIsIAorICAgIDMwODA4LCAzMDgxNCwgMzA4MjAsIDMwODI2LCAzMDgzMiwgMzA4MzgsIDAsIDAsIDAsIDAsIDAsIDAsIDMwODQ0LCAzMDg1MCwgCisgICAgMzA4NTUsIDMwODYwLCAzMDg2NSwgMzA4NzAsIDMwODc1LCAzMDg4MCwgMzA4ODUsIDMwODkwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAzMDg5NSwgMzA5MDAsIDMwOTA1LCAzMDkxMCwgMzA5MTUsIDMwOTIwLCAzMDkyNSwgMzA5MzQsIDMwOTQxLCAzMDk0NiwgCisgICAgMzA5NTEsIDMwOTU2LCAzMDk2MSwgMzA5NjYsIDAsIDAsIDMwOTcxLCAzMDk3OCwgMzA5ODEsIDMwOTg0LCAzMDk4NywgCisgICAgMzA5OTIsIDMwOTk2LCAzMTAwMiwgMzEwMDcsIDMxMDEzLCAzMTAyMCwgMzEwMjgsIDMxMDMyLCAzMTAzNywgMzEwNDEsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMxMDQ2LCAzMTA1MiwgMzEwNTgsIAorICAgIDMxMDYyLCAzMTA2NiwgMzEwNzAsIDMxMDc0LCAzMTA4MCwgMzEwODQsIDMxMDkwLCAzMTA5NCwgMzExMDAsIDMxMTA2LCAKKyAgICAzMTExNCwgMzExMjAsIDMxMTI4LCAzMTEzMiwgMzExMzYsIDMxMTQwLCAzMTE0NiwgMzExNDksIDMxMTU1LCAzMTE1OSwgCisgICAgMzExNjUsIDMxMTY5LCAzMTE3MywgMzExNzksIDMxMTgzLCAzMTE4OSwgMzExOTMsIDMxMTk5LCAzMTIwNywgMzEyMTUsIAorICAgIDMxMjIzLCAzMTIyOSwgMzEyMzMsIDMxMjM5LCAzMTI0MywgMzEyNDksIDMxMjUyLCAzMTI1NSwgMzEyNjEsIDMxMjY1LCAKKyAgICAzMTI3MSwgMzEyNzQsIDMxMjc3LCAzMTI4MSwgMzEyODUsIDMxMjg5LCAzMTI5NSwgMzEzMDEsIDMxMzA1LCAzMTMwOCwgCisgICAgMzEzMTIsIDMxMzE3LCAzMTMyMiwgMzEzMjksIDMxMzM0LCAzMTM0MSwgMzEzNDgsIDMxMzU3LCAzMTM2NCwgMzEzNzMsIAorICAgIDMxMzc4LCAzMTM4NSwgMzEzOTIsIDMxNDAxLCAzMTQwNiwgMzE0MTMsIDMxNDE4LCAzMTQyNCwgMzE0MzAsIDMxNDM2LCAKKyAgICAzMTQ0MiwgMzE0NDgsIDMxNDU0LCAwLCAwLCAwLCAwLCAzMTQ2MCwgMzE0NjQsIDMxNDY3LCAzMTQ3MCwgMzE0NzMsIAorICAgIDMxNDc2LCAzMTQ3OSwgMzE0ODIsIDMxNDg1LCAzMTQ4OCwgMzE0OTEsIDMxNDk0LCAzMTQ5NywgMzE1MDAsIDMxNTA1LCAKKyAgICAzMTUxMCwgMzE1MTUsIDMxNTE4LCAzMTUyMywgMzE1MjgsIDMxNTMzLCAzMTUzOCwgMzE1NDUsIDMxNTUwLCAzMTU1NSwgCisgICAgMzE1NjAsIDMxNTY1LCAzMTU3MiwgMzE1NzgsIDMxNTg0LCAzMTU5MCwgMzE1OTYsIDMxNjAyLCAzMTYxMSwgMzE2MjAsIAorICAgIDMxNjI2LCAzMTYzMiwgMzE2NDEsIDMxNjUwLCAzMTY1OSwgMzE2NjgsIDMxNjc3LCAzMTY4NiwgMzE2OTUsIDMxNzA0LCAwLCAKKyAgICAwLCAwLCAzMTcxMywgMzE3MTgsIDMxNzIzLCAzMTcyOCwgMzE3MzIsIDMxNzM2LCAzMTc0MCwgMzE3NDUsIDMxNzQ5LCAKKyAgICAzMTc1MywgMzE3NTgsIDMxNzYyLCAzMTc2NywgMzE3NzIsIDMxNzc3LCAzMTc4MiwgMzE3ODcsIDMxNzkyLCAzMTc5NywgCisgICAgMzE4MDIsIDMxODA3LCAzMTgxMSwgMzE4MTUsIDMxODIwLCAzMTgyNSwgMzE4MzAsIDMxODM0LCAzMTgzOCwgMzE4NDMsIAorICAgIDMxODQ4LCAzMTg1MywgMzE4NTgsIDMxODYzLCAzMTg2NywgMzE4NzMsIDMxODc5LCAzMTg4NSwgMzE4OTEsIDMxODk3LCAKKyAgICAzMTkwMywgMzE5MDksIDMxOTE1LCAzMTkyMSwgMzE5MjYsIDMxOTMxLCAzMTkzOCwgMzE5NDYsIDMxOTUxLCAzMTk1NiwgCisgICAgMzE5NjEsIDMxOTY1LCAzMTk2OSwgMzE5NzMsIDMxOTc3LCAzMTk4MSwgMzE5ODUsIDMxOTg5LCAzMTk5MywgMzE5OTcsIAorICAgIDMyMDAxLCAzMjAwNiwgMzIwMTEsIDMyMDE2LCAzMjAyMiwgMzIwMjgsIDMyMDMyLCAzMjAzOCwgMzIwNDIsIDMyMDQ4LCAKKyAgICAzMjA1NCwgMzIwNTksIDMyMDY2LCAzMjA3MCwgMzIwNzYsIDMyMDgwLCAzMjA4NiwgMzIwOTEsIDMyMDk4LCAzMjEwNSwgCisgICAgMzIxMTAsIDMyMTE3LCAzMjEyMiwgMzIxMjcsIDMyMTMyLCAzMjEzOSwgMzIxNDMsIDMyMTQ5LCAzMjE1NiwgMzIxNjMsIAorICAgIDMyMTY4LCAzMjE3NSwgMzIxODIsIDMyMTg2LCAzMjE5MiwgMzIxOTcsIDMyMjAyLCAzMjIwOSwgMzIyMTQsIDMyMjE5LCAKKyAgICAzMjIyNCwgMzIyMjksIDMyMjMzLCAzMjIzNywgMzIyNDIsIDMyMjQ3LCAzMjI1NCwgMzIyNjAsIDMyMjY1LCAzMjI3MiwgCisgICAgMzIyNzcsIDMyMjg0LCAzMjI4OSwgMzIyOTksIDMyMzA1LCAzMjMxMSwgMzIzMTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDMyMzE5LCAzMjMyOCwgMzIzMzUsIDMyMzQyLCAzMjM0OSwgMzIzNTMsIDMyMzU4LCAzMjM2MywgMzIzNjgsIDMyMzczLCAKKyAgICAzMjM3OCwgMzIzODMsIDMyMzg4LCAzMjM5MywgMzIzOTgsIDMyNDAzLCAzMjQwOCwgMzI0MTMsIDMyNDE3LCAzMjQyMSwgCisgICAgMzI0MjYsIDMyNDMxLCAzMjQzNiwgMzI0NDEsIDMyNDQ2LCAzMjQ1MSwgMzI0NTUsIDMyNDYwLCAzMjQ2NSwgMzI0NzAsIAorICAgIDMyNDc1LCAzMjQ3OSwgMzI0ODQsIDMyNDg5LCAzMjQ5MywgMzI0OTgsIDMyNTAzLCAzMjUwOCwgMzI1MTMsIDMyNTE4LCAKKyAgICAzMjUyMiwgMzI1MjgsIDMyNTM1LCAzMjU0MSwgMzI1NDYsIDMyNTUxLCAzMjU1NywgMzI1NjIsIDMyNTY4LCAzMjU3MywgCisgICAgMzI1NzksIDMyNTg1LCAzMjU5MCwgMzI1OTYsIDMyNjAyLCAzMjYwNywgMzI2MTMsIDMyNjE5LCAzMjYyNSwgMzI2MzAsIDAsIAorICAgIDAsIDAsIDMyNjM1LCAzMjY0MSwgMzI2NTEsIDMyNjU3LCAzMjY2NSwgMzI2NzEsIDMyNjc2LCAzMjY4MCwgMzI2ODQsIAorICAgIDMyNjg4LCAzMjY5MiwgMzI2OTYsIDMyNzAwLCAzMjcwNCwgMzI3MDgsIDAsIDAsIDAsIDMyNzEyLCAzMjcxNywgMzI3MjIsIAorICAgIDMyNzI3LCAzMjczNCwgMzI3NDAsIDMyNzQ2LCAzMjc1MiwgMzI3NTgsIDMyNzY0LCAzMjc3MCwgMzI3NzYsIDMyNzgyLCAKKyAgICAzMjc4OCwgMzI3OTUsIDMyODAyLCAzMjgwOSwgMzI4MTYsIDMyODIzLCAzMjgzMCwgMzI4MzcsIDMyODQ0LCAzMjg1MSwgCisgICAgMzI4NTgsIDMyODY1LCAzMjg3MiwgMzI4NzksIDMyODg2LCAzMjg5MywgMzI5MDAsIDMyOTA3LCAzMjkxNCwgMzI5MjEsIAorICAgIDMyOTI4LCAzMjkzNSwgMzI5NDIsIDMyOTQ5LCAzMjk1NiwgMzI5NjMsIDMyOTcwLCAzMjk3NywgMzI5ODQsIDMyOTkxLCAKKyAgICAzMjk5OCwgMzMwMDYsIDMzMDE0LCAzMzAyMiwgMzMwMjgsIDMzMDM0LCAzMzA0MCwgMzMwNDgsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMzMDU3LCAzMzA2NSwgMzMwNzMsIDMzMDgxLCAzMzA4OSwgMzMwOTksIAorICAgIDMzMTA5LCAzMzExOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzMxMjksIDMzMTM0LCAzMzEzOSwgMzMxNDQsIDMzMTQ5LCAKKyAgICAzMzE1OCwgMzMxNjksIDMzMTc4LCAzMzE4OSwgMzMxOTUsIDMzMjA4LCAzMzIxNCwgMzMyMjEsIDMzMjI4LCAzMzIzMywgCisgICAgMzMyMzksIDMzMjQ1LCAzMzI1NiwgMzMyNjUsIDMzMjcyLCAzMzI3OSwgMzMyODgsIDMzMjk1LCAzMzMwNCwgMzMzMTQsIAorICAgIDMzMzI0LCAzMzMzMSwgMzMzMzgsIDMzMzQ1LCAzMzM1NSwgMzMzNjAsIDMzMzY4LCAzMzM3NCwgMzMzODIsIDMzMzkxLCAKKyAgICAzMzM5NiwgMzM0MDMsIDMzNDA5LCAzMzQxNCwgMCwgMzM0MTksIDMzNDI1LCAwLCAwLCAwLCAwLCAwLCAwLCAzMzQzMiwgCisgICAgMzM0MzcsIDMzNDQzLCAzMzQ0OSwgMzM0NTcsIDMzNDYzLCAzMzQ2OSwgMzM0NzUsIDMzNDgwLCAzMzQ4NywgMzM0OTIsIAorICAgIDMzNDk4LCAzMzUwNCwgMzM1MTIsIDMzNTE4LCAzMzUyNiwgMzM1MzEsIDMzNTM4LCAzMzU0NCwgMzM1NTIsIDMzNTYwLCAKKyAgICAzMzU2NiwgMzM1NzIsIDMzNTc5LCAzMzU4NiwgMzM1OTIsIDMzNTk5LCAzMzYwNSwgMzM2MTEsIDMzNjE2LCAzMzYyMiwgCisgICAgMzM2MzAsIDMzNjM4LCAzMzY0NCwgMzM2NTAsIDMzNjU2LCAzMzY2MiwgMzM2NzAsIDMzNjc0LCAzMzY4MCwgMzM2ODYsIAorICAgIDMzNjkyLCAzMzY5OCwgMzM3MDQsIDMzNzEwLCAzMzcxNCwgMzM3MTksIDMzNzI0LCAzMzczMSwgMzM3MzYsIDMzNzQwLCAKKyAgICAzMzc0NiwgMzM3NTEsIDMzNzU2LCAzMzc2MCwgMzM3NjUsIDMzNzcwLCAzMzc3NCwgMzM3NzksIDMzNzg0LCAzMzc5MSwgCisgICAgMzM3OTUsIDMzODAwLCAzMzgwNSwgMzM4MDksIDMzODE0LCAzMzgxOCwgMzM4MjMsIDMzODI3LCAzMzgzMiwgMzM4MzcsIAorICAgIDMzODQzLCAzMzg0OCwgMzM4NTMsIDMzODU3LCAzMzg2MiwgMzM4NjgsIDMzODc1LCAzMzg4MCwgMzM4ODUsIDMzODkwLCAKKyAgICAzMzg5NSwgMzM5MDAsIDMzOTA0LCAzMzkxMCwgMzM5MTcsIDMzOTI0LCAzMzkyOSwgMzM5MzQsIDMzOTM4LCAzMzk0NCwgCisgICAgMzM5NTAsIDMzOTU1LCAzMzk2MCwgMzM5NjUsIDMzOTcxLCAzMzk3NiwgMzM5ODIsIDMzOTg3LCAzMzk5MywgMzM5OTksIAorICAgIDM0MDA1LCAzNDAxMiwgMzQwMTksIDM0MDI2LCAzNDAzMywgMzQwNDAsIDM0MDQ3LCAzNDA1MiwgMzQwNjEsIDM0MDcxLCAKKyAgICAzNDA4MSwgMzQwOTEsIDM0MTAxLCAzNDExMSwgMzQxMjEsIDM0MTM0LCAzNDE0NCwgMzQxNTQsIDM0MTY0LCAzNDE3MCwgCisgICAgMzQxNzUsIDM0MTgyLCAzNDE5MCwgMzQxOTgsIDM0MjA1LCAzNDIxMiwgMzQyMTksIDM0MjI2LCAzNDIzNCwgMzQyNDMsIAorICAgIDM0MjUyLCAzNDI2MSwgMzQyNzAsIDM0Mjc5LCAzNDI4OCwgMzQyOTcsIDM0MzA2LCAzNDMxNSwgMzQzMjQsIDM0MzMzLCAKKyAgICAzNDM0MiwgMzQzNTEsIDM0MzYwLCAzNDM2OCwgMzQzNzcsIDM0Mzg4LCAzNDM5NiwgMzQ0MDYsIDM0NDE4LCAzNDQyNywgCisgICAgMzQ0MzYsIDM0NDQ2LCAzNDQ1NSwgMzQ0NjMsIDM0NDcyLCAzNDQ3OCwgMzQ0ODMsIDM0NDkxLCAzNDQ5NiwgMzQ1MDQsIAorICAgIDM0NTA5LCAzNDUxOCwgMzQ1MjQsIDM0NTMwLCAzNDUzNywgMzQ1NDIsIDM0NTQ3LCAzNDU1NSwgMzQ1NjMsIDM0NTcyLCAKKyAgICAzNDU4MSwgMzQ1ODYsIDM0NTkzLCAzNDYwMywgMzQ2MTEsIDM0NjIwLCAzNDYyNiwgMzQ2MzIsIDM0NjM3LCAzNDY0NCwgCisgICAgMzQ2NDksIDM0NjU4LCAzNDY2MywgMzQ2NjgsIDM0NjczLCAzNDY4MCwgMzQ2ODYsIDM0NjkxLCAzNDcwMCwgMzQ3MDgsIAorICAgIDM0NzEzLCAzNDcxOCwgMzQ3MjUsIDM0NzMyLCAzNDczNiwgMzQ3NDAsIDM0NzQzLCAzNDc0NiwgMzQ3NDksIDM0NzUyLCAKKyAgICAzNDc1NSwgMzQ3NTgsIDM0NzY1LCAzNDc2OCwgMzQ3NzEsIDM0Nzc2LCAzNDc4MCwgMzQ3ODQsIDM0Nzg4LCAzNDc5MiwgCisgICAgMzQ3OTYsIDM0ODA2LCAzNDgxMiwgMzQ4MTgsIDM0ODI0LCAzNDgzMiwgMzQ4NDAsIDM0ODQ2LCAzNDg1MiwgMzQ4NTksIAorICAgIDM0ODY1LCAzNDg3MCwgMzQ4NzYsIDM0ODgzLCAzNDg4OSwgMzQ4OTYsIDM0OTAyLCAzNDkxMCwgMzQ5MTUsIDM0OTIxLCAKKyAgICAzNDkyNywgMzQ5MzMsIDM0OTM5LCAzNDk0NSwgMzQ5NTEsIDM0OTU3LCAzNDk2OSwgMzQ5NzksIDM0OTg1LCAzNDk5MSwgCisgICAgMzUwMDEsIDM1MDA3LCAzNTAxNSwgMzUwMjMsIDM1MDMxLCAwLCAwLCAwLCAwLCAwLCAwLCAzNTAzNiwgMzUwNDMsIDM1MDUwLCAKKyAgICAzNTA1NSwgMzUwNjQsIDM1MDcyLCAzNTA4MCwgMzUwODcsIDM1MDk0LCAzNTEwMSwgMzUxMDgsIDM1MTE2LCAzNTEyNCwgCisgICAgMzUxMzQsIDM1MTQ0LCAzNTE1MiwgMzUxNjAsIDM1MTY4LCAzNTE3NiwgMzUxODUsIDM1MTk0LCAzNTIwMiwgMzUyMTAsIAorICAgIDM1MjE5LCAzNTIyOCwgMzUyMzgsIDM1MjQ4LCAzNTI1NywgMzUyNjYsIDM1Mjc0LCAzNTI4MiwgMzUyOTAsIDM1Mjk4LCAKKyAgICAzNTMwOCwgMzUzMTgsIDM1MzI2LCAzNTMzNCwgMzUzNDIsIDM1MzUwLCAzNTM1OCwgMzUzNjYsIDM1Mzc0LCAzNTM4MiwgCisgICAgMzUzOTAsIDM1Mzk4LCAzNTQwNiwgMzU0MTQsIDM1NDIzLCAzNTQzMiwgMzU0NDEsIDM1NDUwLCAzNTQ2MCwgMzU0NzAsIAorICAgIDM1NDc3LCAzNTQ4NCwgMzU0OTIsIDM1NTAwLCAzNTUwOSwgMzU1MTgsIDM1NTI2LCAzNTUzNCwgMzU1NDYsIDM1NTU4LCAKKyAgICAzNTU2NywgMzU1NzYsIDM1NTg1LCAzNTU5NCwgMzU2MDEsIDM1NjA4LCAzNTYxNiwgMzU2MjQsIDM1NjMyLCAzNTY0MCwgCisgICAgMzU2NDgsIDM1NjU2LCAzNTY2NCwgMzU2NzIsIDM1NjgxLCAzNTY5MCwgMzU2OTksIDM1NzA4LCAzNTcxNywgMzU3MjYsIAorICAgIDM1NzM2LCAzNTc0NiwgMzU3NTYsIDM1NzY2LCAzNTc3NSwgMzU3ODQsIDM1NzkxLCAzNTc5OCwgMzU4MDYsIDM1ODE0LCAKKyAgICAzNTgyMiwgMzU4MzAsIDM1ODM4LCAzNTg0NiwgMzU4NTgsIDM1ODcwLCAzNTg3OSwgMzU4ODgsIDM1ODk2LCAzNTkwNCwgCisgICAgMzU5MTIsIDM1OTIwLCAzNTkzMSwgMzU5NDIsIDM1OTUzLCAzNTk2NCwgMzU5NzYsIDM1OTg4LCAzNTk5NiwgMzYwMDQsIAorICAgIDM2MDEyLCAzNjAyMCwgMzYwMjksIDM2MDM4LCAzNjA0NywgMzYwNTYsIDM2MDY0LCAzNjA3MiwgMzYwODAsIDM2MDg4LCAKKyAgICAzNjA5NiwgMzYxMDQsIDM2MTEzLCAzNjEyMiwgMzYxMzIsIDM2MTQyLCAzNjE1MCwgMzYxNTgsIDM2MTY2LCAzNjE3NCwgCisgICAgMzYxODIsIDM2MTkwLCAzNjE5NywgMzYyMDQsIDM2MjEyLCAzNjIyMCwgMzYyMjgsIDM2MjM2LCAzNjI0NCwgMzYyNTIsIAorICAgIDM2MjYwLCAzNjI2OCwgMzYyNzYsIDM2Mjg0LCAzNjI5MiwgMzYzMDAsIDM2MzA4LCAzNjMxNiwgMzYzMjQsIDM2MzMyLCAKKyAgICAzNjM0MSwgMzYzNTAsIDM2MzU5LCAzNjM2NywgMzYzNzYsIDM2Mzg1LCAzNjM5NCwgMzY0MDMsIDM2NDEzLCAzNjQyMiwgCisgICAgMzY0MjgsIDM2NDMzLCAzNjQ0MCwgMzY0NDcsIDM2NDU1LCAzNjQ2MywgMzY0NzIsIDM2NDgxLCAzNjQ5MSwgMzY1MDEsIAorICAgIDM2NTEyLCAzNjUyMywgMzY1MzMsIDM2NTQzLCAzNjU1MywgMzY1NjMsIDM2NTcyLCAzNjU4MSwgMzY1OTEsIDM2NjAxLCAKKyAgICAzNjYxMiwgMzY2MjMsIDM2NjMzLCAzNjY0MywgMzY2NTMsIDM2NjYzLCAzNjY3MCwgMzY2NzcsIDM2Njg1LCAzNjY5MywgCisgICAgMzY3MDAsIDM2NzA3LCAzNjcxNiwgMzY3MjUsIDM2NzM1LCAzNjc0NSwgMzY3NTYsIDM2NzY3LCAzNjc3NywgMzY3ODcsIAorICAgIDM2Nzk3LCAzNjgwNywgMzY4MTYsIDM2ODI1LCAzNjgzMywgMzY4NDEsIDM2ODQ4LCAzNjg1NSwgMzY4NjMsIDM2ODcxLCAKKyAgICAzNjg4MCwgMzY4ODksIDM2ODk5LCAzNjkwOSwgMzY5MjAsIDM2OTMxLCAzNjk0MSwgMzY5NTEsIDM2OTYxLCAzNjk3MSwgCisgICAgMzY5ODAsIDM2OTg5LCAzNjk5OSwgMzcwMDksIDM3MDIwLCAzNzAzMSwgMzcwNDEsIDM3MDUxLCAzNzA2MSwgMzcwNzEsIAorICAgIDM3MDc4LCAzNzA4NSwgMzcwOTMsIDM3MTAxLCAzNzExMCwgMzcxMTksIDM3MTI5LCAzNzEzOSwgMzcxNTAsIDM3MTYxLCAKKyAgICAzNzE3MSwgMzcxODEsIDM3MTkxLCAzNzIwMSwgMzcyMDksIDM3MjE3LCAzNzIyNSwgMzcyMzMsIDM3MjQyLCAzNzI1MSwgCisgICAgMzcyNTksIDM3MjY3LCAzNzI3NCwgMzcyODEsIDM3Mjg4LCAzNzI5NSwgMzczMDMsIDM3MzExLCAzNzMxOSwgMzczMjcsIAorICAgIDM3MzM4LCAzNzM0OSwgMzczNjAsIDM3MzcxLCAzNzM4MiwgMzczOTMsIDM3NDAxLCAzNzQwOSwgMzc0MjAsIDM3NDMxLCAKKyAgICAzNzQ0MiwgMzc0NTMsIDM3NDY0LCAzNzQ3NSwgMzc0ODMsIDM3NDkxLCAzNzUwMiwgMzc1MTMsIDM3NTI0LCAwLCAwLCAKKyAgICAzNzUzNSwgMzc1NDMsIDM3NTUxLCAzNzU2MiwgMzc1NzMsIDM3NTg0LCAwLCAwLCAzNzU5NSwgMzc2MDMsIDM3NjExLCAKKyAgICAzNzYyMiwgMzc2MzMsIDM3NjQ0LCAzNzY1NSwgMzc2NjYsIDM3Njc3LCAzNzY4NSwgMzc2OTMsIDM3NzA0LCAzNzcxNSwgCisgICAgMzc3MjYsIDM3NzM3LCAzNzc0OCwgMzc3NTksIDM3NzY3LCAzNzc3NSwgMzc3ODYsIDM3Nzk3LCAzNzgwOCwgMzc4MTksIAorICAgIDM3ODMwLCAzNzg0MSwgMzc4NDksIDM3ODU3LCAzNzg2OCwgMzc4NzksIDM3ODkwLCAzNzkwMSwgMzc5MTIsIDM3OTIzLCAKKyAgICAzNzkzMSwgMzc5MzksIDM3OTUwLCAzNzk2MSwgMzc5NzIsIDAsIDAsIDM3OTgzLCAzNzk5MSwgMzc5OTksIDM4MDEwLCAKKyAgICAzODAyMSwgMzgwMzIsIDAsIDAsIDM4MDQzLCAzODA1MSwgMzgwNTksIDM4MDcwLCAzODA4MSwgMzgwOTIsIDM4MTAzLCAKKyAgICAzODExNCwgMCwgMzgxMjUsIDAsIDM4MTMzLCAwLCAzODE0NCwgMCwgMzgxNTUsIDM4MTY2LCAzODE3NCwgMzgxODIsIAorICAgIDM4MTkzLCAzODIwNCwgMzgyMTUsIDM4MjI2LCAzODIzNywgMzgyNDgsIDM4MjU2LCAzODI2NCwgMzgyNzUsIDM4Mjg2LCAKKyAgICAzODI5NywgMzgzMDgsIDM4MzE5LCAzODMzMCwgMzgzMzgsIDM4MzQ2LCAzODM1NCwgMzgzNjIsIDM4MzcwLCAzODM3OCwgCisgICAgMzgzODYsIDM4Mzk0LCAzODQwMiwgMzg0MTAsIDM4NDE4LCAzODQyNiwgMzg0MzQsIDAsIDAsIDM4NDQyLCAzODQ1MywgCisgICAgMzg0NjQsIDM4NDc4LCAzODQ5MiwgMzg1MDYsIDM4NTIwLCAzODUzNCwgMzg1NDgsIDM4NTU5LCAzODU3MCwgMzg1ODQsIAorICAgIDM4NTk4LCAzODYxMiwgMzg2MjYsIDM4NjQwLCAzODY1NCwgMzg2NjUsIDM4Njc2LCAzODY5MCwgMzg3MDQsIDM4NzE4LCAKKyAgICAzODczMiwgMzg3NDYsIDM4NzYwLCAzODc3MSwgMzg3ODIsIDM4Nzk2LCAzODgxMCwgMzg4MjQsIDM4ODM4LCAzODg1MiwgCisgICAgMzg4NjYsIDM4ODc3LCAzODg4OCwgMzg5MDIsIDM4OTE2LCAzODkzMCwgMzg5NDQsIDM4OTU4LCAzODk3MiwgMzg5ODMsIAorICAgIDM4OTk0LCAzOTAwOCwgMzkwMjIsIDM5MDM2LCAzOTA1MCwgMzkwNjQsIDM5MDc4LCAzOTA4NiwgMzkwOTQsIDM5MTA1LCAKKyAgICAzOTExMywgMCwgMzkxMjQsIDM5MTMyLCAzOTE0MywgMzkxNTEsIDM5MTU5LCAzOTE2NywgMzkxNzUsIDM5MTgzLCAzOTE4NiwgCisgICAgMzkxODksIDM5MTkyLCAzOTE5NSwgMzkyMDEsIDM5MjEyLCAzOTIyMCwgMCwgMzkyMzEsIDM5MjM5LCAzOTI1MCwgMzkyNTgsIAorICAgIDM5MjY2LCAzOTI3NCwgMzkyODIsIDM5MjkwLCAzOTI5NiwgMzkzMDIsIDM5MzA4LCAzOTMxNiwgMzkzMjQsIDM5MzM1LCAwLCAKKyAgICAwLCAzOTM0NiwgMzkzNTQsIDM5MzY1LCAzOTM3MywgMzkzODEsIDM5Mzg5LCAwLCAzOTM5NywgMzk0MDMsIDM5NDA5LCAKKyAgICAzOTQxNSwgMzk0MjMsIDM5NDMxLCAzOTQ0MiwgMzk0NTMsIDM5NDYxLCAzOTQ2OSwgMzk0NzcsIDM5NDg4LCAzOTQ5NiwgCisgICAgMzk1MDQsIDM5NTEyLCAzOTUyMCwgMzk1MjgsIDM5NTM0LCAzOTU0MCwgMCwgMCwgMzk1NDMsIDM5NTU0LCAzOTU2MiwgMCwgCisgICAgMzk1NzMsIDM5NTgxLCAzOTU5MiwgMzk2MDAsIDM5NjA4LCAzOTYxNiwgMzk2MjQsIDM5NjMyLCAzOTYzNSwgMCwgMzk2MzgsIAorICAgIDM5NjQyLCAzOTY0NiwgMzk2NTAsIDM5NjU0LCAzOTY1OCwgMzk2NjIsIDM5NjY2LCAzOTY3MCwgMzk2NzQsIDM5Njc4LCAKKyAgICAzOTY4MiwgMzk2ODgsIDM5Njk0LCAzOTcwMCwgMzk3MDMsIDM5NzA2LCAzOTcwOCwgMzk3MTIsIDM5NzE2LCAzOTcyMCwgCisgICAgMzk3MjQsIDM5NzI2LCAzOTczMCwgMzk3MzQsIDM5NzQwLCAzOTc0NiwgMzk3NTMsIDM5NzYwLCAzOTc2NSwgMzk3NzAsIAorICAgIDM5Nzc2LCAzOTc4MiwgMzk3ODQsIDM5Nzg3LCAzOTc4OSwgMzk3OTMsIDM5Nzk3LCAzOTgwMSwgMzk4MDQsIDM5ODA4LCAKKyAgICAzOTgxMiwgMzk4MTYsIDM5ODIwLCAzOTgyNCwgMzk4MzAsIDM5ODM0LCAzOTgzOCwgMzk4NDQsIDM5ODQ5LCAzOTg1NiwgCisgICAgMzk4NTgsIDM5ODYxLCAzOTg2NSwgMzk4NjksIDM5ODc0LCAzOTg4MCwgMzk4ODIsIDM5ODkxLCAzOTkwMCwgMzk5MDMsIAorICAgIDM5OTA3LCAzOTkwOSwgMzk5MTEsIDM5OTEzLCAzOTkxNiwgMzk5MjIsIDM5OTI0LCAzOTkyOCwgMzk5MzIsIDM5OTM5LCAKKyAgICAzOTk0NiwgMzk5NTAsIDM5OTU1LCAzOTk2MCwgMzk5NjUsIDM5OTcwLCAzOTk3NCwgMzk5NzgsIDM5OTgxLCAzOTk4NSwgCisgICAgMzk5ODksIDM5OTk2LCA0MDAwMSwgNDAwMDUsIDQwMDA5LCA0MDAxNCwgNDAwMTgsIDQwMDIyLCA0MDAyNywgNDAwMzIsIAorICAgIDQwMDM2LCA0MDA0MCwgNDAwNDQsIDQwMDQ2LCA0MDA1MSwgNDAwNTYsIDQwMDYwLCA0MDA2NCwgNDAwNjgsIDQwMDcyLCAwLCAKKyAgICA0MDA3NiwgNDAwODAsIDQwMDg0LCA0MDA5MCwgNDAwOTYsIDQwMTAyLCA0MDEwOCwgNDAxMTUsIDQwMTIyLCA0MDEyNywgCisgICAgNDAxMzIsIDQwMTM2LCAwLCAwLCA0MDE0MiwgNDAxNDUsIDQwMTQ4LCA0MDE1MSwgNDAxNTQsIDQwMTU3LCA0MDE2MCwgCisgICAgNDAxNjQsIDQwMTY4LCA0MDE3MywgNDAxNzgsIDQwMTgzLCA0MDE5MCwgNDAxOTQsIDQwMTk3LCA0MDIwMCwgNDAyMDMsIAorICAgIDQwMjA2LCA0MDIwOSwgNDAyMTIsIDQwMjE1LCA0MDIxOCwgNDAyMjEsIDQwMjI1LCA0MDIyOSwgNDAyMzQsIDQwMjM5LCAwLCAKKyAgICA0MDI0NCwgNDAyNTAsIDQwMjU2LCA0MDI2MiwgNDAyNjksIDQwMjc2LCA0MDI4MywgNDAyOTAsIDQwMjk2LCA0MDMwMywgCisgICAgNDAzMTAsIDQwMzE3LCA0MDMyMywgMCwgMCwgMCwgNDAzMzAsIDQwMzMzLCA0MDMzNiwgNDAzMzksIDQwMzQ0LCA0MDM0NywgCisgICAgNDAzNTAsIDQwMzUzLCA0MDM1NiwgNDAzNTksIDQwMzYyLCA0MDM2NiwgNDAzNjksIDQwMzcyLCA0MDM3NSwgNDAzNzgsIAorICAgIDQwMzgxLCA0MDM4NiwgNDAzODksIDQwMzkyLCA0MDM5NSwgNDAzOTgsIDQwNDAxLCA0MDQwNiwgNDA0MDksIDQwNDEyLCAKKyAgICA0MDQxNywgNDA0MjIsIDQwNDI2LCA0MDQyOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgNDA0MzIsIDQwNDM3LCA0MDQ0MiwgNDA0NDksIDQwNDU3LCA0MDQ2MiwgNDA0NjcsIDQwNDcxLCA0MDQ3NSwgCisgICAgNDA0ODAsIDQwNDg3LCA0MDQ5NCwgNDA0OTgsIDQwNTAzLCA0MDUwOCwgNDA1MTMsIDQwNTE4LCA0MDUyNSwgNDA1MzAsIAorICAgIDQwNTM1LCA0MDU0MCwgNDA1NDksIDQwNTU2LCA0MDU2MywgNDA1NjcsIDQwNTcyLCA0MDU3OCwgNDA1ODMsIDQwNTkwLCAKKyAgICA0MDU5OCwgNDA2MDYsIDQwNjEwLCA0MDYxNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNDA2MTgsIDQwNjIyLCA0MDYzMCwgNDA2MzQsIDQwNjM4LCA0MDY0MywgNDA2NDcsIDQwNjUxLCA0MDY1NSwgNDA2NTcsIAorICAgIDQwNjYxLCA0MDY2NSwgNDA2NjksIDQwNjc0LCA0MDY3OCwgNDA2ODIsIDQwNjkwLCA0MDY5MywgNDA2OTcsIDQwNzAwLCAKKyAgICA0MDcwMywgNDA3MDksIDQwNzEzLCA0MDcxNiwgNDA3MjIsIDQwNzI2LCA0MDczMCwgNDA3MzQsIDQwNzM3LCA0MDc0MSwgCisgICAgNDA3NDQsIDQwNzQ4LCA0MDc1MCwgNDA3NTMsIDQwNzU2LCA0MDc2MCwgNDA3NjIsIDQwNzY2LCA0MDc2OSwgNDA3NzIsIAorICAgIDQwNzc3LCA0MDc4MiwgNDA3ODgsIDQwNzkxLCA0MDc5NCwgNDA3OTgsIDQwODAzLCA0MDgwNiwgNDA4MDksIDQwODEyLCAKKyAgICA0MDgxNiwgNDA4MjAsIDQwODI0LCA0MDgyNywgNDA4MjksIDQwODMyLCA0MDgzNSwgNDA4MzgsIDQwODQyLCA0MDg0NywgCisgICAgNDA4NTAsIDQwODU0LCA0MDg1OCwgNDA4NjIsIDQwODY2LCA0MDg3MSwgNDA4NzYsIDQwODgwLCA0MDg4NSwgNDA4OTAsIAorICAgIDQwODk1LCA0MDkwMCwgNDA5MDQsIDQwOTA4LCA0MDkxMywgNDA5MTcsIDQwOTIwLCA0MDkyMywgNDA5MjUsIDQwOTI5LCAKKyAgICA0MDkzNSwgNDA5NDIsIDQwOTQ5LCA0MDk1NiwgNDA5NjMsIDQwOTcwLCA0MDk3NywgNDA5ODQsIDQwOTkxLCA0MDk5OSwgCisgICAgNDEwMDYsIDQxMDE0LCA0MTAyMSwgNDEwMjgsIDQxMDM2LCA0MTA0NCwgNDEwNDksIDQxMDU0LCA0MTA1OSwgNDEwNjQsIAorICAgIDQxMDY5LCA0MTA3NCwgNDEwNzksIDQxMDg0LCA0MTA4OSwgNDEwOTQsIDQxMTAwLCA0MTEwNiwgNDExMTIsIDQxMTE4LCAKKyAgICA0MTEyNSwgNDExMzMsIDQxMTQwLCA0MTE0NiwgNDExNTIsIDQxMTU4LCA0MTE2NCwgNDExNzAsIDQxMTc2LCA0MTE4MiwgCisgICAgNDExODgsIDQxMTk0LCA0MTIwMSwgNDEyMDgsIDQxMjE1LCA0MTIyMiwgNDEyMzAsIDQxMjM5LCA0MTI0NywgNDEyNTgsIAorICAgIDQxMjY2LCA0MTI3NCwgNDEyODMsIDQxMjkwLCA0MTI5OSwgNDEzMDgsIDQxMzE2LCA0MTMyNSwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNDEzMzMsIDQxMzM1LCA0MTMzNywgNDEzMzksIDQxMzQxLCA0MTM0NCwgNDEzNDcsIDQxMzUxLCA0MTM1NSwgNDEzNTksIAorICAgIDQxMzYzLCA0MTM2NywgNDEzNzEsIDQxMzc1LCA0MTM3OSwgNDEzODQsIDQxMzg5LCA0MTM5NCwgNDEzOTksIDQxNDA0LCAKKyAgICA0MTQwOSwgNDE0MTQsIDQxNDE5LCA0MTQyNCwgNDE0MjksIDQxNDM1LCA0MTQzOSwgNDE0NDMsIDQxNDQ4LCA0MTQ1MywgCisgICAgNDE0NTgsIDQxNDYzLCA0MTQ2NywgNDE0NzQsIDQxNDgxLCA0MTQ4OCwgNDE0OTUsIDQxNTAyLCA0MTUwOSwgNDE1MTYsIAorICAgIDQxNTIzLCA0MTUzMSwgNDE1NDMsIDQxNTUwLCA0MTU1NywgNDE1NjQsIDQxNTcxLCA0MTU3OCwgNDE1ODUsIDQxNTkyLCAKKyAgICA0MTU5OSwgNDE2MDYsIDQxNjEzLCA0MTYxOCwgNDE2MjQsIDQxNjI5LCA0MTYzNCwgNDE2MzksIDQxNjQ0LCA0MTY0OSwgCisgICAgNDE2NTYsIDQxNjYzLCA0MTY2OCwgNDE2NzQsIDQxNjc5LCA0MTY4MiwgNDE2ODUsIDQxNjg4LCA0MTY5MSwgNDE2OTUsIAorICAgIDQxNjk5LCA0MTcwNCwgNDE3MDksIDQxNzE0LCA0MTcxOSwgNDE3MjMsIDQxNzI3LCA0MTczMSwgNDE3MzUsIDQxNzQwLCAKKyAgICA0MTc0NSwgNDE3NDksIDQxNzUzLCA0MTc1NywgNDE3NjEsIDQxNzY2LCA0MTc3MSwgNDE3NzQsIDQxNzc3LCA0MTc4MCwgCisgICAgNDE3ODMsIDQxNzg5LCA0MTc5NiwgNDE4MDYsIDQxODE2LCA0MTgyMCwgNDE4MjgsIDQxODM1LCA0MTg0MywgNDE4NTEsIAorICAgIDQxODU1LCA0MTg2MSwgNDE4NjcsIDQxODcxLCA0MTg3NiwgNDE4ODEsIDQxODg3LCA0MTg5MywgNDE4OTksIDQxOTA2LCAKKyAgICA0MTkxMCwgNDE5MTQsIDQxOTE5LCA0MTkyMiwgNDE5MjQsIDQxOTI4LCA0MTkzMiwgNDE5NDAsIDQxOTQ0LCA0MTk0NiwgCisgICAgNDE5NDgsIDQxOTUyLCA0MTk2MCwgNDE5NjUsIDQxOTcxLCA0MTk4MSwgNDE5ODgsIDQxOTkzLCA0MTk5NywgNDIwMDEsIAorICAgIDQyMDA1LCA0MjAwOCwgNDIwMTEsIDQyMDE0LCA0MjAxOCwgNDIwMjIsIDQyMDI2LCA0MjAzMCwgNDIwMzQsIDQyMDM3LCAKKyAgICA0MjA0MSwgNDIwNDUsIDQyMDQ4LCA0MjA1MCwgNDIwNTMsIDQyMDU1LCA0MjA1OSwgNDIwNjMsIDQyMDY1LCA0MjA3MSwgCisgICAgNDIwNzQsIDQyMDc5LCA0MjA4MywgNDIwODcsIDQyMDg5LCA0MjA5MSwgNDIwOTMsIDQyMDk2LCA0MjEwMCwgNDIxMDQsIAorICAgIDQyMTA4LCA0MjExMiwgNDIxMTYsIDQyMTIyLCA0MjEyOCwgNDIxMzAsIDQyMTMyLCA0MjEzNCwgNDIxMzYsIDQyMTM5LCAKKyAgICA0MjE0MSwgNDIxNDUsIDQyMTQ3LCA0MjE1MSwgNDIxNTUsIDQyMTYwLCA0MjE2NCwgNDIxNjgsIDQyMTcyLCA0MjE3NiwgCisgICAgNDIxODAsIDQyMTg2LCA0MjE5MCwgNDIyMDAsIDQyMjEwLCA0MjIxNCwgNDIyMjAsIDQyMjI3LCA0MjIzMSwgNDIyMzUsIAorICAgIDQyMjM4LCA0MjI0MywgNDIyNDcsIDQyMjUzLCA0MjI1NywgNDIyNzAsIDQyMjc5LCA0MjI4MywgNDIyODcsIDQyMjkzLCAKKyAgICA0MjI5NywgNDIzMDAsIDQyMzAyLCA0MjMwNSwgNDIzMDksIDQyMzEzLCA0MjMyMCwgNDIzMjQsIDQyMzI4LCA0MjMzMiwgCisgICAgNDIzMzUsIDQyMzQwLCA0MjM0NSwgNDIzNTEsIDQyMzU3LCA0MjM2MiwgNDIzNjcsIDQyMzc1LCA0MjM4MywgNDIzODcsIAorICAgIDQyMzkxLCA0MjM5MywgNDIzOTgsIDQyNDAyLCA0MjQwNiwgNDI0MTQsIDQyNDIyLCA0MjQyOSwgNDI0MzYsIDQyNDQ1LCAKKyAgICA0MjQ1NCwgNDI0NjAsIDQyNDY2LCA0MjQ3NCwgNDI0ODIsIDQyNDg0LCA0MjQ4NiwgNDI0OTIsIDQyNDk4LCA0MjUwNSwgCisgICAgNDI1MTIsIDQyNTE4LCA0MjUyNCwgNDI1MjgsIDQyNTMyLCA0MjUzOSwgNDI1NDYsIDQyNTUzLCA0MjU2MCwgNDI1NzAsIAorICAgIDQyNTgwLCA0MjU4OCwgNDI1OTYsIDQyNTk4LCA0MjYwMiwgNDI2MDYsIDQyNjExLCA0MjYxNiwgNDI2MjQsIDQyNjMyLCAKKyAgICA0MjYzNSwgNDI2MzgsIDQyNjQxLCA0MjY0NCwgNDI2NDcsIDQyNjUyLCA0MjY1NiwgNDI2NjEsIDQyNjY2LCA0MjY2OSwgCisgICAgNDI2NzIsIDQyNjc1LCA0MjY3OCwgNDI2ODEsIDQyNjg1LCA0MjY4OCwgNDI2OTEsIDQyNjk0LCA0MjY5NywgNDI2OTksIAorICAgIDQyNzAxLCA0MjcwMywgNDI3MDUsIDQyNzEzLCA0MjcyMSwgNDI3MjcsIDQyNzMxLCA0MjczNywgNDI3NDcsIDQyNzUzLCAKKyAgICA0Mjc1OSwgNDI3NjUsIDQyNzczLCA0Mjc4MiwgNDI3OTQsIDQyNzk4LCA0MjgwMiwgNDI4MDQsIDQyODEwLCA0MjgxMiwgCisgICAgNDI4MTQsIDQyODE2LCA0MjgxOCwgNDI4MjQsIDQyODI3LCA0MjgzMywgNDI4MzksIDQyODQzLCA0Mjg0NywgNDI4NTEsIAorICAgIDQyODU0LCA0Mjg1OCwgNDI4NjIsIDQyODY0LCA0Mjg3MywgNDI4ODIsIDQyODg3LCA0Mjg5MiwgNDI4OTgsIDQyOTA0LCAKKyAgICA0MjkxMCwgNDI5MTMsIDQyOTE2LCA0MjkxOSwgNDI5MjIsIDQyOTI0LCA0MjkyOSwgNDI5MzQsIDQyOTM5LCA0Mjk0NSwgCisgICAgNDI5NTEsIDQyOTYwLCA0Mjk2OSwgNDI5NzYsIDQyOTgzLCA0Mjk5MCwgNDI5OTcsIDQzMDA3LCA0MzAxNywgNDMwMjcsIAorICAgIDQzMDM3LCA0MzA0NywgNDMwNTcsIDQzMDY2LCA0MzA3NSwgNDMwODQsIDQzMDkzLCA0MzEwMSwgNDMxMTMsIDQzMTI0LCAKKyAgICA0MzE0MCwgNDMxNDMsIDQzMTQ4LCA0MzE1NCwgNDMxNjAsIDQzMTY3LCA0MzE4MSwgNDMxOTYsIDQzMjAyLCA0MzIwOCwgCisgICAgNDMyMTUsIDQzMjIxLCA0MzIyOSwgNDMyMzUsIDQzMjQ4LCA0MzI2MiwgNDMyNjcsIDQzMjczLCA0MzI4MSwgNDMyODQsIAorICAgIDQzMjg3LCA0MzI4OSwgNDMyOTIsIDQzMjk1LCA0MzI5NywgNDMyOTksIDQzMzAzLCA0MzMwNiwgNDMzMDksIDQzMzEyLCAKKyAgICA0MzMxNSwgNDMzMjAsIDQzMzI1LCA0MzMzMCwgNDMzMzUsIDQzMzQwLCA0MzM0MywgNDMzNDUsIDQzMzQ3LCA0MzM0OSwgCisgICAgNDMzNTMsIDQzMzU3LCA0MzM2MSwgNDMzNjcsIDQzMzcxLCA0MzM3MywgNDMzNzUsIDQzMzgwLCA0MzM4NSwgNDMzOTAsIAorICAgIDQzMzk1LCA0MzQwMCwgNDM0MDUsIDQzNDA3LCA0MzQwOSwgNDM0MTgsIDQzNDIyLCA0MzQzMCwgNDM0MzksIDQzNDQxLCAKKyAgICA0MzQ0NiwgNDM0NTEsIDQzNDU5LCA0MzQ2MywgNDM0NjUsIDQzNDY5LCA0MzQ3MSwgNDM0NzUsIDQzNDc5LCA0MzQ4MywgCisgICAgNDM0ODUsIDQzNDg3LCA0MzQ4OSwgNDM0OTYsIDQzNTA1LCA0MzUxNCwgNDM1MjMsIDQzNTMyLCA0MzU0MSwgNDM1NTAsIAorICAgIDQzNTU5LCA0MzU2OCwgNDM1NzYsIDQzNTg0LCA0MzU5MywgNDM2MDIsIDQzNjExLCA0MzYyMCwgNDM2MjgsIDQzNjM2LCAKKyAgICA0MzY0NSwgNDM2NTQsIDQzNjYzLCA0MzY3MywgNDM2ODIsIDQzNjkyLCA0MzcwMSwgNDM3MTEsIDQzNzE5LCA0MzcyOCwgCisgICAgNDM3MzgsIDQzNzQ3LCA0Mzc1NywgNDM3NjYsIDQzNzc2LCA0Mzc4NCwgNDM3OTMsIDQzODAyLCA0MzgxMSwgNDM4MjAsIAorICAgIDQzODI5LCA0MzgzOCwgNDM4NDgsIDQzODU3LCA0Mzg2NiwgNDM4NzUsIDQzODg1LCA0Mzg5NCwgNDM5MDMsIDQzOTEyLCAKKyAgICA0MzkyMSwgNDM5MzEsIDQzOTQxLCA0Mzk1MCwgNDM5NTksIDQzOTY3LCA0Mzk3NiwgNDM5ODMsIDQzOTkyLCA0NDAwMSwgCisgICAgNDQwMTIsIDQ0MDIxLCA0NDAzMSwgNDQwNDEsIDQ0MDQ4LCA0NDA1NSwgNDQwNjIsIDQ0MDcxLCA0NDA4MCwgNDQwODksIAorICAgIDQ0MDk4LCA0NDEwNSwgNDQxMTAsIDQ0MTE4LCA0NDEyNCwgNDQxMjcsIDQ0MTM1LCA0NDEzOCwgNDQxNDMsIDQ0MTQ4LCAKKyAgICA0NDE1MSwgNDQxNTQsIDQ0MTYyLCA0NDE2NSwgNDQxNzAsIDQ0MTczLCA0NDE4MCwgNDQxODUsIDQ0MTkzLCA0NDE5NiwgCisgICAgNDQxOTksIDQ0MjAyLCA0NDIwNywgNDQyMTIsIDQ0MjE1LCA0NDIxOCwgNDQyMjYsIDQ0MjI5LCA0NDIzNiwgNDQyNDMsIAorICAgIDQ0MjQ3LCA0NDI1MSwgNDQyNTYsIDQ0MjYxLCA0NDI2NywgNDQyNzIsIDQ0Mjc4LCA0NDI4NCwgNDQyODksIDQ0Mjk1LCAKKyAgICA0NDMwMywgNDQzMDksIDQ0MzE3LCA0NDMyNSwgNDQzMzEsIDQ0MzM5LCA0NDM0NywgNDQzNTYsIDQ0MzY0LCA0NDM3MCwgCisgICAgNDQzNzgsIDQ0Mzg3LCA0NDM5NSwgNDQzOTksIDQ0NDA0LCA0NDQxOCwgNDQ0MzIsIDQ0NDM2LCA0NDQ0MCwgNDQ0NDQsIAorICAgIDQ0NDQ4LCA0NDQ1OCwgNDQ0NjIsIDQ0NDY3LCA0NDQ3MiwgNDQ0NzcsIDQ0NDgyLCA0NDQ4NywgNDQ0OTIsIDQ0NTAyLCAKKyAgICA0NDUxMiwgNDQ1MjAsIDQ0NTMwLCA0NDU0MCwgNDQ1NDgsIDQ0NTU4LCA0NDU2OCwgNDQ1NzYsIDQ0NTg2LCA0NDU5NiwgCisgICAgNDQ2MDQsIDQ0NjEyLCA0NDYyMiwgNDQ2MzIsIDQ0NjM1LCA0NDYzOCwgNDQ2NDEsIDQ0NjQ2LCA0NDY1MCwgNDQ2NTYsIAorICAgIDQ0NjYzLCA0NDY3MCwgNDQ2NzgsIDQ0Njg1LCA0NDY4OSwgNDQ2OTMsIDQ0Njk3LCA0NDcwMSwgNDQ3MDMsIDQ0NzA3LCAKKyAgICA0NDcxMSwgNDQ3MTYsIDQ0NzIxLCA0NDcyOCwgNDQ3MzUsIDQ0NzM4LCA0NDc0NSwgNDQ3NDcsIDQ0NzQ5LCA0NDc1MywgCisgICAgNDQ3NTcsIDQ0NzYyLCA0NDc2OCwgNDQ3NzQsIDQ0NzgwLCA0NDc4NiwgNDQ3OTUsIDQ0ODA0LCA0NDgxMywgNDQ4MTcsIAorICAgIDQ0ODE5LCA0NDgyMywgNDQ4MzAsIDQ0ODM3LCA0NDg0NCwgNDQ4NTEsIDQ0ODU4LCA0NDg2MSwgNDQ4NjYsIDAsIDAsIDAsIAorICAgIDAsIDAsIDQ0ODcyLCA0NDg3NiwgNDQ4ODMsIDQ0ODkwLCA0NDg5NywgNDQ5MDQsIDQ0OTA4LCA0NDkxMiwgNDQ5MTYsIAorICAgIDQ0OTIwLCA0NDkyNSwgNDQ5MzEsIDQ0OTM2LCA0NDk0MiwgNDQ5NDgsIDQ0OTU0LCA0NDk2MCwgNDQ5NjgsIDQ0OTc1LCAKKyAgICA0NDk4MiwgNDQ5ODksIDQ0OTk2LCA0NTAwMSwgNDUwMDcsIDQ1MDE2LCA0NTAyMCwgNDUwMjcsIDQ1MDMxLCA0NTAzNSwgCisgICAgNDUwNDEsIDQ1MDQ3LCA0NTA1MywgNDUwNTksIDQ1MDYzLCA0NTA2NywgNDUwNzAsIDQ1MDc0LCA0NTA3OCwgNDUwODUsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDQ1MDkyLCA0NTA5NSwgNDUwOTksIDQ1MTAzLCA0NTEwOSwgNDUxMTUsIDQ1MTIxLCA0NTEyOSwgNDUxMzYsIDQ1MTQwLCAKKyAgICA0NTE0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNDUxNTMsIDQ1MTU2LCA0NTE1OSwgNDUxNjIsIDQ1MTY1LCA0NTE2OCwgNDUxNzEsIDQ1MTc0LCA0NTE3NywgNDUxODAsIAorICAgIDQ1MTg0LCA0NTE4OCwgNDUxOTIsIDQ1MTk2LCA0NTIwMCwgNDUyMDQsIDQ1MjA4LCA0NTIxMiwgNDUyMTYsIDQ1MjIwLCAKKyAgICA0NTIyNCwgNDUyMjcsIDQ1MjMwLCA0NTIzMywgNDUyMzYsIDQ1MjM5LCA0NTI0MiwgNDUyNDUsIDQ1MjQ4LCA0NTI1MSwgCisgICAgNDUyNTUsIDQ1MjU5LCA0NTI2MywgNDUyNjcsIDQ1MjcxLCA0NTI3NSwgNDUyNzksIDQ1MjgzLCA0NTI4NywgNDUyOTEsIAorICAgIDQ1Mjk1LCA0NTMwMSwgNDUzMDcsIDQ1MzEzLCA0NTMyMCwgNDUzMjcsIDQ1MzM0LCA0NTM0MSwgNDUzNDgsIDQ1MzU1LCAKKyAgICA0NTM2MiwgNDUzNjksIDQ1Mzc2LCA0NTM4MywgNDUzOTAsIDQ1Mzk3LCA0NTQwNCwgNDU0MTEsIDQ1NDE4LCA0NTQyNSwgCisgICAgNDU0MzIsIDQ1NDM3LCA0NTQ0MywgNDU0NDksIDQ1NDU1LCA0NTQ2MCwgNDU0NjYsIDQ1NDcyLCA0NTQ3OCwgNDU0ODMsIAorICAgIDQ1NDg5LCA0NTQ5NSwgNDU1MDAsIDQ1NTA2LCA0NTUxMiwgNDU1MTcsIDQ1NTIzLCA0NTUyOSwgNDU1MzQsIDQ1NTM5LCAKKyAgICA0NTU0NSwgNDU1NTAsIDQ1NTU2LCA0NTU2MiwgNDU1NjgsIDQ1NTc0LCA0NTU4MCwgNDU1ODUsIDQ1NTkxLCA0NTU5NywgCisgICAgNDU2MDMsIDQ1NjA4LCA0NTYxNCwgNDU2MjAsIDQ1NjI2LCA0NTYzMSwgNDU2MzcsIDQ1NjQzLCA0NTY0OCwgNDU2NTQsIAorICAgIDQ1NjYwLCA0NTY2NSwgNDU2NzEsIDQ1Njc3LCA0NTY4MiwgNDU2ODcsIDQ1NjkzLCA0NTY5OCwgNDU3MDQsIDQ1NzEwLCAKKyAgICA0NTcxNiwgNDU3MjIsIDQ1NzI4LCA0NTczMywgNDU3MzksIDQ1NzQ1LCA0NTc1MSwgNDU3NTYsIDQ1NzYyLCA0NTc2OCwgCisgICAgNDU3NzQsIDQ1Nzc5LCA0NTc4NSwgNDU3OTEsIDQ1Nzk2LCA0NTgwMiwgNDU4MDgsIDQ1ODEzLCA0NTgxOSwgNDU4MjUsIAorICAgIDQ1ODMwLCA0NTgzNSwgNDU4NDEsIDQ1ODQ2LCA0NTg1MiwgNDU4NTgsIDQ1ODY0LCA0NTg3MCwgNDU4NzYsIDQ1ODgwLCAKKyAgICA0NTg4NSwgNDU4OTAsIDQ1ODk1LCA0NTkwMCwgNDU5MDUsIDQ1OTEwLCA0NTkxNSwgNDU5MjAsIDQ1OTI1LCA0NTkzMCwgCisgICAgNDU5MzQsIDQ1OTM4LCA0NTk0MiwgNDU5NDYsIDQ1OTUwLCA0NTk1NCwgNDU5NTgsIDQ1OTYyLCA0NTk2NiwgNDU5NzEsIAorICAgIDQ1OTc2LCA0NTk4MSwgNDU5ODYsIDQ1OTkxLCA0NTk5NiwgNDYwMDUsIDQ2MDE0LCA0NjAyMywgNDYwMzIsIDQ2MDQxLCAKKyAgICA0NjA1MCwgNDYwNTksIDQ2MDY4LCA0NjA3NSwgNDYwODMsIDQ2MDkxLCA0NjA5OCwgNDYxMDUsIDQ2MTEzLCA0NjEyMSwgCisgICAgNDYxMjgsIDQ2MTM1LCA0NjE0MywgNDYxNTEsIDQ2MTU4LCA0NjE2NSwgNDYxNzMsIDQ2MTgxLCA0NjE4OCwgNDYxOTUsIAorICAgIDQ2MjAzLCA0NjIxMiwgNDYyMjEsIDQ2MjI5LCA0NjIzOCwgNDYyNDcsIDQ2MjU0LCA0NjI2MSwgNDYyNjksIDQ2Mjc4LCAKKyAgICA0NjI4NywgNDYyOTUsIDQ2MzA0LCA0NjMxMywgNDYzMjAsIDQ2MzI3LCA0NjMzNiwgNDYzNDUsIDQ2MzUzLCA0NjM2MSwgCisgICAgNDYzNzAsIDQ2Mzc5LCA0NjM4NiwgNDYzOTMsIDQ2NDAyLCA0NjQxMSwgNDY0MTksIDQ2NDI3LCA0NjQzNiwgNDY0NDUsIAorICAgIDQ2NDUyLCA0NjQ1OSwgNDY0NjgsIDQ2NDc3LCA0NjQ4NSwgNDY0OTQsIDQ2NTAzLCA0NjUxMSwgNDY1MjEsIDQ2NTMxLCAKKyAgICA0NjU0MSwgNDY1NTEsIDQ2NTYwLCA0NjU2OSwgNDY1NzgsIDQ2NTg3LCA0NjU5NCwgNDY2MDIsIDQ2NjEwLCA0NjYxOCwgCisgICAgNDY2MjYsIDQ2NjMxLCA0NjYzNiwgNDY2NDUsIDQ2NjUzLCA0NjY2MCwgNDY2NjksIDQ2Njc3LCA0NjY4NCwgNDY2OTMsIAorICAgIDQ2NzAxLCA0NjcwOCwgNDY3MTcsIDQ2NzI1LCA0NjczMiwgNDY3NDEsIDQ2NzQ5LCA0Njc1NiwgNDY3NjUsIDQ2NzczLCAKKyAgICA0Njc4MCwgNDY3ODksIDQ2Nzk3LCA0NjgwNCwgNDY4MTMsIDQ2ODIxLCA0NjgyOCwgNDY4MzcsIDQ2ODQ1LCA0Njg1MiwgCisgICAgNDY4NjEsIDQ2ODcwLCA0Njg3OSwgNDY4ODgsIDQ2OTAyLCA0NjkxNiwgNDY5MjMsIDQ2OTI4LCA0NjkzMywgNDY5MzgsIAorICAgIDQ2OTQzLCA0Njk0OCwgNDY5NTMsIDQ2OTU4LCA0Njk2MywgNDY5NzEsIDQ2OTc5LCA0Njk4NywgNDY5OTUsIDQ3MDAwLCAKKyAgICA0NzAwNywgNDcwMTQsIDQ3MDIxLCA0NzAyNiwgNDcwMzQsIDQ3MDQxLCA0NzA0OSwgNDcwNTMsIDQ3MDYwLCA0NzA2NiwgCisgICAgNDcwNzMsIDQ3MDc3LCA0NzA4MywgNDcwODksIDQ3MDk1LCA0NzA5OSwgNDcxMDIsIDQ3MTA2LCA0NzExMCwgNDcxMTcsIAorICAgIDQ3MTIzLCA0NzEyOSwgNDcxMzUsIDQ3MTQxLCA0NzE1NSwgNDcxNjUsIDQ3MTc5LCA0NzE5MywgNDcxOTksIDQ3MjA5LCAKKyAgICA0NzIyMywgNDcyMjYsIDQ3MjI5LCA0NzIzNiwgNDcyNDQsIDQ3MjQ5LCA0NzI1NCwgNDcyNjIsIDQ3Mjc0LCA0NzI4NiwgCisgICAgNDcyOTQsIDQ3Mjk4LCA0NzMwMiwgNDczMDUsIDQ3MzA4LCA0NzMxMiwgNDczMTYsIDQ3MzE5LCA0NzMyMiwgNDczMjcsIAorICAgIDQ3MzMyLCA0NzMzOCwgNDczNDQsIDQ3MzQ5LCA0NzM1NCwgNDczNjAsIDQ3MzY2LCA0NzM3MSwgNDczNzYsIDQ3MzgxLCAKKyAgICA0NzM4NiwgNDczOTIsIDQ3Mzk4LCA0NzQwMywgNDc0MDgsIDQ3NDE0LCA0NzQyMCwgNDc0MjUsIDQ3NDMwLCA0NzQzMywgCisgICAgNDc0MzYsIDQ3NDQ1LCA0NzQ0NywgNDc0NDksIDQ3NDUyLCA0NzQ1NiwgNDc0NjIsIDQ3NDY0LCA0NzQ2NywgNDc0NzQsIAorICAgIDQ3NDgxLCA0NzQ4OSwgNDc0OTcsIDQ3NTA3LCA0NzUyMSwgNDc1MjYsIDQ3NTMxLCA0NzUzNSwgNDc1NDAsIDQ3NTQ4LCAKKyAgICA0NzU1NiwgNDc1NjUsIDQ3NTc0LCA0NzU4MywgNDc1OTIsIDQ3NTk3LCA0NzYwMiwgNDc2MDgsIDQ3NjE0LCA0NzYyMCwgCisgICAgNDc2MjYsIDQ3NjI5LCA0NzYzNSwgNDc2NDEsIDQ3NjUxLCA0NzY2MSwgNDc2NjksIDQ3Njc3LCA0NzY4NiwgNDc2OTUsIAorICAgIDQ3Njk5LCA0NzcwNywgNDc3MTUsIDQ3NzIzLCA0NzczMSwgNDc3NDAsIDQ3NzQ5LCA0Nzc1OCwgNDc3NjcsIDQ3NzcyLCAKKyAgICA0Nzc3NywgNDc3ODIsIDQ3Nzg3LCA0Nzc5MiwgNDc3OTgsIDQ3ODA0LCA0NzgwOSwgNDc4MTUsIDQ3ODE3LCA0NzgxOSwgCisgICAgNDc4MjEsIDQ3ODIzLCA0NzgyNiwgNDc4MjksIDQ3ODMxLCA0NzgzMywgNDc4MzUsIDQ3ODM5LCA0Nzg0MywgNDc4NDUsIAorICAgIDQ3ODQ3LCA0Nzg1MCwgNDc4NTMsIDQ3ODU3LCA0Nzg2MywgNDc4NjksIDQ3ODcxLCA0Nzg3OCwgNDc4ODIsIDQ3ODg3LCAKKyAgICA0Nzg5MiwgNDc4OTQsIDQ3OTA0LCA0NzkxMCwgNDc5MTYsIDQ3OTIyLCA0NzkyOCwgNDc5MzQsIDQ3OTQwLCA0Nzk0NSwgCisgICAgNDc5NDgsIDQ3OTUxLCA0Nzk1NCwgNDc5NTYsIDQ3OTU4LCA0Nzk2MiwgNDc5NjYsIDQ3OTcxLCA0Nzk3NiwgNDc5ODEsIAorICAgIDQ3OTg0LCA0Nzk4OCwgNDc5OTMsIDQ3OTk2LCA0ODAwMCwgNDgwMDUsIDQ4MDEwLCA0ODAxNSwgNDgwMjAsIDQ4MDI1LCAKKyAgICA0ODAzMCwgNDgwMzUsIDQ4MDQwLCA0ODA0NSwgNDgwNTAsIDQ4MDU1LCA0ODA2MCwgNDgwNjYsIDQ4MDcyLCA0ODA3OCwgCisgICAgNDgwODAsIDQ4MDgzLCA0ODA4NSwgNDgwODgsIDQ4MDkwLCA0ODA5MiwgNDgwOTQsIDQ4MDk2LCA0ODA5OCwgNDgxMDAsIAorICAgIDQ4MTAyLCA0ODEwNCwgNDgxMDYsIDQ4MTA4LCA0ODExMCwgNDgxMTIsIDQ4MTE0LCA0ODExNiwgNDgxMTgsIDQ4MTIwLCAKKyAgICA0ODEyMiwgNDgxMjcsIDQ4MTMyLCA0ODEzNywgNDgxNDIsIDQ4MTQ3LCA0ODE1MiwgNDgxNTcsIDQ4MTYyLCA0ODE2NywgCisgICAgNDgxNzIsIDQ4MTc3LCA0ODE4MiwgNDgxODcsIDQ4MTkyLCA0ODE5NywgNDgyMDIsIDQ4MjA3LCA0ODIxMiwgNDgyMTcsIAorICAgIDQ4MjIyLCA0ODIyNiwgNDgyMzAsIDQ4MjM0LCA0ODI0MCwgNDgyNDYsIDQ4MjUxLCA0ODI1NiwgNDgyNjEsIDQ4MjY3LCAKKyAgICA0ODI3MywgNDgyNzgsIDQ4Mjg2LCA0ODI5NCwgNDgzMDIsIDQ4MzEwLCA0ODMxOCwgNDgzMjYsIDQ4MzM0LCA0ODM0MiwgCisgICAgNDgzNDgsIDQ4MzUzLCA0ODM1OCwgNDgzNjMsIDQ4MzY2LCA0ODM3MCwgNDgzNzQsIDQ4Mzc4LCA0ODM4MiwgNDgzODYsIAorICAgIDQ4MzkwLCA0ODM5NywgNDg0MDQsIDQ4NDEyLCA0ODQyMCwgNDg0MjUsIDQ4NDMwLCA0ODQzNywgNDg0NDQsIDQ4NDUxLCAKKyAgICA0ODQ1OCwgNDg0NjEsIDQ4NDY0LCA0ODQ2OSwgNDg0NzEsIDQ4NDc1LCA0ODQ4MCwgNDg0ODIsIDQ4NDg0LCA0ODQ4NiwgCisgICAgNDg0ODgsIDQ4NDkzLCA0ODQ5NiwgNDg0OTgsIDQ4NTAzLCA0ODUxMCwgNDg1MTcsIDQ4NTIwLCA0ODUyNCwgNDg1MjksIAorICAgIDQ4NTM0LCA0ODU0MiwgNDg1NDgsIDQ4NTU0LCA0ODU2NiwgNDg1NzMsIDQ4NTgwLCA0ODU4NSwgNDg1OTAsIDQ4NTk2LCAKKyAgICA0ODU5OSwgNDg2MDIsIDQ4NjA3LCA0ODYwOSwgNDg2MTMsIDQ4NjE1LCA0ODYxNywgNDg2MTksIDQ4NjIxLCA0ODYyMywgCisgICAgNDg2MjUsIDQ4NjMwLCA0ODYzMiwgNDg2MzQsIDQ4NjM2LCA0ODYzOCwgNDg2NDIsIDQ4NjQ0LCA0ODY0NywgNDg2NTIsIAorICAgIDQ4NjU3LCA0ODY2MiwgNDg2NjcsIDQ4NjczLCA0ODY3OSwgNDg2ODEsIDQ4Njg0LCA0ODY5MSwgNDg2OTcsIDQ4NzAzLCAKKyAgICA0ODcxMCwgNDg3MTQsIDQ4NzE4LCA0ODcyMCwgNDg3MjIsIDQ4NzI2LCA0ODczMiwgNDg3MzcsIDQ4NzM5LCA0ODc0MywgCisgICAgNDg3NTIsIDQ4NzYwLCA0ODc2OCwgNDg3NzQsIDQ4NzgwLCA0ODc4NSwgNDg3OTEsIDQ4Nzk2LCA0ODc5OSwgNDg4MTMsIAorICAgIDQ4ODE2LCA0ODgyMSwgNDg4MjYsIDQ4ODMyLCA0ODg0MiwgNDg4NDQsIDQ4ODUwLCA0ODg1NiwgNDg4NjAsIDQ4ODY3LCAKKyAgICA0ODg3MSwgNDg4NzMsIDQ4ODc1LCA0ODg3OSwgNDg4ODUsIDQ4ODkwLCA0ODg5NiwgNDg4OTgsIDQ4OTA0LCA0ODkwNiwgCisgICAgNDg5MTIsIDQ4OTE0LCA0ODkxNiwgNDg5MjEsIDQ4OTIzLCA0ODkyNywgNDg5MzIsIDQ4OTM0LCA0ODkzOSwgNDg5NDQsIAorICAgIDQ4OTQ4LCA0ODk1NSwgNDg5NjUsIDQ4OTcwLCA0ODk3NiwgNDg5NzksIDQ4OTg1LCA0ODk4OCwgNDg5OTMsIDQ4OTk4LCAKKyAgICA0OTAwMiwgNDkwMDQsIDQ5MDA2LCA0OTAxMCwgNDkwMTQsIDQ5MDE4LCA0OTAyMiwgNDkwMjcsIDQ5MDI5LCA0OTAzNCwgCisgICAgNDkwMzcsIDQ5MDQwLCA0OTA0MywgNDkwNDcsIDQ5MDUxLCA0OTA1NiwgNDkwNjAsIDQ5MDY1LCA0OTA3MCwgNDkwNzQsIAorICAgIDQ5MDgwLCA0OTA4NywgNDkwOTAsIDQ5MDk2LCA0OTEwMSwgNDkxMDUsIDQ5MTEwLCA0OTExNiwgNDkxMjIsIDQ5MTI5LCAKKyAgICA0OTEzNSwgNDkxNDIsIDQ5MTQ5LCA0OTE1MSwgNDkxNTgsIDQ5MTYyLCA0OTE2OSwgNDkxNzUsIDQ5MTgwLCA0OTE4NiwgCisgICAgNDkxOTAsIDQ5MTk1LCA0OTE5OCwgNDkyMDQsIDQ5MjEwLCA0OTIxNywgNDkyMjUsIDQ5MjMyLCA0OTI0MSwgNDkyNTEsIAorICAgIDQ5MjU4LCA0OTI2NCwgNDkyNjgsIDQ5Mjc2LCA0OTI4MSwgNDkyOTAsIDQ5MjkzLCA0OTI5NiwgNDkzMDUsIDQ5MzE2LCAKKyAgICA0OTMyMywgNDkzMjUsIDQ5MzMxLCA0OTMzNiwgNDkzMzgsIDQ5MzQxLCA0OTM0NSwgNDkzNTMsIDQ5MzYyLCA0OTM2NSwgCisgICAgNDkzNzAsIDQ5Mzc1LCA0OTM4MywgNDkzOTEsIDQ5Mzk5LCA0OTQwNywgNDk0MTMsIDQ5NDE5LCA0OTQyNSwgNDk0MzMsIAorICAgIDQ5NDM4LCA0OTQ0MSwgNDk0NDUsIDQ5NDQ4LCA0OTQ1OSwgNDk0NjksIDQ5NDc5LCA0OTQ4OCwgNDk0OTksIDQ5NTA5LCAKKyAgICA0OTUxOCwgNDk1MjQsIDQ5NTMyLCA0OTUzNiwgNDk1NDQsIDQ5NTQ4LCA0OTU1NiwgNDk1NjMsIDQ5NTcwLCA0OTU3OSwgCisgICAgNDk1ODgsIDQ5NTk4LCA0OTYwOCwgNDk2MTgsIDQ5NjI4LCA0OTYzNywgNDk2NDYsIDQ5NjU2LCA0OTY2NiwgNDk2NzUsIAorICAgIDQ5Njg0LCA0OTY5MCwgNDk2OTYsIDQ5NzAyLCA0OTcwOCwgNDk3MTQsIDQ5NzIwLCA0OTcyNiwgNDk3MzIsIDQ5NzM4LCAKKyAgICA0OTc0NSwgNDk3NTEsIDQ5NzU3LCA0OTc2MywgNDk3NjksIDQ5Nzc1LCA0OTc4MSwgNDk3ODcsIDQ5NzkzLCA0OTc5OSwgCisgICAgNDk4MDYsIDQ5ODEzLCA0OTgyMCwgNDk4MjcsIDQ5ODM0LCA0OTg0MSwgNDk4NDgsIDQ5ODU1LCA0OTg2MiwgNDk4NjksIAorICAgIDQ5ODc3LCA0OTg4MiwgNDk4ODUsIDQ5ODg5LCA0OTg5MywgNDk4OTgsIDQ5OTAxLCA0OTkwNiwgNDk5MTIsIDQ5OTE3LCAKKyAgICA0OTkyMSwgNDk5MjYsIDQ5OTMyLCA0OTkzOSwgNDk5NDIsIDQ5OTQ5LCA0OTk1NiwgNDk5NjAsIDQ5OTY4LCA0OTk3NiwgCisgICAgNDk5ODEsIDQ5OTg3LCA0OTk5MiwgNDk5OTcsIDUwMDA0LCA1MDAxMSwgNTAwMTksIDUwMDI3LCA1MDAzNiwgNTAwNDAsIAorICAgIDUwMDQ5LCA1MDA1NCwgNTAwNTgsIDUwMDY0LCA1MDA2OCwgNTAwNzQsIDUwMDgxLCA1MDA4NiwgNTAwOTMsIDUwMDk3LCAKKyAgICA1MDEwMiwgNTAxMDYsIDUwMTExLCA1MDExNSwgNTAxMjAsIDUwMTI1LCA1MDEzNCwgNTAxMzYsIDUwMTQwLCA1MDE0NCwgCisgICAgNTAxNTEsIDUwMTU4LCA1MDE2NCwgNTAxNzIsIDUwMTc4LCA1MDE4NCwgNTAxODksIDUwMTkyLCA1MDE5NywgNTAyMDIsIAorICAgIDUwMjA3LCA1MDIxNSwgNTAyMTksIDUwMjI2LCA1MDIzNCwgNTAyNDIsIDUwMjQ3LCA1MDI1MiwgNTAyNTgsIDUwMjYzLCAKKyAgICA1MDI2OCwgNTAyNzQsIDUwMjc5LCA1MDI4MiwgNTAyODYsIDUwMjkwLCA1MDI5NywgNTAzMDYsIDUwMzExLCA1MDMyMCwgCisgICAgNTAzMjksIDUwMzM1LCA1MDM0MSwgNTAzNDYsIDUwMzUxLCA1MDM1NiwgNTAzNjEsIDUwMzY3LCA1MDM3MywgNTAzODEsIAorICAgIDUwMzg5LCA1MDM5NSwgNTA0MDEsIDUwNDA1LCA1MDQwOSwgNTA0MTYsIDUwNDIzLCA1MDQyOSwgNTA0MzIsIDUwNDM1LCAKKyAgICA1MDQzOSwgNTA0NDMsIDUwNDQ3LCA1MDQ1MiwgNTA0NTgsIDUwNDY0LCA1MDQ3MSwgNTA0NzgsIDUwNDgzLCA1MDQ4NywgCisgICAgNTA0OTEsIDUwNDk1LCA1MDQ5OSwgNTA1MDMsIDUwNTA3LCA1MDUxMSwgNTA1MTUsIDUwNTE5LCA1MDUyMywgNTA1MjcsIAorICAgIDUwNTMxLCA1MDUzNSwgNTA1MzksIDUwNTQzLCA1MDU0NywgNTA1NTEsIDUwNTU1LCA1MDU1OSwgNTA1NjMsIDUwNTY3LCAKKyAgICA1MDU3MSwgNTA1NzUsIDUwNTc5LCA1MDU4MywgNTA1ODcsIDUwNTkxLCA1MDU5NSwgNTA1OTksIDUwNjAzLCA1MDYwNywgCisgICAgNTA2MTEsIDUwNjE1LCA1MDYxOSwgNTA2MjMsIDUwNjI3LCA1MDYzMSwgNTA2MzUsIDUwNjM5LCA1MDY0MywgNTA2NDcsIAorICAgIDUwNjUxLCA1MDY1NSwgNTA2NTksIDUwNjYzLCA1MDY2NywgNTA2NzEsIDUwNjc1LCA1MDY3OSwgNTA2ODMsIDUwNjg3LCAKKyAgICA1MDY5MSwgNTA2OTUsIDUwNjk5LCA1MDcwMywgNTA3MDcsIDUwNzExLCA1MDcxNSwgNTA3MTksIDUwNzIzLCA1MDcyNywgCisgICAgNTA3MzEsIDUwNzM1LCA1MDczOSwgNTA3NDMsIDUwNzQ3LCA1MDc1MSwgNTA3NTUsIDUwNzU5LCA1MDc2MywgNTA3NjcsIAorICAgIDUwNzcxLCA1MDc3NSwgNTA3NzksIDUwNzgzLCA1MDc4NywgNTA3OTEsIDUwNzk1LCA1MDc5OSwgNTA4MDMsIDUwODA3LCAKKyAgICA1MDgxMSwgNTA4MTUsIDUwODE5LCA1MDgyMywgNTA4MjcsIDUwODMxLCA1MDgzNSwgNTA4MzksIDUwODQzLCA1MDg0NywgCisgICAgNTA4NTEsIDUwODU1LCA1MDg1OSwgNTA4NjMsIDUwODY3LCA1MDg3MSwgNTA4NzUsIDUwODc5LCA1MDg4MywgNTA4ODcsIAorICAgIDUwODkxLCA1MDg5NSwgNTA4OTksIDUwOTAzLCA1MDkwNywgNTA5MTEsIDUwOTE1LCA1MDkxOSwgNTA5MjMsIDUwOTI3LCAKKyAgICA1MDkzMSwgNTA5MzUsIDUwOTM5LCA1MDk0MywgNTA5NDcsIDUwOTUxLCA1MDk1NSwgNTA5NTksIDUwOTYzLCA1MDk2NywgCisgICAgNTA5NzEsIDUwOTc1LCA1MDk3OSwgNTA5ODMsIDUwOTg3LCA1MDk5MSwgNTA5OTUsIDUwOTk5LCA1MTAwMywgNTEwMDcsIAorICAgIDUxMDExLCA1MTAxNSwgNTEwMTksIDUxMDIzLCA1MTAyNywgNTEwMzEsIDUxMDM1LCA1MTAzOSwgNTEwNDMsIDUxMDQ3LCAKKyAgICA1MTA1MSwgNTEwNTUsIDUxMDU5LCA1MTA2MywgNTEwNjcsIDUxMDcxLCA1MTA3NSwgNTEwNzksIDUxMDgzLCA1MTA4NywgCisgICAgNTEwOTEsIDUxMDk1LCA1MTA5OSwgNTExMDMsIDUxMTA3LCA1MTExMSwgNTExMTUsIDUxMTE5LCA1MTEyMywgNTExMjcsIAorICAgIDUxMTMxLCA1MTEzNSwgNTExMzksIDUxMTQzLCA1MTE0NywgNTExNTEsIDUxMTU1LCA1MTE1OSwgNTExNjMsIDUxMTY3LCAKKyAgICA1MTE3MSwgNTExNzUsIDUxMTc5LCA1MTE4MywgNTExODcsIDUxMTkxLCA1MTE5NSwgNTExOTksIDUxMjAzLCA1MTIwNywgCisgICAgNTEyMTEsIDUxMjE1LCA1MTIxOSwgNTEyMjMsIDUxMjI3LCA1MTIzMSwgNTEyMzUsIDUxMjM5LCA1MTI0MywgNTEyNDcsIAorICAgIDUxMjUxLCA1MTI1NSwgNTEyNTksIDUxMjYzLCA1MTI2NywgNTEyNzEsIDUxMjc1LCA1MTI3OSwgNTEyODMsIDUxMjg3LCAKKyAgICA1MTI5MSwgNTEyOTUsIDUxMjk5LCA1MTMwMywgNTEzMDcsIDUxMzExLCA1MTMxNSwgNTEzMTksIDUxMzIzLCA1MTMyNywgCisgICAgNTEzMzEsIDUxMzM1LCA1MTMzOSwgNTEzNDMsIDUxMzQ3LCA1MTM1MSwgNTEzNTUsIDUxMzU5LCA1MTM2MywgNTEzNjcsIAorICAgIDUxMzcxLCA1MTM3NSwgNTEzNzksIDUxMzgzLCA1MTM4NywgNTEzOTEsIDUxMzk1LCA1MTM5OSwgNTE0MDMsIDUxNDA3LCAKKyAgICA1MTQxMSwgNTE0MTUsIDUxNDE5LCA1MTQyMywgNTE0MjcsIDUxNDMxLCA1MTQzNSwgNTE0MzksIDUxNDQzLCA1MTQ0NywgCisgICAgNTE0NTEsIDUxNDU1LCA1MTQ1OSwgNTE0NjMsIDUxNDY3LCA1MTQ3MSwgNTE0NzUsIDUxNDc5LCA1MTQ4MywgNTE0ODcsIAorICAgIDUxNDkxLCA1MTQ5NSwgNTE0OTksIDUxNTAzLCA1MTUwNywgNTE1MTQsIDUxNTIyLCA1MTUyOCwgNTE1MzQsIDUxNTQxLCAKKyAgICA1MTU0OCwgNTE1NTQsIDUxNTYwLCA1MTU2NSwgNTE1NzAsIDUxNTc0LCA1MTU3OCwgNTE1ODMsIDUxNTg4LCA1MTU5NCwgCisgICAgNTE2MDAsIDUxNjA4LCA1MTYxNSwgNTE2MjAsIDUxNjI1LCA1MTYzMywgNTE2NDIsIDUxNjQ5LCA1MTY1OSwgNTE2NzAsIAorICAgIDUxNjczLCA1MTY3NiwgNTE2ODAsIDUxNjg0LCA1MTY5MSwgNTE2OTgsIDUxNzA5LCA1MTcyMCwgNTE3MjgsIDUxNzM2LCAKKyAgICA1MTc0MiwgNTE3NDgsIDUxNzU0LCA1MTc2MCwgNTE3NjksIDUxNzc4LCA1MTc4NywgNTE3OTYsIDUxODA2LCA1MTgxNiwgCisgICAgNTE4MjYsIDUxODM2LCA1MTg0NiwgNTE4NTYsIDUxODY2LCA1MTg3NiwgNTE4ODUsIDUxODk1LCA1MTkwNSwgNTE5MTUsIAorICAgIDUxOTI1LCA1MTkzMiwgNTE5MzksIDUxOTQ2LCA1MTk1MywgNTE5NjMsIDUxOTczLCA1MTk4MSwgNTE5ODksIDUxOTk2LCAKKyAgICA1MjAwMywgNTIwMTAsIDUyMDE3LCA1MjAyNCwgNTIwMjksIDUyMDM0LCA1MjA0MCwgNTIwNDgsIDUyMDU3LCA1MjA2NSwgCisgICAgNTIwNzMsIDUyMDgxLCA1MjA4OSwgNTIwOTcsIDUyMTA1LCA1MjExMywgNTIxMjEsIDUyMTMwLCA1MjEzOSwgNTIxNDgsIAorICAgIDUyMTU3LCA1MjE2NiwgNTIxNzUsIDUyMTg0LCA1MjE5MywgNTIyMDIsIDUyMjExLCA1MjIyMCwgNTIyMjksIDUyMjM4LCAKKyAgICA1MjI0NywgNTIyNTYsIDUyMjY1LCA1MjI3OSwgNTIyOTQsIDUyMzA4LCA1MjMyMywgNTIzMzcsIDUyMzUxLCA1MjM2NSwgCisgICAgNTIzNzksIDUyMzg5LCA1MjQwMCwgNTI0MTAsIDUyNDIxLCA1MjQzNiwgNTI0NTEsIDUyNDU5LCA1MjQ2NSwgNTI0NzIsIAorICAgIDUyNDc5LCA1MjQ4NiwgNTI0OTMsIDUyNDk4LCA1MjUwNCwgNTI1MDksIDUyNTE0LCA1MjUyMCwgNTI1MjUsIDUyNTMwLCAKKyAgICA1MjUzNSwgNTI1NDAsIDUyNTQ1LCA1MjU1MiwgNTI1NTgsIDUyNTY2LCA1MjU3MSwgNTI1NzYsIDUyNTgwLCA1MjU4NCwgCisgICAgNTI1OTIsIDUyNjAwLCA1MjYwOCwgNTI2MTYsIDUyNjIzLCA1MjYzMCwgNTI2NDMsIDUyNjU2LCA1MjY2OSwgNTI2ODIsIAorICAgIDUyNjkwLCA1MjY5OCwgNTI3MDQsIDUyNzEwLCA1MjcxNywgNTI3MjQsIDUyNzMxLCA1MjczOCwgNTI3NDIsIDUyNzQ3LCAKKyAgICA1Mjc1NSwgNTI3NjMsIDUyNzcxLCA1Mjc3OCwgNTI3ODIsIDUyNzkwLCA1Mjc5OCwgNTI4MDEsIDUyODA1LCA1MjgxMCwgCisgICAgNTI4MTcsIDUyODI1LCA1MjgzMywgNTI4NTMsIDUyODczLCA1Mjg5MywgNTI5MTMsIDUyOTMzLCA1Mjk1MywgNTI5NzMsIAorICAgIDUyOTkzLCA1Mjk5OSwgNTMwMDYsIDUzMDE1LCA1MzAyMywgNTMwMzEsIDUzMDM2LCA1MzAzOSwgNTMwNDIsIDUzMDQ3LCAKKyAgICA1MzA1MCwgNTMwNjksIDUzMDc2LCA1MzA4MiwgNTMwODgsIDUzMDkyLCA1MzA5NSwgNTMwOTgsIDUzMTAxLCA1MzExMywgCisgICAgNTMxMjYsIDUzMTMzLCA1MzE0MCwgNTMxNDMsIDUzMTQ3LCA1MzE1MCwgNTMxNTUsIDUzMTYwLCA1MzE2NSwgNTMxNzEsIAorICAgIDUzMTgwLCA1MzE4NywgNTMxOTQsIDUzMjAyLCA1MzIwOSwgNTMyMTYsIDUzMjE5LCA1MzIyNSwgNTMyMzEsIDUzMjM0LCAKKyAgICA1MzIzNywgNTMyNDIsIDUzMjQ3LCA1MzI1MywgNTMyNTksIDUzMjYzLCA1MzI2OCwgNTMyNzUsIDUzMjc5LCA1MzI4NSwgCisgICAgNTMyODksIDUzMjkzLCA1MzMwMSwgNTMzMTMsIDUzMzIyLCA1MzMyNiwgNTMzMjgsIDUzMzM3LCA1MzM0NiwgNTMzNTIsIAorICAgIDUzMzU1LCA1MzM2MSwgNTMzNjcsIDUzMzcyLCA1MzM3NywgNTMzODIsIDUzMzg3LCA1MzM5MiwgNTMzOTcsIDUzMzk5LCAKKyAgICA1MzQwNSwgNTM0MTAsIDUzNDE3LCA1MzQyMSwgNTM0MjcsIDUzNDMwLCA1MzQzNCwgNTM0NDEsIDUzNDQ4LCA1MzQ1MCwgCisgICAgNTM0NTIsIDUzNDU4LCA1MzQ2NCwgNTM0NzAsIDUzNDc5LCA1MzQ4OCwgNTM0OTUsIDUzNTAyLCA1MzUwOCwgNTM1MTUsIAorICAgIDUzNTIwLCA1MzUyNSwgNTM1MzAsIDUzNTM2LCA1MzU0MiwgNTM1NDcsIDUzNTU0LCA1MzU1OCwgNTM1NjIsIDUzNTc1LCAKKyAgICA1MzU4OCwgNTM2MDAsIDUzNjA5LCA1MzYxNSwgNTM2MjIsIDUzNjI3LCA1MzYzMiwgNTM2MzcsIDUzNjQyLCA1MzY0NywgCisgICAgNTM2NDksIDUzNjU2LCA1MzY2NCwgNTM2NzIsIDUzNjgwLCA1MzY4NywgNTM2OTUsIDUzNzAxLCA1MzcwNiwgNTM3MTIsIAorICAgIDUzNzE4LCA1MzcyNCwgNTM3MzEsIDUzNzM3LCA1Mzc0NSwgNTM3NTMsIDUzNzYxLCA1Mzc2OSwgNTM3NzcsIDUzNzgzLCAKKyAgICA1Mzc4OSwgNTM3OTgsIDUzODAyLCA1MzgxMSwgNTM4MjAsIDUzODI5LCA1MzgzNywgNTM4NDEsIDUzODQ3LCA1Mzg1NCwgCisgICAgNTM4NjEsIDUzODY1LCA1Mzg3MSwgNTM4NzksIDUzODg1LCA1Mzg5MCwgNTM4OTYsIDUzOTAxLCA1MzkwNiwgNTM5MTMsIAorICAgIDUzOTIwLCA1MzkyNSwgNTM5MzAsIDUzOTM4LCA1Mzk0NiwgNTM5NTYsIDUzOTY2LCA1Mzk3MywgNTM5ODAsIDUzOTg0LCAKKyAgICA1Mzk4OCwgNTQwMDAsIDU0MDA2LCA1NDAxMywgNTQwMTgsIDU0MDIzLCA1NDAzMCwgNTQwMzcsIDU0MDQzLCA1NDA0OSwgCisgICAgNTQwNTksIDU0MDY3LCA1NDA3NiwgNTQwODMsIDU0MDkxLCA1NDA5OCwgNTQxMDQsIDU0MTExLCA1NDExNywgNTQxMjUsIAorICAgIDU0MTMzLCA1NDE0MSwgNTQxNDksIDU0MTU1LCA1NDE2MCwgNTQxNjksIDU0MTc5LCA1NDE4NiwgNTQxOTUsIDU0MjAxLCAKKyAgICA1NDIwNiwgNTQyMTEsIDU0MjIxLCA1NDIyOCwgNTQyMzQsIDU0MjQwLCA1NDI0OCwgNTQyNTMsIDU0MjYwLCA1NDI2NywgCisgICAgNTQyNzgsIDU0Mjg1LCA1NDI5MiwgNTQyOTksIDU0MzA2LCA1NDMxMywgNTQzMjEsIDU0MzI5LCA1NDM0MiwgNTQzNTUsIAorICAgIDU0MzY3LCA1NDM3OSwgNTQzOTMsIDU0NDA3LCA1NDQxMywgNTQ0MTksIDU0NDI4LCA1NDQzNywgNTQ0NDQsIDU0NDUxLCAKKyAgICA1NDQ2MCwgNTQ0NjksIDU0NDc4LCA1NDQ4NywgNTQ0OTUsIDU0NTAzLCA1NDUxMywgNTQ1MjMsIDU0NTM3LCA1NDU1MSwgCisgICAgNTQ1NjAsIDU0NTY5LCA1NDU4MiwgNTQ1OTUsIDU0NjA0LCA1NDYxMywgNTQ2MjQsIDU0NjM1LCA1NDY0MSwgNTQ2NDcsIAorICAgIDU0NjU2LCA1NDY2NSwgNTQ2NzAsIDU0Njc1LCA1NDY4MywgNTQ2ODksIDU0Njk1LCA1NDcwMywgNTQ3MTEsIDU0NzI0LCAKKyAgICA1NDczNywgNTQ3NDEsIDU0NzQ1LCA1NDc1MywgNTQ3NjEsIDU0NzY4LCA1NDc3NiwgNTQ3ODQsIDU0NzkzLCA1NDgwMiwgCisgICAgNTQ4MDgsIDU0ODE0LCA1NDgyMSwgNTQ4MjgsIDU0ODM1LCA1NDg0MiwgNTQ4NTEsIDU0ODYwLCA1NDg2MywgNTQ4NjYsIAorICAgIDU0ODcxLCA1NDg3NiwgNTQ4ODIsIDU0ODg4LCA1NDg5NSwgNTQ5MDIsIDU0OTEzLCA1NDkyNCwgNTQ5MzEsIDU0OTM4LCAKKyAgICA1NDk0NiwgNTQ5NTQsIDU0OTYyLCA1NDk3MCwgNTQ5NzgsIDU0OTg2LCA1NDk5MywgNTUwMDAsIDU1MDA0LCA1NTAwOCwgCisgICAgNTUwMTYsIDU1MDI0LCA1NTAyOSwgNTUwMzQsIDU1MDM5LCA1NTA0NCwgNTUwNTAsIDU1MDY0LCA1NTA3MSwgNTUwNzgsIAorICAgIDU1MDgyLCA1NTA4NCwgNTUwODYsIDU1MDkxLCA1NTA5NiwgNTUxMDEsIDU1MTA1LCA1NTExMywgNTUxMjAsIDU1MTI3LCAKKyAgICA1NTEzNSwgNTUxNDcsIDU1MTU1LCA1NTE2MywgNTUxNzQsIDU1MTc4LCA1NTE4MiwgNTUxODgsIDU1MTk2LCA1NTIwOSwgCisgICAgNTUyMTYsIDU1MjIzLCA1NTIzMCwgNTUyMzUsIDU1MjQyLCA1NTI1MSwgNTUyNTksIDU1MjY1LCA1NTI3MSwgNTUyNzcsIAorICAgIDU1Mjg3LCA1NTI5NywgNTUzMDUsIDU1MzE0LCA1NTMxOSwgNTUzMjIsIDU1MzI3LCA1NTMzMiwgNTUzMzcsIDU1MzQyLCAKKyAgICA1NTM0NywgNTUzNTEsIDU1MzU0LCA1NTM1NywgNTUzNjAsIDU1MzY1LCA1NTM3MCwgNTUzNzUsIDU1MzgwLCA1NTM4NCwgCisgICAgNTUzODgsIDU1Mzk1LCA1NTQwMiwgNTU0MDksIDU1NDE2LCA1NTQyMywgNTU0MzAsIDU1NDQwLCA1NTQ1MCwgNTU0NTcsIAorICAgIDU1NDY0LCA1NTQ3MiwgNTU0ODAsIDU1NDg0LCA1NTQ4OSwgNTU0OTQsIDU1NTAwLCA1NTUwNiwgNTU1MDksIDU1NTEyLCAKKyAgICA1NTUxNSwgNTU1MTgsIDU1NTIyLCA1NTUyNywgNTU1MzIsIDU1NTM3LCA1NTU0MiwgNTU1NDcsIDU1NTUxLCA1NTU1NSwgCisgICAgNTU1NTksIDU1NTYzLCA1NTU2NywgNTU1NzEsIDU1NTc1LCA1NTU4MSwgNTU1ODUsIDU1NTkxLCA1NTU5NiwgNTU2MDMsIAorICAgIDU1NjExLCA1NTYxOCwgNTU2MjYsIDU1NjMzLCA1NTY0MSwgNTU2NTAsIDU1NjU3LCA1NTY2NywgNTU2NzgsIDU1Njg0LCAKKyAgICA1NTY5MywgNTU2OTksIDU1NzA4LCA1NTcxNywgNTU3MjMsIDU1NzI5LCA1NTczMywgNTU3MzcsIDU1NzQ2LCA1NTc1NSwgCisgICAgNTU3NjIsIDU1NzY5LCA1NTc3OCwgNTU3ODcsIDU1NzkzLCA1NTc5OSwgNTU4MDUsIDU1ODEwLCA1NTgxNCwgNTU4MTgsIAorICAgIDU1ODIzLCA1NTgyOCwgNTU4MzMsIDU1ODQxLCA1NTg0OSwgNTU4NTIsIDU1ODU2LCA1NTg2NSwgNTU4NzQsIDU1ODgyLCAKKyAgICA1NTg5MCwgNTU5MDEsIDU1OTE0LCA1NTkxOCwgNTU5MjIsIDU1OTI2LCA1NTkzMCwgNTU5MzUsIDU1OTQwLCA1NTk0NiwgCisgICAgNTU5NTIsIDU1OTU4LCA1NTk2NCwgNTU5NzAsIDU1OTc2LCA1NTk4MiwgNTU5ODgsIDU1OTk3LCA1NjAwNiwgNTYwMTMsIAorICAgIDU2MDIwLCA1NjAyNywgMCwgMCwgNTYwMzQsIDU2MDQzLCA1NjA1MiwgNTYwNjEsIDU2MDcwLCA1NjA3OCwgNTYwODYsIAorICAgIDU2MDk0LCA1NjEwMiwgNTYxMDcsIDU2MTEyLCA1NjEyMSwgNTYxMzEsIDU2MTQwLCA1NjE1MCwgNTYxNTcsIDU2MTY0LCAKKyAgICA1NjE3MSwgNTYxNzgsIDU2MTgzLCA1NjE4OCwgNTYxOTMsIDU2MTk4LCA1NjIwNiwgNTYyMTUsIDU2MjIzLCA1NjIzMiwgCisgICAgNTYyMzYsIDU2MjQwLCA1NjI0NCwgNTYyNDgsIDU2MjU4LCAwLCAwLCA1NjI2MSwgNTYyNzAsIDU2Mjc5LCA1NjI4OCwgCisgICAgNTYyOTcsIDU2MzAzLCA1NjMwOSwgNTYzMTUsIDU2MzIxLCA1NjMzMSwgNTYzNDEsIDU2MzUxLCA1NjM2MSwgNTYzNzEsIAorICAgIDU2MzgxLCA1NjM5MSwgNTY0MDEsIDU2NDA4LCA1NjQxNSwgNTY0MjIsIDU2NDI5LCA1NjQzNiwgNTY0NDMsIDU2NDUwLCAKKyAgICA1NjQ1NywgNTY0NjMsIDU2NDY5LCA1NjQ3NSwgNTY0ODEsIDU2NDg3LCA1NjQ5MywgNTY0OTksIDU2NTA1LCA1NjUxNSwgMCwgCisgICAgMCwgMCwgNTY1MjUsIDU2NTMyLCA1NjUzNSwgNTY1MzksIDU2NTQzLCA1NjU0OCwgNTY1NTIsIDU2NTU2LCA1NjU1OSwgCisgICAgNTY1NjgsIDU2NTc3LCA1NjU4NiwgMCwgNTY1OTUsIDU2NjAxLCA1NjYwNywgNTY2MTUsIDU2NjI1LCA1NjYzMiwgNTY2NDEsIAorICAgIDU2NjQ2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA1NjY0OSwgNTY2NTQsIDU2NjU5LCA1NjY2NCwgNTY2NjksIDU2Njc0LCA1NjY3OSwgNTY2ODQsIDU2Njg5LCA1NjY5NCwgCisgICAgNTY2OTksIDU2NzA1LCA1NjcwOSwgNTY3MTQsIDU2NzE5LCA1NjcyNCwgNTY3MjksIDU2NzM0LCA1NjczOSwgNTY3NDQsIAorICAgIDU2NzQ5LCA1Njc1NCwgNTY3NTksIDU2NzY0LCA1Njc2OSwgNTY3NzQsIDU2Nzc5LCA1Njc4NCwgNTY3ODksIDU2Nzk0LCAKKyAgICA1Njc5OSwgNTY4MDQsIDU2ODA5LCA1NjgxNCwgNTY4MTksIDU2ODI1LCA1NjgzMCwgNTY4MzYsIDU2ODQ1LCA1Njg1MCwgCisgICAgNTY4NTgsIDU2ODY1LCA1Njg3NCwgNTY4NzksIDU2ODg0LCA1Njg4OSwgNTY4OTUsIDAsIDU2OTAyLCA1NjkwNywgNTY5MTIsIAorICAgIDU2OTE3LCA1NjkyMiwgNTY5MjcsIDU2OTMyLCA1NjkzNywgNTY5NDIsIDU2OTQ3LCA1Njk1MiwgNTY5NTgsIDU2OTYyLCAKKyAgICA1Njk2NywgNTY5NzIsIDU2OTc3LCA1Njk4MiwgNTY5ODcsIDU2OTkyLCA1Njk5NywgNTcwMDIsIDU3MDA3LCA1NzAxMiwgCisgICAgNTcwMTcsIDU3MDIyLCA1NzAyNywgNTcwMzIsIDU3MDM3LCA1NzA0MiwgNTcwNDcsIDU3MDUyLCA1NzA1NywgNTcwNjIsIAorICAgIDU3MDY3LCA1NzA3MiwgNTcwNzgsIDU3MDgzLCA1NzA4OSwgNTcwOTgsIDU3MTAzLCA1NzExMSwgNTcxMTgsIDU3MTI3LCAKKyAgICA1NzEzMiwgNTcxMzcsIDU3MTQyLCA1NzE0OCwgMCwgNTcxNTUsIDU3MTYzLCA1NzE3MSwgNTcxODEsIDU3MTg4LCA1NzE5NiwgCisgICAgNTcyMDIsIDU3MjExLCA1NzIxOSwgNTcyMjcsIDU3MjM1LCA1NzI0MywgNTcyNTEsIDU3MjU5LCA1NzI2NCwgNTcyNzEsIAorICAgIDU3Mjc2LCA1NzI4MiwgNTcyOTAsIDU3Mjk3LCA1NzMwNCwgNTczMTIsIDU3MzE4LCA1NzMyNCwgNTczMzEsIDU3MzM4LCAKKyAgICA1NzM0NywgNTczNTcsIDU3MzYzLCA1NzM3MCwgNTczNzUsIDU3Mzg1LCA1NzM5NSwgNTc0MDAsIDU3NDA1LCA1NzQxMCwgCisgICAgNTc0MTUsIDU3NDIwLCA1NzQyNSwgNTc0MzAsIDU3NDM1LCA1NzQ0MCwgNTc0NDUsIDU3NDUwLCA1NzQ1NSwgNTc0NjAsIAorICAgIDU3NDY1LCA1NzQ3MCwgNTc0NzUsIDU3NDgwLCA1NzQ4NSwgNTc0OTAsIDU3NDk1LCA1NzUwMCwgNTc1MDUsIDU3NTEwLCAKKyAgICA1NzUxNSwgNTc1MjAsIDU3NTI1LCA1NzUzMCwgNTc1MzUsIDU3NTQwLCA1NzU0NSwgNTc1NDksIDU3NTUzLCA1NzU1OCwgCisgICAgNTc1NjMsIDU3NTY4LCA1NzU3MywgNTc1NzgsIDU3NTgzLCA1NzU4OCwgNTc1OTMsIDU3NTk4LCA1NzYwMywgNTc2MDgsIAorICAgIDU3NjEzLCA1NzYxOCwgNTc2MjMsIDU3NjI4LCA1NzYzMywgNTc2MzgsIDU3NjQzLCA1NzY1MCwgNTc2NTcsIDU3NjY0LCAKKyAgICA1NzY3MSwgNTc2NzgsIDU3Njg1LCA1NzY5MiwgNTc2OTksIDU3NzA2LCA1NzcxMywgNTc3MjAsIDU3NzI3LCA1NzczNCwgCisgICAgNTc3NDEsIDU3NzQ2LCA1Nzc1MSwgNTc3NTgsIDU3NzY1LCA1Nzc3MiwgNTc3NzksIDU3Nzg2LCA1Nzc5MywgNTc4MDAsIAorICAgIDU3ODA3LCA1NzgxNCwgNTc4MjEsIDU3ODI4LCA1NzgzNSwgNTc4NDEsIDU3ODQ3LCA1Nzg1MywgNTc4NTksIDU3ODY2LCAKKyAgICA1Nzg3MywgNTc4ODAsIDU3ODg3LCA1Nzg5NCwgNTc5MDEsIDU3OTA4LCA1NzkxNSwgNTc5MjIsIDU3OTI5LCA1NzkzNywgCisgICAgNTc5NDUsIDU3OTUzLCA1Nzk2MSwgNTc5NjksIDU3OTc3LCA1Nzk4NSwgNTc5OTMsIDU3OTk3LCA1ODAwMywgNTgwMDksIAorICAgIDU4MDEzLCA1ODAxOSwgNTgwMjUsIDU4MDMxLCA1ODAzOCwgNTgwNDUsIDU4MDUyLCA1ODA1OSwgNTgwNjQsIDU4MDcwLCAKKyAgICA1ODA3NiwgNTgwODMsIDAsIDAsIDAsIDAsIDAsIDU4MDkwLCA1ODA5OCwgNTgxMDcsIDU4MTE2LCA1ODEyNCwgNTgxMzAsIAorICAgIDU4MTM1LCA1ODE0MCwgNTgxNDUsIDU4MTUwLCA1ODE1NSwgNTgxNjAsIDU4MTY1LCA1ODE3MCwgNTgxNzUsIDU4MTgwLCAKKyAgICA1ODE4NSwgNTgxOTAsIDU4MTk1LCA1ODIwMCwgNTgyMDUsIDU4MjEwLCA1ODIxNSwgNTgyMjAsIDU4MjI1LCA1ODIzMCwgCisgICAgNTgyMzUsIDU4MjQwLCA1ODI0NSwgNTgyNTAsIDU4MjU1LCA1ODI2MCwgNTgyNjUsIDU4MjcwLCA1ODI3NSwgNTgyODAsIAorICAgIDU4Mjg1LCA1ODI5MCwgNTgyOTUsIDU4MzAwLCA1ODMwNSwgNTgzMTAsIDU4MzE1LCA1ODMyMCwgNTgzMjUsIDAsIDU4MzMwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA1ODMzNSwgMCwgMCwgNTgzNDAsIDU4MzQ0LCA1ODM0OSwgNTgzNTQsIDU4MzU5LCA1ODM2NCwgCisgICAgNTgzNzMsIDU4Mzc4LCA1ODM4MywgNTgzODgsIDU4MzkzLCA1ODM5OCwgNTg0MDMsIDU4NDA4LCA1ODQxMywgNTg0MjAsIAorICAgIDU4NDI1LCA1ODQzMCwgNTg0MzksIDU4NDQ2LCA1ODQ1MSwgNTg0NTYsIDU4NDYxLCA1ODQ2OCwgNTg0NzMsIDU4NDgwLCAKKyAgICA1ODQ4NSwgNTg0OTAsIDU4NDk3LCA1ODUwNCwgNTg1MDksIDU4NTE0LCA1ODUxOSwgNTg1MjYsIDU4NTMzLCA1ODUzOCwgCisgICAgNTg1NDMsIDU4NTQ4LCA1ODU1MywgNTg1NTgsIDU4NTY1LCA1ODU3MiwgNTg1NzcsIDU4NTgyLCA1ODU4NywgNTg1OTIsIAorICAgIDU4NTk3LCA1ODYwMiwgNTg2MDcsIDU4NjEyLCA1ODYxNywgNTg2MjIsIDU4NjI3LCA1ODYzNCwgNTg2MzksIDU4NjQ0LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCA1ODY0OSwgNTg2NTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDU4NjYxLCA1ODY2NiwgNTg2NzAsIDU4Njc0LCA1ODY3OCwgNTg2ODIsIDU4Njg2LCA1ODY5MCwgNTg2OTQsIDU4Njk4LCAKKyAgICA1ODcwMiwgNTg3MDYsIDU4NzEyLCA1ODcxNiwgNTg3MjAsIDU4NzI0LCA1ODcyOCwgNTg3MzIsIDU4NzM2LCA1ODc0MCwgCisgICAgNTg3NDQsIDU4NzQ4LCA1ODc1MiwgNTg3NTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU4NzYwLCA1ODc2NCwgCisgICAgNTg3NjgsIDU4NzcyLCA1ODc3NiwgNTg3ODAsIDU4Nzg0LCAwLCA1ODc4OCwgNTg3OTIsIDU4Nzk2LCA1ODgwMCwgNTg4MDQsIAorICAgIDU4ODA4LCA1ODgxMiwgMCwgNTg4MTYsIDU4ODIwLCA1ODgyNCwgNTg4MjgsIDU4ODMyLCA1ODgzNiwgNTg4NDAsIDAsIAorICAgIDU4ODQ0LCA1ODg0OCwgNTg4NTIsIDU4ODU2LCA1ODg2MCwgNTg4NjQsIDU4ODY4LCAwLCA1ODg3MiwgNTg4NzYsIDU4ODgwLCAKKyAgICA1ODg4NCwgNTg4ODgsIDU4ODkyLCA1ODg5NiwgMCwgNTg5MDAsIDU4OTA0LCA1ODkwOCwgNTg5MTIsIDU4OTE2LCA1ODkyMCwgCisgICAgNTg5MjQsIDAsIDU4OTI4LCA1ODkzMiwgNTg5MzYsIDU4OTQwLCA1ODk0NCwgNTg5NDgsIDU4OTUyLCAwLCA1ODk1NiwgCisgICAgNTg5NjAsIDU4OTY0LCA1ODk2OCwgNTg5NzIsIDU4OTc2LCA1ODk4MCwgMCwgNTg5ODQsIDU4OTg5LCA1ODk5NCwgNTg5OTksIAorICAgIDU5MDA0LCA1OTAwOSwgNTkwMTQsIDU5MDE4LCA1OTAyMywgNTkwMjgsIDU5MDMzLCA1OTAzNywgNTkwNDIsIDU5MDQ3LCAKKyAgICA1OTA1MiwgNTkwNTcsIDU5MDYxLCA1OTA2NiwgNTkwNzEsIDU5MDc2LCA1OTA4MSwgNTkwODYsIDU5MDkxLCA1OTA5NSwgCisgICAgNTkxMDAsIDU5MTA1LCA1OTExMiwgNTkxMTcsIDU5MTIyLCA1OTEyOCwgNTkxMzUsIDU5MTQyLCA1OTE1MSwgNTkxNTgsIAorICAgIDU5MTY3LCA1OTE3MSwgNTkxNzUsIDU5MTgxLCA1OTE4NywgNTkxOTMsIDU5MjAxLCA1OTIwNywgNTkyMTEsIDU5MjE1LCAKKyAgICA1OTIxOSwgNTkyMjUsIDU5MjMxLCA1OTIzNSwgNTkyMzcsIDU5MjQxLCA1OTI0NywgNTkyNDksIDU5MjUzLCA1OTI1NiwgCisgICAgNTkyNTksIDU5MjY1LCA1OTI3MCwgNTkyNzQsIDU5Mjc4LCA1OTI4MywgNTkyODksIDU5Mjk0LCA1OTI5OSwgNTkzMDQsIAorICAgIDU5MzA5LCA1OTMxNiwgNTkzMjMsIDU5MzI4LCA1OTMzMywgNTkzMzgsIDU5MzQzLCA1OTM0OCwgNTkzNTMsIDU5MzU3LCAKKyAgICA1OTM2MSwgNTkzNjgsIDU5Mzc1LCA1OTM4MSwgNTkzODUsIDU5MzkwLCA1OTM5MywgNTkzOTcsIDU5NDA1LCA1OTQwOCwgCisgICAgNTk0MTIsIDU5NDE2LCA1OTQxOSwgNTk0MjUsIDU5NDMxLCA1OTQzNCwgNTk0NDAsIDU5NDQ0LCA1OTQ0OCwgNTk0NTQsIAorICAgIDU5NDU5LCA1OTQ2NCwgNTk0NjYsIDU5NDY5LCA1OTQ3MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNTk0NzksIDU5NDgzLCA1OTQ4NywgNTk0OTIsIDU5NDk3LCA1OTUwMiwgNTk1MDYsIDU5NTEwLCA1OTUxNCwgNTk1MTksIAorICAgIDU5NTI0LCA1OTUyOCwgNTk1MzIsIDU5NTM2LCA1OTU0MCwgNTk1NDUsIDU5NTUwLCA1OTU1NSwgNTk1NjAsIDU5NTY0LCAKKyAgICA1OTU2OCwgNTk1NzMsIDU5NTc4LCA1OTU4MywgNTk1ODgsIDU5NTkyLCAwLCA1OTU5NiwgNTk2MDAsIDU5NjA0LCA1OTYwOCwgCisgICAgNTk2MTIsIDU5NjE2LCA1OTYyMCwgNTk2MjUsIDU5NjMwLCA1OTYzNCwgNTk2MzksIDU5NjQ0LCA1OTY1MywgNTk2NTcsIAorICAgIDU5NjYxLCA1OTY2NSwgNTk2NzIsIDU5Njc2LCA1OTY4MSwgNTk2ODYsIDU5NjkwLCA1OTY5NCwgNTk3MDAsIDU5NzA1LCAKKyAgICA1OTcxMCwgNTk3MTUsIDU5NzIwLCA1OTcyNCwgNTk3MjgsIDU5NzMyLCA1OTczNiwgNTk3NDAsIDU5NzQ1LCA1OTc1MCwgCisgICAgNTk3NTQsIDU5NzU4LCA1OTc2MywgNTk3NjgsIDU5NzczLCA1OTc3NywgNTk3ODEsIDU5Nzg2LCA1OTc5MSwgNTk3OTcsIAorICAgIDU5ODAzLCA1OTgwNywgNTk4MTMsIDU5ODE5LCA1OTgyMywgNTk4MjksIDU5ODM1LCA1OTg0MCwgNTk4NDUsIDU5ODQ5LCAKKyAgICA1OTg1NSwgNTk4NTksIDU5ODYzLCA1OTg2OSwgNTk4NzUsIDU5ODgwLCA1OTg4NSwgNTk4ODksIDU5ODkzLCA1OTkwMSwgCisgICAgNTk5MDcsIDU5OTEzLCA1OTkxOSwgNTk5MjQsIDU5OTI5LCA1OTkzNCwgNTk5NDAsIDU5OTQ0LCA1OTk1MCwgNTk5NTQsIAorICAgIDU5OTU4LCA1OTk2NCwgNTk5NzAsIDU5OTc2LCA1OTk4MiwgNTk5ODgsIDU5OTk0LCA2MDAwMCwgNjAwMDYsIDYwMDEyLCAKKyAgICA2MDAxOCwgNjAwMjQsIDYwMDMwLCA2MDAzNCwgNjAwNDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDYwMDQ2LCA2MDA0OSwgNjAwNTMsIDYwMDU3LCA2MDA2MSwgNjAwNjUsIDYwMDY4LCA2MDA3MSwgNjAwNzUsIDYwMDc5LCAKKyAgICA2MDA4MywgNjAwODcsIDYwMDkwLCA2MDA5NSwgNjAwOTksIDYwMTAzLCA2MDEwNywgNjAxMTMsIDYwMTE3LCA2MDEyMSwgCisgICAgNjAxMjUsIDYwMTI5LCA2MDEzNiwgNjAxNDIsIDYwMTQ2LCA2MDE1MCwgNjAxNTQsIDYwMTU4LCA2MDE2MiwgNjAxNjYsIAorICAgIDYwMTcwLCA2MDE3NCwgNjAxNzgsIDYwMTgyLCA2MDE4NiwgNjAxOTIsIDYwMTk2LCA2MDIwMCwgNjAyMDQsIDYwMjA4LCAKKyAgICA2MDIxMiwgNjAyMTYsIDYwMjIwLCA2MDIyNCwgNjAyMjgsIDYwMjMyLCA2MDIzNiwgNjAyNDAsIDYwMjQ0LCA2MDI0OCwgCisgICAgNjAyNTIsIDYwMjU2LCA2MDI2MiwgNjAyNjgsIDYwMjczLCA2MDI3OCwgNjAyODIsIDYwMjg2LCA2MDI5MCwgNjAyOTQsIAorICAgIDYwMjk4LCA2MDMwMiwgNjAzMDYsIDYwMzEwLCA2MDMxNCwgNjAzMTgsIDYwMzIyLCA2MDMyNiwgNjAzMzAsIDYwMzM0LCAKKyAgICA2MDMzOCwgNjAzNDIsIDYwMzQ2LCA2MDM1MCwgNjAzNTQsIDYwMzU4LCA2MDM2MiwgNjAzNjYsIDYwMzcwLCA2MDM3NCwgCisgICAgNjAzODAsIDYwMzg0LCA2MDM4OCwgNjAzOTIsIDYwMzk2LCA2MDQwMCwgNjA0MDQsIDYwNDA4LCA2MDQxMiwgNjA0MTcsIAorICAgIDYwNDI0LCA2MDQyOCwgNjA0MzIsIDYwNDM2LCA2MDQ0MCwgNjA0NDQsIDYwNDQ4LCA2MDQ1MiwgNjA0NTYsIDYwNDYwLCAKKyAgICA2MDQ2NCwgNjA0NjgsIDYwNDcyLCA2MDQ3OSwgNjA0ODMsIDYwNDg5LCA2MDQ5MywgNjA0OTcsIDYwNTAxLCA2MDUwNSwgCisgICAgNjA1MDksIDYwNTEyLCA2MDUxNiwgNjA1MjAsIDYwNTI0LCA2MDUyOCwgNjA1MzIsIDYwNTM2LCA2MDU0MCwgNjA1NDQsIAorICAgIDYwNTQ4LCA2MDU1MiwgNjA1NTYsIDYwNTYwLCA2MDU2NCwgNjA1NjgsIDYwNTcyLCA2MDU3NiwgNjA1ODAsIDYwNTg0LCAKKyAgICA2MDU4OCwgNjA1OTIsIDYwNTk2LCA2MDYwMCwgNjA2MDQsIDYwNjA4LCA2MDYxMiwgNjA2MTYsIDYwNjIwLCA2MDYyNCwgCisgICAgNjA2MjgsIDYwNjMyLCA2MDYzNiwgNjA2NDAsIDYwNjQ2LCA2MDY1MCwgNjA2NTQsIDYwNjU4LCA2MDY2MiwgNjA2NjYsIAorICAgIDYwNjcwLCA2MDY3NCwgNjA2NzgsIDYwNjgyLCA2MDY4NiwgNjA2OTAsIDYwNjk0LCA2MDY5OCwgNjA3MDIsIDYwNzA2LCAKKyAgICA2MDcxMCwgNjA3MTQsIDYwNzE4LCA2MDcyMiwgNjA3MjYsIDYwNzMwLCA2MDczNCwgNjA3MzgsIDYwNzQyLCA2MDc0NiwgCisgICAgNjA3NTAsIDYwNzU0LCA2MDc2MiwgNjA3NjYsIDYwNzcwLCA2MDc3NCwgNjA3NzgsIDYwNzgyLCA2MDc4OCwgNjA3OTIsIAorICAgIDYwNzk2LCA2MDgwMCwgNjA4MDQsIDYwODA4LCA2MDgxMiwgNjA4MTYsIDYwODIwLCA2MDgyNCwgNjA4MjgsIDYwODMyLCAKKyAgICA2MDgzNiwgNjA4NDAsIDYwODQ2LCA2MDg1MCwgNjA4NTQsIDYwODU4LCA2MDg2MiwgNjA4NjYsIDYwODcwLCA2MDg3NCwgCisgICAgNjA4NzgsIDYwODgyLCA2MDg4NiwgNjA4OTAsIDYwODk0LCA2MDg5OCwgNjA5MDIsIDYwOTA2LCA2MDkxMCwgNjA5MTQsIAorICAgIDYwOTE4LCA2MDkyMiwgNjA5MjYsIDYwOTMwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MDkzNCwgNjA5NDMsIDYwOTUxLCA2MDk2MywgNjA5NzQsIAorICAgIDYwOTgyLCA2MDk5MSwgNjEwMDAsIDYxMDEwLCA2MTAyMiwgNjEwMzQsIDYxMDQ2LCAwLCAwLCAwLCAwLCA2MTA1MiwgCisgICAgNjEwNTUsIDYxMDU4LCA2MTA2MywgNjEwNjYsIDYxMDczLCA2MTA3NywgNjEwODEsIDYxMDg1LCA2MTA4OSwgNjEwOTMsIAorICAgIDYxMDk4LCA2MTEwMywgNjExMDcsIDYxMTExLCA2MTExNiwgNjExMjEsIDYxMTI2LCA2MTEzMSwgNjExMzQsIDYxMTM3LCAKKyAgICA2MTE0MywgNjExNDksIDYxMTU0LCA2MTE1OSwgNjExNjYsIDYxMTczLCA2MTE3NywgNjExODEsIDYxMTg1LCA2MTE5MywgCisgICAgNjExOTksIDYxMjA2LCA2MTIxMSwgNjEyMTYsIDYxMjIxLCA2MTIyNiwgNjEyMzEsIDYxMjM2LCA2MTI0MSwgNjEyNDYsIAorICAgIDYxMjUxLCA2MTI1NiwgNjEyNjEsIDYxMjY2LCA2MTI3MSwgNjEyNzYsIDYxMjgyLCA2MTI4NywgNjEyOTEsIDYxMjk3LCAKKyAgICA2MTMwOCwgNjEzMTgsIDYxMzMzLCA2MTM0MywgNjEzNDcsIDYxMzU3LCA2MTM2MywgNjEzNjksIDYxMzc1LCA2MTM4MCwgCisgICAgNjEzODMsIDYxMzg4LCA2MTM5MiwgMCwgNjEzOTgsIDYxNDAyLCA2MTQwNSwgNjE0MDksIDYxNDEyLCA2MTQxNiwgNjE0MTksIAorICAgIDYxNDIzLCA2MTQyNiwgNjE0MzAsIDYxNDMzLCA2MTQzNiwgNjE0NDAsIDYxNDQ0LCA2MTQ0OCwgNjE0NTIsIDYxNDU2LCAKKyAgICA2MTQ2MCwgNjE0NjQsIDYxNDY4LCA2MTQ3MiwgNjE0NzYsIDYxNDgwLCA2MTQ4NCwgNjE0ODgsIDYxNDkyLCA2MTQ5NiwgCisgICAgNjE1MDAsIDYxNTA0LCA2MTUwOCwgNjE1MTIsIDYxNTE2LCA2MTUyMCwgNjE1MjQsIDYxNTI4LCA2MTUzMywgNjE1MzcsIAorICAgIDYxNTQxLCA2MTU0NSwgNjE1NDksIDYxNTUyLCA2MTU1NiwgNjE1NTksIDYxNTYzLCA2MTU2NywgNjE1NzEsIDYxNTc1LCAKKyAgICA2MTU3OCwgNjE1ODIsIDYxNTg1LCA2MTU4OSwgNjE1OTMsIDYxNTk3LCA2MTYwMSwgNjE2MDUsIDYxNjA5LCA2MTYxMywgCisgICAgNjE2MTcsIDYxNjIxLCA2MTYyNSwgNjE2MjksIDYxNjMzLCA2MTYzNiwgNjE2NDAsIDYxNjQ0LCA2MTY0OCwgNjE2NTIsIAorICAgIDYxNjU2LCA2MTY1OSwgNjE2NjQsIDYxNjY4LCA2MTY3MywgNjE2NzcsIDYxNjgxLCA2MTY4NSwgNjE2ODksIDYxNjkzLCAKKyAgICA2MTY5NywgNjE3MDIsIDYxNzA2LCA2MTcxMCwgNjE3MTQsIDYxNzE4LCA2MTcyMiwgNjE3MjYsIDYxNzMwLCAwLCAwLCAKKyAgICA2MTczNSwgNjE3NDMsIDYxNzUxLCA2MTc1OCwgNjE3NjUsIDYxNzY5LCA2MTc3NSwgNjE3ODAsIDYxNzg1LCA2MTc4OSwgCisgICAgNjE3OTIsIDYxNzk2LCA2MTc5OSwgNjE4MDMsIDYxODA2LCA2MTgxMCwgNjE4MTMsIDYxODE3LCA2MTgyMCwgNjE4MjMsIAorICAgIDYxODI3LCA2MTgzMSwgNjE4MzUsIDYxODM5LCA2MTg0MywgNjE4NDcsIDYxODUxLCA2MTg1NSwgNjE4NTksIDYxODYzLCAKKyAgICA2MTg2NywgNjE4NzEsIDYxODc1LCA2MTg3OSwgNjE4ODMsIDYxODg3LCA2MTg5MSwgNjE4OTUsIDYxODk5LCA2MTkwMywgCisgICAgNjE5MDcsIDYxOTExLCA2MTkxNSwgNjE5MjAsIDYxOTI0LCA2MTkyOCwgNjE5MzIsIDYxOTM2LCA2MTkzOSwgNjE5NDMsIAorICAgIDYxOTQ2LCA2MTk1MCwgNjE5NTQsIDYxOTU4LCA2MTk2MiwgNjE5NjUsIDYxOTY5LCA2MTk3MiwgNjE5NzYsIDYxOTgwLCAKKyAgICA2MTk4NCwgNjE5ODgsIDYxOTkyLCA2MTk5NiwgNjIwMDAsIDYyMDA0LCA2MjAwOCwgNjIwMTIsIDYyMDE2LCA2MjAyMCwgCisgICAgNjIwMjMsIDYyMDI3LCA2MjAzMSwgNjIwMzUsIDYyMDM5LCA2MjA0MywgNjIwNDYsIDYyMDUxLCA2MjA1NSwgNjIwNjAsIAorICAgIDYyMDY0LCA2MjA2OCwgNjIwNzIsIDYyMDc2LCA2MjA4MCwgNjIwODQsIDYyMDg5LCA2MjA5MywgNjIwOTcsIDYyMTAxLCAKKyAgICA2MjEwNSwgNjIxMDksIDYyMTEzLCA2MjExNywgNjIxMjIsIDYyMTI2LCA2MjEzMCwgNjIxMzQsIDYyMTM4LCA2MjE0MywgCisgICAgNjIxNTAsIDYyMTU0LCA2MjE2MCwgMCwgMCwgMCwgMCwgMCwgNjIxNjUsIDYyMTcwLCA2MjE3NSwgNjIxODAsIDYyMTg1LCAKKyAgICA2MjE5MCwgNjIxOTUsIDYyMjAwLCA2MjIwNCwgNjIyMDksIDYyMjE0LCA2MjIxOSwgNjIyMjQsIDYyMjI5LCA2MjIzNCwgCisgICAgNjIyMzksIDYyMjQ0LCA2MjI0OSwgNjIyNTMsIDYyMjU4LCA2MjI2MywgNjIyNjcsIDYyMjcxLCA2MjI3NSwgNjIyNzksIAorICAgIDYyMjg0LCA2MjI4OSwgNjIyOTQsIDYyMjk5LCA2MjMwNCwgNjIzMDksIDYyMzE0LCA2MjMxOSwgNjIzMjQsIDYyMzI5LCAKKyAgICA2MjMzMywgNjIzMzcsIDYyMzQyLCA2MjM0NywgNjIzNTIsIDYyMzU3LCAwLCAwLCAwLCA2MjM2MiwgNjIzNjYsIDYyMzcwLCAKKyAgICA2MjM3NCwgNjIzNzgsIDYyMzgyLCA2MjM4NiwgNjIzOTAsIDYyMzk0LCA2MjM5OCwgNjI0MDIsIDYyNDA2LCA2MjQxMCwgCisgICAgNjI0MTQsIDYyNDE4LCA2MjQyMiwgNjI0MjYsIDYyNDMwLCA2MjQzNCwgNjI0MzgsIDYyNDQyLCA2MjQ0NiwgNjI0NTAsIAorICAgIDYyNDU0LCA2MjQ1OCwgNjI0NjIsIDYyNDY2LCA2MjQ3MCwgNjI0NzQsIDYyNDc4LCA2MjQ4MiwgNjI0ODUsIDYyNDg5LCAKKyAgICA2MjQ5MiwgNjI0OTYsIDYyNTAwLCA2MjUwMywgNjI1MDcsIDYyNTExLCA2MjUxNCwgNjI1MTgsIDYyNTIyLCA2MjUyNiwgCisgICAgNjI1MzAsIDYyNTMzLCA2MjUzNywgNjI1NDEsIDYyNTQ1LCA2MjU0OSwgNjI1NTMsIDYyNTU3LCA2MjU2MCwgNjI1NjMsIAorICAgIDYyNTY3LCA2MjU3MSwgNjI1NzUsIDYyNTc5LCA2MjU4MywgNjI1ODcsIDYyNTkxLCA2MjU5NSwgNjI1OTksIDYyNjAzLCAKKyAgICA2MjYwNywgNjI2MTEsIDYyNjE1LCA2MjYxOSwgNjI2MjMsIDYyNjI3LCA2MjYzMSwgNjI2MzUsIDYyNjM5LCA2MjY0MywgCisgICAgNjI2NDcsIDYyNjUxLCA2MjY1NSwgNjI2NTksIDYyNjYzLCA2MjY2NywgNjI2NzEsIDYyNjc1LCA2MjY3OSwgNjI2ODMsIAorICAgIDYyNjg3LCA2MjY5MSwgNjI2OTUsIDYyNjk5LCA2MjcwMywgNjI3MDcsIDYyNzExLCA2MjcxNSwgNjI3MTksIDYyNzIzLCAKKyAgICA2MjcyNywgMCwgNjI3MzEsIDYyNzM3LCA2Mjc0MywgNjI3NDgsIDYyNzUzLCA2Mjc1OCwgNjI3NjQsIDYyNzcwLCA2Mjc3NiwgCisgICAgNjI3ODIsIDYyNzg4LCA2Mjc5NCwgNjI4MDAsIDYyODA2LCA2MjgxMiwgNjI4MTgsIDYyODI0LCA2MjgyOSwgNjI4MzQsIAorICAgIDYyODM5LCA2Mjg0NCwgNjI4NDksIDYyODU0LCA2Mjg1OSwgNjI4NjQsIDYyODY5LCA2Mjg3NCwgNjI4NzksIDYyODg0LCAKKyAgICA2Mjg4OSwgNjI4OTQsIDYyODk5LCA2MjkwNCwgNjI5MDksIDYyOTE0LCA2MjkxOSwgNjI5MjQsIDYyOTMwLCA2MjkzNiwgCisgICAgNjI5NDIsIDYyOTQ4LCA2Mjk1MywgNjI5NTgsIDAsIDAsIDAsIDAsIDAsIDYyOTYzLCA2Mjk2OCwgNjI5NzMsIDYyOTc4LCAKKyAgICA2Mjk4MywgNjI5ODgsIDYyOTkzLCA2Mjk5OCwgNjMwMDMsIDYzMDA4LCA2MzAxMywgNjMwMTgsIDYzMDIzLCA2MzAyOCwgCisgICAgNjMwMzMsIDYzMDM4LCA2MzA0MywgNjMwNDgsIDYzMDUyLCA2MzA1NywgNjMwNjIsIDYzMDY3LCA2MzA3MiwgNjMwNzcsIAorICAgIDYzMDgyLCA2MzA4NywgNjMwOTIsIDYzMDk3LCA2MzEwMiwgNjMxMDcsIDYzMTEyLCA2MzExNywgNjMxMjIsIDYzMTI3LCAKKyAgICA2MzEzMiwgNjMxMzcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYzMTQyLCA2MzE0NywgNjMxNTIsIAorICAgIDYzMTU3LCA2MzE2MSwgNjMxNjYsIDYzMTcwLCA2MzE3NSwgNjMxODAsIDYzMTg1LCA2MzE5MCwgNjMxOTUsIDYzMjAwLCAKKyAgICA2MzIwNSwgNjMyMTAsIDYzMjE1LCA2MzIyMCwgNjMyMjQsIDYzMjI4LCA2MzIzMiwgNjMyMzYsIDYzMjQwLCA2MzI0NCwgCisgICAgNjMyNDgsIDYzMjUyLCA2MzI1NiwgNjMyNjAsIDYzMjY0LCA2MzI2OCwgNjMyNzIsIDYzMjc2LCA2MzI4MSwgNjMyODYsIAorICAgIDYzMjkxLCA2MzI5NiwgNjMzMDEsIDYzMzA2LCA2MzMxMSwgNjMzMTYsIDYzMzIxLCA2MzMyNiwgNjMzMzEsIDYzMzM2LCAKKyAgICA2MzM0MSwgNjMzNDYsIDYzMzUxLCA2MzM1NywgMCwgNjMzNjQsIDYzMzY3LCA2MzM3MCwgNjMzNzMsIDYzMzc2LCA2MzM3OSwgCisgICAgNjMzODIsIDYzMzg1LCA2MzM4OCwgNjMzOTEsIDYzMzk1LCA2MzM5OSwgNjM0MDMsIDYzNDA3LCA2MzQxMSwgNjM0MTUsIAorICAgIDYzNDE5LCA2MzQyMywgNjM0MjcsIDYzNDMxLCA2MzQzNSwgNjM0MzksIDYzNDQzLCA2MzQ0NywgNjM0NTEsIDYzNDU1LCAKKyAgICA2MzQ1OSwgNjM0NjMsIDYzNDY3LCA2MzQ3MSwgNjM0NzUsIDYzNDc5LCA2MzQ4MywgNjM0ODcsIDYzNDkxLCA2MzQ5NSwgCisgICAgNjM0OTksIDYzNTAzLCA2MzUwNywgNjM1MTEsIDYzNTE1LCA2MzUyNCwgNjM1MzMsIDYzNTQyLCA2MzU1MSwgNjM1NjAsIAorICAgIDYzNTY5LCA2MzU3OCwgNjM1ODcsIDYzNTkwLCA2MzU5NSwgNjM2MDAsIDYzNjA1LCA2MzYxMCwgNjM2MTUsIDYzNjIwLCAKKyAgICA2MzYyNSwgNjM2MzAsIDYzNjM1LCA2MzYzOSwgNjM2NDQsIDYzNjQ5LCA2MzY1NCwgNjM2NTksIDYzNjY0LCA2MzY2OCwgCisgICAgNjM2NzIsIDYzNjc2LCA2MzY4MCwgNjM2ODQsIDYzNjg4LCA2MzY5MiwgNjM2OTYsIDYzNzAwLCA2MzcwNCwgNjM3MDgsIAorICAgIDYzNzEyLCA2MzcxNiwgNjM3MjAsIDYzNzI1LCA2MzczMCwgNjM3MzUsIDYzNzQwLCA2Mzc0NSwgNjM3NTAsIDYzNzU1LCAKKyAgICA2Mzc2MCwgNjM3NjUsIDYzNzcwLCA2Mzc3NSwgNjM3ODAsIDYzNzg1LCA2Mzc5MCwgNjM3OTYsIDYzODAyLCA2MzgwNywgCisgICAgNjM4MTIsIDYzODE1LCA2MzgxOCwgNjM4MjEsIDYzODI0LCA2MzgyNywgNjM4MzAsIDYzODMzLCA2MzgzNiwgNjM4MzksIAorICAgIDYzODQzLCA2Mzg0NywgNjM4NTEsIDYzODU1LCA2Mzg1OSwgNjM4NjMsIDYzODY3LCA2Mzg3MSwgNjM4NzUsIDYzODc5LCAKKyAgICA2Mzg4MywgNjM4ODcsIDYzODkxLCA2Mzg5NSwgNjM4OTksIDYzOTAzLCA2MzkwNywgNjM5MTEsIDYzOTE1LCA2MzkxOSwgCisgICAgNjM5MjMsIDYzOTI3LCA2MzkzMSwgNjM5MzUsIDYzOTM5LCA2Mzk0MywgNjM5NDcsIDYzOTUxLCA2Mzk1NSwgNjM5NTksIAorICAgIDYzOTYzLCA2Mzk2NywgNjM5NzEsIDYzOTc1LCA2Mzk3OSwgNjM5ODMsIDYzOTg3LCA2Mzk5MSwgNjM5OTUsIDYzOTk5LCAKKyAgICA2NDAwNCwgNjQwMDksIDY0MDE0LCA2NDAxOSwgNjQwMjMsIDY0MDI4LCA2NDAzMywgNjQwMzgsIDY0MDQzLCA2NDA0OCwgCisgICAgNjQwNTMsIDY0MDU4LCA2NDA2MywgNjQwNjgsIDY0MDcyLCA2NDA3OSwgNjQwODYsIDY0MDkzLCA2NDEwMCwgNjQxMDcsIAorICAgIDY0MTE0LCA2NDEyMSwgNjQxMjgsIDY0MTM1LCA2NDE0MiwgNjQxNDksIDY0MTU2LCA2NDE1OSwgNjQxNjIsIDY0MTY1LCAKKyAgICA2NDE3MCwgNjQxNzMsIDY0MTc2LCA2NDE3OSwgNjQxODIsIDY0MTg1LCA2NDE4OCwgNjQxOTIsIDY0MTk2LCA2NDIwMCwgCisgICAgNjQyMDQsIDY0MjA4LCA2NDIxMiwgNjQyMTYsIDY0MjIwLCA2NDIyNCwgNjQyMjgsIDY0MjMyLCA2NDIzNiwgNjQyNDAsIAorICAgIDY0MjQzLCA2NDI0NiwgNjQyNTAsIDY0MjU0LCA2NDI1OCwgNjQyNjIsIDY0MjY1LCA2NDI2OSwgNjQyNzMsIDY0Mjc3LCAKKyAgICA2NDI4MSwgNjQyODQsIDY0Mjg4LCA2NDI5MiwgNjQyOTYsIDY0MzAwLCA2NDMwMywgNjQzMDcsIDY0MzExLCA2NDMxNSwgCisgICAgNjQzMTksIDY0MzIzLCA2NDMyNywgNjQzMzEsIDY0MzM1LCA2NDMzOSwgNjQzNDMsIDAsIDY0MzQ3LCA2NDM1MCwgNjQzNTMsIAorICAgIDY0MzU2LCA2NDM1OSwgNjQzNjIsIDY0MzY1LCA2NDM2OCwgNjQzNzEsIDY0Mzc0LCA2NDM3NywgNjQzODAsIDY0MzgzLCAKKyAgICA2NDM4NiwgNjQzODksIDY0MzkyLCA2NDM5NSwgNjQzOTgsIDY0NDAxLCA2NDQwNCwgNjQ0MDcsIDY0NDEwLCA2NDQxMywgCisgICAgNjQ0MTYsIDY0NDE5LCA2NDQyMiwgNjQ0MjUsIDY0NDI4LCA2NDQzMSwgNjQ0MzQsIDY0NDM3LCA2NDQ0MCwgNjQ0NDMsIAorICAgIDY0NDQ2LCA2NDQ0OSwgNjQ0NTIsIDY0NDU1LCA2NDQ1OCwgNjQ0NjEsIDY0NDY0LCA2NDQ2NywgNjQ0NzAsIDY0NDczLCAKKyAgICA2NDQ3NiwgNjQ0NzksIDY0NDgyLCA2NDQ4NSwgNjQ0ODgsIDY0NDkxLCA2NDQ5NCwgNjQ0OTcsIDY0NTAwLCA2NDUwMywgCisgICAgNjQ1MDYsIDY0NTA5LCA2NDUxMiwgNjQ1MTUsIDY0NTE4LCA2NDUyMSwgNjQ1MjQsIDY0NTI3LCA2NDUzMCwgNjQ1MzMsIAorICAgIDY0NTM2LCA2NDUzOSwgNjQ1NDIsIDY0NTQ1LCA2NDU0OCwgNjQ1NTEsIDY0NTU0LCA2NDU1NywgNjQ1NjAsIDY0NTYzLCAKKyAgICA2NDU2NiwgNjQ1NjksIDY0NTcyLCA2NDU3NSwgNjQ1NzgsIDY0NTgxLCA2NDU4NCwgNjQ1ODcsIDY0NTkwLCA2NDU5MywgCisgICAgNjQ1OTYsIDY0NTk5LCA2NDYwMiwgNjQ2MDUsIDY0NjA4LCA2NDYxMSwgNjQ2MjAsIDY0NjI4LCA2NDYzNiwgNjQ2NDQsIAorICAgIDY0NjUyLCA2NDY2MCwgNjQ2NjgsIDY0Njc2LCA2NDY4NCwgNjQ2OTIsIDY0NzAxLCA2NDcxMCwgNjQ3MTksIDY0NzI4LCAKKyAgICA2NDczNywgNjQ3NDYsIDY0NzU1LCA2NDc2NCwgNjQ3NzMsIDY0NzgyLCA2NDc5MSwgNjQ4MDAsIDY0ODA5LCA2NDgxOCwgCisgICAgNjQ4MjcsIDY0ODMwLCA2NDgzMywgNjQ4MzYsIDY0ODM4LCA2NDg0MSwgNjQ4NDQsIDY0ODQ3LCA2NDg1MiwgNjQ4NTcsIAorICAgIDY0ODYwLCA2NDg2NywgNjQ4NzQsIDY0ODgxLCA2NDg4OCwgNjQ4OTEsIDY0ODk2LCA2NDg5OCwgNjQ5MDIsIDY0OTA0LCAKKyAgICA2NDkwNiwgNjQ5MDksIDY0OTEyLCA2NDkxNSwgNjQ5MTgsIDY0OTIxLCA2NDkyNCwgNjQ5MjcsIDY0OTMyLCA2NDkzNywgCisgICAgNjQ5NDAsIDY0OTQzLCA2NDk0NiwgNjQ5NDksIDY0OTUyLCA2NDk1NSwgNjQ5NTgsIDY0OTYyLCA2NDk2NSwgNjQ5NjgsIAorICAgIDY0OTcxLCA2NDk3NCwgNjQ5NzcsIDY0OTgyLCA2NDk4NSwgNjQ5ODgsIDY0OTkxLCA2NDk5NiwgNjUwMDEsIDY1MDA2LCAKKyAgICA2NTAxMSwgNjUwMTYsIDY1MDIxLCA2NTAyNiwgNjUwMzEsIDY1MDM2LCA2NTA0NCwgNjUwNDYsIDY1MDQ5LCA2NTA1MiwgCisgICAgNjUwNTUsIDY1MDU4LCA2NTA2MywgNjUwNzEsIDY1MDc0LCA2NTA3NywgNjUwODEsIDY1MDg0LCA2NTA4NywgNjUwOTAsIAorICAgIDY1MDk1LCA2NTA5OCwgNjUxMDEsIDY1MTA2LCA2NTEwOSwgNjUxMTIsIDY1MTE3LCA2NTEyMCwgNjUxMjMsIDY1MTI4LCAKKyAgICA2NTEzMywgNjUxMzgsIDY1MTQxLCA2NTE0NCwgNjUxNDcsIDY1MTUwLCA2NTE1NiwgNjUxNTksIDY1MTYyLCA2NTE2NSwgCisgICAgNjUxNjcsIDY1MTcwLCA2NTE3MywgNjUxNzYsIDY1MTgxLCA2NTE4NCwgNjUxODcsIDY1MTkwLCA2NTE5MywgNjUxOTYsIAorICAgIDY1MjAxLCA2NTIwNCwgNjUyMDcsIDY1MjEwLCA2NTIxMywgNjUyMTYsIDY1MjE5LCA2NTIyMiwgNjUyMjUsIDY1MjI4LCAKKyAgICA2NTIzNCwgNjUyMzksIDY1MjQ3LCA2NTI1NSwgNjUyNjMsIDY1MjcxLCA2NTI3OSwgNjUyODcsIDY1Mjk1LCA2NTMwMywgCisgICAgNjUzMTEsIDY1MzIwLCA2NTMyOSwgNjUzMzgsIDY1MzQ3LCA2NTM1NiwgNjUzNjUsIDY1Mzc0LCA2NTM4MywgNjUzOTIsIAorICAgIDY1NDAxLCA2NTQxMCwgNjU0MTksIDY1NDI4LCA2NTQzNywgNjU0NDYsIDY1NDU1LCA2NTQ2NCwgNjU0NzMsIDY1NDgyLCAKKyAgICA2NTQ5MSwgNjU1MDAsIDY1NTA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAxMjA3MCwgMCwgMTIwNzksIDEyMDg2LCAxMjA5NCwgMTIxMDYsIDEyMTEzLCAxMjEyMCwgMTIxMjcsIDEyMTM4LCAxMjE0OSwgCi0gICAgMTIxNTYsIDEyMTY0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjE3MCwgMTIxNzUsIDEyMTgwLCAxMjE4NSwgMTIxOTAsIAotICAgIDEyMTk1LCAxMjIwMCwgMTIyMDUsIDEyMjEwLCAxMjIxNSwgMTIyMjAsIDEyMjI1LCAxMjIzMCwgMTIyMzQsIDEyMjM4LCAKLSAgICAxMjI0MiwgMTIyNDcsIDEyMjUzLCAxMjI1OSwgMTIyNjUsIDEyMjcwLCAxMjI3NSwgMTIyODAsIDEyMjg1LCAxMjI5MSwgCi0gICAgMTIzMDAsIDEyMzA4LCAwLCAxMjMxNCwgMTIzMjAsIDEyMzI0LCAxMjMyOCwgMTIzMzIsIDEyMzM3LCAxMjM0MCwgMTIzNDQsIAotICAgIDEyMzQ3LCAxMjM1MSwgMTIzNTQsIDEyMzU4LCAxMjM2MiwgMTIzNjYsIDEyMzcxLCAxMjM3NiwgMTIzNzksIDEyMzgzLCAKLSAgICAxMjM4OCwgMTIzOTMsIDEyMzk2LCAxMjQwMCwgMTI0MDMsIDEyNDA3LCAxMjQxMSwgMTI0MTUsIDEyNDE5LCAxMjQyMywgCi0gICAgMTI0MjcsIDEyNDMxLCAxMjQzNSwgMTI0MzksIDEyNDQzLCAxMjQ0NywgMTI0NTEsIDEyNDU1LCAxMjQ1OSwgMTI0NjMsIAotICAgIDEyNDY3LCAxMjQ3MSwgMTI0NzUsIDEyNDc4LCAxMjQ4MiwgMTI0ODUsIDEyNDg5LCAxMjQ5MywgMTI0OTcsIDEyNTAwLCAKLSAgICAxMjUwMywgMTI1MDYsIDEyNTEwLCAxMjUxNCwgMTI1MTgsIDEyNTIyLCAxMjUyNiwgMTI1MzAsIDEyNTM0LCAxMjUzNywgCi0gICAgMTI1NDAsIDEyNTQ1LCAxMjU1MCwgMTI1NTQsIDEyNTU4LCAxMjU2MywgMTI1NjcsIDEyNTcyLCAxMjU3NiwgMTI1ODEsIAotICAgIDEyNTg2LCAxMjU5MiwgMTI1OTgsIDEyNjA0LCAxMjYwOCwgMTI2MTMsIDEyNjE5LCAxMjYyNSwgMTI2MjksIDEyNjM0LCAKLSAgICAxMjYzOCwgMTI2NDQsIDEyNjQ5LCAxMjY1MiwgMTI2NTgsIDEyNjY0LCAxMjY2OSwgMTI2NzQsIDEyNjgxLCAxMjY4NiwgCi0gICAgMTI2OTEsIDEyNjk1LCAxMjY5OSwgMTI3MDMsIDEyNzA3LCAxMjcxMSwgMTI3MTUsIDEyNzE5LCAxMjcyMywgMTI3MjgsIAotICAgIDEyNzMzLCAxMjczOCwgMTI3NDQsIDEyNzQ3LCAxMjc1MSwgMTI3NTUsIDEyNzU4LCAxMjc2MSwgMTI3NjQsIDEyNzY3LCAKLSAgICAxMjc3MCwgMTI3NzMsIDEyNzc2LCAxMjc3OSwgMTI3ODIsIDEyNzg2LCAxMjc5MywgMTI3OTgsIDEyODAyLCAxMjgwNiwgCi0gICAgMTI4MTAsIDEyODE0LCAwLCAxMjgxOCwgMTI4MjIsIDEyODI2LCAxMjgzMCwgMTI4MzQsIDEyODQwLCAxMjg0NCwgMCwgCi0gICAgMTI4NDgsIDEyODUyLCAxMjg1NiwgMCwgMTI4NjAsIDEyODYzLCAxMjg2NywgMTI4NzAsIDEyODc0LCAxMjg3NywgMTI4ODEsIAotICAgIDEyODg1LCAwLCAwLCAxMjg4OSwgMTI4OTIsIDAsIDAsIDEyODk2LCAxMjg5OSwgMTI5MDMsIDEyOTA2LCAxMjkxMCwgCi0gICAgMTI5MTQsIDEyOTE4LCAxMjkyMiwgMTI5MjYsIDEyOTMwLCAxMjkzNCwgMTI5MzgsIDEyOTQyLCAxMjk0NiwgMTI5NTAsIAotICAgIDEyOTU0LCAxMjk1OCwgMTI5NjIsIDEyOTY2LCAxMjk3MCwgMTI5NzQsIDEyOTc4LCAwLCAxMjk4MSwgMTI5ODQsIDEyOTg4LCAKLSAgICAxMjk5MiwgMTI5OTYsIDEyOTk5LCAxMzAwMiwgMCwgMTMwMDUsIDAsIDAsIDAsIDEzMDA5LCAxMzAxMywgMTMwMTcsIAotICAgIDEzMDIwLCAwLCAwLCAxMzAyMywgMTMwMjcsIDEzMDMxLCAxMzAzNiwgMTMwNDAsIDEzMDQ1LCAxMzA0OSwgMTMwNTQsIAotICAgIDEzMDU5LCAwLCAwLCAxMzA2NSwgMTMwNjksIDAsIDAsIDEzMDc0LCAxMzA3OCwgMTMwODMsIDEzMDg3LCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAxMzA5MywgMCwgMCwgMCwgMCwgMTMwOTksIDEzMTAzLCAwLCAxMzEwNywgMTMxMTEsIDEzMTE2LCAKLSAgICAxMzEyMSwgMTMxMjYsIDAsIDAsIDEzMTMyLCAxMzEzNiwgMTMxMzksIDEzMTQyLCAxMzE0NSwgMTMxNDgsIDEzMTUxLCAKLSAgICAxMzE1NCwgMTMxNTcsIDEzMTYwLCAxMzE2MywgMTMxNzIsIDEzMTgxLCAxMzE4NSwgMTMxODksIDEzMTk1LCAxMzIwMSwgCi0gICAgMTMyMDcsIDEzMjEzLCAxMzIyNywgMTMyMzQsIDEzMjM3LCAwLCAwLCAwLCAwLCAwLCAxMzI0MSwgMTMyNDcsIDEzMjUxLCAwLCAKLSAgICAxMzI1NSwgMTMyNTgsIDEzMjYyLCAxMzI2NSwgMTMyNjksIDEzMjcyLCAwLCAwLCAwLCAwLCAxMzI3NiwgMTMyODAsIDAsIDAsIAotICAgIDEzMjg0LCAxMzI4OCwgMTMyOTIsIDEzMjk1LCAxMzI5OSwgMTMzMDMsIDEzMzA3LCAxMzMxMSwgMTMzMTUsIDEzMzE5LCAKLSAgICAxMzMyMywgMTMzMjcsIDEzMzMxLCAxMzMzNSwgMTMzMzksIDEzMzQzLCAxMzM0NywgMTMzNTEsIDEzMzU1LCAxMzM1OSwgCi0gICAgMTMzNjMsIDEzMzY3LCAwLCAxMzM3MCwgMTMzNzMsIDEzMzc3LCAxMzM4MSwgMTMzODUsIDEzMzg4LCAxMzM5MSwgMCwgCi0gICAgMTMzOTQsIDEzMzk4LCAwLCAxMzQwMiwgMTM0MDYsIDAsIDEzNDEwLCAxMzQxMywgMCwgMCwgMTM0MTYsIDAsIDEzNDIwLCAKLSAgICAxMzQyNSwgMTM0MjksIDEzNDM0LCAxMzQzOCwgMCwgMCwgMCwgMCwgMTM0NDMsIDEzNDQ4LCAwLCAwLCAxMzQ1MywgMTM0NTgsIAotICAgIDEzNDYzLCAwLCAwLCAwLCAxMzQ2NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTM0NzEsIDEzNDc1LCAxMzQ3OSwgMTM0ODMsIAotICAgIDAsIDEzNDg3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzQ5MSwgMTM0OTUsIDEzNDk4LCAxMzUwMSwgMTM1MDQsIDEzNTA3LCAKLSAgICAxMzUxMCwgMTM1MTMsIDEzNTE2LCAxMzUxOSwgMTM1MjIsIDEzNTI1LCAxMzUyOCwgMTM1MzEsIDEzNTM0LCAxMzUzOSwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTM1NDMsIDEzNTQ3LCAxMzU1MSwgMCwgMTM1NTUsIDEzNTU4LCAKLSAgICAxMzU2MiwgMTM1NjUsIDEzNTY5LCAxMzU3MiwgMTM1NzYsIDEzNTgwLCAxMzU4NCwgMCwgMTM1ODksIDEzNTkyLCAxMzU5NiwgCi0gICAgMCwgMTM2MDEsIDEzNjA0LCAxMzYwOCwgMTM2MTEsIDEzNjE1LCAxMzYxOSwgMTM2MjMsIDEzNjI3LCAxMzYzMSwgMTM2MzUsIAotICAgIDEzNjM5LCAxMzY0MywgMTM2NDcsIDEzNjUxLCAxMzY1NSwgMTM2NTksIDEzNjYzLCAxMzY2NywgMTM2NzEsIDEzNjc1LCAKLSAgICAxMzY3OSwgMTM2ODMsIDAsIDEzNjg2LCAxMzY4OSwgMTM2OTMsIDEzNjk3LCAxMzcwMSwgMTM3MDQsIDEzNzA3LCAwLCAKLSAgICAxMzcxMCwgMTM3MTQsIDAsIDEzNzE4LCAxMzcyMiwgMTM3MjYsIDEzNzMwLCAxMzczMywgMCwgMCwgMTM3MzYsIDEzNzQwLCAKLSAgICAxMzc0NCwgMTM3NDksIDEzNzUzLCAxMzc1OCwgMTM3NjIsIDEzNzY3LCAxMzc3MiwgMTM3NzgsIDAsIDEzNzg0LCAxMzc4OCwgCi0gICAgMTM3OTMsIDAsIDEzNzk5LCAxMzgwMywgMTM4MDgsIDAsIDAsIDEzODEyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAxMzgxNSwgMTM4MjAsIDEzODI1LCAxMzgzMCwgMCwgMCwgMTM4MzYsIDEzODQwLCAxMzg0MywgCi0gICAgMTM4NDYsIDEzODQ5LCAxMzg1MiwgMTM4NTUsIDEzODU4LCAxMzg2MSwgMTM4NjQsIDEzODY3LCAxMzg3MSwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTM4NzUsIDEzODc5LCAxMzg4MywgMCwgMTM4ODcsIDEzODkwLCAKLSAgICAxMzg5NCwgMTM4OTcsIDEzOTAxLCAxMzkwNCwgMTM5MDgsIDEzOTEyLCAwLCAwLCAxMzkxNiwgMTM5MTksIDAsIDAsIAotICAgIDEzOTIzLCAxMzkyNiwgMTM5MzAsIDEzOTMzLCAxMzkzNywgMTM5NDEsIDEzOTQ1LCAxMzk0OSwgMTM5NTMsIDEzOTU3LCAKLSAgICAxMzk2MSwgMTM5NjUsIDEzOTY5LCAxMzk3MywgMTM5NzcsIDEzOTgxLCAxMzk4NSwgMTM5ODksIDEzOTkzLCAxMzk5NywgCi0gICAgMTQwMDEsIDE0MDA1LCAwLCAxNDAwOCwgMTQwMTEsIDE0MDE1LCAxNDAxOSwgMTQwMjMsIDE0MDI2LCAxNDAyOSwgMCwgCi0gICAgMTQwMzIsIDE0MDM2LCAwLCAxNDA0MCwgMTQwNDQsIDE0MDQ4LCAxNDA1MiwgMTQwNTUsIDAsIDAsIDE0MDU4LCAxNDA2MiwgCi0gICAgMTQwNjYsIDE0MDcxLCAxNDA3NSwgMTQwODAsIDE0MDg0LCAxNDA4OSwgMTQwOTQsIDAsIDAsIDE0MTAwLCAxNDEwNCwgMCwgCi0gICAgMCwgMTQxMDksIDE0MTEzLCAxNDExOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQxMjIsIDE0MTI4LCAwLCAwLCAwLCAwLCAKLSAgICAxNDEzNCwgMTQxMzgsIDAsIDE0MTQyLCAxNDE0NiwgMTQxNTEsIDE0MTU2LCAxNDE2MSwgMCwgMCwgMTQxNjcsIDE0MTcxLCAKLSAgICAxNDE3NCwgMTQxNzcsIDE0MTgwLCAxNDE4MywgMTQxODYsIDE0MTg5LCAxNDE5MiwgMTQxOTUsIDE0MTk4LCAxNDIwMSwgCi0gICAgMTQyMDUsIDE0MjExLCAxNDIxNywgMTQyMjMsIDE0MjI5LCAxNDIzNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMTQyNDEsIDE0MjQ1LCAwLCAxNDI0OSwgMTQyNTIsIDE0MjU2LCAxNDI1OSwgMTQyNjMsIDE0MjY2LCAwLCAwLCAwLCAKLSAgICAxNDI3MCwgMTQyNzMsIDE0Mjc3LCAwLCAxNDI4MSwgMTQyODQsIDE0Mjg4LCAxNDI5MiwgMCwgMCwgMCwgMTQyOTUsIAotICAgIDE0Mjk5LCAwLCAxNDMwMywgMCwgMTQzMDcsIDE0MzExLCAwLCAwLCAwLCAxNDMxNSwgMTQzMTksIDAsIDAsIDAsIDE0MzIzLCAKLSAgICAxNDMyNiwgMTQzMzAsIDAsIDAsIDAsIDE0MzMzLCAxNDMzNiwgMTQzMzksIDE0MzQyLCAxNDM0NiwgMTQzNTAsIDE0MzU0LCAKLSAgICAxNDM1OCwgMTQzNjIsIDE0MzY2LCAxNDM3MCwgMTQzNzMsIDAsIDAsIDAsIDAsIDE0Mzc2LCAxNDM4MSwgMTQzODUsIAotICAgIDE0MzkwLCAxNDM5NCwgMCwgMCwgMCwgMTQzOTksIDE0NDAzLCAxNDQwOCwgMCwgMTQ0MTMsIDE0NDE3LCAxNDQyMiwgCi0gICAgMTQ0MjcsIDAsIDAsIDE0NDMxLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDQzNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMTQ0NDAsIDE0NDQ0LCAxNDQ0NywgMTQ0NTAsIDE0NDUzLCAxNDQ1NiwgMTQ0NTksIDE0NDYyLCAKLSAgICAxNDQ2NSwgMTQ0NjgsIDE0NDcxLCAxNDQ3NSwgMTQ0ODAsIDE0NDg1LCAxNDQ4OSwgMTQ0OTMsIDE0NDk3LCAxNDUwMSwgCi0gICAgMTQ1MDUsIDE0NTEwLCAxNDUxNCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQ1MTcsIDE0NTIxLCAxNDUyNSwgMCwgMTQ1MjksIAotICAgIDE0NTMyLCAxNDUzNiwgMTQ1MzksIDE0NTQzLCAxNDU0NiwgMTQ1NTAsIDE0NTU0LCAwLCAxNDU1OCwgMTQ1NjEsIDE0NTY1LCAKLSAgICAwLCAxNDU2OSwgMTQ1NzIsIDE0NTc2LCAxNDU4MCwgMTQ1ODMsIDE0NTg3LCAxNDU5MSwgMTQ1OTUsIDE0NTk5LCAxNDYwMywgCi0gICAgMTQ2MDcsIDE0NjExLCAxNDYxNSwgMTQ2MTksIDE0NjIzLCAxNDYyNywgMTQ2MzEsIDE0NjM1LCAxNDYzOSwgMTQ2NDMsIAotICAgIDE0NjQ3LCAxNDY1MSwgMTQ2NTUsIDAsIDE0NjU4LCAxNDY2MSwgMTQ2NjUsIDE0NjY5LCAxNDY3MywgMTQ2NzYsIDE0Njc5LCAKLSAgICAxNDY4MiwgMTQ2ODYsIDE0NjkwLCAwLCAxNDY5NCwgMTQ2OTgsIDE0NzAyLCAxNDcwNiwgMTQ3MDksIDAsIDAsIDAsIAotICAgIDE0NzEyLCAxNDcxNiwgMTQ3MjEsIDE0NzI1LCAxNDczMCwgMTQ3MzQsIDE0NzM5LCAxNDc0NCwgMCwgMTQ3NTAsIDE0NzU0LCAKLSAgICAxNDc1OSwgMCwgMTQ3NjQsIDE0NzY4LCAxNDc3MywgMTQ3NzgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0NzgyLCAxNDc4NiwgCi0gICAgMCwgMTQ3OTIsIDE0Nzk2LCAwLCAwLCAwLCAwLCAwLCAwLCAxNDgwMCwgMTQ4MDUsIDE0ODEwLCAxNDgxNSwgMCwgMCwgCi0gICAgMTQ4MjEsIDE0ODI1LCAxNDgyOCwgMTQ4MzEsIDE0ODM0LCAxNDgzNywgMTQ4NDAsIDE0ODQzLCAxNDg0NiwgMTQ4NDksIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0ODUyLCAxNDg2NSwgMTQ4NzcsIDE0ODg5LCAxNDkwMSwgMTQ5MTMsIDE0OTI1LCAKLSAgICAxNDkzNywgMCwgMCwgMTQ5NDEsIDE0OTQ1LCAwLCAxNDk0OSwgMTQ5NTIsIDE0OTU2LCAxNDk1OSwgMTQ5NjMsIDE0OTY2LCAKLSAgICAxNDk3MCwgMTQ5NzQsIDAsIDE0OTc4LCAxNDk4MSwgMTQ5ODUsIDAsIDE0OTg5LCAxNDk5MiwgMTQ5OTYsIDE1MDAwLCAKLSAgICAxNTAwMywgMTUwMDcsIDE1MDExLCAxNTAxNSwgMTUwMTksIDE1MDIzLCAxNTAyNywgMTUwMzEsIDE1MDM1LCAxNTAzOSwgCi0gICAgMTUwNDMsIDE1MDQ3LCAxNTA1MSwgMTUwNTUsIDE1MDU5LCAxNTA2MywgMTUwNjcsIDE1MDcxLCAxNTA3NSwgMCwgMTUwNzgsIAotICAgIDE1MDgxLCAxNTA4NSwgMTUwODksIDE1MDkzLCAxNTA5NiwgMTUwOTksIDE1MTAyLCAxNTEwNiwgMTUxMTAsIDAsIDE1MTE0LCAKLSAgICAxNTExOCwgMTUxMjIsIDE1MTI2LCAxNTEyOSwgMCwgMCwgMTUxMzIsIDE1MTM2LCAxNTE0MCwgMTUxNDUsIDE1MTQ5LCAKLSAgICAxNTE1NCwgMTUxNTgsIDE1MTYzLCAxNTE2OCwgMCwgMTUxNzQsIDE1MTc4LCAxNTE4MywgMCwgMTUxODgsIDE1MTkyLCAKLSAgICAxNTE5NywgMTUyMDIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE1MjA2LCAxNTIxMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMTUyMTYsIDAsIDE1MjIwLCAxNTIyNSwgMTUyMzAsIDE1MjM1LCAwLCAwLCAxNTI0MSwgMTUyNDUsIDE1MjQ4LCAxNTI1MSwgCi0gICAgMTUyNTQsIDE1MjU3LCAxNTI2MCwgMTUyNjMsIDE1MjY2LCAxNTI2OSwgMCwgMTUyNzIsIDE1Mjc2LCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNTI4MCwgMTUyODQsIDAsIDE1Mjg4LCAxNTI5MSwgMTUyOTUsIAotICAgIDE1Mjk4LCAxNTMwMiwgMTUzMDUsIDE1MzA5LCAxNTMxMywgMCwgMTUzMTcsIDE1MzIwLCAxNTMyNCwgMCwgMTUzMjgsIAotICAgIDE1MzMxLCAxNTMzNSwgMTUzMzksIDE1MzQyLCAxNTM0NiwgMTUzNTAsIDE1MzU0LCAxNTM1OCwgMTUzNjIsIDE1MzY2LCAKLSAgICAxNTM3MCwgMTUzNzQsIDE1Mzc4LCAxNTM4MiwgMTUzODYsIDE1MzkwLCAxNTM5NCwgMTUzOTgsIDE1NDAyLCAxNTQwNiwgCi0gICAgMTU0MTAsIDE1NDE0LCAxNTQxNywgMTU0MjEsIDE1NDI0LCAxNTQyOCwgMTU0MzIsIDE1NDM2LCAxNTQzOSwgMTU0NDIsIAotICAgIDE1NDQ1LCAxNTQ0OSwgMTU0NTMsIDE1NDU3LCAxNTQ2MSwgMTU0NjUsIDE1NDY5LCAxNTQ3MywgMTU0NzYsIDE1NDc5LCAwLCAKLSAgICAwLCAxNTQ4MywgMTU0ODcsIDE1NDkyLCAxNTQ5NiwgMTU1MDEsIDE1NTA1LCAxNTUxMCwgMTU1MTUsIDAsIDE1NTIxLCAKLSAgICAxNTUyNSwgMTU1MzAsIDAsIDE1NTM1LCAxNTUzOSwgMTU1NDQsIDE1NTQ5LCAxNTU1MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMTU1NTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE1NTY0LCAxNTU2OSwgMTU1NzQsIDE1NTc5LCAwLCAwLCAKLSAgICAxNTU4NSwgMTU1ODksIDE1NTkyLCAxNTU5NSwgMTU1OTgsIDE1NjAxLCAxNTYwNCwgMTU2MDcsIDE1NjEwLCAxNTYxMywgCi0gICAgMTU2MTYsIDE1NjIwLCAxNTYyNSwgMTU2MzAsIDE1NjM2LCAxNTY0MiwgMCwgMCwgMCwgMTU2NDgsIDE1NjUyLCAxNTY1OCwgCi0gICAgMTU2NjQsIDE1NjcwLCAxNTY3NSwgMTU2ODEsIDAsIDAsIDE1Njg3LCAxNTY5MSwgMCwgMTU2OTUsIDE1Njk5LCAxNTcwMywgCi0gICAgMTU3MDcsIDE1NzExLCAxNTcxNSwgMTU3MTksIDE1NzIzLCAxNTcyNywgMTU3MzEsIDE1NzM1LCAxNTczOSwgMTU3NDMsIAotICAgIDE1NzQ3LCAxNTc1MSwgMTU3NTUsIDE1NzU5LCAxNTc2MywgMCwgMCwgMCwgMTU3NjcsIDE1NzczLCAxNTc3OSwgMTU3ODUsIAotICAgIDE1NzkxLCAxNTc5NywgMTU4MDMsIDE1ODA5LCAxNTgxNSwgMTU4MjEsIDE1ODI3LCAxNTgzMywgMTU4NDEsIDE1ODQ3LCAKLSAgICAxNTg1MywgMTU4NTksIDE1ODY1LCAxNTg3MSwgMTU4NzcsIDE1ODgzLCAxNTg4OSwgMTU4OTUsIDE1OTAxLCAxNTkwNywgMCwgCi0gICAgMTU5MTMsIDE1OTE5LCAxNTkyNSwgMTU5MzEsIDE1OTM3LCAxNTk0MywgMTU5NDcsIDE1OTUzLCAxNTk1NywgMCwgMTU5NjEsIAotICAgIDAsIDAsIDE1OTY3LCAxNTk3MSwgMTU5NzcsIDE1OTgzLCAxNTk4OSwgMTU5OTMsIDE1OTk5LCAwLCAwLCAwLCAxNjAwMywgMCwgCi0gICAgMCwgMCwgMCwgMTYwMDcsIDE2MDEyLCAxNjAxOSwgMTYwMjYsIDE2MDMzLCAxNjA0MCwgMCwgMTYwNDcsIDAsIDE2MDU0LCAKLSAgICAxNjA1OSwgMTYwNjQsIDE2MDcxLCAxNjA3OCwgMTYwODcsIDE2MDk4LCAxNjEwNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTYxMTIsIDE2MTE5LCAxNjEyNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMTYxMzEsIDE2MTM3LCAxNjE0MywgMTYxNDksIDE2MTU1LCAxNjE2MSwgMTYxNjcsIDE2MTczLCAKLSAgICAxNjE3OSwgMTYxODUsIDE2MTkxLCAxNjE5NywgMTYyMDMsIDE2MjA5LCAxNjIxNSwgMTYyMjEsIDE2MjI3LCAxNjIzMywgCi0gICAgMTYyMzksIDE2MjQ1LCAxNjI1MSwgMTYyNTcsIDE2MjYzLCAxNjI2OSwgMTYyNzUsIDE2MjgxLCAxNjI4NywgMTYyOTMsIAotICAgIDE2Mjk5LCAxNjMwNSwgMTYzMTEsIDE2MzE3LCAxNjMyMywgMTYzMjgsIDE2MzM0LCAxNjM0MCwgMTYzNDQsIDE2MzUwLCAKLSAgICAxNjM1NCwgMTYzNjAsIDE2MzY2LCAxNjM3MiwgMTYzNzgsIDE2Mzg0LCAxNjM5MCwgMTYzOTUsIDE2NDAxLCAxNjQwNSwgCi0gICAgMTY0MTAsIDE2NDE2LCAxNjQyMiwgMTY0MjgsIDE2NDMzLCAxNjQzOSwgMTY0NDUsIDE2NDUxLCAxNjQ1NiwgMTY0NjIsIDAsIAotICAgIDAsIDAsIDAsIDE2NDY2LCAxNjQ3MiwgMTY0NzcsIDE2NDgzLCAxNjQ4OCwgMTY0OTYsIDE2NTA0LCAxNjUwOCwgMTY1MTIsIAotICAgIDE2NTE2LCAxNjUyMiwgMTY1MjgsIDE2NTM0LCAxNjU0MCwgMTY1NDQsIDE2NTQ4LCAxNjU1MiwgMTY1NTYsIDE2NTYwLCAKLSAgICAxNjU2MywgMTY1NjYsIDE2NTY5LCAxNjU3MiwgMTY1NzUsIDE2NTc4LCAxNjU4MSwgMTY1ODQsIDE2NTg3LCAxNjU5MSwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTY1OTUsIDE2NjAwLCAwLCAxNjYwNywgMCwgMCwgMTY2MTQsIAotICAgIDE2NjE5LCAwLCAxNjYyNCwgMCwgMCwgMTY2MzEsIDAsIDAsIDAsIDAsIDAsIDAsIDE2NjM2LCAxNjY0MSwgMTY2NDUsIAotICAgIDE2NjUyLCAwLCAxNjY1OSwgMTY2NjQsIDE2NjY5LCAxNjY3NCwgMTY2ODEsIDE2Njg4LCAxNjY5NSwgMCwgMTY3MDIsIAotICAgIDE2NzA3LCAxNjcxMiwgMCwgMTY3MTksIDAsIDE2NzI2LCAwLCAwLCAxNjczMSwgMTY3MzgsIDAsIDE2NzQ1LCAxNjc0OSwgCi0gICAgMTY3NTYsIDE2NzYwLCAxNjc2NSwgMTY3NzMsIDE2Nzc5LCAxNjc4NSwgMTY3OTAsIDE2Nzk2LCAxNjgwMiwgMTY4MDgsIAotICAgIDE2ODEzLCAwLCAxNjgxOSwgMTY4MjcsIDE2ODM0LCAwLCAwLCAxNjg0MSwgMTY4NDYsIDE2ODUyLCAxNjg1NywgMTY4NjMsIAotICAgIDAsIDE2ODY5LCAwLCAxNjg3NSwgMTY4ODIsIDE2ODg5LCAxNjg5NiwgMTY5MDMsIDE2OTA4LCAwLCAwLCAxNjkxMiwgCi0gICAgMTY5MTcsIDE2OTIxLCAxNjkyNSwgMTY5MjksIDE2OTMzLCAxNjkzNywgMTY5NDEsIDE2OTQ1LCAxNjk0OSwgMCwgMCwgCi0gICAgMTY5NTMsIDE2OTU5LCAxNjk2NSwgMTY5NzIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE2OTc5LCAxNjk4MywgMTY5OTQsIAotICAgIDE3MDA5LCAxNzAyNCwgMTcwMzQsIDE3MDQ1LCAxNzA1OCwgMTcwNjksIDE3MDc1LCAxNzA4MywgMTcwOTMsIDE3MDk5LCAKLSAgICAxNzEwNywgMTcxMTEsIDE3MTE3LCAxNzEyMywgMTcxMzEsIDE3MTQxLCAxNzE0OSwgMTcxNjIsIDE3MTY4LCAxNzE3NiwgCi0gICAgMTcxODQsIDE3MTk2LCAxNzIwMywgMTcyMTEsIDE3MjE5LCAxNzIyNywgMTcyMzUsIDE3MjQzLCAxNzI1MSwgMTcyNjEsIAotICAgIDE3MjY1LCAxNzI2OCwgMTcyNzEsIDE3Mjc0LCAxNzI3NywgMTcyODAsIDE3MjgzLCAxNzI4NiwgMTcyODksIDE3MjkyLCAKLSAgICAxNzI5NiwgMTczMDAsIDE3MzA0LCAxNzMwOCwgMTczMTIsIDE3MzE2LCAxNzMyMCwgMTczMjQsIDE3MzI4LCAxNzMzMywgCi0gICAgMTczMzksIDE3MzQ5LCAxNzM2MywgMTczNzMsIDE3Mzc5LCAxNzM4NSwgMTczOTMsIDE3NDAxLCAxNzQwOSwgMTc0MTcsIAotICAgIDE3NDIzLCAxNzQyOSwgMTc0MzIsIDE3NDM2LCAxNzQ0MCwgMTc0NDQsIDE3NDQ4LCAxNzQ1MiwgMTc0NTYsIDAsIDE3NDYwLCAKLSAgICAxNzQ2NCwgMTc0NjgsIDE3NDcyLCAxNzQ3NiwgMTc0ODAsIDE3NDg0LCAxNzQ4OCwgMTc0OTIsIDE3NDk2LCAxNzUwMCwgCi0gICAgMTc1MDMsIDE3NTA2LCAxNzUxMCwgMTc1MTQsIDE3NTE4LCAxNzUyMSwgMTc1MjUsIDE3NTI5LCAxNzUzMywgMTc1MzcsIAotICAgIDE3NTQxLCAxNzU0NSwgMTc1NDksIDE3NTUzLCAxNzU1NiwgMTc1NTksIDE3NTYzLCAxNzU2NywgMTc1NzEsIDE3NTc0LCAKLSAgICAxNzU3NywgMTc1ODAsIDE3NTg0LCAxNzU4OSwgMTc1OTMsIDAsIDAsIDAsIDAsIDE3NTk3LCAxNzYwMiwgMTc2MDYsIAotICAgIDE3NjExLCAxNzYxNSwgMTc2MjAsIDE3NjI1LCAxNzYzMSwgMTc2MzYsIDE3NjQyLCAxNzY0NiwgMTc2NTEsIDE3NjU1LCAKLSAgICAxNzY2MCwgMTc2NzAsIDE3Njc2LCAxNzY4MiwgMTc2ODksIDE3Njk5LCAxNzcwNSwgMTc3MDksIDE3NzEzLCAxNzcxOSwgCi0gICAgMTc3MjUsIDE3NzMzLCAxNzczOSwgMTc3NDcsIDE3NzU1LCAxNzc2MywgMTc3NzMsIDE3NzgxLCAxNzc5MSwgMTc3OTYsIAotICAgIDE3ODAyLCAxNzgwOCwgMTc4MTQsIDE3ODIwLCAxNzgyNiwgMTc4MzIsIDAsIDE3ODM4LCAxNzg0NCwgMTc4NTAsIDE3ODU2LCAKLSAgICAxNzg2MiwgMTc4NjgsIDE3ODc0LCAxNzg4MCwgMTc4ODYsIDE3ODkyLCAxNzg5OCwgMTc5MDMsIDE3OTA4LCAxNzkxNCwgCi0gICAgMTc5MjAsIDE3OTI2LCAxNzkzMSwgMTc5MzcsIDE3OTQzLCAxNzk0OSwgMTc5NTUsIDE3OTYxLCAxNzk2NywgMTc5NzMsIAotICAgIDE3OTc5LCAxNzk4NCwgMTc5ODksIDE3OTk1LCAxODAwMSwgMTgwMDcsIDE4MDEyLCAxODAxNywgMTgwMjIsIDE4MDI4LCAKLSAgICAxODAzNiwgMTgwNDMsIDAsIDE4MDUwLCAxODA1NywgMTgwNzAsIDE4MDc3LCAxODA4NCwgMTgwOTIsIDE4MTAwLCAxODEwNiwgCi0gICAgMTgxMTIsIDE4MTE4LCAxODEyOCwgMTgxMzMsIDE4MTM5LCAxODE0OSwgMTgxNTksIDAsIDE4MTY5LCAxODE3OSwgMTgxODcsIAotICAgIDE4MTk5LCAxODIxMSwgMTgyMTcsIDE4MjMxLCAxODI0NiwgMTgyNTEsIDE4MjU2LCAxODI2NCwgMTgyNzIsIDE4MjgwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxODI4OCwgMTgyOTEsIDE4Mjk1LCAxODI5OSwgMTgzMDMsIAotICAgIDE4MzA3LCAxODMxMSwgMTgzMTUsIDE4MzE5LCAxODMyMywgMTgzMjcsIDE4MzMxLCAxODMzNSwgMTgzMzksIDE4MzQzLCAKLSAgICAxODM0NywgMTgzNTEsIDE4MzU1LCAxODM1OSwgMTgzNjMsIDE4MzY3LCAxODM3MCwgMTgzNzMsIDE4Mzc3LCAxODM4MSwgCi0gICAgMTgzODUsIDE4Mzg4LCAxODM5MSwgMTgzOTQsIDE4Mzk4LCAxODQwMiwgMTg0MDUsIDE4NDA4LCAxODQxMiwgMTg0MTUsIAotICAgIDE4NDIwLCAxODQyMywgMTg0MjcsIDE4NDMwLCAxODQzNCwgMTg0MzcsIDE4NDQyLCAxODQ0NSwgMTg0NDksIDE4NDU2LCAKLSAgICAxODQ2MSwgMTg0NjUsIDE4NDcwLCAxODQ3NCwgMTg0NzksIDE4NDgzLCAxODQ4OCwgMTg0OTUsIDE4NTAxLCAxODUwNiwgCi0gICAgMTg1MTAsIDE4NTE0LCAxODUxOCwgMTg1MjIsIDE4NTI2LCAxODUzMSwgMTg1MzYsIDE4NTQyLCAxODU0NywgMTg1NTIsIAotICAgIDE4NTU2LCAxODU1OSwgMTg1NjIsIDE4NTY1LCAxODU2OCwgMTg1NzEsIDE4NTc0LCAxODU3NywgMTg1ODAsIDE4NTgzLCAKLSAgICAxODU4OSwgMTg1OTMsIDE4NTk3LCAxODYwMSwgMTg2MDUsIDE4NjA5LCAxODYxMywgMTg2MTcsIDE4NjIxLCAxODYyNiwgCi0gICAgMTg2MzAsIDE4NjM1LCAxODY0MCwgMTg2NDYsIDE4NjUxLCAxODY1NywgMTg2NjMsIDE4NjY5LCAxODY3NSwgMTg2ODEsIAotICAgIDE4Njg4LCAxODY5NSwgMTg3MDMsIDE4NzExLCAxODcyMCwgMTg3MjksIDE4NzQwLCAxODc1MCwgMTg3NjAsIDE4NzcxLCAKLSAgICAxODc4MiwgMTg3OTIsIDE4ODAyLCAxODgxMiwgMTg4MjIsIDE4ODMyLCAxODg0MiwgMTg4NTIsIDE4ODYyLCAxODg3MCwgCi0gICAgMTg4NzcsIDE4ODgzLCAxODg5MCwgMTg4OTUsIDE4OTAxLCAxODkwNywgMTg5MTMsIDE4OTE5LCAxODkyNSwgMTg5MzEsIAotICAgIDE4OTM2LCAxODk0MiwgMTg5NDgsIDE4OTU0LCAxODk2MCwgMTg5NjUsIDE4OTczLCAxODk4MCwgMTg5ODYsIDE4OTkzLCAKLSAgICAxOTAwMSwgMTkwMDcsIDE5MDEzLCAxOTAxOSwgMTkwMjUsIDE5MDMzLCAxOTA0MSwgMTkwNTEsIDE5MDU5LCAxOTA2NywgCi0gICAgMTkwNzMsIDE5MDc4LCAxOTA4MywgMTkwODgsIDE5MDkzLCAxOTA5OCwgMTkxMDMsIDE5MTA4LCAxOTExMywgMTkxMTgsIAotICAgIDE5MTI0LCAxOTEzMCwgMTkxMzYsIDE5MTQzLCAxOTE0OCwgMTkxNTQsIDE5MTU5LCAxOTE2NCwgMTkxNjksIDE5MTc0LCAKLSAgICAxOTE3OSwgMTkxODQsIDE5MTg5LCAxOTE5NCwgMTkxOTksIDE5MjA0LCAxOTIwOSwgMTkyMTQsIDE5MjE5LCAxOTIyNCwgCi0gICAgMTkyMjksIDE5MjM0LCAxOTIzOSwgMTkyNDQsIDE5MjQ5LCAxOTI1NCwgMTkyNTksIDE5MjY0LCAxOTI2OSwgMTkyNzQsIAotICAgIDE5Mjc5LCAxOTI4NCwgMTkyODksIDE5Mjk0LCAxOTI5OSwgMTkzMDQsIDE5MzA5LCAxOTMxNCwgMTkzMTksIDE5MzI0LCAKLSAgICAxOTMyOSwgMTkzMzQsIDE5MzM5LCAwLCAxOTM0NCwgMCwgMCwgMCwgMCwgMCwgMTkzNDksIDAsIDAsIDE5MzU0LCAxOTM1OCwgCi0gICAgMTkzNjIsIDE5MzY2LCAxOTM3MCwgMTkzNzQsIDE5Mzc4LCAxOTM4MiwgMTkzODYsIDE5MzkwLCAxOTM5NCwgMTkzOTgsIAotICAgIDE5NDAyLCAxOTQwNiwgMTk0MTAsIDE5NDE0LCAxOTQxOCwgMTk0MjIsIDE5NDI2LCAxOTQzMCwgMTk0MzQsIDE5NDM4LCAKLSAgICAxOTQ0MiwgMTk0NDYsIDE5NDUwLCAxOTQ1NCwgMTk0NTgsIDE5NDYyLCAxOTQ2NiwgMTk0NzAsIDE5NDc0LCAxOTQ3OCwgCi0gICAgMTk0ODIsIDE5NDg2LCAxOTQ5MCwgMTk0OTQsIDE5NDk4LCAxOTUwMiwgMTk1MDYsIDE5NTEwLCAxOTUxNCwgMTk1MTgsIAotICAgIDE5NTI0LCAxOTUyOCwgMTk1MzMsIDE5NTM4LCAxOTU0MiwgMTk1NDcsIDE5NTUyLCAxOTU1NiwgMTk1NjAsIDE5NTY0LCAKLSAgICAxOTU2OCwgMTk1NzIsIDE5NTc2LCAxOTU4MCwgMTk1ODQsIDE5NTg4LCAxOTU5MiwgMTk1OTYsIDE5NjAwLCAxOTYwNCwgCi0gICAgMTk2MDgsIDE5NjEyLCAxOTYxNiwgMTk2MjAsIDE5NjI0LCAxOTYyOCwgMTk2MzIsIDE5NjM2LCAxOTY0MCwgMTk2NDQsIAotICAgIDE5NjQ4LCAxOTY1MiwgMTk2NTYsIDE5NjYwLCAxOTY2NCwgMTk2NjgsIDE5NjcyLCAxOTY3NiwgMTk2ODAsIDE5Njg0LCAKLSAgICAxOTY4OCwgMTk2OTIsIDE5Njk2LCAxOTcwMCwgMTk3MDQsIDE5NzA4LCAxOTcxMiwgMTk3MTYsIDE5NzIwLCAxOTcyNCwgCi0gICAgMTk3MjgsIDE5NzMyLCAxOTczNiwgMTk3NDAsIDE5NzQ0LCAxOTc0OCwgMTk3NTIsIDE5NzU2LCAxOTc2MCwgMTk3NjQsIAotICAgIDE5NzY4LCAxOTc3MiwgMTk3NzYsIDE5NzgwLCAxOTc4NCwgMTk3ODgsIDE5NzkyLCAxOTc5NiwgMTk4MDAsIDE5ODA0LCAKLSAgICAxOTgwOCwgMTk4MTIsIDE5ODE2LCAxOTgyMCwgMTk4MjQsIDE5ODI4LCAxOTgzMiwgMTk4MzYsIDE5ODQwLCAxOTg0NCwgCi0gICAgMTk4NDgsIDE5ODUyLCAxOTg1NiwgMTk4NjAsIDE5ODY0LCAxOTg2OCwgMTk4NzIsIDE5ODc2LCAxOTg4MCwgMTk4ODQsIAotICAgIDE5ODg4LCAxOTg5MiwgMTk4OTYsIDE5OTAwLCAxOTkwNCwgMTk5MDgsIDE5OTEyLCAxOTkxNiwgMTk5MjAsIDE5OTI0LCAKLSAgICAxOTkyOCwgMTk5MzIsIDE5OTM2LCAxOTk0MCwgMTk5NDMsIDE5OTQ3LCAxOTk1MCwgMTk5NTQsIDE5OTU4LCAxOTk2MSwgCi0gICAgMTk5NjUsIDE5OTY5LCAxOTk3MiwgMTk5NzYsIDE5OTgwLCAxOTk4NCwgMTk5ODgsIDE5OTkxLCAxOTk5NSwgMTk5OTksIAotICAgIDIwMDAzLCAyMDAwNywgMjAwMTEsIDIwMDE1LCAyMDAxOCwgMjAwMjIsIDIwMDI2LCAyMDAzMCwgMjAwMzQsIDIwMDM4LCAKLSAgICAyMDA0MiwgMjAwNDYsIDIwMDUwLCAyMDA1NCwgMjAwNTgsIDIwMDYyLCAyMDA2NiwgMjAwNzAsIDIwMDc0LCAyMDA3OCwgCi0gICAgMjAwODIsIDIwMDg2LCAyMDA5MCwgMjAwOTQsIDIwMDk4LCAyMDEwMiwgMjAxMDYsIDIwMTEwLCAyMDExNCwgMjAxMTgsIAotICAgIDIwMTIyLCAyMDEyNiwgMjAxMzAsIDIwMTM0LCAyMDEzOCwgMjAxNDIsIDIwMTQ2LCAyMDE1MCwgMjAxNTQsIDIwMTU4LCAKLSAgICAyMDE2MiwgMjAxNjYsIDIwMTcwLCAyMDE3NCwgMjAxNzgsIDIwMTgyLCAyMDE4NiwgMjAxOTAsIDIwMTk0LCAyMDE5OCwgCi0gICAgMjAyMDIsIDIwMjA2LCAyMDIxMCwgMjAyMTQsIDIwMjE4LCAyMDIyMiwgMjAyMjYsIDIwMjMwLCAyMDIzNCwgMjAyMzgsIAotICAgIDIwMjQyLCAyMDI0NiwgMjAyNTAsIDIwMjU0LCAyMDI1OCwgMjAyNjIsIDIwMjY2LCAyMDI3MCwgMjAyNzQsIDIwMjc4LCAKLSAgICAyMDI4MiwgMjAyODYsIDIwMjkwLCAyMDI5NCwgMjAyOTgsIDIwMzAyLCAyMDMwNiwgMjAzMTAsIDIwMzE0LCAyMDMxOCwgCi0gICAgMjAzMjIsIDIwMzI2LCAyMDMzMCwgMjAzMzQsIDIwMzM4LCAyMDM0MiwgMjAzNDYsIDIwMzUwLCAyMDM1NCwgMjAzNTgsIAotICAgIDIwMzYyLCAyMDM2NiwgMjAzNzAsIDIwMzc0LCAyMDM3OCwgMjAzODIsIDIwMzg2LCAyMDM5MCwgMjAzOTQsIDIwMzk4LCAKLSAgICAyMDQwMiwgMjA0MDYsIDIwNDEwLCAyMDQxNCwgMjA0MTgsIDIwNDIyLCAyMDQyNiwgMjA0MzAsIDIwNDM0LCAyMDQzOCwgCi0gICAgMjA0NDIsIDIwNDQ2LCAyMDQ1MCwgMjA0NTQsIDIwNDU4LCAyMDQ2MiwgMjA0NjYsIDIwNDcwLCAyMDQ3NCwgMjA0NzgsIAotICAgIDIwNDgyLCAyMDQ4NiwgMjA0OTAsIDIwNDk0LCAyMDQ5OCwgMjA1MDIsIDIwNTA2LCAyMDUxMCwgMjA1MTQsIDIwNTE4LCAKLSAgICAyMDUyMiwgMjA1MjYsIDIwNTMwLCAyMDUzNCwgMjA1MzgsIDIwNTQyLCAyMDU0NiwgMjA1NTAsIDIwNTU0LCAyMDU1OCwgCi0gICAgMjA1NjIsIDIwNTY2LCAyMDU3MCwgMjA1NzMsIDIwNTc3LCAyMDU4MSwgMjA1ODUsIDIwNTg5LCAyMDU5MywgMjA1OTcsIAotICAgIDIwNjAxLCAyMDYwNSwgMjA2MDksIDIwNjEzLCAyMDYxNywgMjA2MjEsIDIwNjI1LCAyMDYyOSwgMjA2MzMsIDIwNjM3LCAKLSAgICAyMDY0MSwgMjA2NDUsIDIwNjQ5LCAyMDY1MywgMjA2NTcsIDIwNjYxLCAyMDY2NSwgMjA2NjgsIDIwNjcyLCAyMDY3NiwgCi0gICAgMjA2ODAsIDIwNjg0LCAyMDY4OCwgMjA2OTIsIDIwNjk2LCAyMDcwMCwgMjA3MDQsIDIwNzA4LCAyMDcxMiwgMjA3MTYsIAotICAgIDIwNzIwLCAyMDcyNCwgMjA3MjgsIDIwNzMxLCAyMDczNSwgMjA3MzksIDIwNzQzLCAyMDc0NywgMjA3NTEsIDIwNzU1LCAKLSAgICAyMDc1OSwgMjA3NjIsIDIwNzY2LCAyMDc3MCwgMjA3NzQsIDIwNzc4LCAyMDc4MiwgMjA3ODYsIDIwNzkwLCAyMDc5NCwgCi0gICAgMjA3OTgsIDIwODAyLCAyMDgwNiwgMjA4MTAsIDIwODE0LCAyMDgxOCwgMjA4MjIsIDIwODI2LCAyMDgzMCwgMjA4MzQsIAotICAgIDIwODM4LCAyMDg0MiwgMjA4NDYsIDIwODUwLCAyMDg1NCwgMCwgMjA4NTgsIDIwODYyLCAyMDg2NiwgMjA4NzAsIDAsIDAsIAotICAgIDIwODc0LCAyMDg3OCwgMjA4ODIsIDIwODg2LCAyMDg5MCwgMjA4OTQsIDIwODk4LCAwLCAyMDkwMiwgMCwgMjA5MDYsIAotICAgIDIwOTEwLCAyMDkxNCwgMjA5MTgsIDAsIDAsIDIwOTIyLCAyMDkyNiwgMjA5MzAsIDIwOTM0LCAyMDkzOCwgMjA5NDIsIAotICAgIDIwOTQ2LCAyMDk1MCwgMjA5NTQsIDIwOTU4LCAyMDk2MiwgMjA5NjYsIDIwOTcwLCAyMDk3NCwgMjA5NzgsIDIwOTgyLCAKLSAgICAyMDk4NiwgMjA5OTAsIDIwOTk0LCAyMDk5OCwgMjEwMDIsIDIxMDA2LCAyMTAxMCwgMjEwMTMsIDIxMDE3LCAyMTAyMSwgCi0gICAgMjEwMjUsIDIxMDI5LCAyMTAzMywgMjEwMzcsIDIxMDQxLCAyMTA0NSwgMjEwNDksIDIxMDUzLCAyMTA1NywgMjEwNjEsIAotICAgIDIxMDY1LCAyMTA2OSwgMjEwNzMsIDIxMDc3LCAyMTA4MSwgMCwgMjEwODUsIDIxMDg5LCAyMTA5MywgMjEwOTcsIDAsIDAsIAotICAgIDIxMTAxLCAyMTEwNCwgMjExMDgsIDIxMTEyLCAyMTExNiwgMjExMjAsIDIxMTI0LCAyMTEyOCwgMjExMzIsIDIxMTM2LCAKLSAgICAyMTE0MCwgMjExNDQsIDIxMTQ4LCAyMTE1MiwgMjExNTYsIDIxMTYwLCAyMTE2NCwgMjExNjksIDIxMTc0LCAyMTE3OSwgCi0gICAgMjExODUsIDIxMTkxLCAyMTE5NiwgMjEyMDEsIDIxMjA3LCAyMTIxMCwgMjEyMTQsIDIxMjE4LCAyMTIyMiwgMjEyMjYsIAotICAgIDIxMjMwLCAyMTIzNCwgMjEyMzgsIDAsIDIxMjQyLCAyMTI0NiwgMjEyNTAsIDIxMjU0LCAwLCAwLCAyMTI1OCwgMjEyNjIsIAotICAgIDIxMjY2LCAyMTI3MCwgMjEyNzQsIDIxMjc4LCAyMTI4MiwgMCwgMjEyODYsIDAsIDIxMjkwLCAyMTI5NCwgMjEyOTgsIAotICAgIDIxMzAyLCAwLCAwLCAyMTMwNiwgMjEzMTAsIDIxMzE0LCAyMTMxOCwgMjEzMjIsIDIxMzI2LCAyMTMzMCwgMjEzMzQsIAotICAgIDIxMzM4LCAyMTM0MywgMjEzNDgsIDIxMzUzLCAyMTM1OSwgMjEzNjUsIDIxMzcwLCAwLCAyMTM3NSwgMjEzNzksIDIxMzgzLCAKLSAgICAyMTM4NywgMjEzOTEsIDIxMzk1LCAyMTM5OSwgMjE0MDMsIDIxNDA3LCAyMTQxMSwgMjE0MTUsIDIxNDE5LCAyMTQyMywgCi0gICAgMjE0MjcsIDIxNDMxLCAyMTQzNSwgMjE0MzksIDIxNDQyLCAyMTQ0NiwgMjE0NTAsIDIxNDU0LCAyMTQ1OCwgMjE0NjIsIAotICAgIDIxNDY2LCAyMTQ3MCwgMjE0NzQsIDIxNDc4LCAyMTQ4MiwgMjE0ODYsIDIxNDkwLCAyMTQ5NCwgMjE0OTgsIDIxNTAyLCAKLSAgICAyMTUwNiwgMjE1MTAsIDIxNTE0LCAyMTUxOCwgMjE1MjIsIDIxNTI2LCAyMTUzMCwgMjE1MzQsIDIxNTM4LCAyMTU0MiwgCi0gICAgMjE1NDYsIDIxNTUwLCAyMTU1NCwgMjE1NTgsIDIxNTYyLCAyMTU2NiwgMjE1NzAsIDIxNTc0LCAyMTU3OCwgMjE1ODIsIAotICAgIDIxNTg2LCAyMTU5MCwgMjE1OTQsIDIxNTk4LCAwLCAyMTYwMiwgMjE2MDYsIDIxNjEwLCAyMTYxNCwgMCwgMCwgMjE2MTgsIAotICAgIDIxNjIyLCAyMTYyNiwgMjE2MzAsIDIxNjM0LCAyMTYzOCwgMjE2NDIsIDIxNjQ2LCAyMTY1MCwgMjE2NTQsIDIxNjU4LCAKLSAgICAyMTY2MiwgMjE2NjYsIDIxNjcwLCAyMTY3NCwgMjE2NzgsIDIxNjgyLCAyMTY4NiwgMjE2OTAsIDIxNjk0LCAyMTY5OCwgCi0gICAgMjE3MDIsIDIxNzA2LCAyMTcxMCwgMjE3MTQsIDIxNzE4LCAyMTcyMiwgMjE3MjYsIDIxNzMwLCAyMTczNCwgMjE3MzgsIAotICAgIDIxNzQyLCAyMTc0NiwgMjE3NTAsIDIxNzU0LCAyMTc1OCwgMjE3NjIsIDIxNzY2LCAyMTc3MCwgMjE3NzQsIDIxNzc4LCAKLSAgICAyMTc4MiwgMjE3ODYsIDIxNzkwLCAyMTc5NCwgMjE3OTgsIDIxODAyLCAyMTgwNiwgMjE4MTAsIDIxODE0LCAyMTgxOCwgCi0gICAgMjE4MjIsIDIxODI2LCAyMTgzMCwgMjE4MzQsIDIxODM4LCAyMTg0MiwgMjE4NDUsIDIxODQ5LCAyMTg1MywgMjE4NTcsIAotICAgIDIxODYxLCAyMTg2NSwgMjE4NjksIDIxODczLCAyMTg3NywgMjE4ODEsIDAsIDAsIDIxODg1LCAyMTg5NCwgMjE5MDAsIAotICAgIDIxOTA1LCAyMTkwOSwgMjE5MTIsIDIxOTE3LCAyMTkyMCwgMjE5MjMsIDIxOTI2LCAyMTkzMSwgMjE5MzUsIDIxOTQwLCAKLSAgICAyMTk0MywgMjE5NDYsIDIxOTQ5LCAyMTk1MiwgMjE5NTUsIDIxOTU4LCAyMTk2MSwgMjE5NjQsIDIxOTY3LCAyMTk3MSwgCi0gICAgMjE5NzUsIDIxOTc5LCAyMTk4MywgMjE5ODcsIDIxOTkxLCAyMTk5NSwgMjE5OTksIDIyMDAzLCAyMjAwNywgMCwgMCwgMCwgCi0gICAgMjIwMTMsIDIyMDE5LCAyMjAyMywgMjIwMjcsIDIyMDMxLCAyMjAzNywgMjIwNDEsIDIyMDQ1LCAyMjA0OSwgMjIwNTUsIAotICAgIDIyMDU5LCAyMjA2MywgMjIwNjcsIDIyMDczLCAyMjA3NywgMjIwODEsIDIyMDg1LCAyMjA5MSwgMjIwOTcsIDIyMTAzLCAKLSAgICAyMjExMSwgMjIxMTcsIDIyMTIzLCAyMjEyOSwgMjIxMzUsIDIyMTQxLCAwLCAwLCAwLCAwLCAwLCAwLCAyMjE0NywgMjIxNTAsIAotICAgIDIyMTUzLCAyMjE1NiwgMjIxNTksIDIyMTYyLCAyMjE2NiwgMjIxNzAsIDIyMTczLCAyMjE3NywgMjIxODEsIDIyMTg1LCAKLSAgICAyMjE4OSwgMjIxOTMsIDIyMTk2LCAyMjIwMCwgMjIyMDQsIDIyMjA4LCAyMjIxMiwgMjIyMTYsIDIyMjIwLCAyMjIyNCwgCi0gICAgMjIyMjgsIDIyMjMyLCAyMjIzNiwgMjIyNDAsIDIyMjQzLCAyMjI0NywgMjIyNTEsIDIyMjU1LCAyMjI1OSwgMjIyNjIsIAotICAgIDIyMjY2LCAyMjI3MCwgMjIyNzQsIDIyMjc4LCAyMjI4MiwgMjIyODYsIDIyMjkwLCAyMjI5NCwgMjIyOTgsIDIyMzAyLCAKLSAgICAyMjMwNiwgMjIzMTAsIDIyMzE0LCAyMjMxNywgMjIzMjEsIDIyMzI1LCAyMjMyOSwgMjIzMzMsIDIyMzM3LCAyMjM0MSwgCi0gICAgMjIzNDUsIDIyMzQ5LCAyMjM1MywgMjIzNTcsIDIyMzYxLCAyMjM2NSwgMjIzNjksIDIyMzczLCAyMjM3NywgMjIzODEsIAotICAgIDIyMzg1LCAyMjM4OSwgMjIzOTMsIDIyMzk3LCAyMjQwMSwgMjI0MDUsIDIyNDA5LCAyMjQxMywgMjI0MTcsIDIyNDIxLCAKLSAgICAyMjQyNSwgMjI0MjksIDIyNDMzLCAyMjQzNywgMjI0NDEsIDIyNDQ1LCAyMjQ0OSwgMjI0NTMsIDIyNDU2LCAyMjQ2MCwgCi0gICAgMjI0NjQsIDIyNDY4LCAyMjQ3MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjI0NzYsIDIyNDgwLCAKLSAgICAyMjQ4MywgMjI0ODcsIDIyNDkwLCAyMjQ5NCwgMjI0OTcsIDIyNTAxLCAyMjUwNywgMjI1MTIsIDIyNTE2LCAyMjUxOSwgCi0gICAgMjI1MjMsIDIyNTI3LCAyMjUzMiwgMjI1MzYsIDIyNTQxLCAyMjU0NSwgMjI1NTAsIDIyNTU0LCAyMjU1OSwgMjI1NjMsIAotICAgIDIyNTY4LCAyMjU3NCwgMjI1NzgsIDIyNTgzLCAyMjU4NywgMjI1OTIsIDIyNTk4LCAyMjYwMiwgMjI2MDgsIDIyNjE0LCAKLSAgICAyMjYxOCwgMjI2MjMsIDIyNjMxLCAyMjYzOSwgMjI2NDYsIDIyNjUxLCAyMjY1NiwgMjI2NjUsIDIyNjcyLCAyMjY3OSwgCi0gICAgMjI2ODQsIDIyNjkwLCAyMjY5NCwgMjI2OTgsIDIyNzAyLCAyMjcwNiwgMjI3MTAsIDIyNzE0LCAyMjcxOCwgMjI3MjIsIAotICAgIDIyNzI2LCAyMjczMCwgMjI3MzYsIDIyNzQxLCAyMjc0NiwgMjI3NDksIDIyNzUzLCAyMjc1NywgMjI3NjIsIDIyNzY2LCAKLSAgICAyMjc3MSwgMjI3NzUsIDIyNzgwLCAyMjc4NCwgMjI3ODksIDIyNzkzLCAyMjc5OCwgMjI4MDIsIDIyODA3LCAyMjgxMSwgCi0gICAgMjI4MTYsIDIyODIyLCAyMjgyNiwgMjI4MzEsIDIyODM2LCAyMjg0MCwgMjI4NDQsIDIyODQ4LCAyMjg1MiwgMjI4NTUsIAotICAgIDIyODU5LCAyMjg2NSwgMjI4NzAsIDIyODc1LCAyMjg3OSwgMjI4ODMsIDIyODg3LCAyMjg5MiwgMjI4OTYsIDIyOTAxLCAKLSAgICAyMjkwNSwgMjI5MTAsIDIyOTEzLCAyMjkxNywgMjI5MjEsIDIyOTI2LCAyMjkzMCwgMjI5MzUsIDIyOTM5LCAyMjk0NCwgCi0gICAgMjI5NTAsIDIyOTU0LCAyMjk1OCwgMjI5NjIsIDIyOTY2LCAyMjk3MCwgMjI5NzQsIDIyOTc4LCAyMjk4MiwgMjI5ODYsIAotICAgIDIyOTkwLCAyMjk5NCwgMjMwMDAsIDIzMDAzLCAyMzAwNywgMjMwMTEsIDIzMDE2LCAyMzAyMCwgMjMwMjUsIDIzMDI5LCAKLSAgICAyMzAzNCwgMjMwMzgsIDIzMDQzLCAyMzA0NywgMjMwNTIsIDIzMDU2LCAyMzA2MSwgMjMwNjUsIDIzMDcwLCAyMzA3NiwgCi0gICAgMjMwODAsIDIzMDg0LCAyMzA5MCwgMjMwOTYsIDIzMTAyLCAyMzEwOCwgMjMxMTIsIDIzMTE2LCAyMzEyMCwgMjMxMjQsIAotICAgIDIzMTI4LCAyMzEzMiwgMjMxMzgsIDIzMTQyLCAyMzE0NiwgMjMxNTAsIDIzMTU1LCAyMzE1OSwgMjMxNjQsIDIzMTY4LCAKLSAgICAyMzE3MywgMjMxNzcsIDIzMTgyLCAyMzE4NiwgMjMxOTEsIDIzMTk1LCAyMzIwMCwgMjMyMDQsIDIzMjA5LCAyMzIxNSwgCi0gICAgMjMyMTksIDIzMjI1LCAyMzIyOSwgMjMyMzMsIDIzMjM3LCAyMzI0MSwgMjMyNDUsIDIzMjQ5LCAyMzI1NSwgMjMyNTgsIAotICAgIDIzMjYyLCAyMzI2NiwgMjMyNzEsIDIzMjc1LCAyMzI4MCwgMjMyODQsIDIzMjg5LCAyMzI5MywgMjMyOTgsIDIzMzAyLCAKLSAgICAyMzMwNywgMjMzMTEsIDIzMzE2LCAyMzMyMCwgMjMzMjUsIDIzMzMxLCAyMzMzNCwgMjMzMzgsIDIzMzQyLCAyMzM0NywgCi0gICAgMjMzNTIsIDIzMzU2LCAyMzM2MCwgMjMzNjQsIDIzMzY4LCAyMzM3MiwgMjMzNzYsIDIzMzgyLCAyMzM4NSwgMjMzODksIAotICAgIDIzMzkzLCAyMzM5OCwgMjM0MDIsIDIzNDA3LCAyMzQxMSwgMjM0MTYsIDIzNDIyLCAyMzQyNiwgMjM0MzEsIDIzNDM1LCAKLSAgICAyMzQzOSwgMjM0NDMsIDIzNDQ3LCAyMzQ1MSwgMjM0NTUsIDIzNDU5LCAyMzQ2NSwgMjM0NjksIDIzNDczLCAyMzQ3NywgCi0gICAgMjM0ODIsIDIzNDg2LCAyMzQ5MSwgMjM0OTUsIDIzNTAwLCAyMzUwNCwgMjM1MDksIDIzNTEzLCAyMzUxOCwgMjM1MjIsIAotICAgIDIzNTI3LCAyMzUzMSwgMjM1MzYsIDIzNTM5LCAyMzU0MywgMjM1NDcsIDIzNTUxLCAyMzU1NSwgMjM1NTksIDIzNTYzLCAKLSAgICAyMzU2NywgMjM1NzEsIDIzNTc3LCAyMzU4MCwgMjM1ODQsIDIzNTg4LCAyMzU5MywgMjM1OTcsIDIzNjAyLCAyMzYwNiwgCi0gICAgMjM2MTEsIDIzNjE1LCAyMzYyMCwgMjM2MjQsIDIzNjI5LCAyMzYzMywgMjM2MzgsIDIzNjQyLCAyMzY0NywgMjM2NTMsIAotICAgIDIzNjU3LCAyMzY2MywgMjM2NjcsIDIzNjczLCAyMzY3OSwgMjM2ODUsIDIzNjkxLCAyMzY5NywgMjM3MDMsIDIzNzA5LCAKLSAgICAyMzcxNSwgMjM3MTksIDIzNzIzLCAyMzcyNywgMjM3MzEsIDIzNzM1LCAyMzczOSwgMjM3NDMsIDIzNzQ3LCAyMzc1MiwgCi0gICAgMjM3NTYsIDIzNzYxLCAyMzc2NSwgMjM3NzAsIDIzNzc0LCAyMzc3OSwgMjM3ODMsIDIzNzg4LCAyMzc5MiwgMjM3OTcsIAotICAgIDIzODAxLCAyMzgwNiwgMjM4MTAsIDIzODE0LCAyMzgxOCwgMjM4MjIsIDIzODI2LCAyMzgzMCwgMjM4MzQsIDIzODQwLCAKLSAgICAyMzg0MywgMjM4NDcsIDIzODUxLCAyMzg1NiwgMjM4NjAsIDIzODY1LCAyMzg2OSwgMjM4NzQsIDIzODc4LCAyMzg4MywgCi0gICAgMjM4ODcsIDIzODkyLCAyMzg5NiwgMjM5MDEsIDIzOTA1LCAyMzkxMCwgMjM5MTYsIDIzOTIwLCAyMzkyNiwgMjM5MzEsIAotICAgIDIzOTM3LCAyMzk0MSwgMjM5NDcsIDIzOTUyLCAyMzk1NiwgMjM5NjAsIDIzOTY0LCAyMzk2OCwgMjM5NzIsIDIzOTc3LCAKLSAgICAyMzk4MCwgMjM5ODQsIDIzOTg5LCAyMzk5MywgMjM5OTgsIDI0MDAxLCAyNDAwNSwgMjQwMDksIDI0MDEzLCAyNDAxNywgCi0gICAgMjQwMjEsIDI0MDI1LCAyNDAyOSwgMjQwMzMsIDI0MDM3LCAyNDA0MSwgMjQwNDUsIDI0MDUwLCAyNDA1NCwgMjQwNTgsIAotICAgIDI0MDY0LCAyNDA2OCwgMjQwNzQsIDI0MDc4LCAyNDA4NCwgMjQwODgsIDI0MDkyLCAyNDA5NiwgMjQxMDAsIDI0MTA0LCAKLSAgICAyNDEwOSwgMjQxMTMsIDI0MTE3LCAyNDEyMSwgMjQxMjUsIDI0MTI5LCAyNDEzMywgMjQxMzcsIDI0MTQxLCAyNDE0NSwgCi0gICAgMjQxNDksIDI0MTU1LCAyNDE2MSwgMjQxNjcsIDI0MTczLCAyNDE3OSwgMjQxODQsIDI0MTkwLCAyNDE5NiwgMjQyMDIsIAotICAgIDI0MjA2LCAyNDIxMCwgMjQyMTQsIDI0MjE4LCAyNDIyMiwgMjQyMjYsIDI0MjMwLCAyNDIzNCwgMjQyMzgsIDI0MjQyLCAKLSAgICAyNDI0NiwgMjQyNTAsIDI0MjU0LCAyNDI1OSwgMjQyNjQsIDI0MjY5LCAyNDI3MywgMjQyNzcsIDI0MjgxLCAyNDI4NSwgCi0gICAgMjQyODksIDI0MjkzLCAyNDI5NywgMjQzMDEsIDI0MzA1LCAyNDMwOSwgMjQzMTUsIDI0MzIxLCAyNDMyNywgMjQzMzMsIAotICAgIDI0MzM5LCAyNDM0NSwgMjQzNTEsIDI0MzU3LCAyNDM2MywgMjQzNjcsIDI0MzcxLCAyNDM3NSwgMjQzNzksIDI0MzgzLCAKLSAgICAyNDM4NywgMjQzOTEsIDI0Mzk3LCAyNDQwMywgMjQ0MDksIDI0NDE1LCAyNDQyMSwgMjQ0MjcsIDI0NDMzLCAyNDQzOSwgCi0gICAgMjQ0NDUsIDI0NDUwLCAyNDQ1NSwgMjQ0NjAsIDI0NDY1LCAyNDQ3MSwgMjQ0NzcsIDI0NDgzLCAyNDQ4OSwgMjQ0OTUsIAotICAgIDI0NTAxLCAyNDUwNywgMjQ1MTIsIDI0NTE4LCAyNDUyNCwgMjQ1MzAsIDI0NTM1LCAyNDU0MSwgMjQ1NDcsIDI0NTUzLCAKLSAgICAyNDU1OCwgMjQ1NjMsIDI0NTY4LCAyNDU3MywgMjQ1NzgsIDI0NTgzLCAyNDU4OCwgMjQ1OTMsIDI0NTk4LCAyNDYwMywgCi0gICAgMjQ2MDgsIDI0NjEzLCAyNDYxNywgMjQ2MjIsIDI0NjI3LCAyNDYzMiwgMjQ2MzcsIDI0NjQyLCAyNDY0NywgMjQ2NTIsIAotICAgIDI0NjU3LCAyNDY2MiwgMjQ2NjcsIDI0NjcyLCAyNDY3NywgMjQ2ODIsIDI0Njg3LCAyNDY5MiwgMjQ2OTcsIDI0NzAyLCAKLSAgICAyNDcwNywgMjQ3MTIsIDI0NzE3LCAyNDcyMiwgMjQ3MjcsIDI0NzMyLCAyNDczNywgMjQ3NDIsIDI0NzQ3LCAyNDc1MiwgCi0gICAgMjQ3NTcsIDI0NzYyLCAyNDc2NiwgMjQ3NzEsIDI0Nzc2LCAyNDc4MSwgMjQ3ODYsIDI0NzkxLCAyNDc5NiwgMjQ4MDEsIAotICAgIDI0ODA2LCAyNDgxMSwgMjQ4MTYsIDI0ODIxLCAyNDgyNiwgMjQ4MzEsIDI0ODM2LCAyNDg0MSwgMjQ4NDYsIDI0ODUxLCAKLSAgICAyNDg1NiwgMjQ4NjEsIDI0ODY2LCAyNDg3MSwgMjQ4NzYsIDI0ODgxLCAyNDg4NiwgMjQ4OTEsIDI0ODk1LCAyNDkwMCwgCi0gICAgMjQ5MDUsIDI0OTEwLCAyNDkxNSwgMjQ5MjAsIDI0OTI0LCAyNDkyOSwgMjQ5MzQsIDI0OTM5LCAyNDk0NCwgMjQ5NDksIAotICAgIDI0OTUzLCAyNDk1OCwgMjQ5NjQsIDI0OTY5LCAyNDk3NCwgMjQ5NzksIDI0OTg0LCAyNDk5MCwgMjQ5OTUsIDI1MDAwLCAKLSAgICAyNTAwNSwgMjUwMTAsIDI1MDE1LCAyNTAyMCwgMjUwMjUsIDI1MDMwLCAyNTAzNSwgMjUwNDAsIDI1MDQ1LCAyNTA1MCwgCi0gICAgMjUwNTUsIDI1MDYwLCAyNTA2NSwgMjUwNzAsIDI1MDc1LCAyNTA4MCwgMjUwODUsIDI1MDkwLCAyNTA5NSwgMjUxMDAsIAotICAgIDI1MTA1LCAyNTExMCwgMjUxMTUsIDI1MTIwLCAyNTEyNSwgMjUxMzAsIDI1MTM1LCAyNTE0MCwgMjUxNDUsIDI1MTUwLCAKLSAgICAyNTE1NSwgMjUxNjAsIDI1MTY1LCAyNTE3MCwgMjUxNzUsIDI1MTgwLCAyNTE4NSwgMjUxOTAsIDI1MTk1LCAyNTIwMCwgCi0gICAgMjUyMDUsIDI1MjEwLCAyNTIxNiwgMjUyMjEsIDI1MjI2LCAyNTIzMSwgMjUyMzYsIDI1MjQxLCAyNTI0NiwgMjUyNTEsIAotICAgIDI1MjU2LCAyNTI2MSwgMjUyNjYsIDI1MjcxLCAyNTI3NSwgMjUyODAsIDI1Mjg1LCAyNTI5MCwgMjUyOTUsIDI1MzAwLCAKLSAgICAyNTMwNSwgMjUzMTAsIDI1MzE1LCAyNTMyMCwgMjUzMjUsIDI1MzMwLCAyNTMzNSwgMjUzNDAsIDI1MzQ1LCAyNTM1MCwgCi0gICAgMjUzNTUsIDI1MzYwLCAyNTM2NSwgMjUzNzAsIDI1Mzc1LCAyNTM4MCwgMjUzODUsIDI1MzkwLCAyNTM5NSwgMjU0MDAsIAotICAgIDI1NDA1LCAyNTQxMSwgMjU0MTUsIDI1NDE5LCAyNTQyMywgMjU0MjcsIDI1NDMxLCAyNTQzNSwgMjU0MzksIDI1NDQzLCAKLSAgICAyNTQ0OSwgMjU0NTUsIDI1NDYxLCAyNTQ2NywgMjU0NzMsIDI1NDc5LCAyNTQ4NSwgMjU0OTIsIDI1NDk4LCAyNTUwMywgCi0gICAgMjU1MDgsIDI1NTEzLCAyNTUxOCwgMjU1MjMsIDI1NTI4LCAyNTUzMywgMjU1MzgsIDI1NTQzLCAyNTU0OCwgMjU1NTMsIAotICAgIDI1NTU4LCAyNTU2MywgMjU1NjgsIDI1NTczLCAyNTU3OCwgMjU1ODMsIDI1NTg4LCAyNTU5MywgMjU1OTgsIDI1NjAzLCAKLSAgICAyNTYwOCwgMjU2MTMsIDI1NjE4LCAyNTYyMywgMjU2MjgsIDI1NjMzLCAyNTYzOCwgMCwgMCwgMCwgMjU2NDUsIDI1NjU1LCAKLSAgICAyNTY1OSwgMjU2NjYsIDI1NjcwLCAyNTY3NCwgMjU2NzgsIDI1Njg2LCAyNTY5MCwgMjU2OTUsIDI1NzAwLCAyNTcwNSwgCi0gICAgMjU3MDksIDI1NzE0LCAyNTcxOSwgMjU3MjIsIDI1NzI2LCAyNTczMCwgMjU3MzksIDI1NzQzLCAyNTc0NywgMjU3NTMsIAotICAgIDI1NzU3LCAyNTc2MSwgMjU3NjksIDI1NzczLCAyNTc4MSwgMjU3ODcsIDI1NzkzLCAyNTc5OSwgMjU4MDUsIDI1ODE1LCAKLSAgICAyNTgyMSwgMjU4MjUsIDI1ODM0LCAyNTgzNywgMjU4NDMsIDI1ODQ3LCAyNTg1MywgMjU4NTgsIDI1ODY0LCAyNTg3MiwgCi0gICAgMjU4NzgsIDI1ODg0LCAyNTg5MiwgMjU4OTgsIDI1OTAyLCAyNTkwNiwgMjU5MTYsIDI1OTIyLCAyNTkyNiwgMjU5MzYsIAotICAgIDI1OTQyLCAyNTk0NiwgMjU5NTAsIDI1OTU3LCAyNTk2NCwgMjU5NjksIDI1OTc0LCAyNTk4MywgMjU5ODcsIDI1OTkxLCAKLSAgICAyNTk5NSwgMjYwMDMsIDI2MDEwLCAyNjAxNCwgMjYwMTgsIDI2MDIyLCAyNjAyNiwgMjYwMzAsIDI2MDM0LCAyNjAzOCwgCi0gICAgMjYwNDIsIDI2MDQ2LCAyNjA1MCwgMjYwNTQsIDI2MDU5LCAyNjA2NCwgMjYwNjksIDI2MDczLCAyNjA3NywgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjYwODEsIDI2MDg1LCAyNjA4OSwgMjYwOTMsIDI2MDk3LCAKLSAgICAyNjEwMiwgMjYxMDcsIDI2MTEyLCAyNjExNywgMjYxMjEsIDI2MTI1LCAyNjEzMCwgMjYxMzQsIDAsIDI2MTM4LCAyNjE0MywgCi0gICAgMjYxNDgsIDI2MTUyLCAyNjE1NiwgMjYxNjEsIDI2MTY2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAyNjE3MSwgMjYxNzUsIDI2MTc5LCAyNjE4MywgMjYxODcsIDI2MTkyLCAyNjE5NywgMjYyMDIsIDI2MjA3LCAyNjIxMSwgCi0gICAgMjYyMTUsIDI2MjIwLCAyNjIyNCwgMjYyMjgsIDI2MjMyLCAyNjIzNywgMjYyNDIsIDI2MjQ2LCAyNjI1MCwgMjYyNTUsIAotICAgIDI2MjYwLCAyNjI2NSwgMjYyNzEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI2Mjc2LCAyNjI4MCwgMjYyODQsIAotICAgIDI2Mjg4LCAyNjI5MiwgMjYyOTcsIDI2MzAyLCAyNjMwNywgMjYzMTIsIDI2MzE2LCAyNjMyMCwgMjYzMjUsIDI2MzI5LCAKLSAgICAyNjMzMywgMjYzMzcsIDI2MzQyLCAyNjM0NywgMjYzNTEsIDI2MzU1LCAyNjM2MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMjYzNjUsIDI2MzY5LCAyNjM3MywgMjYzNzcsIDI2MzgxLCAyNjM4NiwgMjYzOTEsIDI2Mzk2LCAKLSAgICAyNjQwMSwgMjY0MDUsIDI2NDA5LCAyNjQxNCwgMjY0MTgsIDAsIDI2NDIyLCAyNjQyNywgMjY0MzIsIDAsIDI2NDM2LCAKLSAgICAyNjQ0MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjY0NDYsIDI2NDQ5LCAyNjQ1MywgMjY0NTcsIAotICAgIDI2NDYxLCAyNjQ2NSwgMjY0NjksIDI2NDczLCAyNjQ3NywgMjY0ODEsIDI2NDg1LCAyNjQ4OSwgMjY0OTMsIDI2NDk3LCAKLSAgICAyNjUwMSwgMjY1MDUsIDI2NTA5LCAyNjUxMywgMjY1MTYsIDI2NTIwLCAyNjUyNCwgMjY1MjgsIDI2NTMyLCAyNjUzNiwgCi0gICAgMjY1NDAsIDI2NTQ0LCAyNjU0OCwgMjY1NTIsIDI2NTU2LCAyNjU2MCwgMjY1NjQsIDI2NTY4LCAyNjU3MSwgMjY1NzQsIAotICAgIDI2NTc4LCAyNjU4MiwgMjY1ODgsIDI2NTk0LCAyNjYwMCwgMjY2MDYsIDI2NjEyLCAyNjYxOCwgMjY2MjQsIDI2NjMwLCAKLSAgICAyNjYzNiwgMjY2NDIsIDI2NjQ4LCAyNjY1NCwgMjY2NjAsIDI2NjY2LCAyNjY3NSwgMjY2ODQsIDI2NjkwLCAyNjY5NiwgCi0gICAgMjY3MDIsIDI2NzA3LCAyNjcxMSwgMjY3MTYsIDI2NzIxLCAyNjcyNiwgMjY3MzAsIDI2NzM1LCAyNjc0MCwgMjY3NDUsIAotICAgIDI2NzQ5LCAyNjc1NCwgMjY3NTgsIDI2NzYzLCAyNjc2OCwgMjY3NzMsIDI2Nzc4LCAyNjc4MiwgMjY3ODYsIDI2NzkwLCAKLSAgICAyNjc5NCwgMjY3OTgsIDI2ODAyLCAyNjgwNiwgMjY4MTAsIDI2ODE0LCAyNjgxOCwgMjY4MjQsIDI2ODI4LCAyNjgzMiwgCi0gICAgMjY4MzYsIDI2ODQwLCAyNjg0NCwgMjY4NTIsIDI2ODU4LCAyNjg2MiwgMjY4NjgsIDI2ODcyLCAyNjg3OCwgMjY4ODIsIDAsIAotICAgIDAsIDI2ODg2LCAyNjg5MCwgMjY4OTMsIDI2ODk2LCAyNjg5OSwgMjY5MDIsIDI2OTA1LCAyNjkwOCwgMjY5MTEsIDI2OTE0LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAyNjkxNywgMjY5MjUsIDI2OTMzLCAyNjk0MSwgMjY5NDksIDI2OTU3LCAyNjk2NSwgMjY5NzMsIAotICAgIDI2OTgxLCAyNjk4OSwgMCwgMCwgMCwgMCwgMCwgMCwgMjY5OTcsIDI3MDAwLCAyNzAwMywgMjcwMDYsIDI3MDExLCAyNzAxNCwgCi0gICAgMjcwMTksIDI3MDI2LCAyNzAzNCwgMjcwMzksIDI3MDQ2LCAyNzA0OSwgMjcwNTYsIDI3MDYzLCAyNzA3MCwgMCwgMjcwNzQsIAotICAgIDI3MDc4LCAyNzA4MSwgMjcwODQsIDI3MDg3LCAyNzA5MCwgMjcwOTMsIDI3MDk2LCAyNzA5OSwgMjcxMDIsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDI3MTA1LCAyNzEwOCwgMjcxMTEsIDI3MTE0LCAyNzExNywgMjcxMjAsIDI3MTI0LCAyNzEyOCwgMjcxMzIsIAotICAgIDI3MTM1LCAyNzEzOSwgMjcxNDMsIDI3MTQ2LCAyNzE1MCwgMjcxNTQsIDI3MTU3LCAyNzE2MSwgMjcxNjQsIDI3MTY4LCAKLSAgICAyNzE3MiwgMjcxNzYsIDI3MTgwLCAyNzE4NCwgMjcxODcsIDI3MTkwLCAyNzE5NCwgMjcxOTgsIDI3MjAxLCAyNzIwNSwgCi0gICAgMjcyMDksIDI3MjEzLCAyNzIxNywgMjcyMjEsIDI3MjI1LCAyNzIyOSwgMjcyMzMsIDI3MjQwLCAyNzI0NSwgMjcyNTAsIAotICAgIDI3MjU1LCAyNzI2MCwgMjcyNjYsIDI3MjcyLCAyNzI3OCwgMjcyODQsIDI3Mjg5LCAyNzI5NSwgMjczMDEsIDI3MzA2LCAKLSAgICAyNzMxMiwgMjczMTgsIDI3MzI0LCAyNzMzMCwgMjczMzYsIDI3MzQxLCAyNzM0NywgMjczNTIsIDI3MzU4LCAyNzM2NCwgCi0gICAgMjczNzAsIDI3Mzc2LCAyNzM4MiwgMjczODcsIDI3MzkyLCAyNzM5OCwgMjc0MDQsIDI3NDA5LCAyNzQxNSwgMjc0MjAsIAotICAgIDI3NDI2LCAyNzQzMSwgMjc0MzYsIDI3NDQyLCAyNzQ0OCwgMjc0NTQsIDI3NDYwLCAyNzQ2NiwgMjc0NzIsIDI3NDc4LCAKLSAgICAyNzQ4NCwgMjc0OTAsIDI3NDk2LCAyNzUwMiwgMjc1MDgsIDI3NTEzLCAyNzUxOCwgMjc1MjMsIDI3NTI5LCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAyNzUzNSwgMjc1NDQsIDI3NTUzLCAyNzU2MSwgMjc1NjksIDI3NTc5LCAyNzU4NywgMjc1OTYsIAotICAgIDI3NjAzLCAyNzYxMCwgMjc2MTcsIDI3NjI1LCAyNzYzMywgMjc2NDEsIDI3NjQ5LCAyNzY1NywgMjc2NjUsIDI3NjczLCAKLSAgICAyNzY4MSwgMjc2ODgsIDI3Njk2LCAyNzcwNCwgMjc3MTIsIDI3NzIwLCAyNzcyOCwgMjc3MzgsIDI3NzQ4LCAyNzc1OCwgCi0gICAgMjc3NjgsIDI3Nzc4LCAyNzc4OCwgMjc3OTgsIDI3ODA4LCAyNzgxOCwgMjc4MjgsIDI3ODM4LCAyNzg0OCwgMjc4NTgsIAotICAgIDI3ODY4LCAyNzg3NiwgMjc4ODQsIDI3ODk0LCAyNzkwMiwgMCwgMCwgMCwgMCwgMCwgMjc5MTIsIDI3OTE2LCAyNzkyMCwgCi0gICAgMjc5MjQsIDI3OTI4LCAyNzkzMiwgMjc5MzYsIDI3OTQwLCAyNzk0NCwgMjc5NDgsIDI3OTUyLCAyNzk1NiwgMjc5NjAsIAotICAgIDI3OTY0LCAyNzk2OCwgMjc5NzIsIDI3OTc2LCAyNzk4MCwgMjc5ODQsIDI3OTg4LCAyNzk5MiwgMjc5OTYsIDI4MDAwLCAKLSAgICAyODAwNCwgMjgwMTAsIDI4MDE0LCAyODAyMCwgMjgwMjQsIDI4MDMwLCAyODAzNCwgMjgwNDAsIDI4MDQ0LCAyODA0OCwgCi0gICAgMjgwNTIsIDI4MDU2LCAyODA2MCwgMjgwNjQsIDI4MDcwLCAyODA3NiwgMjgwODIsIDI4MDg4LCAyODA5MywgMjgwOTksIAotICAgIDI4MTA1LCAyODExMSwgMjgxMTcsIDI4MTIzLCAyODEyOSwgMjgxMzYsIDI4MTQyLCAyODE0NywgMjgxNTIsIDI4MTU2LCAKLSAgICAyODE2MCwgMjgxNjQsIDI4MTY4LCAyODE3MiwgMjgxNzYsIDI4MTgwLCAyODE4NiwgMjgxOTIsIDI4MTk4LCAyODIwMywgCi0gICAgMjgyMTAsIDI4MjE1LCAyODIyMCwgMjgyMjYsIDI4MjMxLCAyODIzOCwgMjgyNDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDI4MjUyLCAyODI1OCwgMjgyNjIsIDI4MjY3LCAyODI3MiwgMjgyNzcsIDI4MjgyLCAyODI4NywgMjgyOTIsIAotICAgIDI4Mjk3LCAyODMwMiwgMjgzMDcsIDI4MzEyLCAyODMxNywgMjgzMjIsIDI4MzI3LCAyODMzMSwgMjgzMzUsIDI4MzQwLCAKLSAgICAyODM0NSwgMjgzNTAsIDI4MzU0LCAyODM1OCwgMjgzNjIsIDI4MzY3LCAyODM3MiwgMjgzNzcsIDI4MzgyLCAyODM4NiwgMCwgCi0gICAgMCwgMCwgMjgzOTAsIDI4Mzk1LCAyODQwMCwgMjg0MDUsIDI4NDExLCAyODQxNywgMjg0MjMsIDI4NDI5LCAyODQzNCwgCi0gICAgMjg0MzksIDI4NDQ1LCAyODQ1MSwgMCwgMCwgMCwgMCwgMjg0NTgsIDI4NDYzLCAyODQ2OSwgMjg0NzUsIDI4NDgxLCAKLSAgICAyODQ4NiwgMjg0OTEsIDI4NDk2LCAyODUwMSwgMjg1MDcsIDI4NTEyLCAyODUxNywgMCwgMCwgMCwgMCwgMjg1MjIsIDAsIDAsIAotICAgIDAsIDI4NTI3LCAyODUzMiwgMjg1MzcsIDI4NTQyLCAyODU0NiwgMjg1NTAsIDI4NTU0LCAyODU1OCwgMjg1NjIsIDI4NTY2LCAKLSAgICAyODU3MCwgMjg1NzQsIDI4NTc4LCAyODU4MywgMjg1ODksIDI4NTk1LCAyODYwMSwgMjg2MDYsIDI4NjExLCAyODYxNywgCi0gICAgMjg2MjMsIDI4NjI5LCAyODYzNCwgMjg2NDAsIDI4NjQ1LCAyODY1MSwgMjg2NTcsIDI4NjYyLCAyODY2OCwgMjg2NzQsIAotICAgIDI4NjgwLCAyODY4NSwgMjg2OTAsIDI4Njk1LCAyODcwMSwgMjg3MDcsIDI4NzEyLCAyODcxOCwgMjg3MjMsIDI4NzI5LCAKLSAgICAyODczNCwgMjg3NDAsIDAsIDAsIDI4NzQ2LCAyODc1MiwgMjg3NTgsIDI4NzY0LCAyODc3MCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMjg3NzYsIDI4NzgzLCAyODc5MCwgMjg3OTYsIDI4ODAzLCAyODgxMCwgMjg4MTYsIDI4ODIzLCAKLSAgICAyODgzMCwgMjg4MzcsIDI4ODQzLCAyODg0OSwgMjg4NTYsIDI4ODYyLCAyODg2OCwgMjg4NzUsIDI4ODgyLCAyODg4OCwgCi0gICAgMjg4OTUsIDI4OTAyLCAyODkwOCwgMjg5MTQsIDI4OTIxLCAyODkyNywgMjg5MzMsIDI4OTQwLCAyODk0NiwgMjg5NTMsIAotICAgIDI4OTYwLCAyODk2NywgMjg5NzQsIDI4OTgxLCAyODk4OCwgMjg5OTQsIDI5MDAxLCAyOTAwOCwgMjkwMTQsIDI5MDIxLCAKLSAgICAyOTAyOCwgMjkwMzUsIDI5MDQyLCAyOTA0OSwgMjkwNTYsIDI5MDYzLCAwLCAwLCAwLCAwLCAyOTA3MCwgMjkwNzgsIAotICAgIDI5MDg1LCAyOTA5MiwgMjkwOTgsIDI5MTA1LCAyOTExMSwgMjkxMTgsIDI5MTI0LCAyOTEzMSwgMjkxMzgsIDI5MTQ1LCAKLSAgICAyOTE1MiwgMjkxNTksIDI5MTY2LCAyOTE3MywgMjkxODAsIDI5MTg3LCAyOTE5NCwgMjkyMDEsIDI5MjA4LCAyOTIxNCwgCi0gICAgMjkyMjEsIDI5MjI4LCAyOTIzNSwgMjkyNDEsIDAsIDAsIDAsIDAsIDAsIDAsIDI5MjQ3LCAyOTI1MywgMjkyNTgsIDI5MjYzLCAKLSAgICAyOTI2OCwgMjkyNzMsIDI5Mjc4LCAyOTI4MywgMjkyODgsIDI5MjkzLCAyOTI5OCwgMCwgMCwgMCwgMjkzMDQsIDI5MzEwLCAKLSAgICAyOTMxNiwgMjkzMjAsIDI5MzI2LCAyOTMzMiwgMjkzMzgsIDI5MzQ0LCAyOTM1MCwgMjkzNTYsIDI5MzYyLCAyOTM2OCwgCi0gICAgMjkzNzQsIDI5MzgwLCAyOTM4NiwgMjkzOTIsIDI5Mzk4LCAyOTQwNCwgMjk0MTAsIDI5NDE0LCAyOTQyMCwgMjk0MjYsIAotICAgIDI5NDMyLCAyOTQzOCwgMjk0NDQsIDI5NDUwLCAyOTQ1NiwgMjk0NjIsIDI5NDY4LCAyOTQ3NCwgMjk0ODAsIDI5NDg2LCAKLSAgICAyOTQ5MiwgMjk0OTgsIDI5NTA0LCAyOTUwOCwgMjk1MTMsIDI5NTE4LCAyOTUyMywgMjk1MjcsIDI5NTMyLCAyOTUzNiwgCi0gICAgMjk1NDEsIDI5NTQ2LCAyOTU1MSwgMjk1NTUsIDI5NTYwLCAyOTU2NSwgMjk1NzAsIDI5NTc1LCAyOTU4MCwgMjk1ODQsIAotICAgIDI5NTg4LCAyOTU5MywgMjk1OTgsIDI5NjAyLCAyOTYwNiwgMjk2MTAsIDI5NjE1LCAyOTYyMCwgMjk2MjUsIDI5NjMwLCAwLCAKLSAgICAwLCAyOTYzNiwgMjk2NDAsIDI5NjQ3LCAyOTY1MiwgMjk2NTgsIDI5NjY0LCAyOTY2OSwgMjk2NzUsIDI5NjgxLCAyOTY4NiwgCi0gICAgMjk2OTIsIDI5Njk4LCAyOTcwNCwgMjk3MDksIDI5NzE1LCAyOTcyMCwgMjk3MjUsIDI5NzMxLCAyOTczNiwgMjk3NDIsIAotICAgIDI5NzQ3LCAyOTc1MywgMjk3NTksIDI5NzY1LCAyOTc3MSwgMjk3NzUsIDI5NzgwLCAyOTc4NSwgMjk3OTEsIDI5Nzk3LCAKLSAgICAyOTgwMiwgMjk4MDgsIDI5ODE0LCAyOTgxOCwgMjk4MjMsIDI5ODI4LCAyOTgzMiwgMjk4MzcsIDI5ODQyLCAyOTg0NywgCi0gICAgMjk4NTIsIDI5ODU4LCAyOTg2NCwgMjk4NjksIDI5ODc0LCAyOTg3OSwgMjk4ODMsIDI5ODg4LCAyOTg5MiwgMjk4OTcsIAotICAgIDI5OTAxLCAyOTkwNiwgMjk5MTEsIDI5OTE2LCAyOTkyMSwgMjk5MjcsIDI5OTMzLCAyOTk0MCwgMjk5NTAsIDI5OTU5LCAKLSAgICAyOTk2NiwgMjk5NzIsIDI5OTgyLCAyOTk4NywgMjk5OTMsIDAsIDI5OTk4LCAzMDAwMywgMzAwMDgsIDMwMDE2LCAzMDAyMiwgCi0gICAgMzAwMzAsIDMwMDM1LCAzMDA0MSwgMzAwNDcsIDMwMDUzLCAzMDA1OCwgMzAwNjQsIDMwMDY5LCAzMDA3NiwgMzAwODIsIAotICAgIDMwMDg3LCAzMDA5MywgMzAwOTksIDMwMTA1LCAzMDExMiwgMzAxMTksIDMwMTI2LCAzMDEzMSwgMzAxMzYsIDMwMTQzLCAKLSAgICAzMDE1MCwgMzAxNTcsIDMwMTY0LCAzMDE3MSwgMCwgMCwgMzAxNzgsIDMwMTg1LCAzMDE5MiwgMzAxOTgsIDMwMjA0LCAKLSAgICAzMDIxMCwgMzAyMTYsIDMwMjIyLCAzMDIyOCwgMzAyMzQsIDMwMjQwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMDI0NiwgMzAyNTIsIAotICAgIDMwMjU3LCAzMDI2MiwgMzAyNjcsIDMwMjcyLCAzMDI3NywgMzAyODIsIDMwMjg3LCAzMDI5MiwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMzAyOTcsIDMwMzAyLCAzMDMwNywgMzAzMTIsIDMwMzE3LCAzMDMyMiwgMzAzMjcsIDMwMzM2LCAzMDM0MywgMzAzNDgsIAotICAgIDMwMzUzLCAzMDM1OCwgMzAzNjMsIDMwMzY4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA2NTUxMiwgNjU1MjEsIDY1NTMwLCA2NTU0MSwgNjU1NDgsIDY1NTUzLCA2NTU1OCwgNjU1NjUsIDY1NTcyLCA2NTU3OCwgCisgICAgNjU1ODMsIDY1NTg4LCA2NTU5MywgNjU1OTgsIDY1NjA1LCA2NTYxMCwgNjU2MTUsIDY1NjIwLCA2NTYzMSwgNjU2MzYsIAorICAgIDY1NjQxLCA2NTY0OCwgNjU2NTMsIDY1NjYwLCA2NTY2NSwgNjU2NzAsIDY1Njc3LCA2NTY4NCwgNjU2OTEsIDY1NzAwLCAKKyAgICA2NTcwOSwgNjU3MTQsIDY1NzE5LCA2NTcyNCwgNjU3MzEsIDY1NzM2LCA2NTc0NiwgNjU3NTMsIDY1NzU4LCA2NTc2MywgCisgICAgNjU3NjgsIDY1NzczLCA2NTc3OCwgNjU3ODMsIDY1NzkyLCA2NTc5OSwgNjU4MDYsIDY1ODExLCA2NTgxOCwgNjU4MjMsIAorICAgIDY1ODMwLCA2NTgzOSwgNjU4NTAsIDY1ODU1LCA2NTg2NCwgNjU4NjksIDY1ODc2LCA2NTg4NSwgNjU4OTQsIDY1ODk5LCAKKyAgICA2NTkwNCwgNjU5MTEsIDY1OTE3LCA2NTkyNCwgNjU5MzEsIDY1OTM1LCA2NTkzOSwgNjU5NDIsIDY1OTQ2LCA2NTk1MCwgCisgICAgNjU5NTQsIDY1OTU4LCA2NTk2MiwgNjU5NjYsIDY1OTcwLCA2NTk3MywgNjU5NzcsIDY1OTgxLCA2NTk4NSwgNjU5ODksIAorICAgIDY1OTkzLCA2NTk5NywgNjYwMDAsIDY2MDA0LCA2NjAwOCwgNjYwMTEsIDY2MDE1LCA2NjAxOSwgNjYwMjMsIDY2MDI3LCAKKyAgICA2NjAzMSwgNjYwMzUsIDY2MDM5LCA2NjA0MywgNjYwNDcsIDY2MDUxLCA2NjA1NSwgNjYwNTksIDY2MDYzLCA2NjA2NywgCisgICAgNjYwNzEsIDY2MDc1LCA2NjA3OSwgNjYwODMsIDY2MDg3LCA2NjA5MSwgNjYwOTUsIDY2MDk5LCA2NjEwMywgNjYxMDcsIAorICAgIDY2MTExLCA2NjExNSwgNjYxMTksIDY2MTIzLCA2NjEyNywgNjYxMzEsIDY2MTM1LCA2NjEzOSwgNjYxNDMsIDY2MTQ3LCAKKyAgICA2NjE1MSwgNjYxNTUsIDY2MTU5LCA2NjE2MywgNjYxNjcsIDY2MTcxLCA2NjE3NSwgNjYxNzksIDY2MTgzLCA2NjE4NywgCisgICAgNjYxOTAsIDY2MTk0LCA2NjE5OCwgNjYyMDIsIDY2MjA2LCA2NjIxMCwgNjYyMTQsIDY2MjE4LCA2NjIyMiwgNjYyMjYsIAorICAgIDY2MjMwLCA2NjIzNCwgNjYyMzgsIDY2MjQyLCA2NjI0NiwgNjYyNTAsIDY2MjU0LCA2NjI1OCwgNjYyNjIsIDY2MjY2LCAKKyAgICA2NjI3MCwgNjYyNzQsIDY2Mjc4LCA2NjI4MiwgNjYyODYsIDY2MjkwLCA2NjI5NCwgNjYyOTgsIDY2MzAyLCA2NjMwNiwgCisgICAgNjYzMTAsIDY2MzE0LCA2NjMxOCwgNjYzMjIsIDY2MzI2LCA2NjMzMCwgNjYzMzQsIDY2MzM4LCA2NjM0MiwgNjYzNDYsIAorICAgIDY2MzUwLCA2NjM1NCwgNjYzNTgsIDY2MzYyLCA2NjM2NiwgNjYzNzAsIDY2Mzc0LCA2NjM3OCwgNjYzODIsIDY2Mzg2LCAKKyAgICA2NjM5MCwgNjYzOTQsIDY2Mzk4LCA2NjQwMiwgNjY0MDYsIDY2NDEwLCA2NjQxNCwgNjY0MTgsIDY2NDIyLCA2NjQyNiwgCisgICAgNjY0MzAsIDY2NDM0LCA2NjQzOCwgNjY0NDIsIDY2NDQ2LCA2NjQ1MCwgNjY0NTQsIDY2NDU4LCA2NjQ2MiwgNjY0NjYsIAorICAgIDY2NDcwLCA2NjQ3NCwgNjY0NzgsIDY2NDgyLCA2NjQ4NiwgNjY0OTAsIDY2NDk0LCA2NjQ5OCwgNjY1MDIsIDY2NTA2LCAKKyAgICA2NjUxMCwgNjY1MTQsIDY2NTE4LCA2NjUyMiwgNjY1MjYsIDY2NTMwLCA2NjUzNCwgNjY1MzgsIDY2NTQyLCA2NjU0NiwgCisgICAgNjY1NTAsIDY2NTU0LCA2NjU1OCwgNjY1NjIsIDY2NTY2LCA2NjU3MCwgNjY1NzQsIDY2NTc4LCA2NjU4MiwgNjY1ODYsIAorICAgIDY2NTkwLCA2NjU5NCwgNjY1OTgsIDY2NjAyLCA2NjYwNiwgNjY2MTAsIDY2NjE0LCA2NjYxOCwgNjY2MjIsIDY2NjI2LCAKKyAgICA2NjYzMCwgNjY2MzQsIDY2NjM4LCA2NjY0MiwgNjY2NDYsIDY2NjUwLCA2NjY1NCwgNjY2NTgsIDY2NjYxLCA2NjY2NSwgCisgICAgNjY2NjksIDY2NjczLCA2NjY3NywgNjY2ODEsIDY2Njg1LCA2NjY4OSwgNjY2OTMsIDY2Njk3LCA2NjcwMSwgNjY3MDUsIAorICAgIDY2NzA5LCA2NjcxMywgNjY3MTcsIDY2NzIxLCA2NjcyNSwgNjY3MjksIDY2NzMzLCA2NjczNywgNjY3NDEsIDY2NzQ1LCAKKyAgICA2Njc0OSwgNjY3NTMsIDY2NzU3LCA2Njc2MSwgNjY3NjUsIDY2NzY5LCA2Njc3MywgNjY3NzcsIDY2NzgxLCA2Njc4NSwgCisgICAgNjY3ODksIDY2NzkzLCA2Njc5NywgNjY4MDEsIDY2ODA1LCA2NjgwOSwgNjY4MTMsIDY2ODE3LCA2NjgyMSwgNjY4MjUsIAorICAgIDY2ODI5LCA2NjgzMywgNjY4MzcsIDY2ODQxLCA2Njg0NSwgNjY4NDksIDY2ODUzLCA2Njg1NywgNjY4NjEsIDY2ODY1LCAKKyAgICA2Njg2OSwgNjY4NzMsIDY2ODc3LCA2Njg4MSwgNjY4ODUsIDY2ODg5LCA2Njg5MywgNjY4OTcsIDY2OTAxLCA2NjkwNSwgCisgICAgNjY5MDksIDY2OTEzLCA2NjkxNywgNjY5MjEsIDY2OTI1LCA2NjkyOSwgNjY5MzMsIDY2OTM3LCA2Njk0MSwgNjY5NDUsIAorICAgIDY2OTQ5LCA2Njk1MywgNjY5NTcsIDY2OTYxLCA2Njk2NSwgNjY5NjksIDY2OTczLCA2Njk3NywgNjY5ODEsIDY2OTg1LCAKKyAgICA2Njk4OSwgNjY5OTMsIDY2OTk3LCA2NzAwMSwgNjcwMDUsIDY3MDA5LCA2NzAxMywgNjcwMTcsIDY3MDIxLCA2NzAyNSwgCisgICAgNjcwMjksIDY3MDMzLCA2NzAzNywgNjcwNDEsIDY3MDQ1LCA2NzA0OSwgNjcwNTMsIDY3MDU3LCA2NzA2MSwgNjcwNjUsIAorICAgIDY3MDY5LCA2NzA3MywgNjcwNzcsIDY3MDgxLCA2NzA4NSwgNjcwODksIDY3MDkzLCA2NzA5NywgNjcxMDEsIDY3MTA1LCAKKyAgICA2NzEwOSwgNjcxMTMsIDY3MTE3LCA2NzEyMSwgNjcxMjQsIDY3MTI4LCA2NzEzMiwgNjcxMzYsIDY3MTQwLCA2NzE0NCwgCisgICAgNjcxNDgsIDY3MTUyLCA2NzE1NiwgNjcxNjAsIDY3MTY0LCA2NzE2OCwgNjcxNzIsIDY3MTc2LCA2NzE4MCwgNjcxODQsIAorICAgIDY3MTg4LCA2NzE5MiwgNjcxOTYsIDY3MjAwLCA2NzIwNCwgNjcyMDgsIDY3MjEyLCA2NzIxNiwgNjcyMjAsIDY3MjI0LCAKKyAgICA2NzIyOCwgNjcyMzIsIDY3MjM2LCA2NzI0MCwgNjcyNDQsIDY3MjQ4LCA2NzI1MiwgNjcyNTYsIDY3MjYwLCA2NzI2NCwgCisgICAgNjcyNjgsIDY3MjcyLCA2NzI3NiwgNjcyODAsIDY3Mjg0LCA2NzI4OCwgNjcyOTIsIDY3Mjk2LCA2NzMwMCwgNjczMDQsIAorICAgIDY3MzA4LCA2NzMxMiwgNjczMTYsIDY3MzIwLCA2NzMyNCwgNjczMjgsIDY3MzMyLCA2NzMzNiwgNjczNDAsIDY3MzQ0LCAKKyAgICA2NzM0OCwgNjczNTIsIDY3MzU2LCA2NzM2MCwgNjczNjQsIDY3MzY4LCA2NzM3MiwgNjczNzYsIDY3MzgwLCA2NzM4NCwgCisgICAgNjczODgsIDY3MzkyLCA2NzM5NiwgNjc0MDAsIDY3NDA0LCA2NzQwOCwgNjc0MTIsIDY3NDE2LCA2NzQyMCwgNjc0MjQsIAorICAgIDY3NDI4LCA2NzQzMiwgNjc0MzYsIDY3NDQwLCA2NzQ0NCwgNjc0NDgsIDY3NDUyLCA2NzQ1NiwgNjc0NjAsIDY3NDY0LCAKKyAgICA2NzQ2OCwgNjc0NzIsIDY3NDc2LCA2NzQ4MCwgNjc0ODMsIDY3NDg3LCA2NzQ5MSwgNjc0OTUsIDY3NDk5LCA2NzUwMywgCisgICAgNjc1MDcsIDY3NTExLCA2NzUxNSwgNjc1MTksIDY3NTIzLCA2NzUyNywgNjc1MzEsIDY3NTM1LCA2NzUzOSwgNjc1NDMsIAorICAgIDY3NTQ3LCA2NzU1MSwgNjc1NTUsIDY3NTU5LCA2NzU2MywgNjc1NjcsIDY3NTcxLCA2NzU3NSwgNjc1NzksIDY3NTgzLCAKKyAgICA2NzU4NywgNjc1OTEsIDY3NTk1LCA2NzU5OSwgNjc2MDMsIDY3NjA3LCA2NzYxMSwgNjc2MTUsIDY3NjE5LCA2NzYyMywgCisgICAgNjc2MjcsIDY3NjMxLCA2NzYzNSwgNjc2MzksIDY3NjQzLCA2NzY0NywgNjc2NTEsIDY3NjU1LCA2NzY1OSwgNjc2NjMsIAorICAgIDY3NjY3LCA2NzY3MSwgNjc2NzUsIDY3Njc5LCA2NzY4MywgNjc2ODcsIDY3NjkxLCA2NzY5NSwgNjc2OTksIDY3NzAzLCAKKyAgICA2NzcwNywgNjc3MTEsIDY3NzE1LCA2NzcxOSwgNjc3MjMsIDY3NzI3LCA2NzczMSwgNjc3MzUsIDY3NzM5LCA2Nzc0MywgCisgICAgNjc3NDcsIDY3NzUxLCA2Nzc1NSwgNjc3NTksIDY3NzYzLCA2Nzc2NywgNjc3NzEsIDY3Nzc1LCA2Nzc3OSwgNjc3ODMsIAorICAgIDY3Nzg3LCA2Nzc5MSwgNjc3OTUsIDY3Nzk5LCA2NzgwMywgNjc4MDcsIDY3ODExLCA2NzgxNSwgNjc4MTksIDY3ODIzLCAKKyAgICA2NzgyNywgNjc4MzEsIDY3ODM1LCA2NzgzOSwgNjc4NDMsIDY3ODQ3LCA2Nzg1MSwgNjc4NTUsIDY3ODU5LCA2Nzg2MywgCisgICAgNjc4NjcsIDY3ODcxLCA2Nzg3NSwgNjc4NzksIDY3ODgzLCA2Nzg4NywgNjc4OTEsIDY3ODk1LCA2Nzg5OSwgNjc5MDMsIAorICAgIDY3OTA3LCA2NzkxMSwgNjc5MTUsIDY3OTE5LCA2NzkyMywgNjc5MjcsIDY3OTMxLCA2NzkzNSwgNjc5MzksIDY3OTQzLCAKKyAgICA2Nzk0NywgNjc5NTEsIDY3OTU1LCA2Nzk1OSwgNjc5NjMsIDY3OTY3LCA2Nzk3MSwgNjc5NzUsIDY3OTc4LCA2Nzk4MiwgCisgICAgNjc5ODYsIDY3OTkwLCA2Nzk5NCwgNjc5OTgsIDY4MDAyLCA2ODAwNiwgNjgwMTAsIDY4MDE0LCA2ODAxOCwgNjgwMjIsIAorICAgIDY4MDI2LCA2ODAzMCwgNjgwMzQsIDY4MDM4LCA2ODA0MiwgNjgwNDYsIDY4MDUwLCA2ODA1NCwgNjgwNTgsIDY4MDYyLCAKKyAgICA2ODA2NiwgNjgwNzAsIDY4MDc0LCA2ODA3OCwgNjgwODIsIDY4MDg2LCA2ODA5MCwgNjgwOTQsIDY4MDk4LCA2ODEwMiwgCisgICAgNjgxMDYsIDY4MTEwLCA2ODExNCwgNjgxMTgsIDY4MTIyLCA2ODEyNiwgNjgxMzAsIDY4MTM0LCA2ODEzOCwgNjgxNDIsIAorICAgIDY4MTQ2LCA2ODE1MCwgNjgxNTQsIDY4MTU4LCA2ODE2MiwgNjgxNjYsIDY4MTcwLCA2ODE3NCwgNjgxNzgsIDY4MTgyLCAKKyAgICA2ODE4NiwgNjgxOTAsIDY4MTk0LCA2ODE5OCwgNjgyMDIsIDY4MjA2LCA2ODIxMCwgNjgyMTQsIDY4MjE4LCA2ODIyMiwgCisgICAgNjgyMjYsIDY4MjMwLCA2ODIzNCwgNjgyMzgsIDY4MjQyLCA2ODI0NiwgNjgyNTAsIDY4MjU0LCA2ODI1OCwgNjgyNjIsIAorICAgIDY4MjY2LCA2ODI3MCwgNjgyNzQsIDY4Mjc4LCA2ODI4MiwgNjgyODYsIDY4MjkwLCA2ODI5NCwgNjgyOTgsIDY4MzAyLCAKKyAgICA2ODMwNiwgNjgzMTAsIDY4MzE0LCA2ODMxOCwgNjgzMjIsIDY4MzI2LCA2ODMzMCwgNjgzMzQsIDY4MzM4LCA2ODM0MiwgCisgICAgNjgzNDYsIDY4MzUwLCA2ODM1NCwgNjgzNTgsIDY4MzYyLCA2ODM2NiwgNjgzNzAsIDY4Mzc0LCA2ODM3OCwgNjgzODIsIAorICAgIDY4Mzg2LCA2ODM5MCwgNjgzOTQsIDY4Mzk4LCA2ODQwMiwgNjg0MDYsIDY4NDEwLCA2ODQxNCwgNjg0MTgsIDY4NDIyLCAKKyAgICA2ODQyNiwgNjg0MzAsIDY4NDMzLCA2ODQzNywgNjg0NDEsIDY4NDQ1LCA2ODQ0OSwgNjg0NTMsIDY4NDU3LCA2ODQ2MSwgCisgICAgNjg0NjUsIDY4NDY5LCA2ODQ3MywgNjg0NzcsIDY4NDgxLCA2ODQ4NSwgNjg0ODksIDY4NDkzLCA2ODQ5NywgNjg1MDEsIAorICAgIDY4NTA1LCA2ODUwOSwgNjg1MTMsIDY4NTE3LCA2ODUyMSwgNjg1MjUsIDY4NTI5LCA2ODUzMywgNjg1MzcsIDY4NTQxLCAKKyAgICA2ODU0NSwgNjg1NDksIDY4NTUzLCA2ODU1NywgNjg1NjEsIDY4NTY1LCA2ODU2OSwgNjg1NzMsIDY4NTc3LCA2ODU4MSwgCisgICAgNjg1ODUsIDY4NTg5LCA2ODU5MywgNjg1OTcsIDY4NjAxLCA2ODYwNSwgNjg2MDksIDY4NjEzLCA2ODYxNywgNjg2MjEsIAorICAgIDY4NjI1LCA2ODYyOSwgNjg2MzMsIDY4NjM3LCA2ODY0MSwgNjg2NDUsIDY4NjQ5LCA2ODY1MywgNjg2NTcsIDY4NjYxLCAKKyAgICA2ODY2NSwgNjg2NjksIDY4NjczLCA2ODY3NywgNjg2ODEsIDY4Njg1LCA2ODY4OSwgNjg2OTMsIDY4Njk3LCA2ODcwMSwgCisgICAgNjg3MDUsIDY4NzA5LCA2ODcxMywgNjg3MTcsIDY4NzIxLCA2ODcyNSwgNjg3MjksIDY4NzMzLCA2ODczNywgNjg3NDEsIAorICAgIDY4NzQ1LCA2ODc0OSwgNjg3NTMsIDY4NzU3LCA2ODc2MSwgNjg3NjUsIDY4NzY5LCA2ODc3MywgNjg3NzcsIDY4NzgxLCAKKyAgICA2ODc4NSwgNjg3ODksIDY4NzkzLCA2ODc5NywgNjg4MDEsIDY4ODA1LCA2ODgwOSwgNjg4MTMsIDY4ODE3LCA2ODgyMSwgCisgICAgNjg4MjUsIDY4ODI5LCA2ODgzMywgNjg4MzcsIDY4ODQxLCA2ODg0NSwgNjg4NDksIDY4ODUzLCA2ODg1NywgNjg4NjEsIAorICAgIDY4ODY1LCA2ODg2OSwgNjg4NzMsIDY4ODc3LCA2ODg4MSwgNjg4ODUsIDY4ODg5LCA2ODg5MywgNjg4OTcsIDY4OTAxLCAKKyAgICA2ODkwNSwgNjg5MDksIDY4OTEzLCA2ODkxNywgNjg5MjEsIDY4OTI1LCA2ODkyOSwgNjg5MzMsIDY4OTM3LCA2ODk0MSwgCisgICAgNjg5NDUsIDY4OTQ5LCA2ODk1MywgNjg5NTcsIDY4OTYxLCA2ODk2NSwgNjg5NjksIDY4OTczLCA2ODk3NywgNjg5ODEsIAorICAgIDY4OTg1LCA2ODk4OSwgNjg5OTMsIDY4OTk3LCA2OTAwMSwgNjkwMDUsIDY5MDA5LCA2OTAxMywgNjkwMTcsIDY5MDIxLCAKKyAgICA2OTAyNSwgNjkwMjksIDY5MDMzLCA2OTAzNiwgNjkwNDAsIDY5MDQ0LCA2OTA0OCwgNjkwNTIsIDY5MDU2LCA2OTA2MCwgCisgICAgNjkwNjQsIDY5MDY4LCA2OTA3MiwgNjkwNzYsIDY5MDgwLCA2OTA4NCwgNjkwODgsIDY5MDkyLCA2OTA5NiwgNjkxMDAsIAorICAgIDY5MTA0LCA2OTEwOCwgNjkxMTIsIDY5MTE2LCA2OTEyMCwgNjkxMjQsIDY5MTI4LCA2OTEzMiwgNjkxMzYsIDY5MTQwLCAKKyAgICA2OTE0NCwgNjkxNDgsIDY5MTUyLCA2OTE1NiwgNjkxNjAsIDY5MTY0LCA2OTE2OCwgNjkxNzIsIDY5MTc2LCA2OTE4MCwgCisgICAgNjkxODQsIDY5MTg4LCA2OTE5MiwgNjkxOTYsIDY5MjAwLCA2OTIwNCwgNjkyMDgsIDY5MjEyLCA2OTIxNiwgNjkyMjAsIAorICAgIDY5MjI0LCA2OTIyOCwgNjkyMzIsIDY5MjM2LCA2OTI0MCwgNjkyNDQsIDY5MjQ4LCA2OTI1MiwgNjkyNTYsIDY5MjYwLCAKKyAgICA2OTI2NCwgNjkyNjgsIDY5MjcyLCA2OTI3NiwgNjkyODAsIDY5Mjg0LCA2OTI4OCwgNjkyOTIsIDY5Mjk2LCA2OTMwMCwgCisgICAgNjkzMDQsIDY5MzA4LCA2OTMxMiwgNjkzMTYsIDY5MzIwLCA2OTMyNCwgNjkzMjgsIDY5MzMyLCA2OTMzNiwgNjkzNDAsIAorICAgIDY5MzQ0LCA2OTM0OCwgNjkzNTIsIDY5MzU2LCA2OTM2MCwgNjkzNjQsIDY5MzY4LCA2OTM3MiwgNjkzNzYsIDY5MzgwLCAKKyAgICA2OTM4NCwgNjkzODgsIDY5MzkyLCA2OTM5NiwgNjk0MDAsIDY5NDA0LCA2OTQwOCwgNjk0MTIsIDY5NDE2LCA2OTQyMCwgCisgICAgNjk0MjQsIDY5NDI4LCA2OTQzMiwgNjk0MzYsIDY5NDQwLCA2OTQ0NCwgNjk0NDgsIDY5NDUyLCA2OTQ1NiwgNjk0NjAsIAorICAgIDY5NDY0LCA2OTQ2OCwgNjk0NzIsIDY5NDc2LCA2OTQ4MCwgNjk0ODQsIDY5NDg4LCA2OTQ5MiwgNjk0OTYsIDY5NTAwLCAKKyAgICA2OTUwNCwgNjk1MDgsIDY5NTEyLCA2OTUxNiwgNjk1MjAsIDY5NTI0LCA2OTUyOCwgNjk1MzIsIDY5NTM2LCA2OTU0MCwgCisgICAgNjk1NDQsIDY5NTQ4LCA2OTU1MiwgNjk1NTYsIDY5NTYwLCA2OTU2NCwgNjk1NjgsIDY5NTcyLCA2OTU3NiwgNjk1ODAsIAorICAgIDY5NTg0LCA2OTU4OCwgNjk1OTIsIDY5NTk2LCA2OTYwMCwgNjk2MDQsIDY5NjA4LCA2OTYxMiwgNjk2MTYsIDY5NjIwLCAKKyAgICA2OTYyNCwgNjk2MjgsIDY5NjMyLCA2OTYzNiwgNjk2NDAsIDY5NjQ0LCA2OTY0OCwgNjk2NTIsIDY5NjU2LCA2OTY2MCwgCisgICAgNjk2NjQsIDY5NjY4LCA2OTY3MiwgNjk2NzYsIDY5NjgwLCA2OTY4NCwgNjk2ODgsIDY5NjkyLCA2OTY5NiwgNjk3MDAsIAorICAgIDY5NzA0LCA2OTcwOCwgNjk3MTIsIDY5NzE2LCA2OTcyMCwgNjk3MjQsIDY5NzI4LCA2OTczMiwgNjk3MzYsIDY5NzQwLCAKKyAgICA2OTc0NCwgNjk3NDgsIDY5NzUyLCA2OTc1NiwgNjk3NjAsIDY5NzY0LCA2OTc2OCwgNjk3NzIsIDY5Nzc2LCA2OTc4MCwgCisgICAgNjk3ODQsIDY5Nzg4LCA2OTc5MiwgNjk3OTYsIDY5ODAwLCA2OTgwNCwgNjk4MDgsIDY5ODEyLCA2OTgxNiwgNjk4MjAsIAorICAgIDY5ODI0LCA2OTgyOCwgNjk4MzIsIDY5ODM2LCA2OTg0MCwgNjk4NDQsIDY5ODQ4LCA2OTg1MiwgNjk4NTYsIDY5ODYwLCAKKyAgICA2OTg2NCwgNjk4NjgsIDY5ODcyLCA2OTg3NiwgNjk4ODAsIDY5ODg0LCA2OTg4OCwgNjk4OTIsIDY5ODk2LCA2OTkwMCwgCisgICAgNjk5MDQsIDY5OTA4LCA2OTkxMiwgNjk5MTYsIDY5OTIwLCA2OTkyNCwgNjk5MjgsIDY5OTMyLCA2OTkzNiwgNjk5NDAsIAorICAgIDY5OTQ0LCA2OTk0OCwgNjk5NTIsIDY5OTU2LCA2OTk2MCwgNjk5NjQsIDY5OTY4LCA2OTk3MiwgNjk5NzYsIDY5OTgwLCAKKyAgICA2OTk4NCwgNjk5ODgsIDY5OTkyLCA2OTk5NiwgNzAwMDAsIDcwMDA0LCA3MDAwOCwgNzAwMTIsIDcwMDE2LCA3MDAyMCwgCisgICAgNzAwMjQsIDcwMDI4LCA3MDAzMiwgNzAwMzYsIDcwMDQwLCA3MDA0NCwgNzAwNDgsIDcwMDUyLCA3MDA1NiwgNzAwNjAsIAorICAgIDcwMDY0LCA3MDA2OCwgNzAwNzIsIDcwMDc2LCA3MDA4MCwgNzAwODQsIDcwMDg4LCA3MDA5MiwgNzAwOTYsIDcwMTAwLCAKKyAgICA3MDEwNCwgNzAxMDgsIDcwMTEyLCA3MDExNiwgNzAxMjAsIDcwMTI0LCA3MDEyOCwgNzAxMzIsIDcwMTM2LCA3MDE0MCwgCisgICAgNzAxNDQsIDcwMTQ4LCA3MDE1MiwgNzAxNTYsIDcwMTYwLCA3MDE2NCwgNzAxNjgsIDcwMTcyLCA3MDE3NiwgNzAxODAsIAorICAgIDcwMTg0LCA3MDE4OCwgNzAxOTIsIDcwMTk2LCA3MDIwMCwgNzAyMDQsIDcwMjA4LCA3MDIxMiwgNzAyMTYsIDcwMjIwLCAKKyAgICA3MDIyNCwgNzAyMjgsIDcwMjMyLCA3MDIzNiwgNzAyNDAsIDcwMjQ0LCA3MDI0OCwgNzAyNTIsIDcwMjU2LCA3MDI2MCwgCisgICAgNzAyNjQsIDcwMjY4LCA3MDI3MiwgNzAyNzYsIDcwMjgwLCA3MDI4NCwgNzAyODgsIDcwMjkyLCA3MDI5NiwgNzAzMDAsIAorICAgIDcwMzA0LCA3MDMwOCwgNzAzMTIsIDcwMzE2LCA3MDMyMCwgNzAzMjQsIDcwMzI4LCA3MDMzMiwgNzAzMzYsIDcwMzQwLCAKKyAgICA3MDM0NCwgNzAzNDgsIDcwMzUyLCA3MDM1NiwgNzAzNjAsIDcwMzY0LCA3MDM2OCwgNzAzNzIsIDcwMzc2LCA3MDM4MCwgCisgICAgNzAzODQsIDcwMzg4LCA3MDM5MiwgNzAzOTYsIDcwNDAwLCA3MDQwNCwgNzA0MDgsIDcwNDEyLCA3MDQxNiwgNzA0MjAsIAorICAgIDcwNDI0LCA3MDQyOCwgNzA0MzIsIDcwNDM2LCA3MDQ0MCwgNzA0NDQsIDcwNDQ4LCA3MDQ1MiwgNzA0NTYsIDcwNDYwLCAKKyAgICA3MDQ2NCwgNzA0NjgsIDcwNDcyLCA3MDQ3NiwgNzA0ODAsIDcwNDg0LCA3MDQ4OCwgNzA0OTIsIDcwNDk2LCA3MDUwMCwgCisgICAgNzA1MDQsIDcwNTA4LCA3MDUxMiwgNzA1MTYsIDcwNTIwLCA3MDUyNCwgNzA1MjgsIDcwNTMyLCA3MDUzNiwgNzA1NDAsIAorICAgIDcwNTQ0LCA3MDU0OCwgNzA1NTIsIDcwNTU2LCA3MDU2MCwgNzA1NjQsIDcwNTY4LCA3MDU3MiwgNzA1NzYsIDAsIDAsIDAsIAorICAgIDcwNTgwLCA3MDU4NCwgNzA1ODgsIDcwNTkyLCA3MDU5NiwgNzA2MDAsIDcwNjA0LCA3MDYwOCwgNzA2MTIsIDcwNjE2LCAKKyAgICA3MDYyMCwgNzA2MjQsIDcwNjI4LCA3MDYzMiwgNzA2MzYsIDcwNjQwLCA3MDY0NCwgNzA2NDgsIDcwNjUyLCA3MDY1NiwgCisgICAgNzA2NjAsIDcwNjY0LCA3MDY2OCwgNzA2NzIsIDcwNjc2LCA3MDY4MCwgNzA2ODQsIDcwNjg4LCA3MDY5MiwgNzA2OTYsIAorICAgIDcwNzAwLCA3MDcwNCwgNzA3MDgsIDcwNzEyLCA3MDcxNiwgNzA3MjAsIDcwNzI0LCA3MDcyOCwgNzA3MzIsIDcwNzM2LCAKKyAgICA3MDc0MCwgNzA3NDQsIDcwNzQ4LCA3MDc1MiwgNzA3NTYsIDcwNzYwLCA3MDc2NCwgNzA3NjgsIDcwNzcyLCA3MDc3NiwgCisgICAgNzA3ODAsIDcwNzg0LCA3MDc4OCwgNzA3OTIsIDcwNzk2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3MDgwMCwgCisgICAgNzA4MDUsIDcwODA5LCA3MDgxNCwgNzA4MTksIDcwODI0LCA3MDgyOSwgNzA4MzQsIDcwODM4LCA3MDg0MywgNzA4NDgsIAorICAgIDcwODUzLCA3MDg1OCwgNzA4NjMsIDcwODY4LCA3MDg3MywgNzA4NzcsIDcwODgxLCA3MDg4NiwgNzA4OTEsIDcwODk2LCAKKyAgICA3MDkwMSwgNzA5MDYsIDcwOTEwLCA3MDkxNSwgNzA5MjAsIDcwOTI1LCA3MDkzMCwgNzA5MzUsIDcwOTM5LCA3MDk0NCwgCisgICAgNzA5NDgsIDcwOTUzLCA3MDk1NywgNzA5NjIsIDcwOTY2LCA3MDk3MCwgNzA5NzQsIDcwOTc5LCA3MDk4NCwgNzA5ODksIAorICAgIDcwOTk3LCA3MTAwNSwgNzEwMTMsIDcxMDIxLCA3MTAyOCwgNzEwMzYsIDcxMDQyLCA3MTA1MCwgNzEwNTQsIDcxMDU4LCAKKyAgICA3MTA2MiwgNzEwNjYsIDcxMDcwLCA3MTA3NCwgNzEwNzgsIDcxMDgyLCA3MTA4NiwgNzEwOTAsIDcxMDk0LCA3MTA5OCwgCisgICAgNzExMDIsIDcxMTA2LCA3MTExMCwgNzExMTQsIDcxMTE4LCA3MTEyMiwgNzExMjYsIDcxMTMwLCA3MTEzNCwgNzExMzgsIAorICAgIDcxMTQyLCA3MTE0NiwgNzExNTAsIDcxMTU0LCA3MTE1OCwgNzExNjIsIDcxMTY2LCA3MTE3MCwgNzExNzQsIDcxMTc4LCAKKyAgICA3MTE4MiwgNzExODYsIDcxMTkwLCA3MTE5NCwgNzExOTcsIDcxMjAxLCA3MTIwNSwgNzEyMDksIDcxMjEzLCA3MTIxNywgCisgICAgNzEyMjEsIDcxMjI1LCA3MTIyOSwgNzEyMzMsIDcxMjM3LCA3MTI0MSwgNzEyNDUsIDcxMjQ5LCA3MTI1MywgNzEyNTcsIAorICAgIDcxMjYxLCA3MTI2NSwgNzEyNjksIDcxMjczLCA3MTI3NywgNzEyODEsIDcxMjg1LCA3MTI4OSwgNzEyOTMsIDcxMjk3LCAKKyAgICA3MTMwMSwgNzEzMDUsIDcxMzA5LCA3MTMxMywgNzEzMTcsIDcxMzIxLCA3MTMyNSwgNzEzMjksIDcxMzMzLCA3MTMzNywgCisgICAgNzEzNDEsIDcxMzQ0LCA3MTM0OCwgNzEzNTIsIDcxMzU1LCA3MTM1OSwgNzEzNjMsIDcxMzY3LCA3MTM3MCwgNzEzNzQsIAorICAgIDcxMzc4LCA3MTM4MiwgNzEzODYsIDcxMzkwLCA3MTM5NCwgNzEzOTgsIDcxNDAyLCA3MTQwNiwgNzE0MTAsIDcxNDE0LCAKKyAgICA3MTQxOCwgNzE0MjIsIDcxNDI2LCA3MTQzMCwgNzE0MzQsIDcxNDM4LCA3MTQ0MiwgNzE0NDYsIDcxNDUwLCA3MTQ1NCwgCisgICAgNzE0NTgsIDcxNDYyLCA3MTQ2NiwgNzE0NjksIDcxNDcyLCA3MTQ3NiwgNzE0ODAsIDcxNDg0LCA3MTQ4NywgNzE0OTAsIAorICAgIDcxNDk0LCA3MTQ5OCwgNzE1MDIsIDcxNTA2LCA3MTUxMCwgNzE1MTQsIDcxNTE4LCA3MTUyMiwgNzE1MjYsIDcxNTMwLCAKKyAgICA3MTUzNCwgNzE1MzgsIDcxNTQyLCA3MTU0NiwgNzE1NTAsIDcxNTU0LCA3MTU1OCwgNzE1NjIsIDcxNTY2LCA3MTU3MCwgCisgICAgNzE1NzQsIDcxNTc4LCA3MTU4MiwgNzE1ODYsIDcxNTkwLCA3MTU5NCwgNzE1OTgsIDcxNjAyLCA3MTYwNiwgNzE2MTAsIAorICAgIDcxNjE0LCA3MTYxOCwgNzE2MjIsIDcxNjI2LCA3MTYzMCwgNzE2MzQsIDcxNjM4LCA3MTY0MSwgNzE2NDUsIDcxNjQ5LCAKKyAgICA3MTY1MywgNzE2NTcsIDcxNjYxLCA3MTY2NSwgNzE2NjksIDcxNjczLCA3MTY3NywgNzE2ODEsIDcxNjg1LCA3MTY4OSwgCisgICAgNzE2OTMsIDcxNjk3LCA3MTcwMSwgNzE3MDUsIDcxNzA5LCA3MTcxMywgNzE3MTcsIDcxNzIxLCA3MTcyNSwgNzE3MjksIAorICAgIDcxNzMzLCA3MTczNywgNzE3NDEsIDcxNzQ1LCA3MTc0OSwgNzE3NTMsIDcxNzU3LCA3MTc2MSwgNzE3NjUsIDcxNzY5LCAKKyAgICA3MTc3MywgNzE3NzcsIDcxNzgxLCA3MTc4NSwgNzE3ODgsIDcxNzkyLCA3MTc5NiwgNzE4MDAsIDcxODA0LCA3MTgwOCwgCisgICAgNzE4MTIsIDcxODE2LCA3MTgyMCwgNzE4MjQsIDcxODI4LCA3MTgzMiwgNzE4MzYsIDcxODQwLCA3MTg0NCwgNzE4NDgsIAorICAgIDcxODUyLCA3MTg1NSwgNzE4NTksIDcxODYzLCA3MTg2NywgNzE4NzEsIDcxODc1LCA3MTg3OSwgNzE4ODMsIDcxODg3LCAKKyAgICA3MTg5MSwgNzE4OTUsIDcxODk5LCA3MTkwMywgNzE5MDcsIDcxOTExLCA3MTkxNSwgNzE5MTksIDcxOTIzLCA3MTkyNywgCisgICAgNzE5MzEsIDcxOTM1LCA3MTkzOSwgNzE5NDIsIDcxOTQ2LCA3MTk1MCwgNzE5NTQsIDcxOTU4LCA3MTk2MiwgNzE5NjYsIAorICAgIDcxOTcwLCA3MTk3NCwgNzE5NzgsIDcxOTgyLCA3MTk4NiwgNzE5OTAsIDcxOTk0LCA3MTk5OCwgNzIwMDIsIDcyMDA2LCAKKyAgICA3MjAxMCwgNzIwMTQsIDcyMDE4LCA3MjAyMiwgNzIwMjYsIDcyMDMwLCA3MjAzNCwgNzIwMzgsIDcyMDQyLCA3MjA0NiwgCisgICAgNzIwNTAsIDcyMDU0LCA3MjA1OCwgNzIwNjIsIDcyMDY2LCA3MjA3MCwgNzIwNzQsIDcyMDc4LCA3MjA4MiwgNzIwODYsIAorICAgIDcyMDkwLCA3MjA5NCwgNzIwOTgsIDcyMTAyLCA3MjEwNiwgNzIxMTAsIDcyMTE0LCA3MjExNywgNzIxMjIsIDcyMTI2LCAKKyAgICA3MjEzMiwgNzIxMzcsIDcyMTQzLCA3MjE0NywgNzIxNTEsIDcyMTU1LCA3MjE1OSwgNzIxNjMsIDcyMTY3LCA3MjE3MSwgCisgICAgNzIxNzUsIDcyMTc5LCA3MjE4MywgNzIxODcsIDcyMTkxLCA3MjE5NSwgNzIxOTksIDcyMjAyLCA3MjIwNSwgNzIyMDgsIAorICAgIDcyMjExLCA3MjIxNCwgNzIyMTcsIDcyMjIwLCA3MjIyMywgNzIyMjYsIDcyMjMxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3MjIzNywgNzIyNDIsIDcyMjQ3LCA3MjI1MiwgNzIyNTcsIAorICAgIDcyMjY0LCA3MjI3MSwgNzIyNzYsIDcyMjgxLCA3MjI4NiwgNzIyOTEsIDcyMjk4LCA3MjMwNSwgNzIzMTIsIDcyMzE5LCAKKyAgICA3MjMyNiwgNzIzMzMsIDcyMzQzLCA3MjM1MywgNzIzNjAsIDcyMzY3LCA3MjM3NCwgNzIzODEsIDcyMzg3LCA3MjM5MywgCisgICAgNzI0MDIsIDcyNDExLCA3MjQxOCwgNzI0MjUsIDcyNDM2LCA3MjQ0NywgNzI0NTIsIDcyNDU3LCA3MjQ2NCwgNzI0NzEsIAorICAgIDcyNDc4LCA3MjQ4NSwgNzI0OTIsIDcyNDk5LCA3MjUwNiwgNzI1MTMsIDcyNTE5LCA3MjUyNSwgNzI1MzEsIDcyNTM3LCAKKyAgICA3MjU0NCwgNzI1NTEsIDcyNTU2LCA3MjU2MCwgNzI1NjcsIDcyNTc0LCA3MjU4MSwgNzI1ODUsIDcyNTkyLCA3MjU5NiwgCisgICAgNzI2MDEsIDcyNjA1LCA3MjYxMSwgNzI2MTYsIDcyNjIyLCA3MjYyNywgNzI2MzEsIDcyNjM1LCA3MjYzOCwgNzI2NDEsIAorICAgIDcyNjQ2LCA3MjY1MSwgNzI2NTYsIDcyNjYxLCA3MjY2NiwgNzI2NzEsIDcyNjc2LCA3MjY4MSwgNzI2ODYsIDcyNjkxLCAKKyAgICA3MjcwMCwgNzI3MDksIDcyNzE0LCA3MjcxOSwgNzI3MjQsIDcyNzI5LCA3MjczNCwgNzI3MzksIDcyNzQ0LCA3Mjc0OSwgCisgICAgNzI3NTQsIDcyNzU5LCA3Mjc2NCwgNzI3NjksIDcyNzc0LCA3Mjc3OSwgNzI3ODUsIDcyNzkxLCA3Mjc5NywgMCwgNzI4MDMsIAorICAgIDcyODA5LCA3MjgxMiwgNzI4MTUsIDcyODE4LCA3MjgyMiwgNzI4MjYsIDcyODMwLCA3MjgzNCwgNzI4MzcsIDcyODQxLCAKKyAgICA3Mjg0NCwgNzI4NDgsIDcyODUxLCA3Mjg1NSwgNzI4NTksIDcyODYzLCA3Mjg2NywgNzI4NzEsIDcyODc1LCA3Mjg3OSwgCisgICAgNzI4ODMsIDcyODg3LCA3Mjg5MSwgNzI4OTUsIDcyODk5LCA3MjkwMywgNzI5MDcsIDcyOTExLCA3MjkxNSwgNzI5MTksIAorICAgIDcyOTIzLCA3MjkyNywgNzI5MzEsIDcyOTM1LCA3MjkzOSwgNzI5NDIsIDcyOTQ2LCA3Mjk1MCwgNzI5NTQsIDcyOTU4LCAKKyAgICA3Mjk2MiwgNzI5NjYsIDcyOTcwLCA3Mjk3NCwgNzI5NzgsIDcyOTgyLCA3Mjk4NiwgNzI5OTAsIDcyOTk0LCA3Mjk5OCwgCisgICAgNzMwMDIsIDczMDA2LCA3MzAxMCwgNzMwMTQsIDczMDE4LCA3MzAyMiwgNzMwMjYsIDczMDMwLCA3MzAzNCwgNzMwMzgsIAorICAgIDczMDQxLCA3MzA0NSwgNzMwNDksIDczMDUzLCA3MzA1NywgNzMwNjEsIDczMDY1LCA3MzA2OSwgNzMwNzIsIDczMDc2LCAKKyAgICA3MzA4MCwgNzMwODQsIDczMDg4LCA3MzA5MiwgNzMwOTYsIDczMTAwLCA3MzEwNCwgNzMxMDgsIDczMTEyLCA3MzExNiwgCisgICAgNzMxMjAsIDczMTI1LCA3MzEzMCwgNzMxMzMsIDczMTM4LCA3MzE0MSwgNzMxNDQsIDczMTQ3LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCA3MzE1MSwgNzMxNjAsIDczMTY5LCA3MzE3OCwgNzMxODcsIDczMTk2LCA3MzIwNSwgNzMyMTQsIDczMjIzLCAKKyAgICA3MzIzMSwgNzMyMzgsIDczMjQ2LCA3MzI1MywgNzMyNjEsIDczMjcxLCA3MzI4MCwgNzMyOTAsIDczMjk5LCA3MzMwOSwgCisgICAgNzMzMTcsIDczMzI0LCA3MzMzMiwgNzMzMzksIDczMzQ3LCA3MzM1MiwgNzMzNTcsIDczMzYyLCA3MzM3MSwgNzMzNzcsIAorICAgIDczMzgzLCA3MzM5MCwgNzMzOTksIDczNDA3LCA3MzQxNSwgNzM0MjMsIDczNDMwLCA3MzQzNywgNzM0NDQsIDczNDUxLCAKKyAgICA3MzQ1NiwgNzM0NjEsIDczNDY2LCA3MzQ3MSwgNzM0NzYsIDczNDgxLCA3MzQ4NiwgNzM0OTEsIDczNDk5LCA3MzUwNywgCisgICAgNzM1MTMsIDczNTE4LCA3MzUyMywgNzM1MjgsIDczNTMzLCA3MzUzOCwgNzM1NDMsIDczNTQ4LCA3MzU1MywgNzM1NTgsIAorICAgIDczNTY2LCA3MzU3NCwgNzM1NzksIDczNTg0LCA3MzU5NCwgNzM2MDQsIDczNjExLCA3MzYxOCwgNzM2MjcsIDczNjM2LCAKKyAgICA3MzY0OCwgNzM2NjAsIDczNjY2LCA3MzY3MiwgNzM2ODAsIDczNjg4LCA3MzY5OCwgNzM3MDgsIDczNzE1LCA3MzcyMiwgCisgICAgNzM3MjcsIDczNzMyLCA3Mzc0NCwgNzM3NTYsIDczNzY0LCA3Mzc3MiwgNzM3ODIsIDczNzkyLCA3MzgwNCwgNzM4MTYsIAorICAgIDczODI1LCA3MzgzNCwgNzM4NDEsIDczODQ4LCA3Mzg1NSwgNzM4NjIsIDczODcxLCA3Mzg4MCwgNzM4ODUsIDczODkwLCAKKyAgICA3Mzg5NywgNzM5MDQsIDczOTExLCA3MzkxOCwgNzM5MzAsIDczOTQyLCA3Mzk0NywgNzM5NTIsIDczOTU3LCA3Mzk2MiwgCisgICAgNzM5NjcsIDczOTcyLCA3Mzk3NywgNzM5ODIsIDczOTg2LCA3Mzk5MSwgNzM5OTYsIDc0MDAxLCA3NDAwNiwgNzQwMTEsIAorICAgIDc0MDE3LCA3NDAyMiwgNzQwMjcsIDc0MDM0LCA3NDA0MSwgNzQwNDgsIDc0MDU1LCA3NDA2MiwgNzQwNzAsIDc0MDc4LCAKKyAgICA3NDA4MywgNzQwODgsIDc0MDk0LCA3NDEwMCwgNzQxMDYsIDc0MTEyLCA3NDExOSwgNzQxMjYsIDc0MTMzLCA3NDEzNywgCisgICAgNzQxNDQsIDc0MTQ5LCA3NDE1NCwgNzQxNjAsIDAsIDc0MTczLCA3NDE4MSwgNzQxODksIDc0MTk2LCA3NDIwMywgNzQyMTIsIAorICAgIDc0MjIxLCA3NDIyOCwgNzQyMzUsIDc0MjQyLCA3NDI0OSwgNzQyNTYsIDc0MjYzLCA3NDI3MCwgNzQyNzcsIDc0Mjg0LCAKKyAgICA3NDI5MSwgNzQzMDAsIDc0MzA5LCA3NDMxOCwgNzQzMjcsIDc0MzM2LCA3NDM0NSwgNzQzNTQsIDc0MzYzLCA3NDM3MiwgCisgICAgNzQzODEsIDc0Mzg4LCA3NDM5NiwgNzQ0MDIsIDAsIDAsIDc0NDEwLCA3NDQxNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzAzNzMsIDMwMzc5LCAKLSAgICAzMDM4NSwgMzAzODksIDMwMzkzLCAzMDM5NywgMzA0MDEsIDMwNDA3LCAzMDQxMSwgMzA0MTcsIDMwNDIxLCAzMDQyNywgCi0gICAgMzA0MzMsIDMwNDQxLCAzMDQ0NywgMzA0NTUsIDMwNDU5LCAzMDQ2MywgMzA0NjcsIDMwNDczLCAzMDQ3NiwgMzA0ODIsIAotICAgIDMwNDg2LCAzMDQ5MiwgMzA0OTYsIDMwNTAwLCAzMDUwNiwgMzA1MTAsIDMwNTE2LCAzMDUyMCwgMzA1MjYsIDMwNTM0LCAKLSAgICAzMDU0MiwgMzA1NTAsIDMwNTU2LCAzMDU2MCwgMzA1NjYsIDMwNTcwLCAzMDU3NiwgMzA1NzksIDMwNTgyLCAzMDU4OCwgCi0gICAgMzA1OTIsIDMwNTk4LCAzMDYwMSwgMzA2MDQsIDMwNjA3LCAzMDYxMSwgMzA2MTUsIDMwNjIxLCAzMDYyNywgMzA2MzAsIAotICAgIDMwNjMzLCAzMDYzNywgMzA2NDIsIDMwNjQ3LCAzMDY1NCwgMzA2NTksIDMwNjY2LCAzMDY3MywgMzA2ODIsIDMwNjg5LCAKLSAgICAzMDY5OCwgMzA3MDMsIDMwNzEwLCAzMDcxNywgMzA3MjYsIDMwNzMxLCAzMDczOCwgMzA3NDMsIDMwNzQ5LCAzMDc1NSwgCi0gICAgMzA3NjEsIDMwNzY3LCAzMDc3MywgMzA3NzksIDAsIDAsIDAsIDAsIDMwNzg1LCAzMDc4OSwgMzA3OTIsIDMwNzk1LCAKLSAgICAzMDc5OCwgMzA4MDEsIDMwODA0LCAzMDgwNywgMzA4MTAsIDMwODEzLCAzMDgxNiwgMzA4MTksIDMwODIyLCAzMDgyNSwgCi0gICAgMzA4MzAsIDMwODM1LCAzMDg0MCwgMzA4NDMsIDMwODQ4LCAzMDg1MywgMzA4NTgsIDMwODYzLCAzMDg3MCwgMzA4NzUsIAotICAgIDMwODgwLCAzMDg4NSwgMzA4OTAsIDMwODk3LCAzMDkwMywgMzA5MDksIDMwOTE1LCAzMDkyMSwgMzA5MjcsIDMwOTM2LCAKLSAgICAzMDk0NSwgMzA5NTEsIDMwOTU3LCAzMDk2NSwgMzA5NzMsIDMwOTgyLCAzMDk5MSwgMzA5OTksIDMxMDA3LCAzMTAxNiwgCi0gICAgMzEwMjUsIDAsIDAsIDAsIDMxMDMzLCAzMTAzNywgMzEwNDEsIDMxMDQ1LCAzMTA0OCwgMzEwNTEsIDMxMDU0LCAzMTA1OCwgCi0gICAgMzEwNjEsIDMxMDY0LCAzMTA2OCwgMzEwNzEsIDMxMDc1LCAzMTA3OSwgMzEwODMsIDMxMDg3LCAzMTA5MSwgMzEwOTUsIAotICAgIDMxMDk5LCAzMTEwMywgMzExMDcsIDMxMTEwLCAzMTExMywgMzExMTcsIDMxMTIxLCAzMTEyNSwgMzExMjgsIDMxMTMxLCAKLSAgICAzMTEzNCwgMzExMzgsIDMxMTQyLCAzMTE0NSwgMzExNDksIDMxMTUyLCAzMTE1NywgMzExNjIsIDMxMTY3LCAzMTE3MiwgCi0gICAgMzExNzcsIDMxMTgyLCAzMTE4NywgMzExOTIsIDMxMTk3LCAzMTIwMSwgMzEyMDUsIDMxMjExLCAzMTIxOCwgMzEyMjIsIAotICAgIDMxMjI2LCAzMTIzMCwgMzEyMzMsIDMxMjM2LCAzMTIzOSwgMzEyNDIsIDMxMjQ1LCAzMTI0OCwgMzEyNTEsIDMxMjU0LCAKLSAgICAzMTI1NywgMzEyNjAsIDMxMjY0LCAzMTI2OCwgMzEyNzIsIDMxMjc3LCAzMTI4MSwgMzEyODUsIDMxMjkxLCAzMTI5NSwgCi0gICAgMzEzMDEsIDMxMzA3LCAzMTMxMiwgMzEzMTksIDMxMzIzLCAzMTMyOSwgMzEzMzMsIDMxMzM5LCAzMTM0NCwgMzEzNTEsIAotICAgIDMxMzU4LCAzMTM2MywgMzEzNzAsIDMxMzc1LCAzMTM4MCwgMzEzODQsIDMxMzkwLCAzMTM5NCwgMzE0MDAsIDMxNDA3LCAKLSAgICAzMTQxNCwgMzE0MTgsIDMxNDI0LCAzMTQzMCwgMzE0MzQsIDMxNDQwLCAzMTQ0NSwgMzE0NTAsIDMxNDU3LCAzMTQ2MiwgCi0gICAgMzE0NjcsIDMxNDcyLCAzMTQ3NywgMzE0ODEsIDMxNDg1LCAzMTQ5MCwgMzE0OTUsIDMxNTAyLCAzMTUwOCwgMzE1MTMsIAotICAgIDMxNTIwLCAzMTUyNSwgMzE1MzIsIDMxNTM3LCAzMTU0NiwgMzE1NTIsIDMxNTU4LCAzMTU2MiwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMzE1NjYsIDMxNTc1LCAzMTU4MiwgMzE1ODksIDMxNTk2LCAzMTU5OSwgMzE2MDMsIDMxNjA3LCAzMTYxMSwgCi0gICAgMzE2MTUsIDMxNjE5LCAzMTYyMywgMzE2MjcsIDMxNjMxLCAzMTYzNSwgMzE2MzksIDMxNjQzLCAzMTY0NywgMzE2NTAsIAotICAgIDMxNjUzLCAzMTY1NywgMzE2NjEsIDMxNjY1LCAzMTY2OSwgMzE2NzMsIDMxNjc3LCAzMTY4MCwgMzE2ODQsIDMxNjg4LCAKLSAgICAzMTY5MiwgMzE2OTYsIDMxNjk5LCAzMTcwMiwgMzE3MDYsIDMxNzA5LCAzMTcxMywgMzE3MTcsIDMxNzIwLCAzMTcyNCwgCi0gICAgMzE3MjgsIDMxNzMxLCAzMTczNiwgMzE3NDEsIDMxNzQ2LCAzMTc1MCwgMzE3NTQsIDMxNzU5LCAzMTc2MywgMzE3NjgsIAotICAgIDMxNzcyLCAzMTc3NywgMzE3ODEsIDMxNzg1LCAzMTc5MCwgMzE3OTUsIDMxNzk5LCAzMTgwNCwgMzE4MDksIDMxODE0LCAKLSAgICAzMTgxOCwgMCwgMCwgMCwgMzE4MjIsIDMxODI3LCAzMTgzNiwgMzE4NDEsIDMxODQ4LCAzMTg1MywgMzE4NTcsIDMxODYwLCAKLSAgICAzMTg2MywgMzE4NjYsIDMxODY5LCAzMTg3MiwgMzE4NzUsIDMxODc4LCAzMTg4MSwgMCwgMCwgMCwgMzE4ODQsIDMxODg4LCAKLSAgICAzMTg5MiwgMzE4OTYsIDMxOTAzLCAzMTkwOSwgMzE5MTUsIDMxOTIxLCAzMTkyNywgMzE5MzMsIDMxOTM5LCAzMTk0NSwgCi0gICAgMzE5NTEsIDMxOTU3LCAzMTk2NCwgMzE5NzEsIDMxOTc4LCAzMTk4NSwgMzE5OTIsIDMxOTk5LCAzMjAwNiwgMzIwMTMsIAotICAgIDMyMDIwLCAzMjAyNywgMzIwMzQsIDMyMDQxLCAzMjA0OCwgMzIwNTUsIDMyMDYyLCAzMjA2OSwgMzIwNzYsIDMyMDgzLCAKLSAgICAzMjA5MCwgMzIwOTcsIDMyMTA0LCAzMjExMSwgMzIxMTgsIDMyMTI1LCAzMjEzMiwgMzIxMzksIDMyMTQ2LCAzMjE1MywgCi0gICAgMzIxNjAsIDMyMTY3LCAzMjE3NSwgMzIxODMsIDMyMTkxLCAzMjE5NywgMzIyMDMsIDMyMjA5LCAzMjIxNywgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNzQ0MjIsIDc0NDI5LCA3NDQzNiwgNzQ0NDIsIDc0NDQ5LCAKKyAgICA3NDQ1NywgNzQ0NjUsIDc0NDczLCA3NDQ4MSwgNzQ0ODksIDc0NDk1LCA3NDUwMSwgNzQ1MDgsIDc0NTE0LCA3NDUyMCwgCisgICAgNzQ1MjYsIDc0NTMzLCA3NDU0MCwgNzQ1NDcsIDc0NTU0LCA3NDU2MSwgNzQ1NjgsIDc0NTc1LCA3NDU4MiwgNzQ1ODksIAorICAgIDc0NTk2LCA3NDYwMywgNzQ2MTAsIDc0NjE3LCA3NDYyNCwgNzQ2MzAsIDc0NjM3LCA3NDY0NCwgNzQ2NTEsIDc0NjU4LCAKKyAgICA3NDY2NSwgNzQ2NzIsIDc0Njc5LCA3NDY4NiwgNzQ2OTMsIDc0NzAwLCA3NDcwNywgNzQ3MTQsIDc0NzIxLCA3NDcyOCwgCisgICAgNzQ3MzUsIDc0NzQyLCA3NDc0OSwgNzQ3NTYsIDc0NzY0LCA3NDc3MiwgNzQ3ODAsIDc0Nzg4LCAwLCAwLCAwLCAwLCAKKyAgICA3NDc5NiwgNzQ4MDQsIDc0ODEyLCA3NDgyMCwgNzQ4MjgsIDc0ODM2LCA3NDg0NCwgNzQ4NTAsIDc0ODU2LCA3NDg2MiwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgNzQ4NjgsIDc0ODcyLCA3NDg3NywgNzQ4ODIsIDc0ODg3LCA3NDg5MiwgNzQ4OTcsIDc0OTAyLCAKKyAgICA3NDkwNywgNzQ5MTIsIDc0OTE3LCA3NDkyMiwgNzQ5MjYsIDc0OTMwLCA3NDkzNSwgNzQ5NDAsIDc0OTQ0LCA3NDk0OSwgCisgICAgNzQ5NTQsIDc0OTU5LCA3NDk2NCwgNzQ5NjksIDc0OTc0LCA3NDk3OSwgNzQ5ODMsIDc0OTg4LCA3NDk5MywgNzQ5OTgsIAorICAgIDc1MDAzLCA3NTAwNywgNzUwMTEsIDc1MDE1LCA3NTAxOSwgNzUwMjMsIDc1MDI3LCA3NTAzMiwgNzUwMzcsIDc1MDQyLCAKKyAgICA3NTA0NywgNzUwNTIsIDc1MDU5LCA3NTA2NSwgNzUwNzAsIDc1MDc1LCA3NTA4MCwgNzUwODUsIDc1MDkxLCA3NTA5OCwgCisgICAgNzUxMDQsIDc1MTExLCA3NTExOCwgNzUxMjUsIDc1MTMwLCA3NTEzNywgNzUxNDMsIDc1MTQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCA3NTE1NCwgNzUxNTksIDc1MTY0LCA3NTE2OCwgNzUxNzMsIDc1MTc3LCA3NTE4MiwgNzUxODYsIDc1MTkxLCAKKyAgICA3NTE5NiwgNzUyMDIsIDc1MjA3LCA3NTIxMywgNzUyMTcsIDc1MjIyLCA3NTIyNywgNzUyMzEsIDc1MjM2LCA3NTI0MSwgCisgICAgNzUyNDUsIDc1MjUwLCA3NTI1NSwgNzUyNjAsIDc1MjY1LCA3NTI3MCwgNzUyNzUsIDc1MjgwLCA3NTI4NSwgNzUyOTAsIAorICAgIDc1Mjk1LCA3NTMwMCwgNzUzMDUsIDc1MzEwLCA3NTMxNSwgNzUzMjAsIDc1MzI1LCA3NTMzMCwgNzUzMzUsIDc1MzM5LCAKKyAgICA3NTM0MywgNzUzNDgsIDc1MzUzLCA3NTM1OCwgNzUzNjIsIDc1MzY2LCA3NTM3MSwgNzUzNzYsIDc1MzgxLCA3NTM4NiwgCisgICAgNzUzOTEsIDc1Mzk2LCA3NTQwMCwgNzU0MDUsIDc1NDExLCA3NTQxNywgNzU0MjIsIDc1NDI4LCA3NTQzMywgNzU0MzksIAorICAgIDc1NDQ1LCA3NTQ1MiwgNzU0NTgsIDc1NDY1LCA3NTQ3MCwgNzU0NzYsIDc1NDgyLCA3NTQ4NywgNzU0OTMsIDc1NDk5LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3NTUwNCwgNzU1MDgsIDc1NTEzLCA3NTUxOCwgNzU1MjIsIDc1NTI2LCA3NTUzMCwgCisgICAgNzU1MzQsIDc1NTM4LCA3NTU0MiwgNzU1NDYsIDc1NTUwLCAwLCAwLCAwLCAwLCAwLCAwLCA3NTU1NCwgNzU1NTksIDc1NTYzLCAKKyAgICA3NTU2NywgNzU1NzEsIDc1NTc1LCA3NTU3OSwgNzU1ODMsIDc1NTg3LCA3NTU5MSwgNzU1OTUsIDc1NTk5LCA3NTYwMywgCisgICAgNzU2MDcsIDc1NjExLCA3NTYxNSwgNzU2MjAsIDc1NjI1LCA3NTYzMCwgNzU2MzYsIDc1NjQyLCA3NTY0OSwgNzU2NTQsIAorICAgIDc1NjU5LCA3NTY2NSwgNzU2NjksIDc1Njc0LCA3NTY3NywgMCwgMCwgMCwgMCwgNzU2ODAsIDc1Njg3LCA3NTY5MywgCisgICAgNzU2OTksIDc1NzA1LCA3NTcxMSwgNzU3MTcsIDc1NzIzLCA3NTcyOSwgNzU3MzUsIDc1NzQxLCA3NTc0NywgNzU3NTQsIAorICAgIDc1NzYxLCA3NTc2OCwgNzU3NzUsIDc1NzgyLCA3NTc4OSwgNzU3OTYsIDc1ODAzLCA3NTgxMCwgNzU4MTYsIDc1ODIyLCAKKyAgICA3NTgyOSwgNzU4MzUsIDc1ODQyLCA3NTg0OSwgNzU4NTYsIDc1ODYyLCA3NTg2OSwgNzU4NzYsIDc1ODgzLCA3NTg4OSwgCisgICAgNzU4OTYsIDc1OTAzLCA3NTkwOSwgNzU5MTYsIDc1OTIyLCA3NTkyOSwgNzU5MzYsIDc1OTQyLCA3NTk0OCwgNzU5NTUsIAorICAgIDc1OTYxLCA3NTk2OCwgNzU5NzUsIDc1OTg0LCA3NTk5MSwgNzU5OTgsIDc2MDAyLCA3NjAwNywgNzYwMTIsIDc2MDE3LCAKKyAgICA3NjAyMiwgNzYwMjYsIDc2MDMwLCA3NjAzNSwgNzYwMzksIDc2MDQ0LCA3NjA0OSwgNzYwNTQsIDc2MDU5LCA3NjA2NCwgCisgICAgNzYwNjksIDc2MDczLCA3NjA3OCwgNzYwODIsIDc2MDg3LCA3NjA5MiwgNzYwOTcsIDc2MTAyLCA3NjEwNiwgNzYxMTEsIAorICAgIDc2MTE2LCA3NjEyMSwgNzYxMjcsIDc2MTMyLCA3NjEzOCwgNzYxNDQsIDc2MTUwLCA3NjE1NiwgNzYxNjIsIDc2MTY3LCAKKyAgICA3NjE3MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNzYxNzcsIDc2MTgyLCA3NjE4NiwgNzYxOTAsIAorICAgIDc2MTk0LCA3NjE5OCwgNzYyMDIsIDc2MjA2LCA3NjIxMCwgNzYyMTQsIDc2MjE4LCA3NjIyMiwgNzYyMjYsIDc2MjMwLCAKKyAgICA3NjIzNCwgNzYyMzgsIDc2MjQyLCA3NjI0NiwgNzYyNTAsIDc2MjU0LCA3NjI1OCwgNzYyNjIsIDc2MjY2LCA3NjI3MCwgCisgICAgNzYyNzQsIDc2Mjc4LCA3NjI4MiwgNzYyODYsIDc2MjkwLCA3NjI5NCwgMCwgMCwgMCwgNzYyOTgsIDc2MzAyLCA3NjMwNiwgCisgICAgNzYzMTAsIDc2MzE0LCA3NjMxNywgNzYzMjMsIDc2MzI2LCA3NjMzMCwgNzYzMzMsIDc2MzM5LCA3NjM0NSwgNzYzNTMsIAorICAgIDc2MzU2LCA3NjM2MCwgNzYzNjMsIDc2MzY2LCA3NjM3MiwgNzYzNzgsIDc2MzgyLCA3NjM4OCwgNzYzOTIsIDc2Mzk2LCAKKyAgICA3NjQwMiwgNzY0MDYsIDc2NDEyLCA3NjQxOCwgNzY0MjIsIDc2NDI2LCA3NjQzMiwgNzY0MzYsIDc2NDQyLCA3NjQ0OCwgCisgICAgNzY0NTIsIDc2NDU4LCA3NjQ2MiwgNzY0NjgsIDc2NDcxLCA3NjQ3NCwgNzY0ODAsIDc2NDg0LCA3NjQ5MCwgNzY0OTMsIAorICAgIDc2NDk2LCA3NjUwMCwgNzY1MDYsIDc2NTEwLCA3NjUxNCwgNzY1MjAsIDc2NTI2LCA3NjUzMCwgNzY1MzMsIDc2NTM5LCAKKyAgICA3NjU0NCwgNzY1NDksIDc2NTU0LCA3NjU2MSwgNzY1NjYsIDc2NTczLCA3NjU3OCwgNzY1ODUsIDc2NTkwLCA3NjU5NSwgCisgICAgNzY2MDAsIDc2NjA1LCA3NjYwOCwgNzY2MTIsIDc2NjE2LCA3NjYyMSwgNzY2MjYsIDc2NjMxLCA3NjYzNiwgNzY2NDEsIAorICAgIDc2NjQ2LCA3NjY1MSwgNzY2NTYsIDc2NjYzLCA3NjY2OCwgMCwgNzY2NzQsIDc2Njc3LCA3NjY4MSwgNzY2ODQsIDc2Njg3LCAKKyAgICA3NjY5MCwgNzY2OTMsIDc2Njk2LCA3NjY5OSwgNzY3MDIsIDc2NzA1LCAwLCAwLCAwLCAwLCA3NjcwOCwgNzY3MTUsIAorICAgIDc2NzIwLCA3NjcyNiwgNzY3MzIsIDc2NzM4LCA3Njc0NCwgNzY3NTAsIDc2NzU2LCA3Njc2MywgNzY3NzAsIDc2Nzc3LCAKKyAgICA3Njc4NCwgNzY3OTEsIDc2Nzk4LCA3NjgwNSwgNzY4MTIsIDc2ODE5LCA3NjgyNiwgNzY4MzMsIDc2ODM5LCA3Njg0NSwgCisgICAgNzY4NTEsIDc2ODU3LCA3Njg2MywgNzY4NjksIDc2ODc1LCA3Njg4MSwgNzY4ODcsIDc2ODk0LCA3NjkwMSwgNzY5MDgsIAorICAgIDc2OTE1LCAwLCA3NjkyMiwgNzY5MjUsIDc2OTI4LCA3NjkzMSwgNzY5MzQsIDc2OTM4LCA3Njk0MSwgNzY5NDQsIDc2OTQ4LCAKKyAgICA3Njk1MiwgNzY5NTYsIDc2OTYwLCA3Njk2NCwgNzY5NjgsIDc2OTcyLCA3Njk3NiwgNzY5ODAsIDc2OTg0LCA3Njk4OCwgCisgICAgNzY5OTIsIDc2OTk2LCA3NzAwMCwgNzcwMDQsIDc3MDA4LCA3NzAxMiwgNzcwMTUsIDc3MDE5LCA3NzAyMiwgNzcwMjYsIAorICAgIDc3MDMwLCA3NzAzNCwgNzcwMzgsIDc3MDQyLCA3NzA0NSwgNzcwNDksIDc3MDUyLCA3NzA1NiwgNzcwNjAsIDc3MDY0LCAKKyAgICA3NzA2OCwgNzcwNzIsIDc3MDc1LCA3NzA4MCwgNzcwODQsIDc3MDg5LCA3NzA5NCwgNzcwOTgsIDc3MTAzLCA3NzEwNywgCisgICAgNzcxMTIsIDc3MTE3LCA3NzEyMiwgNzcxMjYsIDc3MTMxLCA3NzEzNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNzcxNDEsIDc3MTQ2LCA3NzE1MSwgNzcxNTYsIDc3MTYyLCA3NzE2NywgNzcxNzIsIDc3MTc3LCA3NzE4MiwgNzcxODcsIAorICAgIDc3MTkxLCA3NzE5NSwgNzcyMDAsIDc3MjA2LCAwLCAwLCA3NzIxMiwgNzcyMTYsIDc3MjE5LCA3NzIyMiwgNzcyMjUsIAorICAgIDc3MjI4LCA3NzIzMSwgNzcyMzQsIDc3MjM3LCA3NzI0MCwgMCwgMCwgNzcyNDMsIDc3MjQ4LCA3NzI1MywgNzcyNTksIAorICAgIDc3MjY2LCA3NzI3MiwgNzcyNzgsIDc3Mjg0LCA3NzI5MCwgNzcyOTYsIDc3MzAyLCA3NzMwOCwgNzczMTQsIDc3MzIwLCAKKyAgICA3NzMyNiwgNzczMzIsIDc3MzM3LCA3NzM0MywgNzczNDgsIDc3MzU0LCA3NzM2MCwgNzczNjcsIDc3MzczLCA3NzM3OSwgCisgICAgNzczODUsIDc3MzkyLCA3NzM5OSwgNzc0MDYsIDc3NDEyLCA3NzQxNywgNzc0MjIsIDc3NDI4LCA3NzQzNiwgNzc0NDMsIAorICAgIDc3NDUwLCA3NzQ1OCwgNzc0NjYsIDc3NDczLCA3NzQ4MCwgNzc0ODcsIDc3NDk0LCA3NzUwMSwgNzc1MDgsIDc3NTE1LCAKKyAgICA3NzUyMiwgNzc1MjksIDc3NTM2LCA3NzU0MywgNzc1NTAsIDc3NTU3LCA3NzU2NCwgNzc1NzEsIDc3NTc4LCA3NzU4NSwgCisgICAgNzc1OTIsIDc3NTk5LCA3NzYwNiwgNzc2MTIsIDc3NjE4LCA3NzYyNSwgNzc2MzIsIDc3NjM5LCA3NzY0NiwgNzc2NTMsIAorICAgIDc3NjYwLCA3NzY2NywgNzc2NzQsIDc3NjgxLCA3NzY4OCwgNzc2OTUsIDc3NzAyLCA3NzcwOSwgNzc3MTYsIDc3NzIzLCAKKyAgICA3NzczMCwgNzc3MzcsIDc3NzQ0LCA3Nzc1MSwgNzc3NTgsIDc3NzY1LCA3Nzc3MiwgNzc3NzksIDc3Nzg2LCA3Nzc5MiwgCisgICAgNzc3OTgsIDc3ODA1LCA3NzgxMSwgNzc4MTYsIDc3ODIyLCA3NzgyNywgNzc4MzIsIDc3ODM3LCA3Nzg0NCwgNzc4NTAsIAorICAgIDc3ODU2LCA3Nzg2MiwgNzc4NjgsIDc3ODc0LCA3Nzg4MCwgNzc4ODYsIDc3ODk0LCA3NzkwMiwgNzc5MTAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDc3OTE4LCAKKyAgICA3NzkyNCwgNzc5MzAsIDc3OTM2LCA3Nzk0NCwgNzc5NTIsIDc3OTU4LCA3Nzk2NCwgNzc5NzEsIDc3OTc4LCA3Nzk4NSwgCisgICAgNzc5OTIsIDc3OTk5LCA3ODAwNiwgNzgwMTMsIDc4MDIwLCA3ODAyNywgNzgwMzUsIDc4MDQzLCA3ODA1MSwgNzgwNTksIAorICAgIDc4MDY3LCA3ODA3MywgNzgwODEsIDc4MDg3LCA3ODA5NSwgNzgxMDQsIDc4MTEyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCA3ODExOCwgNzgxMjIsIDc4MTI2LCA3ODEzMCwgNzgxMzQsIDc4MTM4LCAwLCAwLCA3ODE0MiwgNzgxNDYsIAorICAgIDc4MTUwLCA3ODE1NCwgNzgxNTgsIDc4MTYyLCAwLCAwLCA3ODE2NiwgNzgxNzAsIDc4MTc0LCA3ODE3OCwgNzgxODIsIAorICAgIDc4MTg2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3ODE5MCwgNzgxOTQsIDc4MTk4LCA3ODIwMiwgNzgyMDYsIAorICAgIDc4MjEwLCA3ODIxNCwgMCwgNzgyMTgsIDc4MjIyLCA3ODIyNiwgNzgyMzAsIDc4MjM0LCA3ODIzOCwgNzgyNDIsIDAsIAorICAgIDc4MjQ2LCA3ODI1MywgNzgyNTksIDc4MjY1LCA3ODI3MSwgNzgyNzgsIDc4Mjg1LCA3ODI5NCwgNzgzMDUsIDc4MzE2LCAKKyAgICA3ODMyNiwgNzgzMzQsIDc4MzQyLCA3ODM1MCwgNzgzNTYsIDc4MzY0LCA3ODM3MiwgNzgzNzksIDc4Mzg3LCA3ODM5NiwgCisgICAgNzg0MDMsIDc4NDEyLCA3ODQxOCwgNzg0MjgsIDc4NDM3LCA3ODQ0MiwgNzg0NTAsIDc4NDU5LCA3ODQ2NCwgNzg0NzMsIAorICAgIDc4NDgwLCA3ODQ5MCwgNzg1MDIsIDc4NTA3LCA3ODUxMywgNzg1MjAsIDc4NTI1LCA3ODUzNSwgNzg1NDUsIDc4NTU1LCAKKyAgICA3ODU2NSwgNzg1ODAsIDc4NTkzLCA3ODYwNCwgNzg2MTIsIDc4NjE3LCA3ODYyOCwgNzg2MzgsIDAsIDAsIDAsIDAsIAorICAgIDc4NjQ1LCA3ODY1MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzIyMjYsIDMyMjMzLCAzMjI0MCwgMzIyNDcsIDMyMjU0LCAKLSAgICAzMjI2MywgMzIyNzIsIDMyMjgxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMjI5MCwgMzIyOTUsIDMyMzAwLCAzMjMwNSwgCi0gICAgMzIzMTAsIDMyMzE5LCAzMjMzMCwgMzIzMzksIDMyMzUwLCAzMjM1NiwgMzIzNjksIDMyMzc1LCAzMjM4MiwgMzIzODksIAotICAgIDMyMzk0LCAzMjQwMCwgMzI0MDYsIDMyNDE3LCAzMjQyNiwgMzI0MzMsIDMyNDQwLCAzMjQ0OSwgMzI0NTYsIDMyNDY1LCAKLSAgICAzMjQ3NSwgMzI0ODUsIDMyNDkyLCAzMjQ5OSwgMzI1MDYsIDMyNTE2LCAzMjUyMSwgMzI1MjksIDMyNTM1LCAzMjU0MywgCi0gICAgMzI1NTIsIDMyNTU3LCAzMjU2NCwgMzI1NzAsIDMyNTc1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMjU4MCwgCi0gICAgMzI1ODUsIDMyNTkxLCAzMjU5OCwgMzI2MDYsIDMyNjEyLCAzMjYxOCwgMzI2MjQsIDMyNjI5LCAzMjYzNiwgMzI2NDIsIAotICAgIDMyNjQ4LCAzMjY1NCwgMzI2NjIsIDMyNjY3LCAzMjY3NSwgMzI2ODAsIDMyNjg2LCAzMjY5MiwgMzI2OTksIDMyNzA3LCAKLSAgICAzMjcxNCwgMzI3MjAsIDMyNzI3LCAzMjczNCwgMzI3NDAsIDMyNzQ3LCAzMjc1NCwgMzI3NjAsIDMyNzY1LCAzMjc3MSwgCi0gICAgMzI3NzksIDMyNzg3LCAzMjc5MywgMzI3OTksIDMyODA1LCAzMjgxMSwgMzI4MTksIDMyODIzLCAzMjgyOSwgMzI4MzUsIAotICAgIDMyODQxLCAzMjg0NywgMzI4NTMsIDMyODU5LCAzMjg2MywgMzI4NjgsIDMyODczLCAzMjg4MCwgMzI4ODUsIDMyODg5LCAKLSAgICAzMjg5NSwgMzI5MDAsIDMyOTA1LCAzMjkwOSwgMzI5MTQsIDMyOTE5LCAzMjkyMywgMzI5MjcsIDMyOTMyLCAzMjkzOSwgCi0gICAgMzI5NDMsIDMyOTQ4LCAzMjk1MywgMzI5NTcsIDMyOTYyLCAzMjk2NiwgMzI5NzEsIDMyOTc1LCAzMjk4MSwgMzI5ODYsIAotICAgIDMyOTkzLCAzMjk5OCwgMzMwMDMsIDMzMDA3LCAzMzAxMiwgMzMwMTcsIDMzMDI0LCAzMzAyOSwgMzMwMzUsIDMzMDQwLCAKLSAgICAzMzA0NCwgMzMwNDksIDMzMDUzLCAzMzA1OCwgMzMwNjUsIDMzMDcyLCAzMzA3NywgMzMwODIsIDMzMDg2LCAzMzA5MiwgCi0gICAgMzMwOTgsIDMzMTAzLCAzMzEwOCwgMzMxMTMsIDMzMTE5LCAzMzEyNCwgMzMxMzAsIDMzMTM1LCAzMzE0MSwgMzMxNDcsIAotICAgIDMzMTUzLCAzMzE2MCwgMzMxNjcsIDMzMTc0LCAzMzE4MSwgMzMxODgsIDMzMTk1LCAzMzIwMCwgMzMyMDgsIDMzMjE3LCAKLSAgICAzMzIyNiwgMzMyMzUsIDMzMjQ0LCAzMzI1MywgMzMyNjIsIDMzMjc0LCAzMzI4MywgMzMyOTIsIDMzMzAxLCAzMzMwOCwgCi0gICAgMzMzMTMsIDMzMzIwLCAzMzMyOCwgMzMzMzYsIDMzMzQzLCAzMzM1MCwgMzMzNTcsIDMzMzY0LCAzMzM3MiwgMzMzODEsIAotICAgIDMzMzkwLCAzMzM5OSwgMzM0MDgsIDMzNDE3LCAzMzQyNiwgMzM0MzUsIDMzNDQ0LCAzMzQ1MywgMzM0NjIsIDMzNDcxLCAKLSAgICAzMzQ4MCwgMzM0ODksIDMzNDk4LCAzMzUwNiwgMzM1MTUsIDMzNTI2LCAzMzUzNCwgMzM1NDMsIDMzNTU0LCAzMzU2MywgCi0gICAgMzM1NzIsIDMzNTgxLCAzMzU5MCwgMzM1OTgsIDMzNjA3LCAzMzYxNCwgMzM2MTksIDMzNjI3LCAzMzYzMiwgMzM2MzksIAotICAgIDMzNjQ0LCAzMzY1MywgMzM2NTksIDMzNjY2LCAzMzY3MywgMzM2NzgsIDMzNjgzLCAzMzY5MSwgMzM2OTksIDMzNzA4LCAKLSAgICAzMzcxNywgMzM3MjIsIDMzNzI5LCAzMzc0MCwgMzM3NDgsIDMzNzU3LCAzMzc2MywgMzM3NjksIDMzNzc0LCAzMzc4MSwgCi0gICAgMzM3ODYsIDMzNzk1LCAzMzgwMCwgMzM4MDUsIDMzODEwLCAzMzgxNywgMzM4MjQsIDMzODI5LCAzMzgzOCwgMzM4NDYsIAotICAgIDMzODUxLCAzMzg1NiwgMzM4NjMsIDMzODcwLCAzMzg3NCwgMzM4NzgsIDMzODgxLCAzMzg4NCwgMzM4ODcsIDMzODkwLCAKLSAgICAzMzg5MywgMzM4OTYsIDMzOTAzLCAzMzkwNiwgMzM5MDksIDMzOTE0LCAzMzkxOCwgMzM5MjIsIDMzOTI2LCAzMzkzMCwgCi0gICAgMzM5MzQsIDMzOTQzLCAzMzk0OSwgMzM5NTUsIDMzOTYxLCAzMzk2OSwgMzM5NzcsIDMzOTgzLCAzMzk4OSwgMzM5OTYsIAotICAgIDM0MDAyLCAzNDAwNywgMzQwMTMsIDM0MDE5LCAzNDAyNSwgMzQwMzIsIDM0MDM4LCAzNDA0NiwgMzQwNTIsIDM0MDU5LCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNDA2NSwgMzQwNzIsIAotICAgIDM0MDc5LCAzNDA4NCwgMzQwOTMsIDM0MTAxLCAzNDEwOSwgMzQxMTYsIDM0MTIzLCAzNDEzMCwgMzQxMzcsIDM0MTQ1LCAKLSAgICAzNDE1MywgMzQxNjMsIDM0MTczLCAzNDE4MSwgMzQxODksIDM0MTk3LCAzNDIwNSwgMzQyMTQsIDM0MjIzLCAzNDIzMSwgCi0gICAgMzQyMzksIDM0MjQ4LCAzNDI1NywgMzQyNjcsIDM0Mjc3LCAzNDI4NiwgMzQyOTUsIDM0MzAzLCAzNDMxMSwgMzQzMTksIAotICAgIDM0MzI3LCAzNDMzNywgMzQzNDcsIDM0MzU1LCAzNDM2MywgMzQzNzEsIDM0Mzc5LCAzNDM4NywgMzQzOTUsIDM0NDAzLCAKLSAgICAzNDQxMSwgMzQ0MTksIDM0NDI3LCAzNDQzNSwgMzQ0NDMsIDM0NDUyLCAzNDQ2MSwgMzQ0NzAsIDM0NDc5LCAzNDQ4OSwgCi0gICAgMzQ0OTksIDM0NTA2LCAzNDUxMywgMzQ1MjEsIDM0NTI5LCAzNDUzOCwgMzQ1NDcsIDM0NTU1LCAzNDU2MywgMzQ1NzUsIAotICAgIDM0NTg3LCAzNDU5NiwgMzQ2MDUsIDM0NjE0LCAzNDYyMywgMzQ2MzAsIDM0NjM3LCAzNDY0NSwgMzQ2NTMsIDM0NjYxLCAKLSAgICAzNDY2OSwgMzQ2NzcsIDM0Njg1LCAzNDY5MywgMzQ3MDEsIDM0NzEwLCAzNDcxOSwgMzQ3MjgsIDM0NzM3LCAzNDc0NiwgCi0gICAgMzQ3NTUsIDM0NzY1LCAzNDc3NSwgMzQ3ODUsIDM0Nzk1LCAzNDgwNCwgMzQ4MTMsIDM0ODIwLCAzNDgyNywgMzQ4MzUsIAotICAgIDM0ODQzLCAzNDg1MSwgMzQ4NTksIDM0ODY3LCAzNDg3NSwgMzQ4ODcsIDM0ODk5LCAzNDkwOCwgMzQ5MTcsIDM0OTI1LCAKLSAgICAzNDkzMywgMzQ5NDEsIDM0OTQ5LCAzNDk2MCwgMzQ5NzEsIDM0OTgyLCAzNDk5MywgMzUwMDUsIDM1MDE3LCAzNTAyNSwgCi0gICAgMzUwMzMsIDM1MDQxLCAzNTA0OSwgMzUwNTgsIDM1MDY3LCAzNTA3NiwgMzUwODUsIDM1MDkzLCAzNTEwMSwgMzUxMDksIAotICAgIDM1MTE3LCAzNTEyNSwgMzUxMzMsIDM1MTQyLCAzNTE1MSwgMzUxNjEsIDM1MTcxLCAzNTE3OCwgMzUxODUsIDM1MTkzLCAKLSAgICAzNTIwMSwgMzUyMDksIDM1MjE3LCAzNTIyNCwgMzUyMzEsIDM1MjM5LCAzNTI0NywgMzUyNTUsIDM1MjYzLCAzNTI3MSwgCi0gICAgMzUyNzksIDM1Mjg3LCAzNTI5NSwgMzUzMDMsIDM1MzExLCAzNTMxOSwgMzUzMjcsIDM1MzM1LCAzNTM0MywgMzUzNTEsIAotICAgIDM1MzU5LCAzNTM2OCwgMzUzNzcsIDM1Mzg2LCAzNTM5NCwgMzU0MDMsIDM1NDEyLCAzNTQyMSwgMzU0MzAsIDM1NDQwLCAKLSAgICAzNTQ0OSwgMzU0NTYsIDM1NDYxLCAzNTQ2OCwgMzU0NzUsIDM1NDgzLCAzNTQ5MSwgMzU1MDAsIDM1NTA5LCAzNTUxOSwgCi0gICAgMzU1MjksIDM1NTQwLCAzNTU1MSwgMzU1NjAsIDM1NTY5LCAzNTU3OSwgMzU1ODksIDM1NTk4LCAzNTYwNywgMzU2MTcsIAotICAgIDM1NjI3LCAzNTYzOCwgMzU2NDksIDM1NjU4LCAzNTY2NywgMzU2NzcsIDM1Njg3LCAzNTY5NCwgMzU3MDEsIDM1NzA5LCAKLSAgICAzNTcxNywgMzU3MjMsIDM1NzI5LCAzNTczOCwgMzU3NDcsIDM1NzU3LCAzNTc2NywgMzU3NzgsIDM1Nzg5LCAzNTc5OCwgCi0gICAgMzU4MDcsIDM1ODE3LCAzNTgyNywgMzU4MzYsIDM1ODQ1LCAzNTg1MywgMzU4NjEsIDM1ODY4LCAzNTg3NSwgMzU4ODMsIAotICAgIDM1ODkxLCAzNTkwMCwgMzU5MDksIDM1OTE5LCAzNTkyOSwgMzU5NDAsIDM1OTUxLCAzNTk2MCwgMzU5NjksIDM1OTc5LCAKLSAgICAzNTk4OSwgMzU5OTgsIDM2MDA3LCAzNjAxNywgMzYwMjcsIDM2MDM4LCAzNjA0OSwgMzYwNTgsIDM2MDY3LCAzNjA3NywgCi0gICAgMzYwODcsIDM2MDk0LCAzNjEwMSwgMzYxMDksIDM2MTE3LCAzNjEyNiwgMzYxMzUsIDM2MTQ1LCAzNjE1NSwgMzYxNjYsIAotICAgIDM2MTc3LCAzNjE4NiwgMzYxOTUsIDM2MjA1LCAzNjIxNSwgMzYyMjMsIDM2MjMxLCAzNjIzOSwgMzYyNDcsIDM2MjU2LCAKLSAgICAzNjI2NSwgMzYyNzIsIDM2Mjc5LCAzNjI4NiwgMzYyOTMsIDM2MzAwLCAzNjMwNywgMzYzMTUsIDM2MzIzLCAzNjMzMSwgCi0gICAgMzYzMzksIDM2MzUwLCAzNjM2MSwgMzYzNzIsIDM2MzgzLCAzNjM5NCwgMzY0MDUsIDM2NDEzLCAzNjQyMSwgMzY0MzIsIAotICAgIDM2NDQzLCAzNjQ1NCwgMzY0NjUsIDM2NDc2LCAzNjQ4NywgMzY0OTUsIDM2NTAzLCAzNjUxNCwgMzY1MjUsIDM2NTM2LCAwLCAKLSAgICAwLCAzNjU0NywgMzY1NTUsIDM2NTYzLCAzNjU3NCwgMzY1ODUsIDM2NTk2LCAwLCAwLCAzNjYwNywgMzY2MTUsIDM2NjIzLCAKLSAgICAzNjYzNCwgMzY2NDUsIDM2NjU2LCAzNjY2NywgMzY2NzgsIDM2Njg5LCAzNjY5NywgMzY3MDUsIDM2NzE2LCAzNjcyNywgCi0gICAgMzY3MzgsIDM2NzQ5LCAzNjc2MCwgMzY3NzEsIDM2Nzc5LCAzNjc4NywgMzY3OTgsIDM2ODA5LCAzNjgyMCwgMzY4MzEsIAotICAgIDM2ODQyLCAzNjg1MywgMzY4NjEsIDM2ODY5LCAzNjg4MCwgMzY4OTEsIDM2OTAyLCAzNjkxMywgMzY5MjQsIDM2OTM1LCAKLSAgICAzNjk0MywgMzY5NTEsIDM2OTYyLCAzNjk3MywgMzY5ODQsIDAsIDAsIDM2OTk1LCAzNzAwMywgMzcwMTEsIDM3MDIyLCAKLSAgICAzNzAzMywgMzcwNDQsIDAsIDAsIDM3MDU1LCAzNzA2MywgMzcwNzEsIDM3MDgyLCAzNzA5MywgMzcxMDQsIDM3MTE1LCAKLSAgICAzNzEyNiwgMCwgMzcxMzcsIDAsIDM3MTQ1LCAwLCAzNzE1NiwgMCwgMzcxNjcsIDM3MTc4LCAzNzE4NiwgMzcxOTQsIAotICAgIDM3MjA1LCAzNzIxNiwgMzcyMjcsIDM3MjM4LCAzNzI0OSwgMzcyNjAsIDM3MjY4LCAzNzI3NiwgMzcyODcsIDM3Mjk4LCAKLSAgICAzNzMwOSwgMzczMjAsIDM3MzMxLCAzNzM0MiwgMzczNTAsIDM3MzU4LCAzNzM2NiwgMzczNzQsIDM3MzgyLCAzNzM5MCwgCi0gICAgMzczOTgsIDM3NDA2LCAzNzQxNCwgMzc0MjIsIDM3NDMwLCAzNzQzOCwgMzc0NDYsIDAsIDAsIDM3NDU0LCAzNzQ2NSwgCi0gICAgMzc0NzYsIDM3NDkwLCAzNzUwNCwgMzc1MTgsIDM3NTMyLCAzNzU0NiwgMzc1NjAsIDM3NTcxLCAzNzU4MiwgMzc1OTYsIAotICAgIDM3NjEwLCAzNzYyNCwgMzc2MzgsIDM3NjUyLCAzNzY2NiwgMzc2NzcsIDM3Njg4LCAzNzcwMiwgMzc3MTYsIDM3NzMwLCAKLSAgICAzNzc0NCwgMzc3NTgsIDM3NzcyLCAzNzc4MywgMzc3OTQsIDM3ODA4LCAzNzgyMiwgMzc4MzYsIDM3ODUwLCAzNzg2NCwgCi0gICAgMzc4NzgsIDM3ODg5LCAzNzkwMCwgMzc5MTQsIDM3OTI4LCAzNzk0MiwgMzc5NTYsIDM3OTcwLCAzNzk4NCwgMzc5OTUsIAotICAgIDM4MDA2LCAzODAyMCwgMzgwMzQsIDM4MDQ4LCAzODA2MiwgMzgwNzYsIDM4MDkwLCAzODA5OCwgMzgxMDYsIDM4MTE3LCAKLSAgICAzODEyNSwgMCwgMzgxMzYsIDM4MTQ0LCAzODE1NSwgMzgxNjMsIDM4MTcxLCAzODE3OSwgMzgxODcsIDM4MTk1LCAzODE5OCwgCi0gICAgMzgyMDEsIDM4MjA0LCAzODIwNywgMzgyMTMsIDM4MjI0LCAzODIzMiwgMCwgMzgyNDMsIDM4MjUxLCAzODI2MiwgMzgyNzAsIAotICAgIDM4Mjc4LCAzODI4NiwgMzgyOTQsIDM4MzAyLCAzODMwOCwgMzgzMTQsIDM4MzIwLCAzODMyOCwgMzgzMzYsIDM4MzQ3LCAwLCAKLSAgICAwLCAzODM1OCwgMzgzNjYsIDM4Mzc3LCAzODM4NSwgMzgzOTMsIDM4NDAxLCAwLCAzODQwOSwgMzg0MTUsIDM4NDIxLCAKLSAgICAzODQyNywgMzg0MzUsIDM4NDQzLCAzODQ1NCwgMzg0NjUsIDM4NDczLCAzODQ4MSwgMzg0ODksIDM4NTAwLCAzODUwOCwgCi0gICAgMzg1MTYsIDM4NTI0LCAzODUzMiwgMzg1NDAsIDM4NTQ2LCAzODU1MiwgMCwgMCwgMzg1NTUsIDM4NTY2LCAzODU3NCwgMCwgCi0gICAgMzg1ODUsIDM4NTkzLCAzODYwNCwgMzg2MTIsIDM4NjIwLCAzODYyOCwgMzg2MzYsIDM4NjQ0LCAzODY0NywgMCwgMzg2NTAsIAotICAgIDM4NjU0LCAzODY1OCwgMzg2NjIsIDM4NjY2LCAzODY3MCwgMzg2NzQsIDM4Njc4LCAzODY4MiwgMzg2ODYsIDM4NjkwLCAKLSAgICAzODY5NCwgMzg3MDAsIDM4NzA2LCAzODcxMiwgMzg3MTUsIDM4NzE4LCAzODcyMCwgMzg3MjQsIDM4NzI4LCAzODczMiwgCi0gICAgMzg3MzYsIDM4NzM4LCAzODc0MiwgMzg3NDYsIDM4NzUyLCAzODc1OCwgMzg3NjUsIDM4NzcyLCAzODc3NywgMzg3ODIsIAotICAgIDM4Nzg4LCAzODc5NCwgMzg3OTYsIDM4Nzk5LCAzODgwMSwgMzg4MDUsIDM4ODA5LCAzODgxMywgMzg4MTYsIDM4ODIwLCAKLSAgICAzODgyNCwgMzg4MjgsIDM4ODMyLCAzODgzNiwgMzg4NDIsIDM4ODQ2LCAzODg1MCwgMzg4NTYsIDM4ODYxLCAzODg2OCwgCi0gICAgMzg4NzAsIDM4ODczLCAzODg3NywgMzg4ODEsIDM4ODg2LCAzODg5MiwgMzg4OTQsIDM4OTAzLCAzODkxMiwgMzg5MTUsIAotICAgIDM4OTE5LCAzODkyMSwgMzg5MjMsIDM4OTI1LCAzODkyOCwgMzg5MzQsIDM4OTM2LCAzODk0MCwgMzg5NDQsIDM4OTUxLCAKLSAgICAzODk1OCwgMzg5NjIsIDM4OTY3LCAzODk3MiwgMzg5NzcsIDM4OTgyLCAzODk4NiwgMzg5OTAsIDM4OTkzLCAzODk5NywgCi0gICAgMzkwMDEsIDM5MDA4LCAzOTAxMywgMzkwMTcsIDM5MDIxLCAzOTAyNiwgMzkwMzAsIDM5MDM0LCAzOTAzOSwgMzkwNDQsIAotICAgIDM5MDQ4LCAzOTA1MiwgMzkwNTYsIDM5MDU4LCAzOTA2MywgMzkwNjgsIDM5MDcyLCAzOTA3NiwgMzkwODAsIDM5MDg0LCAwLCAKLSAgICAzOTA4OCwgMzkwOTIsIDM5MDk2LCAzOTEwMiwgMzkxMDgsIDM5MTE0LCAzOTEyMCwgMzkxMjcsIDM5MTM0LCAzOTEzOSwgCi0gICAgMzkxNDQsIDM5MTQ4LCAwLCAwLCAzOTE1NCwgMzkxNTcsIDM5MTYwLCAzOTE2MywgMzkxNjYsIDM5MTY5LCAzOTE3MiwgCi0gICAgMzkxNzYsIDM5MTgwLCAzOTE4NSwgMzkxOTAsIDM5MTk1LCAzOTIwMiwgMzkyMDYsIDM5MjA5LCAzOTIxMiwgMzkyMTUsIAotICAgIDM5MjE4LCAzOTIyMSwgMzkyMjQsIDM5MjI3LCAzOTIzMCwgMzkyMzMsIDM5MjM3LCAzOTI0MSwgMzkyNDYsIDM5MjUxLCAwLCAKLSAgICAzOTI1NiwgMzkyNjIsIDM5MjY4LCAzOTI3NCwgMzkyODEsIDM5Mjg4LCAzOTI5NSwgMzkzMDIsIDM5MzA4LCAzOTMxNCwgCi0gICAgMzkzMjEsIDM5MzI4LCAzOTMzNSwgMCwgMCwgMCwgMzkzNDIsIDM5MzQ1LCAzOTM0OCwgMzkzNTEsIDM5MzU2LCAzOTM1OSwgCi0gICAgMzkzNjIsIDM5MzY1LCAzOTM2OCwgMzkzNzEsIDM5Mzc0LCAzOTM3OCwgMzkzODEsIDM5Mzg0LCAzOTM4NywgMzkzOTAsIAotICAgIDM5MzkzLCAzOTM5OCwgMzk0MDEsIDM5NDA0LCAzOTQwNywgMzk0MTAsIDM5NDEzLCAzOTQxOCwgMzk0MjEsIDM5NDI0LCAKLSAgICAzOTQyOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMzk0MzQsIDM5NDM5LCAzOTQ0NCwgMzk0NTEsIDM5NDU5LCAzOTQ2NCwgMzk0NjksIDM5NDczLCAzOTQ3NywgMzk0ODIsIAotICAgIDM5NDg5LCAzOTQ5NiwgMzk1MDAsIDM5NTA1LCAzOTUxMCwgMzk1MTUsIDM5NTIwLCAzOTUyNywgMzk1MzIsIDM5NTM3LCAKLSAgICAzOTU0MiwgMzk1NTEsIDM5NTU4LCAzOTU2NSwgMzk1NjksIDM5NTc0LCAzOTU4MCwgMzk1ODUsIDM5NTkyLCAzOTYwMSwgCi0gICAgMzk2MTAsIDM5NjE0LCAzOTYxOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzk2MjIsIAotICAgIDM5NjI2LCAzOTYzNCwgMzk2MzgsIDM5NjQyLCAzOTY0NywgMzk2NTEsIDM5NjU1LCAzOTY1OSwgMzk2NjEsIDM5NjY1LCAKLSAgICAzOTY2OSwgMzk2NzMsIDM5Njc4LCAzOTY4MiwgMzk2ODYsIDM5Njk0LCAzOTY5NywgMzk3MDEsIDM5NzA0LCAzOTcwNywgCi0gICAgMzk3MTMsIDM5NzE3LCAzOTcyMCwgMzk3MjYsIDM5NzMwLCAzOTczNCwgMzk3MzgsIDM5NzQxLCAzOTc0NSwgMzk3NDgsIAotICAgIDM5NzUyLCAzOTc1NCwgMzk3NTcsIDM5NzYwLCAzOTc2NCwgMzk3NjYsIDM5NzcwLCAzOTc3MywgMzk3NzYsIDM5NzgxLCAKLSAgICAzOTc4NiwgMzk3OTMsIDM5Nzk2LCAzOTc5OSwgMzk4MDMsIDM5ODA4LCAzOTgxMSwgMzk4MTQsIDM5ODE3LCAzOTgyMSwgCi0gICAgMzk4MjYsIDM5ODI5LCAzOTgzMiwgMzk4MzQsIDM5ODM3LCAzOTg0MCwgMzk4NDMsIDM5ODQ3LCAzOTg1MiwgMzk4NTUsIAotICAgIDM5ODU5LCAzOTg2MywgMzk4NjcsIDM5ODcxLCAzOTg3NiwgMzk4ODIsIDM5ODg3LCAzOTg5MiwgMzk4OTgsIDM5OTAzLCAKLSAgICAzOTkwOCwgMzk5MTIsIDM5OTE2LCAzOTkyMSwgMzk5MjUsIDM5OTI5LCAzOTkzMiwgMzk5MzQsIDM5OTM5LCAzOTk0NSwgCi0gICAgMzk5NTIsIDM5OTU5LCAzOTk2NiwgMzk5NzMsIDM5OTgwLCAzOTk4NywgMzk5OTQsIDQwMDAxLCA0MDAwOSwgNDAwMTYsIAotICAgIDQwMDI0LCA0MDAzMSwgNDAwMzgsIDQwMDQ2LCA0MDA1NCwgNDAwNTksIDQwMDY0LCA0MDA2OSwgNDAwNzQsIDQwMDc5LCAKLSAgICA0MDA4NCwgNDAwODksIDQwMDk0LCA0MDA5OSwgNDAxMDQsIDQwMTEwLCA0MDExNiwgNDAxMjIsIDQwMTI4LCA0MDEzNSwgCi0gICAgNDAxNDMsIDQwMTUwLCA0MDE1NiwgNDAxNjIsIDQwMTY4LCA0MDE3NCwgNDAxODAsIDQwMTg2LCA0MDE5MiwgNDAxOTgsIAotICAgIDQwMjA0LCA0MDIxMSwgNDAyMTgsIDQwMjI1LCA0MDIzMiwgNDAyNDAsIDQwMjQ5LCA0MDI1NywgNDAyNjgsIDQwMjc2LCAKLSAgICA0MDI4NCwgNDAyOTMsIDQwMzAwLCA0MDMwOSwgNDAzMTgsIDQwMzI2LCA0MDMzNSwgMCwgMCwgMCwgMCwgMCwgMCwgNDAzNDMsIAotICAgIDQwMzQ1LCA0MDM0OCwgNDAzNTAsIDQwMzUzLCA0MDM1NiwgNDAzNTksIDQwMzY0LCA0MDM2OSwgNDAzNzQsIDQwMzc5LCAKLSAgICA0MDM4MywgNDAzODcsIDQwMzkxLCA0MDM5NSwgNDA0MDAsIDQwNDA2LCA0MDQxMSwgNDA0MTcsIDQwNDIyLCA0MDQyNywgCi0gICAgNDA0MzIsIDQwNDM4LCA0MDQ0MywgNDA0NDksIDQwNDU1LCA0MDQ1OSwgNDA0NjMsIDQwNDY4LCA0MDQ3MywgNDA0NzgsIAotICAgIDQwNDgzLCA0MDQ4OCwgNDA0OTYsIDQwNTA0LCA0MDUxMiwgNDA1MjAsIDQwNTI3LCA0MDUzNSwgNDA1NDIsIDQwNTQ5LCAKLSAgICA0MDU1OCwgNDA1NzAsIDQwNTc2LCA0MDU4MiwgNDA1OTAsIDQwNTk4LCA0MDYwNywgNDA2MTYsIDQwNjI0LCA0MDYzMiwgCi0gICAgNDA2NDEsIDQwNjUwLCA0MDY1NSwgNDA2NjMsIDQwNjY4LCA0MDY3MywgNDA2NzksIDQwNjg0LCA0MDY5MCwgNDA2OTcsIAotICAgIDQwNzA0LCA0MDcwOSwgNDA3MTUsIDQwNzIwLCA0MDcyMywgNDA3MjcsIDQwNzMwLCA0MDczNCwgNDA3MzgsIDQwNzQyLCAKLSAgICA0MDc0OCwgNDA3NTQsIDQwNzYwLCA0MDc2NiwgNDA3NzAsIDQwNzc0LCA0MDc3OCwgNDA3ODIsIDQwNzg4LCA0MDc5NCwgCi0gICAgNDA3OTgsIDQwODAzLCA0MDgwNywgNDA4MTIsIDQwODE3LCA0MDgyMiwgNDA4MjUsIDQwODI5LCA0MDgzMiwgNDA4MzYsIAotICAgIDQwODQzLCA0MDg1MSwgNDA4NjIsIDQwODczLCA0MDg3OCwgNDA4ODcsIDQwODk0LCA0MDkwMywgNDA5MTIsIDQwOTE2LCAKLSAgICA0MDkyMiwgNDA5MzAsIDQwOTM0LCA0MDkzOSwgNDA5NDQsIDQwOTUwLCA0MDk1NiwgNDA5NjIsIDQwOTY5LCA0MDk3MywgCi0gICAgNDA5NzcsIDQwOTgyLCA0MDk4NSwgNDA5ODcsIDQwOTkxLCA0MDk5NSwgNDEwMDMsIDQxMDA3LCA0MTAwOSwgNDEwMTEsIAotICAgIDQxMDE1LCA0MTAyMywgNDEwMjgsIDQxMDM0LCA0MTA0NCwgNDEwNTEsIDQxMDU2LCA0MTA2MCwgNDEwNjQsIDQxMDY4LCAKLSAgICA0MTA3MSwgNDEwNzQsIDQxMDc3LCA0MTA4MSwgNDEwODUsIDQxMDg5LCA0MTA5MywgNDEwOTcsIDQxMTAwLCA0MTEwNCwgCi0gICAgNDExMDgsIDQxMTExLCA0MTExMywgNDExMTYsIDQxMTE4LCA0MTEyMiwgNDExMjYsIDQxMTI4LCA0MTEzNCwgNDExMzcsIAotICAgIDQxMTQyLCA0MTE0NiwgNDExNTAsIDQxMTUyLCA0MTE1NCwgNDExNTYsIDQxMTU5LCA0MTE2MywgNDExNjcsIDQxMTcxLCAKLSAgICA0MTE3NSwgNDExNzksIDQxMTg1LCA0MTE5MSwgNDExOTMsIDQxMTk1LCA0MTE5NywgNDExOTksIDQxMjAyLCA0MTIwNCwgCi0gICAgNDEyMDgsIDQxMjEwLCA0MTIxNCwgNDEyMTcsIDQxMjIzLCA0MTIyNywgNDEyMzEsIDQxMjM0LCA0MTIzNywgNDEyNDEsIAotICAgIDQxMjQ3LCA0MTI1MSwgNDEyNjEsIDQxMjcxLCA0MTI3NSwgNDEyODEsIDQxMjg3LCA0MTI5MCwgNDEyOTQsIDQxMjk3LCAKLSAgICA0MTMwMiwgNDEzMDYsIDQxMzEyLCA0MTMxNiwgNDEzMjgsIDQxMzM2LCA0MTM0MCwgNDEzNDQsIDQxMzUwLCA0MTM1NCwgCi0gICAgNDEzNTcsIDQxMzU5LCA0MTM2MiwgNDEzNjYsIDQxMzcwLCA0MTM3NywgNDEzODEsIDQxMzg1LCA0MTM4OSwgNDEzOTIsIAotICAgIDQxMzk3LCA0MTQwMiwgNDE0MDcsIDQxNDEyLCA0MTQxNywgNDE0MjIsIDQxNDMwLCA0MTQzOCwgNDE0NDIsIDQxNDQ2LCAKLSAgICA0MTQ0OCwgNDE0NTMsIDQxNDU3LCA0MTQ2MSwgNDE0NjksIDQxNDc3LCA0MTQ4MywgNDE0ODksIDQxNDk4LCA0MTUwNywgCi0gICAgNDE1MTIsIDQxNTE3LCA0MTUyNSwgNDE1MzMsIDQxNTM1LCA0MTUzNywgNDE1NDIsIDQxNTQ3LCA0MTU1MywgNDE1NTksIAotICAgIDQxNTY1LCA0MTU3MSwgNDE1NzUsIDQxNTc5LCA0MTU4NiwgNDE1OTMsIDQxNTk5LCA0MTYwNSwgNDE2MTUsIDQxNjI1LCAKLSAgICA0MTYzMywgNDE2NDEsIDQxNjQzLCA0MTY0NywgNDE2NTEsIDQxNjU2LCA0MTY2MSwgNDE2NjgsIDQxNjc1LCA0MTY3OCwgCi0gICAgNDE2ODEsIDQxNjg0LCA0MTY4NywgNDE2OTAsIDQxNjk1LCA0MTY5OSwgNDE3MDQsIDQxNzA5LCA0MTcxMiwgNDE3MTUsIAotICAgIDQxNzE4LCA0MTcyMSwgNDE3MjQsIDQxNzI4LCA0MTczMSwgNDE3MzQsIDQxNzM3LCA0MTc0MCwgNDE3NDIsIDQxNzQ0LCAKLSAgICA0MTc0NiwgNDE3NDgsIDQxNzU2LCA0MTc2NCwgNDE3NzAsIDQxNzc0LCA0MTc4MCwgNDE3OTAsIDQxNzk2LCA0MTgwMiwgCi0gICAgNDE4MDgsIDQxODE2LCA0MTgyNCwgNDE4MzUsIDQxODM5LCA0MTg0MywgNDE4NDUsIDQxODUxLCA0MTg1MywgNDE4NTUsIAotICAgIDQxODU3LCA0MTg1OSwgNDE4NjUsIDQxODY4LCA0MTg3NCwgNDE4ODAsIDQxODg0LCA0MTg4OCwgNDE4OTIsIDQxODk1LCAKLSAgICA0MTg5OSwgNDE5MDMsIDQxOTA1LCA0MTkxNCwgNDE5MjMsIDQxOTI4LCA0MTkzMywgNDE5MzksIDQxOTQ1LCA0MTk1MSwgCi0gICAgNDE5NTQsIDQxOTU3LCA0MTk2MCwgNDE5NjMsIDQxOTY1LCA0MTk3MCwgNDE5NzUsIDQxOTgwLCA0MTk4NiwgNDE5OTIsIAotICAgIDQyMDAwLCA0MjAwOCwgNDIwMTQsIDQyMDIwLCA0MjAyNiwgNDIwMzIsIDQyMDQxLCA0MjA1MCwgNDIwNTksIDQyMDY4LCAKLSAgICA0MjA3NywgNDIwODYsIDQyMDk1LCA0MjEwNCwgNDIxMTMsIDQyMTIyLCA0MjEzMCwgNDIxNDIsIDQyMTUyLCA0MjE2NywgCi0gICAgNDIxNzAsIDQyMTc1LCA0MjE4MSwgNDIxODcsIDQyMTk0LCA0MjIwOCwgNDIyMjMsIDQyMjI5LCA0MjIzNSwgNDIyNDIsIAotICAgIDQyMjQ4LCA0MjI1NiwgNDIyNjIsIDQyMjc1LCA0MjI4OSwgNDIyOTQsIDQyMzAwLCA0MjMwNywgNDIzMTAsIDQyMzEzLCAKLSAgICA0MjMxNSwgNDIzMTgsIDQyMzIxLCA0MjMyMywgNDIzMjUsIDQyMzI5LCA0MjMzMiwgNDIzMzUsIDQyMzM4LCA0MjM0MSwgCi0gICAgNDIzNDYsIDQyMzUxLCA0MjM1NiwgNDIzNjEsIDQyMzY2LCA0MjM2OSwgNDIzNzEsIDQyMzczLCA0MjM3NSwgNDIzNzksIAotICAgIDQyMzgzLCA0MjM4NywgNDIzOTMsIDQyMzk4LCA0MjQwMCwgNDI0MDIsIDQyNDA3LCA0MjQxMiwgNDI0MTcsIDQyNDIyLCAKLSAgICA0MjQyNywgNDI0MzIsIDQyNDM0LCA0MjQzNiwgNDI0NDUsIDQyNDQ5LCA0MjQ1NywgNDI0NjYsIDQyNDY4LCA0MjQ3MywgCi0gICAgNDI0NzgsIDQyNDg2LCA0MjQ5MCwgNDI0OTIsIDQyNDk2LCA0MjQ5OCwgNDI1MDIsIDQyNTA2LCA0MjUxMCwgNDI1MTIsIAotICAgIDQyNTE0LCA0MjUxNiwgNDI1MjMsIDQyNTMyLCA0MjU0MSwgNDI1NTAsIDQyNTU5LCA0MjU2OCwgNDI1NzcsIDQyNTg2LCAKLSAgICA0MjU5NSwgNDI2MDMsIDQyNjExLCA0MjYyMCwgNDI2MjksIDQyNjM4LCA0MjY0NywgNDI2NTUsIDQyNjYzLCA0MjY3MiwgCi0gICAgNDI2ODEsIDQyNjkwLCA0MjcwMCwgNDI3MDksIDQyNzE5LCA0MjcyOCwgNDI3MzgsIDQyNzQ3LCA0Mjc1NywgNDI3NjcsIAotICAgIDQyNzc2LCA0Mjc4NiwgNDI3OTUsIDQyODA1LCA0MjgxNCwgNDI4MjQsIDQyODMzLCA0Mjg0MiwgNDI4NTEsIDQyODYwLCAKLSAgICA0Mjg2OSwgNDI4NzksIDQyODg4LCA0Mjg5NywgNDI5MDYsIDQyOTE2LCA0MjkyNSwgNDI5MzQsIDQyOTQzLCA0Mjk1MiwgCi0gICAgNDI5NjIsIDQyOTcyLCA0Mjk4MSwgNDI5OTAsIDQyOTk4LCA0MzAwNiwgNDMwMTMsIDQzMDIxLCA0MzAzMCwgNDMwNDEsIAotICAgIDQzMDUwLCA0MzA1OSwgNDMwNjgsIDQzMDc1LCA0MzA4MiwgNDMwODksIDQzMDk4LCA0MzEwNywgNDMxMTYsIDQzMTI1LCAKLSAgICA0MzEzMiwgNDMxMzcsIDQzMTQ2LCA0MzE1MSwgNDMxNTQsIDQzMTYyLCA0MzE2NSwgNDMxNzAsIDQzMTc1LCA0MzE3OCwgCi0gICAgNDMxODEsIDQzMTg5LCA0MzE5MiwgNDMxOTcsIDQzMjAwLCA0MzIwNywgNDMyMTIsIDQzMjIwLCA0MzIyMywgNDMyMjYsIAotICAgIDQzMjI5LCA0MzIzNCwgNDMyMzksIDQzMjQyLCA0MzI0NSwgNDMyNTMsIDQzMjU2LCA0MzI2MywgNDMyNzAsIDQzMjc0LCAKLSAgICA0MzI3OCwgNDMyODMsIDQzMjg4LCA0MzI5NCwgNDMyOTksIDQzMzA1LCA0MzMxMSwgNDMzMTYsIDQzMzIyLCA0MzMzMCwgCi0gICAgNDMzMzYsIDQzMzQ0LCA0MzM1MiwgNDMzNTgsIDQzMzY2LCA0MzM3NCwgNDMzODMsIDQzMzkxLCA0MzM5NywgNDM0MDUsIAotICAgIDQzNDE0LCA0MzQyMiwgNDM0MjYsIDQzNDMxLCA0MzQ0NCwgNDM0NTcsIDQzNDYxLCA0MzQ2NSwgNDM0NjksIDQzNDczLCAKLSAgICA0MzQ4MywgNDM0ODcsIDQzNDkyLCA0MzQ5NywgNDM1MDIsIDQzNTA3LCA0MzUxMiwgNDM1MTcsIDQzNTI3LCA0MzUzNywgCi0gICAgNDM1NDUsIDQzNTU1LCA0MzU2NSwgNDM1NzMsIDQzNTgzLCA0MzU5MywgNDM2MDEsIDQzNjExLCA0MzYyMSwgNDM2MjksIAotICAgIDQzNjM3LCA0MzY0NywgNDM2NTcsIDQzNjYwLCA0MzY2MywgNDM2NjYsIDQzNjcxLCA0MzY3NSwgNDM2ODEsIDQzNjg4LCAKLSAgICA0MzY5NSwgNDM3MDMsIDQzNzEwLCA0MzcxNCwgNDM3MTgsIDQzNzIyLCA0MzcyNiwgNDM3MjgsIDQzNzMyLCA0MzczNiwgCi0gICAgNDM3NDEsIDQzNzQ2LCA0Mzc1MywgNDM3NjAsIDQzNzYzLCA0Mzc3MCwgNDM3NzIsIDQzNzc0LCA0Mzc3OCwgNDM3ODIsIAotICAgIDQzNzg3LCA0Mzc5MywgNDM3OTksIDQzODA1LCA0MzgxMSwgNDM4MjAsIDQzODI5LCA0MzgzOCwgNDM4NDIsIDQzODQ0LCAKLSAgICA0Mzg0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDM4NTUsIDQzODU5LCA0Mzg2NiwgNDM4NzMsIAotICAgIDQzODgwLCA0Mzg4NywgNDM4OTEsIDQzODk1LCA0Mzg5OSwgNDM5MDMsIDQzOTA4LCA0MzkxNCwgNDM5MTksIDQzOTI1LCAKLSAgICA0MzkzMSwgNDM5MzcsIDQzOTQzLCA0Mzk1MSwgNDM5NTgsIDQzOTY1LCA0Mzk3MiwgNDM5NzksIDQzOTg0LCA0Mzk5MCwgCi0gICAgNDM5OTksIDQ0MDAzLCA0NDAxMCwgNDQwMTQsIDQ0MDE4LCA0NDAyNCwgNDQwMzAsIDQ0MDM2LCA0NDA0MiwgNDQwNDYsIAotICAgIDQ0MDUwLCA0NDA1MywgNDQwNTYsIDQ0MDYwLCA0NDA2NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDQwNzQsIDQ0MDc3LCA0NDA4MSwgNDQwODUsIDQ0MDkxLCAKLSAgICA0NDA5NywgNDQxMDMsIDQ0MTExLCA0NDExOCwgNDQxMjIsIDQ0MTMwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NDEzNSwgNDQxMzgsIDQ0MTQxLCA0NDE0NCwgNDQxNDcsIAotICAgIDQ0MTUwLCA0NDE1MywgNDQxNTYsIDQ0MTU5LCA0NDE2MiwgNDQxNjYsIDQ0MTcwLCA0NDE3NCwgNDQxNzgsIDQ0MTgyLCAKLSAgICA0NDE4NiwgNDQxOTAsIDQ0MTk0LCA0NDE5OCwgNDQyMDIsIDQ0MjA2LCA0NDIwOSwgNDQyMTIsIDQ0MjE1LCA0NDIxOCwgCi0gICAgNDQyMjEsIDQ0MjI0LCA0NDIyNywgNDQyMzAsIDQ0MjMzLCA0NDIzNywgNDQyNDEsIDQ0MjQ1LCA0NDI0OSwgNDQyNTMsIAotICAgIDQ0MjU3LCA0NDI2MSwgNDQyNjUsIDQ0MjY5LCA0NDI3MywgNDQyNzcsIDQ0MjgzLCA0NDI4OSwgNDQyOTUsIDQ0MzAyLCAKLSAgICA0NDMwOSwgNDQzMTYsIDQ0MzIzLCA0NDMzMCwgNDQzMzcsIDQ0MzQ0LCA0NDM1MSwgNDQzNTgsIDQ0MzY1LCA0NDM3MiwgCi0gICAgNDQzNzksIDQ0Mzg2LCA0NDM5MywgNDQ0MDAsIDQ0NDA3LCA0NDQxNCwgNDQ0MTksIDQ0NDI1LCA0NDQzMSwgNDQ0MzcsIAotICAgIDQ0NDQyLCA0NDQ0OCwgNDQ0NTQsIDQ0NDYwLCA0NDQ2NSwgNDQ0NzEsIDQ0NDc3LCA0NDQ4MiwgNDQ0ODcsIDQ0NDkzLCAKLSAgICA0NDQ5OCwgNDQ1MDQsIDQ0NTEwLCA0NDUxNSwgNDQ1MjEsIDQ0NTI3LCA0NDUzMiwgNDQ1MzgsIDQ0NTQ0LCA0NDU1MCwgCi0gICAgNDQ1NTYsIDQ0NTYyLCA0NDU2NywgNDQ1NzMsIDQ0NTc5LCA0NDU4NSwgNDQ1OTAsIDQ0NTk2LCA0NDYwMiwgNDQ2MDgsIAotICAgIDQ0NjEzLCA0NDYxOSwgNDQ2MjUsIDQ0NjMwLCA0NDYzNSwgNDQ2NDEsIDQ0NjQ2LCA0NDY1MiwgNDQ2NTgsIDQ0NjYzLCAKLSAgICA0NDY2OSwgNDQ2NzUsIDQ0NjgwLCA0NDY4NiwgNDQ2OTIsIDQ0Njk4LCA0NDcwNCwgNDQ3MTAsIDQ0NzE1LCA0NDcyMSwgCi0gICAgNDQ3MjcsIDQ0NzMzLCA0NDczOCwgNDQ3NDQsIDQ0NzUwLCA0NDc1NiwgNDQ3NjEsIDQ0NzY3LCA0NDc3MywgNDQ3NzgsIAotICAgIDQ0NzgzLCA0NDc4OSwgNDQ3OTQsIDQ0ODAwLCA0NDgwNiwgNDQ4MTEsIDQ0ODE3LCA0NDgyMywgNDQ4MjgsIDQ0ODM0LCAKLSAgICA0NDg0MCwgNDQ4NDYsIDQ0ODUyLCA0NDg1OCwgNDQ4NjIsIDQ0ODY3LCA0NDg3MiwgNDQ4NzcsIDQ0ODgyLCA0NDg4NywgCi0gICAgNDQ4OTIsIDQ0ODk3LCA0NDkwMiwgNDQ5MDcsIDQ0OTEyLCA0NDkxNiwgNDQ5MjAsIDQ0OTI0LCA0NDkyOCwgNDQ5MzIsIAotICAgIDQ0OTM2LCA0NDk0MCwgNDQ5NDQsIDQ0OTQ4LCA0NDk1MywgNDQ5NTgsIDQ0OTYzLCA0NDk2OCwgNDQ5NzMsIDQ0OTc4LCAKLSAgICA0NDk4NywgNDQ5OTYsIDQ1MDA1LCA0NTAxNCwgNDUwMjMsIDQ1MDMyLCA0NTA0MSwgNDUwNTAsIDQ1MDU3LCA0NTA2NSwgCi0gICAgNDUwNzMsIDQ1MDgwLCA0NTA4NywgNDUwOTUsIDQ1MTAzLCA0NTExMCwgNDUxMTcsIDQ1MTI1LCA0NTEzMywgNDUxNDAsIAotICAgIDQ1MTQ3LCA0NTE1NSwgNDUxNjMsIDQ1MTcwLCA0NTE3NywgNDUxODUsIDQ1MTk0LCA0NTIwMywgNDUyMTEsIDQ1MjIwLCAKLSAgICA0NTIyOSwgNDUyMzYsIDQ1MjQzLCA0NTI1MSwgNDUyNjAsIDQ1MjY5LCA0NTI3NywgNDUyODYsIDQ1Mjk1LCA0NTMwMiwgCi0gICAgNDUzMDksIDQ1MzE4LCA0NTMyNywgNDUzMzUsIDQ1MzQzLCA0NTM1MiwgNDUzNjEsIDQ1MzY4LCA0NTM3NSwgNDUzODQsIAotICAgIDQ1MzkzLCA0NTQwMSwgNDU0MDksIDQ1NDE4LCA0NTQyNywgNDU0MzQsIDQ1NDQxLCA0NTQ1MCwgNDU0NTksIDQ1NDY3LCAKLSAgICA0NTQ3NiwgNDU0ODUsIDQ1NDkzLCA0NTUwMywgNDU1MTMsIDQ1NTIzLCA0NTUzMywgNDU1NDIsIDQ1NTUxLCA0NTU2MCwgCi0gICAgNDU1NjksIDQ1NTc2LCA0NTU4NCwgNDU1OTIsIDQ1NjAwLCA0NTYwOCwgNDU2MTMsIDQ1NjE4LCA0NTYyNywgNDU2MzUsIAotICAgIDQ1NjQyLCA0NTY1MSwgNDU2NTksIDQ1NjY2LCA0NTY3NSwgNDU2ODMsIDQ1NjkwLCA0NTY5OSwgNDU3MDcsIDQ1NzE0LCAKLSAgICA0NTcyMywgNDU3MzEsIDQ1NzM4LCA0NTc0NywgNDU3NTUsIDQ1NzYyLCA0NTc3MSwgNDU3NzksIDQ1Nzg2LCA0NTc5NSwgCi0gICAgNDU4MDMsIDQ1ODEwLCA0NTgxOSwgNDU4MjcsIDQ1ODM0LCA0NTg0MywgNDU4NTIsIDQ1ODYxLCA0NTg3MCwgNDU4ODQsIAotICAgIDQ1ODk4LCA0NTkwNSwgNDU5MTAsIDQ1OTE1LCA0NTkyMCwgNDU5MjUsIDQ1OTMwLCA0NTkzNSwgNDU5NDAsIDQ1OTQ1LCAKLSAgICA0NTk1MywgNDU5NjEsIDQ1OTY5LCA0NTk3NywgNDU5ODIsIDQ1OTg5LCA0NTk5NiwgNDYwMDMsIDQ2MDA4LCA0NjAxNiwgCi0gICAgNDYwMjMsIDQ2MDMxLCA0NjAzNSwgNDYwNDIsIDQ2MDQ4LCA0NjA1NSwgNDYwNTksIDQ2MDY1LCA0NjA3MSwgNDYwNzcsIAotICAgIDQ2MDgxLCA0NjA4NCwgNDYwODgsIDQ2MDkyLCA0NjA5OSwgNDYxMDUsIDQ2MTExLCA0NjExNywgNDYxMjMsIDQ2MTM3LCAKLSAgICA0NjE0NywgNDYxNjEsIDQ2MTc1LCA0NjE4MSwgNDYxOTEsIDQ2MjA1LCA0NjIwOCwgNDYyMTEsIDQ2MjE4LCA0NjIyNiwgCi0gICAgNDYyMzEsIDQ2MjM2LCA0NjI0NCwgNDYyNTYsIDQ2MjY4LCA0NjI3NiwgNDYyODAsIDQ2Mjg0LCA0NjI4NywgNDYyOTAsIAotICAgIDQ2Mjk0LCA0NjI5OCwgNDYzMDEsIDQ2MzA0LCA0NjMwOSwgNDYzMTQsIDQ2MzIwLCA0NjMyNiwgNDYzMzEsIDQ2MzM2LCAKLSAgICA0NjM0MiwgNDYzNDgsIDQ2MzUzLCA0NjM1OCwgNDYzNjMsIDQ2MzY4LCA0NjM3NCwgNDYzODAsIDQ2Mzg1LCA0NjM5MCwgCi0gICAgNDYzOTYsIDQ2NDAyLCA0NjQwNywgNDY0MTIsIDQ2NDE1LCA0NjQxOCwgNDY0MjcsIDQ2NDI5LCA0NjQzMSwgNDY0MzQsIAotICAgIDQ2NDM4LCA0NjQ0NCwgNDY0NDYsIDQ2NDQ5LCA0NjQ1NiwgNDY0NjMsIDQ2NDcxLCA0NjQ3OSwgNDY0ODksIDQ2NTAzLCAKLSAgICA0NjUwOCwgNDY1MTMsIDQ2NTE3LCA0NjUyMiwgNDY1MzAsIDQ2NTM4LCA0NjU0NywgNDY1NTYsIDQ2NTY1LCA0NjU3NCwgCi0gICAgNDY1NzksIDQ2NTg0LCA0NjU5MCwgNDY1OTYsIDQ2NjAyLCA0NjYwOCwgNDY2MTEsIDQ2NjE3LCA0NjYyMywgNDY2MzMsIAotICAgIDQ2NjQzLCA0NjY1MSwgNDY2NTksIDQ2NjY4LCA0NjY3NywgNDY2ODEsIDQ2Njg5LCA0NjY5NywgNDY3MDUsIDQ2NzEzLCAKLSAgICA0NjcyMiwgNDY3MzEsIDQ2NzQwLCA0Njc0OSwgNDY3NTQsIDQ2NzU5LCA0Njc2NCwgNDY3NjksIDQ2Nzc0LCA0Njc4MCwgCi0gICAgNDY3ODYsIDQ2NzkxLCA0Njc5NywgNDY3OTksIDQ2ODAxLCA0NjgwMywgNDY4MDUsIDQ2ODA4LCA0NjgxMSwgNDY4MTMsIAotICAgIDQ2ODE1LCA0NjgxNywgNDY4MjEsIDQ2ODI1LCA0NjgyNywgNDY4MjksIDQ2ODMyLCA0NjgzNSwgNDY4MzksIDQ2ODQ1LCAKLSAgICA0Njg1MSwgNDY4NTMsIDQ2ODYwLCA0Njg2NCwgNDY4NjksIDQ2ODc0LCA0Njg3NiwgNDY4ODYsIDQ2ODkyLCA0Njg5OCwgCi0gICAgNDY5MDQsIDQ2OTEwLCA0NjkxNiwgNDY5MjIsIDQ2OTI3LCA0NjkzMCwgNDY5MzMsIDQ2OTM2LCA0NjkzOCwgNDY5NDAsIAotICAgIDQ2OTQ0LCA0Njk0OCwgNDY5NTMsIDQ2OTU4LCA0Njk2MywgNDY5NjYsIDQ2OTcwLCA0Njk3NSwgNDY5NzgsIDQ2OTgyLCAKLSAgICA0Njk4NywgNDY5OTIsIDQ2OTk3LCA0NzAwMiwgNDcwMDcsIDQ3MDEyLCA0NzAxNywgNDcwMjIsIDQ3MDI3LCA0NzAzMiwgCi0gICAgNDcwMzcsIDQ3MDQyLCA0NzA0OCwgNDcwNTQsIDQ3MDYwLCA0NzA2MiwgNDcwNjUsIDQ3MDY3LCA0NzA3MCwgNDcwNzIsIAotICAgIDQ3MDc0LCA0NzA3NiwgNDcwNzgsIDQ3MDgwLCA0NzA4MiwgNDcwODQsIDQ3MDg2LCA0NzA4OCwgNDcwOTAsIDQ3MDkyLCAKLSAgICA0NzA5NCwgNDcwOTYsIDQ3MDk4LCA0NzEwMCwgNDcxMDIsIDQ3MTA0LCA0NzEwOSwgNDcxMTQsIDQ3MTE5LCA0NzEyNCwgCi0gICAgNDcxMjksIDQ3MTM0LCA0NzEzOSwgNDcxNDQsIDQ3MTQ5LCA0NzE1NCwgNDcxNTksIDQ3MTY0LCA0NzE2OSwgNDcxNzQsIAotICAgIDQ3MTc5LCA0NzE4NCwgNDcxODksIDQ3MTk0LCA0NzE5OSwgNDcyMDQsIDQ3MjA4LCA0NzIxMiwgNDcyMTYsIDQ3MjIyLCAKLSAgICA0NzIyOCwgNDcyMzMsIDQ3MjM4LCA0NzI0MywgNDcyNDgsIDQ3MjUzLCA0NzI1OCwgNDcyNjYsIDQ3Mjc0LCA0NzI4MiwgCi0gICAgNDcyOTAsIDQ3Mjk4LCA0NzMwNiwgNDczMTQsIDQ3MzIyLCA0NzMyOCwgNDczMzMsIDQ3MzM4LCA0NzM0MywgNDczNDYsIAotICAgIDQ3MzUwLCA0NzM1NCwgNDczNTgsIDQ3MzYyLCA0NzM2NiwgNDczNzAsIDQ3Mzc3LCA0NzM4NCwgNDczOTIsIDQ3NDAwLCAKLSAgICA0NzQwNSwgNDc0MTAsIDQ3NDE3LCA0NzQyNCwgNDc0MzEsIDQ3NDM4LCA0NzQ0MSwgNDc0NDQsIDQ3NDQ5LCA0NzQ1MSwgCi0gICAgNDc0NTUsIDQ3NDYwLCA0NzQ2MiwgNDc0NjQsIDQ3NDY2LCA0NzQ2OCwgNDc0NzMsIDQ3NDc2LCA0NzQ3OCwgNDc0ODMsIAotICAgIDQ3NDkwLCA0NzQ5NywgNDc1MDAsIDQ3NTA0LCA0NzUwOSwgNDc1MTQsIDQ3NTIyLCA0NzUyOCwgNDc1MzQsIDQ3NTQ2LCAKLSAgICA0NzU1MywgNDc1NjAsIDQ3NTY1LCA0NzU3MCwgNDc1NzYsIDQ3NTc5LCA0NzU4MiwgNDc1ODcsIDQ3NTg5LCA0NzU5MywgCi0gICAgNDc1OTUsIDQ3NTk3LCA0NzU5OSwgNDc2MDEsIDQ3NjAzLCA0NzYwNSwgNDc2MTAsIDQ3NjEyLCA0NzYxNCwgNDc2MTYsIAotICAgIDQ3NjE4LCA0NzYyMiwgNDc2MjQsIDQ3NjI3LCA0NzYzMiwgNDc2MzcsIDQ3NjQyLCA0NzY0NywgNDc2NTMsIDQ3NjU5LCAKLSAgICA0NzY2MSwgNDc2NjQsIDQ3NjcxLCA0NzY3OCwgNDc2ODUsIDQ3NjkyLCA0NzY5NiwgNDc3MDAsIDQ3NzAyLCA0NzcwNCwgCi0gICAgNDc3MDgsIDQ3NzE0LCA0NzcxOSwgNDc3MjEsIDQ3NzI1LCA0NzczNCwgNDc3NDIsIDQ3NzUwLCA0Nzc1NiwgNDc3NjIsIAotICAgIDQ3NzY3LCA0Nzc3MywgNDc3NzgsIDQ3NzgxLCA0Nzc5NSwgNDc3OTgsIDQ3ODAzLCA0NzgwOCwgNDc4MTQsIDQ3ODI0LCAKLSAgICA0NzgyNiwgNDc4MzIsIDQ3ODM4LCA0Nzg0MiwgNDc4NDksIDQ3ODUzLCA0Nzg1NSwgNDc4NTcsIDQ3ODYxLCA0Nzg2NywgCi0gICAgNDc4NzIsIDQ3ODc4LCA0Nzg4MCwgNDc4ODYsIDQ3ODg4LCA0Nzg5NCwgNDc4OTYsIDQ3ODk4LCA0NzkwMywgNDc5MDUsIAotICAgIDQ3OTA5LCA0NzkxNCwgNDc5MTYsIDQ3OTIxLCA0NzkyNiwgNDc5MzAsIDQ3OTM3LCAwLCA0Nzk0NywgNDc5NTMsIDQ3OTU2LCAKLSAgICA0Nzk2MiwgNDc5NjUsIDQ3OTcwLCA0Nzk3NSwgNDc5NzksIDQ3OTgxLCA0Nzk4MywgNDc5ODcsIDQ3OTkxLCA0Nzk5NSwgCi0gICAgNDc5OTksIDQ4MDA0LCA0ODAwNiwgNDgwMTEsIDQ4MDE0LCA0ODAxNywgNDgwMjAsIDQ4MDI0LCA0ODAyOCwgNDgwMzMsIAotICAgIDQ4MDM3LCA0ODA0MiwgNDgwNDcsIDQ4MDUxLCA0ODA1NiwgNDgwNjIsIDQ4MDY1LCA0ODA3MSwgNDgwNzYsIDQ4MDgwLCAKLSAgICA0ODA4NSwgNDgwOTEsIDQ4MDk3LCA0ODEwNCwgNDgxMTAsIDQ4MTE3LCA0ODEyNCwgNDgxMjYsIDQ4MTMzLCA0ODEzNywgCi0gICAgNDgxNDMsIDQ4MTQ5LCA0ODE1NCwgNDgxNjAsIDQ4MTY0LCA0ODE2OSwgNDgxNzIsIDQ4MTc3LCA0ODE4MywgNDgxOTAsIAotICAgIDQ4MTk4LCA0ODIwNSwgNDgyMTQsIDQ4MjI0LCA0ODIzMSwgNDgyMzcsIDQ4MjQxLCA0ODI0OCwgNDgyNTMsIDQ4MjYyLCAKLSAgICA0ODI2NSwgNDgyNjgsIDQ4Mjc3LCA0ODI4NywgNDgyOTQsIDQ4Mjk2LCA0ODMwMiwgNDgzMDcsIDQ4MzA5LCA0ODMxMiwgCi0gICAgNDgzMTYsIDQ4MzI0LCA0ODMzMywgNDgzMzYsIDQ4MzQxLCA0ODM0NiwgNDgzNTQsIDQ4MzYyLCA0ODM3MCwgNDgzNzgsIAotICAgIDQ4Mzg0LCA0ODM5MCwgNDgzOTYsIDQ4NDA0LCA0ODQwOSwgNDg0MTIsIDQ4NDE2LCA0ODQxOSwgNDg0MzEsIDQ4NDQxLCAKLSAgICA0ODQ1MiwgNDg0NjEsIDQ4NDcyLCA0ODQ4MiwgNDg0OTEsIDQ4NDk3LCA0ODUwNSwgNDg1MDksIDQ4NTE3LCA0ODUyMSwgCi0gICAgNDg1MjksIDQ4NTM2LCA0ODU0MywgNDg1NTIsIDQ4NTYxLCA0ODU3MSwgNDg1ODEsIDQ4NTkxLCA0ODYwMSwgNDg2MTAsIAotICAgIDQ4NjE5LCA0ODYyOSwgNDg2MzksIDQ4NjQ4LCA0ODY1NywgNDg2NjMsIDQ4NjY5LCA0ODY3NSwgNDg2ODEsIDQ4Njg3LCAKLSAgICA0ODY5MywgNDg2OTksIDQ4NzA1LCA0ODcxMSwgNDg3MTgsIDQ4NzI0LCA0ODczMCwgNDg3MzYsIDQ4NzQyLCA0ODc0OCwgCi0gICAgNDg3NTQsIDQ4NzYwLCA0ODc2NiwgNDg3NzIsIDQ4Nzc5LCA0ODc4NiwgNDg3OTMsIDQ4ODAwLCA0ODgwNywgNDg4MTQsIAotICAgIDQ4ODIxLCA0ODgyOCwgNDg4MzUsIDQ4ODQyLCA0ODg1MCwgNDg4NTUsIDQ4ODU4LCA0ODg2MiwgNDg4NjYsIDQ4ODcyLCAKLSAgICA0ODg3NSwgNDg4ODEsIDQ4ODg3LCA0ODg5MiwgNDg4OTYsIDQ4OTAxLCA0ODkwNywgNDg5MTQsIDQ4OTE3LCA0ODkyNCwgCi0gICAgNDg5MzEsIDQ4OTM1LCA0ODk0NCwgNDg5NTMsIDQ4OTU4LCA0ODk2NCwgNDg5NjksIDQ4OTc0LCA0ODk4MSwgNDg5ODgsIAotICAgIDQ4OTk2LCA0OTAwNCwgNDkwMTMsIDQ5MDE3LCA0OTAyNiwgNDkwMzEsIDQ5MDM1LCA0OTA0MiwgNDkwNDYsIDQ5MDUzLCAKLSAgICA0OTA2MSwgNDkwNjYsIDQ5MDc0LCA0OTA3OCwgNDkwODMsIDQ5MDg3LCA0OTA5MiwgNDkwOTYsIDQ5MTAxLCA0OTEwNiwgCi0gICAgNDkxMTUsIDQ5MTE3LCA0OTEyMCwgNDkxMjMsIDQ5MTMwLCA0OTEzNywgNDkxNDIsIDQ5MTUwLCA0OTE1NiwgNDkxNjIsIAotICAgIDQ5MTY3LCA0OTE3MCwgNDkxNzUsIDQ5MTgwLCA0OTE4NSwgNDkxOTMsIDQ5MTk3LCA0OTIwNCwgNDkyMTIsIDQ5MjIwLCAKLSAgICA0OTIyNSwgNDkyMzAsIDQ5MjM2LCA0OTI0MSwgNDkyNDYsIDQ5MjUyLCA0OTI1NywgNDkyNjAsIDQ5MjY0LCA0OTI2OCwgCi0gICAgNDkyNzUsIDQ5Mjg0LCA0OTI4OSwgNDkyOTgsIDQ5MzA3LCA0OTMxMywgNDkzMTksIDQ5MzI0LCA0OTMyOSwgNDkzMzQsIAotICAgIDQ5MzM5LCA0OTM0NSwgNDkzNTEsIDQ5MzU5LCA0OTM2NywgNDkzNzMsIDQ5Mzc5LCA0OTM4NCwgNDkzODksIDQ5Mzk2LCAKLSAgICA0OTQwMywgNDk0MDksIDQ5NDEyLCA0OTQxNSwgNDk0MTksIDQ5NDIzLCA0OTQyNywgNDk0MzIsIDQ5NDM4LCA0OTQ0NCwgCi0gICAgNDk0NTEsIDQ5NDU4LCA0OTQ2MywgNDk0NjcsIDQ5NDcxLCA0OTQ3NSwgNDk0NzksIDQ5NDgzLCA0OTQ4NywgNDk0OTEsIAotICAgIDQ5NDk1LCA0OTQ5OSwgNDk1MDMsIDQ5NTA3LCA0OTUxMSwgNDk1MTUsIDQ5NTE5LCA0OTUyMywgNDk1MjcsIDQ5NTMxLCAKLSAgICA0OTUzNSwgNDk1MzksIDQ5NTQzLCA0OTU0NywgNDk1NTEsIDQ5NTU1LCA0OTU1OSwgNDk1NjMsIDQ5NTY3LCA0OTU3MSwgCi0gICAgNDk1NzUsIDQ5NTc5LCA0OTU4MywgNDk1ODcsIDQ5NTkxLCA0OTU5NSwgNDk1OTksIDQ5NjAzLCA0OTYwNywgNDk2MTEsIAotICAgIDQ5NjE1LCA0OTYxOSwgNDk2MjMsIDQ5NjI3LCA0OTYzMSwgNDk2MzUsIDQ5NjM5LCA0OTY0MywgNDk2NDcsIDQ5NjUxLCAKLSAgICA0OTY1NSwgNDk2NTksIDQ5NjYzLCA0OTY2NywgNDk2NzEsIDQ5Njc1LCA0OTY3OSwgNDk2ODMsIDQ5Njg3LCA0OTY5MSwgCi0gICAgNDk2OTUsIDQ5Njk5LCA0OTcwMywgNDk3MDcsIDQ5NzExLCA0OTcxNSwgNDk3MTksIDQ5NzIzLCA0OTcyNywgNDk3MzEsIAotICAgIDQ5NzM1LCA0OTczOSwgNDk3NDMsIDQ5NzQ3LCA0OTc1MSwgNDk3NTUsIDQ5NzU5LCA0OTc2MywgNDk3NjcsIDQ5NzcxLCAKLSAgICA0OTc3NSwgNDk3NzksIDQ5NzgzLCA0OTc4NywgNDk3OTEsIDQ5Nzk1LCA0OTc5OSwgNDk4MDMsIDQ5ODA3LCA0OTgxMSwgCi0gICAgNDk4MTUsIDQ5ODE5LCA0OTgyMywgNDk4MjcsIDQ5ODMxLCA0OTgzNSwgNDk4MzksIDQ5ODQzLCA0OTg0NywgNDk4NTEsIAotICAgIDQ5ODU1LCA0OTg1OSwgNDk4NjMsIDQ5ODY3LCA0OTg3MSwgNDk4NzUsIDQ5ODc5LCA0OTg4MywgNDk4ODcsIDQ5ODkxLCAKLSAgICA0OTg5NSwgNDk4OTksIDQ5OTAzLCA0OTkwNywgNDk5MTEsIDQ5OTE1LCA0OTkxOSwgNDk5MjMsIDQ5OTI3LCA0OTkzMSwgCi0gICAgNDk5MzUsIDQ5OTM5LCA0OTk0MywgNDk5NDcsIDQ5OTUxLCA0OTk1NSwgNDk5NTksIDQ5OTYzLCA0OTk2NywgNDk5NzEsIAotICAgIDQ5OTc1LCA0OTk3OSwgNDk5ODMsIDQ5OTg3LCA0OTk5MSwgNDk5OTUsIDQ5OTk5LCA1MDAwMywgNTAwMDcsIDUwMDExLCAKLSAgICA1MDAxNSwgNTAwMTksIDUwMDIzLCA1MDAyNywgNTAwMzEsIDUwMDM1LCA1MDAzOSwgNTAwNDMsIDUwMDQ3LCA1MDA1MSwgCi0gICAgNTAwNTUsIDUwMDU5LCA1MDA2MywgNTAwNjcsIDUwMDcxLCA1MDA3NSwgNTAwNzksIDUwMDgzLCA1MDA4NywgNTAwOTEsIAotICAgIDUwMDk1LCA1MDA5OSwgNTAxMDMsIDUwMTA3LCA1MDExMSwgNTAxMTUsIDUwMTE5LCA1MDEyMywgNTAxMjcsIDUwMTMxLCAKLSAgICA1MDEzNSwgNTAxMzksIDUwMTQzLCA1MDE0NywgNTAxNTEsIDUwMTU1LCA1MDE1OSwgNTAxNjMsIDUwMTY3LCA1MDE3MSwgCi0gICAgNTAxNzUsIDUwMTc5LCA1MDE4MywgNTAxODcsIDUwMTkxLCA1MDE5NSwgNTAxOTksIDUwMjAzLCA1MDIwNywgNTAyMTEsIAotICAgIDUwMjE1LCA1MDIxOSwgNTAyMjMsIDUwMjI3LCA1MDIzMSwgNTAyMzUsIDUwMjM5LCA1MDI0MywgNTAyNDcsIDUwMjUxLCAKLSAgICA1MDI1NSwgNTAyNTksIDUwMjYzLCA1MDI2NywgNTAyNzEsIDUwMjc1LCA1MDI3OSwgNTAyODMsIDUwMjg3LCA1MDI5MSwgCi0gICAgNTAyOTUsIDUwMjk5LCA1MDMwMywgNTAzMDcsIDUwMzExLCA1MDMxNSwgNTAzMTksIDUwMzIzLCA1MDMyNywgNTAzMzEsIAotICAgIDUwMzM1LCA1MDMzOSwgNTAzNDMsIDUwMzQ3LCA1MDM1MSwgNTAzNTUsIDUwMzU5LCA1MDM2MywgNTAzNjcsIDUwMzcxLCAKLSAgICA1MDM3NSwgNTAzNzksIDUwMzgzLCA1MDM4NywgNTAzOTEsIDUwMzk1LCA1MDM5OSwgNTA0MDMsIDUwNDA3LCA1MDQxMSwgCi0gICAgNTA0MTUsIDUwNDE5LCA1MDQyMywgNTA0MjcsIDUwNDMxLCA1MDQzNSwgNTA0MzksIDUwNDQzLCA1MDQ0NywgNTA0NTEsIAotICAgIDUwNDU1LCA1MDQ1OSwgNTA0NjMsIDUwNDY3LCA1MDQ3MSwgNTA0NzUsIDUwNDc5LCA1MDQ4MywgNTA0ODcsIDUwNDk0LCAKLSAgICA1MDUwMiwgNTA1MDgsIDUwNTE0LCA1MDUyMSwgNTA1MjgsIDUwNTM0LCA1MDU0MCwgNTA1NDYsIDUwNTUyLCA1MDU1NywgCi0gICAgNTA1NjIsIDUwNTY3LCA1MDU3MiwgNTA1NzgsIDUwNTg0LCA1MDU5MiwgNTA1OTksIDUwNjA1LCA1MDYxMSwgNTA2MTksIAotICAgIDUwNjI4LCA1MDYzNSwgNTA2NDUsIDUwNjU2LCA1MDY1OSwgNTA2NjIsIDUwNjY2LCA1MDY3MCwgNTA2NzcsIDUwNjg0LCAKLSAgICA1MDY5NSwgNTA3MDYsIDUwNzE2LCA1MDcyNiwgNTA3MzMsIDUwNzQwLCA1MDc0NywgNTA3NTQsIDUwNzY1LCA1MDc3NiwgCi0gICAgNTA3ODcsIDUwNzk4LCA1MDgwOCwgNTA4MTgsIDUwODMwLCA1MDg0MiwgNTA4NTMsIDUwODY0LCA1MDg3NiwgNTA4ODgsIAotICAgIDUwODk3LCA1MDkwNywgNTA5MTcsIDUwOTI4LCA1MDkzOSwgNTA5NDYsIDUwOTUzLCA1MDk2MCwgNTA5NjcsIDUwOTc3LCAKLSAgICA1MDk4NywgNTA5OTUsIDUxMDAzLCA1MTAxMCwgNTEwMTcsIDUxMDI0LCA1MTAzMSwgNTEwMzgsIDUxMDQzLCA1MTA0OCwgCi0gICAgNTEwNTQsIDUxMDYyLCA1MTA3MiwgNTEwODIsIDUxMDkyLCA1MTEwMiwgNTExMTIsIDUxMTIyLCA1MTEzMiwgNTExNDIsIAotICAgIDUxMTUyLCA1MTE2MiwgNTExNzIsIDUxMTgzLCA1MTE5NCwgNTEyMDQsIDUxMjE0LCA1MTIyNSwgNTEyMzYsIDUxMjQ2LCAKLSAgICA1MTI1NiwgNTEyNjcsIDUxMjc4LCA1MTI4OCwgNTEyOTgsIDUxMzA5LCA1MTMyMCwgNTEzMzYsIDUxMzU1LCA1MTM3MSwgCi0gICAgNTEzOTAsIDUxNDA2LCA1MTQyMiwgNTE0MzgsIDUxNDU0LCA1MTQ2NSwgNTE0NzcsIDUxNDg4LCA1MTUwMCwgNTE1MTksIAotICAgIDUxNTM4LCA1MTU0NiwgNTE1NTIsIDUxNTU5LCA1MTU2NiwgNTE1NzMsIDUxNTgwLCA1MTU4NSwgNTE1OTEsIDUxNTk2LCAKLSAgICA1MTYwMSwgNTE2MDcsIDUxNjEyLCA1MTYxNywgNTE2MjIsIDUxNjI3LCA1MTYzMiwgNTE2MzksIDUxNjQ0LCA1MTY1MSwgCi0gICAgNTE2NTYsIDUxNjYxLCA1MTY2NSwgNTE2NjksIDUxNjc2LCA1MTY4MywgNTE2OTAsIDUxNjk3LCA1MTcwNCwgNTE3MTEsIAotICAgIDUxNzI0LCA1MTczNywgNTE3NTAsIDUxNzYzLCA1MTc3MSwgNTE3NzksIDUxNzg1LCA1MTc5MSwgNTE3OTgsIDUxODA1LCAKLSAgICA1MTgxMiwgNTE4MTksIDUxODIzLCA1MTgyOCwgNTE4MzYsIDUxODQ0LCA1MTg1MiwgNTE4NTksIDUxODYzLCA1MTg3MSwgCi0gICAgNTE4NzksIDUxODgzLCA1MTg4NywgNTE4OTIsIDUxODk5LCA1MTkwNywgNTE5MTUsIDUxOTM0LCA1MTk1MywgNTE5NzIsIAotICAgIDUxOTkxLCA1MjAxMCwgNTIwMjksIDUyMDQ4LCA1MjA2NywgNTIwNzMsIDUyMDgwLCA1MjA4OSwgNTIwOTcsIDUyMTA1LCAKLSAgICA1MjExMCwgNTIxMTMsIDUyMTE2LCA1MjEyMSwgNTIxMjQsIDUyMTQzLCA1MjE1MCwgNTIxNTYsIDUyMTYyLCA1MjE2NiwgCi0gICAgNTIxNjksIDUyMTcyLCA1MjE3NSwgNTIxODcsIDUyMjAwLCA1MjIwNywgNTIyMTQsIDUyMjE3LCA1MjIyMSwgNTIyMjQsIAotICAgIDUyMjI5LCA1MjIzNCwgNTIyMzksIDUyMjQ1LCA1MjI1NCwgNTIyNjEsIDUyMjY4LCA1MjI3NiwgNTIyODMsIDUyMjkwLCAKLSAgICA1MjI5MywgNTIyOTksIDUyMzA1LCA1MjMwOCwgNTIzMTEsIDUyMzE2LCA1MjMyMSwgNTIzMjcsIDUyMzMzLCA1MjMzNywgCi0gICAgNTIzNDIsIDUyMzQ5LCA1MjM1MywgNTIzNTksIDUyMzYzLCA1MjM2NywgNTIzNzUsIDUyMzg3LCA1MjM5NiwgNTI0MDAsIAotICAgIDUyNDAyLCA1MjQxMSwgNTI0MjAsIDUyNDI2LCA1MjQyOSwgNTI0MzUsIDUyNDQxLCA1MjQ0NiwgNTI0NTEsIDUyNDU2LCAKLSAgICA1MjQ2MSwgNTI0NjYsIDUyNDcxLCA1MjQ3MywgNTI0NzksIDUyNDg0LCA1MjQ5MSwgNTI0OTUsIDUyNTAxLCA1MjUwNCwgCi0gICAgNTI1MDgsIDUyNTE1LCA1MjUyMiwgNTI1MjQsIDUyNTI2LCA1MjUzMiwgNTI1MzgsIDUyNTQ0LCA1MjU1MywgNTI1NjIsIAotICAgIDUyNTY5LCA1MjU3NiwgNTI1ODIsIDUyNTg4LCA1MjU5MywgNTI1OTgsIDUyNjAzLCA1MjYwOSwgNTI2MTUsIDUyNjIwLCAKLSAgICA1MjYyNywgNTI2MzEsIDUyNjM1LCA1MjY0OCwgNTI2NjEsIDUyNjczLCA1MjY4MiwgNTI2ODgsIDUyNjk1LCA1MjcwMCwgCi0gICAgNTI3MDUsIDUyNzEwLCA1MjcxNSwgNTI3MjAsIDUyNzIyLCA1MjcyOSwgNTI3MzYsIDUyNzQzLCA1Mjc1MCwgNTI3NTcsIAotICAgIDUyNzY1LCA1Mjc3MSwgNTI3NzYsIDUyNzgyLCA1Mjc4OCwgNTI3OTQsIDUyODAxLCA1MjgwNywgNTI4MTUsIDUyODIzLCAKLSAgICA1MjgzMSwgNTI4MzksIDUyODQ2LCA1Mjg1MiwgNTI4NTgsIDUyODY3LCA1Mjg3MSwgNTI4ODAsIDUyODg5LCA1Mjg5OCwgCi0gICAgNTI5MDYsIDUyOTEwLCA1MjkxNiwgNTI5MjMsIDUyOTMwLCA1MjkzNCwgNTI5NDAsIDUyOTQ3LCA1Mjk1MiwgNTI5NTcsIAotICAgIDUyOTYzLCA1Mjk2OCwgNTI5NzMsIDUyOTgwLCA1Mjk4NywgNTI5OTIsIDUyOTk3LCA1MzAwNSwgNTMwMTMsIDUzMDIzLCAKLSAgICA1MzAzMywgNTMwNDAsIDUzMDQ3LCA1MzA1MSwgNTMwNTUsIDUzMDY3LCA1MzA3MywgNTMwNzksIDUzMDg0LCA1MzA4OSwgCi0gICAgNTMwOTYsIDUzMTAzLCA1MzEwOSwgNTMxMTUsIDUzMTI0LCA1MzEzMiwgNTMxNDAsIDUzMTQ3LCA1MzE1NCwgNTMxNjEsIAotICAgIDUzMTY3LCA1MzE3NCwgNTMxODAsIDUzMTg3LCA1MzE5NCwgNTMyMDEsIDUzMjA4LCA1MzIxNCwgNTMyMTksIDUzMjI4LCAKLSAgICA1MzIzOCwgNTMyNDUsIDUzMjU0LCA1MzI2MCwgNTMyNjUsIDUzMjcwLCA1MzI4MCwgNTMyODYsIDUzMjkyLCA1MzI5OCwgCi0gICAgNTMzMDYsIDUzMzExLCA1MzMxOCwgNTMzMjUsIDUzMzM2LCA1MzM0MywgNTMzNTAsIDUzMzU3LCA1MzM2NCwgNTMzNzEsIAotICAgIDUzMzc4LCA1MzM4NSwgNTMzOTcsIDUzNDA5LCA1MzQyMCwgNTM0MzEsIDUzNDQ0LCA1MzQ1NywgNTM0NjIsIDUzNDY3LCAKLSAgICA1MzQ3NiwgNTM0ODUsIDUzNDkyLCA1MzQ5OSwgNTM1MDgsIDUzNTE3LCA1MzUyNSwgNTM1MzMsIDUzNTQxLCA1MzU0OSwgCi0gICAgNTM1NTksIDUzNTY5LCA1MzU4MywgNTM1OTcsIDUzNjA1LCA1MzYxMywgNTM2MjUsIDUzNjM3LCA1MzY0NSwgNTM2NTMsIAotICAgIDUzNjYzLCA1MzY3MywgNTM2NzgsIDUzNjgzLCA1MzY5MiwgNTM3MDEsIDUzNzA2LCA1MzcxMSwgNTM3MTksIDUzNzI1LCAKLSAgICA1MzczMSwgNTM3MzksIDUzNzQ3LCA1Mzc2MCwgNTM3NzMsIDUzNzc3LCA1Mzc4MSwgNTM3ODgsIDUzNzk1LCA1MzgwMiwgCi0gICAgNTM4MTAsIDUzODE4LCA1MzgyNywgNTM4MzYsIDUzODQyLCA1Mzg0OCwgNTM4NTUsIDUzODYyLCA1Mzg2OSwgNTM4NzYsIAotICAgIDUzODg1LCA1Mzg5NCwgNTM4OTcsIDUzOTAwLCA1MzkwNSwgNTM5MTAsIDUzOTE2LCA1MzkyMiwgNTM5MjksIDUzOTM2LCAKLSAgICA1Mzk0NiwgNTM5NTYsIDUzOTYzLCA1Mzk3MCwgNTM5NzgsIDUzOTg2LCA1Mzk5NCwgNTQwMDIsIDU0MDEwLCA1NDAxOCwgCi0gICAgNTQwMjQsIDU0MDMwLCA1NDAzNCwgNTQwMzgsIDU0MDQ1LCA1NDA1MiwgNTQwNTcsIDU0MDYyLCA1NDA2NywgNTQwNzIsIAotICAgIDU0MDc4LCA1NDA5MiwgNTQwOTksIDU0MTA2LCA1NDExMCwgNTQxMTIsIDU0MTE0LCA1NDExOSwgNTQxMjQsIDU0MTI5LCAKLSAgICA1NDEzNCwgNTQxNDIsIDU0MTQ5LCA1NDE1NiwgNTQxNjQsIDU0MTc2LCA1NDE4NCwgNTQxOTIsIDU0MjAzLCA1NDIwNywgCi0gICAgNTQyMTEsIDU0MjE3LCA1NDIyNSwgNTQyMzgsIDU0MjQ1LCA1NDI1MiwgNTQyNTksIDU0MjY0LCA1NDI3MSwgNTQyODAsIAotICAgIDU0Mjg4LCA1NDI5NCwgNTQzMDAsIDU0MzA2LCA1NDMxNSwgNTQzMjQsIDU0MzMyLCA1NDM0MSwgNTQzNDYsIDU0MzQ5LCAKLSAgICA1NDM1NCwgNTQzNjAsIDU0MzY2LCA1NDM3MiwgNTQzNzgsIDU0MzgyLCA1NDM4NSwgNTQzODksIDU0MzkzLCA1NDM5OSwgCi0gICAgNTQ0MDUsIDU0NDExLCA1NDQxNywgNTQ0MjEsIDU0NDI1LCA1NDQzMiwgNTQ0MzksIDU0NDQ2LCA1NDQ1MywgNTQ0NjAsIAotICAgIDU0NDY3LCA1NDQ3NywgNTQ0ODcsIDU0NDk0LCA1NDUwMSwgNTQ1MDksIDU0NTE3LCA1NDUyMSwgNTQ1MjYsIDU0NTMxLCAKLSAgICA1NDUzNywgNTQ1NDMsIDU0NTQ2LCA1NDU0OSwgNTQ1NTIsIDU0NTU1LCA1NDU1OSwgNTQ1NjQsIDU0NTY5LCA1NDU3NCwgCi0gICAgNTQ1NzksIDU0NTg0LCA1NDU4OCwgNTQ1OTIsIDU0NTk2LCA1NDYwMCwgNTQ2MDQsIDU0NjA4LCA1NDYxMiwgNTQ2MTgsIAotICAgIDU0NjIyLCA1NDYyOCwgNTQ2MzMsIDU0NjQwLCA1NDY0OCwgNTQ2NTUsIDU0NjYzLCA1NDY3MCwgNTQ2NzgsIDU0Njg3LCAKLSAgICA1NDY5NCwgNTQ3MDQsIDU0NzE1LCA1NDcyMSwgNTQ3MzAsIDU0NzM2LCA1NDc0NSwgNTQ3NTQsIDU0NzYwLCA1NDc2NiwgCi0gICAgNTQ3NzAsIDU0Nzc0LCA1NDc4MywgNTQ3OTIsIDU0Nzk5LCA1NDgwNiwgNTQ4MTUsIDAsIDAsIDAsIDU0ODI0LCA1NDgyOSwgCi0gICAgNTQ4MzMsIDU0ODM3LCA1NDg0MiwgNTQ4NDcsIDU0ODUyLCA1NDg2MCwgNTQ4NjgsIDU0ODcxLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3ODY1OCwgCisgICAgNzg2NjUsIDc4NjcyLCA3ODY3OSwgNzg2ODYsIDc4NjkyLCA3ODY5OCwgNzg3MDUsIDc4NzEyLCA3ODcxOSwgNzg3MjYsIAorICAgIDc4NzMzLCA3ODc0MCwgNzg3NDcsIDc4NzU0LCA3ODc2MSwgNzg3NjcsIDc4Nzc0LCA3ODc4MSwgNzg3ODgsIDc4Nzk1LCAKKyAgICA3ODgwMiwgNzg4MDksIDc4ODE2LCA3ODgyMywgNzg4MzAsIDc4ODM3LCA3ODg0NCwgNzg4NTMsIDc4ODYyLCA3ODg3MSwgCisgICAgNzg4ODAsIDc4ODg5LCA3ODg5OCwgNzg5MDcsIDc4OTE2LCA3ODkyNCwgNzg5MzIsIDc4OTQwLCA3ODk0OCwgNzg5NTYsIAorICAgIDc4OTY0LCA3ODk3MiwgNzg5ODAsIDc4OTg2LCA3ODk5NCwgMCwgMCwgNzkwMDIsIDc5MDA5LCA3OTAxNSwgNzkwMjEsIAorICAgIDc5MDI3LCA3OTAzMywgNzkwMzksIDc5MDQ1LCA3OTA1MSwgNzkwNTcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU0ODc1LCA1NDg4MCwgNTQ4ODUsIAotICAgIDU0ODkwLCA1NDg5NSwgNTQ5MDAsIDU0OTA1LCA1NDkxMCwgNTQ5MTUsIDU0OTIwLCA1NDkyNSwgNTQ5MzEsIDU0OTM1LCAKLSAgICA1NDk0MCwgNTQ5NDUsIDU0OTUwLCA1NDk1NSwgNTQ5NjAsIDU0OTY1LCA1NDk3MCwgNTQ5NzUsIDU0OTgwLCA1NDk4NSwgCi0gICAgNTQ5OTAsIDU0OTk1LCA1NTAwMCwgNTUwMDUsIDU1MDEwLCA1NTAxNSwgNTUwMjAsIDU1MDI1LCA1NTAzMCwgNTUwMzUsIAotICAgIDU1MDQwLCA1NTA0NSwgNTUwNTEsIDU1MDU2LCA1NTA2MiwgNTUwNzEsIDU1MDc2LCA1NTA4NCwgNTUwOTEsIDU1MTAwLCAKLSAgICA1NTEwNSwgNTUxMTAsIDU1MTE1LCA1NTEyMSwgMCwgNTUxMjgsIDU1MTMzLCA1NTEzOCwgNTUxNDMsIDU1MTQ4LCA1NTE1MywgCi0gICAgNTUxNTgsIDU1MTYzLCA1NTE2OCwgNTUxNzMsIDU1MTc4LCA1NTE4NCwgNTUxODgsIDU1MTkzLCA1NTE5OCwgNTUyMDMsIAotICAgIDU1MjA4LCA1NTIxMywgNTUyMTgsIDU1MjIzLCA1NTIyOCwgNTUyMzMsIDU1MjM4LCA1NTI0MywgNTUyNDgsIDU1MjUzLCAKLSAgICA1NTI1OCwgNTUyNjMsIDU1MjY4LCA1NTI3MywgNTUyNzgsIDU1MjgzLCA1NTI4OCwgNTUyOTMsIDU1Mjk4LCA1NTMwNCwgCi0gICAgNTUzMDksIDU1MzE1LCA1NTMyNCwgNTUzMjksIDU1MzM3LCA1NTM0NCwgNTUzNTMsIDU1MzU4LCA1NTM2MywgNTUzNjgsIAotICAgIDU1Mzc0LCAwLCA1NTM4MSwgNTUzODksIDU1Mzk3LCA1NTQwNiwgNTU0MTMsIDU1NDIxLCA1NTQyNywgNTU0MzYsIDU1NDQ0LCAKLSAgICA1NTQ1MiwgNTU0NjAsIDU1NDY4LCA1NTQ3NiwgNTU0ODQsIDU1NDg5LCA1NTQ5NiwgNTU1MDIsIDU1NTA5LCA1NTUxNywgCi0gICAgNTU1MjQsIDU1NTMxLCA1NTUzOSwgNTU1NDUsIDU1NTUxLCA1NTU1OCwgNTU1NjUsIDU1NTc1LCA1NTU4NSwgNTU1OTIsIAotICAgIDU1NTk5LCA1NTYwNCwgNTU2MTQsIDU1NjI0LCA1NTYyOSwgNTU2MzQsIDU1NjM5LCA1NTY0NCwgNTU2NDksIDU1NjU0LCAKLSAgICA1NTY1OSwgNTU2NjQsIDU1NjY5LCA1NTY3NCwgNTU2NzksIDU1Njg0LCA1NTY4OSwgNTU2OTQsIDU1Njk5LCA1NTcwNCwgCi0gICAgNTU3MDksIDU1NzE0LCA1NTcxOSwgNTU3MjQsIDU1NzI5LCA1NTczNCwgNTU3MzksIDU1NzQ0LCA1NTc0OSwgNTU3NTQsIAotICAgIDU1NzU5LCA1NTc2NCwgNTU3NjksIDU1Nzc0LCA1NTc3OCwgNTU3ODIsIDU1Nzg3LCA1NTc5MiwgNTU3OTcsIDU1ODAyLCAKLSAgICA1NTgwNywgNTU4MTIsIDU1ODE3LCA1NTgyMiwgNTU4MjcsIDU1ODMyLCA1NTgzNywgNTU4NDIsIDU1ODQ3LCA1NTg1MiwgCi0gICAgNTU4NTcsIDU1ODYyLCA1NTg2NywgNTU4NzIsIDU1ODc5LCA1NTg4NiwgNTU4OTMsIDU1OTAwLCA1NTkwNywgNTU5MTQsIAotICAgIDU1OTIxLCA1NTkyOCwgNTU5MzUsIDU1OTQyLCA1NTk0OSwgNTU5NTYsIDU1OTYzLCA1NTk3MCwgNTU5NzUsIDU1OTgwLCAKLSAgICA1NTk4NywgNTU5OTQsIDU2MDAxLCA1NjAwOCwgNTYwMTUsIDU2MDIyLCA1NjAyOSwgNTYwMzYsIDU2MDQzLCA1NjA1MCwgCi0gICAgNTYwNTcsIDU2MDY0LCA1NjA3MCwgNTYwNzYsIDU2MDgyLCA1NjA4OCwgNTYwOTUsIDU2MTAyLCA1NjEwOSwgNTYxMTYsIAotICAgIDU2MTIzLCA1NjEzMCwgNTYxMzcsIDU2MTQ0LCA1NjE1MSwgNTYxNTgsIDU2MTY2LCA1NjE3NCwgNTYxODIsIDU2MTkwLCAKLSAgICA1NjE5OCwgNTYyMDYsIDU2MjE0LCA1NjIyMiwgNTYyMjYsIDU2MjMyLCA1NjIzOCwgNTYyNDIsIDU2MjQ4LCA1NjI1NCwgCi0gICAgNTYyNjAsIDU2MjY3LCA1NjI3NCwgNTYyODEsIDU2Mjg4LCA1NjI5MywgNTYyOTksIDU2MzA1LCA1NjMxMiwgMCwgMCwgMCwgCi0gICAgMCwgMCwgNTYzMTksIDU2MzI3LCA1NjMzNiwgNTYzNDUsIDU2MzUzLCA1NjM1OSwgNTYzNjQsIDU2MzY5LCA1NjM3NCwgCi0gICAgNTYzNzksIDU2Mzg0LCA1NjM4OSwgNTYzOTQsIDU2Mzk5LCA1NjQwNCwgNTY0MDksIDU2NDE0LCA1NjQxOSwgNTY0MjQsIAotICAgIDU2NDI5LCA1NjQzNCwgNTY0MzksIDU2NDQ0LCA1NjQ0OSwgNTY0NTQsIDU2NDU5LCA1NjQ2NCwgNTY0NjksIDU2NDc0LCAKLSAgICA1NjQ3OSwgNTY0ODQsIDU2NDg5LCA1NjQ5NCwgNTY0OTksIDU2NTA0LCA1NjUwOSwgNTY1MTQsIDU2NTE5LCA1NjUyNCwgCi0gICAgNTY1MjksIDU2NTM0LCA1NjUzOSwgNTY1NDQsIDU2NTQ5LCA1NjU1NCwgMCwgNTY1NTksIDAsIDAsIDAsIDAsIDAsIDU2NTY0LCAKLSAgICAwLCAwLCA1NjU2OSwgNTY1NzMsIDU2NTc4LCA1NjU4MywgNTY1ODgsIDU2NTkzLCA1NjYwMiwgNTY2MDcsIDU2NjEyLCAKLSAgICA1NjYxNywgNTY2MjIsIDU2NjI3LCA1NjYzMiwgNTY2MzcsIDU2NjQyLCA1NjY0OSwgNTY2NTQsIDU2NjU5LCA1NjY2OCwgCi0gICAgNTY2NzUsIDU2NjgwLCA1NjY4NSwgNTY2OTAsIDU2Njk3LCA1NjcwMiwgNTY3MDksIDU2NzE0LCA1NjcxOSwgNTY3MjYsIAotICAgIDU2NzMzLCA1NjczOCwgNTY3NDMsIDU2NzQ4LCA1Njc1NSwgNTY3NjIsIDU2NzY3LCA1Njc3MiwgNTY3NzcsIDU2NzgyLCAKLSAgICA1Njc4NywgNTY3OTQsIDU2ODAxLCA1NjgwNiwgNTY4MTEsIDU2ODE2LCA1NjgyMSwgNTY4MjYsIDU2ODMxLCA1NjgzNiwgCi0gICAgNTY4NDEsIDU2ODQ2LCA1Njg1MSwgNTY4NTYsIDU2ODYzLCA1Njg2OCwgNTY4NzMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDU2ODc4LCA1Njg4NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTY4OTAsIDU2ODk1LCAKLSAgICA1Njg5OSwgNTY5MDMsIDU2OTA3LCA1NjkxMSwgNTY5MTUsIDU2OTE5LCA1NjkyMywgNTY5MjcsIDU2OTMxLCA1NjkzNSwgCi0gICAgNTY5NDEsIDU2OTQ1LCA1Njk0OSwgNTY5NTMsIDU2OTU3LCA1Njk2MSwgNTY5NjUsIDU2OTY5LCA1Njk3MywgNTY5NzcsIAotICAgIDU2OTgxLCA1Njk4NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTY5ODksIDU2OTkzLCA1Njk5NywgNTcwMDEsIAotICAgIDU3MDA1LCA1NzAwOSwgNTcwMTMsIDAsIDU3MDE3LCA1NzAyMSwgNTcwMjUsIDU3MDI5LCA1NzAzMywgNTcwMzcsIDU3MDQxLCAKLSAgICAwLCA1NzA0NSwgNTcwNDksIDU3MDUzLCA1NzA1NywgNTcwNjEsIDU3MDY1LCA1NzA2OSwgMCwgNTcwNzMsIDU3MDc3LCAKLSAgICA1NzA4MSwgNTcwODUsIDU3MDg5LCA1NzA5MywgNTcwOTcsIDAsIDU3MTAxLCA1NzEwNSwgNTcxMDksIDU3MTEzLCA1NzExNywgCi0gICAgNTcxMjEsIDU3MTI1LCAwLCA1NzEyOSwgNTcxMzMsIDU3MTM3LCA1NzE0MSwgNTcxNDUsIDU3MTQ5LCA1NzE1MywgMCwgCi0gICAgNTcxNTcsIDU3MTYxLCA1NzE2NSwgNTcxNjksIDU3MTczLCA1NzE3NywgNTcxODEsIDAsIDU3MTg1LCA1NzE4OSwgNTcxOTMsIAotICAgIDU3MTk3LCA1NzIwMSwgNTcyMDUsIDU3MjA5LCAwLCA1NzIxMywgNTcyMTgsIDU3MjIzLCA1NzIyOCwgNTcyMzMsIDU3MjM4LCAKLSAgICA1NzI0MywgNTcyNDcsIDU3MjUyLCA1NzI1NywgNTcyNjIsIDU3MjY2LCA1NzI3MSwgNTcyNzYsIDU3MjgxLCA1NzI4NiwgCi0gICAgNTcyOTAsIDU3Mjk1LCA1NzMwMCwgNTczMDUsIDU3MzEwLCA1NzMxNSwgNTczMjAsIDU3MzI0LCA1NzMyOSwgNTczMzQsIAotICAgIDU3MzQxLCA1NzM0NiwgNTczNTEsIDU3MzU3LCA1NzM2NCwgNTczNzEsIDU3MzgwLCA1NzM4NywgNTczOTYsIDU3NDAwLCAKLSAgICA1NzQwNCwgNTc0MTAsIDU3NDE2LCA1NzQyMiwgNTc0MzAsIDU3NDM2LCA1NzQ0MCwgNTc0NDQsIDU3NDQ4LCA1NzQ1NCwgCi0gICAgNTc0NjAsIDU3NDY0LCA1NzQ2NiwgNTc0NzAsIDU3NDc2LCA1NzQ3OCwgNTc0ODIsIDU3NDg2LCA1NzQ5MCwgNTc0OTYsIAotICAgIDU3NTAxLCA1NzUwNSwgNTc1MDksIDU3NTE0LCA1NzUyMCwgNTc1MjUsIDU3NTMwLCA1NzUzNSwgNTc1NDAsIDU3NTQ3LCAKLSAgICA1NzU1NCwgNTc1NTksIDU3NTY0LCA1NzU2OSwgNTc1NzQsIDU3NTc5LCA1NzU4NCwgNTc1ODgsIDU3NTkyLCA1NzU5OSwgCi0gICAgNTc2MDYsIDU3NjEyLCA1NzYxNiwgNTc2MjEsIDU3NjIzLCA1NzYyNywgNTc2MzUsIDU3NjM5LCA1NzY0MywgNTc2NDcsIAotICAgIDU3NjUxLCA1NzY1NywgNTc2NjMsIDU3NjY3LCA1NzY3MywgNTc2NzcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDc5MDYzLCA3OTA2NywgNzkwNzEsIDc5MDc1LCA3OTA3OSwgNzkwODMsIDc5MDg3LCA3OTA5MSwgCisgICAgNzkwOTUsIDc5MDk5LCA3OTEwMywgNzkxMDcsIDc5MTExLCA3OTExNSwgNzkxMTksIDc5MTIzLCA3OTEyNywgNzkxMzEsIAorICAgIDc5MTM1LCA3OTEzOSwgNzkxNDMsIDc5MTQ3LCA3OTE1MSwgMCwgMCwgMCwgMCwgNzkxNTUsIDc5MTU5LCA3OTE2MywgCisgICAgNzkxNjcsIDc5MTcxLCA3OTE3NSwgNzkxNzksIDc5MTgzLCA3OTE4NywgNzkxOTEsIDc5MTk1LCA3OTE5OSwgNzkyMDMsIAorICAgIDc5MjA3LCA3OTIxMSwgNzkyMTUsIDc5MjE5LCA3OTIyMywgNzkyMjcsIDc5MjMxLCA3OTIzNSwgNzkyMzksIDc5MjQzLCAKKyAgICA3OTI0NywgNzkyNTEsIDc5MjU1LCA3OTI1OSwgNzkyNjMsIDc5MjY3LCA3OTI3MSwgNzkyNzUsIDc5Mjc5LCA3OTI4MywgCisgICAgNzkyODcsIDc5MjkxLCA3OTI5NSwgNzkyOTksIDc5MzAzLCA3OTMwNywgNzkzMTEsIDc5MzE1LCA3OTMxOSwgNzkzMjMsIAorICAgIDc5MzI3LCA3OTMzMSwgNzkzMzUsIDc5MzM5LCA3OTM0MywgNzkzNDcsIDAsIDAsIDAsIDAsIDc5MzUxLCA3OTM1NSwgCisgICAgNzkzNTksIDc5MzYzLCA3OTM2NywgNzkzNzEsIDc5Mzc1LCA3OTM3OSwgNzkzODMsIDc5Mzg3LCA3OTM5MSwgNzkzOTUsIAorICAgIDc5Mzk5LCA3OTQwMywgNzk0MDcsIDc5NDExLCA3OTQxNSwgNzk0MTksIDc5NDIzLCA3OTQyNywgNzk0MzEsIDc5NDM1LCAKKyAgICA3OTQzOSwgNzk0NDMsIDc5NDQ3LCA3OTQ1MSwgNzk0NTUsIDc5NDU5LCA3OTQ2MywgNzk0NjcsIDc5NDcxLCA3OTQ3NSwgCisgICAgNzk0NzksIDc5NDgzLCA3OTQ4NywgNzk0OTEsIDc5NDk1LCA3OTQ5OSwgNzk1MDMsIDc5NTA3LCA3OTUxMSwgNzk1MTUsIAorICAgIDc5NTE5LCA3OTUyMywgNzk1MjcsIDc5NTMxLCA3OTUzNSwgNzk1MzksIDc5NTQzLCA3OTU0NywgNzk1NTEsIDc5NTU1LCAKKyAgICA3OTU1OSwgNzk1NjMsIDc5NTY3LCA3OTU3MSwgNzk1NzUsIDc5NTc5LCA3OTU4MywgNzk1ODcsIDc5NTkxLCA3OTU5NSwgCisgICAgNzk1OTksIDc5NjAzLCA3OTYwNywgNzk2MTEsIDc5NjE1LCA3OTYxOSwgNzk2MjMsIDc5NjI3LCA3OTYzMSwgNzk2MzUsIAorICAgIDc5NjM5LCA3OTY0MywgNzk2NDcsIDc5NjUxLCA3OTY1NSwgNzk2NTksIDc5NjYzLCA3OTY2NywgNzk2NzEsIDc5Njc1LCAKKyAgICA3OTY3OSwgNzk2ODMsIDc5Njg3LCA3OTY5MSwgNzk2OTUsIDc5Njk5LCA3OTcwMywgNzk3MDcsIDc5NzExLCA3OTcxNSwgCisgICAgNzk3MTksIDc5NzIzLCA3OTcyNywgNzk3MzEsIDc5NzM1LCA3OTczOSwgNzk3NDMsIDc5NzQ3LCA3OTc1MSwgNzk3NTUsIAorICAgIDc5NzU5LCA3OTc2MywgNzk3NjcsIDc5NzcxLCA3OTc3NSwgNzk3NzksIDc5NzgzLCA3OTc4NywgNzk3OTEsIDc5Nzk1LCAKKyAgICA3OTc5OSwgNzk4MDMsIDc5ODA3LCA3OTgxMSwgNzk4MTUsIDc5ODE5LCA3OTgyMywgNzk4MjcsIDc5ODMxLCA3OTgzNSwgCisgICAgNzk4MzksIDc5ODQzLCA3OTg0NywgNzk4NTEsIDc5ODU1LCA3OTg1OSwgNzk4NjMsIDc5ODY3LCA3OTg3MSwgNzk4NzUsIAorICAgIDc5ODc5LCA3OTg4MywgNzk4ODcsIDc5ODkxLCA3OTg5NSwgNzk4OTksIDc5OTAzLCA3OTkwNywgNzk5MTEsIDc5OTE1LCAKKyAgICA3OTkxOSwgNzk5MjMsIDc5OTI3LCA3OTkzMSwgNzk5MzUsIDc5OTM5LCA3OTk0MywgNzk5NDcsIDc5OTUxLCA3OTk1NSwgCisgICAgNzk5NTksIDc5OTYzLCA3OTk2NywgNzk5NzEsIDc5OTc1LCA3OTk3OSwgNzk5ODMsIDc5OTg3LCA3OTk5MSwgNzk5OTUsIAorICAgIDc5OTk5LCA4MDAwMywgODAwMDcsIDgwMDExLCA4MDAxNSwgODAwMTksIDgwMDIzLCA4MDAyNywgODAwMzEsIDgwMDM1LCAKKyAgICA4MDAzOSwgODAwNDMsIDgwMDQ3LCA4MDA1MSwgODAwNTUsIDgwMDU5LCA4MDA2MywgODAwNjcsIDgwMDcxLCA4MDA3NSwgCisgICAgODAwNzksIDgwMDgzLCA4MDA4NywgODAwOTEsIDgwMDk1LCA4MDA5OSwgODAxMDMsIDgwMTA3LCA4MDExMSwgODAxMTUsIAorICAgIDgwMTE5LCA4MDEyMywgODAxMjcsIDgwMTMxLCA4MDEzNSwgODAxMzksIDgwMTQzLCA4MDE0NywgODAxNTEsIDgwMTU1LCAKKyAgICA4MDE1OSwgODAxNjMsIDgwMTY3LCA4MDE3MSwgODAxNzUsIDgwMTc5LCA4MDE4MywgODAxODcsIDgwMTkxLCA4MDE5NSwgCisgICAgODAxOTksIDgwMjAzLCA4MDIwNywgODAyMTEsIDgwMjE1LCA4MDIxOSwgODAyMjMsIDgwMjI3LCA4MDIzMSwgODAyMzUsIAorICAgIDgwMjM5LCA4MDI0MywgODAyNDcsIDgwMjUxLCA4MDI1NSwgODAyNTksIDgwMjYzLCA4MDI2NywgODAyNzEsIDgwMjc1LCAKKyAgICA4MDI3OSwgODAyODMsIDgwMjg3LCA4MDI5MSwgODAyOTUsIDgwMjk5LCA4MDMwMywgODAzMDcsIDgwMzExLCA4MDMxNSwgCisgICAgODAzMTksIDgwMzIzLCA4MDMyNywgODAzMzEsIDgwMzM1LCA4MDMzOSwgODAzNDMsIDgwMzQ3LCA4MDM1MSwgODAzNTUsIAorICAgIDgwMzU5LCA4MDM2MywgODAzNjcsIDgwMzcxLCA4MDM3NSwgODAzNzksIDgwMzgzLCA4MDM4NywgODAzOTEsIDgwMzk1LCAKKyAgICA4MDM5OSwgODA0MDMsIDgwNDA3LCA4MDQxMSwgODA0MTUsIDgwNDE5LCA4MDQyMywgODA0MjcsIDgwNDMxLCA4MDQzNSwgCisgICAgODA0MzksIDgwNDQzLCA4MDQ0NywgODA0NTEsIDgwNDU1LCA4MDQ1OSwgODA0NjMsIDgwNDY3LCA4MDQ3MSwgODA0NzUsIAorICAgIDgwNDc5LCA4MDQ4MywgODA0ODcsIDgwNDkxLCA4MDQ5NSwgODA0OTksIDgwNTAzLCA4MDUwNywgODA1MTEsIDgwNTE1LCAKKyAgICA4MDUxOSwgODA1MjMsIDgwNTI3LCA4MDUzMSwgODA1MzUsIDgwNTM5LCA4MDU0MywgODA1NDcsIDgwNTUxLCA4MDU1NSwgCisgICAgODA1NTksIDgwNTYzLCA4MDU2NywgODA1NzEsIDgwNTc1LCA4MDU3OSwgODA1ODMsIDgwNTg3LCA4MDU5MSwgODA1OTUsIAorICAgIDgwNTk5LCA4MDYwMywgODA2MDcsIDgwNjExLCA4MDYxNSwgODA2MTksIDgwNjIzLCA4MDYyNywgODA2MzEsIDgwNjM1LCAKKyAgICA4MDYzOSwgODA2NDMsIDgwNjQ3LCA4MDY1MSwgODA2NTUsIDgwNjU5LCA4MDY2MywgODA2NjcsIDgwNjcxLCA4MDY3NSwgCisgICAgODA2NzksIDgwNjgzLCA4MDY4NywgODA2OTEsIDgwNjk1LCA4MDY5OSwgODA3MDMsIDgwNzA3LCA4MDcxMSwgODA3MTUsIAorICAgIDgwNzE5LCA4MDcyMywgODA3MjcsIDgwNzMxLCA4MDczNSwgODA3MzksIDgwNzQzLCA4MDc0NywgODA3NTEsIDgwNzU1LCAKKyAgICA4MDc1OSwgODA3NjMsIDgwNzY3LCA4MDc3MSwgODA3NzUsIDgwNzc5LCA4MDc4MywgODA3ODcsIDgwNzkxLCA4MDc5NSwgCisgICAgODA3OTksIDgwODAzLCA4MDgwNywgODA4MTEsIDAsIDAsIDgwODE1LCA4MDgxOSwgODA4MjMsIDgwODI3LCA4MDgzMSwgCisgICAgODA4MzUsIDgwODM5LCA4MDg0MywgODA4NDcsIDgwODUxLCA4MDg1NSwgODA4NTksIDgwODYzLCA4MDg2NywgODA4NzEsIAorICAgIDgwODc1LCA4MDg3OSwgODA4ODMsIDgwODg3LCA4MDg5MSwgODA4OTUsIDgwODk5LCA4MDkwMywgODA5MDcsIDgwOTExLCAKKyAgICA4MDkxNSwgODA5MTksIDgwOTIzLCA4MDkyNywgODA5MzEsIDgwOTM1LCA4MDkzOSwgODA5NDMsIDgwOTQ3LCA4MDk1MSwgCisgICAgODA5NTUsIDgwOTU5LCA4MDk2MywgODA5NjcsIDgwOTcxLCA4MDk3NSwgODA5NzksIDgwOTgzLCA4MDk4NywgODA5OTEsIAorICAgIDgwOTk1LCA4MDk5OSwgODEwMDMsIDgxMDA3LCA4MTAxMSwgODEwMTUsIDgxMDE5LCA4MTAyMywgODEwMjcsIDgxMDMxLCAKKyAgICA4MTAzNSwgODEwMzksIDgxMDQzLCA4MTA0NywgODEwNTEsIDgxMDU1LCA4MTA1OSwgODEwNjMsIDgxMDY3LCA4MTA3MSwgCisgICAgODEwNzUsIDgxMDc5LCA4MTA4MywgODEwODcsIDgxMDkxLCA4MTA5NSwgODEwOTksIDgxMTAzLCA4MTEwNywgODExMTEsIAorICAgIDgxMTE1LCA4MTExOSwgODExMjMsIDgxMTI3LCA4MTEzMSwgODExMzUsIDgxMTM5LCA4MTE0MywgODExNDcsIDgxMTUxLCAKKyAgICA4MTE1NSwgODExNTksIDgxMTYzLCA4MTE2NywgODExNzEsIDgxMTc1LCA4MTE3OSwgODExODMsIDgxMTg3LCA4MTE5MSwgCisgICAgODExOTUsIDgxMTk5LCA4MTIwMywgODEyMDcsIDgxMjExLCA4MTIxNSwgODEyMTksIDgxMjIzLCA4MTIyNywgODEyMzEsIAorICAgIDgxMjM1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4MTIzOSwgODEyNDQsIDgxMjQ5LCAKKyAgICA4MTI1NCwgODEyNTksIDgxMjY0LCA4MTI3MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODEyNzcsIAorICAgIDgxMjg0LCA4MTI5MSwgODEyOTgsIDgxMzA1LCAwLCAwLCAwLCAwLCAwLCA4MTMxMiwgODEzMTksIDgxMzI2LCA4MTMzNiwgCisgICAgODEzNDIsIDgxMzQ4LCA4MTM1NCwgODEzNjAsIDgxMzY2LCA4MTM3MiwgODEzNzksIDgxMzg1LCA4MTM5MSwgODEzOTcsIAorICAgIDgxNDA2LCA4MTQxNSwgODE0MjcsIDgxNDM5LCA4MTQ0NSwgODE0NTEsIDgxNDU3LCA4MTQ2NCwgODE0NzEsIDgxNDc4LCAKKyAgICA4MTQ4NSwgODE0OTIsIDAsIDgxNDk5LCA4MTUwNiwgODE1MTMsIDgxNTIxLCA4MTUyOCwgMCwgODE1MzUsIDAsIDgxNTQyLCAKKyAgICA4MTU0OSwgMCwgODE1NTYsIDgxNTY0LCAwLCA4MTU3MSwgODE1NzgsIDgxNTg1LCA4MTU5MiwgODE1OTksIDgxNjA2LCAKKyAgICA4MTYxMywgODE2MjAsIDgxNjI3LCA4MTYzNCwgODE2MzksIDgxNjQ2LCA4MTY1MywgODE2NTksIDgxNjY1LCA4MTY3MSwgCisgICAgODE2NzcsIDgxNjgzLCA4MTY4OSwgODE2OTUsIDgxNzAxLCA4MTcwNywgODE3MTMsIDgxNzE5LCA4MTcyNSwgODE3MzEsIAorICAgIDgxNzM3LCA4MTc0MywgODE3NDksIDgxNzU1LCA4MTc2MSwgODE3NjcsIDgxNzczLCA4MTc3OSwgODE3ODUsIDgxNzkxLCAKKyAgICA4MTc5NywgODE4MDMsIDgxODA5LCA4MTgxNSwgODE4MjEsIDgxODI3LCA4MTgzMywgODE4MzksIDgxODQ1LCA4MTg1MSwgCisgICAgODE4NTcsIDgxODYzLCA4MTg2OSwgODE4NzUsIDgxODgxLCA4MTg4NywgODE4OTMsIDgxODk5LCA4MTkwNSwgODE5MTEsIAorICAgIDgxOTE3LCA4MTkyMywgODE5MjksIDgxOTM1LCA4MTk0MSwgODE5NDcsIDgxOTUzLCA4MTk1OSwgODE5NjUsIDgxOTcxLCAKKyAgICA4MTk3NywgODE5ODMsIDgxOTg5LCA4MTk5NSwgODIwMDEsIDgyMDA3LCA4MjAxMywgODIwMTksIDgyMDI1LCA4MjAzMSwgCisgICAgODIwMzcsIDgyMDQzLCA4MjA0OSwgODIwNTUsIDgyMDYxLCA4MjA2NywgODIwNzMsIDgyMDc5LCA4MjA4NSwgODIwOTEsIAorICAgIDgyMDk3LCA4MjEwMywgODIxMDksIDgyMTE3LCA4MjEyNSwgODIxMzEsIDgyMTM3LCA4MjE0MywgODIxNDksIDgyMTU4LCAKKyAgICA4MjE2NywgODIxNzUsIDgyMTgzLCA4MjE5MSwgODIxOTksIDgyMjA3LCA4MjIxNSwgODIyMjMsIDgyMjMxLCA4MjIzOCwgCisgICAgODIyNDUsIDgyMjU2LCA4MjI2NywgODIyNzEsIDgyMjc1LCA4MjI4MCwgODIyODUsIDgyMjkwLCA4MjI5NSwgODIzMDMsIAorICAgIDgyMzExLCA4MjMxNywgODIzMjMsIDgyMzMwLCA4MjMzNywgODIzNDQsIDgyMzQ4LCA4MjM1NCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODIzNjAsIDgyMzY2LCA4MjM3MiwgODIzNzgsIDgyMzg0LCAKKyAgICA4MjM4OSwgODIzOTQsIDgyNDAwLCA4MjQwNiwgODI0MTIsIDgyNDE4LCA4MjQyNywgODI0MzMsIDgyNDM5LCA4MjQ0NywgCisgICAgODI0NTUsIDgyNDYzLCA4MjQ3MSwgODI0NzYsIDgyNDgxLCA4MjQ4NiwgODI0OTEsIDgyNTA0LCA4MjUxNywgODI1MjgsIAorICAgIDgyNTM5LCA4MjU1MSwgODI1NjMsIDgyNTc1LCA4MjU4NywgODI1OTgsIDgyNjA5LCA4MjYyMSwgODI2MzMsIDgyNjQ1LCAKKyAgICA4MjY1NywgODI2NjgsIDgyNjc5LCA4MjY5MCwgODI3MDcsIDgyNzI0LCA4Mjc0MSwgODI3NDgsIDgyNzU1LCA4Mjc2MiwgCisgICAgODI3NjksIDgyNzgwLCA4Mjc5MSwgODI4MDIsIDgyODE1LCA4MjgyNiwgODI4MzQsIDgyODQyLCA4Mjg1MSwgODI4NTksIAorICAgIDgyODY5LCA4Mjg3NywgODI4ODUsIDgyODkzLCA4MjkwMiwgODI5MTAsIDgyOTIwLCA4MjkyOCwgODI5MzYsIDgyOTQ0LCAKKyAgICA4Mjk1NCwgODI5NjIsIDgyOTY5LCA4Mjk3NiwgODI5ODMsIDgyOTkwLCA4Mjk5OCwgODMwMDYsIDgzMDE0LCA4MzAyMiwgCisgICAgODMwMzAsIDgzMDM5LCA4MzA0NywgODMwNTUsIDgzMDYzLCA4MzA3MSwgODMwNzksIDgzMDg4LCA4MzA5NiwgODMxMDQsIAorICAgIDgzMTEyLCA4MzEyMCwgODMxMjgsIDgzMTM2LCA4MzE0NCwgODMxNTIsIDgzMTYwLCA4MzE2OCwgODMxNzcsIDgzMTg1LCAKKyAgICA4MzE5NSwgODMyMDMsIDgzMjExLCA4MzIxOSwgODMyMjksIDgzMjM3LCA4MzI0NSwgODMyNTMsIDgzMjYxLCA4MzI3MCwgCisgICAgODMyNzksIDgzMjg3LCA4MzI5NywgODMzMDUsIDgzMzEzLCA4MzMyMSwgODMzMzAsIDgzMzM4LCA4MzM0OCwgODMzNTYsIAorICAgIDgzMzYzLCA4MzM3MCwgODMzNzgsIDgzMzg1LCA4MzM5NCwgODM0MDEsIDgzNDA5LCA4MzQxNywgODM0MjYsIDgzNDM0LCAKKyAgICA4MzQ0NCwgODM0NTIsIDgzNDYwLCA4MzQ2OCwgODM0NzgsIDgzNDg2LCA4MzQ5MywgODM1MDAsIDgzNTA4LCA4MzUxNSwgCisgICAgODM1MjQsIDgzNTMxLCA4MzU0MSwgODM1NTEsIDgzNTYyLCA4MzU3MSwgODM1ODAsIDgzNTg5LCA4MzU5OCwgODM2MDcsIAorICAgIDgzNjE3LCA4MzYyOSwgODM2NDEsIDgzNjUyLCA4MzY2NCwgODM2NzcsIDgzNjg4LCA4MzY5NywgODM3MDYsIDgzNzE0LCAKKyAgICA4MzcyMywgODM3MzMsIDgzNzQxLCA4Mzc1MCwgODM3NTksIDgzNzY3LCA4Mzc3NiwgODM3ODYsIDgzNzk0LCA4MzgwMywgCisgICAgODM4MTIsIDgzODIwLCA4MzgyOSwgODM4MzksIDgzODQ3LCA4Mzg1NywgODM4NjUsIDgzODc1LCA4Mzg4MywgODM4OTEsIAorICAgIDgzOTAwLCA4MzkwOCwgODM5MTgsIDgzOTI2LCA4MzkzNCwgODM5NDQsIDgzOTUyLCA4Mzk1OSwgODM5NjYsIDgzOTc1LCAKKyAgICA4Mzk4NCwgODM5OTIsIDg0MDAxLCA4NDAxMSwgODQwMTksIDg0MDMwLCA4NDAzOCwgODQwNDYsIDg0MDUzLCA4NDA2MSwgCisgICAgODQwNzAsIDg0MDc3LCA4NDA4OCwgODQwOTksIDg0MTExLCA4NDEyMiwgODQxMzQsIDg0MTQyLCA4NDE1MCwgODQxNTksIAorICAgIDg0MTY3LCA4NDE3NiwgODQxODQsIDg0MTkyLCA4NDIwMSwgODQyMDksIDg0MjE4LCA4NDIyNiwgODQyMzMsIDg0MjQwLCAKKyAgICA4NDI0NywgODQyNTQsIDg0MjYyLCA4NDI3MCwgODQyNzgsIDg0Mjg2LCA4NDI5NSwgODQzMDMsIDg0MzExLCA4NDMyMCwgCisgICAgODQzMjgsIDg0MzM2LCA4NDM0NCwgODQzNTMsIDg0MzYxLCA4NDM2OSwgODQzNzcsIDg0Mzg1LCA4NDM5MywgODQ0MDEsIAorICAgIDg0NDA5LCA4NDQxNywgODQ0MjUsIDg0NDM0LCA4NDQ0MiwgODQ0NTAsIDg0NDU4LCA4NDQ2NiwgODQ0NzQsIDg0NDgzLCAKKyAgICA4NDQ5MiwgODQ1MDAsIDg0NTA4LCA4NDUxNiwgODQ1MjUsIDg0NTMzLCA4NDU0MiwgODQ1NDksIDg0NTU2LCA4NDU2NCwgCisgICAgODQ1NzEsIDg0NTc5LCA4NDU4NywgODQ1OTYsIDg0NjA0LCA4NDYxMywgODQ2MjEsIDg0NjI5LCA4NDYzOSwgODQ2NDYsIAorICAgIDg0NjUzLCA4NDY2MSwgODQ2NjgsIDg0Njc2LCA4NDY4NywgODQ2OTksIDg0NzA3LCA4NDcxNiwgODQ3MjQsIDg0NzMzLCAKKyAgICA4NDc0MSwgODQ3NTAsIDg0NzU4LCA4NDc2NywgODQ3NzUsIDg0Nzg0LCA4NDc5MywgODQ4MDEsIDg0ODA5LCA4NDgxNywgCisgICAgODQ4MjYsIDg0ODMzLCA4NDg0MSwgODQ4NTAsIDg0ODU5LCA4NDg2OCwgODQ4NzgsIDg0ODg2LCA4NDg5NiwgODQ5MDQsIAorICAgIDg0OTE0LCA4NDkyMiwgODQ5MzIsIDg0OTQwLCA4NDk1MCwgODQ5NTgsIDg0OTY3LCA4NDk3NCwgODQ5ODMsIDg0OTkwLCAKKyAgICA4NTAwMCwgODUwMDgsIDg1MDE4LCA4NTAyNiwgODUwMzYsIDg1MDQ0LCA4NTA1MiwgODUwNjAsIDg1MDY5LCA4NTA3NywgCisgICAgODUwODYsIDg1MDk1LCA4NTEwNCwgODUxMTMsIDg1MTIzLCA4NTEzMSwgODUxNDEsIDg1MTQ5LCA4NTE1OSwgODUxNjcsIAorICAgIDg1MTc3LCA4NTE4NSwgODUxOTUsIDg1MjAzLCA4NTIxMiwgODUyMTksIDg1MjI4LCA4NTIzNSwgODUyNDUsIDg1MjUzLCAKKyAgICA4NTI2MywgODUyNzEsIDg1MjgxLCA4NTI4OSwgODUyOTcsIDg1MzA1LCA4NTMxNCwgODUzMjIsIDg1MzMxLCA4NTM0MCwgCisgICAgODUzNDksIDg1MzU4LCA4NTM2NiwgODUzNzQsIDg1MzgzLCA4NTM5MSwgODU0MDAsIDg1NDA5LCA4NTQxNywgODU0MjUsIAorICAgIDg1NDMzLCA4NTQ0MiwgODU0NTAsIDg1NDU4LCA4NTQ2NywgODU0NzUsIDg1NDgzLCA4NTQ5MSwgODU0OTksIDg1NTA0LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4NTUwOSwgODU1MTksIDg1NTI5LCA4NTUzOSwgCisgICAgODU1NDksIDg1NTYwLCA4NTU3MCwgODU1ODAsIDg1NTkxLCA4NTYwMCwgODU2MDksIDg1NjE4LCA4NTYyOSwgODU2MzksIAorICAgIDg1NjQ5LCA4NTY2MSwgODU2NzEsIDg1NjgxLCA4NTY5MSwgODU3MDEsIDg1NzExLCA4NTcyMSwgODU3MzEsIDg1NzQxLCAKKyAgICA4NTc1MSwgODU3NjEsIDg1NzcxLCA4NTc4MiwgODU3OTMsIDg1ODAzLCA4NTgxMywgODU4MjUsIDg1ODM2LCA4NTg0NywgCisgICAgODU4NTcsIDg1ODY3LCA4NTg3NywgODU4ODcsIDg1ODk3LCA4NTkwNywgODU5MTcsIDg1OTI5LCA4NTkzOSwgODU5NDksIAorICAgIDg1OTYxLCA4NTk3MiwgODU5ODMsIDg1OTkzLCA4NjAwMywgODYwMTMsIDg2MDIzLCA4NjAzNSwgODYwNDUsIDg2MDU1LCAKKyAgICA4NjA2NiwgODYwNzcsIDg2MDg3LCA4NjA5NywgODYxMDYsIDg2MTE1LCA4NjEyNCwgODYxMzMsIDg2MTQyLCA4NjE1MiwgMCwgCisgICAgMCwgODYxNjIsIDg2MTcyLCA4NjE4MiwgODYxOTIsIDg2MjAyLCA4NjIxNCwgODYyMjQsIDg2MjM0LCA4NjI0NiwgODYyNTYsIAorICAgIDg2MjY4LCA4NjI3NywgODYyODYsIDg2Mjk3LCA4NjMwNywgODYzMTksIDg2MzMwLCA4NjM0MywgODYzNTMsIDg2MzY1LCAKKyAgICA4NjM3NCwgODYzODUsIDg2Mzk2LCA4NjQwOSwgODY0MTksIDg2NDI5LCA4NjQzOSwgODY0NDksIDg2NDU5LCA4NjQ2OCwgCisgICAgODY0NzcsIDg2NDg2LCA4NjQ5NSwgODY1MDUsIDg2NTE1LCA4NjUyNSwgODY1MzUsIDg2NTQ1LCA4NjU1NSwgODY1NjUsIAorICAgIDg2NTc1LCA4NjU4NSwgODY1OTUsIDg2NjA1LCA4NjYxNSwgODY2MjQsIDg2NjMzLCA4NjY0MiwgODY2NTIsIDg2NjYyLCAKKyAgICA4NjY3MiwgODY2ODIsIDg2NjkyLCA4NjcwMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTc2ODEsIDU3Njg1LCA1NzY4OSwgNTc2OTQsIDU3Njk5LCA1NzcwNCwgCi0gICAgNTc3MDgsIDU3NzEyLCA1NzcxNiwgNTc3MjEsIDU3NzI2LCA1NzczMCwgNTc3MzQsIDU3NzM4LCA1Nzc0MiwgNTc3NDcsIAotICAgIDU3NzUyLCA1Nzc1NywgNTc3NjIsIDU3NzY2LCA1Nzc3MCwgNTc3NzUsIDU3NzgwLCA1Nzc4NSwgNTc3OTAsIDU3Nzk0LCAwLCAKLSAgICA1Nzc5OCwgNTc4MDIsIDU3ODA2LCA1NzgxMCwgNTc4MTQsIDU3ODE4LCA1NzgyMiwgNTc4MjcsIDU3ODMyLCA1NzgzNiwgCi0gICAgNTc4NDEsIDU3ODQ2LCA1Nzg1NSwgNTc4NTksIDU3ODYzLCA1Nzg2NywgNTc4NzQsIDU3ODc4LCA1Nzg4MywgNTc4ODgsIAotICAgIDU3ODkyLCA1Nzg5NiwgNTc5MDIsIDU3OTA3LCA1NzkxMiwgNTc5MTcsIDU3OTIyLCA1NzkyNiwgNTc5MzAsIDU3OTM0LCAKLSAgICA1NzkzOCwgNTc5NDIsIDU3OTQ3LCA1Nzk1MiwgNTc5NTYsIDU3OTYwLCA1Nzk2NSwgNTc5NzAsIDU3OTc1LCA1Nzk3OSwgCi0gICAgNTc5ODMsIDU3OTg4LCA1Nzk5MywgNTc5OTksIDU4MDA1LCA1ODAwOSwgNTgwMTUsIDU4MDIxLCA1ODAyNSwgNTgwMzEsIAotICAgIDU4MDM3LCA1ODA0MiwgNTgwNDcsIDU4MDUxLCA1ODA1NywgNTgwNjEsIDU4MDY1LCA1ODA3MSwgNTgwNzcsIDU4MDgyLCAKLSAgICA1ODA4NywgNTgwOTEsIDU4MDk1LCA1ODEwMywgNTgxMDksIDU4MTE1LCA1ODEyMSwgNTgxMjYsIDU4MTMxLCA1ODEzNiwgCi0gICAgNTgxNDIsIDU4MTQ2LCA1ODE1MiwgNTgxNTYsIDU4MTYwLCA1ODE2NiwgNTgxNzIsIDU4MTc4LCA1ODE4NCwgNTgxOTAsIAotICAgIDU4MTk2LCA1ODIwMiwgNTgyMDgsIDU4MjE0LCA1ODIyMCwgNTgyMjYsIDU4MjMyLCA1ODIzNiwgNTgyNDIsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU4MjQ4LCA1ODI1MSwgNTgyNTUsIDU4MjU5LCA1ODI2MywgNTgyNjcsIAotICAgIDU4MjcwLCA1ODI3MywgNTgyNzcsIDU4MjgxLCA1ODI4NSwgNTgyODksIDU4MjkyLCA1ODI5NywgNTgzMDEsIDU4MzA1LCAKLSAgICA1ODMwOSwgNTgzMTQsIDU4MzE4LCA1ODMyMiwgNTgzMjYsIDU4MzMwLCA1ODMzNiwgNTgzNDIsIDU4MzQ2LCA1ODM1MCwgCi0gICAgNTgzNTQsIDU4MzU4LCA1ODM2MiwgNTgzNjYsIDU4MzcwLCA1ODM3NCwgNTgzNzgsIDU4MzgyLCA1ODM4NiwgNTgzOTIsIAotICAgIDU4Mzk2LCA1ODQwMCwgNTg0MDQsIDU4NDA4LCA1ODQxMiwgNTg0MTYsIDU4NDIwLCA1ODQyNCwgNTg0MjgsIDU4NDMyLCAKLSAgICA1ODQzNiwgNTg0NDAsIDU4NDQ0LCA1ODQ0OCwgNTg0NTIsIDU4NDU2LCA1ODQ2MiwgNTg0NjgsIDU4NDczLCA1ODQ3OCwgCi0gICAgNTg0ODIsIDU4NDg2LCA1ODQ5MCwgNTg0OTQsIDU4NDk4LCA1ODUwMiwgNTg1MDYsIDU4NTEwLCA1ODUxNCwgNTg1MTgsIAotICAgIDU4NTIyLCA1ODUyNiwgNTg1MzAsIDU4NTM0LCA1ODUzOCwgNTg1NDIsIDU4NTQ2LCA1ODU1MCwgNTg1NTQsIDU4NTU4LCAKLSAgICA1ODU2MiwgNTg1NjYsIDU4NTcwLCA1ODU3NCwgNTg1ODAsIDU4NTg0LCA1ODU4OCwgNTg1OTIsIDU4NTk2LCA1ODYwMCwgCi0gICAgNTg2MDQsIDU4NjA4LCA1ODYxMiwgNTg2MTcsIDU4NjI0LCA1ODYyOCwgNTg2MzIsIDU4NjM2LCA1ODY0MCwgNTg2NDQsIAotICAgIDU4NjQ4LCA1ODY1MiwgNTg2NTYsIDU4NjYwLCA1ODY2NCwgNTg2NjgsIDU4NjcyLCA1ODY3OSwgNTg2ODMsIDU4Njg5LCAKLSAgICA1ODY5MywgNTg2OTcsIDU4NzAxLCA1ODcwNSwgNTg3MDksIDU4NzEyLCA1ODcxNiwgNTg3MjAsIDU4NzI0LCA1ODcyOCwgCi0gICAgNTg3MzIsIDU4NzM2LCA1ODc0MCwgNTg3NDQsIDU4NzQ4LCA1ODc1MiwgNTg3NTYsIDU4NzYwLCA1ODc2NCwgNTg3NjgsIAotICAgIDU4NzcyLCA1ODc3NiwgNTg3ODAsIDU4Nzg0LCA1ODc4OCwgNTg3OTIsIDU4Nzk2LCA1ODgwMCwgNTg4MDQsIDU4ODA4LCAKLSAgICA1ODgxMiwgNTg4MTYsIDU4ODIwLCA1ODgyNCwgNTg4MjgsIDU4ODMyLCA1ODgzNiwgNTg4NDAsIDU4ODQ2LCA1ODg1MCwgCi0gICAgNTg4NTQsIDU4ODU4LCA1ODg2MiwgNTg4NjYsIDU4ODcwLCA1ODg3NCwgNTg4NzgsIDU4ODgyLCA1ODg4NiwgNTg4OTAsIAotICAgIDU4ODk0LCA1ODg5OCwgNTg5MDIsIDU4OTA2LCA1ODkxMCwgNTg5MTQsIDU4OTE4LCA1ODkyMiwgNTg5MjYsIDU4OTMwLCAKLSAgICA1ODkzNCwgNTg5MzgsIDU4OTQyLCA1ODk0NiwgNTg5NTAsIDU4OTU0LCA1ODk2MiwgNTg5NjYsIDU4OTcwLCA1ODk3NCwgCi0gICAgNTg5NzgsIDU4OTgyLCA1ODk4OCwgNTg5OTIsIDU4OTk2LCA1OTAwMCwgNTkwMDQsIDU5MDA4LCA1OTAxMiwgNTkwMTYsIAotICAgIDU5MDIwLCA1OTAyNCwgNTkwMjgsIDU5MDMyLCA1OTAzNiwgNTkwNDAsIDU5MDQ2LCA1OTA1MCwgNTkwNTQsIDU5MDU4LCAKLSAgICA1OTA2MiwgNTkwNjYsIDU5MDcwLCA1OTA3NCwgNTkwNzgsIDU5MDgyLCA1OTA4NiwgNTkwOTAsIDU5MDk0LCA1OTA5OCwgCi0gICAgNTkxMDIsIDU5MTA2LCA1OTExMCwgNTkxMTQsIDU5MTE4LCA1OTEyMiwgNTkxMjYsIDU5MTMwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1OTEzNCwgNTkxNDMsIAotICAgIDU5MTUxLCA1OTE2MywgNTkxNzQsIDU5MTgyLCA1OTE5MSwgNTkyMDAsIDU5MjEwLCA1OTIyMiwgNTkyMzQsIDU5MjQ2LCAwLCAKLSAgICAwLCAwLCAwLCA1OTI1MiwgNTkyNTUsIDU5MjU4LCA1OTI2MywgNTkyNjYsIDU5MjczLCA1OTI3NywgNTkyODEsIDU5Mjg1LCAKLSAgICA1OTI4OSwgNTkyOTMsIDU5Mjk4LCA1OTMwMywgNTkzMDcsIDU5MzExLCA1OTMxNiwgNTkzMjEsIDU5MzI2LCA1OTMzMSwgCi0gICAgNTkzMzQsIDU5MzM3LCA1OTM0MywgNTkzNDksIDU5MzU0LCA1OTM1OSwgNTkzNjYsIDU5MzczLCA1OTM3NywgNTkzODEsIAotICAgIDU5Mzg1LCA1OTM5MywgNTkzOTksIDU5NDA2LCA1OTQxMSwgNTk0MTYsIDU5NDIxLCA1OTQyNiwgNTk0MzEsIDU5NDM2LCAKLSAgICA1OTQ0MSwgNTk0NDYsIDU5NDUxLCA1OTQ1NiwgNTk0NjEsIDU5NDY2LCA1OTQ3MSwgNTk0NzYsIDU5NDgyLCA1OTQ4NywgCi0gICAgNTk0OTEsIDU5NDk3LCA1OTUwOCwgNTk1MTgsIDU5NTMzLCA1OTU0MywgNTk1NDcsIDU5NTU3LCA1OTU2MywgNTk1NjksIAotICAgIDU5NTc1LCA1OTU4MCwgNTk1ODMsIDU5NTg4LCA1OTU5MiwgMCwgNTk1OTgsIDU5NjAyLCA1OTYwNSwgNTk2MDksIDU5NjEyLCAKLSAgICA1OTYxNiwgNTk2MTksIDU5NjIzLCA1OTYyNiwgNTk2MzAsIDU5NjMzLCA1OTYzNiwgNTk2NDAsIDU5NjQ0LCA1OTY0OCwgCi0gICAgNTk2NTIsIDU5NjU2LCA1OTY2MCwgNTk2NjQsIDU5NjY4LCA1OTY3MiwgNTk2NzUsIDU5Njc5LCA1OTY4MywgNTk2ODcsIAotICAgIDU5NjkxLCA1OTY5NSwgNTk2OTksIDU5NzAzLCA1OTcwNywgNTk3MTEsIDU5NzE1LCA1OTcxOSwgNTk3MjMsIDU5NzI3LCAKLSAgICA1OTczMiwgNTk3MzYsIDU5NzQwLCA1OTc0NCwgNTk3NDgsIDU5NzUxLCA1OTc1NSwgNTk3NTgsIDU5NzYyLCA1OTc2NiwgCi0gICAgNTk3NzAsIDU5Nzc0LCA1OTc3NywgNTk3ODEsIDU5Nzg0LCA1OTc4OCwgNTk3OTIsIDU5Nzk2LCA1OTgwMCwgNTk4MDQsIAotICAgIDU5ODA4LCA1OTgxMiwgNTk4MTYsIDU5ODIwLCA1OTgyNCwgNTk4MjgsIDU5ODMyLCA1OTgzNSwgNTk4MzksIDU5ODQzLCAKLSAgICA1OTg0NywgNTk4NTEsIDU5ODU1LCA1OTg1OCwgNTk4NjMsIDU5ODY3LCA1OTg3MiwgNTk4NzYsIDU5ODc5LCA1OTg4MywgCi0gICAgNTk4ODcsIDU5ODkxLCA1OTg5NSwgNTk5MDAsIDU5OTA0LCA1OTkwOCwgNTk5MTIsIDU5OTE2LCA1OTkyMCwgNTk5MjQsIAotICAgIDU5OTI4LCAwLCAwLCA1OTkzMywgNTk5NDEsIDU5OTQ5LCA1OTk1NiwgNTk5NjMsIDU5OTY3LCA1OTk3MywgNTk5NzgsIAotICAgIDU5OTgzLCA1OTk4NywgNTk5OTAsIDU5OTk0LCA1OTk5NywgNjAwMDEsIDYwMDA0LCA2MDAwOCwgNjAwMTEsIDYwMDE1LCAKLSAgICA2MDAxOCwgNjAwMjEsIDYwMDI1LCA2MDAyOSwgNjAwMzMsIDYwMDM3LCA2MDA0MSwgNjAwNDUsIDYwMDQ5LCA2MDA1MywgCi0gICAgNjAwNTcsIDYwMDYwLCA2MDA2NCwgNjAwNjgsIDYwMDcyLCA2MDA3NiwgNjAwODAsIDYwMDg0LCA2MDA4OCwgNjAwOTIsIAotICAgIDYwMDk2LCA2MDEwMCwgNjAxMDQsIDYwMTA4LCA2MDExMiwgNjAxMTcsIDYwMTIxLCA2MDEyNSwgNjAxMjksIDYwMTMzLCAKLSAgICA2MDEzNiwgNjAxNDAsIDYwMTQzLCA2MDE0NywgNjAxNTEsIDYwMTU1LCA2MDE1OSwgNjAxNjIsIDYwMTY2LCA2MDE2OSwgCi0gICAgNjAxNzMsIDYwMTc3LCA2MDE4MSwgNjAxODUsIDYwMTg5LCA2MDE5MywgNjAxOTcsIDYwMjAxLCA2MDIwNSwgNjAyMDksIAotICAgIDYwMjEzLCA2MDIxNywgNjAyMjAsIDYwMjI0LCA2MDIyOCwgNjAyMzIsIDYwMjM2LCA2MDI0MCwgNjAyNDMsIDYwMjQ4LCAKLSAgICA2MDI1MiwgNjAyNTcsIDYwMjYxLCA2MDI2NCwgNjAyNjgsIDYwMjcyLCA2MDI3NiwgNjAyODAsIDYwMjg1LCA2MDI4OSwgCi0gICAgNjAyOTMsIDYwMjk3LCA2MDMwMSwgNjAzMDUsIDYwMzA5LCA2MDMxMywgNjAzMTgsIDYwMzIyLCA2MDMyNiwgNjAzMzAsIAotICAgIDYwMzM0LCA2MDMzOSwgNjAzNDYsIDYwMzUwLCA2MDM1NiwgMCwgMCwgMCwgMCwgMCwgNjAzNjEsIDYwMzY2LCA2MDM3MSwgCi0gICAgNjAzNzUsIDYwMzgwLCA2MDM4NSwgNjAzOTAsIDYwMzk1LCA2MDM5OSwgNjA0MDQsIDYwNDA5LCA2MDQxNCwgNjA0MTksIAotICAgIDYwNDI0LCA2MDQyOSwgNjA0MzQsIDYwNDM5LCA2MDQ0NCwgNjA0NDgsIDYwNDUzLCA2MDQ1OCwgNjA0NjMsIDYwNDY3LCAKLSAgICA2MDQ3MSwgNjA0NzUsIDYwNDgwLCA2MDQ4NSwgNjA0OTAsIDYwNDk1LCA2MDUwMCwgNjA1MDUsIDYwNTEwLCA2MDUxNSwgCi0gICAgNjA1MjAsIDYwNTI1LCA2MDUyOSwgNjA1MzMsIDYwNTM4LCA2MDU0MywgNjA1NDgsIDYwNTUzLCAwLCAwLCAwLCA2MDU1OCwgCi0gICAgNjA1NjIsIDYwNTY2LCA2MDU3MCwgNjA1NzQsIDYwNTc4LCA2MDU4MiwgNjA1ODYsIDYwNTkwLCA2MDU5NCwgNjA1OTgsIAotICAgIDYwNjAyLCA2MDYwNiwgNjA2MTAsIDYwNjE0LCA2MDYxOCwgNjA2MjIsIDYwNjI2LCA2MDYzMCwgNjA2MzQsIDYwNjM4LCAKLSAgICA2MDY0MiwgNjA2NDYsIDYwNjUwLCA2MDY1NCwgNjA2NTgsIDYwNjYyLCA2MDY2NiwgNjA2NzAsIDYwNjc0LCA2MDY3OCwgCi0gICAgNjA2ODEsIDYwNjg1LCA2MDY4OCwgNjA2OTIsIDYwNjk2LCA2MDY5OSwgNjA3MDMsIDYwNzA3LCA2MDcxMCwgNjA3MTQsIAotICAgIDYwNzE4LCA2MDcyMiwgNjA3MjYsIDYwNzI5LCA2MDczMywgNjA3MzcsIDYwNzQxLCA2MDc0NSwgNjA3NDksIDYwNzUzLCAKLSAgICA2MDc1NiwgNjA3NTksIDYwNzYzLCA2MDc2NywgNjA3NzEsIDYwNzc1LCA2MDc3OSwgNjA3ODMsIDYwNzg3LCA2MDc5MSwgCi0gICAgNjA3OTUsIDYwNzk5LCA2MDgwMywgNjA4MDcsIDYwODExLCA2MDgxNSwgNjA4MTksIDYwODIzLCA2MDgyNywgNjA4MzEsIAotICAgIDYwODM1LCA2MDgzOSwgNjA4NDMsIDYwODQ3LCA2MDg1MSwgNjA4NTUsIDYwODU5LCA2MDg2MywgNjA4NjcsIDYwODcxLCAKLSAgICA2MDg3NSwgNjA4NzksIDYwODgzLCA2MDg4NywgNjA4OTEsIDYwODk1LCA2MDg5OSwgNjA5MDMsIDYwOTA3LCA2MDkxMSwgCi0gICAgNjA5MTUsIDYwOTE5LCA2MDkyMywgMCwgNjA5MjcsIDYwOTMzLCA2MDkzOSwgNjA5NDQsIDYwOTQ5LCA2MDk1NCwgNjA5NjAsIAotICAgIDYwOTY2LCA2MDk3MiwgNjA5NzgsIDYwOTg0LCA2MDk5MCwgNjA5OTYsIDYxMDAyLCA2MTAwOCwgNjEwMTQsIDYxMDIwLCAKLSAgICA2MTAyNSwgNjEwMzAsIDYxMDM1LCA2MTA0MCwgNjEwNDUsIDYxMDUwLCA2MTA1NSwgNjEwNjAsIDYxMDY1LCA2MTA3MCwgCi0gICAgNjEwNzUsIDYxMDgwLCA2MTA4NSwgNjEwOTAsIDYxMDk1LCA2MTEwMCwgNjExMDUsIDYxMTEwLCA2MTExNSwgNjExMjAsIAotICAgIDYxMTI2LCA2MTEzMiwgNjExMzgsIDYxMTQ0LCA2MTE0OSwgNjExNTQsIDAsIDAsIDAsIDAsIDAsIDYxMTU5LCA2MTE2NCwgCi0gICAgNjExNjksIDYxMTc0LCA2MTE3OSwgNjExODQsIDYxMTg5LCA2MTE5NCwgNjExOTksIDYxMjA0LCA2MTIwOSwgNjEyMTQsIAotICAgIDYxMjE5LCA2MTIyNCwgNjEyMjksIDYxMjM0LCA2MTIzOSwgNjEyNDQsIDYxMjQ5LCA2MTI1NCwgNjEyNTksIDYxMjY0LCAKLSAgICA2MTI2OSwgNjEyNzQsIDYxMjc5LCA2MTI4NCwgNjEyODksIDYxMjk0LCA2MTI5OSwgNjEzMDQsIDYxMzA5LCA2MTMxNCwgCi0gICAgNjEzMTksIDYxMzI0LCA2MTMyOSwgNjEzMzQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYxMzM5LCAKLSAgICA2MTM0NCwgNjEzNDksIDYxMzU0LCA2MTM1OCwgNjEzNjMsIDYxMzY3LCA2MTM3MiwgNjEzNzcsIDYxMzgyLCA2MTM4NywgCi0gICAgNjEzOTIsIDYxMzk2LCA2MTQwMSwgNjE0MDYsIDYxNDExLCA2MTQxNiwgNjE0MjAsIDYxNDI0LCA2MTQyOCwgNjE0MzIsIAotICAgIDYxNDM2LCA2MTQ0MCwgNjE0NDQsIDYxNDQ4LCA2MTQ1MiwgNjE0NTYsIDYxNDYwLCA2MTQ2NCwgNjE0NjgsIDYxNDcyLCAKLSAgICA2MTQ3NywgNjE0ODIsIDYxNDg3LCA2MTQ5MiwgNjE0OTcsIDYxNTAyLCA2MTUwNywgNjE1MTIsIDYxNTE3LCA2MTUyMiwgCi0gICAgNjE1MjcsIDYxNTMyLCA2MTUzNywgNjE1NDIsIDYxNTQ3LCA2MTU1MywgMCwgNjE1NjAsIDYxNTYzLCA2MTU2NiwgNjE1NjksIAotICAgIDYxNTcyLCA2MTU3NSwgNjE1NzgsIDYxNTgxLCA2MTU4NCwgNjE1ODcsIDYxNTkxLCA2MTU5NSwgNjE1OTksIDYxNjAzLCAKLSAgICA2MTYwNywgNjE2MTEsIDYxNjE1LCA2MTYxOSwgNjE2MjMsIDYxNjI3LCA2MTYzMSwgNjE2MzUsIDYxNjM5LCA2MTY0MywgCi0gICAgNjE2NDcsIDYxNjUxLCA2MTY1NSwgNjE2NTksIDYxNjYzLCA2MTY2NywgNjE2NzEsIDYxNjc1LCA2MTY3OSwgNjE2ODMsIAotICAgIDYxNjg3LCA2MTY5MSwgNjE2OTUsIDYxNjk5LCA2MTcwMywgNjE3MDcsIDYxNzExLCA2MTcyMCwgNjE3MjksIDYxNzM4LCAKLSAgICA2MTc0NywgNjE3NTYsIDYxNzY1LCA2MTc3NCwgNjE3ODMsIDYxNzg2LCA2MTc5MSwgNjE3OTYsIDYxODAxLCA2MTgwNiwgCi0gICAgNjE4MTEsIDYxODE2LCA2MTgyMSwgNjE4MjYsIDYxODMxLCA2MTgzNSwgNjE4NDAsIDYxODQ1LCA2MTg1MCwgNjE4NTUsIAotICAgIDYxODYwLCA2MTg2NCwgNjE4NjgsIDYxODcyLCA2MTg3NiwgNjE4ODAsIDYxODg0LCA2MTg4OCwgNjE4OTIsIDYxODk2LCAKLSAgICA2MTkwMCwgNjE5MDQsIDYxOTA4LCA2MTkxMiwgNjE5MTYsIDYxOTIxLCA2MTkyNiwgNjE5MzEsIDYxOTM2LCA2MTk0MSwgCi0gICAgNjE5NDYsIDYxOTUxLCA2MTk1NiwgNjE5NjEsIDYxOTY2LCA2MTk3MSwgNjE5NzYsIDYxOTgxLCA2MTk4NiwgNjE5OTIsIAotICAgIDYxOTk4LCA2MjAwMywgNjIwMDgsIDYyMDExLCA2MjAxNCwgNjIwMTcsIDYyMDIwLCA2MjAyMywgNjIwMjYsIDYyMDI5LCAKLSAgICA2MjAzMiwgNjIwMzUsIDYyMDM5LCA2MjA0MywgNjIwNDcsIDYyMDUxLCA2MjA1NSwgNjIwNTksIDYyMDYzLCA2MjA2NywgCi0gICAgNjIwNzEsIDYyMDc1LCA2MjA3OSwgNjIwODMsIDYyMDg3LCA2MjA5MSwgNjIwOTUsIDYyMDk5LCA2MjEwMywgNjIxMDcsIAotICAgIDYyMTExLCA2MjExNSwgNjIxMTksIDYyMTIzLCA2MjEyNywgNjIxMzEsIDYyMTM1LCA2MjEzOSwgNjIxNDMsIDYyMTQ3LCAKLSAgICA2MjE1MSwgNjIxNTUsIDYyMTU5LCA2MjE2MywgNjIxNjcsIDYyMTcxLCA2MjE3NSwgNjIxNzksIDYyMTgzLCA2MjE4NywgCi0gICAgNjIxOTEsIDYyMTk1LCA2MjIwMCwgNjIyMDUsIDYyMjEwLCA2MjIxNSwgNjIyMTksIDYyMjI0LCA2MjIyOSwgNjIyMzQsIAotICAgIDYyMjM5LCA2MjI0NCwgNjIyNDksIDYyMjU0LCA2MjI1OSwgNjIyNjQsIDYyMjY4LCA2MjI3NSwgNjIyODIsIDYyMjg5LCAKLSAgICA2MjI5NiwgNjIzMDMsIDYyMzEwLCA2MjMxNywgNjIzMjQsIDYyMzMxLCA2MjMzOCwgNjIzNDUsIDYyMzUyLCA2MjM1NSwgCi0gICAgNjIzNTgsIDYyMzYxLCA2MjM2NiwgNjIzNjksIDYyMzcyLCA2MjM3NSwgNjIzNzgsIDYyMzgxLCA2MjM4NCwgNjIzODgsIAotICAgIDYyMzkyLCA2MjM5NiwgNjI0MDAsIDYyNDAzLCA2MjQwNywgNjI0MTEsIDYyNDE1LCA2MjQxOSwgNjI0MjMsIDYyNDI3LCAKLSAgICA2MjQzMSwgNjI0MzUsIDYyNDM4LCA2MjQ0MSwgNjI0NDUsIDYyNDQ5LCA2MjQ1MywgNjI0NTcsIDYyNDYwLCA2MjQ2NCwgCi0gICAgNjI0NjgsIDYyNDcyLCA2MjQ3NiwgNjI0NzksIDYyNDgzLCA2MjQ4NywgNjI0OTEsIDYyNDk1LCA2MjQ5OCwgNjI1MDIsIAotICAgIDYyNTA2LCA2MjUwOSwgNjI1MTMsIDYyNTE3LCA2MjUyMSwgNjI1MjUsIDYyNTI5LCA2MjUzMywgNjI1MzcsIDAsIDYyNTQxLCAKLSAgICA2MjU0NCwgNjI1NDcsIDYyNTUwLCA2MjU1MywgNjI1NTYsIDYyNTU5LCA2MjU2MiwgNjI1NjUsIDYyNTY4LCA2MjU3MSwgCi0gICAgNjI1NzQsIDYyNTc3LCA2MjU4MCwgNjI1ODMsIDYyNTg2LCA2MjU4OSwgNjI1OTIsIDYyNTk1LCA2MjU5OCwgNjI2MDEsIAotICAgIDYyNjA0LCA2MjYwNywgNjI2MTAsIDYyNjEzLCA2MjYxNiwgNjI2MTksIDYyNjIyLCA2MjYyNSwgNjI2MjgsIDYyNjMxLCAKLSAgICA2MjYzNCwgNjI2MzcsIDYyNjQwLCA2MjY0MywgNjI2NDYsIDYyNjQ5LCA2MjY1MiwgNjI2NTUsIDYyNjU4LCA2MjY2MSwgCi0gICAgNjI2NjQsIDYyNjY3LCA2MjY3MCwgNjI2NzMsIDYyNjc2LCA2MjY3OSwgNjI2ODIsIDYyNjg1LCA2MjY4OCwgNjI2OTEsIAotICAgIDYyNjk0LCA2MjY5NywgNjI3MDAsIDYyNzAzLCA2MjcwNiwgNjI3MDksIDYyNzEyLCA2MjcxNSwgNjI3MTgsIDYyNzIxLCAKLSAgICA2MjcyNCwgNjI3MjcsIDYyNzMwLCA2MjczMywgNjI3MzYsIDYyNzM5LCA2Mjc0MiwgNjI3NDUsIDYyNzQ4LCA2Mjc1MSwgCi0gICAgNjI3NTQsIDYyNzU3LCA2Mjc2MCwgNjI3NjMsIDYyNzY2LCA2Mjc2OSwgNjI3NzIsIDYyNzc1LCA2Mjc3OCwgNjI3ODEsIAotICAgIDYyNzg0LCA2Mjc4NywgNjI3OTAsIDYyNzkzLCA2Mjc5NiwgNjI3OTksIDYyODAyLCA2MjgwNSwgNjI4MTQsIDYyODIyLCAKLSAgICA2MjgzMCwgNjI4MzgsIDYyODQ2LCA2Mjg1NCwgNjI4NjIsIDYyODcwLCA2Mjg3OCwgNjI4ODYsIDYyODk1LCA2MjkwNCwgCi0gICAgNjI5MTMsIDYyOTIyLCA2MjkzMSwgNjI5NDAsIDYyOTQ5LCA2Mjk1OCwgNjI5NjcsIDYyOTc2LCA2Mjk4NSwgNjI5OTQsIAotICAgIDYzMDAzLCA2MzAxMiwgNjMwMjEsIDYzMDI0LCA2MzAyNywgNjMwMzAsIDYzMDMyLCA2MzAzNSwgNjMwMzgsIDYzMDQxLCAKLSAgICA2MzA0NiwgNjMwNTEsIDYzMDU0LCA2MzA2MSwgNjMwNjgsIDYzMDc1LCA2MzA4MiwgNjMwODUsIDYzMDkwLCA2MzA5MiwgCi0gICAgNjMwOTYsIDYzMDk4LCA2MzEwMCwgNjMxMDMsIDYzMTA2LCA2MzEwOSwgNjMxMTIsIDYzMTE1LCA2MzExOCwgNjMxMjEsIAotICAgIDYzMTI2LCA2MzEzMSwgNjMxMzQsIDYzMTM3LCA2MzE0MCwgNjMxNDMsIDYzMTQ2LCA2MzE0OSwgNjMxNTIsIDYzMTU2LCAKLSAgICA2MzE1OSwgNjMxNjIsIDYzMTY1LCA2MzE2OCwgNjMxNzEsIDYzMTc1LCA2MzE3OCwgNjMxODEsIDYzMTg0LCA2MzE4OSwgCi0gICAgNjMxOTQsIDYzMTk5LCA2MzIwNCwgNjMyMDksIDYzMjE0LCA2MzIxOSwgNjMyMjQsIDYzMjMwLCA2MzIzOCwgNjMyNDAsIAotICAgIDYzMjQzLCA2MzI0NiwgNjMyNDksIDYzMjUyLCA2MzI1OCwgNjMyNjYsIDYzMjY5LCA2MzI3MiwgNjMyNzcsIDYzMjgwLCAKLSAgICA2MzI4MywgNjMyODYsIDYzMjkxLCA2MzI5NCwgNjMyOTcsIDYzMzAyLCA2MzMwNSwgNjMzMDgsIDYzMzEzLCA2MzMxNiwgCi0gICAgNjMzMTksIDYzMzI0LCA2MzMyOSwgNjMzMzQsIDYzMzM3LCA2MzM0MCwgNjMzNDMsIDYzMzQ2LCA2MzM1MiwgNjMzNTUsIAotICAgIDYzMzU4LCA2MzM2MSwgNjMzNjMsIDYzMzY2LCA2MzM2OSwgNjMzNzIsIDYzMzc3LCA2MzM4MCwgNjMzODMsIDYzMzg2LCAKLSAgICA2MzM4OSwgNjMzOTIsIDYzMzk3LCA2MzQwMCwgNjM0MDMsIDYzNDA2LCA2MzQwOSwgNjM0MTIsIDYzNDE1LCA2MzQxOCwgCi0gICAgNjM0MjEsIDYzNDI0LCA2MzQyOSwgNjM0MzMsIDYzNDQxLCA2MzQ0OSwgNjM0NTcsIDYzNDY1LCA2MzQ3MywgNjM0ODEsIAotICAgIDYzNDg5LCA2MzQ5NywgNjM1MDUsIDYzNTE0LCA2MzUyMywgNjM1MzIsIDYzNTQxLCA2MzU1MCwgNjM1NTksIDYzNTY4LCAKLSAgICA2MzU3NywgNjM1ODYsIDYzNTk1LCA2MzYwNCwgNjM2MTMsIDYzNjIyLCA2MzYzMSwgNjM2NDAsIDYzNjQ5LCA2MzY1OCwgCi0gICAgNjM2NjcsIDYzNjc2LCA2MzY4NSwgNjM2OTQsIDYzNzAzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCA4NjcxMywgODY3MjgsIDg2NzQzLCA4Njc0OSwgODY3NTUsIDg2NzYxLCA4Njc2NywgODY3NzMsIDg2Nzc5LCA4Njc4NSwgCisgICAgODY3OTEsIDg2Nzk5LCA4NjgwMywgODY4MDYsIDAsIDAsIDg2ODE0LCA4NjgxNywgODY4MjAsIDg2ODIzLCA4NjgyNiwgCisgICAgODY4MjksIDg2ODMyLCA4NjgzNSwgODY4MzgsIDg2ODQxLCA4Njg0NCwgODY4NDcsIDg2ODUwLCA4Njg1MywgODY4NTYsIAorICAgIDg2ODU5LCA4Njg2MiwgODY4NzAsIDg2ODc5LCA4Njg5MCwgODY4OTgsIDg2OTA2LCA4NjkxNSwgODY5MjQsIDg2OTM1LCAKKyAgICA4Njk0NywgMCwgMCwgMCwgMCwgMCwgMCwgODY5NTYsIDg2OTYxLCA4Njk2NiwgODY5NzMsIDg2OTgwLCA4Njk4NiwgODY5OTIsIAorICAgIDg2OTk3LCA4NzAwMiwgODcwMDcsIDg3MDEzLCA4NzAxOSwgODcwMjUsIDg3MDMxLCAwLCAwLCA4NzAzNywgODcwNDcsIAorICAgIDg3MDU3LCA4NzA2NywgODcwNzYsIDg3MDg3LCA4NzA5NiwgODcxMDUsIDg3MTE1LCA4NzEyNSwgODcxMzcsIDg3MTQ5LCAKKyAgICA4NzE2MCwgODcxNzEsIDg3MTgyLCA4NzE5MywgODcyMDMsIDg3MjEzLCA4NzIyMywgODcyMzMsIDg3MjQ0LCA4NzI1NSwgCisgICAgODcyNTksIDg3MjY0LCA4NzI3MywgODcyODIsIDg3Mjg2LCA4NzI5MCwgODcyOTQsIDg3Mjk5LCA4NzMwNCwgODczMDksIAorICAgIDg3MzE0LCA4NzMxNywgODczMjEsIDAsIDg3MzI2LCA4NzMyOSwgODczMzIsIDg3MzM2LCA4NzM0MCwgODczNDUsIDg3MzQ5LCAKKyAgICA4NzM1MywgODczNTgsIDg3MzYzLCA4NzM3MCwgODczNzcsIDg3MzgwLCA4NzM4MywgODczODYsIDg3Mzg5LCA4NzM5MiwgCisgICAgODczOTYsIDg3NDAwLCAwLCA4NzQwNCwgODc0MDksIDg3NDEzLCA4NzQxNywgMCwgMCwgMCwgMCwgODc0MjIsIDg3NDI3LCAKKyAgICA4NzQzNCwgODc0MzksIDg3NDQ0LCAwLCA4NzQ0OSwgODc0NTQsIDg3NDU5LCA4NzQ2NCwgODc0NjksIDg3NDc0LCA4NzQ3OSwgCisgICAgODc0ODQsIDg3NDg5LCA4NzQ5NCwgODc0OTksIDg3NTA1LCA4NzUxNCwgODc1MjMsIDg3NTMyLCA4NzU0MSwgODc1NTEsIAorICAgIDg3NTYxLCA4NzU3MSwgODc1ODEsIDg3NTkwLCA4NzU5OSwgODc2MDgsIDg3NjE3LCA4NzYyMiwgODc2MjcsIDg3NjMzLCAKKyAgICA4NzYzOSwgODc2NDUsIDg3NjUxLCA4NzY1OSwgODc2NjcsIDg3NjczLCA4NzY3OSwgODc2ODUsIDg3NjkxLCA4NzY5NywgCisgICAgODc3MDMsIDg3NzA5LCA4NzcxNSwgODc3MjAsIDg3NzI1LCA4NzczMCwgODc3MzUsIDg3NzQwLCA4Nzc0NSwgODc3NTAsIAorICAgIDg3NzU1LCA4Nzc2MSwgODc3NjcsIDg3NzczLCA4Nzc3OSwgODc3ODUsIDg3NzkxLCA4Nzc5NywgODc4MDMsIDg3ODA5LCAKKyAgICA4NzgxNSwgODc4MjEsIDg3ODI3LCA4NzgzMywgODc4MzksIDg3ODQ1LCA4Nzg1MSwgODc4NTcsIDg3ODYzLCA4Nzg2OSwgCisgICAgODc4NzUsIDg3ODgxLCA4Nzg4NywgODc4OTMsIDg3ODk5LCA4NzkwNSwgODc5MTEsIDg3OTE3LCA4NzkyMywgODc5MjksIAorICAgIDg3OTM1LCA4Nzk0MSwgODc5NDcsIDg3OTUzLCA4Nzk1OSwgODc5NjUsIDg3OTcxLCA4Nzk3NywgODc5ODMsIDg3OTg5LCAKKyAgICA4Nzk5NSwgODgwMDEsIDg4MDA3LCA4ODAxMywgODgwMTksIDg4MDI1LCA4ODAzMSwgODgwMzcsIDg4MDQzLCA4ODA0OSwgCisgICAgODgwNTUsIDg4MDYxLCA4ODA2NywgODgwNzMsIDg4MDc5LCA4ODA4NSwgODgwOTEsIDg4MDk3LCA4ODEwMywgODgxMDksIAorICAgIDg4MTE1LCA4ODEyMCwgODgxMjUsIDg4MTMwLCA4ODEzNSwgODgxNDEsIDg4MTQ3LCA4ODE1MywgODgxNTksIDg4MTY1LCAKKyAgICA4ODE3MSwgODgxNzcsIDg4MTgzLCA4ODE4OSwgODgxOTUsIDg4MjAyLCA4ODIwOSwgODgyMTQsIDg4MjE5LCA4ODIyNCwgCisgICAgODgyMjksIDg4MjQxLCA4ODI1MywgODgyNjUsIDg4Mjc3LCA4ODI5MCwgODgzMDMsIDg4MzExLCAwLCAwLCA4ODMxOSwgMCwgCisgICAgODgzMjcsIDg4MzMxLCA4ODMzNSwgODgzMzgsIDg4MzQyLCA4ODM0NiwgODgzNDksIDg4MzUyLCA4ODM1NiwgODgzNjAsIAorICAgIDg4MzYzLCA4ODM2NiwgODgzNjksIDg4MzcyLCA4ODM3NywgODgzODAsIDg4Mzg0LCA4ODM4NywgODgzOTAsIDg4MzkzLCAKKyAgICA4ODM5NiwgODgzOTksIDg4NDAyLCA4ODQwNSwgODg0MDgsIDg4NDExLCA4ODQxNCwgODg0MTcsIDg4NDIxLCA4ODQyNSwgCisgICAgODg0MjksIDg4NDMzLCA4ODQzOCwgODg0NDMsIDg4NDQ5LCA4ODQ1NSwgODg0NjEsIDg4NDY2LCA4ODQ3MiwgODg0NzgsIAorICAgIDg4NDg0LCA4ODQ4OSwgODg0OTUsIDg4NTAxLCA4ODUwNiwgODg1MTIsIDg4NTE4LCA4ODUyMywgODg1MjksIDg4NTM1LCAKKyAgICA4ODU0MCwgODg1NDUsIDg4NTUxLCA4ODU1NiwgODg1NjIsIDg4NTY4LCA4ODU3NCwgODg1ODAsIDg4NTg2LCA4ODU5MCwgCisgICAgODg1OTUsIDg4NTk5LCA4ODYwNCwgODg2MDgsIDg4NjEzLCA4ODYxOCwgODg2MjQsIDg4NjMwLCA4ODYzNiwgODg2NDEsIAorICAgIDg4NjQ3LCA4ODY1MywgODg2NTksIDg4NjY0LCA4ODY3MCwgODg2NzYsIDg4NjgxLCA4ODY4NywgODg2OTMsIDg4Njk4LCAKKyAgICA4ODcwNCwgODg3MTAsIDg4NzE1LCA4ODcyMCwgODg3MjYsIDg4NzMxLCA4ODczNywgODg3NDMsIDg4NzQ5LCA4ODc1NSwgCisgICAgODg3NjEsIDg4NzY2LCA4ODc3MCwgODg3NzUsIDg4Nzc4LCA4ODc4MywgODg3ODgsIDg4Nzk0LCA4ODc5OSwgODg4MDQsIAorICAgIDg4ODA4LCA4ODgxNCwgODg4MTksIDg4ODI0LCA4ODgyOSwgODg4MzQsIDg4ODM5LCA4ODg0NCwgODg4NDksIDg4ODU1LCAKKyAgICA4ODg2MSwgODg4NjcsIDg4ODc1LCA4ODg3OSwgODg4ODMsIDg4ODg3LCA4ODg5MSwgODg4OTUsIDg4ODk5LCA4ODkwNCwgCisgICAgODg5MDksIDg4OTE0LCA4ODkxOSwgODg5MjQsIDg4OTI5LCA4ODkzNCwgODg5MzksIDg4OTQ0LCA4ODk0OSwgODg5NTQsIAorICAgIDg4OTU5LCA4ODk2NCwgODg5NjgsIDg4OTcyLCA4ODk3NywgODg5ODIsIDg4OTg3LCA4ODk5MiwgODg5OTYsIDg5MDAxLCAKKyAgICA4OTAwNiwgODkwMTEsIDg5MDE2LCA4OTAyMCwgODkwMjUsIDg5MDMwLCA4OTAzNSwgODkwNDAsIDg5MDQ0LCA4OTA0OSwgCisgICAgODkwNTQsIDg5MDU5LCA4OTA2NCwgODkwNjksIDg5MDc0LCA4OTA3OSwgODkwODQsIDg5MDg5LCA4OTA5NiwgODkxMDMsIAorICAgIDg5MTA3LCA4OTExMiwgODkxMTcsIDg5MTIyLCA4OTEyNywgODkxMzIsIDg5MTM3LCA4OTE0MiwgODkxNDcsIDg5MTUyLCAKKyAgICA4OTE1NywgODkxNjIsIDg5MTY3LCA4OTE3MiwgODkxNzcsIDg5MTgyLCA4OTE4NywgODkxOTIsIDg5MTk3LCA4OTIwMiwgCisgICAgODkyMDcsIDg5MjEyLCA4OTIxNywgODkyMjIsIDg5MjI3LCA4OTIzMiwgODkyMzcsIDg5MjQyLCA4OTI0NywgODkyNTIsIDAsIAorICAgIDAsIDAsIDg5MjU3LCA4OTI2MSwgODkyNjYsIDg5MjcwLCA4OTI3NSwgODkyODAsIDAsIDAsIDg5Mjg0LCA4OTI4OSwgCisgICAgODkyOTQsIDg5Mjk4LCA4OTMwMywgODkzMDgsIDAsIDAsIDg5MzEzLCA4OTMxOCwgODkzMjIsIDg5MzI3LCA4OTMzMiwgCisgICAgODkzMzcsIDAsIDAsIDg5MzQyLCA4OTM0NywgODkzNTIsIDAsIDAsIDAsIDg5MzU2LCA4OTM2MCwgODkzNjQsIDg5MzY4LCAKKyAgICA4OTM3MSwgODkzNzUsIDg5Mzc5LCAwLCA4OTM4MywgODkzODksIDg5MzkyLCA4OTM5NSwgODkzOTgsIDg5NDAxLCA4OTQwNSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODk0MDksIDg5NDE1LCA4OTQyMSwgODk0MjcsIDg5NDMzLCAwLCAwLCAKKyAgICA4OTQzNywgODk0NDMsIDg5NDQ5LCA4OTQ1NSwgODk0NjEsIDg5NDY3LCA4OTQ3NCwgODk0ODEsIDg5NDg4LCA4OTQ5NSwgCisgICAgODk1MDIsIDg5NTA5LCAwLCA4OTUxNiwgODk1MjMsIDg5NTMwLCA4OTUzNiwgODk1NDMsIDg5NTUwLCA4OTU1NywgODk1NjQsIAorICAgIDg5NTcwLCA4OTU3NywgODk1ODQsIDg5NTkxLCA4OTU5OCwgODk2MDQsIDg5NjExLCA4OTYxOCwgODk2MjUsIDg5NjMyLCAKKyAgICA4OTYzOCwgODk2NDUsIDg5NjUyLCA4OTY1OSwgODk2NjYsIDg5NjczLCA4OTY4MCwgODk2ODcsIDAsIDg5Njk0LCA4OTcwMSwgCisgICAgODk3MDgsIDg5NzE1LCA4OTcyMiwgODk3MjksIDg5NzM2LCA4OTc0MywgODk3NTAsIDg5NzU3LCA4OTc2NCwgODk3NzEsIAorICAgIDg5Nzc4LCA4OTc4NSwgODk3OTEsIDg5Nzk4LCA4OTgwNSwgODk4MTIsIDg5ODE5LCAwLCA4OTgyNiwgODk4MzMsIDAsIAorICAgIDg5ODQwLCA4OTg0NywgODk4NTQsIDg5ODYxLCA4OTg2OCwgODk4NzUsIDg5ODgyLCA4OTg4OSwgODk4OTYsIDg5OTAzLCAKKyAgICA4OTkxMCwgODk5MTcsIDg5OTI0LCA4OTkzMSwgODk5MzgsIDAsIDAsIDg5OTQ0LCA4OTk0OSwgODk5NTQsIDg5OTU5LCAKKyAgICA4OTk2NCwgODk5NjksIDg5OTc0LCA4OTk3OSwgODk5ODQsIDg5OTg5LCA4OTk5NCwgODk5OTksIDkwMDA0LCA5MDAwOSwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOTAwMTQsIDkwMDIxLCA5MDAyOCwgOTAwMzUsIDkwMDQyLCA5MDA0OSwgCisgICAgOTAwNTYsIDkwMDYzLCA5MDA3MCwgOTAwNzcsIDkwMDg0LCA5MDA5MSwgOTAwOTgsIDkwMTA1LCA5MDExMiwgOTAxMTksIAorICAgIDkwMTI2LCA5MDEzMywgOTAxNDAsIDkwMTQ3LCA5MDE1NSwgOTAxNjMsIDkwMTcwLCA5MDE3NywgOTAxODIsIDkwMTkwLCAKKyAgICA5MDE5OCwgOTAyMDUsIDkwMjEyLCA5MDIxNywgOTAyMjQsIDkwMjI5LCA5MDIzNCwgOTAyNDEsIDkwMjQ2LCA5MDI1MSwgCisgICAgOTAyNTYsIDkwMjY0LCA5MDI2OSwgOTAyNzQsIDkwMjgxLCA5MDI4NiwgOTAyOTEsIDkwMjk4LCA5MDMwNSwgOTAzMTAsIAorICAgIDkwMzE1LCA5MDMyMCwgOTAzMjUsIDkwMzMwLCA5MDMzNSwgOTAzNDAsIDkwMzQ1LCA5MDM1MCwgOTAzNTcsIDkwMzYyLCAKKyAgICA5MDM2OSwgOTAzNzQsIDkwMzc5LCA5MDM4NCwgOTAzODksIDkwMzk0LCA5MDM5OSwgOTA0MDQsIDkwNDA5LCA5MDQxNCwgCisgICAgOTA0MTksIDkwNDI0LCA5MDQzMSwgOTA0MzgsIDkwNDQ1LCA5MDQ1MiwgOTA0NTgsIDkwNDYzLCA5MDQ3MCwgOTA0NzUsIAorICAgIDkwNDgwLCA5MDQ4OSwgOTA0OTYsIDkwNTA1LCA5MDUxMiwgOTA1MTcsIDkwNTIyLCA5MDUzMCwgOTA1MzUsIDkwNTQwLCAKKyAgICA5MDU0NSwgOTA1NTAsIDkwNTU1LCA5MDU2MiwgOTA1NjcsIDkwNTcyLCA5MDU3NywgOTA1ODIsIDkwNTg3LCA5MDU5NCwgCisgICAgOTA2MDEsIDkwNjA4LCA5MDYxNSwgOTA2MjIsIDkwNjI5LCA5MDYzNiwgOTA2NDMsIDkwNjUwLCA5MDY1NywgOTA2NjQsIAorICAgIDkwNjcxLCA5MDY3OCwgOTA2ODUsIDkwNjkyLCA5MDY5OSwgOTA3MDYsIDkwNzEzLCA5MDcyMCwgOTA3MjcsIDkwNzM0LCAKKyAgICA5MDc0MSwgOTA3NDgsIDkwNzU1LCA5MDc2MiwgOTA3NjksIDkwNzc2LCA5MDc4MywgMCwgMCwgMCwgMCwgMCwgOTA3OTAsIAorICAgIDkwNzk4LCA5MDgwNiwgMCwgMCwgMCwgMCwgOTA4MTEsIDkwODE1LCA5MDgxOSwgOTA4MjMsIDkwODI3LCA5MDgzMSwgCisgICAgOTA4MzUsIDkwODM5LCA5MDg0MywgOTA4NDcsIDkwODUyLCA5MDg1NywgOTA4NjIsIDkwODY3LCA5MDg3MiwgOTA4NzcsIAorICAgIDkwODgyLCA5MDg4NywgOTA4OTIsIDkwODk4LCA5MDkwNCwgOTA5MTAsIDkwOTE3LCA5MDkyNCwgOTA5MzEsIDkwOTM4LCAKKyAgICA5MDk0NSwgOTA5NTIsIDkwOTU4LCA5MDk2NCwgOTA5NzAsIDkwOTc3LCA5MDk4NCwgOTA5OTEsIDkwOTk4LCA5MTAwNSwgCisgICAgOTEwMTIsIDkxMDE5LCA5MTAyNiwgOTEwMzMsIDkxMDQwLCA5MTA0NywgOTEwNTQsIDkxMDYxLCA5MTA2OCwgMCwgMCwgMCwgCisgICAgOTEwNzUsIDkxMDgzLCA5MTA5MSwgOTEwOTksIDkxMTA3LCA5MTExNSwgOTExMjUsIDkxMTM1LCA5MTE0MywgOTExNTEsIAorICAgIDkxMTU5LCA5MTE2NywgOTExNzUsIDkxMTgxLCA5MTE4OCwgOTExOTcsIDkxMjA2LCA5MTIxNSwgOTEyMjQsIDkxMjMzLCAKKyAgICA5MTI0MiwgOTEyNTIsIDkxMjYzLCA5MTI3MywgOTEyODQsIDkxMjkzLCA5MTMwMiwgOTEzMTEsIDkxMzIxLCA5MTMzMiwgCisgICAgOTEzNDIsIDkxMzUzLCA5MTM2NCwgOTEzNzMsIDkxMzgxLCA5MTM4NywgOTEzOTMsIDkxMzk5LCA5MTQwNSwgOTE0MTMsIAorICAgIDkxNDIxLCA5MTQyNywgOTE0MzQsIDkxNDQ0LCA5MTQ1MSwgOTE0NTgsIDkxNDY1LCA5MTQ3MiwgOTE0NzksIDkxNDg5LCAKKyAgICA5MTQ5NiwgOTE1MDMsIDkxNTExLCA5MTUxOSwgOTE1MjgsIDkxNTM3LCA5MTU0NiwgOTE1NTUsIDkxNTY0LCA5MTU3MiwgCisgICAgOTE1ODEsIDkxNTkwLCA5MTU5OSwgOTE2MDMsIDkxNjEwLCA5MTYxNSwgOTE2MjAsIDkxNjI0LCA5MTYyOCwgOTE2MzIsIAorICAgIDkxNjM2LCA5MTY0MSwgOTE2NDYsIDkxNjUyLCA5MTY1OCwgOTE2NjIsIDkxNjY4LCA5MTY3MiwgOTE2NzYsIDkxNjgwLCAKKyAgICA5MTY4NCwgOTE2ODgsIDkxNjkyLCA5MTY5OCwgOTE3MDIsIDkxNzA3LCAwLCAwLCAwLCA5MTcxMSwgOTE3MTYsIDkxNzIxLCAKKyAgICA5MTcyNiwgOTE3MzEsIDkxNzM4LCA5MTc0MywgOTE3NDgsIDkxNzUzLCA5MTc1OCwgOTE3NjMsIDkxNzY4LCAwLCAwLCAwLCAKKyAgICAwLCA5MTc3MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgNjM3MDYsIDYzNzE1LCA2MzcyNCwgNjM3MzUsIDYzNzQyLCA2Mzc0NywgNjM3NTIsIDYzNzU5LCA2Mzc2NiwgCi0gICAgNjM3NzIsIDYzNzc3LCA2Mzc4MiwgNjM3ODcsIDYzNzkyLCA2Mzc5OSwgNjM4MDQsIDYzODA5LCA2MzgxNCwgNjM4MjUsIAotICAgIDYzODMwLCA2MzgzNSwgNjM4NDIsIDYzODQ3LCA2Mzg1NCwgNjM4NTksIDYzODY0LCA2Mzg3MSwgNjM4NzgsIDYzODg1LCAKLSAgICA2Mzg5NCwgNjM5MDMsIDYzOTA4LCA2MzkxMywgNjM5MTgsIDYzOTI1LCA2MzkzMCwgNjM5NDAsIDYzOTQ3LCA2Mzk1MiwgCi0gICAgNjM5NTcsIDYzOTYyLCA2Mzk2NywgNjM5NzIsIDYzOTc3LCA2Mzk4NiwgNjM5OTMsIDY0MDAwLCA2NDAwNSwgNjQwMTIsIAotICAgIDY0MDE3LCA2NDAyNCwgNjQwMzMsIDY0MDQ0LCA2NDA0OSwgNjQwNTgsIDY0MDYzLCA2NDA3MCwgNjQwNzksIDY0MDg4LCAKLSAgICA2NDA5MywgNjQwOTgsIDY0MTA1LCA2NDExMSwgNjQxMTgsIDY0MTI1LCA2NDEyOSwgNjQxMzMsIDY0MTM2LCA2NDE0MCwgCi0gICAgNjQxNDQsIDY0MTQ4LCA2NDE1MiwgNjQxNTYsIDY0MTYwLCA2NDE2NCwgNjQxNjcsIDY0MTcxLCA2NDE3NSwgNjQxNzksIAotICAgIDY0MTgzLCA2NDE4NywgNjQxOTEsIDY0MTk0LCA2NDE5OCwgNjQyMDIsIDY0MjA1LCA2NDIwOSwgNjQyMTMsIDY0MjE3LCAKLSAgICA2NDIyMSwgNjQyMjUsIDY0MjI5LCA2NDIzMywgNjQyMzcsIDY0MjQxLCA2NDI0NSwgNjQyNDksIDY0MjUzLCA2NDI1NywgCi0gICAgNjQyNjEsIDY0MjY1LCA2NDI2OSwgNjQyNzMsIDY0Mjc3LCA2NDI4MSwgNjQyODUsIDY0Mjg5LCA2NDI5MywgNjQyOTcsIAotICAgIDY0MzAxLCA2NDMwNSwgNjQzMDksIDY0MzEzLCA2NDMxNywgNjQzMjEsIDY0MzI1LCA2NDMyOSwgNjQzMzMsIDY0MzM3LCAKLSAgICA2NDM0MSwgNjQzNDUsIDY0MzQ5LCA2NDM1MywgNjQzNTcsIDY0MzYxLCA2NDM2NSwgNjQzNjksIDY0MzczLCA2NDM3NywgCi0gICAgNjQzODEsIDY0Mzg0LCA2NDM4OCwgNjQzOTIsIDY0Mzk2LCA2NDQwMCwgNjQ0MDQsIDY0NDA4LCA2NDQxMiwgNjQ0MTYsIAotICAgIDY0NDIwLCA2NDQyNCwgNjQ0MjgsIDY0NDMyLCA2NDQzNiwgNjQ0NDAsIDY0NDQ0LCA2NDQ0OCwgNjQ0NTIsIDY0NDU2LCAKLSAgICA2NDQ2MCwgNjQ0NjQsIDY0NDY4LCA2NDQ3MiwgNjQ0NzYsIDY0NDgwLCA2NDQ4NCwgNjQ0ODgsIDY0NDkyLCA2NDQ5NiwgCi0gICAgNjQ1MDAsIDY0NTA0LCA2NDUwOCwgNjQ1MTIsIDY0NTE2LCA2NDUyMCwgNjQ1MjQsIDY0NTI4LCA2NDUzMiwgNjQ1MzYsIAotICAgIDY0NTQwLCA2NDU0NCwgNjQ1NDgsIDY0NTUyLCA2NDU1NiwgNjQ1NjAsIDY0NTY0LCA2NDU2OCwgNjQ1NzIsIDY0NTc2LCAKLSAgICA2NDU4MCwgNjQ1ODQsIDY0NTg4LCA2NDU5MiwgNjQ1OTYsIDY0NjAwLCA2NDYwNCwgNjQ2MDgsIDY0NjEyLCA2NDYxNiwgCi0gICAgNjQ2MjAsIDY0NjI0LCA2NDYyOCwgNjQ2MzIsIDY0NjM2LCA2NDY0MCwgNjQ2NDQsIDY0NjQ4LCA2NDY1MiwgNjQ2NTYsIAotICAgIDY0NjYwLCA2NDY2NCwgNjQ2NjgsIDY0NjcyLCA2NDY3NiwgNjQ2ODAsIDY0Njg0LCA2NDY4OCwgNjQ2OTIsIDY0Njk2LCAKLSAgICA2NDcwMCwgNjQ3MDQsIDY0NzA4LCA2NDcxMiwgNjQ3MTYsIDY0NzIwLCA2NDcyNCwgNjQ3MjgsIDY0NzMyLCA2NDczNiwgCi0gICAgNjQ3NDAsIDY0NzQ0LCA2NDc0OCwgNjQ3NTIsIDY0NzU2LCA2NDc2MCwgNjQ3NjQsIDY0NzY4LCA2NDc3MiwgNjQ3NzYsIAotICAgIDY0NzgwLCA2NDc4NCwgNjQ3ODgsIDY0NzkyLCA2NDc5NiwgNjQ4MDAsIDY0ODA0LCA2NDgwOCwgNjQ4MTIsIDY0ODE2LCAKLSAgICA2NDgyMCwgNjQ4MjQsIDY0ODI4LCA2NDgzMiwgNjQ4MzYsIDY0ODQwLCA2NDg0NCwgNjQ4NDgsIDY0ODUyLCA2NDg1NSwgCi0gICAgNjQ4NTksIDY0ODYzLCA2NDg2NywgNjQ4NzEsIDY0ODc1LCA2NDg3OSwgNjQ4ODMsIDY0ODg3LCA2NDg5MSwgNjQ4OTUsIAotICAgIDY0ODk5LCA2NDkwMywgNjQ5MDcsIDY0OTExLCA2NDkxNSwgNjQ5MTksIDY0OTIzLCA2NDkyNywgNjQ5MzEsIDY0OTM1LCAKLSAgICA2NDkzOSwgNjQ5NDMsIDY0OTQ3LCA2NDk1MSwgNjQ5NTUsIDY0OTU5LCA2NDk2MywgNjQ5NjcsIDY0OTcxLCA2NDk3NSwgCi0gICAgNjQ5NzksIDY0OTgzLCA2NDk4NywgNjQ5OTEsIDY0OTk1LCA2NDk5OSwgNjUwMDMsIDY1MDA3LCA2NTAxMSwgNjUwMTUsIAotICAgIDY1MDE5LCA2NTAyMywgNjUwMjcsIDY1MDMxLCA2NTAzNSwgNjUwMzksIDY1MDQzLCA2NTA0NywgNjUwNTEsIDY1MDU1LCAKLSAgICA2NTA1OSwgNjUwNjMsIDY1MDY3LCA2NTA3MSwgNjUwNzUsIDY1MDc5LCA2NTA4MywgNjUwODcsIDY1MDkxLCA2NTA5NSwgCi0gICAgNjUwOTksIDY1MTAzLCA2NTEwNywgNjUxMTEsIDY1MTE1LCA2NTExOSwgNjUxMjMsIDY1MTI3LCA2NTEzMSwgNjUxMzUsIAotICAgIDY1MTM5LCA2NTE0MywgNjUxNDcsIDY1MTUxLCA2NTE1NSwgNjUxNTksIDY1MTYzLCA2NTE2NywgNjUxNzEsIDY1MTc1LCAKLSAgICA2NTE3OSwgNjUxODMsIDY1MTg3LCA2NTE5MSwgNjUxOTUsIDY1MTk5LCA2NTIwMywgNjUyMDcsIDY1MjExLCA2NTIxNSwgCi0gICAgNjUyMTksIDY1MjIzLCA2NTIyNywgNjUyMzEsIDY1MjM1LCA2NTIzOSwgNjUyNDMsIDY1MjQ3LCA2NTI1MSwgNjUyNTUsIAotICAgIDY1MjU5LCA2NTI2MywgNjUyNjcsIDY1MjcxLCA2NTI3NSwgNjUyNzksIDY1MjgzLCA2NTI4NywgNjUyOTEsIDY1Mjk1LCAKLSAgICA2NTI5OSwgNjUzMDMsIDY1MzA3LCA2NTMxMSwgNjUzMTUsIDY1MzE4LCA2NTMyMiwgNjUzMjYsIDY1MzMwLCA2NTMzNCwgCi0gICAgNjUzMzgsIDY1MzQyLCA2NTM0NiwgNjUzNTAsIDY1MzU0LCA2NTM1OCwgNjUzNjIsIDY1MzY2LCA2NTM3MCwgNjUzNzQsIAotICAgIDY1Mzc4LCA2NTM4MiwgNjUzODYsIDY1MzkwLCA2NTM5NCwgNjUzOTgsIDY1NDAyLCA2NTQwNiwgNjU0MTAsIDY1NDE0LCAKLSAgICA2NTQxOCwgNjU0MjIsIDY1NDI2LCA2NTQzMCwgNjU0MzQsIDY1NDM4LCA2NTQ0MiwgNjU0NDYsIDY1NDUwLCA2NTQ1NCwgCi0gICAgNjU0NTgsIDY1NDYyLCA2NTQ2NiwgNjU0NzAsIDY1NDc0LCA2NTQ3OCwgNjU0ODIsIDY1NDg2LCA2NTQ5MCwgNjU0OTQsIAotICAgIDY1NDk4LCA2NTUwMiwgNjU1MDYsIDY1NTEwLCA2NTUxNCwgNjU1MTgsIDY1NTIyLCA2NTUyNiwgNjU1MzAsIDY1NTM0LCAKLSAgICA2NTUzOCwgNjU1NDIsIDY1NTQ2LCA2NTU1MCwgNjU1NTQsIDY1NTU4LCA2NTU2MiwgNjU1NjYsIDY1NTcwLCA2NTU3NCwgCi0gICAgNjU1NzgsIDY1NTgyLCA2NTU4NiwgNjU1OTAsIDY1NTk0LCA2NTU5OCwgNjU2MDIsIDY1NjA2LCA2NTYxMCwgNjU2MTQsIAotICAgIDY1NjE4LCA2NTYyMiwgNjU2MjYsIDY1NjMwLCA2NTYzNCwgNjU2MzgsIDY1NjQyLCA2NTY0NiwgNjU2NTAsIDY1NjU0LCAKLSAgICA2NTY1OCwgNjU2NjIsIDY1NjY2LCA2NTY3MCwgNjU2NzQsIDY1Njc3LCA2NTY4MSwgNjU2ODUsIDY1Njg5LCA2NTY5MywgCi0gICAgNjU2OTcsIDY1NzAxLCA2NTcwNSwgNjU3MDksIDY1NzEzLCA2NTcxNywgNjU3MjEsIDY1NzI1LCA2NTcyOSwgNjU3MzMsIAotICAgIDY1NzM3LCA2NTc0MSwgNjU3NDUsIDY1NzQ5LCA2NTc1MywgNjU3NTcsIDY1NzYxLCA2NTc2NSwgNjU3NjksIDY1NzczLCAKLSAgICA2NTc3NywgNjU3ODEsIDY1Nzg1LCA2NTc4OSwgNjU3OTMsIDY1Nzk3LCA2NTgwMSwgNjU4MDUsIDY1ODA5LCA2NTgxMywgCi0gICAgNjU4MTcsIDY1ODIxLCA2NTgyNSwgNjU4MjksIDY1ODMzLCA2NTgzNywgNjU4NDEsIDY1ODQ1LCA2NTg0OSwgNjU4NTMsIAotICAgIDY1ODU3LCA2NTg2MSwgNjU4NjUsIDY1ODY5LCA2NTg3MywgNjU4NzcsIDY1ODgxLCA2NTg4NSwgNjU4ODksIDY1ODkzLCAKLSAgICA2NTg5NywgNjU5MDEsIDY1OTA1LCA2NTkwOSwgNjU5MTMsIDY1OTE3LCA2NTkyMSwgNjU5MjUsIDY1OTI5LCA2NTkzMywgCi0gICAgNjU5MzcsIDY1OTQxLCA2NTk0NSwgNjU5NDksIDY1OTUzLCA2NTk1NywgNjU5NjEsIDY1OTY1LCA2NTk2OSwgNjU5NzMsIAotICAgIDY1OTc3LCA2NTk4MSwgNjU5ODUsIDY1OTg5LCA2NTk5MywgNjU5OTcsIDY2MDAxLCA2NjAwNSwgNjYwMDksIDY2MDEzLCAKLSAgICA2NjAxNywgNjYwMjEsIDY2MDI1LCA2NjAyOSwgNjYwMzMsIDY2MDM3LCA2NjA0MSwgNjYwNDUsIDY2MDQ5LCA2NjA1MywgCi0gICAgNjYwNTcsIDY2MDYxLCA2NjA2NSwgNjYwNjksIDY2MDczLCA2NjA3NywgNjYwODEsIDY2MDg1LCA2NjA4OSwgNjYwOTMsIAotICAgIDY2MDk3LCA2NjEwMSwgNjYxMDUsIDY2MTA5LCA2NjExMywgNjYxMTcsIDY2MTIxLCA2NjEyNSwgNjYxMjksIDY2MTMzLCAKLSAgICA2NjEzNywgNjYxNDEsIDY2MTQ1LCA2NjE0OSwgNjYxNTMsIDY2MTU3LCA2NjE2MSwgNjYxNjUsIDY2MTY5LCA2NjE3MiwgCi0gICAgNjYxNzYsIDY2MTgwLCA2NjE4NCwgNjYxODgsIDY2MTkyLCA2NjE5NiwgNjYyMDAsIDY2MjA0LCA2NjIwOCwgNjYyMTIsIAotICAgIDY2MjE2LCA2NjIyMCwgNjYyMjQsIDY2MjI4LCA2NjIzMiwgNjYyMzYsIDY2MjQwLCA2NjI0NCwgNjYyNDgsIDY2MjUyLCAKLSAgICA2NjI1NiwgNjYyNjAsIDY2MjY0LCA2NjI2OCwgNjYyNzIsIDY2Mjc2LCA2NjI4MCwgNjYyODQsIDY2Mjg4LCA2NjI5MiwgCi0gICAgNjYyOTYsIDY2MzAwLCA2NjMwNCwgNjYzMDgsIDY2MzEyLCA2NjMxNiwgNjYzMjAsIDY2MzI0LCA2NjMyOCwgNjYzMzIsIAotICAgIDY2MzM2LCA2NjM0MCwgNjYzNDQsIDY2MzQ4LCA2NjM1MiwgNjYzNTYsIDY2MzYwLCA2NjM2NCwgNjYzNjgsIDY2MzcyLCAKLSAgICA2NjM3NiwgNjYzODAsIDY2Mzg0LCA2NjM4OCwgNjYzOTIsIDY2Mzk2LCA2NjQwMCwgNjY0MDQsIDY2NDA4LCA2NjQxMiwgCi0gICAgNjY0MTYsIDY2NDIwLCA2NjQyNCwgNjY0MjgsIDY2NDMyLCA2NjQzNiwgNjY0NDAsIDY2NDQ0LCA2NjQ0OCwgNjY0NTIsIAotICAgIDY2NDU2LCA2NjQ2MCwgNjY0NjQsIDY2NDY4LCA2NjQ3MiwgNjY0NzYsIDY2NDgwLCA2NjQ4NCwgNjY0ODgsIDY2NDkyLCAKLSAgICA2NjQ5NiwgNjY1MDAsIDY2NTA0LCA2NjUwOCwgNjY1MTIsIDY2NTE2LCA2NjUyMCwgNjY1MjQsIDY2NTI4LCA2NjUzMiwgCi0gICAgNjY1MzYsIDY2NTQwLCA2NjU0NCwgNjY1NDgsIDY2NTUyLCA2NjU1NiwgNjY1NjAsIDY2NTY0LCA2NjU2OCwgNjY1NzIsIAotICAgIDY2NTc2LCA2NjU4MCwgNjY1ODQsIDY2NTg4LCA2NjU5MiwgNjY1OTYsIDY2NjAwLCA2NjYwNCwgNjY2MDgsIDY2NjEyLCAKLSAgICA2NjYxNiwgNjY2MjAsIDY2NjI0LCA2NjYyNywgNjY2MzEsIDY2NjM1LCA2NjYzOSwgNjY2NDMsIDY2NjQ3LCA2NjY1MSwgCi0gICAgNjY2NTUsIDY2NjU5LCA2NjY2MywgNjY2NjcsIDY2NjcxLCA2NjY3NSwgNjY2NzksIDY2NjgzLCA2NjY4NywgNjY2OTEsIAotICAgIDY2Njk1LCA2NjY5OSwgNjY3MDMsIDY2NzA3LCA2NjcxMSwgNjY3MTUsIDY2NzE5LCA2NjcyMywgNjY3MjcsIDY2NzMxLCAKLSAgICA2NjczNSwgNjY3MzksIDY2NzQzLCA2Njc0NywgNjY3NTEsIDY2NzU1LCA2Njc1OSwgNjY3NjMsIDY2NzY3LCA2Njc3MSwgCi0gICAgNjY3NzUsIDY2Nzc5LCA2Njc4MywgNjY3ODcsIDY2NzkxLCA2Njc5NSwgNjY3OTksIDY2ODAzLCA2NjgwNywgNjY4MTEsIAotICAgIDY2ODE1LCA2NjgxOSwgNjY4MjMsIDY2ODI3LCA2NjgzMSwgNjY4MzUsIDY2ODM5LCA2Njg0MywgNjY4NDcsIDY2ODUxLCAKLSAgICA2Njg1NSwgNjY4NTksIDY2ODYzLCA2Njg2NywgNjY4NzEsIDY2ODc1LCA2Njg3OSwgNjY4ODMsIDY2ODg3LCA2Njg5MSwgCi0gICAgNjY4OTUsIDY2ODk5LCA2NjkwMywgNjY5MDcsIDY2OTExLCA2NjkxNSwgNjY5MTksIDY2OTIzLCA2NjkyNywgNjY5MzEsIAotICAgIDY2OTM1LCA2NjkzOSwgNjY5NDMsIDY2OTQ3LCA2Njk1MSwgNjY5NTUsIDY2OTU5LCA2Njk2MywgNjY5NjcsIDY2OTcxLCAKLSAgICA2Njk3NSwgNjY5NzksIDY2OTgzLCA2Njk4NywgNjY5OTEsIDY2OTk1LCA2Njk5OSwgNjcwMDMsIDY3MDA3LCA2NzAxMSwgCi0gICAgNjcwMTUsIDY3MDE5LCA2NzAyMywgNjcwMjcsIDY3MDMxLCA2NzAzNSwgNjcwMzksIDY3MDQzLCA2NzA0NywgNjcwNTEsIAotICAgIDY3MDU1LCA2NzA1OSwgNjcwNjMsIDY3MDY3LCA2NzA3MSwgNjcwNzUsIDY3MDc5LCA2NzA4MywgNjcwODcsIDY3MDkxLCAKLSAgICA2NzA5NSwgNjcwOTksIDY3MTAzLCA2NzEwNywgNjcxMTEsIDY3MTE1LCA2NzExOSwgNjcxMjMsIDY3MTI3LCA2NzEzMSwgCi0gICAgNjcxMzUsIDY3MTM5LCA2NzE0MywgNjcxNDcsIDY3MTUxLCA2NzE1NSwgNjcxNTksIDY3MTYzLCA2NzE2NywgNjcxNzEsIAotICAgIDY3MTc1LCA2NzE3OSwgNjcxODMsIDY3MTg3LCA2NzE5MSwgNjcxOTUsIDY3MTk5LCA2NzIwMywgNjcyMDcsIDY3MjExLCAKLSAgICA2NzIxNSwgNjcyMTksIDY3MjIzLCA2NzIyNywgNjcyMzAsIDY3MjM0LCA2NzIzOCwgNjcyNDIsIDY3MjQ2LCA2NzI1MCwgCi0gICAgNjcyNTQsIDY3MjU4LCA2NzI2MSwgNjcyNjUsIDY3MjY5LCA2NzI3MywgNjcyNzcsIDY3MjgxLCA2NzI4NSwgNjcyODksIAotICAgIDY3MjkzLCA2NzI5NywgNjczMDEsIDY3MzA1LCA2NzMwOSwgNjczMTMsIDY3MzE3LCA2NzMyMSwgNjczMjUsIDY3MzI5LCAKLSAgICA2NzMzMywgNjczMzcsIDY3MzQxLCA2NzM0NSwgNjczNDksIDY3MzUzLCA2NzM1NywgNjczNjEsIDY3MzY1LCA2NzM2OSwgCi0gICAgNjczNzMsIDY3Mzc3LCA2NzM4MSwgNjczODUsIDY3Mzg5LCA2NzM5MywgNjczOTcsIDY3NDAxLCA2NzQwNSwgNjc0MDksIAotICAgIDY3NDEzLCA2NzQxNywgNjc0MjEsIDY3NDI1LCA2NzQyOSwgNjc0MzMsIDY3NDM3LCA2NzQ0MSwgNjc0NDUsIDY3NDQ5LCAKLSAgICA2NzQ1MywgNjc0NTcsIDY3NDYxLCA2NzQ2NSwgNjc0NjksIDY3NDczLCA2NzQ3NywgNjc0ODEsIDY3NDg1LCA2NzQ4OSwgCi0gICAgNjc0OTMsIDY3NDk3LCA2NzUwMSwgNjc1MDUsIDY3NTA5LCA2NzUxMywgNjc1MTcsIDY3NTIxLCA2NzUyNSwgNjc1MjksIAotICAgIDY3NTMzLCA2NzUzNywgNjc1NDEsIDY3NTQ1LCA2NzU0OSwgNjc1NTMsIDY3NTU3LCA2NzU2MSwgNjc1NjUsIDY3NTY5LCAKLSAgICA2NzU3MywgNjc1NzcsIDY3NTgxLCA2NzU4NSwgNjc1ODksIDY3NTkzLCA2NzU5NywgNjc2MDEsIDY3NjA1LCA2NzYwOSwgCi0gICAgNjc2MTMsIDY3NjE3LCA2NzYyMSwgNjc2MjUsIDY3NjI5LCA2NzYzMywgNjc2MzcsIDY3NjQxLCA2NzY0NSwgNjc2NDksIAotICAgIDY3NjUzLCA2NzY1NywgNjc2NjEsIDY3NjY1LCA2NzY2OSwgNjc2NzMsIDY3Njc3LCA2NzY4MSwgNjc2ODUsIDY3Njg5LCAKLSAgICA2NzY5MywgNjc2OTcsIDY3NzAxLCA2NzcwNSwgNjc3MDksIDY3NzEzLCA2NzcxNywgNjc3MjEsIDY3NzI1LCA2NzcyOSwgCi0gICAgNjc3MzMsIDY3NzM3LCA2Nzc0MSwgNjc3NDUsIDY3NzQ5LCA2Nzc1MywgNjc3NTcsIDY3NzYxLCA2Nzc2NSwgNjc3NjksIAotICAgIDY3NzczLCA2Nzc3NywgNjc3ODEsIDY3Nzg1LCA2Nzc4OSwgNjc3OTMsIDY3Nzk3LCA2NzgwMSwgNjc4MDUsIDY3ODA5LCAKLSAgICA2NzgxMywgNjc4MTcsIDY3ODIxLCA2NzgyNSwgNjc4MjksIDY3ODMzLCA2NzgzNywgNjc4NDEsIDY3ODQ1LCA2Nzg0OSwgCi0gICAgNjc4NTMsIDY3ODU3LCA2Nzg2MSwgNjc4NjUsIDY3ODY5LCA2Nzg3MywgNjc4NzcsIDY3ODgxLCA2Nzg4NSwgNjc4ODksIAotICAgIDY3ODkzLCA2Nzg5NywgNjc5MDEsIDY3OTA1LCA2NzkwOSwgNjc5MTMsIDY3OTE3LCA2NzkyMSwgNjc5MjUsIDY3OTI5LCAKLSAgICA2NzkzMywgNjc5MzcsIDY3OTQxLCA2Nzk0NSwgNjc5NDksIDY3OTUzLCA2Nzk1NywgNjc5NjEsIDY3OTY1LCA2Nzk2OSwgCi0gICAgNjc5NzMsIDY3OTc3LCA2Nzk4MSwgNjc5ODUsIDY3OTg4LCA2Nzk5MiwgNjc5OTYsIDY4MDAwLCA2ODAwNCwgNjgwMDgsIAotICAgIDY4MDEyLCA2ODAxNiwgNjgwMjAsIDY4MDI0LCA2ODAyOCwgNjgwMzIsIDY4MDM2LCA2ODA0MCwgNjgwNDQsIDY4MDQ4LCAKLSAgICA2ODA1MiwgNjgwNTYsIDY4MDYwLCA2ODA2NCwgNjgwNjgsIDY4MDcyLCA2ODA3NiwgNjgwODAsIDY4MDg0LCA2ODA4OCwgCi0gICAgNjgwOTIsIDY4MDk2LCA2ODEwMCwgNjgxMDQsIDY4MTA4LCA2ODExMiwgNjgxMTYsIDY4MTIwLCA2ODEyNCwgNjgxMjgsIAotICAgIDY4MTMyLCA2ODEzNiwgNjgxNDAsIDY4MTQ0LCA2ODE0OCwgNjgxNTIsIDY4MTU2LCA2ODE2MCwgNjgxNjQsIDY4MTY4LCAKLSAgICA2ODE3MiwgNjgxNzYsIDY4MTgwLCA2ODE4NCwgNjgxODgsIDY4MTkyLCA2ODE5NiwgNjgyMDAsIDY4MjA0LCA2ODIwOCwgCi0gICAgNjgyMTIsIDY4MjE2LCA2ODIyMCwgNjgyMjQsIDY4MjI4LCA2ODIzMiwgNjgyMzYsIDY4MjQwLCA2ODI0NCwgNjgyNDgsIAotICAgIDY4MjUyLCA2ODI1NiwgNjgyNjAsIDY4MjY0LCA2ODI2OCwgNjgyNzIsIDY4Mjc2LCA2ODI4MCwgNjgyODQsIDY4Mjg4LCAKLSAgICA2ODI5MiwgNjgyOTYsIDY4MzAwLCA2ODMwNCwgNjgzMDgsIDY4MzEyLCA2ODMxNiwgNjgzMjAsIDY4MzI0LCA2ODMyOCwgCi0gICAgNjgzMzIsIDY4MzM2LCA2ODM0MCwgNjgzNDQsIDY4MzQ4LCA2ODM1MiwgNjgzNTYsIDY4MzYwLCA2ODM2NCwgNjgzNjgsIAotICAgIDY4MzcyLCA2ODM3NiwgNjgzODAsIDY4Mzg0LCA2ODM4OCwgNjgzOTIsIDY4Mzk2LCA2ODQwMCwgNjg0MDQsIDY4NDA4LCAKLSAgICA2ODQxMiwgNjg0MTYsIDY4NDIwLCA2ODQyNCwgNjg0MjgsIDY4NDMyLCA2ODQzNiwgNjg0NDAsIDY4NDQ0LCA2ODQ0OCwgCi0gICAgNjg0NTIsIDY4NDU2LCA2ODQ2MCwgNjg0NjQsIDY4NDY4LCA2ODQ3MiwgNjg0NzYsIDY4NDgwLCA2ODQ4NCwgNjg0ODgsIAotICAgIDY4NDkyLCA2ODQ5NiwgNjg1MDAsIDY4NTA0LCA2ODUwOCwgNjg1MTIsIDY4NTE2LCA2ODUyMCwgNjg1MjQsIDY4NTI4LCAKLSAgICA2ODUzMiwgNjg1MzYsIDY4NTQwLCA2ODU0NCwgNjg1NDgsIDY4NTUyLCA2ODU1NiwgNjg1NjAsIDY4NTY0LCA2ODU2OCwgCi0gICAgNjg1NzIsIDY4NTc2LCA2ODU4MCwgNjg1ODQsIDY4NTg4LCA2ODU5MiwgNjg1OTYsIDY4NjAwLCA2ODYwNCwgNjg2MDgsIAotICAgIDY4NjEyLCA2ODYxNiwgNjg2MjAsIDY4NjI0LCA2ODYyOCwgNjg2MzIsIDY4NjM2LCA2ODY0MCwgNjg2NDQsIDY4NjQ4LCAKLSAgICA2ODY1MiwgNjg2NTYsIDY4NjYwLCA2ODY2NCwgNjg2NjgsIDY4NjcyLCA2ODY3NiwgNjg2ODAsIDY4Njg0LCA2ODY4OCwgCi0gICAgNjg2OTIsIDY4Njk2LCA2ODcwMCwgNjg3MDQsIDY4NzA4LCA2ODcxMiwgNjg3MTYsIDY4NzIwLCA2ODcyNCwgNjg3MjgsIAotICAgIDY4NzMyLCA2ODczNiwgNjg3NDAsIDY4NzQ0LCA2ODc0OCwgNjg3NTIsIDY4NzU2LCA2ODc2MCwgNjg3NjQsIDY4NzY4LCAwLCAKLSAgICAwLCAwLCA2ODc3MiwgNjg3NzYsIDY4NzgwLCA2ODc4NCwgNjg3ODgsIDY4NzkyLCA2ODc5NiwgNjg4MDAsIDY4ODA0LCAKLSAgICA2ODgwOCwgNjg4MTIsIDY4ODE2LCA2ODgyMCwgNjg4MjQsIDY4ODI4LCA2ODgzMiwgNjg4MzYsIDY4ODQwLCA2ODg0NCwgCi0gICAgNjg4NDgsIDY4ODUyLCA2ODg1NiwgNjg4NjAsIDY4ODY0LCA2ODg2OCwgNjg4NzIsIDY4ODc2LCA2ODg4MCwgNjg4ODQsIAotICAgIDY4ODg4LCA2ODg5MiwgNjg4OTYsIDY4OTAwLCA2ODkwNCwgNjg5MDgsIDY4OTEyLCA2ODkxNiwgNjg5MjAsIDY4OTI0LCAKLSAgICA2ODkyOCwgNjg5MzIsIDY4OTM2LCA2ODk0MCwgNjg5NDQsIDY4OTQ4LCA2ODk1MiwgNjg5NTYsIDY4OTYwLCA2ODk2NCwgCi0gICAgNjg5NjgsIDY4OTcyLCA2ODk3NiwgNjg5ODAsIDY4OTg0LCA2ODk4OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNjg5OTIsIDY4OTk3LCA2OTAwMSwgNjkwMDYsIDY5MDExLCA2OTAxNiwgNjkwMjEsIDY5MDI2LCA2OTAzMCwgNjkwMzUsIAotICAgIDY5MDQwLCA2OTA0NSwgNjkwNTAsIDY5MDU1LCA2OTA2MCwgNjkwNjUsIDY5MDY5LCA2OTA3MywgNjkwNzgsIDY5MDgyLCAKLSAgICA2OTA4NywgNjkwOTIsIDY5MDk3LCA2OTEwMSwgNjkxMDYsIDY5MTExLCA2OTExNiwgNjkxMjEsIDY5MTI2LCA2OTEzMCwgCi0gICAgNjkxMzUsIDY5MTM5LCA2OTE0NCwgNjkxNDgsIDY5MTUzLCA2OTE1NywgNjkxNjEsIDY5MTY1LCA2OTE3MCwgNjkxNzUsIAotICAgIDY5MTgwLCA2OTE4OCwgNjkxOTYsIDY5MjA0LCA2OTIxMiwgNjkyMTksIDY5MjI3LCA2OTIzMywgNjkyNDEsIDY5MjQ1LCAKLSAgICA2OTI0OSwgNjkyNTMsIDY5MjU3LCA2OTI2MSwgNjkyNjUsIDY5MjY5LCA2OTI3MywgNjkyNzcsIDY5MjgxLCA2OTI4NSwgCi0gICAgNjkyODksIDY5MjkzLCA2OTI5NywgNjkzMDEsIDY5MzA1LCA2OTMwOSwgNjkzMTMsIDY5MzE3LCA2OTMyMSwgNjkzMjUsIAotICAgIDY5MzI5LCA2OTMzMywgNjkzMzcsIDY5MzQxLCA2OTM0NSwgNjkzNDksIDY5MzUzLCA2OTM1NywgNjkzNjEsIDY5MzY1LCAKLSAgICA2OTM2OSwgNjkzNzMsIDY5Mzc3LCA2OTM4MSwgNjkzODUsIDY5Mzg4LCA2OTM5MiwgNjkzOTYsIDY5NDAwLCA2OTQwNCwgCi0gICAgNjk0MDgsIDY5NDEyLCA2OTQxNiwgNjk0MjAsIDY5NDI0LCA2OTQyOCwgNjk0MzIsIDY5NDM2LCA2OTQ0MCwgNjk0NDQsIAotICAgIDY5NDQ4LCA2OTQ1MiwgNjk0NTYsIDY5NDYwLCA2OTQ2NCwgNjk0NjgsIDY5NDcyLCA2OTQ3NiwgNjk0ODAsIDY5NDg0LCAKLSAgICA2OTQ4OCwgNjk0OTIsIDY5NDk2LCA2OTUwMCwgNjk1MDQsIDY5NTA4LCA2OTUxMiwgNjk1MTYsIDY5NTIwLCA2OTUyNCwgCi0gICAgNjk1MjgsIDY5NTMyLCA2OTUzNSwgNjk1MzksIDY5NTQzLCA2OTU0NiwgNjk1NTAsIDY5NTU0LCA2OTU1OCwgNjk1NjEsIAotICAgIDY5NTY1LCA2OTU2OSwgNjk1NzMsIDY5NTc3LCA2OTU4MSwgNjk1ODUsIDY5NTg5LCA2OTU5MywgNjk1OTcsIDY5NjAxLCAKLSAgICA2OTYwNSwgNjk2MDksIDY5NjEzLCA2OTYxNywgNjk2MjAsIDY5NjI0LCA2OTYyOCwgNjk2MzEsIDY5NjM1LCA2OTYzOSwgCi0gICAgNjk2NDMsIDY5NjQ3LCA2OTY1MSwgNjk2NTUsIDY5NjU4LCA2OTY2MSwgNjk2NjUsIDY5NjY5LCA2OTY3MywgNjk2NzYsIAotICAgIDY5Njc5LCA2OTY4MywgNjk2ODcsIDY5NjkxLCA2OTY5NSwgNjk2OTksIDY5NzAzLCA2OTcwNywgNjk3MTEsIDY5NzE1LCAKLSAgICA2OTcxOSwgNjk3MjMsIDY5NzI3LCA2OTczMSwgNjk3MzUsIDY5NzM5LCA2OTc0MywgNjk3NDcsIDY5NzUxLCA2OTc1NSwgCi0gICAgNjk3NTksIDY5NzYzLCA2OTc2NywgNjk3NzEsIDY5Nzc1LCA2OTc3OSwgNjk3ODMsIDY5Nzg3LCA2OTc5MSwgNjk3OTUsIAotICAgIDY5Nzk5LCA2OTgwMywgNjk4MDcsIDY5ODExLCA2OTgxNSwgNjk4MTksIDY5ODIzLCA2OTgyNywgNjk4MzAsIDY5ODM0LCAKLSAgICA2OTgzOCwgNjk4NDIsIDY5ODQ2LCA2OTg1MCwgNjk4NTQsIDY5ODU4LCA2OTg2MiwgNjk4NjYsIDY5ODcwLCA2OTg3NCwgCi0gICAgNjk4NzgsIDY5ODgyLCA2OTg4NiwgNjk4OTAsIDY5ODk0LCA2OTg5OCwgNjk5MDIsIDY5OTA2LCA2OTkxMCwgNjk5MTQsIAotICAgIDY5OTE4LCA2OTkyMiwgNjk5MjYsIDY5OTMwLCA2OTkzNCwgNjk5MzgsIDY5OTQyLCA2OTk0NiwgNjk5NTAsIDY5OTU0LCAKLSAgICA2OTk1OCwgNjk5NjIsIDY5OTY2LCA2OTk3MCwgNjk5NzQsIDY5OTc3LCA2OTk4MSwgNjk5ODUsIDY5OTg5LCA2OTk5MywgCi0gICAgNjk5OTcsIDcwMDAxLCA3MDAwNSwgNzAwMDksIDcwMDEzLCA3MDAxNywgNzAwMjEsIDcwMDI1LCA3MDAyOSwgNzAwMzMsIAotICAgIDcwMDM3LCA3MDA0MSwgNzAwNDQsIDcwMDQ4LCA3MDA1MiwgNzAwNTYsIDcwMDYwLCA3MDA2NCwgNzAwNjgsIDcwMDcyLCAKLSAgICA3MDA3NiwgNzAwODAsIDcwMDg0LCA3MDA4OCwgNzAwOTIsIDcwMDk2LCA3MDEwMCwgNzAxMDQsIDcwMTA4LCA3MDExMiwgCi0gICAgNzAxMTYsIDcwMTIwLCA3MDEyNCwgNzAxMjgsIDcwMTMxLCA3MDEzNSwgNzAxMzksIDcwMTQzLCA3MDE0NywgNzAxNTEsIAotICAgIDcwMTU1LCA3MDE1OSwgNzAxNjMsIDcwMTY3LCA3MDE3MSwgNzAxNzUsIDcwMTc5LCA3MDE4MywgNzAxODcsIDcwMTkxLCAKLSAgICA3MDE5NSwgNzAxOTksIDcwMjAzLCA3MDIwNywgNzAyMTEsIDcwMjE1LCA3MDIxOSwgNzAyMjMsIDcwMjI3LCA3MDIzMSwgCi0gICAgNzAyMzUsIDcwMjM5LCA3MDI0MywgNzAyNDcsIDcwMjUxLCA3MDI1NSwgNzAyNTksIDcwMjYzLCA3MDI2NywgNzAyNzEsIAotICAgIDcwMjc1LCA3MDI3OSwgNzAyODMsIDcwMjg3LCA3MDI5MSwgNzAyOTUsIDcwMjk5LCA3MDMwMywgNzAzMDYsIDcwMzExLCAKLSAgICA3MDMxNSwgNzAzMjEsIDcwMzI2LCA3MDMzMiwgNzAzMzYsIDcwMzQwLCA3MDM0NCwgNzAzNDgsIDcwMzUyLCA3MDM1NiwgCi0gICAgNzAzNjAsIDcwMzY0LCA3MDM2OCwgNzAzNzIsIDcwMzc2LCA3MDM4MCwgNzAzODQsIDcwMzg4LCA3MDM5MSwgNzAzOTQsIAotICAgIDcwMzk3LCA3MDQwMCwgNzA0MDMsIDcwNDA2LCA3MDQwOSwgNzA0MTIsIDcwNDE1LCA3MDQyMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNzA0MjYsIDcwNDMxLCA3MDQzNiwgNzA0NDEsIAotICAgIDcwNDQ2LCA3MDQ1MywgNzA0NjAsIDcwNDY1LCA3MDQ3MCwgNzA0NzUsIDcwNDgwLCA3MDQ4NywgNzA0OTQsIDcwNTAxLCAKLSAgICA3MDUwOCwgNzA1MTUsIDcwNTIyLCA3MDUzMiwgNzA1NDIsIDcwNTQ5LCA3MDU1NiwgNzA1NjMsIDcwNTcwLCA3MDU3NiwgCi0gICAgNzA1ODIsIDcwNTkxLCA3MDYwMCwgNzA2MDcsIDcwNjE0LCA3MDYyNSwgNzA2MzYsIDcwNjQxLCA3MDY0NiwgNzA2NTMsIAotICAgIDcwNjYwLCA3MDY2NywgNzA2NzQsIDcwNjgxLCA3MDY4OCwgNzA2OTUsIDcwNzAyLCA3MDcwOCwgNzA3MTQsIDcwNzIwLCAKLSAgICA3MDcyNiwgNzA3MzMsIDcwNzQwLCA3MDc0NSwgNzA3NDksIDcwNzU2LCA3MDc2MywgNzA3NzAsIDcwNzc0LCA3MDc4MSwgCi0gICAgNzA3ODUsIDcwNzkwLCA3MDc5NCwgNzA4MDAsIDcwODA1LCA3MDgxMSwgNzA4MTYsIDcwODIwLCA3MDgyNCwgNzA4MjcsIAotICAgIDcwODMwLCA3MDgzNSwgNzA4NDAsIDcwODQ1LCA3MDg1MCwgNzA4NTUsIDcwODYwLCA3MDg2NSwgNzA4NzAsIDcwODc1LCAKLSAgICA3MDg4MCwgNzA4ODksIDcwODk4LCA3MDkwMywgNzA5MDgsIDcwOTEzLCA3MDkxOCwgNzA5MjMsIDcwOTI4LCA3MDkzMywgCi0gICAgNzA5MzgsIDcwOTQzLCA3MDk0OCwgNzA5NTMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcwOTU4LCA3MDk2NCwgNzA5NjcsIAotICAgIDcwOTcwLCA3MDk3MywgNzA5NzcsIDcwOTgxLCA3MDk4NSwgNzA5ODksIDcwOTkyLCA3MDk5NiwgNzA5OTksIDcxMDAzLCAKLSAgICA3MTAwNiwgNzEwMTAsIDcxMDE0LCA3MTAxOCwgNzEwMjIsIDcxMDI2LCA3MTAzMCwgNzEwMzQsIDcxMDM3LCA3MTA0MSwgCi0gICAgNzEwNDUsIDcxMDQ5LCA3MTA1MywgNzEwNTcsIDcxMDYxLCA3MTA2NSwgNzEwNjksIDcxMDczLCA3MTA3NywgNzEwODEsIAotICAgIDcxMDg1LCA3MTA4OSwgNzEwOTMsIDcxMDk2LCA3MTEwMCwgNzExMDQsIDcxMTA4LCA3MTExMiwgNzExMTYsIDcxMTIwLCAKLSAgICA3MTEyNCwgNzExMjgsIDcxMTMyLCA3MTEzNiwgNzExNDAsIDcxMTQ0LCA3MTE0OCwgNzExNTIsIDcxMTU2LCA3MTE2MCwgCi0gICAgNzExNjQsIDcxMTY4LCA3MTE3MiwgNzExNzYsIDcxMTgwLCA3MTE4NCwgNzExODgsIDcxMTkyLCA3MTE5NSwgNzExOTksIAotICAgIDcxMjAzLCA3MTIwNywgNzEyMTEsIDcxMjE1LCA3MTIxOSwgNzEyMjMsIDcxMjI2LCA3MTIzMCwgNzEyMzQsIDcxMjM4LCAKLSAgICA3MTI0MiwgNzEyNDYsIDcxMjUwLCA3MTI1NCwgNzEyNTgsIDcxMjYyLCA3MTI2NiwgNzEyNzAsIDcxMjc0LCA3MTI3OSwgCi0gICAgNzEyODQsIDcxMjg3LCA3MTI5MiwgNzEyOTUsIDcxMjk4LCA3MTMwMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNzEzMDUsIAotICAgIDcxMzE0LCA3MTMyMywgNzEzMzIsIDcxMzQxLCA3MTM1MCwgNzEzNTksIDcxMzY4LCA3MTM3NywgNzEzODUsIDcxMzkyLCAKLSAgICA3MTQwMCwgNzE0MDcsIDcxNDE1LCA3MTQyNSwgNzE0MzQsIDcxNDQ0LCA3MTQ1MywgNzE0NjMsIDcxNDcxLCA3MTQ3OCwgCi0gICAgNzE0ODYsIDcxNDkzLCA3MTUwMSwgNzE1MDYsIDcxNTExLCA3MTUxNiwgNzE1MjUsIDcxNTMxLCA3MTUzNywgNzE1NDQsIAotICAgIDcxNTUzLCA3MTU2MSwgNzE1NjksIDcxNTc3LCA3MTU4NCwgNzE1OTEsIDcxNTk4LCA3MTYwNSwgNzE2MTAsIDcxNjE1LCAKLSAgICA3MTYyMCwgNzE2MjUsIDcxNjMwLCA3MTYzNSwgNzE2NDAsIDcxNjQ1LCA3MTY1MywgNzE2NjEsIDcxNjY3LCA3MTY3MywgCi0gICAgNzE2NzgsIDcxNjgzLCA3MTY4OCwgNzE2OTMsIDcxNjk4LCA3MTcwMywgNzE3MDgsIDcxNzEzLCA3MTcyMSwgNzE3MjksIAotICAgIDcxNzM0LCA3MTczOSwgNzE3NDksIDcxNzU5LCA3MTc2NiwgNzE3NzMsIDcxNzgyLCA3MTc5MSwgNzE4MDMsIDcxODE1LCAKLSAgICA3MTgyMSwgNzE4MjcsIDcxODM1LCA3MTg0MywgNzE4NTMsIDcxODYzLCA3MTg3MCwgNzE4NzcsIDcxODgyLCA3MTg4NywgCi0gICAgNzE4OTksIDcxOTExLCA3MTkxOSwgNzE5MjcsIDcxOTM3LCA3MTk0NywgNzE5NTksIDcxOTcxLCA3MTk4MCwgNzE5ODksIAotICAgIDcxOTk2LCA3MjAwMywgNzIwMTAsIDcyMDE3LCA3MjAyNiwgNzIwMzUsIDcyMDQwLCA3MjA0NSwgNzIwNTIsIDcyMDU5LCAKLSAgICA3MjA2NiwgNzIwNzMsIDcyMDg1LCA3MjA5NywgNzIxMDIsIDcyMTA3LCA3MjExMiwgNzIxMTcsIDcyMTIyLCA3MjEyNywgCi0gICAgNzIxMzIsIDcyMTM3LCA3MjE0MSwgNzIxNDYsIDcyMTUxLCA3MjE1NiwgNzIxNjEsIDcyMTY2LCA3MjE3MiwgNzIxNzcsIAotICAgIDcyMTgyLCA3MjE4OSwgNzIxOTYsIDcyMjAzLCA3MjIxMCwgNzIyMTcsIDcyMjI2LCA3MjIzNSwgNzIyNDEsIDcyMjQ3LCAKLSAgICA3MjI1MywgNzIyNTksIDcyMjY2LCA3MjI3MywgNzIyODAsIDcyMjg3LCA3MjI5NCwgNzIyOTgsIDcyMzA1LCA3MjMxMCwgCi0gICAgNzIzMTUsIDcyMzIyLCAwLCA3MjMzNSwgNzIzNDMsIDcyMzUxLCA3MjM1OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgNzIzNjUsIDcyMzc0LCA3MjM4MywgNzIzOTIsIDcyNDAxLCA3MjQxMCwgNzI0MTksIDcyNDI4LCA3MjQzNywgCi0gICAgNzI0NDYsIDcyNDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3MjQ2MiwgNzI0NjksIDcyNDc1LCA3MjQ4MiwgNzI0OTAsIDcyNDk4LCAKLSAgICA3MjUwNSwgNzI1MTMsIDcyNTIwLCA3MjUyNiwgNzI1MzIsIDcyNTM5LCA3MjU0NSwgNzI1NTEsIDcyNTU3LCA3MjU2NCwgCi0gICAgNzI1NzEsIDcyNTc4LCA3MjU4NSwgNzI1OTIsIDcyNTk5LCA3MjYwNiwgNzI2MTMsIDcyNjIwLCA3MjYyNywgNzI2MzQsIAotICAgIDcyNjQxLCA3MjY0OCwgNzI2NTUsIDcyNjYxLCA3MjY2OCwgNzI2NzUsIDcyNjgyLCA3MjY4OSwgNzI2OTYsIDcyNzAzLCAKLSAgICA3MjcxMCwgNzI3MTcsIDcyNzI0LCA3MjczMSwgNzI3MzgsIDcyNzQ1LCA3Mjc1MiwgNzI3NTksIDcyNzY2LCA3Mjc3MywgCi0gICAgNzI3ODAsIDcyNzg3LCA3Mjc5NSwgNzI4MDMsIDcyODExLCA3MjgxOSwgMCwgMCwgMCwgMCwgNzI4MjcsIDcyODM2LCAKLSAgICA3Mjg0NSwgNzI4NTQsIDcyODYzLCA3Mjg3MiwgNzI4ODEsIDcyODg4LCA3Mjg5NSwgNzI5MDIsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDcyOTA5LCA3MjkxMywgNzI5MTgsIDcyOTIzLCA3MjkyOCwgNzI5MzMsIDcyOTM4LCA3Mjk0MywgNzI5NDgsIDcyOTUzLCAKLSAgICA3Mjk1OCwgNzI5NjMsIDcyOTY3LCA3Mjk3MSwgNzI5NzYsIDcyOTgxLCA3Mjk4NSwgNzI5OTAsIDcyOTk1LCA3MzAwMCwgCi0gICAgNzMwMDUsIDczMDEwLCA3MzAxNSwgNzMwMjAsIDczMDI0LCA3MzAyOCwgNzMwMzMsIDczMDM4LCA3MzA0MiwgNzMwNDYsIAotICAgIDczMDUwLCA3MzA1NCwgNzMwNTgsIDczMDYyLCA3MzA2NiwgNzMwNzEsIDczMDc2LCA3MzA4MSwgNzMwODYsIDczMDkxLCAKLSAgICA3MzA5OCwgNzMxMDQsIDczMTA5LCA3MzExNCwgNzMxMTksIDczMTI0LCA3MzEzMCwgNzMxMzcsIDczMTQzLCA3MzE1MCwgCi0gICAgNzMxNTYsIDczMTYyLCA3MzE2NywgNzMxNzQsIDczMTgwLCA3MzE4NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNzMxOTEsIAotICAgIDczMTk1LCA3MzE5OSwgNzMyMDIsIDczMjA2LCA3MzIwOSwgNzMyMTMsIDczMjE2LCA3MzIyMCwgNzMyMjQsIDczMjI5LCAKLSAgICA3MzIzMywgNzMyMzgsIDczMjQxLCA3MzI0NSwgNzMyNDksIDczMjUyLCA3MzI1NiwgNzMyNjAsIDczMjYzLCA3MzI2NywgCi0gICAgNzMyNzEsIDczMjc1LCA3MzI3OSwgNzMyODMsIDczMjg3LCA3MzI5MSwgNzMyOTUsIDczMjk5LCA3MzMwMywgNzMzMDcsIAotICAgIDczMzExLCA3MzMxNSwgNzMzMTksIDczMzIzLCA3MzMyNywgNzMzMzEsIDczMzM1LCA3MzMzOCwgNzMzNDEsIDczMzQ1LCAKLSAgICA3MzM0OSwgNzMzNTMsIDczMzU2LCA3MzM1OSwgNzMzNjIsIDczMzY2LCA3MzM3MCwgNzMzNzQsIDczMzc4LCA3MzM4MSwgCi0gICAgNzMzODQsIDczMzg4LCA3MzM5MywgNzMzOTgsIDczNDAyLCA3MzQwNywgNzM0MTEsIDczNDE2LCA3MzQyMSwgNzM0MjcsIAotICAgIDczNDMyLCA3MzQzOCwgNzM0NDIsIDczNDQ3LCA3MzQ1MiwgNzM0NTYsIDczNDYxLCA3MzQ2NiwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgNzM0NzAsIDczNDczLCA3MzQ3NywgNzM0ODEsIDczNDg0LCA3MzQ4NywgNzM0OTAsIDczNDkzLCA3MzQ5NiwgCi0gICAgNzM0OTksIDczNTAyLCA3MzUwNSwgMCwgMCwgMCwgMCwgMCwgMCwgNzM1MDgsIDczNTEzLCA3MzUxNywgNzM1MjEsIDczNTI1LCAKLSAgICA3MzUyOSwgNzM1MzMsIDczNTM3LCA3MzU0MSwgNzM1NDUsIDczNTQ5LCA3MzU1MywgNzM1NTcsIDczNTYxLCA3MzU2NSwgCi0gICAgNzM1NjksIDczNTczLCA3MzU3OCwgNzM1ODMsIDczNTg5LCA3MzU5NSwgNzM2MDIsIDczNjA3LCA3MzYxMiwgNzM2MTgsIAotICAgIDczNjIyLCA3MzYyNywgNzM2MzAsIDAsIDAsIDAsIDAsIDczNjMzLCA3MzY0MCwgNzM2NDYsIDczNjUyLCA3MzY1OCwgCi0gICAgNzM2NjQsIDczNjcwLCA3MzY3NiwgNzM2ODIsIDczNjg4LCA3MzY5NCwgNzM3MDAsIDczNzA3LCA3MzcxNCwgNzM3MjEsIAotICAgIDczNzI3LCA3MzczNCwgNzM3NDEsIDczNzQ4LCA3Mzc1NSwgNzM3NjIsIDczNzY4LCA3Mzc3NCwgNzM3ODEsIDczNzg3LCAKLSAgICA3Mzc5NCwgNzM4MDEsIDczODA3LCA3MzgxMywgNzM4MjAsIDczODI3LCA3MzgzNCwgNzM4NDAsIDczODQ3LCA3Mzg1NCwgCi0gICAgNzM4NjAsIDczODY3LCA3Mzg3MywgNzM4ODAsIDczODg3LCA3Mzg5MywgNzM4OTksIDczOTA2LCA3MzkxMiwgNzM5MTksIAotICAgIDczOTI2LCA3MzkzNSwgNzM5NDIsIDczOTQ5LCA3Mzk1MywgNzM5NTgsIDczOTYzLCA3Mzk2OCwgNzM5NzMsIDczOTc3LCAKLSAgICA3Mzk4MSwgNzM5ODYsIDczOTkwLCA3Mzk5NSwgNzQwMDAsIDc0MDA1LCA3NDAwOSwgNzQwMTMsIDc0MDE4LCA3NDAyMiwgCi0gICAgNzQwMjcsIDc0MDMxLCA3NDAzNiwgNzQwNDEsIDc0MDQ2LCA3NDA1MSwgNzQwNTUsIDc0MDYwLCA3NDA2NSwgNzQwNzAsIAotICAgIDc0MDc2LCA3NDA4MSwgNzQwODcsIDc0MDkzLCA3NDA5OSwgNzQxMDUsIDc0MTExLCA3NDExNiwgNzQxMjIsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDc0MTI2LCA3NDEzMSwgNzQxMzUsIDc0MTM5LCA3NDE0MywgNzQxNDcsIDc0MTUxLCAKLSAgICA3NDE1NSwgNzQxNTksIDc0MTYzLCA3NDE2NywgNzQxNzEsIDc0MTc1LCA3NDE3OSwgNzQxODMsIDc0MTg3LCA3NDE5MSwgCi0gICAgNzQxOTUsIDc0MTk5LCA3NDIwMywgNzQyMDcsIDc0MjExLCA3NDIxNSwgNzQyMTksIDc0MjIzLCA3NDIyNywgNzQyMzEsIAotICAgIDc0MjM1LCA3NDIzOSwgNzQyNDMsIDAsIDAsIDAsIDc0MjQ3LCA3NDI1MSwgNzQyNTUsIDc0MjU5LCA3NDI2MywgNzQyNjYsIAotICAgIDc0MjcyLCA3NDI3NSwgNzQyNzksIDc0MjgyLCA3NDI4OCwgNzQyOTQsIDc0MzAyLCA3NDMwNSwgNzQzMDksIDc0MzEyLCAKLSAgICA3NDMxNSwgNzQzMjEsIDc0MzI3LCA3NDMzMSwgNzQzMzcsIDc0MzQxLCA3NDM0NSwgNzQzNTEsIDc0MzU1LCA3NDM2MSwgCi0gICAgNzQzNjcsIDc0MzcxLCA3NDM3NSwgNzQzODEsIDc0Mzg1LCA3NDM5MSwgNzQzOTcsIDc0NDAxLCA3NDQwNywgNzQ0MTEsIAotICAgIDc0NDE3LCA3NDQyMCwgNzQ0MjMsIDc0NDI5LCA3NDQzMywgNzQ0MzksIDc0NDQyLCA3NDQ0NSwgNzQ0NDgsIDc0NDU0LCAKLSAgICA3NDQ1OCwgNzQ0NjIsIDc0NDY4LCA3NDQ3NCwgNzQ0NzcsIDc0NDgwLCA3NDQ4NiwgNzQ0OTEsIDc0NDk2LCA3NDUwMSwgCi0gICAgNzQ1MDgsIDc0NTEzLCA3NDUyMCwgNzQ1MjUsIDc0NTMyLCA3NDUzNywgNzQ1NDIsIDc0NTQ3LCA3NDU1MiwgNzQ1NTUsIAotICAgIDc0NTU5LCA3NDU2MywgNzQ1NjgsIDc0NTczLCA3NDU3OCwgNzQ1ODMsIDc0NTg4LCA3NDU5MywgNzQ1OTgsIDc0NjAzLCAKLSAgICA3NDYxMCwgNzQ2MTUsIDAsIDc0NjIyLCA3NDYyNSwgNzQ2MjksIDc0NjMyLCA3NDYzNSwgNzQ2MzgsIDc0NjQxLCA3NDY0NCwgCi0gICAgNzQ2NDcsIDc0NjUwLCA3NDY1MywgMCwgMCwgMCwgMCwgNzQ2NTYsIDc0NjYzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA3NDY2OCwgNzQ2NzEsIDc0Njc0LCA3NDY3NywgNzQ2ODAsIDc0Njg0LCA3NDY4NywgNzQ2OTAsIDc0Njk0LCA3NDY5OCwgCi0gICAgNzQ3MDIsIDc0NzA2LCA3NDcxMCwgNzQ3MTQsIDc0NzE4LCA3NDcyMiwgNzQ3MjYsIDc0NzMwLCA3NDczNCwgNzQ3MzgsIAotICAgIDc0NzQyLCA3NDc0NiwgNzQ3NTAsIDc0NzU0LCA3NDc1OCwgNzQ3NjEsIDc0NzY1LCA3NDc2OCwgNzQ3NzIsIDc0Nzc2LCAKLSAgICA3NDc4MCwgNzQ3ODQsIDc0Nzg4LCA3NDc5MSwgNzQ3OTUsIDc0Nzk4LCA3NDgwMSwgNzQ4MDUsIDc0ODA5LCA3NDgxMywgCi0gICAgNzQ4MTYsIDc0ODE5LCA3NDgyNCwgNzQ4MjgsIDc0ODMzLCA3NDgzOCwgNzQ4NDIsIDc0ODQ3LCA3NDg1MSwgNzQ4NTYsIAotICAgIDc0ODYxLCA3NDg2NiwgNzQ4NzAsIDc0ODc0LCA3NDg3OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNzQ4ODQsIAotICAgIDc0ODg5LCA3NDg5NCwgNzQ4OTksIDc0OTA1LCA3NDkxMCwgNzQ5MTUsIDc0OTIwLCA3NDkyNSwgNzQ5MzAsIDc0OTM0LCAKLSAgICA3NDkzOCwgNzQ5NDMsIDc0OTQ4LCAwLCAwLCA3NDk1NCwgNzQ5NTgsIDc0OTYxLCA3NDk2NCwgNzQ5NjcsIDc0OTcwLCAKLSAgICA3NDk3MywgNzQ5NzYsIDc0OTc5LCA3NDk4MiwgMCwgMCwgNzQ5ODUsIDc0OTkwLCA3NDk5NSwgNzUwMDEsIDc1MDA4LCAKLSAgICA3NTAxNCwgNzUwMjAsIDc1MDI2LCA3NTAzMiwgNzUwMzgsIDc1MDQ0LCA3NTA1MCwgNzUwNTYsIDc1MDYyLCA3NTA2OCwgCi0gICAgNzUwNzQsIDc1MDc5LCA3NTA4NCwgNzUwODksIDc1MDk1LCA3NTEwMSwgNzUxMDgsIDc1MTE0LCA3NTEyMCwgNzUxMjUsIAotICAgIDc1MTMyLCA3NTEzOSwgNzUxNDYsIDc1MTUyLCA3NTE1NywgNzUxNjIsIDc1MTY3LCAwLCAwLCAwLCAwLCA3NTE3NSwgCi0gICAgNzUxODEsIDc1MTg3LCA3NTE5MywgNzUxOTksIDc1MjA1LCA3NTIxMSwgNzUyMTcsIDc1MjIzLCA3NTIyOSwgNzUyMzUsIAotICAgIDc1MjQxLCA3NTI0NywgNzUyNTMsIDc1MjU5LCA3NTI2NSwgNzUyNzEsIDc1Mjc3LCA3NTI4MywgNzUyODksIDc1Mjk1LCAKLSAgICA3NTMwMCwgNzUzMDUsIDc1MzExLCA3NTMxNywgNzUzMjMsIDc1MzI5LCA3NTMzNSwgNzUzNDEsIDc1MzQ3LCA3NTM1MywgCi0gICAgNzUzNTksIDc1MzY1LCA3NTM3MSwgNzUzNzcsIDc1MzgzLCA3NTM4OSwgNzUzOTUsIDc1NDAxLCA3NTQwNywgNzU0MTMsIAotICAgIDc1NDE5LCA3NTQyNSwgNzU0MzEsIDc1NDM3LCA3NTQ0MywgNzU0NDksIDc1NDU0LCA3NTQ1OSwgNzU0NjUsIDc1NDcwLCAKLSAgICA3NTQ3NCwgNzU0NzksIDc1NDgzLCA3NTQ4NywgNzU0OTEsIDc1NDk3LCA3NTUwMiwgNzU1MDcsIDc1NTEyLCA3NTUxNywgCi0gICAgNzU1MjIsIDc1NTI3LCA3NTUzMiwgNzU1MzksIDc1NTQ2LCA3NTU1MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNzU1NjAsIDc1NTY1LCA3NTU3MCwgNzU1NzUsIAotICAgIDc1NTgyLCA3NTU4OSwgNzU1OTMsIDc1NTk3LCA3NTYwMiwgNzU2MDcsIDc1NjEyLCA3NTYxNywgNzU2MjIsIDc1NjI3LCAKLSAgICA3NTYzMiwgNzU2MzcsIDc1NjQyLCA3NTY0OCwgNzU2NTQsIDc1NjYwLCA3NTY2NiwgNzU2NzIsIDc1Njc2LCA3NTY4MiwgCi0gICAgNzU2ODYsIDc1NjkyLCA3NTY5OSwgNzU3MDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDc1NzA5LCA3NTcxMywgCi0gICAgNzU3MTcsIDc1NzIxLCA3NTcyNSwgNzU3MjksIDAsIDAsIDc1NzMzLCA3NTczNywgNzU3NDEsIDc1NzQ1LCA3NTc0OSwgCi0gICAgNzU3NTMsIDAsIDAsIDc1NzU3LCA3NTc2MSwgNzU3NjUsIDc1NzY5LCA3NTc3MywgNzU3NzcsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDc1NzgxLCA3NTc4NSwgNzU3ODksIDc1NzkzLCA3NTc5NywgNzU4MDEsIDc1ODA1LCAwLCA3NTgwOSwgCi0gICAgNzU4MTMsIDc1ODE3LCA3NTgyMSwgNzU4MjUsIDc1ODI5LCA3NTgzMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgOTE3NzksIDkxNzg2LCA5MTc5NSwgOTE4MDQsIDkxODExLCA5MTgxOCwgOTE4MjUsIDkxODMyLCA5MTgzOSwgCisgICAgOTE4NDYsIDkxODUyLCA5MTg1OSwgOTE4NjYsIDkxODczLCA5MTg4MCwgOTE4ODcsIDkxODk0LCA5MTkwMSwgOTE5MDgsIAorICAgIDkxOTE3LCA5MTkyNCwgOTE5MzEsIDkxOTM4LCA5MTk0NSwgOTE5NTIsIDkxOTU5LCA5MTk2NiwgOTE5NzMsIDkxOTgyLCAKKyAgICA5MTk4OSwgOTE5OTYsIDkyMDAzLCA5MjAxMCwgOTIwMTcsIDkyMDI0LCA5MjAzMywgOTIwNDAsIDkyMDQ3LCA5MjA1NCwgCisgICAgOTIwNjEsIDkyMDcwLCA5MjA3NywgOTIwODQsIDkyMDkxLCA5MjA5OSwgOTIxMDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDc1ODM3LCA3NTg0MiwgNzU4NDcsIDc1ODUyLCAKLSAgICA3NTg1NywgNzU4NjEsIDc1ODY1LCA3NTg3MCwgNzU4NzUsIDc1ODgwLCA3NTg4NSwgNzU4OTAsIDc1ODk1LCA3NTkwMCwgCi0gICAgNzU5MDUsIDc1OTEwLCA3NTkxNCwgNzU5MTksIDc1OTI0LCA3NTkyOSwgNzU5MzQsIDc1OTM5LCA3NTk0NCwgNzU5NDksIAotICAgIDc1OTU0LCA3NTk1OSwgNzU5NjQsIDc1OTY5LCA3NTk3NiwgNzU5ODMsIDc1OTkwLCA3NTk5NywgNzYwMDQsIDc2MDExLCAKLSAgICA3NjAxOCwgNzYwMjUsIDc2MDMxLCA3NjAzNywgNzYwNDMsIDc2MDQ5LCA3NjA1NSwgNzYwNjEsIDc2MDY3LCA3NjA3MywgCi0gICAgNzYwNzcsIDc2MDgzLCAwLCAwLCA3NjA4OSwgNzYwOTQsIDc2MDk4LCA3NjEwMiwgNzYxMDYsIDc2MTEwLCA3NjExNCwgCi0gICAgNzYxMTgsIDc2MTIyLCA3NjEyNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNzYxMzAsIDc2MTM0LCA3NjEzOCwgNzYxNDIsIDc2MTQ2LCAKLSAgICA3NjE1MCwgNzYxNTQsIDc2MTU4LCA3NjE2MiwgNzYxNjYsIDc2MTcwLCA3NjE3NCwgNzYxNzgsIDc2MTgyLCA3NjE4NiwgCi0gICAgNzYxOTAsIDc2MTk0LCA3NjE5OCwgNzYyMDIsIDc2MjA2LCA3NjIxMCwgNzYyMTQsIDc2MjE4LCAwLCAwLCAwLCAwLCAKLSAgICA3NjIyMiwgNzYyMjYsIDc2MjMwLCA3NjIzNCwgNzYyMzgsIDc2MjQyLCA3NjI0NiwgNzYyNTAsIDc2MjU0LCA3NjI1OCwgCi0gICAgNzYyNjIsIDc2MjY2LCA3NjI3MCwgNzYyNzQsIDc2Mjc4LCA3NjI4MiwgNzYyODYsIDc2MjkwLCA3NjI5NCwgNzYyOTgsIAotICAgIDc2MzAyLCA3NjMwNiwgNzYzMTAsIDc2MzE0LCA3NjMxOCwgNzYzMjIsIDc2MzI2LCA3NjMzMCwgNzYzMzQsIDc2MzM4LCAKLSAgICA3NjM0MiwgNzYzNDYsIDc2MzUwLCA3NjM1NCwgNzYzNTgsIDc2MzYyLCA3NjM2NiwgNzYzNzAsIDc2Mzc0LCA3NjM3OCwgCi0gICAgNzYzODIsIDc2Mzg2LCA3NjM5MCwgNzYzOTQsIDc2Mzk4LCA3NjQwMiwgNzY0MDYsIDc2NDEwLCA3NjQxNCwgMCwgMCwgMCwgCi0gICAgMCwgNzY0MTgsIDc2NDIyLCA3NjQyNiwgNzY0MzAsIDc2NDM0LCA3NjQzOCwgNzY0NDIsIDc2NDQ2LCA3NjQ1MCwgNzY0NTQsIAotICAgIDc2NDU4LCA3NjQ2MiwgNzY0NjYsIDc2NDcwLCA3NjQ3NCwgNzY0NzgsIDc2NDgyLCA3NjQ4NiwgNzY0OTAsIDc2NDk0LCAKLSAgICA3NjQ5OCwgNzY1MDIsIDc2NTA2LCA3NjUxMCwgNzY1MTQsIDc2NTE4LCA3NjUyMiwgNzY1MjYsIDc2NTMwLCA3NjUzNCwgCi0gICAgNzY1MzgsIDc2NTQyLCA3NjU0NiwgNzY1NTAsIDc2NTU0LCA3NjU1OCwgNzY1NjIsIDc2NTY2LCA3NjU3MCwgNzY1NzQsIAotICAgIDc2NTc4LCA3NjU4MiwgNzY1ODYsIDc2NTkwLCA3NjU5NCwgNzY1OTgsIDc2NjAyLCA3NjYwNiwgNzY2MTAsIDc2NjE0LCAKLSAgICA3NjYxOCwgNzY2MjIsIDc2NjI2LCA3NjYzMCwgNzY2MzQsIDc2NjM4LCA3NjY0MiwgNzY2NDYsIDc2NjUwLCA3NjY1NCwgCi0gICAgNzY2NTgsIDc2NjYyLCA3NjY2NiwgNzY2NzAsIDc2Njc0LCA3NjY3OCwgNzY2ODIsIDc2Njg2LCA3NjY5MCwgNzY2OTQsIAotICAgIDc2Njk4LCA3NjcwMiwgNzY3MDYsIDc2NzEwLCA3NjcxNCwgNzY3MTgsIDc2NzIyLCA3NjcyNiwgNzY3MzAsIDc2NzM0LCAKLSAgICA3NjczOCwgNzY3NDIsIDc2NzQ2LCA3Njc1MCwgNzY3NTQsIDc2NzU4LCA3Njc2MiwgNzY3NjYsIDc2NzcwLCA3Njc3NCwgCi0gICAgNzY3NzgsIDc2NzgyLCA3Njc4NiwgNzY3OTAsIDc2Nzk0LCA3Njc5OCwgNzY4MDIsIDc2ODA2LCA3NjgxMCwgNzY4MTQsIAotICAgIDc2ODE4LCA3NjgyMiwgNzY4MjYsIDc2ODMwLCA3NjgzNCwgNzY4MzgsIDc2ODQyLCA3Njg0NiwgNzY4NTAsIDc2ODU0LCAKLSAgICA3Njg1OCwgNzY4NjIsIDc2ODY2LCA3Njg3MCwgNzY4NzQsIDc2ODc4LCA3Njg4MiwgNzY4ODYsIDc2ODkwLCA3Njg5NCwgCi0gICAgNzY4OTgsIDc2OTAyLCA3NjkwNiwgNzY5MTAsIDc2OTE0LCA3NjkxOCwgNzY5MjIsIDc2OTI2LCA3NjkzMCwgNzY5MzQsIAotICAgIDc2OTM4LCA3Njk0MiwgNzY5NDYsIDc2OTUwLCA3Njk1NCwgNzY5NTgsIDc2OTYyLCA3Njk2NiwgNzY5NzAsIDc2OTc0LCAKLSAgICA3Njk3OCwgNzY5ODIsIDc2OTg2LCA3Njk5MCwgNzY5OTQsIDc2OTk4LCA3NzAwMiwgNzcwMDYsIDc3MDEwLCA3NzAxNCwgCi0gICAgNzcwMTgsIDc3MDIyLCA3NzAyNiwgNzcwMzAsIDc3MDM0LCA3NzAzOCwgNzcwNDIsIDc3MDQ2LCA3NzA1MCwgNzcwNTQsIAotICAgIDc3MDU4LCA3NzA2MiwgNzcwNjYsIDc3MDcwLCA3NzA3NCwgNzcwNzgsIDc3MDgyLCA3NzA4NiwgNzcwOTAsIDc3MDk0LCAKLSAgICA3NzA5OCwgNzcxMDIsIDc3MTA2LCA3NzExMCwgNzcxMTQsIDc3MTE4LCA3NzEyMiwgNzcxMjYsIDc3MTMwLCA3NzEzNCwgCi0gICAgNzcxMzgsIDc3MTQyLCA3NzE0NiwgNzcxNTAsIDc3MTU0LCA3NzE1OCwgNzcxNjIsIDc3MTY2LCA3NzE3MCwgNzcxNzQsIAotICAgIDc3MTc4LCA3NzE4MiwgNzcxODYsIDc3MTkwLCA3NzE5NCwgNzcxOTgsIDc3MjAyLCA3NzIwNiwgNzcyMTAsIDc3MjE0LCAKLSAgICA3NzIxOCwgNzcyMjIsIDc3MjI2LCA3NzIzMCwgNzcyMzQsIDc3MjM4LCA3NzI0MiwgNzcyNDYsIDc3MjUwLCA3NzI1NCwgCi0gICAgNzcyNTgsIDc3MjYyLCA3NzI2NiwgNzcyNzAsIDc3Mjc0LCA3NzI3OCwgNzcyODIsIDc3Mjg2LCA3NzI5MCwgNzcyOTQsIAotICAgIDc3Mjk4LCA3NzMwMiwgNzczMDYsIDc3MzEwLCA3NzMxNCwgNzczMTgsIDc3MzIyLCA3NzMyNiwgNzczMzAsIDc3MzM0LCAKLSAgICA3NzMzOCwgNzczNDIsIDc3MzQ2LCA3NzM1MCwgNzczNTQsIDc3MzU4LCA3NzM2MiwgNzczNjYsIDc3MzcwLCA3NzM3NCwgCi0gICAgNzczNzgsIDc3MzgyLCA3NzM4NiwgNzczOTAsIDc3Mzk0LCA3NzM5OCwgNzc0MDIsIDc3NDA2LCA3NzQxMCwgNzc0MTQsIAotICAgIDc3NDE4LCA3NzQyMiwgNzc0MjYsIDc3NDMwLCA3NzQzNCwgNzc0MzgsIDc3NDQyLCA3NzQ0NiwgNzc0NTAsIDc3NDU0LCAKLSAgICA3NzQ1OCwgNzc0NjIsIDc3NDY2LCA3NzQ3MCwgNzc0NzQsIDc3NDc4LCA3NzQ4MiwgNzc0ODYsIDc3NDkwLCA3NzQ5NCwgCi0gICAgNzc0OTgsIDc3NTAyLCA3NzUwNiwgNzc1MTAsIDc3NTE0LCA3NzUxOCwgNzc1MjIsIDc3NTI2LCA3NzUzMCwgNzc1MzQsIAotICAgIDc3NTM4LCA3NzU0MiwgNzc1NDYsIDc3NTUwLCA3NzU1NCwgNzc1NTgsIDc3NTYyLCA3NzU2NiwgNzc1NzAsIDc3NTc0LCAKLSAgICA3NzU3OCwgNzc1ODIsIDc3NTg2LCA3NzU5MCwgNzc1OTQsIDc3NTk4LCA3NzYwMiwgNzc2MDYsIDc3NjEwLCA3NzYxNCwgCi0gICAgNzc2MTgsIDc3NjIyLCA3NzYyNiwgNzc2MzAsIDc3NjM0LCA3NzYzOCwgNzc2NDIsIDc3NjQ2LCA3NzY1MCwgNzc2NTQsIAotICAgIDc3NjU4LCA3NzY2MiwgNzc2NjYsIDc3NjcwLCA3NzY3NCwgNzc2NzgsIDc3NjgyLCA3NzY4NiwgNzc2OTAsIDc3Njk0LCAKLSAgICA3NzY5OCwgNzc3MDIsIDc3NzA2LCA3NzcxMCwgNzc3MTQsIDc3NzE4LCA3NzcyMiwgNzc3MjYsIDc3NzMwLCA3NzczNCwgCi0gICAgNzc3MzgsIDc3NzQyLCA3Nzc0NiwgNzc3NTAsIDc3NzU0LCA3Nzc1OCwgNzc3NjIsIDc3NzY2LCA3Nzc3MCwgNzc3NzQsIAotICAgIDc3Nzc4LCA3Nzc4MiwgNzc3ODYsIDc3NzkwLCA3Nzc5NCwgNzc3OTgsIDc3ODAyLCA3NzgwNiwgNzc4MTAsIDc3ODE0LCAKLSAgICA3NzgxOCwgNzc4MjIsIDc3ODI2LCA3NzgzMCwgNzc4MzQsIDc3ODM4LCA3Nzg0MiwgNzc4NDYsIDc3ODUwLCA3Nzg1NCwgCi0gICAgNzc4NTgsIDc3ODYyLCA3Nzg2NiwgNzc4NzAsIDc3ODc0LCA3Nzg3OCwgMCwgMCwgNzc4ODIsIDc3ODg2LCA3Nzg5MCwgCi0gICAgNzc4OTQsIDc3ODk4LCA3NzkwMiwgNzc5MDYsIDc3OTEwLCA3NzkxNCwgNzc5MTgsIDc3OTIyLCA3NzkyNiwgNzc5MzAsIAotICAgIDc3OTM0LCA3NzkzOCwgNzc5NDIsIDc3OTQ2LCA3Nzk1MCwgNzc5NTQsIDc3OTU4LCA3Nzk2MiwgNzc5NjYsIDc3OTcwLCAKLSAgICA3Nzk3NCwgNzc5NzgsIDc3OTgyLCA3Nzk4NiwgNzc5OTAsIDc3OTk0LCA3Nzk5OCwgNzgwMDIsIDc4MDA2LCA3ODAxMCwgCi0gICAgNzgwMTQsIDc4MDE4LCA3ODAyMiwgNzgwMjYsIDc4MDMwLCA3ODAzNCwgNzgwMzgsIDc4MDQyLCA3ODA0NiwgNzgwNTAsIAotICAgIDc4MDU0LCA3ODA1OCwgNzgwNjIsIDc4MDY2LCA3ODA3MCwgNzgwNzQsIDc4MDc4LCA3ODA4MiwgNzgwODYsIDc4MDkwLCAKLSAgICA3ODA5NCwgNzgwOTgsIDc4MTAyLCA3ODEwNiwgNzgxMTAsIDc4MTE0LCA3ODExOCwgNzgxMjIsIDc4MTI2LCA3ODEzMCwgCi0gICAgNzgxMzQsIDc4MTM4LCA3ODE0MiwgNzgxNDYsIDc4MTUwLCA3ODE1NCwgNzgxNTgsIDc4MTYyLCA3ODE2NiwgNzgxNzAsIAotICAgIDc4MTc0LCA3ODE3OCwgNzgxODIsIDc4MTg2LCA3ODE5MCwgNzgxOTQsIDc4MTk4LCA3ODIwMiwgNzgyMDYsIDc4MjEwLCAKLSAgICA3ODIxNCwgNzgyMTgsIDc4MjIyLCA3ODIyNiwgNzgyMzAsIDc4MjM0LCA3ODIzOCwgNzgyNDIsIDc4MjQ2LCA3ODI1MCwgCi0gICAgNzgyNTQsIDc4MjU4LCA3ODI2MiwgNzgyNjYsIDc4MjcwLCA3ODI3NCwgNzgyNzgsIDc4MjgyLCA3ODI4NiwgNzgyOTAsIAotICAgIDc4Mjk0LCA3ODI5OCwgNzgzMDIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDc4MzA2LCAKLSAgICA3ODMxMSwgNzgzMTYsIDc4MzIxLCA3ODMyNiwgNzgzMzEsIDc4MzM5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCA3ODM0NCwgNzgzNTEsIDc4MzU4LCA3ODM2NSwgNzgzNzIsIDAsIDAsIDAsIDAsIDAsIDc4Mzc5LCA3ODM4NiwgCi0gICAgNzgzOTMsIDc4NDAzLCA3ODQwOSwgNzg0MTUsIDc4NDIxLCA3ODQyNywgNzg0MzMsIDc4NDM5LCA3ODQ0NiwgNzg0NTIsIAotICAgIDc4NDU4LCA3ODQ2NCwgNzg0NzMsIDc4NDgyLCA3ODQ5NCwgNzg1MDYsIDc4NTEyLCA3ODUxOCwgNzg1MjQsIDc4NTMxLCAKLSAgICA3ODUzOCwgNzg1NDUsIDc4NTUyLCA3ODU1OSwgMCwgNzg1NjYsIDc4NTczLCA3ODU4MCwgNzg1ODgsIDc4NTk1LCAwLCAKLSAgICA3ODYwMiwgMCwgNzg2MDksIDc4NjE2LCAwLCA3ODYyMywgNzg2MzEsIDAsIDc4NjM4LCA3ODY0NSwgNzg2NTIsIDc4NjU5LCAKLSAgICA3ODY2NiwgNzg2NzMsIDc4NjgwLCA3ODY4NywgNzg2OTQsIDc4NzAxLCA3ODcwNiwgNzg3MTMsIDc4NzIwLCA3ODcyNiwgCi0gICAgNzg3MzIsIDc4NzM4LCA3ODc0NCwgNzg3NTAsIDc4NzU2LCA3ODc2MiwgNzg3NjgsIDc4Nzc0LCA3ODc4MCwgNzg3ODYsIAotICAgIDc4NzkyLCA3ODc5OCwgNzg4MDQsIDc4ODEwLCA3ODgxNiwgNzg4MjIsIDc4ODI4LCA3ODgzNCwgNzg4NDAsIDc4ODQ2LCAKLSAgICA3ODg1MiwgNzg4NTgsIDc4ODY0LCA3ODg3MCwgNzg4NzYsIDc4ODgyLCA3ODg4OCwgNzg4OTQsIDc4OTAwLCA3ODkwNiwgCi0gICAgNzg5MTIsIDc4OTE4LCA3ODkyNCwgNzg5MzAsIDc4OTM2LCA3ODk0MiwgNzg5NDgsIDc4OTU0LCA3ODk2MCwgNzg5NjYsIAotICAgIDc4OTcyLCA3ODk3OCwgNzg5ODQsIDc4OTkwLCA3ODk5NiwgNzkwMDIsIDc5MDA4LCA3OTAxNCwgNzkwMjAsIDc5MDI2LCAKLSAgICA3OTAzMiwgNzkwMzgsIDc5MDQ0LCA3OTA1MCwgNzkwNTYsIDc5MDYyLCA3OTA2OCwgNzkwNzQsIDc5MDgwLCA3OTA4NiwgCi0gICAgNzkwOTIsIDc5MDk4LCA3OTEwNCwgNzkxMTAsIDc5MTE2LCA3OTEyMiwgNzkxMjgsIDc5MTM0LCA3OTE0MCwgNzkxNDYsIAotICAgIDc5MTUyLCA3OTE1OCwgNzkxNjQsIDc5MTcwLCA3OTE3NiwgNzkxODQsIDc5MTkyLCA3OTE5OCwgNzkyMDQsIDc5MjEwLCAKLSAgICA3OTIxNiwgNzkyMjUsIDc5MjM0LCA3OTI0MiwgNzkyNTAsIDc5MjU4LCA3OTI2NiwgNzkyNzQsIDc5MjgyLCA3OTI5MCwgCi0gICAgNzkyOTgsIDc5MzA1LCA3OTMxMiwgNzkzMjIsIDc5MzMyLCA3OTMzNiwgNzkzNDAsIDc5MzQ1LCA3OTM1MCwgNzkzNTUsIAotICAgIDc5MzYwLCA3OTM2OSwgNzkzNzgsIDc5Mzg0LCA3OTM5MCwgNzkzOTcsIDc5NDA0LCA3OTQxMSwgNzk0MTUsIDc5NDIxLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3OTQyNywgNzk0MzMsIDc5NDM5LCAKLSAgICA3OTQ0NSwgNzk0NTEsIDc5NDU2LCA3OTQ2MSwgNzk0NjcsIDc5NDczLCA3OTQ3OSwgNzk0ODUsIDc5NDkzLCA3OTQ5OSwgCi0gICAgNzk1MDUsIDc5NTEzLCA3OTUyMSwgNzk1MjksIDc5NTM3LCA3OTU0MiwgNzk1NDcsIDc5NTUyLCA3OTU1NywgNzk1NzAsIAotICAgIDc5NTgzLCA3OTU5MywgNzk2MDMsIDc5NjE0LCA3OTYyNSwgNzk2MzYsIDc5NjQ3LCA3OTY1NywgNzk2NjcsIDc5Njc4LCAKLSAgICA3OTY4OSwgNzk3MDAsIDc5NzExLCA3OTcyMSwgNzk3MzEsIDc5NzQxLCA3OTc1NywgNzk3NzMsIDc5Nzg5LCA3OTc5NiwgCi0gICAgNzk4MDMsIDc5ODEwLCA3OTgxNywgNzk4MjcsIDc5ODM3LCA3OTg0NywgNzk4NTksIDc5ODY5LCA3OTg3NywgNzk4ODUsIAotICAgIDc5ODk0LCA3OTkwMiwgNzk5MTIsIDc5OTIwLCA3OTkyOCwgNzk5MzYsIDc5OTQ1LCA3OTk1MywgNzk5NjMsIDc5OTcxLCAKLSAgICA3OTk3OSwgNzk5ODcsIDc5OTk3LCA4MDAwNSwgODAwMTIsIDgwMDE5LCA4MDAyNiwgODAwMzMsIDgwMDQxLCA4MDA0OSwgCi0gICAgODAwNTcsIDgwMDY1LCA4MDA3MywgODAwODIsIDgwMDkwLCA4MDA5OCwgODAxMDYsIDgwMTE0LCA4MDEyMiwgODAxMzEsIAotICAgIDgwMTM5LCA4MDE0NywgODAxNTUsIDgwMTYzLCA4MDE3MSwgODAxNzksIDgwMTg3LCA4MDE5NSwgODAyMDMsIDgwMjExLCAKLSAgICA4MDIyMCwgODAyMjgsIDgwMjM4LCA4MDI0NiwgODAyNTQsIDgwMjYyLCA4MDI3MiwgODAyODAsIDgwMjg4LCA4MDI5NiwgCi0gICAgODAzMDQsIDgwMzEzLCA4MDMyMiwgODAzMzAsIDgwMzQwLCA4MDM0OCwgODAzNTYsIDgwMzY0LCA4MDM3MywgODAzODEsIAotICAgIDgwMzkxLCA4MDM5OSwgODA0MDYsIDgwNDEzLCA4MDQyMSwgODA0MjgsIDgwNDM3LCA4MDQ0NCwgODA0NTIsIDgwNDYwLCAKLSAgICA4MDQ2OSwgODA0NzcsIDgwNDg3LCA4MDQ5NSwgODA1MDMsIDgwNTExLCA4MDUyMSwgODA1MjksIDgwNTM2LCA4MDU0MywgCi0gICAgODA1NTEsIDgwNTU4LCA4MDU2NywgODA1NzQsIDgwNTg0LCA4MDU5NCwgODA2MDUsIDgwNjE0LCA4MDYyMywgODA2MzIsIAotICAgIDgwNjQxLCA4MDY1MCwgODA2NjAsIDgwNjcxLCA4MDY4MiwgODA2OTIsIDgwNzAzLCA4MDcxNSwgODA3MjUsIDgwNzM0LCAKLSAgICA4MDc0MywgODA3NTEsIDgwNzYwLCA4MDc3MCwgODA3NzgsIDgwNzg3LCA4MDc5NiwgODA4MDQsIDgwODEzLCA4MDgyMywgCi0gICAgODA4MzEsIDgwODQwLCA4MDg0OSwgODA4NTcsIDgwODY2LCA4MDg3NiwgODA4ODQsIDgwODk0LCA4MDkwMiwgODA5MTIsIAotICAgIDgwOTIwLCA4MDkyOCwgODA5MzcsIDgwOTQ1LCA4MDk1NSwgODA5NjMsIDgwOTcxLCA4MDk4MSwgODA5ODksIDgwOTk2LCAKLSAgICA4MTAwMywgODEwMTIsIDgxMDIxLCA4MTAyOSwgODEwMzgsIDgxMDQ4LCA4MTA1NiwgODEwNjcsIDgxMDc1LCA4MTA4MywgCi0gICAgODEwOTAsIDgxMDk4LCA4MTEwNywgODExMTQsIDgxMTI0LCA4MTEzNCwgODExNDUsIDgxMTU1LCA4MTE2NiwgODExNzQsIAotICAgIDgxMTgyLCA4MTE5MSwgODExOTksIDgxMjA4LCA4MTIxNiwgODEyMjQsIDgxMjMzLCA4MTI0MSwgODEyNTAsIDgxMjU4LCAKLSAgICA4MTI2NSwgODEyNzIsIDgxMjc5LCA4MTI4NiwgODEyOTQsIDgxMzAyLCA4MTMxMCwgODEzMTgsIDgxMzI3LCA4MTMzNSwgCi0gICAgODEzNDMsIDgxMzUyLCA4MTM2MCwgODEzNjgsIDgxMzc2LCA4MTM4NSwgODEzOTMsIDgxNDAxLCA4MTQwOSwgODE0MTcsIAotICAgIDgxNDI1LCA4MTQzMywgODE0NDEsIDgxNDQ5LCA4MTQ1NywgODE0NjYsIDgxNDc0LCA4MTQ4MiwgODE0OTAsIDgxNDk4LCAKLSAgICA4MTUwNiwgODE1MTUsIDgxNTI0LCA4MTUzMiwgODE1NDAsIDgxNTQ4LCA4MTU1NywgODE1NjUsIDgxNTc0LCA4MTU4MSwgCi0gICAgODE1ODgsIDgxNTk2LCA4MTYwMywgODE2MTEsIDgxNjE5LCA4MTYyOCwgODE2MzYsIDgxNjQ1LCA4MTY1MywgODE2NjEsIAotICAgIDgxNjcxLCA4MTY3OCwgODE2ODUsIDgxNjkzLCA4MTcwMCwgODE3MDgsIDgxNzE4LCA4MTcyOSwgODE3MzcsIDgxNzQ2LCAKLSAgICA4MTc1NCwgODE3NjMsIDgxNzcxLCA4MTc4MCwgODE3ODgsIDgxNzk3LCA4MTgwNSwgODE4MTQsIDgxODIzLCA4MTgzMSwgCi0gICAgODE4MzksIDgxODQ3LCA4MTg1NiwgODE4NjMsIDgxODcxLCA4MTg4MCwgODE4ODksIDgxODk4LCA4MTkwOCwgODE5MTYsIAotICAgIDgxOTI2LCA4MTkzNCwgODE5NDQsIDgxOTUyLCA4MTk2MiwgODE5NzAsIDgxOTgwLCA4MTk4OCwgODE5OTcsIDgyMDA0LCAKLSAgICA4MjAxMywgODIwMjAsIDgyMDMwLCA4MjAzOCwgODIwNDgsIDgyMDU2LCA4MjA2NiwgODIwNzQsIDgyMDgyLCA4MjA5MCwgCi0gICAgODIwOTksIDgyMTA3LCA4MjExNiwgODIxMjUsIDgyMTM0LCA4MjE0MywgODIxNTMsIDgyMTYxLCA4MjE3MSwgODIxNzksIAotICAgIDgyMTg5LCA4MjE5NywgODIyMDcsIDgyMjE1LCA4MjIyNSwgODIyMzMsIDgyMjQyLCA4MjI0OSwgODIyNTgsIDgyMjY1LCAKLSAgICA4MjI3NSwgODIyODMsIDgyMjkzLCA4MjMwMSwgODIzMTEsIDgyMzE5LCA4MjMyNywgODIzMzUsIDgyMzQ0LCA4MjM1MiwgCi0gICAgODIzNjEsIDgyMzcwLCA4MjM3OSwgODIzODgsIDgyMzk2LCA4MjQwNCwgODI0MTMsIDgyNDIxLCA4MjQzMCwgODI0MzksIAotICAgIDgyNDQ3LCA4MjQ1NSwgODI0NjMsIDgyNDcyLCA4MjQ4MCwgODI0ODgsIDgyNDk3LCA4MjUwNSwgODI1MTMsIDgyNTIxLCAKLSAgICA4MjUyOSwgODI1MzQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDgyNTM5LCAKLSAgICA4MjU0OSwgODI1NTksIDgyNTY5LCA4MjU3OSwgODI1OTAsIDgyNjAwLCA4MjYxMCwgODI2MjEsIDgyNjMwLCA4MjYzOSwgCi0gICAgODI2NDgsIDgyNjU5LCA4MjY2OSwgODI2NzksIDgyNjkxLCA4MjcwMSwgODI3MTEsIDgyNzIxLCA4MjczMSwgODI3NDEsIAotICAgIDgyNzUxLCA4Mjc2MSwgODI3NzEsIDgyNzgxLCA4Mjc5MSwgODI4MDEsIDgyODEyLCA4MjgyMywgODI4MzMsIDgyODQzLCAKLSAgICA4Mjg1NSwgODI4NjYsIDgyODc3LCA4Mjg4NywgODI4OTcsIDgyOTA3LCA4MjkxNywgODI5MjcsIDgyOTM3LCA4Mjk0NywgCi0gICAgODI5NTksIDgyOTY5LCA4Mjk3OSwgODI5OTEsIDgzMDAyLCA4MzAxMywgODMwMjMsIDgzMDMzLCA4MzA0MywgODMwNTMsIAotICAgIDgzMDY1LCA4MzA3NSwgODMwODUsIDgzMDk2LCA4MzEwNywgODMxMTcsIDgzMTI3LCA4MzEzNiwgODMxNDUsIDgzMTU0LCAKLSAgICA4MzE2MywgODMxNzIsIDgzMTgyLCAwLCAwLCA4MzE5MiwgODMyMDIsIDgzMjEyLCA4MzIyMiwgODMyMzIsIDgzMjQ0LCAKLSAgICA4MzI1NCwgODMyNjQsIDgzMjc2LCA4MzI4NiwgODMyOTgsIDgzMzA3LCA4MzMxNiwgODMzMjcsIDgzMzM3LCA4MzM0OSwgCi0gICAgODMzNjAsIDgzMzczLCA4MzM4MywgODMzOTUsIDgzNDA0LCA4MzQxNSwgODM0MjYsIDgzNDM5LCA4MzQ0OSwgODM0NTksIAotICAgIDgzNDY5LCA4MzQ3OSwgODM0ODksIDgzNDk4LCA4MzUwNywgODM1MTYsIDgzNTI1LCA4MzUzNSwgODM1NDUsIDgzNTU1LCAKLSAgICA4MzU2NSwgODM1NzUsIDgzNTg1LCA4MzU5NSwgODM2MDUsIDgzNjE1LCA4MzYyNSwgODM2MzUsIDgzNjQ1LCA4MzY1NCwgCi0gICAgODM2NjMsIDgzNjcyLCA4MzY4MiwgODM2OTIsIDgzNzAyLCA4MzcxMiwgODM3MjIsIDgzNzMzLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4Mzc0MywgODM3NTgsIDgzNzczLCA4Mzc3OSwgODM3ODUsIDgzNzkxLCAKLSAgICA4Mzc5NywgODM4MDMsIDgzODA5LCA4MzgxNSwgODM4MjEsIDgzODI5LCA4MzgzMywgODM4MzYsIDAsIDAsIDgzODQ0LCAKLSAgICA4Mzg0NywgODM4NTAsIDgzODUzLCA4Mzg1NiwgODM4NTksIDgzODYyLCA4Mzg2NSwgODM4NjgsIDgzODcxLCA4Mzg3NCwgCi0gICAgODM4NzcsIDgzODgwLCA4Mzg4MywgODM4ODYsIDgzODg5LCA4Mzg5MiwgODM5MDAsIDgzOTA5LCA4MzkyMCwgODM5MjgsIAotICAgIDgzOTM2LCA4Mzk0NSwgODM5NTQsIDgzOTY1LCA4Mzk3NywgMCwgMCwgMCwgMCwgMCwgMCwgODM5ODYsIDgzOTkxLCA4Mzk5NiwgCi0gICAgODQwMDMsIDg0MDEwLCA4NDAxNiwgODQwMjIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDg0MDI3LCA4NDAzNywgCi0gICAgODQwNDcsIDg0MDU3LCA4NDA2NiwgODQwNzcsIDg0MDg2LCA4NDA5NSwgODQxMDUsIDg0MTE1LCA4NDEyNywgODQxMzksIAotICAgIDg0MTUwLCA4NDE2MSwgODQxNzIsIDg0MTgzLCA4NDE5MywgODQyMDMsIDg0MjEzLCA4NDIyMywgODQyMzQsIDg0MjQ1LCAKLSAgICA4NDI0OSwgODQyNTQsIDg0MjYzLCA4NDI3MiwgODQyNzYsIDg0MjgwLCA4NDI4NCwgODQyODksIDg0Mjk0LCA4NDI5OSwgCi0gICAgODQzMDQsIDg0MzA3LCA4NDMxMSwgMCwgODQzMTYsIDg0MzE5LCA4NDMyMiwgODQzMjYsIDg0MzMwLCA4NDMzNSwgODQzMzksIAotICAgIDg0MzQzLCA4NDM0OCwgODQzNTMsIDg0MzYwLCA4NDM2NywgODQzNzAsIDg0MzczLCA4NDM3NiwgODQzNzksIDg0MzgyLCAKLSAgICA4NDM4NiwgODQzOTAsIDAsIDg0Mzk0LCA4NDM5OSwgODQ0MDMsIDg0NDA3LCAwLCAwLCAwLCAwLCA4NDQxMiwgODQ0MTcsIAotICAgIDg0NDI0LCA4NDQyOSwgODQ0MzQsIDAsIDg0NDM5LCA4NDQ0NCwgODQ0NDksIDg0NDU0LCA4NDQ1OSwgODQ0NjQsIDg0NDY5LCAKLSAgICA4NDQ3NCwgODQ0NzksIDg0NDg0LCA4NDQ4OSwgODQ0OTQsIDg0NTAzLCA4NDUxMiwgODQ1MjAsIDg0NTI4LCA4NDUzNywgCi0gICAgODQ1NDYsIDg0NTU1LCA4NDU2NCwgODQ1NzIsIDg0NTgwLCA4NDU4OCwgODQ1OTYsIDg0NjAxLCA4NDYwNiwgODQ2MTIsIAotICAgIDg0NjE4LCA4NDYyNCwgODQ2MzAsIDg0NjM4LCA4NDY0NiwgODQ2NTIsIDg0NjU4LCA4NDY2NCwgODQ2NzAsIDg0Njc2LCAKLSAgICA4NDY4MiwgODQ2ODgsIDg0Njk0LCA4NDY5OSwgODQ3MDQsIDg0NzA5LCA4NDcxNCwgODQ3MTksIDg0NzI0LCA4NDcyOSwgCi0gICAgODQ3MzQsIDg0NzQwLCA4NDc0NiwgODQ3NTIsIDg0NzU4LCA4NDc2NCwgODQ3NzAsIDg0Nzc2LCA4NDc4MiwgODQ3ODgsIAotICAgIDg0Nzk0LCA4NDgwMCwgODQ4MDYsIDg0ODEyLCA4NDgxOCwgODQ4MjQsIDg0ODMwLCA4NDgzNiwgODQ4NDIsIDg0ODQ4LCAKLSAgICA4NDg1NCwgODQ4NjAsIDg0ODY2LCA4NDg3MiwgODQ4NzgsIDg0ODg0LCA4NDg5MCwgODQ4OTYsIDg0OTAyLCA4NDkwOCwgCi0gICAgODQ5MTQsIDg0OTIwLCA4NDkyNiwgODQ5MzIsIDg0OTM4LCA4NDk0NCwgODQ5NTAsIDg0OTU2LCA4NDk2MiwgODQ5NjgsIAotICAgIDg0OTc0LCA4NDk4MCwgODQ5ODYsIDg0OTkyLCA4NDk5OCwgODUwMDQsIDg1MDEwLCA4NTAxNiwgODUwMjIsIDg1MDI4LCAKLSAgICA4NTAzNCwgODUwNDAsIDg1MDQ2LCA4NTA1MiwgODUwNTgsIDg1MDY0LCA4NTA3MCwgODUwNzYsIDg1MDgyLCA4NTA4OCwgCi0gICAgODUwOTQsIDg1MDk5LCA4NTEwNCwgODUxMDksIDg1MTE0LCA4NTEyMCwgODUxMjYsIDg1MTMyLCA4NTEzOCwgODUxNDQsIAotICAgIDg1MTUwLCA4NTE1NiwgODUxNjIsIDg1MTY4LCA4NTE3NCwgODUxODEsIDg1MTg4LCA4NTE5MywgODUxOTgsIDg1MjAzLCAKLSAgICA4NTIwOCwgODUyMjAsIDg1MjMyLCA4NTI0MywgODUyNTQsIDg1MjY2LCA4NTI3OCwgODUyODYsIDAsIDAsIDg1Mjk0LCAwLCAKLSAgICA4NTMwMiwgODUzMDYsIDg1MzEwLCA4NTMxMywgODUzMTcsIDg1MzIxLCA4NTMyNCwgODUzMjcsIDg1MzMxLCA4NTMzNSwgCi0gICAgODUzMzgsIDg1MzQxLCA4NTM0NCwgODUzNDcsIDg1MzUyLCA4NTM1NSwgODUzNTksIDg1MzYyLCA4NTM2NSwgODUzNjgsIAotICAgIDg1MzcxLCA4NTM3NCwgODUzNzcsIDg1MzgwLCA4NTM4MywgODUzODYsIDg1Mzg5LCA4NTM5MiwgODUzOTYsIDg1NDAwLCAKLSAgICA4NTQwNCwgODU0MDgsIDg1NDEzLCA4NTQxOCwgODU0MjQsIDg1NDMwLCA4NTQzNiwgODU0NDEsIDg1NDQ3LCA4NTQ1MywgCi0gICAgODU0NTksIDg1NDY0LCA4NTQ3MCwgODU0NzYsIDg1NDgxLCA4NTQ4NiwgODU0OTIsIDg1NDk3LCA4NTUwMywgODU1MDksIAotICAgIDg1NTE0LCA4NTUyMCwgODU1MjYsIDg1NTMxLCA4NTUzNywgODU1NDMsIDg1NTQ5LCA4NTU1NSwgODU1NjEsIDg1NTY1LCAKLSAgICA4NTU3MCwgODU1NzQsIDg1NTc5LCA4NTU4MywgODU1ODgsIDg1NTkzLCA4NTU5OSwgODU2MDUsIDg1NjExLCA4NTYxNiwgCi0gICAgODU2MjIsIDg1NjI4LCA4NTYzNCwgODU2MzksIDg1NjQ1LCA4NTY1MSwgODU2NTYsIDg1NjYxLCA4NTY2NywgODU2NzIsIAotICAgIDg1Njc4LCA4NTY4NCwgODU2ODksIDg1Njk1LCA4NTcwMSwgODU3MDYsIDg1NzEyLCA4NTcxOCwgODU3MjQsIDg1NzMwLCAKLSAgICA4NTczNiwgODU3NDEsIDg1NzQ1LCA4NTc1MCwgODU3NTIsIDg1NzU3LCA4NTc2MiwgODU3NjgsIDg1NzczLCA4NTc3OCwgCi0gICAgODU3ODIsIDg1Nzg4LCA4NTc5MywgODU3OTgsIDg1ODAzLCA4NTgwOCwgODU4MTMsIDg1ODE4LCA4NTgyMywgODU4MjksIAotICAgIDg1ODM1LCA4NTg0MSwgODU4NDksIDg1ODUzLCA4NTg1NywgODU4NjEsIDg1ODY1LCA4NTg2OSwgODU4NzMsIDg1ODc4LCAKLSAgICA4NTg4MywgODU4ODgsIDg1ODkzLCA4NTg5NywgODU5MDIsIDg1OTA3LCA4NTkxMiwgODU5MTcsIDg1OTIyLCA4NTkyNywgCi0gICAgODU5MzIsIDg1OTM3LCA4NTk0MSwgODU5NDUsIDg1OTUwLCA4NTk1NSwgODU5NjAsIDg1OTY1LCA4NTk2OSwgODU5NzQsIAotICAgIDg1OTc5LCA4NTk4NCwgODU5ODksIDg1OTkzLCA4NTk5OCwgODYwMDMsIDg2MDA4LCA4NjAxMywgODYwMTcsIDg2MDIyLCAKLSAgICA4NjAyNywgODYwMzEsIDg2MDM2LCA4NjA0MSwgODYwNDYsIDg2MDUxLCA4NjA1NiwgODYwNjEsIDg2MDY4LCA4NjA3NSwgCi0gICAgODYwNzksIDg2MDg0LCA4NjA4OSwgODYwOTQsIDg2MDk5LCA4NjEwNCwgODYxMDksIDg2MTE0LCA4NjExOSwgODYxMjQsIAotICAgIDg2MTI5LCA4NjEzNCwgODYxMzksIDg2MTQ0LCA4NjE0OSwgODYxNTQsIDg2MTU5LCA4NjE2NCwgODYxNjksIDg2MTc0LCAKLSAgICA4NjE3OSwgODYxODQsIDg2MTg5LCA4NjE5NCwgODYxOTksIDg2MjA0LCA4NjIwOSwgODYyMTQsIDg2MjE5LCA4NjIyNCwgMCwgCi0gICAgMCwgMCwgODYyMjksIDg2MjMzLCA4NjIzOCwgODYyNDIsIDg2MjQ3LCA4NjI1MiwgMCwgMCwgODYyNTYsIDg2MjYxLCAKLSAgICA4NjI2NiwgODYyNzAsIDg2Mjc1LCA4NjI4MCwgMCwgMCwgODYyODUsIDg2MjkwLCA4NjI5NCwgODYyOTksIDg2MzA0LCAKLSAgICA4NjMwOSwgMCwgMCwgODYzMTQsIDg2MzE5LCA4NjMyNCwgMCwgMCwgMCwgODYzMjgsIDg2MzMyLCA4NjMzNiwgODYzNDAsIAotICAgIDg2MzQzLCA4NjM0NywgODYzNTEsIDAsIDg2MzU1LCA4NjM2MSwgODYzNjQsIDg2MzY4LCA4NjM3MSwgODYzNzUsIDg2Mzc5LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4NjM4MywgODYzODksIDg2Mzk1LCA4NjQwMSwgODY0MDcsIDAsIDAsIAotICAgIDg2NDExLCA4NjQxNywgODY0MjMsIDg2NDI5LCA4NjQzNSwgODY0NDEsIDg2NDQ4LCA4NjQ1NSwgODY0NjIsIDg2NDY5LCAKLSAgICA4NjQ3NiwgODY0ODMsIDAsIDg2NDkwLCA4NjQ5NywgODY1MDQsIDg2NTEwLCA4NjUxNywgODY1MjQsIDg2NTMxLCA4NjUzOCwgCi0gICAgODY1NDQsIDg2NTUxLCA4NjU1OCwgODY1NjUsIDg2NTcyLCA4NjU3OCwgODY1ODUsIDg2NTkyLCA4NjU5OSwgODY2MDYsIAotICAgIDg2NjEyLCA4NjYxOSwgODY2MjYsIDg2NjMzLCA4NjY0MCwgODY2NDcsIDg2NjU0LCA4NjY2MSwgMCwgODY2NjgsIDg2Njc0LCAKLSAgICA4NjY4MSwgODY2ODgsIDg2Njk1LCA4NjcwMiwgODY3MDgsIDg2NzE1LCA4NjcyMiwgODY3MjksIDg2NzM2LCA4Njc0MywgCi0gICAgODY3NTAsIDg2NzU3LCA4Njc2MywgODY3NzAsIDg2Nzc3LCA4Njc4NCwgODY3OTEsIDAsIDg2Nzk4LCA4NjgwNSwgMCwgCi0gICAgODY4MTIsIDg2ODE5LCA4NjgyNiwgODY4MzMsIDg2ODQwLCA4Njg0NywgODY4NTQsIDg2ODYxLCA4Njg2OCwgODY4NzUsIAotICAgIDg2ODgyLCA4Njg4OSwgODY4OTYsIDg2OTAzLCA4NjkxMCwgMCwgMCwgODY5MTYsIDg2OTIxLCA4NjkyNiwgODY5MzEsIAotICAgIDg2OTM2LCA4Njk0MSwgODY5NDYsIDg2OTUxLCA4Njk1NiwgODY5NjEsIDg2OTY2LCA4Njk3MSwgODY5NzYsIDg2OTgxLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4Njk4NiwgODY5OTMsIDg3MDAwLCA4NzAwNywgODcwMTQsIDg3MDIxLCAKLSAgICA4NzAyOCwgODcwMzUsIDg3MDQyLCA4NzA0OSwgODcwNTYsIDg3MDYzLCA4NzA3MCwgODcwNzcsIDg3MDg0LCA4NzA5MSwgCi0gICAgODcwOTgsIDg3MTA1LCA4NzExMiwgODcxMTksIDg3MTI3LCA4NzEzNSwgODcxNDIsIDg3MTQ5LCA4NzE1NCwgODcxNjIsIAotICAgIDg3MTcwLCA4NzE3NywgODcxODQsIDg3MTg5LCA4NzE5NiwgODcyMDEsIDg3MjA2LCA4NzIxMywgODcyMTgsIDg3MjIzLCAKLSAgICA4NzIyOCwgODcyMzYsIDg3MjQxLCA4NzI0NiwgODcyNTMsIDg3MjU4LCA4NzI2MywgODcyNzAsIDg3Mjc3LCA4NzI4MiwgCi0gICAgODcyODcsIDg3MjkyLCA4NzI5NywgODczMDIsIDg3MzA3LCA4NzMxMiwgODczMTcsIDg3MzIyLCA4NzMyOSwgODczMzQsIAotICAgIDg3MzQxLCA4NzM0NiwgODczNTEsIDg3MzU2LCA4NzM2MSwgODczNjYsIDg3MzcxLCA4NzM3NiwgODczODEsIDg3Mzg2LCAKLSAgICA4NzM5MSwgODczOTYsIDg3NDAzLCA4NzQxMCwgODc0MTcsIDg3NDI0LCA4NzQzMCwgODc0MzUsIDg3NDQyLCA4NzQ0NywgCi0gICAgODc0NTIsIDg3NDYxLCA4NzQ2OCwgODc0NzcsIDg3NDg0LCA4NzQ4OSwgODc0OTQsIDg3NTAyLCA4NzUwNywgODc1MTIsIAotICAgIDg3NTE3LCA4NzUyMiwgODc1MjcsIDg3NTM0LCA4NzUzOSwgODc1NDQsIDg3NTQ5LCA4NzU1NCwgODc1NTksIDg3NTY2LCAKLSAgICA4NzU3MywgODc1ODAsIDg3NTg3LCA4NzU5NCwgODc2MDEsIDg3NjA4LCA4NzYxNSwgODc2MjIsIDg3NjI5LCA4NzYzNiwgCi0gICAgODc2NDMsIDg3NjUwLCA4NzY1NywgODc2NjQsIDg3NjcxLCA4NzY3OCwgODc2ODUsIDg3NjkyLCA4NzY5OSwgODc3MDYsIAotICAgIDg3NzEzLCA4NzcyMCwgODc3MjcsIDg3NzM0LCA4Nzc0MSwgODc3NDgsIDg3NzU1LCAwLCAwLCAwLCAwLCAwLCA4Nzc2MiwgCi0gICAgODc3NzAsIDg3Nzc4LCAwLCAwLCAwLCAwLCA4Nzc4MywgODc3ODcsIDg3NzkxLCA4Nzc5NSwgODc3OTksIDg3ODAzLCAKLSAgICA4NzgwNywgODc4MTEsIDg3ODE1LCA4NzgxOSwgODc4MjQsIDg3ODI5LCA4NzgzNCwgODc4MzksIDg3ODQ0LCA4Nzg0OSwgCi0gICAgODc4NTQsIDg3ODU5LCA4Nzg2NCwgODc4NzAsIDg3ODc2LCA4Nzg4MiwgODc4ODksIDg3ODk2LCA4NzkwMywgODc5MTAsIAotICAgIDg3OTE3LCA4NzkyNCwgODc5MzAsIDg3OTM2LCA4Nzk0MiwgODc5NDksIDg3OTU2LCA4Nzk2MywgODc5NzAsIDg3OTc3LCAKLSAgICA4Nzk4NCwgODc5OTEsIDg3OTk4LCA4ODAwNSwgODgwMTIsIDg4MDE5LCA4ODAyNiwgODgwMzMsIDg4MDQwLCAwLCAwLCAwLCAKLSAgICA4ODA0NywgODgwNTUsIDg4MDYzLCA4ODA3MSwgODgwNzksIDg4MDg3LCA4ODA5NywgODgxMDcsIDg4MTE1LCA4ODEyMywgCi0gICAgODgxMzEsIDg4MTM5LCA4ODE0NywgODgxNTMsIDg4MTYwLCA4ODE2OSwgODgxNzgsIDg4MTg3LCA4ODE5NiwgODgyMDUsIAotICAgIDg4MjE0LCA4ODIyNCwgODgyMzUsIDg4MjQ1LCA4ODI1NiwgODgyNjUsIDg4Mjc0LCA4ODI4MywgODgyOTMsIDg4MzA0LCAKLSAgICA4ODMxNCwgODgzMjUsIDg4MzM2LCA4ODM0NSwgODgzNTMsIDg4MzU5LCA4ODM2NSwgODgzNzEsIDg4Mzc3LCA4ODM4NSwgCi0gICAgODgzOTMsIDg4Mzk5LCA4ODQwNiwgODg0MTYsIDg4NDIzLCA4ODQzMCwgODg0MzcsIDg4NDQ0LCA4ODQ1MSwgODg0NjEsIAotICAgIDg4NDY4LCA4ODQ3NSwgODg0ODMsIDg4NDkxLCA4ODUwMCwgODg1MDksIDg4NTE4LCA4ODUyNywgODg1MzYsIDg4NTQ0LCAKLSAgICA4ODU1MywgODg1NjIsIDg4NTcxLCA4ODU3NSwgODg1ODIsIDg4NTg3LCA4ODU5MiwgODg1OTYsIDg4NjAwLCA4ODYwNCwgCi0gICAgODg2MDgsIDg4NjEzLCA4ODYxOCwgODg2MjQsIDg4NjMwLCA4ODYzNCwgODg2NDAsIDg4NjQ0LCA4ODY0OCwgODg2NTIsIAotICAgIDg4NjU2LCA4ODY2MCwgODg2NjQsIDg4NjcwLCAwLCAwLCAwLCAwLCAwLCA4ODY3NCwgODg2NzksIDg4Njg0LCA4ODY4OSwgCi0gICAgODg2OTQsIDg4NzAxLCA4ODcwNiwgODg3MTEsIDg4NzE2LCA4ODcyMSwgODg3MjYsIDg4NzMxLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4ODczNiwgCi0gICAgODg3NDMsIDg4NzUyLCA4ODc2MSwgODg3NjgsIDg4Nzc1LCA4ODc4MiwgODg3ODksIDg4Nzk2LCA4ODgwMywgODg4MDksIAotICAgIDg4ODE2LCA4ODgyMywgODg4MzAsIDg4ODM3LCA4ODg0NCwgODg4NTEsIDg4ODU4LCA4ODg2NSwgODg4NzQsIDg4ODgxLCAKLSAgICA4ODg4OCwgODg4OTUsIDg4OTAyLCA4ODkwOSwgODg5MTYsIDg4OTIzLCA4ODkzMCwgODg5MzksIDg4OTQ2LCA4ODk1MywgCi0gICAgODg5NjAsIDg4OTY3LCA4ODk3NCwgODg5ODEsIDg4OTkwLCA4ODk5NywgODkwMDQsIDg5MDExLCA4OTAxOCwgODkwMjcsIAotICAgIDg5MDM0LCA4OTA0MSwgODkwNDgsIDg5MDU2LCA4OTA2NSwgMCwgMCwgODkwNzQsIDg5MDc4LCA4OTA4MiwgODkwODcsIAotICAgIDg5MDkyLCA4OTA5NywgODkxMDIsIDg5MTA2LCA4OTExMSwgODkxMTYsIDg5MTIxLCA4OTEyNiwgODkxMzEsIDg5MTM2LCAKLSAgICA4OTE0MCwgODkxNDQsIDg5MTQ5LCA4OTE1NCwgODkxNTksIDg5MTYzLCA4OTE2OCwgODkxNzMsIDg5MTc3LCA4OTE4MiwgCi0gICAgODkxODcsIDg5MTkyLCA4OTE5NywgODkyMDIsIDg5MjA3LCAwLCAwLCAwLCA4OTIxMiwgODkyMTYsIDg5MjIxLCA4OTIyNiwgCi0gICAgODkyMzAsIDg5MjM1LCA4OTIzOSwgODkyNDQsIDg5MjQ5LCA4OTI1NCwgODkyNTksIDg5MjYzLCA4OTI2NywgODkyNzIsIAotICAgIDg5Mjc3LCA4OTI4MiwgODkyODcsIDg5MjkyLCA4OTI5NywgODkzMDEsIDg5MzA2LCA4OTMxMSwgODkzMTYsIDg5MzIxLCAKLSAgICA4OTMyNiwgODkzMzEsIDg5MzM1LCA4OTMzOSwgODkzNDQsIDg5MzQ5LCA4OTM1NCwgODkzNTksIDg5MzY0LCA4OTM2OSwgCi0gICAgODkzNzQsIDg5Mzc5LCA4OTM4NCwgODkzODksIDg5Mzk0LCA4OTM5OSwgODk0MDQsIDg5NDA5LCA4OTQxNCwgODk0MTksIAotICAgIDg5NDI0LCA4OTQyOSwgODk0MzQsIDg5NDM5LCA4OTQ0NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODk0NDksIDg5NDUzLCA4OTQ1OCwgODk0NjMsIDg5NDY4LCA4OTQ3MiwgCi0gICAgODk0NzcsIDg5NDgyLCA4OTQ4NywgODk0OTIsIDg5NDk2LCA4OTUwMCwgODk1MDUsIDg5NTEwLCA4OTUxNSwgODk1MjAsIAotICAgIDg5NTI0LCA4OTUyOSwgODk1MzQsIDg5NTM5LCA4OTU0NCwgODk1NDksIDg5NTU0LCA4OTU1OCwgODk1NjMsIDg5NTY4LCAKLSAgICA4OTU3MywgODk1NzgsIDg5NTgzLCA4OTU4OCwgODk1OTMsIDAsIDg5NTk4LCA4OTYwMywgODk2MDgsIDg5NjE0LCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4OTYyMCwgODk2MjUsIDg5NjMwLCA4OTYzNSwgODk2NDAsIDg5NjQ1LCAKLSAgICA4OTY1MCwgODk2NTUsIDg5NjYwLCA4OTY2NSwgODk2NzAsIDg5Njc1LCA4OTY4MCwgODk2ODUsIDg5NjkwLCA4OTY5NSwgCi0gICAgODk3MDAsIDg5NzA1LCA4OTcxMCwgODk3MTUsIDg5NzIwLCA4OTcyNSwgODk3MzAsIDg5NzM1LCA4OTc0MCwgODk3NDUsIAotICAgIDg5NzUwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4OTc1NywgODk3NjIsIDg5NzY3LCA4OTc3MiwgODk3NzcsIDg5NzgyLCA4OTc4NywgCi0gICAgODk3OTIsIDg5Nzk3LCA4OTgwMiwgODk4MDcsIDg5ODEyLCA4OTgxNywgODk4MjIsIDg5ODI3LCA4OTgzMiwgODk4MzcsIAotICAgIDg5ODQyLCA4OTg0NywgODk4NTIsIDg5ODU3LCA4OTg2MiwgODk4NjcsIDg5ODcyLCA4OTg3NywgODk4ODIsIDg5ODg3LCAKLSAgICA4OTg5MSwgODk4OTUsIDg5ODk5LCAwLCA4OTkwNCwgODk5MTAsIDg5OTE1LCA4OTkyMCwgODk5MjUsIDg5OTMwLCA4OTkzNiwgCi0gICAgODk5NDIsIDg5OTQ4LCA4OTk1NCwgODk5NjAsIDg5OTY2LCA4OTk3MiwgODk5NzgsIDg5OTg0LCA4OTk5MCwgODk5OTYsIAotICAgIDkwMDAyLCA5MDAwOCwgOTAwMTMsIDkwMDE5LCA5MDAyNSwgOTAwMzAsIDkwMDM2LCA5MDA0MSwgOTAwNDcsIDkwMDUzLCAKLSAgICA5MDA1OCwgOTAwNjQsIDkwMDcwLCA5MDA3NSwgOTAwODEsIDkwMDg3LCA5MDA5MiwgOTAwOTgsIDkwMTA0LCA5MDExMCwgMCwgCi0gICAgMCwgMCwgMCwgOTAxMTUsIDkwMTIxLCA5MDEyNywgOTAxMzMsIDkwMTM5LCA5MDE0NSwgOTAxNTEsIDkwMTU3LCA5MDE2MywgCi0gICAgOTAxNzAsIDkwMTc1LCA5MDE4MCwgOTAxODYsIDkwMTkyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA5MDE5OCwgOTAyMDMsIDkwMjA4LCA5MDIxMywgOTAyMTksIDkwMjI0LCA5MDIzMCwgOTAyMzYsIAotICAgIDkwMjQyLCA5MDI0OCwgOTAyNTUsIDkwMjYxLCA5MDI2OCwgOTAyNzMsIDkwMjc4LCA5MDI4MywgOTAyODgsIDkwMjkzLCAKLSAgICA5MDI5OCwgOTAzMDMsIDkwMzA4LCA5MDMxMywgOTAzMTgsIDkwMzIzLCA5MDMyOCwgOTAzMzMsIDkwMzM4LCA5MDM0MywgCi0gICAgOTAzNDgsIDkwMzUzLCA5MDM1OCwgOTAzNjMsIDkwMzY4LCA5MDM3MywgOTAzNzgsIDkwMzgzLCA5MDM4OCwgOTAzOTMsIAotICAgIDkwMzk4LCA5MDQwMywgOTA0MDgsIDkwNDEzLCA5MDQxOCwgOTA0MjMsIDkwNDI5LCA5MDQzNCwgOTA0NDAsIDkwNDQ2LCAKLSAgICA5MDQ1MiwgOTA0NTgsIDkwNDY1LCA5MDQ3MSwgOTA0NzgsIDkwNDgzLCA5MDQ4OCwgOTA0OTMsIDkwNDk4LCA5MDUwMywgCi0gICAgOTA1MDgsIDkwNTEzLCA5MDUxOCwgOTA1MjMsIDkwNTI4LCA5MDUzMywgOTA1MzgsIDkwNTQzLCA5MDU0OCwgOTA1NTMsIAotICAgIDkwNTU4LCA5MDU2MywgOTA1NjgsIDkwNTczLCA5MDU3OCwgOTA1ODMsIDkwNTg4LCA5MDU5MywgOTA1OTgsIDkwNjAzLCAKLSAgICA5MDYwOCwgOTA2MTMsIDkwNjE4LCA5MDYyMywgOTA2MjgsIDkwNjMzLCA5MDYzOCwgOTA2NDMsIDkwNjQ4LCA5MDY1MywgCi0gICAgOTA2NTgsIDkwNjYzLCA5MDY2OCwgOTA2NzMsIDkwNjc4LCA5MDY4MywgOTA2ODgsIDkwNjkzLCA5MDY5OCwgOTA3MDMsIAotICAgIDkwNzA4LCA5MDcxMywgOTA3MTgsIDkwNzIzLCA5MDcyOCwgOTA3MzMsIDkwNzM4LCA5MDc0MywgOTA3NDgsIDkwNzUzLCAKLSAgICA5MDc1OCwgOTA3NjMsIDkwNzY4LCA5MDc3MywgOTA3NzgsIDkwNzgzLCA5MDc4OCwgOTA3OTMsIDkwNzk4LCA5MDgwMywgCi0gICAgOTA4MDgsIDkwODEzLCA5MDgxOCwgOTA4MjMsIDkwODI4LCA5MDgzMywgOTA4MzgsIDkwODQzLCA5MDg0OCwgOTA4NTMsIAotICAgIDkwODU4LCA5MDg2MywgOTA4NjgsIDkwODczLCA5MDg3OCwgOTA4ODMsIDkwODg4LCA5MDg5MywgOTA4OTcsIDkwOTAxLCAKLSAgICA5MDkwNiwgOTA5MTEsIDkwOTE2LCA5MDkyMSwgOTA5MjYsIDkwOTMxLCA5MDkzNiwgOTA5NDEsIDkwOTQ2LCA5MDk1MSwgCi0gICAgOTA5NTYsIDkwOTYwLCA5MDk2NCwgOTA5NjgsIDkwOTcyLCA5MDk3NiwgOTA5ODAsIDkwOTg0LCA5MDk4OSwgOTA5OTQsIDAsIAotICAgIDAsIDkwOTk5LCA5MTAwNCwgOTEwMDgsIDkxMDEyLCA5MTAxNiwgOTEwMjAsIDkxMDI0LCA5MTAyOCwgOTEwMzIsIDkxMDM2LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5MTA0MCwgOTEwNDQsIDkxMDQ4LCA5MTA1MiwgCi0gICAgOTEwNTYsIDkxMDYwLCAwLCAwLCA5MTA2NSwgMCwgOTEwNzAsIDkxMDc0LCA5MTA3OSwgOTEwODQsIDkxMDg5LCA5MTA5NCwgCi0gICAgOTEwOTksIDkxMTA0LCA5MTEwOSwgOTExMTQsIDkxMTE5LCA5MTEyMywgOTExMjgsIDkxMTMzLCA5MTEzOCwgOTExNDMsIAotICAgIDkxMTQ3LCA5MTE1MiwgOTExNTcsIDkxMTYyLCA5MTE2NywgOTExNzEsIDkxMTc2LCA5MTE4MSwgOTExODYsIDkxMTkxLCAKLSAgICA5MTE5NSwgOTEyMDAsIDkxMjA1LCA5MTIxMCwgOTEyMTUsIDkxMjE5LCA5MTIyNCwgOTEyMjksIDkxMjM0LCA5MTIzOSwgCi0gICAgOTEyNDQsIDkxMjQ5LCA5MTI1NCwgOTEyNTgsIDkxMjYzLCA5MTI2OCwgOTEyNzMsIDkxMjc4LCAwLCA5MTI4MywgOTEyODgsIAotICAgIDAsIDAsIDAsIDkxMjkzLCAwLCAwLCA5MTI5OCwgOTEzMDMsIDkxMzEwLCA5MTMxNywgOTEzMjQsIDkxMzMxLCA5MTMzOCwgCi0gICAgOTEzNDUsIDkxMzUyLCA5MTM1OSwgOTEzNjYsIDkxMzczLCA5MTM4MCwgOTEzODcsIDkxMzk0LCA5MTQwMSwgOTE0MDgsIAotICAgIDkxNDE1LCA5MTQyMiwgOTE0MjksIDkxNDM2LCA5MTQ0MywgOTE0NTAsIDAsIDkxNDU3LCA5MTQ2NCwgOTE0NzAsIDkxNDc2LCAKLSAgICA5MTQ4MiwgOTE0ODksIDkxNDk2LCA5MTUwNCwgOTE1MTIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDkxNTIxLCA5MTUyNiwgCi0gICAgOTE1MzEsIDkxNTM2LCA5MTU0MSwgOTE1NDYsIDkxNTUxLCA5MTU1NiwgOTE1NjEsIDkxNTY2LCA5MTU3MSwgOTE1NzYsIAotICAgIDkxNTgxLCA5MTU4NiwgOTE1OTEsIDkxNTk2LCA5MTYwMSwgOTE2MDYsIDkxNjExLCA5MTYxNiwgOTE2MjEsIDkxNjI2LCAKLSAgICA5MTYzMSwgOTE2MzUsIDkxNjQwLCA5MTY0NSwgOTE2NTEsIDkxNjU1LCAwLCAwLCAwLCA5MTY1OSwgOTE2NjUsIDkxNjY5LCAKLSAgICA5MTY3NCwgOTE2NzksIDkxNjg0LCA5MTY4OCwgOTE2OTMsIDkxNjk3LCA5MTcwMiwgOTE3MDcsIDkxNzExLCA5MTcxNSwgCi0gICAgOTE3MjAsIDkxNzI0LCA5MTcyOCwgOTE3MzMsIDkxNzM4LCA5MTc0MiwgOTE3NDcsIDkxNzUyLCA5MTc1NywgOTE3NjIsIAotICAgIDkxNzY3LCA5MTc3MiwgOTE3NzcsIDkxNzgyLCAwLCAwLCAwLCAwLCAwLCA5MTc4NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOTE3OTIsIDkxNzk4LCA5MTgwNCwgOTE4MTAsIDkxODE2LCA5MTgyMiwgOTE4MjksIAotICAgIDkxODM2LCA5MTg0MywgOTE4NDksIDkxODU1LCA5MTg2MSwgOTE4NjgsIDkxODc1LCA5MTg4MiwgOTE4ODgsIDkxODk1LCAKLSAgICA5MTkwMiwgOTE5MDksIDkxOTE2LCA5MTkyMiwgOTE5MjksIDkxOTM2LCA5MTk0MiwgOTE5NDksIDkxOTU2LCA5MTk2MywgCi0gICAgOTE5NzAsIDkxOTc3LCA5MTk4MywgOTE5OTAsIDkxOTk3LCA5MjAwNCwgOTIwMTAsIDkyMDE2LCA5MjAyMiwgOTIwMjgsIAotICAgIDkyMDM0LCA5MjA0MSwgOTIwNDgsIDkyMDU0LCA5MjA2MCwgOTIwNjYsIDkyMDczLCA5MjA3OSwgOTIwODYsIDkyMDkzLCAKLSAgICA5MjEwMCwgOTIxMDYsIDkyMTE0LCA5MjEyMSwgOTIxMjcsIDkyMTM0LCA5MjE0MSwgOTIxNDgsIDkyMTU0LCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCA5MjE2MSwgOTIxNjksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDkyMTc3LCA5MjE4MSwgOTIxODYsIDkyMTkxLCAwLCA5MjE5NywgOTIyMDIsIDAsIDAsIDAsIDAsIDAsIDkyMjA3LCA5MjIxMywgCi0gICAgOTIyMjAsIDkyMjI1LCA5MjIzMCwgOTIyMzQsIDkyMjM5LCA5MjI0NCwgMCwgOTIyNDksIDkyMjU0LCA5MjI1OSwgMCwgCi0gICAgOTIyNjQsIDkyMjY5LCA5MjI3NCwgOTIyNzksIDkyMjg0LCA5MjI4OSwgOTIyOTQsIDkyMjk5LCA5MjMwNCwgOTIzMDksIAotICAgIDkyMzE0LCA5MjMxOCwgOTIzMjIsIDkyMzI3LCA5MjMzMiwgOTIzMzcsIDkyMzQxLCA5MjM0NSwgOTIzNDksIDkyMzU0LCAKLSAgICA5MjM1OSwgOTIzNjQsIDkyMzY5LCA5MjM3MywgOTIzNzgsIDkyMzgyLCA5MjM4NywgMCwgMCwgMCwgMCwgOTIzOTIsIAotICAgIDkyMzk4LCA5MjQwMywgMCwgMCwgMCwgMCwgOTI0MDgsIDkyNDEyLCA5MjQxNiwgOTI0MjAsIDkyNDI0LCA5MjQyOCwgCi0gICAgOTI0MzMsIDkyNDM4LCA5MjQ0NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOTI0NTAsIDkyNDU2LCA5MjQ2MywgOTI0NjksIAotICAgIDkyNDc2LCA5MjQ4MiwgOTI0ODgsIDkyNDk0LCA5MjUwMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOTI1MDcsIDkyNTE1LCAKLSAgICA5MjUyMywgOTI1MzEsIDkyNTM5LCA5MjU0NywgOTI1NTUsIDkyNTYzLCA5MjU3MSwgOTI1NzksIDkyNTg3LCA5MjU5NSwgCi0gICAgOTI2MDMsIDkyNjExLCA5MjYxOSwgOTI2MjcsIDkyNjM1LCA5MjY0MywgOTI2NTEsIDkyNjU5LCA5MjY2NywgOTI2NzUsIAotICAgIDkyNjgzLCA5MjY5MSwgOTI2OTksIDkyNzA3LCA5MjcxNSwgOTI3MjMsIDkyNzMxLCA5MjczOSwgOTI3NDYsIDkyNzU0LCAKLSAgICA5Mjc2MiwgOTI3NjYsIDkyNzcxLCA5Mjc3NiwgOTI3ODEsIDkyNzg2LCA5Mjc5MSwgOTI3OTYsIDkyODAxLCA5MjgwNSwgCi0gICAgOTI4MTAsIDkyODE0LCA5MjgxOSwgOTI4MjMsIDkyODI4LCA5MjgzMiwgOTI4MzcsIDkyODQyLCA5Mjg0NywgOTI4NTIsIAorICAgIDAsIDAsIDkyMTE3LCA5MjEyMSwgOTIxMjUsIDkyMTMwLCA5MjEzNSwgOTIxNDAsIDkyMTQ1LCA5MjE0OSwgOTIxNTQsIAorICAgIDkyMTU5LCA5MjE2NCwgOTIxNjksIDkyMTc0LCA5MjE3OSwgOTIxODMsIDkyMTg4LCA5MjE5MywgOTIxOTgsIDkyMjAzLCAKKyAgICA5MjIwNywgOTIyMTIsIDkyMjE3LCA5MjIyMSwgOTIyMjUsIDkyMjMwLCA5MjIzNSwgOTIyNDAsIDkyMjQ1LCA5MjI1MCwgMCwgCisgICAgMCwgMCwgOTIyNTUsIDkyMjU5LCA5MjI2NCwgOTIyNjksIDkyMjczLCA5MjI3OCwgOTIyODIsIDkyMjg3LCA5MjI5MiwgCisgICAgOTIyOTcsIDkyMzAyLCA5MjMwNywgOTIzMTEsIDkyMzE2LCA5MjMyMSwgOTIzMjYsIDkyMzMxLCA5MjMzNSwgOTIzNDAsIAorICAgIDkyMzQ0LCA5MjM0OSwgOTIzNTQsIDkyMzU5LCA5MjM2NCwgOTIzNjksIDkyMzc0LCA5MjM3OCwgOTIzODIsIDkyMzg3LCAKKyAgICA5MjM5MiwgOTIzOTcsIDkyNDAyLCA5MjQwNywgOTI0MTIsIDkyNDE3LCA5MjQyMiwgOTI0MjcsIDkyNDMyLCA5MjQzNywgCisgICAgOTI0NDIsIDkyNDQ3LCA5MjQ1MiwgOTI0NTcsIDkyNDYyLCA5MjQ2NywgOTI0NzIsIDkyNDc3LCA5MjQ4MiwgOTI0ODcsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDkyNDkyLCA5MjQ5OCwgOTI1MDMsIDkyNTA4LCAKKyAgICA5MjUxMywgOTI1MTgsIDkyNTIzLCA5MjUyOCwgOTI1MzMsIDkyNTM4LCA5MjU0MywgOTI1NDksIDkyNTU1LCA5MjU2MSwgCisgICAgOTI1NjcsIDkyNTczLCA5MjU3OSwgOTI1ODUsIDkyNTkxLCA5MjU5NywgOTI2MDQsIDkyNjExLCA5MjYxOCwgOTI2MjYsIAorICAgIDkyNjM0LCA5MjY0MiwgOTI2NTAsIDkyNjU4LCAwLCAwLCAwLCAwLCA5MjY2NiwgOTI2NzAsIDkyNjc1LCA5MjY4MCwgCisgICAgOTI2ODUsIDkyNjg5LCA5MjY5NCwgOTI2OTksIDkyNzA0LCA5MjcwOSwgOTI3MTMsIDkyNzE3LCA5MjcyMiwgOTI3MjcsIAorICAgIDkyNzMyLCA5MjczNywgOTI3NDEsIDkyNzQ2LCA5Mjc1MSwgOTI3NTYsIDkyNzYxLCA5Mjc2NiwgOTI3NzEsIDkyNzc1LCAKKyAgICA5Mjc4MCwgOTI3ODUsIDkyNzkwLCA5Mjc5NSwgOTI4MDAsIDkyODA1LCA5MjgxMCwgOTI4MTUsIDkyODIwLCA5MjgyNSwgCisgICAgOTI4MzAsIDkyODM2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5Mjg0MiwgOTI4NDcsIDkyODUyLCAKICAgICA5Mjg1NywgOTI4NjIsIDkyODY3LCA5Mjg3MiwgOTI4NzcsIDkyODgyLCA5Mjg4NywgOTI4OTIsIDkyODk3LCA5MjkwMiwgCiAgICAgOTI5MDcsIDkyOTEyLCA5MjkxNywgOTI5MjIsIDkyOTI3LCA5MjkzMiwgOTI5MzcsIDkyOTQyLCA5Mjk0NywgOTI5NTIsIAotICAgIDkyOTU3LCA5Mjk2MiwgOTI5NjcsIDkyOTcyLCA5Mjk3NywgOTI5ODIsIDkyOTg3LCA5Mjk5MiwgOTI5OTcsIDkzMDAyLCAKLSAgICA5MzAwNywgOTMwMTIsIDkzMDE3LCA5MzAyMiwgMCwgMCwgMCwgOTMwMjcsIDkzMDMyLCA5MzA0MSwgOTMwNDksIDkzMDU4LCAKLSAgICA5MzA2NywgOTMwNzgsIDkzMDg5LCA5MzA5NiwgOTMxMDMsIDkzMTEwLCA5MzExNywgOTMxMjQsIDkzMTMxLCA5MzEzOCwgCi0gICAgOTMxNDUsIDkzMTUyLCA5MzE1OSwgOTMxNjYsIDkzMTczLCA5MzE4MCwgOTMxODcsIDkzMTk0LCA5MzIwMSwgOTMyMDgsIAotICAgIDkzMjE1LCA5MzIyMiwgOTMyMjksIDkzMjM2LCAwLCAwLCA5MzI0MywgOTMyNDksIDkzMjU1LCA5MzI2MSwgOTMyNjcsIAotICAgIDkzMjc0LCA5MzI4MSwgOTMyODksIDkzMjk3LCA5MzMwNCwgOTMzMTEsIDkzMzE4LCA5MzMyNSwgOTMzMzIsIDkzMzM5LCAKLSAgICA5MzM0NiwgOTMzNTMsIDkzMzYwLCA5MzM2NywgOTMzNzQsIDkzMzgxLCA5MzM4OCwgOTMzOTUsIDkzNDAyLCA5MzQwOSwgCi0gICAgOTM0MTYsIDkzNDIzLCAwLCAwLCAwLCAwLCAwLCA5MzQzMCwgOTM0MzYsIDkzNDQyLCA5MzQ0OCwgOTM0NTQsIDkzNDYxLCAKLSAgICA5MzQ2OCwgOTM0NzYsIDkzNDg0LCA5MzQ5MCwgOTM0OTYsIDkzNTAzLCA5MzUwOSwgOTM1MTUsIDkzNTIxLCA5MzUyNywgCi0gICAgOTM1MzQsIDkzNTQxLCA5MzU0OCwgOTM1NTUsIDkzNTYyLCA5MzU2OSwgOTM1NzYsIDkzNTgzLCA5MzU5MCwgOTM1OTcsIAotICAgIDkzNjA0LCA5MzYxMSwgOTM2MTgsIDkzNjI1LCA5MzYzMiwgOTM2MzksIDkzNjQ2LCA5MzY1MywgOTM2NjAsIDkzNjY3LCAKLSAgICA5MzY3NCwgOTM2ODEsIDkzNjg4LCA5MzY5NSwgOTM3MDIsIDkzNzA5LCA5MzcxNiwgOTM3MjMsIDkzNzMwLCA5MzczNywgCi0gICAgOTM3NDQsIDkzNzUxLCA5Mzc1OCwgOTM3NjUsIDkzNzcyLCA5Mzc3OSwgOTM3ODYsIDkzNzkzLCA5MzgwMCwgOTM4MDcsIAotICAgIDkzODE0LCA5MzgyMSwgOTM4MjgsIDkzODM1LCA5Mzg0MiwgOTM4NDksIDkzODU2LCA5Mzg2MywgOTM4NzAsIDkzODc3LCAKLSAgICA5Mzg4NCwgOTM4OTEsIDkzODk4LCA5MzkwNSwgOTM5MTIsIDkzOTE5LCA5MzkyNiwgOTM5MzMsIDkzOTQwLCA5Mzk0NywgCi0gICAgOTM5NTQsIDkzOTYxLCA5Mzk2OCwgOTM5NzUsIDkzOTgyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA5Mjk1NywgOTI5NjIsIDkyOTY3LCA5Mjk3MiwgMCwgMCwgMCwgMCwgMCwgOTI5NzksIDkyOTg1LCA5Mjk5MSwgOTI5OTcsIAorICAgIDkzMDAzLCA5MzAwOCwgOTMwMTQsIDkzMDIwLCA5MzAyNiwgOTMwMzIsIDkzMDM3LCA5MzA0MywgOTMwNDksIDkzMDU1LCAKKyAgICA5MzA2MSwgOTMwNjcsIDkzMDczLCA5MzA3OSwgOTMwODUsIDkzMDkxLCA5MzA5NiwgOTMxMDIsIDkzMTA4LCA5MzExNCwgCisgICAgOTMxMjAsIDkzMTI2LCA5MzEzMSwgOTMxMzcsIDkzMTQzLCA5MzE0OCwgOTMxNTQsIDkzMTYwLCA5MzE2NiwgOTMxNzIsIAorICAgIDkzMTc4LCA5MzE4NCwgOTMxOTAsIDkzMTk1LCA5MzIwMSwgOTMyMDgsIDkzMjE1LCA5MzIyMiwgOTMyMjksIDAsIDAsIDAsIAorICAgIDAsIDAsIDkzMjM2LCA5MzI0MSwgOTMyNDYsIDkzMjUxLCA5MzI1NiwgOTMyNjEsIDkzMjY2LCA5MzI3MSwgOTMyNzYsIAorICAgIDkzMjgxLCA5MzI4NiwgOTMyOTEsIDkzMjk2LCA5MzMwMSwgOTMzMDYsIDkzMzExLCA5MzMxNiwgOTMzMjEsIDkzMzI2LCAKKyAgICA5MzMzMSwgOTMzMzYsIDkzMzQxLCA5MzM0NiwgOTMzNTEsIDkzMzU2LCA5MzM2MSwgOTMzNjYsIDkzMzcwLCA5MzM3NCwgCisgICAgOTMzNzgsIDAsIDkzMzgzLCA5MzM4OSwgOTMzOTQsIDkzMzk5LCA5MzQwNCwgOTM0MDksIDkzNDE1LCA5MzQyMSwgOTM0MjcsIAorICAgIDkzNDMzLCA5MzQzOSwgOTM0NDUsIDkzNDUxLCA5MzQ1NywgOTM0NjMsIDkzNDY5LCA5MzQ3NSwgOTM0ODEsIDkzNDg3LCAKKyAgICA5MzQ5MiwgOTM0OTgsIDkzNTA0LCA5MzUwOSwgOTM1MTUsIDkzNTIwLCA5MzUyNiwgOTM1MzIsIDkzNTM3LCA5MzU0MywgCisgICAgOTM1NDksIDkzNTU1LCA5MzU2MSwgOTM1NjcsIDkzNTczLCA5MzU3OSwgOTM1ODUsIDkzNTkxLCAwLCAwLCAwLCAwLCAKKyAgICA5MzU5NiwgOTM2MDIsIDkzNjA4LCA5MzYxNCwgOTM2MjAsIDkzNjI2LCA5MzYzMiwgOTM2MzgsIDkzNjQ0LCA5MzY1MSwgCisgICAgOTM2NTYsIDkzNjYxLCA5MzY2NywgOTM2NzMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDkzNjc5LCA5MzY4NSwgOTM2OTEsIDkzNjk3LCA5MzcwNCwgOTM3MTAsIDkzNzE3LCA5MzcyNCwgOTM3MzEsIAorICAgIDkzNzM4LCA5Mzc0NiwgOTM3NTMsIDkzNzYxLCA5Mzc2NywgOTM3NzMsIDkzNzc5LCA5Mzc4NSwgOTM3OTEsIDkzNzk3LCAKKyAgICA5MzgwMywgOTM4MDksIDkzODE1LCA5MzgyMSwgOTM4MjcsIDkzODMzLCA5MzgzOSwgOTM4NDUsIDkzODUxLCA5Mzg1NywgCisgICAgOTM4NjMsIDkzODY5LCA5Mzg3NSwgOTM4ODEsIDkzODg3LCA5Mzg5MywgOTM4OTksIDkzOTA1LCA5MzkxMSwgOTM5MTcsIAorICAgIDkzOTIzLCA5MzkyOSwgOTM5MzUsIDkzOTQxLCA5Mzk0NywgOTM5NTQsIDkzOTYwLCA5Mzk2NywgOTM5NzQsIDkzOTgxLCAKKyAgICA5Mzk4OCwgOTM5OTYsIDk0MDAzLCA5NDAxMSwgOTQwMTcsIDk0MDIzLCA5NDAyOSwgOTQwMzUsIDk0MDQxLCA5NDA0NywgCisgICAgOTQwNTMsIDk0MDU5LCA5NDA2NSwgOTQwNzEsIDk0MDc3LCA5NDA4MywgOTQwODksIDk0MDk1LCA5NDEwMSwgOTQxMDcsIAorICAgIDk0MTEzLCA5NDExOSwgOTQxMjUsIDk0MTMxLCA5NDEzNywgOTQxNDMsIDk0MTQ5LCA5NDE1NSwgOTQxNjEsIDk0MTY3LCAKKyAgICA5NDE3MywgOTQxNzksIDk0MTg0LCA5NDE4OSwgOTQxOTQsIDk0MTk5LCA5NDIwNCwgOTQyMDksIDk0MjE0LCA5NDIxOSwgCisgICAgOTQyMjQsIDk0MjI5LCA5NDIzNCwgOTQyMzksIDk0MjQ0LCA5NDI0OSwgOTQyNTQsIDk0MjU5LCA5NDI2NCwgOTQyNjksIAorICAgIDk0Mjc0LCA5NDI3OSwgOTQyODQsIDk0Mjg5LCA5NDI5NCwgOTQyOTksIDk0MzA0LCA5NDMwOSwgOTQzMTQsIDk0MzE5LCAKKyAgICA5NDMyNCwgOTQzMjksIDk0MzM0LCA5NDMzOSwgOTQzNDQsIDk0MzQ5LCA5NDM1NCwgOTQzNTksIDk0MzY0LCA5NDM2OSwgCisgICAgOTQzNzQsIDk0Mzc5LCA5NDM4NCwgOTQzODksIDk0Mzk0LCA5NDM5OSwgOTQ0MDQsIDk0NDA5LCA5NDQxNCwgOTQ0MTksIAorICAgIDk0NDI0LCA5NDQyOSwgOTQ0MzQsIDk0NDM5LCA5NDQ0NCwgOTQ0NDksIDk0NDU0LCA5NDQ1OSwgOTQ0NjQsIDk0NDY5LCAKKyAgICA5NDQ3NCwgOTQ0NzksIDk0NDg0LCA5NDQ4OSwgOTQ0OTQsIDk0NDk5LCA5NDUwNCwgOTQ1MDksIDk0NTE0LCA5NDUxOSwgCisgICAgOTQ1MjMsIDk0NTI3LCA5NDUzMSwgOTQ1MzUsIDk0NTM5LCA5NDU0MywgOTQ1NDcsIDk0NTUyLCA5NDU1NywgMCwgMCwgCisgICAgOTQ1NjIsIDk0NTY3LCA5NDU3MSwgOTQ1NzUsIDk0NTc5LCA5NDU4MywgOTQ1ODcsIDk0NTkxLCA5NDU5NSwgOTQ1OTksIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDk0NjAzLCA5NDYwNywgOTQ2MTIsIDk0NjE3LCA5NDYyMiwgCisgICAgOTQ2MjcsIDk0NjMyLCA5NDYzNywgOTQ2NDIsIDk0NjQ2LCA5NDY1MSwgOTQ2NTYsIDk0NjYxLCA5NDY2NiwgOTQ2NzAsIAorICAgIDk0Njc1LCA5NDY4MCwgOTQ2ODUsIDk0NjkwLCA5NDY5NSwgOTQ3MDAsIDk0NzA0LCA5NDcwOSwgOTQ3MTMsIDk0NzE4LCAKKyAgICA5NDcyMywgOTQ3MjgsIDk0NzMzLCA5NDczOCwgOTQ3NDMsIDk0NzQ4LCA5NDc1MywgOTQ3NTcsIDk0NzYyLCA5NDc2NywgCisgICAgOTQ3NzIsIDk0Nzc3LCA5NDc4MiwgOTQ3ODcsIDk0NzkyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5NDc5NywgOTQ4MDQsIAorICAgIDk0ODExLCA5NDgxOCwgOTQ4MjUsIDk0ODMyLCA5NDgzOSwgOTQ4NDYsIDk0ODUzLCA5NDg2MCwgOTQ4NjcsIDk0ODc0LCAKKyAgICA5NDg4MSwgOTQ4ODgsIDk0ODk1LCA5NDkwMiwgOTQ5MDksIDk0OTE2LCA5NDkyMywgOTQ5MzAsIDk0OTM3LCA5NDk0NCwgCisgICAgOTQ5NTEsIDk0OTU4LCA5NDk2NSwgOTQ5NzIsIDk0OTc5LCA5NDk4NiwgOTQ5OTMsIDk1MDAwLCA5NTAwNywgOTUwMTQsIAorICAgIDk1MDIxLCA5NTAyOCwgOTUwMzUsIDk1MDQyLCA5NTA0OSwgOTUwNTYsIDk1MDYzLCA5NTA3MCwgOTUwNzcsIDk1MDg0LCAKKyAgICA5NTA5MSwgOTUwOTgsIDk1MTA1LCA5NTExMiwgOTUxMTksIDk1MTI2LCA5NTEzMywgOTUxNDAsIDk1MTQ3LCA5NTE1NCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOTUxNjEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDkzOTg5LCA5Mzk5MywgCi0gICAgOTM5OTcsIDk0MDAxLCA5NDAwNSwgOTQwMDksIDk0MDEzLCA5NDAxNywgOTQwMjEsIDk0MDI1LCA5NDAzMCwgOTQwMzUsIAotICAgIDk0MDQwLCA5NDA0NSwgOTQwNTAsIDk0MDU1LCA5NDA2MCwgOTQwNjUsIDk0MDcwLCA5NDA3NiwgOTQwODIsIDk0MDg4LCAKLSAgICA5NDA5NSwgOTQxMDIsIDk0MTA5LCA5NDExNiwgOTQxMjMsIDk0MTMwLCA5NDEzNywgOTQxNDQsIDk0MTUxLCAwLCA5NDE1OCwgCi0gICAgOTQxNjIsIDk0MTY2LCA5NDE3MCwgOTQxNzQsIDk0MTc4LCA5NDE4MSwgOTQxODUsIDk0MTg4LCA5NDE5MiwgOTQxOTUsIAotICAgIDk0MTk5LCA5NDIwMywgOTQyMDgsIDk0MjEyLCA5NDIxNywgOTQyMjAsIDk0MjI0LCA5NDIyNywgOTQyMzEsIDk0MjM0LCAKLSAgICA5NDIzOCwgOTQyNDIsIDk0MjQ2LCA5NDI1MCwgOTQyNTQsIDk0MjU4LCA5NDI2MiwgOTQyNjYsIDk0MjcwLCA5NDI3NCwgCi0gICAgOTQyNzgsIDk0MjgyLCA5NDI4NiwgOTQyOTAsIDk0Mjk0LCA5NDI5OCwgOTQzMDIsIDk0MzA2LCA5NDMwOSwgOTQzMTIsIAotICAgIDk0MzE2LCA5NDMyMCwgOTQzMjQsIDk0MzI3LCA5NDMzMCwgOTQzMzMsIDk0MzM3LCA5NDM0MSwgOTQzNDUsIDk0MzQ5LCAKLSAgICA5NDM1MiwgOTQzNTUsIDk0MzU5LCA5NDM2NSwgOTQzNzEsIDk0Mzc3LCA5NDM4MiwgOTQzODksIDk0MzkzLCA5NDM5OCwgCi0gICAgOTQ0MDIsIDk0NDA3LCA5NDQxMiwgOTQ0MTgsIDk0NDIzLCA5NDQyOSwgOTQ0MzMsIDk0NDM4LCA5NDQ0MiwgOTQ0NDcsIAotICAgIDk0NDUwLCA5NDQ1MywgOTQ0NTcsIDk0NDYyLCA5NDQ2OCwgOTQ0NzMsIDk0NDc5LCAwLCAwLCAwLCAwLCA5NDQ4NCwgCi0gICAgOTQ0ODcsIDk0NDkwLCA5NDQ5MywgOTQ0OTYsIDk0NDk5LCA5NDUwMiwgOTQ1MDUsIDk0NTA4LCA5NDUxMSwgOTQ1MTUsIAotICAgIDk0NTE5LCA5NDUyMywgOTQ1MjcsIDk0NTMxLCA5NDUzNSwgOTQ1MzksIDk0NTQzLCA5NDU0NywgOTQ1NTIsIDk0NTU3LCAKLSAgICA5NDU2MSwgOTQ1NjQsIDk0NTY3LCA5NDU3MCwgOTQ1NzMsIDk0NTc2LCA5NDU3OSwgOTQ1ODIsIDk0NTg1LCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5NDU4OCwgOTQ1OTMsIDk0NTk4LCA5NDYwMywgOTQ2MDcsIAotICAgIDk0NjEyLCA5NDYxNiwgOTQ2MjEsIDk0NjI1LCA5NDYzMCwgOTQ2MzQsIDk0NjM5LCA5NDY0MywgOTQ2NDgsIDk0NjUyLCAKLSAgICA5NDY1NywgOTQ2NjIsIDk0NjY3LCA5NDY3MiwgOTQ2NzcsIDk0NjgyLCA5NDY4NywgOTQ2OTIsIDk0Njk3LCA5NDcwMiwgCi0gICAgOTQ3MDcsIDk0NzEyLCA5NDcxNywgOTQ3MjIsIDk0NzI3LCA5NDczMiwgOTQ3MzcsIDk0NzQyLCA5NDc0NywgOTQ3NTIsIAotICAgIDk0NzU2LCA5NDc2MCwgOTQ3NjUsIDk0NzcwLCA5NDc3NSwgOTQ3NzksIDk0NzgzLCA5NDc4NywgOTQ3OTIsIDk0Nzk3LCAKLSAgICA5NDgwMiwgOTQ4MDcsIDk0ODExLCA5NDgxNSwgOTQ4MjEsIDk0ODI2LCA5NDgzMiwgOTQ4MzcsIDk0ODQzLCA5NDg0OCwgCi0gICAgOTQ4NTQsIDk0ODU5LCA5NDg2NSwgOTQ4NzAsIDk0ODc1LCA5NDg4MCwgOTQ4ODUsIDk0ODg5LCA5NDg5NCwgOTQ5MDAsIAotICAgIDk0OTA0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5NDkwOSwgOTQ5MTYsIDk0OTIzLCAKLSAgICA5NDkzMCwgOTQ5MzcsIDk0OTQ0LCA5NDk1MSwgOTQ5NTgsIDk0OTY1LCA5NDk3MiwgOTQ5NzksIDk0OTg2LCA5NDk5MywgCi0gICAgOTUwMDAsIDk1MDA3LCA5NTAxNCwgOTUwMjEsIDk1MDI4LCA5NTAzNSwgOTUwNDIsIDk1MDQ5LCA5NTA1NiwgOTUwNjMsIAotICAgIDk1MDcwLCA5NTA3NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOTUwODQsIDk1MDkxLCA5NTA5NywgOTUxMDMsIDk1MTA5LCAKLSAgICA5NTExNSwgOTUxMjEsIDk1MTI3LCA5NTEzMywgOTUxMzksIDAsIDAsIDAsIDAsIDAsIDAsIDk1MTQ1LCA5NTE1MCwgOTUxNTUsIAotICAgIDk1MTYwLCA5NTE2NSwgOTUxNjksIDk1MTczLCA5NTE3NywgOTUxODIsIDk1MTg3LCA5NTE5MiwgOTUxOTcsIDk1MjAyLCAKLSAgICA5NTIwNywgOTUyMTIsIDk1MjE3LCA5NTIyMiwgOTUyMjcsIDk1MjMyLCA5NTIzNywgOTUyNDIsIDk1MjQ3LCA5NTI1MiwgCi0gICAgOTUyNTcsIDk1MjYyLCA5NTI2NywgOTUyNzIsIDk1Mjc3LCA5NTI4MiwgOTUyODcsIDk1MjkyLCA5NTI5NywgOTUzMDIsIAotICAgIDk1MzA3LCA5NTMxMiwgOTUzMTcsIDk1MzIyLCA5NTMyNywgOTUzMzIsIDk1MzM3LCA5NTM0MiwgOTUzNDcsIDk1MzUzLCAKLSAgICA5NTM1OCwgOTUzNjQsIDk1MzY5LCA5NTM3NSwgOTUzODAsIDk1Mzg2LCA5NTM5MiwgOTUzOTYsIDk1NDAxLCA5NTQwNSwgMCwgCi0gICAgOTU0MDksIDk1NDE0LCA5NTQxOCwgOTU0MjIsIDk1NDI2LCA5NTQzMCwgOTU0MzQsIDk1NDM4LCA5NTQ0MiwgOTU0NDYsIAotICAgIDk1NDUwLCA5NTQ1NSwgOTU0NTksIDk1NDY0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5NTQ2OSwgCi0gICAgOTU0NzMsIDk1NDc3LCA5NTQ4MSwgOTU0ODQsIDk1NDg4LCA5NTQ5MSwgOTU0OTUsIDk1NDk4LCA5NTUwMiwgOTU1MDYsIAotICAgIDk1NTExLCA5NTUxNSwgOTU1MjAsIDk1NTIzLCA5NTUyNywgOTU1MzAsIDk1NTM0LCA5NTUzNywgOTU1NDEsIDk1NTQ1LCAKLSAgICA5NTU0OSwgOTU1NTMsIDk1NTU3LCA5NTU2MSwgOTU1NjUsIDk1NTY5LCA5NTU3MywgOTU1NzcsIDk1NTgxLCA5NTU4NSwgCi0gICAgOTU1ODksIDk1NTkzLCA5NTU5NywgOTU2MDEsIDk1NjA1LCA5NTYwOSwgOTU2MTIsIDk1NjE1LCA5NTYxOSwgOTU2MjMsIAotICAgIDk1NjI3LCA5NTYzMCwgOTU2MzMsIDk1NjM2LCA5NTY0MCwgOTU2NDQsIDk1NjQ4LCA5NTY1MiwgOTU2NTYsIDk1NjU5LCAKLSAgICA5NTY2MiwgOTU2NjcsIDk1NjcxLCA5NTY3NiwgOTU2ODAsIDk1Njg1LCA5NTY5MCwgOTU2OTYsIDk1NzAxLCA5NTcwNywgCi0gICAgOTU3MTEsIDk1NzE2LCA5NTcyMCwgOTU3MjUsIDk1NzI5LCA5NTczMywgOTU3MzcsIDk1NzQxLCA5NTc0NCwgOTU3NDcsIAotICAgIDk1NzUxLCA5NTc1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOTU3NTgsIDk1NzYyLCA5NTc2NSwgOTU3NjgsIDk1NzcxLCAKLSAgICA5NTc3NCwgOTU3NzcsIDk1NzgwLCA5NTc4MywgOTU3ODYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDk1Nzg5LCA5NTc5MywgOTU3OTgsIDk1ODAyLCA5NTgwNywgOTU4MTEsIDk1ODE2LCA5NTgyMCwgOTU4MjUsIDk1ODI5LCAKLSAgICA5NTgzNCwgOTU4MzgsIDk1ODQzLCA5NTg0OCwgOTU4NTMsIDk1ODU4LCA5NTg2MywgOTU4NjgsIDk1ODczLCA5NTg3OCwgCi0gICAgOTU4ODMsIDk1ODg4LCA5NTg5MywgOTU4OTgsIDk1OTAzLCA5NTkwOCwgOTU5MTMsIDk1OTE4LCA5NTkyMywgOTU5MjgsIAotICAgIDk1OTMyLCA5NTkzNiwgOTU5NDEsIDk1OTQ2LCA5NTk1MSwgOTU5NTUsIDk1OTU5LCA5NTk2MywgOTU5NjgsIDk1OTczLCAKLSAgICA5NTk3OCwgOTU5ODIsIDk1OTg2LCA5NTk5MSwgOTU5OTYsIDk2MDAxLCA5NjAwNywgOTYwMTIsIDk2MDE4LCA5NjAyMywgCi0gICAgOTYwMjksIDk2MDM0LCA5NjA0MCwgOTYwNDUsIDk2MDUxLCA5NjA1NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOTYwNjEsIAotICAgIDk2MDY2LCA5NjA3MCwgOTYwNzQsIDk2MDc4LCA5NjA4MiwgOTYwODYsIDk2MDkwLCA5NjA5NCwgOTYwOTgsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDk2MTAyLCA5NjEwNSwgOTYxMTAsIDk2MTE2LCA5NjEyNCwgOTYxMjksIDk2MTM1LCA5NjE0MywgOTYxNDksIAotICAgIDk2MTU1LCA5NjE1OSwgOTYxNjMsIDk2MTcwLCA5NjE3OSwgOTYxODYsIDk2MTk1LCA5NjIwMSwgOTYyMTAsIDk2MjE3LCAKLSAgICA5NjIyNCwgOTYyMzEsIDk2MjQxLCA5NjI0NywgOTYyNTEsIDk2MjU4LCA5NjI2NywgOTYyNzcsIDk2Mjg0LCA5NjI5MSwgCi0gICAgOTYyOTUsIDk2Mjk5LCA5NjMwNiwgOTYzMTYsIDk2MzIwLCA5NjMyNywgOTYzMzQsIDk2MzQxLCA5NjM0NywgOTYzNTQsIAotICAgIDk2MzYxLCA5NjM2OCwgOTYzNzUsIDk2Mzc5LCA5NjM4MywgOTYzODcsIDk2Mzk0LCA5NjM5OCwgOTY0MDUsIDk2NDEyLCAKLSAgICA5NjQyNiwgOTY0MzUsIDk2NDM5LCA5NjQ0MywgOTY0NDcsIDk2NDU0LCA5NjQ1OCwgOTY0NjIsIDk2NDY2LCA5NjQ3NCwgCi0gICAgOTY0ODIsIDk2NTAxLCA5NjUxMSwgOTY1MzEsIDk2NTM1LCA5NjUzOSwgOTY1NDMsIDk2NTQ3LCA5NjU1MSwgOTY1NTUsIAotICAgIDk2NTU5LCA5NjU2NiwgOTY1NzAsIDk2NTczLCA5NjU3NywgOTY1ODEsIDk2NTg3LCA5NjU5NCwgOTY2MDMsIDk2NjA3LCAKLSAgICA5NjYxNiwgOTY2MjUsIDk2NjMzLCA5NjYzNywgOTY2NDQsIDk2NjQ4LCA5NjY1MiwgOTY2NTYsIDk2NjYwLCA5NjY3MSwgCi0gICAgOTY2ODAsIDk2Njg5LCA5NjY5OCwgOTY3MDcsIDk2NzE5LCA5NjcyOCwgOTY3MzcsIDk2NzQ2LCA5Njc1NCwgOTY3NjMsIAotICAgIDk2Nzc1LCA5Njc4NCwgOTY3OTMsIDk2ODAyLCA5NjgxNCwgOTY4MjMsIDk2ODMyLCA5Njg0NCwgOTY4NTMsIDk2ODYyLCAKLSAgICA5Njg3NCwgOTY4ODMsIDk2ODg3LCA5Njg5MSwgOTY4OTUsIDk2ODk5LCA5NjkwMywgOTY5MDcsIDk2OTExLCA5NjkxOCwgCi0gICAgOTY5MjIsIDk2OTI2LCA5NjkzNywgOTY5NDEsIDk2OTQ1LCA5Njk1MiwgOTY5NTgsIDk2OTY0LCA5Njk2OCwgOTY5NzUsIAotICAgIDk2OTc5LCA5Njk4MywgOTY5ODcsIDk2OTkxLCA5Njk5NSwgOTY5OTksIDk3MDA1LCA5NzAxMywgOTcwMTcsIDk3MDIxLCAKLSAgICA5NzAyNCwgOTcwMzAsIDk3MDQwLCA5NzA0NCwgOTcwNTYsIDk3MDYzLCA5NzA3MCwgOTcwNzcsIDk3MDg0LCA5NzA5MCwgCi0gICAgOTcwOTQsIDk3MDk4LCA5NzEwMiwgOTcxMDYsIDk3MTEzLCA5NzEyMiwgOTcxMjksIDk3MTM3LCA5NzE0NSwgOTcxNTEsIAotICAgIDk3MTU1LCA5NzE1OSwgOTcxNjMsIDk3MTY3LCA5NzE3MywgOTcxODIsIDk3MTk0LCA5NzIwMSwgOTcyMDgsIDk3MjE3LCAKLSAgICA5NzIyOCwgOTcyMzQsIDk3MjQzLCA5NzI1MiwgOTcyNTksIDk3MjY4LCA5NzI3NSwgOTcyODIsIDk3MjkyLCA5NzI5OSwgCi0gICAgOTczMDYsIDk3MzEzLCA5NzMyMCwgOTczMjQsIDk3MzMwLCA5NzMzNCwgOTczNDUsIDk3MzUzLCA5NzM2MiwgOTczNzQsIAotICAgIDk3MzgxLCA5NzM4OCwgOTczOTgsIDk3NDA1LCA5NzQxNCwgOTc0MjEsIDk3NDMwLCA5NzQzNywgOTc0NDQsIDk3NDU0LCAKLSAgICA5NzQ2MSwgOTc0NjgsIDk3NDc4LCA5NzQ4NSwgOTc0OTcsIDk3NTA2LCA5NzUxMywgOTc1MjAsIDk3NTI3LCA5NzUzNiwgCi0gICAgOTc1NDYsIDk3NTU5LCA5NzU2NiwgOTc1NzYsIDk3NTg2LCA5NzU5MywgOTc2MDIsIDk3NjE1LCA5NzYyMiwgOTc2MjksIAotICAgIDk3NjM2LCA5NzY0NiwgOTc2NTYsIDk3NjYzLCA5NzY3MywgOTc2ODAsIDk3Njg3LCA5NzY5NywgOTc3MDMsIDk3NzEwLCAKLSAgICA5NzcxNywgOTc3MjQsIDk3NzM0LCA5Nzc0MSwgOTc3NDgsIDk3NzU1LCA5Nzc2MSwgOTc3NjgsIDk3Nzc4LCA5Nzc4NSwgCi0gICAgOTc3ODksIDk3Nzk3LCA5NzgwMSwgOTc4MTMsIDk3ODE3LCA5NzgzMSwgOTc4MzUsIDk3ODM5LCA5Nzg0MywgOTc4NDcsIAotICAgIDk3ODUzLCA5Nzg2MCwgOTc4NjgsIDk3ODcyLCA5Nzg3NiwgOTc4ODAsIDk3ODg0LCA5Nzg5MSwgOTc4OTUsIDk3OTAxLCAKLSAgICA5NzkwNywgOTc5MTUsIDk3OTE5LCA5NzkyNiwgOTc5MzQsIDk3OTM4LCA5Nzk0MiwgOTc5NDgsIDk3OTUyLCA5Nzk2MSwgCi0gICAgOTc5NzAsIDk3OTc3LCA5Nzk4NywgOTc5OTMsIDk3OTk3LCA5ODAwMSwgOTgwMDksIDk4MDE2LCA5ODAyMywgOTgwMjksIAotICAgIDk4MDMzLCA5ODA0MSwgOTgwNDUsIDk4MDUyLCA5ODA2NCwgOTgwNzEsIDk4MDgxLCA5ODA4NywgOTgwOTEsIDk4MTAwLCAKLSAgICA5ODEwNywgOTgxMTYsIDk4MTIwLCA5ODEyNCwgOTgxMzEsIDk4MTM1LCA5ODEzOSwgOTgxNDMsIDk4MTQ3LCA5ODE1MCwgCi0gICAgOTgxNTYsIDk4MTYyLCA5ODE2NiwgOTgxNzAsIDk4MTc3LCA5ODE4NCwgOTgxOTEsIDk4MTk4LCA5ODIwNSwgOTgyMTIsIAotICAgIDk4MjE5LCA5ODIyNiwgOTgyMzIsIDk4MjM2LCA5ODI0MCwgOTgyNDcsIDk4MjU0LCA5ODI2MSwgOTgyNjgsIDk4Mjc1LCAKLSAgICA5ODI3OSwgOTgyODIsIDk4Mjg3LCA5ODI5MSwgOTgyOTUsIDk4MzA0LCA5ODMxMywgOTgzMTcsIDk4MzIxLCA5ODMyNywgCi0gICAgOTgzMzMsIDk4MzUwLCA5ODM1NiwgOTgzNjAsIDk4MzY5LCA5ODM3MywgOTgzNzcsIDk4Mzg0LCA5ODM5MiwgOTg0MDAsIAotICAgIDk4NDA2LCA5ODQxMCwgOTg0MTQsIDk4NDE4LCA5ODQyMiwgOTg0MjUsIDk4NDMxLCA5ODQzOCwgOTg0NDgsIDk4NDU1LCAKLSAgICA5ODQ2MiwgOTg0NjksIDk4NDc1LCA5ODQ4MiwgOTg0ODksIDk4NDk2LCA5ODUwMywgOTg1MTAsIDk4NTE5LCA5ODUyNiwgCi0gICAgOTg1MzgsIDk4NTQ1LCA5ODU1MiwgOTg1NjIsIDk4NTczLCA5ODU4MCwgOTg1ODcsIDk4NTk0LCA5ODYwMSwgOTg2MDgsIAotICAgIDk4NjE1LCA5ODYyMiwgOTg2MjksIDk4NjM2LCA5ODY0MywgOTg2NTMsIDk4NjYzLCA5ODY3MywgOTg2ODAsIDk4NjkwLCAKLSAgICA5ODY5NywgOTg3MDQsIDk4NzExLCA5ODcxOCwgOTg3MjQsIDk4NzMxLCA5ODczOCwgOTg3NDUsIDk4NzUyLCA5ODc1OSwgCi0gICAgOTg3NjYsIDk4NzczLCA5ODc4MCwgOTg3ODYsIDk4NzkzLCA5ODgwMCwgOTg4MDksIDk4ODE2LCA5ODgyMywgOTg4MjcsIAotICAgIDk4ODM1LCA5ODgzOSwgOTg4NDMsIDk4ODQ3LCA5ODg1MSwgOTg4NTUsIDk4ODYyLCA5ODg2NiwgOTg4NzUsIDk4ODc5LCAKLSAgICA5ODg4NiwgOTg4OTQsIDk4ODk4LCA5ODkwMiwgOTg5MDYsIDk4OTE5LCA5ODkzNSwgOTg5MzksIDk4OTQzLCA5ODk1MCwgCi0gICAgOTg5NTYsIDk4OTYzLCA5ODk2NywgOTg5NzEsIDk4OTc1LCA5ODk3OSwgOTg5ODMsIDk4OTkwLCA5ODk5NCwgOTkwMTIsIAotICAgIDk5MDE2LCA5OTAyMCwgOTkwMjcsIDk5MDMxLCA5OTAzNSwgOTkwNDEsIDk5MDQ1LCA5OTA0OSwgOTkwNTcsIDk5MDYxLCAKLSAgICA5OTA2NSwgOTkwNjksIDk5MDczLCA5OTA3OSwgOTkwOTAsIDk5MDk5LCA5OTEwOCwgOTkxMTUsIDk5MTIyLCA5OTEzMywgCi0gICAgOTkxNDAsIDk5MTQ3LCA5OTE1NCwgOTkxNjEsIDk5MTY4LCA5OTE3NSwgOTkxODIsIDk5MTkyLCA5OTE5OCwgOTkyMDUsIAotICAgIDk5MjE1LCA5OTIyNCwgOTkyMzEsIDk5MjQwLCA5OTI1MCwgOTkyNTcsIDk5MjY0LCA5OTI3MSwgOTkyNzgsIDk5MjkwLCAKLSAgICA5OTI5NywgOTkzMDQsIDk5MzExLCA5OTMxOCwgOTkzMjUsIDk5MzM1LCA5OTM0MiwgOTkzNDksIDk5MzU5LCA5OTM3MiwgCi0gICAgOTkzODQsIDk5MzkxLCA5OTQwMSwgOTk0MDgsIDk5NDE1LCA5OTQyMiwgOTk0MzYsIDk5NDQyLCA5OTQ1MCwgOTk0NjAsIAotICAgIDk5NDcwLCA5OTQ3NywgOTk0ODQsIDk5NDkwLCA5OTQ5NCwgOTk1MDEsIDk5NTExLCA5OTUxNywgOTk1MzAsIDk5NTM0LCAKLSAgICA5OTUzOCwgOTk1NDUsIDk5NTQ5LCA5OTU1NiwgOTk1NjYsIDk5NTcwLCA5OTU3NCwgOTk1NzgsIDk5NTgyLCA5OTU4NiwgCi0gICAgOTk1OTMsIDk5NTk3LCA5OTYwNCwgOTk2MTEsIDk5NjE4LCA5OTYyNywgOTk2MzYsIDk5NjQ2LCA5OTY1MywgOTk2NjAsIAotICAgIDk5NjY3LCA5OTY3NywgOTk2ODQsIDk5Njk0LCA5OTcwMSwgOTk3MTEsIDk5NzE4LCA5OTcyNSwgOTk3MzUsIDk5NzQ1LCAKLSAgICA5OTc1MiwgOTk3NTgsIDk5NzY2LCA5OTc3NCwgOTk3ODAsIDk5Nzg2LCA5OTc5MCwgOTk3OTQsIDk5ODAxLCA5OTgwOSwgCi0gICAgOTk4MTUsIDk5ODE5LCA5OTgyMywgOTk4MjcsIDk5ODM0LCA5OTg0NiwgOTk4NDksIDk5ODU2LCA5OTg2MiwgOTk4NjYsIAotICAgIDk5ODcwLCA5OTg3NCwgOTk4NzgsIDk5ODgyLCA5OTg4NiwgOTk4OTAsIDk5ODk0LCA5OTg5OCwgOTk5MDIsIDk5OTA5LCAKLSAgICA5OTkxMywgOTk5MTksIDk5OTIzLCA5OTkyNywgOTk5MzEsIDk5OTM3LCA5OTk0NCwgOTk5NTEsIDk5OTU4LCA5OTk2OSwgCi0gICAgOTk5NzcsIDk5OTgxLCA5OTk4NywgOTk5OTYsIDEwMDAwMywgMTAwMDA5LCAxMDAwMTIsIDEwMDAxNiwgMTAwMDIwLCAKLSAgICAxMDAwMjYsIDEwMDAzNSwgMTAwMDQzLCAxMDAwNDcsIDEwMDA1MywgMTAwMDU3LCAxMDAwNjEsIDEwMDA2NSwgMTAwMDcxLCAKLSAgICAxMDAwNzgsIDEwMDA4NCwgMTAwMDg4LCAxMDAwOTQsIDEwMDA5OCwgMTAwMTAyLCAxMDAxMTEsIDEwMDEyMywgMTAwMTI3LCAKLSAgICAxMDAxMzQsIDEwMDE0MSwgMTAwMTUxLCAxMDAxNTgsIDEwMDE3MCwgMTAwMTc3LCAxMDAxODQsIDEwMDE5MSwgMTAwMjAyLCAKLSAgICAxMDAyMTIsIDEwMDIyNSwgMTAwMjM1LCAxMDAyNDIsIDEwMDI0NiwgMTAwMjUwLCAxMDAyNTQsIDEwMDI1OCwgMTAwMjY3LCAKLSAgICAxMDAyNzYsIDEwMDI4NSwgMTAwMzAyLCAxMDAzMTEsIDEwMDMxNywgMTAwMzI0LCAxMDAzMzIsIDEwMDM0NSwgMTAwMzQ5LCAKLSAgICAxMDAzNTgsIDEwMDM2NywgMTAwMzc2LCAxMDAzODUsIDEwMDM5NiwgMTAwNDA1LCAxMDA0MTQsIDEwMDQyMywgMTAwNDMyLCAKLSAgICAxMDA0NDEsIDEwMDQ1MCwgMTAwNDYwLCAxMDA0NjMsIDEwMDQ2NywgMTAwNDcxLCAxMDA0NzUsIDEwMDQ3OSwgMTAwNDgzLCAKLSAgICAxMDA0ODksIDEwMDQ5NiwgMTAwNTAzLCAxMDA1MTAsIDEwMDUxNiwgMTAwNTIyLCAxMDA1MjksIDEwMDUzNSwgMTAwNTQyLCAKLSAgICAxMDA1NTAsIDEwMDU1NCwgMTAwNTYxLCAxMDA1NjgsIDEwMDU3NSwgMTAwNTgzLCAxMDA1ODYsIDEwMDU5MCwgMTAwNTk0LCAKLSAgICAxMDA1OTgsIDEwMDYwMSwgMTAwNjA3LCAxMDA2MTEsIDEwMDYxNywgMTAwNjI0LCAxMDA2MzEsIDEwMDYzNywgMTAwNjQ0LCAKLSAgICAxMDA2NTEsIDEwMDY1OCwgMTAwNjY1LCAxMDA2NzIsIDEwMDY3OSwgMTAwNjg2LCAxMDA2OTMsIDEwMDcwMCwgMTAwNzA3LCAKLSAgICAxMDA3MTQsIDEwMDcyMSwgMTAwNzI4LCAxMDA3MzUsIDEwMDc0MSwgMTAwNzQ1LCAxMDA3NTQsIDEwMDc1OCwgMTAwNzYyLCAKLSAgICAxMDA3NjYsIDEwMDc3MCwgMTAwNzc2LCAxMDA3ODMsIDEwMDc5MCwgMTAwNzk3LCAxMDA4MDQsIDEwMDgxMSwgMTAwODE3LCAKLSAgICAxMDA4MjUsIDEwMDgyOSwgMTAwODMzLCAxMDA4MzcsIDEwMDg0MSwgMTAwODQ3LCAxMDA4NjQsIDEwMDg4MSwgMTAwODg1LCAKLSAgICAxMDA4ODksIDEwMDg5MywgMTAwODk3LCAxMDA5MDEsIDEwMDkwNSwgMTAwOTExLCAxMDA5MTgsIDEwMDkyMiwgMTAwOTI4LCAKLSAgICAxMDA5MzUsIDEwMDk0MiwgMTAwOTQ5LCAxMDA5NTYsIDEwMDk2MywgMTAwOTcyLCAxMDA5NzksIDEwMDk4NiwgMTAwOTkzLCAKLSAgICAxMDEwMDAsIDEwMTAwNCwgMTAxMDA4LCAxMDEwMTQsIDEwMTAyNiwgMTAxMDMwLCAxMDEwMzQsIDEwMTA0MywgMTAxMDQ3LCAKLSAgICAxMDEwNTEsIDEwMTA1NSwgMTAxMDYxLCAxMDEwNjUsIDEwMTA2OSwgMTAxMDc4LCAxMDEwODIsIDEwMTA4NiwgMTAxMDkwLCAKLSAgICAxMDEwOTcsIDEwMTEwMSwgMTAxMTA1LCAxMDExMDksIDEwMTExMywgMTAxMTE3LCAxMDExMjEsIDEwMTEyNSwgMTAxMTI5LCAKLSAgICAxMDExMzUsIDEwMTE0MiwgMTAxMTQ5LCAxMDExNTUsIDEwMTE1OSwgMTAxMTc2LCAxMDExODIsIDEwMTE4NiwgMTAxMTkyLCAKLSAgICAxMDExOTgsIDEwMTIwNCwgMTAxMjEwLCAxMDEyMTYsIDEwMTIyMiwgMTAxMjI2LCAxMDEyMzAsIDEwMTIzNCwgMTAxMjQwLCAKLSAgICAxMDEyNDQsIDEwMTI1MCwgMTAxMjU0LCAxMDEyNTgsIDEwMTI2NSwgMTAxMjcyLCAxMDEyODksIDEwMTI5MywgMTAxMjk3LCAKLSAgICAxMDEzMDEsIDEwMTMwNSwgMTAxMzA5LCAxMDEzMjEsIDEwMTMyNCwgMTAxMzI5LCAxMDEzMzQsIDEwMTM0OSwgMTAxMzU5LCAKLSAgICAxMDEzNzEsIDEwMTM3NSwgMTAxMzc5LCAxMDEzODMsIDEwMTM4OSwgMTAxMzk2LCAxMDE0MDMsIDEwMTQxMywgMTAxNDI1LCAKLSAgICAxMDE0MzEsIDEwMTQzNywgMTAxNDQ2LCAxMDE0NTAsIDEwMTQ1NCwgMTAxNDYxLCAxMDE0NzEsIDEwMTQ3OCwgMTAxNDg0LCAKLSAgICAxMDE0ODgsIDEwMTQ5MiwgMTAxNDk5LCAxMDE1MDUsIDEwMTUwOSwgMTAxNTE1LCAxMDE1MTksIDEwMTUyNywgMTAxNTMzLCAKLSAgICAxMDE1MzcsIDEwMTU0NSwgMTAxNTUzLCAxMDE1NjAsIDEwMTU2NiwgMTAxNTczLCAxMDE1ODAsIDEwMTU5MCwgMTAxNjAwLCAKLSAgICAxMDE2MDQsIDEwMTYwOCwgMTAxNjEyLCAxMDE2MTYsIDEwMTYyMiwgMTAxNjI5LCAxMDE2MzUsIDEwMTY0MiwgMTAxNjQ5LCAKLSAgICAxMDE2NTYsIDEwMTY2NSwgMTAxNjcyLCAxMDE2NzksIDEwMTY4NSwgMTAxNjkyLCAxMDE2OTksIDEwMTcwNiwgMTAxNzEzLCAKLSAgICAxMDE3MjAsIDEwMTcyNywgMTAxNzMzLCAxMDE3NDAsIDEwMTc0NywgMTAxNzU0LCAxMDE3NjMsIDEwMTc3MCwgMTAxNzc3LCAKLSAgICAxMDE3ODEsIDEwMTc4NywgMTAxNzkxLCAxMDE3OTcsIDEwMTgwNCwgMTAxODExLCAxMDE4MTgsIDEwMTgyMiwgMTAxODI2LCAKLSAgICAxMDE4MzAsIDEwMTgzNCwgMTAxODM4LCAxMDE4NDUsIDEwMTg0OSwgMTAxODUzLCAxMDE4NTksIDEwMTg2NywgMTAxODcxLCAKLSAgICAxMDE4NzUsIDEwMTg3OSwgMTAxODgzLCAxMDE4OTAsIDEwMTg5NCwgMTAxODk4LCAxMDE5MDYsIDEwMTkxMCwgMTAxOTE0LCAKLSAgICAxMDE5MTgsIDEwMTkyMiwgMTAxOTI4LCAxMDE5MzIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDEwMTkzNiwgMTAxOTQyLCAxMDE5NDgsIDEwMTk1NSwgMTAxOTYyLCAxMDE5NjksIDEwMTk3NiwgMTAxOTgzLCAKLSAgICAxMDE5OTAsIDEwMTk5NiwgMTAyMDAzLCAxMDIwMTAsIDEwMjAxNywgMTAyMDI0LCAxMDIwMzEsIDEwMjAzOCwgMTAyMDQ0LCAKLSAgICAxMDIwNTAsIDEwMjA1NiwgMTAyMDYyLCAxMDIwNjgsIDEwMjA3NCwgMTAyMDgwLCAxMDIwODYsIDEwMjA5MiwgMTAyMDk5LCAKLSAgICAxMDIxMDYsIDEwMjExMywgMTAyMTIwLCAxMDIxMjcsIDEwMjEzNCwgMTAyMTQwLCAxMDIxNDYsIDEwMjE1MiwgMTAyMTU5LCAKLSAgICAxMDIxNjYsIDEwMjE3MiwgMTAyMTc4LCAxMDIxODcsIDEwMjE5NCwgMTAyMjAxLCAxMDIyMDgsIDEwMjIxNSwgMTAyMjIyLCAKLSAgICAxMDIyMjksIDEwMjIzNSwgMTAyMjQxLCAxMDIyNDcsIDEwMjI1NiwgMTAyMjYzLCAxMDIyNzAsIDEwMjI4MSwgMTAyMjkyLCAKLSAgICAxMDIyOTgsIDEwMjMwNCwgMTAyMzEwLCAxMDIzMTksIDEwMjMyNiwgMTAyMzMzLCAxMDIzNDMsIDEwMjM1MywgMTAyMzY0LCAKLSAgICAxMDIzNzUsIDEwMjM4NywgMTAyNDAwLCAxMDI0MTEsIDEwMjQyMiwgMTAyNDM0LCAxMDI0NDcsIDEwMjQ1OCwgMTAyNDY5LCAKLSAgICAxMDI0ODAsIDEwMjQ5MSwgMTAyNTAyLCAxMDI1MTQsIDEwMjUyMiwgMTAyNTMwLCAxMDI1MzksIDEwMjU0OCwgMTAyNTU3LCAKLSAgICAxMDI1NjMsIDEwMjU2OSwgMTAyNTc1LCAxMDI1ODIsIDEwMjU5MiwgMTAyNTk5LCAxMDI2MDksIDEwMjYxNCwgMTAyNjE5LCAKLSAgICAxMDI2MjUsIDEwMjYzMSwgMTAyNjM5LCAxMDI2NDcsIDEwMjY1NiwgMTAyNjY3LCAxMDI2NzgsIDEwMjY4NiwgMTAyNjk0LCAKLSAgICAxMDI3MDMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwMjcxMiwgMTAyNzIzLCAxMDI3MzAsIAotICAgIDEwMjczOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTAyNzQ2LCAxMDI3NTAsIDEwMjc1NCwgCi0gICAgMTAyNzU4LCAxMDI3NjIsIDEwMjc2NiwgMTAyNzcwLCAxMDI3NzQsIDEwMjc3OCwgMTAyNzgyLCAxMDI3ODYsIDEwMjc5MCwgCi0gICAgMTAyNzk0LCAxMDI3OTgsIDEwMjgwMiwgMTAyODA2LCAxMDI4MTAsIDEwMjgxNCwgMTAyODE4LCAxMDI4MjIsIDEwMjgyNiwgCi0gICAgMTAyODMwLCAxMDI4MzQsIDEwMjgzOCwgMTAyODQyLCAxMDI4NDYsIDEwMjg1MCwgMTAyODU0LCAxMDI4NTgsIDEwMjg2MiwgCi0gICAgMTAyODY2LCAxMDI4NzAsIDEwMjg3NCwgMTAyODc4LCAxMDI4ODIsIDEwMjg4NiwgMTAyODkwLCAxMDI4OTQsIDEwMjg5OCwgCi0gICAgMTAyOTAyLCAxMDI5MDYsIDEwMjkxMCwgMTAyOTE0LCAxMDI5MTgsIDEwMjkyMiwgMTAyOTI2LCAxMDI5MzAsIDEwMjkzNCwgCi0gICAgMTAyOTM4LCAxMDI5NDIsIDEwMjk0NiwgMTAyOTUwLCAxMDI5NTQsIDEwMjk1OCwgMTAyOTYyLCAxMDI5NjYsIDEwMjk3MCwgCi0gICAgMTAyOTc0LCAxMDI5NzgsIDEwMjk4MiwgMTAyOTg2LCAxMDI5OTAsIDEwMjk5NCwgMTAyOTk4LCAxMDMwMDIsIDEwMzAwNiwgCi0gICAgMTAzMDEwLCAxMDMwMTQsIDEwMzAxOCwgMTAzMDIyLCAxMDMwMjYsIDEwMzAzMCwgMTAzMDM0LCAxMDMwMzgsIDEwMzA0MiwgCi0gICAgMTAzMDQ2LCAxMDMwNTAsIDEwMzA1NCwgMTAzMDU4LCAxMDMwNjIsIDEwMzA2NiwgMTAzMDcwLCAxMDMwNzQsIDEwMzA3OCwgCi0gICAgMTAzMDgyLCAxMDMwODYsIDEwMzA5MCwgMTAzMDk0LCAxMDMwOTgsIDEwMzEwMiwgMTAzMTA2LCAxMDMxMTAsIDEwMzExNCwgCi0gICAgMTAzMTE4LCAxMDMxMjIsIDEwMzEyNiwgMTAzMTMwLCAxMDMxMzQsIDEwMzEzOCwgMTAzMTQyLCAxMDMxNDYsIDEwMzE1MCwgCi0gICAgMTAzMTU0LCAxMDMxNTgsIDEwMzE2MiwgMTAzMTY2LCAxMDMxNzAsIDEwMzE3NCwgMTAzMTc4LCAxMDMxODIsIDEwMzE4NiwgCi0gICAgMTAzMTkwLCAxMDMxOTQsIDEwMzE5OCwgMTAzMjAyLCAxMDMyMDYsIDEwMzIxMCwgMTAzMjE0LCAxMDMyMTgsIDEwMzIyMiwgCi0gICAgMTAzMjI2LCAxMDMyMzAsIDEwMzIzNCwgMTAzMjM4LCAxMDMyNDIsIDEwMzI0NiwgMTAzMjUwLCAxMDMyNTQsIDEwMzI1OCwgCi0gICAgMTAzMjYyLCAxMDMyNjYsIDEwMzI3MCwgMTAzMjc0LCAxMDMyNzgsIDEwMzI4MiwgMTAzMjg2LCAxMDMyOTAsIDEwMzI5NCwgCi0gICAgMTAzMjk4LCAxMDMzMDIsIDEwMzMwNiwgMTAzMzEwLCAxMDMzMTQsIDEwMzMxOCwgMTAzMzIyLCAxMDMzMjYsIDEwMzMzMCwgCi0gICAgMTAzMzM0LCAxMDMzMzgsIDEwMzM0MiwgMTAzMzQ2LCAxMDMzNTAsIDEwMzM1NCwgMTAzMzU4LCAxMDMzNjIsIDEwMzM2NiwgCi0gICAgMTAzMzcwLCAxMDMzNzQsIDEwMzM3OCwgMTAzMzgyLCAxMDMzODYsIDEwMzM5MCwgMTAzMzk0LCAxMDMzOTgsIDEwMzQwMiwgCi0gICAgMTAzNDA2LCAxMDM0MTAsIDEwMzQxNCwgMTAzNDE4LCAxMDM0MjIsIDEwMzQyNiwgMTAzNDMwLCAxMDM0MzQsIDEwMzQzOCwgCi0gICAgMTAzNDQyLCAxMDM0NDYsIDEwMzQ1MCwgMTAzNDU0LCAxMDM0NTgsIDEwMzQ2MiwgMTAzNDY2LCAxMDM0NzAsIDEwMzQ3NCwgCi0gICAgMTAzNDc4LCAxMDM0ODIsIDEwMzQ4NiwgMTAzNDkwLCAxMDM0OTQsIDEwMzQ5OCwgMTAzNTAyLCAxMDM1MDYsIDEwMzUxMCwgCi0gICAgMTAzNTE0LCAxMDM1MTgsIDEwMzUyMiwgMTAzNTI2LCAxMDM1MzAsIDEwMzUzNCwgMTAzNTM4LCAxMDM1NDIsIDEwMzU0NiwgCi0gICAgMTAzNTUwLCAxMDM1NTQsIDEwMzU1OCwgMTAzNTYyLCAxMDM1NjYsIDEwMzU3MCwgMTAzNTc0LCAxMDM1NzgsIDEwMzU4MiwgCi0gICAgMTAzNTg2LCAxMDM1OTAsIDEwMzU5NCwgMTAzNTk4LCAxMDM2MDIsIDEwMzYwNiwgMTAzNjEwLCAxMDM2MTQsIDEwMzYxOCwgCi0gICAgMTAzNjIyLCAxMDM2MjYsIDEwMzYzMCwgMTAzNjM0LCAxMDM2MzgsIDEwMzY0MiwgMTAzNjQ2LCAxMDM2NTAsIDEwMzY1NCwgCi0gICAgMTAzNjU4LCAxMDM2NjIsIDEwMzY2NiwgMTAzNjcwLCAxMDM2NzQsIDEwMzY3OCwgMTAzNjgyLCAxMDM2ODYsIDEwMzY5MCwgCi0gICAgMTAzNjk0LCAxMDM2OTgsIDEwMzcwMiwgMTAzNzA2LCAxMDM3MTAsIDEwMzcxNCwgMTAzNzE4LCAxMDM3MjIsIDEwMzcyNiwgCi0gICAgMTAzNzMwLCAxMDM3MzQsIDEwMzczOCwgMTAzNzQyLCAxMDM3NDYsIDEwMzc1MCwgMTAzNzU0LCAxMDM3NTgsIDEwMzc2MiwgCi0gICAgMTAzNzY2LCAxMDM3NzAsIDEwMzc3NCwgMTAzNzc4LCAxMDM3ODIsIDEwMzc4NiwgMTAzNzkwLCAxMDM3OTQsIDEwMzc5OCwgCi0gICAgMTAzODAyLCAxMDM4MDYsIDEwMzgxMCwgMTAzODE0LCAxMDM4MTgsIDEwMzgyMiwgMTAzODI2LCAxMDM4MzAsIDEwMzgzNCwgCi0gICAgMTAzODM4LCAxMDM4NDIsIDEwMzg0NiwgMTAzODUwLCAxMDM4NTQsIDEwMzg1OCwgMTAzODYyLCAxMDM4NjYsIDEwMzg3MCwgCi0gICAgMTAzODc0LCAxMDM4NzgsIDEwMzg4MiwgMTAzODg2LCAxMDM4OTAsIDEwMzg5NCwgMTAzODk4LCAxMDM5MDIsIDEwMzkwNiwgCi0gICAgMTAzOTEwLCAxMDM5MTQsIDEwMzkxOCwgMTAzOTIyLCAxMDM5MjYsIDEwMzkzMCwgMTAzOTM0LCAxMDM5MzgsIDEwMzk0MiwgCi0gICAgMTAzOTQ2LCAxMDM5NTAsIDEwMzk1NCwgMTAzOTU4LCAxMDM5NjIsIDEwMzk2NiwgMTAzOTcwLCAxMDM5NzQsIDEwMzk3OCwgCi0gICAgMTAzOTgyLCAxMDM5ODYsIDEwMzk5MCwgMTAzOTk0LCAxMDM5OTgsIDEwNDAwMiwgMTA0MDA2LCAxMDQwMTAsIDEwNDAxNCwgCi0gICAgMTA0MDE4LCAxMDQwMjIsIDEwNDAyNiwgMTA0MDMwLCAxMDQwMzQsIDEwNDAzOCwgMTA0MDQyLCAxMDQwNDYsIDEwNDA1MCwgCi0gICAgMTA0MDU0LCAxMDQwNTgsIDEwNDA2MiwgMTA0MDY2LCAxMDQwNzAsIDEwNDA3NCwgMTA0MDc4LCAxMDQwODIsIDEwNDA4NiwgCi0gICAgMTA0MDkwLCAxMDQwOTQsIDEwNDA5OCwgMTA0MTAyLCAxMDQxMDYsIDEwNDExMCwgMTA0MTE0LCAxMDQxMTgsIDEwNDEyMiwgCi0gICAgMTA0MTI2LCAxMDQxMzAsIDEwNDEzNCwgMTA0MTM4LCAxMDQxNDIsIDEwNDE0NiwgMTA0MTUwLCAxMDQxNTQsIDEwNDE1OCwgCi0gICAgMTA0MTYyLCAxMDQxNjYsIDEwNDE3MCwgMTA0MTc0LCAxMDQxNzgsIDEwNDE4MiwgMTA0MTg2LCAxMDQxOTAsIDEwNDE5NCwgCi0gICAgMTA0MTk4LCAxMDQyMDIsIDEwNDIwNiwgMTA0MjEwLCAxMDQyMTQsIDEwNDIxOCwgMTA0MjIyLCAxMDQyMjYsIDEwNDIzMCwgCi0gICAgMTA0MjM0LCAxMDQyMzgsIDEwNDI0MiwgMTA0MjQ2LCAxMDQyNTAsIDEwNDI1NCwgMTA0MjU4LCAxMDQyNjIsIDEwNDI2NiwgCi0gICAgMTA0MjcwLCAxMDQyNzQsIDEwNDI3OCwgMTA0MjgyLCAxMDQyODYsIDEwNDI5MCwgMTA0Mjk0LCAxMDQyOTgsIDEwNDMwMiwgCi0gICAgMTA0MzA2LCAxMDQzMTAsIDEwNDMxNCwgMTA0MzE4LCAxMDQzMjIsIDEwNDMyNiwgMTA0MzMwLCAxMDQzMzQsIDEwNDMzOCwgCi0gICAgMTA0MzQyLCAxMDQzNDYsIDEwNDM1MCwgMTA0MzU0LCAxMDQzNTgsIDEwNDM2MiwgMTA0MzY2LCAxMDQzNzAsIDEwNDM3NCwgCi0gICAgMTA0Mzc4LCAxMDQzODIsIDEwNDM4NiwgMTA0MzkwLCAxMDQzOTQsIDEwNDM5OCwgMTA0NDAyLCAxMDQ0MDYsIDEwNDQxMCwgCi0gICAgMTA0NDE0LCAxMDQ0MTgsIDEwNDQyMiwgMTA0NDI2LCAxMDQ0MzAsIDEwNDQzNCwgMTA0NDM4LCAxMDQ0NDIsIDEwNDQ0NiwgCi0gICAgMTA0NDUwLCAxMDQ0NTQsIDEwNDQ1OCwgMTA0NDYyLCAxMDQ0NjYsIDEwNDQ3MCwgMTA0NDc0LCAxMDQ0NzgsIDEwNDQ4MiwgCi0gICAgMTA0NDg2LCAxMDQ0OTAsIDEwNDQ5NCwgMTA0NDk4LCAxMDQ1MDIsIDEwNDUwNiwgMTA0NTEwLCAxMDQ1MTQsIDEwNDUxOCwgCi0gICAgMTA0NTIyLCAxMDQ1MjYsIDEwNDUzMCwgMTA0NTM0LCAxMDQ1MzgsIDEwNDU0MiwgMTA0NTQ2LCAxMDQ1NTAsIDEwNDU1NCwgCi0gICAgMTA0NTU4LCAxMDQ1NjIsIDEwNDU2NiwgMTA0NTcwLCAxMDQ1NzQsIDEwNDU3OCwgMTA0NTgyLCAxMDQ1ODYsIDEwNDU5MCwgCi0gICAgMTA0NTk0LCAxMDQ1OTgsIDEwNDYwMiwgMTA0NjA2LCAxMDQ2MTAsIDEwNDYxNCwgMTA0NjE4LCAxMDQ2MjIsIDEwNDYyNiwgCi0gICAgMTA0NjMwLCAxMDQ2MzQsIDEwNDYzOCwgMTA0NjQyLCAxMDQ2NDYsIDEwNDY1MCwgMTA0NjU0LCAxMDQ2NTgsIDEwNDY2MiwgCi0gICAgMTA0NjY2LCAxMDQ2NzAsIDEwNDY3NCwgMTA0Njc4LCAxMDQ2ODIsIDEwNDY4NiwgMTA0NjkwLCAxMDQ2OTQsIDEwNDY5OCwgCi0gICAgMTA0NzAyLCAxMDQ3MDYsIDEwNDcxMCwgMTA0NzE0LCAxMDQ3MTgsIDEwNDcyMiwgMTA0NzI2LCAxMDQ3MzAsIDEwNDczNCwgCi0gICAgMTA0NzM4LCAxMDQ3NDIsIDEwNDc0NiwgMTA0NzUwLCAxMDQ3NTQsIDEwNDc1OCwgMTA0NzYyLCAxMDQ3NjYsIDEwNDc3MCwgCi0gICAgMTA0Nzc0LCAxMDQ3NzgsIDEwNDc4MiwgMTA0Nzg2LCAxMDQ3OTAsIDEwNDc5NCwgMTA0Nzk4LCAxMDQ4MDIsIDEwNDgwNiwgCi0gICAgMTA0ODEwLCAxMDQ4MTQsIDEwNDgxOCwgMTA0ODIyLCAxMDQ4MjYsIDEwNDgzMCwgMTA0ODM0LCAxMDQ4MzgsIDEwNDg0MiwgCi0gICAgMTA0ODQ2LCAxMDQ4NTAsIDEwNDg1NCwgMTA0ODU4LCAxMDQ4NjIsIDEwNDg2NiwgMTA0ODcwLCAxMDQ4NzQsIDEwNDg3OCwgCi0gICAgMTA0ODgyLCAxMDQ4ODYsIDEwNDg5MCwgMTA0ODk0LCAxMDQ4OTgsIDEwNDkwMiwgMTA0OTA2LCAxMDQ5MTAsIDEwNDkxNCwgCi0gICAgMTA0OTE4LCAxMDQ5MjIsIDEwNDkyNiwgMTA0OTMwLCAxMDQ5MzQsIDEwNDkzOCwgMTA0OTQyLCAxMDQ5NDYsIDEwNDk1MCwgCi0gICAgMTA0OTU0LCAxMDQ5NTgsIDEwNDk2MiwgMTA0OTY2LCAxMDQ5NzAsIDEwNDk3NCwgMTA0OTc4LCAxMDQ5ODIsIDEwNDk4NiwgCi0gICAgMTA0OTkwLCAxMDQ5OTQsIDEwNDk5OCwgMTA1MDAyLCAxMDUwMDYsIDEwNTAxMCwgMTA1MDE0LCAxMDUwMTgsIDEwNTAyMiwgCi0gICAgMTA1MDI2LCAxMDUwMzAsIDEwNTAzNCwgMTA1MDM4LCAxMDUwNDIsIDEwNTA0NiwgMTA1MDUwLCAxMDUwNTQsIDEwNTA1OCwgCi0gICAgMTA1MDYyLCAxMDUwNjYsIDEwNTA3MCwgMTA1MDc0LCAxMDUwNzgsIDEwNTA4MiwgMTA1MDg2LCAxMDUwOTAsIDEwNTA5NCwgCi0gICAgMTA1MDk4LCAxMDUxMDIsIDEwNTEwNiwgMTA1MTEwLCAxMDUxMTQsIDEwNTExOCwgMTA1MTIyLCAxMDUxMjYsIDEwNTEzMCwgCi0gICAgMTA1MTM0LCAxMDUxMzgsIDEwNTE0MiwgMTA1MTQ2LCAxMDUxNTAsIDEwNTE1NCwgMTA1MTU4LCAxMDUxNjIsIDEwNTE2NiwgCi0gICAgMTA1MTcwLCAxMDUxNzQsIDEwNTE3OCwgMTA1MTgyLCAxMDUxODYsIDEwNTE5MCwgMTA1MTk0LCAxMDUxOTgsIDEwNTIwMiwgCi0gICAgMTA1MjA2LCAxMDUyMTAsIDEwNTIxNCwgMTA1MjE4LCAxMDUyMjIsIDEwNTIyNiwgMTA1MjMwLCAxMDUyMzQsIDEwNTIzOCwgCi0gICAgMTA1MjQyLCAxMDUyNDYsIDEwNTI1MCwgMTA1MjU0LCAxMDUyNTgsIDEwNTI2MiwgMTA1MjY2LCAxMDUyNzAsIDEwNTI3NCwgCi0gICAgMTA1Mjc4LCAxMDUyODIsIDEwNTI4NiwgMTA1MjkwLCAxMDUyOTQsIDEwNTI5OCwgMTA1MzAyLCAxMDUzMDYsIDEwNTMxMCwgCi0gICAgMTA1MzE0LCAxMDUzMTgsIDEwNTMyMiwgMTA1MzI2LCAxMDUzMzAsIDEwNTMzNCwgMTA1MzM4LCAxMDUzNDIsIDEwNTM0NiwgCi0gICAgMTA1MzUwLCAxMDUzNTQsIDEwNTM1OCwgMTA1MzYyLCAxMDUzNjYsIDEwNTM3MCwgMTA1Mzc0LCAxMDUzNzgsIDEwNTM4MiwgCi0gICAgMTA1Mzg2LCAxMDUzOTAsIDEwNTM5NCwgMTA1Mzk4LCAxMDU0MDIsIDEwNTQwNiwgMTA1NDEwLCAxMDU0MTQsIDEwNTQxOCwgCi0gICAgMTA1NDIyLCAxMDU0MjYsIDEwNTQzMCwgMTA1NDM0LCAxMDU0MzgsIDEwNTQ0MiwgMTA1NDQ2LCAxMDU0NTAsIDEwNTQ1NCwgCi0gICAgMTA1NDU4LCAxMDU0NjIsIDEwNTQ2NiwgMTA1NDcwLCAxMDU0NzQsIDEwNTQ3OCwgMTA1NDgyLCAxMDU0ODYsIDEwNTQ5MCwgCi0gICAgMTA1NDk0LCAxMDU0OTgsIDEwNTUwMiwgMTA1NTA2LCAxMDU1MTAsIDEwNTUxNCwgMTA1NTE4LCAxMDU1MjIsIDEwNTUyNiwgCi0gICAgMTA1NTMwLCAxMDU1MzQsIDEwNTUzOCwgMTA1NTQyLCAxMDU1NDYsIDEwNTU1MCwgMTA1NTU0LCAxMDU1NTgsIDEwNTU2MiwgCi0gICAgMTA1NTY2LCAxMDU1NzAsIDEwNTU3NCwgMTA1NTc4LCAxMDU1ODIsIDEwNTU4NiwgMTA1NTkwLCAxMDU1OTQsIDEwNTU5OCwgCi0gICAgMTA1NjAyLCAxMDU2MDYsIDEwNTYxMCwgMTA1NjE0LCAxMDU2MTgsIDEwNTYyMiwgMTA1NjI2LCAxMDU2MzAsIDEwNTYzNCwgCi0gICAgMTA1NjM4LCAxMDU2NDIsIDEwNTY0NiwgMTA1NjUwLCAxMDU2NTQsIDEwNTY1OCwgMTA1NjYyLCAxMDU2NjYsIDEwNTY3MCwgCi0gICAgMTA1Njc0LCAxMDU2NzgsIDEwNTY4MiwgMTA1Njg2LCAxMDU2OTAsIDEwNTY5NCwgMTA1Njk4LCAxMDU3MDIsIDEwNTcwNiwgCi0gICAgMTA1NzEwLCAxMDU3MTQsIDEwNTcxOCwgMTA1NzIyLCAxMDU3MjYsIDEwNTczMCwgMTA1NzM0LCAxMDU3MzgsIDEwNTc0MiwgCi0gICAgMTA1NzQ2LCAxMDU3NTAsIDEwNTc1NCwgMTA1NzU4LCAxMDU3NjIsIDEwNTc2NiwgMTA1NzcwLCAxMDU3NzQsIDEwNTc3OCwgCi0gICAgMTA1NzgyLCAxMDU3ODYsIDEwNTc5MCwgMTA1Nzk0LCAxMDU3OTgsIDEwNTgwMiwgMTA1ODA2LCAxMDU4MTAsIDEwNTgxNCwgCi0gICAgMTA1ODE4LCAxMDU4MjIsIDEwNTgyNiwgMTA1ODMwLCAxMDU4MzQsIDEwNTgzOCwgMTA1ODQyLCAxMDU4NDYsIDEwNTg1MCwgCi0gICAgMTA1ODU0LCAxMDU4NTgsIDEwNTg2MiwgMTA1ODY2LCAxMDU4NzAsIDEwNTg3NCwgMTA1ODc4LCAxMDU4ODIsIDEwNTg4NiwgCi0gICAgMTA1ODkwLCAxMDU4OTQsIDEwNTg5OCwgMTA1OTAyLCAxMDU5MDYsIDEwNTkxMCwgMTA1OTE0LCAxMDU5MTgsIDEwNTkyMiwgCi0gICAgMTA1OTI2LCAxMDU5MzAsIDEwNTkzNCwgMTA1OTM4LCAxMDU5NDIsIDEwNTk0NiwgMTA1OTUwLCAxMDU5NTQsIDEwNTk1OCwgCi0gICAgMTA1OTYyLCAxMDU5NjYsIDEwNTk3MCwgMTA1OTc0LCAxMDU5NzgsIDEwNTk4MiwgMTA1OTg2LCAxMDU5OTAsIDEwNTk5NCwgCi0gICAgMTA1OTk4LCAxMDYwMDIsIDEwNjAwNiwgMTA2MDEwLCAxMDYwMTQsIDEwNjAxOCwgMTA2MDIyLCAxMDYwMjYsIDEwNjAzMCwgCi0gICAgMTA2MDM0LCAxMDYwMzgsIDEwNjA0MiwgMTA2MDQ2LCAxMDYwNTAsIDEwNjA1NCwgMTA2MDU4LCAxMDYwNjIsIDEwNjA2NiwgCi0gICAgMTA2MDcwLCAxMDYwNzQsIDEwNjA3OCwgMTA2MDgyLCAxMDYwODYsIDEwNjA5MCwgMTA2MDk0LCAxMDYwOTgsIDEwNjEwMiwgCi0gICAgMTA2MTA2LCAxMDYxMTAsIDEwNjExNCwgMTA2MTE4LCAxMDYxMjIsIDEwNjEyNiwgMTA2MTMwLCAxMDYxMzQsIDEwNjEzOCwgCi0gICAgMTA2MTQyLCAxMDYxNDYsIDEwNjE1MCwgMTA2MTU0LCAxMDYxNTgsIDEwNjE2MiwgMTA2MTY2LCAxMDYxNzAsIDEwNjE3NCwgCi0gICAgMTA2MTc4LCAxMDYxODIsIDEwNjE4NiwgMTA2MTkwLCAxMDYxOTQsIDEwNjE5OCwgMTA2MjAyLCAxMDYyMDYsIDEwNjIxMCwgCi0gICAgMTA2MjE0LCAxMDYyMTgsIDEwNjIyMiwgMTA2MjI2LCAxMDYyMzAsIDEwNjIzNCwgMTA2MjM4LCAxMDYyNDIsIDEwNjI0NiwgCi0gICAgMTA2MjUwLCAxMDYyNTQsIDEwNjI1OCwgMTA2MjYyLCAxMDYyNjYsIDEwNjI3MCwgMTA2Mjc0LCAxMDYyNzgsIDEwNjI4MiwgCi0gICAgMTA2Mjg2LCAxMDYyOTAsIDEwNjI5NCwgMTA2Mjk4LCAxMDYzMDIsIDEwNjMwNiwgMTA2MzEwLCAxMDYzMTQsIDEwNjMxOCwgCi0gICAgMTA2MzIyLCAxMDYzMjYsIDEwNjMzMCwgMTA2MzM0LCAxMDYzMzgsIDEwNjM0MiwgMTA2MzQ2LCAxMDYzNTAsIDEwNjM1NCwgCi0gICAgMTA2MzU4LCAxMDYzNjIsIDEwNjM2NiwgMTA2MzcwLCAxMDYzNzQsIDEwNjM3OCwgMTA2MzgyLCAxMDYzODYsIDEwNjM5MCwgCi0gICAgMTA2Mzk0LCAxMDYzOTgsIDEwNjQwMiwgMTA2NDA2LCAxMDY0MTAsIDEwNjQxNCwgMTA2NDE4LCAxMDY0MjIsIDEwNjQyNiwgCi0gICAgMTA2NDMwLCAxMDY0MzQsIDEwNjQzOCwgMTA2NDQyLCAxMDY0NDYsIDEwNjQ1MCwgMTA2NDU0LCAxMDY0NTgsIDEwNjQ2MiwgCi0gICAgMTA2NDY2LCAxMDY0NzAsIDEwNjQ3NCwgMTA2NDc4LCAxMDY0ODIsIDEwNjQ4NiwgMTA2NDkwLCAxMDY0OTQsIDEwNjQ5OCwgCi0gICAgMTA2NTAyLCAxMDY1MDYsIDEwNjUxMCwgMTA2NTE0LCAxMDY1MTgsIDEwNjUyMiwgMTA2NTI2LCAxMDY1MzAsIDEwNjUzNCwgCi0gICAgMTA2NTM4LCAxMDY1NDIsIDEwNjU0NiwgMTA2NTUwLCAxMDY1NTQsIDEwNjU1OCwgMTA2NTYyLCAxMDY1NjYsIDEwNjU3MCwgCi0gICAgMTA2NTc0LCAxMDY1NzgsIDEwNjU4MiwgMTA2NTg2LCAxMDY1OTAsIDEwNjU5NCwgMTA2NTk4LCAxMDY2MDIsIDEwNjYwNiwgCi0gICAgMTA2NjEwLCAxMDY2MTQsIDEwNjYxOCwgMTA2NjIyLCAxMDY2MjYsIDEwNjYzMCwgMTA2NjM0LCAxMDY2MzgsIDEwNjY0MiwgCi0gICAgMTA2NjQ2LCAxMDY2NTAsIDEwNjY1NCwgMTA2NjU4LCAxMDY2NjIsIDEwNjY2NiwgMTA2NjcwLCAxMDY2NzQsIDEwNjY3OCwgCi0gICAgMTA2NjgyLCAxMDY2ODYsIDEwNjY5MCwgMTA2Njk0LCAxMDY2OTgsIDEwNjcwMiwgMTA2NzA2LCAxMDY3MTAsIDEwNjcxNCwgCi0gICAgMTA2NzE4LCAxMDY3MjIsIDEwNjcyNiwgMTA2NzMwLCAxMDY3MzQsIDEwNjczOCwgMTA2NzQyLCAxMDY3NDYsIDEwNjc1MCwgCi0gICAgMTA2NzU0LCAxMDY3NTgsIDEwNjc2MiwgMTA2NzY2LCAxMDY3NzAsIDEwNjc3NCwgMTA2Nzc4LCAxMDY3ODIsIDEwNjc4NiwgCi0gICAgMTA2NzkwLCAxMDY3OTQsIDEwNjc5OCwgMTA2ODAyLCAxMDY4MDYsIDEwNjgxMCwgMTA2ODE0LCAxMDY4MTgsIDEwNjgyMiwgCi0gICAgMTA2ODI2LCAxMDY4MzAsIDEwNjgzNCwgMTA2ODM4LCAxMDY4NDIsIDEwNjg0NiwgMTA2ODUwLCAxMDY4NTQsIDEwNjg1OCwgCi0gICAgMTA2ODYyLCAxMDY4NjYsIDEwNjg3MCwgMTA2ODc0LCAxMDY4NzgsIDEwNjg4MiwgMTA2ODg2LCAxMDY4OTAsIDEwNjg5NCwgCi0gICAgMTA2ODk4LCAxMDY5MDIsIDEwNjkwNiwgMTA2OTEwLCAxMDY5MTQsIDEwNjkxOCwgMTA2OTIyLCAxMDY5MjYsIDEwNjkzMCwgCi0gICAgMTA2OTM0LCAxMDY5MzgsIDEwNjk0MiwgMTA2OTQ2LCAxMDY5NTAsIDEwNjk1NCwgMTA2OTU4LCAxMDY5NjIsIDEwNjk2NiwgCi0gICAgMTA2OTcwLCAxMDY5NzQsIDEwNjk3OCwgMTA2OTgyLCAxMDY5ODYsIDEwNjk5MCwgMTA2OTk0LCAxMDY5OTgsIDEwNzAwMiwgCi0gICAgMTA3MDA2LCAxMDcwMTAsIDEwNzAxNCwgMTA3MDE4LCAxMDcwMjIsIDEwNzAyNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMTA3MDMwLCAxMDcwMzcsIDEwNzA0NCwgMTA3MDUzLCAxMDcwNjIsIDEwNzA2OSwgMTA3MDc0LCAxMDcwODEsIAotICAgIDEwNzA4OCwgMTA3MDk3LCAxMDcxMDgsIDEwNzExOSwgMTA3MTI0LCAxMDcxMzEsIDEwNzEzNiwgMTA3MTQxLCAxMDcxNDYsIAotICAgIDEwNzE1MSwgMTA3MTU2LCAxMDcxNjEsIDEwNzE2NiwgMTA3MTcxLCAxMDcxNzYsIDEwNzE4MSwgMTA3MTg2LCAxMDcxOTMsIAotICAgIDEwNzIwMCwgMTA3MjA1LCAxMDcyMTAsIDEwNzIxNSwgMTA3MjIwLCAxMDcyMjcsIDEwNzIzNCwgMTA3MjQyLCAxMDcyNDcsIAotICAgIDEwNzI1NCwgMTA3MjU5LCAxMDcyNjQsIDEwNzI2OSwgMTA3Mjc0LCAxMDcyNzksIDEwNzI4NiwgMTA3MjkzLCAxMDcyOTgsIAotICAgIDEwNzMwMywgMTA3MzA4LCAxMDczMTMsIDEwNzMxOCwgMTA3MzIzLCAxMDczMjgsIDEwNzMzMywgMTA3MzM4LCAxMDczNDMsIAotICAgIDEwNzM0OCwgMTA3MzUzLCAxMDczNTgsIDEwNzM2MywgMTA3MzY4LCAxMDczNzMsIDEwNzM3OCwgMTA3MzgzLCAxMDczODgsIAotICAgIDEwNzM5NSwgMTA3NDAwLCAxMDc0MDUsIDEwNzQxNCwgMTA3NDIxLCAxMDc0MjYsIDEwNzQzMSwgMTA3NDM2LCAxMDc0NDEsIAotICAgIDEwNzQ0NiwgMTA3NDUxLCAxMDc0NTYsIDEwNzQ2MSwgMTA3NDY2LCAxMDc0NzEsIDEwNzQ3NiwgMTA3NDgxLCAxMDc0ODYsIAotICAgIDEwNzQ5MSwgMTA3NDk2LCAxMDc1MDEsIDEwNzUwNiwgMTA3NTExLCAxMDc1MTYsIDEwNzUyMSwgMTA3NTI2LCAxMDc1MzIsIAotICAgIDEwNzU0MCwgMTA3NTQ2LCAxMDc1NTQsIDEwNzU2MiwgMTA3NTcwLCAxMDc1NzYsIDEwNzU4MiwgMTA3NTg4LCAxMDc1OTQsIAotICAgIDEwNzYwMCwgMTA3NjA4LCAxMDc2MTgsIDEwNzYyNiwgMTA3NjM0LCAxMDc2NDAsIDEwNzY0NiwgMTA3NjU0LCAxMDc2NjIsIAotICAgIDEwNzY2OCwgMTA3Njc2LCAxMDc2ODQsIDEwNzY5MiwgMTA3Njk4LCAxMDc3MDQsIDEwNzcxMCwgMTA3NzE2LCAxMDc3MjIsIAotICAgIDEwNzcyOCwgMTA3NzM2LCAxMDc3NDQsIDEwNzc1MCwgMTA3NzU2LCAxMDc3NjIsIDEwNzc2OCwgMTA3Nzc0LCAxMDc3ODIsIAotICAgIDEwNzc4OCwgMTA3Nzk0LCAxMDc4MDAsIDEwNzgwNiwgMTA3ODEyLCAxMDc4MTgsIDEwNzgyNiwgMTA3ODMyLCAxMDc4MzgsIAotICAgIDEwNzg0NCwgMTA3ODUwLCAxMDc4NTgsIDEwNzg2NiwgMTA3ODcyLCAxMDc4NzgsIDEwNzg4NCwgMTA3ODg5LCAxMDc4OTUsIAotICAgIDEwNzkwMSwgMTA3OTA4LCAxMDc5MTMsIDEwNzkxOCwgMTA3OTIzLCAxMDc5MjgsIDEwNzkzMywgMTA3OTM4LCAxMDc5NDMsIAotICAgIDEwNzk0OCwgMTA3OTUzLCAxMDc5NjIsIDEwNzk2OSwgMTA3OTc0LCAxMDc5NzksIDEwNzk4NCwgMTA3OTkxLCAxMDc5OTYsIAotICAgIDEwODAwMSwgMTA4MDA2LCAxMDgwMTMsIDEwODAxOCwgMTA4MDIzLCAxMDgwMjgsIDEwODAzMywgMTA4MDM4LCAxMDgwNDMsIAotICAgIDEwODA0OCwgMTA4MDUzLCAxMDgwNTgsIDEwODA2MywgMTA4MDY4LCAxMDgwNzUsIDEwODA4MCwgMTA4MDg3LCAxMDgwOTIsIAotICAgIDEwODA5NywgMTA4MTA0LCAxMDgxMDksIDEwODExNCwgMTA4MTE5LCAxMDgxMjQsIDEwODEyOSwgMTA4MTM0LCAxMDgxMzksIAotICAgIDEwODE0NCwgMTA4MTQ5LCAxMDgxNTQsIDEwODE1OSwgMTA4MTY0LCAxMDgxNjksIDEwODE3NCwgMTA4MTc5LCAxMDgxODQsIAotICAgIDEwODE4OSwgMTA4MTk0LCAxMDgxOTksIDEwODIwNiwgMTA4MjExLCAxMDgyMTYsIDEwODIyMSwgMTA4MjI2LCAxMDgyMzEsIAotICAgIDEwODIzNiwgMTA4MjQxLCAxMDgyNDYsIDEwODI1MSwgMTA4MjU2LCAxMDgyNjEsIDEwODI2NiwgMTA4MjcxLCAxMDgyNzgsIAotICAgIDEwODI4MywgMTA4Mjg4LCAxMDgyOTUsIDEwODMwMCwgMTA4MzA1LCAxMDgzMTAsIDEwODMxNSwgMTA4MzIwLCAxMDgzMjUsIAotICAgIDEwODMzMCwgMTA4MzM1LCAxMDgzNDAsIDEwODM0NSwgMTA4MzUyLCAxMDgzNTcsIDEwODM2MiwgMTA4MzY3LCAxMDgzNzIsIAotICAgIDEwODM3NywgMTA4Mzg0LCAxMDgzOTEsIDEwODM5NiwgMTA4NDAxLCAxMDg0MDYsIDEwODQxMSwgMTA4NDE2LCAxMDg0MjEsIAotICAgIDEwODQyNiwgMTA4NDMxLCAxMDg0MzYsIDEwODQ0MSwgMTA4NDQ2LCAxMDg0NTEsIDEwODQ1NiwgMTA4NDYxLCAxMDg0NjYsIAotICAgIDEwODQ3MSwgMTA4NDc2LCAxMDg0ODEsIDEwODQ4NiwgMTA4NDkxLCAxMDg0OTYsIDEwODUwMSwgMTA4NTA2LCAxMDg1MTEsIAotICAgIDEwODUxNiwgMTA4NTIxLCAxMDg1MjYsIDEwODUzMSwgMTA4NTM2LCAxMDg1NDEsIDEwODU0NiwgMTA4NTUxLCAxMDg1NTYsIAotICAgIDEwODU2MSwgMTA4NTY2LCAxMDg1NzEsIDEwODU3OCwgMTA4NTgzLCAxMDg1ODgsIDEwODU5MywgMTA4NTk4LCAxMDg2MDMsIAotICAgIDEwODYwOCwgMTA4NjEzLCAxMDg2MTgsIDEwODYyMywgMTA4NjI4LCAxMDg2MzMsIDEwODYzOCwgMTA4NjQzLCAxMDg2NDgsIAotICAgIDEwODY1MywgMTA4NjU4LCAxMDg2NjMsIDEwODY2OCwgMTA4NjczLCAxMDg2NzgsIDEwODY4MywgMTA4Njg4LCAxMDg2OTMsIAotICAgIDEwODY5OCwgMTA4NzAzLCAxMDg3MDgsIDEwODcxMywgMTA4NzE4LCAxMDg3MjMsIDEwODcyOCwgMTA4NzMzLCAxMDg3MzgsIAotICAgIDEwODc0MywgMTA4NzQ4LCAxMDg3NTMsIDEwODc1OCwgMTA4NzYzLCAxMDg3NjgsIDEwODc3MywgMTA4Nzc4LCAxMDg3ODMsIAotICAgIDEwODc4OCwgMTA4NzkzLCAxMDg3OTgsIDEwODgwMywgMTA4ODA4LCAxMDg4MTMsIDEwODgxOCwgMTA4ODIzLCAxMDg4MjgsIAotICAgIDEwODgzMywgMTA4ODM4LCAxMDg4NDMsIDEwODg0OCwgMTA4ODUzLCAxMDg4NTgsIDEwODg2MywgMTA4ODY4LCAxMDg4NzUsIAotICAgIDEwODg4MCwgMTA4ODg1LCAxMDg4OTAsIDEwODg5NSwgMTA4OTAwLCAxMDg5MDUsIDEwODkwOSwgMTA4OTE0LCAxMDg5MTksIAotICAgIDEwODkyNCwgMTA4OTI5LCAxMDg5MzQsIDEwODkzOSwgMTA4OTQ0LCAxMDg5NDksIDEwODk1NCwgMTA4OTU5LCAxMDg5NjQsIAotICAgIDEwODk2OSwgMTA4OTc0LCAxMDg5NzksIDEwODk4NiwgMTA4OTkxLCAxMDg5OTYsIDEwOTAwMiwgMTA5MDA3LCAxMDkwMTIsIAotICAgIDEwOTAxNywgMTA5MDIyLCAxMDkwMjcsIDEwOTAzMiwgMTA5MDM3LCAxMDkwNDIsIDEwOTA0NywgMTA5MDUyLCAxMDkwNTcsIAotICAgIDEwOTA2MiwgMTA5MDY3LCAxMDkwNzIsIDEwOTA3NywgMTA5MDgyLCAxMDkwODcsIDEwOTA5MiwgMTA5MDk3LCAxMDkxMDIsIAotICAgIDEwOTEwNywgMTA5MTEyLCAxMDkxMTcsIDEwOTEyMiwgMTA5MTI3LCAxMDkxMzIsIDEwOTEzNywgMTA5MTQyLCAxMDkxNDcsIAotICAgIDEwOTE1MiwgMTA5MTU3LCAxMDkxNjIsIDEwOTE2NywgMTA5MTcyLCAxMDkxNzcsIDEwOTE4MiwgMTA5MTg3LCAxMDkxOTIsIAotICAgIDEwOTE5NywgMTA5MjAyLCAxMDkyMDcsIDEwOTIxMiwgMTA5MjE3LCAxMDkyMjQsIDEwOTIyOSwgMTA5MjM0LCAxMDkyNDEsIAotICAgIDEwOTI0OCwgMTA5MjUzLCAxMDkyNTgsIDEwOTI2MywgMTA5MjY4LCAxMDkyNzMsIDEwOTI3OCwgMTA5MjgzLCAxMDkyODgsIAotICAgIDEwOTI5MywgMTA5Mjk4LCAxMDkzMDMsIDEwOTMwOCwgMTA5MzEzLCAxMDkzMTgsIDEwOTMyMywgMTA5MzI4LCAxMDkzMzMsIAotICAgIDEwOTMzOCwgMTA5MzQzLCAxMDkzNDgsIDEwOTM1MywgMTA5MzU4LCAxMDkzNjMsIDEwOTM2OCwgMTA5MzczLCAxMDkzODAsIAotICAgIDEwOTM4NSwgMTA5MzkwLCAxMDkzOTUsIDEwOTQwMCwgMTA5NDA1LCAxMDk0MTAsIDEwOTQxNSwgMTA5NDIwLCAxMDk0MjUsIAotICAgIDEwOTQzMCwgMTA5NDM1LCAxMDk0NDAsIDEwOTQ0NSwgMTA5NDUwLCAxMDk0NTUsIDEwOTQ2MCwgMTA5NDY1LCAxMDk0NzAsIAotICAgIDEwOTQ3NywgMTA5NDgyLCAxMDk0ODcsIDEwOTQ5MiwgMTA5NDk3LCAxMDk1MDIsIDEwOTUwNywgMTA5NTEyLCAxMDk1MTgsIAotICAgIDEwOTUyMywgMTA5NTI4LCAxMDk1MzMsIDEwOTUzOCwgMTA5NTQzLCAxMDk1NDgsIDEwOTU1MywgMTA5NTU4LCAxMDk1NjUsIAotICAgIDEwOTU3MiwgMTA5NTc3LCAxMDk1ODIsIDEwOTU4NiwgMTA5NTkxLCAxMDk1OTUsIDEwOTU5OSwgMTA5NjA0LCAxMDk2MTEsIAotICAgIDEwOTYxNiwgMTA5NjIxLCAxMDk2MzAsIDEwOTYzNSwgMTA5NjQwLCAxMDk2NDUsIDEwOTY1MCwgMTA5NjU3LCAxMDk2NjQsIAotICAgIDEwOTY2OSwgMTA5Njc0LCAxMDk2NzksIDEwOTY4NCwgMTA5NjkxLCAxMDk2OTYsIDEwOTcwMSwgMTA5NzA2LCAxMDk3MTEsIAotICAgIDEwOTcxNiwgMTA5NzIxLCAxMDk3MjYsIDEwOTczMSwgMTA5NzM2LCAxMDk3NDEsIDEwOTc0NiwgMTA5NzUxLCAxMDk3NTgsIAotICAgIDEwOTc2MiwgMTA5NzY3LCAxMDk3NzIsIDEwOTc3NywgMTA5NzgyLCAxMDk3ODYsIDEwOTc5MSwgMTA5Nzk2LCAxMDk4MDEsIAotICAgIDEwOTgwNiwgMTA5ODExLCAxMDk4MTYsIDEwOTgyMSwgMTA5ODI2LCAxMDk4MzEsIDEwOTgzNywgMTA5ODQzLCAxMDk4NDksIAotICAgIDEwOTg1NSwgMTA5ODYxLCAxMDk4NjcsIDEwOTg3MywgMTA5ODc5LCAxMDk4ODUsIDEwOTg5MSwgMTA5ODk3LCAxMDk5MDMsIAotICAgIDEwOTkwOCwgMTA5OTE0LCAxMDk5MjAsIDEwOTkyNiwgMTA5OTMyLCAxMDk5MzgsIDEwOTk0NCwgMTA5OTUwLCAxMDk5NTYsIAotICAgIDEwOTk2MiwgMTA5OTY4LCAxMDk5NzQsIDEwOTk3OSwgMTA5OTg1LCAxMDk5OTEsIDEwOTk5NywgMTEwMDAzLCAxMTAwMDksIAotICAgIDExMDAxNSwgMTEwMDIxLCAxMTAwMjcsIDExMDAzMywgMTEwMDM5LCAxMTAwNDUsIDExMDA1MSwgMTEwMDU3LCAxMTAwNjMsIAotICAgIDExMDA2OSwgMTEwMDc1LCAxMTAwODEsIDExMDA4NywgMTEwMDkzLCAxMTAwOTksIDExMDEwNCwgMTEwMTEwLCAxMTAxMTYsIAotICAgIDExMDEyMiwgMTEwMTI4LCAxMTAxMzQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDExMDE0MCwgMTEwMTQzLCAxMTAxNDcsIDExMDE1MSwgMTEwMTU1LCAxMTAxNTgsIAotICAgIDExMDE2MiwgMTEwMTY3LCAxMTAxNzEsIDExMDE3NSwgMTEwMTc5LCAxMTAxODMsIDExMDE4NywgMTEwMTkyLCAxMTAxOTcsIAotICAgIDExMDIwMSwgMTEwMjA1LCAxMTAyMDgsIDExMDIxMiwgMTEwMjE3LCAxMTAyMjIsIDExMDIyNiwgMTEwMjMwLCAxMTAyMzQsIAotICAgIDExMDIzOCwgMTEwMjQyLCAxMTAyNDYsIDExMDI1MCwgMTEwMjU0LCAxMTAyNTgsIDExMDI2MiwgMTEwMjY1LCAxMTAyNjksIAotICAgIDExMDI3MywgMTEwMjc3LCAxMTAyODEsIDExMDI4NSwgMTEwMjg5LCAxMTAyOTUsIDExMDI5OCwgMTEwMzAyLCAxMTAzMDYsIAotICAgIDExMDMxMCwgMTEwMzE0LCAxMTAzMTgsIDExMDMyMiwgMTEwMzI2LCAxMTAzMzAsIDExMDMzNCwgMTEwMzM5LCAxMTAzNDQsIAotICAgIDExMDM1MCwgMTEwMzU0LCAxMTAzNTgsIDExMDM2MiwgMTEwMzY2LCAxMTAzNzAsIDExMDM3NCwgMTEwMzc5LCAxMTAzODIsIAotICAgIDExMDM4NiwgMTEwMzkwLCAxMTAzOTQsIDExMDM5OCwgMTEwNDA0LCAxMTA0MDgsIDExMDQxMiwgMTEwNDE2LCAxMTA0MjAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDExMDQyNCwgMTEwNDI4LCAxMTA0MzIsIDExMDQzOCwgMTEwNDQ0LCAKLSAgICAxMTA0NDgsIDExMDQ1MywgMTEwNDU4LCAxMTA0NjMsIDExMDQ2OCwgMTEwNDcyLCAxMTA0NzcsIDExMDQ4MiwgMTEwNDg3LCAKLSAgICAxMTA0OTEsIDExMDQ5NiwgMTEwNTAxLCAxMTA1MDYsIDExMDUxMCwgMTEwNTE1LCAxMTA1MjAsIDExMDUyNSwgMTEwNTMwLCAKLSAgICAxMTA1MzUsIDExMDU0MCwgMTEwNTQ1LCAxMTA1NTAsIDExMDU1NCwgMTEwNTU5LCAxMTA1NjQsIDExMDU2OSwgMTEwNTc0LCAKLSAgICAxMTA1NzksIDExMDU4NCwgMTEwNTg5LCAxMTA1OTQsIDExMDU5OSwgMTEwNjA0LCAxMTA2MDksIDExMDYxNiwgMTEwNjIxLCAKLSAgICAxMTA2MjgsIDExMDYzMywgMTEwNjM4LCAxMTA2NDMsIDExMDY0OCwgMTEwNjUzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMTA2NTgsIDExMDY2MiwgMTEwNjY4LCAxMTA2NzEsIDExMDY3NCwgMTEwNjc4LCAKLSAgICAxMTA2ODIsIDExMDY4NiwgMTEwNjkwLCAxMTA2OTQsIDExMDY5OCwgMTEwNzAyLCAxMTA3MDgsIDExMDcxNCwgMTEwNzIwLCAKLSAgICAxMTA3MjYsIDExMDczMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMTEwNzM4LCAxMTA3NDMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDExMDc0OSwgMTEwNzU0LCAxMTA3NTksIAotICAgIDExMDc2NCwgMTEwNzcxLCAxMTA3NzgsIDExMDc4NSwgMTEwNzkyLCAxMTA3OTcsIDExMDgwMiwgMTEwODA3LCAxMTA4MTIsIAotICAgIDExMDgxOSwgMTEwODI0LCAxMTA4MzEsIDExMDgzOCwgMTEwODQzLCAxMTA4NDgsIDExMDg1MywgMTEwODYwLCAxMTA4NjUsIAotICAgIDExMDg3MCwgMTEwODc3LCAxMTA4ODQsIDExMDg4OSwgMTEwODk0LCAxMTA4OTksIDExMDkwNiwgMTEwOTEzLCAxMTA5MjAsIAotICAgIDExMDkyNSwgMTEwOTMwLCAxMTA5MzcsIDExMDk0NCwgMTEwOTUxLCAxMTA5NTgsIDExMDk2MywgMTEwOTY4LCAxMTA5NzMsIAotICAgIDExMDk4MCwgMTEwOTg1LCAxMTA5OTAsIDExMDk5NSwgMTExMDAyLCAxMTEwMTEsIDExMTAxOCwgMTExMDIzLCAxMTEwMjgsIAotICAgIDExMTAzMywgMTExMDM4LCAxMTEwNDMsIDExMTA0OCwgMTExMDU3LCAxMTEwNjQsIDExMTA2OSwgMTExMDc2LCAxMTEwODMsIAotICAgIDExMTA4OCwgMTExMDkzLCAxMTEwOTgsIDExMTEwNSwgMTExMTEwLCAxMTExMTcsIDExMTEyNCwgMTExMTI5LCAxMTExMzQsIAotICAgIDExMTEzOSwgMTExMTQ2LCAxMTExNTMsIDExMTE1OCwgMTExMTYzLCAxMTExNzAsIDExMTE3NywgMTExMTg0LCAxMTExODksIAotICAgIDExMTE5NCwgMTExMTk5LCAxMTEyMDQsIDExMTIxMSwgMTExMjIwLCAxMTEyMjksIDExMTIzNCwgMTExMjQxLCAxMTEyNTAsIAotICAgIDExMTI1NSwgMTExMjYwLCAxMTEyNjUsIDExMTI3MCwgMTExMjc3LCAxMTEyODQsIDExMTI5MSwgMTExMjk4LCAxMTEzMDMsIAotICAgIDExMTMwOCwgMTExMzEzLCAxMTEzMjAsIDExMTMyNywgMTExMzM0LCAxMTEzMzksIDExMTM0NCwgMTExMzUxLCAxMTEzNTYsIAotICAgIDExMTM2MywgMTExMzY4LCAxMTEzNzUsIDExMTM4MCwgMTExMzg3LCAxMTEzOTQsIDExMTM5OSwgMTExNDA0LCAxMTE0MDksIAotICAgIDExMTQxNCwgMTExNDE5LCAxMTE0MjQsIDExMTQyOSwgMTExNDM0LCAxMTE0MzksIDExMTQ0NiwgMTExNDUzLCAxMTE0NjAsIAotICAgIDExMTQ2NywgMTExNDc0LCAxMTE0ODMsIDExMTQ4OCwgMTExNDkzLCAxMTE1MDAsIDExMTUwNywgMTExNTEyLCAxMTE1MTksIAotICAgIDExMTUyNiwgMTExNTMzLCAxMTE1NDAsIDExMTU0NywgMTExNTU0LCAxMTE1NTksIDExMTU2NCwgMTExNTY5LCAxMTE1NzQsIAotICAgIDExMTU3OSwgMTExNTg4LCAxMTE1OTcsIDExMTYwNiwgMTExNjE1LCAxMTE2MjQsIDExMTYzMywgMTExNjQyLCAxMTE2NTEsIAotICAgIDExMTY1NiwgMTExNjY3LCAxMTE2NzgsIDExMTY4NywgMTExNjkyLCAxMTE2OTcsIDExMTcwMiwgMTExNzA3LCAxMTE3MTYsIAotICAgIDExMTcyMywgMTExNzMwLCAxMTE3MzcsIDExMTc0NCwgMTExNzUxLCAxMTE3NTgsIDExMTc2NywgMTExNzc2LCAxMTE3ODcsIAotICAgIDExMTc5NiwgMTExODA3LCAxMTE4MTYsIDExMTgyMywgMTExODMyLCAxMTE4NDMsIDExMTg1MiwgMTExODYxLCAxMTE4NzAsIAotICAgIDExMTg3OSwgMTExODg2LCAxMTE4OTMsIDExMTkwMCwgMTExOTA5LCAxMTE5MTgsIDExMTkyOSwgMTExOTM4LCAxMTE5NDcsIAotICAgIDExMTk1OCwgMTExOTYzLCAxMTE5NjgsIDExMTk3OSwgMTExOTg3LCAxMTE5OTYsIDExMjAwNSwgMTEyMDE0LCAxMTIwMjUsIAotICAgIDExMjAzNCwgMTEyMDQzLCAxMTIwNTQsIDExMjA2NSwgMTEyMDc2LCAxMTIwODcsIDExMjA5OCwgMTEyMTA5LCAxMTIxMTYsIAotICAgIDExMjEyMywgMTEyMTMwLCAxMTIxMzcsIDExMjE0OCwgMTEyMTU3LCAxMTIxNjQsIDExMjE3MSwgMTEyMTc4LCAxMTIxODksIAotICAgIDExMjIwMCwgMTEyMjExLCAxMTIyMjIsIDExMjIzMywgMTEyMjQ0LCAxMTIyNTUsIDExMjI2NiwgMTEyMjczLCAxMTIyODAsIAotICAgIDExMjI4OSwgMTEyMjk4LCAxMTIzMDUsIDExMjMxMiwgMTEyMzE5LCAxMTIzMjgsIDExMjMzNywgMTEyMzQ2LCAxMTIzNTMsIAotICAgIDExMjM2MiwgMTEyMzcxLCAxMTIzODAsIDExMjM4NywgMTEyMzk0LCAxMTIzOTksIDExMjQwNSwgMTEyNDEyLCAxMTI0MTksIAotICAgIDExMjQyNiwgMTEyNDMzLCAxMTI0NDAsIDExMjQ0NywgMTEyNDU2LCAxMTI0NjUsIDExMjQ3NCwgMTEyNDgzLCAxMTI0OTAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDExMjQ5OSwgMTEyNTA1LCAxMTI1MTAsIDExMjUxNSwgMTEyNTIyLCAKLSAgICAxMTI1MjgsIDExMjUzNCwgMTEyNTQwLCAxMTI1NDYsIDExMjU1MiwgMTEyNTU4LCAxMTI1NjQsIDExMjU2OCwgMTEyNTcyLCAKLSAgICAxMTI1NzgsIDExMjU4NCwgMTEyNTkwLCAxMTI1OTQsIDExMjU5OSwgMTEyNjA0LCAxMTI2MDgsIDExMjYxMiwgMTEyNjE1LCAKLSAgICAxMTI2MjEsIDExMjYyNywgMTEyNjMzLCAxMTI2MzksIDExMjY0NSwgMTEyNjUxLCAxMTI2NTcsIDExMjY2MywgMTEyNjY5LCAKLSAgICAxMTI2NzksIDExMjY4OSwgMTEyNjk1LCAxMTI3MDEsIDExMjcxMSwgMTEyNzIxLCAxMTI3MjcsIDAsIDAsIDExMjczMywgCi0gICAgMTEyNzQxLCAxMTI3NDYsIDExMjc1MSwgMTEyNzU3LCAxMTI3NjMsIDExMjc2OSwgMTEyNzc1LCAxMTI3ODEsIDExMjc4NywgCi0gICAgMTEyNzk0LCAxMTI4MDEsIDExMjgwNywgMTEyODEzLCAxMTI4MTksIDExMjgyNSwgMTEyODMxLCAxMTI4MzcsIDExMjg0MywgCi0gICAgMTEyODQ5LCAxMTI4NTQsIDExMjg2MCwgMTEyODY2LCAxMTI4NzIsIDExMjg3OCwgMTEyODg0LCAxMTI4OTMsIDExMjg5OSwgCi0gICAgMTEyOTA0LCAxMTI5MTIsIDExMjkxOSwgMTEyOTI2LCAxMTI5MzUsIDExMjk0NCwgMTEyOTUzLCAxMTI5NjIsIDExMjk3MSwgCi0gICAgMTEyOTgwLCAxMTI5ODksIDExMjk5OCwgMTEzMDA4LCAxMTMwMTgsIDExMzAyNiwgMTEzMDM0LCAxMTMwNDMsIDExMzA1MiwgCi0gICAgMTEzMDU4LCAxMTMwNjQsIDExMzA3MCwgMTEzMDc2LCAxMTMwODQsIDExMzA5MiwgMTEzMDk2LCAxMTMxMDIsIDExMzEwNywgCi0gICAgMTEzMTEzLCAxMTMxMTksIDExMzEyNSwgMTEzMTMxLCAxMTMxMzcsIDExMzE0NiwgMTEzMTUxLCAxMTMxNTgsIDExMzE2MywgCi0gICAgMTEzMTY4LCAxMTMxNzMsIDExMzE3OSwgMTEzMTg1LCAxMTMxOTEsIDExMzE5OCwgMTEzMjAzLCAxMTMyMDgsIDExMzIxMywgCi0gICAgMTEzMjE4LCAxMTMyMjMsIDExMzIyOSwgMTEzMjM1LCAxMTMyNDEsIDExMzI0NywgMTEzMjUzLCAxMTMyNTksIDExMzI2NSwgCi0gICAgMTEzMjcxLCAxMTMyNzYsIDExMzI4MSwgMTEzMjg2LCAxMTMyOTEsIDExMzI5NiwgMTEzMzAxLCAxMTMzMDYsIDExMzMxMSwgCi0gICAgMTEzMzE3LCAxMTMzMjMsIDExMzMyOCwgMTEzMzMzLCAxMTMzMzgsIDExMzM0MywgMTEzMzQ4LCAxMTMzNTQsIDExMzM2MSwgCi0gICAgMTEzMzY1LCAxMTMzNjksIDExMzM3MywgMTEzMzc3LCAxMTMzODEsIDExMzM4NSwgMTEzMzg5LCAxMTMzOTMsIDExMzQwMSwgCi0gICAgMTEzNDExLCAxMTM0MTUsIDExMzQxOSwgMTEzNDI1LCAxMTM0MzEsIDExMzQzNywgMTEzNDQzLCAxMTM0NDksIDExMzQ1NSwgCi0gICAgMTEzNDYxLCAxMTM0NjcsIDExMzQ3MywgMTEzNDc5LCAxMTM0ODUsIDExMzQ5MSwgMTEzNDk3LCAxMTM1MDMsIDExMzUwNywgCi0gICAgMTEzNTExLCAxMTM1MTgsIDExMzUyNCwgMTEzNTMwLCAxMTM1MzYsIDExMzU0MSwgMTEzNTQ4LCAxMTM1NTMsIDExMzU1OSwgCi0gICAgMTEzNTY1LCAxMTM1NzEsIDExMzU3NywgMTEzNTgyLCAxMTM1ODYsIDExMzU5MiwgMTEzNTk2LCAxMTM2MDAsIDExMzYwNCwgCi0gICAgMTEzNjEwLCAxMTM2MTYsIDExMzYyMCwgMTEzNjI2LCAxMTM2MzIsIDExMzYzOCwgMTEzNjQ0LCAxMTM2NTAsIDExMzY1OCwgCi0gICAgMTEzNjY2LCAxMTM2NzIsIDExMzY3OCwgMTEzNjg0LCAxMTM2OTAsIDExMzcwMiwgMTEzNzE0LCAxMTM3MjgsIDExMzc0MCwgCi0gICAgMTEzNzUyLCAxMTM3NjYsIDExMzc4MCwgMTEzNzk0LCAxMTM3OTgsIDExMzgwNiwgMTEzODE0LCAxMTM4MTksIDExMzgyMywgCi0gICAgMTEzODI3LCAxMTM4MzEsIDExMzgzNSwgMTEzODM5LCAxMTM4NDMsIDExMzg0NywgMTEzODUzLCAxMTM4NTksIDExMzg2NSwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTEzODcxLCAxMTM4NzcsIDExMzg4MywgMTEzODg5LCAxMTM4OTUsIAotICAgIDExMzkwMSwgMTEzOTA3LCAxMTM5MTMsIDExMzkxOSwgMTEzOTI1LCAxMTM5MzEsIDExMzkzNywgMTEzOTQzLCAxMTM5NDksIAotICAgIDExMzk1NSwgMTEzOTYxLCAxMTM5NjcsIDExMzk3MywgMTEzOTc5LCAxMTM5ODUsIDExMzk5MSwgMTEzOTk3LCAxMTQwMDMsIAotICAgIDExNDAwOSwgMTE0MDE1LCAxMTQwMjEsIDExNDAyNywgMTE0MDMzLCAxMTQwMzksIDExNDA0NSwgMTE0MDUxLCAxMTQwNTcsIAotICAgIDExNDA2MywgMTE0MDY5LCAxMTQwNzUsIDExNDA4MSwgMTE0MDg3LCAxMTQwOTMsIDExNDA5OSwgMTE0MTA1LCAxMTQxMTEsIAotICAgIDExNDExNywgMTE0MTIzLCAxMTQxMjksIDExNDEzNSwgMTE0MTQxLCAxMTQxNDcsIDExNDE1MywgMTE0MTU5LCAxMTQxNjUsIAotICAgIDExNDE3MSwgMTE0MTc3LCAxMTQxODMsIDExNDE4OSwgMTE0MTk1LCAxMTQyMDEsIDExNDIwNywgMTE0MjEzLCAxMTQyMTksIAotICAgIDExNDIyNSwgMTE0MjMxLCAxMTQyMzcsIDExNDI0MywgMTE0MjQ5LCAxMTQyNTUsIDExNDI2MSwgMTE0MjY3LCAxMTQyNzIsIAotICAgIDExNDI3NywgMTE0MjgyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMTQyODYsIDExNDI5MSwgMTE0Mjk4LCAKLSAgICAxMTQzMDUsIDExNDMxMiwgMTE0MzE5LCAxMTQzMjQsIDExNDMyOCwgMTE0MzM0LCAxMTQzMzgsIDExNDM0MiwgMTE0MzQ4LCAKLSAgICAxMTQzNTIsIDExNDM1NiwgMTE0MzYwLCAxMTQzNjYsIDExNDM3MywgMTE0Mzc3LCAxMTQzODEsIDExNDM4NSwgMTE0Mzg5LCAKLSAgICAxMTQzOTMsIDExNDM5NywgMTE0NDAzLCAxMTQ0MDcsIDExNDQxMSwgMTE0NDE1LCAxMTQ0MTksIDExNDQyMywgMTE0NDI3LCAKLSAgICAxMTQ0MzEsIDExNDQzNSwgMTE0NDM5LCAxMTQ0NDMsIDExNDQ0NywgMTE0NDUxLCAxMTQ0NTYsIDExNDQ2MCwgMTE0NDY0LCAKLSAgICAxMTQ0NjgsIDExNDQ3MiwgMTE0NDc2LCAxMTQ0ODAsIDExNDQ4NCwgMTE0NDg4LCAxMTQ0OTIsIDExNDQ5OSwgMTE0NTAzLCAKLSAgICAxMTQ1MTEsIDExNDUxNSwgMTE0NTE5LCAxMTQ1MjMsIDExNDUyNywgMTE0NTMxLCAxMTQ1MzUsIDExNDUzOSwgMTE0NTQ2LCAKLSAgICAxMTQ1NTAsIDExNDU1NCwgMTE0NTU4LCAxMTQ1NjIsIDExNDU2NiwgMTE0NTcyLCAxMTQ1NzYsIDExNDU4MiwgMTE0NTg2LCAKLSAgICAxMTQ1OTAsIDExNDU5NCwgMTE0NTk4LCAxMTQ2MDIsIDExNDYwNiwgMTE0NjEwLCAxMTQ2MTQsIDExNDYxOCwgMTE0NjIyLCAKLSAgICAxMTQ2MjYsIDExNDYzMCwgMTE0NjM0LCAxMTQ2MzgsIDExNDY0MiwgMTE0NjQ2LCAxMTQ2NTAsIDExNDY1NCwgMTE0NjU4LCAKLSAgICAxMTQ2NjYsIDExNDY3MCwgMTE0Njc0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMTQ2NzgsIDExNDY4NiwgCi0gICAgMTE0Njk0LCAxMTQ3MDIsIDExNDcxMCwgMTE0NzE4LCAxMTQ3MjYsIDExNDczNCwgMTE0NzQyLCAxMTQ3NTAsIDExNDc1OCwgCi0gICAgMTE0NzY2LCAxMTQ3NzQsIDExNDc4MiwgMTE0NzkwLCAxMTQ3OTgsIDExNDgwNiwgMTE0ODE0LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMTQ4MjIsIDExNDgyNiwgMTE0ODMxLCAxMTQ4MzYsIDExNDg0MSwgMTE0ODQ1LCAKLSAgICAxMTQ4NTAsIDExNDg1NSwgMTE0ODYwLCAxMTQ4NjQsIDExNDg2OSwgMTE0ODc0LCAxMTQ4NzgsIDExNDg4MiwgMTE0ODg3LCAKLSAgICAxMTQ4OTEsIDExNDg5NiwgMTE0OTAxLCAxMTQ5MDUsIDExNDkxMCwgMTE0OTE1LCAxMTQ5MTksIDExNDkyNCwgMTE0OTI5LCAKLSAgICAxMTQ5MzQsIDExNDkzOSwgMTE0OTQ0LCAxMTQ5NDgsIDExNDk1MywgMTE0OTU4LCAxMTQ5NjMsIDExNDk2NywgMTE0OTcyLCAKLSAgICAxMTQ5NzcsIDExNDk4MiwgMTE0OTg2LCAxMTQ5OTEsIDExNDk5NiwgMTE1MDAwLCAxMTUwMDQsIDExNTAwOSwgMTE1MDEzLCAKLSAgICAxMTUwMTgsIDExNTAyMywgMTE1MDI3LCAxMTUwMzIsIDExNTAzNywgMTE1MDQxLCAxMTUwNDYsIDExNTA1MSwgMTE1MDU2LCAKLSAgICAxMTUwNjEsIDExNTA2NiwgMTE1MDcwLCAxMTUwNzUsIDExNTA4MCwgMTE1MDg1LCAxMTUwODksIDExNTA5NCwgMTE1MDk5LCAKLSAgICAxMTUxMDQsIDExNTEwOCwgMTE1MTEzLCAxMTUxMTgsIDExNTEyMiwgMTE1MTI2LCAxMTUxMzEsIDExNTEzNSwgMTE1MTQwLCAKLSAgICAxMTUxNDUsIDExNTE0OSwgMTE1MTU0LCAxMTUxNTksIDExNTE2MywgMTE1MTY4LCAxMTUxNzMsIDExNTE3OCwgMTE1MTgzLCAKLSAgICAxMTUxODgsIDExNTE5MiwgMTE1MTk3LCAxMTUyMDIsIDExNTIwNywgMTE1MjExLCAxMTUyMTYsIDAsIDExNTIyMSwgCi0gICAgMTE1MjI1LCAxMTUyMzAsIDExNTIzNSwgMTE1MjM5LCAxMTUyNDMsIDExNTI0OCwgMTE1MjUyLCAxMTUyNTcsIDExNTI2MiwgCi0gICAgMTE1MjY2LCAxMTUyNzEsIDExNTI3NiwgMTE1MjgwLCAxMTUyODUsIDExNTI5MCwgMTE1Mjk1LCAxMTUzMDAsIDExNTMwNSwgCi0gICAgMTE1MzEwLCAxMTUzMTYsIDExNTMyMiwgMTE1MzI4LCAxMTUzMzMsIDExNTMzOSwgMTE1MzQ1LCAxMTUzNTEsIDExNTM1NiwgCi0gICAgMTE1MzYyLCAxMTUzNjgsIDExNTM3MywgMTE1Mzc4LCAxMTUzODQsIDExNTM4OSwgMTE1Mzk1LCAxMTU0MDEsIDExNTQwNiwgCi0gICAgMTE1NDEyLCAxMTU0MTgsIDExNTQyMywgMTE1NDI5LCAxMTU0MzUsIDExNTQ0MSwgMTE1NDQ3LCAxMTU0NTMsIDExNTQ1OCwgCi0gICAgMTE1NDY0LCAxMTU0NzAsIDExNTQ3NiwgMTE1NDgxLCAxMTU0ODcsIDExNTQ5MywgMTE1NDk5LCAxMTU1MDQsIDExNTUxMCwgCi0gICAgMTE1NTE2LCAxMTU1MjEsIDExNTUyNiwgMTE1NTMyLCAxMTU1MzcsIDExNTU0MywgMTE1NTQ5LCAxMTU1NTQsIDExNTU2MCwgCi0gICAgMTE1NTY2LCAxMTU1NzEsIDExNTU3NywgMTE1NTgzLCAxMTU1ODksIDExNTU5NSwgMTE1NjAxLCAwLCAxMTU2MDUsIAotICAgIDExNTYxMCwgMCwgMCwgMTE1NjE1LCAwLCAwLCAxMTU2MjAsIDExNTYyNSwgMCwgMCwgMTE1NjMwLCAxMTU2MzUsIDExNTYzOSwgCi0gICAgMTE1NjQ0LCAwLCAxMTU2NDksIDExNTY1NCwgMTE1NjU5LCAxMTU2NjMsIDExNTY2OCwgMTE1NjczLCAxMTU2NzgsIAotICAgIDExNTY4MywgMTE1Njg4LCAxMTU2OTIsIDExNTY5NywgMTE1NzAyLCAwLCAxMTU3MDcsIDAsIDExNTcxMiwgMTE1NzE3LCAKLSAgICAxMTU3MjEsIDExNTcyNiwgMTE1NzMxLCAxMTU3MzUsIDExNTczOSwgMCwgMTE1NzQ0LCAxMTU3NDksIDExNTc1NCwgCi0gICAgMTE1NzU4LCAxMTU3NjMsIDExNTc2OCwgMTE1NzcyLCAxMTU3NzcsIDExNTc4MiwgMTE1Nzg3LCAxMTU3OTIsIDExNTc5NywgCi0gICAgMTE1ODAyLCAxMTU4MDgsIDExNTgxNCwgMTE1ODIwLCAxMTU4MjUsIDExNTgzMSwgMTE1ODM3LCAxMTU4NDMsIDExNTg0OCwgCi0gICAgMTE1ODU0LCAxMTU4NjAsIDExNTg2NSwgMTE1ODcwLCAxMTU4NzYsIDExNTg4MSwgMTE1ODg3LCAxMTU4OTMsIDExNTg5OCwgCi0gICAgMTE1OTA0LCAxMTU5MTAsIDExNTkxNSwgMTE1OTIxLCAxMTU5MjcsIDExNTkzMywgMTE1OTM5LCAxMTU5NDUsIDExNTk1MCwgCi0gICAgMTE1OTU2LCAxMTU5NjIsIDExNTk2OCwgMTE1OTczLCAxMTU5NzksIDExNTk4NSwgMTE1OTkxLCAxMTU5OTYsIDExNjAwMiwgCi0gICAgMTE2MDA4LCAxMTYwMTMsIDExNjAxOCwgMTE2MDI0LCAxMTYwMjksIDExNjAzNSwgMTE2MDQxLCAxMTYwNDYsIDExNjA1MiwgCi0gICAgMTE2MDU4LCAxMTYwNjMsIDExNjA2OSwgMTE2MDc1LCAxMTYwODEsIDExNjA4NywgMTE2MDkzLCAxMTYwOTcsIDAsIAotICAgIDExNjEwMiwgMTE2MTA3LCAxMTYxMTEsIDExNjExNiwgMCwgMCwgMTE2MTIxLCAxMTYxMjYsIDExNjEzMSwgMTE2MTM1LCAKLSAgICAxMTYxMzksIDExNjE0NCwgMTE2MTQ4LCAxMTYxNTMsIDAsIDExNjE1OCwgMTE2MTYzLCAxMTYxNjgsIDExNjE3MiwgCi0gICAgMTE2MTc3LCAxMTYxODIsIDExNjE4NywgMCwgMTE2MTkyLCAxMTYxOTYsIDExNjIwMSwgMTE2MjA2LCAxMTYyMTEsIAotICAgIDExNjIxNSwgMTE2MjIwLCAxMTYyMjUsIDExNjIzMCwgMTE2MjM0LCAxMTYyMzksIDExNjI0NCwgMTE2MjQ4LCAxMTYyNTIsIAotICAgIDExNjI1NywgMTE2MjYxLCAxMTYyNjYsIDExNjI3MSwgMTE2Mjc1LCAxMTYyODAsIDExNjI4NSwgMTE2Mjg5LCAxMTYyOTQsIAotICAgIDExNjI5OSwgMTE2MzA0LCAxMTYzMDksIDExNjMxNCwgMTE2MzE4LCAwLCAxMTYzMjMsIDExNjMyOCwgMTE2MzMyLCAKLSAgICAxMTYzMzcsIDAsIDExNjM0MiwgMTE2MzQ2LCAxMTYzNTEsIDExNjM1NiwgMTE2MzYwLCAwLCAxMTYzNjQsIDAsIDAsIDAsIAotICAgIDExNjM2OCwgMTE2MzczLCAxMTYzNzgsIDExNjM4MiwgMTE2Mzg3LCAxMTYzOTIsIDExNjM5NywgMCwgMTE2NDAyLCAKLSAgICAxMTY0MDYsIDExNjQxMSwgMTE2NDE2LCAxMTY0MjEsIDExNjQyNSwgMTE2NDMwLCAxMTY0MzUsIDExNjQ0MCwgMTE2NDQ0LCAKLSAgICAxMTY0NDksIDExNjQ1NCwgMTE2NDU4LCAxMTY0NjIsIDExNjQ2NywgMTE2NDcxLCAxMTY0NzYsIDExNjQ4MSwgMTE2NDg1LCAKLSAgICAxMTY0OTAsIDExNjQ5NSwgMTE2NDk5LCAxMTY1MDQsIDExNjUwOSwgMTE2NTE0LCAxMTY1MTksIDExNjUyNCwgMTE2NTI5LCAKLSAgICAxMTY1MzUsIDExNjU0MSwgMTE2NTQ3LCAxMTY1NTIsIDExNjU1OCwgMTE2NTY0LCAxMTY1NzAsIDExNjU3NSwgMTE2NTgxLCAKLSAgICAxMTY1ODcsIDExNjU5MiwgMTE2NTk3LCAxMTY2MDMsIDExNjYwOCwgMTE2NjE0LCAxMTY2MjAsIDExNjYyNSwgMTE2NjMxLCAKLSAgICAxMTY2MzcsIDExNjY0MiwgMTE2NjQ4LCAxMTY2NTQsIDExNjY2MCwgMTE2NjY2LCAxMTY2NzIsIDExNjY3NywgMTE2NjgzLCAKLSAgICAxMTY2ODksIDExNjY5NSwgMTE2NzAwLCAxMTY3MDYsIDExNjcxMiwgMTE2NzE4LCAxMTY3MjMsIDExNjcyOSwgMTE2NzM1LCAKLSAgICAxMTY3NDAsIDExNjc0NSwgMTE2NzUxLCAxMTY3NTYsIDExNjc2MiwgMTE2NzY4LCAxMTY3NzMsIDExNjc3OSwgMTE2Nzg1LCAKLSAgICAxMTY3OTAsIDExNjc5NiwgMTE2ODAyLCAxMTY4MDgsIDExNjgxNCwgMTE2ODIwLCAxMTY4MjQsIDExNjgyOSwgMTE2ODM0LCAKLSAgICAxMTY4MzksIDExNjg0MywgMTE2ODQ4LCAxMTY4NTMsIDExNjg1OCwgMTE2ODYyLCAxMTY4NjcsIDExNjg3MiwgMTE2ODc2LCAKLSAgICAxMTY4ODAsIDExNjg4NSwgMTE2ODg5LCAxMTY4OTQsIDExNjg5OSwgMTE2OTAzLCAxMTY5MDgsIDExNjkxMywgMTE2OTE3LCAKLSAgICAxMTY5MjIsIDExNjkyNywgMTE2OTMyLCAxMTY5MzcsIDExNjk0MiwgMTE2OTQ2LCAxMTY5NTEsIDExNjk1NiwgMTE2OTYxLCAKLSAgICAxMTY5NjUsIDExNjk3MCwgMTE2OTc1LCAxMTY5ODAsIDExNjk4NCwgMTE2OTg5LCAxMTY5OTQsIDExNjk5OCwgMTE3MDAyLCAKLSAgICAxMTcwMDcsIDExNzAxMSwgMTE3MDE2LCAxMTcwMjEsIDExNzAyNSwgMTE3MDMwLCAxMTcwMzUsIDExNzAzOSwgMTE3MDQ0LCAKLSAgICAxMTcwNDksIDExNzA1NCwgMTE3MDU5LCAxMTcwNjQsIDExNzA2OSwgMTE3MDc1LCAxMTcwODEsIDExNzA4NywgMTE3MDkyLCAKLSAgICAxMTcwOTgsIDExNzEwNCwgMTE3MTEwLCAxMTcxMTUsIDExNzEyMSwgMTE3MTI3LCAxMTcxMzIsIDExNzEzNywgMTE3MTQzLCAKLSAgICAxMTcxNDgsIDExNzE1NCwgMTE3MTYwLCAxMTcxNjUsIDExNzE3MSwgMTE3MTc3LCAxMTcxODIsIDExNzE4OCwgMTE3MTk0LCAKLSAgICAxMTcyMDAsIDExNzIwNiwgMTE3MjEyLCAxMTcyMTcsIDExNzIyMywgMTE3MjI5LCAxMTcyMzUsIDExNzI0MCwgMTE3MjQ2LCAKLSAgICAxMTcyNTIsIDExNzI1OCwgMTE3MjYzLCAxMTcyNjksIDExNzI3NSwgMTE3MjgwLCAxMTcyODUsIDExNzI5MSwgMTE3Mjk2LCAKLSAgICAxMTczMDIsIDExNzMwOCwgMTE3MzEzLCAxMTczMTksIDExNzMyNSwgMTE3MzMwLCAxMTczMzYsIDExNzM0MiwgMTE3MzQ4LCAKLSAgICAxMTczNTQsIDExNzM2MCwgMTE3MzY1LCAxMTczNzEsIDExNzM3NywgMTE3MzgzLCAxMTczODgsIDExNzM5NCwgMTE3NDAwLCAKLSAgICAxMTc0MDYsIDExNzQxMSwgMTE3NDE3LCAxMTc0MjMsIDExNzQyOCwgMTE3NDMzLCAxMTc0MzksIDExNzQ0NCwgMTE3NDUwLCAKLSAgICAxMTc0NTYsIDExNzQ2MSwgMTE3NDY3LCAxMTc0NzMsIDExNzQ3OCwgMTE3NDg0LCAxMTc0OTAsIDExNzQ5NiwgMTE3NTAyLCAKLSAgICAxMTc1MDgsIDExNzUxMywgMTE3NTE5LCAxMTc1MjUsIDExNzUzMSwgMTE3NTM2LCAxMTc1NDIsIDExNzU0OCwgMTE3NTU0LCAKLSAgICAxMTc1NTksIDExNzU2NSwgMTE3NTcxLCAxMTc1NzYsIDExNzU4MSwgMTE3NTg3LCAxMTc1OTIsIDExNzU5OCwgMTE3NjA0LCAKLSAgICAxMTc2MDksIDExNzYxNSwgMTE3NjIxLCAxMTc2MjYsIDExNzYzMiwgMTE3NjM4LCAxMTc2NDQsIDExNzY1MCwgMTE3NjU2LCAKLSAgICAxMTc2NjIsIDExNzY2OSwgMTE3Njc2LCAxMTc2ODMsIDExNzY4OSwgMTE3Njk2LCAxMTc3MDMsIDExNzcxMCwgMTE3NzE2LCAKLSAgICAxMTc3MjMsIDExNzczMCwgMTE3NzM2LCAxMTc3NDIsIDExNzc0OSwgMTE3NzU1LCAxMTc3NjIsIDExNzc2OSwgMTE3Nzc1LCAKLSAgICAxMTc3ODIsIDExNzc4OSwgMTE3Nzk1LCAxMTc4MDIsIDExNzgwOSwgMTE3ODE2LCAxMTc4MjMsIDExNzgzMCwgMTE3ODM2LCAKLSAgICAxMTc4NDMsIDExNzg1MCwgMTE3ODU3LCAxMTc4NjMsIDExNzg3MCwgMTE3ODc3LCAxMTc4ODQsIDExNzg5MCwgMTE3ODk3LCAKLSAgICAxMTc5MDQsIDExNzkxMCwgMTE3OTE2LCAxMTc5MjMsIDExNzkyOSwgMTE3OTM2LCAxMTc5NDMsIDExNzk0OSwgMTE3OTU2LCAKLSAgICAxMTc5NjMsIDExNzk2OSwgMTE3OTc2LCAxMTc5ODMsIDExNzk5MCwgMTE3OTk3LCAxMTgwMDQsIDExODAwOSwgMTE4MDE1LCAKLSAgICAxMTgwMjEsIDExODAyNywgMTE4MDMyLCAxMTgwMzgsIDExODA0NCwgMTE4MDUwLCAxMTgwNTUsIDExODA2MSwgMTE4MDY3LCAKLSAgICAxMTgwNzIsIDExODA3NywgMTE4MDgzLCAxMTgwODgsIDExODA5NCwgMTE4MTAwLCAxMTgxMDUsIDExODExMSwgMTE4MTE3LCAKLSAgICAxMTgxMjIsIDExODEyOCwgMTE4MTM0LCAxMTgxNDAsIDExODE0NiwgMTE4MTUyLCAxMTgxNTcsIDExODE2MywgMTE4MTY5LCAKLSAgICAxMTgxNzUsIDExODE4MCwgMTE4MTg2LCAxMTgxOTIsIDExODE5OCwgMTE4MjAzLCAxMTgyMDksIDExODIxNSwgMTE4MjIwLCAKLSAgICAxMTgyMjUsIDExODIzMSwgMTE4MjM2LCAxMTgyNDIsIDExODI0OCwgMTE4MjUzLCAxMTgyNTksIDExODI2NSwgMTE4MjcwLCAKLSAgICAxMTgyNzYsIDExODI4MiwgMTE4Mjg4LCAxMTgyOTQsIDExODMwMCwgMTE4MzA2LCAwLCAwLCAxMTgzMTMsIDExODMxOCwgCi0gICAgMTE4MzIzLCAxMTgzMjgsIDExODMzMywgMTE4MzM4LCAxMTgzNDMsIDExODM0OCwgMTE4MzUzLCAxMTgzNTgsIDExODM2MywgCi0gICAgMTE4MzY4LCAxMTgzNzMsIDExODM3OCwgMTE4MzgzLCAxMTgzODgsIDExODM5MywgMTE4Mzk4LCAxMTg0MDQsIDExODQwOSwgCi0gICAgMTE4NDE0LCAxMTg0MTksIDExODQyNCwgMTE4NDI5LCAxMTg0MzQsIDExODQzOSwgMTE4NDQzLCAxMTg0NDgsIDExODQ1MywgCi0gICAgMTE4NDU4LCAxMTg0NjMsIDExODQ2OCwgMTE4NDczLCAxMTg0NzgsIDExODQ4MywgMTE4NDg4LCAxMTg0OTMsIDExODQ5OCwgCi0gICAgMTE4NTAzLCAxMTg1MDgsIDExODUxMywgMTE4NTE4LCAxMTg1MjMsIDExODUyOCwgMTE4NTM0LCAxMTg1MzksIDExODU0NCwgCi0gICAgMTE4NTQ5LCAxMTg1NTQsIDExODU1OSwgMTE4NTY0LCAxMTg1NjksIDExODU3NSwgMTE4NTgwLCAxMTg1ODUsIDExODU5MCwgCi0gICAgMTE4NTk1LCAxMTg2MDAsIDExODYwNSwgMTE4NjEwLCAxMTg2MTUsIDExODYyMCwgMTE4NjI1LCAxMTg2MzAsIDExODYzNSwgCi0gICAgMTE4NjQwLCAxMTg2NDUsIDExODY1MCwgMTE4NjU1LCAxMTg2NjAsIDExODY2NSwgMTE4NjcwLCAxMTg2NzUsIDExODY4MCwgCi0gICAgMTE4Njg1LCAxMTg2OTAsIDExODY5NiwgMTE4NzAxLCAxMTg3MDYsIDExODcxMSwgMTE4NzE2LCAxMTg3MjEsIDExODcyNiwgCi0gICAgMTE4NzMxLCAxMTg3MzUsIDExODc0MCwgMTE4NzQ1LCAxMTg3NTAsIDExODc1NSwgMTE4NzYwLCAxMTg3NjUsIDExODc3MCwgCi0gICAgMTE4Nzc1LCAxMTg3ODAsIDExODc4NSwgMTE4NzkwLCAxMTg3OTUsIDExODgwMCwgMTE4ODA1LCAxMTg4MTAsIDExODgxNSwgCi0gICAgMTE4ODIwLCAxMTg4MjYsIDExODgzMSwgMTE4ODM2LCAxMTg4NDEsIDExODg0NiwgMTE4ODUxLCAxMTg4NTYsIDExODg2MSwgCi0gICAgMTE4ODY3LCAxMTg4NzIsIDExODg3NywgMTE4ODgyLCAxMTg4ODcsIDExODg5MiwgMTE4ODk3LCAxMTg5MDMsIDExODkwOSwgCi0gICAgMTE4OTE1LCAxMTg5MjEsIDExODkyNywgMTE4OTMzLCAxMTg5MzksIDExODk0NSwgMTE4OTUxLCAxMTg5NTcsIDExODk2MywgCi0gICAgMTE4OTY5LCAxMTg5NzUsIDExODk4MSwgMTE4OTg3LCAxMTg5OTMsIDExODk5OSwgMTE5MDA2LCAxMTkwMTIsIDExOTAxOCwgCi0gICAgMTE5MDI0LCAxMTkwMzAsIDExOTAzNiwgMTE5MDQyLCAxMTkwNDgsIDExOTA1MywgMTE5MDU5LCAxMTkwNjUsIDExOTA3MSwgCi0gICAgMTE5MDc3LCAxMTkwODMsIDExOTA4OSwgMTE5MDk1LCAxMTkxMDEsIDExOTEwNywgMTE5MTEzLCAxMTkxMTksIDExOTEyNSwgCi0gICAgMTE5MTMxLCAxMTkxMzcsIDExOTE0MywgMTE5MTQ5LCAxMTkxNTUsIDExOTE2MiwgMTE5MTY4LCAxMTkxNzQsIDExOTE4MCwgCi0gICAgMTE5MTg2LCAxMTkxOTIsIDExOTE5OCwgMTE5MjA0LCAxMTkyMTEsIDExOTIxNywgMTE5MjIzLCAxMTkyMjksIDExOTIzNSwgCi0gICAgMTE5MjQxLCAxMTkyNDcsIDExOTI1MywgMTE5MjU5LCAxMTkyNjUsIDExOTI3MSwgMTE5Mjc3LCAxMTkyODMsIDExOTI4OSwgCi0gICAgMTE5Mjk1LCAxMTkzMDEsIDExOTMwNywgMTE5MzEzLCAxMTkzMTksIDExOTMyNSwgMTE5MzMxLCAxMTkzMzcsIDExOTM0MywgCi0gICAgMTE5MzQ5LCAxMTkzNTYsIDExOTM2MiwgMTE5MzY4LCAxMTkzNzQsIDExOTM4MCwgMTE5Mzg2LCAxMTkzOTIsIDExOTM5OCwgCi0gICAgMTE5NDAzLCAxMTk0MDksIDExOTQxNSwgMTE5NDIxLCAxMTk0MjcsIDExOTQzMywgMTE5NDM5LCAxMTk0NDUsIDExOTQ1MSwgCi0gICAgMTE5NDU3LCAxMTk0NjMsIDExOTQ2OSwgMTE5NDc1LCAxMTk0ODEsIDExOTQ4NywgMTE5NDkzLCAxMTk0OTksIDExOTUwNSwgCi0gICAgMTE5NTEyLCAxMTk1MTgsIDExOTUyNCwgMTE5NTMwLCAxMTk1MzYsIDExOTU0MiwgMTE5NTQ4LCAxMTk1NTQsIDExOTU2MSwgCi0gICAgMTE5NTY3LCAxMTk1NzMsIDExOTU3OSwgMTE5NTg1LCAxMTk1OTEsIDExOTU5NywgMTE5NjA0LCAxMTk2MTEsIDExOTYxOCwgCi0gICAgMTE5NjI1LCAxMTk2MzIsIDExOTYzOSwgMTE5NjQ2LCAxMTk2NTMsIDExOTY2MCwgMTE5NjY3LCAxMTk2NzQsIDExOTY4MSwgCi0gICAgMTE5Njg4LCAxMTk2OTUsIDExOTcwMiwgMTE5NzA5LCAxMTk3MTYsIDExOTcyNCwgMTE5NzMxLCAxMTk3MzgsIDExOTc0NSwgCi0gICAgMTE5NzUyLCAxMTk3NTksIDExOTc2NiwgMTE5NzczLCAxMTk3NzksIDExOTc4NiwgMTE5NzkzLCAxMTk4MDAsIDExOTgwNywgCi0gICAgMTE5ODE0LCAxMTk4MjEsIDExOTgyOCwgMTE5ODM1LCAxMTk4NDIsIDExOTg0OSwgMTE5ODU2LCAxMTk4NjMsIDExOTg3MCwgCi0gICAgMTE5ODc3LCAxMTk4ODQsIDExOTg5MSwgMTE5ODk4LCAxMTk5MDYsIDExOTkxMywgMTE5OTIwLCAxMTk5MjcsIDExOTkzNCwgCi0gICAgMTE5OTQxLCAxMTk5NDgsIDExOTk1NSwgMTE5OTYzLCAxMTk5NzAsIDExOTk3NywgMTE5OTg0LCAxMTk5OTEsIDExOTk5OCwgCi0gICAgMTIwMDA1LCAxMjAwMTAsIDAsIDAsIDEyMDAxNSwgMTIwMDIwLCAxMjAwMjQsIDEyMDAyOCwgMTIwMDMyLCAxMjAwMzYsIAotICAgIDEyMDA0MCwgMTIwMDQ0LCAxMjAwNDgsIDEyMDA1MiwgMTIwMDU2LCAxMjAwNjEsIDEyMDA2NSwgMTIwMDY5LCAxMjAwNzMsIAotICAgIDEyMDA3NywgMTIwMDgxLCAxMjAwODUsIDEyMDA4OSwgMTIwMDkzLCAxMjAwOTcsIDEyMDEwMiwgMTIwMTA2LCAxMjAxMTAsIAotICAgIDEyMDExNCwgMTIwMTE4LCAxMjAxMjIsIDEyMDEyNiwgMTIwMTMwLCAxMjAxMzQsIDEyMDEzOCwgMTIwMTQ0LCAxMjAxNDksIAotICAgIDEyMDE1NCwgMTIwMTU5LCAxMjAxNjQsIDEyMDE2OSwgMTIwMTc0LCAxMjAxNzksIDEyMDE4NCwgMTIwMTg5LCAxMjAxOTUsIAotICAgIDEyMDIwMCwgMTIwMjA1LCAxMjAyMTAsIDEyMDIxNSwgMTIwMjIwLCAxMjAyMjUsIDEyMDIzMCwgMTIwMjM1LCAxMjAyNDAsIAotICAgIDEyMDI0NCwgMTIwMjQ4LCAxMjAyNTIsIDAsIDEyMDI1NiwgMTIwMjYwLCAxMjAyNjQsIDEyMDI2OCwgMTIwMjcyLCAKLSAgICAxMjAyNzYsIDEyMDI4MCwgMTIwMjg0LCAxMjAyODgsIDEyMDI5MiwgMTIwMjk2LCAxMjAzMDAsIDEyMDMwNCwgMTIwMzA4LCAKLSAgICAxMjAzMTIsIDEyMDMxNiwgMTIwMzIwLCAxMjAzMjQsIDEyMDMyOCwgMTIwMzMyLCAxMjAzMzYsIDEyMDM0MCwgMTIwMzQ0LCAKLSAgICAxMjAzNDgsIDEyMDM1NCwgMTIwMzYwLCAxMjAzNjYsIDAsIDEyMDM3MiwgMTIwMzc3LCAwLCAxMjAzODIsIDAsIDAsIAotICAgIDEyMDM4NywgMCwgMTIwMzkyLCAxMjAzOTcsIDEyMDQwMiwgMTIwNDA3LCAxMjA0MTIsIDEyMDQxNywgMTIwNDIyLCAKLSAgICAxMjA0MjcsIDEyMDQzMiwgMTIwNDM3LCAwLCAxMjA0NDIsIDEyMDQ0NywgMTIwNDUyLCAxMjA0NTcsIDAsIDEyMDQ2MiwgMCwgCi0gICAgMTIwNDY3LCAwLCAwLCAwLCAwLCAwLCAwLCAxMjA0NzIsIDAsIDAsIDAsIDAsIDEyMDQ3OCwgMCwgMTIwNDg0LCAwLCAKLSAgICAxMjA0OTAsIDAsIDEyMDQ5NiwgMTIwNTAyLCAxMjA1MDgsIDAsIDEyMDUxNCwgMTIwNTIwLCAwLCAxMjA1MjYsIDAsIDAsIAotICAgIDEyMDUzMiwgMCwgMTIwNTM4LCAwLCAxMjA1NDQsIDAsIDEyMDU1MCwgMCwgMTIwNTU4LCAwLCAxMjA1NjYsIDEyMDU3MiwgMCwgCi0gICAgMTIwNTc4LCAwLCAwLCAxMjA1ODQsIDEyMDU5MCwgMTIwNTk2LCAxMjA2MDIsIDAsIDEyMDYwOCwgMTIwNjE0LCAxMjA2MjAsIAotICAgIDEyMDYyNiwgMTIwNjMyLCAxMjA2MzgsIDEyMDY0NCwgMCwgMTIwNjUwLCAxMjA2NTYsIDEyMDY2MiwgMTIwNjY4LCAwLCAKLSAgICAxMjA2NzQsIDEyMDY4MCwgMTIwNjg2LCAxMjA2OTIsIDAsIDEyMDcwMCwgMCwgMTIwNzA4LCAxMjA3MTQsIDEyMDcyMCwgCi0gICAgMTIwNzI2LCAxMjA3MzIsIDEyMDczOCwgMTIwNzQ0LCAxMjA3NTAsIDEyMDc1NiwgMTIwNzYyLCAwLCAxMjA3NjgsIAotICAgIDEyMDc3NCwgMTIwNzgwLCAxMjA3ODYsIDEyMDc5MiwgMTIwNzk4LCAxMjA4MDQsIDEyMDgxMCwgMTIwODE2LCAxMjA4MjIsIAotICAgIDEyMDgyOCwgMTIwODM0LCAxMjA4NDAsIDEyMDg0NiwgMTIwODUyLCAxMjA4NTgsIDEyMDg2NCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMTIwODcwLCAxMjA4NzUsIDEyMDg4MCwgMCwgMTIwODg1LCAxMjA4OTAsIDEyMDg5NSwgMTIwOTAwLCAxMjA5MDUsIDAsIAotICAgIDEyMDkxMCwgMTIwOTE1LCAxMjA5MjAsIDEyMDkyNSwgMTIwOTMwLCAxMjA5MzUsIDEyMDk0MCwgMTIwOTQ1LCAxMjA5NTAsIAotICAgIDEyMDk1NSwgMTIwOTYwLCAxMjA5NjUsIDEyMDk3MCwgMTIwOTc1LCAxMjA5ODAsIDEyMDk4NSwgMTIwOTkwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAxMjA5OTUsIDEyMTAwNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTIxMDEzLCAKLSAgICAxMjEwMjAsIDEyMTAyNywgMTIxMDM0LCAxMjEwNDEsIDEyMTA0OCwgMTIxMDU1LCAxMjEwNjEsIDEyMTA2OCwgMTIxMDc1LCAKLSAgICAxMjEwODIsIDEyMTA5MCwgMTIxMDk4LCAxMjExMDYsIDEyMTExNCwgMTIxMTIyLCAxMjExMzAsIDEyMTEzNywgMTIxMTQ0LCAKLSAgICAxMjExNTEsIDEyMTE1OSwgMTIxMTY3LCAxMjExNzUsIDEyMTE4MywgMTIxMTkxLCAxMjExOTksIDEyMTIwNiwgMTIxMjEzLCAKLSAgICAxMjEyMjAsIDEyMTIyOCwgMTIxMjM2LCAxMjEyNDQsIDEyMTI1MiwgMTIxMjYwLCAxMjEyNjgsIDEyMTI3MywgMTIxMjc4LCAKLSAgICAxMjEyODMsIDEyMTI4OCwgMTIxMjkzLCAxMjEyOTgsIDEyMTMwMywgMTIxMzA4LCAxMjEzMTMsIDAsIDAsIDAsIDAsIAotICAgIDEyMTMxOCwgMTIxMzIzLCAxMjEzMjcsIDEyMTMzMSwgMTIxMzM1LCAxMjEzMzksIDEyMTM0MywgMTIxMzQ3LCAxMjEzNTEsIAotICAgIDEyMTM1NSwgMTIxMzU5LCAxMjEzNjMsIDEyMTM2NywgMTIxMzcxLCAxMjEzNzUsIDEyMTM3OSwgMTIxMzgzLCAxMjEzODcsIAotICAgIDEyMTM5MSwgMTIxMzk1LCAxMjEzOTksIDEyMTQwMywgMTIxNDA3LCAxMjE0MTEsIDEyMTQxNSwgMTIxNDE5LCAxMjE0MjMsIAotICAgIDEyMTQyNywgMTIxNDMxLCAxMjE0MzUsIDEyMTQzOSwgMTIxNDQzLCAxMjE0NDcsIDEyMTQ1MSwgMTIxNDU1LCAxMjE0NTksIAotICAgIDEyMTQ2MywgMTIxNDY3LCAxMjE0NzEsIDEyMTQ3NSwgMTIxNDc5LCAxMjE0ODMsIDEyMTQ4NywgMTIxNDkxLCAxMjE0OTUsIAotICAgIDEyMTQ5OSwgMTIxNTAzLCAxMjE1MDcsIDEyMTUxMSwgMTIxNTE1LCAxMjE1MTksIDEyMTUyNCwgMTIxNTI4LCAxMjE1MzIsIAotICAgIDEyMTUzNiwgMTIxNTQwLCAxMjE1NDQsIDEyMTU0OCwgMTIxNTUyLCAxMjE1NTYsIDEyMTU2MCwgMTIxNTY0LCAxMjE1NjgsIAotICAgIDEyMTU3MiwgMTIxNTc2LCAxMjE1ODAsIDEyMTU4NCwgMTIxNTg4LCAxMjE1OTIsIDEyMTU5NiwgMTIxNjAwLCAxMjE2MDQsIAotICAgIDEyMTYwOCwgMTIxNjEyLCAxMjE2MTYsIDEyMTYyMCwgMTIxNjI0LCAxMjE2MjgsIDEyMTYzMiwgMTIxNjM2LCAxMjE2NDAsIAotICAgIDEyMTY0NCwgMTIxNjQ4LCAxMjE2NTIsIDEyMTY1NiwgMTIxNjYwLCAxMjE2NjQsIDEyMTY2OCwgMTIxNjcyLCAxMjE2NzYsIAotICAgIDEyMTY4MCwgMTIxNjg0LCAxMjE2ODgsIDEyMTY5MiwgMTIxNjk2LCAxMjE3MDAsIDEyMTcwNCwgMTIxNzA4LCAxMjE3MTIsIAotICAgIDEyMTcxNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTIxNzIwLCAxMjE3MjYsIDEyMTczNSwgCi0gICAgMTIxNzQzLCAxMjE3NTEsIDEyMTc2MCwgMTIxNzY5LCAxMjE3NzgsIDEyMTc4NywgMTIxNzk2LCAxMjE4MDUsIDEyMTgxNCwgCi0gICAgMTIxODIzLCAxMjE4MzIsIDEyMTg0MSwgMCwgMCwgMTIxODUwLCAxMjE4NTksIDEyMTg2NywgMTIxODc1LCAxMjE4ODQsIAotICAgIDEyMTg5MywgMTIxOTAyLCAxMjE5MTEsIDEyMTkyMCwgMTIxOTI5LCAxMjE5MzgsIDEyMTk0NywgMTIxOTU2LCAxMjE5NjUsIAotICAgIDAsIDAsIDEyMTk3NCwgMTIxOTgzLCAxMjE5OTEsIDEyMTk5OSwgMTIyMDA4LCAxMjIwMTcsIDEyMjAyNiwgMTIyMDM1LCAKLSAgICAxMjIwNDQsIDEyMjA1MywgMTIyMDYyLCAxMjIwNzEsIDEyMjA4MCwgMTIyMDg5LCAxMjIwOTgsIDAsIDEyMjEwNSwgCi0gICAgMTIyMTE0LCAxMjIxMjIsIDEyMjEzMCwgMTIyMTM5LCAxMjIxNDgsIDEyMjE1NywgMTIyMTY2LCAxMjIxNzUsIDEyMjE4NCwgCi0gICAgMTIyMTkzLCAxMjIyMDIsIDEyMjIxMSwgMTIyMjIwLCAxMjIyMjksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyMjIzNiwgCi0gICAgMTIyMjQzLCAxMjIyNDgsIDEyMjI1MiwgMTIyMjU2LCAxMjIyNjAsIDEyMjI2NSwgMTIyMjcwLCAxMjIyNzUsIDEyMjI4MCwgCi0gICAgMTIyMjg1LCAwLCAwLCAwLCAwLCAwLCAxMjIyOTAsIDEyMjI5NSwgMTIyMzAxLCAxMjIzMDcsIDEyMjMxMywgMTIyMzE4LCAKLSAgICAxMjIzMjQsIDEyMjMzMCwgMTIyMzM2LCAxMjIzNDEsIDEyMjM0NywgMTIyMzUzLCAxMjIzNTgsIDEyMjM2MywgMTIyMzY5LCAKLSAgICAxMjIzNzQsIDEyMjM4MCwgMTIyMzg2LCAxMjIzOTEsIDEyMjM5NywgMTIyNDAzLCAxMjI0MDgsIDEyMjQxNCwgMTIyNDIwLCAKLSAgICAxMjI0MjYsIDEyMjQzMiwgMTIyNDM4LCAxMjI0NDksIDEyMjQ1NiwgMTIyNDYyLCAxMjI0NjUsIDAsIDEyMjQ2OCwgCi0gICAgMTIyNDczLCAxMjI0NzksIDEyMjQ4NSwgMTIyNDkxLCAxMjI0OTYsIDEyMjUwMiwgMTIyNTA4LCAxMjI1MTQsIDEyMjUxOSwgCi0gICAgMTIyNTI1LCAxMjI1MzEsIDEyMjUzNiwgMTIyNTQxLCAxMjI1NDcsIDEyMjU1MiwgMTIyNTU4LCAxMjI1NjQsIDEyMjU2OSwgCi0gICAgMTIyNTc1LCAxMjI1ODEsIDEyMjU4NiwgMTIyNTkyLCAxMjI1OTgsIDEyMjYwNCwgMTIyNjEwLCAxMjI2MTYsIDEyMjYxOSwgCi0gICAgMTIyNjIyLCAxMjI2MjUsIDEyMjYyOCwgMTIyNjMxLCAxMjI2MzQsIDEyMjY0MCwgMTIyNjQ3LCAxMjI2NTQsIDEyMjY2MSwgCi0gICAgMTIyNjY3LCAxMjI2NzQsIDEyMjY4MSwgMTIyNjg4LCAxMjI2OTQsIDEyMjcwMSwgMTIyNzA4LCAxMjI3MTQsIDEyMjcyMCwgCi0gICAgMTIyNzI3LCAxMjI3MzMsIDEyMjc0MCwgMTIyNzQ3LCAxMjI3NTMsIDEyMjc2MCwgMTIyNzY3LCAxMjI3NzMsIDEyMjc4MCwgCi0gICAgMTIyNzg3LCAxMjI3OTQsIDEyMjgwMSwgMTIyODA4LCAxMjI4MTMsIDAsIDAsIDAsIDAsIDEyMjgxOCwgMTIyODI0LCAKLSAgICAxMjI4MzEsIDEyMjgzOCwgMTIyODQ1LCAxMjI4NTEsIDEyMjg1OCwgMTIyODY1LCAxMjI4NzIsIDEyMjg3OCwgMTIyODg1LCAKLSAgICAxMjI4OTIsIDEyMjg5OCwgMTIyOTA0LCAxMjI5MTEsIDEyMjkxNywgMTIyOTI0LCAxMjI5MzEsIDEyMjkzNywgMTIyOTQ0LCAKLSAgICAxMjI5NTEsIDEyMjk1NywgMTIyOTY0LCAxMjI5NzEsIDEyMjk3OCwgMTIyOTg1LCAxMjI5OTIsIDEyMzAwMSwgMTIzMDA1LCAKLSAgICAxMjMwMDgsIDEyMzAxMSwgMTIzMDE1LCAxMjMwMTksIDEyMzAyMiwgMTIzMDI1LCAxMjMwMjgsIDEyMzAzMSwgMTIzMDM0LCAKLSAgICAxMjMwMzcsIDEyMzA0MCwgMTIzMDQzLCAxMjMwNDYsIDEyMzA1MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTIzMDU1LCAxMjMwNjIsIDEyMzA3MCwgCi0gICAgMTIzMDc4LCAxMjMwODYsIDEyMzA5MywgMTIzMTAxLCAxMjMxMDksIDEyMzExNywgMTIzMTI0LCAxMjMxMzIsIDEyMzE0MCwgCi0gICAgMTIzMTQ3LCAxMjMxNTQsIDEyMzE2MiwgMTIzMTY5LCAxMjMxNzcsIDEyMzE4NSwgMTIzMTkyLCAxMjMyMDAsIDEyMzIwOCwgCi0gICAgMTIzMjE1LCAxMjMyMjMsIDEyMzIzMSwgMTIzMjM5LCAxMjMyNDcsIDEyMzI1NSwgMTIzMjU5LCAxMjMyNjMsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyMzI2NiwgMTIzMjcyLCAxMjMyNzgsIDEyMzI4NCwgMTIzMjg4LCAKLSAgICAxMjMyOTQsIDEyMzMwMCwgMTIzMzA2LCAxMjMzMTIsIDEyMzMxOCwgMTIzMzI0LCAxMjMzMzAsIDEyMzMzNiwgMTIzMzQyLCAKLSAgICAxMjMzNDgsIDEyMzM1NCwgMTIzMzYwLCAxMjMzNjYsIDEyMzM3MiwgMTIzMzc4LCAxMjMzODQsIDEyMzM5MCwgMTIzMzk2LCAKLSAgICAxMjM0MDIsIDEyMzQwOCwgMTIzNDE0LCAxMjM0MjAsIDEyMzQyNiwgMTIzNDMyLCAxMjM0MzgsIDEyMzQ0NCwgMTIzNDUwLCAKLSAgICAxMjM0NTYsIDEyMzQ2MiwgMTIzNDY4LCAxMjM0NzQsIDEyMzQ4MCwgMTIzNDg2LCAxMjM0OTIsIDEyMzQ5OCwgMTIzNTA0LCAKLSAgICAxMjM1MTAsIDEyMzUxNiwgMCwgMCwgMCwgMCwgMCwgMTIzNTIyLCAxMjM1MzMsIDEyMzU0NCwgMTIzNTU1LCAxMjM1NjYsIAotICAgIDEyMzU3NywgMTIzNTg4LCAxMjM1OTksIDEyMzYxMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTIzNjIxLCAxMjM2MjUsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyMzYyOSwgCi0gICAgMTIzNjMxLCAxMjM2MzMsIDEyMzYzNywgMTIzNjQyLCAxMjM2NDcsIDEyMzY0OSwgMTIzNjU1LCAxMjM2NjAsIDEyMzY2MiwgCi0gICAgMTIzNjY4LCAxMjM2NzIsIDEyMzY3NCwgMTIzNjc4LCAxMjM2ODQsIDEyMzY5MCwgMTIzNjk2LCAxMjM3MDEsIDEyMzcwNSwgCi0gICAgMTIzNzEyLCAxMjM3MTksIDEyMzcyNiwgMTIzNzMxLCAxMjM3MzgsIDEyMzc0NSwgMTIzNzUyLCAxMjM3NTYsIDEyMzc2MiwgCi0gICAgMTIzNzcxLCAxMjM3ODAsIDEyMzc4NywgMTIzNzkyLCAxMjM3OTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDEyMzgwMCwgMTIzODAyLCAxMjM4MDQsIDEyMzgwOCwgMTIzODEyLCAxMjM4MTYsIDAsIDEyMzgxOCwgCi0gICAgMTIzODIwLCAxMjM4MjQsIDEyMzgyNiwgMTIzODI4LCAxMjM4MzAsIDEyMzgzMiwgMTIzODM3LCAxMjM4NDIsIDEyMzg0NCwgCi0gICAgMTIzODUwLCAxMjM4NTQsIDEyMzg1OCwgMTIzODY2LCAxMjM4NjgsIDEyMzg3MCwgMTIzODcyLCAxMjM4NzQsIDEyMzg3NiwgCi0gICAgMTIzODc4LCAxMjM4ODAsIDEyMzg4MiwgMTIzODg0LCAxMjM4ODYsIDEyMzg5MCwgMTIzODk0LCAxMjM4OTYsIDEyMzg5OCwgCi0gICAgMTIzOTAwLCAxMjM5MDIsIDEyMzkwNCwgMTIzOTA5LCAxMjM5MTUsIDEyMzkxOSwgMTIzOTIzLCAxMjM5MjcsIDEyMzkzMSwgCi0gICAgMTIzOTM2LCAxMjM5NDAsIDEyMzk0MiwgMTIzOTQ0LCAxMjM5NDgsIDEyMzk1NCwgMTIzOTU2LCAxMjM5NTgsIDEyMzk2MCwgCi0gICAgMTIzOTY0LCAxMjM5NzMsIDEyMzk3OSwgMTIzOTgzLCAxMjM5ODcsIDEyMzk4OSwgMTIzOTkxLCAxMjM5OTQsIDEyMzk5NiwgCi0gICAgMTIzOTk4LCAxMjQwMDAsIDEyNDAwNCwgMTI0MDA2LCAxMjQwMTAsIDEyNDAxNSwgMTI0MDE3LCAxMjQwMjIsIDEyNDAyOCwgCi0gICAgMTI0MDM1LCAxMjQwMzksIDEyNDA0MywgMTI0MDQ3LCAxMjQwNTEsIDEyNDA1NywgMCwgMCwgMCwgMTI0MDYxLCAxMjQwNjMsIAotICAgIDEyNDA2NywgMTI0MDcxLCAxMjQwNzMsIDEyNDA3NywgMTI0MDgxLCAxMjQwODMsIDEyNDA4NywgMTI0MDg5LCAxMjQwOTMsIAotICAgIDEyNDA5NywgMTI0MTAxLCAxMjQxMDUsIDEyNDEwOSwgMTI0MTEzLCAxMjQxMTcsIDEyNDEyMSwgMTI0MTI3LCAxMjQxMzEsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyNDEzNSwgMTI0MTM5LCAxMjQxNDMsIDEyNDE0NywgCi0gICAgMTI0MTU0LCAxMjQxNTYsIDEyNDE2MCwgMTI0MTYyLCAxMjQxNjQsIDEyNDE2OCwgMTI0MTcyLCAxMjQxNzYsIDEyNDE3OCwgCi0gICAgMTI0MTgyLCAxMjQxODYsIDEyNDE5MCwgMTI0MTk0LCAxMjQxOTgsIDEyNDIwMCwgMTI0MjA0LCAxMjQyMDYsIDEyNDIxMiwgCi0gICAgMTI0MjE1LCAxMjQyMjAsIDEyNDIyMiwgMTI0MjI0LCAxMjQyMjcsIDEyNDIyOSwgMTI0MjMxLCAxMjQyMzQsIDEyNDI0MSwgCi0gICAgMTI0MjQ4LCAxMjQyNTUsIDEyNDI2MCwgMTI0MjY0LCAxMjQyNjYsIDEyNDI2OCwgMCwgMTI0MjcwLCAxMjQyNzIsIAotICAgIDEyNDI3NiwgMTI0MjgwLCAxMjQyODQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDEyNDI4NiwgMTI0MjkwLCAxMjQyOTUsIDEyNDI5OSwgMTI0MzA1LCAxMjQzMTEsIDEyNDMxMywgCi0gICAgMTI0MzE1LCAxMjQzMjEsIDEyNDMyMywgMTI0MzI3LCAxMjQzMzEsIDEyNDMzMywgMTI0MzM3LCAxMjQzMzksIDEyNDM0MywgCi0gICAgMTI0MzQ3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjQzNTEsIDEyNDM1MywgCi0gICAgMTI0MzU1LCAxMjQzNTcsIDEyNDM2MSwgMTI0MzYzLCAxMjQzNjUsIDEyNDM2NywgMTI0MzY5LCAxMjQzNzEsIDEyNDM3MywgCi0gICAgMTI0Mzc1LCAxMjQzNzcsIDEyNDM3OSwgMTI0MzgxLCAxMjQzODMsIDEyNDM4NSwgMTI0Mzg3LCAxMjQzODksIDEyNDM5MSwgCi0gICAgMTI0MzkzLCAxMjQzOTUsIDEyNDM5NywgMTI0Mzk5LCAxMjQ0MDEsIDEyNDQwMywgMTI0NDA1LCAxMjQ0MDksIDEyNDQxMSwgCi0gICAgMTI0NDEzLCAxMjQ0MTUsIDEyNDQxOSwgMTI0NDIxLCAxMjQ0MjUsIDEyNDQyNywgMTI0NDI5LCAxMjQ0MzMsIDEyNDQzNywgCi0gICAgMTI0NDQzLCAxMjQ0NDUsIDEyNDQ0NywgMTI0NDQ5LCAxMjQ0NTEsIDEyNDQ1NSwgMTI0NDU5LCAxMjQ0NjEsIDEyNDQ2NSwgCi0gICAgMTI0NDY5LCAxMjQ0NzMsIDEyNDQ3NywgMTI0NDgxLCAxMjQ0ODUsIDEyNDQ4OSwgMTI0NDkzLCAxMjQ0OTcsIDEyNDUwMSwgCi0gICAgMTI0NTA1LCAxMjQ1MDksIDEyNDUxMywgMTI0NTE3LCAxMjQ1MjEsIDEyNDUyNSwgMTI0NTI5LCAwLCAxMjQ1MzMsIDAsIAotICAgIDEyNDUzNSwgMTI0NTM3LCAxMjQ1MzksIDEyNDU0MSwgMTI0NTQzLCAxMjQ1NTEsIDEyNDU1OSwgMTI0NTY3LCAxMjQ1NzUsIAotICAgIDEyNDU4MCwgMTI0NTg1LCAxMjQ1OTAsIDEyNDU5NCwgMTI0NTk4LCAxMjQ2MDMsIDEyNDYwNywgMTI0NjA5LCAxMjQ2MTMsIAotICAgIDEyNDYxNSwgMTI0NjE3LCAxMjQ2MTksIDEyNDYyMSwgMTI0NjIzLCAxMjQ2MjUsIDEyNDYyNywgMTI0NjMxLCAxMjQ2MzMsIAotICAgIDEyNDYzNSwgMTI0NjM3LCAxMjQ2NDEsIDEyNDY0NSwgMTI0NjQ5LCAxMjQ2NTMsIDEyNDY1NywgMTI0NjU5LCAxMjQ2NjUsIAotICAgIDEyNDY3MSwgMTI0NjczLCAxMjQ2NzUsIDEyNDY3NywgMTI0Njc5LCAxMjQ2ODEsIDEyNDY5MCwgMTI0Njk3LCAxMjQ3MDQsIAotICAgIDEyNDcwOCwgMTI0NzE1LCAxMjQ3MjAsIDEyNDcyNywgMTI0NzM2LCAxMjQ3NDEsIDEyNDc0NSwgMTI0NzQ5LCAxMjQ3NTEsIAotICAgIDEyNDc1NSwgMTI0NzU3LCAxMjQ3NjEsIDEyNDc2NSwgMTI0NzY3LCAxMjQ3NzEsIDEyNDc3NSwgMTI0Nzc5LCAxMjQ3ODEsIAotICAgIDEyNDc4MywgMTI0Nzg5LCAxMjQ3OTEsIDEyNDc5MywgMTI0Nzk1LCAxMjQ3OTksIDEyNDgwMywgMTI0ODA1LCAxMjQ4MDksIAotICAgIDEyNDgxMSwgMTI0ODEzLCAxMjQ4MTYsIDEyNDgyMCwgMTI0ODIyLCAxMjQ4MjYsIDEyNDgyOCwgMTI0ODMwLCAxMjQ4MzUsIAotICAgIDEyNDgzNywgMTI0ODQxLCAxMjQ4NDUsIDEyNDg0OCwgMTI0ODUyLCAxMjQ4NTYsIDEyNDg2MCwgMTI0ODY0LCAxMjQ4NjgsIAotICAgIDEyNDg3MiwgMTI0ODc2LCAxMjQ4ODEsIDEyNDg4NSwgMTI0ODg5LCAxMjQ4OTgsIDEyNDkwMywgMTI0OTA2LCAxMjQ5MDgsIAotICAgIDEyNDkxMSwgMTI0OTE0LCAxMjQ5MTksIDEyNDkyMSwgMTI0OTI0LCAxMjQ5MjksIDEyNDkzMywgMTI0OTM2LCAxMjQ5NDAsIAotICAgIDEyNDk0NCwgMTI0OTQ3LCAxMjQ5NTIsIDEyNDk1NiwgMTI0OTYwLCAxMjQ5NjQsIDEyNDk2OCwgMTI0OTc0LCAxMjQ5ODAsIAotICAgIDEyNDk4NiwgMTI0OTkyLCAxMjQ5OTcsIDEyNTAwOCwgMTI1MDEwLCAxMjUwMTQsIDEyNTAxNiwgMTI1MDE4LCAxMjUwMjIsIAotICAgIDEyNTAyNiwgMTI1MDI4LCAxMjUwMzIsIDEyNTAzNywgMTI1MDQyLCAxMjUwNDgsIDEyNTA1MCwgMTI1MDU0LCAxMjUwNTgsIAotICAgIDEyNTA2NSwgMTI1MDcyLCAxMjUwNzYsIDEyNTA3OCwgMTI1MDgwLCAxMjUwODQsIDEyNTA4NiwgMTI1MDkwLCAxMjUwOTQsIAotICAgIDEyNTA5OCwgMTI1MTAwLCAxMjUxMDIsIDEyNTEwOSwgMTI1MTEzLCAxMjUxMTYsIDEyNTEyMCwgMTI1MTI0LCAxMjUxMjgsIAotICAgIDEyNTEzMCwgMTI1MTM0LCAxMjUxMzYsIDEyNTEzOCwgMTI1MTQyLCAxMjUxNDQsIDEyNTE0OCwgMTI1MTUyLCAxMjUxNTgsIAotICAgIDEyNTE2MiwgMTI1MTY2LCAxMjUxNzAsIDEyNTE3MiwgMTI1MTc1LCAxMjUxNzksIDEyNTE4NiwgMTI1MTk1LCAxMjUyMDQsIAotICAgIDEyNTIxMiwgMTI1MjIwLCAxMjUyMjIsIDEyNTIyNiwgMTI1MjI4LCAxMjUyMzIsIDEyNTI0MywgMTI1MjQ3LCAxMjUyNTMsIAotICAgIDEyNTI1OSwgMTI1MjY0LCAwLCAxMjUyNjYsIDEyNTI3MCwgMTI1MjcyLCAxMjUyNzQsIDAsIDAsIDAsIDEyNTI3NiwgCi0gICAgMTI1MjgxLCAxMjUyOTEsIDEyNTMwNiwgMTI1MzE4LCAxMjUzMzAsIDEyNTMzNCwgMTI1MzM4LCAxMjUzNDQsIDEyNTM0NiwgCi0gICAgMTI1MzU0LCAxMjUzNjIsIDEyNTM2NCwgMTI1MzY4LCAxMjUzNzQsIDEyNTM4MCwgMTI1Mzg3LCAxMjUzOTQsIDEyNTM5NiwgCi0gICAgMTI1Mzk4LCAxMjU0MDEsIDEyNTQwMywgMTI1NDA5LCAxMjU0MTEsIDEyNTQxNCwgMTI1NDE4LCAxMjU0MjQsIDEyNTQzMCwgCi0gICAgMTI1NDQxLCAxMjU0NDcsIDEyNTQ1NCwgMTI1NDYyLCAxMjU0NjYsIDEyNTQ3NCwgMTI1NDgyLCAxMjU0ODgsIDEyNTQ5NCwgCi0gICAgMTI1NTAxLCAxMjU1MDMsIDEyNTUwNywgMTI1NTA5LCAxMjU1MTEsIDEyNTUxNiwgMTI1NTE4LCAxMjU1MjAsIDEyNTUyMiwgCi0gICAgMTI1NTI0LCAxMjU1MjgsIDEyNTUzOSwgMTI1NTQ1LCAxMjU1NDksIDEyNTU1MywgMTI1NTU3LCAxMjU1NjMsIDEyNTU2OSwgCi0gICAgMTI1NTc1LCAxMjU1ODEsIDEyNTU4NiwgMTI1NTkxLCAxMjU1OTcsIDEyNTYwMywgMTI1NjEwLCAwLCAwLCAxMjU2MTcsIAotICAgIDEyNTYyMiwgMTI1NjMwLCAxMjU2MzQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyNTY0MywgCi0gICAgMTI1NjUwLCAxMjU2NTcsIDEyNTY2NCwgMTI1NjcyLCAxMjU2ODAsIDEyNTY4OCwgMTI1Njk2LCAxMjU3MDQsIDEyNTcxMiwgCi0gICAgMTI1NzIwLCAxMjU3MjgsIDEyNTczNiwgMTI1NzQyLCAxMjU3NDgsIDEyNTc1NCwgMTI1NzYwLCAxMjU3NjYsIDEyNTc3MiwgCi0gICAgMTI1Nzc4LCAxMjU3ODQsIDEyNTc5MCwgMTI1Nzk2LCAxMjU4MDIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDk1MTY4LCA5NTE3MywgOTUxNzgsIDk1MTgzLCA5NTE4OCwgCisgICAgOTUxOTMsIDk1MTk4LCA5NTIwMywgOTUyMDgsIDk1MjEzLCA5NTIxOCwgOTUyMjMsIDk1MjI4LCA5NTIzMywgOTUyMzgsIAorICAgIDk1MjQzLCA5NTI0OCwgOTUyNTMsIDk1MjU4LCA5NTI2MywgOTUyNjgsIDk1MjczLCA5NTI3OCwgOTUyODMsIDk1Mjg4LCAKKyAgICA5NTI5MywgOTUyOTgsIDk1MzAzLCA5NTMwOCwgOTUzMTMsIDk1MzE4LCA5NTMyMywgOTUzMjgsIDk1MzMzLCA5NTMzOCwgCisgICAgOTUzNDMsIDk1MzQ4LCA5NTM1MywgOTUzNTgsIDk1MzYzLCA5NTM2OCwgOTUzNzMsIDk1Mzc4LCA5NTM4MywgOTUzODgsIAorICAgIDk1MzkzLCA5NTM5OCwgOTU0MDMsIDk1NDA4LCA5NTQxMywgOTU0MTgsIDk1NDIzLCA5NTQyOCwgOTU0MzMsIDk1NDM4LCAKKyAgICA5NTQ0MywgOTU0NDgsIDk1NDUzLCA5NTQ1OCwgOTU0NjMsIDk1NDY4LCA5NTQ3MywgOTU0NzgsIDk1NDgzLCA5NTQ4OCwgCisgICAgOTU0OTMsIDk1NDk4LCA5NTUwMywgOTU1MDgsIDk1NTEzLCA5NTUxOCwgOTU1MjMsIDk1NTI4LCA5NTUzMywgOTU1MzgsIAorICAgIDk1NTQzLCA5NTU0OCwgOTU1NTMsIDk1NTU4LCA5NTU2MywgOTU1NjgsIDk1NTczLCA5NTU3OCwgOTU1ODMsIDk1NTg4LCAKKyAgICA5NTU5MywgOTU1OTgsIDk1NjAzLCA5NTYwOCwgOTU2MTMsIDk1NjE4LCA5NTYyMywgOTU2MjgsIDk1NjMzLCA5NTYzOCwgCisgICAgOTU2NDMsIDk1NjQ4LCA5NTY1MywgOTU2NTgsIDk1NjYzLCA5NTY2OCwgOTU2NzMsIDk1Njc4LCA5NTY4MywgOTU2ODgsIAorICAgIDk1NjkzLCA5NTY5OCwgOTU3MDMsIDk1NzA4LCA5NTcxMywgOTU3MTgsIDk1NzIzLCA5NTcyOCwgOTU3MzMsIDk1NzM4LCAKKyAgICA5NTc0MywgOTU3NDgsIDk1NzUzLCA5NTc1OCwgOTU3NjMsIDk1NzY4LCA5NTc3MywgOTU3NzgsIDk1NzgzLCA5NTc4OCwgCisgICAgOTU3OTMsIDk1Nzk4LCA5NTgwMywgOTU4MDgsIDk1ODEzLCA5NTgxOCwgOTU4MjMsIDk1ODI4LCA5NTgzMywgOTU4MzgsIAorICAgIDk1ODQzLCA5NTg0OCwgOTU4NTMsIDk1ODU4LCA5NTg2MywgOTU4NjgsIDk1ODczLCA5NTg3OCwgOTU4ODMsIDk1ODg4LCAKKyAgICA5NTg5MywgOTU4OTgsIDk1OTAzLCA5NTkwOCwgOTU5MTMsIDk1OTE4LCA5NTkyMywgOTU5MjgsIDk1OTMzLCA5NTkzOCwgCisgICAgOTU5NDMsIDk1OTQ4LCA5NTk1MywgOTU5NTgsIDk1OTYzLCA5NTk2OCwgOTU5NzMsIDk1OTc4LCA5NTk4MywgOTU5ODgsIAorICAgIDk1OTkzLCA5NTk5OCwgOTYwMDMsIDk2MDA4LCA5NjAxMywgOTYwMTgsIDk2MDIzLCA5NjAyOCwgOTYwMzMsIDk2MDM4LCAKKyAgICA5NjA0MywgOTYwNDgsIDk2MDUzLCA5NjA1OCwgOTYwNjMsIDk2MDY4LCA5NjA3MywgOTYwNzgsIDk2MDgzLCA5NjA4OCwgCisgICAgOTYwOTMsIDk2MDk4LCA5NjEwMywgOTYxMDgsIDk2MTEzLCA5NjExOCwgOTYxMjMsIDk2MTI4LCA5NjEzMywgOTYxMzgsIAorICAgIDk2MTQzLCA5NjE0OCwgOTYxNTMsIDk2MTU4LCA5NjE2MywgOTYxNjgsIDk2MTczLCA5NjE3OCwgOTYxODMsIDk2MTg4LCAKKyAgICA5NjE5MywgOTYxOTgsIDk2MjAzLCA5NjIwOCwgOTYyMTMsIDk2MjE4LCA5NjIyMywgOTYyMjgsIDk2MjMzLCA5NjIzOCwgCisgICAgOTYyNDMsIDk2MjQ4LCA5NjI1MywgOTYyNTgsIDk2MjYzLCA5NjI2OCwgOTYyNzMsIDk2Mjc4LCA5NjI4MywgOTYyODgsIAorICAgIDk2MjkzLCA5NjI5OCwgOTYzMDMsIDk2MzA4LCA5NjMxMywgOTYzMTgsIDk2MzIzLCA5NjMyOCwgOTYzMzMsIDk2MzM4LCAKKyAgICA5NjM0MywgOTYzNDgsIDk2MzUzLCA5NjM1OCwgOTYzNjMsIDk2MzY4LCA5NjM3MywgOTYzNzgsIDk2MzgzLCA5NjM4OCwgCisgICAgOTYzOTMsIDk2Mzk4LCA5NjQwMywgOTY0MDgsIDk2NDEzLCA5NjQxOCwgOTY0MjMsIDk2NDI4LCA5NjQzMywgOTY0MzgsIAorICAgIDk2NDQzLCA5NjQ0OCwgOTY0NTMsIDk2NDU4LCA5NjQ2MywgOTY0NjgsIDk2NDczLCA5NjQ3OCwgOTY0ODMsIDk2NDg4LCAKKyAgICA5NjQ5MywgOTY0OTgsIDk2NTAzLCA5NjUwOCwgOTY1MTMsIDk2NTE4LCA5NjUyMywgOTY1MjgsIDk2NTMzLCA5NjUzOCwgCisgICAgOTY1NDMsIDk2NTQ4LCA5NjU1MywgOTY1NTgsIDk2NTYzLCA5NjU2OCwgOTY1NzMsIDk2NTc4LCA5NjU4MywgOTY1ODgsIAorICAgIDk2NTkzLCA5NjU5OCwgOTY2MDMsIDk2NjA4LCA5NjYxMywgOTY2MTgsIDk2NjIzLCA5NjYyOCwgOTY2MzMsIDk2NjM4LCAKKyAgICA5NjY0MywgOTY2NDgsIDk2NjUzLCA5NjY1OCwgOTY2NjMsIDk2NjY4LCA5NjY3MywgOTY2NzgsIDk2NjgzLCA5NjY4OCwgCisgICAgOTY2OTMsIDk2Njk4LCA5NjcwMywgOTY3MDgsIDk2NzEzLCA5NjcxOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOTY3MjMsIDk2NzI5LCA5NjczNiwgOTY3NDMsIDk2NzQ5LCA5Njc1NiwgOTY3NjMsIDk2NzcwLCA5Njc3NywgOTY3ODMsIAorICAgIDk2NzkwLCA5Njc5NywgOTY4MDQsIDk2ODExLCA5NjgxOCwgOTY4MjUsIDk2ODMyLCA5NjgzOSwgOTY4NDYsIDk2ODUzLCAKKyAgICA5Njg2MCwgOTY4NjcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDk2ODc0LCA5Njg3OSwgOTY4ODQsIDk2ODg5LCAKKyAgICA5Njg5NCwgOTY4OTksIDk2OTA0LCA5NjkwOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTI1ODA4LCAxMjU4MTIsIDEyNTgxNiwgCi0gICAgMTI1ODIxLCAxMjU4MjYsIDEyNTgyOCwgMTI1ODMyLCAxMjU4NDEsIDEyNTg0OSwgMTI1ODU3LCAxMjU4NzAsIDEyNTg4MywgCi0gICAgMTI1ODk2LCAxMjU5MDMsIDEyNTkxMCwgMTI1OTE0LCAxMjU5MjMsIDEyNTkzMSwgMTI1OTM1LCAxMjU5NDQsIDEyNTk1MSwgCi0gICAgMTI1OTU1LCAxMjU5NTksIDEyNTk2MywgMTI1OTY3LCAxMjU5NzQsIDEyNTk3OCwgMTI1OTgyLCAxMjU5ODYsIDEyNTk5MCwgCi0gICAgMTI1OTk3LCAxMjYwMDYsIDEyNjAxNSwgMTI2MDIyLCAxMjYwMzQsIDEyNjA0NiwgMTI2MDUwLCAxMjYwNTQsIDEyNjA1OCwgCi0gICAgMTI2MDYyLCAxMjYwNjYsIDEyNjA3MCwgMTI2MDc4LCAxMjYwODYsIDEyNjA5NCwgMTI2MDk4LCAxMjYxMDIsIDEyNjEwNiwgCi0gICAgMTI2MTEwLCAxMjYxMTQsIDEyNjExOCwgMTI2MTI0LCAxMjYxMzAsIDEyNjEzNCwgMTI2MTQ1LCAxMjYxNTMsIDEyNjE1NywgCi0gICAgMTI2MTYxLCAxMjYxNjUsIDEyNjE2OSwgMTI2MTc1LCAxMjYxODIsIDEyNjE5MywgMTI2MjAzLCAxMjYyMTMsIDEyNjIyNCwgCi0gICAgMTI2MjMzLCAxMjYyNDQsIDEyNjI1MCwgMTI2MjU2LCAwLCAwLCAwLCAwLCAxMjYyNjIsIDEyNjI3MSwgMTI2Mjc4LCAKLSAgICAxMjYyODQsIDEyNjI4OCwgMTI2MjkyLCAxMjYyOTYsIDEyNjMwNSwgMTI2MzE3LCAxMjYzMjEsIDEyNjMyOCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTI2MzM1LCAKLSAgICAxMjYzMzcsIDEyNjMzOSwgMTI2MzQzLCAxMjYzNDcsIDEyNjM1MSwgMTI2MzYwLCAxMjYzNjIsIDEyNjM2NCwgMTI2MzY3LCAKLSAgICAxMjYzNjksIDEyNjM3MSwgMTI2Mzc1LCAxMjYzNzcsIDEyNjM4MSwgMTI2MzgzLCAxMjYzODcsIDEyNjM4OSwgMTI2MzkxLCAKLSAgICAxMjYzOTUsIDEyNjM5OSwgMTI2NDA1LCAxMjY0MDcsIDEyNjQxMSwgMTI2NDEzLCAxMjY0MTcsIDEyNjQyMSwgMTI2NDI1LCAKLSAgICAxMjY0MjksIDEyNjQzMSwgMTI2NDMzLCAxMjY0MzcsIDEyNjQ0MSwgMTI2NDQ1LCAxMjY0NDksIDEyNjQ1MSwgMTI2NDUzLCAKLSAgICAxMjY0NTUsIDEyNjQ2MCwgMTI2NDY1LCAxMjY0NjgsIDEyNjQ3NiwgMTI2NDg0LCAxMjY0ODYsIDEyNjQ5MSwgMTI2NDk0LCAKLSAgICAxMjY0OTksIDEyNjUxMCwgMTI2NTE3LCAxMjY1MjIsIDEyNjUyNywgMTI2NTI5LCAxMjY1MzMsIDEyNjUzNSwgMTI2NTM5LCAKLSAgICAxMjY1NDEsIDEyNjU0NSwgMTI2NTQ5LCAxMjY1NTIsIDEyNjU1NSwgMTI2NTU3LCAxMjY1NjAsIDEyNjU2MiwgMTI2NTY2LCAKLSAgICAxMjY1NjgsIDEyNjU3MCwgMTI2NTcyLCAxMjY1NzYsIDEyNjU3OCwgMTI2NTgyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5NjkxNCwgOTY5MTgsIDk2OTIyLCAKKyAgICA5NjkyNiwgOTY5MzAsIDk2OTM0LCAwLCAwLCA5NjkzOSwgMCwgOTY5NDQsIDk2OTQ4LCA5Njk1MywgOTY5NTgsIDk2OTYzLCAKKyAgICA5Njk2OCwgOTY5NzMsIDk2OTc4LCA5Njk4MywgOTY5ODgsIDk2OTkzLCA5Njk5NywgOTcwMDIsIDk3MDA3LCA5NzAxMiwgCisgICAgOTcwMTcsIDk3MDIxLCA5NzAyNiwgOTcwMzEsIDk3MDM2LCA5NzA0MSwgOTcwNDUsIDk3MDUwLCA5NzA1NSwgOTcwNjAsIAorICAgIDk3MDY1LCA5NzA3MCwgOTcwNzUsIDk3MDgwLCA5NzA4NSwgOTcwOTAsIDk3MDk1LCA5NzEwMCwgOTcxMDUsIDk3MTEwLCAKKyAgICA5NzExNSwgOTcxMjAsIDk3MTI1LCA5NzEzMCwgOTcxMzQsIDk3MTM5LCA5NzE0NCwgOTcxNDksIDk3MTU0LCAwLCA5NzE1OSwgCisgICAgOTcxNjQsIDAsIDAsIDAsIDk3MTY5LCAwLCAwLCA5NzE3NCwgOTcxNzksIDk3MTg2LCA5NzE5MywgOTcyMDAsIDk3MjA3LCAKKyAgICA5NzIxNCwgOTcyMjEsIDk3MjI4LCA5NzIzNSwgOTcyNDIsIDk3MjQ5LCA5NzI1NiwgOTcyNjMsIDk3MjcwLCA5NzI3NywgCisgICAgOTcyODQsIDk3MjkxLCA5NzI5OCwgOTczMDUsIDk3MzEyLCA5NzMxOSwgOTczMjYsIDAsIDk3MzMzLCA5NzM0MCwgOTczNDYsIAorICAgIDk3MzUyLCA5NzM1OCwgOTczNjUsIDk3MzcyLCA5NzM4MCwgOTczODgsIDk3Mzk3LCA5NzQwMiwgOTc0MDcsIDk3NDEyLCAKKyAgICA5NzQxNywgOTc0MjIsIDk3NDI3LCA5NzQzMiwgOTc0MzcsIDk3NDQyLCA5NzQ0NywgOTc0NTIsIDk3NDU3LCA5NzQ2MiwgCisgICAgOTc0NjgsIDk3NDczLCA5NzQ3OCwgOTc0ODMsIDk3NDg4LCA5NzQ5MywgOTc0OTgsIDk3NTAzLCA5NzUwOCwgOTc1MTMsIAorICAgIDk3NTE5LCA5NzUyNSwgOTc1MjksIDk3NTMzLCA5NzUzNywgOTc1NDEsIDk3NTQ1LCA5NzU1MCwgOTc1NTUsIDk3NTYxLCAKKyAgICA5NzU2NiwgOTc1NzIsIDk3NTc3LCA5NzU4MiwgOTc1ODcsIDk3NTkzLCA5NzU5OCwgOTc2MDMsIDk3NjA4LCA5NzYxMywgCisgICAgOTc2MTgsIDk3NjI0LCA5NzYyOSwgOTc2MzUsIDk3NjQwLCA5NzY0NiwgOTc2NTEsIDk3NjU3LCA5NzY2MiwgOTc2NjgsIAorICAgIDk3NjczLCA5NzY3OCwgOTc2ODMsIDk3Njg4LCA5NzY5MywgOTc2OTgsIDk3NzAzLCA5NzcwOSwgOTc3MTQsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDk3NzE5LCA5NzcyMywgOTc3MjcsIDk3NzMxLCA5NzczNSwgOTc3NDEsIDk3NzQ1LCA5Nzc1MCwgCisgICAgOTc3NTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDEyNjU4NSwgMTI2NTkwLCAxMjY1OTUsIDEyNjYwMCwgMTI2NjA1LCAxMjY2MTAsIDEyNjYxNSwgMTI2NjIyLCAKLSAgICAxMjY2MjksIDEyNjYzNiwgMTI2NjQzLCAxMjY2NDgsIDEyNjY1MywgMTI2NjU4LCAxMjY2NjMsIDEyNjY3MCwgMTI2Njc2LCAKLSAgICAxMjY2ODMsIDEyNjY5MCwgMTI2Njk3LCAxMjY3MDIsIDEyNjcwNywgMTI2NzEyLCAxMjY3MTcsIDEyNjcyMiwgMTI2NzI5LCAKLSAgICAxMjY3MzYsIDEyNjc0MSwgMTI2NzQ2LCAxMjY3NTMsIDEyNjc2MCwgMTI2NzY4LCAxMjY3NzYsIDEyNjc4MywgMTI2NzkwLCAKLSAgICAxMjY3OTgsIDEyNjgwNiwgMTI2ODE0LCAxMjY4MjEsIDEyNjgzMSwgMTI2ODQyLCAxMjY4NDcsIDEyNjg1NCwgMTI2ODYxLCAKLSAgICAxMjY4NjgsIDEyNjg3NiwgMTI2ODg0LCAxMjY4OTUsIDEyNjkwMywgMTI2OTExLCAxMjY5MTksIDEyNjkyNCwgMTI2OTI5LCAKLSAgICAxMjY5MzQsIDEyNjkzOSwgMTI2OTQ0LCAxMjY5NDksIDEyNjk1NCwgMTI2OTU5LCAxMjY5NjQsIDEyNjk2OSwgMTI2OTc0LCAKLSAgICAxMjY5NzksIDEyNjk4NiwgMTI2OTkxLCAxMjY5OTYsIDEyNzAwMywgMTI3MDA4LCAxMjcwMTMsIDEyNzAxOCwgMTI3MDIzLCAKLSAgICAxMjcwMjgsIDEyNzAzMywgMTI3MDM4LCAxMjcwNDMsIDEyNzA0OCwgMTI3MDUzLCAxMjcwNTgsIDEyNzA2MywgMTI3MDcwLCAKLSAgICAxMjcwNzgsIDEyNzA4MywgMTI3MDg4LCAxMjcwOTUsIDEyNzEwMCwgMTI3MTA1LCAxMjcxMTAsIDEyNzExNywgMTI3MTIyLCAKLSAgICAxMjcxMjksIDEyNzEzNCwgMTI3MTQxLCAxMjcxNDYsIDEyNzE1NSwgMTI3MTY0LCAxMjcxNjksIDEyNzE3NCwgMTI3MTc5LCAKLSAgICAxMjcxODQsIDEyNzE4OSwgMTI3MTk0LCAxMjcxOTksIDEyNzIwNCwgMTI3MjA5LCAxMjcyMTQsIDEyNzIxOSwgMTI3MjI0LCAKLSAgICAxMjcyMjksIDEyNzIzNywgMTI3MjQ1LCAxMjcyNTAsIDEyNzI1NSwgMTI3MjYwLCAxMjcyNjUsIDEyNzI3MCwgMTI3Mjc2LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjcyODIsIDEyNzI4NiwgMTI3MjkwLCAxMjcyOTQsIAotICAgIDEyNzI5OCwgMTI3MzAyLCAxMjczMDYsIDEyNzMxMCwgMTI3MzE0LCAxMjczMTgsIDEyNzMyMiwgMTI3MzI2LCAxMjczMzAsIAotICAgIDEyNzMzNCwgMTI3MzM4LCAxMjczNDIsIDEyNzM0NiwgMTI3MzUwLCAxMjczNTQsIDEyNzM1OCwgMTI3MzYyLCAxMjczNjYsIAotICAgIDEyNzM3MCwgMTI3Mzc0LCAxMjczNzgsIDEyNzM4MiwgMTI3Mzg2LCAxMjczOTAsIDEyNzM5NCwgMTI3Mzk4LCAxMjc0MDIsIAotICAgIDEyNzQwNiwgMTI3NDEwLCAxMjc0MTQsIDEyNzQxOCwgMTI3NDIyLCAxMjc0MjYsIDEyNzQzMCwgMTI3NDM0LCAxMjc0MzgsIAotICAgIDEyNzQ0MiwgMTI3NDQ2LCAxMjc0NTAsIDEyNzQ1NCwgMTI3NDU4LCAxMjc0NjIsIDEyNzQ2NiwgMTI3NDcwLCAxMjc0NzQsIAotICAgIDEyNzQ3OCwgMTI3NDgyLCAxMjc0ODYsIDEyNzQ5MCwgMTI3NDk0LCAxMjc0OTgsIDEyNzUwMiwgMTI3NTA2LCAxMjc1MTAsIAotICAgIDEyNzUxNCwgMTI3NTE4LCAxMjc1MjIsIDEyNzUyNiwgMTI3NTMwLCAxMjc1MzQsIDEyNzUzOCwgMTI3NTQyLCAxMjc1NDYsIAotICAgIDEyNzU1MCwgMTI3NTU0LCAxMjc1NTgsIDEyNzU2MiwgMTI3NTY2LCAxMjc1NzAsIDEyNzU3NCwgMTI3NTc4LCAxMjc1ODIsIAotICAgIDEyNzU4NiwgMTI3NTkwLCAxMjc1OTQsIDEyNzU5OCwgMTI3NjAyLCAxMjc2MDYsIDEyNzYxMCwgMTI3NjE0LCAxMjc2MTgsIAotICAgIDEyNzYyMiwgMTI3NjI2LCAxMjc2MzAsIDEyNzYzNCwgMTI3NjM4LCAxMjc2NDIsIDEyNzY0NiwgMTI3NjUwLCAxMjc2NTQsIAotICAgIDEyNzY1OCwgMTI3NjYyLCAxMjc2NjYsIDEyNzY3MCwgMTI3Njc0LCAxMjc2NzgsIDEyNzY4MiwgMTI3Njg2LCAxMjc2OTAsIAotICAgIDEyNzY5NCwgMTI3Njk4LCAxMjc3MDIsIDEyNzcwNiwgMTI3NzEwLCAxMjc3MTQsIDEyNzcxOCwgMTI3NzIyLCAxMjc3MjYsIAotICAgIDEyNzczMCwgMTI3NzM0LCAxMjc3MzgsIDEyNzc0MiwgMTI3NzQ2LCAxMjc3NTAsIDEyNzc1NCwgMTI3NzU4LCAxMjc3NjIsIAotICAgIDEyNzc2NiwgMTI3NzcwLCAxMjc3NzQsIDEyNzc3OCwgMTI3NzgyLCAxMjc3ODYsIDEyNzc5MCwgMTI3Nzk0LCAxMjc3OTgsIAotICAgIDEyNzgwMiwgMTI3ODA2LCAxMjc4MTAsIDEyNzgxNCwgMTI3ODE4LCAxMjc4MjIsIDEyNzgyNiwgMTI3ODMwLCAxMjc4MzQsIAotICAgIDEyNzgzOCwgMTI3ODQyLCAxMjc4NDYsIDEyNzg1MCwgMTI3ODU0LCAxMjc4NTgsIDEyNzg2MiwgMTI3ODY2LCAxMjc4NzAsIAotICAgIDEyNzg3NCwgMTI3ODc4LCAxMjc4ODIsIDEyNzg4NiwgMTI3ODkwLCAxMjc4OTQsIDEyNzg5OCwgMTI3OTAyLCAxMjc5MDYsIAotICAgIDEyNzkxMCwgMTI3OTE0LCAxMjc5MTgsIDEyNzkyMiwgMTI3OTI2LCAxMjc5MzAsIDEyNzkzNCwgMTI3OTM4LCAxMjc5NDIsIAotICAgIDEyNzk0NiwgMTI3OTUwLCAxMjc5NTQsIDEyNzk1OCwgMTI3OTYyLCAxMjc5NjYsIDEyNzk3MCwgMTI3OTc0LCAxMjc5NzgsIAotICAgIDEyNzk4MiwgMTI3OTg2LCAxMjc5OTAsIDEyNzk5NCwgMTI3OTk4LCAxMjgwMDIsIDEyODAwNiwgMTI4MDEwLCAxMjgwMTQsIAotICAgIDEyODAxOCwgMTI4MDIyLCAxMjgwMjYsIDEyODAzMCwgMTI4MDM0LCAxMjgwMzgsIDEyODA0MiwgMTI4MDQ2LCAxMjgwNTAsIAotICAgIDEyODA1NCwgMTI4MDU4LCAxMjgwNjIsIDEyODA2NiwgMTI4MDcwLCAxMjgwNzQsIDEyODA3OCwgMTI4MDgyLCAxMjgwODYsIAotICAgIDEyODA5MCwgMTI4MDk0LCAxMjgwOTgsIDEyODEwMiwgMTI4MTA2LCAxMjgxMTAsIDEyODExNCwgMTI4MTE4LCAxMjgxMjIsIAotICAgIDEyODEyNiwgMTI4MTMwLCAxMjgxMzQsIDEyODEzOCwgMTI4MTQyLCAxMjgxNDYsIDEyODE1MCwgMTI4MTU0LCAxMjgxNTgsIAotICAgIDEyODE2MiwgMTI4MTY2LCAxMjgxNzAsIDEyODE3NCwgMTI4MTc4LCAxMjgxODIsIDEyODE4NiwgMTI4MTkwLCAxMjgxOTQsIAotICAgIDEyODE5OCwgMTI4MjAyLCAxMjgyMDYsIDEyODIxMCwgMTI4MjE0LCAxMjgyMTgsIDEyODIyMiwgMTI4MjI2LCAxMjgyMzAsIAotICAgIDEyODIzNCwgMTI4MjM4LCAxMjgyNDIsIDEyODI0NiwgMTI4MjUwLCAxMjgyNTQsIDEyODI1OCwgMTI4MjYyLCAxMjgyNjYsIAotICAgIDEyODI3MCwgMTI4Mjc0LCAxMjgyNzgsIDEyODI4MiwgMTI4Mjg2LCAxMjgyOTAsIDEyODI5NCwgMTI4Mjk4LCAxMjgzMDIsIAotICAgIDEyODMwNiwgMTI4MzEwLCAxMjgzMTQsIDEyODMxOCwgMTI4MzIyLCAxMjgzMjYsIDEyODMzMCwgMTI4MzM0LCAxMjgzMzgsIAotICAgIDEyODM0MiwgMTI4MzQ2LCAxMjgzNTAsIDEyODM1NCwgMTI4MzU4LCAxMjgzNjIsIDEyODM2NiwgMTI4MzcwLCAxMjgzNzQsIAotICAgIDEyODM3OCwgMTI4MzgyLCAxMjgzODYsIDEyODM5MCwgMTI4Mzk0LCAxMjgzOTgsIDEyODQwMiwgMTI4NDA2LCAxMjg0MTAsIAotICAgIDEyODQxNCwgMTI4NDE4LCAxMjg0MjIsIDEyODQyNiwgMTI4NDMwLCAxMjg0MzQsIDEyODQzOCwgMTI4NDQyLCAxMjg0NDYsIAotICAgIDEyODQ1MCwgMTI4NDU0LCAxMjg0NTgsIDEyODQ2MiwgMTI4NDY2LCAxMjg0NzAsIDEyODQ3NCwgMTI4NDc4LCAxMjg0ODIsIAotICAgIDEyODQ4NiwgMTI4NDkwLCAxMjg0OTQsIDEyODQ5OCwgMTI4NTAyLCAxMjg1MDYsIDEyODUxMCwgMTI4NTE0LCAxMjg1MTgsIAotICAgIDEyODUyMiwgMTI4NTI2LCAxMjg1MzAsIDEyODUzNCwgMTI4NTM4LCAxMjg1NDIsIDEyODU0NiwgMTI4NTUwLCAxMjg1NTQsIAotICAgIDEyODU1OCwgMTI4NTYyLCAxMjg1NjYsIDEyODU3MCwgMTI4NTc0LCAxMjg1NzgsIDEyODU4MiwgMTI4NTg2LCAxMjg1OTAsIAotICAgIDEyODU5NCwgMTI4NTk4LCAxMjg2MDIsIDEyODYwNiwgMTI4NjEwLCAxMjg2MTQsIDEyODYxOCwgMTI4NjIyLCAxMjg2MjYsIAotICAgIDEyODYzMCwgMTI4NjM0LCAxMjg2MzgsIDEyODY0MiwgMTI4NjQ2LCAxMjg2NTAsIDEyODY1NCwgMTI4NjU4LCAxMjg2NjIsIAotICAgIDEyODY2NiwgMTI4NjcwLCAxMjg2NzQsIDEyODY3OCwgMTI4NjgyLCAxMjg2ODYsIDEyODY5MCwgMTI4Njk0LCAxMjg2OTgsIAotICAgIDEyODcwMiwgMTI4NzA2LCAxMjg3MTAsIDEyODcxNCwgMTI4NzE4LCAxMjg3MjIsIDEyODcyNiwgMTI4NzMwLCAxMjg3MzQsIAotICAgIDEyODczOCwgMTI4NzQyLCAxMjg3NDYsIDEyODc1MCwgMTI4NzU0LCAxMjg3NTgsIDEyODc2MiwgMTI4NzY2LCAxMjg3NzAsIAotICAgIDEyODc3NCwgMTI4Nzc4LCAxMjg3ODIsIDEyODc4NiwgMTI4NzkwLCAxMjg3OTQsIDEyODc5OCwgMTI4ODAyLCAxMjg4MDYsIAotICAgIDEyODgxMCwgMTI4ODE0LCAxMjg4MTgsIDEyODgyMiwgMTI4ODI2LCAxMjg4MzAsIDEyODgzNCwgMTI4ODM4LCAxMjg4NDIsIAotICAgIDEyODg0NiwgMTI4ODUwLCAxMjg4NTQsIDEyODg1OCwgMTI4ODYyLCAxMjg4NjYsIDEyODg3MCwgMTI4ODc0LCAxMjg4NzgsIAotICAgIDEyODg4MiwgMTI4ODg2LCAxMjg4OTAsIDEyODg5NCwgMTI4ODk4LCAxMjg5MDIsIDEyODkwNiwgMTI4OTEwLCAxMjg5MTQsIAotICAgIDEyODkxOCwgMTI4OTIyLCAxMjg5MjYsIDEyODkzMCwgMTI4OTM0LCAxMjg5MzgsIDEyODk0MiwgMTI4OTQ2LCAxMjg5NTAsIAotICAgIDEyODk1NCwgMTI4OTU4LCAxMjg5NjIsIDEyODk2NiwgMTI4OTcwLCAxMjg5NzQsIDEyODk3OCwgMTI4OTgyLCAxMjg5ODYsIAotICAgIDEyODk5MCwgMTI4OTk0LCAxMjg5OTgsIDEyOTAwMiwgMTI5MDA2LCAxMjkwMTAsIDEyOTAxNCwgMTI5MDE4LCAxMjkwMjIsIAotICAgIDEyOTAyNiwgMTI5MDMwLCAxMjkwMzQsIDEyOTAzOCwgMTI5MDQyLCAxMjkwNDYsIDEyOTA1MCwgMTI5MDU0LCAxMjkwNTgsIAotICAgIDEyOTA2MiwgMTI5MDY2LCAxMjkwNzAsIDEyOTA3NCwgMTI5MDc4LCAxMjkwODIsIDEyOTA4NiwgMTI5MDkwLCAxMjkwOTQsIAotICAgIDEyOTA5OCwgMTI5MTAyLCAxMjkxMDYsIDEyOTExMCwgMTI5MTE0LCAxMjkxMTgsIDEyOTEyMiwgMTI5MTI2LCAxMjkxMzAsIAotICAgIDEyOTEzNCwgMTI5MTM4LCAxMjkxNDIsIDEyOTE0NiwgMTI5MTUwLCAxMjkxNTQsIDEyOTE1OCwgMTI5MTYyLCAxMjkxNjYsIAotICAgIDEyOTE3MCwgMTI5MTc0LCAxMjkxNzgsIDEyOTE4MiwgMTI5MTg2LCAxMjkxOTAsIDEyOTE5NCwgMTI5MTk4LCAxMjkyMDIsIAotICAgIDEyOTIwNiwgMTI5MjEwLCAxMjkyMTQsIDEyOTIxOCwgMTI5MjIyLCAxMjkyMjYsIDEyOTIzMCwgMTI5MjM0LCAxMjkyMzgsIAotICAgIDEyOTI0MiwgMTI5MjQ2LCAxMjkyNTAsIDEyOTI1NCwgMTI5MjU4LCAxMjkyNjIsIDEyOTI2NiwgMTI5MjcwLCAxMjkyNzQsIAotICAgIDEyOTI3OCwgMTI5MjgyLCAxMjkyODYsIDEyOTI5MCwgMTI5Mjk0LCAxMjkyOTgsIDEyOTMwMiwgMTI5MzA2LCAxMjkzMTAsIAotICAgIDEyOTMxNCwgMTI5MzE4LCAxMjkzMjIsIDEyOTMyNiwgMTI5MzMwLCAxMjkzMzQsIDEyOTMzOCwgMTI5MzQyLCAxMjkzNDYsIAotICAgIDEyOTM1MCwgMTI5MzU0LCAxMjkzNTgsIDEyOTM2MiwgMTI5MzY2LCAxMjkzNzAsIDEyOTM3NCwgMTI5Mzc4LCAxMjkzODIsIAotICAgIDEyOTM4NiwgMTI5MzkwLCAxMjkzOTQsIDEyOTM5OCwgMTI5NDAyLCAxMjk0MDYsIDEyOTQxMCwgMTI5NDE0LCAxMjk0MTgsIAotICAgIDEyOTQyMiwgMTI5NDI2LCAxMjk0MzAsIDEyOTQzNCwgMTI5NDM4LCAxMjk0NDIsIDEyOTQ0NiwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOTc3NjEsIDk3NzY2LCA5Nzc3MSwgOTc3NzYsIDk3NzgxLCA5Nzc4NiwgCisgICAgOTc3OTEsIDk3Nzk2LCA5NzgwMSwgOTc4MDYsIDk3ODExLCA5NzgxNiwgOTc4MjEsIDk3ODI2LCA5NzgzMSwgOTc4MzYsIAorICAgIDk3ODQxLCA5Nzg0NiwgOTc4NTEsIDk3ODU2LCA5Nzg2MSwgOTc4NjYsIDk3ODcxLCA5Nzg3NSwgOTc4ODAsIDk3ODg1LCAKKyAgICA5Nzg5MSwgOTc4OTUsIDAsIDAsIDAsIDk3ODk5LCA5NzkwNSwgOTc5MDksIDk3OTE0LCA5NzkxOSwgOTc5MjQsIDk3OTI4LCAKKyAgICA5NzkzMywgOTc5MzcsIDk3OTQyLCA5Nzk0NywgOTc5NTEsIDk3OTU2LCA5Nzk2MSwgOTc5NjUsIDk3OTY5LCA5Nzk3NCwgCisgICAgOTc5NzksIDk3OTgzLCA5Nzk4OCwgOTc5OTMsIDk3OTk3LCA5ODAwMiwgOTgwMDcsIDk4MDEyLCA5ODAxNywgOTgwMjIsIDAsIAorICAgIDAsIDAsIDAsIDAsIDk4MDI3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5ODAzMiwgCisgICAgOTgwMzgsIDk4MDQ0LCA5ODA1MCwgOTgwNTYsIDk4MDYyLCA5ODA2OSwgOTgwNzYsIDk4MDgzLCA5ODA4OSwgOTgwOTUsIAorICAgIDk4MTAxLCA5ODEwOCwgOTgxMTUsIDk4MTIyLCA5ODEyOSwgOTgxMzYsIDk4MTQzLCA5ODE1MCwgOTgxNTcsIDk4MTY0LCAKKyAgICA5ODE3MSwgOTgxNzgsIDk4MTg0LCA5ODE5MSwgOTgxOTgsIDk4MjA1LCA5ODIxMiwgOTgyMTksIDk4MjI1LCA5ODIzMiwgCisgICAgOTgyMzksIDk4MjQ2LCA5ODI1MiwgOTgyNTgsIDk4MjY0LCA5ODI3MCwgOTgyNzYsIDk4MjgzLCA5ODI5MCwgOTgyOTYsIAorICAgIDk4MzAyLCA5ODMwOCwgOTgzMTUsIDk4MzIyLCA5ODMyOSwgOTgzMzYsIDk4MzQzLCA5ODM1MCwgOTgzNTksIDk4MzY2LCAKKyAgICA5ODM3MiwgOTgzNzksIDk4Mzg2LCA5ODM5MywgOTgzOTksIDAsIDAsIDAsIDAsIDAsIDAsIDk4NDA2LCA5ODQxNCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOTg0MjIsIDk4NDI2LCA5ODQzMSwgOTg0MzYsIDAsIAorICAgIDk4NDQyLCA5ODQ0NywgMCwgMCwgMCwgMCwgMCwgOTg0NTIsIDk4NDU4LCA5ODQ2NSwgOTg0NzAsIDk4NDc1LCA5ODQ3OSwgCisgICAgOTg0ODQsIDk4NDg5LCAwLCA5ODQ5NCwgOTg0OTksIDk4NTA0LCAwLCA5ODUwOSwgOTg1MTQsIDk4NTE5LCA5ODUyNCwgCisgICAgOTg1MjksIDk4NTM0LCA5ODUzOSwgOTg1NDQsIDk4NTQ5LCA5ODU1NCwgOTg1NTksIDk4NTYzLCA5ODU2NywgOTg1NzIsIAorICAgIDk4NTc3LCA5ODU4MiwgOTg1ODYsIDk4NTkwLCA5ODU5NSwgOTg2MDAsIDk4NjA1LCA5ODYxMCwgOTg2MTUsIDk4NjIwLCAKKyAgICA5ODYyNSwgOTg2MjksIDk4NjM0LCAwLCAwLCAwLCAwLCA5ODYzOSwgOTg2NDUsIDk4NjUwLCAwLCAwLCAwLCAwLCA5ODY1NSwgCisgICAgOTg2NTksIDk4NjYzLCA5ODY2NywgOTg2NzEsIDk4Njc1LCA5ODY4MCwgOTg2ODUsIDk4NjkxLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCA5ODY5NywgOTg3MDMsIDk4NzEwLCA5ODcxNiwgOTg3MjMsIDk4NzI5LCA5ODczNSwgOTg3NDEsIDk4NzQ4LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCA5ODc1NCwgOTg3NjEsIDk4NzY4LCA5ODc3NSwgOTg3ODIsIDk4Nzg5LCA5ODc5NiwgOTg4MDMsIAorICAgIDk4ODEwLCA5ODgxNywgOTg4MjQsIDk4ODMxLCA5ODgzOCwgOTg4NDUsIDk4ODUyLCA5ODg1OSwgOTg4NjYsIDk4ODczLCAKKyAgICA5ODg4MCwgOTg4ODcsIDk4ODk0LCA5ODkwMSwgOTg5MDgsIDk4OTE1LCA5ODkyMiwgOTg5MjksIDk4OTM2LCA5ODk0MywgCisgICAgOTg5NTAsIDk4OTU3LCA5ODk2MywgOTg5NzAsIDk4OTc3LCA5ODk4NCwgOTg5OTEsIDk4OTk4LCA5OTAwNSwgOTkwMTIsIAorICAgIDk5MDE5LCA5OTAyNiwgOTkwMzMsIDk5MDQwLCA5OTA0NywgOTkwNTQsIDk5MDYxLCA5OTA2OCwgOTkwNzUsIDk5MDgyLCAKKyAgICA5OTA4OSwgOTkwOTYsIDk5MTAzLCA5OTExMCwgOTkxMTcsIDk5MTI0LCA5OTEzMSwgOTkxMzgsIDk5MTQ1LCA5OTE1MiwgCisgICAgOTkxNTksIDk5MTY2LCA5OTE3MywgOTkxODAsIDk5MTg2LCA5OTE5MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOTkyMDAsIAorICAgIDk5MjA1LCA5OTIxMCwgOTkyMTUsIDk5MjIwLCA5OTIyNSwgOTkyMzAsIDk5MjM1LCA5OTI0MCwgOTkyNDUsIDk5MjUwLCAKKyAgICA5OTI1NSwgOTkyNjAsIDk5MjY1LCA5OTI3MCwgOTkyNzUsIDk5MjgwLCA5OTI4NSwgOTkyOTAsIDk5Mjk1LCA5OTMwMCwgCisgICAgOTkzMDUsIDk5MzEwLCA5OTMxNSwgOTkzMjAsIDk5MzI1LCA5OTMzMCwgOTkzMzUsIDk5MzQwLCA5OTM0NSwgOTkzNTAsIAorICAgIDk5MzU1LCA5OTM2MCwgOTkzNjUsIDk5MzcwLCA5OTM3NSwgOTkzODAsIDk5Mzg1LCA5OTM5MSwgMCwgMCwgMCwgMCwgCisgICAgOTkzOTcsIDk5NDAxLCA5OTQwNSwgOTk0MTAsIDk5NDE1LCA5OTQyMSwgOTk0MjcsIDk5NDMzLCA5OTQ0MywgOTk0NTIsIAorICAgIDk5NDU4LCA5OTQ2NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOTk0NzMsIDk5NDc3LCA5OTQ4MiwgOTk0ODcsIAorICAgIDk5NDkyLCA5OTQ5NywgOTk1MDIsIDk5NTA3LCA5OTUxMiwgOTk1MTYsIDk5NTIxLCA5OTUyNSwgOTk1MzAsIDk5NTM0LCAKKyAgICA5OTUzOSwgOTk1NDMsIDk5NTQ4LCA5OTU1MywgOTk1NTgsIDk5NTYzLCA5OTU2OCwgOTk1NzMsIDk5NTc4LCA5OTU4MywgCisgICAgOTk1ODgsIDk5NTkzLCA5OTU5OCwgOTk2MDMsIDk5NjA4LCA5OTYxMywgOTk2MTgsIDk5NjIzLCA5OTYyOCwgOTk2MzMsIAorICAgIDk5NjM4LCA5OTY0MywgOTk2NDgsIDk5NjUzLCA5OTY1OCwgOTk2NjMsIDk5NjY4LCA5OTY3MywgOTk2NzgsIDk5NjgzLCAKKyAgICA5OTY4OCwgOTk2OTMsIDk5Njk4LCA5OTcwMywgOTk3MDgsIDk5NzEzLCA5OTcxOCwgOTk3MjMsIDk5NzI4LCA5OTczMywgMCwgCisgICAgMCwgMCwgOTk3MzgsIDk5NzQzLCA5OTc1MiwgOTk3NjAsIDk5NzY5LCA5OTc3OCwgOTk3ODksIDk5ODAwLCA5OTgwNywgCisgICAgOTk4MTQsIDk5ODIxLCA5OTgyOCwgOTk4MzUsIDk5ODQyLCA5OTg0OSwgOTk4NTYsIDk5ODYzLCA5OTg3MCwgOTk4NzcsIAorICAgIDk5ODg0LCA5OTg5MSwgOTk4OTgsIDk5OTA1LCA5OTkxMiwgOTk5MTksIDk5OTI2LCA5OTkzMywgOTk5NDAsIDk5OTQ3LCAwLCAKKyAgICAwLCA5OTk1NCwgOTk5NjAsIDk5OTY2LCA5OTk3MiwgOTk5NzgsIDk5OTg1LCA5OTk5MiwgMTAwMDAwLCAxMDAwMDgsIAorICAgIDEwMDAxNSwgMTAwMDIyLCAxMDAwMjksIDEwMDAzNiwgMTAwMDQzLCAxMDAwNTAsIDEwMDA1NywgMTAwMDY0LCAxMDAwNzEsIAorICAgIDEwMDA3OCwgMTAwMDg1LCAxMDAwOTIsIDEwMDA5OSwgMTAwMTA2LCAxMDAxMTMsIDEwMDEyMCwgMTAwMTI3LCAxMDAxMzQsIAorICAgIDAsIDAsIDAsIDAsIDAsIDEwMDE0MSwgMTAwMTQ3LCAxMDAxNTMsIDEwMDE1OSwgMTAwMTY1LCAxMDAxNzIsIDEwMDE3OSwgCisgICAgMTAwMTg3LCAxMDAxOTUsIDEwMDIwMiwgMTAwMjA5LCAxMDAyMTYsIDEwMDIyMywgMTAwMjMwLCAxMDAyMzcsIDEwMDI0NCwgCisgICAgMTAwMjUxLCAxMDAyNTgsIDEwMDI2NSwgMTAwMjcyLCAxMDAyNzksIDEwMDI4NiwgMTAwMjkzLCAxMDAzMDAsIDEwMDMwNywgCisgICAgMTAwMzE0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDAzMjEsIDEwMDMyOCwgMTAwMzM2LCAxMDAzNDYsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwMDM1NiwgMTAwMzYyLCAxMDAzNjgsIDEwMDM3NCwgMTAwMzgwLCAxMDAzODcsIAorICAgIDEwMDM5NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTAwNDAyLCAxMDA0MDksIDEwMDQxNiwgMTAwNDI0LCAxMDA0MzEsIAorICAgIDEwMDQzOCwgMTAwNDQ1LCAxMDA0NTIsIDEwMDQ2MCwgMTAwNDY4LCAxMDA0NzYsIDEwMDQ4NCwgMTAwNDkyLCAxMDA1MDAsIAorICAgIDEwMDUwOCwgMTAwNTE2LCAxMDA1MjQsIDEwMDUzMiwgMTAwNTQwLCAxMDA1NDgsIDEwMDU1NiwgMTAwNTY0LCAxMDA1NzIsIAorICAgIDEwMDU4MCwgMTAwNTg4LCAxMDA1OTYsIDEwMDYwNCwgMTAwNjEyLCAxMDA2MjAsIDEwMDYyOCwgMTAwNjM2LCAxMDA2NDQsIAorICAgIDEwMDY1MiwgMTAwNjYwLCAxMDA2NjgsIDEwMDY3NiwgMTAwNjg0LCAxMDA2OTIsIDEwMDcwMCwgMTAwNzA4LCAxMDA3MTYsIAorICAgIDEwMDcyNCwgMTAwNzMyLCAxMDA3NDAsIDEwMDc0OCwgMTAwNzU2LCAxMDA3NjQsIDEwMDc3MiwgMTAwNzgwLCAxMDA3ODgsIAorICAgIDEwMDc5NiwgMTAwODA0LCAxMDA4MTIsIDEwMDgyMCwgMTAwODI4LCAxMDA4MzYsIDEwMDg0NCwgMTAwODUyLCAxMDA4NjAsIAorICAgIDEwMDg2OCwgMTAwODc2LCAxMDA4ODQsIDEwMDg5MiwgMTAwOTAwLCAxMDA5MDgsIDEwMDkxNiwgMTAwOTI0LCAxMDA5MzIsIAorICAgIDEwMDk0MCwgMTAwOTQ4LCAxMDA5NTYsIDEwMDk2NCwgMTAwOTcyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjk0NTAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDEyOTQ1NCwgMTI5NDU3LCAxMjk0NjEsIDEyOTQ2NSwgMTI5NDY4LCAxMjk0NzIsIDEyOTQ3NiwgCi0gICAgMTI5NDc5LCAxMjk0ODIsIDEyOTQ4NiwgMTI5NDkwLCAxMjk0OTMsIDEyOTQ5NiwgMTI5NDk5LCAxMjk1MDIsIDEyOTUwNywgCi0gICAgMTI5NTEwLCAxMjk1MTQsIDEyOTUxNywgMTI5NTIwLCAxMjk1MjMsIDEyOTUyNiwgMTI5NTI5LCAxMjk1MzIsIDEyOTUzNSwgCi0gICAgMTI5NTM4LCAxMjk1NDEsIDEyOTU0NCwgMTI5NTQ3LCAxMjk1NTEsIDEyOTU1NSwgMTI5NTU5LCAxMjk1NjMsIDEyOTU2OCwgCi0gICAgMTI5NTczLCAxMjk1NzksIDEyOTU4NSwgMTI5NTkxLCAxMjk1OTYsIDEyOTYwMiwgMTI5NjA4LCAxMjk2MTQsIDEyOTYxOSwgCi0gICAgMTI5NjI1LCAxMjk2MzEsIDEyOTYzNiwgMTI5NjQxLCAxMjk2NDcsIDEyOTY1MiwgMTI5NjU4LCAxMjk2NjQsIDEyOTY2OSwgCi0gICAgMTI5Njc1LCAxMjk2ODEsIDEyOTY4NiwgMTI5NjkyLCAxMjk2OTgsIDEyOTcwNCwgMTI5NzEwLCAxMjk3MTYsIDEyOTcyMCwgCi0gICAgMTI5NzI1LCAxMjk3MjksIDEyOTczNCwgMTI5NzM4LCAxMjk3NDMsIDEyOTc0OCwgMTI5NzU0LCAxMjk3NjAsIDEyOTc2NiwgCi0gICAgMTI5NzcxLCAxMjk3NzcsIDEyOTc4MywgMTI5Nzg5LCAxMjk3OTQsIDEyOTgwMCwgMTI5ODA2LCAxMjk4MTEsIDEyOTgxNiwgCi0gICAgMTI5ODIyLCAxMjk4MjcsIDEyOTgzMywgMTI5ODM5LCAxMjk4NDQsIDEyOTg1MCwgMTI5ODU2LCAxMjk4NjEsIDEyOTg2NywgCi0gICAgMTI5ODczLCAxMjk4NzksIDEyOTg4NSwgMTI5ODkxLCAxMjk4OTYsIDEyOTkwMCwgMTI5OTA1LCAxMjk5MDcsIDEyOTkxMSwgCi0gICAgMTI5OTE0LCAxMjk5MTcsIDEyOTkyMCwgMTI5OTIzLCAxMjk5MjYsIDEyOTkyOSwgMTI5OTMyLCAxMjk5MzUsIDEyOTkzOCwgCi0gICAgMTI5OTQxLCAxMjk5NDQsIDEyOTk0NywgMTI5OTUwLCAxMjk5NTMsIDEyOTk1NiwgMTI5OTU5LCAxMjk5NjIsIDEyOTk2NSwgCi0gICAgMTI5OTY4LCAxMjk5NzEsIDEyOTk3NCwgMTI5OTc3LCAxMjk5ODAsIDEyOTk4MywgMTI5OTg2LCAxMjk5ODksIDEyOTk5MiwgCi0gICAgMTI5OTk1LCAxMjk5OTgsIDEzMDAwMSwgMTMwMDA0LCAxMzAwMDcsIDEzMDAxMCwgMTMwMDEzLCAxMzAwMTYsIDEzMDAxOSwgCi0gICAgMTMwMDIyLCAxMzAwMjUsIDEzMDAyOCwgMTMwMDMxLCAxMzAwMzQsIDEzMDAzNywgMTMwMDQwLCAxMzAwNDMsIDEzMDA0NiwgCi0gICAgMTMwMDQ5LCAxMzAwNTIsIDEzMDA1NSwgMTMwMDU4LCAxMzAwNjEsIDEzMDA2NCwgMTMwMDY3LCAxMzAwNzAsIDEzMDA3MywgCi0gICAgMTMwMDc2LCAxMzAwNzksIDEzMDA4MiwgMTMwMDg1LCAxMzAwODgsIDEzMDA5MSwgMTMwMDk0LCAxMzAwOTcsIDEzMDEwMCwgCi0gICAgMTMwMTAzLCAxMzAxMDYsIDEzMDEwOSwgMTMwMTEyLCAxMzAxMTUsIDEzMDExOCwgMTMwMTIxLCAxMzAxMjQsIDEzMDEyNywgCi0gICAgMTMwMTMwLCAxMzAxMzMsIDEzMDEzNiwgMTMwMTM5LCAxMzAxNDIsIDEzMDE0NSwgMTMwMTQ4LCAxMzAxNTEsIDEzMDE1NCwgCi0gICAgMTMwMTU3LCAxMzAxNjAsIDEzMDE2MywgMTMwMTY2LCAxMzAxNjksIDEzMDE3MiwgMTMwMTc1LCAxMzAxNzgsIDEzMDE4MSwgCi0gICAgMTMwMTg0LCAxMzAxODcsIDEzMDE5MCwgMTMwMTkzLCAxMzAxOTYsIDEzMDE5OSwgMTMwMjAyLCAxMzAyMDUsIDEzMDIwOCwgCi0gICAgMTMwMjExLCAxMzAyMTQsIDEzMDIxNywgMTMwMjIwLCAxMzAyMjMsIDEzMDIyNiwgMTMwMjI5LCAxMzAyMzIsIDEzMDIzNSwgCi0gICAgMTMwMjM4LCAxMzAyNDEsIDEzMDI0NCwgMTMwMjQ3LCAxMzAyNTAsIDEzMDI1MywgMTMwMjU2LCAxMzAyNTksIDEzMDI2MiwgCi0gICAgMTMwMjY1LCAxMzAyNjgsIDEzMDI3MSwgMTMwMjc0LCAxMzAyNzcsIDEzMDI4MCwgMTMwMjgzLCAxMzAyODYsIDEzMDI4OSwgCi0gICAgMTMwMjkyLCAxMzAyOTUsIDEzMDI5OCwgMTMwMzAxLCAxMzAzMDQsIDEzMDMwNywgMTMwMzEwLCAxMzAzMTMsIDEzMDMxNiwgCi0gICAgMTMwMzE5LCAxMzAzMjIsIDEzMDMyNSwgMTMwMzI4LCAxMzAzMzEsIDEzMDMzNCwgMTMwMzM3LCAxMzAzNDAsIDEzMDM0MywgCi0gICAgMTMwMzQ2LCAxMzAzNDksIDEzMDM1MiwgMTMwMzU1LCAxMzAzNTgsIDEzMDM2MSwgMTMwMzY0LCAxMzAzNjcsIDEzMDM3MCwgCi0gICAgMTMwMzczLCAxMzAzNzYsIDEzMDM3OSwgMTMwMzgyLCAxMzAzODUsIDEzMDM4OCwgMTMwMzkxLCAxMzAzOTQsIDEzMDM5NywgCi0gICAgMTMwNDAwLCAxMzA0MDMsIDEzMDQwNiwgMTMwNDA5LCAxMzA0MTIsIDEzMDQxNSwgMTMwNDE4LCAxMzA0MjEsIDEzMDQyNCwgCi0gICAgMTMwNDI3LCAxMzA0MzAsIDEzMDQzMywgMTMwNDM2LCAxMzA0MzksIDEzMDQ0MiwgMTMwNDQ1LCAxMzA0NDgsIDEzMDQ1MSwgCi0gICAgMTMwNDU0LCAxMzA0NTcsIDEzMDQ2MCwgMTMwNDYzLCAxMzA0NjYsIDEzMDQ2OSwgMTMwNDcyLCAxMzA0NzUsIDEzMDQ3OCwgCi0gICAgMTMwNDgxLCAxMzA0ODQsIDEzMDQ4NywgMTMwNDkwLCAxMzA0OTMsIDEzMDQ5NiwgMTMwNDk5LCAxMzA1MDIsIDEzMDUwNSwgCi0gICAgMTMwNTA4LCAxMzA1MTEsIDEzMDUxNCwgMTMwNTE3LCAxMzA1MjAsIDEzMDUyMywgMTMwNTI2LCAxMzA1MjksIDEzMDUzMiwgCi0gICAgMTMwNTM1LCAxMzA1MzgsIDEzMDU0MSwgMTMwNTQ0LCAxMzA1NDcsIDEzMDU1MCwgMTMwNTUzLCAxMzA1NTYsIDEzMDU1OSwgCi0gICAgMTMwNTYyLCAxMzA1NjUsIDEzMDU2OCwgMTMwNTcxLCAxMzA1NzQsIDEzMDU3NywgMTMwNTgwLCAxMzA1ODMsIDEzMDU4NiwgCi0gICAgMTMwNTg5LCAxMzA1OTIsIDEzMDU5NSwgMTMwNTk4LCAxMzA2MDEsIDEzMDYwNCwgMTMwNjA3LCAxMzA2MTAsIDEzMDYxMywgCi0gICAgMTMwNjE2LCAxMzA2MTksIDEzMDYyMiwgMTMwNjI1LCAxMzA2MjgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDEzMDYzMSwgMTMwNjMzLCAxMzA2MzUsIDEzMDY0MCwgMTMwNjQyLCAxMzA2NDcsIDEzMDY0OSwgCi0gICAgMTMwNjU0LCAxMzA2NTYsIDEzMDY2MSwgMTMwNjYzLCAxMzA2NjUsIDEzMDY2NywgMTMwNjY5LCAxMzA2NzEsIDEzMDY3MywgCi0gICAgMTMwNjc1LCAxMzA2NzcsIDEzMDY3OSwgMTMwNjgyLCAxMzA2ODUsIDEzMDY4NywgMTMwNjg5LCAxMzA2OTMsIDEzMDY5NiwgCi0gICAgMTMwNzAxLCAxMzA3MDMsIDEzMDcwNSwgMTMwNzA3LCAxMzA3MTEsIDEzMDcxNCwgMTMwNzE2LCAxMzA3MjAsIDEzMDcyMiwgCi0gICAgMTMwNzI2LCAxMzA3MjgsIDEzMDczMiwgMTMwNzM1LCAxMzA3MzcsIDEzMDc0MSwgMTMwNzQ1LCAxMzA3NDcsIDEzMDc1MywgCi0gICAgMTMwNzU1LCAxMzA3NjAsIDEzMDc2MiwgMTMwNzY3LCAxMzA3NjksIDEzMDc3NCwgMTMwNzc2LCAxMzA3ODEsIDEzMDc4MywgCi0gICAgMTMwNzg2LCAxMzA3ODgsIDEzMDc5MiwgMTMwNzk0LCAxMzA4MDEsIDEzMDgwMywgMTMwODA1LCAxMzA4MDcsIDEzMDgxMiwgCi0gICAgMTMwODE0LCAxMzA4MTYsIDEzMDgxOCwgMTMwODIwLCAxMzA4MjIsIDEzMDgyNywgMTMwODMxLCAxMzA4MzMsIDEzMDgzOCwgCi0gICAgMTMwODQyLCAxMzA4NDQsIDEzMDg0OSwgMTMwODUzLCAxMzA4NTUsIDEzMDg2MCwgMTMwODY0LCAxMzA4NjYsIDEzMDg2OCwgCi0gICAgMTMwODcwLCAxMzA4NzIsIDEzMDg3NiwgMTMwODc4LCAxMzA4ODMsIDEzMDg4NSwgMTMwODkxLCAxMzA4OTMsIDEzMDg5OSwgCi0gICAgMTMwOTAxLCAxMzA5MDMsIDEzMDkwNSwgMTMwOTA5LCAxMzA5MTEsIDEzMDkxOCwgMTMwOTIwLCAxMzA5MjcsIDEzMDkyOSwgCi0gICAgMTMwOTM0LCAxMzA5MzksIDEzMDk0MSwgMTMwOTQ3LCAxMzA5NTMsIDEzMDk1NSwgMTMwOTYxLCAxMzA5NjYsIDEzMDk2OCwgCi0gICAgMTMwOTc0LCAxMzA5ODAsIDEzMDk4MiwgMTMwOTg4LCAxMzA5OTQsIDEzMDk5NiwgMTMxMDAyLCAxMzEwMDYsIDEzMTAwOCwgCi0gICAgMTMxMDEzLCAxMzEwMTUsIDEzMTAxNywgMTMxMDIyLCAxMzEwMjQsIDEzMTAyNiwgMTMxMDMyLCAxMzEwMzQsIDEzMTAzOSwgCi0gICAgMTMxMDQzLCAxMzEwNDUsIDEzMTA1MCwgMTMxMDU0LCAxMzEwNTYsIDEzMTA2MiwgMTMxMDY0LCAxMzEwNjgsIDEzMTA3MCwgCi0gICAgMTMxMDc0LCAxMzEwNzYsIDEzMTA4MywgMTMxMDkwLCAxMzEwOTIsIDEzMTA5OSwgMTMxMTA2LCAxMzExMDgsIDEzMTExMywgCi0gICAgMTMxMTE1LCAxMzExMjIsIDEzMTEyNCwgMTMxMTI5LCAxMzExMzEsIDEzMTEzNywgMTMxMTM5LCAxMzExNDMsIDEzMTE0NSwgCi0gICAgMTMxMTUxLCAxMzExNTMsIDEzMTE1NywgMTMxMTU5LCAxMzExNjUsIDEzMTE2NywgMTMxMTY5LCAxMzExNzEsIDEzMTE3NiwgCi0gICAgMTMxMTgxLCAxMzExODMsIDEzMTE4NSwgMTMxMTk0LCAxMzExOTgsIDEzMTIwNSwgMTMxMjEyLCAxMzEyMTcsIDEzMTIyMiwgCi0gICAgMTMxMjM0LCAxMzEyMzYsIDEzMTIzOCwgMTMxMjQwLCAxMzEyNDIsIDEzMTI0NCwgMTMxMjQ2LCAxMzEyNDgsIDEzMTI1MCwgCi0gICAgMTMxMjUyLCAxMzEyNTQsIDEzMTI1NiwgMTMxMjU4LCAxMzEyNjAsIDEzMTI2MiwgMTMxMjY0LCAxMzEyNjYsIDEzMTI2OCwgCi0gICAgMTMxMjcwLCAxMzEyNzIsIDEzMTI3NCwgMTMxMjc2LCAxMzEyODIsIDEzMTI4OSwgMTMxMjk0LCAxMzEyOTksIDEzMTMxMCwgCi0gICAgMTMxMzEyLCAxMzEzMTQsIDEzMTMxNiwgMTMxMzE4LCAxMzEzMjAsIDEzMTMyMiwgMTMxMzI0LCAxMzEzMjYsIDEzMTMyOCwgCi0gICAgMTMxMzMwLCAxMzEzMzIsIDEzMTMzNCwgMTMxMzM2LCAxMzEzMzgsIDEzMTM0MCwgMTMxMzQyLCAxMzEzNDcsIDEzMTM0OSwgCi0gICAgMTMxMzUxLCAxMzEzNTcsIDEzMTM2OSwgMTMxMzgwLCAxMzEzODIsIDEzMTM4NCwgMTMxMzg2LCAxMzEzODgsIDEzMTM5MCwgCi0gICAgMTMxMzkyLCAxMzEzOTQsIDEzMTM5NiwgMTMxMzk4LCAxMzE0MDAsIDEzMTQwMiwgMTMxNDA0LCAxMzE0MDYsIDEzMTQwOCwgCi0gICAgMTMxNDEwLCAxMzE0MTIsIDEzMTQxNCwgMTMxNDE2LCAxMzE0MTgsIDEzMTQyMCwgMTMxNDIyLCAxMzE0MjQsIDEzMTQyNiwgCi0gICAgMTMxNDI4LCAxMzE0MzAsIDEzMTQzMiwgMTMxNDM0LCAxMzE0MzYsIDEzMTQzOCwgMTMxNDQwLCAxMzE0NDIsIDEzMTQ0NCwgCi0gICAgMTMxNDQ2LCAxMzE0NDgsIDEzMTQ1MCwgMTMxNDUyLCAxMzE0NTQsIDEzMTQ1NiwgMTMxNDU4LCAxMzE0NjAsIDEzMTQ2MiwgCi0gICAgMTMxNDY0LCAxMzE0NjYsIDEzMTQ2OCwgMTMxNDcwLCAxMzE0NzIsIDEzMTQ3NCwgMTMxNDc2LCAxMzE0NzgsIDEzMTQ4MCwgCi0gICAgMTMxNDgyLCAxMzE0ODQsIDEzMTQ4NiwgMTMxNDg4LCAxMzE0OTAsIDEzMTQ5MiwgMTMxNDk0LCAxMzE0OTYsIDEzMTQ5OCwgCi0gICAgMTMxNTAwLCAxMzE1MDIsIDEzMTUwNCwgMTMxNTA2LCAxMzE1MDgsIDEzMTUxMCwgMTMxNTEyLCAxMzE1MTQsIDEzMTUxNiwgCi0gICAgMTMxNTE4LCAxMzE1MjAsIDEzMTUyMiwgMTMxNTI0LCAxMzE1MjYsIDEzMTUyOCwgMTMxNTMwLCAxMzE1MzIsIDEzMTUzNCwgCi0gICAgMTMxNTM2LCAxMzE1MzgsIDEzMTU0MCwgMTMxNTQyLCAxMzE1NDQsIDEzMTU0NiwgMTMxNTQ4LCAxMzE1NTAsIDEzMTU1MiwgCi0gICAgMTMxNTU0LCAxMzE1NTYsIDEzMTU1OCwgMTMxNTYwLCAxMzE1NjIsIDEzMTU2NCwgMTMxNTY2LCAxMzE1NjgsIDEzMTU3MCwgCi0gICAgMTMxNTcyLCAxMzE1NzQsIDEzMTU3NiwgMTMxNTc4LCAxMzE1ODAsIDEzMTU4MiwgMTMxNTg0LCAxMzE1ODYsIDEzMTU4OCwgCi0gICAgMTMxNTkwLCAxMzE1OTIsIDEzMTU5NCwgMTMxNTk2LCAxMzE1OTgsIDEzMTYwMCwgMTMxNjAyLCAxMzE2MDQsIDEzMTYwNiwgCi0gICAgMTMxNjA4LCAxMzE2MTAsIDEzMTYxMiwgMTMxNjE0LCAxMzE2MTYsIDEzMTYxOCwgMTMxNjIwLCAxMzE2MjIsIDEzMTYyNCwgCi0gICAgMTMxNjI2LCAxMzE2MjgsIDEzMTYzMCwgMTMxNjMyLCAxMzE2MzQsIDEzMTYzNiwgMTMxNjM4LCAxMzE2NDAsIDEzMTY0MiwgCi0gICAgMTMxNjQ0LCAxMzE2NDYsIDEzMTY0OCwgMTMxNjUwLCAxMzE2NTIsIDEzMTY1NCwgMTMxNjU2LCAxMzE2NTgsIDEzMTY2MCwgCi0gICAgMTMxNjYyLCAxMzE2NjQsIDEzMTY2NiwgMTMxNjY4LCAxMzE2NzAsIDEzMTY3MiwgMTMxNjc0LCAxMzE2NzYsIDEzMTY3OCwgCi0gICAgMTMxNjgwLCAxMzE2ODIsIDEzMTY4NCwgMTMxNjg2LCAxMzE2ODgsIDEzMTY5MCwgMTMxNjkyLCAxMzE2OTQsIDEzMTY5NiwgCi0gICAgMTMxNjk4LCAxMzE3MDAsIDEzMTcwMiwgMTMxNzA0LCAxMzE3MDYsIDEzMTcwOCwgMTMxNzEwLCAxMzE3MTIsIDEzMTcxNCwgCi0gICAgMTMxNzE2LCAxMzE3MTgsIDEzMTcyMCwgMTMxNzIyLCAxMzE3MjQsIDEzMTcyNiwgMTMxNzI4LCAxMzE3MzAsIDEzMTczMiwgCi0gICAgMTMxNzM0LCAxMzE3MzYsIDEzMTczOCwgMTMxNzQwLCAxMzE3NDIsIDEzMTc0NCwgMTMxNzQ2LCAxMzE3NDgsIDEzMTc1MCwgCi0gICAgMTMxNzUyLCAxMzE3NTQsIDEzMTc1NiwgMTMxNzU4LCAxMzE3NjAsIDEzMTc2MiwgMTMxNzY0LCAxMzE3NjYsIDEzMTc2OCwgCi0gICAgMTMxNzcwLCAxMzE3NzIsIDEzMTc3NCwgMTMxNzc2LCAxMzE3NzgsIDEzMTc4MCwgMTMxNzgyLCAxMzE3ODQsIDEzMTc4NiwgCi0gICAgMTMxNzg4LCAxMzE3OTAsIDEzMTc5MiwgMTMxNzk0LCAxMzE3OTYsIDEzMTc5OCwgMTMxODAwLCAxMzE4MDIsIDEzMTgwNCwgCi0gICAgMTMxODA2LCAxMzE4MDgsIDEzMTgxMCwgMTMxODEyLCAxMzE4MTQsIDEzMTgxNiwgMTMxODE4LCAxMzE4MjAsIDEzMTgyMiwgCi0gICAgMTMxODI0LCAxMzE4MjYsIDEzMTgyOCwgMTMxODMwLCAxMzE4MzIsIDEzMTgzNCwgMTMxODM2LCAxMzE4MzgsIDEzMTg0MCwgCi0gICAgMTMxODQyLCAxMzE4NDQsIDEzMTg0NiwgMTMxODQ4LCAxMzE4NTAsIDEzMTg1MiwgMTMxODU0LCAxMzE4NTYsIDEzMTg1OCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTMxODYwLCAxMzE4NzAsIDEzMTg4MCwgMTMxODg5LCAxMzE4OTgsIDEzMTkxMSwgCi0gICAgMTMxOTI0LCAxMzE5MzYsIDEzMTk0OCwgMTMxOTU4LCAxMzE5NjgsIDEzMTk3OCwgMTMxOTg4LCAxMzE5OTksIDEzMjAxMCwgCi0gICAgMTMyMDIwLCAxMzIwMjksIDEzMjAzOCwgMTMyMDQ3LCAxMzIwNjAsIDEzMjA3MywgMTMyMDg1LCAxMzIwOTcsIDEzMjEwNywgCi0gICAgMTMyMTE3LCAxMzIxMjcsIDEzMjEzNywgMTMyMTQ2LCAxMzIxNTUsIDEzMjE2NCwgMTMyMTczLCAxMzIxODIsIDEzMjE5MSwgCi0gICAgMTMyMjAwLCAxMzIyMDksIDEzMjIxOCwgMTMyMjI3LCAxMzIyMzYsIDEzMjI0NSwgMTMyMjU2LCAxMzIyNjYsIDEzMjI3NiwgCi0gICAgMTMyMjg5LCAxMzIyOTksIDEzMjMxMiwgMTMyMzE5LCAxMzIzMjksIDEzMjMzNiwgMTMyMzQzLCAxMzIzNTAsIDEzMjM1NywgCi0gICAgMTMyMzY0LCAxMzIzNzEsIDEzMjM4MCwgMTMyMzg5LCAxMzIzOTgsIDEzMjQwNywgMTMyNDE2LCAxMzI0MjUsIDEzMjQzNCwgCi0gICAgMTMyNDQzLCAxMzI0NTEsIDEzMjQ1OSwgMTMyNDY2LCAxMzI0NzYsIDEzMjQ4NSwgMTMyNDkzLCAxMzI1MDAsIDEzMjUxMCwgCi0gICAgMTMyNTE5LCAxMzI1MjksIDEzMjUzOSwgMTMyNTUwLCAxMzI1NjAsIDEzMjU2OSwgMTMyNTc5LCAxMzI1ODgsIDEzMjU5OCwgCi0gICAgMTMyNjA2LCAxMzI2MTAsIDEzMjYxNCwgMTMyNjE4LCAxMzI2MjIsIDEzMjYyNiwgMTMyNjMwLCAxMzI2MzQsIDEzMjYzOCwgCi0gICAgMTMyNjQyLCAxMzI2NDYsIDEzMjY0OSwgMTMyNjUzLCAxMzI2NTYsIDEzMjY1OSwgMTMyNjYzLCAxMzI2NjcsIDEzMjY3MSwgCi0gICAgMTMyNjc1LCAxMzI2NzksIDEzMjY4MywgMTMyNjg3LCAxMzI2OTEsIDEzMjY5NSwgMTMyNjk5LCAxMzI3MDMsIDEzMjcwNywgCi0gICAgMTMyNzExLCAxMzI3MTUsIDEzMjcxOSwgMTMyNzIzLCAxMzI3MjcsIDEzMjczMSwgMTMyNzM1LCAxMzI3MzksIDEzMjc0MywgCi0gICAgMTMyNzQ3LCAxMzI3NTEsIDEzMjc1NSwgMTMyNzU5LCAxMzI3NjMsIDEzMjc2NywgMTMyNzcxLCAxMzI3NzUsIDEzMjc3OSwgCi0gICAgMTMyNzgzLCAxMzI3ODcsIDEzMjc5MSwgMTMyNzk1LCAxMzI3OTksIDEzMjgwMywgMTMyODA3LCAxMzI4MTEsIDEzMjgxNSwgCi0gICAgMTMyODE5LCAxMzI4MjMsIDEzMjgyNywgMTMyODMxLCAxMzI4MzUsIDEzMjgzOSwgMTMyODQzLCAxMzI4NDcsIDEzMjg1MSwgCi0gICAgMTMyODU1LCAxMzI4NTksIDEzMjg2MywgMTMyODY3LCAxMzI4NzEsIDEzMjg3NSwgMTMyODc5LCAxMzI4ODMsIDEzMjg4NywgCi0gICAgMTMyODkxLCAxMzI4OTUsIDEzMjg5OSwgMTMyOTAzLCAxMzI5MDcsIDEzMjkxMSwgMTMyOTE1LCAxMzI5MTksIDEzMjkyMywgCi0gICAgMTMyOTI3LCAxMzI5MzEsIDEzMjkzNSwgMTMyOTM5LCAxMzI5NDMsIDEzMjk0NywgMTMyOTUxLCAxMzI5NTUsIDEzMjk1OSwgCi0gICAgMTMyOTYzLCAxMzI5NjcsIDEzMjk3MSwgMTMyOTc1LCAxMzI5NzksIDEzMjk4MywgMTMyOTg3LCAxMzI5OTEsIDEzMjk5NSwgCi0gICAgMTMyOTk5LCAxMzMwMDIsIDEzMzAwNiwgMTMzMDEwLCAxMzMwMTQsIDEzMzAxOCwgMTMzMDIyLCAxMzMwMjYsIDEzMzAzMCwgCi0gICAgMTMzMDM0LCAxMzMwMzgsIDEzMzA0MiwgMTMzMDQ2LCAxMzMwNTAsIDEzMzA1NCwgMTMzMDU4LCAxMzMwNjIsIDEzMzA2NiwgCi0gICAgMTMzMDcwLCAxMzMwNzQsIDEzMzA3OCwgMTMzMDgyLCAxMzMwODYsIDEzMzA5MCwgMTMzMDk0LCAxMzMwOTgsIDEzMzEwMiwgCi0gICAgMTMzMTA2LCAxMzMxMTAsIDEzMzExNCwgMTMzMTE4LCAxMzMxMjIsIDEzMzEyNiwgMTMzMTMwLCAxMzMxMzQsIDEzMzEzOCwgCi0gICAgMTMzMTQyLCAxMzMxNDYsIDEzMzE1MCwgMTMzMTU0LCAxMzMxNTgsIDEzMzE2MiwgMTMzMTY2LCAxMzMxNzAsIDEzMzE3NCwgCi0gICAgMTMzMTc4LCAxMzMxODIsIDEzMzE4NiwgMTMzMTkwLCAxMzMxOTQsIDEzMzE5OCwgMTMzMjAyLCAxMzMyMDYsIDEzMzIxMCwgCi0gICAgMTMzMjE0LCAxMzMyMTgsIDEzMzIyMiwgMTMzMjI2LCAxMzMyMzAsIDEzMzIzNCwgMTMzMjM4LCAxMzMyNDIsIDEzMzI0NiwgCi0gICAgMTMzMjUwLCAxMzMyNTQsIDEzMzI1OCwgMTMzMjYyLCAxMzMyNjYsIDEzMzI3MCwgMTMzMjc0LCAxMzMyNzgsIDEzMzI4MiwgCi0gICAgMTMzMjg2LCAxMzMyOTAsIDEzMzI5NCwgMTMzMjk4LCAxMzMzMDIsIDEzMzMwNiwgMTMzMzEwLCAxMzMzMTQsIDEzMzMxOCwgCi0gICAgMTMzMzIyLCAxMzMzMjYsIDEzMzMzMCwgMTMzMzM0LCAxMzMzMzgsIDEzMzM0MiwgMTMzMzQ2LCAxMzMzNTAsIDEzMzM1NCwgCi0gICAgMTMzMzU4LCAxMzMzNjIsIDEzMzM2NiwgMTMzMzcwLCAxMzMzNzQsIDEzMzM3OCwgMTMzMzgyLCAxMzMzODYsIDEzMzM5MCwgCi0gICAgMTMzMzk0LCAxMzMzOTgsIDEzMzQwMiwgMTMzNDA2LCAxMzM0MTAsIDEzMzQxNCwgMTMzNDE4LCAxMzM0MjIsIDEzMzQyNiwgCi0gICAgMTMzNDMwLCAxMzM0MzQsIDEzMzQzOCwgMTMzNDQyLCAxMzM0NDYsIDEzMzQ1MCwgMTMzNDU0LCAxMzM0NTgsIDEzMzQ2MiwgCi0gICAgMTMzNDY2LCAxMzM0NzAsIDEzMzQ3NCwgMTMzNDc4LCAxMzM0ODIsIDEzMzQ4NiwgMTMzNDkwLCAxMzM0OTQsIDEzMzQ5OCwgCi0gICAgMTMzNTAyLCAxMzM1MDYsIDEzMzUxMCwgMTMzNTE0LCAxMzM1MTgsIDEzMzUyMiwgMTMzNTI2LCAxMzM1MzAsIDEzMzUzNCwgCi0gICAgMTMzNTM4LCAxMzM1NDIsIDEzMzU0NiwgMTMzNTUwLCAxMzM1NTQsIDEzMzU1OCwgMTMzNTYyLCAxMzM1NjYsIDEzMzU3MCwgCi0gICAgMTMzNTc0LCAxMzM1NzgsIDEzMzU4MiwgMTMzNTg2LCAxMzM1OTAsIDEzMzU5NCwgMTMzNTk4LCAxMzM2MDIsIDEzMzYwNiwgCi0gICAgMTMzNjEwLCAxMzM2MTQsIDEzMzYxOCwgMTMzNjIyLCAxMzM2MjYsIDEzMzYzMCwgMTMzNjM0LCAxMzM2MzgsIDEzMzY0MiwgCi0gICAgMTMzNjQ2LCAxMzM2NTAsIDEzMzY1NCwgMTMzNjU4LCAxMzM2NjIsIDEzMzY2NiwgMTMzNjcwLCAxMzM2NzQsIDEzMzY3OCwgCi0gICAgMTMzNjgyLCAxMzM2ODYsIDEzMzY5MCwgMTMzNjk0LCAxMzM2OTgsIDEzMzcwMiwgMTMzNzA2LCAxMzM3MTAsIDEzMzcxNCwgCi0gICAgMTMzNzE4LCAxMzM3MjIsIDEzMzcyNiwgMTMzNzMwLCAxMzM3MzQsIDEzMzczOCwgMTMzNzQyLCAxMzM3NDYsIDEzMzc1MCwgCi0gICAgMTMzNzU0LCAxMzM3NTgsIDEzMzc2MiwgMTMzNzY2LCAxMzM3NzEsIDEzMzc3NiwgMTMzNzgxLCAxMzM3ODUsIDEzMzc5MSwgCi0gICAgMTMzNzk4LCAxMzM4MDUsIDEzMzgxMiwgMTMzODE5LCAxMzM4MjYsIDEzMzgzMywgMTMzODQwLCAxMzM4NDcsIDEzMzg1NCwgCi0gICAgMTMzODYxLCAxMzM4NjgsIDEzMzg3NSwgMTMzODgyLCAxMzM4ODgsIDEzMzg5NSwgMTMzOTAyLCAxMzM5MDgsIDEzMzkxNSwgCi0gICAgMTMzOTIyLCAxMzM5MjksIDEzMzkzNiwgMTMzOTQzLCAxMzM5NTAsIDEzMzk1NywgMTMzOTY0LCAxMzM5NzEsIDEzMzk3OCwgCi0gICAgMTMzOTg1LCAxMzM5OTIsIDEzMzk5OSwgMTM0MDA1LCAxMzQwMTEsIDEzNDAxOCwgMTM0MDI1LCAxMzQwMzQsIDEzNDA0MywgCi0gICAgMTM0MDUyLCAxMzQwNjEsIDEzNDA2NiwgMTM0MDcxLCAxMzQwNzcsIDEzNDA4MywgMTM0MDg5LCAxMzQwOTUsIDEzNDEwMSwgCi0gICAgMTM0MTA3LCAxMzQxMTMsIDEzNDExOSwgMTM0MTI1LCAxMzQxMzEsIDEzNDEzNywgMTM0MTQzLCAxMzQxNDgsIDEzNDE1NCwgCi0gICAgMTM0MTY0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAxMDA5ODAsIDEwMDk4NCwgMTAwOTg4LCAxMDA5OTIsIDEwMDk5NiwgMTAxMDAwLCAxMDEwMDQsIAorICAgIDEwMTAwOCwgMTAxMDEyLCAxMDEwMTYsIDEwMTAyMSwgMTAxMDI2LCAxMDEwMzEsIDEwMTAzNiwgMTAxMDQxLCAxMDEwNDYsIAorICAgIDEwMTA1MSwgMTAxMDU2LCAxMDEwNjEsIDEwMTA2NywgMTAxMDczLCAxMDEwNzksIDEwMTA4NiwgMTAxMDkzLCAxMDExMDAsIAorICAgIDEwMTEwNywgMTAxMTE0LCAxMDExMjEsIDEwMTEyOCwgMTAxMTM1LCAxMDExNDIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDEwMTE0OSwgMTAxMTUzLCAxMDExNTcsIDEwMTE2MSwgMTAxMTY1LCAxMDExNjksIDEwMTE3MiwgMTAxMTc2LCAKKyAgICAxMDExNzksIDEwMTE4MywgMTAxMTg2LCAxMDExOTAsIDEwMTE5NCwgMTAxMTk5LCAxMDEyMDMsIDEwMTIwOCwgMTAxMjExLCAKKyAgICAxMDEyMTUsIDEwMTIxOCwgMTAxMjIyLCAxMDEyMjUsIDEwMTIyOSwgMTAxMjMzLCAxMDEyMzcsIDEwMTI0MSwgMTAxMjQ1LCAKKyAgICAxMDEyNDksIDEwMTI1MywgMTAxMjU3LCAxMDEyNjEsIDEwMTI2NSwgMTAxMjY5LCAxMDEyNzMsIDEwMTI3NywgMTAxMjgxLCAKKyAgICAxMDEyODUsIDEwMTI4OSwgMTAxMjkzLCAxMDEyOTcsIDEwMTMwMCwgMTAxMzAzLCAxMDEzMDcsIDEwMTMxMSwgMTAxMzE1LCAKKyAgICAxMDEzMTgsIDEwMTMyMSwgMTAxMzI1LCAxMDEzMjksIDEwMTMzMywgMTAxMzM3LCAxMDEzNDEsIDEwMTM0NSwgMTAxMzQ4LCAKKyAgICAxMDEzNTIsIDEwMTM1OCwgMTAxMzY0LCAxMDEzNzAsIDEwMTM3NSwgMTAxMzgyLCAxMDEzODYsIDEwMTM5MSwgMTAxMzk1LCAKKyAgICAxMDE0MDAsIDEwMTQwNSwgMTAxNDExLCAxMDE0MTYsIDEwMTQyMiwgMTAxNDI2LCAxMDE0MzEsIDEwMTQzNSwgMTAxNDQwLCAKKyAgICAxMDE0NDMsIDEwMTQ0NiwgMTAxNDUwLCAxMDE0NTUsIDEwMTQ2MSwgMTAxNDY2LCAxMDE0NzIsIDAsIDAsIDAsIDAsIAorICAgIDEwMTQ3NywgMTAxNDgwLCAxMDE0ODMsIDEwMTQ4NiwgMTAxNDg5LCAxMDE0OTIsIDEwMTQ5NSwgMTAxNDk4LCAxMDE1MDEsIAorICAgIDEwMTUwNCwgMTAxNTA4LCAxMDE1MTIsIDEwMTUxNiwgMTAxNTIwLCAxMDE1MjQsIDEwMTUyOCwgMTAxNTMyLCAxMDE1MzYsIAorICAgIDEwMTU0MCwgMTAxNTQ1LCAxMDE1NTAsIDEwMTU1NCwgMTAxNTU3LCAxMDE1NjAsIDEwMTU2MywgMTAxNTY2LCAxMDE1NjksIAorICAgIDEwMTU3MiwgMTAxNTc1LCAxMDE1NzgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDEwMTU4MSwgMTAxNTg1LCAxMDE1OTAsIDEwMTU5NSwgMTAxNjAwLCAxMDE2MDQsIDEwMTYwOSwgMTAxNjEzLCAxMDE2MTgsIAorICAgIDEwMTYyMiwgMTAxNjI3LCAxMDE2MzEsIDEwMTYzNiwgMTAxNjQwLCAxMDE2NDUsIDEwMTY0OSwgMTAxNjU0LCAxMDE2NTksIAorICAgIDEwMTY2NCwgMTAxNjY5LCAxMDE2NzQsIDEwMTY3OSwgMTAxNjg0LCAxMDE2ODksIDEwMTY5NCwgMTAxNjk5LCAxMDE3MDQsIAorICAgIDEwMTcwOSwgMTAxNzE0LCAxMDE3MTksIDEwMTcyNCwgMTAxNzI5LCAxMDE3MzQsIDEwMTczOSwgMTAxNzQ0LCAxMDE3NDksIAorICAgIDEwMTc1MywgMTAxNzU3LCAxMDE3NjIsIDEwMTc2NywgMTAxNzcyLCAxMDE3NzYsIDEwMTc4MCwgMTAxNzg1LCAxMDE3OTAsIAorICAgIDEwMTc5NSwgMTAxODAwLCAxMDE4MDUsIDEwMTgxMCwgMTAxODE0LCAxMDE4MjAsIDEwMTgyNSwgMTAxODMxLCAxMDE4MzYsIAorICAgIDEwMTg0MiwgMTAxODQ3LCAxMDE4NTMsIDEwMTg1OCwgMTAxODY0LCAxMDE4NjksIDEwMTg3NCwgMTAxODc5LCAxMDE4ODQsIAorICAgIDEwMTg4OCwgMTAxODkzLCAxMDE4OTksIDEwMTkwMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMTAxOTA4LCAxMDE5MTUsIDEwMTkyMiwgMTAxOTI5LCAxMDE5MzYsIDEwMTk0MywgMTAxOTUwLCAxMDE5NTcsIDEwMTk2NCwgCisgICAgMTAxOTcxLCAxMDE5NzgsIDEwMTk4NSwgMTAxOTkyLCAxMDE5OTksIDEwMjAwNiwgMTAyMDEzLCAxMDIwMjAsIDEwMjAyNywgCisgICAgMTAyMDM0LCAxMDIwNDEsIDEwMjA0OCwgMTAyMDU1LCAxMDIwNjIsIDEwMjA2OSwgMTAyMDc2LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAxMDIwODMsIDEwMjA5MCwgMTAyMDk2LCAxMDIxMDIsIDEwMjEwOCwgMTAyMTE0LCAxMDIxMjAsIDEwMjEyNiwgCisgICAgMTAyMTMyLCAxMDIxMzgsIDAsIDAsIDAsIDAsIDAsIDAsIDEwMjE0NCwgMTAyMTQ5LCAxMDIxNTQsIDEwMjE1OSwgMTAyMTY0LCAKKyAgICAxMDIxNjgsIDEwMjE3MiwgMTAyMTc2LCAxMDIxODEsIDEwMjE4NiwgMTAyMTkxLCAxMDIxOTYsIDEwMjIwMSwgMTAyMjA2LCAKKyAgICAxMDIyMTEsIDEwMjIxNiwgMTAyMjIxLCAxMDIyMjYsIDEwMjIzMSwgMTAyMjM2LCAxMDIyNDEsIDEwMjI0NiwgMTAyMjUxLCAKKyAgICAxMDIyNTYsIDEwMjI2MSwgMTAyMjY2LCAxMDIyNzEsIDEwMjI3NiwgMTAyMjgxLCAxMDIyODYsIDEwMjI5MSwgMTAyMjk2LCAKKyAgICAxMDIzMDEsIDEwMjMwNiwgMTAyMzExLCAxMDIzMTYsIDEwMjMyMSwgMTAyMzI2LCAxMDIzMzEsIDEwMjMzNiwgMTAyMzQxLCAKKyAgICAxMDIzNDYsIDEwMjM1MiwgMTAyMzU3LCAxMDIzNjMsIDEwMjM2OCwgMTAyMzc0LCAxMDIzNzksIDEwMjM4NSwgMTAyMzkxLCAKKyAgICAxMDIzOTUsIDEwMjQwMCwgMTAyNDA0LCAwLCAxMDI0MDgsIDEwMjQxMywgMTAyNDE3LCAxMDI0MjEsIDEwMjQyNSwgCisgICAgMTAyNDI5LCAxMDI0MzMsIDEwMjQzNywgMTAyNDQxLCAxMDI0NDUsIDEwMjQ0OSwgMTAyNDU0LCAxMDI0NTgsIDEwMjQ2MywgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTAyNDY4LCAxMDI0NzIsIDEwMjQ3NiwgMTAyNDgwLCAKKyAgICAxMDI0ODQsIDEwMjQ4OCwgMTAyNDkyLCAxMDI0OTcsIDEwMjUwMiwgMTAyNTA3LCAxMDI1MTIsIDEwMjUxNywgMTAyNTIyLCAKKyAgICAxMDI1MjcsIDEwMjUzMiwgMTAyNTM3LCAxMDI1NDIsIDEwMjU0NywgMTAyNTUyLCAxMDI1NTcsIDEwMjU2MiwgMTAyNTY3LCAKKyAgICAxMDI1NzIsIDEwMjU3NywgMTAyNTgxLCAxMDI1ODUsIDEwMjU5MCwgMTAyNTk1LCAxMDI2MDAsIDEwMjYwNCwgMTAyNjA5LCAKKyAgICAxMDI2MTQsIDEwMjYxOSwgMTAyNjI0LCAxMDI2MjgsIDEwMjYzMywgMTAyNjM4LCAxMDI2NDMsIDEwMjY0OCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMTAyNjUzLCAxMDI2NTcsIDEwMjY2MSwgMTAyNjY1LCAxMDI2NjgsIDEwMjY3MiwgMTAyNjc1LCAKKyAgICAxMDI2NzksIDEwMjY4MiwgMTAyNjg2LCAxMDI2OTAsIDEwMjY5NSwgMTAyNjk5LCAxMDI3MDQsIDEwMjcwNywgMTAyNzExLCAKKyAgICAxMDI3MTQsIDEwMjcxOCwgMTAyNzIxLCAxMDI3MjUsIDEwMjcyOSwgMTAyNzMzLCAxMDI3MzcsIDEwMjc0MSwgMTAyNzQ1LCAKKyAgICAxMDI3NDksIDEwMjc1MywgMTAyNzU3LCAxMDI3NjEsIDEwMjc2NSwgMTAyNzY5LCAxMDI3NzMsIDEwMjc3NywgMTAyNzgxLCAKKyAgICAxMDI3ODUsIDEwMjc4OSwgMTAyNzkzLCAxMDI3OTYsIDEwMjc5OSwgMTAyODAzLCAxMDI4MDcsIDEwMjgxMSwgMTAyODE0LCAKKyAgICAxMDI4MTcsIDEwMjgyMSwgMTAyODI1LCAxMDI4MjksIDEwMjgzMywgMTAyODM3LCAxMDI4NDEsIDEwMjg0NSwgMTAyODQ4LCAKKyAgICAxMDI4NTMsIDEwMjg1NywgMTAyODYyLCAxMDI4NjYsIDEwMjg3MSwgMTAyODc2LCAxMDI4ODIsIDEwMjg4NywgMTAyODkzLCAKKyAgICAxMDI4OTcsIDEwMjkwMiwgMTAyOTA2LCAxMDI5MTEsIDEwMjkxNSwgMTAyOTE5LCAxMDI5MjMsIDEwMjkyNywgMTAyOTMwLCAKKyAgICAxMDI5MzMsIDEwMjkzNywgMTAyOTQxLCAwLCAwLCAwLCAwLCAxMDI5NDQsIDAsIDAsIDEwMjk0OCwgMTAyOTUyLCAxMDI5NTUsIAorICAgIDEwMjk1OCwgMTAyOTYxLCAxMDI5NjQsIDEwMjk2NywgMTAyOTcwLCAxMDI5NzMsIDEwMjk3NiwgMTAyOTc5LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAxMDI5ODIsIDEwMjk4NywgMTAyOTkyLCAxMDI5OTcsIDEwMzAwMiwgMTAzMDA3LCAxMDMwMTIsIDEwMzAxNywgCisgICAgMTAzMDIyLCAxMDMwMjcsIDEwMzAzMywgMTAzMDM5LCAxMDMwNDUsIDEwMzA1MSwgMTAzMDU3LCAxMDMwNjMsIDEwMzA2OSwgCisgICAgMTAzMDc1LCAxMDMwODEsIDEwMzA4OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTAzMDk1LCAxMDMwOTksIAorICAgIDEwMzEwNCwgMTAzMTA4LCAxMDMxMTIsIDEwMzExNiwgMTAzMTIxLCAxMDMxMjUsIDEwMzEzMCwgMTAzMTM0LCAxMDMxMzksIAorICAgIDEwMzE0NCwgMTAzMTQ5LCAxMDMxNTQsIDEwMzE1OSwgMTAzMTY0LCAxMDMxNjksIDEwMzE3NCwgMCwgMTAzMTc5LCAKKyAgICAxMDMxODQsIDEwMzE4OSwgMTAzMTk0LCAxMDMxOTksIDEwMzIwNCwgMTAzMjA5LCAxMDMyMTQsIDEwMzIxOSwgMTAzMjI0LCAKKyAgICAxMDMyMjksIDEwMzIzNCwgMTAzMjM4LCAxMDMyNDIsIDEwMzI0NywgMTAzMjUyLCAxMDMyNTcsIDEwMzI2MiwgMTAzMjY2LCAKKyAgICAxMDMyNzAsIDEwMzI3NSwgMTAzMjgwLCAxMDMyODUsIDEwMzI5MCwgMTAzMjk0LCAxMDMyOTksIDEwMzMwNSwgMTAzMzEwLCAKKyAgICAxMDMzMTYsIDEwMzMyMSwgMTAzMzI2LCAxMDMzMzIsIDEwMzMzNywgMTAzMzQzLCAxMDMzNDgsIDEwMzM1MywgMTAzMzU4LCAKKyAgICAxMDMzNjMsIDEwMzM2NywgMTAzMzcyLCAxMDMzNzgsIDEwMzM4MywgMTAzMzg5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDMzOTQsIDEwMzM5OCwgMTAzNDAzLCAxMDM0MDcsIDEwMzQxMiwgCisgICAgMTAzNDE2LCAxMDM0MjEsIDEwMzQyNSwgMTAzNDMwLCAxMDM0MzQsIDEwMzQzOSwgMTAzNDQzLCAxMDM0NDgsIDEwMzQ1MywgCisgICAgMTAzNDU4LCAxMDM0NjMsIDEwMzQ2OCwgMTAzNDczLCAxMDM0NzgsIDEwMzQ4MywgMTAzNDg4LCAxMDM0OTMsIDEwMzQ5OCwgCisgICAgMTAzNTAzLCAxMDM1MDgsIDEwMzUxMywgMTAzNTE4LCAxMDM1MjMsIDEwMzUyOCwgMTAzNTMzLCAxMDM1MzgsIDEwMzU0MywgCisgICAgMTAzNTQ4LCAxMDM1NTMsIDEwMzU1NywgMTAzNTYxLCAxMDM1NjYsIDEwMzU3MSwgMTAzNTc2LCAxMDM1ODEsIDEwMzU4NSwgCisgICAgMTAzNTg5LCAxMDM1OTQsIDEwMzU5OSwgMTAzNjA0LCAxMDM2MDksIDEwMzYxNCwgMTAzNjE4LCAxMDM2MjMsIDEwMzYyOSwgCisgICAgMTAzNjM0LCAxMDM2NDAsIDEwMzY0NSwgMTAzNjUxLCAxMDM2NTYsIDEwMzY2MiwgMTAzNjY3LCAxMDM2NzMsIDEwMzY3OCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMTAzNjgzLCAxMDM2ODgsIDEwMzY5MiwgMTAzNjk2LCAxMDM3MDAsIDEwMzcwNCwgMTAzNzA4LCAKKyAgICAxMDM3MTIsIDEwMzcxNiwgMTAzNzIwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDM3MjQsIDEwMzcyOSwgMTAzNzM0LCAwLCAKKyAgICAxMDM3MzksIDEwMzc0MywgMTAzNzQ4LCAxMDM3NTIsIDEwMzc1NywgMTAzNzYxLCAxMDM3NjYsIDEwMzc3MSwgMCwgMCwgCisgICAgMTAzNzc2LCAxMDM3ODEsIDAsIDAsIDEwMzc4NiwgMTAzNzkxLCAxMDM3OTYsIDEwMzgwMCwgMTAzODA1LCAxMDM4MTAsIAorICAgIDEwMzgxNSwgMTAzODIwLCAxMDM4MjUsIDEwMzgzMCwgMTAzODM1LCAxMDM4NDAsIDEwMzg0NSwgMTAzODUwLCAxMDM4NTUsIAorICAgIDEwMzg2MCwgMTAzODY1LCAxMDM4NzAsIDEwMzg3NSwgMTAzODgwLCAxMDM4ODUsIDEwMzg5MCwgMCwgMTAzODk0LCAKKyAgICAxMDM4OTgsIDEwMzkwMywgMTAzOTA4LCAxMDM5MTMsIDEwMzkxNywgMTAzOTIxLCAwLCAxMDM5MjYsIDEwMzkzMSwgMCwgCisgICAgMTAzOTM2LCAxMDM5NDEsIDEwMzk0NiwgMTAzOTUxLCAxMDM5NTYsIDAsIDAsIDEwMzk2MCwgMTAzOTY1LCAxMDM5NzAsIAorICAgIDEwMzk3NiwgMTAzOTgxLCAxMDM5ODcsIDEwMzk5MiwgMTAzOTk4LCAxMDQwMDQsIDAsIDAsIDEwNDAxMSwgMTA0MDE3LCAwLCAKKyAgICAwLCAxMDQwMjMsIDEwNDAyOSwgMTA0MDM1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDQwNDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDEwNDA0NywgMTA0MDUyLCAxMDQwNTksIDEwNDA2NywgMTA0MDczLCAxMDQwNzksIDEwNDA4NSwgMCwgMCwgMTA0MDkyLCAKKyAgICAxMDQwOTgsIDEwNDEwMywgMTA0MTA4LCAxMDQxMTMsIDEwNDExOCwgMTA0MTIzLCAwLCAwLCAwLCAxMDQxMjgsIDEwNDEzMywgCisgICAgMTA0MTM4LCAxMDQxNDMsIDEwNDE0OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA0MTU0LCAxMDQxNTgsIDEwNDE2MiwgMTA0MTY3LCAxMDQxNzEsIAorICAgIDEwNDE3NiwgMTA0MTgwLCAxMDQxODUsIDEwNDE5MCwgMTA0MTk2LCAxMDQyMDEsIDEwNDIwNywgMTA0MjExLCAxMDQyMTYsIAorICAgIDEwNDIyMCwgMTA0MjI1LCAxMDQyMjksIDEwNDIzNCwgMTA0MjM5LCAxMDQyNDQsIDEwNDI0OSwgMTA0MjU0LCAxMDQyNTksIAorICAgIDEwNDI2NCwgMTA0MjY5LCAxMDQyNzQsIDEwNDI3OSwgMTA0Mjg0LCAxMDQyODksIDEwNDI5NCwgMTA0Mjk5LCAxMDQzMDQsIAorICAgIDEwNDMwOSwgMTA0MzE0LCAxMDQzMTksIDEwNDMyMywgMTA0MzI3LCAxMDQzMzIsIDEwNDMzNywgMTA0MzQyLCAxMDQzNDYsIAorICAgIDEwNDM1MCwgMTA0MzU1LCAxMDQzNjAsIDEwNDM2NSwgMTA0MzcwLCAxMDQzNzUsIDEwNDM4MCwgMTA0Mzg0LCAxMDQzOTAsIAorICAgIDEwNDM5NSwgMTA0NDAxLCAxMDQ0MDYsIDEwNDQxMiwgMTA0NDE4LCAxMDQ0MjUsIDEwNDQzMSwgMTA0NDM4LCAxMDQ0NDMsIAorICAgIDEwNDQ1MCwgMTA0NDU2LCAxMDQ0NjEsIDEwNDQ2OCwgMTA0NDc0LCAxMDQ0NzksIDEwNDQ4NCwgMTA0NDg5LCAxMDQ0OTQsIAorICAgIDEwNDQ5OSwgMTA0NTA0LCAxMDQ1MDgsIDEwNDUxMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA0NTE3LCAxMDQ1MjIsIAorICAgIDEwNDUyNiwgMTA0NTMwLCAxMDQ1MzQsIDEwNDUzOCwgMTA0NTQyLCAxMDQ1NDYsIDEwNDU1MCwgMTA0NTU0LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDQ1NTgsIDEwNDU2MiwgCisgICAgMTA0NTY3LCAxMDQ1NzEsIDEwNDU3NiwgMTA0NTgwLCAxMDQ1ODUsIDEwNDU5MCwgMTA0NTk2LCAxMDQ2MDEsIDEwNDYwNywgCisgICAgMTA0NjExLCAxMDQ2MTYsIDEwNDYyMCwgMTA0NjI1LCAxMDQ2MjksIDEwNDYzNCwgMTA0NjM5LCAxMDQ2NDQsIDEwNDY0OSwgCisgICAgMTA0NjU0LCAxMDQ2NTksIDEwNDY2NCwgMTA0NjY5LCAxMDQ2NzQsIDEwNDY3OSwgMTA0Njg0LCAxMDQ2ODksIDEwNDY5NCwgCisgICAgMTA0Njk5LCAxMDQ3MDQsIDEwNDcwOSwgMTA0NzE0LCAxMDQ3MTksIDEwNDcyMywgMTA0NzI3LCAxMDQ3MzIsIDEwNDczNywgCisgICAgMTA0NzQyLCAxMDQ3NDYsIDEwNDc1MCwgMTA0NzU1LCAxMDQ3NjAsIDEwNDc2NSwgMTA0NzcwLCAxMDQ3NzUsIDEwNDc4MCwgCisgICAgMTA0Nzg0LCAxMDQ3OTAsIDEwNDc5NSwgMTA0ODAxLCAxMDQ4MDYsIDEwNDgxMiwgMTA0ODE4LCAwLCAwLCAxMDQ4MjUsIAorICAgIDEwNDgzMCwgMTA0ODM2LCAxMDQ4NDEsIDEwNDg0NywgMTA0ODUyLCAxMDQ4NTcsIDEwNDg2MiwgMTA0ODY3LCAxMDQ4NzIsIAorICAgIDEwNDg3NywgMTA0ODgxLCAxMDQ4ODYsIDEwNDg5MiwgMTA0ODk3LCAxMDQ5MDMsIDEwNDkwOSwgMTA0OTE1LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAxMDQ5MjMsIDEwNDkyNywgMTA0OTMyLCAxMDQ5MzYsIDEwNDk0MSwgMTA0OTQ1LCAxMDQ5NTAsIDEwNDk1NSwgCisgICAgMTA0OTYxLCAxMDQ5NjYsIDEwNDk3MiwgMTA0OTc2LCAxMDQ5ODEsIDEwNDk4NSwgMTA0OTkwLCAxMDQ5OTQsIDEwNDk5OSwgCisgICAgMTA1MDA0LCAxMDUwMDksIDEwNTAxNCwgMTA1MDE5LCAxMDUwMjQsIDEwNTAyOSwgMTA1MDM0LCAxMDUwMzksIDEwNTA0NCwgCisgICAgMTA1MDQ5LCAxMDUwNTQsIDEwNTA1OSwgMTA1MDY0LCAxMDUwNjksIDEwNTA3NCwgMTA1MDc5LCAxMDUwODQsIDEwNTA4OCwgCisgICAgMTA1MDkyLCAxMDUwOTcsIDEwNTEwMiwgMTA1MTA3LCAxMDUxMTEsIDEwNTExNSwgMTA1MTIwLCAxMDUxMjUsIDEwNTEzMCwgCisgICAgMTA1MTM1LCAxMDUxNDAsIDEwNTE0NSwgMTA1MTQ5LCAxMDUxNTQsIDEwNTE2MCwgMTA1MTY1LCAxMDUxNzEsIDEwNTE3NiwgCisgICAgMTA1MTgyLCAxMDUxODgsIDEwNTE5NSwgMTA1MjAxLCAxMDUyMDgsIDEwNTIxMywgMTA1MjE5LCAxMDUyMjQsIDEwNTIzMCwgCisgICAgMTA1MjM1LCAxMDUyNDAsIDEwNTI0NSwgMTA1MjUwLCAxMDUyNTQsIDEwNTI1OSwgMTA1MjY0LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAxMDUyNjksIDEwNTI3NCwgMTA1Mjc4LCAxMDUyODIsIDEwNTI4NiwgMTA1MjkwLCAxMDUyOTQsIAorICAgIDEwNTI5OCwgMTA1MzAyLCAxMDUzMDYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwNTMxMCwgCisgICAgMTA1MzE0LCAxMDUzMTksIDEwNTMyMywgMTA1MzI4LCAxMDUzMzIsIDEwNTMzNywgMTA1MzQxLCAxMDUzNDYsIDEwNTM1MCwgCisgICAgMTA1MzU1LCAxMDUzNTksIDEwNTM2NCwgMTA1MzY5LCAxMDUzNzQsIDEwNTM3OSwgMTA1Mzg0LCAxMDUzODksIDEwNTM5NCwgCisgICAgMTA1Mzk5LCAxMDU0MDQsIDEwNTQwOSwgMTA1NDE0LCAxMDU0MTksIDEwNTQyNCwgMTA1NDI5LCAxMDU0MzQsIDEwNTQzOSwgCisgICAgMTA1NDQ0LCAxMDU0NDksIDEwNTQ1MywgMTA1NDU3LCAxMDU0NjIsIDEwNTQ2NywgMTA1NDcyLCAxMDU0NzYsIDEwNTQ4MCwgCisgICAgMTA1NDg1LCAxMDU0OTAsIDEwNTQ5NSwgMTA1NTAwLCAxMDU1MDUsIDEwNTUwOSwgMTA1NTE0LCAxMDU1MTksIDEwNTUyNCwgCisgICAgMTA1NTMwLCAxMDU1MzUsIDEwNTU0MSwgMTA1NTQ2LCAxMDU1NTIsIDEwNTU1NywgMTA1NTYzLCAxMDU1NjgsIDEwNTU3NCwgCisgICAgMTA1NTc5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDU1ODQsIDEwNTU4OSwgMTA1NTkzLCAxMDU1OTcsIDEwNTYwMSwgCisgICAgMTA1NjA1LCAxMDU2MDksIDEwNTYxMywgMTA1NjE3LCAxMDU2MjEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwNTYyNSwgMTA1NjMxLCAxMDU2MzYsIDEwNTY0MiwgMTA1NjQ4LCAKKyAgICAxMDU2NTMsIDEwNTY1OSwgMTA1NjY1LCAxMDU2NzEsIDEwNTY3NiwgMTA1NjgxLCAxMDU2ODcsIDEwNTY5MywgMTA1Njk5LCAKKyAgICAxMDU3MDUsIDEwNTcxMSwgMTA1NzE3LCAxMDU3MjMsIDEwNTcyOSwgMTA1NzM1LCAxMDU3NDEsIDEwNTc0NywgMTA1NzUzLCAKKyAgICAxMDU3NTksIDEwNTc2NSwgMTA1NzcxLCAxMDU3NzcsIDEwNTc4MywgMTA1Nzg5LCAxMDU3OTUsIDEwNTgwMSwgMTA1ODA3LCAKKyAgICAxMDU4MTMsIDEwNTgxOSwgMTA1ODI0LCAxMDU4MzAsIDEwNTgzNiwgMTA1ODQxLCAxMDU4NDcsIDEwNTg1MywgMTA1ODU5LCAKKyAgICAxMDU4NjQsIDEwNTg2OSwgMTA1ODc1LCAxMDU4ODEsIDEwNTg4NywgMTA1ODkzLCAxMDU4OTksIDEwNTkwNSwgMTA1OTExLCAKKyAgICAxMDU5MTcsIDEwNTkyMywgMTA1OTI5LCAxMDU5MzUsIDEwNTk0MSwgMTA1OTQ3LCAxMDU5NTMsIDEwNTk1OSwgMTA1OTY1LCAKKyAgICAxMDU5NzEsIDEwNTk3NywgMTA1OTgzLCAxMDU5ODksIDEwNTk5NSwgMTA2MDAxLCAxMDYwMDYsIDEwNjAxMCwgMTA2MDE0LCAKKyAgICAxMDYwMTgsIDEwNjAyMiwgMTA2MDI2LCAxMDYwMzAsIDEwNjAzNCwgMTA2MDM4LCAxMDYwNDIsIDEwNjA0NywgMTA2MDUyLCAKKyAgICAxMDYwNTcsIDEwNjA2MiwgMTA2MDY3LCAxMDYwNzIsIDEwNjA3NywgMTA2MDgyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAxMDYwODcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDEwNjA5MSwgMTA2MDk5LCAxMDYxMDcsIDEwNjExNiwgMTA2MTI0LCAxMDYxMzMsIDEwNjE0MiwgCisgICAgMTA2MTUxLCAxMDYxNjAsIDEwNjE2OCwgMTA2MTc3LCAxMDYxODYsIDEwNjE5NSwgMTA2MjA0LCAxMDYyMTMsIDEwNjIyMiwgCisgICAgMTA2MjMxLCAxMDYyMzksIDEwNjI0OCwgMTA2MjU3LCAxMDYyNjYsIDEwNjI3NSwgMTA2MjgzLCAxMDYyOTEsIDEwNjI5OSwgCisgICAgMTA2MzA3LCAxMDYzMTUsIDEwNjMyNCwgMTA2MzMzLCAxMDYzNDMsIDEwNjM1MywgMTA2MzYzLCAxMDYzNzMsIDEwNjM4MywgCisgICAgMTA2MzkyLCAxMDY0MDIsIDEwNjQxMiwgMTA2NDIyLCAxMDY0MzMsIDEwNjQ0MywgMTA2NDU1LCAxMDY0NjcsIDEwNjQ3OCwgCisgICAgMTA2NDkyLCAxMDY1MDMsIDEwNjUxMywgMTA2NTI1LCAxMDY1MzYsIDEwNjU0NiwgMTA2NTU4LCAxMDY1NzAsIDEwNjU4MSwgCisgICAgMTA2NTkyLCAxMDY2MDIsIDEwNjYxMiwgMTA2NjI0LCAxMDY2MzUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwNjY0NywgCisgICAgMTA2NjUwLCAxMDY2NTUsIDEwNjY2MSwgMTA2NjY5LCAxMDY2NzQsIDEwNjY4MCwgMTA2Njg4LCAxMDY2OTQsIDEwNjcwMCwgCisgICAgMTA2NzA0LCAxMDY3MDgsIDEwNjcxNSwgMTA2NzI0LCAxMDY3MzEsIDEwNjc0MCwgMTA2NzQ2LCAxMDY3NTUsIDEwNjc2MiwgCisgICAgMTA2NzY5LCAxMDY3NzYsIDEwNjc4NiwgMTA2NzkyLCAxMDY3OTYsIDEwNjgwMywgMTA2ODEyLCAxMDY4MjIsIDEwNjgyOSwgCisgICAgMTA2ODM2LCAxMDY4NDAsIDEwNjg0NCwgMTA2ODUxLCAxMDY4NjEsIDEwNjg2NSwgMTA2ODcyLCAxMDY4NzksIDEwNjg4NiwgCisgICAgMTA2ODkyLCAxMDY4OTksIDEwNjkwNiwgMTA2OTEzLCAxMDY5MjAsIDEwNjkyNCwgMTA2OTI4LCAxMDY5MzIsIDEwNjkzOSwgCisgICAgMTA2OTQzLCAxMDY5NTAsIDEwNjk1NywgMTA2OTcxLCAxMDY5ODAsIDEwNjk4NCwgMTA2OTg4LCAxMDY5OTIsIDEwNjk5OSwgCisgICAgMTA3MDAzLCAxMDcwMDcsIDEwNzAxMSwgMTA3MDE5LCAxMDcwMjcsIDEwNzA0NiwgMTA3MDU2LCAxMDcwNzYsIDEwNzA4MCwgCisgICAgMTA3MDg0LCAxMDcwODgsIDEwNzA5MiwgMTA3MDk2LCAxMDcxMDAsIDEwNzEwNCwgMTA3MTExLCAxMDcxMTUsIDEwNzExOCwgCisgICAgMTA3MTIyLCAxMDcxMjYsIDEwNzEzMiwgMTA3MTM5LCAxMDcxNDgsIDEwNzE1MiwgMTA3MTYxLCAxMDcxNzAsIDEwNzE3OCwgCisgICAgMTA3MTgyLCAxMDcxODksIDEwNzE5MywgMTA3MTk3LCAxMDcyMDEsIDEwNzIwNSwgMTA3MjE2LCAxMDcyMjUsIDEwNzIzNCwgCisgICAgMTA3MjQzLCAxMDcyNTIsIDEwNzI2NCwgMTA3MjczLCAxMDcyODIsIDEwNzI5MSwgMTA3Mjk5LCAxMDczMDgsIDEwNzMyMCwgCisgICAgMTA3MzI5LCAxMDczMzgsIDEwNzM0NywgMTA3MzU5LCAxMDczNjgsIDEwNzM3NywgMTA3Mzg5LCAxMDczOTgsIDEwNzQwNywgCisgICAgMTA3NDE5LCAxMDc0MjgsIDEwNzQzMiwgMTA3NDM2LCAxMDc0NDAsIDEwNzQ0NCwgMTA3NDQ4LCAxMDc0NTIsIDEwNzQ1NiwgCisgICAgMTA3NDYzLCAxMDc0NjcsIDEwNzQ3MSwgMTA3NDgyLCAxMDc0ODYsIDEwNzQ5MCwgMTA3NDk3LCAxMDc1MDMsIDEwNzUwOSwgCisgICAgMTA3NTEzLCAxMDc1MjAsIDEwNzUyNCwgMTA3NTI4LCAxMDc1MzIsIDEwNzUzNiwgMTA3NTQwLCAxMDc1NDQsIDEwNzU1MCwgCisgICAgMTA3NTU4LCAxMDc1NjIsIDEwNzU2NiwgMTA3NTY5LCAxMDc1NzUsIDEwNzU4NSwgMTA3NTg5LCAxMDc2MDEsIDEwNzYwOCwgCisgICAgMTA3NjE1LCAxMDc2MjIsIDEwNzYyOSwgMTA3NjM1LCAxMDc2MzksIDEwNzY0MywgMTA3NjQ3LCAxMDc2NTEsIDEwNzY1OCwgCisgICAgMTA3NjY3LCAxMDc2NzQsIDEwNzY4MiwgMTA3NjkwLCAxMDc2OTYsIDEwNzcwMCwgMTA3NzA0LCAxMDc3MDgsIDEwNzcxMiwgCisgICAgMTA3NzE4LCAxMDc3MjcsIDEwNzczOSwgMTA3NzQ2LCAxMDc3NTMsIDEwNzc2MiwgMTA3NzczLCAxMDc3NzksIDEwNzc4OCwgCisgICAgMTA3Nzk3LCAxMDc4MDQsIDEwNzgxMywgMTA3ODIwLCAxMDc4MjcsIDEwNzgzNywgMTA3ODQ0LCAxMDc4NTEsIDEwNzg1OCwgCisgICAgMTA3ODY1LCAxMDc4NjksIDEwNzg3NSwgMTA3ODc5LCAxMDc4OTAsIDEwNzg5OCwgMTA3OTA3LCAxMDc5MTksIDEwNzkyNiwgCisgICAgMTA3OTMzLCAxMDc5NDMsIDEwNzk1MCwgMTA3OTYwLCAxMDc5NjcsIDEwNzk3NywgMTA3OTg0LCAxMDc5OTEsIDEwODAwMSwgCisgICAgMTA4MDA4LCAxMDgwMTUsIDEwODAyNSwgMTA4MDMyLCAxMDgwNDQsIDEwODA1MywgMTA4MDYwLCAxMDgwNjcsIDEwODA3NCwgCisgICAgMTA4MDgzLCAxMDgwOTMsIDEwODEwNiwgMTA4MTEzLCAxMDgxMjMsIDEwODEzMywgMTA4MTQwLCAxMDgxNDksIDEwODE2MiwgCisgICAgMTA4MTY5LCAxMDgxNzYsIDEwODE4MywgMTA4MTkzLCAxMDgyMDMsIDEwODIxMCwgMTA4MjIwLCAxMDgyMjcsIDEwODIzNCwgCisgICAgMTA4MjQ0LCAxMDgyNTAsIDEwODI1NywgMTA4MjY0LCAxMDgyNzEsIDEwODI4MSwgMTA4Mjg4LCAxMDgyOTUsIDEwODMwMiwgCisgICAgMTA4MzA4LCAxMDgzMTUsIDEwODMyNSwgMTA4MzMyLCAxMDgzMzYsIDEwODM0NCwgMTA4MzQ4LCAxMDgzNjAsIDEwODM2NCwgCisgICAgMTA4Mzc4LCAxMDgzODIsIDEwODM4NiwgMTA4MzkwLCAxMDgzOTQsIDEwODQwMCwgMTA4NDA3LCAxMDg0MTUsIDEwODQxOSwgCisgICAgMTA4NDIzLCAxMDg0MjcsIDEwODQzMSwgMTA4NDM4LCAxMDg0NDIsIDEwODQ0OCwgMTA4NDU0LCAxMDg0NjIsIDEwODQ2NiwgCisgICAgMTA4NDczLCAxMDg0ODEsIDEwODQ4NSwgMTA4NDg5LCAxMDg0OTUsIDEwODQ5OSwgMTA4NTA4LCAxMDg1MTcsIDEwODUyNCwgCisgICAgMTA4NTM0LCAxMDg1NDAsIDEwODU0NCwgMTA4NTQ4LCAxMDg1NTYsIDEwODU2MywgMTA4NTcwLCAxMDg1NzYsIDEwODU4MCwgCisgICAgMTA4NTg4LCAxMDg1OTIsIDEwODU5OSwgMTA4NjExLCAxMDg2MTgsIDEwODYyOCwgMTA4NjM0LCAxMDg2MzgsIDEwODY0NywgCisgICAgMTA4NjU0LCAxMDg2NjMsIDEwODY2NywgMTA4NjcxLCAxMDg2NzgsIDEwODY4MiwgMTA4Njg2LCAxMDg2OTAsIDEwODY5NCwgCisgICAgMTA4Njk3LCAxMDg3MDMsIDEwODcwOSwgMTA4NzEzLCAxMDg3MTcsIDEwODcyNCwgMTA4NzMxLCAxMDg3MzgsIDEwODc0NSwgCisgICAgMTA4NzUyLCAxMDg3NTksIDEwODc2NiwgMTA4NzczLCAxMDg3NzksIDEwODc4MywgMTA4Nzg3LCAxMDg3OTQsIDEwODgwMSwgCisgICAgMTA4ODA4LCAxMDg4MTUsIDEwODgyMiwgMTA4ODI2LCAxMDg4MjksIDEwODgzNCwgMTA4ODM4LCAxMDg4NDIsIDEwODg1MSwgCisgICAgMTA4ODYwLCAxMDg4NjQsIDEwODg2OCwgMTA4ODc0LCAxMDg4ODAsIDEwODg5NywgMTA4OTAzLCAxMDg5MDcsIDEwODkxNiwgCisgICAgMTA4OTIwLCAxMDg5MjQsIDEwODkzMSwgMTA4OTM5LCAxMDg5NDcsIDEwODk1MywgMTA4OTU3LCAxMDg5NjEsIDEwODk2NSwgCisgICAgMTA4OTY5LCAxMDg5NzIsIDEwODk3OCwgMTA4OTg1LCAxMDg5OTUsIDEwOTAwMiwgMTA5MDA5LCAxMDkwMTYsIDEwOTAyMiwgCisgICAgMTA5MDI5LCAxMDkwMzYsIDEwOTA0MywgMTA5MDUwLCAxMDkwNTcsIDEwOTA2NiwgMTA5MDczLCAxMDkwODUsIDEwOTA5MiwgCisgICAgMTA5MDk5LCAxMDkxMDksIDEwOTEyMCwgMTA5MTI3LCAxMDkxMzQsIDEwOTE0MSwgMTA5MTQ4LCAxMDkxNTUsIDEwOTE2MiwgCisgICAgMTA5MTY5LCAxMDkxNzYsIDEwOTE4MywgMTA5MTkwLCAxMDkyMDAsIDEwOTIxMCwgMTA5MjIwLCAxMDkyMjcsIDEwOTIzNywgCisgICAgMTA5MjQ0LCAxMDkyNTEsIDEwOTI1OCwgMTA5MjY1LCAxMDkyNzIsIDEwOTI3OSwgMTA5Mjg2LCAxMDkyOTMsIDEwOTMwMCwgCisgICAgMTA5MzA3LCAxMDkzMTQsIDEwOTMyMSwgMTA5MzI4LCAxMDkzMzQsIDEwOTM0MSwgMTA5MzQ4LCAxMDkzNTcsIDEwOTM2NCwgCisgICAgMTA5MzcxLCAxMDkzNzUsIDEwOTM4MywgMTA5Mzg3LCAxMDkzOTEsIDEwOTM5NSwgMTA5Mzk5LCAxMDk0MDMsIDEwOTQxMCwgCisgICAgMTA5NDE0LCAxMDk0MjMsIDEwOTQyNywgMTA5NDM0LCAxMDk0NDIsIDEwOTQ0NiwgMTA5NDUwLCAxMDk0NTQsIDEwOTQ2NywgCisgICAgMTA5NDgzLCAxMDk0ODcsIDEwOTQ5MSwgMTA5NDk4LCAxMDk1MDQsIDEwOTUxMSwgMTA5NTE1LCAxMDk1MTksIDEwOTUyMywgCisgICAgMTA5NTI3LCAxMDk1MzEsIDEwOTUzOCwgMTA5NTQyLCAxMDk1NjAsIDEwOTU2NCwgMTA5NTY4LCAxMDk1NzUsIDEwOTU3OSwgCisgICAgMTA5NTgzLCAxMDk1ODksIDEwOTU5MywgMTA5NTk3LCAxMDk2MDUsIDEwOTYwOSwgMTA5NjEzLCAxMDk2MTcsIDEwOTYyMSwgCisgICAgMTA5NjI3LCAxMDk2MzgsIDEwOTY0NywgMTA5NjU2LCAxMDk2NjMsIDEwOTY3MCwgMTA5NjgxLCAxMDk2ODgsIDEwOTY5NSwgCisgICAgMTA5NzAyLCAxMDk3MDksIDEwOTcxNiwgMTA5NzIzLCAxMDk3MzAsIDEwOTc0MCwgMTA5NzQ2LCAxMDk3NTMsIDEwOTc2MywgCisgICAgMTA5NzcyLCAxMDk3NzksIDEwOTc4OCwgMTA5Nzk4LCAxMDk4MDUsIDEwOTgxMiwgMTA5ODE5LCAxMDk4MjYsIDEwOTgzOCwgCisgICAgMTA5ODQ1LCAxMDk4NTIsIDEwOTg1OSwgMTA5ODY2LCAxMDk4NzMsIDEwOTg4MywgMTA5ODkwLCAxMDk4OTcsIDEwOTkwNywgCisgICAgMTA5OTIwLCAxMDk5MzIsIDEwOTkzOSwgMTA5OTQ5LCAxMDk5NTYsIDEwOTk2MywgMTA5OTcwLCAxMDk5ODQsIDEwOTk5MCwgCisgICAgMTA5OTk4LCAxMTAwMDgsIDExMDAxOCwgMTEwMDI1LCAxMTAwMzIsIDExMDAzOCwgMTEwMDQyLCAxMTAwNDksIDExMDA1OSwgCisgICAgMTEwMDY1LCAxMTAwNzgsIDExMDA4MiwgMTEwMDg2LCAxMTAwOTMsIDExMDA5NywgMTEwMTA0LCAxMTAxMTQsIDExMDExOCwgCisgICAgMTEwMTIyLCAxMTAxMjYsIDExMDEzMCwgMTEwMTM0LCAxMTAxNDEsIDExMDE0NSwgMTEwMTUyLCAxMTAxNTksIDExMDE2NiwgCisgICAgMTEwMTc1LCAxMTAxODQsIDExMDE5NCwgMTEwMjAxLCAxMTAyMDgsIDExMDIxNSwgMTEwMjI1LCAxMTAyMzIsIDExMDI0MiwgCisgICAgMTEwMjQ5LCAxMTAyNTksIDExMDI2NiwgMTEwMjczLCAxMTAyODMsIDExMDI5MywgMTEwMzAwLCAxMTAzMDYsIDExMDMxNCwgCisgICAgMTEwMzIyLCAxMTAzMjgsIDExMDMzNCwgMTEwMzM4LCAxMTAzNDIsIDExMDM0OSwgMTEwMzU3LCAxMTAzNjMsIDExMDM2NywgCisgICAgMTEwMzcxLCAxMTAzNzUsIDExMDM4MiwgMTEwMzk0LCAxMTAzOTcsIDExMDQwNCwgMTEwNDEwLCAxMTA0MTQsIDExMDQxOCwgCisgICAgMTEwNDIyLCAxMTA0MjYsIDExMDQzMCwgMTEwNDM0LCAxMTA0MzgsIDExMDQ0MiwgMTEwNDQ2LCAxMTA0NTAsIDExMDQ1NywgCisgICAgMTEwNDYxLCAxMTA0NjcsIDExMDQ3MSwgMTEwNDc1LCAxMTA0NzksIDExMDQ4NSwgMTEwNDkyLCAxMTA0OTksIDExMDUwNiwgCisgICAgMTEwNTE3LCAxMTA1MjUsIDExMDUyOSwgMTEwNTM1LCAxMTA1NDQsIDExMDU1MSwgMTEwNTU3LCAxMTA1NjAsIDExMDU2NCwgCisgICAgMTEwNTY4LCAxMTA1NzQsIDExMDU4MywgMTEwNTkxLCAxMTA1OTUsIDExMDYwMSwgMTEwNjA1LCAxMTA2MDksIDExMDYxMywgCisgICAgMTEwNjE5LCAxMTA2MjYsIDExMDYzMiwgMTEwNjM2LCAxMTA2NDIsIDExMDY0NiwgMTEwNjUwLCAxMTA2NTksIDExMDY3MSwgCisgICAgMTEwNjc1LCAxMTA2ODIsIDExMDY4OSwgMTEwNjk5LCAxMTA3MDYsIDExMDcxOCwgMTEwNzI1LCAxMTA3MzIsIDExMDczOSwgCisgICAgMTEwNzUwLCAxMTA3NjAsIDExMDc3MywgMTEwNzgzLCAxMTA3OTAsIDExMDc5NCwgMTEwNzk4LCAxMTA4MDIsIDExMDgwNiwgCisgICAgMTEwODE1LCAxMTA4MjQsIDExMDgzMywgMTEwODUwLCAxMTA4NTksIDExMDg2NSwgMTEwODcyLCAxMTA4ODAsIDExMDg5MywgCisgICAgMTEwODk3LCAxMTA5MDYsIDExMDkxNSwgMTEwOTI0LCAxMTA5MzMsIDExMDk0NCwgMTEwOTUzLCAxMTA5NjIsIDExMDk3MSwgCisgICAgMTEwOTgwLCAxMTA5ODksIDExMDk5OCwgMTExMDA4LCAxMTEwMTEsIDExMTAxNSwgMTExMDE5LCAxMTEwMjMsIDExMTAyNywgCisgICAgMTExMDMxLCAxMTEwMzcsIDExMTA0NCwgMTExMDUxLCAxMTEwNTgsIDExMTA2NCwgMTExMDcwLCAxMTEwNzcsIDExMTA4MywgCisgICAgMTExMDkwLCAxMTEwOTgsIDExMTEwMiwgMTExMTA5LCAxMTExMTYsIDExMTEyMywgMTExMTMxLCAxMTExMzUsIDExMTEzOSwgCisgICAgMTExMTQzLCAxMTExNDcsIDExMTE1MSwgMTExMTU3LCAxMTExNjEsIDExMTE2NywgMTExMTc0LCAxMTExODEsIDExMTE4NywgCisgICAgMTExMTk0LCAxMTEyMDEsIDExMTIwOCwgMTExMjE1LCAxMTEyMjIsIDExMTIyOSwgMTExMjM2LCAxMTEyNDMsIDExMTI1MCwgCisgICAgMTExMjU3LCAxMTEyNjQsIDExMTI3MSwgMTExMjc4LCAxMTEyODUsIDExMTI5MSwgMTExMjk1LCAxMTEzMDQsIDExMTMwOCwgCisgICAgMTExMzEyLCAxMTEzMTYsIDExMTMyMCwgMTExMzI2LCAxMTEzMzMsIDExMTM0MCwgMTExMzQ3LCAxMTEzNTQsIDExMTM2MSwgCisgICAgMTExMzY3LCAxMTEzNzUsIDExMTM3OSwgMTExMzgzLCAxMTEzODcsIDExMTM5MSwgMTExMzk3LCAxMTE0MTQsIDExMTQzMSwgCisgICAgMTExNDM1LCAxMTE0MzksIDExMTQ0MywgMTExNDQ3LCAxMTE0NTEsIDExMTQ1NSwgMTExNDYxLCAxMTE0NjgsIDExMTQ3MiwgCisgICAgMTExNDc4LCAxMTE0ODUsIDExMTQ5MiwgMTExNDk5LCAxMTE1MDYsIDExMTUxMywgMTExNTIyLCAxMTE1MjksIDExMTUzNiwgCisgICAgMTExNTQzLCAxMTE1NTAsIDExMTU1NCwgMTExNTU4LCAxMTE1NjQsIDExMTU3NiwgMTExNTgwLCAxMTE1ODQsIDExMTU5MywgCisgICAgMTExNTk3LCAxMTE2MDEsIDExMTYwNSwgMTExNjExLCAxMTE2MTUsIDExMTYxOSwgMTExNjI4LCAxMTE2MzIsIDExMTYzNiwgCisgICAgMTExNjQwLCAxMTE2NDcsIDExMTY1MSwgMTExNjU1LCAxMTE2NTksIDExMTY2MywgMTExNjY3LCAxMTE2NzEsIDExMTY3NSwgCisgICAgMTExNjc5LCAxMTE2ODUsIDExMTY5MiwgMTExNjk5LCAxMTE3MDUsIDExMTcwOSwgMTExNzI2LCAxMTE3MzIsIDExMTczNiwgCisgICAgMTExNzQyLCAxMTE3NDgsIDExMTc1NCwgMTExNzYwLCAxMTE3NjYsIDExMTc3MiwgMTExNzc2LCAxMTE3ODAsIDExMTc4NCwgCisgICAgMTExNzkwLCAxMTE3OTQsIDExMTgwMCwgMTExODA0LCAxMTE4MDgsIDExMTgxNSwgMTExODIyLCAxMTE4MzksIDExMTg0MywgCisgICAgMTExODQ3LCAxMTE4NTEsIDExMTg1NSwgMTExODU5LCAxMTE4NzEsIDExMTg3NCwgMTExODc5LCAxMTE4ODQsIDExMTg5OSwgCisgICAgMTExOTA5LCAxMTE5MjEsIDExMTkyNSwgMTExOTI5LCAxMTE5MzMsIDExMTkzOSwgMTExOTQ2LCAxMTE5NTMsIDExMTk2MywgCisgICAgMTExOTc1LCAxMTE5ODEsIDExMTk4NywgMTExOTk2LCAxMTIwMDAsIDExMjAwNCwgMTEyMDExLCAxMTIwMjEsIDExMjAyOCwgCisgICAgMTEyMDM0LCAxMTIwMzgsIDExMjA0MiwgMTEyMDQ5LCAxMTIwNTUsIDExMjA1OSwgMTEyMDY1LCAxMTIwNjksIDExMjA3NywgCisgICAgMTEyMDgzLCAxMTIwODcsIDExMjA5NSwgMTEyMTAzLCAxMTIxMTAsIDExMjExNiwgMTEyMTIzLCAxMTIxMzAsIDExMjE0MCwgCisgICAgMTEyMTUwLCAxMTIxNTQsIDExMjE1OCwgMTEyMTYyLCAxMTIxNjYsIDExMjE3MiwgMTEyMTc5LCAxMTIxODUsIDExMjE5MiwgCisgICAgMTEyMTk5LCAxMTIyMDYsIDExMjIxNSwgMTEyMjIyLCAxMTIyMjksIDExMjIzNSwgMTEyMjQyLCAxMTIyNDksIDExMjI1NiwgCisgICAgMTEyMjYzLCAxMTIyNzAsIDExMjI3NywgMTEyMjgzLCAxMTIyOTAsIDExMjI5NywgMTEyMzA0LCAxMTIzMTMsIDExMjMyMCwgCisgICAgMTEyMzI3LCAxMTIzMzEsIDExMjMzNywgMTEyMzQxLCAxMTIzNDcsIDExMjM1NCwgMTEyMzYxLCAxMTIzNjgsIDExMjM3MiwgCisgICAgMTEyMzc2LCAxMTIzODAsIDExMjM4NCwgMTEyMzg4LCAxMTIzOTUsIDExMjM5OSwgMTEyNDAzLCAxMTI0MDksIDExMjQxNywgCisgICAgMTEyNDIxLCAxMTI0MjUsIDExMjQyOSwgMTEyNDMzLCAxMTI0NDAsIDExMjQ0NCwgMTEyNDQ4LCAxMTI0NTYsIDExMjQ2MCwgCisgICAgMTEyNDY0LCAxMTI0NjgsIDExMjQ3MiwgMTEyNDc4LCAxMTI0ODIsIDExMjQ4NiwgMTEyNDkyLCAxMTI0OTksIDExMjUwNSwgCisgICAgMTEyNTEyLCAxMTI1MjQsIDExMjUyOCwgMTEyNTM1LCAxMTI1NDIsIDExMjU0OSwgMTEyNTU2LCAxMTI1NjgsIDExMjU3NSwgCisgICAgMTEyNTc5LCAxMTI1ODMsIDExMjU4NywgMTEyNTk0LCAxMTI2MDEsIDExMjYwOCwgMTEyNjE1LCAxMTI2MjUsIDExMjYzMiwgCisgICAgMTEyNjM4LCAxMTI2NDUsIDExMjY1MiwgMTEyNjU5LCAxMTI2NjYsIDExMjY3NSwgMTEyNjg1LCAxMTI2OTIsIDExMjY5NiwgCisgICAgMTEyNzAzLCAxMTI3MDcsIDExMjcxMSwgMTEyNzE1LCAxMTI3MjIsIDExMjcyOSwgMTEyNzM5LCAxMTI3NDUsIDExMjc0OSwgCisgICAgMTEyNzU4LCAxMTI3NjIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDExMjc2OSwgMTEyNzc1LCAxMTI3ODEsIDExMjc4OCwgCisgICAgMTEyNzk1LCAxMTI4MDIsIDExMjgwOSwgMTEyODE2LCAxMTI4MjMsIDExMjgyOSwgMTEyODM2LCAxMTI4NDMsIDExMjg1MCwgCisgICAgMTEyODU3LCAxMTI4NjQsIDExMjg3MSwgMTEyODc3LCAxMTI4ODMsIDExMjg4OSwgMTEyODk1LCAxMTI5MDEsIDExMjkwNywgCisgICAgMTEyOTEzLCAxMTI5MTksIDExMjkyNSwgMTEyOTMyLCAxMTI5MzksIDExMjk0NiwgMTEyOTUzLCAxMTI5NjAsIDExMjk2NywgCisgICAgMTEyOTczLCAxMTI5NzksIDExMjk4NSwgMTEyOTkyLCAxMTI5OTksIDExMzAwNSwgMTEzMDExLCAxMTMwMjAsIDExMzAyNywgCisgICAgMTEzMDM0LCAxMTMwNDEsIDExMzA0OCwgMTEzMDU1LCAxMTMwNjIsIDExMzA2OCwgMTEzMDc0LCAxMTMwODAsIDExMzA4OSwgCisgICAgMTEzMDk2LCAxMTMxMDMsIDExMzExNCwgMTEzMTI1LCAxMTMxMzEsIDExMzEzNywgMTEzMTQzLCAxMTMxNTIsIDExMzE1OSwgCisgICAgMTEzMTY2LCAxMTMxNzYsIDExMzE4NiwgMTEzMTk3LCAxMTMyMDgsIDExMzIyMCwgMTEzMjMzLCAxMTMyNDQsIDExMzI1NSwgCisgICAgMTEzMjY3LCAxMTMyODAsIDExMzI5MSwgMTEzMzAyLCAxMTMzMTMsIDExMzMyNCwgMTEzMzM1LCAxMTMzNDcsIDExMzM1NSwgCisgICAgMTEzMzYzLCAxMTMzNzIsIDExMzM4MSwgMTEzMzkwLCAxMTMzOTYsIDExMzQwMiwgMTEzNDA4LCAxMTM0MTUsIDExMzQyNSwgCisgICAgMTEzNDMyLCAxMTM0NDIsIDExMzQ0NywgMTEzNDUyLCAxMTM0NTgsIDExMzQ2NCwgMTEzNDcyLCAxMTM0ODAsIDExMzQ4OSwgCisgICAgMTEzNTAwLCAxMTM1MTEsIDExMzUxOSwgMTEzNTI3LCAxMTM1MzYsIDExMzU0NSwgMTEzNTUzLCAxMTM1NjAsIDExMzU2OCwgCisgICAgMTEzNTc2LCAxMTM1ODMsIDExMzU5MCwgMTEzNTk5LCAxMTM2MDgsIDExMzYxNywgMTEzNjI2LCAxMTM2MzUsIDAsIAorICAgIDExMzY0NCwgMTEzNjU1LCAxMTM2NjIsIDExMzY3MCwgMTEzNjc4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMTM2ODYsIDExMzY5MCwgMTEzNjk0LCAxMTM2OTgsIDExMzcwMiwgMTEzNzA2LCAKKyAgICAxMTM3MTAsIDExMzcxNCwgMTEzNzE4LCAxMTM3MjIsIDExMzcyNiwgMTEzNzMwLCAxMTM3MzQsIDExMzczOCwgMTEzNzQyLCAKKyAgICAxMTM3NDYsIDExMzc1MCwgMTEzNzU0LCAxMTM3NTgsIDExMzc2MiwgMTEzNzY2LCAxMTM3NzAsIDExMzc3NCwgMTEzNzc4LCAKKyAgICAxMTM3ODIsIDExMzc4NiwgMTEzNzkwLCAxMTM3OTQsIDExMzc5OCwgMTEzODAyLCAxMTM4MDYsIDExMzgxMCwgMTEzODE0LCAKKyAgICAxMTM4MTgsIDExMzgyMiwgMTEzODI2LCAxMTM4MzAsIDExMzgzNCwgMTEzODM4LCAxMTM4NDIsIDExMzg0NiwgMTEzODUwLCAKKyAgICAxMTM4NTQsIDExMzg1OCwgMTEzODYyLCAxMTM4NjYsIDExMzg3MCwgMTEzODc0LCAxMTM4NzgsIDExMzg4MiwgMTEzODg2LCAKKyAgICAxMTM4OTAsIDExMzg5NCwgMTEzODk4LCAxMTM5MDIsIDExMzkwNiwgMTEzOTEwLCAxMTM5MTQsIDExMzkxOCwgMTEzOTIyLCAKKyAgICAxMTM5MjYsIDExMzkzMCwgMTEzOTM0LCAxMTM5MzgsIDExMzk0MiwgMTEzOTQ2LCAxMTM5NTAsIDExMzk1NCwgMTEzOTU4LCAKKyAgICAxMTM5NjIsIDExMzk2NiwgMTEzOTcwLCAxMTM5NzQsIDExMzk3OCwgMTEzOTgyLCAxMTM5ODYsIDExMzk5MCwgMTEzOTk0LCAKKyAgICAxMTM5OTgsIDExNDAwMiwgMTE0MDA2LCAxMTQwMTAsIDExNDAxNCwgMTE0MDE4LCAxMTQwMjIsIDExNDAyNiwgMTE0MDMwLCAKKyAgICAxMTQwMzQsIDExNDAzOCwgMTE0MDQyLCAxMTQwNDYsIDExNDA1MCwgMTE0MDU0LCAxMTQwNTgsIDExNDA2MiwgMTE0MDY2LCAKKyAgICAxMTQwNzAsIDExNDA3NCwgMTE0MDc4LCAxMTQwODIsIDExNDA4NiwgMTE0MDkwLCAxMTQwOTQsIDExNDA5OCwgMTE0MTAyLCAKKyAgICAxMTQxMDYsIDExNDExMCwgMTE0MTE0LCAxMTQxMTgsIDExNDEyMiwgMTE0MTI2LCAxMTQxMzAsIDExNDEzNCwgMTE0MTM4LCAKKyAgICAxMTQxNDIsIDExNDE0NiwgMTE0MTUwLCAxMTQxNTQsIDExNDE1OCwgMTE0MTYyLCAxMTQxNjYsIDExNDE3MCwgMTE0MTc0LCAKKyAgICAxMTQxNzgsIDExNDE4MiwgMTE0MTg2LCAxMTQxOTAsIDExNDE5NCwgMTE0MTk4LCAxMTQyMDIsIDExNDIwNiwgMTE0MjEwLCAKKyAgICAxMTQyMTQsIDExNDIxOCwgMTE0MjIyLCAxMTQyMjYsIDExNDIzMCwgMTE0MjM0LCAxMTQyMzgsIDExNDI0MiwgMTE0MjQ2LCAKKyAgICAxMTQyNTAsIDExNDI1NCwgMTE0MjU4LCAxMTQyNjIsIDExNDI2NiwgMTE0MjcwLCAxMTQyNzQsIDExNDI3OCwgMTE0MjgyLCAKKyAgICAxMTQyODYsIDExNDI5MCwgMTE0Mjk0LCAxMTQyOTgsIDExNDMwMiwgMTE0MzA2LCAxMTQzMTAsIDExNDMxNCwgMTE0MzE4LCAKKyAgICAxMTQzMjIsIDExNDMyNiwgMTE0MzMwLCAxMTQzMzQsIDExNDMzOCwgMTE0MzQyLCAxMTQzNDYsIDExNDM1MCwgMTE0MzU0LCAKKyAgICAxMTQzNTgsIDExNDM2MiwgMTE0MzY2LCAxMTQzNzAsIDExNDM3NCwgMTE0Mzc4LCAxMTQzODIsIDExNDM4NiwgMTE0MzkwLCAKKyAgICAxMTQzOTQsIDExNDM5OCwgMTE0NDAyLCAxMTQ0MDYsIDExNDQxMCwgMTE0NDE0LCAxMTQ0MTgsIDExNDQyMiwgMTE0NDI2LCAKKyAgICAxMTQ0MzAsIDExNDQzNCwgMTE0NDM4LCAxMTQ0NDIsIDExNDQ0NiwgMTE0NDUwLCAxMTQ0NTQsIDExNDQ1OCwgMTE0NDYyLCAKKyAgICAxMTQ0NjYsIDExNDQ3MCwgMTE0NDc0LCAxMTQ0NzgsIDExNDQ4MiwgMTE0NDg2LCAxMTQ0OTAsIDExNDQ5NCwgMTE0NDk4LCAKKyAgICAxMTQ1MDIsIDExNDUwNiwgMTE0NTEwLCAxMTQ1MTQsIDExNDUxOCwgMTE0NTIyLCAxMTQ1MjYsIDExNDUzMCwgMTE0NTM0LCAKKyAgICAxMTQ1MzgsIDExNDU0MiwgMTE0NTQ2LCAxMTQ1NTAsIDExNDU1NCwgMTE0NTU4LCAxMTQ1NjIsIDExNDU2NiwgMTE0NTcwLCAKKyAgICAxMTQ1NzQsIDExNDU3OCwgMTE0NTgyLCAxMTQ1ODYsIDExNDU5MCwgMTE0NTk0LCAxMTQ1OTgsIDExNDYwMiwgMTE0NjA2LCAKKyAgICAxMTQ2MTAsIDExNDYxNCwgMTE0NjE4LCAxMTQ2MjIsIDExNDYyNiwgMTE0NjMwLCAxMTQ2MzQsIDExNDYzOCwgMTE0NjQyLCAKKyAgICAxMTQ2NDYsIDExNDY1MCwgMTE0NjU0LCAxMTQ2NTgsIDExNDY2MiwgMTE0NjY2LCAxMTQ2NzAsIDExNDY3NCwgMTE0Njc4LCAKKyAgICAxMTQ2ODIsIDExNDY4NiwgMTE0NjkwLCAxMTQ2OTQsIDExNDY5OCwgMTE0NzAyLCAxMTQ3MDYsIDExNDcxMCwgMTE0NzE0LCAKKyAgICAxMTQ3MTgsIDExNDcyMiwgMTE0NzI2LCAxMTQ3MzAsIDExNDczNCwgMTE0NzM4LCAxMTQ3NDIsIDExNDc0NiwgMTE0NzUwLCAKKyAgICAxMTQ3NTQsIDExNDc1OCwgMTE0NzYyLCAxMTQ3NjYsIDExNDc3MCwgMTE0Nzc0LCAxMTQ3NzgsIDExNDc4MiwgMTE0Nzg2LCAKKyAgICAxMTQ3OTAsIDExNDc5NCwgMTE0Nzk4LCAxMTQ4MDIsIDExNDgwNiwgMTE0ODEwLCAxMTQ4MTQsIDExNDgxOCwgMTE0ODIyLCAKKyAgICAxMTQ4MjYsIDExNDgzMCwgMTE0ODM0LCAxMTQ4MzgsIDExNDg0MiwgMTE0ODQ2LCAxMTQ4NTAsIDExNDg1NCwgMTE0ODU4LCAKKyAgICAxMTQ4NjIsIDExNDg2NiwgMTE0ODcwLCAxMTQ4NzQsIDExNDg3OCwgMTE0ODgyLCAxMTQ4ODYsIDExNDg5MCwgMTE0ODk0LCAKKyAgICAxMTQ4OTgsIDExNDkwMiwgMTE0OTA2LCAxMTQ5MTAsIDExNDkxNCwgMTE0OTE4LCAxMTQ5MjIsIDExNDkyNiwgMTE0OTMwLCAKKyAgICAxMTQ5MzQsIDExNDkzOCwgMTE0OTQyLCAxMTQ5NDYsIDExNDk1MCwgMTE0OTU0LCAxMTQ5NTgsIDExNDk2MiwgMTE0OTY2LCAKKyAgICAxMTQ5NzAsIDExNDk3NCwgMTE0OTc4LCAxMTQ5ODIsIDExNDk4NiwgMTE0OTkwLCAxMTQ5OTQsIDExNDk5OCwgMTE1MDAyLCAKKyAgICAxMTUwMDYsIDExNTAxMCwgMTE1MDE0LCAxMTUwMTgsIDExNTAyMiwgMTE1MDI2LCAxMTUwMzAsIDExNTAzNCwgMTE1MDM4LCAKKyAgICAxMTUwNDIsIDExNTA0NiwgMTE1MDUwLCAxMTUwNTQsIDExNTA1OCwgMTE1MDYyLCAxMTUwNjYsIDExNTA3MCwgMTE1MDc0LCAKKyAgICAxMTUwNzgsIDExNTA4MiwgMTE1MDg2LCAxMTUwOTAsIDExNTA5NCwgMTE1MDk4LCAxMTUxMDIsIDExNTEwNiwgMTE1MTEwLCAKKyAgICAxMTUxMTQsIDExNTExOCwgMTE1MTIyLCAxMTUxMjYsIDExNTEzMCwgMTE1MTM0LCAxMTUxMzgsIDExNTE0MiwgMTE1MTQ2LCAKKyAgICAxMTUxNTAsIDExNTE1NCwgMTE1MTU4LCAxMTUxNjIsIDExNTE2NiwgMTE1MTcwLCAxMTUxNzQsIDExNTE3OCwgMTE1MTgyLCAKKyAgICAxMTUxODYsIDExNTE5MCwgMTE1MTk0LCAxMTUxOTgsIDExNTIwMiwgMTE1MjA2LCAxMTUyMTAsIDExNTIxNCwgMTE1MjE4LCAKKyAgICAxMTUyMjIsIDExNTIyNiwgMTE1MjMwLCAxMTUyMzQsIDExNTIzOCwgMTE1MjQyLCAxMTUyNDYsIDExNTI1MCwgMTE1MjU0LCAKKyAgICAxMTUyNTgsIDExNTI2MiwgMTE1MjY2LCAxMTUyNzAsIDExNTI3NCwgMTE1Mjc4LCAxMTUyODIsIDExNTI4NiwgMTE1MjkwLCAKKyAgICAxMTUyOTQsIDExNTI5OCwgMTE1MzAyLCAxMTUzMDYsIDExNTMxMCwgMTE1MzE0LCAxMTUzMTgsIDExNTMyMiwgMTE1MzI2LCAKKyAgICAxMTUzMzAsIDExNTMzNCwgMTE1MzM4LCAxMTUzNDIsIDExNTM0NiwgMTE1MzUwLCAxMTUzNTQsIDExNTM1OCwgMTE1MzYyLCAKKyAgICAxMTUzNjYsIDExNTM3MCwgMTE1Mzc0LCAxMTUzNzgsIDExNTM4MiwgMTE1Mzg2LCAxMTUzOTAsIDExNTM5NCwgMTE1Mzk4LCAKKyAgICAxMTU0MDIsIDExNTQwNiwgMTE1NDEwLCAxMTU0MTQsIDExNTQxOCwgMTE1NDIyLCAxMTU0MjYsIDExNTQzMCwgMTE1NDM0LCAKKyAgICAxMTU0MzgsIDExNTQ0MiwgMTE1NDQ2LCAxMTU0NTAsIDExNTQ1NCwgMTE1NDU4LCAxMTU0NjIsIDExNTQ2NiwgMTE1NDcwLCAKKyAgICAxMTU0NzQsIDExNTQ3OCwgMTE1NDgyLCAxMTU0ODYsIDExNTQ5MCwgMTE1NDk0LCAxMTU0OTgsIDExNTUwMiwgMTE1NTA2LCAKKyAgICAxMTU1MTAsIDExNTUxNCwgMTE1NTE4LCAxMTU1MjIsIDExNTUyNiwgMTE1NTMwLCAxMTU1MzQsIDExNTUzOCwgMTE1NTQyLCAKKyAgICAxMTU1NDYsIDExNTU1MCwgMTE1NTU0LCAxMTU1NTgsIDExNTU2MiwgMTE1NTY2LCAxMTU1NzAsIDExNTU3NCwgMTE1NTc4LCAKKyAgICAxMTU1ODIsIDExNTU4NiwgMTE1NTkwLCAxMTU1OTQsIDExNTU5OCwgMTE1NjAyLCAxMTU2MDYsIDExNTYxMCwgMTE1NjE0LCAKKyAgICAxMTU2MTgsIDExNTYyMiwgMTE1NjI2LCAxMTU2MzAsIDExNTYzNCwgMTE1NjM4LCAxMTU2NDIsIDExNTY0NiwgMTE1NjUwLCAKKyAgICAxMTU2NTQsIDExNTY1OCwgMTE1NjYyLCAxMTU2NjYsIDExNTY3MCwgMTE1Njc0LCAxMTU2NzgsIDExNTY4MiwgMTE1Njg2LCAKKyAgICAxMTU2OTAsIDExNTY5NCwgMTE1Njk4LCAxMTU3MDIsIDExNTcwNiwgMTE1NzEwLCAxMTU3MTQsIDExNTcxOCwgMTE1NzIyLCAKKyAgICAxMTU3MjYsIDExNTczMCwgMTE1NzM0LCAxMTU3MzgsIDExNTc0MiwgMTE1NzQ2LCAxMTU3NTAsIDExNTc1NCwgMTE1NzU4LCAKKyAgICAxMTU3NjIsIDExNTc2NiwgMTE1NzcwLCAxMTU3NzQsIDExNTc3OCwgMTE1NzgyLCAxMTU3ODYsIDExNTc5MCwgMTE1Nzk0LCAKKyAgICAxMTU3OTgsIDExNTgwMiwgMTE1ODA2LCAxMTU4MTAsIDExNTgxNCwgMTE1ODE4LCAxMTU4MjIsIDExNTgyNiwgMTE1ODMwLCAKKyAgICAxMTU4MzQsIDExNTgzOCwgMTE1ODQyLCAxMTU4NDYsIDExNTg1MCwgMTE1ODU0LCAxMTU4NTgsIDExNTg2MiwgMTE1ODY2LCAKKyAgICAxMTU4NzAsIDExNTg3NCwgMTE1ODc4LCAxMTU4ODIsIDExNTg4NiwgMTE1ODkwLCAxMTU4OTQsIDExNTg5OCwgMTE1OTAyLCAKKyAgICAxMTU5MDYsIDExNTkxMCwgMTE1OTE0LCAxMTU5MTgsIDExNTkyMiwgMTE1OTI2LCAxMTU5MzAsIDExNTkzNCwgMTE1OTM4LCAKKyAgICAxMTU5NDIsIDExNTk0NiwgMTE1OTUwLCAxMTU5NTQsIDExNTk1OCwgMTE1OTYyLCAxMTU5NjYsIDExNTk3MCwgMTE1OTc0LCAKKyAgICAxMTU5NzgsIDExNTk4MiwgMTE1OTg2LCAxMTU5OTAsIDExNTk5NCwgMTE1OTk4LCAxMTYwMDIsIDExNjAwNiwgMTE2MDEwLCAKKyAgICAxMTYwMTQsIDExNjAxOCwgMTE2MDIyLCAxMTYwMjYsIDExNjAzMCwgMTE2MDM0LCAxMTYwMzgsIDExNjA0MiwgMTE2MDQ2LCAKKyAgICAxMTYwNTAsIDExNjA1NCwgMTE2MDU4LCAxMTYwNjIsIDExNjA2NiwgMTE2MDcwLCAxMTYwNzQsIDExNjA3OCwgMTE2MDgyLCAKKyAgICAxMTYwODYsIDExNjA5MCwgMTE2MDk0LCAxMTYwOTgsIDExNjEwMiwgMTE2MTA2LCAxMTYxMTAsIDExNjExNCwgMTE2MTE4LCAKKyAgICAxMTYxMjIsIDExNjEyNiwgMTE2MTMwLCAxMTYxMzQsIDExNjEzOCwgMTE2MTQyLCAxMTYxNDYsIDExNjE1MCwgMTE2MTU0LCAKKyAgICAxMTYxNTgsIDExNjE2MiwgMTE2MTY2LCAxMTYxNzAsIDExNjE3NCwgMTE2MTc4LCAxMTYxODIsIDExNjE4NiwgMTE2MTkwLCAKKyAgICAxMTYxOTQsIDExNjE5OCwgMTE2MjAyLCAxMTYyMDYsIDExNjIxMCwgMTE2MjE0LCAxMTYyMTgsIDExNjIyMiwgMTE2MjI2LCAKKyAgICAxMTYyMzAsIDExNjIzNCwgMTE2MjM4LCAxMTYyNDIsIDExNjI0NiwgMTE2MjUwLCAxMTYyNTQsIDExNjI1OCwgMTE2MjYyLCAKKyAgICAxMTYyNjYsIDExNjI3MCwgMTE2Mjc0LCAxMTYyNzgsIDExNjI4MiwgMTE2Mjg2LCAxMTYyOTAsIDExNjI5NCwgMTE2Mjk4LCAKKyAgICAxMTYzMDIsIDExNjMwNiwgMTE2MzEwLCAxMTYzMTQsIDExNjMxOCwgMTE2MzIyLCAxMTYzMjYsIDExNjMzMCwgMTE2MzM0LCAKKyAgICAxMTYzMzgsIDExNjM0MiwgMTE2MzQ2LCAxMTYzNTAsIDExNjM1NCwgMTE2MzU4LCAxMTYzNjIsIDExNjM2NiwgMTE2MzcwLCAKKyAgICAxMTYzNzQsIDExNjM3OCwgMTE2MzgyLCAxMTYzODYsIDExNjM5MCwgMTE2Mzk0LCAxMTYzOTgsIDExNjQwMiwgMTE2NDA2LCAKKyAgICAxMTY0MTAsIDExNjQxNCwgMTE2NDE4LCAxMTY0MjIsIDExNjQyNiwgMTE2NDMwLCAxMTY0MzQsIDExNjQzOCwgMTE2NDQyLCAKKyAgICAxMTY0NDYsIDExNjQ1MCwgMTE2NDU0LCAxMTY0NTgsIDExNjQ2MiwgMTE2NDY2LCAxMTY0NzAsIDExNjQ3NCwgMTE2NDc4LCAKKyAgICAxMTY0ODIsIDExNjQ4NiwgMTE2NDkwLCAxMTY0OTQsIDExNjQ5OCwgMTE2NTAyLCAxMTY1MDYsIDExNjUxMCwgMTE2NTE0LCAKKyAgICAxMTY1MTgsIDExNjUyMiwgMTE2NTI2LCAxMTY1MzAsIDExNjUzNCwgMTE2NTM4LCAxMTY1NDIsIDExNjU0NiwgMTE2NTUwLCAKKyAgICAxMTY1NTQsIDExNjU1OCwgMTE2NTYyLCAxMTY1NjYsIDExNjU3MCwgMTE2NTc0LCAxMTY1NzgsIDExNjU4MiwgMTE2NTg2LCAKKyAgICAxMTY1OTAsIDExNjU5NCwgMTE2NTk4LCAxMTY2MDIsIDExNjYwNiwgMTE2NjEwLCAxMTY2MTQsIDExNjYxOCwgMTE2NjIyLCAKKyAgICAxMTY2MjYsIDExNjYzMCwgMTE2NjM0LCAxMTY2MzgsIDExNjY0MiwgMTE2NjQ2LCAxMTY2NTAsIDExNjY1NCwgMTE2NjU4LCAKKyAgICAxMTY2NjIsIDExNjY2NiwgMTE2NjcwLCAxMTY2NzQsIDExNjY3OCwgMTE2NjgyLCAxMTY2ODYsIDExNjY5MCwgMTE2Njk0LCAKKyAgICAxMTY2OTgsIDExNjcwMiwgMTE2NzA2LCAxMTY3MTAsIDExNjcxNCwgMTE2NzE4LCAxMTY3MjIsIDExNjcyNiwgMTE2NzMwLCAKKyAgICAxMTY3MzQsIDExNjczOCwgMTE2NzQyLCAxMTY3NDYsIDExNjc1MCwgMTE2NzU0LCAxMTY3NTgsIDExNjc2MiwgMTE2NzY2LCAKKyAgICAxMTY3NzAsIDExNjc3NCwgMTE2Nzc4LCAxMTY3ODIsIDExNjc4NiwgMTE2NzkwLCAxMTY3OTQsIDExNjc5OCwgMTE2ODAyLCAKKyAgICAxMTY4MDYsIDExNjgxMCwgMTE2ODE0LCAxMTY4MTgsIDExNjgyMiwgMTE2ODI2LCAxMTY4MzAsIDExNjgzNCwgMTE2ODM4LCAKKyAgICAxMTY4NDIsIDExNjg0NiwgMTE2ODUwLCAxMTY4NTQsIDExNjg1OCwgMTE2ODYyLCAxMTY4NjYsIDExNjg3MCwgMTE2ODc0LCAKKyAgICAxMTY4NzgsIDExNjg4MiwgMTE2ODg2LCAxMTY4OTAsIDExNjg5NCwgMTE2ODk4LCAxMTY5MDIsIDExNjkwNiwgMTE2OTEwLCAKKyAgICAxMTY5MTQsIDExNjkxOCwgMTE2OTIyLCAxMTY5MjYsIDExNjkzMCwgMTE2OTM0LCAxMTY5MzgsIDExNjk0MiwgMTE2OTQ2LCAKKyAgICAxMTY5NTAsIDExNjk1NCwgMTE2OTU4LCAxMTY5NjIsIDExNjk2NiwgMTE2OTcwLCAxMTY5NzQsIDExNjk3OCwgMTE2OTgyLCAKKyAgICAxMTY5ODYsIDExNjk5MCwgMTE2OTk0LCAxMTY5OTgsIDExNzAwMiwgMTE3MDA2LCAxMTcwMTAsIDExNzAxNCwgMTE3MDE4LCAKKyAgICAxMTcwMjIsIDExNzAyNiwgMTE3MDMwLCAxMTcwMzQsIDExNzAzOCwgMTE3MDQyLCAxMTcwNDYsIDExNzA1MCwgMTE3MDU0LCAKKyAgICAxMTcwNTgsIDExNzA2MiwgMTE3MDY2LCAxMTcwNzAsIDExNzA3NCwgMTE3MDc4LCAxMTcwODIsIDExNzA4NiwgMTE3MDkwLCAKKyAgICAxMTcwOTQsIDExNzA5OCwgMTE3MTAyLCAxMTcxMDYsIDExNzExMCwgMTE3MTE0LCAxMTcxMTgsIDExNzEyMiwgMTE3MTI2LCAKKyAgICAxMTcxMzAsIDExNzEzNCwgMTE3MTM4LCAxMTcxNDIsIDExNzE0NiwgMTE3MTUwLCAxMTcxNTQsIDExNzE1OCwgMTE3MTYyLCAKKyAgICAxMTcxNjYsIDExNzE3MCwgMTE3MTc0LCAxMTcxNzgsIDExNzE4MiwgMTE3MTg2LCAxMTcxOTAsIDExNzE5NCwgMTE3MTk4LCAKKyAgICAxMTcyMDIsIDExNzIwNiwgMTE3MjEwLCAxMTcyMTQsIDExNzIxOCwgMTE3MjIyLCAxMTcyMjYsIDExNzIzMCwgMTE3MjM0LCAKKyAgICAxMTcyMzgsIDExNzI0MiwgMTE3MjQ2LCAxMTcyNTAsIDExNzI1NCwgMTE3MjU4LCAxMTcyNjIsIDExNzI2NiwgMTE3MjcwLCAKKyAgICAxMTcyNzQsIDExNzI3OCwgMTE3MjgyLCAxMTcyODYsIDExNzI5MCwgMTE3Mjk0LCAxMTcyOTgsIDExNzMwMiwgMTE3MzA2LCAKKyAgICAxMTczMTAsIDExNzMxNCwgMTE3MzE4LCAxMTczMjIsIDExNzMyNiwgMTE3MzMwLCAxMTczMzQsIDExNzMzOCwgMTE3MzQyLCAKKyAgICAxMTczNDYsIDExNzM1MCwgMTE3MzU0LCAxMTczNTgsIDExNzM2MiwgMTE3MzY2LCAxMTczNzAsIDExNzM3NCwgMTE3Mzc4LCAKKyAgICAxMTczODIsIDExNzM4NiwgMTE3MzkwLCAxMTczOTQsIDExNzM5OCwgMTE3NDAyLCAxMTc0MDYsIDExNzQxMCwgMTE3NDE0LCAKKyAgICAxMTc0MTgsIDExNzQyMiwgMTE3NDI2LCAxMTc0MzAsIDExNzQzNCwgMTE3NDM4LCAxMTc0NDIsIDExNzQ0NiwgMTE3NDUwLCAKKyAgICAxMTc0NTQsIDExNzQ1OCwgMTE3NDYyLCAxMTc0NjYsIDExNzQ3MCwgMTE3NDc0LCAxMTc0NzgsIDExNzQ4MiwgMTE3NDg2LCAKKyAgICAxMTc0OTAsIDExNzQ5NCwgMTE3NDk4LCAxMTc1MDIsIDExNzUwNiwgMTE3NTEwLCAxMTc1MTQsIDExNzUxOCwgMTE3NTIyLCAKKyAgICAxMTc1MjYsIDExNzUzMCwgMTE3NTM0LCAxMTc1MzgsIDExNzU0MiwgMTE3NTQ2LCAxMTc1NTAsIDExNzU1NCwgMTE3NTU4LCAKKyAgICAxMTc1NjIsIDExNzU2NiwgMTE3NTcwLCAxMTc1NzQsIDExNzU3OCwgMTE3NTgyLCAxMTc1ODYsIDExNzU5MCwgMTE3NTk0LCAKKyAgICAxMTc1OTgsIDExNzYwMiwgMTE3NjA2LCAxMTc2MTAsIDExNzYxNCwgMTE3NjE4LCAxMTc2MjIsIDExNzYyNiwgMTE3NjMwLCAKKyAgICAxMTc2MzQsIDExNzYzOCwgMTE3NjQyLCAxMTc2NDYsIDExNzY1MCwgMTE3NjU0LCAxMTc2NTgsIDExNzY2MiwgMTE3NjY2LCAKKyAgICAxMTc2NzAsIDExNzY3NCwgMTE3Njc4LCAxMTc2ODIsIDExNzY4NiwgMTE3NjkwLCAxMTc2OTQsIDExNzY5OCwgMTE3NzAyLCAKKyAgICAxMTc3MDYsIDExNzcxMCwgMTE3NzE0LCAxMTc3MTgsIDExNzcyMiwgMTE3NzI2LCAxMTc3MzAsIDExNzczNCwgMTE3NzM4LCAKKyAgICAxMTc3NDIsIDExNzc0NiwgMTE3NzUwLCAxMTc3NTQsIDExNzc1OCwgMTE3NzYyLCAxMTc3NjYsIDExNzc3MCwgMTE3Nzc0LCAKKyAgICAxMTc3NzgsIDExNzc4MiwgMTE3Nzg2LCAxMTc3OTAsIDExNzc5NCwgMTE3Nzk4LCAxMTc4MDIsIDExNzgwNiwgMTE3ODEwLCAKKyAgICAxMTc4MTQsIDExNzgxOCwgMTE3ODIyLCAxMTc4MjYsIDExNzgzMCwgMTE3ODM0LCAxMTc4MzgsIDExNzg0MiwgMTE3ODQ2LCAKKyAgICAxMTc4NTAsIDExNzg1NCwgMTE3ODU4LCAxMTc4NjIsIDExNzg2NiwgMTE3ODcwLCAxMTc4NzQsIDExNzg3OCwgMTE3ODgyLCAKKyAgICAxMTc4ODYsIDExNzg5MCwgMTE3ODk0LCAxMTc4OTgsIDExNzkwMiwgMTE3OTA2LCAxMTc5MTAsIDExNzkxNCwgMTE3OTE4LCAKKyAgICAxMTc5MjIsIDExNzkyNiwgMTE3OTMwLCAxMTc5MzQsIDExNzkzOCwgMTE3OTQyLCAxMTc5NDYsIDExNzk1MCwgMTE3OTU0LCAKKyAgICAxMTc5NTgsIDExNzk2MiwgMTE3OTY2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAxMTc5NzAsIDExNzk3NywgMTE3OTg0LCAxMTc5OTMsIDExODAwMiwgMTE4MDA5LCAxMTgwMTQsIDExODAyMSwgCisgICAgMTE4MDI4LCAxMTgwMzcsIDExODA0OCwgMTE4MDU5LCAxMTgwNjQsIDExODA3MSwgMTE4MDc2LCAxMTgwODEsIDExODA4NiwgCisgICAgMTE4MDkxLCAxMTgwOTYsIDExODEwMSwgMTE4MTA2LCAxMTgxMTEsIDExODExNiwgMTE4MTIxLCAxMTgxMjYsIDExODEzMywgCisgICAgMTE4MTQwLCAxMTgxNDUsIDExODE1MCwgMTE4MTU1LCAxMTgxNjAsIDExODE2NywgMTE4MTc0LCAxMTgxODIsIDExODE4NywgCisgICAgMTE4MTk0LCAxMTgxOTksIDExODIwNCwgMTE4MjA5LCAxMTgyMTQsIDExODIxOSwgMTE4MjI2LCAxMTgyMzMsIDExODIzOCwgCisgICAgMTE4MjQzLCAxMTgyNDgsIDExODI1MywgMTE4MjU4LCAxMTgyNjMsIDExODI2OCwgMTE4MjczLCAxMTgyNzgsIDExODI4MywgCisgICAgMTE4Mjg4LCAxMTgyOTMsIDExODI5OCwgMTE4MzAzLCAxMTgzMDgsIDExODMxMywgMTE4MzE4LCAxMTgzMjMsIDExODMyOCwgCisgICAgMTE4MzM1LCAxMTgzNDAsIDExODM0NSwgMTE4MzU0LCAxMTgzNjEsIDExODM2NiwgMTE4MzcxLCAxMTgzNzYsIDExODM4MSwgCisgICAgMTE4Mzg2LCAxMTgzOTEsIDExODM5NiwgMTE4NDAxLCAxMTg0MDYsIDExODQxMSwgMTE4NDE2LCAxMTg0MjEsIDExODQyNiwgCisgICAgMTE4NDMxLCAxMTg0MzYsIDExODQ0MSwgMTE4NDQ2LCAxMTg0NTEsIDExODQ1NiwgMTE4NDYxLCAxMTg0NjYsIDExODQ3MiwgCisgICAgMTE4NDgwLCAxMTg0ODYsIDExODQ5NCwgMTE4NTAyLCAxMTg1MTAsIDExODUxNiwgMTE4NTIyLCAxMTg1MjgsIDExODUzNCwgCisgICAgMTE4NTQwLCAxMTg1NDgsIDExODU1OCwgMTE4NTY2LCAxMTg1NzQsIDExODU4MCwgMTE4NTg2LCAxMTg1OTQsIDExODYwMiwgCisgICAgMTE4NjA4LCAxMTg2MTYsIDExODYyNCwgMTE4NjMyLCAxMTg2MzgsIDExODY0NCwgMTE4NjUwLCAxMTg2NTYsIDExODY2MiwgCisgICAgMTE4NjY4LCAxMTg2NzYsIDExODY4NCwgMTE4NjkwLCAxMTg2OTYsIDExODcwMiwgMTE4NzA4LCAxMTg3MTQsIDExODcyMiwgCisgICAgMTE4NzI4LCAxMTg3MzQsIDExODc0MCwgMTE4NzQ2LCAxMTg3NTIsIDExODc1OCwgMTE4NzY2LCAxMTg3NzIsIDExODc3OCwgCisgICAgMTE4Nzg0LCAxMTg3OTAsIDExODc5OCwgMTE4ODA2LCAxMTg4MTIsIDExODgxOCwgMTE4ODI0LCAxMTg4MjksIDExODgzNSwgCisgICAgMTE4ODQxLCAxMTg4NDgsIDExODg1MywgMTE4ODU4LCAxMTg4NjMsIDExODg2OCwgMTE4ODczLCAxMTg4NzgsIDExODg4MywgCisgICAgMTE4ODg4LCAxMTg4OTMsIDExODkwMiwgMTE4OTA5LCAxMTg5MTQsIDExODkxOSwgMTE4OTI0LCAxMTg5MzEsIDExODkzNiwgCisgICAgMTE4OTQxLCAxMTg5NDYsIDExODk1MywgMTE4OTU4LCAxMTg5NjMsIDExODk2OCwgMTE4OTczLCAxMTg5NzgsIDExODk4MywgCisgICAgMTE4OTg4LCAxMTg5OTMsIDExODk5OCwgMTE5MDAzLCAxMTkwMDgsIDExOTAxNSwgMTE5MDIwLCAxMTkwMjcsIDExOTAzMiwgCisgICAgMTE5MDM3LCAxMTkwNDQsIDExOTA0OSwgMTE5MDU0LCAxMTkwNTksIDExOTA2NCwgMTE5MDY5LCAxMTkwNzQsIDExOTA3OSwgCisgICAgMTE5MDg0LCAxMTkwODksIDExOTA5NCwgMTE5MDk5LCAxMTkxMDQsIDExOTEwOSwgMTE5MTE0LCAxMTkxMTksIDExOTEyNCwgCisgICAgMTE5MTI5LCAxMTkxMzQsIDExOTEzOSwgMTE5MTQ2LCAxMTkxNTEsIDExOTE1NiwgMTE5MTYxLCAxMTkxNjYsIDExOTE3MSwgCisgICAgMTE5MTc2LCAxMTkxODEsIDExOTE4NiwgMTE5MTkxLCAxMTkxOTYsIDExOTIwMSwgMTE5MjA2LCAxMTkyMTEsIDExOTIxOCwgCisgICAgMTE5MjIzLCAxMTkyMjgsIDExOTIzNSwgMTE5MjQwLCAxMTkyNDUsIDExOTI1MCwgMTE5MjU1LCAxMTkyNjAsIDExOTI2NSwgCisgICAgMTE5MjcwLCAxMTkyNzUsIDExOTI4MCwgMTE5Mjg1LCAxMTkyOTIsIDExOTI5NywgMTE5MzAyLCAxMTkzMDcsIDExOTMxMiwgCisgICAgMTE5MzE3LCAxMTkzMjQsIDExOTMzMSwgMTE5MzM2LCAxMTkzNDEsIDExOTM0NiwgMTE5MzUxLCAxMTkzNTYsIDExOTM2MSwgCisgICAgMTE5MzY2LCAxMTkzNzEsIDExOTM3NiwgMTE5MzgxLCAxMTkzODYsIDExOTM5MSwgMTE5Mzk2LCAxMTk0MDEsIDExOTQwNiwgCisgICAgMTE5NDExLCAxMTk0MTYsIDExOTQyMSwgMTE5NDI2LCAxMTk0MzEsIDExOTQzNiwgMTE5NDQxLCAxMTk0NDYsIDExOTQ1MSwgCisgICAgMTE5NDU2LCAxMTk0NjEsIDExOTQ2NiwgMTE5NDcxLCAxMTk0NzYsIDExOTQ4MSwgMTE5NDg2LCAxMTk0OTEsIDExOTQ5NiwgCisgICAgMTE5NTAxLCAxMTk1MDYsIDExOTUxMSwgMTE5NTE4LCAxMTk1MjMsIDExOTUyOCwgMTE5NTMzLCAxMTk1MzgsIDExOTU0MywgCisgICAgMTE5NTQ4LCAxMTk1NTMsIDExOTU1OCwgMTE5NTYzLCAxMTk1NjgsIDExOTU3MywgMTE5NTc4LCAxMTk1ODMsIDExOTU4OCwgCisgICAgMTE5NTkzLCAxMTk1OTgsIDExOTYwMywgMTE5NjA4LCAxMTk2MTMsIDExOTYxOCwgMTE5NjIzLCAxMTk2MjgsIDExOTYzMywgCisgICAgMTE5NjM4LCAxMTk2NDMsIDExOTY0OCwgMTE5NjUzLCAxMTk2NTgsIDExOTY2MywgMTE5NjY4LCAxMTk2NzMsIDExOTY3OCwgCisgICAgMTE5NjgzLCAxMTk2ODgsIDExOTY5MywgMTE5Njk4LCAxMTk3MDMsIDExOTcwOCwgMTE5NzEzLCAxMTk3MTgsIDExOTcyMywgCisgICAgMTE5NzI4LCAxMTk3MzMsIDExOTczOCwgMTE5NzQzLCAxMTk3NDgsIDExOTc1MywgMTE5NzU4LCAxMTk3NjMsIDExOTc2OCwgCisgICAgMTE5NzczLCAxMTk3NzgsIDExOTc4MywgMTE5Nzg4LCAxMTk3OTMsIDExOTc5OCwgMTE5ODAzLCAxMTk4MDgsIDExOTgxNSwgCisgICAgMTE5ODIwLCAxMTk4MjUsIDExOTgzMCwgMTE5ODM1LCAxMTk4NDAsIDExOTg0NSwgMTE5ODUwLCAxMTk4NTUsIDExOTg2MCwgCisgICAgMTE5ODY1LCAxMTk4NzAsIDExOTg3NSwgMTE5ODgwLCAxMTk4ODUsIDExOTg5MCwgMTE5ODk1LCAxMTk5MDAsIDExOTkwNSwgCisgICAgMTE5OTEwLCAxMTk5MTUsIDExOTkyMCwgMTE5OTI3LCAxMTk5MzIsIDExOTkzNywgMTE5OTQzLCAxMTk5NDgsIDExOTk1MywgCisgICAgMTE5OTU4LCAxMTk5NjMsIDExOTk2OCwgMTE5OTczLCAxMTk5NzgsIDExOTk4MywgMTE5OTg4LCAxMTk5OTMsIDExOTk5OCwgCisgICAgMTIwMDAzLCAxMjAwMDgsIDEyMDAxMywgMTIwMDE4LCAxMjAwMjMsIDEyMDAyOCwgMTIwMDMzLCAxMjAwMzgsIDEyMDA0MywgCisgICAgMTIwMDQ4LCAxMjAwNTMsIDEyMDA1OCwgMTIwMDYzLCAxMjAwNjgsIDEyMDA3MywgMTIwMDc4LCAxMjAwODMsIDEyMDA4OCwgCisgICAgMTIwMDkzLCAxMjAwOTgsIDEyMDEwMywgMTIwMTA4LCAxMjAxMTMsIDEyMDExOCwgMTIwMTIzLCAxMjAxMjgsIDEyMDEzMywgCisgICAgMTIwMTM4LCAxMjAxNDMsIDEyMDE0OCwgMTIwMTUzLCAxMjAxNTgsIDEyMDE2NSwgMTIwMTcwLCAxMjAxNzUsIDEyMDE4MiwgCisgICAgMTIwMTg5LCAxMjAxOTQsIDEyMDE5OSwgMTIwMjA0LCAxMjAyMDksIDEyMDIxNCwgMTIwMjE5LCAxMjAyMjQsIDEyMDIyOSwgCisgICAgMTIwMjM0LCAxMjAyMzksIDEyMDI0NCwgMTIwMjQ5LCAxMjAyNTQsIDEyMDI1OSwgMTIwMjY0LCAxMjAyNjksIDEyMDI3NCwgCisgICAgMTIwMjc5LCAxMjAyODQsIDEyMDI4OSwgMTIwMjk0LCAxMjAyOTksIDEyMDMwNCwgMTIwMzA5LCAxMjAzMTQsIDEyMDMyMSwgCisgICAgMTIwMzI2LCAxMjAzMzEsIDEyMDMzNiwgMTIwMzQxLCAxMjAzNDYsIDEyMDM1MSwgMTIwMzU2LCAxMjAzNjEsIDEyMDM2NiwgCisgICAgMTIwMzcxLCAxMjAzNzYsIDEyMDM4MSwgMTIwMzg2LCAxMjAzOTEsIDEyMDM5NiwgMTIwNDAxLCAxMjA0MDYsIDEyMDQxMSwgCisgICAgMTIwNDE4LCAxMjA0MjMsIDEyMDQyOCwgMTIwNDMzLCAxMjA0MzgsIDEyMDQ0MywgMTIwNDQ4LCAxMjA0NTMsIDEyMDQ1OSwgCisgICAgMTIwNDY0LCAxMjA0NjksIDEyMDQ3NCwgMTIwNDc5LCAxMjA0ODQsIDEyMDQ4OSwgMTIwNDk0LCAxMjA0OTksIDEyMDUwNiwgCisgICAgMTIwNTEzLCAxMjA1MTgsIDEyMDUyMywgMTIwNTI3LCAxMjA1MzIsIDEyMDUzNiwgMTIwNTQwLCAxMjA1NDUsIDEyMDU1MiwgCisgICAgMTIwNTU3LCAxMjA1NjIsIDEyMDU3MSwgMTIwNTc2LCAxMjA1ODEsIDEyMDU4NiwgMTIwNTkxLCAxMjA1OTgsIDEyMDYwNSwgCisgICAgMTIwNjEwLCAxMjA2MTUsIDEyMDYyMCwgMTIwNjI1LCAxMjA2MzIsIDEyMDYzNywgMTIwNjQyLCAxMjA2NDcsIDEyMDY1MiwgCisgICAgMTIwNjU3LCAxMjA2NjIsIDEyMDY2NywgMTIwNjcyLCAxMjA2NzcsIDEyMDY4MiwgMTIwNjg3LCAxMjA2OTIsIDEyMDY5OSwgCisgICAgMTIwNzAzLCAxMjA3MDgsIDEyMDcxMywgMTIwNzE4LCAxMjA3MjMsIDEyMDcyNywgMTIwNzMyLCAxMjA3MzcsIDEyMDc0MiwgCisgICAgMTIwNzQ3LCAxMjA3NTIsIDEyMDc1NywgMTIwNzYyLCAxMjA3NjcsIDEyMDc3MiwgMTIwNzc4LCAxMjA3ODQsIDEyMDc5MCwgCisgICAgMTIwNzk2LCAxMjA4MDIsIDEyMDgwOCwgMTIwODE0LCAxMjA4MjAsIDEyMDgyNiwgMTIwODMyLCAxMjA4MzgsIDEyMDg0NCwgCisgICAgMTIwODUwLCAxMjA4NTYsIDEyMDg2MiwgMTIwODY4LCAxMjA4NzQsIDEyMDg4MCwgMTIwODg2LCAxMjA4OTIsIDEyMDg5OCwgCisgICAgMTIwOTA0LCAxMjA5MTAsIDEyMDkxNiwgMTIwOTIxLCAxMjA5MjcsIDEyMDkzMywgMTIwOTM5LCAxMjA5NDUsIDEyMDk1MSwgCisgICAgMTIwOTU3LCAxMjA5NjMsIDEyMDk2OSwgMTIwOTc1LCAxMjA5ODEsIDEyMDk4NywgMTIwOTkzLCAxMjA5OTksIDEyMTAwNSwgCisgICAgMTIxMDExLCAxMjEwMTcsIDEyMTAyMywgMTIxMDI5LCAxMjEwMzUsIDEyMTA0MSwgMTIxMDQ2LCAxMjEwNTIsIDEyMTA1OCwgCisgICAgMTIxMDY0LCAxMjEwNzAsIDEyMTA3NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTIxMDgyLCAxMjEwODcsIDEyMTA5MiwgCisgICAgMTIxMDk3LCAxMjExMDIsIDEyMTEwNywgMTIxMTEyLCAxMjExMTYsIDEyMTEyMSwgMTIxMTI2LCAxMjExMzEsIDEyMTEzNiwgCisgICAgMTIxMTQxLCAxMjExNDYsIDEyMTE1MSwgMTIxMTU2LCAxMjExNjEsIDEyMTE2NSwgMTIxMTcwLCAxMjExNzQsIDEyMTE3OSwgCisgICAgMTIxMTg0LCAxMjExODksIDEyMTE5NCwgMTIxMTk5LCAxMjEyMDMsIDEyMTIwOCwgMTIxMjEzLCAxMjEyMTgsIDEyMTIyMywgCisgICAgMTIxMjI4LCAwLCAxMjEyMzMsIDEyMTIzOCwgMTIxMjQyLCAxMjEyNDYsIDEyMTI1MCwgMTIxMjU0LCAxMjEyNTgsIAorICAgIDEyMTI2MiwgMTIxMjY2LCAxMjEyNzAsIDAsIDAsIDAsIDAsIDEyMTI3NCwgMTIxMjc4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjEyODMsIDEyMTI5MCwgCisgICAgMTIxMjk2LCAxMjEzMDMsIDEyMTMxMCwgMTIxMzE3LCAxMjEzMjQsIDEyMTMzMSwgMTIxMzM4LCAxMjEzNDUsIDEyMTM1MiwgCisgICAgMTIxMzU5LCAxMjEzNjYsIDEyMTM3MywgMTIxMzgwLCAxMjEzODcsIDEyMTM5NCwgMTIxNDAxLCAxMjE0MDcsIDEyMTQxNCwgCisgICAgMTIxNDIxLCAxMjE0MjgsIDEyMTQzNCwgMTIxNDQxLCAxMjE0NDcsIDEyMTQ1MywgMTIxNDYwLCAxMjE0NjYsIDEyMTQ3MywgCisgICAgMTIxNDc5LCAwLCAwLCAxMjE0ODUsIDEyMTQ5MywgMTIxNTAxLCAxMjE1MTAsIDEyMTUxOSwgMTIxNTI4LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAxMjE1MzYsIDEyMTU0MSwgMTIxNTQ2LCAxMjE1NTEsIDEyMTU1NiwgMTIxNTYxLCAxMjE1NjYsIAorICAgIDEyMTU3MSwgMTIxNTc2LCAxMjE1ODEsIDEyMTU4NiwgMTIxNTkxLCAxMjE1OTYsIDEyMTYwMSwgMTIxNjA2LCAxMjE2MTEsIAorICAgIDEyMTYxNiwgMTIxNjIxLCAxMjE2MjYsIDEyMTYzMSwgMTIxNjM2LCAxMjE2NDEsIDEyMTY0NiwgMTIxNjUxLCAxMjE2NTYsIAorICAgIDEyMTY2MSwgMTIxNjY2LCAxMjE2NzEsIDEyMTY3NiwgMTIxNjgxLCAxMjE2ODYsIDEyMTY5MSwgMTIxNjk2LCAxMjE3MDEsIAorICAgIDEyMTcwNiwgMTIxNzExLCAxMjE3MTYsIDEyMTcyMSwgMTIxNzI2LCAxMjE3MzEsIDEyMTczNiwgMTIxNzQxLCAxMjE3NDYsIAorICAgIDEyMTc1MSwgMTIxNzU2LCAxMjE3NjEsIDEyMTc2NiwgMTIxNzcxLCAxMjE3NzYsIDEyMTc4MywgMTIxNzkwLCAxMjE3OTcsIAorICAgIDEyMTgwNCwgMTIxODExLCAxMjE4MTgsIDEyMTgyNSwgMTIxODMyLCAxMjE4NDEsIDEyMTg0OCwgMTIxODU1LCAxMjE4NjIsIAorICAgIDEyMTg2OSwgMTIxODc2LCAxMjE4ODMsIDEyMTg5MCwgMTIxODk3LCAxMjE5MDQsIDEyMTkxMSwgMTIxOTE4LCAxMjE5MjMsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyMTkzMiwgMTIxOTM3LCAxMjE5NDEsIDEyMTk0NSwgMTIxOTQ5LCAKKyAgICAxMjE5NTMsIDEyMTk1NywgMTIxOTYxLCAxMjE5NjUsIDEyMTk2OSwgMCwgMTIxOTczLCAxMjE5NzgsIDEyMTk4MywgCisgICAgMTIxOTkwLCAxMjE5OTUsIDEyMjAwMiwgMTIyMDA5LCAwLCAxMjIwMTQsIDEyMjAyMSwgMTIyMDI2LCAxMjIwMzEsIAorICAgIDEyMjAzOCwgMTIyMDQ1LCAxMjIwNTAsIDEyMjA1NSwgMTIyMDYwLCAxMjIwNjUsIDEyMjA3MCwgMTIyMDc3LCAxMjIwODQsIAorICAgIDEyMjA4OSwgMTIyMDk0LCAxMjIwOTksIDEyMjExMiwgMTIyMTIxLCAxMjIxMjgsIDEyMjEzNywgMTIyMTQ2LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAxMjIxNTUsIDEyMjE2MiwgMTIyMTY5LCAxMjIxNzYsIDEyMjE4MywgMTIyMTkwLCAxMjIxOTcsIDEyMjIwNCwgCisgICAgMTIyMjExLCAxMjIyMTgsIDEyMjIyNSwgMTIyMjMyLCAxMjIyMzksIDEyMjI0NiwgMTIyMjUzLCAxMjIyNjAsIDEyMjI2NywgCisgICAgMTIyMjc0LCAxMjIyODEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyMjI4OCwgCisgICAgMTIyMjkxLCAxMjIyOTUsIDEyMjI5OSwgMTIyMzAzLCAxMjIzMDYsIDEyMjMxMCwgMTIyMzE1LCAxMjIzMTksIDEyMjMyMywgCisgICAgMTIyMzI3LCAxMjIzMzEsIDEyMjMzNSwgMTIyMzQwLCAxMjIzNDUsIDEyMjM0OSwgMTIyMzUzLCAxMjIzNTYsIDEyMjM2MCwgCisgICAgMTIyMzY1LCAxMjIzNzAsIDEyMjM3NCwgMTIyMzc4LCAxMjIzODIsIDEyMjM4NiwgMTIyMzkwLCAxMjIzOTQsIDEyMjM5OCwgCisgICAgMTIyNDAyLCAxMjI0MDYsIDEyMjQxMCwgMTIyNDEzLCAxMjI0MTcsIDEyMjQyMSwgMTIyNDI1LCAxMjI0MjksIDEyMjQzMywgCisgICAgMTIyNDM3LCAxMjI0NDMsIDEyMjQ0NiwgMTIyNDUwLCAxMjI0NTQsIDEyMjQ1OCwgMTIyNDYyLCAxMjI0NjYsIDEyMjQ3MCwgCisgICAgMTIyNDc0LCAxMjI0NzgsIDEyMjQ4MiwgMTIyNDg3LCAxMjI0OTIsIDEyMjQ5OCwgMTIyNTAyLCAxMjI1MDYsIDEyMjUxMCwgCisgICAgMTIyNTE0LCAxMjI1MTgsIDEyMjUyMiwgMTIyNTI3LCAxMjI1MzEsIDEyMjUzNSwgMTIyNTM5LCAxMjI1NDMsIDEyMjU0NywgCisgICAgMTIyNTUzLCAxMjI1NTcsIDEyMjU2MSwgMTIyNTY1LCAxMjI1NjksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDEyMjU3MywgMTIyNTc3LCAxMjI1ODEsIDEyMjU4NywgMTIyNTkzLCAxMjI1OTcsIDEyMjYwMiwgMTIyNjA3LCAxMjI2MTIsIAorICAgIDEyMjYxNywgMTIyNjIxLCAxMjI2MjYsIDEyMjYzMSwgMTIyNjM2LCAxMjI2NDAsIDEyMjY0NSwgMTIyNjUwLCAxMjI2NTUsIAorICAgIDEyMjY1OSwgMTIyNjY0LCAxMjI2NjksIDEyMjY3NCwgMTIyNjc5LCAxMjI2ODQsIDEyMjY4OSwgMTIyNjk0LCAxMjI2OTksIAorICAgIDEyMjcwMywgMTIyNzA4LCAxMjI3MTMsIDEyMjcxOCwgMTIyNzIzLCAxMjI3MjgsIDEyMjczMywgMTIyNzM4LCAxMjI3NDMsIAorICAgIDEyMjc0OCwgMTIyNzUzLCAxMjI3NTgsIDEyMjc2NSwgMTIyNzcwLCAxMjI3NzcsIDEyMjc4MiwgMTIyNzg3LCAxMjI3OTIsIAorICAgIDEyMjc5NywgMTIyODAyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjI4MDcsIAorICAgIDEyMjgxMSwgMTIyODE3LCAxMjI4MjAsIDEyMjgyMywgMTIyODI3LCAxMjI4MzEsIDEyMjgzNSwgMTIyODM5LCAxMjI4NDMsIAorICAgIDEyMjg0NywgMTIyODUxLCAxMjI4NTcsIDEyMjg2MywgMTIyODY5LCAxMjI4NzUsIDEyMjg4MSwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTIyODg3LCAxMjI4OTIsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyMjg5OCwgMTIyOTAyLCAxMjI5MDYsIDEyMjkxMCwgCisgICAgMTIyOTE0LCAxMjI5MTgsIDEyMjkyMiwgMTIyOTI1LCAxMjI5MjksIDEyMjkzMywgMTIyOTM3LCAxMjI5NDEsIDEyMjk0NCwgCisgICAgMTIyOTUwLCAxMjI5NTUsIDEyMjk2MSwgMTIyOTY3LCAxMjI5NzIsIDEyMjk3NiwgMTIyOTgyLCAxMjI5ODYsIDEyMjk5MCwgCisgICAgMTIyOTk2LCAxMjMwMDAsIDEyMzAwNCwgMTIzMDA4LCAxMjMwMTIsIDEyMzAxNiwgMTIzMDIwLCAxMjMwMjMsIDEyMzAyOSwgCisgICAgMTIzMDM1LCAxMjMwNDEsIDEyMzA0NywgMTIzMDU0LCAxMjMwNjEsIDEyMzA2OCwgMTIzMDc4LCAxMjMwODUsIDEyMzA5MiwgCisgICAgMTIzMDk3LCAxMjMxMDIsIDEyMzEwNywgMTIzMTEyLCAxMjMxMTksIDEyMzEyNiwgMTIzMTMzLCAxMjMxNDAsIDEyMzE0OSwgCisgICAgMTIzMTU1LCAxMjMxNjIsIDEyMzE2OCwgMTIzMTc1LCAxMjMxODEsIDEyMzE4OCwgMTIzMTkzLCAxMjMyMDAsIDEyMzIwNCwgCisgICAgMTIzMjA4LCAxMjMyMTMsIDEyMzIxOSwgMTIzMjI1LCAxMjMyMzIsIDEyMzIzOSwgMTIzMjQ1LCAxMjMyNTIsIDEyMzI1NSwgCisgICAgMTIzMjYxLCAxMjMyNjUsIDEyMzI2OCwgMTIzMjcyLCAxMjMyNzUsIDEyMzI3OCwgMTIzMjgyLCAxMjMyODcsIDEyMzI5MSwgCisgICAgMTIzMjk1LCAxMjMzMDEsIDEyMzMwNiwgMTIzMzEyLCAxMjMzMTYsIDEyMzMyMCwgMTIzMzIzLCAxMjMzMjcsIDEyMzMzMSwgCisgICAgMTIzMzM2LCAxMjMzNDAsIDEyMzM0NSwgMTIzMzQ5LCAxMjMzNTQsIDEyMzM1OCwgMTIzMzYyLCAxMjMzNjYsIDEyMzM3MCwgCisgICAgMTIzMzc0LCAxMjMzNzgsIDEyMzM4MiwgMTIzMzg2LCAxMjMzOTEsIDEyMzM5NiwgMTIzNDAxLCAxMjM0MDYsIDEyMzQxMiwgCisgICAgMTIzNDE4LCAxMjM0MjQsIDEyMzQzMCwgMTIzNDM2LCAwLCAwLCAwLCAwLCAwLCAxMjM0NDEsIDEyMzQ0OCwgMTIzNDU2LCAKKyAgICAxMjM0NjMsIDEyMzQ3MCwgMTIzNDc4LCAxMjM0ODUsIDEyMzQ5MiwgMTIzNTAxLCAxMjM1MDgsIDEyMzUxNSwgMTIzNTIyLCAKKyAgICAxMjM1MzAsIDAsIDAsIDAsIDEyMzUzOCwgMTIzNTQzLCAxMjM1NTAsIDEyMzU1NiwgMTIzNTYzLCAxMjM1NjksIDEyMzU3NSwgCisgICAgMTIzNTgxLCAxMjM1ODcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyMzU5MywgMTIzNTk4LCAxMjM2MDUsIDEyMzYxMSwgCisgICAgMTIzNjE4LCAxMjM2MjQsIDEyMzYzMCwgMTIzNjM2LCAxMjM2NDIsIDEyMzY0OCwgMCwgMCwgMTIzNjUzLCAxMjM2NTksIAorICAgIDEyMzY2NSwgMTIzNjY4LCAxMjM2NzcsIDEyMzY4NCwgMTIzNjkyLCAxMjM2OTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyMzcwNiwgMTIzNzExLCAxMjM3MTYsIDEyMzcyMSwgCisgICAgMTIzNzI4LCAxMjM3MzUsIDEyMzc0MiwgMTIzNzQ5LCAxMjM3NTQsIDEyMzc1OSwgMTIzNzY0LCAxMjM3NjksIDEyMzc3NiwgCisgICAgMTIzNzgxLCAxMjM3ODgsIDEyMzc5NSwgMTIzODAwLCAxMjM4MDUsIDEyMzgxMCwgMTIzODE3LCAxMjM4MjIsIDEyMzgyNywgCisgICAgMTIzODM0LCAxMjM4NDEsIDEyMzg0NiwgMTIzODUxLCAxMjM4NTYsIDEyMzg2MywgMTIzODcwLCAxMjM4NzcsIDEyMzg4MiwgCisgICAgMTIzODg3LCAxMjM4OTQsIDEyMzkwMSwgMTIzOTA4LCAxMjM5MTUsIDEyMzkyMCwgMTIzOTI1LCAxMjM5MzAsIDEyMzkzNywgCisgICAgMTIzOTQyLCAxMjM5NDcsIDEyMzk1MiwgMTIzOTU5LCAxMjM5NjgsIDEyMzk3NSwgMTIzOTgwLCAxMjM5ODUsIDEyMzk5MCwgCisgICAgMTIzOTk1LCAxMjQwMDAsIDEyNDAwNSwgMTI0MDE0LCAxMjQwMjEsIDEyNDAyNiwgMTI0MDMzLCAxMjQwNDAsIDEyNDA0NSwgCisgICAgMTI0MDUwLCAxMjQwNTUsIDEyNDA2MiwgMTI0MDY3LCAxMjQwNzQsIDEyNDA4MSwgMTI0MDg2LCAxMjQwOTEsIDEyNDA5NiwgCisgICAgMTI0MTAzLCAxMjQxMTAsIDEyNDExNSwgMTI0MTIwLCAxMjQxMjcsIDEyNDEzNCwgMTI0MTQxLCAxMjQxNDYsIDEyNDE1MSwgCisgICAgMTI0MTU2LCAxMjQxNjEsIDEyNDE2OCwgMTI0MTc3LCAxMjQxODYsIDEyNDE5MSwgMTI0MTk4LCAxMjQyMDcsIDEyNDIxMiwgCisgICAgMTI0MjE3LCAxMjQyMjIsIDEyNDIyNywgMTI0MjM0LCAxMjQyNDEsIDEyNDI0OCwgMTI0MjU1LCAxMjQyNjAsIDEyNDI2NSwgCisgICAgMTI0MjcwLCAxMjQyNzcsIDEyNDI4NCwgMTI0MjkxLCAxMjQyOTYsIDEyNDMwMSwgMTI0MzA4LCAxMjQzMTMsIDEyNDMyMCwgCisgICAgMTI0MzI1LCAxMjQzMzIsIDEyNDMzNywgMTI0MzQ0LCAxMjQzNTEsIDEyNDM1NiwgMTI0MzYxLCAxMjQzNjYsIDEyNDM3MSwgCisgICAgMTI0Mzc2LCAxMjQzODEsIDEyNDM4NiwgMTI0MzkxLCAxMjQzOTYsIDEyNDQwMywgMTI0NDEwLCAxMjQ0MTcsIDEyNDQyNCwgCisgICAgMTI0NDMxLCAxMjQ0NDAsIDEyNDQ0NSwgMTI0NDUwLCAxMjQ0NTcsIDEyNDQ2NCwgMTI0NDY5LCAxMjQ0NzYsIDEyNDQ4MywgCisgICAgMTI0NDkwLCAxMjQ0OTcsIDEyNDUwNCwgMTI0NTExLCAxMjQ1MTYsIDEyNDUyMSwgMTI0NTI2LCAxMjQ1MzEsIDEyNDUzNiwgCisgICAgMTI0NTQ1LCAxMjQ1NTQsIDEyNDU2MywgMTI0NTcyLCAxMjQ1ODEsIDEyNDU5MCwgMTI0NTk5LCAxMjQ2MDgsIDEyNDYxMywgCisgICAgMTI0NjI0LCAxMjQ2MzUsIDEyNDY0NCwgMTI0NjQ5LCAxMjQ2NTQsIDEyNDY1OSwgMTI0NjY0LCAxMjQ2NzMsIDEyNDY4MCwgCisgICAgMTI0Njg3LCAxMjQ2OTQsIDEyNDcwMSwgMTI0NzA4LCAxMjQ3MTUsIDEyNDcyNCwgMTI0NzMzLCAxMjQ3NDQsIDEyNDc1MywgCisgICAgMTI0NzY0LCAxMjQ3NzMsIDEyNDc4MCwgMTI0Nzg5LCAxMjQ4MDAsIDEyNDgwOSwgMTI0ODE4LCAxMjQ4MjcsIDEyNDgzNiwgCisgICAgMTI0ODQzLCAxMjQ4NTAsIDEyNDg1NywgMTI0ODY2LCAxMjQ4NzUsIDEyNDg4NiwgMTI0ODk1LCAxMjQ5MDQsIDEyNDkxNSwgCisgICAgMTI0OTIwLCAxMjQ5MjUsIDEyNDkzNiwgMTI0OTQ0LCAxMjQ5NTMsIDEyNDk2MiwgMTI0OTcxLCAxMjQ5ODIsIDEyNDk5MSwgCisgICAgMTI1MDAwLCAxMjUwMTEsIDEyNTAyMiwgMTI1MDMzLCAxMjUwNDQsIDEyNTA1NSwgMTI1MDY2LCAxMjUwNzMsIDEyNTA4MCwgCisgICAgMTI1MDg3LCAxMjUwOTQsIDEyNTEwNSwgMTI1MTE0LCAxMjUxMjEsIDEyNTEyOCwgMTI1MTM1LCAxMjUxNDYsIDEyNTE1NywgCisgICAgMTI1MTY4LCAxMjUxNzksIDEyNTE5MCwgMTI1MjAxLCAxMjUyMTIsIDEyNTIyMywgMTI1MjMwLCAxMjUyMzcsIDEyNTI0NiwgCisgICAgMTI1MjU1LCAxMjUyNjIsIDEyNTI2OSwgMTI1Mjc2LCAxMjUyODUsIDEyNTI5NCwgMTI1MzAzLCAxMjUzMTAsIDEyNTMxOSwgCisgICAgMTI1MzI4LCAxMjUzMzcsIDEyNTM0NCwgMTI1MzUxLCAxMjUzNTYsIDEyNTM2MiwgMTI1MzY5LCAxMjUzNzYsIDEyNTM4MywgCisgICAgMTI1MzkwLCAxMjUzOTcsIDEyNTQwNCwgMTI1NDEzLCAxMjU0MjIsIDEyNTQzMSwgMTI1NDQwLCAxMjU0NDcsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyNTQ1NiwgMTI1NDYyLCAxMjU0NjcsIDEyNTQ3MiwgMTI1NDc5LCAxMjU0ODUsIAorICAgIDEyNTQ5MSwgMTI1NDk3LCAxMjU1MDMsIDEyNTUwOSwgMTI1NTE1LCAxMjU1MjEsIDEyNTUyNSwgMTI1NTI5LCAxMjU1MzUsIAorICAgIDEyNTU0MSwgMTI1NTQ3LCAxMjU1NTEsIDEyNTU1NiwgMTI1NTYxLCAxMjU1NjUsIDEyNTU2OSwgMTI1NTcyLCAxMjU1NzgsIAorICAgIDEyNTU4NCwgMTI1NTkwLCAxMjU1OTYsIDEyNTYwMiwgMTI1NjA4LCAxMjU2MTQsIDEyNTYyMCwgMTI1NjI2LCAxMjU2MzYsIAorICAgIDEyNTY0NiwgMTI1NjUyLCAxMjU2NTgsIDEyNTY2OCwgMTI1Njc4LCAxMjU2ODQsIDAsIDAsIDEyNTY5MCwgMTI1Njk4LCAKKyAgICAxMjU3MDMsIDEyNTcwOCwgMTI1NzE0LCAxMjU3MjAsIDEyNTcyNiwgMTI1NzMyLCAxMjU3MzgsIDEyNTc0NCwgMTI1NzUxLCAKKyAgICAxMjU3NTgsIDEyNTc2NCwgMTI1NzcwLCAxMjU3NzYsIDEyNTc4MiwgMTI1Nzg4LCAxMjU3OTQsIDEyNTgwMCwgMTI1ODA2LCAKKyAgICAxMjU4MTEsIDEyNTgxNywgMTI1ODIzLCAxMjU4MjksIDEyNTgzNSwgMTI1ODQxLCAxMjU4NTAsIDEyNTg1NiwgMTI1ODYxLCAKKyAgICAxMjU4NjksIDEyNTg3NiwgMTI1ODgzLCAxMjU4OTIsIDEyNTkwMSwgMTI1OTEwLCAxMjU5MTksIDEyNTkyOCwgMTI1OTM3LCAKKyAgICAxMjU5NDYsIDEyNTk1NSwgMTI1OTY1LCAxMjU5NzUsIDEyNTk4MywgMTI1OTkxLCAxMjYwMDAsIDEyNjAwOSwgMTI2MDE1LCAKKyAgICAxMjYwMjEsIDEyNjAyNywgMTI2MDMzLCAxMjYwNDEsIDEyNjA0OSwgMTI2MDUzLCAxMjYwNTksIDEyNjA2NCwgMTI2MDcwLCAKKyAgICAxMjYwNzYsIDEyNjA4MiwgMTI2MDg4LCAxMjYwOTQsIDEyNjEwMywgMTI2MTA4LCAxMjYxMTUsIDEyNjEyMCwgMTI2MTI1LCAKKyAgICAxMjYxMzAsIDEyNjEzNiwgMTI2MTQyLCAxMjYxNDgsIDEyNjE1NSwgMTI2MTYwLCAxMjYxNjUsIDEyNjE3MCwgMTI2MTc1LCAKKyAgICAxMjYxODAsIDEyNjE4NiwgMTI2MTkyLCAxMjYxOTgsIDEyNjIwNCwgMTI2MjEwLCAxMjYyMTYsIDEyNjIyMiwgMTI2MjI4LCAKKyAgICAxMjYyMzMsIDEyNjIzOCwgMTI2MjQzLCAxMjYyNDgsIDEyNjI1MywgMTI2MjU4LCAxMjYyNjMsIDEyNjI2OCwgMTI2Mjc0LCAKKyAgICAxMjYyODAsIDEyNjI4NSwgMTI2MjkwLCAxMjYyOTUsIDEyNjMwMCwgMTI2MzA1LCAxMjYzMTEsIDEyNjMxOCwgMTI2MzIyLCAKKyAgICAxMjYzMjYsIDEyNjMzMCwgMTI2MzM0LCAxMjYzMzgsIDEyNjM0MiwgMTI2MzQ2LCAxMjYzNTAsIDEyNjM1OCwgMTI2MzY4LCAKKyAgICAxMjYzNzIsIDEyNjM3NiwgMTI2MzgyLCAxMjYzODgsIDEyNjM5NCwgMTI2NDAwLCAxMjY0MDYsIDEyNjQxMiwgMTI2NDE4LCAKKyAgICAxMjY0MjQsIDEyNjQzMCwgMTI2NDM2LCAxMjY0NDIsIDEyNjQ0OCwgMTI2NDU0LCAxMjY0NjAsIDEyNjQ2NCwgMTI2NDY4LCAKKyAgICAxMjY0NzUsIDEyNjQ4MSwgMTI2NDg3LCAxMjY0OTMsIDEyNjQ5OCwgMTI2NTA1LCAxMjY1MTAsIDEyNjUxNiwgMTI2NTIyLCAKKyAgICAxMjY1MjgsIDEyNjUzNCwgMTI2NTM5LCAxMjY1NDMsIDEyNjU0OSwgMTI2NTUzLCAxMjY1NTcsIDEyNjU2MSwgMTI2NTY3LCAKKyAgICAxMjY1NzMsIDEyNjU3NywgMTI2NTgzLCAxMjY1ODksIDEyNjU5NSwgMTI2NjAxLCAxMjY2MDcsIDEyNjYxNSwgMTI2NjIzLCAKKyAgICAxMjY2MjksIDEyNjYzNSwgMTI2NjQxLCAxMjY2NDcsIDEyNjY1OSwgMTI2NjcxLCAxMjY2ODUsIDEyNjY5NywgMTI2NzA5LCAKKyAgICAxMjY3MjMsIDEyNjczNywgMTI2NzUxLCAxMjY3NTUsIDEyNjc2MywgMTI2NzcxLCAxMjY3NzYsIDEyNjc4MCwgMTI2Nzg0LCAKKyAgICAxMjY3ODgsIDEyNjc5MiwgMTI2Nzk2LCAxMjY4MDAsIDEyNjgwNCwgMTI2ODEwLCAxMjY4MTYsIDEyNjgyMiwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTI2ODI4LCAxMjY4MzUsIDEyNjg0MiwgMTI2ODQ5LCAxMjY4NTYsIDEyNjg2MywgCisgICAgMTI2ODcwLCAxMjY4NzcsIDEyNjg4NCwgMTI2ODkxLCAxMjY4OTgsIDEyNjkwNSwgMTI2OTEyLCAxMjY5MTksIDEyNjkyNiwgCisgICAgMTI2OTMzLCAxMjY5NDAsIDEyNjk0NywgMTI2OTU0LCAxMjY5NjEsIDEyNjk2OCwgMTI2OTc1LCAxMjY5ODIsIDEyNjk4OSwgCisgICAgMTI2OTk2LCAxMjcwMDMsIDEyNzAxMCwgMTI3MDE3LCAxMjcwMjQsIDEyNzAzMSwgMTI3MDM4LCAxMjcwNDUsIDEyNzA1MiwgCisgICAgMTI3MDU5LCAxMjcwNjYsIDEyNzA3MywgMTI3MDgwLCAxMjcwODcsIDEyNzA5NCwgMTI3MTAxLCAxMjcxMDgsIDEyNzExNSwgCisgICAgMTI3MTIyLCAxMjcxMjksIDEyNzEzNiwgMTI3MTQzLCAxMjcxNTAsIDEyNzE1NywgMTI3MTY0LCAxMjcxNzEsIDEyNzE3OCwgCisgICAgMTI3MTg1LCAxMjcxOTIsIDEyNzE5OSwgMTI3MjA2LCAxMjcyMTMsIDEyNzIyMCwgMTI3MjI3LCAxMjcyMzQsIDEyNzI0MSwgCisgICAgMTI3MjQ4LCAxMjcyNTUsIDEyNzI2MiwgMTI3MjY5LCAxMjcyNzYsIDEyNzI4MywgMTI3MjkwLCAxMjcyOTUsIDEyNzMwMCwgCisgICAgMTI3MzA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjczMDksIAorICAgIDEyNzMxNCwgMTI3MzIxLCAxMjczMjgsIDEyNzMzNSwgMTI3MzQyLCAxMjczNDcsIDEyNzM1MiwgMTI3MzU5LCAxMjczNjQsIAorICAgIDEyNzM2OSwgMTI3Mzc2LCAxMjczODEsIDEyNzM4NiwgMTI3MzkxLCAxMjczOTgsIDEyNzQwNywgMTI3NDEyLCAxMjc0MTcsIAorICAgIDEyNzQyMiwgMTI3NDI3LCAxMjc0MzIsIDEyNzQzNywgMTI3NDQ0LCAxMjc0NDksIDEyNzQ1NCwgMTI3NDU5LCAxMjc0NjQsIAorICAgIDEyNzQ2OSwgMTI3NDc0LCAxMjc0NzksIDEyNzQ4NCwgMTI3NDg5LCAxMjc0OTQsIDEyNzQ5OSwgMTI3NTA0LCAxMjc1MTAsIAorICAgIDEyNzUxNSwgMTI3NTIwLCAxMjc1MjUsIDEyNzUzMCwgMTI3NTM1LCAxMjc1NDAsIDEyNzU0NSwgMTI3NTUwLCAxMjc1NTUsIAorICAgIDEyNzU2NCwgMTI3NTY5LCAxMjc1NzgsIDEyNzU4MywgMTI3NTg4LCAxMjc1OTMsIDEyNzU5OCwgMTI3NjAzLCAxMjc2MDgsIAorICAgIDEyNzYxMywgMTI3NjIyLCAxMjc2MjcsIDEyNzYzMiwgMTI3NjM3LCAxMjc2NDIsIDEyNzY0NywgMTI3NjU0LCAxMjc2NTksIAorICAgIDEyNzY2NiwgMTI3NjcxLCAxMjc2NzYsIDEyNzY4MSwgMTI3Njg2LCAxMjc2OTEsIDEyNzY5NiwgMTI3NzAxLCAxMjc3MDYsIAorICAgIDEyNzcxMSwgMTI3NzE2LCAxMjc3MjEsIDEyNzcyNiwgMTI3NzMxLCAxMjc3MzYsIDEyNzc0MSwgMTI3NzQ2LCAxMjc3NTEsIAorICAgIDEyNzc1NiwgMTI3NzYxLCAxMjc3NzAsIDEyNzc3NSwgMTI3NzgwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAxMjc3ODUsIDEyNzc5MywgMTI3ODAxLCAxMjc4MDksIDEyNzgxNywgMTI3ODI1LCAxMjc4MzMsIDEyNzg0MSwgMTI3ODQ5LCAKKyAgICAxMjc4NTcsIDEyNzg2NSwgMTI3ODczLCAxMjc4ODEsIDEyNzg4OSwgMTI3ODk3LCAxMjc5MDUsIDEyNzkxMywgMTI3OTIxLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjc5MjksIAorICAgIDEyNzkzMywgMTI3OTM4LCAxMjc5NDMsIDEyNzk0OCwgMTI3OTUyLCAxMjc5NTcsIDEyNzk2MiwgMTI3OTY3LCAxMjc5NzEsIAorICAgIDEyNzk3NiwgMTI3OTgxLCAxMjc5ODUsIDEyNzk5MCwgMTI3OTk1LCAxMjc5OTksIDEyODAwNCwgMTI4MDA5LCAxMjgwMTMsIAorICAgIDEyODAxNywgMTI4MDIyLCAxMjgwMjYsIDEyODAzMSwgMTI4MDM2LCAxMjgwNDEsIDEyODA0NiwgMTI4MDUxLCAxMjgwNTUsIAorICAgIDEyODA2MCwgMTI4MDY1LCAxMjgwNzAsIDEyODA3NCwgMTI4MDc5LCAxMjgwODQsIDEyODA4OSwgMTI4MDkzLCAxMjgwOTgsIAorICAgIDEyODEwMywgMTI4MTA3LCAxMjgxMTIsIDEyODExNywgMTI4MTIxLCAxMjgxMjYsIDEyODEzMSwgMTI4MTM1LCAxMjgxMzksIAorICAgIDEyODE0NCwgMTI4MTQ4LCAxMjgxNTMsIDEyODE1OCwgMTI4MTYzLCAxMjgxNjgsIDEyODE3MywgMTI4MTc3LCAxMjgxODIsIAorICAgIDEyODE4NywgMTI4MTkyLCAxMjgxOTYsIDEyODIwMSwgMTI4MjA2LCAxMjgyMTEsIDEyODIxNSwgMTI4MjIwLCAxMjgyMjUsIAorICAgIDEyODIyOSwgMTI4MjM0LCAxMjgyMzksIDEyODI0MywgMTI4MjQ4LCAxMjgyNTMsIDEyODI1NywgMTI4MjYxLCAxMjgyNjYsIAorICAgIDEyODI3MCwgMTI4Mjc1LCAxMjgyODAsIDEyODI4NSwgMTI4MjkwLCAxMjgyOTUsIDEyODI5OSwgMTI4MzA0LCAxMjgzMDksIAorICAgIDEyODMxNCwgMTI4MzE4LCAxMjgzMjMsIDAsIDEyODMyOCwgMTI4MzMyLCAxMjgzMzcsIDEyODM0MiwgMTI4MzQ2LCAKKyAgICAxMjgzNTEsIDEyODM1NiwgMTI4MzYwLCAxMjgzNjUsIDEyODM3MCwgMTI4Mzc0LCAxMjgzNzgsIDEyODM4MywgMTI4Mzg3LCAKKyAgICAxMjgzOTIsIDEyODM5NywgMTI4NDAyLCAxMjg0MDcsIDEyODQxMiwgMTI4NDE3LCAxMjg0MjMsIDEyODQyOSwgMTI4NDM1LCAKKyAgICAxMjg0NDAsIDEyODQ0NiwgMTI4NDUyLCAxMjg0NTgsIDEyODQ2MywgMTI4NDY5LCAxMjg0NzUsIDEyODQ4MCwgMTI4NDg2LCAKKyAgICAxMjg0OTIsIDEyODQ5NywgMTI4NTAzLCAxMjg1MDksIDEyODUxNCwgMTI4NTE5LCAxMjg1MjUsIDEyODUzMCwgMTI4NTM2LCAKKyAgICAxMjg1NDIsIDEyODU0OCwgMTI4NTU0LCAxMjg1NjAsIDEyODU2NSwgMTI4NTcxLCAxMjg1NzcsIDEyODU4MywgMTI4NTg4LCAKKyAgICAxMjg1OTQsIDEyODYwMCwgMTI4NjA2LCAxMjg2MTEsIDEyODYxNywgMTI4NjIzLCAxMjg2MjgsIDEyODYzNCwgMTI4NjQwLCAKKyAgICAxMjg2NDUsIDEyODY1MSwgMTI4NjU3LCAxMjg2NjIsIDEyODY2NywgMTI4NjczLCAxMjg2NzgsIDEyODY4NCwgMTI4NjkwLCAKKyAgICAxMjg2OTYsIDEyODcwMiwgMTI4NzA4LCAwLCAxMjg3MTIsIDEyODcxNywgMCwgMCwgMTI4NzIyLCAwLCAwLCAxMjg3MjcsIAorICAgIDEyODczMiwgMCwgMCwgMTI4NzM3LCAxMjg3NDIsIDEyODc0NiwgMTI4NzUxLCAwLCAxMjg3NTYsIDEyODc2MCwgMTI4NzY1LCAKKyAgICAxMjg3NjksIDEyODc3NCwgMTI4Nzc5LCAxMjg3ODQsIDEyODc4OSwgMTI4Nzk0LCAxMjg3OTgsIDEyODgwMywgMTI4ODA4LCAKKyAgICAwLCAxMjg4MTMsIDAsIDEyODgxOCwgMTI4ODIzLCAxMjg4MjcsIDEyODgzMiwgMTI4ODM3LCAxMjg4NDEsIDEyODg0NiwgMCwgCisgICAgMTI4ODUxLCAxMjg4NTYsIDEyODg2MSwgMTI4ODY1LCAxMjg4NjksIDEyODg3NCwgMTI4ODc4LCAxMjg4ODMsIDEyODg4OCwgCisgICAgMTI4ODkzLCAxMjg4OTgsIDEyODkwMywgMTI4OTA4LCAxMjg5MTQsIDEyODkyMCwgMTI4OTI2LCAxMjg5MzEsIDEyODkzNywgCisgICAgMTI4OTQzLCAxMjg5NDksIDEyODk1NCwgMTI4OTYwLCAxMjg5NjYsIDEyODk3MSwgMTI4OTc3LCAxMjg5ODMsIDEyODk4OCwgCisgICAgMTI4OTk0LCAxMjkwMDAsIDEyOTAwNSwgMTI5MDEwLCAxMjkwMTYsIDEyOTAyMSwgMTI5MDI3LCAxMjkwMzMsIDEyOTAzOSwgCisgICAgMTI5MDQ1LCAxMjkwNTEsIDEyOTA1NiwgMTI5MDYyLCAxMjkwNjgsIDEyOTA3NCwgMTI5MDc5LCAxMjkwODUsIDEyOTA5MSwgCisgICAgMTI5MDk3LCAxMjkxMDIsIDEyOTEwOCwgMTI5MTE0LCAxMjkxMTksIDEyOTEyNSwgMTI5MTMxLCAxMjkxMzYsIDEyOTE0MiwgCisgICAgMTI5MTQ4LCAxMjkxNTMsIDEyOTE1OCwgMTI5MTY0LCAxMjkxNjksIDEyOTE3NSwgMTI5MTgxLCAxMjkxODcsIDEyOTE5MywgCisgICAgMTI5MTk5LCAxMjkyMDMsIDAsIDEyOTIwOCwgMTI5MjEzLCAxMjkyMTcsIDEyOTIyMiwgMCwgMCwgMTI5MjI3LCAxMjkyMzIsIAorICAgIDEyOTIzNywgMTI5MjQxLCAxMjkyNDYsIDEyOTI1MSwgMTI5MjU1LCAxMjkyNjAsIDAsIDEyOTI2NSwgMTI5MjY5LCAKKyAgICAxMjkyNzQsIDEyOTI3OCwgMTI5MjgzLCAxMjkyODgsIDEyOTI5MywgMCwgMTI5Mjk4LCAxMjkzMDIsIDEyOTMwNywgCisgICAgMTI5MzEyLCAxMjkzMTcsIDEyOTMyMSwgMTI5MzI2LCAxMjkzMzEsIDEyOTMzNiwgMTI5MzQwLCAxMjkzNDUsIDEyOTM1MCwgCisgICAgMTI5MzU0LCAxMjkzNTksIDEyOTM2NCwgMTI5MzY4LCAxMjkzNzMsIDEyOTM3OCwgMTI5MzgyLCAxMjkzODYsIDEyOTM5MSwgCisgICAgMTI5Mzk1LCAxMjk0MDAsIDEyOTQwNSwgMTI5NDEwLCAxMjk0MTUsIDEyOTQyMCwgMTI5NDI0LCAwLCAxMjk0MjksIAorICAgIDEyOTQzNCwgMTI5NDM4LCAxMjk0NDMsIDAsIDEyOTQ0OCwgMTI5NDUyLCAxMjk0NTcsIDEyOTQ2MiwgMTI5NDY2LCAwLCAKKyAgICAxMjk0NzEsIDAsIDAsIDAsIDEyOTQ3NSwgMTI5NDc5LCAxMjk0ODQsIDEyOTQ4OCwgMTI5NDkzLCAxMjk0OTgsIDEyOTUwMywgCisgICAgMCwgMTI5NTA4LCAxMjk1MTIsIDEyOTUxNywgMTI5NTIyLCAxMjk1MjcsIDEyOTUzMSwgMTI5NTM2LCAxMjk1NDEsIAorICAgIDEyOTU0NiwgMTI5NTUwLCAxMjk1NTUsIDEyOTU2MCwgMTI5NTY0LCAxMjk1NjksIDEyOTU3NCwgMTI5NTc4LCAxMjk1ODMsIAorICAgIDEyOTU4OCwgMTI5NTkyLCAxMjk1OTYsIDEyOTYwMSwgMTI5NjA1LCAxMjk2MTAsIDEyOTYxNSwgMTI5NjIwLCAxMjk2MjUsIAorICAgIDEyOTYzMCwgMTI5NjM1LCAxMjk2NDEsIDEyOTY0NywgMTI5NjUzLCAxMjk2NTgsIDEyOTY2NCwgMTI5NjcwLCAxMjk2NzYsIAorICAgIDEyOTY4MSwgMTI5Njg3LCAxMjk2OTMsIDEyOTY5OCwgMTI5NzA0LCAxMjk3MTAsIDEyOTcxNSwgMTI5NzIxLCAxMjk3MjcsIAorICAgIDEyOTczMiwgMTI5NzM3LCAxMjk3NDMsIDEyOTc0OCwgMTI5NzU0LCAxMjk3NjAsIDEyOTc2NiwgMTI5NzcyLCAxMjk3NzgsIAorICAgIDEyOTc4MywgMTI5Nzg5LCAxMjk3OTUsIDEyOTgwMSwgMTI5ODA2LCAxMjk4MTIsIDEyOTgxOCwgMTI5ODI0LCAxMjk4MjksIAorICAgIDEyOTgzNSwgMTI5ODQxLCAxMjk4NDYsIDEyOTg1MiwgMTI5ODU4LCAxMjk4NjMsIDEyOTg2OSwgMTI5ODc1LCAxMjk4ODAsIAorICAgIDEyOTg4NSwgMTI5ODkxLCAxMjk4OTYsIDEyOTkwMiwgMTI5OTA4LCAxMjk5MTQsIDEyOTkyMCwgMTI5OTI2LCAxMjk5MzAsIAorICAgIDEyOTkzNSwgMTI5OTQwLCAxMjk5NDUsIDEyOTk0OSwgMTI5OTU0LCAxMjk5NTksIDEyOTk2NCwgMTI5OTY4LCAxMjk5NzMsIAorICAgIDEyOTk3OCwgMTI5OTgyLCAxMjk5ODcsIDEyOTk5MiwgMTI5OTk2LCAxMzAwMDEsIDEzMDAwNiwgMTMwMDEwLCAxMzAwMTQsIAorICAgIDEzMDAxOSwgMTMwMDIzLCAxMzAwMjgsIDEzMDAzMywgMTMwMDM4LCAxMzAwNDMsIDEzMDA0OCwgMTMwMDUyLCAxMzAwNTcsIAorICAgIDEzMDA2MiwgMTMwMDY3LCAxMzAwNzEsIDEzMDA3NiwgMTMwMDgxLCAxMzAwODYsIDEzMDA5MCwgMTMwMDk1LCAxMzAxMDAsIAorICAgIDEzMDEwNCwgMTMwMTA5LCAxMzAxMTQsIDEzMDExOCwgMTMwMTIzLCAxMzAxMjgsIDEzMDEzMiwgMTMwMTM2LCAxMzAxNDEsIAorICAgIDEzMDE0NSwgMTMwMTUwLCAxMzAxNTUsIDEzMDE2MCwgMTMwMTY1LCAxMzAxNzAsIDEzMDE3NSwgMTMwMTgxLCAxMzAxODcsIAorICAgIDEzMDE5MywgMTMwMTk4LCAxMzAyMDQsIDEzMDIxMCwgMTMwMjE2LCAxMzAyMjEsIDEzMDIyNywgMTMwMjMzLCAxMzAyMzgsIAorICAgIDEzMDI0NCwgMTMwMjUwLCAxMzAyNTUsIDEzMDI2MSwgMTMwMjY3LCAxMzAyNzIsIDEzMDI3NywgMTMwMjgzLCAxMzAyODgsIAorICAgIDEzMDI5NCwgMTMwMzAwLCAxMzAzMDYsIDEzMDMxMiwgMTMwMzE4LCAxMzAzMjMsIDEzMDMyOSwgMTMwMzM1LCAxMzAzNDEsIAorICAgIDEzMDM0NiwgMTMwMzUyLCAxMzAzNTgsIDEzMDM2NCwgMTMwMzY5LCAxMzAzNzUsIDEzMDM4MSwgMTMwMzg2LCAxMzAzOTIsIAorICAgIDEzMDM5OCwgMTMwNDAzLCAxMzA0MDksIDEzMDQxNSwgMTMwNDIwLCAxMzA0MjUsIDEzMDQzMSwgMTMwNDM2LCAxMzA0NDIsIAorICAgIDEzMDQ0OCwgMTMwNDU0LCAxMzA0NjAsIDEzMDQ2NiwgMTMwNDcxLCAxMzA0NzcsIDEzMDQ4MywgMTMwNDg5LCAxMzA0OTQsIAorICAgIDEzMDUwMCwgMTMwNTA2LCAxMzA1MTIsIDEzMDUxNywgMTMwNTIzLCAxMzA1MjksIDEzMDUzNCwgMTMwNTQwLCAxMzA1NDYsIAorICAgIDEzMDU1MSwgMTMwNTU3LCAxMzA1NjMsIDEzMDU2OCwgMTMwNTczLCAxMzA1NzksIDEzMDU4NCwgMTMwNTkwLCAxMzA1OTYsIAorICAgIDEzMDYwMiwgMTMwNjA4LCAxMzA2MTQsIDEzMDYxOSwgMTMwNjI1LCAxMzA2MzEsIDEzMDYzNywgMTMwNjQyLCAxMzA2NDgsIAorICAgIDEzMDY1NCwgMTMwNjYwLCAxMzA2NjUsIDEzMDY3MSwgMTMwNjc3LCAxMzA2ODIsIDEzMDY4OCwgMTMwNjk0LCAxMzA2OTksIAorICAgIDEzMDcwNSwgMTMwNzExLCAxMzA3MTYsIDEzMDcyMSwgMTMwNzI3LCAxMzA3MzIsIDEzMDczOCwgMTMwNzQ0LCAxMzA3NTAsIAorICAgIDEzMDc1NiwgMTMwNzYyLCAxMzA3NjgsIDEzMDc3NSwgMTMwNzgyLCAxMzA3ODksIDEzMDc5NSwgMTMwODAyLCAxMzA4MDksIAorICAgIDEzMDgxNiwgMTMwODIyLCAxMzA4MjksIDEzMDgzNiwgMTMwODQyLCAxMzA4NDksIDEzMDg1NiwgMTMwODYyLCAxMzA4NjksIAorICAgIDEzMDg3NiwgMTMwODgyLCAxMzA4ODgsIDEzMDg5NSwgMTMwOTAxLCAxMzA5MDgsIDEzMDkxNSwgMTMwOTIyLCAxMzA5MjksIAorICAgIDEzMDkzNiwgMTMwOTQyLCAxMzA5NDksIDEzMDk1NiwgMTMwOTYzLCAxMzA5NjksIDEzMDk3NiwgMTMwOTgzLCAxMzA5OTAsIAorICAgIDEzMDk5NiwgMTMxMDAzLCAxMzEwMTAsIDEzMTAxNiwgMTMxMDIzLCAxMzEwMzAsIDEzMTAzNiwgMTMxMDQzLCAxMzEwNTAsIAorICAgIDEzMTA1NiwgMTMxMDYyLCAxMzEwNjksIDEzMTA3NSwgMTMxMDgyLCAxMzEwODksIDEzMTA5NiwgMTMxMTAzLCAxMzExMTAsIAorICAgIDEzMTExNSwgMTMxMTIxLCAxMzExMjcsIDEzMTEzMywgMTMxMTM4LCAxMzExNDQsIDEzMTE1MCwgMTMxMTU2LCAxMzExNjEsIAorICAgIDEzMTE2NywgMTMxMTczLCAxMzExNzgsIDEzMTE4NCwgMTMxMTkwLCAxMzExOTUsIDEzMTIwMSwgMTMxMjA3LCAxMzEyMTIsIAorICAgIDEzMTIxNywgMTMxMjIzLCAxMzEyMjgsIDEzMTIzNCwgMTMxMjQwLCAxMzEyNDYsIDEzMTI1MiwgMTMxMjU4LCAxMzEyNjMsIAorICAgIDEzMTI2OSwgMTMxMjc1LCAxMzEyODEsIDEzMTI4NiwgMTMxMjkyLCAxMzEyOTgsIDEzMTMwNCwgMTMxMzA5LCAxMzEzMTUsIAorICAgIDEzMTMyMSwgMTMxMzI2LCAxMzEzMzIsIDEzMTMzOCwgMTMxMzQzLCAxMzEzNDksIDEzMTM1NSwgMTMxMzYwLCAxMzEzNjUsIAorICAgIDEzMTM3MSwgMTMxMzc2LCAxMzEzODIsIDEzMTM4OCwgMTMxMzk0LCAxMzE0MDAsIDEzMTQwNiwgMTMxNDEyLCAwLCAwLCAKKyAgICAxMzE0MTksIDEzMTQyNCwgMTMxNDI5LCAxMzE0MzQsIDEzMTQzOSwgMTMxNDQ0LCAxMzE0NDksIDEzMTQ1NCwgMTMxNDU5LCAKKyAgICAxMzE0NjQsIDEzMTQ2OSwgMTMxNDc0LCAxMzE0NzksIDEzMTQ4NCwgMTMxNDg5LCAxMzE0OTQsIDEzMTQ5OSwgMTMxNTA0LCAKKyAgICAxMzE1MTAsIDEzMTUxNSwgMTMxNTIwLCAxMzE1MjUsIDEzMTUzMCwgMTMxNTM1LCAxMzE1NDAsIDEzMTU0NSwgMTMxNTQ5LCAKKyAgICAxMzE1NTQsIDEzMTU1OSwgMTMxNTY0LCAxMzE1NjksIDEzMTU3NCwgMTMxNTc5LCAxMzE1ODQsIDEzMTU4OSwgMTMxNTk0LCAKKyAgICAxMzE1OTksIDEzMTYwNCwgMTMxNjA5LCAxMzE2MTQsIDEzMTYxOSwgMTMxNjI0LCAxMzE2MjksIDEzMTYzNCwgMTMxNjQwLCAKKyAgICAxMzE2NDUsIDEzMTY1MCwgMTMxNjU1LCAxMzE2NjAsIDEzMTY2NSwgMTMxNjcwLCAxMzE2NzUsIDEzMTY4MSwgMTMxNjg2LCAKKyAgICAxMzE2OTEsIDEzMTY5NiwgMTMxNzAxLCAxMzE3MDYsIDEzMTcxMSwgMTMxNzE2LCAxMzE3MjEsIDEzMTcyNiwgMTMxNzMxLCAKKyAgICAxMzE3MzYsIDEzMTc0MSwgMTMxNzQ2LCAxMzE3NTEsIDEzMTc1NiwgMTMxNzYxLCAxMzE3NjYsIDEzMTc3MSwgMTMxNzc2LCAKKyAgICAxMzE3ODEsIDEzMTc4NiwgMTMxNzkxLCAxMzE3OTYsIDEzMTgwMiwgMTMxODA3LCAxMzE4MTIsIDEzMTgxNywgMTMxODIyLCAKKyAgICAxMzE4MjcsIDEzMTgzMiwgMTMxODM3LCAxMzE4NDEsIDEzMTg0NiwgMTMxODUxLCAxMzE4NTYsIDEzMTg2MSwgMTMxODY2LCAKKyAgICAxMzE4NzEsIDEzMTg3NiwgMTMxODgxLCAxMzE4ODYsIDEzMTg5MSwgMTMxODk2LCAxMzE5MDEsIDEzMTkwNiwgMTMxOTExLCAKKyAgICAxMzE5MTYsIDEzMTkyMSwgMTMxOTI2LCAxMzE5MzIsIDEzMTkzNywgMTMxOTQyLCAxMzE5NDcsIDEzMTk1MiwgMTMxOTU3LCAKKyAgICAxMzE5NjIsIDEzMTk2NywgMTMxOTczLCAxMzE5NzgsIDEzMTk4MywgMTMxOTg4LCAxMzE5OTMsIDEzMTk5OCwgMTMyMDAzLCAKKyAgICAxMzIwMDksIDEzMjAxNSwgMTMyMDIxLCAxMzIwMjcsIDEzMjAzMywgMTMyMDM5LCAxMzIwNDUsIDEzMjA1MSwgMTMyMDU3LCAKKyAgICAxMzIwNjMsIDEzMjA2OSwgMTMyMDc1LCAxMzIwODEsIDEzMjA4NywgMTMyMDkzLCAxMzIwOTksIDEzMjEwNSwgMTMyMTEyLCAKKyAgICAxMzIxMTgsIDEzMjEyNCwgMTMyMTMwLCAxMzIxMzYsIDEzMjE0MiwgMTMyMTQ4LCAxMzIxNTQsIDEzMjE1OSwgMTMyMTY1LCAKKyAgICAxMzIxNzEsIDEzMjE3NywgMTMyMTgzLCAxMzIxODksIDEzMjE5NSwgMTMyMjAxLCAxMzIyMDcsIDEzMjIxMywgMTMyMjE5LCAKKyAgICAxMzIyMjUsIDEzMjIzMSwgMTMyMjM3LCAxMzIyNDMsIDEzMjI0OSwgMTMyMjU1LCAxMzIyNjEsIDEzMjI2OCwgMTMyMjc0LCAKKyAgICAxMzIyODAsIDEzMjI4NiwgMTMyMjkyLCAxMzIyOTgsIDEzMjMwNCwgMTMyMzEwLCAxMzIzMTcsIDEzMjMyMywgMTMyMzI5LCAKKyAgICAxMzIzMzUsIDEzMjM0MSwgMTMyMzQ3LCAxMzIzNTMsIDEzMjM1OSwgMTMyMzY1LCAxMzIzNzEsIDEzMjM3NywgMTMyMzgzLCAKKyAgICAxMzIzODksIDEzMjM5NSwgMTMyNDAxLCAxMzI0MDcsIDEzMjQxMywgMTMyNDE5LCAxMzI0MjUsIDEzMjQzMSwgMTMyNDM3LCAKKyAgICAxMzI0NDMsIDEzMjQ0OSwgMTMyNDU1LCAxMzI0NjIsIDEzMjQ2OCwgMTMyNDc0LCAxMzI0ODAsIDEzMjQ4NiwgMTMyNDkyLCAKKyAgICAxMzI0OTgsIDEzMjUwNCwgMTMyNTA5LCAxMzI1MTUsIDEzMjUyMSwgMTMyNTI3LCAxMzI1MzMsIDEzMjUzOSwgMTMyNTQ1LCAKKyAgICAxMzI1NTEsIDEzMjU1NywgMTMyNTYzLCAxMzI1NjksIDEzMjU3NSwgMTMyNTgxLCAxMzI1ODcsIDEzMjU5MywgMTMyNTk5LCAKKyAgICAxMzI2MDUsIDEzMjYxMSwgMTMyNjE4LCAxMzI2MjQsIDEzMjYzMCwgMTMyNjM2LCAxMzI2NDIsIDEzMjY0OCwgMTMyNjU0LCAKKyAgICAxMzI2NjAsIDEzMjY2NywgMTMyNjczLCAxMzI2NzksIDEzMjY4NSwgMTMyNjkxLCAxMzI2OTcsIDEzMjcwMywgMTMyNzEwLCAKKyAgICAxMzI3MTcsIDEzMjcyNCwgMTMyNzMxLCAxMzI3MzgsIDEzMjc0NSwgMTMyNzUyLCAxMzI3NTksIDEzMjc2NiwgMTMyNzczLCAKKyAgICAxMzI3ODAsIDEzMjc4NywgMTMyNzk0LCAxMzI4MDEsIDEzMjgwOCwgMTMyODE1LCAxMzI4MjIsIDEzMjgzMCwgMTMyODM3LCAKKyAgICAxMzI4NDQsIDEzMjg1MSwgMTMyODU4LCAxMzI4NjUsIDEzMjg3MiwgMTMyODc5LCAxMzI4ODUsIDEzMjg5MiwgMTMyODk5LCAKKyAgICAxMzI5MDYsIDEzMjkxMywgMTMyOTIwLCAxMzI5MjcsIDEzMjkzNCwgMTMyOTQxLCAxMzI5NDgsIDEzMjk1NSwgMTMyOTYyLCAKKyAgICAxMzI5NjksIDEzMjk3NiwgMTMyOTgzLCAxMzI5OTAsIDEzMjk5NywgMTMzMDA0LCAxMzMwMTIsIDEzMzAxOSwgMTMzMDI2LCAKKyAgICAxMzMwMzMsIDEzMzA0MCwgMTMzMDQ3LCAxMzMwNTQsIDEzMzA2MSwgMTMzMDY5LCAxMzMwNzYsIDEzMzA4MywgMTMzMDkwLCAKKyAgICAxMzMwOTcsIDEzMzEwNCwgMTMzMTExLCAxMzMxMTYsIDAsIDAsIDEzMzEyMSwgMTMzMTI2LCAxMzMxMzAsIDEzMzEzNCwgCisgICAgMTMzMTM4LCAxMzMxNDIsIDEzMzE0NiwgMTMzMTUwLCAxMzMxNTQsIDEzMzE1OCwgMTMzMTYyLCAxMzMxNjcsIDEzMzE3MSwgCisgICAgMTMzMTc1LCAxMzMxNzksIDEzMzE4MywgMTMzMTg3LCAxMzMxOTEsIDEzMzE5NSwgMTMzMTk5LCAxMzMyMDMsIDEzMzIwOCwgCisgICAgMTMzMjEyLCAxMzMyMTYsIDEzMzIyMCwgMTMzMjI0LCAxMzMyMjgsIDEzMzIzMiwgMTMzMjM2LCAxMzMyNDAsIDEzMzI0NCwgCisgICAgMTMzMjUwLCAxMzMyNTUsIDEzMzI2MCwgMTMzMjY1LCAxMzMyNzAsIDEzMzI3NSwgMTMzMjgwLCAxMzMyODUsIDEzMzI5MCwgCisgICAgMTMzMjk1LCAxMzMzMDEsIDEzMzMwNiwgMTMzMzExLCAxMzMzMTYsIDEzMzMyMSwgMTMzMzI2LCAxMzMzMzEsIDEzMzMzNiwgCisgICAgMTMzMzQxLCAxMzMzNDYsIDEzMzM1MywgMTMzMzU5LCAxMzMzNjYsIDEzMzM3MywgMTMzMzgwLCAxMzMzODcsIDEzMzM5NCwgCisgICAgMTMzNDAxLCAxMzM0MDgsIDEzMzQxNSwgMTMzNDIyLCAxMzM0MjksIDEzMzQzNiwgMTMzNDQzLCAxMzM0NTAsIDEzMzQ1NywgCisgICAgMTMzNDY0LCAxMzM0NzEsIDEzMzQ3OCwgMTMzNDg1LCAxMzM0OTIsIDEzMzQ5OSwgMTMzNTA2LCAxMzM1MTMsIDEzMzUyMCwgCisgICAgMTMzNTI3LCAxMzM1MzQsIDEzMzU0MSwgMTMzNTQ4LCAxMzM1NTUsIDEzMzU2MiwgMTMzNTY5LCAxMzM1NzYsIDEzMzU4MywgCisgICAgMTMzNTg5LCAxMzM1OTUsIDEzMzYwMSwgMTMzNjA4LCAxMzM2MTQsIDEzMzYyMSwgMTMzNjI3LCAxMzM2MzQsIDEzMzY0MSwgCisgICAgMTMzNjQ4LCAxMzM2NTUsIDEzMzY2MiwgMTMzNjY5LCAxMzM2NzYsIDEzMzY4MywgMTMzNjkwLCAxMzM2OTcsIDEzMzcwNCwgCisgICAgMTMzNzExLCAxMzM3MTgsIDEzMzcyNSwgMTMzNzMyLCAxMzM3MzksIDEzMzc0NiwgMTMzNzUzLCAxMzM3NjAsIDEzMzc2NywgCisgICAgMTMzNzc1LCAxMzM3ODIsIDEzMzc4OSwgMTMzNzk2LCAxMzM4MDMsIDEzMzgxMCwgMTMzODE3LCAxMzM4MjQsIDEzMzgzMSwgCisgICAgMTMzODM4LCAxMzM4NDUsIDEzMzg1MiwgMTMzODU5LCAxMzM4NjUsIDEzMzg3MiwgMTMzODc5LCAxMzM4ODYsIDEzMzg5MywgCisgICAgMTMzOTAwLCAxMzM5MDcsIDEzMzkxNCwgMTMzOTIyLCAxMzM5MjksIDEzMzkzNSwgMTMzOTQyLCAxMzM5NDksIDEzMzk1NiwgCisgICAgMTMzOTYzLCAxMzM5NzAsIDEzMzk3NywgMTMzOTg0LCAxMzM5OTEsIDEzMzk5OCwgMTM0MDA1LCAxMzQwMTIsIDEzNDAxOSwgCisgICAgMTM0MDI2LCAxMzQwMzMsIDEzNDA0MCwgMTM0MDQ3LCAxMzQwNTQsIDEzNDA2MSwgMTM0MDY4LCAxMzQwNzUsIDEzNDA4MSwgCisgICAgMTM0MDg4LCAxMzQwOTUsIDEzNDEwMiwgMTM0MTA5LCAxMzQxMTYsIDEzNDEyMywgMTM0MTMwLCAxMzQxMzcsIDEzNDE0NCwgCisgICAgMTM0MTUxLCAxMzQxNTgsIDEzNDE2NSwgMTM0MTcyLCAxMzQxNzksIDEzNDE4NiwgMTM0MTkzLCAxMzQyMDAsIDEzNDIwNywgCisgICAgMTM0MjE0LCAxMzQyMjEsIDEzNDIyOCwgMTM0MjM1LCAxMzQyNDMsIDEzNDI1MSwgMTM0MjU5LCAxMzQyNjYsIDEzNDI3MywgCisgICAgMTM0MjgwLCAxMzQyODcsIDEzNDI5NCwgMTM0MzAxLCAxMzQzMDgsIDEzNDMxNSwgMTM0MzIyLCAxMzQzMjksIDEzNDMzNSwgCisgICAgMTM0MzQyLCAxMzQzNDksIDEzNDM1NiwgMTM0MzYzLCAxMzQzNzAsIDEzNDM3NywgMTM0Mzg0LCAxMzQzOTEsIDEzNDM5OCwgCisgICAgMTM0NDA1LCAxMzQ0MTIsIDEzNDQxOSwgMTM0NDI2LCAxMzQ0MzMsIDEzNDQ0MSwgMTM0NDQ5LCAxMzQ0NTcsIDEzNDQ2NCwgCisgICAgMTM0NDcxLCAxMzQ0NzgsIDEzNDQ4NSwgMTM0NDkyLCAxMzQ0OTksIDEzNDUwNiwgMTM0NTEzLCAxMzQ1MjAsIDEzNDUyNywgCisgICAgMTM0NTM0LCAxMzQ1NDEsIDEzNDU0OCwgMTM0NTU1LCAxMzQ1NjIsIDEzNDU2OSwgMTM0NTc2LCAxMzQ1ODMsIDEzNDU5MCwgCisgICAgMTM0NTk3LCAxMzQ2MDQsIDEzNDYxMSwgMTM0NjE4LCAxMzQ2MjUsIDEzNDYzMiwgMTM0NjM5LCAxMzQ2NDYsIDEzNDY1MywgCisgICAgMTM0NjYwLCAxMzQ2NjcsIDEzNDY3NCwgMTM0NjgxLCAxMzQ2ODgsIDEzNDY5NSwgMTM0NzAyLCAxMzQ3MDksIDEzNDcxNiwgCisgICAgMCwgMCwgMTM0NzIzLCAxMzQ3MjcsIDEzNDczMSwgMTM0NzM1LCAxMzQ3MzksIDEzNDc0MywgMTM0NzQ3LCAxMzQ3NTEsIAorICAgIDEzNDc1NSwgMTM0NzU5LCAxMzQ3NjUsIDEzNDc3MSwgMTM0Nzc3LCAxMzQ3ODMsIDEzNDc5MSwgMTM0Nzk5LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzQ4MDUsIDEzNDgwOSwgMTM0ODEzLCAxMzQ4MTcsIAorICAgIDAsIDEzNDgyMSwgMTM0ODI1LCAxMzQ4MjksIDEzNDgzMywgMTM0ODM3LCAxMzQ4NDEsIDEzNDg0NSwgMTM0ODQ5LCAKKyAgICAxMzQ4NTMsIDEzNDg1NywgMTM0ODYxLCAxMzQ4NjUsIDEzNDg2OSwgMTM0ODczLCAxMzQ4NzcsIDEzNDg4MSwgMTM0ODg1LCAKKyAgICAxMzQ4ODksIDEzNDg5MywgMTM0ODk3LCAxMzQ5MDEsIDEzNDkwNSwgMTM0OTA5LCAxMzQ5MTMsIDEzNDkxOSwgMTM0OTI1LCAKKyAgICAxMzQ5MzEsIDAsIDEzNDkzNywgMTM0OTQyLCAwLCAxMzQ5NDcsIDAsIDAsIDEzNDk1MiwgMCwgMTM0OTU3LCAxMzQ5NjIsIAorICAgIDEzNDk2NywgMTM0OTcyLCAxMzQ5NzcsIDEzNDk4MiwgMTM0OTg3LCAxMzQ5OTIsIDEzNDk5NywgMTM1MDAyLCAwLCAKKyAgICAxMzUwMDcsIDEzNTAxMiwgMTM1MDE3LCAxMzUwMjIsIDAsIDEzNTAyNywgMCwgMTM1MDMyLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAxMzUwMzcsIDAsIDAsIDAsIDAsIDEzNTA0MywgMCwgMTM1MDQ5LCAwLCAxMzUwNTUsIDAsIDEzNTA2MSwgMTM1MDY3LCAKKyAgICAxMzUwNzMsIDAsIDEzNTA3OSwgMTM1MDg1LCAwLCAxMzUwOTEsIDAsIDAsIDEzNTA5NywgMCwgMTM1MTAzLCAwLCAxMzUxMDksIAorICAgIDAsIDEzNTExNSwgMCwgMTM1MTIzLCAwLCAxMzUxMzEsIDEzNTEzNywgMCwgMTM1MTQzLCAwLCAwLCAxMzUxNDksIDEzNTE1NSwgCisgICAgMTM1MTYxLCAxMzUxNjcsIDAsIDEzNTE3MywgMTM1MTc5LCAxMzUxODUsIDEzNTE5MSwgMTM1MTk3LCAxMzUyMDMsIAorICAgIDEzNTIwOSwgMCwgMTM1MjE1LCAxMzUyMjEsIDEzNTIyNywgMTM1MjMzLCAwLCAxMzUyMzksIDEzNTI0NSwgMTM1MjUxLCAKKyAgICAxMzUyNTcsIDAsIDEzNTI2NSwgMCwgMTM1MjczLCAxMzUyNzksIDEzNTI4NSwgMTM1MjkxLCAxMzUyOTcsIDEzNTMwMywgCisgICAgMTM1MzA5LCAxMzUzMTUsIDEzNTMyMSwgMTM1MzI3LCAwLCAxMzUzMzMsIDEzNTMzOSwgMTM1MzQ1LCAxMzUzNTEsIAorICAgIDEzNTM1NywgMTM1MzYzLCAxMzUzNjksIDEzNTM3NSwgMTM1MzgxLCAxMzUzODcsIDEzNTM5MywgMTM1Mzk5LCAxMzU0MDUsIAorICAgIDEzNTQxMSwgMTM1NDE3LCAxMzU0MjMsIDEzNTQyOSwgMCwgMCwgMCwgMCwgMCwgMTM1NDM1LCAxMzU0NDAsIDEzNTQ0NSwgMCwgCisgICAgMTM1NDUwLCAxMzU0NTUsIDEzNTQ2MCwgMTM1NDY1LCAxMzU0NzAsIDAsIDEzNTQ3NSwgMTM1NDgwLCAxMzU0ODUsIAorICAgIDEzNTQ5MCwgMTM1NDk1LCAxMzU1MDAsIDEzNTUwNSwgMTM1NTEwLCAxMzU1MTUsIDEzNTUyMCwgMTM1NTI1LCAxMzU1MzAsIAorICAgIDEzNTUzNSwgMTM1NTQwLCAxMzU1NDUsIDEzNTU1MCwgMTM1NTU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzU1NjAsIDEzNTU3MCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTM1NTc4LCAxMzU1ODUsIDEzNTU5MSwgMTM1NTk4LCAKKyAgICAxMzU2MDQsIDEzNTYxMSwgMTM1NjE4LCAxMzU2MjQsIDEzNTYzMSwgMTM1NjM4LCAxMzU2NDUsIDEzNTY1MywgMTM1NjYxLCAKKyAgICAxMzU2NjksIDEzNTY3NywgMTM1Njg1LCAxMzU2OTMsIDEzNTcwMCwgMTM1NzA3LCAxMzU3MTQsIDEzNTcyMiwgMTM1NzMwLCAKKyAgICAxMzU3MzgsIDEzNTc0NiwgMTM1NzU0LCAxMzU3NjIsIDEzNTc2OSwgMTM1Nzc2LCAxMzU3ODMsIDEzNTc5MSwgMTM1Nzk5LCAKKyAgICAxMzU4MDcsIDEzNTgxNSwgMTM1ODIzLCAxMzU4MzEsIDEzNTgzNiwgMTM1ODQxLCAxMzU4NDYsIDEzNTg1MSwgMTM1ODU2LCAKKyAgICAxMzU4NjEsIDEzNTg2NiwgMTM1ODcxLCAxMzU4NzYsIDAsIDAsIDAsIDAsIDEzNTg4MSwgMTM1ODg2LCAxMzU4OTAsIAorICAgIDEzNTg5NCwgMTM1ODk4LCAxMzU5MDIsIDEzNTkwNiwgMTM1OTEwLCAxMzU5MTQsIDEzNTkxOCwgMTM1OTIyLCAxMzU5MjYsIAorICAgIDEzNTkzMCwgMTM1OTM0LCAxMzU5MzgsIDEzNTk0MiwgMTM1OTQ2LCAxMzU5NTAsIDEzNTk1NCwgMTM1OTU4LCAxMzU5NjIsIAorICAgIDEzNTk2NiwgMTM1OTcwLCAxMzU5NzQsIDEzNTk3OCwgMTM1OTgyLCAxMzU5ODYsIDEzNTk5MCwgMTM1OTk0LCAxMzU5OTgsIAorICAgIDEzNjAwMiwgMTM2MDA2LCAxMzYwMTAsIDEzNjAxNCwgMTM2MDE4LCAxMzYwMjIsIDEzNjAyNiwgMTM2MDMwLCAxMzYwMzQsIAorICAgIDEzNjAzOCwgMTM2MDQyLCAxMzYwNDYsIDEzNjA1MCwgMTM2MDU0LCAxMzYwNTgsIDEzNjA2MiwgMTM2MDY2LCAxMzYwNzAsIAorICAgIDEzNjA3NCwgMTM2MDc4LCAxMzYwODIsIDEzNjA4NywgMTM2MDkxLCAxMzYwOTUsIDEzNjA5OSwgMTM2MTAzLCAxMzYxMDcsIAorICAgIDEzNjExMSwgMTM2MTE1LCAxMzYxMTksIDEzNjEyMywgMTM2MTI3LCAxMzYxMzEsIDEzNjEzNSwgMTM2MTM5LCAxMzYxNDMsIAorICAgIDEzNjE0NywgMTM2MTUxLCAxMzYxNTUsIDEzNjE1OSwgMTM2MTYzLCAxMzYxNjcsIDEzNjE3MSwgMTM2MTc1LCAxMzYxNzksIAorICAgIDEzNjE4MywgMTM2MTg3LCAxMzYxOTEsIDEzNjE5NSwgMTM2MTk5LCAxMzYyMDMsIDEzNjIwNywgMTM2MjExLCAxMzYyMTUsIAorICAgIDEzNjIxOSwgMTM2MjIzLCAxMzYyMjcsIDEzNjIzMSwgMTM2MjM1LCAxMzYyMzksIDEzNjI0MywgMTM2MjQ3LCAxMzYyNTEsIAorICAgIDEzNjI1NSwgMTM2MjU5LCAxMzYyNjMsIDEzNjI2NywgMTM2MjcxLCAxMzYyNzUsIDEzNjI3OSwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMTM2MjgzLCAxMzYyODgsIDEzNjI5NiwgMTM2MzAzLCAxMzYzMTAsIDEzNjMxOCwgMTM2MzI2LCAKKyAgICAxMzYzMzQsIDEzNjM0MiwgMTM2MzUwLCAxMzYzNTgsIDEzNjM2NiwgMTM2Mzc0LCAxMzYzODIsIDEzNjM5MCwgMCwgMCwgCisgICAgMTM2Mzk4LCAxMzY0MDYsIDEzNjQxMywgMTM2NDIwLCAxMzY0MjgsIDEzNjQzNiwgMTM2NDQ0LCAxMzY0NTIsIDEzNjQ2MCwgCisgICAgMTM2NDY4LCAxMzY0NzYsIDEzNjQ4NCwgMTM2NDkyLCAxMzY1MDAsIDEzNjUwOCwgMCwgMTM2NTE1LCAxMzY1MjMsIAorICAgIDEzNjUzMCwgMTM2NTM3LCAxMzY1NDUsIDEzNjU1MywgMTM2NTYxLCAxMzY1NjksIDEzNjU3NywgMTM2NTg1LCAxMzY1OTMsIAorICAgIDEzNjYwMSwgMTM2NjA5LCAxMzY2MTcsIDEzNjYyNSwgMCwgMTM2NjMxLCAxMzY2MzksIDEzNjY0NiwgMTM2NjUzLCAKKyAgICAxMzY2NjEsIDEzNjY2OSwgMTM2Njc3LCAxMzY2ODUsIDEzNjY5MywgMTM2NzAxLCAxMzY3MDksIDEzNjcxNywgMTM2NzI1LCAKKyAgICAxMzY3MzMsIDEzNjc0MSwgMTM2NzQ3LCAxMzY3NTIsIDEzNjc1NywgMTM2NzYyLCAxMzY3NjcsIDEzNjc3MiwgMTM2Nzc3LCAKKyAgICAxMzY3ODIsIDEzNjc4NywgMTM2NzkyLCAxMzY3OTcsIDEzNjgwMiwgMTM2ODA3LCAxMzY4MTIsIDEzNjgxNywgMTM2ODIyLCAKKyAgICAxMzY4MjcsIDEzNjgzMiwgMTM2ODM3LCAxMzY4NDIsIDEzNjg0NywgMTM2ODUyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAxMzY4NTcsIDEzNjg2NCwgMTM2ODY5LCAxMzY4NzMsIDEzNjg3NywgMTM2ODgxLCAxMzY4ODYsIDEzNjg5MSwgCisgICAgMTM2ODk2LCAxMzY5MDEsIDEzNjkwNiwgMTM2OTExLCAxMzY5MTgsIDAsIDAsIDAsIDEzNjkyNiwgMTM2OTMxLCAxMzY5MzcsIAorICAgIDEzNjk0MywgMTM2OTQ5LCAxMzY5NTQsIDEzNjk2MCwgMTM2OTY2LCAxMzY5NzIsIDEzNjk3NywgMTM2OTgzLCAxMzY5ODksIAorICAgIDEzNjk5NCwgMTM3MDAwLCAxMzcwMDYsIDEzNzAxMSwgMTM3MDE3LCAxMzcwMjMsIDEzNzAyOCwgMTM3MDMzLCAxMzcwMzksIAorICAgIDEzNzA0NCwgMTM3MDUwLCAxMzcwNTYsIDEzNzA2MiwgMTM3MDY4LCAxMzcwNzQsIDEzNzA4NCwgMTM3MDkxLCAxMzcwOTcsIAorICAgIDEzNzEwMCwgMCwgMTM3MTAzLCAxMzcxMDgsIDEzNzExNCwgMTM3MTIwLCAxMzcxMjYsIDEzNzEzMSwgMTM3MTM3LCAKKyAgICAxMzcxNDMsIDEzNzE0OSwgMTM3MTU0LCAxMzcxNjAsIDEzNzE2NiwgMTM3MTcxLCAxMzcxNzcsIDEzNzE4MywgMTM3MTg4LCAKKyAgICAxMzcxOTQsIDEzNzIwMCwgMTM3MjA1LCAxMzcyMTAsIDEzNzIxNiwgMTM3MjIxLCAxMzcyMjcsIDEzNzIzMywgMTM3MjM5LCAKKyAgICAxMzcyNDUsIDEzNzI1MSwgMTM3MjU0LCAxMzcyNTcsIDEzNzI2MCwgMTM3MjYzLCAxMzcyNjYsIDEzNzI2OSwgMTM3Mjc1LCAKKyAgICAxMzcyODIsIDEzNzI4OSwgMTM3Mjk2LCAxMzczMDIsIDEzNzMwOSwgMTM3MzE2LCAxMzczMjMsIDEzNzMyOSwgMTM3MzM2LCAKKyAgICAxMzczNDMsIDEzNzM0OSwgMTM3MzU2LCAxMzczNjMsIDEzNzM2OSwgMTM3Mzc2LCAxMzczODMsIDEzNzM4OSwgMTM3Mzk1LCAKKyAgICAxMzc0MDIsIDEzNzQwOCwgMTM3NDE1LCAxMzc0MjIsIDEzNzQyOSwgMTM3NDM2LCAxMzc0NDMsIDEzNzQ0OCwgMCwgMCwgMCwgCisgICAgMCwgMTM3NDUzLCAxMzc0NTksIDEzNzQ2NiwgMTM3NDczLCAxMzc0ODAsIDEzNzQ4NiwgMTM3NDkzLCAxMzc1MDAsIAorICAgIDEzNzUwNywgMTM3NTEzLCAxMzc1MjAsIDEzNzUyNywgMTM3NTMzLCAxMzc1NDAsIDEzNzU0NywgMTM3NTUzLCAxMzc1NjAsIAorICAgIDEzNzU2NywgMTM3NTczLCAxMzc1NzksIDEzNzU4NiwgMTM3NTkyLCAxMzc1OTksIDEzNzYwNiwgMTM3NjEzLCAxMzc2MjAsIAorICAgIDEzNzYyNywgMTM3NjM2LCAxMzc2NDAsIDEzNzY0MywgMTM3NjQ3LCAxMzc2NTEsIDEzNzY1NSwgMTM3NjU4LCAxMzc2NjEsIAorICAgIDEzNzY2NCwgMTM3NjY3LCAxMzc2NzAsIDEzNzY3MywgMTM3Njc2LCAxMzc2NzksIDEzNzY4MiwgMTM3Njg4LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAxMzc2OTEsIDEzNzY5OCwgMTM3NzA2LCAxMzc3MTQsIDEzNzcyMiwgMTM3NzI5LCAxMzc3MzcsIDEzNzc0NSwgMTM3NzUzLCAKKyAgICAxMzc3NjAsIDEzNzc2OCwgMTM3Nzc2LCAxMzc3ODMsIDEzNzc5MSwgMTM3Nzk5LCAxMzc4MDYsIDEzNzgxNCwgMTM3ODIyLCAKKyAgICAxMzc4MjksIDEzNzgzNiwgMTM3ODQ0LCAxMzc4NTEsIDEzNzg1OSwgMTM3ODY3LCAxMzc4NzUsIDEzNzg4MywgMTM3ODkxLCAKKyAgICAxMzc4OTUsIDEzNzg5OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTM3OTAzLCAxMzc5MDksIAorICAgIDEzNzkxNSwgMTM3OTIxLCAxMzc5MjUsIDEzNzkzMSwgMTM3OTM3LCAxMzc5NDMsIDEzNzk0OSwgMTM3OTU1LCAxMzc5NjEsIAorICAgIDEzNzk2NywgMTM3OTczLCAxMzc5NzksIDEzNzk4NSwgMTM3OTkxLCAxMzc5OTcsIDEzODAwMywgMTM4MDA5LCAxMzgwMTUsIAorICAgIDEzODAyMSwgMTM4MDI3LCAxMzgwMzMsIDEzODAzOSwgMTM4MDQ1LCAxMzgwNTEsIDEzODA1NywgMTM4MDYzLCAxMzgwNjksIAorICAgIDEzODA3NSwgMTM4MDgxLCAxMzgwODcsIDEzODA5MywgMTM4MDk5LCAxMzgxMDUsIDEzODExMSwgMTM4MTE3LCAxMzgxMjMsIAorICAgIDEzODEyOSwgMTM4MTM1LCAxMzgxNDEsIDEzODE0NywgMTM4MTUzLCAwLCAwLCAwLCAwLCAwLCAxMzgxNTksIDEzODE3MCwgCisgICAgMTM4MTgxLCAxMzgxOTIsIDEzODIwMywgMTM4MjE0LCAxMzgyMjUsIDEzODIzNiwgMTM4MjQ3LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAxMzgyNTgsIDEzODI2MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTM4MjY2LCAxMzgyNjgsIDEzODI3MCwgMTM4Mjc0LCAKKyAgICAxMzgyNzksIDEzODI4NCwgMTM4Mjg2LCAxMzgyOTIsIDEzODI5NywgMTM4Mjk5LCAxMzgzMDUsIDEzODMwOSwgMTM4MzExLCAKKyAgICAxMzgzMTUsIDEzODMyMSwgMTM4MzI3LCAxMzgzMzMsIDEzODMzOCwgMTM4MzQyLCAxMzgzNDksIDEzODM1NiwgMTM4MzYzLCAKKyAgICAxMzgzNjgsIDEzODM3NSwgMTM4MzgyLCAxMzgzODksIDEzODM5MywgMTM4Mzk5LCAxMzg0MDgsIDEzODQxNywgMTM4NDI0LCAKKyAgICAxMzg0MjksIDEzODQzMywgMTM4NDM3LCAxMzg0MzksIDEzODQ0MiwgMTM4NDQ1LCAxMzg0NTIsIDEzODQ1OSwgMTM4NDY5LCAKKyAgICAxMzg0NzQsIDEzODQ3OSwgMTM4NDg0LCAxMzg0ODksIDEzODQ5MSwgMCwgMCwgMCwgMTM4NDk3LCAxMzg0OTksIDEzODUwMSwgCisgICAgMTM4NTA1LCAxMzg1MDksIDEzODUxMywgMTM4NTE1LCAxMzg1MTksIDEzODUyMSwgMTM4NTI1LCAxMzg1MjcsIDEzODUyOSwgCisgICAgMTM4NTMxLCAxMzg1MzMsIDEzODUzOCwgMTM4NTQzLCAxMzg1NDUsIDEzODU1MSwgMTM4NTU1LCAxMzg1NTksIDEzODU2NywgCisgICAgMTM4NTY5LCAxMzg1NzEsIDEzODU3MywgMTM4NTc1LCAxMzg1NzcsIDEzODU3OSwgMTM4NTgxLCAxMzg1ODMsIDEzODU4NSwgCisgICAgMTM4NTg3LCAxMzg1OTEsIDEzODU5NSwgMTM4NTk3LCAxMzg1OTksIDEzODYwMSwgMTM4NjAzLCAxMzg2MDUsIDEzODYxMCwgCisgICAgMTM4NjE2LCAxMzg2MjAsIDEzODYyNCwgMTM4NjI4LCAxMzg2MzIsIDEzODYzNywgMTM4NjQxLCAxMzg2NDMsIDEzODY0NSwgCisgICAgMTM4NjQ5LCAxMzg2NTUsIDEzODY1NywgMTM4NjU5LCAxMzg2NjEsIDEzODY2NSwgMTM4Njc0LCAxMzg2ODAsIDEzODY4NCwgCisgICAgMTM4Njg4LCAxMzg2OTAsIDEzODY5MiwgMTM4Njk1LCAxMzg2OTcsIDEzODY5OSwgMTM4NzAxLCAxMzg3MDUsIDEzODcwNywgCisgICAgMTM4NzExLCAxMzg3MTYsIDEzODcxOCwgMTM4NzIzLCAxMzg3MjksIDEzODczNiwgMTM4NzQwLCAxMzg3NDQsIDEzODc0OCwgCisgICAgMTM4NzUyLCAxMzg3NTgsIDEzODc2MiwgMCwgMCwgMTM4NzcwLCAxMzg3NzIsIDEzODc3NiwgMTM4NzgwLCAxMzg3ODIsIAorICAgIDEzODc4NiwgMTM4NzkwLCAxMzg3OTIsIDEzODc5NiwgMTM4Nzk4LCAxMzg4MDIsIDEzODgwNiwgMTM4ODEwLCAxMzg4MTQsIAorICAgIDEzODgxOCwgMTM4ODIyLCAxMzg4MjYsIDEzODgzMCwgMTM4ODM2LCAxMzg4NDAsIDEzODg0NCwgMTM4ODU1LCAxMzg4NjAsIAorICAgIDEzODg2NCwgMTM4ODY4LCAxMzg4NzQsIDEzODg3OCwgMTM4ODgyLCAxMzg4ODYsIDEzODg5MywgMTM4OTAwLCAxMzg5MDQsIAorICAgIDEzODkwOCwgMTM4OTEyLCAxMzg5MTYsIDEzODkyMCwgMTM4OTI3LCAxMzg5MjksIDEzODkzMywgMTM4OTM1LCAxMzg5MzcsIAorICAgIDEzODk0MSwgMTM4OTQ1LCAxMzg5NDksIDEzODk1MSwgMTM4OTU1LCAxMzg5NTksIDEzODk2MywgMTM4OTY3LCAxMzg5NzEsIAorICAgIDEzODk3MywgMTM4OTc3LCAxMzg5NzksIDEzODk4NSwgMTM4OTg4LCAxMzg5OTMsIDEzODk5NSwgMTM4OTk3LCAxMzkwMDAsIAorICAgIDEzOTAwMiwgMTM5MDA0LCAxMzkwMDcsIDEzOTAxNCwgMTM5MDIxLCAxMzkwMjgsIDEzOTAzMywgMTM5MDM3LCAxMzkwMzksIAorICAgIDEzOTA0MSwgMTM5MDQzLCAxMzkwNDcsIDEzOTA0OSwgMTM5MDUzLCAxMzkwNTcsIDEzOTA2MSwgMTM5MDYzLCAxMzkwNjcsIAorICAgIDEzOTA2OSwgMTM5MDczLCAwLCAwLCAwLCAwLCAwLCAxMzkwNzcsIDEzOTA4MywgMTM5MDg1LCAxMzkwOTAsIDEzOTA5NCwgCisgICAgMTM5MDk4LCAxMzkxMDAsIDEzOTEwNiwgMTM5MTEwLCAxMzkxMTIsIDEzOTExNiwgMTM5MTIwLCAxMzkxMjIsIDEzOTEyNiwgCisgICAgMTM5MTMxLCAxMzkxMzUsIDEzOTE0MSwgMTM5MTQ3LCAxMzkxNDksIDEzOTE1MSwgMTM5MTU3LCAxMzkxNTksIDEzOTE2MywgCisgICAgMTM5MTY3LCAxMzkxNjksIDEzOTE3MywgMTM5MTc1LCAxMzkxNzksIDEzOTE4MywgMTM5MTg3LCAxMzkxOTAsIDEzOTE5MywgCisgICAgMTM5MTk4LCAxMzkyMDMsIDEzOTIwNSwgMTM5MjA4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzkyMTAsIDEzOTIxMiwgCisgICAgMTM5MjE0LCAxMzkyMTYsIDEzOTIyMCwgMTM5MjIyLCAxMzkyMjQsIDEzOTIyNiwgMTM5MjI4LCAxMzkyMzAsIDEzOTIzMiwgCisgICAgMTM5MjM0LCAxMzkyMzYsIDEzOTIzOCwgMTM5MjQwLCAxMzkyNDIsIDEzOTI0NCwgMTM5MjQ2LCAxMzkyNDgsIDEzOTI1MCwgCisgICAgMTM5MjUyLCAxMzkyNTQsIDEzOTI1NiwgMTM5MjU4LCAxMzkyNjAsIDEzOTI2MiwgMTM5MjY0LCAxMzkyNjgsIDEzOTI3MCwgCisgICAgMTM5MjcyLCAxMzkyNzQsIDEzOTI3OCwgMTM5MjgwLCAxMzkyODQsIDEzOTI4NiwgMTM5Mjg4LCAxMzkyOTIsIDEzOTI5NiwgCisgICAgMTM5MzAyLCAxMzkzMDQsIDEzOTMwNiwgMTM5MzA4LCAxMzkzMTAsIDEzOTMxNCwgMTM5MzE4LCAxMzkzMjAsIDEzOTMyNCwgCisgICAgMTM5MzI4LCAxMzkzMzIsIDEzOTMzNiwgMTM5MzQwLCAxMzkzNDQsIDEzOTM0OCwgMTM5MzUyLCAxMzkzNTYsIDEzOTM2MCwgCisgICAgMTM5MzY0LCAxMzkzNjgsIDEzOTM3MiwgMTM5Mzc2LCAxMzkzODAsIDEzOTM4NCwgMTM5Mzg4LCAxMzkzOTIsIDEzOTM5NCwgCisgICAgMTM5Mzk2LCAxMzkzOTgsIDEzOTQwMCwgMTM5NDAyLCAxMzk0MDQsIDEzOTQwNiwgMTM5NDE0LCAxMzk0MjIsIDEzOTQzMCwgCisgICAgMTM5NDM4LCAxMzk0NDMsIDEzOTQ0OCwgMTM5NDUzLCAxMzk0NTcsIDEzOTQ2MSwgMTM5NDY2LCAxMzk0NzEsIDEzOTQ3MywgCisgICAgMTM5NDc3LCAxMzk0NzksIDEzOTQ4MSwgMTM5NDgzLCAxMzk0ODUsIDEzOTQ4NywgMTM5NDg5LCAxMzk0OTEsIDEzOTQ5NSwgCisgICAgMTM5NDk3LCAxMzk0OTksIDEzOTUwMSwgMTM5NTA1LCAxMzk1MDksIDEzOTUxMywgMTM5NTE3LCAxMzk1MjEsIDEzOTUyMywgCisgICAgMTM5NTI5LCAxMzk1MzUsIDEzOTUzNywgMTM5NTM5LCAxMzk1NDEsIDEzOTU0MywgMTM5NTQ1LCAxMzk1NTQsIDEzOTU2MSwgCisgICAgMTM5NTY4LCAxMzk1NzIsIDEzOTU3OSwgMTM5NTg0LCAxMzk1OTEsIDEzOTYwMCwgMTM5NjA1LCAxMzk2MDksIDEzOTYxMywgCisgICAgMTM5NjE1LCAxMzk2MTksIDEzOTYyMSwgMTM5NjI1LCAxMzk2MjksIDEzOTYzMSwgMTM5NjM1LCAxMzk2MzksIDEzOTY0MywgCisgICAgMTM5NjQ1LCAxMzk2NDcsIDEzOTY1MywgMTM5NjU1LCAxMzk2NTcsIDEzOTY1OSwgMTM5NjYzLCAxMzk2NjcsIDEzOTY2OSwgCisgICAgMTM5NjczLCAxMzk2NzUsIDEzOTY3NywgMTM5NjgwLCAxMzk2ODQsIDEzOTY4NiwgMTM5NjkwLCAxMzk2OTIsIDEzOTY5NCwgCisgICAgMTM5Njk5LCAxMzk3MDEsIDEzOTcwNSwgMTM5NzA5LCAxMzk3MTIsIDEzOTcxNiwgMTM5NzIwLCAxMzk3MjQsIDEzOTcyOCwgCisgICAgMTM5NzMyLCAxMzk3MzYsIDEzOTc0MCwgMTM5NzQ1LCAxMzk3NDksIDEzOTc1MywgMTM5NzYyLCAxMzk3NjcsIDEzOTc3MCwgCisgICAgMTM5NzcyLCAxMzk3NzUsIDEzOTc3OCwgMTM5NzgzLCAxMzk3ODUsIDEzOTc4OCwgMTM5NzkzLCAxMzk3OTcsIDEzOTgwMCwgCisgICAgMTM5ODA0LCAxMzk4MDgsIDEzOTgxMSwgMTM5ODE2LCAxMzk4MjAsIDEzOTgyNCwgMTM5ODI4LCAxMzk4MzIsIDEzOTgzOCwgCisgICAgMTM5ODQ0LCAxMzk4NTAsIDEzOTg1NiwgMTM5ODYxLCAxMzk4NzEsIDEzOTg3MywgMTM5ODc3LCAxMzk4NzksIDEzOTg4MSwgCisgICAgMTM5ODg1LCAxMzk4ODksIDEzOTg5MSwgMTM5ODk1LCAxMzk5MDEsIDEzOTkwNiwgMTM5OTEyLCAxMzk5MTQsIDEzOTkxOCwgCisgICAgMTM5OTIxLCAxMzk5MjcsIDEzOTkzMywgMTM5OTM3LCAxMzk5MzksIDEzOTk0MSwgMTM5OTQ1LCAxMzk5NDcsIDEzOTk1MSwgCisgICAgMTM5OTU1LCAxMzk5NTksIDEzOTk2MSwgMTM5OTYzLCAxMzk5NzAsIDEzOTk3NCwgMTM5OTc4LCAxMzk5ODIsIDEzOTk4NiwgCisgICAgMTM5OTkwLCAxMzk5OTIsIDEzOTk5NiwgMTM5OTk4LCAxNDAwMDAsIDE0MDAwNCwgMTQwMDA2LCAxNDAwMTAsIDE0MDAxNCwgCisgICAgMTQwMDIwLCAxNDAwMjQsIDE0MDAyOCwgMTQwMDMyLCAxNDAwMzQsIDE0MDAzNywgMTQwMDQxLCAxNDAwNDcsIDE0MDA1NiwgCisgICAgMTQwMDY1LCAxNDAwNzQsIDE0MDA4MywgMTQwMDg1LCAxNDAwODksIDE0MDA5MSwgMTQwMDk1LCAxNDAxMDYsIDE0MDExMCwgCisgICAgMTQwMTE2LCAxNDAxMjIsIDE0MDEyNywgMTQwMTI5LCAxNDAxMzQsIDE0MDEzOCwgMTQwMTQwLCAxNDAxNDIsIDE0MDE0NCwgCisgICAgMTQwMTQ4LCAwLCAxNDAxNTIsIDE0MDE1NywgMTQwMTY4LCAxNDAxODQsIDE0MDE5NSwgMTQwMjA2LCAxNDAyMTAsIAorICAgIDE0MDIxNCwgMTQwMjIwLCAxNDAyMjIsIDE0MDIzMCwgMTQwMjM4LCAxNDAyNDAsIDE0MDI0NCwgMTQwMjUwLCAxNDAyNTYsIAorICAgIDE0MDI2MywgMTQwMjcwLCAxNDAyNzIsIDE0MDI3NCwgMTQwMjc4LCAxNDAyODAsIDE0MDI4NiwgMTQwMjg4LCAxNDAyOTEsIAorICAgIDE0MDI5NSwgMTQwMzAxLCAxNDAzMDcsIDE0MDMxOCwgMTQwMzI0LCAxNDAzMzAsIDE0MDMzOCwgMTQwMzQyLCAxNDAzNTAsIAorICAgIDE0MDM1OCwgMTQwMzY0LCAxNDAzNzAsIDE0MDM3NywgMTQwMzc5LCAxNDAzODMsIDE0MDM4NSwgMTQwMzg3LCAxNDAzOTIsIAorICAgIDE0MDM5NCwgMTQwMzk2LCAxNDAzOTgsIDE0MDQwMCwgMTQwNDA0LCAxNDA0MTUsIDE0MDQyMSwgMTQwNDI1LCAxNDA0MjksIAorICAgIDE0MDQzMywgMTQwNDM5LCAxNDA0NDUsIDE0MDQ1MSwgMTQwNDU3LCAxNDA0NjIsIDE0MDQ2NywgMTQwNDczLCAxNDA0NzksIAorICAgIDE0MDQ4NiwgMTQwNDkzLCAxNDA1MDEsIDE0MDUwOSwgMTQwNTE0LCAxNDA1MjIsIDE0MDUyNiwgMTQwNTM1LCAxNDA1NDQsIAorICAgIDE0MDU1MCwgMTQwNTU0LCAxNDA1NTgsIDE0MDU2MiwgMTQwNTY1LCAwLCAwLCAwLCAwLCAwLCAxNDA1NzAsIDE0MDU3NywgCisgICAgMTQwNTg0LCAxNDA1OTEsIDE0MDU5OSwgMTQwNjA3LCAxNDA2MTUsIDE0MDYyMywgMTQwNjMxLCAxNDA2MzksIDE0MDY0NywgCisgICAgMTQwNjU1LCAxNDA2NjMsIDE0MDY2OSwgMTQwNjc1LCAxNDA2ODEsIDE0MDY4NywgMTQwNjkzLCAxNDA2OTksIDE0MDcwNSwgCisgICAgMTQwNzExLCAxNDA3MTcsIDE0MDcyMywgMTQwNzI5LCAxNDA3MzUsIDE0MDczOCwgMTQwNzQ3LCAxNDA3NTYsIDE0MDc1OCwgCisgICAgMTQwNzY1LCAxNDA3NjksIDE0MDc3MSwgMTQwNzczLCAxNDA3NzcsIDE0MDc4MywgMTQwNzg3LCAxNDA3ODksIDE0MDc5OSwgCisgICAgMTQwODA1LCAxNDA4MDksIDE0MDgxMSwgMTQwODE1LCAwLCAxNDA4MTcsIDE0MDgyNCwgMTQwODMxLCAxNDA4MzgsIAorICAgIDE0MDg0MywgMTQwODQ4LCAxNDA4NTcsIDE0MDg2MywgMTQwODY4LCAxNDA4NzIsIDE0MDg3NywgMTQwODgxLCAxNDA4ODgsIAorICAgIDE0MDg5MiwgMTQwODk1LCAxNDA5MDAsIDE0MDkwNywgMTQwOTE0LCAxNDA5MTksIDE0MDkyNCwgMTQwOTI5LCAxNDA5MzUsIAorICAgIDE0MDk0NCwgMTQwOTU1LCAxNDA5NjEsIDE0MDk2NywgMTQwOTczLCAxNDA5ODQsIDE0MTAwMCwgMTQxMDA5LCAxNDEwMTcsIAorICAgIDE0MTAyNSwgMTQxMDMzLCAxNDEwNDEsIDE0MTA0OSwgMTQxMDU3LCAxNDEwNjUsIDE0MTA3MywgMTQxMDgxLCAxNDEwODksIAorICAgIDE0MTA5NywgMCwgMTQxMTA1LCAxNDExMDksIDE0MTExNCwgMTQxMTE5LCAxNDExMjEsIDE0MTEyNSwgMTQxMTM0LCAKKyAgICAxNDExNDMsIDE0MTE1MSwgMTQxMTU1LCAxNDExNTksIDE0MTE2NCwgMTQxMTY5LCAxNDExNzQsIDE0MTE3NiwgMTQxMTgxLCAKKyAgICAxNDExODUsIDE0MTE4NywgMTQxMTkxLCAxNDExOTUsIDE0MTIwMSwgMTQxMjA2LCAxNDEyMTQsIDE0MTIxOSwgMTQxMjI0LCAKKyAgICAxNDEyMjksIDE0MTIzNiwgMTQxMjM5LCAxNDEyNDEsIDE0MTI0NSwgMTQxMjUwLCAxNDEyNTUsIDE0MTI1OSwgMTQxMjYzLCAKKyAgICAxNDEyNjksIDE0MTI3NSwgMTQxMjc3LCAxNDEyODEsIDE0MTI4NSwgMTQxMjg5LCAxNDEyOTMsIDE0MTI5NywgMTQxMjk5LCAKKyAgICAxNDEzMDEsIDE0MTMwMywgMTQxMzA1LCAxNDEzMTEsIDE0MTMxNywgMTQxMzIxLCAxNDEzMjMsIDE0MTMyNSwgMTQxMzI3LCAKKyAgICAxNDEzMzYsIDE0MTM0MCwgMTQxMzQ3LCAxNDEzNTQsIDE0MTM1NiwgMTQxMzU5LCAxNDEzNjMsIDE0MTM2OSwgMTQxMzczLCAKKyAgICAxNDEzNzcsIDE0MTM3OSwgMTQxMzg3LCAxNDEzOTEsIDE0MTM5NSwgMTQxNDAwLCAxNDE0MDUsIDE0MTQxMCwgMTQxNDE1LCAKKyAgICAxNDE0MjAsIDE0MTQyNSwgMTQxNDMwLCAxNDE0MzUsIDE0MTQ0MCwgMTQxNDQ1LCAxNDE0NDksIDE0MTQ1NSwgMTQxNDU5LCAKKyAgICAxNDE0NjUsIDE0MTQ3MCwgMTQxNDc3LCAxNDE0ODMsIDE0MTQ5MSwgMTQxNDk1LCAxNDE1MDIsIDE0MTUwNiwgMTQxNTEwLCAKKyAgICAxNDE1MTQsIDE0MTUxOSwgMTQxNTI0LCAxNDE1MjYsIDE0MTUzMCwgMTQxNTM5LCAxNDE1NDcsIDE0MTU1NiwgMTQxNTcwLCAKKyAgICAxNDE1ODQsIDE0MTU5OCwgMTQxNjA1LCAxNDE2MTIsIDE0MTYxNiwgMTQxNjI1LCAxNDE2MzMsIDE0MTYzNywgMTQxNjQ2LCAKKyAgICAxNDE2NTMsIDE0MTY1NywgMTQxNjYxLCAxNDE2NjUsIDE0MTY2OSwgMTQxNjc2LCAxNDE2ODAsIDE0MTY4NCwgMTQxNjg4LCAKKyAgICAxNDE2OTIsIDE0MTY5OSwgMTQxNzA4LCAxNDE3MTcsIDE0MTcyNCwgMTQxNzM2LCAxNDE3NDgsIDE0MTc1MiwgMTQxNzU2LCAKKyAgICAxNDE3NjAsIDE0MTc2NCwgMTQxNzY4LCAxNDE3NzIsIDE0MTc4MCwgMTQxNzg4LCAxNDE3OTcsIDE0MTgwMSwgMTQxODA1LCAKKyAgICAxNDE4MDksIDE0MTgxMywgMTQxODE3LCAxNDE4MjEsIDE0MTgyNywgMTQxODM0LCAxNDE4MzgsIDE0MTg1MCwgMTQxODU4LCAKKyAgICAxNDE4NjIsIDE0MTg2NiwgMTQxODcwLCAxNDE4NzQsIDE0MTg4MCwgMTQxODg3LCAxNDE4OTgsIDE0MTkwOCwgMTQxOTE5LCAKKyAgICAxNDE5MzAsIDE0MTkzOSwgMTQxOTUwLCAxNDE5NTYsIDE0MTk2MiwgMTQxOTY4LCAxNDE5NzQsIDAsIDAsIDE0MTk4MCwgCisgICAgMTQxOTg5LCAxNDE5OTYsIDE0MjAwMiwgMTQyMDA2LCAxNDIwMTAsIDE0MjAxNCwgMTQyMDIzLCAxNDIwMzUsIDE0MjAzOSwgCisgICAgMTQyMDQ2LCAxNDIwNTMsIDE0MjA2MCwgMTQyMDY3LCAxNDIwNzQsIDE0MjA4MSwgMTQyMDg5LCAxNDIwOTcsIDE0MjEwNSwgCisgICAgMTQyMTEzLCAxNDIxMjIsIDE0MjEzMSwgMTQyMTQwLCAxNDIxNDksIDE0MjE1OSwgMTQyMTY5LCAxNDIxNzksIDE0MjE4OSwgCisgICAgMTQyMTk2LCAxNDIyMDMsIDE0MjIxMCwgMTQyMjE3LCAxNDIyMjUsIDE0MjIzMywgMTQyMjQxLCAxNDIyNDksIDE0MjI1NiwgCisgICAgMTQyMjY4LCAxNDIyNzUsIDE0MjI4NywgMTQyMjkwLCAxNDIyOTMsIDE0MjI5NiwgMTQyMjk5LCAxNDIzMDUsIDE0MjMxMiwgCisgICAgMTQyMzE5LCAxNDIzMjcsIDE0MjMzMiwgMTQyMzM4LCAxNDIzNDksIDE0MjM1OSwgMTQyMzcwLCAxNDIzNzUsIDE0MjM4MCwgCisgICAgMTQyMzg2LCAxNDIzOTEsIDE0MjM5OCwgMTQyNDAyLCAxNDI0MDgsIDE0MjQxMCwgMTQyNDEyLCAxNDI0MTYsIDE0MjQyMCwgCisgICAgMTQyNDI0LCAxNDI0MzMsIDE0MjQzNSwgMTQyNDM3LCAxNDI0NDAsIDE0MjQ0MiwgMTQyNDQ0LCAxNDI0NDgsIDE0MjQ1MCwgCisgICAgMTQyNDU0LCAxNDI0NTYsIDE0MjQ2MCwgMTQyNDYyLCAxNDI0NjQsIDE0MjQ2OCwgMTQyNDcyLCAxNDI0NzgsIDE0MjQ4MCwgCisgICAgMTQyNDg0LCAxNDI0ODYsIDE0MjQ5MCwgMTQyNDk0LCAxNDI0OTgsIDE0MjUwMiwgMTQyNTA0LCAxNDI1MDYsIDE0MjUxMCwgCisgICAgMTQyNTE0LCAxNDI1MTgsIDE0MjUyMiwgMTQyNTI0LCAxNDI1MjYsIDE0MjUyOCwgMTQyNTMzLCAxNDI1MzgsIDE0MjU0MSwgCisgICAgMTQyNTQ5LCAxNDI1NTcsIDE0MjU1OSwgMTQyNTY0LCAxNDI1NjcsIDE0MjU3MiwgMTQyNTgzLCAxNDI1OTAsIDE0MjU5NSwgCisgICAgMTQyNjAwLCAxNDI2MDIsIDE0MjYwNiwgMTQyNjA4LCAxNDI2MTIsIDE0MjYxNCwgMTQyNjE4LCAxNDI2MjIsIDE0MjYyNSwgCisgICAgMTQyNjI4LCAxNDI2MzAsIDE0MjYzMywgMTQyNjM1LCAxNDI2MzksIDE0MjY0MSwgMTQyNjQzLCAxNDI2NDUsIDE0MjY0OSwgCisgICAgMTQyNjUxLCAxNDI2NTUsIDE0MjY1OCwgMTQyNjY1LCAxNDI2NjgsIDE0MjY3MywgMTQyNjc2LCAxNDI2NzksIDE0MjY4NCwgCisgICAgMTQyNjg4LCAxNDI2OTIsIDE0MjY5NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMTQyNjk4LCAxNDI3MDMsIDE0MjcwNSwgMTQyNzA5LCAxNDI3MTEsIDE0MjcxNSwgMTQyNzE5LCAxNDI3MjUsIDE0MjcyOSwgCisgICAgMTQyNzM0LCAxNDI3MzcsIDE0Mjc0MSwgMTQyNzQ1LCAwLCAwLCAwLCAxNDI3NDksIDE0Mjc1MSwgMTQyNzU3LCAxNDI3NjEsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0Mjc2NSwgMTQyNzcwLCAxNDI3NzUsIDE0Mjc4MCwgCisgICAgMTQyNzg1LCAxNDI3OTAsIDE0Mjc5NSwgMTQyODAyLCAxNDI4MDksIDE0MjgxNiwgMTQyODIzLCAxNDI4MjgsIDE0MjgzMywgCisgICAgMTQyODM4LCAxNDI4NDMsIDE0Mjg1MCwgMTQyODU2LCAxNDI4NjMsIDE0Mjg3MCwgMTQyODc3LCAxNDI4ODIsIDE0Mjg4NywgCisgICAgMTQyODkyLCAxNDI4OTcsIDE0MjkwMiwgMTQyOTA5LCAxNDI5MTYsIDE0MjkyMSwgMTQyOTI2LCAxNDI5MzMsIDE0Mjk0MCwgCisgICAgMTQyOTQ4LCAxNDI5NTYsIDE0Mjk2MywgMTQyOTcwLCAxNDI5NzgsIDE0Mjk4NiwgMTQyOTk0LCAxNDMwMDEsIDE0MzAxMSwgCisgICAgMTQzMDIyLCAxNDMwMjcsIDE0MzAzNCwgMTQzMDQxLCAxNDMwNDgsIDE0MzA1NiwgMTQzMDY0LCAxNDMwNzUsIDE0MzA4MywgCisgICAgMTQzMDkxLCAxNDMwOTksIDE0MzEwNCwgMTQzMTA5LCAxNDMxMTQsIDE0MzExOSwgMTQzMTI0LCAxNDMxMjksIDE0MzEzNCwgCisgICAgMTQzMTM5LCAxNDMxNDQsIDE0MzE0OSwgMTQzMTU0LCAxNDMxNTksIDE0MzE2NiwgMTQzMTcxLCAxNDMxNzYsIDE0MzE4MywgCisgICAgMTQzMTg4LCAxNDMxOTMsIDE0MzE5OCwgMTQzMjAzLCAxNDMyMDgsIDE0MzIxMywgMTQzMjE4LCAxNDMyMjMsIDE0MzIyOCwgCisgICAgMTQzMjMzLCAxNDMyMzgsIDE0MzI0MywgMTQzMjUwLCAxNDMyNTgsIDE0MzI2MywgMTQzMjY4LCAxNDMyNzUsIDE0MzI4MCwgCisgICAgMTQzMjg1LCAxNDMyOTAsIDE0MzI5NywgMTQzMzAyLCAxNDMzMDksIDE0MzMxNCwgMTQzMzIxLCAxNDMzMjYsIDE0MzMzNSwgCisgICAgMTQzMzQ0LCAxNDMzNDksIDE0MzM1NCwgMTQzMzU5LCAxNDMzNjQsIDE0MzM2OSwgMTQzMzc0LCAxNDMzNzksIDE0MzM4NCwgCisgICAgMTQzMzg5LCAxNDMzOTQsIDE0MzM5OSwgMTQzNDA0LCAxNDM0MDksIDE0MzQxNywgMTQzNDI1LCAxNDM0MzAsIDE0MzQzNSwgCisgICAgMTQzNDQwLCAxNDM0NDUsIDE0MzQ1MCwgMTQzNDU2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAxNDM0NjIsIDE0MzQ3MCwgMTQzNDc4LCAxNDM0ODYsIDE0MzQ5NCwgMTQzNTAwLCAxNDM1MDYsIDE0MzUxMCwgMTQzNTE0LCAKKyAgICAxNDM1MjAsIDE0MzUyNiwgMTQzNTM1LCAxNDM1MzksIDE0MzU0NCwgMTQzNTUwLCAxNDM1NTQsIDE0MzU1OSwgMTQzNTYzLCAKKyAgICAxNDM1NjcsIDE0MzU3MywgMTQzNTc5LCAxNDM1ODksIDE0MzU5OCwgMTQzNjAxLCAxNDM2MDYsIDE0MzYxMiwgMTQzNjE4LCAKKyAgICAxNDM2MjksIDE0MzYzOSwgMTQzNjQzLCAxNDM2NDgsIDE0MzY1NCwgMTQzNjYwLCAxNDM2NjksIDE0MzY3NCwgMTQzNjc4LCAKKyAgICAxNDM2ODMsIDE0MzY4NywgMTQzNjkzLCAxNDM2OTksIDE0MzcwNSwgMTQzNzA5LCAxNDM3MTIsIDE0MzcxNiwgMTQzNzE5LCAKKyAgICAxNDM3MjIsIDE0MzcyNywgMTQzNzMyLCAxNDM3MzksIDE0Mzc0NywgMTQzNzU0LCAxNDM3NjEsIDE0Mzc3MCwgMTQzNzc5LCAKKyAgICAxNDM3ODYsIDE0Mzc5NCwgMTQzODAxLCAxNDM4MDgsIDE0MzgxNywgMTQzODI2LCAxNDM4MzMsIDE0Mzg0MSwgMTQzODQ4LCAKKyAgICAxNDM4NTUsIDE0Mzg2NCwgMTQzODcxLCAxNDM4NzksIDE0Mzg4NSwgMTQzODk0LCAxNDM5MDIsIDE0MzkxMSwgMTQzOTE4LCAKKyAgICAxNDM5MjgsIDE0MzkzOSwgMTQzOTQ3LCAxNDM5NTUsIDE0Mzk2NCwgMTQzOTcyLCAxNDM5ODAsIDE0Mzk4OSwgMTQzOTk3LCAKKyAgICAxNDQwMDcsIDE0NDAxNiwgMTQ0MDI0LCAxNDQwMzIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDE0NDA0MSwgMTQ0MDQ5LCAxNDQwNTcsIDE0NDA2NSwgMTQ0MDczLCAxNDQwODIsIDE0NDA5MSwgCisgICAgMTQ0MTAwLCAxNDQxMDksIDE0NDExOCwgMTQ0MTI3LCAxNDQxMzYsIDAsIDAsIDAsIDAsIDE0NDE0NSwgMTQ0MTUzLCAKKyAgICAxNDQxNjEsIDE0NDE2OSwgMTQ0MTc3LCAxNDQxODQsIDE0NDE5MSwgMTQ0MTk4LCAxNDQyMDUsIDE0NDIxMywgMTQ0MjIxLCAKKyAgICAxNDQyMjksIDE0NDIzNywgMTQ0MjQ3LCAxNDQyNTcsIDE0NDI2NywgMTQ0Mjc3LCAxNDQyODYsIDE0NDI5NSwgMTQ0MzA0LCAKKyAgICAxNDQzMTMsIDE0NDMyMiwgMTQ0MzMxLCAxNDQzNDAsIDE0NDM0OSwgMTQ0MzU3LCAxNDQzNjUsIDE0NDM3MywgMTQ0MzgxLCAKKyAgICAxNDQzODksIDE0NDM5NywgMTQ0NDA1LCAxNDQ0MTMsIDE0NDQyMywgMTQ0NDMzLCAxNDQ0NDMsIDE0NDQ1MywgMTQ0NDU3LCAKKyAgICAxNDQ0NjEsIDE0NDQ2NSwgMTQ0NDY5LCAxNDQ0NzIsIDE0NDQ3NSwgMTQ0NDc4LCAxNDQ0ODEsIDE0NDQ4NSwgMTQ0NDg5LCAKKyAgICAxNDQ0OTMsIDE0NDQ5NywgMTQ0NTAyLCAxNDQ1MDcsIDE0NDUxMiwgMTQ0NTE3LCAxNDQ1MjAsIDE0NDUyMywgMTQ0NTI2LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDQ1MjksIDE0NDUzMiwgMTQ0NTM1LCAxNDQ1MzgsIDE0NDU0MSwgMTQ0NTQ2LCAKKyAgICAxNDQ1NTEsIDE0NDU1NiwgMTQ0NTYxLCAxNDQ1NjUsIDAsIDAsIDAsIDAsIDAsIDAsIDE0NDU2OSwgMTQ0NTc1LCAxNDQ1ODEsIAorICAgIDE0NDU4NywgMTQ0NTkzLCAxNDQ2MDEsIDE0NDYwOSwgMTQ0NjE3LCAxNDQ2MjUsIDE0NDYzMCwgMTQ0NjM1LCAxNDQ2NDAsIAorICAgIDE0NDY0NSwgMTQ0NjUyLCAxNDQ2NTksIDE0NDY2NiwgMTQ0NjczLCAxNDQ2ODAsIDE0NDY4NywgMTQ0Njk0LCAxNDQ3MDEsIAorICAgIDE0NDcxMCwgMTQ0NzE5LCAxNDQ3MjgsIDE0NDczNywgMTQ0NzQzLCAxNDQ3NDksIDE0NDc1NSwgMTQ0NzYxLCAxNDQ3NjksIAorICAgIDE0NDc3NywgMTQ0Nzg1LCAxNDQ3OTMsIDE0NDgwMSwgMTQ0ODA5LCAxNDQ4MTcsIDE0NDgyNSwgMTQ0ODM1LCAxNDQ4NDUsIAorICAgIDE0NDg1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQ0ODY1LCAxNDQ4NzAsIDE0NDg3NSwgMTQ0ODgwLCAxNDQ4ODUsIAorICAgIDE0NDg5NCwgMTQ0OTAzLCAxNDQ5MTIsIDE0NDkyMSwgMTQ0OTI4LCAxNDQ5MzUsIDE0NDk0MiwgMTQ0OTQ5LCAxNDQ5NTYsIAorICAgIDE0NDk2NSwgMTQ0OTc0LCAxNDQ5ODMsIDE0NDk4OCwgMTQ0OTk1LCAxNDUwMDIsIDE0NTAwOSwgMTQ1MDE0LCAxNDUwMTksIAorICAgIDE0NTAyNCwgMTQ1MDI5LCAxNDUwMzYsIDE0NTA0MywgMTQ1MDUwLCAxNDUwNTcsIDE0NTA2NCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMTQ1MDczLCAxNDUwNzcsIDE0NTA4MSwgMTQ1MDg1LCAxNDUwODksIDE0NTA5MywgMTQ1MDk3LCAKKyAgICAxNDUxMDEsIDE0NTEwNSwgMTQ1MTA5LCAxNDUxMTMsIDE0NTExNywgMTQ1MTIxLCAxNDUxMjUsIDE0NTEyOSwgMTQ1MTMzLCAKKyAgICAxNDUxMzcsIDE0NTE0MSwgMTQ1MTQ1LCAxNDUxNDksIDE0NTE1MywgMTQ1MTU3LCAxNDUxNjEsIDE0NTE2NSwgMTQ1MTY5LCAKKyAgICAxNDUxNzMsIDE0NTE3NywgMTQ1MTgxLCAxNDUxODUsIDE0NTE4OSwgMTQ1MTkzLCAxNDUxOTcsIDE0NTIwMSwgMTQ1MjA1LCAKKyAgICAxNDUyMDksIDE0NTIxMywgMTQ1MjE3LCAxNDUyMjEsIDE0NTIyNSwgMTQ1MjI5LCAxNDUyMzMsIDE0NTIzNywgMTQ1MjQxLCAKKyAgICAxNDUyNDUsIDE0NTI0OSwgMTQ1MjUzLCAxNDUyNTcsIDE0NTI2MSwgMTQ1MjY1LCAxNDUyNjksIDE0NTI3MywgMTQ1Mjc3LCAKKyAgICAxNDUyODEsIDE0NTI4NSwgMTQ1Mjg5LCAxNDUyOTMsIDE0NTI5NywgMTQ1MzAxLCAxNDUzMDUsIDE0NTMwOSwgMTQ1MzEzLCAKKyAgICAxNDUzMTcsIDE0NTMyMSwgMTQ1MzI1LCAxNDUzMjksIDE0NTMzMywgMTQ1MzM3LCAxNDUzNDEsIDE0NTM0NSwgMTQ1MzQ5LCAKKyAgICAxNDUzNTMsIDE0NTM1NywgMTQ1MzYxLCAxNDUzNjUsIDE0NTM2OSwgMTQ1MzczLCAxNDUzNzcsIDE0NTM4MSwgMTQ1Mzg1LCAKKyAgICAxNDUzODksIDE0NTM5MywgMTQ1Mzk3LCAxNDU0MDEsIDE0NTQwNSwgMTQ1NDA5LCAxNDU0MTMsIDE0NTQxNywgMTQ1NDIxLCAKKyAgICAxNDU0MjUsIDE0NTQyOSwgMTQ1NDMzLCAxNDU0MzcsIDE0NTQ0MSwgMTQ1NDQ1LCAxNDU0NDksIDE0NTQ1MywgMTQ1NDU3LCAKKyAgICAxNDU0NjEsIDE0NTQ2NSwgMTQ1NDY5LCAxNDU0NzMsIDE0NTQ3NywgMTQ1NDgxLCAxNDU0ODUsIDE0NTQ4OSwgMTQ1NDkzLCAKKyAgICAxNDU0OTcsIDE0NTUwMSwgMTQ1NTA1LCAxNDU1MDksIDE0NTUxMywgMTQ1NTE3LCAxNDU1MjEsIDE0NTUyNSwgMTQ1NTI5LCAKKyAgICAxNDU1MzMsIDE0NTUzNywgMTQ1NTQxLCAxNDU1NDUsIDE0NTU0OSwgMTQ1NTUzLCAxNDU1NTcsIDE0NTU2MSwgMTQ1NTY1LCAKKyAgICAxNDU1NjksIDE0NTU3MywgMTQ1NTc3LCAxNDU1ODEsIDE0NTU4NSwgMTQ1NTg5LCAxNDU1OTMsIDE0NTU5NywgMTQ1NjAxLCAKKyAgICAxNDU2MDUsIDE0NTYwOSwgMTQ1NjEzLCAxNDU2MTcsIDE0NTYyMSwgMTQ1NjI1LCAxNDU2MjksIDE0NTYzMywgMTQ1NjM3LCAKKyAgICAxNDU2NDEsIDE0NTY0NSwgMTQ1NjQ5LCAxNDU2NTMsIDE0NTY1NywgMTQ1NjYxLCAxNDU2NjUsIDE0NTY2OSwgMTQ1NjczLCAKKyAgICAxNDU2NzcsIDE0NTY4MSwgMTQ1Njg1LCAxNDU2ODksIDE0NTY5MywgMTQ1Njk3LCAxNDU3MDEsIDE0NTcwNSwgMTQ1NzA5LCAKKyAgICAxNDU3MTMsIDE0NTcxNywgMTQ1NzIxLCAxNDU3MjUsIDE0NTcyOSwgMTQ1NzMzLCAxNDU3MzcsIDE0NTc0MSwgMTQ1NzQ1LCAKKyAgICAxNDU3NDksIDE0NTc1MywgMTQ1NzU3LCAxNDU3NjEsIDE0NTc2NSwgMTQ1NzY5LCAxNDU3NzMsIDE0NTc3NywgMTQ1NzgxLCAKKyAgICAxNDU3ODUsIDE0NTc4OSwgMTQ1NzkzLCAxNDU3OTcsIDE0NTgwMSwgMTQ1ODA1LCAxNDU4MDksIDE0NTgxMywgMTQ1ODE3LCAKKyAgICAxNDU4MjEsIDE0NTgyNSwgMTQ1ODI5LCAxNDU4MzMsIDE0NTgzNywgMTQ1ODQxLCAxNDU4NDUsIDE0NTg0OSwgMTQ1ODUzLCAKKyAgICAxNDU4NTcsIDE0NTg2MSwgMTQ1ODY1LCAxNDU4NjksIDE0NTg3MywgMTQ1ODc3LCAxNDU4ODEsIDE0NTg4NSwgMTQ1ODg5LCAKKyAgICAxNDU4OTMsIDE0NTg5NywgMTQ1OTAxLCAxNDU5MDUsIDE0NTkwOSwgMTQ1OTEzLCAxNDU5MTcsIDE0NTkyMSwgMTQ1OTI1LCAKKyAgICAxNDU5MjksIDE0NTkzMywgMTQ1OTM3LCAxNDU5NDEsIDE0NTk0NSwgMTQ1OTQ5LCAxNDU5NTMsIDE0NTk1NywgMTQ1OTYxLCAKKyAgICAxNDU5NjUsIDE0NTk2OSwgMTQ1OTczLCAxNDU5NzcsIDE0NTk4MSwgMTQ1OTg1LCAxNDU5ODksIDE0NTk5MywgMTQ1OTk3LCAKKyAgICAxNDYwMDEsIDE0NjAwNSwgMTQ2MDA5LCAxNDYwMTMsIDE0NjAxNywgMTQ2MDIxLCAxNDYwMjUsIDE0NjAyOSwgMTQ2MDMzLCAKKyAgICAxNDYwMzcsIDE0NjA0MSwgMTQ2MDQ1LCAxNDYwNDksIDE0NjA1MywgMTQ2MDU3LCAxNDYwNjEsIDE0NjA2NSwgMTQ2MDY5LCAKKyAgICAxNDYwNzMsIDE0NjA3NywgMTQ2MDgxLCAxNDYwODUsIDE0NjA4OSwgMTQ2MDkzLCAxNDYwOTcsIDE0NjEwMSwgMTQ2MTA1LCAKKyAgICAxNDYxMDksIDE0NjExMywgMTQ2MTE3LCAxNDYxMjEsIDE0NjEyNSwgMTQ2MTI5LCAxNDYxMzMsIDE0NjEzNywgMTQ2MTQxLCAKKyAgICAxNDYxNDUsIDE0NjE0OSwgMTQ2MTUzLCAxNDYxNTcsIDE0NjE2MSwgMTQ2MTY1LCAxNDYxNjksIDE0NjE3MywgMTQ2MTc3LCAKKyAgICAxNDYxODEsIDE0NjE4NSwgMTQ2MTg5LCAxNDYxOTMsIDE0NjE5NywgMTQ2MjAxLCAxNDYyMDUsIDE0NjIwOSwgMTQ2MjEzLCAKKyAgICAxNDYyMTcsIDE0NjIyMSwgMTQ2MjI1LCAxNDYyMjksIDE0NjIzMywgMTQ2MjM3LCAxNDYyNDEsIDE0NjI0NSwgMTQ2MjQ5LCAKKyAgICAxNDYyNTMsIDE0NjI1NywgMTQ2MjYxLCAxNDYyNjUsIDE0NjI2OSwgMTQ2MjczLCAxNDYyNzcsIDE0NjI4MSwgMTQ2Mjg1LCAKKyAgICAxNDYyODksIDE0NjI5MywgMTQ2Mjk3LCAxNDYzMDEsIDE0NjMwNSwgMTQ2MzA5LCAxNDYzMTMsIDE0NjMxNywgMTQ2MzIxLCAKKyAgICAxNDYzMjUsIDE0NjMyOSwgMTQ2MzMzLCAxNDYzMzcsIDE0NjM0MSwgMTQ2MzQ1LCAxNDYzNDksIDE0NjM1MywgMTQ2MzU3LCAKKyAgICAxNDYzNjEsIDE0NjM2NSwgMTQ2MzY5LCAxNDYzNzMsIDE0NjM3NywgMTQ2MzgxLCAxNDYzODUsIDE0NjM4OSwgMTQ2MzkzLCAKKyAgICAxNDYzOTcsIDE0NjQwMSwgMTQ2NDA1LCAxNDY0MDksIDE0NjQxMywgMTQ2NDE3LCAxNDY0MjEsIDE0NjQyNSwgMTQ2NDI5LCAKKyAgICAxNDY0MzMsIDE0NjQzNywgMTQ2NDQxLCAxNDY0NDUsIDE0NjQ0OSwgMTQ2NDUzLCAxNDY0NTcsIDE0NjQ2MSwgMTQ2NDY1LCAKKyAgICAxNDY0NjksIDE0NjQ3MywgMTQ2NDc3LCAxNDY0ODEsIDE0NjQ4NSwgMTQ2NDg5LCAxNDY0OTMsIDE0NjQ5NywgMTQ2NTAxLCAKKyAgICAxNDY1MDUsIDE0NjUwOSwgMTQ2NTEzLCAxNDY1MTcsIDE0NjUyMSwgMTQ2NTI1LCAxNDY1MjksIDE0NjUzMywgMTQ2NTM3LCAKKyAgICAxNDY1NDEsIDE0NjU0NSwgMTQ2NTQ5LCAxNDY1NTMsIDE0NjU1NywgMTQ2NTYxLCAxNDY1NjUsIDE0NjU2OSwgMTQ2NTczLCAKKyAgICAxNDY1NzcsIDE0NjU4MSwgMTQ2NTg1LCAxNDY1ODksIDE0NjU5MywgMTQ2NTk3LCAxNDY2MDEsIDE0NjYwNSwgMTQ2NjA5LCAKKyAgICAxNDY2MTMsIDE0NjYxNywgMTQ2NjIxLCAxNDY2MjUsIDE0NjYyOSwgMTQ2NjMzLCAxNDY2MzcsIDE0NjY0MSwgMTQ2NjQ1LCAKKyAgICAxNDY2NDksIDE0NjY1MywgMTQ2NjU3LCAxNDY2NjEsIDE0NjY2NSwgMTQ2NjY5LCAxNDY2NzMsIDE0NjY3NywgMTQ2NjgxLCAKKyAgICAxNDY2ODUsIDE0NjY4OSwgMTQ2NjkzLCAxNDY2OTcsIDE0NjcwMSwgMTQ2NzA1LCAxNDY3MDksIDE0NjcxMywgMTQ2NzE3LCAKKyAgICAxNDY3MjEsIDE0NjcyNSwgMTQ2NzI5LCAxNDY3MzMsIDE0NjczNywgMTQ2NzQxLCAxNDY3NDUsIDE0Njc0OSwgMTQ2NzUzLCAKKyAgICAxNDY3NTcsIDE0Njc2MSwgMTQ2NzY1LCAxNDY3NjksIDE0Njc3MywgMTQ2Nzc3LCAxNDY3ODEsIDE0Njc4NSwgMTQ2Nzg5LCAKKyAgICAxNDY3OTMsIDE0Njc5NywgMTQ2ODAxLCAxNDY4MDUsIDE0NjgwOSwgMTQ2ODEzLCAxNDY4MTcsIDE0NjgyMSwgMTQ2ODI1LCAKKyAgICAxNDY4MjksIDE0NjgzMywgMTQ2ODM3LCAxNDY4NDEsIDE0Njg0NSwgMTQ2ODQ5LCAxNDY4NTMsIDE0Njg1NywgMTQ2ODYxLCAKKyAgICAxNDY4NjUsIDE0Njg2OSwgMTQ2ODczLCAxNDY4NzcsIDE0Njg4MSwgMTQ2ODg1LCAxNDY4ODksIDE0Njg5MywgMTQ2ODk3LCAKKyAgICAxNDY5MDEsIDE0NjkwNSwgMTQ2OTA5LCAxNDY5MTMsIDE0NjkxNywgMTQ2OTIxLCAxNDY5MjUsIDE0NjkyOSwgMTQ2OTMzLCAKKyAgICAxNDY5MzcsIDE0Njk0MSwgMTQ2OTQ1LCAxNDY5NDksIDE0Njk1MywgMTQ2OTU3LCAxNDY5NjEsIDE0Njk2NSwgMTQ2OTY5LCAKKyAgICAxNDY5NzMsIDE0Njk3NywgMTQ2OTgxLCAxNDY5ODUsIDE0Njk4OSwgMTQ2OTkzLCAxNDY5OTcsIDE0NzAwMSwgMTQ3MDA1LCAKKyAgICAxNDcwMDksIDE0NzAxMywgMTQ3MDE3LCAxNDcwMjEsIDE0NzAyNSwgMTQ3MDI5LCAxNDcwMzMsIDE0NzAzNywgMTQ3MDQxLCAKKyAgICAxNDcwNDUsIDE0NzA0OSwgMTQ3MDUzLCAxNDcwNTcsIDE0NzA2MSwgMTQ3MDY1LCAxNDcwNjksIDE0NzA3MywgMTQ3MDc3LCAKKyAgICAxNDcwODEsIDE0NzA4NSwgMTQ3MDg5LCAxNDcwOTMsIDE0NzA5NywgMTQ3MTAxLCAxNDcxMDUsIDE0NzEwOSwgMTQ3MTEzLCAKKyAgICAxNDcxMTcsIDE0NzEyMSwgMTQ3MTI1LCAxNDcxMjksIDE0NzEzMywgMTQ3MTM3LCAxNDcxNDEsIDE0NzE0NSwgMTQ3MTQ5LCAKKyAgICAxNDcxNTMsIDE0NzE1NywgMTQ3MTYxLCAxNDcxNjUsIDE0NzE2OSwgMTQ3MTczLCAxNDcxNzcsIDE0NzE4MSwgMTQ3MTg1LCAKKyAgICAxNDcxODksIDE0NzE5MywgMTQ3MTk3LCAxNDcyMDEsIDE0NzIwNSwgMTQ3MjA5LCAxNDcyMTMsIDE0NzIxNywgMTQ3MjIxLCAKKyAgICAxNDcyMjUsIDE0NzIyOSwgMTQ3MjMzLCAxNDcyMzcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0NzI0MSwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMTQ3MjQ1LCAxNDcyNDgsIDE0NzI1MiwgMTQ3MjU2LCAxNDcyNTksIDE0NzI2MywgMTQ3MjY3LCAKKyAgICAxNDcyNzAsIDE0NzI3MywgMTQ3Mjc3LCAxNDcyODEsIDE0NzI4NCwgMTQ3Mjg3LCAxNDcyOTAsIDE0NzI5MywgMTQ3Mjk4LCAKKyAgICAxNDczMDEsIDE0NzMwNSwgMTQ3MzA4LCAxNDczMTEsIDE0NzMxNCwgMTQ3MzE3LCAxNDczMjAsIDE0NzMyMywgMTQ3MzI2LCAKKyAgICAxNDczMjksIDE0NzMzMiwgMTQ3MzM1LCAxNDczMzgsIDE0NzM0MiwgMTQ3MzQ2LCAxNDczNTAsIDE0NzM1NCwgMTQ3MzU5LCAKKyAgICAxNDczNjQsIDE0NzM3MCwgMTQ3Mzc2LCAxNDczODIsIDE0NzM4NywgMTQ3MzkzLCAxNDczOTksIDE0NzQwNSwgMTQ3NDEwLCAKKyAgICAxNDc0MTYsIDE0NzQyMiwgMTQ3NDI3LCAxNDc0MzMsIDE0NzQzOSwgMTQ3NDQ0LCAxNDc0NTAsIDE0NzQ1NiwgMTQ3NDYxLCAKKyAgICAxNDc0NjYsIDE0NzQ3MiwgMTQ3NDc3LCAxNDc0ODMsIDE0NzQ4OSwgMTQ3NDk1LCAxNDc1MDEsIDE0NzUwNywgMTQ3NTExLCAKKyAgICAxNDc1MTYsIDE0NzUyMCwgMTQ3NTI1LCAxNDc1MjksIDE0NzUzNCwgMTQ3NTM5LCAxNDc1NDUsIDE0NzU1MSwgMTQ3NTU3LCAKKyAgICAxNDc1NjIsIDE0NzU2OCwgMTQ3NTc0LCAxNDc1ODAsIDE0NzU4NSwgMTQ3NTkxLCAxNDc1OTcsIDE0NzYwMiwgMTQ3NjA4LCAKKyAgICAxNDc2MTQsIDE0NzYxOSwgMTQ3NjI1LCAxNDc2MzEsIDE0NzYzNiwgMTQ3NjQxLCAxNDc2NDcsIDE0NzY1MiwgMTQ3NjU4LCAKKyAgICAxNDc2NjQsIDE0NzY3MCwgMTQ3Njc2LCAxNDc2ODIsIDE0NzY4NywgMTQ3NjkxLCAxNDc2OTYsIDE0NzY5OSwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMTQ3NzAzLCAxNDc3MDYsIDE0NzcwOSwgMTQ3NzEyLCAxNDc3MTUsIDE0NzcxOCwgMTQ3NzIxLCAKKyAgICAxNDc3MjQsIDE0NzcyNywgMTQ3NzMwLCAxNDc3MzMsIDE0NzczNiwgMTQ3NzM5LCAxNDc3NDIsIDE0Nzc0NSwgMTQ3NzQ4LCAKKyAgICAxNDc3NTEsIDE0Nzc1NCwgMTQ3NzU3LCAxNDc3NjAsIDE0Nzc2MywgMTQ3NzY2LCAxNDc3NjksIDE0Nzc3MiwgMTQ3Nzc1LCAKKyAgICAxNDc3NzgsIDE0Nzc4MSwgMTQ3Nzg0LCAxNDc3ODcsIDE0Nzc5MCwgMTQ3NzkzLCAxNDc3OTYsIDE0Nzc5OSwgMTQ3ODAyLCAKKyAgICAxNDc4MDUsIDE0NzgwOCwgMTQ3ODExLCAxNDc4MTQsIDE0NzgxNywgMTQ3ODIwLCAxNDc4MjMsIDE0NzgyNiwgMTQ3ODI5LCAKKyAgICAxNDc4MzIsIDE0NzgzNSwgMTQ3ODM4LCAxNDc4NDEsIDE0Nzg0NCwgMTQ3ODQ3LCAxNDc4NTAsIDE0Nzg1MywgMTQ3ODU2LCAKKyAgICAxNDc4NTksIDE0Nzg2MiwgMTQ3ODY1LCAxNDc4NjgsIDE0Nzg3MSwgMTQ3ODc0LCAxNDc4NzcsIDE0Nzg4MCwgMTQ3ODgzLCAKKyAgICAxNDc4ODYsIDE0Nzg4OSwgMTQ3ODkyLCAxNDc4OTUsIDE0Nzg5OCwgMTQ3OTAxLCAxNDc5MDQsIDE0NzkwNywgMTQ3OTEwLCAKKyAgICAxNDc5MTMsIDE0NzkxNiwgMTQ3OTE5LCAxNDc5MjIsIDE0NzkyNSwgMTQ3OTI4LCAxNDc5MzEsIDE0NzkzNCwgMTQ3OTM3LCAKKyAgICAxNDc5NDAsIDE0Nzk0MywgMTQ3OTQ2LCAxNDc5NDksIDE0Nzk1MiwgMTQ3OTU1LCAxNDc5NTgsIDE0Nzk2MSwgMTQ3OTY0LCAKKyAgICAxNDc5NjcsIDE0Nzk3MCwgMTQ3OTczLCAxNDc5NzYsIDE0Nzk3OSwgMTQ3OTgyLCAxNDc5ODUsIDE0Nzk4OCwgMTQ3OTkxLCAKKyAgICAxNDc5OTQsIDE0Nzk5NywgMTQ4MDAwLCAxNDgwMDMsIDE0ODAwNiwgMTQ4MDA5LCAxNDgwMTIsIDE0ODAxNSwgMTQ4MDE4LCAKKyAgICAxNDgwMjEsIDE0ODAyNCwgMTQ4MDI3LCAxNDgwMzAsIDE0ODAzMywgMTQ4MDM2LCAxNDgwMzksIDE0ODA0MiwgMTQ4MDQ1LCAKKyAgICAxNDgwNDgsIDE0ODA1MSwgMTQ4MDU0LCAxNDgwNTcsIDE0ODA2MCwgMTQ4MDYzLCAxNDgwNjYsIDE0ODA2OSwgMTQ4MDcyLCAKKyAgICAxNDgwNzUsIDE0ODA3OCwgMTQ4MDgxLCAxNDgwODQsIDE0ODA4NywgMTQ4MDkwLCAxNDgwOTMsIDE0ODA5NiwgMTQ4MDk5LCAKKyAgICAxNDgxMDIsIDE0ODEwNSwgMTQ4MTA4LCAxNDgxMTEsIDE0ODExNCwgMTQ4MTE3LCAxNDgxMjAsIDE0ODEyMywgMTQ4MTI2LCAKKyAgICAxNDgxMjksIDE0ODEzMiwgMTQ4MTM1LCAxNDgxMzgsIDE0ODE0MSwgMTQ4MTQ0LCAxNDgxNDcsIDE0ODE1MCwgMTQ4MTUzLCAKKyAgICAxNDgxNTYsIDE0ODE1OSwgMTQ4MTYyLCAxNDgxNjUsIDE0ODE2OCwgMTQ4MTcxLCAxNDgxNzQsIDE0ODE3NywgMTQ4MTgwLCAKKyAgICAxNDgxODMsIDE0ODE4NiwgMTQ4MTg5LCAxNDgxOTIsIDE0ODE5NSwgMTQ4MTk4LCAxNDgyMDEsIDE0ODIwNCwgMTQ4MjA3LCAKKyAgICAxNDgyMTAsIDE0ODIxMywgMTQ4MjE2LCAxNDgyMTksIDE0ODIyMiwgMTQ4MjI1LCAxNDgyMjgsIDE0ODIzMSwgMTQ4MjM0LCAKKyAgICAxNDgyMzcsIDE0ODI0MCwgMTQ4MjQzLCAxNDgyNDYsIDE0ODI0OSwgMTQ4MjUyLCAxNDgyNTUsIDE0ODI1OCwgMTQ4MjYxLCAKKyAgICAxNDgyNjQsIDE0ODI2NywgMTQ4MjcwLCAxNDgyNzMsIDE0ODI3NiwgMTQ4Mjc5LCAxNDgyODIsIDE0ODI4NSwgMTQ4Mjg4LCAKKyAgICAxNDgyOTEsIDE0ODI5NCwgMTQ4Mjk3LCAxNDgzMDAsIDE0ODMwMywgMTQ4MzA2LCAxNDgzMDksIDE0ODMxMiwgMTQ4MzE1LCAKKyAgICAxNDgzMTgsIDE0ODMyMSwgMTQ4MzI0LCAxNDgzMjcsIDE0ODMzMCwgMTQ4MzMzLCAxNDgzMzYsIDE0ODMzOSwgMTQ4MzQyLCAKKyAgICAxNDgzNDUsIDE0ODM0OCwgMTQ4MzUxLCAxNDgzNTQsIDE0ODM1NywgMTQ4MzYwLCAxNDgzNjMsIDE0ODM2NiwgMTQ4MzY5LCAKKyAgICAxNDgzNzIsIDE0ODM3NSwgMTQ4Mzc4LCAxNDgzODEsIDE0ODM4NCwgMTQ4Mzg3LCAxNDgzOTAsIDE0ODM5MywgMTQ4Mzk2LCAKKyAgICAxNDgzOTksIDE0ODQwMiwgMTQ4NDA1LCAxNDg0MDgsIDE0ODQxMSwgMTQ4NDE0LCAxNDg0MTcsIDE0ODQyMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQ4NDIzLCAxNDg0MjUsIDE0ODQyNywgMTQ4NDMyLCAKKyAgICAxNDg0MzQsIDE0ODQzOSwgMTQ4NDQxLCAxNDg0NDYsIDE0ODQ0OCwgMTQ4NDUzLCAxNDg0NTUsIDE0ODQ1NywgMTQ4NDU5LCAKKyAgICAxNDg0NjEsIDE0ODQ2MywgMTQ4NDY1LCAxNDg0NjcsIDE0ODQ2OSwgMTQ4NDcxLCAxNDg0NzQsIDE0ODQ3NywgMTQ4NDc5LCAKKyAgICAxNDg0ODEsIDE0ODQ4NSwgMTQ4NDg4LCAxNDg0OTMsIDE0ODQ5NSwgMTQ4NDk3LCAxNDg0OTksIDE0ODUwMywgMTQ4NTA2LCAKKyAgICAxNDg1MDgsIDE0ODUxMiwgMTQ4NTE0LCAxNDg1MTgsIDE0ODUyMCwgMTQ4NTI0LCAxNDg1MjcsIDE0ODUyOSwgMTQ4NTMzLCAKKyAgICAxNDg1MzcsIDE0ODUzOSwgMTQ4NTQ1LCAxNDg1NDcsIDE0ODU1MiwgMTQ4NTU0LCAxNDg1NTksIDE0ODU2MSwgMTQ4NTY2LCAKKyAgICAxNDg1NjgsIDE0ODU3MywgMTQ4NTc1LCAxNDg1NzgsIDE0ODU4MCwgMTQ4NTg0LCAxNDg1ODYsIDE0ODU5MywgMTQ4NTk1LCAKKyAgICAxNDg1OTcsIDE0ODU5OSwgMTQ4NjA0LCAxNDg2MDYsIDE0ODYwOCwgMTQ4NjEwLCAxNDg2MTIsIDE0ODYxNCwgMTQ4NjE5LCAKKyAgICAxNDg2MjMsIDE0ODYyNSwgMTQ4NjMwLCAxNDg2MzQsIDE0ODYzNiwgMTQ4NjQxLCAxNDg2NDUsIDE0ODY0NywgMTQ4NjUyLCAKKyAgICAxNDg2NTYsIDE0ODY1OCwgMTQ4NjYwLCAxNDg2NjIsIDE0ODY2NCwgMTQ4NjY4LCAxNDg2NzAsIDE0ODY3NSwgMTQ4Njc3LCAKKyAgICAxNDg2ODMsIDE0ODY4NSwgMTQ4NjkxLCAxNDg2OTMsIDE0ODY5NSwgMTQ4Njk3LCAxNDg3MDEsIDE0ODcwMywgMTQ4NzEwLCAKKyAgICAxNDg3MTIsIDE0ODcxOSwgMTQ4NzIxLCAxNDg3MjYsIDE0ODczMSwgMTQ4NzMzLCAxNDg3MzksIDE0ODc0NSwgMTQ4NzQ3LCAKKyAgICAxNDg3NTMsIDE0ODc1OCwgMTQ4NzYwLCAxNDg3NjYsIDE0ODc3MiwgMTQ4Nzc0LCAxNDg3ODAsIDE0ODc4NiwgMTQ4Nzg4LCAKKyAgICAxNDg3OTQsIDE0ODc5OCwgMTQ4ODAwLCAxNDg4MDUsIDE0ODgwNywgMTQ4ODA5LCAxNDg4MTQsIDE0ODgxNiwgMTQ4ODE4LCAKKyAgICAxNDg4MjQsIDE0ODgyNiwgMTQ4ODMxLCAxNDg4MzUsIDE0ODgzNywgMTQ4ODQyLCAxNDg4NDYsIDE0ODg0OCwgMTQ4ODU0LCAKKyAgICAxNDg4NTYsIDE0ODg2MCwgMTQ4ODYyLCAxNDg4NjYsIDE0ODg2OCwgMTQ4ODc1LCAxNDg4ODIsIDE0ODg4NCwgMTQ4ODkxLCAKKyAgICAxNDg4OTgsIDE0ODkwMCwgMTQ4OTA1LCAxNDg5MDcsIDE0ODkxNCwgMTQ4OTE2LCAxNDg5MjEsIDE0ODkyMywgMTQ4OTI5LCAKKyAgICAxNDg5MzEsIDE0ODkzNSwgMTQ4OTM3LCAxNDg5NDMsIDE0ODk0NSwgMTQ4OTQ5LCAxNDg5NTEsIDE0ODk1NywgMTQ4OTU5LCAKKyAgICAxNDg5NjEsIDE0ODk2MywgMTQ4OTY4LCAxNDg5NzMsIDE0ODk3NSwgMTQ4OTc3LCAxNDg5ODcsIDE0ODk5MSwgMTQ4OTk4LCAKKyAgICAxNDkwMDUsIDE0OTAxMCwgMTQ5MDE1LCAxNDkwMjcsIDE0OTAyOSwgMTQ5MDMxLCAxNDkwMzMsIDE0OTAzNSwgMTQ5MDM3LCAKKyAgICAxNDkwMzksIDE0OTA0MSwgMTQ5MDQzLCAxNDkwNDUsIDE0OTA0NywgMTQ5MDQ5LCAxNDkwNTEsIDE0OTA1MywgMTQ5MDU1LCAKKyAgICAxNDkwNTcsIDE0OTA1OSwgMTQ5MDYxLCAxNDkwNjMsIDE0OTA2NSwgMTQ5MDY3LCAxNDkwNjksIDE0OTA3NSwgMTQ5MDgyLCAKKyAgICAxNDkwODcsIDE0OTA5MiwgMTQ5MTAzLCAxNDkxMDUsIDE0OTEwNywgMTQ5MTA5LCAxNDkxMTEsIDE0OTExMywgMTQ5MTE1LCAKKyAgICAxNDkxMTcsIDE0OTExOSwgMTQ5MTIxLCAxNDkxMjMsIDE0OTEyNSwgMTQ5MTI3LCAxNDkxMjksIDE0OTEzMSwgMTQ5MTMzLCAKKyAgICAxNDkxMzUsIDE0OTE0MCwgMTQ5MTQyLCAxNDkxNDQsIDE0OTE1MCwgMTQ5MTYyLCAxNDkxNzMsIDE0OTE3NSwgMTQ5MTc3LCAKKyAgICAxNDkxNzksIDE0OTE4MSwgMTQ5MTgzLCAxNDkxODUsIDE0OTE4NywgMTQ5MTg5LCAxNDkxOTEsIDE0OTE5MywgMTQ5MTk1LCAKKyAgICAxNDkxOTcsIDE0OTE5OSwgMTQ5MjAxLCAxNDkyMDMsIDE0OTIwNSwgMTQ5MjA3LCAxNDkyMDksIDE0OTIxMSwgMTQ5MjEzLCAKKyAgICAxNDkyMTUsIDE0OTIxNywgMTQ5MjE5LCAxNDkyMjEsIDE0OTIyMywgMTQ5MjI1LCAxNDkyMjcsIDE0OTIyOSwgMTQ5MjMxLCAKKyAgICAxNDkyMzMsIDE0OTIzNSwgMTQ5MjM3LCAxNDkyMzksIDE0OTI0MSwgMTQ5MjQzLCAxNDkyNDUsIDE0OTI0NywgMTQ5MjQ5LCAKKyAgICAxNDkyNTEsIDE0OTI1MywgMTQ5MjU1LCAxNDkyNTcsIDE0OTI1OSwgMTQ5MjYxLCAxNDkyNjMsIDE0OTI2NSwgMTQ5MjY3LCAKKyAgICAxNDkyNjksIDE0OTI3MSwgMTQ5MjczLCAxNDkyNzUsIDE0OTI3NywgMTQ5Mjc5LCAxNDkyODEsIDE0OTI4MywgMTQ5Mjg1LCAKKyAgICAxNDkyODcsIDE0OTI4OSwgMTQ5MjkxLCAxNDkyOTMsIDE0OTI5NSwgMTQ5Mjk3LCAxNDkyOTksIDE0OTMwMSwgMTQ5MzAzLCAKKyAgICAxNDkzMDUsIDE0OTMwNywgMTQ5MzA5LCAxNDkzMTEsIDE0OTMxMywgMTQ5MzE1LCAxNDkzMTcsIDE0OTMxOSwgMTQ5MzIxLCAKKyAgICAxNDkzMjMsIDE0OTMyNSwgMTQ5MzI3LCAxNDkzMjksIDE0OTMzMSwgMTQ5MzMzLCAxNDkzMzUsIDE0OTMzNywgMTQ5MzM5LCAKKyAgICAxNDkzNDEsIDE0OTM0MywgMTQ5MzQ1LCAxNDkzNDcsIDE0OTM0OSwgMTQ5MzUxLCAxNDkzNTMsIDE0OTM1NSwgMTQ5MzU3LCAKKyAgICAxNDkzNTksIDE0OTM2MSwgMTQ5MzYzLCAxNDkzNjUsIDE0OTM2NywgMTQ5MzY5LCAxNDkzNzEsIDE0OTM3MywgMTQ5Mzc1LCAKKyAgICAxNDkzNzcsIDE0OTM3OSwgMTQ5MzgxLCAxNDkzODMsIDE0OTM4NSwgMTQ5Mzg3LCAxNDkzODksIDE0OTM5MSwgMTQ5MzkzLCAKKyAgICAxNDkzOTUsIDE0OTM5NywgMTQ5Mzk5LCAxNDk0MDEsIDE0OTQwMywgMTQ5NDA1LCAxNDk0MDcsIDE0OTQwOSwgMTQ5NDExLCAKKyAgICAxNDk0MTMsIDE0OTQxNSwgMTQ5NDE3LCAxNDk0MTksIDE0OTQyMSwgMTQ5NDIzLCAxNDk0MjUsIDE0OTQyNywgMTQ5NDI5LCAKKyAgICAxNDk0MzEsIDE0OTQzMywgMTQ5NDM1LCAxNDk0MzcsIDE0OTQzOSwgMTQ5NDQxLCAxNDk0NDMsIDE0OTQ0NSwgMTQ5NDQ3LCAKKyAgICAxNDk0NDksIDE0OTQ1MSwgMTQ5NDUzLCAxNDk0NTUsIDE0OTQ1NywgMTQ5NDU5LCAxNDk0NjEsIDE0OTQ2MywgMTQ5NDY1LCAKKyAgICAxNDk0NjcsIDE0OTQ2OSwgMTQ5NDcxLCAxNDk0NzMsIDE0OTQ3NSwgMTQ5NDc3LCAxNDk0NzksIDE0OTQ4MSwgMTQ5NDgzLCAKKyAgICAxNDk0ODUsIDE0OTQ4NywgMTQ5NDg5LCAxNDk0OTEsIDE0OTQ5MywgMTQ5NDk1LCAxNDk0OTcsIDE0OTQ5OSwgMTQ5NTAxLCAKKyAgICAxNDk1MDMsIDE0OTUwNSwgMTQ5NTA3LCAxNDk1MDksIDE0OTUxMSwgMTQ5NTEzLCAxNDk1MTUsIDE0OTUxNywgMTQ5NTE5LCAKKyAgICAxNDk1MjEsIDE0OTUyMywgMTQ5NTI1LCAxNDk1MjcsIDE0OTUyOSwgMTQ5NTMxLCAxNDk1MzMsIDE0OTUzNSwgMTQ5NTM3LCAKKyAgICAxNDk1MzksIDE0OTU0MSwgMTQ5NTQzLCAxNDk1NDUsIDE0OTU0NywgMTQ5NTQ5LCAxNDk1NTEsIDE0OTU1MywgMTQ5NTU1LCAKKyAgICAxNDk1NTcsIDE0OTU1OSwgMTQ5NTYxLCAxNDk1NjMsIDE0OTU2NSwgMTQ5NTY3LCAxNDk1NjksIDE0OTU3MSwgMTQ5NTczLCAKKyAgICAxNDk1NzUsIDE0OTU3NywgMTQ5NTc5LCAxNDk1ODEsIDE0OTU4MywgMTQ5NTg1LCAxNDk1ODcsIDE0OTU4OSwgMTQ5NTkxLCAKKyAgICAxNDk1OTMsIDE0OTU5NSwgMTQ5NTk3LCAxNDk1OTksIDE0OTYwMSwgMTQ5NjAzLCAxNDk2MDUsIDE0OTYwNywgMTQ5NjA5LCAKKyAgICAxNDk2MTEsIDE0OTYxMywgMTQ5NjE1LCAxNDk2MTcsIDE0OTYxOSwgMTQ5NjIxLCAxNDk2MjMsIDE0OTYyNSwgMTQ5NjI3LCAKKyAgICAxNDk2MjksIDE0OTYzMSwgMTQ5NjMzLCAxNDk2MzUsIDE0OTYzNywgMTQ5NjM5LCAxNDk2NDEsIDE0OTY0MywgMTQ5NjQ1LCAKKyAgICAxNDk2NDcsIDE0OTY0OSwgMTQ5NjUxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDk2NTMsIDE0OTY2MywgMTQ5NjczLCAKKyAgICAxNDk2ODIsIDE0OTY5MSwgMTQ5NzA0LCAxNDk3MTcsIDE0OTcyOSwgMTQ5NzQxLCAxNDk3NTEsIDE0OTc2MSwgMTQ5NzcxLCAKKyAgICAxNDk3ODEsIDE0OTc5MiwgMTQ5ODAzLCAxNDk4MTMsIDE0OTgyMiwgMTQ5ODMxLCAxNDk4NDAsIDE0OTg1MywgMTQ5ODY2LCAKKyAgICAxNDk4NzgsIDE0OTg5MCwgMTQ5OTAwLCAxNDk5MTAsIDE0OTkyMCwgMTQ5OTMwLCAxNDk5MzksIDE0OTk0OCwgMTQ5OTU4LCAKKyAgICAxNDk5NjgsIDE0OTk3NywgMTQ5OTg2LCAxNDk5OTYsIDE1MDAwNiwgMTUwMDE1LCAxNTAwMjQsIDE1MDAzNCwgMTUwMDQ0LCAKKyAgICAxNTAwNTUsIDE1MDA2NiwgMTUwMDc2LCAxNTAwODksIDE1MDEwMCwgMTUwMTE0LCAxNTAxMjIsIDE1MDEzMywgMTUwMTQxLCAKKyAgICAxNTAxNDksIDE1MDE1NywgMTUwMTY1LCAxNTAxNzMsIDE1MDE4MSwgMTUwMTkwLCAxNTAxOTksIDE1MDIwOSwgMTUwMjE5LCAKKyAgICAxNTAyMjgsIDE1MDIzNywgMTUwMjQ3LCAxNTAyNTcsIDE1MDI2NSwgMTUwMjc0LCAxNTAyODIsIDE1MDI5MSwgMTUwMjk5LCAKKyAgICAxNTAzMDcsIDE1MDMxNCwgMTUwMzI0LCAxNTAzMzMsIDE1MDM0NCwgMTUwMzU1LCAxNTAzNjcsIDE1MDM3OCwgMTUwMzg4LCAKKyAgICAxNTAzOTksIDE1MDQwOSwgMTUwNDIwLCAxNTA0MjgsIDE1MDQzMiwgMTUwNDM2LCAxNTA0NDAsIDE1MDQ0NCwgMTUwNDQ4LCAKKyAgICAxNTA0NTIsIDE1MDQ1NiwgMTUwNDYwLCAxNTA0NjQsIDE1MDQ2OCwgMTUwNDcyLCAxNTA0NzYsIDE1MDQ3OSwgMTUwNDgyLCAKKyAgICAxNTA0ODYsIDE1MDQ5MCwgMTUwNDk0LCAxNTA0OTgsIDE1MDUwMiwgMTUwNTA2LCAxNTA1MTAsIDE1MDUxNCwgMTUwNTE3LCAKKyAgICAxNTA1MjEsIDE1MDUyNSwgMTUwNTI5LCAxNTA1MzMsIDE1MDUzNywgMTUwNTQxLCAxNTA1NDUsIDE1MDU0OSwgMTUwNTUzLCAKKyAgICAxNTA1NTcsIDE1MDU2MSwgMTUwNTY1LCAxNTA1NjksIDE1MDU3MywgMTUwNTc3LCAxNTA1ODEsIDE1MDU4NSwgMTUwNTg5LCAKKyAgICAxNTA1OTMsIDE1MDU5NywgMTUwNjAxLCAxNTA2MDUsIDE1MDYwOSwgMTUwNjEzLCAxNTA2MTcsIDE1MDYyMSwgMTUwNjI1LCAKKyAgICAxNTA2MjksIDE1MDYzMywgMTUwNjM3LCAxNTA2NDEsIDE1MDY0NSwgMTUwNjQ5LCAxNTA2NTMsIDE1MDY1NywgMTUwNjYxLCAKKyAgICAxNTA2NjUsIDE1MDY2OSwgMTUwNjczLCAxNTA2NzcsIDE1MDY4MSwgMTUwNjg1LCAxNTA2ODksIDE1MDY5MywgMTUwNjk3LCAKKyAgICAxNTA3MDEsIDE1MDcwNSwgMTUwNzA5LCAxNTA3MTMsIDE1MDcxNywgMTUwNzIxLCAxNTA3MjUsIDE1MDcyOSwgMTUwNzMzLCAKKyAgICAxNTA3MzcsIDE1MDc0MSwgMTUwNzQ1LCAxNTA3NDksIDE1MDc1MywgMTUwNzU3LCAxNTA3NjEsIDE1MDc2NSwgMTUwNzY5LCAKKyAgICAxNTA3NzMsIDE1MDc3NywgMTUwNzgxLCAxNTA3ODUsIDE1MDc4OSwgMTUwNzkzLCAxNTA3OTcsIDE1MDgwMSwgMTUwODA1LCAKKyAgICAxNTA4MDksIDE1MDgxMywgMTUwODE3LCAxNTA4MjEsIDE1MDgyNCwgMTUwODI4LCAxNTA4MzIsIDE1MDgzNiwgMTUwODQwLCAKKyAgICAxNTA4NDQsIDE1MDg0OCwgMTUwODUyLCAxNTA4NTYsIDE1MDg2MCwgMTUwODY0LCAxNTA4NjgsIDE1MDg3MiwgMTUwODc2LCAKKyAgICAxNTA4ODAsIDE1MDg4NCwgMTUwODg4LCAxNTA4OTIsIDE1MDg5NiwgMTUwOTAwLCAxNTA5MDQsIDE1MDkwOCwgMTUwOTEyLCAKKyAgICAxNTA5MTYsIDE1MDkyMCwgMTUwOTI0LCAxNTA5MjgsIDE1MDkzMiwgMTUwOTM2LCAxNTA5NDAsIDE1MDk0NCwgMTUwOTQ4LCAKKyAgICAxNTA5NTIsIDE1MDk1NiwgMTUwOTYwLCAxNTA5NjQsIDE1MDk2OCwgMTUwOTcyLCAxNTA5NzYsIDE1MDk4MCwgMTUwOTg0LCAKKyAgICAxNTA5ODgsIDE1MDk5MiwgMTUwOTk2LCAxNTEwMDAsIDE1MTAwNCwgMTUxMDA4LCAxNTEwMTIsIDE1MTAxNiwgMTUxMDIwLCAKKyAgICAxNTEwMjQsIDE1MTAyOCwgMTUxMDMyLCAxNTEwMzYsIDE1MTA0MCwgMTUxMDQ0LCAxNTEwNDgsIDE1MTA1MiwgMTUxMDU2LCAKKyAgICAxNTEwNjAsIDE1MTA2NCwgMTUxMDY4LCAxNTEwNzIsIDE1MTA3NiwgMTUxMDgwLCAxNTEwODQsIDE1MTA4OCwgMTUxMDkyLCAKKyAgICAxNTEwOTYsIDE1MTEwMCwgMTUxMTA0LCAxNTExMDgsIDE1MTExMiwgMTUxMTE2LCAxNTExMjAsIDE1MTEyNCwgMTUxMTI4LCAKKyAgICAxNTExMzIsIDE1MTEzNiwgMTUxMTQwLCAxNTExNDQsIDE1MTE0OCwgMTUxMTUyLCAxNTExNTYsIDE1MTE2MCwgMTUxMTY0LCAKKyAgICAxNTExNjgsIDE1MTE3MiwgMTUxMTc2LCAxNTExODAsIDE1MTE4NCwgMTUxMTg4LCAxNTExOTIsIDE1MTE5NiwgMTUxMjAwLCAKKyAgICAxNTEyMDQsIDE1MTIwOCwgMTUxMjEyLCAxNTEyMTYsIDE1MTIyMCwgMTUxMjI0LCAxNTEyMjgsIDE1MTIzMiwgMTUxMjM2LCAKKyAgICAxNTEyNDAsIDE1MTI0NCwgMTUxMjQ4LCAxNTEyNTIsIDE1MTI1NiwgMTUxMjYwLCAxNTEyNjQsIDE1MTI2OCwgMTUxMjcyLCAKKyAgICAxNTEyNzYsIDE1MTI4MCwgMTUxMjg0LCAxNTEyODgsIDE1MTI5MiwgMTUxMjk2LCAxNTEzMDAsIDE1MTMwNCwgMTUxMzA4LCAKKyAgICAxNTEzMTIsIDE1MTMxNiwgMTUxMzIwLCAxNTEzMjQsIDE1MTMyOCwgMTUxMzMyLCAxNTEzMzYsIDE1MTM0MCwgMTUxMzQ0LCAKKyAgICAxNTEzNDgsIDE1MTM1MiwgMTUxMzU2LCAxNTEzNjAsIDE1MTM2NCwgMTUxMzY4LCAxNTEzNzIsIDE1MTM3NiwgMTUxMzgwLCAKKyAgICAxNTEzODQsIDE1MTM4OCwgMTUxMzkyLCAxNTEzOTYsIDE1MTQwMCwgMTUxNDA0LCAxNTE0MDgsIDE1MTQxMiwgMTUxNDE2LCAKKyAgICAxNTE0MjAsIDE1MTQyNCwgMTUxNDI4LCAxNTE0MzIsIDE1MTQzNiwgMTUxNDQwLCAxNTE0NDQsIDE1MTQ0OCwgMTUxNDUyLCAKKyAgICAxNTE0NTYsIDE1MTQ2MCwgMTUxNDY0LCAxNTE0NjgsIDE1MTQ3MiwgMTUxNDc2LCAxNTE0ODAsIDE1MTQ4NCwgMTUxNDg4LCAKKyAgICAxNTE0OTIsIDE1MTQ5NiwgMTUxNTAwLCAxNTE1MDQsIDE1MTUwOCwgMTUxNTEyLCAxNTE1MTYsIDE1MTUyMCwgMTUxNTI0LCAKKyAgICAxNTE1MjgsIDE1MTUzMiwgMTUxNTM2LCAxNTE1NDAsIDE1MTU0NCwgMTUxNTQ4LCAxNTE1NTIsIDE1MTU1NiwgMTUxNTYwLCAKKyAgICAxNTE1NjQsIDE1MTU2OCwgMTUxNTcyLCAxNTE1NzYsIDE1MTU4MCwgMTUxNTg0LCAxNTE1ODgsIDE1MTU5MywgMTUxNTk4LCAKKyAgICAxNTE2MDMsIDE1MTYwNywgMTUxNjEzLCAxNTE2MjAsIDE1MTYyNywgMTUxNjM0LCAxNTE2NDEsIDE1MTY0OCwgMTUxNjU1LCAKKyAgICAxNTE2NjIsIDE1MTY2OSwgMTUxNjc2LCAxNTE2ODMsIDE1MTY5MCwgMTUxNjk3LCAxNTE3MDQsIDE1MTcxMCwgMTUxNzE3LCAKKyAgICAxNTE3MjQsIDE1MTczMCwgMTUxNzM3LCAxNTE3NDQsIDE1MTc1MSwgMTUxNzU4LCAxNTE3NjUsIDE1MTc3MiwgMTUxNzc5LCAKKyAgICAxNTE3ODYsIDE1MTc5MywgMTUxODAwLCAxNTE4MDcsIDE1MTgxNCwgMTUxODIxLCAxNTE4MjgsIDE1MTgzNCwgMTUxODQxLCAKKyAgICAxNTE4NDgsIDE1MTg1NywgMTUxODY2LCAxNTE4NzUsIDE1MTg4NCwgMTUxODg5LCAxNTE4OTQsIDE1MTkwMCwgMTUxOTA2LCAKKyAgICAxNTE5MTIsIDE1MTkxOCwgMTUxOTI0LCAxNTE5MzAsIDE1MTkzNiwgMTUxOTQyLCAxNTE5NDgsIDE1MTk1NCwgMTUxOTYwLCAKKyAgICAxNTE5NjYsIDE1MTk3MSwgMTUxOTc3LCAxNTE5ODcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogfTsKIAogLyogbmFtZS0+Y29kZSBkaWN0aW9uYXJ5ICovCiBzdGF0aWMgdW5zaWduZWQgaW50IGNvZGVfaGFzaFtdID0gewotICAgIDc0MjI0LCA0ODUxLCAwLCA3ODE1NiwgNzg0OTksIDEyODY4NSwgNzkyOSwgMCwgMTk0NjgyLCAxMjc3NjYsIDc4NTAwLCAKLSAgICA2NjQ4MCwgMCwgNDI4MzMsIDc0NTI5LCAxMjA2NCwgMCwgNTk2LCA5ODM4MjEsIDY5ODUwLCAxMzE5MiwgODY1MSwgMCwgMCwgCi0gICAgMTIwMjE4LCAxMjk5NSwgNjQ4NjUsIDEzNzMsIDAsIDAsIDU4MTYsIDExOTA2NywgNjQ4MTAsIDQyMzEsIDY4MjUsIDQyODk3LCAKLSAgICA0MjMzLCA0MjM0LCA0MjMyLCA5MTc4MzYsIDc0NDE1LCAxMjAyMTAsIDYzODQsIDkxNzg0MCwgNzgxMDgsIDg4NTEsIDAsIAotICAgIDEyODU1MywgMCwgNDE2MDEsIDg4NzQsIDk4Mzc4MywgNzc0OCwgMCwgMCwgMCwgMTI3OTM5LCA0MTYwMywgOTc4NCwgMCwgCi0gICAgOTE4OCwgNDE2MDAsIDAsIDEyMDYxOCwgMTI4MzQzLCAxNDU3LCAzNTM1LCAwLCAwLCAwLCAwLCA2NTI0MCwgMTE5NTEsIDAsIAotICAgIDM0MDQsIDAsIDAsIDAsIDE3NTksIDAsIDQxMDc2LCA2ODM4MywgMTIwNTcyLCAxMTkyMDUsIDY2NTc3LCA5NDAxNCwgCi0gICAgMTI3NzY0LCA2NTg1OSwgMCwgNzQwNCwgMCwgMCwgMCwgMCwgNjU5MDgsIDk4MzQsIDMwNTUsIDk4NTIsIDk4Mzg2MCwgCi0gICAgNjUyODgsIDAsIDExMzk4LCAwLCA5MjQxNywgMTE5MjU1LCAwLCAwLCA2MDMsIDc0Mzk4LCA0MzU0OCwgMCwgMCwgOTE3ODI0LCAKLSAgICAzMzUwLCAxMjA4MTcsIDY0MzE4LCA5MTc4MjgsIDEyNzA4OSwgMzM5MCwgNzQ0ODMsIDQzMjY1LCAxMjA1OTksIDkxNzgzMCwgCi0gICAgNzg1NzMsIDAsIDE5MTksIDM0MDAsIDEyMDY1MSwgMTI3OTQ0LCAxMTY0NywgOTE3NTQwLCA2NjQ0NiwgNjQxNDEsIDg1NjIsIAorICAgIDc0MjI0LCA0ODUxLCAxMjUxMzgsIDc4MTU2LCA3ODQ5OSwgNzIzOTEsIDc5MjksIDY2OTEwLCAxOTQ2ODIsIDEyNzc2NiwgCisgICAgNzg1MDAsIDY2NDgwLCA2NDAzOCwgNDI4MzMsIDc0NTI5LCAxMjA2NCwgNzIzODUsIDU5NiwgOTgzODIxLCA2OTg1MCwgCisgICAgMTMxOTIsIDg2NTEsIDEyMDIxNywgMTI2NTQyLCAxMjAyMTgsIDEyOTk1LCA2NDg2NSwgMTM3MywgMCwgMTEzNzUyLCA1ODE2LCAKKyAgICAxMTkwNjcsIDY0ODEwLCA0MjMxLCA2ODI1LCA0Mjg5NywgNDIzMywgNDIzNCwgNDIzMiwgOTE3ODM2LCA3NDQxNSwgCisgICAgMTIwMjEwLCA2Mzg0LCA3MDM1MSwgNzgxMDgsIDg4NTEsIDY3Njk4LCAxMjg1NTMsIDAsIDQxNjAxLCA4ODc0LCA3MjM5MiwgCisgICAgNzc0OCwgMCwgMCwgMTI3MDI2LCAxMjc5MzksIDQxNjAzLCA5Nzg0LCAwLCA5MTg4LCA0MTYwMCwgMCwgMTIwNjE4LCAKKyAgICAxMjgzNDMsIDE0NTcsIDM1MzUsIDEyODYzNSwgNjM4MSwgMCwgMCwgNjUyNDAsIDExOTUxLCAwLCAzNDA0LCAwLCA3MDQ4NywgCisgICAgNzI0MTEsIDE3NTksIDAsIDQxMDc2LCA2ODM4MywgNjk5NzIsIDExOTIwNSwgNjY1NzcsIDk0MDE0LCAxMjc3NjQsIDY1ODU5LCAKKyAgICAwLCA3NDA0LCAwLCAwLCA2OTk3MCwgMTI4Mzg3LCA2NTkwOCwgOTgzNCwgMzA1NSwgOTg1MiwgOTgzODYwLCA2NTI4OCwgMCwgCisgICAgMTEzOTgsIDAsIDkyNDE3LCA5MzAxNiwgMTI4MzgwLCAwLCA2MDMsIDc0Mzk4LCA0MzU0OCwgMCwgNzE4NjUsIDkxNzgyNCwgCisgICAgMzM1MCwgMTIwODE3LCA2NDMxOCwgOTE3ODI4LCA3ODEyMSwgMzM5MCwgNzQ0ODMsIDQzMjY1LCAxMjA1OTksIDkxNzgzMCwgCisgICAgNzg1NzMsIDAsIDE5MTksIDM0MDAsIDEyMDY1MSwgMTE5OTQ5LCAxMTY0NywgOTE3NTQwLCA2NjQ0NiwgNjQxNDEsIDg1NjIsIAogICAgIDIxMjEsIDY0MTM4LCA0MDQzLCA4NzEyLCA2NDEzNCwgNjQxMzMsIDExMjk3LCA5ODM2ODgsIDk4MzE1MiwgMTE5NjYsIAotICAgIDY0MTI4LCAxMjg1ODcsIDAsIDAsIDY0MTMyLCAxMDg2NywgNjQxMzAsIDY0MTI5LCA5ODM4NDQsIDQzMzc0LCA5Nzc5LCAKLSAgICAyNzY0LCA2NjAwMiwgMTAxNjcsIDk0NzEsIDAsIDY2MDIxLCAwLCAwLCA1NDU3LCA1NDQwLCA4ODU3LCA5Mzk4MSwgNjUyODIsIAotICAgIDI4NDMsIDUzNTUsIDEyNzkyOCwgOTgzOTY1LCAwLCA1MTk0LCAxMTY1NywgNDM5ODQsIDEyODI5MiwgMCwgOTgzNjIwLCAwLCAKLSAgICAwLCAxMjcwMjcsIDEwNzE3LCA2NDU3MCwgNTYzMCwgNTM5NiwgNjQxNDMsIDEwNjgyLCAwLCAxMDYwMiwgODAwLCA0MjQ5OSwgCi0gICAgNjYxODYsIDAsIDAsIDY0OTMwLCAxMTYzMSwgNjQxNDYsIDY0MTQ1LCA2NDE0NCwgNzYyLCAxMzE3MiwgMTE4ODU5LCAKLSAgICAxOTQ2NjEsIDY0NDY4LCAxMDkwNiwgMTM1MywgNjk2MCwgMCwgMCwgNTgyOCwgODcyNCwgOTE3ODA2LCA4OTMzLCAxNjAxLCAKLSAgICA0MjI0NCwgODU4LCA3MDgwLCA2NDEwOSwgNjQxMDgsIDgwOTAsIDAsIDc0NDAxLCA5MTc4MTEsIDU4NywgMCwgMTI4MTMxLCAKLSAgICAwLCAwLCAwLCA3ODIxNCwgMjc1MCwgNzQyMTgsIDU1NiwgNjQxNTgsIDY0MTU3LCA5ODM5NDksIDEyMjEzLCAxOTQ2NzgsIAotICAgIDI3NjAsIDAsIDAsIDAsIDE5NDc5NCwgNjQxNTYsIDY0MTU1LCA0MjQ5NiwgMCwgNjQxNTEsIDY0MTUwLCAxMjY3OSwgCi0gICAgMTAwNTMsIDEwNDIxLCAxMTA5MywgNjQxNTMsIDY0MTUyLCAwLCAwLCA0ODM5LCAwLCAwLCAxODc0LCAxMTkwMTYsIDAsIAotICAgIDY1NzcsIDY0MTI1LCA2NDEyNCwgNjQxMjMsIDAsIDEyNzUzMSwgOTI1MzQsIDcwMDcsIDc1OTAsIDY1NDQzLCA5MDM2LCAKLSAgICA5MjU1MCwgNjQxMjIsIDc0NDIyLCA2NjYwOSwgMCwgNjQxMTcsIDY0MTE2LCA2Mjg3LCA2NDExNCwgMjcyNSwgNjQxMjAsIAotICAgIDY0MTE5LCA0Mzk4MSwgNDIxMjgsIDEyNzg0MiwgMTE3NywgNjU2MDEsIDEyMzIyLCA2NDEwNiwgNjk2NDAsIDEyNzMwNiwgCi0gICAgNjQxMDIsIDc4NTksIDE5NDUsIDY0MDk5LCAwLCAxMDQ1MywgNjQxMDQsIDcxODgsIDc5OTcsIDAsIDczODksIDk4MzE2MSwgCi0gICAgODcwNSwgNjQwOTcsIDY0MDk2LCA5NTcxLCA1MjgsIDEyODY3MSwgNDQwMTcsIDExNDI5LCA3MTM0NywgMCwgOTgzMDc3LCAKLSAgICA5MTc5OTAsIDczODQxLCAwLCAwLCA5MDU2LCA2NDMxMywgNjE4OCwgMTIwMDE5LCA2MTU1LCA2NDA2OCwgMTgyMywgNjQwNjYsIAotICAgIDY0MDY1LCA2NDA3MiwgNjQwNzEsIDYzLCA3MjMzLCA5MjIxMiwgMCwgNDE5MDQsIDY2MzksIDY0MDY0LCA5ODM3NzUsIAotICAgIDEyODM0NCwgMCwgMTE3NiwgMTE4OTU5LCAxMjc5MzAsIDgxNjIsIDEyODY2NywgOTgzODMxLCAwLCAxMjA1MTksIDY2Mzc2LCAKLSAgICA2NjI0MiwgMTE0MTUsIDQzMzMsIDk4NTUsIDY0MTEyLCA2NDY0MiwgMCwgNTM4OCwgMCwgMCwgMCwgNzcxNCwgNjYyMjIsIAotICAgIDY5OTAyLCA3NzY4LCAwLCA0MTk5LCA2NDcwOCwgOTgzNDIxLCAwLCAwLCA4NzA4LCA5NTYwLCA2NDA3NywgNjQwNzYsIAotICAgIDg5OTYsIDQ5OTIsIDQ0NzEsIDQyNjIyLCA2NDA3OSwgNjQwNzgsIDkyMTc5LCAwLCAxMjY1NzAsIDAsIDY0NjE1LCA0MTkxNSwgCi0gICAgMCwgMTIwNzUsIDcwMDYyLCAwLCA1MTc0LCA5ODMyMTcsIDAsIDEyNzU1NywgMzEyMywgMCwgMTI2ODUsIDEyNzkwNCwgCi0gICAgODQwOCwgNjQ3MDQsIDAsIDAsIDkyMjMsIDAsIDQxNjE2LCA2Nzk5OSwgNzM3OTcsIDAsIDExMTYsIDEyODIwNCwgNDMwNDksIAotICAgIDcxMzYsIDQzMDUwLCA4NTQ4LCAxMjA0ODUsIDAsIDExOTA2MSwgOTE3OTk5LCAwLCAxMzExNSwgNDM2NzUsIDY0MDkxLCAKLSAgICA5MzIyLCAwLCAxMjA1OTUsIDY0MDk1LCA2NDA5NCwgODExMSwgNjYyNDcsIDQyMzMyLCA2NDA4OSwgNjQwODgsIDYxOTksIDAsIAotICAgIDAsIDExNDM0LCA2NDA4MywgNjQwODIsIDExMzI5LCA3NzM3LCA2NDA4NywgNjQwODYsIDY0MDg1LCA2NDA4NCwgMTk0ODE3LCAKLSAgICA5OTI3LCA0MTMzNSwgNDExOCwgMTc5NywgMCwgNDEzMzQsIDAsIDQ2LCA0MzQ0OCwgMTI3ODgxLCAyOTgsIDAsIDEyODExNCwgCi0gICAgMCwgNDI2MjcsIDAsIDMyLCA2MTg3LCAxMTkwNTIsIDExNDk1LCAxMTQ1OSwgMzY2NSwgOTgzNjAwLCA0Mjg3MSwgMCwgCi0gICAgMTk5MjMsIDc0MzM1LCAwLCAxMjcxOTIsIDY2MjM5LCA0MjI2NCwgNjQ0MDMsIDQ0MTIsIDcyNDAsIDkyNDk1LCAwLCAKLSAgICA5ODM0NjYsIDY1NzU4LCAxMjc1MCwgNDE4MSwgODU0NCwgMCwgMTIwMTk5LCA5MTc4OTcsIDEyMDE5OCwgNjk4MDksIDYxODEsIAotICAgIDY1MDE0LCAwLCAwLCA5ODMxOTYsIDM2MzksIDExOTU4OCwgMCwgMCwgMTE4OTA0LCAxMDA3MywgMTIwMjA2LCAxMjg4NjIsIAotICAgIDEyNzE4NiwgNjg0MDksIDQyODQ0LCA3NDk4LCAxMDk4LCA5MjU2NSwgMTIwMjA1LCAwLCA5ODMxMTgsIDEwMjA3LCA4Nzg5LCAKLSAgICA5ODMyMjUsIDAsIDAsIDk4MzQ3MiwgOTIzNCwgMCwgNjE4MiwgOTgzNDc0LCA2NTA1OCwgMCwgOTgzNDc4LCA5ODM0NzUsIDAsIAotICAgIDU0NzEsIDk0NjEsIDU1NzMsIDExODkzNiwgNTQ3MywgNDQsIDAsIDY2MjQ0LCA5NDA3MiwgMCwgNjYyMzgsIDEyODQ0LCAwLCAKLSAgICAxNjIyLCA3NzY3LCAxOTAwLCA0MTMzOSwgMTE0NTgsIDAsIDAsIDY1ODEsIDU1NzYsIDAsIDY0NDA1LCA0MTMzNywgMCwgCi0gICAgNDE2MzEsIDg5NDcsIDY4MzkwLCAxMjc4NDQsIDQxNjk0LCAwLCAwLCA3OTA4LCAwLCAxMDQwOCwgNjU3OSwgMCwgNjQ2MTgsIAotICAgIDAsIDEyMDE0NywgMjEzOCwgNjU4MywgNzc2MSwgMTI3MDEwLCAxMjA1MDQsIDE5NDgyOCwgMCwgNTA1OCwgNDEwMTAsIAotICAgIDk5OTIsIDEyODI5OSwgNTA1NywgMCwgMCwgNzQ1MzgsIDUwNTQsIDExODk1MSwgMTk0OTcxLCA3ODYwNiwgMCwgMTQzNywgCi0gICAgNDE2MTcsIDY1OCwgMzQ5NywgMTI4NTA5LCA3NDg2LCA1MDYxLCA1MDYwLCA0MjM1LCAxMjc4NzgsIDAsIDEyODUyOSwgCi0gICAgMTIxMTMsIDQyMzYsIDQ3MjcsIDAsIDAsIDc2OTMsIDEwNzQ5LCAwLCA3NDg4LCA1NzczLCA5NzgsIDEyODEzNCwgMCwgCi0gICAgNDE2MTksIDEwMjM5LCA2ODYxMSwgMCwgNjYyMDksIDAsIDEyODcwMCwgOTc0OCwgOTgzOTU2LCAxMjc1MjQsIDAsIDAsIDAsIAotICAgIDAsIDE5NTA4MywgMCwgOTgzODQzLCAwLCAwLCAwLCAwLCAwLCA5MzQxLCAxMTk1OTYsIDIzNzksIDExMzI1LCAwLCA2NDY2OCwgCi0gICAgNjc4NTQsIDgxMjUsIDEyMDU0NSwgNjc0MywgMTE5MTc1LCA5MTc5NDAsIDIzNjksIDAsIDk4Mzk3MiwgOTgzOTczLCAKLSAgICAxMTkyMzUsIDc0MDkyLCA3MzkzNiwgNzAwOCwgNDM2NjAsIDAsIDAsIDAsIDIzNjcsIDEyNzgyNywgOTgzODU3LCAyNjQsIAotICAgIDIzNzUsIDgwNjAsIDYxOTQsIDExOTg1OCwgMTg0NCwgMTE5MDg0LCAwLCA2MDE5LCAwLCAwLCA2OTYxLCAwLCAxMTg4MzksIAotICAgIDAsIDg4MDAsIDAsIDQyODYyLCA0NDYzLCA2NTU4MSwgNjE5MiwgMTk0Njc2LCA0Mjc3MSwgMCwgOTIzMzMsIDcyNSwgCi0gICAgNjUwNDIsIDExODc5NywgMTIwODAwLCA5ODMwNDAsIDEyODkyLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjcyNjEsIDEyMDcwNywgCi0gICAgOTgzMTI4LCAwLCA1MDc0LCA1MDczLCAxMjg3OTAsIDg5ODMsIDExODk4MSwgNzQ0OTMsIDk4MzU2MSwgNTA3MiwgOTM5NzcsIAotICAgIDYxOTgsIDExNjE0LCAwLCAxOTYsIDAsIDAsIDAsIDQ5MjksIDEyMDM0MiwgMCwgMCwgMCwgMCwgNDI4NDcsIDAsIDAsIDAsIAotICAgIDQ5MzQsIDAsIDQxMzIzLCA5NzU4LCAwLCA5MjI4OSwgMTI3OTE3LCA0MjU4NCwgMCwgNDMyOSwgNDEzMjEsIDQ5NzksIAotICAgIDMwNDgsIDc3NTIsIDQxMzIwLCA5ODMwNDIsIDc0NDE4LCAxMjgxOSwgMCwgNTA3MSwgMCwgMzY0MiwgMCwgNTA3MCwgCi0gICAgMTAwNDIsIDExODgzNSwgMzk4NywgNTA2OCwgMCwgODkwOSwgNzg2NTAsIDc4NjQ5LCA2OTkxNywgMTA2MzYsIDczOTgxLCAKLSAgICAxMTgwNiwgNDMxNjcsIDQ1MzEsIDEyNDUsIDkxMDUsIDY2NDYzLCA0OTIxLCAxMjAyMTksIDQ5MjYsIDY1NTQ0LCA3Mzg4NCwgCi0gICAgMTk0NjE5LCAwLCAwLCA2NDcwOSwgMCwgMTk0NjIwLCA3ODg4MCwgNDkyMiwgMzI1LCA5OTIsIDExOTU2OCwgNDkyNSwgMCwgCi0gICAgMCwgOTUyNiwgNDkyMCwgMCwgOTQ4LCAwLCAxMjAyMDgsIDQ5MzAsIDAsIDkyMTc1LCAxMjAyNzUsIDQ5MzMsIDEyMDIxMSwgCi0gICAgMCwgMTE4OTg1LCA0OTI4LCAwLCAwLCA3NDc3MCwgMTIwMTk0LCAxMjY1NDgsIDcyMiwgMTk0OTM0LCAxOTkwOCwgMTI2MzcsIAotICAgIDEyNzQ4NSwgMTE5ODU1LCA4NzUzLCAxNTA5LCAwLCA1NDY4LCA5NTExLCAxMjc0NzQsIDEyNzQ3NywgMTY3MiwgNjIwNSwgCi0gICAgMTA4NjQsIDc0NTg2LCAxMjc0ODAsIDcwMTAzLCAxMjc0NjYsIDc4NTU1LCAxMjc0NjgsIDczODYzLCAxMjY1NzcsIAotICAgIDEyNjUwMywgNDE2MDcsIDEyMDExNSwgMTY3OSwgMTIwMTE2LCAxMjAxODAsIDEyMDExMywgMTI3NDYyLCA3MDA1LCA0MTYwOSwgCi0gICAgOTU4MCwgMCwgNDAxLCA2OTk0OSwgNDM3NzksIDY5NjgsIDU3NjEsIDM0MiwgODU1MywgMCwgODE0MywgMTI3MTE1LCAKLSAgICAxMTk4MywgOTIyNDksIDYyNCwgNzQ1MDgsIDQwNTcsIDQzNzg4LCA1MDc4LCA3NDI1OCwgMTI0NzgsIDAsIDUwNzYsIDAsIAotICAgIDE5NDYwOSwgMCwgODI5NSwgNjg1LCA5MDI1LCAxNTI0LCAxMjYxOCwgMCwgNTUzOSwgMCwgOTI1MjMsIDEyMDEwMiwgNzEzOCwgCi0gICAgMTIwNTUyLCAwLCAxOTQ2MTEsIDc4NzUyLCAwLCAxMjUyMCwgODA1OCwgOTczMiwgMCwgNTA4MCwgNjQ3NzUsIDUwMzYsIAotICAgIDUwMzUsIDEyMDU5MCwgNDI2MDQsIDk4MzY1NiwgMCwgODA3NCwgMjc1LCAxMzI5MSwgMTkwNywgNzg4MzgsIDQ0MzIsIAotICAgIDEyNzI3MSwgNTAzMywgMTI3MjczLCAxMjcyNzIsIDQ4MzYsIDM4ODgsIDczNzkyLCAxMDcyOSwgNjQ1NDYsIDEyNzI2MiwgCi0gICAgNDM3MDQsIDEyNzI2NCwgMTI3MjUxLCA2NzU4OCwgMTE5MDAwLCAxMjcyNTIsIDEyNzI1NSwgODg1OCwgNjQwOSwgMTI3MjU2LCAKLSAgICAxMjAyNTIsIDEyODEwMCwgMCwgMCwgNjYzMjEsIDAsIDEyODE0LCAxMjcyNDgsIDM0MzIsIDEwMjE4LCAwLCA2MDk0LCAKLSAgICA3NjQxLCA0MjQ0NSwgMCwgOTI0ODcsIDQyNDA2LCAxNjc2LCA3NDMyMCwgMTk0NjA3LCA5ODMxNzcsIDUwMzAsIDAsIDAsIDAsIAotICAgIDczODY5LCA5NjIyLCAwLCA2OTk0NCwgNjc4NywgMCwgMCwgMCwgOTgzNTgzLCAxMDU0NCwgMTI5MTksIDAsIDkyMjE4LCAwLCAKLSAgICAwLCA2OTkwNiwgMTIwNzg5LCAwLCA5NDcsIDExOTgzNSwgMTk0NTg2LCAxOTQ1ODUsIDEwOTY5LCAxMTk5MzUsIDc2MTMsIAotICAgIDkyNTYyLCAxMTk5MzYsIDQ3OTUsIDExOTkzMCwgNzAxOCwgNzM3NiwgMTIwMTgxLCAxMjAxOTIsIDEyMDI2OCwgMCwgCi0gICAgNDM1NjcsIDc0MDU2LCA5MTc5MTAsIDExODMzLCAxMTk5MTksIDcyMTYsIDY1MjMyLCA3MjE3LCAyNTEsIDcyMTgsIDc4OTUsIAotICAgIDQzOTUsIDQzNTM4LCAxMTk5MjYsIDExOTkyOSwgMTE5OTI4LCA3MjEzLCAxMTk5MjIsIDcyMTQsIDcyMTUsIDk4MzgzNiwgCi0gICAgNzQxNDEsIDg4ODAsIDc2ODUsIDY2NDU5LCAxMjAxNzMsIDY1NTQwLCAxMTk2MTgsIDYyNSwgODE4NywgNDI4NjEsIDExMTMsIAotICAgIDcyMzYsIDc5MTUsIDM2MzAsIDEyMDE3NiwgODE3OSwgNzQyNjQsIDY3ODg2LCA5MzE2LCAxMDk4MCwgMjQ4OSwgNjU2MjQsIAotICAgIDgxNTAsIDEzNTksIDY3NjUyLCAxMjczMjksIDEyNzMzMCwgNzM3NTYsIDUwNDIsIDUwNDEsIDQyNzY5LCAxMjA4NCwgCi0gICAgMTI3MzI0LCAxMjczMjEsIDkyMjc5LCAxMjczMTksIDEyNzMyMCwgMTI3MzE3LCAxMjczMTgsIDEyNzMxNSwgMTIyODMsIAotICAgIDE2MTYsIDM3OTUsIDAsIDg3OTUsIDY2MjQ1LCAwLCAwLCAwLCAxMTM4LCA3MzkwNSwgMTI2NzcsIDAsIDAsIDMyMzksIAotICAgIDEyNzMxMSwgMCwgMCwgODQzMSwgMCwgNDIxNjQsIDAsIDExNzc4LCAxMjYyMCwgNjgyNiwgNzM3NzMsIDExOTA3MywgNTA0MCwgCi0gICAgMCwgMCwgOTgzNDQzLCA3ODQyMCwgMCwgNTAzOSwgMCwgNzg0MTgsIDAsIDUwMzgsIDAsIDAsIDEzMTg0LCA3NDI5MywgMCwgCi0gICAgNjQ2NDgsIDAsIDkzNTksIDc4NDE2LCAwLCAxMjg3NzAsIDY1MTU3LCA2NjYyLCAwLCAwLCAzODYzLCA3MzkwOSwgNDgzNSwgCi0gICAgNTUyNjYsIDQzNDMyLCAxMjc4MjIsIDQzMDksIDcxMjcsIDE5NDU2OSwgMCwgMTk0NTY4LCAxMzAxLCAwLCA0MjU4OSwgNTY5LCAKLSAgICAwLCA3MzgxMywgNzExLCA0Mzg5LCA3MTMzLCAwLCA3Mzg4MCwgMTE2MTAsIDExMzY4LCAwLCAxOTQ1NzAsIDQxMzMxLCAKLSAgICAxMDA2LCA3NDI0MCwgMCwgMTU1MCwgODIwMSwgNzM3MzcsIDc2MjcsIDU0OTksIDUwMzEsIDc3OTA4LCA0MjczOCwgNjU3ODQsIAotICAgIDc3OTA3LCA2NTI2NywgMzc1OCwgMCwgNjU3ODEsIDY0NzM0LCA3MDA3MywgMjQ0MCwgNjU3ODAsIDc3OTEzLCA4NDQ5LCAwLCAKLSAgICA1MDA4LCA5ODM1NzIsIDIxMTgsIDAsIDEyMTIxLCA4MjU1LCA1NTEyLCA3Mzg3NSwgMjEyOCwgMjEzMCwgMjEzMSwgMjEyNiwgCi0gICAgMjEzMywgMTExOSwgMTI3MDY4LCAyMTE0LCAyMTE2LCAyNDU1LCAwLCAyMTIyLCAyMTIzLCAyMTI0LCAyMTI1LCAxMjc0ODYsIAotICAgIDg3MTQsIDk4MzgyMCwgMjExMywgMCwgMjExNSwgMTI4MTc3LCAxMjc5MDcsIDQzNzEzLCA1MDUyLCA2NjIyMCwgNTgyMSwgCi0gICAgNjE4NiwgNjU3NzgsIDY1Nzc1LCA1MDUxLCA2NTc3MywgMTQyOSwgNDI2NDcsIDUwNTAsIDMwMiwgMzg4LCA0MTExNSwgNzM1LCAKLSAgICA2NjM3LCA1OTA3LCA2NTA4OCwgMCwgMTI3MjYsIDc0NTk0LCA5MTE3LCA5ODMxODEsIDEyMDAzLCA1NTEzLCA2NjY2LCAKLSAgICA1MDUzLCA3NDIzMCwgNTUxMCwgNzg0NTEsIDAsIDc4NDQ3LCAyNDcwLCA3ODQzNywgMCwgMTkyNSwgMCwgOTIyMzcsIAotICAgIDc0ODA3LCAwLCA1MDQ4LCA1MDQ3LCAwLCAwLCAwLCA5MjMxMywgMCwgNzQ0OTcsIDkyMzk1LCA4MDg5LCA2OTI5LCA2MzksIAotICAgIDk4MzU2MywgNjgxNzksIDY0NDQyLCAwLCA5MjM0OCwgNDU5OSwgNDE0MDIsIDY2NzQsIDQzMzk3LCA0MzI5NCwgMTQ3NiwgCi0gICAgNjQ4LCAwLCA2NTgxOSwgMzIzMywgMCwgNDE3ODIsIDY5NTEsIDk0MDE3LCA5ODM5NzYsIDM1MzAsIDk3NTAsIDEyODMxNywgCi0gICAgMCwgNjY1NiwgNDI2MTgsIDAsIDUwNDYsIDg1MTIsIDY1ODU2LCA3NDI2MSwgODk2NywgMCwgNTA0NSwgNDIwMjYsIDE5MTYsIAotICAgIDc5ODYsIDUwNDQsIDEyMDU1NiwgOTAwNiwgMTMxMjgsIDUwNDMsIDAsIDc4NTMsIDc0MDY4LCA3NDAwNCwgOTY2OSwgCi0gICAgMTIzNDEsIDEyNzAzLCA4NDAyLCAwLCAxMTkwNzAsIDkxNzYwMCwgNDE3NTAsIDM1ODYsIDY0NTA4LCA0MzE0OCwgMCwgMCwgCi0gICAgMTE5NjA2LCA2Nzk4MywgMTMyOTYsIDUxNywgMCwgMTI4NTM0LCAxOTQ5NDYsIDQxNTI4LCAxMjMsIDY1NDU0LCAwLCAwLCAKLSAgICA3NDQ3OCwgMTA1MzEsIDc3ODQsIDQxNTI2LCAxMDgyOSwgNzM5OTEsIDgwNTcsIDExMjYsIDczODk1LCAwLCAxOTQ1OTEsIDAsIAotICAgIDM5MjUsIDQyNTEsIDgwNjksIDEwNTE3LCAxMjA0MzksIDQ4OSwgMCwgNDI1MCwgMTIwNDQxLCAxMjA0NTIsIDQzMTUxLCAKLSAgICA5ODMxNzgsIDE5NDg1MSwgNjYyMDAsIDAsIDAsIDAsIDc4NDIzLCAwLCAwLCA4NzExLCA2MTgzLCAwLCAwLCAwLCAxMjA0NDgsIAotICAgIDc2MjMsIDExODkyNSwgMTE4ODg5LCA5MjM1LCAxMjc2MCwgNzQxNzYsIDY5NjYyLCA2NjQ0NSwgNDM1NDAsIDEwMDYyLCAKLSAgICAzNzQzLCAxMTUxNCwgMTEwNzgsIDAsIDEyMTM2LCAwLCAxMjY1OTcsIDEyMDQzNSwgMCwgNzcyNiwgMCwgMTk5MjIsIDI2NywgCi0gICAgMzM5MywgNDIxOTgsIDEzNzEsIDE5NDg0OSwgNjkyMzMsIDI0NTgsIDAsIDYyMDEsIDAsIDQxMDc0LCA0MjY2LCAxMDY1MiwgCi0gICAgNDE2MTIsIDQxMDc3LCAzNDAyLCA5MDUwLCAzMzk4LCAwLCA5ODMzNDgsIDAsIDMzOTEsIDQxMDc1LCAyNDc2LCAwLCAKLSAgICAxMjgwMTcsIDAsIDEwNjI1LCAwLCAxMjc2NywgMTMwMTcsIDc4NzQzLCA2NDI2MSwgNjQ5MzQsIDEyNzUzNywgMTMwMTQsIAotICAgIDEzMDEzLCAwLCA2NjczLCAwLCAwLCAwLCAxMjQzOCwgMCwgOTgzMzQyLCAwLCA5ODM4ODAsIDEyNjYzOCwgOTA1MywgCi0gICAgMTMwMTUsIDc0NTIzLCAwLCA3MDQsIDY2MjE1LCA2MTk1LCA5ODM4MjgsIDY2NjAsIDc4NzU4LCA5MTc3NjAsIDkxNzc5MywgCi0gICAgNDIyMTIsIDEyNjI5LCAxMTQzNSwgMCwgNTUyNTYsIDY1NTM4LCAwLCAxMjc5NDAsIDk4MzM0MSwgNzQ1NDcsIDEyNjU4NSwgCi0gICAgNjU0NDgsIDc4MTAwLCAxMjk0OCwgMTE5MDAxLCAxOTUwMDIsIDExOTIzOCwgMTk1MDA0LCA3ODA5OSwgMTI3MDg1LCAwLCAKLSAgICAxMjgzMjAsIDQyODcsIDgyNzYsIDQ5MDIsIDExMzEsIDAsIDc4NDU4LCA2NjcyOCwgMTgxNiwgMCwgNDI1MzMsIDE2OCwgCi0gICAgNDI4NDUsIDQ4OTgsIDY0Mjk4LCA5ODMxNDEsIDAsIDQ5MDEsIDE4MjEsIDAsIDU3OCwgMzY1MywgMCwgNzkxLCA5MTYyLCAKLSAgICA2OTc3LCAwLCA3ODg4OSwgNzQ1NjEsIDAsIDczNzMxLCA4MzU0LCA0MzU5MCwgMTE5MzAzLCA5ODM0NDksIDc1NTcsIAotICAgIDExOTMzOSwgMTE5MzAxLCA4MjM0LCA3MjQxLCAwLCAxMjA2NzEsIDExOTE2NywgMTk0OTk2LCAxMjgxMSwgNjU5MjUsIAotICAgIDM5NDYsIDc4MDc4LCAxMDk5OCwgNzgwODAsIDY3MywgMTk0ODY3LCA2NDM5NywgMTI4Mjc2LCA3NDU5OSwgNzg0NDksIAotICAgIDg4OTAsIDE5NDk3NywgMTk0OTc2LCAyNDQ4LCA3ODA4NSwgMTAyNjcsIDg0MjQsIDI0NTIsIDc4MDgzLCAxMjg4MjQsIAotICAgIDg3MjksIDc4NDU2LCAwLCA3ODQ1LCA5MTc5MTcsIDcxMzAyLCA0NDA4LCA0MTIyLCA2NzcyLCAxMTAzOSwgODcyMywgCi0gICAgMTk0OTkwLCA3MTMxMCwgMTE5MzAyLCA3MzEsIDExOTMwNCwgOTIyODYsIDI0MzgsIDY0ODU1LCAxMTkzMDAsIDExOTI5OSwgCi0gICAgMTE3NSwgMCwgNDIxMzUsIDM3MywgMTE5MTcyLCAyMTE5LCAxMTQ1NywgMTE1MjEsIDc3MjMsIDAsIDAsIDAsIDQxOTUyLCAwLCAKLSAgICA1MjczLCAyMTI3LCA1MjY5LCA2MzM3LCA1MjAyLCAyNDA0LCA1MjY3LCA0MjgyMywgMTEyOTEsIDE5OTE1LCA1Mjc3LCAKLSAgICAxMjk2MywgMTI3ODY0LCA2MTg5LCA0MTI1LCAxMzE0LCAxMjEzMywgMTIwMzQwLCAxMTg4NzMsIDEyNzEsIDk4MzY0MCwgMCwgCi0gICAgNjYwMjQsIDQxNDgyLCAzODY0LCA3NDUzOSwgMCwgMzg3OSwgMCwgMTI5NzgsIDQxNjYsIDQ1NzQsIDAsIDc1NjcsIDc0NTksIAotICAgIDk4MzE2MCwgNDEzOTAsIDUzODQsIDQxODgyLCA2NzY0NywgOTI1NDgsIDU3NTksIDk4MzkxMiwgMCwgNDEzODgsIDY0NDQ2LCAKLSAgICA0MTM5MiwgNjQyODgsIDQxMzg3LCAwLCA4NzA2LCA1NTUyLCA5ODMxODcsIDcwMCwgMCwgNTU1MywgMCwgNzA4OCwgNTM1NiwgCi0gICAgNzQ5OSwgNjgwMDcsIDY2NTk2LCA3NDA2NiwgMCwgMTAyNjMsIDU1NTQsIDAsIDEyMzQ0LCAxMDMxMSwgNzgxMTMsIDY2NjUsIAotICAgIDkyNjI2LCAwLCA3NjE4LCA4NTE3LCAxMTQ1NSwgNzg0NDAsIDY0NjMyLCA2NDQ0NywgNTU1NSwgNzgwODgsIDc4MDkzLCAKLSAgICA3ODA5MSwgMCwgNDI4MDMsIDY1MDMzLCA5MTQzLCA2NjY4LCAxOTUwNjcsIDY3OTk1LCAxOTUwNjksIDY1NiwgMTk1MDcxLCAKLSAgICA2NTAzNywgNDU3NywgNjQ2MjQsIDAsIDAsIDAsIDk4MzY0OSwgNDI2OSwgNzM4ODUsIDkxNzc3NSwgNDI4NDYsIDY5NjQ0LCAKLSAgICA5NTAsIDAsIDkyMjczLCA2NjU4MCwgMTE4ODk1LCA2NjY4MywgMTA1NTQsIDkxNzc3OCwgMTE5MTIxLCAwLCA1MDk4LCAKLSAgICA5MTc3NzAsIDAsIDExOTA5OSwgNTA5NywgNDkzNSwgOTg0OCwgMTAzODEsIDAsIDEyODg3MCwgOTgzNzAxLCAzNjUxLCAwLCAKLSAgICAxMjA3MzAsIDEyNzU1NiwgNTEwMiwgNTEwMSwgMTAyNjksIDEyOTgzLCA4MTM4LCA0NTE3LCAxOTMyLCA1MTAwLCAxNDM5LCAKLSAgICAxMjA5MywgMTI0NywgMTAwMzQsIDE5NTA2NCwgNTA5OSwgNzgzNzMsIDE0NDEsIDQyMDg3LCAzMDYzLCA2NTAsIDAsIDc4MzgsIAotICAgIDAsIDE5NTA0MSwgMTk1MDQwLCAxMTkxNDIsIDkwMzEsIDEyMDc5MCwgMTI4NTgyLCA5MDc4LCA4NTQ1LCA2NjM1NiwgCi0gICAgMTI4Nzk5LCAwLCA5MTU0LCA5MTE4LCAxMjY1NDMsIDAsIDI2NzYsIDIyNzcsIDAsIDczODEyLCA2MTkwLCA4NTk5LCAKLSAgICAxOTUwNTMsIDY5OTE4LCAxMDc5NSwgOTg1NywgNzAxNCwgOTg1NiwgMTk1MDMzLCA5MjYyMCwgMTIxMjksIDAsIDg0ODEsIDAsIAotICAgIDYyMDIsIDE5NTAzNSwgMTA5MjAsIDEyODIzNywgNTIwMywgMTk1MDM5LCAxOTUwMzgsIDUxMDgsIDUxMDcsIDY1ODE4LCAKLSAgICA2NjAxOSwgOTc2MiwgMCwgNTU0MSwgNzQ3NzIsIDAsIDEyNjEzLCA1Mjg0LCA2NjU3LCAyMDcsIDEyODgwNiwgNDI3NSwgCi0gICAgNzQ4MTksIDg1NCwgNjgxNDcsIDc0MzgxLCAwLCA3ODc4NiwgNTEwMywgMTI3ODYxLCA2NDM0OCwgNDEzNjgsIDQzOTc0LCAKLSAgICA0ODgsIDY5ODExLCAwLCA3MTMzOSwgMTAxNTcsIDAsIDQzMDM0LCAxMTQzOCwgNjQ2NzQsIDAsIDkyNjk0LCA2ODQzMSwgCi0gICAgNDE3NzEsIDUxMDYsIDY2NjksIDg1MDQsIDY1MTU0LCA2OTgxMywgNDEzNjcsIDUxMDUsIDEyNzUwOSwgNjk3MjAsIDY0NzYsIAotICAgIDUxMDQsIDk4Mzc0OSwgMzA0LCAzMTc2LCAxMTkwMTAsIDAsIDkzMiwgMTIwNjMzLCA2NTY3LCAyMzgsIDY5NjU2LCAKLSAgICAxOTUwMTEsIDE5NDU5NSwgMTk5MDUsIDEyMDU3NywgMTk1MDE1LCA3ODg3MCwgNDEwNDQsIDY3NjQwLCAxOTQ5MDIsIAotICAgIDQyMDU1LCA5OTEyLCA2NTkzOSwgMTA2NzAsIDc0MDkzLCAxMzI3MywgMCwgMTI1NTIsIDE5NTAxOSwgODgwMywgMzA5LCAKLSAgICA2NjIyLCA4MTUxLCAxMDg1OCwgNzg3MDYsIDY3NjM2LCAwLCAxMjU2OCwgMCwgMTI1NTMsIDEwODE0LCA0MzI3NSwgNjk1MCwgCi0gICAgOTcxMiwgNjg2ODAsIDQzOTcwLCA5ODMxOTgsIDY1MTY1LCA5MjcyNSwgMCwgNjY0NjYsIDAsIDAsIDAsIDY2NzI1LCA2MTkxLCAKLSAgICAxMTM1MSwgMTA0MzcsIDExMzE2LCA2NzYzNCwgNDM3NjMsIDAsIDQxNzU0LCA2NzYzNSwgOTM3MCwgMjcyMCwgMTk0OTc1LCAKLSAgICA2ODQ2MiwgODIzMiwgMTE4ODE3LCAwLCAzMjIyLCAwLCAwLCAwLCA2NjY2MywgMCwgMCwgMTA4MzQsIDAsIDAsIDY1NzMyLCAKLSAgICA5NDA5NSwgOTE3NTQ3LCA5MjY4MiwgNjc2NzksIDE5NTAyMCwgMCwgNzc4MSwgNDEzODMsIDY0NTY4LCAwLCAxMjA3MzgsIAotICAgIDEyMDc3LCAwLCA2NDU4NiwgOTE3NjIwLCA0MjM5NiwgNTUyNTUsIDM0NzUsIDEyODAzNSwgMjQ3OSwgMCwgMzYzMiwgCi0gICAgMTIwNzI4LCAxMDY5OCwgODM3NiwgMzY0OCwgMTk0OTYwLCA3NDg0NCwgNjc2MzksIDM2MzYsIDY3ODk0LCAzNjUwLCA4ODM3LCAKLSAgICA2NTIyOSwgMTg0MywgNDIyODMsIDQzMjUwLCA0MTU2MiwgOTEwMCwgNzQ1NDgsIDkxNzYzMCwgMzY0MCwgMTI3MTkwLCAKLSAgICA0MjMyMSwgNzI4NCwgMTk0OTc0LCAxOTQ5NzMsIDE5NDk1MCwgMTk0OTQ5LCAxOTQ5NTIsIDE5NDk1MSwgMTI2NjQ5LCAKLSAgICAxOTQ5NTMsIDQyMDgwLCAyNTI5LCAwLCAwLCAwLCA0MjA4MywgMTIwNjc4LCA2ODM5OCwgMTk0OTU3LCA2NzYxOSwgNjYzNjcsIAotICAgIDE5NDk1OCwgOTYzNCwgOTIzODAsIDk5ODgsIDAsIDQxMDY4LCAwLCA0Mjk1LCA2NTI2NCwgNjgwMDYsIDAsIDkyNTQ1LCAwLCAKLSAgICA3ODUsIDgyMzYsIDEyODY0NywgOTAyNywgNjgxNjAsIDY3NjIzLCA2NDM4MywgMTIwMjY1LCA5MjUsIDEyNzE1NiwgMCwgCi0gICAgNDE5ODUsIDQxMDcxLCA5NTg2LCAwLCA0MTk4NCwgOTIxNywgMCwgMCwgMCwgOTE4NiwgMjA2NywgNDAxNiwgOTgzODAzLCAwLCAKLSAgICAzODEsIDEyOTM2LCAwLCA0MjA3NywgMCwgNjk4ODAsIDUxODQsIDQyMDc4LCAxOTQ5NDcsIDEwODEwLCAxMjg1MzEsIDQ1ODUsIAotICAgIDE5OTQzLCA1ODYwLCA2NzYzMywgMCwgMCwgODEyLCAzNjE1LCAwLCA1MTc4LCA0NDAwMCwgMTIwNTQ4LCA3ODgwNywgNTE4OCwgCi0gICAgNzQyODcsIDY3NjI5LCAzNjA1LCAxMDY5MiwgMTE2NiwgNjQ0MjksIDQyNjM5LCA5MjQsIDAsIDY3NjMxLCA0MjYxNiwgCi0gICAgMTIwNjcwLCAyNDQyLCAxMDcwMywgNzg3ODksIDY3NjMyLCA5MTc5MjQsIDEyNzcxLCAxMjczNiwgMTI3NTMsIDY2NzA4LCAKLSAgICA3MzkzMywgNjc2MjYsIDQyNDAxLCAwLCA2OTg3MiwgMTI3MzczLCA0MjI4OCwgMTI3NTEsIDAsIDg1NDIsIDEzMTQ1LCAKLSAgICAxOTQ5NjMsIDI0NjgsIDY2NzA2LCA0MTI5NCwgMzYyNiwgMzg4MywgNjQzODgsIDQyNDc5LCAwLCA0MTExNywgMCwgOTI1ODAsIAotICAgIDAsIDAsIDY3NjI0LCAwLCAxMjkwLCAwLCA2NTU4NSwgMjcxNSwgODA2LCA2NTIwOCwgNDE4ODQsIDkxNzg4MywgMTMxOCwgCi0gICAgNjQ3MzEsIDEyNjU3OCwgMCwgMCwgNjYzMjUsIDM0NjUsIDI0MDUsIDkyNDAsIDAsIDEyNzU2LCA2NTI1OSwgMCwgOTgzNzgxLCAKLSAgICAxMjc1MiwgNTgzMywgMTQzMiwgMCwgNDE4ODMsIDczOTEyLCA5Nzk5LCAwLCA0MTg4NiwgMjQ4MCwgMCwgMjA2MiwgCi0gICAgMTI3MjkzLCA2NDk0LCA1NTM3LCA3ODY1NiwgMCwgMTk0NTg3LCAwLCAxMjExLCAwLCAwLCAwLCAxMTg4MzIsIDEyMzE4LCAwLCAKLSAgICAwLCA2ODAwNSwgMTA2MjIsIDk4Mzc3OSwgMCwgNzg2NTQsIDY1NjYsIDc4NjU5LCAwLCA3Mzc4MCwgMTE5MTk2LCA2NDg2NCwgCi0gICAgMCwgNzg2NjAsIDAsIDgyODQsIDEzMDgxLCAwLCAzNTg5LCA0MjA1MSwgNDAzNSwgNjQ5MiwgOTIyMzYsIDQyNjUsIDY2NDIsIAotICAgIDM5NzcsIDc0MTg2LCA0MTc3OCwgODM2LCAxMTkyMTYsIDI0ODgsIDAsIDQ1ODIsIDAsIDAsIDQxNzc3LCAxMjkyNiwgCi0gICAgOTgzMzc3LCA3NTI4LCAxMDU1MCwgMCwgOTI3MDYsIDAsIDEwOTYxLCAwLCAxMzc0LCA2NDg3OCwgMTE5MDE0LCAwLCAKLSAgICA0MjM4OSwgNDEzNzQsIDIyODYsIDAsIDc4NDkyLCA0MTM3NywgMTI3OTA5LCAwLCA0MDAsIDEyNTk3LCAxMjA1ODYsIDAsIDAsIAotICAgIDY2NjEsIDk4MzE0NSwgNjQ4MjcsIDAsIDczODE3LCAzOTAsIDAsIDcxMzAxLCA5ODM4NjIsIDM0NzMsIDc3MTgsIDAsIDAsIAotICAgIDAsIDU1Mjg1LCAwLCAwLCAwLCAxMTk2OSwgOTgzMzkwLCAxMjc4NDEsIDYzNjUsIDE4ODcsIDY3NjMsIDk4MzM3MCwgODA4MCwgCi0gICAgNzAwNiwgMCwgOTgzMzcxLCA2NzU3LCA2NDM1MSwgMTU0NCwgMCwgNjc2NiwgNjQ2NzcsIDEyMDcxNiwgOTgzMzcyLCA2MTQ2LCAKLSAgICAwLCA3NzEsIDk4MzM3MywgMCwgMTI4MTIsIDEzMTY4LCA0MjI3MiwgMTIyMDAsIDkxNzkyNywgNzkwNCwgMCwgOTUzLCAKLSAgICAxMjkxNywgMTE5NTYwLCAxMjMwMCwgMCwgMTE0OTEsIDk3MjQsIDEwMzQxLCA5ODM3NzMsIDk1MjQsIDc0OTAsIDExMzg5LCAKLSAgICA3NDg5LCAzMzc5LCAwLCA3NDg3LCAwLCA0NzEsIDc0ODQsIDc0ODIsIDY3NTMsIDc0ODAsIDU3NjQsIDc0NzgsIDc0NzcsIAotICAgIDY1MDEsIDc0NzUsIDY5MTgsIDc0NzMsIDc0NzIsIDI0NzQsIDc0NzAsIDc0NjgsIDEwMjMyLCAxMDYxNSwgMTAyMTMsIAotICAgIDEyNzI4OCwgOTIzNTcsIDEwMDQ5LCAxMTgzNCwgMzU0NCwgMCwgNjAxNywgNjUzMTEsIDEyNzQ4MSwgMTIwMjE2LCAxMzMwNiwgCi0gICAgMTA1MzMsIDc4NzAsIDczOTQ5LCA3NjI1LCAwLCAxMjA1NDQsIDAsIDAsIDkyNjYwLCAwLCAwLCAwLCAxOTk2MSwgMjQ3MiwgCi0gICAgNDI2NjUsIDkyMzQxLCAwLCAyMTM5LCA0MjU2LCAxMjA3NzYsIDc0MzgwLCAwLCA0MjY3NSwgNDI2NTgsIDEyODQ1LCAwLCAwLCAKLSAgICA2NTEzOCwgMTE5MzU1LCA2Nzg2MiwgMCwgNjU2NzEsIDcwODMsIDEyMDAwOCwgODA2NiwgNzY3OCwgNzQ4NjUsIDAsIDAsIDAsIAotICAgIDAsIDcxODYsIDAsIDEyMDU1NSwgMCwgNDQ1LCAxMjA1NjYsIDEyODMwOCwgMCwgMCwgODMzMCwgMCwgMCwgNDI3OTcsIAotICAgIDk4MzE1MCwgMTIwMjE1LCAwLCAzOTAyLCAwLCAxNzcwLCAwLCAxMjg4NjYsIDE1NjAsIDEyMDIwOSwgMTk0OTcyLCA0NTg0LCAKLSAgICA3Mzg0MywgMCwgMTE3MTIsIDEwODY2LCAxMTg5MjgsIDExMTgsIDcxMzM0LCAwLCAwLCAxMDgxLCA3NDM2LCA2ODQyMCwgCi0gICAgNzI1MiwgMCwgNTk5NiwgNjk5MjEsIDQ5MDMsIDAsIDQxMzg2LCA1MTYyLCAxMTkxODksIDEzMzAsIDAsIDcxMzksIDAsIAotICAgIDEyMDQ3LCA0MTM4NCwgMCwgMCwgMTg0OCwgNDMzNCwgNjMyNCwgNDE5NzUsIDY0Nzc3LCAxMDY3NCwgMTIzMDgsIDEyMTg2LCAKLSAgICAwLCAwLCA5ODM3NDEsIDEyNzE1LCA2ODAwMiwgOTgzNDc5LCAxMjY2MzAsIDIwMTgsIDY2NjcyLCA0MTk3OSwgNjY2ODUsIAotICAgIDExOTE1NywgNjgwMDAsIDkyNDY0LCAwLCAxMjY5ODQsIDY4MDAxLCA5MzM0LCA5MjcwNSwgOTIzMTUsIDcwMTAxLCA3OTc1LCAKLSAgICAwLCA3Nzk1NywgMCwgNjY2MjEsIDQ4ODQsIDY2NTk3LCA2OTczMiwgMCwgMCwgNjMxMywgNjU1MTMsIDY5ODU3LCAwLCAwLCAKLSAgICAwLCAyMzQ1LCA0MzY5NywgNDYzLCAwLCAwLCAxMTk2MDcsIDMxMTcsIDU0NjAsIDAsIDAsIDk4MzM4NywgMCwgNDIyNzksIAotICAgIDE5NDU3NywgMCwgNzg0MTUsIDAsIDE5NTAwOCwgOTgzMzg0LCAxMzI0OCwgMCwgMCwgMCwgMCwgMCwgMCwgNTY2MywgMCwgMCwgCi0gICAgMCwgMCwgMjQ4MiwgMTQ3MSwgMCwgMCwgNDIyNDcsIDEyMzc4LCA3MzkyNSwgNjk2NjQsIDAsIDEyMzc0LCAwLCAwLCAwLCAKLSAgICA5ODM2OTQsIDI0NjAsIDAsIDExOTQ0LCAxMjM3NiwgMTI3ODY4LCA2NDY3OSwgMCwgMTIzODAsIDEwNTU3LCA2NDQ3MywgCi0gICAgNTg3MCwgMCwgMjAyNCwgMTI3MTgwLCAwLCAwLCA1MzksIDAsIDEyNzc2NSwgOTQwNTIsIDM4NTMsIDY1MTgwLCAxMjc5MjMsIAotICAgIDEyMDc5NiwgMTIwMjQ1LCA5MjMyNCwgMCwgODY1OSwgMCwgMTI0NzQsIDkyNTc5LCA5NTAzLCAxOTQ5NjksIDI0NzgsIDAsIAotICAgIDQxNjIsIDAsIDQyNjAsIDEyOTUzLCA2OTYzMywgMTIwMDg5LCAxMjQ3MCwgMCwgNzQxODksIDI3NDIsIDEyNDc2LCAxMTc5OCwgCi0gICAgMTA5NDYsIDEyNzMxMCwgNTAwMCwgMCwgOTgzNTc5LCAwLCA2OTY3MiwgODIxMywgNzQwMTcsIDc3NzEsIDYxNjEsIDY4MDE4LCAKLSAgICA2NzA5LCAwLCA3ODg4NSwgOTgzNzA4LCAxMjc5NzEsIDEyMDU4MiwgNzg1NDcsIDAsIDEwMzAxLCAxMDMzMywgMTAzOTcsIDAsIAotICAgIDAsIDczNzkxLCAwLCAwLCAwLCAwLCAxMTkxMjMsIDQwMTQsIDEyODQyLCA3Mzk1MiwgMTIwMTUsIDEyNzI5MCwgODI3NSwgCi0gICAgMzg5MywgOTgzMjY0LCAwLCAxMjIxMCwgNzIyMSwgNDIxNDcsIDAsIDc0NTUwLCA3NDQ2NSwgNjQ3NDcsIDExODg0MSwgMCwgCi0gICAgMTI1MTYsIDQ0NDQsIDAsIDkyMjcxLCA3NDUzNywgMTA4OTIsIDgyMzEsIDAsIDY0NzMsIDQxOTY4LCA3ODM4OCwgNDE5NzMsIAotICAgIDM1OTEsIDQxOTY5LCAwLCAyNDUzLCAxMjg1NDksIDkyNjY2LCA2NDcwNSwgMCwgMCwgMTAzNDksIDEwNDEzLCA0MzU5MSwgCi0gICAgNDE5NjIsIDMyMDIsIDc0MzUzLCAwLCA4MzE2LCAwLCAwLCA5NDA2MCwgNjg3LCAwLCAwLCAwLCAxODQwLCAwLCA2ODY3MSwgCi0gICAgMTE5ODA5LCA0ODgzLCAyODUsIDQ3MjMsIDcwMDk5LCA5MjY5MiwgNDQ1OSwgNzQ1NzcsIDQyOTIxLCA0MTcyMCwgMTEwODksIAotICAgIDI0MCwgMTk5MDYsIDAsIDQyMzIzLCAwLCA5NzQzLCAxMjAyMzIsIDEzMTM0LCAxMjY1MzUsIDAsIDAsIDAsIDAsIDQyNjM0LCAKLSAgICA5ODMzNDMsIDQzNDM3LCAzMDgxLCAxMTQ2MywgMTIwMTU0LCAwLCAwLCAxMDQ0NSwgMCwgMCwgNjY3MTcsIDI2MTQsIDkxMjUsIAotICAgIDExOTAyMywgMTcyOSwgMCwgMTIwMjM2LCA2NTIyMSwgNjM4ODMsIDQzMzM0LCA2NDg1MiwgMCwgNjUxOTQsIDY2MjAxLCAwLCAKLSAgICA2NjU3OCwgNTAwMSwgNDE4NzksIDc0NDI3LCA0MTIxLCA1MDAzLCA4ODQsIDY2NzAwLCA2Mzg3OSwgNDk0MywgNTE1MCwgCi0gICAgNzM4ODksIDc0MTgyLCAxMjc5MTUsIDY0MywgMzA4NiwgMCwgNDI0NDgsIDQyMjk5LCA1OCwgMCwgOTE3OTUyLCAxMjAwODMsIAotICAgIDYzODczLCA4NDkxLCAwLCAwLCA5ODM2MjMsIDQ1MzAsIDQyNDA5LCA3MTI2LCAxOTQ1NzUsIDI3MjEsIDEyMDA3NCwgCi0gICAgMTE5MDk2LCAxOTkyOSwgMCwgMTk0NTc0LCAwLCA0MjQyLCA0MjY0LCAxMjAwNzcsIDEyMDUzMCwgNjYxNzksIDQyNDEyLCAKLSAgICA2NTk0MSwgMTMxMTQsIDY0NTIyLCAxMDc0MCwgMzA5NCwgMCwgOTc1NCwgMTE5MTAyLCA0NDM3LCA3Mzk0OCwgMTI3MDc0LCAKLSAgICA5ODMyMzgsIDU1MjgwLCA0MjE3NCwgMTk0OTI1LCA0MjQzMCwgMCwgMCwgNDIzNTUsIDY2MDI2LCA0MzA2LCA0MTM4MCwgCi0gICAgNjg0MzIsIDkyNTg2LCAwLCA2NjY2NywgMTI3MzA5LCAwLCAxMjY1MjEsIDQyMjAwLCA0MjU2NiwgMCwgMCwgNTA4OCwgCi0gICAgNjk0OCwgMCwgODUyNCwgMCwgMCwgMTIzODUsIDAsIDAsIDY5NjQ2LCAxMzg2LCA2NDU4MCwgMTE0ODAsIDYxMTYsIDY1MDM5LCAKLSAgICA2NTAzOCwgMTIzOTIsIDY1MDM2LCA4MDY0LCAwLCAxMjEwMSwgNTgyMiwgMTE5MDA0LCAyMDgwLCA3MTAsIDc3OTk5LCAKLSAgICAxMTY2MywgMTY2NiwgNDIwOTEsIDExOTY1NywgMTIzODMsIDQzNjcxLCA0MjA5MiwgNjg0MTgsIDQyODksIDAsIDYzODk2LCAKLSAgICAxMjA2MSwgNDIwOTYsIDQzNjIxLCAzMzYyLCAxMjM3NywgOTgzODMyLCA5ODM4MzQsIDY4NDQ5LCA3NDYxLCA3MzkwMSwgCi0gICAgMTI0NCwgMzMxLCA3Mzc4NiwgMTI2ODMsIDEwNjYyLCAwLCA4MTEyLCAwLCA2NTg1MiwgMCwgMTIzNzksIDE5NDg3NywgCi0gICAgMTIwODE4LCA0MTk2NCwgNDIyMDgsIDYzODQzLCAyMDg0LCA0MTk2NSwgMCwgNjU4NjYsIDQzMjcsIDAsIDYzODQwLCAKLSAgICA3ODU0OSwgNDEyMjAsIDEzMDMyLCAwLCA1ODQsIDEyOTMzLCA0MzE3NywgMTIzNzMsIDY5ODU1LCAxMzAwMCwgMTM1MSwgCi0gICAgMjkzNSwgODY5OCwgMTI2NjUsIDAsIDE5MzAsIDAsIDc4MjI5LCAxMjQyNywgNjY1MTQsIDY5ODU5LCAxMzAzMSwgMCwgCi0gICAgNjM5MDEsIDAsIDM2NTcsIDEyODU3MiwgNjUyMDIsIDYwMDAsIDExOTIwNiwgMTI0MjYsIDEyNzE4MSwgMCwgNDE3NDAsIAotICAgIDEyNDI4LCA0MTI4MywgNDE5MTYsIDExOTIxMCwgMCwgMCwgMTI0MjksIDY3MjcsIDAsIDc1NjIsIDAsIDUxNzAsIDAsIAotICAgIDQxNzU1LCA2NzYsIDAsIDY2NzA0LCA2NjY2NCwgOTk3OCwgNjY0OTEsIDM1MzYsIDAsIDk3NTIsIDkyMzk3LCA2MTYyLCAwLCAKLSAgICA2OTIyOCwgMTAxMTMsIDQxODI5LCA2NTg4NiwgNTE1OSwgMTI0MjIsIDQxODMyLCA0MzksIDQzMDc3LCAwLCA0MjIwNywgCi0gICAgNzQ1NDksIDExNzk2LCA0MDk3MCwgNDE4MzAsIDAsIDkxNzc5OSwgODMwOCwgOTE3Nzk3LCA5MTc3OTYsIDAsIDY3ODY0LCAKLSAgICA5MTc4MDEsIDkxNzgwMCwgMTIzMzYsIDQxMzUsIDY5ODA1LCAzNDEsIDI3MjcsIDQxMjksIDM1MzksIDAsIDYzODYxLCAwLCAKLSAgICA3OTEzLCAwLCA2Mzg1OSwgNDEzMSwgNjM4NjgsIDAsIDYzODY3LCA0MTMzLCAxMTM3MSwgMjEwLCA0NjAwLCAwLCA3NDU2MCwgCi0gICAgNDEzNywgODA4MiwgNzg1MDYsIDExOTA2MiwgNzg1MDQsIDY3MDQsIDQ1OTEsIDEyODAyOSwgMCwgMCwgOTY4MCwgMCwgCi0gICAgMTIwNjIzLCA1NjEsIDEyMTU5LCAxOTUsIDc4NTA4LCA0MTUwMSwgMCwgNDIwMzEsIDU3MTksIDcxNzIsIDQyNjg3LCA4MzY4LCAKLSAgICAwLCA0MTQ5OSwgMCwgMCwgNDIyNDIsIDQxNDk4LCA5MTc3OTQsIDQyMDI1LCA3ODU2NSwgNjU4MDUsIDQyNDYzLCAwLCAKLSAgICAyOTI0LCAwLCAxMjA1MTAsIDAsIDAsIDExOTIxMywgNzM5NDEsIDAsIDQyMzMwLCA5MTc3ODQsIDM5NjksIDAsIDAsIDcxNjksIAotICAgIDE5OTIsIDk2NTIsIDczOTc3LCA3MjQ2LCA0MjA4NiwgMTI2NjE1LCAyMjE5LCAwLCAwLCAxMjg4MDEsIDE5NDgzNywgMCwgCi0gICAgMzI3LCAwLCA5MDQyLCA5MTc3NzcsIDkxNzc3NiwgNjUxNDgsIDEyNDMzLCA5MTc3ODEsIDEyNzI3NiwgOTE3Nzc5LCAKLSAgICAxMjQzMSwgODY2OCwgMTI0MzQsIDk4MzgzNSwgOTE3NzgyLCA1OTk5LCAwLCA3NzEyLCAxMjQzMiwgMTI4MjQzLCA0MzY1MywgCi0gICAgMTcyNiwgMTAxNSwgMCwgODIxMiwgMCwgMTI4MDE0LCA0MjQyMywgMTE5MDY2LCAwLCAxMjgxMDgsIDY2NzA5LCAwLCA4ODExLCAKLSAgICA5MjcsIDAsIDAsIDEyNDM2LCA5ODMyNDUsIDQyMDIxLCAwLCAwLCAxMjk5LCAxMjI0MCwgNDIzNTAsIDY1MTQzLCAwLCAKLSAgICAxOTUwMTYsIDAsIDc4MTk3LCAxMTM0OCwgMCwgNzgwMzcsIDkxOTQsIDk4MzE4NCwgMCwgMTk5MTQsIDEyMTc5LCA5ODM4MTIsIAotICAgIDIyOTYsIDE5NDkyMywgNjM4MzYsIDYzODMyLCA5MTc3NzMsIDEwOTY3LCA2MzgxNiwgMjU5NCwgMzQ0NCwgNjM4MTcsIAotICAgIDY0NjUxLCAwLCA0MTUwMywgMTI3NDc4LCAxMTI2NSwgMCwgMTIwNzU2LCAxOTQ5MjIsIDAsIDU2NjQsIDM5NzIsIDAsIDAsIAotICAgIDAsIDEyODUwOCwgMTI0MTYsIDkxNzc2NCwgMTE5NjA4LCAxMDgxNiwgOTE3NzY5LCA5MTc3NjgsIDEyNDE4LCA3NDExMSwgCi0gICAgMzg4MiwgODUzMiwgOTE3NzcxLCAxNTczLCAxMjg2NDgsIDExOTg0NywgNDU5NiwgNjYzMzksIDEyNDE3LCA2NjAwMSwgCi0gICAgNjUzNDMsIDEyNjQ5MSwgMTI0MTQsIDgyODcsIDY4MjE5LCAxOTUwMTcsIDY4MTA4LCAxMTQzLCAxMTkxNjksIDExOTg0NiwgCi0gICAgMTI0MTUsIDY2MjYsIDQyNzYzLCAwLCAxMTg4ODQsIDkwMjEsIDEyMDc4MywgMCwgMTE3MjQsIDAsIDAsIDEyNzEwNCwgCi0gICAgMTI2NjE5LCAwLCAwLCA4MDI3LCAxMDk5NywgOTE3MSwgMTI3NDEsIDExNDAwLCA3MTMwNSwgMTk0Nzk5LCAwLCAxMjgyMzksIAotICAgIDAsIDEyODg4MSwgMTE5NjA0LCAxMjc1MjMsIDEyMDE5MCwgMTk0NzczLCA2NzYwOCwgMTI4MjE0LCA0MjM2OCwgMCwgNzcxNSwgCi0gICAgMzg4MSwgNDE0ODcsIDEyMTE4LCA0MjUxNCwgNjg2NTEsIDAsIDk4Mzg5NSwgMzAwOSwgNDE0NzYsIDQxNDg5LCA2OTgyNSwgCi0gICAgMzAwNywgMTQ0OCwgMzAxOCwgMTk0ODA5LCAzODg5LCA4NTIxLCA1MDgzLCA1MDgyLCAxMTk4NTksIDEyMDE4NCwgODUxOSwgCi0gICAgOTgzMjQxLCAzMDE0LCA1MDgxLCA2NTg1MywgMTIwNzE1LCAwLCA2ODAxNCwgNjk5NTEsIDUwNzksIDY0ODAyLCA0MjIxMCwgCi0gICAgNDU5NywgNjU1MzIsIDExODI4LCAxMjAxODUsIDEyMzcxLCAwLCA4NDA3LCAwLCAxMDgwNSwgODUxOCwgMTA3NzksIAotICAgIDEyMDE4OCwgNzEzMDMsIDk4MzkzMywgMTIzNjcsIDQyMTcwLCAwLCA5MjU1NywgNjI5LCAxOTI0LCAwLCAxMjAzNywgCi0gICAgNzQzNjYsIDU5ODcsIDg0NjIsIDgwMDUsIDEyMzY1LCA2MzkzMywgNjk3MzUsIDEyMDgxNSwgMTIzNjksIDEwNjQ5LCAKLSAgICA2Nzk4MSwgNTA3NywgMTIwMTc0LCAxMDg4MCwgNjM5MjcsIDUwNzUsIDkxNzg4MSwgMCwgNjUwNzUsIDAsIDExMDA3LCAKLSAgICA5ODM3MDUsIDY2NjU5LCA5MjYwNywgMCwgNjY2ODQsIDAsIDM0MzQsIDQ5NTQsIDE5MDQsIDAsIDUyNjYsIDEyNjk4MCwgCi0gICAgNTI3MiwgMTA0OTksIDQ1MDcsIDk1NzgsIDYzOTIzLCAxMjAxNzcsIDc5NzksIDAsIDk4MzEsIDAsIDE5NDkyNiwgNDYxLCAKLSAgICA5ODAzLCAwLCA0NTA0LCAxNTA1LCAwLCA2MzI1LCA1Mjc2LCA0MzAyMSwgMTIwNDg4LCAwLCA1NTIzNiwgMCwgNjY0NjEsIAotICAgIDUxNzcsIDQxMzI0LCAxMjA1NSwgODcyMiwgMCwgNDEzMjcsIDAsIDY2Njk1LCA0MTE0LCA0MDksIDQzODMsIDg5MDAsIAotICAgIDg5NDgsIDQxMzI1LCAwLCA3MjEsIDEwMTgyLCA5MTA4LCA3MTMxMSwgMCwgMTE5MTg1LCA0MjIyOSwgMTk0OTEyLCAwLCAKLSAgICA1OTk4LCAwLCA0MjM1MywgNzQ4MjUsIDAsIDEyNTg3LCA5NDEwNCwgNzg1NzEsIDAsIDcxMzI4LCAxOTQ1NjIsIDQxNTc2LCAKLSAgICA0MjIxNSwgNzg1NzAsIDExOTIwNywgMCwgODU3OCwgNTk5NSwgNzU3MywgNDE1NzUsIDc0Nzg5LCA3NDc1MiwgNjM5NDQsIAotICAgIDYzOTQ5LCA2NDc2NywgMjY3MCwgNDE2NywgMTk0Nzk2LCAxMTcyMywgMCwgNzQxMjAsIDAsIDY1MDc2LCA5MzgsIDQzNDE0LCAKLSAgICA3Mzg1NCwgMTE3MzcsIDk3MjEsIDAsIDAsIDAsIDExNzQyLCAyNDE5LCAwLCAxMTQ5MywgMTIzMzQsIDE5NDkxMywgNDE1MywgCi0gICAgMTIzMDIsIDEwNzkzLCA1MjUwLCAxMjQwNywgMTE5NzgsIDQ0MDQsIDkxODksIDEyNDAxLCA0MjAwNywgNTc3NSwgNjc1OSwgCi0gICAgNjU4MDYsIDQzOTk3LCAwLCA0MjAwMiwgMTI0MDQsIDk4MzU1MywgMCwgNDk0MCwgMTI0MTAsIDc2ODMsIDExNjcsIDczNzI5LCAKLSAgICA0OTgzLCAxMjA1MDcsIDg2MSwgMCwgMCwgMCwgMCwgNDM3NTcsIDQzMzcwLCAwLCAwLCAxMTk1NiwgMCwgMCwgMCwgOTYxNiwgCi0gICAgNjYzMSwgMCwgMTI4MTYsIDQzNzU5LCA0MjIxOCwgMTI3MTAsIDY4Njc0LCAxMjcyMSwgNDEwMSwgNjYxODUsIDAsIDU5OTIsIAotICAgIDc2MTYsIDE5NTA0NCwgMCwgMTI1NzcsIDAsIDk4Mzg4NCwgODUzLCA0MjY5MywgMTk1MDE0LCAwLCA5ODM2NDcsIDUwMTYsIAotICAgIDQzNTM1LCA2Mzg5MywgNDI4MzUsIDk0OTEsIDkxNzkxMywgMCwgOTE3OTE0LCAwLCAxMjcxMiwgNzEwNSwgMTI3ODA3LCAKLSAgICA2NTA2MCwgMTIwNzk3LCA5OTAwLCA3NzUwLCAwLCAxOTQ5MTksIDAsIDEyNzgzMCwgMCwgNjQ3NzgsIDEyNTg1LCAxMDU2NSwgCi0gICAgMTI4MTUxLCAxMjE3NywgMCwgMCwgMCwgNzc4MjQsIDAsIDQ5MDAsIDEyNzg3NCwgMTI4NzgsIDkyNjMwLCA4OTg0LCA0MTE5LCAKLSAgICA3NDc2OCwgODk3MSwgNzg1OTMsIDQzMTEzLCA5NzAyLCA3ODU5NCwgMTEwMjUsIDkyNDUsIDEzMDQ4LCA0OTI3LCA0MTM4LCAKLSAgICA3NDE4NSwgOTI0ODEsIDkyNzEwLCAxMjM5NywgNzc4MjcsIDAsIDEzMDU0LCAxMjM5NCwgMCwgMCwgMCwgMTMwNTMsIDAsIAotICAgIDM5NDgsIDEwNzgxLCAxNTQ2LCAwLCA1MDEwLCAxNjgwLCAxMDUwNywgNzg1OTAsIDc4NTgzLCAwLCAwLCAwLCAxOTQ5MTUsIAotICAgIDcyNjcsIDAsIDc0ODMzLCAxMjgxODEsIDU5OTMsIDI4MTksIDAsIDEyNzA2LCA3Nzg0MCwgMTg5MywgNzI2NiwgNjM5MTUsIAotICAgIDcyNjQsIDcyNjUsIDAsIDEzNjMsIDAsIDYzOTk3LCA2MzkxMCwgNjM5OTYsIDMwNzcsIDAsIDAsIDE1MTIsIDY5OTI5LCAKLSAgICAxMjU4OSwgNDE0NzksIDEyODMxMywgMCwgNDMzMzksIDczNzc2LCA5ODM2LCAxMjA3MjcsIDAsIDQxNDgxLCA0MzMzNSwgCi0gICAgNzgzMiwgNDIzNDMsIDMwOTAsIDQzMzM3LCA4MTcsIDE2NjQsIDE4NTAsIDEyODg0MSwgMzA3OSwgMTEzNDAsIDQyNDA4LCAKLSAgICA0MjQ0NywgMTI3MTQwLCAxMjAwMjAsIDQyMzA3LCAxMjM4NiwgNDIzMDQsIDkxNzU1NSwgMCwgMTIzODksIDAsIDkyMzY2LCAKLSAgICA0MTk5NiwgMTE1MjYsIDYzOTg1LCA1ODY0LCAxMTQ3LCA2Mzk5MiwgNDI4ODcsIDE5ODcsIDkyNzE4LCA1NDgwLCA3ODU4LCAKLSAgICAxMTY1MywgNDExNiwgMTIzOTEsIDY2MTkzLCAwLCA0OTM5LCAxMjM4NCwgMCwgMCwgNDE2ODYsIDYzOTA1LCAxMTk2MDEsIAotICAgIDE5NDY4OCwgOTgzMTkwLCAwLCAxMjY0OSwgMCwgMCwgODI0NywgNTA3LCA5MSwgMjA0MiwgMTIwNzc1LCA0MzY0MywgCi0gICAgMTk0Njg5LCA2NjAyOCwgMTAwMzYsIDQxODQ0LCAxMTk4MTMsIDc3NCwgMTE5ODI5LCAwLCAxMTk4MTUsIDU5OTQsIDEyNTM5LCAKLSAgICAwLCA3ODM3NSwgMTIwNTk3LCAxMTk4MzMsIDk4MzEwNSwgMTE5NjAwLCAwLCAwLCA3NzE5LCA2MDI2LCAyNDg2LCAxMjgzMTIsIAotICAgIDExOTgwOCwgMTYyLCAwLCA2NTIxOSwgNDEwNzMsIDk2ODcsIDQxNjgxLCA2MzA0LCAxMTk4MTIsIDY2MTk2LCAxOTQ4ODEsIAotICAgIDUyNjIsIDAsIDU1MjMzLCAxMjY4MSwgNDIzNzksIDAsIDc1MzQsIDEyMjE5LCAwLCAxMjc1MjgsIDQyODEwLCAxMDQ5MiwgMCwgCi0gICAgOTgzNjYxLCAwLCA0MzExOSwgMCwgMTIwNzUzLCAxMjQwMywgMjUwMCwgMTk1MDEzLCAwLCA0ODk5LCAxMjcyOSwgMCwgMCwgCi0gICAgNzQxMTMsIDIzNDMsIDQxMDMsIDE5OTQ2LCA3NDExMiwgNzc4NTEsIDEzMTEyLCAwLCAxOTUwMTIsIDEyODU5LCA3MDA4NywgCi0gICAgMTIwMTQ4LCA2NjM2OSwgNTg2MSwgMTI3NzU4LCAxMTk5OSwgMTI0MDAsIDAsIDk4MzgzOSwgMTI2NDUsIDUxNDYsIDExMzIwLCAKLSAgICA2ODQxMCwgNjc0OCwgNjUwNDAsIDAsIDY0MTg0LCAxMjk3NCwgNjQxODMsIDY3NjEzLCAxMjA2NDUsIDUxNDcsIDAsIDAsIAotICAgIDc0NTI0LCAwLCAxOTI4LCAwLCA2NzY0OSwgNTk5MSwgMzQ0NSwgNjc2MDksIDQ5NzYsIDY0MTc2LCAwLCA2NzYxMCwgODI0MSwgCi0gICAgMCwgNzc4NjgsIDQyMDYsIDAsIDAsIDAsIDEyODI5OCwgMCwgMTAxMzgsIDAsIDAsIDg4OTcsIDEyMDIzNCwgMCwgODM1NywgCi0gICAgNDEyNCwgNzc4NjIsIDY1ODM2LCAxMjA2NDEsIDEyNzkyNiwgNzc4NTksIDAsIDAsIDExMjMsIDk2MywgNDE1NTMsIDEwMTIwLCAKLSAgICAxMjQwNSwgMTIwMTUwLCA5MjY2NCwgMzk4LCAxMzI3OCwgOTcyMywgNjM2NiwgMTIwMzExLCA3OTQ1LCAwLCA0NDAyLCAKLSAgICA5OTcwLCAxMjQwMiwgOTgzMTM2LCA0MjM5MiwgMTMwNSwgMTI0MDgsIDAsIDQ0MDA3LCAwLCAwLCA0MTQ2NCwgMTI0MTEsIAotICAgIDEyOTY5LCAxMjA4MjQsIDQxNDY1LCA5ODM1NjUsIDg1MjgsIDE1NzUsIDAsIDYzOTU1LCAxNjUsIDMwMjQsIDQxNDY3LCAKLSAgICAxMTkxNjMsIDAsIDkwOTMsIDAsIDkxNDcsIDEyODc4NywgNjM5NTgsIDAsIDkxNDgsIDk2OTIsIDQwOTYsIDUzLCA4Mjk2LCAKLSAgICA2NzUwLCAxOTUwMTgsIDAsIDk1OTQsIDAsIDAsIDQzNTI3LCAwLCA3MjcsIDE5NDcwMywgMTk1MDIzLCA1ODA1LCAwLCAKLSAgICA2NzI2LCAwLCA0MjE3NiwgMTIzNzAsIDExNjU1LCAxMTkwOTUsIDEwNTkxLCAyMjgwLCAwLCAxMjM3MiwgMTIwNjQyLCAKLSAgICAxMjAzMDcsIDAsIDkyMzQzLCAwLCAxMjM2NiwgMTA5NjMsIDYwNjYsIDEzMjksIDAsIDMwNTIsIDkyMjAsIDAsIDY0NDc4LCAKLSAgICAxOTQ3MDEsIDEwODAzLCA0MTMyLCAxMjAzMDYsIDY4NDc0LCA5MjQ3MywgMCwgOTgzMzEzLCA3NDgzNywgMTIwMTU1LCAKLSAgICAxNDk5LCAwLCA4MDU1LCA0Mjc0MCwgNjM5NjUsIDAsIDYzOTYyLCA3NDA0MiwgODkyNCwgNDMxMjMsIDU5ODgsIDM2NjAsIAotICAgIDYzOTY5LCAxMTc4MSwgNDI3MTgsIDg3ODgsIDEzNTcsIDY0ODUxLCA2NTc0MywgMCwgODc3NCwgMCwgMTI3MDg2LCA5OTQxLCAKLSAgICAxMjAxNzIsIDAsIDE5MzMsIDY5NjU1LCA5NTY0LCAwLCA5MjQzNSwgNzM4NjYsIDAsIDAsIDI0ODcsIDY3NjE0LCAzMTIxLCAKLSAgICAxODA0LCAzMzExLCA2NzYxNSwgNzAwODEsIDc4MzAyLCAxMjIyMCwgNjc2MTYsIDEyMDU5OCwgMTI3NDc1LCAwLCA2ODIwMCwgCi0gICAgNjY3NSwgMTI4MTQ0LCAwLCA2NzU5MiwgMTIwNjg1LCAwLCA2NDc3MSwgMTE5OCwgOTEzMiwgMCwgNjQ2MTksIDUxMCwgCi0gICAgNjQ2NjMsIDAsIDAsIDQ1NjEsIDIxMDEsIDEzOTgsIDAsIDkyNTU0LCA3NDAzNCwgNDE1NjksIDkyNjg0LCAxMTQwNiwgCi0gICAgODE2NywgMTIxMjcsIDAsIDg0MCwgMCwgMTI2NTE4LCA3MTAxLCA2OTY3LCAwLCAxOTQ4OTgsIDk3OTYsIDAsIDMzMywgCi0gICAgNjk4OTEsIDAsIDgxNDQsIDIxMTcsIDAsIDk4MzU5NSwgMTI0MDYsIDAsIDE5OTMxLCAxMTkwODksIDY2NzgsIDc3NjksIDAsIAotICAgIDEyNjIxLCAwLCAxMjczNjYsIDEwMjI3LCA0NzY0LCA0MzEwMSwgOTk4MSwgMCwgNDA5ODYsIDQxMjcsIDY2NDg3LCAwLCAKLSAgICA0MjIwMiwgMTI3NTQsIDE5NTAyMiwgMCwgMCwgOTQwOTcsIDY3NTk0LCAyMDQ4LCAxMjk0NCwgNDA1MCwgNjc1OTUsIAotICAgIDkxNzk2NywgNDMxMDIsIDEwNTgxLCAxMjk4NSwgNDUzMywgMTk1MDIxLCA3NDAwMywgNjQ5MCwgMCwgMTIwMzgsIDAsIDAsIAotICAgIDEyMDcwNCwgNjU0NjEsIDk3OTgsIDY5NzA0LCAwLCAxOTQ4LCA2OTg0MSwgMCwgOTUyLCAxMjgyMzUsIDAsIDAsIDEyMDgwMiwgCi0gICAgNjQ0OSwgOTQ5NCwgMTIwMzEzLCAwLCA0MzA5OCwgNDg0MywgODE0MiwgNjQxNjAsIDQwOTgsIDY0MTcwLCAwLCAwLCAzNDM2LCAKLSAgICAxMTk5NzMsIDAsIDEyODE3LCA2NzU5NywgNjY3NiwgMzkzMCwgNDI2MTUsIDAsIDAsIDY3NTk4LCAwLCAwLCAwLCA2NTU5MSwgCi0gICAgNDE1ODEsIDY1OTE2LCAxNDUzLCAwLCAwLCAwLCA4NTAwLCA0MjIyMiwgMTIwMTQyLCA3Mzc0MywgMTIwNDAwLCA0MzE3LCAKLSAgICAxMTU0MywgNjc2NzYsIDY0Njc2LCAwLCAwLCA2NzYwNiwgMTE5MDgzLCAwLCA0MjIxNywgMTMxMDIsIDAsIDY2MDAzLCAKLSAgICA2NjcyLCAwLCAwLCAwLCA5ODM3NDcsIDYzODQxLCA5NjEzLCA5MDAxLCA0NTI2LCAxMTI3NCwgNjc2MDEsIDY0NTIwLCAKLSAgICA2NDIxMCwgNjY2NCwgNzg3MDQsIDQyMDU2LCAxMDIyOCwgNjQ5NTcsIDExMjgxLCAwLCAzODA3LCAxNDY5LCA2NjY0MCwgCi0gICAgNjUzODEsIDQyMTk3LCA0OTg4LCA0MjM3MiwgMCwgOTU5OCwgOTA0LCAzNTIsIDQyMjI1LCAxNDUxLCA4MDYxLCA4NDUzLCAKLSAgICA0MTM0LCAwLCA3NDg0NywgNjY1NzYsIDEyNzkxNiwgMCwgMTA1MjAsIDg1NzUsIDk5NjAsIDEyMDEsIDEyNzI4OSwgMTI4NDYsIAotICAgIDEyNzI5MSwgMTI3MjkyLCAxMTkxOSwgNjQ5NjIsIDEyNzI4NywgNDM3MzksIDEyNzI4MSwgODUxMSwgOTQ2MCwgODIzLCAKLSAgICAxMTU4NywgMTIzMDUsIDAsIDY0Njk1LCAxMjczMDUsIDEyMzg3LCAxMjUzLCAxMzE4MywgNjU3NjYsIDUwMCwgNDI3ODMsIAotICAgIDY1NzY1LCA2NDIwOCwgNjQzNjksIDY1NzYwLCA2NTc2MSwgMTE5NTg1LCAxMTYwNiwgNjQ3ODQsIDExNzAyLCA2NjQ5OCwgCi0gICAgOTgyMSwgNjQzMDQsIDAsIDUxNTIsIDExMDQ4LCA3NTMzLCA2ODM2NiwgNjQ0MTAsIDkyMzA1LCAwLCA0MzIzLCAxMjAwNjIsIAotICAgIDkyNjY5LCA3MTMzMiwgMTI3MDUyLCA0MjU4NywgNDIyMTQsIDQxMzk0LCAwLCA0NzYzLCA0MTEyLCAxMTg5MzUsIDAsIAotICAgIDUyNjAsIDQzMTQzLCA5NDAzOCwgMzI2LCAxMjAxMzEsIDY4NDIzLCAwLCAxMDc3MSwgMjg3NiwgNzQwNzQsIDkyNTMwLCAKLSAgICAxOTQ5MjQsIDQxMzk4LCA3MzgyLCA5ODAyLCAxMjcwNzcsIDEyNzA3NiwgNDUzLCA0MTM5NiwgMTIwNTI0LCA0MjcyMCwgCi0gICAgMTIxNDAsIDk1NzIsIDAsIDcwMDMsIDE5NDg4MywgNDIzMzQsIDc3MDQsIDEyNjQ5MCwgMTk0ODg1LCA0MzE0NCwgNDEyMywgCi0gICAgODQ5NCwgNDMxNDYsIDk5NzcsIDAsIDAsIDY1NzU5LCAxMDc2NSwgNjQwNjEsIDQ0NjUsIDk4MDgsIDY0MDU2LCA2NTU4MiwgCi0gICAgNDEyNiwgMCwgOTUyMSwgOTU4OSwgNjQ3NTUsIDAsIDY0MDIwLCAxMjY2MDQsIDEwNDY0LCAwLCAwLCAxOTQ4NjksIDY0NTE0LCAKLSAgICAxMTUyOCwgNjQwMjQsIDEyODA3MiwgNjc5LCA2NDAxMywgMCwgNTg1MCwgNzU4LCA3NTM2LCAwLCA5MjIzNCwgNDE0NDEsIAotICAgIDEwNjkzLCA2NDAwNiwgOTgzNTY3LCA2NDAwNSwgNDA1OCwgMTE5MDE5LCAxMjY0ODcsIDY0NjYwLCAwLCAxMTkwNTAsIDAsIAotICAgIDk4MzA2OSwgMTEzOSwgNDMyOTgsIDY0MDI3LCA2NDAyOSwgODk3MCwgMCwgOTkzNCwgOTgzMDk0LCAxMDc3NCwgMTI4MDIwLCAKLSAgICA0MjIwMSwgMTI0MjEsIDEyODIxNiwgMCwgMTg1MiwgMzA1NywgNjQwNDYsIDczNzQ0LCA2NDAzNCwgNjQwMzksIDAsIDAsIDAsIAotICAgIDE5NDg5OSwgOTIzMjIsIDc2NDUsIDEyODU0LCA3NDMzOCwgMzQ5NiwgMCwgMCwgMCwgOTEwMiwgNjI3LCAxMjc3OTUsIAotICAgIDYxNTgsIDgzMjcsIDc0NTUzLCA2NjYzMiwgMTI0MTksIDEzMzA5LCAxMTU3MCwgMTI3ODExLCAxOTk2MCwgMTE2OTYsIDAsIAotICAgIDEwMTgsIDExODk3MCwgMTk0OTA5LCAxOTQ4OTcsIDE2ODIsIDE5NDg5NiwgMTk0OTExLCA0Mjc1NiwgNjc2NSwgMTk0OTA2LCAKLSAgICAwLCAwLCA3MzgxNCwgMTE0MTIsIDY3NjgsIDEwNzI4LCAxOTQ4MzAsIDcxMzE2LCAxMTg4NjMsIDQzMzExLCA2NDk2NiwgCi0gICAgMTE1NzcsIDAsIDQzMDQwLCAxODMzLCAxMTU3NiwgMCwgNzQ3NzksIDAsIDE4NSwgNjUwODUsIDc0NTMzLCA2NDc1NCwgCi0gICAgMTk0ODQ4LCA3NTM1LCA4MDg1LCA0MjUyNSwgMTIwMzg3LCA5NzQ5LCA0MTcwMSwgNjEzMSwgMTk0OSwgNDExNywgNzg0NywgCi0gICAgMTIwNDg5LCAxOTQ3MTEsIDY0NDgzLCA2NTY5MywgMCwgMCwgMCwgNjk2OTUsIDQyMjQwLCAwLCAxMjY2NTEsIDQyODY0LCAKLSAgICAxMjY0OTgsIDY0NjY3LCA0MTg2OCwgMTE4NCwgMCwgODE1LCAxMTQ4NCwgMTI3NTM1LCA2Nzg0MCwgOTgzNjUxLCAwLCAKLSAgICA2NjE5NywgMCwgMTA5ODYsIDY0NjgzLCA5ODM3ODUsIDAsIDM0NTUsIDAsIDAsIDk4NzksIDAsIDAsIDQxNTgsIDEyODA1MCwgCisgICAgNjQxMjgsIDY2Mjg2LCA5MzA0MiwgMTI4ODMwLCA2NDEzMiwgMTA4NjcsIDY0MTMwLCA2NDEyOSwgOTgzODQ0LCA0MzM3NCwgCisgICAgOTc3OSwgMjc2NCwgNjYwMDIsIDEwMTY3LCA5NDcxLCAwLCA2NjAyMSwgNzQ1MDksIDAsIDU0NTcsIDU0NDAsIDg4NTcsIAorICAgIDkzOTgxLCA2NTI4MiwgMjg0MywgNTM1NSwgMTI3OTI4LCA5ODM5NjUsIDY5OTcxLCA1MTk0LCAxMTY1NywgNDM5ODQsIAorICAgIDEyODI5MiwgMTEzNzI0LCAxMjg4NzIsIDAsIDAsIDcyMzkzLCAxMDcxNywgNjQ1NzAsIDU2MzAsIDUzOTYsIDY0MTQzLCAKKyAgICAxMDY4MiwgMCwgMTA2MDIsIDgwMCwgNDI0OTksIDY2MTg2LCAwLCAwLCA2NDkzMCwgMTE2MzEsIDY0MTQ2LCA2NDE0NSwgCisgICAgNjQxNDQsIDc2MiwgMTMxNzIsIDExODg1OSwgMTk0NjYxLCA2NDQ2OCwgMTA5MDYsIDEzNTMsIDY5NjAsIDAsIDEyODc3OSwgCisgICAgNTgyOCwgODcyNCwgOTE3ODA2LCA4OTMzLCAxNjAxLCA0MjI0NCwgODU4LCA3MDgwLCA2NDEwOSwgNjQxMDgsIDgwOTAsIAorICAgIDcwNDU1LCA3MjM4OCwgNzQ2MDYsIDU4NywgMCwgMTI4MTMxLCAwLCAwLCAwLCA3ODIxNCwgMjc1MCwgNzQyMTgsIDU1NiwgCisgICAgNjQxNTgsIDY0MTU3LCA3ODcwNywgMTIyMTMsIDE5NDY3OCwgMjc2MCwgMCwgMCwgNzg3MDgsIDE5NDc5NCwgNjQxNTYsIAorICAgIDY0MTU1LCA0MjQ5NiwgMCwgNjQxNTEsIDY0MTUwLCAxMjY3OSwgMTAwNTMsIDEwNDIxLCAxMTA5MywgNjQxNTMsIDY0MTUyLCAKKyAgICAxMjUwMTYsIDAsIDQ4MzksIDY4NTI3LCAwLCAxODc0LCAxMTkwMTYsIDEyMDA5MSwgNjU3NywgNjQxMjUsIDY0MTI0LCAKKyAgICA2NDEyMywgMCwgMTI3NTMxLCA5MjUzNCwgNzAwNywgNzU5MCwgNjU0NDMsIDkwMzYsIDc4ODQ3LCA2NDEyMiwgNjYzODksIAorICAgIDY2NjA5LCAwLCA2NDExNywgNjQxMTYsIDYyODcsIDY0MTE0LCAyNzI1LCA2NDEyMCwgNjQxMTksIDQzOTgxLCA0MjEyOCwgCisgICAgMTI3ODQyLCAxMTc3LCA2NTYwMSwgMTIzMjIsIDY0MTA2LCA2OTY0MCwgOTI4OTUsIDY0MTAyLCA3ODU5LCAxOTQ1LCAKKyAgICA2NDA5OSwgMCwgMTA0NTMsIDY0MTA0LCA3MTg4LCA3OTk3LCAwLCA3Mzg5LCA5ODMxNjEsIDg3MDUsIDY0MDk3LCA2NDA5NiwgCisgICAgOTU3MSwgNTI4LCAxMjg2NzEsIDQ0MDE3LCAxMTQyOSwgNzEzNDcsIDAsIDk4MzA3NywgOTE3OTkwLCA3Mzg0MSwgMCwgMCwgCisgICAgOTA1NiwgNjQzMTMsIDYxODgsIDEyMDAxOSwgNjE1NSwgNjQwNjgsIDE4MjMsIDY0MDY2LCA2NDA2NSwgNjQwNzIsIDY0MDcxLCAKKyAgICA2MywgNzIzMywgOTIyMTIsIDcyNDE0LCA0MTkwNCwgNjYzOSwgNjQwNjQsIDk4Mzc3NSwgMTI4MzQ0LCAwLCAxMTc2LCAKKyAgICAxMTg5NTksIDEyNzkzMCwgODE2MiwgMTI3MDE5LCA5ODM4MzEsIDkyNzQ3LCAxMjA1MTksIDY2Mzc2LCA2NjI0MiwgMTE0MTUsIAorICAgIDQzMzMsIDk4NTUsIDY0MTEyLCA2NDY0MiwgMCwgNTM4OCwgMCwgMCwgMCwgNzcxNCwgNjYyMjIsIDY5OTAyLCA3NzY4LCAKKyAgICA3MjQwMywgNDE5OSwgNjQ3MDgsIDY1MDY0LCA3MDExNywgMCwgODcwOCwgOTU2MCwgNjQwNzcsIDY0MDc2LCA4OTk2LCAKKyAgICA0OTkyLCA0NDcxLCA0MjYyMiwgNjQwNzksIDY0MDc4LCA5MjE3OSwgNzE4NzgsIDEyNjU3MCwgMTI5MTIwLCA2NDYxNSwgCisgICAgNDE5MTUsIDAsIDEyMDc1LCA0MjA0MSwgMTk0ODI1LCA1MTc0LCA5ODMyMTcsIDAsIDEyNzU1NywgMzEyMywgMCwgMTI2ODUsIAorICAgIDExOTIxNiwgODQwOCwgNjQ3MDQsIDAsIDAsIDkyMjMsIDAsIDQxNjE2LCA2Nzk5OSwgNzM3OTcsIDAsIDExMTYsIDEyODIwNCwgCisgICAgNDMwNDksIDcxMzYsIDQzMDUwLCA4NTQ4LCAxMjA0ODUsIDAsIDExOTA2MSwgOTE3OTk5LCAwLCAxMzExNSwgNDM2NzUsIAorICAgIDY0MDkxLCA5MzIyLCAwLCAxMjA1OTUsIDY0MDk1LCA2NDA5NCwgODExMSwgNjYyNDcsIDQyMzMyLCA2NDA4OSwgNjQwODgsIAorICAgIDYxOTksIDY3MjQ5LCA2NjM5OCwgMTE0MzQsIDY0MDgzLCA2NDA4MiwgMTEzMjksIDc3MzcsIDY0MDg3LCA2NDA4NiwgCisgICAgNjQwODUsIDY0MDg0LCAxOTQ3MDMsIDk5MjcsIDQxMzM1LCA0MTE4LCAxNzk3LCAwLCA0MTMzNCwgMCwgNDYsIDQzNDQ4LCAKKyAgICAxMjc4ODEsIDI5OCwgMCwgMTI4MTE0LCAwLCA0MjYyNywgMTI1MDExLCAzMiwgNjE4NywgMTE5MDUyLCAxMTQ5NSwgMTE0NTksIAorICAgIDM2NjUsIDk4MzYwMCwgNDI4NzEsIDAsIDE5OTIzLCA3NDMzNSwgMCwgMTI3MTkyLCA2NjIzOSwgNDIyNjQsIDY0NDAzLCAKKyAgICA0NDEyLCA3MjQwLCA5MjQ5NSwgOTE3OTAwLCA5ODM0NjYsIDY1NzU4LCAxMjc1MCwgNDE4MSwgODU0NCwgMTE5ODQ5LCAKKyAgICAxMjAxOTksIDkxNzg5NywgMTIwMTk4LCA2OTgwOSwgNjE4MSwgNjUwMTQsIDk4MzQyMCwgMCwgOTgzMTk2LCAzNjM5LCAKKyAgICAxMTk1ODgsIDExODg1MSwgMCwgMTE4OTA0LCAxMDA3MywgMTIwMjA2LCAxMjg4NjIsIDEyNzE4NiwgNjg0MDksIDQyODQ0LCAKKyAgICA3NDk4LCAxMDk4LCA5MjU2NSwgMTIwMjA1LCAwLCAxMjg5MTUsIDEwMjA3LCA4Nzg5LCA5MzA3MCwgMCwgOTI5NzMsIAorICAgIDEyODMyNSwgOTIzNCwgMCwgNjE4MiwgOTgzNDczLCA2NTA1OCwgMCwgOTgzNDc4LCAxOTQ5NzMsIDAsIDU0NzEsIDk0NjEsIAorICAgIDU1NzMsIDExODkzNiwgNTQ3MywgNDQsIDAsIDY2MjQ0LCA5NDA3MiwgMCwgNjYyMzgsIDEyODQ0LCA2Njg5NCwgMTYyMiwgCisgICAgNzc2NywgMTkwMCwgNDEzMzksIDExNDU4LCAwLCAwLCA2NTgxLCA1NTc2LCA5ODM0OTUsIDQzODU1LCA0MTMzNywgMCwgCisgICAgNDE2MzEsIDg5NDcsIDY4MzkwLCA2OTY4MywgNDE2OTQsIDAsIDcyMzk2LCA3OTA4LCAwLCAxMDQwOCwgNjU3OSwgMCwgCisgICAgNjQ2MTgsIDAsIDEyMDE0NywgMjEzOCwgNjU4MywgNzc2MSwgNzAwMDUsIDEyMDUwNCwgMTk0ODI4LCAwLCA1MDU4LCAKKyAgICA0MTAxMCwgOTk5MiwgMTI4Mjk5LCA1MDU3LCA5MTc5NDEsIDAsIDc0NTM4LCA1MDU0LCAxMTg5NTEsIDE5NDk3MSwgNzg2MDYsIAorICAgIDAsIDE0MzcsIDQxNjE3LCA2NTgsIDM0OTcsIDEyODUwOSwgNzQ4NiwgNTA2MSwgNTA2MCwgNDIzNSwgMTI3ODc4LCAwLCAKKyAgICAxMjg1MjksIDEyMTEzLCA0MjM2LCA0NzI3LCAxMjg0ODcsIDAsIDc2OTMsIDEwNzQ5LCAxMjAzMzIsIDc0ODgsIDU3NzMsIAorICAgIDk3OCwgMTI4MTM0LCAwLCA0MTYxOSwgMTAyMzksIDY4NjExLCA3MTg2NCwgNjYyMDksIDk4MzQyMywgNzQxMzUsIDk3NDgsIAorICAgIDk4Mzk1NiwgMTI3NTI0LCAwLCAwLCAwLCAwLCAxOTUwODMsIDAsIDk4Mzg0MywgOTgzMzAwLCAwLCAwLCAwLCA5Mjc3NiwgCisgICAgOTM0MSwgNzg4MjEsIDIzNzksIDExMzI1LCA5ODM5NTEsIDY0NjY4LCA2Nzg1NCwgODEyNSwgMTIwNTQ1LCA2NzQzLCAKKyAgICAxMTkxNzUsIDkxNzk0MCwgMjM2OSwgMCwgOTgzOTcyLCAxMjc5NjYsIDExOTIzNSwgNzE4NjgsIDczOTM2LCA3MDA4LCAKKyAgICA0MzY2MCwgMCwgMCwgNDM4NDEsIDIzNjcsIDEyNzgyNywgOTgzODU3LCAyNjQsIDIzNzUsIDgwNjAsIDYxOTQsIDExOTg1OCwgCisgICAgMTg0NCwgMTE5MDg0LCAxMjkwNDksIDYwMTksIDAsIDAsIDY5NjEsIDAsIDcwNDM1LCA2NzE3MSwgODgwMCwgMCwgNDI4NjIsIAorICAgIDQ0NjMsIDY1NTgxLCA2MTkyLCAxMjc5MDAsIDQyNzcxLCAwLCA5MjMzMywgNzI1LCA2NTA0MiwgOTMwMTQsIDEyMDgwMCwgCisgICAgOTgzMDQwLCAxMjg5MiwgMCwgNjcxNDksIDAsIDAsIDAsIDAsIDEyNzI2MSwgMTIyMjQsIDk4MzEyOCwgMTI5MDYxLCA1MDc0LCAKKyAgICA1MDczLCAxMjg3OTAsIDg5ODMsIDExODk4MSwgNzQ0OTMsIDcxMjMxLCA1MDcyLCA3NDU0NywgNjE5OCwgMTE2MTQsIDAsIAorICAgIDE5NiwgMCwgMCwgMCwgNDkyOSwgMTIwMzQyLCAwLCAwLCAxMjc5ODcsIDAsIDQyODQ3LCAxMTk4NTYsIDAsIDY3NzU0LCAKKyAgICA0OTM0LCAwLCA0MTMyMywgOTc1OCwgMCwgOTIyODksIDcwMTgxLCA0MjU4NCwgMCwgNDMyOSwgNDEzMjEsIDQ5NzksIDMwNDgsIAorICAgIDc3NTIsIDQxMzIwLCA5ODMwNDIsIDY0NjY3LCAxMjgxOSwgOTgzODcwLCA1MDcxLCAxMjc5MTUsIDM2NDIsIDY3MzM0LCAKKyAgICA1MDcwLCAxMDA0MiwgMTEzODEzLCAzOTg3LCA1MDY4LCAwLCA4OTA5LCA3ODY1MCwgNzg2NDksIDY5OTE3LCAxMDYzNiwgCisgICAgNzM5ODEsIDExODA2LCA0MzE2NywgNDUzMSwgMTI0NSwgOTEwNSwgNjY0NjMsIDQ5MjEsIDEyMDIxOSwgNDkyNiwgNjU1NDQsIAorICAgIDczODg0LCAxOTQ2MTksIDAsIDAsIDY0NzA5LCAwLCAxOTQ2MjAsIDc4ODgwLCA0OTIyLCAzMjUsIDk5MiwgMTE5NTY4LCAKKyAgICA0OTI1LCAxMjcyMTgsIDAsIDk1MjYsIDQ5MjAsIDEyODYxNywgOTQ4LCAwLCAxMjAyMDgsIDQ5MzAsIDk4MzIyNSwgOTIxNzUsIAorICAgIDEyMDI3NSwgNDkzMywgMTEzNzc5LCAwLCAxMTg5ODUsIDQ5MjgsIDAsIDAsIDc0NzcwLCAxMjAxOTQsIDEyNjU0OCwgNzIyLCAKKyAgICAxOTQ5MzQsIDE5OTA4LCAxMjYzNywgMTI3NDg1LCAxMTk4NTUsIDg3NTMsIDE1MDksIDAsIDU0NjgsIDk1MTEsIDQzNDkzLCAKKyAgICAxMjc0NzcsIDE2NzIsIDYyMDUsIDEwODY0LCA3NDU4NiwgMTI3NDgwLCA3MDEwMywgOTI2OTQsIDc4NTU1LCAxMjc0NjgsIAorICAgIDczODYzLCAxMjY1NzcsIDY4MzM2LCA0MTYwNywgMTIwMTE1LCAxNjc5LCAxMjAxMTYsIDEyMDE4MCwgOTI3NjEsIDEyNzQ2MiwgCisgICAgNzAwNSwgNDE2MDksIDk1ODAsIDcwNDMxLCA0MDEsIDY5OTQ5LCA0Mzc3OSwgNjk2OCwgNTc2MSwgMzQyLCA4NTUzLCAwLCAKKyAgICA4MTQzLCAxMjcxMTUsIDExOTgzLCA5MjI0OSwgNjI0LCA3NDUwOCwgNDA1NywgNDM3ODgsIDUwNzgsIDc0MjU4LCAxMjQ3OCwgCisgICAgMCwgNTA3NiwgMCwgMTk0NjA5LCAwLCA4Mjk1LCA2ODUsIDkwMjUsIDE1MjQsIDEyNjE4LCAwLCA1NTM5LCAxMjkxODIsIAorICAgIDkyNTIzLCAxMjAxMDEsIDcxMzgsIDEyMDU1MiwgNDM1MDQsIDE5NDYxMSwgNjY5MTQsIDY1Nzk0LCAxMjUyMCwgODA1OCwgCisgICAgOTczMiwgOTI0ODAsIDUwODAsIDY0Nzc1LCA1MDM2LCA1MDM1LCAxMjA1OTAsIDQyNjA0LCA5ODM2NTYsIDAsIDgwNzQsIAorICAgIDI3NSwgMTMyOTEsIDE5MDcsIDc4ODM4LCA0NDMyLCAxMjcyNzEsIDUwMzMsIDEyNzI3MywgMTIwODE4LCA0ODM2LCAzODg4LCAKKyAgICA3Mzc5MiwgMTA3MjksIDY0NTQ2LCAxMjcyNjIsIDQzNzA0LCAxMjcyNjQsIDkyOTU3LCA2NzU4OCwgMTE5MDAwLCAxMjQ5ODMsIAorICAgIDcwMzYwLCA4ODU4LCA2NDA5LCA3NjYzLCAxMjAyNTIsIDEyODEwMCwgMTE5MDA3LCAwLCA2NjMyMSwgOTQwNTIsIDEyODE0LCAKKyAgICAxMjcyNDgsIDM0MzIsIDEwMjE4LCAwLCA2MDk0LCA3NjQxLCA0MjQ0NSwgMTI4NzkyLCA5MjQ4NywgNDI0MDYsIDE2NzYsIAorICAgIDY3MzYyLCA3NDg2MiwgNjczNjUsIDUwMzAsIDY3MzY0LCAxMTg4MTAsIDE5NTAwOCwgNzM4NjksIDk2MjIsIDExMzc2MywgCisgICAgNjk5NDQsIDY3ODcsIDY3MzYxLCAwLCAwLCA2ODMxOSwgMTA1NDQsIDEyOTE5LCA3MzgxMiwgNzIzOTcsIDAsIDAsIDY5OTA2LCAKKyAgICAxMjA3ODksIDk4MzA0MSwgOTQ3LCA2NzY5NSwgNjczNjcsIDE5NDU4NSwgMTA5NjksIDY3MjI4LCA3NjEzLCA5MjU2MiwgCisgICAgMTE5OTM2LCA0Nzk1LCAxMTk5MzAsIDcwMTgsIDczNzYsIDEyMDE4MSwgMTIwMTkyLCAxMjAyNjgsIDAsIDQzNTY3LCAKKyAgICA3NDA1NiwgOTE3OTEwLCAxMTgzMywgMTE5OTE5LCA3MjE2LCA2NTIzMiwgNzIxNywgMjUxLCA3MjE4LCA3ODk1LCA0Mzk1LCAKKyAgICA0MzUzOCwgMTE5OTI2LCAxMTk5MjksIDExOTkyOCwgNzIxMywgNjg0NzYsIDcyMTQsIDcyMTUsIDU4NzksIDc0MTQxLCAKKyAgICA4ODgwLCA3Njg1LCA2NjQ1OSwgMTIwMTczLCA2NTU0MCwgNjczNTksIDYyNSwgODE4NywgNDI4NjEsIDExMTMsIDcyMzYsIAorICAgIDc5MTUsIDM2MzAsIDEyMDE3NiwgODE3OSwgNzAxNjMsIDY3ODg2LCA5MzE2LCAxMDk4MCwgMjQ4OSwgNjU2MjQsIDgxNTAsIAorICAgIDEzNTksIDY3NjUyLCA3MDQ2NCwgMTI3MzMwLCA3Mzc1NiwgNTA0MiwgNTA0MSwgNDI3NjksIDEyMDg0LCAxMjczMjQsIAorICAgIDEyNzMyMSwgNzQ0MTAsIDEyNzMxOSwgMTI3MzIwLCAxMjczMTcsIDEyNzMxOCwgMTI3MzE1LCAxMjI4MywgMTYxNiwgMzc5NSwgCisgICAgNjc3MzIsIDg3OTUsIDY2MjQ1LCAwLCAwLCAwLCAxMTM4LCA3MzkwNSwgMTI2NzcsIDAsIDY3NzI0LCAzMjM5LCA2Njg5MywgCisgICAgMCwgMCwgODQzMSwgMCwgNDIxNjQsIDcxMjI5LCAxMTc3OCwgMTI2MjAsIDY4MjYsIDczNzczLCA3MDE2OSwgNTA0MCwgMCwgCisgICAgMCwgNjcwOTQsIDc4NDIwLCAwLCA1MDM5LCA5ODM2NzgsIDc4NDE4LCAwLCA1MDM4LCAwLCAwLCAxMzE4NCwgNzQyOTMsIDAsIAorICAgIDY0NjQ4LCAwLCA5MzU5LCA3ODQxNiwgOTE3NjIzLCAxMjg3NzAsIDY1MTU3LCA2NjYyLCAwLCA3MDE4MiwgMzg2MywgCisgICAgNzM5MDksIDQ4MzUsIDU1MjY2LCA0MzQzMiwgMTI3ODIyLCA0MzA5LCA3MTI3LCAxOTQ1NjksIDAsIDE5NDU2OCwgMTMwMSwgCisgICAgMCwgNDI1ODksIDU2OSwgMTI4ODA0LCA3MzgxMywgNzExLCA0Mzg5LCA3MTMzLCAxMjA2NDMsIDczODgwLCAxMTYxMCwgCisgICAgMTEzNjgsIDAsIDE5NDU3MCwgNDEzMzEsIDEwMDYsIDc0MjQwLCA2NzIyNCwgMTU1MCwgODIwMSwgNzA0NTMsIDc2MjcsIAorICAgIDU0OTksIDUwMzEsIDc3OTA4LCA0MjczOCwgNjU3ODQsIDc3OTA3LCA2NTI2NywgMzc1OCwgMCwgNjU3ODEsIDY0NzM0LCAKKyAgICA2NzIyMiwgMjQ0MCwgNjU3ODAsIDcwNzg3LCA4NDQ5LCAwLCA1MDA4LCA5ODM1NzIsIDIxMTgsIDEyNjUwOCwgMTIxMjEsIAorICAgIDgyNTUsIDU1MTIsIDczODc1LCAyMTI4LCAyMTMwLCAyMTMxLCAyMTI2LCAyMTMzLCAxMTE5LCAxMjcwNjcsIDIxMTQsIAorICAgIDIxMTYsIDI0NTUsIDExMzc5OCwgMjEyMiwgMjEyMywgMjEyNCwgMjEyNSwgMTI3NDg2LCA4NzE0LCA5ODM4MjAsIDIxMTMsIAorICAgIDkxNzk4NSwgMjExNSwgMTI4MTc3LCAxMjc5MDcsIDQzNzEzLCA1MDUyLCA2NjIyMCwgNTgyMSwgNjE4NiwgNjU3NzgsIAorICAgIDY1Nzc1LCA1MDUxLCA2NTc3MywgMTQyOSwgNDI2NDcsIDUwNTAsIDMwMiwgMzg4LCA0MTExNSwgNzM1LCA2NjM3LCA1OTA3LCAKKyAgICA2NTA4OCwgMCwgMTI3MjYsIDc0NTk0LCA5MTE3LCA5ODMxODEsIDEyMDAzLCA1NTEzLCA2NjY2LCA1MDUzLCA3NDIzMCwgCisgICAgNTUxMCwgNzg0NTEsIDAsIDc4NDQ3LCAyNDcwLCA3ODQzNywgMCwgMTkyNSwgNzEyNTEsIDkyMjM3LCA3NDgwNywgMCwgCisgICAgNTA0OCwgNTA0NywgMCwgMCwgNzQyMDEsIDkyMzEzLCAwLCA3NDQ5NywgOTIzOTUsIDgwODksIDY5MjksIDYzOSwgOTgzNTYzLCAKKyAgICA2ODE3OSwgNjQ0NDIsIDcwMTgwLCA5MjM0OCwgNDU5OSwgNDE0MDIsIDY2NzQsIDQzMzk3LCA0MzI5NCwgMTQ3NiwgNjQ4LCAKKyAgICAwLCA2NTgxOSwgMzIzMywgMCwgNDE3ODIsIDY5NTEsIDk0MDE3LCA5ODM5NzYsIDM1MzAsIDk3NTAsIDEyODMxNywgCisgICAgMTI4MTIyLCA2NjU2LCA0MjYxOCwgNzAxNzUsIDUwNDYsIDg1MTIsIDY1ODU2LCA3NDI2MSwgODk2NywgMCwgNTA0NSwgCisgICAgNDIwMjYsIDE5MTYsIDc5ODYsIDUwNDQsIDEyMDU1NiwgOTAwNiwgMTMxMjgsIDUwNDMsIDAsIDc4NTMsIDc0MDY4LCAKKyAgICA3NDAwNCwgOTY2OSwgMTIzNDEsIDEyNzAzLCA4NDAyLCAwLCAxMTkwNzAsIDcwMTc0LCA0MTc1MCwgMzU4NiwgNjQ1MDgsIAorICAgIDQzMTQ4LCAwLCAxMjc5NzEsIDExOTYwNiwgNjc5ODMsIDEzMjk2LCA1MTcsIDAsIDEyODUzNCwgMTk0OTQ2LCA0MTUyOCwgCisgICAgMTIzLCA2NTQ1NCwgMCwgMTk0ODU2LCA3NDQ3OCwgMTA1MzEsIDc3ODQsIDQxNTI2LCAxMDgyOSwgNzM5OTEsIDgwNTcsIAorICAgIDExMjYsIDczODk1LCAxOTQ4NTcsIDE5NDU5MSwgMCwgMzkyNSwgNDI1MSwgODA2OSwgMTA1MTcsIDcxMTEyLCA0ODksIAorICAgIDcxMTEwLCA0MjUwLCAxMjA0NDEsIDEyMDQ1MiwgNDMxNTEsIDk4MzE3OCwgOTI3MzgsIDY2MjAwLCAwLCAwLCAxMjUwMjYsIAorICAgIDc0Mjk4LCAxMjg4NzksIDk4MzQ3NCwgODcxMSwgNjE4MywgMCwgOTgzOTUyLCA3MjQwMiwgMTIwNDQ4LCA3NjIzLCAKKyAgICAxMTg5MjUsIDExODg4OSwgOTIzNSwgMTI3NjAsIDc0MTc2LCA2OTY2MiwgNjY0NDUsIDQzNTQwLCAxMDA2MiwgMzc0MywgCisgICAgMTE1MTQsIDExMDc4LCAwLCAxMjEzNiwgMCwgMTI2NTk3LCAxMjA0MzUsIDE5NDg1MCwgNzcyNiwgMTk1MDk1LCAxOTkyMiwgCisgICAgMjY3LCAzMzkzLCA0MjE5OCwgMTM3MSwgMTk0ODQ5LCA2OTIzMywgMjQ1OCwgMCwgNjIwMSwgMCwgNDEwNzQsIDQyNjYsIAorICAgIDEwNjUyLCA0MTYxMiwgNDEwNzcsIDM0MDIsIDkwNTAsIDMzOTgsIDkxNzc5NiwgOTgzMzQ4LCAwLCAzMzkxLCA0MTA3NSwgCisgICAgMjQ3NiwgMCwgMTI4MDE3LCAwLCAxMDYyNSwgMTI5MTA2LCAxMjc2NywgMTMwMTcsIDc4NzQzLCA2NDI2MSwgNjQ5MzQsIAorICAgIDcwMTUyLCAxMzAxNCwgMTMwMTMsIDAsIDY2NzMsIDAsIDAsIDAsIDEyNDM4LCAwLCA5ODMzNDIsIDAsIDk4Mzg4MCwgCisgICAgMTI2NjM4LCA5MDUzLCAxMzAxNSwgNzQ1MjMsIDAsIDcwNCwgNjYyMTUsIDYxOTUsIDk4MzgyOCwgNjY2MCwgNzg3NTgsIAorICAgIDkxNzc2MCwgNzQ4NjEsIDQyMjEyLCAxMjYyOSwgMTE0MzUsIDAsIDU1MjU2LCA2NTUzOCwgNjczNDMsIDEyNzk0MCwgCisgICAgMTI5MDg2LCA0Mzg3NiwgMTI2NTg1LCA2NTQ0OCwgNzgxMDAsIDEyOTQ4LCAxMTkwMDEsIDE5NTAwMiwgMTE5MjM4LCAKKyAgICAxOTUwMDQsIDc4MDk5LCAxMjcwODUsIDAsIDEyODMyMCwgNDI4NywgODI3NiwgNDkwMiwgMTEzMSwgOTgzNjA2LCA3ODQ1OCwgCisgICAgNjY3MjgsIDE4MTYsIDAsIDQyNTMzLCAxNjgsIDQyODQ1LCA0ODk4LCA2NDI5OCwgMTk1MDEyLCA3ODEwNSwgNDkwMSwgCisgICAgMTgyMSwgMCwgNTc4LCAzNjUzLCAxMjg5NDYsIDc5MSwgOTE2MiwgNjk3NywgNzQxOTYsIDc4ODg5LCA3MDE2MCwgMCwgCisgICAgNzM3MzEsIDgzNTQsIDQzNTkwLCAxMTkzMDMsIDk4MzQ0OSwgNzU1NywgMTE5MTA4LCA2NzM3OCwgODIzNCwgNzI0MSwgCisgICAgOTgzNDQ4LCAxMTM3MzUsIDExOTE2NywgMTk0OTk2LCAxMjgxMSwgNjU5MjUsIDM5NDYsIDc4MDc4LCAxMDk5OCwgNzgwODAsIAorICAgIDY3MywgMTk0ODY3LCA2NDM5NywgMTI4Mjc2LCA3NDU5OSwgNzg0NDksIDg4OTAsIDE5NDk3NywgMTk0OTc2LCAyNDQ4LCAKKyAgICA3ODA4NSwgMTAyNjcsIDg0MjQsIDI0NTIsIDc4MDgzLCA2NzIxNywgODcyOSwgNzg0NTYsIDAsIDc4NDUsIDEyNjU2NCwgCisgICAgNzEzMDIsIDQ0MDgsIDQxMjIsIDY3NzIsIDExMDM5LCA4NzIzLCA2NTg5NiwgNzEzMTAsIDExOTMwMiwgNzMxLCAxMTkzMDQsIAorICAgIDcxOTA0LCAyNDM4LCA2NDg1NSwgMTE5MzAwLCAxMTkyOTksIDExNzUsIDAsIDQyMTM1LCAzNzMsIDExOTE3MiwgMjExOSwgCisgICAgMTE0NTcsIDExNTIxLCA3NzIzLCAxMjg2MzksIDAsIDAsIDQxOTUyLCA5MzAyMywgNTI3MywgMjEyNywgNTI2OSwgNjMzNywgCisgICAgNTIwMiwgMjQwNCwgNTI2NywgNDI4MjMsIDExMjkxLCAxOTkxNSwgNTI3NywgMTI5NjMsIDcwMzIwLCA2MTg5LCA0MTI1LCAKKyAgICAxMzE0LCAxMjEzMywgMTIwMzQwLCAxMTg4NzMsIDEyNzEsIDk4MzY0MCwgMCwgNjYwMjQsIDQxNDgyLCAzODY0LCA5MjA0LCAKKyAgICAwLCAzODc5LCAwLCAxMjk3OCwgNDE2NiwgNDU3NCwgMCwgNzU2NywgNzQ1OSwgNzgxMjgsIDQxMzkwLCA1Mzg0LCA0MTg4MiwgCisgICAgNjc2NDcsIDcwMTU0LCA1NzU5LCA5ODM5MTIsIDAsIDQxMzg4LCA2NDQ0NiwgNDEzOTIsIDY0Mjg4LCA0MTM4NywgNjcyMDEsIAorICAgIDg3MDYsIDU1NTIsIDk4MzE4NywgNzAwLCAwLCA1NTUzLCAwLCA3MDg4LCA1MzU2LCA3NDk5LCA2ODAwNywgNjY1OTYsIAorICAgIDc0MDY2LCA2NzI1MSwgMTAyNjMsIDU1NTQsIDAsIDEyMzQ0LCAxMDMxMSwgNzgxMTMsIDY2NjUsIDExMTE1LCAwLCA3NjE4LCAKKyAgICA4NTE3LCAxMTQ1NSwgNzg0NDAsIDY0NjMyLCA2NDQ0NywgNTU1NSwgNzgwODgsIDc4MDkzLCA3ODA5MSwgMCwgNDI4MDMsIAorICAgIDY1MDMzLCA5MTQzLCA2NjY4LCA2NzI4OCwgNjc5OTUsIDE5NTA2OSwgNjU2LCAxOTUwNzEsIDY1MDM3LCA0NTc3LCA2NDYyNCwgCisgICAgMCwgMCwgNzE5MTIsIDk4MzY0OSwgNDI2OSwgNzM4ODUsIDkxNzc3NSwgNDI4NDYsIDY5NjQ0LCA5NTAsIDAsIDkyMjczLCAKKyAgICA2NjU4MCwgMTE4ODk1LCA2NjY4MywgMTA1NTQsIDExOTAwOCwgMTE5MTIxLCA2ODMyLCA1MDk4LCA5MTc3NjgsIDE5NDY2OCwgCisgICAgNzA0MDMsIDUwOTcsIDQ5MzUsIDk4NDgsIDEwMzgxLCAwLCA2NzI5NiwgOTI4OTYsIDM2NTEsIDAsIDY3Mjk0LCA3MDg0OCwgCisgICAgNTEwMiwgNTEwMSwgMTAyNjksIDEyOTgzLCA4MTM4LCA0NTE3LCAxOTMyLCA1MTAwLCAxNDM5LCAxMjA5MywgMTI0NywgCisgICAgMTAwMzQsIDE5NTA2NCwgNTA5OSwgNzgzNzMsIDE0NDEsIDQyMDg3LCAzMDYzLCA2NTAsIDExOTk1MywgNzgzOCwgMCwgCisgICAgMTI4NjU1LCAxOTUwNDAsIDExOTE0MiwgOTAzMSwgNzA4MjksIDc4NDI3LCA5MDc4LCA4NTQ1LCA2NjM1NiwgMTI4Nzk5LCAKKyAgICAxOTQ5MjMsIDkxNTQsIDkxMTgsIDEyNjU0MywgMCwgMjY3NiwgMjI3NywgMTI4NDIyLCA2ODIzNywgNjE5MCwgODU5OSwgCisgICAgMTI1MTE4LCA2OTkxOCwgMTA3OTUsIDk4NTcsIDcwMTQsIDk4NTYsIDE5NTAzMywgNzE5MDMsIDEyMTI5LCAwLCA4NDgxLCAwLCAKKyAgICA2MjAyLCA2NzcxMSwgMTA5MjAsIDExMzcyNiwgNTIwMywgMTk1MDM5LCAxOTUwMzgsIDUxMDgsIDUxMDcsIDY1ODE4LCAKKyAgICA2NjAxOSwgOTc2MiwgMTEyMDUsIDU1NDEsIDc0NzcyLCAwLCAxMjYxMywgNTI4NCwgNjY1NywgMjA3LCAxMjg4MDYsIDQyNzUsIAorICAgIDc0ODE5LCA4NTQsIDY4MTQ3LCA3NDM4MSwgNjY4MTYsIDc4Nzg2LCA1MTAzLCAxMjc4NjEsIDY0MzQ4LCA0MTM2OCwgCisgICAgNDM5NzQsIDQ4OCwgNjk4MTEsIDAsIDcxMzM5LCAxMDE1NywgMTk0NzM3LCA0MzAzNCwgMTE0MzgsIDY0Njc0LCAwLCAKKyAgICA3MDE1OCwgNjg0MzEsIDQxNzcxLCA1MTA2LCA2NjY5LCA4NTA0LCA2NTE1NCwgNjk4MTMsIDQxMzY3LCA1MTA1LCAxMjc1MDksIAorICAgIDY5NzIwLCA2NDc2LCA1MTA0LCA5ODM3NDksIDMwNCwgMzE3NiwgNzg4NzEsIDcwMTQ5LCA5MzIsIDExMzY4MywgNjU2NywgCisgICAgMjM4LCA2OTY1NiwgNzg0MzIsIDE5NDU5NSwgMTk5MDUsIDQzODUwLCAxOTUwMTUsIDc4ODcwLCA0MTA0NCwgNjc2NDAsIAorICAgIDY3MzAyLCA0MjA1NSwgOTkxMiwgNjU5MzksIDEwNjcwLCA3NDA5MywgMTMyNzMsIDAsIDEyNTUyLCA5MzAzOSwgODgwMywgCisgICAgMzA5LCA2NjIyLCA4MTUxLCAxMDg1OCwgNzg3MDYsIDY3NjM2LCA3MDE3MSwgMTI1NjgsIDAsIDEyNTUzLCAxMDgxNCwgCisgICAgNDMyNzUsIDY5NTAsIDk3MTIsIDY4NjgwLCA0Mzk3MCwgMTI2NTM1LCA2NTE2NSwgOTI3MjUsIDAsIDY2NDY2LCAxMjQ5ODYsIAorICAgIDAsIDAsIDY2NzI1LCA2MTkxLCAxMTM1MSwgMTA0MzcsIDExMzE2LCA2NzYzNCwgNDM3NjMsIDAsIDQxNzU0LCA2NzYzNSwgCisgICAgOTM3MCwgMjcyMCwgMTk0NjAwLCA2ODQ2MiwgODIzMiwgMTE4ODE3LCAwLCAzMjIyLCAwLCAwLCAwLCA2NjY2MywgOTgzMDQ3LCAKKyAgICA5MzA2NywgMTA4MzQsIDk4MzEyNywgMCwgNjU3MzIsIDk0MDk1LCA5MTc1NDcsIDkyNjgyLCA2NzY3OSwgMTI5MTUwLCAKKyAgICA2NzMwOSwgNzc4MSwgNDEzODMsIDY0NTY4LCA2NzMxMSwgMTIwNzM4LCAxMjA3NywgNzQ0MzMsIDY0NTg2LCA5MTc2MjAsIAorICAgIDQyMzk2LCA1NTI1NSwgMzQ3NSwgNjcyNjAsIDI0NzksIDY3MzA2LCAzNjMyLCAxMjA3MjgsIDEwNjk4LCA4Mzc2LCAzNjQ4LCAKKyAgICA2NzI2MywgNzQ4NDQsIDY3NjM5LCAzNjM2LCA2Nzg5NCwgMzY1MCwgODgzNywgNjUyMjksIDE4NDMsIDQyMjgzLCA0MzI1MCwgCisgICAgNDE1NjIsIDkxMDAsIDc0NTQ4LCA5MTc2MzAsIDM2NDAsIDEyNzE5MCwgNDIzMjEsIDcyODQsIDkyODgwLCAxMTg5ODcsIAorICAgIDE5NDk1MCwgMTk0OTQ5LCA3NDExNSwgMTk0OTUxLCAxMjY2NDksIDE5NDk1MywgNDIwODAsIDI1MjksIDAsIDk4Mzc4NCwgMCwgCisgICAgNDIwODMsIDEyMDY3OCwgNjgzOTgsIDE5NDk1NywgNjc2MTksIDY2MzY3LCAxOTQ5NTgsIDk2MzQsIDkyMzgwLCA5OTg4LCAwLCAKKyAgICA0MTA2OCwgMCwgNDI5NSwgNjUyNjQsIDY4MDA2LCAwLCA5MjU0NSwgMCwgNzg1LCA4MjM2LCAxMjg2NDcsIDkwMjcsIAorICAgIDY4MTYwLCA2NzYyMywgNjQzODMsIDEyMDI2NSwgOTI1LCAxMjcxNTYsIDAsIDQxOTg1LCA0MTA3MSwgOTU4NiwgMTk0OTA4LCAKKyAgICA0MTk4NCwgOTIxNywgMTI4MzcyLCA5MjUxMCwgOTIyMTgsIDkxODYsIDIwNjcsIDQwMTYsIDk4MzgwMywgMCwgMzgxLCAKKyAgICAxMjkzNiwgMCwgNDIwNzcsIDkyOTg1LCA2OTg4MCwgNTE4NCwgNDIwNzgsIDE5NDYwNywgMTA4MTAsIDEyODUzMSwgNDU4NSwgCisgICAgMTk5NDMsIDU4NjAsIDY3NjMzLCAwLCA5ODMyNzksIDgxMiwgMzYxNSwgNzI0MDEsIDUxNzgsIDQ0MDAwLCAxMjA1NDgsIAorICAgIDc4ODA3LCA1MTg4LCA3NDI4NywgNjc2MjksIDM2MDUsIDEwNjkyLCAxMTY2LCA2NDQyOSwgNDI2MzksIDkyNCwgMCwgCisgICAgNjc2MzEsIDQyNjE2LCAxMjA2NzAsIDI0NDIsIDEwNzAzLCA2NzMxNywgNjc2MzIsIDY3MzE2LCAxMjc3MSwgMTI3MzYsIAorICAgIDEyNzUzLCA2NjcwOCwgNzM5MzMsIDY3NjI2LCA0MjQwMSwgMCwgNjk4NzIsIDEyNzM3MywgNDIyODgsIDEyNzUxLCAKKyAgICA5ODMwNjQsIDg1NDIsIDEzMTQ1LCAxOTQ5NjMsIDI0NjgsIDY2NzA2LCA0MTI5NCwgMzYyNiwgMzg4MywgNjQzODgsIAorICAgIDQyNDc5LCA3MTIyMCwgNDExMTcsIDAsIDkyNTgwLCAwLCAwLCA2NzYyNCwgMCwgMTI5MCwgMCwgNjU1ODUsIDI3MTUsIDgwNiwgCisgICAgNjUyMDgsIDQxODg0LCA5MTc4ODMsIDEzMTgsIDY0NzMxLCAxMjY1NzgsIDAsIDAsIDY2MzI1LCAzNDY1LCAyNDA1LCA5MjQwLCAKKyAgICA5ODM4NTgsIDEyNzU2LCA2NTI1OSwgMCwgOTgzNzgxLCAxMjc1MiwgNTgzMywgMTQzMiwgNjYzOTYsIDQxODgzLCA3MzkxMiwgCisgICAgOTc5OSwgMCwgNDE4ODYsIDI0ODAsIDAsIDIwNjIsIDY3MzI2LCA2NDk0LCA1NTM3LCA3ODY1NiwgMCwgMTk0NTg3LCAKKyAgICAxMjQ5NjksIDEyMTEsIDAsIDAsIDY3MjY5LCAxMTg4MzIsIDEyMzE4LCAxMjkwMjQsIDExMzc5NiwgNjgwMDUsIDEwNjIyLCAKKyAgICA5ODM3NzksIDAsIDc4NjU0LCA2NTY2LCA3MTE5NSwgMCwgNzM3ODAsIDExOTE5NiwgNjQ4NjQsIDAsIDc4NjYwLCAwLCAKKyAgICA4Mjg0LCAxMzA4MSwgMTE5MjA2LCAzNTg5LCA0MjA1MSwgNDAzNSwgNjQ5MiwgOTIyMzYsIDQyNjUsIDY2NDIsIDM5NzcsIAorICAgIDc0MTg2LCA0MTc3OCwgODM2LCA5Mjk0NywgMjQ4OCwgMTI5MTc2LCA0NTgyLCAwLCAwLCA0MTc3NywgMTI5MjYsIDk4MzM3NywgCisgICAgNzUyOCwgMTA1NTAsIDExMzc2MSwgOTI3MDYsIDAsIDEwOTYxLCA5Mzk3NywgMTM3NCwgNjQ4NzgsIDExOTAxNCwgNjc3MjAsIAorICAgIDQyMzg5LCA0MTM3NCwgMjI4NiwgOTE3NjA0LCA3ODQ5MiwgNDEzNzcsIDEyNzkwOSwgMCwgNDAwLCAxMjU5NywgMTIwNTg2LCAKKyAgICAwLCAwLCA2NjYxLCA5ODMxNDUsIDY0ODI3LCAwLCA3MzgxNywgMzkwLCAwLCA3MTMwMSwgOTgzODYyLCAzNDczLCA3NzE4LCAKKyAgICAxMTM3NTUsIDEyNzAxMSwgMCwgNTUyODUsIDczNzg0LCA2NjM5NCwgMCwgMTE5NjksIDEyMDQ2MSwgMTI3ODQxLCA2MzY1LCAKKyAgICAxODg3LCA2NzYzLCA5MjU1MSwgODA4MCwgNzAwNiwgMCwgMTE4OTAyLCA2NzU3LCA2NDM1MSwgMTU0NCwgNjcxNTYsIDY3NjYsIAorICAgIDY0Njc3LCAxMjA3MTYsIDY3MDg4LCA2MTQ2LCA3NDAzMSwgNzcxLCAxMjA2ODIsIDAsIDEyODEyLCAxMzE2OCwgNDIyNzIsIAorICAgIDEyMjAwLCA2NjQyMywgNzkwNCwgMCwgOTUzLCAxMjkxNywgMTE5NTYwLCAxMjMwMCwgNjcwODksIDExNDkxLCA5NzI0LCAKKyAgICAxMDM0MSwgOTgzNzczLCA5NTI0LCA3NDkwLCAxMTM4OSwgNzQ4OSwgMzM3OSwgMCwgNzQ4NywgMTk0NjI0LCA0NzEsIDc0ODQsIAorICAgIDc0ODIsIDY3NTMsIDc0ODAsIDU3NjQsIDc0NzgsIDc0NzcsIDY1MDEsIDc0NzUsIDY5MTgsIDc0NzMsIDc0NzIsIDI0NzQsIAorICAgIDc0NzAsIDc0NjgsIDEwMjMyLCAxMDYxNSwgMTAyMTMsIDEyNzI4OCwgOTIzNTcsIDEwMDQ5LCAxMTgzNCwgMzU0NCwgMCwgCisgICAgNjAxNywgNjUzMTEsIDEyNzQ4MSwgMTIwMjE2LCAxMzMwNiwgMTA1MzMsIDc4NzAsIDczOTQ5LCA3NjI1LCAxOTQ4ODIsIAorICAgIDEyMDU0NCwgMCwgMTI3OTUwLCA5MjY2MCwgMCwgNzc4ODksIDAsIDE5OTYxLCAyNDcyLCA0MjY2NSwgOTIzNDEsIDAsIAorICAgIDIxMzksIDQyNTYsIDEyMDc3NiwgNzQzODAsIDQzODM2LCA0MjY3NSwgNDI2NTgsIDEyODQ1LCA3MDM0NSwgNzA1MDgsIAorICAgIDY1MTM4LCAxMTkzNTUsIDY3ODYyLCAwLCA2NTY3MSwgNzA4MywgMTIwMDA4LCA4MDY2LCA3Njc4LCA3NDg2NSwgMTI1MTM0LCAKKyAgICAxMjAzMjEsIDAsIDk4MzM5NCwgNzE4NiwgMCwgMTIwNTU1LCAwLCA0NDUsIDEyMDU2NiwgNjY4NDksIDk4MzQ3NywgMCwgCisgICAgODMzMCwgMCwgMCwgNDI3OTcsIDExMzczNiwgMTIwMjE1LCA5MzAzNiwgMzkwMiwgMCwgMTc3MCwgNjcwOTEsIDEyNTA2NywgCisgICAgMTU2MCwgMTIwMjA5LCAxOTQ5NzIsIDQ1ODQsIDczODQzLCAwLCAxMTcxMiwgMTA4NjYsIDY3MDkyLCAxMTE4LCA3MTMzNCwgCisgICAgMCwgMCwgMTA4MSwgNzQzNiwgMTExNDcsIDcyNTIsIDcwMDkzLCA1OTk2LCA2OTkyMSwgNDkwMywgNjgxNDIsIDQxMzg2LCAKKyAgICA1MTYyLCAxMTkxODksIDEzMzAsIDEyODYxMywgNzEzOSwgMCwgMTIwNDcsIDQxMzg0LCAwLCAwLCAxODQ4LCA0MzM0LCAKKyAgICA2MzI0LCA0MTk3NSwgNjQ3NzcsIDEwNjc0LCAxMjMwOCwgMTIxODYsIDAsIDAsIDk4Mzc0MSwgMTI3MTUsIDY4MDAyLCAKKyAgICA5ODM0NzksIDEyNjYzMCwgMjAxOCwgNjY2NzIsIDQxOTc5LCA2NjY4NSwgMTE5MTU3LCA2ODAwMCwgNzg0OTAsIDAsIAorICAgIDEyNjk4NCwgNjgwMDEsIDkzMzQsIDkyNzA1LCA3MDgwMCwgNzAxMDEsIDc5NzUsIDAsIDc3OTU3LCAwLCA0MzQ5NCwgNDg4NCwgCisgICAgNjY1OTcsIDY5NzMyLCAwLCAwLCA2MzEzLCA2NTUxMywgNjk4NTcsIDAsIDAsIDAsIDIzNDUsIDQzNjk3LCA0NjMsIDAsIDAsIAorICAgIDY4MTc4LCAzMTE3LCA1NDYwLCAwLCAxMjg3MTcsIDk4MzM4NywgMCwgNDIyNzksIDE5NDU3NywgMCwgNzg0MTUsIDk4MzIyOCwgCisgICAgNjg1MjQsIDk4MzM4NCwgMTMyNDgsIDEyNTAyNywgMCwgMTI4NDcxLCAxMjg0MTUsIDk4MzE1MywgMCwgNTY2MywgMTI3OTQyLCAKKyAgICAxMjg0NzIsIDAsIDAsIDI0ODIsIDE0NzEsIDE5NDU4MywgMTEzNzQ3LCA0MjI0NywgMTIzNzgsIDczOTI1LCA2OTY2NCwgMCwgCisgICAgMTIzNzQsIDAsIDE5NTAyMywgMCwgMTE4ODI4LCAyNDYwLCA3MTg4MiwgMTE5NDQsIDEyMzc2LCAxMjc4NjgsIDY0Njc5LCAKKyAgICA5Mjg5MywgMTIzODAsIDEwNTU3LCA2NDQ3MywgNTg3MCwgMTExMjIsIDIwMjQsIDEyNzE4MCwgMCwgNzE4NzksIDUzOSwgMCwgCisgICAgMTI3NzY1LCA3MDEyMCwgMzg1MywgNjUxODAsIDEyNzkyMywgMTIwNzk2LCAxMjAyNDUsIDkyMzI0LCAwLCA4NjU5LCAwLCAKKyAgICAxMjQ3NCwgNjcyNDEsIDk1MDMsIDE5NDk2OSwgMjQ3OCwgMTIwMjQ4LCA0MTYyLCAwLCA0MjYwLCAxMjk1MywgNjk2MzMsIAorICAgIDEyMDA4OSwgMTI0NzAsIDkyNjQwLCA3NDE4OSwgMjc0MiwgMTI0NzYsIDExNzk4LCAxMDk0NiwgMTI3MzEwLCA1MDAwLCAKKyAgICAxMTM2ODcsIDk4MzU3OSwgMTI4Nzc3LCA2OTY3MiwgODIxMywgNDM4MjQsIDc3NzEsIDYxNjEsIDY4MDE4LCA2NzA5LCAKKyAgICAxOTQ5NjcsIDc4ODg1LCAxMTkyNDMsIDY4MjM1LCAxMjA1ODIsIDc4NTQ3LCAxMTM3MDksIDEwMzAxLCAxMDMzMywgMTAzOTcsIAorICAgIDEyNDkzNCwgMCwgNzM3OTEsIDAsIDAsIDAsIDAsIDExOTEyMywgNDAxNCwgMTI4NDIsIDczOTUyLCAxMjAxNSwgMTI3MjkwLCAKKyAgICA4Mjc1LCAzODkzLCA5ODMyNjQsIDAsIDEyMjEwLCA3MjIxLCA0MjE0NywgNzQ4NjgsIDc0NTUwLCA3MTIxNSwgNjQ3NDcsIAorICAgIDExODg0MSwgMCwgMTI1MTYsIDQ0NDQsIDAsIDkyMjcxLCA3NDUzNywgMTA4OTIsIDgyMzEsIDAsIDY0NzMsIDQxOTY4LCAKKyAgICA3ODM4OCwgNDE5NzMsIDM1OTEsIDQxOTY5LCAwLCAyNDUzLCAxMjg1NDksIDkyNjY2LCA2NDcwNSwgNzEwNjgsIDAsIAorICAgIDEwMzQ5LCAxMDQxMywgNDM1OTEsIDQxOTYyLCAzMjAyLCA3NDM1MywgMTI5MTc1LCA4MzE2LCAxMjkxNzQsIDAsIDk0MDYwLCAKKyAgICA2ODcsIDEyNTA4OSwgMTI5MDc0LCAwLCAxODQwLCAwLCA2ODY3MSwgMTExMjEsIDQ4ODMsIDI4NSwgNDcyMywgMTExNzUsIAorICAgIDkyNjkyLCA0NDU5LCA3NDU3NywgNDI5MjEsIDQxNzIwLCAxMTA4OSwgMjQwLCAxOTkwNiwgMCwgNDIzMjMsIDc0NjQwLCAKKyAgICA5NzQzLCAxMjAyMzIsIDEzMTM0LCA5MzA2NSwgMTI4OTU2LCA2NTkzMSwgOTI1NzksIDEyODMyOSwgNDI2MzQsIDk4MzM0MywgCisgICAgNDM0MzcsIDMwODEsIDExNDYzLCAxMjAxNTQsIDAsIDE5NTAxMywgMTA0NDUsIDAsIDkyOTY5LCA2NjcxNywgMjYxNCwgCisgICAgOTEyNSwgMTE5MDIzLCAxNzI5LCAwLCA3MjQyMCwgNjUyMjEsIDYzODgzLCA0MzMzNCwgNjQ4NTIsIDEyNDkyOSwgNjUxOTQsIAorICAgIDY2MjAxLCAwLCA2NjU3OCwgNTAwMSwgNDE4NzksIDc0NDI3LCA0MTIxLCA1MDAzLCA4ODQsIDY2NzAwLCA2Mzg3OSwgNDk0MywgCisgICAgNTE1MCwgNzM4ODksIDczNzY0LCA0MDM5LCA2NDMsIDMwODYsIDkyOTYxLCA0MjQ0OCwgNDIyOTksIDU4LCAwLCA5MTc5NTIsIAorICAgIDEyMDA4MywgNjM4NzMsIDg0OTEsIDAsIDAsIDk4MzYyMywgNDUzMCwgNDI0MDksIDcxMjYsIDE5NDU3NSwgMjcyMSwgCisgICAgMTIwMDczLCAxMTkwOTYsIDE5OTI5LCAwLCAxOTQ1NzQsIDkyOTc1LCA0MjQyLCA0MjY0LCAxMjAwNzcsIDEyMDUzMCwgCisgICAgNjYxNzksIDQyNDEyLCA2NTk0MSwgMTMxMTQsIDY0NTIyLCAxMDc0MCwgMzA5NCwgOTgzMTk5LCA5NzU0LCAxMTkxMDIsIAorICAgIDQ0MzcsIDczOTQ4LCAxMjcwNzQsIDk4MzIzOCwgNTUyODAsIDQyMTc0LCAxOTQ5MjUsIDQyNDMwLCAwLCA5ODM0NTAsIAorICAgIDQyMzU1LCA2NjAyNiwgNDMwNiwgNDEzODAsIDY4NDMyLCA5MjU4NiwgNjgzMTQsIDY2NjY3LCAxMTkzNTEsIDAsIDEyNjUyMSwgCisgICAgNDIyMDAsIDQyNTY2LCA3MDAwMCwgMTI4OTI4LCA1MDg4LCA2OTQ4LCAwLCA4NTI0LCAxMjUwNDAsIDAsIDEyMzg1LCAwLCAwLCAKKyAgICA2OTY0NiwgMTM4NiwgNjQ1ODAsIDExNDgwLCA2MTE2LCA2NTAzOSwgNjUwMzgsIDEyMzkyLCA2NTAzNiwgODA2NCwgMCwgCisgICAgMTIxMDEsIDU4MjIsIDExOTAwNCwgMjA4MCwgNzEwLCA3Nzk5OSwgMTE2NjMsIDE2NjYsIDQyMDkxLCAxMTk2NTcsIDEyMzgzLCAKKyAgICA0MzY3MSwgNDIwOTIsIDY4NDE4LCA0Mjg5LCAxMjc4OTcsIDYzODk2LCAxMjA2MSwgNDIwOTYsIDQzNjIxLCAzMzYyLCAKKyAgICAxMjM3NywgMTE5OTM0LCA5ODM4MzQsIDY4NDQ5LCA3NDYxLCA3MzkwMSwgMTI0NCwgMzMxLCA3Mzc4NiwgMTI2ODMsIAorICAgIDEwNjYyLCAwLCA4MTEyLCAwLCA2NTg1MiwgNzQ2MjksIDEyMzc5LCAxOTQ4NzcsIDkyOTMwLCA0MTk2NCwgNDIyMDgsIAorICAgIDYzODQzLCAyMDg0LCA0MTk2NSwgMTI1MDk5LCA2NTg2NiwgNDMyNywgMCwgNjM4NDAsIDY2NDEzLCA0MTIyMCwgMTMwMzIsIAorICAgIDkyOTgwLCA1ODQsIDEyOTMzLCA0MzE3NywgMTIzNzMsIDY5ODU1LCAxMzAwMCwgMTM1MSwgMjkzNSwgODY5OCwgMTI2NjUsIAorICAgIDAsIDE5MzAsIDAsIDc4MjI5LCAxMjQyNywgNjY1MTQsIDY5ODU5LCAxMzAzMSwgMCwgNjM5MDEsIDAsIDM2NTcsIDExOTYxMSwgCisgICAgNjUyMDIsIDYwMDAsIDExMzc4NiwgMTI0MjYsIDEyNzE4MSwgMTE5OTM1LCA0MTc0MCwgMTI0MjgsIDQxMjgzLCA0MTkxNiwgCisgICAgMTE5MjEwLCAxMjgzMTgsIDAsIDEyNDI5LCA2NzI3LCAwLCA3NTYyLCA5ODMyNDgsIDUxNzAsIDk4MzkxNSwgNDE3NTUsIAorICAgIDY3NiwgMCwgNjY3MDQsIDY2NjY0LCA5OTc4LCA2NjQ5MSwgMzUzNiwgMCwgOTc1MiwgOTIzOTcsIDYxNjIsIDkyOTI4LCAKKyAgICA2OTIyOCwgMTAxMTMsIDQxODI5LCA2NTg4NiwgNTE1OSwgMTI0MjIsIDQxODMyLCA0MzksIDMwNzIsIDk4MzQ2NCwgNDIyMDcsIAorICAgIDc0NTQ5LCAxMTc5NiwgNDA5NzAsIDQxODMwLCAxMjUwMjEsIDcwMTUxLCA4MzA4LCA5MTc3OTcsIDcwODA3LCAxMTkyNTgsIAorICAgIDY3ODY0LCAxMTM2OTYsIDkxNzgwMCwgMTIzMzYsIDQxMzUsIDY3MjMxLCAzNDEsIDI3MjcsIDQxMjksIDM1MzksIDAsIAorICAgIDYzODYxLCAwLCA3OTEzLCAwLCA2Mzg1OSwgNDEzMSwgNjM4NjgsIDEyOTA4NSwgNjM4NjcsIDQxMzMsIDExMzcxLCAyMTAsIAorICAgIDQ2MDAsIDAsIDc0NTYwLCA0MTM3LCA4MDgyLCA3ODUwNiwgMTE5MDYyLCA3ODUwNCwgNjcwNCwgNDU5MSwgMTI4MDI5LCAKKyAgICAxMjUwMTgsIDEyMDc1MywgOTY4MCwgMTI5MzcsIDEyMDYyMywgNTYxLCAxMjE1OSwgMTk1LCA2ODMyMSwgNDE1MDEsIAorICAgIDk4MzM3MSwgNDIwMzEsIDU3MTksIDcxNzIsIDQyNjg3LCA4MzY4LCAxMjgzMDYsIDQxNDk5LCA5MzA2OCwgNzEwNDcsIAorICAgIDQyMjQyLCA0MTQ5OCwgOTE3Nzk0LCA0MjAyNSwgNzg1NjUsIDY1ODA1LCA0MjQ2MywgNjcxODIsIDI5MjQsIDY3MTgzLCAKKyAgICAxMjA1MTAsIDAsIDAsIDkyNzY2LCA3Mzk0MSwgNjcxODYsIDQyMzMwLCA2NzE4NywgMzk2OSwgMTI4NDg0LCAwLCA3MTY5LCAKKyAgICAxOTkyLCA5NjUyLCA3Mzk3NywgNzI0NiwgNDIwODYsIDEyNjYxNSwgMjIxOSwgMTI3MTc3LCAwLCAxMjg4MDEsIDY3MTgwLCAKKyAgICAwLCAzMjcsIDEyODMwMCwgOTA0MiwgOTE3Nzc3LCA5MTc3NzYsIDY1MTQ4LCAxMjQzMywgOTE3NzgxLCAxMjAyMjIsIAorICAgIDkxNzc3OSwgMTI0MzEsIDg2NjgsIDEyNDM0LCA2NzE5NCwgOTE3NzgyLCA1OTk5LCAwLCA3NzEyLCAxMjQzMiwgMTI4MjQzLCAKKyAgICA0MzY1MywgMTcyNiwgMTAxNSwgMCwgODIxMiwgMCwgMTEzNzU0LCA0MjQyMywgMTE5MDY2LCAxOTQ2MTMsIDcyMzk4LCAKKyAgICA2NjcwOSwgMCwgODgxMSwgOTI3LCAxMjg0NjEsIDAsIDEyNDM2LCAxMjAwODcsIDQyMDIxLCAwLCA2NzY0NCwgMTI5OSwgCisgICAgMTIyNDAsIDQyMzUwLCA2NTE0MywgMCwgMTk1MDE2LCAxMjc5NzIsIDc4MTk3LCAxMTM0OCwgMCwgNzgwMzcsIDkxOTQsIAorICAgIDk4MzE4NCwgMCwgMTk5MTQsIDEyMTc5LCAxMjg3NDAsIDIyOTYsIDEyODkzMiwgNjM4MzYsIDYzODMyLCA5MTc3NzMsIAorICAgIDEwOTY3LCA2MzgxNiwgMjU5NCwgMzQ0NCwgNjM4MTcsIDExMTc4LCAwLCA0MTUwMywgMTI3NDc4LCAxMTI2NSwgNjgyOTUsIAorICAgIDEyMDc1NiwgMTk0OTIyLCA2NzI4NSwgNTY2NCwgMzk3MiwgMCwgMTI4NTgzLCAwLCA2NzI4NCwgMTI0MTYsIDkxNzc2NCwgCisgICAgMTE5NjA4LCAxMDgxNiwgOTE3NzY5LCAxMTIxMCwgMTI0MTgsIDc0MTExLCAzODgyLCA4NTMyLCA5MTc3NzEsIDE1NzMsIAorICAgIDEyODAxOCwgMTE5ODQ3LCA0NTk2LCA2NjMzOSwgMTI0MTcsIDY2MDAxLCA2NTM0MywgMTI2NDkxLCAxMjQxNCwgODI4NywgCisgICAgNjgyMTksIDE5NTAxNywgNjgxMDgsIDExNDMsIDExOTE2OSwgMTE5ODQ2LCAxMjQxNSwgNjYyNiwgNDI3NjMsIDAsIAorICAgIDExODg4NCwgOTAyMSwgMTIwNzgzLCAxMTk5MzEsIDExNzI0LCAwLCAwLCAxMjcxMDQsIDEyNjYxOSwgMCwgMCwgODAyNywgCisgICAgMTA5OTcsIDkxNzEsIDEyNzQxLCAxMTQwMCwgNzEzMDUsIDE5NDc5OSwgNjY4MzMsIDEyODIzOSwgMCwgOTI1NTcsIAorICAgIDExOTYwNCwgMTI3NTIzLCAxMjAxOTAsIDEzMjQsIDY3NjA4LCAxMjgyMTQsIDQyMzY4LCAwLCA3NzE1LCAzODgxLCA0MTQ4NywgCisgICAgMTIxMTgsIDQyNTE0LCA2ODY1MSwgMCwgMTI4NTk0LCAzMDA5LCA0MTQ3NiwgNDE0ODksIDY5ODI1LCAzMDA3LCAxNDQ4LCAKKyAgICAzMDE4LCAxOTQ4MDksIDM4ODksIDg1MjEsIDUwODMsIDUwODIsIDExOTg1OSwgNzgyNTUsIDg1MTksIDk4MzI0MSwgMzAxNCwgCisgICAgNTA4MSwgNjU4NTMsIDEyMDcxNSwgMCwgNjgwMTQsIDY5OTUxLCA1MDc5LCA2NDgwMiwgNDIyMTAsIDQ1OTcsIDY1NTMyLCAKKyAgICAxMTgyOCwgMTIwMTg1LCAxMjM3MSwgMTExMDUsIDg0MDcsIDY3MTYzLCAxMDgwNSwgODUxOCwgMTA3NzksIDEyMDE4OCwgCisgICAgNzEzMDMsIDk4MzkzMywgMTIzNjcsIDQyMTcwLCAwLCA2NzI5MCwgNjI5LCAxOTI0LCAxMjg0MzUsIDEyMDM3LCA2NzE1OCwgCisgICAgNTk4NywgODQ2MiwgODAwNSwgMTIzNjUsIDYzOTMzLCA2OTczNSwgMTIwODE1LCAxMjM2OSwgMTA2NDksIDY3OTgxLCA1MDc3LCAKKyAgICAxMjAxNzQsIDEwODgwLCA2MzkyNywgNTA3NSwgOTE3ODgxLCAxMjczMDAsIDY1MDc1LCAwLCAxMTAwNywgNzA4NTEsIAorICAgIDY2NjU5LCA5MjYwNywgOTE3OTMzLCA2NjY4NCwgMTI4MDYzLCAzNDM0LCA0OTU0LCAxOTA0LCA5MjY3OSwgNTI2NiwgCisgICAgMTI2OTgwLCA1MjcyLCAxMDQ5OSwgNDUwNywgOTU3OCwgNjM5MjMsIDEyMDE3NywgNzk3OSwgMCwgOTgzMSwgMCwgMTk0OTI2LCAKKyAgICA0NjEsIDk4MDMsIDQyMjgyLCA0NTA0LCAxNTA1LCAwLCA2MzI1LCA1Mjc2LCA0MzAyMSwgMTIwNDg4LCAwLCA1NTIzNiwgCisgICAgOTI2NTksIDY2NDYxLCA1MTc3LCA0MTMyNCwgMTIwNTUsIDg3MjIsIDEyMDgwNSwgNDEzMjcsIDk4MzczMiwgNjY2OTUsIAorICAgIDQxMTQsIDQwOSwgNDM4MywgODkwMCwgODk0OCwgNDEzMjUsIDAsIDcyMSwgMTAxODIsIDkxMDgsIDcxMzExLCAwLCAKKyAgICAxMTkxODUsIDQyMjI5LCAxOTQ5MTIsIDAsIDU5OTgsIDAsIDQyMzUzLCA3NDgyNSwgMCwgMTI1ODcsIDk0MTA0LCA3ODU3MSwgCisgICAgMCwgNzEzMjgsIDEyODk1NSwgNDE1NzYsIDQyMjE1LCA3ODU3MCwgNzQwMzcsIDAsIDg1NzgsIDU5OTUsIDc1NzMsIDQxNTc1LCAKKyAgICA3NDc4OSwgNzQ3NTIsIDYzOTQ0LCA2Mzk0OSwgNjQ3NjcsIDI2NzAsIDQxNjcsIDE5NDc5NiwgMTE3MjMsIDAsIDc0MTIwLCAKKyAgICAwLCA2NTA3NiwgOTM4LCA0MzQxNCwgNzM4NTQsIDExNzM3LCA5NzIxLCAwLCA2NzE3OSwgNjcxNjgsIDExNzQyLCAyNDE5LCAKKyAgICA2NzE3NywgMTE0OTMsIDEyMzM0LCAxOTQ5MTMsIDQxNTMsIDEyMzAyLCAxMDc5MywgNTI1MCwgMTI0MDcsIDExOTc4LCAKKyAgICA0NDA0LCA5MTg5LCAxMjQwMSwgNDIwMDcsIDU3NzUsIDY3NTksIDY1ODA2LCA0Mzk5NywgMCwgNDIwMDIsIDEyNDA0LCAKKyAgICA3MDM4OCwgMTI5MDkzLCA0OTQwLCAxMjQxMCwgNzY4MywgMTE2NywgNzM3MjksIDQ5ODMsIDEyMDUwNywgODYxLCA2NzY5OSwgCisgICAgMCwgNjgyOTcsIDAsIDQzNzU3LCA0MzM3MCwgMCwgMCwgMTE5NTYsIDEyNDk2NywgMCwgNzA4MTUsIDk2MTYsIDY2MzEsIAorICAgIDkyMzM4LCAxMjgxNiwgNDM3NTksIDQyMjE4LCAxMjcxMCwgNjg2NzQsIDEyNzIxLCA0MTAxLCA2NjE4NSwgMCwgNTk5MiwgCisgICAgNzYxNiwgMTk1MDQ0LCAwLCAxMjU3NywgOTMwMTcsIDk4Mzg4NCwgODUzLCA0MjY5MywgMTk0NjQ3LCAxMTkwMjcsIAorICAgIDk4MzY0NywgNTAxNiwgNDM1MzUsIDYzODkzLCA0MjgzNSwgOTQ5MSwgOTE3OTEzLCAwLCA5MTc5MTQsIDAsIDEyNzEyLCAKKyAgICA3MTA1LCAxMjc4MDcsIDY1MDYwLCA2Njg3NSwgOTkwMCwgNzc1MCwgOTE3OTQ2LCAxMjc4OTYsIDc0NjE5LCAxMjc4MzAsIAorICAgIDk4MzU4NywgNjQ3NzgsIDEyNTg1LCAxMDU2NSwgMTI4MTUxLCAxMjE3NywgMTE5ODQzLCA5ODMyNTgsIDAsIDc3ODI0LCAwLCAKKyAgICA0OTAwLCAxMjc4NzQsIDEyODc4LCA5MjYzMCwgODk4NCwgNDExOSwgNzQ3NjgsIDg5NzEsIDc4NTkzLCA0MzExMywgOTcwMiwgCisgICAgNjY4NTIsIDExMDI1LCA5MjQ1LCAxMzA0OCwgNDkyNywgNDEzOCwgNzQxODUsIDkyNDgxLCA5MjcxMCwgMTIzOTcsIDc3ODI3LCAKKyAgICAxMTkwNDAsIDEzMDU0LCAxMjM5NCwgMCwgMCwgMTk0OTU0LCAxMzA1MywgMTE4OTc0LCAzOTQ4LCAxMDc4MSwgMTU0NiwgMCwgCisgICAgNTAxMCwgMTY4MCwgMTA1MDcsIDc4NTkwLCA3ODU4MywgOTI0MzEsIDAsIDAsIDE5NDkxNSwgNzI2NywgMCwgNzQ4MzMsIAorICAgIDEyODE4MSwgNTk5MywgMjgxOSwgMTI4Nzg4LCAxMjcwNiwgNzEwNjMsIDE4OTMsIDcyNjYsIDYzOTE1LCA3MjY0LCA3MjY1LCAKKyAgICAwLCAxMzYzLCAwLCA0MjkyMywgNjM5MTAsIDYzOTk2LCAzMDc3LCAxMjAwMTgsIDAsIDE1MTIsIDY5OTI5LCAxMjU4OSwgCisgICAgNDE0NzksIDEyODMxMywgNzEwNDgsIDQzMzM5LCA3Mzc3NiwgOTgzNiwgMTIwNzI3LCAwLCA0MTQ4MSwgNDMzMzUsIDc4MzIsIAorICAgIDQyMzQzLCAzMDkwLCA0MzMzNywgODE3LCAxNjY0LCAxODUwLCAxMjg4NDEsIDMwNzksIDExMzQwLCA0MjQwOCwgNDI0NDcsIAorICAgIDEyNzE0MCwgMTIwMDIwLCA0MjMwNywgMTIzODYsIDQyMzA0LCA5MTc1NTUsIDAsIDEyMzg5LCAxMjgzOTgsIDkyMzY2LCAKKyAgICA0MTk5NiwgMTE1MjYsIDYzOTg1LCA1ODY0LCAxMTQ3LCA0Mzg0OSwgNDI4ODcsIDE5ODcsIDkyNzE4LCA1NDgwLCA3ODU4LCAKKyAgICAxMTY1MywgNDExNiwgMTIzOTEsIDY2MTkzLCAxMjkxOTcsIDQ5MzksIDEyMzg0LCAwLCAwLCA0MTY4NiwgNjM5MDUsIAorICAgIDExOTYwMSwgMTk0Njg4LCA2NzM5OCwgMTI4ODIwLCAxMjY0OSwgMTI5MDU2LCAwLCA4MjQ3LCA1MDcsIDkxLCAyMDQyLCAKKyAgICAxMjA3NzUsIDQzNjQzLCAxOTQ2ODksIDY2MDI4LCAxMDAzNiwgNDE4NDQsIDExOTgxMywgNzc0LCAxMTk4MjksIDc3ODQwLCAKKyAgICAxMTk4MTUsIDU5OTQsIDEyNTM5LCAwLCA3ODM3NSwgMTIwNTk3LCAxMTk4MzMsIDk4MzEwNSwgNzgzNzcsIDAsIDkxNzYyOCwgCisgICAgNzcxOSwgNjAyNiwgMjQ4NiwgMTI4MzEyLCAxMTk4MDgsIDE2MiwgMCwgNjUyMTksIDQxMDczLCA5Njg3LCA0MTY4MSwgCisgICAgNjMwNCwgMTE5ODEyLCA2NjE5NiwgMTk0ODgxLCA1MjYyLCAwLCA1NTIzMywgMTI2ODEsIDQyMzc5LCAwLCA3NTM0LCAKKyAgICAxMjIxOSwgMjIyNiwgNzA0OTksIDQyODEwLCAxMDQ5MiwgMTI3MDE1LCA5ODM2NjEsIDEyNjcwNCwgNDMxMTksIDAsIAorICAgIDc4NTM3LCAxMjQwMywgMjUwMCwgNzAxNDUsIDAsIDQ4OTksIDEyNzI5LCA5ODMzOTcsIDAsIDc0MTEzLCAyMzQzLCA0MTAzLCAKKyAgICAxOTk0NiwgNzQxMTIsIDc3ODUxLCAxMzExMiwgMTI5MDQ2LCA3NDgzNCwgMTI4NTksIDcwMDg3LCAxMjAxNDgsIDY2MzY5LCAKKyAgICA1ODYxLCAxMjc3NTgsIDExOTk5LCAxMjQwMCwgNDM2NDEsIDk4MzgzOSwgMTI2NDUsIDUxNDYsIDExMzIwLCA2ODQxMCwgCisgICAgNjc0OCwgNjUwNDAsIDk4MzQ5MSwgNjQxODQsIDEyOTc0LCA2NDE4MywgNjc2MTMsIDEyMDY0NSwgNTE0NywgMTI1MDE5LCAwLCAKKyAgICA3NDUyNCwgMTI4MzU2LCAxOTI4LCAwLCA2NzY0OSwgNTk5MSwgMzQ0NSwgNjc2MDksIDQ5NzYsIDY0MTc2LCAwLCA2NzYxMCwgCisgICAgODI0MSwgMCwgNzc4NjgsIDQyMDYsIDAsIDc4NjYyLCAwLCAxMjgyOTgsIDY3Mjc3LCAxMDEzOCwgNjcyMzgsIDEyODc4NSwgCisgICAgODg5NywgMTIwMjM0LCAxNDIyLCA4MzU3LCA0MTI0LCA3Nzg2MiwgNjU4MzYsIDEyMDY0MSwgMTI3OTI2LCA3Nzg1OSwgMCwgCisgICAgMTk0Njk2LCAxMTIzLCA5NjMsIDQxNTUzLCAxMDEyMCwgMTI0MDUsIDEyMDE1MCwgOTI2NjQsIDM5OCwgMTMyNzgsIDk3MjMsIAorICAgIDYzNjYsIDEyMDMxMSwgNzk0NSwgOTgzMTYzLCA0NDAyLCA5OTcwLCAxMjQwMiwgOTMwNjIsIDQyMzkyLCAxMzA1LCAxMjQwOCwgCisgICAgOTIzODQsIDQ0MDA3LCAxMjg1NjMsIDEyNzIxNiwgNDE0NjQsIDEyNDExLCAxMjk2OSwgNjcyNjgsIDQxNDY1LCA5ODM1NjUsIAorICAgIDg1MjgsIDE1NzUsIDAsIDYzOTU1LCAxNjUsIDMwMjQsIDQxNDY3LCAxMTkxNjMsIDcwMTE5LCA5MDkzLCAwLCA2ODMzLCAKKyAgICA5MjU3NCwgNjM5NTgsIDAsIDkxNDgsIDk2OTIsIDQwOTYsIDUzLCA4Mjk2LCA2NzUwLCA2Njg1NSwgMCwgOTU5NCwgCisgICAgMTIwMzA4LCAxMjkxODYsIDQzNTI3LCAxOTQ2MjIsIDcyNywgNzQxOTIsIDkzMDYwLCA1ODA1LCAwLCA2NzI2LCAwLCAKKyAgICA0MjE3NiwgMTIzNzAsIDExNjU1LCAxMTkwOTUsIDEwNTkxLCAyMjgwLCAwLCAxMjM3MiwgMTIwNjQyLCAxMjAzMDcsIAorICAgIDcxMjA5LCA5MjM0MywgMCwgMTIzNjYsIDEwOTYzLCA2MDY2LCAxMzI5LCAwLCAzMDUyLCA5MjIwLCAwLCA2NDQ3OCwgCisgICAgMTk0NzAxLCAxMDgwMywgNDEzMiwgMTIwMzA2LCA2ODQ3NCwgOTI0NzMsIDAsIDEyMDcxMiwgNzQ4MzcsIDEyMDE1NSwgCisgICAgMTQ5OSwgMCwgODA1NSwgNDI3NDAsIDYzOTY1LCAxMjAzMDUsIDYzOTYyLCA3NDA0MiwgODkyNCwgNDMxMjMsIDU5ODgsIAorICAgIDM2NjAsIDYzOTY5LCAxMTc4MSwgNDI3MTgsIDg3ODgsIDEzNTcsIDY0ODUxLCA2NTc0MywgOTI4OTQsIDg3NzQsIDcwMzM3LCAKKyAgICAxMjcwODYsIDk5NDEsIDEyMDE3MiwgOTI3NDgsIDE5MzMsIDY5NjU1LCA5NTY0LCAwLCA5MjQzNSwgNzM4NjYsIDAsIAorICAgIDk4MzU4MywgMjQ4NywgNjc2MTQsIDMxMjEsIDE4MDQsIDMzMTEsIDY3NjE1LCA3MDA4MSwgNzgzMDIsIDEyMjIwLCA2NzYxNiwgCisgICAgOTI3NjksIDEyNzQ3NSwgMCwgNjgyMDAsIDY2NzUsIDEyODE0NCwgMCwgNjc1OTIsIDEyMDY4NSwgMCwgNjQ3NzEsIDExOTgsIAorICAgIDkxMzIsIDAsIDY0NjE5LCA1MTAsIDY0NjYzLCAwLCAwLCA0NTYxLCAyMTAxLCAxMzk4LCA5MTc5NzIsIDkyNTU0LCA3NDAzNCwgCisgICAgNDE1NjksIDkyNjg0LCAxMTQwNiwgODE2NywgMTIxMjcsIDAsIDg0MCwgOTgzMjgxLCA2OTk5MiwgNzEwMSwgNjk2NywgMCwgCisgICAgMTk0ODk4LCA5Nzk2LCAwLCAzMzMsIDY5ODkxLCAwLCA4MTQ0LCAyMTE3LCAwLCA5ODM1OTUsIDEyNDA2LCAwLCAxOTkzMSwgCisgICAgNjYzODgsIDY2NzgsIDc3NjksIDAsIDEyNjIxLCAwLCAxMjczNjYsIDEwMjI3LCA0NzY0LCA0MzEwMSwgOTk4MSwgMCwgCisgICAgNDA5ODYsIDQxMjcsIDY2NDg3LCA5ODM1NzYsIDQyMjAyLCAxMjc1NCwgMTk1MDIyLCAwLCAwLCA5NDA5NywgNjc1OTQsIAorICAgIDIwNDgsIDEyOTQ0LCA0MDUwLCA2NzU5NSwgOTE3OTY3LCA0MzEwMiwgMTA1ODEsIDExMTg0LCA0NTMzLCAxOTUwMjEsIAorICAgIDc0MDAzLCA2NDkwLCAwLCAxMjAzOCwgMCwgMCwgNjgyMjUsIDY1NDYxLCA5Nzk4LCA2OTcwNCwgMCwgMTk0OCwgNjk4NDEsIAorICAgIDAsIDk1MiwgMTI4MjM1LCAxMjUxMDcsIDAsIDEyMDgwMiwgNjQ0OSwgOTQ5NCwgMTIwMzEzLCAwLCA0MzA5OCwgNDg0MywgCisgICAgODE0MiwgNjQxNjAsIDQwOTgsIDY0MTcwLCA5ODMzMzksIDAsIDM0MzYsIDExOTk3MywgMCwgMTI4MTcsIDY3NTk3LCA2Njc2LCAKKyAgICAzOTMwLCA0MjYxNSwgMCwgNjk5OTEsIDY3NTk4LCAwLCAwLCAwLCA2NTU5MSwgNDE1ODEsIDY1OTE2LCAxNDUzLCAwLCAwLCAKKyAgICAxMjc4NTksIDg1MDAsIDQyMjIyLCAxMjAxNDIsIDczNzQzLCAxMjA0MDAsIDQzMTcsIDExNTQzLCA2NzY3NiwgNjQ2NzYsIDAsIAorICAgIDEyNzgzMywgNjc2MDYsIDExOTA4MywgMTI3ODkyLCA0MjIxNywgMTMxMDIsIDAsIDY2MDAzLCA2NjcyLCAwLCAwLCA2Njg4MCwgCisgICAgOTgzNzQ3LCA2Mzg0MSwgOTYxMywgOTAwMSwgNDUyNiwgMTEyNzQsIDY3NjAxLCA2NDUyMCwgNjQyMTAsIDY2NjQsIDc4NzA0LCAKKyAgICA0MjA1NiwgMTAyMjgsIDY0OTU3LCAxMTI4MSwgMCwgMzgwNywgMTQ2OSwgNjY2NDAsIDY1MzgxLCA0MjE5NywgNDk4OCwgCisgICAgNDIzNzIsIDAsIDk1OTgsIDkwNCwgMzUyLCA0MjIyNSwgMTQ1MSwgODA2MSwgODQ1MywgNDEzNCwgMTI3MDUyLCA2NzIyMywgCisgICAgNjY1NzYsIDEyNzkxNiwgMTI3ODMxLCAxMDUyMCwgODU3NSwgOTk2MCwgMTIwMSwgMTI3Mjg5LCAxMjg0NiwgMTI3MjkxLCAKKyAgICAxMjcyOTIsIDExOTE5LCA2NDk2MiwgMTI3Mjg3LCA0MzczOSwgMTI3MjgxLCA4NTExLCA5NDYwLCA4MjMsIDExNTg3LCAKKyAgICAxMjMwNSwgMCwgNjQ2OTUsIDEyNzMwNSwgMTIzODcsIDEyNTMsIDEzMTgzLCA2NTc2NiwgNTAwLCA0Mjc4MywgNjU3NjUsIAorICAgIDY0MjA4LCA2NDM2OSwgNjU3NjAsIDY1NzYxLCA3MDMzNCwgMTE2MDYsIDY0Nzg0LCAxMTcwMiwgNjY0OTgsIDk4MjEsIAorICAgIDY0MzA0LCAwLCA1MTUyLCAxMTA0OCwgNzUzMywgNjgzNjYsIDY0NDEwLCA5MjMwNSwgMCwgNDMyMywgMTIwMDYyLCA5MjY2OSwgCisgICAgNzEzMzIsIDEyMDE1OCwgNDI1ODcsIDQyMjE0LCA0MTM5NCwgMTExODgsIDQ3NjMsIDQxMTIsIDExODkzNSwgMCwgNTI2MCwgCisgICAgNDMxNDMsIDk0MDM4LCAzMjYsIDEyMDEzMSwgNjg0MjMsIDE5NDkwNCwgMTA3NzEsIDI4NzYsIDc0MDc0LCA5MjUzMCwgCisgICAgMTI4NDYwLCA0MTM5OCwgNzM4MiwgOTgwMiwgMTI3MDc3LCAxMjcwNzYsIDQ1MywgNDEzOTYsIDEyMDUyNCwgMTMxNTksIAorICAgIDEyMTQwLCA5NTcyLCAwLCA3MDAzLCAxOTQ4ODMsIDQyMzM0LCA3NzA0LCAxMjUwNjksIDEyNTAyMCwgNDMxNDQsIDQxMjMsIAorICAgIDg0OTQsIDQzMTQ2LCA5OTc3LCAwLCAxMjY0NzMsIDY1NzU5LCAxMDc2NSwgNjQwNjEsIDQ0NjUsIDk4MDgsIDY0MDU2LCAKKyAgICA2NTU4MiwgNDEyNiwgMCwgOTUyMSwgOTU4OSwgNjQ3NTUsIDAsIDY0MDIwLCAxMjY2MDQsIDEwNDY0LCAwLCA5Mjk2OCwgCisgICAgMTk0ODY5LCA2NDUxNCwgMTE1MjgsIDY0MDI0LCAxMjgwNzIsIDY3OSwgNjQwMTMsIDk4MzU1NSwgNTg1MCwgNzU4LCA3NTM2LCAKKyAgICAxMjg2NjMsIDkyMjM0LCA0MTQ0MSwgMTA2OTMsIDY0MDA2LCA5ODM1NjcsIDY0MDA1LCA0MDU4LCAxMTkwMTksIDEyNjQ4NywgCisgICAgNjQ2NjAsIDEyODE3NiwgMTE5MDUwLCAwLCA5ODMwNjksIDExMzksIDQzMjk4LCA2NDAyNywgNjQwMjksIDg5NzAsIDAsIAorICAgIDk5MzQsIDEyODY4NSwgMTA3NzQsIDY3MTA0LCA0MjIwMSwgMTI0MjEsIDEyODIxNiwgMCwgMTg1MiwgMzA1NywgNjQwNDYsIAorICAgIDczNzQ0LCA2NDAzNCwgNjQwMzksIDEyOTEyNywgMCwgMCwgMTk0ODk5LCA5MjMyMiwgNzY0NSwgMTI4NTQsIDc0MzM4LCAKKyAgICAzNDk2LCAwLCAwLCAxMTM3MTAsIDkxMDIsIDYyNywgMTI3Nzk1LCA2MTU4LCA4MzI3LCA3NDU1MywgNjY2MzIsIDEyNDE5LCAKKyAgICAxMzMwOSwgMTE1NzAsIDEyNzgxMSwgMTk5NjAsIDExNjk2LCAwLCAxMDE4LCAxMTg5NzAsIDEyOTA3NSwgMTk0ODk3LCAKKyAgICAxNjgyLCA0Mzg2MywgMTk0OTExLCA0Mjc1NiwgNjc2NSwgMTk0OTA2LCA2NzcxNywgNzQzNTgsIDczODE0LCAxMTQxMiwgCisgICAgNjc2OCwgMTA3MjgsIDExOTk4MiwgNzEzMTYsIDcxMDk5LCA0MzMxMSwgNjQ5NjYsIDExNTc3LCAwLCA0MzA0MCwgMTgzMywgCisgICAgMTE1NzYsIDAsIDc0Nzc5LCAwLCAxODUsIDY1MDg1LCA3NDUzMywgNjQ3NTQsIDExOTMzNCwgNzUzNSwgODA4NSwgNDI1MjUsIAorICAgIDEyMDM4NywgOTc0OSwgNDE3MDEsIDYxMzEsIDE5NDksIDQxMTcsIDc4NDcsIDEyMDQ4OSwgMTI0OTkyLCA2NDQ4MywgCisgICAgNjU2OTMsIDk4MzcxMSwgMCwgMCwgNjk2OTUsIDQyMjQwLCAxMjg1ODcsIDEyNjY1MSwgNDI4NjQsIDEyNjQ5OCwgNDMxNjgsIAorICAgIDQxODY4LCAxMTg0LCAwLCA4MTUsIDExNDg0LCAxMjc1MzUsIDY3ODQwLCA5ODM2NTEsIDAsIDY2MTk3LCA5ODM0NzIsIAorICAgIDEwOTg2LCA2NDY4MywgOTgzNzg1LCAxMjg0NTQsIDM0NTUsIDAsIDAsIDk4NzksIDAsIDAsIDQxNTgsIDEyODA1MCwgCiAgICAgNjgxNjYsIDAsIDAsIDAsIDAsIDY5NjQ1LCAzMzIsIDExODgwOCwgMCwgNTE0MiwgMjQwNywgNjk2NDMsIDQyMTk5LCAwLCAKLSAgICA5MjQwNCwgNzQzNzMsIDAsIDU1MjE3LCAwLCA2Mzg3MCwgNDMxNjMsIDAsIDAsIDkyMzkwLCA0Mjg2NywgMTgzNCwgMCwgCi0gICAgOTI0NjEsIDY5ODE3LCAxMDk0MCwgNjUyNDksIDExOTA0MCwgODY2MiwgMCwgMCwgMjY1MiwgMTIwNTI3LCA3MTY0LCAKKyAgICA5MjQwNCwgNzQzNzMsIDAsIDU1MjE3LCA5MjQzNiwgNjM4NzAsIDQzMTYzLCAwLCAwLCAxMjk4NSwgNDI4NjcsIDE4MzQsIDAsIAorICAgIDkyNDYxLCA2OTgxNywgMTA5NDAsIDY1MjQ5LCA3MDM4NSwgODY2MiwgMTIwMzI0LCAwLCAyNjUyLCAxMjA1MjcsIDcxNjQsIAogICAgIDEwNzg0LCAxOTUwOTMsIDY3Njc0LCAwLCA5MjIzMywgOTI0ODIsIDE5NDc0OSwgNzQ1NjIsIDkxNzUwNSwgMTgyOCwgCi0gICAgNzQ0NzQsIDEyMDMyNywgNzg2MjAsIDg1MzEsIDEyNDk5LCA2MjgwLCAxMjMyNCwgMTE4ODU0LCA2NTIzOCwgNjgzNzQsIAotICAgIDQ4MzIsIDY1NTczLCAwLCA2Mjc5LCAxMjUwOCwgMTI5MDQsIDEyNTAyLCA5MTYxLCAwLCAxNjIwLCA2NDQzNiwgMzYwMSwgCi0gICAgMTk1MDk0LCAxMjgwNzMsIDk4MzU2MiwgNjA5LCAxMTU1NSwgOTgzMDk5LCAxMjQ5NiwgMTI3ODM5LCA3NDE4MSwgNDM0MywgCi0gICAgMTI1MDUsIDAsIDEyNzg2MywgMCwgMTEzNzcsIDIzOSwgMCwgNjM3LCAwLCAwLCA0MjY3MSwgMCwgMCwgMCwgNDM1NjUsIAotICAgIDcxMzA2LCAxMjY0OTMsIDEyNjk2LCAxMjgyNTYsIDAsIDk0MDYyLCAxMjkyOSwgMCwgNzEyLCAwLCA0MTk3LCA5ODMyMDYsIAotICAgIDQyODE4LCAxMjY2MzIsIDAsIDEyMDQ5MCwgMCwgMTE5MTM3LCAxNTA2LCA0MzU2MiwgMCwgOTI0OTEsIDAsIDEyNjUxLCAwLCAKLSAgICA2NDYyOCwgNzQ1MTcsIDEyMDU4LCA3NDA4NCwgOTE3ODM4LCA3NDk0LCAwLCA0OTI0LCA2NTU5MiwgMTE4ODQ0LCAwLCAKLSAgICAxMjcwODgsIDM1NSwgOTcxOSwgMTI3MDg3LCAxMzA2NiwgNjQ3OTYsIDAsIDAsIDEyMDMzLCA0MjE3OCwgMCwgNjk3NjAsIAotICAgIDQyNTcxLCA5MjYzNSwgMCwgMCwgMCwgMCwgMCwgMTI3MTc2LCAzMTc4LCAwLCAwLCA5MjcwNCwgMCwgOTA4MCwgMTI3MDAwLCAKLSAgICAxMjAzNTIsIDAsIDY4MjA5LCAwLCAxMTA4MiwgMCwgNTY5OSwgMTk1MTAwLCA2NjAwMCwgOTQ4OCwgNjUxNjYsIDExOTExMiwgCi0gICAgMCwgMCwgMCwgMCwgNzEzMTMsIDAsIDUyNjUsIDY5MjM1LCAwLCAxMTQ4NywgNjc4NTgsIDEyNDY0LCAwLCA0MzA0NSwgMCwgCi0gICAgMCwgNDMzNDUsIDAsIDEwNzcwLCAxMTg5OTQsIDY4MDcsIDQ2NSwgOTgyOSwgMCwgNzQzNDgsIDAsIDQzMzQ2LCA4MTE2LCAKLSAgICA3OTUsIDAsIDAsIDEyNDYyLCAxMDkzMCwgMTA4MzEsIDAsIDExODk1MiwgNjQzNjIsIDc0MzM0LCA5ODM2MDIsIDEyMDgxMSwgCi0gICAgMCwgMTI0NjgsIDg2MDcsIDEwMDgsIDAsIDEwMDkyLCAxOTUwNzgsIDkxNzg0MiwgNjc4NTUsIDU1MjU3LCA3Mzc3MSwgCi0gICAgMTc2NiwgMTEyODIsIDExOTk2LCAxODIwLCA0NTQ3LCAwLCAwLCAwLCAwLCAxMzIyMywgMTI4NjY1LCA2NDU5NSwgMTI3Mjk0LCAKLSAgICAwLCA5MjMxMSwgNDM0NSwgMTI2MTYsIDAsIDAsIDAsIDc0NDY3LCAwLCAwLCAwLCA1MzgyLCAwLCAwLCAwLCAxMTkwNjAsIAotICAgIDY0OTUzLCA1NDA2LCAxOTkyMCwgNjk4OTcsIDY2NTEwLCAzNTkwLCAxOTQ4NjQsIDExMzAsIDAsIDAsIDQyMDE2LCAxMTgyMywgCi0gICAgNDMwMjMsIDAsIDExODg5NiwgNzc0MiwgMCwgMTMyODAsIDcxMzIzLCA5MzI2LCA3MzgyNiwgNTMxMCwgNzQ4MTIsIDc4NTg0LCAKLSAgICA5MjIyOSwgODk1OSwgNDM1ODksIDY3NDcsIDY2NzIzLCAwLCA4NTY4LCAwLCAxMjA0OTYsIDczODE2LCAxMjA4MDMsIAotICAgIDk4Mzg0OCwgNDI2NzAsIDAsIDExNjIxLCAxMjQ2MCwgMCwgMTIwNjMxLCAwLCA0MzA2MywgNzQ1MTksIDEyNzE4MiwgMCwgCi0gICAgNzM5MTcsIDc4NDMsIDY5NzgzLCAxMTY4OSwgNTQxMCwgNTc4MywgMTA0NjgsIDg0MDMsIDU0MDAsIDExNTk0LCAxMjgyNDcsIAotICAgIDAsIDExODk5MCwgMTA0OTEsIDY5ODQyLCA2NDQxMiwgMCwgMCwgNTU4NywgNDI4NjUsIDY0NDA0LCA4MjY4LCA0OTIzLCAKLSAgICA2NTA4NiwgODk4MSwgMTIzODIsIDQyMTMzLCAxMjA3NTUsIDk3MDYsIDY5NzM4LCAwLCA2NjYxMCwgMTA0NjEsIDEyMTAzLCAKLSAgICAwLCA4NjQyLCAwLCA0Mjc2NiwgOTgzODY2LCAyMjEwLCA5OTgzLCAwLCA5NDAwOSwgMCwgMCwgMCwgNzM5OCwgNDE1MTUsIDAsIAotICAgIDExODAyLCA4MDQxLCAxNDYxLCA5MTAsIDExOTEzMywgMCwgNjc0OSwgMzY1OCwgOTM5NjQsIDEyMDUyNSwgMCwgNzYxNywgCi0gICAgMTk0ODQxLCAxMjg4OCwgMTI3OTgzLCA2NzY2OCwgMTMxNDMsIDAsIDkxOTMsIDExMDk3LCA1NzAzLCAwLCA0MTUxNywgCi0gICAgNDE1MDQsIDQxNTE5LCAxMDAxNiwgNjQzMDUsIDAsIDY1ODY0LCA2MjMsIDc4MSwgNjcwLCAxMDY2MCwgNTc2OSwgNjEzLCAKLSAgICA3NTQzLCAxMjAyNzksIDQ3NywgNDEwODMsIDkyNTIxLCAwLCA1OTIsIDE1NzgsIDEyNDU5LCA0MzQ0OSwgMCwgMCwgODIyNSwgCi0gICAgMCwgNjU0LCAxMTM0NSwgNjUzLCA2NTIsIDAsIDY0NywgMCwgNjMzLCAxMjA3NDQsIDAsIDEyNjQ3MiwgMTI0ODAsIDQzMjQzLCAKLSAgICAwLCAzOSwgMTI0ODcsIDAsIDEyMDUyOSwgNzQxOTksIDEyNDgyLCAwLCAxMjQ4OSwgMCwgMzE5NSwgNTU1MCwgOTgzNTU0LCAKLSAgICA3ODk3LCAwLCAxMjAzLCA3NDM5NiwgMTgxMywgNjQ1NDQsIDQxMzExLCAxMjA5MCwgMCwgMjg3NywgMCwgMCwgMTY3NSwgCi0gICAgNjk4NDAsIDAsIDAsIDAsIDEwMDcwLCAxMDU5NSwgMCwgMTE5MDc3LCAxOTQ3NzcsIDk4MzYxMSwgMCwgMCwgMCwgNDMyNDQsIAotICAgIDAsIDAsIDk4MzkxNiwgMTE5NTYxLCA5ODMwNzgsIDAsIDE5NDkyMSwgMTI4MTYwLCA5OTM5LCAwLCA5ODMxNTEsIDc3ODYwLCAKLSAgICAwLCAwLCAyNzAsIDAsIDEwNzE0LCAwLCAwLCAwLCAwLCAwLCA2NTM3MiwgMCwgNzQwMzgsIDExOTU1OCwgNjI3MywgNjY2NzksIAotICAgIDM2NCwgOTU5NSwgMTk0OTA4LCAwLCAwLCA3MDcsIDAsIDAsIDkyODIsIDY2NDg5LCAyMjQsIDAsIDY4NjcwLCA5MzMyLCAKLSAgICA0OTY2LCA2ODY3NywgMCwgNjg2NDQsIDAsIDM4NDEsIDY4NjM0LCAwLCAxMDczMiwgNjg2NDAsIDg1MCwgNDk3MiwgMCwgCi0gICAgMTI4OTAsIDI5MDksIDY4NjE5LCA0NDAwOCwgNjg2MjcsIDk4MzcxOCwgMTE1NDQsIDEwMjAzLCA5NjA4LCAwLCAwLCAKLSAgICAxMTk2MiwgMTk0Njk0LCAxMjUwNywgMTE5NiwgMTI4Njg3LCAxMjgzMTEsIDc3NywgMTIwMTg3LCA0Mzc1LCA2NTI3MSwgCi0gICAgNjc2NzgsIDAsIDEyMTk4LCAwLCA2NDgyNCwgMTE5MzQzLCA5ODMyMzYsIDk0NTQsIDYzNzc4LCA4NjU4LCA0MjUyOCwgCi0gICAgNzgwMDAsIDI3MDUsIDkxNzk3NSwgNDE1MjAsIDAsIDAsIDExOTg2LCA3NzY1LCA0MjUwMiwgODI4MCwgNzQ1MjAsIDI3MDEsIAotICAgIDAsIDEyNzAwMiwgNTc2NywgMCwgMCwgOTgwOSwgODM1MywgNjM3NDcsIDY2NzAxLCA2Mzc3MiwgOTgzODE0LCA2Mzc0NSwgCi0gICAgMTc0OCwgNjM3NzAsIDAsIDAsIDAsIDY1NTQyLCA2Mzc2NiwgNTUyNDQsIDMwNjEsIDAsIDYzNzY0LCA2Mzc4NywgOTA2NywgCi0gICAgNjA5NiwgMCwgNzY5NCwgMCwgNzI1NywgNjM3NjgsIDM0ODUsIDEyOTg3LCAwLCAxMjc1MjIsIDEyMDYyOCwgNjM4MDcsIAotICAgIDE1OTEsIDAsIDYzODYsIDYzNzgzLCAwLCAwLCA5MjUzNSwgMCwgMCwgMCwgNzQ1NzUsIDAsIDY1NzE5LCAxMzA4MywgCi0gICAgNjQ1NzQsIDY1MDEyLCAwLCAxNjQwLCAxMjQ5NSwgNjY2OTEsIDc2MjQsIDMxMzgsIDEwOTk2LCA5MjI0NywgMTkyMiwgMCwgCi0gICAgMTI0OTgsIDEwOTg3LCA2OTkzNiwgNjk5MzksIDM4OTQsIDY1NTQzLCAwLCAxOTQ4NDIsIDk4MzU4OCwgNDkzLCAwLCAKLSAgICA0MzE5NywgMTcxNywgNDIyOCwgNDc5LCAxMDMwMywgNzQwMjAsIDAsIDkxNzkzNSwgMTAzMzUsIDM1MjAsIDkxNzkzMiwgCi0gICAgMTI0OTAsIDY0MzE1LCAwLCAxMjcwMzksIDEyNDkzLCA2MjMzLCA0MjY4MSwgMTAwMiwgMTI0OTEsIDAsIDY0OTExLCAKLSAgICA5MjYxNSwgMjA5NiwgNjUxMjAsIDAsIDc4MjE5LCA5ODMwODEsIDgzNzgsIDExNjMyLCAxMjcwNDEsIDY2MjEzLCA2Mzg2NCwgCi0gICAgNjYyMjEsIDY2MjI2LCA2NjIyOSwgMTMyMTgsIDY2MjMxLCA2NjIxNiwgODUwNywgNjYyMzYsIDY2MjExLCA2NjIxOCwgCi0gICAgOTI2NzIsIDY2MjQwLCA3ODA0MSwgNjYyMzMsIDg5MjgsIDk4MzU1MiwgNzkwOSwgNjYyMzQsIDExNjA1LCA2Mzc1OSwgCi0gICAgOTgzNjU0LCA2NjIwOCwgNzM5OTksIDYzNzk5LCA2MzgwMywgMjQ0LCAxMTU0MiwgMTI4OTgsIDEyNDk0LCA3Mzc2MSwgCi0gICAgMTI0OTIsIDEyNjY5LCAwLCAwLCA3NDE1MywgMCwgMTI4Mjc4LCAxMjA2ODAsIDQ4ODIsIDEzMDQwLCAwLCA4NjEyLCA0ODg1LCAKLSAgICA3NDA1MywgMCwgMTMwNDIsIDQ4ODAsIDY0NjYyLCAyNDI5LCAxMzYwLCAyNDgsIDAsIDYzNzk3LCA5MjM5NCwgNDIzNTgsIDAsIAorICAgIDc0NDc0LCAxMjAzMjcsIDc4NjIwLCA4NTMxLCAxMjQ5OSwgNjI4MCwgMTIzMjQsIDcyNDM0LCA2NTIzOCwgNjgzNzQsIAorICAgIDQ4MzIsIDY1NTczLCA0Mzg1MSwgNjI3OSwgMTI1MDgsIDEyOTA0LCAxMjUwMiwgOTE2MSwgMCwgMTYyMCwgNjQ0MzYsIAorICAgIDM2MDEsIDEyNDk0NCwgMTI4MDczLCA2NzI0NiwgNjA5LCAxMTU1NSwgOTI0MDksIDEyNDk2LCA2NzI1MCwgNzQxODEsIAorICAgIDQzNDMsIDEyNTA1LCAwLCAxMjc4NjMsIDAsIDExMzc3LCAyMzksIDEyOTE5MCwgNjM3LCAwLCAxMjg2NzgsIDQyNjcxLCAwLCAKKyAgICA5MzAzMiwgMCwgNDM1NjUsIDcxMzA2LCAxMjY0OTMsIDEyNjk2LCAxMjgyNTYsIDkxNzYwMCwgOTQwNjIsIDEyOTI5LCAwLCAKKyAgICA3MTIsIDAsIDQxOTcsIDk4MzIwNiwgNDI4MTgsIDEyNjYzMiwgMCwgMTIwNDkwLCA3MDMzMywgMTE5MTM3LCAxNTA2LCAKKyAgICA0MzU2MiwgMCwgOTI0OTEsIDAsIDEyNjUxLCAwLCA2NDYyOCwgNzQ1MTcsIDEyMDU4LCA3NDA4NCwgOTE3ODM4LCA3NDk0LCAKKyAgICAwLCA0OTI0LCA2NTU5MiwgMTE4ODQ0LCAxOTQ4MjMsIDEyNzA4OCwgMzU1LCA5NzE5LCAxMjcwODcsIDEzMDY2LCA2NDc5NiwgCisgICAgMCwgMCwgMTIwMzMsIDQyMTc4LCAwLCA2OTc2MCwgNDI1NzEsIDkyNjM1LCAxMTQzMCwgMCwgMCwgMCwgMTI0OTUxLCAKKyAgICA2ODMyNCwgMzE3OCwgOTE3ODM1LCAxMjg2MzMsIDkyNzA0LCAwLCA5MDgwLCAxMjcwMDAsIDY3Njk3LCAxOTUxMDEsIAorICAgIDY4MjA5LCA3MjQxOCwgMTEwODIsIDAsIDU2OTksIDE5NTEwMCwgNjYwMDAsIDk0ODgsIDY1MTY2LCAxMTkxMTIsIDcwNDc3LCAKKyAgICAxMTE3MCwgNjg2NjIsIDEyODEyMCwgNzEzMTMsIDAsIDUyNjUsIDY5MjM1LCAwLCAxMTQ4NywgNjc4NTgsIDEyNDY0LCAwLCAKKyAgICA0MzA0NSwgMCwgMCwgNDMzNDUsIDAsIDEwNzcwLCAxMTg5OTQsIDY4MDcsIDQ2NSwgOTgyOSwgNjk5OTcsIDc0MzQ4LCAwLCAKKyAgICA0MzM0NiwgODExNiwgNzk1LCAxMjAzNTIsIDcyNDEyLCAxMjQ2MiwgMTA5MzAsIDEwODMxLCAwLCAxMTg5NTIsIDY0MzYyLCAKKyAgICA3NDMzNCwgOTMwNTYsIDEyMDgxMSwgMCwgMTI0NjgsIDg2MDcsIDEwMDgsIDAsIDEwMDkyLCAxMjUxMjIsIDkxNzg0MiwgCisgICAgNjc4NTUsIDU1MjU3LCA3Mzc3MSwgMTc2NiwgMTEyODIsIDExOTk2LCAxODIwLCA0NTQ3LCAwLCAxMTIwMiwgOTgzMjIyLCAKKyAgICA5ODM4NzIsIDEzMjIzLCAxMjg2NjUsIDY0NTk1LCAxMjcyOTQsIDAsIDY4NDg5LCA0MzQ1LCAxMjYxNiwgOTE3Nzg0LCAKKyAgICAxMjg5NDcsIDk4MzE1NSwgNzQ0NjcsIDAsIDAsIDAsIDUzODIsIDAsIDAsIDY3MjMzLCAxMTkwNjAsIDY0OTUzLCA1NDA2LCAKKyAgICAxOTkyMCwgNjk4OTcsIDY2NTEwLCAzNTkwLCAxOTQ4NjQsIDExMzAsIDkxNzc2NiwgMTk0NjkyLCA0MjAxNiwgMTE4MjMsIAorICAgIDQzMDIzLCAxMjUxMjksIDExODg5NiwgNzc0MiwgMCwgMTMyODAsIDcxMzIzLCA5MzI2LCA3MzgyNiwgNTMxMCwgNDM1MDksIAorICAgIDc4NTg0LCA5MjIyOSwgODk1OSwgNDM1ODksIDY3NDcsIDY2NzIzLCA2NDc1NywgODU2OCwgMTk0Njg0LCAxMjA0OTYsIAorICAgIDczODE2LCAxMjA4MDMsIDk4Mzg0OCwgNDI2NzAsIDAsIDExNjIxLCAxMjQ2MCwgMTMyNiwgMTIwNjMxLCA5ODMzMzQsIAorICAgIDQzMDYzLCA0MzIzOSwgMTI3MTgyLCAxOTQ4NDAsIDczOTE3LCA3ODQzLCA2OTc4MywgMTE2ODksIDU0MTAsIDU3ODMsIAorICAgIDEwNDY4LCA4NDAzLCA1NDAwLCAxMTU5NCwgMTIwNDA1LCA2ODMzMywgMTE4OTkwLCAxMDQ5MSwgNjk4NDIsIDY0NDEyLCAwLCAKKyAgICAwLCA1NTg3LCA0Mjg2NSwgNjQ0MDQsIDgyNjgsIDQ5MjMsIDY1MDg2LCA4OTgxLCAxMjM4MiwgNDIxMzMsIDEyMDc1NSwgCisgICAgOTcwNiwgNjk3MzgsIDAsIDY2NjEwLCAxMDQ2MSwgMTIxMDMsIDAsIDg2NDIsIDE5NDcwNywgNDI3NjYsIDEyODI0NywgCisgICAgMjIxMCwgOTk4MywgMCwgOTQwMDksIDAsIDAsIDAsIDczOTgsIDQxNTE1LCAwLCAxMTgwMiwgODA0MSwgMTQ2MSwgOTEwLCAKKyAgICAxMTkxMzMsIDAsIDY3NDksIDM2NTgsIDkzOTY0LCAxMjA1MjUsIDAsIDc2MTcsIDE5NDg0MSwgMTI4ODgsIDEyNzk4MywgCisgICAgNjc2NjgsIDEzMTQzLCAwLCA5MTkzLCAxMTA5NywgNTcwMywgOTgzNDc1LCA0MTUxNywgNDE1MDQsIDQxNTE5LCAxMDAxNiwgCisgICAgNjQzMDUsIDAsIDY1ODY0LCA2MjMsIDc4MSwgNjcwLCAxMDY2MCwgNTc2OSwgNjEzLCA3NTQzLCAxMjAyNzksIDQ3NywgCisgICAgNDEwODMsIDkyNTIxLCAwLCA1OTIsIDE1NzgsIDEyNDU5LCA0MzQ0OSwgMCwgMCwgODIyNSwgMCwgNjU0LCAxMTM0NSwgNjUzLCAKKyAgICA2NTIsIDAsIDY0NywgMCwgNjMzLCAxMjA3NDQsIDAsIDEyNjQ3MiwgMTI0ODAsIDQzMjQzLCAwLCAzOSwgMTI0ODcsIDAsIAorICAgIDEyMDUyOSwgNzQxOTksIDEyNDgyLCAwLCAxMjQ4OSwgMTE5NjA3LCAzMTk1LCA1NTUwLCAxMjkxMjEsIDc4OTcsIDEyNzA4OSwgCisgICAgMTIwMywgNzQzOTYsIDE4MTMsIDY0NTQ0LCA0MTMxMSwgMTIwOTAsIDk4MzYzNCwgMjg3NywgMTI4Mzk0LCA3MDQ5NiwgCisgICAgMTY3NSwgNjk4NDAsIDAsIDAsIDExOTA3OCwgMTAwNzAsIDEwNTk1LCAwLCAxMTkwNzcsIDE5NDc3NywgOTgzNjExLCAKKyAgICA2NzE3MCwgMTIwNzkwLCAxMTg3ODcsIDQzMjQ0LCAwLCAwLCA5ODM5MTYsIDExOTU2MSwgOTgzMDc4LCAxOTQ5MTQsIAorICAgIDE5NDkyMSwgMTI4MTYwLCA5OTM5LCAwLCA5ODMxNTEsIDc3ODYwLCAxMjg5NDgsIDAsIDI3MCwgMCwgMTA3MTQsIDExODk4MywgCisgICAgNzI0MzcsIDAsIDAsIDExOTMzOCwgNjUzNzIsIDczODAzLCA3NDAzOCwgNjgyNTEsIDYyNzMsIDY2Njc5LCAzNjQsIDk1OTUsIAorICAgIDEyNzEzNywgMCwgMCwgNzA3LCAwLCAxMjg0MDksIDkyODIsIDExMTYzLCAyMjQsIDEyODU4OCwgNjg2NzAsIDkzMzIsIAorICAgIDQ5NjYsIDY4Njc3LCAwLCA2ODY0NCwgOTgzMTMxLCAzODQxLCA2NzM1NywgNjczNDEsIDEwNzMyLCA2ODY0MCwgODUwLCAKKyAgICA0OTcyLCAwLCAxMjg5MCwgMjkwOSwgNjg2MTksIDQ0MDA4LCA2ODYyNywgMTIwNjk5LCAxMTU0NCwgMTAyMDMsIDk2MDgsIDAsIAorICAgIDkxNzk0MywgMTE5NjIsIDE5NDY5NCwgMTI1MDcsIDExOTYsIDY3Njg0LCA2NzEwMCwgNzc3LCAxMjAxODcsIDQzNzUsIAorICAgIDY1MjcxLCA2NzY3OCwgMCwgMTIxOTgsIDkxNzg4NywgNjQ4MjQsIDExOTM0MywgMTI3MjQzLCA5NDU0LCA2Mzc3OCwgODY1OCwgCisgICAgNDI1MjgsIDcwMDczLCAyNzA1LCAxMjg2ODAsIDQxNTIwLCAxOTUwOTgsIDEyODQ0NywgMTE5ODYsIDc3NjUsIDQyNTAyLCAKKyAgICA4MjgwLCA3NDUyMCwgMjcwMSwgMCwgMTIwMjQwLCA1NzY3LCAwLCAwLCA5ODA5LCA4MzUzLCA2Mzc0NywgNjY3MDEsIAorICAgIDYzNzcyLCA5ODM4MTQsIDYzNzQ1LCAxNzQ4LCA2Mzc3MCwgMCwgMTI5MTM3LCAwLCA2NTU0MiwgNjM3NjYsIDU1MjQ0LCAKKyAgICAzMDYxLCA3ODYwOSwgNjM3NjQsIDYzNzg3LCA5MDY3LCA2MDk2LCAwLCA3Njk0LCAwLCA3MjU3LCA2Mzc2OCwgMzQ4NSwgCisgICAgMTI5ODcsIDEyNzc4MSwgMTI3NTIyLCAxMjA2MjgsIDYzODA3LCAxNTkxLCAwLCA2Mzg2LCA2Mzc4MywgMCwgMTI1MDQxLCAKKyAgICA5MjUzNSwgMCwgMCwgNjgyNDksIDc0NTc1LCAwLCA2NTcxOSwgMTMwODMsIDY0NTc0LCA2NTAxMiwgOTgzOTU4LCAxNjQwLCAKKyAgICAxMjQ5NSwgNjY2OTEsIDc2MjQsIDMxMzgsIDEwOTk2LCAxMTE3MSwgMTkyMiwgMCwgMTI0OTgsIDEwOTg3LCA2OTkzNiwgCisgICAgNjk5MzksIDM4OTQsIDY1NTQzLCAxMjkxODMsIDE5NDg0MiwgOTgzNTg4LCA0OTMsIDAsIDQzMTk3LCAxNzE3LCA0MjI4LCAKKyAgICA0NzksIDEwMzAzLCA3NDAyMCwgMCwgOTE3OTM1LCAxMDMzNSwgMzUyMCwgOTE3OTMyLCAxMjQ5MCwgNjQzMTUsIDkyMTcwLCAKKyAgICAxMjcwMzksIDEyNDkzLCA2MjMzLCA0MjY4MSwgMTAwMiwgMTI0OTEsIDExMzY5NSwgNjQ5MTEsIDkyNjE1LCAyMDk2LCAKKyAgICA2NTEyMCwgMCwgNzgyMTksIDEyODkxMiwgODM3OCwgMTE2MzIsIDEyNzA0MSwgNjYyMTMsIDYzODY0LCA2NjIyMSwgNjYyMjYsIAorICAgIDY2MjI5LCAxMzIxOCwgNjYyMzEsIDY2MjE2LCA4NTA3LCA2NjIzNiwgNjYyMTEsIDY2MjE4LCA5MjY3MiwgNjYyNDAsIAorICAgIDc4MDQxLCA2NjIzMywgODkyOCwgOTgzNTUyLCA3OTA5LCA2NjIzNCwgMTE2MDUsIDYzNzU5LCA5ODM2NTQsIDY2MjA4LCAKKyAgICA2NzMzOSwgMTMwMDIsIDYzODAzLCAyNDQsIDExNTQyLCAxMjg5OCwgMTI0OTQsIDczNzYxLCAxMjQ5MiwgMTI2NjksIDAsIDAsIAorICAgIDc0MTUzLCAxMjAzMTAsIDEyODI3OCwgMTIwNjgwLCA0ODgyLCAxMzA0MCwgMCwgODYxMiwgNDg4NSwgNzQwNTMsIDAsIAorICAgIDEzMDQyLCA0ODgwLCA2NDY2MiwgMjQyOSwgMTM2MCwgMjQ4LCAxMjkwNjYsIDYzNzk3LCA5MjM5NCwgNDIzNTgsIDAsIAogICAgIDcyOTIsIDAsIDYzNzU2LCA0Mjc4NiwgNjY2OTMsIDAsIDE4NzAsIDc4MDQwLCA0NzAsIDc4MDM4LCA3ODAzNSwgNzgwMzYsIAotICAgIDcwMDI4LCA3ODAzNCwgNDU3OSwgMTI4MDkwLCAwLCAxMjUxMSwgNzQ0NTMsIDEyNTE0LCAwLCA3NDU3OSwgNzIzOSwgNzAwMSwgCi0gICAgODYyMywgOTQwMTEsIDEyODA1MiwgMTI4MDQ4LCA3Mzc4LCAxMjUxMiwgMTE2MTUsIDYxMDQsIDAsIDAsIDY1OSwgNjA5OCwgCi0gICAgMCwgMTIyMzQsIDEyNzMwNywgMTI3MDY3LCA4MzExLCAxMjUxMCwgNDE4MDMsIDEzMDM5LCAxMjcwNzIsIDEyNTEzLCAKLSAgICAxMDIwMiwgMTI0NzEsIDAsIDg3NDcsIDk4MzkyMCwgMCwgMCwgMjMyMywgMCwgMjMxOSwgNzc5MTcsIDEyNDc3LCA3NzkxNiwgCi0gICAgMjMxMSwgMCwgNDQxNSwgMjM3LCA2MjgxLCAxMjcyODAsIDAsIDAsIDIzMDksIDEzMTIsIDgxNzMsIDEyODg3MSwgMTI0NjksIAotICAgIDAsIDc4NTA1LCA2NDMzNSwgMTA2MDksIDAsIDEyODExMSwgOTM5NywgMTE1MjQsIDkzOTUsIDkzOTYsIDkzOTMsIDkzOTQsIAotICAgIDkzOTEsIDkzOTIsIDkzODksIDYyMDksIDkzODcsIDkzODgsIDQ5MzIsIDkzODYsIDkzODMsIDkzODQsIDY3NDAsIDAsIAotICAgIDY1NDUxLCA4MTg1LCAwLCA5MTc4MzIsIDQzMDI0LCA0MzMzNiwgNjc2NTksIDIzMTMsIDEyODE2NywgNzk0OCwgOTIzNiwgCi0gICAgOTI1NzEsIDAsIDAsIDEwNTcwLCA0MzQ3MywgNjI4OSwgMTA0ODQsIDAsIDAsIDExOTk4LCAxMjA4MiwgMTA5MjQsIDMxNDcsIAotICAgIDAsIDEyMDY4NCwgMTI1MjQsIDExOTA4MSwgMjMxMCwgMTE4MTgsIDkzODEsIDkzODIsIDkzNzksIDkzODAsIDkzNzcsIAotICAgIDkzNzgsIDkzNzUsIDkzNzYsIDE2ODMsIDkzNzQsIDk4Mzc3OCwgOTM3MiwgMTI0NDQsIDAsIDAsIDEzMDE2LCA4MjEwLCAKLSAgICA5ODM5NTgsIDQyMDI5LCAxMTA3OSwgMTIzMzEsIDQzNDUxLCA0MjAzMiwgODc0NCwgNzI2LCAwLCA5ODM4MzcsIDQxNTUsIDAsIAotICAgIDAsIDQyMDMwLCA1MDA3LCAxMjUyMiwgNDMwODgsIDAsIDQ5NTEsIDEyNzgwNSwgMTI3MjQwLCAwLCA5OTIyLCA0MzMwOSwgCi0gICAgOTgzODQxLCAxMjUyNSwgOTgzNDcxLCAxMjAxNiwgNjU3NzAsIDk1NDgsIDY3NjY1LCA0MDMsIDc4MjMwLCAxMjUwMywgMCwgCi0gICAgMCwgMTEwMzAsIDAsIDkyNTY3LCA2NTY5MSwgNjM5OTgsIDE4MTksIDEwNDk2LCAwLCAwLCAxMTk5MjAsIDAsIDE5NDY2OCwgCi0gICAgMCwgMTI1MDYsIDAsIDEyMjMxLCAwLCAxMjUwMCwgNDQwMjMsIDEyNTA5LCA2NDM5MywgNzg4MzAsIDMzODksIDEwNTg5LCAKLSAgICA2NjA4LCA0MTA0NywgMTIwMzIxLCA3ODM5NSwgNzgzOTQsIDc0MDY5LCA3Nzk5NSwgNzgzOTEsIDM2MDgsIDgyODEsIAotICAgIDEyMDMyMCwgMTEwNywgMCwgOTA3NiwgODg2MiwgNjk3NDMsIDQxMDUyLCAxMzA4NCwgNjQ3NjYsIDQzMjE3LCA3ODAzLCAKLSAgICAxMzIyMiwgNzQxNjUsIDc0NzgyLCAxMjY1MTQsIDg1NDYsIDExNTUzLCA2Mzk5NSwgMTMxNzcsIDkwNDMsIDYzMDMsIAotICAgIDk4Mzk0NywgNDk4LCA2NDQ3MSwgMTIwMzI0LCAxMjg1NjcsIDEyNTI5LCA4MDQyLCAwLCAyMzQ0LCAxMjUyOCwgODAzMSwgCi0gICAgMjQxNCwgMCwgNjk3MTksIDMyMzEsIDAsIDY0MjIsIDY2NTEyLCA2OTY1MywgMTI1MzAsIDI1MzcsIDc4NDA1LCA0MTQyOSwgCi0gICAgMTI2NTgsIDEzMDM2LCA2NTc3MiwgMCwgNzg3MzgsIDQxNDMzLCA0NzE5LCA0NjksIDAsIDQzNjMsIDMzMTMsIDQxNDI4LCAKLSAgICA3ODQwNywgMjAyMywgMTc3MiwgNzgyMjQsIDc4MjI1LCA2NTcwNiwgMTAwNTEsIDY0ODEyLCA3ODIyMCwgMCwgOTkyMCwgCi0gICAgMTIyMTUsIDAsIDQ5MzEsIDE5NTEsIDEyNDk3LCAxMTkzNjMsIDk2MDcsIDAsIDk2NjMsIDk4MzIyOCwgMTE5NjM0LCA2NTAzLCAKLSAgICA0MTExMCwgMCwgMTQ5MSwgMCwgMCwgMTI3MzA0LCA0MTA2MSwgMCwgMTk0ODM4LCAxMjcxODcsIDY1MDI2LCA0MTk5MywgCi0gICAgNDE1MDksIDExMDQ1LCA2NTAyOCwgNzg2MDIsIDY2NDc2LCA0MTEwOCwgOTczOCwgNDE5OTUsIDEwNzUsIDE5NTgsIDEyNTM1LCAKLSAgICA0MTk5MiwgNDE1MDYsIDAsIDQxNjg3LCAwLCAxMjA3MTcsIDEyNzc3NiwgOTk0MCwgMTI3Mjk5LCA3NjkyLCA5ODM4MzMsIAotICAgIDgwMDgsIDQxMTMxLCAzMzAsIDg1NjYsIDY1MDgzLCA0MTEzMywgOTgxNiwgMTI2NTE3LCAxMjUzMiwgNzg1NTAsIDc4NTQ2LCAKLSAgICAzNTA4LCAxMjcwNTgsIDQzMjM1LCAwLCAxMjcyOTgsIDY0MTM5LCA3ODIzMSwgNjQxMSwgMTI5MTAsIDc4NTU0LCA2NjY0NCwgCi0gICAgMTMwMjgsIDY3MzcsIDEyNTM3LCAwLCAwLCA2NDEzNiwgMTI1MzYsIDIzNTAsIDEzMDI5LCA3ODIzMywgMCwgOTgzMTAzLCAKLSAgICAxMzAzMCwgNjcwMiwgNDUyNywgMCwgMTI1MzgsIDEyODgxMCwgOTgzNjQ1LCA2NTU5OSwgNjU3MTcsIDk5NjYsIDAsIDQ5NDgsIAotICAgIDEyNDg0LCA0MDMyLCAxMjgxNDksIDEyNjIzLCAwLCA2MjA3LCAwLCA2MTE3LCA2NTkzMCwgODQxMiwgMCwgNzQzOCwgMTI5NiwgCi0gICAgMjMyNSwgNDE1MTEsIDEyNjYyNSwgMTAxNDksIDc0MTE4LCAwLCAxMjcyODYsIDEyNDgxLCAwLCAxMjQ4OCwgNjY3MTMsIDAsIAotICAgIDQxNTU2LCA2NDQxNCwgMTE4ODAyLCAyMzU0LCA0MjYxOSwgNzM3NjYsIDAsIDYyOTUsIDkwMSwgNDE1MTAsIDc5NTMsIDAsIAotICAgIDY1MDMyLCA0MTUxMywgOTgzMTY2LCAxMTkyNywgNjY1ODQsIDc4NTU5LCA3ODU2MCwgNzg1NTcsIDc4NTU4LCAwLCA3ODU1NiwgCi0gICAgODQ4LCA5ODY4LCAwLCA2NDI0LCA3ODU2OCwgMTE5MzM4LCA2OTkyMiwgNzQwMzEsIDc4NTYzLCA3ODU2NCwgMjM1MiwgCi0gICAgNzg1NzIsIDg5MywgNjQ1NzYsIDExMjg5LCAxNDA3LCA2Nzk3MywgMCwgMTMwMjYsIDY3NjIsIDc4NTc5LCA3ODU4MCwgCi0gICAgMTMwMjMsIDg5MDMsIDk3NzcsIDY2NzE1LCAxODcxLCA4MDk5LCAwLCAwLCAxMzQzLCA5ODM4MjMsIDAsIDkzMjUsIDY4MTgsIAotICAgIDYyODMsIDExNzM4LCAwLCA5ODM5MzQsIDAsIDExNzQxLCAwLCAwLCA5MjE2LCA4MjYzLCAxMTI3OSwgMTk0NzUyLCAKLSAgICA5ODM4MjUsIDE5NDc1NCwgMTMwMjEsIDY0NDk0LCAzMTM2LCAxOTQ3NTgsIDE5NDc1NywgMTk0NzYwLCAxMzAyMiwgNDI3MzcsIAotICAgIDk5NTYsIDAsIDAsIDc0NTUyLCAxMDAxNCwgMCwgNDEyNjAsIDExOTM0MCwgMTMwMjAsIDEwMDI0LCAxOTQ3NjQsIDc0NTgzLCAKLSAgICA3NDM0MCwgNjk2ODEsIDAsIDQzMDAxLCA4MDI5LCAwLCAwLCA5ODM3ODAsIDMzMzUsIDAsIDAsIDk3NzYsIDEyMDUyNiwgCi0gICAgMTk0NzQ4LCA1MjE1LCA0MjY0NCwgMzMzMywgMTYzMiwgMTk0NzUxLCA2NDg0OSwgMzM0MiwgNzg1ODIsIDUzNjMsIDEyOTU3LCAKLSAgICA3ODU4MSwgNDE1NiwgMCwgMCwgNjQyMSwgNzg1OTEsIDE2MTEsIDc4NTg5LCAxMzAxOCwgNzQyNTcsIDc4NTg4LCA3NDU0MiwgCisgICAgNzAwMjgsIDc4MDM0LCA0NTc5LCA2OTIzMiwgMCwgMTI1MTEsIDc0NDUzLCAxMjUxNCwgMCwgNzQ1NzksIDcyMzksIDcwMDEsIAorICAgIDg2MjMsIDk0MDExLCAxMjUxMzcsIDEyODA0OCwgNzM3OCwgMTI1MTIsIDExNjE1LCA2MTA0LCAwLCAwLCA2NTksIDYwOTgsIAorICAgIDAsIDEyMjM0LCAxMjczMDcsIDY3MzU4LCA4MzExLCAxMjUxMCwgNzY2OSwgMTMwMzksIDEyNzA3MiwgMTI1MTMsIDEwMjAyLCAKKyAgICAxMjQ3MSwgMCwgODc0NywgMTI1MDQ5LCA3MDE5MywgMTI4MzU0LCAyMzIzLCAwLCAyMzE5LCA3NzkxNywgMTI0NzcsIAorICAgIDc3OTE2LCAyMzExLCA3NjY2LCA0NDE1LCAyMzcsIDYyODEsIDEyNzI4MCwgMCwgMCwgMjMwOSwgMTMxMiwgODE3MywgCisgICAgMTI4ODcxLCAxMjQ2OSwgMCwgNzg1MDUsIDY0MzM1LCAxMDYwOSwgMCwgMTI4MTExLCA5Mzk3LCAxMTUyNCwgOTM5NSwgCisgICAgOTM5NiwgOTM5MywgOTM5NCwgOTM5MSwgOTM5MiwgOTM4OSwgNjIwOSwgOTM4NywgOTM4OCwgNDkzMiwgOTM4NiwgOTM4MywgCisgICAgOTM4NCwgNjc0MCwgMCwgNjU0NTEsIDgxODUsIDEyODkzMSwgOTE3ODMyLCA0MzAyNCwgNDMzMzYsIDY3NjU5LCAyMzEzLCAKKyAgICAxMjgxNjcsIDc5NDgsIDkyMzYsIDc3OTQyLCAwLCAwLCAxMDU3MCwgNDM0NzMsIDYyODksIDEwNDg0LCAwLCAwLCAxMTk5OCwgCisgICAgMTIwODIsIDEwOTI0LCAzMTQ3LCAwLCA2NjQwNiwgMTI1MjQsIDExOTA4MSwgMjMxMCwgMTE4MTgsIDkzODEsIDkzODIsIAorICAgIDkzNzksIDkzODAsIDkzNzcsIDkzNzgsIDkzNzUsIDkzNzYsIDE2ODMsIDkzNzQsIDk4Mzc3OCwgOTM3MiwgMTI0NDQsIDAsIAorICAgIDAsIDEzMDE2LCA4MjEwLCAxMjkxNzgsIDQyMDI5LCAxMTA3OSwgMTIzMzEsIDQzNDUxLCA0MjAzMiwgODc0NCwgNzI2LCAwLCAKKyAgICA5MTc5MjIsIDQxNTUsIDAsIDEyMDcwNCwgNDIwMzAsIDUwMDcsIDEyNTIyLCA0MzA4OCwgMCwgNDk1MSwgMTEzODI2LCAKKyAgICAxMjcyNDAsIDAsIDk5MjIsIDQzMzA5LCAxMTIxMSwgMTI1MjUsIDk4MzQ3MSwgMTIwMTYsIDY1NzcwLCA5NTQ4LCA2NzY2NSwgCisgICAgNDAzLCA3ODIzMCwgMTI1MDMsIDAsIDAsIDExMDMwLCAwLCA5MjU2NywgNjU2OTEsIDYzOTk4LCAxODE5LCAxMDQ5NiwgMCwgCisgICAgMCwgMTE5OTIwLCAwLCAxMjkxNDMsIDAsIDEyNTA2LCA5ODM4MzgsIDExMTQ2LCAxMjc3NTEsIDEyNTAwLCA0NDAyMywgCisgICAgMTI1MDksIDY0MzkzLCA3ODgzMCwgMzM4OSwgMTA1ODksIDY2MDgsIDExMjA4LCAxMjAyMzYsIDc4Mzk1LCA3ODM5NCwgCisgICAgNzQwNjksIDc3OTk1LCA3ODM5MSwgMzYwOCwgODI4MSwgMTEzNzMyLCAxMTA3LCAxMTM3NDUsIDkwNzYsIDg4NjIsIDY5NzQzLCAKKyAgICA0MTA1MiwgMTMwODQsIDY0NzY2LCA0MzIxNywgNzgwMywgMTMyMjIsIDc0MTY1LCA3NDc4MiwgNDM0OTksIDg1NDYsIAorICAgIDExNTUzLCA2Mzk5NSwgMTMxNzcsIDkwNDMsIDYzMDMsIDExMzY2NCwgNDk4LCA2NDQ3MSwgNzc5ODcsIDkyOTc0LCAxMjUyOSwgCisgICAgODA0MiwgMCwgMjM0NCwgMTI1MjgsIDgwMzEsIDI0MTQsIDc0NTA2LCA2OTcxOSwgMzIzMSwgMCwgNjQyMiwgNjY1MTIsIAorICAgIDY5NjUzLCAxMjUzMCwgMjUzNywgNzg0MDUsIDQxNDI5LCAxMjY1OCwgMTMwMzYsIDY1NzcyLCAwLCA3ODczOCwgNDE0MzMsIAorICAgIDQ3MTksIDQ2OSwgMCwgNDM2MywgMzMxMywgNDE0MjgsIDc4NDA3LCAyMDIzLCAxNzcyLCA3ODIyNCwgNzgyMjUsIDY1NzA2LCAKKyAgICAxMDA1MSwgNjQ4MTIsIDc4MjIwLCAwLCA5OTIwLCAxMjIxNSwgMTI3ODc2LCA0OTMxLCAxOTUxLCAxMjQ5NywgMTE5MzYzLCAKKyAgICA5NjA3LCA3MDM2OCwgOTY2MywgNjY4MzgsIDExOTYzNCwgNjUwMywgNDExMTAsIDk4MzQ2NSwgMTQ5MSwgNjY4NDcsIAorICAgIDEyOTE2OSwgMTI3MzA0LCA0MTA2MSwgNzA0NTQsIDE5NDgzOCwgMTI3MTg3LCA2NTAyNiwgNDE5OTMsIDQxNTA5LCAxMTA0NSwgCisgICAgNjUwMjgsIDcxMTgxLCA2NjQ3NiwgNDExMDgsIDk3MzgsIDQxOTk1LCAxMDc1LCAxOTU4LCAxMjUzNSwgNDE5OTIsIDQxNTA2LCAKKyAgICAwLCA0MTY4NywgMCwgMTIwNzE3LCAxMjc3NzYsIDk5NDAsIDEyNzI5OSwgNzY5MiwgOTgzODMzLCA4MDA4LCA0MTEzMSwgCisgICAgMzMwLCA4NTY2LCA2NTA4MywgNjgzOSwgOTgxNiwgMTI2NTE3LCAxMjUzMiwgNzg1NTAsIDc4NTQ2LCAzNTA4LCAxMjcwNTgsIAorICAgIDQzMjM1LCAxMjAzNTEsIDEyNzI5OCwgNjQxMzksIDc4MjMxLCA2NDExLCAxMjkxMCwgNjc3MTAsIDY2NjQ0LCAxMzAyOCwgCisgICAgNjczNywgMTI1MzcsIDAsIDQzNTA2LCA2NDEzNiwgMTI1MzYsIDIzNTAsIDEzMDI5LCA3ODIzMywgMTI3NzYzLCA5ODMxMDMsIAorICAgIDEzMDMwLCA2NzAyLCA0NTI3LCA3MTI1MCwgMTI1MzgsIDEyODgxMCwgOTgzNjQ1LCA2NTU5OSwgNjU3MTcsIDk5NjYsIAorICAgIDEyODQ5OSwgNDk0OCwgMTI0ODQsIDQwMzIsIDEyODE0OSwgMTI2MjMsIDAsIDYyMDcsIDAsIDYxMTcsIDY1OTMwLCA4NDEyLCAKKyAgICAxMjcxODMsIDc0MzgsIDEyOTYsIDIzMjUsIDQxNTExLCAxMjY2MjUsIDEwMTQ5LCA3NDExOCwgMCwgMTIwMjMzLCAxMjQ4MSwgCisgICAgMCwgMTI0ODgsIDY2NzEzLCAwLCA0MTU1NiwgNjQ0MTQsIDExODgwMiwgMjM1NCwgNDI2MTksIDczNzY2LCAwLCA2Mjk1LCAKKyAgICA5MDEsIDQxNTEwLCA3OTUzLCAwLCA2NTAzMiwgNDE1MTMsIDk4MzE2NiwgMTE5MjcsIDY2NTg0LCA3ODU1OSwgNzg1NjAsIAorICAgIDc4NTU3LCA3ODU1OCwgMCwgNjc2MDMsIDg0OCwgOTg2OCwgNjcyMjAsIDY0MjQsIDc4NTY4LCA2NzIyNiwgNjk5MjIsIAorICAgIDcwMTkwLCA3ODU2MywgNzg1NjQsIDIzNTIsIDY3MjE5LCA4OTMsIDY0NTc2LCAxMTI4OSwgMTQwNywgNjc5NzMsIDAsIAorICAgIDEzMDI2LCA2NzYyLCA3ODU3OSwgNzAxOTIsIDEzMDIzLCA4OTAzLCA5Nzc3LCA2NjcxNSwgMTg3MSwgODA5OSwgMTI3OTg0LCAKKyAgICAwLCAxMzQzLCA5ODM4MjMsIDEyMDc4NCwgOTMyNSwgNjgxOCwgNjI4MywgMTE3MzgsIDAsIDcyNDM2LCAxMTM3MTMsIAorICAgIDExNzQxLCAwLCA5MzAzOCwgOTIxNiwgODI2MywgMTEyNzksIDE5NDc1MiwgOTgzNDUzLCAxOTQ3NTQsIDEzMDIxLCA2NDQ5NCwgCisgICAgMzEzNiwgMTk0NzU4LCAxOTQ3NTcsIDE5NDc2MCwgMTMwMjIsIDQyNzM3LCA5OTU2LCAwLCAxMjc3ODcsIDc0NTUyLCAKKyAgICAxMDAxNCwgMCwgNDEyNjAsIDExOTM0MCwgMTMwMjAsIDEwMDI0LCAxOTQ3NjQsIDc0NTgzLCA3NDM0MCwgNjk2ODEsIDAsIAorICAgIDQzMDAxLCA4MDI5LCAwLCAwLCA5ODM3ODAsIDMzMzUsIDExOTM0MSwgOTIwOSwgOTc3NiwgMTIwNTI2LCAxOTQ3NDgsIAorICAgIDUyMTUsIDQyNjQ0LCAzMzMzLCAxNjMyLCAxOTQ3NTEsIDY0ODQ5LCAzMzQyLCA3ODU4MiwgNTM2MywgMTI5NTcsIDc4NTgxLCAKKyAgICA0MTU2LCAwLCAxMjczMjksIDY0MjEsIDc4MDM5LCAxNjExLCA3ODU4OSwgMTMwMTgsIDc0MjU3LCA3ODU4OCwgNzQ1NDIsIAogICAgIDMzMzcsIDQ1MzcsIDY3ODk1LCAxMTczNiwgMCwgNjg2MDgsIDY0ODIsIDQyMTQsIDczNzkwLCAxMTk0NSwgMCwgMTMwNDYsIAotICAgIDg4MzgsIDQyNSwgNDAyNSwgMTA3MDksIDc4NTk1LCAyMTA4LCAyMzkyLCAxMzA0NywgMCwgMCwgNjgxOSwgMTMwNDksIAotICAgIDY0OTksIDkyMjQzLCAxMjQyNCwgNjg2MTQsIDczOTQ0LCAxMzA1MCwgOTkyNCwgMTk0NzQ1LCA2NTA3LCAxMjc5MTksIAorICAgIDg4MzgsIDQyNSwgNDAyNSwgMTA3MDksIDc4NTk1LCAyMTA4LCAyMzkyLCAxMzA0NywgOTI3NDUsIDAsIDY4MTksIDEzMDQ5LCAKKyAgICA2NDk5LCA5MjI0MywgMTI0MjQsIDY4NjE0LCA2NTgyNywgMTMwNTAsIDk5MjQsIDE5NDc0NSwgNjUwNywgMTI3OTE5LCAKICAgICA5NDA3MywgMTI4MDY5LCAzMjc3LCA4OTI5LCA0OTQ3LCA0MTA1NSwgMCwgMTk0NzIyLCAxOTQ3MjEsIDE5NDcyNCwgMTMwNDUsIAogICAgIDY0NjI2LCA2NjAzNCwgNzc1MSwgMTk0NzI3LCA4MzcxLCAxOTQ3MjksIDM5OTcsIDEyODA2LCA4NzY4LCAxMzA0NCwgMCwgCi0gICAgMTI0MjAsIDQwMjQsIDE5NDczMCwgNDEwNTQsIDEwNzgsIDk3NTcsIDY5NzM2LCA0MTA1NywgMCwgMCwgMCwgMCwgOTgzNzkxLCAKLSAgICA5MjIxMCwgOTI0MTEsIDAsIDQxNDk2LCAwLCA5MTY1LCAxNTcyLCAxMTkxMSwgMCwgMTE4ODQyLCAyMzQ2LCAxMzI3MCwgCi0gICAgODk1OCwgMCwgOTY0NiwgMzc3MywgNDMxODMsIDY0MDEsIDU4MzEsIDAsIDAsIDEzMDQzLCA4MDU2LCA5MjQ5NCwgNjU2ODEsIAotICAgIDIwOCwgMTI3MzgyLCA0MTUxNCwgMCwgMCwgMCwgMTA2OTksIDY0MDgsIDkyMjI3LCA3ODI1LCA1NjYxLCAwLCAxMjA2MzAsIAotICAgIDM2MDMsIDQxMTA5LCAyMzk4LCAzNTQ4LCAxMjY1OTYsIDAsIDExOTkzMywgMCwgMzExNSwgOTkxOCwgMCwgODI5NCwgCi0gICAgNDI5MTIsIDAsIDAsIDE5NDcyNiwgNDg3NiwgNjU4MDQsIDAsIDAsIDQzNDY4LCA5ODMyNzQsIDQxNTU4LCA0MTQ3MSwgCi0gICAgNzM5NTAsIDgxNTgsIDk5NDQsIDQxNDcyLCAxMjAyOTgsIDEzMDUxLCA3ODY4OSwgMzE0MywgMTk0Njc0LCA2NzAxLCAKLSAgICA0MTU1OSwgMTg5NiwgNjYyNTYsIDEzMDUyLCAxOTQ2ODAsIDU2NjUsIDAsIDExOTA3MSwgNzAyNSwgNjM5NzQsIDAsIAotICAgIDc0MzUyLCA3NDE2MSwgNDE1NCwgOTg2MywgNDM1NTAsIDEyMzEwLCA1NjYyLCA0MjM4MiwgMTU2NCwgNzM5MjQsIDExMjEsIAotICAgIDc4MzE5LCA2Mzk1OSwgMCwgOTk0MiwgMTMyMzEsIDAsIDY0NzUyLCA0NzMyLCAxOTQ2NjYsIDExNTk2LCAxMTk5MzEsIAotICAgIDY1MTg3LCAxNjI2LCA2Mzk4MywgMTAxMTAsIDY0NzcyLCA0MjAyNCwgNjQyMCwgNDIwMjgsIDAsIDEwNTA5LCAyNzk1LCAKLSAgICA0OTEwLCAxOTQ3MjgsIDY5MjMxLCA2NDc1MywgNjI3NSwgOTM5NTcsIDExODgzMCwgNjM5NzgsIDExMDQ0LCAzMjI5LCAKLSAgICA2NDIzLCA0Mjc3NCwgMCwgMCwgMCwgMTI4MjMsIDIzMzEsIDkxNzgxMCwgNzA4NSwgNjEzNywgMCwgNzUyNCwgMCwgCi0gICAgOTE3ODA5LCA4MzQ2LCAwLCA4MzM4LCAxMjgzMTUsIDY1MDQzLCAwLCA4MjIsIDEyNzk4NCwgOTkwMywgNjQ3MjEsIDQyNzIyLCAKLSAgICA2OTg3NywgMTk0NjU5LCA3ODY1NSwgNzg2NjEsIDE5NDY2MCwgNzg2NjIsIDQxMjY1LCA1MzExLCAxNzk1LCA5NjUsIAotICAgIDExODc5MSwgMTA1ODcsIDc4MDU1LCAxMTI3OCwgNzg2MzIsIDE5NDY0MCwgMCwgMTI5NDYsIDE5NDY0MSwgMTE5MzQxLCAKLSAgICAxMjAzNDksIDYyOTQsIDMxNDQsIDE5NDY0OCwgMTk0NjQ3LCA2NTAxOSwgMTk0NjQ5LCA3Mzk5MCwgMCwgOTgzOTYwLCA3NDgsIAotICAgIDQxMDY3LCAyMzMwLCA1MzUsIDMxNDgsIDEyMzc1LCA3ODc5OSwgMTk0NjI5LCAxMDU1NiwgMjQ3NSwgMTIzODgsIDQ4ODksIAotICAgIDg5NjgsIDY3ODYzLCAzNTkzLCAwLCAwLCAyMzQyLCAwLCAxOTQ2MzQsIDY1MjA2LCA0ODk0LCAxOTQ2MzUsIDQ4OTAsIAotICAgIDE5NDYzNywgOTE3ODA0LCA1ODEsIDQ4OTMsIDk4MzYxNiwgNjU3MSwgNjU1NDUsIDQ4ODgsIDQxNTcsIDc4MDQ4LCA3ODA0OSwgCi0gICAgNzgwNDYsIDc4MDQ3LCAwLCAxMDExOSwgNjQxNSwgNDI4OTMsIDAsIDY5NzAyLCAwLCAwLCAxMTM3NSwgNjQ3NDYsIDIzMzIsIAotICAgIDc4MDYzLCA0MTIsIDc4MDYxLCA2NDkzMiwgNDI4ODAsIDQzNTg3LCAwLCAwLCAwLCAwLCA2NTE5NywgNzgwNjYsIDEyMjAzLCAKLSAgICA3ODA2NCwgNzgwNjUsIDg5MTMsIDY1ODU0LCA0ODc1LCA2NTgxMSwgMTIwMzgxLCAxMjAzODksIDExODg4OCwgOTM0NCwgCi0gICAgODgyNiwgMTIwMzg2LCAxMjAzOTUsIDEzMTA0LCA3NDc4MSwgMTE5OTcsIDEyMDM5MywgNzgwNzUsIDAsIDMxMzQsIDAsIAotICAgIDY1Njk2LCA5MjMzMSwgMCwgNjYyMTcsIDAsIDgzMzQsIDExOTM0NCwgMCwgMzQ0OSwgMCwgMCwgNzg0MTQsIDc4NDEzLCAKLSAgICAxMTg5NTAsIDc0MDExLCAwLCAwLCAwLCAwLCAxOTA4LCAxMjAxNjcsIDQzMjgsIDEwNzM0LCAxMjcwMTQsIDAsIDEyNzkxNCwgCi0gICAgNzgwNCwgNzgyNzIsIDEwODExLCA2MjUwLCAxMTMzOSwgNDkxNCwgMTEzNjcsIDAsIDc4MDU0LCA0OTE3LCA3NDUxNiwgCi0gICAgNzQyMDgsIDY0Mjg1LCA0OTEyLCA1NDY0LCAxMjc4MzYsIDExODg5MywgMjM2MSwgNzk3MSwgNzgwNzIsIDc4MDczLCAKLSAgICA1NTI0MywgNzgwNzEsIDAsIDgwODYsIDc0MzE3LCA2NzA3LCA4MzE5LCAyMzEyLCA0MDk3NywgMTA5NjAsIDQwOTYyLCAKLSAgICA4MzA1LCAxMjU3MywgOTgzNjA4LCA0MDk4MCwgOTgzOTY0LCAxMzIwMiwgMCwgMTI1ODIsIDc4MjgyLCA5ODMwNDgsIAotICAgIDY5ODU2LCA0MjQzOCwgNTUyMjEsIDYyODgsIDc4MjgwLCAxMjc5NDYsIDU2NTMsIDQyNDAwLCAxMDg5MSwgNzY5OCwgNTY1OCwgCi0gICAgNzQwNDUsIDcwMDM5LCAwLCAwLCA0OTEzLCAwLCA5ODM5NTksIDcxMzMzLCA0MjMyNiwgMTI4MTk0LCAxMjcyOCwgOTI2ODUsIAotICAgIDQyNDc4LCAyMzI3LCAwLCAxMjU2MywgNDIyODcsIDEyNzA1LCAwLCAwLCAxMjU4OCwgODgyMSwgNjE1MywgMjg2NywgCi0gICAgMTk0NzA4LCA2NjMxMiwgNjk4LCAxMjgwMDcsIDE5NDYwNiwgMTAzNTYsIDcwMDE3LCAxOTQ3MTMsIDY1MSwgMTI2NDEsIDAsIAotICAgIDAsIDAsIDAsIDQxNTUyLCA2NTExNSwgNzg0NjUsIDc4NDY3LCA3ODQ2MywgNzg0NjQsIDEyODg1MSwgNzg0NjEsIDE5NDY5NywgCi0gICAgNzQzNTYsIDY0OTQ1LCA0NzE2LCA0MzI3NywgMCwgNzg0NzQsIDEyMzQwLCAxMjA1NjgsIDAsIDE5NDcwMCwgNTUyNjQsIAotICAgIDQxMjExLCAxMjA2NzYsIDg3MDMsIDU0NjIsIDkxNzYyOSwgOTgzNDk1LCAxMDEwMSwgMCwgNzAwNDksIDg0NzksIDQxNTEsIAotICAgIDQxOTMzLCAwLCAwLCA2NjI1NCwgMTIwODIxLCAwLCAwLCAxMjg2NTQsIDAsIDExOTE5NCwgNzQwNTAsIDkyNzAxLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAxMjI3OCwgMCwgMCwgMCwgMjcwMCwgMTI1NzYsIDc4NDIsIDEyODk5LCAwLCAwLCAyNjk5LCAwLCA3Mzg0NSwgCi0gICAgMjk4NSwgOTI1NjgsIDEyNjQ3NSwgOTE3ODQ1LCAxMjE5MiwgMTE5MzE0LCAwLCAxMTkzMTIsIDk4MjcsIDExOTMxMCwgCi0gICAgMTE5MzExLCAxMTkzMDgsIDExOTMwOSwgMTE5MzA2LCAxMTQ4MSwgNDEyMTAsIDExOTMwNSwgMCwgMzUsIDc4NDgxLCAKLSAgICA3ODQ4MiwgNjY2OTQsIDY4NDc5LCA3ODQ3NywgNzg0NzgsIDQzNTk2LCA2MDkwLCA2NDI1NywgNzgxMiwgMTA1MzQsIDAsIAotICAgIDc4NDg1LCA3Mzg0OCwgNjc5NzUsIDQyNzIsIDAsIDQwOTY3LCA0MDk2NCwgOTE3ODI1LCAxMjcwNCwgNzg0ODcsIDQzMzA2LCAKLSAgICAwLCA2NDQ5NywgMTIxMzgsIDc5MzAsIDAsIDIyOTIsIDY4MjE2LCAwLCA5MTc4MjYsIDUyNDQsIDQxODksIDk0MTA4LCAKLSAgICA2NzU5NiwgMTI3NTA0LCA0MTg4LCAxODc5LCAwLCA5NjgsIDAsIDQzNzQzLCAwLCA4ODczLCAyMjc5LCAwLCA5MTc4MjcsIAotICAgIDY1NTU1LCAxMjU3NCwgMCwgMCwgMCwgNzQ0OTAsIDEyNzA5OSwgNDM2NTcsIDAsIDAsIDAsIDQyNjgyLCAxMjU3OCwgCi0gICAgMTI3MjAsIDAsIDQxMjI3LCAwLCAxMjM0NiwgMTI3MTAxLCA2NDg0OCwgMCwgMCwgNzI1MSwgMCwgMCwgMTE4ODUwLCAKLSAgICAxMTkxNDEsIDEyODU0NiwgNjYwMTUsIDAsIDk1OSwgODg4NSwgMTI1NjQsIDY2NDU3LCA3ODgwOCwgOTQ2OSwgOTYzMiwgCi0gICAgOTIzMjMsIDc0NzYxLCA2NDMyMywgMTI3MzM1LCAwLCAwLCAwLCAzMTAsIDAsIDQxMjgxLCAxMDk3NiwgMCwgNzEzMjUsIDAsIAotICAgIDc0MjY2LCAxMDA1NCwgNjQ5NywgODU3NCwgMCwgOTAxMiwgMTk5NTgsIDc0NDIwLCA2NTA4OSwgMTMyMTUsIDEyNzMwLCAKLSAgICA2NTE2MywgNzQwNDQsIDM3NCwgNDMxOTUsIDgxNiwgMTIwMTYxLCAwLCAwLCA0MTkzNCwgNzQ2NSwgMCwgMTI4MTY4LCAKLSAgICA5ODMyNjgsIDQ3MTUsIDYxMDEsIDk0MTA2LCA0MTkzNiwgMCwgNDg3OSwgMCwgNjU0NDYsIDAsIDMwNywgMTI3MTQ3LCAKLSAgICA5NTg1LCA1Mzc0LCA5ODMyNjcsIDEyODA1OSwgMCwgMCwgMTI2NjE4LCAxMjAzOTAsIDAsIDY1NTY3LCAxMjA2MTQsIDE5MjksIAotICAgIDAsIDEyMTQyLCAwLCAxMjIzNiwgNDE0MTksIDE5NDYxOCwgMTIwNjEwLCAxMjk4MiwgMTk0NjIzLCA1Mzc4LCA3ODc5MSwgCi0gICAgMTI4Njc5LCA0MTQyMSwgMCwgNDQ2MiwgMCwgMTI2NTk5LCAxMjgwOTIsIDgyMSwgMCwgMjQ5OCwgNTgwMCwgMTIwMTU3LCAKLSAgICA5ODMxMTUsIDE3NjAsIDI0MjEsIDQ0NjksIDIzMjQsIDgyOCwgMzYxMSwgNzg0MDAsIDc1NywgMTE4NSwgMCwgNzg3NzAsIAotICAgIDQzNTk3LCAxMDYyOCwgNzQ4MDgsIDE5NDU3MiwgNzk5OSwgNDM5NzEsIDAsIDAsIDEwNjM0LCAxMDk0MiwgNzcxMywgMjM0OCwgCi0gICAgMCwgNjQzNzQsIDQzODAsIDE5NDYwOCwgMTE5MDQ0LCA5OTgyLCA2NDMyNCwgNDEyNDAsIDg2MiwgNjU2MjYsIDc4NDYyLCAKLSAgICAxODEwLCAzNjczLCA1MTM3LCAxOTQ2MTcsIDAsIDcyNzcsIDY1NjIyLCAwLCA3NTY2LCA2NDY4OCwgMTk0NTkzLCAxOTQ1OTIsIAotICAgIDc4MDkyLCA3NDM1NywgMTk0NTk3LCA0NzQ4LCA5MjIyOCwgMTk0NTk4LCAxOTQ2MDEsIDQyMjYwLCA1ODcxLCAxMTkwNzUsIAotICAgIDAsIDc0NTc2LCA0NDAxOSwgMCwgMTI4MTg5LCAzOTY3LCAxOTQ2MDQsIDEzMTM3LCA4Nzc1LCAxMjc5NDUsIDAsIDI5NjMsIAotICAgIDAsIDg0MTAsIDQ0NTQsIDcyMywgMTI3ODgyLCA5NjYsIDQ0NDksIDkyMzMwLCA5MjIzOCwgMCwgNzgxOSwgMjMyMCwgCi0gICAgMTk0NTg5LCAzMzksIDQ5NjgsIDE5NDU5MCwgMTIwMzk5LCA4MDc1LCA1NTI3NiwgMCwgODA0NywgMCwgNzg4MjcsIDEyNjM0LCAKLSAgICA0MTU0MiwgNzg3ODAsIDc0NjYsIDY3MDUsIDEyMTc0LCA0MjYxMCwgMCwgNzQ0NTIsIDk4Mzc2MywgMTU4NCwgNjY2NDUsIAotICAgIDYwNDUsIDY3MjksIDEyMDY0MCwgNjUyMTgsIDExNTU5LCAwLCA3ODA2MiwgNzUzNywgMCwgMTEzNzAsIDAsIDEwMzMwLCAwLCAKLSAgICAxMDM5NCwgMCwgNzQxOTQsIDAsIDEyNzkyOSwgOTc4MCwgMCwgMTMwOTIsIDE5NDU3NiwgNzc5NTAsIDE5NDU3OCwgNzA3NCwgCi0gICAgOTI2NDgsIDE5NDU3OSwgMTk0NTgyLCAxMTQxNCwgMTI4ODY4LCAyNTMxLCAxMzAzNCwgMCwgMCwgNDIxMSwgMTI1OSwgCi0gICAgNzUxNywgMCwgMCwgMTk0NTYxLCA0MDk5NiwgMTMwMzcsIDcwOTIsIDY0MSwgNTIxOSwgOTQwMzQsIDE5NDU2NiwgMTEwNjQsIAotICAgIDQxMTI5LCAwLCA0Mjg1MCwgMTMwMzUsIDkwNzUsIDkyMzg3LCA1NDY2LCAxMjgxNTMsIDAsIDY0MDk4LCA2NTc5MywgNDUzNSwgCi0gICAgMTk0NTczLCA0MjcxLCA3ODQxNywgMTI4MzU3LCA2NzY5LCA0MTQxMCwgOTgzNDUyLCA2NDI2MiwgNjc2NywgNDE0MDcsIDAsIAotICAgIDAsIDY3NTUsIDExODg2NCwgOTA0NiwgMTI3OTM0LCAxMjY2MDgsIDAsIDAsIDAsIDAsIDY3Njc1LCAwLCAwLCAwLCA2NDMzOCwgCi0gICAgMjU2MywgMTMwMzMsIDI0NywgMTE4OTE1LCAwLCAxMjMzOCwgNDY1MSwgNjk4OTUsIDExMjcwLCAwLCAwLCAxMTkzMywgMCwgCi0gICAgMCwgNDE5MDMsIDQzNDQ3LCAxMTAwMSwgMCwgNDIyNTUsIDAsIDkyNjYxLCA2OTgyMSwgNDE5MDUsIDAsIDAsIDEwNzc1LCAKLSAgICA5NzkzLCA1MDA5LCAwLCA0MjI2OSwgNjQ1ODcsIDk4MzA2MywgNDI1MzUsIDY5ODEyLCA2NDUyOSwgNDE0MDgsIDQyODUzLCAKLSAgICAzODc3LCAxMjA3OTUsIDQyNjc0LCA4MTQ3LCA0MzU2NiwgMTE5MDIxLCA5ODM3NzYsIDEwMjM2LCA2NTkxOCwgNDM3ODIsIDAsIAotICAgIDAsIDY0NTA2LCA2OTY1MiwgMTE4OTIxLCA0NzQ3LCAxMjgwNTgsIDY5ODQ0LCA0MzIwMCwgNTgzMiwgMCwgMCwgNTE0MSwgCi0gICAgNDI2MDAsIDAsIDQzMjAzLCAwLCA5ODM3OTksIDQzMjg2LCAwLCAxMjgyMTEsIDQzNzc4LCAwLCA0MTMwNSwgNzg3NzYsIAotICAgIDQzNzgxLCAxMTMwMywgNjU1NDcsIDAsIDcwMzEsIDg1OSwgMCwgMCwgMCwgNjA1OSwgMTI2OTg1LCA1NTIzNSwgMCwgODUzNSwgCi0gICAgMCwgNjUxOTYsIDE5NDc4NywgNjYwMzIsIDExNDg4LCAxMjA0ODEsIDEyMDc4NiwgNDIyMzMsIDY0MTQwLCA5OTQ2LCAKLSAgICA2Mzg4NSwgMTk0NzkyLCAxMTgyMiwgMCwgNDMxODksIDk4Mzg5OCwgMCwgMTc4OCwgMTU3OSwgMTIwNDgyLCA3MTI5OCwgMCwgCi0gICAgMCwgMCwgOTAyOCwgMTE5NTcxLCA2OTIzNCwgOTQwNTUsIDAsIDEyODUsIDY0ODgyLCA0MTI0MiwgNzAwODYsIDAsIDEyNjQwLCAKLSAgICAwLCA3NDAxLCAwLCAxMjYyNSwgNjgxOTgsIDAsIDcwMDgyLCAzOTQwLCA0MTU5NywgNDM3NTQsIDMzOTYsIDEyNjQyLCAKLSAgICA4NjY1LCAwLCAwLCAxMjYzMCwgMTY1MywgOTE3ODE1LCAxMDE1MywgMCwgNjE2NiwgMTIwNTE2LCAxMTg5ODksIDAsIDg4MTUsIAotICAgIDY2NjczLCA2NTA0NiwgOTI4NSwgOTEzLCA0MjI1OSwgMTE5MzE3LCAxMTkzMTgsIDIxNDIsIDY4NDU0LCA0MjQ4NSwgCi0gICAgOTQwMTIsIDc4NzgsIDgyMTEsIDQyMjkzLCA2NDM3NywgMCwgOTI2NDMsIDAsIDE5NDY3MywgMTIwMzIsIDAsIDk3MjUsIDAsIAorICAgIDEyNDIwLCA0MDI0LCAxOTQ3MzAsIDQxMDU0LCAxMDc4LCA5NzU3LCA2OTczNiwgNDEwNTcsIDY4MzA3LCAwLCAwLCAwLCAKKyAgICA5ODM3OTEsIDkyMjEwLCA5MjQxMSwgMCwgNDE0OTYsIDAsIDkxNjUsIDE1NzIsIDExOTExLCAxMjQ5OTAsIDExODg0MiwgCisgICAgMjM0NiwgMTMyNzAsIDg5NTgsIDAsIDk2NDYsIDM3NzMsIDQzMTgzLCA2NDAxLCA1ODMxLCAwLCAwLCAxMzA0MywgODA1NiwgCisgICAgOTI0OTQsIDY1NjgxLCAyMDgsIDEyNzM4MiwgNDE1MTQsIDAsIDAsIDAsIDEwNjk5LCA2NDA4LCA5MjIyNywgNzgyNSwgCisgICAgNTY2MSwgMCwgMTIwNjMwLCAzNjAzLCA0MTEwOSwgMjM5OCwgMzU0OCwgMTI2NTk2LCAxMjg0MzQsIDExOTkzMywgMCwgCisgICAgMzExNSwgOTkxOCwgMTI3ODIzLCA4Mjk0LCA0MjkxMiwgMCwgMCwgMTk0NzI2LCA0ODc2LCA2NTgwNCwgMCwgMCwgNDM0NjgsIAorICAgIDk4MzI3NCwgNDE1NTgsIDQxNDcxLCA3Mzk1MCwgODE1OCwgOTk0NCwgNDE0NzIsIDEyMDI5OCwgMTMwNTEsIDc4Njg5LCAKKyAgICAzMTQzLCAxOTQ2NzQsIDY3MDEsIDQxNTU5LCAxODk2LCA2NjI1NiwgMTMwNTIsIDE5NDY4MCwgNTY2NSwgNzg1OTQsIAorICAgIDExOTA3MSwgNzAyNSwgNjM5NzQsIDAsIDc0MzUyLCA3NDE2MSwgNDE1NCwgOTg2MywgNDM1NTAsIDEyMzEwLCA1NjYyLCAKKyAgICA0MjM4MiwgMTU2NCwgNzM5MjQsIDExMjEsIDc4MzE5LCA2Mzk1OSwgMCwgOTk0MiwgMTMyMzEsIDk4MzU3OCwgNjQ3NTIsIAorICAgIDQ3MzIsIDE5NDY2NiwgMTE1OTYsIDc4MTQyLCA2NTE4NywgMTYyNiwgNjM5ODMsIDEwMTEwLCA2NDc3MiwgNDIwMjQsIAorICAgIDY0MjAsIDQyMDI4LCA5MjI5NCwgMTA1MDksIDI3OTUsIDQ5MTAsIDEyOTE5MywgNjkyMzEsIDY0NzUzLCA2Mjc1LCA5Mzk1NywgCisgICAgMTE4ODMwLCA2Mzk3OCwgMTEwNDQsIDMyMjksIDY0MjMsIDQyNzc0LCAwLCAwLCA2ODUyNiwgMTI4MjMsIDIzMzEsIAorICAgIDEyNzc4OCwgNzA4NSwgNjEzNywgMCwgNzUyNCwgMCwgOTE3ODA5LCA4MzQ2LCAxMjg0MzgsIDgzMzgsIDEyODMxNSwgCisgICAgNjUwNDMsIDk4MzIzNywgODIyLCA3MDQxMiwgOTkwMywgNjQ3MjEsIDQyNzIyLCA2OTg3NywgMTk0NjU5LCA3ODY1NSwgCisgICAgNjY4ODIsIDE5NDY2MCwgNzg0ODQsIDQxMjY1LCA1MzExLCAxNzk1LCA5NjUsIDExODc5MSwgMTA1ODcsIDczOTMxLCAKKyAgICAxMTI3OCwgNzg2MzIsIDE5NDY0MCwgMCwgMTI5NDYsIDE5NDY0MSwgNzE5MjEsIDEyMDM0OSwgNjI5NCwgMzE0NCwgCisgICAgMTk0NjQ4LCAxMjc5NjcsIDY1MDE5LCAxOTQ2NDksIDczOTkwLCA2NTExMSwgOTgzOTYwLCA3NDgsIDQxMDY3LCAyMzMwLCAKKyAgICA1MzUsIDMxNDgsIDEyMzc1LCA3ODc5OSwgMTk0NjI5LCAxMDU1NiwgMjQ3NSwgMTIzODgsIDQ4ODksIDg5NjgsIDY3ODYzLCAKKyAgICAzNTkzLCA3NDA3NiwgMCwgMjM0MiwgMCwgMTI2NTQxLCA2NTIwNiwgNDg5NCwgMTk0NjM1LCA0ODkwLCAxOTQ2MzcsIAorICAgIDEyOTE0NywgNTgxLCA0ODkzLCA0MjkyOSwgNjU3MSwgNjU1NDUsIDQ4ODgsIDQxNTcsIDc4MDQ4LCA3ODA0OSwgNjQ2NTEsIAorICAgIDc4MDQ3LCAwLCAxMDExOSwgNjQxNSwgNDI4OTMsIDAsIDY5NzAyLCA5ODM5MzcsIDAsIDExMzc1LCA2NDc0NiwgMjMzMiwgCisgICAgNzgwNjMsIDQxMiwgNzgwNjEsIDQyOTI4LCA0Mjg4MCwgNDM1ODcsIDAsIDAsIDAsIDcwNDYxLCA2NTE5NywgNzgwNjYsIAorICAgIDEyMjAzLCA3ODA2NCwgNzgwNjUsIDg5MTMsIDY1ODU0LCA0ODc1LCA2NTgxMSwgMTIwMzgxLCAxMjAzODksIDcxODU0LCAKKyAgICA5MzQ0LCA4ODI2LCA5MjkxNiwgMTIwMzk1LCAxMzEwNCwgNzQ3ODEsIDExOTk3LCAxMjAzOTMsIDc4MDc1LCAwLCAzMTM0LCAKKyAgICAwLCA2NTY5NiwgNzI0MzIsIDAsIDY2MjE3LCAwLCA4MzM0LCA5Mjc1NSwgMCwgMzQ0OSwgMCwgMCwgNzg0MTQsIDc4NDEzLCAKKyAgICAxMTg5NTAsIDY2NDA1LCA3MDQzMCwgMCwgMCwgMCwgMTkwOCwgMTIwMTY3LCA0MzI4LCAxMDczNCwgMTI3MDE0LCAwLCAKKyAgICAxMjc5MTQsIDc4MDQsIDc4MjcyLCAxMDgxMSwgNjI1MCwgMTEzMzksIDQ5MTQsIDExMzY3LCAxMjUwMDEsIDc4MDU0LCAKKyAgICA0OTE3LCA3NDUxNiwgNzQyMDgsIDY0Mjg1LCA0OTEyLCA1NDY0LCAxMjc4MzYsIDExODg5MywgMjM2MSwgNzk3MSwgNzgwNzIsIAorICAgIDc4MDczLCA1NTI0MywgNzgwNzEsIDAsIDgwODYsIDc0MzE3LCA2NzA3LCA4MzE5LCAyMzEyLCA0MDk3NywgMTA5NjAsIAorICAgIDQwOTYyLCA4MzA1LCAxMjU3MywgOTgzNjA4LCA0MDk4MCwgOTgzOTY0LCAxMzIwMiwgMTI3ODE2LCAxMjU4MiwgNzgyODIsIAorICAgIDk4MzA0OCwgNjk4NTYsIDQyNDM4LCA1NTIyMSwgNjI4OCwgNzgyODAsIDEyNzk0NiwgNTY1MywgNDI0MDAsIDEwODkxLCAKKyAgICA3Njk4LCA1NjU4LCA3MDQwMSwgNzAwMzksIDAsIDcwNDYwLCA0OTEzLCA3MTA2MCwgMTI4NTYyLCA3MTMzMywgNDIzMjYsIAorICAgIDEyODE5NCwgMTI3MjgsIDkyNjg1LCA0MjQ3OCwgMjMyNywgMCwgMTI1NjMsIDQyMjg3LCAxMjcwNSwgMCwgMTIwODI0LCAKKyAgICAxMjU4OCwgODgyMSwgNjE1MywgMjg2NywgMTk0NzA4LCA2NjMxMiwgNjk4LCAxMjcwNTksIDE5NDYwNiwgMTAzNTYsIAorICAgIDcwMDE3LCAxOTQ3MTMsIDY1MSwgMTI2NDEsIDAsIDEyNTA5OCwgMTIwNzEwLCAxMjkwNjQsIDQxNTUyLCA2NTExNSwgCisgICAgNzg0NjUsIDc4NDY3LCA3ODQ2MywgNzg0NjQsIDEyODg1MSwgNzg0NjEsIDkyOTYwLCA2NjkyNywgNjQ5NDUsIDQ3MTYsIAorICAgIDQzMjc3LCAwLCA3ODQ3NCwgMTIzNDAsIDEyMDU2OCwgMCwgMTk0NzAwLCA1NTI2NCwgNDEyMTEsIDEyMDY3NiwgODcwMywgCisgICAgNTQ2MiwgMTIwNzkzLCAxMjg5NDQsIDEwMTAxLCAwLCA3MDA0OSwgODQ3OSwgNDE1MSwgNDE5MzMsIDAsIDAsIDY2MjU0LCAKKyAgICAxMjA4MjEsIDY4NDk3LCAwLCAxMjg2NTQsIDExMzc5OSwgMTE5MTk0LCA3NDA1MCwgNDI2NTEsIDAsIDAsIDAsIDEyOTE1MSwgCisgICAgMCwgMTIyNzgsIDEyNzE2NywgMTI4NDA1LCAwLCAyNzAwLCAxMjU3NiwgNzg0MiwgMTI4OTksIDAsIDAsIDI2OTksIDAsIAorICAgIDczODQ1LCAyOTg1LCA5MjU2OCwgNjg2NDgsIDkxNzg0NSwgMTIxOTIsIDExOTMxNCwgMCwgNjY0ODksIDk4MjcsIDExOTMxMCwgCisgICAgODYwOSwgMTE5MzA4LCA2NzQyNiwgMTE5MzA2LCAxMTQ4MSwgNDEyMTAsIDExOTMwNSwgMCwgMzUsIDcwODM4LCA2NzQzMSwgCisgICAgNjY2OTQsIDY4NDc5LCA3ODQ3NywgNjc0MjgsIDQzNTk2LCA2MDkwLCA2NDI1NywgNzgxMiwgMTA1MzQsIDAsIDc4NDg1LCAKKyAgICA3Mzg0OCwgNjc5NzUsIDQyNzIsIDc4MzIxLCA0MDk2NywgNDA5NjQsIDkxNzgyNSwgMTI3MDQsIDc4NDg3LCA0MzMwNiwgMCwgCisgICAgNjQ0OTcsIDEyMTM4LCA3OTMwLCAwLCAyMjkyLCA2ODIxNiwgMTk0ODcxLCA5MTc4MjYsIDUyNDQsIDQxODksIDk0MTA4LCAKKyAgICA2NzU5NiwgMTI3NTA0LCA0MTg4LCAxODc5LCA3MDQ2MywgOTY4LCAwLCA0Mzc0MywgMCwgODg3MywgMjI3OSwgMCwgCisgICAgOTE3ODI3LCA2NTU1NSwgMTI1NzQsIDAsIDkyNzQ5LCA5Mjc1MywgNzQ0OTAsIDEyNzA5OSwgMTE4MzgsIDk4MzkyMCwgMCwgCisgICAgMCwgNDI2ODIsIDEyNTc4LCAxMjcyMCwgMCwgNDEyMjcsIDAsIDEyMzQ2LCAxMjcxMDEsIDY0ODQ4LCA2OTk1MCwgOTE3OTUwLCAKKyAgICA3MjUxLCAwLCAxMjAzODIsIDExODg1MCwgMTE5MTQxLCAxMjg1NDYsIDY2MDE1LCA2NzMzMiwgOTU5LCA4ODg1LCAxMjU2NCwgCisgICAgNjY0NTcsIDc4ODA4LCA5NDY5LCA5NjMyLCA5MjMyMywgNzQ3NjEsIDY0MzIzLCAxMjczMzUsIDAsIDAsIDExMTMyLCAzMTAsIAorICAgIDAsIDQxMjgxLCAxMDk3NiwgMCwgNzEzMjUsIDEyODM2NCwgNzQyNjYsIDEwMDU0LCA2NDk3LCA4NTc0LCAwLCA5MDEyLCAKKyAgICAxOTk1OCwgNzQ0MjAsIDY1MDg5LCAxMzIxNSwgMTI3MzAsIDY1MTYzLCA3NDA0NCwgMzc0LCA0MzE5NSwgODE2LCAxMjAxNjEsIAorICAgIDAsIDAsIDQxOTM0LCA3NDY1LCA3NDYxNSwgOTI3NTIsIDk4MzI2OCwgNDcxNSwgNjEwMSwgNzEwODksIDQxOTM2LCAwLCAKKyAgICA0ODc5LCAwLCA2NTQ0NiwgMCwgMzA3LCAxMjcxNDcsIDk1ODUsIDUzNzQsIDk4MzI2NywgMTI4MDU5LCAwLCAxMjkxODksIAorICAgIDEyNjYxOCwgMTIwMzkwLCAxMjkxNDYsIDY1NTY3LCAxMjA2MTQsIDE5MjksIDAsIDEyMTQyLCAwLCAxMjIzNiwgNDE0MTksIAorICAgIDE5NDYxOCwgMTIwNjEwLCAxMjk4MiwgMTI4MjI4LCA1Mzc4LCA3ODc5MSwgMTI4Njc5LCA0MTQyMSwgMTk1MDc1LCA0NDYyLCAKKyAgICAwLCAxMjY1OTksIDEyODA5MiwgODIxLCAwLCAyNDk4LCA1ODAwLCAxMjAxNTcsIDY3NzU4LCAxNzYwLCAyNDIxLCA0NDY5LCAKKyAgICAyMzI0LCA4MjgsIDM2MTEsIDc4NDAwLCA3NTcsIDExODUsIDAsIDc4NzcwLCA0MzU5NywgMTA2MjgsIDc0ODA4LCAxOTQ1NzIsIAorICAgIDc5OTksIDQzOTcxLCAxMTIxNywgMCwgMTA2MzQsIDEwOTQyLCA3NzEzLCAyMzQ4LCAwLCA2NDM3NCwgNDM4MCwgMTk0NjA4LCAKKyAgICAxMTkwNDQsIDk5ODIsIDY0MzI0LCA0MTI0MCwgODYyLCA2NTYyNiwgNzg0NjIsIDE4MTAsIDM2NzMsIDUxMzcsIDE5NDYxNywgCisgICAgMCwgNzI3NywgNjU2MjIsIDY1MDY5LCA3NTY2LCA2NDY4OCwgNjcxNDMsIDE5NDU5MiwgNzgwOTIsIDcwNDIyLCAxMjgzODUsIAorICAgIDQ3NDgsIDkyMjI4LCAxMjkxODUsIDE5NDYwMSwgNDIyNjAsIDU4NzEsIDExOTA3NSwgMCwgNzQ1NzYsIDQ0MDE5LCAwLCAKKyAgICAxMjgxODksIDM5NjcsIDcxMDk4LCAxMzEzNywgODc3NSwgMTI3OTQ1LCAwLCAyOTYzLCAwLCA4NDEwLCA0NDU0LCA3MjMsIAorICAgIDEyNzg4MiwgOTY2LCA0NDQ5LCA5MjMzMCwgOTIyMzgsIDEyODQyOCwgNzgxOSwgMjMyMCwgMTk0NTg5LCAzMzksIDQ5NjgsIAorICAgIDE5NDU5MCwgMTIwMzk5LCA4MDc1LCA1NTI3NiwgMCwgODA0NywgMCwgNzg4MjcsIDEyNjM0LCA0MTU0MiwgNzg3ODAsIAorICAgIDc0NjYsIDY3MDUsIDEyMTc0LCA0MjYxMCwgMCwgNzQ0NTIsIDk4Mzc2MywgMTU4NCwgNjY2NDUsIDYwNDUsIDY3MjksIAorICAgIDEyMDY0MCwgNjUyMTgsIDExNTU5LCAwLCA3ODA2MiwgNzUzNywgMTI0OTkxLCAxMTM3MCwgMCwgMTAzMzAsIDAsIDEwMzk0LCAKKyAgICAwLCA3NDE5NCwgMCwgMTI3OTI5LCA5NzgwLCAwLCAxMTExNywgMTk0NTc2LCA3Nzk1MCwgMTk0NTc4LCA3MDc0LCA5MjY0OCwgCisgICAgMTk0NTc5LCAxOTQ1ODIsIDExNDE0LCAxMjQ5NjAsIDI1MzEsIDEzMDM0LCAwLCAwLCA0MjExLCAxMjU5LCA3NTE3LCAKKyAgICA3MDg2NiwgNzAxOTgsIDE5NDU2MSwgNDA5OTYsIDEzMDM3LCA3MDkyLCA2NDEsIDUyMTksIDk0MDM0LCAxOTQ1NjYsIAorICAgIDExMDY0LCA0MTEyOSwgMCwgNDI4NTAsIDEzMDM1LCA5MDc1LCA5MjM4NywgNTQ2NiwgMTI4MTUzLCAwLCA2NDA5OCwgCisgICAgNjU3OTMsIDQ1MzUsIDE5NDU3MywgNDI3MSwgNzg0MTcsIDEyODM1NywgNjc2OSwgNDE0MTAsIDE5NDY3NSwgNjQyNjIsIAorICAgIDY3NjcsIDQxNDA3LCA2NjI3MywgOTE3ODE2LCA2NzU1LCAxMTg4NjQsIDkwNDYsIDEyNzkzNCwgMTI2NjA4LCA3MDgzMCwgMCwgCisgICAgMCwgMCwgNjc2NzUsIDk4MzY5NCwgMCwgMCwgNjQzMzgsIDI1NjMsIDEzMDMzLCAyNDcsIDExODkxNSwgMCwgMTIzMzgsIAorICAgIDQ2NTEsIDY3MzU1LCAxMTI3MCwgMCwgNzQ2MzAsIDExOTMzLCAwLCAwLCA0MTkwMywgNDM0NDcsIDExMDAxLCA3MzgyNywgCisgICAgNDIyNTUsIDExMzc2MCwgOTI2NjEsIDY5ODIxLCA0MTkwNSwgNjczNTAsIDAsIDEwNzc1LCA5NzkzLCA1MDA5LCAxMjg3NzQsIAorICAgIDQyMjY5LCA2NDU4NywgOTgzMDYzLCA0MjUzNSwgNjk4MTIsIDY0NTI5LCA0MTQwOCwgNDI4NTMsIDM4NzcsIDEyMDc5NSwgCisgICAgNDI2NzQsIDgxNDcsIDQzNTY2LCAxMTkwMjEsIDY3MzQyLCAxMDIzNiwgNjU5MTgsIDQzNzgyLCAwLCAxMjc1NTYsIDY0NTA2LCAKKyAgICA2OTY1MiwgMTE4OTIxLCA0NzQ3LCAxMjgwNTgsIDY5ODQ0LCA0MzIwMCwgNTgzMiwgNzEyNTMsIDAsIDUxNDEsIDQyNjAwLCAKKyAgICA3MTg2NiwgNDMyMDMsIDEyNzIwOCwgMTIwMTI5LCA0MzI4NiwgMCwgMTI4MjExLCA0Mzc3OCwgNzY1NywgNDEzMDUsIAorICAgIDc4Nzc2LCA0Mzc4MSwgMTEzMDMsIDY1NTQ3LCAxMjg2MDksIDcwMzEsIDg1OSwgMTI4NDg4LCAwLCAwLCA2MDU5LCAKKyAgICAxMjY5ODUsIDU1MjM1LCAxOTQ4MTcsIDg1MzUsIDEyODYzOCwgNjUxOTYsIDEyNTA4NCwgNjYwMzIsIDExNDg4LCAxMjA0ODEsIAorICAgIDEyMDc4NiwgNDIyMzMsIDY0MTQwLCA5OTQ2LCA3NjY3LCAxOTQ3OTIsIDExODIyLCAwLCAxMTEzNSwgOTgzODk4LCAwLCAKKyAgICAxNzg4LCAxNTc5LCAxMjA0ODIsIDcxMjk4LCAwLCA5ODM0NTksIDAsIDkwMjgsIDExOTU3MSwgNjkyMzQsIDcxMDYxLCAKKyAgICAxOTQ3MzgsIDEyODUsIDY0ODgyLCA0MTI0MiwgNzAwODYsIDEyOTA0MSwgMTI2NDAsIDAsIDc0MDEsIDAsIDEyNjI1LCAKKyAgICA2ODE5OCwgMCwgNzAwODIsIDM5NDAsIDQxNTk3LCA0Mzc1NCwgMzM5NiwgMTI2NDIsIDg2NjUsIDk4MzYxMCwgOTgzNjA5LCAKKyAgICAxMjYzMCwgMTY1MywgOTE3ODE1LCAxMDE1MywgMCwgNjE2NiwgNzA4MjUsIDExODk4OSwgMCwgODgxNSwgNjY2NzMsIAorICAgIDY1MDQ2LCA5Mjg1LCA5MTMsIDQyMjU5LCAxMTE4MCwgMTE5MzE4LCAyMTQyLCA2ODQ1NCwgNDI0ODUsIDk0MDEyLCA3ODc4LCAKKyAgICA4MjExLCA0MjI5MywgNjQzNzcsIDEyMDQ3OCwgOTI2NDMsIDAsIDE5NDY3MywgMTIwMzIsIDAsIDk3MjUsIDk4MzQ4OSwgCiAgICAgNzg0MzEsIDUyNjMsIDEyODE4LCA3ODQzMCwgNDE5MzksIDEwMDIyLCA2NTM4NywgNzg0MTksIDQyNzc3LCAxMDEzOSwgOTgwLCAKLSAgICA0MzY5OCwgNjUzODYsIDIyMDgsIDAsIDQzNzAxLCA0MzE5OCwgNzE4NCwgMTIwNjczLCAxOTQ3OTcsIDkxNzgxOSwgMTAwODUsIAotICAgIDExOTk5MiwgMCwgMTE5OTkzLCA2NjM0LCA5MjM3MywgMCwgMTE5MzIzLCA4MDcyLCAxMTkzMjEsIDQzNzAwLCAwLCA4ODcyLCAKLSAgICA3NzgzLCA5MTc5OTIsIDEyMzk4LCA4MjM3LCAwLCAwLCAxMjM5NSwgMCwgMTI2OTc3LCAxMjA1NjUsIDk5MTQsIDIyMTcsIAotICAgIDkxNzg1NCwgNzM5NzUsIDYzNjcsIDYzNTEsIDY2Njg4LCAwLCA3ODEwNywgMCwgNjQ3MzUsIDQxMjQzLCA5MjE5OSwgNzgwOCwgCi0gICAgMTgyOSwgMCwgNDE5MzcsIDQzNTgsIDQzMjcyLCA2MzUzLCAwLCAwLCAxMjA0MjIsIDAsIDE3MTAsIDAsIDAsIDY1NjA3LCAwLCAKLSAgICA0OSwgNjYyNywgMCwgNjI1OCwgMTA2ODMsIDc4NjcyLCA5NzQxLCA3ODMyOSwgNTY0OSwgNzg0NDEsIDQzNDQzLCA2NDQxOCwgCi0gICAgMTY0MywgNjUyMTMsIDg0MDUsIDM0NzAsIDEyODIyNSwgMTMyMTMsIDQyNDUyLCA3ODMzMSwgMTIwNjY0LCA3ODQ0NSwgMCwgCi0gICAgMTA3MiwgNzg0NTcsIDc4NDUyLCA3ODQ1NCwgNjU3NiwgNDE5ODgsIDQxMTMyLCA2NTY3NSwgMTA4MCwgMTIwMDAyLCA5ODg2LCAKLSAgICA1NTIyNSwgMTEwMSwgNjg0MDQsIDEyMzA5LCA1NTIyNywgMCwgMTI2MzIsIDEwODYsIDE4NjksIDc4Njg1LCA3NjgwLCAwLCAKLSAgICA2NTQ1OCwgMTIwNzE0LCAxMjYzOSwgMzM4MCwgODEyMywgMTA5MSwgMTI2MzgsIDc5NzcsIDQ1MDEsIDQxMDk5LCAwLCAKLSAgICA2NjMwOSwgMCwgMCwgMTQ5NCwgOTgzMTQ2LCAxMjY2MTMsIDAsIDExNjkzLCAxMjY1MTMsIDEwNDk0LCA5MjY1NSwgNjU4NzIsIAotICAgIDEyMzYzLCAxMTM4NiwgMCwgMCwgMCwgMCwgNjQ1ODIsIDAsIDczNzk0LCAwLCA4MDIyLCAwLCAxMjA0NjIsIDc0MTA2LCAKLSAgICAxMjQxMywgOTQwNjksIDkxNzk5NCwgOTE3OTkzLCA5MTc5OTUsIDU1NzAsIDE4ODEsIDcyMTAsIDAsIDEwMTIsIDQzNzUyLCAKLSAgICAwLCAxMjA3MDksIDcyMDgsIDY2NDQyLCA1NTY5LCA5ODMyNDIsIDQyMzM5LCAwLCA2MDYzLCAwLCA3ODM4MywgMTE5NTk0LCAKLSAgICA2MDUzLCA2NTYwMiwgMCwgOTIyMDEsIDY0NzI3LCA5MTYwLCAxOTQ4MjcsIDAsIDAsIDkyMTgwLCAxMDUwMywgMTE4ODEwLCAKLSAgICA2MDU1LCAzODcwLCA0Mjc5LCA4NDkwLCAxMjAxMTQsIDQzMTksIDY0Nzg2LCA4NjAyLCAxMjAxMTAsIDExMzI2LCA5MjIwNCwgCi0gICAgOTgzMTE2LCAwLCAxMjAxMTksIDc4MzMzLCAxMjAxMTcsIDEyMDExOCwgMTIwMDk5LCAxMjAxMDAsIDY1MDg3LCA1NTcxLCAKLSAgICAzNjc0LCA5NzQwLCA5MTIxLCA1NTY4LCAxMjAxMDcsIDEyMDEwOCwgNDIwODUsIDEwMTA3LCA0MjE1OSwgNDI4NzAsIAotICAgIDEyMDEwMSwgNTg5LCA3MDUwLCA5ODM4MDAsIDQzMjgxLCAxMDIzMywgNDEyNjMsIDY2MjUxLCA2NTcyOSwgNjYyNTMsIAotICAgIDEyNjQ5NywgNzQwOTksIDQyNjQ1LCAwLCAxOTQ4MTUsIDg1ODMsIDAsIDU4NDcsIDY5MjgsIDEyODA3NCwgMCwgMCwgMCwgMCwgCi0gICAgNjY1OTIsIDEyMjA0LCA5MTc5NjIsIDE5OTY2LCA3Nzg1NiwgNDI1NjEsIDEyMDYyNiwgOTgzMjUxLCAwLCA4MTIwLCAKLSAgICAxMjA3MDEsIDAsIDAsIDEyODAxMiwgNDEwNjMsIDAsIDEwNjY0LCAwLCA4MzY5LCAwLCA0NTUxLCAxOTQ5NjQsIDMzNjksIDAsIAotICAgIDAsIDk2NzMsIDY2MzM0LCA2NTU4MCwgMTA0NzgsIDExODk2MCwgMTI1MTcsIDU1NywgOTQ1NywgMTIwMzQsIDk4MzY3MSwgCi0gICAgNjM1NSwgMTI1MTksIDQxMDA0LCAwLCAxOTUwMjUsIDc0MDk0LCAwLCAwLCA3Nzk3MCwgOTgzNTYwLCAwLCAxMjgxNzUsIAotICAgIDEyMTExLCAzOTI3LCAwLCAxMjUxNSwgMTQ3NCwgNjc4OTMsIDU0OTIsIDY5MjMsIDkyMjgxLCAxMDQ0MSwgNzM4MzYsIDAsIAotICAgIDQzOTkwLCA1NDkzLCAwLCA3NDMxOSwgMCwgNjY2MzUsIDEyMDE5LCAwLCAxNjE4LCAwLCAxMjA0NzQsIDk2NDUsIDEwNDMwLCAKLSAgICA5MTc5NTksIDU4NTMsIDEzMDYzLCAxMDM2MywgMCwgMTI5NTYsIDEyODE2OSwgMTIwNzI5LCAxMTMxNCwgOTE3NTgyLCAKLSAgICAxMjA2MCwgMCwgNzgzOTIsIDEyODI2LCA2MzI5LCAwLCAxMDUxNCwgNjU1MTcsIDc0Mzk1LCAyNzA3LCA4MzA5LCAwLCAKLSAgICAxMjcwNTQsIDc4Mzk4LCA0MzU3MCwgMjY5NywgNDM0MjAsIDc4Mzk2LCAxMjcwNTcsIDI2OTUsIDQyMTcxLCAwLCAwLCAwLCAKLSAgICA2NzYxNywgMTE4OTcxLCAwLCAyNjkzLCAxMjEyNSwgMTI3NjYsIDAsIDExNjQsIDEyODgxNywgMCwgNDE5MTgsIDk4MzE2OCwgCi0gICAgMTI3NTQyLCA4Njg3LCA2NjAwOSwgMTIxNzgsIDcwNTMsIDEyODAwMSwgNzQ2OSwgMCwgNTI0OCwgMTIyMTgsIDEyMDUzOCwgCi0gICAgNjQyNywgNDI4ODQsIDQxMTIzLCAwLCAwLCA0Mjg3MywgNDExMjYsIDk5OTEsIDQxMTI4LCA3NDM3MSwgMTI3MDMxLCAwLCAKLSAgICA5ODczLCAwLCA0Mjg3NywgNzk5NCwgNjQ3NjIsIDIwNTMsIDQyODQzLCA2NTkxLCA5MzQwLCAwLCAxNTg5LCAwLCAyOTYsIAotICAgIDc0NDM4LCA3ODg1MiwgMCwgNjc4NDEsIDc0MzcwLCAwLCA4OTIyLCAxMjgwNjgsIDc0NjAwLCAxMjcwMCwgNzQ4MzYsIDAsIAotICAgIDEyNTc5LCAwLCAxMjU3NSwgNjQxNiwgNTY1NiwgMjg5MSwgMTMyNjIsIDY1NTkwLCA1Mjk5LCAwLCAxMTQ3MywgNTQ0OSwgCi0gICAgMTI1MiwgMCwgNzg0MDQsIDQxNDMxLCA3NDM2OSwgNjUzNzMsIDUyOTUsIDkxNzU2OSwgNzQxMTQsIDEyMjMsIDE2NDIsIAotICAgIDE3NCwgNzgzOTksIDg4MywgNDE2MSwgMTI2OTEsIDQyNjAzLCA0MTQxMywgMzIxMiwgNDE0NTksIDMyMTEsIDc0ODEwLCAKLSAgICA0MTQyNSwgMTI3MDI5LCA3ODQxMiwgNzQ0NTAsIDk3MjgsIDM4NDYsIDgwNzAsIDYxNTAsIDY2MzYsIDQzNzAsIDAsIDAsIAotICAgIDc0MTc4LCA3NDU4NywgNzQxMTcsIDAsIDAsIDAsIDQ5ODYsIDEyMTg5LCAwLCA2NzY0OCwgMTIwNDk5LCA5NDAwMSwgNDI1NywgCi0gICAgMTIxMDQsIDc3OTQyLCA2MjIwLCA5MDA0LCA2NTU2MSwgMCwgNzc5NDksIDAsIDY4MTM1LCA5MTc1NzYsIDc3OTQ2LCAwLCAKLSAgICA2OTY3OSwgNjk2ODQsIDk4OTAsIDc4NTYxLCAxMjk3MSwgNzg0NTMsIDkyNTU2LCA3Mzg5OCwgMTE5NzksIDcwMDUxLCAKLSAgICAxMTg5MDAsIDkxNzg5NCwgMCwgOTYzNSwgMTI2MDAsIDg4NzEsIDAsIDAsIDAsIDY0NjksIDc0MjI3LCAwLCA2NTMwNCwgCi0gICAgNDY3OSwgMTAyMzAsIDY0MzAwLCA2NDg2NywgMzQyNywgNDI0MCwgMCwgMCwgMCwgMCwgNDI5MTYsIDAsIDAsIDAsIDcyODIsIAotICAgIDc4NzI4LCA2NTczMywgNDQ0NSwgMTI3MTM4LCAxMjgwODIsIDM0OTQsIDc0NjA2LCA2NTU1LCAwLCA3Nzk3NiwgMCwgMCwgCi0gICAgNzg1NjYsIDAsIDk4MzE4OSwgNjU4OTgsIDk4MzI0NCwgNjUzMTIsIDU0NDcsIDAsIDEyODk1LCA2NTU5MywgNDAxMCwgMCwgCi0gICAgNDExMDYsIDAsIDY0NDQ4LCAwLCA0MTEwNSwgMCwgNjU4MjAsIDYyMzIsIDAsIDEyODI4MCwgMCwgNDM2MDgsIDExOTA5MSwgCi0gICAgMCwgNjUzOCwgNDMzNSwgNzgzNjQsIDM5NDEsIDQxMTIyLCAxMTA2MSwgNzgzNjMsIDY0ODkyLCA5MTEzLCAxOTU0LCAKLSAgICAxMjE1NSwgOTgzNjc0LCA0Mjg3OCwgMTE1MDAsIDAsIDAsIDc0NTc4LCAwLCA2NTgzMiwgMCwgMCwgMCwgNzc5NzUsIAotICAgIDExOTIzMCwgNDU4NiwgMCwgMzUwLCAxMDk1MSwgMCwgNTA5LCAwLCAwLCA5MjMwNywgMCwgMCwgNTEzMywgMCwgMCwgOTUwMCwgCi0gICAgMCwgNDk1NywgNjQ3NDEsIDI0MjIsIDIyMTIsIDk4MzA4MCwgMCwgMCwgMjQ5NiwgMTE1MTYsIDk0NCwgMTE4ODUxLCAzODkwLCAKLSAgICAxMjE2OCwgMTQzOCwgMCwgOTgzMTE3LCAwLCA0MTk0NywgMTIyMCwgMTIwODI4LCAxMjg1NTUsIDAsIDAsIDE1NzEsIAotICAgIDQyNjMwLCA0MTk0OSwgNDI4MDUsIDgyNzAsIDk0MywgNTY0LCAwLCAzMTIsIDQxOTgwLCA5ODM5NDQsIDAsIDc4MTIwLCAKLSAgICA4ODc3LCAyNjksIDQ0MjksIDYyNzIsIDk2MTcsIDE0NjAsIDY5NTQsIDc4NjU3LCA0MTEyMCwgNjUxMjEsIDEwODYyLCAKLSAgICA2MDYwLCA0MTExOSwgNDE0MTYsIDc0MzU1LCA0MTczLCAwLCAwLCAwLCAxOTA2LCA5MTc5ODYsIDExNTMyLCA3NDA3MywgCi0gICAgMTI3MzM4LCAwLCAxOTg1LCA2Mjk2LCA5NTgyLCA5MTc4OTUsIDY0Mjg3LCAwLCA3ODExNSwgMTE0MjgsIDE3MzAsIDI0NTcsIAotICAgIDkxNzgwOCwgMTk5MTgsIDEwNDY5LCAwLCAwLCA3NzAzLCA4ODQwLCA4MDM1LCAwLCAwLCA5MjIzMCwgMCwgNjEyOSwgMCwgCi0gICAgMTI4NTI4LCAxMjgyNjgsIDAsIDc4NzQsIDg2ODEsIDExOTA5MiwgMCwgMTMxMzYsIDAsIDAsIDcwMTAyLCA2Mzg4NiwgCi0gICAgMTE4ODgxLCA5NjA1LCA3MTMwOCwgMTMyMjAsIDEyODc3NiwgMTIwMjc0LCA1NTE0LCAwLCA5MjI4LCAwLCAwLCAwLCA1MjQwLCAKLSAgICA5ODExLCAxMDAxMiwgMzA5NiwgMCwgMCwgOTgzMzUxLCA2NjY3NiwgNjU4NzMsIDAsIDAsIDAsIDk1MDEsIDAsIDEyNzIsIAotICAgIDY0NTM2LCA2NTQ2NSwgNjQ2NTQsIDc0NjcsIDAsIDE0NjcsIDEwMTU4LCAxMDA0MCwgMCwgOTUxOSwgMCwgOTE3ODEyLCAwLCAKLSAgICAxMTg4OTksIDEyMTkzLCAwLCAwLCAwLCAwLCA5ODMzNTMsIDE5OTM1LCAwLCA5MjE2MiwgNjk2NzYsIDAsIDAsIDAsIDUyNzUsIAotICAgIDAsIDAsIDg2MzcsIDAsIDAsIDM3ODksIDYzODgwLCAxMTQ3MSwgNDM1NTQsIDY1ODYyLCAxMTQ3NCwgNjYzMzIsIDY2NjAzLCAKLSAgICAxMjgxMzgsIDI0MjYsIDEyMDQyLCA5MjE5NCwgOTgzOTExLCA5NTM3LCAzOTYxLCAxMjExNSwgNzc5NTMsIDI2MDUsIDQ1MDAsIAotICAgIDY0NTYxLCA1NTIyNCwgNDk4MSwgMCwgMCwgNjM4NzYsIDExNjY3LCA0MjY4NiwgNzc5NzMsIDQyMzYyLCA2NDY4NiwgNDQ5OSwgCi0gICAgNDE2NDksIDc1ODksIDAsIDAsIDMyMzcsIDAsIDY4MjE1LCA5MTc5MDQsIDg1NDEsIDc4Mjk4LCA3MDAzNCwgNDE4NjYsIDAsIAotICAgIDAsIDAsIDAsIDY5OTI0LCA0MzU1NSwgMjgyMywgOTU1OSwgMTAwNjAsIDQxOTQwLCA4Mjk5LCA0MTk0NSwgNzEzMiwgCi0gICAgNDE5NDEsIDMzMDgsIDcxOTAsIDY0ODgwLCA4NjE0LCA2NTIyMCwgNDE0OTMsIDAsIDQxNjk5LCAxMDc2MiwgNDM3ODAsIAotICAgIDEyOTk5LCAwLCAwLCA4MTA2LCA0MTI4LCAwLCA2Mjc0LCA0NDk0LCAwLCA0MDEyLCAxMDM5NSwgOTgzNTkxLCA0MzYzMywgCi0gICAgNjU0NDcsIDEyNjUxMSwgMCwgMTEwMDQsIDY5NSwgNzM5LCA2OTYsIDc2MTEsIDAsIDQyNzU1LCA3NDgwMiwgOTIyNywgCi0gICAgNzUwNiwgNzUxMCwgNjk5MzcsIDY5MSwgNzM4LCA3NTExLCA3NTEyLCA3NTE1LCAzODY4LCA2ODgsIDQxODQ3LCA2OTAsIAotICAgIDI1NDgsIDczNywgOTc0LCA4MDAzLCA3NDA2LCA5MTc5MTEsIDAsIDEyODY4OCwgMzk4NSwgOTE3OTEyLCA2NTg2MCwgCi0gICAgNjM5MjEsIDcwNTEsIDY5Nzc3LCA0NjgyLCA5MTc4MDUsIDEyODA5LCA2NDA2LCA0Njg1LCA5MjUwNSwgMTA4NzksIDEwMzQ3LCAKLSAgICA0NjgwLCA2MzQxLCAwLCAzODUxLCA4MTMyLCA3NDMyNSwgMCwgOTE3OTA3LCAwLCA0MTk1OCwgMTE5MTc2LCA5MTc5MDgsIDAsIAotICAgIDAsIDQyNjU3LCA5MjQ2OCwgNzY0MywgNDIzNzMsIDExNzE0LCA2NzU4NywgNDM1NjgsIDk4MzE3NSwgMTE3MTcsIDc2NTAsIAotICAgIDEwNTk0LCA2NDk1MSwgNzY0NywgNzY0OSwgMTI4MTU1LCA3NjQ2LCAwLCA3ODA4MiwgOTY1MSwgMCwgMzg5MSwgMCwgMCwgCi0gICAgMjMzNywgMTczNSwgNzQzMjQsIDY3ODYwLCAyMzYzLCA5ODMxMzUsIDAsIDQzNTYxLCAwLCAwLCA3NDE0NiwgMTg2MCwgCi0gICAgNzQ5NSwgNzU4MCwgNTgxMiwgNzQ5NywgNzU4NCwgMTE5MTQwLCAxMjc4NTMsIDAsIDEyMDM0NywgNzcyNywgMCwgODQ5OCwgCi0gICAgNjk4MTgsIDg5NDksIDMwNjUsIDQyNzE5LCA3MTM1LCAxNTY5LCA5MjM3NSwgMTI1MzQsIDEyMTI0LCA3NjkwLCAwLCAKLSAgICAxMjUzMywgOTgzODc5LCA2NDE4LCA0NTQzLCA3ODA4NiwgNjk2OSwgMCwgNzQ4MDAsIDAsIDY3OTc0LCAxMTk4MCwgCi0gICAgMTI4NjUwLCA5ODM4MDEsIDYzODk0LCAxMjA3NjAsIDEyMjgyLCA2NjE5MiwgMCwgNzQ1OTIsIDg4NTAsIDc0Mjc1LCA5MjM4LCAKLSAgICAxMDYxNywgOTE3NTQ1LCAwLCA5MjYyNSwgMCwgMTI3OTEsIDAsIDAsIDEyNzg0MywgNDQ0NywgNzM3MzIsIDEyNzkzLCAKLSAgICAxMjkwMCwgOTIzNzcsIDEwOTUwLCAwLCA3ODA4NywgMTI3OTAsIDQxNDAwLCAxMTkxMjgsIDY2NjA3LCAxMjc5MiwgNDIyMzIsIAotICAgIDE5NDkzOCwgMTc0NCwgMTI3ODksIDEwMzY2LCAxMjMxNywgNDEzMTAsIDk4Mzg2OSwgNDEzOTksIDAsIDAsIDU1MjU4LCAwLCAKLSAgICAxMjY5MCwgMCwgMCwgNDM2NzIsIDEyNzg0MCwgNDE2NTIsIDI5NzQsIDkwMTAsIDExMzE1LCAwLCAyNzgsIDAsIDQxNDA1LCAKLSAgICAxMTkyNTQsIDAsIDEwMDc3LCA2Mzg1MywgNzQ1NTcsIDQyNTg2LCAwLCAwLCA2MDAyLCAwLCA0MzU1MywgMCwgNjc5MDMsIDAsIAotICAgIDEyNzg3LCA0MTMwOCwgNzkzNCwgNjUzMDYsIDAsIDAsIDAsIDg2NDYsIDk4MzE4NiwgNzc4MjksIDcxMzYwLCAwLCA2NDEzLCAKLSAgICA2NTUwLCAwLCAxOTQwLCAwLCA0MzYzNywgMjIwLCA2NTE5MywgNDM1NTEsIDEwNjc4LCAxMDA0NCwgMTI4MzIyLCAwLCAwLCAKLSAgICA2ODY1OSwgNjQwMywgNTcwNywgMTAzOTMsIDEyNzUzMiwgMCwgNjY2MTQsIDAsIDAsIDAsIDEwMjk3LCAwLCAzNzQyLCAwLCAKLSAgICAzOTU5LCAwLCAwLCAwLCAyNDY3LCAwLCA2MDAzLCA2Mzg0NCwgNjY2MywgODA0MCwgMCwgNDM3NTgsIDQxODIsIDc4MTcxLCAKLSAgICA0Njc2LCAxMjA1MDEsIDAsIDAsIDI1MTAsIDAsIDEwMjA4LCA3ODE2OCwgOTIzNjEsIDExNTQwLCA0MzU0NiwgNjY5MiwgMCwgCi0gICAgNDEwNjAsIDAsIDQ2NjgsIDkwODMsIDAsIDAsIDc4MTQ0LCAxNTU5LCA2MzgzMSwgOTY3NywgMTIwMjYwLCAwLCA2NTI1NiwgCi0gICAgMCwgNzQwNzAsIDAsIDAsIDM2NSwgMTIwNTYsIDQzMDI3LCAxMjA0MjMsIDQxNzE2LCAxMjgyMzYsIDAsIDEyMDQ3MiwgCi0gICAgNTUxNiwgMjg0NSwgNzcxNywgODAzNiwgNDE3MTcsIDczODI3LCA1NDQsIDEyMDQ1LCA2Mjc4LCAwLCA1NTE1LCAwLCAwLCAKLSAgICA5ODMwNTEsIDY1MzM5LCA0MzIyMSwgMjIxMSwgMCwgNTUxNywgMCwgMCwgNzQ4NDEsIDY3ODg0LCAwLCA2Nzg5MCwgNjc4ODUsIAotICAgIDY3ODgwLCA2Nzg4MSwgNjc4ODIsIDY3ODgzLCAwLCAwLCA2Nzg3OSwgMTI3MTg4LCAxOTAyLCA2Nzg4NywgOTYzOCwgCi0gICAgMTI5NzYsIDEyNjU0NiwgMTI0ODMsIDEyMzY4LCA0MTc2OSwgNDI3MjYsIDQxNzY1LCA3MzYxLCA2NjY3LCA2Nzg3NCwgCi0gICAgNzU1NiwgNjc4NzgsIDc0MzUxLCAxMTI2NCwgOTg5LCA0MjY3NywgNjc4ODksIDAsIDEzMTEsIDkxNzk2NiwgNDMyNiwgCi0gICAgMTEwMDAsIDYzODI0LCAxMzA2OCwgMTA5MzIsIDEyODg4MCwgNjkxNywgNzgxNTUsIDAsIDk0OSwgNzgxNjIsIDAsIDYxNDgsIAotICAgIDg2MDUsIDQyMjUzLCA3ODE3NywgMCwgMCwgNDI3MTUsIDAsIDAsIDAsIDYzODcxLCAwLCA0MTc5NiwgMTI2OSwgNjUzMCwgMCwgCi0gICAgNjUwNTcsIDAsIDUxNDQsIDEyMjIxLCA0MjcxNiwgMCwgNDQzMSwgNDMzMSwgOTgzNzI5LCAxMjg2NzUsIDQxODM0LCA1Mjc5LCAKLSAgICAwLCAxMDMzNiwgODMxMiwgMCwgNDI3MDEsIDEyODgyNSwgMCwgNzgxNjUsIDY2MDM2LCAwLCAwLCA2NDI4LCA0MjI3MCwgMCwgCi0gICAgOTgzNTk2LCA0MzA1OSwgNDI2NjYsIDUyNTYsIDEwNjcsIDI1NSwgMTIxMzEsIDk4MzcyMiwgOTQ5MywgOTgzOTY4LCAKLSAgICA0MTAxNCwgMTE3OTMsIDE5NDkyMCwgMCwgNzQzOTQsIDQzNDYwLCAxMDY1MywgNDI3MjMsIDk4Mzg1NCwgMTE5NjMyLCAwLCAKLSAgICA2NTYwLCA3MDE2LCA3NDI3NCwgOTgzNjE1LCA0MzU1NiwgMzkyOSwgNjc5NzcsIDY2MTQsIDI3NjgsIDkyNTA0LCA5NzQ2LCAKLSAgICA1MTM1LCAxMTgxMSwgMTI3OTYsIDExOTUzLCAwLCA2OTc2MSwgNTEzOSwgMzQ2LCA3NDMwMywgNjMwNSwgMTI3OTUsIDQ2NzUsIAotICAgIDUxNjgsIDc4NTUyLCAxMjc3NTMsIDc0MzE1LCA3NDM2MSwgODI1MywgODgxNywgMTEzNiwgMCwgNDM1NjMsIDkyMjMyLCAwLCAKLSAgICAxOTQ3NTAsIDczOTIsIDgyMzAsIDkzNjUsIDAsIDAsIDk4MzYwNywgMCwgMCwgNDA0MSwgMCwgMjM1NywgNDMyNDAsIAotICAgIDEyNzg2LCAyMjksIDExOTg4NSwgMTE5ODg0LCA0NDAwNCwgNzE0MiwgMTE5ODgxLCAxMjM1MCwgNjU1NTQsIDExOTg4MiwgCi0gICAgMTE5ODc3LCAxMTk4NzYsIDEyNzg1LCA2Mzg2MywgNDM3OTUsIDc3NzAsIDEwNzEyLCA2NDg1MywgMTI2ODYsIDExODkxNiwgCi0gICAgNDIzNzUsIDAsIDEyNzIzOCwgNjYzNTIsIDEwNDcwLCAwLCAxMTA1OSwgMTA3OTEsIDkxNzk0NCwgNDUwLCAxMTkzMjgsIDAsIAotICAgIDEwNDMyLCAxMjA5NywgNTQ1MCwgNjQ2OTEsIDEyMzMsIDAsIDQ0MDA5LCA3ODI4NCwgNjYzMzgsIDAsIDAsIDE4MzksIAotICAgIDExODc5OSwgOTgzMjE5LCAxMDkyNywgMTcwMSwgOTgzNjY0LCAyMzg4LCA0MTc0OSwgNDE3NjEsIDU0NTMsIDgzNjEsIAotICAgIDExOTg2NSwgNDE3NTgsIDU0NDQsIDQxNzYzLCA2NDg4OSwgNzE0MywgOTI0OTMsIDc4Njc3LCAwLCA5MjQyOSwgNzgxNzQsIAotICAgIDY2NDMyLCA4ODAxLCAzMDUzLCA0MzQwLCA5ODMwNDQsIDAsIDY1ODEyLCA5MTc4MzEsIDAsIDQxODI0LCA2Nzk4NSwgCi0gICAgMTIwMjAzLCAxOTQ4MDAsIDE5NDgwMywgNDI3MDAsIDE5NDgwNSwgMTI3OTgwLCAxOTQ4MDcsIDc4Njc2LCA5MjM1NiwgCi0gICAgMTk0ODA4LCAwLCAwLCA0NDkzLCA0MzM2LCAwLCAyMzE0LCA0MzYwMiwgNzg4MjYsIDExOTMyNSwgMTk0ODExLCA0MjQzOSwgCi0gICAgNjQ2MzgsIDQyMzI3LCA0MzUyOCwgNDQ4OSwgNzEzMzEsIDAsIDE5NDc5MywgMTkxMiwgNDIzODUsIDEwMzA2LCAxMDM3MCwgCi0gICAgMCwgMCwgODg2NywgMTAyNTAsIDEwMjU4LCAyNzEyLCAxNjM1LCA3ODgyMSwgMTQxMCwgOTI2NzEsIDk4MzI1MCwgMTE4ODc4LCAKLSAgICAwLCAwLCA5OTE5LCAxMjA1MjgsIDU1OSwgMTI4MTU3LCA0MTgyNSwgMTI3OTc1LCA3ODE4OCwgNDg5MiwgNzQwMTYsIAotICAgIDE5NDc4MSwgNjU0MiwgNDE5NTcsIDEyODg2NSwgNTc3NywgMCwgNzU5LCA2NTc0OSwgMjA3OSwgNjUyNDgsIDEyNzg4LCAKLSAgICA2NDQ4NywgNjQ1NTIsIDAsIDEwMjIzLCA0MjA2MiwgMCwgMCwgMTI2NTczLCAzNjY4LCA2NTc1NCwgNDM1NjAsIDEyMjI2LCAKLSAgICA2Nzk5MSwgNjUxNDksIDIzNDAsIDQxOTU5LCAxOTQ3ODYsIDE5NDc4NSwgMTk0Nzg4LCA0MzYxOCwgNjU3NDcsIDEwOTM3LCAKLSAgICAyOTYyLCAwLCAyMzIxLCAzNTg3LCA2NTc0NSwgOTI0MzYsIDg5MjEsIDk5NTIsIDAsIDAsIDQyNzE0LCA5OTUxLCA0MzQwOSwgCisgICAgNDM2OTgsIDY1Mzg2LCAyMjA4LCA5ODM0NTQsIDQzNzAxLCA0MzE5OCwgNzE4NCwgOTI1NDIsIDEyODQyMywgMTI4ODc1LCAKKyAgICAxMDA4NSwgMTEzODEyLCAwLCA2NzM5NCwgNjYzNCwgOTIzNzMsIDEyNTA4NSwgMTE5MzIzLCA4MDcyLCAxMTkzMjEsIAorICAgIDQzNzAwLCAwLCA4ODcyLCA3NzgzLCA5MTc5OTEsIDEyMzk4LCA4MjM3LCAwLCAwLCAxMjM5NSwgMCwgMTI2OTc3LCAKKyAgICAxMjA1NjUsIDk5MTQsIDIyMTcsIDE5NDU4NiwgNzM5NzUsIDYzNjcsIDYzNTEsIDY2Njg4LCA5Mjc0MCwgNzgxMDcsIDAsIAorICAgIDY0NzM1LCA0MTI0MywgOTIxOTksIDc4MDgsIDE4MjksIDAsIDQxOTM3LCA0MzU4LCA0MzI3MiwgNjM1MywgMCwgMCwgCisgICAgMTIwNDIyLCA5MzA0NSwgMTcxMCwgMTIwMTQwLCAwLCA2NTYwNywgNjcyMzQsIDQ5LCA2NjI3LCAwLCA2MjU4LCAxMDY4MywgCisgICAgNzg2NzIsIDk3NDEsIDc4MzI5LCA1NjQ5LCA3ODQ0MSwgNDM0NDMsIDY0NDE4LCAxNjQzLCA2NTIxMywgODQwNSwgMzQ3MCwgCisgICAgNjcyNDQsIDEzMjEzLCA0MjQ1MiwgNzgzMzEsIDEyMDY2NCwgNzg0NDUsIDEyNTEyNCwgMTA3MiwgNzg0NTcsIDc4NDUyLCAKKyAgICA3ODQ1NCwgNjU3NiwgNDE5ODgsIDQxMTMyLCA2NTY3NSwgMTA4MCwgNzA4MjQsIDk4ODYsIDU1MjI1LCAxMTAxLCA2ODQwNCwgCisgICAgMTIzMDksIDU1MjI3LCA3MTA4MiwgMTI2MzIsIDEwODYsIDE4NjksIDc4Njg1LCA3NjgwLCAwLCA2NTQ1OCwgMTIwNzE0LCAKKyAgICAxMjYzOSwgMzM4MCwgODEyMywgMTA5MSwgMTI2MzgsIDc5NzcsIDQ1MDEsIDQxMDk5LCAwLCA2NjMwOSwgMTIwMTQxLCAKKyAgICA5Mjc1OCwgMTQ5NCwgMTEzNzE2LCAxMjY2MTMsIDAsIDExNjkzLCA3MTI1NSwgMTA0OTQsIDkyNjU1LCA2NTg3MiwgMTIzNjMsIAorICAgIDExMzg2LCAxMTM3MjcsIDAsIDAsIDAsIDY0NTgyLCAwLCA3Mzc5NCwgNjczOTUsIDgwMjIsIDAsIDEyMDQ2MiwgNzQxMDYsIAorICAgIDEyNDEzLCA2Njg4MywgOTE3OTk0LCA5MzAzNSwgOTE3OTk1LCA1NTcwLCAxODgxLCA3MjEwLCAxMjA0MjUsIDEwMTIsIAorICAgIDQzNzUyLCAwLCAxMjA3MDksIDcyMDgsIDY2NDQyLCA1NTY5LCA5ODMyNDIsIDQyMzM5LCA5Mjk5NywgNjA2MywgNjc4ODgsIAorICAgIDY5OTgxLCAxMTk1OTQsIDYwNTMsIDY1NjAyLCAwLCA5MjIwMSwgNjQ3MjcsIDkxNjAsIDEyODM5NywgMCwgOTI5MDUsIAorICAgIDkyMTgwLCAxMDUwMywgNzAzODcsIDYwNTUsIDM4NzAsIDQyNzksIDg0OTAsIDEyMDExNCwgNDMxOSwgNjQ3ODYsIDg2MDIsIAorICAgIDEyMDExMCwgMTEzMjYsIDkyMjA0LCA5ODMxMTYsIDAsIDEyMDExOSwgNzgzMzMsIDEyMDExNywgMTIwMTE4LCAxMjAwOTksIAorICAgIDkyMzg1LCA2NTA4NywgNTU3MSwgMzY3NCwgOTc0MCwgOTEyMSwgNTU2OCwgMTIwMTA3LCAxMjAxMDgsIDQyMDg1LCAxMDEwNywgCisgICAgNDIxNTksIDQyODcwLCAxMTM3MDAsIDU4OSwgNzA1MCwgOTgzODAwLCA0MzI4MSwgMTAyMzMsIDQxMjYzLCA2NjI1MSwgCisgICAgNjU3MjksIDY2MjUzLCAxMjY0OTcsIDc0MDk5LCA0MjY0NSwgMCwgMTI4NDI0LCA4NTgzLCAwLCA1ODQ3LCA2OTI4LCAKKyAgICAxMjgwNzQsIDAsIDAsIDAsIDAsIDY2NTkyLCAxMjIwNCwgOTE3OTYyLCAxOTk2NiwgNzc4NTYsIDQyNTYxLCAxMjA2MjYsIAorICAgIDEyOTE3MCwgNjY4NTQsIDgxMjAsIDEyMDcwMSwgMCwgMCwgMTI4MDEyLCA0MTA2MywgMCwgMTA2NjQsIDAsIDgzNjksIDAsIAorICAgIDQ1NTEsIDE5NDk2NCwgMzM2OSwgOTgzNzM5LCAxMjkwMjYsIDk2NzMsIDY2MzM0LCA2NTU4MCwgMTA0NzgsIDExODk2MCwgCisgICAgMTI1MTcsIDU1NywgOTQ1NywgMTIwMzQsIDY4NDk2LCA2MzU1LCAxMjUxOSwgNDEwMDQsIDAsIDE5NTAyNSwgNzQwOTQsIDAsIAorICAgIDAsIDc3OTcwLCA5MjE3MSwgMTI3MjE5LCAxMjgxNzUsIDEyMTExLCAzOTI3LCAwLCAxMjUxNSwgMTQ3NCwgNjc4OTMsIAorICAgIDU0OTIsIDY5MjMsIDkyMjgxLCAxMDQ0MSwgNzM4MzYsIDAsIDQzOTkwLCA1NDkzLCAwLCA3NDMxOSwgMCwgNjY2MzUsIAorICAgIDEyMDE5LCAwLCAxNjE4LCAwLCAxMjA0NzQsIDk2NDUsIDEwNDMwLCAxMjY2MzYsIDU4NTMsIDEzMDYzLCAxMDM2MywgMCwgCisgICAgMTI5NTYsIDExMzY2NiwgMTIwNzI5LCAxMTMxNCwgOTE3NTgyLCAxMjA2MCwgMCwgNzgzOTIsIDEyODI2LCA2MzI5LCAwLCAKKyAgICAxMDUxNCwgNjU1MTcsIDc0Mzk1LCAyNzA3LCA4MzA5LCAwLCAxMjcwNTQsIDc4Mzk4LCA0MzU3MCwgMjY5NywgNDM0MjAsIAorICAgIDc4Mzk2LCAxMjcwNTcsIDI2OTUsIDQyMTcxLCA3MDgwOSwgNjgzMzQsIDAsIDY3NjE3LCAxMTg5NzEsIDAsIDI2OTMsIAorICAgIDEyMTI1LCAxMjc2NiwgMCwgMTE2NCwgMTEzNzI5LCAwLCA0MTkxOCwgNzc4NDksIDY3MTUwLCA4Njg3LCA2NjAwOSwgCisgICAgMTIxNzgsIDcwNTMsIDEyODAwMSwgNzQ2OSwgMCwgNTI0OCwgMTIyMTgsIDY5OTg4LCA2NDI3LCA0Mjg4NCwgNDExMjMsIAorICAgIDExMTc2LCAwLCA0Mjg3MywgNDExMjYsIDk5OTEsIDQxMTI4LCA3NDM3MSwgMTI3MDMxLCAwLCA5ODczLCAwLCA0Mjg3NywgCisgICAgNzk5NCwgNjQ3NjIsIDIwNTMsIDQyODQzLCA2NTkxLCA5MzQwLCAwLCAxNTg5LCAxMjg2OTEsIDI5NiwgNjc3MTIsIDc4ODUyLCAKKyAgICAwLCA2Nzg0MSwgNzQzNzAsIDEyODUwNCwgODkyMiwgMTI4MDY4LCA0MzgyOSwgMTI3MDAsIDc0ODM2LCAwLCAxMjU3OSwgMCwgCisgICAgMTI1NzUsIDY0MTYsIDU2NTYsIDI4OTEsIDEzMjYyLCA2NTU5MCwgNTI5OSwgMCwgMTE0NzMsIDU0NDksIDEyNTIsIDAsIAorICAgIDc4NDA0LCA0MTQzMSwgNzQzNjksIDY1MzczLCA1Mjk1LCA5MTc1NjksIDY4MzIwLCAxMjIzLCAxNjQyLCAxNzQsIDc4Mzk5LCAKKyAgICA4ODMsIDQxNjEsIDEyNjkxLCA0MjYwMywgNDE0MTMsIDMyMTIsIDQxNDU5LCAzMjExLCA3NDgxMCwgNDE0MjUsIDc0NTk4LCAKKyAgICA3ODQxMiwgNzQ0NTAsIDk3MjgsIDM4NDYsIDgwNzAsIDYxNTAsIDY2MzYsIDQzNzAsIDAsIDAsIDc0MTc4LCA3NDU4NywgCisgICAgNzQxMTcsIDE5NTA5NCwgMCwgMCwgNDk4NiwgMTIxODksIDEyNzUxMiwgNjc2NDgsIDEyMDQ5OSwgOTQwMDEsIDQyNTcsIAorICAgIDEyMTA0LCA3MTE3NiwgNjIyMCwgOTAwNCwgNjU1NjEsIDk4Mzg4MSwgNzc5NDksIDAsIDY4MTM1LCA5MTc1NzYsIDc3OTQ2LCAKKyAgICAwLCA2OTY3OSwgNjk2ODQsIDk4OTAsIDc4NTYxLCAxMjk3MSwgNzg0NTMsIDkyNTU2LCA3Mzg5OCwgMTE5NzksIDcwMDUxLCAKKyAgICA3MTg5NywgMTE5NTUyLCAwLCA5NjM1LCAxMjYwMCwgODg3MSwgNjczNjYsIDY4NDkxLCAwLCA2NDY5LCA3NDIyNywgCisgICAgMTE4OTAwLCA2NTMwNCwgNDY3OSwgMTAyMzAsIDY0MzAwLCA2NDg2NywgMzQyNywgNDI0MCwgNjczNzYsIDY3Mzc1LCAKKyAgICA2NzM3NCwgNjczNzMsIDQyOTE2LCAxMjkxNTUsIDEyODI3OSwgNjczNzcsIDcyODIsIDc4NzI4LCA2NTczMywgNDQ0NSwgCisgICAgNjczNzIsIDY3MzcxLCAzNDk0LCA2NzM2OSwgNjU1NSwgMTI5MTQ4LCA3Nzk3NiwgMCwgMCwgNzg1NjYsIDAsIDk4MzE4OSwgCisgICAgNjU4OTgsIDk4MzI0NCwgNjUzMTIsIDU0NDcsIDAsIDEyODk1LCA2NTU5MywgNDAxMCwgMCwgNDExMDYsIDc0MzU3LCAKKyAgICA2NDQ0OCwgOTM5OTQsIDQxMTA1LCA3NDExNCwgNjU4MjAsIDYyMzIsIDY4MjMzLCAxMjgyODAsIDAsIDQzNjA4LCAxMTkwOTEsIAorICAgIDEyNDk2MiwgNjUzOCwgNDMzNSwgNzgzNjQsIDM5NDEsIDQxMTIyLCAxMTA2MSwgNzgzNjMsIDY0ODkyLCA5MTEzLCAxOTU0LCAKKyAgICAxMjE1NSwgOTgzNjc0LCA0Mjg3OCwgMTE1MDAsIDY3NDA1LCAwLCA3NDU3OCwgMCwgNjU4MzIsIDEyODY2NywgMCwgNzA3ODksIAorICAgIDY3MzMzLCAxMTkyMzAsIDQ1ODYsIDAsIDM1MCwgMTA5NTEsIDAsIDUwOSwgNjczMzYsIDAsIDkyMzA3LCAwLCAwLCA1MTMzLCAKKyAgICA2NzM4MiwgMCwgOTUwMCwgMCwgNDk1NywgNjQ3NDEsIDI0MjIsIDIyMTIsIDk4MzA4MCwgNjczODEsIDY3MzgwLCAyNDk2LCAKKyAgICAxMTUxNiwgOTQ0LCA3ODg5MSwgMzg5MCwgMTIxNjgsIDE0MzgsIDAsIDY4MzM1LCA3MDAwMywgNDE5NDcsIDEyMjAsIAorICAgIDEyMDgyOCwgMTI4NTU1LCA3MDg1NCwgNzQwNTgsIDE1NzEsIDQyNjMwLCA0MTk0OSwgNDI4MDUsIDgyNzAsIDk0MywgNTY0LCAKKyAgICAwLCAzMTIsIDQxOTgwLCA5ODM5NDQsIDAsIDcwNzk3LCA4ODc3LCAyNjksIDQ0MjksIDYyNzIsIDk2MTcsIDE0NjAsIDY5NTQsIAorICAgIDc4NjU3LCA0MTEyMCwgNjUxMjEsIDEwODYyLCA2MDYwLCA0MTExOSwgNDE0MTYsIDc0MzU1LCA0MTczLCAwLCAwLCAwLCAKKyAgICAxOTA2LCA5MTc4OTgsIDExNTMyLCA3NDA3MywgMTI3MzM4LCAwLCAxOTg1LCA2Mjk2LCA5NTgyLCA5MTc4OTUsIDY0Mjg3LCAKKyAgICAxMjg0MDYsIDc4MTE1LCAxMTQyOCwgMTczMCwgMjQ1NywgOTE3ODA4LCAxOTkxOCwgMTA0NjksIDAsIDk4MzA3OSwgNzcwMywgCisgICAgODg0MCwgODAzNSwgMCwgMCwgOTIyMzAsIDAsIDYxMjksIDEyODQzNywgNzg1ODYsIDEyODI2OCwgMCwgNzg3NCwgODY4MSwgCisgICAgMTE5MDkyLCAxMTIwNiwgMTMxMzYsIDAsIDAsIDcwMTAyLCA2Mzg4NiwgNzA0NTAsIDk2MDUsIDcxMzA4LCAxMzIyMCwgCisgICAgNjczNDgsIDY3MzU0LCA1NTE0LCAwLCA5MjI4LCA2NzM0OSwgNjczNTYsIDY3MzQ2LCA1MjQwLCA5ODExLCAxMDAxMiwgCisgICAgMzA5NiwgMCwgMCwgNzQ1MjYsIDY2Njc2LCA2NTg3MywgMCwgMCwgMCwgOTUwMSwgOTE3OTU5LCAxMjcyLCA2NDUzNiwgCisgICAgNjU0NjUsIDY0NjU0LCA3NDY3LCAwLCAxNDY3LCAxMDE1OCwgMTAwNDAsIDAsIDk1MTksIDEyMDI3MCwgOTE3ODEyLCAwLCAKKyAgICAxMTg4OTksIDEyMTkzLCAwLCAwLCAwLCAwLCA5ODMzNTMsIDE5OTM1LCAxMjA3MzMsIDkyMTYyLCA2OTY3NiwgMCwgCisgICAgOTE3ODExLCA5MzA1NywgNTI3NSwgMTk0NTk2LCAxMjg2MzIsIDg2MzcsIDEyOTA4MiwgMCwgMzc4OSwgNjM4ODAsIDExNDcxLCAKKyAgICA0MzU1NCwgNjU4NjIsIDExNDc0LCA2NjMzMiwgNjY2MDMsIDEyODEzOCwgMjQyNiwgMTIwNDIsIDkyMTk0LCA5ODM5MTEsIAorICAgIDk1MzcsIDM5NjEsIDEyMTE1LCA3Nzk1MywgMjYwNSwgNDUwMCwgNjQ1NjEsIDU1MjI0LCA0OTgxLCA3NDY0NCwgMCwgCisgICAgNDE2NDYsIDExNjY3LCA0MjY4NiwgNzc5NzMsIDQyMzYyLCA2NDY4NiwgNDQ5OSwgNDE2NDksIDc1ODksIDEyODc3NiwgMCwgCisgICAgMzIzNywgMCwgNjY4OTUsIDY4Mjk2LCA4NTQxLCA3ODI5OCwgNzAwMzQsIDQxODY2LCAwLCAwLCA5NDA1NiwgMTExNzQsIAorICAgIDY5OTI0LCA0MzU1NSwgMjgyMywgOTU1OSwgMTAwNjAsIDQxOTQwLCA4Mjk5LCA0MTk0NSwgNzEzMiwgNDE5NDEsIDMzMDgsIAorICAgIDcxOTAsIDY0ODgwLCA4NjE0LCA2NTIyMCwgNDE0OTMsIDAsIDQxNjk5LCAxMDc2MiwgNDM3ODAsIDEyOTk5LCAwLCAKKyAgICAxMjg0OTQsIDgxMDYsIDQxMjgsIDAsIDYyNzQsIDQ0OTQsIDAsIDQwMTIsIDEwMzk1LCA5ODM1OTEsIDQzNjMzLCA2NTQ0NywgCisgICAgMTI2NTExLCAwLCAxMTAwNCwgNjk1LCA3MzksIDY5NiwgNzYxMSwgMCwgNDI3NTUsIDc0ODAyLCA5MjI3LCA3NTA2LCA3NTEwLCAKKyAgICA2OTkzNywgNjkxLCA3MzgsIDc1MTEsIDc1MTIsIDc1MTUsIDM4NjgsIDY4OCwgNDE4NDcsIDY5MCwgMjU0OCwgNzM3LCA5NzQsIAorICAgIDgwMDMsIDc0MDYsIDEyNzM1MywgMCwgMTI4Njg4LCAzOTg1LCA2NjQyNSwgNjU4NjAsIDQxODUxLCA3MDUxLCA2OTc3NywgCisgICAgNDY4MiwgNzE4NzMsIDEyODA5LCA2NDA2LCA0Njg1LCA5MjUwNSwgMTA4NzksIDEwMzQ3LCA0NjgwLCA2MzQxLCAwLCAzODUxLCAKKyAgICA4MTMyLCA3NDMyNSwgMCwgOTE3OTA3LCAxMjc5NDgsIDQxOTU4LCAxMTkxNzYsIDkxNzkwOCwgMTk0ODU1LCAwLCA0MjY1NywgCisgICAgNzEwNzUsIDc2NDMsIDQyMzczLCAxMTcxNCwgNjc1ODcsIDQzNTY4LCA5ODMxNzUsIDExNzE3LCA3NjUwLCAxMDU5NCwgCisgICAgNjQ5NTEsIDc2NDcsIDc2NDksIDEyODE1NSwgNzY0NiwgMCwgNzgwODIsIDk2NTEsIDEyNjQ3NSwgMzg5MSwgMTI3MjA1LCAwLCAKKyAgICAyMzM3LCAxNzM1LCA3NDMyNCwgMTExMzQsIDIzNjMsIDEyNTA2MSwgOTI0NDMsIDQzNTYxLCA2NzcwNiwgMTI4MDMyLCAKKyAgICA3NDE0NiwgMTg2MCwgNzQ5NSwgNzU4MCwgNTgxMiwgNzQ5NywgNzU4NCwgMTE5MTQwLCAxMjc4NTMsIDc4NzUzLCAxMjAzNDcsIAorICAgIDc3MjcsIDAsIDg0OTgsIDY5ODE4LCA4OTQ5LCAzMDY1LCA0MjcxOSwgNzEzNSwgMTU2OSwgOTIzNzUsIDEyNTM0LCAxMjEyNCwgCisgICAgNzY5MCwgMCwgMTI1MzMsIDk4Mzg3OSwgNjQxOCwgNDU0MywgNzgwODYsIDY5NjksIDAsIDc0ODAwLCA3MTA1MSwgNjc5NzQsIAorICAgIDExOTgwLCAxMjg2NTAsIDk4MzgwMSwgNjM4OTQsIDEyMDc2MCwgMTIyODIsIDY2MTkyLCAwLCA3NDU5MiwgODg1MCwgCisgICAgNzQyNzUsIDkyMzgsIDEwNjE3LCA5MTc1NDUsIDkxNzkwOSwgOTI2MjUsIDkxNzgwMSwgMTI3OTEsIDAsIDk0MDY5LCAKKyAgICAxMjc4NDMsIDQ0NDcsIDcxMDY1LCAxMjc5MywgMTI5MDAsIDkyMzc3LCAxMDk1MCwgOTgzNDQ3LCA3NDYzOSwgMTI3OTAsIAorICAgIDQxNDAwLCAxMTkxMjgsIDY2NjA3LCAxMjc5MiwgNDIyMzIsIDE5NDkzOCwgMTc0NCwgMTI3ODksIDEwMzY2LCAxMjMxNywgCisgICAgNDEzMTAsIDEyMDczMCwgNDEzOTksIDAsIDAsIDU1MjU4LCAwLCAxMjY5MCwgMCwgMCwgNDM2NzIsIDEyNzg0MCwgNDE2NTIsIAorICAgIDI5NzQsIDkwMTAsIDExMzE1LCAwLCAyNzgsIDAsIDQxNDA1LCA0Mzg3MSwgMCwgMTAwNzcsIDYzODUzLCA3NDU1NywgCisgICAgNDI1ODYsIDAsIDAsIDYwMDIsIDY3MzM1LCA0MzU1MywgMTExODksIDY3MzM4LCA2NzMzNywgMTI3ODcsIDQxMzA4LCA3OTM0LCAKKyAgICA2NTMwNiwgMCwgMTI4NDIxLCAwLCA4NjQ2LCA5ODMxODYsIDc3ODI5LCA3MTM2MCwgMCwgNjQxMywgNjU1MCwgMTEzNzU5LCAKKyAgICAxOTQwLCAwLCA0MzYzNywgMjIwLCA2NTE5MywgNDM1NTEsIDEwNjc4LCAxMDA0NCwgMTI4MzIyLCAxMjgxMjEsIDk4MzgxNiwgCisgICAgNjgyOTAsIDY0MDMsIDU3MDcsIDEwMzkzLCAxMjc1MzIsIDAsIDY2NjE0LCAwLCAwLCAwLCAxMDI5NywgMCwgMzc0MiwgCisgICAgNjczMzEsIDM5NTksIDAsIDEyMDQ2NiwgMCwgMjQ2NywgNjk3MzksIDYwMDMsIDYzODQ0LCA2NjYzLCA4MDQwLCAwLCAKKyAgICA0Mzc1OCwgNDE4MiwgNzgxNzEsIDQ2NzYsIDEyMDUwMSwgOTIxMCwgMCwgMjUxMCwgMCwgMTAyMDgsIDc4MTY4LCA5MjM2MSwgCisgICAgMTE1NDAsIDQzNTQ2LCA2NjkyLCA2ODM3LCA0MTA2MCwgMCwgNDY2OCwgOTA4MywgMCwgMCwgNzgxNDQsIDE1NTksIDYzODMxLCAKKyAgICA5Njc3LCA2NzM0MCwgNjczNDcsIDY1MjU2LCA2NzM0NSwgNjczNDQsIDAsIDAsIDM2NSwgMTIwNTYsIDQzMDI3LCAxMjA0MjMsIAorICAgIDQxNzE2LCAxMjgyMzYsIDY3MzUyLCA2NzM1MSwgNTUxNiwgMjg0NSwgNzcxNywgODAzNiwgNDE3MTcsIDY3MzUzLCA1NDQsIAorICAgIDEyMDQ1LCA2Mjc4LCA3NDYzMiwgNTUxNSwgMCwgMCwgOTgzMDUxLCA2NTMzOSwgNDMyMjEsIDIyMTEsIDAsIDU1MTcsIAorICAgIDcwMTE2LCA3NDIyNSwgNzQ4NDEsIDY3ODg0LCAxMjg0MTQsIDY3ODkwLCA2Nzg4NSwgNjc4ODAsIDY3ODgxLCA2Nzg4MiwgCisgICAgNjc4ODMsIDAsIDExODg4MywgNjc4NzksIDEyNzE4OCwgMTkwMiwgNjc4ODcsIDk2MzgsIDEyOTc2LCAxMjY1NDYsIDEyNDgzLCAKKyAgICAxMjM2OCwgNDE3NjksIDQyNzI2LCA0MTc2NSwgNzM2MSwgNjY2NywgNjc4NzQsIDc1NTYsIDY3ODc4LCA3NDM1MSwgMTEyNjQsIAorICAgIDk4OSwgNDI2NzcsIDY3ODg5LCA5MzA0MCwgMTMxMSwgMTI4OTQ5LCA0MzI2LCAxMTAwMCwgNjM4MjQsIDEzMDY4LCAxMDkzMiwgCisgICAgMTI4ODgwLCA2OTE3LCA3ODE1NSwgOTgzNjE1LCA5NDksIDc3ODgyLCAwLCA2MTQ4LCA4NjA1LCA0MjI1MywgNzgxNzcsIAorICAgIDY2OTA2LCAwLCA0MjcxNSwgMCwgMCwgMCwgNjM4NzEsIDAsIDQxNzk2LCAxMjY5LCA2NTMwLCAwLCA2NTA1NywgNzA0OTMsIAorICAgIDUxNDQsIDEyMjIxLCA0MjcxNiwgNjgyOTksIDQ0MzEsIDQzMzEsIDk4MzcyOSwgMTI4Njc1LCA0MTgzNCwgNTI3OSwgMCwgCisgICAgMTAzMzYsIDgzMTIsIDAsIDQyNzAxLCA5Mjk1OSwgMCwgNzgxNjUsIDY2MDM2LCA3MDE2NiwgMTI0OTM1LCA2NDI4LCAKKyAgICA0MjI3MCwgMCwgOTgzNTk2LCA0MzA1OSwgNDI2NjYsIDUyNTYsIDEwNjcsIDI1NSwgMTIxMzEsIDEyODc0MiwgOTQ5MywgCisgICAgOTgzOTY4LCA0MTAxNCwgMTE3OTMsIDE5NDkyMCwgMCwgNzQzOTQsIDQzNDYwLCAxMDY1MywgNDI3MjMsIDk4Mzg1NCwgCisgICAgMTE5NjMyLCA3MDQyNywgNjU2MCwgNzAxNiwgNzQyNzQsIDY5OTg2LCA0MzU1NiwgMzkyOSwgNjc5NzcsIDY2MTQsIDI3NjgsIAorICAgIDkyNTA0LCA5NzQ2LCA1MTM1LCAxMTgxMSwgMTI3OTYsIDExOTUzLCAwLCA2OTc2MSwgNTEzOSwgMzQ2LCA3NDMwMywgNjMwNSwgCisgICAgMTI3OTUsIDQ2NzUsIDUxNjgsIDc4NTUyLCA0Mzg0NSwgNzQzMTUsIDc0MzYxLCA4MjUzLCA4ODE3LCAxMTM2LCAwLCAKKyAgICA0MzU2MywgOTIyMzIsIDEyODkxNCwgNjY0MTAsIDczOTIsIDgyMzAsIDkzNjUsIDcxMTk0LCAwLCA5ODM2MDcsIDY2OTE1LCAKKyAgICAxMjg0MDIsIDQwNDEsIDAsIDIzNTcsIDQzMjQwLCAxMjc4NiwgMjI5LCA0MzgzNCwgMTE5ODg0LCA0NDAwNCwgNzE0MiwgCisgICAgMTE5ODgxLCAxMjM1MCwgNjU1NTQsIDExOTg4MiwgMTE5ODc3LCAxMTk4NzYsIDEyNzg1LCA2Mzg2MywgNDM3OTUsIDc3NzAsIAorICAgIDEwNzEyLCA2NDg1MywgMTI2ODYsIDQzODMxLCA0MjM3NSwgMCwgMTI3MjM4LCA2NjM1MiwgMTA0NzAsIDAsIDExMDU5LCAKKyAgICAxMDc5MSwgOTE3OTQ0LCA0NTAsIDExOTMyOCwgMCwgMTA0MzIsIDEyMDk3LCA1NDUwLCA2NDY5MSwgMTIzMywgMCwgNDQwMDksIAorICAgIDc4Mjg0LCA2NjMzOCwgNjYzOTUsIDAsIDE4MzksIDExODc5OSwgOTgzMjE5LCAxMDkyNywgMTcwMSwgOTgzNjY0LCAyMzg4LCAKKyAgICA0MTc0OSwgNDE3NjEsIDU0NTMsIDgzNjEsIDExOTg2NSwgODk1LCA1NDQ0LCA0MTc2MywgNjQ4ODksIDcxNDMsIDkyNDkzLCAKKyAgICA3ODY3NywgOTgzMTM3LCA5MjQyOSwgNjk5ODMsIDY2NDMyLCA4ODAxLCAzMDUzLCA0MzQwLCA5ODMwNDQsIDAsIDY1ODEyLCAKKyAgICAxMjA2NzUsIDcwMDAxLCA0MTgyNCwgNjc5ODUsIDEyMDIwMywgOTI2MDAsIDEyNzA1MywgNDI3MDAsIDE5NDgwNSwgCisgICAgMTI3OTgwLCAxOTQ4MDcsIDc4Njc2LCA5MjM1NiwgMTk0ODA4LCAxMjc4NDQsIDAsIDQ0OTMsIDQzMzYsIDEyOTE3MSwgCisgICAgMjMxNCwgNDM2MDIsIDc4ODI2LCAxMTkzMjUsIDE5NDgxMSwgNDI0MzksIDY0NjM4LCA0MjMyNywgNDM1MjgsIDQ0ODksIAorICAgIDcxMzMxLCAxMjgwMDYsIDE5NDc5MywgMTkxMiwgNDIzODUsIDEwMzA2LCAxMDM3MCwgMCwgMCwgODg2NywgMTAyNTAsIAorICAgIDEwMjU4LCAyNzEyLCAxNjM1LCA3MTA2NCwgMTQxMCwgNzg3NjMsIDk4MzI1MCwgMTE4ODc4LCAwLCAxMjg3MTUsIDk5MTksIAorICAgIDEyMDUyOCwgNTU5LCAxMjgxNTcsIDQxODI1LCAxMjc5NzUsIDc0NjQxLCA0ODkyLCA3NDAxNiwgMTk0NzgxLCA2NTQyLCAKKyAgICA0MTk1NywgMTI4ODY1LCA1Nzc3LCAwLCA3NTksIDY1NzQ5LCAyMDc5LCA2NTI0OCwgMTI3ODgsIDY0NDg3LCA2NDU1MiwgCisgICAgOTMwNjMsIDEwMjIzLCA0MjA2MiwgMCwgMCwgNzQyNDYsIDM2NjgsIDY1NzU0LCA0MzU2MCwgMTIyMjYsIDY3OTkxLCAKKyAgICA2NTE0OSwgMjM0MCwgNDE5NTksIDE5NDc4NiwgMTk0Nzg1LCAxOTQ3ODgsIDQzNjE4LCA2NTc0NywgMTA5MzcsIDI5NjIsIDAsIAorICAgIDIzMjEsIDM1ODcsIDY1NzQ1LCA2NzIzNiwgODkyMSwgOTk1MiwgMTI4OTQxLCAwLCA0MjcxNCwgOTk1MSwgNDM0MDksIAogICAgIDE5NDc3MCwgMjk0OSwgNjYwMTIsIDE5NDc3NSwgMTk0Nzc0LCAyOTU4LCA2ODM1OSwgNDE4MjAsIDIzMDAsIDIzOTUsIAotICAgIDEyODU2MywgOTk3NiwgMTIwMDQzLCAxMjAwNTAsIDEyMDA1OCwgNjgyMjAsIDEyODE0MywgNDI4MDksIDQyODA3LCAwLCAKLSAgICAxMjAwNDYsIDEwMTk4LCA0MTUwLCA2NDM3MSwgODMxOCwgNDE3OTAsIDY3OTc2LCA0MTg5OCwgMjM2MCwgNDE3OTQsIAotICAgIDkxNzk0MiwgNzEzMTQsIDEyNzgxOCwgMCwgMCwgMjQxOCwgOTgzMDk4LCAyNDExLCAxMTMzNiwgNzk5LCA2MzgyMywgCisgICAgMTIwMDYxLCA5OTc2LCAxMjAwNDMsIDEyMDA1MCwgNzE4OTYsIDY4MjIwLCAxMjgxNDMsIDQyODA5LCA0MjgwNywgNzA3OTgsIAorICAgIDY2MjkwLCAxMDE5OCwgNDE1MCwgNjQzNzEsIDgzMTgsIDQxNzkwLCA2Nzk3NiwgNDE4OTgsIDIzNjAsIDQxNzk0LCAKKyAgICA5MTc5NDIsIDcwNzk2LCA5MjE2MywgOTMwMzMsIDAsIDI0MTgsIDk4MzA5OCwgMjQxMSwgMTEzMzYsIDc5OSwgNjM4MjMsIAogICAgIDEwMjc2LCAxMDMwOCwgMTAzNzIsIDkxNzU0MSwgNDE3NzIsIDQyODEzLCAyMzE3LCAxMDI2MCwgMTE4OTgwLCA1NTI4NCwgCi0gICAgOTIyMDMsIDAsIDEwMzg0LCA5ODMyMjAsIDAsIDAsIDc3NTMsIDIzNTEsIDY2NTUsIDY0NDg5LCA2OTkzMSwgMCwgNzc4NzIsIAotICAgIDQ0NDMsIDQyNzc5LCAyMzAsIDAsIDAsIDQzNTQ5LCA0ODU1LCA0MjE1MCwgNjU3MzksIDU0NDEsIDQxODk2LCAxMDI4OCwgCi0gICAgMTAzMjAsIDAsIDg1NSwgNzA0NiwgNjEwOSwgNjUwNDUsIDYzODM5LCA3ODE5OCwgMjA0OSwgMTAwOTgsIDAsIDc0MTQ1LCAKLSAgICAxMjc5NDMsIDEwMjY0LCAxMDI4MCwgOTE4NCwgMTAzNzYsIDcwMTMsIDQ0NjcsIDAsIDAsIDAsIDQxODg3LCAwLCA0ODYyLCAKLSAgICA5NzM1LCA2NTM3LCAxMjA1OTEsIDc0Mjg2LCAzOTE0LCA5MjE3OCwgOTM5NzYsIDkwNjUsIDEyOTYxLCAwLCAwLCA5MjI1MywgCi0gICAgMCwgMjg5LCAwLCA0Njk0LCAxMTQyMCwgNDY5MCwgMCwgMTIwNTE0LCA5MTc5NzgsIDQ2OTMsIDczODkzLCA0MjcyNCwgMCwgCi0gICAgNDY4OCwgMTIwNDU0LCAwLCAwLCA2Nzk5NCwgODIzOCwgMzExMCwgMTIwMTYyLCA5ODM5MDgsIDEyMDE2MywgNjUyOCwgCi0gICAgMTI3NTUzLCA0MzAzNSwgNjk4OTgsIDIxOCwgMCwgMTUyMCwgMCwgNDc4NiwgMCwgNDMyMjUsIDQ2MDIsIDAsIDc4MTY3LCAKLSAgICAxMDA4OCwgNjU0OCwgMCwgMTIwMTU2LCA0Mzk3OCwgODk4OCwgODg4OCwgMCwgMCwgMCwgMCwgMTA2NjYsIDAsIDczOTAyLCAKLSAgICA2OTc0MCwgMCwgMCwgOTk3NSwgMTI4MDM5LCAxMTk5MDIsIDQ2ODksIDg5MzIsIDAsIDY1NTYwLCAxMTkyMDksIDc0NDQxLCAKLSAgICA3ODgxMCwgMCwgMCwgNjc5ODcsIDAsIDAsIDAsIDY3OTg5LCAwLCAxMDA2NSwgODIwNywgMCwgOTI2MTMsIDEyODAxMSwgMCwgCi0gICAgNjYyLCAwLCA5MjQ0LCAxOTQ4NjMsIDAsIDExOTI2MSwgOTgzNDI4LCAwLCAwLCAwLCA0MTkyOSwgMCwgMCwgNjY2NzQsIAotICAgIDQxOTI2LCAxMjA0MDgsIDEyMDQ0MywgMTA1MTMsIDY0NjM3LCAxOTQ4NjIsIDY4MDEzLCA1MiwgMTMxMTgsIDY0NzUsIDAsIAotICAgIDEyMDM0MSwgMTIwOTUsIDEwMjI1LCA0ODEyLCA5MjU3OCwgMCwgNjc5OTIsIDc0MDg1LCAwLCAzOTc4LCAwLCA5MTc5NDUsIAotICAgIDEyNzgyMywgMTE1ODIsIDEyMDc2MSwgMTIyODEsIDAsIDY1NDQsIDEzMjQxLCA5Mzk2MSwgNjk3ODIsIDEyODU1NywgCisgICAgNzg2ODYsIDAsIDEwMzg0LCA5ODMyMjAsIDAsIDEyOTExMSwgNzc1MywgMjM1MSwgNjY1NSwgNjQ0ODksIDY5OTMxLCAKKyAgICA3MDE5OSwgNzc4NzIsIDQ0NDMsIDQyNzc5LCAyMzAsIDAsIDEyODk2OSwgNDM1NDksIDQ4NTUsIDQyMTUwLCA2NTczOSwgCisgICAgNTQ0MSwgNDE4OTYsIDEwMjg4LCAxMDMyMCwgMCwgODU1LCA3MDQ2LCA2MTA5LCA2NTA0NSwgNjM4MzksIDc4MTk4LCAyMDQ5LCAKKyAgICAxMDA5OCwgMCwgNzQxNDUsIDEyNzk0MywgMTAyNjQsIDEwMjgwLCA5MTg0LCAxMDM3NiwgNzAxMywgNDQ2NywgNzg2ODQsIDAsIAorICAgIDAsIDQxODg3LCAwLCA0ODYyLCA5NzM1LCA2NTM3LCAxMjA1OTEsIDc0Mjg2LCAzOTE0LCA5MjE3OCwgOTM5NzYsIDkwNjUsIAorICAgIDEyOTYxLCAwLCAwLCA5MjI1MywgMCwgMjg5LCAxMjg3MTQsIDQ2OTQsIDExNDIwLCA0NjkwLCAwLCAxMjA1MTQsIDkxNzk3OCwgCisgICAgNDY5MywgNzM4OTMsIDQyNzI0LCA2OTk3NywgNDY4OCwgMTIwNDU0LCAwLCAwLCA2Nzk5NCwgODIzOCwgMzExMCwgMTIwMTYyLCAKKyAgICAzNTY1LCAxMjAxNjMsIDY1MjgsIDEyNzU1MywgNDMwMzUsIDY5ODk4LCAyMTgsIDk4Mzg1MCwgMTUyMCwgMCwgNDc4NiwgCisgICAgOTgzMTY4LCA0MzIyNSwgNDYwMiwgOTE3OTgyLCA3ODE2NywgMTAwODgsIDY1NDgsIDAsIDEyMDE1NiwgNDM5NzgsIDg5ODgsIAorICAgIDg4ODgsIDkyNzI0LCA3NDgxMiwgNjk3MDksIDAsIDEwNjY2LCAwLCA3MzkwMiwgNjk3NDAsIDEyNzc5MywgMCwgOTk3NSwgCisgICAgMTEzNzA0LCAxMTk5MDIsIDQ2ODksIDg5MzIsIDAsIDY1NTYwLCAxMTkyMDksIDc0NDQxLCA3ODgxMCwgMCwgMCwgNjc5ODcsIAorICAgIDAsIDEyODgyOCwgMCwgNjc5ODksIDExOTAyOSwgMTAwNjUsIDgyMDcsIDcxOTAwLCA5MjYxMywgMTI4MDExLCAwLCA2NjIsIAorICAgIDAsIDkyNDQsIDE5NDg2MywgMCwgMTE5MjYxLCA5ODM0MjgsIDAsIDAsIDAsIDQxOTI5LCAwLCA3MTA4NCwgNjY2NzQsIAorICAgIDQxOTI2LCA2OTk5NCwgMTIwNDQzLCAxMDUxMywgNjQ2MzcsIDE5NDg2MiwgNjgwMTMsIDUyLCAxMzExOCwgNjQ3NSwgMCwgCisgICAgMTIwMzQxLCAxMjA5NSwgMTAyMjUsIDQ4MTIsIDkyNTc4LCAxMjg0ODYsIDY3OTkyLCA3NDA4NSwgMCwgMzk3OCwgMTI4NDI1LCAKKyAgICA5MTc5NDUsIDc0MDE1LCAxMTU4MiwgOTI3NjgsIDEyMjgxLCAwLCA2NTQ0LCAxMzI0MSwgOTM5NjEsIDY5NzgyLCAxMjg1NTcsIAogICAgIDE5NDg2MCwgMTE3NjUsIDY1MjU4LCAxMDM2OSwgMCwgMTU4NSwgNzE5MiwgMTAyNDksIDQyMiwgMTUwMCwgMjAzNiwgOTg2LCAKICAgICAxOTQ4NTksIDY0Mzk0LCA1NzgxLCA1NTk5LCA2NDI5NCwgMjQ5NCwgMTIwNDUwLCA0ODYxLCA3NDAyMSwgNjQzMzQsIAotICAgIDc4MjAzLCAxMjc4MDgsIDAsIDkyMjY2LCA2NTEwMiwgODk2MSwgNjU4NDIsIDEwMjQzLCAxMDI0NSwgNzQxOTEsIDEyMDQxMCwgCisgICAgNzgyMDMsIDEyNzgwOCwgMCwgOTIyNjYsIDY1MTAyLCA4OTYxLCA2NTg0MiwgMTAyNDMsIDEwMjQ1LCA3MTkwNywgMTIwNDEwLCAKICAgICAwLCAxMjA0NTMsIDY0ODIxLCA5NDc4LCAyNTA4LCA5MjY4MywgMCwgMjAyLCAxMjgyNDYsIDc0MTMxLCAxMjQyLCA2NTUxNCwgCi0gICAgMCwgNjM5NDAsIDEyODcwNiwgNjQ1MzMsIDEyMDEyOSwgMCwgNjc4NDIsIDExOTkwLCA5MjQzMCwgNjM5MzksIDQzMzc1LCAKLSAgICA2NTQ0MCwgMjUwNCwgMCwgNzg2NzEsIDY0ODI5LCA5ODM5MTAsIDY5NDMsIDkxNzkzNCwgNTg1OSwgMCwgMjg1OCwgCi0gICAgOTgzMzYxLCA3NDI5NCwgOTgzOTE0LCA2OTIzOSwgMCwgMTE5MDI3LCAxMjk5MiwgMjc1MywgMTkzNiwgNzAwNzgsIDkyNTc0LCAKLSAgICAyNzUxLCAxMjY2MiwgMjc2MywgODk1MywgNjQ3MDEsIDEwNzMxLCAxMjkyMiwgNzA1MiwgOTE3ODM5LCAwLCAwLCAwLCAKLSAgICA2MzkyMCwgNzQxMjgsIDI4NTYsIDExOTkxMCwgNDcsIDY5OTA4LCAxMjY5ODYsIDY1ODU4LCAwLCAwLCAwLCA3ODk5LCAwLCAKKyAgICAxMjg5MTMsIDYzOTQwLCAxMjcxMTgsIDY0NTMzLCA3MTg4MywgMTIwNDQ2LCA2Nzg0MiwgMTE5OTAsIDkyNDA1LCA2MzkzOSwgCisgICAgNDMzNzUsIDY1NDQwLCAyNTA0LCAwLCA3ODY3MSwgNjQ4MjksIDkzMDIwLCA2OTQzLCA5MTc5MzQsIDU4NTksIDAsIDI4NTgsIAorICAgIDk4MzM2MSwgNzQyOTQsIDk4MzkxNCwgNjkyMzksIDAsIDY3ODcxLCAxMjk5MiwgMjc1MywgMTkzNiwgNzAwNzgsIDY3NzAxLCAKKyAgICAyNzUxLCAxMjY2MiwgMjc2MywgODk1MywgNjQ3MDEsIDEwNzMxLCAxMjkyMiwgNzA1MiwgOTE3ODM5LCA2NjQyNCwgNjM5OTIsIAorICAgIDAsIDYzOTIwLCA3NDEyOCwgMjg1NiwgMTE5OTEwLCA0NywgNjk5MDgsIDcxMDUzLCA2NTg1OCwgMCwgMCwgMCwgNzg5OSwgMCwgCiAgICAgODQxNywgNDM3OTgsIDcwNzIsIDAsIDAsIDQwMzMsIDEyODE2NCwgNDM5OTIsIDAsIDAsIDIxMiwgNjQ2MDAsIDE5MDMsIAotICAgIDEyMzIwLCAwLCAwLCAxOTQ1NjMsIDAsIDg5MTUsIDI3NTksIDk0NSwgNjY4OSwgMCwgMCwgMCwgMCwgMTI5MSwgNzQ4MjgsIAotICAgIDAsIDAsIDk1MzEsIDEzMTU1LCA4NTA1LCA2ODM3OSwgMTIwNjIsIDAsIDAsIDY1NDg3LCA5MjE4OSwgNDE4MzcsIDEyMDYxMSwgCi0gICAgMTIwNDMyLCAwLCAwLCAwLCAxMjA0MzMsIDAsIDYzOTM1LCA3Mzk2MiwgMTIwODA2LCA2NDc4NywgNDM1MjQsIDAsIDY0NDI2LCAKLSAgICAwLCAxOTQ5NDgsIDAsIDAsIDY1NjY0LCA2NjkzLCA5ODQzLCAwLCA4Njc0LCAxMTk4ODcsIDEyODgxMiwgOTI3MTUsIDAsIAotICAgIDEyNjI0LCAwLCAxNjczLCA0ODExLCA5MjM4MywgNTk4NiwgOTMzOCwgMzA0NiwgNzQ0ODAsIDU5ODUsIDkxNzkyOCwgCi0gICAgMTE5NTk4LCA5ODIwLCAwLCAxMjE4NywgMCwgMCwgNTk4NCwgMCwgNDMzMDgsIDQzOTMsIDY3NjUwLCAwLCAwLCAwLCAwLCAKLSAgICA3NDgyNiwgNjQ3MzMsIDAsIDAsIDM0OTEsIDAsIDAsIDEyODIxOSwgMzUxNCwgNjU0ODUsIDAsIDc0OTIsIDAsIDc0NjA1LCAKLSAgICA5MjQ4MywgNzUxNCwgOTgzMzY3LCAwLCAxOTQ3MzEsIDc1MDIsIDc1ODcsIDY4MzUzLCAwLCAwLCA2MzkyNSwgMCwgNzYxMCwgCi0gICAgMjE5LCAwLCAwLCA2OTIsIDQzNTg4LCA3NDQzMywgNDE2MzUsIDQzMjQxLCA5Njg4LCA3MTQ3LCA5NTM1LCAwLCA5Mzk5MSwgCi0gICAgMCwgNjQ1MzAsIDAsIDY0NjEwLCAxMTgwNCwgMCwgNzE0OSwgNzQ1MywgMCwgODAxMywgMCwgOTIzMDEsIDAsIDg4OTUsIAotICAgIDUyNTMsIDcwMDI1LCA1NDU4LCAwLCAyODY2LCAwLCAxMjc4NjAsIDY1MTExLCA2ODQzMywgNjcwMCwgMTIwNDg0LCAwLCAKLSAgICAxMjA1ODMsIDAsIDg5NjIsIDc3OTYwLCA5NjQxLCA0MzY5NCwgNzA1OSwgOTgzNjc3LCAwLCA5NjA0LCA3ODcwMCwgNzQ0MSwgCi0gICAgNjM4MjYsIDY3OTcwLCAxMTg5NDEsIDY0MzkyLCAxOTQ3MzUsIDk4MzY4NywgMjg0NCwgOTgzOTQxLCA0MTk3NCwgMCwgCi0gICAgMTIxMzksIDY3OTcxLCAwLCAwLCAzMzU4LCA2NTI5NSwgMCwgMzEwNCwgMTk0NzM0LCAwLCAxOTQ3NjUsIDk4MzIzMywgCi0gICAgNTMwOCwgMCwgMjkwLCAwLCAwLCAyODYyLCAyNzkyLCAxOTUwODgsIDk4MzA3MCwgMCwgMzI2OCwgNjY1OTEsIDAsIDY1NTIsIAotICAgIDQyMzY3LCA3MDM1LCAxMjA1NTgsIDAsIDAsIDE4MTQsIDAsIDEwMjQwLCA5MjMzOCwgNzQzMDUsIDAsIDc0NTI4LCA2NTkwMywgCi0gICAgMCwgNDI2NDYsIDc2MDYsIDI1OTEsIDI4MzcsIDQzNDEsIDc3OTU2LCA2NDQ4MiwgMTI3MzM3LCA4MTYzLCA2NTI3MCwgMCwgCi0gICAgNzc5MzIsIDAsIDkxMTIsIDc0NDMxLCA4NjMsIDk0OTAsIDExOTg5OCwgMTI4MzQ5LCA0MzMyMywgMTIwNTEzLCAxMTk4OTcsIAotICAgIDkwNzEsIDEyNzMzMywgMCwgMzY1NCwgNzc4OSwgOTYzNywgMCwgMjUzNSwgNjU1MDQsIDc2NTMsIDQwOTkzLCAxMTk4OTksIAotICAgIDY2NTg3LCAxOTUwOTgsIDAsIDkyNDAxLCA5ODM4OTQsIDExMDA2LCAxMjkyNywgNzgwNywgODA3MywgMCwgMTA2MjksIDAsIAotICAgIDc0MDg4LCAzMDU2LCAxMDgyMywgMTI4Nzk3LCAxMjczMjcsIDg3NjIsIDEwNTA4LCA2OTY4OSwgNzM3NzAsIDQzOTY5LCAKLSAgICA0MzE5MywgMTA3MzcsIDM0NjMsIDk4MzA2NSwgMCwgNjY2MzMsIDg2OTUsIDQ4MTUsIDExMzIyLCA1ODExLCAxMjM0NSwgCi0gICAgNzA0OSwgMTE5OTExLCA1MTk1LCAxOTUwODEsIDAsIDY2NjM5LCAwLCAwLCAwLCAxMjgwNDEsIDAsIDkyMzg1LCAxMjYyLCAwLCAKLSAgICA2NTYxLCAxOTkzOSwgMCwgMCwgMTI4NTM1LCAxMTk5MDYsIDAsIDAsIDk4MzA5NywgMCwgOTgzNjY3LCAxMTk5MDcsIAotICAgIDY0NjEyLCAxMTk5MSwgMCwgMCwgMCwgMTUwMiwgOTE3NTY4LCAwLCA5MTA3LCAxMjczMTYsIDU3MDIsIDM2NTUsIDY3NjYxLCAKLSAgICA4NDMwLCAwLCA3NDEzMiwgMTIwNzU4LCAwLCA3NDA1NywgOTYwMywgMCwgNTI1NCwgMTIwNzQyLCA3NzI0LCA3NDM4OCwgCi0gICAgNjgzNzUsIDEwNzk2LCA1MTI5LCAwLCAwLCA1OTAsIDc1NzksIDU2MTQsIDU4OTMsIDkyMjgwLCAxMTcyMCwgOTI0OTYsIAotICAgIDExNzIxLCAwLCA0Nzk4LCAwLCAxMTkzMTYsIDY2MDM4LCA0NzkzLCA2Nzg1MSwgMTE3MjYsIDEyNzU0MSwgNzQyMDQsIAotICAgIDY4NjEwLCAwLCA2ODYyNiwgODk0LCAzMDAsIDkxNzgxMywgMTIzMDYsIDY2MjM1LCA4MDA0LCAwLCAwLCAyNTYyLCAKLSAgICAxMjY1NTUsIDAsIDQyNTAzLCAwLCAxMTY1MiwgMCwgMCwgMTE5MjQxLCA2NDY5OSwgMTI2NTY5LCA1MDk2LCA1MDk1LCAKLSAgICAyODYzLCAzNDI0LCA5MjI0NCwgMTA0NTQsIDQyNTMwLCA1MDk0LCAxMTk2MzgsIDAsIDEzMTU2LCAwLCAxMDgzMiwgNTA5MywgCi0gICAgMCwgNjk4NTIsIDAsIDUwOTIsIDEwNzA4LCAxMTMyNywgMCwgNTA5MSwgMTc2LCAwLCA5MTUzLCA0MTA0LCA3ODU5OSwgCisgICAgMTIzMjAsIDAsIDEyNTAwMiwgMTk0NTYzLCAwLCA4OTE1LCAyNzU5LCA5NDUsIDY2ODksIDkzMDY0LCAwLCAwLCAxMTg3OTgsIAorICAgIDEyOTEsIDc0ODI4LCAwLCAwLCA5NTMxLCAxMzE1NSwgODUwNSwgNjgzNzksIDEyMDYyLCAxMjgxOTgsIDAsIDY1NDg3LCAKKyAgICA5MjE4OSwgNDE4MzcsIDEyMDYxMSwgODI0NiwgMCwgOTMwNjYsIDAsIDEyMDQzMywgMCwgNjM5MzUsIDczOTYyLCAxMjA4MDYsIAorICAgIDY0Nzg3LCA0MzUyNCwgMCwgNjQ0MjYsIDAsIDE5NDk0OCwgMCwgMCwgNjU2NjQsIDY2OTMsIDk4NDMsIDAsIDg2NzQsIAorICAgIDExOTg4NywgMTI4ODEyLCA5MjcxNSwgNzA3ODgsIDEzMjAsIDAsIDE2NzMsIDQ4MTEsIDkyMzgzLCA1OTg2LCA5MzM4LCAKKyAgICAzMDQ2LCA3NDQ4MCwgNTk4NSwgOTE3OTI4LCAxMTk1OTgsIDk4MjAsIDExOTg5MiwgMTIxODcsIDk4Mzg0MSwgNzEwNDEsIAorICAgIDU5ODQsIDAsIDQzMzA4LCA0MzkzLCA2NzY1MCwgOTgzMjI3LCAwLCAxMjUxMTIsIDAsIDc0ODI2LCA2NDczMywgMCwgCisgICAgMTI3ODk4LCAzNDkxLCA2NzE0NiwgOTgzNzEwLCAxMjgyMTksIDM1MTQsIDY1NDg1LCA3MjQyOCwgNzQ5MiwgMCwgNzQ2MDUsIAorICAgIDkyNDgzLCA3NTE0LCA5ODMzNjcsIDAsIDE5NDczMSwgNzUwMiwgNzU4NywgNjgzNTMsIDYzOTIxLCAwLCA2MzkyNSwgMCwgCisgICAgNzYxMCwgMjE5LCAwLCA3ODcyMiwgNjkyLCA0MzU4OCwgNjg0ODUsIDQxNjM1LCA0MzI0MSwgOTY4OCwgNzE0NywgOTUzNSwgCisgICAgMCwgOTM5OTEsIDAsIDY0NTMwLCAwLCA2NDYxMCwgMTE4MDQsIDAsIDcxNDksIDc0NTMsIDAsIDgwMTMsIDAsIDkyMzAxLCAwLCAKKyAgICA4ODk1LCA1MjUzLCA3MDAyNSwgNTQ1OCwgMCwgMjg2NiwgMTI5MDQ1LCAxMjc4NjAsIDExMDk4LCA2ODQzMywgNjcwMCwgCisgICAgMTIwNDg0LCAwLCAxMjA1ODMsIDAsIDg5NjIsIDc3OTYwLCA5NjQxLCA0MzY5NCwgNzA1OSwgOTgzNjc3LCA2Mzk5NywgCisgICAgOTYwNCwgNzg3MDAsIDc0NDEsIDYzODI2LCA2Nzk3MCwgMTE4OTQxLCA2NDM5MiwgOTI2MjYsIDk4MzY4NywgMjg0NCwgCisgICAgNzQ2MTAsIDQxOTc0LCA2NzM5NywgMTIxMzksIDY3OTcxLCAwLCAwLCAzMzU4LCA2NTI5NSwgMCwgMzEwNCwgMTk0NzM0LCAwLCAKKyAgICAxOTQ3NjUsIDk4MzIzMywgNTMwOCwgMCwgMjkwLCAwLCAwLCAyODYyLCAyNzkyLCAxOTUwODgsIDkyOTYzLCAwLCAzMjY4LCAKKyAgICA2NjU5MSwgMCwgNjU1MiwgNDIzNjcsIDcwMzUsIDEyMDU1OCwgMCwgMCwgMTgxNCwgMTI4NTcyLCAxMDI0MCwgNjYyODUsIAorICAgIDc0MzA1LCAxMjgzODIsIDc0NTI4LCA2NTkwMywgMCwgNDI2NDYsIDc2MDYsIDI1OTEsIDI4MzcsIDQzNDEsIDQzNTEzLCAKKyAgICA2NDQ4MiwgMTI3MzM3LCA4MTYzLCA2NTI3MCwgMCwgNzc5MzIsIDAsIDkxMTIsIDc0NDMxLCA4NjMsIDk0OTAsIDExOTg5OCwgCisgICAgMTI4MzQ5LCA0MzMyMywgMTIwNTEzLCAxMTk4OTcsIDkwNzEsIDEyNzMzMywgMCwgMzY1NCwgNzc4OSwgOTYzNywgMCwgCisgICAgMjUzNSwgNjU1MDQsIDc2NTMsIDQwOTkzLCAxMTk4OTksIDY2NTg3LCAxMjQ5ODcsIDAsIDkyNDAxLCA5ODM4OTQsIDExMDA2LCAKKyAgICAxMjkyNywgNzgwNywgODA3MywgMCwgMTA2MjksIDEyNzg2OSwgNzQwODgsIDMwNTYsIDEwODIzLCAxMjg3OTcsIDExMzc2MiwgCisgICAgODc2MiwgMTA1MDgsIDY5Njg5LCA3Mzc3MCwgNDM5NjksIDQzMTkzLCAxMDczNywgMzQ2MywgOTgzMDY1LCAwLCA2NjYzMywgCisgICAgODY5NSwgNDgxNSwgMTEzMjIsIDU4MTEsIDEyMzQ1LCA3MDQ5LCAxMTg4MTEsIDUxOTUsIDE5NTA4MSwgMCwgNjY2MzksIAorICAgIDkyOTM5LCAwLCAwLCAxMjgwNDEsIDY3OTAzLCA2NzczOSwgMTI2MiwgMTIwMTY1LCA2NTYxLCAxOTkzOSwgMCwgMCwgCisgICAgMTI4NTM1LCAxMTk5MDYsIDAsIDAsIDk4MzA5NywgMCwgOTgzNjY3LCAxMTk5MDcsIDY0NjEyLCAxMTk5MSwgMCwgMCwgCisgICAgOTI5NDMsIDE1MDIsIDkxNzU2OCwgMTI3OTg4LCA5MTA3LCAxMjczMTYsIDU3MDIsIDM2NTUsIDY3NjYxLCA4NDMwLCAwLCAKKyAgICA3MTIyMywgMTIwNzU4LCAwLCA3NDA1NywgOTYwMywgMTI4MDc5LCA1MjU0LCAxMjA3NDIsIDc3MjQsIDc0Mzg4LCA2ODM3NSwgCisgICAgMTA3OTYsIDUxMjksIDAsIDcwODE2LCA1OTAsIDc1NzksIDU2MTQsIDU4OTMsIDkyMjgwLCAxMTcyMCwgOTI0OTYsIDExNzIxLCAKKyAgICA3MDgwNCwgNDc5OCwgMCwgMTE5MzE2LCA2NjAzOCwgNDc5MywgNjc4NTEsIDExNzI2LCAxMjc1NDEsIDc0MjA0LCA2ODYxMCwgCisgICAgMCwgNjg2MjYsIDg5NCwgMzAwLCA5MTc4MTMsIDEyMzA2LCA2NjIzNSwgODAwNCwgMCwgMTk1MDU2LCAyNTYyLCA3MDE1NiwgCisgICAgMCwgNDI1MDMsIDEyODg2NCwgMTE2NTIsIDAsIDAsIDExOTI0MSwgNjQ2OTksIDEyNjU2OSwgNTA5NiwgNTA5NSwgMjg2MywgCisgICAgMzQyNCwgOTIyNDQsIDEwNDU0LCA0MjUzMCwgNTA5NCwgNzA4NzMsIDAsIDEzMTU2LCAxMjkwNTcsIDEwODMyLCA1MDkzLCAwLCAKKyAgICA2OTg1MiwgNzI0MzAsIDUwOTIsIDEwNzA4LCAxMTMyNywgMCwgNTA5MSwgMTc2LCAwLCA5MTUzLCA0MTA0LCA3ODU5OSwgCiAgICAgNzg2MDEsIDEyMTUsIDQyNzEyLCA1NzQ0LCAxMjI3MiwgOTgzMiwgMTE3NzcsIDcxMjk5LCAxMjczNzEsIDQyODgxLCAwLCAKLSAgICA4OTgwLCAxMTg5ODgsIDY3ODYxLCA4ODQ0LCA3MjA5LCAwLCAwLCA0Mjc4LCAwLCAwLCAxOTQ3ODksIDAsIDkwNzQsIDQzNDgsIAotICAgIDAsIDY1NTU4LCA2NTk0NiwgODExMywgNzA4NywgNTI1NSwgMTc4NiwgNjYxLCAwLCAwLCAwLCA3NDQyMywgNzEzNDUsIDU4NiwgCi0gICAgNzQ0MTQsIDY0MzU5LCAxMjY3LCAxMjgyNjksIDY1NDY4LCAwLCA2NTczMSwgMCwgMTI3MTc5LCAzNjIxLCAxMjA0NzMsIAotICAgIDY2NjY2LCA2NDIxMSwgMCwgNjU2MiwgMTI5MjgsIDAsIDEyMjgsIDY1NDkwLCAxMTM4MywgMCwgMCwgMCwgMTcxNCwgCi0gICAgNzQ0MDYsIDEyNzgzMSwgMCwgOTgzOTIxLCAwLCA2NjIyNSwgMCwgMCwgNDI2NjAsIDExNDM2LCAyMDcwLCA2NCwgMTIwNjk0LCAKLSAgICAwLCAxMDI5MSwgMTAzMjMsIDI4MjYsIDAsIDAsIDAsIDQyMDA4LCA5NzA4LCA0MjcxMCwgMCwgNDIwMTEsIDQxOTk5LCAKLSAgICA5MjE2NCwgMTIyMDYsIDU4MzksIDE3MDIsIDEyNDAsIDc0MDY1LCA2Mjg2LCAwLCA5ODM5NjksIDY1ODMzLCA3Nzg0OCwgMCwgCi0gICAgMTc2NSwgMCwgMCwgNjU1ODgsIDAsIDAsIDAsIDg0MDEsIDAsIDQyMDE0LCAwLCA3MDMwLCAxOTQ3MDQsIDEwNDc5LCAKLSAgICA2NDk1OSwgMjg1MiwgMCwgMCwgMCwgMCwgMTI4NTg2LCA5MTc5NTEsIDY5NjMsIDAsIDEyNjY3LCA2NDU0MCwgNzQ3ODYsIAotICAgIDEwMTQ3LCAxMjkzNSwgMTI3NTY4LCAxMjY0ODMsIDAsIDAsIDAsIDc4NzU3LCAwLCAwLCAwLCAwLCA5OTk0LCAxMjQ2NywgCi0gICAgMjg2NCwgNjQ3MTksIDExNDgsIDEwNDM1LCAxMTQ2MiwgNDE2NzUsIDcwODQsIDI3NjUsIDAsIDQzMzgyLCAwLCAxMjA3MTksIAotICAgIDEyODE4OCwgOTI1MTYsIDY2NjYyLCAwLCA3ODEzMywgOTM2NCwgMTk0Njg1LCA3NDQxNiwgMCwgMCwgNzc5ODgsIDI2MywgCi0gICAgMTA0NDksIDQxMjg4LCAwLCA0MTgzOSwgNzgzODcsIDk4Mzc0MiwgNzc5ODYsIDAsIDY5MzEsIDY5NzIyLCA2NDM1NSwgCi0gICAgNzE3NywgNzAxMDUsIDAsIDAsIDAsIDQyNjIsIDEwMjg1LCAxMDcyMiwgNDIwMjAsIDEyNjU3NSwgNjgwNiwgNjk5MiwgCi0gICAgNDIwMTksIDAsIDQxMjkwLCA5ODM3MTYsIDc1MCwgMCwgNzEzMDQsIDEwMTYzLCA2MzkxMywgNzEzMDAsIDcwMzIsIDU5NTQsIAotICAgIDY0OTMxLCA0MzE0LCAwLCAxOTgsIDY4NDUzLCA3MzAsIDEyMDA5NCwgNjM5MDcsIDc3OTkzLCA3ODg5MSwgMTMxNjUsIAotICAgIDcxMDcsIDc0MTcxLCA0MjgwNCwgNjc4LCA4MjQwLCA3ODAxNSwgMTI4Nzg0LCA0MTM3OCwgMTEwMDgsIDY5MzgsIDcwMDI2LCAKLSAgICA5MjYzNywgMjA5NywgNjYyNDYsIDEyMDU2MCwgMCwgMCwgMCwgMzg5MiwgNjg2MzIsIDY5NjQyLCA2NzEyLCA2NjA0NSwgCi0gICAgNDE0NzAsIDY0ODA1LCAwLCAwLCAxMjgyMTUsIDY0ODAxLCAwLCA0OTcsIDEyMTAwLCA1OTUzLCA5MjY2NywgNzc5NiwgCi0gICAgNjk2NjksIDQzMjU0LCA3MzgzMSwgMCwgMTAyOTMsIDU5NTIsIDEyODEsIDQzNzQ3LCAwLCAwLCAxMDY3NywgNjA0LCAKLSAgICA0MTA5NywgOTE4MiwgMTg1OSwgMCwgOTI2MDMsIDM0MjUsIDEyNzQ4OCwgMCwgMjgzNiwgMCwgMCwgOTcwNywgMCwgNDMyMDIsIAotICAgIDAsIDAsIDY1MTk5LCAxNzM4LCA5MTc4MTgsIDEyODE1OCwgMjgzMiwgOTI3MDIsIDk2NzAsIDEyOTM3LCAwLCA2NjM3NCwgCi0gICAgOTE3OTU2LCAwLCAyODIyLCA2ODEyMiwgNDQzNiwgOTI1MTksIDk4MzcyMywgNzM3NTIsIDAsIDY0ODcyLCA5MjM0MCwgCi0gICAgMTMzMSwgMCwgMCwgMCwgMTI3MDgsIDAsIDUwOTAsIDUwODksIDEyNzk3NywgMCwgMTE5MTA5LCAwLCAxMjg2ODEsIDMxOSwgCi0gICAgMTE4ODQ3LCA0MzQ3OSwgOTQ3NywgMCwgMCwgNTA4NywgOTIzMjUsIDc2NDAsIDk2LCA1MDg2LCAwLCA5MjM3OSwgMCwgCi0gICAgNTA4NSwgNjQyODYsIDkyNjY1LCAwLCA0MTQyMiwgMCwgMTE5OTAxLCA0MjM1NiwgMzc3MiwgMCwgMCwgNTAxMSwgMCwgMCwgCi0gICAgMTI2NTg3LCAwLCAxMjcxNjUsIDEyNzI0MSwgNjY3NywgNzYwMSwgMCwgNTkxLCA2NDQxOSwgMTE4OTUzLCA5MjI2MiwgMCwgCi0gICAgMTE4OTIzLCA3MDA4NCwgMCwgMTA5MzksIDYxMDYsIDY5MzMsIDQxMjcxLCA2NzYwLCA3MTM0MywgNDUzNCwgNDEyNzAsIAotICAgIDEyODg3NiwgMCwgNjU1NzQsIDAsIDkyMjQsIDY5ODUzLCAzNjcxLCA4OTc2LCAxMjY0NzQsIDAsIDQxMjc1LCA2MzcyLCAKLSAgICAxMjgwODQsIDU1MjYxLCA3OTYzLCA2MzcxLCAwLCA1NjgsIDAsIDQxMjczLCA5ODM3MzAsIDAsIDY3MjgsIDAsIDk3MTUsIDAsIAotICAgIDgyNTgsIDExNzUzLCA3NDgyMCwgMCwgOTYwMiwgMTE4OTE5LCA0MiwgMCwgNDM2ODgsIDAsIDAsIDc0NTgsIDAsIDAsIAotICAgIDY1Mzg1LCAxMTk5MDAsIDAsIDExOTU4LCAwLCA5MTc4MjIsIDAsIDYyNTQsIDQyNzIxLCA2NjMzNiwgODA0NSwgMTE1NTAsIAotICAgIDAsIDAsIDk4MzU5NywgNDI4NTgsIDExNzg5LCA2NTg2OCwgNTU1NywgMTAxMzMsIDk3MzcsIDEzMTA5LCAwLCA5NDY3LCAKLSAgICA1NTU4LCA4ODc4LCAxMjgxMzYsIDE5NTAzNiwgNzQ1MSwgNjcwNiwgMTAxNDYsIDAsIDkwODYsIDY0NTY2LCAwLCA2NDU4NCwgCi0gICAgNzQzNywgNzQ1NCwgMTI1OTQsIDEyODY5MCwgNjgzNjIsIDQ1NDYsIDc3MzEsIDAsIDcwMDQ4LCA3NDI0MywgMCwgMzgwNSwgCi0gICAgMCwgMTk0NTY1LCA0NDAwMSwgNDEwMDgsIDAsIDYzMDcsIDE5OTQ5LCA5ODM3OTAsIDc1NDQsIDk4MzA0NSwgNDM0NjksIDAsIAotICAgIDAsIDEwMTUyLCA2NDQyMiwgNjUwOTEsIDExOTExMywgNzYwMiwgNjQ3MjksIDAsIDQzNTIxLCAwLCA0MjMwMiwgNDM3MTEsIAotICAgIDQzNTIzLCA0MTQ0NywgNTU1OSwgMCwgODcwNCwgMjM5NywgNTU1NiwgMCwgMCwgMCwgOTAxMSwgOTYzMCwgOTI2MzMsIDAsIAotICAgIDkzOTk4LCA1NTA2LCAwLCAxOTExLCA2NjY1MiwgMCwgOTk2MSwgODg0NSwgNjY2OTgsIDAsIDEwNzkyLCA4ODg5LCAwLCAKLSAgICAyMDk4LCAwLCA2NDc1MSwgMCwgNjY2MjIsIDAsIDAsIDc0MzY0LCAwLCAwLCA5ODM4MDUsIDc0MzY1LCA3NTUyLCAwLCAwLCAKLSAgICA2NTM4NCwgNzIyMywgNDU1OSwgMCwgMTk1NiwgNDMxMzgsIDcwMjQsIDY1NzI4LCA2NDUwMSwgMTIxMCwgMTk1MDc3LCAKLSAgICA2NTE3NSwgMTAxODQsIDQzMTQwLCA0MzY1NCwgMCwgMCwgMCwgMzgsIDg1MzMsIDY2NjY5LCAxMTkxMjQsIDk4MzI5MywgCisgICAgODk4MCwgMTE4OTg4LCA2Nzg2MSwgODg0NCwgNzIwOSwgMCwgMCwgNDI3OCwgMTI4ODA5LCAwLCAxMjc5NDcsIDcwODIxLCAKKyAgICA5MDc0LCA0MzQ4LCAwLCA2NTU1OCwgNjU5NDYsIDgxMTMsIDcwODcsIDUyNTUsIDE3ODYsIDY2MSwgMCwgMCwgMCwgNzQ0MjMsIAorICAgIDcxMzQ1LCA1ODYsIDc0NDE0LCA2NDM1OSwgMTI2NywgMTI4MjY5LCA2NTQ2OCwgMCwgNjU3MzEsIDAsIDcyNDA1LCAzNjIxLCAKKyAgICA5MjkzMiwgNjY2NjYsIDY0MjExLCAwLCA2NTYyLCAxMjkyOCwgOTgzODkxLCAxMjI4LCA2NTQ5MCwgMTEzODMsIDAsIDAsIAorICAgIDcwMzQzLCAxNzE0LCA3NDQwNiwgMTIwNzUxLCAwLCA5ODM5MjEsIDAsIDY2MjI1LCAxMjg2MDgsIDcwODY3LCA0MjY2MCwgCisgICAgMTE0MzYsIDIwNzAsIDY0LCAxMjA2OTQsIDAsIDEwMjkxLCAxMDMyMywgMjgyNiwgMTEzODA5LCA5MTc2MjksIDAsIDQyMDA4LCAKKyAgICA5NzA4LCA0MjcxMCwgMCwgNDIwMTEsIDQxOTk5LCA5MjE2NCwgMTIyMDYsIDU4MzksIDE3MDIsIDEyNDAsIDc0MDY1LCAKKyAgICA2Mjg2LCA5Njg5LCA5ODM5NjksIDY1ODMzLCA3Nzg0OCwgMCwgMTc2NSwgMCwgMCwgNjU1ODgsIDAsIDAsIDAsIDg0MDEsIAorICAgIDk4MzkyNCwgNDIwMTQsIDAsIDcwMzAsIDE5NDcwNCwgMTA0NzksIDY0OTU5LCAyODUyLCAwLCAwLCAwLCA3MDgxOSwgCisgICAgMTI4NTg2LCA5MTc5NTEsIDY5NjMsIDAsIDEyNjY3LCA2NDU0MCwgNzQ3ODYsIDEwMTQ3LCAxMjkzNSwgMTI3NTY4LCAKKyAgICAxMjY0ODMsIDEyNzc4MiwgMCwgMCwgNzg3NTcsIDAsIDExMzgxNSwgMTI4OTY4LCAwLCA5OTk0LCAxMjQ2NywgMjg2NCwgCisgICAgNjQ3MTksIDExNDgsIDEwNDM1LCAxMTQ2MiwgNDE2NzUsIDcwODQsIDI3NjUsIDc4NDY2LCA0MzM4MiwgMCwgMTIwNzE5LCAKKyAgICAxMjgxODgsIDkyNTE2LCA2NjY2MiwgMCwgNzgxMzMsIDkzNjQsIDE5NDY4NSwgNzQ0MTYsIDEyNzc5NywgMCwgNzc5ODgsIAorICAgIDI2MywgMTA0NDksIDQxMjg4LCAwLCA0MTgzOSwgNzgzODcsIDk4Mzc0MiwgNzc5ODYsIDEyOTE0MCwgNjkzMSwgNjk3MjIsIAorICAgIDY0MzU1LCA3MTc3LCA3MDEwNSwgMCwgMCwgMCwgNDI2MiwgMTAyODUsIDEwNzIyLCA0MjAyMCwgMTI2NTc1LCA2ODA2LCAKKyAgICA2OTkyLCA0MjAxOSwgMCwgNDEyOTAsIDk4MzcxNiwgNzUwLCAwLCA3MTMwNCwgMTAxNjMsIDYzOTEzLCA3MTMwMCwgNzAzMiwgCisgICAgNTk1NCwgNjQ5MzEsIDQzMTQsIDEyODYwMCwgMTk4LCA2ODQ1MywgNzMwLCAxMjAwOTQsIDYzOTA3LCA3Nzk5MywgNzA4MTgsIAorICAgIDEzMTY1LCA3MTA3LCA3NDE3MSwgNDI4MDQsIDY3OCwgODI0MCwgNzgwMTUsIDEyODc4NCwgNDEzNzgsIDExMDA4LCA2OTM4LCAKKyAgICA3MDAyNiwgOTI2MzcsIDIwOTcsIDY2MjQ2LCAxMjA1NjAsIDcwODIzLCAxOTQ5OTAsIDk4MzYwNCwgMzg5MiwgNjg2MzIsIAorICAgIDY5NjQyLCA2NzEyLCA2NjA0NSwgNDE0NzAsIDY0ODA1LCAwLCA5ODMyMTMsIDEyODIxNSwgNjQ4MDEsIDAsIDQ5NywgCisgICAgMTIxMDAsIDU5NTMsIDkyNjY3LCA3Nzk2LCA2OTY2OSwgNDMyNTQsIDczODMxLCAwLCAxMDI5MywgNTk1MiwgMTI4MSwgCisgICAgNDM3NDcsIDAsIDAsIDEwNjc3LCA2MDQsIDQxMDk3LCA5MTgyLCAxODU5LCAwLCA5MjYwMywgMzQyNSwgMTI3NDg4LCAwLCAKKyAgICAyODM2LCAwLCAwLCA5NzA3LCAxMTM3MTgsIDQzMjAyLCAwLCAwLCA2NTE5OSwgMTczOCwgMTI4MzExLCA2NzcwNywgMjgzMiwgCisgICAgOTI3MDIsIDk2NzAsIDExMTAxLCAwLCA2NjM3NCwgOTE3OTU2LCAwLCAyODIyLCA2ODEyMiwgNDQzNiwgOTI1MTksIAorICAgIDk4MzA4MSwgNzM3NTIsIDAsIDY0ODcyLCA5MjM0MCwgMTMzMSwgMCwgMCwgMCwgMTI3MDgsIDkxNzk1NCwgNTA5MCwgNTA4OSwgCisgICAgMTI3OTc3LCA5ODM1NjEsIDExOTEwOSwgMCwgNzA4MjYsIDMxOSwgMTE4ODQ3LCA0MzQ3OSwgOTQ3NywgMCwgMCwgNTA4NywgCisgICAgOTIzMjUsIDc2NDAsIDk2LCA1MDg2LCAwLCA5MjM3OSwgMCwgNTA4NSwgNjQyODYsIDkyNjY1LCAxMTM3MTcsIDQxNDIyLCAKKyAgICAxMTk2MTcsIDExOTkwMSwgNDIzNTYsIDM3NzIsIDExOTA0MiwgMCwgNTAxMSwgMCwgMCwgMTI2NTg3LCAwLCAxMjcxNjUsIAorICAgIDEyNzI0MSwgNjY3NywgNzYwMSwgMCwgNTkxLCA2NDQxOSwgMTE4OTUzLCA5MjI2MiwgMCwgNzA3OTksIDcwMDg0LCAwLCAKKyAgICAxMDkzOSwgNjEwNiwgNjkzMywgNDEyNzEsIDY3NjAsIDcxMzQzLCA0NTM0LCA0MTI3MCwgMTI4ODc2LCA2NzEzOCwgNjU1NzQsIAorICAgIDE5NDk0NywgOTIyNCwgNjcxNDAsIDM2NzEsIDg5NzYsIDY3MTM5LCAwLCA0MTI3NSwgNjM3MiwgMTI4MDg0LCA1NTI2MSwgCisgICAgNzk2MywgNjM3MSwgMCwgNTY4LCA5MjM2OCwgNDEyNzMsIDk4MzczMCwgNzQ1MzEsIDY3MjgsIDAsIDk3MTUsIDAsIDgyNTgsIAorICAgIDExNzUzLCA3NDgyMCwgMCwgOTYwMiwgMTE4OTE5LCA0MiwgMTExOTEsIDQzNjg4LCA2ODI0MywgMCwgNzQ1OCwgMCwgMCwgCisgICAgNjUzODUsIDY3MTM1LCA2NzEzNCwgMTE5NTgsIDExMTY1LCA5MTc4MjIsIDEyNTA4NywgNjI1NCwgNDI3MjEsIDY2MzM2LCAKKyAgICA4MDQ1LCAxMTU1MCwgMCwgNjcxMzIsIDY3MTMxLCA0Mjg1OCwgMTE3ODksIDY1ODY4LCA1NTU3LCAxMDEzMywgOTczNywgCisgICAgMTMxMDksIDAsIDk0NjcsIDU1NTgsIDg4NzgsIDQzODQ0LCAxOTUwMzYsIDc0NTEsIDY3MDYsIDEwMTQ2LCAwLCA5MDg2LCAKKyAgICA2NDU2NiwgMCwgNjQ1ODQsIDc0MzcsIDc0NTQsIDEyNTk0LCA3Mzc0OSwgNjgzNjIsIDQ1NDYsIDc3MzEsIDAsIDcwMDQ4LCAKKyAgICA3NDI0MywgMTI1MDkyLCAzODA1LCAwLCA2NzEyOCwgNDQwMDEsIDQxMDA4LCAxMjgwNTIsIDYzMDcsIDE5OTQ5LCA2NzEyOSwgCisgICAgNzU0NCwgOTgzMDQ1LCA0MzQ2OSwgMCwgMCwgMTAxNTIsIDY0NDIyLCA2NTA5MSwgNjcxMjQsIDc2MDIsIDY0NzI5LCAwLCAKKyAgICA0MzUyMSwgMCwgNDIzMDIsIDQzNzExLCA0MzUyMywgNDE0NDcsIDU1NTksIDY4NDgzLCA4NzA0LCAyMzk3LCA1NTU2LCAwLCAKKyAgICAwLCAwLCA5MDExLCA5NjMwLCAxMTE2NiwgMCwgOTM5OTgsIDU1MDYsIDkyNDk4LCAxOTExLCA2NjY1MiwgNjc2ODYsIDk5NjEsIAorICAgIDg4NDUsIDY2Njk4LCA2ODMyNSwgMTA3OTIsIDg4ODksIDAsIDIwOTgsIDAsIDY0NzUxLCAxMjgzNjAsIDY2NjIyLCAKKyAgICA5ODMxMjIsIDAsIDc0MzY0LCAxMTM3MDgsIDEyOTE1MiwgOTgzODA1LCA0MjkwOSwgNzU1MiwgMTI4NjIyLCAwLCA2NTM4NCwgCisgICAgNzIyMywgNDU1OSwgOTMwMTUsIDE5NTYsIDQzMTM4LCA3MDI0LCA2NTcyOCwgNDM0OTAsIDEyMTAsIDE5NTA3NywgNjUxNzUsIAorICAgIDEwMTg0LCA0MzE0MCwgNDM2NTQsIDAsIDAsIDEyNTA0NSwgMzgsIDg1MzMsIDY2NjY5LCAxMTkxMjQsIDk4MzI5MywgCiAgICAgOTgzNzkyLCAwLCA0MzU3LCAwLCAxMTk4MzcsIDkxNzg2MywgNzQyMzMsIDk5NjcsIDc4ODg0LCA0Mjg2MCwgMTE5ODM4LCAKLSAgICAxMDk0MSwgNjU3MjEsIDY5NjIsIDAsIDAsIDExOTMyNCwgMCwgMTEwMTQsIDEyNzk3MiwgODk0MiwgMTIwMDAsIDY5MjI0LCAKLSAgICA5MjI2NywgMTI4NTM2LCAxMTk3NCwgOTIyMTMsIDQyNzcyLCAxMjc1MTgsIDExNjUwLCA1MDEzLCA5MjY2MywgMTI2NTgzLCAKLSAgICA2NjIxMCwgMTE4OTE0LCA2NjEzLCA5MjQ3NiwgMCwgNDM4MTksIDk4Mzc3MCwgMCwgNjQ3MTQsIDAsIDAsIDEyMTYyLCAKLSAgICAxMjEyMCwgNDM0NzYsIDk4Mzc2NiwgMTEwMjQsIDc0ODExLCA2NjIyOCwgMTA1NjMsIDAsIDEyNzE5NiwgNDM1MjIsIDI0NjIsIAotICAgIDAsIDE4MzcsIDAsIDYzOTcyLCA2OTU3LCAwLCAxMjA1NTksIDQ5NTIsIDY1NzE4LCA2NTgyNywgNTUwNCwgNjU3MjAsIAotICAgIDY1NzE0LCA2NTcxNSwgNjU3MTYsIDAsIDEyNzAwNSwgMTI3MTE5LCAzMTA5LCA2Mzk3NSwgNzQwMjgsIDAsIDgxMDcsIAotICAgIDExOTIzNCwgMTEyNywgNDU1LCAwLCA2Mzk2OCwgMTI3OTI0LCAzNDgzLCAxMTk1OTMsIDE5ODksIDAsIDY5Njc4LCA5MTA0LCAKLSAgICAzNTAzLCA2NTM3NSwgOTI1MDksIDY2OTQsIDQyNjMzLCAxODY0LCAwLCA3NDMwNiwgNDE0NDYsIDI1NDAsIDc3MzYsIDAsIAotICAgIDc0MDY0LCAwLCAxMDUyMSwgMCwgNDIxNzMsIDk3MDUsIDc0MTI0LCA4NjA0LCA2OTU1LCAxMDkxNiwgNDM2ODQsIDYxNDksIAotICAgIDM4ODcsIDE5OTU2LCAxNDExLCAyODI0LCAwLCAxMDEwNiwgMTI3ODYyLCAxNDAzLCAxMjg4MzksIDEzNDcsIDk2MzEsIAotICAgIDc0NDQ0LCAwLCAwLCAwLCAwLCA4NjQwLCAwLCAyNTgsIDE2NTQsIDAsIDAsIDAsIDQzMzE0LCAwLCAwLCA0MDQyLCAxMTQ3OCwgCi0gICAgMjg3MywgNjM5NzcsIDExNTIyLCA0MTY2OCwgODU0OSwgMTA4NjEsIDAsIDYzOTc2LCAwLCA2ODYyMywgMCwgNzQ1ODUsIAotICAgIDQxMzkxLCAwLCA5MTc5MDMsIDM3NiwgNjk4NywgOTIyMSwgMCwgMCwgODgyMywgMTI4Njk3LCAxMjk0MywgNjUxODUsIAotICAgIDQxODY5LCAxMjYxOSwgMCwgMTAxNTQsIDk4MzA0MywgNzQ0MzksIDIwMzksIDAsIDc0NDYsIDE2ODQsIDYzOTc5LCAxMDk3NCwgCi0gICAgNDU4LCAxMjA2MjAsIDAsIDY5NzkxLCAxMjcxNjEsIDExOTE2LCA2NTAxNiwgMCwgNjk2NzEsIDQyMTE1LCA5ODMxMzMsIAotICAgIDEyMjg4LCA3ODA1NywgMCwgMTQ5MywgNDIxMTEsIDc1NTMsIDQwOTcsIDEyODE5OSwgMTMwODAsIDAsIDY1ODA4LCA2NjEwLCAKLSAgICA2MDMwLCA4MDU5LCA3NTA4LCAxMzEzMSwgMCwgOTgzNDMxLCAwLCA4Nzk0LCA0MTI3OCwgNDE2MjksIDEyMTU0LCAxMjgxOTIsIAotICAgIDQxMjc3LCA2NDY1OCwgMCwgNjQzODAsIDY2MjUsIDc0MzU0LCAxOTkwNCwgMCwgMCwgMCwgNjUzNzEsIDcwNzgsIDAsIDgzMywgCi0gICAgMCwgNjM2OSwgMCwgMTA5NzksIDQxOTUzLCAwLCA0MTQzNCwgNjA2MiwgMCwgMCwgMTk5MTYsIDY5MTMsIDkzMywgMTM0MSwgCi0gICAgOTg0MiwgNjcyMCwgNjU3NDQsIDAsIDk4MzU5MiwgMTI4Mjk1LCAwLCA3NDA1LCAxMDEwNSwgNjU4MTAsIDAsIDQxNjMyLCAKLSAgICA3NDkzLCA1NTI5MCwgMCwgNDE2MjIsIDAsIDAsIDExOTU1NiwgNzQ1ODQsIDc2MzIsIDk3MTYsIDE5OTU0LCA5ODA1LCAKLSAgICA1OTkwLCA5MDAsIDAsIDYzOTU3LCAwLCAwLCAzNjEyLCAwLCA2NDM3NiwgOTM5ODcsIDUzODksIDkyNTk3LCAwLCA2NTkzOCwgCi0gICAgMjgzOSwgOTYyMSwgNTgyLCAwLCA3NDM2OCwgMzc0OSwgNjk0OSwgNzU2OSwgNzQwNjEsIDAsIDAsIDY5NTYsIDQ0MDMsIAotICAgIDE5OTYyLCA2NTU1OSwgMzI5OSwgMCwgOTE3NTY2LCAxMTkxMjcsIDkwMDIsIDAsIDc0MzcyLCA3NDIzNiwgODQ3OCwgNzU5OCwgCi0gICAgNTQ2LCA0MjQ2OSwgNjU1NjksIDE5MTgsIDk1NDIsIDQ3MiwgNzcxNiwgMTAzMTksIDEwMzgzLCA2OTk2LCAwLCA2Mzk1MiwgCi0gICAgODQyNSwgMzYwMiwgODMyOCwgMTE3NjQsIDExODg5NCwgMCwgNjk3OTYsIDQxMTgzLCAxMjkwNywgMTAyNzEsIDEwMjg3LCAKLSAgICA2ODQsIDQzNTI1LCAwLCAyODU0LCAxMTk1ODYsIDQ1OTIsIDY1NzU1LCAwLCA5MjI1NiwgMTE5NjMsIDQzNjIwLCAwLCAKLSAgICA3ODI0OSwgMCwgMTI4NTUxLCAxMjg4MDksIDk4ODEsIDQzMTE1LCA2NTc1NywgMzQxNSwgMTE5MTMxLCAwLCA4NjQ4LCAwLCAKLSAgICA2NzQxLCA0MzA0NywgMCwgMTMxODAsIDEyODUxNywgNDE4LCA5MTc5NzIsIDY0NDk1LCAxMDI5NSwgMTAzMjcsIDEwMzkxLCAKLSAgICA0MTc1MiwgNzQzMzksIDg2NDEsIDQxNDQ5LCAwLCA3NDEwMCwgMCwgMTA5MTEsIDY5NDIsIDAsIDEwMjQsIDQyODQ5LCAKLSAgICA0MTc1MSwgNjk3NzYsIDg5NDEsIDk4MzU1NiwgNDU1NCwgMCwgOTAyMywgMTE2ODUsIDAsIDk5MjgsIDc4NjE3LCAwLCAKLSAgICAxMTQzNywgNDM3NDEsIDkyMTYzLCAxMjA3MDAsIDYzOTY3LCA5ODM0ODMsIDQxMjA2LCAxMjA3MjQsIDkwNDksIDQxMTg1LCAKLSAgICA0MzE2NiwgMCwgMTE2ODAsIDkyNjE5LCAxMTY4NiwgNzg1NDQsIDY1MjI0LCA0NTY1LCA0NjU1LCAxMTk1NTMsIDAsIAotICAgIDkyMTgzLCA2NDUyMywgMTAzNDMsIDEwNDA3LCAwLCA2NjY3MSwgMTE0NjYsIDAsIDEyODAwMywgNDI4OTAsIDc0MDEzLCAKLSAgICAxMjA1MCwgNjgyMDEsIDI4NjAsIDAsIDAsIDAsIDQyNzkyLCA1NzQzLCAxMDQyNCwgMTIwNjUsIDQyODcyLCAwLCA5MjM0MiwgCi0gICAgMCwgODg3NSwgMCwgMCwgOTE3OTkxLCA3NTMxLCAxMjg0NywgMjQxMywgMCwgNzg2MzUsIDk2MiwgMCwgMTI4NTUsIDQxMTk2LCAKLSAgICA0MjU2NCwgMCwgMTU4MiwgOTgzNzE1LCA1NTA4LCAwLCAwLCAwLCAxMDgwMSwgNjk4NzYsIDkyMzU0LCAwLCA3MTczLCA0OTYsIAotICAgIDEwNDM5LCA0MzEzLCA2NDYwNywgNjk2MzgsIDc4NjAsIDAsIDkwNiwgNDI3OTMsIDI4NDIsIDY0MDUsIDY0NzIyLCAxMzEzMiwgCi0gICAgNzk4LCA2NDY5NCwgMTI4MDEsIDg0MDYsIDExNTMsIDkyMTczLCA2NDc4OCwgMCwgODA1NCwgOTE3NCwgMTI4NjUyLCAKLSAgICA5MTc5NzYsIDk5NjQsIDc0NDA5LCA0MTYxMSwgNDY0MiwgNjY1NzQsIDExNTU2LCA5MTc5ODIsIDAsIDc4ODU3LCA0MjA4OSwgCi0gICAgNzg4NTUsIDkwMDgsIDAsIDEyNjU5MiwgMTk1MDk2LCA0MjA3OSwgOTE3OTgxLCA3NzkyNCwgNDI1MTMsIDc3OTI3LCAKLSAgICA0Mjg0MiwgNzM5ODUsIDY1Mjg1LCAxMTg5NzQsIDEyNzAwMywgOTgzNzAyLCAwLCAwLCAwLCAxMTMzNSwgNjQwNjksIAotICAgIDQyMDkzLCAzOTIwLCAwLCAwLCAwLCAwLCA0NTgwLCA0MTk2NywgOTgzNzMyLCA2NDM4NCwgOTIxNjcsIDkzOTg0LCAzMDIxLCAKLSAgICA0MjAwNCwgMCwgMCwgNDIzMTcsIDQxOTk4LCAwLCA2OTQ2LCAwLCAwLCAwLCAxMjgxOTMsIDY1MjA0LCAwLCA2ODExMywgCi0gICAgNDI2OTAsIDk4ODAsIDQyMDEwLCA3NDgyNCwgNjQ1ODksIDEwMTExLCA2NDg3NSwgMTI3ODgwLCA2ODM5OSwgNDM5OTgsIAotICAgIDExMzYwLCAwLCAwLCAwLCAxMTg4MjYsIDQyMTQ5LCAwLCAwLCAwLCA2NDk0MSwgNzc5MTksIDEyMDQyMSwgMTI4MDc3LCAwLCAKLSAgICA1NTI0NywgNDExMCwgNjYwMDUsIDY5NTksIDEwOTI5LCAxMTkxMTAsIDAsIDY2NzAzLCA3NzkyMSwgODYxNywgNDE5ODIsIAotICAgIDYwMjUsIDY5MjQyLCA5ODMxNzYsIDAsIDAsIDAsIDk1OTcsIDQyMDk5LCA0MzE3MiwgOTgzMzc2LCAxMDExNywgOTgzMTY5LCAKLSAgICA5MjI5NywgNDE2MzYsIDAsIDAsIDEyMDY4MSwgODMwMSwgMCwgMCwgMTg3LCAwLCA2NTY2OSwgMTI4MzM5LCA0OTYzLCAwLCAKLSAgICAxMjc1MTcsIDAsIDg5NjQsIDY1Njc2LCA3Nzc1LCAwLCA0MTk0OCwgMCwgMCwgMCwgNDE5NDIsIDY1NDQ5LCAzMTYwLCAKLSAgICAxMDA4MSwgMTMyMjYsIDQyMTIxLCA0MjQ3NSwgNDI2NjMsIDEyODIxMCwgNDE3NjYsIDExOTExNCwgNjU4ODIsIDc4ODQ5LCAKLSAgICA0MTc2MCwgMTE4OSwgOTA1LCA0ODAsIDEwOTg1LCA0MTczMywgNjc4NTksIDk2MjksIDY3NDIsIDE3NDUsIDQzNjI1LCAKLSAgICA3MzgzNSwgNzg4OCwgMCwgMzk4MCwgMCwgNDI2NTYsIDQxNTA3LCA4ODA2LCA3MDIzLCAwLCA3NDI3OSwgOTQ0NywgNzg2NTEsIAotICAgIDc4NjcsIDY5MjE4LCA2MjM2LCA5ODMxMzQsIDAsIDEwNTA1LCAwLCAxMjg1MSwgMTE4OTQ4LCAzNDgsIDU0NzQsIDEyODg0MywgCi0gICAgMzEwMywgMCwgNDE3NTMsIDEyODU0MCwgMCwgMCwgNzg4NDQsIDc4ODQ1LCA0MTczOSwgNzg4NDMsIDQyNTE1LCAxMDkzMSwgCi0gICAgNDE3NTYsIDQzMzQ3LCA0MjU2MCwgNTM5MSwgNDE3NDYsIDExOTE0NywgOTI1OTEsIDQxMjU5LCA1NTYxLCA2OTkzMCwgCi0gICAgMjY5MSwgMCwgNjU1NTMsIDc5MzMsIDU1NjIsIDY5ODAwLCAxMjgyNjUsIDQxMjYyLCAxMjgxNDYsIDY0NDIxLCA3NDg0NiwgCi0gICAgNDEyNTEsIDAsIDAsIDM5NzksIDAsIDAsIDc0ODEzLCA5ODM3MzksIDAsIDAsIDAsIDkyNTI0LCA0MTI2NiwgMCwgNjY1NjYsIAotICAgIDEyODgzNiwgMTA1ODUsIDY1NzQxLCA0MTczNywgOTU3NCwgMjY2NiwgMCwgNDE3MzgsIDgzMSwgNDE5LCAxMzEyNiwgCi0gICAgMTA3MTYsIDAsIDQyODIyLCAwLCA2NDM0LCAwLCA2OTM5LCA3NzY2LCA2NDMyLCAxMjgxMDYsIDY5OTMyLCA5MTYsIDc2OSwgCi0gICAgNDE3NDIsIDExOTY4LCA3NDgwNSwgNjQzMywgNTU2MywgNTQ3LCAxOTQzLCA2NDM5LCA1NTYwLCA0OTk0LCA0ODcsIAotICAgIDEyNjUzNywgNDQ5NywgMzc1NCwgMTI3MDU2LCAxMjA0MjQsIDkwMzksIDAsIDQxNzc2LCAwLCA4NzE2LCAxNTk1LCA0MTYxNSwgCi0gICAgMCwgMCwgNzQyNjAsIDAsIDQyODU0LCA0MzIxOSwgMTI4NzA5LCA5ODM0NjAsIDEyMTg1LCAxMjg4NzksIDcwMDcyLCAKLSAgICA2ODM1NSwgNjgzNTcsIDAsIDQyODU2LCA4NjM0LCAwLCA5ODMzOTcsIDQyMDksIDEyMDcwMiwgMCwgNjU4NzksIDQxNTM4LCAKLSAgICA2NTYxMiwgMTI3NTQzLCA2NjksIDU2NzksIDAsIDY5Nzg2LCA5MjU0MCwgMCwgOTgzNDY0LCA1Njc4LCAxMTgyMSwgMCwgCi0gICAgNjcxMSwgNDYwLCAwLCAwLCA5ODM0NjEsIDAsIDEyMDc0NywgMCwgMCwgNzgwNTAsIDExOTAyMiwgMCwgOTgzNDYyLCAwLCAKLSAgICA3NzgyLCA5MDQ0LCA0OTc0LCAxMTc2MCwgNzg0OTQsIDc1NzcsIDY1NzExLCA0MTkxMiwgMTIxNiwgMCwgMTI4MDc5LCAKLSAgICA1NzkyLCAwLCAwLCA3ODUwMSwgMCwgMjkzMywgMTIyNDQsIDAsIDU2ODMsIDk4MzM5MiwgMCwgNzgxMTksIDE1NDksIDAsIDAsIAotICAgIDEyMDM5OCwgNTY4MiwgNjIwNiwgODY3MCwgMTAyNTYsIDU2ODAsIDY5OTM1LCAxMDAwMSwgMTI4NTEyLCA2OTc2OCwgMTQ0OSwgCi0gICAgMTAyNDEsIDc4MjkwLCAxMjgyMjgsIDAsIDEwNTUyLCA2NDM0MiwgNDE5MjIsIDEyODU0OCwgODU4NCwgNjgwMzAsIDU1NjcsIAorICAgIDEwOTQxLCA2NTcyMSwgNjk2MiwgMCwgMCwgMTEzODA4LCAwLCAxMTAxNCwgMTIwMTI2LCA4OTQyLCAxMjAwMCwgNjkyMjQsIAorICAgIDkyMjY3LCAxMjg1MzYsIDExOTc0LCA2NzM2MywgNDI3NzIsIDQyNjUwLCAxMTY1MCwgNTAxMywgOTI2NjMsIDEyNjU4MywgCisgICAgNjYyMTAsIDExODkxNCwgNjYxMywgOTI0NzYsIDAsIDExMTkzLCA5ODM3NzAsIDAsIDY0NzE0LCAwLCA3MDgwMiwgMTIxNjIsIAorICAgIDEyMTIwLCA0MzQ3NiwgOTgzNzY2LCAxMTAyNCwgNzQ4MTEsIDY2MjI4LCAxMDU2MywgOTI5NTQsIDEyNzE5NiwgNDM1MjIsIAorICAgIDI0NjIsIDkyOTU1LCAxODM3LCAxMjUwODYsIDYzOTcyLCA2OTU3LCAwLCAxMTM4MjAsIDQ5NTIsIDY1NzE4LCA2NDQwNSwgCisgICAgNTUwNCwgNjU3MjAsIDY1NzE0LCA2NTcxNSwgNjU3MTYsIDAsIDEyNzAwNSwgMTI3MTE5LCAzMTA5LCA2Mzk3NSwgNzQwMjgsIAorICAgIDEyNzIxMywgODEwNywgNjcxNTQsIDExMjcsIDQ1NSwgMCwgNjM5NjgsIDEyNzgzNSwgMzQ4MywgMTE5NTkzLCAxOTg5LCAwLCAKKyAgICA2OTY3OCwgOTEwNCwgMzUwMywgNjUzNzUsIDY4MzAwLCA2Njk0LCA0MjYzMywgMTg2NCwgMCwgNzQzMDYsIDQxNDQ2LCAKKyAgICAyNTQwLCA3NzM2LCA5MTc5MTYsIDc0MDY0LCAxMjg2MDEsIDEwNTIxLCA3MDc4NiwgNDIxNzMsIDk3MDUsIDc0MTI0LCAKKyAgICA4NjA0LCA2OTU1LCAxMDkxNiwgNDM2ODQsIDYxNDksIDM4ODcsIDE5OTU2LCAxNDExLCAyODI0LCAwLCAxMDEwNiwgCisgICAgMTI3ODYyLCAxNDAzLCAxMjUwNTMsIDEzNDcsIDk2MzEsIDc0NDQ0LCA5ODM3NTMsIDAsIDkyOTUxLCAwLCA4NjQwLCAwLCAKKyAgICAyNTgsIDE2NTQsIDAsIDAsIDAsIDQzMzE0LCAwLCAwLCA0MDQyLCAxMTQ3OCwgMjg3MywgNjM5NzcsIDExNTIyLCA0MTY2OCwgCisgICAgODU0OSwgMTA4NjEsIDEyODQzMCwgNjM5NzYsIDcwMzc3LCA2ODYyMywgNjcwODIsIDY3MDgxLCA0MTM5MSwgNjcwODQsIAorICAgIDkxNzkwMywgMzc2LCA2OTg3LCA5MjIxLCAwLCAwLCA4ODIzLCAxMjg2OTcsIDEyOTQzLCA2NTE4NSwgNDE4NjksIDEyNjE5LCAKKyAgICAwLCAxMDE1NCwgOTgzMDQzLCA3NDQzOSwgMjAzOSwgMCwgNzQ0NiwgMTY4NCwgNjM5NzksIDEwOTc0LCA0NTgsIDEyMDYyMCwgCisgICAgMCwgNjk3OTEsIDEyNzE2MSwgMTE5MTYsIDY1MDE2LCAwLCA2OTY3MSwgNDIxMTUsIDk4MzEzMywgMTIyODgsIDc4MDU3LCAKKyAgICA2NzA4MCwgMTQ5MywgNDIxMTEsIDc1NTMsIDQwOTcsIDEyODE5OSwgMTMwODAsIDAsIDY1ODA4LCA2NjEwLCA2MDMwLCAKKyAgICA4MDU5LCA3NTA4LCAxMzEzMSwgNjcwNzQsIDY3MDczLCAwLCA4Nzk0LCA0MTI3OCwgNDE2MjksIDEyMTU0LCAxMjgxOTIsIAorICAgIDQxMjc3LCA2NDY1OCwgMCwgNjQzODAsIDY2MjUsIDQyOTExLCAxOTkwNCwgMCwgMCwgNzExOTMsIDY1MzcxLCA3MDc4LCAwLCAKKyAgICA4MzMsIDAsIDYzNjksIDAsIDEwOTc5LCA0MTk1MywgMCwgNDE0MzQsIDYwNjIsIDAsIDAsIDE5OTE2LCA2OTEzLCA5MzMsIAorICAgIDEzNDEsIDk4NDIsIDY3MjAsIDY1NzQ0LCA3MTIwMCwgOTgzNTkyLCAxMjgyOTUsIDAsIDc0MDUsIDEwMTA1LCA2NTgxMCwgMCwgCisgICAgNDE2MzIsIDc0OTMsIDU1MjkwLCA5Mjg5MCwgNDE2MjIsIDAsIDAsIDExOTU1NiwgNzQ1ODQsIDc2MzIsIDk3MTYsIDE5OTU0LCAKKyAgICA5ODA1LCA1OTkwLCA5MDAsIDAsIDYzOTU3LCAxMTk2MzgsIDAsIDM2MTIsIDAsIDY0Mzc2LCA5Mzk4NywgNTM4OSwgOTI1OTcsIAorICAgIDAsIDY1OTM4LCAyODM5LCA5NjIxLCA1ODIsIDAsIDc0MzY4LCAzNzQ5LCA2OTQ5LCA3NTY5LCA3NDA2MSwgMCwgMCwgNjk1NiwgCisgICAgNDQwMywgMTk5NjIsIDY1NTU5LCAzMjk5LCAwLCA5MTc1NjYsIDExOTEyNywgOTAwMiwgMCwgNzQzNzIsIDc0MjM2LCA4NDc4LCAKKyAgICA3NTk4LCA1NDYsIDQyNDY5LCA2NTU2OSwgMTkxOCwgOTU0MiwgNDcyLCA3NzE2LCAxMDMxOSwgMTAzODMsIDY5OTYsIAorICAgIDQzMDc3LCA2Mzk1MiwgODQyNSwgMzYwMiwgODMyOCwgMTE3NjQsIDExODg5NCwgOTgzNzUwLCA2NTA2NSwgNDExODMsIAorICAgIDEyOTA3LCAxMDI3MSwgMTAyODcsIDY4NCwgNDM1MjUsIDAsIDI4NTQsIDExOTU4NiwgNDU5MiwgNjU3NTUsIDk4MzI3NiwgCisgICAgNjcxMjAsIDExOTYzLCA0MzYyMCwgNjcxMTcsIDc4MjQ5LCA2NzEyMywgNjcxMjIsIDY3MTIxLCA5ODgxLCA0MzExNSwgCisgICAgNjU3NTcsIDM0MTUsIDY5Njc3LCA2NzExNiwgODY0OCwgMTI4Mzc3LCA2NzQxLCA0MzA0NywgOTE3OTcwLCAxMzE4MCwgCisgICAgNzgwNzcsIDQxOCwgMTIwNjUzLCA2NDQ5NSwgMTAyOTUsIDEwMzI3LCAxMDM5MSwgNDE3NTIsIDY2ODQ2LCA4NjQxLCAKKyAgICA0MTQ0OSwgMCwgNzQxMDAsIDAsIDEwOTExLCA2OTQyLCAwLCAxMDI0LCA0Mjg0OSwgNDE3NTEsIDY5Nzc2LCA4OTQxLCAKKyAgICA5ODM1NTYsIDQ1NTQsIDY2ODkyLCA5MDIzLCAxMTY4NSwgMCwgOTkyOCwgNjcxMDksIDY2ODY1LCAxMTQzNywgNDM3NDEsIAorICAgIDY3MTEzLCA2NzExMiwgNjM5NjcsIDk4MzQ4MywgNDEyMDYsIDEyNjI0LCA5MDQ5LCA0MTE4NSwgNDMxNjYsIDAsIDgxNTksIAorICAgIDkyNjE5LCAxMTY4NiwgNzg1NDQsIDY1MjI0LCA0NTY1LCA0NjU1LCAxMTk1NTMsIDEyOTA5MCwgOTIxODMsIDY0NTIzLCAKKyAgICAxMDM0MywgMTA0MDcsIDkyNzY0LCA2NjY3MSwgMTE0NjYsIDAsIDEyODAwMywgNDI4OTAsIDc0MDEzLCAxMjA1MCwgNjgyMDEsIAorICAgIDI4NjAsIDAsIDAsIDcwODI4LCA0Mjc5MiwgNTc0MywgMTA0MjQsIDEyMDY1LCA0Mjg3MiwgMCwgOTIzNDIsIDY3MTAzLCAKKyAgICA4ODc1LCAwLCA2NzEwMiwgNjcxMDUsIDc1MzEsIDEyODQ3LCAyNDEzLCAxMTg5MTcsIDY3NDA0LCA5NjIsIDAsIDEyODU1LCAKKyAgICA0MTE5NiwgNDI1NjQsIDAsIDE1ODIsIDk4MzcxNSwgNTUwOCwgMCwgMCwgMCwgMTA4MDEsIDY5ODc2LCA5MjM1NCwgCisgICAgMTE5MjA3LCA3MTczLCA0OTYsIDEwNDM5LCA0MzEzLCA2NDYwNywgNjk2MzgsIDc4NjAsIDAsIDkwNiwgNDI3OTMsIDI4NDIsIAorICAgIDY0MDUsIDY0NzIyLCAxMzEzMiwgNzk4LCA2NDY5NCwgMTI4MDEsIDg0MDYsIDExNTMsIDkyMTczLCA2NDc4OCwgMTI3MDA3LCAKKyAgICA4MDU0LCA5MTc0LCA2NzA4NywgNjcwODYsIDk5NjQsIDY3MDk2LCA0MTYxMSwgNDY0MiwgNjY1NzQsIDExNTU2LCA0MjUxMiwgCisgICAgMCwgNzg4NTcsIDQyMDg5LCA3NDYxMywgOTAwOCwgMCwgMTI2NTkyLCAxOTUwOTYsIDQyMDc5LCA5MTc5ODEsIDc3OTI0LCAKKyAgICA0MjUxMywgNzc5MjcsIDQyODQyLCA3Mzk4NSwgNjUyODUsIDY4MzM4LCAxMjcwMDMsIDk4MzcwMiwgMCwgMTk0NzYxLCAKKyAgICA5ODM1OTAsIDExMzM1LCA2NDA2OSwgNDIwOTMsIDM5MjAsIDAsIDAsIDExMTEwLCAwLCA0NTgwLCA0MTk2NywgMTI5MDQzLCAKKyAgICA2NDM4NCwgOTIxNjcsIDkzOTg0LCAzMDIxLCA0MjAwNCwgMCwgOTgzMzcyLCA0MjMxNywgNDE5OTgsIDAsIDY5NDYsIAorICAgIDE5NDc1NSwgOTI5NjcsIDAsIDEyODE5MywgNjUyMDQsIDAsIDY4MTEzLCA0MjY5MCwgOTg4MCwgNDIwMTAsIDc0ODI0LCAKKyAgICA2NDU4OSwgMTAxMTEsIDY0ODc1LCAxMjc4ODAsIDY4Mzk5LCA0Mzk5OCwgMTEzNjAsIDAsIDc0MTgyLCAxMjg2NDgsIAorICAgIDkyNjMzLCA0MjE0OSwgMCwgNjg1MDgsIDkxNzk5MywgNjQ5NDEsIDc3OTE5LCAxMjA0MjEsIDEyODA3NywgMCwgNTUyNDcsIAorICAgIDQxMTAsIDY2MDA1LCA2OTU5LCAxMDkyOSwgNDI5MDcsIDAsIDY2NzAzLCA3NzkyMSwgODYxNywgNDE5ODIsIDYwMjUsIAorICAgIDY5MjQyLCA5ODMxNzYsIDE5NDg1NCwgMTI1MTM5LCAwLCA5NTk3LCA0MjA5OSwgNDMxNzIsIDk4MzM3NiwgMTAxMTcsIAorICAgIDk4MzE2OSwgOTIyOTcsIDQxNjM2LCAxOTQ4ODksIDczNzM4LCAxMjA2ODEsIDgzMDEsIDAsIDAsIDE4NywgMTI4MjM3LCAKKyAgICA2NTY2OSwgMTI4MzM5LCA0OTYzLCAwLCAxMjc1MTcsIDAsIDg5NjQsIDY1Njc2LCA3Nzc1LCAwLCA0MTk0OCwgMTI1MDAzLCAKKyAgICAwLCAwLCA0MTk0MiwgNjU0NDksIDMxNjAsIDEwMDgxLCAxMzIyNiwgNDIxMjEsIDQyNDc1LCA0MjY2MywgMTI4MjEwLCAKKyAgICA0MTc2NiwgMTE5MTE0LCA2NTg4MiwgNzg4NDksIDQxNzYwLCAxMTg5LCA5MDUsIDQ4MCwgMTA5ODUsIDQxNzMzLCA2Nzg1OSwgCisgICAgOTYyOSwgNjc0MiwgMTc0NSwgNDM2MjUsIDczODM1LCA3ODg4LCAwLCAzOTgwLCA3MDM3MywgNDI2NTYsIDQxNTA3LCA4ODA2LCAKKyAgICA3MDIzLCAwLCA3NDI3OSwgOTQ0NywgNzg2NTEsIDc4NjcsIDY5MjE4LCA2MjM2LCA5ODMxMzQsIDAsIDEwNTA1LCAxMjkxMzUsIAorICAgIDEyODUxLCAxMTg5NDgsIDM0OCwgNTQ3NCwgMTI4ODQzLCAzMTAzLCAwLCA0MTc1MywgNzExMDksIDEyODYwNCwgMCwgCisgICAgNzg4NDQsIDc4ODQ1LCA0MTczOSwgNzg4NDMsIDQyNTE1LCAxMDkzMSwgNDE3NTYsIDQzMzQ3LCA0MjU2MCwgNTM5MSwgCisgICAgNDE3NDYsIDExOTE0NywgOTI1OTEsIDQxMjU5LCA1NTYxLCA2OTkzMCwgMjY5MSwgOTI5NDEsIDY1NTUzLCA3OTMzLCA1NTYyLCAKKyAgICA2OTgwMCwgMTI4MjY1LCA0MTI2MiwgMTI4MTQ2LCA2NDQyMSwgNzQ4NDYsIDQxMjUxLCAwLCAwLCAzOTc5LCA3MTI0OCwgMCwgCisgICAgNjgzMzEsIDkxNzkxMiwgMCwgMCwgMCwgNzQ2MzMsIDQxMjY2LCAwLCA2NjU2NiwgMTI4ODM2LCAxMDU4NSwgNjU3NDEsIAorICAgIDQxNzM3LCA5NTc0LCAyNjY2LCAwLCA0MTczOCwgODMxLCA0MTksIDEzMTI2LCAxMDcxNiwgMCwgNDI4MjIsIDAsIDY0MzQsIAorICAgIDc0ODU3LCA2OTM5LCA3NzY2LCA2NDMyLCAxMjgxMDYsIDY5OTMyLCA5MTYsIDc2OSwgNDE3NDIsIDExOTY4LCA3NDgwNSwgCisgICAgNjQzMywgNTU2MywgNTQ3LCAxOTQzLCA2NDM5LCA1NTYwLCA0OTk0LCA0ODcsIDEyNjUzNywgNDQ5NywgMzc1NCwgMTI3MDU2LCAKKyAgICAxMjA0MjQsIDkwMzksIDAsIDQxNzc2LCAwLCA4NzE2LCAxNTk1LCA0MTYxNSwgMCwgMCwgNzQyNjAsIDc0ODYwLCA0Mjg1NCwgCisgICAgNDMyMTksIDEyODcwOSwgMTI5MDgzLCAxMjE4NSwgMTEzODEwLCA3MDA3MiwgNjgzNTUsIDY4MzU3LCA2ODQyMSwgNDI4NTYsIAorICAgIDg2MzQsIDAsIDExOTk4OCwgNDIwOSwgMTIwNzAyLCA3ODA0NiwgNjU4NzksIDQxNTM4LCA2NTYxMiwgMTI3NTQzLCA2NjksIAorICAgIDU2NzksIDAsIDY5Nzg2LCA5MjU0MCwgMCwgNzA0NDUsIDU2NzgsIDExODIxLCAwLCA2NzExLCA0NjAsIDAsIDAsIDk4MzQ2MSwgCisgICAgNzAxMTQsIDEyMDc0NywgMCwgMTI4NDEyLCA3ODA1MCwgMTE5MDIyLCAwLCA5ODM0NjIsIDk4MzE3NCwgNzc4MiwgOTA0NCwgCisgICAgNDk3NCwgMTE3NjAsIDc4NDk0LCA3NTc3LCA2NTcxMSwgNDE5MTIsIDEyMTYsIDAsIDEyNzAxNywgNTc5MiwgMCwgMTI4MzE5LCAKKyAgICA3ODUwMSwgMCwgMjkzMywgMTIyNDQsIDAsIDU2ODMsIDkxNzg5NiwgMCwgNzgxMTksIDE1NDksIDAsIDAsIDEyMDM5OCwgCisgICAgNTY4MiwgNjIwNiwgODY3MCwgMTAyNTYsIDU2ODAsIDY5OTM1LCAxMDAwMSwgNjcyMzcsIDY5NzY4LCAxNDQ5LCAxMDI0MSwgCisgICAgNzgyOTAsIDExOTU4NywgMTk0ODkxLCAxMDU1MiwgNjQzNDIsIDQxOTIyLCA3MDMzMCwgODU4NCwgNjgwMzAsIDU1NjcsIAogICAgIDI3MTcsIDAsIDAsIDU1NjQsIDQyODg2LCA0MTkwOCwgNDI4ODIsIDU1NjUsIDk4MzI1NiwgMTI4MDI2LCAwLCA2NTcwOCwgCiAgICAgNjU3MDksIDU1NjYsIDY5ODAzLCA2NTcwNCwgNjU3MDUsIDExOTA0LCA0Mjg3NSwgNDMzNzMsIDQyNTM5LCA1OTQyLCA4NDY4LCAKLSAgICAxMjA1NjEsIDEwMzYxLCAxMDQyNSwgNjU2OTcsIDY1Njk4LCA2NTY5OSwgMCwgNjY1OTgsIDAsIDY0NjY0LCAxMDY0NywgCi0gICAgNzg3MDIsIDc4NzAzLCA3ODY5MCwgNDU3LCA3ODUwMiwgNjU3MDEsIDE5MzQsIDQzMDA2LCAxMTk5MDMsIDg4MDIsIDc4NzEwLCAKLSAgICA2NTEzMCwgMTE3NDcsIDc4NzA5LCA2MDg3LCA3ODcwNSwgNzg3MTYsIDQxNzU3LCA3ODcxMSwgODA0MywgODk1MCwgNjU2OTQsIAotICAgIDY0NDg1LCA0MzUzNCwgMTA0NTcsIDAsIDExOTYxLCA3ODcyNSwgNzg3MjIsIDc4NzIzLCA3ODcyMCwgNzg3MjEsIDAsIAotICAgIDY1NTE1LCA5NDk5LCAxMDAzNSwgMTMwNjksIDcxMzA5LCAwLCA5ODg5LCA2ODE4NCwgNDI4MDYsIDAsIDcyNTYsIDAsIDAsIAotICAgIDE2NjcsIDQyMTYxLCAwLCA0MjQyOCwgMCwgNjkzNCwgMCwgMTA4MDIsIDY0ODYxLCA2NTU2LCA3ODM5MCwgMCwgODEwMSwgCi0gICAgMzYxMCwgOTgzMTk5LCA0MTc0OCwgNDk5NSwgOTU1LCA2NTkwNywgMTE5MjA4LCA1MzUwLCA2NDMzOSwgNzgzMDYsIDY0NTQ5LCAKLSAgICAxMDg3NSwgMTI4NjYyLCA1NDc3LCA2NTY5MiwgMCwgMTI4NTMyLCAxMjAzOTcsIDEyODk2LCAxMDQ1NiwgOTE3OTU0LCAwLCAKLSAgICAzODc0LCAwLCAwLCA5ODM2MTksIDEyMDMzMSwgMCwgMCwgNjU2MDMsIDAsIDY1Njg3LCAwLCA0MTAzOCwgNzQwMDksIAotICAgIDExOTU3MCwgNDIyMzksIDg1MzYsIDc4NzQwLCA3ODMyNCwgNzg3MjYsIDc0NDMyLCA3MjQsIDAsIDE0NTUsIDc4NzQ5LCAKLSAgICA3MTgzLCA2NDU4MywgNzg3NDcsIDY4NDQzLCA0MTc1LCA3ODc0MSwgNDM2MTQsIDY5ODAxLCA5MzksIDAsIDQzNTIwLCAKLSAgICA2ODYxMywgNzQ1NjksIDkxNzk1OCwgMCwgNzg3NjMsIDc4NzY0LCA3ODc2MCwgMTA3ODgsIDYwODgsIDc4NzU5LCA3ODc1NSwgCi0gICAgMTkwLCAwLCAxMjU5MywgMCwgODE4OCwgNjQ0MDgsIDAsIDQ0MTcsIDk4MzIxMywgOTIyNjEsIDYzNzAsIDAsIDc4MjcsIAotICAgIDY4NDQxLCA2OTY1LCAwLCAwLCAxMzIwMSwgMTI4MjA1LCA2OTg5NiwgMCwgNzQzODIsIDczNzgxLCA3OTE4LCA3Mzk4OCwgMCwgCi0gICAgMCwgOTE3ODg0LCAxNzI4LCAwLCA0Mzc2NCwgMTc4LCAxMjk3MiwgOTI2NzksIDAsIDkxNzg4NywgOTI1NjMsIDk4MzM4MSwgCi0gICAgMCwgNzgzMjcsIDEyMDQwNSwgNjU2OTAsIDAsIDAsIDExOTA1NCwgMCwgOTI1MiwgOTE3ODg5LCA0NjUyLCA2ODM3MSwgMCwgCi0gICAgMCwgMCwgMTMwNjUsIDk5MjMsIDEwODA2LCAwLCAxMTc2MywgNzAwMTYsIDEyMDY4OCwgNjcyMywgNzgxODcsIDAsIDY5OTMsIAotICAgIDAsIDAsIDgzMzMsIDAsIDAsIDExMzkwLCAwLCA3NDQ2NCwgMCwgOTIzMjAsIDc0MDgwLCA5ODMzMTUsIDY5OTExLCAxMTkxMCwgCisgICAgMTIwNTYxLCAxMDM2MSwgMTA0MjUsIDY1Njk3LCA2NTY5OCwgNjU2OTksIDAsIDY2NTk4LCAxMTA1OTIsIDY0NjY0LCAKKyAgICAxMDY0NywgNzg3MDIsIDc4NzAzLCA3ODY5MCwgNDU3LCA3ODUwMiwgNjU3MDEsIDE5MzQsIDQzMDA2LCAxMTk5MDMsIDg4MDIsIAorICAgIDc4NzEwLCA2NTEzMCwgMTE3NDcsIDc4NzA5LCA2MDg3LCA3ODcwNSwgNzg3MTYsIDQxNzU3LCA3ODcxMSwgODA0MywgODk1MCwgCisgICAgNjU2OTQsIDY0NDg1LCA0MzUzNCwgMTA0NTcsIDAsIDExOTYxLCA3ODcyNSwgNjY4NTAsIDc4NzIzLCA3ODcyMCwgNzg3MjEsIAorICAgIDAsIDY1NTE1LCA5NDk5LCAxMDAzNSwgMTMwNjksIDcxMzA5LCAwLCA5ODg5LCA2ODE4NCwgNDI4MDYsIDAsIDcyNTYsIDAsIAorICAgIDk4MzE3OSwgMTY2NywgNDIxNjEsIDAsIDQyNDI4LCAwLCA2OTM0LCAwLCAxMDgwMiwgNjQ4NjEsIDY1NTYsIDc4MzkwLCAwLCAKKyAgICA4MTAxLCAzNjEwLCA2ODQyMCwgNDE3NDgsIDQ5OTUsIDk1NSwgNjU5MDcsIDExOTIwOCwgNTM1MCwgNjQzMzksIDc4MzA2LCAKKyAgICA2NDU0OSwgMTA4NzUsIDEyNTA1MiwgNTQ3NywgNjU2OTIsIDAsIDEyODUzMiwgMTIwMzk3LCAxMjg5NiwgMTA0NTYsIAorICAgIDY4Mjk4LCAwLCAzODc0LCAwLCAwLCA5ODM2MTksIDEyMDMzMSwgMCwgMTEzNjY1LCA2NTYwMywgMCwgNjU2ODcsIDAsIAorICAgIDQxMDM4LCA3NDAwOSwgOTIwNywgNDIyMzksIDg1MzYsIDc4NzQwLCA3ODMyNCwgNzg3MjYsIDc0NDMyLCA3MjQsIDAsIAorICAgIDE0NTUsIDc4NzQ5LCA3MTgzLCA2NDU4MywgNzg3NDcsIDY4NDQzLCA0MTc1LCA3ODc0MSwgNDM2MTQsIDY5ODAxLCA5MzksIAorICAgIDAsIDQzNTIwLCA2ODYxMywgNzQ1NjksIDkxNzk1OCwgMCwgNzAxNjgsIDc4NzY0LCA3ODc2MCwgMTA3ODgsIDYwODgsIAorICAgIDc4NzU5LCA3ODc1NSwgMTkwLCAwLCAxMjU5MywgMCwgODE4OCwgNjQ0MDgsIDAsIDQ0MTcsIDEyODYxNSwgOTIyNjEsIAorICAgIDYzNzAsIDEyNTEyOCwgNzgyNywgNjg0NDEsIDY5NjUsIDEyODU4MSwgMTI4ODY4LCAxMzIwMSwgMTI4MjA1LCA2OTg5NiwgCisgICAgNzg4NjgsIDc0MzgyLCAxMTg0MSwgNzkxOCwgNzM5ODgsIDAsIDExMzY2OCwgOTE3ODg0LCAxNzI4LCAwLCA0Mzc2NCwgMTc4LCAKKyAgICAxMjk3MiwgNzQ2MjAsIDExMzY3MSwgNzExMDMsIDExMTY4LCA5ODMzODEsIDExMzY3MiwgNzgzMjcsIDExOTkwNCwgNjU2OTAsIAorICAgIDAsIDcxMTA3LCAxMTkwNTQsIDAsIDkyNTIsIDkxNzg4OSwgNDY1MiwgNjgzNzEsIDAsIDkxNzg5MSwgNzQwNzAsIDEzMDY1LCAKKyAgICA5OTIzLCAxMDgwNiwgMCwgMTE3NjMsIDcwMDE2LCAxMjA2ODgsIDY3MjMsIDc4MTg3LCAwLCA2OTkzLCA3MTA0NCwgMCwgCisgICAgODMzMywgMCwgMCwgMTEzOTAsIDAsIDc0NDY0LCAwLCA5MjMyMCwgNzQwODAsIDk4MzMxNSwgNjk5MTEsIDExOTEwLCAKICAgICA5MjU1OSwgODI3OCwgODk2MywgNDAzNCwgMTI4NTYwLCAwLCA2NTM0NCwgMTIwNTE3LCA0MTc0NywgMCwgMCwgODY3NywgMCwgCi0gICAgMTI3MDcsIDkzNTAsIDY2MDM3LCAxMjgxODAsIDg4MzYsIDEyMzE1LCAxMjc0NywgODMwMCwgOTgzNzUwLCAwLCA3NDkxLCAKKyAgICAxMjcwNywgOTM1MCwgNjYwMzcsIDEyODE4MCwgODgzNiwgMTIzMTUsIDEyNzQ3LCA4MzAwLCAxOTQ1NjIsIDAsIDc0OTEsIAogICAgIDg4NTYsIDcxMzYxLCAwLCA0MzE1MCwgMTI3NzY4LCAxMjA0MDQsIDY1Mzg5LCAxMjA0MDIsIDEyMDQwMywgMTA4MTMsIAotICAgIDI1OTIsIDEyODUzLCA0MzI2OSwgNzI2MywgMTIwMjQ0LCA2NTM2LCAxMjAyMzgsIDEyMDIzOSwgNjU1MTYsIDEyMzIxLCAKLSAgICAxMjAzOTEsIDEyMDM4OCwgNTUyODcsIDEwMDA3LCAxMjAyNDYsIDk1ODgsIDEyMDI0OCwgMTU5NiwgMTIwMzgzLCA0MTk5NCwgCi0gICAgNjU4MDEsIDEyODgwOCwgMCwgNjY1NzIsIDAsIDAsIDEwNjEzLCA2Njk3LCAxMjgwNSwgNDE5MjgsIDQwOTgxLCA3ODQwMywgCi0gICAgNzg0MDksIDUwMDYsIDY0MzI4LCAwLCA5OTMxLCAwLCA4ODI1LCA3NDU1NSwgNjU5NDAsIDQzMjU5LCAwLCA2MTA3LCAwLCAKLSAgICAxMTkxNzcsIDAsIDc4NDAxLCAxMjg2NDEsIDExNzgzLCAzMzUsIDEyMDIyNywgNjQ2ODksIDQzOCwgNDUxMCwgNTc2NSwgCi0gICAgODcyMSwgMTIwMjMzLCAxMTkyMjcsIDYwOTIsIDEyODQwLCA0MzExMiwgODg3NiwgMTIwMjMxLCA4MDk2LCAxMDI4NCwgCi0gICAgMTI4NTE1LCAwLCAwLCAxMDM4MCwgODczMywgOTgzMDcyLCAxMjgyNDAsIDQxNjAyLCAwLCA5MjMwOCwgNzQ4MzEsIAotICAgIDkxNzkwMSwgMCwgNzM3NDcsIDY1Mzk5LCAwLCA2NDU5MSwgNDI0MDUsIDAsIDEyMDgyMCwgODQzLCAxMTU0MSwgMCwgCi0gICAgOTE3ODk4LCAyMDY1LCA0MTkzNSwgNzQ0OTYsIDQxOTAyLCAwLCAwLCAyMTUsIDQxMjU4LCA3Nzg3NSwgNDMxNTksIDE5NTMsIAotICAgIDk1NzksIDQxOTM4LCAxMjU2LCAzOTEwLCA5NDA3LCA2MjQyLCAwLCA5ODMxMDAsIDQxMjU3LCA0MTkwMCwgODY3NSwgCi0gICAgMTA3MDAsIDg4MDUsIDE3NDIsIDAsIDkzMzMsIDgyMDIsIDEyNzc1MCwgMCwgOTgzMTk3LCAwLCAwLCA3Mzg4MiwgNDk5LCAKLSAgICA5ODMwNDksIDQzNDY3LCAwLCA0MzgxOCwgMCwgMTcxMiwgNTkzMiwgNzc4NDUsIDQxNzYyLCA5ODMxMDQsIDAsIDExOTY3LCAKLSAgICAxNzc1LCAwLCAwLCAwLCAwLCAxMjgwMDksIDk0NTgsIDAsIDY0NzAsIDkxODAsIDEyMDM4MCwgNDMxNzYsIDAsIDAsIAotICAgIDQyNzgyLCAwLCAwLCAwLCAxMjgzMDksIDc0Nzc3LCAxMjA2NjksIDk0MTQsIDEyMDM4MiwgNzM3ODIsIDczOTY5LCA1NjUsIAotICAgIDQyNDg0LCA1Nzk0LCAyMDEsIDI2NjIsIDQyMjkyLCAwLCA4MjU0LCAwLCAxMDk3NSwgMCwgMTIwNjI1LCA3NDc2MywgMTAyMiwgCi0gICAgNDEwOCwgMzg4MCwgNzQyNDcsIDAsIDAsIDkyMjYzLCA5MTc5ODAsIDc1MDcsIDAsIDQzMTQ5LCAwLCA2NTAzMSwgNzk2MSwgCi0gICAgMTYzNiwgMCwgNjUwMjksIDY1MDI0LCAwLCAxMjQ3MywgNjUzNCwgMCwgOTksIDk4LCA5NywgMTIwNTcxLCA2NzU4NCwgCi0gICAgNDA0OSwgNzQxNjMsIDEyNzA2NSwgNzA5MCwgMCwgNzg5MiwgOTE3OTY5LCAxMDc3NywgOTE3ODAzLCA2NTMxMCwgNjU1NjIsIAotICAgIDY2NTk5LCA2NjcyMiwgMCwgODAzOSwgMzM2MywgNjY1OTQsIDQzNDM0LCAwLCAwLCAxMjU5NiwgNjY1OTUsIDQyMjU4LCAKLSAgICA0MjU3MCwgNTU5MywgMTE5MTQ4LCAxMjA3MTEsIDkyNDI1LCAxMDEwMCwgNjA2MSwgNjQ4NTQsIDExOSwgMTE4LCAxMTcsIAotICAgIDExNiwgMTI5OTgsIDEyMiwgMTIxLCAxMjAsIDExMSwgMTEwLCAxMDksIDEwOCwgMTE1LCAxMTQsIDExMywgMTEyLCAxMDMsIAotICAgIDEwMiwgMTAxLCAxMDAsIDEwNywgMTA2LCAxMDUsIDEwNCwgNjQzNiwgNzM5NzQsIDUzNCwgNDEyMTIsIDc3OTMxLCAxNTM2LCAKKyAgICAyNTkyLCAxMjg1MywgNDMyNjksIDcyNjMsIDEyMDI0NCwgNjUzNiwgMTIwMjM4LCA3MTg5MSwgNjU1MTYsIDEyMzIxLCAKKyAgICAxMjAzOTEsIDEyMDM4OCwgNTUyODcsIDEwMDA3LCAxMjAyNDYsIDk1ODgsIDY4NDk0LCAxNTk2LCAxMjAzODMsIDQxOTk0LCAKKyAgICA2NTgwMSwgMTI4ODA4LCA2ODM4LCAzNTYxLCAwLCAwLCAxMDYxMywgNjY5NywgMTI4MDUsIDQxOTI4LCA0MDk4MSwgMTA4MDQsIAorICAgIDc4NDA5LCA1MDA2LCA2NDMyOCwgMCwgOTkzMSwgMCwgODgyNSwgNzQ1NTUsIDY1OTQwLCA0MzI1OSwgMTI2NTg2LCA2MTA3LCAKKyAgICAwLCAxMTkxNzcsIDc3OTQxLCA3ODQwMSwgMTI4NjQxLCAxMTc4MywgMzM1LCAxMjAyMjcsIDY0Njg5LCA0MzgsIDQ1MTAsIAorICAgIDU3NjUsIDg3MjEsIDExOTU3MCwgMTE5MjI3LCA2MDkyLCAxMjg0MCwgNDMxMTIsIDg4NzYsIDEyMDIzMSwgODA5NiwgCisgICAgMTAyODQsIDEyODUxNSwgMCwgMCwgMTAzODAsIDg3MzMsIDEwMzE2LCA3MDEyMSwgNDE2MDIsIDAsIDkyMzA4LCA3NDgzMSwgCisgICAgOTE3OTAxLCAwLCA2ODQ4MiwgNjUzOTksIDAsIDY0NTkxLCA0MjQwNSwgMCwgMTIwODIwLCA4NDMsIDExNTQxLCAxMjgzMjYsIAorICAgIDcwMzIxLCAyMDY1LCA0MTkzNSwgNzQ0OTYsIDQxOTAyLCAwLCA5ODMzMDQsIDIxNSwgNDEyNTgsIDc3ODc1LCA0MzE1OSwgCisgICAgMTk1MywgOTU3OSwgNDE5MzgsIDEyNTYsIDM5MTAsIDk0MDcsIDYyNDIsIDAsIDk4MzEwMCwgNDEyNTcsIDQxOTAwLCA4Njc1LCAKKyAgICAxMDcwMCwgODgwNSwgMTc0MiwgMTEzNzIyLCA5MzMzLCA4MjAyLCA3MjM5OSwgMCwgOTgzMTk3LCAxMjcyNTIsIDAsIAorICAgIDczODgyLCA0OTksIDk4MzA0OSwgNDM0NjcsIDAsIDQzODE4LCAwLCAxNzEyLCA1OTMyLCA3Nzg0NSwgNDE3NjIsIDk4MzEwNCwgCisgICAgMCwgMTE5NjcsIDE3NzUsIDEyNTAwNiwgMCwgMTExMTgsIDAsIDEyODAwOSwgOTQ1OCwgMCwgNjQ3MCwgOTE4MCwgMTIwMzgwLCAKKyAgICA0MzE3NiwgMCwgMCwgNDI3ODIsIDAsIDEyNDk5OSwgOTgzMTM1LCAxMjgzMDksIDczODQ5LCAxMjA2NjksIDk0MTQsIAorICAgIDc0NjQ3LCA3Mzc4MiwgNzM5NjksIDU2NSwgNDI0ODQsIDU3OTQsIDIwMSwgMjY2MiwgNDIyOTIsIDAsIDgyNTQsIDAsIAorICAgIDEwOTc1LCA0MzUxOCwgMTIwNjI1LCA3NDc2MywgMTAyMiwgNDEwOCwgMzg4MCwgNzQyNDcsIDAsIDAsIDkyMjYzLCAKKyAgICA5MTc5ODAsIDc1MDcsIDk4MzExOCwgNDMxNDksIDcxMDU5LCA2NTAzMSwgNzk2MSwgMTYzNiwgMCwgNjUwMjksIDY1MDI0LCAKKyAgICAxMTkwOTksIDEyNDczLCA2NTM0LCAxMjA2MzMsIDk5LCA5OCwgOTcsIDY4MjI2LCA2NzU4NCwgNDA0OSwgNzQxNjMsIAorICAgIDEyNzA2NSwgNzA5MCwgMCwgNzg5MiwgOTE3OTY5LCAxMDc3NywgOTE3ODAzLCA2NTMxMCwgNjU1NjIsIDY2NTk5LCA2NjcyMiwgCisgICAgMTk0OTU1LCA4MDM5LCAzMzYzLCA2NjU5NCwgNDM0MzQsIDAsIDcxMTkxLCAxMjU5NiwgNjY1OTUsIDQyMjU4LCA0MjU3MCwgCisgICAgNTU5MywgMTE5MTQ4LCAxMjA3MTEsIDkyNDI1LCAxMDEwMCwgNjA2MSwgNjQ4NTQsIDExOSwgMTE4LCAxMTcsIDExNiwgCisgICAgMTI5OTgsIDEyMiwgMTIxLCAxMjAsIDExMSwgMTEwLCAxMDksIDEwOCwgMTE1LCAxMTQsIDExMywgMTEyLCAxMDMsIDEwMiwgCisgICAgMTAxLCAxMDAsIDEwNywgMTA2LCAxMDUsIDEwNCwgNjQzNiwgNzM5NzQsIDUzNCwgNDEyMTIsIDY3NzEzLCAxNTM2LCAKICAgICA2NDA5MywgNzM5NzAsIDc3OTMwLCAxMjcxNTcsIDAsIDYwMjAsIDEyNzE2LCAxMjcxMTIsIDEyNzQ0LCA0NzUsIDEyMDM5NCwgCi0gICAgMTMyNjYsIDEyNzgxMywgMTI3MTExLCAwLCA3MzkyNiwgMCwgMTA2NDUsIDEyMTIsIDY1NDMsIDk4MzMwNywgODEzNCwgCi0gICAgMTI4MDI4LCAyOTEzLCA3Mzg3MCwgMTI3MTEzLCAxODY2LCA5ODMyMjksIDE5NTA5NSwgMCwgODkyMywgMTY0NSwgMTIwNTksIAotICAgIDY2NTg1LCA3MTI5NywgMzE5NiwgMCwgMCwgNTkzNSwgMTI1MCwgMTI3MDY2LCA4MTc0LCA5Nzg3LCA2NzMzLCA5ODU5LCAKLSAgICA3OTE2LCA5ODYxLCA5ODYwLCA1MjU4LCAxODgyLCAxODkyLCA2NzMxLCAxMDg4MiwgNDA1LCAxMTQ1NCwgNzM5MTEsIDAsIAotICAgIDEyODc4MSwgNDExNjksIDg5MzksIDQxMjQ1LCAwLCA0MTE3MCwgMTQ1NCwgMTEzNjksIDY0NzcsIDEyMTU3LCAwLCAwLCAwLCAKLSAgICA0MTE3MiwgNzg1NSwgMCwgMCwgMTA0ODAsIDAsIDAsIDc3OTM2LCA4MjY0LCAxMjYxMCwgOTgzMzA4LCA2NDUsIDEyNjYxNiwgCi0gICAgNzYwOSwgNDA5NzMsIDY5OTQzLCA3MzgzMywgNjk5NDgsIDU4MjQsIDk4NCwgNzc5MTgsIDEwNjg4LCA1ODUxLCAwLCA3NzI5LCAKLSAgICA3Mzk4MiwgMTIwNTE4LCAwLCAxOTUwODYsIDQzMzY5LCAwLCAxMjgxNDAsIDY4NDE1LCA5ODMwOTMsIDQ1MzgsIDEyMDQwNiwgCi0gICAgNDMxNDEsIDAsIDk4MzIxMCwgNzQyMTQsIDczODg2LCAwLCAwLCAxMTg5MDIsIDQzMDA1LCA3ODQ0OCwgOTU1MiwgMCwgMCwgCi0gICAgOTgzMTU5LCAxMjk5NywgMCwgMCwgMCwgMCwgMjM4MSwgMTI4ODMsIDEwOTk0LCAxMDUyOSwgNDE5MDYsIDAsIDAsIDAsIAotICAgIDEyNDI1LCAxMDY2MSwgMTA4NTYsIDk2MTQsIDI0MjgsIDQxNDc4LCA4NTgyLCAxMDA2NCwgNzM5MzAsIDAsIDAsIDAsIAotICAgIDY0ODk2LCAxMTkxNjIsIDE5NTIsIDkyMTgxLCA4NDU1LCAxMDA4MiwgMTE1NzUsIDk4MzQ5MCwgMTE5NTY2LCAwLCAxMjgwOCwgCi0gICAgMTIxODMsIDYxNDUsIDExODk1NSwgNjQ5MjksIDkyNDMzLCAwLCA5ODMxOTMsIDQzMTg2LCA0MjUwOSwgMCwgMzkyMiwgCi0gICAgOTE4NywgOTgzNjE0LCAwLCAxMDE5MSwgMTE5MDU3LCAxMTc1MiwgMzM1MywgOTM1OCwgMCwgNzEzNjYsIDY2NjgwLCAKLSAgICAxMjAwOTAsIDgyNDgsIDc5MzEsIDg1NTgsIDk3OTUsIDY4MzgwLCA5ODMyOTcsIDAsIDEyMDA4MiwgMTIwMDgxLCAxMjAwODQsIAotICAgIDQxMDI3LCAxMjAwODYsIDAsIDEyMDA4OCwgNzM2NiwgNzAxOSwgMTIwMDczLCAwLCAxMTc1MSwgMTIwMDc4LCA3ODI5NCwgCi0gICAgNjQ2NTcsIDg2NTcsIDEyMDA0OCwgODU5NCwgMTIwMDY4LCAwLCAwLCAxMjAwNjksIDEyMDA3MiwgMTIwMDcxLCAwLCAwLCAKLSAgICA0MzE1NCwgNDEwMjksIDAsIDExMzMyLCA2NTM4MCwgNzcyOCwgOTQwNzcsIDExMjk0LCAwLCA2NjY2NSwgNzg1MSwgMCwgCi0gICAgODM3NSwgODY5OSwgMCwgNDI1MjQsIDAsIDkwODUsIDk0MDQxLCA3NTA0LCA5MzI3LCA2MTYwLCAxMjgwOTUsIDk4Mzg2NCwgCi0gICAgMCwgODA4OCwgMCwgNzQwMTIsIDkyNTAwLCAwLCA0NDM5LCA2OTI2LCA5ODMwNDcsIDEyOTI0LCAxMjgyMjcsIDQyMzY5LCAKKyAgICAxMzI2NiwgMTI3ODEzLCAxMjcxMTEsIDc4ODQyLCA3MzkyNiwgNjYyOTEsIDEwNjQ1LCAxMjEyLCA2NTQzLCA5ODMzMDcsIAorICAgIDgxMzQsIDEyODAyOCwgMjkxMywgNzM4NzAsIDEyNzExMywgMTg2NiwgOTgzMjI5LCA3MTg5MiwgMCwgODkyMywgMTY0NSwgCisgICAgMTIwNTksIDY2NTg1LCA3MTI5NywgMzE5NiwgNzI0MDQsIDE5NDgyNywgNTkzNSwgMTI1MCwgMTI3MDY2LCA4MTc0LCA5Nzg3LCAKKyAgICA2NzMzLCA5ODU5LCA3OTE2LCA5ODYxLCA5ODYwLCA1MjU4LCAxODgyLCAxODkyLCA2NzMxLCAxMDg4MiwgNDA1LCAxMTQ1NCwgCisgICAgNzM5MTEsIDExMzc4NywgOTI1MjksIDQxMTY5LCA4OTM5LCA0MTI0NSwgMCwgNDExNzAsIDE0NTQsIDExMzY5LCA2NDc3LCAKKyAgICAxMjE1NywgMCwgMCwgMCwgNDExNzIsIDc4NTUsIDAsIDAsIDEwNDgwLCA0MzI1OCwgOTE3ODE5LCA3NzkzNiwgODI2NCwgCisgICAgMTI2MTAsIDk4MzMwOCwgNjQ1LCAxMjY2MTYsIDc2MDksIDQwOTczLCA2OTk0MywgNzM4MzMsIDY5OTQ4LCA1ODI0LCA5ODQsIAorICAgIDc3OTE4LCAxMDY4OCwgNTg1MSwgMCwgNzcyOSwgNzM5ODIsIDEyMDUxOCwgMCwgMTk1MDg2LCA0MzM2OSwgMCwgMTI4MTQwLCAKKyAgICA2ODQxNSwgOTI2NDQsIDQ1MzgsIDkzOTc4LCA0MzE0MSwgMCwgOTgzMjEwLCA3NDIxNCwgNzM4ODYsIDY3NzA5LCA5MTc1OTksIAorICAgIDcxOTE4LCA0MzAwNSwgNzg0NDgsIDk1NTIsIDAsIDcwMTI5LCAxMjkxNzMsIDEyOTk3LCAwLCAwLCAwLCAwLCAyMzgxLCAKKyAgICAxMjg4MywgMTA5OTQsIDEwNTI5LCA0MTkwNiwgMCwgNzQ2MTgsIDAsIDEyNDI1LCAxMDY2MSwgMTA4NTYsIDk2MTQsIDI0MjgsIAorICAgIDQxNDc4LCA4NTgyLCAxMDA2NCwgNzM5MzAsIDAsIDcwNDM3LCAwLCA2NDg5NiwgMTE5MTYyLCAxOTUyLCA5MjE4MSwgODQ1NSwgCisgICAgMTAwODIsIDExNTc1LCAxMjkwNjIsIDExOTU2NiwgMTI4MDkzLCAxMjgwOCwgMTIxODMsIDYxNDUsIDExODk1NSwgNjQ5MjksIAorICAgIDkyNDMzLCA3MTkxNiwgOTgzMTkzLCA0MzE4NiwgNDI1MDksIDAsIDM5MjIsIDkxODcsIDEyNjUxMywgMCwgMTAxOTEsIAorICAgIDExOTA1NywgMTE3NTIsIDMzNTMsIDkzNTgsIDk4MzQ2MCwgNzEzNjYsIDY2NjgwLCAxMjAwOTAsIDgyNDgsIDc5MzEsIAorICAgIDg1NTgsIDk3OTUsIDY4MzgwLCA5ODMyOTcsIDAsIDEyMDA4MiwgMTIwMDgxLCAxMjAwODQsIDQxMDI3LCAxMjAwODYsIDAsIAorICAgIDEyMDA4OCwgNzM2NiwgNzAxOSwgNzAzNzgsIDAsIDExNzUxLCAxMjAwNzgsIDc4Mjk0LCA2NDY1NywgODY1NywgMTIwMDQ4LCAKKyAgICA4NTk0LCAxMjAwNjgsIDAsIDAsIDEyMDA2OSwgMTIwMDcyLCAxMjAwNzEsIDAsIDExMzcxMSwgNDMxNTQsIDQxMDI5LCAwLCAKKyAgICAxMTMzMiwgNjUzODAsIDc3MjgsIDk0MDc3LCAxMTI5NCwgMCwgNjY2NjUsIDc4NTEsIDAsIDgzNzUsIDg2OTksIDEyNzk0OSwgCisgICAgNDI1MjQsIDY4NDE5LCA5MDg1LCA5NDA0MSwgNzUwNCwgOTMyNywgNjE2MCwgMTI4MDk1LCA5ODM4NjQsIDE5NDkyOSwgCisgICAgODA4OCwgMTI4OTM3LCA3NDAxMiwgNjY1NjIsIDAsIDQ0MzksIDY5MjYsIDcyNDIzLCAxMjkyNCwgMTI4MjI3LCA0MjM2OSwgCiAgICAgNDM1MCwgNjU0OTEsIDY1MTQ1LCA5MDQxLCA0MzU1OSwgNjQ1NzcsIDEwODI2LCAwLCAxMTI5NiwgOTgzMjgzLCAwLCAwLCAKLSAgICA2NTgyNSwgOTU3NywgNjgxOTksIDAsIDY0NjcwLCA5ODMxMjEsIDc4MDU2LCA2NzkzLCAxMTI5NSwgMCwgNzgwNTMsIAotICAgIDczODcyLCAwLCAwLCAxMDkwMiwgMCwgMCwgNzgwNzAsIDc4MDY4LCAxMDQ3MiwgMjk5NSwgMCwgMCwgNjQ2ODIsIDIzNzEsIAotICAgIDc4MDY5LCAxMjA4MDgsIDI1OSwgMTAwOSwgOTIxNzEsIDI0MDIsIDIzMzMsIDY0NDAsIDE5NDc0MSwgMCwgNjUxMjUsIAotICAgIDQxMjQ0LCAwLCAxMzI3MSwgOTEwMywgMjI3OCwgMCwgMCwgMCwgMCwgMTAyMTksIDAsIDAsIDAsIDAsIDQzMTc4LCAKLSAgICAxMjcwNzAsIDQxMjYxLCAxMTkzNjIsIDQzNjQwLCA4NjEzLCAwLCA5NDA0OSwgNjczNiwgMTk1MDkyLCA0MTQ5MiwgMTIwMDUsIAotICAgIDY5OTI3LCAwLCAxODkwLCAxMjAwNTYsIDAsIDAsIDAsIDcyOTMsIDc5OTEsIDAsIDEwNTc4LCAwLCA3ODA3NiwgMTk0NzM4LCAKLSAgICA3ODA3NywgNjk5MjgsIDAsIDc4ODAwLCA5MjY1MywgNjQ0NDUsIDQyNjY4LCA2NjM1LCAwLCA2MTY0LCA2NTE3MCwgMCwgMCwgCi0gICAgNzY3NiwgMTE2NjQsIDAsIDk4MzY1OCwgNjk3MDcsIDAsIDExODgxMiwgMCwgMCwgMTI4MDQ1LCA5MTc1LCAxMTkyNSwgCi0gICAgNzgwNDUsIDkwODgsIDAsIDY0NTQ1LCAxMzk2LCAwLCA3NTQ2LCAzODQ3LCAxMjcxNzcsIDEyNzgzNSwgNDk4NSwgMTMyODgsIAotICAgIDY3MiwgODA5OCwgNDMxOTYsIDE5NDc0NiwgOTgzMDk2LCAxMjgxMjYsIDQyNjU1LCA3NDA0MywgNjUwNzIsIDE1NzcsIAotICAgIDExNzcyLCAxMzA0MSwgNTkyOCwgNDUyNSwgMTA2NTgsIDY1OTExLCAxMjY2LCAxMDE4MCwgMCwgMTI4NTg0LCAxMjYyMiwgMCwgCi0gICAgMCwgMCwgMTk0NzE0LCAxMjcxMzksIDEzMzEwLCA3NzMsIDE5OTMzLCAxNTM5LCAwLCAxMjY5ODMsIDQyNzMxLCA2Nzk3MiwgCi0gICAgMCwgMCwgMCwgMzA1MSwgNTg2MiwgNzgyMywgOTI0NzgsIDAsIDEyMDQxMSwgMzI1MCwgNDM5OTEsIDY5Njg3LCA2NjY0OSwgCi0gICAgOTUxMCwgNjYyMzcsIDk4MzMwMiwgMCwgNDEwNjYsIDY0NjczLCA5MTc5NjMsIDkxNzk2NCwgMCwgMzUwNSwgODcwNywgCi0gICAgOTE3OTY4LCA2NzI1LCAxMjgwMTMsIDkxNzk3MSwgOTIzMTQsIDM0NzEsIDkxNzk3MCwgNTQ3OSwgODgyLCA2Njg2LCAKLSAgICAxMTk1ODQsIDExNjEzLCAxMjA3NzIsIDQyNzU0LCAwLCA5ODMzMDYsIDkyNjk2LCAwLCAwLCAwLCAxMjg1MjMsIDMyMjUsIAotICAgIDkxNzk5NiwgNDQzMywgNDExNTYsIDQzOTczLCA0MzE3MywgMTQ0MywgNDM4MSwgMCwgMCwgMTA5MjYsIDExNzU2LCAxMTc1NywgCi0gICAgNjQ4NzksIDkxNzk0OSwgOTE3OTUwLCAxMjc4NDgsIDEzMjI3LCAwLCAxMDAyMSwgNTE2MCwgMTM4NywgMCwgOTE3OTUzLCAKLSAgICA0MTQxOCwgMCwgNjU5MTQsIDY3MjEsIDIxNywgOTE3OTU1LCA5MTc5NjAsIDkxNzk2MSwgMTA0NDMsIDEwNzg5LCA0MTE1OCwgCi0gICAgMTE5MjU3LCA0Mjc0LCA5ODMzMDAsIDQxNDgzLCAwLCA0MTI1MCwgMCwgNDIxNzksIDAsIDU5MzEsIDExNzQ0LCA2OTIzMiwgCi0gICAgMCwgNDEyNTIsIDY2NjgyLCAwLCAxMTk2MzcsIDQxMjQ5LCAxMzY2LCA2NDYzNSwgNjUwNDcsIDEyNDY2LCAwLCAwLCA0Mzk3LCAKLSAgICAxMjgwMzcsIDEyODMzNiwgNDEyOTYsIDk1NDUsIDQxMjkxLCAxMjgwNDksIDAsIDQxNDg1LCAzNTExLCA0MTI4MiwgNTkyMywgCi0gICAgMTA0MDAsIDAsIDEyODgxOCwgNzYwLCAwLCAxMjA4OCwgNTc4NiwgMCwgNDIyNTYsIDExOTg2OSwgMTE5ODYwLCA0MTcsIAotICAgIDQxNDc0LCAxMTk1NjIsIDQxNTY1LCAwLCA1OTM0LCAxMTk4NjcsIDY2NTgzLCAxMTkyMzEsIDY0ODc3LCAyMjg0LCA2NDQ4MSwgCi0gICAgNzg2MTQsIDY2MDEzLCA0MTk1NiwgNDM0NTUsIDEyNjk5NSwgMCwgMCwgMCwgNDIyNzMsIDU4MTksIDAsIDkxNzU1NiwgMCwgCisgICAgNjU4MjUsIDk1NzcsIDY4MTk5LCA5ODMzOTEsIDY0NjcwLCA5ODMxMjEsIDc4MDU2LCA2NzkzLCAxMTI5NSwgNzA0MDksIAorICAgIDc4MDUzLCA3Mzg3MiwgNzgwNTUsIDExOTk5MywgMTA5MDIsIDAsIDAsIDc4MDcwLCAxMTIwMCwgMTA0NzIsIDI5OTUsIDAsIAorICAgIDEyMDEzOCwgNjQ2ODIsIDIzNzEsIDc4MDY5LCAxMjA4MDgsIDI1OSwgMTAwOSwgNzA0MDUsIDI0MDIsIDIzMzMsIDY0NDAsIAorICAgIDE5NDc0MSwgMTEzNzU3LCA2NTEyNSwgNDEyNDQsIDcwNDA3LCAxMzI3MSwgOTEwMywgMjI3OCwgMCwgMTk0NzI4LCAwLCAwLCAKKyAgICAxMDIxOSwgMCwgMTk0NzQwLCAwLCA2NzcxOCwgNDMxNzgsIDEyNzA3MCwgNDEyNjEsIDExOTM2MiwgNDM2NDAsIDg2MTMsIDAsIAorICAgIDk0MDQ5LCA2NzM2LCAxOTUwOTIsIDQxNDkyLCAxMjAwNSwgNjk5MjcsIDEyNzA2OCwgMTg5MCwgMTIwMDU2LCAwLCAKKyAgICAxMjg0NTAsIDAsIDcyOTMsIDc5OTEsIDc0MDUyLCAxMDU3OCwgOTE3OTk4LCA3ODA3NiwgMTI4NjIwLCA2NzM2OCwgNjk5MjgsIAorICAgIDcxODUwLCA3ODgwMCwgOTI2NTMsIDY0NDQ1LCA0MjY2OCwgNjYzNSwgMTI4MzA4LCA2MTY0LCA2NTE3MCwgMCwgMCwgNzY3NiwgCisgICAgMTE2NjQsIDAsIDkzMDI1LCA2OTcwNywgOTMwMjIsIDExODgxMiwgMCwgNzEwOTYsIDEyODA0NSwgOTE3NSwgMTE5MjUsIAorICAgIDc4MDQ1LCA5MDg4LCAxMTkxNDUsIDY0NTQ1LCAxMzk2LCAwLCA3NTQ2LCAzODQ3LCA3MTA4OCwgOTMwMzcsIDQ5ODUsIAorICAgIDEzMjg4LCA2NzIsIDgwOTgsIDQzMTk2LCAxOTQ3NDYsIDEyMDcyMywgMTI4MTI2LCA0MjY1NSwgNzQwNDMsIDY1MDcyLCAKKyAgICAxNTc3LCAxMTc3MiwgMTMwNDEsIDU5MjgsIDQ1MjUsIDEwNjU4LCA2NTkxMSwgMTI2NiwgMTAxODAsIDAsIDEyODM3MSwgCisgICAgMTI2MjIsIDAsIDEyNDk0OCwgMCwgMTI4ODU4LCAxMjcxMzksIDEzMzEwLCA3NzMsIDE5OTMzLCAxNTM5LCAwLCAxMjY5ODMsIAorICAgIDQyNzMxLCA2Nzk3MiwgMCwgNzEwNjYsIDk4MzIwMCwgMzA1MSwgNTg2MiwgNzgyMywgOTI0NzgsIDkyNzQ2LCAxMjA0MTEsIAorICAgIDMyNTAsIDQzOTkxLCA2OTY4NywgNjY2NDksIDk1MTAsIDY2MjM3LCA5ODMzMDIsIDAsIDQxMDY2LCA2NDY3MywgOTE3OTYzLCAKKyAgICA5MTc5NjQsIDEyODYzNiwgMzUwNSwgODcwNywgOTE3OTY4LCA2NzI1LCAxMjgwMTMsIDkxNzk3MSwgOTIzMTQsIDM0NzEsIAorICAgIDY2MzkxLCA1NDc5LCA4ODIsIDY2ODYsIDExOTU4NCwgMTE2MTMsIDEyMDc3MiwgNDI3NTQsIDc0NjA4LCA5ODMzMDYsIAorICAgIDkyNjk2LCAwLCAwLCAwLCAxMjg1MjMsIDMyMjUsIDkxNzk5NiwgNDQzMywgNDExNTYsIDQzOTczLCA0MzE3MywgMTQ0MywgCisgICAgNDM4MSwgMCwgMCwgMTA5MjYsIDExNzU2LCAxMTc1NywgNjQ4NzksIDkxNzk0OSwgMTk1MDUzLCAxMjc4NDgsIDEzMjI3LCAKKyAgICAxMjAzMjAsIDEwMDIxLCA1MTYwLCAxMzg3LCAwLCA5MTc5NTMsIDQxNDE4LCAxMjg5MzMsIDY1OTE0LCA2NzIxLCAyMTcsIAorICAgIDkxNzk1NSwgOTE3OTYwLCA5MTc5NjEsIDEwNDQzLCAxMDc4OSwgNDExNTgsIDExOTI1NywgNDI3NCwgMTExNDMsIDQxNDgzLCAKKyAgICAwLCA0MTI1MCwgMTI4OTA0LCA0MjE3OSwgMTI4Mzc1LCA1OTMxLCAxMTc0NCwgMTEyMTUsIDc0NDQ2LCA0MTI1MiwgNjY2ODIsIAorICAgIDAsIDExOTYzNywgNDEyNDksIDEzNjYsIDY0NjM1LCA2NTA0NywgMTI0NjYsIDk4MzQ1NiwgMCwgNDM5NywgMTI4MDM3LCAKKyAgICAxMjgzMzYsIDQxMjk2LCA5NTQ1LCA0MTI5MSwgMTI4MDQ5LCAwLCA0MTQ4NSwgMzUxMSwgNDEyODIsIDU5MjMsIDEwNDAwLCAKKyAgICAwLCAxMjg4MTgsIDc2MCwgMCwgMTIwODgsIDU3ODYsIDY4MjUyLCA0MjI1NiwgMTE5ODY5LCA2NzE0NSwgNDE3LCA0MTQ3NCwgCisgICAgMTE5NTYyLCA0MTU2NSwgMCwgNTkzNCwgNzQ1NzIsIDY2NTgzLCAxMTkyMzEsIDY0ODc3LCAyMjg0LCA2NDQ4MSwgNzg2MTQsIAorICAgIDY2MDEzLCA0MTk1NiwgNDM0NTUsIDY3MjQwLCAxOTQ2NTYsIDAsIDAsIDQyMjczLCA1ODE5LCAwLCA5MTc1NTYsIDAsIAogICAgIDEyNjY0MywgMCwgNjU5MTAsIDEyNzc0NywgMTAyNDYsIDEyMDgxNiwgNjU3ODUsIDEyMzcsIDEwMjc0LCA0NTUyLCAKLSAgICAxMTk1NzYsIDAsIDAsIDEzNzUsIDY2NzA1LCA0MzU3MywgNjUyNjAsIDQyMDYzLCAwLCA0MjgxMSwgMTAzMTIsIDY5ODQ1LCAKLSAgICAxMjA3OTQsIDc4NDAsIDAsIDQzNjMwLCAxMDI1MiwgMCwgMTI4MTA0LCA0MzE4NSwgMCwgNDM5NiwgMCwgMTE5ODgwLCAKLSAgICAxMDc2OSwgOTY3NiwgMTE5MDQxLCAwLCA5NzUzLCAwLCA4OTQ0LCAwLCAwLCAxMDQ3MywgMCwgMCwgNjA3MiwgNDMwMjUsIAotICAgIDEwMjk5LCAwLCAwLCAxMjA2MDgsIDY2MzI2LCA5ODM0NDcsIDEyNzc5NCwgMCwgNDM4MTEsIDkzMzAsIDEyMDU5NiwgNzIyMiwgCi0gICAgMTAyODMsIDEwMzE1LCAxMDM3OSwgNDk5NiwgOTgzNzgyLCAxMzI4MSwgNjY1MTcsIDc4NjUsIDEwMDg3LCA3ODM0MywgMCwgCi0gICAgNzgzNDcsIDAsIDAsIDc1NjUsIDY2MzYzLCAxMjk1MiwgNjQ4MDYsIDQzMTgwLCA3NzkyOCwgNzQxNCwgNzc5MjksIDQzOTgyLCAKLSAgICA3NDI4OCwgNjIyLCA3NDAyMywgODg1LCA0MzQwNSwgMTYwMiwgMCwgMCwgODUyLCAwLCAxMjE2MCwgMCwgMTAyMTIsIAotICAgIDY1NDM1LCAwLCAxMjA3MSwgOTYwOSwgMTIxNTYsIDkxNzk4MywgOTE3OTg0LCA0MzU4NiwgMTEwMzUsIDEwNDExLCAKLSAgICA5MTc5ODgsIDEwMjU1LCA2NzEwLCAxMDI3OSwgNDE5NCwgMTAzNzUsIDczOTAwLCAwLCA0MzE1LCAxMjY0NCwgMTI3NTE2LCAKLSAgICA3NzkzNywgNDM2MzksIDQzMzQzLCA3ODc3NywgOTE3OTk4LCAxMTUwMSwgNDExNzcsIDEyODY4OSwgMCwgOTE3NzkyLCAwLCAKLSAgICA5MjQxMywgODcxNSwgMCwgNDExNzksIDAsIDQzMzEzLCAwLCA0MTE3NiwgMCwgOTk0LCAwLCA4NDUyLCAxMjcxMDMsIAotICAgIDczOTY2LCAwLCAwLCA1OTIxLCAwLCAyNTk3LCAwLCA1OTIyLCAxMTg5MDMsIDc3OTQzLCA0MTg2LCA5MjUzMSwgMTE5OTY3LCAKKyAgICAxMTk1NzYsIDk4Mzg2MywgMCwgMTM3NSwgNjY3MDUsIDQzNTczLCA2NTI2MCwgMzMyOSwgMCwgNDI4MTEsIDEwMzEyLCAKKyAgICA2OTg0NSwgMTIwNzk0LCA3ODQwLCAwLCA0MzYzMCwgMTAyNTIsIDExOTI0MiwgMTI4MTA0LCA0MzE4NSwgMCwgNDM5NiwgCisgICAgMTk1MDUxLCAxMTk4ODAsIDEwNzY5LCA5Njc2LCAxMTkwNDEsIDAsIDk3NTMsIDAsIDg5NDQsIDAsIDAsIDEwNDczLCAwLCAKKyAgICAxMjA0NzIsIDYwNzIsIDQzMDI1LCAxMDI5OSwgMTI4NDM2LCAwLCAxMjA2MDgsIDY2MzI2LCA2NzQxMiwgOTI5NTIsIDAsIAorICAgIDQzODExLCA5MzMwLCAxMjA1OTYsIDcyMjIsIDEwMjgzLCAxMDMxNSwgMTAzNzksIDQ5OTYsIDEyNzkwMiwgMTMyODEsIAorICAgIDY2NTE3LCA3ODY1LCAxMDA4NywgNzgzNDMsIDAsIDQzMzI0LCAwLCAwLCA3NTY1LCA2NjM2MywgMTI5NTIsIDY0ODA2LCAKKyAgICA0MzE4MCwgNzc5MjgsIDc0MTQsIDc3OTI5LCA0Mzk4MiwgNzQyODgsIDYyMiwgNzQwMjMsIDg4NSwgNDM0MDUsIDE2MDIsIDAsIAorICAgIDk4MzczMSwgODUyLCAwLCAxMjE2MCwgMTIwMjEyLCAxMDIxMiwgNjU0MzUsIDEyOTA5MiwgMTIwNzEsIDk2MDksIDEyMTU2LCAKKyAgICA5MTc5ODMsIDkxNzk4NCwgNDM1ODYsIDExMDM1LCAxMDQxMSwgOTE3OTg4LCAxMDI1NSwgNjcxMCwgMTAyNzksIDQxOTQsIAorICAgIDEwMzc1LCA0Mzg1MywgMTI4NTk5LCA0MzE1LCAxMjY0NCwgMTI3NTE2LCA3NzkzNywgNDM2MzksIDQzMzQzLCA2NzQwOCwgCisgICAgMTI4OTQ1LCAxMTUwMSwgNDExNzcsIDEyODY4OSwgMTI4ODY2LCA0MzQzMSwgMTI3MDk3LCA5MjQxMywgODcxNSwgMCwgCisgICAgNDExNzksIDk4MzM1NiwgNDMzMTMsIDEyMDIzMCwgNDExNzYsIDAsIDk5NCwgMCwgODQ1MiwgMTIwNTA1LCA3Mzk2NiwgCisgICAgNjY4OTAsIDcwODEyLCA1OTIxLCAwLCAyNTk3LCAwLCA1OTIyLCAxMTg5MDMsIDY2ODczLCA0MTg2LCA5MjUzMSwgMTE5OTY3LCAKICAgICAxMjcxMDUsIDY3MTgsIDAsIDQ0MDYsIDc0NjAxLCA4NDgwLCA5MTkyLCA5NzQ3LCAxMjY1MzAsIDQ0MTMsIDkyMTk2LCAKICAgICA0MjI2OCwgMzE5OCwgNTkyNCwgNTkyMCwgOTI0NjksIDY5MjEsIDc4MDgxLCA3NDAwNywgNDI4NjksIDg0MTgsIDExNjgxLCAKICAgICA0MzE2OSwgMTAxNzYsIDAsIDc0MiwgMCwgMjg5MywgMTA3NzIsIDY1Mjc2LCA1OTM3LCAxOTE0LCAyNTUzLCAxMTY4MiwgCi0gICAgNjc1NiwgMTI4NTkwLCAxMjg2NDYsIDgzNjMsIDAsIDI5OTMsIDc3NzIsIDM5MTYsIDQzMDEsIDEyMDQ5NCwgMTE0MSwgCi0gICAgNDI0MDcsIDgxNTksIDcxOCwgNzU3MiwgOTczLCAwLCAxMjA3MTgsIDMyMzUsIDI0MTUsIDQzMTY0LCAwLCA4MDE4LCAKLSAgICA0MjMzMywgNzQ3NTYsIDEwNjc1LCA2OTM3LCA0MjQ4NiwgNDMzODEsIDY1MzkwLCAxMDA2NywgMCwgMTIwMiwgMCwgMCwgCi0gICAgNjU4NjMsIDAsIDAsIDk0MDEzLCA3ODE4MiwgNjQ1NDIsIDMyNjAsIDczODI5LCA2NTM4OCwgOTk0NSwgODQxOSwgNzgwNDIsIAotICAgIDY3MzgsIDAsIDQzNjgxLCA2OTcyOCwgMjA1OSwgMCwgMCwgNTUyMzcsIDE0MzEsIDAsIDY2NTY1LCAxMDgyMSwgMCwgCi0gICAgMTI4MDQsIDEyODA3NiwgODIyOSwgMTIzNSwgMzMwNywgMTE0NzIsIDc4MDg5LCA3ODE4NCwgNDU0NCwgMCwgMCwgMCwgCi0gICAgMTc0MCwgNzgwOTcsIDg3NTgsIDk4NSwgMTI4NzIsIDY0NTExLCA3ODA5NCwgMTIwNjgsIDc4MTAyLCAwLCAxMDE0MSwgMCwgCi0gICAgNjM3NjEsIDg3ODUsIDQ0NzYsIDc4MTA5LCA2Mzc2MywgMTI2NTUsIDg5MDcsIDc4MTA1LCA3ODEwNiwgNzgxMDMsIDc4MTA0LCAKLSAgICAwLCAxMTk1NzIsIDEwNjY1LCA2NDYxNiwgNDE1NzIsIDAsIDEyNzE2MCwgMCwgNDE1NzMsIDAsIDM5MzEsIDEyMDI5NSwgCi0gICAgNzQxNDMsIDAsIDAsIDAsIDc4NDYwLCAxMTk4MiwgMCwgMCwgMCwgMTI4MDE2LCA2NDQ4NCwgMCwgNDExNjcsIDAsIDQxNzM1LCAKLSAgICA5NDAxOSwgNzE3LCAxMDc1NCwgMCwgMCwgMTI3OTc5LCAwLCA2Mzc2NywgMCwgMTc4MCwgNjkzNiwgMCwgOTIyNTQsIDgxOSwgCi0gICAgMTA2MTEsIDk2OTQsIDEyNjk3OCwgMCwgMCwgMCwgMCwgODM0MywgODM0MiwgODM0NSwgODM0NCwgNjU3OCwgNzAwOSwgCi0gICAgNzUyMywgNjkyMiwgODM0OCwgODM0NywgNzUyNSwgMzM0NiwgODMzOSwgMTI4MTY1LCAxMjgzMzgsIDU3NSwgMjY4LCAKLSAgICA3ODExMSwgODU2MywgNTc1NCwgMTIwMzQzLCA0MTU0MSwgNjU1NjUsIDgzMzYsIDU5MzYsIDcyOTAsIDc4MTE3LCA4MzM3LCAKLSAgICA4MzQxLCAzMDgsIDExMzg4LCA3NTIyLCAxMjA3MjEsIDc4MTIzLCA2NTQ2NiwgMTEwOTAsIDY5NTMsIDAsIDEyMDM0NiwgMCwgCi0gICAgNzgxMzIsIDU5MjYsIDc4MTI4LCA3ODEzMCwgNzgxMjYsIDc4MTI3LCA3ODEyNCwgNzgxMjUsIDkwMzgsIDc4ODcsIDQzNDU2LCAKLSAgICA3ODMwLCAxMTY1MSwgMTMwOTMsIDY0MDAyLCAwLCA2NTc0MiwgMTI4NzQsIDExOTU5NywgMTE1OTAsIDAsIDc0MDQ4LCAKLSAgICAxMjgzNTAsIDg1OTUsIDAsIDkxNzk0NywgNDM3MDMsIDEzMDk3LCAwLCA2NDY0MywgMTMyODMsIDEyNjk3LCAwLCAxMjM4MSwgCi0gICAgMzQ4OCwgNTkzMywgMTAwMzMsIDczNzM4LCA2NjI0MSwgNjU1NzAsIDAsIDEyMjk3LCAxMTkxNTMsIDE5NTUsIDAsIDUzNDksIAotICAgIDQyNTM4LCAwLCAwLCA3NDExLCA5NDYyLCA5MTc1NTQsIDAsIDAsIDAsIDQyNzM2LCAwLCA1NzU2LCA5ODMyMjEsIDc2MzgsIAotICAgIDQxNjQyLCA0Mjc2NCwgMCwgNDMxMDksIDc2MzcsIDU3NTIsIDc0MDM3LCAwLCA3MzgzMiwgMTI4ODI3LCAxMjA2MzUsIAotICAgIDEyODIzMSwgNzgzMzQsIDAsIDc2MzYsIDY1MTcxLCA5MTI0LCAwLCA3ODg5MiwgMTIwNzk4LCAyOTEsIDAsIDAsIDIwMjcsIAotICAgIDY2MjMwLCAxMDA4MCwgNzgxMzYsIDEwNDAzLCAwLCA0NjQwLCA2NDcxMywgMTAyMjQsIDEyMDQyOSwgNDI1MTIsIDEyMDQzMSwgCi0gICAgMTIwNDMwLCAwLCAxMjgzNTEsIDEyNzQ4OSwgMTI3MTQ4LCAwLCA5MjQ5OSwgMCwgMTE5MDk0LCA3NDIxMywgNzgyNCwgMCwgCi0gICAgMCwgNDEyNzQsIDU3NzgsIDYzMDIsIDAsIDAsIDEyNjgwLCAxMTkxMzAsIDE0MTcsIDc3ODg5LCAxOTQ5MTQsIDk0NTIsIDAsIAotICAgIDc0MzkzLCAxMTU1MiwgMCwgMTI3ODU1LCAxMjgyMTcsIDY1MzkxLCAwLCAxMDE3MiwgNjU0NTMsIDYzNzg5LCA0MTI2NCwgCi0gICAgNzg2NTgsIDY0MjYsIDQ2NDEsIDkxNzksIDY0ODE5LCA1NTI3OCwgNDEyNTUsIDQyMDM2LCA0MTQ2OSwgNDEyNjksIAotICAgIDEyMDQxMiwgNDEyNjcsIDQ2NDYsIDEyMDQyNSwgODY1LCA0MjAzNCwgNzgyNzQsIDc4MjczLCA0NjQ1LCA0MjAzMywgCi0gICAgNzgyNzAsIDEyNzk4MiwgOTgzMTcyLCA2NDcyOCwgMCwgNzg2NzMsIDc4Njc0LCAxNjU5LCA5MTksIDQyNzg0LCAxNjcxLCAKLSAgICAxOTUwODksIDYwNjksIDkyMTksIDEyODU1OCwgMTY2MSwgMTMxMjAsIDYzNzg0LCA2OTgxOSwgMTAxNDAsIDk3MTMsIAorICAgIDY3NTYsIDEyNTEwNCwgMTI4NjQ2LCA4MzYzLCAwLCAyOTkzLCA3NzcyLCAzOTE2LCA0MzAxLCAxMjA0OTQsIDExNDEsIAorICAgIDQyNDA3LCA3NDE3LCA3MTgsIDc1NzIsIDk3MywgMTE5NTk5LCAxMjA3MTgsIDMyMzUsIDI0MTUsIDQzMTY0LCAwLCA4MDE4LCAKKyAgICA0MjMzMywgNzQ3NTYsIDEwNjc1LCA2OTM3LCA0MjQ4NiwgNDMzODEsIDY1MzkwLCAxMDA2NywgMCwgMTIwMiwgMCwgCisgICAgOTgzOTEwLCA2NTg2MywgMCwgNjg0ODQsIDk0MDEzLCA3ODE4MiwgNjQ1NDIsIDMyNjAsIDczODI5LCA2NTM4OCwgOTk0NSwgCisgICAgODQxOSwgNzgwNDIsIDY3MzgsIDAsIDQzNjgxLCA2OTcyOCwgMjA1OSwgOTI0MjIsIDAsIDU1MjM3LCAxNDMxLCA5ODMyMjYsIAorICAgIDY2NTY1LCAxMDgyMSwgMCwgMTI4MDQsIDEyODA3NiwgODIyOSwgMTIzNSwgMzMwNywgMTE0NzIsIDc4MDg5LCA3ODE4NCwgCisgICAgNDU0NCwgNzEyMjgsIDAsIDkxNzk3NSwgMTc0MCwgNzgwOTcsIDg3NTgsIDk4NSwgMTI4NzIsIDY0NTExLCA3ODA5NCwgCisgICAgMTIwNjgsIDc4MTAyLCA3MTIyNiwgMTAxNDEsIDAsIDYzNzYxLCA4Nzg1LCA0NDc2LCA3ODEwOSwgNjM3NjMsIDEyNjU1LCAKKyAgICA4OTA3LCA5MTQ3LCA3ODEwNiwgNzgxMDMsIDc4MTA0LCAwLCAxMTk1NzIsIDEwNjY1LCA2NDYxNiwgNDE1NzIsIDEyNzk3OSwgCisgICAgMTI3MTYwLCAwLCA0MTU3MywgMCwgMzkzMSwgMTIwMjk1LCA3NDE0MywgMCwgMCwgOTgzNzQzLCA3ODQ2MCwgMTE5ODIsIDAsIAorICAgIDAsIDEyODM4MSwgOTI3MTIsIDY0NDg0LCAwLCA0MTE2NywgMCwgNDE3MzUsIDk0MDE5LCA3MTcsIDEwNzU0LCAwLCAwLCAKKyAgICA3MjQxMywgOTI5MzUsIDYzNzY3LCAwLCAxNzgwLCA2OTM2LCAwLCA5MjI1NCwgODE5LCAxMDYxMSwgOTY5NCwgMTI2OTc4LCAKKyAgICAwLCAwLCAwLCAxMjkwNjksIDgzNDMsIDgzNDIsIDgzNDUsIDgzNDQsIDY1NzgsIDcwMDksIDc1MjMsIDY5MjIsIDgzNDgsIAorICAgIDgzNDcsIDc1MjUsIDMzNDYsIDgzMzksIDEyODE2NSwgMTI4MjA4LCA1NzUsIDI2OCwgNzgxMTEsIDg1NjMsIDU3NTQsIAorICAgIDEyMDM0MywgNDE1NDEsIDY1NTY1LCA4MzM2LCA1OTM2LCA3MjkwLCA3ODExNywgODMzNywgODM0MSwgMzA4LCAxMTM4OCwgCisgICAgNzUyMiwgMTIwNzIxLCA3ODEyMywgNjU0NjYsIDExMDkwLCA2OTUzLCAwLCAxMjAzNDYsIDEyODkzOSwgNzgxMzIsIDU5MjYsIAorICAgIDY4MjUwLCA3ODEzMCwgNzgxMjYsIDc4MTI3LCA3ODEyNCwgNzgxMjUsIDkwMzgsIDc4ODcsIDQzNDU2LCA3ODMwLCAxMTY1MSwgCisgICAgMTMwOTMsIDY0MDAyLCA5ODM1NTksIDY1NzQyLCAxMjg3NCwgMTE5NTk3LCAxMTU5MCwgMCwgNzQwNDgsIDY3Mzc5LCA4NTk1LCAKKyAgICA5ODM1LCA5MTc5NDcsIDQzNzAzLCAxMzA5NywgMCwgNjQ2NDMsIDEzMjgzLCAxMjY5NywgMCwgMTIzODEsIDM0ODgsIDU5MzMsIAorICAgIDEwMDMzLCA3MTEwMSwgNjYyNDEsIDY1NTcwLCAwLCAxMjI5NywgNzEyMTIsIDE5NTUsIDEyNzk3MCwgNTM0OSwgNDI1MzgsIAorICAgIDAsIDAsIDc0MTEsIDk0NjIsIDkxNzU1NCwgMCwgMTI4NDY1LCAwLCA0MjczNiwgMCwgNTc1NiwgMTI4MzI0LCA3NjM4LCAKKyAgICA0MTY0MiwgNDI3NjQsIDAsIDQzMTA5LCA3NjM3LCA1NzUyLCAxMTIxMywgMCwgNzM4MzIsIDEyODgyNywgMTIwNjM1LCAKKyAgICAxMjgyMzEsIDc4MzM0LCAwLCA3NjM2LCA2NTE3MSwgOTEyNCwgMCwgNzg4OTIsIDEyMDc5OCwgMjkxLCAwLCA5ODMyMjEsIAorICAgIDIwMjcsIDY2MjMwLCAxMDA4MCwgNzgxMzYsIDEwNDAzLCA3MDg2OSwgNDY0MCwgNjQ3MTMsIDEwMjI0LCAxMjA0MjksIAorICAgIDExMTgzLCAxMjA0MzEsIDEyMDQzMCwgMCwgMTI4MzUxLCAxMjc0ODksIDEyNzEzOCwgMCwgOTI0OTksIDAsIDExOTA5NCwgCisgICAgNzQyMTMsIDc4MjQsIDAsIDAsIDQxMjc0LCA1Nzc4LCA2MzAyLCAwLCAwLCAxMjY4MCwgMTE5MTMwLCAxNDE3LCA2NzI0MiwgCisgICAgOTMwNDEsIDk0NTIsIDAsIDc0MzkzLCAxMTU1MiwgMCwgMTI3ODU1LCAxMjgyMTcsIDY1MzkxLCAxMjg2MTQsIDEwMTcyLCAKKyAgICA2NTQ1MywgNjM3ODksIDQxMjY0LCA3ODY1OCwgNjQyNiwgNDY0MSwgOTE3OSwgNjQ4MTksIDU1Mjc4LCA0MTI1NSwgNDIwMzYsIAorICAgIDQxNDY5LCA0MTI2OSwgMTIwNDEyLCA0MTI2NywgNDY0NiwgNjc3NTksIDg2NSwgNDIwMzQsIDc4Mjc0LCA3ODI3MywgNDY0NSwgCisgICAgNDIwMzMsIDc4MjcwLCAxMjc5ODIsIDk4MzE3MiwgNjQ3MjgsIDAsIDc4NjczLCA3ODY3NCwgMTY1OSwgOTE5LCA0Mjc4NCwgCisgICAgMTY3MSwgMTk1MDg5LCA2MDY5LCA5MjE5LCAxMjg1NTgsIDE2NjEsIDEzMTIwLCA2Mzc4NCwgNjk4MTksIDEwMTQwLCA5NzEzLCAKICAgICAxMTkxNDMsIDAsIDAsIDk0MDUwLCAyMzA2LCAxMDQ4NSwgMTE4OTQzLCA2MDY4LCAxMDYxMiwgMTk1MDk5LCAxMTk1NjcsIAotICAgIDE5NTEwMSwgOTI1NjEsIDQxNDYyLCAxMjA0NzAsIDE5NTA3OSwgNTQyMiwgMTI4MjM0LCA5ODM2MjksIDAsIDAsIDEwMjI5LCAKLSAgICAxMDYzNSwgODI2LCAxMjgwODEsIDE5NTA4MiwgMTk1MDg1LCAxOTUwODQsIDE5NTA4NywgNjQ4MywgOTIyMTEsIDE4MDgsIAotICAgIDc4NDgsIDAsIDgxMDAsIDc4MjI3LCA3ODY2OSwgNzg2NzAsIDEzMzAxLCA3ODY2NywgOTY2NywgNzg2NjUsIDc4ODcyLCAwLCAKLSAgICAxMTAwMywgOTkwNCwgMCwgMCwgMTIwNjkwLCA5MTQ0LCAxMDkyMSwgMCwgNzg2ODAsIDk4NDAsIDY1MTMxLCA3ODY3OCwgCi0gICAgNzc4NDEsIDEwMzEzLCAwLCAwLCA2NDMyMCwgMTAyNjUsIDc4Njg2LCAxMDk2MiwgNzg2ODQsIDQzMDA4LCA4OTQ1LCAKLSAgICA3ODY4MywgMCwgNDEsIDE5NTA3MiwgMTc5MiwgMTIwNTE1LCAxOTUwNzMsIDg2NTUsIDE5NTA3NSwgOTI1NDQsIDc3OTUxLCAKLSAgICAxMjA2NiwgMCwgMzg1LCA0MTUyLCAyNTg1LCAxMjc4MDQsIDExOTA2OCwgMzEyNiwgMCwgNzQxMzYsIDEwOTU3LCA5ODM3MDMsIAotICAgIDQzMjU4LCAxMTkxMTYsIDEyNzg3MywgMTMxNTcsIDAsIDkxNzU0NCwgMzU3MCwgMCwgNzQ0MywgMCwgNDQwMDYsIDY5OTcsIAotICAgIDY4MDA0LCAxMjY2MzEsIDc4NzksIDg3MzksIDExMDc1LCAwLCA2NTIxNiwgMCwgNjk3OTUsIDI1OTMsIDg0NjMsIDc4MTAsIAotICAgIDkxNzg2MiwgNzgzOSwgMTE5OTEzLCA3ODgwNiwgMTE5OTEyLCA5NjkxLCA0NDExLCA3ODgwMiwgMCwgMCwgNDM0NDIsIAotICAgIDY5ODUxLCA2NTI1NCwgMTAwNjYsIDk4Mzg4OSwgMCwgMCwgMCwgMTMwNjEsIDgwMTYsIDc4Njg3LCAxOTkzMiwgNjQ4MzEsIAotICAgIDAsIDExOTkyMywgMTIzOTAsIDExOTE3MSwgMTYzNCwgNjgxMTUsIDAsIDExMDU2LCA5ODM1NzQsIDExOTkyNSwgMCwgCi0gICAgNDExNjUsIDExMzI4LCAxMjQ1MCwgMCwgNDExNjYsIDAsIDEyNDU2LCAxMTk5MTQsIDE3MSwgNTk0MSwgMTI0NTIsIAotICAgIDE5NDcwOSwgMTI0NTgsIDEyNTMxLCA3ODc3OSwgNDMwMTMsIDYzODAwLCA3NDE2MiwgMTI3NTY5LCAxMjA0ODMsIDk5NjksIAotICAgIDEyMDc2NywgMTI0NTQsIDYzODA2LCA0MjEzMiwgMTIwNjMsIDc4NDI1LCA3ODQyNCwgMzIzMCwgMCwgMCwgMCwgNTIwOSwgCi0gICAgMjk3LCA1ODEwLCA4NTIyLCA4NDE1LCAxMTk5MzcsIDc4NDI5LCA3ODQyOCwgNzA3NywgMjQ5NywgMTI4NjUxLCA5NjAsIAotICAgIDc0MTU2LCA2OTgxLCA5MjM3NCwgMTI5MzgsIDQyOTIsIDAsIDc0ODE1LCAxMDUxMiwgMCwgNzQ4MTQsIDc4ODc1LCAKLSAgICAxMjc1MDUsIDc4ODc2LCAyNTAzLCA3Mzc3OCwgMTc2MiwgNjk3OTQsIDI0OTUsIDc4ODczLCA1ODQ0LCA2ODAzMSwgCi0gICAgMTE4ODM4LCAwLCAxMjY1NCwgNDY2MywgMTg5OSwgNzg4NzcsIDI1MDcsIDY0MTIxLCA4NzI2LCA2NTU5NCwgMCwgMCwgMCwgCi0gICAgODg5MiwgMCwgOTIzMzksIDAsIDk4MzA3MywgNTc4MiwgNDIwLCAwLCAwLCA0Mzc5NiwgMTA3OTcsIDYzNzk0LCAwLCAwLCAKLSAgICA2NDgxNCwgNjM3OTYsIDc3OTY1LCAwLCA2NjU4MSwgMTE5MjA0LCA0MTYwOCwgMCwgMCwgNjM3OTIsIDQ2NTksIDEyMDc4OCwgCi0gICAgMCwgNDM2NzYsIDAsIDY5NjczLCAwLCAwLCAwLCAzMjksIDc3OTY4LCA5MjcwNywgOTE3NTQ4LCA3Mzk5LCAwLCA0MTE4OCwgCi0gICAgMTMyNDQsIDEyMDQ2NiwgNDIxNjcsIDc0MzUsIDc4MTkzLCA1MzgwLCAxMTkwODYsIDY5MjI1LCAxMTU1LCAxMTM2NSwgCi0gICAgNDMxMjYsIDc3OTcyLCAwLCA2NTY4NCwgMCwgNTYwMSwgNjUxOTIsIDQyNzY1LCA2Mzc1MiwgMCwgNzk4NywgMTI4NTQzLCAKLSAgICAxMTcyLCA2OTc5OSwgNjc4NiwgNDM2MDEsIDEyMDQ3NiwgNzQxMjYsIDU2MDMsIDAsIDQ0NzMsIDAsIDE5NDgyMywgMCwgCi0gICAgNjUzNDcsIDY1MzQ2LCA2NTM0NSwgMCwgMTI3Mzg0LCA1MzQ3LCA2OTgwMiwgOTgzNjMyLCA3Mzg2OCwgMTE4OTQ0LCAKLSAgICAxMDU4OCwgMCwgMCwgNjM3NTUsIDAsIDUzNDMsIDc4NDIyLCAxMjA2NjEsIDQ1NTUsIDUzNDEsIDAsIDcwMDcxLCAxMjg2NzAsIAotICAgIDUzNTEsIDc4Njc1LCA0MzEwNCwgNjUyNDQsIDkxNzg5MiwgNjQ1NDEsIDQyNTE5LCA3NDQ3MiwgMCwgMCwgNzQ3NjUsIAotICAgIDkxNzg4OCwgMTI3NTEwLCA2NjM4LCAwLCA2NTExMywgMjcxLCA3NDE4MCwgNjUzNzAsIDg4MzUsIDY1MzY4LCAxMjY1MywgCi0gICAgNjUzNjYsIDQyMTcyLCA0MTA4NiwgNjUzNjMsIDY1MzYyLCA2NTM2MSwgMTE5MTIsIDQzNDEwLCAxMTMyMywgNjUzNTcsIAotICAgIDExODAwLCA2NTM1NSwgNTM0NSwgNjUzNTMsIDY1MzUyLCA2NTM1MSwgNzYxLCA2NTM0OSwgMTk5NTksIDY5NzE4LCA2Mzg1NiwgCi0gICAgMTI2NjM1LCAyNDIzLCA3Nzk1OCwgNjQ2NDcsIDc3OTU5LCAxMTk1NywgNDY5OSwgMCwgMCwgMCwgMCwgNjQ2MDUsIDAsIDAsIAotICAgIDAsIDQ5MTYsIDAsIDM4MCwgMTA5NTgsIDY2NTYzLCA3Nzk1NSwgNjk3NzMsIDk3NzMsIDEzMTY3LCAxMjkxOCwgNDEwOTYsIAotICAgIDczOTgwLCA2OTI0NSwgNzgyNTQsIDkxNzg5MywgMTA2ODQsIDAsIDkxNzg5NiwgMCwgNzk0NiwgMTI1NDEsIDgxODIsIAotICAgIDY3NTg2LCA2OTc4MCwgMCwgMCwgMCwgMCwgOTAwNSwgMTIyNSwgNjYzMCwgMCwgMCwgMCwgNjgwMTEsIDg4NDcsIDAsIAotICAgIDY1ODc2LCA1NTM1LCA4MzI5LCA3NDU5MCwgOTgzMjA4LCA5MjYwOSwgMCwgMCwgMzEyNywgMjU5NSwgNjU3MTMsIDQyMDEzLCAKLSAgICA5ODM4NTgsIDU2MDcsIDQxMDg5LCAwLCAwLCA3NDI1NiwgMjY2NSwgMTEzMDQsIDQzNzUxLCA3NDIwMCwgNDk3MCwgODc2NCwgCi0gICAgMTIwNDU5LCA4OTM0LCA5MjcyNiwgNDE1NjYsIDQ0OTIsIDAsIDY1MDExLCA0MTA5MCwgMCwgMCwgMTE4OCwgNzI1NCwgCi0gICAgMTEwMCwgMCwgMTI4MzAxLCA0MTA4MSwgMjkxMiwgMTE3NDksIDY5NzkyLCAwLCA2ODAxOSwgMzU3MiwgMTAwMjMsIDQ5NTksIAotICAgIDEzMDc5LCAwLCA5ODMyNzYsIDk3MjksIDAsIDAsIDAsIDQzMzYxLCAwLCAwLCAxMTgwMywgNzk5NiwgOTkwNywgNDE0NTAsIAotICAgIDEzMzA0LCAxMjgyOTAsIDEyNzI2MCwgNDE0NTEsIDAsIDExMDk1LCA4MjczLCAxMjc1MzMsIDM0NTEsIDk4MzMwOSwgOTcyLCAKLSAgICA0MTQ1MywgOTgzNDQyLCAwLCA3Mzg4MywgNjgwMjIsIDczOTQ1LCA5ODM3MzUsIDIyODgsIDE5OTU1LCA5NTM4LCAwLCAKLSAgICA2OTgwNywgMCwgMCwgMCwgMCwgMTEzOTYsIDk4MzQ0MCwgMTEwMTksIDAsIDAsIDAsIDY4MDIwLCA0MTA3OCwgNzEzNjUsIAotICAgIDI2MSwgNTkyNywgNzc5MSwgMCwgNzM2MiwgMCwgMTA2OTYsIDAsIDYwNzMsIDk4MzgsIDExODkyMCwgMCwgNjA3NSwgCi0gICAgOTM5OTUsIDI4MiwgMTI2NTEwLCA2NDM3LCA3NDA3OCwgMTI4MDAwLCA5ODAxLCAwLCA3NDE3NywgMCwgMCwgMzQ3NCwgCi0gICAgMTE4Nzg3LCAwLCAxMjA2NTUsIDYwODEsIDAsIDc4ODc0LCA3NDA3NiwgNzg4NzksIDAsIDAsIDAsIDAsIDAsIDg3NTEsIAotICAgIDExNDk5LCAxMjAyNzMsIDc4MTYsIDEyNjM2LCA0NjY1LCAxMjYyOCwgNDY3MCwgOTI2MDgsIDEyMDI3MiwgNjgwMTcsIAotICAgIDk2NDIsIDEwOTEyLCA5NTgsIDAsIDExMzg3LCA3ODg3OCwgNDY2NiwgMCwgNDkxNSwgMCwgNDY2OSwgMCwgNjgwOTksIAotICAgIDEzMjg3LCA0NjY0LCAxMDgzNiwgMTIwNTUwLCAwLCA2OTc3NSwgMCwgNDM1OTUsIDc0NTAsIDAsIDkxNzg3NSwgODY2NCwgCi0gICAgOTY5NywgMzYwNiwgOTE3ODczLCAwLCAwLCA2NDgxNSwgMTA2MywgMTIwMjUwLCAxMjAyNTEsIDk3NzIsIDcyNTUsIDg4ODYsIAotICAgIDEzODksIDEyNzkzMiwgMTIwMjU3LCAxMjAyNTgsIDEyMDI1OSwgMTI5NDEsIDQyNjYxLCA5MjM4MSwgMTIwMjU1LCAKLSAgICAxMjAyNTYsIDEyMzAxLCAxMjAyNjYsIDY5ODIwLCA0MTEwMiwgNjQ0MjgsIDEyMDI2MiwgMTIwMjYzLCAxMjAyNjQsIDEwMTcsIAotICAgIDY2NjAwLCA1MjMsIDUwNSwgMTQ0NywgNzQ0MzYsIDAsIDAsIDAsIDg2MDgsIDQyNzg5LCAxMjA2MTMsIDEyODcwNCwgMCwgCi0gICAgNzM4NTUsIDExMzA3LCA2NjcwNywgOTE3ODcxLCAxMjc3NTEsIDExNzQ1LCA3OTE5LCAwLCAxNjQxLCAwLCAwLCA4OTY2LCAwLCAKLSAgICAwLCA1OTA4LCAwLCAwLCA2NzQ0LCAxMjgzNTUsIDE2OTksIDY5ODYxLCA3NDg0MywgOTE3OTMzLCAwLCA2MzA2LCAxMDE2OSwgCi0gICAgNzEzMjQsIDExOTI1MSwgMTAwNjgsIDM3NjYsIDIzODksIDEyMDQ1NiwgMTIwNDU1LCA2NjExLCAyNTcsIDQzMTcwLCAKLSAgICAxMzE1MywgMCwgNDIzODYsIDAsIDk0MzYsIDI1OTksIDAsIDY0OTYsIDk0NDksIDU5MzAsIDExNDc2LCAxMTAzMywgMTE0NDcsIAotICAgIDEwNTQxLCA1NjIyLCAxMjA0MzYsIDg0NzcsIDM3NjAsIDE3MTgsIDk0NDIsIDY2NDMzLCAzNzc2LCAwLCA0MTQzNSwgNDM1MiwgCi0gICAgOTgzNjEwLCAyNDM1LCAxMjA4MDksIDU2MjEsIDEyMDM4NSwgNDIwMSwgMzc3OCwgNDIwMywgNDIwMiwgNDIwNSwgNDIwNCwgCi0gICAgMTIwNDQ3LCAzNzY4LCA2ODE0MiwgNzY1LCA0MTQ0MCwgMzc2NCwgODQ3MywgNjM3MywgODQ2OSwgMTIwNDM4LCAxMjk0NywgCi0gICAgNDU2NCwgMCwgMCwgNzQyNzEsIDczNzUzLCA4Mzc0LCA5ODMxNTYsIDAsIDY4MjksIDUyMjUsIDEyODgwNywgMTI3Mzg1LCAwLCAKLSAgICAwLCAxMTk2MTUsIDAsIDc0NzkzLCA1NjI2LCA3MzgwNywgMTE3NzEsIDc0MDc1LCAxMjcyMzYsIDEyODAxOSwgNDI2MTQsIAotICAgIDUzNTMsIDU2MjUsIDc0MTc5LCAwLCAwLCAxMDEwLCA2NDU3MiwgNDE3ODAsIDQyNjIzLCA2NDI3NywgNjk5NDIsIDY5NTIsIAotICAgIDk4MzI3MiwgMTIwNzUyLCA3ODc2MiwgMjU5MCwgNTYyOSwgNjU1NTIsIDc1NTEsIDEwMzI1LCA1NjMyLCAxMDQ3MSwgCi0gICAgMTIwMDM4LCAxMjAwMjcsIDEyMDAyOCwgMTIwMDI1LCA1NjI4LCAxMjAwMzEsIDk3MCwgMTIwMDI5LCA0NzcyLCAyNDAwLCAKLSAgICA1NjI3LCAxMjAwMTcsIDEyMDAxOCwgMTIwMDIzLCA2NDI3NSwgMTIwMDIxLCA4Nzg2LCAwLCAyMDMsIDAsIDAsIDAsIDAsIAotICAgIDc4MzUwLCAwLCA2NDM3OCwgNDIwNTQsIDAsIDAsIDU1NCwgMTE5NjQ5LCAxMTM1OCwgMCwgMTIxODIsIDQyMDQ4LCAxMTA2NSwgCi0gICAgMTI2NDY0LCA3Mzg5MSwgMCwgMCwgNTY5NCwgNzY4OSwgNjk3OTgsIDkzMjMsIDQzMjUsIDMwNDcsIDEwMzE3LCAxNzUsIDAsIAotICAgIDAsIDY5NzY0LCAwLCAwLCAxMjQzLCA0MjE1NCwgNTQzMSwgNjY1MiwgMCwgNjk3NzAsIDQzNjUxLCAwLCA2ODExOCwgCi0gICAgMTI4MDI0LCAxMTI5LCAxMjY1NzQsIDAsIDY1OTAwLCAxOTg2LCA3ODQ2LCA3ODgwNCwgODY2MSwgOTE3NzcyLCA2NTI1NSwgCi0gICAgMCwgMzg0NSwgNDQ5MCwgMTE4OTY5LCA2NjQ5LCA3NDQwMCwgMTQ1NiwgNzUzMCwgMTE5NzcsIDcyNDksIDgzNjYsIDAsIAotICAgIDc3NTYsIDEyMzQyLCAxMjg1NjgsIDUxLCA0MTUxNiwgMCwgODU3MCwgOTU2OCwgNzEzMTgsIDQ1NiwgNzAyNiwgODE0NSwgCi0gICAgMTE2OCwgOTI1MSwgOTA4MiwgMTE5OTY0LCA2NDA1NSwgNDI3ODEsIDM4NjYsIDEyMzIzLCA0MTUxMiwgNzM4MDUsIDY4MTIxLCAKLSAgICAwLCA0MTQ5NCwgOTIzMTYsIDQ2NjAsIDAsIDEwNDA1LCAwLCA3ODgwMywgMCwgMCwgNDIwNDAsIDczOTE4LCAxMTk2MjcsIAotICAgIDc5NDQsIDQxNDU0LCAxMjYwNSwgMCwgNDIyMDUsIDQxNDU1LCAyMzYsIDY0MDUxLCA3ODg2NywgODIxNCwgMCwgMCwgMCwgCi0gICAgNDE0NTcsIDk4Mzk3MCwgMTE5NTg5LCAxOTY5LCAyMzg0LCA4MDk3LCA5MTc4NjQsIDc0MTMsIDY4MDEyLCA3ODAyOSwgCi0gICAgODc2NiwgMCwgNzgwNzksIDU4NTQsIDEyNzk3NCwgMTA1ODMsIDAsIDExOTk4OSwgMCwgMTA0MTYsIDkxNzg2OSwgMzg3MiwgCi0gICAgOTE3ODY4LCAwLCA4NDI5LCAwLCAxMTg4MDYsIDI4MzgsIDEyODgwMiwgMCwgOTE3ODY2LCAwLCAwLCAwLCA5ODM5NjcsIAotICAgIDk0MDA1LCAxMTA5NiwgMTIwODEzLCAxMDU1MywgMTY2MiwgODQ4MywgMTIwMzk2LCA0MzYwNSwgNTg5MiwgNDM0MTgsIDAsIAotICAgIDczNzQyLCA2NiwgNjUsIDY4LCA2NywgNzAsIDY5LCA3MiwgNzEsIDc0LCA3MywgNzYsIDc1LCA3OCwgNzcsIDgwLCA3OSwgCi0gICAgODIsIDgxLCA4NCwgODMsIDg2LCA4NSwgODgsIDg3LCA5MCwgODksIDExOTg2MiwgMTAzNTcsIDczODUsIDgxNzAsIDE3MDQsIAotICAgIDg1NTYsIDAsIDk2NTksIDAsIDAsIDAsIDk1NTYsIDAsIDQ1MDMsIDExMzUzLCA5NjQ3LCAwLCA3ODE4NSwgMCwgMCwgCi0gICAgOTI3MTMsIDc4ODg2LCAwLCAwLCA3NDIyOSwgNjY1OTMsIDY0MzgsIDkxNzk3OSwgOTEwOSwgNzg4ODIsIDEyODksIDY0NTk5LCAKLSAgICAwLCA2ODAwOSwgMCwgNjU1MDcsIDI0NDcsIDAsIDAsIDEyODA0MiwgMTI2NTQ1LCA5ODMxMzcsIDAsIDYzMzQsIDAsIDAsIAotICAgIDE5OTM3LCAwLCA5MjM2OCwgMCwgNTY3NSwgMjU0LCAwLCAwLCA2OTY4NiwgNDI0MjUsIDg5MTgsIDY0MDAzLCA1NzE2LCAKLSAgICA0MjMxMiwgMCwgMCwgNjk3MiwgNDI4MjYsIDAsIDQyNDY0LCAxMjA1NjcsIDAsIDkyNjQ1LCA3NDc5NiwgNjQ0MDAsIAotICAgIDY0NjkzLCAwLCA3Nzg2MSwgNjU0MjksIDk1MTUsIDQ0MzUsIDAsIDQyNTIyLCAwLCA2ODAwOCwgMTE3ODUsIDc0MTIsIAotICAgIDY0NjcxLCA0MTk3OCwgMTQxMiwgNDU5NCwgMTM5MSwgMTA1MzYsIDgwNjcsIDk5MDEsIDcxMDMsIDEyODI5MywgNzEwMiwgCi0gICAgNzQ1ODgsIDEyMDc0OCwgMzE0MCwgMTI4ODU0LCA3OTYwLCA0MzI3MSwgMCwgMTI1MTgsIDEwOTA5LCAxMjc1MDgsIDE0MjgsIAotICAgIDEyNDcyLCAwLCA2OTg2NCwgNzY5OSwgMTIzOTMsIDAsIDAsIDAsIDc0NTE4LCA4MjIzLCAwLCA0MjYxLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAxMjgzMDIsIDAsIDEyODA0NiwgNDM0MTksIDAsIDY0NTU0LCAxMDU3NCwgMzg3OCwgMCwgNDIzNTIsIDE3NTIsIAotICAgIDczNzg1LCAwLCA0MjUwNiwgMTI4NTQxLCAxMDE5OSwgMCwgMCwgNjgwMjEsIDY1OTE5LCAwLCA2Njk1LCA3MjAsIDMyNCwgMCwgCi0gICAgMCwgNDM0MDYsIDk4MzczNiwgMTQ2NCwgNDA5ODUsIDAsIDc5NzQsIDAsIDQzNDc0LCAwLCA2NDQ4OCwgMCwgMCwgNjQwNDEsIAotICAgIDc0Nzg3LCAwLCA3ODg2NSwgOTIyNTgsIDY1NTk3LCAwLCA3ODg2MywgMCwgMTMwMiwgMCwgNzg4NjEsIDExOTEzNCwgMCwgMCwgCi0gICAgNTIwNCwgNzQ3NzQsIDQzNDA0LCAxMTgzNSwgMCwgMzk5NSwgNjgzNjAsIDY1NjA4LCAzNzE0LCA5MjE5MCwgMCwgMCwgCi0gICAgMTA5OTksIDExNzUwLCAwLCA0MzI1MSwgNjg2NjAsIDQzMzAxLCAwLCAxMjA1NTcsIDgxMzAsIDg2NzIsIDEwODQ1LCAKLSAgICAxMTk2NCwgMCwgOTgzMTg1LCAwLCAwLCA2ODQ1NSwgNDI4NjMsIDczODM5LCAwLCAwLCAwLCAwLCAxMjY2MjksIDAsIDQ2OCwgCi0gICAgNjEyLCAwLCA2NDQwMSwgNjY0NDgsIDY4Mzc2LCAwLCAxNjc0LCAwLCA1ODIzLCA5ODMxNjMsIDEyMjgwLCAwLCA1NDAsIAotICAgIDc0NTY0LCAxMTkwMTcsIDAsIDg0MzIsIDAsIDExMDczLCAwLCA2NDMxNiwgMCwgMCwgODIwLCA0MTc0MSwgMCwgMTIwNjY3LCAKLSAgICAwLCA2NDY4NCwgMTI2OTkyLCAzMzU5LCA3ODAwLCA2OTkzNCwgNjUxNzcsIDYyMjYsIDM1MywgMTIzOTYsIDAsIDExOTYxMiwgCi0gICAgNjQ3NDIsIDEyODY4MiwgMTIwMjgyLCAwLCA5ODM0NTAsIDEyNDEyLCAxOTk0MSwgMCwgMTIwMjc3LCA3ODg0NywgMTg4NCwgCi0gICAgOTQ4MSwgNDI0MTgsIDcwMDU5LCA0MTE1NywgMCwgMTE5NSwgNjQ4OTgsIDc5MjQsIDAsIDQxMTUxLCAyMDEwLCAwLCAKLSAgICA0MTMyOCwgNDIzNDQsIDAsIDEyNDA5LCAwLCA0MzYwLCAxMjcwMDksIDk3MzksIDEyODU1MCwgNjk5MzMsIDczOTIxLCAwLCAKLSAgICA0MjUyMSwgODUzOSwgOTgzNzI1LCAwLCAxMTg5ODYsIDAsIDQ3ODgsIDAsIDY4MDIzLCA2NTczNCwgOTgzNDU1LCA0Mzc5MCwgCi0gICAgMCwgMTMwNzUsIDc0NDI5LCA5NDA2MywgNjQ1NjksIDQzNTMyLCAxMDgzNywgMjQ5MiwgMTI3MTk3LCAxMTg5MDEsIDY4NjM3LCAKLSAgICA0MTEzNiwgNDM3ODUsIDExODEzLCA5NjQ5LCA0MTE1NCwgMTE5NjE3LCA1MTI4LCA0MDM4LCA0MTE0MywgNjU2MDQsIAotICAgIDY0ODU5LCA0MTU5MiwgNjc3MSwgMTY0OCwgNTQzNSwgOTE3ODM3LCA2NzM0LCA0MTM0MywgMTE5ODQ4LCA2NTQzOSwgCi0gICAgMTI3MDksIDY5ODYsIDkyMzY0LCA2ODAxNSwgMCwgNDEzNDksIDcwMDIxLCAxMjU4MSwgMTAzNzQsIDUxNzUsIDAsIDczODA2LCAKLSAgICAxMDI1NCwgMCwgMTAyNzgsIDEwMjYyLCA2OTg1OCwgNDEzNDYsIDAsIDYwNywgMCwgMTE5ODUyLCAxMjg4NDYsIDEyOTIzLCAKLSAgICAxMDMxNCwgMTAyODIsIDY1NDc3LCAxMDM3OCwgMTIwMjk3LCA0MDk3NiwgODI2NSwgMCwgMTE5ODM0LCA0MDk3NSwgNTg0MCwgCi0gICAgNDI4MzgsIDAsIDQwOTc4LCA5ODM4OTcsIDExOTg0MCwgMCwgOTgzMDcxLCAwLCA2NjQ0NCwgMTA1MzgsIDAsIDI1NTAsIAotICAgIDExOTgzNiwgNjc3OSwgMCwgMCwgMzUyNSwgNjgyNCwgMTE4ODg2LCAwLCAwLCA1NjE5LCA2NTgyMiwgMTI2NTY3LCAKLSAgICAxOTQ4ODIsIDc0NTUsIDAsIDU2MTYsIDExNDg2LCA5NjU2LCAwLCAwLCAxMDcyNywgNTYxNSwgMCwgMTIwNTUxLCA0MjM4MCwgCi0gICAgNjQ4OTUsIDQzNjkzLCA2NjQ1MSwgODA4LCA1NDU1LCAxMTM0NywgMCwgMTAyNiwgNTYyMCwgMTk0ODg3LCAwLCAxMTM1MCwgCi0gICAgNTYxNywgMCwgOTIyNSwgNjQ2MzksIDEyNzA3MywgOTE0NSwgMTI4MDYwLCAxMzM4LCAxMjA1ODEsIDk4MzE1OCwgMTI3MzksIAotICAgIDQ2MDMsIDMwODQsIDk4MzE1NSwgOTI0ODQsIDk4NTgsIDYwMzcsIDAsIDM5NzQsIDc4MjEzLCAxMDI5MCwgOTgzNzA0LCAKLSAgICAzMDgzLCAxMDMyMiwgMCwgMCwgMCwgNDEwMzYsIDAsIDAsIDQzMzIxLCA2NTYwNiwgMCwgNDEwMzIsIDQyMzg4LCAwLCAKLSAgICA2NDcwMCwgMTAwMTEsIDE0NDUsIDQwOTYxLCAwLCAxMTkxMDUsIDAsIDQwOTYwLCAwLCAxOTQ4OTEsIDAsIDQwOTYzLCAKLSAgICA2NDk1MiwgMTA0MDIsIDAsIDAsIDkyMzA0LCAxMDYwMywgMCwgMCwgOTgzMTEzLCAwLCA2NzE0LCAxMDA4MywgMTI3MDY5LCAKLSAgICAxOTQ4OTUsIDc4MzY3LCAxMjczNzcsIDAsIDkzOTYzLCA5MDczLCA0MjU4NSwgNjQzMDIsIDEwNzA0LCA2NTAzMCwgNDc4NywgCi0gICAgMCwgNzQ4MjksIDAsIDY1NDIzLCAwLCAxMjgxMTgsIDk1NzAsIDU1MjYwLCA5NTI1LCAyNjg5LCA5MTc2MjYsIDY1NDI2LCAwLCAKLSAgICA5MTc2MjQsIDQzNzQwLCAwLCA0MDk2NiwgOTE3NjIyLCAxMzI4NiwgMzk5OCwgNDI1OTgsIDQyNTk2LCA1MDMsIDc0MjM3LCAKLSAgICA4NzM1LCAyNjkwLCA2NjQ4OCwgNDI4MzYsIDEyNzE1MCwgNDE5NTQsIDkxNzYxNywgMTY1MiwgNzcyLCA2Njg4LCA4MzEwLCAKLSAgICA2NTQyOCwgMzQ4NywgNDM0MTYsIDM1ODUsIDEwMTk0LCA0MzMyMCwgMTE5MTU5LCAxMjgxODMsIDE5NDg3NCwgNjQ2OCwgCi0gICAgNDE5NzYsIDk3MjAsIDkxNzYwNiwgMTE3NjcsIDQxOTcwLCAxOTQ1OTYsIDU4MzYsIDEyMzU4LCAwLCA0MzU1LCA5MDQ4LCAKKyAgICA2NzcwNSwgOTI1NjEsIDQxNDYyLCAxMjA0NzAsIDE5NTA3OSwgNTQyMiwgMTI4MjM0LCA5ODM2MjksIDEyODYxMSwgCisgICAgMTI2NTE2LCAxMDIyOSwgMTA2MzUsIDgyNiwgMTI4MDgxLCAxOTUwODIsIDE5NTA4NSwgMTk1MDg0LCAxOTUwODcsIDY0ODMsIAorICAgIDkyMjExLCAxODA4LCA3ODQ4LCAxMTM3ODgsIDgxMDAsIDc4MjI3LCA3MTE5OCwgNzg2NzAsIDEzMzAxLCA3ODY2NywgOTY2NywgCisgICAgNzg2NjUsIDY3NzA0LCAwLCAxMTAwMywgOTkwNCwgMCwgOTgzOTE5LCAxMjA2OTAsIDkxNDQsIDEwOTIxLCA5Mjk5MiwgCisgICAgNzg2ODAsIDk4NDAsIDY1MTMxLCA3ODY3OCwgNzEwOTIsIDEwMzEzLCAwLCAwLCA2NDMyMCwgMTAyNjUsIDY3MjUyLCAKKyAgICAxMDk2MiwgNjY5MDQsIDQzMDA4LCA4OTQ1LCA3ODY4MywgMCwgNDEsIDE5NTA3MiwgMTc5MiwgMTIwNTE1LCAxOTUwNzMsIAorICAgIDg2NTUsIDY4MjU0LCA5MjU0NCwgNzc5NTEsIDEyMDY2LCA2NzI1OCwgMzg1LCA0MTUyLCAyNTg1LCAxMjc4MDQsIDExOTA2OCwgCisgICAgMzEyNiwgMCwgNzM5ODMsIDEwOTU3LCAxMjcwMzcsIDExMTYwLCAxMTkxMTYsIDEyNzg3MywgMTMxNTcsIDAsIDkxNzU0NCwgCisgICAgMzU3MCwgMTI5MTg3LCA3NDQzLCAxMTg4MDQsIDQ0MDA2LCA2OTk3LCA2ODAwNCwgMTI2NjMxLCA3ODc5LCA4NzM5LCAKKyAgICAxMTA3NSwgMCwgNjUyMTYsIDcwMTk2LCA2OTc5NSwgMjU5MywgODQ2MywgNzgxMCwgMTI4NTQzLCA3ODM5LCAxMTk5MTMsIAorICAgIDc4ODA2LCAxMTk5MTIsIDk2OTEsIDQ0MTEsIDc4ODAyLCAxMjkwMzIsIDEyNDk3MCwgNDM0NDIsIDY5ODUxLCA2NTI1NCwgCisgICAgMTAwNjYsIDk4Mzg4OSwgNzI0MTksIDAsIDAsIDEzMDYxLCA4MDE2LCA3ODY4NywgMTk5MzIsIDY0ODMxLCAwLCAxMTM2ODQsIAorICAgIDEyMzkwLCAxMTkxNzEsIDE2MzQsIDY4MTE1LCA5ODM5NjIsIDExMDU2LCA5ODM1NzQsIDExOTkyNSwgOTgzMDk5LCA0MTE2NSwgCisgICAgMTEzMjgsIDEyNDUwLCA5ODM4MTEsIDQxMTY2LCAwLCAxMjQ1NiwgMTE5OTE0LCAxNzEsIDU5NDEsIDEyNDUyLCAxOTQ3MDksIAorICAgIDEyNDU4LCAxMjUzMSwgNzg3NzksIDQzMDEzLCA2MzgwMCwgNzQxNjIsIDEyNzU2OSwgMTIwNDgzLCA5OTY5LCAxMjA3NjcsIAorICAgIDEyNDU0LCA2MzgwNiwgNDIxMzIsIDEyMDYzLCA3ODQyNSwgNzg0MjQsIDMyMzAsIDAsIDAsIDEyNTAyOSwgNTIwOSwgMjk3LCAKKyAgICA1ODEwLCA4NTIyLCA4NDE1LCAxMTk5MzcsIDc4NDI5LCA3ODQyOCwgNzA3NywgMjQ5NywgMTI4NjUxLCA5NjAsIDc0MTU2LCAKKyAgICA2OTgxLCA5MjM3NCwgMTI5MzgsIDQyOTIsIDc4ODkzLCA3NDgxNSwgMTA1MTIsIDAsIDc0ODE0LCA3ODg3NSwgMTI3NTA1LCAKKyAgICA3ODg3NiwgMjUwMywgNzM3NzgsIDE3NjIsIDY5Nzk0LCAyNDk1LCA3ODg3MywgNTg0NCwgNjgwMzEsIDExODgzOCwgCisgICAgMTk0NjU4LCAxMjY1NCwgNDY2MywgMTg5OSwgNzg4NzcsIDI1MDcsIDY0MTIxLCA4NzI2LCA2NTU5NCwgMCwgMCwgMCwgCisgICAgODg5MiwgNzg4NzIsIDkyMzM5LCA3MTIzMiwgOTgzMDczLCA1NzgyLCA0MjAsIDEyOTAzNCwgOTE3ODcxLCA0Mzc5NiwgCisgICAgMTA3OTcsIDYzNzk0LCAwLCAwLCA2NDgxNCwgNjM3OTYsIDQzODYxLCAwLCA2NjU4MSwgMTE5MjA0LCA0MTYwOCwgMTI4NDc5LCAKKyAgICAwLCA2Mzc5MiwgNDY1OSwgMTIwNzg4LCA3Nzk3MSwgNDM2NzYsIDkyOTU2LCA2OTY3MywgMCwgMTExMjksIDkyOTI5LCAzMjksIAorICAgIDc3OTY4LCA5MjcwNywgOTE3NTQ4LCA3Mzk5LCAwLCA0MTE4OCwgMTMyNDQsIDY3NjkyLCA0MjE2NywgNzQzNSwgNzgxOTMsIAorICAgIDUzODAsIDExOTA4NiwgNjkyMjUsIDExNTUsIDExMzY1LCA0MzEyNiwgNzc5NzIsIDAsIDY1Njg0LCAwLCA1NjAxLCA2NTE5MiwgCisgICAgNDI3NjUsIDYzNzUyLCAwLCA3OTg3LCA5MzA1NSwgMTE3MiwgNjk3OTksIDY3ODYsIDQzNjAxLCAxMjA0NzYsIDc0MTI2LCAKKyAgICA1NjAzLCAwLCA0NDczLCAwLCA3MjQyNiwgMTI0OTQ3LCA2NTM0NywgNjUzNDYsIDY1MzQ1LCAxMjg1NDgsIDExOTIxMywgCisgICAgNTM0NywgNjk4MDIsIDk4MzYzMiwgNzM4NjgsIDcwODUyLCAxMDU4OCwgMCwgMCwgNjM3NTUsIDAsIDUzNDMsIDc4NDIyLCAKKyAgICAxMjA2NjEsIDQ1NTUsIDUzNDEsIDAsIDcwMDcxLCAxMjg2NzAsIDUzNTEsIDc4Njc1LCA0MzEwNCwgNjUyNDQsIDkxNzg5MiwgCisgICAgNjQ1NDEsIDQyNTE5LCA2ODEzNCwgMTI4OTE2LCAxMjY5ODYsIDc0NzY1LCA5MTc4ODgsIDEyNzUxMCwgNjYzOCwgMCwgCisgICAgNjUxMTMsIDI3MSwgNzQxODAsIDY1MzcwLCA4ODM1LCA2NTM2OCwgMTI2NTMsIDY1MzY2LCA0MjE3MiwgNDEwODYsIDY1MzYzLCAKKyAgICA2NTM2MiwgNjUzNjEsIDExOTEyLCA0MzQxMCwgMTEzMjMsIDY1MzU3LCAxMTgwMCwgNjUzNTUsIDUzNDUsIDExMTAzLCAKKyAgICA2NTM1MiwgNjUzNTEsIDc2MSwgNjUzNDksIDE5OTU5LCA2OTcxOCwgNjM4NTYsIDEyNjYzNSwgMjQyMywgNzQ1MTgsIAorICAgIDY0NjQ3LCA3Nzk1OSwgMTE5NTcsIDQ2OTksIDEyNjU3MywgMCwgMCwgMCwgNjQ2MDUsIDAsIDAsIDAsIDQ5MTYsIDAsIDM4MCwgCisgICAgMTA5NTgsIDY2NTYzLCA3Nzk1NSwgNjk3NzMsIDk3NzMsIDEzMTY3LCAxMjkxOCwgNDEwOTYsIDczOTgwLCA2OTI0NSwgCisgICAgNzgyNTQsIDkxNzg5MywgMTA2ODQsIDAsIDEyNTA2MywgOTI5MDYsIDc5NDYsIDEyNTQxLCA4MTgyLCA2NzU4NiwgNjk3ODAsIAorICAgIDAsIDAsIDAsIDAsIDkwMDUsIDEyMjUsIDY2MzAsIDAsIDAsIDExODg1NCwgNjgwMTEsIDg4NDcsIDkyMzcxLCA2NTg3NiwgCisgICAgNTUzNSwgODMyOSwgNzQ1OTAsIDEyNTAzNiwgOTI2MDksIDAsIDY2ODc0LCAzMTI3LCAyNTk1LCA2NTcxMywgNDIwMTMsIAorICAgIDEyOTE4OCwgNTYwNywgNDEwODksIDEyODYyNiwgMCwgNzQyNTYsIDI2NjUsIDExMzA0LCA0Mzc1MSwgNzQyMDAsIDQ5NzAsIAorICAgIDg3NjQsIDEyMDQ1OSwgODkzNCwgOTI3MjYsIDQxNTY2LCA0NDkyLCA2NzI3MSwgNjUwMTEsIDQxMDkwLCAwLCA5MjkwOSwgCisgICAgMTE4OCwgNzI1NCwgMTEwMCwgMCwgNjcyNzAsIDQxMDgxLCAyOTEyLCAxMTc0OSwgNjcyODIsIDY3MjgxLCA2NzI4MCwgCisgICAgMzU3MiwgMTAwMjMsIDQ5NTksIDEzMDc5LCAwLCA2NzI3NSwgOTcyOSwgMTI1MTEwLCAwLCA2NzI3OCwgNDMzNjEsIAorICAgIDk4MzczMywgNjcyNzYsIDExODAzLCA3OTk2LCA5OTA3LCA0MTQ1MCwgMTMzMDQsIDEyODI5MCwgMTI3MjYwLCA0MTQ1MSwgMCwgCisgICAgMTEwOTUsIDgyNzMsIDc0MzIyLCAzNDUxLCA5ODMzMDksIDk3MiwgNDE0NTMsIDY4MTY0LCAxMTkzMjcsIDczODgzLCAKKyAgICA2ODAyMiwgNzM5NDUsIDk4MzczNSwgMjI4OCwgMTk5NTUsIDk1MzgsIDkyOTUzLCA2OTgwNywgMCwgMTI5MDk1LCAwLCAKKyAgICAxMjg4OTcsIDExMzk2LCA5ODM0NDAsIDExMDE5LCAwLCAxMjg0MTYsIDAsIDY4MDIwLCA0MTA3OCwgNzEzNjUsIDI2MSwgCisgICAgNTkyNywgNzc5MSwgOTgzMDg3LCA3MzYyLCAwLCAxMDY5NiwgNzAxMjQsIDYwNzMsIDk4MzgsIDExODkyMCwgMCwgNjA3NSwgCisgICAgOTM5OTUsIDI4MiwgMTI2NTEwLCA2NDM3LCA3NDA3OCwgMTI4MDAwLCA5ODAxLCA2NjM5OSwgNzQxNzcsIDAsIDAsIDM0NzQsIAorICAgIDY3Mjg3LCAwLCA2NzI4NiwgNjA4MSwgMTI3MjE3LCA3ODg3NCwgNjcyODksIDY3MjgzLCAwLCA3MDAwMiwgMTI4OTA4LCAwLCAKKyAgICA5MzAxMywgODc1MSwgMTE0OTksIDY3Mjk3LCA3ODE2LCAxMjYzNiwgNDY2NSwgMTI2MjgsIDQ2NzAsIDY3Mjk4LCAxMjAyNzIsIAorICAgIDY4MDE3LCA5NjQyLCAxMDkxMiwgOTU4LCA2NzI5MywgMTEzODcsIDY3MjkxLCA0NjY2LCA3MDc5MiwgNDkxNSwgNjc3MTUsIAorICAgIDQ2NjksIDAsIDY4MDk5LCAxMzI4NywgNDY2NCwgMTA4MzYsIDEyMDU1MCwgMCwgNjk3NzUsIDAsIDQzNTk1LCA3NDUwLCAwLCAKKyAgICA5MTc4NzUsIDg2NjQsIDk2OTcsIDM2MDYsIDkxNzg3MywgOTgzOTc4LCAwLCA2NDgxNSwgMTA2MywgMTIwMjUwLCA2NzMxMiwgCisgICAgOTc3MiwgNzI1NSwgODg4NiwgMTM4OSwgMTI3OTMyLCAxMjAyNTcsIDEyMDI1OCwgMTIwMjU5LCAxMjk0MSwgNDI2NjEsIAorICAgIDkyMzgxLCAxMjAyNTUsIDEyMDI1NiwgMTIzMDEsIDEyMDI2NiwgNjk4MjAsIDQxMTAyLCA2NDQyOCwgMTIwMjYyLCAKKyAgICAxMjAyNjMsIDEyMDI2NCwgMTAxNywgNjY2MDAsIDUyMywgNTA1LCAxNDQ3LCA3NDQzNiwgMCwgNzAzNDAsIDAsIDg2MDgsIAorICAgIDQyNzg5LCAxMjA2MTMsIDEyODcwNCwgMCwgNzM4NTUsIDExMzA3LCA2NjcwNywgNjczMDEsIDY3MzAwLCAxMTc0NSwgNzkxOSwgCisgICAgNjczMDQsIDE2NDEsIDAsIDAsIDg5NjYsIDAsIDEyNzIxMiwgNTkwOCwgNzE4NzAsIDY3ODUzLCA2NzQ0LCA2NzMxMCwgCisgICAgMTY5OSwgNjczMDgsIDY3MzA3LCA2NzMxNCwgNjczMTMsIDYzMDYsIDEwMTY5LCA3MTMyNCwgMTE5MjUxLCAxMDA2OCwgCisgICAgMzc2NiwgMjM4OSwgNjczMDUsIDEyMDQ1NSwgNjYxMSwgMjU3LCA0MzE3MCwgMTMxNTMsIDAsIDQyMzg2LCAwLCA5NDM2LCAKKyAgICAyNTk5LCAwLCA2NDk2LCA5NDQ5LCA1OTMwLCAxMTQ3NiwgMTEwMzMsIDExNDQ3LCAxMDU0MSwgNTYyMiwgMTIwNDM2LCAKKyAgICA4NDc3LCAzNzYwLCAxNzE4LCA5NDQyLCA2NjQzMywgMzc3NiwgOTE3ODM3LCA0MTQzNSwgNDM1MiwgNjczMjQsIDI0MzUsIAorICAgIDcxMjExLCA1NjIxLCAxMjAzODUsIDQyMDEsIDM3NzgsIDQyMDMsIDQyMDIsIDQyMDUsIDQyMDQsIDEyMDQ0NywgMzc2OCwgCisgICAgNDE3NzQsIDc2NSwgNDE0NDAsIDM3NjQsIDg0NzMsIDYzNzMsIDg0NjksIDEyMDQzOCwgMTI5NDcsIDQ1NjQsIDAsIDc0NjIzLCAKKyAgICA3NDI3MSwgNzM3NTMsIDgzNzQsIDEyNzIwMSwgMCwgNjgyOSwgNTIyNSwgNjY5MDEsIDEyNzM4NSwgMCwgMCwgMTE5NjE1LCAKKyAgICA2NzMxOSwgNjczMTgsIDU2MjYsIDQzNTA3LCAxMTc3MSwgNjczMjIsIDY3MzIxLCA2NzMyMCwgNDI2MTQsIDUzNTMsIDU2MjUsIAorICAgIDc0MTc5LCA2NzMxNSwgMCwgMTAxMCwgNjQ1NzIsIDQxNzgwLCA0MjYyMywgNjQyNzcsIDY5OTQyLCA2OTUyLCA2NzMyOSwgCisgICAgNjczMjgsIDY3MzI3LCAyNTkwLCA1NjI5LCA2NTU1MiwgNzU1MSwgMTAzMjUsIDU2MzIsIDEwNDcxLCAxMjAwMzgsIAorICAgIDEyMDAyNywgMTIwMDI4LCAxMjAwMjUsIDU2MjgsIDEyMDAzMSwgOTcwLCAxMjAwMjksIDQ3NzIsIDI0MDAsIDU2MjcsIAorICAgIDEyMDAxNywgNjczMzAsIDEyMDAyMywgNjQyNzUsIDEyMDAyMSwgODc4NiwgMTEzNjkzLCAyMDMsIDc0MzY1LCAwLCAwLCAKKyAgICA2OTk4NSwgNzgzNTAsIDExMzcwMywgNjQzNzgsIDQyMDU0LCA5ODMxNTAsIDAsIDU1NCwgMTE5NjQ5LCAxMTM1OCwgNzExNzIsIAorICAgIDEyMTgyLCA0MjA0OCwgMTEwNjUsIDEyNjQ2NCwgNzM4OTEsIDAsIDAsIDU2OTQsIDc2ODksIDY5Nzk4LCA5MzIzLCA0MzI1LCAKKyAgICAzMDQ3LCAxMDMxNywgMTc1LCAwLCA5MzAyOSwgNjk3NjQsIDAsIDAsIDEyNDMsIDQyMTU0LCA1NDMxLCA2NjUyLCA5MTc1NjEsIAorICAgIDY3NzUzLCA0MzY1MSwgMTI5MTI5LCA2ODExOCwgMTI4MDI0LCAxMTI5LCAxMjY1NzQsIDAsIDY1OTAwLCAxOTg2LCA3ODQ2LCAKKyAgICA3ODgwNCwgODY2MSwgOTE3NzcyLCA2NTI1NSwgMCwgMzg0NSwgNDQ5MCwgMTE4OTY5LCA2NjQ5LCA3NDEzNiwgMTQ1NiwgCisgICAgNzUzMCwgMTE5NzcsIDcyNDksIDgzNjYsIDAsIDc3NTYsIDEyMzQyLCAxMjg1NjgsIDUxLCA0MTUxNiwgMCwgODU3MCwgCisgICAgOTU2OCwgNzEzMTgsIDQ1NiwgNzAyNiwgODE0NSwgMTE2OCwgOTI1MSwgOTA4MiwgMTE5OTY0LCA2NDA1NSwgNDI3ODEsIAorICAgIDM4NjYsIDEyMzIzLCA0MTUxMiwgNzM4MDUsIDY4MTIxLCAwLCA0MTQ5NCwgOTIzMTYsIDQ2NjAsIDY3MTE0LCAxMDQwNSwgCisgICAgMTI3MTk1LCA3ODgwMywgMCwgMCwgNDIwNDAsIDczOTE4LCAxMTk2MjcsIDc5NDQsIDQxNDU0LCAxMjYwNSwgMCwgNDIyMDUsIAorICAgIDQxNDU1LCAyMzYsIDY0MDUxLCA3ODg2NywgODIxNCwgMCwgMTEzNzg0LCAxMjAwMzcsIDQxNDU3LCA5ODM5NzAsIDExOTU4OSwgCisgICAgMTk2OSwgMjM4NCwgODA5NywgOTE3ODY0LCA3NDEzLCA2ODAxMiwgNzgwMjksIDg3NjYsIDQzODY0LCA3ODA3OSwgNTg1NCwgCisgICAgMTI1MDAwLCAxMDU4MywgMCwgMTE5OTg5LCAwLCAxMDQxNiwgOTE3ODY5LCAzODcyLCA5MTc4NjgsIDAsIDg0MjksIDAsIAorICAgIDExODgwNiwgMjgzOCwgNjQyOSwgMCwgOTE3ODY2LCAwLCAxMjg0NzgsIDAsIDk4Mzk2NywgOTQwMDUsIDExMDk2LCAKKyAgICAxMjA4MTMsIDEwNTUzLCAxNjYyLCA4NDgzLCAxMjAzOTYsIDQzNjA1LCA1ODkyLCA0MzQxOCwgMCwgNzM3NDIsIDY2LCA2NSwgCisgICAgNjgsIDY3LCA3MCwgNjksIDcyLCA3MSwgNzQsIDczLCA3NiwgNzUsIDc4LCA3NywgODAsIDc5LCA4MiwgODEsIDg0LCA4MywgCisgICAgODYsIDg1LCA4OCwgODcsIDkwLCA4OSwgMTE5ODYyLCAxMDM1NywgNzM4NSwgODE3MCwgMTcwNCwgODU1NiwgMCwgOTY1OSwgCisgICAgMCwgMCwgMCwgOTU1NiwgMCwgNDUwMywgMTEzNTMsIDk2NDcsIDEyNTAxNSwgNzgxODUsIDEyODk1OSwgMCwgOTI3MTMsIAorICAgIDc4ODg2LCAwLCAwLCA3NDIyOSwgNjY1OTMsIDY0MzgsIDkxNzk3OSwgOTEwOSwgNzg4ODIsIDEyODksIDY0NTk5LCAwLCAKKyAgICA2ODAwOSwgMTI4MzAyLCA2NTUwNywgMjQ0NywgMTE5OTExLCAwLCAxMjgwNDIsIDEyNjU0NSwgNjY1ODksIDAsIDYzMzQsIDAsIAorICAgIDAsIDE5OTM3LCA5MTc3OTMsIDEzMjIsIDkyMzU5LCA1Njc1LCAyNTQsIDAsIDAsIDY5Njg2LCA0MjQyNSwgODkxOCwgCisgICAgNjQwMDMsIDU3MTYsIDQyMzEyLCAwLCAwLCA2OTcyLCA0MjgyNiwgNzQ0MDksIDQyNDY0LCAxMjA1NjcsIDY2ODk5LCAKKyAgICA2NzE1NSwgNzQ3OTYsIDY0NDAwLCA2NDY5MywgMCwgNjc2ODcsIDY1NDI5LCA5NTE1LCA0NDM1LCAwLCA0MjUyMiwgMCwgCisgICAgNjgwMDgsIDExNzg1LCA3NDEyLCA0Mzg2NywgNDE5NzgsIDE0MTIsIDQ1OTQsIDEzOTEsIDEwNTM2LCA4MDY3LCA5OTAxLCAKKyAgICA3MTAzLCAxMjgyOTMsIDcxMDIsIDc0NTg4LCAxMjA3NDgsIDMxNDAsIDEyNzI3NiwgNzk2MCwgNDMyNzEsIDAsIDEyNTE4LCAKKyAgICAxMDkwOSwgMTI3NTA4LCAxNDI4LCAxMjQ3MiwgNjcyNTQsIDY3MjUzLCA3Njk5LCAxMjM5MywgNjcyNTcsIDAsIDY3MjU2LCAKKyAgICA2NzI1NSwgODIyMywgMCwgNDI2MSwgMCwgMCwgNzQzMDgsIDAsIDExMzcxMiwgNjcxNTMsIDAsIDEyODA0NiwgNDM0MTksIDAsIAorICAgIDY0NTU0LCAxMDU3NCwgMzg3OCwgNjc2OTEsIDQyMzUyLCAxNzUyLCA3Mzc4NSwgMCwgNDI1MDYsIDEyODU0MSwgMTAxOTksIAorICAgIDkxNzg2NSwgMTI1MTQyLCA2ODAyMSwgNjU5MTksIDAsIDY2OTUsIDcyMCwgMzI0LCAwLCAxMjkwMzUsIDQzNDA2LCAKKyAgICA5ODM3MzYsIDE0NjQsIDQwOTg1LCAwLCA3OTc0LCAwLCA0MzQ3NCwgMCwgNjQ0ODgsIDEyODk3NywgMCwgNjQwNDEsIAorICAgIDc0Nzg3LCAwLCA3ODg2NSwgOTIyNTgsIDY1NTk3LCAwLCA3ODg2MywgMCwgMTMwMiwgNjYyODgsIDc4ODYxLCAxMTkxMzQsIAorICAgIDAsIDY3MTUyLCA1MjA0LCA3NDc3NCwgNDM0MDQsIDExODM1LCAwLCAzOTk1LCA2ODM2MCwgNjU2MDgsIDM3MTQsIDkyMTkwLCAKKyAgICAxMjAwMjYsIDY3MjYyLCAxMDk5OSwgMTE3NTAsIDY3MjU5LCA0MzI1MSwgNjcyNjQsIDQzMzAxLCAwLCAxMjA1NTcsIDgxMzAsIAorICAgIDg2NzIsIDEwODQ1LCAxMTk2NCwgMCwgMTI4MDE0LCAwLCAwLCA2ODQ1NSwgNDI4NjMsIDczODM5LCAwLCAwLCA2NzcwMCwgMCwgCisgICAgMTEzNzAxLCA0MzY0NSwgNDY4LCA2MTIsIDAsIDY0NDAxLCA2NjQ0OCwgNjgzNzYsIDAsIDE2NzQsIDAsIDU4MjMsIAorICAgIDEyOTEyNiwgMTIyODAsIDcwMzY3LCA1NDAsIDc0NTY0LCAxMTkwMTcsIDY2NDIyLCA4NDMyLCAwLCAxMTA3MywgMCwgCisgICAgNjQzMTYsIDAsIDAsIDgyMCwgNDE3NDEsIDAsIDEyMDY2NywgMTI0OTgxLCA2NDY4NCwgMTI2OTkyLCAzMzU5LCA3ODAwLCAKKyAgICA2OTkzNCwgNjUxNzcsIDYyMjYsIDM1MywgMTIzOTYsIDAsIDExOTYxMiwgNjQ3NDIsIDEyODY4MiwgNzg4NzksIDAsIAorICAgIDEyNzkzOCwgMTI0MTIsIDE5OTQxLCAwLCAxMjAyNzcsIDcwMzUyLCAxODg0LCA5NDgxLCA0MjQxOCwgNzAwNTksIDQxMTU3LCAKKyAgICAwLCAxMTk1LCA2NDg5OCwgNzkyNCwgMCwgNDExNTEsIDIwMTAsIDEyODg4MywgNDEzMjgsIDQyMzQ0LCAwLCAxMjQwOSwgMCwgCisgICAgNDM2MCwgMTI3MDA5LCA5NzM5LCAxMjg1NTAsIDY5OTMzLCA3MzkyMSwgOTE3NjMxLCA0MjUyMSwgODUzOSwgMTI4NjA2LCAwLCAKKyAgICAxMTg5ODYsIDEyNzE0OCwgNDc4OCwgMCwgNjgwMjMsIDY1NzM0LCA5ODM0NTUsIDQzNzkwLCAxMjAyNzQsIDEzMDc1LCAKKyAgICA3NDQyOSwgOTQwNjMsIDY0NTY5LCA0MzUzMiwgMTA4MzcsIDI0OTIsIDEyNzE5NywgMTE4OTAxLCA2ODYzNywgNDExMzYsIAorICAgIDQzNzg1LCAxMTgxMywgOTY0OSwgNDExNTQsIDExMzczMSwgNTEyOCwgNDAzOCwgNDExNDMsIDY1NjA0LCA2NDg1OSwgCisgICAgNDE1OTIsIDY3NzEsIDE2NDgsIDU0MzUsIDY3Mjk1LCA2NzM0LCA0MTM0MywgMTE5ODQ4LCA2NTQzOSwgMTI3MDksIDY5ODYsIAorICAgIDkyMzY0LCA2ODAxNSwgMTIwNTMzLCA0MTM0OSwgNzAwMjEsIDEyNTgxLCAxMDM3NCwgNTE3NSwgMCwgNzM4MDYsIDEwMjU0LCAKKyAgICAxMTM2ODEsIDEwMjc4LCAxMDI2MiwgNjk4NTgsIDQxMzQ2LCAwLCA2MDcsIDAsIDExOTg1MiwgMTI4ODQ2LCAxMjkyMywgCisgICAgMTAzMTQsIDEwMjgyLCA2NTQ3NywgMTAzNzgsIDEyMDI5NywgNDA5NzYsIDgyNjUsIDEyOTE0OSwgNzg2MzksIDQwOTc1LCAKKyAgICA1ODQwLCA0MjgzOCwgMCwgNDA5NzgsIDk4Mzg5NywgOTI5NDUsIDEyODAyMCwgMTE5ODA5LCAwLCA2NjQ0NCwgMTA1MzgsIAorICAgIDEyMDgxMCwgMjU1MCwgMTE5ODM2LCA2Nzc5LCAxMjkxMzAsIDAsIDM1MjUsIDY4MjQsIDExODg4NiwgOTgzNTgyLCAwLCAKKyAgICA1NjE5LCA2NTgyMiwgMTEzNzUxLCAxMTM3MzgsIDc0NTUsIDkxNzk2NiwgNTYxNiwgMTE0ODYsIDk2NTYsIDAsIDAsIAorICAgIDEwNzI3LCA1NjE1LCAxMjkwNzEsIDEyMDU1MSwgNDIzODAsIDY0ODk1LCA0MzY5MywgNjY0NTEsIDgwOCwgNTQ1NSwgCisgICAgMTEzNDcsIDAsIDEwMjYsIDU2MjAsIDE5NDg4NywgMCwgMTEzNTAsIDU2MTcsIDAsIDkyMjUsIDY0NjM5LCAxMjcwNzMsIAorICAgIDkxNDUsIDEyODA2MCwgMTMzOCwgMTIwNTgxLCA5ODMxNTgsIDEyNzM5LCA0NjAzLCAzMDg0LCA3MDQwOCwgOTI0ODQsIAorICAgIDk4NTgsIDYwMzcsIDAsIDM5NzQsIDc4MjEzLCAxMDI5MCwgOTgzNzA0LCAzMDgzLCAxMDMyMiwgMTI5MDQ4LCAxMjkwMzAsIAorICAgIDAsIDQxMDM2LCA2Njg5NywgMCwgNDMzMjEsIDY1NjA2LCAxMjcwNzEsIDQxMDMyLCA0MjM4OCwgMCwgNjQ3MDAsIDEwMDExLCAKKyAgICAxNDQ1LCA0MDk2MSwgMCwgMTE5MTA1LCAwLCA0MDk2MCwgMCwgNjc3MjcsIDEyNTEwNiwgMjIyMywgNjQ5NTIsIDEwNDAyLCAKKyAgICAwLCAxMjcxNzksIDkyMzA0LCAxMDYwMywgMCwgMCwgOTgzMTEzLCAwLCA2NzE0LCAxMDA4MywgMTI3MDY5LCAxOTQ4OTUsIAorICAgIDc4MzY3LCA2OTk3NiwgMCwgOTM5NjMsIDkwNzMsIDQyNTg1LCA2NDMwMiwgMTA3MDQsIDY1MDMwLCA0Nzg3LCAwLCA3NDgyOSwgCisgICAgMCwgNjU0MjMsIDAsIDEyODExOCwgOTU3MCwgNTUyNjAsIDk1MjUsIDI2ODksIDkxNzYyNiwgNjU0MjYsIDE5NDg3MiwgCisgICAgOTE3NjI0LCA0Mzc0MCwgOTgzMTc3LCA0MDk2NiwgOTE3NjIyLCAxMzI4NiwgMzk5OCwgNDI1OTgsIDQyNTk2LCA1MDMsIAorICAgIDc0MjM3LCA4NzM1LCAyNjkwLCA2NjQ4OCwgNDI4MzYsIDEyNzE1MCwgNDE5NTQsIDkxNzYxNywgMTY1MiwgNzcyLCA2Njg4LCAKKyAgICA4MzEwLCA2NTQyOCwgMzQ4NywgNDM0MTYsIDM1ODUsIDEwMTk0LCA0MzMyMCwgMTE5MTU5LCA3Mzk1NSwgOTIzMTUsIDY0NjgsIAorICAgIDQxOTc2LCA5NzIwLCA5MTc2MDYsIDExMTc5LCA0MTk3MCwgNjYyNTUsIDU4MzYsIDEyMzU4LCAwLCA0MzU1LCA5MDQ4LCAKICAgICAxMjE4MCwgNjUwMjcsIDY0NjgwLCAxMzAzOCwgNDM2OTksIDAsIDQxNDg4LCAxMjgwODcsIDg1MjcsIDE5NDkxNywgMTIzNjIsIAotICAgIDEyNDM1LCAxMjM2MCwgNDEwNTMsIDMyNjYsIDAsIDEyMzU2LCA4NjE2LCA0MTQ2NiwgMCwgOTI1ODgsIDExNDUwLCAwLCAKLSAgICAzNjM4LCAxMjM1NCwgMCwgMzIxNiwgMCwgMjM1OCwgOTI2MDYsIDg2MzMsIDAsIDk4Mzc0NSwgMTE5MTgyLCA2OTI0NCwgMCwgCi0gICAgMCwgMTE3NTksIDE5NDkwMywgNjM2OCwgNzQ4MjMsIDAsIDQxNDIzLCA4MDc4LCAxMDUwNCwgMTI3NTU4LCA0MTY5OCwgCi0gICAgNDIyMzcsIDAsIDcwMDIsIDk4MzY3OCwgNDE0MzAsIDQyMjY3LCA0MTA1MSwgNDE0ODQsIDAsIDAsIDQxMDUwLCA0MTQ3MywgCi0gICAgMTA0NjYsIDEzMDk5LCAwLCAwLCAwLCA2NDM1LCAwLCAxMTM2MiwgMCwgMCwgNjUzODIsIDAsIDQxNDIwLCAwLCAzNjI1LCAKLSAgICA3ODE1NywgNDE0MDksIDAsIDY5NjM5LCAyMDQxLCA5MTc4LCA5NjcyLCA0MTQyNywgNDM1NDEsIDQzMzE3LCAwLCAwLCAwLCAKLSAgICA0MTQyNCwgOTE3NTk4LCAxMjA1NDYsIDAsIDEyODIxMiwgMCwgNDE0MTcsIDEyNjEsIDAsIDAsIDEyMTAyLCAxMTk2NjIsIAotICAgIDQxNDAxLCAwLCAxMjc1MzgsIDAsIDc4MjUxLCAwLCA0MjI5MCwgMzI3NSwgOTI0NzIsIDQyMzI5LCA3NDc1OSwgMCwgMCwgMCwgCi0gICAgOTIzODgsIDY5NjQ5LCAxMDk4OSwgNzQyMzQsIDk4MzE0MCwgMTA1OTgsIDc0MTAsIDI2NjksIDkwMywgMCwgMjkyMCwgMCwgCi0gICAgMTI3MjMyLCA3NDYwMywgNjQ1MDQsIDE5OTI4LCAwLCAwLCAzOTE3LCAwLCAxMTczMiwgMCwgOTgzMTgwLCA0MTQ0OCwgCi0gICAgNDE0NjEsIDEyODgyMywgMCwgMTI3OTEyLCAwLCA4ODE5LCAxMjY2MywgMCwgNDExODQsIDc0MDE0LCAyMzIsIDc0ODM1LCAKLSAgICAxMjA2NDYsIDkxNjgsIDY1Nzg2LCAwLCAwLCAwLCA5MDk0LCAwLCAxMTc1OCwgNjg0MjUsIDAsIDEwNjQsIDQyNDY3LCAKLSAgICAxMjgwNDQsIDEwMTE1LCAxOTkyNCwgOTI3MTEsIDAsIDc4NjIsIDY0NTUxLCAxMzIyNCwgODUxNiwgNDE4NjIsIDY2NjUwLCAKLSAgICA3NTYxLCA3ODYxOCwgNjk3OTMsIDE4NzgsIDAsIDk4MzI2OSwgMjkxMSwgMCwgNDExNzgsIDU0MjcsIDY0ODIzLCAwLCAwLCAKLSAgICAzNzg3LCA0MTE3NCwgMCwgNDE0NTgsIDAsIDQxNDYzLCA0MjQxMywgMTEyOTIsIDI0MDYsIDc3NSwgMCwgNjU1ODQsIAotICAgIDY5OTIzLCA2MDc0LCA5NjE4LCAxMjg2NjgsIDk4Mzk1MiwgNDM0NDAsIDAsIDE5NDkwMSwgNDE0MzYsIDM2NTYsIDAsIAotICAgIDEyMDYwMCwgNDE0NTYsIDAsIDE1OTksIDExMzMzLCAwLCA2NzAzLCA4NTEzLCAwLCAxNjEzLCAwLCA2ODQ1NiwgMTI1OTgsIAotICAgIDk4MzE5MSwgMTIwNzM0LCA3ODc0NSwgNzQ1MDAsIDQxNDYwLCAxMDE0NSwgMTA1NDIsIDk5MzcsIDc4NzQ2LCA3MDAyOSwgCi0gICAgOTkwNSwgMCwgNjU3MzAsIDAsIDEyMDM3NCwgODQyNywgMTIwMzc1LCA1NTI0NiwgMTIwMzc2LCAwLCAxMTQ5NywgNjQ2ODcsIAotICAgIDc0MDA4LCA0MjU5MiwgMzg3MSwgMCwgMTI4MzA1LCA5MTExLCA1NzQxLCAwLCAxOTQ4NDYsIDEyMDM2NiwgMTE5MTExLCAKLSAgICAxMjA3NDUsIDAsIDEyMDM2OCwgMCwgMTE2NDgsIDAsIDE5NDg3MywgMTIwMzY0LCA0MTU4NywgMTIwMzY1LCAwLCA3NDMyMiwgCi0gICAgNDIxMTMsIDAsIDEyNzE1NSwgMTIxNzIsIDAsIDc0NTMwLCA2NTI5OCwgNjU3MjMsIDE5NDg0MCwgNzM4NzEsIDY1NzI0LCAKLSAgICA3OTI4LCAxMjAzNTQsIDk4MzA5NSwgNDE1OTUsIDczNzMwLCAwLCA0MjExOCwgNzM4MzAsIDY2MDQyLCAxMDM1NSwgCi0gICAgOTgzMTEwLCA3ODc1LCAwLCA0MTU5OCwgMzk5MywgMCwgMTU0NSwgNDA5NzEsIDUzNiwgMTI4NTIxLCA0MzAyOSwgMCwgMCwgCi0gICAgNjUxNzMsIDY1Mjg2LCAwLCAwLCAwLCAwLCAwLCAwLCA0MTM3NSwgNTQwMiwgMCwgMCwgMTY4NywgMTIwNTAzLCA5MTc4MTcsIAotICAgIDAsIDc4MTk0LCA2NDMyNiwgNDA5NjksIDEwNTI2LCA3ODc1MywgODMyMywgNDA5NjgsIDEzMzksIDExNzMxLCA3ODc1NiwgMCwgCi0gICAgNjU0NjAsIDEyMjQyLCAxMjg1MTMsIDgwMjAsIDEwODQzLCAxMTU1NCwgMCwgMCwgODI2NiwgNDEwMDYsIDY1NzIyLCAwLCAKLSAgICAxMDcxMCwgMCwgMTE4OTQyLCA2NzY2NywgNjQ1NjcsIDExOTE1NSwgMTk1MDkxLCAwLCAxMTk2MzYsIDY3ODU3LCAxMjA2ODcsIAotICAgIDAsIDk4MzA2NiwgMTE3NTUsIDY2MzA1LCAwLCAwLCAxMDkxNywgOTM5NzksIDAsIDExMjcyLCAyMDQwLCA0MTI0NywgCi0gICAgNDEzMjYsIDE5NTA2MCwgMTc0MSwgNDIzNzAsIDEyMjcsIDAsIDAsIDExNDEzLCAwLCAwLCA1MjgzLCAxNTg2LCA0OTc4LCAwLCAKLSAgICAxOTg0LCAxMTgzMCwgMCwgOTIyOTMsIDQwOTg0LCAxMjgzMDYsIDkzNzMsIDAsIDEyOTE2LCA2Mjg0LCAwLCA0MTY2MywgMCwgCi0gICAgMCwgMCwgOTIzNywgOTM4NSwgNDE2NDgsIDAsIDE5NDU4MCwgMjI5OSwgNDE2NjYsIDE4MzAsIDczNzgzLCAyMDU2LCAKLSAgICA0MTI4NywgOTI2MTAsIDAsIDAsIDQyMjE5LCAxMjgyNTcsIDAsIDQxOTg3LCA0MTY3NiwgOTgzMDU5LCAxMjA4MjMsIAotICAgIDk4MzE0NCwgNDE2NzAsIDAsIDkyNTkwLCAyNzk2LCA1NTI5MSwgMTE2ODMsIDk5MDIsIDc0NTIxLCA2Nzk4OCwgMTE0NTEsIAotICAgIDk4MzExMSwgMTI4ODIyLCA0MjYzMSwgMjM1OSwgMCwgNjc4NDQsIDc0MTY0LCA0MTIzOCwgNTQ4LCAxMTQwNSwgMTMxMzMsIAotICAgIDY0MzY4LCA5ODMyMzksIDEyODc5NSwgMCwgMzk3LCA0MzYyMiwgNDIxMzksIDk1NDcsIDk1OTAsIDEyODIzOCwgMTYxNCwgCi0gICAgNDM2NjEsIDY0MzU2LCA2NjMwNywgNjY1MSwgMTM1OCwgMCwgNDI4LCA5NjIwLCAxNDY2LCA3ODExMiwgMTA5ODIsIAotICAgIDExODgzMSwgMTMzMywgNzEwNCwgNDA3LCA2NDI1LCAxMjg4MzQsIDc0MjUzLCAwLCAwLCAwLCA1ODA0LCAxMTk3NiwgODU1NCwgCi0gICAgOTI3MjEsIDAsIDAsIDkwNTcsIDQyMjk0LCA0MTIxOCwgMCwgMCwgNzgxMzcsIDE4ODMsIDEwOTUyLCA4MDQ4LCA3ODE0MiwgCi0gICAgNDEyMjUsIDkyNjIxLCA0MjkxNSwgOTgzNjc2LCAxMjg2ODQsIDAsIDQ0MDcsIDAsIDY1ODA5LCAxMTkwNzQsIDE5NDgyMSwgCi0gICAgODQ0OCwgNzE0MSwgNzQxODMsIDAsIDEyNjc1LCAxMjY1OSwgMCwgNDIzNjMsIDEyMDYyNCwgMTk0ODI0LCA1NTI3MywgCi0gICAgMTA3NjYsIDEyMDEyLCAyMzg2LCA2NDczMiwgOTE3MCwgOTE3ODIxLCA5MTIzLCA2NDU4NSwgMTIwNTAwLCAxMTkxNTgsIAotICAgIDcxNDAsIDEwOTc3LCAxMjczNzgsIDQxNjQsIDkwODEsIDAsIDEyMDU2OSwgNDIwNDksIDQyMDQyLCA4NzA5LCAxMjgyODMsIAotICAgIDEyNjQ3NywgMTIwNjM3LCA0MjQxOSwgNjQ3OTksIDQyMDQ3LCAwLCAwLCA4NDcwLCAxMTgwNywgNjU4OTcsIDU3NywgMCwgCi0gICAgOTgzNzYwLCA3NDMwMCwgMCwgMTI3MzA4LCA3NDg0MCwgMCwgMCwgMTI4NzkxLCA5MjIyNCwgODczNiwgMTQxNCwgNDI2NDMsIAotICAgIDk2ODMsIDQzNDg2LCA3NDM0NCwgMCwgMjUzNiwgMCwgNjYzMzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDY2MzE3LCA2OTk0NSwgCi0gICAgNjYzMTUsIDIxMDYsIDEyMDIyMiwgMTEyNzMsIDAsIDQzMDA0LCA3NTQxLCAwLCAwLCA5NjEsIDY0MzA3LCA2NjMyNCwgCi0gICAgNjQ5MDYsIDEyODU5MSwgMzEwNiwgNjU5MTcsIDQxMjg0LCAxNjk2LCAwLCA4OTEsIDEyMTA1LCAwLCA0MjYyNCwgMTI4MDIsIAotICAgIDMyNjQsIDg4MjQsIDEzMjY4LCA0MzAwMywgMTA5MzYsIDAsIDAsIDAsIDE5NDgyNiwgOTI2ODgsIDAsIDIzMjIsIDEyMDM3MSwgCi0gICAgOTgzNTg0LCAxMTQ0OSwgMTI4MTg3LCA0Mjg2OCwgNDEyODUsIDM1NDcsIDAsIDAsIDEyODc5MywgOTgzMzk4LCA0MzIxNiwgCi0gICAgNjA4OSwgNzg2ODIsIDAsIDEyMDU3OCwgNDE3MCwgMTAyOSwgMTI3NzYxLCAxMjcwMzYsIDExOTIyNCwgNDIzNzQsIDAsIAotICAgIDc0NCwgMCwgMCwgMCwgNjU4MjMsIDEyNzgyNiwgMCwgMzU1MSwgMCwgMCwgNDYyMywgNTUyNjgsIDAsIDQ1OTgsIDk4MzE2MiwgCi0gICAgNjUxMzYsIDEyNzEzNiwgMCwgMCwgMTA4NTEsIDAsIDYxNzksIDkyNjAyLCA2MTgwLCAwLCAxMTk1MiwgMTIwNzc4LCAKLSAgICA3ODY0OCwgMTE5NzIsIDc4NjQ2LCA3ODY0NywgNzg2NDQsIDc4NjQ1LCAxNzcsIDc4NjQzLCA2MTc2LCAxMjA1ODAsIDAsIDAsIAorICAgIDEyNDM1LCAxMjM2MCwgNDEwNTMsIDMyNjYsIDAsIDEyMzU2LCA4NjE2LCA0MTQ2NiwgNDI5MjQsIDkyNTg4LCAxMTQ1MCwgMCwgCisgICAgMzYzOCwgMTIzNTQsIDY3Mjk5LCAzMjE2LCAwLCAyMzU4LCA5MjYwNiwgODYzMywgNzEyMDEsIDk4Mzc0NSwgMTE5MTgyLCAKKyAgICA2OTI0NCwgMTI4NDE4LCA3MDM3NSwgMTE3NTksIDE5NDkwMywgNjM2OCwgNzQ4MjMsIDY3MzAzLCA0MTQyMywgODA3OCwgCisgICAgMTA1MDQsIDEyNzU1OCwgNDE2OTgsIDQyMjM3LCA5ODM0NTIsIDcwMDIsIDEyNTEzNSwgNDE0MzAsIDQyMjY3LCA0MTA1MSwgCisgICAgNDE0ODQsIDAsIDEyODA1NiwgNDEwNTAsIDQxNDczLCAxMDQ2NiwgMTMwOTksIDk4MzMyNywgNzAzNzEsIDk4Mzc3NywgCisgICAgNjQzNSwgMCwgMTEzNjIsIDEyODk3MywgMCwgNjUzODIsIDkyNzcwLCA0MTQyMCwgOTgzNjU1LCAzNjI1LCA3ODE1NywgCisgICAgNDE0MDksIDAsIDY5NjM5LCAyMDQxLCA5MTc4LCA5NjcyLCA0MTQyNywgNDM1NDEsIDQzMzE3LCAwLCAwLCAwLCA0MTQyNCwgCisgICAgOTE3NTk4LCAxMjA1NDYsIDAsIDEyODIxMiwgMCwgNDE0MTcsIDEyNjEsIDAsIDAsIDEyMTAyLCAxMTk2NjIsIDQxNDAxLCAwLCAKKyAgICAxMjc1MzgsIDAsIDc4MjUxLCAxMjQ5NDMsIDQyMjkwLCAzMjc1LCA5MjQ3MiwgNDIzMjksIDc0NzU5LCAxMjUxNDEsIDAsIAorICAgIDEyODI1NywgOTIzODgsIDY5NjQ5LCAxMDk4OSwgNzQyMzQsIDExMzc4MSwgMTA1OTgsIDc0MTAsIDI2NjksIDkwMywgMCwgCisgICAgMjkyMCwgMCwgMTI3MjMyLCA3NDYwMywgNjQ1MDQsIDE5OTI4LCAwLCAxMjg0MTEsIDM5MTcsIDAsIDExNzMyLCAwLCAKKyAgICA5ODMxODAsIDQxNDQ4LCA0MTQ2MSwgMTI4ODIzLCAwLCAxMTM3MjEsIDExMzc1OCwgODgxOSwgMTI2NjMsIDAsIDQxMTg0LCAKKyAgICA3NDAxNCwgMjMyLCA3NDgzNSwgMTIwNjQ2LCA5MTY4LCA2NTc4NiwgMCwgMCwgMCwgOTA5NCwgMCwgMTE3NTgsIDY4NDI1LCAKKyAgICA3MTg4NiwgMTA2NCwgNDI0NjcsIDEyODA0NCwgMTAxMTUsIDE5OTI0LCA5MjcxMSwgMCwgNzg2MiwgNjQ1NTEsIDEzMjI0LCAKKyAgICA4NTE2LCA0MTg2MiwgNjY2NTAsIDc1NjEsIDc4NjE4LCA2OTc5MywgMTg3OCwgMCwgOTgzMjY5LCAyOTExLCAxMjgyMTgsIAorICAgIDQxMTc4LCA1NDI3LCA2NDgyMywgMCwgMCwgMzc4NywgNDExNzQsIDAsIDQxNDU4LCA2NzE0NywgNDE0NjMsIDQyNDEzLCAKKyAgICAxMTI5MiwgMjQwNiwgNzc1LCAwLCA2NTU4NCwgNjk5MjMsIDYwNzQsIDk2MTgsIDEyODY2OCwgOTgzNzI3LCA0MzQ0MCwgCisgICAgNzQ1MzksIDE5NDkwMSwgNDE0MzYsIDM2NTYsIDkxNzgwNSwgMTIwNjAwLCA0MTQ1NiwgNjc2OTQsIDE1OTksIDExMzMzLCAKKyAgICAxOTQ4OTYsIDY3MDMsIDg1MTMsIDAsIDE2MTMsIDAsIDY4NDU2LCAxMjU5OCwgOTgzMTkxLCAxMjA3MzQsIDc4NzQ1LCAKKyAgICA3NDUwMCwgNDE0NjAsIDEwMTQ1LCAxMDU0MiwgOTkzNywgNzg3NDYsIDY3MTQ0LCA5OTA1LCAwLCA2NTczMCwgMCwgCisgICAgMTIwMzc0LCA4NDI3LCAxMjAzNzUsIDU1MjQ2LCAxMjAzNzYsIDE5NDk0MCwgMTE0OTcsIDY0Njg3LCA3NDAwOCwgNDI1OTIsIAorICAgIDM4NzEsIDk4MzU4NCwgMTI4MzA1LCA5MTExLCA1NzQxLCAwLCAxOTQ4NDYsIDEyMDM2NiwgMTE5MTExLCAxMTE1MCwgMCwgCisgICAgMTIwMzY4LCA5ODM1NzAsIDExNjQ4LCAwLCAxOTQ4NzMsIDEyMDM2NCwgNDE1ODcsIDcwMzkxLCAxMjcwNjEsIDcxMTA4LCAKKyAgICA0MjExMywgMCwgMTI3MTU1LCAxMjE3MiwgOTI5ODgsIDc0NTMwLCA2NTI5OCwgNjU3MjMsIDY4Mjg5LCA3Mzg3MSwgNjU3MjQsIAorICAgIDc5MjgsIDEyMDM1NCwgOTgzMDk1LCA0MTU5NSwgNzM3MzAsIDY0NjcxLCA0MjExOCwgNzM4MzAsIDY2MDQyLCAxMDM1NSwgCisgICAgOTgzMTEwLCA3ODc1LCAwLCA0MTU5OCwgMzk5MywgMTk0OTA5LCAxNTQ1LCA0MDk3MSwgNTM2LCAxMjg1MjEsIDQzMDI5LCAwLCAKKyAgICAwLCA2NTE3MywgNjUyODYsIDAsIDcwMzMxLCA5MTc3OTksIDAsIDk0MDY1LCAwLCA0MTM3NSwgNTQwMiwgMTI4NzQ4LCAwLCAKKyAgICAxNjg3LCAxMjA1MDMsIDkxNzgxNywgMCwgNzgxOTQsIDY0MzI2LCA0MDk2OSwgMTA1MjYsIDczNzQ3LCA4MzIzLCA0MDk2OCwgCisgICAgMTMzOSwgMTE3MzEsIDc4NzU2LCAxMjcxMDgsIDY1NDYwLCAxMjI0MiwgMTI4NTEzLCA4MDIwLCAxMDg0MywgMTE1NTQsIDAsIAorICAgIDAsIDgyNjYsIDQxMDA2LCA2NTcyMiwgMCwgMTA3MTAsIDc0MDQ1LCAxMTg5NDIsIDY3NjY3LCA2NDU2NywgMTE5MTU1LCAKKyAgICA5MjkwMCwgMCwgNzE4ODksIDY3ODU3LCAxMjA2ODcsIDAsIDkyOTU4LCAxMTc1NSwgNjYzMDUsIDY4MzMyLCAwLCAxMDkxNywgCisgICAgOTM5NzksIDAsIDExMjcyLCAyMDQwLCA0MTI0NywgNDEzMjYsIDE5NTA2MCwgMTc0MSwgNDIzNzAsIDEyMjcsIDAsIAorICAgIDEyODk1OCwgMTE0MTMsIDEyNzI1MCwgMCwgNTI4MywgMTU4NiwgNDk3OCwgMCwgMTk4NCwgMTE4MzAsIDQzODE5LCA5MjI5MywgCisgICAgNDA5ODQsIDQyOTA0LCA5MzczLCAwLCAxMjkxNiwgNjI4NCwgMTk0ODg4LCA0MTY2MywgOTgzMDkzLCAwLCA2ODMxMywgCisgICAgOTIzNywgOTM4NSwgNDE2NDgsIDAsIDEyODk1MywgMjI5OSwgNDE2NjYsIDE4MzAsIDczNzgzLCAyMDU2LCA0MTI4NywgCisgICAgOTI2MTAsIDAsIDcxOTE3LCA0MjIxOSwgNzAxMTgsIDAsIDQxOTg3LCA0MTY3NiwgOTgzMDU5LCAxMjA4MjMsIDk4MzE0NCwgCisgICAgNDE2NzAsIDAsIDkyNTkwLCAyNzk2LCA1NTI5MSwgMTE2ODMsIDk5MDIsIDc0NTIxLCA2Nzk4OCwgMTE0NTEsIDk4MzExMSwgCisgICAgNzg4NTUsIDQyNjMxLCAyMzU5LCA3MTg5MCwgNjc4NDQsIDc0MTY0LCA0MTIzOCwgNTQ4LCAxMTQwNSwgMTMxMzMsIDY0MzY4LCAKKyAgICAxMjcyNzAsIDEyODc5NSwgNjYyNzIsIDM5NywgNDM2MjIsIDQyMTM5LCA5NTQ3LCA5NTkwLCAxMjgyMzgsIDE2MTQsIAorICAgIDQzNjYxLCA2NDM1NiwgNjYzMDcsIDY2NTEsIDEzNTgsIDEyNzk2MiwgNDI4LCA5NjIwLCAxNDY2LCA3ODExMiwgMTA5ODIsIAorICAgIDExMzc4NSwgMTMzMywgNzEwNCwgNDA3LCA2NDI1LCAxMjg4MzQsIDc0MjUzLCAwLCAwLCAwLCA1ODA0LCAxMTk3NiwgODU1NCwgCisgICAgOTI3MjEsIDAsIDcwMTY3LCA5MDU3LCA0MjI5NCwgNDEyMTgsIDEyNTA5NywgMCwgNzgxMzcsIDE4ODMsIDEwOTUyLCA4MDQ4LCAKKyAgICA3MDQ0MywgNDEyMjUsIDkyNjIxLCA0MjkxNSwgMTI4NjE2LCAxMjg1MTIsIDAsIDQ0MDcsIDc0NjQ4LCA2NTgwOSwgMTE4MzcsIAorICAgIDE5NDgyMSwgODQ0OCwgNzE0MSwgNzQxODMsIDEyMDMzNCwgMTI2NzUsIDEyNjU5LCA3NDYzNCwgNDIzNjMsIDEyMDYyNCwgCisgICAgMTk0ODI0LCA1NTI3MywgMTA3NjYsIDEyMDEyLCAyMzg2LCA2NDczMiwgOTE3MCwgOTE3ODIxLCA5MTIzLCA2NDU4NSwgCisgICAgMTAyOTYsIDExOTE1OCwgNzE0MCwgMTA5NzcsIDEyNzM3OCwgNDE2NCwgOTA4MSwgMCwgMTIwNTY5LCA0MjA0OSwgNDIwNDIsIAorICAgIDg3MDksIDEyODI4MywgMTI2NDc3LCAxMjA2MzcsIDQyNDE5LCA2NDc5OSwgNDIwNDcsIDAsIDE5NDgyMCwgODQ3MCwgCisgICAgMTE4MDcsIDY1ODk3LCA1NzcsIDAsIDk4Mzc2MCwgNzQzMDAsIDAsIDEyNzMwOCwgNzQ4NDAsIDEyNjQ3NCwgMCwgMTI4NzkxLCAKKyAgICA5MjIyNCwgODczNiwgMTQxNCwgNDI2NDMsIDk2ODMsIDQzNDg2LCA3NDM0NCwgMCwgMjUzNiwgMCwgNjYzMzAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDE5NDgzMCwgNjYzMTcsIDY5OTQ1LCA2NjMxNSwgMjEwNiwgOTI3NjIsIDExMjczLCAxMjUwNjgsIDQzMDA0LCAKKyAgICA3NTQxLCAwLCAwLCA5NjEsIDY0MzA3LCA2NjMyNCwgNjQ5MDYsIDEyODU5MSwgMzEwNiwgNjU5MTcsIDQxMjg0LCAxNjk2LCAKKyAgICAwLCA4OTEsIDEyMTA1LCAwLCA0MjYyNCwgMTI4MDIsIDMyNjQsIDg4MjQsIDEzMjY4LCA0MzAwMywgMTA5MzYsIDAsIDAsIDAsIAorICAgIDE5NDgyNiwgOTI2ODgsIDM1NjYsIDIzMjIsIDEyMDM3MSwgNzA4MzEsIDExNDQ5LCAxMjgxODcsIDQyODY4LCA0MTI4NSwgCisgICAgMzU0NywgMCwgMCwgMTEzNzQ2LCA5ODMzOTgsIDQzMjE2LCA2MDg5LCA3ODY4MiwgNjg0OTAsIDEyMDU3OCwgNDE3MCwgCisgICAgMTAyOSwgMTI3NzYxLCAxMjcwMzYsIDExOTIyNCwgNDIzNzQsIDAsIDc0NCwgOTI4ODMsIDExMzczOSwgMCwgNjU4MjMsIAorICAgIDEyNzgyNiwgMTExODIsIDM1NTEsIDkyOTM4LCAwLCA0NjIzLCA1NTI2OCwgMTI4NzM4LCA0NTk4LCA5ODMxNjIsIDY1MTM2LCAKKyAgICAxMjcxMzYsIDAsIDEyODE2OSwgMTA4NTEsIDAsIDYxNzksIDkyNjAyLCA2MTgwLCAwLCAxMTk1MiwgMTIwNzc4LCA3ODY0OCwgCisgICAgMTE5NzIsIDc4NjQ2LCA3ODY0NywgNzg2NDQsIDc4NjQ1LCAxNzcsIDc4NjQzLCA2MTc2LCAxMjA1ODAsIDk4MzY5NiwgMCwgCiAgICAgNjE3NywgOTAyMCwgNzg2NTIsIDc4NjUzLCA2MTc4LCAxMjAyNDksIDEyMDI0MiwgMTI4MDI3LCA2NzY3MywgMjIxNCwgCi0gICAgODc1NCwgMCwgMTIwMjM3LCAyMTM3LCA0MzA4MSwgMCwgMCwgOTEzNiwgMTIwMjQwLCA0NDAxLCA0MTI4MCwgMCwgODk3NCwgCi0gICAgMjMwOCwgMCwgNzQxNDksIDAsIDIzMTgsIDk4MzE4MywgNjYzNjEsIDgxOTgsIDAsIDY0MzYwLCAxMjYwMSwgNDI1MzYsIAotICAgIDY1MjY2LCAxMjA4MjcsIDc0MzA3LCA5MjQ2MiwgNjk3MCwgNTQwNCwgNDMzMzIsIDM2NjcsIDc5MzYsIDEyOTI1LCAKLSAgICAxMjY5ODksIDYzODUsIDAsIDAsIDExODk0OSwgMTA4NzQsIDY1NTA1LCAxMjgwODMsIDAsIDQyMDUzLCAyMDc1LCA0MjA1NywgCi0gICAgMTEwODMsIDQyMDUyLCAwLCAwLCA2NzY1MSwgMCwgOTY2NSwgOTIzMDAsIDk4MzY2NiwgMTMxODEsIDAsIDAsIDAsIDcwMDg4LCAKLSAgICA3NDE0OCwgMCwgMCwgMTIwMjI1LCAxMjAyMjksIDEyMDIyNCwgNzQxNzIsIDQxMTQ1LCAwLCA5NDA5NiwgOTgzOTQ2LCAKLSAgICA0MTE0OCwgODY4MywgNzU5NCwgMTI3NTE5LCAwLCAxMTkwOTAsIDEwODY5LCA0MzQ1OCwgNDExNDYsIDkyNDA3LCAxMTQ0MSwgCi0gICAgMCwgMzUxMiwgMTE5NjMzLCA5ODM3MDksIDgxMDMsIDAsIDAsIDY1MTg0LCAxMTc4MCwgNDE1NjMsIDQyNzk2LCAwLCAKLSAgICA2OTc0MiwgNDE1NDQsIDY1MTQ2LCAwLCAwLCAwLCAwLCAxOTk0MiwgMCwgMTE4OTA4LCA3OTg4LCAxMDQzNiwgNzQyNzMsIAotICAgIDMyNzEsIDczODA0LCA2NDcxMSwgMCwgOTQwNjQsIDAsIDAsIDM4MDQsIDEzMDcwLCAxMTU1NywgNDIwNDQsIDAsIDEwOTUsIAotICAgIDAsIDM1OTksIDEyNzc3NCwgMCwgMTI4ODYxLCA4NTE0LCAwLCAwLCAwLCA3NDM0NiwgNjY2OTcsIDAsIDExNjg0LCAwLCAKLSAgICA5MjQ4NiwgOTE3NjAzLCAwLCA0MjA0MywgNDMyMzIsIDY2Njc3LCAwLCA0MjA0NiwgNzgyNDEsIDQwMzYsIDEyNjQ4MSwgMCwgCi0gICAgMTI4MjEzLCAxOTQ4NjEsIDAsIDExOTU0LCA5Mzk3OCwgMTQ1MCwgMTI5ODYsIDEzNDAsIDAsIDY1NDQxLCA5MjcyMiwgMCwgCi0gICAgMCwgMTI3NzcyLCAwLCA5MTc1NDIsIDAsIDAsIDY1MzksIDAsIDAsIDAsIDE5NDg1NiwgMCwgMTIwNDkyLCA0MTE5MCwgCi0gICAgMzk3MywgMTE5MzY1LCA0NTc1LCA0MTE5MywgNzk4MiwgNDI5LCAwLCAxMjcxOTQsIDAsIDE5NDg1NCwgNjU3OTIsIDAsIAotICAgIDExODk2OCwgNjQxNywgMTE4OTE4LCA3ODE3OCwgMCwgMTk0ODUwLCAwLCAwLCA0OTE5LCAxMDU5MCwgMTI4NTU2LCA3NzU1LCAKLSAgICAwLCAwLCA2NDU0OCwgMTIwNTA2LCAxNjIxLCAxMDIxNCwgNjUxMjYsIDAsIDEyNzAwNCwgMCwgMTIxODgsIDk4MzY2OCwgCi0gICAgMTYxNywgODA1MCwgMCwgNTAxNSwgMCwgMTE5MTc0LCA0MjU5MCwgMTk0ODcxLCAxNzU2LCA3ODE4MSwgMCwgNjU3NjgsIAotICAgIDYzNTIsIDQxODkyLCAwLCA3NTU1LCAxMzEwMywgNTQwOCwgMjgxNywgMTIxNCwgNjk5MTksIDkyMzM1LCA5ODMxMjUsIDAsIAotICAgIDAsIDAsIDEyNzE5NSwgNzk1NywgODY4OSwgNjQ3MjMsIDEwNTYsIDQyODk2LCA3NDE0NywgMTk0ODEzLCAwLCA1NTI4NiwgCi0gICAgNzA3MywgNjU4NTAsIDEyMzI3LCA5ODM5NDgsIDExOTAyOCwgMCwgMCwgMCwgMjM0MSwgODQ1MCwgODQ4NCwgODQ3NCwgCi0gICAgOTgzMjYwLCAwLCA3MDA3OSwgODQ2MSwgMTI4MTAyLCAxMjE1MywgMTI3OTksIDAsIDQzNzA5LCA0MzcwOCwgOTQ1MSwgCi0gICAgNzU3MSwgMTMwNzMsIDAsIDAsIDY4MSwgOTgzMjUyLCA3MDMsIDAsIDMyNzIsIDg3ODEsIDEyODk0LCA3MDA3NywgMTE3MDksIAotICAgIDkyMjg4LCA3NDQ0NiwgMCwgOTI1MzIsIDAsIDExMzM4LCAxMjA3NjgsIDMyNzYsIDAsIDAsIDY1OTI4LCAwLCAwLCA2NTAyMSwgCi0gICAgNjQ3OTUsIDc0NTc0LCAwLCAxMDA0NywgNzg4MTQsIDMyNjIsIDc4ODExLCA0MjcxMSwgMCwgMCwgNjg0NzgsIDE2MywgNTc2LCAKLSAgICA5ODk1LCAxNjU1LCA3ODgxNywgNzQ1OTEsIDc4ODE1LCA3ODgxNiwgOTgzMTIyLCAwLCAwLCAwLCAxMDAzOSwgMCwgCi0gICAgOTgzOTQ1LCA1NjIzLCA1NzE3LCA1Nzc2LCAwLCAwLCAwLCA0MTU5MSwgMTEwMzYsIDY1MjUyLCA5MjM4MiwgMCwgMCwgMCwgCi0gICAgNjc4NDgsIDAsIDAsIDAsIDg4ODcsIDEyNzUyMSwgNzI5NSwgMTEwMzEsIDAsIDQzMTU3LCAwLCA4OTQ2LCAxMDM0OCwgCi0gICAgMTA0MTIsIDg3NTUsIDAsIDAsIDU3MTgsIDEzMjIxLCAwLCAwLCA3ODEzNSwgMCwgOTgzNzExLCA4ODEwLCA3NDQ5OSwgNjg2LCAKLSAgICAwLCA3MTM2MiwgNDYxOSwgMTE4OTU0LCA2NjU0LCA3Mzc2OSwgNzQ0MjYsIDAsIDEyMDQwLCA2NTY4OSwgMTAxMjgsIAotICAgIDY1MTE4LCAwLCAxMTkxNTEsIDc0MjA1LCA5MjY1MSwgMCwgMjQwMSwgNjgxNDQsIDg3OTIsIDk4MzY0OCwgMCwgNjU0NTUsIAotICAgIDAsIDkyMjQ2LCAwLCAxMTkxMjksIDAsIDEyODg2LCAxMjc5MjAsIDY2NjI0LCAwLCA0MzU1NywgMTAzMDAsIDEwMTYxLCAKLSAgICAxMDM5NiwgNzQxMzUsIDk4MzQ1MywgMTE4OTQ1LCA3ODExOCwgNzM4NTEsIDMwMTAsIDY0NDEsIDc4MTIyLCAxNDU4LCAKLSAgICA0MTQ3NSwgMTI4NjcyLCA5Mzk3NSwgMCwgMTE0NzksIDAsIDEyMDM1NiwgNjM1MCwgMTI4NjQsIDY5Njc0LCA3ODExNCwgCi0gICAgMTA2MSwgNjQ3ODAsIDIwMDEsIDQzMTExLCA1NTIzMCwgMTI4Njg2LCA0MDUyLCAwLCA3NjI2LCAwLCAwLCAxMDQ1LCAwLCAKLSAgICA1NjMxLCA0MTExMywgMCwgMCwgNDM3MDcsIDc0MTI3LCAwLCAwLCA4NDg2LCAwLCA3Mzc1OCwgMjMzNSwgNDM2MiwgCi0gICAgOTgzMTk1LCAxMjY1NjEsIDY5MjIxLCAxMDI1LCAwLCA0MjYyNSwgOTE3NjI3LCA3ODA4NCwgNDE0NDMsIDAsIDEyODIwNiwgCi0gICAgMCwgMTc3NCwgMTUyMywgMCwgMCwgNDE0NDUsIDc4MjM2LCAwLCA4NTY3LCA0MTQ0MiwgMzk4OCwgMCwgNzgyMzcsIAotICAgIDExODkxMCwgMCwgNjUyNzQsIDg1NjQsIDc4MTk5LCA3ODIzOCwgMTI3NTE1LCAwLCAwLCA0MzQ0NiwgMCwgNjY1MTMsIAotICAgIDYyNTYsIDAsIDU3OSwgNTUyMTgsIDEwMjA2LCA5ODMwNzUsIDYzNzUsIDI2NzMsIDAsIDExODE0LCAwLCA0NDg4LCAwLCAKLSAgICAxMjczMzYsIDY4NDUxLCAxMDQ0NCwgMTE4ODQ2LCAxMjczMzQsIDExNzk5LCA3NDQwNywgNjg0NjYsIDQ0ODcsIDEyNzg0OSwgCi0gICAgNDI4MzIsIDEwMzIsIDEyMDI2NywgNDM0NTAsIDc4MjU3LCA3MjAzLCAwLCA2MTQsIDc4MTkxLCAxMjczMjUsIDEyMDYxNSwgCi0gICAgMCwgNzgyNjIsIDEyODY2OSwgMTI3MzIzLCAwLCA0MzEyMSwgMCwgMCwgOTI1MTMsIDEwNTAsIDc1NDksIDAsIDAsIDkzMTQsIAotICAgIDAsIDAsIDEyMDYxNiwgMCwgMTAwNTcsIDAsIDEyNzMxMywgMCwgNjY1MDQsIDk4MzE3MSwgMCwgMjMwNywgMCwgNjQzMzMsIAotICAgIDEyNzMxMiwgMTI4NTQ3LCA3Mzg3MywgMCwgOTQwMzUsIDAsIDEyNzk3MywgMTI4NzA4LCAwLCAxMDM2MCwgNjc0NiwgMCwgCi0gICAgOTIyNDUsIDQ0MCwgMCwgMTMwODUsIDkyMzMsIDc0MjE2LCAwLCAwLCA5OTU3LCAxMjgyODUsIDY2NDQ3LCA4MDQ2LCAKLSAgICA2NDk2MywgNjU3NzcsIDEwMTI1LCA3NDIxMiwgNDI4MTksIDEwOTEwLCAwLCAxNTIxLCA5ODk2LCA5Mzk2NSwgMTA0ODcsIAotICAgIDY5ODc4LCAxMjUyNywgMCwgNzk3MCwgMCwgMTI4NjYwLCAwLCA2NTc2OSwgNTI0MywgOTg0OSwgNTIzOSwgNjU3NzEsIAotICAgIDk4MzIzNSwgMCwgNTIzNywgNjk3MTQsIDAsIDEwMTAzLCA1MjQ3LCA0NzY5LCAwLCAxMTg5NzcsIDEyODczLCAyMjgzLCAKLSAgICA5ODMyMzcsIDAsIDMwMDgsIDQ4OTYsIDAsIDEyMDg3LCAwLCA1NTIzMSwgNDExMDMsIDAsIDY0NTY1LCA0NzczLCAwLCAKLSAgICA5MjcxNywgNzAwNzQsIDQ3NzAsIDAsIDkxNzU2NywgODczMSwgNjUzNzgsIDEyNzM2MiwgMTIwNjE5LCA5MTIyLCAxMjgwMzMsIAotICAgIDEyNjYwMCwgNDc3NCwgMzAxOSwgOTk5NywgMTI4MzQsIDAsIDk0NTYsIDEwMjE1LCAxMjA1NDcsIDAsIDAsIDAsIDAsIAotICAgIDc0Nzc2LCA0MjgxLCA0NzY4LCAwLCA0MTUzNSwgNDA5OSwgOTAxNywgMCwgMCwgNzgwOTUsIDAsIDc4MDk2LCAwLCAwLCAwLCAKLSAgICA3ODA5OCwgMCwgNDI4MTQsIDg4MCwgMCwgMCwgMTI4MDIxLCAyMTM0LCAwLCAxMDExNiwgOTg3NywgOTIzMjksIDAsIDAsIAotICAgIDcwOTUsIDAsIDc0MTE2LCA2Nzc4LCAwLCA3ODA5MCwgODI0MywgMjQyNywgMTI4MTQxLCA3MDkzLCAwLCAxMTU4NSwgCi0gICAgMTk1MDAzLCA5OTYyLCAwLCAxMjIyMywgMCwgMCwgMTQzNCwgMTIwMjU0LCA1NjM3LCAxMTU3MywgMCwgMCwgMCwgMTk5NTEsIAotICAgIDAsIDc4MTIxLCAwLCAwLCA1NTI4MywgMCwgMCwgNzQ0MzcsIDExNTYsIDg3NDAsIDkyNDE1LCAzNzgyLCA2NDMzMSwgMCwgCi0gICAgNDEzNzAsIDEwMTQsIDgyNjEsIDAsIDAsIDEwODM1LCAwLCA2NTUzNiwgMCwgMTIwNDYzLCAwLCA3NzAyLCAxMTg4MjQsIDAsIAotICAgIDQzMDEwLCA2NTc3OSwgNjU3ODMsIDExNTAsIDEwNTQ3LCA1NzAwLCAwLCAxMjA2MDMsIDY1MzgzLCAyMzM5LCA0MjU5NCwgCi0gICAgNTY5NywgMTE4Nzg4LCAwLCAxMjg1NzYsIDAsIDQyMjU3LCA1Njk2LCA5MjY3NywgMTIwNDY1LCAzODYyLCA5NjQzLCAwLCAwLCAKLSAgICA3NjM0LCA2NTE2NywgOTg0NSwgMCwgMCwgNTcwMSwgOTcyMiwgNDE0OTAsIDk4MzE1MywgMTQyNiwgNjgyMTcsIDAsIAotICAgIDY4NDQ3LCA0MjIwNCwgNTUyNzAsIDg1NzEsIDE5NDk5MSwgNzgwNjcsIDAsIDc4ODE4LCA5MjcxOSwgNDMxODIsIDEyMTg0LCAKLSAgICAwLCA0MjAyMiwgMCwgMTAyODEsIDAsIDU2NTAsIDQzMTk0LCA2NDcxMiwgMTA3NDQsIDAsIDk5MCwgNTY0NywgMCwgNzM4NywgCi0gICAgNzg3MzQsIDQxMTE0LCAxMTQ3NywgNTY0NiwgMTI4NzksIDExMDE4LCA5ODM5MzAsIDM5NDUsIDkyNTg5LCAwLCAwLCAwLCAwLCAKLSAgICA3ODIxMiwgMTI3NzQ2LCAxMDIwLCA3Mzc2MywgMCwgNzg3MzEsIDU2NDgsIDY0NzQ4LCAxOTQ5MTAsIDc4NzMzLCAxMDIwNSwgCi0gICAgMzU0NSwgOTgzNTg1LCA2OTg0LCAwLCA3NDA1MSwgOTgzNjU1LCA0MzI0MiwgMTIwNDU4LCAyNjY3LCAwLCAwLCAwLCA5OTExLCAKLSAgICAwLCA2NTAyMCwgMTAwOTcsIDExOTE2NiwgMTI3MTQ1LCA5ODM2NjIsIDExODgzNiwgOTgzNzQ4LCA3ODQyNywgMTE0MCwgCi0gICAgNzg0MjYsIDAsIDEwMTU5LCAwLCAwLCA4MTI4LCAwLCAwLCA5MTc5NjUsIDE4MTUsIDE5OTEwLCA4OTAsIDAsIDMyNjcsIAorICAgIDg3NTQsIDEyODY1MiwgMTIwMjM3LCAyMTM3LCA0MzA4MSwgMTk0NjYzLCAxMjAyMzksIDkxMzYsIDY2ODg5LCA0NDAxLCAKKyAgICA0MTI4MCwgNzA4MDEsIDg5NzQsIDIzMDgsIDE5NDc1MCwgNzQxNDksIDEyODMyNywgMjMxOCwgOTgzMTgzLCA2NjM2MSwgCisgICAgODE5OCwgMCwgNjQzNjAsIDEyNjAxLCA0MjUzNiwgNjUyNjYsIDEyMDgyNywgNjcyNzksIDkyNDYyLCA2OTcwLCA1NDA0LCAKKyAgICA0MzMzMiwgMzY2NywgNzkzNiwgMTI5MjUsIDEyNjk4OSwgNjM4NSwgMTI4NDgyLCAxMjg0MDMsIDExODk0OSwgMTA4NzQsIAorICAgIDY1NTA1LCAxMjAwMDIsIDAsIDQyMDUzLCAyMDc1LCA0MjA1NywgMTEwODMsIDQyMDUyLCAwLCA2NzI2NiwgNjc2NTEsIDAsIAorICAgIDk2NjUsIDkyMzAwLCA5ODM2NjYsIDEzMTgxLCAwLCAwLCAwLCA3MDA4OCwgNzQxNDgsIDAsIDcwNDE5LCAxMjAyMjUsIAorICAgIDEyMDIyOSwgMTIwMjI0LCA3NDE3MiwgNDExNDUsIDY2NDA0LCA5NDA5NiwgNzQ0MjIsIDQxMTQ4LCA4NjgzLCA3NTk0LCAKKyAgICAxMTM2ODYsIDAsIDExOTA5MCwgMTA4NjksIDQzNDU4LCA0MTE0NiwgOTI0MDcsIDExNDQxLCAwLCAzNTEyLCAxMTk2MzMsIAorICAgIDkyOTY1LCA4MTAzLCAwLCAwLCA2NTE4NCwgMTE3ODAsIDQxNTYzLCA0Mjc5NiwgMTI5MDU1LCA2OTc0MiwgNDE1NDQsIAorICAgIDY1MTQ2LCA3MTMxNCwgMCwgMCwgMTI5MTc3LCAxOTk0MiwgMCwgMTE4OTA4LCA3OTg4LCAxMDQzNiwgNzQyNzMsIDMyNzEsIAorICAgIDczODA0LCA2NDcxMSwgMCwgOTQwNjQsIDk4MzA3MSwgMCwgMzgwNCwgMTMwNzAsIDExNTU3LCA0MjA0NCwgMCwgMTA5NSwgMCwgCisgICAgMzU5OSwgMTI3Nzc0LCAwLCAxMjg4NjEsIDg1MTQsIDAsIDAsIDAsIDc0MzQ2LCA2NjY5NywgMCwgMTE2ODQsIDAsIDkyNDg2LCAKKyAgICA5MTc2MDMsIDAsIDQyMDQzLCA0MzIzMiwgNjY2NzcsIDAsIDQyMDQ2LCA3NDE1NywgNDAzNiwgMTI2NDgxLCAwLCAxMjgyMTMsIAorICAgIDE5NDg2MSwgMCwgMTE5NTQsIDcwMzQ4LCAxNDUwLCAxMjk4NiwgMTM0MCwgMCwgNjU0NDEsIDkyNzIyLCAwLCAwLCAKKyAgICAxMjUxMTcsIDAsIDkxNzU0MiwgMCwgMCwgNjUzOSwgOTI5NDgsIDEyNjYwNywgMTI0OTYxLCAxMjUwNjAsIDAsIDEyMDQ5MiwgCisgICAgNDExOTAsIDM5NzMsIDExOTM2NSwgNDU3NSwgNDExOTMsIDc5ODIsIDQyOSwgMCwgMTE5MTI5LCAwLCAxOTQ4NDgsIDY1NzkyLCAKKyAgICAxMjg0MDgsIDExODk2OCwgNjQxNywgMTE4OTE4LCA3ODE3OCwgMCwgMTI4OTcwLCAwLCAwLCA0OTE5LCAxMDU5MCwgCisgICAgMTI4NTU2LCA3NzU1LCAwLCA5Mjk0MiwgNjQ1NDgsIDEyMDUwNiwgMTYyMSwgMTAyMTQsIDY1MTI2LCA2ODI1MywgMTI3MDA0LCAKKyAgICA5ODM2MTYsIDEyMTg4LCA5ODM2NjgsIDE2MTcsIDgwNTAsIDAsIDUwMTUsIDAsIDExOTE3NCwgNDI1OTAsIDcwMzU0LCAKKyAgICAxNzU2LCA3ODE4MSwgMCwgNjU3NjgsIDYzNTIsIDQxODkyLCAwLCA3NTU1LCAxMzEwMywgNTQwOCwgMjgxNywgMTIxNCwgCisgICAgNjk5MTksIDkyMzM1LCA5ODMxMjUsIDAsIDY4MjI0LCAxMjUwNTUsIDQxNzY0LCA3OTU3LCA4Njg5LCA2NDcyMywgMTA1NiwgCisgICAgNDI4OTYsIDc0MTQ3LCAzNTU5LCA5ODM5MTgsIDU1Mjg2LCA3MDczLCA2NTg1MCwgMTIzMjcsIDcwODUzLCAxMTkwMjgsIDAsIAorICAgIDAsIDEyODQ0MiwgMjM0MSwgODQ1MCwgODQ4NCwgODQ3NCwgMTk0ODg0LCA2ODMyMiwgNzAwNzksIDg0NjEsIDY3NzIxLCAKKyAgICAxMjE1MywgMTI3OTksIDAsIDQzNzA5LCA0MzcwOCwgOTQ1MSwgNzU3MSwgMTMwNzMsIDQzODQ3LCAwLCA2ODEsIDk4MzI1MiwgCisgICAgNzAzLCAwLCAzMjcyLCA4NzgxLCAxMjg5NCwgNzAwNzcsIDExNzA5LCA5MjI4OCwgNzA1MTQsIDAsIDkyNTMyLCAwLCAKKyAgICAxMTMzOCwgMTIwNzY4LCAzMjc2LCAwLCAwLCA2NTkyOCwgMCwgMCwgNjUwMjEsIDY0Nzk1LCA3NDU3NCwgMCwgMTAwNDcsIAorICAgIDc4ODE0LCAzMjYyLCA3ODgxMSwgNDI3MTEsIDAsIDAsIDY4NDc4LCAxNjMsIDU3NiwgOTg5NSwgMTY1NSwgNzAxMzEsIAorICAgIDc0NTkxLCA3ODgxNSwgNzg4MTYsIDY2ODg4LCAwLCAwLCA3MDUxMywgMTAwMzksIDAsIDk4Mzk0NSwgNTYyMywgNTcxNywgCisgICAgNTc3NiwgNDM0ODgsIDAsIDY2ODg1LCA0MTU5MSwgMTEwMzYsIDY1MjUyLCA5MjM4MiwgMCwgMCwgMCwgNjc4NDgsIAorICAgIDEyODEyOCwgMCwgMCwgODg4NywgMTI3NTIxLCA3Mjk1LCAxMTAzMSwgMCwgNDMxNTcsIDAsIDg5NDYsIDEwMzQ4LCAxMDQxMiwgCisgICAgODc1NSwgMCwgMCwgNTcxOCwgMTMyMjEsIDAsIDAsIDc4MTM1LCA3MDUxNSwgOTE3NjE2LCA4ODEwLCA3NDQ5OSwgNjg2LCAwLCAKKyAgICA3MTM2MiwgNDYxOSwgMTE4OTU0LCA2NjU0LCA3Mzc2OSwgNzQ0MjYsIDAsIDEyMDQwLCA2NTY4OSwgMTAxMjgsIDY1MTE4LCAKKyAgICAwLCAxMTkxNTEsIDc0MjA1LCA5MjY1MSwgMTI4OTAyLCAyNDAxLCA2ODE0NCwgODc5MiwgOTgzNjQ4LCAwLCA2NTQ1NSwgMCwgCisgICAgNzQzMjgsIDAsIDc0NTYxLCA5ODM3MTgsIDEyODg2LCAxMjc5MjAsIDY2NjI0LCAxMjgzNTAsIDQzNTU3LCAxMDMwMCwgCisgICAgMTAxNjEsIDEwMzk2LCA3MTIxMCwgNzg2MDIsIDExODk0NSwgOTk4NCwgNzM4NTEsIDMwMTAsIDY0NDEsIDcwMzQ5LCAxNDU4LCAKKyAgICA0MTQ3NSwgNzI0MjksIDkzOTc1LCAxMjc5MTAsIDExNDc5LCAwLCAxMjAzNTYsIDYzNTAsIDEyODY0LCA2OTY3NCwgNzgxMTQsIAorICAgIDEwNjEsIDY0NzgwLCAyMDAxLCA0MzExMSwgNTUyMzAsIDEyNDk0NiwgNDA1MiwgMTEzNjczLCA3NjI2LCAwLCAwLCAxMDQ1LCAKKyAgICAwLCA1NjMxLCA0MTExMywgMTI3NTQ0LCAwLCA0MzcwNywgNzQxMjcsIDAsIDAsIDg0ODYsIDAsIDczNzU4LCAyMzM1LCAKKyAgICA0MzYyLCA5ODMxOTUsIDEyNjU2MSwgNjkyMjEsIDEwMjUsIDEyNzI3NywgNDI2MjUsIDcwMzI1LCA3ODA4NCwgNDE0NDMsIDAsIAorICAgIDEyODIwNiwgMCwgMTc3NCwgMTUyMywgMCwgMCwgNDE0NDUsIDc4MjM2LCAxMTIwNywgODU2NywgNDE0NDIsIDM5ODgsIAorICAgIDc0ODQzLCA3ODIzNywgMTE4OTEwLCAwLCA2NTI3NCwgODU2NCwgNzgxOTksIDc4MjM4LCAxMjc1MTUsIDAsIDAsIDQzNDQ2LCAKKyAgICAwLCA2NjUxMywgNjI1NiwgOTE3ODA3LCA1NzksIDU1MjE4LCAxMDIwNiwgNzg4NzgsIDYzNzUsIDI2NzMsIDAsIDExODE0LCAKKyAgICAwLCA0NDg4LCAxMjg3MTYsIDEyMDU1NCwgNjg0NTEsIDEwNDQ0LCAxMTg4NDYsIDEyNzMzNCwgMTE3OTksIDc0NDA3LCAKKyAgICA2ODQ2NiwgNDQ4NywgMTI3ODQ5LCA0MjgzMiwgMTAzMiwgMTIwMjY3LCA0MzQ1MCwgNzgyNTcsIDcyMDMsIDEyNDk5OCwgCisgICAgNjE0LCA3MDM2MSwgMTI3MjE1LCAxMjA2MTUsIDExOTYyMiwgNzgyNjIsIDEyODY2OSwgMTI3MzIzLCAwLCA0MzEyMSwgCisgICAgMTI3MjExLCAxMjgzNjYsIDkyNTEzLCAxMDUwLCA3NTQ5LCAwLCAwLCA5MzE0LCA3MDM2NSwgOTI4OTgsIDEyMDYxNiwgMCwgCisgICAgMTAwNTcsIDcwNDM0LCAxMjczMTMsIDEyODU3NywgNjY1MDQsIDk4MzE3MSwgMCwgMjMwNywgMTI4NDU2LCA2NDMzMywgCisgICAgMTI3MzEyLCAxMjg1NDcsIDczODczLCAwLCA5NDAzNSwgMCwgMTI3OTczLCAxMjg3MDgsIDcwNDQ2LCAxMDM2MCwgNjc0NiwgCisgICAgMTIwNDczLCA5MjI0NSwgNDQwLCAwLCAxMzA4NSwgOTIzMywgNzQyMTYsIDAsIDEyNzc4NSwgOTk1NywgMTI4Mjg1LCAKKyAgICA2NjQ0NywgODA0NiwgNjQ5NjMsIDY1Nzc3LCAxMDEyNSwgNzQyMTIsIDQyODE5LCAxMDkxMCwgMCwgMTUyMSwgOTg5NiwgCisgICAgOTM5NjUsIDEwNDg3LCA2OTg3OCwgMTI1MjcsIDAsIDc5NzAsIDEyNTA3MywgMTI4NjYwLCAwLCA2NTc2OSwgNTI0MywgCisgICAgOTg0OSwgNTIzOSwgNjU3NzEsIDk4MzIzNSwgMCwgNTIzNywgNjk3MTQsIDAsIDEwMTAzLCA1MjQ3LCA0NzY5LCA5ODMxMzksIAorICAgIDExODk3NywgMTI4NzMsIDIyODMsIDkyOTMxLCAwLCAzMDA4LCA0ODk2LCAxMjgxMDIsIDEyMDg3LCAwLCA1NTIzMSwgCisgICAgNDExMDMsIDkyMjU2LCA2NDU2NSwgNDc3MywgMCwgNzg1NDksIDcwMDc0LCA0NzcwLCA2Njg5MSwgOTE3NTY3LCA4NzMxLCAKKyAgICA2NTM3OCwgNjY5MTEsIDEyMDYxOSwgOTEyMiwgMTI4MDMzLCAxMjY2MDAsIDQ3NzQsIDMwMTksIDk5OTcsIDEyODM0LCAwLCAKKyAgICA5NDU2LCAxMDIxNSwgMTIwNTQ3LCAwLCA3ODU1NiwgMCwgMCwgNzQ3NzYsIDQyODEsIDQ3NjgsIDEyMDU3MiwgNDE1MzUsIAorICAgIDQwOTksIDkwMTcsIDY5OTkzLCAwLCA3ODA5NSwgMjIyNSwgNzgwOTYsIDExODk0NiwgMCwgMCwgNzgwOTgsIDAsIDQyODE0LCAKKyAgICA4ODAsIDAsIDExMzc2NCwgNjY4NzAsIDIxMzQsIDAsIDEwMTE2LCA5ODc3LCA5MjMyOSwgMCwgMCwgNzA5NSwgODM3OSwgCisgICAgNzQxMTYsIDY3NzgsIDAsIDc4MDkwLCA4MjQzLCAyNDI3LCAxMjgxNDEsIDcwOTMsIDAsIDExNTg1LCAxOTUwMDMsIDk5NjIsIAorICAgIDAsIDEyMjIzLCAxMjg0ODUsIDkyNDMwLCAxNDM0LCAxMjAyNTQsIDU2MzcsIDExNTczLCAwLCAwLCAwLCAxOTk1MSwgCisgICAgMTEzNzMwLCA3NDQxOSwgMCwgMCwgNTUyODMsIDAsIDcwMzYzLCA3NDQzNywgMTE1NiwgODc0MCwgOTI0MTUsIDM3ODIsIAorICAgIDY0MzMxLCAwLCA0MTM3MCwgMTAxNCwgODI2MSwgMTI4NTk1LCAwLCAxMDgzNSwgMCwgNjU1MzYsIDAsIDEyMDQ2MywgCisgICAgMTI1MDUxLCA3NzAyLCAxMTg4MjQsIDEyODk3NiwgNDMwMTAsIDY1Nzc5LCA2NTc4MywgMTE1MCwgMTA1NDcsIDU3MDAsIDAsIAorICAgIDEyMDYwMywgNjUzODMsIDIzMzksIDQyNTk0LCA1Njk3LCAxMTg3ODgsIDEyMDQ3OSwgMTI4NTc2LCAwLCA0MjI1NywgNTY5NiwgCisgICAgOTI2NzcsIDEyMDQ2NSwgMzg2MiwgOTY0MywgMCwgNzAxODMsIDc2MzQsIDY1MTY3LCA5ODQ1LCAwLCAwLCA1NzAxLCA5NzIyLCAKKyAgICA0MTQ5MCwgMTI4NzE5LCAxNDI2LCA2ODIxNywgOTgzNjE0LCA2ODQ0NywgNDIyMDQsIDU1MjcwLCA4NTcxLCA2NzQwMywgCisgICAgNzgwNjcsIDQzODU5LCA3ODgxOCwgOTI3MTksIDQzMTgyLCAxMjE4NCwgMCwgNDIwMjIsIDAsIDEwMjgxLCAwLCA1NjUwLCAKKyAgICA0MzE5NCwgNjQ3MTIsIDEwNzQ0LCAwLCA5OTAsIDU2NDcsIDAsIDczODcsIDc4NzM0LCA0MTExNCwgMTE0NzcsIDU2NDYsIAorICAgIDEyODc5LCAxMTAxOCwgMTI4MzYyLCAzOTQ1LCA5MjU4OSwgMCwgMTk0OTg5LCAxOTQ3MTgsIDAsIDc4MjEyLCAxMjc3NDYsIAorICAgIDEwMjAsIDczNzYzLCA5ODM4MzUsIDc4NzMxLCA1NjQ4LCA2NDc0OCwgMTk0OTEwLCA3ODczMywgMTAyMDUsIDM1NDUsIAorICAgIDk4MzU4NSwgNjk4NCwgMCwgNzQwNTEsIDEyODkwMSwgNDMyNDIsIDEyMDQ1OCwgMjY2NywgMCwgMTI1MDM3LCAwLCA5OTExLCAKKyAgICAwLCA2NTAyMCwgMTAwOTcsIDExOTE2NiwgMTI3MTQ1LCA5ODM2NjIsIDExODgzNiwgOTgzNzQ4LCA3ODIwOCwgMTE0MCwgCisgICAgNzg0MjYsIDAsIDEwMTU5LCAwLCAwLCA4MTI4LCAwLCA2ODMyNiwgOTE3OTY1LCAxODE1LCAxOTkxMCwgODkwLCAwLCAzMjY3LCAKICAgICA5MjI5MSwgMCwgMTAxMjMsIDAsIDQ0MTAsIDEwNDEsIDEwNTc2LCA2MzU0LCA5MjU4MSwgNTgwLCA3NDIzMiwgMCwgCiAgICAgMTI4MzQ3LCAwLCAwLCAwLCAxOTkzOCwgNjU5MDYsIDEyNzgxOSwgMCwgMCwgMzI5OCwgNTM3NSwgMTAxNDIsIDAsIDgyMTUsIAotICAgIDAsIDYxMzQsIDQxMjQ2LCA2NDQwMiwgMCwgNjk4OTksIDAsIDAsIDAsIDQxMzgyLCAwLCAxMjg2NTMsIDUxNzMsIDY1MzQ4LCAKLSAgICA1MjcsIDAsIDAsIDkyNjEyLCAxMjgyNTAsIDc4Nzk3LCAxMTkxNSwgMCwgMCwgMTAwNzIsIDAsIDQyNjk1LCAyMzI5LCAKLSAgICA0MjI1MCwgMCwgMTI4ODY0LCA2OTY2NywgMTIyNDUsIDE1NjgsIDk0MDMzLCAwLCAwLCAxMjgxMjAsIDAsIDc0MzI4LCAKLSAgICA5MjcwOCwgNzQ3NjksIDAsIDExOTA4NywgOTA2OSwgNjE0NCwgMCwgMCwgNzM4MjIsIDAsIDEyODAxMCwgNjQ5MTcsIAotICAgIDQxNTIxLCAxMTg5MzQsIDQ5NCwgMTMyNTAsIDAsIDY1MDk4LCA2MzY0LCA5NTYsIDAsIDEyODMwLCAxMDQ2MiwgNzM3NDAsIAotICAgIDczNzM0LCAwLCAwLCAwLCA2NjQ0OSwgMTMyNjMsIDc0MjgxLCA2OTIxNywgMTMxNzEsIDEyNzc5NiwgMCwgMCwgOTIyOTQsIAotICAgIDAsIDEwNDQsIDQxMjc2LCAwLCAwLCAwLCA0MjA2OCwgMTE3OTUsIDAsIDAsIDAsIDAsIDQyNDUwLCAzOTA3LCAwLCA2NDUyNiwgCi0gICAgMTE4MjksIDY4MTk3LCAxMjI5NSwgMCwgMTE0NzUsIDAsIDMwMjAsIDExNTM3LCAwLCA2NjQ0MSwgOTgzNDU0LCA3MDk4LCAwLCAKLSAgICAwLCAxMDU3LCA1NjYsIDQyNjk2LCAwLCAzMDE2LCA0MjI3NCwgNDM0NjQsIDY2NDkwLCAxMjkyMSwgNjY1NzEsIDc4NDcyLCAKLSAgICA5MjUxMCwgMzAwNiwgNDYyMCwgMTI3MjM3LCA5ODM1NzgsIDAsIDAsIDY0NjU5LCAwLCAxMjc3NDksIDU1MjUzLCA2MzU3LCAKLSAgICA2MzYyLCA4NjI2LCA3MTMzNywgMjIxNiwgOTA5MCwgNjUzNzcsIDQxNTk2LCAwLCA0MjkyMCwgMTY5OCwgMCwgNjQ0NzcsIDAsIAotICAgIDQzODEzLCAxMDUzLCAwLCA3ODI2OSwgMCwgMTI2NTg2LCAxMDUyLCAxMDUxLCA0NTksIDEwNjAsIDc0MzQ5LCA2NjQ3OSwgMCwgCi0gICAgMCwgMCwgMCwgNDI0OTAsIDY4OSwgNjUwOCwgNDE2MywgNDIyOTgsIDg2MzksIDY2NjQxLCA0MjQ2LCAwLCAwLCAxMjEzMCwgCi0gICAgMCwgNDIzMzcsIDY0NTk2LCA2NDM3NSwgNjY0ODEsIDEyNzg1MCwgMCwgMCwgNjM1OSwgMCwgNDM0NzEsIDk4Mzc2OCwgMCwgCi0gICAgMCwgMTI3Mjc0LCAwLCA2MzU4LCA2MzYxLCAxOTI2LCA2MzU2LCA5MjYyNywgNzg5OCwgODExMCwgMTA5MzUsIDAsIDEwMDY5LCAKLSAgICA1ODMwLCAwLCA0MzY4NSwgMCwgMCwgMCwgMCwgODY5MywgNzg2MTEsIDExOTU2NSwgOTgzODA4LCAxMjA0MTMsIDAsIAotICAgIDEyNzI1NywgNjU4OTQsIDAsIDAsIDAsIDk4MzkyMywgMCwgMCwgMTE5MTg3LCAyMTM1LCA3ODg2OCwgMCwgMCwgNzg4NjksIAotICAgIDQyMzEzLCA1NTc5LCA5MjQxMiwgMCwgOTgzMDgyLCA5NDAwMiwgMCwgNTU3OCwgNDE3NzQsIDEyODExNSwgNDIwMjMsIAotICAgIDYyMzQsIDU2NjksIDkyMjc1LCAwLCAwLCAwLCAxMjc1MDYsIDY4MjAyLCA1NTgzLCAwLCAwLCA0MjQyNiwgNTU4MCwgCi0gICAgNDIyNzYsIDI5MjMsIDg5MiwgMjIyMCwgNDI0NjUsIDQxMzMwLCAxOTQ5ODcsIDU3OTUsIDY1NTEyLCAxMTkwMDYsIDY1NzAyLCAKLSAgICAwLCAxMjA4MDEsIDY1MjUxLCAwLCA2NTcxMCwgMCwgMCwgNjc2NzIsIDAsIDUzNzAsIDAsIDI5MzEsIDE2MzgsIDEwOTY2LCAKLSAgICAxMDE4OCwgNjU4NzgsIDExODg0OCwgMCwgNjk2OTQsIDY5ODc5LCAxMjg4MzAsIDgxNzIsIDQyMDE3LCAwLCAxMDg0NCwgMCwgCi0gICAgMTI4MTk1LCA5MjQyNCwgNjM3NCwgMCwgMCwgMjg2LCA3ODAyMywgMTA2MiwgMCwgMTE5OTk5LCAwLCA3Mzk1LCAwLCAxMDcwLCAKLSAgICA2NDkwMCwgNzE1MywgNjA5NSwgNDE4NjUsIDAsIDMwMTUsIDEyODAyMywgMTI2NDY1LCA1MjExLCA5ODMwODMsIDY0MDAsIDAsIAotICAgIDE5NDk4MywgNzAwNTQsIDgxODksIDExMjc2LCAwLCAwLCAzNzIsIDEyODgyOSwgMCwgMTE4ODc0LCA0MjEwMiwgNDE1ODUsIAotICAgIDEyODIwMiwgMCwgNDIxMDEsIDI3NiwgNzg0MDIsIDAsIDMzLCA3NDIyNiwgMTI3MzAzLCA5MDA3LCAxMTg3OTYsIDQxNTg4LCAKLSAgICA2NjAzMywgNDI3LCAxMDc2MywgMTE4ODE5LCAwLCAxMjc4ODQsIDAsIDEwMzEsIDYyNTcsIDAsIDQyMTA0LCAwLCA5ODM5ODAsIAotICAgIDIzMjgsIDkyNDA5LCAxMDcxLCA0Mjg5OSwgMCwgNzQ4NDgsIDAsIDk4MzU4MCwgMCwgMTA0NywgMCwgMCwgNjQ3OTAsIDAsIAotICAgIDY5NzIzLCAxMDY1MSwgMCwgMCwgMCwgMCwgOTIyMDYsIDExOTE4MSwgNTcxMSwgNDE2MzMsIDEyMDk4LCA2NTU3MSwgOTE2NiwgCi0gICAgMCwgNTcxMCwgMCwgNjc5MCwgNjUxNjgsIDEzMjE2LCAwLCA2OTcxNiwgNjk3MjYsIDAsIDY0NjExLCA0MTYyMywgMTk1MDAxLCAKLSAgICA1NzE1LCA2OTY1NCwgMCwgMCwgNTcxMiwgMjc2MSwgNDE2MjAsIDY4MTI0LCAzMDc0LCA1NzIyLCAwLCA4NjQzLCA3Mzc2OCwgCi0gICAgMCwgMTE4OTA2LCAyNzU3LCAxMTA2NywgOTcxOCwgNzQ0OTgsIDg5MTAsIDEwNjg5LCA2NDc5LCAwLCAwLCAwLCA3ODYwNywgCi0gICAgOTE5NiwgNjk2NzAsIDAsIDAsIDAsIDAsIDExODkxMSwgMCwgMCwgMCwgMCwgMCwgMTIwMDEwLCAwLCA4NzAxLCA2ODEzMCwgCi0gICAgMTE5NjE2LCAxMjA1MjIsIDAsIDQyNDc3LCAxOTQ5OTQsIDEyMTIzLCA0NDk1LCA0MzU2OSwgMCwgMCwgMCwgNjQ5NDYsIAotICAgIDEwOTkyLCAwLCAxMjAwMDksIDAsIDAsIDkzMTgsIDkzOTg2LCAxMzI0OSwgNjU2NzksIDczODA4LCAwLCA2NTQ1NywgCi0gICAgNDIyNDksIDc2MzksIDQzOTk1LCA2Nzg0NSwgNDI2NDEsIDU0NTQsIDAsIDAsIDE5NDk5NywgMTIwMDA1LCAwLCA5ODM5NjYsIAotICAgIDUwODQsIDAsIDAsIDExODg2MSwgMCwgNzMzLCA5MTc4NzYsIDc4MDE0LCA3ODQzNiwgNzg0MzUsIDQxNjc3LCAwLCA5MjE4LCAKLSAgICAxNzMxLCAwLCA5ODM3NDYsIDAsIDY3OTkwLCAwLCAwLCAwLCAxMjAwMDEsIDEyNzAxOCwgOTI0OTIsIDUxNTUsIDEyMDAwMCwgCi0gICAgNTM1OCwgOTgzNzQ0LCAwLCA5MTc3NjcsIDY0NDI0LCA5ODMyMzEsIDM4NDAsIDY0MzE0LCA0MTQzMiwgMCwgNzgzMTUsIAotICAgIDY4NDMwLCA2Nzk4MCwgNDMyNTMsIDY1OTQzLCAwLCAzMzcxLCAxMDk4OCwgMCwgODc3MSwgMTQ3OSwgMCwgMCwgMTEwOSwgCi0gICAgMTE1ODAsIDAsIDY0NjAxLCAxMjIwNSwgMCwgMCwgNjQ1MDcsIDg4NjgsIDM5OSwgNjc5NzgsIDc0ODQyLCA5ODMyODQsIAotICAgIDk4MzcyMSwgMTIxNDksIDEzMDg4LCA1NTEsIDAsIDEwMTU2LCAxMjExOSwgOTI1NzIsIDAsIDI1NDQsIDY1MDc0LCAKLSAgICAxMTkyMTEsIDAsIDAsIDc4MDExLCAzNTEsIDExOTE0OSwgMCwgMCwgNTUyMjksIDAsIDc0MjY4LCAwLCAwLCAwLCA0MjM3NywgCi0gICAgMCwgMCwgMCwgOTgzOTI0LCAwLCA5MDEzLCA0MDU0LCAwLCA5ODM1NzAsIDk4MzYyOCwgMCwgNzM5NjAsIDU1ODUsIDY1ODgxLCAKLSAgICAyNTQ5LCA3NDQ2OSwgMCwgMCwgNTU4NCwgODM1OCwgMCwgNjQyMTUsIDkyMjE5LCAxMDkxOSwgMCwgNzk4MCwgMTI2NjAxLCAKLSAgICA5ODM3ODQsIDIyMTgsIDQxODAwLCA1NTg5LCAwLCAyNjY0LCA0MTYxMywgNTU4NiwgMTE4ODkwLCAwLCAxMTM1NiwgMCwgMCwgCi0gICAgNDM0NTIsIDc4NjA5LCAwLCA0MjU3MywgNjc4NTYsIDAsIDc4MTI5LCAwLCAwLCA3NDM5MiwgODEzNSwgNjQ1MCwgMTAwNTUsIAotICAgIDc3OTk2LCAwLCAwLCAxMTkyMjUsIDU2NTcsIDAsIDk2MjYsIDAsIDc3OTk0LCAxMDE3OSwgNTY1NCwgMTI5MzksIDkyNTczLCAKLSAgICAxMjA3OTksIDAsIDAsIDU2NTIsIDEwOTQ1LCAwLCA2NjQ4NiwgMCwgMzY2MSwgNzg2MywgMCwgMCwgMCwgNzQ1MDksIAotICAgIDk4Mzg1MiwgNTY1OSwgMCwgNzg2OTIsIDY2NzI5LCA1NjU1LCA5ODM2MjYsIDQyMTY4LCAwLCAxMDU1LCA5MTc2MjgsIAotICAgIDEyNzc5MiwgNjYzMTAsIDc0MDMwLCAwLCAxMjE0NiwgNzM5NTUsIDczOTU2LCAxMTYxOCwgMCwgMTI2OTkwLCAwLCAxMDI3MiwgCi0gICAgMTAzMDQsIDEwMzY4LCA0MjUxOCwgNTk0LCAxMDI0NCwgMTAyNDgsIDc0MDcsIDk4Mzg4NywgNjQ4NzAsIDAsIDM0NjcsIAotICAgIDk4Mzg5MSwgMCwgMzMzMSwgOTQ2LCAxMDIzMSwgMTQ5NSwgODEzMSwgNzQzMzAsIDAsIDk1NjIsIDY5MjIyLCA2NTkyNywgMCwgCi0gICAgNzAwMzYsIDY5Njk2LCA2OTc2OSwgNjQ2NTYsIDk4MzcyNiwgMCwgOTQwMjAsIDcwMDU2LCA1NjY2LCA2NTIyNywgNTMxOCwgCi0gICAgNjM5OTQsIDAsIDkwOTEsIDEwNzk4LCAwLCAxMjgxNjYsIDEwMTg2LCAwLCA3NzMyLCA5ODM3MjQsIDY0NTU2LCAwLCAwLCAKLSAgICA1NjY4LCA3NDQ0NSwgMCwgMTI4NjYzLCA1NjcwLCAxMjY2MTAsIDEyNzI5NywgMTE4MjAsIDI5OTIsIDc4MjYsIDU2NjcsIAotICAgIDE5OTUyLCAxMjA4MDcsIDAsIDEyNzQ5LCA3NDU1MSwgMCwgMCwgNjY0OTYsIDQzNjEsIDExOTI2MCwgMTMwNiwgOTI4NiwgCi0gICAgMTQ5NywgMTI4Mjg2LCA5NDAwNCwgMCwgMCwgMzU3MSwgMTMyNDcsIDAsIDc5NzMsIDY2MzUzLCA2ODQzNSwgNzgyNzgsIAotICAgIDY3ODk2LCA0MzE5MiwgMCwgNzgyNjUsIDU1MywgMTIwNjUzLCAwLCAxMjg1NTQsIDU4MjksIDAsIDQ1ODcsIDc4Mjg1LCAKLSAgICA2NTkxMiwgMCwgMTI3NDYsIDAsIDAsIDExOTkyNCwgNTYzMywgMTE5OTI3LCA5NDEwMSwgOTQxMDIsIDk0MDk5LCA2NDkwNSwgCi0gICAgOTQxMDUsIDk1MTIsIDk0MTAzLCAxMjc0MiwgNjQ0MywgOTgzODA2LCAwLCA5MTM1LCAwLCA0MTU2NCwgMCwgNTUyMTksIAotICAgIDEyODgzMiwgOTgzODUxLCAwLCAxMjE0OCwgMCwgNzgyOTcsIDAsIDY0MjU2LCAwLCAxMTY2OSwgMCwgNTYzNCwgNDUyNCwgMCwgCi0gICAgMTI3MjcwLCAwLCAxMTg4ODAsIDI0MjUsIDY1MTgyLCAxMjg3NjksIDQzNjM2LCA1MjIxLCA3ODQxMCwgMzI4LCAwLCAKLSAgICA5ODM4MDksIDY5ODE1LCA1NjM2LCAwLCA1MzI5LCAwLCA1NjM4LCAxMTk5MTgsIDc5NDAsIDY0OTM4LCA0MzIyMywgNDM3NjAsIAotICAgIDU2MzUsIDMzNzMsIDI5ODYsIDc4MjkyLCA3NDIyMywgMzQzNywgNzgyOTEsIDYyMDMsIDQyNDcsIDAsIDExOTIwLCA4Mjc0LCAKLSAgICAwLCAwLCAxNjU3LCA0MTU2MSwgNzgyOTksIDc4Mjk1LCA1NjM5LCAyOTU0LCA1NjYwLCA1NjQwLCA3ODMwMywgOTgzNjg1LCAKLSAgICA3ODMwMCwgNDIyMjcsIDAsIDAsIDQxNjM3LCA2Nzg3MiwgMCwgNzgzMTAsIDQxNjI1LCA0MzM2MiwgNzgzMDksIDEyMDcxMywgCi0gICAgMTE3MDUsIDU2NDIsIDAsIDU0ODYsIDAsIDQzNTYsIDExNzEwLCAwLCAxMjA1MSwgNjk5MzgsIDAsIDU2NDEsIDgyNTksIDAsIAotICAgIDEwNTgsIDAsIDY3NjMwLCAwLCAwLCAxMTQ0LCA3ODc1MCwgMCwgNDIyMjgsIDAsIDczODkwLCAxMTg5NzIsIDAsIDI4MDAsIAotICAgIDAsIDU2NDUsIDY0OTY0LCA4NjUyLCAyNTQ3LCA2NjQ4NCwgNDM2MzQsIDAsIDU2MDgsIDY1ODkwLCA0MzgwOCwgMCwgCi0gICAgNjc2MjEsIDExOTkzNCwgOTAwMCwgMCwgMCwgOTI2NzMsIDE4NjUsIDAsIDU2MTMsIDY5OTUwLCAwLCAwLCA1NjEwLCAwLCAwLCAKLSAgICA2NTgyNiwgMjA2OSwgMCwgMTA3ODcsIDQzOTk5LCAyOTk3LCAwLCA1NjA5LCA3ODMxNiwgNjUzMTksIDc4MzEzLCAxMjMxNiwgCi0gICAgNjUzNzYsIDI0MTIsIDAsIDgxODYsIDk4MDcsIDc0MjY5LCA5MjU0NywgMTMxMzAsIDY1ODc0LCAwLCA1ODA3LCAwLCAKLSAgICAxMDAzMCwgNTMwNiwgMTIzNjQsIDEyODA2NCwgMCwgMTE3MDQsIDAsIDkyNTgzLCAxMDIxMSwgMCwgMCwgMCwgMCwgMTE3MDYsIAotICAgIDk3MTAsIDAsIDAsIDAsIDQxMywgNjU2MjMsIDcxMTgsIDAsIDkxMzMsIDc0MjYyLCAwLCAxMDQyLCAwLCA2NDc3OSwgCi0gICAgMTIxNzEsIDExOTI0MCwgNjE4NSwgNjQ3NzYsIDQ5ODQsIDAsIDcwOCwgMTEzOTEsIDAsIDEyMjQxLCA5MjcyMCwgOTgzODk5LCAKLSAgICAxMzA4LCAwLCAyNTM0LCA4MTAsIDAsIDAsIDAsIDAsIDAsIDE5MTcsIDMwMDAsIDAsIDAsIDEyMDczOSwgMjM2NCwgOTI0NDMsIAotICAgIDc0NDcwLCA2NjYxOCwgNjU2ODAsIDEyMDc3OSwgMTAwMjcsIDAsIDEyODE1NCwgMTIzMzcsIDEyMDcyMiwgMTI3MzY4LCAKLSAgICA5ODMxNjcsIDI5ODAsIDc1NSwgNjk3NzQsIDkzMSwgMTMxMjQsIDY4MTgyLCA2MzYzLCAyNzQ4LCAwLCAwLCA2NTA0MSwgCi0gICAgOTIyNzYsIDQ0MDExLCA4NzMwLCA5ODMwNjcsIDEyNzg1NCwgNzgzMTIsIDcyNzQsIDExOTI1MCwgMCwgNzI3NSwgNzgzMDQsIAotICAgIDkzNSwgMCwgNjU4NDAsIDM3NywgNDIzMjUsIDExNjQ5LCAxMjczNjMsIDY1MjUzLCA2NDMwMSwgMTI4ODM1LCA3ODMwOCwgCi0gICAgNDIzNDEsIDY1Mjg0LCAyNDE3LCAwLCAxMjg4NCwgMTk5MTIsIDc5MDcsIDEwNzY4LCAwLCAxOTQ5OTgsIDAsIDEwNjczLCAKLSAgICAxMTkyMTcsIDcyNDgsIDAsIDEyODM0NiwgMTc4MSwgNTQ5NiwgMzYyNywgNjIsIDE2NDksIDAsIDk2NCwgMCwgMTI3ODc2LCAKLSAgICA3ODIyNiwgMTI4Nzc1LCAxMjc1MTIsIDAsIDAsIDAsIDAsIDQzNjg5LCAxMjc5MTEsIDEzMTQyLCA3ODgxMiwgNDI0MTUsIAotICAgIDY2NTc1LCA0NTQyLCA2OTkwOSwgNDM1NDcsIDAsIDAsIDc2NzcsIDI5OTEsIDQ5NDYsIDQyNDU0LCAxMTU2NSwgNzk0OSwgMCwgCi0gICAgOTgzOTE4LCAxMTM0MSwgNDI0OTQsIDMwNzMsIDY1NjI1LCA5NzE0LCAxMTY5MiwgNDY1NywgMCwgOTI3MjQsIDY0NzgsIAotICAgIDk4OTgsIDQzNjczLCA2NTIzNywgNjI0MSwgNzEwNiwgNDg3NywgOTgzNzk1LCA2MjM4LCAwLCAxMDU0OCwgMTI3MDQ5LCAKLSAgICA0NDA5LCAwLCAwLCA2NDc5OCwgMCwgNTM0NiwgMCwgOTQwNDcsIDYyMzcsIDQ4NzQsIDAsIDkxNzYsIDAsIDEyNjU1MywgCi0gICAgNjUyMzEsIDY1ODg0LCAxMjY3OCwgNzg3NDgsIDExODkxMiwgMTEzNzgsIDQ0MDE4LCA0Mjc4NSwgMjQwOCwgMzI1MSwgMCwgCi0gICAgMCwgNTY4NSwgMCwgMjQ2MSwgMTEwNTIsIDcwOTEsIDUzNDIsIDgzMTcsIDAsIDY4MTYzLCA1MzQwLCAwLCAxMjc4MjAsIAotICAgIDQzNjM1LCA3MzkyOCwgMTI3NTI5LCAwLCAwLCAwLCAxMjg1MTAsIDY1NDgyLCAwLCA5MTQyLCAwLCAxMjY0NzAsIDAsIAotICAgIDEwOTM4LCAwLCAxMTg3OTAsIDExODIsIDI1NDIsIDQ4MjYsIDAsIDAsIDEyODE3NiwgNTI5LCA4NTgwLCAwLCAwLCAxMDU4NiwgCi0gICAgMTA3OTAsIDEwODM5LCA2NjAyMywgNDE1OTMsIDQxMjA3LCAwLCAwLCA0MTU5NCwgMjI1LCA0MjgyOCwgMCwgMCwgOTgzOTM4LCAKLSAgICAxMTM3NiwgNzQzNzksIDEwNzIxLCA2NzY2NCwgMzQzOCwgNDIwOTcsIDEyNzI2NywgMTEwODQsIDMxOTQsIDQxODcwLCAyNjYsIAotICAgIDc4MzA1LCAxMjAxODMsIDQxODczLCAxMjA1NzUsIDExMzI0LCAxMjA1MzEsIDAsIDg0MjAsIDY0OTE4LCAxMjg4NDQsIAotICAgIDQxODcxLCA0MTMzOCwgMzczNCwgNzczNCwgNDM2ODMsIDg3NTAsIDY2NjA1LCA2NjAxMSwgOTI1MTQsIDQwOTY1LCAKLSAgICAxMjc5MzcsIDAsIDUxNjEsIDEwNTcyLCAwLCAwLCAwLCA2NDM0OSwgNzI4NywgNDIxNjIsIDEyNzU1MiwgMCwgMTI2NjA1LCAKLSAgICAxMTk0OCwgNjkyMjAsIDEyMzU5LCA0MzQyOSwgNDEzNjksIDE2OTcsIDEyMTkxLCAwLCA2ODYzMywgNzI4NiwgMCwgNjg2MzUsIAotICAgIDEwMDMxLCAwLCA5ODcwLCA2ODY0NSwgODYyMCwgNjU4MjQsIDAsIDExOTM4LCAwLCA3Mjg1LCAwLCAxMTk1NzcsIDQyNjc4LCAKLSAgICAwLCA0MzY3NywgNDE1ODMsIDAsIDY1Nzk5LCA5MjYyMywgMCwgMCwgOTgzOTM2LCA3ODE2OSwgNjYxOTksIDAsIDM2MDksIAotICAgIDY4NjI0LCAwLCA4MzIsIDEyMDY5MywgMTIwNzcwLCA3ODQ3MywgNjYwMDcsIDc4NDcxLCA2NTcwMywgMCwgMCwgNDI3MzIsIAotICAgIDUxODAsIDkyNjk5LCA0MTM5NSwgNDE1MzAsIDExNjkxLCA2NDc3MywgOTIyMTQsIDc0MDAyLCAwLCAwLCAxMjg2NDUsIAotICAgIDYzNDgsIDI0MywgMTMyMDAsIDk4MzgxMywgNjAyNCwgOTIzMDksIDk5NzksIDEwMDM3LCA0MTUyOSwgMTA2NDgsIDg1MzgsIAotICAgIDQzNjg3LCAwLCAwLCA0Mjg1LCA2NjE5NSwgMCwgNDIzMCwgMCwgNzM2NywgNDMyNTYsIDkyMzUzLCA3NTYzLCA0MjM3NiwgMCwgCi0gICAgNjg0NDIsIDEyMDUxMiwgMCwgMCwgMjE0LCAwLCAwLCA3ODQ2NiwgNjU4OTMsIDEyMjA4LCA5OTczLCAwLCA2NjMxMSwgCi0gICAgNjU1ODksIDEyODI3NywgMjYwMywgMCwgMCwgMCwgNzAwNDcsIDAsIDYwMjIsIDAsIDI4ODQsIDAsIDExNjIwLCAwLCA0MywgCi0gICAgMCwgNjY0NTMsIDEwMTYsIDQxMTA3LCAwLCA0MTEyMSwgMzg4NSwgOTIsIDY1NDU2LCA2NDYwOCwgMCwgNzQ4MDEsIDAsIAotICAgIDIwNzQsIDAsIDc4MjgzLCAwLCAxMjQ1MywgMTI4MTI4LCA5ODM4MjYsIDc0MjQxLCAxMjY1NjgsIDY3OTEsIDEyNDU3LCAKLSAgICA3ODI2OCwgMCwgMCwgMCwgNzgyNzksIDAsIDAsIDkyMzU4LCA2NjYzNywgNzk5NSwgODc1OSwgNDM0MjEsIDc4Mjc3LCAKLSAgICAxMjQ0OSwgMTI4NTUyLCAwLCAwLCA4NzUyLCAzMTk3LCA0NzIwLCAxMDE2NSwgMCwgMTE5MjQ5LCAwLCAxMTU5NSwgNjQ4OTMsIAotICAgIDAsIDQzNDM1LCAwLCAwLCA0OTkzLCAwLCA2MTY4LCAxMDkzNCwgMTk0NiwgNzQxLCAwLCA1NDk0LCA0NjM5LCA5ODMxNDcsIAotICAgIDE5OTAsIDY2NTg5LCA0NDk4LCA3ODY2NCwgMTE5MTgzLCAwLCAwLCA2OTczNCwgMjk2MCwgNzM3NzksIDAsIDg5NjksIAotICAgIDEyODExNywgNDM0MjQsIDEyNzA1OSwgMCwgMjk1MCwgMTE5NTc5LCA2MjEwLCA2NTc1MywgMzcwLCAwLCAwLCAwLCA0OTUzLCAKLSAgICA5ODM2ODIsIDAsIDAsIDAsIDY5MjMwLCAwLCAwLCA2NTY4OCwgOTgzMjQ2LCA1MDYzLCAzNTE3LCAyOTY0LCA0MzY2MywgCi0gICAgOTE3NzYyLCA2MzQ0LCA3NDc5MSwgMTA1NjYsIDEwMTQ0LCA2NjMzMywgODI1MiwgNzI5LCA2NjAxNiwgNzgyNTMsIDAsIAotICAgIDcxMzE3LCA2NDkyMywgMTI4MDQwLCA0MzY2OSwgOTAzMiwgNzgyNjMsIDc4MjY0LCAwLCA0MTIxNSwgMCwgNjU4ODMsIDAsIAotICAgIDkxNzc3NCwgMTIwNjAyLCAzNzYxLCAwLCAwLCA3MDA2OCwgMCwgMTI5MTIsIDExOTAxMiwgMzg1MCwgMTI4MTkxLCAwLCAwLCAKLSAgICAwLCAwLCA5MDgsIDAsIDg2MTEsIDAsIDAsIDEyNzU1NSwgNDM2OTEsIDQxMTk3LCAwLCA4OTc4LCAxMjA1NDAsIDExOTEzNSwgCi0gICAgNDE1ODYsIDEwNTI3LCAwLCA5MTc4NDgsIDM4NDgsIDc4NzM5LCAxOTQ5MzcsIDEyNzUzNiwgNjUyNDEsIDUzMzYsIAotICAgIDk4MzI1OSwgMTI4Nzg2LCA2NjMsIDAsIDEwNzgwLCAwLCAwLCA3ODc2NywgOTgzMjU3LCAxMjcxNjMsIDY4MTkzLCAzNDcsIAotICAgIDAsIDAsIDc4Nzc1LCA2NDY3NSwgNDE1ODIsIDc4Nzc0LCA3ODc0NCwgNjU1NzksIDEyOTgwLCA3ODc2OSwgMTIxNDMsIAotICAgIDY5NjU3LCA3ODUxMiwgMCwgNDM0NDEsIDQxODA0LCA3ODUyMywgMCwgNzg1MjUsIDAsIDEyODg1OSwgNDE1ODQsIDEwNjgxLCAKLSAgICAwLCA5ODM2OTUsIDczOTM4LCAwLCAxMjgwMjIsIDQ4MDAsIDY2NjYxLCAwLCA2NjMwNiwgNjQ3MTUsIDc4NTM0LCA5NTE4LCAKLSAgICA2NjA5LCAxMDQzNCwgMCwgMTEzMTksIDEwOTcsIDAsIDkxNzg1MCwgNDE3MzAsIDk4MzIxNCwgMCwgNzM4NDcsIDc4NzYxLCAKLSAgICA2NTE3MiwgNDE3MjgsIDQxNzIxLCAwLCAwLCAwLCA0MTIwMywgOTE3NjEyLCAxMzExMCwgNDE3MjYsIDk4Mzg1NSwgMCwgCi0gICAgMTAwMCwgNjk2NTEsIDAsIDQxMTQwLCAxMjA5LCA3Mzk3OCwgMCwgNzM3NTAsIDEwNzMsIDYzMjEsIDc3ODc4LCA0MTEzOCwgCi0gICAgMCwgNjgyMTMsIDAsIDEyMTY3LCAxMTE1LCA0MTYwNSwgOTc5NCwgMTI3MDYyLCA2NzY3MSwgNTUyNDgsIDEyMjM3LCAKLSAgICA3ODc4NywgNjYzMTQsIDY1ODcsIDkyOTAsIDc4NzgyLCA3ODc4MywgOTIzMSwgNzg3ODEsIDI5NTksIDc5MjYsIDAsIDAsIDAsIAotICAgIDY0Mzk4LCAwLCAxMTk5NzAsIDEyMzExLCA5ODM3MjcsIDc4Nzk2LCA3ODc5OCwgNzg3OTQsIDc4Nzk1LCA2ODQzNCwgCi0gICAgNzg3OTMsIDY2NjcwLCAwLCAwLCAxMjI5MCwgMTIwMTY5LCAwLCAxMTk4NzMsIDQyMTQyLCA5OTY4LCA4MjA1LCAwLCA1MTMxLCAKLSAgICAwLCA5NjI3LCA3ODUzNiwgNzg1NDIsIDc4NTM1LCA5ODMyMTIsIDE5NDQsIDEyNDgsIDEwMTQ4LCAxMjc3NTUsIDExOTk5MCwgCi0gICAgMTE5OTkxLCAxMjcwMSwgNzgzNzYsIDExMzA4LCAxMTk5OTUsIDAsIDExOTk5NywgMTE5OTk4LCA2NTMwNSwgNjUxMDAsIAotICAgIDQwMzEsIDQyNzk0LCAxMjAwMDMsIDcwNzUsIDgxNTQsIDExOTk4NSwgMTIwMDA3LCA0MTgxNywgNzM5MzQsIDQyMjc1LCAKLSAgICAxMjAwMTEsIDEyMDAxMiwgNzg1MjYsIDEyMDAxNCwgMTIwMDE1LCA2MDQxLCAwLCA0MTg5OSwgMCwgODAwMiwgMCwgNDM2NCwgCi0gICAgMCwgMCwgNjQzMzIsIDAsIDc4MTMsIDkwNjQsIDExOTk4NiwgMTAxMjQsIDc1MjYsIDg2MDEsIDcyODEsIDc4NDU1LCA3Mjc5LCAKLSAgICAxMjA0MSwgMTQxOCwgMTA4ODUsIDEyNjczLCAwLCAwLCA5NjYwLCA5ODMyODAsIDEzMDEyLCA0NTcxLCAwLCAwLCAxMjAxNjQsIAotICAgIDEyMDc4LCAyOTcwLCAwLCAxMDkzMywgMCwgNzc4NzAsIDAsIDEyNzAxNSwgMCwgNDE1OTksIDAsIDEyODgzMSwgMCwgCi0gICAgMTI5NTAsIDkyMTYwLCAzNDg2LCAwLCA3ODMxMSwgNDIzOSwgMCwgMTI3Nzk5LCA2NjUxMSwgMCwgMjYzNywgNjQ2MjksIAotICAgIDg0NjAsIDEyNzA1MywgODQ3NiwgOTgzOTc1LCAwLCAwLCAwLCA2NTY3MywgMTAxOSwgNzg0OTUsIDQxNDgsIDAsIDEyMjg5LCAKLSAgICAwLCA0MzE2LCAwLCAxMzExOSwgODQ4OCwgNTQxMiwgNjYyNDMsIDk5MzUsIDAsIDczODY0LCA5ODMyMDMsIDQxNzM0LCAKLSAgICA4MjA2LCA3NDA4MSwgOTE2MywgMzI4NiwgOTA3MiwgNTg2NywgMTMzMDIsIDc2MjIsIDcxMjAsIDQxNzM2LCA5MjU0NiwgCi0gICAgNDE3MzEsIDAsIDc0MDAsIDU0MTYsIDY4NjYzLCAxMTg5MjQsIDEwODE3LCAwLCA0MTUzOSwgMTI3Mjg0LCAwLCA3Mzk2MywgCi0gICAgNDE4NTUsIDQxODY3LCA2NTU2NCwgMTEyNzcsIDY1ODkyLCAxMTUzNiwgMTA2MjAsIDkyMjcyLCA3MTE1LCA2NjAzMCwgCi0gICAgNzM5MzIsIDU0OTgsIDczOTQyLCA0MTUzNiwgMCwgNjgyMDQsIDkyNTg3LCAzNDU5LCA4OTk3LCAwLCAwLCAwLCAwLCAKLSAgICA5MjUxMiwgMCwgNjYzNzcsIDY5NzgxLCAwLCA5ODM2OTksIDc4NTExLCAzMTYxLCAyOTUsIDEyMDIwNywgMCwgOTIyMjMsIAotICAgIDEyNzg1NiwgNzg3NDIsIDkwMTYsIDQzNDU0LCA2MzkwMywgNjM5MDIsIDQzNjQxLCAwLCAzOTcxLCAwLCA3MDA2MywgMjk1MiwgCi0gICAgNzg3NjUsIDExMDM4LCAxMDkwMSwgNjM5MDAsIDYzODk5LCA2Mzg5OCwgOTQwNDMsIDY2NywgMTIzMzIsIDYzODg3LCA2MDg2LCAKLSAgICA0MTcyMiwgMCwgNTE3MiwgMCwgOTgzMjc4LCA0MTU5LCAwLCAwLCA5ODE1LCA2Mzg4NCwgMTk5MzQsIDYzODgyLCA0MTE5OCwgCi0gICAgODU1NSwgNjM4NzgsIDYzODc3LCA0MjQ2MCwgNjA1MCwgNDI3MDgsIDYzODgxLCA2Mzg3MiwgMCwgNDI0MjEsIDAsIDQxNzIzLCAKLSAgICA2Mzg3NSwgNjM4NzQsIDExNDYwLCA3NDMyLCAxOTEzLCA0MTkxMywgNjM4NTIsIDEyNjYzNiwgMCwgNDIzNDgsIDczODkyLCAKLSAgICA2NzUyLCA0NDYsIDQxOTExLCAxMjc5MDYsIDYzODUxLCA2Mzg1MCwgNDE5MTAsIDAsIDYzODQ2LCAyOTcyLCAxMjkzMiwgCi0gICAgNzI2MiwgMCwgNjM4NDksIDYzODQ4LCA2Mzg0NywgMTI4MDcwLCA2NTcwLCA4MzAyLCA3MjU5LCA2Mzg0MiwgNDE3OCwgCi0gICAgMTA3NDYsIDcyNTAsIDEzMjE0LCAxMDA0MSwgODEwNSwgNjM4OTIsIDAsIDExODk4MywgMTEwNSwgNDE4MCwgMCwgMTIwOTQsIAotICAgIDk0OTcsIDAsIDYzODkxLCA2Mzg5MCwgNjM4ODksIDYzODg4LCA1NTM4LCA5OTg3LCAwLCAxMTg5MzIsIDE2NzgsIDEzMjc0LCAKLSAgICA1NTIsIDEyMDY1NCwgNDQwMTAsIDEwNzg1LCAwLCAxMTkxNzAsIDQ1NTcsIDc0NDU5LCA5MTU5LCAxMDE3MSwgMTMxMjUsIAotICAgIDYzODYwLCA1NTQwLCA2Mzg1OCwgNjM4NjUsIDI4MSwgMTMyNDIsIDYzODYyLCA3NDE1NCwgMCwgNTUzNiwgNjU1NjgsIAotICAgIDYzODU3LCAxMzg4LCA3NDE2OSwgMCwgMTA3NywgOTgzNTc3LCA2NTA5OSwgMTE1MzEsIDU4MzQsIDAsIDAsIDAsIDAsIAotICAgIDQyNzczLCAwLCAwLCAwLCAxMTkyMjAsIDAsIDM2NjMsIDAsIDExMTIsIDExOTEyMiwgODY4NiwgMCwgNTMzNCwgNjUwODEsIAotICAgIDQzMjQ5LCA3NDc3OCwgMTI3OTY4LCAxMTA3NywgMCwgNjUwOSwgMCwgNTMyNywgMCwgMTk5MDcsIDYzODY5LCAzNDc4LCAKLSAgICA3NTgzLCA3Njc5LCAyOTAzLCAwLCAzMDAxLCAxMTU4LCA4NzQ1LCA0Mzc0NiwgNzM3NDgsIDYzODY2LCA3ODYyNiwgMTkxNSwgCi0gICAgNDg0NiwgMCwgNjYzNzEsIDExODk4NCwgNDIxMDUsIDI5OTAsIDEyMDEyOCwgODA1LCA2OTIzOCwgNjQ0MzgsIDEyMDcwLCAKLSAgICA4NzYwLCAxMTE3LCAxMTg5ODcsIDEyMjEyLCAxMjAxMjMsIDY1MTc0LCA0MjM1NywgNjM4MzUsIDYzODM0LCAwLCA3ODI0MCwgCi0gICAgMTIyMjUsIDYzODM4LCA2MzgzNywgOTgzODUzLCA5ODM4MDQsIDYzODMzLCA2MDQyLCA2NjM2MCwgODA4MywgMCwgMCwgCi0gICAgNjM4MjEsIDYzODIwLCA2MzgxOSwgNjM4MTgsIDk4MzkwNCwgNTIyNywgOTA0NywgNjM4MjIsIDEyNzE2MiwgNjA5MSwgMCwgCi0gICAgMTA2OTEsIDU2MCwgNTY0MywgODIyNiwgMTE5NTc4LCA2MzgxMiwgNjM4MTEsIDYzODEwLCA2MzgwOSwgMjI4OSwgNjM4MTUsIAotICAgIDYzODE0LCA2MzgxMywgNjA0NywgMTU5NywgMTIwMTQzLCA3ODAsIDIwNiwgNzc5MjUsIDQ5MzYsIDY1MTQ3LCA4MTY4LCAKLSAgICA2MzkzMCwgMjA3NiwgMTA5MywgOTg4MiwgNjM5MzQsIDIwODIsIDYzOTMyLCAxMjgxNTAsIDYzOTI5LCAzNTQ2LCAxNjA1LCAKLSAgICA3NzkzNCwgOTgwNiwgNDM0NzIsIDc3OTMzLCA4NDAwLCAxMTM0MywgMjA4NiwgMCwgNjM5MjYsIDI5ODQsIDU5NjgsIDkyODcsIAotICAgIDAsIDQ2MTgsIDQyMjA5LCA0MzQzMSwgMTMxNjksIDUyOTAsIDIwODksIDE2OTUsIDEwNzQzLCAxMDg4LCA2MzgyNSwgNzI2OCwgCi0gICAgMTA4NCwgMTA4NSwgNjM4MjksIDEwODMsIDEwMTMxLCA3MjgzLCAwLCA2Mzk3MCwgMTI4MzU4LCAxMDkyLCA0NzU0LCA3MjczLCAKLSAgICA1MjUyLCA0NDAxNiwgNDM2MjcsIDEyNzkyMSwgMCwgNzQwOCwgMTE4MDksIDkxNzYxOCwgMCwgMCwgMjk2NSwgNzI1OCwgCi0gICAgODgwOCwgMCwgMTA4OSwgNDE4NywgNjM5MzcsIDQyMTE5LCA0MjEyMCwgMCwgOTQwLCA1Nzg3LCAxMDA5OSwgNjM5MzgsIDAsIAotICAgIDc0NDk0LCAxMjQ2MywgMjk5NCwgMCwgMTE4ODI3LCAwLCA5NjY0LCA3NzkzOSwgNzc5NDAsIDY3ODkyLCA3NzkzOCwgCi0gICAgNzQzNDMsIDAsIDAsIDY2MCwgMTAxMjcsIDY2NiwgOTAyMiwgNTUzMiwgNDM2NjcsIDU1MzMsIDc3OTQxLCA3ODUwNywgCi0gICAgNjExOCwgMjIyLCA5NzksIDM4ODQsIDAsIDc0MTUxLCA5MjY1MiwgNjUwMiwgMCwgMTI3MTE4LCAxMjg2OTUsIDYzOTUxLCAKLSAgICAxMjQ2NSwgMCwgMCwgMTI4NzgyLCA2Mzk0NiwgMTcwNywgNjM5MjQsIDEyNDYxLCA2Mzk1MCwgNjM4OTcsIDYzOTQ4LCAKLSAgICA2Mzk0NywgNjM5NDUsIDYwMzgsIDYzOTQzLCA2Mzk0MiwgNjQ2ODUsIDYzODk1LCA2NTgzOCwgMjI3NiwgNzc3NiwgOTQwNzYsIAotICAgIDAsIDEyNzc3MywgMTIwNDQ0LCA2OTczMCwgODAxLCA0MzE2NSwgMTY5MCwgNjM5MTksIDYzOTE4LCA2MzkxNywgMTMyNzcsIAotICAgIDQzNjU5LCAxMjk1MSwgMTIwNjM4LCA5OTA2LCAyMDU0LCAyMzM0LCA3ODUxNSwgNjM5MTYsIDU0ODMsIDYzOTE0LCA2OTczNywgCi0gICAgNjM5MTEsIDU0ODQsIDYzOTA5LCA2MzkwOCwgMjUzOSwgMCwgNDM5ODAsIDU0ODUsIDAsIDQyNjk3LCA5MDYxLCA1NTM0LCAKLSAgICAxMDY3MiwgNDUwMiwgMCwgMjUzLCAwLCA2ODIwOCwgMCwgOTIwMywgNzQyMzEsIDAsIDExNTMwLCA5MjU0MiwgNjg2NjgsIDAsIAotICAgIDExODkwNywgMCwgMTA0NzQsIDQzNDI2LCAxMzI1NywgNDIzNTQsIDEyODA5OSwgOTgzNjk4LCA3MDA0NCwgMTk1MDY1LCAwLCAKLSAgICA4NDEzLCA5ODM4MTYsIDAsIDU2OTMsIDcyNzIsIDAsIDEzMjA5LCA2NDQ3MCwgNjU4MzEsIDc0MzUwLCAxOTUwNjMsIDAsIDAsIAotICAgIDAsIDEyNjYzOSwgMTIwMDk3LCAwLCA5NDA3OCwgMTI4MTMzLCAxMjc3NjcsIDY2NjA4LCAzMTExLCA0MTg2MywgODgwNCwgCi0gICAgNDI5MTMsIDkyMTg3LCA3MjcwLCAwLCA2NjYwNiwgNjYyOCwgMTA3NiwgNzQzMywgMTQzNiwgNzM4NDQsIDU1MjI2LCAKLSAgICAxMjgzNTMsIDYzOTgyLCA3MzkzLCAxMjgwNywgNDM0MTMsIDYzOTA2LCAxNTk4LCA2MzkwNCwgMCwgMCwgNDE3MjksIDQ0MjMsIAotICAgIDEzMDcsIDAsIDEwNTE1LCA0MTU4OSwgMTI4Njk4LCAwLCA2MjE4LCAwLCAxNDMwLCAwLCAwLCAxMjA2MDYsIDc4NzU0LCAKLSAgICA1NDEzLCA3NjE5LCAzMjU1LCAzNDkzLCA3NDAzMiwgMTE1NDksIDEwNzM1LCA0MTc0MywgNzM5MzcsIDY4MDEsIDk4MzYzMywgCi0gICAgNDUxOCwgMTA5OTAsIDY1MDczLCA1MTY3LCA0NDgxLCAzNzcxLCAxMjAxNTgsIDI3MTAsIDAsIDY5MjQzLCA0MTcyNCwgMCwgCi0gICAgNDMwNzMsIDQxNjkwLCAxMjQ3OSwgOTgzNjM1LCAwLCAwLCA5ODM4MTgsIDcwMDQ2LCAxNjI4LCAxMjcxNDksIDk4MzQ4NywgCi0gICAgOTgzNzMxLCA2NTI2MiwgNjMzMywgMTA3ODMsIDQyMzE1LCAwLCA2Mzg1NSwgOTQwNTYsIDAsIDAsIDUzMzksIDc0MzIzLCAwLCAKLSAgICAxMzAwNCwgMCwgNDQ1NywgMCwgMCwgMTk0ODE4LCAwLCA1Njg0LCA4Njc4LCAxMDkxNCwgMCwgNTY4OSwgNjU4MDcsIDAsIAorICAgIDAsIDYxMzQsIDQxMjQ2LCA2NDQwMiwgOTgzMTQ3LCA2OTg5OSwgMCwgMCwgMCwgNDEzODIsIDAsIDEyODY1MywgNTE3MywgCisgICAgNjUzNDgsIDUyNywgMCwgMTEzNzgyLCA5MjYxMiwgMTI4MjUwLCA3ODc5NywgMTE5MTUsIDAsIDAsIDEwMDcyLCAwLCAKKyAgICA0MjY5NSwgMjMyOSwgNDIyNTAsIDAsIDExMTg3LCA2OTY2NywgMTIyNDUsIDE1NjgsIDk0MDMzLCAwLCAwLCAxMTM3MDUsIDAsIAorICAgIDExMjAxLCA5MjcwOCwgNzQ3NjksIDEyNjQ3MCwgNjc2ODAsIDkwNjksIDYxNDQsIDAsIDAsIDczODIyLCAwLCAxMjgwMTAsIAorICAgIDY0OTE3LCA0MTUyMSwgMTE4OTM0LCA0OTQsIDEzMjUwLCA5MjI1MCwgNjUwOTgsIDYzNjQsIDk1NiwgMTEzNzkyLCAxMjgzMCwgCisgICAgMTA0NjIsIDczNzQwLCA3MzczNCwgMCwgMCwgMCwgNjY0NDksIDEzMjYzLCA3NDI4MSwgNjkyMTcsIDEzMTcxLCAxMjc3OTYsIAorICAgIDAsIDAsIDYzODg1LCAxMjg1MjgsIDEwNDQsIDQxMjc2LCAxMjgzNjMsIDAsIDAsIDQyMDY4LCAxMTc5NSwgMTI0OTg1LCAwLCAKKyAgICAwLCAwLCA0MjQ1MCwgMzkwNywgMCwgNjQ1MjYsIDExODI5LCA2ODE5NywgMTIyOTUsIDAsIDExNDc1LCA3MDMyOSwgMzAyMCwgCisgICAgMTE1MzcsIDAsIDY2NDQxLCAxMjA3NjEsIDcwOTgsIDEyNTA3MSwgMCwgMTA1NywgNTY2LCA0MjY5NiwgMCwgMzAxNiwgCisgICAgNDIyNzQsIDQzNDY0LCA2NjQ5MCwgMTI5MjEsIDY2NTcxLCA3ODQ3MiwgNzEyMDcsIDMwMDYsIDQ2MjAsIDEyNzIzNywgCisgICAgOTgzMzI4LCAwLCAwLCA2NDY1OSwgMCwgMTI3NzQ5LCA1NTI1MywgNjM1NywgNjM2MiwgODYyNiwgNzEzMzcsIDIyMTYsIAorICAgIDkwOTAsIDY1Mzc3LCA0MTU5NiwgMCwgNDI5MjAsIDE2OTgsIDAsIDY0NDc3LCAwLCA0MzgxMywgMTA1MywgMCwgNzgyNjksIAorICAgIDAsIDkyOTc3LCAxMDUyLCAxMDUxLCA0NTksIDEwNjAsIDc0MzQ5LCA2NjQ3OSwgNjc2ODksIDY2ODcxLCAwLCA3MDMyNywgCisgICAgNDI0OTAsIDY4OSwgNjUwOCwgNDE2MywgNDIyOTgsIDg2MzksIDY2NjQxLCA0MjQ2LCAwLCA0MzUxNCwgMTIxMzAsIAorICAgIDk4MzYyMCwgNDIzMzcsIDY0NTk2LCA2NDM3NSwgNjY0ODEsIDEyNzg1MCwgMCwgMCwgNjM1OSwgMCwgNDM0NzEsIDk4Mzc2OCwgCisgICAgMCwgMTIwMzc5LCAxMjcyNzQsIDAsIDYzNTgsIDYzNjEsIDE5MjYsIDYzNTYsIDkyNjI3LCA3ODk4LCA4MTEwLCAxMDkzNSwgCisgICAgMCwgMTAwNjksIDU4MzAsIDEyNzc3MywgNDM2ODUsIDc0MzA3LCAwLCA0MjkxMCwgMCwgODY5MywgNzg2MTEsIDExOTU2NSwgCisgICAgMTI4NjIxLCAxMjA0MTMsIDkyMTkyLCAxMjcyNTcsIDY1ODk0LCA5ODM1NjYsIDAsIDY0Mjk2LCA5ODM5MjMsIDAsIDAsIAorICAgIDExOTE4NywgMjEzNSwgMTE4MzYsIDAsIDAsIDc4ODY5LCA0MjMxMywgNTU3OSwgOTI0MTIsIDcwMzg0LCAxMjkxMTMsIAorICAgIDQzODU0LCA3MTkxMywgNTU3OCwgMTE4NDAsIDEyODExNSwgNDIwMjMsIDYyMzQsIDU2NjksIDkyMjc1LCAwLCAxMjg0MzksIAorICAgIDAsIDEyNzUwNiwgNjgyMDIsIDU1ODMsIDAsIDAsIDQyNDI2LCA1NTgwLCA0MjI3NiwgMjkyMywgODkyLCAyMjIwLCA0MjQ2NSwgCisgICAgNDEzMzAsIDE5NDk4NywgNTc5NSwgNjU1MTIsIDExOTAwNiwgNjU3MDIsIDAsIDEyMDgwMSwgNjUyNTEsIDY4MjI4LCAKKyAgICA2NTcxMCwgMTI4Mzk5LCAxMjg0MjksIDY3NjcyLCAwLCA1MzcwLCA3MDQ2NSwgMjkzMSwgMTYzOCwgMTA5NjYsIDEwMTg4LCAKKyAgICA2NTg3OCwgMTE4ODQ4LCAwLCA2OTY5NCwgNjk4NzksIDc0NTg1LCA4MTcyLCA0MjAxNywgOTI3NTYsIDEwODQ0LCAwLCAKKyAgICAxMjgxOTUsIDkyNDI0LCA2Mzc0LCAxMTk5OTgsIDEyODY5MCwgMjg2LCA3ODAyMywgMTA2MiwgMCwgMTE5OTk5LCAwLCAKKyAgICA3Mzk1LCAxMjc3ODMsIDEwNzAsIDY0OTAwLCA3MTUzLCA2MDk1LCA0MTg2NSwgMCwgMzAxNSwgMTI4MDIzLCAxMjY0NjUsIAorICAgIDUyMTEsIDk4MzA4MywgNjQwMCwgMCwgMTk0OTgzLCA3MDA1NCwgODE4OSwgMTEyNzYsIDAsIDAsIDM3MiwgMTI4ODI5LCAwLCAKKyAgICAxMTM3ODMsIDQyMTAyLCA0MTU4NSwgMTI4MjAyLCAwLCA0MjEwMSwgMjc2LCA3ODQwMiwgNjc0MjcsIDMzLCA2NzQyNSwgCisgICAgNjc0MjQsIDkwMDcsIDY3NDMwLCA0MTU4OCwgNjYwMzMsIDQyNywgMTA3NjMsIDExODgxOSwgNzA4NzIsIDEyNzg4NCwgCisgICAgOTgzOTQzLCAxMDMxLCA2MjU3LCAwLCA0MjEwNCwgMCwgOTgzOTgwLCAyMzI4LCA2NjgzNywgMTA3MSwgNDI4OTksIAorICAgIDEyNTA4OCwgNzQ4NDgsIDAsIDExMzc5MywgMTk0OTgxLCAxMDQ3LCAwLCAxOTQ5NDMsIDQyOTA4LCAxMjg0ODAsIDY5NzIzLCAKKyAgICAxMDY1MSwgNzAzNTYsIDAsIDEyNTExMywgNzI0MzMsIDY2ODI5LCA3MDgxNywgNTcxMSwgNDE2MzMsIDEyMDk4LCA2NTU3MSwgCisgICAgOTE2NiwgMCwgNTcxMCwgMTI4NTUxLCA2NzkwLCA2NTE2OCwgMTMyMTYsIDAsIDY5NzE2LCA2OTcyNiwgMCwgNjQ2MTEsIAorICAgIDQxNjIzLCAxOTUwMDEsIDU3MTUsIDY5NjU0LCA3MTkxNSwgMCwgNTcxMiwgMjc2MSwgNDE2MjAsIDY4MTI0LCAzMDc0LCAKKyAgICA1NzIyLCAwLCA4NjQzLCA2ODUyNSwgMCwgMTE4OTA2LCAyNzU3LCAxMTA2NywgOTcxOCwgNjY0MTksIDg5MTAsIDEwNjg5LCAKKyAgICA2NDc5LCAwLCAwLCA3MTE3MywgNzg2MDcsIDkxOTYsIDY5NjcwLCAxMjUwNzAsIDAsIDEyODMzOCwgMCwgMTE4OTExLCAwLCAKKyAgICAxMTM2ODIsIDEyOTE5NCwgMCwgMCwgMTIwMDEwLCA3Mzc5NSwgODcwMSwgNjgxMzAsIDExOTYxNiwgMTIwNTIyLCAwLCAKKyAgICA0MjQ3NywgMTk0OTk0LCAxMjEyMywgNDQ5NSwgNDM1NjksIDAsIDAsIDAsIDY0OTQ2LCAxMDk5MiwgMCwgMTIwMDA5LCAKKyAgICA3MDMzNiwgMTEzNjg4LCA5MzE4LCA5Mzk4NiwgMTMyNDksIDQyOTAyLCA3MzgwOCwgMCwgNjU0NTcsIDQyMjQ5LCA3NjM5LCAKKyAgICA0Mzk5NSwgNjc4NDUsIDQyNjQxLCA1NDU0LCAwLCAwLCA3MDM2NiwgMTIwMDA1LCAxMTk1ODUsIDk4Mzk2NiwgNTA4NCwgMCwgCisgICAgMCwgMTE4ODYxLCAwLCA3MzMsIDc0NjQ2LCA3ODAxNCwgNzg0MzYsIDc4NDM1LCAxMTIwNCwgMCwgOTIxOCwgMTczMSwgMCwgCisgICAgOTI5MzcsIDcxMDcwLCA2Nzk5MCwgMCwgMCwgMCwgNzAzMjMsIDEyNzAxOCwgOTI0OTIsIDUxNTUsIDEyMDAwMCwgNTM1OCwgCisgICAgOTgzNzQ0LCAwLCA5MTc3NjcsIDY0NDI0LCA3MTIzNiwgMzg0MCwgNjQzMTQsIDQxNDMyLCAwLCA3ODMxNSwgNjg0MzAsIAorICAgIDY3OTgwLCA0MzI1MywgNjU5NDMsIDAsIDMzNzEsIDEwOTg4LCAxMjc5NjAsIDg3NzEsIDE0NzksIDAsIDAsIDExMDksIAorICAgIDExNTgwLCA0MzY1NywgNjQ2MDEsIDEyMjA1LCA5Mjc4MiwgMCwgNjQ1MDcsIDg4NjgsIDM5OSwgNjc5NzgsIDc0ODQyLCAKKyAgICA5ODMyODQsIDk4MzcyMSwgMTIxNDksIDEzMDg4LCA1NTEsIDAsIDEwMTU2LCAxMjExOSwgOTI1NzIsIDExODkxNiwgMjU0NCwgCisgICAgNjUwNzQsIDExOTIxMSwgOTgzMjk2LCAwLCA3ODAxMSwgMzUxLCA3ODAxMywgMCwgMTI4NzEzLCA1NTIyOSwgMCwgNzQyNjgsIAorICAgIDc4MDA4LCAxMjgwOTQsIDAsIDQyMzc3LCAwLCAwLCAwLCAxMTM3NjcsIDc0MzIwLCA5MDEzLCA0MDU0LCAwLCAxOTQ1ODAsIAorICAgIDExMzc0MCwgMCwgNzM5NjAsIDU1ODUsIDY1ODgxLCAyNTQ5LCA3NDQ2OSwgNzQ0NTcsIDExMTA0LCA1NTg0LCA4MzU4LCAKKyAgICAxMjg5NzUsIDY0MjE1LCA2Njg2NCwgMTA5MTksIDcxMjA4LCA3OTgwLCAxMjY2MDEsIDExMzY5OCwgMjIxOCwgNDE4MDAsIAorICAgIDU1ODksIDAsIDI2NjQsIDQxNjEzLCA1NTg2LCAxMTg4OTAsIDAsIDExMzU2LCAwLCAwLCA0MzQ1MiwgNjcyNDUsIDkyOTkzLCAKKyAgICA0MjU3MywgNjY4NzksIDAsIDc4MTI5LCA2OTc2NywgNzg3NTIsIDc0MzkyLCA4MTM1LCA2NDUwLCAxMDA1NSwgNzc5OTYsIDAsIAorICAgIDAsIDExOTIyNSwgNTY1NywgMCwgOTYyNiwgMCwgNzc5OTQsIDEwMTc5LCA1NjU0LCAxMjkzOSwgOTI1NzMsIDEyMDc5OSwgCisgICAgNzE4NjAsIDAsIDU2NTIsIDEwOTQ1LCA5MTc5MjcsIDY2NDg2LCAwLCAzNjYxLCA3ODYzLCAwLCAwLCAwLCA3MDMzMiwgCisgICAgMTI3MTk0LCA1NjU5LCAwLCA3ODY5MiwgNjY3MjksIDU2NTUsIDk4MzYyNiwgNDIxNjgsIDE5NDU4MSwgMTA1NSwgNzExNzEsIAorICAgIDcxODg4LCA2NjMxMCwgNzQwMzAsIDcwNTE2LCAxMjE0NiwgNzAzNjIsIDczOTU2LCAxMTYxOCwgMCwgNDI3MjAsIDkyOTQ5LCAKKyAgICAxMDI3MiwgMTAzMDQsIDEwMzY4LCA0MjUxOCwgNTk0LCAxMDI0NCwgMTAyNDgsIDc0MDcsIDk4Mzg4NywgNjQ4NzAsIAorICAgIDc0MTkxLCAzNDY3LCA3MTA3MywgNzg4MSwgMzMzMSwgOTQ2LCAxMDIzMSwgMTQ5NSwgODEzMSwgNzQzMzAsIDAsIDk1NjIsIAorICAgIDY5MjIyLCA2NTkyNywgMCwgNzAwMzYsIDY5Njk2LCA2OTc2OSwgNjQ2NTYsIDk4MzcyNiwgMCwgOTQwMjAsIDcwMDU2LCAKKyAgICA1NjY2LCA2NTIyNywgNTMxOCwgNjM5OTQsIDExOTU5NiwgOTA5MSwgMTA3OTgsIDc4NjY0LCA3ODUwOCwgMTAxODYsIDAsIAorICAgIDc3MzIsIDk4MzcyNCwgNjQ1NTYsIDAsIDk4Mzk3OSwgNTY2OCwgNzQ0NDUsIDAsIDc0NjQ1LCA1NjcwLCAxMTM3OTUsIAorICAgIDEyNzI5NywgMTE4MjAsIDI5OTIsIDc4MjYsIDU2NjcsIDE5OTUyLCAxMjA4MDcsIDExMzc2NiwgMTI3NDksIDc0NTUxLCAKKyAgICA2Nzc1NywgMCwgNjY0OTYsIDQzNjEsIDExOTI2MCwgMTMwNiwgOTI4NiwgMTQ5NywgMTI4Mjg2LCA5NDAwNCwgNzAzNTksIDAsIAorICAgIDM1NzEsIDEzMjQ3LCA1ODc0LCA3OTczLCA2NjM1MywgNjg0MzUsIDc4Mjc4LCA2Nzg5NiwgNDMxOTIsIDc0NjIxLCA3ODI2NSwgCisgICAgNTUzLCAxMTM3NjgsIDEyNzAxMiwgOTMwNTMsIDU4MjksIDAsIDQ1ODcsIDc4Mjg1LCA2NTkxMiwgMTk0OTE5LCAxMjc0NiwgCisgICAgMCwgNzAzMzgsIDExOTkyNCwgNTYzMywgMTE5OTI3LCA3NDI1OSwgOTQxMDIsIDk0MDk5LCA2NDkwNSwgOTQxMDUsIDk1MTIsIAorICAgIDk0MTAzLCAxMjc0MiwgNjQ0MywgOTgzODA2LCAwLCA5MTM1LCAxMjg4NjMsIDQxNTY0LCAwLCA1NTIxOSwgMTI4ODMyLCAKKyAgICA5ODM4NTEsIDAsIDEyMTQ4LCAwLCA3ODI5NywgMCwgNjQyNTYsIDAsIDExNjY5LCAwLCA1NjM0LCA0NTI0LCAwLCAxMjQ5MzYsIAorICAgIDEyODM5MCwgMTE4ODgwLCAyNDI1LCA2NTE4MiwgMTI4NzY5LCA0MzYzNiwgNTIyMSwgNzg0MTAsIDMyOCwgMCwgOTgzODA5LCAKKyAgICA2OTgxNSwgNTYzNiwgMTE5OTE3LCA1MzI5LCAwLCA1NjM4LCAxMTk5MTgsIDc5NDAsIDY0OTM4LCA0MzIyMywgNDM3NjAsIAorICAgIDU2MzUsIDMzNzMsIDI5ODYsIDc4MjkyLCA3NDIyMywgMzQzNywgNzgyOTEsIDYyMDMsIDQyNDcsIDcxMTY5LCAxMTkyMCwgCisgICAgODI3NCwgNjgyNDAsIDk4MzY1OCwgMTY1NywgNDE1NjEsIDc4Mjk5LCA3ODI5NSwgNTYzOSwgMjk1NCwgNTY2MCwgNTY0MCwgCisgICAgNzgzMDMsIDk4MzY4NSwgNzExNzksIDQyMjI3LCA2ODMwMSwgMCwgNDE2MzcsIDY3ODcyLCAxOTQ4MTMsIDc4MzEwLCAKKyAgICA0MTYyNSwgNDMzNjIsIDc4MzA5LCAxMjA3MTMsIDExNzA1LCA1NjQyLCAwLCA1NDg2LCAwLCA0MzU2LCAxMTcxMCwgMCwgCisgICAgMTIwNTEsIDY5OTM4LCAwLCA1NjQxLCA4MjU5LCAwLCAxMDU4LCAwLCA2NzYzMCwgMCwgMCwgMTE0NCwgNzg3NTAsIAorICAgIDEyNzI5MywgNDIyMjgsIDk4MzcxNCwgNzM4OTAsIDExODk3MiwgMTI3MzUyLCAyODAwLCAwLCA1NjQ1LCA2NDk2NCwgODY1MiwgCisgICAgMjU0NywgNjY0ODQsIDQzNjM0LCAwLCA1NjA4LCA2NTg5MCwgNDM4MDgsIDAsIDY3NjIxLCA2NDkzMiwgOTAwMCwgNzEyMDQsIAorICAgIDY3MjM1LCA5MjY3MywgMTg2NSwgMTI4NzA2LCA1NjEzLCA2NjQwMSwgMCwgMCwgNTYxMCwgMCwgNzExOTksIDY1ODI2LCAKKyAgICAyMDY5LCAwLCAxMDc4NywgNDM5OTksIDI5OTcsIDAsIDU2MDksIDc4MzE2LCA2NTMxOSwgNzgzMTMsIDEyMzE2LCA1ODc1LCAKKyAgICAyNDEyLCAwLCA4MTg2LCA5ODA3LCA3NDI2OSwgNjYyOTQsIDEzMTMwLCA2NTg3NCwgMCwgNTgwNywgMTEzNjc4LCAxMDAzMCwgCisgICAgNTMwNiwgMTIzNjQsIDExODg2MywgOTI5NzAsIDExNzA0LCAwLCA5MjU4MywgMTAyMTEsIDAsIDEyMDU3OSwgMCwgOTgzMjAyLCAKKyAgICAxMTcwNiwgOTcxMCwgMTI1MDIyLCAwLCAxMjA2NTUsIDQxMywgNjU2MjMsIDcxMTgsIDk4Mzk0OSwgOTEzMywgNzQyNjIsIDAsIAorICAgIDEwNDIsIDAsIDY0Nzc5LCAxMjE3MSwgMTE5MjQwLCA2MTg1LCA2NDc3NiwgNDk4NCwgMCwgNzA4LCAxMTM5MSwgMCwgCisgICAgMTIyNDEsIDkyNzIwLCA5ODM4OTksIDEzMDgsIDE5NDk5MiwgMjUzNCwgODEwLCAwLCAwLCAxMjgwMTYsIDcxODQ5LCAKKyAgICA3MTg2OSwgMTkxNywgMzAwMCwgMTI1MTQwLCAxMjAxODQsIDEyMDczOSwgMjM2NCwgNjYzODcsIDc0NDcwLCA2NjYxOCwgCisgICAgNjU2ODAsIDY2NDExLCAxMDAyNywgNzE4NDEsIDEyODE1NCwgMTIzMzcsIDc0MjgzLCAxMjczNjgsIDk4MzE2NywgMjk4MCwgCisgICAgNzU1LCA2OTc3NCwgOTMxLCAxMzEyNCwgNjgxODIsIDYzNjMsIDI3NDgsIDAsIDAsIDY1MDQxLCA5MjI3NiwgNDQwMTEsIAorICAgIDg3MzAsIDE5NDk5NywgMTI3ODU0LCA3ODMxMiwgNzI3NCwgMTE5MjUwLCAwLCA3Mjc1LCA3ODMwNCwgOTM1LCAwLCA2NTg0MCwgCisgICAgMzc3LCA0MjMyNSwgMTE2NDksIDEyNzM2MywgNjUyNTMsIDY0MzAxLCAxMjg4MzUsIDc4MzA4LCA0MjM0MSwgNjUyODQsIAorICAgIDI0MTcsIDAsIDEyODg0LCAxOTkxMiwgNzkwNywgMTA3NjgsIDc4MzAwLCAxOTQ5OTgsIDAsIDEwNjczLCAxMTkyMTcsIAorICAgIDcyNDgsIDAsIDQzNTE1LCAxNzgxLCA1NDk2LCAzNjI3LCA2MiwgMTY0OSwgNjc4NzYsIDk2NCwgMCwgNjY0MDMsIDc4MjI2LCAKKyAgICA2NjM5MywgOTI4OTcsIDcwMzU1LCA2NjQwOSwgMCwgMTI3NTM0LCA0MzY4OSwgMTI3OTExLCAxMzE0MiwgNzg4MTIsIAorICAgIDQyNDE1LCA2NjU3NSwgNDU0MiwgNjk5MDksIDQzNTQ3LCAwLCAwLCA3Njc3LCAyOTkxLCA0OTQ2LCA0MjQ1NCwgMTE1NjUsIAorICAgIDc5NDksIDAsIDY5NzU5LCAxMTM0MSwgNDI0OTQsIDMwNzMsIDY1NjI1LCA5NzE0LCAxMTY5MiwgNDY1NywgMCwgNzA4MTAsIAorICAgIDY0NzgsIDk4OTgsIDQzNjczLCA2NTIzNywgNjI0MSwgNzEwNiwgNDg3NywgMTI5MTA4LCA2MjM4LCAwLCAxMDU0OCwgCisgICAgMTI3MDQ5LCA0NDA5LCAwLCAwLCA2NDc5OCwgNzA4MDUsIDUzNDYsIDEyODI0MCwgOTQwNDcsIDYyMzcsIDQ4NzQsIDY2ODUxLCAKKyAgICA5MTc2LCA5Mjg4MiwgMTI2NTUzLCA2NTIzMSwgNjU4ODQsIDEyNjc4LCA3ODc0OCwgMTE4OTEyLCAxMTM3OCwgNDQwMTgsIAorICAgIDQyNzg1LCAyNDA4LCAzMjUxLCAxMTIwMywgOTgzMTU5LCA1Njg1LCAwLCAyNDYxLCAxMTA1MiwgNzA5MSwgNTM0MiwgODMxNywgCisgICAgMCwgNjgxNjMsIDUzNDAsIDEyMDU1OSwgMTI3ODIwLCA0MzYzNSwgNzM5MjgsIDEyNzUyOSwgNzEwNjksIDEyODM5NSwgMCwgCisgICAgMTI4NTEwLCA2NTQ4MiwgOTgzNTgwLCA5MTQyLCAwLCA2ODUwNiwgMCwgMTA5MzgsIDAsIDExODc5MCwgMTE4MiwgMjU0MiwgCisgICAgNDgyNiwgMCwgMCwgNzI0MzgsIDUyOSwgODU4MCwgMCwgMCwgMTA1ODYsIDEwNzkwLCAxMDgzOSwgNjYwMjMsIDQxNTkzLCAKKyAgICA0MTIwNywgMCwgOTgzODI1LCA0MTU5NCwgMjI1LCA0MjgyOCwgMCwgMCwgOTgzOTM4LCAxMTM3NiwgNzQzNzksIDEwNzIxLCAKKyAgICA2NzY2NCwgMzQzOCwgNDIwOTcsIDEyNzI2NywgMTEwODQsIDMxOTQsIDQxODcwLCAyNjYsIDc4MzA1LCAxMjAxODMsIAorICAgIDQxODczLCAxMjA1NzUsIDExMzI0LCAxMjA1MzEsIDAsIDg0MjAsIDY0OTE4LCAxMjg4MzksIDQxODcxLCA0MTMzOCwgMzczNCwgCisgICAgNzczNCwgNDM2ODMsIDg3NTAsIDY2NjA1LCA2NjAxMSwgOTI1MTQsIDQwOTY1LCAxMjc5MzcsIDAsIDUxNjEsIDEwNTcyLCAwLCAKKyAgICA0MjkwNiwgMCwgNjQzNDksIDcyODcsIDQyMTYyLCAxMjA0MDYsIDk4MzY0MywgMTI2NjA1LCAxMTE2NywgNjkyMjAsIAorICAgIDEyMzU5LCA0MzQyOSwgNDEzNjksIDE2OTcsIDEyMTkxLCAwLCA2ODYzMywgNzI4NiwgMCwgNjg2MzUsIDEwMDMxLCAKKyAgICAxMjUwNTgsIDk4NzAsIDY3NzI2LCA4NjIwLCA2NTgyNCwgMCwgMTE5MzgsIDAsIDcyODUsIDk4MzU1NywgMTE5NTc3LCAKKyAgICA0MjY3OCwgNjY4NDIsIDQzNjc3LCA0MTU4MywgMCwgNjU3OTksIDkyNjIzLCAwLCAxMjkxNjgsIDk4MzkzNiwgNzgxNjksIAorICAgIDY2MTk5LCAwLCAzNjA5LCA2ODYyNCwgMCwgODMyLCAxMjA2OTMsIDEyMDc3MCwgNzg0NzMsIDY2MDA3LCA3ODQ3MSwgCisgICAgNjU3MDMsIDcxMjU2LCAxMjg1MTcsIDQyNzMyLCA1MTgwLCA5MjY5OSwgNDEzOTUsIDQxNTMwLCAxMTY5MSwgNjQ3NzMsIAorICAgIDkyMjE0LCA3NDAwMiwgMCwgMCwgMTI4NjQ1LCA2MzQ4LCAyNDMsIDEzMjAwLCA5ODM4MTMsIDYwMjQsIDkyMzA5LCA5OTc5LCAKKyAgICAxMDAzNywgNDE1MjksIDEwNjQ4LCA4NTM4LCA0MzY4NywgMCwgMCwgNDI4NSwgNjYxOTUsIDAsIDQyMzAsIDkyODg2LCAKKyAgICA3MzY3LCA0MzI1NiwgOTIzNTMsIDc1NjMsIDQyMzc2LCAwLCA2ODQ0MiwgMTIwNTEyLCAwLCAwLCAyMTQsIDEyODU3OCwgMCwgCisgICAgNzQ4NTYsIDY1ODkzLCAxMjIwOCwgOTk3MywgMTI4Mzg2LCA2NjMxMSwgNjU1ODksIDEyODI3NywgMjYwMywgMCwgNzAxNTUsIAorICAgIDAsIDcwMDQ3LCAwLCA2MDIyLCAwLCAyODg0LCAwLCAxMTYyMCwgMCwgNDMsIDE5NTAyMCwgMTI2ODIsIDEwMTYsIDQxMTA3LCAKKyAgICAwLCA0MTEyMSwgMzg4NSwgOTIsIDY1NDU2LCA2NDYwOCwgMCwgNzQ4MDEsIDcwODU1LCAyMDc0LCAxMTM3NDIsIDc4MjgzLCAKKyAgICAwLCAxMjQ1MywgNzA4NDcsIDk4MzgyNiwgNzQyNDEsIDEyNjU2OCwgNjc5MSwgMTI0NTcsIDc4MjY4LCAwLCA2NjI3OCwgMCwgCisgICAgNzgyNzksIDAsIDAsIDkyMzU4LCA2NjYzNywgNzk5NSwgODc1OSwgNDM0MjEsIDc4Mjc3LCAxMjQ0OSwgMTI4NTUyLCAKKyAgICA3MTIyNCwgNDM4NjgsIDg3NTIsIDMxOTcsIDQ3MjAsIDEwMTY1LCAwLCAxMTkyNDksIDExMzcxNSwgMTE1OTUsIDY0ODkzLCAKKyAgICAxMTg5MDUsIDQzNDM1LCAxMjQ5NjQsIDEyNTAzMCwgNDk5MywgMCwgNjE2OCwgMTA5MzQsIDE5NDYsIDc0MSwgMCwgNTQ5NCwgCisgICAgNDYzOSwgMTI3NTU5LCAxOTkwLCAxMTEwNywgNDQ5OCwgNzQxNjksIDY3NzM2LCAwLCAxMjcyNzIsIDY5NzM0LCAyOTYwLCAKKyAgICA3Mzc3OSwgMCwgODk2OSwgMTI4MTE3LCA0MzQyNCwgNzM5NTksIDAsIDI5NTAsIDExOTU3OSwgNjIxMCwgNjU3NTMsIDM3MCwgCisgICAgMCwgMCwgMCwgNDk1MywgOTgzNjgyLCA5ODM3MDEsIDAsIDAsIDY5MjMwLCAwLCAwLCA2NTY4OCwgOTgzMjQ2LCA1MDYzLCAKKyAgICAzNTE3LCAyOTY0LCA0MzY2MywgOTE3NzYyLCA2MzQ0LCA3NDc5MSwgMTA1NjYsIDEwMTQ0LCA2NjMzMywgODI1MiwgNzI5LCAKKyAgICA2NjAxNiwgNzgyNTMsIDAsIDcxMzE3LCA2NDkyMywgMTIwNTcxLCA0MzY2OSwgOTAzMiwgNzgyNjMsIDc4MjY0LCAwLCAKKyAgICA0MTIxNSwgMCwgNjU4ODMsIDAsIDkxNzc3NCwgMTIwNjAyLCAzNzYxLCAwLCAwLCA3MDA2OCwgMTIwNDA4LCAxMjkxMiwgCisgICAgMTE5MDEyLCAzODUwLCAxMjgxOTEsIDAsIDEyODM4OSwgMCwgMCwgOTA4LCAwLCA4NjExLCAwLCAwLCA3NDY0MiwgNDM2OTEsIAorICAgIDQxMTk3LCAwLCA4OTc4LCAxMjA1NDAsIDExOTEzNSwgNDE1ODYsIDEwNTI3LCA3MTA3OSwgOTE3ODQ4LCAzODQ4LCA3ODczOSwgCisgICAgMTEzODAwLCAxMjc1MzYsIDY1MjQxLCA1MzM2LCA5ODMyNTksIDEyODc4NiwgNjYzLCAwLCAxMDc4MCwgMCwgMCwgNzg3NjcsIAorICAgIDk4MzI1NywgMTI3MTYzLCA2ODE5MywgMzQ3LCAwLCA5ODMwODYsIDc4Nzc1LCA2NDY3NSwgNDE1ODIsIDc4Nzc0LCA3ODc0NCwgCisgICAgNjU1NzksIDEyOTgwLCA3ODc2OSwgMTIxNDMsIDY5NjU3LCA3ODUxMiwgMTI4NDkzLCAxMTE1MywgNDE4MDQsIDc4NTIzLCAwLCAKKyAgICA3ODUyNSwgMCwgMTI4ODU5LCA0MTU4NCwgMTA2ODEsIDAsIDk4MzY5NSwgNzM5MzgsIDczNzgxLCAxMjgwMjIsIDQ4MDAsIAorICAgIDY2NjYxLCAwLCA2NjMwNiwgNjQ3MTUsIDY2Mzg0LCA5NTE4LCA2NjA5LCAxMDQzNCwgNzA4NDUsIDExMzE5LCAxMDk3LCAKKyAgICAxMjg5NjQsIDkxNzg1MCwgNDE3MzAsIDEyOTE4MSwgMCwgNzM4NDcsIDc4NzYxLCA2NTE3MiwgNDE3MjgsIDQxNzIxLCAKKyAgICA5MTc5MTEsIDE5NDc2OSwgOTgzNzk1LCA0MTIwMywgOTE3NjEyLCAxMzExMCwgNDE3MjYsIDk4Mzg1NSwgNjcwNzcsIDEwMDAsIAorICAgIDY5NjUxLCAwLCA0MTE0MCwgMTIwOSwgNzM5NzgsIDEyNTA1OSwgNzM3NTAsIDEwNzMsIDYzMjEsIDc3ODc4LCA0MTEzOCwgMCwgCisgICAgNjgyMTMsIDc4MDAwLCAxMjE2NywgMTExNSwgNDE2MDUsIDk3OTQsIDEyNzA2MiwgNjc2NzEsIDU1MjQ4LCAxMjIzNywgCisgICAgNzg3ODcsIDY2MzE0LCA2NTg3LCA5MjkwLCA3ODc4MiwgNzg3ODMsIDkyMzEsIDc4NzgxLCAyOTU5LCA3OTI2LCAwLCAKKyAgICA5ODM5NDgsIDEyODgzMywgNjQzOTgsIDAsIDExOTk3MCwgMTIzMTEsIDExOTE4MSwgNzg3OTYsIDc4Nzk4LCA3ODc5NCwgCisgICAgNzg3OTUsIDY4NDM0LCA3ODc5MywgNjY2NzAsIDExMzc5NywgMCwgMTIyOTAsIDEyMDE2OSwgMCwgMTE5ODczLCA0MjE0MiwgCisgICAgOTk2OCwgODIwNSwgMCwgNTEzMSwgMTEzNjk0LCA5NjI3LCA0MzY0NiwgNzg1NDIsIDc4NTM1LCA5ODMyMTIsIDE5NDQsIAorICAgIDEyNDgsIDEwMTQ4LCAxMjc3NTUsIDExOTk5MCwgMTE5OTkxLCAxMjcwMSwgNzgzNzYsIDExMzA4LCAxMTk5OTUsIDAsIAorICAgIDExMzcwMiwgNjY4MzYsIDY1MzA1LCA2NTEwMCwgNDAzMSwgNDI3OTQsIDEyMDAwMywgNzA3NSwgODE1NCwgMTE5OTg1LCAKKyAgICAxMjAwMDcsIDQxODE3LCA3MzkzNCwgNDIyNzUsIDEyMDAxMSwgMTIwMDEyLCA3ODUyNiwgMTIwMDE0LCAxMjAwMTUsIDYwNDEsIAorICAgIDAsIDQxODk5LCA5ODMyODYsIDgwMDIsIDEyODM2NywgNDM2NCwgNzM3MzIsIDAsIDY0MzMyLCAwLCA3ODEzLCA5MDY0LCAKKyAgICAxMTk5ODYsIDEwMTI0LCA3NTI2LCA4NjAxLCA3MjgxLCA2ODI0NiwgNzI3OSwgMTIwNDEsIDE0MTgsIDEwODg1LCAxMjY3MywgCisgICAgMCwgMTI5MTIzLCA5NjYwLCA5ODMyODAsIDEzMDEyLCA0NTcxLCA5MTc1ODgsIDAsIDEyMDE2NCwgMTIwNzgsIDI5NzAsIAorICAgIDEyOTEyMiwgMTA5MzMsIDAsIDc3ODcwLCAwLCA3Nzg0MSwgMCwgNDE1OTksIDcwMTU5LCAxMjg4MzEsIDAsIDEyOTUwLCAKKyAgICA5MjE2MCwgMzQ4NiwgOTgzOTczLCA3ODMxMSwgNDIzOSwgMCwgMTI3Nzk5LCA2NjUxMSwgOTI3MzksIDI2MzcsIDY0NjI5LCAKKyAgICA4NDYwLCA2NjgzNCwgODQ3NiwgOTgzOTc1LCAwLCA2ODMxMiwgNzg0ODksIDY1NjczLCAxMDE5LCA3ODQ5NSwgNDE0OCwgMCwgCisgICAgMTIyODksIDAsIDQzMTYsIDAsIDEzMTE5LCA4NDg4LCA1NDEyLCA2NjI0MywgOTkzNSwgOTI3NzcsIDczODY0LCA5ODMyMDMsIAorICAgIDQxNzM0LCA4MjA2LCA3NDA4MSwgOTE2MywgMzI4NiwgOTA3MiwgNTg2NywgMTMzMDIsIDc2MjIsIDcxMjAsIDQxNzM2LCAKKyAgICA5MjU0NiwgNDE3MzEsIDAsIDc0MDAsIDU0MTYsIDY4NjYzLCAxMTg5MjQsIDEwODE3LCAwLCA0MTUzOSwgMTI3Mjg0LCAKKyAgICA2Njg1MywgNzM5NjMsIDQxODU1LCA0MTg2NywgNjU1NjQsIDExMjc3LCA2NTg5MiwgMTE1MzYsIDEwNjIwLCA5MjI3MiwgCisgICAgNzExNSwgNjYwMzAsIDczOTMyLCA1NDk4LCA2Mzg3NiwgNDE1MzYsIDAsIDY4MjA0LCA5MjU4NywgMzQ1OSwgODk5NywgMCwgCisgICAgOTI3MTQsIDAsIDEyOTAyNywgOTI1MTIsIDAsIDY2Mzc3LCA2OTc4MSwgMCwgMTI0OTcyLCA3ODUxMSwgMzE2MSwgMjk1LCAKKyAgICA3MTI1NywgMCwgOTIyMjMsIDEyNzg1NiwgNzg3NDIsIDkwMTYsIDQzNDU0LCA2MzkwMywgNjM5MDIsIDQzNTAxLCAwLCAKKyAgICAzOTcxLCA5ODM5NTksIDcwMDYzLCAyOTUyLCA3ODc2NSwgMTEwMzgsIDEwOTAxLCA2MzkwMCwgNjM4OTksIDYzODk4LCAKKyAgICA5NDA0MywgNjY3LCAxMjMzMiwgNjM4ODcsIDYwODYsIDQxNzIyLCAwLCA1MTcyLCAwLCA5ODMyNzgsIDQxNTksIDk4MzU2MiwgCisgICAgMCwgOTgxNSwgNjM4ODQsIDE5OTM0LCA2Mzg4MiwgNDExOTgsIDg1NTUsIDYzODc4LCA2Mzg3NywgNDI0NjAsIDYwNTAsIAorICAgIDQyNzA4LCA2Mzg4MSwgNjM4NzIsIDAsIDQyNDIxLCAwLCA0MTcyMywgNjM4NzUsIDYzODc0LCAxMTQ2MCwgNzQzMiwgMTkxMywgCisgICAgNDE5MTMsIDYzODUyLCA2Njg2OSwgMTI4OTcxLCA0MjM0OCwgNzM4OTIsIDY3NTIsIDQ0NiwgNDE5MTEsIDEyNzkwNiwgCisgICAgNjM4NTEsIDYzODUwLCA0MTkxMCwgMTI4NjM3LCA2Mzg0NiwgMjk3MiwgMTI5MzIsIDcyNjIsIDY5OTY4LCA2Mzg0OSwgCisgICAgNjM4NDgsIDYzODQ3LCAxMTM3NDksIDY1NzAsIDgzMDIsIDcyNTksIDYzODQyLCA0MTc4LCAxMDc0NiwgNzI1MCwgMTMyMTQsIAorICAgIDEwMDQxLCA4MTA1LCA2Mzg5MiwgMTI3NzgwLCA2OTk2OSwgMTEwNSwgNDE4MCwgMTI3Nzg2LCAxMjA5NCwgOTQ5NywgMCwgCisgICAgNjM4OTEsIDYzODkwLCA2Mzg4OSwgNjM4ODgsIDU1MzgsIDk5ODcsIDAsIDExODkzMiwgMTY3OCwgMTMyNzQsIDU1MiwgCisgICAgMTIwNjU0LCA0NDAxMCwgMTA3ODUsIDAsIDExMTkyLCA0NTU3LCA3NDQ1OSwgOTE1OSwgMTAxNzEsIDEzMTI1LCA2Mzg2MCwgCisgICAgNTU0MCwgNjM4NTgsIDYzODY1LCAyODEsIDEzMjQyLCA2Mzg2MiwgNzQxNTQsIDAsIDU1MzYsIDY1NTY4LCA2Mzg1NywgCisgICAgMTM4OCwgNzE5MDIsIDAsIDEwNzcsIDE5NTAwMCwgNjUwOTksIDExNTMxLCA1ODM0LCAwLCAwLCAwLCAwLCA0Mjc3MywgCisgICAgMTI3ODk5LCAwLCAwLCAxMTkyMjAsIDAsIDM2NjMsIDEyNzAyNywgMTExMiwgNzAzMzUsIDg2ODYsIDEyNjYxMSwgNTMzNCwgCisgICAgNjUwODEsIDQzMjQ5LCA3NDc3OCwgMTI3OTY4LCAxMTA3NywgMTI1MDE3LCA2NTA5LCAwLCA1MzI3LCAxMjc5NjUsIDE5OTA3LCAKKyAgICA2Mzg2OSwgMzQ3OCwgNzU4MywgNzY3OSwgMjkwMywgMCwgMzAwMSwgMTE1OCwgODc0NSwgNDM3NDYsIDczNzQ4LCA2Mzg2NiwgCisgICAgNzg2MjYsIDE5MTUsIDQ4NDYsIDY3NzU1LCA2NjM3MSwgMTE4OTg0LCA0MjEwNSwgMjk5MCwgMTIwMTI4LCA4MDUsIDY5MjM4LCAKKyAgICA2NDQzOCwgMTIwNzAsIDg3NjAsIDExMTcsIDExMzc1MCwgMTIyMTIsIDEyMDEyMywgNjUxNzQsIDQyMzU3LCA2MzgzNSwgCisgICAgNjM4MzQsIDAsIDc4MjQwLCAxMjIyNSwgNjM4MzgsIDYzODM3LCA5ODM4NTMsIDcwMTczLCA2MzgzMywgNjA0MiwgNjYzNjAsIAorICAgIDgwODMsIDEyODE2NiwgMCwgNjM4MjEsIDYzODIwLCA2MzgxOSwgNjM4MTgsIDk4MzkwNCwgNTIyNywgOTA0NywgNjM4MjIsIAorICAgIDEyNzE2MiwgNjA5MSwgMCwgMTA2OTEsIDU2MCwgNTY0MywgODIyNiwgMTE5NTc4LCA2MzgxMiwgNjM4MTEsIDYzODEwLCAKKyAgICA2MzgwOSwgMjI4OSwgNjM4MTUsIDYzODE0LCA2MzgxMywgNjA0NywgMTU5NywgMTIwMTQzLCA3ODAsIDIwNiwgNzAxMjYsIAorICAgIDQ5MzYsIDY1MTQ3LCA4MTY4LCA2MzkzMCwgMjA3NiwgMTA5MywgOTg4MiwgNjM5MzQsIDIwODIsIDYzOTMyLCAxMjgxNTAsIAorICAgIDYzOTI5LCAzNTQ2LCAxNjA1LCA3NzkzNCwgOTgwNiwgNDM0NzIsIDc3OTMzLCA4NDAwLCAxMTM0MywgMjA4NiwgMCwgCisgICAgNjM5MjYsIDI5ODQsIDU5NjgsIDkyODcsIDAsIDQ2MTgsIDQyMjA5LCAxMTEzNywgMTMxNjksIDUyOTAsIDIwODksIDE2OTUsIAorICAgIDEwNzQzLCAxMDg4LCA2MzgyNSwgNzI2OCwgMTA4NCwgMTA4NSwgNjM4MjksIDEwODMsIDEwMTMxLCA3MjgzLCAwLCA2Mzk3MCwgCisgICAgMTI4MzU4LCAxMDkyLCA0NzU0LCA3MjczLCA1MjUyLCA0NDAxNiwgNDM2MjcsIDEyNzkyMSwgMTI4OTIwLCA3NDA4LCAKKyAgICAxMTgwOSwgOTE3NjE4LCAxMjc5MTcsIDAsIDI5NjUsIDcyNTgsIDg4MDgsIDY2NTcyLCAxMDg5LCA0MTg3LCA2MzkzNywgCisgICAgNDIxMTksIDQyMTIwLCAxMTEwNiwgOTQwLCA1Nzg3LCAxMDA5OSwgNjM5MzgsIDAsIDc0NDk0LCAxMjQ2MywgMjk5NCwgMCwgCisgICAgMTE4ODI3LCA2ODUyMiwgOTY2NCwgNzA4MzQsIDc3OTQwLCA2Nzg5MiwgNzc5MzgsIDc0MzQzLCA2NzM3MCwgMCwgNjYwLCAKKyAgICAxMDEyNywgNjY2LCA5MDIyLCA1NTMyLCA0MzY2NywgNTUzMywgMTI1ODAsIDc4NTA3LCA2MTE4LCAyMjIsIDk3OSwgMzg4NCwgCisgICAgOTgzMzkyLCA3NDE1MSwgOTI2NTIsIDY1MDIsIDAsIDExMDg1LCAxMjg2OTUsIDYzOTUxLCAxMjQ2NSwgOTE3ODYyLCAwLCAKKyAgICAxMjg3ODIsIDYzOTQ2LCAxNzA3LCA2MzkyNCwgMTI0NjEsIDYzOTUwLCA2Mzg5NywgNjM5NDgsIDYzOTQ3LCA2Mzk0NSwgCisgICAgNjAzOCwgNjM5NDMsIDYzOTQyLCA2NDY4NSwgNjM4OTUsIDY1ODM4LCAyMjc2LCA3Nzc2LCA5NDA3NiwgMCwgOTI0NjQsIAorICAgIDEyMDQ0NCwgNjk3MzAsIDgwMSwgNDMxNjUsIDE2OTAsIDYzOTE5LCA2MzkxOCwgNjM5MTcsIDEzMjc3LCA0MzY1OSwgCisgICAgMTI5NTEsIDEyMDYzOCwgOTkwNiwgMjA1NCwgMjMzNCwgNzg1MTUsIDYzOTE2LCA1NDgzLCA2MzkxNCwgNjk3MzcsIDYzOTExLCAKKyAgICA1NDg0LCA2MzkwOSwgNjM5MDgsIDI1MzksIDEyMDEwMiwgNDM5ODAsIDU0ODUsIDAsIDQyNjk3LCA5MDYxLCA1NTM0LCAKKyAgICAxMDY3MiwgNDUwMiwgMTI0OTMyLCAyNTMsIDAsIDY4MjA4LCAxMjA0MzksIDkyMDMsIDc0MjMxLCAwLCAxMTUzMCwgNjg2MzQsIAorICAgIDY4NjY4LCAwLCAxMTEyNywgMCwgMTA0NzQsIDQzNDI2LCAxMzI1NywgNDIzNTQsIDEyODA5OSwgOTgzNjk4LCA3MDA0NCwgCisgICAgMTk1MDY1LCAwLCA4NDEzLCA2Njg0MSwgMCwgNTY5MywgNzI3MiwgMCwgMTMyMDksIDY0NDcwLCA2NTgzMSwgNzQzNTAsIAorICAgIDE5NTA2MywgMCwgMCwgMCwgMTI2NjM5LCAxMjAwOTcsIDAsIDk0MDc4LCA2Njg0MCwgMTI3NzY3LCA2NjYwOCwgMzExMSwgCisgICAgNDE4NjMsIDg4MDQsIDQyOTEzLCA3ODM0NywgNzI3MCwgMCwgNjY2MDYsIDY2MjgsIDEwNzYsIDc0MzMsIDE0MzYsIDczODQ0LCAKKyAgICA1NTIyNiwgMTI4MzUzLCA2Mzk4MiwgNzM5MywgMTI4MDcsIDQzNDEzLCA2MzkwNiwgMTU5OCwgNjM5MDQsIDcxMTg3LCAKKyAgICA3MDM5MywgNDE3MjksIDQ0MjMsIDEzMDcsIDExMzY5MiwgMTA1MTUsIDQxNTg5LCAxMjg2OTgsIDEyODkxOCwgNjIxOCwgCisgICAgMTEzNjc1LCAxNDMwLCAwLCAxMjc3NzgsIDEyMDYwNiwgNzg3NTQsIDU0MTMsIDc2MTksIDMyNTUsIDM0OTMsIDc0MDMyLCAKKyAgICAxMTU0OSwgMTA3MzUsIDQxNzQzLCA3MzkzNywgNjgwMSwgOTgzNjMzLCA0NTE4LCAxMDk5MCwgNjUwNzMsIDUxNjcsIDQ0ODEsIAorICAgIDM3NzEsIDY3MDkzLCAyNzEwLCAwLCA2NjI3NywgNDE3MjQsIDY3NzE2LCA0MzA3MywgNDE2OTAsIDEyNDc5LCA5ODM2MzUsIAorICAgIDgzODAsIDAsIDcxODUyLCA3MDA0NiwgMTYyOCwgMTI3MTQ5LCAxMjg4MTcsIDEyOTA2NywgNjUyNjIsIDYzMzMsIDEwNzgzLCAKKyAgICAxMTE3MiwgMCwgNjM4NTUsIDcwODQwLCAxMTM2NzksIDAsIDUzMzksIDc0MzIzLCAwLCAxMzAwNCwgNjY4NDMsIDQ0NTcsIDAsIAorICAgIDEyNzc1NiwgMTk0ODE4LCAxMjcxMTYsIDU2ODQsIDg2NzgsIDEwOTE0LCA0MzYzMiwgNTY4OSwgNjU4MDcsIDcwODE0LCAKICAgICA2ODQ2NCwgMTI2MzMsIDEyODcwLCA2OTcwNSwgNjUxODMsIDU2ODgsIDExOTI2LCA2MDMzLCA2MzEwLCA1Njg2LCAwLCAKLSAgICA3NDI1MSwgMCwgMTIwNjQ3LCAwLCA1MCwgMTA1NTgsIDk4NzEsIDQyNjEyLCA0MzY1NSwgMCwgMCwgMCwgNjY0NjgsIDAsIAotICAgIDEzMjU5LCA0NDQ4LCAwLCA5ODM4NDUsIDAsIDcwMDQzLCA2Nzg1MywgMCwgMTA2NDAsIDExNTM5LCAxMTUxLCAwLCAKLSAgICA5MTc2MDcsIDEyNzU0NCwgMTI3MDc5LCAxOTUwNTAsIDEyNzg1MiwgMCwgMCwgMCwgMTI1MDEsIDY0NjA0LCAwLCAxMTUyNywgCi0gICAgMTE4ODcwLCA4ODEyLCAwLCAxMTUzOCwgODY3MywgMTI2NTAsIDExMDIwLCAwLCA2NjQ2NywgMjEwNSwgODA4NywgNzgxNjMsIAotICAgIDY5NjMyLCA5ODk0LCAwLCAwLCAwLCA0NjM2LCA1NTI2MiwgNzg1MTMsIDQ1MTUsIDIzODIsIDAsIDEyNzA1NSwgMCwgCi0gICAgMTIwNDk1LCAwLCAxMjgyODQsIDEyMjc3LCAxOTQ2MjcsIDExOTk1LCA5MjU1MywgMCwgMTIxNTgsIDAsIDg3NDEsIDEwMTk3LCAKLSAgICAwLCA5MjQyNiwgMCwgNjUzMSwgMCwgMTI3ODQ2LCA0NzMsIDQzNDE1LCAwLCA5ODM2NTAsIDE4NzMsIDEwODcsIDAsIDAsIDAsIAotICAgIDc4NTI3LCA2NjQzOSwgNDMyMTgsIDk4MzEyMywgMTk0NzE2LCA3MjM3LCAxMjUwNCwgNzQyODIsIDAsIDk4MzU3MSwgMCwgCi0gICAgOTQ4OSwgMCwgMCwgNDM4NCwgNzQyMjAsIDYzODQ1LCAyMDU4LCAxMjg4NjMsIDEzMjk1LCA0MzE5MSwgMTI4MDMwLCAwLCAKLSAgICAxMTU0LCAzODU3LCAxMjA1LCAwLCAwLCAxMzEwMCwgMTI5NTgsIDEyMDcwNiwgNzQxNjgsIDAsIDAsIDQ0MjEsIDEwNTkyLCAKLSAgICAwLCA0OTUsIDExOTAwNywgNDE3MTIsIDc5ODMsIDAsIDkzOTk3LCAwLCA2MzQ3LCAxMjAxNjUsIDc2NTQsIDQxNzEwLCAKLSAgICA0MTk2LCAwLCA0MzcsIDQxNzA5LCA3Mzc3MiwgMCwgMCwgOTQ2NSwgMTMyOTAsIDExOTE4MCwgNDk5NywgNjQzMDYsIDAsIDAsIAotICAgIDQ5OTksIDE5NDY0MiwgMCwgMTI2NTgyLCA0NzExLCAxMjA3NjksIDAsIDI3MzksIDAsIDgwNDQsIDc0ODM0LCAxOTQ2NDMsIAotICAgIDQxNzg5LCAxMjgxNDIsIDEwODA5LCAwLCAwLCAwLCAxNzc5LCA2NjAwLCA2NjAxLCA0MTU0MywgNTMyNSwgNjQyLCA2NDE4NywgCi0gICAgMTMwNTgsIDEyMDQ0OSwgMTI4NzUsIDAsIDkyMTg2LCAxMzIyOSwgMCwgMTA1NzUsIDQzMzk5LCAwLCAwLCA0MTc5MSwgCi0gICAgMTEwNCwgMCwgMCwgMTA2NTUsIDAsIDAsIDAsIDAsIDEwODIsIDE5NTA0OSwgODQyOCwgNjU2OSwgMCwgMCwgMCwgNjk4NDksIAotICAgIDY3ODMsIDAsIDEyOTkzLCA4MDQ5LCA0MTU0OCwgNDQwMjEsIDY0NTgsIDk4MzgwNywgMTI4ODgyLCA0NzYxLCA2MzgyOCwgCi0gICAgNDc2NiwgNjQ2MjMsIDEyNzMsIDQzNDA3LCAwLCAxMTg4NzYsIDE5NTA0NSwgNjkxMiwgMTMxMywgNjMyMiwgMTA0ODMsIAotICAgIDk4MzYwMywgNDE1NDUsIDAsIDkyNDQ5LCAwLCAwLCAwLCAwLCA3ODYyNCwgMzQ4NCwgNzQzMzcsIDAsIDAsIDg1MDMsIAotICAgIDUxMjIsIDQxNTI3LCAwLCA2NjMyMCwgOTgzODExLCAwLCAwLCAwLCA0MTUzNywgNjk2ODMsIDgzMDMsIDgyODIsIDExODE3LCAKLSAgICA3Mzg1NywgMTAwMDMsIDczODU5LCA2NTkwNCwgNzM2MywgMTY4NiwgMCwgNzg0MDYsIDExNDY3LCAzNjY0LCA2NTkyMSwgCi0gICAgNjQyOTksIDE5NDY2NCwgMCwgMCwgNDMyNCwgMTI2LCA0MjI0NiwgMTE5MTUyLCAwLCA3NDM3OCwgNjU5MjYsIDc3NDQsIAotICAgIDE5NDYzNiwgNzQyNzcsIDc0MzAyLCA3ODA1MiwgNDM4MTcsIDY5NjYsIDQzODIyLCA4MTM2LCAwLCA2NTYwMCwgMTYzMywgMCwgCi0gICAgMCwgNDc2MiwgMTEwMywgMCwgMCwgNDc2NSwgOTgzNDkyLCAxMzA3OCwgMCwgNDc2MCwgNjM4MjcsIDIwNTAsIDEwODcxLCAKLSAgICA0MzE5OSwgMTEwMiwgMCwgNDIyMzYsIDEyODg2NywgMTk0NjY3LCAxMTU0NiwgNzQ3OTQsIDMzNywgMCwgNDI1OTEsIDg2MjcsIAotICAgIDEyMjc5LCAxMTExLCAwLCA5MjE2MSwgNDcwNywgNjgyMDYsIDEwMTQzLCA3ODgzLCAxMjcwODEsIDc4ODAsIDQ1MjIsIAotICAgIDg2NDUsIDU3MDQsIDEzMDEwLCAwLCA4MzA0LCA5MTc1NjEsIDAsIDExOTU3NSwgMjI5MywgMCwgNjY2NTQsIDAsIDkyNjc2LCAKLSAgICAwLCAxMzAwOCwgMCwgNDM4NSwgMCwgMTMwMTEsIDAsIDkyNTY5LCAxMTkxNjEsIDEzMDA5LCAxNjAsIDI2NzcsIDAsIDAsIAotICAgIDQxNzkzLCA2NTc2MywgNzQyMjEsIDEyMDE0MSwgNDE3OTIsIDQyNzcwLCA5NDA1NCwgNjU3NjIsIDExODgyOSwgNDM4MjEsIAotICAgIDU3MDksIDAsIDk0MDUzLCA0MzgxNiwgMCwgMCwgMTA3OSwgMzg2NywgNTcwOCwgMCwgMCwgNDM3OTcsIDU3MDYsIDY0NzY4LCAKLSAgICA1NzA1LCA4NzkxLCA0MDA1LCAwLCAxMDIzNywgMTA5OTEsIDEyODgxNiwgNDM0NTksIDkxNzMsIDkxNzU4MSwgOTE3NTgwLCAKLSAgICAxMzE3MCwgMTI1NDAsIDkxNzU3NywgNDI2MDUsIDEyMDc2NSwgMTI2NjE3LCA2ODY0NywgOTE3NTcyLCAxMDA1OCwgMCwgCi0gICAgNzQ4NjcsIDE5NDY1NCwgMTI3MDc4LCAzMzM5LCAxMTQ0OCwgMTEwNiwgOTE3NTkxLCA5MTc1OTAsIDkxNzU5MywgMzM0MCwgCi0gICAgOTE3NTg3LCA5MTc1ODYsIDkxNzU4OSwgOTE3NTg4LCAxMjA1NDEsIDEwNjA1LCAxMzA5LCA2Mzk2NiwgMTIwNzQzLCAxNzU0LCAKLSAgICA5MjIyNiwgMTMyNDYsIDg2NCwgMCwgMTE4OTI2LCA4OTcyLCAwLCA3ODQ5LCAxMjAwOTIsIDkyNTMzLCAxMzI0MCwgCi0gICAgMTk1MDY4LCA1MTkyLCA0MzM4LCA2Nzk4MiwgMTA5NDgsIDkxNzYwMSwgMTMxOTksIDkyNTc1LCAxMjM2LCAxMzIwOCwgCi0gICAgMTMyNjEsIDEzMTg5LCAxMzE4OCwgOTM5OTMsIDAsIDc0NDAsIDAsIDEyMDE1MywgOTU1MywgMTU5MCwgNjM3NzcsIDYzNzc2LCAKLSAgICAxMzE3OCwgNjM3ODIsIDYzNzgxLCA2Mzc4MCwgNjM3NzksIDE1ODMsIDAsIDEzMjYwLCA0NTUwLCAwLCA2NDIwNSwgMCwgMCwgCi0gICAgNDE1MjIsIDk4MzkxNSwgOTIxNjgsIDk4Mzc3MiwgOTE3ODU4LCAxMTM1NCwgOTQwNzEsIDAsIDQyNzk1LCAwLCAxMTkxOTUsIAotICAgIDExMzk0LCAxOTQ2NDYsIDEzMjM2LCAxMzI3MiwgMTMxOTQsIDEzMzQsIDY5OTI2LCA0NDc5LCAxMTc4LCA2NTU4NiwgCi0gICAgMTIwNjYzLCA2NjY4MSwgMTE5MTkzLCA0NjAxLCAwLCAwLCA5ODM3NjUsIDAsIDAsIDE5NDY1OCwgMCwgNjgwOSwgNjM3ODYsIAotICAgIDYwMzEsIDAsIDYzNzkxLCA2Mzc5MCwgMTE0NSwgNjM3ODgsIDc5MTAsIDYzNzg1LCA0MzE1MywgNzU0LCAxMDE5MiwgCi0gICAgMTMxMDUsIDgxODMsIDEyMDc0MSwgMjAzNywgMCwgMCwgMTA3NDcsIDEyNSwgMCwgNjQ4OTAsIDAsIDk4MzEzMSwgMCwgCi0gICAgNDE3MTksIDYzNzU4LCAzNTIzLCAxMDc0LCAxMzI1OCwgOTUzNiwgNzQwNzcsIDAsIDQ0MjcsIDc0MjQyLCA2Mzc1NywgCi0gICAgNDMxNDUsIDEyMjE3LCA2Mzc1NCwgNDE1MzIsIDEzNDksIDYzNzUwLCA2Mzc0OSwgMCwgMCwgMCwgNjM3NTMsIDYzODAyLCAKLSAgICA0MTA4NCwgMTIwNjIyLCA2ODEzMywgNDE5MzAsIDYzODA1LCA2MzgwNCwgNDM2MzIsIDYzODAxLCA0MTA4MiwgODE0MCwgCi0gICAgNjM3OTgsIDYyNjAsIDAsIDAsIDk0MDc0LCA2Mzc5MywgMTE5ODgsIDM4OTgsIDEyODI0MSwgMTAyMDEsIDEyMjM4LCAKLSAgICA2Mzc5NSwgNDIxOTQsIDEwMzY3LCAxMjUyMSwgMTA0MzEsIDQyMTE0LCA0MTkzMiwgMTA2OCwgMCwgMTI1MjMsIDEyOTQ1LCAKLSAgICA5ODMzMjksIDQyMjAzLCA3OTUwLCAxMDgwNCwgNjM3NzEsIDQyNzg3LCA0Mzg2LCAxMjIyNCwgNjk3MywgMjc5MywgMTI0NzUsIAotICAgIDAsIDAsIDYzNzY5LCA5NTMwLCA5ODMxMTksIDEyMjMyLCAxMzEzNSwgODU5NiwgNTY4MSwgNjM3NjIsIDQ1OTUsIDYzNzYwLCAKLSAgICA3OTIsIDAsIDY0ODAzLCAwLCA4NzQyLCAwLCAxMTA1MywgMTI4Nzk2LCA2Mzc0NCwgMTI4MTA3LCAwLCA3NTg4LCA2Mzc0OCwgCi0gICAgMTY5MywgNjM3NDYsIDQzMjA0LCA1MDU1LCA2ODQyNiwgOTE3ODUzLCAxMDkwLCAxMjA2NzksIDEyODM1NiwgMTE2NjUsIAotICAgIDc0MTMzLCA0NTU4LCA2NTY4NSwgOTUyMywgMCwgMCwgNzg2ODEsIDExNTEzLCAwLCA2MTU3LCA2Mzc3NSwgNjM3NzQsIAotICAgIDYzNzczLCAxMzE5MSwgMTIxNzAsIDM1MDAsIDMxMzksIDAsIDMxNzAsIDEyNDg1LCAwLCAxMDg3MiwgNzgyNzEsIDEzMDA2LCAKLSAgICA2NDQzMywgMCwgMCwgOTQxLCAwLCAwLCAwLCA2NTU0MSwgMTEwNjMsIDAsIDgyMjgsIDAsIDQyMDY1LCAwLCAwLCA5NDAzOSwgCi0gICAgMCwgOTI0NTUsIDczODYsIDAsIDY0NDQ0LCAwLCAxMTk4NjMsIDQzNjAzLCA5NDA3NSwgNjUzOTcsIDI4OCwgMCwgMCwgMCwgCi0gICAgMTAwMjUsIDY5OTE1LCAyOTE4LCAwLCA2NTMwMCwgMTE5ODcxLCA5ODgzLCA2NDcyNiwgMjc5MCwgNjUzOTUsIDM3OTMsIDAsIAotICAgIDEyNzgyOSwgNjUzOTMsIDAsIDc0MTM4LCAwLCAwLCAwLCA3NDEzOSwgOTI3MTIsIDY1Mzk0LCAxMTU0OCwgNTI3MCwgMCwgCi0gICAgNjUzOTYsIDAsIDY1ODEzLCAxMzI1NiwgMTI4MiwgMTIwNzcxLCAwLCAwLCAxMDg4OCwgOTgzNjA0LCA2NTI0MiwgMCwgCi0gICAgMzMzMCwgMCwgMCwgOTgzOTc0LCAwLCAwLCA3NDI1OSwgMzMwNCwgNDI3NTMsIDAsIDAsIDAsIDE2MjcsIDAsIDAsIDAsIAotICAgIDUzNzEsIDEzMTE2LCAwLCAxODI2LCAxMTg3OTQsIDAsIDQzMDk0LCA3MDAyMywgNDM2NTAsIDk0MDM3LCAwLCA5MDM1LCAwLCAKLSAgICAwLCAxMjgwMDUsIDAsIDkyMjA3LCA2ODEyNSwgMCwgMTY0LCAwLCA5NDA2NywgOTQwMDAsIDY5NTgsIDAsIDQzMTE2LCAwLCAKLSAgICA3MDAxOSwgMTMyNDUsIDAsIDAsIDEyNzM3NiwgMCwgNzAwMzEsIDEyNzc1NiwgMTI2NjYsIDEzMTc1LCAxMzIwNywgCi0gICAgMTIwNDE0LCA2NjAxNCwgMTIwNDI4LCA3NDQ3LCA1OTI5LCAwLCA2NTUwOSwgMCwgNzQ0OSwgMTEzMDYsIDAsIDczOTIwLCAKLSAgICAzMTgwLCAwLCA2MzgwOCwgOTA1NCwgOTcxLCAxMzA2MiwgMCwgMCwgNjUxOTUsIDEwMTY0LCA5MjI1MiwgNzQ0MjgsIDAsIAotICAgIDc4MTQ2LCA5MjYxMSwgMCwgMCwgMCwgMTAwNDUsIDEyODgyLCAxMzI3NSwgMTI4MTYxLCAxMTA1NywgMCwgMTMyNzYsIDAsIAotICAgIDQxNTI1LCA3ODE1MCwgNzI3MSwgMTE0NDQsIDAsIDAsIDAsIDEyMjI5LCA0MTUyMywgMCwgNDM0MTEsIDczNzUxLCAwLCAKLSAgICA2NDgxMywgMCwgMCwgMTA0NzYsIDM4NTgsIDAsIDM5MzIsIDY0OTU4LCAwLCAwLCA3Mzk4OSwgNjgxOTIsIDAsIDY5ODQ3LCAKLSAgICAzNjksIDAsIDQxNzg0LCAwLCA2NDE2MywgMCwgMCwgMCwgNjU0NzQsIDQ3OTYsIDEyMjkyLCAxMjY1OTUsIDY1NDc5LCAwLCAKLSAgICA0MTc4MSwgMTA0ODYsIDQxNDgwLCA0MzAwMiwgOTg5OSwgMCwgMCwgNDA0LCAxMjgyMSwgMzc0MSwgMCwgNTc4OCwgODA5MiwgCi0gICAgNjgyMTIsIDQxMjIyLCAxODMxLCA2NjAyMCwgMzk4MiwgMCwgNDM4OCwgMCwgNzQ2LCAxMjA3ODQsIDAsIDAsIDEyMDE4LCAKLSAgICA2NTI5NCwgMCwgMCwgMCwgMCwgNDQyMiwgNDcwOCwgMzc5OSwgNzQyOTIsIDExOTM1NywgMCwgNzQ0MzAsIDAsIDExNzAwLCAKLSAgICA0Mzc0LCAwLCAxMjgxNzksIDEzNjQsIDAsIDgwMzgsIDAsIDkxNzU5NywgMTI4NjgsIDY5ODE0LCAwLCA2NzM1LCA3Mzk3OSwgCi0gICAgMTMxNzQsIDczOTY4LCAxMzIyNSwgMCwgNjk4MDgsIDY1ODM1LCAwLCAyMzY1LCA3ODQxLCAwLCA0Mjg1NSwgMTE4ODU2LCAKLSAgICA0Mjg2NiwgMCwgMCwgMCwgNjY0MzgsIDQxNzg1LCAxMjYxNywgNjQxNzIsIDEzMTczLCA0MzcyLCAxMTkzNTQsIDAsIAotICAgIDk4MzU2OCwgMCwgMCwgOTI0MDIsIDEyODA2MiwgMTI5NjUsIDM4NCwgNjQ1MTIsIDEwNDA0LCAxMDM0MCwgMTE5MzUyLCAKLSAgICAxNTU2LCA1Mjc0LCAxMzIxMCwgMTIwMTI1LCAxMDAxNywgOTczMywgNDE3ODcsIDk4MzI0MywgMTI2OTk0LCA0MTM3MywgCi0gICAgNzgwMzksIDEyMzAzLCAwLCAxMzIzMiwgMTMyMzMsIDM0OSwgNDg2MywgNDEzNzEsIDExNjU2LCAwLCAxMjA3MDMsIAotICAgIDExOTg4MywgMTI4NjEsIDQzOTgsIDg1NDMsIDY1NjE4LCAxMjgwMTgsIDEwOTYsIDAsIDAsIDQyNjg4LCAxMjQ0MSwgCi0gICAgMTIzNTUsIDExOTM0OCwgMTE5MzQ3LCA0MzE4LCAxMDQ1MiwgMCwgODAzMiwgMTMyNDMsIDEzMjM3LCAxMjcxOSwgMTI2NjQ2LCAKLSAgICAxMTkxMDEsIDAsIDY0ODg0LCAxMTk4NzIsIDExOTM0NSwgODU5NywgMCwgMCwgOTg2NCwgMCwgMTIwNzg1LCAxMTk4NzQsIAotICAgIDk0MTA3LCAxMzE5NSwgNDE0NTIsIDY0OTYxLCA3NzIyLCAwLCAxMDQ1OSwgMTE5ODc4LCAwLCAxMTk4NzksIDY2NTkwLCAKLSAgICAxMjgxMjMsIDQxNTMzLCA2NjMzNywgMCwgOTIxODQsIDAsIDQ5NjUsIDQzNDQ1LCA5MTc1MzYsIDczODQ5LCAwLCA0MzYzOCwgCi0gICAgNzg1MzcsIDEyODI4NywgNjI2MSwgMTE5MzQyLCA0MzE0NywgNjY1NzAsIDE5NTcsIDEwNDIwLCA5ODIsIDI3NTYsIDEzMjkyLCAKLSAgICAxMzIwNiwgMTI4ODI4LCAwLCAyOTI1LCA3MzgwOSwgMTMwNTYsIDEyNzU1OSwgMTMyMTIsIDQzMjM4LCAwLCAxMzE5MCwgCi0gICAgMTMxODcsIDkyNTQxLCAxMzE5OCwgMTE4NzkzLCAwLCA1MjQyLCAxMTkxNzksIDY0NDc2LCAxNjk0LCA4MjE2LCA3MTM2OSwgCi0gICAgNjc3MCwgNDMzMzEsIDAsIDY1NjIwLCA5ODM3MjgsIDQzNTQ0LCAxMjY0NjYsIDAsIDQxNDQ0LCA2NTYyMSwgNjk5NTUsIAotICAgIDkxOTcsIDUyNDYsIDExOTEwNiwgMTMxODUsIDk3MDksIDEyMDMyMywgMTIwMzIyLCAxMjMxNCwgNjU2MTYsIDUyMzgsIAotICAgIDExOTMzMywgMCwgMTE5MzM3LCA1MjM2LCA0MDk3OSwgMCwgNzQyMDEsIDgyODYsIDEyODUzNywgMzkzNiwgMTE5MzMxLCAKLSAgICAxMTY5OSwgNDEzNDcsIDEyNzI0OSwgMTMyMzUsIDg4NDIsIDQxMjQ4LCAwLCA0Mzc5LCAxMzIzOSwgMTI2OTIsIDc5NjksIAotICAgIDEyNzI2NiwgNzIxOSwgMTI3MjUwLCAxMjgyNTEsIDEyMDUwOSwgMCwgNjYyMjQsIDczNCwgMjk3OSwgMTIwMzAzLCA2NTYxOSwgCi0gICAgOTg3MiwgOTU3LCA2NDkyMSwgMTg0NiwgNjY2MzEsIDQxNDc3LCAxMTkyNTYsIDEyMDMxMCwgNzQ1MTEsIDQxNzcwLCAxNjcwLCAKLSAgICA2NDQyLCAxMjAzMTcsIDQyNDQ2LCA1Mzc5LCAxMjAzMTgsIDQxMTYzLCA3NDgzMiwgMTIwMzE1LCAxMjAzMTQsIDExNTA2LCAKLSAgICAwLCA0Mjg0MSwgMTMyNjcsIDAsIDAsIDQxNzc1LCAwLCA3MTMwLCA0MTc3MywgMCwgMTA2NjMsIDAsIDAsIDAsIDYxNTEsIAotICAgIDEyMTEwLCA0MjY3MywgNjU1NzIsIDY1MjkzLCA2NTI1MCwgMTMyNjUsIDEzMjY0LCA2NDUxOCwgMCwgNjEwMCwgMCwgCi0gICAgOTI2NDcsIDU4MDgsIDY1OTIyLCAwLCAxMjk2NywgNjYwNDEsIDU2MTIsIDQ1ODMsIDAsIDAsIDY4MDk3LCA2NDU3NSwgCi0gICAgMTI2NjM3LCAxMTk2NSwgMCwgNjgzNTgsIDAsIDY5Nzg5LCAwLCA5MjI2MCwgNjgxMDIsIDk2OTgsIDc4MTQsIDc0NDc2LCAKLSAgICAxMTk2NTEsIDEyODUxNCwgMCwgNDE5MjEsIDExODg1OCwgOTc1NiwgNjk4NSwgMTE5MjU4LCA3ODQ5MCwgNzQyMTksIDAsIDAsIAotICAgIDExODk5NywgODAxMiwgNTY3NCwgMTIzNTMsIDAsIDEyMzYxLCA1Njc3LCA1NTg4LCAwLCA0MTkyNSwgMTI4MTI0LCA0MTkyMCwgCi0gICAgNTY3MywgMTIwNTM0LCA1Njc2LCA0MTkyMywgMTI2OTQsIDExODk3OCwgNTY3MiwgMTI5NCwgMCwgNzgwNTksIDAsIDQyNTExLCAKLSAgICAxNzI3LCAxMjA3MjUsIDQyNDM2LCAwLCAwLCAwLCA3NDIyMiwgODcxOCwgMzU1MCwgNzM2LCAxMDI2OCwgNDUwNSwgMTAzMTYsIAotICAgIDc0MDkwLCA1ODI2LCA1NTIzMiwgNTgxMywgMCwgMTIwNzEyLCA1ODQxLCA1ODM3LCA1NTIzNCwgMCwgMzEwNSwgMTI4MjksIAotICAgIDU4MzgsIDU3OTYsIDAsIDExOTU5MiwgNTc5MywgMCwgNTg2NiwgNTc5NywgNDEwMTEsIDU4NjUsIDEyMDA5MSwgNzk1NiwgCi0gICAgNTk4LCAwLCA2NDY0OSwgNTgwNiwgNDIzOTgsIDAsIDkwMzcsIDU2NzEsIDEyMDA0MSwgOTgzMjU1LCAwLCAwLCAxMjg4NTUsIAotICAgIDAsIDg0NywgMTI4MjQyLCA5NTI5LCAwLCA2NjY1NywgNjk4MCwgNzg0ODMsIDEyMDAzNSwgNzg0ODQsIDk4MzQ5MSwgMCwgCi0gICAgMTIwMDMzLCA3ODQ4NiwgMCwgMCwgMTIwMDM5LCA0MjY4MywgMCwgOTgzMDU1LCA3MTE0LCAwLCAwLCA0MzE5MCwgNjU0NjMsIAotICAgIDE1NTQsIDAsIDQyNjExLCA0MjU2MywgMCwgNTY1MSwgMjkyOSwgNjc5MiwgNDMyMDEsIDAsIDE5OTYzLCA1Njk4LCAwLCAwLCAKLSAgICAwLCAwLCA1NjQ0LCAxMDI5MiwgNjU1NDYsIDY5NzI3LCA2ODE0MSwgODM3MiwgMCwgNjUxMTYsIDAsIDEyMDAyMiwgMTAxNzUsIAotICAgIDEwMzg4LCA0Mjc5OSwgOTQxMDAsIDQxMDEzLCAxMDU2OCwgMCwgOTgzNjE4LCAyODY5LCAwLCA0MTAxNSwgMTk0NjkyLCAKLSAgICAyNzg1LCA0MzY2LCAwLCAxMDk1NCwgNDE4MDIsIDAsIDQyNjA4LCA3ODQ2OSwgOTg4NCwgNDc1OSwgMCwgMCwgMTAyNjYsIAotICAgIDQxMzU5LCAxMTcwLCA0MzM2NSwgNjk4MTAsIDczOTA4LCAxNjA5LCA5MDIsIDAsIDYzOTM2LCAxMjg4NzUsIDExNjYxLCAKLSAgICA4MTIyLCA1ODE4LCAwLCAwLCAzODYxLCA5NTQwLCAxMTAyOCwgMjU1NCwgNTE1OCwgNTcxNCwgMjIxMywgMCwgMCwgODA3LCAKLSAgICA0MzA3OSwgMCwgNzg0NzUsIDk3NiwgNTUxMSwgNjQ1NTMsIDAsIDQyMTU1LCAwLCA0MTM1NiwgNzQxMTAsIDExODgwMSwgCi0gICAgMTI2NjE0LCAwLCA4Njc2LCA5ODMyOTEsIDAsIDU1ODIsIDQ1MSwgNjM5NDEsIDU3OTgsIDkzNDksIDQyMDE4LCAxMjc4NTgsIAotICAgIDAsIDAsIDQzNjA5LCA1OTA2LCAxMjA1NTMsIDE0NDAsIDAsIDEyODg1MywgMTIwMDE2LCA3NDI4MywgMTEwMDUsIDAsIAotICAgIDY2NjU2LCA2NjA0NCwgMCwgMTk0Njk4LCAwLCAwLCA0MzM5MywgMTAwOTQsIDAsIDExNTI5LCAxMDg1NywgMTIwNjQzLCAKLSAgICA2NjQzNiwgNjU0NiwgOTMsIDgxMDIsIDAsIDY4NDA1LCAwLCAwLCA4MTcxLCAwLCAxMTkwOTcsIDEyNzA2NCwgOTE3NTQzLCAKLSAgICAzODMsIDcxNTQsIDQxNjU2LCA5MjYzNCwgOTQwNDAsIDAsIDUxODcsIDcxMjk2LCAxMjcyNzcsIDExMjg2LCA2ODYyMCwgCi0gICAgNjQyMTcsIDAsIDUyMzIsIDAsIDQxMDA5LCAwLCA0MTAwNSwgMCwgMCwgOTgzODI3LCA4MjkyLCAxOTUwNzQsIDQ5ODAsIAotICAgIDg4NjAsIDczOTQ3LCAxMDAyOCwgNjUyOTEsIDcwNzYsIDEzMTgyLCAxOTQ3MDUsIDAsIDAsIDEwNjMxLCA2NjAzMSwgNzk3MiwgCi0gICAgMCwgNzg3ODUsIDAsIDc5MDAsIDAsIDExMzA5LCAzODA2LCA0MTk4LCA0MjcyNSwgMCwgNjc2NTYsIDk5OTUsIDAsIDkyNTUyLCAKLSAgICAwLCAxMjkzMSwgMCwgNDI2ODQsIDc0Mjg1LCAyMDg4LCA2NDIxMywgNjQzNjYsIDY1MTU2LCA4ODE0LCA0MjIzOCwgNzQ3NzEsIAotICAgIDAsIDAsIDEyODM2LCAwLCAwLCA3NDM0MiwgODU5MywgMCwgMCwgNjg0NDUsIDEzMjU1LCAwLCAwLCA3NDY0LCAwLCA2NTg2NSwgCi0gICAgMCwgMTk0NjUwLCAxMjcxNDQsIDAsIDkzNDIsIDEyMDQ2NCwgMCwgNjQ1MTYsIDAsIDc4NzkyLCAxMDEyOSwgNDEwMDcsIAotICAgIDc0Mzc1LCAwLCA0MDk5NSwgMTIyMDksIDQxMDEyLCAxMTkxMzYsIDAsIDAsIDY5NzI0LCA0MDk5MiwgOTIyNjQsIDEyNzE1MywgCi0gICAgNjg2NTMsIDQzNTU4LCA1NTIyLCAwLCA2MSwgMCwgNzQxMDUsIDM2MzMsIDk4MzkwMCwgNjUxNjIsIDQxMjM0LCAxMjA4OSwgCi0gICAgNzgyODEsIDk3NzEsIDk4MzkwNSwgMTMyNTEsIDEyODcwMSwgMCwgNjI2MiwgMjc4NCwgNDI3NDMsIDAsIDgxMjYsIDY2NDgzLCAKLSAgICAwLCAwLCA0NDEsIDQyNjIxLCAwLCAwLCA0MTAwMiwgNDA5OTksIDExOTYyMywgNDMyNjYsIDcxMDgsIDE5NDc3OSwgMTA4OTAsIAotICAgIDc0NDgxLCA2NTgzNCwgODMyNCwgMTE5MTAzLCA2NDQxNywgNzQ4MTcsIDEyNzQ2NSwgNjQ3MzcsIDAsIDk4MzY1OSwgODkzMCwgCi0gICAgNjY2NzgsIDc0MjQ5LCAxMTkzLCAxMDA1NiwgMTgwMCwgMTMyNTMsIDEzMjUyLCA3ODI5LCAwLCAwLCA3NzQzLCAwLCAwLCAKLSAgICA3NzkwNCwgOTI2NDAsIDc3OTA1LCA5MDM0LCA2MDM5LCAwLCAxMDA3NSwgMCwgNDEwMTgsIDY1NjgzLCAxMDMzOCwgNjY0NjksIAotICAgIDAsIDAsIDAsIDQyODE1LCAwLCA0MTk2NiwgMCwgMTI3NDcxLCAwLCAxMTc5MiwgNDMwNjQsIDQxMDI1LCA5MTEsIDc1MzksIAotICAgIDAsIDAsIDEyMDMzOSwgNjUxNTksIDY0MzkwLCAwLCAwLCA1NTIwLCAxMTY2MiwgMCwgNjUzMzAsIDQyODEyLCAwLCAwLCAKLSAgICAxMjMyNiwgOTgzODU2LCAwLCA0MjgwOCwgMTI4MzM3LCA5MzQ4LCA2NDkwMSwgOTgzODYxLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA5MTc1ODQsIDQzNzAyLCA5ODM1NzYsIDU4NTcsIDY1MzQyLCA5MjcyNywgMTE5MTIwLCAxMjAwNzksIDg2NDQsIDAsIDAsIDAsIAotICAgIDc0Mjk2LCA0MTkwOSwgMCwgMTIwMzMyLCAyNzkxLCA2OTY2MywgMTg5MSwgNjk4MjQsIDAsIDQxOTA3LCA2NjY0NywgCi0gICAgMTE4OTM5LCA4NzYxLCAxMjk0MiwgNTc0OCwgMCwgMTA3NzMsIDAsIDAsIDg3OTYsIDc4MTQ5LCA2NDEyLCAyMDYxLCA4NTIwLCAKLSAgICAxMzE0NiwgMTI3MTg1LCA2MzkzMSwgMCwgNjU5MDIsIDI4ODIsIDAsIDAsIDEyODQzLCA0NTIwLCAxMjAzNDUsIDkyNDU5LCAKLSAgICAwLCA5ODM2NjAsIDAsIDczODYwLCAwLCAwLCA2NDM0NSwgMCwgOTIwMSwgMTI4MzE0LCAxOTQ5NDAsIDAsIDAsIDQzNjc5LCAKLSAgICA5MTc1ODUsIDY1MTE3LCA5MjI3MCwgMCwgMTA0MjcsIDAsIDM4NDQsIDEyMDY3NSwgOTc1NSwgMTExMCwgNjYxMiwgMTIyMjIsIAotICAgIDAsIDEyODc4OSwgMCwgMCwgNzgzLCAxOTQ5MzUsIDAsIDAsIDk4MzA2NCwgMTk0NzIwLCA2NTA1NiwgMzYyMCwgNDExODAsIAotICAgIDY4Mzc4LCA0NTU2LCAwLCAwLCAxOTQ5MzMsIDc0MjUwLCAwLCA2NzY1NywgMTA1MTAsIDQzODIsIDY2NDgyLCAwLCAwLCAKLSAgICAxMjc1MjcsIDkxNzcsIDg5MDIsIDkzOTU4LCA5ODM5LCAwLCAxMjg5MSwgOTgzNzU1LCA5ODM2MzYsIDYzOTk5LCAyMDE2LCAKLSAgICA0MTkxNywgOTc4OCwgNjM5MjgsIDAsIDE4NjIsIDY1ODAwLCA5MTU1LCA2NjYyMywgOTc4NiwgNjUwODIsIDQxOTE5LCAKLSAgICA4NTc5LCA0MTkxNCwgNzk4MSwgMCwgNjYwMTcsIDQ1MDgsIDY0ODgzLCA5MjQ1NiwgOTI1MjIsIDEyNzgxNCwgMCwgNjQ1OTIsIAotICAgIDc0Mjc2LCAxMjAwODAsIDY3ODQsIDc4Nzg4LCA2ODE4MSwgMCwgMCwgMCwgMTI3NTM0LCAxMjE0NywgOTAyNCwgNjYzNzgsIAotICAgIDY2NDcyLCA5ODM5MjksIDY0Mjg5LCA2NTI4OSwgNzgxNTEsIDY2NjU4LCAxOTQ5MjksIDY0NTA5LCA3ODE1MiwgMCwgCi0gICAgMTI2NTA1LCAxMTA1MSwgOTgzMjk2LCAwLCAxMTM1NSwgNjU4ODUsIDAsIDEyODMxMCwgNDEyMTQsIDAsIDEyMjk5LCAwLCAKLSAgICA3NTAwLCA0NTA2LCA3NzczLCAwLCAwLCA5OTYzLCA2ODY0OSwgMTI2NjA5LCA0MDQwLCAxMjA1NzAsIDYxNjcsIDAsIAotICAgIDYzOTIyLCA2NTk0LCA5ODM3NDAsIDAsIDAsIDM2MjQsIDQzMDM2LCAwLCA2Mzg3LCA2Mzk5MCwgMTk5NDcsIDYzOTg4LCAKLSAgICA0MTk1NSwgMCwgNjM5OTMsIDEwNDQwLCA5NjExLCA2NTYwNSwgNjgwMywgMCwgNzczOCwgNjM5ODYsIDExNDQ2LCA2Mzk4NCwgCi0gICAgOTI2NDEsIDM0MzUsIDc4MTY0LCA0MzgxNCwgNDM4MTAsIDcwMjksIDY0MjU4LCA0MTI5MiwgMTE4ODk4LCAxMjc0OCwgCi0gICAgNDI3NDIsIDk1MTcsIDExNTE4LCAwLCA3ODc5MCwgMCwgNjc5OTMsIDYzOTU2LCA0MjQ1OCwgNjM5NTQsIDYzOTUzLCAKLSAgICA2Mzk2MCwgOTU5MSwgNDUxNiwgMTAyMTcsIDY4MzcwLCAxMTQ2OSwgNjk2OTcsIDQyMzA2LCAyNzIzLCAxMTg5NDcsIDAsIDAsIAotICAgIDAsIDAsIDAsIDExMzk3LCAyODgwLCAwLCAwLCAyODcyLCAwLCAwLCAzNDk4LCA0Mzc4LCA5MTc1MzksIDQyNzAsIDAsIAotICAgIDY1NTUxLCA2ODIwNSwgNjYzMywgNDMzODcsIDAsIDUyMzAsIDAsIDAsIDAsIDAsIDAsIDgxNjEsIDM5MywgMTIwMTMsIDAsIAotICAgIDAsIDEyNjQ3OSwgNDE1LCA2Mzk2NCwgNjM5NjMsIDQyMzQ1LCA5MjMxMCwgNTE4MywgMTg3NywgNDI0OTgsIDAsIDI5MjcsIAotICAgIDAsIDYzOTYxLCA0NDcyLCAwLCAwLCA3ODE1OSwgNjk2OTksIDkxNzkzNiwgNDIzNDAsIDQ3NTYsIDEyODA3OCwgNzA4MSwgCi0gICAgMTA3MzAsIDc2OTEsIDEwMzMxLCA2MzgzMCwgMTE5NjI1LCA0MjkyMiwgNDIxMDMsIDg2MjgsIDk4MTMsIDAsIDQyNDUzLCAKLSAgICAxNjA0LCA5NTY1LCAxMDUzOSwgNjk3MDEsIDY1NzY0LCA0MTQxNSwgNjU3NjcsIDAsIDg0NTcsIDQyMzAxLCAxMTM3MiwgCi0gICAgNjQ4NzMsIDExOTkyLCAwLCAwLCA2Mzk4MCwgMTE4MDEsIDM2MjIsIDk4MzEyNCwgNjQzMzYsIDEyMDE3LCAxMDQ2MywgCi0gICAgNjM5ODEsIDQ5NjcsIDY0MTg5LCAxOTY2LCA0MzYyOCwgMCwgOTgzMjkyLCAwLCAwLCA2Mzk3MSwgNDM0NywgNDQxNiwgCi0gICAgNDIwOTgsIDExMDA5LCAxMDY5NCwgNjM5NzMsIDQwMiwgMCwgMTMxNDcsIDEyODY5MiwgNDIxMDAsIDY0NjQ2LCAxMzIyOCwgCi0gICAgMCwgNDE4NzUsIDM1MTUsIDc0MjUyLCAxMTgwNSwgMCwgMTEzMDIsIDYyNTksIDQzMzk1LCAwLCAwLCAxOTQ2NzAsIDAsIAotICAgIDkyMzUxLCAwLCA3NDQyNSwgMTEyOTksIDE1NjEsIDAsIDkyMzU5LCA2NDk0MiwgOTgzNTU5LCAxOTQ3MzMsIDk4MzY4NiwgCi0gICAgMTk0NzMyLCAwLCA3NDMwMSwgMCwgMTEyODAsIDAsIDY5Nzg0LCA3NDA2MCwgMCwgMCwgMTE5NjY0LCA1MTQ1LCAxMjQ4NiwgCi0gICAgNjUwMTgsIDY2NTE2LCA1NDA5LCAxMjczNzksIDE5NDY2OSwgNzQwMiwgNTM5OSwgOTY4NSwgNzQwODksIDc5NTIsIDU0MDEsIAotICAgIDAsIDY2NjE2LCA2ODQyMSwgOTgzOTE5LCAwLCA1NDA1LCAxMjc4NzUsIDY0ODY2LCAwLCAxMTk1ODMsIDEyODM0NSwgCi0gICAgNzg3ODQsIDc0MjQ4LCAxMTMzMCwgMTk0NzIzLCA2NDY5MCwgMzI1NCwgMCwgMCwgMTI4MjA3LCA0MjM5MCwgNDM2NzgsIAotICAgIDE5NDcyNSwgOTgzOTA5LCA2NTA3NywgMCwgNjM4OCwgMzM1NSwgOTUwOCwgOTg2NywgNTcyMywgMTE1MjAsIDU2MTEsIDAsIAotICAgIDMzNzcsIDAsIDAsIDAsIDAsIDc4MjI4LCAwLCA5ODM3NjIsIDQyNjkxLCA5MTc4ODYsIDEyNzE5OCwgNzQ3NjcsIDAsIAotICAgIDEyNzA3NSwgMTM3OSwgMjQ2LCAwLCA5ODM3NjEsIDM3ODgsIDk4MzEwNiwgMTEwNDEsIDkyNTQ5LCA2NjMwNCwgMCwgMCwgCi0gICAgODkxNywgNDI0MDMsIDMwMSwgMCwgMCwgMCwgMCwgMCwgOTgzNjk3LCAxMDY1NiwgMCwgNjUyMTQsIDExOTI0MiwgNDI1NjcsIAotICAgIDkyMjE3LCAxMzE2MywgOTgzMjA0LCAxMjA4MzEsIDc0NTk3LCAzMTgyLCAwLCAwLCAwLCA2NTAzNCwgNjU4ODksIDQyMTY5LCAKLSAgICA0NzU1LCA3NDI0NCwgMTk0NjIxLCAxMTQ0MywgMCwgNjYzMTksIDc0NTk4LCA2MDgsIDYwMCwgMCwgMTIxOSwgMzkzNCwgCi0gICAgNjQyMDYsIDExNDgzLCA3NDUxMCwgMCwgNzQ0ODUsIDQyNDQyLCA2NTQ3MCwgOTgzOTA3LCA2NDIwMiwgMTMxNjAsIDc3NTksIAotICAgIDQyNDgyLCA0ODUsIDEyODAwNiwgMCwgOTgyOCwgMCwgMCwgNDIyODAsIDAsIDkzNTEsIDc3NzgsIDY0Mzc5LCA3NDk2LCAKLSAgICA0MjQzMSwgNjkxNiwgMTIwOCwgMCwgMTE5NjMxLCAxMTAwMiwgNDI0NzAsIDAsIDExODk0NiwgMCwgMCwgNzQwNDEsIDAsIAotICAgIDcwMDQ1LCA0MzUzOSwgNTQxMSwgNDIxOTYsIDAsIDAsIDAsIDkxNTAsIDAsIDQyMzkzLCAxMzA4NiwgMTMxMCwgMTk0Njg3LCAKLSAgICA5MzM3LCAxMjA1MiwgMTA2NDMsIDU1MjcxLCA5ODMxNzksIDEyMTY2LCAyNTQ2LCAxOTQ2ODMsIDIxMywgMTE4ODUyLCAKLSAgICA2NTYxMSwgMCwgMCwgMTk0NzU2LCA3NDMxMCwgNjU1NCwgMCwgMTE5MTQsIDU0NTIsIDAsIDAsIDAsIDAsIDAsIDE5NDY4MSwgCi0gICAgOTI1NjAsIDI3MTMsIDAsIDk2NTAsIDQzMzMwLCAwLCAxOTQ2NzUsIDE0MDYsIDAsIDAsIDkyNjU5LCAwLCA2ODIyMywgCi0gICAgNDE0MywgMTk0Njc3LCAwLCA2NTc0OCwgNDE0MSwgOTY4MiwgNjUyODcsIDE1MDgsIDEyNzAxMywgODc3OSwgMTA1NjksIAotICAgIDg3MjUsIDEzMjk5LCA2NjYzOCwgNjU3NTAsIDQyMjYzLCA0MTQ1LCA2MzgwLCA2NTc1MSwgNjY2MTMsIDQzOTk0LCA2NTczOCwgCi0gICAgNTUyNTAsIDkxODUsIDk1NTAsIDAsIDQzNDAzLCAwLCAwLCAwLCA2NTczNiwgNDE5NTEsIDY0ODE2LCA2NTc1NiwgOTgzMjA1LCAKLSAgICAxMjk1NSwgMTA1OTYsIDI4ODgsIDE5NDY0NSwgMCwgMCwgOTY1NywgOTAxOSwgMTk0NzY2LCAwLCAyODc4LCA1MzkwLCAwLCAKLSAgICAxOTQ5NjEsIDAsIDY4Njc5LCA0MzU1MiwgNzUwMSwgNjMyOCwgMCwgMTA0MjksIDEwMzY1LCAwLCAwLCA0MTk0NiwgNzUwMywgCi0gICAgNTIzNSwgODAzLCA2ODM4MSwgMCwgMCwgODk4NiwgMTI2NTQyLCAxMDYzMiwgMTE5MzQsIDExNDUyLCAxMzMyLCAwLCAwLCAKLSAgICAxMjY2NDcsIDAsIDExODg4NywgMTc5MSwgNTE5MSwgOTI4OCwgNjQ4MjIsIDI4OTIsIDAsIDQzMzk0LCA1NTUsIDAsIDAsIAotICAgIDY2NjQ2LCAwLCAxMTkwMDIsIDEzMTUxLCA3NDUxMiwgNzI4OSwgNzQwNTUsIDY0MTYxLCA4ODU0LCA2NDE2MiwgNTg1OCwgCi0gICAgNDE5MjcsIDEwNTgyLCAwLCAxNzg0LCAxMzYxLCAxOTUwNDcsIDAsIDc5MDUsIDAsIDY0ODY4LCAxMjg4MTMsIDEzMTU4LCAKLSAgICA5MjE2NiwgNzIxMSwgMCwgOTM3MSwgNzM5NzMsIDkxNzU1MywgNjgyOCwgMTYyNSwgOTIzMDIsIDAsIDEzNDIsIDY4NDQwLCAKLSAgICA2NDE3MSwgMTI2NzA0LCAxMDkwMywgOTgzNDk0LCAwLCAwLCAwLCAwLCA0NDgyLCA0MTYwNiwgMCwgMTI4NTY5LCA5ODMxMTIsIAotICAgIDAsIDY0MzgxLCAwLCAwLCAxOTUwOTAsIDQyMjQ1LCAxMjY0NjcsIDQxOTcyLCAwLCA0NDQsIDAsIDkxMjcsIDY2Njg3LCAKLSAgICA2NjYxOSwgMTI2NDg5LCA3ODAyNSwgMCwgMTEzNDksIDQwOTkxLCA5MTc1NzAsIDAsIDExOTU5OSwgMTIwODMwLCAwLCAKLSAgICAxMTk3LCAxMjgyODIsIDExNDksIDE5NDk3MCwgMCwgMCwgNDA5OTAsIDQzNzY1LCAwLCAzNDkyLCAwLCAxMjc5NDIsIDAsIDAsIAotICAgIDAsIDEyODM4LCA5ODM5NzgsIDE5OTQ4LCAwLCAzMDk5LCAwLCAwLCA0MTA4NywgMCwgMCwgMCwgMTE5MDU5LCAxMjAzNiwgCi0gICAgNDEzMDksIDAsIDAsIDgxNTIsIDAsIDQxNTUwLCAxMjIyNywgOTgzNjEzLCAwLCAxMjgyOCwgMTI3NTExLCAwLCAwLCAKLSAgICAxMjA3MDgsIDAsIDAsIDEwMzg2LCAxMTk1NzQsIDAsIDAsIDkyNjgwLCA5ODM3ODksIDY4MTU0LCAwLCAxNzQzLCAwLCAwLCAKLSAgICA5MjIzOSwgNjUxODYsIDkxNzU3MSwgMCwgOTYwNiwgMCwgMCwgNjQ0MzksIDAsIDAsIDkyNjg2LCAwLCAwLCAxOTQ5NjcsIDAsIAotICAgIDAsIDMzOTUsIDkzNjIsIDEwODc4LCAwLCAwLCA3ODM2MiwgNjQ4MzAsIDAsIDEyNjU1NywgNDEwOTEsIDM0MjYsIDEzNDQsIAotICAgIDg4NzAsIDAsIDAsIDQ3MzUsIDEyNzAxNywgNjExOSwgMTI4MjIsIDQyNjk5LCAwLCA5ODM4MjQsIDc0ODE4LCAxNDIzLCAwLCAKLSAgICA0MjYzNywgNDEwODAsIDAsIDEyMDM5LCAxMDU1OSwgMCwgMTE4ODkyLCAwLCA5NDcyLCAwLCAxMTkyOSwgMCwgNzE3MCwgCi0gICAgOTU5NiwgNjEzMCwgMTI4ODI2LCA0MzYyOSwgMTE1NzksIDc4NzEzLCAwLCAxOTQ3NDAsIDEyODY5MSwgOTIxODUsIDY2Njk5LCAKLSAgICA2NDQ0MCwgMTAwNCwgOTI1ODQsIDE5NDczNywgNDMyMzQsIDY2MDA4LCAxMjYyNywgMCwgNjg0MTQsIDAsIDQzNjE5LCAKLSAgICA0MzMwMywgMTEzMDAsIDQzMzA0LCA5Njg2LCA1ODkwLCAxMTc3NiwgNzU1OCwgMTI3MTU4LCA2NTYyNywgMCwgMTA3MTgsIAotICAgIDEzMTU0LCAzNDYxLCA5MTM5LCAwLCAwLCAwLCAwLCA2NTM2NSwgNzM4NzcsIDY1NjI4LCA3ODAxOSwgMTIwMzE5LCAwLCAKLSAgICA0MTcwOCwgMTI4NjAsIDI2NDEsIDEyMDY5LCAxMDgzOCwgNTQwMywgMTAzNTIsIDcwMDg1LCAxMDA2MSwgNDMyMzcsIDAsIAotICAgIDUxNDAsIDIwOSwgMTI4ODQ3LCA0MTcwNCwgNDEwNTYsIDQzMDc4LCAxMjgxMjUsIDExODgwOSwgMCwgMTA4OTksIDY1NDY5LCAKLSAgICA5MjM2MiwgMCwgMCwgMjQxMCwgOTkzLCAwLCAxMjA1ODksIDEyMDY4OSwgNzg2OTMsIDAsIDAsIDcyMzIsIDAsIDExOTI1MywgCi0gICAgMCwgNzExMCwgNzQ0NjIsIDIwNjYsIDEwNDg5LCA0MjE2NiwgNDM0NjMsIDEwNjU5LCAzNjAwLCAwLCA0MjI0LCAxMzM2LCAKLSAgICA0MTUxOCwgMCwgMCwgMCwgMCwgNDExMzksIDY0ODIwLCA5MjUzOCwgMTI5NjYsIDQxMTM0LCAwLCAwLCAwLCAwLCAyNzIsIAotICAgIDQyNjMsIDg3OTMsIDAsIDAsIDQxNTAyLCAwLCA5ODMsIDEyNTQ5LCAwLCAwLCAxMTkwLCA0MTA5LCAxMzM1LCA4NDEsIAotICAgIDU4ODgsIDQxMzU4LCA2NDg2MywgOTU0NCwgNDM0ODEsIDAsIDE5NDgwNiwgNzAwMjcsIDIwOTksIDUxMjAsIDI0MDksIAotICAgIDc3OTksIDAsIDc0NDI0LCAwLCAwLCA0NzMxLCAwLCA2NjYyOSwgMCwgMCwgMTI1NSwgNDE0OSwgOTI0NywgMCwgOTkxMywgMCwgCi0gICAgMCwgNjQ5MTQsIDkxNzc4NywgNjUxMDEsIDAsIDExNjk0LCA5MjQ3NSwgMTE2OTAsIDU4MzUsIDEyNzE2NCwgNjY2MjUsIAotICAgIDEwODQyLCA0MTM1NCwgNDIxMjMsIDQzMDk3LCAxMTY4OCwgNjY2MzQsIDEwOTQsIDE5NCwgNjQ2OTIsIDAsIDgxODAsIDAsIAotICAgIDAsIDk5NzIsIDczODY1LCA0NTE5LCA2MTE0LCAxMDg5OCwgNDMwNzIsIDAsIDAsIDkzOTYwLCA5ODMzMjIsIDEyNjU4MSwgCi0gICAgMTA2OTUsIDAsIDc1NDAsIDAsIDg4MSwgNzg1NywgNjA2NywgNjUxNjQsIDAsIDAsIDAsIDEzMzExLCA2ODQwMywgNDE4NTcsIAotICAgIDY0MzIxLCA4MzU5LCAwLCAxMjY4OSwgMCwgMTk0NTk0LCAwLCA5ODMzMTIsIDk4Mzg4MSwgNjgxODMsIDAsIDk4MzMxNCwgCi0gICAgMTI4NywgNTQzNiwgMCwgOTgzMzE3LCA3NDE0MiwgOTIzMjgsIDc0MTUyLCAxMTkwNzgsIDYwNTEsIDEwNDk3LCA2OTY2OCwgCi0gICAgODk4NSwgMTIxMDksIDk4MzMyMywgMCwgMTI3MjQyLCAwLCAwLCAzNjUyLCAxMDUzNywgMCwgMTI3NiwgMTIwNDQwLCA2NTQ5LCAKLSAgICAyNzksIDczNzQ1LCAwLCAwLCAwLCAxNDg5LCAwLCAwLCAwLCAzODk5LCAxMDA3LCA0MjEyNCwgOTgzNTU3LCA0MjEyMiwgCi0gICAgOTIzMzcsIDkyMzY3LCAwLCAxMTk4NSwgMTM0NSwgNzg2MDAsIDAsIDAsIDg5NTYsIDQzMDgzLCA5NDA1NywgNDIxMzgsIAotICAgIDc4NjEwLCAwLCAxMjE1MSwgNzg2MDgsIDc4NjA0LCA3ODYwNSwgNjI4NSwgNzg2MDMsIDc4NjEyLCA3ODYxMywgNjU5NDIsIAotICAgIDQ5MiwgODY4NSwgMCwgOTgzNzU5LCAwLCA3ODYyMiwgNDM3MTIsIDI1ODIsIDExNDcwLCA2NDUzOCwgNzQ0NCwgNzg2MTUsIAorICAgIDc0MjUxLCAwLCAxMjA2NDcsIDEyODkzMCwgNTAsIDEwNTU4LCA5ODcxLCA0MjYxMiwgNDM2NTUsIDAsIDk4MzgxOCwgCisgICAgNzQyODQsIDY2NDY4LCA2NjkwNSwgMTMyNTksIDQ0NDgsIDkxNzgwNCwgOTgzODQ1LCAxMTM3MzQsIDcwMDQzLCAxMzIxLCAwLCAKKyAgICAxMDY0MCwgMTE1MzksIDExNTEsIDAsIDkxNzYwNywgMTI0OTU4LCAxMjcwNzksIDcxMTA2LCAxMjc4NTIsIDAsIDAsIAorICAgIDk4MzA3NSwgMTI1MDEsIDY0NjA0LCAxMjg2NTcsIDExNTI3LCAxMTg4NzAsIDg4MTIsIDAsIDExNTM4LCA4NjczLCAxMjY1MCwgCisgICAgMTEwMjAsIDAsIDY2NDY3LCAyMTA1LCA4MDg3LCA3ODE2MywgNjk2MzIsIDk4OTQsIDAsIDEyODk0MywgNjk5OTUsIDQ2MzYsIAorICAgIDU1MjYyLCA3ODUxMywgNDUxNSwgMjM4MiwgMCwgMTI3MDU1LCAwLCAxMjA0OTUsIDAsIDEyODI4NCwgMTIyNzcsIDE5NDYyNywgCisgICAgMTE5OTUsIDkyNTUzLCAwLCAxMjE1OCwgNzAxNzAsIDg3NDEsIDEwMTk3LCAwLCA5MjQyNiwgMCwgNjUzMSwgMCwgMTI3ODQ2LCAKKyAgICA0NzMsIDQzNDE1LCA5MjkzNiwgOTgzNjUwLCAxODczLCAxMDg3LCAxMjQ5NjYsIDAsIDc0MjgwLCA3ODUyNywgNjY0MzksIAorICAgIDQzMjE4LCA5ODMxMjMsIDE5NDcxNiwgNzIzNywgMTI1MDQsIDcxMTEzLCAwLCA5ODM1NzEsIDk4Mzg4NiwgOTQ4OSwgMCwgCisgICAgNzA4NDMsIDQzODQsIDc0MjIwLCA2Mzg0NSwgMjA1OCwgNjk3NDEsIDEzMjk1LCA0MzE5MSwgMTI4MDMwLCAxOTUwNTQsIAorICAgIDExNTQsIDM4NTcsIDEyMDUsIDAsIDAsIDEzMTAwLCAxMjk1OCwgMTIwNzA2LCA3NDE2OCwgMCwgNzA4NDYsIDQ0MjEsIAorICAgIDEwNTkyLCAwLCA0OTUsIDY2NDAwLCA0MTcxMiwgNzk4MywgNzA4MzMsIDkzOTk3LCA5ODMzMzAsIDYzNDcsIDc4NzE1LCAKKyAgICA3NjU0LCA0MTcxMCwgNDE5NiwgMCwgNDM3LCA0MTcwOSwgNzM3NzIsIDcwODMyLCAwLCA5NDY1LCAxMzI5MCwgMTE5MTgwLCAKKyAgICA0OTk3LCA2NDMwNiwgMCwgMCwgNDk5OSwgMTk0NjQyLCA2NzQwMSwgMTI2NTgyLCA0NzExLCAxMjA3NjksIDAsIDI3MzksIDAsIAorICAgIDgwNDQsIDc0MzEzLCAxOTQ2NDMsIDQxNzg5LCAxMjgxNDIsIDEwODA5LCA2NjI3OSwgMCwgMCwgMTc3OSwgNjYwMCwgNjYwMSwgCisgICAgNDE1NDMsIDUzMjUsIDY0MiwgNjQxODcsIDEzMDU4LCAxMjA0NDksIDEyODc1LCA5ODM4MDQsIDkyMTg2LCAxMzIyOSwgCisgICAgNzE4NDUsIDEwNTc1LCA0MzM5OSwgMCwgMCwgNDE3OTEsIDExMDQsIDAsIDk4MzcyNSwgMTA2NTUsIDAsIDAsIDAsIDAsIAorICAgIDEwODIsIDE5NTA0OSwgODQyOCwgNjU2OSwgMCwgMCwgNzg1MzQsIDY5ODQ5LCA2NzgzLCAwLCAxMjk5MywgODA0OSwgCisgICAgNDE1NDgsIDQ0MDIxLCA2NDU4LCA5ODM4MDcsIDEyODg4MiwgNDc2MSwgNjM4MjgsIDQ3NjYsIDY0NjIzLCAxMjczLCAKKyAgICA0MzQwNywgMTIwNjc3LCAxMTg4NzYsIDE5NTA0NSwgNjkxMiwgMTMxMywgNjMyMiwgMTA0ODMsIDEyODYyNywgNDE1NDUsIDAsIAorICAgIDkyNDQ5LCAwLCAxMTIxNiwgMCwgMCwgNzg2MjQsIDM0ODQsIDc0MzM3LCAwLCAwLCA4NTAzLCA1MTIyLCA0MTUyNywgCisgICAgNzE5MTAsIDY2MzIwLCA3MDE2MSwgOTI5NzIsIDAsIDAsIDQxNTM3LCA2NjQ1MywgODMwMywgODI4MiwgMTE4MTcsIDczODU3LCAKKyAgICAxMDAwMywgNzM4NTksIDY1OTA0LCA3MzYzLCAxNjg2LCAwLCA3MDExNSwgMTE0NjcsIDM2NjQsIDY1OTIxLCA2NDI5OSwgCisgICAgMTI0OTM5LCAxMjg0NjIsIDAsIDQzMjQsIDEyNiwgNDIyNDYsIDExOTE1MiwgNjk5ODQsIDY3NzI1LCA2NTkyNiwgNzc0NCwgCisgICAgMTk0NjM2LCA3NDI3NywgNjYyODMsIDc4MDUyLCA0MzgxNywgNjk2NiwgNDM4MjIsIDgxMzYsIDAsIDY1NjAwLCAxNjMzLCAwLCAKKyAgICAxMjY2MTQsIDQ3NjIsIDExMDMsIDcwODI3LCA3MDE1NywgNDc2NSwgOTgzNDkyLCAxMzA3OCwgMCwgNDc2MCwgNjM4MjcsIAorICAgIDIwNTAsIDEwODcxLCA0MzE5OSwgMTEwMiwgMCwgNDIyMzYsIDEyODg2NywgMTk0NjY3LCAxMTU0NiwgNzQ3OTQsIDMzNywgMCwgCisgICAgNDI1OTEsIDg2MjcsIDEyMjc5LCAxMTExLCAwLCA5MjE2MSwgNDcwNywgNjgyMDYsIDEwMTQzLCA3ODgzLCAxMjcwODEsIAorICAgIDc4ODAsIDQ1MjIsIDg2NDUsIDU3MDQsIDEzMDEwLCA2OTc5NiwgODMwNCwgOTI5ODIsIDAsIDExOTU3NSwgMjI5MywgCisgICAgNzAxOTUsIDY2NjU0LCAxMjkwNzcsIDkyNjc2LCAwLCAxMzAwOCwgMTI3MTIxLCA0Mzg1LCAxMjg3MzYsIDEzMDExLCAwLCAKKyAgICA5MjU2OSwgMTE5MTYxLCAxMzAwOSwgMTYwLCAyNjc3LCAwLCAwLCA0MTc5MywgNjU3NjMsIDc0MjIxLCA3MDc5MCwgNDE3OTIsIAorICAgIDQyNzcwLCA5NDA1NCwgNjU3NjIsIDExODgyOSwgNDM4MjEsIDU3MDksIDEyODI5NiwgNzEwNzYsIDQzODE2LCAwLCAKKyAgICA5ODM4OTYsIDEwNzksIDM4NjcsIDU3MDgsIDAsIDAsIDQzNzk3LCA1NzA2LCA2NDc2OCwgNTcwNSwgODc5MSwgNDAwNSwgMCwgCisgICAgMTAyMzcsIDEwOTkxLCAxMjg4MTYsIDQzNDU5LCA5MTczLCA5MTc1ODEsIDkxNzU4MCwgMTMxNzAsIDEyNTQwLCA5MTc1NzcsIAorICAgIDQyNjA1LCAxMjA3NjUsIDEyNjYxNywgNjg2NDcsIDkxNzU3MiwgMTAwNTgsIDAsIDc0ODY3LCA2NzczMCwgMTI3MDc4LCAKKyAgICAzMzM5LCAxMTQ0OCwgMTEwNiwgOTE3NTkxLCA5MTc1OTAsIDkxNzU5MywgMzM0MCwgNzQwMTcsIDkxNzU4NiwgOTE3NTg5LCAKKyAgICAxMjkxNDEsIDEyMDU0MSwgMTA2MDUsIDEzMDksIDYzOTY2LCAxMjA3NDMsIDE3NTQsIDkyMjI2LCAxMzI0NiwgODY0LCAwLCAKKyAgICAxMTg5MjYsIDg5NzIsIDEyODQxMCwgNzg0OSwgMTIwMDkyLCA5MjUzMywgMTMyNDAsIDE5NTA2OCwgNTE5MiwgNDMzOCwgCisgICAgNjc5ODIsIDEwOTQ4LCA2NjgyNSwgMTMxOTksIDkyNTc1LCAxMjM2LCAxMzIwOCwgMTMyNjEsIDEzMTg5LCAxMzE4OCwgCisgICAgOTM5OTMsIDcxODQ3LCA3NDQwLCAwLCAxMjAxNTMsIDk1NTMsIDE1OTAsIDYzNzc3LCA2Mzc3NiwgMTMxNzgsIDYzNzgyLCAKKyAgICA2Mzc4MSwgNjM3ODAsIDYzNzc5LCAxNTgzLCAxMTk5MjMsIDEzMjYwLCA0NTUwLCAxMjA1OTgsIDY0MjA1LCA5ODMyNDUsIAorICAgIDcxMDcxLCA0MTUyMiwgNDE1MjMsIDY4NTIzLCA5ODM3NzIsIDExODkyMywgMTEzNTQsIDk0MDcxLCAwLCA0Mjc5NSwgMCwgCisgICAgMTE5MTk1LCAxMTM5NCwgMTk0NjQ2LCAxMzIzNiwgMTMyNzIsIDEzMTk0LCAxMzM0LCA2OTkyNiwgNDQ3OSwgMTE3OCwgCisgICAgNjU1ODYsIDY4MzExLCA2NjY4MSwgMTE5MTkzLCA0NjAxLCAwLCAwLCA5ODM3NjUsIDY2ODI4LCAwLCAxMjc4MzksIDAsIAorICAgIDY4MDksIDYzNzg2LCA2MDMxLCA2NzQwMiwgNjM3OTEsIDYzNzkwLCAxMTQ1LCA2Mzc4OCwgNzkxMCwgNjM3ODUsIDQzMTUzLCAKKyAgICA3NTQsIDEwMTkyLCAxMzEwNSwgODE4MywgMTIwNzQxLCAyMDM3LCAwLCA2NDcxMCwgMTA3NDcsIDEyNSwgMCwgNjQ4OTAsIDAsIAorICAgIDEyNzM3NiwgMCwgNDE3MTksIDYzNzU4LCAzNTIzLCAxMDc0LCAxMzI1OCwgOTUzNiwgNzEwNTYsIDAsIDQ0MjcsIDc0MjQyLCAKKyAgICA2Mzc1NywgNDMxNDUsIDEyMjE3LCA2Mzc1NCwgNDE1MzIsIDEzNDksIDYzNzUwLCA2Mzc0OSwgMTI5MDI1LCAwLCAwLCAKKyAgICA2Mzc1MywgNjM4MDIsIDQxMDg0LCAxMjA2MjIsIDY4MTMzLCA0MTkzMCwgNjM4MDUsIDYzODA0LCAxMTE0MCwgNjM4MDEsIAorICAgIDQxMDgyLCA4MTQwLCA2Mzc5OCwgNjI2MCwgMCwgMTI4MzkxLCA5NDA3NCwgNjM3OTMsIDExOTg4LCAzODk4LCA5MjI0NiwgCisgICAgMTAyMDEsIDEyMjM4LCA2Mzc5NSwgNDIxOTQsIDEwMzY3LCAxMjUyMSwgMTA0MzEsIDQyMTE0LCA0MTkzMiwgMTA2OCwgMCwgCisgICAgMTI1MjMsIDEyOTQ1LCA5ODMzMjksIDQyMjAzLCA3OTUwLCAzMTI0LCA2Mzc3MSwgNDI3ODcsIDQzODYsIDExMTQ4LCA2OTczLCAKKyAgICAyNzkzLCAxMjQ3NSwgMTI5MTgwLCAxMjg1MDEsIDYzNzY5LCA5NTMwLCA5ODMxMTksIDEyMjMyLCAxMzEzNSwgODU5NiwgCisgICAgNTY4MSwgNjM3NjIsIDQ1OTUsIDYzNzYwLCA3OTIsIDExMzY3NCwgNjQ4MDMsIDAsIDg3NDIsIDE5NTAyOSwgMTEwNTMsIAorICAgIDEyODc5NiwgNjM3NDQsIDEyODEwNywgMTI4OTQyLCA3NTg4LCA2Mzc0OCwgMTY5MywgNjM3NDYsIDQzMjA0LCA1MDU1LCAKKyAgICA2ODQyNiwgNDIwNjMsIDEwOTAsIDEyMDY3OSwgMTI1MDA4LCAxMTY2NSwgNzQxMzMsIDQ1NTgsIDY1Njg1LCA5NTIzLCAKKyAgICA5ODM0NTEsIDAsIDcxMjE2LCAxMTUxMywgMCwgNjE1NywgNjM3NzUsIDYzNzc0LCA2Mzc3MywgMTMxOTEsIDEyMTcwLCAKKyAgICAzNTAwLCAzMTM5LCAxMjA1MzgsIDMxNzAsIDEyNDg1LCAwLCAxMDg3MiwgNzgyNzEsIDEzMDA2LCA2NDQzMywgMTIwMDc0LCAKKyAgICAwLCA5NDEsIDAsIDEyOTA3OSwgOTE3ODUzLCA2NTU0MSwgMTEwNjMsIDAsIDgyMjgsIDAsIDQyMDY1LCAxMjgzNjgsIDAsIAorICAgIDk0MDM5LCAwLCA5MjQ1NSwgNzM4NiwgMCwgNjQ0NDQsIDAsIDExOTg2MywgNDM2MDMsIDk0MDc1LCA2NTM5NywgMjg4LCAwLCAKKyAgICAwLCAwLCAxMDAyNSwgNjk5MTUsIDI5MTgsIDY2ODIwLCA2NTMwMCwgMTE5ODcxLCA5ODgzLCA2NDcyNiwgMjc5MCwgNjUzOTUsIAorICAgIDM3OTMsIDAsIDEyNzgyOSwgNjUzOTMsIDEyMDU5MiwgNzQxMzgsIDAsIDkyNzUxLCA3Nzk1OCwgNzQxMzksIDc4Nzc3LCAKKyAgICA2NTM5NCwgMTE1NDgsIDUyNzAsIDk4MzIzNiwgNjUzOTYsIDAsIDY1ODEzLCAxMzI1NiwgMTI4MiwgMTIwNzcxLCAwLCAwLCAKKyAgICAxMDg4OCwgMTI3NDkwLCA2NTI0MiwgMCwgMzMzMCwgMCwgMCwgNjgzNDAsIDAsIDAsIDcxMjAyLCAzMzA0LCA0Mjc1MywgCisgICAgOTMwNDYsIDAsIDc0NjQzLCAxNjI3LCAwLCAwLCAwLCA1MzcxLCAxMzExNiwgMCwgMTgyNiwgMTE4Nzk0LCAwLCA0MzA5NCwgCisgICAgNzAwMjMsIDQzNjUwLCA5NDAzNywgNjgzMTcsIDkwMzUsIDExMTQxLCAwLCAxMjgwMDUsIDAsIDkyMjA3LCA2ODEyNSwgCisgICAgMTI4NDY3LCAxNjQsIDY4MzA5LCA5NDA2NywgOTQwMDAsIDY5NTgsIDAsIDQzMTE2LCA2NzcxOSwgNzAwMTksIDEzMjQ1LCAwLCAKKyAgICAwLCA2NjgxOCwgMCwgNzAwMzEsIDExMDk5LCAxMjY2NiwgMTMxNzUsIDEzMjA3LCAxMjA0MTQsIDY2MDE0LCAxMjA0MjgsIAorICAgIDc0NDcsIDU5MjksIDAsIDY1NTA5LCAxMjkxOTIsIDc0NDksIDExMzA2LCAwLCA3MzkyMCwgMzE4MCwgMTI1MTAyLCA2MzgwOCwgCisgICAgOTA1NCwgOTcxLCAxMzA2MiwgNzEwOTAsIDAsIDY1MTk1LCAxMDE2NCwgOTIyNTIsIDc0NDI4LCAwLCA3ODE0NiwgOTI2MTEsIAorICAgIDAsIDcwMjA0LCAwLCAxMDA0NSwgMTI4ODIsIDEzMjc1LCAyMzAzLCAxMTA1NywgMCwgMTMyNzYsIDEyNTEzMywgNDE1MjUsIAorICAgIDc4MTUwLCA3MjcxLCAxMTQ0NCwgMTI2NDc5LCAxMjkxNTgsIDEyODExMiwgMTIyMjksIDExNjgwLCAwLCA0MzQxMSwgCisgICAgNzM3NTEsIDAsIDY0ODEzLCAwLCAwLCAxMDQ3NiwgMzg1OCwgNjQxNzUsIDM5MzIsIDY0OTU4LCAxMjA0MzIsIDAsIDczOTg5LCAKKyAgICA2ODE5MiwgMCwgNjk4NDcsIDM2OSwgMCwgNDE3ODQsIDAsIDY0MTYzLCA3Nzk5NywgMCwgOTI2NDUsIDY1NDc0LCA0Nzk2LCAKKyAgICAxMjI5MiwgMTI2NTk1LCA2NTQ3OSwgMTI4NjMxLCA0MTc4MSwgMTA0ODYsIDQxNDgwLCA0MzAwMiwgOTg5OSwgOTI2MDgsIDAsIAorICAgIDQwNCwgMTI4MjEsIDM3NDEsIDAsIDU3ODgsIDgwOTIsIDY4MjEyLCA0MTIyMiwgMTgzMSwgNjYwMjAsIDM5ODIsIDAsIAorICAgIDQzODgsIDAsIDc0NiwgMTE4ODI2LCA3NDc4MywgMCwgMTIwMTgsIDY1Mjk0LCAxMjc1NDUsIDAsIDAsIDAsIDQ0MjIsIAorICAgIDQ3MDgsIDM3OTksIDc0MjkyLCAxMTkzNTcsIDAsIDc0NDMwLCAwLCAxMTcwMCwgNDM3NCwgMCwgMTI4MTc5LCAxMzY0LCAwLCAKKyAgICA4MDM4LCAwLCA5MTc1OTcsIDEyODY4LCA2OTgxNCwgNzA0MjUsIDY3MzUsIDczOTc5LCAxMzE3NCwgNzM5NjgsIDEzMjI1LCAKKyAgICAxOTQ5MDIsIDY5ODA4LCA2NTgzNSwgMCwgMjM2NSwgNzg0MSwgMCwgNDI4NTUsIDExODg1NiwgNDI4NjYsIDAsIDAsIAorICAgIDEyNzk4NiwgNjY0MzgsIDQxNzg1LCAxMjYxNywgNjQxNzIsIDEzMTczLCA0MzcyLCAxMTkzNTQsIDAsIDk4MzU2OCwgMCwgCisgICAgMTI3ODIxLCA2NzY4NSwgMTI4MDYyLCAxMjk2NSwgMzg0LCA2NDUxMiwgMTA0MDQsIDEwMzQwLCAxMTkzNTIsIDE1NTYsIAorICAgIDUyNzQsIDEzMjEwLCAxMjAxMjUsIDEwMDE3LCA5NzMzLCA0MTc4NywgOTgzMjQzLCAxMjY5OTQsIDQxMzczLCA2ODQ4NiwgCisgICAgMTIzMDMsIDEyODQ3NiwgMTMyMzIsIDEzMjMzLCAzNDksIDQ4NjMsIDQxMzcxLCAxMTY1NiwgMCwgMTIwNzAzLCAxMTk4ODMsIAorICAgIDEyODYxLCA0Mzk4LCA4NTQzLCA2NTYxOCwgOTI3MzcsIDEwOTYsIDQzODUyLCAwLCA0MjY4OCwgMTI0NDEsIDEyMzU1LCAKKyAgICAxMTkzNDgsIDExOTM0NywgNDMxOCwgMTA0NTIsIDkyOTAyLCA4MDMyLCAxMzI0MywgMTMyMzcsIDEyNzE5LCAxMjY2NDYsIAorICAgIDExOTEwMSwgMCwgNjQ4ODQsIDExOTg3MiwgMTE5MzQ1LCA4NTk3LCA3MTEwMCwgMCwgOTg2NCwgMCwgMTIwNzg1LCAKKyAgICAxMTk4NzQsIDk0MTA3LCAxMzE5NSwgNDE0NTIsIDY0OTYxLCA3NzIyLCAwLCAxMDQ1OSwgMTE5ODc4LCAxMjQ5NDksIAorICAgIDExOTg3OSwgNjY1OTAsIDEyODEyMywgNDE1MzMsIDY2MzM3LCAwLCA5MjE4NCwgMCwgNDk2NSwgNDM0NDUsIDkxNzUzNiwgCisgICAgNjc4NTYsIDAsIDQzNjM4LCA3ODUzNiwgMTI4Mjg3LCA2MjYxLCAxMTkzNDIsIDQzMTQ3LCA2NjU3MCwgMTk1NywgMTA0MjAsIAorICAgIDk4MiwgMjc1NiwgMTMyOTIsIDEzMjA2LCAxMjUwNjQsIDAsIDI5MjUsIDczODA5LCAxMzA1NiwgOTI5MTQsIDEzMjEyLCAKKyAgICA0MzIzOCwgOTgzMTQyLCAxMzE5MCwgMTMxODcsIDkyNTQxLCAxMzE5OCwgMTE4NzkzLCAwLCA1MjQyLCAxMTkxNzksIAorICAgIDY0NDc2LCAxNjk0LCA4MjE2LCA3MTM2OSwgNjc3MCwgNDMzMzEsIDAsIDY1NjIwLCA5ODM3MjgsIDQzNTQ0LCAxMjY0NjYsIAorICAgIDAsIDQxNDQ0LCA2NTYyMSwgNjk5NTUsIDkxOTcsIDUyNDYsIDExOTEwNiwgMTMxODUsIDk3MDksIDEyMDMyMywgMTIwMzIyLCAKKyAgICAxMjMxNCwgNjU2MTYsIDUyMzgsIDQzODI1LCA3MTA4NSwgMTE5MzM3LCA1MjM2LCA0MDk3OSwgOTgzMTQwLCA3MTg3NCwgCisgICAgODI4NiwgMTI4NTM3LCAzOTM2LCAxMTkzMzEsIDExNjk5LCA0MTM0NywgMTI3MjQ5LCAxMzIzNSwgODg0MiwgNDEyNDgsIDAsIAorICAgIDQzNzksIDEzMjM5LCAxMjY5MiwgNzk2OSwgMTI3MjY2LCA3MjE5LCA3MTg3NSwgMTI4MjUxLCAxMjA1MDksIDkyOTA3LCAKKyAgICA2NjIyNCwgNzM0LCAyOTc5LCAxMjAzMDMsIDY1NjE5LCA5ODcyLCA5NTcsIDY0OTIxLCAxODQ2LCA2NjYzMSwgNDE0NzcsIAorICAgIDExOTI1NiwgNzExOTIsIDc0NTExLCA0MTc3MCwgMTY3MCwgNjQ0MiwgMTIwMzE3LCA0MjQ0NiwgNTM3OSwgMTIwMzE4LCAKKyAgICA0MTE2MywgNzQ4MzIsIDExMTM2LCA3MTg3NiwgMTE1MDYsIDAsIDQyODQxLCAxMzI2NywgMCwgMCwgNDE3NzUsIDAsIDcxMzAsIAorICAgIDQxNzczLCAwLCAxMDY2MywgNzAxMzAsIDAsIDk4Mzk3NCwgNjE1MSwgMTIxMTAsIDQyNjczLCA2NTU3MiwgNjUyOTMsIAorICAgIDY1MjUwLCAxMzI2NSwgMTMyNjQsIDY0NTE4LCAwLCA2MTAwLCAxMjc5NjQsIDkyNjQ3LCA1ODA4LCA2NTkyMiwgMCwgCisgICAgMTI5NjcsIDY2MDQxLCA1NjEyLCA0NTgzLCA3MDAwNCwgNDMzODYsIDY4MDk3LCA2NDU3NSwgMTI2NjM3LCAxMTk2NSwgMCwgCisgICAgNjgzNTgsIDAsIDY5Nzg5LCA0MjY1MywgOTIyNjAsIDY4MTAyLCA5Njk4LCA3ODE0LCA3MTA0NSwgMTE5NjUxLCAxMjg1MTQsIAorICAgIDAsIDQxOTIxLCAxMTg4NTgsIDk3NTYsIDY5ODUsIDY2NDE4LCA2NjYyMSwgNzQyMTksIDY2NDEyLCAxMjg4MjIsIDExODk5NywgCisgICAgODAxMiwgNTY3NCwgMTIzNTMsIDY2NDIxLCAxMjM2MSwgNTY3NywgNTU4OCwgMTI1MDA1LCA0MTkyNSwgMTI4MTI0LCAKKyAgICA0MTkyMCwgNTY3MywgMTIwNTM0LCA1Njc2LCA0MTkyMywgMTI2OTQsIDExODk3OCwgNTY3MiwgMTI5NCwgMCwgNzgwNTksIDAsIAorICAgIDQyNTExLCAxNzI3LCAxMjA3MjUsIDQyNDM2LCAxMjQ5MjgsIDAsIDAsIDc0MjIyLCA4NzE4LCAzNTUwLCA3MzYsIDEwMjY4LCAKKyAgICA0NTA1LCA1ODczLCA3NDA5MCwgNTgyNiwgNTUyMzIsIDU4MTMsIDAsIDkyODg5LCA1ODQxLCA1ODM3LCA1NTIzNCwgMCwgCisgICAgMzEwNSwgMTI4MjksIDU4MzgsIDU3OTYsIDAsIDExOTU5MiwgNTc5MywgMCwgNTg2NiwgNTc5NywgNDEwMTEsIDU4NjUsIAorICAgIDkzMDA5LCA3OTU2LCA1OTgsIDAsIDY0NjQ5LCA1ODA2LCA0MjM5OCwgMCwgOTAzNywgNTY3MSwgMTIwMDQxLCA5ODMyNTUsIAorICAgIDAsIDAsIDEyODg1NSwgMCwgODQ3LCAxMjgyNDIsIDk1MjksIDEyODAxOSwgNjY2NTcsIDY5ODAsIDc4NDgzLCA0MzUxMCwgCisgICAgNzgxMjIsIDkyMjE5LCAwLCA2NzQxMSwgNzg0ODYsIDAsIDAsIDEyMDAzOSwgNDI2ODMsIDcxODQ4LCA5ODMwNTUsIDcxMTQsIAorICAgIDAsIDAsIDQzMTkwLCA2NTQ2MywgMTU1NCwgMCwgNDI2MTEsIDQyNTYzLCAwLCA1NjUxLCAyOTI5LCA2NzkyLCA0MzIwMSwgMCwgCisgICAgMTk5NjMsIDU2OTgsIDE5NDc2OCwgOTgzOTQxLCA5MjkzMywgNzE4ODcsIDU2NDQsIDEwMjkyLCA2NTU0NiwgNjk3MjcsIAorICAgIDY4MTQxLCA4MzcyLCAwLCA2NTExNiwgMCwgMTIwMDIyLCAxMDE3NSwgMTAzODgsIDQyNzk5LCA5NDEwMCwgNDEwMTMsIAorICAgIDEwNTY4LCAwLCA5ODM2MTgsIDI4NjksIDkxNzg0MywgNDEwMTUsIDc0NDczLCAyNzg1LCA0MzY2LCAwLCAxMDk1NCwgCisgICAgNDE4MDIsIDAsIDQyNjA4LCA3ODQ2OSwgOTg4NCwgNDc1OSwgNzM3NjgsIDEyMDI5NiwgMTAyNjYsIDQxMzU5LCAxMTcwLCAKKyAgICA0MzM2NSwgNjk4MTAsIDczOTA4LCAxNjA5LCA5MDIsIDkyNzczLCA2MzkzNiwgMTI3MjM5LCAxMTY2MSwgODEyMiwgNTgxOCwgCisgICAgMCwgMCwgMzg2MSwgOTU0MCwgMTEwMjgsIDI1NTQsIDUxNTgsIDU3MTQsIDIyMTMsIDAsIDAsIDgwNywgNDMwNzksIDAsIAorICAgIDc4NDc1LCA5NzYsIDU1MTEsIDY0NTUzLCAwLCA0MjE1NSwgOTgzMzE3LCA0MTM1NiwgNzQxMTAsIDExODgwMSwgNzEwNDMsIAorICAgIDEyMDA4MCwgODY3NiwgOTgzMjkxLCA5NDAwMiwgNTU4MiwgNDUxLCA2Mzk0MSwgNTc5OCwgOTM0OSwgNDIwMTgsIDEyNzg1OCwgCisgICAgMCwgNzg2ODEsIDQzNjA5LCA1OTA2LCAxMjA1NTMsIDE0NDAsIDAsIDEyODg1MywgMTIwMDE2LCA3MDM0MiwgMTEwMDUsIAorICAgIDk4MzY5NywgNjY2NTYsIDY2MDQ0LCAwLCAxMjg1OTIsIDEyODc5MywgMCwgNDMzOTMsIDEwMDk0LCA3MDE2NCwgMTE1MjksIAorICAgIDEwODU3LCA5Mjk0NCwgNjY0MzYsIDY1NDYsIDkzLCA4MTAyLCA2NzMyMywgNjg0MDUsIDAsIDE5NDcxNCwgODE3MSwgCisgICAgMTE4ODg4LCAxMTkwOTcsIDEyNzA2NCwgOTE3NTQzLCAzODMsIDcxNTQsIDQxNjU2LCA0MzQ5NSwgOTQwNDAsIDY3MTYyLCAKKyAgICA1MTg3LCA3MTI5NiwgNzEwODYsIDExMjg2LCA2ODYyMCwgNjQyMTcsIDAsIDUyMzIsIDAsIDQxMDA5LCAxMjczNzcsIAorICAgIDQxMDA1LCAwLCAwLCA5ODM4MjcsIDgyOTIsIDEyNTEwOCwgNDk4MCwgODg2MCwgNzEwNTQsIDEwMDI4LCA2NTI5MSwgNzA3NiwgCisgICAgMTMxODIsIDE5NDcwNSwgMTI4MjI0LCAxMjc5NzQsIDEwNjMxLCA2NjAzMSwgNzk3MiwgMCwgNzg3ODUsIDAsIDc5MDAsIAorICAgIDEyODU5MCwgMTEzMDksIDM4MDYsIDQxOTgsIDQyNzI1LCAwLCA2NzY1NiwgOTk5NSwgMCwgOTI1NTIsIDAsIDEyOTMxLCAKKyAgICA5ODM2OTAsIDQyNjg0LCA3NDI4NSwgMjA4OCwgNjQyMTMsIDY0MzY2LCA2NTE1NiwgODgxNCwgNDIyMzgsIDc0NzcxLCAwLCAKKyAgICA5MTc4MzEsIDEyODM2LCAwLCAwLCA3NDM0MiwgODU5MywgMCwgMCwgNjg0NDUsIDEzMjU1LCAwLCAwLCA3NDY0LCAwLCAKKyAgICA2NTg2NSwgMCwgMTk0NjUwLCAxMjcxNDQsIDAsIDkzNDIsIDEyMDQ2NCwgNzAzNzYsIDY0NTE2LCAwLCA3ODc5MiwgMTAxMjksIAorICAgIDQxMDA3LCA3NDM3NSwgMCwgNDA5OTUsIDEyMjA5LCA0MTAxMiwgMTE5MTM2LCAwLCAwLCA2OTcyNCwgNDA5OTIsIDkyMjY0LCAKKyAgICAxMjcxNTMsIDY4NjUzLCA0MzU1OCwgNTUyMiwgMCwgNjEsIDE5NDc4MCwgNzQxMDUsIDM2MzMsIDk4MzkwMCwgNjUxNjIsIAorICAgIDQxMjM0LCAxMjA4OSwgNzgyODEsIDk3NzEsIDk4MzkwNSwgMTMyNTEsIDEyODcwMSwgMCwgNjI2MiwgMjc4NCwgNDI3NDMsIAorICAgIDcxMDc4LCA4MTI2LCA2NjQ4MywgMCwgMCwgNDQxLCA0MjYyMSwgMCwgMCwgNDEwMDIsIDQwOTk5LCAxMTk2MjMsIDQzMjY2LCAKKyAgICA3MTA4LCAxOTQ3NzksIDEwODkwLCA3NDQ4MSwgNjU4MzQsIDgzMjQsIDExODk0NCwgNjQ0MTcsIDc0ODE3LCAxMjc0NjUsIAorICAgIDY0NzM3LCA3NDg1MywgOTgzNjU5LCA4OTMwLCA2NjY3OCwgNjcyMTYsIDExOTMsIDEwMDU2LCAxODAwLCAxMzI1MywgCisgICAgMTMyNTIsIDc4MjksIDAsIDAsIDc3NDMsIDAsIDEyNDk5NiwgNzc5MDQsIDc3OTEzLCA3NzkwNSwgOTAzNCwgNjAzOSwgCisgICAgMTI5MTM5LCAxMDA3NSwgMCwgNDEwMTgsIDY1NjgzLCAxMDMzOCwgNjY0NjksIDAsIDAsIDAsIDQyODE1LCA5Mjk4NCwgCisgICAgNDE5NjYsIDAsIDEyNzQ3MSwgMCwgMTE3OTIsIDQzMDY0LCA0MTAyNSwgOTExLCA3NTM5LCAwLCA0MDk2MywgMTIwMzM5LCAKKyAgICA2NTE1OSwgNjQzOTAsIDAsIDk4MzE2MCwgNTUyMCwgMTE2NjIsIDEyODQ2OCwgNjUzMzAsIDQyODEyLCAwLCAwLCAxMjMyNiwgCisgICAgNzEwODEsIDE5NDYzOCwgNDI4MDgsIDEyODMzNywgOTM0OCwgNjQ5MDEsIDk4Mzg2MSwgMCwgMTI4MzI4LCA2NjgzOSwgMCwgCisgICAgMCwgOTE3NTg0LCA0MzcwMiwgOTgzMTQ4LCA1ODU3LCA2NTM0MiwgOTI3MjcsIDExOTEyMCwgMTIwMDc5LCA4NjQ0LCAwLCAwLCAKKyAgICAxMTE4NiwgNzQyOTYsIDQxOTA5LCAwLCA2NjkwMCwgMjc5MSwgNjk2NjMsIDE4OTEsIDY5ODI0LCA2NjM5NywgNDE5MDcsIAorICAgIDY2NjQ3LCAxMTg5MzksIDg3NjEsIDEyOTQyLCA1NzQ4LCAwLCAxMDc3MywgNzA4NjgsIDk4MzI5NSwgODc5NiwgNzgxNDksIAorICAgIDY0MTIsIDIwNjEsIDg1MjAsIDEzMTQ2LCAxMjcxODUsIDYzOTMxLCAwLCA2NTkwMiwgMjg4MiwgMCwgMCwgMTI4NDMsIAorICAgIDQ1MjAsIDEyMDM0NSwgOTI0NTksIDAsIDk4MzY2MCwgMCwgNzM4NjAsIDAsIDAsIDY0MzQ1LCAwLCA5MjAxLCAxMjgzMTQsIAorICAgIDcwODcxLCAwLCAwLCA0MzY3OSwgOTE3NTg1LCA2NTExNywgOTIyNzAsIDAsIDEwNDI3LCAwLCAzODQ0LCA2ODQyLCA5NzU1LCAKKyAgICAxMTEwLCA2NjEyLCAxMjIyMiwgOTMwMzAsIDEyODc4OSwgMCwgOTgzMDk2LCA3ODMsIDE5NDkzNSwgMCwgMTI3MjIxLCAKKyAgICA5MjU0OSwgMTk0NzIwLCA2NTA1NiwgMzYyMCwgNDExODAsIDY4Mzc4LCA0NTU2LCAwLCA2ODQ4MCwgMTk0OTMzLCA3NDI1MCwgCisgICAgMCwgNjc2NTcsIDEwNTEwLCA0MzgyLCA2NjQ4MiwgMCwgMCwgMTI3NTI3LCA5MTc3LCA4OTAyLCA5Mzk1OCwgOTgzOSwgCisgICAgMTIwNzAwLCAxMjg5MSwgOTgzNzU1LCA5ODM2MzYsIDYzOTk5LCAyMDE2LCA0MTkxNywgOTc4OCwgNjM5MjgsIDY3Njk2LCAKKyAgICAxODYyLCA2NTgwMCwgOTE1NSwgNjY2MjMsIDk3ODYsIDY1MDgyLCA0MTkxOSwgODU3OSwgNDE5MTQsIDc5ODEsIDAsIAorICAgIDY2MDE3LCA0NTA4LCA2NDg4MywgOTI0NTYsIDkyNTIyLCAxMjc4MTQsIDAsIDY0NTkyLCA3NDI3NiwgNjc2ODgsIDY3ODQsIAorICAgIDc4Nzg4LCA2ODE4MSwgMCwgNzEyMTgsIDExMzgyMSwgNjYzNjYsIDEyMTQ3LCA5MDI0LCA2NjM3OCwgNjY0NzIsIDk4MzkyOSwgCisgICAgNjQyODksIDY1Mjg5LCA3ODE1MSwgNjY2NTgsIDcxOTM1LCA2NDUwOSwgNzgxNTIsIDExMzY5NywgMTI2NTA1LCAxMTA1MSwgCisgICAgMTk0OTI4LCAwLCAxMTM1NSwgNjU4ODUsIDEyODc3MywgMTI3OTQxLCA0MTIxNCwgMCwgMTIyOTksIDAsIDc1MDAsIDQ1MDYsIAorICAgIDc3NzMsIDAsIDAsIDk5NjMsIDY4NjQ5LCAxMjY2MDksIDQwNDAsIDEyMDU3MCwgNjE2NywgNzQ1MTksIDYzOTIyLCA2NTk0LCAKKyAgICA5ODM3NDAsIDAsIDAsIDM2MjQsIDQzMDM2LCAwLCA2Mzg3LCA2Mzk5MCwgMTk5NDcsIDYzOTg4LCA0MTk1NSwgMTI2OTkwLCAKKyAgICA2Mzk5MywgMTA0NDAsIDk2MTEsIDY1NjA1LCA2ODAzLCAwLCA3NzM4LCA2Mzk4NiwgMTE0NDYsIDYzOTg0LCA5MjY0MSwgCisgICAgMzQzNSwgNzgxNjQsIDQzODE0LCA0MzgxMCwgNzAyOSwgNjQyNTgsIDQxMjkyLCAxMTg4OTgsIDEyNzQ4LCA0Mjc0MiwgCisgICAgOTUxNywgMTE1MTgsIDEyODE2OCwgNzg3OTAsIDAsIDY3OTkzLCA2Mzk1NiwgNDI0NTgsIDYzOTU0LCA2Mzk1MywgNjM5NjAsIAorICAgIDk1OTEsIDQ1MTYsIDEwMjE3LCA2ODM3MCwgMTE0NjksIDY5Njk3LCA0MjMwNiwgMjcyMywgMTE4OTQ3LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAxMTM5NywgMjg4MCwgNzA4MDYsIDAsIDI4NzIsIDAsIDEyODUwNiwgMzQ5OCwgNDM3OCwgOTE3NTM5LCA0MjcwLCAwLCAKKyAgICA2NTU1MSwgNjgyMDUsIDY2MzMsIDQzMzg3LCAwLCA1MjMwLCAxOTQ5OTEsIDAsIDAsIDAsIDAsIDgxNjEsIDM5MywgMTIwMTMsIAorICAgIDAsIDk4MzE5OCwgMTE5MTAzLCA0MTUsIDYzOTY0LCA2Mzk2MywgNDIzNDUsIDkyMzEwLCA1MTgzLCAxODc3LCA0MjQ5OCwgMCwgCisgICAgMjkyNywgNzEwNTgsIDYzOTYxLCA0NDcyLCAwLCAwLCA3ODE1OSwgNjk2OTksIDkxNzkzNiwgNDIzNDAsIDQ3NTYsIAorICAgIDEyODA3OCwgNzA4MSwgMTA3MzAsIDc2OTEsIDEwMzMxLCA2MzgzMCwgMTE5NjI1LCA0MjkyMiwgNDIxMDMsIDg2MjgsIAorICAgIDk4MTMsIDAsIDQyNDUzLCAxNjA0LCA5NTY1LCAxMDUzOSwgNjk3MDEsIDY1NzY0LCA0MTQxNSwgNjU3NjcsIDEyOTE5NiwgCisgICAgODQ1NywgNDIzMDEsIDExMzcyLCA2NDg3MywgMTE5OTIsIDAsIDAsIDYzOTgwLCAxMTgwMSwgMzYyMiwgOTgzMTI0LCAKKyAgICA2NDMzNiwgMTIwMTcsIDEwNDYzLCA2Mzk4MSwgNDk2NywgNjQxODksIDE5NjYsIDQzNjI4LCA5ODM5MDgsIDk4MzI5MiwgCisgICAgMTk0NzY2LCAwLCA2Mzk3MSwgNDM0NywgNDQxNiwgNDIwOTgsIDExMDA5LCAxMDY5NCwgNjM5NzMsIDQwMiwgOTIyMTMsIAorICAgIDEzMTQ3LCAxMjg2OTIsIDQyMTAwLCA2NDY0NiwgMTMyMjgsIDAsIDQxODc1LCAzNTE1LCA3NDI1MiwgMTE4MDUsIDAsIAorICAgIDExMzAyLCA2MjU5LCA0MzM5NSwgMCwgMCwgMTk0NjcwLCAwLCA5MjM1MSwgNzQ4MTMsIDc0NDI1LCAxMTI5OSwgMTU2MSwgCisgICAgMTE4ODgxLCA5MjMxOCwgNjQ5NDIsIDkzMDIxLCAxOTQ3MzMsIDcwNDExLCAxOTQ3MzIsIDAsIDc0MzAxLCAxMjc4OTMsIAorICAgIDExMjgwLCAxMjg0ODksIDY5Nzg0LCA3NDA2MCwgMCwgMCwgMTE5NjY0LCA1MTQ1LCAxMjQ4NiwgNjUwMTgsIDY2NTE2LCAKKyAgICA1NDA5LCAxMjczNzksIDE5NDY2OSwgNzQwMiwgNTM5OSwgOTY4NSwgNzQwODksIDc5NTIsIDU0MDEsIDAsIDY2NjE2LCAKKyAgICA2NjgzMiwgOTI5NjYsIDEyOTEwNSwgNTQwNSwgMTI3ODc1LCA2NDg2NiwgMTI3ODY0LCAxMTk1ODMsIDExOTEyMiwgNzg3ODQsIAorICAgIDc0MjQ4LCAxMTMzMCwgMTk0NzIzLCA2NDY5MCwgMzI1NCwgMCwgMCwgMTI4MjA3LCA0MjM5MCwgNDM2NzgsIDE5NDcyNSwgCisgICAgOTgzOTA5LCA2NTA3NywgMTI5MDU5LCA2Mzg4LCAzMzU1LCA5NTA4LCA5ODY3LCA1NzIzLCAxMTUyMCwgNTYxMSwgMCwgCisgICAgMzM3NywgMCwgMCwgNzQzNTQsIDAsIDc4MjI4LCA5ODM3MjIsIDk4Mzc2MiwgNDI2OTEsIDEyNzg4NiwgMTI3MTk4LCAKKyAgICA3NDc2NywgMCwgMTI3MDc1LCAxMzc5LCAyNDYsIDAsIDk4Mzc2MSwgMzc4OCwgOTgzMTA2LCAxMTA0MSwgNjcyMDIsIAorICAgIDY2MzA0LCAwLCAwLCA4OTE3LCA0MjQwMywgMzAxLCAwLCAxMjg1MDAsIDEyNzA0NiwgMCwgMCwgMTEzODIyLCAxMDY1NiwgCisgICAgMTI1MDQyLCA2NTIxNCwgOTI5ODcsIDQyNTY3LCA5MjIxNywgMTMxNjMsIDk4MzIwNCwgMTIwODMxLCA3NDU5NywgMzE4MiwgCisgICAgMCwgMCwgMCwgNjUwMzQsIDY1ODg5LCA0MjE2OSwgNDc1NSwgNzQyNDQsIDE5NDYyMSwgMTE0NDMsIDk4MzYwMywgNjYzMTksIAorICAgIDY4NDEsIDYwOCwgNjAwLCAwLCAxMjE5LCAzOTM0LCA2NDIwNiwgMTE0ODMsIDc0NTEwLCAxMTkxMTcsIDc0NDg1LCA0MjQ0MiwgCisgICAgNjU0NzAsIDk4MzkwNywgNjQyMDIsIDEzMTYwLCA3NzU5LCA0MjQ4MiwgNDg1LCA2OTk4MiwgNzA1MDUsIDk4MjgsIDAsIAorICAgIDQzNTA1LCA0MjI4MCwgMCwgOTM1MSwgNzc3OCwgNjQzNzksIDc0OTYsIDQyNDMxLCA2OTE2LCAxMjA4LCAwLCAxMTk2MzEsIAorICAgIDExMDAyLCA0MjQ3MCwgMCwgNjgzMTUsIDAsIDAsIDc0MDQxLCAwLCA3MDA0NSwgNDM1MzksIDU0MTEsIDQyMTk2LCAwLCAwLCAKKyAgICAwLCA5MTUwLCA2NjgzMSwgNDIzOTMsIDEzMDg2LCAxMzEwLCA2Njg0OCwgOTMzNywgMTIwNTIsIDEwNjQzLCA1NTI3MSwgCisgICAgMTI4OTUxLCAxMjE2NiwgMjU0NiwgMTk0NjgzLCAyMTMsIDExODg1MiwgNjU2MTEsIDAsIDE5NDgyMiwgMTk0NzU2LCAKKyAgICA3NDMxMCwgNjU1NCwgMCwgMTE5MTQsIDU0NTIsIDAsIDAsIDkyNzcyLCAwLCAwLCAxOTQ2ODEsIDkyNTYwLCAyNzEzLCAKKyAgICAxMjkwMjksIDk2NTAsIDQzMzMwLCAwLCAxMjg1MDUsIDE0MDYsIDEyNTAwNywgNDI5MjUsIDc0NjM4LCAxOTQ1OTMsIAorICAgIDY4MjIzLCA0MTQzLCAxMjgxMzYsIDAsIDY1NzQ4LCA0MTQxLCA5NjgyLCA2NTI4NywgMTUwOCwgMTI3MDEzLCA4Nzc5LCAKKyAgICAxMDU2OSwgODcyNSwgMTMyOTksIDY2NjM4LCA2NTc1MCwgNDIyNjMsIDQxNDUsIDYzODAsIDY1NzUxLCA2NjYxMywgNDM5OTQsIAorICAgIDY1NzM4LCA1NTI1MCwgOTE4NSwgOTU1MCwgMCwgNDM0MDMsIDAsIDAsIDE5NDc4MywgNjU3MzYsIDQxOTUxLCA2NDgxNiwgCisgICAgNjU3NTYsIDk4MzIwNSwgMTI5NTUsIDEwNTk2LCAyODg4LCAxOTQ2NDUsIDAsIDAsIDk2NTcsIDkwMTksIDEyNTA3NywgMCwgCisgICAgMjg3OCwgNTM5MCwgMCwgMTk0OTYxLCA2NzMyNSwgNjg2NzksIDQzNTUyLCA3NTAxLCA2MzI4LCAxOTQ5NjAsIDEwNDI5LCAKKyAgICAxMDM2NSwgMCwgMCwgNDE5NDYsIDc1MDMsIDUyMzUsIDgwMywgNjgzODEsIDAsIDAsIDg5ODYsIDQzODM4LCAxMDYzMiwgCisgICAgMTE5MzQsIDExNDUyLCAxMzMyLCAwLCAxOTQ5NzAsIDEyNjY0NywgMCwgMTE4ODg3LCAxNzkxLCA1MTkxLCA5Mjg4LCAKKyAgICA2NDgyMiwgMjg5MiwgMTI3MjQyLCA0MzM5NCwgNTU1LCAwLCAwLCA2NjY0NiwgMTI4OTgwLCAxMTkwMDIsIDEzMTUxLCAKKyAgICA3NDUxMiwgNzI4OSwgNzQwNTUsIDY0MTYxLCA4ODU0LCA2NDE2MiwgNTg1OCwgNDE5MjcsIDEwNTgyLCAxMjA0NTcsIDE3ODQsIAorICAgIDEzNjEsIDE5NTA0NywgMCwgNzkwNSwgMCwgNjQ4NjgsIDEyODgxMywgMTMxNTgsIDkyMTY2LCA3MjExLCA3MTg4NCwgOTM3MSwgCisgICAgNzM5NzMsIDEyODQ0MSwgNjgyOCwgMTYyNSwgNzY2NCwgMCwgMTM0MiwgNjg0NDAsIDY0MTcxLCA5MjY0MiwgMTA5MDMsIAorICAgIDk4MzQ5NCwgMCwgOTI1MjcsIDAsIDcwNDM4LCA0NDgyLCA0MTYwNiwgMCwgMTI4NTY5LCA5ODMxMTIsIDAsIDY0MzgxLCAwLCAKKyAgICAxOTQ5NzQsIDE5NTA5MCwgNDIyNDUsIDEyNjQ2NywgNDE5NzIsIDAsIDQ0NCwgMCwgOTEyNywgNjY2ODcsIDY2NjE5LCAKKyAgICAxMjY0ODksIDc4MDI1LCAwLCAxMTM0OSwgNDA5OTEsIDkxNzU3MCwgMCwgNzAxNzcsIDEyMDgzMCwgMCwgMTE5NywgCisgICAgMTI4MjgyLCAxMTQ5LCA2ODMxNiwgMCwgMCwgNDA5OTAsIDQzNzY1LCAwLCAzNDkyLCA5MTc5MDYsIDExODc4NCwgMCwgMCwgCisgICAgMCwgMTI4MzgsIDY3MjA4LCAxOTk0OCwgNDE2NzcsIDMwOTksIDAsIDAsIDQxMDg3LCAwLCAwLCAwLCAxMTkwNTksIDEyMDM2LCAKKyAgICA0MTMwOSwgMTI4MTYxLCAwLCA4MTUyLCAwLCA0MTU1MCwgMTIyMjcsIDk4MzYxMywgMCwgMTI4MjgsIDEyNzUxMSwgMCwgCisgICAgOTgzOTcxLCAxMjA3MDgsIDAsIDAsIDEwMzg2LCAxMTk1NzQsIDEyOTE1OSwgMCwgOTI2ODAsIDk4Mzc4OSwgNjgxNTQsIDAsIAorICAgIDE3NDMsIDAsIDAsIDkyMjM5LCA2NTE4NiwgOTE3NTcxLCAwLCA5NjA2LCAwLCAwLCA2NDQzOSwgMCwgMCwgOTI2ODYsIAorICAgIDk4Mzg3NSwgMCwgNDM4NjYsIDEyODg4MSwgMCwgMzM5NSwgOTM2MiwgMTA4NzgsIDEyODM3NiwgMCwgNzgzNjIsIDY0ODMwLCAKKyAgICAwLCAxMjUwNDYsIDQxMDkxLCAzNDI2LCAxMzQ0LCA4ODcwLCAwLCA3MTM0NCwgNDczNSwgMTExMTEsIDYxMTksIDEyODIyLCAKKyAgICA0MjY5OSwgMCwgOTgzODI0LCA3NDgxOCwgMTQyMywgMTI4OTIzLCA0MjYzNywgNDEwODAsIDAsIDEyMDM5LCAxMDU1OSwgCisgICAgMTI4NjM0LCAxMTg4OTIsIDAsIDk0NzIsIDY3NzM0LCAxMTkyOSwgMTI4OTA1LCA3MTcwLCA5NTk2LCA2MTMwLCAxMjg4MjYsIAorICAgIDQzNjI5LCAxMTU3OSwgNzg3MTMsIDAsIDkyNTAxLCAxMjUwODEsIDkyMTg1LCA2NjY5OSwgNjQ0NDAsIDEwMDQsIDkyNTg0LCAKKyAgICAxOTQ3MzYsIDQzMjM0LCA2NjAwOCwgMTI2MjcsIDAsIDY4NDE0LCA3NDYxNCwgNDM2MTksIDQzMzAzLCAxMTMwMCwgNDMzMDQsIAorICAgIDk2ODYsIDU4OTAsIDExNzc2LCA3NTU4LCAxMjcxNTgsIDY1NjI3LCAwLCAxMDcxOCwgMTMxNTQsIDM0NjEsIDkxMzksIDAsIAorICAgIDk4MzA5NCwgMCwgMCwgNjUzNjUsIDczODc3LCA2NTYyOCwgNzgwMTksIDEyMDMxOSwgMCwgNDE3MDgsIDEyODYwLCAyNjQxLCAKKyAgICAxMjA2OSwgMTA4MzgsIDU0MDMsIDEwMzUyLCA3MDA4NSwgMTAwNjEsIDQzMjM3LCAxMjUwNTcsIDUxNDAsIDIwOSwgCisgICAgMTI4ODQ3LCA0MTcwNCwgNDEwNTYsIDQzMDc4LCAxMjgxMjUsIDExODgwOSwgNjcyMzIsIDEwODk5LCA2NTQ2OSwgNzAxMjUsIAorICAgIDAsIDAsIDI0MTAsIDk5MywgMCwgMTIwNTg5LCAxMjA2ODksIDc4NjkzLCAwLCAwLCA3MjMyLCAwLCAxMTkyNTMsIDEyNDk2MywgCisgICAgNzExMCwgNzQ0NjIsIDIwNjYsIDEwNDg5LCA0MjE2NiwgNDM0NjMsIDEwNjU5LCAzNjAwLCA3ODExOCwgNDIyNCwgMTMzNiwgCisgICAgNDE1MTgsIDk4MzkzMiwgMCwgMCwgMCwgNDExMzksIDY0ODIwLCA5MjUzOCwgMTI5NjYsIDQxMTM0LCAwLCAwLCAxMTkxNTMsIAorICAgIDAsIDI3MiwgNDI2MywgODc5MywgOTgzODU2LCAwLCA0MTUwMiwgMTI4MTMzLCA5ODMsIDEyNTQ5LCAxMjQ5NDAsIDAsIAorICAgIDExOTAsIDQxMDksIDEzMzUsIDg0MSwgNTg4OCwgNDEzNTgsIDY0ODYzLCA5NTQ0LCA0MzQ4MSwgMCwgMTk0ODA2LCA3MDAyNywgCisgICAgMjA5OSwgNTEyMCwgMjQwOSwgNzc5OSwgMCwgNzQ0MjQsIDAsIDAsIDQ3MzEsIDkyMjc5LCA2NjYyOSwgMCwgMCwgMTI1NSwgCisgICAgNDE0OSwgOTI0NywgMCwgOTkxMywgMCwgMCwgNjQ5MTQsIDkxNzc4NywgNjUxMDEsIDExMzcxNCwgMTE2OTQsIDkyNDc1LCAKKyAgICAxMTY5MCwgNTgzNSwgMTI3MTY0LCA2NjYyNSwgMTA4NDIsIDQxMzU0LCA0MjEyMywgNDMwOTcsIDExNjg4LCA2NjYzNCwgCisgICAgMTA5NCwgMTk0LCA2NDY5MiwgMCwgODE4MCwgMCwgMCwgOTk3MiwgNzM4NjUsIDQ1MTksIDYxMTQsIDEwODk4LCA0MzA3MiwgCisgICAgOTI0NjUsIDAsIDkzOTYwLCA5ODMzMjIsIDEyNjU4MSwgMTA2OTUsIDAsIDc1NDAsIDAsIDg4MSwgNzg1NywgNjA2NywgCisgICAgNjUxNjQsIDAsIDAsIDEyOTEzNCwgMTMzMTEsIDY4NDAzLCA0MTg1NywgNjQzMjEsIDgzNTksIDk4MzMxMSwgMTI2ODksIAorICAgIDk4MzMxMCwgMTk0NTk0LCAwLCA5ODMzMTIsIDcxODU5LCA2ODE4MywgMCwgOTgzMzE0LCAxMjg3LCA1NDM2LCAwLCA3MTA5NywgCisgICAgNzQxNDIsIDkyMzI4LCA3NDE1MiwgNzAyMDUsIDYwNTEsIDEwNDk3LCA2OTY2OCwgODk4NSwgMTIxMDksIDk4MzMyMywgMCwgCisgICAgOTMwNDMsIDAsIDAsIDM2NTIsIDEwNTM3LCAxMjAyODIsIDEyNzYsIDEyMDQ0MCwgNjU0OSwgMjc5LCA3Mzc0NSwgMCwgCisgICAgMTI4NjY0LCAwLCAxNDg5LCAwLCAwLCAwLCAzODk5LCAxMDA3LCA0MjEyNCwgNDM4MjgsIDQyMTIyLCA5MjMzNywgOTIzNjcsIAorICAgIDAsIDExOTg1LCAxMzQ1LCA3ODYwMCwgMTE5ODMyLCA5MTc2MDEsIDg5NTYsIDQzMDgzLCA5NDA1NywgNDIxMzgsIDc4NjEwLCAKKyAgICAxMjkxMzEsIDY0MzAsIDc4NjA4LCA3ODYwNCwgNzg2MDUsIDYyODUsIDc4NjAzLCA3ODYxMiwgNzg2MTMsIDY1OTQyLCA0OTIsIAorICAgIDg2ODUsIDEyODQ4MSwgOTgzNzU5LCAwLCA3ODYyMiwgNDM3MTIsIDI1ODIsIDExNDcwLCA2NDUzOCwgNzQ0NCwgNzg2MTUsIAogICAgIDc4NjE2LCAyMjk3LCAwLCA3MzgzNywgMTE5ODIzLCAyNTI3LCAxMTk4MjQsIDE5NywgMjc5OSwgOTI1OTQsIDQxOTQ0LCAKLSAgICAxMjAyNzYsIDk5MzMsIDAsIDY2NTE1LCA3NjcsIDU1MjQsIDcwMjgsIDAsIDAsIDExOTgyNywgMTE5ODE3LCAxMTk4MjgsIAorICAgIDEyMDI3NiwgOTkzMywgNzQwMTEsIDY2NTE1LCA3NjcsIDU1MjQsIDcwMjgsIDAsIDAsIDExOTgyNywgMTE5ODE3LCA5Mjk1MCwgCiAgICAgNzg2MzMsIDEwODk2LCAwLCAxNzk5LCAxMjA0OTcsIDY5NzEsIDc0MzM2LCAxMjgzNDIsIDAsIDY1MzQwLCAxMTg5NzksIAotICAgIDQxNTUxLCAyNDM0LCA5NDAxOCwgMCwgMTIwNTc5LCAwLCA0NjMxLCAwLCAwLCA2NDA3LCAwLCA2MzM4LCA0MzIxNCwgMCwgCi0gICAgNzU3MCwgMCwgMzE5MiwgMCwgODQxNCwgMCwgOTM5ODMsIDAsIDAsIDAsIDkxNjQsIDY2NjEyLCA5Mzk1OSwgMzE3MSwgCi0gICAgNjYyMywgNDk2MSwgNjgzOTYsIDg4NiwgNTUyMTYsIDg2NTQsIDc4ODMyLCA5OTkzLCA3NDM5MCwgNjQ2MDMsIDcwMDY2LCAKLSAgICA2OTI0MSwgOTU5OSwgNzg2MjksIDQzMDg0LCA3ODYyNywgNzg2MjgsIDc4NjI1LCAyMzk5LCA2OTY5MywgODk5NCwgMTA5NDQsIAotICAgIDQxMjA4LCA5ODM3MTMsIDQxMTY4LCA4MTc4LCAwLCAzMzY3LCA5MjMzNCwgNDI1MTAsIDc4NjQxLCA3ODYzNiwgNjgwNCwgCi0gICAgNzg2MzQsIDE5NDcsIDAsIDAsIDkyNjgxLCA0Mjc1OSwgMTEwNjgsIDE3MDUsIDkzMzEsIDAsIDc0Nzk4LCA5MTgxLCAKLSAgICA2NTM1OSwgMCwgODAxNywgMTE5ODMxLCA2NTA5NiwgNjY3MjAsIDAsIDQzNDc1LCAwLCA0OTA5LCAxMjEyNiwgMTI4NjczLCAKLSAgICAxMjA2OTYsIDQ5MDQsIDk4MzMzMywgNjk2NTAsIDEzNjUsIDkyNTMsIDQyNzU3LCA0MzQzNiwgNzQ2MiwgMCwgMCwgMCwgMCwgCi0gICAgMTE5NTg3LCA2NDQxNSwgMCwgMCwgNTM5OCwgMCwgMTI3Mzg2LCA5Mzk1MywgMCwgMCwgMTE5MDE1LCAwLCAwLCA5NDc2LCAwLCAKLSAgICA5ODM3NzcsIDEyNzYzLCAxMjY2MDMsIDM2MjksIDAsIDEzMDA1LCAwLCAzNjI4LCAwLCAwLCA5MjUwMiwgMzQ2OSwgNDIxMDcsIAotICAgIDQyMTE2LCA5MTc1NzgsIDY0ODA5LCAyOTI4LCA0OTA1LCA5ODUzLCA4NTEsIDkwNDAsIDAsIDY0NjY1LCA0MzA4NiwgOTExNCwgCi0gICAgMCwgNDI1ODMsIDkzMTUsIDQ4MjIsIDQ5MDYsIDM4NTIsIDI4NDcsIDExOTgyMSwgMzIzNiwgMTEzMTcsIDEyNTEsIDc3NzcsIAotICAgIDQxODUyLCAxMTQxMCwgMTA5NjQsIDAsIDQzMjIyLCAxMjY0NiwgMTIwMjY5LCAxMDI1OSwgOTg2NSwgNjU4MjEsIDAsIAotICAgIDYwMTgsIDkyMjkwLCAwLCAxMjI3NiwgMCwgNjgzNzIsIDAsIDkyMjU5LCAxMTkyNDQsIDAsIDk4MzIzMCwgMTA0NjcsIDAsIAotICAgIDI0NDMsIDEwOTE4LCA3ODIxNywgMTE5ODI1LCAxMDAxLCA5MjQxLCAxOTI3LCAwLCAwLCA3Mzk4NywgMTI3ODg1LCAwLCAwLCAKLSAgICAxMTg4MjgsIDEyMDI3MSwgNjU2NzgsIDEyODY3LCAwLCA4MjYwLCA3Nzk0NSwgNzUxOSwgMTE1MDUsIDEyMjc0LCA4OTA0LCAKLSAgICA1MTgsIDY1ODU3LCAwLCAxMjg2NzQsIDEzMjA0LCA0Mzg3LCA4NTcsIDAsIDY1MzY5LCAwLCA5MjMzNiwgNDMxMjUsIAotICAgIDEyMDU5MiwgMCwgMCwgMCwgMCwgNTEzNiwgMTk2OCwgOTgzMDQxLCAxMjY2MjcsIDEzMzcsIDY0OTY3LCAxNjI5LCAwLCAKLSAgICA3OTYsIDY2NTA2LCAwLCA3NDEyMywgMTI4NzcsIDEyMDY0OSwgNDIzMTQsIDQzMzg4LCAwLCA3NDQwMywgNjEyMCwgNDc4LCAKLSAgICA2NTE1MSwgNjgxMjgsIDEyODE0NywgNDMwODIsIDYwMTYsIDAsIDQyMjg0LCAxMjg1MDcsIDQyNzYsIDEyMDYsIDM2MTksIAotICAgIDQxNjM4LCA2OTY5MSwgMzg0MywgMTIwMTEsIDg4NTMsIDMzNjEsIDAsIDQ5MCwgMTA3MTUsIDc1NzgsIDY4Mzg0LCAwLCAKLSAgICA2NTM1MCwgMTA1MzAsIDEyMzQ4LCA4NjUzLCA3NDMxNCwgNDI0MzUsIDYxNTQsIDk1NTEsIDY1MzU0LCA3ODUyMiwgNzg0LCAKLSAgICA0MjM5NywgMzM0LCAwLCA0MjQxNiwgNjUzNTYsIDY1MjczLCA3Nzk4NywgNjk2NjYsIDQ0NDIsIDEwMzY0LCAwLCA3NzgsIAotICAgIDQxNjI2LCA0MjQ1NSwgNzk4OSwgNzQwNjMsIDMyMjcsIDY5OTA3LCAxMjcyNzUsIDczOTgzLCAyOTE1LCAxMTUwMiwgCi0gICAgNDEwMjIsIDQxNzAyLCAxMDMwOSwgMTI3MDM1LCA3ODMyMCwgMCwgNjk3NSwgMCwgNTQxNSwgMTIxNzYsIDAsIDc0MTkzLCAKLSAgICAzNDYyLCA2NTIxNSwgNDI2MjksIDc4NjkxLCA3Mzc4NCwgMCwgMCwgOTc1OSwgMCwgNzAwNTcsIDEyNzI1NCwgODExNCwgCi0gICAgNzg2OTgsIDc4Njk3LCA3ODY5NiwgNzg2OTUsIDg3MTAsIDQyNDk1LCAxMTg5NTYsIDAsIDQwNTEsIDEwNDYwLCA0MzM2NCwgCi0gICAgMTE4OTE3LCAxMzU2LCAxMjE2MSwgNDI3MTMsIDEyODg1NywgMTI3MjY4LCAxNjE5LCA5NzAzLCA0MzE1MiwgNDI0ODksIAotICAgIDQyMTEyLCAxMjc5NzgsIDE4NzUsIDEwODA4LCA0MjEwOSwgMTIwMjg0LCA0MTg2MCwgNjQ4NjIsIDEzMzA1LCA2NDkwNywgCi0gICAgNTI4OSwgMTMxNDQsIDEyODY1OCwgMCwgNTU3NSwgOTY3NSwgMCwgNTk0MCwgMjI2LCAyNjQ5LCA2MzM2LCA5ODMyNzcsIAotICAgIDExOTgzMCwgNDMyMzYsIDMzODIsIDQyNDQ5LCA2NDk4LCAxNjU4LCAxMTkzNiwgNzgyMzIsIDAsIDExMjY5LCAxMDE1MSwgCi0gICAgNzM3NTksIDQzMTAwLCA2OTg4OCwgNjU1MDgsIDAsIDAsIDAsIDg5MzUsIDkxNzk4NSwgMCwgMCwgMCwgNjE2LCA3NDc1MywgCi0gICAgNjUxNzgsIDQ2ODQsIDc4NzAxLCAxMTk2NTMsIDAsIDEyNjU1MSwgMCwgNjA0OCwgNzQ0NjAsIDQyMTEwLCA3Mzk2NSwgCi0gICAgMTA4NzAsIDg1NTcsIDExMDU0LCA2ODY2NCwgMTE5MDQ5LCA5NjgxLCA0NDc1LCAwLCA0MTE0MiwgMjEwMCwgMCwgMTIwNzMxLCAKLSAgICA2MDM1LCAwLCA3NjUxLCAxMDI5NiwgNjQ0NDMsIDAsIDk4MzI5NSwgOTE3OTg3LCAwLCAxMTg5NjYsIDc0MTQ0LCA0MDk5NywgCi0gICAgMCwgMTAzOTIsIDEwMzI4LCA0MDk5OCwgNDM0NjIsIDc0NDg4LCAwLCA5ODAwLCA4OTc5LCAwLCAxMzMwNywgNDEwMDAsIDAsIAotICAgIDExOTIzOSwgNjQ4NywgMzM4NiwgMCwgMTAzNDQsIDAsIDY1Mjk5LCA1Mzk0LCA0MzI0NiwgNzgyNDMsIDEwMjIwLCA2NjUwNSwgCi0gICAgNDEyMDAsIDEyODU4MywgNDQyNSwgMCwgMCwgMCwgNDMwNzQsIDczNzk5LCA5ODMyMDAsIDc4MTQ3LCAwLCAxMjE3MywgCi0gICAgNzg1NDUsIDAsIDEyNzAxMSwgNjUzMzgsIDAsIDAsIDExOTU4MiwgNDQ3NCwgMCwgNDMwOTMsIDEyODY0NCwgMTU4NywgMCwgCi0gICAgMTI3MzcyLCA2NDQ3NSwgMTI4MDk4LCAxMzY5LCA5ODM2NzIsIDk5NTksIDc5MjcsIDAsIDQ1NjAsIDAsIDAsIDkyMjc3LCAKLSAgICA5ODM2MjEsIDY0OTQ4LCA0NDMwLCA3NDM0NywgNDI2MDEsIDQ1MTQsIDY2NDM0LCA5Mzk1NSwgODE5NCwgNjU0NjIsIAotICAgIDEwNjI2LCAxMDk2NSwgMCwgODg5MywgOTgzMzAxLCAxMjU0MiwgMCwgNjUzNDEsIDAsIDY1ODI5LCA3OTI1LCAxMTk4MjIsIAotICAgIDEwNDc1LCAwLCAwLCAxMzUyLCAxMTA2OSwgNzcwNywgMTI3NTYwLCAxMjY0ODYsIDY1Mjc5LCAxMjcxMDIsIDY4MjA3LCAKLSAgICAxMjcxMDAsIDcwOTksIDYwNDAsIDEyNzA5NywgMTAwNzEsIDAsIDkzMzYsIDQzNzUwLCAwLCA4ODk5LCA3Nzk4LCA2NDQ3NCwgCi0gICAgNjQyNTksIDY5ODczLCA2NTE4OCwgNzgyMCwgNDMwMTgsIDEyNzA4MiwgMCwgNzc0NiwgMTQ5MiwgNzg1NTEsIDEwODg0LCAKLSAgICA3Nzk4MiwgMCwgNTEyNywgMTEyODUsIDQyNTAxLCA1NDk1LCA0MjczLCA0MzA5NSwgNDE0MjYsIDEwODQ5LCA1NzMwLCAKLSAgICAyOTk5LCA2MzQyLCA2ODYzNiwgNzQzMDQsIDM3MSwgNjQzNzMsIDYwMjMsIDE2OSwgNTQ5NywgMTE3MDgsIDAsIDAsIDYzMjMsIAotICAgIDE5NDY4NCwgODIyNCwgMCwgODkzOCwgNjA0MywgMTI3MzgsIDAsIDk4MzA3NiwgNTMyMSwgMCwgMTk0Nzk4LCAwLCAyNTg5LCAKLSAgICA3NDMzMiwgMTY4OSwgNzgwMiwgNDY4MywgNzQzMTgsIDQyNzA0LCAxMjAyOTYsIDExOTA1LCAwLCAwLCAxMjg1MTYsIAotICAgIDEyODE2MywgNzQ1MTMsIDYwNDksIDAsIDQwMjcsIDgzNCwgMTE4OTYyLCAxODAzLCAwLCAxNTAzLCAwLCAwLCA3MTMxMiwgCi0gICAgNTczMSwgMTM4MSwgMjM4NywgMCwgMCwgODI4OSwgNjQ1MjUsIDY1ODE3LCAyODgxLCA0MzE0MiwgMCwgOTYwMSwgMjg3OSwgCi0gICAgOTY2OCwgOTc2NiwgMCwgNTcyOSwgOTE3ODMzLCA3NDQxMCwgNjAzNiwgNjQ4ODEsIDQwMjYsIDkzNjEsIDEyNzA5MSwgCi0gICAgMjg4NywgMCwgMzUyNiwgNjI5OCwgMCwgNzc4OTcsIDEyMDA5NSwgNzg1MTksIDAsIDg1NzIsIDYwMjEsIDc3ODk2LCAKLSAgICAxMjgyODgsIDc3ODk1LCA0MzE1NSwgMCwgMTE5ODQ5LCAzMTQ2LCAxMDk1OSwgOTQ4MywgMCwgNzc4OTMsIDEwOTgxLCAxNjYsIAotICAgIDkxNzg0MSwgODYzNSwgOTgzNjA2LCAxMDYyMywgNDA4LCAxMTkwNTgsIDEyNzUwNywgMTMyOTgsIDAsIDc0MjYsIDQxNjQxLCAKLSAgICAxMjcxNywgMCwgNzYwNywgMTA2MzksIDQzMzk2LCAwLCAwLCA0MTY0MywgNzQxMzQsIDk4MzA1NCwgODcxMywgNDE2NDAsIAotICAgIDEwMjIxLCA0MTY0NSwgNjY3MTIsIDY2NDUsIDY0NiwgNjY3MjYsIDY2NzExLCA0MjEyOSwgOTM5OTQsIDc3OTAxLCAzNDcyLCAKLSAgICA4Njk3LCAwLCAwLCA5ODM4MTUsIDAsIDAsIDAsIDU4MDksIDE5NTAsIDExOTM1NiwgOTI0MzIsIDc0NTcyLCAwLCA0MjEzNiwgCi0gICAgMCwgMCwgMCwgMCwgMzI0NywgMTE5ODU0LCA2NTAxNywgOTgzOTUzLCA2ODQyOCwgNjY2NjgsIDAsIDAsIDEwOTgzLCAwLCAwLCAKLSAgICAwLCA0MTU2NywgMCwgMCwgMCwgMTk0NjI0LCAxMTk4NTMsIDAsIDAsIDgyODUsIDAsIDQ1MDksIDAsIDY2NDcxLCAxMjIxNiwgCi0gICAgMCwgNDA5ODgsIDkyNTkyLCA3NDgwOSwgNDE3MjcsIDAsIDQyODQ4LCAyMzk2LCA5MTc3NjYsIDAsIDc0MDE4LCA5MTc1MzgsIAotICAgIDY0OTQwLCA3MDI3LCAzODg2LCAwLCA0MjQ1NywgMTE5MDA4LCAwLCA5OTYsIDY4MTIzLCA5NDA1OCwgNDI0OSwgMCwgCi0gICAgOTE3NTk0LCAxMTcwNywgODIyMiwgMCwgNzkzOSwgOTI0NTQsIDkyNDYwLCAxMjc4MDEsIDkxNzU5MiwgMTI4MzU5LCA4NTM0LCAKLSAgICAxMjcxNTQsIDQwOTgzLCAwLCA5ODMyNDAsIDAsIDcyMDEsIDEyNTYxLCAwLCA0MjM3MSwgMTI1NTgsIDE1NDAsIDkxNzU0OSwgCi0gICAgMTAwNTIsIDQwOTgyLCAwLCAwLCAxNDg4LCAwLCAwLCAwLCA5MTc1NTksIDAsIDAsIDE1NjMsIDEyODAzNCwgOTYxOSwgCi0gICAgOTgzOTQwLCAwLCAwLCAxMjc4NzIsIDcxMzYzLCA1ODAzLCA3Nzk3LCA2MDcwLCAxMDAwNiwgMCwgMjkyMiwgNjA4MiwgMCwgCi0gICAgNjUwMDksIDk4Mzk0MiwgMTI1NjcsIDEyODcwMywgMCwgNDE0MTIsIDAsIDAsIDM2MDcsIDkyMDAsIDEwMDQ2LCA5NjEyLCAKLSAgICA0MjE1MywgODIxOCwgOTQ4NSwgMCwgMjAzMiwgNzgzNTQsIDAsIDAsIDAsIDAsIDAsIDQzMDg1LCA2MDU3LCA1MDgsIAotICAgIDkzOTY4LCAxMjgwMTUsIDY3OTY4LCAwLCA5MjQwNSwgMCwgMCwgNjM4LCA2MDgzLCAxMTkwNzIsIDAsIDAsIDIzMDUsIAotICAgIDc4MzQ4LCA2ODA5NiwgMCwgNjA1NiwgNjY1OSwgNjc5NjksIDAsIDYwODUsIDAsIDAsIDM5MTUsIDQxNjM0LCAwLCA0MTYzOSwgCi0gICAgNjM5MTIsIDExOTQxLCAwLCA0MDI4LCAxNzg3LCA0MjE4MCwgNDMwOTYsIDQzNzUzLCAzMjQ5LCAxNzY4LCA5Mzk4MiwgCi0gICAgMTIzMjgsIDUwMSwgOTM5ODUsIDEwNjAxLCAwLCA1ODMsIDAsIDQxOTc3LCAwLCA2NjAwNCwgMTE5MzUwLCA2NTA1LCAKLSAgICA3NDAxMCwgMCwgMTMwNjQsIDU1MjY3LCAxMjA4MTAsIDY1MDAsIDU1MjYsIDY1MDQ5LCAwLCA3Mzc2NCwgMCwgOTIzNzYsIAotICAgIDEyNzQ1LCA5Njc4LCAwLCAxMjA1ODcsIDk4NjksIDEyODgxNSwgMTc3MSwgMCwgODkzNiwgMCwgMCwgNDIwOCwgNzgzNDEsIAotICAgIDc4NTY3LCA3ODM0MiwgMCwgOTgzNDU2LCA3NDEwMSwgMCwgMTE3NjIsIDAsIDkyNDIyLCA3Nzk5NywgNjgwMTAsIDY2NDc1LCAKLSAgICAwLCA1MDI3LCA3ODE3MiwgMTI4ODc4LCAwLCA1MDY5LCA3Mzg2MiwgNTAyOCwgOTg5NywgMCwgNzM3MzksIDUwMjYsIAorICAgIDQxNTUxLCAyNDM0LCA5NDAxOCwgMTI2NjQyLCA2NTM1MywgMCwgNDYzMSwgMTE4OTk2LCAwLCA2NDA3LCAxMTM3MzcsIAorICAgIDYzMzgsIDQzMjE0LCAwLCA3NTcwLCAwLCAzMTkyLCAwLCA4NDE0LCA5ODMzOTAsIDkzOTgzLCAwLCAwLCAwLCA5MTY0LCAKKyAgICA2NjYxMiwgOTM5NTksIDMxNzEsIDY2MjMsIDQ5NjEsIDY4Mzk2LCA4ODYsIDU1MjE2LCA4NjU0LCA3ODgzMiwgOTk5MywgCisgICAgNzQzOTAsIDY0NjAzLCA3MDA2NiwgNjkyNDEsIDk1OTksIDc4NjI5LCA0MzA4NCwgNzg2MjcsIDc4NjI4LCA3ODYyNSwgCisgICAgMjM5OSwgNjk2OTMsIDg5OTQsIDEwOTQ0LCA0MTIwOCwgOTgzNzEzLCA0MTE2OCwgODE3OCwgNzQ4NTksIDMzNjcsIDkyMzM0LCAKKyAgICA0MjUxMCwgNzg2NDEsIDc4NjM2LCA2ODA0LCA3MDQ3NSwgMTk0NywgOTE3NTc5LCAwLCA5MjY4MSwgNDI3NTksIDExMDY4LCAKKyAgICAxNzA1LCA5MzMxLCAwLCA3NDc5OCwgOTE4MSwgNjUzNTksIDEyNTA2NSwgODAxNywgMTE5ODMxLCA2NTA5NiwgNjY3MjAsIAorICAgIDcxOTA2LCA0MzQ3NSwgMCwgNDkwOSwgMTIxMjYsIDEyODY3MywgMTIwNjk2LCA0OTA0LCA5ODMzMzMsIDQzNTAzLCAxMzY1LCAKKyAgICA5MjUzLCA0Mjc1NywgNDM0MzYsIDc0NjIsIDEyNzc3MiwgMCwgMCwgMCwgNjY4NDUsIDY0NDE1LCAxMjA1MDAsIDEyODg2OSwgCisgICAgNTM5OCwgMTI1MDM1LCAxMjczODYsIDkzOTUzLCAxMjczNjIsIDk4Mzc4MiwgMTE5MDE1LCAwLCAxMjgwODMsIDk0NzYsIDAsIAorICAgIDEyMDY5NSwgMTI3NjMsIDEyNjYwMywgMzYyOSwgMTI2NjI2LCAxMzAwNSwgMTExODEsIDM2MjgsIDAsIDAsIDkyNTAyLCAKKyAgICAzNDY5LCA0MjEwNywgNDIxMTYsIDkxNzU3OCwgNjQ4MDksIDI5MjgsIDQ5MDUsIDk4NTMsIDg1MSwgOTA0MCwgMCwgNjQ2NjUsIAorICAgIDQzMDg2LCA5MTE0LCA0Mzg3MCwgNDI1ODMsIDkzMTUsIDQ4MjIsIDQ5MDYsIDM4NTIsIDI4NDcsIDExOTgyMSwgMzIzNiwgCisgICAgMTEzMTcsIDEyNTEsIDc3NzcsIDQxODUyLCAxMTQxMCwgMTA5NjQsIDAsIDQzMjIyLCAxMjY0NiwgMTIwMjY5LCAxMDI1OSwgCisgICAgOTg2NSwgNjU4MjEsIDAsIDYwMTgsIDY4MjkzLCA5MTc5MTcsIDEyMjc2LCAxMTkxMTAsIDY4MzcyLCAwLCA5MjI1OSwgCisgICAgNzE4OTMsIDAsIDExOTgyOCwgMTA0NjcsIDAsIDI0NDMsIDEwOTE4LCA3ODIxNywgNzc5NDcsIDEwMDEsIDkyNDEsIDE5MjcsIAorICAgIDAsIDEyNDk0MiwgNzM5ODcsIDEyNzg4NSwgNzE4OTUsIDkzMDEyLCA3OTkyLCA3Nzk0MywgNjU2NzgsIDEyODY3LCAKKyAgICAxMjg3ODcsIDgyNjAsIDc3OTQ1LCA3NTE5LCAxMTUwNSwgMTIyNzQsIDg5MDQsIDUxOCwgNjU4NTcsIDEyODM2MSwgCisgICAgMTI4Njc0LCAxMzIwNCwgNDM4NywgODU3LCA5ODM4NjYsIDY1MzY5LCAwLCA5MjMzNiwgNDMxMjUsIDExODQyLCAwLCAKKyAgICA3MTA3MiwgMCwgMCwgNTEzNiwgMTk2OCwgMTI4OTA2LCAxMjY2MjcsIDEzMzcsIDY0OTY3LCAxNjI5LCAwLCA3OTYsIAorICAgIDY2NTA2LCAwLCA3NDEyMywgMTI4NzcsIDEyMDY0OSwgNDIzMTQsIDQzMzg4LCA0MzgyNiwgNzQ0MDMsIDYxMjAsIDQ3OCwgCisgICAgNjUxNTEsIDY4MTI4LCAxMjgxNDcsIDQzMDgyLCA2MDE2LCAwLCA0MjI4NCwgNzE4OTQsIDQyNzYsIDEyMDYsIDM2MTksIAorICAgIDQxNjM4LCA2OTY5MSwgMzg0MywgMTIwMTEsIDg4NTMsIDMzNjEsIDAsIDQ5MCwgMTA3MTUsIDc1NzgsIDY4Mzg0LCA5Mjc1NCwgCisgICAgNjUzNTAsIDEwNTMwLCAxMjM0OCwgODY1MywgNjgyNDUsIDQyNDM1LCA2MTU0LCA5NTUxLCA2NTM1NCwgNzg1MjIsIDc4NCwgCisgICAgNDIzOTcsIDMzNCwgMTk0Njc2LCA0MjQxNiwgNjUzNTYsIDY1MjczLCA2NzI0MywgNjk2NjYsIDQ0NDIsIDEwMzY0LCAwLCAKKyAgICA3NzgsIDQxNjI2LCA0MjQ1NSwgNzk4OSwgNzQwNjMsIDMyMjcsIDY5OTA3LCAxMjUxMTYsIDExMTAyLCAyOTE1LCAxMTUwMiwgCisgICAgNDEwMjIsIDQxNzAyLCAxMDMwOSwgMTI3MDM1LCA3ODMyMCwgMTIwMjczLCA2OTc1LCAwLCA1NDE1LCAxMjE3NiwgMCwgCisgICAgNzQxOTMsIDM0NjIsIDY1MjE1LCA0MjYyOSwgNzg2OTEsIDcxMTc1LCAwLCAxMjcyNTYsIDk3NTksIDEyNzI1NSwgNzAwNTcsIAorICAgIDEyNzI1NCwgODExNCwgNzg2OTgsIDc4Njk3LCA3ODY5NiwgNzg2OTUsIDg3MTAsIDQyNDk1LCAxMTg5NTYsIDcwMTg5LCAKKyAgICA0MDUxLCAxMDQ2MCwgNDMzNjQsIDcxMjA2LCAxMzU2LCAxMjE2MSwgNDI3MTMsIDEyODg1NywgMTI3MjY4LCAxNjE5LCAKKyAgICA5NzAzLCA0MzE1MiwgNDI0ODksIDQyMTEyLCA2Njg5NiwgMTg3NSwgMTA4MDgsIDQyMTA5LCAxMjAyODQsIDQxODYwLCAKKyAgICA2NDg2MiwgMTMzMDUsIDY0OTA3LCA1Mjg5LCAxMzE0NCwgMTI4NjU4LCA5ODMyMjQsIDU1NzUsIDk2NzUsIDE5NTAxOCwgCisgICAgNTk0MCwgMjI2LCAyNjQ5LCA2MzM2LCA5ODMyNzcsIDkyOTc5LCA0MzIzNiwgMzM4MiwgNDI0NDksIDY0OTgsIDE2NTgsIAorICAgIDExOTM2LCA3ODIzMiwgMTEzODE0LCAxMTI2OSwgMTAxNTEsIDczNzU5LCA0MzEwMCwgNjk4ODgsIDY1NTA4LCAwLCAwLCAwLCAKKyAgICA4OTM1LCA3ODIzNCwgMCwgOTgzNzU3LCAwLCA2MTYsIDc0NzUzLCA2NTE3OCwgNDY4NCwgNzg3MDEsIDExOTY1MywgNzQ2MzEsIAorICAgIDEyNjU1MSwgMCwgNjA0OCwgNzQ0NjAsIDQyMTEwLCA3Mzk2NSwgMTA4NzAsIDg1NTcsIDExMDU0LCA2ODY2NCwgMTE5MDQ5LCAKKyAgICA5NjgxLCA0NDc1LCA2NzQyOSwgNDExNDIsIDIxMDAsIDEyNTAyNCwgMTIwNzMxLCA2MDM1LCA3Mzc5NiwgNzY1MSwgNjg0NiwgCisgICAgNjQ0NDMsIDk4Mzk1NywgOTgzMjk0LCA5MTc5ODcsIDAsIDExODk2NiwgNzQxNDQsIDQwOTk3LCA2ODQ4OCwgMTAzOTIsIAorICAgIDEwMzI4LCA0MDk5OCwgNDM0NjIsIDc0NDg4LCA3MTE4MiwgOTgwMCwgODk3OSwgMCwgMTMzMDcsIDQxMDAwLCAwLCAKKyAgICAxMTkyMzksIDY0ODcsIDMzODYsIDEyOTA5NCwgMTAzNDQsIDAsIDY1Mjk5LCA1Mzk0LCA0MzI0NiwgNzgyNDMsIDEwMjIwLCAKKyAgICA2NjUwNSwgNDEyMDAsIDEyODU4MiwgNDQyNSwgMCwgMCwgMCwgNDMwNzQsIDczNzk5LCAxMjkwNzYsIDc4MTQ3LCAwLCAKKyAgICAxMjE3MywgNzg1NDUsIDAsIDY2ODI0LCA2NTMzOCwgOTgzNjc2LCAwLCAxMTk1ODIsIDQ0NzQsIDEyODkzNiwgNDMwOTMsIAorICAgIDEyODY0NCwgMTU4NywgMCwgMTI3MzcyLCA2NDQ3NSwgMTI4MDk4LCAxMzY5LCA5ODM2NzIsIDk5NTksIDc5MjcsIDAsIAorICAgIDQ1NjAsIDAsIDAsIDkyMjc3LCA5ODM2MjEsIDY0OTQ4LCA0NDMwLCA3NDM0NywgNDI2MDEsIDQ1MTQsIDY2NDM0LCA5Mzk1NSwgCisgICAgODE5NCwgNjU0NjIsIDEwNjI2LCAxMDk2NSwgMCwgODg5MywgOTgzMzAxLCAxMjU0MiwgMCwgNjUzNDEsIDY3NzAzLCAKKyAgICA2NTgyOSwgNzkyNSwgMTE5ODIyLCAxMDQ3NSwgMTEzODI1LCAwLCAxMzUyLCAxMTA2OSwgNzcwNywgMTI3NTYwLCAxMjY0ODYsIAorICAgIDY1Mjc5LCAxMjcxMDIsIDY4MjA3LCAxMjcxMDAsIDcwOTksIDYwNDAsIDY3NjgxLCAxMDA3MSwgNzg1NTQsIDkzMzYsIAorICAgIDQzNzUwLCAxMjg1MDcsIDg4OTksIDc3OTgsIDY0NDc0LCA2NDI1OSwgNjk4NzMsIDY1MTg4LCA3ODIwLCA0MzAxOCwgCisgICAgMTI3MDgyLCAxMjg4OTgsIDc3NDYsIDE0OTIsIDc4NTUxLCAxMDg4NCwgNzc5ODIsIDY2ODY2LCA1MTI3LCAxMTI4NSwgCisgICAgNDI1MDEsIDU0OTUsIDQyNzMsIDQzMDk1LCA0MTQyNiwgMTA4NDksIDU3MzAsIDI5OTksIDYzNDIsIDY4NjM2LCA3NDMwNCwgCisgICAgMzcxLCA2NDM3MywgNjAyMywgMTY5LCA1NDk3LCAxMTcwOCwgMCwgMTI4NjAzLCA2MzIzLCAxMjkwNjUsIDgyMjQsIAorICAgIDEyODQxNywgODkzOCwgNjA0MywgMTI3MzgsIDEyMDY3MSwgOTgzMDc2LCA1MzIxLCA2ODY0NSwgMTk0Nzk4LCAxMjAyNTEsIAorICAgIDI1ODksIDc0MzMyLCAxNjg5LCA3ODAyLCA0NjgzLCA3NDMxOCwgNDI3MDQsIDkyOTQwLCAxMTkwNSwgMCwgMCwgMTI4NTE2LCAKKyAgICAxMjgxNjMsIDc0NTEzLCA2MDQ5LCAwLCA0MDI3LCA4MzQsIDExODk2MiwgMTgwMywgOTgzODIyLCAxNTAzLCAwLCAwLCAKKyAgICA3MTMxMiwgNTczMSwgMTM4MSwgMjM4NywgMTI2NjEwLCA3MDgwOCwgODI4OSwgNjQ1MjUsIDY1ODE3LCAyODgxLCA0MzE0MiwgCisgICAgMCwgOTYwMSwgMjg3OSwgOTY2OCwgOTc2NiwgMCwgNTcyOSwgMTI5MTEwLCA3MTIzMCwgNjAzNiwgNjQ4ODEsIDQwMjYsIAorICAgIDkzNjEsIDEyNzA5MSwgMjg4NywgNzAzODksIDM1MjYsIDYyOTgsIDExOTg1MSwgNzc4OTcsIDEyMDA5NSwgNzg1MTksIAorICAgIDExODk2NCwgODU3MiwgNjAyMSwgNzc4OTYsIDEyODI4OCwgNzExNzQsIDQzMTU1LCAwLCA3MTE5NywgMzE0NiwgMTA5NTksIAorICAgIDk0ODMsIDAsIDc3ODkzLCAxMDk4MSwgMTY2LCA5MTc4NDEsIDg2MzUsIDkxNzg0MCwgMTA2MjMsIDQwOCwgMTE5MDU4LCAKKyAgICAxMjc1MDcsIDEzMjk4LCAwLCA3NDI2LCA0MTY0MSwgMTI3MTcsIDAsIDc2MDcsIDEwNjM5LCA0MzM5NiwgMCwgMTE5MDg5LCAKKyAgICA0MTY0MywgNzQxMzQsIDk4MzA1NCwgODcxMywgNDE2NDAsIDEwMjIxLCA0MTY0NSwgNjYyOTMsIDY2NDUsIDY0NiwgNjY3MjYsIAorICAgIDY2NzExLCA0MjEyOSwgNjgyNTUsIDc3OTAxLCAzNDcyLCA4Njk3LCAwLCAwLCA5ODM4MTUsIDAsIDE5NDU5OSwgMCwgNTgwOSwgCisgICAgMTk1MCwgMTE5MzU2LCA5MjQzMiwgNjgzMzksIDAsIDQyMTM2LCAwLCAwLCAwLCAwLCAzMjQ3LCA5MjQwMiwgNjUwMTcsIAorICAgIDEyODc5NCwgNjg0MjgsIDY2NjY4LCAwLCAwLCAxMDk4MywgMCwgMCwgMCwgNDE1NjcsIDAsIDAsIDAsIDc4NDQ2LCAKKyAgICAxMTk4NTMsIDEyNzkyMiwgMCwgODI4NSwgMCwgNDUwOSwgOTE3ODAyLCA2NjQ3MSwgMTIyMTYsIDAsIDQwOTg4LCA5MjU5MiwgCisgICAgNzQ4MDksIDQxNzI3LCAwLCA0Mjg0OCwgMjM5NiwgMTI5MDc4LCAwLCA3NDAxOCwgOTE3NTM4LCA2NDk0MCwgNzAyNywgCisgICAgMzg4NiwgMCwgNDI0NTcsIDkyODg4LCAxMTk4MzQsIDk5NiwgNjgxMjMsIDk0MDU4LCA0MjQ5LCA5MjQxMCwgNjk2NTAsIAorICAgIDExNzA3LCA4MjIyLCA3MzgyNSwgNzkzOSwgNzEyMTMsIDkyNDYwLCAxMjc4MDEsIDkxNzU5MiwgMTI4MzU5LCA4NTM0LCAKKyAgICA2OTg1MywgNDA5ODMsIDAsIDk4MzI0MCwgMCwgNzIwMSwgMTI1NjEsIDAsIDQyMzcxLCAxMjU1OCwgMTU0MCwgOTE3NTQ5LCAKKyAgICAxMDA1MiwgNDA5ODIsIDAsIDAsIDE0ODgsIDcxMTc3LCAwLCAxOTQ4MzEsIDkxNzU1OSwgMTI4NDAxLCAwLCAxNTYzLCAKKyAgICAxMjgwMzQsIDk2MTksIDk4Mzk0MCwgMCwgOTgzMDgyLCAxMjc4NzIsIDcxMzYzLCAzNTYwLCA3Nzk3LCA2MDcwLCAxMDAwNiwgCisgICAgMTI4OTIyLCAyOTIyLCA2MDgyLCA3MDE0NywgNjUwMDksIDk4Mzk0MiwgMTI1NjcsIDY2NzEyLCAwLCA0MTQxMiwgMCwgMCwgCisgICAgMzYwNywgOTIwMCwgMTAwNDYsIDk2MTIsIDQyMTUzLCA4MjE4LCA5NDg1LCAwLCAyMDMyLCA3ODM1NCwgOTE3OTA0LCAKKyAgICAxMTkxMzEsIDAsIDAsIDAsIDQzMDg1LCA2MDU3LCA1MDgsIDkzOTY4LCA5Mjk4OSwgNjc5NjgsIDAsIDkyMTk4LCAwLCAwLCAKKyAgICA2MzgsIDYwODMsIDExOTA3MiwgMTI0OTUwLCAwLCAyMzA1LCA3ODM0OCwgNjgwOTYsIDAsIDYwNTYsIDY2NTksIDY3OTY5LCAKKyAgICA5ODMyODgsIDYwODUsIDAsIDAsIDM5MTUsIDQxNjM0LCAwLCA0MTYzOSwgNjM5MTIsIDExOTQxLCA5ODM3ODMsIDQwMjgsIAorICAgIDE3ODcsIDQyMTgwLCA0MzA5NiwgNDM3NTMsIDMyNDksIDE3NjgsIDkzOTgyLCAxMjMyOCwgNTAxLCA5Mzk4NSwgMTA2MDEsIAorICAgIDAsIDU4MywgMCwgNDE5NzcsIDAsIDY2MDA0LCA2NjQxNiwgNjUwNSwgNzQwMTAsIDAsIDEzMDY0LCA1NTI2NywgMTE5MTEzLCAKKyAgICA2NTAwLCA1NTI2LCA2NTA0OSwgMCwgMTI5OTAsIDAsIDkyMzc2LCAxMjc0NSwgOTY3OCwgOTgzMTQzLCAxMjA1ODcsIDk4NjksIAorICAgIDEyODgxNSwgMTc3MSwgMTI4OTY1LCA4OTM2LCA5Mjk2NCwgMCwgNDIwOCwgNzgzNDEsIDc4NTY3LCA3ODM0MiwgNjc3NDIsIAorICAgIDk4MzIwOCwgNzQxMDEsIDEyODYwNSwgMTE3NjIsIDAsIDcwMDk2LCA2ODM1LCA2ODAxMCwgNjY0NzUsIDEyMDI2MCwgNTAyNywgCisgICAgNzgxNzIsIDEyODg3OCwgMTE5ODMwLCA1MDY5LCA3MzczNiwgNTAyOCwgOTg5NywgOTI3NzQsIDczNzM5LCA1MDI2LCAKICAgICA5ODMyNTMsIDY4NjM5LCA2MzMxLCAxMDA3OSwgODkzMSwgMCwgMTQxNSwgODg2NiwgNDE5MDEsIDc0NzkwLCA3ODEzOCwgCi0gICAgMTE5MzYxLCA5ODM1NjQsIDQzMTA2LCA1MDI5LCA2NTMwOSwgMTU4MCwgMzU5OCwgNjg0MjQsIDQxMDcwLCA3NzkwMywgMCwgCi0gICAgMzQ0MCwgNzgyMTUsIDE1NjIsIDEyODY1NiwgMTI3MTc1LCAxMTkzNTgsIDE3MTYsIDk4MzY3OSwgMTA2MDAsIDkxNzg2NywgCi0gICAgNjIwLCA0MTAwMSwgNjAyOCwgMCwgNDI4OTIsIDAsIDc0ODIyLCA1MDI0LCAxMjA4MjksIDQxMDAzLCAwLCA1MDI1LCAKLSAgICA2OTg5MiwgOTgzMjA5LCAwLCAxMTg4ODUsIDAsIDY1NTU3LCAwLCA3NDU0MSwgOTgzNTg3LCAxMTU5OSwgMTI4MjA5LCAKLSAgICAxMTYwMiwgNjI0MywgMTE1NzQsIDExNTgxLCAxMTU5NywgMTE1OTgsIDYyNTMsIDYxMDUsIDExNTg0LCA3NDE5NSwgMTE1NjksIAotICAgIDY1Mjc1LCA4OTA2LCAxMjcwOTYsIDU3NTUsIDI2MzYsIDk4MzIyNywgMTA4MTUsIDExNjE5LCAyMzAxLCA0MTU0MCwgNzgxNSwgCi0gICAgMTE2MTYsIDY5NzksIDEyMDgwLCA3NzIxLCAxMTYwNCwgNzg2OSwgMTU5MiwgMCwgNDIxNTIsIDc4NDk4LCA0MTA0OCwgCi0gICAgOTE3NzYzLCA4MjksIDAsIDkyNDA2LCAxOTk1MCwgMCwgMTI2NDgyLCA2NjE2LCAwLCAxMTg4NzUsIDEwOTUzLCAzOTEsIDAsIAotICAgIDY5Nzg1LCA0ODIsIDQyMjk2LCAxMTU4OCwgMCwgNDM2MDYsIDAsIDY4Mzk3LCA2NjM3MCwgNzQ1MDYsIDQyMzM1LCAKLSAgICA5ODMxODgsIDAsIDAsIDc1MzgsIDUzMTUsIDEyMDY0NCwgNDI0OTEsIDAsIDQyMDYxLCAxMjgwODgsIDQ1NzYsIDAsIAotICAgIDY4NDE3LCA0MzgwOSwgNDI3NywgMCwgNDAzOSwgNjQ0NzIsIDQyMzM4LCAzNjgsIDQyMDU4LCAzOTYwLCAxMTA0MywgCi0gICAgMTEzMzcsIDc4MjA5LCA5MTc4MjAsIDYzOTg5LCAzOTU4LCAxMjEzMiwgMTg0OSwgMCwgOTkyMSwgNDI0NTEsIDQyNTMsIAotICAgIDQxMTQ3LCA0MjA2NCwgMTE5NTksIDQyNDA0LCA0MTE2MCwgMCwgMzYxOCwgNzgzMzgsIDAsIDQzMzAwLCA1MTU2LCA5MjYyOSwgCi0gICAgMCwgOTI5LCA2ODI3LCA0MjAzNSwgNDI0MzcsIDE1NTUsIDAsIDg2OTEsIDY2NDM1LCAyMjE1LCA0MTY2MiwgOTQwMTAsIDAsIAotICAgIDAsIDAsIDkzOTUyLCA0NTc4LCA2NDUxMywgNDE2NjQsIDk4MzczNCwgNDI1NzgsIDEyODc5NCwgNDE2NjEsIDc4NzE1LCAKLSAgICA0MzI2NywgOTM1NiwgMCwgMCwgMCwgMTI4NiwgMTAxNjYsIDAsIDAsIDY0NzA3LCA5ODMxMjcsIDQyNDc2LCA3NzMwLCAKLSAgICA5ODM4NTksIDEyODUyMiwgNDI0ODMsIDAsIDAsIDQyMzI0LCA0MjI5MSwgMTAwMjAsIDQzMzU5LCAwLCA2NjQxLCA1MjUsIAotICAgIDQxNjI3LCA5MTc5MjMsIDg3NjMsIDEyODMwNCwgNDE2MjgsIDUzMywgMTE5MzEsIDY1MjI1LCA4MzIxLCA0MjUwNCwgCi0gICAgNDI1ODEsIDAsIDY5MTUsIDQyMzEwLCA0Mzc3LCA4NTU5LCAwLCA3NDM2MCwgMCwgMTMxOTMsIDY0MzUwLCAxMTY2NiwgCi0gICAgODY3OSwgNDE5MjQsIDE1NzYsIDc3MzUsIDkyMzk4LCAwLCA3Mzg0MCwgOTgzMDkyLCAxMTM3NCwgNzgwNDMsIDEwODg5LCAKLSAgICA0MzQ2MSwgNzc1NywgNDI0NjIsIDEyMDIyNiwgMTAwMjksIDY2NDkzLCAyNzE4LCA0MTY4LCA3Mzg0MiwgMTMzMDgsIAotICAgIDEyMDExMiwgMCwgMTE3OSwgNDQ0MCwgMCwgNzc5NDgsIDM2MywgMTEwMTUsIDc3OTQ3LCA3Nzk0NCwgNjQyOTYsIDEyNzA5MCwgCi0gICAgNjY2OTIsIDEyMDgyNiwgMCwgNjY0OTIsIDY1OTMsIDY0NjI1LCA0MTk2MywgOTIxNzcsIDExOTMyOSwgMCwgMTAwMTMsIAotICAgIDY0NDM0LCA5MjUyMCwgMTI3MDk1LCA5NDkyLCAxMTc4MiwgNjQzODIsIDEyODMzLCA3NzgzMCwgMCwgMTI5NywgNDE2MzAsIAotICAgIDYzMCwgMTI3MDk0LCAwLCAxMjA3NzQsIDkyNDY1LCAxMDQzLCA0MzY1MiwgNjYyMjMsIDEwMDkwLCAwLCAxMjg2NjQsIDMxMywgCi0gICAgOTE3NTYzLCA0MTg4MSwgMCwgNDIzMTEsIDc0NDUsIDAsIDU3NTAsIDEwNzU5LCA5NDE5LCA1NTIyMiwgOTQwNSwgMTEyNjgsIAotICAgIDQyOTE5LCA5Mzk4LCA4NTI2LCA5Mzk5LCA5NDIyLCAwLCA2NjQ5NSwgMCwgMCwgMTI3MjM5LCA0MTcxOCwgMTA3MDcsIAotICAgIDE2MDMsIDAsIDExOTAwMywgMCwgNjMxLCA3Nzk1MiwgNjk3MDMsIDEzMTYxLCA2NTI3MiwgMCwgMTA1NDYsIDc0MjEwLCAKLSAgICA3ODEwMSwgMTE2MDAsIDc3OTYxLCAyNzk3LCA3MzgyMSwgNDI0MjcsIDMwNiwgNzE0LCAzMDU4LCA0MjM4MSwgNzc5NjIsIAotICAgIDEyNzA4MCwgMTIzNTEsIDQyMzk1LCAwLCAxMTYwNywgMCwgNDIyODIsIDc3OTcxLCA3Nzk2NywgOTE1NywgNzM3NjUsIAotICAgIDY2MzY0LCA0MjQzMywgNzc5NjQsIDc2MDMsIDEyODAzLCAxODAsIDQyMTQxLCAwLCAxMjA2MTIsIDY2NDk0LCAxMjY3NCwgCi0gICAgODI0NCwgMzYyLCA5MjQzOSwgMCwgODAzNywgNDM3NzcsIDExNTM1LCAwLCA3NDg0NSwgNTE4NSwgNzE2NSwgNTUyMSwgCi0gICAgMTAzMzQsIDIwOTMsIDcxMzI5LCAxMDMwMiwgMTI4MTEyLCAxMDEwNCwgMTAyNywgNTE4MSwgMCwgMCwgMTA1MjMsIDE0NDYsIAotICAgIDQyMzIwLCA0MTY0NiwgOTkxLCA1MTg5LCA0MjQ3MiwgNDE2NDcsIDEyMDEwNSwgMTcyMiwgNTU4MSwgNDI4OTgsIDM0MDUsIAotICAgIDAsIDE5NDY0NCwgNTUyMywgMCwgNDI2MjAsIDkyNDQ3LCA5ODM4MTksIDk1NDksIDAsIDEwNTQ5LCA1NTI4MiwgOTY2MSwgCi0gICAgNDM2ODIsIDAsIDc3OTEwLCAxMjAwMjYsIDc4NzA4LCAwLCA3NzkxMSwgMCwgNDE5OTEsIDk4Mzg5MywgMCwgNzYzMCwgCi0gICAgOTg0NiwgNzY4NCwgMTAzNTAsIDAsIDExNzQsIDc3OTgxLCA0MjczMywgNzc5NzgsIDc3OTgwLCA2NjQ4NSwgNzc5NzcsIAotICAgIDQyMjc3LCA3Nzk3NCwgNDI0NTYsIDY1NjY3LCAxMjcwMzcsIDEyMzMwLCAxMjgyNzIsIDAsIDQyNDE3LCA0MjM4MywgCi0gICAgNjY2MzAsIDQxMzQ0LCA2MjkzLCAwLCA2NjI1MiwgNzc5ODQsIDc0NDQzLCAwLCAxMDIwOSwgODMxMywgNDE5NSwgNzQ0MzUsIAotICAgIDEzMTYsIDY2NjkwLCAxMjAwMzIsIDYzMzIsIDY0ODk0LCAwLCA2NTg3MSwgNzgwNjAsIDE3MzYsIDk4MzY4NCwgMzkwMSwgCi0gICAgMTIyMjgsIDEyMDE1MSwgNjUyMDAsIDMzODMsIDEwNDQ2LCA3ODg0MSwgNjkzLCA5MTMwLCAzMTQsIDY0MTQ5LCA0MjQyMCwgCi0gICAgMTE5NDksIDk4MzY2OSwgMTIwMTUyLCAxMTAyNiwgMTI4Nzg4LCA1MzMyLCA2OTQwLCA2NDE1NCwgMTI2MzUsIDEyNzAwNywgCi0gICAgNDI3MDYsIDE3NTEsIDI3MywgODE2NSwgMTMxNjYsIDEyMDc2MywgNzg4NDAsIDcxMzY4LCAxMjgyNCwgMCwgNDUyOCwgCi0gICAgNTMyMCwgNjMwMSwgNDM2NjIsIDYxMzMsIDkzMzksIDk0NjMsIDQyMzQ2LCAxMDkyMiwgNjQ1NjAsIDM3NTcsIDAsIDAsIDAsIAotICAgIDY1ODY5LCA3Mzc2MCwgMjU2OSwgMCwgMjMyNiwgNjU3NDAsIDI1NjUsIDQyNDU5LCA3NTk2LCA3OTIxLCA5ODM4NjgsIAotICAgIDc0MDk1LCAxMjc5ODEsIDQxODQ4LCAyNTY3LCA2NjAwNiwgMCwgNDA0NCwgOTI2NDYsIDAsIDEyMjMzLCA5ODM4NzEsIAotICAgIDEwMjMsIDQ3NCwgMCwgMTE5ODE4LCAwLCAwLCA0MjQ4NywgNjU1NTYsIDAsIDEyNzg2NiwgNDIyOTUsIDAsIDAsIDcxMzIyLCAKLSAgICA5MjUxOCwgOTgzNSwgNjY0OTksIDAsIDU0MTcsIDEyMjc1LCAxMDg5NSwgMCwgMjc0LCAwLCAxODU4LCAwLCAwLCA1NTI1MSwgCi0gICAgMTAxMTgsIDMxMzMsIDEyODAwOCwgNzM3OTUsIDAsIDk2MTAsIDgwNjgsIDgxOTcsIDAsIDY5OSwgMCwgNDE2NjUsIDU4NjgsIAotICAgIDAsIDkyNjk1LCA0MjE4MiwgNzU4MSwgMTk5NDAsIDQzNjY4LCA0MTY2NywgMTI4MDU3LCAwLCAxOTIzLCA2NTU4MywgCi0gICAgNjU4MDIsIDkzOTcwLCA2NDU5NywgNDM0NDQsIDExOTE4NCwgOTIxOTcsIDAsIDY0NjQsIDcwMzYsIDI5OTYsIDE5MzcsIAotICAgIDk4Mzc1MSwgMCwgNDE4MzUsIDQwNDcsIDQxODQyLCAwLCA2NDEwNywgMCwgMCwgMTEwMTcsIDEyMDYwMSwgMCwgMjkzLCAKLSAgICA3Nzk2NiwgOTIxNjksIDY0NzkxLCA0MTgyNywgNDI0NjYsIDQzNDIyLCAxMDU3OSwgODU2MCwgNzEzNTAsIDY1NDEzLCAKLSAgICA3Nzk2MywgNDgwMywgMTI5NjQsIDE3MzksIDE5NDEsIDM5MDAsIDAsIDE3MTMsIDc3OTY5LCAwLCA3Mzk1NywgMTE0MDcsIAotICAgIDQyNDQxLCA0MTk3MSwgNjI5NywgMTIwMDk4LCA2NDEwNSwgMTI4MDgwLCA0MjQ4MSwgMTE3MTYsIDY2NDczLCA3MTc5LCAKLSAgICA0MjI4OSwgMCwgNjQxMDMsIDk2OSwgMCwgOTM1MiwgMCwgNjE2NSwgNjQxMDAsIDAsIDY2MzIsIDczODYxLCA0MjQwMiwgCi0gICAgNzQzMjcsIDc4MDYsIDAsIDg5MTQsIDAsIDAsIDMxODMsIDE0MzUsIDY0ODc2LCAyOTY5LCA2MDQ2LCA2NDQ0MSwgNjIwOCwgCi0gICAgNjc4NDksIDU3NDYsIDczNzQ5LCAwLCA2NDQxNiwgNDI0MjIsIDAsIDk4MzA0NiwgNzA4MiwgNzM3NzUsIDMzOCwgNTA1OSwgCi0gICAgMTk0NzE5LCAwLCA0MjMyOCwgMTA3NjcsIDAsIDgxMTUsIDAsIDc0NzU4LCAwLCA4MjI3LCAyMDczLCAxMjE4LCA5MTc3OTAsIAotICAgIDAsIDY1ODQ4LCAwLCAwLCA2OTg2MywgMCwgMTI2OTg3LCA0NDg2LCAwLCAwLCAwLCAxMDkyNSwgMCwgMCwgMCwgOTgzNTg2LCAKLSAgICA0MjMwOSwgMTAyNTcsIDY1MTkxLCAxMDI3MywgMCwgMTAzMDUsIDQyNDYxLCAwLCA0MjM0OSwgODgzMiwgNzgwNTEsIAotICAgIDY0MTI3LCAxMDY0NCwgNDI2NjIsIDc4ODI4LCA0MjI3OCwgNzQ0NTEsIDEyNjk4OCwgNjk4NzQsIDc3OTQsIDAsIDQyNDI5LCAKLSAgICA2Mzc3LCA0MjMxNiwgMTE5MDI2LCAzNjY5LCAzOTY4LCA0MjQ2OCwgNzEzMTksIDY5NjU4LCAwLCA2NTQwMiwgMTE5NTgxLCAKLSAgICAwLCAwLCA2NDkzMywgMCwgNDE5NjAsIDY2OTksIDAsIDAsIDEyODM1NCwgNjgyMywgNDIzOTEsIDE1ODgsIDY1NDAwLCAKLSAgICA4NDA5LCA3ODIyMywgMTk5NjcsIDY1Mzk4LCA3ODcsIDcxMzE1LCA5MTc5MzksIDEyNzc0NCwgNjExNSwgMjA3OCwgNDE2NTQsIAotICAgIDQyNDgwLCAwLCA5MjY1MCwgNDE2NTUsIDY1NDAxLCA0Mzk3NSwgMCwgMCwgMCwgNjQ0LCA2NTUwMCwgNDE2NTcsIDEwNzc4LCAKLSAgICAzNjU5LCA5NTMzLCAxODQsIDE1NTMsIDEzMTA3LCA2NTQ4NCwgNjk2NDgsIDEwNTAyLCA3NDQ1NywgMCwgMCwgNDE1NTQsIDAsIAotICAgIDgyMjAsIDkxNzk0MywgNDE1NTcsIDAsIDAsIDExMDcwLCAxMTkyMjEsIDUxNTcsIDQwMjAsIDczODU4LCA0MTU1NSwgOTUxNCwgCi0gICAgNjQ4MTgsIDY1MTAzLCA2NDY0MSwgNjQzMDMsIDc4MTMxLCA3NTIwLCAwLCA3NDM3NywgMTEwMjksIDY2NjUxLCA5ODMwNjgsIAotICAgIDAsIDExODkzMCwgNjQ1MjcsIDAsIDc4NzcsIDczODAzLCA5ODM3OTgsIDEyNzM0OCwgMTIwMDk2LCA3NDYwMiwgOTk1NSwgCisgICAgMTE5MzYxLCA5ODM1NjQsIDQzMTA2LCA1MDI5LCA2NTMwOSwgMTU4MCwgMzU5OCwgNjg0MjQsIDQxMDcwLCA3NzkwMywgCisgICAgNzY1OCwgMzQ0MCwgNzgyMTUsIDE1NjIsIDEyODY1NiwgMTI3MTc1LCAxMTkzNTgsIDE3MTYsIDk4MzY3OSwgMTA2MDAsIAorICAgIDkxNzg2NywgNjIwLCA0MTAwMSwgNjAyOCwgMCwgNDI4OTIsIDAsIDc0ODIyLCA1MDI0LCAxMjA4MjksIDQxMDAzLCA2ODEzNywgCisgICAgNTAyNSwgNjk4OTIsIDk4MzIwOSwgMCwgMTE4ODg1LCAxMjc5NTYsIDY1NTU3LCAwLCA3NDU0MSwgMTI4OTI0LCAxMTU5OSwgCisgICAgMTI4MjA5LCAxMTYwMiwgNjI0MywgMTE1NzQsIDExNTgxLCAxMTU5NywgMTE1OTgsIDYyNTMsIDYxMDUsIDExNTg0LCAKKyAgICA3NDE5NSwgMTE1NjksIDY1Mjc1LCA4OTA2LCAxMjcwOTYsIDU3NTUsIDI2MzYsIDcxMjAzLCAxMDgxNSwgMTE2MTksIDIzMDEsIAorICAgIDQxNTQwLCA3ODE1LCAxMTYxNiwgNjk3OSwgMTIwODAsIDc3MjEsIDExNjA0LCA3ODY5LCAxNTkyLCAwLCA0MjE1MiwgCisgICAgNzg0OTgsIDQxMDQ4LCA5MTc3NjMsIDgyOSwgMCwgOTI0MDYsIDE5OTUwLCA2Njg4NiwgMTI2NDgyLCA2NjE2LCAwLCAKKyAgICAxMTg4NzUsIDEwOTUzLCAzOTEsIDAsIDY5Nzg1LCA0ODIsIDQyMjk2LCAxMTU4OCwgMCwgNDM2MDYsIDcxMTg1LCA2ODM5NywgCisgICAgNjYzNzAsIDc0MjgyLCA0MjMzNSwgOTgzMTg4LCA3MjQyMSwgOTgzNzk5LCA3NTM4LCA1MzE1LCAxMjA2NDQsIDQyNDkxLCAKKyAgICA5MjkwMSwgNDIwNjEsIDEyODAwMiwgNDU3NiwgMCwgNjg0MTcsIDQzODA5LCA0Mjc3LCAwLCAzNTYzLCA2NDQ3MiwgNDIzMzgsIAorICAgIDM2OCwgNDIwNTgsIDM5NjAsIDExMDQzLCAxMTMzNywgNzgyMDksIDkxNzgyMCwgNjM5ODksIDM5NTgsIDEyMTMyLCAxODQ5LCAKKyAgICAwLCA5OTIxLCA0MjQ1MSwgNDI1MywgNDExNDcsIDQyMDY0LCAxMTk1OSwgNDI0MDQsIDQxMTYwLCAwLCAzNjE4LCA3ODMzOCwgCisgICAgMTk0OTI0LCA0MzMwMCwgNTE1NiwgOTI2MjksIDcwMzUwLCA5MjksIDY4MjcsIDQyMDM1LCA0MjQzNywgMTU1NSwgMCwgCisgICAgODY5MSwgNjY0MzUsIDIyMTUsIDQxNjYyLCA5NDAxMCwgMCwgMCwgMTI4ODI0LCA5Mzk1MiwgNDU3OCwgNjQ1MTMsIDQxNjY0LCAKKyAgICA5ODM3MzQsIDQyNTc4LCA3MTA0OSwgNDE2NjEsIDc4MzUxLCA0MzI2NywgOTM1NiwgMCwgMCwgMCwgMTI4NiwgMTAxNjYsIAorICAgIDk4MzExNywgMCwgNjQ3MDcsIDEyODkyNSwgNDI0NzYsIDc3MzAsIDExMTU2LCAxMjg1MjIsIDQyNDgzLCAwLCAxMjg0MDQsIAorICAgIDQyMzI0LCA0MjI5MSwgMTAwMjAsIDQzMzU5LCAwLCA2NjQxLCA1MjUsIDQxNjI3LCA5MTc5MjMsIDg3NjMsIDEyODMwNCwgCisgICAgNDE2MjgsIDUzMywgMTE5MzEsIDY1MjI1LCA4MzIxLCA0MjUwNCwgNDI1ODEsIDAsIDY5MTUsIDQyMzEwLCA0Mzc3LCA4NTU5LCAKKyAgICAxMjgzMjEsIDc0MzYwLCAxMjUxMDAsIDEzMTkzLCA2NDM1MCwgMTE2NjYsIDg2NzksIDQxOTI0LCAxNTc2LCA3NzM1LCAKKyAgICA5MjM5OCwgMCwgNzM4NDAsIDk4MzA5MiwgMTEzNzQsIDc4MDQzLCAxMDg4OSwgNDM0NjEsIDc3NTcsIDQyNDYyLCAxMjAyMjYsIAorICAgIDEwMDI5LCA2NjQ5MywgMjcxOCwgNDE2OCwgNzM4NDIsIDEzMzA4LCAxMjAxMTIsIDAsIDExNzksIDQ0NDAsIDAsIDc3OTQ4LCAKKyAgICAzNjMsIDExMDE1LCA2NjgxNywgNzc5NDQsIDQzODU3LCAxMjcwOTAsIDY2NjkyLCAxMjA4MjYsIDAsIDY2NDkyLCA2NTkzLCAKKyAgICA2NDYyNSwgNDE5NjMsIDkyMTc3LCAxMTkzMjksIDAsIDEwMDEzLCA2NDQzNCwgOTI1MjAsIDEyNzA5NSwgOTQ5MiwgMTE3ODIsIAorICAgIDY0MzgyLCAxMjgzMywgNzc4MzAsIDAsIDEyOTcsIDQxNjMwLCA2MzAsIDEyNzA5NCwgMCwgMTIwNzc0LCA3MDE2NSwgMTA0MywgCisgICAgNDM2NTIsIDY2MjIzLCAxMDA5MCwgMCwgMTI0OTQ1LCAzMTMsIDEyOTAzMywgNDE4ODEsIDAsIDQyMzExLCA3NDQ1LCAKKyAgICAxMTkyNDQsIDU3NTAsIDEwNzU5LCA5NDE5LCA1NTIyMiwgOTQwNSwgMTEyNjgsIDQyOTE5LCA5Mzk4LCA4NTI2LCA5Mzk5LCAKKyAgICA5NDIyLCAwLCA2NjQ5NSwgNjk5OTAsIDAsIDkyOTkwLCA0MTcxOCwgMTA3MDcsIDE2MDMsIDk4MzcwMywgMTE5MDAzLCAwLCAKKyAgICA2MzEsIDc3OTUyLCA2OTcwMywgMTMxNjEsIDY1MjcyLCA3MTA2NywgMTA1NDYsIDc0MjEwLCA3ODEwMSwgMTE2MDAsIAorICAgIDc3OTYxLCAyNzk3LCA3MzgyMSwgNDI0MjcsIDMwNiwgNzE0LCAzMDU4LCA0MjM4MSwgNzc5NjIsIDEyNzA4MCwgMTIzNTEsIAorICAgIDQyMzk1LCAwLCAxMTYwNywgMTI3NTI4LCAxMTE5OCwgNjY4MjEsIDc3OTY3LCA5MTU3LCA3Mzc2NSwgNjYzNjQsIDQyNDMzLCAKKyAgICA3Nzk2NCwgNzYwMywgMTI4MDMsIDE4MCwgNDIxNDEsIDAsIDEyMDYxMiwgNjY0OTQsIDEyNjc0LCA4MjQ0LCAzNjIsIAorICAgIDkyNDM5LCAxMjUwOTYsIDgwMzcsIDQzNzc3LCAxMTUzNSwgMCwgNzQ4NDUsIDUxODUsIDcxNjUsIDU1MjEsIDEwMzM0LCAKKyAgICAyMDkzLCA3MTMyOSwgMTAzMDIsIDEyNTEzMSwgMTAxMDQsIDEwMjcsIDUxODEsIDk4MzE0NiwgMCwgMTA1MjMsIDE0NDYsIAorICAgIDQyMzIwLCA2ODQ1LCA5OTEsIDUxODksIDQyNDcyLCA0MTY0NywgMTIwMTA1LCAxNzIyLCA1NTgxLCA0Mjg5OCwgMzQwNSwgMCwgCisgICAgMTk0NjQ0LCA1NTIzLCAwLCA0MjYyMCwgOTI0NDcsIDEyNDk4OCwgOTU0OSwgMCwgMTA1NDksIDU1MjgyLCA5NjYxLCAKKyAgICA0MzY4MiwgMCwgNzc5MTAsIDc4MDY4LCA2ODI0NywgMCwgNzExODQsIDk4MzA3MCwgNDE5OTEsIDk4Mzg5MywgMCwgNzYzMCwgCisgICAgOTg0NiwgNzY4NCwgMTAzNTAsIDEyODQ1MywgMTE3NCwgNzc5ODEsIDQyNzMzLCA3Nzk3OCwgNzc5ODAsIDY2NDg1LCAKKyAgICA3Nzk3NywgNDIyNzcsIDc3OTc0LCA0MjQ1NiwgNjU2NjcsIDc0NDM4LCAxMjMzMCwgMTI4MjcyLCAwLCA0MjQxNywgNDIzODMsIAorICAgIDY2NjMwLCA0MTM0NCwgNjI5MywgMCwgNjYyNTIsIDc3OTg0LCA3NDQ0MywgMTI3ODk0LCAxMDIwOSwgODMxMywgNDE5NSwgCisgICAgNzQ0MzUsIDEzMTYsIDY2NjkwLCAxMjAwMzIsIDYzMzIsIDY0ODk0LCA5ODMxNTYsIDY1ODcxLCA3ODA2MCwgMTczNiwgCisgICAgOTgzNjg0LCAzOTAxLCAxMjIyOCwgMTIwMTUxLCA2NTIwMCwgMzM4MywgMTA0NDYsIDc4MjQxLCA2OTMsIDkxMzAsIDMxNCwgCisgICAgNjQxNDksIDQyNDIwLCAxMTk0OSwgOTgzNjY5LCAxMjAxNTIsIDExMDI2LCAxMjA1MTYsIDUzMzIsIDY5NDAsIDY0MTU0LCAKKyAgICAxMjYzNSwgMTI0OTgwLCA0MjcwNiwgMTc1MSwgMjczLCA4MTY1LCAxMzE2NiwgMTIwNzYzLCA3ODg0MCwgNzEzNjgsIAorICAgIDEyODI0LCAwLCA0NTI4LCA1MzIwLCA2MzAxLCA0MzY2MiwgNjEzMywgOTMzOSwgOTQ2MywgNDIzNDYsIDEwOTIyLCA2NDU2MCwgCisgICAgMzc1NywgMCwgMCwgNzQzMDIsIDY1ODY5LCA3Mzc2MCwgMjU2OSwgMCwgMjMyNiwgNjU3NDAsIDI1NjUsIDQyNDU5LCA3NTk2LCAKKyAgICA3OTIxLCA5ODM4NjgsIDczODYyLCAxMjc5ODEsIDQxODQ4LCAyNTY3LCA2NjAwNiwgOTI2MjIsIDQwNDQsIDkyNjQ2LCAwLCAKKyAgICAxMjIzMywgOTgzODcxLCAxMDIzLCA0NzQsIDAsIDExOTgxOCwgMCwgMCwgNDI0ODcsIDY1NTU2LCAwLCAxMjc4NjYsIAorICAgIDQyMjk1LCAwLCAxMjUxMTQsIDcxMzIyLCA5MjUxOCwgMjIyMiwgNjY0OTksIDAsIDU0MTcsIDEyMjc1LCAxMDg5NSwgMCwgCisgICAgMjc0LCAwLCAxODU4LCAwLCAwLCA1NTI1MSwgMTAxMTgsIDMxMzMsIDEyODAwOCwgNzE4NTcsIDAsIDk2MTAsIDgwNjgsIAorICAgIDgxOTcsIDAsIDY5OSwgMCwgNDE2NjUsIDU4NjgsIDEyODcxMCwgOTI2OTUsIDQyMTgyLCA3NTgxLCAxOTk0MCwgNDM2NjgsIAorICAgIDQxNjY3LCAxMjgwNTcsIDAsIDE5MjMsIDY1NTgzLCA2NTgwMiwgOTM5NzAsIDY0NTk3LCA0MzQ0NCwgMTE5MTg0LCA3MTg1NSwgCisgICAgMCwgNjQ2NCwgNzAzNiwgMjk5NiwgMTkzNywgOTgzNzUxLCA2ODQ4MSwgNDE4MzUsIDQwNDcsIDQxODQyLCAwLCA2NDEwNywgCisgICAgNzc5NjUsIDk4Mzc0NiwgMTEwMTcsIDEyMDYwMSwgMCwgMjkzLCA3Nzk2NiwgOTIxNjksIDY0NzkxLCA0MTgyNywgNDI0NjYsIAorICAgIDQzNDIyLCAxMDU3OSwgODU2MCwgNzEzNTAsIDY1NDEzLCA3Nzk2MywgNDgwMywgMTI5NjQsIDE3MzksIDE5NDEsIDM5MDAsIAorICAgIDEyODk2NywgMTcxMywgNzc5NjksIDAsIDczOTU3LCAxMTQwNywgNDI0NDEsIDQxOTcxLCA2Mjk3LCAxMjAwOTgsIDY0MTA1LCAKKyAgICAxMjgwODAsIDQyNDgxLCAxMTcxNiwgNjY0NzMsIDcxNzksIDQyMjg5LCAxMjUwOTUsIDY0MTAzLCA5NjksIDAsIDkzNTIsIAorICAgIDk4MzE0OSwgNjE2NSwgNjQxMDAsIDAsIDY2MzIsIDczODYxLCA0MjQwMiwgNzQzMjcsIDc4MDYsIDAsIDg5MTQsIDY2OTA4LCAKKyAgICAxMjQ5NTQsIDMxODMsIDE0MzUsIDY0ODc2LCAyOTY5LCA2MDQ2LCA2NDQ0MSwgNjIwOCwgNjc4NDksIDU3NDYsIDY2NDA4LCAKKyAgICAwLCA2NDQxNiwgNDI0MjIsIDAsIDk4MzA0NiwgNzA4MiwgNzM3NzUsIDMzOCwgNTA1OSwgMTk0NzE5LCAxMjkxNDUsIAorICAgIDQyMzI4LCAxMDc2NywgMCwgODExNSwgMCwgNzQ3NTgsIDAsIDgyMjcsIDIwNzMsIDEyMTgsIDkxNzc5MCwgOTgzMjMwLCAKKyAgICA2NTg0OCwgOTI4ODQsIDAsIDY5ODYzLCAwLCAxMjY5ODcsIDQ0ODYsIDEyODA4MiwgMCwgMCwgMTA5MjUsIDAsIDExOTg2OCwgCisgICAgMCwgMTI0OTUyLCA0MjMwOSwgMTAyNTcsIDY1MTkxLCAxMDI3MywgNzY2OCwgMTAzMDUsIDQyNDYxLCAwLCA0MjM0OSwgCisgICAgODgzMiwgNzgwNTEsIDY0MTI3LCAxMDY0NCwgNDI2NjIsIDc4ODI4LCA0MjI3OCwgNzQ0NTEsIDEyNjk4OCwgNjk4NzQsIAorICAgIDc3OTQsIDExOTg2NywgNDI0MjksIDYzNzcsIDQyMzE2LCAxMTkwMjYsIDM2NjksIDM5NjgsIDQyNDY4LCA3MTMxOSwgCisgICAgNjk2NTgsIDAsIDY1NDAyLCAxMTk1ODEsIDAsIDEyODc0NywgNjQ5MzMsIDE5NDgxNSwgNDE5NjAsIDY2OTksIDQyOTAzLCAKKyAgICAxMjg3NTUsIDEyNTAxMywgNjgyMywgNDIzOTEsIDE1ODgsIDQzNTAyLCA4NDA5LCA3ODIyMywgMTk5NjcsIDY1Mzk4LCA3ODcsIAorICAgIDcxMzE1LCA5MTc5MzksIDEyNzc0NCwgNjExNSwgMjA3OCwgNDE2NTQsIDQyNDgwLCAwLCA5MjY1MCwgNDE2NTUsIDY1NDAxLCAKKyAgICA0Mzk3NSwgNzI0MjcsIDAsIDExMzgxNiwgNjQ0LCA2NTUwMCwgNDE2NTcsIDEwNzc4LCAzNjU5LCA5NTMzLCAxODQsIDE1NTMsIAorICAgIDEzMTA3LCA2NTQ4NCwgNjk2NDgsIDEwNTAyLCA2NjI5NiwgMCwgMCwgNDE1NTQsIDAsIDgyMjAsIDEyOTAzMSwgNDE1NTcsIAorICAgIDAsIDEyODkzOCwgMTEwNzAsIDExOTIyMSwgNTE1NywgNDAyMCwgNzM4NTgsIDQxNTU1LCA5NTE0LCA2NDgxOCwgNjUxMDMsIAorICAgIDY0NjQxLCA2NDMwMywgNzgxMzEsIDc1MjAsIDczODg4LCA3NDM3NywgMTEwMjksIDY2NjUxLCA5ODMwNjgsIDEyODQ5MiwgCisgICAgMTE4OTMwLCA2NDUyNywgMCwgNzg3NywgMTI3MjMsIDk4Mzc5OCwgMTI3MzQ4LCAxMjAwOTYsIDc0NjAyLCA5OTU1LCAKICAgICAxMTk1NTcsIDQwNTUsIDQyODE3LCAwLCA2NTIxMiwgMTE3MTUsIDEyMTkwLCAxMjMxOSwgNzg2MzAsIDAsIDc4NjMxLCAKLSAgICA5NTAyLCA2NTQyNywgMCwgNjU0MjQsIDEyNjA3LCAwLCA5NzM0LCA2NTQyNSwgMCwgMCwgMTI3MzU3LCA3ODgzNSwgOTI0MTAsIAotICAgIDEwMTEyLCAxMDgyNywgMCwgOTg2NiwgNzQ1MjcsIDY2Njc1LCAwLCA4NjI1LCA2NDM0NiwgMTEyOTAsIDEwNDc3LCAwLCAKLSAgICA4NjM2LCA5ODM5MjcsIDgzMTUsIDY1NDQ0LCA5ODM3OTMsIDAsIDc0NTk1LCA2MTUyLCAwLCAwLCA2NjI5LCAxMjcxMDgsIAotICAgIDEyMDE3MSwgMCwgNzQ1ODksIDQzOTkzLCAwLCA2OTc5MCwgNjQ0MzUsIDAsIDQzNjkwLCAxMTA0NiwgMTE0OTAsIDQyNzMwLCAKLSAgICA0NDg1LCAxMjcxMDcsIDAsIDY0OTI2LCAwLCAwLCAwLCA1ODY5LCAxMjQzNywgNDI3MjgsIDAsIDcwNDAsIDM1ODgsIDAsIAotICAgIDEyODI1LCAwLCAwLCAxMjcyNSwgMCwgMTI3MTA2LCA3ODY0MiwgMjIzLCAwLCA2OTY3NSwgMTIwMTY2LCA0MjQ0NCwgMCwgCi0gICAgNjQ0OTksIDY1MjQ1LCAwLCAxMTcxLCAwLCA2OTcxNywgMCwgMTgwNSwgODc3MiwgNDM4MjAsIDAsIDk5MzAsIDY1MjQ3LCAKLSAgICA3ODYxOSwgMTIwMTExLCAyMzM4LCAwLCAxMTg4NTMsIDAsIDQyNjc2LCAwLCA2NDgwMCwgNjUyMzYsIDY3NjQ0LCA2ODEyNiwgCi0gICAgMTIxMywgMCwgNjQwNzUsIDc5NywgNjQwNzQsIDg3MzQsIDQyMTIsIDEyNzM2OSwgNjQzODcsIDQxMTUsIDAsIDUwMDUsIAotICAgIDY0MDcwLCA2NDA3MywgMTA2NzksIDAsIDc3OTU0LCA5NDAyLCA2NDI3NiwgNDI2LCAwLCAwLCA4MjUxLCAxMDEzNiwgCi0gICAgNjU0MzYsIDAsIDIxMjAsIDQzMzAyLCAxMjI0LCAwLCA2NTU3NiwgNzQxOTIsIDEwNzAxLCAxNzY0LCAzMTAxLCAxMjc4MTUsIAotICAgIDEyODU4LCAxMjAxNTksIDAsIDExMzczLCA2Mzc4LCAxMjc4NTksIDEyMDEwMywgODY2MywgOTMxMiwgNDE2NDQsIDQ1MzksIAotICAgIDIxMjksIDAsIDkyMjIsIDk4MzczOCwgMCwgNDI1OSwgOTA5MiwgNzQ1NjcsIDQxOTYxLCAwLCAxMjcyNCwgNjYzNTcsIAotICAgIDQyMzMxLCA2NDkzNSwgMCwgMCwgMTI5MywgNzk0NywgMjEzMiwgOTgzNzY3LCA3NDU5MywgMTIwMzA4LCAyNDU0LCA0MjcxNywgCi0gICAgMzYxMywgMTI4ODM3LCAwLCAwLCA2NTg4OCwgODgxNiwgMTA5NzgsIDEwODQwLCAwLCAxMDY2OCwgMCwgNDMwODcsIDEyNTk1LCAKLSAgICAxMjAzMDQsIDk4MzExNCwgODgyMiwgMCwgMTE1NywgNjQ5MDMsIDg2MzgsIDAsIDAsIDAsIDAsIDY5ODQ4LCA4MjM1LCAKLSAgICAxMjAzMTYsIDQ0MDUsIDEwMDg2LCAxMjAyNDcsIDAsIDY5MjE2LCAwLCA2NTQzMCwgNzEzMjEsIDYwNzksIDY4MTcsIAotICAgIDEwNzY0LCAxMjc5MTAsIDY0MjkxLCAxMjgwNTEsIDk5OCwgMTIwMzEyLCAxMTA2MiwgMTMxNywgNjQzMjcsIDE1NTgsIDAsIAotICAgIDE5OTEsIDc4ODIsIDQyMjU0LCAwLCA0MTcwMCwgNTMwLCAwLCAxMDQyOCwgMTE5MzM1LCAxMjAwMiwgMTE5MzM2LCA1NzQyLCAKLSAgICA0MzA3NiwgNDY5MiwgNjQ2MzAsIDQxODIzLCA0MDA3LCA1MDA0LCAxMTkzMzQsIDc4OTYsIDc1MSwgNjU5NSwgNjU5NiwgCi0gICAgMTIwMzI1LCA2NjM3MywgMCwgMCwgNjQ5MDgsIDkyNjkxLCA2MzExLCAwLCAxMjAwNCwgMTE5MTkyLCAxMjA0OSwgNDMxMDgsIAotICAgIDEyMDMyNiwgMCwgNDE3MDUsIDkyMTg4LCA2NTk4LCAwLCA2NTk5LCAxMjAzMzQsIDAsIDQyMTQ4LCAxMTg4MjUsIDY2MDI3LCAKLSAgICAwLCA2NTk3LCA5NDEyLCA4MzQwLCAxMTgyNCwgNjQ3NDUsIDIyODEsIDY5OTA0LCAwLCAxOTg4LCA1NDA3LCA2Nzg2NSwgCi0gICAgMjQzMCwgNDE2NzgsIDAsIDEyMDI0MywgMjMzNiwgOTgzOTAzLCAwLCA3ODg3MSwgMTIwNDQyLCA5ODM3NjksIDE5MjEsIAotICAgIDEwOTQ3LCAxOTkyNywgMCwgNjU0MDYsIDAsIDE5OTEzLCA0Mjg0LCAxMzIxNywgMCwgNDM3ODksIDEyODQxLCA5MjI5LCAKLSAgICAxMDk1NiwgNDIyODUsIDQxNjc0LCAxOTk2NCwgNDE2NzksIDY1MDg0LCAzNTIxLCAwLCA1Nzc0LCA4MzI1LCAwLCA2NTQwMywgCi0gICAgOTgzMDg5LCAxODU0LCAxMDc5NCwgMCwgNjc2NjAsIDY5ODQ2LCAwLCA3ODM1OSwgNTI4MCwgMCwgNDM0NCwgMTI5MDUsIAotICAgIDY1NDMzLCA2MDc2LCA2NDc5MywgNDE2MTAsIDc2OCwgMTIwNzQsIDQ0MiwgMCwgNjgxNjIsIDY0MDgxLCAxMjkzNCwgCi0gICAgNDE2ODIsIDY1NDMyLCA0MTY5MywgMCwgNjA3MSwgNjU0MzQsIDEyNzQ2NywgNDgwNCwgNDA1MywgMCwgMTI3NDY5LCAKLSAgICAxOTQ2NTMsIDQxNjk2LCA0NjcsIDY5ODIzLCAxMjc0NjMsIDY5Nzk3LCAxOTQ2NTIsIDEyNzQ3MywgODQyMSwgMTI3NDcyLCAKLSAgICA2OTY4MiwgNDM3MDUsIDUwMiwgMCwgNjU0MzEsIDExOTA1NiwgNjk5NTQsIDEyMDQzLCAxMzAzLCAzMTYsIDczNjQsIDIwMjksIAotICAgIDIxMzYsIDExOTI0NiwgMTE1MzMsIDY0MzY1LCA0MzQ4MCwgOTI2MzksIDQ4NjAsIDEyNjY0OCwgMTI3ODc3LCA0MjQ4OCwgMCwgCi0gICAgOTU4MywgMTI4ODQ5LCA1NTQ2LCA4MDE5LCA3Mzg1NiwgMCwgMCwgMCwgNTU0NCwgMjM1NSwgMTIxNTAsIDY1NzI1LCA1NTQzLCAKLSAgICA3Nzk4OSwgNjM3NTEsIDEyMTM3LCA1NTQ4LCA3Nzk4NSwgMCwgNjU3MjcsIDY4Mzg4LCA2NTcyNiwgNjA3NywgMTI4MzUyLCAKLSAgICA2NTQ1MiwgMCwgMTEzMDEsIDc4MDEzLCA3ODAwOCwgNzgwMTAsIDk4NzQsIDc4MDA3LCAwLCAxMzE5LCAzMDUwLCA2NTQxMCwgCi0gICAgMCwgMCwgNzgwMTYsIDc4MDE3LCA0MjgzMCwgNDM5OTYsIDY2NzE2LCAxMjgxMzcsIDQ2OTEsIDkyMjQyLCA5MzQ1LCA2MjEsIAotICAgIDkyNzA5LCAxMjgyMjIsIDAsIDY1NDExLCAwLCA0MTE4MiwgNzM4ODEsIDY1NDA4LCA3Mzg5OSwgNzgwMjQsIDk0NzQsIAotICAgIDEwNTQ1LCAxMTkxMTgsIDEwODg3LCAzNzg2LCA2NTQwOSwgODg5NCwgNDMxNzksIDExOTYxMSwgNzkyMywgMzcxNiwgCi0gICAgOTIzNjMsIDk5OTYsIDg1MDgsIDAsIDcwMTIsIDgxOTUsIDEyNzgzNCwgOTU2NiwgMCwgMzcyMiwgMCwgNDE3MDcsIDg0OTMsIAotICAgIDU0NSwgOTU3NSwgNDEzNzksIDEwMDUwLCAxMjcxOCwgNjk4NTQsIDg4NTksIDY4MjAsIDc0MzQ1LCA2NTExMCwgMTIwNzQwLCAKLSAgICAwLCAwLCA5MTE5LCAyNzg3LCA3OTIwLCAxMTg4MjMsIDQwMjEsIDIwMTIsIDc5ODUsIDAsIDExOTY2MywgMCwgMCwgNzgwMjEsIAotICAgIDc4MDIyLCA0MTAsIDc4MDIwLCAxODAyLCA3ODAxOCwgNzQxMDcsIDAsIDQxNjU5LCA0MTY3MSwgMTgyNywgMCwgNjQzOTYsIAotICAgIDEwMTI2LCAxMjExNiwgNDE2NzMsIDEyMDM3MCwgMTE0MjIsIDc4MTQxLCAxMjAzNzMsIDM4NjAsIDEyMDM2NywgNjg0MTIsIAotICAgIDQxMzQ1LCAxMjAzNjIsIDEyMDM2MywgMTE3NDgsIDQyMTU4LCA3OTQxLCAxMTA3NiwgODc0OSwgMTIwMzYxLCAyMTA0LCAKLSAgICA2NDg1OCwgMzYxLCAxMjAzNTcsIDg0NSwgMCwgNDE1NjAsIDExOTcwLCA0NTYyLCA5MTc5MjAsIDI5MjYsIDkxNzkxOSwgCi0gICAgNDU2OSwgNzQxMzAsIDAsIDQzNDg3LCAxOTQ2MzAsIDYxMSwgNzQxMjksIDY0ODcxLCAxMTg4OTEsIDY1NjI5LCAwLCAKLSAgICAxOTQ4NTgsIDAsIDAsIDEyNzU0NSwgMTIwNTQzLCAwLCAwLCA2MjkxLCAwLCA3ODYzOSwgNDE2NjksIDcwOTQsIDkxNzkyMSwgCi0gICAgMCwgOTgzNTgxLCA3NDA1NCwgMTI3NzU0LCAxOTUwMjksIDAsIDgzOSwgOTgzMzE5LCA3Njk1LCA4NzY5LCA2NTI0NiwgCi0gICAgNDgyOSwgMTk0NjYzLCA0ODU5LCA2NDQ2NywgMCwgOTgzOTYzLCAxMTg5OTgsIDcyMDYsIDAsIDY2NDcsIDQzOTg2LCAwLCAKLSAgICA2OTc2NiwgMCwgNjQ3NjQsIDQyMTAsIDk4Mzg2MywgMTI3OTM2LCA4MDQsIDAsIDAsIDEyMjk4LCAwLCA2NjY1MywgMCwgCi0gICAgNjQ5MjQsIDEwMDkxLCA3MzkzMSwgOTQ2OCwgNzQyNDUsIDAsIDAsIDc0MjQ2LCA5MjUwMywgMTI4MzksIDY0NjY5LCAKLSAgICA5MjIwMiwgMCwgMTI3OSwgMTQyNSwgNjIyNCwgMTE5MjI5LCAxMTA0OSwgMCwgOTI2OTcsIDQzMjM5LCA4NDgyLCA5MjQ0MCwgCi0gICAgMCwgNTAzMiwgNjk2NzcsIDExOTQwLCA2Nzg4OCwgNjY0LCAxMjA0MzcsIDUwMzQsIDAsIDAsIDEyNzUyNSwgNDI3MDIsIAotICAgIDczODg4LCA5ODMxNDksIDEzMjk0LCA2Nzg3MywgNjQ4NjksIDYwMzIsIDAsIDkxMTUsIDc0MzAsIDEyMDM3NywgMCwgCi0gICAgMTIwODE5LCA2ODM4NywgMTIwMTY4LCA3MzkxMywgMTIwMTcwLCA0MTE2MSwgNTUxOCwgNDE3NCwgMTA5OTMsIDQxMTYyLCAKLSAgICAxMjAxNjAsIDY0NTI4LCAxMTY5LCA0MzQsIDQxNDM3LCAxOTA1LCA2MDM0LCA0MTE2NCwgNjQ3NDQsIDk1MjgsIDExODg2NywgCi0gICAgMTI4ODAwLCA1MjQsIDAsIDc0MDI5LCA3ODgsIDc0MDI3LCAwLCAxOTQ2MzgsIDAsIDE2NjMsIDEwNDE5LCA3NDAyNSwgCi0gICAgNDI2MzYsIDAsIDY5NzI1LCAwLCAxMjA2NTYsIDAsIDY3ODc2LCAwLCAwLCAwLCA2Nzg5NywgNzQwMzksIDAsIDAsIDExMzk1LCAKLSAgICAwLCAxMTkxMDcsIDQzNjEyLCA2NDM0NCwgMCwgMCwgMTA4NTUsIDU0NDUsIDkzNTUsIDAsIDY1MTk4LCA3MzkxLCA4OTg5LCAKLSAgICAyMjEsIDY1Njg2LCAwLCAwLCA4MDEwLCA3MTkxLCA0OTYyLCA2OTc3MiwgODg1NSwgMCwgMCwgNjQ0NjksIDEyMDQyNiwgCi0gICAgMTA1NTUsIDAsIDQzMzMzLCA5MjI5OSwgMCwgMTIwNDI3LCAxMDQ1MSwgMCwgNjc2NTMsIDcyNDUsIDEyNDQzLCA3NDQwNSwgCi0gICAgOTk0NywgMTIwMTQ5LCA3ODMxNywgMzg3MywgODM2NywgMCwgMTIwMTQ2LCA0MzQzMywgNDM2NDksIDExOTg3LCAwLCAwLCAKLSAgICAxMTAxMCwgMTI3MjMsIDc0MDU5LCA3NDA2MiwgNjIxNywgNTg5NiwgMCwgNzY4MiwgNzQwNDksIDE0NjIsIDEwMjM1LCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA0MjU5NSwgMCwgNzQ0MDIsIDExODg2MCwgMCwgMTIwNDE5LCA5MjQ5NywgNzQwNTIsIDAsIAotICAgIDkyMzc4LCAxMjA1NDksIDExOTA4MiwgNjQyOTUsIDEyMDQxOCwgMCwgNjQ3NjUsIDczOTIzLCAxMjA0MTcsIDEyMDY2MiwgCi0gICAgNjk5MjAsIDE5NDcwMiwgNjIxNiwgMCwgMTA3NTUsIDk0NTUsIDAsIDgxMjQsIDEyNzA0MiwgOTQ3MCwgNjk0NCwgMTI3NTQwLCAKLSAgICAwLCA2OTY4MCwgMjgyOCwgMCwgNTMxLCA0MjYzOCwgMCwgMCwgMCwgNDM0MjgsIDgyMDQsIDM2MTQsIDI4MjcsIDk2OTYsIDAsIAotICAgIDAsIDg3MjgsIDQzNTQsIDEwOTA0LCA3ODU2MiwgMTk5MzYsIDc4MzMsIDEyMDY5MSwgMCwgNDI1OTksIDQyNTk3LCA0MjcwOSwgCi0gICAgMTIwNDA5LCAxMjcwNDQsIDAsIDg1MzcsIDAsIDAsIDkzNTQsIDk4MzE2NCwgMTI4ODMzLCA0MTE5OSwgMTAxMjEsIDIwMjgsIAotICAgIDAsIDk4MzE5NCwgNjk3MTUsIDAsIDMwNjIsIDAsIDc0NDQ3LCAxMjYwOCwgMCwgNjY0NDAsIDc1NDUsIDk3MDAsIDEyNTgwLCAKLSAgICA5MjIwNSwgMTIwNzc3LCAxMjA1MDIsIDQxMTU1LCAwLCA3NDA3MSwgMCwgOTgzNDU3LCAxMjcxMywgMCwgMCwgMCwgNzg3NzIsIAotICAgIDAsIDE3MzQsIDAsIDAsIDEyNzA0MCwgNjQ1OTQsIDI0NTYsIDIzMSwgMCwgNzQxNjcsIDU0MiwgMCwgMTE4Nzg2LCAwLCAKLSAgICA5ODM5NzksIDEyMzAsIDAsIDAsIDM1OTcsIDQ0NDYsIDEwNTg0LCA3NDIzNSwgOTIyMTUsIDQwMzcsIDEyNzkzOCwgODM1MiwgCi0gICAgMCwgNTY4NywgMCwgNjQ1MTUsIDAsIDE5NDgwMSwgNTUyNjUsIDY3ODQ2LCA3ODQzNCwgOTcwNCwgMCwgMCwgNzAwODAsIAotICAgIDcxMzM4LCAwLCA4NjYwLCAxMjY0OTUsIDAsIDAsIDc4NzczLCA3NDQ4MiwgNDQ4MywgMTcwOSwgNjk3MjEsIDk5MDksIAotICAgIDYwODAsIDAsIDEyMDM1OCwgMTc0NiwgMTMxNSwgODY2NywgMCwgMCwgMTMxNDAsIDY1ODk5LCAxMDYwNCwgMCwgNDQ4MCwgCi0gICAgMTEyNjYsIDEyODE1MiwgMTIyNiwgNjkzMCwgNjc5NzksIDk4MzY5MCwgNjM2MCwgMTA4OTcsIDQxMjMwLCA2MDUsIDAsIAotICAgIDc0Nzg1LCA2OTg3NSwgMCwgMCwgNDE1MDAsIDAsIDMxMSwgMTE0NTMsIDYyMjEsIDEwNjA4LCA2NDk0MywgNzQyODAsIAotICAgIDEwODc3LCAxMTg4NjgsIDY0ODg1LCA3NDI3MiwgMCwgMCwgMTI4NTU5LCAxMjA3MzYsIDc0MzEyLCAzNDUsIDAsIDc0NDU2LCAKLSAgICA2NDYwNiwgOTkxNywgMCwgOTIyMzEsIDUwMzcsIDAsIDE3NzYsIDg0MjIsIDAsIDExODgxNCwgNDE1MDgsIDQxMjAxLCAzMjMsIAotICAgIDQzMzI4LCAwLCA0MjY5OCwgMTI5NSwgMTk0ODUzLCA0NjI1LCAwLCA0NjMwLCAxMzExNywgMCwgMTI4NzcyLCA2NTEyMywgCisgICAgOTUwMiwgNjU0MjcsIDEyNTA0OCwgNjU0MjQsIDEyNjA3LCAwLCA5NzM0LCA2NTQyNSwgMCwgOTgzODA4LCAxMjczNTcsIAorICAgIDc4ODM1LCA3ODgzNiwgMTAxMTIsIDEwODI3LCAwLCA5ODY2LCA3NDUyNywgNjY2NzUsIDExODg2NywgODYyNSwgNjQzNDYsIAorICAgIDExMjkwLCAxMDQ3NywgNjc3MzgsIDg2MzYsIDk4MzkyNywgODMxNSwgNjU0NDQsIDk4Mzc5MywgMTk1MDExLCA3NDU5NSwgCisgICAgNjE1MiwgMCwgNzM5NDcsIDY2MjksIDEyNTA1NiwgMTIwMTcxLCAwLCA3NDU4OSwgNDM5OTMsIDEyODM0NiwgNjk3OTAsIAorICAgIDY0NDM1LCA2NDk1NSwgNDM2OTAsIDExMDQ2LCAxMTQ5MCwgNDI3MzAsIDQ0ODUsIDEyNzEwNywgMCwgNjQ5MjYsIDAsIDAsIAorICAgIDQzODMwLCA1ODY5LCAxMjQzNywgNDI3MjgsIDAsIDcwNDAsIDM1ODgsIDAsIDEyODI1LCAwLCAwLCAxMjcyNSwgNzQwOTIsIAorICAgIDEyNzEwNiwgNzg2MzQsIDIyMywgNzg2MzUsIDY5Njc1LCAxMjAxNjYsIDQyNDQ0LCAxMjg0NDksIDY0NDk5LCA2NTI0NSwgCisgICAgMTI5MTA0LCAxMTcxLCAxMjg4MDIsIDY5NzE3LCAxMjAxMTMsIDE4MDUsIDg3NzIsIDQzODIwLCAwLCA5OTMwLCA2NTI0NywgCisgICAgNzg2MTksIDEyMDExMSwgMjMzOCwgMCwgMTE4ODUzLCAwLCA0MjY3NiwgMCwgNjQ4MDAsIDEzMDkyLCAxMTE4NSwgNjgxMjYsIAorICAgIDEyMTMsIDEyODQxOSwgNjQwNzUsIDc5NywgNjQwNzQsIDg3MzQsIDQyMTIsIDEyNzM2OSwgNjQzODcsIDQxMTUsIDAsIAorICAgIDUwMDUsIDY0MDcwLCA2NDA3MywgMTA2NzksIDAsIDc3OTU0LCA5NDAyLCA2NDI3NiwgNDI2LCAwLCAwLCA4MjUxLCAxMDEzNiwgCisgICAgNjU0MzYsIDAsIDIxMjAsIDQzMzAyLCAxMjI0LCAwLCA2NTU3NiwgNzA3OTUsIDEwNzAxLCAxNzY0LCAzMTAxLCAxMjc4MTUsIAorICAgIDEyODU4LCAxMjAxNTksIDAsIDExMzczLCA2Mzc4LCA3MTA5MywgMTIwMTAzLCA4NjYzLCA5MzEyLCA0MTY0NCwgNDUzOSwgCisgICAgMjEyOSwgNzA3ODUsIDkyMjIsIDk4MzczOCwgMTE4OTA3LCA0MjU5LCA5MDkyLCA3NDU2NywgNDE5NjEsIDAsIDEyNzI0LCAKKyAgICA2NjM1NywgNDIzMzEsIDY0OTM1LCAwLCAwLCAxMjkzLCA3OTQ3LCAyMTMyLCA5ODM3NjcsIDcxODU4LCA3MjQ0MCwgMjQ1NCwgCisgICAgNDI3MTcsIDM2MTMsIDEyODgzNywgMCwgMCwgNjU4ODgsIDg4MTYsIDEwOTc4LCAxMDg0MCwgMCwgMTA2NjgsIDExMzcyMywgCisgICAgNDMwODcsIDEyNTk1LCAxMjAzMDQsIDk4MzExNCwgODgyMiwgMCwgMTE1NywgNjQ5MDMsIDg2MzgsIDEyNzI2NSwgOTE3ODg2LCAKKyAgICAwLCAwLCA2OTg0OCwgODIzNSwgMTIwMzE2LCA0NDA1LCAxMDA4NiwgMTIwMjQ3LCAxMTEyOCwgNjkyMTYsIDAsIDY1NDMwLCAKKyAgICA3MTMyMSwgNjA3OSwgNjgxNywgMTA3NjQsIDEyMDMxNCwgNjQyOTEsIDEyMDMxNSwgOTk4LCAxMjAzMTIsIDExMDYyLCAKKyAgICAxMzE3LCA2NDMyNywgMTU1OCwgOTgzOTM0LCAxOTkxLCA3ODgyLCA0MjI1NCwgMTI4OTU0LCA0MTcwMCwgNTMwLCAwLCAKKyAgICAxMDQyOCwgMTE5MzM1LCAxMjAwMiwgMTE5MzM2LCA1NzQyLCA0MzA3NiwgNDY5MiwgNjQ2MzAsIDQxODIzLCA0MDA3LCAKKyAgICA1MDA0LCA3NDAzMywgNzg5NiwgNzUxLCA2NTk1LCA2NTk2LCAxMjAzMjUsIDY2MzczLCA5ODMyNDcsIDAsIDY0OTA4LCAKKyAgICA5MjY5MSwgNjMxMSwgOTMwMTksIDEyMDA0LCAxMTkxOTIsIDEyMDQ5LCA0MzEwOCwgMTIwMzI2LCA3MTA4MywgNDE3MDUsIAorICAgIDkyMTg4LCA2NTk4LCAwLCA2NTk5LCA2NjgyMiwgOTMwMzEsIDQyMTQ4LCAxMTg4MjUsIDY2MDI3LCAwLCA2NTk3LCA5NDEyLCAKKyAgICA4MzQwLCAxMTgyNCwgNjQ3NDUsIDIyODEsIDY5OTA0LCAxMjg0OTUsIDE5ODgsIDU0MDcsIDY3ODY1LCAyNDMwLCA0MTY3OCwgCisgICAgOTMwNTksIDEyMDI0MywgMjMzNiwgOTgzOTAzLCAwLCA2NzE2OSwgMTIwNDQyLCAxMjcwOTIsIDE5MjEsIDEwOTQ3LCAKKyAgICAxOTkyNywgNzAzOTAsIDY1NDA2LCAwLCAxOTkxMywgNDI4NCwgMTMyMTcsIDAsIDQzNzg5LCAxMjg0MSwgOTIyOSwgMTA5NTYsIAorICAgIDQyMjg1LCA0MTY3NCwgMTk5NjQsIDQxNjc5LCA2NTA4NCwgMzUyMSwgMTI0OTU3LCA1Nzc0LCA4MzI1LCA2OTg2NCwgCisgICAgNjU0MDMsIDk4MzA4OSwgMTg1NCwgMTA3OTQsIDkzMDU0LCA2NzY2MCwgNjk4NDYsIDAsIDc4MzU5LCA1MjgwLCAwLCA0MzQ0LCAKKyAgICAxMjkwNSwgNjU0MzMsIDYwNzYsIDY0NzkzLCA0MTYxMCwgNzY4LCAxMjA3NCwgNDQyLCAwLCA2ODE2MiwgNjQwODEsIAorICAgIDEyOTM0LCA0MTY4MiwgNjU0MzIsIDQxNjkzLCAwLCA2MDcxLCA2NTQzNCwgMTI3NDY3LCA0ODA0LCA0MDUzLCAwLCAKKyAgICAxMjc0NjksIDE5NDY1MywgNDE2OTYsIDQ2NywgNjk4MjMsIDEyNzQ2MywgNjk3OTcsIDE5NDY1MiwgMTI3NDczLCA4NDIxLCAKKyAgICAxMjc0NzIsIDY5NjgyLCA0MzcwNSwgNTAyLCAwLCA2NTQzMSwgMTE5MDU2LCA2OTk1NCwgMTIwNDMsIDEzMDMsIDMxNiwgCisgICAgNzM2NCwgMjAyOSwgMjEzNiwgMTE5MjQ2LCAxMTUzMywgNjQzNjUsIDQzNDgwLCA5MjYzOSwgNDg2MCwgMTI2NjQ4LCAKKyAgICAxMjc4NzcsIDQyNDg4LCA3MDMzOSwgOTU4MywgMTI4ODQ5LCA1NTQ2LCA4MDE5LCA3Mzg1NiwgMCwgMCwgMCwgNTU0NCwgCisgICAgMjM1NSwgMTIxNTAsIDY1NzI1LCA1NTQzLCA3Nzk4OSwgNjM3NTEsIDEyMTM3LCA1NTQ4LCA3Nzk4NSwgMCwgNjU3MjcsIAorICAgIDY4Mzg4LCA2NTcyNiwgNjA3NywgMTI4MzUyLCA2NTQ1MiwgMCwgMTEzMDEsIDExMjE0LCA2NTk1MiwgNzgwMTAsIDk4NzQsIAorICAgIDc4MDA3LCA5ODMxMTUsIDEzMTksIDMwNTAsIDY1NDEwLCA2NzM5OSwgMCwgNzgwMTYsIDc4MDE3LCA0MjgzMCwgNDM5OTYsIAorICAgIDY2NzE2LCAxMjgxMzcsIDQ2OTEsIDkyMjQyLCA5MzQ1LCA2MjEsIDkyNzA5LCAxMjgyMjIsIDAsIDY1NDExLCAwLCA0MTE4MiwgCisgICAgNzM4ODEsIDY1NDA4LCA3Mzg5OSwgNzgwMjQsIDk0NzQsIDEwNTQ1LCAxMTkxMTgsIDEwODg3LCAzNzg2LCA2NTQwOSwgCisgICAgODg5NCwgNDMxNzksIDcxMDQyLCA3OTIzLCAzNzE2LCA5MjM2MywgOTk5NiwgODUwOCwgMTI3Nzk0LCA3MDEyLCA4MTk1LCAKKyAgICAxMjc4MzQsIDk1NjYsIDAsIDM3MjIsIDAsIDQxNzA3LCA4NDkzLCA1NDUsIDk1NzUsIDQxMzc5LCAxMDA1MCwgMTI3MTgsIAorICAgIDY5ODU0LCA4ODU5LCA2ODIwLCA3NDM0NSwgNjUxMTAsIDEyMDc0MCwgMTI4OTc4LCAwLCA5MTE5LCAyNzg3LCA3OTIwLCAKKyAgICAxMTg4MjMsIDQwMjEsIDIwMTIsIDc5ODUsIDAsIDExOTY2MywgOTE3NzkyLCAwLCA3ODAyMSwgNzgwMjIsIDQxMCwgNzgwMjAsIAorICAgIDE4MDIsIDc4MDE4LCA3NDEwNywgMCwgNDE2NTksIDQxNjcxLCAxODI3LCAwLCA2NDM5NiwgMTAxMjYsIDEyMTE2LCA0MTY3MywgCisgICAgMTIwMzcwLCAxMTQyMiwgNzE4NDYsIDEyMDM3MywgMzg2MCwgMTIwMzY3LCA2ODQxMiwgNDEzNDUsIDEyMDM2MiwgMTIwMzYzLCAKKyAgICAxMTc0OCwgNDIxNTgsIDc5NDEsIDExMDc2LCA4NzQ5LCAxMjAzNjEsIDIxMDQsIDY0ODU4LCAzNjEsIDEyMDM1NywgODQ1LCAKKyAgICAwLCA0MTU2MCwgMTE5NzAsIDQ1NjIsIDkxNzkyMCwgMjkyNiwgNjg0OTUsIDQ1NjksIDc0MTMwLCAxMjg2NTksIDQzNDg3LCAKKyAgICAxOTQ2MzAsIDYxMSwgNzQxMjksIDY0ODcxLCAxMTg4OTEsIDY1NjI5LCAwLCAxOTQ4NTgsIDc0ODU0LCAwLCA3MDQ2NiwgCisgICAgNjczOTIsIDY2Mzg1LCAwLCA2MjkxLCAwLCA2ODQ4NywgNDE2NjksIDcwOTQsIDkxNzkyMSwgMCwgOTgzNTgxLCA3NDA1NCwgCisgICAgMTI3NzU0LCAxMjg5MTcsIDAsIDgzOSwgOTgzMzE5LCA3Njk1LCA4NzY5LCA2NTI0NiwgNDgyOSwgNjc3NTYsIDQ4NTksIAorICAgIDY0NDY3LCAwLCA5ODM5NjMsIDExODk5OCwgNzIwNiwgMTE5NjM2LCA2NjQ3LCA0Mzk4NiwgOTgzNzk2LCA2OTc2NiwgCisgICAgMTk0NjY0LCA2NDc2NCwgNDIxMCwgOTgzMjU0LCAxMjc5MzYsIDgwNCwgMTk0NjUxLCAwLCAxMjI5OCwgNzAzNDQsIDY2NjUzLCAKKyAgICAwLCA2NDkyNCwgMTAwOTEsIDY3MjAwLCA5NDY4LCA2NzIwNiwgNjcyMDUsIDY3MjA0LCA2NzIwMywgOTI1MDMsIDEyODM5LCAKKyAgICA2NDY2OSwgOTIyMDIsIDcxODUxLCAxMjc5LCAxNDI1LCA2MjI0LCAxMTkyMjksIDExMDQ5LCAxMjcxMjMsIDkyNjk3LCAKKyAgICA0MjY0OSwgODQ4MiwgOTI0NDAsIDAsIDUwMzIsIDY3MjA5LCAxMTk0MCwgNjcyMDcsIDY2NCwgMTIwNDM3LCA1MDM0LCAwLCAKKyAgICA3MDIwMCwgMTI3NTI1LCA0MjcwMiwgNzAxOTQsIDkzMDYxLCAxMzI5NCwgNjc4NzMsIDY0ODY5LCA2MDMyLCA2NzIxOCwgCisgICAgOTExNSwgNzQzMCwgMTIwMzc3LCA3MDE5MSwgMTIwODE5LCA2ODM4NywgMTIwMTY4LCA3MzkxMywgMTIwMTcwLCA0MTE2MSwgCisgICAgNTUxOCwgNDE3NCwgMTA5OTMsIDQxMTYyLCAxMjAxNjAsIDY0NTI4LCAxMTY5LCA0MzQsIDQxNDM3LCAxOTA1LCA2MDM0LCAKKyAgICA0MTE2NCwgNjQ3NDQsIDk1MjgsIDY3NzQxLCAxMjg4MDAsIDUyNCwgMCwgNzQwMjksIDc4OCwgNzQwMjcsIDAsIDcxODgxLCAKKyAgICAwLCAxNjYzLCAxMDQxOSwgNDI5MDEsIDQyNjM2LCA2NzIxMSwgNjcyMTAsIDAsIDEyMDY1NiwgNjcyMTUsIDY3MjE0LCAKKyAgICA2NzIxMywgNjcyMTIsIDAsIDY3ODk3LCA3NDAzOSwgMCwgMCwgMTEzOTUsIDAsIDExOTEwNywgNDM2MTIsIDY0MzQ0LCAwLCAKKyAgICAwLCAxMDg1NSwgNTQ0NSwgOTM1NSwgNjcyMjEsIDY1MTk4LCA3MzkxLCA4OTg5LCAyMjEsIDY1Njg2LCAwLCAwLCA4MDEwLCAKKyAgICA3MTkxLCA0OTYyLCA2OTc3MiwgODg1NSwgNzQ2MTIsIDcwODIwLCA2NDQ2OSwgMTIwNDI2LCAxMDU1NSwgNjcyMjcsIAorICAgIDQzMzMzLCA2NzIyNSwgMTI4NDgzLCAxMjA0MjcsIDEwNDUxLCA2NzIyOSwgNjc2NTMsIDcyNDUsIDEyNDQzLCA3NDQwNSwgCisgICAgOTk0NywgMTIwMTQ5LCA3ODMxNywgMzg3MywgODM2NywgNzc4NDIsIDEyMDE0NiwgNDM0MzMsIDQzNjQ5LCAxMTk4NywgMCwgCisgICAgMCwgMTEwMTAsIDExMTY0LCA3NDA1OSwgNzQwNjIsIDYyMTcsIDU4OTYsIDQzODQ2LCA3NjgyLCA3NDA0OSwgMTQ2MiwgCisgICAgMTAyMzUsIDAsIDAsIDAsIDQzNDQxLCAxMjc5MjQsIDEyNzc3NywgNDI1OTUsIDAsIDc0NDAyLCAxMTg4NjAsIDc4NjYxLCAKKyAgICAxMjA0MTksIDkyNDk3LCA2NjI4NywgMTIwNDIwLCA5MjM3OCwgMTIwNTQ5LCAxMTkwODIsIDY0Mjk1LCAxMjA0MTgsIDAsIAorICAgIDY0NzY1LCA3MzkyMywgMTIwNDE3LCAxMjA2NjIsIDY5OTIwLCAxOTQ3MDIsIDYyMTYsIDY3MjMwLCAxMDc1NSwgOTQ1NSwgCisgICAgMTExNTUsIDgxMjQsIDEyNzA0MiwgOTQ3MCwgNjk0NCwgMTI3NTQwLCAwLCA2OTY4MCwgMjgyOCwgMCwgNTMxLCA0MjYzOCwgCisgICAgMCwgMCwgMCwgNDM0MjgsIDgyMDQsIDM2MTQsIDI4MjcsIDk2OTYsIDEyMDM2NSwgMCwgODcyOCwgNDM1NCwgMTA5MDQsIAorICAgIDc4NTYyLCAxOTkzNiwgNzgzMywgMTIwNjkxLCAwLCA0MjU5OSwgNDI1OTcsIDQyNzA5LCAxMjA0MDksIDEyNTAxMiwgMCwgCisgICAgODUzNywgMTI3MzA2LCAwLCA5MzU0LCA5ODMxNjQsIDEyNzk1OSwgNDExOTksIDEwMTIxLCAyMDI4LCAwLCAxMjAyNTMsIAorICAgIDY5NzE1LCAwLCAzMDYyLCAwLCA3NDQ0NywgMTI2MDgsIDAsIDY2NDQwLCA3NTQ1LCA5NzAwLCAxMTk0OCwgOTIyMDUsIAorICAgIDEyMDc3NywgMTIwNTAyLCA0MTE1NSwgNjgzMDYsIDc0MDcxLCAwLCA5ODM0NTcsIDEyNzEzLCAxMjc1MTksIDcwNDAyLCAwLCAKKyAgICA3ODc3MiwgMTEzNzcwLCAxNzM0LCAwLCA3ODE0MSwgMTI3MDQwLCA2NDU5NCwgMjQ1NiwgMjMxLCA2ODIyNywgNzQxNjcsIAorICAgIDU0MiwgMCwgMTE4Nzg2LCA5ODM4NTksIDE5NDc5NywgMTIzMCwgOTgzOTUzLCAxMjY1NTUsIDM1OTcsIDQ0NDYsIDEwNTg0LCAKKyAgICA3NDIzNSwgOTIyMTUsIDQwMzcsIDY3NzM3LCA4MzUyLCAwLCA1Njg3LCAwLCA2NDUxNSwgMCwgMTk0ODAxLCA1NTI2NSwgCisgICAgNjc4NDYsIDc4NDM0LCA5NzA0LCAwLCAwLCA3MDA4MCwgNzEzMzgsIDAsIDg2NjAsIDEyNjQ3OCwgMCwgMCwgNzg3NzMsIAorICAgIDc0NDgyLCA0NDgzLCAxNzA5LCA2OTcyMSwgOTkwOSwgNjA4MCwgMTk0ODUxLCAxMjAzNTgsIDE3NDYsIDEzMTUsIDg2NjcsIAorICAgIDk4MzEwMSwgMCwgMTMxNDAsIDY1ODk5LCAxMDYwNCwgMCwgNDQ4MCwgMTEyNjYsIDEyODE1MiwgMTIyNiwgNjkzMCwgCisgICAgNjc5NzksIDE5NTAxOSwgNjM2MCwgMTA4OTcsIDQxMjMwLCA2MDUsIDY4MzAyLCA3NDc4NSwgNjk4NzUsIDAsIDkxNzk4NiwgCisgICAgNDE1MDAsIDAsIDMxMSwgMTE0NTMsIDYyMjEsIDEwNjA4LCA2NDk0MywgNjc2ODIsIDEwODc3LCAxMTg4NjgsIDY0ODg1LCAKKyAgICA3NDI3MiwgMCwgMTk0NjcyLCAxMjg1NTksIDEyMDczNiwgNzQzMTIsIDM0NSwgMTI0OTMzLCA3NDQ1NiwgNjQ2MDYsIDk5MTcsIAorICAgIDAsIDc0ODU1LCA1MDM3LCAwLCAxNzc2LCA4NDIyLCAxMjg5MzUsIDExODgxNCwgNDE1MDgsIDQxMjAxLCAzMjMsIDQzMzI4LCAKKyAgICAwLCA0MjY5OCwgMTI5NSwgMTk0ODUzLCA0NjI1LCA3Nzg1NSwgNDYzMCwgMTMxMTcsIDAsIDEyODc3MiwgNjUxMjMsIAogICAgIDExMjkzLCAyNjY4LCAxMTI4OCwgMCwgNDI2NDAsIDY1NjY2LCAyNTE5LCA5MjM2OSwgNjU0MjAsIDkyNDc5LCAwLCA0MjUyLCAKLSAgICA1MDQ5LCA0MjY1OSwgMTE5MDExLCA3MDYsIDc3NTQsIDEwODU0LCA4NzM4LCAwLCA2NTQxOSwgMCwgMCwgNjQ5LCA2NTQyMSwgCi0gICAgMCwgNjY3MDIsIDAsIDEyNjcwLCAxMDEzLCAwLCA2NDkxOSwgNzA1LCAwLCA2NTQyMiwgMTI3ODAzLCAxMTgzLCAxMjY1MTksIAotICAgIDcwMTcsIDQyODUyLCAwLCA4MTU3LCA5NzM2LCA2NDUwMywgNjU0MTgsIDAsIDk4Mzg3OCwgNzQwMzUsIDAsIDExOTEzLCAKLSAgICA3Mzg3NCwgNjY5NiwgMCwgODkyMCwgMTE5Mjk4LCAwLCA3OTYyLCAxMjIxMSwgOTgzNywgMjA1MSwgNjYyMjcsIDAsIDQxODQsIAotICAgIDAsIDAsIDEwMTc3LCA3Mzc3NywgMTg1NywgMTk0NjU3LCA0NjI2LCA4NDY0LCA4NDcyLCAwLCA0NjI5LCA4NDk5LCA3ODMyMSwgCi0gICAgNzgzMjIsIDQ2MjQsIDc4MTgsIDExOTE3MywgMCwgMCwgNzgwNSwgMCwgOTQwMDcsIDY5MzUsIDkyMjkyLCA3ODMyNSwgCi0gICAgNzgzMjYsIDc4MzIzLCA0MzMyNywgNDM5ODksIDExOTA0NiwgODQ5MiwgODI1MCwgODQ1OSwgMCwgODQ5NywgODQ5NiwgMCwgCi0gICAgMCwgNzgzMzYsIDc4MzM5LCA5NTQzLCA3ODMzNSwgNzgzMzIsIDc3ODMyLCA2NTg0OSwgNzc4MzEsIDk4Mzk2MSwgMCwgCi0gICAgMTI0NTEsIDAsIDg2ODQsIDAsIDYxMDIsIDAsIDUyOTgsIDAsIDUyOTQsIDAsIDAsIDk4MzQ1OSwgMTk1MDYyLCA5OTQ5LCAKLSAgICAxMTk4MjYsIDQzNjE3LCAxMTkyMTUsIDAsIDEyMDczLCAwLCAwLCA3Nzg2MywgMTMxMDgsIDEyMDYxNywgMTE0MzksIAotICAgIDQxNDY4LCA5ODM3NTcsIDAsIDUyOTIsIDU1MjcyLCA5ODM4ODMsIDE5MzksIDUzMDIsIDM5NzAsIDkxNzg3OSwgMTI0NTUsIAotICAgIDE3OTMsIDAsIDAsIDAsIDY2NDMsIDkyNDc3LCA2NTI2MywgMCwgNzgzMzAsIDQxMjkzLCA3ODMyOCwgNjU5MjMsIDAsIAotICAgIDEzMjE5LCA5NTY5LCAwLCA3NDM4MywgMCwgNzQxOTcsIDAsIDU1MDAsIDg4MTMsIDAsIDAsIDc0NTY2LCA1MzIyLCAwLCAKLSAgICA3ODM0MCwgNDM2MzEsIDUzMjQsIDY2NDQzLCAzNzg0LCA0MTYxNCwgNjUyNjksIDYyMzAsIDc4MzQ5LCA3ODM0NSwgNDMzMjQsIAotICAgIDMzNjAsIDc4MzQ0LCAxMTUyMywgMCwgOTI0ODgsIDk5MjYsIDcxOTcsIDAsIDY4NDI5LCA0Mjg5NCwgNDE4MjEsIDEyNDksIAorICAgIDUwNDksIDQyNjU5LCAxMTkwMTEsIDcwNiwgNzc1NCwgMTA4NTQsIDg3MzgsIDAsIDY1NDE5LCAwLCAxMjg0OTYsIDY0OSwgCisgICAgNjU0MjEsIDAsIDY2NzAyLCAwLCAxMjY3MCwgMTAxMywgMCwgNjQ5MTksIDcwNSwgMCwgNjU0MjIsIDEyNzgwMywgMTE4MywgCisgICAgMTI2NTE5LCA3MDE3LCA0Mjg1MiwgMCwgODE1NywgOTczNiwgNjQ1MDMsIDY1NDE4LCAwLCA5ODM4NzgsIDc0MDM1LCAwLCAKKyAgICAxMTkxMywgNzM4NzQsIDY2OTYsIDEyODc3NSwgODkyMCwgMTE5Mjk4LCAxMjg0MjYsIDc5NjIsIDEyMjExLCA5ODM3LCAKKyAgICAyMDUxLCA2NjIyNywgMCwgNDE4NCwgMTE5ODI1LCAxMjg1OTgsIDEwMTc3LCA3Mzc3NywgMTg1NywgMTk0NjU3LCA0NjI2LCAKKyAgICA4NDY0LCA4NDcyLCAwLCA0NjI5LCA4NDk5LCA3NDYyNywgNzgzMjIsIDQ2MjQsIDc4MTgsIDExOTE3MywgMTI4MTA4LCAwLCAKKyAgICA3ODA1LCAxMjg3NTQsIDk0MDA3LCA2OTM1LCA5MjI5MiwgNzgzMjUsIDc4MzI2LCA3ODMyMywgNDMzMjcsIDQzOTg5LCAKKyAgICAxMTkwNDYsIDg0OTIsIDgyNTAsIDg0NTksIDAsIDg0OTcsIDg0OTYsIDAsIDc0NTgyLCA3ODMzNiwgNzgzMzksIDk1NDMsIAorICAgIDY3ODYwLCA3ODMzMiwgNzc4MzIsIDY1ODQ5LCA3NzgzMSwgOTgzOTYxLCAwLCAxMjQ1MSwgMCwgODY4NCwgMTI4MzAxLCAKKyAgICA2MTAyLCAwLCA1Mjk4LCAwLCA1Mjk0LCAwLCAwLCAxMjg3NDYsIDE5NTA2MiwgOTk0OSwgMTE5ODI2LCA0MzYxNywgCisgICAgMTE5MjE1LCAwLCAxMjA3MywgMCwgMCwgNzc4NjMsIDEzMTA4LCAxMjA2MTcsIDExNDM5LCA0MTQ2OCwgMTE5MDc2LCAwLCAKKyAgICA1MjkyLCA1NTI3MiwgOTgzODgzLCAxOTM5LCA1MzAyLCAzOTcwLCA5MTc4NzksIDEyNDU1LCAxNzkzLCAxMjQ5ODIsIDAsIDAsIAorICAgIDY2NDMsIDkyNDc3LCA2NTI2MywgMCwgNzgzMzAsIDQxMjkzLCA3ODMyOCwgNjU5MjMsIDAsIDEzMjE5LCA5NTY5LCAwLCAKKyAgICA3NDM4MywgMCwgNzQxOTcsIDEyOTA4OSwgNTUwMCwgODgxMywgMCwgMTI4NjEyLCA3NDU2NiwgNTMyMiwgMCwgNzgzNDAsIAorICAgIDQzNjMxLCA1MzI0LCA2NjQ0MywgMzc4NCwgNDE2MTQsIDY1MjY5LCA2MjMwLCA3ODM0OSwgNzgzNDUsIDEzMjgyLCAzMzYwLCAKKyAgICA3ODM0NCwgMTE1MjMsIDAsIDkyNDg4LCA5OTI2LCA3MTk3LCAxMjgyNDgsIDY4NDI5LCA0Mjg5NCwgNDE4MjEsIDEyNDksIAogICAgIDc4MzYwLCA3ODM2MSwgNzgzNTYsIDc4MzU4LCA3ODM1MywgNjQ4OTksIDY0NzYzLCA0MTE0OSwgNDE4MDcsIDQzMTYyLCAKLSAgICA0MTgxNSwgNDExNTAsIDAsIDEwNTcxLCAxMDA5NiwgMCwgMCwgNzgwNzQsIDY5NDcsIDQxMTUyLCA4ODcsIDkyNDksIDY1NjUsIAotICAgIDc4NTEwLCA0MTk5MCwgNzg1MDksIDQxODExLCA3NDQ2NiwgOTM5NjYsIDY2NzAsIDc3ODgyLCAwLCAwLCA0MzA5MiwgCi0gICAgNDMzMjUsIDAsIDEwMTY4LCAwLCA5NzgxLCAxMjg2NTUsIDkxOTAsIDAsIDk2NjYsIDgyNjksIDY1OTQ0LCA3NDAwNSwgCi0gICAgMTMwMTksIDExNjcwLCA2OTg2MCwgMzE1LCAxMjgxMywgOTgzNDU4LCA3ODQzMiwgNzgyNTYsIDc4MzUxLCA3ODM1MiwgMCwgCi0gICAgOTgzNjU3LCAwLCAwLCAxMzc4LCA5NTA5LCAwLCAwLCA3NDQ3NSwgMzA2NiwgOTIyMjAsIDY3ODQ3LCAwLCA5MjM1NSwgMCwgCi0gICAgNzgzNjUsIDg3ODcsIDEyMDM3OSwgMTk0NjE2LCA0MTYxOCwgMTk0NjE1LCA3ODI2MSwgMTk0NjE0LCAwLCA2NDY1MiwgMCwgCi0gICAgMTk0NjEyLCAwLCA3ODM2NiwgNDIwODgsIDAsIDE5NTA2MSwgNzE3NiwgNDM3NTYsIDEwMTM3LCA2MTIxLCAxMDk5NSwgCi0gICAgNzgyNTksIDc0NTM0LCA4MTE5LCA2NDg3NCwgOTE3ODE2LCAxMjcxOTksIDE5NDkzOSwgMCwgNzQ1MjUsIDAsIDAsIDEyOTMwLCAKLSAgICAxMzk0LCA3NDUxNCwgMCwgNzQ1MTUsIDAsIDExODgwNCwgMjk5OCwgOTUyNywgMTIwNjU5LCA2NTE5MCwgMTI5NzcsIAotICAgIDQyMDkwLCAxMTkxNjUsIDAsIDExOTEwMCwgNDEyMzYsIDkyMjM1LCA0MjAwNSwgNDIwMDMsIDQxMjM3LCA1ODQ4LCAwLCAwLCAKLSAgICAzNjcwLCAxMjg2NTcsIDE5NDYwMCwgMCwgMCwgNzg5MCwgMCwgMTEyOTgsIDQzMzE1LCAwLCA2MjI5LCAxNTkzLCAwLCAwLCAKLSAgICA2MTksIDQ2MzUsIDY1MDgwLCAwLCAxMjgwMDIsIDQxMjAsIDY1MzM3LCA2NTMzNiwgMCwgMTE4MDgsIDExOTIxNCwgNzQxMTUsIAorICAgIDQxODE1LCA0MTE1MCwgMTI4OTExLCAxMDU3MSwgMTAwOTYsIDY3MTYxLCA2NzE2MCwgNjcxNTksIDY5NDcsIDQxMTUyLCAKKyAgICA4ODcsIDkyNDksIDY1NjUsIDc4NTEwLCA0MTk5MCwgNzg1MDksIDQxODExLCA2NzE1NywgOTM5NjYsIDY2NzAsIDY3MTc1LCAKKyAgICA2NzE3NCwgMCwgNDMwOTIsIDQzMzI1LCA2NzE3OCwgMTAxNjgsIDY3MTc2LCA5NzgxLCA2ODI0OCwgOTE5MCwgMTI4NDk3LCAKKyAgICA5NjY2LCA4MjY5LCA2NTk0NCwgNzQwMDUsIDEzMDE5LCAxMTY3MCwgNjk4NjAsIDMxNSwgMTI4MTMsIDk4MzQ1OCwgNzI0MDksIAorICAgIDc4MjU2LCA3MjQwOCwgNzgzNTIsIDAsIDk4MzY1NywgMCwgMCwgMTM3OCwgOTUwOSwgMCwgOTI5OTYsIDcyNDA3LCAzMDY2LCAKKyAgICA5MjIyMCwgNjc4NDcsIDcyNDA2LCA5MjM1NSwgMCwgNzgzNjUsIDg3ODcsIDY3MTg5LCAxOTQ2MTYsIDQxNjE4LCAxOTQ2MTUsIAorICAgIDc4MjYxLCAxMjczODQsIDAsIDY0NjUyLCAwLCAxOTQ2MTIsIDAsIDc4MzY2LCA0MjA4OCwgNzEwNDAsIDE5NTA2MSwgNzE3NiwgCisgICAgNDM3NTYsIDEwMTM3LCA2MTIxLCAxMDk5NSwgNzgyNTksIDcxMDUwLCA4MTE5LCA2NDg3NCwgNzEwNTIsIDc4MTc0LCAKKyAgICAxOTQ5MzksIDEyODYzMCwgNzQ1MjUsIDAsIDAsIDEyOTMwLCAxMzk0LCA3NDUxNCwgMTI4NDEzLCA3NDUxNSwgMCwgNjcxODQsIAorICAgIDI5OTgsIDk1MjcsIDY3MTgxLCA2NTE5MCwgMTI5NzcsIDQyMDkwLCA2NzE4NSwgMCwgMTE5MTAwLCA0MTIzNiwgOTIyMzUsIAorICAgIDQyMDA1LCA0MjAwMywgNDEyMzcsIDU4NDgsIDY3MTkzLCA2NzE5MiwgMzY3MCwgNjcxOTAsIDY3MTk3LCA2NzE5NiwgCisgICAgNjcxOTUsIDc4OTAsIDEyODA3MCwgMTEyOTgsIDQzMzE1LCA5ODMzMTMsIDYyMjksIDE1OTMsIDAsIDEyNTEyMCwgNjE5LCAKKyAgICA0NjM1LCA2NTA4MCwgMTI3Nzc5LCAxMjE5NCwgNDEyMCwgNjUzMzcsIDY1MzM2LCAwLCAxMTgwOCwgNjcxOTksIDY3MTk4LCAKICAgICA5MzY2LCA0Mjc5MCwgNDIwMDYsIDExOTExNSwgNjUzMjcsIDY1MzI2LCA2NTMyNSwgMTA3NTcsIDE1MDcsIDQyMjE2LCAKICAgICA2NTMyMSwgNjUzMjAsIDY1MzM1LCA2NTMzNCwgNjUzMzMsIDY1MzMyLCA2NTMzMSwgNDIwNTksIDY1MzI5LCA0MjY4OSwgCiAgICAgOTI0MjcsIDkxMjgsIDk0MDQ1LCA0MjA3MywgNjc4NSwgNjQ1OTAsIDk4MzgzMCwgNDM3MSwgNzE5NiwgNjUzMTgsIDIwMzUsIAotICAgIDY1MzE2LCA0MTA2LCA2NTMxNCwgNjUzMTMsIDQyMDc0LCAxMjc4NDcsIDQxMjI4LCAwLCA2NTYwOSwgNDEyNDEsIDc5MDMsIAotICAgIDQxMjM5LCA0MzUzMywgNzg0NTksIDcxODksIDAsIDAsIDAsIDEyMzU3LCA0MjgwMiwgNzg0NTAsIDg0ODcsIDkxMzEsIDAsIAotICAgIDQ2MTUsIDEyNjk1LCAxMjc3NTIsIDAsIDEyMTc1LCAwLCA2NDUzNSwgMCwgNzgwOSwgMCwgMCwgNTYyLCAxMjE2OSwgNjU5MCwgCi0gICAgNjk3NjIsIDY2NDU1LCA2NDczOCwgMzIxOSwgNjg2NTQsIDk4Mzc4NywgMCwgMTAzNywgMCwgMjAyNSwgMTI4MjYzLCAKLSAgICAxMzA5OCwgNzg0NDIsIDEwNjM3LCA0NTY4LCA1NDksIDE1NzAsIDAsIDI4MzUsIDAsIDEwNjI0LCA0MzYyMywgMTEwNzIsIAotICAgIDEyNzE5MSwgMCwgMCwgMTI2MDYsIDc4NDMzLCAyODI1LCAwLCAxMDgyNSwgODA3OSwgMjgyMSwgNDEwNDYsIDkyMzI3LCAKLSAgICA3MzY1LCA5ODM3NTMsIDEyMDU5MywgMTMwNzEsIDAsIDQ1MiwgNDEwNDksIDQyODQwLCA2MzQ2LCAyODMxLCA1NDYxLCAKLSAgICA3NDU5NiwgMTE0NjUsIDUyMTIsIDAsIDY0NzAzLCAxMTkxOTEsIDQyMzA4LCA3MTgxLCAwLCA0MTMzMiwgMCwgMTIzMzMsIDAsIAotICAgIDE2NjgsIDAsIDAsIDAsIDExODcsIDk4MzM4NSwgNDI2MjgsIDc4NTc1LCAwLCAxMjg3NzcsIDAsIDMyNDAsIDEyODUxOCwgCi0gICAgMTIxOTQsIDAsIDExNTkxLCA0MTA2NSwgNTMyMywgODE2NiwgMCwgMCwgMCwgNzQ1MzUsIDE2MjMsIDY1Mjk3LCAxMjg4NTYsIAotICAgIDU3MSwgMCwgNDkxOCwgMCwgNTI4OCwgMTI3Mjk1LCA4OTE2LCA2NTA0OCwgMTkwOSwgODg2NCwgMCwgMCwgMTA3MzYsIAotICAgIDkyNTA4LCAxMTU3MSwgNzYxNSwgMTI3MzAwLCA5MjI5NiwgNDIzNywgOTI1NzYsIDEwMzUsIDY1ODE1LCAwLCA3ODgxLCAKLSAgICA3MDEsIDY1OTM2LCAzNDg5LCAwLCAwLCAxMjA3NTEsIDExNDAzLCAwLCAwLCAxMjcxNDYsIDM3OTYsIDY4MDAsIDAsIDM5OTQsIAotICAgIDExNDIxLCAwLCAxOTUwNzYsIDAsIDk4MzkyMiwgMCwgMCwgNjQ4NTcsIDEyODEwNSwgMjg1NSwgMTI3ODI4LCA2NjMwOCwgCi0gICAgNDE2MjEsIDY4MjE0LCAxMjcyODMsIDEyNzgxNywgMTA2NTQsIDAsIDExOTIyNiwgMTIxNjQsIDMyNDYsIDc5MDYsIDQzOTcyLCAKLSAgICA2NTg0NywgNzE4MiwgMCwgMTMwMjQsIDE5NDgyMiwgNzQyNzAsIDEyODI4OSwgMCwgMCwgMCwgMTQ5NiwgNzQ3LCAwLCA5NDIsIAotICAgIDIzNzgsIDQzMTM2LCAxMjc5MDUsIDg0NjYsIDk4MzU3NSwgOTMyMCwgODAwMSwgMTIzMiwgODEzOSwgMTE2MTcsIDAsIDAsIAotICAgIDExNDA5LCA2ODM3MywgNjM4MiwgMCwgNjQ2MzQsIDEyODI3OSwgMCwgMTE2MTIsIDAsIDY3NjAwLCAyMzc0LCA5NDA2NiwgCi0gICAgODQ3NSwgMTE2MDksIDY2MzEzLCAwLCAwLCA1Mjg2LCAxMTkyOTcsIDAsIDAsIDY0OTI1LCAxMjAyODMsIDE5NDU4NCwgCi0gICAgMTE4OTgyLCAxOTQ1ODMsIDc3MDUsIDExOTQyLCAxMTMwNSwgMTk0NTgxLCAzMzA5LCAwLCAwLCAwLCAwLCA2ODAyLCAwLCAKLSAgICA0MTY1MywgMTI4MCwgMTI0MSwgNzE2OCwgMTIwOTYsIDAsIDY2NjE1LCA0MjU2NSwgNDE2NTEsIDAsIDAsIDAsIDQxNjUwLCAKLSAgICA2NjUwNywgNjY0NzAsIDAsIDEyOTE0LCA0MTQ5MSwgNjYwMTAsIDExOTU1MiwgNjA3OCwgOTk1NCwgMCwgMTQ3NSwgCi0gICAgMTE5MjQ3LCA5OTM4LCA2MDg0LCA5MTc1NDYsIDQxMDY0LCA0MTA2MiwgMCwgMCwgMzI1NiwgMTAxODksIDQyMDc2LCAKLSAgICA0MzI1MiwgNzg4MjMsIDkxNzkwNiwgODcyNywgMCwgNjU4NzUsIDAsIDAsIDEyNzc2MiwgMTA1NjIsIDc0MjE1LCA0MzA2NSwgCi0gICAgMCwgMCwgMzI0OCwgNzQyOTcsIDMyNjEsIDkwMTUsIDcxMzUxLCAwLCAzNjM1LCA2NDMzNywgOTgzMjgxLCAwLCAwLCA3MTk1LCAKLSAgICAwLCAyMDA3LCA2NDQzMSwgMCwgMCwgMCwgMCwgNjM1LCAwLCAwLCA2NTYxMywgNzc5MDksIDkyNDIwLCA3Mzk5NywgMCwgMCwgCi0gICAgMTE5MjE4LCA3OTg0LCA4NjAwLCA3NDQzNCwgMTI3NzcwLCA0MTc2LCA3MDA1MCwgMjAzNCwgOTI1NTEsIDEyMDgwNSwgCi0gICAgNjU4OTEsIDEyNzAzOCwgMCwgMzE4LCAyMDM4LCAxMjg4NjAsIDc4NTk2LCAwLCAzNjQ5LCAxMzE0OSwgNDIxNDUsIDQyNzk4LCAKLSAgICAzNjM0LCAxMjAyOTEsIDExODkyNywgNjc2NzcsIDEyMDEyNCwgNzg2NiwgMCwgMTE0MDIsIDQyMTQ2LCA5NDAzMiwgNzQyMzgsIAotICAgIDQyNjY0LCAyODQ5LCAxMjcwMzQsIDAsIDc5MzgsIDEyOTYwLCAxNzYxLCAxMTgxMiwgNjUzNzksIDY4Mzg2LCAxMjgxODUsIAotICAgIDExNTksIDAsIDY5NzI5LCAwLCAwLCA3MTc4LCAxOTQ2MzIsIDAsIDQxNjgwLCAwLCAxMjgyMDMsIDExNTM0LCAxNTE0LCAKLSAgICAxMTY2OCwgNjc4OTEsIDkzMTMsIDcwMTUsIDAsIDY3ODc3LCAxOTQ1NjcsIDEyOTg5LCA2NjQ3NCwgOTM2OCwgMTI4NDgsIAotICAgIDE2MjQsIDQzMjcwLCAwLCA3NDI3OCwgMTA4MTgsIDEyNjY0NCwgOTk1MywgMCwgNzg0MjEsIDExOTQsIDMyNDIsIDk3NjEsIAotICAgIDk1NTUsIDg1OTgsIDEyMDI5OSwgNjE2OSwgMTI4NzEsIDE1NTEsIDI3OTgsIDY1MTc2LCA0OTU4LCA0Mjc1MiwgMTE5MDI1LCAKLSAgICAwLCA2Nzg3NSwgMTIwMzAxLCAzNDk1LCA2NjY0OCwgMTk0NzY4LCAwLCA2ODM2NCwgOTgzMjI0LCA0ODkxLCAwLCAxMDY0MSwgCi0gICAgMCwgNzM3NDYsIDAsIDY4MzUyLCAwLCA3Mzc4NywgMTk0ODI5LCAxOTQ2MzMsIDcxOTksIDY0OTU1LCAwLCAwLCAwLCAwLCAwLCAKLSAgICA0MjY4NSwgNDI2NzksIDE5MywgMCwgMCwgMCwgNDI2NjcsIDAsIDUyNzEsIDkyMzE4LCA5MjUxNywgMTE4ODgyLCAxMzYyLCAKLSAgICAxMzI5NywgMCwgMTI4MDk0LCAwLCA5ODMzMzEsIDczNzg5LCAwLCA2NjU4LCA0NDI2LCAwLCA5MjYyOCwgOTgzODQyLCAKLSAgICA5MjMxOSwgNzI3NiwgNDIxNjMsIDUyMjAsIDAsIDAsIDk4MzMzMCwgMjQxNiwgMzMxMCwgNDI3MDMsIDAsIDM3OSwgMCwgCi0gICAgNDM3NTUsIDAsIDAsIDMyMjMsIDY1NDkyLCAxMjg0LCAxOTQ3NzEsIDQ1NDksIDAsIDAsIDk4MzE1NCwgMTI3NzYzLCAKLSAgICAxMDgwNywgOTU1OCwgMTk0NjEzLCAwLCA4NTE1LCA4Njg4LCAxMjg2NiwgNjUzMDgsIDMyOTQsIDk4MzMzMiwgODUyOSwgCi0gICAgMTI4MTAxLCA0MzM4NSwgNzU2NCwgMCwgNDMzMjksIDAsIDkyNDU4LCA3Mzc1NywgNjY0NTYsIDQyMzU5LCAwLCAyMDMxLCAwLCAKLSAgICA3MjAyLCAwLCAxMjY3NiwgNDI3MjksIDkyMTk4LCAzMjE1LCAwLCA3NzEwLCAxNjEwLCA3MzgwMSwgMCwgMCwgNjU2ODIsIDAsIAotICAgIDEyMDUzNywgNjU5MjQsIDk5NzQsIDIyOCwgNjYzNTQsIDE1MDEsIDAsIDY0Mzk1LCA1MTc5LCA3MjAwLCA2MjI1LCAwLCAKLSAgICA2NTc5NCwgMTcyNSwgNjU1MzMsIDgxOTYsIDc0NzYsIDc0Mzk5LCAwLCAwLCA3MTUyLCA4NTAyLCA1NzYyLCAxOTY3LCAKLSAgICA3NDgzLCAwLCAwLCA4MTA0LCAwLCA3NDc0LCA3Nzk3OSwgMCwgMTI2NTA3LCAxMDQxNCwgMTMwMDEsIDgxNDEsIDAsIAotICAgIDQyNTM3LCAxNTU3LCA0MzU5NCwgMTI4NjQyLCA2MzMwLCA2ODA1LCA4NjMxLCAyNTQ1LCA3MDA1MiwgMTI3MTY2LCAwLCAKLSAgICA3NDE5MCwgMCwgMCwgOTgzNzg2LCA0Mjc2MiwgMCwgNDI5MTQsIDE2NTAsIDI2MiwgMTYzNywgMCwgNzkwMSwgMzIzOCwgCi0gICAgMTI4MTczLCA0MTg2MSwgMCwgMTI4NTg1LCA2NTE1OCwgMTA4NjAsIDk0MDU5LCA0MzY1OCwgNzUyNywgMCwgNDMzMTksIAotICAgIDY0MTksIDAsIDQ1LCAwLCA2NDU4OCwgOTM5ODksIDAsIDExOTgxMCwgNzE5NCwgNTI5MSwgMCwgNDM2NjYsIDEzMTI5LCAwLCAKLSAgICA5MDg0LCAwLCA4NzM3LCAwLCAxMjg4MSwgMCwgMTI5MDYsIDk2MzksIDc5MTIsIDI2MjAsIDAsIDAsIDAsIDk4Mzg3NSwgCi0gICAgMTc5LCA2NTg5NiwgMCwgNjQ3NTYsIDI4NTMsIDc4NDQzLCAxMTg4MTMsIDk4Mzg5MCwgMTE4OTk2LCAxMTkwMDksIDI4NTAsIAotICAgIDgwODQsIDk4MzA4NSwgNzM4NTAsIDI4MDEsIDkyMjg0LCA0MjA2OSwgMTE5ODM5LCA3NDc1NCwgMTE5ODQxLCA0MjA3MiwgCi0gICAgMTE5ODQzLCAxMTk4NDIsIDEwMzk4LCA5ODMwNTYsIDAsIDgzNzcsIDEyNzExNiwgODI0NSwgNjg0MDEsIDMxNTgsIDkyMzk2LCAKLSAgICAzOTgzLCA0MzY1NiwgOTIzLCAxMTk4NTcsIDExOTg1NiwgMjkyLCAxMzAwMiwgMTE5ODQ1LCAxMTk4NDQsIDMyMjEsIDE3NjMsIAotICAgIDkyNDYzLCA0NjEyLCAxMTk4NTEsIDExOTg1MCwgNzI1MywgMTI3MTEwLCA2ODM5MSwgMCwgMTA3ODIsIDM2MzcsIDEyOTk2LCAKLSAgICA0MzU0MiwgMCwgNjQ1NzgsIDk4MzY3NSwgMzIyOCwgNjk2MzYsIDg3ODMsIDAsIDExOTYxNCwgMjczMSwgMCwgMCwgNzg1ODUsIAotICAgIDQxMDIsIDc2OTYsIDczODc4LCAwLCAwLCA3ODU4NiwgNDMzMTYsIDQxNzcsIDExMjgzLCA5MDg5LCAwLCA3Mzk5NiwgCi0gICAgOTgzMTczLCA2NDUwMCwgNDM2NzQsIDAsIDY0OTQ3LCAxODU2LCAwLCAwLCA2Mzc5LCAwLCAwLCAwLCAzMjA4LCAxMjk3NSwgCi0gICAgNzQ3NzUsIDEyNzM4MCwgOTgzOTMxLCA5MjM4OSwgNzQwNzIsIDU1MjY5LCAwLCAwLCA5ODM2ODMsIDIwMzMsIDc4NTc3LCAKLSAgICA3ODU3NiwgMTk1MDI2LCA1NTI1NCwgNzc0MCwgMCwgMCwgMCwgNzM5NjQsIDAsIDkzOTg4LCA2NzYxMiwgNjU2NzQsIAotICAgIDEyODI0NCwgOTQxMTAsIDQxNjg5LCAwLCA3NDAwNiwgNjQ5MDksIDY2NDYsIDExNzkwLCA3NDAxOSwgMCwgMTI4MDY2LCAKLSAgICAxMjgwMzEsIDg1NjEsIDQ1NzMsIDAsIDUzMjYsIDAsIDEyMDYwNSwgNzIzMCwgODI1NywgMCwgODc3OCwgNDE2ODgsIDAsIAotICAgIDY1Nzc2LCAyMDcxLCA4MzE0LCA2NDU5LCAwLCA3NjI4LCA2NTA5MiwgNzM5MDMsIDY2NzIxLCAxMTM0MiwgMTI4NTYxLCAwLCAKLSAgICAwLCAxMjgyMjYsIDEyNzAwMSwgMCwgMTE4MTAsIDEzMTY0LCAxMDcyMywgOTY3LCA5ODM5NTEsIDEyNjQ2OSwgMTE5NDYsIDAsIAotICAgIDMyNTcsIDAsIDEyMzA3LCAxODQ1LCA5ODMxNTcsIDQzNTI2LCAwLCAwLCAxODg2LCA0MjM0MiwgMTAwODksIDg3MCwgNzY0OCwgCi0gICAgMzQ5OSwgODYwOSwgNzY1MiwgODc2LCA4NzEsIDg3NywgMCwgODc4LCA0MjAxNSwgODc5LCA0MzY5MiwgNDU2MywgMCwgMCwgCi0gICAgNzU5MSwgNjU4ODcsIDg2NywgOTUyMCwgODcyLCAxMjY2MDcsIDg2OCwgODczLCA3NjQyLCAwLCA4NjksIDg3NCwgNzY0NCwgCi0gICAgMTIwNjc0LCA4NzUsIDc5MCwgMTI4MzAzLCAwLCAwLCAwLCA2NjE4MiwgOTgzMjU4LCA1NDI5LCAxOTUwNTUsIDY2MTgwLCAKLSAgICAxMjY0ODAsIDY2MTgxLCA2ODQ1MiwgOTgzMjg5LCA5ODMyNDgsIDQyMDY3LCAwLCA1NDMzLCAxMDY1NywgNzkxMSwgCi0gICAgMTk0NjIyLCAxNTQ3LCA2NjE3NiwgNDIwMTIsIDEyMDU3NiwgNTQyNSwgNDk3NywgOTk5OSwgNTMxNywgNTQyMywgNDYxMSwgCi0gICAgMCwgNjc2MzcsIDAsIDk2NzksIDc0MTIyLCAwLCAwLCAwLCA2NjE5NCwgNDQxOCwgNjYxODQsIDQ2MjgsIDQyNDUsIAotICAgIDExOTY0OCwgMCwgMCwgMTg1MSwgMCwgMTI3MTg5LCAxMTkwOCwgMCwgOTM2MCwgMTE4ODk3LCA5ODMyMDIsIDQyNzc2LCAKLSAgICA2NjE4NywgMTI4MzcsIDg4MjksIDc3MTEsIDkyNzE0LCAwLCA5MjMyMSwgNDMzMTgsIDAsIDg4MDksIDY5ODgxLCAwLCAKLSAgICA5ODMxNDIsIDEyMDYwNCwgOTgzMDUyLCA5ODM4ODIsIDAsIDk4MzI3MCwgMCwgMCwgNzQyNywgOTk1OCwgNDU4OCwgNDM2ODAsIAotICAgIDAsIDc0NDg0LCAxOTQ5NjgsIDI0MzMsIDAsIDExOTYyMiwgMzM1MiwgNzQzNjMsIDk4Mzg4NSwgMCwgNzkzLCA3NDQwNCwgMCwgCi0gICAgMzA1LCA1NjcsIDY3NjYyLCA4NDIsIDEyODUxOSwgODIwOCwgMCwgNDE2OTUsIDE2NDcsIDExODg3NywgMCwgNzgzNywgCi0gICAgOTE3NjI1LCA4MTgsIDUzMzcsIDE5NDYyOCwgOTE3NjIxLCA0MTM3NiwgMTE5OTc4LCAxMjY1NzYsIDEyMDU5NCwgNzQwODYsIAotICAgIDkxNzYxNSwgOTE3NjE0LCA5MTc2MTMsIDEwOTczLCA2NjM1OSwgMTM3MiwgMTI3MTcyLCA5MTc2MDgsIDQ5NjksIDEyNTQsIAotICAgIDkxNzYwNSwgOTE3NjA0LCA5Mzk2NywgOTE3NjAyLCA2NTIyOCwgNzgyMjEsIDEyNjYxMiwgMCwgMjg0MCwgMCwgMTE5OTgyLCAKLSAgICA5ODM5MzksIDAsIDMyNDUsIDkwNjgsIDY4MTk0LCA2NDcyNSwgMCwgMCwgMTI5OTEsIDAsIDI2NTEsIDY4MDE2LCA5ODMyNjUsIAotICAgIDkxNzYxMSwgMTI3MDI2LCAxMjg4ODMsIDAsIDAsIDQzNjQ4LCAxMjA4MTIsIDAsIDQzMzIyLCA5MjY2MiwgMCwgMCwgCi0gICAgNjQzNzIsIDkyNjk4LCAzMjI2LCA2NTUsIDc1MiwgNzQ1NywgNzQ1NiwgNzQ1MiwgMzI4NSwgMTI4Nzc5LCAxMjc4MjEsIAotICAgIDExOTk4OCwgNjU2MTAsIDIzOTEsIDAsIDkyMjQ4LCA2NzEsIDI1MCwgNzQzNCwgNjE4LCA2NjgsIDYxMCwgNDI4MDAsIAotICAgIDc0MzEsIDExNTIsIDQyODAxLCA2NDAsIDEyMDY2NiwgNzQ0OCwgNzQzOSwgNjI4LCAzOTA1LCA3MzgxMCwgMCwgMTI4MjY2LCAKLSAgICA2NDc0OSwgNjc4NTAsIDIxMDcsIDAsIDAsIDQ2MDUsIDEyODE3NCwgOTgzMTkyLCA0MzM3MiwgNjU5NDUsIDEyODgzOCwgMCwgCi0gICAgMTE5NTkwLCAwLCAwLCAwLCA5ODcsIDY5MjcsIDExNTcyLCA0MjI2MSwgMTE0NjQsIDMzNjUsIDk5NzEsIDAsIDAsIAotICAgIDEyODI5NywgMCwgMCwgMCwgMCwgMTEzMzQsIDQzMzI2LCAxMjYwOSwgMTE1MTksIDExNTAzLCA1NTMwLCA1MjEwLCAwLCAKLSAgICA0NjI3LCA5ODM4OTIsIDUyMDgsIDAsIDEyODg0MiwgMTAzMzIsIDUyMTgsIDc5NzYsIDkxNTYsIDAsIDMyNDQsIDU1MjksIAotICAgIDY5NjQ3LCA3Mzg5NCwgMTI4ODUyLCA1NDMyLCA2NDk2NSwgNTUyNywgNzQwMzMsIDEwNTE2LCA3NzkwLCA1NTI4LCAwLCAKLSAgICA0MjE0MCwgMTIwMjgxLCAwLCAwLCA0MzU0NSwgOTg4NywgMCwgNDAwMCwgNzQyOSwgNzQyOCwgNjY1LCA3NDI0LCAzMjA2LCAKLSAgICAxMjAyNzgsIDc4ODQsIDAsIDEyODU2NiwgOTE3OTg5LCAxMjg2NjYsIDIxMSwgMjUwOSwgMTI4ODU4LCAxMjA1NzMsIAotICAgIDY4NjcyLCAzMjIwLCA0MjIzNSwgMCwgMTA2OTAsIDg5NTEsIDUyMTQsIDQyNDc0LCA4MTE4LCAwLCA3MDQ4LCA0NTkwLCAKLSAgICAxMjcyNTgsIDU4NTIsIDAsIDAsIDEyNzI1OSwgMTcwOCwgMCwgOTgzMTY1LCAyNjIzLCAxMTk0MywgMCwgNjkyMjYsIDAsIAotICAgIDQ2OTgsIDY2NTA5LCAxMDY2LCAxMTk5MjEsIDQ3MDEsIDk4Mzg3NiwgMTIwMjg1LCA3NDIyNSwgOTQxMTEsIDgyNjcsIDAsIAotICAgIDEyNzI2NSwgMCwgNzUxNiwgMCwgMjYyNSwgOTgzOTc3LCA4MDM0LCA3NDMwOSwgMCwgMzYzMSwgMTA5NTUsIDc4NTAsIAotICAgIDEyMDI5MywgODQxNiwgMCwgMCwgMCwgNDMzODQsIDEyNjYwLCAwLCAwLCAwLCA3NDg1MCwgNDEwNjksIDAsIDEyODE1NiwgCi0gICAgMTIwOTksIDQzMTAsIDEwMDMyLCA2MjUyLCA3MTMsIDc5OTAsIDAsIDM5OTAsIDAsIDk4MzI2MiwgNjYzNjgsIDUwMTcsIAotICAgIDY0OTU2LCA3MDcxLCAwLCAxMTkxNDQsIDEwMzAsIDExODgwMCwgOTgzMTIwLCA5NTEzLCA0MTA1OSwgOTM1NywgMCwgMTc3MywgCi0gICAgMCwgMTIwMzUwLCAwLCA2MzM5LCA3NzQ1LCA5ODQ0LCAwLCA2NDY1MCwgOTQsIDE4ODAsIDc0NzY2LCA5ODM4MzgsIDg5MDgsIAotICAgIDAsIDEyODcwNywgNjU5MTMsIDc4NDcwLCAxMDc1MiwgMTMwMDMsIDAsIDEyNjU3MiwgNDEzMDcsIDg3MzIsIDEyMDMzOCwgMCwgCi0gICAgMTc1NywgNjk2NCwgNDY5NiwgMCwgMTIwMzM1LCA2NDc4NSwgNzM5NCwgMzY0MSwgNTQxOSwgMTI4MDU1LCAwLCAxMjc4ODMsIAotICAgIDAsIDEyMDM0NCwgNDM5ODgsIDAsIDg2MTAsIDQzMDYyLCA3NTkyLCA4NTYsIDc0Mjk5LCA5MzYsIDEzMjg5LCA2OTg5NCwgCi0gICAgNDMxNzEsIDE0NTksIDAsIDY1MjQzLCA3ODYzOCwgMTk5NTMsIDAsIDE1MDQsIDcwMDY0LCAwLCAxMjkxMywgNzQyMDYsIAotICAgIDc1MjksIDAsIDEyODY5OSwgOTgzOTU3LCAxMjA3ODIsIDQxMTMsIDAsIDIzNzIsIDMzNiwgMCwgNzUwOSwgMTIxNTIsIDAsIAotICAgIDY4MiwgNjY0NTgsIDQxNTA1LCAwLCA2NDc0MywgMTA1OTMsIDE3MDMsIDAsIDk4Mzk1NSwgODAzMywgNjk5NTMsIDAsIAotICAgIDk4MTAsIDEyNzI2OSwgMCwgMTI5NzAsIDAsIDQyMzUxLCAxMDEwOSwgOTE3NjIzLCAwLCAxOTQ2OTMsIDAsIDkyNjkwLCAwLCAKLSAgICAwLCA3NDI5MSwgMTk2NSwgNzA2OSwgNDMzMTIsIDAsIDczODg3LCAwLCAyMDg3LCA2NDM3MCwgNjMxNCwgNDE3MTQsIDg1MDEsIAotICAgIDAsIDAsIDc0MjM5LCA0MTMxNywgOTI2MTQsIDIwOTEsIDc0NTQ1LCAyMDkwLCAwLCA5MzUzLCA3MTE3LCAyMDc3LCA3Nzg4NiwgCi0gICAgMCwgMTA0OTgsIDIwODMsIDc3ODg4LCAwLCAwLCAxMTkyMzYsIDYzNCwgMCwgMCwgMCwgNjk3NzksIDQxNjUsIDg3NDYsIDAsIAotICAgIDk2NTQsIDEyODU2LCA2OTI0LCAwLCA3MDY2LCA5ODM3MTksIDAsIDEyODEzNSwgNDEwMzcsIDQyNjkyLCA3Nzg2LCAxMjk1OSwgCi0gICAgNDEwMzksIDEyNzQ4MywgMCwgNjgwLCAyMzAyLCAxMjgyMDAsIDExODEsIDcwNTYsIDMxNzQsIDEyNjUxNiwgMCwgOTI2NjgsIAotICAgIDY1NjY1LCAxMjczNzUsIDEyNjUwNiwgNjkyMCwgMCwgOTIyOTUsIDAsIDExODk2NSwgMCwgNjQ2NDQsIDEyNjk4MSwgCi0gICAgNzQxMTksIDAsIDQxMDI4LCAwLCA2MjMxLCAyNjEzLCA2NTMwMiwgNDA5ODksIDAsIDE5NDY5NiwgMCwgNDI3NjAsIDAsIAotICAgIDk4MzU2NiwgMCwgNDA5ODcsIDQ2NjcsIDAsIDk4MzkzMiwgODgyOCwgMCwgMCwgMTI0NiwgNDc0NiwgMCwgMCwgMTEwMjEsIAotICAgIDQ3NDksIDkyNjc1LCAwLCA5MjEsIDQ3NDQsIDAsIDEyNzAyLCAyNDIsIDAsIDE1NjYsIDgyMTcsIDAsIDY0NjUzLCA3ODM4NiwgCi0gICAgMTI4MTIxLCA3NDAzNiwgNzQ1MDUsIDQzMjc0LCA1MzEzLCA5NTEsIDAsIDAsIDk4Mzg2NywgNzYwNCwgOTgzMjkwLCA0MDA5LCAKLSAgICAxMjc4MTYsIDk4MzcxMCwgMTIwNTYyLCAwLCA5ODM3MjAsIDY0ODYwLCAxMTkxMzgsIDExOTA2OSwgMCwgMTI3MzcwLCAKLSAgICA0MDQ4LCA5ODM1OTgsIDAsIDcwMDI0LCAxNjQ2LCA3Nzg5MCwgNjQ1MzQsIDczOTk1LCAxMjA3MDUsIDAsIDExOTg5MCwgCisgICAgNjUzMTYsIDQxMDYsIDY1MzE0LCA2NTMxMywgNDIwNzQsIDEyNzg0NywgNDEyMjgsIDEyODk2MCwgNjU2MDksIDQxMjQxLCAKKyAgICA3OTAzLCA0MTIzOSwgNDM1MzMsIDc4NDU5LCA3MTg5LCAwLCAwLCAxMjg3NTMsIDEyMzU3LCA0MjgwMiwgNzg0NTAsIDg0ODcsIAorICAgIDkxMzEsIDY2MjkyLCA0NjE1LCAxMjY5NSwgMTI3NzUyLCAwLCAxMjE3NSwgMCwgNjQ1MzUsIDAsIDc4MDksIDAsIDAsIDU2MiwgCisgICAgMTIxNjksIDY1OTAsIDY5NzYyLCA2NjQ1NSwgNjQ3MzgsIDMyMTksIDY4NjU0LCA5ODM3ODcsIDEyODI4MSwgMTAzNywgCisgICAgMTI4Njc3LCAyMDI1LCAxMjgyNjMsIDEzMDk4LCA3ODQ0MiwgMTA2MzcsIDQ1NjgsIDU0OSwgMTU3MCwgNDM4MzksIDI4MzUsIAorICAgIDAsIDEwNjI0LCA0MzYyMywgMTEwNzIsIDEyNzE5MSwgMCwgMCwgMTI2MDYsIDc4NDMzLCAyODI1LCAwLCAxMDgyNSwgODA3OSwgCisgICAgMjgyMSwgNDEwNDYsIDkyMzI3LCA3MzY1LCA5MjYzNCwgMTIwNTkzLCAxMzA3MSwgMTI5MDUyLCA0NTIsIDQxMDQ5LCAKKyAgICA0Mjg0MCwgNjM0NiwgMjgzMSwgNTQ2MSwgNzQ1OTYsIDExNDY1LCA1MjEyLCAwLCA2NDcwMywgMTE5MTkxLCA0MjMwOCwgCisgICAgNzE4MSwgMCwgNDEzMzIsIDAsIDEyMzMzLCA0MTA0NywgMTY2OCwgMCwgMCwgMCwgMTE4NywgOTgzMzg1LCA0MjYyOCwgCisgICAgNzg1NzUsIDAsIDcxODYzLCAwLCAzMjQwLCAxMjg1MTgsIDEyMTUxLCAwLCAxMTU5MSwgNDEwNjUsIDUzMjMsIDgxNjYsIDAsIAorICAgIDAsIDAsIDY2ODI3LCAxNjIzLCA2NTI5NywgMTI4ODU2LCA1NzEsIDAsIDQ5MTgsIDAsIDUyODgsIDEyNzI5NSwgMTU0MSwgCisgICAgNjUwNDgsIDE5MDksIDg4NjQsIDAsIDY2NDAyLCAxMDczNiwgOTI1MDgsIDExNTcxLCA3NjE1LCA3MDQ3NiwgOTIyOTYsIAorICAgIDQyMzcsIDkyNTc2LCAxMDM1LCA2NTgxNSwgMTE5MzAxLCAzNTY3LCA3MDEsIDY1OTM2LCAzNDg5LCAwLCA3MDQ2MiwgCisgICAgNzAxNzIsIDExNDAzLCAwLCAwLCAxMjcxNDYsIDM3OTYsIDY4MDAsIDcwNDcyLCAzOTk0LCAxMTQyMSwgNzQ2MTEsIAorICAgIDE5NTA3NiwgMTk1MDc4LCA5ODM5MjIsIDAsIDAsIDY0ODU3LCAxMjgxMDUsIDI4NTUsIDc0NDE4LCA2NjMwOCwgNDE2MjEsIAorICAgIDY4MjE0LCAxMjcyODMsIDEyNzgxNywgMTA2NTQsIDEyNzgxOCwgMTE5MjI2LCAxMjE2NCwgMzI0NiwgNzkwNiwgNDM5NzIsIAorICAgIDY1ODQ3LCA3MTgyLCAwLCAxMzAyNCwgNjYyNzYsIDc0MjcwLCAxMjgyODksIDEyNTA5MCwgMCwgMCwgMTQ5NiwgNzQ3LCAwLCAKKyAgICA5NDIsIDIzNzgsIDQzMTM2LCAxMjc5MDUsIDg0NjYsIDk4MzU3NSwgOTMyMCwgODAwMSwgMTIzMiwgODEzOSwgMTE2MTcsIAorICAgIDc0NjM3LCAwLCAxMTQwOSwgNjgzNzMsIDYzODIsIDEyNjUwMCwgNjQ2MzQsIDkyMzYyLCA3MDIwMiwgMTE2MTIsIDkzMDA4LCAKKyAgICA2NzYwMCwgMjM3NCwgOTQwNjYsIDg0NzUsIDExNjA5LCA2NjMxMywgOTgzNzY5LCAwLCA1Mjg2LCAxMTkyOTcsIDAsIAorICAgIDk4MzI1MSwgNjQ5MjUsIDEyMDI4MywgMTI3MjA0LCAxMTg5ODIsIDcxOTA1LCA3NzA1LCAxMTk0MiwgMTEzMDUsIDEyNzIwMywgCisgICAgMzMwOSwgMTI4NjE5LCA5MjA2LCAxMTkxNjUsIDExMzgyNCwgNjgwMiwgNzAzNTMsIDQxNjUzLCAxMjgwLCAxMjQxLCA3MTY4LCAKKyAgICAxMjA5NiwgMCwgNjY2MTUsIDQyNTY1LCA0MTY1MSwgMCwgOTE3NjI3LCAwLCA0MTY1MCwgNjY1MDcsIDY2NDcwLCA3NDQ3MiwgCisgICAgMTI5MTQsIDQxNDkxLCA2NjAxMCwgOTQxMDYsIDYwNzgsIDk5NTQsIDc4ODIyLCAxNDc1LCAxMTkyNDcsIDk5MzgsIDYwODQsIAorICAgIDkxNzU0NiwgNDEwNjQsIDQxMDYyLCAwLCAwLCAzMjU2LCAxMDE4OSwgNDIwNzYsIDQzMjUyLCA3ODgyMywgNzE4NjEsIAorICAgIDg3MjcsIDAsIDY1ODc1LCAwLCAwLCAxMjc3NjIsIDEwNTYyLCA3NDIxNSwgNDMwNjUsIDAsIDAsIDMyNDgsIDc0Mjk3LCAKKyAgICAzMjYxLCA5MDE1LCA3MTM1MSwgMCwgMzYzNSwgNjQzMzcsIDkyNzU5LCAxMjUwNTQsIDAsIDcxOTUsIDAsIDIwMDcsIAorICAgIDY0NDMxLCAwLCAwLCA5MjE5NywgMCwgNjM1LCAwLCAwLCA2NTYxMywgNzc5MDksIDkyNDIwLCA3Mzk5NywgMCwgMCwgCisgICAgMTE5MjE4LCA3OTg0LCA4NjAwLCA3NDQzNCwgMTI3NzcwLCA0MTc2LCA3MDA1MCwgMjAzNCwgNzg0MjMsIDExMTU0LCAKKyAgICA2NTg5MSwgMTI3MDM4LCAwLCAzMTgsIDIwMzgsIDEyODg2MCwgNzg1OTYsIDE5NDYwMiwgMzY0OSwgMTMxNDksIDQyMTQ1LCAKKyAgICA0Mjc5OCwgMzYzNCwgMTIwMjkxLCA3MTg4NSwgNjc2NzcsIDEyMDEyNCwgNzg2NiwgMCwgMTE0MDIsIDQyMTQ2LCA5NDAzMiwgCisgICAgNzQyMzgsIDQyNjY0LCAyODQ5LCAxMjcwMzQsIDAsIDc5MzgsIDEyOTYwLCAxNzYxLCAxMTgxMiwgNjUzNzksIDY4Mzg2LCAKKyAgICAxMjgxODUsIDExNTksIDcxMTgzLCA2OTcyOSwgMCwgMTIwNzk3LCA3MTc4LCAxOTQ2MzIsIDk4MzgzNiwgNDE2ODAsIDAsIAorICAgIDEyODIwMywgMTE1MzQsIDE1MTQsIDExNjY4LCA2Nzg5MSwgOTMxMywgNzAxNSwgMTI4NDkwLCA2Nzg3NywgMTk0NTY3LCAKKyAgICAxMjk4OSwgNjY0NzQsIDkzNjgsIDEyODQ4LCAxNjI0LCA0MzI3MCwgMCwgNzQyNzgsIDEwODE4LCAxMjY2NDQsIDk5NTMsIDAsIAorICAgIDc4NDIxLCAxMTk0LCAzMjQyLCA5NzYxLCA5NTU1LCA4NTk4LCAxMjAyOTksIDYxNjksIDEyODcxLCAxNTUxLCAyNzk4LCAKKyAgICA2NTE3NiwgNDk1OCwgNDI3NTIsIDExOTAyNSwgMCwgNjc4NzUsIDEyMDMwMSwgMzQ5NSwgNjY2NDgsIDEyNTA3OSwgCisgICAgMTEzNzgwLCA2ODM2NCwgMTIwNzc5LCA0ODkxLCAwLCAxMDY0MSwgMCwgNzM3NDYsIDk4MzgzNywgNjgzNTIsIDAsIDczNzg3LCAKKyAgICAxOTQ4MjksIDE5NDYzMywgNzE5OSwgMTExMzEsIDAsIDAsIDAsIDk4Mzg1MiwgMCwgNDI2ODUsIDQyNjc5LCAxOTMsIAorICAgIDc4Nzg5LCAwLCAwLCA0MjY2NywgMCwgNTI3MSwgNjgzMjMsIDkyNTE3LCAxMTg4ODIsIDEzNjIsIDEzMjk3LCAwLCA3MTg4MCwgCisgICAgMCwgOTgzMzMxLCA3Mzc4OSwgMCwgNjY1OCwgNDQyNiwgMCwgNjY4MzAsIDk4Mzg0MiwgOTIzMTksIDcyNzYsIDQyMTYzLCAKKyAgICA1MjIwLCAwLCAwLCAxMjUwODAsIDI0MTYsIDMzMTAsIDQyNzAzLCAxMjc4MjgsIDM3OSwgMCwgNDM3NTUsIDcwNTA0LCAKKyAgICA0MzY0NywgMzIyMywgNjU0OTIsIDEyODQsIDE5NDc3MSwgNDU0OSwgMCwgMCwgOTgzMTU0LCA3MDc4NCwgMTA4MDcsIDk1NTgsIAorICAgIDkzMDI3LCAwLCA4NTE1LCA4Njg4LCAxMjg2NiwgNjUzMDgsIDMyOTQsIDk4MzMzMiwgODUyOSwgMTI4MTAxLCA0MzM4NSwgCisgICAgNzU2NCwgMCwgNDMzMjksIDAsIDkyNDU4LCA3Mzc1NywgNjY0NTYsIDQyMzU5LCAwLCAyMDMxLCA5ODM4OTAsIDcyMDIsIAorICAgIDEyODYxOCwgMTI2NzYsIDQyNzI5LCA3NDc3NywgMzIxNSwgMCwgNzcxMCwgMTYxMCwgNzM4MDEsIDAsIDAsIDY1NjgyLCAwLCAKKyAgICAxMjA1MzcsIDY1OTI0LCA5OTc0LCAyMjgsIDY2MzU0LCAxNTAxLCAwLCA2NDM5NSwgNTE3OSwgNzIwMCwgNjIyNSwgCisgICAgMTE4OTI3LCA0Mjk5OSwgMTcyNSwgNjU1MzMsIDgxOTYsIDc0NzYsIDc0Mzk5LCAwLCA2Njg2OCwgNzE1MiwgODUwMiwgCisgICAgNTc2MiwgMTk2NywgNzQ4MywgMTI1MDgzLCAwLCA4MTA0LCA3MDEyOCwgNzQ3NCwgNzc5NzksIDEyNzIwMCwgMTI2NTA3LCAKKyAgICAxMDQxNCwgMTMwMDEsIDgxNDEsIDAsIDQyNTM3LCAxNTU3LCA0MzU5NCwgMTI4NjQyLCA2MzMwLCA2ODA1LCA4NjMxLCAKKyAgICAyNTQ1LCA3MDA1MiwgMTI3MTY2LCAwLCA3NDE5MCwgMCwgNzA0MTAsIDk4Mzc4NiwgNDI3NjIsIDAsIDQyOTE0LCAxNjUwLCAKKyAgICAyNjIsIDE2MzcsIDEyODUwMiwgNzkwMSwgMzIzOCwgMTI4MTczLCA0MTg2MSwgMCwgMTIwMjExLCA2NTE1OCwgMTA4NjAsIAorICAgIDk0MDU5LCA0MzY1OCwgNzUyNywgMCwgNDMzMTksIDY0MTksIDAsIDQ1LCAwLCA2NDU4OCwgOTM5ODksIDEyNzc1MywgCisgICAgMTE5ODEwLCA3MTk0LCA1MjkxLCAwLCA0MzY2NiwgMTMxMjksIDEyODY4NCwgOTA4NCwgMCwgODczNywgOTgzMTY1LCAKKyAgICAxMjg4MSwgMCwgMTI5MDYsIDk2MzksIDc5MTIsIDI2MjAsIDk4Mzg4MiwgMzU2NCwgMCwgNjk5NzgsIDE3OSwgNDM2NDQsIAorICAgIDEyNjUwMywgNjQ3NTYsIDI4NTMsIDc4NDQzLCAxMTg4MTMsIDEyOTA0MiwgNzAzNDcsIDExOTAwOSwgMjg1MCwgODA4NCwgCisgICAgOTgzMDg1LCA3Mzg1MCwgMjgwMSwgOTIyODQsIDQyMDY5LCAxMTk4MzksIDc0NzU0LCAxMTk4NDEsIDQyMDcyLCA5MjczNiwgCisgICAgMTE5ODQyLCAxMDM5OCwgOTgzMDU2LCAwLCA4Mzc3LCAxMTkzMTIsIDgyNDUsIDY4NDAxLCAzMTU4LCA5MjM5NiwgMzk4MywgCisgICAgNDM2NTYsIDkyMywgMTE5ODU3LCA5MjQ3MCwgMjkyLCAxMTExOSwgMTE5ODQ1LCAxMTk4NDQsIDMyMjEsIDE3NjMsIDkyNDYzLCAKKyAgICA0NjEyLCA2NzcyOSwgMTE5ODUwLCA3MjUzLCA3MDQ1NiwgNjgzOTEsIDAsIDEwNzgyLCAzNjM3LCAxMjk5NiwgNDM1NDIsIAorICAgIDExMzY3NiwgNjQ1NzgsIDk4MzY3NSwgMzIyOCwgNjk2MzYsIDg3ODMsIDAsIDExOTYxNCwgMjczMSwgMCwgMCwgNzg1ODUsIAorICAgIDQxMDIsIDc2OTYsIDczODc4LCAwLCAxMjkxMjgsIDcwODEzLCA0MzMxNiwgNDE3NywgMTEyODMsIDkwODksIDAsIDczOTk2LCAKKyAgICA5ODMxNzMsIDY0NTAwLCA0MzY3NCwgMCwgNjQ5NDcsIDE4NTYsIDAsIDAsIDYzNzksIDAsIDExMTQyLCAxMjcxNzYsIDMyMDgsIAorICAgIDEyOTc1LCA3NDc3NSwgMTI3MzgwLCA5ODM5MzEsIDkyMzg5LCA3NDA3MiwgNTUyNjksIDAsIDAsIDk4MzY4MywgMjAzMywgCisgICAgNzg1NzcsIDc4NTc2LCAxOTUwMjYsIDU1MjU0LCA3NzQwLCAwLCA3MDQ0OCwgMTI3ODk1LCA3Mzk2NCwgNjg1MDUsIDkzOTg4LCAKKyAgICA2NzYxMiwgNjU2NzQsIDEyODI0NCwgOTQxMTAsIDQxNjg5LCAwLCA3NDAwNiwgNjQ5MDksIDY2NDYsIDExNzkwLCA3NDAxOSwgCisgICAgMCwgMTI4MDY2LCAxMjgwMzEsIDg1NjEsIDQ1NzMsIDAsIDUzMjYsIDkyNTcxLCAxMjA2MDUsIDcyMzAsIDgyNTcsIAorICAgIDE5NDkzNywgODc3OCwgNDE2ODgsIDAsIDY1Nzc2LCAyMDcxLCA4MzE0LCA2NDU5LCA0MzUxMSwgNzYyOCwgNjUwOTIsIAorICAgIDczOTAzLCA2NjcyMSwgMTEzNDIsIDEyODU2MSwgMCwgOTgzNDMyLCAxMjgyMjYsIDEyNzAwMSwgMCwgMTE4MTAsIDEzMTY0LCAKKyAgICAxMDcyMywgOTY3LCA5ODM3MTcsIDEyNjQ2OSwgMTE5NDYsIDk4MzYwMiwgMzI1NywgMTI3MjA5LCAxMjMwNywgMTg0NSwgCisgICAgOTgzMTU3LCA0MzUyNiwgMCwgMCwgMTg4NiwgNDIzNDIsIDEwMDg5LCA4NzAsIDc2NDgsIDM0OTksIDc2NjIsIDc2NTIsIAorICAgIDg3NiwgODcxLCA4NzcsIDc2NjUsIDg3OCwgNDIwMTUsIDg3OSwgNDM2OTIsIDQ1NjMsIDAsIDAsIDc1OTEsIDY1ODg3LCAKKyAgICA4NjcsIDk1MjAsIDg3MiwgNzY1NiwgODY4LCA4NzMsIDc2NDIsIDc2NTksIDg2OSwgODc0LCA3NjQ0LCAxMjA2NzQsIDg3NSwgCisgICAgNzkwLCAxMjgzMDMsIDExODkzOCwgMCwgOTgzNjQxLCA2NjE4MiwgMTk0NjIzLCA1NDI5LCAxOTUwNTUsIDY2MTgwLCAKKyAgICAxMjY0ODAsIDY2MTgxLCA2ODQ1MiwgOTgzMjg5LCA5MTc5MjksIDQyMDY3LCAwLCA1NDMzLCAxMDY1NywgNzkxMSwgCisgICAgMTI1MTE5LCAxNTQ3LCA2NjE3NiwgNDIwMTIsIDEyMDU3NiwgNTQyNSwgNDk3NywgOTk5OSwgNTMxNywgNTQyMywgNDYxMSwgCisgICAgMTI1MDk0LCA2NzYzNywgMTI3Mjg2LCA5Njc5LCA3NDEyMiwgOTI5NzgsIDAsIDAsIDY2MTk0LCA0NDE4LCA2NjE4NCwgCisgICAgNDYyOCwgNDI0NSwgMTE5NjQ4LCAwLCAwLCAxODUxLCAxMjQ5OTUsIDEyNzE4OSwgMTE5MDgsIDAsIDkzNjAsIDExODg5NywgCisgICAgMTk0ODgwLCA0Mjc3NiwgNjYxODcsIDEyODM3LCA4ODI5LCA3NzExLCAxMTExMiwgMCwgOTIzMjEsIDQzMzE4LCA5MjMwMiwgCisgICAgODgwOSwgNjk4ODEsIDAsIDEyNjUxOCwgMTIwNjA0LCA5ODMwNTIsIDk4MzI3NSwgOTgzNDMxLCA5ODMyNzAsIDAsIAorICAgIDEyMDU3NywgNzQyNywgOTk1OCwgNDU4OCwgNDM2ODAsIDAsIDc0NDg0LCAxOTQ5NjgsIDI0MzMsIDEyODYwMiwgNjk5NzMsIAorICAgIDMzNTIsIDc0MzYzLCA5ODM4ODUsIDAsIDc5MywgNzQ0MDQsIDExMTk3LCAzMDUsIDU2NywgNjc2NjIsIDg0MiwgNjk5NzksIAorICAgIDgyMDgsIDY4MzA4LCA0MTY5NSwgMTY0NywgMTE4ODc3LCA3MDg0MSwgNzgzNywgOTE3NjI1LCA4MTgsIDUzMzcsIDE5NDYyOCwgCisgICAgOTE3NjIxLCA0MTM3NiwgMTE5OTc4LCAxMjY1NzYsIDEyMDU5NCwgNzQwODYsIDkxNzYxNSwgNzAxNzksIDkxNzYxMywgCisgICAgMTA5NzMsIDY2MzU5LCAxMzcyLCAxMjcxNzIsIDkxNzYwOCwgNDk2OSwgMTI1NCwgOTE3NjA1LCAxOTQ2NTQsIDkzOTY3LCAKKyAgICA5MTc2MDIsIDY1MjI4LCA3ODIyMSwgMTI2NjEyLCA2NzcyMywgMjg0MCwgMCwgNzg4MjksIDk4MzkzOSwgNjY4ODcsIDMyNDUsIAorICAgIDkwNjgsIDY4MTk0LCA2NDcyNSwgMCwgMTI4MDUxLCAxMjk5MSwgMTI0OTcxLCAyNjUxLCA2ODAxNiwgOTgzMjY1LCAKKyAgICA5MTc2MTEsIDEyNTAzOCwgNzA4MzUsIDAsIDcwODQ0LCA0MzY0OCwgMTIwODEyLCA5MTc4MzMsIDQzMzIyLCA5MjY2MiwgMCwgCisgICAgMCwgNjQzNzIsIDkyNjk4LCAzMjI2LCA2NTUsIDc1MiwgNzQ1NywgNzQ1NiwgNzQ1MiwgMzI4NSwgMTI4NDc1LCAxMTE1MiwgCisgICAgOTI5MDMsIDY1NjEwLCAyMzkxLCA5MjkwOCwgOTIyNDgsIDY3MSwgMjUwLCA3NDM0LCA2MTgsIDY2OCwgNjEwLCA0MjgwMCwgCisgICAgNzQzMSwgMTE1MiwgNDI4MDEsIDY0MCwgMTIwNjY2LCA3NDQ4LCA3NDM5LCA2MjgsIDM5MDUsIDczODEwLCAxMjgzNDAsIAorICAgIDEyODI2NiwgNjQ3NDksIDY3ODUwLCAyMTA3LCAxMjgzNDUsIDc0MjQ5LCA0NjA1LCAxMjgxNzQsIDk4MzE5MiwgNDMzNzIsIAorICAgIDY1OTQ1LCAxMjg4MzgsIDExMTEzLCAxMTk1OTAsIDAsIDAsIDcwNDk1LCA5ODcsIDY5MjcsIDExNTcyLCA0MjI2MSwgCisgICAgMTE0NjQsIDMzNjUsIDk5NzEsIDAsIDAsIDEyODI5NywgMCwgNzg3NjIsIDAsIDAsIDExMzM0LCA0MzMyNiwgMTI2MDksIAorICAgIDExNTE5LCAxMTUwMywgNTUzMCwgNTIxMCwgMCwgNDYyNywgMTI3Nzg0LCA1MjA4LCAwLCAxMjg4NDIsIDEwMzMyLCAyNDI0LCAKKyAgICA3OTc2LCA5MTU2LCAwLCAzMjQ0LCA1NTI5LCA2OTY0NywgNzM4OTQsIDEyODg1MiwgNTQzMiwgNjQ5NjUsIDU1MjcsIAorICAgIDQyMzE1LCAxMDUxNiwgNzc5MCwgNTUyOCwgOTgzNjk5LCA0MjE0MCwgMTIwMjgxLCAwLCAwLCA0MzU0NSwgOTg4NywgCisgICAgMTI5MDQ0LCA0MDAwLCA3NDI5LCA3NDI4LCA2NjUsIDc0MjQsIDMyMDYsIDEyMDI3OCwgNzg4NCwgMCwgMTI4NTY2LCAKKyAgICA5MTc5ODksIDEyODY2NiwgMjExLCAyNTA5LCA5MjkwNCwgNzA4MjIsIDY4NjcyLCAzMjIwLCA0MjIzNSwgNzg0ODAsIAorICAgIDEwNjkwLCA4OTUxLCA1MjE0LCA0MjQ3NCwgODExOCwgMCwgNzA0OCwgNDU5MCwgMTI3MjU4LCA1ODUyLCAwLCA3ODQ4MiwgCisgICAgMTI3MjU5LCAxNzA4LCAwLCA3ODQ4MSwgMjYyMywgMTE5NDMsIDEyODcwMCwgNjkyMjYsIDY5OTc0LCA0Njk4LCA2NjUwOSwgCisgICAgMTA2NiwgMTE5OTIxLCA0NzAxLCA5ODM4NzYsIDEyMDI4NSwgNzA0NDcsIDk0MTExLCA4MjY3LCAwLCAxNDIxLCA2NjQyNiwgCisgICAgNzUxNiwgMTI3NTUyLCAyNjI1LCA5ODM5NzcsIDgwMzQsIDc0MzA5LCAwLCAzNjMxLCAxMDk1NSwgNzg1MCwgMTIwMjkzLCAKKyAgICA4NDE2LCAwLCAwLCAwLCA0MzM4NCwgMTI2NjAsIDEyODY5MywgMCwgMCwgNzQ4NTAsIDQxMDY5LCA3MDE4NSwgMTI4MTU2LCAKKyAgICAxMjA5OSwgNDMxMCwgMTAwMzIsIDYyNTIsIDcxMywgNzk5MCwgOTgzNDg3LCAzOTkwLCAxMjUwNTAsIDk4MzI2MiwgNjYzNjgsIAorICAgIDUwMTcsIDY0OTU2LCA3MDcxLCAwLCA3MDQ1NywgMTAzMCwgMTE4ODAwLCA5MjU2MywgOTUxMywgNDEwNTksIDkzNTcsIDAsIAorICAgIDE3NzMsIDc3OTM5LCAxMjAzNTAsIDAsIDYzMzksIDc3NDUsIDk4NDQsIDEyNzIyMCwgNjQ2NTAsIDk0LCAxODgwLCA3NDc2NiwgCisgICAgMTEzNzE5LCA4OTA4LCAwLCAxMjg3MDcsIDY1OTEzLCA3ODQ3MCwgMTA3NTIsIDEzMDAzLCAwLCAxMjY1NzIsIDQxMzA3LCAKKyAgICA4NzMyLCAxMjAzMzgsIDAsIDE3NTcsIDY5NjQsIDQ2OTYsIDAsIDEyMDMzNSwgNjQ3ODUsIDczOTQsIDM2NDEsIDU0MTksIAorICAgIDEyODA1NSwgMCwgMTI3ODgzLCAwLCAxMjAzNDQsIDQzOTg4LCA3MDQyMywgODYxMCwgNDMwNjIsIDc1OTIsIDg1NiwgCisgICAgNzQyOTksIDkzNiwgMTMyODksIDY5ODk0LCA0MzE3MSwgMTQ1OSwgMCwgNjUyNDMsIDc4NjM4LCAxOTk1MywgMCwgMTUwNCwgCisgICAgNzAwNjQsIDAsIDEyOTEzLCA3NDIwNiwgNzUyOSwgMTI4NzQ1LCAxMjg2OTksIDcwMjAzLCAxMjA3ODIsIDQxMTMsIDAsIAorICAgIDIzNzIsIDMzNiwgMCwgNzUwOSwgMTIxNTIsIDE5NDg4NSwgNjgyLCA3NjU1LCA0MTUwNSwgMCwgNjQ3NDMsIDEwNTkzLCAKKyAgICAxNzAzLCA5MjQ2NywgNzc5MTEsIDgwMzMsIDY5OTUzLCAwLCA5ODEwLCAxMjcyNjksIDEyMDAxMywgMTI5NzAsIDAsIAorICAgIDQyMzUxLCAxMDEwOSwgNzQ1MzUsIDAsIDE5NDY5MywgMCwgOTI2OTAsIDAsIDY1MDY4LCA3NDI5MSwgMTk2NSwgNzA2OSwgCisgICAgNDMzMTIsIDAsIDczODg3LCAxMTEzMCwgMjA4NywgNjQzNzAsIDYzMTQsIDQxNzE0LCA4NTAxLCAxMTE0NSwgMCwgNzQyMzksIAorICAgIDQxMzE3LCA5MjYxNCwgMjA5MSwgNzQ1NDUsIDIwOTAsIDY5OTEyLCA5MzUzLCA3MTE3LCAyMDc3LCA3Nzg4NiwgMTExNjEsIAorICAgIDEwNDk4LCAyMDgzLCA3Nzg4OCwgNzExOTYsIDAsIDExOTIzNiwgNjM0LCAwLCA5MjI5MCwgMCwgNjk3NzksIDQxNjUsIAorICAgIDg3NDYsIDE5NTA0OCwgOTY1NCwgMTI4NTYsIDY5MjQsIDc2NjAsIDcwNjYsIDk4MzcxOSwgNzA0MTUsIDEyODEzNSwgCisgICAgNDEwMzcsIDQyNjkyLCA3Nzg2LCAxMjk1OSwgNDEwMzksIDEyNzQ4MywgMTI0OTY1LCA2ODAsIDIzMDIsIDEyODIwMCwgCisgICAgMTE4MSwgNzA1NiwgMzE3NCwgNjcyNDgsIDAsIDkyNjY4LCA2NTY2NSwgMTI3Mzc1LCAxMTM3NzYsIDY5MjAsIDAsIDkyMjk1LCAKKyAgICAwLCAxMTg5NjUsIDY4MzE4LCA2NDY0NCwgMTI2OTgxLCA3NDExOSwgNjgyMzgsIDQxMDI4LCA3NDAyNSwgNjIzMSwgMjYxMywgCisgICAgNjUzMDIsIDQwOTg5LCA2ODIzOSwgNjgyMzAsIDY4MjM0LCA0Mjc2MCwgMCwgMTI0OTg5LCAwLCA0MDk4NywgNDY2NywgMCwgCisgICAgNzE4NDMsIDg4MjgsIDAsIDcwNTA2LCAxMjQ2LCA0NzQ2LCAwLCAxMjg1MDgsIDExMDIxLCA0NzQ5LCA5MjY3NSwgOTE3ODgyLCAKKyAgICA5MjEsIDQ3NDQsIDAsIDEyNzAyLCAyNDIsIDAsIDE1NjYsIDgyMTcsIDEyNzIxMCwgNjQ2NTMsIDc4Mzg2LCA3NDYxNywgCisgICAgNzQwMzYsIDc0NTA1LCA0MzI3NCwgNTMxMywgOTUxLCA3NDU2OCwgOTI5ODMsIDk4Mzg2NywgNzYwNCwgOTgzMjkwLCA0MDA5LCAKKyAgICA3MDQyNiwgNzE4NDQsIDEyMDU2MiwgMCwgOTgzNzIwLCA2NDg2MCwgMTE5MTM4LCAxMTkwNjksIDAsIDEyNzM3MCwgNDA0OCwgCisgICAgOTgzNTk4LCAwLCA3MDAyNCwgMTY0NiwgNzc4OTAsIDY0NTM0LCA3Mzk5NSwgMTIwNzA1LCAxMjkwNDcsIDExOTg5MCwgCiAgICAgMjU3OSwgMTE5OTA1LCAzMTc3LCAxMTM1NywgOTA5OSwgNDEwNywgMzQ0MSwgMTE5ODk0LCAyOTc1LCA3NDQ0MiwgOTgyMiwgCiAgICAgOTgzOTM1LCA1NTIyMCwgMTAwODQsIDczOTQzLCAxMTg4NDAsIDAsIDkxNzU2MiwgMTk0NjEwLCAzMzk5LCA5ODUxLCAKLSAgICA5ODM3MTcsIDExOTA5LCA5MDU5LCAwLCA3Njg3LCAwLCA2Nzg5LCAwLCAwLCAwLCA3MTM2NywgMCwgMCwgMTc3NywgOTE1MSwgCi0gICAgMTEzNywgNjk3NjcsIDc0OSwgNDIzNjYsIDAsIDUzODUsIDEyODU3NCwgMTI4MjE4LCAwLCAwLCA1OTg5LCAwLCAwLCAKLSAgICAxMjgwOTEsIDAsIDQxNjg1LCA2OTIyMywgMCwgOTc2OSwgNDE2ODQsIDk4MzIxNiwgNTE5LCAwLCAxMTc0MCwgNTc2NiwgMCwgCi0gICAgMCwgMjYwMCwgODg0OCwgMTIwMTM4LCA0MTI5NywgMCwgMzY2NiwgNzQ0NzMsIDQxMzAwLCA3NDQ2OCwgNjUxNjAsIDAsIAotICAgIDY5Njg4LCA2OTc3MSwgNzQ0NzksIDAsIDY1NTgsIDAsIDAsIDY5NzY1LCAxMjA3NTAsIDI1MiwgMCwgNDEzMDIsIDAsIDAsIAotICAgIDAsIDY5NzYzLCAwLCAxMTcyOSwgODcxOSwgOTA2MCwgMCwgMTIwMTM5LCAxMDc2MSwgMCwgMCwgMCwgMTE4NzkyLCAxMTczNCwgCi0gICAgOTgzMjIzLCAxMTczMCwgMCwgOTU5MywgNTc1NywgMjQwMywgNjQ4MDgsIDU1Mjc1LCAwLCAxMTcyOCwgNDM1NzIsIDAsIDAsIAotICAgIDc3NjQsIDk4MzcxNCwgMTEwOTQsIDEyMDgyNSwgMCwgOTgzMjI2LCA0MjgyLCA4Mjk4LCAwLCAwLCAwLCAwLCAwLCA2NDQ0OSwgCi0gICAgMCwgMTI2NjUwLCA2Mzg1NCwgODQ1NiwgMCwgNzQ3ODMsIDY1NjcwLCAwLCA3ODI1MCwgMCwgNzc3NCwgMTA2MDcsIDk3OTIsIAotICAgIDAsIDAsIDAsIDAsIDEyMDc2NCwgMCwgMTAwMTksIDc0NzYyLCAwLCAzNDU4LCA0MzY1LCA3MDA1MywgOTgzNzEyLCAzNjQ3LCAKLSAgICAwLCAyNjAyLCAxMjgzNDEsIDAsIDE5NDcwNywgNDExMzUsIDAsIDAsIDAsIDY0NjMxLCAxNzIsIDQ5NzEsIDQxMjE5LCAKLSAgICA0MTEzNywgMTg4OSwgNzIzOCwgNjU0NSwgMTI2NDc2LCA5MjE5MywgNzU5NywgMTA1MjgsIDAsIDAsIDM3MzIsIDczOTEwLCAKLSAgICAxOTQ1ODgsIDUzNDQsIDAsIDQzMzY2LCA0MzM2MywgOTA2MiwgMTE5MjUyLCAwLCAwLCAwLCA2NDQ3OSwgOTIzMiwgOTI1OTYsIAotICAgIDAsIDAsIDE5NDcxMiwgMTA5MDAsIDQxNTMxLCAxMjYzLCAzNzIwLCAxMjA0OCwgMCwgNjQyOTIsIDQxNTI0LCA3MjI3LCAKLSAgICAxMTk2MzUsIDYwOTksIDQxNTM0LCAwLCAxMjczNTQsIDEyNzM0NSwgMjk5LCA5MTc5NTcsIDg1MjUsIDEyNzM0NywgMzUyNCwgCi0gICAgOTE3NTY1LCA4ODMxLCAxMjczNDksIDkyNTY0LCAzMDc1LCA2Nzg2NywgMTI3MzUyLCAwLCA2NjM2MiwgMCwgNjQzNTMsIDAsIAotICAgIDAsIDU4NDUsIDAsIDAsIDAsIDI1ODEsIDgyMDAsIDY1MTE0LCA2ODQ2MCwgMCwgNDMyODMsIDU1NTEsIDAsIDEyMDczNSwgCi0gICAgOTgzMjAxLCA2MzQwLCAxMTg4NTUsIDAsIDc4MTM0LCA4NjgwLCA3MjA0LCA3MDA2NSwgMjU4OCwgMjkxNCwgNzAxMSwgCi0gICAgNTUyODEsIDAsIDI0NzEsIDE5NDYzMSwgMjg4MywgMjc0OSwgMTE5NTYzLCA3Mzc3NCwgMTA5MTMsIDAsIDAsIDg2NjYsIAotICAgIDY3NSwgNDI0OTMsIDAsIDQzNTcxLCAwLCA2MjE5LCAwLCA5OTgwLCA0MTIzMiwgMTA5MjgsIDAsIDQxMTUzLCA0MTIyOSwgCi0gICAgMTE4OTY3LCAwLCAzNzM4LCA5NDAxNiwgMCwgMTI3MTEsIDMxODEsIDY2MjEyLCA3NDI4OSwgNjg0NzIsIDQyODU3LCA4MjYyLCAKLSAgICA5ODMzNzksIDAsIDk4MzIyMiwgMCwgNDIzNDcsIDEyMDkyLCA5NjE1LCA3MjM0LCA3NDA0NywgOTgzMDg4LCAwLCA0Mzc0NCwgCi0gICAgMCwgMCwgNzM4NDYsIDI5MzQsIDEyNzIyLCAxMjA3NjIsIDkyMiwgNDM5ODMsIDc0NTA3LCA5ODMxMjYsIDc0NDYxLCAzMjE4LCAKKyAgICA5MTc2MDksIDExOTA5LCA5MDU5LCAwLCA3Njg3LCAwLCA2Nzg5LCAxMjgzOTIsIDAsIDcxODQyLCA3MDE3OCwgMCwgMCwgCisgICAgMTc3NywgOTE1MSwgMTEzNywgNjY4NjcsIDc0OSwgNDIzNjYsIDcwNDQ0LCA1Mzg1LCA3MDc5MSwgNzI0MzUsIDcwMTI3LCAKKyAgICAxMjg5NzIsIDU5ODksIDAsIDc0NjM2LCAxMjgwOTEsIDAsIDQxNjg1LCA2OTIyMywgMCwgOTc2OSwgNDE2ODQsIDk4MzIxNiwgCisgICAgNTE5LCAwLCAxMTc0MCwgNTc2NiwgMCwgMCwgMjYwMCwgODg0OCwgNzA0MTYsIDQxMjk3LCAwLCAzNjY2LCA3MDQyMCwgCisgICAgNDEzMDAsIDc0NDY4LCA2NTE2MCwgMCwgNjk2ODgsIDY5NzcxLCA3NDQ3OSwgMCwgNjU1OCwgMCwgMTI4MDY0LCA2OTc2NSwgCisgICAgOTI3NzUsIDI1MiwgMCwgNDEzMDIsIDExOTM1MCwgMTI3MDAyLCAxMTg4MzksIDY5NzYzLCAwLCAxMTcyOSwgODcxOSwgCisgICAgOTA2MCwgMTI5MDkxLCAxMjAxMzksIDEwNzYxLCAwLCAwLCAwLCAxMTg3OTIsIDExNzM0LCA5MzAxMSwgMTE3MzAsIAorICAgIDExMzc0MSwgOTU5MywgNTc1NywgMjQwMywgNjQ4MDgsIDU1Mjc1LCAwLCAxMTcyOCwgNDM1NzIsIDAsIDAsIDc3NjQsIAorICAgIDEyOTEzMiwgMTEwOTQsIDEyMDgyNSwgMCwgNDM0ODksIDQyODIsIDgyOTgsIDAsIDAsIDcwMzI4LCAwLCA3MDMyNCwgCisgICAgNjQ0NDksIDAsIDEyNjY1MCwgNjM4NTQsIDg0NTYsIDY1NTg3LCA3MDQ0MiwgNjU2NzAsIDAsIDc4MjUwLCAwLCA3Nzc0LCAKKyAgICAxMDYwNywgOTc5MiwgMCwgNzAzMjYsIDAsIDAsIDEyMDc2NCwgNzAzMjIsIDEwMDE5LCA3NDc2MiwgMCwgMzQ1OCwgNDM2NSwgCisgICAgNzAwNTMsIDk4MzcxMiwgMzY0NywgMTIwMjA3LCAyNjAyLCAxMjgzNDEsIDAsIDEyNTA0MywgNDExMzUsIDAsIDAsIAorICAgIDEyODQ1NSwgNjQ2MzEsIDE3MiwgNDk3MSwgNDEyMTksIDQxMTM3LCAxODg5LCA3MjM4LCA2NTQ1LCAxMjY0NzYsIDc3OTI2LCAKKyAgICA3NTk3LCAxMDUyOCwgMCwgMCwgMzczMiwgNzM5MTAsIDE5NDU4OCwgNTM0NCwgMCwgNDMzNjYsIDQzMzYzLCA5MDYyLCAKKyAgICAxMTkyNTIsIDAsIDkyNTI4LCAwLCA2NDQ3OSwgOTIzMiwgOTI1OTYsIDAsIDExMzcwNywgMTk0NzEyLCAxMDkwMCwgNDE1MzEsIAorICAgIDEyNjMsIDM3MjAsIDEyMDQ4LCA3NDA3NSwgNjQyOTIsIDQxNTI0LCA3MjI3LCAxMTk2MzUsIDYwOTksIDQxNTM0LCAwLCAKKyAgICAxMjczNTQsIDEyNzM0NSwgMjk5LCA5MTc5NTcsIDg1MjUsIDEyNzM0NywgMzUyNCwgOTE3NTY1LCA4ODMxLCAxMjczNDksIAorICAgIDkyNTY0LCAzMDc1LCA2Nzg2NywgOTQwNTMsIDAsIDY2MzYyLCAwLCA2NDM1MywgNzA0NDAsIDAsIDU4NDUsIDAsIDAsIDAsIAorICAgIDI1ODEsIDgyMDAsIDY1MTE0LCA2ODQ2MCwgOTgzNjkzLCA0MzI4MywgNTU1MSwgMCwgMTIwNzM1LCA5ODMyMDEsIDYzNDAsIAorICAgIDExODg1NSwgMTI4OTM0LCA3ODEzNCwgODY4MCwgNzIwNCwgNzAwNjUsIDI1ODgsIDI5MTQsIDcwMTEsIDU1MjgxLCAwLCAKKyAgICAyNDcxLCAxOTQ2MzEsIDI4ODMsIDI3NDksIDExOTU2MywgNzM3NzQsIDEwOTEzLCAwLCAwLCA4NjY2LCA2NzUsIDQyNDkzLCAKKyAgICAwLCA0MzU3MSwgMCwgNjIxOSwgMTI4NTg0LCA5OTgwLCA0MTIzMiwgMTA5MjgsIDAsIDQxMTUzLCA0MTIyOSwgMTE4OTY3LCAKKyAgICAwLCAzNzM4LCA5NDAxNiwgMCwgMTI3MTEsIDMxODEsIDY2MjEyLCA3NDI4OSwgNjg0NzIsIDQyODU3LCA4MjYyLCA5ODMzNzksIAorICAgIDAsIDc0NDc2LCAwLCA0MjM0NywgMTIwOTIsIDk2MTUsIDcyMzQsIDc0MDQ3LCA5ODMwODgsIDk4MzgxOSwgNDM3NDQsIDAsIAorICAgIDAsIDczODQ2LCAyOTM0LCAxMjcyMiwgMTIwNzYyLCA5MjIsIDQzOTgzLCA3NDUwNywgOTgzMTI2LCA3NDQ2MSwgMzIxOCwgCiAgICAgMTIwNDcxLCA3NDI5MCwgMTIwNDY5LCA2NDU2MiwgMTIwNDc1LCA4NTY5LCAxMTQwNCwgMTE5MzIsIDczNzI4LCAzMjE0LCAKLSAgICAxMjA0NjEsIDEyMDQ2OCwgMTIxMjgsIDMyMDcsIDY1NDg2LCA3ODcyOSwgMTkwMSwgNzg3MjcsIDEyNzMyNiwgMTIwNDYwLCAKKyAgICAxMTIxMiwgMTIwNDY4LCAxMjEyOCwgMzIwNywgNjU0ODYsIDc4NzI5LCAxOTAxLCA3ODcyNywgMTI3MzI2LCAxMjA0NjAsIAogICAgIDc0MjUsIDMyMDUsIDY4MDAzLCA3ODczNywgNzg3MzYsIDc4NzM1LCA0MzM4MywgNjk5NDAsIDY1NDU5LCAyNjA2LCA3ODczMCwgCi0gICAgNzM4OTcsIDAsIDExNDk2LCAxMTczLCAwLCA0MTI3MiwgMTE5NjYxLCAwLCAwLCA5ODMzMjEsIDEyMDczNywgMCwgOTgzOTcxLCAKLSAgICA5ODMzMjAsIDM3OCwgMjYxMCwgMCwgNjUwNzksIDk4MzMyNSwgNjU2OTUsIDEyNjU1OSwgMzcsIDcwNjgsIDAsIDEyMDQ4MCwgCi0gICAgMTIwNDc5LCAzMjA5LCAxMjA0NzcsIDAsIDEwNjM4LCA5NzY4LCA2OTk1MiwgMTE5OTA5LCA5ODMzOTksIDAsIDAsIDAsIDAsIAotICAgIDY1NTEwLCAwLCAwLCA1MjMzLCA5ODMzMzUsIDY0NzkyLCA5ODMzMzQsIDAsIDEyNjYzMywgMCwgNzA2MCwgOTg0NywgCi0gICAgMTIwMTQ0LCAxNjg1LCA1OTUsIDAsIDczOTcxLCAxMjkyLCA4OTQwLCA3MzgwLCAxMTA4OCwgMCwgMTAwMDQsIDEyNjk5NywgCi0gICAgMCwgNjU0MSwgMCwgMCwgMCwgMzI0MywgOTAxNCwgNTYwNiwgMCwgNTM4LCA2NDYyMCwgNTYwMiwgODQ2NywgNzQzOTEsIAotICAgIDY1NDcsIDEyODEzMiwgODIwMywgNzg0ODgsIDk4MzA5MCwgODQ1OCwgNjUyMTEsIDg0OTUsIDExOTkwNCwgMCwgOTE3NTUyLCAKLSAgICA3NzksIDc4MzE0LCA2NDM2NywgMjQ2NSwgNjk5MDEsIDgxOTMsIDU1Mjc5LCA5NzMwLCA5MjgwLCAwLCA3MDY1LCA3NDE1NSwgCi0gICAgNDM0NiwgMCwgNzM3OTgsIDUwNCwgMCwgOTI0MTQsIDg5ODIsIDAsIDAsIDAsIDc4MiwgMCwgMTA4ODMsIDAsIDE5NDg1MiwgCi0gICAgNzMyLCAzNzM3LCAxMjcyNTMsIDE1NDgsIDY4NjUwLCA5MjUwNywgMTgzMiwgNTYwNCwgNTczNSwgNDExNDEsIDExOTAyMCwgCi0gICAgNDM3NiwgMCwgMTE3ODcsIDM3NDUsIDAsIDAsIDQyODg4LCA2NTcxMiwgOTgzMzA0LCAzODY5LCAxMTkzNywgNTcyNSwgCi0gICAgMTI3NTM5LCAxNzgzLCA2ODY0OCwgNTcyOCwgMCwgMCwgMCwgMTE5MTgsIDY2NTY3LCA1NzI0LCAwLCA1NzI3LCA3ODUyMSwgCi0gICAgMCwgMCwgNzY0LCAwLCAxMjgxMTYsIDQzNTMxLCAwLCA5MDMzLCAwLCA0MjUzMiwgNjIyMywgMTEwNDIsIDEyMDc0OSwgCi0gICAgMTE0MjMsIDAsIDExOTg2MSwgNzEzNDQsIDQzNDY1LCAwLCAxMjgyNjcsIDY1NTksIDY0NTU3LCA3MTM0OCwgOTI2NDksIAotICAgIDEyMDY0OCwgNDMwMTksIDQzNDc3LCAxMDIzOCwgNzQ0OTEsIDAsIDQzMzc3LCA5MjI4MiwgNzEzNDYsIDE0NzgsIDk3ODMsIAotICAgIDExODI1LCAyNjA3LCA2NDc0MCwgMCwgNzczOSwgNzQ1NDMsIDAsIDAsIDAsIDYxMzIsIDAsIDYzNzY1LCAwLCA3MDA1OCwgCi0gICAgNDExNDQsIDAsIDkyNDM4LCA0MzUzNywgNjc2MSwgMTAwOTMsIDQzNjksIDkxNzc5MSwgMCwgOTgzMTQ4LCA4ODIwLCAzOTQ3LCAKLSAgICAwLCAwLCAxMTUxNSwgNTI2LCAxMjgxMDMsIDQxMjk1LCAxOTQ2MDMsIDkxNzc4NSwgMTk0OTMyLCAwLCA3Njg4LCA5MTc3ODYsIAotICAgIDc2ODYsIDgyODgsIDExODE1LCAwLCAwLCA5ODMzODIsIDE1NDMsIDM3MTMsIDQxMjIxLCAxMjQyMywgNDIyODEsIDkxNzc4OCwgCi0gICAgNzQwMjQsIDEyMjkzLCAwLCA2NDM1NywgMTE3OTQsIDQyMDgyLCAwLCAxNzM3LCA4OTg3LCA0MjA4MSwgMCwgNzIwNSwgMCwgCi0gICAgOTMzNSwgMTI4NTAsIDExOTg3MCwgNjU1MywgNzA1NSwgMCwgODI3NywgMCwgMCwgNTQ3NSwgNzQ3OTUsIDY3ODAsIDAsIDAsIAotICAgIDEyOTkwLCAxMTYwLCA0MjA4NCwgMTE5NjUwLCA0MTIxNywgMTE5NjYwLCAxMDAxOCwgMzYwLCAwLCAwLCA2ODE3NiwgNTg2MywgCi0gICAgMzEzNywgMCwgNDE0NywgOTgzMTcwLCA0MTIxNiwgNzg0NCwgMjYxNiwgMTE5MTkwLCA2ODQ2MSwgNjUyMzQsIDk4MzI5NCwgCisgICAgNzM4OTcsIDAsIDExNDk2LCAxMTczLCAwLCA0MTI3MiwgMTE5NjYxLCAwLCAwLCA5ODMzMjEsIDEyMDczNywgMTI2NTU3LCAKKyAgICAxOTQ3NzMsIDk4MzMyMCwgMzc4LCAyNjEwLCA5ODMzMjYsIDY1MDc5LCA5ODMzMjUsIDY1Njk1LCAxMjY1NTksIDM3LCAKKyAgICA3MDY4LCAwLCAxMjA0ODAsIDY4MjM2LCAzMjA5LCAxMjA0NzcsIDAsIDEwNjM4LCA5NzY4LCA2OTk1MiwgMTE5OTA5LCAKKyAgICA5ODMzOTksIDkyMjI1LCAwLCA5ODMzMzgsIDAsIDQzODQwLCAwLCAwLCA1MjMzLCA5ODMzMzUsIDY0NzkyLCA3MTIzMywgMCwgCisgICAgMTI2NjMzLCAxMjg5MTksIDcwNjAsIDk4NDcsIDEyMDE0NCwgMTY4NSwgNTk1LCAwLCA3MDQyOCwgMTI5MiwgODk0MCwgCisgICAgNzM4MCwgMTEwODgsIDAsIDEwMDA0LCAxMjY5OTcsIDAsIDY1NDEsIDQzODM3LCAwLCAwLCAzMjQzLCA5MDE0LCA1NjA2LCAwLCAKKyAgICA1MzgsIDY0NjIwLCA1NjAyLCA4NDY3LCA3NDM5MSwgNjU0NywgMTI4MTMyLCA4MjAzLCA2NjQyMCwgNjgyNDEsIDg0NTgsIAorICAgIDY1MjExLCA4NDk1LCA5MjMxMSwgMCwgOTE3NTUyLCA3NzksIDc4MzE0LCA2NDM2NywgMjQ2NSwgNjk5MDEsIDgxOTMsIAorICAgIDU1Mjc5LCA5NzMwLCA5MjgwLCAwLCA3MDY1LCA3NDE1NSwgNDM0NiwgMCwgNzM3OTgsIDUwNCwgMTI1MTE1LCA5MjQxNCwgCisgICAgODk4MiwgMCwgMTI4NzExLCAxMTkxNzAsIDc4MiwgMTI5MDI4LCAxMDg4MywgMTI4NDQ2LCAxOTQ4NTIsIDczMiwgMzczNywgCisgICAgMTI3MjUzLCAxNTQ4LCA2ODY1MCwgOTI1MDcsIDE4MzIsIDU2MDQsIDU3MzUsIDQxMTQxLCAxMTkwMjAsIDQzNzYsIAorICAgIDk4MzM3MCwgMTE3ODcsIDM3NDUsIDAsIDExOTg4NSwgNDI4ODgsIDY1NzEyLCAxMjc5MTMsIDM4NjksIDExOTM3LCA1NzI1LCAKKyAgICAxMjc1MzksIDE3ODMsIDc0MTYsIDU3MjgsIDAsIDEyODQ1NywgMTE5NTU0LCAxMTkxOCwgNjY1NjcsIDU3MjQsIDAsIDU3MjcsIAorICAgIDc4NTIxLCAwLCAwLCA3NjQsIDAsIDEyODExNiwgNDM1MzEsIDExMzY3MCwgOTAzMywgMCwgNDI1MzIsIDYyMjMsIDExMDQyLCAKKyAgICAxMjA3NDksIDExNDIzLCA3NDg1MiwgMTE5ODYxLCA2ODMwMywgNDM0NjUsIDAsIDEyODI2NywgNjU1OSwgNjQ1NTcsIAorICAgIDcxMzQ4LCA5MjY0OSwgMTIwNjQ4LCA0MzAxOSwgNDM0NzcsIDEwMjM4LCA3NDQ5MSwgMCwgNDMzNzcsIDkyMjgyLCA3MTM0NiwgCisgICAgMTQ3OCwgOTc4MywgMTE4MjUsIDI2MDcsIDY0NzQwLCAxMTM2ODksIDc3MzksIDc0NTQzLCA5MTc3NjUsIDY3MzkzLCAwLCAKKyAgICA2MTMyLCAwLCA2Mzc2NSwgMTI4Mzk2LCA3MDA1OCwgNDExNDQsIDcxODk5LCA5MjQzOCwgNDM1MzcsIDY3NjEsIDEwMDkzLCAKKyAgICA0MzY5LCA5MTc3OTEsIDAsIDE5NDc3NiwgODgyMCwgMzk0NywgMCwgMCwgMTE1MTUsIDUyNiwgMTI4MTAzLCA0MTI5NSwgCisgICAgMTk0NjAzLCA5MTc3ODUsIDE5NDkzMiwgMTEzNjkxLCA3Njg4LCA5MTc3ODYsIDc2ODYsIDgyODgsIDExODE1LCAwLCAwLCAKKyAgICA5ODMzODIsIDE1NDMsIDM3MTMsIDQxMjIxLCAxMjQyMywgNDIyODEsIDkxNzc4OCwgNzQwMjQsIDEyMjkzLCAwLCA2NDM1NywgCisgICAgMTE3OTQsIDQyMDgyLCAwLCAxNzM3LCA4OTg3LCA0MjA4MSwgMCwgNzIwNSwgMCwgOTMzNSwgMTI4NTAsIDExOTg3MCwgCisgICAgNjU1MywgNzA1NSwgMCwgODI3NywgMCwgNjc3NTEsIDU0NzUsIDc0Nzk1LCA2NzgwLCA2NTA2NywgMCwgMTMyNywgMTE2MCwgCisgICAgNDIwODQsIDExOTY1MCwgNDEyMTcsIDExOTY2MCwgMTAwMTgsIDM2MCwgMTI5MDcwLCA5ODM4NjUsIDY4MTc2LCA1ODYzLCAKKyAgICAzMTM3LCAwLCA0MTQ3LCA5ODMxNzAsIDQxMjE2LCA3ODQ0LCAyNjE2LCA3MDE5NywgNjg0NjEsIDY1MjM0LCA2ODM0MSwgCiAgICAgMTMwNzYsIDMxMzUsIDk4MzI4NywgNzgxNDMsIDExOTEzOSwgMzE0MiwgOTI0NTEsIDk0MDY4LCAxMDgxOSwgMTE5NTgwLCAKLSAgICAxMDE4MywgMCwgMjYwOCwgMTQ3MCwgNzM5NjcsIDk0MDA4LCA2MjI3LCAwLCAxMjcxNzMsIDY5NzQxLCA5ODM1ODIsIDYxNjMsIAotICAgIDk4MzU1OCwgMCwgMTI3MzE0LCAwLCAwLCA4NjAzLCAwLCAxMTk4NjYsIDMzMDYsIDEwODc2LCA0MzM5MiwgMTE5NTczLCAKLSAgICAxMjc5MzEsIDU3NTEsIDAsIDYyMjIsIDAsIDAsIDEyMDg2LCA3NDAzLCAxNjAwLCA2NDMwOSwgNjQ5MzksIDAsIDY0NzgzLCAKLSAgICA5MjY1OCwgMTEzMTAsIDAsIDg4ODIsIDAsIDAsIDI1NzAsIDcwMjEsIDAsIDAsIDQzMTEwLCAwLCAxMjM0LCA2NTQwLCAKLSAgICA2OTc0LCAwLCAwLCA5ODMyMTEsIDUwMDIsIDAsIDQxMjg2LCA2OTk0NiwgMTI3MDE5LCAwLCA0MzU4NSwgMCwgNjU1MSwgCi0gICAgOTgzOTYyLCAxMjgyMjksIDAsIDQxMjg5LCAwLCAxOTQ2MDIsIDAsIDg5NzcsIDYwMiwgMTIwODE0LCAwLCAxMjg3NzgsIAotICAgIDEyODY2MSwgMCwgOTgzMzc1LCA0MTI3OSwgMCwgMCwgMCwgMTEwODEsIDQzNjE1LCAwLCAwLCAwLCA5ODM2MTIsIDEyNzI3LCAKLSAgICAwLCAwLCA3ODM5NywgOTQ3NSwgNzExMiwgNjUxMDUsIDAsIDk2MzMsIDEwODg2LCA0MzU5MiwgNzgzMSwgOTgzODI5LCAKLSAgICAxOTQ1NzEsIDAsIDczOTE1LCA4MDc2LCA0MzA0OCwgODI5MCwgODI5MSwgNDMwNTEsIDkyNTcwLCAwLCAyNTk2LCA0MzU4NCwgCi0gICAgMCwgMTMxMTMsIDAsIDEyNzc1NywgMjM5MywgNzA1OCwgOTA4NywgNzQwNjcsIDY4NjczLCA0MTU3NCwgNzgzMzcsIDAsIAotICAgIDc0MDU4LCA2Mzc2LCAwLCAwLCAwLCAwLCA5ODU0LCAxMjc3NDgsIDY0Njk2LCAwLCAxMjgyMjAsIDAsIDY5OTQsIDAsIAotICAgIDE3MjAsIDAsIDAsIDAsIDY1MjksIDcwNjMsIDk4MzE4MiwgMzc1MSwgOTEyMCwgOTgzNDg1LCAwLCAxNzk4LCA3MDksIDAsIAotICAgIDEzNTQsIDE4NzYsIDEzMTUyLCA2NTU3LCAxMjQzMCwgODEzNywgOTQwOTgsIDkyNjQyLCAwLCAwLCAyNDUsIDEyODA5NywgCi0gICAgMTE0NTYsIDQxMjMzLCA3MDcwLCAwLCA5NDA0NiwgNjEzNiwgOTE3NjA5LCA2NTY3NywgODY4MiwgNDEyMzUsIDkyNTk1LCAKLSAgICA0MjA0NSwgOTgwNCwgMTE4OTYzLCA0MzIsIDM1OTUsIDE5NDk0NSwgNjU0MzcsIDAsIDc0NDU1LCA0MjM5OSwgMCwgMCwgCi0gICAgMTI4Mjc0LCAwLCAxMTk2NTgsIDAsIDAsIDAsIDc3ODk0LCA4Nzk3LCAwLCA5MDUyLCA2NDg4OCwgNzE2NywgMjM1NiwgOTUsIAotICAgIDc0Nzg0LCAxMDU4MCwgMCwgNDIyODYsIDAsIDY0NjQwLCAwLCA5NDEwOSwgMCwgNzQxMzcsIDcwMDM1LCAxMDA2MywgCi0gICAgMTI2NTIsIDEyMTk5LCA5MjQ4MCwgMCwgMjU2NiwgMTE5NzEsIDk4MzczNywgMCwgMTA2NSwgMCwgMCwgNDM0MDAsIDI1NzYsIAotICAgIDY2Njk2LCA5Mzk5OSwgMCwgNDM2MDQsIDAsIDAsIDc0MDgyLCA1MTQsIDc0NTAyLCA3MDAzMiwgMjkyMSwgNDMyMTUsIAotICAgIDY0NDkzLCA1NzcyLCAxMjk2OCwgNzAwNTUsIDE5NDk0NCwgNzQ1ODAsIDQzMzk4LCAyNTgwLCA5ODM4MTAsIDQxMzQxLCAKLSAgICA0MTIyMywgNjU2NCwgMTQ2MywgNDEzNDIsIDAsIDUyOTMsIDcwMDIwLCAwLCAzNzMzLCAxMTM0NiwgMCwgMTIwNTQsIDAsIAotICAgIDc0MDk4LCA0MjgyNywgMCwgMTMwOTEsIDAsIDAsIDAsIDkxNzkxNSwgMCwgMTI3MDI1LCAwLCA3NDgyMSwgMCwgOTgzNzMzLCAKLSAgICAxMTkwNDIsIDAsIDEyNzg2NSwgMTMwOTAsIDY2NjQzLCAwLCAxMjcwLCAxMTMyLCA0MjM2MCwgMCwgNzQwOTYsIDY2NjU1LCAKLSAgICA0MjU2OSwgMTI3ODI0LCAwLCA2NDc2MSwgMCwgNDEwMjEsIDg1MTAsIDQyNDMyLCAwLCAwLCAxOTQ3ODIsIDAsIDY0NDk2LCAKLSAgICA3NDEwOSwgNzAwMzAsIDk5MTUsIDAsIDk4MzIxOCwgNzA2MSwgNDEzMzYsIDM4NTQsIDY5NzAwLCAxMzE0MSwgNjg0MTMsIAotICAgIDQzNDAxLCA0MjMxOSwgMTMwODIsIDAsIDcwNjcsIDY4MjIxLCAwLCAxMjczODMsIDEyNzE3MSwgMCwgMCwgMTI3Nzk3LCAKLSAgICA5MDI5LCA0MzU0MywgMTE5MzE1LCAyMzUzLCA2MzA4LCAwLCA3NDc5MiwgMjYxMSwgMTE5MTg2LCAwLCAwLCAwLCA0MzY2NCwgCi0gICAgOTIzOTksIDY2NjI3LCAwLCA0NDg0LCA4NTA5LCAxMTg5NzYsIDExMDY2LCA2NTIzMywgMCwgNDEyMjQsIDQxMDE3LCAwLCAKLSAgICAzNzQ3LCAxMDUyMiwgMCwgMCwgMTY5MSwgNDEyMjYsIDAsIDEyMTA3LCA3MTAwLCAxMDkwNSwgNjUwMTAsIDE5NDk4NiwgCi0gICAgNjk3LCA2NjAxOCwgOTI4NCwgNDI0NCwgMCwgMCwgOTI2NDQsIDEzMTIxLCAxMjAwMzYsIDAsIDEyMDEwLCAxMjg1NzMsIAotICAgIDEyODIyMSwgMCwgMCwgMCwgMTI3MTkzLCA2NTgxNiwgNjgxMTEsIDAsIDEyNzkzMywgNjU2NjgsIDkyMjU3LCA2NjE4LCAKLSAgICAxMTg3ODQsIDY2MzY1LCAwLCA0MjIzNCwgMTI2NDgsIDc4MTEwLCA3MTIzLCA3MDAzOCwgNTc4NSwgOTE5OCwgOTc2NCwgCi0gICAgNDEzMTYsIDY1ODc3LCA3MzgzLCAxMzIzMCwgNDEyOTksIDAsIDAsIDY4MzY1LCAxMjgyNTgsIDAsIDAsIDAsIDEzMTIyLCAwLCAKLSAgICAxOTEsIDcwMDYwLCA4NTg1LCA4MDAwLCA2NDQxMSwgMTIwNjUyLCA0Mjg4OSwgNjQ4NTAsIDQxMDcyLCA0MTU3OCwgMCwgCi0gICAgNDE1NzcsIDAsIDEwMDAyLCAwLCA2NTMzLCA3MzgwMiwgNDE1NzAsIDAsIDY4MywgMzk2LCA0MTU4MCwgNjgxNDYsIDAsIAotICAgIDEyOTAxLCA0MzA1OCwgMCwgMzQzLCA3MTI5LCA0MjY4MCwgNDEzNjAsIDc4MTU0LCAwLCA0NzQzLCAwLCAwLCA3NDA0MCwgCi0gICAgNzQxMDgsIDg3NDMsIDE3MjQsIDE0MzMsIDExOTMyMiwgMCwgMzczOSwgNjI2MywgNzEzNDksIDAsIDM5NjQsIDY1OTIsIDAsIAotICAgIDEyODY5MywgNjYwNDAsIDAsIDQyNTY4LCA2OTgwNiwgMTI4MTEzLCAxNzc4LCAzOTU2LCAwLCA0MjA3MCwgNjU2MywgCi0gICAgNDMwNzUsIDkwMTgsIDk0MDA2LCA5ODMzOTYsIDEyMDY3LCA0MTMxMiwgMCwgNTU0NywgNzQ1MzEsIDEyNzk2OSwgMCwgCi0gICAgODE3NSwgMCwgMjg0LCA4MTA4LCA5MzQsIDAsIDc0MDAxLCAxNzMsIDY2NDYwLCA3MTc0LCA5MjcwMywgMTE4ODIyLCAxNzUwLCAKLSAgICAwLCA0Mzk0LCA2ODM2OCwgMTgwNywgOTgzODg4LCA5MjI5OCwgMCwgNTg4OSwgMCwgNzE4MCwgMCwgMTE5MTQ1LCAwLCAKLSAgICA5MTc1NTgsIDQyNDcxLCA2OTgyLCAxNzIxLCA0NDAyMiwgNzg5MSwgNDIyNDMsIDQyMTYwLCAyNTgzLCA0NTEyLCAxMTkzNjAsIAotICAgIDY1MjMwLCAxMjgxMDksIDAsIDAsIDM4NTUsIDAsIDAsIDAsIDAsIDc0Mjk1LCAwLCAwLCA5MjQxNiwgMzk3NSwgMCwgCi0gICAgNzQwODcsIDAsIDEyNjcyLCAzNzk4LCAyNzAzLCA5ODM1OTksIDAsIDIxMDksIDk3NzQsIDEyNzUsIDAsIDAsIDQxMDk1LCAKLSAgICAzOTYyLCAwLCAyOTMyLCA0MTEwMSwgMzk1NCwgNjQ1NywgNDUxMywgMCwgMCwgNzM5OTQsIDczOTkyLCAxNDY4LCAwLCAwLCAKLSAgICA0MTg1MSwgMTI4MjMwLCA0MTg0NiwgMCwgNTUyMzgsIDc2MzMsIDQxODQ5LCA2ODM4NSwgNDMyMCwgMzIyNCwgMCwgCi0gICAgMTI4MDMyLCAwLCA0MjUzMSwgMTE5MTA4LCAxNTEwLCAwLCA4MjU2LCAwLCAxMTM5MywgMCwgODg3OSwgMTI4MDc1LCAKLSAgICA5MjQ3NCwgODc3MCwgMCwgMCwgNzgzNzcsIDE5MTAsIDg2NzEsIDc4Mzc0LCA0MjgzLCAwLCAxMjcxMTcsIDY4MzYxLCAKLSAgICA3ODMxOCwgMjY1NCwgNzg5MywgMTk1MDA3LCAwLCAwLCAwLCA2NTEwNiwgNDI3NjEsIDEyODU3LCA0NTgxLCA4NDExLCAKLSAgICA3ODM3MiwgNzgzNzEsIDc4MzcwLCA3ODM2OSwgNzgzNjgsIDAsIDAsIDAsIDE3MzMsIDQzOTIsIDI1NjgsIDEwNzg2LCAKLSAgICA2OTY2MSwgMCwgODE4NCwgNDE0ODYsIDAsIDczOTYsIDcxMTYsIDAsIDY5Nzg4LCAwLCA3MTg1LCA3OTY1LCAwLCAwLCAKLSAgICA5MjM0NywgOTgzMDg3LCA0MTM1MCwgOTEyOSwgMCwgMCwgMjI5NCwgMCwgOTI0ODksIDAsIDEwNDgxLCAwLCA3MDAyMiwgCi0gICAgNzE3MSwgMCwgMzQwLCA5MjQ5OCwgOTM5NzIsIDAsIDAsIDkyMjAwLCAwLCAwLCA2NzY0LCAxMjc0ODcsIDAsIDAsIDAsIDAsIAotICAgIDY1MjAzLCAxMTM5MiwgMTE5MDk4LCAxMTkzNTksIDAsIDMyMTAsIDAsIDAsIDExODc5NSwgMCwgMCwgMTI3OTcwLCAKLSAgICA5MTc2MTksIDAsIDAsIDEwMDQzLCAwLCAxMTg2LCA0MTU3MSwgNjk5OSwgNjE3LCA5NDY0LCAxMjY2NDIsIDM2NzUsIDUyMDcsIAotICAgIDY1MDYyLCA1MjEzLCAxOTQ3NjksIDI2MTcsIDQxMzQ4LCA0MTU2OCwgMTI4ODAzLCAzMjUzLCAxMjA1MzUsIDAsIDg2MzAsIAotICAgIDEyODU0NCwgMCwgNTU5NiwgNTU0NSwgNzI4OCwgMjU4NiwgNjQ4ODcsIDAsIDUyMTcsIDcxMzM2LCAwLCAwLCAwLCA2NDI5MywgCi0gICAgNjgwOTgsIDI2MzUsIDAsIDAsIDk4Mzg0NiwgMCwgOTgzNjQxLCA3ODM1LCA3MDA0MCwgMCwgMTk0OTg4LCA5MjI4NSwgCi0gICAgNjQ1NTgsIDEyNzEyMiwgMCwgMTI3MTIxLCAwLCAxMjc5MTMsIDAsIDU3ODQsIDk4MzEwMiwgMCwgMCwgNzAwMzMsIDQwMTEsIAotICAgIDkxNzYxNiwgNjgxMDEsIDAsIDc4NjQsIDQyNTQsIDY1MDk1LCA5ODM0OTYsIDU2MDAsIDM5MDMsIDEyNzA4MywgMTA0NDcsIAotICAgIDU1OTgsIDEyMDcsIDEyMDUyMSwgNjY2ODksIDM1MDEsIDQyNTgyLCA0MzYwMCwgMTk0NzgwLCAwLCAxMTI0LCA1NTk3LCAKLSAgICAxOTQ3NzgsIDE5NDc3MiwgOTMyMSwgOTgzNDg0LCA5ODM0ODEsIDk4MzQ4MiwgMCwgMTcxOSwgNjgzNTYsIDY4MzU0LCAKLSAgICA5NjcxLCAxMTI1LCA0Mzk5LCAxMjc0NzksIDkxNzYxMCwgOTgzNDg4LCA3NjMxLCA1NDg4LCA3MTI4LCAxMjA1MzIsIDAsIAotICAgIDU0OTEsIDAsIDg5MzcsIDQzMDQ0LCAyNjA0LCA3NDE4NywgNTQ5MCwgNDMwNDYsIDU0ODksIDcyMTIsIDExNzY4LCA0MzA0MywgCi0gICAgNjMwMCwgMCwgNzEyMiwgMCwgNDM5MCwgNDU0LCA0MTM5NywgMCwgOTg3NSwgNzU5MywgMTk0NzkxLCA5MjI3NCwgMTE4OTEzLCAKLSAgICA3MjA3LCAwLCA2NTkwMSwgMjM5NCwgMjU3NSwgMCwgMzc0NiwgMTEwMTYsIDY1NzUyLCAxMjAwMzcsIDAsIDQzNDIzLCAKLSAgICAxMjg2ODMsIDExOTg5LCAwLCAwLCAwLCAwLCAwLCA4MjQ5LCAxMjgxNzIsIDAsIDc4NTMxLCA2NjQwLCA3NDgwNiwgMjU5OCwgCi0gICAgNTEzLCAwLCA2NTg2LCA4NjU2LCAwLCAxMjA3MTAsIDY1MDA4LCAwLCAxOTQ3ODQsIDE5NDk4OSwgMTk0Nzk1LCA5ODM0NzMsIAotICAgIDkyNTE1LCA2ODQ3NSwgOTM5NzMsIDAsIDAsIDc4NjM3LCAxMjY0NywgMCwgMTI4MDQzLCA2OTg5MywgMTAzNiwgOTgzNDc3LCAKLSAgICA5MjQxOSwgMTcyMywgMTI4MDU2LCA3NDIxNywgMCwgNDE1NzksIDI0NDQsIDAsIDEwNzA1LCA3Mzg3NiwgOTgzNDY5LCAKLSAgICA3NDQ4NiwgOTgzNDY3LCA3NDAsIDExOTIyMiwgMTk0OTc4LCAxOTQ5ODQsIDAsIDQyMzgsIDExMDcxLCA5NDU5LCA2ODQzNywgCi0gICAgNzgxNDAsIDc4MTM5LCAxOTQ5ODUsIDgxMjEsIDEwNDM4LCA3NDQ4NywgNDI1NzQsIDEzMjg1LCA1NTI2MywgMTE5MDcsIAotICAgIDE5NTAwMCwgNTY5MCwgOTIyNTUsIDkzOTkyLCAwLCA0MzE4MSwgMTMwOTUsIDAsIDEyNzg1NywgNjQ0OTgsIDAsIDk1MDYsIAotICAgIDY5NzgsIDE5NDk5MywgNzc5OTIsIDAsIDAsIDE5NDk5MiwgMCwgMTI3ODQ1LCAxMTIyLCAzMTcsIDAsIDAsIDAsIDAsIAotICAgIDE5MjAsIDAsIDEwMTczLCA4MjcsIDAsIDAsIDc4Mzc4LCAxMjAxMjYsIDUyMjMsIDEzMDQsIDAsIDExOTU2NCwgNTIyNiwgCi0gICAgMTI2MDIsIDk0MDQ0LCAwLCA5MzI5LCA3NzU4LCA5MjM5LCA0MTE3MywgNTIyNCwgNTQ4NywgMTIyMiwgNTY5MiwgNDE3MjUsIAotICAgIDY5MjI5LCA5Njc0LCA1Njk1LCA0MTcxMSwgNjQ2MjcsIDE5OTA5LCAwLCA3NDYwNCwgNTY5MSwgMjg3LCA4NjYsIDIzMywgCi0gICAgMTI3NDkwLCA5ODM0NDEsIDQyODE2LCA5NDAzNiwgNjUxNDAsIDc0Nzk3LCAwLCA4ODMwLCA2NTY4LCA0MjMwMCwgMTA1MjQsIAotICAgIDQxMTc1LCA5ODM0NDgsIDk4MzQ0NSwgOTgzNDQ2LCA1Mjk2LCA5ODM0NDQsIDQyNDkyLCA0MzQwMiwgOTI0NjYsIDMzMDIsIAotICAgIDAsIDAsIDY1MTYsIDY1MTUsIDY1MTQsIDY1MTMsIDY1MTIsIDAsIDc4NTYsIDg2OTAsIDAsIDAsIDEyMTIyLCAxMTk2MDIsIAotICAgIDQzOTc2LCAwLCAxNzg1LCA2OTkyNSwgNjg2MjIsIDY1MTUzLCAxOTQ4MTAsIDUxMzgsIDAsIDAsIDExODg2OSwgMCwgNDU0MCwgCi0gICAgNDExODEsIDAsIDYyMDAsIDAsIDUxMzQsIDAsIDMyMiwgNDY0MywgNTEzMiwgMCwgNjM4OSwgMTI4NTMzLCA1MTQzLCAwLCAKLSAgICA4NzkwLCAxMjg2OTQsIDAsIDE5NDgwMiwgMCwgODg2OSwgNjk5MTYsIDAsIDQyMDYwLCA3MTMyNiwgOTY0OCwgMTk0ODA0LCAKLSAgICAxMjcwMTIsIDEwMjcwLCAxMDI4NiwgMTAzMTgsIDEwMzgyLCA0MzUyOSwgNjY0NzcsIDAsIDAsIDc0MTcwLCAwLCAzMjM0LCAKLSAgICAwLCAwLCA3NDM3NiwgNDMxMzksIDExODgxNSwgMTI3MDg0LCAxMjA2MjcsIDg3NjcsIDAsIDc0NDg5LCA5Njk1LCAxMjA3NDYsIAotICAgIDUyMDEsIDAsIDYyMTUsIDEyNzE0LCA2MjE0LCAxMzEwMSwgMCwgMTk0OTk5LCA2NTI2OCwgMCwgMCwgMCwgMTEwMjcsIDAsIAotICAgIDEwMDU5LCAxMDUxMSwgNDIwNzUsIDk3NjcsIDc4OSwgMTc0OSwgNzg4OTAsIDEyNzA3MSwgOTgzNjcwLCAzMjAsIDAsIAotICAgIDg2NDcsIDAsIDMwNDksIDAsIDY0NzEsIDQyMDcxLCA0MzE1NiwgOTkyNSwgMTI3MzU2LCAxMjczNTUsIDY2NDc4LCA0OTYwLCAKKyAgICAxMDE4MywgNzQ2MzUsIDI2MDgsIDE0NzAsIDczOTY3LCA5NDAwOCwgNjIyNywgMCwgMTI3MTczLCA2NTIzNiwgOTE3ODc4LCAKKyAgICA2MTYzLCA5ODM1NTgsIDExMzcyOCwgMTI3MzE0LCAwLCAwLCA4NjAzLCAwLCAxMTk4NjYsIDMzMDYsIDEwODc2LCA0MzM5MiwgCisgICAgMTE5NTczLCAxMjc5MzEsIDU3NTEsIDAsIDYyMjIsIDAsIDEyNzQ2NiwgMTIwODYsIDc0MDMsIDE2MDAsIDY0MzA5LCAKKyAgICA2NDkzOSwgMCwgNjQ3ODMsIDkyNjU4LCAxMTMxMCwgMCwgODg4MiwgMCwgMCwgMjU3MCwgNzAyMSwgMCwgMCwgNDMxMTAsIDAsIAorICAgIDEyMzQsIDY1NDAsIDY5NzQsIDkyNzUwLCAwLCA5ODMyMTEsIDUwMDIsIDAsIDQxMjg2LCA2OTk0NiwgNzQ0NjUsIDcxMDc0LCAKKyAgICA0MzU4NSwgMTEzNzIwLCA2NTUxLCA5ODMzNzMsIDEyODIyOSwgOTgzMjcyLCA0MTI4OSwgMTI1MTMwLCA3MTA4MCwgCisgICAgMTI3OTU4LCA4OTc3LCA2MDIsIDEyMDgxNCwgMCwgMTI4Nzc4LCAxMjg2NjEsIDE5NDg5MCwgOTgzMzc1LCA0MTI3OSwgMCwgCisgICAgMCwgOTE3Nzk1LCAxMTA4MSwgNDM2MTUsIDAsIDAsIDAsIDk4MzYxMiwgMTI3MjcsIDAsIDAsIDc4Mzk3LCA5NDc1LCA3MTEyLCAKKyAgICA2NTEwNSwgMCwgOTYzMywgMTA4ODYsIDQzNTkyLCA3ODMxLCA5ODM4MjksIDE5NDU3MSwgMCwgNzM5MTUsIDgwNzYsIAorICAgIDQzMDQ4LCA4MjkwLCA4MjkxLCA0MzA1MSwgOTI1NzAsIDAsIDI1OTYsIDQzNTg0LCAwLCAxMzExMywgMCwgMTI3NzU3LCAKKyAgICAyMzkzLCA3MDU4LCA5MDg3LCA3NDA2NywgNjg2NzMsIDQxNTc0LCA3ODMzNywgNzA0OTgsIDQyOTAwLCA2Mzc2LCAwLCAwLCAKKyAgICAwLCAwLCA5ODU0LCAxMjc3NDgsIDY0Njk2LCA3Mzg3OSwgMTI4MjIwLCAxMjA3NTIsIDY5OTQsIDAsIDE3MjAsIDAsIDAsIDAsIAorICAgIDY1MjksIDcwNjMsIDk4MzE4MiwgMzc1MSwgOTEyMCwgOTgzNDg1LCAwLCAxNzk4LCA3MDksIDAsIDEzNTQsIDE4NzYsIAorICAgIDEzMTUyLCA2NTU3LCAxMjQzMCwgODEzNywgOTQwOTgsIDY3NzUyLCA3MDg1MCwgMCwgMjQ1LCAxMjgwOTcsIDExNDU2LCAKKyAgICA0MTIzMywgNzA3MCwgMCwgOTQwNDYsIDYxMzYsIDY4MzA0LCA2NTY3NywgODY4MiwgNDEyMzUsIDkyNTk1LCA0MjA0NSwgCisgICAgOTgwNCwgMTE4OTYzLCA0MzIsIDM1OTUsIDEyNzkwMSwgNjU0MzcsIDAsIDc0NDU1LCA0MjM5OSwgOTgzMTM2LCAwLCAKKyAgICAxMjgyNzQsIDAsIDExOTY1OCwgMTI4MTg0LCAwLCAwLCA3Nzg5NCwgODc5NywgMCwgOTA1MiwgNjQ4ODgsIDcxNjcsIDIzNTYsIAorICAgIDk1LCA3NDc4NCwgMTA1ODAsIDAsIDQyMjg2LCA5MjIzMSwgNjQ2NDAsIDY5OTk5LCA5NDEwOSwgMTI4NjI1LCA3NDEzNywgCisgICAgNzAwMzUsIDEwMDYzLCAxMjY1MiwgMTIxOTksIDc0NjIyLCA0MzQ5MiwgMjU2NiwgMTE5NzEsIDk4MzczNywgMCwgMTA2NSwgCisgICAgMCwgMCwgNDM0MDAsIDI1NzYsIDY2Njk2LCA2NjgxOSwgMTI4NjI0LCA0MzYwNCwgMTI3ODkxLCAwLCAzMjAxLCA1MTQsIAorICAgIDc0NTAyLCA3MDAzMiwgMjkyMSwgNDMyMTUsIDY0NDkzLCA1NzcyLCAxMjk2OCwgNzAwNTUsIDE5NDk0NCwgNzQ1ODAsIAorICAgIDQzMzk4LCAyNTgwLCA5ODM4MTAsIDQxMzQxLCA0MTIyMywgNjU2NCwgMTQ2MywgNDEzNDIsIDAsIDUyOTMsIDcwMDIwLCAKKyAgICA5ODMxODUsIDM3MzMsIDExMzQ2LCAwLCAxMjA1NCwgMCwgNzQwOTgsIDQyODI3LCAxOTUwNzQsIDEzMDkxLCAwLCAwLCAwLCAKKyAgICA5MTc5MTUsIDEyNzk2MSwgMTI3MDI1LCAwLCA3NDgyMSwgNzExMDQsIDY2Mjk1LCA5Mjc2NSwgMCwgMTI3ODY1LCAxMzA5MCwgCisgICAgNjY2NDMsIDAsIDEyNzAsIDExMzIsIDQyMzYwLCAwLCA3NDA5NiwgNjY2NTUsIDQyNTY5LCAxMjc4MjQsIDY2ODk4LCAKKyAgICA2NDc2MSwgMCwgNDEwMjEsIDg1MTAsIDQyNDMyLCAwLCAxMTkzMTcsIDE5NDc4MiwgMCwgNjQ0OTYsIDc0MTA5LCA3MDAzMCwgCisgICAgOTkxNSwgMCwgOTgzMjE4LCA3MDYxLCA0MTMzNiwgMzg1NCwgNjk3MDAsIDEzMTQxLCA2ODQxMywgNDM0MDEsIDQyMzE5LCAKKyAgICAxMzA4MiwgMTI0OTc2LCA3MDY3LCA2ODIyMSwgMCwgMTI3MzgzLCAxMjcxNzEsIDAsIDEyMDc0NSwgNzQyMDksIDkwMjksIAorICAgIDQzNTQzLCA3MDgzNiwgMjM1MywgNjMwOCwgMTI5MTU0LCA3NDc5MiwgMjYxMSwgMTE5MTg2LCA2Njg4MSwgMCwgNjUwNjMsIAorICAgIDQzNjY0LCA5MjM5OSwgNjY2MjcsIDEyNTA5MywgNDQ4NCwgODUwOSwgMTE4OTc2LCAxMTA2NiwgNjUyMzMsIDAsIDQxMjI0LCAKKyAgICA0MTAxNywgMCwgMzc0NywgMTA1MjIsIDAsIDAsIDE2OTEsIDQxMjI2LCAxMjcyMTQsIDEyMTA3LCA3MTAwLCAxMDkwNSwgCisgICAgNjUwMTAsIDEyNzI3NSwgNjk3LCA2NjAxOCwgOTI4NCwgNDI0NCwgMCwgOTMwNTgsIDc3ODYxLCAxMzEyMSwgMTIwMDM2LCAwLCAKKyAgICAxMjAxMCwgMTI4NTczLCAxMjgyMjEsIDEyNTAxNCwgMCwgMCwgMTI3MTkzLCA2NTgxNiwgNjgxMTEsIDAsIDEyNzkzMywgCisgICAgNjU2NjgsIDkyMjU3LCA2NjE4LCAzNTYyLCA2NjM2NSwgMCwgNDIyMzQsIDEyNjQ4LCA3ODExMCwgNzEyMywgNzAwMzgsIAorICAgIDU3ODUsIDkxOTgsIDk3NjQsIDQxMzE2LCA2NTg3NywgNzM4MywgMTMyMzAsIDQxMjk5LCAwLCAwLCA2ODM2NSwgMTI4MjU4LCAKKyAgICAwLCAwLCAwLCAxMzEyMiwgMCwgMTkxLCA3MDA2MCwgODU4NSwgODAwMCwgNjQ0MTEsIDEyMDY1MiwgNDI4ODksIDY0ODUwLCAKKyAgICA0MTA3MiwgNDE1NzgsIDAsIDQxNTc3LCAwLCAxMDAwMiwgMTk1MDI4LCA2NTMzLCA3MzgwMiwgNDE1NzAsIDkxNzkxOSwgCisgICAgNjgzLCAzOTYsIDQxNTgwLCA2ODE0NiwgOTgzMDY3LCAxMjkwMSwgNDMwNTgsIDAsIDM0MywgNzEyOSwgNDI2ODAsIDQxMzYwLCAKKyAgICA3ODE1NCwgMCwgNDc0MywgNjk5ODcsIDAsIDc0MDQwLCA3NDEwOCwgODc0MywgMTcyNCwgMTQzMywgMTE5MzIyLCAwLCAKKyAgICAzNzM5LCA2MjYzLCA3MTM0OSwgMCwgMzk2NCwgNjU5MiwgMCwgNjgyODgsIDY2MDQwLCAwLCA0MjU2OCwgNjk4MDYsIAorICAgIDEyODExMywgMTc3OCwgMzk1NiwgMTI4NDQzLCA0MjA3MCwgNjU2MywgNDMwNzUsIDkwMTgsIDk0MDA2LCA5ODMzOTYsIAorICAgIDEyMDY3LCA0MTMxMiwgOTI3NjMsIDU1NDcsIDg5MTYsIDEyNzk2OSwgMTI4OTUwLCA4MTc1LCAwLCAyODQsIDgxMDgsIDkzNCwgCisgICAgMTI4MDM5LCA3NDAwMSwgMTczLCA2NjQ2MCwgNzE3NCwgOTI3MDMsIDExODgyMiwgMTc1MCwgMTI4Njg2LCA0Mzk0LCAKKyAgICA2ODM2OCwgMTgwNywgOTgzODg4LCA5MjI5OCwgMCwgNTg4OSwgMCwgNzE4MCwgMCwgNjcxMjcsIDAsIDY3MTI2LCA0MjQ3MSwgCisgICAgNjk4MiwgMTcyMSwgNDQwMjIsIDc4OTEsIDQyMjQzLCA0MjE2MCwgMjU4MywgNDUxMiwgMTE5MzYwLCA2NTIzMCwgMTI4MTA5LCAKKyAgICAwLCAwLCAzODU1LCAxOTQ5ODYsIDExNzY3LCAwLCAwLCA3NDI5NSwgMCwgMCwgOTI0MTYsIDM5NzUsIDY3MTI1LCA3NDA4NywgCisgICAgMCwgMTI2NzIsIDM3OTgsIDI3MDMsIDk4MzU5OSwgMCwgMjEwOSwgOTc3NCwgMTI3NSwgMCwgMCwgNDEwOTUsIDM5NjIsIAorICAgIDY4MjQyLCAyOTMyLCA0MTEwMSwgMzk1NCwgNjQ1NywgNDUxMywgNzQ1MzYsIDAsIDczOTk0LCA3Mzk5MiwgMTQ2OCwgCisgICAgMTIwMDMzLCA5ODMwNTcsIDQxODAzLCAxMjgyMzAsIDQxODQ2LCAxMjcyNDQsIDU1MjM4LCA3NjMzLCA0MTg0OSwgNjgzODUsIAorICAgIDQzMjAsIDMyMjQsIDAsIDkyNzQxLCA2NjI4MSwgNDI1MzEsIDc0NTkzLCAxNTEwLCAxMjgzODQsIDgyNTYsIDAsIDExMzkzLCAKKyAgICAwLCA4ODc5LCAxMjgwNzUsIDkyNDc0LCA4NzcwLCA3MjQxNiwgMCwgNzI0MTUsIDE5MTAsIDg2NzEsIDc4Mzc0LCA0MjgzLCAKKyAgICAwLCAxMjcxMTcsIDY4MzYxLCA3ODMxOCwgMjY1NCwgNzg5MywgMTk1MDA3LCAxMjgyNDEsIDAsIDcyMzk0LCA2NTEwNiwgCisgICAgNDI3NjEsIDEyODU3LCA0NTgxLCA4NDExLCA3ODM3MiwgNzgzNzEsIDc4MzcwLCA3ODM2OSwgNzgzNjgsIDc0NDc1LCAKKyAgICA5ODM0NDIsIDAsIDE3MzMsIDQzOTIsIDI1NjgsIDEwNzg2LCA2OTY2MSwgMCwgODE4NCwgNDE0ODYsIDAsIDczOTYsIDcxMTYsIAorICAgIDAsIDY5Nzg4LCAwLCA3MTg1LCA3OTY1LCAxMTkxNDQsIDAsIDkyMzQ3LCAxOTUwNjYsIDQxMzUwLCA5MTI5LCAwLCAwLCAKKyAgICAyMjk0LCA2NDUwMSwgOTI0ODksIDAsIDEwNDgxLCAwLCA3MDAyMiwgNzE3MSwgMCwgMzQwLCA3MTEwNSwgOTM5NzIsIAorICAgIDY3MzYwLCAwLCA5MjIwMCwgMTI4MjQ5LCAxMjQ5NzksIDY3NjQsIDEyNzQ4NywgMTI4MzkzLCAwLCA5MjUwOSwgMTI4OTYyLCAKKyAgICA2NTIwMywgMTEzOTIsIDExOTA5OCwgMTE5MzU5LCAxMTkwNzMsIDMyMTAsIDAsIDAsIDExODc5NSwgMTI3OTc2LCA5NDEwMSwgCisgICAgMTI3NDg0LCA5MTc2MTksIDExOTE0OSwgMCwgMTAwNDMsIDAsIDExODYsIDQxNTcxLCA2OTk5LCA2MTcsIDk0NjQsIAorICAgIDEyNTEyMywgMzY3NSwgNTIwNywgNjUwNjIsIDUyMTMsIDc0NjE2LCAyNjE3LCA0MTM0OCwgNDE1NjgsIDEyODgwMywgMzI1MywgCisgICAgMTIwNTM1LCAwLCA4NjMwLCAxMjg1NDQsIDAsIDU1OTYsIDU1NDUsIDcyODgsIDI1ODYsIDY0ODg3LCA5ODM2NDQsIDUyMTcsIAorICAgIDcxMzM2LCAxMjg2ODcsIDkxNzYxNCwgMCwgNjQyOTMsIDY4MDk4LCAyNjM1LCA5Mjc2MCwgMCwgOTgzODQ2LCAwLCA5Mjc0MiwgCisgICAgNzgzNSwgNzAwNDAsIDEyMDcwNywgMTk0OTg4LCA5MjI4NSwgNjQ1NTgsIDEyNzEyMiwgMCwgNjcwODMsIDY3MDg1LCAKKyAgICA3MDA5OSwgMCwgNTc4NCwgOTgzMTAyLCAxOTUwNTAsIDk4MzgxMiwgNzAwMzMsIDQwMTEsIDE5NDU2NSwgNjgxMDEsIAorICAgIDEyNDk3OCwgNzg2NCwgNDI1NCwgNjUwOTUsIDk4MzQ5NiwgNTYwMCwgMzkwMywgMTI3MDgzLCAxMDQ0NywgNTU5OCwgMTIwNywgCisgICAgMTIwNTIxLCA2NjY4OSwgMzUwMSwgNDI1ODIsIDQzNjAwLCAxMjkwNTQsIDEyNzEwMywgMTEyNCwgNTU5NywgMTk0Nzc4LCAKKyAgICAxOTQ3NzIsIDkzMjEsIDk4MzQ4NCwgMTEzNzA2LCA5ODM0ODIsIDY3NDAwLCAxNzE5LCA2ODM1NiwgNjgzNTQsIDk2NzEsIAorICAgIDExMjUsIDQzOTksIDEyNzQ3OSwgNjYyNzQsIDk4MzQ4OCwgNzYzMSwgNTQ4OCwgNzEyOCwgMTIwNTMyLCAwLCA1NDkxLCAKKyAgICAxMTg3OTcsIDg5MzcsIDQzMDQ0LCAyNjA0LCA3NDE4NywgNTQ5MCwgNDMwNDYsIDU0ODksIDcyMTIsIDExNzY4LCA0MzA0MywgCisgICAgNjMwMCwgMTk0ODM3LCA3MTIyLCA5ODMwOTAsIDQzOTAsIDQ1NCwgNDEzOTcsIDAsIDk4NzUsIDc1OTMsIDE5NDc5MSwgCisgICAgOTIyNzQsIDExODkxMywgNzIwNywgMCwgNjU5MDEsIDIzOTQsIDI1NzUsIDAsIDM3NDYsIDExMDE2LCA2NTc1MiwgOTI3NTcsIAorICAgIDAsIDQzNDIzLCAxMjg2ODMsIDExOTg5LCAwLCAwLCAwLCA3ODI5NiwgMCwgODI0OSwgMTI4MTcyLCAxMTEwOSwgNzg1MzEsIAorICAgIDY2NDAsIDc0ODA2LCAyNTk4LCA1MTMsIDAsIDY1ODYsIDg2NTYsIDAsIDY5NzkyLCA2NTAwOCwgMTk0NTk3LCA3MTExMSwgCisgICAgNzgzODMsIDE5NDc5NSwgMTI3NDc0LCA5MjUxNSwgNjg0NzUsIDkzOTczLCAxOTQ1ODQsIDYzNzk5LCA3ODYzNywgMTI2NDcsIAorICAgIDAsIDEyODA0MywgNjk4OTMsIDEwMzYsIDE5NDk4MiwgOTI0MTksIDE3MjMsIDY4MjE1LCA3NDIxNywgMCwgNDE1NzksIAorICAgIDI0NDQsIDEyMDcyMiwgMTA3MDUsIDczODc2LCA5ODM0NjksIDc0NDg2LCA5ODM0NjcsIDc0MCwgMTE5MjIyLCAxOTQ5NzgsIAorICAgIDE5NDk4NCwgMCwgNDIzOCwgMTEwNzEsIDk0NTksIDY4NDM3LCA3ODE0MCwgNzgxMzksIDE5NDk4NSwgODEyMSwgMTA0MzgsIAorICAgIDc0NDg3LCA0MjU3NCwgMTMyODUsIDU1MjYzLCAxMTkwNywgMTI5MTA3LCA1NjkwLCA5MjI1NSwgOTM5OTIsIDAsIDQzMTgxLCAKKyAgICAxMzA5NSwgNzc5MjUsIDEyNzg1NywgNjQ0OTgsIDAsIDk1MDYsIDY5NzgsIDcwMTc2LCA3Nzk5MiwgMCwgMTEzNzQzLCAKKyAgICA3ODM3OSwgMCwgMTI3ODQ1LCAxMTIyLCAzMTcsIDAsIDcxMDU1LCAwLCAwLCAxOTIwLCAwLCAxMDE3MywgODI3LCAwLCAwLCAKKyAgICA3ODM3OCwgMTE5NjAwLCA1MjIzLCAxMzA0LCAwLCAxMTk1NjQsIDUyMjYsIDEyNjAyLCA5NDA0NCwgNTg4MCwgOTMyOSwgCisgICAgNzc1OCwgOTIzOSwgNDExNzMsIDUyMjQsIDU0ODcsIDEyMjIsIDU2OTIsIDQxNzI1LCA2OTIyOSwgOTY3NCwgNTY5NSwgCisgICAgNDE3MTEsIDY0NjI3LCAxOTkwOSwgNzEwNzcsIDc0NjA0LCA1NjkxLCAyODcsIDg2NiwgMjMzLCA2ODEzOCwgOTgzNDQxLCAKKyAgICA0MjgxNiwgOTQwMzYsIDY1MTQwLCA3NDc5NywgMTI4MTU4LCA4ODMwLCA2NTY4LCA0MjMwMCwgMTA1MjQsIDQxMTc1LCAKKyAgICAxMjUwMzMsIDk4MzQ0NSwgOTgzNDQ2LCA1Mjk2LCA5ODM0NDQsIDQyNDkyLCA0MzQwMiwgOTI0NjYsIDMzMDIsIDAsIAorICAgIDc0ODU4LCA2NTE2LCA2NTE1LCA2NTE0LCA2NTEzLCA2NTEyLCAwLCA3ODU2LCA4NjkwLCA5ODM2ODYsIDcwODcwLCAxMjEyMiwgCisgICAgMTE5NjAyLCA0Mzk3NiwgMCwgMTc4NSwgNjk5MjUsIDY4NjIyLCA2NTE1MywgMTk0ODEwLCA1MTM4LCAwLCA3MTkyMiwgCisgICAgMTE4ODY5LCAwLCA0NTQwLCA0MTE4MSwgMCwgNjIwMCwgMCwgNTEzNCwgNjk5ODAsIDMyMiwgNDY0MywgNTEzMiwgMCwgCisgICAgNjM4OSwgMTI4NTMzLCA1MTQzLCAwLCA4NzkwLCAxMjg2OTQsIDEyMDEyMSwgMTk0ODAyLCA3MTE2OCwgODg2OSwgNjk5MTYsIAorICAgIDkzMDY5LCA0MjA2MCwgNzEzMjYsIDk2NDgsIDE5NDgwNCwgNzExNzAsIDEwMjcwLCAxMDI4NiwgMTAzMTgsIDEwMzgyLCAKKyAgICA0MzUyOSwgNjY0NzcsIDE5NDgwMCwgMCwgNzQxNzAsIDAsIDMyMzQsIDQzODM1LCAwLCA3NDM3NiwgNDMxMzksIDExODgxNSwgCisgICAgMTI3MDg0LCAxMjA2MjcsIDg3NjcsIDY4MjMxLCA3NDQ4OSwgOTY5NSwgNzI0MzksIDUyMDEsIDAsIDYyMTUsIDEyNzE0LCAKKyAgICA2MjE0LCAxMzEwMSwgMCwgMTk0OTk5LCA2NTI2OCwgNzY2MSwgMCwgMTI4NDQ0LCAxMTAyNywgMTI4NTk2LCAxMDA1OSwgCisgICAgMTA1MTEsIDQyMDc1LCA5NzY3LCA3ODksIDE3NDksIDc4ODkwLCA2NzExNSwgOTgzNjcwLCAzMjAsIDAsIDg2NDcsIAorICAgIDk4MzcwNSwgMzA0OSwgMCwgNjQ3MSwgNDIwNzEsIDQzMTU2LCA5OTI1LCAxMjczNTYsIDEyNzM1NSwgNjY0NzgsIDQ5NjAsIAogICAgIDU1NDksIDEyNzM1OSwgMTI3MzQ2LCA4NDg1LCA0NjcxLCA1NDE4LCAxMjczNTAsIDMzNTEsIDEyNzAwNiwgMTI3MzUxLCAKICAgICAxMDYxMCwgNTQxNCwgMzA2NCwgNjIxMiwgNDI4NiwgNTQyMSwgMTI3MzQ0LCA5NTU0LCAwLCA5NDA0OCwgMTI3MTA5LCAKICAgICA2NjUzLCAxMjg4MTEsIDAsIDY0NTEwLCA2MjEzLCAxMjg4NSwgMCwgMTE5MDQ1LCA2NDcyMCwgMCwgMTIwNzU5LCA3Mzc0MSwgCi0gICAgMTI2MDMsIDcxMzEsIDExNDMwLCA0NTY2LCA3NTE4LCA5MzE3LCAzODAxLCAxMDM0MiwgMTA0MDYsIDAsIDExOTI1OSwgCi0gICAgNDI1NzYsIDAsIDUyMDAsIDEyNjYxMSwgOTE3OTQ4LCAwLCA5MTgzLCAxMjczNjEsIDc0NDU4LCA3MzgyNSwgMzk1LCA1NDgyLCAKLSAgICA1MTk4LCA0MzQ5LCAxMDM5MCwgNzQyMDIsIDUxOTYsIDQzMjI0LCA2MTEzLCA0MjAwOSwgNTIwNSwgMCwgNDMzMDcsIDAsIAotICAgIDExODk3MywgMCwgMTIxMzQsIDAsIDAsIDExODg0MywgOTEyNiwgNDM1LCA5ODM2MjQsIDEyMDE0LCAxMDM3NywgODA5MywgCi0gICAgOTA3OSwgMzIwMywgMTkyLCA2NTEwOSwgMzM4NSwgMCwgNjQ0MzAsIDUzODMsIDEwMjk0LCAxMDMyNiwgMTI4MTc4LCA1NzM4LCAKLSAgICA5ODMyMTUsIDMzMzYsIDc4MzU1LCA1MzYxLCAzNjIzLCA0MTE1OSwgMCwgNjgxMTIsIDc4NzIsIDg1ODEsIDAsIDEyNjAsIAotICAgIDMxNDksIDUzNTksIDEyMDEzNCwgMCwgNzkxNCwgNTM1NywgOTIxNzAsIDEyODY1OSwgMjYyNCwgNTM2NCwgMCwgMTE0MzEsIAotICAgIDEyMDAzMCwgOTEwMSwgMTEwNTgsIDc4Mjg4LCAwLCA3ODI5MywgNDIyNzEsIDc4Mjg5LCA0MjkxNywgMTIwNzkzLCAwLCAKLSAgICA2NTU2NiwgNjcxNywgMTA2MTksIDQzMzYwLCA3ODM4NSwgNzgzODQsIDExODMyLCA3ODM4MiwgNzgzODEsIDc4MzgwLCAKLSAgICA3ODM3OSwgOTMxOSwgNzA5NywgMTE5MDU1LCA3NzkwNiwgMzIzMiwgNzM4MjQsIDc0NTgxLCAxMjA2MzIsIDAsIDAsIAotICAgIDQxODg5LCA5MjQ1MywgMCwgMTE2MSwgNDE4OTUsIDc0MTAzLCA5NzAxLCA4NjIyLCAwLCAwLCA3MzgxOSwgMTIwNTg4LCAKLSAgICA1MDEyLCA3NzkxMiwgNDEzNjIsIDY5ODYyLCA3ODI5NiwgMTE5MjEsIDAsIDExNzY5LCAwLCA2ODYwOSwgNDEzNjQsIDAsIAotICAgIDc0MjI4LCA0MTM1MiwgNDEzNjEsIDAsIDQxMzY2LCAwLCAzMzU2LCAxMTYxMSwgOTE3LCA2ODQyMiwgMTE5OTE1LCA3MTM0LCAKLSAgICA4MTk5LCA3ODM4OSwgMTE5OTE3LCA2NzcsIDExOTkxNiwgMCwgMTE5OTMyLCAxMjcxNjksIDAsIDAsIDAsIDMzNDksIAotICAgIDc0MTI1LCA3MDIyLCA4OTI3LCA0NzM5LCAwLCA1ODAyLCAwLCA4NjE1LCAwLCAwLCA0OTEsIDEyODgxOSwgMTAxOTAsIAotICAgIDEyMDY5OCwgNjU4MzcsIDEyODgyMCwgODQyNiwgMTEwOTIsIDk4OTEsIDAsIDQyNDk3LCA3MTEzLCA3NTg2LCA0MjMwNSwgCi0gICAgMTA4NTIsIDAsIDAsIDQ2MDYsIDY4NDQ4LCA5MDk1LCA3NzQxLCAxMjY4NCwgNDE4ODUsIDEwNDYsIDcxMjQsIDAsIDAsIAotICAgIDU4MTUsIDUxNzEsIDY1NTM5LCA2ODYxMiwgNjkzMiwgNzQyNjcsIDQyMzk0LCA0MTg3OCwgNzQ4NDksIDEyMDYyMSwgMCwgCi0gICAgNTE2OSwgMTE5MzUsIDAsIDAsIDMxNzUsIDEyMDgyMiwgMTUzNywgMTIwODA0LCA1MTc2LCA4OTA1LCA0MTM2LCA0ODcxLCAKLSAgICA3ODI4NywgMCwgOTgzMywgMCwgMCwgMTEyOCwgNjU5MjAsIDAsIDk3MTEsIDcwNTcsIDk0MDgsIDk0MDksIDk0MTAsIDk0MTEsIAotICAgIDM2NjIsIDk0MTMsIDMzNzgsIDk0MTUsIDk0MTYsIDk0MTcsIDk0MTgsIDYzMjAsIDk0MjAsIDk0MjEsIDU4OTcsIDk0MjMsIAotICAgIDUxNjUsIDUxMjYsIDQxMzg1LCAwLCA0MTM4OSwgOTE3OTM4LCA4OTU1LCAzMzc0LCA5NDAwLCA5NDAxLCA3MTE5LCA5NDAzLCAKLSAgICA5NDA0LCAzNTA3LCA5NDA2LCA3NjI5LCA5ODM2MTcsIDE5OTI1LCA0MjY2OSwgNjg0NjMsIDE4MywgNDM5ODUsIDI2MzEsIDAsIAotICAgIDEwNjI3LCA0MTEzMCwgNzgyNjAsIDM5OTYsIDAsIDc4NzcxLCAwLCAxMTkzMTMsIDExOTMwNywgNzg3NjgsIDY1ODAsIAotICAgIDQzMzIsIDY0ODI1LCA2NjMyOSwgMTA3MjYsIDY2Njg2LCA0MTEyNSwgNTg5OSwgNDEzNjUsIDkxNzkxOCwgMTIwODUsIDAsIAotICAgIDU3NCwgOTE3OTIyLCA3NzgyNSwgNzM4MjgsIDU0NDgsIDQxMDU4LCA1NDQ2LCA2OTcwOSwgNDEzMjIsIDQyMjExLCA1NDQyLCAKLSAgICA0MTkwLCA3NzgzNCwgNzc4MzUsIDU0NTEsIDc3ODMzLCAzNjE2LCA3NzgyOCwgNzc4MzcsIDc3ODM4LCA3NzA4LCA3NzgzNiwgCi0gICAgMTA4NTksIDY1ODY3LCAxMDM0NSwgMTA0MDksIDQxOTEsIDAsIDc3ODQ0LCA3MzgwMCwgNDIxODEsIDc3ODQzLCA3NzgzOSwgCi0gICAgMjA2MCwgMCwgNzExMSwgMTE3ODgsIDY1NTg3LCA2ODEyOSwgMTA0MTUsIDc0MTAyLCAwLCAyMDUsIDAsIDEwMzUxLCAKLSAgICAxMTkwNzYsIDAsIDk4NjIsIDY1ODgsIDQzMjU3LCA2NDY5NywgNzM5OTgsIDQxMzU1LCA1NTA1LCAxMTkxNTQsIDU1MDMsIAotICAgIDgwMjEsIDAsIDcxMjUsIDk4MTksIDQxMzU3LCA4MDExLCA0Mjg4NSwgNTUwNywgMTIwNDQsIDkyNjM2LCAwLCAxMDAyNiwgCi0gICAgNTQ3MiwgNzEwOSwgMTE5MSwgMTMxMDYsIDU0NzAsIDEwMzI5LCA1NDc2LCA4OTkxLCA2NjMyMiwgNjk3NzgsIDc4MjY3LCAKLSAgICA0Mjg3NCwgODU1MCwgNDI4NzYsIDU1OTIsIDI5MTksIDAsIDI2NzUsIDU1OTUsIDc4NDExLCA0Mzc2MiwgNDM2NywgMCwgMCwgCi0gICAgNTQ3OCwgNTkwNCwgNTU5NCwgMCwgNzQxNTAsIDcyOTEsIDU1OTAsIDQzNzYxLCAxMzA2NywgMTE4OTA5LCAxMjAzNzIsIAotICAgIDk4MzEwOCwgOTczMSwgNjk3MzEsIDY0NjMzLCA3Nzg1NywgNzc4NTQsIDc3ODU1LCA3Nzg1MiwgNzc4NTMsIDc3ODUwLCAKLSAgICAxMDc1MCwgNDM3MTQsIDc3ODU4LCA3MTM3LCAwLCAxMjgyOTYsIDEyODg3LCAxMDU1MSwgMTk0NTY0LCA3Nzg2NiwgNzc4NjcsIAotICAgIDc3ODY0LCA3Nzg2NSwgOTkyOSwgNTE5OSwgOTkzNiwgMTEyMCwgNDIzODcsIDAsIDE0NDQsIDk0ODYsIDc1NTQsIDY1ODM5LCAKLSAgICA1NTI1MiwgNzM5NzIsIDE0NDIsIDAsIDU4OTQsIDcwMDY5LCAwLCA0MTE3MSwgOTI1MTEsIDc0MzEzLCAwLCAxMzE2MiwgMCwgCi0gICAgMzMzNCwgMTk1MDEwLCAxMTg4MDMsIDc3ODgxLCA2NjAyMiwgMCwgMCwgMTY1MSwgMTI4NzcxLCA4ODYxLCAwLCAwLCAxMTQyLCAKLSAgICAwLCA4MjcxLCAwLCA5ODMwNTgsIDEyNjY0NSwgMTI5MDMsIDAsIDQwMDIsIDQzNjI2LCAxMDQ0MiwgMTA2NzYsIDMzNDQsIDAsIAotICAgIDAsIDEyOTIwLCAxOTQ1NjAsIDAsIDAsIDY2NjQyLCAxMjc3LCAwLCA3ODcxLCAwLCAxOTQ2ODYsIDc4ODUzLCAwLCA3ODg1NCwgCi0gICAgMTIwMzYwLCAwLCAxMTc4NCwgMCwgNzgwMTIsIDQ3MDAsIDY2MzY2LCA3ODg1OCwgMTIwMzU5LCAxMTAxMiwgMCwgNzg4NTYsIAotICAgIDkyNDAwLCA3Nzg3OSwgNDk3MywgODc4NCwgNzc4NzcsIDc0ODA0LCA3Nzg3NCwgNzc4NjksIDc3ODcxLCA0MjQ0MCwgMCwgCi0gICAgNDMxMTgsIDAsIDQyMzY0LCA2Nzc0LCA2NzczLCA5MTc1NjAsIDEyMDM2OSwgMTAzNDYsIDEwNDEwLCA3ODg1OSwgOTI0MywgCi0gICAgMjQ2NCwgNzQyNjMsIDYxMDgsIDMzNzIsIDAsIDYyNDcsIDQzMTE3LCA3NDUyNiwgNzEyMSwgNzQxNjYsIDAsIDEyMDM1NSwgCi0gICAgOTI1MzcsIDAsIDAsIDE5NTAzNCwgMCwgMCwgMCwgNzAwODMsIDMzNTQsIDE5NTAzNywgNDE5MiwgOTI4OSwgMTE4OTk5LCAKLSAgICA0MTE5MSwgMzg3NiwgMCwgNzAwNjcsIDEyMDY2MCwgNDM2OTYsIDQzMzgwLCAwLCA5ODMwOTEsIDAsIDAsIDExNjAzLCAKLSAgICA5ODM5NTQsIDAsIDY1ODksIDEyODU4OCwgMTk0Njc5LCAwLCAwLCA5ODM3MDAsIDAsIDAsIDQyNTcyLCAxMjgyNjQsIAotICAgIDEwNjMwLCA3NDgyNywgMTk2MywgMTE2MjIsIDEyNzA5OCwgMTE2NTQsIDAsIDc1NTAsIDEwNjg2LCA1OTAzLCAwLCA3ODAwOSwgCi0gICAgNDEzMjksIDk2NjIsIDkxNzkzNywgNjQ2OTgsIDMzNjYsIDEwMzk5LCAwLCA1NTQyLCAxMTAxMywgMTI3OTI3LCAxMjgzMDAsIAotICAgIDAsIDc4NjIxLCAxOTQ2NzIsIDY5MjUsIDAsIDAsIDkxNzkyOSwgMCwgMTE1NjgsIDk4MzY3MywgNDMzNjcsIDY0NTc5LCAKLSAgICA5MTc5MzAsIDc4NTIsIDAsIDAsIDY3NTQsIDYzMTIsIDAsIDY0NjcyLCA2NTI5NiwgMCwgMTE4OTU3LCAwLCA0MTYsIAotICAgIDEyMjk2LCA2ODQ1NywgNzM4MzQsIDY4MTc3LCAxMTA1MCwgMTA5ODQsIDkyMjA4LCAwLCAwLCA5MjE4MiwgMCwgOTgzNjA1LCAKLSAgICA5NTMyLCA2NjM1NSwgMCwgOTgzMjM0LCA5MTc5MjUsIDY0MzQzLCAxOTUwMzIsIDEyODI4MSwgMTk1MDMxLCAwLCAxOTUwMzAsIAotICAgIDE5NTA1NywgMTE0NDUsIDAsIDIxMTIsIDE5NTA1NiwgMTI4ODE0LCAxMDE4NSwgMTAyMSwgMTI4MTMwLCA5NTA3LCAxMDIxMCwgCi0gICAgNzQ1NDQsIDgwMjMsIDEyMDAsIDEyMjQzLCA3ODAwMSwgNTI4MiwgNzgwMDMsIDk2MjQsIDExNTQ1LCAwLCAxMjA0OTMsIAotICAgIDMzNDMsIDQ0MjQsIDExMDQ3LCAxODg1LCA0MzI2OCwgMzg5NiwgNzg0NDQsIDY2NDk3LCAyOTQ3LCAzOTIsIDc4OTQsIAotICAgIDQzOTEsIDY4MTM5LCA5ODMwNjIsIDEzMDU5LCA3NDgxNiwgNzc5OTgsIDMzODEsIDc5NDIsIDAsIDY5MjE5LCAwLCA2NDc1NywgCi0gICAgMCwgMzkxMywgMCwgMCwgNzgyMzUsIDcwNDQsIDEyNjUsIDAsIDYzMDksIDcwNDUsIDcxNzUsIDcwNDcsIDc4MjM5LCAKLSAgICAxMTc5MSwgMCwgMCwgODIyMSwgNzgzMDcsIDQxODY0LCAwLCAwLCAwLCAwLCAxNjcsIDk4MzkwNiwgNzgzMDEsIDk4MzY1MywgCi0gICAgNzQyMTEsIDQxODk3LCA2ODQ3NywgMCwgOTE3NTgzLCA5ODM2MzQsIDk0MDY1LCAyNDkzLCAwLCAxMTg4MTEsIDAsIDAsIAotICAgIDY0MzU0LCAwLCA4Nzc3LCAwLCA0MDYsIDg4ODQsIDIzODUsIDAsIDkyNDUwLCAwLCA5MTc1NzMsIDQzMDMwLCA0MjAyNywgCi0gICAgMTIxMTQsIDAsIDkxNzU3OSwgNjQ5MzYsIDE5NDY5NSwgMCwgMTIwNjI5LCAxMDU2MSwgMCwgODM2NSwgMTIwNTM5LCAKLSAgICA5ODM3NzQsIDY1ODQxLCAxMjA3ODcsIDExNjAxLCAwLCA3NDEyMSwgMCwgOTE3NTc1LCA3ODM0LCA3NDE1OSwgMCwgCi0gICAgOTE3NTc0LCAxMDI5OCwgNjYyNCwgNDkwOCwgOTE3NTk2LCAxNjM5LCAwLCAwLCA3NDE1NywgNjMyNywgNjcyNCwgMCwgCi0gICAgMTI4MDg2LCA5MjU2NiwgNjk5MTAsIDQ4MTcsIDc4NDQ2LCAxOTQ3NTksIDkyNTM2LCA3MDQzLCA5NjAwLCAxMTAyMiwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgNzU0OCwgNjQ3OTQsIDQyMDUwLCAxMjI5MSwgNTUyODksIDE5NDc2MSwgMTIzNDMsIDY1NywgCi0gICAgMTk1MDU0LCA0MjcwNSwgNDQ2MSwgMTEzNCwgMTgzOCwgNzg0MzgsIDIwNTcsIDAsIDQ0NjgsIDAsIDAsIDAsIDQ0NTYsIAotICAgIDUyMDYsIDEwNzIwLCAwLCA0MjUyMywgMTI3NTIwLCAwLCAwLCA5MTc1OTUsIDY1NTUwLCAyNjAsIDQ4MTYsIDY3NjU4LCAKLSAgICAxMDY4NywgMCwgNDgyMSwgNDQ2NiwgMCwgMTk1MDQzLCA0ODE4LCAxOTUwNDgsIDQxNDAzLCAxMTk5NzcsIDAsIDAsIAotICAgIDQxNDA2LCA0MzI3MywgNzQxNjAsIDExOTk4MywgNzM5MzksIDkyNjM4LCAxMTk5ODQsIDExOTk3OSwgNDE0MDQsIDExNjUsIAotICAgIDExOTk4MCwgNDQ1MSwgMTMwODcsIDAsIDExMjg0LCAxMTk5ODcsIDcwMDk3LCA2NTE1NSwgNDMwMTQsIDU0MzksIDkzNjMsIAotICAgIDcwMDcwLCAzMzc1LCAxMjg4NjksIDU5MDAsIDkzOTkwLCA3ODg5LCAyNzIyLCA0MjI2MiwgMCwgMCwgMTI4Nzc0LCAwLCAKLSAgICAyMjgyLCAwLCAxMjc4MTAsIDExNDAxLCA5ODM4MjIsIDAsIDY4NDU5LCAwLCAwLCAwLCAwLCA2NTQzOCwgMCwgNzI4MCwgCi0gICAgMTI3ODg3LCAwLCAxMjczODEsIDQ4NjgsIDgyOTcsIDExOTk2NiwgMTE4Nzk4LCAwLCAwLCA0MzE2MSwgMCwgOTIzNjAsIDAsIAotICAgIDUxODIsIDAsIDEyMDU0MiwgMCwgMCwgNDIyNiwgMTE5MjQzLCAxMjEzNSwgNTczMiwgNDQ2NCwgMCwgNzEzMzAsIDk3NywgCi0gICAgNDQ1OCwgMCwgMCwgNjQ3NzAsIDc0ODM4LCAwLCAzNDQsIDAsIDE5NDc5MCwgMTM5NSwgNjQyNzksIDAsIDkyMjQwLCAwLCAKLSAgICA3ODYsIDAsIDQzMTc0LCA2NDM0MCwgMCwgMTk0NzY3LCAxMjA3MjMsIDQzMDI2LCA3NjEyLCAxMDEzMiwgNjQ0MTMsIAotICAgIDY1MDI1LCAwLCAwLCAwLCA5Mzk1NiwgMCwgNjg0NDQsIDAsIDkyNDM3LCAwLCAxMTkxNjAsIDEwMjA0LCA5MjY1NiwgMCwgCi0gICAgMTI3ODA5LCA5ODM2NDQsIDEzOTksIDk4MzY1MiwgNjUyMTcsIDAsIDg4NTIsIDEyODU3MSwgMjQxLCAxMjg3ODAsIDQ5MDcsIAotICAgIDAsIDk4MzYzOSwgNzkzMiwgOTcyNywgMTI4ODczLCA3NDI1NSwgODc0OCwgMCwgMCwgOTgzNjQzLCAwLCA0Mjc4MCwgMCwgMCwgCi0gICAgMCwgNDIxNywgMCwgODY1MCwgMCwgMCwgMCwgNjk5MDAsIDExODg3MiwgNDMwOTksIDM5NjUsIDExOTExOSwgNjcxOSwgMCwgCi0gICAgMTMzMDAsIDc4NDM5LCA5Mzk3MSwgNDMwNTcsIDY2NTg4LCAxMTg5OTEsIDAsIDAsIDczODE1LCA0NDIwLCAwLCA2NDEwLCAKLSAgICA3NzYwLCAwLCAwLCAwLCAwLCAwLCA3Mjk0LCAwLCAwLCAwLCA5MDY2LCAwLCAxMTk5MywgNDMxODgsIDI2MjYsIDc3NjIsIDAsIAotICAgIDAsIDAsIDkyNjAxLCA0MjgyNSwgNDE4NTQsIDUzMDQsIDAsIDc4NTE2LCA2OTE5LCA4NjE5LCAxMTk2NTUsIDEwMDM4LCAKLSAgICA2NjQ1NCwgOTU5MiwgNDI4NTEsIDEyNjk5MywgMTU0MiwgOTIzMDMsIDAsIDAsIDAsIDAsIDc0MzExLCA3ODQ5NywgMCwgCi0gICAgMTAxODEsIDAsIDQzNjI0LCAwLCA3Nzc5LCAwLCAxMDE5NSwgOTQ3OSwgNjAyOSwgMCwgOTIyNjgsIDk2ODksIDAsIDY1NTc3LCAKLSAgICA4OTkzLCA2NjM1OCwgMCwgNDIzNzgsIDMzNjgsIDYwNiwgMTI3MDMwLCA3Njk3LCA2OTIzNywgNjk3ODcsIDIwMzAsIDAsIAotICAgIDYwMjcsIDgzNzAsIDQzMjIsIDAsIDY1MjA3LCAwLCA5ODMzMzksIDk4MzMzOCwgOTgzMzM3LCA5ODMzMzYsIDI3MzUsIAotICAgIDQyODMxLCA3NzkzNSwgMTI3MTIwLCA3NDg2NiwgODg4MSwgMTE5MDQ3LCAwLCAwLCA3Mzk0NiwgMCwgMCwgMCwgNjgxNDAsIAotICAgIDk4MzkyOCwgOTU3NiwgMTI4ODcyLCAzMzQ3LCA0MTYwLCA1MTU0LCA1NTI4OCwgMzc5NCwgNjY1NjQsIDg1MzAsIDEyNzA2MywgCi0gICAgNzcwOSwgNDExMTIsIDk4MzEzMiwgNjY1NjAsIDQyMDQxLCA0NTcyLCAxMjg3NiwgNjY1NjEsIDk4Mzc1OCwgNjc1OCwgCi0gICAgOTgzOTI2LCAxNjE1LCA1ODU1LCA4MDksIDAsIDkyMjgzLCAxMjgzMTYsIDEyODAwNCwgNTc5OSwgOTgzMzI4LCA3MDEwMCwgCi0gICAgOTgzMzI2LCA3MjYwLCA5ODMzMjQsIDQzMDMxLCA2NDQyNSwgNjUxMjgsIDc4ODE5LCA2NDM4NiwgNjUyNTcsIDAsIDY4NjE2LCAKLSAgICAxMjA2MDcsIDkzNDcsIDEyODA2NywgNjUzMiwgMCwgMCwgMCwgMTI3MDYwLCA2NTgyOCwgMCwgMjgzLCA2ODY2NSwgNzg4MTMsIAotICAgIDUzMiwgNzg2NjMsIDAsIDk4Mzc5NiwgMTIwNjA5LCAwLCAzMzcwLCAwLCAxMTM2MSwgNTQ0MywgNzg3NzgsIDgxNTMsIAotICAgIDczNzY3LCAwLCAxMDc0MSwgMCwgMjI5OCwgMCwgOTgzOTE3LCA2NTQ5NSwgNjQ3MDYsIDk4MzMxOCwgNDMzNDQsIDk4MzMxNiwgCi0gICAgNzE0NCwgOTQ2NiwgNzg4NjYsIDk4MjQsIDk4MzMxMSwgOTgzMzEwLCAwLCAwLCA5MTUsIDQzNDI1LCAwLCAwLCAwLCAwLCAKLSAgICAxMjcxNzgsIDQzMjY0LCA3MDA5NiwgMCwgMCwgNDMwMzgsIDc4ODY0LCA2NzMwLCA3ODg2MiwgNjgxNjEsIDY0NTUwLCAKLSAgICA1MTg2LCA3MzYwLCAxMjc4MzcsIDAsIDEyMTA4LCAwLCA2NTEyNCwgNDMxMjcsIDY2MDQzLCAwLCA2MzI2LCA0MzEwNywgCi0gICAgNzc4MjYsIDAsIDQyNTYyLCAwLCAxMjg4MjEsIDAsIDEyODUyMCwgMTE0ODUsIDYxMDMsIDEyNzEyMywgOTgzMzA1LCAKLSAgICAxMTcxOCwgOTgzMzAzLCAxMjg4OSwgOTI2NTcsIDEyNzEzNywgMCwgMCwgMCwgNTUyNDUsIDAsIDE2MzAsIDEyODIzMiwgCi0gICAgNjU0ODMsIDAsIDEyNTY1LCAwLCA2NTQ3NiwgMTIwMDEzLCAwLCAxMTk1NTQsIDkyODMsIDc3MDAsIDkxNzUzNywgOTY5MCwgCi0gICAgNjU0OTksIDAsIDY0NTkzLCA1MTIsIDMzNzYsIDY4MjEwLCAwLCAxMjg2NzcsIDc3ODkyLCA2MzIsIDEyOTQwLCA3Nzg5MSwgCi0gICAgNDI1MjksIDc4NTg3LCAwLCA1OTU3LCAxMTA1OTMsIDg5MjYsIDk4MzI5OSwgOTgzMjk4LCAxMjgyNzMsIDEwNzQ1LCAKLSAgICAxMDE3NCwgNzM3OSwgNjQ1ODEsIDUzODYsIDEyMDY4NiwgMTE3MTMsIDEwNjMzLCA2OTcwOCwgNTA1NiwgMCwgMCwgMCwgCi0gICAgMTIwNzczLCAwLCA5ODEyLCAwLCA0NDYwLCAwLCAwLCA3MTMwNywgMTI4MDM4LCAwLCAwLCAxMjcxNzQsIDY0Mjc4LCAKLSAgICA5MjM3MCwgNDM0NjYsIDAsIDAsIDY0Mzg5LCAyOTUzLCA3Mzg3OSwgMTgwMSwgMTI4MzUsIDExOTAyOSwgMCwgNzM4MjMsIDAsIAotICAgIDY2Mzc1LCAyMDg1LCA3MDIsIDQyNTc5LCA3Nzg4NCwgNzc4ODUsIDEzMDc0LCA3Nzg4MywgOTgzMjg2LCA5ODMyODUsIAotICAgIDEyODU3MCwgMTIxMDYsIDk4MzI4MiwgNzQyMDcsIDE3NTUsIDEwNDgyLCAxMjg2MywgNzc4OTgsIDExNjMsIDI5NTEsIAotICAgIDk1MjIsIDc0MDc5LCA3ODI2NiwgNjY2MDQsIDAsIDMzODQsIDY5MjI3LCAxMDcwMiwgODMwLCA3NzkwMiwgNzc4OTksIAotICAgIDc3OTAwLCA4NDUxLCAwLCAwLCAwLCA2OTczOSwgMCwgMCwgMCwgMCwgMjkwOCwgMCwgNDMzODYsIDY0OTAyLCA0MjQzLCAwLCAKLSAgICAxMjIzOSwgMCwgMCwgNDQ0MSwgMCwgOTgzMjc5LCA3Mzk0MCwgNjQzNTIsIDEyNzUxMywgOTgzMjc1LCA0MTEsIDk4MzI3MywgCi0gICAgOTE5OSwgOTgzMjcxLCA0MDU2LCAxMTg5OTIsIDQxODkwLCAwLCAyNzMwLCA0MTYwNCwgOTgzOTM3LCA1NDI4LCAxOTQ3NDMsIAotICAgIDMzNjQsIDQyMjY1LCA2NDQzNywgMTI3OTM1LCAxMTg4MTYsIDE5NDc0MiwgOTY4NCwgMjE2LCAwLCAxNDAxLCAxMjgwNTMsIAotICAgIDQ0MDEyLCAwLCAwLCA5MjU4NSwgOTE1OCwgNzc4NDIsIDY5OTA1LCA1NzY4LCAwLCAwLCAwLCA0ODQsIDE5NDczOSwgMCwgMCwgCi0gICAgNjU4OTUsIDAsIDAsIDMzMzgsIDczOTM1LCA1NzIsIDcwNDEsIDI3MzYsIDY3NjA1LCA5ODMyNjMsIDkzOTYyLCAyNzk0LCAKLSAgICA4ODA3LCA2NDQ5MSwgNzc4NDcsIDU0MzgsIDUyMjIsIDUzODEsIDQzMTE0LCAwLCA1MTkzLCA1MTI1LCA1NDU2LCA1NTA5LCAKLSAgICA3Nzg0NiwgMTk0NzQ3LCA5NTM0LCAwLCAwLCAwLCAzNDMwLCAwLCAwLCA3ODcxNywgMCwgOTgxLCAwLCA0MzMwLCA3MzkyOSwgCi0gICAgMTIwNTM2LCAxODI0LCAxMDkwOCwgMCwgNzAzNCwgNDE2ODMsIDY0NjE3LCAwLCA3Mzc1NCwgMzk1NywgNjQzNTgsIDY0NTQ3LCAKLSAgICAxMjgyNTksIDY3NCwgNjM5OTEsIDk4MzI0OSwgMjk0NiwgNTM1NCwgNTI1MSwgNTMyOCwgNTMwNywgMzc1OSwgMTE0MTEsIAotICAgIDgzNjQsIDUxMjMsIDExOTYyOCwgNTI4MSwgNTQ2OSwgNTEyMSwgMTE5MjQ1LCAxMTg5OTMsIDAsIDUxMzAsIDAsIDAsIAotICAgIDc3OTkwLCAwLCAxMjA3MjYsIDEyMjEsIDI3MzMsIDExNzQ2LCA3Nzk5MSwgNTIxNiwgMCwgMCwgMCwgMCwgMzQ2OCwgNzAzMywgCi0gICAgOTIzMCwgNTkzOSwgMTk1MDUyLCAwLCAwLCAxMjA2NzcsIDY4NDAwLCA3Mjc4LCAxMDMyMSwgMTAyODksIDY0NjEzLCAKLSAgICAxMDM4NSwgNDE3MDYsIDAsIDAsIDk4MzQxMywgMCwgMTE3MzksIDk4MzQyNiwgNDE5ODEsIDAsIDU5MzgsIDAsIDQzNzY2LCAKLSAgICAxMjQ0OCwgNzU3NiwgMTA0MDEsIDEwMzM3LCA3Mzg1MiwgMCwgMTMwNTcsIDAsIDEyNjk3NiwgMCwgMTAwMDksIDAsIAotICAgIDQxNzAzLCA5ODM2MzgsIDEyMTY1LCAwLCAwLCA5ODg1LCAwLCA4MDc3LCAwLCAxMjc5MDgsIDAsIDAsIDAsIDkyNDU3LCAwLCAKLSAgICA0MjIwLCAxMDcyNSwgMTA0MzMsIDAsIDY4Mzk1LCA0OTg3LCA2NDUxOSwgMCwgMTI4MzQwLCAwLCAwLCAwLCAxMDk3MCwgCi0gICAgMTE3MzMsIDAsIDEyMDc5MiwgMCwgMTk5NDQsIDAsIDkwMDksIDg1NTEsIDkyMzQ1LCAxMTQ2OCwgNjQ2MzYsIDc1NzUsIDAsIAotICAgIDI3MjQsIDAsIDAsIDEyMzEzLCAxMTA1OTIsIDUxNSwgMTE5OTQ3LCA0Mjc5MSwgNjM5ODcsIDc4Mjg2LCAxMTk5NDMsIAotICAgIDExOTk0MCwgMTE5OTQxLCAxMTk5MzgsIDk3NzUsIDQwNDYsIDQ1ODksIDQ1MjEsIDY4NjI5LCA5MTQxLCAwLCA3ODg1MCwgCi0gICAgMjc0MSwgNjQzOTksIDYxOTcsIDEzNzAsIDAsIDAsIDAsIDAsIDAsIDAsIDYxODQsIDg2MDYsIDMzMDMsIDQxMzcyLCAKLSAgICAxMTc4NiwgOTQ3MywgNjYyMDMsIDY2MTc3LCA5MjQ0NiwgMTE1OTMsIDQzMDA3LCA0NDc4LCA2NjE3OCwgMCwgMCwgMjc0NCwgCi0gICAgMCwgNDQ3NywgMTE4OTY0LCA4MTQsIDQyMDY2LCA2NjE4MywgNjYyMDQsIDQzNzg2LCAxMTk5NjEsIDY2MTk4LCA0MTg4MCwgCi0gICAgNjYxODgsIDExNjIzLCA3ODE0OCwgMTE5NTUsIDY2MTkwLCA2NjE5MSwgNDExMTEsIDY2MTg5LCA3Mzc4OCwgNzc4OCwgCi0gICAgNDg0NywgMCwgMTI3NzU5LCAwLCAwLCAwLCAxNTgxLCA2NTM1LCA3ODE2MSwgMTI5NTQsIDQzMCwgNzgxNjAsIDU1MjU5LCAKLSAgICA3ODE1OCwgMTI4MDM2LCA1Mjc4LCA0OTQ1LCA0Mjg4MywgNDk1MCwgOTgzNDM4LCA2ODYyNSwgOTgzNDM2LCA3MjY5LCAwLCAKLSAgICA1OTY0LCAxMjkwOCwgOTgzNTU1LCAwLCA3NDc2NCwgNzQ0NzcsIDExOTE0NiwgMTk0OTM2LCA0OTQ5LCA5ODM0MjksIDQ0MywgCi0gICAgOTgzNDI3LCA0OTQ0LCA1NDY3LCAxMTk2MDMsIDk4MzI1NCwgNjUxMzcsIDYwNDQsIDY1MzkyLCAwLCA0MjEzLCAwLCAKLSAgICA0MTMwMywgMCwgMTk0OTMxLCAxMTk5NjIsIDQxMzA2LCA3Mzk4NCwgMjY5OCwgMTI3MTU5LCAwLCAxMjA3MiwgMzE5MywgMCwgCi0gICAgNDEzMDQsIDgyNCwgMTI4Njc2LCAxMjA5MSwgNzg4OTMsIDc4ODk0LCAxMTk4MTYsIDQ2NzMsIDY0ODA0LCA0Njc4LCAKLSAgICAxMTk4MjAsIDExOTgxOSwgNjUwNTksIDAsIDY3MzksIDAsIDU0ODEsIDM0OTAsIDExOTksIDExOTgxMSwgODM1NiwgNjk5NDcsIAotICAgIDExOTgzMiwgNDY3NywgMTI2ODgsIDMxMDIsIDAsIDQ2NzIsIDc4MTczLCA3ODE3NSwgNTUzMSwgNjgzNjcsIDQyNTc1LCAKLSAgICA3ODE3MCwgNzgxNjYsIDQ2NzQsIDQ1NDgsIDQ0MDA1LCAxMTk5NDksIDY4NjU4LCAxMTk5NDYsIDgwMjUsIDY4NjMwLCAKLSAgICAxMjcwMjQsIDE4NTUsIDk4MzQxMiwgNjg2NjksIDk4MzQxMCwgOTI0NDUsIDEyNzU1NCwgMCwgMTI3MzM5LCAxMTk2NTIsIAotICAgIDI3NDUsIDExNzk3LCA5ODM0MTgsIDEyODE1OSwgOTIwMiwgNDY1NCwgOTgzNDE0LCA5ODM0MTYsIDY4NjM4LCA3Mzk5MywgCi0gICAgMTA1MjUsIDQ2NDksIDY1MjA5LCA5ODM0MTcsIDAsIDQ2NDgsIDQzMDgwLCA5ODM0MDYsIDk4MzQwNywgOTgzNDA0LCA2MjQ2LCAKLSAgICA2NDk1MCwgNzgyOCwgNDY1MCwgNjc3NywgNjc3NiwgNjc3NSwgNDY1MywgNzgyMiwgNzgwMDUsIDkyMzg0LCA0MzE4NywgCi0gICAgODY2OSwgOTgzNDE1LCA2ODIxLCA2NTA5MywgMCwgNzg4ODEsIDI3MTYsIDAsIDk4MzA2MCwgOTgzNDE5LCAwLCA2ODM2OSwgCi0gICAgMTIwMDU0LCAxMTA2MCwgODU0NywgMjcxMSwgNDIxNjUsIDc4MDI3LCA3ODAyNiwgNzk5MiwgMCwgMCwgNDY2MiwgNzgwMzMsIAotICAgIDc4MDMyLCA5MTQ5LCA5MTQ2LCA1OTksIDIwODEsIDc4MDMxLCA3ODAzMCwgMTk0OTYyLCA0NjU2LCAxMDEzMCwgNjg0NTAsIAotICAgIDc4MTEsIDQwOTk0LCAxOTQ5NjUsIDY0MTQsIDU5NjcsIDQ2NTgsIDM3MjUsIDU3MTMsIDU4MTQsIDQ2NjEsIDQyNDM0LCAKLSAgICA5ODM0MTEsIDAsIDAsIDY0OTA0LCA5MDI2LCAxMDgzMywgNzQ4NjQsIDc1NDcsIDQ4NjcsIDAsIDEwMDA4LCAxMDIyMiwgCi0gICAgMzA1NCwgMTk0OTU2LCA5NzQ0LCA3ODg2MCwgNzYwNSwgNDYyMiwgMTE5NjU2LCA5ODMzOTUsIDk0MDcwLCA5ODMzOTMsIAotICAgIDk4MzM5NCwgOTgzMzkxLCA5MDQ1LCA3ODg4OCwgNDIyNSwgMTk5MjYsIDc4ODg3LCAxMjg4MCwgNjUzMDcsIDQ2MTcsIAotICAgIDc4ODgzLCA5ODMzODYsIDQxNzMyLCA0NjE2LCAxMDUxOCwgMTA0MjMsIDEwMzU5LCA5ODMzODAsIDU5NTgsIDAsIDk4MzQzMywgCi0gICAgNDIxNSwgOTc4OSwgOTE3OTQxLCA0MzIxLCA0NjIxLCA5ODMzODksIDQxMzEzLCA1MjIsIDUzNjgsIDAsIDY1ODAzLCAwLCAKLSAgICA1MzY2LCAxMjIwMSwgNTM3MiwgMCwgOTgzNDA5LCAwLCA3NzIwLCA3MzkwLCAyNjk2LCA5ODM0MDAsIDAsIDQ2MzgsIAotICAgIDk4MzQwNSwgMTc5MCwgNzgyNDIsIDU5NjUsIDY0MzYzLCA2NjU2OSwgNjg2NDYsIDEyNzgzMywgNTM3NiwgMTgzNSwgNTMzNSwgCi0gICAgMTk0OTY2LCAxMjgwODksIDQ2MzMsIDAsIDY4MTE5LCAxMTgwLCA0NjMyLCAxMjgwOTMsIDUzODcsIDUzMzMsIDAsIDAsIAotICAgIDQyMDk0LCA1MzMxLCA0NjM0LCAxMTkyOCwgOTgzNTk0LCA1MzM4LCA0NjM3LCAxMjgxNzAsIDU5NzEsIDQyNDE0LCAwLCAKLSAgICAxMjY4LCA2NTA5NywgNDIzNjEsIDAsIDAsIDczODUzLCAxNDI3LCAwLCAwLCA1OTcwLCAzNDMxLCAwLCAxMDM1OCwgMTA0MjIsIAotICAgIDQ3NTgsIDk4MzM3NCwgMTYwOCwgMjczOCwgMCwgMTA0NTUsIDQ3NTMsIDc0MDI2LCAxMTM0NCwgNDIyMiwgNjI0MCwgNTIzMSwgCi0gICAgNzQzODQsIDk4MzM3OCwgNjgzNzcsIDYyNDgsIDk4MzM2MiwgOTgzMzYzLCA5ODMzNjAsIDQyMzE4LCA5MjU4MiwgNTIyOSwgCi0gICAgNDc1NywgMCwgMCwgMjcyOCwgNDc1MiwgNjQ1NjMsIDY1MjM1LCA1MjM0LCAwLCAxMjgxNDUsIDAsIDEwNzEzLCA3MTY2LCAwLCAKLSAgICAyNjIyLCA3NDYwLCAxMjczMDIsIDAsIDAsIDg5NTQsIDc0NzYwLCA2NTE4OSwgMjYzMiwgNDI2MTcsIDEwMTA4LCAxMDExLCAKLSAgICA1NTc0LCAxODUzLCAyNzA5LCA2NTEzOSwgNTU3NywgMCwgMCwgMTE4ODcxLCA2ODY0MSwgODk2NSwgNzYzNSwgNDIxNzcsIAotICAgIDUzMTYsIDAsIDUzMTQsIDY0NTEsIDU1NzIsIDY2NDY0LCA1MzEyLCAwLCA1NTI1LCA1MzMwLCA1MzE5LCA5ODM0MjAsIAotICAgIDk4Mzg3MiwgMTk0OTA3LCA0NDAwMywgMCwgOTgzNDgwLCA5ODM0MjMsIDEyMDQ5OCwgMTI3ODUxLCAxOTUwMDksIDk4Mzg2NSwgCi0gICAgNzQwMjIsIDk4MzQyMiwgNjQ2MDksIDY4NjQzLCAxMjA2MzQsIDk4MzQ4OSwgNTcyMSwgOTgzNDAxLCA1NTE5LCA4NjMyLCAKLSAgICA2NjQ2NSwgMTEyNjcsIDczOTYxLCA5MjI3OCwgNTcyMCwgOTgzMzUyLCAxNjkyLCA0MjE5LCA0NjEwLCA4Njk2LCA0MzA1LCAKLSAgICAwLCA0NjA5LCA0MzQ3OCwgNDYxNCwgNTQxLCA5ODMzNTUsIDUyODcsIDUzMDksIDUyODUsIDY4Mzg5LCA1OTYxLCA0NjQ3LCAKLSAgICA1NiwgNDIxNiwgMTA1NzcsIDQxMzgxLCA2MDEsIDQ2MTMsIDk4MzM0OSwgOTgzMzQ2LCA3Nzg0OSwgNDYwOCwgNjQyNjAsIAotICAgIDQxMTI0LCA1MTkwLCA2NzYyOCwgMCwgNjgxNDUsIDcwODYsIDAsIDY3OTk4LCA2NzYyMCwgMCwgMjczNCwgMTEwNzQsIDAsIAotICAgIDY3NjI3LCA0MzU5MywgMCwgNjc2MjUsIDU5NjAsIDAsIDg5OTIsIDQyNTkzLCAxMjgyNjAsIDE3ODIsIDY3NjIyLCA2ODExNCwgCisgICAgMTI2MDMsIDcxMzEsIDExMTA4LCA0NTY2LCA3NTE4LCA5MzE3LCAzODAxLCAxMDM0MiwgMTA0MDYsIDEyNDkzOCwgMTE5MjU5LCAKKyAgICA0MjU3NiwgMCwgNTIwMCwgOTI5NDYsIDEyOTE0MiwgOTgzODk1LCA5MTgzLCAxMjczNjEsIDc0NDU4LCA2NjI4MiwgMzk1LCAKKyAgICA1NDgyLCA1MTk4LCA0MzQ5LCAxMDM5MCwgNzQyMDIsIDUxOTYsIDQzMjI0LCA2MTEzLCA0MjAwOSwgNTIwNSwgMTI4MzgzLCAKKyAgICA0MzMwNywgMTI4MzY5LCAxMTg5NzMsIDcwNDY3LCAxMjEzNCwgMCwgMCwgMTE4ODQzLCA5MTI2LCA0MzUsIDk4MzYyNCwgCisgICAgMTIwMTQsIDEwMzc3LCA4MDkzLCA5MDc5LCAzMjAzLCAxOTIsIDY1MTA5LCAzMzg1LCAxMjUwNzUsIDY0NDMwLCA1MzgzLCAKKyAgICAxMDI5NCwgMTAzMjYsIDEyNzMwOSwgNTczOCwgOTgzMjE1LCAzMzM2LCA3ODM1NSwgNTM2MSwgMzYyMywgNDExNTksIDAsIAorICAgIDY4MTEyLCA3ODcyLCA4NTgxLCAwLCAxMjYwLCAzMTQ5LCA1MzU5LCAxMjAxMzQsIDAsIDc5MTQsIDUzNTcsIDcxMTkwLCAKKyAgICA3NDMzOSwgMjYyNCwgNTM2NCwgMCwgMTE0MzEsIDEyMDAzMCwgOTEwMSwgMTEwNTgsIDc4Mjg4LCA2NzEwNywgNzgyOTMsIAorICAgIDQyMjcxLCA3ODI4OSwgNDI5MTcsIDY3MTExLCAxMjkxNzksIDY1NTY2LCA2NzE3LCAxMDYxOSwgNDMzNjAsIDc4Mzg1LCAKKyAgICA3ODM4NCwgMTE4MzIsIDc4MzgyLCA3ODM4MSwgNzgzODAsIDY5ODYxLCA5MzE5LCA3MDk3LCAxMTkwNTUsIDc3OTA2LCAKKyAgICAzMjMyLCA3MzgyNCwgNzQ1ODEsIDc4MDg3LCAwLCA3MTIwNSwgNDE4ODksIDkyNDUzLCAwLCAxMTYxLCA0MTg5NSwgNzQxMDMsIAorICAgIDk3MDEsIDg2MjIsIDEyNTAyNSwgMCwgNzM4MTksIDEyMDU4OCwgNTAxMiwgNzc5MTIsIDQxMzYyLCA2OTg2MiwgNjg1MDcsIAorICAgIDExOTIxLCAwLCAxMTc2OSwgMTI4NDc3LCA2ODYwOSwgNDEzNjQsIDAsIDc0MjI4LCA0MTM1MiwgNDEzNjEsIDAsIDQxMzY2LCAKKyAgICAwLCAzMzU2LCAxMTYxMSwgOTE3LCA2ODQyMiwgMTE5OTE1LCA3MTM0LCA4MTk5LCA3ODM4OSwgMTE5NjE4LCA2NzcsIAorICAgIDExOTkxNiwgOTE3ODc2LCAxMTk5MzIsIDEyNzE2OSwgMCwgMCwgMTI1MTM2LCAzMzQ5LCA3NDEyNSwgNzAyMiwgODkyNywgCisgICAgNDczOSwgOTI1OTksIDU4MDIsIDE5NDg3NCwgODYxNSwgMCwgMCwgNDkxLCA3NDQwMSwgMTAxOTAsIDEyMDY5OCwgNjU4MzcsIAorICAgIDExOTkwMCwgODQyNiwgMTEwOTIsIDk4OTEsIDAsIDQyNDk3LCA3MTEzLCA3NTg2LCA0MjMwNSwgMTA4NTIsIDAsIDQyNjQ4LCAKKyAgICA0NjA2LCA2ODQ0OCwgOTA5NSwgNzc0MSwgMTI2ODQsIDQxODg1LCAxMDQ2LCA3MTI0LCAxMjg2MTAsIDAsIDU4MTUsIDUxNzEsIAorICAgIDY1NTM5LCA2ODYxMiwgNjkzMiwgNzQyNjcsIDQyMzk0LCA0MTg3OCwgNzQ4NDksIDEyMDYyMSwgNzI0MjQsIDUxNjksIAorICAgIDExOTM1LCAwLCAwLCAzMTc1LCAxMjA4MjIsIDE1MzcsIDEyMDgwNCwgNTE3NiwgODkwNSwgNDEzNiwgNDg3MSwgNzgyODcsIAorICAgIDEyMDY2MywgOTgzMywgMCwgOTgzMzQxLCAxMTI4LCA2NTkyMCwgMCwgOTcxMSwgNzA1NywgOTQwOCwgOTQwOSwgOTQxMCwgCisgICAgOTQxMSwgMzY2MiwgOTQxMywgMzM3OCwgOTQxNSwgOTQxNiwgOTQxNywgOTQxOCwgNjMyMCwgOTQyMCwgOTQyMSwgNTg5NywgCisgICAgOTQyMywgNTE2NSwgNTEyNiwgNDEzODUsIDAsIDQxMzg5LCAxMjc5NjMsIDg5NTUsIDMzNzQsIDk0MDAsIDk0MDEsIDcxMTksIAorICAgIDk0MDMsIDk0MDQsIDM1MDcsIDk0MDYsIDc2MjksIDk4MzYxNywgMTk5MjUsIDQyNjY5LCA2ODQ2MywgMTgzLCA0Mzk4NSwgCisgICAgMjYzMSwgNzA4MTEsIDEwNjI3LCA0MTEzMCwgNzgyNjAsIDM5OTYsIDAsIDc4NzcxLCAwLCAxMTkzMTMsIDExOTMwNywgCisgICAgNzg3NjgsIDY1ODAsIDQzMzIsIDY0ODI1LCA2NjMyOSwgMTA3MjYsIDY2Njg2LCA0MTEyNSwgNTg5OSwgNDEzNjUsIAorICAgIDEyNzIwNiwgMTIwODUsIDY2OTAyLCA1NzQsIDEyNjcwNSwgNzc4MjUsIDczODI4LCA1NDQ4LCA0MTA1OCwgNTQ0NiwgCisgICAgNjU5MzIsIDQxMzIyLCA0MjIxMSwgNTQ0MiwgNDE5MCwgNzc4MzQsIDc3ODM1LCA1NDUxLCA3NzgzMywgMzYxNiwgNzc4MjgsIAorICAgIDc3ODM3LCA3NzgzOCwgNzcwOCwgNzc4MzYsIDEwODU5LCA2NTg2NywgMTAzNDUsIDEwNDA5LCA0MTkxLCAxMjAzNzgsIAorICAgIDc3ODQ0LCA3MzgwMCwgNDIxODEsIDc3ODQzLCA3NzgzOSwgMjA2MCwgMCwgNzExMSwgMTE3ODgsIDY1Mzc2LCA2ODEyOSwgCisgICAgMTA0MTUsIDc0MTAyLCAwLCAyMDUsIDAsIDEwMzUxLCA2NzE1MSwgMCwgOTg2MiwgNjU4OCwgNDMyNTcsIDY0Njk3LCAKKyAgICA3Mzk5OCwgNDEzNTUsIDU1MDUsIDExOTE1NCwgNTUwMywgODAyMSwgMTI4MDM1LCA3MTI1LCA5ODE5LCA0MTM1NywgODAxMSwgCisgICAgNDI4ODUsIDU1MDcsIDEyMDQ0LCA5MjYzNiwgMCwgMTAwMjYsIDU0NzIsIDcxMDksIDExOTEsIDEzMTA2LCA1NDcwLCAKKyAgICAxMDMyOSwgNTQ3NiwgODk5MSwgNjYzMjIsIDY5Nzc4LCAxMTEzMywgNDI4NzQsIDg1NTAsIDQyODc2LCA1NTkyLCAyOTE5LCAKKyAgICAwLCAyNjc1LCA1NTk1LCA3ODQxMSwgNDM3NjIsIDQzNjcsIDEyNzkxMiwgMCwgNTQ3OCwgNTkwNCwgNTU5NCwgMCwgNzQxNTAsIAorICAgIDcyOTEsIDU1OTAsIDQzNzYxLCAxMzA2NywgMTE4OTA5LCAxMjAzNzIsIDk4MzEwOCwgOTczMSwgNjk3MzEsIDY0NjMzLCAKKyAgICA3Nzg1NywgNzc4NTQsIDcxMjE3LCA3Nzg1MiwgNzEyMjcsIDc3ODUwLCAxMDc1MCwgNDM3MTQsIDc3ODU4LCA3MTM3LCAwLCAKKyAgICA2NjkwOSwgMTI4ODcsIDEwNTUxLCAxOTQ1NjQsIDc3ODY2LCA3Nzg2NywgNzc4NjQsIDc3ODY1LCA5OTI5LCA1MTk5LCAKKyAgICA5OTM2LCAxMTIwLCA0MjM4NywgMCwgMTQ0NCwgOTQ4NiwgNzU1NCwgNjU4MzksIDU1MjUyLCA3Mzk3MiwgMTQ0MiwgCisgICAgMTI5MDgwLCA1ODk0LCA3MDA2OSwgMTI4NjcyLCA0MTE3MSwgOTI1MTEsIDcwMzU4LCAxMzIzLCAxMzE2MiwgMCwgMzMzNCwgCisgICAgMTk1MDEwLCAxMTg4MDMsIDc3ODgxLCA2NjAyMiwgMCwgNjk3NzAsIDE2NTEsIDEyODc3MSwgODg2MSwgMCwgMCwgMTE0MiwgCisgICAgOTgzODY5LCA4MjcxLCAwLCA5ODMwNTgsIDEyNjY0NSwgMTI5MDMsIDAsIDQwMDIsIDQzNjI2LCAxMDQ0MiwgMTA2NzYsIAorICAgIDMzNDQsIDEyODkxMCwgMTk0Nzg3LCAxMjkyMCwgMTk0NTYwLCA3MDQ5NywgMTk0Njg3LCA2NjY0MiwgMTI3NywgNjY4NzYsIAorICAgIDc4NzEsIDY3MTA2LCAxOTQ2ODYsIDc4ODUzLCAxMjkwNjgsIDc4ODU0LCAxMjAzNjAsIDk4MzQ5MCwgMTE3ODQsIDAsIAorICAgIDc4MDEyLCA0NzAwLCA0Mzg1NiwgNzg4NTgsIDEyMDM1OSwgMTEwMTIsIDAsIDc4ODU2LCA5MjQwMCwgNzc4NzksIDQ5NzMsIAorICAgIDg3ODQsIDc3ODc3LCA3NDgwNCwgNzc4NzQsIDc3ODY5LCA3Nzg3MSwgNDI0NDAsIDcxMjI1LCA0MzExOCwgMCwgNDIzNjQsIAorICAgIDY3NzQsIDY3NzMsIDkxNzU2MCwgMTIwMzY5LCAxMDM0NiwgMTA0MTAsIDc4ODU5LCA5MjQzLCAyNDY0LCA3NDI2MywgNjEwOCwgCisgICAgMzM3MiwgMCwgNjI0NywgNDMxMTcsIDcwMzY0LCA3MTIxLCA3NDE2NiwgMTI0OTczLCAxMjAzNTUsIDkyNTM3LCAxOTUwMzUsIAorICAgIDAsIDE5NTAzNCwgNzAzNTcsIDExOTkyMiwgMCwgNjcxMTksIDMzNTQsIDE5NTAzNywgNDE5MiwgOTI4OSwgMTE4OTk5LCAKKyAgICA0MTE5MSwgMzg3NiwgMCwgNzAwNjcsIDEyMDY2MCwgNDM2OTYsIDQzMzgwLCAwLCA5ODMwOTEsIDAsIDk4Mzc1OCwgMTE2MDMsIAorICAgIDk4Mzk1NCwgMCwgNjU4OSwgMTI4NTY0LCAxOTQ2NzksIDEyODk2MSwgMCwgOTgzNzAwLCAwLCAxMjkwODcsIDQyNTcyLCAKKyAgICAxMjgyNjQsIDEwNjMwLCA3NDgyNywgMTk2MywgMTE2MjIsIDEyNzA5OCwgMTE2NTQsIDAsIDc1NTAsIDEwNjg2LCA1OTAzLCAKKyAgICA2NzA5OCwgNzgwMDksIDQxMzI5LCA5NjYyLCA5MTc5MzcsIDY0Njk4LCAzMzY2LCAxMDM5OSwgOTE3OTM4LCA1NTQyLCAKKyAgICAxMTAxMywgMTI3OTI3LCA3MTA2MiwgMTk0Njc3LCA3ODYyMSwgNjcwOTAsIDY5MjUsIDAsIDAsIDkyODkyLCA3MTg1NiwgCisgICAgMTE1NjgsIDk4MzY3MywgNDMzNjcsIDY0NTc5LCA5MTc5MzAsIDc4NTIsIDExMTM4LCAwLCA2NzU0LCA2MzEyLCA3Nzk1NiwgCisgICAgNjQ2NzIsIDY1Mjk2LCAwLCAxMTg5NTcsIDAsIDQxNiwgMTIyOTYsIDY4NDU3LCA3MzgzNCwgNjgxNzcsIDExMDUwLCAKKyAgICAxMDk4NCwgOTIyMDgsIDAsIDAsIDkyMTgyLCAwLCA5ODM2MDUsIDk1MzIsIDY2MzU1LCAwLCA5ODMyMzQsIDkxNzkyNSwgCisgICAgNjQzNDMsIDE5NTAzMiwgOTI3NDQsIDE5NTAzMSwgMCwgMTk1MDMwLCAxOTUwNTcsIDExNDQ1LCA2ODI5NCwgMjExMiwgCisgICAgMTI4NzQxLCAxMjg4MTQsIDEwMTg1LCAxMDIxLCAxMjgxMzAsIDk1MDcsIDEwMjEwLCA3NDU0NCwgODAyMywgMTIwMCwgCisgICAgMTIyNDMsIDc4MDAxLCA1MjgyLCA3ODAwMywgOTYyNCwgMTE1NDUsIDAsIDEyMDQ5MywgMzM0MywgNDQyNCwgMTEwNDcsIAorICAgIDE4ODUsIDQzMjY4LCAzODk2LCA3ODQ0NCwgNjY0OTcsIDI5NDcsIDM5MiwgNzg5NCwgNDM5MSwgNjgxMzksIDk4MzA2MiwgCisgICAgMTMwNTksIDc0ODE2LCA3Nzk5OCwgMzM4MSwgNzk0MiwgMCwgNjkyMTksIDAsIDM1NTgsIDAsIDM5MTMsIDcwNDI5LCAwLCAKKyAgICA3ODIzNSwgNzA0NCwgMTI2NSwgMCwgNjMwOSwgNzA0NSwgNzE3NSwgNzA0NywgNzgyMzksIDExNzkxLCAwLCA5MTc1ODcsIAorICAgIDgyMjEsIDc4MzA3LCA0MTg2NCwgMCwgMCwgNjcwNzUsIDcxMjE5LCAxNjcsIDk4MzkwNiwgNzgzMDEsIDk4MzY1MywgCisgICAgNzQyMTEsIDQxODk3LCA2NzA3MiwgMCwgOTE3NTgzLCA5MTc1OTQsIDY3MDc2LCAyNDkzLCAwLCAxMTM3NzgsIDAsIDkyMzMxLCAKKyAgICA2NDM1NCwgMCwgODc3NywgMCwgNDA2LCA4ODg0LCAyMzg1LCA3ODIxMCwgOTI0NTAsIDAsIDkxNzU3MywgNDMwMzAsIAorICAgIDQyMDI3LCAxMjExNCwgMCwgMTI4NTk3LCA2NDkzNiwgMTk0Njk1LCAwLCAxMjA2MjksIDEwNTYxLCAxMjg5NDAsIDgzNjUsIAorICAgIDEyMDUzOSwgOTgzNzc0LCA2NTg0MSwgMTIwNzg3LCAxMTYwMSwgMCwgNzQxMjEsIDEyODg5NiwgOTE3NTc1LCA3ODM0LCAKKyAgICA3NDE1OSwgMCwgOTE3NTc0LCAxMDI5OCwgNjYyNCwgNDkwOCwgOTE3NTk2LCAxNjM5LCAwLCAwLCA3MDgwMywgNjMyNywgCisgICAgNjcyNCwgMTI0OTUzLCAxMjgwODYsIDkyNTY2LCA2OTkxMCwgNDgxNywgMTEwODcsIDE5NDc1OSwgOTI1MzYsIDcwNDMsIAorICAgIDk2MDAsIDExMDIyLCAwLCAwLCAwLCAwLCAwLCA3Mzk1NCwgNzU0OCwgNjQ3OTQsIDQyMDUwLCAxMjI5MSwgNTUyODksIAorICAgIDEyODc4MSwgMTIzNDMsIDY1NywgNjcxMTAsIDQyNzA1LCA0NDYxLCAxMTM0LCAxODM4LCA3ODQzOCwgMjA1NywgMCwgNDQ2OCwgCisgICAgOTI4OTEsIDE5NDk0NSwgMCwgNDQ1NiwgNTIwNiwgMTA3MjAsIDAsIDQyNTIzLCAxMjc1MjAsIDAsIDkzMDQ0LCA5MTc1OTUsIAorICAgIDY1NTUwLCAyNjAsIDQ4MTYsIDY3NjU4LCAxMDY4NywgMCwgNDgyMSwgNDQ2NiwgMCwgMTk1MDQzLCA0ODE4LCAxMjkwNTgsIAorICAgIDQxNDAzLCAxMTk5NzcsIDcyNDIyLCAxMjg0NTgsIDQxNDA2LCA0MzI3MywgNzQxNjAsIDY5ODA1LCA3MzkzOSwgOTI2MzgsIAorICAgIDExOTk4NCwgMTE5OTc5LCA0MTQwNCwgMTE2NSwgMTE5OTgwLCA0NDUxLCAxMzA4NywgMCwgMTEyODQsIDExOTk4NywgCisgICAgNzAwOTcsIDY1MTU1LCA0MzAxNCwgNTQzOSwgOTM2MywgNzAwNzAsIDMzNzUsIDEyODQ0OCwgNTkwMCwgOTM5OTAsIDc4ODksIAorICAgIDI3MjIsIDQyMjYyLCAwLCAwLCA2NzA3OCwgMTI4NDUxLCAyMjgyLCAwLCAxMjc4MTAsIDExNDAxLCA2NzA3OSwgMCwgCisgICAgNjg0NTksIDEyNTAyOCwgOTgzMTQxLCAwLCA3MDE1MCwgNjU0MzgsIDAsIDcyODAsIDEyNzg4NywgMCwgNzAxNDYsIDQ4NjgsIAorICAgIDgyOTcsIDExOTk2NiwgNzAxNDgsIDAsIDEyODc0NCwgNDMxNjEsIDcwMTQ0LCA5MjM2MCwgMCwgNTE4MiwgMCwgMTIwNTQyLCAKKyAgICAwLCAwLCA0MjI2LCA3MDE4NiwgMTIxMzUsIDU3MzIsIDQ0NjQsIDAsIDcxMzMwLCA5NzcsIDQ0NTgsIDQzODI3LCA5Mjk3MSwgCisgICAgNjQ3NzAsIDc0ODM4LCAwLCAzNDQsIDAsIDE5NDc5MCwgMTM5NSwgNjQyNzksIDAsIDkyMjQwLCAwLCA3ODYsIDEyNjk5NSwgCisgICAgNDMxNzQsIDY0MzQwLCAwLCAxOTQ3NjcsIDczOTcxLCA0MzAyNiwgNzYxMiwgMTAxMzIsIDY0NDEzLCA2NTAyNSwgMCwgMCwgCisgICAgMCwgOTM5NTYsIDAsIDY4NDQ0LCAwLCA5MjQzNywgMCwgMTE5MTYwLCAxMDIwNCwgOTI2NTYsIDAsIDEyNzgwOSwgMTI4NDMxLCAKKyAgICAxMzk5LCA5ODM2NTIsIDY1MjE3LCA5ODM2MzcsIDg4NTIsIDEyODU3MSwgMjQxLCAxMjg3ODAsIDQ5MDcsIDEyODQyNywgCisgICAgOTgzNjM5LCA3OTMyLCA5NzI3LCAxMjg0NjMsIDc0MjU1LCA4NzQ4LCAwLCAwLCA5ODM2MzEsIDAsIDQyNzgwLCAwLCAKKyAgICAxMTM2NzcsIDAsIDQyMTcsIDkzMDM0LCA4NjUwLCAwLCAxMjA2NzMsIDAsIDY5OTAwLCAxMTg4NzIsIDQzMDk5LCAzOTY1LCAKKyAgICAxMTkxMTksIDY3MTksIDEyODAwNywgMTMzMDAsIDc4NDM5LCA5Mzk3MSwgNDMwNTcsIDY2NTg4LCAxMTg5OTEsIDY2Mjg5LCAKKyAgICAwLCA3MzgxNSwgNDQyMCwgOTgzMTIwLCA2NDEwLCA3NzYwLCAwLCA3MDQ2OCwgMTI4NzUyLCAxMjA2ODQsIDAsIDcyOTQsIDAsIAorICAgIDQzODY5LCAxMjUwMzIsIDkwNjYsIDAsIDExOTkzLCA0MzE4OCwgMjYyNiwgNzc2MiwgMCwgMTE4ODMxLCA5Mjg5OSwgCisgICAgOTI2MDEsIDQyODI1LCA0MTg1NCwgNTMwNCwgMCwgNzg1MTYsIDY5MTksIDg2MTksIDExOTY1NSwgMTAwMzgsIDY2NDU0LCAKKyAgICA5NTkyLCA0Mjg1MSwgMTI2OTkzLCAxNTQyLCA5MjMwMywgMTI4ODE5LCAwLCAxMjczMjcsIDk4MzU5NywgNzQzMTEsIAorICAgIDc4NDk3LCAwLCAxMDE4MSwgMTI0OTM3LCA0MzYyNCwgMTI5MDYwLCA3Nzc5LCA5MTc1NTEsIDEwMTk1LCA5NDc5LCA2MDI5LCAKKyAgICAxMjgzNzQsIDkyMjY4LCAyMjI0LCAwLCA2NTU3NywgODk5MywgNjYzNTgsIDAsIDQyMzc4LCAzMzY4LCA2MDYsIDEyNzAzMCwgCisgICAgNzY5NywgNjkyMzcsIDY5Nzg3LCAyMDMwLCA3MDEwNiwgNjAyNywgODM3MCwgNDMyMiwgMCwgNjUyMDcsIDAsIDcwMzg2LCAKKyAgICAxMjc5MDMsIDk4MzMzNywgOTgzMzM2LCAyNzM1LCA0MjgzMSwgNzc5MzUsIDcwNDM5LCA3NDg2NiwgODg4MSwgMTE5MDQ3LCAKKyAgICAwLCA3MDQzMywgNzM5NDYsIDAsIDAsIDAsIDY4MTQwLCA5ODM5MjgsIDk1NzYsIDkyNzgzLCAzMzQ3LCA0MTYwLCA1MTU0LCAKKyAgICA1NTI4OCwgMzc5NCwgNjY1NjQsIDg1MzAsIDEyNzA2MywgNzcwOSwgNDExMTIsIDk4MzEzMiwgNjY1NjAsIDgzODEsIDQ1NzIsIAorICAgIDEyODc2LCA2NjU2MSwgMTI4OTIxLCA2NzU4LCA5ODM5MjYsIDE2MTUsIDU4NTUsIDgwOSwgMCwgOTIyODMsIDEyODMxNiwgCisgICAgMTI4MDA0LCA1Nzk5LCAxMjg5MjksIDcwMTAwLCAxMjg2MDcsIDcyNjAsIDk4MzMyNCwgNDMwMzEsIDY0NDI1LCA2NTEyOCwgCisgICAgNzg4MTksIDY0Mzg2LCA2NTI1NywgMCwgNjg2MTYsIDEyMDYwNywgOTM0NywgMTI4MDY3LCA2NTMyLCAwLCA5MTc5MTgsIDAsIAorICAgIDEyNzA2MCwgNjU4MjgsIDEyMDAwNiwgMjgzLCA2ODY2NSwgNzg4MTMsIDUzMiwgNzg2NjMsIDc4ODE3LCAxMjgwMjEsIAorICAgIDEyMDYwOSwgMCwgMzM3MCwgMCwgMTEzNjEsIDU0NDMsIDc4Nzc4LCA4MTUzLCA3Mzc2NywgMCwgMTA3NDEsIDAsIDIyOTgsIAorICAgIDAsIDEyNTAzOSwgNjU0OTUsIDY0NzA2LCA5ODMzMTgsIDQzMzQ0LCA5ODMzMTYsIDcxNDQsIDk0NjYsIDc4ODY2LCA5ODI0LCAKKyAgICA2NzE0MiwgMTI4OTYzLCA2NzEzMywgNjcxMzAsIDkxNSwgNDM0MjUsIDY3MjkyLCA0Mzg2NSwgNjgyMzIsIDAsIDEyNzE3OCwgCisgICAgNDMyNjQsIDY3MTM2LCA2NzEzNywgMCwgNDMwMzgsIDc4ODY0LCA2NzMwLCA3ODg2MiwgNjgxNjEsIDY0NTUwLCA1MTg2LCAKKyAgICA3MzYwLCAxMjc4MzcsIDcwNDUxLCAxMjEwOCwgMCwgNjUxMjQsIDQzMTI3LCA2NjA0MywgMCwgNjMyNiwgNDMxMDcsIAorICAgIDc3ODI2LCAwLCA0MjU2MiwgMCwgMTI4ODIxLCAxMjgxNzgsIDEyODUyMCwgMTE0ODUsIDYxMDMsIDkyNDY4LCA5ODMzMDUsIAorICAgIDExNzE4LCA5ODMzMDMsIDEyODg5LCA5MjY1NywgMTI1MDM0LCAwLCAwLCAxMjc0NzYsIDU1MjQ1LCAxMjg5MjcsIDE2MzAsIAorICAgIDEyODIzMiwgNjU0ODMsIDEyMDYzNCwgMTI1NjUsIDAsIDY1NDc2LCA3MDM2OSwgOTgzMDcyLCAxMTkyMTQsIDkyODMsIAorICAgIDc3MDAsIDkxNzUzNywgOTY5MCwgNjU0OTksIDAsIDY0NTkzLCA1MTIsIDMzNzYsIDY4MjEwLCAwLCAxMjgyNTMsIDc3ODkyLCAKKyAgICA2MzIsIDEyOTQwLCA3Nzg5MSwgNDI1MjksIDc4NTg3LCAxOTQ2MDQsIDU5NTcsIDExMDU5MywgODkyNiwgOTgzMjk5LCAKKyAgICA5ODMyOTgsIDEyODI3MywgMTA3NDUsIDEwMTc0LCA3Mzc5LCA2NDU4MSwgNTM4NiwgMTIwNjg2LCAxMTcxMywgMTA2MzMsIAorICAgIDY5NzA4LCA1MDU2LCAwLCAwLCAwLCAxMjA3NzMsIDk0MDU1LCA5ODEyLCAwLCA0NDYwLCAwLCAxMjQ5NTYsIDcxMzA3LCAKKyAgICAxMjgwMzgsIDAsIDAsIDEyNzE3NCwgNjQyNzgsIDkyMzcwLCA0MzQ2NiwgMCwgMCwgNjQzODksIDI5NTMsIDcwMTIyLCAKKyAgICAxODAxLCAxMjgzNSwgNzQ4NDcsIDAsIDczODIzLCAxMjg2ODEsIDY2Mzc1LCAyMDg1LCA3MDIsIDQyNTc5LCA3Nzg4NCwgCisgICAgNzc4ODUsIDEzMDc0LCA3Nzg4MywgNjYyOTksIDk4MzI4NSwgMTI4NTcwLCAxMjEwNiwgOTgzMjgyLCA3NDIwNywgMTc1NSwgCisgICAgMTA0ODIsIDEyODYzLCA3Nzg5OCwgMTE2MywgMjk1MSwgOTUyMiwgNzQwNzksIDc4MjY2LCA2NjYwNCwgMCwgMzM4NCwgCisgICAgNjkyMjcsIDEwNzAyLCA4MzAsIDc3OTAyLCA3Nzg5OSwgNzc5MDAsIDg0NTEsIDAsIDAsIDAsIDY2NDU4LCAxMjg5NTcsIAorICAgIDEyODg3MCwgMCwgMCwgMjkwOCwgMCwgMTExNzcsIDY0OTAyLCA0MjQzLCA5MjQ1NCwgMTIyMzksIDkxNzg3MiwgMTI0OTU5LCAKKyAgICA0NDQxLCAwLCAxMTM3NjUsIDczOTQwLCA2NDM1MiwgMTI3NTEzLCAxMjUwMzEsIDQxMSwgOTgzMjczLCA5MTk5LCA5ODMyNzEsIAorICAgIDQwNTYsIDExODk5MiwgNDE4OTAsIDE5NDY5OCwgMjczMCwgNDE2MDQsIDEyODM1NSwgNTQyOCwgMTk0NzQzLCAzMzY0LCAKKyAgICA0MjI2NSwgNjQ0MzcsIDEyNzkzNSwgMTE4ODE2LCAxOTQ3NDIsIDk2ODQsIDIxNiwgNzEzNjcsIDE0MDEsIDEyODA1MywgCisgICAgNDQwMTIsIDkyNjI4LCAwLCA5MjU4NSwgOTE1OCwgNjY4NzgsIDExMTI2LCA1NzY4LCAwLCAwLCAwLCA0ODQsIDE5NDczOSwgCisgICAgMCwgMCwgNjU4OTUsIDEyNTA3NiwgMCwgMzMzOCwgNzM5MzUsIDU3MiwgNzA0MSwgMjczNiwgNjc2MDUsIDk4MzI2MywgCisgICAgOTM5NjIsIDI3OTQsIDg4MDcsIDY0NDkxLCA3Nzg0NywgNTQzOCwgNTIyMiwgNTM4MSwgNDMxMTQsIDAsIDUxOTMsIDUxMjUsIAorICAgIDU0NTYsIDU1MDksIDc3ODQ2LCAxOTQ3NDcsIDk1MzQsIDEyOTEwOSwgMTI5MDQwLCAwLCAzNDMwLCAwLCA0MjkwNSwgCisgICAgNzg3MTcsIDEyODkwMywgOTgxLCAxMjkxODQsIDQzMzAsIDczOTI5LCAxMjA1MzYsIDE4MjQsIDEwOTA4LCAxMjY1MDYsIAorICAgIDcwMzQsIDQxNjgzLCA2NDYxNywgMCwgNzM3NTQsIDM5NTcsIDY0MzU4LCA2NDU0NywgMTI4MjU5LCA2NzQsIDYzOTkxLCAKKyAgICA5ODMyNDksIDI5NDYsIDUzNTQsIDUyNTEsIDUzMjgsIDUzMDcsIDM3NTksIDExNDExLCA4MzY0LCA1MTIzLCAxMTk2MjgsIAorICAgIDUyODEsIDU0NjksIDUxMjEsIDExOTI0NSwgMTE4OTkzLCAwLCA1MTMwLCAwLCAwLCA3Nzk5MCwgMCwgMTIwNzI2LCAxMjIxLCAKKyAgICAyNzMzLCAxMTc0NiwgNzc5OTEsIDUyMTYsIDAsIDAsIDAsIDkyMTg3LCAzNDY4LCA3MDMzLCA5MjMwLCA1OTM5LCAxOTUwNTIsIAorICAgIDAsIDU4MDMsIDcxODY3LCA2ODQwMCwgNzI3OCwgMTAzMjEsIDEwMjg5LCA2NDYxMywgMTAzODUsIDQxNzA2LCAwLCAwLCAKKyAgICA5ODM0MTMsIDAsIDExNzM5LCA5MjUyNCwgNDE5ODEsIDkyNzQzLCA1OTM4LCAwLCA0Mzc2NiwgMTI0NDgsIDc1NzYsIAorICAgIDEwNDAxLCAxMDMzNywgNzM4NTIsIDEyNDk5NCwgMTMwNTcsIDAsIDEyNjk3NiwgMCwgMTAwMDksIDAsIDQxNzAzLCAKKyAgICA5ODM2MzgsIDEyMTY1LCAxMjkxOTEsIDAsIDk4ODUsIDAsIDgwNzcsIDkyNjIwLCAxMjc5MDgsIDAsIDk4MzQzOSwgMCwgCisgICAgOTI0NTcsIDEyOTEzOCwgNDIyMCwgMTA3MjUsIDEwNDMzLCAwLCA2ODM5NSwgNDk4NywgNjQ1MTksIDAsIDEyNTA3OCwgMCwgCisgICAgOTgzNDI2LCAxMjg1NzQsIDEwOTcwLCAxMTczMywgMCwgMTIwNzkyLCAxMjY0OTAsIDE5OTQ0LCA3NDM1NiwgOTAwOSwgCisgICAgODU1MSwgOTIzNDUsIDExNDY4LCA2NDYzNiwgNzU3NSwgMCwgMjcyNCwgMTI4ODk5LCAwLCAxMjMxMywgMTExNTEsIDUxNSwgCisgICAgMTE5OTQ3LCA0Mjc5MSwgNjM5ODcsIDc4Mjg2LCAxMTk5NDMsIDExOTk0MCwgMTE5OTQxLCAxMTk5MzgsIDk3NzUsIDQwNDYsIAorICAgIDQ1ODksIDQ1MjEsIDY4NjI5LCA5MTQxLCAwLCA3ODg1MCwgMjc0MSwgNjQzOTksIDYxOTcsIDEzNzAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDk4MzU2MCwgNjE4NCwgODYwNiwgMzMwMywgNDEzNzIsIDExNzg2LCA5NDczLCA2NjIwMywgNjYxNzcsIDkyNDQ2LCAKKyAgICAxMTU5MywgNDMwMDcsIDQ0NzgsIDY2MTc4LCAwLCAwLCAyNzQ0LCAwLCA0NDc3LCA3ODI2NywgODE0LCA0MjA2NiwgNjYxODMsIAorICAgIDY2MjA0LCA0Mzc4NiwgMTE5OTYxLCA2NjE5OCwgNDE4ODAsIDY2MTg4LCAxMTYyMywgNzgxNDgsIDExOTU1LCA2NjE5MCwgCisgICAgNjYxOTEsIDQxMTExLCA2NjE4OSwgNzM3ODgsIDc3ODgsIDQ4NDcsIDAsIDEyNzc1OSwgMCwgMTI4NDMzLCAyMjIxLCAxNTgxLCAKKyAgICA2NTM1LCA3ODE2MSwgMTI5NTQsIDQzMCwgNzgxNjAsIDU1MjU5LCA3Mzk0NCwgMTI4MDM2LCA1Mjc4LCA0OTQ1LCA0Mjg4MywgCisgICAgNDk1MCwgOTgzNDM4LCA2ODYyNSwgOTgzNDM2LCA3MjY5LCAwLCA1OTY0LCAxMjkwOCwgMTI0OTk3LCAwLCA3NDc2NCwgCisgICAgNDM1MTIsIDExOTE0NiwgMTk0OTM2LCA0OTQ5LCA5ODM0MjksIDQ0MywgOTgzNDI3LCA0OTQ0LCA1NDY3LCAxMTk2MDMsIAorICAgIDcwODY1LCA2NTEzNywgNjA0NCwgNjUzOTIsIDAsIDQyMTMsIDAsIDQxMzAzLCAwLCAxOTQ5MzEsIDExOTk2MiwgNDEzMDYsIAorICAgIDczOTg0LCAyNjk4LCAxMjcxNTksIDAsIDEyMDcyLCAzMTkzLCAwLCA0MTMwNCwgODI0LCAxMjg2NzYsIDEyMDkxLCA2NzExOCwgCisgICAgNzg4OTQsIDExOTgxNiwgNDY3MywgNjQ4MDQsIDQ2NzgsIDExOTgyMCwgMTE5ODE5LCA2NTA1OSwgNDM4NjAsIDY3MzksIAorICAgIDY2ODQ0LCA1NDgxLCAzNDkwLCAxMTk5LCAxMTk4MTEsIDgzNTYsIDY5OTQ3LCA2NzcwMiwgNDY3NywgMTI2ODgsIDMxMDIsIAorICAgIDAsIDQ2NzIsIDc4MTczLCA3ODE3NSwgNTUzMSwgNjgzNjcsIDQyNTc1LCA3ODE3MCwgNzgxNjYsIDQ2NzQsIDQ1NDgsIAorICAgIDQ0MDA1LCA3MTA4NywgNjg2NTgsIDExOTk0NiwgODAyNSwgNjg2MzAsIDEyNzAyNCwgMTg1NSwgOTgzNDEyLCA2ODY2OSwgCisgICAgOTgzNDEwLCA5MjQ0NSwgMTI3NTU0LCA5ODM0MTcsIDEyNzMzOSwgMTE5NjUyLCAyNzQ1LCAxMTc5NywgOTgzNDE4LCAKKyAgICAxMjgxNTksIDkyMDIsIDQ2NTQsIDY4NDAsIDk4MzQxNCwgNjg2MzgsIDczOTkzLCAxMDUyNSwgNDY0OSwgNjUyMDksIAorICAgIDk4MzQxNiwgMCwgNDY0OCwgNDMwODAsIDk4MzQwNiwgOTgzNDA3LCA5ODM0MDQsIDYyNDYsIDY0OTUwLCA3ODI4LCA0NjUwLCAKKyAgICA2Nzc3LCA2Nzc2LCA2Nzc1LCA0NjUzLCA3ODIyLCA3ODAwNSwgNzQ2MjQsIDQzMTg3LCA4NjY5LCAxMjA2NTksIDY4MjEsIAorICAgIDY1MDkzLCAwLCA3ODg4MSwgMjcxNiwgMCwgOTgzMDYwLCA3MDUwMywgMTk0OTUyLCA2ODM2OSwgMTIwMDU0LCAxMTA2MCwgCisgICAgODU0NywgMjcxMSwgNDIxNjUsIDc4MDI3LCA3ODAyNiwgNjgzNiwgOTgzNDIxLCAwLCA0NjYyLCA3ODAzMywgNzgwMzIsIAorICAgIDkxNDksIDkxNDYsIDU5OSwgMjA4MSwgNzgwMzEsIDc4MDMwLCAxOTQ5NjIsIDQ2NTYsIDEwMTMwLCA2ODQ1MCwgNzgxMSwgCisgICAgNDA5OTQsIDE5NDk2NSwgNjQxNCwgNTk2NywgNDY1OCwgMzcyNSwgNTcxMywgNTgxNCwgNDY2MSwgNDI0MzQsIDk4MzQxMSwgCisgICAgMTI4NzM3LCAxMTE5MCwgNjQ5MDQsIDkwMjYsIDEwODMzLCA3NDg2NCwgNzU0NywgNDg2NywgMTExMDAsIDEwMDA4LCAKKyAgICAxMDIyMiwgMzA1NCwgMTk0OTU2LCA5NzQ0LCA3ODg2MCwgNzYwNSwgNDYyMiwgMTE5NjU2LCA5ODMzOTUsIDk0MDcwLCAKKyAgICA5ODMzOTMsIDY5OTA1LCA2NzE4OCwgOTA0NSwgNzg4ODgsIDQyMjUsIDE5OTI2LCA3ODg4NywgMTI4ODAsIDY1MzA3LCAKKyAgICA0NjE3LCA3ODg4MywgOTgzMzg2LCA0MTczMiwgNDYxNiwgMTA1MTgsIDEwNDIzLCAxMDM1OSwgOTgzMzgwLCA1OTU4LCAwLCAKKyAgICA5ODM0MzMsIDQyMTUsIDk3ODksIDExOTYxOSwgNDMyMSwgNDYyMSwgOTgzMzg5LCA0MTMxMywgNTIyLCA1MzY4LCAxMTEzOSwgCisgICAgNjU4MDMsIDAsIDUzNjYsIDEyMjAxLCA1MzcyLCAwLCA5ODM0MDksIDE5NDk3NSwgNzcyMCwgNzM5MCwgMjY5NiwgOTgzNDAwLCAKKyAgICAwLCA0NjM4LCA5ODM0MDUsIDE3OTAsIDc4MjQyLCA1OTY1LCA2NDM2MywgNjY1NjksIDY4NjQ2LCA2ODQ3NywgNTM3NiwgCisgICAgMTgzNSwgNTMzNSwgMTk0OTY2LCAxMjgwODksIDQ2MzMsIDAsIDY4MTE5LCAxMTgwLCA0NjMyLCA2NzE5MSwgNTM4NywgCisgICAgNTMzMywgMCwgMTI1MTMyLCA0MjA5NCwgNTMzMSwgNDYzNCwgMTE5MjgsIDk4MzU5NCwgNTMzOCwgNDYzNywgMTI4MTcwLCAKKyAgICA1OTcxLCA0MjQxNCwgNDM1MDAsIDEyNjgsIDY1MDk3LCA0MjM2MSwgMCwgMCwgNzM4NTMsIDE0MjcsIDEyODQ0MCwgMCwgCisgICAgNTk3MCwgMzQzMSwgMCwgMTAzNTgsIDEwNDIyLCA0NzU4LCA5ODMzNzQsIDE2MDgsIDI3MzgsIDEyNTA2NiwgMTA0NTUsIAorICAgIDQ3NTMsIDc0MDI2LCAxMTM0NCwgNDIyMiwgNjI0MCwgNTIzMSwgNzQzODQsIDk4MzM3OCwgNjgzNzcsIDYyNDgsIDk4MzM2MiwgCisgICAgMTI4NDMyLCA5ODMzNjAsIDQyMzE4LCA5MjU4MiwgNTIyOSwgNDc1NywgMCwgMCwgMjcyOCwgNDc1MiwgNjQ1NjMsIDY1MjM1LCAKKyAgICA1MjM0LCAwLCAxMjgxNDUsIDEyODkyNiwgMTA3MTMsIDcxNjYsIDAsIDI2MjIsIDc0NjAsIDEyNzMwMiwgNjcxMDEsIAorICAgIDEyNjQ5NSwgODk1NCwgNzQ3NjAsIDY1MTg5LCAyNjMyLCA0MjYxNywgMTAxMDgsIDEwMTEsIDU1NzQsIDE4NTMsIDI3MDksIAorICAgIDY1MTM5LCA1NTc3LCAxMjg5NjYsIDAsIDExODg3MSwgNjg2NDEsIDg5NjUsIDc2MzUsIDQyMTc3LCA1MzE2LCAwLCA1MzE0LCAKKyAgICA2NDUxLCA1NTcyLCA2NjQ2NCwgNTMxMiwgMCwgNTUyNSwgNTMzMCwgNTMxOSwgNjgyOTIsIDEyNzMxMSwgNjUwNjYsIAorICAgIDQ0MDAzLCAxMjA2NTAsIDk4MzQ4MCwgNDM4NDMsIDEyMDQ5OCwgMTI3ODUxLCAxOTUwMDksIDc0ODUxLCA3NDAyMiwgCisgICAgOTgzNDIyLCA2NDYwOSwgNjg2NDMsIDY3NDEwLCAxMjg1OTMsIDU3MjEsIDk4MzQwMSwgNTUxOSwgODYzMiwgNjY0NjUsIAorICAgIDExMjY3LCA3Mzk2MSwgOTIyNzgsIDU3MjAsIDk4MzM1MiwgMTY5MiwgNDIxOSwgNDYxMCwgODY5NiwgNDMwNSwgMCwgNDYwOSwgCisgICAgNDM0NzgsIDQ2MTQsIDU0MSwgOTgzMzU1LCA1Mjg3LCA1MzA5LCA1Mjg1LCA2ODM4OSwgNTk2MSwgNDY0NywgNTYsIDQyMTYsIAorICAgIDEwNTc3LCA0MTM4MSwgNjAxLCA0NjEzLCA5ODMzNDksIDk4MzM0NiwgOTIwOCwgNDYwOCwgNjQyNjAsIDQxMTI0LCA1MTkwLCAKKyAgICA2NzYyOCwgNjY4MjYsIDY4MTQ1LCA3MDg2LCAwLCA2Nzk5OCwgNjc2MjAsIDkzMDQ3LCAyNzM0LCAxMTA3NCwgMCwgNjc2MjcsIAorICAgIDQzNTkzLCAwLCA2NzYyNSwgNTk2MCwgNjc3MjIsIDg5OTIsIDQyNTkzLCAxMjgyNjAsIDE3ODIsIDY3NjIyLCA2ODExNCwgCiAgICAgMTE5OTM5LCAwLCA2ODE4MCwgNTUwMSwgMTE5OTUyLCA0MjUwOCwgNzQ0MiwgNDM2NjUsIDM1OSwgNDEyNTMsIDY4MzkyLCAKLSAgICA2MjM5LCAxMTk5NTYsIDQxMjU2LCAwLCA2ODEzNCwgMCwgNzQyMDksIDkxNzU1MCwgOTM0NiwgNjk2NjAsIDQxMjU0LCAKKyAgICA2MjM5LCAxMTk5NTYsIDQxMjU2LCA3NDEzMiwgNjc3NDAsIDAsIDcxMTc4LCA5MTc1NTAsIDkzNDYsIDY5NjYwLCA0MTI1NCwgCiAgICAgMTI4MDQ3LCA0MzI5MSwgMzc2NywgNTczNywgMCwgNDg2NSwgMCwgNTc0MCwgOTE3OTk3LCA1NzM2LCA0MzY4LCA2NDcyNCwgCi0gICAgNzE5MywgNjgxMzcsIDAsIDU3MzksIDQxMDI0LCA0ODY2LCAwLCA3MzkwNCwgOTgzODQwLCA0ODY5LCAxMjA1NjMsIDAsIAotICAgIDQyMjMsIDEyODIwMSwgNjY1MCwgMTI2NTA5LCAwLCA5ODM0NjMsIDEyNzg5MCwgNDg3MCwgMTIwNDQ1LCA2ODY2MSwgNjcxNiwgCi0gICAgNzgxNzYsIDY4NjY3LCA2ODM4MiwgNjg2NzYsIDEyNzkyNSwgMTAxMjIsIDQ4NjQsIDY2NTY4LCA0MTQ0LCA3OTM3LCAwLCAKLSAgICA2MjQ1LCA2ODY1MiwgMjczMiwgNDI3MzQsIDc0NSwgMCwgMTk1MDk3LCA5MjE5NSwgNDc3NywgNzgyMSwgMCwgNjg2MzEsIAotICAgIDQyNzc1LCAwLCAxOTQ5NTQsIDAsIDMwOTcsIDAsIDU5NjYsIDk4MzQ4NiwgNDc3OCwgMCwgMTA4NjMsIDAsIDQ3ODEsIDAsIAotICAgIDY0NDA3LCAwLCAxMjgzMjMsIDg1NzcsIDEyODU2MiwgNjgxOTYsIDQzMjg1LCAxMDIxNiwgNDc4MiwgMCwgMCwgMTIwNzU3LCAKLSAgICA2ODYxOCwgMTIzMjUsIDQzMDU2LCA4NzE3LCAwLCAwLCA0Nzc2LCA3MzgxOCwgMTE0OTIsIDg3MDAsIDAsIDEzMTc2LCAKLSAgICA2ODM2MywgMTA0MjYsIDAsIDkxNzU5OSwgMTAzNjIsIDE5NDcwNiwgMTcxNSwgNDg0OSwgODI0MiwgOTU2MSwgNzM5MjIsIAotICAgIDQzMjc4LCA0MjYzNSwgMCwgMCwgNTk2MywgOTE3OTI2LCAwLCAwLCA0ODUwLCAwLCAxNjA3LCA0NjYsIDQ4NTMsIDExODk5NSwgCi0gICAgNDg1NCwgMTI3OTE4LCA1MTY0LCA5ODM4NzAsIDEzNTAsIDUxMjQsIDY0NDIwLCAxOTkzLCA1MzYyLCA4NDcxLCAyNzA4LCAKLSAgICA5MjQ3MSwgMTI0NDUsIDM3ODUsIDIzNCwgMzE5OSwgMCwgNDEyNjgsIDQ4NDgsIDI1MzAsIDkxNzkwOSwgMjA2OCwgMTk2NCwgCi0gICAgMCwgNzM3NjIsIDEwNDU4LCAwLCA4NTc2LCA3ODU0MywgMCwgMjcwNCwgNDc5NCwgMCwgNjgyMTEsIDgzMjIsIDQ3OTcsIAotICAgIDU3NTMsIDAsIDI2OTQsIDQ3OTIsIDAsIDI0MzksIDY1MTA0LCA2OTgwNCwgOTgzNDI0LCAzMDMsIDk4MzEwMSwgOTI2MjIsIAotICAgIDk4MzQyNSwgMjQzNywgMCwgNDIyMSwgNDg0NCwgOTIyMTYsIDAsIDAsIDAsIDcwMDQyLCAwLCA0MzI5MiwgMCwgMjQ0MSwgCi0gICAgMTA3MzksIDY1MDkwLCAwLCAxMTkzMjcsIDEyNjU0MSwgMjQ1MSwgMjcxNCwgMTE5MzI2LCAwLCA0MzM3OSwgNDkzNywgCi0gICAgNDMzNzYsIDc1MywgNTg0OSwgMTA1OTcsIDQzMDg5LCAxMTcyMiwgOTI0OCwgOTI1NTUsIDQyODc5LCAxMTcyNSwgMCwgMCwgCi0gICAgMjcyNiwgMzEwNywgNzM5NTgsIDQ5NDEsIDY0OTM3LCAxMTkyMzMsIDkxNDAsIDE0MDgsIDUyNjEsIDQ2MDcsIDAsIDE4MSwgCi0gICAgOTgzNDMwLCA0OTQyLCA5NTM5LCA0OTM4LCAwLCA2NTIwMSwgNTI1OSwgOTM2OSwgNjQxODUsIDQxNDIsIDUyNTcsIAotICAgIDk4MzYwMSwgMCwgNDk2NCwgNTI2NCwgNjQxNzgsIDY0MTc3LCAxMjk3OSwgNDE0MTEsIDY0MTgyLCA2NDE4MSwgNjQxODAsIAotICAgIDY0MTc5LCA5NDgyLCA0ODczLCA0MTIzMSwgMTgyMiwgNDI1MjYsIDEyODU4MSwgMTI3NTgsIDM4NjUsIDAsIDAsIDEwNTAwLCAKLSAgICAwLCAxMTkwMjQsIDc4MDI4LCA5MjQwOCwgOTgzMCwgNDM2NDIsIDM4OSwgMTA4OTMsIDc1MjEsIDEyNzg3OSwgNDg3MiwgCi0gICAgNTQ2MywgMCwgMzEyNSwgOTU2NywgMCwgNDg3OCwgNTQ1OSwgNDYwNCwgOTE3OTMxLCA5NTU3LCA1NDY1LCA2ODYxNywgMCwgCi0gICAgMTE0OTQsIDEyNjQ5MiwgOTU2MywgMTA4NjUsIDc0NTcwLCA0MzI3OSwgNjQxODYsIDk4MzQzOSwgNzg3MTQsIDY0MTkxLCAKLSAgICA2NDE5MCwgODg5OCwgNjQxODgsIDAsIDQxMDMwLCA3ODgzNiwgMCwgOTE3ODM1LCA3ODgyMCwgOTE3ODM0LCAwLCA3ODgwNSwgCisgICAgNzE5MywgNjcwOTcsIDEyODg0NCwgNTczOSwgNDEwMjQsIDQ4NjYsIDAsIDczOTA0LCA5ODM4NDAsIDQ4NjksIDEyMDU2MywgCisgICAgMCwgNDIyMywgMTI4MjAxLCA2NjUwLCAxMjY1MDksIDAsIDk4MzQ2MywgMTI3ODkwLCA0ODcwLCAxMjA0NDUsIDY4NjYxLCAKKyAgICA2NzE2LCA3ODE3NiwgNjg2NjcsIDY4MzgyLCA2ODY3NiwgMTI3OTI1LCAxMDEyMiwgNDg2NCwgNjY1NjgsIDQxNDQsIDc5MzcsIAorICAgIDAsIDYyNDUsIDY4NjUyLCAyNzMyLCA0MjczNCwgNzQ1LCAwLCAxOTUwOTcsIDkyMTk1LCA0Nzc3LCA3ODIxLCAxMjkxMzYsIAorICAgIDY4NjMxLCA0Mjc3NSwgMCwgMTI4NDQ1LCAwLCAzMDk3LCAwLCA1OTY2LCA5ODM0ODYsIDQ3NzgsIDAsIDEwODYzLCAwLCAKKyAgICA0NzgxLCA5Mjk4NiwgNjQ0MDcsIDEyODUwMywgMTI4MzIzLCA4NTc3LCA3MTIyMSwgNjgxOTYsIDQzMjg1LCAxMDIxNiwgCisgICAgNDc4MiwgMCwgMCwgMTIwNzU3LCA2ODYxOCwgMTIzMjUsIDQzMDU2LCA4NzE3LCAwLCAwLCA0Nzc2LCA3MzgxOCwgMTE0OTIsIAorICAgIDg3MDAsIDk4Mzk1NSwgMTMxNzYsIDY4MzYzLCAxMDQyNiwgNjcyNDcsIDcxMDkxLCAxMDM2MiwgMTk0NzA2LCAxNzE1LCAKKyAgICA0ODQ5LCA4MjQyLCA5NTYxLCA3MzkyMiwgNDMyNzgsIDQyNjM1LCAwLCAxMjcyMDcsIDU5NjMsIDkxNzkyNiwgOTgzNDgxLCAKKyAgICAwLCA0ODUwLCA3MzkwMCwgMTYwNywgNDY2LCA0ODUzLCAxMTg5OTUsIDQ4NTQsIDEyNzkxOCwgNTE2NCwgNzM4MDcsIDEzNTAsIAorICAgIDUxMjQsIDY0NDIwLCAxOTkzLCA1MzYyLCA4NDcxLCAyNzA4LCA5MjQ3MSwgMTI0NDUsIDM3ODUsIDIzNCwgMzE5OSwgCisgICAgMTI4NzY4LCA0MTI2OCwgNDg0OCwgMjUzMCwgMTk0NzExLCAyMDY4LCAxOTY0LCAwLCA3Mzc2MiwgMTA0NTgsIDk4MzQxNSwgCisgICAgODU3NiwgNzg1NDMsIDAsIDI3MDQsIDQ3OTQsIDAsIDY4MjExLCA4MzIyLCA0Nzk3LCA1NzUzLCAwLCAyNjk0LCA0NzkyLCAwLCAKKyAgICAyNDM5LCA2NTEwNCwgNjk4MDQsIDk4MzQyNCwgMzAzLCA3NDYyNSwgNjgyMjksIDk4MzQyNSwgMjQzNywgNzg2NTksIDQyMjEsIAorICAgIDQ4NDQsIDkyMjE2LCAwLCAwLCAwLCA3MDA0MiwgNzQwOTUsIDQzMjkyLCAwLCAyNDQxLCAxMDczOSwgNjUwOTAsIDAsIAorICAgIDcwNDM2LCAxMTg5MjksIDI0NTEsIDI3MTQsIDExOTMyNiwgMCwgNDMzNzksIDQ5MzcsIDQzMzc2LCA3NTMsIDU4NDksIAorICAgIDEwNTk3LCA0MzA4OSwgMTE3MjIsIDkyNDgsIDkyNTU1LCA0Mjg3OSwgMTE3MjUsIDAsIDAsIDI3MjYsIDMxMDcsIDczOTU4LCAKKyAgICA0OTQxLCA2NDkzNywgMTE5MjMzLCA5MTQwLCAxNDA4LCA1MjYxLCA0NjA3LCAwLCAxODEsIDk4MzQzMCwgNDk0MiwgOTUzOSwgCisgICAgNDkzOCwgMCwgNjUyMDEsIDUyNTksIDkzNjksIDY0MTg1LCA0MTQyLCA1MjU3LCA5ODM2MDEsIDY4NDQsIDQ5NjQsIDUyNjQsIAorICAgIDY0MTc4LCA2NDE3NywgMTI5NzksIDQxNDExLCA2NDE4MiwgNjQxODEsIDY0MTgwLCA2NDE3OSwgOTQ4MiwgNDg3MywgCisgICAgNDEyMzEsIDE4MjIsIDQyNTI2LCAxMjc5ODksIDEyNzU4LCAzODY1LCAwLCAxMjg0NzMsIDEwNTAwLCAwLCAxMTkwMjQsIAorICAgIDc4MDI4LCA5MjQwOCwgOTgzMCwgNDM2NDIsIDM4OSwgMTA4OTMsIDc1MjEsIDEyNzg3OSwgNDg3MiwgNTQ2MywgMTI4MTE5LCAKKyAgICAzMTI1LCA5NTY3LCAwLCA0ODc4LCA1NDU5LCA0NjA0LCA5MTc5MzEsIDk1NTcsIDU0NjUsIDY4NjE3LCAwLCAxMTQ5NCwgCisgICAgMTI2NDkyLCA5NTYzLCAxMDg2NSwgNzQ1NzAsIDQzMjc5LCA2NDE4NiwgNjg1MjEsIDc4NzE0LCA2NDE5MSwgNjQxOTAsIAorICAgIDg4OTgsIDY0MTg4LCAxMjkxNTMsIDQxMDMwLCA3NDIyNiwgMCwgNzQ2MDAsIDc4ODIwLCA5MTc4MzQsIDAsIDc4ODA1LCAKICAgICA0MTAzMSwgNzg4MDEsIDExOTYwLCA2NzQ1LCAzMDgyLCA5ODM0MzcsIDc4NTM5LCA3MzkxOSwgMTA1NzMsIDQxNzQ0LCAKLSAgICA3MDc5LCA1ODU2LCAxMjcwNDMsIDUxNjMsIDc4ODA5LCAxMjgxNjIsIDE4MTcsIDY2NzI0LCA3ODUzOCwgMCwgMTA1NjQsIAotICAgIDc3NjMsIDEzMDc3LCA0MTgxMywgNDQwMCwgNDE3NDUsIDY0MjA3LCAxMDI3NSwgODkyNSwgMTAzNzEsIDEwMzA3LCA0MTgxNCwgCi0gICAgNDI0OCwgMCwgMCwgNDU0MSwgNjI5OSwgNjQyMDQsIDY0MjAzLCA2NDIwMSwgNjQyMDAsIDY0MTk5LCA2NDE5OCwgMTI2NDcxLCAKLSAgICA0MjE1NiwgNzg2ODgsIDAsIDY0MTkzLCA2NDE5MiwgNjUyMjMsIDk5NDMsIDY0MTk3LCA2NDE5NiwgNjQxOTUsIDY0MTk0LCAKLSAgICAxMzI4MiwgNjQxNzUsIDY0MTc0LCA2NDE3MywgNzgxODksIDg0NiwgNzgxODYsIDk5NjUsIDAsIDAsIDAsIDAsIDI1NDMsIAotICAgIDEyMTYzLCAzMTA4LCA5NzQ1LCA2NDE2NywgNjQxNjYsIDY0MTY1LCA2NDE2NCwgMjExMCwgOTIxNzYsIDY0MTY5LCA2NDE2OCwgCi0gICAgNjQ5NDksIDEwOTcyLCAxMDI1MSwgMTAyNDcsIDQyNzY4LCA3MTUsIDIyOTUsIDQzMjk5LCA5NDUzLCA1MzQ4LCAxMDk0MywgCi0gICAgMTIwMzc4LCAwLCAxMTM1MiwgNTUwLCA5OTEwLCAxMjY3MDUsIDAsIDY2NTc5LCAxMTU1MSwgMCwgMTk1MDgwLCA5NTA0LCAKLSAgICA3MTg3LCAwLCAxMDM3MywgMCwgMTIwNzkxLCAxMDI2MSwgMTAyNTMsIDY0MDQsIDEwMjc3LCA3ODE4MywgMTE5ODQsIDE1NTIsIAotICAgIDY1MjIyLCA2OTk4LCA3ODE4MCwgMCwgMzEyOCwgNDc4OSwgNTA2NywgNTA2NiwgMTE4ODQ5LCA0Nzg0LCAwLCA4ODI3LCAKLSAgICAxMTQ2LCA1MDY1LCA2OTg5MCwgNzgxOTIsIDY4MTM2LCA3ODE5MCwgNDM0MTIsIDUwNjQsIDI0MzEsIDAsIDk0NTAsIDE4MDksIAotICAgIDAsIDc4MjAwLCA3ODIwMSwgNTA2MiwgMTI2NCwgNjQ4MTcsIDEzMjU0LCAxMTY5NywgMTI2NTk4LCA5Nzg1LCA2NDcxNiwgMCwgCi0gICAgMzkzMywgNzQ1NTksIDQ3NDAsIDc5NTQsIDAsIDAsIDQyNjA5LCAwLCA3NDE3NSwgMCwgMTI3MDE2LCAwLCA5ODM4NzMsIAotICAgIDQyMTMwLCAwLCA1MTUxLCA5MTc4MjksIDkxNzgyMywgMCwgOTM5ODAsIDAsIDc2MjAsIDM4MDAsIDY1MTIyLCAwLCAwLCAKLSAgICA4MzU1LCA3ODU0LCAwLCA5NTQsIDY0OTI3LCA0MTg1LCA0MTA0NSwgMTI3MTQxLCA0MTQzOCwgNDE0MzksIDY4NjY2LCAKLSAgICAxMDcxMSwgNDU5MywgMTI3NzQ1LCAxMjA1ODQsIDk4MzQwOCwgNjQ3NzQsIDgwNTMsIDEwNTMyLCA2NjcyNywgMCwgMCwgMCwgCi0gICAgNjQ3NTksIDYzODEsIDUxNjYsIDk4ODgsIDEyNzgwMCwgNTE0OCwgNDI4MzQsIDAsIDc4MjA1LCA3ODIwNiwgNDM3ODcsIAotICAgIDc4MjA0LCA2NDEzMSwgMzExOSwgOTE3ODE0LCAwLCAzMDYwLCA2NDEzNSwgOTk4NiwgMCwgNzc4NzYsIDYzNiwgMTE2OTgsIAotICAgIDAsIDk4MzQ1MSwgOTkxNiwgMTE3MDEsIDc4MzYsIDQyNzQxLCA2NDEzNywgODMyMCwgNzg2NDAsIDg4NjMsIDkyNDMxLCAKLSAgICAxMTk5NjAsIDE0NzcsIDQzMjg5LCAwLCA3NDM1OCwgODYxOCwgOTgzNDAyLCA5OTA4LCA5ODM5ODEsIDAsIDAsIDM5MzcsIAotICAgIDEyMzEyLCAwLCA5ODM0MDMsIDAsIDY0NzgxLCA5MTIsIDYzNDksIDQ1MzYsIDkzOTU0LCA3NDUzMiwgMTI2NTk0LCA2MjQ0LCAKLSAgICA5MjIwOSwgNzEzNDEsIDM5MzUsIDEyMDY2NSwgOTgzNDc2LCAwLCAxMTk1MCwgNTM5MiwgNDIyNDgsIDY1MTI5LCA2ODY1NiwgCi0gICAgNTM5NywgMCwgMTIwNDYsIDEyNTk5LCAwLCAxMjgyNjEsIDUzOTUsIDAsIDUzOTMsIDM1NCwgNjg2MTUsIDExOTk0OCwgCi0gICAgNzg1MDMsIDAsIDAsIDQyMDM5LCAwLCAwLCA2NDE0MiwgNjI2LCAwLCA1ODk1LCAwLCAwLCA1NzgwLCAwLCAwLCAxMjg4NzQsIAotICAgIDAsIDAsIDQzMjk3LCA5ODMwNzksIDQzMTEsIDQ2NDQsIDg4MTgsIDAsIDEyODE4NiwgMCwgNzE0NSwgMzkxOCwgNjY0NTIsIAotICAgIDM3OTcsIDE2NDQsIDkyMzQ2LCA5NjU4LCA0MTQwLCAxMTM4NSwgNjU5NDcsIDY0NTUsIDkwMzAsIDgxMywgMTE5OTQ1LCAKLSAgICA2ODEzMSwgNDE0NiwgMTE5OTU3LCA1MzYwLCAyNDY2LCAwLCA2NzY2OSwgMTE5OTQyLCA2MjQ5LCA0MjExNywgOTIyODcsIAotICAgIDEyODIyNCwgMCwgMCwgNzQwNDYsIDQzNzQ1LCA0OTExLCA5ODgsIDkxNzgwNywgMCwgOTgzNDY4LCA0MzA2MSwgNzA1NCwgCi0gICAgNjQxNDcsIDAsIDY0OTIwLCA2ODE5NSwgNjY5OCwgMTE4OTMzLCA5MjUwNiwgMCwgMTIwMDA2LCAxMTk4MSwgMTIyMDIsIDAsIAotICAgIDExMDMyLCA2NzY1NCwgNjA5MywgMTE2MDgsIDk3NSwgNjg2NjIsIDY1ODQzLCAxNzAsIDAsIDAsIDQxNjksIDAsIDQxODU5LCAKLSAgICA2MDU4LCAxMjA0MDEsIDEzMjAzLCAxMjA2NTcsIDAsIDAsIDY4NjU3LCA5ODE4LCAxMDE3OCwgMTAzMjQsIDQyMTA2LCAKLSAgICA1ODk4LCA3NDU0MCwgNDczOCwgNDE4NTYsIDcwNjIsIDkxNzg2NSwgNDczNywgMTE3NzksIDQ3NDIsIDEyMDU2NCwgOTIzOTEsIAotICAgIDczNzM2LCA5ODMzNjQsIDk4MjUsIDY0NDgsIDY3MTUsIDEyNzAwOCwgNDgzMSwgMCwgOTI1MjUsIDAsIDUzMDAsIDQ3NDEsIAotICAgIDQyMTA4LCA5ODMzNTQsIDY0MTU5LCA0NzM2LCA2NDE0OCwgMCwgODQ5LCA5MjE5MSwgNzg0OTEsIDQzMjg4LCAwLCA2NjYyMCwgCi0gICAgOTE3OTE2LCAxMjczMzEsIDY1NTQ5LCA5NDk2LCA2NDU5OCwgMTE4ODY2LCA5ODMzNjYsIDc4NzYsIDY4MTMyLCA5MTc4NzIsIAotICAgIDM5MjgsIDkxNzg3MCwgNDMzNzgsIDEwNzA2LCA3MTk4LCAwLCA0ODQyLCAxMjA1MywgMTI4MTI5LCAwLCA0ODQxLCAwLCAKLSAgICA0MTcxLCAxMjAwOCwgNjI1MSwgMzkyMywgMTQ5MCwgMCwgMTE5NTkxLCAxMjY1MTIsIDQwOTcyLCA1MjQ1LCAwLCAxMDExNCwgCi0gICAgNDIwMDEsIDQxODg4LCA0ODQ1LCA4MzMyLCA0MDk3NCwgNjQzNDcsIDQ4NDAsIDkwNzcsIDc4MzQ2LCAxNzQ3LCA5MTc4NDksIAotICAgIDQ4MjUsIDY5MjQwLCA5MTc4NTIsIDY4NjU1LCAwLCA5ODMzODgsIDAsIDAsIDY4NjI4LCA5ODMzNDcsIDk4NTAsIDExODkzNywgCi0gICAgMzY3LCAxNDcyLCA5MTc4NTksIDY2ODcsIDEyNzQsIDAsIDU5MDUsIDEyMzM5LCA4OTE5LCA3Mzk1MywgMTA5MDcsIDY1MjYxLCAKLSAgICAxMTAyMywgMTE5NTU5LCA0ODMwLCA5MTM0LCA3ODY2NiwgNjQxMjYsIDQzMDExLCAwLCAxMjY2MjYsIDY0MTAxLCAwLCAwLCAKLSAgICA0ODI0LCAxMDYxNCwgMTE5NjU5LCAwLCAxODg4LCAxOTYwLCA3ODYxLCA5MTc4NTYsIDc4NTI0LCA0MTgzNiwgNDMwMTIsIAotICAgIDYwNTIsIDYwNjQsIDU0LCA0MzAwOSwgMTIyMTQsIDAsIDYyMTEsIDAsIDM1OCwgNDE5OTcsIDQxODMzLCAxMTQ0MiwgCi0gICAgMTA3NTgsIDY1Nzc0LCAwLCAxMjAzODQsIDY0MTE1LCA5MjIyMSwgNzAwMTgsIDAsIDAsIDExOTA1MywgMCwgMTI3NjUsIAotICAgIDY0MTE4LCAxMjY5OTgsIDEyOTYyLCAwLCAxMjY1ODAsIDQwMTcsIDEyODI3LCA1MjQxLCAxMjAzOTIsIDAsIDQxMTE4LCAKLSAgICAzOTI0LCAwLCAxMTM2NiwgOTE3ODQzLCAwLCAwLCA5MTc4NDYsIDQxMTE2LCA5MTc4NDQsIDkxNzU2NCwgMCwgMTEzNjMsIAotICAgIDEyMDU3LCAxMTkxNywgMTU2NywgNzQwMDAsIDQ3MjEsIDEyNjY0MSwgNjYyMDIsIDg5NTcsIDQxMzksIDAsIDAsIDAsIDAsIAotICAgIDAsIDEyNzQwLCAxMjg3MDIsIDQ3MjIsIDY4MTYsIDEyNzc5MywgMTI3NTksIDQ3MjUsIDk4MzM4MywgNDcyNiwgMCwgCi0gICAgMTk0ODkyLCA5ODM2MjIsIDEyODMyMSwgOTE3OTA1LCAwLCAxMjc1NSwgMTI3NjIsIDQwMTUsIDAsIDgwNTIsIDQ3NiwgMCwgCi0gICAgMCwgMTI4Mjk0LCA2NDIxMiwgNDEwMjAsIDEzODIsIDY0MjA5LCA2NDIxNiwgNDQwMDIsIDY0MjE0LCAxNjU2LCA0MTgzMSwgCi0gICAgMCwgMCwgNDE4NDMsIDg3MjAsIDM5MDgsIDE0NTIsIDEzMTExLCAwLCA2NDA2NywgMTI3MzI4LCA4NTUyLCA2NDExMywgCi0gICAgNDE4NDUsIDM4NDksIDc4NzMyLCA2NjIzMiwgOTc3OCwgMTIwMDY2LCA1ODkxLCA3MDY0LCA1NSwgOTk0OCwgMTE5MDg1LCAwLCAKLSAgICAwLCA3OTM1LCAyNDIwLCAwLCAxMTE0LCA5MjU5OSwgNjc1ODUsIDcwMTA0LCAxMjAwNTMsIDkyMzUwLCAxMjAwNTEsIDM5MzgsIAotICAgIDEyMDA1NywgNjU0MTcsIDY0NzE3LCAxMjAwNjAsIDEyMDA2MSwgNjU0MTUsIDEyMDA1OSwgNjI5MiwgNjUzMDMsIDc5NTUsIAotICAgIDY0NTIsIDQ3MTMsIDEyODE5NiwgNjYyNDksIDkxNzg4NSwgOTE3ODkwLCA5MTc4OTEsIDY1MTUyLCA3MTksIDEyMDA0NCwgCisgICAgNzA3OSwgNTg1NiwgMTI3MDQzLCA1MTYzLCA3ODgwOSwgMTI4MTYyLCAxODE3LCA2NjcyNCwgNzg1MzgsIDExOTAxMCwgCisgICAgMTA1NjQsIDc3NjMsIDEzMDc3LCA0MTgxMywgNDQwMCwgNDE3NDUsIDY0MjA3LCAxMDI3NSwgODkyNSwgMTAzNzEsIDEwMzA3LCAKKyAgICA0MTgxNCwgNDI0OCwgMCwgMCwgNDU0MSwgNjI5OSwgNjQyMDQsIDY0MjAzLCA2NDIwMSwgNjQyMDAsIDY0MTk5LCA2NDE5OCwgCisgICAgMTI2NDcxLCA0MjE1NiwgNzg2ODgsIDAsIDY0MTkzLCA2NDE5MiwgNjUyMjMsIDk5NDMsIDY0MTk3LCA2NDE5NiwgNjQxOTUsIAorICAgIDY0MTk0LCAxMjIzMSwgNDI2NTIsIDY0MTc0LCA2NDE3MywgNzgxODksIDg0NiwgNzgxODYsIDk5NjUsIDc0NDk1LCAwLCAKKyAgICA5MTc5MjQsIDAsIDI1NDMsIDEyMTYzLCAzMTA4LCA5NzQ1LCA2NDE2NywgNjQxNjYsIDY0MTY1LCA2NDE2NCwgMjExMCwgCisgICAgOTIxNzYsIDY0MTY5LCA2NDE2OCwgNjQ5NDksIDEwOTcyLCAxMDI1MSwgMTAyNDcsIDQyNzY4LCA3MTUsIDIyOTUsIDQzMjk5LCAKKyAgICA5NDUzLCA1MzQ4LCAxMDk0MywgNjYzOTAsIDAsIDExMzUyLCA1NTAsIDk5MTAsIDEyNTEyNywgMCwgNjY1NzksIDExNTUxLCAKKyAgICAxMjg0NjQsIDE5NTA4MCwgOTUwNCwgNzE4NywgMCwgMTAzNzMsIDAsIDEyMDc5MSwgMTAyNjEsIDEwMjUzLCA2NDA0LCAKKyAgICAxMDI3NywgNzgxODMsIDExOTg0LCAxNTUyLCA2NTIyMiwgNjk5OCwgNzgxODAsIDAsIDMxMjgsIDQ3ODksIDUwNjcsIDUwNjYsIAorICAgIDExODg0OSwgNDc4NCwgMCwgODgyNywgMTE0NiwgNTA2NSwgNjk4OTAsIDc4MTkyLCA2ODEzNiwgNzgxOTAsIDQzNDEyLCAKKyAgICA1MDY0LCAyNDMxLCAwLCA5NDUwLCAxODA5LCAwLCA3ODIwMCwgNzgyMDEsIDUwNjIsIDEyNjQsIDY0ODE3LCAxMzI1NCwgCisgICAgMTE2OTcsIDEyNjU5OCwgOTc4NSwgNjQ3MTYsIDAsIDM5MzMsIDc0NTU5LCA0NzQwLCA3OTU0LCAwLCAxMjUwMjMsIDQyNjA5LCAKKyAgICAxMjgzODgsIDc0MTc1LCA2NjkxMiwgMTI3MDE2LCAwLCA5ODM4NzMsIDQyMTMwLCA5ODMyMjMsIDUxNTEsIDkxNzgyOSwgCisgICAgOTE3ODIzLCAwLCA5Mzk4MCwgMCwgNzYyMCwgMzgwMCwgNjUxMjIsIDAsIDEyNzc5MiwgODM1NSwgNzg1NCwgMCwgOTU0LCAKKyAgICA2NDkyNywgNDE4NSwgNDEwNDUsIDEyNzE0MSwgNDE0MzgsIDQxNDM5LCA2ODY2NiwgMTA3MTEsIDQ1OTMsIDEyNzc0NSwgCisgICAgMTIwNTg0LCA5ODM0MDgsIDY0Nzc0LCA4MDUzLCAxMDUzMiwgNjY3MjcsIDAsIDAsIDc4NjQyLCA2NDc1OSwgMTMyNSwgCisgICAgNTE2NiwgOTg4OCwgMTI3ODAwLCA1MTQ4LCA0MjgzNCwgMCwgNzgyMDUsIDc4MjA2LCA0Mzc4NywgNzgyMDQsIDY0MTMxLCAKKyAgICAzMTE5LCA5MTc4MTQsIDAsIDMwNjAsIDY0MTM1LCA5OTg2LCAwLCA3Nzg3NiwgNjM2LCAxMTY5OCwgMCwgOTE3ODEwLCAKKyAgICA5OTE2LCAxMTcwMSwgNzgzNiwgNDI3NDEsIDY0MTM3LCA4MzIwLCA3ODY0MCwgODg2MywgNzAyMDEsIDExOTk2MCwgMTQ3NywgCisgICAgNDMyODksIDY4NDkyLCA2NzE2NCwgODYxOCwgOTgzNDAyLCA5OTA4LCA5ODM5ODEsIDAsIDAsIDM5MzcsIDEyMzEyLCAwLCAKKyAgICA5ODM0MDMsIDAsIDY0NzgxLCA5MTIsIDYzNDksIDQ1MzYsIDkzOTU0LCA3NDUzMiwgMTI2NTk0LCA2MjQ0LCA5MjIwOSwgCisgICAgNzEzNDEsIDM5MzUsIDEyMDY2NSwgOTgzNDc2LCAwLCAxMTk1MCwgNTM5MiwgNDIyNDgsIDY1MTI5LCA2ODY1NiwgNTM5NywgCisgICAgMTI4MzEwLCAxMjA0NiwgMTI1OTksIDY3NDA3LCAxMjgyNjEsIDUzOTUsIDAsIDUzOTMsIDM1NCwgNjg2MTUsIDc3ODUzLCAKKyAgICA3NDM2NiwgMCwgMCwgNDIwMzksIDExMzgxNywgMCwgNjQxNDIsIDYyNiwgMCwgNTg5NSwgMCwgMCwgNTc4MCwgMCwgNjY0MDcsIAorICAgIDEyODg3NCwgMCwgMCwgNDMyOTcsIDcwMTg4LCA0MzExLCA0NjQ0LCA4ODE4LCA3ODE1OCwgMTI4MTg2LCAwLCA3MTQ1LCAKKyAgICAzOTE4LCA2NjQ1MiwgMzc5NywgMTY0NCwgOTIzNDYsIDk2NTgsIDQxNDAsIDExMzg1LCA2NTk0NywgNjQ1NSwgOTAzMCwgCisgICAgODEzLCAxMTk5NDUsIDY4MTMxLCA0MTQ2LCAxMTk5NTcsIDUzNjAsIDI0NjYsIDAsIDY3NjY5LCAxMTk5NDIsIDYyNDksIAorICAgIDQyMTE3LCA5MjI4NywgOTIyMDYsIDAsIDExOTI1NSwgNzQwNDYsIDQzNzQ1LCA0OTExLCA5ODgsIDcxMTgwLCAwLCAKKyAgICA5ODM0NjgsIDQzMDYxLCA3MDU0LCA2NDE0NywgMCwgNjQ5MjAsIDY4MTk1LCA2Njk4LCAxMTg5MzMsIDkyNTA2LCAwLCAKKyAgICA3MDg0OSwgMTE5ODEsIDEyMjAyLCAwLCAxMTAzMiwgNjc2NTQsIDYwOTMsIDExNjA4LCA5NzUsIDY2NDE1LCA2NTg0MywgCisgICAgMTcwLCAwLCA2NzIzOSwgNDE2OSwgMCwgNDE4NTksIDYwNTgsIDEyMDQwMSwgMTMyMDMsIDEyMDY1NywgNzA1MDcsIAorICAgIDEyNTA5MSwgNjg2NTcsIDk4MTgsIDEwMTc4LCAxMDMyNCwgNDIxMDYsIDU4OTgsIDc0NTQwLCA0NzM4LCA0MTg1NiwgNzA2MiwgCisgICAgMTI3MTIwLCA0NzM3LCAxMTc3OSwgNDc0MiwgMTIwNTY0LCA5MjM5MSwgNjgzNDIsIDk4MzM2NCwgOTgyNSwgNjQ0OCwgCisgICAgNjcxNSwgMTI3MDA4LCA0ODMxLCA5ODMzNjMsIDkyNTI1LCA2NzczMSwgNTMwMCwgNDc0MSwgNDIxMDgsIDk4MzM1NCwgCisgICAgNjQxNTksIDQ3MzYsIDY0MTQ4LCAwLCA4NDksIDkyMTkxLCA3ODQ5MSwgNDMyODgsIDAsIDY2NjIwLCAxMjc1MzMsIAorICAgIDEyNzMzMSwgNjU1NDksIDk0OTYsIDY0NTk4LCAxMTg4NjYsIDk4MzM2NiwgNzg3NiwgNjgxMzIsIDY2MjgwLCAzOTI4LCAKKyAgICA5MTc4NzAsIDQzMzc4LCAxMDcwNiwgNzE5OCwgMCwgNDg0MiwgMTIwNTMsIDEyODEyOSwgMTI3MzAzLCA0ODQxLCAwLCAKKyAgICA0MTcxLCAxMjAwOCwgNjI1MSwgMzkyMywgMTQ5MCwgMCwgMTE5NTkxLCAxMjY1MTIsIDQwOTcyLCA1MjQ1LCA3MDc5NCwgCisgICAgMTAxMTQsIDQyMDAxLCA0MTg4OCwgNDg0NSwgODMzMiwgNDA5NzQsIDY0MzQ3LCA0ODQwLCA5MDc3LCA3ODM0NiwgMTc0NywgCisgICAgOTE3ODQ5LCA0ODI1LCA2OTI0MCwgOTE3ODUyLCA2ODY1NSwgMCwgOTgzMzg4LCAwLCAwLCA2ODYyOCwgOTgzMzQ3LCA5ODUwLCAKKyAgICAxMTg5MzcsIDM2NywgMTQ3MiwgOTE3ODU5LCA2Njg3LCAxMjc0LCAwLCA1OTA1LCAxMjMzOSwgODkxOSwgNzM5NTMsIAorICAgIDEwOTA3LCA2NTI2MSwgMTEwMjMsIDExOTU1OSwgNDgzMCwgOTEzNCwgNzg2NjYsIDY0MTI2LCA0MzAxMSwgMCwgNzg2NjksIAorICAgIDY0MTAxLCAwLCAwLCA0ODI0LCAxMDYxNCwgMTE5NjU5LCAwLCAxODg4LCAxOTYwLCA3ODYxLCA5MTc4NTYsIDc4NTI0LCAKKyAgICA0MTgzNiwgNDMwMTIsIDYwNTIsIDYwNjQsIDU0LCA0MzAwOSwgMTIyMTQsIDAsIDYyMTEsIDEyMDM4NiwgMzU4LCA0MTk5NywgCisgICAgNDE4MzMsIDExNDQyLCAxMDc1OCwgNjU3NzQsIDExMzgyMywgMTIwMzg0LCA2NDExNSwgOTIyMjEsIDcwMDE4LCAwLCAKKyAgICA5ODM3MDgsIDExOTA1MywgMCwgMTI3NjUsIDY0MTE4LCAxMjY5OTgsIDEyOTYyLCAwLCAxMjY1ODAsIDQwMTcsIDEyODI3LCAKKyAgICA1MjQxLCAxMjAzOTIsIDAsIDQxMTE4LCAzOTI0LCAwLCAxMTM2NiwgMTI5MDg0LCAwLCAwLCA5MTc4NDYsIDQxMTE2LCAKKyAgICA5MTc4NDQsIDkxNzU2NCwgMTI5MDgxLCAxMTM2MywgMTIwNTcsIDExOTE3LCAxNTY3LCA3NDAwMCwgNDcyMSwgMTI2NjQxLCAKKyAgICA2NjIwMiwgODk1NywgNDEzOSwgNzA1MTIsIDAsIDk4MzA3NCwgMCwgMCwgMTI3NDAsIDEyODcwMiwgNDcyMiwgNjgxNiwgCisgICAgMTI0OTc0LCAxMjc1OSwgNDcyNSwgNjcwOTksIDQ3MjYsIDAsIDE5NDg5MiwgOTgzNjIyLCA3MDAyOSwgOTE3OTA1LCAKKyAgICA5MjkxMiwgMTI3NTUsIDEyNzYyLCA0MDE1LCA2NzY5MCwgODA1MiwgNDc2LCAwLCAwLCAxMjgyOTQsIDY0MjEyLCA0MTAyMCwgCisgICAgMTM4MiwgNjQyMDksIDY0MjE2LCA0NDAwMiwgNjQyMTQsIDE2NTYsIDQxODMxLCAwLCAxMjUxMjEsIDQxODQzLCA4NzIwLCAKKyAgICAzOTA4LCAxNDUyLCAxMzExMSwgOTgzNDE5LCA2NDA2NywgMTI3MzI4LCA4NTUyLCA2NDExMywgNDE4NDUsIDM4NDksIAorICAgIDc4NzMyLCA2NjIzMiwgOTc3OCwgMTIwMDY2LCA1ODkxLCA3MDY0LCA1NSwgOTk0OCwgMTE5MDg1LCAwLCA5MTc2MTAsIAorICAgIDc5MzUsIDI0MjAsIDAsIDExMTQsIDc4MTIwLCA2NzU4NSwgNzAxMDQsIDcwNDMyLCA5MjE2OCwgMTIwMDUxLCAzOTM4LCAKKyAgICAxMjAwNTcsIDY1NDE3LCA2NDcxNywgMTIwMDYwLCA3MTkyMCwgNjU0MTUsIDY2ODg0LCA2MjkyLCA2NTMwMywgNzk1NSwgCisgICAgNjQ1MiwgNDcxMywgMTI4MTk2LCA2NjI0OSwgOTE3ODg1LCA5MTc4OTAsIDEyOTA3MywgNjUxNTIsIDcxOSwgMTIwMDQ0LCAKICAgICA3ODYyMywgMTIwMDQyLCA2NzEzLCA0NTMyLCA2NTQxMiwgNjk4MjIsIDEwODY4LCA0NzE3LCAyMzQ5LCA1OTAyLCA2NjQ1MCwgCi0gICAgNDcxMiwgOTE3OTAyLCA5MTc4OTksIDkxNzkwMCwgNjU0MTYsIDgxNTUsIDQ3MTgsIDM5NDIsIDQ3MTQsIDk2MjUsIDAsIAotICAgIDYzODMsIDE5NDc0NCwgMTIwMDYsIDEyODU2NSwgMCwgMCwgMCwgMCwgNjU0MTQsIDY0NTQsIDEyMjksIDEyNjYwNiwgCi0gICAgNjY0MzcsIDY2MDI1LCA3ODY5OSwgMCwgNDI1MDAsIDEyMDUwOCwgNDgwOSwgOTYyMywgOTE3ODc0LCA3ODY5NCwgOTE3ODgwLCAKLSAgICA5MTc4NzcsIDkxNzg3OCwgNjU0MDUsIDY4MTU5LCAxMjg5MywgOTE3ODgyLCA1MzY1LCA0NTQ1LCA4OTAxLCA5MjQyMSwgCi0gICAgMTE5NTU1LCA0ODEzLCAxMjgyNjIsIDAsIDU5MjUsIDQ4MDgsIDY0MzMwLCAwLCA2NTQ3NSwgMTE4OTQwLCAxOTUwMjgsIAotICAgIDQ4MTQsIDAsIDQ4MTAsIDAsIDAsIDY0OTI4LCAxMDU0MywgMCwgMzUyMiwgNzEzMzUsIDQxNCwgNjU0MDQsIDAsIDE5NTAyNywgCi0gICAgNjQ1NiwgNzM4MjAsIDAsIDY2OTEsIDQyMTkzLCA5MjIyNSwgMTI4MTcxLCAwLCA3NDQ5NSwgMCwgMCwgMCwgMTE4ODIwLCAKLSAgICA5NzUxLCA2NTQwNywgMTI4MDg1LCAxMTc3MCwgMzkxOSwgMCwgMCwgNjUwNjEsIDAsIDAsIDAsIDEyMjM1LCAwLCAwLCAKLSAgICAxMjcyMzMsIDY0MDkyLCA5ODM0NzAsIDY0MDgwLCAwLCA2NDA5MCwgMCwgNjk5MTMsIDEwMTYyLCAxMDMxMCwgMCwgODQ1NCwgCi0gICAgMTI3ODg4LCA0MjAzOCwgMzg3LCA0MTM2MywgMTI3MzcsIDAsIDQ3ODAsIDQzMzY4LCAwLCA2NDMxMCwgNjQ2MjEsIDY3MzIsIAotICAgIDc4MTE2LCAwLCA5ODMxMzksIDAsIDk4MzA3NCwgODg5NiwgMCwgMzc1LCA2OTc2LCA2NjU4MiwgMTE5MDA1LCA5ODM4NzQsIAotICAgIDAsIDk4MzQzNCwgMTE5MjAyLCAxMTkyMDMsIDEyNTI2LCA0MzEyMCwgMjMxNSwgMCwgMTkzOCwgMTE5MTk3LCAwLCA0NTI5LCAKLSAgICAxMTkyMDAsIDExOTIwMSwgMTE5MTk4LCAxMTkxOTksIDY5NjkyLCA5ODM0MzIsIDY5Njk4LCAxMzE1MCwgNjQ0OTIsIDAsIDAsIAotICAgIDIyOTEsIDEyOTAyLCAwLCA0Mjg5MSwgNjYzMjcsIDc0Mjk4LCA5MTc4NTcsIDEwNzk5LCA2OTY5MCwgMjU4NywgNjYzNzIsIAotICAgIDAsIDQxOTMsIDkyMjUwLCA0MjQxLCA5ODMwNTcsIDc5OTgsIDAsIDAsIDAsIDEyNjY0MCwgMjMxNiwgMTE4ODIxLCAwLCAwLCAKLSAgICAwLCA2NDI5NywgNzQ3OTksIDkyNDQyLCA3NDE0MCwgMCwgNTM3MywgMCwgOTgzODg2LCAzNzYyLCAxMDAxNSwgMTIwNjcyLCAKLSAgICAxMTkyMzIsIDAsIDQxNTkwLCAwLCA3MDA5OCwgMzc4MCwgNzQ4NSwgNTc3OSwgMCwgNDIwMzcsIDAsIDM5MDYsIDEyMzQ5LCAKLSAgICAwLCA4MzI2LCAwLCA2NTQ5OCwgMzc2MywgNjk4MywgNTYxOCwgMCwgMzc3OSwgMCwgNDM2MTMsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDI4MCwgNzQ1NTgsIDEyNzMzMiwgNjgxMzgsIDEzMDcyLCAxODk0LCAwLCAwLCA2NTQ3OCwgNDMzMTAsIDcyMzEsIDAsIAotICAgIDExNzczLCAwLCAwLCAwLCAwLCAyNTUxLCAwLCA2NDUzLCAxMDIwMCwgNjIzNSwgOTgzNzUyLCAxMTkyMzcsIDAsIDEyODgwNSwgCi0gICAgNDQ3MCwgMTE4MjYsIDkxNzU1NywgNzc4MCwgNTM2OSwgMTE4OTU4LCA1MjQ5LCAwLCA1MzY3LCA4NzU2LCAxMjcxNDMsIDAsIAotICAgIDUzNzcsIDEyMDU4NSwgNjgxNDMsIDE2ODgsIDc4MjQ1LCA5ODMzNTYsIDY5Njg1LCA5ODM3NTYsIDAsIDAsIDQ0MDIwLCAKLSAgICA2ODA4LCA0MTMxOSwgMTMwMCwgMTA2NTAsIDQxNjkyLCA2NDUwNSwgMjI5MCwgMCwgMTE5NjI0LCAxNDY1LCAxMDg1MCwgCi0gICAgMzk0MywgMCwgNDEyMDUsIDQxMzE1LCAxMTg5NjEsIDAsIDAsIDUzNTIsIDAsIDAsIDg4MzksIDQxMzE0LCA3Mzg0LCA3Nzg1LCAKLSAgICA0MTIwNCwgMTI3MzIyLCA0MTIwOSwgNjk2MzcsIDkyMjQxLCA0MzYwNywgMCwgMCwgNTQyMCwgMzg5NywgMTAxMzQsIDAsIAotICAgIDc0NDE3LCA0MDE4LCA3MTUwLCA2ODEyNywgMCwgMCwgMCwgMCwgMTI3NTI2LCAyNTYxLCA2ODYyMSwgMzU0MiwgNzE0OCwgCi0gICAgMTIwNzYsIDc5NTEsIDY4MTUyLCAxMTg4NTcsIDUzMDMsIDYyNzYsIDE3MDYsIDAsIDc4NzUxLCA3MTQ2LCAwLCA2NTE1MCwgCi0gICAgNDE4MTksIDAsIDczOTUxLCAxMDg0NywgNDE4MjIsIDk5ODUsIDg2MCwgMCwgMTA1MDYsIDk4MzQzNSwgNjk2NDEsIDEwNzUzLCAKLSAgICAxMDgzMCwgMCwgNjE1LCA2NDQ5MCwgNzU3NCwgOTI2MTcsIDc3OTIyLCAwLCAxMjkwOSwgNDMwMTYsIDY0NTU5LCAxMjcwMjgsIAotICAgIDAsIDAsIDY3OTk2LCAyMDIwLCAwLCA0MDIyLCAxMjg3ODMsIDAsIDc3OTIzLCAxMjY1OTMsIDQxNjkxLCAwLCAwLCA3NDMyOSwgCi0gICAgMCwgNjQ2MjIsIDkwNzAsIDAsIDY4NDExLCAzOTExLCA0MjgyOSwgNDMxMjIsIDEwMzMsIDc0NDQwLCAwLCA3MDAwLCAzOTA0LCAKLSAgICAwLCAxMjgxOTgsIDAsIDExODkzMSwgMTE5NjMwLCAxMzEyMywgMTA4NDYsIDM0NTAsIDEyNzM2MCwgNzM5NywgMTE4ODA3LCAKLSAgICAwLCA0Mjc3OCwgMTAwMDAsIDQxMDg4LCA0NDksIDAsIDM3NzcsIDY4NDU4LCAwLCA5NjM2LCAwLCAxMDczOCwgNjk2MzQsIAotICAgIDkzNjcsIDU5MywgNDEwODUsIDM5OTksIDY1MjI2LCA0MTcxMywgMTI3NjQsIDAsIDY0NDA5LCAzNTk2LCAwLCAwLCA5NzYzLCAKLSAgICAxMjAyODAsIDkyMTkyLCAxMjM0NywgMTI0LCAxMjk4MSwgNDExMjcsIDIwOTIsIDkyNjg3LCAwLCAwLCAwLCAxMDgyMCwgCi0gICAgNDM5ODcsIDAsIDAsIDE3NjksIDQxNzE1LCAyNDYzLCA3ODQ4OSwgMCwgMTI3NzAsIDEyNjUwMCwgMTUzOCwgMCwgNDMxMjQsIAotICAgIDAsIDE5NTA1OCwgNzc5NSwgMTIwMzAwLCAwLCA0ODI4LCAxMjU4LCAxMjc4MDIsIDIwMDYsIDAsIDAsIDk0OTgsIDEyNzAzMiwgCi0gICAgMTI3MDMzLCAxMjAyODksIDEyMDI4OCwgMzkzOSwgMTIwMjkwLCA4ODQ2LCA4OTQzLCAxMjAyODcsIDEyMDI4NiwgMjY1MCwgCi0gICAgNDQ5MSwgMTk2MSwgNDI2MDIsIDExNTI1LCAxMjAyOTIsIDE5NTksIDEyMDI5NCwgNTUyMjgsIDExNzc0LCA0MTAxNiwgMCwgCi0gICAgNjg2NzUsIDEyODA1NCwgMTUxMSwgOTMyNCwgNzgyMTEsIDEwNTE5LCA2NjMzMSwgMzQ1NCwgMTk5MzAsIDAsIDQxMDE5LCAwLCAKLSAgICAwLCA2NTI5MiwgNjgyMiwgMTI4NjIsIDAsIDAsIDQyMTQzLCA0MTgyOCwgNzgyMDcsIDY1NTMxLCA3ODIwOCwgMTE4ODc5LCAKLSAgICA1NTIyMywgMCwgMTI4MDcxLCA0MTgyNiwgODg2NSwgNjQwMiwgMCwgMTMyNzksIDc5MTcsIDc0NzU1LCAwLCA3NzMzLCAwLCAKLSAgICA0OTk4LCA5ODM4OTYsIDkyMzMyLCA0MTk1MCwgMCwgNDI2OCwgMCwgMCwgNzAwNjEsIDQwMTMsIDAsIDEwODgxLCAwLCAwLCAKLSAgICAwLCA3NDc4OCwgMjAxNCwgMCwgMCwgOTc2NSwgMCwgMCwgMCwgMTk1MDU5LCA3ODM1NywgNjUyODEsIDEyNzgyNSwgMTA5NDksIAotICAgIDAsIDAsIDAsIDIwMTUsIDAsIDAsIDAsIDY2MzE4LCA0MzIzMywgMCwgNDI1MTcsIDAsIDAsIDAsIDEyNjk4LCA4MDk0LCAKLSAgICAxMDEzNSwgNjU5MDksIDY0NzQsIDc5NCwgMCwgMTI2NTYsIDEyODEyMiwgMTE5MzUzLCAxMjgyNzAsIDE2NjUsIDAsIDQ4MzMsIAotICAgIDk4MzA1MywgMTE5MzUxLCAxMjczNjcsIDAsIDE4OSwgMTI2MTEsIDAsIDAsIDI4NTksIDQ4MzgsIDAsIDQ4MzQsIDY1MDc4LCAKLSAgICAwLCAwLCA0ODM3LCAxMjcwNjEsIDc3MCwgMCwgODExLCAwLCA0MTA0MiwgOTE3NTUxLCA0MTMxOCwgNjQ0MjcsIDAsIAotICAgIDEyODIwOCwgNzg4NDgsIDM4OTUsIDAsIDc0MzQxLCAzOTc2LCAwLCA0Mjg1OSwgMTAxOTMsIDMxMTYsIDc3NDcsIDAsIDAsIAotICAgIDAsIDAsIDAsIDQzNjg2LCA3ODg0NiwgNDE4NzcsIDAsIDI4NzEsIDY0NjE0LCAxMjg3ODUsIDk5OSwgMCwgNjM0NSwgCisgICAgNDcxMiwgOTE3OTAyLCA5MTc4OTksIDY1NDAwLCA2NTQxNiwgODE1NSwgNDcxOCwgMzk0MiwgNDcxNCwgOTYyNSwgMCwgCisgICAgNjM4MywgMTk0NzQ0LCAxMjAwNiwgMTI4NTY1LCAxOTQ3ODksIDAsIDExMzc1NiwgMCwgNjU0MTQsIDY0NTQsIDEyMjksIAorICAgIDEyNjYwNiwgNjY0MzcsIDY2MDI1LCA3ODY5OSwgMCwgNDI1MDAsIDEyMDUwOCwgNDgwOSwgOTYyMywgOTE3ODc0LCA3ODY5NCwgCisgICAgOTE3ODgwLCA5MTc4NzcsIDkxNzg1OCwgNjU0MDUsIDY4MTU5LCAxMjg5MywgNzg2MTcsIDUzNjUsIDQ1NDUsIDg5MDEsIAorICAgIDkyNDIxLCAxMTk1NTUsIDQ4MTMsIDEyODI2MiwgMCwgNTkyNSwgNDgwOCwgNjQzMzAsIDEyODQwMCwgNjU0NzUsIDExODk0MCwgCisgICAgNjgyNDQsIDQ4MTQsIDAsIDQ4MTAsIDAsIDAsIDY0OTI4LCAxMDU0MywgNzEyNDksIDM1MjIsIDcxMzM1LCA0MTQsIDY1NDA0LCAKKyAgICAwLCAxOTUwMjcsIDY0NTYsIDczODIwLCAwLCA2NjkxLCA0MjE5MywgNjYyODQsIDEyODE3MSwgMCwgNjgzMzcsIDAsIAorICAgIDQzODU4LCA0MzgzMiwgMTE4ODIwLCA5NzUxLCA2NTQwNywgMTI4MDg1LCAxMTc3MCwgMzkxOSwgMTIwNzI0LCAwLCA2NTA2MSwgCisgICAgMCwgOTE3ODk0LCAwLCAxMjIzNSwgMCwgOTI3MDEsIDEyNzIzMywgNjQwOTIsIDk4MzQ3MCwgNjQwODAsIDAsIDY0MDkwLCAKKyAgICA5ODM1ODYsIDY5OTEzLCAxMDE2MiwgMTAzMTAsIDAsIDg0NTQsIDEyNzg4OCwgNDIwMzgsIDM4NywgNDEzNjMsIDEyNzM3LCAKKyAgICAwLCA0NzgwLCA0MzM2OCwgMCwgNjQzMTAsIDY0NjIxLCA2NzMyLCA3ODExNiwgMCwgMTk0OTU5LCAxOTUwMjQsIDkyMTkzLCAKKyAgICA4ODk2LCAwLCAzNzUsIDY5NzYsIDY2NTgyLCAxMTkwMDUsIDk4Mzg3NCwgMTI3MzI1LCA5ODM0MzQsIDExOTIwMiwgCisgICAgMTE5MjAzLCAxMjUyNiwgNDMxMjAsIDIzMTUsIDAsIDE5MzgsIDExOTE5NywgMTI4NDUyLCA0NTI5LCAxMTkyMDAsIAorICAgIDExOTIwMSwgMTE5MTk4LCAxMTkxOTksIDY5NjkyLCAxMjkxMjQsIDY5Njk4LCAxMzE1MCwgNjQ0OTIsIDEyODk3NCwgMCwgCisgICAgMjI5MSwgMTI5MDIsIDAsIDQyODkxLCA2NjMyNywgNzA1MDIsIDkxNzg1NywgMTA3OTksIDY5NjkwLCAyNTg3LCA2NjM3MiwgCisgICAgMTI4NjI4LCA0MTkzLCA2NjgyMywgNDI0MSwgMTI5MTk1LCA3OTk4LCAxMTk4NDAsIDAsIDk4MzU1NCwgMTI2NjQwLCAyMzE2LCAKKyAgICAxMTg4MjEsIDAsIDAsIDAsIDY0Mjk3LCA3NDc5OSwgOTI0NDIsIDc0MTQwLCAxMjgxNDgsIDUzNzMsIDEyODc5OCwgNzAzNzAsIAorICAgIDM3NjIsIDEwMDE1LCAxMjA2NzIsIDExOTIzMiwgMTI1MTA5LCA0MTU5MCwgMCwgNzAwOTgsIDM3ODAsIDc0ODUsIDU3NzksIAorICAgIDAsIDQyMDM3LCAwLCAzOTA2LCAxMjM0OSwgNzQ3OTMsIDgzMjYsIDAsIDY1NDk4LCAzNzYzLCA2OTgzLCA1NjE4LCAwLCAKKyAgICAzNzc5LCA5ODMxOTQsIDQzNjEzLCA3MDEzMiwgMCwgMCwgNzgzMzUsIDk4Mzg5MiwgMCwgMjgwLCA3NDU1OCwgMTI3MzMyLCAKKyAgICA2NzM5NiwgMTMwNzIsIDE4OTQsIDAsIDY3NzM1LCA2NTQ3OCwgNDMzMTAsIDcyMzEsIDAsIDExNzczLCAwLCAwLCAxMTE0NCwgCisgICAgOTE3Nzc4LCAyNTUxLCAwLCA2NDUzLCAxMDIwMCwgNjIzNSwgOTgzNzUyLCAxMTkyMzcsIDcxODc3LCAxMjg4MDUsIDQ0NzAsIAorICAgIDExODI2LCA5MTc1NTcsIDc3ODAsIDUzNjksIDExODk1OCwgNTI0OSwgOTgzMDY2LCA1MzY3LCA4NzU2LCAxMjcxNDMsIAorICAgIDExOTE4MywgNTM3NywgMTIwNTg1LCA2ODE0MywgMTY4OCwgNzgyNDUsIDUyMTgsIDY5Njg1LCA5ODM3NTYsIDAsIDExMzc5NCwgCisgICAgNDQwMjAsIDY4MDgsIDQxMzE5LCAxMzAwLCAxMDY1MCwgNDE2OTIsIDY0NTA1LCAyMjkwLCA3MTA1NywgMTE5NjI0LCAxNDY1LCAKKyAgICAxMDg1MCwgMzk0MywgMCwgNDEyMDUsIDQxMzE1LCAxMTg5NjEsIDExOTMzMywgNjcxNDgsIDUzNTIsIDExMzc1MywgMCwgCisgICAgODgzOSwgNDEzMTQsIDczODQsIDc3ODUsIDQxMjA0LCAxMjczMjIsIDQxMjA5LCA2OTYzNywgOTIyNDEsIDQzNjA3LCAKKyAgICA3MTI1NCwgMCwgNTQyMCwgMzg5NywgMTAxMzQsIDAsIDc0NDE3LCA0MDE4LCA3MTUwLCA2ODEyNywgMCwgMCwgMCwgMCwgCisgICAgMTI3NTI2LCAyNTYxLCA2ODYyMSwgMzU0MiwgNzE0OCwgMTIwNzYsIDc5NTEsIDY4MTUyLCAxMTg4NTcsIDUzMDMsIDYyNzYsIAorICAgIDE3MDYsIDEyMDc1MCwgNzg3NTEsIDcxNDYsIDAsIDY1MTUwLCA0MTgxOSwgMCwgNzM5NTEsIDEwODQ3LCA0MTgyMiwgOTk4NSwgCisgICAgODYwLCAwLCAxMDUwNiwgOTgzNDM1LCA2OTY0MSwgMTA3NTMsIDEwODMwLCAxMTkzMzksIDYxNSwgNjQ0OTAsIDc1NzQsIAorICAgIDc0MDgyLCA3NzkyMiwgMCwgMTI5MDksIDQzMDE2LCA2NDU1OSwgMTI3MDI4LCAwLCAxMjcwMjksIDY3OTk2LCAyMDIwLCAKKyAgICA5ODMzNTAsIDQwMjIsIDEyODc4MywgMCwgNzc5MjMsIDEyNjU5MywgNDE2OTEsIDAsIDkxNzgxOCwgNzQzMjksIDAsIAorICAgIDY0NjIyLCA5MDcwLCAwLCA2ODQxMSwgMzkxMSwgNDI4MjksIDQzMTIyLCAxMDMzLCA3NDQ0MCwgMCwgNzAwMCwgMzkwNCwgCisgICAgOTgzNjI4LCA3MzczNywgMTI1MTA1LCAxMTg5MzEsIDExOTYzMCwgMTMxMjMsIDEwODQ2LCAzNDUwLCAxMjczNjAsIDczOTcsIAorICAgIDExODgwNywgMCwgNDI3NzgsIDEwMDAwLCA0MTA4OCwgNDQ5LCAwLCAzNzc3LCA2ODQ1OCwgMTEzNzI1LCA5NjM2LCAwLCAKKyAgICAxMDczOCwgNjk2MzQsIDkzNjcsIDU5MywgNDEwODUsIDM5OTksIDY1MjI2LCA0MTcxMywgMTI3NjQsIDk4MzcyMywgNjQ0MDksIAorICAgIDM1OTYsIDAsIDEyODA5MCwgOTc2MywgMTIwMjgwLCA3NDYwOSwgMTIzNDcsIDEyNCwgMTI5ODEsIDQxMTI3LCAyMDkyLCAKKyAgICA5MjY4NywgMCwgMTI3NTU1LCAwLCAxMDgyMCwgNDM5ODcsIDAsIDEyODkwNywgMTc2OSwgNDE3MTUsIDI0NjMsIDcxMjE0LCAKKyAgICA5ODM5NDcsIDEyNzcwLCA3MTIyMiwgMTUzOCwgOTI2MTcsIDQzMTI0LCAxOTQ2MTQsIDE5NTA1OCwgNzc5NSwgMTIwMzAwLCAKKyAgICAxMjkwNTMsIDQ4MjgsIDEyNTgsIDEyNzgwMiwgMjAwNiwgMCwgMCwgOTQ5OCwgMTI3MDMyLCAxMjcwMzMsIDEyMDI4OSwgCisgICAgMTIwMjg4LCAzOTM5LCAxMjAyOTAsIDg4NDYsIDg5NDMsIDEyMDI4NywgMTIwMjg2LCAyNjUwLCA0NDkxLCAxOTYxLCAKKyAgICA0MjYwMiwgMTE1MjUsIDEyMDI5MiwgMTk1OSwgMTIwMjk0LCA1NTIyOCwgMTE3NzQsIDQxMDE2LCA5ODMyNjAsIDY4Njc1LCAKKyAgICAxMjgwNTQsIDE1MTEsIDkzMjQsIDc4MjExLCAxMDUxOSwgNjYzMzEsIDM0NTQsIDE5OTMwLCAwLCA0MTAxOSwgMTI3OTQ0LCAKKyAgICAwLCA2NTI5MiwgNjgyMiwgMTI4NjIsIDAsIDAsIDQyMTQzLCA0MTgyOCwgNzgyMDcsIDY1NTMxLCA3MDg2NCwgMTE4ODc5LCAKKyAgICA1NTIyMywgMCwgMTI4MDcxLCA0MTgyNiwgODg2NSwgNjQwMiwgMTEzODI3LCAxMzI3OSwgNzkxNywgNzQ3NTUsIDkxNzk0OCwgCisgICAgNzczMywgMCwgNDk5OCwgNjg0OTMsIDkyMzMyLCA0MTk1MCwgMCwgNDI2OCwgMCwgMCwgNzAwNjEsIDQwMTMsIDEyODcxOCwgCisgICAgMTA4ODEsIDAsIDAsIDAsIDc0Nzg4LCAyMDE0LCAyNDMyLCA3MTkwMSwgOTc2NSwgMCwgMCwgOTE3ODU0LCAxOTUwNTksIAorICAgIDc4MzU3LCA2NTI4MSwgMTI3ODI1LCAxMDk0OSwgMCwgMCwgMTE5MzE1LCAyMDE1LCAwLCAwLCA3MTg0MCwgNjYzMTgsIAorICAgIDQzMjMzLCA5MTc5OTIsIDQyNTE3LCAwLCAwLCAwLCAxMjY5OCwgODA5NCwgMTAxMzUsIDY1OTA5LCA2NDc0LCA3OTQsIAorICAgIDQzNDk3LCAxMjY1NiwgNjYzMzUsIDExOTM1MywgMTI4MjcwLCAxNjY1LCA3MTg1MywgNDgzMywgOTgzMDUzLCA3MTE4OCwgCisgICAgMTI3MzY3LCAwLCAxODksIDEyNjExLCAwLCAwLCAyODU5LCA0ODM4LCAwLCA0ODM0LCA2NTA3OCwgMCwgOTI5OTEsIDQ4MzcsIAorICAgIDY3NDEzLCA3NzAsIDkyNjcxLCA4MTEsIDcwMDYyLCA0MTA0MiwgOTI5MTUsIDQxMzE4LCA2NDQyNywgNzM5OTksIDY3NjkzLCAKKyAgICA3ODg0OCwgMzg5NSwgMCwgNzQzNDEsIDM5NzYsIDEyODQ2NiwgNDI4NTksIDEwMTkzLCAzMTE2LCA3NzQ3LCA3ODQ4OCwgMCwgCisgICAgNDM0OTYsIDAsIDAsIDQzNjg2LCA3ODg0NiwgNDE4NzcsIDAsIDI4NzEsIDY0NjE0LCAxMjcwMTAsIDk5OSwgMCwgNjM0NSwgCiAgICAgNDE4NzYsIDI2NjMsIDIwMTcsIDAsIDAsIDExMDQwLCAxMDE1MCwgMCwgNjQzMDgsIDE1MjIsIDU5NywgNDc3NSwgMTI1NTUsIAogICAgIDEyNTcxLCAxMjU1MCwgMTI1ODMsIDEyNTYwLCAyMDE5LCAxMjU1NiwgMTI1ODQsIDMwOTIsIDAsIDEyNTYyLCA0NzgzLCAKLSAgICAxMjU2NiwgMTI1NjksIDEyNTU0LCAwLCAxMDgxMiwgNzg4NTEsIDAsIDAsIDMwNzgsIDE0MDIsIDAsIDEyODI3NSwgMCwgMCwgCi0gICAgMTE5MjQ4LCAzOTQsIDMwODgsIDAsIDkyMTcyLCAwLCAzOTkxLCA2NDM5MSwgMCwgMTI4NTI0LCA0MjQsIDY2MzI4LCAxOTk5LCAKLSAgICA2OTY1OSwgNzM5MTQsIDAsIDAsIDAsIDAsIDQyMjMxLCA4MjQ2LCAwLCAwLCAwLCA0MTg0MCwgOTgzNjA5LCAyMzc3LCAKLSAgICAxMjk4LCA2NDAxMSwgMTI1NzIsIDExMzE4LCAxMjU1NywgMTI1NTksIDEyNTcwLCA3NDc5LCAxMDAzLCAyMzczLCA5NDQ2LCAKLSAgICA3NDgxLCA5NDQ4LCA0OCwgMCwgOTQ4MCwgNDgxLCAwLCA5NDM4LCA5NDM5LCA5NDQwLCA5NDQxLCA4NDY1LCA5NDQzLCAKLSAgICA5NDQ0LCA5NDQ1LCA5NDMwLCA5NDMxLCA5NDMyLCA5NDMzLCA5NDM0LCA5NDM1LCAzOTg0LCA5NDM3LCAwLCAwLCA5NDI0LCAKLSAgICA5NDI1LCA5NDI2LCA5NDI3LCA5NDI4LCA5NDI5LCA2NDc1OCwgMjM2MiwgOTY1NSwgMCwgMjAwNCwgOTA5NiwgOTc4MiwgCi0gICAgMTI4ODQ4LCA5MTcyLCAxMjg1NDUsIDE5OTY1LCAwLCA1OTU1LCA2NzY2NiwgMTEwOCwgMCwgNzQ3NzMsIDAsIDAsIDY0NzgyLCAKLSAgICAzOTI2LCA5MjQ0OCwgNjUyMTAsIDg3OTgsIDAsIDkyMTY1LCAxMzkyLCAwLCAwLCAxMjczNjQsIDEwNjA2LCA4MDY1LCAKLSAgICAxMTg4MDUsIDEwMzUzLCAxMDQxNywgMCwgMCwgNjQ1MjQsIDkyNDE4LCA0MDE5LCAwLCA5ODMyODgsIDQzMjgwLCA4MjE5LCAKLSAgICA2ODQwMiwgMTgxMiwgMTE5OTYzLCA5ODM2OTIsIDAsIDEyNjQ4OCwgNDI0MTAsIDc0NDQ4LCAxMTkxMzIsIDYwNTQsIAotICAgIDEwNjk3LCAzMTY5LCA0MjI5NywgNDIzMjIsIDEwNjQyLCAzOTA5LCA5OTUwLCAwLCAxMjgxMzksIDk4MzI2MSwgNjg2NzgsIAotICAgIDAsIDAsIDEwNDksIDAsIDY1NzA3LCAyMzA0LCA0MTgwNiwgOTIzMjYsIDQyMzM2LCAzOTIxLCAwLCAxMTc3NSwgNjQ3NjAsIAorICAgIDEyNTY2LCAxMjU2OSwgMTI1NTQsIDAsIDEwODEyLCA3ODg1MSwgMCwgOTE3NTYzLCAzMDc4LCAxNDAyLCAwLCAxMjgyNzUsIAorICAgIDAsIDEyNTA3MiwgMTE5MjQ4LCAzOTQsIDMwODgsIDAsIDkyMTcyLCAwLCAzOTkxLCA2NDM5MSwgMTI5MDcyLCAxMjg1MjQsIAorICAgIDQyNCwgNjYzMjgsIDE5OTksIDY5NjU5LCA3MzkxNCwgMCwgMCwgNjY5MDMsIDAsIDQyMjMxLCAyMjA5LCAxMjUxMDMsIDAsIAorICAgIDAsIDQxODQwLCA2NjkxMywgMjM3NywgMTI5OCwgNjQwMTEsIDEyNTcyLCAxMTMxOCwgMTI1NTcsIDEyNTU5LCAxMjU3MCwgCisgICAgNzQ3OSwgMTAwMywgMjM3MywgOTQ0NiwgNzQ4MSwgOTQ0OCwgNDgsIDAsIDk0ODAsIDQ4MSwgMCwgOTQzOCwgOTQzOSwgCisgICAgOTQ0MCwgOTQ0MSwgODQ2NSwgOTQ0MywgOTQ0NCwgOTQ0NSwgOTQzMCwgOTQzMSwgOTQzMiwgOTQzMywgOTQzNCwgOTQzNSwgCisgICAgMzk4NCwgOTQzNywgMCwgOTI5MzQsIDk0MjQsIDk0MjUsIDk0MjYsIDk0MjcsIDk0MjgsIDk0MjksIDY0NzU4LCAyMzYyLCAKKyAgICA5NjU1LCA5ODM3MDksIDIwMDQsIDkwOTYsIDk3ODIsIDcwODQyLCA5MTcyLCAxMjg1NDUsIDE5OTY1LCAwLCA1OTU1LCAKKyAgICA2NzY2NiwgMTEwOCwgMCwgNzQ3NzMsIDAsIDEyODkwOSwgNjQ3ODIsIDM5MjYsIDkyNDQ4LCA2NTIxMCwgODc5OCwgMCwgCisgICAgOTIxNjUsIDEzOTIsIDAsIDk4MzIxNCwgMTI3MzY0LCAxMDYwNiwgODA2NSwgMTE4ODA1LCAxMDM1MywgMTA0MTcsIDAsIAorICAgIDEyODczOSwgNjQ1MjQsIDkyNDE4LCA0MDE5LCAwLCAxMjUwODIsIDQzMjgwLCA4MjE5LCA2ODQwMiwgMTgxMiwgMTE5OTYzLCAKKyAgICA5ODM2OTIsIDEyOTE0NCwgMTI2NDg4LCA0MjQxMCwgNzQ0NDgsIDExOTEzMiwgNjA1NCwgMTA2OTcsIDMxNjksIDQyMjk3LCAKKyAgICA0MjMyMiwgMTA2NDIsIDM5MDksIDk5NTAsIDEyODg0OCwgMTI4MTM5LCA5ODMyNjEsIDY4Njc4LCA5MjkxNywgOTgzNzkwLCAKKyAgICAxMDQ5LCA0MzUxNywgNjU3MDcsIDIzMDQsIDQxODA2LCA5MjMyNiwgNDIzMzYsIDM5MjEsIDAsIDExNzc1LCA2NDc2MCwgCiAgICAgMTE3NjYsIDEwMzgsIDQyMzAzLCA5ODIzLCAxMjcyNzgsIDY5MjM2LCA0MDA4LCA2NDAwNCwgODc3MywgMTA3MzMsIDM2LCAwLCAKLSAgICA1MTUzLCA0MTgwNSwgMCwgNzM3MzUsIDc2MywgNDE4MDgsIDY0OTEwLCA5ODMxMzAsIDIwMDksIDAsIDAsIDEyNzE0MiwgCi0gICAgOTY0MCwgMTE5OTUxLCAwLCAxMjA2OTUsIDg2MjEsIDEyMDUyMywgMTI4NTIsIDMwMzEsIDk4MzA1MCwgNjQzNjEsIDAsIAotICAgIDE4MiwgMTk0NzE4LCA5MjcxNiwgOTI1OTgsIDExOTk1MCwgNDI2MTMsIDkwNTgsIDM2NiwgMCwgOTg5MiwgNTk2OSwgCi0gICAgMTE3NTQsIDEwODQ4LCA0NTcwLCA2NTMwMSwgNDQwMTMsIDQyNTUsIDEyNzg4OSwgMTAxMDIsIDQxMTg5LCA0MDAzLCAKLSAgICA0MTAyNiwgNjgxMDksIDEzMjkzLCA0MTE5MiwgNjk2MzUsIDAsIDQyMjUxLCAwLCA0MjUzNCwgNjUxNzksIDExMjg3LCAKLSAgICA2MTI4LCAwLCAxMTAzNCwgMTA5MjMsIDY0NDIzLCAwLCA2NTUwNiwgMCwgNjU4NjEsIDc0MDgzLCA5MjYwMCwgOTkzMiwgMCwgCi0gICAgOTI0MjMsIDExOTk1NSwgMCwgOTgxNywgMCwgMTIwMTQwLCAwLCAxMjExNywgNjY1ODYsIDQxODMsIDEwNTQwLCA2NjI1MCwgCi0gICAgOTA2MywgMTI3MDQ1LCAwLCAxMTk5NTQsIDAsIDEyODk3LCAzNzkyLCAyMDExLCAwLCA2MDY1LCA0MzE2MCwgMCwgMTk0NzE1LCAKLSAgICA4NjkyLCA0MTE4NiwgNDE4MTYsIDQxMDIzLCA0MTgxOCwgNDExODcsIDExNjU5LCA3OTIyLCAxMjYxNCwgMjAwNSwgODUyMywgCi0gICAgNzgwMDIsIDAsIDc1MTMsIDE4NjMsIDQ3MTAsIDAsIDU5NTYsIDc2MjEsIDc4MDA2LCA5MjYyNCwgNDcwNSwgNzE2LCAKLSAgICA3ODAwNCwgMCwgNDcwNCwgMTIwMDQwLCAxMjAyNzAsIDQyMjQxLCAxNjEsIDQzOTc3LCA3NDU0NiwgNjYyMTQsIDQ3MDYsIDAsIAotICAgIDY5OTE0LCA0MjY3MiwgNDcwOSwgMTA2ODAsIDExOTA2NSwgNDMyOTMsIDExOTk0NCwgMCwgMTE5MTY0LCAxMjAzMjgsIAotICAgIDkyNDY3LCAxMDE4NywgMTcwMCwgMTE5MjIzLCAwLCAwLCAxMjgxMTksIDQwMDQsIDAsIDEwOTY4LCA0MzI5NiwgOTgzNjQyLCAKLSAgICA4NTA2LCAwLCAwLCAxMjY5OTYsIDEwMDUsIDkzNywgNzgyMTYsIDQ3MzQsIDI4NzAsIDAsIDc4MjE4LCA5ODMxMDksIDc0NjMsIAotICAgIDQ3MjksIDAsIDIzNSwgMTM4NCwgNDcyOCwgMCwgMTIwNDIwLCA5MjQ5MCwgNzQ0NDksIDgxMDksIDQzMTA1LCA5ODMxNzQsIAotICAgIDQ3MzAsIDQ0NywgMTMxODYsIDE1MTMsIDQ3MzMsIDEyMDQxNSwgMCwgMCwgNDI1MjcsIDEyOTExLCA0MzQyNywgMTM4MywgCi0gICAgODU2NSwgMjQ2OSwgMTIwMDI0LCA2NjkwLCA2MTU2LCA2ODExNywgNDM0MzksIDc5OTMsIDQyODgsIDEyMDQxNiwgMjY3NCwgCi0gICAgMTMyMzgsIDExOTIyLCAwLCAxMjAzMzAsIDM1MTAsIDEzMjM0LCAwLCAxMjA0MDcsIDU2MDUsIDQyMDk1LCAxMTM2NCwgMCwgCi0gICAgMTM4MCwgNjU2MTcsIDEyMDI1MywgMTIwMjYxLCAxMzE5NiwgMTMxOTcsIDEyMDMwOSwgMTIwNjgyLCA5NDk1LCAxMTkzNDYsIAotICAgIDAsIDU5NTksIDY3OTg0LCA3Mzk3NiwgMTIwMzA1LCA0MzM3MSwgNjk0MSwgMTE5MzQ5LCAxMzIwNSwgMTMyMTEsIDU4MDEsIAorICAgIDUxNTMsIDQxODA1LCAwLCA3MzczNSwgNzYzLCA0MTgwOCwgNjQ5MTAsIDk4MzEzMCwgMjAwOSwgMCwgMTI3OTg1LCA3NDI0NSwgCisgICAgOTY0MCwgMTE5OTUxLCAwLCA2OTg5NSwgODYyMSwgMTIwNTIzLCAxMjg1MiwgMzAzMSwgOTgzMDUwLCA2NDM2MSwgMTI5MDg4LCAKKyAgICAxODIsIDY2NDE0LCA5MjcxNiwgOTI1OTgsIDExOTk1MCwgNDI2MTMsIDkwNTgsIDM2NiwgMCwgOTg5MiwgNTk2OSwgMTE3NTQsIAorICAgIDEwODQ4LCA0NTcwLCA2NTMwMSwgNDQwMTMsIDQyNTUsIDEyNzg4OSwgMTAxMDIsIDQxMTg5LCA0MDAzLCA0MTAyNiwgCisgICAgNjgxMDksIDEzMjkzLCA0MTE5MiwgNjk2MzUsIDEyNDk3NywgNDIyNTEsIDAsIDQyNTM0LCA2NTE3OSwgMTEyODcsIDYxMjgsIAorICAgIDExMzgxMSwgMTEwMzQsIDEwOTIzLCA2NDQyMywgMCwgNjU1MDYsIDAsIDY1ODYxLCA3NDA4MywgNjY4NzIsIDk5MzIsIAorICAgIDQzNTE2LCA5MjQyMywgMTE5OTU1LCAxMTk5NDgsIDk4MTcsIDAsIDcxMjM0LCAwLCAxMjExNywgNjY1ODYsIDQxODMsIAorICAgIDEwNTQwLCA2NjI1MCwgOTA2MywgMTI3MDQ1LCAwLCAxMTk5NTQsIDExMzY4NSwgMTI4OTcsIDM3OTIsIDIwMTEsIDAsIAorICAgIDYwNjUsIDQzMTYwLCAxMjgzNzksIDE5NDcxNSwgODY5MiwgNDExODYsIDQxODE2LCA0MTAyMywgNDE4MTgsIDQxMTg3LCAKKyAgICAxMTY1OSwgNzkyMiwgMTI2MTQsIDIwMDUsIDg1MjMsIDc4MDAyLCAxMjAwMzUsIDc1MTMsIDE4NjMsIDQ3MTAsIDAsIDU5NTYsIAorICAgIDc2MjEsIDc4MDA2LCA5MjYyNCwgNDcwNSwgNzE2LCA3ODAwNCwgMCwgNDcwNCwgMTIwMDQwLCA5MzAyNCwgNDIyNDEsIDE2MSwgCisgICAgNDM5NzcsIDc0NTQ2LCA2NjIxNCwgNDcwNiwgNzQwNzcsIDY5OTE0LCA0MjY3MiwgNDcwOSwgMTA2ODAsIDExOTA2NSwgCisgICAgNDMyOTMsIDExOTk0NCwgOTgzMTkwLCAxMTkxNjQsIDEyMDMyOCwgOTIzNTAsIDEwMTg3LCAxNzAwLCAxMTkyMjMsIDAsIDAsIAorICAgIDEyNzIwMiwgNDAwNCwgMCwgMTA5NjgsIDQzMjk2LCA5ODM2NDIsIDg1MDYsIDExMzc0NCwgMTk0ODEyLCAxMjY5OTYsIAorICAgIDEwMDUsIDkzNywgNzgyMTYsIDQ3MzQsIDI4NzAsIDAsIDc4MjE4LCA5ODMxMDksIDc0NjMsIDQ3MjksIDAsIDIzNSwgMTM4NCwgCisgICAgNDcyOCwgMCwgNzA0OTQsIDkyNDkwLCA3NDQ0OSwgODEwOSwgNDMxMDUsIDEyODYyMywgNDczMCwgNDQ3LCAxMzE4NiwgCisgICAgMTUxMywgNDczMywgMTIwNDE1LCA5MjU0OCwgMCwgNDI1MjcsIDEyOTExLCA0MzQyNywgMTM4MywgODU2NSwgMjQ2OSwgCisgICAgMTIwMDI0LCA2NjkwLCA2MTU2LCA2ODExNywgNDM0MzksIDc5OTMsIDQyODgsIDEyMDQxNiwgMjY3NCwgMTMyMzgsIDExOTIyLCAKKyAgICAwLCAxMjAzMzAsIDM1MTAsIDEzMjM0LCA5ODM4MzIsIDEyMDQwNywgNTYwNSwgNDIwOTUsIDExMzY0LCA5MjI4NiwgMTM4MCwgCisgICAgNjU2MTcsIDExMTYyLCAxMjAyNjEsIDEzMTk2LCAxMzE5NywgMTIwMzA5LCA2NzcwOCwgOTQ5NSwgMTE5MzQ2LCAxMjcxNTQsIAorICAgIDU5NTksIDY3OTg0LCA3Mzk3NiwgNjYyNzUsIDQzMzcxLCA2OTQxLCAxMTkzNDksIDEzMjA1LCAxMzIxMSwgNTgwMSwgCiAgICAgMTI3NjksIDY1OTA1LCA0MTY5NywgMTI4MywgMTIwMzAyLCA0Nzc5LCAwLCAzNzE5LCA0MDA2LCA5ODM1NjksIDE5OTU3LCAKLSAgICAxMjg3NzMsIDIwMjEsIDExOTMzMiwgMTIwNjk5LCAxMTkxNTAsIDQzMDI4LCA2NTQ5MywgNDE4MzgsIDM4NzUsIDU5NjIsIAotICAgIDY0MzQxLCA5MjYxNiwgOTgxNCwgNDM0NTcsIDU4MjcsIDMzMTQsIDc3ODcsIDc4MjM0LCA2NTQ5NCwgNjgxNTMsIDAsIDAsIAotICAgIDEyMDYzNiwgNjQ1MzEsIDEyMDY5MiwgMTk0NjI2LCAwLCAwLCA2NjMxNiwgNjU0NjcsIDU3NzEsIDQxMjk4LCA5ODM3OTQsIAotICAgIDk3NDIsIDUyMSwgMCwgMTA4MDAsIDkyMjIyLCA4NDA0LCAxOTQ2MjUsIDQ4MywgNzA5NiwgNzA4OSwgNjYzMjMsIDkyOCwgMCwgCi0gICAgMCwgMTE5MDE4LCAxMDU5OSwgMTE1ODYsIDM5ODksIDEwOTcxLCA0Mzc0OCwgNjU3ODIsIDk4NDEsIDg4NDMsIDEyMTQ1LCAKLSAgICA5MjQ3MCwgMTAwNzQsIDc4NTQ4LCAwLCAzNzY5LCAwLCAwLCAwLCA5ODMxMDcsIDk1NzMsIDAsIDY1MjkwLCA4ODQ5LCAwLCAKLSAgICA2NTg1NSwgNjUxMTIsIDE3OTYsIDEyMDUwNSwgMCwgNjk2NjUsIDgxNjQsIDQxMzAxLCAzNTAyLCAwLCA3Mzg4LCAxMDYyMSwgCi0gICAgNzM4MzgsIDc4NTUzLCA1ODI1LCAxMzAwNywgNjgxNjUsIDAsIDEyMDQ1NywgMTI2NjEsIDc2MDgsIDEwMzU0LCAxMDQxOCwgCi0gICAgNDI0MTEsIDIwMjIsIDAsIDE0MDksIDEyMTk1LCA0MDAxLCAzMTEyLCAxMDgyNCwgMTIwNjM5LCAxMzkwLCAwLCAwLCA0MjEsIAotICAgIDQzNTM2LCA1ODQ2LCAxMjAxMjAsIDQxMzAsIDEyNzc3NSwgNzU5NSwgNDI1ODgsIDc2MDAsIDEyMDEyMSwgNjYwMzUsIAotICAgIDk4MzkxMywgMCwgNjU4NTEsIDQyNjA3LCAxMjgxOTAsIDkyNDAzLCAzMTY4LCAwLCA0MjEzNCwgMTE4MzEsIDIzNzAsIAotICAgIDI4NDYsIDkyNjA1LCAwLCAwLCAxMjAxMzIsIDAsIDE4MzYsIDAsIDAsIDkyNTU4LCAzNzQwLCA2OTg0MywgNjI5MCwgCi0gICAgNjUzNzQsIDEyMDQ1MSwgMjM5MCwgMzk0NCwgNjY2MjgsIDEyMDQzNCwgMCwgNjEzNSwgMzExOCwgNzQyNjUsIDExOTA5MywgCi0gICAgMTIwNDQ2LCAwLCAwLCA4MTI3LCA4OTc1LCA2NDczOSwgNzk0MywgOTgzNzQzLCAwLCAxMDYxOCwgMjU4NCwgMCwgMCwgMCwgCi0gICAgOTk5OCwgMTI4NTY0LCAwLCAwLCAwLCAwLCA2MjA0LCAwLCAwLCA4Mjc5LCA4Nzc2LCA2NDk1NCwgNDk3NSwgNzAwNzUsIAotICAgIDEyMDEzMCwgNDI2NywgMTYzMSwgNDIyMDYsIDc3OTgzLCAwLCAxOTUwNDYsIDY1NzAwLCA2NjU2MiwgMCwgNjQ2NDUsIDAsIAotICAgIDAsIDEyNjU4OCwgMTI1ODYsIDAsIDkyNDIsIDEyNzkyMiwgMCwgNDUyMywgNTg0MiwgMTA0OTUsIDMxMjIsIDk4Mzc5NywgCi0gICAgNzc5MywgNzgyNzUsIDkzMjgsIDExOTEwNCwgNzgzOTMsIDEyNjA0LCAwLCA2NjE1LCAyMjg1LCA5MjM0NCwgMzk4NiwgCi0gICAgNDQwMjUsIDAsIDg5MTIsIDY0NTU1LCA3NDA5LCAwLCA5ODMzNTgsIDk1NDEsIDc4Mjc2LCAwLCAxMTI3NSwgODU0MCwgCi0gICAgMTE0OTgsIDAsIDk4MzM1NywgNDEwNDAsIDI0NTksIDAsIDEzMDYwLCA0MTA0MSwgNzQ0MTMsIDk4MzEzOCwgMCwgMCwgCi0gICAgNjg0MjcsIDEwNDUwLCAxMjU1MSwgNDEwNDMsIDcwMjAsIDEyMDM1MywgMzc2NSwgOTgzMzUwLCAwLCAxNjA2LCAxMjAzNDgsIAotICAgIDEyMDM1MSwgMzA5MywgNjg0MzYsIDAsIDk4MzA2MSwgMTE5NjEzLCAwLCAwLCA0MzEyLCA3NDA5MSwgMTIwMzM3LCAKLSAgICAxMjAzMzYsIDExOTIzLCA0MDIzLCAxMjAzMzMsIDU3NjMsIDk0MDE1LCA0ODI3LCAxMDg5NCwgMTI4MTAsIDY0NDA2LCAKLSAgICAxMTg3ODUsIDQ0NTUsIDc0MzIxLCA0MzMsIDExOTYyMCwgNjY2NjAsIDI0OTksIDAsIDAsIDExODgzNywgMTE5NzMsIAotICAgIDEzMDg5LCA0MjkzLCAxMjAzMjksIDQyMjI0LCA0Mjc1OCwgMTIxOTYsIDQyODM3LCA0MjIyNiwgMTE5MzE5LCAwLCAKLSAgICAxMTkxMjYsIDU4MTcsIDEyNzgwNiwgNTUyNzcsIDMxMjAsIDk3OTcsIDAsIDAsIDAsIDEwMzg5LCAxMjY0ODUsIDAsIDQ4OTUsIAotICAgIDY1MzU4LCAwLCA0MzU5LCA1ODUsIDIzODMsIDM1MDksIDcwMDM3LCA0ODYsIDQyOTAsIDU3NTgsIDEyNzU0NiwgMCwgMCwgCi0gICAgNzAwNCwgMCwgNjU4ODAsIDEyNzg4NiwgMTE5MDQ4LCAyMzgwLCAxMTM4MCwgMCwgOTM5OTYsIDIzNzYsIDAsIDExOTMyMCwgCi0gICAgMCwgNTE5NywgMTI3MDQ2LCAxMjcwNDcsIDEyNzA0OCwgMjM2NiwgMTI3MDUwLCAxMjcwNTEsIDEyMDU1NCwgMTIwMDQ1LCAwLCAKLSAgICAwLCAwLCA5ODMwODQsIDAsIDAsIDAsIDc0MTg4LCA3MTM0MiwgOTgzMDg2LCA5ODM1NzMsIDEyMDA0NywgMTI4NTc1LCAwLCAKLSAgICAwLCAxMjAwNDksIDAsIDE4NDcsIDAsIDEwMzM5LCA5ODMzNjUsIDQyMzg0LCAwLCA0MjI3LCA3NDE1OCwgMCwgOTI1MDEsIAotICAgIDQzMDMyLCAwLCA0MjM2NSwgMCwgMTI2NzEsIDExMzg0LCAwLCA5ODM0NjUsIDAsIDY0Nzk3LCA5ODMzNDUsIDU4MjAsIAotICAgIDk4MzM0NCwgMTIwMDUyLCAxMjAwNjUsIDAsIDEyMDA2NCwgMTIwNjUwLCA0MjEzNywgOTg5MywgMjc1NCwgMTI2NjQsIAotICAgIDEyMDA2MywgMCwgNzM3NywgMTI3ODY3LCA0MTc5OSwgNjU1MzAsIDE3MTEsIDEyOTg0LCA0MzAzOSwgMzExNCwgNjI1NSwgCi0gICAgOTgzMzQwLCAxMTg5MzgsIDAsIDEwODUzLCA5MjYsIDk4MzM2OSwgNzQxODQsIDk4MzM2OCwgMTIwMDU1LCAwLCA0MzE3NSwgCi0gICAgMCwgNDMwMzcsIDQxNzk4LCA0MTAzNSwgMTE1ODMsIDEyNzc2OSwgNDE4MDEsIDExOTA4OCwgMTE5NjA1LCA1MjAsIDQyMDAsIAotICAgIDEyNjk5LCA4MzMxLCAwLCAzMDkxLCA0MTAzNCwgMTI3MzUzLCA5ODM2ODEsIDgzNjAsIDAsIDc4MDQ0LCAzMjEsIDQyMjksIAotICAgIDY0NTQzLCA5MTc5NDYsIDY1NTYzLCAwLCA5MTc5NzQsIDI4NjEsIDQzNzkzLCAxMDA5NSwgMCwgOTE5NSwgOTIzODYsIAotICAgIDE4NjEsIDAsIDczNzMzLCAwLCAwLCA0MzA0MSwgMCwgNDM3OTQsIDEyODUzMCwgMzg1OSwgMTIxODEsIDQxNjYwLCA4MjA5LCAKLSAgICAwLCA3Mzg2NywgMTI5NzMsIDAsIDc0NzU3LCAxMjc1MTQsIDQxNjU4LCAwLCAwLCA1NzYwLCAwLCA3NDMsIDQ0MTQsIAotICAgIDEyMDc2NiwgMCwgNDI2MzIsIDkxNzk3MywgNjUxNjEsIDczODk2LCAxMjg1ODksIDAsIDE0MDUsIDExOTA2MywgNDMyMjAsIAotICAgIDQzMzQxLCAwLCAxOTkxOSwgMCwgNjQ1MzIsIDY1MzY3LCA0MzcxMCwgMCwgMCwgMzUxMywgMCwgMTE4ODgzLCA0MzM0MiwgCi0gICAgMTE5MDY0LCA2NTUyOSwgNjUzNjQsIDEyODE5NywgMCwgNjQ4NSwgMTM5NywgMCwgNDE5ODYsIDkyNjc4LCAwLCAwLCAKLSAgICA3NDA5NywgMCwgNzQ3MSwgMTIwNzksIDY3OTk3LCAxMjY4MiwgNDMyODcsIDkyMzE3LCAwLCA5ODMxNDMsIDk4MzcwNywgMCwgCi0gICAgMCwgMTA5OSwgMTA0OTAsIDAsIDEwNTAxLCA2NTE4MSwgNzQ0NjMsIDAsIDQ2NCwgNDE2MjQsIDY1MjgzLCA2NzY2MywgCi0gICAgNzgyMjIsIDEzNDYsIDAsIDkxNzYzMSwgNjQ1NzMsIDY0ODk3LCA0MjMsIDE4MTgsIDY1MTQ0LCAwLCA4MjcyLCAxMjc4MTIsIAotICAgIDE5OTExLCA0MjE4LCAzMDg3LCA2NDk2MCwgMTI3MjM0LCA0MzU2NCwgMCwgMCwgOTU4NCwgMTA0NjUsIDk4MzkwMiwgCi0gICAgNzQzNTksIDEyNjI2LCA5MTA2LCAwLCA0MjY0MiwgMTIwMjMwLCA2NDc1MCwgOTM5MCwgMCwgNDE3OTcsIDAsIDAsIDI2NSwgCi0gICAgNDE3OTUsIDY0NjY2LCAxMjY1MDgsIDQzNTMwLCAyNzUyLCAwLCAwLCA5ODM0OTMsIDU5LCAwLCA5ODM1OTMsIDAsIDkyMzcxLCAKLSAgICA3Nzg3MywgNDE4MTAsIDAsIDcwMTAsIDAsIDQxODA5LCA0MTQ5NSwgMTE5MzY0LCAwLCA0MjI1MiwgNDIyMTMsIDgwMDksIAotICAgIDMzMDUsIDQzMDMzLCA1MTEsIDkyNzAwLCA2NjI1NSwgMTMxMjcsIDEyMDA2NywgMCwgNzQzOTcsIDEyMDIzNSwgOTE3OTc3LCAKLSAgICA2NTkxNSwgMTQwMCwgNDE4MTIsIDEwNjg1LCAxOTQ4NzAsIDIxMDMsIDEwMzg3LCA0NDUzLCA0MzI3NiwgOTE3NzgzLCAKLSAgICAxMzE1OSwgMCwgNjQ4MSwgNDEyMTMsIDAsIDAsIDAsIDAsIDQxOTgzLCA3NDE5OCwgNjYxNywgOTExNiwgMTE5NjU0LCAwLCAKLSAgICA0NjIsIDY4MTEwLCAxMDQ5MywgMCwgODEyOSwgMCwgMCwgNzQ0NzEsIDY2NDQsIDExNjU4LCAwLCAxMjgyNDUsIDM0NTIsIAotICAgIDExOTA2LCA5NTgxLCAxMzg1LCAzMDk4LCAwLCAxMTkwMTMsIDQzMzQwLCAwLCA0MTAzMywgNjQ5MywgNDI2MjYsIDAsIDAsIAotICAgIDExNDI2LCA3Nzg4NywgMTY4MSwgMTE4Nzg5LCAxMjA0LCAzNzU1LCA2NDY2MSwgNzIzNSwgMTAxNzAsIDM5NjYsIDg5MTEsIAotICAgIDAsIDQxODQxLCA0MzMzOCwgMCwgMCwgNTcyNiwgNjQ5MTUsIDQyMTc1LCAwLCAwLCA0MTQ5NywgNjUwNDQsIDEyMDEwOSwgCi0gICAgMjg1MSwgNDMwMTcsIDk4MzU4OSwgMCwgNDM3MywgNzgwNTgsIDAsIDk1ODcsIDE3ODksIDY2NzEsIDEyODg0MCwgMzEwMCwgCi0gICAgMCwgNjUzNjAsIDAsIDkyMzY1LCA5MTc3ODksIDY0OTIyLCAwLCA4MTkwLCAxMjA4MywgMCwgMCwgNjUwNiwgNjQzMTIsIAotICAgIDc0Mzc0LCAyMzY4LCAwLCA0NDE5LCA5ODM4NDcsIDExOTEyNSwgMzQzOSwgMTgyNSwgMTE5MiwgMTIwMTA2LCA4ODkxLCAKLSAgICAzMDgwLCAxMjAyMjgsIDIzNDcsIDU0MzAsIDAsIDg5OTAsIDI4NDgsIDAsIDEyODIyMywgOTI1MjgsIDI0OSwgMCwgMCwgMCwgCi0gICAgMTIwNjU4LCAwLCAwLCA4ODgzLCA5MTc4MDIsIDcyOCwgNjgxNzgsIDk5NSwgMCwgMCwgNjQ4MjYsIDAsIDkxNzc5OCwgCi0gICAgMTI4MzQ4LCAwLCAxOTk0NSwgODA5MSwgNTU4LCAwLCAxMjI3MywgMTk0ODE0LCA5ODM4NTAsIDEyMTEyLCA2OTkxMiwgMCwgCi0gICAgMCwgNzQ0MTksIDEyMzM1LCAxMjAxMDQsIDkxNzc5NSwgMzQ0MywgMzEyOSwgMCwgMjEwMiwgNjU0NDUsIDc4MjU4LCAKLSAgICA2NDg5MSwgMCwgNzcyNSwgNjUxMDgsIDc4MjU1LCAwLCA4NjI0LCA2OTI0NiwgMTI0NDYsIDQzMjk1LCAwLCA0MTg5NCwgMCwgCi0gICAgNjI3NywgNDE2NzIsIDQxODkzLCAxMDAxMCwgMTI4Njc4LCAzNTQwLCAxMjg2NDksIDgzNSwgNzEzNDAsIDY5ODE2LCAKLSAgICAxMTk4NjgsIDc0NDA4LCAwLCA3Mzk1OSwgNTQyNiwgNDI1OCwgMCwgMCwgNTQyNCwgMTI4MTI3LCA4MjgzLCAwLCA1NDM0LCAKLSAgICA5ODM1OTAsIDAsIDE5OTE3LCAxMTQwOCwgMCwgMTE5NDcsIDAsIDE0MDQsIDMwOTUsIDExNDMyLCAxMjgzMDcsIDM0NjQsIAotICAgIDY0ODYsIDQ4MTksIDEyODIzMywgMCwgNTcwLCA4MDk1LCAzNjcyLCAxMTk4NjQsIDE0OTgsIDY3ODY2LCAwLCAxMjg1MzksIAotICAgIDQzMSwgMCwgMCwgMTI4MTgyLCAxMjgwOTYsIDY4MTY3LCA5ODM2NjMsIDEzMDk2LCAxMjg2NDMsIDAsIDQzNDA4LCA5NTE2LCAKLSAgICAxMjg1MzgsIDUyNjgsIDQyMjMwLCA0MjIyMCwgMCwgNDQ1MCwgMTIwNTExLCAxMTU0NywgNDM0MTcsIDEyODU0MiwgMzU2LCAKLSAgICAzNDc3LCAyMjcsIDEwNDg4LCA2ODIwMywgMzgyLCAxMTQxOCwgMCwgMTk1MDY2LCAwLCAwLCAwLCAwLCA2NDg0LCAyNTQxLCAKLSAgICA2NjAzOSwgMCwgNzg3MTgsIDkyNzIzLCAzNTQ5LCAwLCA5MTEwLCAxMTk2NjUsIDI3NDMsIDAsIDQzMjkwLCAxOTQ4MTIsIAotICAgIDkwOTcsIDAsIDQzMDE1LCA4NzgyLCAwLCA3NzYsIDI1MjQsIDQyNzA3LCA4NTczLCAwLCAxMjY0OTQsIDAsIDAsIDQyNjk0LCAKLSAgICA2NDk0NCwgODk1MiwgMzg1NiwgMTE4ODE4LCAwLCA1ODcyLCA2NDk1LCAwLCAwLCAwLCA5MjU0MywgMCwgMTIwNzMzLCAKLSAgICAxMjg0OSwgMzk1MywgMTg5NywgMCwgNjUwOTQsIDExOTk0LCA0MzM5LCA3NDU1NiwgOTI2NTQsIDY3ODQzLCAwLCAwLCAwLCAKLSAgICA2ODQ3MywgNzQxMDQsIDUyMjgsIDEyODgwNCwgNzg2OCwgNDMxODQsIDAsIDAsIDczOTg2LCA0MzQzOCwgMCwgNDMwMjIsIDAsIAotICAgIDExNjIsIDkxNzg0NywgMjY3MSwgMCwgMCwgOTI2MzIsIDkyNjMxLCAxMTg4NjUsIDQ1NTMsIDczODExLCAwLCAxOTUwMDUsIAotICAgIDAsIDAsIDE5OTIxLCA3NDMzMSwgMTE0MjQsIDE5NTAwNiwgNDU2NywgNDE4OTEsIDAsIDk4Mzc4OCwgNTUyNDksIDQ4MjAsIAotICAgIDY1MjM5LCAxOTQ2NjIsIDAsIDE5NDY2NSwgNDMwNDIsIDExOTIxMiwgMTM3NywgMTI4NjksIDQ4OTcsIDQyODIxLCA5MjUwLCAKLSAgICAwLCA0NDM4LCA2NDM4NSwgMCwgMTc1MywgMTEzMzEsIDYxNDcsIDE5NDk0MSwgNDMyODIsIDg4MzMsIDAsIDAsIDY1MDQsIAotICAgIDc4NDA4LCAxMjY5NzksIDEwNzE5LCAwLCAxODk4LCAxNDEzLCA0MjQ0MywgMCwgODAyLCAxMjE0MSwgMCwgMTk0NjcxLCAKLSAgICA2NjQ4LCAxMDY3MSwgMjUyOCwgMCwgNjQ3ODksIDkxNjksIDgzOCwgMTIwMDg3LCAxMjA2OTcsIDg0NCwgNTAxNCwgMCwgCi0gICAgMjU2LCAwLCA5OTkwLCAwLCA0MjczOSwgOTE3ODUxLCA3NTQyLCA2NTQ2NCwgOTcyNiwgMCwgNjQ4OSwgMTAwNDgsIDc0MzI2LCAKLSAgICA3ODcxOSwgNjY1NzMsIDAsIDc4NzI0LCA3ODcxMiwgMTE3NjEsIDE5NDY1NSwgMCwgNDEwOTQsIDAsIDAsIDE5NDg5MywgMCwgCi0gICAgOTI2ODksIDYxOTYsIDY5NDUsIDkzOTY5LCAxOTQ4OTAsIDEyODE4NCwgMTIwNDkxLCAxMTgxNiwgMTk0OTQzLCA1NzMzLCAKLSAgICAyOTMwLCAwLCAwLCA0MTA5OCwgMCwgNDEwOTMsIDAsIDY2NjI2LCA1ODgsIDk3NjAsIDAsIDE5NDcxNywgMTIzOCwgMjAwLCAKLSAgICA5ODMyMDcsIDE2NjAsIDczOTE2LCAwLCAxMTg5MDUsIDc0MzYyLCAwLCA5MjQ4NSwgMTk0NjUxLCAwLCA5ODM3MDYsIDMzOTQsIAotICAgIDE5NDg5NCwgMTIwNjY4LCAwLCAwLCAxMjczNTgsIDY2MjE5LCAxMjcxODMsIDQzMjg0LCAxOTQ2NTYsIDc4MTcsIDE4NDEsIAotICAgIDExMDU1LCAxMjA1MzMsIDE5NDk3OSwgMTk0OTgyLCAxNjY5LCAxMDc3NiwgMTk0OTgxLCA3NzAxLCAxOTQ5ODAsIDAsIAotICAgIDE5NDk5NSwgMTczMiwgNDAzMCwgMCwgMzk2MywgNjY2MTEsIDEyNzUzMCwgNDE3NjgsIDY0OTEsIDAsIDY1MzI0LCA5MTQsIAotICAgIDY1MzIzLCA4MDcxLCAzNTM4LCAwLCAyMjg3LCA2NTMyOCwgOTI0NDEsIDc0MzY3LCA3NjE0LCAwLCAxMTgxOSwgMCwgCi0gICAgMTIwMDksIDEyMzk5LCAwLCA2Nzg1MiwgNjU1MzcsIDAsIDEwODQxLCA0MzQzMCwgNTMwMSwgMCwgOTI2MTgsIDU3MzQsIAotICAgIDg5NjAsIDAsIDkyNTI3LCA2NTMxNywgNzc4ODAsIDAsIDAsIDAsIDEyMzA0LCAwLCAwLCA2NTMxNSwgOTI2NzAsIDEyODUxMSwgCi0gICAgMCwgMCwgMCwgMTE5NjIxLCA5MjUyOSwgNzQ1MzYsIDEyNDQ3LCA2NDQ4NiwgMTI3Mzc0LCAxMjY1NjIsIDk4MzEyOSwgMCwgCi0gICAgMCwgOTgzODAyLCA0Mjc2NywgMTA5MTUsIDAsIDEyMDA3LCA0MzY5NSwgMTIwNTIwLCAxMTk3NSwgMTk0ODc4LCAwLCAKLSAgICA5MjYwNCwgMjU1NSwgODYyOSwgMTI4NjQwLCA0MzE2OCwgNDE4NzIsIDQzNzA2LCA0NDk2LCAxOTQ4NzksIDEyODE0OCwgCi0gICAgMTIwMjQxLCAwLCAwLCAwLCAwLCA2NDczMCwgNzAwNDEsIDY2NzE0LCA2ODIyMiwgMCwgNzAwNzYsIDY1NTk2LCA5MjMwNiwgCi0gICAgMTE0MTYsIDQyODAsIDY3NjU1LCA4NzY1LCAxMjc4NCwgNzc5MiwgMTM5MywgMTI2NDczLCA2Nzg3MSwgNzQzODYsIDAsIAotICAgIDgyMzMsIDEyODIwLCAwLCA2NjgzLCAxOTQ4NzYsIDM0NDIsIDEyMTQ0LCAyODQxLCAxMjU0MywgMCwgMTQ3MywgNDI4MjAsIAotICAgIDY0MzI5LCAxMjc4MzIsIDAsIDY4NjQyLCA2NDg4LCAzNTcsIDEwNDgsIDQxMTAwLCAwLCA0MTEwNCwgOTQwMDMsIDM0MDYsIAotICAgIDEwNTQsIDcxMzIwLCAxMDQwLCA2NTQ1MCwgMCwgNDQzNCwgMTA2OSwgMCwgMTE4ODYyLCA2NTczNywgOTE3NzY1LCAKLSAgICAxMjg3MDUsIDAsIDk4MzY5MywgOTY5MywgNDE5NDMsIDEyNjU2NCwgNDE5MzEsIDQxNzU5LCAxMjc1NywgNDM1MywgMCwgCi0gICAgMTA1OSwgOTc5MCwgODk5NSwgMTE5OTc0LCA5ODM2OTYsIDY1OTM3LCAwLCA0MTc2NCwgMTA2NDYsIDAsIDExODgzMywgCi0gICAgOTIzNzIsIDAsIDc0ODMwLCA3ODU2OSwgMTI3NDMsIDk4MzY4OSwgNjQ4MCwgOTE3NzYxLCA0MTc3OSwgNDI1ODAsIDY2NjAxLCAKLSAgICAxMjIwNywgMTE5NjE5LCA2MzM1LCA2NjYwMiwgMTEzMTIsIDY0ODA3LCAwLCAwLCA0MTc2NywgMTE5NjI5LCA5ODM3NjQsIAotICAgIDQzMDIwLCAxMjgyNzEsIDM5NTUsIDc0MjU0LCAwLCA5ODM3NTQsIDkxNzg2MSwgMCwgNzc5MjYsIDk3NzAsIDkyNDYsIAotICAgIDEyMjMwLCAwLCAwLCAwLCAxMDQ0OCwgNDE3ODMsIDQxNzg2LCAxMjcwOTMsIDEyNzk3LCAyNzU1LCA2NDU3MSwgNzg1NzgsIAotICAgIDE5NDkyNywgNDg1NywgMCwgNDQyOCwgMTI3OTQsIDczNzU1LCAxMjgwNjEsIDc4NTc0LCAwLCA3NDI4NCwgMCwgNTc0NywgCi0gICAgNzg4MjUsIDAsIDc5NzgsIDQxMDkyLCA3NDU3MSwgMCwgMTE5MjQsIDQzODEyLCA0MjE0NCwgNjUwMTUsIDAsIDU2MywgMCwgCi0gICAgOTgzNjkxLCAxMjc5OCwgMTEyNzEsIDU3LCAwLCAwLCA5MTc4NjAsIDExOTA0MywgMCwgOTQwNTEsIDQzMTM3LCA2OTQsIDAsIAotICAgIDk4NzYsIDAsIDExOTE2OCwgMCwgNzg4MjIsIDY0NTM3LCAwLCAyNzcsIDc0Mzg1LCA3MjI5LCAxMjc2MSwgMCwgMCwgCi0gICAgMTMwMjUsIDY0ODExLCA4NzU3LCA3ODgyNCwgMTI2NDc4LCAxNTc0LCA3MzgxLCAwLCAyNTI1LCA0ODUyLCA1NzQ5LCAKLSAgICA2ODQ2NSwgMTMwMjcsIDQyODI0LCAxMjA1NzQsIDEwMzksIDcxNTEsIDEwMTU1LCA1NzQ1LCAxODgsIDQxODU4LCAxMTU5MiwgCi0gICAgMCwgNzQwMTUsIDkwNTUsIDQxODUzLCA0ODU4LCA5MTc3ODAsIDAsIDQzNiwgNDc3MSwgMCwgMjc4NiwgMCwgNDg1NiwgCi0gICAgODA1MSwgMCwgMTE5NjA5LCA3MTMyNywgOTY0NCwgMCwgMCwgMCwgMTk0OTE2LCAxMjA3MzIsIDY2NzEwLCAxMTg4MzQsIAotICAgIDk4MzM1OSwgNzM5MDYsIDEyODY4MCwgMTI3MTE0LCAwLCAxMDIzNCwgNTg0MywgMTE5MzksIDAsIDQyMTU3LCAwLCAzMTU3LCAKLSAgICAxOTQ5MTgsIDY4MzkzLCAwLCAzNTA0LCAxMTkxNzgsIDAsIDEwODIyLCA1MTQ5LCA2NjAyOSwgMTAyMjYsIDY1MTQyLCAKLSAgICAxMjgwMjUsIDM1OTQsIDQyNDI0LCAxOTQ5NTksIDQwLCAxMjY1NywgOTgzNjY1LCAwLCAzODYsIDAsIDg4MzQsIDAsIAotICAgIDEyODE1LCA0MzU3NCwgMCwgNzM5MDcsIDAsIDc0MTk2LCA3MjIwLCA3NDUwNCwgMCwgNzQzMTYsIDAsIDY1MzIyLCA0MzA0LCAKLSAgICA3NDUwMywgODE2MCwgNzg3MDcsIDE5NDc1MywgMCwgMCwgMTI4NTI2LCAxMzQ4LCA5MjM0OSwgNzg1OTcsIDEyNjUzOSwgCi0gICAgMTMzMDMsIDAsIDkyMzkyLCAxOTQ3NTUsIDc1OTksIDEyNzgsIDQzNjE2LCAxMzI2OSwgMCwgMCwgNzQzODcsIDc4MTc5LCAKLSAgICA3ODU5OCwgNzQ0OTIsIDYwOTcsIDc1NjgsIDg3ODAsIDQ5ODIsIDEyNzQ2NCwgNzQ1MDEsIDE5NDc2MywgNzg1OTIsIAotICAgIDE5NDc2MiwgMjY3MiwgMzczNSwgMTI3NDcwLCAxMzEzOCwgNDIyNjYsIDk0ODQsIDEwNzI0LCA0MTIwMiwgNzEzNjQsIDAsIAotICAgIDQzNzQyLCAwLCA5NDg3LCAxMTk5NTksIDExOTExNywgMzg0MiwgMTI4NzY4LCA3ODY2OCwgMTI0NDIsIDYxOTMsIDk3OTEsIAotICAgIDEyNzk3NiwgMCwgNDI1MTYsIDcyMjgsIDc1NTksIDc0ODAzLCA3ODQ2OCwgNzg3MywgMTEzOTksIDExOTIxOSwgMTk0NjkxLCAKLSAgICAxOTQ4NTUsIDE5NDY5MCwgMTk0ODU3LCAzNjA0LCAxMjA2ODMsIDExOTE4OCwgMTI4ODc3LCA3ODU0MCwgNzg1NDEsIAotICAgIDQyNTA3LCAxOTYyLCA0MzMwNSwgNzg0NzYsIDQyNTA1LCAxMTY2MCwgMCwgMjA3MiwgOTIzMTIsIDY5OTUsIDc0MTczLCAKLSAgICA1NDM3LCA3NDE3NCwgMTA2NjksIDg3MDIsIDc5NjQsIDkyMzUyLCAwLCAxOTksIDE5NDg0MywgNDEwNSwgMTk0ODQ1LCAKLSAgICAxOTQ2OTksIDE5NDg0NywgMTk0NzEwLCAxMTk4NzUsIDEzMTQ4LCA3NTYwLCA3ODQ3OSwgOTIyNiwgNzg0ODAsIDE5NTA3MCwgCi0gICAgNjQ3MiwgNjU4MTQsIDczOTU0LCAwLCA0NzI0LCAwLCAwLCA5MTkxLCAwLCA2NDQzMiwgOTgzODE3LCA5ODMyNDcsIAotICAgIDE5NTAyNCwgMTAxOTYsIDc4ODYsIDAsIDY1ODUsIDAsIDY2ODAsIDE5NTA0MiwgMCwgMTk1MDUxLCA2Njc5LCA3NDQxMiwgCi0gICAgOTIyNTEsIDE5NDg2NiwgNzQ0MjEsIDExMzgyLCA5ODM2MzEsIDk4MzYzNywgMTI3ODkxLCAxMjc0ODQsIDE5NDgzMywgCisgICAgNzExODYsIDIwMjEsIDExOTMzMiwgNDM4NzcsIDExOTE1MCwgNDMwMjgsIDY1NDkzLCA0MTgzOCwgMzg3NSwgNTk2MiwgCisgICAgNjQzNDEsIDkyNjE2LCA5ODE0LCA0MzQ1NywgNTgyNywgMzMxNCwgNzc4NywgNzExODksIDY1NDk0LCA2ODE1MywgMTI2OTkxLCAKKyAgICAxOTQ2OTcsIDEyMDYzNiwgNjQ1MzEsIDEyMDY5MiwgMTk0NjI2LCAwLCAwLCA2NjMxNiwgNjU0NjcsIDU3NzEsIDQxMjk4LCAKKyAgICA5ODM3OTQsIDk3NDIsIDUyMSwgMCwgMTA4MDAsIDkyMjIyLCA4NDA0LCAxOTQ2MjUsIDQ4MywgNzA5NiwgNzA4OSwgNjYzMjMsIAorICAgIDkyOCwgMCwgMCwgMTE5MDE4LCAxMDU5OSwgMTE1ODYsIDM5ODksIDEwOTcxLCA0Mzc0OCwgNjU3ODIsIDk4NDEsIDg4NDMsIAorICAgIDEyMTQ1LCA2NzI2MSwgMTAwNzQsIDc4NTQ4LCA5Mzk5OSwgMzc2OSwgMCwgMCwgMTI4NzAzLCA5ODMxMDcsIDk1NzMsIDAsIAorICAgIDY1MjkwLCA4ODQ5LCAxMTkyNTQsIDY1ODU1LCA2NTExMiwgMTc5NiwgNzEwNDYsIDAsIDY5NjY1LCA4MTY0LCA0MTMwMSwgCisgICAgMzUwMiwgMCwgNzM4OCwgMTA2MjEsIDczODM4LCA3ODU1MywgNTgyNSwgMTMwMDcsIDY4MTY1LCA5MjIwMywgMTIwNDU2LCAKKyAgICAxMjY2MSwgNzYwOCwgMTAzNTQsIDEwNDE4LCA0MjQxMSwgMjAyMiwgMCwgMTQwOSwgMTIxOTUsIDQwMDEsIDMxMTIsIAorICAgIDEwODI0LCAxMjA2MzksIDEzOTAsIDcwMTg0LCAwLCA0MjEsIDQzNTM2LCA1ODQ2LCAxMjAxMjAsIDQxMzAsIDEyNzc3NSwgCisgICAgNzU5NSwgNDI1ODgsIDc2MDAsIDc0NDAwLCA2NjAzNSwgMTk1MDkxLCAwLCA2NTg1MSwgNDI2MDcsIDEyODE5MCwgOTI0MDMsIAorICAgIDMxNjgsIDY3NzMzLCA0MjEzNCwgMTE4MzEsIDIzNzAsIDI4NDYsIDkyNjA1LCAxMjgxODMsIDAsIDEyMDEzMiwgMCwgMTgzNiwgCisgICAgMCwgMCwgOTI1NTgsIDM3NDAsIDY5ODQzLCA2MjkwLCA2NTM3NCwgMTIwNDUxLCAyMzkwLCAzOTQ0LCA2NjYyOCwgMTIwNDM0LCAKKyAgICAwLCA2MTM1LCAzMTE4LCA3NDI2NSwgMTE5MDkzLCAxMTM2OTAsIDc3OTc1LCAwLCA4MTI3LCA4OTc1LCA2NDczOSwgNzk0MywgCisgICAgMTI0OTY4LCAxMTkyMzQsIDEwNjE4LCAyNTg0LCAwLCAwLCAxMjgyMjUsIDk5OTgsIDEyMDU3MywgMCwgMCwgMTI3NzUwLCAKKyAgICA0MzUwOCwgNjIwNCwgMTI3MDQ0LCAwLCA4Mjc5LCA4Nzc2LCA2NDk1NCwgNDk3NSwgNzAwNzUsIDEyMDEzMCwgNDI2NywgCisgICAgMTYzMSwgNDIyMDYsIDc3OTgzLCAxMjgwMTUsIDE5NTA0NiwgNjU3MDAsIDY2Mzg2LCAwLCA2NDY0NSwgMCwgOTI4ODcsIAorICAgIDEyNjU4OCwgMTI1ODYsIDAsIDkyNDIsIDEyMDEwMCwgMCwgNDUyMywgNTg0MiwgMTA0OTUsIDMxMjIsIDk4Mzc5NywgNzc5MywgCisgICAgNzgyNzUsIDkzMjgsIDExOTEwNCwgNzgzOTMsIDEyNjA0LCA5Mjg4NSwgNjYxNSwgMjI4NSwgOTIzNDQsIDM5ODYsIDQ0MDI1LCAKKyAgICAwLCA4OTEyLCA2NDU1NSwgNzQwOSwgOTIyNDcsIDk4MzM1OCwgOTU0MSwgNzgyNzYsIDExMzY2OSwgMTEyNzUsIDg1NDAsIAorICAgIDExNDk4LCAwLCA5ODMzNTcsIDQxMDQwLCAyNDU5LCAxMjg2MjksIDEzMDYwLCA0MTA0MSwgNzQ0MTMsIDk4MzEzOCwgMCwgCisgICAgNzc5MzEsIDY4NDI3LCAxMDQ1MCwgMTI1NTEsIDQxMDQzLCA3MDIwLCAxMjAzNTMsIDM3NjUsIDkyODgxLCAwLCAxNjA2LCAKKyAgICAxMjAzNDgsIDkyMjk5LCAzMDkzLCA2ODQzNiwgMTI4MDQwLCA5ODMwNjEsIDExOTYxMywgMCwgMCwgNDMxMiwgNzQwOTEsIAorICAgIDEyMDMzNywgMTIwMzM2LCAxMTkyMywgNDAyMywgMTIwMzMzLCA1NzYzLCA5NDAxNSwgNDgyNywgMTA4OTQsIDEyODEwLCAKKyAgICA2NDQwNiwgMTE4Nzg1LCA0NDU1LCA3NDMyMSwgNDMzLCAxMTk2MjAsIDY2NjYwLCAyNDk5LCA2NzE2NywgNjcxNjYsIAorICAgIDExODgzNywgMTE5NzMsIDEzMDg5LCA0MjkzLCAxMjAzMjksIDQyMjI0LCA0Mjc1OCwgMTIxOTYsIDQyODM3LCA0MjIyNiwgCisgICAgMTE5MzE5LCAwLCAxMTkxMjYsIDU4MTcsIDEyNzgwNiwgNTUyNzcsIDMxMjAsIDk3OTcsIDAsIDAsIDExMDg2LCAxMDM4OSwgCisgICAgMTI2NDg1LCAwLCA0ODk1LCA2NTM1OCwgMTI0OTQxLCA0MzU5LCA1ODUsIDIzODMsIDM1MDksIDcwMDM3LCA0ODYsIDQyOTAsIAorICAgIDU3NTgsIDEyNzU0NiwgMCwgMCwgNzAwNCwgMTEzNjY3LCA2NTg4MCwgMTI2NTE0LCAxMTkwNDgsIDIzODAsIDExMzgwLCAwLCAKKyAgICA5Mzk5NiwgMjM3NiwgNzg4NDEsIDExOTMyMCwgMCwgNTE5NywgNzA4MzksIDEyNzA0NywgMTI3MDQ4LCAyMzY2LCAxMjcwNTAsIAorICAgIDEyNzA1MSwgNzA4MzcsIDEyMDA0NSwgMCwgMTI4NTU0LCAwLCA5ODMwODQsIDAsIDAsIDAsIDc0MTg4LCA3MTM0MiwgCisgICAgNzg0NTUsIDk4MzU3MywgMTIwMDQ3LCAxMjg1NzUsIDEyMDA0NiwgMTI3NTQyLCAxMjAwNDksIDAsIDE4NDcsIDAsIDEwMzM5LCAKKyAgICA5ODMzNjUsIDQyMzg0LCAwLCA0MjI3LCA3NDE1OCwgMCwgNzQ0OTgsIDQzMDMyLCAxMjUwMTAsIDQyMzY1LCAwLCAxMjY3MSwgCisgICAgMTEzODQsIDEyMDA1OSwgNzQyNjQsIDEyMDA1OCwgNjQ3OTcsIDk4MzM0NSwgNTgyMCwgOTgzMzQ0LCAxMjAwNTIsIAorICAgIDEyMDA2NSwgMTI4ODI1LCAxMjAwNjQsIDEyMDA1MywgNDIxMzcsIDk4OTMsIDI3NTQsIDEyNjY0LCAxMjAwNjMsIDEyODkwMCwgCisgICAgNzM3NywgMTI3ODY3LCA0MTc5OSwgNjU1MzAsIDE3MTEsIDEyOTg0LCA0MzAzOSwgMzExNCwgNjI1NSwgOTgzMzQwLCAKKyAgICA2ODY2MCwgMCwgMTA4NTMsIDkyNiwgOTgzMzY5LCA3NDE4NCwgOTgzMzY4LCAxMjAwNTUsIDE5NDk5MywgNDMxNzUsIDAsIAorICAgIDQzMDM3LCA0MTc5OCwgNDEwMzUsIDExNTgzLCAxMjc3NjksIDQxODAxLCAxMTkwODgsIDExOTYwNSwgNTIwLCA0MjAwLCAKKyAgICAxMjY5OSwgODMzMSwgMCwgMzA5MSwgNDEwMzQsIDY2Mjk4LCA5ODM2ODEsIDgzNjAsIDk4MzQ0MywgNzgwNDQsIDMyMSwgCisgICAgNDIyOSwgNjQ1NDMsIDEyODQ3MCwgNjU1NjMsIDAsIDkxNzk3NCwgMjg2MSwgNDM3OTMsIDEwMDk1LCAxOTQ3MzUsIDkxOTUsIAorICAgIDkyMzg2LCAxODYxLCAwLCA3MzczMywgMCwgMCwgNDMwNDEsIDAsIDQzNzk0LCAxMjg1MzAsIDM4NTksIDEyMTgxLCA0MTY2MCwgCisgICAgODIwOSwgNzA3OTMsIDczODY3LCAxMjk3MywgMCwgNzQ3NTcsIDEyNzUxNCwgNDE2NTgsIDAsIDAsIDU3NjAsIDExMzY5OSwgCisgICAgNzQzLCA0NDE0LCAxMjA3NjYsIDAsIDQyNjMyLCA5MTc5NzMsIDY1MTYxLCA3Mzg5NiwgMTI4NTg5LCAwLCAxNDA1LCAKKyAgICAxMTkwNjMsIDQzMjIwLCA0MzM0MSwgMCwgMTk5MTksIDAsIDY0NTMyLCA2NTM2NywgNDM3MTAsIDExMTk5LCAxOTQ5MDcsIAorICAgIDM1MTMsIDEyODg1NCwgNzAzNDEsIDQzMzQyLCAxMTkwNjQsIDY1NTI5LCA2NTM2NCwgMTI4MTk3LCAwLCA2NDg1LCAxMzk3LCAKKyAgICAwLCA0MTk4NiwgOTI2NzgsIDAsIDE5NDc4NCwgNzQwOTcsIDAsIDc0NzEsIDEyMDc5LCA2Nzk5NywgNjg0MywgNDMyODcsIAorICAgIDkyMzE3LCAwLCA2NzQwNiwgOTgzNzA3LCAwLCA3MTkxNCwgMTA5OSwgMTA0OTAsIDAsIDEwNTAxLCA2NTE4MSwgNzQ0NjMsIAorICAgIDEyODk1MiwgNDY0LCA0MTYyNCwgNjUyODMsIDY3NjYzLCA3ODIyMiwgMTM0NiwgMCwgNjU2NzksIDY0NTczLCA2NDg5NywgCisgICAgNDIzLCAxODE4LCA2NTE0NCwgMTEzNzQ4LCA4MjcyLCAxMjc4MTIsIDE5OTExLCA0MjE4LCAzMDg3LCA2NDk2MCwgMTI3MjM0LCAKKyAgICA0MzU2NCwgMCwgMCwgOTU4NCwgMTA0NjUsIDk4MzkwMiwgNzQzNTksIDEyNjI2LCA5MTA2LCAwLCA0MjY0MiwgNzEyMzUsIAorICAgIDY0NzUwLCA5MzkwLCAwLCA0MTc5NywgMCwgMCwgMjY1LCA0MTc5NSwgNjQ2NjYsIDc0NjI4LCA0MzUzMCwgMjc1MiwgCisgICAgMTI3MzY1LCAxMjg0NTksIDk4MzQ5MywgNTksIDk4MzY3MSwgOTgzNTkzLCAxMTE0OSwgNzgwNzQsIDc3ODczLCA0MTgxMCwgCisgICAgMCwgNzAxMCwgMCwgNDE4MDksIDQxNDk1LCAxMTkzNjQsIDU4NzcsIDQyMjUyLCA0MjIxMywgODAwOSwgMzMwNSwgNDMwMzMsIAorICAgIDUxMSwgOTI3MDAsIDQzODQ4LCAxMzEyNywgMTIwMDY3LCA5ODM5NDYsIDc0Mzk3LCAxMjAyMzUsIDkxNzk3NywgNjU5MTUsIAorICAgIDE0MDAsIDQxODEyLCAxMDY4NSwgMTk0ODcwLCAyMTAzLCAxMDM4NywgNDQ1MywgNDMyNzYsIDkxNzc4MywgMTExNjksIDAsIAorICAgIDY0ODEsIDQxMjEzLCAwLCAwLCAxMjkxMzMsIDEyOTA1MCwgNDE5ODMsIDc0MTk4LCA2NjE3LCA5MTE2LCAxMTk2NTQsIAorICAgIDkyOTk1LCA0NjIsIDY4MTEwLCAxMDQ5MywgOTE3OTc2LCA4MTI5LCA5Mjk5NCwgMTI4MzY1LCA3NDQ3MSwgNjY0NCwgCisgICAgMTE2NTgsIDAsIDEyODI0NSwgMzQ1MiwgMTE5MDYsIDk1ODEsIDEzODUsIDMwOTgsIDAsIDExOTAxMywgNDMzNDAsIDExMTIzLCAKKyAgICA0MTAzMywgNjQ5MywgNDI2MjYsIDAsIDEyOTA1MSwgMTE0MjYsIDc3ODg3LCAxNjgxLCAxMTg3ODksIDEyMDQsIDM3NTUsIAorICAgIDY0NjYxLCA3MjM1LCAxMDE3MCwgMzk2NiwgODkxMSwgMCwgNDE4NDEsIDQzMzM4LCAwLCAwLCA1NzI2LCA2NDkxNSwgCisgICAgNDIxNzUsIDk4MzkxMywgMCwgNDE0OTcsIDY1MDQ0LCAxMjAxMDksIDI4NTEsIDQzMDE3LCA5ODM1ODksIDAsIDQzNzMsIAorICAgIDc4MDU4LCAwLCA5NTg3LCAxNzg5LCA2NjcxLCAxMjg4NDAsIDMxMDAsIDAsIDY1MzYwLCAwLCA5MjM2NSwgOTE3Nzg5LCAKKyAgICA2NDkyMiwgMCwgODE5MCwgMTIwODMsIDAsIDk4MzkzMCwgNjUwNiwgNjQzMTIsIDc0Mzc0LCAyMzY4LCAwLCA0NDE5LCAKKyAgICA5ODM4NDcsIDExOTEyNSwgMzQzOSwgMTgyNSwgMTE5MiwgMTIwMTA2LCA4ODkxLCAzMDgwLCAxMjAyMjgsIDIzNDcsIDU0MzAsIAorICAgIDAsIDg5OTAsIDI4NDgsIDkyOTgxLCAxMjgyMjMsIDczOTQyLCAyNDksIDAsIDAsIDAsIDEyMDY1OCwgMTE5MzI0LCAKKyAgICAxMjg3MTIsIDg4ODMsIDExOTg2MCwgNzI4LCAxMTE3MywgOTk1LCAwLCAwLCA2NDgyNiwgMTI0OTMxLCA5MTc3OTgsIAorICAgIDEyODM0OCwgMCwgMTk5NDUsIDgwOTEsIDU1OCwgMCwgMTIyNzMsIDE5NDgxNCwgNjc3MTQsIDEyMTEyLCA2NzI3MiwgCisgICAgNjcyNjUsIDY3MjczLCA2NzI3NCwgMTIzMzUsIDEyMDEwNCwgNjgwMTksIDM0NDMsIDMxMjksIDY3MjY3LCAyMTAyLCAKKyAgICA2NTQ0NSwgNzgyNTgsIDY0ODkxLCAwLCA3NzI1LCA2NTEwOCwgMTExMjAsIDkyMDUsIDg2MjQsIDY5MjQ2LCAxMjQ0NiwgCisgICAgNDMyOTUsIDEyODUxOSwgNDE4OTQsIDAsIDYyNzcsIDQxNjcyLCA0MTg5MywgMTAwMTAsIDEyNzM4MSwgMzU0MCwgMTI4NjQ5LCAKKyAgICA4MzUsIDcxMzQwLCA2OTgxNiwgMTE5ODU0LCA3NDQwOCwgMCwgNjcxMDgsIDU0MjYsIDQyNTgsIDk4MzIzMSwgMCwgNTQyNCwgCisgICAgMTI4MTI3LCA4MjgzLCAxMjc5NzgsIDU0MzQsIDEyNTAwNCwgMCwgMTk5MTcsIDExNDA4LCAwLCAxMTk0NywgMTI4MzMwLCAKKyAgICAxNDA0LCAzMDk1LCAxMTQzMiwgMTI4MzA3LCAzNDY0LCA2NDg2LCA0ODE5LCAxMjgyMzMsIDAsIDU3MCwgODA5NSwgMzY3MiwgCisgICAgMTE5ODY0LCAxNDk4LCA2Nzg2NiwgMCwgMTI4NTM5LCA0MzEsIDEyNTA2MiwgMCwgMTI4MTgyLCAxMjgwOTYsIDY4MTY3LCAKKyAgICA5ODM2NjMsIDEzMDk2LCAxMjg2NDMsIDAsIDQzNDA4LCA5NTE2LCAxMjg1MzgsIDUyNjgsIDQyMjMwLCA0MjIyMCwgMCwgCisgICAgNDQ1MCwgMTIwNTExLCAxMTU0NywgNDM0MTcsIDEyODU0MiwgMzU2LCAzNDc3LCAyMjcsIDEwNDg4LCA2ODIwMywgMzgyLCAKKyAgICAxMTQxOCwgMCwgNTg3OCwgMCwgMCwgMCwgMCwgNjQ4NCwgMjU0MSwgNjYwMzksIDExMzc3NywgNzg3MTgsIDkyNzIzLCAKKyAgICAzNTQ5LCAxOTUwNjcsIDkxMTAsIDExOTY2NSwgMjc0MywgMCwgNDMyOTAsIDEyODU4NSwgOTA5NywgMCwgNDMwMTUsIDg3ODIsIAorICAgIDAsIDc3NiwgMjUyNCwgNDI3MDcsIDg1NzMsIDAsIDEyNjQ5NCwgMCwgNzExMDIsIDQyNjk0LCA2NDk0NCwgODk1MiwgMzg1NiwgCisgICAgMTE4ODE4LCAxMjUxMTEsIDU4NzIsIDY0OTUsIDEyOTEyNSwgMCwgMCwgOTI1NDMsIDY3MTczLCA2NzE3MiwgMTI4NDksIAorICAgIDM5NTMsIDE4OTcsIDkzMDcxLCA2NTA5NCwgMTE5OTQsIDQzMzksIDc0NTU2LCA5MjY1NCwgNjc4NDMsIDAsIDAsIDExOTA4NywgCisgICAgNjg0NzMsIDc0MTA0LCA1MjI4LCAxMTk4MzUsIDc4NjgsIDQzMTg0LCAwLCAwLCA3Mzk4NiwgNDM0MzgsIDAsIDQzMDIyLCAKKyAgICA5MTc1NTMsIDExNjIsIDkxNzg0NywgMjY3MSwgMTI4NTY3LCAwLCA5MjYzMiwgOTI2MzEsIDExODg2NSwgNDU1MywgNzM4MTEsIAorICAgIDAsIDE5NTAwNSwgMTE4OTI4LCAwLCAxOTkyMSwgNzQzMzEsIDExNDI0LCAxOTUwMDYsIDQ1NjcsIDQxODkxLCAwLCAKKyAgICA5ODM3ODgsIDU1MjQ5LCA0ODIwLCA2NTIzOSwgMTk0NjYyLCAwLCAxOTQ2NjUsIDQzMDQyLCAxMTkyMTIsIDEzNzcsIAorICAgIDEyODY5LCA0ODk3LCA0MjgyMSwgOTI1MCwgOTE3NTU4LCA0NDM4LCA2NDM4NSwgMCwgMTc1MywgMTEzMzEsIDYxNDcsIAorICAgIDE5NDk0MSwgNDMyODIsIDg4MzMsIDY5OTk4LCAwLCA2NTA0LCA3ODQwOCwgMTI2OTc5LCAxMDcxOSwgMTI4NDY5LCAxODk4LCAKKyAgICAxNDEzLCA0MjQ0MywgMCwgODAyLCAxMjE0MSwgMCwgMTk0NjcxLCA2NjQ4LCAxMDY3MSwgMjUyOCwgMCwgNjQ3ODksIDkxNjksIAorICAgIDgzOCwgNzAzNzIsIDEyMDY5NywgODQ0LCA1MDE0LCA2NjI5NywgMjU2LCAwLCA5OTkwLCAwLCA0MjczOSwgOTE3ODUxLCAKKyAgICA3NTQyLCA2NTQ2NCwgOTcyNiwgMCwgNjQ4OSwgMTAwNDgsIDc0MzI2LCA3ODcxOSwgNjY1NzMsIDAsIDc4NzI0LCA3ODcxMiwgCisgICAgMTE3NjEsIDE5NDY1NSwgMTE4ODc0LCA0MTA5NCwgMCwgMTI5MTcyLCAxOTQ4OTMsIDc4NDAzLCA5MjY4OSwgNjE5NiwgCisgICAgNjk0NSwgOTM5NjksIDEyNzk5MCwgNjcwOTUsIDEyMDQ5MSwgMTE4MTYsIDEyNjU2NywgNTczMywgMjkzMCwgNzg0MDYsIDAsIAorICAgIDQxMDk4LCA5Mjc3MSwgNDEwOTMsIDAsIDY2NjI2LCA1ODgsIDk3NjAsIDEyOTExMiwgMTk0NzE3LCAxMjM4LCAyMDAsIAorICAgIDk4MzIwNywgMTY2MCwgNzM5MTYsIDAsIDY3MTQxLCA3NDM2MiwgMCwgOTI0ODUsIDEyNDkzMCwgMCwgOTgzNzA2LCAzMzk0LCAKKyAgICAxOTQ4OTQsIDEyMDY2OCwgMCwgNjk5OTYsIDEyNzM1OCwgNjYyMTksIDcyNDI1LCA0MzI4NCwgMTI3MjM2LCA3ODE3LCAKKyAgICAxODQxLCAxMTA1NSwgNjY4MzUsIDE5NDk3OSwgNzQ2MDcsIDE2NjksIDEwNzc2LCA3NDUzNCwgNzcwMSwgMTk0OTgwLCAwLCAKKyAgICAxOTQ5OTUsIDE3MzIsIDQwMzAsIDAsIDM5NjMsIDY2NjExLCAxMjc1MzAsIDQxNzY4LCA2NDkxLCAxMjc1MTgsIDY1MzI0LCAKKyAgICA5MTQsIDY1MzIzLCA4MDcxLCAzNTM4LCAwLCAyMjg3LCA2NTMyOCwgOTI0NDEsIDc0MzY3LCA3NjE0LCAwLCAxMTgxOSwgCisgICAgNzE5MDgsIDEyMDA5LCAxMjM5OSwgMCwgNjc4NTIsIDY1NTM3LCAwLCAxMDg0MSwgNDM0MzAsIDUzMDEsIDAsIDkyNjE4LCAKKyAgICA1NzM0LCA4OTYwLCAwLCA3MDEyMywgNjUzMTcsIDc3ODgwLCAwLCA1ODc2LCA3MDM3NCwgMTIzMDQsIDAsIDAsIDY1MzE1LCAKKyAgICA5MjY3MCwgMTI4NTExLCA3MTg2MiwgMCwgMCwgMTE5NjIxLCAxMTExNCwgNzE5MDksIDEyNDQ3LCA2NDQ4NiwgMTI3Mzc0LCAKKyAgICAxMjY1NjIsIDk4MzEyOSwgMCwgMCwgOTgzODAyLCA0Mjc2NywgMTA5MTUsIDAsIDEyMDA3LCA0MzY5NSwgMTIwNTIwLCAKKyAgICAxMTk3NSwgMTk0ODc4LCAwLCA5MjYwNCwgMjU1NSwgODYyOSwgMTI4NjQwLCA0MTEzMywgNDE4NzIsIDQzNzA2LCA0NDk2LCAKKyAgICAxOTQ4NzksIDEyODA2NSwgMTIwMjQxLCAwLCAwLCAwLCA5ODM1NTMsIDY0NzMwLCA3MDA0MSwgNjY3MTQsIDY4MjIyLCAwLCAKKyAgICA3MDA3NiwgNjU1OTYsIDkyMzA2LCAxMTQxNiwgNDI4MCwgNjc2NTUsIDg3NjUsIDEyNzg0LCA3NzkyLCAxMzkzLCA3ODE5MSwgCisgICAgMTExNTcsIDc0Mzg2LCAwLCA4MjMzLCAxMjgyMCwgMCwgNjY4MywgMTk0ODc2LCAzNDQyLCAxMjE0NCwgMjg0MSwgMTI1NDMsIAorICAgIDAsIDE0NzMsIDQyODIwLCA2NDMyOSwgMTI3ODMyLCAwLCA2ODY0MiwgNjQ4OCwgMzU3LCAxMDQ4LCA0MTEwMCwgNzI0MTcsIAorICAgIDQxMTA0LCA5NDAwMywgMzQwNiwgMTA1NCwgNzEzMjAsIDEwNDAsIDY1NDUwLCA5ODMzODMsIDQ0MzQsIDEwNjksIDAsIAorICAgIDExODg2MiwgNjU3MzcsIDE5NDYzNCwgMTI4NzA1LCAwLCAxMjQ5NTUsIDk2OTMsIDQxOTQzLCA2ODMwNSwgNDE5MzEsIAorICAgIDQxNzU5LCAxMjc1NywgNDM1MywgOTgzMzUxLCAxMDU5LCA5NzkwLCA4OTk1LCAxMTk5NzQsIDkxNzc3MCwgNjU5MzcsIAorICAgIDc4NTcyLCA0MTc1OCwgMTA2NDYsIDAsIDExODgzMywgOTIzNzIsIDcwNDI0LCA3NDgzMCwgNzg1NjksIDEyNzQzLCAKKyAgICA5ODM2ODksIDY0ODAsIDkxNzc2MSwgNDE3NzksIDQyNTgwLCA2NjYwMSwgMTIyMDcsIDc3ODk1LCA2MzM1LCA2NjYwMiwgCisgICAgMTEzMTIsIDY0ODA3LCA5Mjk2MiwgNjk5ODksIDQxNzY3LCAxMTk2MjksIDk4Mzc2NCwgNDMwMjAsIDEyODI3MSwgMzk1NSwgCisgICAgNzQyNTQsIDEyMDYzMiwgOTgzNzU0LCA5MTc4NjEsIDcwMTg3LCA2OTk3NSwgOTc3MCwgOTI0NiwgMTIyMzAsIDEyNTA0NywgCisgICAgMCwgNzg1ODAsIDEwNDQ4LCA0MTc4MywgNDE3ODYsIDEyNzA5MywgMTI3OTcsIDI3NTUsIDY0NTcxLCA3ODU3OCwgMTk0OTI3LCAKKyAgICA0ODU3LCA5ODM1NzcsIDQ0MjgsIDEyNzk0LCA3Mzc1NSwgMTI4MDYxLCA3ODU3NCwgMCwgMTExMTYsIDQzODQyLCA1NzQ3LCAKKyAgICA3ODgyNSwgNzA0NzEsIDc5NzgsIDQxMDkyLCA3NDU3MSwgMCwgMTE5MjQsIDQzODEyLCA0MjE0NCwgNjUwMTUsIDAsIDU2MywgCisgICAgMCwgOTgzNjkxLCAxMjc5OCwgMTEyNzEsIDU3LCA5MjcxNywgOTgzMjM5LCA5MTc4NjAsIDExOTA0MywgMCwgOTQwNTEsIAorICAgIDQzMTM3LCA2OTQsIDAsIDk4NzYsIDAsIDExOTE2OCwgMCwgNzAzOTIsIDY0NTM3LCAwLCAyNzcsIDc0Mzg1LCA3MjI5LCAKKyAgICAxMjc2MSwgMCwgNzQ0NjYsIDEzMDI1LCA2NDgxMSwgODc1NywgNzg4MjQsIDc4MTg4LCAxNTc0LCA3MzgxLCAwLCAyNTI1LCAKKyAgICA0ODUyLCA1NzQ5LCA2ODQ2NSwgMTMwMjcsIDQyODI0LCAxMjA1NzQsIDEwMzksIDcxNTEsIDEwMTU1LCA1NzQ1LCAxODgsIAorICAgIDQxODU4LCAxMTU5MiwgMTI5MTU2LCA2OTcyNSwgOTA1NSwgNDE4NTMsIDQ4NTgsIDkxNzc4MCwgMCwgNDM2LCA0NzcxLCAwLCAKKyAgICAyNzg2LCA5MzAyOCwgNDg1NiwgODA1MSwgOTI1MDAsIDExOTYwOSwgNzEzMjcsIDk2NDQsIDAsIDEyNTAwOSwgMTI4ODczLCAKKyAgICAxOTQ5MTYsIDEyMDczMiwgNjY3MTAsIDExODgzNCwgOTgzMzU5LCA3MzkwNiwgNjc0MDksIDEyNzExNCwgMCwgMTAyMzQsIAorICAgIDU4NDMsIDExOTM5LCA3MDM0NiwgNDIxNTcsIDAsIDMxNTcsIDE5NDkxOCwgNjgzOTMsIDAsIDM1MDQsIDExOTE3OCwgMCwgCisgICAgMTA4MjIsIDUxNDksIDY2MDI5LCAxMDIyNiwgNjUxNDIsIDEyODAyNSwgMzU5NCwgNDI0MjQsIDEyNDk5MywgNDAsIDEyNjU3LCAKKyAgICA5ODM2NjUsIDAsIDM4NiwgMCwgODgzNCwgMCwgMTI4MTUsIDQzNTc0LCAxMjg0MDcsIDczOTA3LCAwLCA3MDExMywgNzIyMCwgCisgICAgMTE4MzksIDEyNDk4NCwgNzQzMTYsIDAsIDY1MzIyLCA0MzA0LCA3NDUwMywgODE2MCwgNzQzMTQsIDE5NDc1MywgMCwgMCwgCisgICAgMTI4NTI2LCAxMzQ4LCA5MjM0OSwgNzg1OTcsIDEyNjUzOSwgMTMzMDMsIDcwNDA2LCA5MjM5MiwgMTI4NDc0LCA3NTk5LCAKKyAgICAxMjc4LCA0MzYxNiwgMTMyNjksIDEyNzgwNSwgMTI3MTEwLCA3NDM4NywgNzgxNzksIDc4NTk4LCA3NDQ5MiwgNjA5NywgCisgICAgNzU2OCwgODc4MCwgNDk4MiwgMTI3NDY0LCA3NDUwMSwgMTk0NzYzLCA3ODU5MiwgMTk0NzYyLCAyNjcyLCAzNzM1LCAKKyAgICAxMjc0NzAsIDEzMTM4LCA0MjI2NiwgOTQ4NCwgMTA3MjQsIDQxMjAyLCA3MTM2NCwgMTI4MzcwLCA0Mzc0MiwgMTI4MzczLCAKKyAgICA5NDg3LCAxMTk5NTksIDkyOTEzLCAzODQyLCA3MTkxMSwgNzg2NjgsIDEyNDQyLCA2MTkzLCA5NzkxLCAxMTkzNDQsIDAsIAorICAgIDQyNTE2LCA3MjI4LCA3NTU5LCA3NDgwMywgNzg0NjgsIDc4NzMsIDExMzk5LCAxMTkyMTksIDE5NDY5MSwgNzAwMDYsIAorICAgIDE5NDY5MCwgMTI3NTM3LCAzNjA0LCAxMjA2ODMsIDExOTE4OCwgMTI4ODc3LCA3ODU0MCwgNzg1NDEsIDQyNTA3LCAxOTYyLCAKKyAgICA0MzMwNSwgNzg0NzYsIDQyNTA1LCAxMTY2MCwgMCwgMjA3MiwgOTIzMTIsIDY5OTUsIDc0MTczLCA1NDM3LCA3NDE3NCwgCisgICAgMTA2NjksIDg3MDIsIDc5NjQsIDkyMzUyLCA5ODM3NzYsIDE5OSwgMTk0ODQzLCA0MTA1LCAxOTQ4NDUsIDE5NDY5OSwgCisgICAgMTk0ODQ3LCAxOTQ3MTAsIDExOTg3NSwgMTMxNDgsIDc1NjAsIDc4NDc5LCA5MjI2LCA3ODQ3OCwgMTk1MDcwLCA2NDcyLCAKKyAgICA2NTgxNCwgNzE5MTksIDAsIDQ3MjQsIDEyODQ5MSwgMTk1MDQxLCA5MTkxLCAwLCA2NDQzMiwgOTgzODE3LCAxMTM2ODAsIAorICAgIDExOTE5MCwgMTAxOTYsIDc4ODYsIDAsIDY1ODUsIDAsIDY2ODAsIDE5NTA0MiwgMCwgNzE4NzIsIDY2NzksIDc0NDEyLCAKKyAgICA5MjI1MSwgMTk0ODY2LCA3NDQyMSwgMTEzODIsIDEyODI1NCwgNDM4NjIsIDc4NTkxLCAxMTM3MzMsIDE5NDgzMywgCiAgICAgMTk0ODMyLCA2NjgxLCAxMjc0ODIsIDEyNjkzLCAxOTQ4MzYsIDQyNzI3LCA3ODE5NiwgMTI4MjUyLCA3ODE5NSwgNjU0NDIsIAotICAgIDExOTYxMCwgNjk3MzMsIDk5ODksIDQzMjQ4LCA2NjI0OCwgMTk0ODE2LCAwLCAxMTMyMSwgMTI4ODQ1LCAxOTQ4MjAsIAotICAgIDE5NDgxOSwgNTI5NywgNzA0MiwgMTMyODQsIDYxMTIsIDc5NjgsIDE5NDgyNSwgNzM5MjcsIDkyNDQ0LCAxOTQ3MzYsIAotICAgIDY1NzQ2LCAxMjc0NzYsIDY5ODg5LCA3NDM4OSwgMTI4Njk2LCA0MzQyLCA0MjgzOSwgMTk0ODMxLCAxNjc3LCAwLCAwLCAKKyAgICAxMTk2MTAsIDY5NzMzLCA5OTg5LCA0MzI0OCwgNjYyNDgsIDE5NDgxNiwgMCwgMTEzMjEsIDEyODg0NSwgMTIwODA5LCAKKyAgICAxOTQ4MTksIDUyOTcsIDcwNDIsIDEzMjg0LCA2MTEyLCA3OTY4LCA5MzAxMCwgNzM5MjcsIDkyNDQ0LCAxMjczMzYsIAorICAgIDY1NzQ2LCAxMTg3OTYsIDY5ODg5LCA3NDM4OSwgMTI4Njk2LCA0MzQyLCA0MjgzOSwgMTI4OTc5LCAxNjc3LCAwLCAwLCAKICAgICAxMjY1OTAsIDkxNzg1NSwgMTEwOTEsIDExMDExLCAyNzE5LCAwLCAwLCAxMTk1OTUsIDEwMTYwLCAwLCAwLCA3NTg1LCAKLSAgICA2NTE2OSwgMjA1MiwgNDMwOCwgOTIxNzQsIDQzMDAwLCA3NTA1LCA1NDMsIDY0OTE2LCA2NDczNiwgMCwgMCwgNjQ2NTUsIDAsIAotICAgIDExODkyMiwgMjA2NCwgMCwgNDMxNTgsIDc5MDIsIDAsIDY1MjY1LCAxOTQ2MzksIDAsIDEyNzE3MCwgMCwgOTgzNjI1LCAwLCAKLSAgICAwLCAxMjk5NCwgOTI3MjgsIDEwODI4LCA5ODM5NDMsIDYyMjgsIDQzMDcsIDM0ODIsIDEyODUyNywgMCwgMCwgMCwgNTA2LCAKLSAgICA3NDU3MywgNDExOTQsIDY1NzM1LCAyMDU1LCA0MzI1NSwgNDExOTUsIDAsIDgxNjksIDk4MzY4MCwgODg0MSwgMCwgNTE2LCAKLSAgICA5Mzk3NCwgMjA2MywgMTE5MDUxLCAzNCwgMTI4ODUwLCAxMjAxODYsIDExNTA0LCAxNjEyLCA3NDMzMywgMTIwMTgyLCAKLSAgICAxMTgyNywgNzQzMDgsIDEyMDAxLCAxMjAxNzgsIDEwMjQyLCA2NDU2NCwgMTIwMTc5LCA2Nzk4NiwgNjU4NCwgNzc0OSwgCi0gICAgMTEwMzcsIDAsIDE3NTgsIDEyNzA5MiwgMTA2NjcsIDEwNTYwLCAxMjAxOTcsIDkyNTkzLCAxOTM1LCAxMTUxNywgMTIwMTkzLCAKLSAgICAxMjAxOTYsIDEyMDE5NSwgMTkzMSwgMTIwMTg5LCA3NDgzOSwgMTIwMTkxLCAxMjE3LCA2NDcwMiwgMTI2NDMsIDgyNSwgCi0gICAgMTI3ODM4LCAxOTQ5MDUsIDEyMjk0LCA5MjQyOCwgNzg4MzQsIDkxMzgsIDc4ODMxLCA3ODgzMywgMTI2MzEsIDc4ODI5LCAKLSAgICAxMTA4MCwgNzQ1NTQsIDY0MDAwLCA1NTkxLCAxMjM5LCAwLCAxMTMxMywgMCwgMzQwMywgMCwgMCwgNjQzNjQsIDkyMjY5LCAKLSAgICAwLCA3NDU4MiwgODk5OCwgMTI5ODgsIDAsIDkxNTIsIDk4Mzg0OSwgMCwgMTI2NDg0LCA2NzU4OSwgNDE4NTAsIDY0MjkwLCAKLSAgICAzNDMzLCA5MjM5MywgMTI2MTUsIDE1OTQsIDQyMTkyLCA2OTE0LCA2NzYwMywgMCwgMTE5NTY5LCA3NDU2NSwgNDEzNTMsIAotICAgIDY3NjAyLCA2NzYxMSwgNDMzNywgMCwgMTI3Mjk2LCA5MTgsIDY1MDM1LCA0MTM1MSwgNzY4MSwgMTk0OTAwLCA0MjU3NywgCi0gICAgNDEzOTMsIDEyNjY4LCAxOTQ5MDQsIDI0NzcsIDEyNzI4NSwgMCwgMTI3MzAxLCAwLCA2NzYwNCwgMTk0ODgwLCAxMjcyMzUsIAotICAgIDU3MywgMTI3MjgyLCAxOTQ4ODQsIDExNDE3LCAxOTQ4ODYsIDExOTgxNCwgMTk0ODg4LCA2NzU5OSwgMCwgMTk0ODg5LCAKLSAgICA2NzYwNywgMTE0ODIsIDAsIDM5ODEsIDMzNTcsIDAsIDQyMjIzLCA0MjA3LCAxMjg4LCA3ODg0MiwgNzg4MzksIDY4NDE5LCAKLSAgICA3ODgzNywgMTE1ODksIDQyMTk1LCAxOTQ4NzIsIDE5NDU5OSwgMTI3MjYzLCA2NDYwMiwgNjc2MTgsIDkyNTM5LCAwLCAKLSAgICA0Mjc4OCwgNjg0MTYsIDY0NDgwLCAxOTQ4NzUsIDg0MjMsIDMzNDgsIDQ0OCwgNjg0NzYsIDk3MTcsIDAsIDAsIDk5NywgMCwgCi0gICAgMCwgOTI1NzcsIDAsIDExNDQwLCAxMTM3OSwgNDIwMDAsIDEzMTM5LCA0MjIyMSwgNjUwMTMsIDEyNjk5OSwgMTI3NzYwLCAKLSAgICA3Mzc5NiwgMCwgMTE5MjI4LCAxMjAzNSwgMCwgMjgxOCwgMCwgNzQ0MTEsIDczNzkzLCAwLCA0MTcyLCAwLCAwLCA4MzczLCAKLSAgICAxMDg3MywgMTIxOTcsIDAsIDAsIDkyMjY1LCA2OTcwNiwgMCwgNzgyMTAsIDAsIDEyODExMCwgMTk0ODY1LCAxMjY5ODIsIAotICAgIDc0NTYzLCA2NDgyOCwgMTE0MTksIDE5NDg2OCwgNzY2LCAxMjU3LCAwLCAxMTg4NDUsIDExMzgxLCAzMjY1LCA2NjYxNywgCi0gICAgMzI3NCwgMTI3MzY1LCAxMjY1MjMsIDk0MDQyLCA5ODM5NTAsIDc0NTIyLCA0MTk4OSwgMCwgMCwgMTI4Nzk4LCAzMjYzLCAwLCAKLSAgICA2NTY3MiwgMCwgMzI3MCwgNjQ1MzksIDExNDg5LCAwLCAwLCAwLCAwLCA5NTA1LCA2NTUxOCwgMTk0Nzc2LCA3NTYsIAotICAgIDE5NDYwNSwgMCwgMCwgMCwgNzI2MSwgMCwgMTg2LCAwLCAxMTkxNTYsIDU3NzAsIDEzMTc5LCA2NTgzMCwgMTI2MTIsIAotICAgIDEyOTQ5LCA2NDg1NiwgMTI4MDAsIDk4MzkwMSwgNzQyMDMsIDY0NzE4LCAxMTUwNywgMCwgOTI0MzQsIDExODkyOSwgMCwgCi0gICAgMTE1NzgsIDAsIDExOTI5NiwgMCwgMCwgMCwgMCwgNzQ1NjgsIDkyNTQsIDAsIDE3OTQsIDEyMDIxNywgNjQ1MjEsIDU2MjQsIAotICAgIDEyMDIyMCwgMTIwMjIxLCAxMTk5NTgsIDEyMDIyMywgMzYxNywgNjY2MzYsIDY0ODg2LCA5NDA2MSwgMTIwMjEyLCAKLSAgICAxMjAyMTMsIDEyMDIxNCwgMTg3MiwgNjY1MDgsIDEyMDQ2NywgNDEwNzksIDEwNzQ4LCA1NTAyLCAxMTkzMzAsIDQ0NTIsIDAsIAotICAgIDk4Mzc3MSwgOTI1MjYsIDQ1MTEsIDAsIDk4Mzg3NywgNjQ2NzgsIDExNDI1LCAwLCA0MzI0NSwgMTIzMSwgMTk0NzgzLCAKLSAgICA2OTkwMywgMCwgOTAwMywgODE5MiwgMCwgNTMwNSwgOTY1MywgMTA2MTYsIDg2OTQsIDk1NDYsIDAsIDAsIDEyMDQ3OCwgCi0gICAgMTIwMjAwLCA2NTIwNSwgMTIwMjAyLCA2NDA2MywgOTg3OCwgNzQ3ODAsIDExOTYyNiwgNzgyMDIsIDY0MDU4LCA4Nzk5LCAKLSAgICA0MjEzMSwgMCwgNjQwNjIsIDEwMjgsIDY0MDYwLCA2NDA1OSwgODM3LCAxMDU2NywgMCwgNDMxMDMsIDAsIDEyMDc1NCwgCi0gICAgMTE0MjcsIDI5MDIsIDY0MDQzLCA2NDA0MiwgNDM3NDksIDEwNzU2LCA2NDA0NywgNDI2MDYsIDY0MDQ1LCA2NDA0NCwgCi0gICAgNDM5NzksIDEwMDc2LCA2NDA0MCwgNDMwNjAsIDE5NDk0MiwgMTAzNCwgMzM5MiwgMTI3NzcxLCA0MzA5MSwgNjQwMzMsIAotICAgIDY0MDMyLCA0MjczNSwgNjQwMzgsIDY0MDM3LCA2NDAzNiwgNjQwMzUsIDQyOTEsIDE5NDkyOCwgNjQwMTUsIDY0MDE0LCAKLSAgICA2NDY4MSwgMTk0OTMwLCAwLCA3ODE0NSwgMCwgNDMwOTAsIDAsIDM0NzYsIDg5NzMsIDY0MDEyLCA0MjQ3MywgNjQwMTAsIAotICAgIDY0MDA4LCA2NDAwNywgMjAwMywgNzcwNiwgNjQ1MTcsIDc4MTUzLCAyNTM4LCA2NDAwOSwgMjA0LCAwLCA0ODAyLCA0MTExLCAKLSAgICA4MjM5LCA5MDk4LCA0ODA1LCA2NDAwMSwgNjQwNTcsIDc4ODUsIDcyNDcsIDY0MDU0LCA5ODMyNjYsIDAsIDQ3NjcsIDkzNDMsIAotICAgIDY0MDQ5LCA2NDA0OCwgMTIwMDM0LCAxMTMzLCA2NDA1MywgNjQwNTIsIDQzNDUzLCA2NDA1MCwgNDEzNDAsIDExODk3NSwgCi0gICAgMTk0ODM1LCAxMDAwNSwgMTIzMjksIDQxMzMzLCAwLCA4NDg5LCAxOTQyLCAwLCAxOTQ4MzQsIDQyNTIwLCAxMjgyNDksIDAsIAotICAgIDAsIDEwNzYwLCA2NDAyMywgNjQwMjIsIDY0MDIxLCA2NTgyLCA0MzY3MCwgMCwgNjQwMjUsIDkxNjcsIDQyMTUxLCA3ODI0NCwgCi0gICAgOTgzMjMyLCAyMDI2LCA2NDAxOSwgNjQwMTgsIDY0MDE3LCA2NDAxNiwgMTI3NjgsIDAsIDc1ODIsIDc4MjUyLCA3ODI0OCwgCi0gICAgNzc5MTQsIDc4MjQ2LCA3ODI0NywgMCwgNzc5MTUsIDc4NzY2LCA2Nzg4LCAxMzA5NCwgNzc5MjAsIDc1MzIsIDQxNDE0LCAKLSAgICA3ODUyMCwgMzE3OSwgNzg1MTgsIDY0NzY5LCA3ODUxNCwgNzg1MTcsIDExNDYxLCA3NDQ1NCwgMTA3NTEsIDkwNTEsIAotICAgIDEyMDcyMCwgNjcwOCwgMTA1MzUsIDk4MzYyNywgNjgyMTgsIDU1Mjc0LCAyMDA4LCA2NDAzMSwgNjQwMzAsIDI5NCwgCi0gICAgNDE4NzQsIDAsIDEyNjk5MSwgNjU5MjksIDAsIDAsIDAsIDAsIDY0MDI4LCA4MTQ2LCA2NDAyNiwgNDE3ODgsIDE5NDg0NCwgCi0gICAgMCwgNDM1MSwgNjM0MywgNDMyNDcsIDExOTg4OCwgMCwgMTE5ODg2LCAxMTk4OTEsIDExOTg5MiwgMTE5ODg5LCAxMTQzMywgCi0gICAgMTE5ODk1LCAxMTk4OTYsIDAsIDc4MDEsIDY1NTc4LCAxOTQ4MzksIDEyOTE1LCA0Mzk2OCwgMzI5NywgOTY5OSwgMTk0OTU1LCAKLSAgICAxMTM1LCAwLCAwLCAxMjg1MjUsIDE5OTUsIDY3MjIsIDk4MzkyNSwgMCwgMjU1MiwgNDE1NDYsIDYwLCA2ODM5NCwgODY0OSwgCi0gICAgNDE1NDksIDc4NDk2LCA5ODMzMjcsIDAsIDY2ODIsIDAsIDc4Njc5LCA2NDcxMCwgNDE1NDcsIDk4MzYzMCwgMjAxMywgCi0gICAgMTI4MjkxLCA3ODUzMCwgNzg1MzIsIDc4NTI4LCA3ODUyOSwgMTI4MzIsIDc4NDkzLCA4MDgxLCA4MzYyLCAzNTM3LCAKLSAgICAxMTk5MDgsIDkxMzcsIDcxNTUsIDg5OTksIDAsIDc4NTMzLCAzNDY2LCAwLCAwLCAxOTk2LCAwLCAzNDUzLCA2MjgyLCAwLCAKLSAgICAyMDAyLCAyMDAwLCAxMjAxNzUsIDUzNywgMCwgNDE3OSwgNjUxMTksIDE5OTgsIDAsIDE4NDIsIDAsIDkyNjc0LCA5NjI4LCAKLSAgICA2ODQ0NiwgMTIwODEsIDk4MjYsIDY0NTAyLCAxNzY3LCAwLCAwLCAwLCAxMjAyMDEsIDk4MzY0NiwgMCwgMCwgMzA1OSwgCi0gICAgNDQwMjQsIDEyMDIwNCwgMTE5OTUzLCA5MjY5MywgMCwgMCwgOTI0NTIsIDQxMDAsIDkyMCwgMTgxMSwgMTM1NSwgMCwgMCwgCi0gICAgMzU5MiwgMTAwNzgsIDAsIDAsIDAsIDg1OTIsIDY1ODcwLCA2ODE2NCwgMTI4NzkyLCAxMDc0MiwgMCwgNDI5MTgsIDE5OTQsIAotICAgIDkyODEsIDMyOTYsIDEyODY1LCAxOTk3LCAxODk1LCAKKyAgICA2NTE2OSwgMjA1MiwgNDMwOCwgOTIxNzQsIDQzMDAwLCA3NTA1LCA1NDMsIDY0OTE2LCA2NDczNiwgMTE4ODM1LCAwLCAKKyAgICA2NDY1NSwgMCwgMTE4OTIyLCAyMDY0LCAwLCA0MzE1OCwgNzkwMiwgMCwgNjUyNjUsIDE5NDYzOSwgMCwgMTI3MTcwLCAwLCAKKyAgICA5ODM2MjUsIDkyNTUwLCAwLCAxMjk5NCwgOTI3MjgsIDEwODI4LCA3NDM3OCwgNjIyOCwgNDMwNywgMzQ4MiwgMTI4NTI3LCAKKyAgICAwLCA3MjM4OSwgMCwgNTA2LCA3NDU3MywgNDExOTQsIDY1NzM1LCAyMDU1LCA0MzI1NSwgNDExOTUsIDAsIDgxNjksIAorICAgIDk4MzY4MCwgODg0MSwgMCwgNTE2LCA5Mzk3NCwgMjA2MywgMTE5MDUxLCAzNCwgMTI4ODUwLCAxMjAxODYsIDExNTA0LCAKKyAgICAxNjEyLCA3NDMzMywgMTIwMTgyLCAxMTgyNywgNjcxNjUsIDEyMDAxLCAxMjAxNzgsIDEwMjQyLCA2NDU2NCwgMTIwMTc5LCAKKyAgICA2Nzk4NiwgNjU4NCwgNzc0OSwgMTEwMzcsIDEyODc0MywgMTc1OCwgMTE5MDc0LCAxMDY2NywgMTA1NjAsIDEyMDE5NywgCisgICAgOTI1OTMsIDE5MzUsIDExNTE3LCAxMjAxOTMsIDEyMDE5NiwgMTIwMTk1LCAxOTMxLCAxMjAxODksIDc0ODM5LCAxMjAxOTEsIAorICAgIDEyMTcsIDY0NzAyLCAxMjY0MywgODI1LCAxMjc4MzgsIDE5NDkwNSwgMTIyOTQsIDkyNDI4LCA3ODgzNCwgOTEzOCwgCisgICAgNzg4MzEsIDc4ODMzLCAxMjYzMSwgNzE4NzEsIDExMDgwLCA3NDU1NCwgNjQwMDAsIDU1OTEsIDEyMzksIDEyNzE5OSwgCisgICAgMTEzMTMsIDE5NDgwMywgMzQwMywgMCwgMTIwMjcxLCA2NDM2NCwgOTIyNjksIDEyNzkwNCwgNzI0MzEsIDg5OTgsIDEyOTg4LCAKKyAgICAxMTk5ODMsIDkxNTIsIDk4Mzg0OSwgMCwgMTI2NDg0LCA2NzU4OSwgNDE4NTAsIDY0MjkwLCAzNDMzLCA5MjM5MywgMTI2MTUsIAorICAgIDE1OTQsIDQyMTkyLCA2OTE0LCA2NjM5MiwgMCwgMTE5NTY5LCA3NDU2NSwgNDEzNTMsIDY3NjAyLCA2NzYxMSwgNDMzNywgMCwgCisgICAgMTI3Mjk2LCA5MTgsIDY1MDM1LCA0MTM1MSwgNzY4MSwgMTk0OTAwLCA0MjU3NywgNDEzOTMsIDEyNjY4LCA3MjM5NSwgCisgICAgMjQ3NywgMTI3Mjg1LCAwLCAxMjczMDEsIDAsIDY3NjA0LCA2NzY4MywgMTI3MjM1LCA1NzMsIDEyNzI4MiwgMTIwNTQzLCAKKyAgICAxMTQxNywgMTk0ODg2LCAxMTk4MTQsIDExOTMwOSwgNjc1OTksIDAsIDcyNDEwLCA2NzYwNywgMTE0ODIsIDAsIDM5ODEsIAorICAgIDMzNTcsIDAsIDQyMjIzLCA0MjA3LCAxMjg4LCA3ODUwMywgNzg4MzksIDY3NzI4LCA3ODgzNywgMTE1ODksIDQyMTk1LCAKKyAgICA3NDQ3NywgMTE5OTk3LCAxMjcyNjMsIDY0NjAyLCA2NzYxOCwgOTI1MzksIDAsIDQyNzg4LCA2ODQxNiwgNjQ0ODAsIAorICAgIDE5NDg3NSwgODQyMywgMzM0OCwgNDQ4LCA2NjkwNywgOTcxNywgMTE5MzExLCAwLCA5OTcsIDAsIDAsIDkyNTc3LCAwLCAKKyAgICAxMTQ0MCwgMTEzNzksIDQyMDAwLCAxMzEzOSwgNDIyMjEsIDY1MDEzLCAxMjY5OTksIDEyNzc2MCwgNzIzOTAsIDAsIAorICAgIDExOTIyOCwgMTIwMzUsIDAsIDI4MTgsIDAsIDc0NDExLCA3Mzc5MywgMCwgNDE3MiwgNzEyNTIsIDExOTk5MiwgODM3MywgCisgICAgMTA4NzMsIDEyMTk3LCAxMjUwNzQsIDE5NTAxNCwgOTIyNjUsIDY5NzA2LCAxMjg1NDAsIDY4MzQsIDEyNzI1MSwgMTI4MTEwLCAKKyAgICAxOTQ4NjUsIDEyNjk4MiwgNzQ1NjMsIDY0ODI4LCAxMTQxOSwgMTk0ODY4LCA3NjYsIDEyNTcsIDE5NDU5OCwgMTE4ODQ1LCAKKyAgICAxMTM4MSwgMzI2NSwgNjY2MTcsIDMyNzQsIDEyNjYyOSwgMTI2NTIzLCA5NDA0MiwgOTgzOTUwLCA3NDUyMiwgNDE5ODksIDAsIAorICAgIDAsIDExMzc2OSwgMzI2MywgMCwgNjU2NzIsIDY5MjQzLCAzMjcwLCA2NDUzOSwgMTE0ODksIDAsIDAsIDAsIDAsIDk1MDUsIAorICAgIDY1NTE4LCAxMjg0OTgsIDc1NiwgMTk0NjA1LCAwLCAwLCAwLCA3MjYxLCA5MjU0NywgMTg2LCAwLCAxMTkxNTYsIDU3NzAsIAorICAgIDEzMTc5LCA2NTgzMCwgMTI2MTIsIDEyOTQ5LCA2NDg1NiwgMTI4MDAsIDk4MzkwMSwgNzQyMDMsIDY0NzE4LCAxMTUwNywgMCwgCisgICAgOTI0MzQsIDc0NjI2LCAwLCAxMTU3OCwgMCwgMTE5Mjk2LCAwLCAwLCAxMjUxMDEsIDAsIDcwMDgzLCA5MjU0LCA2Njg3NywgCisgICAgMTc5NCwgNjgzMTAsIDY0NTIxLCA1NjI0LCAxMjAyMjAsIDEyMDIyMSwgMTE5OTU4LCAxMjAyMjMsIDM2MTcsIDY2NjM2LCAKKyAgICA2NDg4NiwgOTQwNjEsIDY4NjU5LCAxMjAyMTMsIDEyMDIxNCwgMTg3MiwgNjY1MDgsIDEyMDQ2NywgNDEwNzksIDEwNzQ4LCAKKyAgICA1NTAyLCAxMTkzMzAsIDQ0NTIsIDEyODA4OCwgOTgzNzcxLCA5MjUyNiwgNDUxMSwgMCwgOTgzODc3LCA2NDY3OCwgMTE0MjUsIAorICAgIDAsIDQzMjQ1LCAxMjMxLCA5MjM5MCwgNjk5MDMsIDAsIDkwMDMsIDgxOTIsIDAsIDUzMDUsIDk2NTMsIDEwNjE2LCA4Njk0LCAKKyAgICA5NTQ2LCAwLCAwLCA3MDQyMSwgMTIwMjAwLCA2NTIwNSwgMTIwMjAyLCA2NDA2MywgOTg3OCwgNzQ3ODAsIDExOTYyNiwgCisgICAgNzgyMDIsIDY0MDU4LCA4Nzk5LCA0MjEzMSwgMTI4NjYyLCA2NDA2MiwgMTAyOCwgNjQwNjAsIDY0MDU5LCA4MzcsIDEwNTY3LCAKKyAgICA3MjM4NCwgNDMxMDMsIDAsIDEyMDc1NCwgMTE0MjcsIDI5MDIsIDY0MDQzLCA2NDA0MiwgNDM3NDksIDEwNzU2LCA2NDA0NywgCisgICAgNDI2MDYsIDY0MDQ1LCA2NDA0NCwgNDM5NzksIDEwMDc2LCA2NDA0MCwgNDMwNjAsIDE5NDk0MiwgMTAzNCwgMzM5MiwgCisgICAgMTI3NzcxLCA0MzA5MSwgNjQwMzMsIDY0MDMyLCA0MjczNSwgNDM0OTgsIDY0MDM3LCA2NDAzNiwgNjQwMzUsIDQyOTEsIAorICAgIDEyOTE1NywgNjQwMTUsIDY0MDE0LCA2NDY4MSwgMTk0OTMwLCAxMjcxNDIsIDc4MTQ1LCA3MTg5OCwgNDMwOTAsIDAsIAorICAgIDM0NzYsIDg5NzMsIDY0MDEyLCA0MjQ3MywgNjQwMTAsIDY0MDA4LCA2NDAwNywgMjAwMywgNzcwNiwgNjQ1MTcsIDc4MTUzLCAKKyAgICAyNTM4LCA2NDAwOSwgMjA0LCAwLCA0ODAyLCA0MTExLCA4MjM5LCA5MDk4LCA0ODA1LCA2NDAwMSwgNjQwNTcsIDc4ODUsIAorICAgIDcyNDcsIDY0MDU0LCA5ODMyNjYsIDAsIDQ3NjcsIDkzNDMsIDY0MDQ5LCA2NDA0OCwgMTIwMDM0LCAxMTMzLCA2NDA1MywgCisgICAgNjQwNTIsIDQzNDUzLCA2NDA1MCwgNDEzNDAsIDExODk3NSwgMTk0ODM1LCAxMDAwNSwgMTIzMjksIDQxMzMzLCAwLCA4NDg5LCAKKyAgICAxOTQyLCAwLCAxOTQ4MzQsIDQyNTIwLCA2NTUxMCwgMTI1MDQ0LCA2ODI5MSwgMTA3NjAsIDY0MDIzLCA2NDAyMiwgNjQwMjEsIAorICAgIDY1ODIsIDQzNjcwLCAxMjc3OTgsIDY0MDI1LCA5MTY3LCA0MjE1MSwgNzgyNDQsIDk4MzIzMiwgMjAyNiwgNjQwMTksIAorICAgIDY0MDE4LCA2NDAxNywgNjQwMTYsIDEyNzY4LCAwLCA3NTgyLCA3ODI1MiwgNzgyNDgsIDc3OTE0LCA3ODI0NiwgNzgyNDcsIAorICAgIDAsIDc3OTE1LCA3ODc2NiwgNjc4OCwgMTMwOTQsIDc3OTIwLCA3NTMyLCA0MTQxNCwgNzg1MjAsIDMxNzksIDc4NTE4LCAKKyAgICA2NDc2OSwgNzg1MTQsIDc4NTE3LCAxMTQ2MSwgNzQ0NTQsIDEwNzUxLCA5MDUxLCAxMjA3MjAsIDY3MDgsIDEwNTM1LCAKKyAgICA5ODM2MjcsIDY4MjE4LCA1NTI3NCwgMjAwOCwgNjQwMzEsIDY0MDMwLCAyOTQsIDQxODc0LCAwLCA2NDc5MCwgNjU5MjksIDAsIAorICAgIDEyOTA2MywgMCwgMCwgNjQwMjgsIDgxNDYsIDY0MDI2LCA0MTc4OCwgMTk0ODQ0LCAwLCA0MzUxLCA2MzQzLCA0MzI0NywgCisgICAgMTE5ODg4LCA3MDE1MywgMTE5ODg2LCAxMTk4OTEsIDcyMzg3LCAxMTk4ODksIDExNDMzLCAxMTk4OTUsIDExOTg5NiwgMCwgCisgICAgNzgwMSwgNjU1NzgsIDE5NDgzOSwgMTI5MTUsIDQzOTY4LCAzMjk3LCA5Njk5LCAxMjc5NTcsIDExMzUsIDAsIDEyODgwNywgCisgICAgMTI4NTI1LCAxOTk1LCA2NzIyLCA5ODM5MjUsIDAsIDI1NTIsIDQxNTQ2LCA2MCwgNjgzOTQsIDg2NDksIDQxNTQ5LCAKKyAgICA3ODQ5NiwgNzIzODYsIDAsIDY2ODIsIDk4MzkxNywgNzg2NzksIDQzODMzLCA0MTU0NywgOTgzNjMwLCAyMDEzLCAxMjgyOTEsIAorICAgIDc4NTMwLCA3ODUzMiwgNzg1MjgsIDc4NTI5LCAxMjgzMiwgNzg0OTMsIDgwODEsIDgzNjIsIDM1MzcsIDExOTkwOCwgOTEzNywgCisgICAgNzE1NSwgODk5OSwgMCwgNzg1MzMsIDM0NjYsIDAsIDAsIDE5OTYsIDAsIDM0NTMsIDYyODIsIDAsIDIwMDIsIDIwMDAsIAorICAgIDEyMDE3NSwgNTM3LCA5Mjk3NiwgNDE3OSwgNjUxMTksIDE5OTgsIDEyMDc0NiwgMTg0MiwgMCwgOTI2NzQsIDk2MjgsIAorICAgIDY4NDQ2LCAxMjA4MSwgOTgyNiwgNjQ1MDIsIDE3NjcsIDAsIDAsIDEyMDAwMSwgMTIwMjAxLCA5ODM2NDYsIDEyNDk3NSwgCisgICAgMTI3OTkxLCAzMDU5LCA0NDAyNCwgMTIwMjA0LCA0MzQ5MSwgOTI2OTMsIDAsIDAsIDkyNDUyLCA0MTAwLCA5MjAsIDE4MTEsIAorICAgIDEzNTUsIDQzMTg5LCAwLCAzNTkyLCAxMDA3OCwgMCwgNzgxNjIsIDExOTU1OCwgODU5MiwgNjU4NzAsIDY2NDE3LCA3NDUwNCwgCisgICAgMTA3NDIsIDcyNDAwLCA0MjkxOCwgMTk5NCwgOTI4MSwgMzI5NiwgMTI4NjUsIDE5OTcsIDE4OTUsIAogfTsKIAogI2RlZmluZSBjb2RlX21hZ2ljIDQ3CmRpZmYgLS1naXQgYS9Nb2R1bGVzL3dpbnJlcGFyc2UuaCBiL01vZHVsZXMvd2lucmVwYXJzZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY2Zjc3NzUKLS0tIC9kZXYvbnVsbAorKysgYi9Nb2R1bGVzL3dpbnJlcGFyc2UuaApAQCAtMCwwICsxLDUzIEBACisjaWZuZGVmIFB5X1dJTlJFUEFSU0VfSAorI2RlZmluZSBQeV9XSU5SRVBBUlNFX0gKKworI2lmZGVmIE1TX1dJTkRPV1MKKyNpbmNsdWRlIDxXaW5kb3dzLmg+CisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworLyogVGhlIGZvbGxvd2luZyBzdHJ1Y3R1cmUgd2FzIGNvcGllZCBmcm9tCisgICBodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tL2VuLXVzL2xpYnJhcnkvZmY1NTIwMTIuYXNweCBhcyB0aGUgcmVxdWlyZWQKKyAgIGluY2x1ZGUgZG9lc24ndCBzZWVtIHRvIGJlIHByZXNlbnQgaW4gdGhlIFdpbmRvd3MgU0RLIChhdCBsZWFzdCBhcyBpbmNsdWRlZAorICAgd2l0aCBWaXN1YWwgU3R1ZGlvIEV4cHJlc3MpLiAqLwordHlwZWRlZiBzdHJ1Y3QgX1JFUEFSU0VfREFUQV9CVUZGRVIgeworICAgIFVMT05HIFJlcGFyc2VUYWc7CisgICAgVVNIT1JUIFJlcGFyc2VEYXRhTGVuZ3RoOworICAgIFVTSE9SVCBSZXNlcnZlZDsKKyAgICB1bmlvbiB7CisgICAgICAgIHN0cnVjdCB7CisgICAgICAgICAgICBVU0hPUlQgU3Vic3RpdHV0ZU5hbWVPZmZzZXQ7CisgICAgICAgICAgICBVU0hPUlQgU3Vic3RpdHV0ZU5hbWVMZW5ndGg7CisgICAgICAgICAgICBVU0hPUlQgUHJpbnROYW1lT2Zmc2V0OworICAgICAgICAgICAgVVNIT1JUIFByaW50TmFtZUxlbmd0aDsKKyAgICAgICAgICAgIFVMT05HIEZsYWdzOworICAgICAgICAgICAgV0NIQVIgUGF0aEJ1ZmZlclsxXTsKKyAgICAgICAgfSBTeW1ib2xpY0xpbmtSZXBhcnNlQnVmZmVyOworCisgICAgICAgIHN0cnVjdCB7CisgICAgICAgICAgICBVU0hPUlQgU3Vic3RpdHV0ZU5hbWVPZmZzZXQ7CisgICAgICAgICAgICBVU0hPUlQgIFN1YnN0aXR1dGVOYW1lTGVuZ3RoOworICAgICAgICAgICAgVVNIT1JUICBQcmludE5hbWVPZmZzZXQ7CisgICAgICAgICAgICBVU0hPUlQgIFByaW50TmFtZUxlbmd0aDsKKyAgICAgICAgICAgIFdDSEFSICBQYXRoQnVmZmVyWzFdOworICAgICAgICB9IE1vdW50UG9pbnRSZXBhcnNlQnVmZmVyOworCisgICAgICAgIHN0cnVjdCB7CisgICAgICAgICAgICBVQ0hBUiAgRGF0YUJ1ZmZlclsxXTsKKyAgICAgICAgfSBHZW5lcmljUmVwYXJzZUJ1ZmZlcjsKKyAgICB9OworfSBSRVBBUlNFX0RBVEFfQlVGRkVSLCAqUFJFUEFSU0VfREFUQV9CVUZGRVI7CisKKyNkZWZpbmUgUkVQQVJTRV9EQVRBX0JVRkZFUl9IRUFERVJfU0laRSAgRklFTERfT0ZGU0VUKFJFUEFSU0VfREFUQV9CVUZGRVIsXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2VuZXJpY1JlcGFyc2VCdWZmZXIpCisjZGVmaW5lIE1BWElNVU1fUkVQQVJTRV9EQVRBX0JVRkZFUl9TSVpFICAoIDE2ICogMTAyNCApCisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNlbmRpZiAvKiBNU19XSU5ET1dTICovCisKKyNlbmRpZiAvKiAhUHlfV0lOUkVQQVJTRV9IICovCmRpZmYgLS1naXQgYS9PYmplY3RzL1JFQURNRSBiL09iamVjdHMvUkVBRE1FCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg1NGIxMDMKLS0tIC9kZXYvbnVsbAorKysgYi9PYmplY3RzL1JFQURNRQpAQCAtMCwwICsxIEBACitTb3VyY2UgZmlsZXMgZm9yIHZhcmlvdXMgYnVpbHRpbiBvYmplY3RzCmRpZmYgLS1naXQgYS9PYmplY3RzL2Fic3RyYWN0LmMgYi9PYmplY3RzL2Fic3RyYWN0LmMKaW5kZXggN2UzMTIxYS4uMDZlMzM4MiAxMDA2NDQKLS0tIGEvT2JqZWN0cy9hYnN0cmFjdC5jCisrKyBiL09iamVjdHMvYWJzdHJhY3QuYwpAQCAtMzA1LDcgKzMwNSw3IEBACiAgICAgICAgIHBiLT5iZl9nZXRidWZmZXIgPT0gTlVMTCB8fAogICAgICAgICAoKCpwYi0+YmZfZ2V0YnVmZmVyKShvYmosICZ2aWV3LCBQeUJVRl9XUklUQUJMRSkgIT0gMCkpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZCBhbiBvYmplY3Qgd2l0aCBhIHdyaXRhYmxlIGJ1ZmZlciBpbnRlcmZhY2UiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZCBhIHdyaXRhYmxlIGJ5dGVzLWxpa2Ugb2JqZWN0Iik7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAKQEAgLTMyNCw3ICszMjQsNyBAQAogCiAgICAgaWYgKHBiID09IE5VTEwgfHwgcGItPmJmX2dldGJ1ZmZlciA9PSBOVUxMKSB7CiAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAiJyUuMTAwcycgZG9lcyBub3Qgc3VwcG9ydCB0aGUgYnVmZmVyIGludGVyZmFjZSIsCisgICAgICAgICAgICAgICAgICAgICAiYSBieXRlcy1saWtlIG9iamVjdCBpcyByZXF1aXJlZCwgbm90ICclLjEwMHMnIiwKICAgICAgICAgICAgICAgICAgICAgIFB5X1RZUEUob2JqKS0+dHBfbmFtZSk7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9CkBAIC0zMzcsMTYgKzMzNywzNSBAQAogICAgIFB5X3NzaXplX3Qgc2QsIGRpbTsKICAgICBpbnQgaTsKIAotICAgIGlmICh2aWV3LT5uZGltID09IDApIHJldHVybiAxOwotICAgIGlmICh2aWV3LT5zdHJpZGVzID09IE5VTEwpIHJldHVybiAodmlldy0+bmRpbSA9PSAxKTsKKyAgICAvKiAxKSBsZW4gPSBwcm9kdWN0KHNoYXBlKSAqIGl0ZW1zaXplCisgICAgICAgMikgaXRlbXNpemUgPiAwCisgICAgICAgMykgbGVuID0gMCA8PT0+IGV4aXN0cyBpOiBzaGFwZVtpXSA9IDAgKi8KKyAgICBpZiAodmlldy0+bGVuID09IDApIHJldHVybiAxOworICAgIGlmICh2aWV3LT5zdHJpZGVzID09IE5VTEwpIHsgIC8qIEMtY29udGlndW91cyBieSBkZWZpbml0aW9uICovCisgICAgICAgIC8qIFRyaXZpYWxseSBGLWNvbnRpZ3VvdXMgKi8KKyAgICAgICAgaWYgKHZpZXctPm5kaW0gPD0gMSkgcmV0dXJuIDE7CisKKyAgICAgICAgLyogbmRpbSA+IDEgaW1wbGllcyBzaGFwZSAhPSBOVUxMICovCisgICAgICAgIGFzc2VydCh2aWV3LT5zaGFwZSAhPSBOVUxMKTsKKworICAgICAgICAvKiBFZmZlY3RpdmVseSAxLWQgKi8KKyAgICAgICAgc2QgPSAwOworICAgICAgICBmb3IgKGk9MDsgaTx2aWV3LT5uZGltOyBpKyspIHsKKyAgICAgICAgICAgIGlmICh2aWV3LT5zaGFwZVtpXSA+IDEpIHNkICs9IDE7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHNkIDw9IDE7CisgICAgfQorCisgICAgLyogc3RyaWRlcyAhPSBOVUxMIGltcGxpZXMgYm90aCBvZiB0aGVzZSAqLworICAgIGFzc2VydCh2aWV3LT5uZGltID4gMCk7CisgICAgYXNzZXJ0KHZpZXctPnNoYXBlICE9IE5VTEwpOwogCiAgICAgc2QgPSB2aWV3LT5pdGVtc2l6ZTsKLSAgICBpZiAodmlldy0+bmRpbSA9PSAxKSByZXR1cm4gKHZpZXctPnNoYXBlWzBdID09IDEgfHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZCA9PSB2aWV3LT5zdHJpZGVzWzBdKTsKICAgICBmb3IgKGk9MDsgaTx2aWV3LT5uZGltOyBpKyspIHsKICAgICAgICAgZGltID0gdmlldy0+c2hhcGVbaV07Ci0gICAgICAgIGlmIChkaW0gPT0gMCkgcmV0dXJuIDE7Ci0gICAgICAgIGlmICh2aWV3LT5zdHJpZGVzW2ldICE9IHNkKSByZXR1cm4gMDsKKyAgICAgICAgaWYgKGRpbSA+IDEgJiYgdmlldy0+c3RyaWRlc1tpXSAhPSBzZCkgeworICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIH0KICAgICAgICAgc2QgKj0gZGltOwogICAgIH0KICAgICByZXR1cm4gMTsKQEAgLTM1OCwxNiArMzc3LDIyIEBACiAgICAgUHlfc3NpemVfdCBzZCwgZGltOwogICAgIGludCBpOwogCi0gICAgaWYgKHZpZXctPm5kaW0gPT0gMCkgcmV0dXJuIDE7Ci0gICAgaWYgKHZpZXctPnN0cmlkZXMgPT0gTlVMTCkgcmV0dXJuIDE7CisgICAgLyogMSkgbGVuID0gcHJvZHVjdChzaGFwZSkgKiBpdGVtc2l6ZQorICAgICAgIDIpIGl0ZW1zaXplID4gMAorICAgICAgIDMpIGxlbiA9IDAgPD09PiBleGlzdHMgaTogc2hhcGVbaV0gPSAwICovCisgICAgaWYgKHZpZXctPmxlbiA9PSAwKSByZXR1cm4gMTsKKyAgICBpZiAodmlldy0+c3RyaWRlcyA9PSBOVUxMKSByZXR1cm4gMTsgLyogQy1jb250aWd1b3VzIGJ5IGRlZmluaXRpb24gKi8KKworICAgIC8qIHN0cmlkZXMgIT0gTlVMTCBpbXBsaWVzIGJvdGggb2YgdGhlc2UgKi8KKyAgICBhc3NlcnQodmlldy0+bmRpbSA+IDApOworICAgIGFzc2VydCh2aWV3LT5zaGFwZSAhPSBOVUxMKTsKIAogICAgIHNkID0gdmlldy0+aXRlbXNpemU7Ci0gICAgaWYgKHZpZXctPm5kaW0gPT0gMSkgcmV0dXJuICh2aWV3LT5zaGFwZVswXSA9PSAxIHx8Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2QgPT0gdmlldy0+c3RyaWRlc1swXSk7CiAgICAgZm9yIChpPXZpZXctPm5kaW0tMTsgaT49MDsgaS0tKSB7CiAgICAgICAgIGRpbSA9IHZpZXctPnNoYXBlW2ldOwotICAgICAgICBpZiAoZGltID09IDApIHJldHVybiAxOwotICAgICAgICBpZiAodmlldy0+c3RyaWRlc1tpXSAhPSBzZCkgcmV0dXJuIDA7CisgICAgICAgIGlmIChkaW0gPiAxICYmIHZpZXctPnN0cmlkZXNbaV0gIT0gc2QpIHsKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICB9CiAgICAgICAgIHNkICo9IGRpbTsKICAgICB9CiAgICAgcmV0dXJuIDE7CkBAIC00OTksOCArNTI0LDggQEAKICAgICBpZiAoIVB5T2JqZWN0X0NoZWNrQnVmZmVyKGRlc3QpIHx8CiAgICAgICAgICFQeU9iamVjdF9DaGVja0J1ZmZlcihzcmMpKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAiYm90aCBkZXN0aW5hdGlvbiBhbmQgc291cmNlIG11c3QgaGF2ZSB0aGUgIlwKLSAgICAgICAgICAgICAgICAgICAgICAgICJidWZmZXIgaW50ZXJmYWNlIik7CisgICAgICAgICAgICAgICAgICAgICAgICAiYm90aCBkZXN0aW5hdGlvbiBhbmQgc291cmNlIG11c3QgYmUgIlwKKyAgICAgICAgICAgICAgICAgICAgICAgICJieXRlcy1saWtlIG9iamVjdHMiKTsKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KIApAQCAtNTg3LDcgKzYxMiwxMiBAQAogUHlCdWZmZXJfRmlsbEluZm8oUHlfYnVmZmVyICp2aWV3LCBQeU9iamVjdCAqb2JqLCB2b2lkICpidWYsIFB5X3NzaXplX3QgbGVuLAogICAgICAgICAgICAgICAgICAgaW50IHJlYWRvbmx5LCBpbnQgZmxhZ3MpCiB7Ci0gICAgaWYgKHZpZXcgPT0gTlVMTCkgcmV0dXJuIDA7IC8qIFhYWCB3aHkgbm90IC0xPyAqLworICAgIGlmICh2aWV3ID09IE5VTEwpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0J1ZmZlckVycm9yLAorICAgICAgICAgICAgIlB5QnVmZmVyX0ZpbGxJbmZvOiB2aWV3PT1OVUxMIGFyZ3VtZW50IGlzIG9ic29sZXRlIik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKICAgICBpZiAoKChmbGFncyAmIFB5QlVGX1dSSVRBQkxFKSA9PSBQeUJVRl9XUklUQUJMRSkgJiYKICAgICAgICAgKHJlYWRvbmx5ID09IDEpKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19CdWZmZXJFcnJvciwKQEAgLTY2MCw4ICs2OTAsOSBAQAogICAgIFB5X0RFQ1JFRihtZXRoKTsKIAogICAgIGlmIChyZXN1bHQgJiYgIVB5VW5pY29kZV9DaGVjayhyZXN1bHQpKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAiX19mb3JtYXRfXyBtZXRob2QgZGlkIG5vdCByZXR1cm4gc3RyaW5nIik7CisgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgIl9fZm9ybWF0X18gbXVzdCByZXR1cm4gYSBzdHIsIG5vdCAlLjIwMHMiLAorICAgICAgICAgICAgIFB5X1RZUEUocmVzdWx0KS0+dHBfbmFtZSk7CiAgICAgICAgIFB5X0RFQ1JFRihyZXN1bHQpOwogICAgICAgICByZXN1bHQgPSBOVUxMOwogICAgICAgICBnb3RvIGRvbmU7CkBAIC05MDUsNiArOTM2LDEyIEBACiB9CiAKIFB5T2JqZWN0ICoKK1B5TnVtYmVyX01hdHJpeE11bHRpcGx5KFB5T2JqZWN0ICp2LCBQeU9iamVjdCAqdykKK3sKKyAgICByZXR1cm4gYmluYXJ5X29wKHYsIHcsIE5CX1NMT1QobmJfbWF0cml4X211bHRpcGx5KSwgIkAiKTsKK30KKworUHlPYmplY3QgKgogUHlOdW1iZXJfRmxvb3JEaXZpZGUoUHlPYmplY3QgKnYsIFB5T2JqZWN0ICp3KQogewogICAgIHJldHVybiBiaW5hcnlfb3AodiwgdywgTkJfU0xPVChuYl9mbG9vcl9kaXZpZGUpLCAiLy8iKTsKQEAgLTk4NSw2ICsxMDIyLDcgQEAKIElOUExBQ0VfQklOT1AoUHlOdW1iZXJfSW5QbGFjZUxzaGlmdCwgbmJfaW5wbGFjZV9sc2hpZnQsIG5iX2xzaGlmdCwgIjw8PSIpCiBJTlBMQUNFX0JJTk9QKFB5TnVtYmVyX0luUGxhY2VSc2hpZnQsIG5iX2lucGxhY2VfcnNoaWZ0LCBuYl9yc2hpZnQsICI+Pj0iKQogSU5QTEFDRV9CSU5PUChQeU51bWJlcl9JblBsYWNlU3VidHJhY3QsIG5iX2lucGxhY2Vfc3VidHJhY3QsIG5iX3N1YnRyYWN0LCAiLT0iKQorSU5QTEFDRV9CSU5PUChQeU51bWJlcl9Jbk1hdHJpeE11bHRpcGx5LCBuYl9pbnBsYWNlX21hdHJpeF9tdWx0aXBseSwgbmJfbWF0cml4X211bHRpcGx5LCAiQD0iKQogCiBQeU9iamVjdCAqCiBQeU51bWJlcl9JblBsYWNlRmxvb3JEaXZpZGUoUHlPYmplY3QgKnYsIFB5T2JqZWN0ICp3KQpAQCAtMTA1MSw2ICsxMDg5LDEzIEBACiB9CiAKIFB5T2JqZWN0ICoKK1B5TnVtYmVyX0luUGxhY2VNYXRyaXhNdWx0aXBseShQeU9iamVjdCAqdiwgUHlPYmplY3QgKncpCit7CisgICAgcmV0dXJuIGJpbmFyeV9pb3AodiwgdywgTkJfU0xPVChuYl9pbnBsYWNlX21hdHJpeF9tdWx0aXBseSksCisgICAgICAgICAgICAgICAgICAgICAgTkJfU0xPVChuYl9tYXRyaXhfbXVsdGlwbHkpLCAiQD0iKTsKK30KKworUHlPYmplY3QgKgogUHlOdW1iZXJfSW5QbGFjZVJlbWFpbmRlcihQeU9iamVjdCAqdiwgUHlPYmplY3QgKncpCiB7CiAgICAgcmV0dXJuIGJpbmFyeV9pb3AodiwgdywgTkJfU0xPVChuYl9pbnBsYWNlX3JlbWFpbmRlciksCkBAIC0yMDMzLDYgKzIwNzgsMTEgQEAKIHsKICAgICB0ZXJuYXJ5ZnVuYyBjYWxsOwogCisgICAgLyogUHlPYmplY3RfQ2FsbCgpIG11c3Qgbm90IGJlIGNhbGxlZCB3aXRoIGFuIGV4Y2VwdGlvbiBzZXQsCisgICAgICAgYmVjYXVzZSBpdCBtYXkgY2xlYXIgaXQgKGRpcmVjdGx5IG9yIGluZGlyZWN0bHkpIGFuZCBzbyB0aGUKKyAgICAgICBjYWxsZXIgbG9vc2VzIGl0cyBleGNlcHRpb24gKi8KKyAgICBhc3NlcnQoIVB5RXJyX09jY3VycmVkKCkpOworCiAgICAgaWYgKChjYWxsID0gZnVuYy0+b2JfdHlwZS0+dHBfY2FsbCkgIT0gTlVMTCkgewogICAgICAgICBQeU9iamVjdCAqcmVzdWx0OwogICAgICAgICBpZiAoUHlfRW50ZXJSZWN1cnNpdmVDYWxsKCIgd2hpbGUgY2FsbGluZyBhIFB5dGhvbiBvYmplY3QiKSkKQEAgLTI0OTIsNiArMjU0MiwxMSBAQAogICAgIGlmIChQeV9UWVBFKGluc3QpID09IChQeVR5cGVPYmplY3QgKiljbHMpCiAgICAgICAgIHJldHVybiAxOwogCisgICAgLyogV2Uga25vdyB3aGF0IHR5cGUncyBfX2luc3RhbmNlY2hlY2tfXyBkb2VzLiAqLworICAgIGlmIChQeVR5cGVfQ2hlY2tFeGFjdChjbHMpKSB7CisgICAgICAgIHJldHVybiByZWN1cnNpdmVfaXNpbnN0YW5jZShpbnN0LCBjbHMpOworICAgIH0KKwogICAgIGlmIChQeVR1cGxlX0NoZWNrKGNscykpIHsKICAgICAgICAgUHlfc3NpemVfdCBpOwogICAgICAgICBQeV9zc2l6ZV90IG47CkBAIC0yNTMwLDYgKzI1ODUsNyBAQAogICAgIH0KICAgICBlbHNlIGlmIChQeUVycl9PY2N1cnJlZCgpKQogICAgICAgICByZXR1cm4gLTE7CisgICAgLyogUHJvYmFibHkgbmV2ZXIgcmVhY2hlZCBhbnltb3JlLiAqLwogICAgIHJldHVybiByZWN1cnNpdmVfaXNpbnN0YW5jZShpbnN0LCBjbHMpOwogfQogCkBAIC0yNTU3LDYgKzI2MTMsMTQgQEAKICAgICBfUHlfSURFTlRJRklFUihfX3N1YmNsYXNzY2hlY2tfXyk7CiAgICAgUHlPYmplY3QgKmNoZWNrZXI7CiAKKyAgICAvKiBXZSBrbm93IHdoYXQgdHlwZSdzIF9fc3ViY2xhc3NjaGVja19fIGRvZXMuICovCisgICAgaWYgKFB5VHlwZV9DaGVja0V4YWN0KGNscykpIHsKKyAgICAgICAgLyogUXVpY2sgdGVzdCBmb3IgYW4gZXhhY3QgbWF0Y2ggKi8KKyAgICAgICAgaWYgKGRlcml2ZWQgPT0gY2xzKQorICAgICAgICAgICAgcmV0dXJuIDE7CisgICAgICAgIHJldHVybiByZWN1cnNpdmVfaXNzdWJjbGFzcyhkZXJpdmVkLCBjbHMpOworICAgIH0KKwogICAgIGlmIChQeVR1cGxlX0NoZWNrKGNscykpIHsKICAgICAgICAgUHlfc3NpemVfdCBpOwogICAgICAgICBQeV9zc2l6ZV90IG47CkBAIC0yNTk1LDYgKzI2NTksNyBAQAogICAgIH0KICAgICBlbHNlIGlmIChQeUVycl9PY2N1cnJlZCgpKQogICAgICAgICByZXR1cm4gLTE7CisgICAgLyogUHJvYmFibHkgbmV2ZXIgcmVhY2hlZCBhbnltb3JlLiAqLwogICAgIHJldHVybiByZWN1cnNpdmVfaXNzdWJjbGFzcyhkZXJpdmVkLCBjbHMpOwogfQogCmRpZmYgLS1naXQgYS9PYmplY3RzL2J5dGVhcnJheW9iamVjdC5jIGIvT2JqZWN0cy9ieXRlYXJyYXlvYmplY3QuYwppbmRleCBmNWViMzIxLi44YjMyNjdlIDEwMDY0NAotLS0gYS9PYmplY3RzL2J5dGVhcnJheW9iamVjdC5jCisrKyBiL09iamVjdHMvYnl0ZWFycmF5b2JqZWN0LmMKQEAgLTQsNiArNCwxMiBAQAogI2luY2x1ZGUgIlB5dGhvbi5oIgogI2luY2x1ZGUgInN0cnVjdG1lbWJlci5oIgogI2luY2x1ZGUgImJ5dGVzX21ldGhvZHMuaCIKKyNpbmNsdWRlICJieXRlc29iamVjdC5oIgorCisvKltjbGluaWMgaW5wdXRdCitjbGFzcyBieXRlYXJyYXkgIlB5Qnl0ZUFycmF5T2JqZWN0ICoiICImUHlCeXRlQXJyYXlfVHlwZSIKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kYTM5YTNlZTVlNmI0YjBkIGlucHV0PTU1MzViNzdjMzdhMTE5ZTBdKi8KIAogY2hhciBfUHlCeXRlQXJyYXlfZW1wdHlfc3RyaW5nW10gPSAiIjsKIApAQCAtNTQsMTggKzYwLDE3IEBACiBzdGF0aWMgaW50CiBieXRlYXJyYXlfZ2V0YnVmZmVyKFB5Qnl0ZUFycmF5T2JqZWN0ICpvYmosIFB5X2J1ZmZlciAqdmlldywgaW50IGZsYWdzKQogewotICAgIGludCByZXQ7CiAgICAgdm9pZCAqcHRyOwogICAgIGlmICh2aWV3ID09IE5VTEwpIHsKLSAgICAgICAgb2JqLT5vYl9leHBvcnRzKys7Ci0gICAgICAgIHJldHVybiAwOworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfQnVmZmVyRXJyb3IsCisgICAgICAgICAgICAiYnl0ZWFycmF5X2dldGJ1ZmZlcjogdmlldz09TlVMTCBhcmd1bWVudCBpcyBvYnNvbGV0ZSIpOworICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogICAgIHB0ciA9ICh2b2lkICopIFB5Qnl0ZUFycmF5X0FTX1NUUklORyhvYmopOwotICAgIHJldCA9IFB5QnVmZmVyX0ZpbGxJbmZvKHZpZXcsIChQeU9iamVjdCopb2JqLCBwdHIsIFB5X1NJWkUob2JqKSwgMCwgZmxhZ3MpOwotICAgIGlmIChyZXQgPj0gMCkgewotICAgICAgICBvYmotPm9iX2V4cG9ydHMrKzsKLSAgICB9Ci0gICAgcmV0dXJuIHJldDsKKyAgICAvKiBjYW5ub3QgZmFpbCBpZiB2aWV3ICE9IE5VTEwgYW5kIHJlYWRvbmx5ID09IDAgKi8KKyAgICAodm9pZClQeUJ1ZmZlcl9GaWxsSW5mbyh2aWV3LCAoUHlPYmplY3QqKW9iaiwgcHRyLCBQeV9TSVpFKG9iaiksIDAsIGZsYWdzKTsKKyAgICBvYmotPm9iX2V4cG9ydHMrKzsKKyAgICByZXR1cm4gMDsKIH0KIAogc3RhdGljIHZvaWQKQEAgLTI3MSw2ICsyNzYsMzEgQEAKICAgICByZXR1cm4gKFB5T2JqZWN0ICopcmVzdWx0OwogfQogCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZWFycmF5X2Zvcm1hdChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKmJ5dGVzX2luLCAqYnl0ZXNfb3V0LCAqcmVzOworICAgIGNoYXIgKmJ5dGVzdHJpbmc7CisKKyAgICBpZiAoc2VsZiA9PSBOVUxMIHx8ICFQeUJ5dGVBcnJheV9DaGVjayhzZWxmKSB8fCBhcmdzID09IE5VTEwpIHsKKyAgICAgICAgUHlFcnJfQmFkSW50ZXJuYWxDYWxsKCk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBieXRlc3RyaW5nID0gUHlCeXRlQXJyYXlfQVNfU1RSSU5HKHNlbGYpOworICAgIGJ5dGVzX2luID0gUHlCeXRlc19Gcm9tU3RyaW5nKGJ5dGVzdHJpbmcpOworICAgIGlmIChieXRlc19pbiA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBieXRlc19vdXQgPSBfUHlCeXRlc19Gb3JtYXQoYnl0ZXNfaW4sIGFyZ3MpOworICAgIFB5X0RFQ1JFRihieXRlc19pbik7CisgICAgaWYgKGJ5dGVzX291dCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICByZXMgPSBQeUJ5dGVBcnJheV9Gcm9tT2JqZWN0KGJ5dGVzX291dCk7CisgICAgUHlfREVDUkVGKGJ5dGVzX291dCk7CisgICAgaWYgKHJlcyA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICByZXR1cm4gcmVzOworfQorCiAvKiBGdW5jdGlvbnMgc3R1ZmZlZCBpbnRvIHRoZSB0eXBlIG9iamVjdCAqLwogCiBzdGF0aWMgUHlfc3NpemVfdApAQCAtNDI5LDcgKzQ1OSw5IEBACiAgICAgICAgIH0KICAgICB9CiAgICAgZWxzZSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJieXRlYXJyYXkgaW5kaWNlcyBtdXN0IGJlIGludGVnZXJzIik7CisgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAiYnl0ZWFycmF5IGluZGljZXMgbXVzdCBiZSBpbnRlZ2VycyBvciBzbGljZXMsIG5vdCAlLjIwMHMiLAorICAgICAgICAgICAgICAgICAgICAgUHlfVFlQRShpbmRleCktPnRwX25hbWUpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiB9CkBAIC02MzQsNyArNjY2LDkgQEAKICAgICAgICAgfQogICAgIH0KICAgICBlbHNlIHsKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgImJ5dGVhcnJheSBpbmRpY2VzIG11c3QgYmUgaW50ZWdlciIpOworICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgImJ5dGVhcnJheSBpbmRpY2VzIG11c3QgYmUgaW50ZWdlcnMgb3Igc2xpY2VzLCBub3QgJS4yMDBzIiwKKyAgICAgICAgICAgICAgICAgICAgICBQeV9UWVBFKGluZGV4KS0+dHBfbmFtZSk7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAKQEAgLTEyMDgsMjYgKzEyNDIsNzAgQEAKICAgICByZXR1cm4gY291bnRfb2JqOwogfQogCi1QeURvY19TVFJWQVIoY2xlYXJfX2RvY19fLAotIkIuY2xlYXIoKSAtPiBOb25lXG5cCi1cblwKLVJlbW92ZSBhbGwgaXRlbXMgZnJvbSBCLiIpOworLypbY2xpbmljIGlucHV0XQorYnl0ZWFycmF5LmNsZWFyCisKKyAgICBzZWxmOiBzZWxmKHR5cGU9IlB5Qnl0ZUFycmF5T2JqZWN0ICoiKQorCitSZW1vdmUgYWxsIGl0ZW1zIGZyb20gdGhlIGJ5dGVhcnJheS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ5dGVhcnJheV9jbGVhcl9fZG9jX18sCisiY2xlYXIoJHNlbGYsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZW1vdmUgYWxsIGl0ZW1zIGZyb20gdGhlIGJ5dGVhcnJheS4iKTsKKworI2RlZmluZSBCWVRFQVJSQVlfQ0xFQVJfTUVUSE9EREVGICAgIFwKKyAgICB7ImNsZWFyIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9jbGVhciwgTUVUSF9OT0FSR1MsIGJ5dGVhcnJheV9jbGVhcl9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotYnl0ZWFycmF5X2NsZWFyKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmKQorYnl0ZWFycmF5X2NsZWFyX2ltcGwoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYpOworCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZWFycmF5X2NsZWFyKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBieXRlYXJyYXlfY2xlYXJfaW1wbChzZWxmKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVhcnJheV9jbGVhcl9pbXBsKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTUzNDQwOTMwMzFlMmYzNmMgaW5wdXQ9ZTUyNGZkMzMwYWJjZGMxOF0qLwogewogICAgIGlmIChQeUJ5dGVBcnJheV9SZXNpemUoKFB5T2JqZWN0ICopc2VsZiwgMCkgPCAwKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICBQeV9SRVRVUk5fTk9ORTsKIH0KIAotUHlEb2NfU1RSVkFSKGNvcHlfX2RvY19fLAotIkIuY29weSgpIC0+IGJ5dGVhcnJheVxuXAotXG5cCi1SZXR1cm4gYSBjb3B5IG9mIEIuIik7CisvKltjbGluaWMgaW5wdXRdCitieXRlYXJyYXkuY29weQorCisgICAgc2VsZjogc2VsZih0eXBlPSJQeUJ5dGVBcnJheU9iamVjdCAqIikKKworUmV0dXJuIGEgY29weSBvZiBCLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnl0ZWFycmF5X2NvcHlfX2RvY19fLAorImNvcHkoJHNlbGYsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gYSBjb3B5IG9mIEIuIik7CisKKyNkZWZpbmUgQllURUFSUkFZX0NPUFlfTUVUSE9EREVGICAgIFwKKyAgICB7ImNvcHkiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X2NvcHksIE1FVEhfTk9BUkdTLCBieXRlYXJyYXlfY29weV9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotYnl0ZWFycmF5X2NvcHkoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYpCitieXRlYXJyYXlfY29weV9pbXBsKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVhcnJheV9jb3B5KFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBieXRlYXJyYXlfY29weV9pbXBsKHNlbGYpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZWFycmF5X2NvcHlfaW1wbChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD04Nzg4ZWQyOTlmN2YyMjE0IGlucHV0PTZkNWQyOTc1YWEwZjMzZjNdKi8KIHsKICAgICByZXR1cm4gUHlCeXRlQXJyYXlfRnJvbVN0cmluZ0FuZFNpemUoUHlCeXRlQXJyYXlfQVNfU1RSSU5HKChQeU9iamVjdCAqKXNlbGYpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUJ5dGVBcnJheV9HRVRfU0laRShzZWxmKSk7CkBAIC0xNDQ2LDM2ICsxNTI0LDg1IEBACiB9CiAKIAotUHlEb2NfU1RSVkFSKHRyYW5zbGF0ZV9fZG9jX18sCi0iQi50cmFuc2xhdGUodGFibGVbLCBkZWxldGVjaGFyc10pIC0+IGJ5dGVhcnJheVxuXAotXG5cCi1SZXR1cm4gYSBjb3B5IG9mIEIsIHdoZXJlIGFsbCBjaGFyYWN0ZXJzIG9jY3VycmluZyBpbiB0aGVcblwKLW9wdGlvbmFsIGFyZ3VtZW50IGRlbGV0ZWNoYXJzIGFyZSByZW1vdmVkLCBhbmQgdGhlIHJlbWFpbmluZ1xuXAotY2hhcmFjdGVycyBoYXZlIGJlZW4gbWFwcGVkIHRocm91Z2ggdGhlIGdpdmVuIHRyYW5zbGF0aW9uXG5cCi10YWJsZSwgd2hpY2ggbXVzdCBiZSBhIGJ5dGVzIG9iamVjdCBvZiBsZW5ndGggMjU2LiIpOworLypbY2xpbmljIGlucHV0XQorYnl0ZWFycmF5LnRyYW5zbGF0ZQorCisgICAgc2VsZjogc2VsZih0eXBlPSJQeUJ5dGVBcnJheU9iamVjdCAqIikKKyAgICB0YWJsZTogb2JqZWN0CisgICAgICAgIFRyYW5zbGF0aW9uIHRhYmxlLCB3aGljaCBtdXN0IGJlIGEgYnl0ZXMgb2JqZWN0IG9mIGxlbmd0aCAyNTYuCisgICAgWworICAgIGRlbGV0ZWNoYXJzOiBvYmplY3QKKyAgICBdCisgICAgLworCitSZXR1cm4gYSBjb3B5IHdpdGggZWFjaCBjaGFyYWN0ZXIgbWFwcGVkIGJ5IHRoZSBnaXZlbiB0cmFuc2xhdGlvbiB0YWJsZS4KKworQWxsIGNoYXJhY3RlcnMgb2NjdXJyaW5nIGluIHRoZSBvcHRpb25hbCBhcmd1bWVudCBkZWxldGVjaGFycyBhcmUgcmVtb3ZlZC4KK1RoZSByZW1haW5pbmcgY2hhcmFjdGVycyBhcmUgbWFwcGVkIHRocm91Z2ggdGhlIGdpdmVuIHRyYW5zbGF0aW9uIHRhYmxlLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnl0ZWFycmF5X3RyYW5zbGF0ZV9fZG9jX18sCisidHJhbnNsYXRlKHRhYmxlLCBbZGVsZXRlY2hhcnNdKVxuIgorIlJldHVybiBhIGNvcHkgd2l0aCBlYWNoIGNoYXJhY3RlciBtYXBwZWQgYnkgdGhlIGdpdmVuIHRyYW5zbGF0aW9uIHRhYmxlLlxuIgorIlxuIgorIiAgdGFibGVcbiIKKyIgICAgVHJhbnNsYXRpb24gdGFibGUsIHdoaWNoIG11c3QgYmUgYSBieXRlcyBvYmplY3Qgb2YgbGVuZ3RoIDI1Ni5cbiIKKyJcbiIKKyJBbGwgY2hhcmFjdGVycyBvY2N1cnJpbmcgaW4gdGhlIG9wdGlvbmFsIGFyZ3VtZW50IGRlbGV0ZWNoYXJzIGFyZSByZW1vdmVkLlxuIgorIlRoZSByZW1haW5pbmcgY2hhcmFjdGVycyBhcmUgbWFwcGVkIHRocm91Z2ggdGhlIGdpdmVuIHRyYW5zbGF0aW9uIHRhYmxlLiIpOworCisjZGVmaW5lIEJZVEVBUlJBWV9UUkFOU0xBVEVfTUVUSE9EREVGICAgIFwKKyAgICB7InRyYW5zbGF0ZSIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfdHJhbnNsYXRlLCBNRVRIX1ZBUkFSR1MsIGJ5dGVhcnJheV90cmFuc2xhdGVfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVhcnJheV90cmFuc2xhdGVfaW1wbChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnRhYmxlLCBpbnQgZ3JvdXBfcmlnaHRfMSwgUHlPYmplY3QgKmRlbGV0ZWNoYXJzKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKIGJ5dGVhcnJheV90cmFuc2xhdGUoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogeworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5T2JqZWN0ICp0YWJsZTsKKyAgICBpbnQgZ3JvdXBfcmlnaHRfMSA9IDA7CisgICAgUHlPYmplY3QgKmRlbGV0ZWNoYXJzID0gTlVMTDsKKworICAgIHN3aXRjaCAoUHlUdXBsZV9HRVRfU0laRShhcmdzKSkgeworICAgICAgICBjYXNlIDE6CisgICAgICAgICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk86dHJhbnNsYXRlIiwgJnRhYmxlKSkKKyAgICAgICAgICAgICAgICBnb3RvIGV4aXQ7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSAyOgorICAgICAgICAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPTzp0cmFuc2xhdGUiLCAmdGFibGUsICZkZWxldGVjaGFycykpCisgICAgICAgICAgICAgICAgZ290byBleGl0OworICAgICAgICAgICAgZ3JvdXBfcmlnaHRfMSA9IDE7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJieXRlYXJyYXkudHJhbnNsYXRlIHJlcXVpcmVzIDEgdG8gMiBhcmd1bWVudHMiKTsKKyAgICAgICAgICAgIGdvdG8gZXhpdDsKKyAgICB9CisgICAgcmV0dXJuX3ZhbHVlID0gYnl0ZWFycmF5X3RyYW5zbGF0ZV9pbXBsKHNlbGYsIHRhYmxlLCBncm91cF9yaWdodF8xLCBkZWxldGVjaGFycyk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVhcnJheV90cmFuc2xhdGVfaW1wbChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnRhYmxlLCBpbnQgZ3JvdXBfcmlnaHRfMSwgUHlPYmplY3QgKmRlbGV0ZWNoYXJzKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWE3MDlkZjgxZDQxZGI0YjcgaW5wdXQ9Yjc0OWFkODVmNDg2MDgyNF0qLworewogICAgIGNoYXIgKmlucHV0LCAqb3V0cHV0OwotICAgIGNvbnN0IGNoYXIgKnRhYmxlOworICAgIGNvbnN0IGNoYXIgKnRhYmxlX2NoYXJzOwogICAgIFB5X3NzaXplX3QgaSwgYzsKICAgICBQeU9iamVjdCAqaW5wdXRfb2JqID0gKFB5T2JqZWN0KilzZWxmOwogICAgIGNvbnN0IGNoYXIgKm91dHB1dF9zdGFydDsKICAgICBQeV9zc2l6ZV90IGlubGVuOwogICAgIFB5T2JqZWN0ICpyZXN1bHQgPSBOVUxMOwogICAgIGludCB0cmFuc190YWJsZVsyNTZdOwotICAgIFB5T2JqZWN0ICp0YWJsZW9iaiA9IE5VTEwsICpkZWxvYmogPSBOVUxMOwogICAgIFB5X2J1ZmZlciB2dGFibGUsIHZkZWw7CiAKLSAgICBpZiAoIVB5QXJnX1VucGFja1R1cGxlKGFyZ3MsICJ0cmFuc2xhdGUiLCAxLCAyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgJnRhYmxlb2JqLCAmZGVsb2JqKSkKLSAgICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIGlmICh0YWJsZW9iaiA9PSBQeV9Ob25lKSB7CisgICAgaWYgKHRhYmxlID09IFB5X05vbmUpIHsKKyAgICAgICAgdGFibGVfY2hhcnMgPSBOVUxMOwogICAgICAgICB0YWJsZSA9IE5VTEw7Ci0gICAgICAgIHRhYmxlb2JqID0gTlVMTDsKLSAgICB9IGVsc2UgaWYgKFB5T2JqZWN0X0dldEJ1ZmZlcih0YWJsZW9iaiwgJnZ0YWJsZSwgUHlCVUZfU0lNUExFKSAhPSAwKSB7CisgICAgfSBlbHNlIGlmIChQeU9iamVjdF9HZXRCdWZmZXIodGFibGUsICZ2dGFibGUsIFB5QlVGX1NJTVBMRSkgIT0gMCkgewogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9IGVsc2UgewogICAgICAgICBpZiAodnRhYmxlLmxlbiAhPSAyNTYpIHsKQEAgLTE0ODQsMTIgKzE2MTEsMTIgQEAKICAgICAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJnZ0YWJsZSk7CiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgfQotICAgICAgICB0YWJsZSA9IChjb25zdCBjaGFyKil2dGFibGUuYnVmOworICAgICAgICB0YWJsZV9jaGFycyA9IChjb25zdCBjaGFyKil2dGFibGUuYnVmOwogICAgIH0KIAotICAgIGlmIChkZWxvYmogIT0gTlVMTCkgewotICAgICAgICBpZiAoUHlPYmplY3RfR2V0QnVmZmVyKGRlbG9iaiwgJnZkZWwsIFB5QlVGX1NJTVBMRSkgIT0gMCkgewotICAgICAgICAgICAgaWYgKHRhYmxlb2JqICE9IE5VTEwpCisgICAgaWYgKGRlbGV0ZWNoYXJzICE9IE5VTEwpIHsKKyAgICAgICAgaWYgKFB5T2JqZWN0X0dldEJ1ZmZlcihkZWxldGVjaGFycywgJnZkZWwsIFB5QlVGX1NJTVBMRSkgIT0gMCkgeworICAgICAgICAgICAgaWYgKHRhYmxlICE9IE5VTEwpCiAgICAgICAgICAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmdnRhYmxlKTsKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICB9CkBAIC0xNTA2LDIxICsxNjMzLDIxIEBACiAgICAgb3V0cHV0X3N0YXJ0ID0gb3V0cHV0ID0gUHlCeXRlQXJyYXlfQXNTdHJpbmcocmVzdWx0KTsKICAgICBpbnB1dCA9IFB5Qnl0ZUFycmF5X0FTX1NUUklORyhpbnB1dF9vYmopOwogCi0gICAgaWYgKHZkZWwubGVuID09IDAgJiYgdGFibGUgIT0gTlVMTCkgeworICAgIGlmICh2ZGVsLmxlbiA9PSAwICYmIHRhYmxlX2NoYXJzICE9IE5VTEwpIHsKICAgICAgICAgLyogSWYgbm8gZGVsZXRpb25zIGFyZSByZXF1aXJlZCwgdXNlIGZhc3RlciBjb2RlICovCiAgICAgICAgIGZvciAoaSA9IGlubGVuOyAtLWkgPj0gMDsgKSB7CiAgICAgICAgICAgICBjID0gUHlfQ0hBUk1BU0soKmlucHV0KyspOwotICAgICAgICAgICAgKm91dHB1dCsrID0gdGFibGVbY107CisgICAgICAgICAgICAqb3V0cHV0KysgPSB0YWJsZV9jaGFyc1tjXTsKICAgICAgICAgfQogICAgICAgICBnb3RvIGRvbmU7CiAgICAgfQogCi0gICAgaWYgKHRhYmxlID09IE5VTEwpIHsKKyAgICBpZiAodGFibGVfY2hhcnMgPT0gTlVMTCkgewogICAgICAgICBmb3IgKGkgPSAwOyBpIDwgMjU2OyBpKyspCiAgICAgICAgICAgICB0cmFuc190YWJsZVtpXSA9IFB5X0NIQVJNQVNLKGkpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIGZvciAoaSA9IDA7IGkgPCAyNTY7IGkrKykKLSAgICAgICAgICAgIHRyYW5zX3RhYmxlW2ldID0gUHlfQ0hBUk1BU0sodGFibGVbaV0pOworICAgICAgICAgICAgdHJhbnNfdGFibGVbaV0gPSBQeV9DSEFSTUFTSyh0YWJsZV9jaGFyc1tpXSk7CiAgICAgfQogCiAgICAgZm9yIChpID0gMDsgaSA8IHZkZWwubGVuOyBpKyspCkBAIC0xNTQwLDE4ICsxNjY3LDc3IEBACiAgICAgICAgIH0KIAogZG9uZToKLSAgICBpZiAodGFibGVvYmogIT0gTlVMTCkKKyAgICBpZiAodGFibGUgIT0gTlVMTCkKICAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmdnRhYmxlKTsKLSAgICBpZiAoZGVsb2JqICE9IE5VTEwpCisgICAgaWYgKGRlbGV0ZWNoYXJzICE9IE5VTEwpCiAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJnZkZWwpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIAorLypbY2xpbmljIGlucHV0XQorCitAc3RhdGljbWV0aG9kCitieXRlYXJyYXkubWFrZXRyYW5zCisKKyAgICBmcm06IFB5X2J1ZmZlcgorICAgIHRvOiBQeV9idWZmZXIKKyAgICAvCisKK1JldHVybiBhIHRyYW5zbGF0aW9uIHRhYmxlIHVzZWFibGUgZm9yIHRoZSBieXRlcyBvciBieXRlYXJyYXkgdHJhbnNsYXRlIG1ldGhvZC4KKworVGhlIHJldHVybmVkIHRhYmxlIHdpbGwgYmUgb25lIHdoZXJlIGVhY2ggYnl0ZSBpbiBmcm0gaXMgbWFwcGVkIHRvIHRoZSBieXRlIGF0Cit0aGUgc2FtZSBwb3NpdGlvbiBpbiB0by4KKworVGhlIGJ5dGVzIG9iamVjdHMgZnJtIGFuZCB0byBtdXN0IGJlIG9mIHRoZSBzYW1lIGxlbmd0aC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ5dGVhcnJheV9tYWtldHJhbnNfX2RvY19fLAorIm1ha2V0cmFucyhmcm0sIHRvLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGEgdHJhbnNsYXRpb24gdGFibGUgdXNlYWJsZSBmb3IgdGhlIGJ5dGVzIG9yIGJ5dGVhcnJheSB0cmFuc2xhdGUgbWV0aG9kLlxuIgorIlxuIgorIlRoZSByZXR1cm5lZCB0YWJsZSB3aWxsIGJlIG9uZSB3aGVyZSBlYWNoIGJ5dGUgaW4gZnJtIGlzIG1hcHBlZCB0byB0aGUgYnl0ZSBhdFxuIgorInRoZSBzYW1lIHBvc2l0aW9uIGluIHRvLlxuIgorIlxuIgorIlRoZSBieXRlcyBvYmplY3RzIGZybSBhbmQgdG8gbXVzdCBiZSBvZiB0aGUgc2FtZSBsZW5ndGguIik7CisKKyNkZWZpbmUgQllURUFSUkFZX01BS0VUUkFOU19NRVRIT0RERUYgICAgXAorICAgIHsibWFrZXRyYW5zIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9tYWtldHJhbnMsIE1FVEhfVkFSQVJHU3xNRVRIX1NUQVRJQywgYnl0ZWFycmF5X21ha2V0cmFuc19fZG9jX199LAorCiBzdGF0aWMgUHlPYmplY3QgKgotYnl0ZWFycmF5X21ha2V0cmFucyhQeU9iamVjdCAqbnVsbCwgUHlPYmplY3QgKmFyZ3MpCitieXRlYXJyYXlfbWFrZXRyYW5zX2ltcGwoUHlfYnVmZmVyICpmcm0sIFB5X2J1ZmZlciAqdG8pOworCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZWFycmF5X21ha2V0cmFucyh2b2lkICpudWxsLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICAgICAgcmV0dXJuIF9QeV9ieXRlc19tYWtldHJhbnMoYXJncyk7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlfYnVmZmVyIGZybSA9IHtOVUxMLCBOVUxMfTsKKyAgICBQeV9idWZmZXIgdG8gPSB7TlVMTCwgTlVMTH07CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgInkqeSo6bWFrZXRyYW5zIiwKKyAgICAgICAgJmZybSwgJnRvKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGJ5dGVhcnJheV9tYWtldHJhbnNfaW1wbCgmZnJtLCAmdG8pOworCitleGl0OgorICAgIC8qIENsZWFudXAgZm9yIGZybSAqLworICAgIGlmIChmcm0ub2JqKQorICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJmZybSk7CisgICAgLyogQ2xlYW51cCBmb3IgdG8gKi8KKyAgICBpZiAodG8ub2JqKQorICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJnRvKTsKKworICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlYXJyYXlfbWFrZXRyYW5zX2ltcGwoUHlfYnVmZmVyICpmcm0sIFB5X2J1ZmZlciAqdG8pCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZDMzMjYyMjgxNGMyNmY0YiBpbnB1dD01OTI1YTgxZDJmYmJmMTUxXSovCit7CisgICAgcmV0dXJuIF9QeV9ieXRlc19tYWtldHJhbnMoZnJtLCB0byk7CiB9CiAKIApAQCAtMjA0Miw2MSArMjIyOCwxNDMgQEAKIH0KIAogCi1QeURvY19TVFJWQVIocmVwbGFjZV9fZG9jX18sCi0iQi5yZXBsYWNlKG9sZCwgbmV3WywgY291bnRdKSAtPiBieXRlYXJyYXlcblwKLVxuXAotUmV0dXJuIGEgY29weSBvZiBCIHdpdGggYWxsIG9jY3VycmVuY2VzIG9mIHN1YnNlY3Rpb25cblwKLW9sZCByZXBsYWNlZCBieSBuZXcuICBJZiB0aGUgb3B0aW9uYWwgYXJndW1lbnQgY291bnQgaXNcblwKLWdpdmVuLCBvbmx5IHRoZSBmaXJzdCBjb3VudCBvY2N1cnJlbmNlcyBhcmUgcmVwbGFjZWQuIik7CisvKltjbGluaWMgaW5wdXRdCitieXRlYXJyYXkucmVwbGFjZQorCisgICAgb2xkOiBQeV9idWZmZXIKKyAgICBuZXc6IFB5X2J1ZmZlcgorICAgIGNvdW50OiBQeV9zc2l6ZV90ID0gLTEKKyAgICAgICAgTWF4aW11bSBudW1iZXIgb2Ygb2NjdXJyZW5jZXMgdG8gcmVwbGFjZS4KKyAgICAgICAgLTEgKHRoZSBkZWZhdWx0IHZhbHVlKSBtZWFucyByZXBsYWNlIGFsbCBvY2N1cnJlbmNlcy4KKyAgICAvCisKK1JldHVybiBhIGNvcHkgd2l0aCBhbGwgb2NjdXJyZW5jZXMgb2Ygc3Vic3RyaW5nIG9sZCByZXBsYWNlZCBieSBuZXcuCisKK0lmIHRoZSBvcHRpb25hbCBhcmd1bWVudCBjb3VudCBpcyBnaXZlbiwgb25seSB0aGUgZmlyc3QgY291bnQgb2NjdXJyZW5jZXMgYXJlCityZXBsYWNlZC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ5dGVhcnJheV9yZXBsYWNlX19kb2NfXywKKyJyZXBsYWNlKCRzZWxmLCBvbGQsIG5ldywgY291bnQ9LTEsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gYSBjb3B5IHdpdGggYWxsIG9jY3VycmVuY2VzIG9mIHN1YnN0cmluZyBvbGQgcmVwbGFjZWQgYnkgbmV3LlxuIgorIlxuIgorIiAgY291bnRcbiIKKyIgICAgTWF4aW11bSBudW1iZXIgb2Ygb2NjdXJyZW5jZXMgdG8gcmVwbGFjZS5cbiIKKyIgICAgLTEgKHRoZSBkZWZhdWx0IHZhbHVlKSBtZWFucyByZXBsYWNlIGFsbCBvY2N1cnJlbmNlcy5cbiIKKyJcbiIKKyJJZiB0aGUgb3B0aW9uYWwgYXJndW1lbnQgY291bnQgaXMgZ2l2ZW4sIG9ubHkgdGhlIGZpcnN0IGNvdW50IG9jY3VycmVuY2VzIGFyZVxuIgorInJlcGxhY2VkLiIpOworCisjZGVmaW5lIEJZVEVBUlJBWV9SRVBMQUNFX01FVEhPRERFRiAgICBcCisgICAgeyJyZXBsYWNlIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9yZXBsYWNlLCBNRVRIX1ZBUkFSR1MsIGJ5dGVhcnJheV9yZXBsYWNlX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlYXJyYXlfcmVwbGFjZV9pbXBsKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeV9idWZmZXIgKm9sZCwgUHlfYnVmZmVyICpuZXcsIFB5X3NzaXplX3QgY291bnQpOwogCiBzdGF0aWMgUHlPYmplY3QgKgogYnl0ZWFycmF5X3JlcGxhY2UoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewotICAgIFB5T2JqZWN0ICpyZXM7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CiAgICAgUHlfYnVmZmVyIG9sZCA9IHtOVUxMLCBOVUxMfTsKICAgICBQeV9idWZmZXIgbmV3ID0ge05VTEwsIE5VTEx9OwogICAgIFB5X3NzaXplX3QgY291bnQgPSAtMTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAieSp5KnxuOnJlcGxhY2UiLCAmb2xkLCAmbmV3LCAmY291bnQpKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgInkqeSp8bjpyZXBsYWNlIiwKKyAgICAgICAgJm9sZCwgJm5ldywgJmNvdW50KSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGJ5dGVhcnJheV9yZXBsYWNlX2ltcGwoc2VsZiwgJm9sZCwgJm5ldywgY291bnQpOwogCi0gICAgcmVzID0gKFB5T2JqZWN0ICopcmVwbGFjZSgoUHlCeXRlQXJyYXlPYmplY3QgKikgc2VsZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdCBjaGFyICopb2xkLmJ1Ziwgb2xkLmxlbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdCBjaGFyICopbmV3LmJ1ZiwgbmV3LmxlbiwgY291bnQpOworZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBvbGQgKi8KKyAgICBpZiAob2xkLm9iaikKKyAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZvbGQpOworICAgIC8qIENsZWFudXAgZm9yIG5ldyAqLworICAgIGlmIChuZXcub2JqKQorICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJm5ldyk7CiAKLSAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZvbGQpOwotICAgIFB5QnVmZmVyX1JlbGVhc2UoJm5ldyk7Ci0gICAgcmV0dXJuIHJlczsKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOwogfQogCi1QeURvY19TVFJWQVIoc3BsaXRfX2RvY19fLAotIkIuc3BsaXQoc2VwPU5vbmUsIG1heHNwbGl0PS0xKSAtPiBsaXN0IG9mIGJ5dGVhcnJheXNcblwKLVxuXAotUmV0dXJuIGEgbGlzdCBvZiB0aGUgc2VjdGlvbnMgaW4gQiwgdXNpbmcgc2VwIGFzIHRoZSBkZWxpbWl0ZXIuXG5cCi1JZiBzZXAgaXMgbm90IGdpdmVuLCBCIGlzIHNwbGl0IG9uIEFTQ0lJIHdoaXRlc3BhY2UgY2hhcmFjdGVyc1xuXAotKHNwYWNlLCB0YWIsIHJldHVybiwgbmV3bGluZSwgZm9ybWZlZWQsIHZlcnRpY2FsIHRhYikuXG5cCi1JZiBtYXhzcGxpdCBpcyBnaXZlbiwgYXQgbW9zdCBtYXhzcGxpdCBzcGxpdHMgYXJlIGRvbmUuIik7CitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZWFycmF5X3JlcGxhY2VfaW1wbChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlfYnVmZmVyICpvbGQsIFB5X2J1ZmZlciAqbmV3LCBQeV9zc2l6ZV90IGNvdW50KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTk5OTdmYmJkNWJhYzQ4ODMgaW5wdXQ9YWEzNzlkOTg4NjM3YzdmYl0qLworeworICAgIHJldHVybiAoUHlPYmplY3QgKilyZXBsYWNlKChQeUJ5dGVBcnJheU9iamVjdCAqKSBzZWxmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9sZC0+YnVmLCBvbGQtPmxlbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXctPmJ1ZiwgbmV3LT5sZW4sIGNvdW50KTsKK30KKworLypbY2xpbmljIGlucHV0XQorYnl0ZWFycmF5LnNwbGl0CisKKyAgICBzZXA6IG9iamVjdCA9IE5vbmUKKyAgICAgICAgVGhlIGRlbGltaXRlciBhY2NvcmRpbmcgd2hpY2ggdG8gc3BsaXQgdGhlIGJ5dGVhcnJheS4KKyAgICAgICAgTm9uZSAodGhlIGRlZmF1bHQgdmFsdWUpIG1lYW5zIHNwbGl0IG9uIEFTQ0lJIHdoaXRlc3BhY2UgY2hhcmFjdGVycworICAgICAgICAoc3BhY2UsIHRhYiwgcmV0dXJuLCBuZXdsaW5lLCBmb3JtZmVlZCwgdmVydGljYWwgdGFiKS4KKyAgICBtYXhzcGxpdDogUHlfc3NpemVfdCA9IC0xCisgICAgICAgIE1heGltdW0gbnVtYmVyIG9mIHNwbGl0cyB0byBkby4KKyAgICAgICAgLTEgKHRoZSBkZWZhdWx0IHZhbHVlKSBtZWFucyBubyBsaW1pdC4KKworUmV0dXJuIGEgbGlzdCBvZiB0aGUgc2VjdGlvbnMgaW4gdGhlIGJ5dGVhcnJheSwgdXNpbmcgc2VwIGFzIHRoZSBkZWxpbWl0ZXIuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihieXRlYXJyYXlfc3BsaXRfX2RvY19fLAorInNwbGl0KCRzZWxmLCAvLCBzZXA9Tm9uZSwgbWF4c3BsaXQ9LTEpXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gYSBsaXN0IG9mIHRoZSBzZWN0aW9ucyBpbiB0aGUgYnl0ZWFycmF5LCB1c2luZyBzZXAgYXMgdGhlIGRlbGltaXRlci5cbiIKKyJcbiIKKyIgIHNlcFxuIgorIiAgICBUaGUgZGVsaW1pdGVyIGFjY29yZGluZyB3aGljaCB0byBzcGxpdCB0aGUgYnl0ZWFycmF5LlxuIgorIiAgICBOb25lICh0aGUgZGVmYXVsdCB2YWx1ZSkgbWVhbnMgc3BsaXQgb24gQVNDSUkgd2hpdGVzcGFjZSBjaGFyYWN0ZXJzXG4iCisiICAgIChzcGFjZSwgdGFiLCByZXR1cm4sIG5ld2xpbmUsIGZvcm1mZWVkLCB2ZXJ0aWNhbCB0YWIpLlxuIgorIiAgbWF4c3BsaXRcbiIKKyIgICAgTWF4aW11bSBudW1iZXIgb2Ygc3BsaXRzIHRvIGRvLlxuIgorIiAgICAtMSAodGhlIGRlZmF1bHQgdmFsdWUpIG1lYW5zIG5vIGxpbWl0LiIpOworCisjZGVmaW5lIEJZVEVBUlJBWV9TUExJVF9NRVRIT0RERUYgICAgXAorICAgIHsic3BsaXQiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X3NwbGl0LCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgYnl0ZWFycmF5X3NwbGl0X19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1ieXRlYXJyYXlfc3BsaXQoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKK2J5dGVhcnJheV9zcGxpdF9pbXBsKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqc2VwLCBQeV9zc2l6ZV90IG1heHNwbGl0KTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVhcnJheV9zcGxpdChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgc3RhdGljIGNoYXIgKmt3bGlzdFtdID0geyJzZXAiLCAibWF4c3BsaXQiLCAwfTsKLSAgICBQeV9zc2l6ZV90IGxlbiA9IFB5Qnl0ZUFycmF5X0dFVF9TSVpFKHNlbGYpLCBuOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsic2VwIiwgIm1heHNwbGl0IiwgTlVMTH07CisgICAgUHlPYmplY3QgKnNlcCA9IFB5X05vbmU7CiAgICAgUHlfc3NpemVfdCBtYXhzcGxpdCA9IC0xOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAifE9uOnNwbGl0IiwgX2tleXdvcmRzLAorICAgICAgICAmc2VwLCAmbWF4c3BsaXQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYnl0ZWFycmF5X3NwbGl0X2ltcGwoc2VsZiwgc2VwLCBtYXhzcGxpdCk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVhcnJheV9zcGxpdF9pbXBsKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqc2VwLCBQeV9zc2l6ZV90IG1heHNwbGl0KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTA2MmEzZDg3ZDZmOTE4ZmEgaW5wdXQ9MjRmODI2NjlmNDFiZjUyM10qLworeworICAgIFB5X3NzaXplX3QgbGVuID0gUHlCeXRlQXJyYXlfR0VUX1NJWkUoc2VsZiksIG47CiAgICAgY29uc3QgY2hhciAqcyA9IFB5Qnl0ZUFycmF5X0FTX1NUUklORyhzZWxmKSwgKnN1YjsKLSAgICBQeU9iamVjdCAqbGlzdCwgKnN1Ym9iaiA9IFB5X05vbmU7CisgICAgUHlPYmplY3QgKmxpc3Q7CiAgICAgUHlfYnVmZmVyIHZzdWI7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAifE9uOnNwbGl0IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrd2xpc3QsICZzdWJvYmosICZtYXhzcGxpdCkpCi0gICAgICAgIHJldHVybiBOVUxMOwogICAgIGlmIChtYXhzcGxpdCA8IDApCiAgICAgICAgIG1heHNwbGl0ID0gUFlfU1NJWkVfVF9NQVg7CiAKLSAgICBpZiAoc3Vib2JqID09IFB5X05vbmUpCisgICAgaWYgKHNlcCA9PSBQeV9Ob25lKQogICAgICAgICByZXR1cm4gc3RyaW5nbGliX3NwbGl0X3doaXRlc3BhY2UoKFB5T2JqZWN0Kikgc2VsZiwgcywgbGVuLCBtYXhzcGxpdCk7CiAKLSAgICBpZiAoUHlPYmplY3RfR2V0QnVmZmVyKHN1Ym9iaiwgJnZzdWIsIFB5QlVGX1NJTVBMRSkgIT0gMCkKKyAgICBpZiAoUHlPYmplY3RfR2V0QnVmZmVyKHNlcCwgJnZzdWIsIFB5QlVGX1NJTVBMRSkgIT0gMCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgc3ViID0gdnN1Yi5idWY7CiAgICAgbiA9IHZzdWIubGVuOwpAQCAtMjEwOCwxOSArMjM3Niw0NiBAQAogICAgIHJldHVybiBsaXN0OwogfQogCi1QeURvY19TVFJWQVIocGFydGl0aW9uX19kb2NfXywKLSJCLnBhcnRpdGlvbihzZXApIC0+IChoZWFkLCBzZXAsIHRhaWwpXG5cCi1cblwKLVNlYXJjaCBmb3IgdGhlIHNlcGFyYXRvciBzZXAgaW4gQiwgYW5kIHJldHVybiB0aGUgcGFydCBiZWZvcmUgaXQsXG5cCi10aGUgc2VwYXJhdG9yIGl0c2VsZiwgYW5kIHRoZSBwYXJ0IGFmdGVyIGl0LiAgSWYgdGhlIHNlcGFyYXRvciBpcyBub3RcblwKLWZvdW5kLCByZXR1cm5zIEIgYW5kIHR3byBlbXB0eSBieXRlYXJyYXkgb2JqZWN0cy4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2J5dGVhcnJheS5wYXJ0aXRpb24KKworICAgIHNlbGY6IHNlbGYodHlwZT0iUHlCeXRlQXJyYXlPYmplY3QgKiIpCisgICAgc2VwOiBvYmplY3QKKyAgICAvCisKK1BhcnRpdGlvbiB0aGUgYnl0ZWFycmF5IGludG8gdGhyZWUgcGFydHMgdXNpbmcgdGhlIGdpdmVuIHNlcGFyYXRvci4KKworVGhpcyB3aWxsIHNlYXJjaCBmb3IgdGhlIHNlcGFyYXRvciBzZXAgaW4gdGhlIGJ5dGVhcnJheS4gSWYgdGhlIHNlcGFyYXRvciBpcworZm91bmQsIHJldHVybnMgYSAzLXR1cGxlIGNvbnRhaW5pbmcgdGhlIHBhcnQgYmVmb3JlIHRoZSBzZXBhcmF0b3IsIHRoZQorc2VwYXJhdG9yIGl0c2VsZiwgYW5kIHRoZSBwYXJ0IGFmdGVyIGl0LgorCitJZiB0aGUgc2VwYXJhdG9yIGlzIG5vdCBmb3VuZCwgcmV0dXJucyBhIDMtdHVwbGUgY29udGFpbmluZyB0aGUgb3JpZ2luYWwKK2J5dGVhcnJheSBvYmplY3QgYW5kIHR3byBlbXB0eSBieXRlYXJyYXkgb2JqZWN0cy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ5dGVhcnJheV9wYXJ0aXRpb25fX2RvY19fLAorInBhcnRpdGlvbigkc2VsZiwgc2VwLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUGFydGl0aW9uIHRoZSBieXRlYXJyYXkgaW50byB0aHJlZSBwYXJ0cyB1c2luZyB0aGUgZ2l2ZW4gc2VwYXJhdG9yLlxuIgorIlxuIgorIlRoaXMgd2lsbCBzZWFyY2ggZm9yIHRoZSBzZXBhcmF0b3Igc2VwIGluIHRoZSBieXRlYXJyYXkuIElmIHRoZSBzZXBhcmF0b3IgaXNcbiIKKyJmb3VuZCwgcmV0dXJucyBhIDMtdHVwbGUgY29udGFpbmluZyB0aGUgcGFydCBiZWZvcmUgdGhlIHNlcGFyYXRvciwgdGhlXG4iCisic2VwYXJhdG9yIGl0c2VsZiwgYW5kIHRoZSBwYXJ0IGFmdGVyIGl0LlxuIgorIlxuIgorIklmIHRoZSBzZXBhcmF0b3IgaXMgbm90IGZvdW5kLCByZXR1cm5zIGEgMy10dXBsZSBjb250YWluaW5nIHRoZSBvcmlnaW5hbFxuIgorImJ5dGVhcnJheSBvYmplY3QgYW5kIHR3byBlbXB0eSBieXRlYXJyYXkgb2JqZWN0cy4iKTsKKworI2RlZmluZSBCWVRFQVJSQVlfUEFSVElUSU9OX01FVEhPRERFRiAgICBcCisgICAgeyJwYXJ0aXRpb24iLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X3BhcnRpdGlvbiwgTUVUSF9PLCBieXRlYXJyYXlfcGFydGl0aW9uX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1ieXRlYXJyYXlfcGFydGl0aW9uKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqc2VwX29iaikKK2J5dGVhcnJheV9wYXJ0aXRpb24oUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpzZXApCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MjY0NTEzODIyMWZlNmY0ZCBpbnB1dD03ZDdmZTM3YjE2OTZkNTA2XSovCiB7CiAgICAgUHlPYmplY3QgKmJ5dGVzZXAsICpyZXN1bHQ7CiAKLSAgICBieXRlc2VwID0gUHlCeXRlQXJyYXlfRnJvbU9iamVjdChzZXBfb2JqKTsKKyAgICBieXRlc2VwID0gUHlCeXRlQXJyYXlfRnJvbU9iamVjdChzZXApOwogICAgIGlmICghIGJ5dGVzZXApCiAgICAgICAgIHJldHVybiBOVUxMOwogCkBAIC0yMTM1LDIwICsyNDMwLDQ2IEBACiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotUHlEb2NfU1RSVkFSKHJwYXJ0aXRpb25fX2RvY19fLAotIkIucnBhcnRpdGlvbihzZXApIC0+IChoZWFkLCBzZXAsIHRhaWwpXG5cCi1cblwKLVNlYXJjaCBmb3IgdGhlIHNlcGFyYXRvciBzZXAgaW4gQiwgc3RhcnRpbmcgYXQgdGhlIGVuZCBvZiBCLFxuXAotYW5kIHJldHVybiB0aGUgcGFydCBiZWZvcmUgaXQsIHRoZSBzZXBhcmF0b3IgaXRzZWxmLCBhbmQgdGhlXG5cCi1wYXJ0IGFmdGVyIGl0LiAgSWYgdGhlIHNlcGFyYXRvciBpcyBub3QgZm91bmQsIHJldHVybnMgdHdvIGVtcHR5XG5cCi1ieXRlYXJyYXkgb2JqZWN0cyBhbmQgQi4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2J5dGVhcnJheS5ycGFydGl0aW9uCisKKyAgICBzZWxmOiBzZWxmKHR5cGU9IlB5Qnl0ZUFycmF5T2JqZWN0ICoiKQorICAgIHNlcDogb2JqZWN0CisgICAgLworCitQYXJ0aXRpb24gdGhlIGJ5dGVzIGludG8gdGhyZWUgcGFydHMgdXNpbmcgdGhlIGdpdmVuIHNlcGFyYXRvci4KKworVGhpcyB3aWxsIHNlYXJjaCBmb3IgdGhlIHNlcGFyYXRvciBzZXAgaW4gdGhlIGJ5dGVhcnJheSwgc3RhcnRpbmcgYW5kIHRoZSBlbmQuCitJZiB0aGUgc2VwYXJhdG9yIGlzIGZvdW5kLCByZXR1cm5zIGEgMy10dXBsZSBjb250YWluaW5nIHRoZSBwYXJ0IGJlZm9yZSB0aGUKK3NlcGFyYXRvciwgdGhlIHNlcGFyYXRvciBpdHNlbGYsIGFuZCB0aGUgcGFydCBhZnRlciBpdC4KKworSWYgdGhlIHNlcGFyYXRvciBpcyBub3QgZm91bmQsIHJldHVybnMgYSAzLXR1cGxlIGNvbnRhaW5pbmcgdHdvIGVtcHR5IGJ5dGVhcnJheQorb2JqZWN0cyBhbmQgdGhlIG9yaWdpbmFsIGJ5dGVhcnJheSBvYmplY3QuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihieXRlYXJyYXlfcnBhcnRpdGlvbl9fZG9jX18sCisicnBhcnRpdGlvbigkc2VsZiwgc2VwLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUGFydGl0aW9uIHRoZSBieXRlcyBpbnRvIHRocmVlIHBhcnRzIHVzaW5nIHRoZSBnaXZlbiBzZXBhcmF0b3IuXG4iCisiXG4iCisiVGhpcyB3aWxsIHNlYXJjaCBmb3IgdGhlIHNlcGFyYXRvciBzZXAgaW4gdGhlIGJ5dGVhcnJheSwgc3RhcnRpbmcgYW5kIHRoZSBlbmQuXG4iCisiSWYgdGhlIHNlcGFyYXRvciBpcyBmb3VuZCwgcmV0dXJucyBhIDMtdHVwbGUgY29udGFpbmluZyB0aGUgcGFydCBiZWZvcmUgdGhlXG4iCisic2VwYXJhdG9yLCB0aGUgc2VwYXJhdG9yIGl0c2VsZiwgYW5kIHRoZSBwYXJ0IGFmdGVyIGl0LlxuIgorIlxuIgorIklmIHRoZSBzZXBhcmF0b3IgaXMgbm90IGZvdW5kLCByZXR1cm5zIGEgMy10dXBsZSBjb250YWluaW5nIHR3byBlbXB0eSBieXRlYXJyYXlcbiIKKyJvYmplY3RzIGFuZCB0aGUgb3JpZ2luYWwgYnl0ZWFycmF5IG9iamVjdC4iKTsKKworI2RlZmluZSBCWVRFQVJSQVlfUlBBUlRJVElPTl9NRVRIT0RERUYgICAgXAorICAgIHsicnBhcnRpdGlvbiIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfcnBhcnRpdGlvbiwgTUVUSF9PLCBieXRlYXJyYXlfcnBhcnRpdGlvbl9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotYnl0ZWFycmF5X3JwYXJ0aXRpb24oUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpzZXBfb2JqKQorYnl0ZWFycmF5X3JwYXJ0aXRpb24oUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpzZXApCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZWQxM2U1NDYwNWQwMDdkZSBpbnB1dD05YjhjZDU0MGMxYjc1ODUzXSovCiB7CiAgICAgUHlPYmplY3QgKmJ5dGVzZXAsICpyZXN1bHQ7CiAKLSAgICBieXRlc2VwID0gUHlCeXRlQXJyYXlfRnJvbU9iamVjdChzZXBfb2JqKTsKKyAgICBieXRlc2VwID0gUHlCeXRlQXJyYXlfRnJvbU9iamVjdChzZXApOwogICAgIGlmICghIGJ5dGVzZXApCiAgICAgICAgIHJldHVybiBOVUxMOwogCkBAIC0yMTYzLDM1ICsyNDg0LDcwIEBACiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotUHlEb2NfU1RSVkFSKHJzcGxpdF9fZG9jX18sCi0iQi5yc3BsaXQoc2VwPU5vbmUsIG1heHNwbGl0PS0xKSAtPiBsaXN0IG9mIGJ5dGVhcnJheXNcblwKLVxuXAotUmV0dXJuIGEgbGlzdCBvZiB0aGUgc2VjdGlvbnMgaW4gQiwgdXNpbmcgc2VwIGFzIHRoZSBkZWxpbWl0ZXIsXG5cCi1zdGFydGluZyBhdCB0aGUgZW5kIG9mIEIgYW5kIHdvcmtpbmcgdG8gdGhlIGZyb250LlxuXAotSWYgc2VwIGlzIG5vdCBnaXZlbiwgQiBpcyBzcGxpdCBvbiBBU0NJSSB3aGl0ZXNwYWNlIGNoYXJhY3RlcnNcblwKLShzcGFjZSwgdGFiLCByZXR1cm4sIG5ld2xpbmUsIGZvcm1mZWVkLCB2ZXJ0aWNhbCB0YWIpLlxuXAotSWYgbWF4c3BsaXQgaXMgZ2l2ZW4sIGF0IG1vc3QgbWF4c3BsaXQgc3BsaXRzIGFyZSBkb25lLiIpOworLypbY2xpbmljIGlucHV0XQorYnl0ZWFycmF5LnJzcGxpdCA9IGJ5dGVhcnJheS5zcGxpdAorCitSZXR1cm4gYSBsaXN0IG9mIHRoZSBzZWN0aW9ucyBpbiB0aGUgYnl0ZWFycmF5LCB1c2luZyBzZXAgYXMgdGhlIGRlbGltaXRlci4KKworU3BsaXR0aW5nIGlzIGRvbmUgc3RhcnRpbmcgYXQgdGhlIGVuZCBvZiB0aGUgYnl0ZWFycmF5IGFuZCB3b3JraW5nIHRvIHRoZSBmcm9udC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ5dGVhcnJheV9yc3BsaXRfX2RvY19fLAorInJzcGxpdCgkc2VsZiwgLywgc2VwPU5vbmUsIG1heHNwbGl0PS0xKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGEgbGlzdCBvZiB0aGUgc2VjdGlvbnMgaW4gdGhlIGJ5dGVhcnJheSwgdXNpbmcgc2VwIGFzIHRoZSBkZWxpbWl0ZXIuXG4iCisiXG4iCisiICBzZXBcbiIKKyIgICAgVGhlIGRlbGltaXRlciBhY2NvcmRpbmcgd2hpY2ggdG8gc3BsaXQgdGhlIGJ5dGVhcnJheS5cbiIKKyIgICAgTm9uZSAodGhlIGRlZmF1bHQgdmFsdWUpIG1lYW5zIHNwbGl0IG9uIEFTQ0lJIHdoaXRlc3BhY2UgY2hhcmFjdGVyc1xuIgorIiAgICAoc3BhY2UsIHRhYiwgcmV0dXJuLCBuZXdsaW5lLCBmb3JtZmVlZCwgdmVydGljYWwgdGFiKS5cbiIKKyIgIG1heHNwbGl0XG4iCisiICAgIE1heGltdW0gbnVtYmVyIG9mIHNwbGl0cyB0byBkby5cbiIKKyIgICAgLTEgKHRoZSBkZWZhdWx0IHZhbHVlKSBtZWFucyBubyBsaW1pdC5cbiIKKyJcbiIKKyJTcGxpdHRpbmcgaXMgZG9uZSBzdGFydGluZyBhdCB0aGUgZW5kIG9mIHRoZSBieXRlYXJyYXkgYW5kIHdvcmtpbmcgdG8gdGhlIGZyb250LiIpOworCisjZGVmaW5lIEJZVEVBUlJBWV9SU1BMSVRfTUVUSE9EREVGICAgIFwKKyAgICB7InJzcGxpdCIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfcnNwbGl0LCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgYnl0ZWFycmF5X3JzcGxpdF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotYnl0ZWFycmF5X3JzcGxpdChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQorYnl0ZWFycmF5X3JzcGxpdF9pbXBsKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqc2VwLCBQeV9zc2l6ZV90IG1heHNwbGl0KTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVhcnJheV9yc3BsaXQoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewotICAgIHN0YXRpYyBjaGFyICprd2xpc3RbXSA9IHsic2VwIiwgIm1heHNwbGl0IiwgMH07Ci0gICAgUHlfc3NpemVfdCBsZW4gPSBQeUJ5dGVBcnJheV9HRVRfU0laRShzZWxmKSwgbjsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InNlcCIsICJtYXhzcGxpdCIsIE5VTEx9OworICAgIFB5T2JqZWN0ICpzZXAgPSBQeV9Ob25lOwogICAgIFB5X3NzaXplX3QgbWF4c3BsaXQgPSAtMTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgInxPbjpyc3BsaXQiLCBfa2V5d29yZHMsCisgICAgICAgICZzZXAsICZtYXhzcGxpdCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBieXRlYXJyYXlfcnNwbGl0X2ltcGwoc2VsZiwgc2VwLCBtYXhzcGxpdCk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVhcnJheV9yc3BsaXRfaW1wbChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnNlcCwgUHlfc3NpemVfdCBtYXhzcGxpdCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1hZmZhZjlmYzJhYWU4ZDQxIGlucHV0PWE2ODI4NmU0ZGQ2OTJmZmVdKi8KK3sKKyAgICBQeV9zc2l6ZV90IGxlbiA9IFB5Qnl0ZUFycmF5X0dFVF9TSVpFKHNlbGYpLCBuOwogICAgIGNvbnN0IGNoYXIgKnMgPSBQeUJ5dGVBcnJheV9BU19TVFJJTkcoc2VsZiksICpzdWI7Ci0gICAgUHlPYmplY3QgKmxpc3QsICpzdWJvYmogPSBQeV9Ob25lOworICAgIFB5T2JqZWN0ICpsaXN0OwogICAgIFB5X2J1ZmZlciB2c3ViOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgInxPbjpyc3BsaXQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGt3bGlzdCwgJnN1Ym9iaiwgJm1heHNwbGl0KSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgaWYgKG1heHNwbGl0IDwgMCkKICAgICAgICAgbWF4c3BsaXQgPSBQWV9TU0laRV9UX01BWDsKIAotICAgIGlmIChzdWJvYmogPT0gUHlfTm9uZSkKKyAgICBpZiAoc2VwID09IFB5X05vbmUpCiAgICAgICAgIHJldHVybiBzdHJpbmdsaWJfcnNwbGl0X3doaXRlc3BhY2UoKFB5T2JqZWN0Kikgc2VsZiwgcywgbGVuLCBtYXhzcGxpdCk7CiAKLSAgICBpZiAoUHlPYmplY3RfR2V0QnVmZmVyKHN1Ym9iaiwgJnZzdWIsIFB5QlVGX1NJTVBMRSkgIT0gMCkKKyAgICBpZiAoUHlPYmplY3RfR2V0QnVmZmVyKHNlcCwgJnZzdWIsIFB5QlVGX1NJTVBMRSkgIT0gMCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgc3ViID0gdnN1Yi5idWY7CiAgICAgbiA9IHZzdWIubGVuOwpAQCAtMjIwMywxMiArMjU1OSwzNSBAQAogICAgIHJldHVybiBsaXN0OwogfQogCi1QeURvY19TVFJWQVIocmV2ZXJzZV9fZG9jX18sCi0iQi5yZXZlcnNlKCkgLT4gTm9uZVxuXAotXG5cCi1SZXZlcnNlIHRoZSBvcmRlciBvZiB0aGUgdmFsdWVzIGluIEIgaW4gcGxhY2UuIik7CisvKltjbGluaWMgaW5wdXRdCitieXRlYXJyYXkucmV2ZXJzZQorCisgICAgc2VsZjogc2VsZih0eXBlPSJQeUJ5dGVBcnJheU9iamVjdCAqIikKKworUmV2ZXJzZSB0aGUgb3JkZXIgb2YgdGhlIHZhbHVlcyBpbiBCIGluIHBsYWNlLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnl0ZWFycmF5X3JldmVyc2VfX2RvY19fLAorInJldmVyc2UoJHNlbGYsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXZlcnNlIHRoZSBvcmRlciBvZiB0aGUgdmFsdWVzIGluIEIgaW4gcGxhY2UuIik7CisKKyNkZWZpbmUgQllURUFSUkFZX1JFVkVSU0VfTUVUSE9EREVGICAgIFwKKyAgICB7InJldmVyc2UiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X3JldmVyc2UsIE1FVEhfTk9BUkdTLCBieXRlYXJyYXlfcmV2ZXJzZV9fZG9jX199LAorCiBzdGF0aWMgUHlPYmplY3QgKgotYnl0ZWFycmF5X3JldmVyc2UoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp1bnVzZWQpCitieXRlYXJyYXlfcmV2ZXJzZV9pbXBsKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVhcnJheV9yZXZlcnNlKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBieXRlYXJyYXlfcmV2ZXJzZV9pbXBsKHNlbGYpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZWFycmF5X3JldmVyc2VfaW1wbChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD01ZDVlNWYwYmZjNjdmNDc2IGlucHV0PTc5MzNhNDk5Yjg1OTdiZDFdKi8KIHsKICAgICBjaGFyIHN3YXAsICpoZWFkLCAqdGFpbDsKICAgICBQeV9zc2l6ZV90IGksIGosIG4gPSBQeV9TSVpFKHNlbGYpOwpAQCAtMjIyNSw1NyArMjYwNCwxMzkgQEAKICAgICBQeV9SRVRVUk5fTk9ORTsKIH0KIAotUHlEb2NfU1RSVkFSKGluc2VydF9fZG9jX18sCi0iQi5pbnNlcnQoaW5kZXgsIGludCkgLT4gTm9uZVxuXAotXG5cCi1JbnNlcnQgYSBzaW5nbGUgaXRlbSBpbnRvIHRoZSBieXRlYXJyYXkgYmVmb3JlIHRoZSBnaXZlbiBpbmRleC4iKTsKKworLypbcHl0aG9uIGlucHV0XQorY2xhc3MgYnl0ZXN2YWx1ZV9jb252ZXJ0ZXIoQ0NvbnZlcnRlcik6CisgICAgdHlwZSA9ICdpbnQnCisgICAgY29udmVydGVyID0gJ19nZXRieXRldmFsdWUnCitbcHl0aG9uIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisvKltweXRob24gZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZGEzOWEzZWU1ZTZiNGIwZCBpbnB1dD0yOWMyZTdjMjZjMjEyODEyXSovCisKKworLypbY2xpbmljIGlucHV0XQorYnl0ZWFycmF5Lmluc2VydAorCisgICAgc2VsZjogc2VsZih0eXBlPSJQeUJ5dGVBcnJheU9iamVjdCAqIikKKyAgICBpbmRleDogUHlfc3NpemVfdAorICAgICAgICBUaGUgaW5kZXggd2hlcmUgdGhlIHZhbHVlIGlzIHRvIGJlIGluc2VydGVkLgorICAgIGl0ZW06IGJ5dGVzdmFsdWUKKyAgICAgICAgVGhlIGl0ZW0gdG8gYmUgaW5zZXJ0ZWQuCisgICAgLworCitJbnNlcnQgYSBzaW5nbGUgaXRlbSBpbnRvIHRoZSBieXRlYXJyYXkgYmVmb3JlIHRoZSBnaXZlbiBpbmRleC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ5dGVhcnJheV9pbnNlcnRfX2RvY19fLAorImluc2VydCgkc2VsZiwgaW5kZXgsIGl0ZW0sIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJJbnNlcnQgYSBzaW5nbGUgaXRlbSBpbnRvIHRoZSBieXRlYXJyYXkgYmVmb3JlIHRoZSBnaXZlbiBpbmRleC5cbiIKKyJcbiIKKyIgIGluZGV4XG4iCisiICAgIFRoZSBpbmRleCB3aGVyZSB0aGUgdmFsdWUgaXMgdG8gYmUgaW5zZXJ0ZWQuXG4iCisiICBpdGVtXG4iCisiICAgIFRoZSBpdGVtIHRvIGJlIGluc2VydGVkLiIpOworCisjZGVmaW5lIEJZVEVBUlJBWV9JTlNFUlRfTUVUSE9EREVGICAgIFwKKyAgICB7Imluc2VydCIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfaW5zZXJ0LCBNRVRIX1ZBUkFSR1MsIGJ5dGVhcnJheV9pbnNlcnRfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVhcnJheV9pbnNlcnRfaW1wbChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlfc3NpemVfdCBpbmRleCwgaW50IGl0ZW0pOworCiBzdGF0aWMgUHlPYmplY3QgKgogYnl0ZWFycmF5X2luc2VydChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgUHlPYmplY3QgKnZhbHVlOwotICAgIGludCBpdmFsOwotICAgIFB5X3NzaXplX3Qgd2hlcmUsIG4gPSBQeV9TSVpFKHNlbGYpOwotICAgIGNoYXIgKmJ1ZjsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeV9zc2l6ZV90IGluZGV4OworICAgIGludCBpdGVtOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJuTzppbnNlcnQiLCAmd2hlcmUsICZ2YWx1ZSkpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAibk8mOmluc2VydCIsCisgICAgICAgICZpbmRleCwgX2dldGJ5dGV2YWx1ZSwgJml0ZW0pKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYnl0ZWFycmF5X2luc2VydF9pbXBsKHNlbGYsIGluZGV4LCBpdGVtKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZWFycmF5X2luc2VydF9pbXBsKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeV9zc2l6ZV90IGluZGV4LCBpbnQgaXRlbSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD01ZWM5MzQwZDRhZDE5MDgwIGlucHV0PTgzMzc2NjgzNmJhMzBlMWVdKi8KK3sKKyAgICBQeV9zc2l6ZV90IG4gPSBQeV9TSVpFKHNlbGYpOworICAgIGNoYXIgKmJ1ZjsKIAogICAgIGlmIChuID09IFBZX1NTSVpFX1RfTUFYKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PdmVyZmxvd0Vycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgImNhbm5vdCBhZGQgbW9yZSBvYmplY3RzIHRvIGJ5dGVhcnJheSIpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0gICAgaWYgKCFfZ2V0Ynl0ZXZhbHVlKHZhbHVlLCAmaXZhbCkpCi0gICAgICAgIHJldHVybiBOVUxMOwogICAgIGlmIChQeUJ5dGVBcnJheV9SZXNpemUoKFB5T2JqZWN0ICopc2VsZiwgbiArIDEpIDwgMCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgYnVmID0gUHlCeXRlQXJyYXlfQVNfU1RSSU5HKHNlbGYpOwogCi0gICAgaWYgKHdoZXJlIDwgMCkgewotICAgICAgICB3aGVyZSArPSBuOwotICAgICAgICBpZiAod2hlcmUgPCAwKQotICAgICAgICAgICAgd2hlcmUgPSAwOworICAgIGlmIChpbmRleCA8IDApIHsKKyAgICAgICAgaW5kZXggKz0gbjsKKyAgICAgICAgaWYgKGluZGV4IDwgMCkKKyAgICAgICAgICAgIGluZGV4ID0gMDsKICAgICB9Ci0gICAgaWYgKHdoZXJlID4gbikKLSAgICAgICAgd2hlcmUgPSBuOwotICAgIG1lbW1vdmUoYnVmICsgd2hlcmUgKyAxLCBidWYgKyB3aGVyZSwgbiAtIHdoZXJlKTsKLSAgICBidWZbd2hlcmVdID0gaXZhbDsKKyAgICBpZiAoaW5kZXggPiBuKQorICAgICAgICBpbmRleCA9IG47CisgICAgbWVtbW92ZShidWYgKyBpbmRleCArIDEsIGJ1ZiArIGluZGV4LCBuIC0gaW5kZXgpOworICAgIGJ1ZltpbmRleF0gPSBpdGVtOwogCiAgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAKLVB5RG9jX1NUUlZBUihhcHBlbmRfX2RvY19fLAotIkIuYXBwZW5kKGludCkgLT4gTm9uZVxuXAotXG5cCi1BcHBlbmQgYSBzaW5nbGUgaXRlbSB0byB0aGUgZW5kIG9mIEIuIik7CisvKltjbGluaWMgaW5wdXRdCitieXRlYXJyYXkuYXBwZW5kCisKKyAgICBzZWxmOiBzZWxmKHR5cGU9IlB5Qnl0ZUFycmF5T2JqZWN0ICoiKQorICAgIGl0ZW06IGJ5dGVzdmFsdWUKKyAgICAgICAgVGhlIGl0ZW0gdG8gYmUgYXBwZW5kZWQuCisgICAgLworCitBcHBlbmQgYSBzaW5nbGUgaXRlbSB0byB0aGUgZW5kIG9mIHRoZSBieXRlYXJyYXkuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihieXRlYXJyYXlfYXBwZW5kX19kb2NfXywKKyJhcHBlbmQoJHNlbGYsIGl0ZW0sIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJBcHBlbmQgYSBzaW5nbGUgaXRlbSB0byB0aGUgZW5kIG9mIHRoZSBieXRlYXJyYXkuXG4iCisiXG4iCisiICBpdGVtXG4iCisiICAgIFRoZSBpdGVtIHRvIGJlIGFwcGVuZGVkLiIpOworCisjZGVmaW5lIEJZVEVBUlJBWV9BUFBFTkRfTUVUSE9EREVGICAgIFwKKyAgICB7ImFwcGVuZCIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfYXBwZW5kLCBNRVRIX1ZBUkFSR1MsIGJ5dGVhcnJheV9hcHBlbmRfX2RvY19ffSwKKwogc3RhdGljIFB5T2JqZWN0ICoKLWJ5dGVhcnJheV9hcHBlbmQoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmcpCitieXRlYXJyYXlfYXBwZW5kX2ltcGwoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIGludCBpdGVtKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVhcnJheV9hcHBlbmQoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewotICAgIGludCB2YWx1ZTsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBpbnQgaXRlbTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiTyY6YXBwZW5kIiwKKyAgICAgICAgX2dldGJ5dGV2YWx1ZSwgJml0ZW0pKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYnl0ZWFycmF5X2FwcGVuZF9pbXBsKHNlbGYsIGl0ZW0pOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlYXJyYXlfYXBwZW5kX2ltcGwoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIGludCBpdGVtKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWI1YjMzMjViYjNiYmFmODUgaW5wdXQ9YWU1NmVhODczODA0MDdjY10qLworewogICAgIFB5X3NzaXplX3QgbiA9IFB5X1NJWkUoc2VsZik7CiAKLSAgICBpZiAoISBfZ2V0Ynl0ZXZhbHVlKGFyZywgJnZhbHVlKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgaWYgKG4gPT0gUFlfU1NJWkVfVF9NQVgpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX092ZXJmbG93RXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAiY2Fubm90IGFkZCBtb3JlIG9iamVjdHMgdG8gYnl0ZWFycmF5Iik7CkBAIC0yMjg0LDE4ICsyNzQ1LDM3IEBACiAgICAgaWYgKFB5Qnl0ZUFycmF5X1Jlc2l6ZSgoUHlPYmplY3QgKilzZWxmLCBuICsgMSkgPCAwKQogICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIFB5Qnl0ZUFycmF5X0FTX1NUUklORyhzZWxmKVtuXSA9IHZhbHVlOworICAgIFB5Qnl0ZUFycmF5X0FTX1NUUklORyhzZWxmKVtuXSA9IGl0ZW07CiAKICAgICBQeV9SRVRVUk5fTk9ORTsKIH0KIAotUHlEb2NfU1RSVkFSKGV4dGVuZF9fZG9jX18sCi0iQi5leHRlbmQoaXRlcmFibGVfb2ZfaW50cykgLT4gTm9uZVxuXAotXG5cCi1BcHBlbmQgYWxsIHRoZSBlbGVtZW50cyBmcm9tIHRoZSBpdGVyYXRvciBvciBzZXF1ZW5jZSB0byB0aGVcblwKLWVuZCBvZiBCLiIpOworLypbY2xpbmljIGlucHV0XQorYnl0ZWFycmF5LmV4dGVuZAorCisgICAgc2VsZjogc2VsZih0eXBlPSJQeUJ5dGVBcnJheU9iamVjdCAqIikKKyAgICBpdGVyYWJsZV9vZl9pbnRzOiBvYmplY3QKKyAgICAgICAgVGhlIGl0ZXJhYmxlIG9mIGl0ZW1zIHRvIGFwcGVuZC4KKyAgICAvCisKK0FwcGVuZCBhbGwgdGhlIGl0ZW1zIGZyb20gdGhlIGl0ZXJhdG9yIG9yIHNlcXVlbmNlIHRvIHRoZSBlbmQgb2YgdGhlIGJ5dGVhcnJheS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ5dGVhcnJheV9leHRlbmRfX2RvY19fLAorImV4dGVuZCgkc2VsZiwgaXRlcmFibGVfb2ZfaW50cywgLylcbiIKKyItLVxuIgorIlxuIgorIkFwcGVuZCBhbGwgdGhlIGl0ZW1zIGZyb20gdGhlIGl0ZXJhdG9yIG9yIHNlcXVlbmNlIHRvIHRoZSBlbmQgb2YgdGhlIGJ5dGVhcnJheS5cbiIKKyJcbiIKKyIgIGl0ZXJhYmxlX29mX2ludHNcbiIKKyIgICAgVGhlIGl0ZXJhYmxlIG9mIGl0ZW1zIHRvIGFwcGVuZC4iKTsKKworI2RlZmluZSBCWVRFQVJSQVlfRVhURU5EX01FVEhPRERFRiAgICBcCisgICAgeyJleHRlbmQiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X2V4dGVuZCwgTUVUSF9PLCBieXRlYXJyYXlfZXh0ZW5kX19kb2NfX30sCisKIHN0YXRpYyBQeU9iamVjdCAqCi1ieXRlYXJyYXlfZXh0ZW5kKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJnKQorYnl0ZWFycmF5X2V4dGVuZChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKml0ZXJhYmxlX29mX2ludHMpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MTNiMGMxM2FkNTExMGRmYiBpbnB1dD1jZTgzYTVkNzViNzBkODUwXSovCiB7CiAgICAgUHlPYmplY3QgKml0LCAqaXRlbSwgKmJ5dGVhcnJheV9vYmo7CiAgICAgUHlfc3NpemVfdCBidWZfc2l6ZSA9IDAsIGxlbiA9IDA7CkBAIC0yMzAzLDE5ICsyNzgzLDE5IEBACiAgICAgY2hhciAqYnVmOwogCiAgICAgLyogYnl0ZWFycmF5X3NldHNsaWNlIGNvZGUgb25seSBhY2NlcHRzIHNvbWV0aGluZyBzdXBwb3J0aW5nIFBFUCAzMTE4LiAqLwotICAgIGlmIChQeU9iamVjdF9DaGVja0J1ZmZlcihhcmcpKSB7Ci0gICAgICAgIGlmIChieXRlYXJyYXlfc2V0c2xpY2Uoc2VsZiwgUHlfU0laRShzZWxmKSwgUHlfU0laRShzZWxmKSwgYXJnKSA9PSAtMSkKKyAgICBpZiAoUHlPYmplY3RfQ2hlY2tCdWZmZXIoaXRlcmFibGVfb2ZfaW50cykpIHsKKyAgICAgICAgaWYgKGJ5dGVhcnJheV9zZXRzbGljZShzZWxmLCBQeV9TSVpFKHNlbGYpLCBQeV9TSVpFKHNlbGYpLCBpdGVyYWJsZV9vZl9pbnRzKSA9PSAtMSkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogCiAgICAgICAgIFB5X1JFVFVSTl9OT05FOwogICAgIH0KIAotICAgIGl0ID0gUHlPYmplY3RfR2V0SXRlcihhcmcpOworICAgIGl0ID0gUHlPYmplY3RfR2V0SXRlcihpdGVyYWJsZV9vZl9pbnRzKTsKICAgICBpZiAoaXQgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICAvKiBUcnkgdG8gZGV0ZXJtaW5lIHRoZSBsZW5ndGggb2YgdGhlIGFyZ3VtZW50LiAzMiBpcyBhcmJpdHJhcnkuICovCi0gICAgYnVmX3NpemUgPSBQeU9iamVjdF9MZW5ndGhIaW50KGFyZywgMzIpOworICAgIGJ1Zl9zaXplID0gUHlPYmplY3RfTGVuZ3RoSGludChpdGVyYWJsZV9vZl9pbnRzLCAzMik7CiAgICAgaWYgKGJ1Zl9zaXplID09IC0xKSB7CiAgICAgICAgIFB5X0RFQ1JFRihpdCk7CiAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtMjM2NywyOSArMjg0Nyw3MCBAQAogICAgIFB5X1JFVFVSTl9OT05FOwogfQogCi1QeURvY19TVFJWQVIocG9wX19kb2NfXywKLSJCLnBvcChbaW5kZXhdKSAtPiBpbnRcblwKLVxuXAotUmVtb3ZlIGFuZCByZXR1cm4gYSBzaW5nbGUgaXRlbSBmcm9tIEIuIElmIG5vIGluZGV4XG5cCi1hcmd1bWVudCBpcyBnaXZlbiwgd2lsbCBwb3AgdGhlIGxhc3QgdmFsdWUuIik7CisvKltjbGluaWMgaW5wdXRdCitieXRlYXJyYXkucG9wCisKKyAgICBzZWxmOiBzZWxmKHR5cGU9IlB5Qnl0ZUFycmF5T2JqZWN0ICoiKQorICAgIGluZGV4OiBQeV9zc2l6ZV90ID0gLTEKKyAgICAgICAgVGhlIGluZGV4IGZyb20gd2hlcmUgdG8gcmVtb3ZlIHRoZSBpdGVtLgorICAgICAgICAtMSAodGhlIGRlZmF1bHQgdmFsdWUpIG1lYW5zIHJlbW92ZSB0aGUgbGFzdCBpdGVtLgorICAgIC8KKworUmVtb3ZlIGFuZCByZXR1cm4gYSBzaW5nbGUgaXRlbSBmcm9tIEIuCisKK0lmIG5vIGluZGV4IGFyZ3VtZW50IGlzIGdpdmVuLCB3aWxsIHBvcCB0aGUgbGFzdCBpdGVtLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnl0ZWFycmF5X3BvcF9fZG9jX18sCisicG9wKCRzZWxmLCBpbmRleD0tMSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJlbW92ZSBhbmQgcmV0dXJuIGEgc2luZ2xlIGl0ZW0gZnJvbSBCLlxuIgorIlxuIgorIiAgaW5kZXhcbiIKKyIgICAgVGhlIGluZGV4IGZyb20gd2hlcmUgdG8gcmVtb3ZlIHRoZSBpdGVtLlxuIgorIiAgICAtMSAodGhlIGRlZmF1bHQgdmFsdWUpIG1lYW5zIHJlbW92ZSB0aGUgbGFzdCBpdGVtLlxuIgorIlxuIgorIklmIG5vIGluZGV4IGFyZ3VtZW50IGlzIGdpdmVuLCB3aWxsIHBvcCB0aGUgbGFzdCBpdGVtLiIpOworCisjZGVmaW5lIEJZVEVBUlJBWV9QT1BfTUVUSE9EREVGICAgIFwKKyAgICB7InBvcCIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfcG9wLCBNRVRIX1ZBUkFSR1MsIGJ5dGVhcnJheV9wb3BfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVhcnJheV9wb3BfaW1wbChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlfc3NpemVfdCBpbmRleCk7CisKIHN0YXRpYyBQeU9iamVjdCAqCiBieXRlYXJyYXlfcG9wKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBpbnQgdmFsdWU7Ci0gICAgUHlfc3NpemVfdCB3aGVyZSA9IC0xLCBuID0gUHlfU0laRShzZWxmKTsKLSAgICBjaGFyICpidWY7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlfc3NpemVfdCBpbmRleCA9IC0xOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJ8bjpwb3AiLCAmd2hlcmUpKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgInxuOnBvcCIsCisgICAgICAgICZpbmRleCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBieXRlYXJyYXlfcG9wX2ltcGwoc2VsZiwgaW5kZXgpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlYXJyYXlfcG9wX2ltcGwoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5X3NzaXplX3QgaW5kZXgpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9M2I3NjNlNTQ4ZTc5YWY5NiBpbnB1dD0wNzk3ZTZjMGNhOWQ1YTg1XSovCit7CisgICAgaW50IHZhbHVlOworICAgIFB5X3NzaXplX3QgbiA9IFB5X1NJWkUoc2VsZik7CisgICAgY2hhciAqYnVmOwogCiAgICAgaWYgKG4gPT0gMCkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfSW5kZXhFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICJwb3AgZnJvbSBlbXB0eSBieXRlYXJyYXkiKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIGlmICh3aGVyZSA8IDApCi0gICAgICAgIHdoZXJlICs9IFB5X1NJWkUoc2VsZik7Ci0gICAgaWYgKHdoZXJlIDwgMCB8fCB3aGVyZSA+PSBQeV9TSVpFKHNlbGYpKSB7CisgICAgaWYgKGluZGV4IDwgMCkKKyAgICAgICAgaW5kZXggKz0gUHlfU0laRShzZWxmKTsKKyAgICBpZiAoaW5kZXggPCAwIHx8IGluZGV4ID49IFB5X1NJWkUoc2VsZikpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0luZGV4RXJyb3IsICJwb3AgaW5kZXggb3V0IG9mIHJhbmdlIik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KQEAgLTIzOTcsMjggKzI5MTgsNjMgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICBidWYgPSBQeUJ5dGVBcnJheV9BU19TVFJJTkcoc2VsZik7Ci0gICAgdmFsdWUgPSBidWZbd2hlcmVdOwotICAgIG1lbW1vdmUoYnVmICsgd2hlcmUsIGJ1ZiArIHdoZXJlICsgMSwgbiAtIHdoZXJlKTsKKyAgICB2YWx1ZSA9IGJ1ZltpbmRleF07CisgICAgbWVtbW92ZShidWYgKyBpbmRleCwgYnVmICsgaW5kZXggKyAxLCBuIC0gaW5kZXgpOwogICAgIGlmIChQeUJ5dGVBcnJheV9SZXNpemUoKFB5T2JqZWN0ICopc2VsZiwgbiAtIDEpIDwgMCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nKCh1bnNpZ25lZCBjaGFyKXZhbHVlKTsKIH0KIAotUHlEb2NfU1RSVkFSKHJlbW92ZV9fZG9jX18sCi0iQi5yZW1vdmUoaW50KSAtPiBOb25lXG5cCi1cblwKLVJlbW92ZSB0aGUgZmlyc3Qgb2NjdXJyZW5jZSBvZiBhIHZhbHVlIGluIEIuIik7CisvKltjbGluaWMgaW5wdXRdCitieXRlYXJyYXkucmVtb3ZlCisKKyAgICBzZWxmOiBzZWxmKHR5cGU9IlB5Qnl0ZUFycmF5T2JqZWN0ICoiKQorICAgIHZhbHVlOiBieXRlc3ZhbHVlCisgICAgICAgIFRoZSB2YWx1ZSB0byByZW1vdmUuCisgICAgLworCitSZW1vdmUgdGhlIGZpcnN0IG9jY3VycmVuY2Ugb2YgYSB2YWx1ZSBpbiB0aGUgYnl0ZWFycmF5LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnl0ZWFycmF5X3JlbW92ZV9fZG9jX18sCisicmVtb3ZlKCRzZWxmLCB2YWx1ZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJlbW92ZSB0aGUgZmlyc3Qgb2NjdXJyZW5jZSBvZiBhIHZhbHVlIGluIHRoZSBieXRlYXJyYXkuXG4iCisiXG4iCisiICB2YWx1ZVxuIgorIiAgICBUaGUgdmFsdWUgdG8gcmVtb3ZlLiIpOworCisjZGVmaW5lIEJZVEVBUlJBWV9SRU1PVkVfTUVUSE9EREVGICAgIFwKKyAgICB7InJlbW92ZSIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfcmVtb3ZlLCBNRVRIX1ZBUkFSR1MsIGJ5dGVhcnJheV9yZW1vdmVfX2RvY19ffSwKKwogc3RhdGljIFB5T2JqZWN0ICoKLWJ5dGVhcnJheV9yZW1vdmUoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmcpCitieXRlYXJyYXlfcmVtb3ZlX2ltcGwoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIGludCB2YWx1ZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlYXJyYXlfcmVtb3ZlKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKICAgICBpbnQgdmFsdWU7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIk8mOnJlbW92ZSIsCisgICAgICAgIF9nZXRieXRldmFsdWUsICZ2YWx1ZSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBieXRlYXJyYXlfcmVtb3ZlX2ltcGwoc2VsZiwgdmFsdWUpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlYXJyYXlfcmVtb3ZlX2ltcGwoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIGludCB2YWx1ZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1jNzFjOGJjZjQ3MDNhYmZjIGlucHV0PTQ3NTYwYjExZmQ4NTZjMjRdKi8KK3sKICAgICBQeV9zc2l6ZV90IHdoZXJlLCBuID0gUHlfU0laRShzZWxmKTsKICAgICBjaGFyICpidWYgPSBQeUJ5dGVBcnJheV9BU19TVFJJTkcoc2VsZik7CiAKLSAgICBpZiAoISBfZ2V0Ynl0ZXZhbHVlKGFyZywgJnZhbHVlKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KICAgICBmb3IgKHdoZXJlID0gMDsgd2hlcmUgPCBuOyB3aGVyZSsrKSB7CiAgICAgICAgIGlmIChidWZbd2hlcmVdID09IHZhbHVlKQogICAgICAgICAgICAgYnJlYWs7CkBAIC0yNDU5LDEzMiArMzAxNSwyNzMgQEAKICAgICByZXR1cm4gaSArIDE7CiB9CiAKLVB5RG9jX1NUUlZBUihzdHJpcF9fZG9jX18sCi0iQi5zdHJpcChbYnl0ZXNdKSAtPiBieXRlYXJyYXlcblwKLVxuXAotU3RyaXAgbGVhZGluZyBhbmQgdHJhaWxpbmcgYnl0ZXMgY29udGFpbmVkIGluIHRoZSBhcmd1bWVudFxuXAotYW5kIHJldHVybiB0aGUgcmVzdWx0IGFzIGEgbmV3IGJ5dGVhcnJheS5cblwKLUlmIHRoZSBhcmd1bWVudCBpcyBvbWl0dGVkLCBzdHJpcCBBU0NJSSB3aGl0ZXNwYWNlLiIpOworLypbY2xpbmljIGlucHV0XQorYnl0ZWFycmF5LnN0cmlwCisKKyAgICBieXRlczogb2JqZWN0ID0gTm9uZQorICAgIC8KKworU3RyaXAgbGVhZGluZyBhbmQgdHJhaWxpbmcgYnl0ZXMgY29udGFpbmVkIGluIHRoZSBhcmd1bWVudC4KKworSWYgdGhlIGFyZ3VtZW50IGlzIG9taXR0ZWQgb3IgTm9uZSwgc3RyaXAgbGVhZGluZyBhbmQgdHJhaWxpbmcgQVNDSUkgd2hpdGVzcGFjZS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ5dGVhcnJheV9zdHJpcF9fZG9jX18sCisic3RyaXAoJHNlbGYsIGJ5dGVzPU5vbmUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJTdHJpcCBsZWFkaW5nIGFuZCB0cmFpbGluZyBieXRlcyBjb250YWluZWQgaW4gdGhlIGFyZ3VtZW50LlxuIgorIlxuIgorIklmIHRoZSBhcmd1bWVudCBpcyBvbWl0dGVkIG9yIE5vbmUsIHN0cmlwIGxlYWRpbmcgYW5kIHRyYWlsaW5nIEFTQ0lJIHdoaXRlc3BhY2UuIik7CisKKyNkZWZpbmUgQllURUFSUkFZX1NUUklQX01FVEhPRERFRiAgICBcCisgICAgeyJzdHJpcCIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfc3RyaXAsIE1FVEhfVkFSQVJHUywgYnl0ZWFycmF5X3N0cmlwX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlYXJyYXlfc3RyaXBfaW1wbChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmJ5dGVzKTsKKwogc3RhdGljIFB5T2JqZWN0ICoKIGJ5dGVhcnJheV9zdHJpcChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgUHlfc3NpemVfdCBsZWZ0LCByaWdodCwgbXlzaXplLCBhcmdzaXplOwotICAgIGNoYXIgKm15cHRyLCAqYXJncHRyOwotICAgIFB5T2JqZWN0ICphcmcgPSBQeV9Ob25lOwotICAgIFB5X2J1ZmZlciB2YXJnOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAifE86c3RyaXAiLCAmYXJnKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgaWYgKGFyZyA9PSBQeV9Ob25lKSB7Ci0gICAgICAgIGFyZ3B0ciA9ICJcdFxuXHJcZlx2ICI7Ci0gICAgICAgIGFyZ3NpemUgPSA2OworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5T2JqZWN0ICpieXRlcyA9IFB5X05vbmU7CisKKyAgICBpZiAoIVB5QXJnX1VucGFja1R1cGxlKGFyZ3MsICJzdHJpcCIsCisgICAgICAgIDAsIDEsCisgICAgICAgICZieXRlcykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBieXRlYXJyYXlfc3RyaXBfaW1wbChzZWxmLCBieXRlcyk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVhcnJheV9zdHJpcF9pbXBsKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYnl0ZXMpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MmUzZDMzNThhY2M0YzIzNSBpbnB1dD1lZjdiYjU5YjA5YzIxZDYyXSovCit7CisgICAgUHlfc3NpemVfdCBsZWZ0LCByaWdodCwgbXlzaXplLCBieXRlc2xlbjsKKyAgICBjaGFyICpteXB0ciwgKmJ5dGVzcHRyOworICAgIFB5X2J1ZmZlciB2Ynl0ZXM7CisKKyAgICBpZiAoYnl0ZXMgPT0gUHlfTm9uZSkgeworICAgICAgICBieXRlc3B0ciA9ICJcdFxuXHJcZlx2ICI7CisgICAgICAgIGJ5dGVzbGVuID0gNjsKICAgICB9CiAgICAgZWxzZSB7Ci0gICAgICAgIGlmIChQeU9iamVjdF9HZXRCdWZmZXIoYXJnLCAmdmFyZywgUHlCVUZfU0lNUExFKSAhPSAwKQorICAgICAgICBpZiAoUHlPYmplY3RfR2V0QnVmZmVyKGJ5dGVzLCAmdmJ5dGVzLCBQeUJVRl9TSU1QTEUpICE9IDApCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgYXJncHRyID0gKGNoYXIgKikgdmFyZy5idWY7Ci0gICAgICAgIGFyZ3NpemUgPSB2YXJnLmxlbjsKKyAgICAgICAgYnl0ZXNwdHIgPSAoY2hhciAqKSB2Ynl0ZXMuYnVmOworICAgICAgICBieXRlc2xlbiA9IHZieXRlcy5sZW47CiAgICAgfQogICAgIG15cHRyID0gUHlCeXRlQXJyYXlfQVNfU1RSSU5HKHNlbGYpOwogICAgIG15c2l6ZSA9IFB5X1NJWkUoc2VsZik7Ci0gICAgbGVmdCA9IGxzdHJpcF9oZWxwZXIobXlwdHIsIG15c2l6ZSwgYXJncHRyLCBhcmdzaXplKTsKKyAgICBsZWZ0ID0gbHN0cmlwX2hlbHBlcihteXB0ciwgbXlzaXplLCBieXRlc3B0ciwgYnl0ZXNsZW4pOwogICAgIGlmIChsZWZ0ID09IG15c2l6ZSkKICAgICAgICAgcmlnaHQgPSBsZWZ0OwogICAgIGVsc2UKLSAgICAgICAgcmlnaHQgPSByc3RyaXBfaGVscGVyKG15cHRyLCBteXNpemUsIGFyZ3B0ciwgYXJnc2l6ZSk7Ci0gICAgaWYgKGFyZyAhPSBQeV9Ob25lKQotICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZ2YXJnKTsKKyAgICAgICAgcmlnaHQgPSByc3RyaXBfaGVscGVyKG15cHRyLCBteXNpemUsIGJ5dGVzcHRyLCBieXRlc2xlbik7CisgICAgaWYgKGJ5dGVzICE9IFB5X05vbmUpCisgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJnZieXRlcyk7CiAgICAgcmV0dXJuIFB5Qnl0ZUFycmF5X0Zyb21TdHJpbmdBbmRTaXplKG15cHRyICsgbGVmdCwgcmlnaHQgLSBsZWZ0KTsKIH0KIAotUHlEb2NfU1RSVkFSKGxzdHJpcF9fZG9jX18sCi0iQi5sc3RyaXAoW2J5dGVzXSkgLT4gYnl0ZWFycmF5XG5cCi1cblwKLVN0cmlwIGxlYWRpbmcgYnl0ZXMgY29udGFpbmVkIGluIHRoZSBhcmd1bWVudFxuXAotYW5kIHJldHVybiB0aGUgcmVzdWx0IGFzIGEgbmV3IGJ5dGVhcnJheS5cblwKLUlmIHRoZSBhcmd1bWVudCBpcyBvbWl0dGVkLCBzdHJpcCBsZWFkaW5nIEFTQ0lJIHdoaXRlc3BhY2UuIik7CisvKltjbGluaWMgaW5wdXRdCitieXRlYXJyYXkubHN0cmlwCisKKyAgICBieXRlczogb2JqZWN0ID0gTm9uZQorICAgIC8KKworU3RyaXAgbGVhZGluZyBieXRlcyBjb250YWluZWQgaW4gdGhlIGFyZ3VtZW50LgorCitJZiB0aGUgYXJndW1lbnQgaXMgb21pdHRlZCBvciBOb25lLCBzdHJpcCBsZWFkaW5nIEFTQ0lJIHdoaXRlc3BhY2UuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihieXRlYXJyYXlfbHN0cmlwX19kb2NfXywKKyJsc3RyaXAoJHNlbGYsIGJ5dGVzPU5vbmUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJTdHJpcCBsZWFkaW5nIGJ5dGVzIGNvbnRhaW5lZCBpbiB0aGUgYXJndW1lbnQuXG4iCisiXG4iCisiSWYgdGhlIGFyZ3VtZW50IGlzIG9taXR0ZWQgb3IgTm9uZSwgc3RyaXAgbGVhZGluZyBBU0NJSSB3aGl0ZXNwYWNlLiIpOworCisjZGVmaW5lIEJZVEVBUlJBWV9MU1RSSVBfTUVUSE9EREVGICAgIFwKKyAgICB7ImxzdHJpcCIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfbHN0cmlwLCBNRVRIX1ZBUkFSR1MsIGJ5dGVhcnJheV9sc3RyaXBfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVhcnJheV9sc3RyaXBfaW1wbChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmJ5dGVzKTsKKwogc3RhdGljIFB5T2JqZWN0ICoKIGJ5dGVhcnJheV9sc3RyaXAoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewotICAgIFB5X3NzaXplX3QgbGVmdCwgcmlnaHQsIG15c2l6ZSwgYXJnc2l6ZTsKLSAgICBjaGFyICpteXB0ciwgKmFyZ3B0cjsKLSAgICBQeU9iamVjdCAqYXJnID0gUHlfTm9uZTsKLSAgICBQeV9idWZmZXIgdmFyZzsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInxPOmxzdHJpcCIsICZhcmcpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBpZiAoYXJnID09IFB5X05vbmUpIHsKLSAgICAgICAgYXJncHRyID0gIlx0XG5cclxmXHYgIjsKLSAgICAgICAgYXJnc2l6ZSA9IDY7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlPYmplY3QgKmJ5dGVzID0gUHlfTm9uZTsKKworICAgIGlmICghUHlBcmdfVW5wYWNrVHVwbGUoYXJncywgImxzdHJpcCIsCisgICAgICAgIDAsIDEsCisgICAgICAgICZieXRlcykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBieXRlYXJyYXlfbHN0cmlwX2ltcGwoc2VsZiwgYnl0ZXMpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlYXJyYXlfbHN0cmlwX2ltcGwoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpieXRlcykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0yNTk5MzA5ODA4YTllYzAyIGlucHV0PTgwODQzZjk3NWRkN2M0ODBdKi8KK3sKKyAgICBQeV9zc2l6ZV90IGxlZnQsIHJpZ2h0LCBteXNpemUsIGJ5dGVzbGVuOworICAgIGNoYXIgKm15cHRyLCAqYnl0ZXNwdHI7CisgICAgUHlfYnVmZmVyIHZieXRlczsKKworICAgIGlmIChieXRlcyA9PSBQeV9Ob25lKSB7CisgICAgICAgIGJ5dGVzcHRyID0gIlx0XG5cclxmXHYgIjsKKyAgICAgICAgYnl0ZXNsZW4gPSA2OwogICAgIH0KICAgICBlbHNlIHsKLSAgICAgICAgaWYgKFB5T2JqZWN0X0dldEJ1ZmZlcihhcmcsICZ2YXJnLCBQeUJVRl9TSU1QTEUpICE9IDApCisgICAgICAgIGlmIChQeU9iamVjdF9HZXRCdWZmZXIoYnl0ZXMsICZ2Ynl0ZXMsIFB5QlVGX1NJTVBMRSkgIT0gMCkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICBhcmdwdHIgPSAoY2hhciAqKSB2YXJnLmJ1ZjsKLSAgICAgICAgYXJnc2l6ZSA9IHZhcmcubGVuOworICAgICAgICBieXRlc3B0ciA9IChjaGFyICopIHZieXRlcy5idWY7CisgICAgICAgIGJ5dGVzbGVuID0gdmJ5dGVzLmxlbjsKICAgICB9CiAgICAgbXlwdHIgPSBQeUJ5dGVBcnJheV9BU19TVFJJTkcoc2VsZik7CiAgICAgbXlzaXplID0gUHlfU0laRShzZWxmKTsKLSAgICBsZWZ0ID0gbHN0cmlwX2hlbHBlcihteXB0ciwgbXlzaXplLCBhcmdwdHIsIGFyZ3NpemUpOworICAgIGxlZnQgPSBsc3RyaXBfaGVscGVyKG15cHRyLCBteXNpemUsIGJ5dGVzcHRyLCBieXRlc2xlbik7CiAgICAgcmlnaHQgPSBteXNpemU7Ci0gICAgaWYgKGFyZyAhPSBQeV9Ob25lKQotICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZ2YXJnKTsKKyAgICBpZiAoYnl0ZXMgIT0gUHlfTm9uZSkKKyAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmdmJ5dGVzKTsKICAgICByZXR1cm4gUHlCeXRlQXJyYXlfRnJvbVN0cmluZ0FuZFNpemUobXlwdHIgKyBsZWZ0LCByaWdodCAtIGxlZnQpOwogfQogCi1QeURvY19TVFJWQVIocnN0cmlwX19kb2NfXywKLSJCLnJzdHJpcChbYnl0ZXNdKSAtPiBieXRlYXJyYXlcblwKLVxuXAotU3RyaXAgdHJhaWxpbmcgYnl0ZXMgY29udGFpbmVkIGluIHRoZSBhcmd1bWVudFxuXAotYW5kIHJldHVybiB0aGUgcmVzdWx0IGFzIGEgbmV3IGJ5dGVhcnJheS5cblwKLUlmIHRoZSBhcmd1bWVudCBpcyBvbWl0dGVkLCBzdHJpcCB0cmFpbGluZyBBU0NJSSB3aGl0ZXNwYWNlLiIpOworLypbY2xpbmljIGlucHV0XQorYnl0ZWFycmF5LnJzdHJpcAorCisgICAgYnl0ZXM6IG9iamVjdCA9IE5vbmUKKyAgICAvCisKK1N0cmlwIHRyYWlsaW5nIGJ5dGVzIGNvbnRhaW5lZCBpbiB0aGUgYXJndW1lbnQuCisKK0lmIHRoZSBhcmd1bWVudCBpcyBvbWl0dGVkIG9yIE5vbmUsIHN0cmlwIHRyYWlsaW5nIEFTQ0lJIHdoaXRlc3BhY2UuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihieXRlYXJyYXlfcnN0cmlwX19kb2NfXywKKyJyc3RyaXAoJHNlbGYsIGJ5dGVzPU5vbmUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJTdHJpcCB0cmFpbGluZyBieXRlcyBjb250YWluZWQgaW4gdGhlIGFyZ3VtZW50LlxuIgorIlxuIgorIklmIHRoZSBhcmd1bWVudCBpcyBvbWl0dGVkIG9yIE5vbmUsIHN0cmlwIHRyYWlsaW5nIEFTQ0lJIHdoaXRlc3BhY2UuIik7CisKKyNkZWZpbmUgQllURUFSUkFZX1JTVFJJUF9NRVRIT0RERUYgICAgXAorICAgIHsicnN0cmlwIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9yc3RyaXAsIE1FVEhfVkFSQVJHUywgYnl0ZWFycmF5X3JzdHJpcF9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZWFycmF5X3JzdHJpcF9pbXBsKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYnl0ZXMpOworCiBzdGF0aWMgUHlPYmplY3QgKgogYnl0ZWFycmF5X3JzdHJpcChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgUHlfc3NpemVfdCByaWdodCwgbXlzaXplLCBhcmdzaXplOwotICAgIGNoYXIgKm15cHRyLCAqYXJncHRyOwotICAgIFB5T2JqZWN0ICphcmcgPSBQeV9Ob25lOwotICAgIFB5X2J1ZmZlciB2YXJnOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAifE86cnN0cmlwIiwgJmFyZykpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIGlmIChhcmcgPT0gUHlfTm9uZSkgewotICAgICAgICBhcmdwdHIgPSAiXHRcblxyXGZcdiAiOwotICAgICAgICBhcmdzaXplID0gNjsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeU9iamVjdCAqYnl0ZXMgPSBQeV9Ob25lOworCisgICAgaWYgKCFQeUFyZ19VbnBhY2tUdXBsZShhcmdzLCAicnN0cmlwIiwKKyAgICAgICAgMCwgMSwKKyAgICAgICAgJmJ5dGVzKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGJ5dGVhcnJheV9yc3RyaXBfaW1wbChzZWxmLCBieXRlcyk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVhcnJheV9yc3RyaXBfaW1wbChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmJ5dGVzKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWI1Y2E2MjU5ZjRmNGYyYTMgaW5wdXQ9ZTcyOGI5OTQ5NTRjZmQ5MV0qLworeworICAgIFB5X3NzaXplX3QgcmlnaHQsIG15c2l6ZSwgYnl0ZXNsZW47CisgICAgY2hhciAqbXlwdHIsICpieXRlc3B0cjsKKyAgICBQeV9idWZmZXIgdmJ5dGVzOworCisgICAgaWYgKGJ5dGVzID09IFB5X05vbmUpIHsKKyAgICAgICAgYnl0ZXNwdHIgPSAiXHRcblxyXGZcdiAiOworICAgICAgICBieXRlc2xlbiA9IDY7CiAgICAgfQogICAgIGVsc2UgewotICAgICAgICBpZiAoUHlPYmplY3RfR2V0QnVmZmVyKGFyZywgJnZhcmcsIFB5QlVGX1NJTVBMRSkgIT0gMCkKKyAgICAgICAgaWYgKFB5T2JqZWN0X0dldEJ1ZmZlcihieXRlcywgJnZieXRlcywgUHlCVUZfU0lNUExFKSAhPSAwKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIGFyZ3B0ciA9IChjaGFyICopIHZhcmcuYnVmOwotICAgICAgICBhcmdzaXplID0gdmFyZy5sZW47CisgICAgICAgIGJ5dGVzcHRyID0gKGNoYXIgKikgdmJ5dGVzLmJ1ZjsKKyAgICAgICAgYnl0ZXNsZW4gPSB2Ynl0ZXMubGVuOwogICAgIH0KICAgICBteXB0ciA9IFB5Qnl0ZUFycmF5X0FTX1NUUklORyhzZWxmKTsKICAgICBteXNpemUgPSBQeV9TSVpFKHNlbGYpOwotICAgIHJpZ2h0ID0gcnN0cmlwX2hlbHBlcihteXB0ciwgbXlzaXplLCBhcmdwdHIsIGFyZ3NpemUpOwotICAgIGlmIChhcmcgIT0gUHlfTm9uZSkKLSAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmdmFyZyk7CisgICAgcmlnaHQgPSByc3RyaXBfaGVscGVyKG15cHRyLCBteXNpemUsIGJ5dGVzcHRyLCBieXRlc2xlbik7CisgICAgaWYgKGJ5dGVzICE9IFB5X05vbmUpCisgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJnZieXRlcyk7CiAgICAgcmV0dXJuIFB5Qnl0ZUFycmF5X0Zyb21TdHJpbmdBbmRTaXplKG15cHRyLCByaWdodCk7CiB9CiAKLVB5RG9jX1NUUlZBUihkZWNvZGVfZG9jLAotIkIuZGVjb2RlKGVuY29kaW5nPSd1dGYtOCcsIGVycm9ycz0nc3RyaWN0JykgLT4gc3RyXG5cCi1cblwKLURlY29kZSBCIHVzaW5nIHRoZSBjb2RlYyByZWdpc3RlcmVkIGZvciBlbmNvZGluZy4gRGVmYXVsdCBlbmNvZGluZ1xuXAotaXMgJ3V0Zi04Jy4gZXJyb3JzIG1heSBiZSBnaXZlbiB0byBzZXQgYSBkaWZmZXJlbnQgZXJyb3JcblwKLWhhbmRsaW5nIHNjaGVtZS4gIERlZmF1bHQgaXMgJ3N0cmljdCcgbWVhbmluZyB0aGF0IGVuY29kaW5nIGVycm9ycyByYWlzZVxuXAotYSBVbmljb2RlRGVjb2RlRXJyb3IuICBPdGhlciBwb3NzaWJsZSB2YWx1ZXMgYXJlICdpZ25vcmUnIGFuZCAncmVwbGFjZSdcblwKLWFzIHdlbGwgYXMgYW55IG90aGVyIG5hbWUgcmVnaXN0ZXJlZCB3aXRoIGNvZGVjcy5yZWdpc3Rlcl9lcnJvciB0aGF0IGlzXG5cCi1hYmxlIHRvIGhhbmRsZSBVbmljb2RlRGVjb2RlRXJyb3JzLiIpOworLypbY2xpbmljIGlucHV0XQorYnl0ZWFycmF5LmRlY29kZQorCisgICAgZW5jb2Rpbmc6IHN0cihjX2RlZmF1bHQ9Ik5VTEwiKSA9ICd1dGYtOCcKKyAgICAgICAgVGhlIGVuY29kaW5nIHdpdGggd2hpY2ggdG8gZGVjb2RlIHRoZSBieXRlYXJyYXkuCisgICAgZXJyb3JzOiBzdHIoY19kZWZhdWx0PSJOVUxMIikgPSAnc3RyaWN0JworICAgICAgICBUaGUgZXJyb3IgaGFuZGxpbmcgc2NoZW1lIHRvIHVzZSBmb3IgdGhlIGhhbmRsaW5nIG9mIGRlY29kaW5nIGVycm9ycy4KKyAgICAgICAgVGhlIGRlZmF1bHQgaXMgJ3N0cmljdCcgbWVhbmluZyB0aGF0IGRlY29kaW5nIGVycm9ycyByYWlzZSBhCisgICAgICAgIFVuaWNvZGVEZWNvZGVFcnJvci4gT3RoZXIgcG9zc2libGUgdmFsdWVzIGFyZSAnaWdub3JlJyBhbmQgJ3JlcGxhY2UnCisgICAgICAgIGFzIHdlbGwgYXMgYW55IG90aGVyIG5hbWUgcmVnaXN0ZXJlZCB3aXRoIGNvZGVjcy5yZWdpc3Rlcl9lcnJvciB0aGF0CisgICAgICAgIGNhbiBoYW5kbGUgVW5pY29kZURlY29kZUVycm9ycy4KKworRGVjb2RlIHRoZSBieXRlYXJyYXkgdXNpbmcgdGhlIGNvZGVjIHJlZ2lzdGVyZWQgZm9yIGVuY29kaW5nLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnl0ZWFycmF5X2RlY29kZV9fZG9jX18sCisiZGVjb2RlKCRzZWxmLCAvLCBlbmNvZGluZz1cJ3V0Zi04XCcsIGVycm9ycz1cJ3N0cmljdFwnKVxuIgorIi0tXG4iCisiXG4iCisiRGVjb2RlIHRoZSBieXRlYXJyYXkgdXNpbmcgdGhlIGNvZGVjIHJlZ2lzdGVyZWQgZm9yIGVuY29kaW5nLlxuIgorIlxuIgorIiAgZW5jb2RpbmdcbiIKKyIgICAgVGhlIGVuY29kaW5nIHdpdGggd2hpY2ggdG8gZGVjb2RlIHRoZSBieXRlYXJyYXkuXG4iCisiICBlcnJvcnNcbiIKKyIgICAgVGhlIGVycm9yIGhhbmRsaW5nIHNjaGVtZSB0byB1c2UgZm9yIHRoZSBoYW5kbGluZyBvZiBkZWNvZGluZyBlcnJvcnMuXG4iCisiICAgIFRoZSBkZWZhdWx0IGlzIFwnc3RyaWN0XCcgbWVhbmluZyB0aGF0IGRlY29kaW5nIGVycm9ycyByYWlzZSBhXG4iCisiICAgIFVuaWNvZGVEZWNvZGVFcnJvci4gT3RoZXIgcG9zc2libGUgdmFsdWVzIGFyZSBcJ2lnbm9yZVwnIGFuZCBcJ3JlcGxhY2VcJ1xuIgorIiAgICBhcyB3ZWxsIGFzIGFueSBvdGhlciBuYW1lIHJlZ2lzdGVyZWQgd2l0aCBjb2RlY3MucmVnaXN0ZXJfZXJyb3IgdGhhdFxuIgorIiAgICBjYW4gaGFuZGxlIFVuaWNvZGVEZWNvZGVFcnJvcnMuIik7CisKKyNkZWZpbmUgQllURUFSUkFZX0RFQ09ERV9NRVRIT0RERUYgICAgXAorICAgIHsiZGVjb2RlIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9kZWNvZGUsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBieXRlYXJyYXlfZGVjb2RlX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1ieXRlYXJyYXlfZGVjb2RlKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK2J5dGVhcnJheV9kZWNvZGVfaW1wbChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgY29uc3QgY2hhciAqZW5jb2RpbmcsIGNvbnN0IGNoYXIgKmVycm9ycyk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlYXJyYXlfZGVjb2RlKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7ImVuY29kaW5nIiwgImVycm9ycyIsIE5VTEx9OwogICAgIGNvbnN0IGNoYXIgKmVuY29kaW5nID0gTlVMTDsKICAgICBjb25zdCBjaGFyICplcnJvcnMgPSBOVUxMOwotICAgIHN0YXRpYyBjaGFyICprd2xpc3RbXSA9IHsiZW5jb2RpbmciLCAiZXJyb3JzIiwgMH07CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsICJ8c3M6ZGVjb2RlIiwga3dsaXN0LCAmZW5jb2RpbmcsICZlcnJvcnMpKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJ8c3M6ZGVjb2RlIiwgX2tleXdvcmRzLAorICAgICAgICAmZW5jb2RpbmcsICZlcnJvcnMpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYnl0ZWFycmF5X2RlY29kZV9pbXBsKHNlbGYsIGVuY29kaW5nLCBlcnJvcnMpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlYXJyYXlfZGVjb2RlX2ltcGwoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIGNvbnN0IGNoYXIgKmVuY29kaW5nLCBjb25zdCBjaGFyICplcnJvcnMpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MzhiODM2ODFmMWUzOGE2YyBpbnB1dD1mMjhkOGY5MDMwMjAyNTdiXSovCit7CiAgICAgaWYgKGVuY29kaW5nID09IE5VTEwpCiAgICAgICAgIGVuY29kaW5nID0gUHlVbmljb2RlX0dldERlZmF1bHRFbmNvZGluZygpOwotICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbUVuY29kZWRPYmplY3Qoc2VsZiwgZW5jb2RpbmcsIGVycm9ycyk7CisgICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tRW5jb2RlZE9iamVjdCgoUHlPYmplY3QqKXNlbGYsIGVuY29kaW5nLCBlcnJvcnMpOwogfQogCiBQeURvY19TVFJWQVIoYWxsb2NfZG9jLApAQCAtMjU5OCw0OCArMzI5NSw5MiBAQAogICAgIHJldHVybiBQeUxvbmdfRnJvbVNzaXplX3Qoc2VsZi0+b2JfYWxsb2MpOwogfQogCi1QeURvY19TVFJWQVIoam9pbl9kb2MsCi0iQi5qb2luKGl0ZXJhYmxlX29mX2J5dGVzKSAtPiBieXRlYXJyYXlcblwKLVxuXAotQ29uY2F0ZW5hdGUgYW55IG51bWJlciBvZiBieXRlcy9ieXRlYXJyYXkgb2JqZWN0cywgd2l0aCBCXG5cCi1pbiBiZXR3ZWVuIGVhY2ggcGFpciwgYW5kIHJldHVybiB0aGUgcmVzdWx0IGFzIGEgbmV3IGJ5dGVhcnJheS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2J5dGVhcnJheS5qb2luCisKKyAgICBpdGVyYWJsZV9vZl9ieXRlczogb2JqZWN0CisgICAgLworCitDb25jYXRlbmF0ZSBhbnkgbnVtYmVyIG9mIGJ5dGVzL2J5dGVhcnJheSBvYmplY3RzLgorCitUaGUgYnl0ZWFycmF5IHdob3NlIG1ldGhvZCBpcyBjYWxsZWQgaXMgaW5zZXJ0ZWQgaW4gYmV0d2VlbiBlYWNoIHBhaXIuCisKK1RoZSByZXN1bHQgaXMgcmV0dXJuZWQgYXMgYSBuZXcgYnl0ZWFycmF5IG9iamVjdC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ5dGVhcnJheV9qb2luX19kb2NfXywKKyJqb2luKCRzZWxmLCBpdGVyYWJsZV9vZl9ieXRlcywgLylcbiIKKyItLVxuIgorIlxuIgorIkNvbmNhdGVuYXRlIGFueSBudW1iZXIgb2YgYnl0ZXMvYnl0ZWFycmF5IG9iamVjdHMuXG4iCisiXG4iCisiVGhlIGJ5dGVhcnJheSB3aG9zZSBtZXRob2QgaXMgY2FsbGVkIGlzIGluc2VydGVkIGluIGJldHdlZW4gZWFjaCBwYWlyLlxuIgorIlxuIgorIlRoZSByZXN1bHQgaXMgcmV0dXJuZWQgYXMgYSBuZXcgYnl0ZWFycmF5IG9iamVjdC4iKTsKKworI2RlZmluZSBCWVRFQVJSQVlfSk9JTl9NRVRIT0RERUYgICAgXAorICAgIHsiam9pbiIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfam9pbiwgTUVUSF9PLCBieXRlYXJyYXlfam9pbl9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotYnl0ZWFycmF5X2pvaW4oUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICppdGVyYWJsZSkKK2J5dGVhcnJheV9qb2luKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqaXRlcmFibGVfb2ZfYnl0ZXMpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NTQ0ZTc0MzAwMzJkZmRmNCBpbnB1dD1hYmE2YjFmOWIzMGZjYjhlXSovCiB7Ci0gICAgcmV0dXJuIHN0cmluZ2xpYl9ieXRlc19qb2luKHNlbGYsIGl0ZXJhYmxlKTsKKyAgICByZXR1cm4gc3RyaW5nbGliX2J5dGVzX2pvaW4oKFB5T2JqZWN0KilzZWxmLCBpdGVyYWJsZV9vZl9ieXRlcyk7CiB9CiAKLVB5RG9jX1NUUlZBUihzcGxpdGxpbmVzX19kb2NfXywKLSJCLnNwbGl0bGluZXMoW2tlZXBlbmRzXSkgLT4gbGlzdCBvZiBsaW5lc1xuXAotXG5cCi1SZXR1cm4gYSBsaXN0IG9mIHRoZSBsaW5lcyBpbiBCLCBicmVha2luZyBhdCBsaW5lIGJvdW5kYXJpZXMuXG5cCi1MaW5lIGJyZWFrcyBhcmUgbm90IGluY2x1ZGVkIGluIHRoZSByZXN1bHRpbmcgbGlzdCB1bmxlc3Mga2VlcGVuZHNcblwKLWlzIGdpdmVuIGFuZCB0cnVlLiIpOworLypbY2xpbmljIGlucHV0XQorYnl0ZWFycmF5LnNwbGl0bGluZXMKIAotc3RhdGljIFB5T2JqZWN0KgotYnl0ZWFycmF5X3NwbGl0bGluZXMoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKKyAgICBrZWVwZW5kczogaW50KHB5X2RlZmF1bHQ9IkZhbHNlIikgPSAwCisKK1JldHVybiBhIGxpc3Qgb2YgdGhlIGxpbmVzIGluIHRoZSBieXRlYXJyYXksIGJyZWFraW5nIGF0IGxpbmUgYm91bmRhcmllcy4KKworTGluZSBicmVha3MgYXJlIG5vdCBpbmNsdWRlZCBpbiB0aGUgcmVzdWx0aW5nIGxpc3QgdW5sZXNzIGtlZXBlbmRzIGlzIGdpdmVuIGFuZAordHJ1ZS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ5dGVhcnJheV9zcGxpdGxpbmVzX19kb2NfXywKKyJzcGxpdGxpbmVzKCRzZWxmLCAvLCBrZWVwZW5kcz1GYWxzZSlcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBhIGxpc3Qgb2YgdGhlIGxpbmVzIGluIHRoZSBieXRlYXJyYXksIGJyZWFraW5nIGF0IGxpbmUgYm91bmRhcmllcy5cbiIKKyJcbiIKKyJMaW5lIGJyZWFrcyBhcmUgbm90IGluY2x1ZGVkIGluIHRoZSByZXN1bHRpbmcgbGlzdCB1bmxlc3Mga2VlcGVuZHMgaXMgZ2l2ZW4gYW5kXG4iCisidHJ1ZS4iKTsKKworI2RlZmluZSBCWVRFQVJSQVlfU1BMSVRMSU5FU19NRVRIT0RERUYgICAgXAorICAgIHsic3BsaXRsaW5lcyIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfc3BsaXRsaW5lcywgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIGJ5dGVhcnJheV9zcGxpdGxpbmVzX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlYXJyYXlfc3BsaXRsaW5lc19pbXBsKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBpbnQga2VlcGVuZHMpOworCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZWFycmF5X3NwbGl0bGluZXMoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewotICAgIHN0YXRpYyBjaGFyICprd2xpc3RbXSA9IHsia2VlcGVuZHMiLCAwfTsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7ImtlZXBlbmRzIiwgTlVMTH07CiAgICAgaW50IGtlZXBlbmRzID0gMDsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICJ8aTpzcGxpdGxpbmVzIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrd2xpc3QsICZrZWVwZW5kcykpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgInxpOnNwbGl0bGluZXMiLCBfa2V5d29yZHMsCisgICAgICAgICZrZWVwZW5kcykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBieXRlYXJyYXlfc3BsaXRsaW5lc19pbXBsKHNlbGYsIGtlZXBlbmRzKTsKIAorZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZWFycmF5X3NwbGl0bGluZXNfaW1wbChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgaW50IGtlZXBlbmRzKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWE4MzdmZDA1MTJhZDQ2ZmYgaW5wdXQ9MzZmMGIyNWJjNzkyZjZjMF0qLworewogICAgIHJldHVybiBzdHJpbmdsaWJfc3BsaXRsaW5lcygKICAgICAgICAgKFB5T2JqZWN0Kikgc2VsZiwgUHlCeXRlQXJyYXlfQVNfU1RSSU5HKHNlbGYpLAogICAgICAgICBQeUJ5dGVBcnJheV9HRVRfU0laRShzZWxmKSwga2VlcGVuZHMKICAgICAgICAgKTsKIH0KIAotUHlEb2NfU1RSVkFSKGZyb21oZXhfZG9jLAotImJ5dGVhcnJheS5mcm9taGV4KHN0cmluZykgLT4gYnl0ZWFycmF5IChzdGF0aWMgbWV0aG9kKVxuXAotXG5cCi1DcmVhdGUgYSBieXRlYXJyYXkgb2JqZWN0IGZyb20gYSBzdHJpbmcgb2YgaGV4YWRlY2ltYWwgbnVtYmVycy5cblwKLVNwYWNlcyBiZXR3ZWVuIHR3byBudW1iZXJzIGFyZSBhY2NlcHRlZC5cblwKLUV4YW1wbGU6IGJ5dGVhcnJheS5mcm9taGV4KCdCOSAwMUVGJykgLT4gYnl0ZWFycmF5KGInXFx4YjlcXHgwMVxceGVmJykuIik7Ci0KIHN0YXRpYyBpbnQKIGhleF9kaWdpdF90b19pbnQoUHlfVUNTNCBjKQogewpAQCAtMjY1NiwyNCArMzM5Nyw2OCBAQAogICAgIHJldHVybiAtMTsKIH0KIAorLypbY2xpbmljIGlucHV0XQorQGNsYXNzbWV0aG9kCitieXRlYXJyYXkuZnJvbWhleAorCisgICAgY2xzOiBzZWxmKHR5cGU9IlB5T2JqZWN0KiIpCisgICAgc3RyaW5nOiB1bmljb2RlCisgICAgLworCitDcmVhdGUgYSBieXRlYXJyYXkgb2JqZWN0IGZyb20gYSBzdHJpbmcgb2YgaGV4YWRlY2ltYWwgbnVtYmVycy4KKworU3BhY2VzIGJldHdlZW4gdHdvIG51bWJlcnMgYXJlIGFjY2VwdGVkLgorRXhhbXBsZTogYnl0ZWFycmF5LmZyb21oZXgoJ0I5IDAxRUYnKSAtPiBieXRlYXJyYXkoYidcXHhiOVxceDAxXFx4ZWYnKQorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnl0ZWFycmF5X2Zyb21oZXhfX2RvY19fLAorImZyb21oZXgoJHR5cGUsIHN0cmluZywgLylcbiIKKyItLVxuIgorIlxuIgorIkNyZWF0ZSBhIGJ5dGVhcnJheSBvYmplY3QgZnJvbSBhIHN0cmluZyBvZiBoZXhhZGVjaW1hbCBudW1iZXJzLlxuIgorIlxuIgorIlNwYWNlcyBiZXR3ZWVuIHR3byBudW1iZXJzIGFyZSBhY2NlcHRlZC5cbiIKKyJFeGFtcGxlOiBieXRlYXJyYXkuZnJvbWhleChcJ0I5IDAxRUZcJykgLT4gYnl0ZWFycmF5KGJcJ1xcXFx4YjlcXFxceDAxXFxcXHhlZlwnKSIpOworCisjZGVmaW5lIEJZVEVBUlJBWV9GUk9NSEVYX01FVEhPRERFRiAgICBcCisgICAgeyJmcm9taGV4IiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9mcm9taGV4LCBNRVRIX1ZBUkFSR1N8TUVUSF9DTEFTUywgYnl0ZWFycmF5X2Zyb21oZXhfX2RvY19ffSwKKwogc3RhdGljIFB5T2JqZWN0ICoKLWJ5dGVhcnJheV9mcm9taGV4KFB5T2JqZWN0ICpjbHMsIFB5T2JqZWN0ICphcmdzKQorYnl0ZWFycmF5X2Zyb21oZXhfaW1wbChQeU9iamVjdCpjbHMsIFB5T2JqZWN0ICpzdHJpbmcpOworCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZWFycmF5X2Zyb21oZXgoUHlUeXBlT2JqZWN0ICpjbHMsIFB5T2JqZWN0ICphcmdzKQogewotICAgIFB5T2JqZWN0ICpuZXdieXRlcywgKmhleG9iajsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeU9iamVjdCAqc3RyaW5nOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJVOmZyb21oZXgiLAorICAgICAgICAmc3RyaW5nKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGJ5dGVhcnJheV9mcm9taGV4X2ltcGwoKFB5T2JqZWN0KiljbHMsIHN0cmluZyk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVhcnJheV9mcm9taGV4X2ltcGwoUHlPYmplY3QqY2xzLCBQeU9iamVjdCAqc3RyaW5nKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWFkYzNjODA0YTc0ZTU2ZDQgaW5wdXQ9OTA3YmJkMmQzNGQ5MzY3YV0qLworeworICAgIFB5T2JqZWN0ICpuZXdieXRlczsKICAgICBjaGFyICpidWY7CiAgICAgUHlfc3NpemVfdCBoZXhsZW4sIGJ5dGVzbGVuLCBpLCBqOwogICAgIGludCB0b3AsIGJvdDsKICAgICB2b2lkICpkYXRhOwogICAgIHVuc2lnbmVkIGludCBraW5kOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJVOmZyb21oZXgiLCAmaGV4b2JqKSkKKyAgICBhc3NlcnQoUHlVbmljb2RlX0NoZWNrKHN0cmluZykpOworICAgIGlmIChQeVVuaWNvZGVfUkVBRFkoc3RyaW5nKSkKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgYXNzZXJ0KFB5VW5pY29kZV9DaGVjayhoZXhvYmopKTsKLSAgICBpZiAoUHlVbmljb2RlX1JFQURZKGhleG9iaikpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIGtpbmQgPSBQeVVuaWNvZGVfS0lORChoZXhvYmopOwotICAgIGRhdGEgPSBQeVVuaWNvZGVfREFUQShoZXhvYmopOwotICAgIGhleGxlbiA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKGhleG9iaik7CisgICAga2luZCA9IFB5VW5pY29kZV9LSU5EKHN0cmluZyk7CisgICAgZGF0YSA9IFB5VW5pY29kZV9EQVRBKHN0cmluZyk7CisgICAgaGV4bGVuID0gUHlVbmljb2RlX0dFVF9MRU5HVEgoc3RyaW5nKTsKIAogICAgIGJ5dGVzbGVuID0gaGV4bGVuLzI7IC8qIFRoaXMgb3ZlcmVzdGltYXRlcyBpZiB0aGVyZSBhcmUgc3BhY2VzICovCiAgICAgbmV3Ynl0ZXMgPSBQeUJ5dGVBcnJheV9Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCBieXRlc2xlbik7CkBAIC0yNzQxLDMzICszNTI2LDExMyBAQAogICAgIH0KIH0KIAotUHlEb2NfU1RSVkFSKHJlZHVjZV9kb2MsICJSZXR1cm4gc3RhdGUgaW5mb3JtYXRpb24gZm9yIHBpY2tsaW5nLiIpOworLypbY2xpbmljIGlucHV0XQorYnl0ZWFycmF5Ll9fcmVkdWNlX18gYXMgYnl0ZWFycmF5X3JlZHVjZQorCisgICAgc2VsZjogc2VsZih0eXBlPSJQeUJ5dGVBcnJheU9iamVjdCAqIikKKworUmV0dXJuIHN0YXRlIGluZm9ybWF0aW9uIGZvciBwaWNrbGluZy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ5dGVhcnJheV9yZWR1Y2VfX2RvY19fLAorIl9fcmVkdWNlX18oJHNlbGYsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gc3RhdGUgaW5mb3JtYXRpb24gZm9yIHBpY2tsaW5nLiIpOworCisjZGVmaW5lIEJZVEVBUlJBWV9SRURVQ0VfTUVUSE9EREVGICAgIFwKKyAgICB7Il9fcmVkdWNlX18iLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X3JlZHVjZSwgTUVUSF9OT0FSR1MsIGJ5dGVhcnJheV9yZWR1Y2VfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLWJ5dGVhcnJheV9yZWR1Y2UoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYpCitieXRlYXJyYXlfcmVkdWNlX2ltcGwoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYpOworCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZWFycmF5X3JlZHVjZShQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gYnl0ZWFycmF5X3JlZHVjZV9pbXBsKHNlbGYpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZWFycmF5X3JlZHVjZV9pbXBsKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWIxYjU2ZmU4N2JmMzBmYjAgaW5wdXQ9ZmJiMDdkZTRkMTAyYTAzYV0qLwogewogICAgIHJldHVybiBfY29tbW9uX3JlZHVjZShzZWxmLCAyKTsKIH0KIAotUHlEb2NfU1RSVkFSKHJlZHVjZV9leF9kb2MsICJSZXR1cm4gc3RhdGUgaW5mb3JtYXRpb24gZm9yIHBpY2tsaW5nLiIpOworLypbY2xpbmljIGlucHV0XQorYnl0ZWFycmF5Ll9fcmVkdWNlX2V4X18gYXMgYnl0ZWFycmF5X3JlZHVjZV9leAorCisgICAgc2VsZjogc2VsZih0eXBlPSJQeUJ5dGVBcnJheU9iamVjdCAqIikKKyAgICBwcm90bzogaW50ID0gMAorICAgIC8KKworUmV0dXJuIHN0YXRlIGluZm9ybWF0aW9uIGZvciBwaWNrbGluZy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ5dGVhcnJheV9yZWR1Y2VfZXhfX2RvY19fLAorIl9fcmVkdWNlX2V4X18oJHNlbGYsIHByb3RvPTAsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gc3RhdGUgaW5mb3JtYXRpb24gZm9yIHBpY2tsaW5nLiIpOworCisjZGVmaW5lIEJZVEVBUlJBWV9SRURVQ0VfRVhfTUVUSE9EREVGICAgIFwKKyAgICB7Il9fcmVkdWNlX2V4X18iLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X3JlZHVjZV9leCwgTUVUSF9WQVJBUkdTLCBieXRlYXJyYXlfcmVkdWNlX2V4X19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlYXJyYXlfcmVkdWNlX2V4X2ltcGwoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIGludCBwcm90byk7CiAKIHN0YXRpYyBQeU9iamVjdCAqCiBieXRlYXJyYXlfcmVkdWNlX2V4KFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKICAgICBpbnQgcHJvdG8gPSAwOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJ8aTpfX3JlZHVjZV9leF9fIiwgJnByb3RvKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJ8aTpfX3JlZHVjZV9leF9fIiwKKyAgICAgICAgJnByb3RvKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGJ5dGVhcnJheV9yZWR1Y2VfZXhfaW1wbChzZWxmLCBwcm90byk7CiAKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVhcnJheV9yZWR1Y2VfZXhfaW1wbChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgaW50IHByb3RvKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWJiZDlhZmIyZjU5NTNkYzEgaW5wdXQ9MGUwOTFhNDJjYTZkYmQ5MV0qLworewogICAgIHJldHVybiBfY29tbW9uX3JlZHVjZShzZWxmLCBwcm90byk7CiB9CiAKLVB5RG9jX1NUUlZBUihzaXplb2ZfZG9jLAotIkIuX19zaXplb2ZfXygpIC0+IGludFxuXAotIFxuXAotUmV0dXJucyB0aGUgc2l6ZSBvZiBCIGluIG1lbW9yeSwgaW4gYnl0ZXMiKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2J5dGVhcnJheS5fX3NpemVvZl9fIGFzIGJ5dGVhcnJheV9zaXplb2YKKworICAgIHNlbGY6IHNlbGYodHlwZT0iUHlCeXRlQXJyYXlPYmplY3QgKiIpCisKK1JldHVybnMgdGhlIHNpemUgb2YgdGhlIGJ5dGVhcnJheSBvYmplY3QgaW4gbWVtb3J5LCBpbiBieXRlcy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ5dGVhcnJheV9zaXplb2ZfX2RvY19fLAorIl9fc2l6ZW9mX18oJHNlbGYsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm5zIHRoZSBzaXplIG9mIHRoZSBieXRlYXJyYXkgb2JqZWN0IGluIG1lbW9yeSwgaW4gYnl0ZXMuIik7CisKKyNkZWZpbmUgQllURUFSUkFZX1NJWkVPRl9NRVRIT0RERUYgICAgXAorICAgIHsiX19zaXplb2ZfXyIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfc2l6ZW9mLCBNRVRIX05PQVJHUywgYnl0ZWFycmF5X3NpemVvZl9fZG9jX199LAorCiBzdGF0aWMgUHlPYmplY3QgKgotYnl0ZWFycmF5X3NpemVvZihQeUJ5dGVBcnJheU9iamVjdCAqc2VsZikKK2J5dGVhcnJheV9zaXplb2ZfaW1wbChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlYXJyYXlfc2l6ZW9mKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBieXRlYXJyYXlfc2l6ZW9mX2ltcGwoc2VsZik7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlYXJyYXlfc2l6ZW9mX2ltcGwoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NGEyMjU0YjBhODU2MzBjNiBpbnB1dD02YjIzZDMwNTM2MmI0NjJiXSovCiB7CiAgICAgUHlfc3NpemVfdCByZXM7CiAKQEAgLTI4MDIsMjYgKzM2NjcsMjUgQEAKIHN0YXRpYyBQeU1ldGhvZERlZgogYnl0ZWFycmF5X21ldGhvZHNbXSA9IHsKICAgICB7Il9fYWxsb2NfXyIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfYWxsb2MsIE1FVEhfTk9BUkdTLCBhbGxvY19kb2N9LAotICAgIHsiX19yZWR1Y2VfXyIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfcmVkdWNlLCBNRVRIX05PQVJHUywgcmVkdWNlX2RvY30sCi0gICAgeyJfX3JlZHVjZV9leF9fIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9yZWR1Y2VfZXgsIE1FVEhfVkFSQVJHUywgcmVkdWNlX2V4X2RvY30sCi0gICAgeyJfX3NpemVvZl9fIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9zaXplb2YsIE1FVEhfTk9BUkdTLCBzaXplb2ZfZG9jfSwKLSAgICB7ImFwcGVuZCIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfYXBwZW5kLCBNRVRIX08sIGFwcGVuZF9fZG9jX199LAorICAgIEJZVEVBUlJBWV9SRURVQ0VfTUVUSE9EREVGCisgICAgQllURUFSUkFZX1JFRFVDRV9FWF9NRVRIT0RERUYKKyAgICBCWVRFQVJSQVlfU0laRU9GX01FVEhPRERFRgorICAgIEJZVEVBUlJBWV9BUFBFTkRfTUVUSE9EREVGCiAgICAgeyJjYXBpdGFsaXplIiwgKFB5Q0Z1bmN0aW9uKXN0cmluZ2xpYl9jYXBpdGFsaXplLCBNRVRIX05PQVJHUywKICAgICAgX1B5X2NhcGl0YWxpemVfX2RvY19ffSwKICAgICB7ImNlbnRlciIsIChQeUNGdW5jdGlvbilzdHJpbmdsaWJfY2VudGVyLCBNRVRIX1ZBUkFSR1MsIGNlbnRlcl9fZG9jX199LAotICAgIHsiY2xlYXIiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X2NsZWFyLCBNRVRIX05PQVJHUywgY2xlYXJfX2RvY19ffSwKLSAgICB7ImNvcHkiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X2NvcHksIE1FVEhfTk9BUkdTLCBjb3B5X19kb2NfX30sCisgICAgQllURUFSUkFZX0NMRUFSX01FVEhPRERFRgorICAgIEJZVEVBUlJBWV9DT1BZX01FVEhPRERFRgogICAgIHsiY291bnQiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X2NvdW50LCBNRVRIX1ZBUkFSR1MsIGNvdW50X19kb2NfX30sCi0gICAgeyJkZWNvZGUiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X2RlY29kZSwgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywgZGVjb2RlX2RvY30sCisgICAgQllURUFSUkFZX0RFQ09ERV9NRVRIT0RERUYKICAgICB7ImVuZHN3aXRoIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9lbmRzd2l0aCwgTUVUSF9WQVJBUkdTLCBlbmRzd2l0aF9fZG9jX199LAogICAgIHsiZXhwYW5kdGFicyIsIChQeUNGdW5jdGlvbilzdHJpbmdsaWJfZXhwYW5kdGFicywgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywKICAgICAgZXhwYW5kdGFic19fZG9jX199LAotICAgIHsiZXh0ZW5kIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9leHRlbmQsIE1FVEhfTywgZXh0ZW5kX19kb2NfX30sCisgICAgQllURUFSUkFZX0VYVEVORF9NRVRIT0RERUYKICAgICB7ImZpbmQiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X2ZpbmQsIE1FVEhfVkFSQVJHUywgZmluZF9fZG9jX199LAotICAgIHsiZnJvbWhleCIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfZnJvbWhleCwgTUVUSF9WQVJBUkdTfE1FVEhfQ0xBU1MsCi0gICAgIGZyb21oZXhfZG9jfSwKKyAgICBCWVRFQVJSQVlfRlJPTUhFWF9NRVRIT0RERUYKICAgICB7ImluZGV4IiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9pbmRleCwgTUVUSF9WQVJBUkdTLCBpbmRleF9fZG9jX199LAotICAgIHsiaW5zZXJ0IiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9pbnNlcnQsIE1FVEhfVkFSQVJHUywgaW5zZXJ0X19kb2NfX30sCisgICAgQllURUFSUkFZX0lOU0VSVF9NRVRIT0RERUYKICAgICB7ImlzYWxudW0iLCAoUHlDRnVuY3Rpb24pc3RyaW5nbGliX2lzYWxudW0sIE1FVEhfTk9BUkdTLAogICAgICBfUHlfaXNhbG51bV9fZG9jX199LAogICAgIHsiaXNhbHBoYSIsIChQeUNGdW5jdGlvbilzdHJpbmdsaWJfaXNhbHBoYSwgTUVUSF9OT0FSR1MsCkBAIC0yODM2LDM5ICszNzAwLDUxIEBACiAgICAgIF9QeV9pc3RpdGxlX19kb2NfX30sCiAgICAgeyJpc3VwcGVyIiwgKFB5Q0Z1bmN0aW9uKXN0cmluZ2xpYl9pc3VwcGVyLCBNRVRIX05PQVJHUywKICAgICAgX1B5X2lzdXBwZXJfX2RvY19ffSwKLSAgICB7ImpvaW4iLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X2pvaW4sIE1FVEhfTywgam9pbl9kb2N9LAorICAgIEJZVEVBUlJBWV9KT0lOX01FVEhPRERFRgogICAgIHsibGp1c3QiLCAoUHlDRnVuY3Rpb24pc3RyaW5nbGliX2xqdXN0LCBNRVRIX1ZBUkFSR1MsIGxqdXN0X19kb2NfX30sCiAgICAgeyJsb3dlciIsIChQeUNGdW5jdGlvbilzdHJpbmdsaWJfbG93ZXIsIE1FVEhfTk9BUkdTLCBfUHlfbG93ZXJfX2RvY19ffSwKLSAgICB7ImxzdHJpcCIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfbHN0cmlwLCBNRVRIX1ZBUkFSR1MsIGxzdHJpcF9fZG9jX199LAotICAgIHsibWFrZXRyYW5zIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9tYWtldHJhbnMsIE1FVEhfVkFSQVJHU3xNRVRIX1NUQVRJQywKLSAgICAgX1B5X21ha2V0cmFuc19fZG9jX199LAotICAgIHsicGFydGl0aW9uIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9wYXJ0aXRpb24sIE1FVEhfTywgcGFydGl0aW9uX19kb2NfX30sCi0gICAgeyJwb3AiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X3BvcCwgTUVUSF9WQVJBUkdTLCBwb3BfX2RvY19ffSwKLSAgICB7InJlbW92ZSIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfcmVtb3ZlLCBNRVRIX08sIHJlbW92ZV9fZG9jX199LAotICAgIHsicmVwbGFjZSIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfcmVwbGFjZSwgTUVUSF9WQVJBUkdTLCByZXBsYWNlX19kb2NfX30sCi0gICAgeyJyZXZlcnNlIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9yZXZlcnNlLCBNRVRIX05PQVJHUywgcmV2ZXJzZV9fZG9jX199LAorICAgIEJZVEVBUlJBWV9MU1RSSVBfTUVUSE9EREVGCisgICAgQllURUFSUkFZX01BS0VUUkFOU19NRVRIT0RERUYKKyAgICBCWVRFQVJSQVlfUEFSVElUSU9OX01FVEhPRERFRgorICAgIEJZVEVBUlJBWV9QT1BfTUVUSE9EREVGCisgICAgQllURUFSUkFZX1JFTU9WRV9NRVRIT0RERUYKKyAgICBCWVRFQVJSQVlfUkVQTEFDRV9NRVRIT0RERUYKKyAgICBCWVRFQVJSQVlfUkVWRVJTRV9NRVRIT0RERUYKICAgICB7InJmaW5kIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9yZmluZCwgTUVUSF9WQVJBUkdTLCByZmluZF9fZG9jX199LAogICAgIHsicmluZGV4IiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9yaW5kZXgsIE1FVEhfVkFSQVJHUywgcmluZGV4X19kb2NfX30sCiAgICAgeyJyanVzdCIsIChQeUNGdW5jdGlvbilzdHJpbmdsaWJfcmp1c3QsIE1FVEhfVkFSQVJHUywgcmp1c3RfX2RvY19ffSwKLSAgICB7InJwYXJ0aXRpb24iLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X3JwYXJ0aXRpb24sIE1FVEhfTywgcnBhcnRpdGlvbl9fZG9jX199LAotICAgIHsicnNwbGl0IiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9yc3BsaXQsIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsIHJzcGxpdF9fZG9jX199LAotICAgIHsicnN0cmlwIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9yc3RyaXAsIE1FVEhfVkFSQVJHUywgcnN0cmlwX19kb2NfX30sCi0gICAgeyJzcGxpdCIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfc3BsaXQsIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsIHNwbGl0X19kb2NfX30sCi0gICAgeyJzcGxpdGxpbmVzIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9zcGxpdGxpbmVzLAotICAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLCBzcGxpdGxpbmVzX19kb2NfX30sCisgICAgQllURUFSUkFZX1JQQVJUSVRJT05fTUVUSE9EREVGCisgICAgQllURUFSUkFZX1JTUExJVF9NRVRIT0RERUYKKyAgICBCWVRFQVJSQVlfUlNUUklQX01FVEhPRERFRgorICAgIEJZVEVBUlJBWV9TUExJVF9NRVRIT0RERUYKKyAgICBCWVRFQVJSQVlfU1BMSVRMSU5FU19NRVRIT0RERUYKICAgICB7InN0YXJ0c3dpdGgiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X3N0YXJ0c3dpdGgsIE1FVEhfVkFSQVJHUyAsCiAgICAgIHN0YXJ0c3dpdGhfX2RvY19ffSwKLSAgICB7InN0cmlwIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9zdHJpcCwgTUVUSF9WQVJBUkdTLCBzdHJpcF9fZG9jX199LAorICAgIEJZVEVBUlJBWV9TVFJJUF9NRVRIT0RERUYKICAgICB7InN3YXBjYXNlIiwgKFB5Q0Z1bmN0aW9uKXN0cmluZ2xpYl9zd2FwY2FzZSwgTUVUSF9OT0FSR1MsCiAgICAgIF9QeV9zd2FwY2FzZV9fZG9jX199LAogICAgIHsidGl0bGUiLCAoUHlDRnVuY3Rpb24pc3RyaW5nbGliX3RpdGxlLCBNRVRIX05PQVJHUywgX1B5X3RpdGxlX19kb2NfX30sCi0gICAgeyJ0cmFuc2xhdGUiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X3RyYW5zbGF0ZSwgTUVUSF9WQVJBUkdTLAotICAgICB0cmFuc2xhdGVfX2RvY19ffSwKKyAgICBCWVRFQVJSQVlfVFJBTlNMQVRFX01FVEhPRERFRgogICAgIHsidXBwZXIiLCAoUHlDRnVuY3Rpb24pc3RyaW5nbGliX3VwcGVyLCBNRVRIX05PQVJHUywgX1B5X3VwcGVyX19kb2NfX30sCiAgICAgeyJ6ZmlsbCIsIChQeUNGdW5jdGlvbilzdHJpbmdsaWJfemZpbGwsIE1FVEhfVkFSQVJHUywgemZpbGxfX2RvY19ffSwKICAgICB7TlVMTH0KIH07CiAKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlYXJyYXlfbW9kKFB5T2JqZWN0ICp2LCBQeU9iamVjdCAqdykKK3sKKyAgICBpZiAoIVB5Qnl0ZUFycmF5X0NoZWNrKHYpKQorICAgICAgICBQeV9SRVRVUk5fTk9USU1QTEVNRU5URUQ7CisgICAgcmV0dXJuIGJ5dGVhcnJheV9mb3JtYXQoKFB5Qnl0ZUFycmF5T2JqZWN0ICopdiwgdyk7Cit9CisKK3N0YXRpYyBQeU51bWJlck1ldGhvZHMgYnl0ZWFycmF5X2FzX251bWJlciA9IHsKKyAgICAwLCAgICAgICAgICAgICAgLypuYl9hZGQqLworICAgIDAsICAgICAgICAgICAgICAvKm5iX3N1YnRyYWN0Ki8KKyAgICAwLCAgICAgICAgICAgICAgLypuYl9tdWx0aXBseSovCisgICAgYnl0ZWFycmF5X21vZCwgIC8qbmJfcmVtYWluZGVyKi8KK307CisKIFB5RG9jX1NUUlZBUihieXRlYXJyYXlfZG9jLAogImJ5dGVhcnJheShpdGVyYWJsZV9vZl9pbnRzKSAtPiBieXRlYXJyYXlcblwKIGJ5dGVhcnJheShzdHJpbmcsIGVuY29kaW5nWywgZXJyb3JzXSkgLT4gYnl0ZWFycmF5XG5cCkBAIC0yODk3LDcgKzM3NzMsNyBAQAogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3NldGF0dHIgKi8KICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9yZXNlcnZlZCAqLwogICAgIChyZXByZnVuYylieXRlYXJyYXlfcmVwciwgICAgICAgICAgIC8qIHRwX3JlcHIgKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9hc19udW1iZXIgKi8KKyAgICAmYnl0ZWFycmF5X2FzX251bWJlciwgICAgICAgICAgICAgICAvKiB0cF9hc19udW1iZXIgKi8KICAgICAmYnl0ZWFycmF5X2FzX3NlcXVlbmNlLCAgICAgICAgICAgICAvKiB0cF9hc19zZXF1ZW5jZSAqLwogICAgICZieXRlYXJyYXlfYXNfbWFwcGluZywgICAgICAgICAgICAgIC8qIHRwX2FzX21hcHBpbmcgKi8KICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9oYXNoICovCkBAIC0zMDI0LDcgKzM5MDAsNyBAQAogICAgIHsiX19sZW5ndGhfaGludF9fIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheWl0ZXJfbGVuZ3RoX2hpbnQsIE1FVEhfTk9BUkdTLAogICAgICBsZW5ndGhfaGludF9kb2N9LAogICAgICB7Il9fcmVkdWNlX18iLCAgICAgIChQeUNGdW5jdGlvbilieXRlYXJyYXlpdGVyX3JlZHVjZSwgTUVUSF9OT0FSR1MsCi0gICAgIHJlZHVjZV9kb2N9LAorICAgICBieXRlYXJyYXlfcmVkdWNlX19kb2NfX30sCiAgICAgeyJfX3NldHN0YXRlX18iLCAgICAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5aXRlcl9zZXRzdGF0ZSwgTUVUSF9PLAogICAgICBzZXRzdGF0ZV9kb2N9LAogICAgIHtOVUxMLCBOVUxMfSAvKiBzZW50aW5lbCAqLwpkaWZmIC0tZ2l0IGEvT2JqZWN0cy9ieXRlc19tZXRob2RzLmMgYi9PYmplY3RzL2J5dGVzX21ldGhvZHMuYwppbmRleCA5ZmY3YWNlLi5hMjk5OTE1IDEwMDY0NAotLS0gYS9PYmplY3RzL2J5dGVzX21ldGhvZHMuYworKysgYi9PYmplY3RzL2J5dGVzX21ldGhvZHMuYwpAQCAtMzY0LDM5ICszNjQsMjYgQEAKIFRoZSBieXRlcyBvYmplY3RzIGZybSBhbmQgdG8gbXVzdCBiZSBvZiB0aGUgc2FtZSBsZW5ndGguIik7CiAKIFB5T2JqZWN0ICoKLV9QeV9ieXRlc19tYWtldHJhbnMoUHlPYmplY3QgKmFyZ3MpCitfUHlfYnl0ZXNfbWFrZXRyYW5zKFB5X2J1ZmZlciAqZnJtLCBQeV9idWZmZXIgKnRvKQogewogICAgIFB5T2JqZWN0ICpyZXMgPSBOVUxMOwotICAgIFB5X2J1ZmZlciBiZnJtID0ge05VTEwsIE5VTEx9OwotICAgIFB5X2J1ZmZlciBidG8gPSB7TlVMTCwgTlVMTH07CiAgICAgUHlfc3NpemVfdCBpOwogICAgIGNoYXIgKnA7CiAKLSAgICBiZnJtLmxlbiA9IC0xOwotICAgIGJ0by5sZW4gPSAtMTsKLQotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAieSp5KjptYWtldHJhbnMiLCAmYmZybSwgJmJ0bykpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIGlmIChiZnJtLmxlbiAhPSBidG8ubGVuKSB7CisgICAgaWYgKGZybS0+bGVuICE9IHRvLT5sZW4pIHsKICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1ZhbHVlRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAibWFrZXRyYW5zIGFyZ3VtZW50cyBtdXN0IGhhdmUgc2FtZSBsZW5ndGgiKTsKLSAgICAgICAgZ290byBkb25lOworICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAgICAgcmVzID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCAyNTYpOwotICAgIGlmICghcmVzKSB7Ci0gICAgICAgIGdvdG8gZG9uZTsKLSAgICB9CisgICAgaWYgKCFyZXMpCisgICAgICAgIHJldHVybiBOVUxMOwogICAgIHAgPSBQeUJ5dGVzX0FTX1NUUklORyhyZXMpOwogICAgIGZvciAoaSA9IDA7IGkgPCAyNTY7IGkrKykKICAgICAgICAgcFtpXSA9IChjaGFyKSBpOwotICAgIGZvciAoaSA9IDA7IGkgPCBiZnJtLmxlbjsgaSsrKSB7Ci0gICAgICAgIHBbKCh1bnNpZ25lZCBjaGFyICopYmZybS5idWYpW2ldXSA9ICgoY2hhciAqKWJ0by5idWYpW2ldOworICAgIGZvciAoaSA9IDA7IGkgPCBmcm0tPmxlbjsgaSsrKSB7CisgICAgICAgIHBbKCh1bnNpZ25lZCBjaGFyICopZnJtLT5idWYpW2ldXSA9ICgoY2hhciAqKXRvLT5idWYpW2ldOwogICAgIH0KIAotZG9uZToKLSAgICBpZiAoYmZybS5vYmogIT0gTlVMTCkKLSAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmYmZybSk7Ci0gICAgaWYgKGJmcm0ub2JqICE9IE5VTEwpCi0gICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJmJ0byk7CiAgICAgcmV0dXJuIHJlczsKIH0KZGlmZiAtLWdpdCBhL09iamVjdHMvYnl0ZXNvYmplY3QuYyBiL09iamVjdHMvYnl0ZXNvYmplY3QuYwppbmRleCBlNTZkYmVkLi5iMmJmMDk4IDEwMDY0NAotLS0gYS9PYmplY3RzL2J5dGVzb2JqZWN0LmMKKysrIGIvT2JqZWN0cy9ieXRlc29iamVjdC5jCkBAIC03LDYgKzcsMTEgQEAKICNpbmNsdWRlICJieXRlc19tZXRob2RzLmgiCiAjaW5jbHVkZSA8c3RkZGVmLmg+CiAKKy8qW2NsaW5pYyBpbnB1dF0KK2NsYXNzIGJ5dGVzICJQeUJ5dGVzT2JqZWN0KiIgIiZQeUJ5dGVzX1R5cGUiCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZGEzOWEzZWU1ZTZiNGIwZCBpbnB1dD0xYTFkOTEwMmFmYzFiMDBjXSovCisKICNpZmRlZiBDT1VOVF9BTExPQ1MKIFB5X3NzaXplX3QgbnVsbF9zdHJpbmdzLCBvbmVfc3RyaW5nczsKICNlbmRpZgpAQCAtNDQsNiArNDksNDUgQEAKICAgIFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoKSkgb3IgdGhlIGxlbmd0aCBvZiB0aGUgc3RyaW5nIGluIHRoZSBgc3RyJwogICAgcGFyYW1ldGVyIChmb3IgUHlCeXRlc19Gcm9tU3RyaW5nKCkpLgogKi8KK3N0YXRpYyBQeU9iamVjdCAqCitfUHlCeXRlc19Gcm9tU2l6ZShQeV9zc2l6ZV90IHNpemUsIGludCB1c2VfY2FsbG9jKQoreworICAgIFB5Qnl0ZXNPYmplY3QgKm9wOworICAgIGFzc2VydChzaXplID49IDApOworCisgICAgaWYgKHNpemUgPT0gMCAmJiAob3AgPSBudWxsc3RyaW5nKSAhPSBOVUxMKSB7CisjaWZkZWYgQ09VTlRfQUxMT0NTCisgICAgICAgIG51bGxfc3RyaW5ncysrOworI2VuZGlmCisgICAgICAgIFB5X0lOQ1JFRihvcCk7CisgICAgICAgIHJldHVybiAoUHlPYmplY3QgKilvcDsKKyAgICB9CisKKyAgICBpZiAoKHNpemVfdClzaXplID4gKHNpemVfdClQWV9TU0laRV9UX01BWCAtIFB5Qnl0ZXNPYmplY3RfU0laRSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT3ZlcmZsb3dFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICJieXRlIHN0cmluZyBpcyB0b28gbGFyZ2UiKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgLyogSW5saW5lIFB5T2JqZWN0X05ld1ZhciAqLworICAgIGlmICh1c2VfY2FsbG9jKQorICAgICAgICBvcCA9IChQeUJ5dGVzT2JqZWN0ICopUHlPYmplY3RfQ2FsbG9jKDEsIFB5Qnl0ZXNPYmplY3RfU0laRSArIHNpemUpOworICAgIGVsc2UKKyAgICAgICAgb3AgPSAoUHlCeXRlc09iamVjdCAqKVB5T2JqZWN0X01hbGxvYyhQeUJ5dGVzT2JqZWN0X1NJWkUgKyBzaXplKTsKKyAgICBpZiAob3AgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIFB5RXJyX05vTWVtb3J5KCk7CisgICAgKHZvaWQpUHlPYmplY3RfSU5JVF9WQVIob3AsICZQeUJ5dGVzX1R5cGUsIHNpemUpOworICAgIG9wLT5vYl9zaGFzaCA9IC0xOworICAgIGlmICghdXNlX2NhbGxvYykKKyAgICAgICAgb3AtPm9iX3N2YWxbc2l6ZV0gPSAnXDAnOworICAgIC8qIGVtcHR5IGJ5dGUgc3RyaW5nIHNpbmdsZXRvbiAqLworICAgIGlmIChzaXplID09IDApIHsKKyAgICAgICAgbnVsbHN0cmluZyA9IG9wOworICAgICAgICBQeV9JTkNSRUYob3ApOworICAgIH0KKyAgICByZXR1cm4gKFB5T2JqZWN0ICopIG9wOworfQorCiBQeU9iamVjdCAqCiBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKGNvbnN0IGNoYXIgKnN0ciwgUHlfc3NpemVfdCBzaXplKQogewpAQCAtNTMsMTMgKzk3LDYgQEAKICAgICAgICAgICAgICJOZWdhdGl2ZSBzaXplIHBhc3NlZCB0byBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplIik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLSAgICBpZiAoc2l6ZSA9PSAwICYmIChvcCA9IG51bGxzdHJpbmcpICE9IE5VTEwpIHsKLSNpZmRlZiBDT1VOVF9BTExPQ1MKLSAgICAgICAgbnVsbF9zdHJpbmdzKys7Ci0jZW5kaWYKLSAgICAgICAgUHlfSU5DUkVGKG9wKTsKLSAgICAgICAgcmV0dXJuIChQeU9iamVjdCAqKW9wOwotICAgIH0KICAgICBpZiAoc2l6ZSA9PSAxICYmIHN0ciAhPSBOVUxMICYmCiAgICAgICAgIChvcCA9IGNoYXJhY3RlcnNbKnN0ciAmIFVDSEFSX01BWF0pICE9IE5VTEwpCiAgICAgewpAQCAtNzAsMjYgKzEwNywxNSBAQAogICAgICAgICByZXR1cm4gKFB5T2JqZWN0ICopb3A7CiAgICAgfQogCi0gICAgaWYgKHNpemUgPiBQWV9TU0laRV9UX01BWCAtIFB5Qnl0ZXNPYmplY3RfU0laRSkgewotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT3ZlcmZsb3dFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICJieXRlIHN0cmluZyBpcyB0b28gbGFyZ2UiKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotCi0gICAgLyogSW5saW5lIFB5T2JqZWN0X05ld1ZhciAqLwotICAgIG9wID0gKFB5Qnl0ZXNPYmplY3QgKilQeU9iamVjdF9NQUxMT0MoUHlCeXRlc09iamVjdF9TSVpFICsgc2l6ZSk7CisgICAgb3AgPSAoUHlCeXRlc09iamVjdCAqKV9QeUJ5dGVzX0Zyb21TaXplKHNpemUsIDApOwogICAgIGlmIChvcCA9PSBOVUxMKQotICAgICAgICByZXR1cm4gUHlFcnJfTm9NZW1vcnkoKTsKLSAgICAodm9pZClQeU9iamVjdF9JTklUX1ZBUihvcCwgJlB5Qnl0ZXNfVHlwZSwgc2l6ZSk7Ci0gICAgb3AtPm9iX3NoYXNoID0gLTE7Ci0gICAgaWYgKHN0ciAhPSBOVUxMKQotICAgICAgICBQeV9NRU1DUFkob3AtPm9iX3N2YWwsIHN0ciwgc2l6ZSk7Ci0gICAgb3AtPm9iX3N2YWxbc2l6ZV0gPSAnXDAnOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoc3RyID09IE5VTEwpCisgICAgICAgIHJldHVybiAoUHlPYmplY3QgKikgb3A7CisKKyAgICBQeV9NRU1DUFkob3AtPm9iX3N2YWwsIHN0ciwgc2l6ZSk7CiAgICAgLyogc2hhcmUgc2hvcnQgc3RyaW5ncyAqLwotICAgIGlmIChzaXplID09IDApIHsKLSAgICAgICAgbnVsbHN0cmluZyA9IG9wOwotICAgICAgICBQeV9JTkNSRUYob3ApOwotICAgIH0gZWxzZSBpZiAoc2l6ZSA9PSAxICYmIHN0ciAhPSBOVUxMKSB7CisgICAgaWYgKHNpemUgPT0gMSkgewogICAgICAgICBjaGFyYWN0ZXJzWypzdHIgJiBVQ0hBUl9NQVhdID0gb3A7CiAgICAgICAgIFB5X0lOQ1JFRihvcCk7CiAgICAgfQpAQCAtMzQ3LDYgKzM3Myw2MzMgQEAKICAgICByZXR1cm4gcmV0OwogfQogCisvKiBIZWxwZXJzIGZvciBmb3JtYXRzdHJpbmcgKi8KKworUHlfTE9DQUxfSU5MSU5FKFB5T2JqZWN0ICopCitnZXRuZXh0YXJnKFB5T2JqZWN0ICphcmdzLCBQeV9zc2l6ZV90IGFyZ2xlbiwgUHlfc3NpemVfdCAqcF9hcmdpZHgpCit7CisgICAgUHlfc3NpemVfdCBhcmdpZHggPSAqcF9hcmdpZHg7CisgICAgaWYgKGFyZ2lkeCA8IGFyZ2xlbikgeworICAgICAgICAoKnBfYXJnaWR4KSsrOworICAgICAgICBpZiAoYXJnbGVuIDwgMCkKKyAgICAgICAgICAgIHJldHVybiBhcmdzOworICAgICAgICBlbHNlCisgICAgICAgICAgICByZXR1cm4gUHlUdXBsZV9HZXRJdGVtKGFyZ3MsIGFyZ2lkeCk7CisgICAgfQorICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICJub3QgZW5vdWdoIGFyZ3VtZW50cyBmb3IgZm9ybWF0IHN0cmluZyIpOworICAgIHJldHVybiBOVUxMOworfQorCisvKiBGb3JtYXQgY29kZXMKKyAqIEZfTEpVU1QgICAgICAnLScKKyAqIEZfU0lHTiAgICAgICAnKycKKyAqIEZfQkxBTksgICAgICAnICcKKyAqIEZfQUxUICAgICAgICAnIycKKyAqIEZfWkVSTyAgICAgICAnMCcKKyAqLworI2RlZmluZSBGX0xKVVNUICgxPDwwKQorI2RlZmluZSBGX1NJR04gICgxPDwxKQorI2RlZmluZSBGX0JMQU5LICgxPDwyKQorI2RlZmluZSBGX0FMVCAgICgxPDwzKQorI2RlZmluZSBGX1pFUk8gICgxPDw0KQorCisvKiBSZXR1cm5zIGEgbmV3IHJlZmVyZW5jZSB0byBhIFB5Qnl0ZXMgb2JqZWN0LCBvciBOVUxMIG9uIGZhaWx1cmUuICovCisKK3N0YXRpYyBQeU9iamVjdCAqCitmb3JtYXRmbG9hdChQeU9iamVjdCAqdiwgaW50IGZsYWdzLCBpbnQgcHJlYywgaW50IHR5cGUpCit7CisgICAgY2hhciAqcDsKKyAgICBQeU9iamVjdCAqcmVzdWx0OworICAgIGRvdWJsZSB4OworCisgICAgeCA9IFB5RmxvYXRfQXNEb3VibGUodik7CisgICAgaWYgKHggPT0gLTEuMCAmJiBQeUVycl9PY2N1cnJlZCgpKSB7CisgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsICJmbG9hdCBhcmd1bWVudCByZXF1aXJlZCwgIgorICAgICAgICAgICAgICAgICAgICAgIm5vdCAlLjIwMHMiLCBQeV9UWVBFKHYpLT50cF9uYW1lKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgaWYgKHByZWMgPCAwKQorICAgICAgICBwcmVjID0gNjsKKworICAgIHAgPSBQeU9TX2RvdWJsZV90b19zdHJpbmcoeCwgdHlwZSwgcHJlYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmbGFncyAmIEZfQUxUKSA/IFB5X0RUU0ZfQUxUIDogMCwgTlVMTCk7CisKKyAgICBpZiAocCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICByZXN1bHQgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKHAsIHN0cmxlbihwKSk7CisgICAgUHlNZW1fRnJlZShwKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCisvKiBmb3JtYXRfbG9uZyBlbXVsYXRlcyB0aGUgZm9ybWF0IGNvZGVzIGQsIHUsIG8sIHggYW5kIFgsIGFuZAorICogdGhlIEZfQUxUIGZsYWcsIGZvciBQeXRob24ncyBsb25nICh1bmJvdW5kZWQpIGludHMuICBJdCdzIG5vdCB1c2VkIGZvcgorICogUHl0aG9uJ3MgcmVndWxhciBpbnRzLgorICogUmV0dXJuIHZhbHVlOiAgYSBuZXcgUHlCeXRlcyosIG9yIE5VTEwgaWYgZXJyb3IuCisgKiAgLiAgKnBidWYgaXMgc2V0IHRvIHBvaW50IGludG8gaXQsCisgKiAgICAgKnBsZW4gc2V0IHRvIHRoZSAjIG9mIGNoYXJzIGZvbGxvd2luZyB0aGF0LgorICogICAgIENhbGxlciBtdXN0IGRlY3JlZiBpdCB3aGVuIGRvbmUgdXNpbmcgcGJ1Zi4KKyAqICAgICBUaGUgc3RyaW5nIHN0YXJ0aW5nIGF0ICpwYnVmIGlzIG9mIHRoZSBmb3JtCisgKiAgICAgICAgICItIj8gKCIweCIgfCAiMFgiKT8gZGlnaXQrCisgKiAgICAgIjB4Ii8iMFgiIGFyZSBwcmVzZW50IG9ubHkgZm9yIHggYW5kIFggY29udmVyc2lvbnMsIHdpdGggRl9BTFQKKyAqICAgICAgICAgc2V0IGluIGZsYWdzLiAgVGhlIGNhc2Ugb2YgaGV4IGRpZ2l0cyB3aWxsIGJlIGNvcnJlY3QsCisgKiAgICAgVGhlcmUgd2lsbCBiZSBhdCBsZWFzdCBwcmVjIGRpZ2l0cywgemVyby1maWxsZWQgb24gdGhlIGxlZnQgaWYKKyAqICAgICAgICAgbmVjZXNzYXJ5IHRvIGdldCB0aGF0IG1hbnkuCisgKiB2YWwgICAgICAgICAgb2JqZWN0IHRvIGJlIGNvbnZlcnRlZAorICogZmxhZ3MgICAgICAgIGJpdG1hc2sgb2YgZm9ybWF0IGZsYWdzOyBvbmx5IEZfQUxUIGlzIGxvb2tlZCBhdAorICogcHJlYyAgICAgICAgIG1pbmltdW0gbnVtYmVyIG9mIGRpZ2l0czsgMC1maWxsIG9uIGxlZnQgaWYgbmVlZGVkCisgKiB0eXBlICAgICAgICAgYSBjaGFyYWN0ZXIgaW4gW2R1b3hYXTsgdSBhY3RzIHRoZSBzYW1lIGFzIGQKKyAqCisgKiBDQVVUSU9OOiAgbywgeCBhbmQgWCBjb252ZXJzaW9ucyBvbiByZWd1bGFyIGludHMgY2FuIG5ldmVyCisgKiBwcm9kdWNlIGEgJy0nIHNpZ24sIGJ1dCBjYW4gZm9yIFB5dGhvbidzIHVuYm91bmRlZCBpbnRzLgorICovCisKK3N0YXRpYyBQeU9iamVjdCAqCitmb3JtYXRfbG9uZyhQeU9iamVjdCAqdmFsLCBpbnQgZmxhZ3MsIGludCBwcmVjLCBpbnQgdHlwZSwKKwkgICAgY2hhciAqKnBidWYsIGludCAqcGxlbikKK3sKKyAgICBQeU9iamVjdCAqczsKKyAgICBQeU9iamVjdCAqcmVzdWx0ID0gTlVMTDsKKworICAgIHMgPSBfUHlVbmljb2RlX0Zvcm1hdExvbmcodmFsLCBmbGFncyAmIEZfQUxULCBwcmVjLCB0eXBlKTsKKyAgICBpZiAoIXMpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIHJlc3VsdCA9IF9QeVVuaWNvZGVfQXNBU0NJSVN0cmluZyhzLCAic3RyaWN0Iik7CisgICAgUHlfREVDUkVGKHMpOworICAgIGlmICghcmVzdWx0KQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAqcGJ1ZiA9IFB5Qnl0ZXNfQVNfU1RSSU5HKHJlc3VsdCk7CisgICAgKnBsZW4gPSBQeUJ5dGVzX0dFVF9TSVpFKHJlc3VsdCk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworUHlfTE9DQUxfSU5MSU5FKGludCkKK2Zvcm1hdGNoYXIoY2hhciAqYnVmLCBzaXplX3QgYnVmbGVuLCBQeU9iamVjdCAqdikKK3sKKyAgICBQeU9iamVjdCAqdyA9IE5VTEw7CisgICAgLyogY29udmVydCBieXRlYXJyYXkgdG8gYnl0ZXMgKi8KKyAgICBpZiAoUHlCeXRlQXJyYXlfQ2hlY2sodikpIHsKKyAgICAgICAgdyA9IFB5Qnl0ZXNfRnJvbU9iamVjdCh2KTsKKyAgICAgICAgaWYgKHcgPT0gTlVMTCkKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgIHYgPSB3OworICAgIH0KKyAgICAvKiBwcmVzdW1lIHRoYXQgdGhlIGJ1ZmZlciBpcyBhdCBsZWFzdCAyIGNoYXJhY3RlcnMgbG9uZyAqLworICAgIGlmIChQeUJ5dGVzX0NoZWNrKHYpKSB7CisgICAgICAgIGlmICghUHlBcmdfUGFyc2UodiwgImM7JWMgcmVxdWlyZXMgYW4gaW50ZWdlciBpbiByYW5nZSgyNTYpIG9yIGEgc2luZ2xlIGJ5dGUiLCAmYnVmWzBdKSkKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICBsb25nIGl2YWwgPSBQeUxvbmdfQXNMb25nKHYpOworICAgICAgICBpZiAoaXZhbCA9PSAtMSAmJiBQeUVycl9PY2N1cnJlZCgpKSB7CisgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICIlYyByZXF1aXJlcyBhbiBpbnRlZ2VyIGluIHJhbmdlKDI1Nikgb3IgYSBzaW5nbGUgYnl0ZSIpOworICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgfQorICAgICAgICBpZiAoaXZhbCA8IDAgfHwgaXZhbCA+IDI1NSkgeworICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAiJWMgcmVxdWlyZXMgYW4gaW50ZWdlciBpbiByYW5nZSgyNTYpIG9yIGEgc2luZ2xlIGJ5dGUiKTsKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgIH0KKyAgICAgICAgYnVmWzBdID0gKGNoYXIpaXZhbDsKKyAgICB9CisgICAgUHlfWERFQ1JFRih3KTsKKyAgICBidWZbMV0gPSAnXDAnOworICAgIHJldHVybiAxOworCisgZXJyb3I6CisgICAgUHlfWERFQ1JFRih3KTsKKyAgICByZXR1cm4gLTE7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitmb3JtYXRfb2JqKFB5T2JqZWN0ICp2KQoreworICAgIFB5T2JqZWN0ICpyZXN1bHQgPSBOVUxMLCAqdyA9IE5VTEw7CisgICAgUHlPYmplY3QgKmZ1bmM7CisgICAgX1B5X0lERU5USUZJRVIoX19ieXRlc19fKTsKKyAgICAvKiBjb252ZXJ0IGJ5dGVhcnJheSB0byBieXRlcyAqLworICAgIGlmIChQeUJ5dGVBcnJheV9DaGVjayh2KSkgeworICAgICAgICB3ID0gUHlCeXRlc19Gcm9tT2JqZWN0KHYpOworICAgICAgICBpZiAodyA9PSBOVUxMKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIHYgPSB3OworICAgIH0KKyAgICAvKiBpcyBpdCBhIGJ5dGVzIG9iamVjdD8gKi8KKyAgICBpZiAoUHlCeXRlc19DaGVjayh2KSkgeworICAgICAgICByZXN1bHQgPSB2OworICAgICAgICBQeV9JTkNSRUYodik7CisgICAgICAgIFB5X1hERUNSRUYodyk7CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorICAgIC8qIGRvZXMgaXQgc3VwcG9ydCBfX2J5dGVzX18/ICovCisgICAgZnVuYyA9IF9QeU9iamVjdF9Mb29rdXBTcGVjaWFsKHYsICZQeUlkX19fYnl0ZXNfXyk7CisgICAgaWYgKGZ1bmMgIT0gTlVMTCkgeworICAgICAgICByZXN1bHQgPSBQeU9iamVjdF9DYWxsRnVuY3Rpb25PYmpBcmdzKGZ1bmMsIE5VTEwpOworICAgICAgICBQeV9ERUNSRUYoZnVuYyk7CisgICAgICAgIGlmIChyZXN1bHQgPT0gTlVMTCkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICBpZiAoIVB5Qnl0ZXNfQ2hlY2socmVzdWx0KSkgeworICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiX19ieXRlc19fIHJldHVybmVkIG5vbi1ieXRlcyAodHlwZSAlLjIwMHMpIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBQeV9UWVBFKHJlc3VsdCktPnRwX25hbWUpOworICAgICAgICAgICAgUHlfREVDUkVGKHJlc3VsdCk7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKyAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICAiJSViIHJlcXVpcmVzIGJ5dGVzLCBvciBhbiBvYmplY3QgdGhhdCBpbXBsZW1lbnRzIF9fYnl0ZXNfXywgbm90ICclLjEwMHMnIiwKKyAgICAgICAgICAgICAgICAgUHlfVFlQRSh2KS0+dHBfbmFtZSk7CisgICAgcmV0dXJuIE5VTEw7Cit9CisKKy8qIGZtdCUodjEsdjIsLi4uKSBpcyByb3VnaGx5IGVxdWl2YWxlbnQgdG8gc3ByaW50ZihmbXQsIHYxLCB2MiwgLi4uKQorCisgICBGT1JNQVRCVUZMRU4gaXMgdGhlIGxlbmd0aCBvZiB0aGUgYnVmZmVyIGluIHdoaWNoIHRoZSBpbnRzICYKKyAgIGNoYXJzIGFyZSBmb3JtYXR0ZWQuIFhYWCBUaGlzIGlzIGEgbWFnaWMgbnVtYmVyLiBFYWNoIGZvcm1hdHRpbmcKKyAgIHJvdXRpbmUgZG9lcyBib3VuZHMgY2hlY2tpbmcgdG8gZW5zdXJlIG5vIG92ZXJmbG93LCBidXQgYSBiZXR0ZXIKKyAgIHNvbHV0aW9uIG1heSBiZSB0byBtYWxsb2MgYSBidWZmZXIgb2YgYXBwcm9wcmlhdGUgc2l6ZSBmb3IgZWFjaAorICAgZm9ybWF0LiBGb3Igbm93LCB0aGUgY3VycmVudCBzb2x1dGlvbiBpcyBzdWZmaWNpZW50LgorKi8KKyNkZWZpbmUgRk9STUFUQlVGTEVOIChzaXplX3QpMTIwCisKK1B5T2JqZWN0ICoKK19QeUJ5dGVzX0Zvcm1hdChQeU9iamVjdCAqZm9ybWF0LCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBjaGFyICpmbXQsICpyZXM7CisgICAgUHlfc3NpemVfdCBhcmdsZW4sIGFyZ2lkeDsKKyAgICBQeV9zc2l6ZV90IHJlc2xlbiwgcmVzY250LCBmbXRjbnQ7CisgICAgaW50IGFyZ3Nfb3duZWQgPSAwOworICAgIFB5T2JqZWN0ICpyZXN1bHQ7CisgICAgUHlPYmplY3QgKnJlcHI7CisgICAgUHlPYmplY3QgKmRpY3QgPSBOVUxMOworICAgIGlmIChmb3JtYXQgPT0gTlVMTCB8fCAhUHlCeXRlc19DaGVjayhmb3JtYXQpIHx8IGFyZ3MgPT0gTlVMTCkgeworICAgICAgICBQeUVycl9CYWRJbnRlcm5hbENhbGwoKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIGZtdCA9IFB5Qnl0ZXNfQVNfU1RSSU5HKGZvcm1hdCk7CisgICAgZm10Y250ID0gUHlCeXRlc19HRVRfU0laRShmb3JtYXQpOworICAgIHJlc2xlbiA9IHJlc2NudCA9IGZtdGNudCArIDEwMDsKKyAgICByZXN1bHQgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKChjaGFyICopTlVMTCwgcmVzbGVuKTsKKyAgICBpZiAocmVzdWx0ID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIHJlcyA9IFB5Qnl0ZXNfQXNTdHJpbmcocmVzdWx0KTsKKyAgICBpZiAoUHlUdXBsZV9DaGVjayhhcmdzKSkgeworICAgICAgICBhcmdsZW4gPSBQeVR1cGxlX0dFVF9TSVpFKGFyZ3MpOworICAgICAgICBhcmdpZHggPSAwOworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgYXJnbGVuID0gLTE7CisgICAgICAgIGFyZ2lkeCA9IC0yOworICAgIH0KKyAgICBpZiAoUHlfVFlQRShhcmdzKS0+dHBfYXNfbWFwcGluZyAmJiBQeV9UWVBFKGFyZ3MpLT50cF9hc19tYXBwaW5nLT5tcF9zdWJzY3JpcHQgJiYKKyAgICAgICAgIVB5VHVwbGVfQ2hlY2soYXJncykgJiYgIVB5Qnl0ZXNfQ2hlY2soYXJncykgJiYgIVB5VW5pY29kZV9DaGVjayhhcmdzKSAmJgorICAgICAgICAhUHlCeXRlQXJyYXlfQ2hlY2soYXJncykpIHsKKyAgICAgICAgICAgIGRpY3QgPSBhcmdzOworICAgIH0KKyAgICB3aGlsZSAoLS1mbXRjbnQgPj0gMCkgeworICAgICAgICBpZiAoKmZtdCAhPSAnJScpIHsKKyAgICAgICAgICAgIGlmICgtLXJlc2NudCA8IDApIHsKKyAgICAgICAgICAgICAgICByZXNjbnQgPSBmbXRjbnQgKyAxMDA7CisgICAgICAgICAgICAgICAgcmVzbGVuICs9IHJlc2NudDsKKyAgICAgICAgICAgICAgICBpZiAoX1B5Qnl0ZXNfUmVzaXplKCZyZXN1bHQsIHJlc2xlbikpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICAgICAgICAgIHJlcyA9IFB5Qnl0ZXNfQVNfU1RSSU5HKHJlc3VsdCkKKyAgICAgICAgICAgICAgICAgICAgKyByZXNsZW4gLSByZXNjbnQ7CisgICAgICAgICAgICAgICAgLS1yZXNjbnQ7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAqcmVzKysgPSAqZm10Kys7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAvKiBHb3QgYSBmb3JtYXQgc3BlY2lmaWVyICovCisgICAgICAgICAgICBpbnQgZmxhZ3MgPSAwOworICAgICAgICAgICAgUHlfc3NpemVfdCB3aWR0aCA9IC0xOworICAgICAgICAgICAgaW50IHByZWMgPSAtMTsKKyAgICAgICAgICAgIGludCBjID0gJ1wwJzsKKyAgICAgICAgICAgIGludCBmaWxsOworICAgICAgICAgICAgaW50IGlzbnVtb2s7CisgICAgICAgICAgICBQeU9iamVjdCAqdiA9IE5VTEw7CisgICAgICAgICAgICBQeU9iamVjdCAqdGVtcCA9IE5VTEw7CisgICAgICAgICAgICBQeV9idWZmZXIgYnVmID0ge05VTEwsIE5VTEx9OworICAgICAgICAgICAgY2hhciAqcGJ1ZjsKKyAgICAgICAgICAgIGludCBzaWduOworICAgICAgICAgICAgUHlfc3NpemVfdCBsZW47CisgICAgICAgICAgICBjaGFyIGZvcm1hdGJ1ZltGT1JNQVRCVUZMRU5dOworICAgICAgICAgICAgICAgICAvKiBGb3IgZm9ybWF0e2ludCxjaGFyfSgpICovCisKKyAgICAgICAgICAgIGZtdCsrOworICAgICAgICAgICAgaWYgKCpmbXQgPT0gJygnKSB7CisgICAgICAgICAgICAgICAgY2hhciAqa2V5c3RhcnQ7CisgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBrZXlsZW47CisgICAgICAgICAgICAgICAgUHlPYmplY3QgKmtleTsKKyAgICAgICAgICAgICAgICBpbnQgcGNvdW50ID0gMTsKKworICAgICAgICAgICAgICAgIGlmIChkaWN0ID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZvcm1hdCByZXF1aXJlcyBhIG1hcHBpbmciKTsKKyAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgKytmbXQ7CisgICAgICAgICAgICAgICAgLS1mbXRjbnQ7CisgICAgICAgICAgICAgICAga2V5c3RhcnQgPSBmbXQ7CisgICAgICAgICAgICAgICAgLyogU2tpcCBvdmVyIGJhbGFuY2VkIHBhcmVudGhlc2VzICovCisgICAgICAgICAgICAgICAgd2hpbGUgKHBjb3VudCA+IDAgJiYgLS1mbXRjbnQgPj0gMCkgeworICAgICAgICAgICAgICAgICAgICBpZiAoKmZtdCA9PSAnKScpCisgICAgICAgICAgICAgICAgICAgICAgICAtLXBjb3VudDsKKyAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoKmZtdCA9PSAnKCcpCisgICAgICAgICAgICAgICAgICAgICAgICArK3Bjb3VudDsKKyAgICAgICAgICAgICAgICAgICAgZm10Kys7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGtleWxlbiA9IGZtdCAtIGtleXN0YXJ0IC0gMTsKKyAgICAgICAgICAgICAgICBpZiAoZm10Y250IDwgMCB8fCBwY291bnQgPiAwKSB7CisgICAgICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpbmNvbXBsZXRlIGZvcm1hdCBrZXkiKTsKKyAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAga2V5ID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShrZXlzdGFydCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXlsZW4pOworICAgICAgICAgICAgICAgIGlmIChrZXkgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgICAgICBpZiAoYXJnc19vd25lZCkgeworICAgICAgICAgICAgICAgICAgICBQeV9ERUNSRUYoYXJncyk7CisgICAgICAgICAgICAgICAgICAgIGFyZ3Nfb3duZWQgPSAwOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBhcmdzID0gUHlPYmplY3RfR2V0SXRlbShkaWN0LCBrZXkpOworICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihrZXkpOworICAgICAgICAgICAgICAgIGlmIChhcmdzID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgYXJnc19vd25lZCA9IDE7CisgICAgICAgICAgICAgICAgYXJnbGVuID0gLTE7CisgICAgICAgICAgICAgICAgYXJnaWR4ID0gLTI7CisgICAgICAgICAgICB9CisgICAgICAgICAgICB3aGlsZSAoLS1mbXRjbnQgPj0gMCkgeworICAgICAgICAgICAgICAgIHN3aXRjaCAoYyA9ICpmbXQrKykgeworICAgICAgICAgICAgICAgIGNhc2UgJy0nOiBmbGFncyB8PSBGX0xKVVNUOyBjb250aW51ZTsKKyAgICAgICAgICAgICAgICBjYXNlICcrJzogZmxhZ3MgfD0gRl9TSUdOOyBjb250aW51ZTsKKyAgICAgICAgICAgICAgICBjYXNlICcgJzogZmxhZ3MgfD0gRl9CTEFOSzsgY29udGludWU7CisgICAgICAgICAgICAgICAgY2FzZSAnIyc6IGZsYWdzIHw9IEZfQUxUOyBjb250aW51ZTsKKyAgICAgICAgICAgICAgICBjYXNlICcwJzogZmxhZ3MgfD0gRl9aRVJPOyBjb250aW51ZTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoYyA9PSAnKicpIHsKKyAgICAgICAgICAgICAgICB2ID0gZ2V0bmV4dGFyZyhhcmdzLCBhcmdsZW4sICZhcmdpZHgpOworICAgICAgICAgICAgICAgIGlmICh2ID09IE5VTEwpCisgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICAgICAgaWYgKCFQeUxvbmdfQ2hlY2sodikpIHsKKyAgICAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIqIHdhbnRzIGludCIpOworICAgICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB3aWR0aCA9IFB5TG9uZ19Bc1NzaXplX3Qodik7CisgICAgICAgICAgICAgICAgaWYgKHdpZHRoID09IC0xICYmIFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICAgICAgaWYgKHdpZHRoIDwgMCkgeworICAgICAgICAgICAgICAgICAgICBmbGFncyB8PSBGX0xKVVNUOworICAgICAgICAgICAgICAgICAgICB3aWR0aCA9IC13aWR0aDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKC0tZm10Y250ID49IDApCisgICAgICAgICAgICAgICAgICAgIGMgPSAqZm10Kys7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlIGlmIChjID49IDAgJiYgaXNkaWdpdChjKSkgeworICAgICAgICAgICAgICAgIHdpZHRoID0gYyAtICcwJzsKKyAgICAgICAgICAgICAgICB3aGlsZSAoLS1mbXRjbnQgPj0gMCkgeworICAgICAgICAgICAgICAgICAgICBjID0gUHlfQ0hBUk1BU0soKmZtdCsrKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCFpc2RpZ2l0KGMpKQorICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgIGlmICh3aWR0aCA+IChQWV9TU0laRV9UX01BWCAtICgoaW50KWMgLSAnMCcpKSAvIDEwKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlFeGNfVmFsdWVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAid2lkdGggdG9vIGJpZyIpOworICAgICAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICB3aWR0aCA9IHdpZHRoKjEwICsgKGMgLSAnMCcpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChjID09ICcuJykgeworICAgICAgICAgICAgICAgIHByZWMgPSAwOworICAgICAgICAgICAgICAgIGlmICgtLWZtdGNudCA+PSAwKQorICAgICAgICAgICAgICAgICAgICBjID0gKmZtdCsrOworICAgICAgICAgICAgICAgIGlmIChjID09ICcqJykgeworICAgICAgICAgICAgICAgICAgICB2ID0gZ2V0bmV4dGFyZyhhcmdzLCBhcmdsZW4sICZhcmdpZHgpOworICAgICAgICAgICAgICAgICAgICBpZiAodiA9PSBOVUxMKQorICAgICAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCFQeUxvbmdfQ2hlY2sodikpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZygKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiogd2FudHMgaW50Iik7CisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIHByZWMgPSBQeUxvbmdfQXNTc2l6ZV90KHYpOworICAgICAgICAgICAgICAgICAgICBpZiAocHJlYyA9PSAtMSAmJiBQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHByZWMgPCAwKQorICAgICAgICAgICAgICAgICAgICAgICAgcHJlYyA9IDA7CisgICAgICAgICAgICAgICAgICAgIGlmICgtLWZtdGNudCA+PSAwKQorICAgICAgICAgICAgICAgICAgICAgICAgYyA9ICpmbXQrKzsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgZWxzZSBpZiAoYyA+PSAwICYmIGlzZGlnaXQoYykpIHsKKyAgICAgICAgICAgICAgICAgICAgcHJlYyA9IGMgLSAnMCc7CisgICAgICAgICAgICAgICAgICAgIHdoaWxlICgtLWZtdGNudCA+PSAwKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBjID0gUHlfQ0hBUk1BU0soKmZtdCsrKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNkaWdpdChjKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwcmVjID4gKElOVF9NQVggLSAoKGludCljIC0gJzAnKSkgLyAxMCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZygKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlFeGNfVmFsdWVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInByZWMgdG9vIGJpZyIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICBwcmVjID0gcHJlYyoxMCArIChjIC0gJzAnKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0gLyogcHJlYyAqLworICAgICAgICAgICAgaWYgKGZtdGNudCA+PSAwKSB7CisgICAgICAgICAgICAgICAgaWYgKGMgPT0gJ2gnIHx8IGMgPT0gJ2wnIHx8IGMgPT0gJ0wnKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICgtLWZtdGNudCA+PSAwKQorICAgICAgICAgICAgICAgICAgICAgICAgYyA9ICpmbXQrKzsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoZm10Y250IDwgMCkgeworICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaW5jb21wbGV0ZSBmb3JtYXQiKTsKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKGMgIT0gJyUnKSB7CisgICAgICAgICAgICAgICAgdiA9IGdldG5leHRhcmcoYXJncywgYXJnbGVuLCAmYXJnaWR4KTsKKyAgICAgICAgICAgICAgICBpZiAodiA9PSBOVUxMKQorICAgICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgfQorICAgICAgICAgICAgc2lnbiA9IDA7CisgICAgICAgICAgICBmaWxsID0gJyAnOworICAgICAgICAgICAgc3dpdGNoIChjKSB7CisgICAgICAgICAgICBjYXNlICclJzoKKyAgICAgICAgICAgICAgICBwYnVmID0gIiUiOworICAgICAgICAgICAgICAgIGxlbiA9IDE7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlICdhJzoKKyAgICAgICAgICAgICAgICB0ZW1wID0gUHlPYmplY3RfUmVwcih2KTsKKyAgICAgICAgICAgICAgICBpZiAodGVtcCA9PSBOVUxMKQorICAgICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgICAgIHJlcHIgPSBQeVVuaWNvZGVfQXNFbmNvZGVkT2JqZWN0KHRlbXAsICJhc2NpaSIsICJiYWNrc2xhc2hyZXBsYWNlIik7CisgICAgICAgICAgICAgICAgaWYgKHJlcHIgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICBQeV9ERUNSRUYodGVtcCk7CisgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9HZXRCdWZmZXIocmVwciwgJmJ1ZiwgUHlCVUZfU0lNUExFKSAhPSAwKSB7CisgICAgICAgICAgICAgICAgICAgIHRlbXAgPSBmb3JtYXRfb2JqKHJlcHIpOworICAgICAgICAgICAgICAgICAgICBpZiAodGVtcCA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBQeV9ERUNSRUYocmVwcik7CisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihyZXByKTsKKyAgICAgICAgICAgICAgICAgICAgcmVwciA9IHRlbXA7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHBidWYgPSBQeUJ5dGVzX0FTX1NUUklORyhyZXByKTsKKyAgICAgICAgICAgICAgICBsZW4gPSBQeUJ5dGVzX0dFVF9TSVpFKHJlcHIpOworICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihyZXByKTsKKyAgICAgICAgICAgICAgICBpZiAocHJlYyA+PSAwICYmIGxlbiA+IHByZWMpCisgICAgICAgICAgICAgICAgICAgIGxlbiA9IHByZWM7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlICdzJzoKKyAgICAgICAgICAgICAgICAvLyAlcyBpcyBvbmx5IGZvciAyLzMgY29kZTsgMyBvbmx5IGNvZGUgc2hvdWxkIHVzZSAlYgorICAgICAgICAgICAgY2FzZSAnYic6CisgICAgICAgICAgICAgICAgdGVtcCA9IGZvcm1hdF9vYmoodik7CisgICAgICAgICAgICAgICAgaWYgKHRlbXAgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgICAgICBwYnVmID0gUHlCeXRlc19BU19TVFJJTkcodGVtcCk7CisgICAgICAgICAgICAgICAgbGVuID0gUHlCeXRlc19HRVRfU0laRSh0ZW1wKTsKKyAgICAgICAgICAgICAgICBpZiAocHJlYyA+PSAwICYmIGxlbiA+IHByZWMpCisgICAgICAgICAgICAgICAgICAgIGxlbiA9IHByZWM7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlICdpJzoKKyAgICAgICAgICAgIGNhc2UgJ2QnOgorICAgICAgICAgICAgY2FzZSAndSc6CisgICAgICAgICAgICBjYXNlICdvJzoKKyAgICAgICAgICAgIGNhc2UgJ3gnOgorICAgICAgICAgICAgY2FzZSAnWCc6CisgICAgICAgICAgICAgICAgaWYgKGMgPT0gJ2knKQorICAgICAgICAgICAgICAgICAgICBjID0gJ2QnOworICAgICAgICAgICAgICAgIGlzbnVtb2sgPSAwOworICAgICAgICAgICAgICAgIGlmIChQeU51bWJlcl9DaGVjayh2KSkgeworICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqaW9iaj1OVUxMOworCisgICAgICAgICAgICAgICAgICAgIGlmICgoUHlMb25nX0NoZWNrKHYpKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgaW9iaiA9IHY7CisgICAgICAgICAgICAgICAgICAgICAgICBQeV9JTkNSRUYoaW9iaik7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpb2JqID0gUHlOdW1iZXJfTG9uZyh2KTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBpZiAoaW9iaiE9TlVMTCkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFB5TG9uZ19DaGVjayhpb2JqKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBpbGVuOworCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNudW1vayA9IDE7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVtcCA9IGZvcm1hdF9sb25nKGlvYmosIGZsYWdzLCBwcmVjLCBjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnBidWYsICZpbGVuKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9ERUNSRUYoaW9iaik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZW1wKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbiA9IGlsZW47CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2lnbiA9IDE7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9ERUNSRUYoaW9iaik7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKCFpc251bW9rKSB7CisgICAgICAgICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAiJSUlYyBmb3JtYXQ6IGEgbnVtYmVyIGlzIHJlcXVpcmVkLCAiCisgICAgICAgICAgICAgICAgICAgICAgICAibm90ICUuMjAwcyIsIGMsIFB5X1RZUEUodiktPnRwX25hbWUpOworICAgICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBpZiAoZmxhZ3MgJiBGX1pFUk8pCisgICAgICAgICAgICAgICAgICAgIGZpbGwgPSAnMCc7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlICdlJzoKKyAgICAgICAgICAgIGNhc2UgJ0UnOgorICAgICAgICAgICAgY2FzZSAnZic6CisgICAgICAgICAgICBjYXNlICdGJzoKKyAgICAgICAgICAgIGNhc2UgJ2cnOgorICAgICAgICAgICAgY2FzZSAnRyc6CisgICAgICAgICAgICAgICAgdGVtcCA9IGZvcm1hdGZsb2F0KHYsIGZsYWdzLCBwcmVjLCBjKTsKKyAgICAgICAgICAgICAgICBpZiAodGVtcCA9PSBOVUxMKQorICAgICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgICAgIHBidWYgPSBQeUJ5dGVzX0FTX1NUUklORyh0ZW1wKTsKKyAgICAgICAgICAgICAgICBsZW4gPSBQeUJ5dGVzX0dFVF9TSVpFKHRlbXApOworICAgICAgICAgICAgICAgIHNpZ24gPSAxOworICAgICAgICAgICAgICAgIGlmIChmbGFncyAmIEZfWkVSTykKKyAgICAgICAgICAgICAgICAgICAgZmlsbCA9ICcwJzsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgJ2MnOgorICAgICAgICAgICAgICAgIHBidWYgPSBmb3JtYXRidWY7CisgICAgICAgICAgICAgICAgbGVuID0gZm9ybWF0Y2hhcihwYnVmLCBzaXplb2YoZm9ybWF0YnVmKSwgdik7CisgICAgICAgICAgICAgICAgaWYgKGxlbiA8IDApCisgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgICAgICAgInVuc3VwcG9ydGVkIGZvcm1hdCBjaGFyYWN0ZXIgJyVjJyAoMHgleCkgIgorICAgICAgICAgICAgICAgICAgImF0IGluZGV4ICV6ZCIsCisgICAgICAgICAgICAgICAgICBjLCBjLAorICAgICAgICAgICAgICAgICAgKFB5X3NzaXplX3QpKGZtdCAtIDEgLQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5Qnl0ZXNfQXNTdHJpbmcoZm9ybWF0KSkpOworICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoc2lnbikgeworICAgICAgICAgICAgICAgIGlmICgqcGJ1ZiA9PSAnLScgfHwgKnBidWYgPT0gJysnKSB7CisgICAgICAgICAgICAgICAgICAgIHNpZ24gPSAqcGJ1ZisrOworICAgICAgICAgICAgICAgICAgICBsZW4tLTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgZWxzZSBpZiAoZmxhZ3MgJiBGX1NJR04pCisgICAgICAgICAgICAgICAgICAgIHNpZ24gPSAnKyc7CisgICAgICAgICAgICAgICAgZWxzZSBpZiAoZmxhZ3MgJiBGX0JMQU5LKQorICAgICAgICAgICAgICAgICAgICBzaWduID0gJyAnOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgc2lnbiA9IDA7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAod2lkdGggPCBsZW4pCisgICAgICAgICAgICAgICAgd2lkdGggPSBsZW47CisgICAgICAgICAgICBpZiAocmVzY250IC0gKHNpZ24gIT0gMCkgPCB3aWR0aCkgeworICAgICAgICAgICAgICAgIHJlc2xlbiAtPSByZXNjbnQ7CisgICAgICAgICAgICAgICAgcmVzY250ID0gd2lkdGggKyBmbXRjbnQgKyAxMDA7CisgICAgICAgICAgICAgICAgcmVzbGVuICs9IHJlc2NudDsKKyAgICAgICAgICAgICAgICBpZiAocmVzbGVuIDwgMCkgeworICAgICAgICAgICAgICAgICAgICBQeV9ERUNSRUYocmVzdWx0KTsKKyAgICAgICAgICAgICAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmYnVmKTsKKyAgICAgICAgICAgICAgICAgICAgUHlfWERFQ1JFRih0ZW1wKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFB5RXJyX05vTWVtb3J5KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmIChfUHlCeXRlc19SZXNpemUoJnJlc3VsdCwgcmVzbGVuKSkgeworICAgICAgICAgICAgICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZidWYpOworICAgICAgICAgICAgICAgICAgICBQeV9YREVDUkVGKHRlbXApOworICAgICAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgcmVzID0gUHlCeXRlc19BU19TVFJJTkcocmVzdWx0KQorICAgICAgICAgICAgICAgICAgICArIHJlc2xlbiAtIHJlc2NudDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChzaWduKSB7CisgICAgICAgICAgICAgICAgaWYgKGZpbGwgIT0gJyAnKQorICAgICAgICAgICAgICAgICAgICAqcmVzKysgPSBzaWduOworICAgICAgICAgICAgICAgIHJlc2NudC0tOworICAgICAgICAgICAgICAgIGlmICh3aWR0aCA+IGxlbikKKyAgICAgICAgICAgICAgICAgICAgd2lkdGgtLTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmICgoZmxhZ3MgJiBGX0FMVCkgJiYgKGMgPT0gJ3gnIHx8IGMgPT0gJ1gnKSkgeworICAgICAgICAgICAgICAgIGFzc2VydChwYnVmWzBdID09ICcwJyk7CisgICAgICAgICAgICAgICAgYXNzZXJ0KHBidWZbMV0gPT0gYyk7CisgICAgICAgICAgICAgICAgaWYgKGZpbGwgIT0gJyAnKSB7CisgICAgICAgICAgICAgICAgICAgICpyZXMrKyA9ICpwYnVmKys7CisgICAgICAgICAgICAgICAgICAgICpyZXMrKyA9ICpwYnVmKys7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHJlc2NudCAtPSAyOworICAgICAgICAgICAgICAgIHdpZHRoIC09IDI7CisgICAgICAgICAgICAgICAgaWYgKHdpZHRoIDwgMCkKKyAgICAgICAgICAgICAgICAgICAgd2lkdGggPSAwOworICAgICAgICAgICAgICAgIGxlbiAtPSAyOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKHdpZHRoID4gbGVuICYmICEoZmxhZ3MgJiBGX0xKVVNUKSkgeworICAgICAgICAgICAgICAgIGRvIHsKKyAgICAgICAgICAgICAgICAgICAgLS1yZXNjbnQ7CisgICAgICAgICAgICAgICAgICAgICpyZXMrKyA9IGZpbGw7CisgICAgICAgICAgICAgICAgfSB3aGlsZSAoLS13aWR0aCA+IGxlbik7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoZmlsbCA9PSAnICcpIHsKKyAgICAgICAgICAgICAgICBpZiAoc2lnbikKKyAgICAgICAgICAgICAgICAgICAgKnJlcysrID0gc2lnbjsKKyAgICAgICAgICAgICAgICBpZiAoKGZsYWdzICYgRl9BTFQpICYmCisgICAgICAgICAgICAgICAgICAgIChjID09ICd4JyB8fCBjID09ICdYJykpIHsKKyAgICAgICAgICAgICAgICAgICAgYXNzZXJ0KHBidWZbMF0gPT0gJzAnKTsKKyAgICAgICAgICAgICAgICAgICAgYXNzZXJ0KHBidWZbMV0gPT0gYyk7CisgICAgICAgICAgICAgICAgICAgICpyZXMrKyA9ICpwYnVmKys7CisgICAgICAgICAgICAgICAgICAgICpyZXMrKyA9ICpwYnVmKys7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgUHlfTUVNQ1BZKHJlcywgcGJ1ZiwgbGVuKTsKKyAgICAgICAgICAgIHJlcyArPSBsZW47CisgICAgICAgICAgICByZXNjbnQgLT0gbGVuOworICAgICAgICAgICAgd2hpbGUgKC0td2lkdGggPj0gbGVuKSB7CisgICAgICAgICAgICAgICAgLS1yZXNjbnQ7CisgICAgICAgICAgICAgICAgKnJlcysrID0gJyAnOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKGRpY3QgJiYgKGFyZ2lkeCA8IGFyZ2xlbikgJiYgYyAhPSAnJScpIHsKKyAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5vdCBhbGwgYXJndW1lbnRzIGNvbnZlcnRlZCBkdXJpbmcgYnl0ZXMgZm9ybWF0dGluZyIpOworICAgICAgICAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJmJ1Zik7CisgICAgICAgICAgICAgICAgUHlfWERFQ1JFRih0ZW1wKTsKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgfQorICAgICAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmYnVmKTsKKyAgICAgICAgICAgIFB5X1hERUNSRUYodGVtcCk7CisgICAgICAgIH0gLyogJyUnICovCisgICAgfSAvKiB1bnRpbCBlbmQgKi8KKyAgICBpZiAoYXJnaWR4IDwgYXJnbGVuICYmICFkaWN0KSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAibm90IGFsbCBhcmd1bWVudHMgY29udmVydGVkIGR1cmluZyBieXRlcyBmb3JtYXR0aW5nIik7CisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgfQorICAgIGlmIChhcmdzX293bmVkKSB7CisgICAgICAgIFB5X0RFQ1JFRihhcmdzKTsKKyAgICB9CisgICAgaWYgKF9QeUJ5dGVzX1Jlc2l6ZSgmcmVzdWx0LCByZXNsZW4gLSByZXNjbnQpKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICByZXR1cm4gcmVzdWx0OworCisgZXJyb3I6CisgICAgUHlfREVDUkVGKHJlc3VsdCk7CisgICAgaWYgKGFyZ3Nfb3duZWQpIHsKKyAgICAgICAgUHlfREVDUkVGKGFyZ3MpOworICAgIH0KKyAgICByZXR1cm4gTlVMTDsKK30KKworLyogPS09ICovCisKIHN0YXRpYyB2b2lkCiBieXRlc19kZWFsbG9jKFB5T2JqZWN0ICpvcCkKIHsKQEAgLTU0MCw4ICsxMTkzLDggQEAKICAgICBpZiAobGVuICE9IE5VTEwpCiAgICAgICAgICpsZW4gPSBQeUJ5dGVzX0dFVF9TSVpFKG9iaik7CiAgICAgZWxzZSBpZiAoc3RybGVuKCpzKSAhPSAoc2l6ZV90KVB5Qnl0ZXNfR0VUX1NJWkUob2JqKSkgewotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkIGJ5dGVzIHdpdGggbm8gbnVsbCIpOworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICJlbWJlZGRlZCBudWxsIGJ5dGUiKTsKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KICAgICByZXR1cm4gMDsKQEAgLTk1MSw3ICsxNjA0LDcgQEAKICAgICB9CiAgICAgZWxzZSB7CiAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAiYnl0ZSBpbmRpY2VzIG11c3QgYmUgaW50ZWdlcnMsIG5vdCAlLjIwMHMiLAorICAgICAgICAgICAgICAgICAgICAgImJ5dGUgaW5kaWNlcyBtdXN0IGJlIGludGVnZXJzIG9yIHNsaWNlcywgbm90ICUuMjAwcyIsCiAgICAgICAgICAgICAgICAgICAgICBQeV9UWVBFKGl0ZW0pLT50cF9uYW1lKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQpAQCAtOTkxLDM3ICsxNjQ0LDcyIEBACiAjZGVmaW5lIFJJR0hUU1RSSVAgMQogI2RlZmluZSBCT1RIU1RSSVAgMgogCi0vKiBBcnJheXMgaW5kZXhlZCBieSBhYm92ZSAqLwotc3RhdGljIGNvbnN0IGNoYXIgKnN0cmlwZm9ybWF0W10gPSB7InxPOmxzdHJpcCIsICJ8Tzpyc3RyaXAiLCAifE86c3RyaXAifTsKKy8qW2NsaW5pYyBpbnB1dF0KK2J5dGVzLnNwbGl0CiAKLSNkZWZpbmUgU1RSSVBOQU1FKGkpIChzdHJpcGZvcm1hdFtpXSszKQorICAgIHNlcDogb2JqZWN0ID0gTm9uZQorICAgICAgICBUaGUgZGVsaW1pdGVyIGFjY29yZGluZyB3aGljaCB0byBzcGxpdCB0aGUgYnl0ZXMuCisgICAgICAgIE5vbmUgKHRoZSBkZWZhdWx0IHZhbHVlKSBtZWFucyBzcGxpdCBvbiBBU0NJSSB3aGl0ZXNwYWNlIGNoYXJhY3RlcnMKKyAgICAgICAgKHNwYWNlLCB0YWIsIHJldHVybiwgbmV3bGluZSwgZm9ybWZlZWQsIHZlcnRpY2FsIHRhYikuCisgICAgbWF4c3BsaXQ6IFB5X3NzaXplX3QgPSAtMQorICAgICAgICBNYXhpbXVtIG51bWJlciBvZiBzcGxpdHMgdG8gZG8uCisgICAgICAgIC0xICh0aGUgZGVmYXVsdCB2YWx1ZSkgbWVhbnMgbm8gbGltaXQuCiAKLVB5RG9jX1NUUlZBUihzcGxpdF9fZG9jX18sCi0iQi5zcGxpdChzZXA9Tm9uZSwgbWF4c3BsaXQ9LTEpIC0+IGxpc3Qgb2YgYnl0ZXNcblwKLVxuXAotUmV0dXJuIGEgbGlzdCBvZiB0aGUgc2VjdGlvbnMgaW4gQiwgdXNpbmcgc2VwIGFzIHRoZSBkZWxpbWl0ZXIuXG5cCi1JZiBzZXAgaXMgbm90IHNwZWNpZmllZCBvciBpcyBOb25lLCBCIGlzIHNwbGl0IG9uIEFTQ0lJIHdoaXRlc3BhY2VcblwKLWNoYXJhY3RlcnMgKHNwYWNlLCB0YWIsIHJldHVybiwgbmV3bGluZSwgZm9ybWZlZWQsIHZlcnRpY2FsIHRhYikuXG5cCi1JZiBtYXhzcGxpdCBpcyBnaXZlbiwgYXQgbW9zdCBtYXhzcGxpdCBzcGxpdHMgYXJlIGRvbmUuIik7CitSZXR1cm4gYSBsaXN0IG9mIHRoZSBzZWN0aW9ucyBpbiB0aGUgYnl0ZXMsIHVzaW5nIHNlcCBhcyB0aGUgZGVsaW1pdGVyLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnl0ZXNfc3BsaXRfX2RvY19fLAorInNwbGl0KCRzZWxmLCAvLCBzZXA9Tm9uZSwgbWF4c3BsaXQ9LTEpXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gYSBsaXN0IG9mIHRoZSBzZWN0aW9ucyBpbiB0aGUgYnl0ZXMsIHVzaW5nIHNlcCBhcyB0aGUgZGVsaW1pdGVyLlxuIgorIlxuIgorIiAgc2VwXG4iCisiICAgIFRoZSBkZWxpbWl0ZXIgYWNjb3JkaW5nIHdoaWNoIHRvIHNwbGl0IHRoZSBieXRlcy5cbiIKKyIgICAgTm9uZSAodGhlIGRlZmF1bHQgdmFsdWUpIG1lYW5zIHNwbGl0IG9uIEFTQ0lJIHdoaXRlc3BhY2UgY2hhcmFjdGVyc1xuIgorIiAgICAoc3BhY2UsIHRhYiwgcmV0dXJuLCBuZXdsaW5lLCBmb3JtZmVlZCwgdmVydGljYWwgdGFiKS5cbiIKKyIgIG1heHNwbGl0XG4iCisiICAgIE1heGltdW0gbnVtYmVyIG9mIHNwbGl0cyB0byBkby5cbiIKKyIgICAgLTEgKHRoZSBkZWZhdWx0IHZhbHVlKSBtZWFucyBubyBsaW1pdC4iKTsKKworI2RlZmluZSBCWVRFU19TUExJVF9NRVRIT0RERUYgICAgXAorICAgIHsic3BsaXQiLCAoUHlDRnVuY3Rpb24pYnl0ZXNfc3BsaXQsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBieXRlc19zcGxpdF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotYnl0ZXNfc3BsaXQoUHlCeXRlc09iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQorYnl0ZXNfc3BsaXRfaW1wbChQeUJ5dGVzT2JqZWN0KnNlbGYsIFB5T2JqZWN0ICpzZXAsIFB5X3NzaXplX3QgbWF4c3BsaXQpOworCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZXNfc3BsaXQoUHlCeXRlc09iamVjdCpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKLSAgICBzdGF0aWMgY2hhciAqa3dsaXN0W10gPSB7InNlcCIsICJtYXhzcGxpdCIsIDB9OwotICAgIFB5X3NzaXplX3QgbGVuID0gUHlCeXRlc19HRVRfU0laRShzZWxmKSwgbjsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InNlcCIsICJtYXhzcGxpdCIsIE5VTEx9OworICAgIFB5T2JqZWN0ICpzZXAgPSBQeV9Ob25lOwogICAgIFB5X3NzaXplX3QgbWF4c3BsaXQgPSAtMTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgInxPbjpzcGxpdCIsIF9rZXl3b3JkcywKKyAgICAgICAgJnNlcCwgJm1heHNwbGl0KSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGJ5dGVzX3NwbGl0X2ltcGwoc2VsZiwgc2VwLCBtYXhzcGxpdCk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVzX3NwbGl0X2ltcGwoUHlCeXRlc09iamVjdCpzZWxmLCBQeU9iamVjdCAqc2VwLCBQeV9zc2l6ZV90IG1heHNwbGl0KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWM4MGE0N2FmZGQ1MDU5NzUgaW5wdXQ9OGI4MDliMzkwNzRhYmJmYV0qLworeworICAgIFB5X3NzaXplX3QgbGVuID0gUHlCeXRlc19HRVRfU0laRShzZWxmKSwgbjsKICAgICBjb25zdCBjaGFyICpzID0gUHlCeXRlc19BU19TVFJJTkcoc2VsZiksICpzdWI7CiAgICAgUHlfYnVmZmVyIHZzdWI7Ci0gICAgUHlPYmplY3QgKmxpc3QsICpzdWJvYmogPSBQeV9Ob25lOworICAgIFB5T2JqZWN0ICpsaXN0OwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgInxPbjpzcGxpdCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga3dsaXN0LCAmc3Vib2JqLCAmbWF4c3BsaXQpKQotICAgICAgICByZXR1cm4gTlVMTDsKICAgICBpZiAobWF4c3BsaXQgPCAwKQogICAgICAgICBtYXhzcGxpdCA9IFBZX1NTSVpFX1RfTUFYOwotICAgIGlmIChzdWJvYmogPT0gUHlfTm9uZSkKKyAgICBpZiAoc2VwID09IFB5X05vbmUpCiAgICAgICAgIHJldHVybiBzdHJpbmdsaWJfc3BsaXRfd2hpdGVzcGFjZSgoUHlPYmplY3QqKSBzZWxmLCBzLCBsZW4sIG1heHNwbGl0KTsKLSAgICBpZiAoUHlPYmplY3RfR2V0QnVmZmVyKHN1Ym9iaiwgJnZzdWIsIFB5QlVGX1NJTVBMRSkgIT0gMCkKKyAgICBpZiAoUHlPYmplY3RfR2V0QnVmZmVyKHNlcCwgJnZzdWIsIFB5QlVGX1NJTVBMRSkgIT0gMCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgc3ViID0gdnN1Yi5idWY7CiAgICAgbiA9IHZzdWIubGVuOwpAQCAtMTAzMSw4NSArMTcxOSwyMDIgQEAKICAgICByZXR1cm4gbGlzdDsKIH0KIAotUHlEb2NfU1RSVkFSKHBhcnRpdGlvbl9fZG9jX18sCi0iQi5wYXJ0aXRpb24oc2VwKSAtPiAoaGVhZCwgc2VwLCB0YWlsKVxuXAotXG5cCi1TZWFyY2ggZm9yIHRoZSBzZXBhcmF0b3Igc2VwIGluIEIsIGFuZCByZXR1cm4gdGhlIHBhcnQgYmVmb3JlIGl0LFxuXAotdGhlIHNlcGFyYXRvciBpdHNlbGYsIGFuZCB0aGUgcGFydCBhZnRlciBpdC4gIElmIHRoZSBzZXBhcmF0b3IgaXMgbm90XG5cCi1mb3VuZCwgcmV0dXJucyBCIGFuZCB0d28gZW1wdHkgYnl0ZXMgb2JqZWN0cy4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2J5dGVzLnBhcnRpdGlvbgorCisgICAgc2VsZjogc2VsZih0eXBlPSJQeUJ5dGVzT2JqZWN0ICoiKQorICAgIHNlcDogUHlfYnVmZmVyCisgICAgLworCitQYXJ0aXRpb24gdGhlIGJ5dGVzIGludG8gdGhyZWUgcGFydHMgdXNpbmcgdGhlIGdpdmVuIHNlcGFyYXRvci4KKworVGhpcyB3aWxsIHNlYXJjaCBmb3IgdGhlIHNlcGFyYXRvciBzZXAgaW4gdGhlIGJ5dGVzLiBJZiB0aGUgc2VwYXJhdG9yIGlzIGZvdW5kLAorcmV0dXJucyBhIDMtdHVwbGUgY29udGFpbmluZyB0aGUgcGFydCBiZWZvcmUgdGhlIHNlcGFyYXRvciwgdGhlIHNlcGFyYXRvcgoraXRzZWxmLCBhbmQgdGhlIHBhcnQgYWZ0ZXIgaXQuCisKK0lmIHRoZSBzZXBhcmF0b3IgaXMgbm90IGZvdW5kLCByZXR1cm5zIGEgMy10dXBsZSBjb250YWluaW5nIHRoZSBvcmlnaW5hbCBieXRlcworb2JqZWN0IGFuZCB0d28gZW1wdHkgYnl0ZXMgb2JqZWN0cy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ5dGVzX3BhcnRpdGlvbl9fZG9jX18sCisicGFydGl0aW9uKCRzZWxmLCBzZXAsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJQYXJ0aXRpb24gdGhlIGJ5dGVzIGludG8gdGhyZWUgcGFydHMgdXNpbmcgdGhlIGdpdmVuIHNlcGFyYXRvci5cbiIKKyJcbiIKKyJUaGlzIHdpbGwgc2VhcmNoIGZvciB0aGUgc2VwYXJhdG9yIHNlcCBpbiB0aGUgYnl0ZXMuIElmIHRoZSBzZXBhcmF0b3IgaXMgZm91bmQsXG4iCisicmV0dXJucyBhIDMtdHVwbGUgY29udGFpbmluZyB0aGUgcGFydCBiZWZvcmUgdGhlIHNlcGFyYXRvciwgdGhlIHNlcGFyYXRvclxuIgorIml0c2VsZiwgYW5kIHRoZSBwYXJ0IGFmdGVyIGl0LlxuIgorIlxuIgorIklmIHRoZSBzZXBhcmF0b3IgaXMgbm90IGZvdW5kLCByZXR1cm5zIGEgMy10dXBsZSBjb250YWluaW5nIHRoZSBvcmlnaW5hbCBieXRlc1xuIgorIm9iamVjdCBhbmQgdHdvIGVtcHR5IGJ5dGVzIG9iamVjdHMuIik7CisKKyNkZWZpbmUgQllURVNfUEFSVElUSU9OX01FVEhPRERFRiAgICBcCisgICAgeyJwYXJ0aXRpb24iLCAoUHlDRnVuY3Rpb24pYnl0ZXNfcGFydGl0aW9uLCBNRVRIX1ZBUkFSR1MsIGJ5dGVzX3BhcnRpdGlvbl9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotYnl0ZXNfcGFydGl0aW9uKFB5Qnl0ZXNPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpzZXBfb2JqKQorYnl0ZXNfcGFydGl0aW9uX2ltcGwoUHlCeXRlc09iamVjdCAqc2VsZiwgUHlfYnVmZmVyICpzZXApOworCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZXNfcGFydGl0aW9uKFB5Qnl0ZXNPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogeworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwogICAgIFB5X2J1ZmZlciBzZXAgPSB7TlVMTCwgTlVMTH07Ci0gICAgUHlPYmplY3QgKnJlczsKIAotICAgIGlmIChQeU9iamVjdF9HZXRCdWZmZXIoc2VwX29iaiwgJnNlcCwgUHlCVUZfU0lNUExFKSAhPSAwKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgInkqOnBhcnRpdGlvbiIsCisgICAgICAgICZzZXApKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYnl0ZXNfcGFydGl0aW9uX2ltcGwoc2VsZiwgJnNlcCk7CiAKLSAgICByZXMgPSBzdHJpbmdsaWJfcGFydGl0aW9uKAotICAgICAgICAoUHlPYmplY3QqKSBzZWxmLAotICAgICAgICBQeUJ5dGVzX0FTX1NUUklORyhzZWxmKSwgUHlCeXRlc19HRVRfU0laRShzZWxmKSwKLSAgICAgICAgc2VwX29iaiwgc2VwLmJ1Ziwgc2VwLmxlbgotICAgICAgICApOwotICAgIFB5QnVmZmVyX1JlbGVhc2UoJnNlcCk7Ci0gICAgcmV0dXJuIHJlczsKK2V4aXQ6CisgICAgLyogQ2xlYW51cCBmb3Igc2VwICovCisgICAgaWYgKHNlcC5vYmopCisgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmc2VwKTsKKworICAgIHJldHVybiByZXR1cm5fdmFsdWU7CiB9CiAKLVB5RG9jX1NUUlZBUihycGFydGl0aW9uX19kb2NfXywKLSJCLnJwYXJ0aXRpb24oc2VwKSAtPiAoaGVhZCwgc2VwLCB0YWlsKVxuXAotXG5cCi1TZWFyY2ggZm9yIHRoZSBzZXBhcmF0b3Igc2VwIGluIEIsIHN0YXJ0aW5nIGF0IHRoZSBlbmQgb2YgQixcblwKLWFuZCByZXR1cm4gdGhlIHBhcnQgYmVmb3JlIGl0LCB0aGUgc2VwYXJhdG9yIGl0c2VsZiwgYW5kIHRoZVxuXAotcGFydCBhZnRlciBpdC4gIElmIHRoZSBzZXBhcmF0b3IgaXMgbm90IGZvdW5kLCByZXR1cm5zIHR3byBlbXB0eVxuXAotYnl0ZXMgb2JqZWN0cyBhbmQgQi4iKTsKLQogc3RhdGljIFB5T2JqZWN0ICoKLWJ5dGVzX3JwYXJ0aXRpb24oUHlCeXRlc09iamVjdCAqc2VsZiwgUHlPYmplY3QgKnNlcF9vYmopCitieXRlc19wYXJ0aXRpb25faW1wbChQeUJ5dGVzT2JqZWN0ICpzZWxmLCBQeV9idWZmZXIgKnNlcCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0zMDA2NzI3Y2ZiZjgzYWE0IGlucHV0PWJjODU1ZGM2M2NhOTQ5ZGVdKi8KIHsKLSAgICBQeV9idWZmZXIgc2VwID0ge05VTEwsIE5VTEx9OwotICAgIFB5T2JqZWN0ICpyZXM7Ci0KLSAgICBpZiAoUHlPYmplY3RfR2V0QnVmZmVyKHNlcF9vYmosICZzZXAsIFB5QlVGX1NJTVBMRSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KLSAgICByZXMgPSBzdHJpbmdsaWJfcnBhcnRpdGlvbigKKyAgICByZXR1cm4gc3RyaW5nbGliX3BhcnRpdGlvbigKICAgICAgICAgKFB5T2JqZWN0Kikgc2VsZiwKICAgICAgICAgUHlCeXRlc19BU19TVFJJTkcoc2VsZiksIFB5Qnl0ZXNfR0VUX1NJWkUoc2VsZiksCi0gICAgICAgIHNlcF9vYmosIHNlcC5idWYsIHNlcC5sZW4KKyAgICAgICAgc2VwLT5vYmosIChjb25zdCBjaGFyICopc2VwLT5idWYsIHNlcC0+bGVuCiAgICAgICAgICk7Ci0gICAgUHlCdWZmZXJfUmVsZWFzZSgmc2VwKTsKLSAgICByZXR1cm4gcmVzOwogfQogCi1QeURvY19TVFJWQVIocnNwbGl0X19kb2NfXywKLSJCLnJzcGxpdChzZXA9Tm9uZSwgbWF4c3BsaXQ9LTEpIC0+IGxpc3Qgb2YgYnl0ZXNcblwKLVxuXAotUmV0dXJuIGEgbGlzdCBvZiB0aGUgc2VjdGlvbnMgaW4gQiwgdXNpbmcgc2VwIGFzIHRoZSBkZWxpbWl0ZXIsXG5cCi1zdGFydGluZyBhdCB0aGUgZW5kIG9mIEIgYW5kIHdvcmtpbmcgdG8gdGhlIGZyb250LlxuXAotSWYgc2VwIGlzIG5vdCBnaXZlbiwgQiBpcyBzcGxpdCBvbiBBU0NJSSB3aGl0ZXNwYWNlIGNoYXJhY3RlcnNcblwKLShzcGFjZSwgdGFiLCByZXR1cm4sIG5ld2xpbmUsIGZvcm1mZWVkLCB2ZXJ0aWNhbCB0YWIpLlxuXAotSWYgbWF4c3BsaXQgaXMgZ2l2ZW4sIGF0IG1vc3QgbWF4c3BsaXQgc3BsaXRzIGFyZSBkb25lLiIpOworLypbY2xpbmljIGlucHV0XQorYnl0ZXMucnBhcnRpdGlvbgogCisgICAgc2VsZjogc2VsZih0eXBlPSJQeUJ5dGVzT2JqZWN0ICoiKQorICAgIHNlcDogUHlfYnVmZmVyCisgICAgLworCitQYXJ0aXRpb24gdGhlIGJ5dGVzIGludG8gdGhyZWUgcGFydHMgdXNpbmcgdGhlIGdpdmVuIHNlcGFyYXRvci4KKworVGhpcyB3aWxsIHNlYXJjaCBmb3IgdGhlIHNlcGFyYXRvciBzZXAgaW4gdGhlIGJ5dGVzLCBzdGFydGluZyBhbmQgdGhlIGVuZC4gSWYKK3RoZSBzZXBhcmF0b3IgaXMgZm91bmQsIHJldHVybnMgYSAzLXR1cGxlIGNvbnRhaW5pbmcgdGhlIHBhcnQgYmVmb3JlIHRoZQorc2VwYXJhdG9yLCB0aGUgc2VwYXJhdG9yIGl0c2VsZiwgYW5kIHRoZSBwYXJ0IGFmdGVyIGl0LgorCitJZiB0aGUgc2VwYXJhdG9yIGlzIG5vdCBmb3VuZCwgcmV0dXJucyBhIDMtdHVwbGUgY29udGFpbmluZyB0d28gZW1wdHkgYnl0ZXMKK29iamVjdHMgYW5kIHRoZSBvcmlnaW5hbCBieXRlcyBvYmplY3QuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihieXRlc19ycGFydGl0aW9uX19kb2NfXywKKyJycGFydGl0aW9uKCRzZWxmLCBzZXAsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJQYXJ0aXRpb24gdGhlIGJ5dGVzIGludG8gdGhyZWUgcGFydHMgdXNpbmcgdGhlIGdpdmVuIHNlcGFyYXRvci5cbiIKKyJcbiIKKyJUaGlzIHdpbGwgc2VhcmNoIGZvciB0aGUgc2VwYXJhdG9yIHNlcCBpbiB0aGUgYnl0ZXMsIHN0YXJ0aW5nIGFuZCB0aGUgZW5kLiBJZlxuIgorInRoZSBzZXBhcmF0b3IgaXMgZm91bmQsIHJldHVybnMgYSAzLXR1cGxlIGNvbnRhaW5pbmcgdGhlIHBhcnQgYmVmb3JlIHRoZVxuIgorInNlcGFyYXRvciwgdGhlIHNlcGFyYXRvciBpdHNlbGYsIGFuZCB0aGUgcGFydCBhZnRlciBpdC5cbiIKKyJcbiIKKyJJZiB0aGUgc2VwYXJhdG9yIGlzIG5vdCBmb3VuZCwgcmV0dXJucyBhIDMtdHVwbGUgY29udGFpbmluZyB0d28gZW1wdHkgYnl0ZXNcbiIKKyJvYmplY3RzIGFuZCB0aGUgb3JpZ2luYWwgYnl0ZXMgb2JqZWN0LiIpOworCisjZGVmaW5lIEJZVEVTX1JQQVJUSVRJT05fTUVUSE9EREVGICAgIFwKKyAgICB7InJwYXJ0aXRpb24iLCAoUHlDRnVuY3Rpb24pYnl0ZXNfcnBhcnRpdGlvbiwgTUVUSF9WQVJBUkdTLCBieXRlc19ycGFydGl0aW9uX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1ieXRlc19yc3BsaXQoUHlCeXRlc09iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQorYnl0ZXNfcnBhcnRpdGlvbl9pbXBsKFB5Qnl0ZXNPYmplY3QgKnNlbGYsIFB5X2J1ZmZlciAqc2VwKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVzX3JwYXJ0aXRpb24oUHlCeXRlc09iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgc3RhdGljIGNoYXIgKmt3bGlzdFtdID0geyJzZXAiLCAibWF4c3BsaXQiLCAwfTsKLSAgICBQeV9zc2l6ZV90IGxlbiA9IFB5Qnl0ZXNfR0VUX1NJWkUoc2VsZiksIG47CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlfYnVmZmVyIHNlcCA9IHtOVUxMLCBOVUxMfTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAieSo6cnBhcnRpdGlvbiIsCisgICAgICAgICZzZXApKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYnl0ZXNfcnBhcnRpdGlvbl9pbXBsKHNlbGYsICZzZXApOworCitleGl0OgorICAgIC8qIENsZWFudXAgZm9yIHNlcCAqLworICAgIGlmIChzZXAub2JqKQorICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJnNlcCk7CisKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZXNfcnBhcnRpdGlvbl9pbXBsKFB5Qnl0ZXNPYmplY3QgKnNlbGYsIFB5X2J1ZmZlciAqc2VwKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTU3YjE2OWRjNDdmYTkwZTggaW5wdXQ9NjU4OGZmZjI2MmE5MTcwZV0qLworeworICAgIHJldHVybiBzdHJpbmdsaWJfcnBhcnRpdGlvbigKKyAgICAgICAgKFB5T2JqZWN0Kikgc2VsZiwKKyAgICAgICAgUHlCeXRlc19BU19TVFJJTkcoc2VsZiksIFB5Qnl0ZXNfR0VUX1NJWkUoc2VsZiksCisgICAgICAgIHNlcC0+b2JqLCAoY29uc3QgY2hhciAqKXNlcC0+YnVmLCBzZXAtPmxlbgorICAgICAgICApOworfQorCisvKltjbGluaWMgaW5wdXRdCitieXRlcy5yc3BsaXQgPSBieXRlcy5zcGxpdAorCitSZXR1cm4gYSBsaXN0IG9mIHRoZSBzZWN0aW9ucyBpbiB0aGUgYnl0ZXMsIHVzaW5nIHNlcCBhcyB0aGUgZGVsaW1pdGVyLgorCitTcGxpdHRpbmcgaXMgZG9uZSBzdGFydGluZyBhdCB0aGUgZW5kIG9mIHRoZSBieXRlcyBhbmQgd29ya2luZyB0byB0aGUgZnJvbnQuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihieXRlc19yc3BsaXRfX2RvY19fLAorInJzcGxpdCgkc2VsZiwgLywgc2VwPU5vbmUsIG1heHNwbGl0PS0xKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGEgbGlzdCBvZiB0aGUgc2VjdGlvbnMgaW4gdGhlIGJ5dGVzLCB1c2luZyBzZXAgYXMgdGhlIGRlbGltaXRlci5cbiIKKyJcbiIKKyIgIHNlcFxuIgorIiAgICBUaGUgZGVsaW1pdGVyIGFjY29yZGluZyB3aGljaCB0byBzcGxpdCB0aGUgYnl0ZXMuXG4iCisiICAgIE5vbmUgKHRoZSBkZWZhdWx0IHZhbHVlKSBtZWFucyBzcGxpdCBvbiBBU0NJSSB3aGl0ZXNwYWNlIGNoYXJhY3RlcnNcbiIKKyIgICAgKHNwYWNlLCB0YWIsIHJldHVybiwgbmV3bGluZSwgZm9ybWZlZWQsIHZlcnRpY2FsIHRhYikuXG4iCisiICBtYXhzcGxpdFxuIgorIiAgICBNYXhpbXVtIG51bWJlciBvZiBzcGxpdHMgdG8gZG8uXG4iCisiICAgIC0xICh0aGUgZGVmYXVsdCB2YWx1ZSkgbWVhbnMgbm8gbGltaXQuXG4iCisiXG4iCisiU3BsaXR0aW5nIGlzIGRvbmUgc3RhcnRpbmcgYXQgdGhlIGVuZCBvZiB0aGUgYnl0ZXMgYW5kIHdvcmtpbmcgdG8gdGhlIGZyb250LiIpOworCisjZGVmaW5lIEJZVEVTX1JTUExJVF9NRVRIT0RERUYgICAgXAorICAgIHsicnNwbGl0IiwgKFB5Q0Z1bmN0aW9uKWJ5dGVzX3JzcGxpdCwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIGJ5dGVzX3JzcGxpdF9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZXNfcnNwbGl0X2ltcGwoUHlCeXRlc09iamVjdCpzZWxmLCBQeU9iamVjdCAqc2VwLCBQeV9zc2l6ZV90IG1heHNwbGl0KTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVzX3JzcGxpdChQeUJ5dGVzT2JqZWN0KnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsic2VwIiwgIm1heHNwbGl0IiwgTlVMTH07CisgICAgUHlPYmplY3QgKnNlcCA9IFB5X05vbmU7CiAgICAgUHlfc3NpemVfdCBtYXhzcGxpdCA9IC0xOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAifE9uOnJzcGxpdCIsIF9rZXl3b3JkcywKKyAgICAgICAgJnNlcCwgJm1heHNwbGl0KSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGJ5dGVzX3JzcGxpdF9pbXBsKHNlbGYsIHNlcCwgbWF4c3BsaXQpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlc19yc3BsaXRfaW1wbChQeUJ5dGVzT2JqZWN0KnNlbGYsIFB5T2JqZWN0ICpzZXAsIFB5X3NzaXplX3QgbWF4c3BsaXQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9Zjg2ZmVkZGVkYmQ3YjI2ZCBpbnB1dD0wZjg2YzlmMjhmN2Q3YjdiXSovCit7CisgICAgUHlfc3NpemVfdCBsZW4gPSBQeUJ5dGVzX0dFVF9TSVpFKHNlbGYpLCBuOwogICAgIGNvbnN0IGNoYXIgKnMgPSBQeUJ5dGVzX0FTX1NUUklORyhzZWxmKSwgKnN1YjsKICAgICBQeV9idWZmZXIgdnN1YjsKLSAgICBQeU9iamVjdCAqbGlzdCwgKnN1Ym9iaiA9IFB5X05vbmU7CisgICAgUHlPYmplY3QgKmxpc3Q7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAifE9uOnJzcGxpdCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga3dsaXN0LCAmc3Vib2JqLCAmbWF4c3BsaXQpKQotICAgICAgICByZXR1cm4gTlVMTDsKICAgICBpZiAobWF4c3BsaXQgPCAwKQogICAgICAgICBtYXhzcGxpdCA9IFBZX1NTSVpFX1RfTUFYOwotICAgIGlmIChzdWJvYmogPT0gUHlfTm9uZSkKKyAgICBpZiAoc2VwID09IFB5X05vbmUpCiAgICAgICAgIHJldHVybiBzdHJpbmdsaWJfcnNwbGl0X3doaXRlc3BhY2UoKFB5T2JqZWN0Kikgc2VsZiwgcywgbGVuLCBtYXhzcGxpdCk7Ci0gICAgaWYgKFB5T2JqZWN0X0dldEJ1ZmZlcihzdWJvYmosICZ2c3ViLCBQeUJVRl9TSU1QTEUpICE9IDApCisgICAgaWYgKFB5T2JqZWN0X0dldEJ1ZmZlcihzZXAsICZ2c3ViLCBQeUJVRl9TSU1QTEUpICE9IDApCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIHN1YiA9IHZzdWIuYnVmOwogICAgIG4gPSB2c3ViLmxlbjsKQEAgLTExMjAsMTYgKzE5MjUsNDEgQEAKIH0KIAogCi1QeURvY19TVFJWQVIoam9pbl9fZG9jX18sCi0iQi5qb2luKGl0ZXJhYmxlX29mX2J5dGVzKSAtPiBieXRlc1xuXAotXG5cCi1Db25jYXRlbmF0ZSBhbnkgbnVtYmVyIG9mIGJ5dGVzIG9iamVjdHMsIHdpdGggQiBpbiBiZXR3ZWVuIGVhY2ggcGFpci5cblwKLUV4YW1wbGU6IGInLicuam9pbihbYidhYicsIGIncHEnLCBiJ3JzJ10pIC0+IGInYWIucHEucnMnLiIpOworLypbY2xpbmljIGlucHV0XQorYnl0ZXMuam9pbgorCisgICAgaXRlcmFibGVfb2ZfYnl0ZXM6IG9iamVjdAorICAgIC8KKworQ29uY2F0ZW5hdGUgYW55IG51bWJlciBvZiBieXRlcyBvYmplY3RzLgorCitUaGUgYnl0ZXMgd2hvc2UgbWV0aG9kIGlzIGNhbGxlZCBpcyBpbnNlcnRlZCBpbiBiZXR3ZWVuIGVhY2ggcGFpci4KKworVGhlIHJlc3VsdCBpcyByZXR1cm5lZCBhcyBhIG5ldyBieXRlcyBvYmplY3QuCisKK0V4YW1wbGU6IGInLicuam9pbihbYidhYicsIGIncHEnLCBiJ3JzJ10pIC0+IGInYWIucHEucnMnLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnl0ZXNfam9pbl9fZG9jX18sCisiam9pbigkc2VsZiwgaXRlcmFibGVfb2ZfYnl0ZXMsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJDb25jYXRlbmF0ZSBhbnkgbnVtYmVyIG9mIGJ5dGVzIG9iamVjdHMuXG4iCisiXG4iCisiVGhlIGJ5dGVzIHdob3NlIG1ldGhvZCBpcyBjYWxsZWQgaXMgaW5zZXJ0ZWQgaW4gYmV0d2VlbiBlYWNoIHBhaXIuXG4iCisiXG4iCisiVGhlIHJlc3VsdCBpcyByZXR1cm5lZCBhcyBhIG5ldyBieXRlcyBvYmplY3QuXG4iCisiXG4iCisiRXhhbXBsZTogYlwnLlwnLmpvaW4oW2JcJ2FiXCcsIGJcJ3BxXCcsIGJcJ3JzXCddKSAtPiBiXCdhYi5wcS5yc1wnLiIpOworCisjZGVmaW5lIEJZVEVTX0pPSU5fTUVUSE9EREVGICAgIFwKKyAgICB7ImpvaW4iLCAoUHlDRnVuY3Rpb24pYnl0ZXNfam9pbiwgTUVUSF9PLCBieXRlc19qb2luX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1ieXRlc19qb2luKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqaXRlcmFibGUpCitieXRlc19qb2luKFB5Qnl0ZXNPYmplY3Qqc2VsZiwgUHlPYmplY3QgKml0ZXJhYmxlX29mX2J5dGVzKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWU1NDFhMTRhOGRhOTc5MDggaW5wdXQ9N2ZlMzc3Yjk1YmQ1NDlkMl0qLwogewotICAgIHJldHVybiBzdHJpbmdsaWJfYnl0ZXNfam9pbihzZWxmLCBpdGVyYWJsZSk7CisgICAgcmV0dXJuIHN0cmluZ2xpYl9ieXRlc19qb2luKChQeU9iamVjdCopc2VsZiwgaXRlcmFibGVfb2ZfYnl0ZXMpOwogfQogCiBQeU9iamVjdCAqCkBAIC0xMTM3LDcgKzE5NjcsNyBAQAogewogICAgIGFzc2VydChzZXAgIT0gTlVMTCAmJiBQeUJ5dGVzX0NoZWNrKHNlcCkpOwogICAgIGFzc2VydCh4ICE9IE5VTEwpOwotICAgIHJldHVybiBieXRlc19qb2luKHNlcCwgeCk7CisgICAgcmV0dXJuIGJ5dGVzX2pvaW4oKFB5Qnl0ZXNPYmplY3QqKXNlcCwgeCk7CiB9CiAKIC8qIGhlbHBlciBtYWNybyB0byBmaXh1cCBzdGFydC9lbmQgc2xpY2UgdmFsdWVzICovCkBAIC0xMzQ4LDYyICsyMTc4LDE1OSBAQAogCiAKIFB5X0xPQ0FMX0lOTElORShQeU9iamVjdCAqKQotZG9fYXJnc3RyaXAoUHlCeXRlc09iamVjdCAqc2VsZiwgaW50IHN0cmlwdHlwZSwgUHlPYmplY3QgKmFyZ3MpCitkb19hcmdzdHJpcChQeUJ5dGVzT2JqZWN0ICpzZWxmLCBpbnQgc3RyaXB0eXBlLCBQeU9iamVjdCAqYnl0ZXMpCiB7Ci0gICAgUHlPYmplY3QgKnNlcCA9IE5VTEw7Ci0KLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgc3RyaXBmb3JtYXRbc3RyaXB0eXBlXSwgJnNlcCkpCi0gICAgICAgIHJldHVybiBOVUxMOwotCi0gICAgaWYgKHNlcCAhPSBOVUxMICYmIHNlcCAhPSBQeV9Ob25lKSB7Ci0gICAgICAgIHJldHVybiBkb194c3RyaXAoc2VsZiwgc3RyaXB0eXBlLCBzZXApOworICAgIGlmIChieXRlcyAhPSBOVUxMICYmIGJ5dGVzICE9IFB5X05vbmUpIHsKKyAgICAgICAgcmV0dXJuIGRvX3hzdHJpcChzZWxmLCBzdHJpcHR5cGUsIGJ5dGVzKTsKICAgICB9CiAgICAgcmV0dXJuIGRvX3N0cmlwKHNlbGYsIHN0cmlwdHlwZSk7CiB9CiAKKy8qW2NsaW5pYyBpbnB1dF0KK2J5dGVzLnN0cmlwCiAKLVB5RG9jX1NUUlZBUihzdHJpcF9fZG9jX18sCi0iQi5zdHJpcChbYnl0ZXNdKSAtPiBieXRlc1xuXAotXG5cCi1TdHJpcCBsZWFkaW5nIGFuZCB0cmFpbGluZyBieXRlcyBjb250YWluZWQgaW4gdGhlIGFyZ3VtZW50LlxuXAotSWYgdGhlIGFyZ3VtZW50IGlzIG9taXR0ZWQsIHN0cmlwIGxlYWRpbmcgYW5kIHRyYWlsaW5nIEFTQ0lJIHdoaXRlc3BhY2UuIik7CisgICAgc2VsZjogc2VsZih0eXBlPSJQeUJ5dGVzT2JqZWN0ICoiKQorICAgIGJ5dGVzOiBvYmplY3QgPSBOb25lCisgICAgLworCitTdHJpcCBsZWFkaW5nIGFuZCB0cmFpbGluZyBieXRlcyBjb250YWluZWQgaW4gdGhlIGFyZ3VtZW50LgorCitJZiB0aGUgYXJndW1lbnQgaXMgb21pdHRlZCBvciBOb25lLCBzdHJpcCBsZWFkaW5nIGFuZCB0cmFpbGluZyBBU0NJSSB3aGl0ZXNwYWNlLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnl0ZXNfc3RyaXBfX2RvY19fLAorInN0cmlwKCRzZWxmLCBieXRlcz1Ob25lLCAvKVxuIgorIi0tXG4iCisiXG4iCisiU3RyaXAgbGVhZGluZyBhbmQgdHJhaWxpbmcgYnl0ZXMgY29udGFpbmVkIGluIHRoZSBhcmd1bWVudC5cbiIKKyJcbiIKKyJJZiB0aGUgYXJndW1lbnQgaXMgb21pdHRlZCBvciBOb25lLCBzdHJpcCBsZWFkaW5nIGFuZCB0cmFpbGluZyBBU0NJSSB3aGl0ZXNwYWNlLiIpOworCisjZGVmaW5lIEJZVEVTX1NUUklQX01FVEhPRERFRiAgICBcCisgICAgeyJzdHJpcCIsIChQeUNGdW5jdGlvbilieXRlc19zdHJpcCwgTUVUSF9WQVJBUkdTLCBieXRlc19zdHJpcF9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZXNfc3RyaXBfaW1wbChQeUJ5dGVzT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYnl0ZXMpOworCiBzdGF0aWMgUHlPYmplY3QgKgogYnl0ZXNfc3RyaXAoUHlCeXRlc09iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgaWYgKFB5VHVwbGVfR0VUX1NJWkUoYXJncykgPT0gMCkKLSAgICAgICAgcmV0dXJuIGRvX3N0cmlwKHNlbGYsIEJPVEhTVFJJUCk7IC8qIENvbW1vbiBjYXNlICovCi0gICAgZWxzZQotICAgICAgICByZXR1cm4gZG9fYXJnc3RyaXAoc2VsZiwgQk9USFNUUklQLCBhcmdzKTsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeU9iamVjdCAqYnl0ZXMgPSBQeV9Ob25lOworCisgICAgaWYgKCFQeUFyZ19VbnBhY2tUdXBsZShhcmdzLCAic3RyaXAiLAorICAgICAgICAwLCAxLAorICAgICAgICAmYnl0ZXMpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYnl0ZXNfc3RyaXBfaW1wbChzZWxmLCBieXRlcyk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKIH0KIAorc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVzX3N0cmlwX2ltcGwoUHlCeXRlc09iamVjdCAqc2VsZiwgUHlPYmplY3QgKmJ5dGVzKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWM4MjM0YTU5OWJhNWVjMzUgaW5wdXQ9MzdkYWE1ZmFkMTM5NWQ5NV0qLworeworICAgIHJldHVybiBkb19hcmdzdHJpcChzZWxmLCBCT1RIU1RSSVAsIGJ5dGVzKTsKK30KIAotUHlEb2NfU1RSVkFSKGxzdHJpcF9fZG9jX18sCi0iQi5sc3RyaXAoW2J5dGVzXSkgLT4gYnl0ZXNcblwKLVxuXAotU3RyaXAgbGVhZGluZyBieXRlcyBjb250YWluZWQgaW4gdGhlIGFyZ3VtZW50LlxuXAotSWYgdGhlIGFyZ3VtZW50IGlzIG9taXR0ZWQsIHN0cmlwIGxlYWRpbmcgQVNDSUkgd2hpdGVzcGFjZS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2J5dGVzLmxzdHJpcAorCisgICAgc2VsZjogc2VsZih0eXBlPSJQeUJ5dGVzT2JqZWN0ICoiKQorICAgIGJ5dGVzOiBvYmplY3QgPSBOb25lCisgICAgLworCitTdHJpcCBsZWFkaW5nIGJ5dGVzIGNvbnRhaW5lZCBpbiB0aGUgYXJndW1lbnQuCisKK0lmIHRoZSBhcmd1bWVudCBpcyBvbWl0dGVkIG9yIE5vbmUsIHN0cmlwIGxlYWRpbmcgIEFTQ0lJIHdoaXRlc3BhY2UuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihieXRlc19sc3RyaXBfX2RvY19fLAorImxzdHJpcCgkc2VsZiwgYnl0ZXM9Tm9uZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlN0cmlwIGxlYWRpbmcgYnl0ZXMgY29udGFpbmVkIGluIHRoZSBhcmd1bWVudC5cbiIKKyJcbiIKKyJJZiB0aGUgYXJndW1lbnQgaXMgb21pdHRlZCBvciBOb25lLCBzdHJpcCBsZWFkaW5nICBBU0NJSSB3aGl0ZXNwYWNlLiIpOworCisjZGVmaW5lIEJZVEVTX0xTVFJJUF9NRVRIT0RERUYgICAgXAorICAgIHsibHN0cmlwIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVzX2xzdHJpcCwgTUVUSF9WQVJBUkdTLCBieXRlc19sc3RyaXBfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVzX2xzdHJpcF9pbXBsKFB5Qnl0ZXNPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpieXRlcyk7CisKIHN0YXRpYyBQeU9iamVjdCAqCiBieXRlc19sc3RyaXAoUHlCeXRlc09iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgaWYgKFB5VHVwbGVfR0VUX1NJWkUoYXJncykgPT0gMCkKLSAgICAgICAgcmV0dXJuIGRvX3N0cmlwKHNlbGYsIExFRlRTVFJJUCk7IC8qIENvbW1vbiBjYXNlICovCi0gICAgZWxzZQotICAgICAgICByZXR1cm4gZG9fYXJnc3RyaXAoc2VsZiwgTEVGVFNUUklQLCBhcmdzKTsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeU9iamVjdCAqYnl0ZXMgPSBQeV9Ob25lOworCisgICAgaWYgKCFQeUFyZ19VbnBhY2tUdXBsZShhcmdzLCAibHN0cmlwIiwKKyAgICAgICAgMCwgMSwKKyAgICAgICAgJmJ5dGVzKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGJ5dGVzX2xzdHJpcF9pbXBsKHNlbGYsIGJ5dGVzKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOwogfQogCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZXNfbHN0cmlwX2ltcGwoUHlCeXRlc09iamVjdCAqc2VsZiwgUHlPYmplY3QgKmJ5dGVzKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTUyOWU4NTExYWI2ZjExMTUgaW5wdXQ9ODg4MTFiMDlkZmJjMjk4OF0qLworeworICAgIHJldHVybiBkb19hcmdzdHJpcChzZWxmLCBMRUZUU1RSSVAsIGJ5dGVzKTsKK30KIAotUHlEb2NfU1RSVkFSKHJzdHJpcF9fZG9jX18sCi0iQi5yc3RyaXAoW2J5dGVzXSkgLT4gYnl0ZXNcblwKLVxuXAotU3RyaXAgdHJhaWxpbmcgYnl0ZXMgY29udGFpbmVkIGluIHRoZSBhcmd1bWVudC5cblwKLUlmIHRoZSBhcmd1bWVudCBpcyBvbWl0dGVkLCBzdHJpcCB0cmFpbGluZyBBU0NJSSB3aGl0ZXNwYWNlLiIpOworLypbY2xpbmljIGlucHV0XQorYnl0ZXMucnN0cmlwCisKKyAgICBzZWxmOiBzZWxmKHR5cGU9IlB5Qnl0ZXNPYmplY3QgKiIpCisgICAgYnl0ZXM6IG9iamVjdCA9IE5vbmUKKyAgICAvCisKK1N0cmlwIHRyYWlsaW5nIGJ5dGVzIGNvbnRhaW5lZCBpbiB0aGUgYXJndW1lbnQuCisKK0lmIHRoZSBhcmd1bWVudCBpcyBvbWl0dGVkIG9yIE5vbmUsIHN0cmlwIHRyYWlsaW5nIEFTQ0lJIHdoaXRlc3BhY2UuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihieXRlc19yc3RyaXBfX2RvY19fLAorInJzdHJpcCgkc2VsZiwgYnl0ZXM9Tm9uZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlN0cmlwIHRyYWlsaW5nIGJ5dGVzIGNvbnRhaW5lZCBpbiB0aGUgYXJndW1lbnQuXG4iCisiXG4iCisiSWYgdGhlIGFyZ3VtZW50IGlzIG9taXR0ZWQgb3IgTm9uZSwgc3RyaXAgdHJhaWxpbmcgQVNDSUkgd2hpdGVzcGFjZS4iKTsKKworI2RlZmluZSBCWVRFU19SU1RSSVBfTUVUSE9EREVGICAgIFwKKyAgICB7InJzdHJpcCIsIChQeUNGdW5jdGlvbilieXRlc19yc3RyaXAsIE1FVEhfVkFSQVJHUywgYnl0ZXNfcnN0cmlwX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlc19yc3RyaXBfaW1wbChQeUJ5dGVzT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYnl0ZXMpOworCiBzdGF0aWMgUHlPYmplY3QgKgogYnl0ZXNfcnN0cmlwKFB5Qnl0ZXNPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewotICAgIGlmIChQeVR1cGxlX0dFVF9TSVpFKGFyZ3MpID09IDApCi0gICAgICAgIHJldHVybiBkb19zdHJpcChzZWxmLCBSSUdIVFNUUklQKTsgLyogQ29tbW9uIGNhc2UgKi8KLSAgICBlbHNlCi0gICAgICAgIHJldHVybiBkb19hcmdzdHJpcChzZWxmLCBSSUdIVFNUUklQLCBhcmdzKTsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeU9iamVjdCAqYnl0ZXMgPSBQeV9Ob25lOworCisgICAgaWYgKCFQeUFyZ19VbnBhY2tUdXBsZShhcmdzLCAicnN0cmlwIiwKKyAgICAgICAgMCwgMSwKKyAgICAgICAgJmJ5dGVzKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGJ5dGVzX3JzdHJpcF9pbXBsKHNlbGYsIGJ5dGVzKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZXNfcnN0cmlwX2ltcGwoUHlCeXRlc09iamVjdCAqc2VsZiwgUHlPYmplY3QgKmJ5dGVzKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWU5ODczMGJkMTMzZTY1OTMgaW5wdXQ9OGY5M2M5Y2QzNjFmMDE0MF0qLworeworICAgIHJldHVybiBkb19hcmdzdHJpcChzZWxmLCBSSUdIVFNUUklQLCBieXRlcyk7CiB9CiAKIApAQCAtMTQ1NSw0NSArMjM4Miw5NCBAQAogfQogCiAKLVB5RG9jX1NUUlZBUih0cmFuc2xhdGVfX2RvY19fLAotIkIudHJhbnNsYXRlKHRhYmxlWywgZGVsZXRlY2hhcnNdKSAtPiBieXRlc1xuXAotXG5cCi1SZXR1cm4gYSBjb3B5IG9mIEIsIHdoZXJlIGFsbCBjaGFyYWN0ZXJzIG9jY3VycmluZyBpbiB0aGVcblwKLW9wdGlvbmFsIGFyZ3VtZW50IGRlbGV0ZWNoYXJzIGFyZSByZW1vdmVkLCBhbmQgdGhlIHJlbWFpbmluZ1xuXAotY2hhcmFjdGVycyBoYXZlIGJlZW4gbWFwcGVkIHRocm91Z2ggdGhlIGdpdmVuIHRyYW5zbGF0aW9uXG5cCi10YWJsZSwgd2hpY2ggbXVzdCBiZSBhIGJ5dGVzIG9iamVjdCBvZiBsZW5ndGggMjU2LiIpOworLypbY2xpbmljIGlucHV0XQorYnl0ZXMudHJhbnNsYXRlCisKKyAgICBzZWxmOiBzZWxmKHR5cGU9IlB5Qnl0ZXNPYmplY3QgKiIpCisgICAgdGFibGU6IG9iamVjdAorICAgICAgICBUcmFuc2xhdGlvbiB0YWJsZSwgd2hpY2ggbXVzdCBiZSBhIGJ5dGVzIG9iamVjdCBvZiBsZW5ndGggMjU2LgorICAgIFsKKyAgICBkZWxldGVjaGFyczogb2JqZWN0CisgICAgXQorICAgIC8KKworUmV0dXJuIGEgY29weSB3aXRoIGVhY2ggY2hhcmFjdGVyIG1hcHBlZCBieSB0aGUgZ2l2ZW4gdHJhbnNsYXRpb24gdGFibGUuCisKK0FsbCBjaGFyYWN0ZXJzIG9jY3VycmluZyBpbiB0aGUgb3B0aW9uYWwgYXJndW1lbnQgZGVsZXRlY2hhcnMgYXJlIHJlbW92ZWQuCitUaGUgcmVtYWluaW5nIGNoYXJhY3RlcnMgYXJlIG1hcHBlZCB0aHJvdWdoIHRoZSBnaXZlbiB0cmFuc2xhdGlvbiB0YWJsZS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ5dGVzX3RyYW5zbGF0ZV9fZG9jX18sCisidHJhbnNsYXRlKHRhYmxlLCBbZGVsZXRlY2hhcnNdKVxuIgorIlJldHVybiBhIGNvcHkgd2l0aCBlYWNoIGNoYXJhY3RlciBtYXBwZWQgYnkgdGhlIGdpdmVuIHRyYW5zbGF0aW9uIHRhYmxlLlxuIgorIlxuIgorIiAgdGFibGVcbiIKKyIgICAgVHJhbnNsYXRpb24gdGFibGUsIHdoaWNoIG11c3QgYmUgYSBieXRlcyBvYmplY3Qgb2YgbGVuZ3RoIDI1Ni5cbiIKKyJcbiIKKyJBbGwgY2hhcmFjdGVycyBvY2N1cnJpbmcgaW4gdGhlIG9wdGlvbmFsIGFyZ3VtZW50IGRlbGV0ZWNoYXJzIGFyZSByZW1vdmVkLlxuIgorIlRoZSByZW1haW5pbmcgY2hhcmFjdGVycyBhcmUgbWFwcGVkIHRocm91Z2ggdGhlIGdpdmVuIHRyYW5zbGF0aW9uIHRhYmxlLiIpOworCisjZGVmaW5lIEJZVEVTX1RSQU5TTEFURV9NRVRIT0RERUYgICAgXAorICAgIHsidHJhbnNsYXRlIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVzX3RyYW5zbGF0ZSwgTUVUSF9WQVJBUkdTLCBieXRlc190cmFuc2xhdGVfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVzX3RyYW5zbGF0ZV9pbXBsKFB5Qnl0ZXNPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp0YWJsZSwgaW50IGdyb3VwX3JpZ2h0XzEsIFB5T2JqZWN0ICpkZWxldGVjaGFycyk7CiAKIHN0YXRpYyBQeU9iamVjdCAqCiBieXRlc190cmFuc2xhdGUoUHlCeXRlc09iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlPYmplY3QgKnRhYmxlOworICAgIGludCBncm91cF9yaWdodF8xID0gMDsKKyAgICBQeU9iamVjdCAqZGVsZXRlY2hhcnMgPSBOVUxMOworCisgICAgc3dpdGNoIChQeVR1cGxlX0dFVF9TSVpFKGFyZ3MpKSB7CisgICAgICAgIGNhc2UgMToKKyAgICAgICAgICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTzp0cmFuc2xhdGUiLCAmdGFibGUpKQorICAgICAgICAgICAgICAgIGdvdG8gZXhpdDsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIDI6CisgICAgICAgICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk9POnRyYW5zbGF0ZSIsICZ0YWJsZSwgJmRlbGV0ZWNoYXJzKSkKKyAgICAgICAgICAgICAgICBnb3RvIGV4aXQ7CisgICAgICAgICAgICBncm91cF9yaWdodF8xID0gMTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgImJ5dGVzLnRyYW5zbGF0ZSByZXF1aXJlcyAxIHRvIDIgYXJndW1lbnRzIik7CisgICAgICAgICAgICBnb3RvIGV4aXQ7CisgICAgfQorICAgIHJldHVybl92YWx1ZSA9IGJ5dGVzX3RyYW5zbGF0ZV9pbXBsKHNlbGYsIHRhYmxlLCBncm91cF9yaWdodF8xLCBkZWxldGVjaGFycyk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVzX3RyYW5zbGF0ZV9pbXBsKFB5Qnl0ZXNPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp0YWJsZSwgaW50IGdyb3VwX3JpZ2h0XzEsIFB5T2JqZWN0ICpkZWxldGVjaGFycykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1mMGYyOWE1N2Y0MWRmNWQ4IGlucHV0PWQ4ZmE1NTE5ZDdjYzRiZTddKi8KK3sKICAgICBjaGFyICppbnB1dCwgKm91dHB1dDsKICAgICBQeV9idWZmZXIgdGFibGVfdmlldyA9IHtOVUxMLCBOVUxMfTsKICAgICBQeV9idWZmZXIgZGVsX3RhYmxlX3ZpZXcgPSB7TlVMTCwgTlVMTH07Ci0gICAgY29uc3QgY2hhciAqdGFibGU7CisgICAgY29uc3QgY2hhciAqdGFibGVfY2hhcnM7CiAgICAgUHlfc3NpemVfdCBpLCBjLCBjaGFuZ2VkID0gMDsKICAgICBQeU9iamVjdCAqaW5wdXRfb2JqID0gKFB5T2JqZWN0KilzZWxmOwotICAgIGNvbnN0IGNoYXIgKm91dHB1dF9zdGFydCwgKmRlbF90YWJsZT1OVUxMOworICAgIGNvbnN0IGNoYXIgKm91dHB1dF9zdGFydCwgKmRlbF90YWJsZV9jaGFycz1OVUxMOwogICAgIFB5X3NzaXplX3QgaW5sZW4sIHRhYmxlbiwgZGVsbGVuID0gMDsKICAgICBQeU9iamVjdCAqcmVzdWx0OwogICAgIGludCB0cmFuc190YWJsZVsyNTZdOwotICAgIFB5T2JqZWN0ICp0YWJsZW9iaiwgKmRlbG9iaiA9IE5VTEw7CiAKLSAgICBpZiAoIVB5QXJnX1VucGFja1R1cGxlKGFyZ3MsICJ0cmFuc2xhdGUiLCAxLCAyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAmdGFibGVvYmosICZkZWxvYmopKQotICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIGlmIChQeUJ5dGVzX0NoZWNrKHRhYmxlb2JqKSkgewotICAgICAgICB0YWJsZSA9IFB5Qnl0ZXNfQVNfU1RSSU5HKHRhYmxlb2JqKTsKLSAgICAgICAgdGFibGVuID0gUHlCeXRlc19HRVRfU0laRSh0YWJsZW9iaik7CisgICAgaWYgKFB5Qnl0ZXNfQ2hlY2sodGFibGUpKSB7CisgICAgICAgIHRhYmxlX2NoYXJzID0gUHlCeXRlc19BU19TVFJJTkcodGFibGUpOworICAgICAgICB0YWJsZW4gPSBQeUJ5dGVzX0dFVF9TSVpFKHRhYmxlKTsKICAgICB9Ci0gICAgZWxzZSBpZiAodGFibGVvYmogPT0gUHlfTm9uZSkgewotICAgICAgICB0YWJsZSA9IE5VTEw7CisgICAgZWxzZSBpZiAodGFibGUgPT0gUHlfTm9uZSkgeworICAgICAgICB0YWJsZV9jaGFycyA9IE5VTEw7CiAgICAgICAgIHRhYmxlbiA9IDI1NjsKICAgICB9CiAgICAgZWxzZSB7Ci0gICAgICAgIGlmIChQeU9iamVjdF9HZXRCdWZmZXIodGFibGVvYmosICZ0YWJsZV92aWV3LCBQeUJVRl9TSU1QTEUpICE9IDApCisgICAgICAgIGlmIChQeU9iamVjdF9HZXRCdWZmZXIodGFibGUsICZ0YWJsZV92aWV3LCBQeUJVRl9TSU1QTEUpICE9IDApCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgdGFibGUgPSB0YWJsZV92aWV3LmJ1ZjsKKyAgICAgICAgdGFibGVfY2hhcnMgPSB0YWJsZV92aWV3LmJ1ZjsKICAgICAgICAgdGFibGVuID0gdGFibGVfdmlldy5sZW47CiAgICAgfQogCkBAIC0xNTA0LDIyICsyNDgwLDIyIEBACiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIAotICAgIGlmIChkZWxvYmogIT0gTlVMTCkgewotICAgICAgICBpZiAoUHlCeXRlc19DaGVjayhkZWxvYmopKSB7Ci0gICAgICAgICAgICBkZWxfdGFibGUgPSBQeUJ5dGVzX0FTX1NUUklORyhkZWxvYmopOwotICAgICAgICAgICAgZGVsbGVuID0gUHlCeXRlc19HRVRfU0laRShkZWxvYmopOworICAgIGlmIChkZWxldGVjaGFycyAhPSBOVUxMKSB7CisgICAgICAgIGlmIChQeUJ5dGVzX0NoZWNrKGRlbGV0ZWNoYXJzKSkgeworICAgICAgICAgICAgZGVsX3RhYmxlX2NoYXJzID0gUHlCeXRlc19BU19TVFJJTkcoZGVsZXRlY2hhcnMpOworICAgICAgICAgICAgZGVsbGVuID0gUHlCeXRlc19HRVRfU0laRShkZWxldGVjaGFycyk7CiAgICAgICAgIH0KICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBpZiAoUHlPYmplY3RfR2V0QnVmZmVyKGRlbG9iaiwgJmRlbF90YWJsZV92aWV3LCBQeUJVRl9TSU1QTEUpICE9IDApIHsKKyAgICAgICAgICAgIGlmIChQeU9iamVjdF9HZXRCdWZmZXIoZGVsZXRlY2hhcnMsICZkZWxfdGFibGVfdmlldywgUHlCVUZfU0lNUExFKSAhPSAwKSB7CiAgICAgICAgICAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmdGFibGVfdmlldyk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBkZWxfdGFibGUgPSBkZWxfdGFibGVfdmlldy5idWY7CisgICAgICAgICAgICBkZWxfdGFibGVfY2hhcnMgPSBkZWxfdGFibGVfdmlldy5idWY7CiAgICAgICAgICAgICBkZWxsZW4gPSBkZWxfdGFibGVfdmlldy5sZW47CiAgICAgICAgIH0KICAgICB9CiAgICAgZWxzZSB7Ci0gICAgICAgIGRlbF90YWJsZSA9IE5VTEw7CisgICAgICAgIGRlbF90YWJsZV9jaGFycyA9IE5VTEw7CiAgICAgICAgIGRlbGxlbiA9IDA7CiAgICAgfQogCkBAIC0xNTMzLDExICsyNTA5LDExIEBACiAgICAgb3V0cHV0X3N0YXJ0ID0gb3V0cHV0ID0gUHlCeXRlc19Bc1N0cmluZyhyZXN1bHQpOwogICAgIGlucHV0ID0gUHlCeXRlc19BU19TVFJJTkcoaW5wdXRfb2JqKTsKIAotICAgIGlmIChkZWxsZW4gPT0gMCAmJiB0YWJsZSAhPSBOVUxMKSB7CisgICAgaWYgKGRlbGxlbiA9PSAwICYmIHRhYmxlX2NoYXJzICE9IE5VTEwpIHsKICAgICAgICAgLyogSWYgbm8gZGVsZXRpb25zIGFyZSByZXF1aXJlZCwgdXNlIGZhc3RlciBjb2RlICovCiAgICAgICAgIGZvciAoaSA9IGlubGVuOyAtLWkgPj0gMDsgKSB7CiAgICAgICAgICAgICBjID0gUHlfQ0hBUk1BU0soKmlucHV0KyspOwotICAgICAgICAgICAgaWYgKFB5X0NIQVJNQVNLKCgqb3V0cHV0KysgPSB0YWJsZVtjXSkpICE9IGMpCisgICAgICAgICAgICBpZiAoUHlfQ0hBUk1BU0soKCpvdXRwdXQrKyA9IHRhYmxlX2NoYXJzW2NdKSkgIT0gYykKICAgICAgICAgICAgICAgICBjaGFuZ2VkID0gMTsKICAgICAgICAgfQogICAgICAgICBpZiAoIWNoYW5nZWQgJiYgUHlCeXRlc19DaGVja0V4YWN0KGlucHV0X29iaikpIHsKQEAgLTE1NTAsMTcgKzI1MjYsMTcgQEAKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CiAKLSAgICBpZiAodGFibGUgPT0gTlVMTCkgeworICAgIGlmICh0YWJsZV9jaGFycyA9PSBOVUxMKSB7CiAgICAgICAgIGZvciAoaSA9IDA7IGkgPCAyNTY7IGkrKykKICAgICAgICAgICAgIHRyYW5zX3RhYmxlW2ldID0gUHlfQ0hBUk1BU0soaSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgZm9yIChpID0gMDsgaSA8IDI1NjsgaSsrKQotICAgICAgICAgICAgdHJhbnNfdGFibGVbaV0gPSBQeV9DSEFSTUFTSyh0YWJsZVtpXSk7CisgICAgICAgICAgICB0cmFuc190YWJsZVtpXSA9IFB5X0NIQVJNQVNLKHRhYmxlX2NoYXJzW2ldKTsKICAgICB9CiAgICAgUHlCdWZmZXJfUmVsZWFzZSgmdGFibGVfdmlldyk7CiAKICAgICBmb3IgKGkgPSAwOyBpIDwgZGVsbGVuOyBpKyspCi0gICAgICAgIHRyYW5zX3RhYmxlWyhpbnQpIFB5X0NIQVJNQVNLKGRlbF90YWJsZVtpXSldID0gLTE7CisgICAgICAgIHRyYW5zX3RhYmxlWyhpbnQpIFB5X0NIQVJNQVNLKGRlbF90YWJsZV9jaGFyc1tpXSldID0gLTE7CiAgICAgUHlCdWZmZXJfUmVsZWFzZSgmZGVsX3RhYmxlX3ZpZXcpOwogCiAgICAgZm9yIChpID0gaW5sZW47IC0taSA+PSAwOyApIHsKQEAgLTE1ODIsMTAgKzI1NTgsNjkgQEAKIH0KIAogCisvKltjbGluaWMgaW5wdXRdCisKK0BzdGF0aWNtZXRob2QKK2J5dGVzLm1ha2V0cmFucworCisgICAgZnJtOiBQeV9idWZmZXIKKyAgICB0bzogUHlfYnVmZmVyCisgICAgLworCitSZXR1cm4gYSB0cmFuc2xhdGlvbiB0YWJsZSB1c2VhYmxlIGZvciB0aGUgYnl0ZXMgb3IgYnl0ZWFycmF5IHRyYW5zbGF0ZSBtZXRob2QuCisKK1RoZSByZXR1cm5lZCB0YWJsZSB3aWxsIGJlIG9uZSB3aGVyZSBlYWNoIGJ5dGUgaW4gZnJtIGlzIG1hcHBlZCB0byB0aGUgYnl0ZSBhdAordGhlIHNhbWUgcG9zaXRpb24gaW4gdG8uCisKK1RoZSBieXRlcyBvYmplY3RzIGZybSBhbmQgdG8gbXVzdCBiZSBvZiB0aGUgc2FtZSBsZW5ndGguCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihieXRlc19tYWtldHJhbnNfX2RvY19fLAorIm1ha2V0cmFucyhmcm0sIHRvLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGEgdHJhbnNsYXRpb24gdGFibGUgdXNlYWJsZSBmb3IgdGhlIGJ5dGVzIG9yIGJ5dGVhcnJheSB0cmFuc2xhdGUgbWV0aG9kLlxuIgorIlxuIgorIlRoZSByZXR1cm5lZCB0YWJsZSB3aWxsIGJlIG9uZSB3aGVyZSBlYWNoIGJ5dGUgaW4gZnJtIGlzIG1hcHBlZCB0byB0aGUgYnl0ZSBhdFxuIgorInRoZSBzYW1lIHBvc2l0aW9uIGluIHRvLlxuIgorIlxuIgorIlRoZSBieXRlcyBvYmplY3RzIGZybSBhbmQgdG8gbXVzdCBiZSBvZiB0aGUgc2FtZSBsZW5ndGguIik7CisKKyNkZWZpbmUgQllURVNfTUFLRVRSQU5TX01FVEhPRERFRiAgICBcCisgICAgeyJtYWtldHJhbnMiLCAoUHlDRnVuY3Rpb24pYnl0ZXNfbWFrZXRyYW5zLCBNRVRIX1ZBUkFSR1N8TUVUSF9TVEFUSUMsIGJ5dGVzX21ha2V0cmFuc19fZG9jX199LAorCiBzdGF0aWMgUHlPYmplY3QgKgotYnl0ZXNfbWFrZXRyYW5zKFB5T2JqZWN0ICpudWxsLCBQeU9iamVjdCAqYXJncykKK2J5dGVzX21ha2V0cmFuc19pbXBsKFB5X2J1ZmZlciAqZnJtLCBQeV9idWZmZXIgKnRvKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVzX21ha2V0cmFucyh2b2lkICpudWxsLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICByZXR1cm4gX1B5X2J5dGVzX21ha2V0cmFucyhhcmdzKTsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeV9idWZmZXIgZnJtID0ge05VTEwsIE5VTEx9OworICAgIFB5X2J1ZmZlciB0byA9IHtOVUxMLCBOVUxMfTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAieSp5KjptYWtldHJhbnMiLAorICAgICAgICAmZnJtLCAmdG8pKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYnl0ZXNfbWFrZXRyYW5zX2ltcGwoJmZybSwgJnRvKTsKKworZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBmcm0gKi8KKyAgICBpZiAoZnJtLm9iaikKKyAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZmcm0pOworICAgIC8qIENsZWFudXAgZm9yIHRvICovCisgICAgaWYgKHRvLm9iaikKKyAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZ0byk7CisKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZXNfbWFrZXRyYW5zX2ltcGwoUHlfYnVmZmVyICpmcm0sIFB5X2J1ZmZlciAqdG8pCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9N2RmNDczOTBjNDc2YWM2MCBpbnB1dD1kZTdhOGZjNTYzMmJiOGYxXSovCit7CisgICAgcmV0dXJuIF9QeV9ieXRlc19tYWtldHJhbnMoZnJtLCB0byk7CiB9CiAKIC8qIGZpbmQgYW5kIGNvdW50IGNoYXJhY3RlcnMgYW5kIHN1YnN0cmluZ3MgKi8KQEAgLTIwODAsMzEgKzMxMTUsNzQgQEAKICAgICB9CiB9CiAKLVB5RG9jX1NUUlZBUihyZXBsYWNlX19kb2NfXywKLSJCLnJlcGxhY2Uob2xkLCBuZXdbLCBjb3VudF0pIC0+IGJ5dGVzXG5cCi1cblwKLVJldHVybiBhIGNvcHkgb2YgQiB3aXRoIGFsbCBvY2N1cnJlbmNlcyBvZiBzdWJzZWN0aW9uXG5cCi1vbGQgcmVwbGFjZWQgYnkgbmV3LiAgSWYgdGhlIG9wdGlvbmFsIGFyZ3VtZW50IGNvdW50IGlzXG5cCi1naXZlbiwgb25seSBmaXJzdCBjb3VudCBvY2N1cmFuY2VzIGFyZSByZXBsYWNlZC4iKTsKKworLypbY2xpbmljIGlucHV0XQorYnl0ZXMucmVwbGFjZQorCisgICAgb2xkOiBQeV9idWZmZXIKKyAgICBuZXc6IFB5X2J1ZmZlcgorICAgIGNvdW50OiBQeV9zc2l6ZV90ID0gLTEKKyAgICAgICAgTWF4aW11bSBudW1iZXIgb2Ygb2NjdXJyZW5jZXMgdG8gcmVwbGFjZS4KKyAgICAgICAgLTEgKHRoZSBkZWZhdWx0IHZhbHVlKSBtZWFucyByZXBsYWNlIGFsbCBvY2N1cnJlbmNlcy4KKyAgICAvCisKK1JldHVybiBhIGNvcHkgd2l0aCBhbGwgb2NjdXJyZW5jZXMgb2Ygc3Vic3RyaW5nIG9sZCByZXBsYWNlZCBieSBuZXcuCisKK0lmIHRoZSBvcHRpb25hbCBhcmd1bWVudCBjb3VudCBpcyBnaXZlbiwgb25seSB0aGUgZmlyc3QgY291bnQgb2NjdXJyZW5jZXMgYXJlCityZXBsYWNlZC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ5dGVzX3JlcGxhY2VfX2RvY19fLAorInJlcGxhY2UoJHNlbGYsIG9sZCwgbmV3LCBjb3VudD0tMSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBhIGNvcHkgd2l0aCBhbGwgb2NjdXJyZW5jZXMgb2Ygc3Vic3RyaW5nIG9sZCByZXBsYWNlZCBieSBuZXcuXG4iCisiXG4iCisiICBjb3VudFxuIgorIiAgICBNYXhpbXVtIG51bWJlciBvZiBvY2N1cnJlbmNlcyB0byByZXBsYWNlLlxuIgorIiAgICAtMSAodGhlIGRlZmF1bHQgdmFsdWUpIG1lYW5zIHJlcGxhY2UgYWxsIG9jY3VycmVuY2VzLlxuIgorIlxuIgorIklmIHRoZSBvcHRpb25hbCBhcmd1bWVudCBjb3VudCBpcyBnaXZlbiwgb25seSB0aGUgZmlyc3QgY291bnQgb2NjdXJyZW5jZXMgYXJlXG4iCisicmVwbGFjZWQuIik7CisKKyNkZWZpbmUgQllURVNfUkVQTEFDRV9NRVRIT0RERUYgICAgXAorICAgIHsicmVwbGFjZSIsIChQeUNGdW5jdGlvbilieXRlc19yZXBsYWNlLCBNRVRIX1ZBUkFSR1MsIGJ5dGVzX3JlcGxhY2VfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLWJ5dGVzX3JlcGxhY2UoUHlCeXRlc09iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitieXRlc19yZXBsYWNlX2ltcGwoUHlCeXRlc09iamVjdCpzZWxmLCBQeV9idWZmZXIgKm9sZCwgUHlfYnVmZmVyICpuZXcsIFB5X3NzaXplX3QgY291bnQpOworCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZXNfcmVwbGFjZShQeUJ5dGVzT2JqZWN0KnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewotICAgIFB5T2JqZWN0ICpyZXM7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CiAgICAgUHlfYnVmZmVyIG9sZCA9IHtOVUxMLCBOVUxMfTsKICAgICBQeV9idWZmZXIgbmV3ID0ge05VTEwsIE5VTEx9OwogICAgIFB5X3NzaXplX3QgY291bnQgPSAtMTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAieSp5KnxuOnJlcGxhY2UiLCAmb2xkLCAmbmV3LCAmY291bnQpKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgInkqeSp8bjpyZXBsYWNlIiwKKyAgICAgICAgJm9sZCwgJm5ldywgJmNvdW50KSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGJ5dGVzX3JlcGxhY2VfaW1wbChzZWxmLCAmb2xkLCAmbmV3LCBjb3VudCk7CiAKLSAgICByZXMgPSAoUHlPYmplY3QgKilyZXBsYWNlKChQeUJ5dGVzT2JqZWN0ICopIHNlbGYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3QgY2hhciAqKW9sZC5idWYsIG9sZC5sZW4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3QgY2hhciAqKW5ldy5idWYsIG5ldy5sZW4sIGNvdW50KTsKK2V4aXQ6CisgICAgLyogQ2xlYW51cCBmb3Igb2xkICovCisgICAgaWYgKG9sZC5vYmopCisgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmb2xkKTsKKyAgICAvKiBDbGVhbnVwIGZvciBuZXcgKi8KKyAgICBpZiAobmV3Lm9iaikKKyAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZuZXcpOwogCi0gICAgUHlCdWZmZXJfUmVsZWFzZSgmb2xkKTsKLSAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZuZXcpOwotICAgIHJldHVybiByZXM7CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVzX3JlcGxhY2VfaW1wbChQeUJ5dGVzT2JqZWN0KnNlbGYsIFB5X2J1ZmZlciAqb2xkLCBQeV9idWZmZXIgKm5ldywgUHlfc3NpemVfdCBjb3VudCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1mMDdiZDllY2YyOWVlOGQ4IGlucHV0PWIyZmJiZjBiZjA0ZGU4ZTVdKi8KK3sKKyAgICByZXR1cm4gKFB5T2JqZWN0ICopcmVwbGFjZSgoUHlCeXRlc09iamVjdCAqKSBzZWxmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdCBjaGFyICopb2xkLT5idWYsIG9sZC0+bGVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdCBjaGFyICopbmV3LT5idWYsIG5ldy0+bGVuLCBjb3VudCk7CiB9CiAKIC8qKiBFbmQgREFMS0UgKiovCkBAIC0yMjUxLDYwICszMzI5LDEyMSBAQAogfQogCiAKLVB5RG9jX1NUUlZBUihkZWNvZGVfX2RvY19fLAotIkIuZGVjb2RlKGVuY29kaW5nPSd1dGYtOCcsIGVycm9ycz0nc3RyaWN0JykgLT4gc3RyXG5cCi1cblwKLURlY29kZSBCIHVzaW5nIHRoZSBjb2RlYyByZWdpc3RlcmVkIGZvciBlbmNvZGluZy4gRGVmYXVsdCBlbmNvZGluZ1xuXAotaXMgJ3V0Zi04Jy4gZXJyb3JzIG1heSBiZSBnaXZlbiB0byBzZXQgYSBkaWZmZXJlbnQgZXJyb3JcblwKLWhhbmRsaW5nIHNjaGVtZS4gIERlZmF1bHQgaXMgJ3N0cmljdCcgbWVhbmluZyB0aGF0IGVuY29kaW5nIGVycm9ycyByYWlzZVxuXAotYSBVbmljb2RlRGVjb2RlRXJyb3IuICBPdGhlciBwb3NzaWJsZSB2YWx1ZXMgYXJlICdpZ25vcmUnIGFuZCAncmVwbGFjZSdcblwKLWFzIHdlbGwgYXMgYW55IG90aGVyIG5hbWUgcmVnaXN0ZXJkIHdpdGggY29kZWNzLnJlZ2lzdGVyX2Vycm9yIHRoYXQgaXNcblwKLWFibGUgdG8gaGFuZGxlIFVuaWNvZGVEZWNvZGVFcnJvcnMuIik7CisvKltjbGluaWMgaW5wdXRdCitieXRlcy5kZWNvZGUKKworICAgIGVuY29kaW5nOiBzdHIoY19kZWZhdWx0PSJOVUxMIikgPSAndXRmLTgnCisgICAgICAgIFRoZSBlbmNvZGluZyB3aXRoIHdoaWNoIHRvIGRlY29kZSB0aGUgYnl0ZXMuCisgICAgZXJyb3JzOiBzdHIoY19kZWZhdWx0PSJOVUxMIikgPSAnc3RyaWN0JworICAgICAgICBUaGUgZXJyb3IgaGFuZGxpbmcgc2NoZW1lIHRvIHVzZSBmb3IgdGhlIGhhbmRsaW5nIG9mIGRlY29kaW5nIGVycm9ycy4KKyAgICAgICAgVGhlIGRlZmF1bHQgaXMgJ3N0cmljdCcgbWVhbmluZyB0aGF0IGRlY29kaW5nIGVycm9ycyByYWlzZSBhCisgICAgICAgIFVuaWNvZGVEZWNvZGVFcnJvci4gT3RoZXIgcG9zc2libGUgdmFsdWVzIGFyZSAnaWdub3JlJyBhbmQgJ3JlcGxhY2UnCisgICAgICAgIGFzIHdlbGwgYXMgYW55IG90aGVyIG5hbWUgcmVnaXN0ZXJlZCB3aXRoIGNvZGVjcy5yZWdpc3Rlcl9lcnJvciB0aGF0CisgICAgICAgIGNhbiBoYW5kbGUgVW5pY29kZURlY29kZUVycm9ycy4KKworRGVjb2RlIHRoZSBieXRlcyB1c2luZyB0aGUgY29kZWMgcmVnaXN0ZXJlZCBmb3IgZW5jb2RpbmcuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihieXRlc19kZWNvZGVfX2RvY19fLAorImRlY29kZSgkc2VsZiwgLywgZW5jb2Rpbmc9XCd1dGYtOFwnLCBlcnJvcnM9XCdzdHJpY3RcJylcbiIKKyItLVxuIgorIlxuIgorIkRlY29kZSB0aGUgYnl0ZXMgdXNpbmcgdGhlIGNvZGVjIHJlZ2lzdGVyZWQgZm9yIGVuY29kaW5nLlxuIgorIlxuIgorIiAgZW5jb2RpbmdcbiIKKyIgICAgVGhlIGVuY29kaW5nIHdpdGggd2hpY2ggdG8gZGVjb2RlIHRoZSBieXRlcy5cbiIKKyIgIGVycm9yc1xuIgorIiAgICBUaGUgZXJyb3IgaGFuZGxpbmcgc2NoZW1lIHRvIHVzZSBmb3IgdGhlIGhhbmRsaW5nIG9mIGRlY29kaW5nIGVycm9ycy5cbiIKKyIgICAgVGhlIGRlZmF1bHQgaXMgXCdzdHJpY3RcJyBtZWFuaW5nIHRoYXQgZGVjb2RpbmcgZXJyb3JzIHJhaXNlIGFcbiIKKyIgICAgVW5pY29kZURlY29kZUVycm9yLiBPdGhlciBwb3NzaWJsZSB2YWx1ZXMgYXJlIFwnaWdub3JlXCcgYW5kIFwncmVwbGFjZVwnXG4iCisiICAgIGFzIHdlbGwgYXMgYW55IG90aGVyIG5hbWUgcmVnaXN0ZXJlZCB3aXRoIGNvZGVjcy5yZWdpc3Rlcl9lcnJvciB0aGF0XG4iCisiICAgIGNhbiBoYW5kbGUgVW5pY29kZURlY29kZUVycm9ycy4iKTsKKworI2RlZmluZSBCWVRFU19ERUNPREVfTUVUSE9EREVGICAgIFwKKyAgICB7ImRlY29kZSIsIChQeUNGdW5jdGlvbilieXRlc19kZWNvZGUsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBieXRlc19kZWNvZGVfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLWJ5dGVzX2RlY29kZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCitieXRlc19kZWNvZGVfaW1wbChQeUJ5dGVzT2JqZWN0KnNlbGYsIGNvbnN0IGNoYXIgKmVuY29kaW5nLCBjb25zdCBjaGFyICplcnJvcnMpOworCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZXNfZGVjb2RlKFB5Qnl0ZXNPYmplY3Qqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJlbmNvZGluZyIsICJlcnJvcnMiLCBOVUxMfTsKICAgICBjb25zdCBjaGFyICplbmNvZGluZyA9IE5VTEw7CiAgICAgY29uc3QgY2hhciAqZXJyb3JzID0gTlVMTDsKLSAgICBzdGF0aWMgY2hhciAqa3dsaXN0W10gPSB7ImVuY29kaW5nIiwgImVycm9ycyIsIDB9OwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAifHNzOmRlY29kZSIsIGt3bGlzdCwgJmVuY29kaW5nLCAmZXJyb3JzKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tRW5jb2RlZE9iamVjdChzZWxmLCBlbmNvZGluZywgZXJyb3JzKTsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJ8c3M6ZGVjb2RlIiwgX2tleXdvcmRzLAorICAgICAgICAmZW5jb2RpbmcsICZlcnJvcnMpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYnl0ZXNfZGVjb2RlX2ltcGwoc2VsZiwgZW5jb2RpbmcsIGVycm9ycyk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVzX2RlY29kZV9pbXBsKFB5Qnl0ZXNPYmplY3Qqc2VsZiwgY29uc3QgY2hhciAqZW5jb2RpbmcsIGNvbnN0IGNoYXIgKmVycm9ycykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD02MWE4MDI5MGJiZmNlNjk2IGlucHV0PTk1ODE3NDc2OWQyYTQwY2FdKi8KK3sKKyAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21FbmNvZGVkT2JqZWN0KChQeU9iamVjdCopc2VsZiwgZW5jb2RpbmcsIGVycm9ycyk7CiB9CiAKIAotUHlEb2NfU1RSVkFSKHNwbGl0bGluZXNfX2RvY19fLAotIkIuc3BsaXRsaW5lcyhba2VlcGVuZHNdKSAtPiBsaXN0IG9mIGxpbmVzXG5cCi1cblwKLVJldHVybiBhIGxpc3Qgb2YgdGhlIGxpbmVzIGluIEIsIGJyZWFraW5nIGF0IGxpbmUgYm91bmRhcmllcy5cblwKLUxpbmUgYnJlYWtzIGFyZSBub3QgaW5jbHVkZWQgaW4gdGhlIHJlc3VsdGluZyBsaXN0IHVubGVzcyBrZWVwZW5kc1xuXAotaXMgZ2l2ZW4gYW5kIHRydWUuIik7CisvKltjbGluaWMgaW5wdXRdCitieXRlcy5zcGxpdGxpbmVzCiAKLXN0YXRpYyBQeU9iamVjdCoKLWJ5dGVzX3NwbGl0bGluZXMoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKKyAgICBrZWVwZW5kczogaW50KHB5X2RlZmF1bHQ9IkZhbHNlIikgPSAwCisKK1JldHVybiBhIGxpc3Qgb2YgdGhlIGxpbmVzIGluIHRoZSBieXRlcywgYnJlYWtpbmcgYXQgbGluZSBib3VuZGFyaWVzLgorCitMaW5lIGJyZWFrcyBhcmUgbm90IGluY2x1ZGVkIGluIHRoZSByZXN1bHRpbmcgbGlzdCB1bmxlc3Mga2VlcGVuZHMgaXMgZ2l2ZW4gYW5kCit0cnVlLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnl0ZXNfc3BsaXRsaW5lc19fZG9jX18sCisic3BsaXRsaW5lcygkc2VsZiwgLywga2VlcGVuZHM9RmFsc2UpXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gYSBsaXN0IG9mIHRoZSBsaW5lcyBpbiB0aGUgYnl0ZXMsIGJyZWFraW5nIGF0IGxpbmUgYm91bmRhcmllcy5cbiIKKyJcbiIKKyJMaW5lIGJyZWFrcyBhcmUgbm90IGluY2x1ZGVkIGluIHRoZSByZXN1bHRpbmcgbGlzdCB1bmxlc3Mga2VlcGVuZHMgaXMgZ2l2ZW4gYW5kXG4iCisidHJ1ZS4iKTsKKworI2RlZmluZSBCWVRFU19TUExJVExJTkVTX01FVEhPRERFRiAgICBcCisgICAgeyJzcGxpdGxpbmVzIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVzX3NwbGl0bGluZXMsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBieXRlc19zcGxpdGxpbmVzX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlc19zcGxpdGxpbmVzX2ltcGwoUHlCeXRlc09iamVjdCpzZWxmLCBpbnQga2VlcGVuZHMpOworCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZXNfc3BsaXRsaW5lcyhQeUJ5dGVzT2JqZWN0KnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewotICAgIHN0YXRpYyBjaGFyICprd2xpc3RbXSA9IHsia2VlcGVuZHMiLCAwfTsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7ImtlZXBlbmRzIiwgTlVMTH07CiAgICAgaW50IGtlZXBlbmRzID0gMDsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICJ8aTpzcGxpdGxpbmVzIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrd2xpc3QsICZrZWVwZW5kcykpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgInxpOnNwbGl0bGluZXMiLCBfa2V5d29yZHMsCisgICAgICAgICZrZWVwZW5kcykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBieXRlc19zcGxpdGxpbmVzX2ltcGwoc2VsZiwga2VlcGVuZHMpOwogCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlc19zcGxpdGxpbmVzX2ltcGwoUHlCeXRlc09iamVjdCpzZWxmLCBpbnQga2VlcGVuZHMpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NzlkYTA1N2QwNWQxMjZkZSBpbnB1dD1kZGI5M2UzMzUxMDgwYzhjXSovCit7CiAgICAgcmV0dXJuIHN0cmluZ2xpYl9zcGxpdGxpbmVzKAogICAgICAgICAoUHlPYmplY3QqKSBzZWxmLCBQeUJ5dGVzX0FTX1NUUklORyhzZWxmKSwKICAgICAgICAgUHlCeXRlc19HRVRfU0laRShzZWxmKSwga2VlcGVuZHMKICAgICAgICAgKTsKIH0KIAotCi1QeURvY19TVFJWQVIoZnJvbWhleF9kb2MsCi0iYnl0ZXMuZnJvbWhleChzdHJpbmcpIC0+IGJ5dGVzXG5cCi1cblwKLUNyZWF0ZSBhIGJ5dGVzIG9iamVjdCBmcm9tIGEgc3RyaW5nIG9mIGhleGFkZWNpbWFsIG51bWJlcnMuXG5cCi1TcGFjZXMgYmV0d2VlbiB0d28gbnVtYmVycyBhcmUgYWNjZXB0ZWQuXG5cCi1FeGFtcGxlOiBieXRlcy5mcm9taGV4KCdCOSAwMUVGJykgLT4gYidcXHhiOVxceDAxXFx4ZWYnLiIpOwotCiBzdGF0aWMgaW50CiBoZXhfZGlnaXRfdG9faW50KFB5X1VDUzQgYykKIHsKQEAgLTIzMjEsMjQgKzM0NjAsNjcgQEAKICAgICByZXR1cm4gLTE7CiB9CiAKKy8qW2NsaW5pYyBpbnB1dF0KK0BjbGFzc21ldGhvZAorYnl0ZXMuZnJvbWhleAorCisgICAgc3RyaW5nOiB1bmljb2RlCisgICAgLworCitDcmVhdGUgYSBieXRlcyBvYmplY3QgZnJvbSBhIHN0cmluZyBvZiBoZXhhZGVjaW1hbCBudW1iZXJzLgorCitTcGFjZXMgYmV0d2VlbiB0d28gbnVtYmVycyBhcmUgYWNjZXB0ZWQuCitFeGFtcGxlOiBieXRlcy5mcm9taGV4KCdCOSAwMUVGJykgLT4gYidcXHhiOVxceDAxXFx4ZWYnLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnl0ZXNfZnJvbWhleF9fZG9jX18sCisiZnJvbWhleCgkdHlwZSwgc3RyaW5nLCAvKVxuIgorIi0tXG4iCisiXG4iCisiQ3JlYXRlIGEgYnl0ZXMgb2JqZWN0IGZyb20gYSBzdHJpbmcgb2YgaGV4YWRlY2ltYWwgbnVtYmVycy5cbiIKKyJcbiIKKyJTcGFjZXMgYmV0d2VlbiB0d28gbnVtYmVycyBhcmUgYWNjZXB0ZWQuXG4iCisiRXhhbXBsZTogYnl0ZXMuZnJvbWhleChcJ0I5IDAxRUZcJykgLT4gYlwnXFxcXHhiOVxcXFx4MDFcXFxceGVmXCcuIik7CisKKyNkZWZpbmUgQllURVNfRlJPTUhFWF9NRVRIT0RERUYgICAgXAorICAgIHsiZnJvbWhleCIsIChQeUNGdW5jdGlvbilieXRlc19mcm9taGV4LCBNRVRIX1ZBUkFSR1N8TUVUSF9DTEFTUywgYnl0ZXNfZnJvbWhleF9fZG9jX199LAorCiBzdGF0aWMgUHlPYmplY3QgKgotYnl0ZXNfZnJvbWhleChQeU9iamVjdCAqY2xzLCBQeU9iamVjdCAqYXJncykKK2J5dGVzX2Zyb21oZXhfaW1wbChQeVR5cGVPYmplY3QgKnR5cGUsIFB5T2JqZWN0ICpzdHJpbmcpOworCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZXNfZnJvbWhleChQeVR5cGVPYmplY3QgKnR5cGUsIFB5T2JqZWN0ICphcmdzKQogewotICAgIFB5T2JqZWN0ICpuZXdzdHJpbmcsICpoZXhvYmo7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlPYmplY3QgKnN0cmluZzsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiVTpmcm9taGV4IiwKKyAgICAgICAgJnN0cmluZykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBieXRlc19mcm9taGV4X2ltcGwodHlwZSwgc3RyaW5nKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZXNfZnJvbWhleF9pbXBsKFB5VHlwZU9iamVjdCAqdHlwZSwgUHlPYmplY3QgKnN0cmluZykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0wOWU2Y2JlZjU2Y2JiYjY1IGlucHV0PWJmNGQxYzM2MTY3MGFjZDNdKi8KK3sKKyAgICBQeU9iamVjdCAqbmV3c3RyaW5nOwogICAgIGNoYXIgKmJ1ZjsKICAgICBQeV9zc2l6ZV90IGhleGxlbiwgYnl0ZXNsZW4sIGksIGo7CiAgICAgaW50IHRvcCwgYm90OwogICAgIHZvaWQgKmRhdGE7CiAgICAgdW5zaWduZWQgaW50IGtpbmQ7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIlU6ZnJvbWhleCIsICZoZXhvYmopKQorICAgIGFzc2VydChQeVVuaWNvZGVfQ2hlY2soc3RyaW5nKSk7CisgICAgaWYgKFB5VW5pY29kZV9SRUFEWShzdHJpbmcpKQogICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBhc3NlcnQoUHlVbmljb2RlX0NoZWNrKGhleG9iaikpOwotICAgIGlmIChQeVVuaWNvZGVfUkVBRFkoaGV4b2JqKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAga2luZCA9IFB5VW5pY29kZV9LSU5EKGhleG9iaik7Ci0gICAgZGF0YSA9IFB5VW5pY29kZV9EQVRBKGhleG9iaik7Ci0gICAgaGV4bGVuID0gUHlVbmljb2RlX0dFVF9MRU5HVEgoaGV4b2JqKTsKKyAgICBraW5kID0gUHlVbmljb2RlX0tJTkQoc3RyaW5nKTsKKyAgICBkYXRhID0gUHlVbmljb2RlX0RBVEEoc3RyaW5nKTsKKyAgICBoZXhsZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChzdHJpbmcpOwogCiAgICAgYnl0ZXNsZW4gPSBoZXhsZW4vMjsgLyogVGhpcyBvdmVyZXN0aW1hdGVzIGlmIHRoZXJlIGFyZSBzcGFjZXMgKi8KICAgICBuZXdzdHJpbmcgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKE5VTEwsIGJ5dGVzbGVuKTsKQEAgLTIzNzAsMTQgKzM1NTIsMzggQEAKICAgICByZXR1cm4gTlVMTDsKIH0KIAotUHlEb2NfU1RSVkFSKHNpemVvZl9fZG9jX18sCi0iQi5fX3NpemVvZl9fKCkgLT4gc2l6ZSBvZiBCIGluIG1lbW9yeSwgaW4gYnl0ZXMiKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2J5dGVzLl9fc2l6ZW9mX18gYXMgYnl0ZXNfc2l6ZW9mCisKKyAgICBzZWxmOiBzZWxmKHR5cGU9IlB5Qnl0ZXNPYmplY3QgKiIpCisKK1JldHVybnMgdGhlIHNpemUgb2YgdGhlIGJ5dGVzIG9iamVjdCBpbiBtZW1vcnksIGluIGJ5dGVzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnl0ZXNfc2l6ZW9mX19kb2NfXywKKyJfX3NpemVvZl9fKCRzZWxmLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJucyB0aGUgc2l6ZSBvZiB0aGUgYnl0ZXMgb2JqZWN0IGluIG1lbW9yeSwgaW4gYnl0ZXMuIik7CisKKyNkZWZpbmUgQllURVNfU0laRU9GX01FVEhPRERFRiAgICBcCisgICAgeyJfX3NpemVvZl9fIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVzX3NpemVvZiwgTUVUSF9OT0FSR1MsIGJ5dGVzX3NpemVvZl9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotYnl0ZXNfc2l6ZW9mKFB5Qnl0ZXNPYmplY3QgKnYpCitieXRlc19zaXplb2ZfaW1wbChQeUJ5dGVzT2JqZWN0ICpzZWxmKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVzX3NpemVvZihQeUJ5dGVzT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBieXRlc19zaXplb2ZfaW1wbChzZWxmKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVzX3NpemVvZl9pbXBsKFB5Qnl0ZXNPYmplY3QgKnNlbGYpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NDQ5MzMyNzkzNDNmMjRhZSBpbnB1dD1iZWU0YzY0YmI0MjA3OGVkXSovCiB7CiAgICAgUHlfc3NpemVfdCByZXM7Ci0gICAgcmVzID0gUHlCeXRlc09iamVjdF9TSVpFICsgUHlfU0laRSh2KSAqIFB5X1RZUEUodiktPnRwX2l0ZW1zaXplOworICAgIHJlcyA9IFB5Qnl0ZXNPYmplY3RfU0laRSArIFB5X1NJWkUoc2VsZikgKiBQeV9UWVBFKHNlbGYpLT50cF9pdGVtc2l6ZTsKICAgICByZXR1cm4gUHlMb25nX0Zyb21Tc2l6ZV90KHJlcyk7CiB9CiAKQEAgLTIzOTYsMTQgKzM2MDIsMTMgQEAKICAgICAgX1B5X2NhcGl0YWxpemVfX2RvY19ffSwKICAgICB7ImNlbnRlciIsIChQeUNGdW5jdGlvbilzdHJpbmdsaWJfY2VudGVyLCBNRVRIX1ZBUkFSR1MsIGNlbnRlcl9fZG9jX199LAogICAgIHsiY291bnQiLCAoUHlDRnVuY3Rpb24pYnl0ZXNfY291bnQsIE1FVEhfVkFSQVJHUywgY291bnRfX2RvY19ffSwKLSAgICB7ImRlY29kZSIsIChQeUNGdW5jdGlvbilieXRlc19kZWNvZGUsIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsIGRlY29kZV9fZG9jX199LAorICAgIEJZVEVTX0RFQ09ERV9NRVRIT0RERUYKICAgICB7ImVuZHN3aXRoIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVzX2VuZHN3aXRoLCBNRVRIX1ZBUkFSR1MsCiAgICAgIGVuZHN3aXRoX19kb2NfX30sCiAgICAgeyJleHBhbmR0YWJzIiwgKFB5Q0Z1bmN0aW9uKXN0cmluZ2xpYl9leHBhbmR0YWJzLCBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLAogICAgICBleHBhbmR0YWJzX19kb2NfX30sCiAgICAgeyJmaW5kIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVzX2ZpbmQsIE1FVEhfVkFSQVJHUywgZmluZF9fZG9jX199LAotICAgIHsiZnJvbWhleCIsIChQeUNGdW5jdGlvbilieXRlc19mcm9taGV4LCBNRVRIX1ZBUkFSR1N8TUVUSF9DTEFTUywKLSAgICAgZnJvbWhleF9kb2N9LAorICAgIEJZVEVTX0ZST01IRVhfTUVUSE9EREVGCiAgICAgeyJpbmRleCIsIChQeUNGdW5jdGlvbilieXRlc19pbmRleCwgTUVUSF9WQVJBUkdTLCBpbmRleF9fZG9jX199LAogICAgIHsiaXNhbG51bSIsIChQeUNGdW5jdGlvbilzdHJpbmdsaWJfaXNhbG51bSwgTUVUSF9OT0FSR1MsCiAgICAgIF9QeV9pc2FsbnVtX19kb2NfX30sCkBAIC0yNDE5LDQwICszNjI0LDUwIEBACiAgICAgIF9QeV9pc3RpdGxlX19kb2NfX30sCiAgICAgeyJpc3VwcGVyIiwgKFB5Q0Z1bmN0aW9uKXN0cmluZ2xpYl9pc3VwcGVyLCBNRVRIX05PQVJHUywKICAgICAgX1B5X2lzdXBwZXJfX2RvY19ffSwKLSAgICB7ImpvaW4iLCAoUHlDRnVuY3Rpb24pYnl0ZXNfam9pbiwgTUVUSF9PLCBqb2luX19kb2NfX30sCisgICAgQllURVNfSk9JTl9NRVRIT0RERUYKICAgICB7ImxqdXN0IiwgKFB5Q0Z1bmN0aW9uKXN0cmluZ2xpYl9sanVzdCwgTUVUSF9WQVJBUkdTLCBsanVzdF9fZG9jX199LAogICAgIHsibG93ZXIiLCAoUHlDRnVuY3Rpb24pc3RyaW5nbGliX2xvd2VyLCBNRVRIX05PQVJHUywgX1B5X2xvd2VyX19kb2NfX30sCi0gICAgeyJsc3RyaXAiLCAoUHlDRnVuY3Rpb24pYnl0ZXNfbHN0cmlwLCBNRVRIX1ZBUkFSR1MsIGxzdHJpcF9fZG9jX199LAotICAgIHsibWFrZXRyYW5zIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVzX21ha2V0cmFucywgTUVUSF9WQVJBUkdTfE1FVEhfU1RBVElDLAotICAgICBfUHlfbWFrZXRyYW5zX19kb2NfX30sCi0gICAgeyJwYXJ0aXRpb24iLCAoUHlDRnVuY3Rpb24pYnl0ZXNfcGFydGl0aW9uLCBNRVRIX08sIHBhcnRpdGlvbl9fZG9jX199LAotICAgIHsicmVwbGFjZSIsIChQeUNGdW5jdGlvbilieXRlc19yZXBsYWNlLCBNRVRIX1ZBUkFSR1MsIHJlcGxhY2VfX2RvY19ffSwKKyAgICBCWVRFU19MU1RSSVBfTUVUSE9EREVGCisgICAgQllURVNfTUFLRVRSQU5TX01FVEhPRERFRgorICAgIEJZVEVTX1BBUlRJVElPTl9NRVRIT0RERUYKKyAgICBCWVRFU19SRVBMQUNFX01FVEhPRERFRgogICAgIHsicmZpbmQiLCAoUHlDRnVuY3Rpb24pYnl0ZXNfcmZpbmQsIE1FVEhfVkFSQVJHUywgcmZpbmRfX2RvY19ffSwKICAgICB7InJpbmRleCIsIChQeUNGdW5jdGlvbilieXRlc19yaW5kZXgsIE1FVEhfVkFSQVJHUywgcmluZGV4X19kb2NfX30sCiAgICAgeyJyanVzdCIsIChQeUNGdW5jdGlvbilzdHJpbmdsaWJfcmp1c3QsIE1FVEhfVkFSQVJHUywgcmp1c3RfX2RvY19ffSwKLSAgICB7InJwYXJ0aXRpb24iLCAoUHlDRnVuY3Rpb24pYnl0ZXNfcnBhcnRpdGlvbiwgTUVUSF9PLAotICAgICBycGFydGl0aW9uX19kb2NfX30sCi0gICAgeyJyc3BsaXQiLCAoUHlDRnVuY3Rpb24pYnl0ZXNfcnNwbGl0LCBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLCByc3BsaXRfX2RvY19ffSwKLSAgICB7InJzdHJpcCIsIChQeUNGdW5jdGlvbilieXRlc19yc3RyaXAsIE1FVEhfVkFSQVJHUywgcnN0cmlwX19kb2NfX30sCi0gICAgeyJzcGxpdCIsIChQeUNGdW5jdGlvbilieXRlc19zcGxpdCwgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywgc3BsaXRfX2RvY19ffSwKLSAgICB7InNwbGl0bGluZXMiLCAoUHlDRnVuY3Rpb24pYnl0ZXNfc3BsaXRsaW5lcywgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywKLSAgICAgc3BsaXRsaW5lc19fZG9jX199LAorICAgIEJZVEVTX1JQQVJUSVRJT05fTUVUSE9EREVGCisgICAgQllURVNfUlNQTElUX01FVEhPRERFRgorICAgIEJZVEVTX1JTVFJJUF9NRVRIT0RERUYKKyAgICBCWVRFU19TUExJVF9NRVRIT0RERUYKKyAgICBCWVRFU19TUExJVExJTkVTX01FVEhPRERFRgogICAgIHsic3RhcnRzd2l0aCIsIChQeUNGdW5jdGlvbilieXRlc19zdGFydHN3aXRoLCBNRVRIX1ZBUkFSR1MsCiAgICAgIHN0YXJ0c3dpdGhfX2RvY19ffSwKLSAgICB7InN0cmlwIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVzX3N0cmlwLCBNRVRIX1ZBUkFSR1MsIHN0cmlwX19kb2NfX30sCisgICAgQllURVNfU1RSSVBfTUVUSE9EREVGCiAgICAgeyJzd2FwY2FzZSIsIChQeUNGdW5jdGlvbilzdHJpbmdsaWJfc3dhcGNhc2UsIE1FVEhfTk9BUkdTLAogICAgICBfUHlfc3dhcGNhc2VfX2RvY19ffSwKICAgICB7InRpdGxlIiwgKFB5Q0Z1bmN0aW9uKXN0cmluZ2xpYl90aXRsZSwgTUVUSF9OT0FSR1MsIF9QeV90aXRsZV9fZG9jX199LAotICAgIHsidHJhbnNsYXRlIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVzX3RyYW5zbGF0ZSwgTUVUSF9WQVJBUkdTLAotICAgICB0cmFuc2xhdGVfX2RvY19ffSwKKyAgICBCWVRFU19UUkFOU0xBVEVfTUVUSE9EREVGCiAgICAgeyJ1cHBlciIsIChQeUNGdW5jdGlvbilzdHJpbmdsaWJfdXBwZXIsIE1FVEhfTk9BUkdTLCBfUHlfdXBwZXJfX2RvY19ffSwKICAgICB7InpmaWxsIiwgKFB5Q0Z1bmN0aW9uKXN0cmluZ2xpYl96ZmlsbCwgTUVUSF9WQVJBUkdTLCB6ZmlsbF9fZG9jX199LAotICAgIHsiX19zaXplb2ZfXyIsIChQeUNGdW5jdGlvbilieXRlc19zaXplb2YsIE1FVEhfTk9BUkdTLAotICAgICBzaXplb2ZfX2RvY19ffSwKKyAgICBCWVRFU19TSVpFT0ZfTUVUSE9EREVGCiAgICAge05VTEwsICAgICBOVUxMfSAgICAgICAgICAgICAgICAgICAgICAgICAvKiBzZW50aW5lbCAqLwogfTsKIAogc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVzX21vZChQeU9iamVjdCAqdiwgUHlPYmplY3QgKncpCit7CisgICAgaWYgKCFQeUJ5dGVzX0NoZWNrKHYpKQorICAgICAgICBQeV9SRVRVUk5fTk9USU1QTEVNRU5URUQ7CisgICAgcmV0dXJuIF9QeUJ5dGVzX0Zvcm1hdCh2LCB3KTsKK30KKworc3RhdGljIFB5TnVtYmVyTWV0aG9kcyBieXRlc19hc19udW1iZXIgPSB7CisgICAgMCwgICAgICAgICAgICAgIC8qbmJfYWRkKi8KKyAgICAwLCAgICAgICAgICAgICAgLypuYl9zdWJ0cmFjdCovCisgICAgMCwgICAgICAgICAgICAgIC8qbmJfbXVsdGlwbHkqLworICAgIGJ5dGVzX21vZCwgICAgICAvKm5iX3JlbWFpbmRlciovCit9OworCitzdGF0aWMgUHlPYmplY3QgKgogc3RyX3N1YnR5cGVfbmV3KFB5VHlwZU9iamVjdCAqdHlwZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKQEAgLTI0NzksNyArMzY5NCw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFyZ3VtZW50Iik7CiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgfQotICAgICAgICByZXR1cm4gUHlCeXRlc19Gcm9tU3RyaW5nKCIiKTsKKyAgICAgICAgcmV0dXJuIFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoTlVMTCwgMCk7CiAgICAgfQogCiAgICAgaWYgKFB5VW5pY29kZV9DaGVjayh4KSkgewpAQCAtMjUzNiwxMSArMzc1MSw5IEBACiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KICAgICBlbHNlIHsKLSAgICAgICAgbmV3ID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCBzaXplKTsKKyAgICAgICAgbmV3ID0gX1B5Qnl0ZXNfRnJvbVNpemUoc2l6ZSwgMSk7CiAgICAgICAgIGlmIChuZXcgPT0gTlVMTCkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICBpZiAoc2l6ZSA+IDApCi0gICAgICAgICAgICBtZW1zZXQoKChQeUJ5dGVzT2JqZWN0KiluZXcpLT5vYl9zdmFsLCAwLCBzaXplKTsKICAgICAgICAgcmV0dXJuIG5ldzsKICAgICB9CiAKQEAgLTI2MzgsMTAgKzM4NTEsMTIgQEAKICAgICAgICByZXR1cm5pbmcgYSBzaGFyZWQgZW1wdHkgYnl0ZXMgc3RyaW5nLiBUaGlzIHJlcXVpcmVkIGJlY2F1c2Ugd2UKICAgICAgICB3YW50IHRvIGNhbGwgX1B5Qnl0ZXNfUmVzaXplKCkgdGhlIHJldHVybmVkIG9iamVjdCwgd2hpY2ggd2UgY2FuCiAgICAgICAgb25seSBkbyBvbiBieXRlcyBvYmplY3RzIHdpdGggcmVmY291bnQgPT0gMS4gKi8KLSAgICBzaXplICs9IDE7CisgICAgaWYgKHNpemUgPT0gMCkKKyAgICAgICAgc2l6ZSA9IDE7CiAgICAgbmV3ID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCBzaXplKTsKICAgICBpZiAobmV3ID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOworICAgIGFzc2VydChQeV9SRUZDTlQobmV3KSA9PSAxKTsKIAogICAgIC8qIEdldCB0aGUgaXRlcmF0b3IgKi8KICAgICBpdCA9IFB5T2JqZWN0X0dldEl0ZXIoeCk7CkBAIC0yNzQzLDcgKzM5NTgsNyBAQAogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfc2V0YXR0ciAqLwogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfcmVzZXJ2ZWQgKi8KICAgICAocmVwcmZ1bmMpYnl0ZXNfcmVwciwgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3JlcHIgKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2FzX251bWJlciAqLworICAgICZieXRlc19hc19udW1iZXIsICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYXNfbnVtYmVyICovCiAgICAgJmJ5dGVzX2FzX3NlcXVlbmNlLCAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9hc19zZXF1ZW5jZSAqLwogICAgICZieXRlc19hc19tYXBwaW5nLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYXNfbWFwcGluZyAqLwogICAgIChoYXNoZnVuYylieXRlc19oYXNoLCAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfaGFzaCAqLwpAQCAtMjc3OCw3ICszOTkzLDYgQEAKIHZvaWQKIFB5Qnl0ZXNfQ29uY2F0KFB5T2JqZWN0ICoqcHYsIFB5T2JqZWN0ICp3KQogewotICAgIFB5T2JqZWN0ICp2OwogICAgIGFzc2VydChwdiAhPSBOVUxMKTsKICAgICBpZiAoKnB2ID09IE5VTEwpCiAgICAgICAgIHJldHVybjsKQEAgLTI3ODYsOSArNDAwMCw0NSBAQAogICAgICAgICBQeV9DTEVBUigqcHYpOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIHYgPSBieXRlc19jb25jYXQoKnB2LCB3KTsKLSAgICBQeV9ERUNSRUYoKnB2KTsKLSAgICAqcHYgPSB2OworCisgICAgaWYgKFB5X1JFRkNOVCgqcHYpID09IDEgJiYgUHlCeXRlc19DaGVja0V4YWN0KCpwdikpIHsKKyAgICAgICAgLyogT25seSBvbmUgcmVmZXJlbmNlLCBzbyB3ZSBjYW4gcmVzaXplIGluIHBsYWNlICovCisgICAgICAgIFB5X3NzaXplX3Qgb2xkc2l6ZTsKKyAgICAgICAgUHlfYnVmZmVyIHdiOworCisgICAgICAgIHdiLmxlbiA9IC0xOworICAgICAgICBpZiAoUHlPYmplY3RfR2V0QnVmZmVyKHcsICZ3YiwgUHlCVUZfU0lNUExFKSAhPSAwKSB7CisgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLCAiY2FuJ3QgY29uY2F0ICUuMTAwcyB0byAlLjEwMHMiLAorICAgICAgICAgICAgICAgICAgICAgICAgIFB5X1RZUEUodyktPnRwX25hbWUsIFB5X1RZUEUoKnB2KS0+dHBfbmFtZSk7CisgICAgICAgICAgICBQeV9DTEVBUigqcHYpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgb2xkc2l6ZSA9IFB5Qnl0ZXNfR0VUX1NJWkUoKnB2KTsKKyAgICAgICAgaWYgKG9sZHNpemUgPiBQWV9TU0laRV9UX01BWCAtIHdiLmxlbikgeworICAgICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgIH0KKyAgICAgICAgaWYgKF9QeUJ5dGVzX1Jlc2l6ZShwdiwgb2xkc2l6ZSArIHdiLmxlbikgPCAwKQorICAgICAgICAgICAgZ290byBlcnJvcjsKKworICAgICAgICBtZW1jcHkoUHlCeXRlc19BU19TVFJJTkcoKnB2KSArIG9sZHNpemUsIHdiLmJ1Ziwgd2IubGVuKTsKKyAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmd2IpOworICAgICAgICByZXR1cm47CisKKyAgICAgIGVycm9yOgorICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZ3Yik7CisgICAgICAgIFB5X0NMRUFSKCpwdik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBlbHNlIHsKKyAgICAgICAgLyogTXVsdGlwbGUgcmVmZXJlbmNlcywgbmVlZCB0byBjcmVhdGUgbmV3IG9iamVjdCAqLworICAgICAgICBQeU9iamVjdCAqdjsKKyAgICAgICAgdiA9IGJ5dGVzX2NvbmNhdCgqcHYsIHcpOworICAgICAgICBQeV9ERUNSRUYoKnB2KTsKKyAgICAgICAgKnB2ID0gdjsKKyAgICB9CiB9CiAKIHZvaWQKQEAgLTI3OTksMTQgKzQwNDksMTQgQEAKIH0KIAogCi0vKiBUaGUgZm9sbG93aW5nIGZ1bmN0aW9uIGJyZWFrcyB0aGUgbm90aW9uIHRoYXQgc3RyaW5ncyBhcmUgaW1tdXRhYmxlOgotICAgaXQgY2hhbmdlcyB0aGUgc2l6ZSBvZiBhIHN0cmluZy4gIFdlIGdldCBhd2F5IHdpdGggdGhpcyBvbmx5IGlmIHRoZXJlCisvKiBUaGUgZm9sbG93aW5nIGZ1bmN0aW9uIGJyZWFrcyB0aGUgbm90aW9uIHRoYXQgYnl0ZXMgYXJlIGltbXV0YWJsZToKKyAgIGl0IGNoYW5nZXMgdGhlIHNpemUgb2YgYSBieXRlcyBvYmplY3QuICBXZSBnZXQgYXdheSB3aXRoIHRoaXMgb25seSBpZiB0aGVyZQogICAgaXMgb25seSBvbmUgbW9kdWxlIHJlZmVyZW5jaW5nIHRoZSBvYmplY3QuICBZb3UgY2FuIGFsc28gdGhpbmsgb2YgaXQKLSAgIGFzIGNyZWF0aW5nIGEgbmV3IHN0cmluZyBvYmplY3QgYW5kIGRlc3Ryb3lpbmcgdGhlIG9sZCBvbmUsIG9ubHkKLSAgIG1vcmUgZWZmaWNpZW50bHkuICBJbiBhbnkgY2FzZSwgZG9uJ3QgdXNlIHRoaXMgaWYgdGhlIHN0cmluZyBtYXkKKyAgIGFzIGNyZWF0aW5nIGEgbmV3IGJ5dGVzIG9iamVjdCBhbmQgZGVzdHJveWluZyB0aGUgb2xkIG9uZSwgb25seQorICAgbW9yZSBlZmZpY2llbnRseS4gIEluIGFueSBjYXNlLCBkb24ndCB1c2UgdGhpcyBpZiB0aGUgYnl0ZXMgb2JqZWN0IG1heQogICAgYWxyZWFkeSBiZSBrbm93biB0byBzb21lIG90aGVyIHBhcnQgb2YgdGhlIGNvZGUuLi4KLSAgIE5vdGUgdGhhdCBpZiB0aGVyZSdzIG5vdCBlbm91Z2ggbWVtb3J5IHRvIHJlc2l6ZSB0aGUgc3RyaW5nLCB0aGUgb3JpZ2luYWwKLSAgIHN0cmluZyBvYmplY3QgYXQgKnB2IGlzIGRlYWxsb2NhdGVkLCAqcHYgaXMgc2V0IHRvIE5VTEwsIGFuICJvdXQgb2YKKyAgIE5vdGUgdGhhdCBpZiB0aGVyZSdzIG5vdCBlbm91Z2ggbWVtb3J5IHRvIHJlc2l6ZSB0aGUgYnl0ZXMgb2JqZWN0LCB0aGUKKyAgIG9yaWdpbmFsIGJ5dGVzIG9iamVjdCBhdCAqcHYgaXMgZGVhbGxvY2F0ZWQsICpwdiBpcyBzZXQgdG8gTlVMTCwgYW4gIm91dCBvZgogICAgbWVtb3J5IiBleGNlcHRpb24gaXMgc2V0LCBhbmQgLTEgaXMgcmV0dXJuZWQuICBFbHNlIChvbiBzdWNjZXNzKSAwIGlzCiAgICByZXR1cm5lZCwgYW5kIHRoZSB2YWx1ZSBpbiAqcHYgbWF5IG9yIG1heSBub3QgYmUgdGhlIHNhbWUgYXMgb24gaW5wdXQuCiAgICBBcyBhbHdheXMsIGFuIGV4dHJhIGJ5dGUgaXMgYWxsb2NhdGVkIGZvciBhIHRyYWlsaW5nIFwwIGJ5dGUgKG5ld3NpemUKQEAgLTI4MjksNyArNDA3OSw3IEBACiAgICAgX1B5X0RFQ19SRUZUT1RBTDsKICAgICBfUHlfRm9yZ2V0UmVmZXJlbmNlKHYpOwogICAgICpwdiA9IChQeU9iamVjdCAqKQotICAgICAgICBQeU9iamVjdF9SRUFMTE9DKChjaGFyICopdiwgUHlCeXRlc09iamVjdF9TSVpFICsgbmV3c2l6ZSk7CisgICAgICAgIFB5T2JqZWN0X1JFQUxMT0ModiwgUHlCeXRlc09iamVjdF9TSVpFICsgbmV3c2l6ZSk7CiAgICAgaWYgKCpwdiA9PSBOVUxMKSB7CiAgICAgICAgIFB5T2JqZWN0X0RlbCh2KTsKICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKZGlmZiAtLWdpdCBhL09iamVjdHMvY2xhc3NvYmplY3QuYyBiL09iamVjdHMvY2xhc3NvYmplY3QuYwppbmRleCAwYzBiZDQ3Li4wN2NiNjM5IDEwMDY0NAotLS0gYS9PYmplY3RzL2NsYXNzb2JqZWN0LmMKKysrIGIvT2JqZWN0cy9jbGFzc29iamVjdC5jCkBAIC0xNSw2ICsxNSw3IEBACiAjZW5kaWYKIAogX1B5X0lERU5USUZJRVIoX19uYW1lX18pOworX1B5X0lERU5USUZJRVIoX19xdWFsbmFtZV9fKTsKIAogUHlPYmplY3QgKgogUHlNZXRob2RfRnVuY3Rpb24oUHlPYmplY3QgKmltKQpAQCAtMjQzLDUxICsyNDQsMzMgQEAKIHsKICAgICBQeU9iamVjdCAqc2VsZiA9IGEtPmltX3NlbGY7CiAgICAgUHlPYmplY3QgKmZ1bmMgPSBhLT5pbV9mdW5jOwotICAgIFB5T2JqZWN0ICprbGFzczsKLSAgICBQeU9iamVjdCAqZnVuY25hbWUgPSBOVUxMICwqa2xhc3NuYW1lID0gTlVMTCwgKnJlc3VsdCA9IE5VTEw7Ci0gICAgY2hhciAqZGVmbmFtZSA9ICI/IjsKKyAgICBQeU9iamVjdCAqZnVuY25hbWUgPSBOVUxMLCAqcmVzdWx0ID0gTlVMTDsKKyAgICBjb25zdCBjaGFyICpkZWZuYW1lID0gIj8iOwogCi0gICAgaWYgKHNlbGYgPT0gTlVMTCkgewotICAgICAgICBQeUVycl9CYWRJbnRlcm5hbENhbGwoKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotICAgIGtsYXNzID0gKFB5T2JqZWN0KilQeV9UWVBFKHNlbGYpOwotCi0gICAgZnVuY25hbWUgPSBfUHlPYmplY3RfR2V0QXR0cklkKGZ1bmMsICZQeUlkX19fbmFtZV9fKTsKKyAgICBmdW5jbmFtZSA9IF9QeU9iamVjdF9HZXRBdHRySWQoZnVuYywgJlB5SWRfX19xdWFsbmFtZV9fKTsKICAgICBpZiAoZnVuY25hbWUgPT0gTlVMTCkgewogICAgICAgICBpZiAoIVB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMoUHlFeGNfQXR0cmlidXRlRXJyb3IpKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIFB5RXJyX0NsZWFyKCk7CisKKyAgICAgICAgZnVuY25hbWUgPSBfUHlPYmplY3RfR2V0QXR0cklkKGZ1bmMsICZQeUlkX19fbmFtZV9fKTsKKyAgICAgICAgaWYgKGZ1bmNuYW1lID09IE5VTEwpIHsKKyAgICAgICAgICAgIGlmICghUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcyhQeUV4Y19BdHRyaWJ1dGVFcnJvcikpCisgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgICAgICBQeUVycl9DbGVhcigpOworICAgICAgICB9CiAgICAgfQotICAgIGVsc2UgaWYgKCFQeVVuaWNvZGVfQ2hlY2soZnVuY25hbWUpKSB7CisgICAgCisgICAgaWYgKGZ1bmNuYW1lICE9IE5VTEwgJiYgIVB5VW5pY29kZV9DaGVjayhmdW5jbmFtZSkpIHsKICAgICAgICAgUHlfREVDUkVGKGZ1bmNuYW1lKTsKICAgICAgICAgZnVuY25hbWUgPSBOVUxMOwogICAgIH0KIAotICAgIGlmIChrbGFzcyA9PSBOVUxMKQotICAgICAgICBrbGFzc25hbWUgPSBOVUxMOwotICAgIGVsc2UgewotICAgICAgICBrbGFzc25hbWUgPSBfUHlPYmplY3RfR2V0QXR0cklkKGtsYXNzLCAmUHlJZF9fX25hbWVfXyk7Ci0gICAgICAgIGlmIChrbGFzc25hbWUgPT0gTlVMTCkgewotICAgICAgICAgICAgaWYgKCFQeUVycl9FeGNlcHRpb25NYXRjaGVzKFB5RXhjX0F0dHJpYnV0ZUVycm9yKSkgewotICAgICAgICAgICAgICAgIFB5X1hERUNSRUYoZnVuY25hbWUpOwotICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKLSAgICAgICAgfQotICAgICAgICBlbHNlIGlmICghUHlVbmljb2RlX0NoZWNrKGtsYXNzbmFtZSkpIHsKLSAgICAgICAgICAgIFB5X0RFQ1JFRihrbGFzc25hbWUpOwotICAgICAgICAgICAga2xhc3NuYW1lID0gTlVMTDsKLSAgICAgICAgfQotICAgIH0KLQogICAgIC8qIFhYWCBTaG91bGRuJ3QgdXNlIHJlcHIoKS8lUiBoZXJlISAqLwotICAgIHJlc3VsdCA9IFB5VW5pY29kZV9Gcm9tRm9ybWF0KCI8Ym91bmQgbWV0aG9kICVWLiVWIG9mICVSPiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2xhc3NuYW1lLCBkZWZuYW1lLAorICAgIHJlc3VsdCA9IFB5VW5pY29kZV9Gcm9tRm9ybWF0KCI8Ym91bmQgbWV0aG9kICVWIG9mICVSPiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY25hbWUsIGRlZm5hbWUsIHNlbGYpOwogCiAgICAgUHlfWERFQ1JFRihmdW5jbmFtZSk7Ci0gICAgUHlfWERFQ1JFRihrbGFzc25hbWUpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKZGlmZiAtLWdpdCBhL09iamVjdHMvY29tcGxleG9iamVjdC5jIGIvT2JqZWN0cy9jb21wbGV4b2JqZWN0LmMKaW5kZXggN2Y0Y2RkOS4uZGMxMjEyZSAxMDA2NDQKLS0tIGEvT2JqZWN0cy9jb21wbGV4b2JqZWN0LmMKKysrIGIvT2JqZWN0cy9jb21wbGV4b2JqZWN0LmMKQEAgLTEzLDcgKzEzLDcgQEAKIHN0YXRpYyBQeV9jb21wbGV4IGNfMSA9IHsxLiwgMC59OwogCiBQeV9jb21wbGV4Ci1jX3N1bShQeV9jb21wbGV4IGEsIFB5X2NvbXBsZXggYikKK19QeV9jX3N1bShQeV9jb21wbGV4IGEsIFB5X2NvbXBsZXggYikKIHsKICAgICBQeV9jb21wbGV4IHI7CiAgICAgci5yZWFsID0gYS5yZWFsICsgYi5yZWFsOwpAQCAtMjIsNyArMjIsNyBAQAogfQogCiBQeV9jb21wbGV4Ci1jX2RpZmYoUHlfY29tcGxleCBhLCBQeV9jb21wbGV4IGIpCitfUHlfY19kaWZmKFB5X2NvbXBsZXggYSwgUHlfY29tcGxleCBiKQogewogICAgIFB5X2NvbXBsZXggcjsKICAgICByLnJlYWwgPSBhLnJlYWwgLSBiLnJlYWw7CkBAIC0zMSw3ICszMSw3IEBACiB9CiAKIFB5X2NvbXBsZXgKLWNfbmVnKFB5X2NvbXBsZXggYSkKK19QeV9jX25lZyhQeV9jb21wbGV4IGEpCiB7CiAgICAgUHlfY29tcGxleCByOwogICAgIHIucmVhbCA9IC1hLnJlYWw7CkBAIC00MCw3ICs0MCw3IEBACiB9CiAKIFB5X2NvbXBsZXgKLWNfcHJvZChQeV9jb21wbGV4IGEsIFB5X2NvbXBsZXggYikKK19QeV9jX3Byb2QoUHlfY29tcGxleCBhLCBQeV9jb21wbGV4IGIpCiB7CiAgICAgUHlfY29tcGxleCByOwogICAgIHIucmVhbCA9IGEucmVhbCpiLnJlYWwgLSBhLmltYWcqYi5pbWFnOwpAQCAtNDksNyArNDksNyBAQAogfQogCiBQeV9jb21wbGV4Ci1jX3F1b3QoUHlfY29tcGxleCBhLCBQeV9jb21wbGV4IGIpCitfUHlfY19xdW90KFB5X2NvbXBsZXggYSwgUHlfY29tcGxleCBiKQogewogICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgICBUaGlzIHdhcyB0aGUgb3JpZ2luYWwgYWxnb3JpdGhtLiAgSXQncyBncm9zc2x5IHByb25lIHRvIHNwdXJpb3VzCkBAIC0xMDcsNyArMTA3LDcgQEAKIH0KIAogUHlfY29tcGxleAotY19wb3coUHlfY29tcGxleCBhLCBQeV9jb21wbGV4IGIpCitfUHlfY19wb3coUHlfY29tcGxleCBhLCBQeV9jb21wbGV4IGIpCiB7CiAgICAgUHlfY29tcGxleCByOwogICAgIGRvdWJsZSB2YWJzLGxlbixhdCxwaGFzZTsKQEAgLTE0NSw5ICsxNDUsOSBAQAogICAgIHAgPSB4OwogICAgIHdoaWxlIChtYXNrID4gMCAmJiBuID49IG1hc2spIHsKICAgICAgICAgaWYgKG4gJiBtYXNrKQotICAgICAgICAgICAgciA9IGNfcHJvZChyLHApOworICAgICAgICAgICAgciA9IF9QeV9jX3Byb2QocixwKTsKICAgICAgICAgbWFzayA8PD0gMTsKLSAgICAgICAgcCA9IGNfcHJvZChwLHApOworICAgICAgICBwID0gX1B5X2NfcHJvZChwLHApOwogICAgIH0KICAgICByZXR1cm4gcjsKIH0KQEAgLTE2MCwxNyArMTYwLDE3IEBACiAgICAgaWYgKG4gPiAxMDAgfHwgbiA8IC0xMDApIHsKICAgICAgICAgY24ucmVhbCA9IChkb3VibGUpIG47CiAgICAgICAgIGNuLmltYWcgPSAwLjsKLSAgICAgICAgcmV0dXJuIGNfcG93KHgsY24pOworICAgICAgICByZXR1cm4gX1B5X2NfcG93KHgsY24pOwogICAgIH0KICAgICBlbHNlIGlmIChuID4gMCkKICAgICAgICAgcmV0dXJuIGNfcG93dSh4LG4pOwogICAgIGVsc2UKLSAgICAgICAgcmV0dXJuIGNfcXVvdChjXzEsY19wb3d1KHgsLW4pKTsKKyAgICAgICAgcmV0dXJuIF9QeV9jX3F1b3QoY18xLCBjX3Bvd3UoeCwtbikpOwogCiB9CiAKIGRvdWJsZQotY19hYnMoUHlfY29tcGxleCB6KQorX1B5X2NfYWJzKFB5X2NvbXBsZXggeikKIHsKICAgICAvKiBzZXRzIGVycm5vID0gRVJBTkdFIG9uIG92ZXJmbG93OyAgb3RoZXJ3aXNlIGVycm5vID0gMCAqLwogICAgIGRvdWJsZSByZXN1bHQ7CkBAIC00NDUsNyArNDQ1LDcgQEAKICAgICBUT19DT01QTEVYKHYsIGEpOwogICAgIFRPX0NPTVBMRVgodywgYik7CiAgICAgUHlGUEVfU1RBUlRfUFJPVEVDVCgiY29tcGxleF9hZGQiLCByZXR1cm4gMCkKLSAgICByZXN1bHQgPSBjX3N1bShhLCBiKTsKKyAgICByZXN1bHQgPSBfUHlfY19zdW0oYSwgYik7CiAgICAgUHlGUEVfRU5EX1BST1RFQ1QocmVzdWx0KQogICAgIHJldHVybiBQeUNvbXBsZXhfRnJvbUNDb21wbGV4KHJlc3VsdCk7CiB9CkBAIC00NTgsNyArNDU4LDcgQEAKICAgICBUT19DT01QTEVYKHYsIGEpOwogICAgIFRPX0NPTVBMRVgodywgYik7CiAgICAgUHlGUEVfU1RBUlRfUFJPVEVDVCgiY29tcGxleF9zdWIiLCByZXR1cm4gMCkKLSAgICByZXN1bHQgPSBjX2RpZmYoYSwgYik7CisgICAgcmVzdWx0ID0gX1B5X2NfZGlmZihhLCBiKTsKICAgICBQeUZQRV9FTkRfUFJPVEVDVChyZXN1bHQpCiAgICAgcmV0dXJuIFB5Q29tcGxleF9Gcm9tQ0NvbXBsZXgocmVzdWx0KTsKIH0KQEAgLTQ3MSw3ICs0NzEsNyBAQAogICAgIFRPX0NPTVBMRVgodiwgYSk7CiAgICAgVE9fQ09NUExFWCh3LCBiKTsKICAgICBQeUZQRV9TVEFSVF9QUk9URUNUKCJjb21wbGV4X211bCIsIHJldHVybiAwKQotICAgIHJlc3VsdCA9IGNfcHJvZChhLCBiKTsKKyAgICByZXN1bHQgPSBfUHlfY19wcm9kKGEsIGIpOwogICAgIFB5RlBFX0VORF9QUk9URUNUKHJlc3VsdCkKICAgICByZXR1cm4gUHlDb21wbGV4X0Zyb21DQ29tcGxleChyZXN1bHQpOwogfQpAQCAtNDg1LDcgKzQ4NSw3IEBACiAgICAgVE9fQ09NUExFWCh3LCBiKTsKICAgICBQeUZQRV9TVEFSVF9QUk9URUNUKCJjb21wbGV4X2RpdiIsIHJldHVybiAwKQogICAgIGVycm5vID0gMDsKLSAgICBxdW90ID0gY19xdW90KGEsIGIpOworICAgIHF1b3QgPSBfUHlfY19xdW90KGEsIGIpOwogICAgIFB5RlBFX0VORF9QUk9URUNUKHF1b3QpCiAgICAgaWYgKGVycm5vID09IEVET00pIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1plcm9EaXZpc2lvbkVycm9yLCAiY29tcGxleCBkaXZpc2lvbiBieSB6ZXJvIik7CkBAIC01MzIsNyArNTMyLDcgQEAKICAgICBpZiAoZXhwb25lbnQuaW1hZyA9PSAwLiAmJiBleHBvbmVudC5yZWFsID09IGludF9leHBvbmVudCkKICAgICAgICAgcCA9IGNfcG93aShhLCBpbnRfZXhwb25lbnQpOwogICAgIGVsc2UKLSAgICAgICAgcCA9IGNfcG93KGEsIGV4cG9uZW50KTsKKyAgICAgICAgcCA9IF9QeV9jX3BvdyhhLCBleHBvbmVudCk7CiAKICAgICBQeUZQRV9FTkRfUFJPVEVDVChwKQogICAgIFB5X0FESlVTVF9FUkFOR0UyKHAucmVhbCwgcC5pbWFnKTsKQEAgLTU4Myw3ICs1ODMsNyBAQAogICAgIGRvdWJsZSByZXN1bHQ7CiAKICAgICBQeUZQRV9TVEFSVF9QUk9URUNUKCJjb21wbGV4X2FicyIsIHJldHVybiAwKQotICAgIHJlc3VsdCA9IGNfYWJzKHYtPmN2YWwpOworICAgIHJlc3VsdCA9IF9QeV9jX2Ficyh2LT5jdmFsKTsKICAgICBQeUZQRV9FTkRfUFJPVEVDVChyZXN1bHQpCiAKICAgICBpZiAoZXJybm8gPT0gRVJBTkdFKSB7CmRpZmYgLS1naXQgYS9PYmplY3RzL2RpY3RvYmplY3QuYyBiL09iamVjdHMvZGljdG9iamVjdC5jCmluZGV4IGJhYjYyNDIuLmEzMjE5ZjcgMTAwNjQ0Ci0tLSBhL09iamVjdHMvZGljdG9iamVjdC5jCisrKyBiL09iamVjdHMvZGljdG9iamVjdC5jCkBAIC0xMTAxLDYgKzExMDEsNDQgQEAKICAgICByZXR1cm4gKnZhbHVlX2FkZHI7CiB9CiAKK1B5T2JqZWN0ICoKK19QeURpY3RfR2V0SXRlbV9Lbm93bkhhc2goUHlPYmplY3QgKm9wLCBQeU9iamVjdCAqa2V5LCBQeV9oYXNoX3QgaGFzaCkKK3sKKyAgICBQeURpY3RPYmplY3QgKm1wID0gKFB5RGljdE9iamVjdCAqKW9wOworICAgIFB5RGljdEtleUVudHJ5ICplcDsKKyAgICBQeVRocmVhZFN0YXRlICp0c3RhdGU7CisgICAgUHlPYmplY3QgKip2YWx1ZV9hZGRyOworCisgICAgaWYgKCFQeURpY3RfQ2hlY2sob3ApKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIC8qIFdlIGNhbiBhcnJpdmUgaGVyZSB3aXRoIGEgTlVMTCB0c3RhdGUgZHVyaW5nIGluaXRpYWxpemF0aW9uOiB0cnkKKyAgICAgICBydW5uaW5nICJweXRob24gLVdpIiBmb3IgYW4gZXhhbXBsZSByZWxhdGVkIHRvIHN0cmluZyBpbnRlcm5pbmcuCisgICAgICAgTGV0J3MganVzdCBob3BlIHRoYXQgbm8gZXhjZXB0aW9uIG9jY3VycyB0aGVuLi4uICBUaGlzIG11c3QgYmUKKyAgICAgICBfUHlUaHJlYWRTdGF0ZV9DdXJyZW50IGFuZCBub3QgUHlUaHJlYWRTdGF0ZV9HRVQoKSBiZWNhdXNlIGluIGRlYnVnCisgICAgICAgbW9kZSwgdGhlIGxhdHRlciBjb21wbGFpbnMgaWYgdHN0YXRlIGlzIE5VTEwuICovCisgICAgdHN0YXRlID0gKFB5VGhyZWFkU3RhdGUqKV9QeV9hdG9taWNfbG9hZF9yZWxheGVkKAorICAgICAgICAmX1B5VGhyZWFkU3RhdGVfQ3VycmVudCk7CisgICAgaWYgKHRzdGF0ZSAhPSBOVUxMICYmIHRzdGF0ZS0+Y3VyZXhjX3R5cGUgIT0gTlVMTCkgeworICAgICAgICAvKiBwcmVzZXJ2ZSB0aGUgZXhpc3RpbmcgZXhjZXB0aW9uICovCisgICAgICAgIFB5T2JqZWN0ICplcnJfdHlwZSwgKmVycl92YWx1ZSwgKmVycl90YjsKKyAgICAgICAgUHlFcnJfRmV0Y2goJmVycl90eXBlLCAmZXJyX3ZhbHVlLCAmZXJyX3RiKTsKKyAgICAgICAgZXAgPSAobXAtPm1hX2tleXMtPmRrX2xvb2t1cCkobXAsIGtleSwgaGFzaCwgJnZhbHVlX2FkZHIpOworICAgICAgICAvKiBpZ25vcmUgZXJyb3JzICovCisgICAgICAgIFB5RXJyX1Jlc3RvcmUoZXJyX3R5cGUsIGVycl92YWx1ZSwgZXJyX3RiKTsKKyAgICAgICAgaWYgKGVwID09IE5VTEwpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIGVwID0gKG1wLT5tYV9rZXlzLT5ka19sb29rdXApKG1wLCBrZXksIGhhc2gsICZ2YWx1ZV9hZGRyKTsKKyAgICAgICAgaWYgKGVwID09IE5VTEwpIHsKKyAgICAgICAgICAgIFB5RXJyX0NsZWFyKCk7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorICAgIH0KKyAgICByZXR1cm4gKnZhbHVlX2FkZHI7Cit9CisKIC8qIFZhcmlhbnQgb2YgUHlEaWN0X0dldEl0ZW0oKSB0aGF0IGRvZXNuJ3Qgc3VwcHJlc3MgZXhjZXB0aW9ucy4KICAgIFRoaXMgcmV0dXJucyBOVUxMICp3aXRoKiBhbiBleGNlcHRpb24gc2V0IGlmIGFuIGV4Y2VwdGlvbiBvY2N1cnJlZC4KICAgIEl0IHJldHVybnMgTlVMTCAqd2l0aG91dCogYW4gZXhjZXB0aW9uIHNldCBpZiB0aGUga2V5IHdhc24ndCBwcmVzZW50LgpAQCAtMTIwOCw2ICsxMjQ2LDI0IEBACiB9CiAKIGludAorX1B5RGljdF9TZXRJdGVtX0tub3duSGFzaChQeU9iamVjdCAqb3AsIFB5T2JqZWN0ICprZXksIFB5T2JqZWN0ICp2YWx1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBQeV9oYXNoX3QgaGFzaCkKK3sKKyAgICBQeURpY3RPYmplY3QgKm1wOworCisgICAgaWYgKCFQeURpY3RfQ2hlY2sob3ApKSB7CisgICAgICAgIFB5RXJyX0JhZEludGVybmFsQ2FsbCgpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorICAgIGFzc2VydChrZXkpOworICAgIGFzc2VydCh2YWx1ZSk7CisgICAgbXAgPSAoUHlEaWN0T2JqZWN0ICopb3A7CisKKyAgICAvKiBpbnNlcnRkaWN0KCkgaGFuZGxlcyBhbnkgcmVzaXppbmcgdGhhdCBtaWdodCBiZSBuZWNlc3NhcnkgKi8KKyAgICByZXR1cm4gaW5zZXJ0ZGljdChtcCwga2V5LCBoYXNoLCB2YWx1ZSk7Cit9CisKK2ludAogUHlEaWN0X0RlbEl0ZW0oUHlPYmplY3QgKm9wLCBQeU9iamVjdCAqa2V5KQogewogICAgIFB5RGljdE9iamVjdCAqbXA7CmRpZmYgLS1naXQgYS9PYmplY3RzL2V4Y2VwdGlvbnMuYyBiL09iamVjdHMvZXhjZXB0aW9ucy5jCmluZGV4IGM3NmVjYTguLmUwOWQzODQgMTAwNjQ0Ci0tLSBhL09iamVjdHMvZXhjZXB0aW9ucy5jCisrKyBiL09iamVjdHMvZXhjZXB0aW9ucy5jCkBAIC0yNzE4LDcgKzI3MTgsNyBAQAogICAgIHNhbWVfYmFzaWNfc2l6ZSA9ICgKICAgICAgICAgY2F1Z2h0X3R5cGVfc2l6ZSA9PSBiYXNlX2V4Y19zaXplIHx8CiAgICAgICAgIChQeVR5cGVfU1VQUE9SVFNfV0VBS1JFRlMoY2F1Z2h0X3R5cGUpICYmCi0gICAgICAgICAgICAoY2F1Z2h0X3R5cGVfc2l6ZSA9PSBiYXNlX2V4Y19zaXplICsgc2l6ZW9mKFB5T2JqZWN0ICopKQorICAgICAgICAgICAgKGNhdWdodF90eXBlX3NpemUgPT0gYmFzZV9leGNfc2l6ZSArIChQeV9zc2l6ZV90KXNpemVvZihQeU9iamVjdCAqKSkKICAgICAgICAgKQogICAgICk7CiAgICAgaWYgKGNhdWdodF90eXBlLT50cF9pbml0ICE9IChpbml0cHJvYylCYXNlRXhjZXB0aW9uX2luaXQgfHwKZGlmZiAtLWdpdCBhL09iamVjdHMvZmxvYXRvYmplY3QuYyBiL09iamVjdHMvZmxvYXRvYmplY3QuYwppbmRleCAzM2UzMGNhLi44ZDg1MTIxIDEwMDY0NAotLS0gYS9PYmplY3RzL2Zsb2F0b2JqZWN0LmMKKysrIGIvT2JqZWN0cy9mbG9hdG9iamVjdC5jCkBAIC0yMDMyLDcgKzIwMzIsNyBAQAogICAgIH0KICAgICBlbHNlIHsKICAgICAgICAgZmxvYXQgeSA9IChmbG9hdCl4OwotICAgICAgICBjb25zdCBjaGFyICpzID0gKGNoYXIqKSZ5OworICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpzID0gKHVuc2lnbmVkIGNoYXIqKSZ5OwogICAgICAgICBpbnQgaSwgaW5jciA9IDE7CiAKICAgICAgICAgaWYgKFB5X0lTX0lORklOSVRZKHkpICYmICFQeV9JU19JTkZJTklUWSh4KSkKQEAgLTIxNjgsNyArMjE2OCw3IEBACiAgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAgICAgZWxzZSB7Ci0gICAgICAgIGNvbnN0IGNoYXIgKnMgPSAoY2hhciopJng7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnMgPSAodW5zaWduZWQgY2hhciopJng7CiAgICAgICAgIGludCBpLCBpbmNyID0gMTsKIAogICAgICAgICBpZiAoKGRvdWJsZV9mb3JtYXQgPT0gaWVlZV9saXR0bGVfZW5kaWFuX2Zvcm1hdCAmJiAhbGUpCmRpZmYgLS1naXQgYS9PYmplY3RzL2dlbm9iamVjdC5jIGIvT2JqZWN0cy9nZW5vYmplY3QuYwppbmRleCAwOGQzMGJmLi40YmU3MzlhIDEwMDY0NAotLS0gYS9PYmplY3RzL2dlbm9iamVjdC5jCisrKyBiL09iamVjdHMvZ2Vub2JqZWN0LmMKQEAgLTEyLDYgKzEyLDggQEAKIHsKICAgICBQeV9WSVNJVCgoUHlPYmplY3QgKilnZW4tPmdpX2ZyYW1lKTsKICAgICBQeV9WSVNJVChnZW4tPmdpX2NvZGUpOworICAgIFB5X1ZJU0lUKGdlbi0+Z2lfbmFtZSk7CisgICAgUHlfVklTSVQoZ2VuLT5naV9xdWFsbmFtZSk7CiAgICAgcmV0dXJuIDA7CiB9CiAKQEAgLTU4LDYgKzYwLDggQEAKICAgICBfUHlPYmplY3RfR0NfVU5UUkFDSyhzZWxmKTsKICAgICBQeV9DTEVBUihnZW4tPmdpX2ZyYW1lKTsKICAgICBQeV9DTEVBUihnZW4tPmdpX2NvZGUpOworICAgIFB5X0NMRUFSKGdlbi0+Z2lfbmFtZSk7CisgICAgUHlfQ0xFQVIoZ2VuLT5naV9xdWFsbmFtZSk7CiAgICAgUHlPYmplY3RfR0NfRGVsKGdlbik7CiB9CiAKQEAgLTM3MywxMSArMzc3LDcgQEAKIHN0YXRpYyBQeU9iamVjdCAqCiBnZW5faXRlcm5leHQoUHlHZW5PYmplY3QgKmdlbikKIHsKLSAgICBQeU9iamVjdCAqdmFsID0gTlVMTDsKLSAgICBQeU9iamVjdCAqcmV0OwotICAgIHJldCA9IGdlbl9zZW5kX2V4KGdlbiwgdmFsLCAwKTsKLSAgICBQeV9YREVDUkVGKHZhbCk7Ci0gICAgcmV0dXJuIHJldDsKKyAgICByZXR1cm4gZ2VuX3NlbmRfZXgoZ2VuLCBOVUxMLCAwKTsKIH0KIAogLyoKQEAgLTQxOCwzMyArNDE4LDczIEBACiBnZW5fcmVwcihQeUdlbk9iamVjdCAqZ2VuKQogewogICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbUZvcm1hdCgiPGdlbmVyYXRvciBvYmplY3QgJVMgYXQgJXA+IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChQeUNvZGVPYmplY3QgKilnZW4tPmdpX2NvZGUpLT5jb19uYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW4pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW4tPmdpX3F1YWxuYW1lLCBnZW4pOwogfQogCi0KIHN0YXRpYyBQeU9iamVjdCAqCi1nZW5fZ2V0X25hbWUoUHlHZW5PYmplY3QgKmdlbikKK2dlbl9nZXRfbmFtZShQeUdlbk9iamVjdCAqb3ApCiB7Ci0gICAgUHlPYmplY3QgKm5hbWUgPSAoKFB5Q29kZU9iamVjdCAqKWdlbi0+Z2lfY29kZSktPmNvX25hbWU7Ci0gICAgUHlfSU5DUkVGKG5hbWUpOwotICAgIHJldHVybiBuYW1lOworICAgIFB5X0lOQ1JFRihvcC0+Z2lfbmFtZSk7CisgICAgcmV0dXJuIG9wLT5naV9uYW1lOwogfQogCitzdGF0aWMgaW50CitnZW5fc2V0X25hbWUoUHlHZW5PYmplY3QgKm9wLCBQeU9iamVjdCAqdmFsdWUpCit7CisgICAgUHlPYmplY3QgKnRtcDsKIAotUHlEb2NfU1RSVkFSKGdlbl9fbmFtZV9fZG9jX18sCi0iUmV0dXJuIHRoZSBuYW1lIG9mIHRoZSBnZW5lcmF0b3IncyBhc3NvY2lhdGVkIGNvZGUgb2JqZWN0LiIpOworICAgIC8qIE5vdCBsZWdhbCB0byBkZWwgZ2VuLmdpX25hbWUgb3IgdG8gc2V0IGl0IHRvIGFueXRoaW5nCisgICAgICogb3RoZXIgdGhhbiBhIHN0cmluZyBvYmplY3QuICovCisgICAgaWYgKHZhbHVlID09IE5VTEwgfHwgIVB5VW5pY29kZV9DaGVjayh2YWx1ZSkpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICJfX25hbWVfXyBtdXN0IGJlIHNldCB0byBhIHN0cmluZyBvYmplY3QiKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKyAgICB0bXAgPSBvcC0+Z2lfbmFtZTsKKyAgICBQeV9JTkNSRUYodmFsdWUpOworICAgIG9wLT5naV9uYW1lID0gdmFsdWU7CisgICAgUHlfREVDUkVGKHRtcCk7CisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitnZW5fZ2V0X3F1YWxuYW1lKFB5R2VuT2JqZWN0ICpvcCkKK3sKKyAgICBQeV9JTkNSRUYob3AtPmdpX3F1YWxuYW1lKTsKKyAgICByZXR1cm4gb3AtPmdpX3F1YWxuYW1lOworfQorCitzdGF0aWMgaW50CitnZW5fc2V0X3F1YWxuYW1lKFB5R2VuT2JqZWN0ICpvcCwgUHlPYmplY3QgKnZhbHVlKQoreworICAgIFB5T2JqZWN0ICp0bXA7CisKKyAgICAvKiBOb3QgbGVnYWwgdG8gZGVsIGdlbi5fX3F1YWxuYW1lX18gb3IgdG8gc2V0IGl0IHRvIGFueXRoaW5nCisgICAgICogb3RoZXIgdGhhbiBhIHN0cmluZyBvYmplY3QuICovCisgICAgaWYgKHZhbHVlID09IE5VTEwgfHwgIVB5VW5pY29kZV9DaGVjayh2YWx1ZSkpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICJfX3F1YWxuYW1lX18gbXVzdCBiZSBzZXQgdG8gYSBzdHJpbmcgb2JqZWN0Iik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisgICAgdG1wID0gb3AtPmdpX3F1YWxuYW1lOworICAgIFB5X0lOQ1JFRih2YWx1ZSk7CisgICAgb3AtPmdpX3F1YWxuYW1lID0gdmFsdWU7CisgICAgUHlfREVDUkVGKHRtcCk7CisgICAgcmV0dXJuIDA7Cit9CiAKIHN0YXRpYyBQeUdldFNldERlZiBnZW5fZ2V0c2V0bGlzdFtdID0gewotICAgIHsiX19uYW1lX18iLCAoZ2V0dGVyKWdlbl9nZXRfbmFtZSwgTlVMTCwgZ2VuX19uYW1lX19kb2NfX30sCi0gICAge05VTEx9CisgICAgeyJfX25hbWVfXyIsIChnZXR0ZXIpZ2VuX2dldF9uYW1lLCAoc2V0dGVyKWdlbl9zZXRfbmFtZSwKKyAgICAgUHlEb2NfU1RSKCJuYW1lIG9mIHRoZSBnZW5lcmF0b3IiKX0sCisgICAgeyJfX3F1YWxuYW1lX18iLCAoZ2V0dGVyKWdlbl9nZXRfcXVhbG5hbWUsIChzZXR0ZXIpZ2VuX3NldF9xdWFsbmFtZSwKKyAgICAgUHlEb2NfU1RSKCJxdWFsaWZpZWQgbmFtZSBvZiB0aGUgZ2VuZXJhdG9yIil9LAorICAgIHtOVUxMfSAvKiBTZW50aW5lbCAqLwogfTsKIAotCiBzdGF0aWMgUHlNZW1iZXJEZWYgZ2VuX21lbWJlcmxpc3RbXSA9IHsKLSAgICB7ImdpX2ZyYW1lIiwgICAgICAgIFRfT0JKRUNULCBvZmZzZXRvZihQeUdlbk9iamVjdCwgZ2lfZnJhbWUpLCAgICAgIFJFQURPTkxZfSwKLSAgICB7ImdpX3J1bm5pbmciLCAgICAgIFRfQk9PTCwgICAgb2Zmc2V0b2YoUHlHZW5PYmplY3QsIGdpX3J1bm5pbmcpLCAgICBSRUFET05MWX0sCi0gICAgeyJnaV9jb2RlIiwgICAgIFRfT0JKRUNULCBvZmZzZXRvZihQeUdlbk9iamVjdCwgZ2lfY29kZSksICBSRUFET05MWX0sCisgICAgeyJnaV9mcmFtZSIsICAgICBUX09CSkVDVCwgb2Zmc2V0b2YoUHlHZW5PYmplY3QsIGdpX2ZyYW1lKSwgICAgUkVBRE9OTFl9LAorICAgIHsiZ2lfcnVubmluZyIsICAgVF9CT09MLCAgIG9mZnNldG9mKFB5R2VuT2JqZWN0LCBnaV9ydW5uaW5nKSwgIFJFQURPTkxZfSwKKyAgICB7ImdpX2NvZGUiLCAgICAgIFRfT0JKRUNULCBvZmZzZXRvZihQeUdlbk9iamVjdCwgZ2lfY29kZSksICAgICBSRUFET05MWX0sCiAgICAge05VTEx9ICAgICAgLyogU2VudGluZWwgKi8KIH07CiAKQEAgLTUxMCw3ICs1NTAsNyBAQAogfTsKIAogUHlPYmplY3QgKgotUHlHZW5fTmV3KFB5RnJhbWVPYmplY3QgKmYpCitQeUdlbl9OZXdXaXRoUXVhbE5hbWUoUHlGcmFtZU9iamVjdCAqZiwgUHlPYmplY3QgKm5hbWUsIFB5T2JqZWN0ICpxdWFsbmFtZSkKIHsKICAgICBQeUdlbk9iamVjdCAqZ2VuID0gUHlPYmplY3RfR0NfTmV3KFB5R2VuT2JqZWN0LCAmUHlHZW5fVHlwZSk7CiAgICAgaWYgKGdlbiA9PSBOVUxMKSB7CkBAIC01MjMsMTAgKzU2MywyNiBAQAogICAgIGdlbi0+Z2lfY29kZSA9IChQeU9iamVjdCAqKShmLT5mX2NvZGUpOwogICAgIGdlbi0+Z2lfcnVubmluZyA9IDA7CiAgICAgZ2VuLT5naV93ZWFrcmVmbGlzdCA9IE5VTEw7CisgICAgaWYgKG5hbWUgIT0gTlVMTCkKKyAgICAgICAgZ2VuLT5naV9uYW1lID0gbmFtZTsKKyAgICBlbHNlCisgICAgICAgIGdlbi0+Z2lfbmFtZSA9ICgoUHlDb2RlT2JqZWN0ICopZ2VuLT5naV9jb2RlKS0+Y29fbmFtZTsKKyAgICBQeV9JTkNSRUYoZ2VuLT5naV9uYW1lKTsKKyAgICBpZiAocXVhbG5hbWUgIT0gTlVMTCkKKyAgICAgICAgZ2VuLT5naV9xdWFsbmFtZSA9IHF1YWxuYW1lOworICAgIGVsc2UKKyAgICAgICAgZ2VuLT5naV9xdWFsbmFtZSA9IGdlbi0+Z2lfbmFtZTsKKyAgICBQeV9JTkNSRUYoZ2VuLT5naV9xdWFsbmFtZSk7CiAgICAgX1B5T2JqZWN0X0dDX1RSQUNLKGdlbik7CiAgICAgcmV0dXJuIChQeU9iamVjdCAqKWdlbjsKIH0KIAorUHlPYmplY3QgKgorUHlHZW5fTmV3KFB5RnJhbWVPYmplY3QgKmYpCit7CisgICAgcmV0dXJuIFB5R2VuX05ld1dpdGhRdWFsTmFtZShmLCBOVUxMLCBOVUxMKTsKK30KKwogaW50CiBQeUdlbl9OZWVkc0ZpbmFsaXppbmcoUHlHZW5PYmplY3QgKmdlbikKIHsKZGlmZiAtLWdpdCBhL09iamVjdHMvbGlzdG9iamVjdC5jIGIvT2JqZWN0cy9saXN0b2JqZWN0LmMKaW5kZXggZmQ1YTcyYS4uZTdjNGM4MiAxMDA2NDQKLS0tIGEvT2JqZWN0cy9saXN0b2JqZWN0LmMKKysrIGIvT2JqZWN0cy9saXN0b2JqZWN0LmMKQEAgLTI0NDQsNyArMjQ0NCw3IEBACiAgICAgfQogICAgIGVsc2UgewogICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgImxpc3QgaW5kaWNlcyBtdXN0IGJlIGludGVnZXJzLCBub3QgJS4yMDBzIiwKKyAgICAgICAgICAgICAgICAgICAgICJsaXN0IGluZGljZXMgbXVzdCBiZSBpbnRlZ2VycyBvciBzbGljZXMsIG5vdCAlLjIwMHMiLAogICAgICAgICAgICAgICAgICAgICAgaXRlbS0+b2JfdHlwZS0+dHBfbmFtZSk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KQEAgLTI2MDgsNyArMjYwOCw3IEBACiAgICAgfQogICAgIGVsc2UgewogICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgImxpc3QgaW5kaWNlcyBtdXN0IGJlIGludGVnZXJzLCBub3QgJS4yMDBzIiwKKyAgICAgICAgICAgICAgICAgICAgICJsaXN0IGluZGljZXMgbXVzdCBiZSBpbnRlZ2VycyBvciBzbGljZXMsIG5vdCAlLjIwMHMiLAogICAgICAgICAgICAgICAgICAgICAgaXRlbS0+b2JfdHlwZS0+dHBfbmFtZSk7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9CmRpZmYgLS1naXQgYS9PYmplY3RzL2xvbmdvYmplY3QuYyBiL09iamVjdHMvbG9uZ29iamVjdC5jCmluZGV4IDcwMzZjMGUuLjI3YmVlNTAgMTAwNjQ0Ci0tLSBhL09iamVjdHMvbG9uZ29iamVjdC5jCisrKyBiL09iamVjdHMvbG9uZ29iamVjdC5jCkBAIC0yMSw3ICsyMSw2IEBACiAgICAgICAgICBQeV9TSVpFKHgpIDwgMCA/IC0oc2RpZ2l0KSh4KS0+b2JfZGlnaXRbMF0gOiAgIFwKICAgICAgICAgICAgICAoUHlfU0laRSh4KSA9PSAwID8gKHNkaWdpdCkwIDogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgICAgICAgKHNkaWdpdCkoeCktPm9iX2RpZ2l0WzBdKSkKLSNkZWZpbmUgQUJTKHgpICgoeCkgPCAwID8gLSh4KSA6ICh4KSkKIAogI2lmIE5TTUFMTE5FR0lOVFMgKyBOU01BTExQT1NJTlRTID4gMAogLyogU21hbGwgaW50ZWdlcnMgYXJlIHByZWFsbG9jYXRlZCBpbiB0aGlzIGFycmF5IHNvIHRoYXQgdGhleQpAQCAtNTcsNyArNTYsNyBAQAogc3RhdGljIFB5TG9uZ09iamVjdCAqCiBtYXliZV9zbWFsbF9sb25nKFB5TG9uZ09iamVjdCAqdikKIHsKLSAgICBpZiAodiAmJiBBQlMoUHlfU0laRSh2KSkgPD0gMSkgeworICAgIGlmICh2ICYmIFB5X0FCUyhQeV9TSVpFKHYpKSA8PSAxKSB7CiAgICAgICAgIHNkaWdpdCBpdmFsID0gTUVESVVNX1ZBTFVFKHYpOwogICAgICAgICBpZiAoLU5TTUFMTE5FR0lOVFMgPD0gaXZhbCAmJiBpdmFsIDwgTlNNQUxMUE9TSU5UUykgewogICAgICAgICAgICAgUHlfREVDUkVGKHYpOwpAQCAtMTE0LDcgKzExMyw3IEBACiBzdGF0aWMgUHlMb25nT2JqZWN0ICoKIGxvbmdfbm9ybWFsaXplKFB5TG9uZ09iamVjdCAqdikKIHsKLSAgICBQeV9zc2l6ZV90IGogPSBBQlMoUHlfU0laRSh2KSk7CisgICAgUHlfc3NpemVfdCBqID0gUHlfQUJTKFB5X1NJWkUodikpOwogICAgIFB5X3NzaXplX3QgaSA9IGo7CiAKICAgICB3aGlsZSAoaSA+IDAgJiYgdi0+b2JfZGlnaXRbaS0xXSA9PSAwKQpAQCAtNzE4LDcgKzcxNyw3IEBACiAKICAgICBhc3NlcnQodiAhPSBOVUxMKTsKICAgICBhc3NlcnQoUHlMb25nX0NoZWNrKHYpKTsKLSAgICBuZGlnaXRzID0gQUJTKFB5X1NJWkUodikpOworICAgIG5kaWdpdHMgPSBQeV9BQlMoUHlfU0laRSh2KSk7CiAgICAgYXNzZXJ0KG5kaWdpdHMgPT0gMCB8fCB2LT5vYl9kaWdpdFtuZGlnaXRzIC0gMV0gIT0gMCk7CiAgICAgaWYgKG5kaWdpdHMgPiAwKSB7CiAgICAgICAgIGRpZ2l0IG1zZCA9IHYtPm9iX2RpZ2l0W25kaWdpdHMgLSAxXTsKQEAgLTE1NjUsNyArMTU2NCw3IEBACiBzdGF0aWMgUHlMb25nT2JqZWN0ICoKIGRpdnJlbTEoUHlMb25nT2JqZWN0ICphLCBkaWdpdCBuLCBkaWdpdCAqcHJlbSkKIHsKLSAgICBjb25zdCBQeV9zc2l6ZV90IHNpemUgPSBBQlMoUHlfU0laRShhKSk7CisgICAgY29uc3QgUHlfc3NpemVfdCBzaXplID0gUHlfQUJTKFB5X1NJWkUoYSkpOwogICAgIFB5TG9uZ09iamVjdCAqejsKIAogICAgIGFzc2VydChuID4gMCAmJiBuIDw9IFB5TG9uZ19NQVNLKTsKQEAgLTE1OTcsNyArMTU5Niw3IEBACiAgICAgICAgIFB5RXJyX0JhZEludGVybmFsQ2FsbCgpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQotICAgIHNpemVfYSA9IEFCUyhQeV9TSVpFKGEpKTsKKyAgICBzaXplX2EgPSBQeV9BQlMoUHlfU0laRShhKSk7CiAgICAgbmVnYXRpdmUgPSBQeV9TSVpFKGEpIDwgMDsKIAogICAgIC8qIHF1aWNrIGFuZCBkaXJ0eSB1cHBlciBib3VuZCBmb3IgdGhlIG51bWJlciBvZiBkaWdpdHMKQEAgLTE3NjYsNyArMTc2NSw3IEBACiAgICAgICAgIFB5RXJyX0JhZEludGVybmFsQ2FsbCgpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQotICAgIHNpemVfYSA9IEFCUyhQeV9TSVpFKGEpKTsKKyAgICBzaXplX2EgPSBQeV9BQlMoUHlfU0laRShhKSk7CiAgICAgbmVnYXRpdmUgPSBQeV9TSVpFKGEpIDwgMDsKIAogICAgIC8qIENvbXB1dGUgYSByb3VnaCB1cHBlciBib3VuZCBmb3IgdGhlIGxlbmd0aCBvZiB0aGUgc3RyaW5nICovCkBAIC0yMzEzLDcgKzIzMTIsNyBAQAogICAgIFB5T2JqZWN0ICpyZXN1bHQsICpzdHJvYmo7CiAgICAgY2hhciAqZW5kID0gTlVMTDsKIAotICAgIHJlc3VsdCA9IFB5TG9uZ19Gcm9tU3RyaW5nKChjaGFyKilzLCAmZW5kLCBiYXNlKTsKKyAgICByZXN1bHQgPSBQeUxvbmdfRnJvbVN0cmluZyhzLCAmZW5kLCBiYXNlKTsKICAgICBpZiAoZW5kID09IE5VTEwgfHwgKHJlc3VsdCAhPSBOVUxMICYmIGVuZCA9PSBzICsgbGVuKSkKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICBQeV9YREVDUkVGKHJlc3VsdCk7CkBAIC0yMzgwLDcgKzIzNzksNyBAQAogbG9uZ19kaXZyZW0oUHlMb25nT2JqZWN0ICphLCBQeUxvbmdPYmplY3QgKmIsCiAgICAgICAgICAgICBQeUxvbmdPYmplY3QgKipwZGl2LCBQeUxvbmdPYmplY3QgKipwcmVtKQogewotICAgIFB5X3NzaXplX3Qgc2l6ZV9hID0gQUJTKFB5X1NJWkUoYSkpLCBzaXplX2IgPSBBQlMoUHlfU0laRShiKSk7CisgICAgUHlfc3NpemVfdCBzaXplX2EgPSBQeV9BQlMoUHlfU0laRShhKSksIHNpemVfYiA9IFB5X0FCUyhQeV9TSVpFKGIpKTsKICAgICBQeUxvbmdPYmplY3QgKno7CiAKICAgICBpZiAoc2l6ZV9iID09IDApIHsKQEAgLTI0MzksNyArMjQzOCw3IEBACiB9CiAKIC8qIFVuc2lnbmVkIGludCBkaXZpc2lvbiB3aXRoIHJlbWFpbmRlciAtLSB0aGUgYWxnb3JpdGhtLiAgVGhlIGFyZ3VtZW50cyB2MQotICAgYW5kIHcxIHNob3VsZCBzYXRpc2Z5IDIgPD0gQUJTKFB5X1NJWkUodzEpKSA8PSBBQlMoUHlfU0laRSh2MSkpLiAqLworICAgYW5kIHcxIHNob3VsZCBzYXRpc2Z5IDIgPD0gUHlfQUJTKFB5X1NJWkUodzEpKSA8PSBQeV9BQlMoUHlfU0laRSh2MSkpLiAqLwogCiBzdGF0aWMgUHlMb25nT2JqZWN0ICoKIHhfZGl2cmVtKFB5TG9uZ09iamVjdCAqdjEsIFB5TG9uZ09iamVjdCAqdzEsIFB5TG9uZ09iamVjdCAqKnByZW0pCkBAIC0yNDU5LDggKzI0NTgsOCBAQAogICAgICAgIHRoYXQgd29uJ3Qgb3ZlcmZsb3cgYSBkaWdpdC4gKi8KIAogICAgIC8qIGFsbG9jYXRlIHNwYWNlOyB3IHdpbGwgYWxzbyBiZSB1c2VkIHRvIGhvbGQgdGhlIGZpbmFsIHJlbWFpbmRlciAqLwotICAgIHNpemVfdiA9IEFCUyhQeV9TSVpFKHYxKSk7Ci0gICAgc2l6ZV93ID0gQUJTKFB5X1NJWkUodzEpKTsKKyAgICBzaXplX3YgPSBQeV9BQlMoUHlfU0laRSh2MSkpOworICAgIHNpemVfdyA9IFB5X0FCUyhQeV9TSVpFKHcxKSk7CiAgICAgYXNzZXJ0KHNpemVfdiA+PSBzaXplX3cgJiYgc2l6ZV93ID49IDIpOyAvKiBBc3NlcnQgY2hlY2tzIGJ5IGRpdigpICovCiAgICAgdiA9IF9QeUxvbmdfTmV3KHNpemVfdisxKTsKICAgICBpZiAodiA9PSBOVUxMKSB7CkBAIC0yNTkxLDcgKzI1OTAsNyBAQAogICAgICAgIG11bHRpcGxlIG9mIDQsIHJvdW5kaW5nIHRpZXMgdG8gYSBtdWx0aXBsZSBvZiA4LiAqLwogICAgIHN0YXRpYyBjb25zdCBpbnQgaGFsZl9ldmVuX2NvcnJlY3Rpb25bOF0gPSB7MCwgLTEsIC0yLCAxLCAwLCAtMSwgMiwgMX07CiAKLSAgICBhX3NpemUgPSBBQlMoUHlfU0laRShhKSk7CisgICAgYV9zaXplID0gUHlfQUJTKFB5X1NJWkUoYSkpOwogICAgIGlmIChhX3NpemUgPT0gMCkgewogICAgICAgICAvKiBTcGVjaWFsIGNhc2UgZm9yIDA6IHNpZ25pZmljYW5kIDAuMCwgZXhwb25lbnQgMC4gKi8KICAgICAgICAgKmUgPSAwOwpAQCAtMjczMiw3ICsyNzMxLDcgQEAKICAgICAgICAgc2lnbiA9IFB5X1NJWkUoYSkgLSBQeV9TSVpFKGIpOwogICAgIH0KICAgICBlbHNlIHsKLSAgICAgICAgUHlfc3NpemVfdCBpID0gQUJTKFB5X1NJWkUoYSkpOworICAgICAgICBQeV9zc2l6ZV90IGkgPSBQeV9BQlMoUHlfU0laRShhKSk7CiAgICAgICAgIHdoaWxlICgtLWkgPj0gMCAmJiBhLT5vYl9kaWdpdFtpXSA9PSBiLT5vYl9kaWdpdFtpXSkKICAgICAgICAgICAgIDsKICAgICAgICAgaWYgKGkgPCAwKQpAQCAtMjg1MCw3ICsyODQ5LDcgQEAKIHN0YXRpYyBQeUxvbmdPYmplY3QgKgogeF9hZGQoUHlMb25nT2JqZWN0ICphLCBQeUxvbmdPYmplY3QgKmIpCiB7Ci0gICAgUHlfc3NpemVfdCBzaXplX2EgPSBBQlMoUHlfU0laRShhKSksIHNpemVfYiA9IEFCUyhQeV9TSVpFKGIpKTsKKyAgICBQeV9zc2l6ZV90IHNpemVfYSA9IFB5X0FCUyhQeV9TSVpFKGEpKSwgc2l6ZV9iID0gUHlfQUJTKFB5X1NJWkUoYikpOwogICAgIFB5TG9uZ09iamVjdCAqejsKICAgICBQeV9zc2l6ZV90IGk7CiAgICAgZGlnaXQgY2FycnkgPSAwOwpAQCAtMjg4NCw3ICsyODgzLDcgQEAKIHN0YXRpYyBQeUxvbmdPYmplY3QgKgogeF9zdWIoUHlMb25nT2JqZWN0ICphLCBQeUxvbmdPYmplY3QgKmIpCiB7Ci0gICAgUHlfc3NpemVfdCBzaXplX2EgPSBBQlMoUHlfU0laRShhKSksIHNpemVfYiA9IEFCUyhQeV9TSVpFKGIpKTsKKyAgICBQeV9zc2l6ZV90IHNpemVfYSA9IFB5X0FCUyhQeV9TSVpFKGEpKSwgc2l6ZV9iID0gUHlfQUJTKFB5X1NJWkUoYikpOwogICAgIFB5TG9uZ09iamVjdCAqejsKICAgICBQeV9zc2l6ZV90IGk7CiAgICAgaW50IHNpZ24gPSAxOwpAQCAtMjk0NCw3ICsyOTQzLDcgQEAKIAogICAgIENIRUNLX0JJTk9QKGEsIGIpOwogCi0gICAgaWYgKEFCUyhQeV9TSVpFKGEpKSA8PSAxICYmIEFCUyhQeV9TSVpFKGIpKSA8PSAxKSB7CisgICAgaWYgKFB5X0FCUyhQeV9TSVpFKGEpKSA8PSAxICYmIFB5X0FCUyhQeV9TSVpFKGIpKSA8PSAxKSB7CiAgICAgICAgIFB5T2JqZWN0ICpyZXN1bHQgPSBQeUxvbmdfRnJvbUxvbmcoTUVESVVNX1ZBTFVFKGEpICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1FRElVTV9WQUxVRShiKSk7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CkBAIC0yOTc0LDcgKzI5NzMsNyBAQAogCiAgICAgQ0hFQ0tfQklOT1AoYSwgYik7CiAKLSAgICBpZiAoQUJTKFB5X1NJWkUoYSkpIDw9IDEgJiYgQUJTKFB5X1NJWkUoYikpIDw9IDEpIHsKKyAgICBpZiAoUHlfQUJTKFB5X1NJWkUoYSkpIDw9IDEgJiYgUHlfQUJTKFB5X1NJWkUoYikpIDw9IDEpIHsKICAgICAgICAgUHlPYmplY3QqIHI7CiAgICAgICAgIHIgPSBQeUxvbmdfRnJvbUxvbmcoTUVESVVNX1ZBTFVFKGEpLU1FRElVTV9WQUxVRShiKSk7CiAgICAgICAgIHJldHVybiByOwpAQCAtMzAwMyw4ICszMDAyLDggQEAKIHhfbXVsKFB5TG9uZ09iamVjdCAqYSwgUHlMb25nT2JqZWN0ICpiKQogewogICAgIFB5TG9uZ09iamVjdCAqejsKLSAgICBQeV9zc2l6ZV90IHNpemVfYSA9IEFCUyhQeV9TSVpFKGEpKTsKLSAgICBQeV9zc2l6ZV90IHNpemVfYiA9IEFCUyhQeV9TSVpFKGIpKTsKKyAgICBQeV9zc2l6ZV90IHNpemVfYSA9IFB5X0FCUyhQeV9TSVpFKGEpKTsKKyAgICBQeV9zc2l6ZV90IHNpemVfYiA9IFB5X0FCUyhQeV9TSVpFKGIpKTsKICAgICBQeV9zc2l6ZV90IGk7CiAKICAgICB6ID0gX1B5TG9uZ19OZXcoc2l6ZV9hICsgc2l6ZV9iKTsKQEAgLTMwOTgsNyArMzA5Nyw3IEBACiB7CiAgICAgUHlMb25nT2JqZWN0ICpoaSwgKmxvOwogICAgIFB5X3NzaXplX3Qgc2l6ZV9sbywgc2l6ZV9oaTsKLSAgICBjb25zdCBQeV9zc2l6ZV90IHNpemVfbiA9IEFCUyhQeV9TSVpFKG4pKTsKKyAgICBjb25zdCBQeV9zc2l6ZV90IHNpemVfbiA9IFB5X0FCUyhQeV9TSVpFKG4pKTsKIAogICAgIHNpemVfbG8gPSBQeV9NSU4oc2l6ZV9uLCBzaXplKTsKICAgICBzaXplX2hpID0gc2l6ZV9uIC0gc2l6ZV9sbzsKQEAgLTMxMjcsOCArMzEyNiw4IEBACiBzdGF0aWMgUHlMb25nT2JqZWN0ICoKIGtfbXVsKFB5TG9uZ09iamVjdCAqYSwgUHlMb25nT2JqZWN0ICpiKQogewotICAgIFB5X3NzaXplX3QgYXNpemUgPSBBQlMoUHlfU0laRShhKSk7Ci0gICAgUHlfc3NpemVfdCBic2l6ZSA9IEFCUyhQeV9TSVpFKGIpKTsKKyAgICBQeV9zc2l6ZV90IGFzaXplID0gUHlfQUJTKFB5X1NJWkUoYSkpOworICAgIFB5X3NzaXplX3QgYnNpemUgPSBQeV9BQlMoUHlfU0laRShiKSk7CiAgICAgUHlMb25nT2JqZWN0ICphaCA9IE5VTEw7CiAgICAgUHlMb25nT2JqZWN0ICphbCA9IE5VTEw7CiAgICAgUHlMb25nT2JqZWN0ICpiaCA9IE5VTEw7CkBAIC0zMzQ4LDggKzMzNDcsOCBAQAogc3RhdGljIFB5TG9uZ09iamVjdCAqCiBrX2xvcHNpZGVkX211bChQeUxvbmdPYmplY3QgKmEsIFB5TG9uZ09iamVjdCAqYikKIHsKLSAgICBjb25zdCBQeV9zc2l6ZV90IGFzaXplID0gQUJTKFB5X1NJWkUoYSkpOwotICAgIFB5X3NzaXplX3QgYnNpemUgPSBBQlMoUHlfU0laRShiKSk7CisgICAgY29uc3QgUHlfc3NpemVfdCBhc2l6ZSA9IFB5X0FCUyhQeV9TSVpFKGEpKTsKKyAgICBQeV9zc2l6ZV90IGJzaXplID0gUHlfQUJTKFB5X1NJWkUoYikpOwogICAgIFB5X3NzaXplX3QgbmJkb25lOyAgICAgICAgICAvKiAjIG9mIGIgZGlnaXRzIGFscmVhZHkgbXVsdGlwbGllZCAqLwogICAgIFB5TG9uZ09iamVjdCAqcmV0OwogICAgIFB5TG9uZ09iamVjdCAqYnNsaWNlID0gTlVMTDsKQEAgLTM0MDcsNyArMzQwNiw3IEBACiAgICAgQ0hFQ0tfQklOT1AoYSwgYik7CiAKICAgICAvKiBmYXN0IHBhdGggZm9yIHNpbmdsZS1kaWdpdCBtdWx0aXBsaWNhdGlvbiAqLwotICAgIGlmIChBQlMoUHlfU0laRShhKSkgPD0gMSAmJiBBQlMoUHlfU0laRShiKSkgPD0gMSkgeworICAgIGlmIChQeV9BQlMoUHlfU0laRShhKSkgPD0gMSAmJiBQeV9BQlMoUHlfU0laRShiKSkgPD0gMSkgewogICAgICAgICBzdHdvZGlnaXRzIHYgPSAoc3R3b2RpZ2l0cykoTUVESVVNX1ZBTFVFKGEpKSAqIE1FRElVTV9WQUxVRShiKTsKICNpZmRlZiBIQVZFX0xPTkdfTE9ORwogICAgICAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nTG9uZygoUFlfTE9OR19MT05HKXYpOwpAQCAtMzYxNCw4ICszNjEzLDggQEAKICAgICAqLwogCiAgICAgLyogUmVkdWNlIHRvIGNhc2Ugd2hlcmUgYSBhbmQgYiBhcmUgYm90aCBwb3NpdGl2ZS4gKi8KLSAgICBhX3NpemUgPSBBQlMoUHlfU0laRShhKSk7Ci0gICAgYl9zaXplID0gQUJTKFB5X1NJWkUoYikpOworICAgIGFfc2l6ZSA9IFB5X0FCUyhQeV9TSVpFKGEpKTsKKyAgICBiX3NpemUgPSBQeV9BQlMoUHlfU0laRShiKSk7CiAgICAgbmVnYXRlID0gKFB5X1NJWkUoYSkgPCAwKSBeIChQeV9TSVpFKGIpIDwgMCk7CiAgICAgaWYgKGJfc2l6ZSA9PSAwKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19aZXJvRGl2aXNpb25FcnJvciwKQEAgLTM3MzEsNyArMzczMCw3IEBACiAgICAgICAgICAgICBpbmV4YWN0ID0gMTsKICAgICAgICAgUHlfREVDUkVGKHJlbSk7CiAgICAgfQotICAgIHhfc2l6ZSA9IEFCUyhQeV9TSVpFKHgpKTsKKyAgICB4X3NpemUgPSBQeV9BQlMoUHlfU0laRSh4KSk7CiAgICAgYXNzZXJ0KHhfc2l6ZSA+IDApOyAvKiByZXN1bHQgb2YgZGl2aXNpb24gaXMgbmV2ZXIgemVybyAqLwogICAgIHhfYml0cyA9ICh4X3NpemUtMSkqUHlMb25nX1NISUZUK2JpdHNfaW5fZGlnaXQoeC0+b2JfZGlnaXRbeF9zaXplLTFdKTsKIApAQCAtMzg0MSw3ICszODQwLDcgQEAKIAogICAgIGlmIChQeV9TSVpFKGIpIDwgMCkgeyAgLyogaWYgZXhwb25lbnQgaXMgbmVnYXRpdmUgKi8KICAgICAgICAgaWYgKGMpIHsKLSAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJwb3coKSAybmQgYXJndW1lbnQgIgorICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJwb3coKSAybmQgYXJndW1lbnQgIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjYW5ub3QgYmUgbmVnYXRpdmUgd2hlbiAzcmQgYXJndW1lbnQgc3BlY2lmaWVkIik7CiAgICAgICAgICAgICBnb3RvIEVycm9yOwogICAgICAgICB9CkBAIC00MDAzLDcgKzQwMDIsNyBAQAogICAgIC8qIEltcGxlbWVudCB+eCBhcyAtKHgrMSkgKi8KICAgICBQeUxvbmdPYmplY3QgKng7CiAgICAgUHlMb25nT2JqZWN0ICp3OwotICAgIGlmIChBQlMoUHlfU0laRSh2KSkgPD0xKQorICAgIGlmIChQeV9BQlMoUHlfU0laRSh2KSkgPD0xKQogICAgICAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nKC0oTUVESVVNX1ZBTFVFKHYpKzEpKTsKICAgICB3ID0gKFB5TG9uZ09iamVjdCAqKVB5TG9uZ19Gcm9tTG9uZygxTCk7CiAgICAgaWYgKHcgPT0gTlVMTCkKQEAgLTQwMjAsNyArNDAxOSw3IEBACiBsb25nX25lZyhQeUxvbmdPYmplY3QgKnYpCiB7CiAgICAgUHlMb25nT2JqZWN0ICp6OwotICAgIGlmIChBQlMoUHlfU0laRSh2KSkgPD0gMSkKKyAgICBpZiAoUHlfQUJTKFB5X1NJWkUodikpIDw9IDEpCiAgICAgICAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmcoLU1FRElVTV9WQUxVRSh2KSk7CiAgICAgeiA9IChQeUxvbmdPYmplY3QgKilfUHlMb25nX0NvcHkodik7CiAgICAgaWYgKHogIT0gTlVMTCkKQEAgLTQwNzUsNyArNDA3NCw3IEBACiAgICAgICAgICAgICBnb3RvIHJzaGlmdF9lcnJvcjsKICAgICAgICAgfQogICAgICAgICB3b3Jkc2hpZnQgPSBzaGlmdGJ5IC8gUHlMb25nX1NISUZUOwotICAgICAgICBuZXdzaXplID0gQUJTKFB5X1NJWkUoYSkpIC0gd29yZHNoaWZ0OworICAgICAgICBuZXdzaXplID0gUHlfQUJTKFB5X1NJWkUoYSkpIC0gd29yZHNoaWZ0OwogICAgICAgICBpZiAobmV3c2l6ZSA8PSAwKQogICAgICAgICAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZygwKTsKICAgICAgICAgbG9zaGlmdCA9IHNoaWZ0YnkgJSBQeUxvbmdfU0hJRlQ7CkBAIC00MTIyLDcgKzQxMjEsNyBAQAogICAgIHdvcmRzaGlmdCA9IHNoaWZ0YnkgLyBQeUxvbmdfU0hJRlQ7CiAgICAgcmVtc2hpZnQgID0gc2hpZnRieSAtIHdvcmRzaGlmdCAqIFB5TG9uZ19TSElGVDsKIAotICAgIG9sZHNpemUgPSBBQlMoUHlfU0laRShhKSk7CisgICAgb2xkc2l6ZSA9IFB5X0FCUyhQeV9TSVpFKGEpKTsKICAgICBuZXdzaXplID0gb2xkc2l6ZSArIHdvcmRzaGlmdDsKICAgICBpZiAocmVtc2hpZnQpCiAgICAgICAgICsrbmV3c2l6ZTsKQEAgLTQxODMsNyArNDE4Miw3IEBACiAgICAgICAgcmVzdWx0IGJhY2sgdG8gc2lnbi1tYWduaXR1ZGUgYXQgdGhlIGVuZC4gKi8KIAogICAgIC8qIElmIGEgaXMgbmVnYXRpdmUsIHJlcGxhY2UgaXQgYnkgaXRzIHR3bydzIGNvbXBsZW1lbnQuICovCi0gICAgc2l6ZV9hID0gQUJTKFB5X1NJWkUoYSkpOworICAgIHNpemVfYSA9IFB5X0FCUyhQeV9TSVpFKGEpKTsKICAgICBuZWdhID0gUHlfU0laRShhKSA8IDA7CiAgICAgaWYgKG5lZ2EpIHsKICAgICAgICAgeiA9IF9QeUxvbmdfTmV3KHNpemVfYSk7CkBAIC00MTk3LDcgKzQxOTYsNyBAQAogICAgICAgICBQeV9JTkNSRUYoYSk7CiAKICAgICAvKiBTYW1lIGZvciBiLiAqLwotICAgIHNpemVfYiA9IEFCUyhQeV9TSVpFKGIpKTsKKyAgICBzaXplX2IgPSBQeV9BQlMoUHlfU0laRShiKSk7CiAgICAgbmVnYiA9IFB5X1NJWkUoYikgPCAwOwogICAgIGlmIChuZWdiKSB7CiAgICAgICAgIHogPSBfUHlMb25nX05ldyhzaXplX2IpOwpAQCAtNDYzMCw3ICs0NjI5LDcgQEAKIHsKICAgICBQeV9zc2l6ZV90IHJlczsKIAotICAgIHJlcyA9IG9mZnNldG9mKFB5TG9uZ09iamVjdCwgb2JfZGlnaXQpICsgQUJTKFB5X1NJWkUodikpKnNpemVvZihkaWdpdCk7CisgICAgcmVzID0gb2Zmc2V0b2YoUHlMb25nT2JqZWN0LCBvYl9kaWdpdCkgKyBQeV9BQlMoUHlfU0laRSh2KSkqc2l6ZW9mKGRpZ2l0KTsKICAgICByZXR1cm4gUHlMb25nX0Zyb21Tc2l6ZV90KHJlcyk7CiB9CiAKQEAgLTQ2NDQsNyArNDY0Myw3IEBACiAgICAgYXNzZXJ0KHYgIT0gTlVMTCk7CiAgICAgYXNzZXJ0KFB5TG9uZ19DaGVjayh2KSk7CiAKLSAgICBuZGlnaXRzID0gQUJTKFB5X1NJWkUodikpOworICAgIG5kaWdpdHMgPSBQeV9BQlMoUHlfU0laRSh2KSk7CiAgICAgaWYgKG5kaWdpdHMgPT0gMCkKICAgICAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZygwKTsKIApAQCAtNDg0OSw3ICs0ODQ4LDcgQEAKICAgICBpZiAodHlwZSAhPSAmUHlMb25nX1R5cGUgJiYgUHlUeXBlX0lzU3VidHlwZSh0eXBlLCAmUHlMb25nX1R5cGUpKSB7CiAgICAgICAgIFB5TG9uZ09iamVjdCAqbmV3b2JqOwogICAgICAgICBpbnQgaTsKLSAgICAgICAgUHlfc3NpemVfdCBuID0gQUJTKFB5X1NJWkUobG9uZ19vYmopKTsKKyAgICAgICAgUHlfc3NpemVfdCBuID0gUHlfQUJTKFB5X1NJWkUobG9uZ19vYmopKTsKIAogICAgICAgICBuZXdvYmogPSAoUHlMb25nT2JqZWN0ICopdHlwZS0+dHBfYWxsb2ModHlwZSwgbik7CiAgICAgICAgIGlmIChuZXdvYmogPT0gTlVMTCkgewpAQCAtNDg3NCw5ICs0ODczLDcgQEAKIFxuXAogUmV0dXJuIHRoZSBpbnRlZ2VyIHJlcHJlc2VudGVkIGJ5IHRoZSBnaXZlbiBhcnJheSBvZiBieXRlcy5cblwKIFxuXAotVGhlIGJ5dGVzIGFyZ3VtZW50IG11c3QgZWl0aGVyIHN1cHBvcnQgdGhlIGJ1ZmZlciBwcm90b2NvbCBvciBiZSBhblxuXAotaXRlcmFibGUgb2JqZWN0IHByb2R1Y2luZyBieXRlcy4gIEJ5dGVzIGFuZCBieXRlYXJyYXkgYXJlIGV4YW1wbGVzIG9mXG5cCi1idWlsdC1pbiBvYmplY3RzIHRoYXQgc3VwcG9ydCB0aGUgYnVmZmVyIHByb3RvY29sLlxuXAorVGhlIGJ5dGVzIGFyZ3VtZW50IG11c3QgYmUgYSBieXRlcy1saWtlIG9iamVjdCAoZS5nLiBieXRlcyBvciBieXRlYXJyYXkpLlxuXAogXG5cCiBUaGUgYnl0ZW9yZGVyIGFyZ3VtZW50IGRldGVybWluZXMgdGhlIGJ5dGUgb3JkZXIgdXNlZCB0byByZXByZXNlbnQgdGhlXG5cCiBpbnRlZ2VyLiAgSWYgYnl0ZW9yZGVyIGlzICdiaWcnLCB0aGUgbW9zdCBzaWduaWZpY2FudCBieXRlIGlzIGF0IHRoZVxuXApAQCAtNTA5NSwxMyArNTA5MiwxMyBAQAogICAgICAgICAgICAgICogdG8gdGhlIG9yaWdpbmFsIHJlZmNudCArIDEgKi8KICAgICAgICAgICAgIFB5X1JFRkNOVChvcCkgPSByZWZjbnQgKyAxOwogICAgICAgICAgICAgYXNzZXJ0KFB5X1NJWkUob3ApID09IHNpemUpOwotICAgICAgICAgICAgYXNzZXJ0KHYtPm9iX2RpZ2l0WzBdID09IGFicyhpdmFsKSk7CisgICAgICAgICAgICBhc3NlcnQodi0+b2JfZGlnaXRbMF0gPT0gKGRpZ2l0KWFicyhpdmFsKSk7CiAgICAgICAgIH0KICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAodm9pZClQeU9iamVjdF9JTklUKHYsICZQeUxvbmdfVHlwZSk7CiAgICAgICAgIH0KICAgICAgICAgUHlfU0laRSh2KSA9IHNpemU7Ci0gICAgICAgIHYtPm9iX2RpZ2l0WzBdID0gYWJzKGl2YWwpOworICAgICAgICB2LT5vYl9kaWdpdFswXSA9IChkaWdpdClhYnMoaXZhbCk7CiAgICAgfQogI2VuZGlmCiAgICAgLyogaW5pdGlhbGl6ZSBpbnRfaW5mbyAqLwpkaWZmIC0tZ2l0IGEvT2JqZWN0cy9tZW1vcnlvYmplY3QuYyBiL09iamVjdHMvbWVtb3J5b2JqZWN0LmMKaW5kZXggMGJlODQ5My4uYjYxMWRjOCAxMDA2NDQKLS0tIGEvT2JqZWN0cy9tZW1vcnlvYmplY3QuYworKysgYi9PYmplY3RzL21lbW9yeW9iamVjdC5jCkBAIC00OCw5ICs0OCw2IEBACiAqLwogCiAKLSNkZWZpbmUgWFNUUklOR0laRSh2KSAjdgotI2RlZmluZSBTVFJJTkdJWkUodikgWFNUUklOR0laRSh2KQotCiAjZGVmaW5lIENIRUNLX01CVUZfUkVMRUFTRUQobWJ1ZikgXAogICAgIGlmICgoKF9QeU1hbmFnZWRCdWZmZXJPYmplY3QgKiltYnVmKS0+ZmxhZ3MmX1B5X01BTkFHRURfQlVGRkVSX1JFTEVBU0VEKSB7IFwKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCkBAIC0yMjMsNyArMjIwLDcgQEAKIAogCiBQeURvY19TVFJWQVIobWVtb3J5X2RvYywKLSJtZW1vcnl2aWV3KG9iamVjdClcblwKKyJtZW1vcnl2aWV3KCRtb2R1bGUsIG9iamVjdClcbi0tXG5cCiBcblwKIENyZWF0ZSBhIG5ldyBtZW1vcnl2aWV3IG9iamVjdCB3aGljaCByZWZlcmVuY2VzIHRoZSBnaXZlbiBvYmplY3QuIik7CiAKQEAgLTY2MCw3ICs2NTcsNyBAQAogICAgIGlmIChzcmMtPm5kaW0gPiBQeUJVRl9NQVhfTkRJTSkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKICAgICAgICAgICAgICJtZW1vcnl2aWV3OiBudW1iZXIgb2YgZGltZW5zaW9ucyBtdXN0IG5vdCBleGNlZWQgIgotICAgICAgICAgICAgU1RSSU5HSVpFKFB5QlVGX01BWF9ORElNKSk7CisgICAgICAgICAgICBQeV9TVFJJTkdJRlkoUHlCVUZfTUFYX05ESU0pKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCkBAIC03OTUsNyArNzkyLDcgQEAKICAgICB9CiAKICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAibWVtb3J5dmlldzogJS4yMDBzIG9iamVjdCBkb2VzIG5vdCBoYXZlIHRoZSBidWZmZXIgaW50ZXJmYWNlIiwKKyAgICAgICAgIm1lbW9yeXZpZXc6IGEgYnl0ZXMtbGlrZSBvYmplY3QgaXMgcmVxdWlyZWQsIG5vdCAnJS4yMDBzJyIsCiAgICAgICAgIFB5X1RZUEUodiktPnRwX25hbWUpOwogICAgIHJldHVybiBOVUxMOwogfQpAQCAtMTM4OSw3ICsxMzg2LDcgQEAKICAgICAgICAgaWYgKG5kaW0gPiBQeUJVRl9NQVhfTkRJTSkgewogICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCiAgICAgICAgICAgICAgICAgIm1lbW9yeXZpZXc6IG51bWJlciBvZiBkaW1lbnNpb25zIG11c3Qgbm90IGV4Y2VlZCAiCi0gICAgICAgICAgICAgICAgU1RSSU5HSVpFKFB5QlVGX01BWF9ORElNKSk7CisgICAgICAgICAgICAgICAgUHlfU1RSSU5HSUZZKFB5QlVGX01BWF9ORElNKSk7CiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgfQogICAgICAgICBpZiAoc2VsZi0+dmlldy5uZGltICE9IDEgJiYgbmRpbSAhPSAxKSB7CkBAIC0yOTQ4LDYgKzI5NDUsNyBAQAogUHlEb2NfU1RSVkFSKG1lbW9yeV9jb250aWd1b3VzX2RvYywKICAgICAgICAgICAgICAiQSBib29sIGluZGljYXRpbmcgd2hldGhlciB0aGUgbWVtb3J5IGlzIGNvbnRpZ3VvdXMuIik7CiAKKwogc3RhdGljIFB5R2V0U2V0RGVmIG1lbW9yeV9nZXRzZXRsaXN0W10gPSB7CiAgICAgeyJvYmoiLCAgICAgICAgICAgICAoZ2V0dGVyKW1lbW9yeV9vYmpfZ2V0LCAgICAgICAgTlVMTCwgbWVtb3J5X29ial9kb2N9LAogICAgIHsibmJ5dGVzIiwgICAgICAgICAgKGdldHRlciltZW1vcnlfbmJ5dGVzX2dldCwgICAgIE5VTEwsIG1lbW9yeV9uYnl0ZXNfZG9jfSwKQEAgLTI5NjUsMTkgKzI5NjMsMTkgQEAKIH07CiAKIFB5RG9jX1NUUlZBUihtZW1vcnlfcmVsZWFzZV9kb2MsCi0iTS5yZWxlYXNlKCkgLT4gTm9uZVxuXAorInJlbGVhc2UoJHNlbGYsIC8pXG4tLVxuXAogXG5cCiBSZWxlYXNlIHRoZSB1bmRlcmx5aW5nIGJ1ZmZlciBleHBvc2VkIGJ5IHRoZSBtZW1vcnl2aWV3IG9iamVjdC4iKTsKIFB5RG9jX1NUUlZBUihtZW1vcnlfdG9ieXRlc19kb2MsCi0iTS50b2J5dGVzKCkgLT4gYnl0ZXNcblwKKyJ0b2J5dGVzKCRzZWxmLCAvKVxuLS1cblwKIFxuXAogUmV0dXJuIHRoZSBkYXRhIGluIHRoZSBidWZmZXIgYXMgYSBieXRlIHN0cmluZy4iKTsKIFB5RG9jX1NUUlZBUihtZW1vcnlfdG9saXN0X2RvYywKLSJNLnRvbGlzdCgpIC0+IGxpc3RcblwKKyJ0b2xpc3QoJHNlbGYsIC8pXG4tLVxuXAogXG5cCiBSZXR1cm4gdGhlIGRhdGEgaW4gdGhlIGJ1ZmZlciBhcyBhIGxpc3Qgb2YgZWxlbWVudHMuIik7CiBQeURvY19TVFJWQVIobWVtb3J5X2Nhc3RfZG9jLAotIk0uY2FzdChmb3JtYXRbLCBzaGFwZV0pIC0+IG1lbW9yeXZpZXdcblwKKyJjYXN0KCRzZWxmLCAvLCBmb3JtYXQsICosIHNoYXBlKVxuLS1cblwKIFxuXAogQ2FzdCBhIG1lbW9yeXZpZXcgdG8gYSBuZXcgZm9ybWF0IG9yIHNoYXBlLiIpOwogCmRpZmYgLS1naXQgYS9PYmplY3RzL21ldGhvZG9iamVjdC5jIGIvT2JqZWN0cy9tZXRob2RvYmplY3QuYwppbmRleCBmMjYxNmQ0Li42ODZiYWY5IDEwMDY0NAotLS0gYS9PYmplY3RzL21ldGhvZG9iamVjdC5jCisrKyBiL09iamVjdHMvbWV0aG9kb2JqZWN0LmMKQEAgLTM3LDYgKzM3LDcgQEAKICAgICAgICAgaWYgKG9wID09IE5VTEwpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CisgICAgb3AtPm1fd2Vha3JlZmxpc3QgPSBOVUxMOwogICAgIG9wLT5tX21sID0gbWw7CiAgICAgUHlfWElOQ1JFRihzZWxmKTsKICAgICBvcC0+bV9zZWxmID0gc2VsZjsKQEAgLTE0Nyw2ICsxNDgsOSBAQAogbWV0aF9kZWFsbG9jKFB5Q0Z1bmN0aW9uT2JqZWN0ICptKQogewogICAgIF9QeU9iamVjdF9HQ19VTlRSQUNLKG0pOworICAgIGlmIChtLT5tX3dlYWtyZWZsaXN0ICE9IE5VTEwpIHsKKyAgICAgICAgUHlPYmplY3RfQ2xlYXJXZWFrUmVmcygoUHlPYmplY3QqKSBtKTsKKyAgICB9CiAgICAgUHlfWERFQ1JFRihtLT5tX3NlbGYpOwogICAgIFB5X1hERUNSRUYobS0+bV9tb2R1bGUpOwogICAgIGlmIChudW1mcmVlIDwgUHlDRnVuY3Rpb25fTUFYRlJFRUxJU1QpIHsKQEAgLTM1Miw3ICszNTYsNyBAQAogICAgICh0cmF2ZXJzZXByb2MpbWV0aF90cmF2ZXJzZSwgICAgICAgICAgICAgICAgLyogdHBfdHJhdmVyc2UgKi8KICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2NsZWFyICovCiAgICAgbWV0aF9yaWNoY29tcGFyZSwgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9yaWNoY29tcGFyZSAqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfd2Vha2xpc3RvZmZzZXQgKi8KKyAgICBvZmZzZXRvZihQeUNGdW5jdGlvbk9iamVjdCwgbV93ZWFrcmVmbGlzdCksIC8qIHRwX3dlYWtsaXN0b2Zmc2V0ICovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9pdGVyICovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9pdGVybmV4dCAqLwogICAgIG1ldGhfbWV0aG9kcywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfbWV0aG9kcyAqLwpkaWZmIC0tZ2l0IGEvT2JqZWN0cy9tb2R1bGVvYmplY3QuYyBiL09iamVjdHMvbW9kdWxlb2JqZWN0LmMKaW5kZXggZjUwOTkzMi4uNDQxZTczMSAxMDA2NDQKLS0tIGEvT2JqZWN0cy9tb2R1bGVvYmplY3QuYworKysgYi9PYmplY3RzL21vZHVsZW9iamVjdC5jCkBAIC0zMiwyMCArMzIsMjYgQEAKIG1vZHVsZV9pbml0X2RpY3QoUHlNb2R1bGVPYmplY3QgKm1vZCwgUHlPYmplY3QgKm1kX2RpY3QsCiAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICpuYW1lLCBQeU9iamVjdCAqZG9jKQogeworICAgIF9QeV9JREVOVElGSUVSKF9fbmFtZV9fKTsKKyAgICBfUHlfSURFTlRJRklFUihfX2RvY19fKTsKKyAgICBfUHlfSURFTlRJRklFUihfX3BhY2thZ2VfXyk7CisgICAgX1B5X0lERU5USUZJRVIoX19sb2FkZXJfXyk7CisgICAgX1B5X0lERU5USUZJRVIoX19zcGVjX18pOworICAgIAogICAgIGlmIChtZF9kaWN0ID09IE5VTEwpCiAgICAgICAgIHJldHVybiAtMTsKICAgICBpZiAoZG9jID09IE5VTEwpCiAgICAgICAgIGRvYyA9IFB5X05vbmU7CiAKLSAgICBpZiAoUHlEaWN0X1NldEl0ZW1TdHJpbmcobWRfZGljdCwgIl9fbmFtZV9fIiwgbmFtZSkgIT0gMCkKKyAgICBpZiAoX1B5RGljdF9TZXRJdGVtSWQobWRfZGljdCwgJlB5SWRfX19uYW1lX18sIG5hbWUpICE9IDApCiAgICAgICAgIHJldHVybiAtMTsKLSAgICBpZiAoUHlEaWN0X1NldEl0ZW1TdHJpbmcobWRfZGljdCwgIl9fZG9jX18iLCBkb2MpICE9IDApCisgICAgaWYgKF9QeURpY3RfU2V0SXRlbUlkKG1kX2RpY3QsICZQeUlkX19fZG9jX18sIGRvYykgIT0gMCkKICAgICAgICAgcmV0dXJuIC0xOwotICAgIGlmIChQeURpY3RfU2V0SXRlbVN0cmluZyhtZF9kaWN0LCAiX19wYWNrYWdlX18iLCBQeV9Ob25lKSAhPSAwKQorICAgIGlmIChfUHlEaWN0X1NldEl0ZW1JZChtZF9kaWN0LCAmUHlJZF9fX3BhY2thZ2VfXywgUHlfTm9uZSkgIT0gMCkKICAgICAgICAgcmV0dXJuIC0xOwotICAgIGlmIChQeURpY3RfU2V0SXRlbVN0cmluZyhtZF9kaWN0LCAiX19sb2FkZXJfXyIsIFB5X05vbmUpICE9IDApCisgICAgaWYgKF9QeURpY3RfU2V0SXRlbUlkKG1kX2RpY3QsICZQeUlkX19fbG9hZGVyX18sIFB5X05vbmUpICE9IDApCiAgICAgICAgIHJldHVybiAtMTsKLSAgICBpZiAoUHlEaWN0X1NldEl0ZW1TdHJpbmcobWRfZGljdCwgIl9fc3BlY19fIiwgUHlfTm9uZSkgIT0gMCkKKyAgICBpZiAoX1B5RGljdF9TZXRJdGVtSWQobWRfZGljdCwgJlB5SWRfX19zcGVjX18sIFB5X05vbmUpICE9IDApCiAgICAgICAgIHJldHVybiAtMTsKICAgICBpZiAoUHlVbmljb2RlX0NoZWNrRXhhY3QobmFtZSkpIHsKICAgICAgICAgUHlfSU5DUkVGKG5hbWUpOwpAQCAtMTg0LDggKzE5MCw5IEBACiAgICAgICAgIFB5X0RFQ1JFRihuKTsKICAgICB9CiAgICAgaWYgKG1vZHVsZS0+bV9kb2MgIT0gTlVMTCkgeworICAgICAgICBfUHlfSURFTlRJRklFUihfX2RvY19fKTsKICAgICAgICAgdiA9IFB5VW5pY29kZV9Gcm9tU3RyaW5nKG1vZHVsZS0+bV9kb2MpOwotICAgICAgICBpZiAodiA9PSBOVUxMIHx8IFB5RGljdF9TZXRJdGVtU3RyaW5nKGQsICJfX2RvY19fIiwgdikgIT0gMCkgeworICAgICAgICBpZiAodiA9PSBOVUxMIHx8IF9QeURpY3RfU2V0SXRlbUlkKGQsICZQeUlkX19fZG9jX18sIHYpICE9IDApIHsKICAgICAgICAgICAgIFB5X1hERUNSRUYodik7CiAgICAgICAgICAgICBQeV9ERUNSRUYobSk7CiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTIxNCw2ICsyMjEsNyBAQAogUHlPYmplY3QqCiBQeU1vZHVsZV9HZXROYW1lT2JqZWN0KFB5T2JqZWN0ICptKQogeworICAgIF9QeV9JREVOVElGSUVSKF9fbmFtZV9fKTsKICAgICBQeU9iamVjdCAqZDsKICAgICBQeU9iamVjdCAqbmFtZTsKICAgICBpZiAoIVB5TW9kdWxlX0NoZWNrKG0pKSB7CkBAIC0yMjIsNyArMjMwLDcgQEAKICAgICB9CiAgICAgZCA9ICgoUHlNb2R1bGVPYmplY3QgKiltKS0+bWRfZGljdDsKICAgICBpZiAoZCA9PSBOVUxMIHx8Ci0gICAgICAgIChuYW1lID0gUHlEaWN0X0dldEl0ZW1TdHJpbmcoZCwgIl9fbmFtZV9fIikpID09IE5VTEwgfHwKKyAgICAgICAgKG5hbWUgPSBfUHlEaWN0X0dldEl0ZW1JZChkLCAmUHlJZF9fX25hbWVfXykpID09IE5VTEwgfHwKICAgICAgICAgIVB5VW5pY29kZV9DaGVjayhuYW1lKSkKICAgICB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19TeXN0ZW1FcnJvciwgIm5hbWVsZXNzIG1vZHVsZSIpOwpAQCAtMjQ1LDYgKzI1Myw3IEBACiBQeU9iamVjdCoKIFB5TW9kdWxlX0dldEZpbGVuYW1lT2JqZWN0KFB5T2JqZWN0ICptKQogeworICAgIF9QeV9JREVOVElGSUVSKF9fZmlsZV9fKTsKICAgICBQeU9iamVjdCAqZDsKICAgICBQeU9iamVjdCAqZmlsZW9iajsKICAgICBpZiAoIVB5TW9kdWxlX0NoZWNrKG0pKSB7CkBAIC0yNTMsNyArMjYyLDcgQEAKICAgICB9CiAgICAgZCA9ICgoUHlNb2R1bGVPYmplY3QgKiltKS0+bWRfZGljdDsKICAgICBpZiAoZCA9PSBOVUxMIHx8Ci0gICAgICAgIChmaWxlb2JqID0gUHlEaWN0X0dldEl0ZW1TdHJpbmcoZCwgIl9fZmlsZV9fIikpID09IE5VTEwgfHwKKyAgICAgICAgKGZpbGVvYmogPSBfUHlEaWN0X0dldEl0ZW1JZChkLCAmUHlJZF9fX2ZpbGVfXykpID09IE5VTEwgfHwKICAgICAgICAgIVB5VW5pY29kZV9DaGVjayhmaWxlb2JqKSkKICAgICB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19TeXN0ZW1FcnJvciwgIm1vZHVsZSBmaWxlbmFtZSBtaXNzaW5nIik7CkBAIC00MTEsNiArNDIwLDMxIEBACiAgICAgcmV0dXJuIFB5T2JqZWN0X0NhbGxNZXRob2QoaW50ZXJwLT5pbXBvcnRsaWIsICJfbW9kdWxlX3JlcHIiLCAiTyIsIG0pOwogfQogCitzdGF0aWMgUHlPYmplY3QqCittb2R1bGVfZ2V0YXR0cm8oUHlNb2R1bGVPYmplY3QgKm0sIFB5T2JqZWN0ICpuYW1lKQoreworICAgIFB5T2JqZWN0ICphdHRyLCAqbW9kX25hbWU7CisgICAgYXR0ciA9IFB5T2JqZWN0X0dlbmVyaWNHZXRBdHRyKChQeU9iamVjdCAqKW0sIG5hbWUpOworICAgIGlmIChhdHRyIHx8ICFQeUVycl9FeGNlcHRpb25NYXRjaGVzKFB5RXhjX0F0dHJpYnV0ZUVycm9yKSkKKyAgICAgICAgcmV0dXJuIGF0dHI7CisgICAgUHlFcnJfQ2xlYXIoKTsKKyAgICBpZiAobS0+bWRfZGljdCkgeworICAgICAgICBfUHlfSURFTlRJRklFUihfX25hbWVfXyk7CisgICAgICAgIG1vZF9uYW1lID0gX1B5RGljdF9HZXRJdGVtSWQobS0+bWRfZGljdCwgJlB5SWRfX19uYW1lX18pOworICAgICAgICBpZiAobW9kX25hbWUpIHsKKyAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19BdHRyaWJ1dGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICJtb2R1bGUgJyVVJyBoYXMgbm8gYXR0cmlidXRlICclVSciLCBtb2RfbmFtZSwgbmFtZSk7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorICAgICAgICBlbHNlIGlmIChQeUVycl9PY2N1cnJlZCgpKSB7CisgICAgICAgICAgICBQeUVycl9DbGVhcigpOworICAgICAgICB9CisgICAgfQorICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19BdHRyaWJ1dGVFcnJvciwKKyAgICAgICAgICAgICAgICAibW9kdWxlIGhhcyBubyBhdHRyaWJ1dGUgJyVVJyIsIG5hbWUpOworICAgIHJldHVybiBOVUxMOworfQorCiBzdGF0aWMgaW50CiBtb2R1bGVfdHJhdmVyc2UoUHlNb2R1bGVPYmplY3QgKm0sIHZpc2l0cHJvYyB2aXNpdCwgdm9pZCAqYXJnKQogewpAQCAtNDY0LDcgKzQ5OCw2IEBACiAgICAgezB9CiB9OwogCi0KIFB5RG9jX1NUUlZBUihtb2R1bGVfZG9jLAogIm1vZHVsZShuYW1lWywgZG9jXSlcblwKIFxuXApAQCAtNDg4LDcgKzUyMSw3IEBACiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9oYXNoICovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9jYWxsICovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9zdHIgKi8KLSAgICBQeU9iamVjdF9HZW5lcmljR2V0QXR0ciwgICAgICAgICAgICAgICAgICAgIC8qIHRwX2dldGF0dHJvICovCisgICAgKGdldGF0dHJvZnVuYyltb2R1bGVfZ2V0YXR0cm8sICAgICAgICAgICAgICAvKiB0cF9nZXRhdHRybyAqLwogICAgIFB5T2JqZWN0X0dlbmVyaWNTZXRBdHRyLCAgICAgICAgICAgICAgICAgICAgLyogdHBfc2V0YXR0cm8gKi8KICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2FzX2J1ZmZlciAqLwogICAgIFB5X1RQRkxBR1NfREVGQVVMVCB8IFB5X1RQRkxBR1NfSEFWRV9HQyB8CmRpZmYgLS1naXQgYS9PYmplY3RzL29iamVjdC5jIGIvT2JqZWN0cy9vYmplY3QuYwppbmRleCBhMWE2OWZhLi40MmNiYmNkIDEwMDY0NAotLS0gYS9PYmplY3RzL29iamVjdC5jCisrKyBiL09iamVjdHMvb2JqZWN0LmMKQEAgLTMzLDYgKzMzLDIyIEBACiAgICAgICAgIHRvdGFsIC09IG8tPm9iX3JlZmNudDsKICAgICByZXR1cm4gdG90YWw7CiB9CisKK3ZvaWQKK19QeURlYnVnX1ByaW50VG90YWxSZWZzKHZvaWQpIHsKKyAgICBQeU9iamVjdCAqeG9wdGlvbnMsICp2YWx1ZTsKKyAgICBfUHlfSURFTlRJRklFUihzaG93cmVmY291bnQpOworCisgICAgeG9wdGlvbnMgPSBQeVN5c19HZXRYT3B0aW9ucygpOworICAgIGlmICh4b3B0aW9ucyA9PSBOVUxMKQorICAgICAgICByZXR1cm47CisgICAgdmFsdWUgPSBfUHlEaWN0X0dldEl0ZW1JZCh4b3B0aW9ucywgJlB5SWRfc2hvd3JlZmNvdW50KTsKKyAgICBpZiAodmFsdWUgPT0gUHlfVHJ1ZSkKKyAgICAgICAgZnByaW50ZihzdGRlcnIsCisgICAgICAgICAgICAgICAgIlslIiBQWV9GT1JNQVRfU0laRV9UICJkIHJlZnMsICIKKyAgICAgICAgICAgICAgICAiJSIgUFlfRk9STUFUX1NJWkVfVCAiZCBibG9ja3NdXG4iLAorICAgICAgICAgICAgICAgIF9QeV9HZXRSZWZUb3RhbCgpLCBfUHlfR2V0QWxsb2NhdGVkQmxvY2tzKCkpOworfQogI2VuZGlmIC8qIFB5X1JFRl9ERUJVRyAqLwogCiAvKiBPYmplY3QgYWxsb2NhdGlvbiByb3V0aW5lcyB1c2VkIGJ5IE5FV09CSiBhbmQgTkVXVkFST0JKIG1hY3Jvcy4KQEAgLTE1NDMsNiArMTU1OSw5IEBACiB2b2lkCiBfUHlfUmVhZHlUeXBlcyh2b2lkKQogeworICAgIGlmIChQeVR5cGVfUmVhZHkoJlB5QmFzZU9iamVjdF9UeXBlKSA8IDApCisgICAgICAgIFB5X0ZhdGFsRXJyb3IoIkNhbid0IGluaXRpYWxpemUgb2JqZWN0IHR5cGUiKTsKKwogICAgIGlmIChQeVR5cGVfUmVhZHkoJlB5VHlwZV9UeXBlKSA8IDApCiAgICAgICAgIFB5X0ZhdGFsRXJyb3IoIkNhbid0IGluaXRpYWxpemUgdHlwZSB0eXBlIik7CiAKQEAgLTE1NTUsNiArMTU3NCw5IEBACiAgICAgaWYgKFB5VHlwZV9SZWFkeSgmX1B5V2Vha3JlZl9Qcm94eVR5cGUpIDwgMCkKICAgICAgICAgUHlfRmF0YWxFcnJvcigiQ2FuJ3QgaW5pdGlhbGl6ZSB3ZWFrcmVmIHByb3h5IHR5cGUiKTsKIAorICAgIGlmIChQeVR5cGVfUmVhZHkoJlB5TG9uZ19UeXBlKSA8IDApCisgICAgICAgIFB5X0ZhdGFsRXJyb3IoIkNhbid0IGluaXRpYWxpemUgaW50IHR5cGUiKTsKKwogICAgIGlmIChQeVR5cGVfUmVhZHkoJlB5Qm9vbF9UeXBlKSA8IDApCiAgICAgICAgIFB5X0ZhdGFsRXJyb3IoIkNhbid0IGluaXRpYWxpemUgYm9vbCB0eXBlIik7CiAKQEAgLTE1NzksOSArMTYwMSw2IEBACiAgICAgaWYgKFB5VHlwZV9SZWFkeSgmUHlTdXBlcl9UeXBlKSA8IDApCiAgICAgICAgIFB5X0ZhdGFsRXJyb3IoIkNhbid0IGluaXRpYWxpemUgc3VwZXIgdHlwZSIpOwogCi0gICAgaWYgKFB5VHlwZV9SZWFkeSgmUHlCYXNlT2JqZWN0X1R5cGUpIDwgMCkKLSAgICAgICAgUHlfRmF0YWxFcnJvcigiQ2FuJ3QgaW5pdGlhbGl6ZSBvYmplY3QgdHlwZSIpOwotCiAgICAgaWYgKFB5VHlwZV9SZWFkeSgmUHlSYW5nZV9UeXBlKSA8IDApCiAgICAgICAgIFB5X0ZhdGFsRXJyb3IoIkNhbid0IGluaXRpYWxpemUgcmFuZ2UgdHlwZSIpOwogCkBAIC0xNjA2LDkgKzE2MjUsNiBAQAogICAgIGlmIChQeVR5cGVfUmVhZHkoJlB5RmxvYXRfVHlwZSkgPCAwKQogICAgICAgICBQeV9GYXRhbEVycm9yKCJDYW4ndCBpbml0aWFsaXplIGZsb2F0IHR5cGUiKTsKIAotICAgIGlmIChQeVR5cGVfUmVhZHkoJlB5TG9uZ19UeXBlKSA8IDApCi0gICAgICAgIFB5X0ZhdGFsRXJyb3IoIkNhbid0IGluaXRpYWxpemUgaW50IHR5cGUiKTsKLQogICAgIGlmIChQeVR5cGVfUmVhZHkoJlB5RnJvemVuU2V0X1R5cGUpIDwgMCkKICAgICAgICAgUHlfRmF0YWxFcnJvcigiQ2FuJ3QgaW5pdGlhbGl6ZSBmcm96ZW5zZXQgdHlwZSIpOwogCmRpZmYgLS1naXQgYS9PYmplY3RzL29ibWFsbG9jLmMgYi9PYmplY3RzL29ibWFsbG9jLmMKaW5kZXggM2MzMzI1NS4uZTkwMGNjMyAxMDA2NDQKLS0tIGEvT2JqZWN0cy9vYm1hbGxvYy5jCisrKyBiL09iamVjdHMvb2JtYWxsb2MuYwpAQCAtNSw2ICs1LDcgQEAKICNpZmRlZiBQWU1BTExPQ19ERUJVRyAgIC8qIFdJVEhfUFlNQUxMT0MgJiYgUFlNQUxMT0NfREVCVUcgKi8KIC8qIEZvcndhcmQgZGVjbGFyYXRpb24gKi8KIHN0YXRpYyB2b2lkKiBfUHlNZW1fRGVidWdNYWxsb2Modm9pZCAqY3R4LCBzaXplX3Qgc2l6ZSk7CitzdGF0aWMgdm9pZCogX1B5TWVtX0RlYnVnQ2FsbG9jKHZvaWQgKmN0eCwgc2l6ZV90IG5lbGVtLCBzaXplX3QgZWxzaXplKTsKIHN0YXRpYyB2b2lkIF9QeU1lbV9EZWJ1Z0ZyZWUodm9pZCAqY3R4LCB2b2lkICpwKTsKIHN0YXRpYyB2b2lkKiBfUHlNZW1fRGVidWdSZWFsbG9jKHZvaWQgKmN0eCwgdm9pZCAqcHRyLCBzaXplX3Qgc2l6ZSk7CiAKQEAgLTQzLDYgKzQ0LDcgQEAKIAogLyogRm9yd2FyZCBkZWNsYXJhdGlvbiAqLwogc3RhdGljIHZvaWQqIF9QeU9iamVjdF9NYWxsb2Modm9pZCAqY3R4LCBzaXplX3Qgc2l6ZSk7CitzdGF0aWMgdm9pZCogX1B5T2JqZWN0X0NhbGxvYyh2b2lkICpjdHgsIHNpemVfdCBuZWxlbSwgc2l6ZV90IGVsc2l6ZSk7CiBzdGF0aWMgdm9pZCBfUHlPYmplY3RfRnJlZSh2b2lkICpjdHgsIHZvaWQgKnApOwogc3RhdGljIHZvaWQqIF9QeU9iamVjdF9SZWFsbG9jKHZvaWQgKmN0eCwgdm9pZCAqcHRyLCBzaXplX3Qgc2l6ZSk7CiAjZW5kaWYKQEAgLTUxLDcgKzUzLDcgQEAKIHN0YXRpYyB2b2lkICoKIF9QeU1lbV9SYXdNYWxsb2Modm9pZCAqY3R4LCBzaXplX3Qgc2l6ZSkKIHsKLSAgICAvKiBQeU1lbV9NYWxsb2MoMCkgbWVhbnMgbWFsbG9jKDEpLiBTb21lIHN5c3RlbXMgd291bGQgcmV0dXJuIE5VTEwKKyAgICAvKiBQeU1lbV9SYXdNYWxsb2MoMCkgbWVhbnMgbWFsbG9jKDEpLiBTb21lIHN5c3RlbXMgd291bGQgcmV0dXJuIE5VTEwKICAgICAgICBmb3IgbWFsbG9jKDApLCB3aGljaCB3b3VsZCBiZSB0cmVhdGVkIGFzIGFuIGVycm9yLiBTb21lIHBsYXRmb3JtcyB3b3VsZAogICAgICAgIHJldHVybiBhIHBvaW50ZXIgd2l0aCBubyBtZW1vcnkgYmVoaW5kIGl0LCB3aGljaCB3b3VsZCBicmVhayBweW1hbGxvYy4KICAgICAgICBUbyBzb2x2ZSB0aGVzZSBwcm9ibGVtcywgYWxsb2NhdGUgYW4gZXh0cmEgYnl0ZS4gKi8KQEAgLTYxLDYgKzYzLDIwIEBACiB9CiAKIHN0YXRpYyB2b2lkICoKK19QeU1lbV9SYXdDYWxsb2Modm9pZCAqY3R4LCBzaXplX3QgbmVsZW0sIHNpemVfdCBlbHNpemUpCit7CisgICAgLyogUHlNZW1fUmF3Q2FsbG9jKDAsIDApIG1lYW5zIGNhbGxvYygxLCAxKS4gU29tZSBzeXN0ZW1zIHdvdWxkIHJldHVybiBOVUxMCisgICAgICAgZm9yIGNhbGxvYygwLCAwKSwgd2hpY2ggd291bGQgYmUgdHJlYXRlZCBhcyBhbiBlcnJvci4gU29tZSBwbGF0Zm9ybXMKKyAgICAgICB3b3VsZCByZXR1cm4gYSBwb2ludGVyIHdpdGggbm8gbWVtb3J5IGJlaGluZCBpdCwgd2hpY2ggd291bGQgYnJlYWsKKyAgICAgICBweW1hbGxvYy4gIFRvIHNvbHZlIHRoZXNlIHByb2JsZW1zLCBhbGxvY2F0ZSBhbiBleHRyYSBieXRlLiAqLworICAgIGlmIChuZWxlbSA9PSAwIHx8IGVsc2l6ZSA9PSAwKSB7CisgICAgICAgIG5lbGVtID0gMTsKKyAgICAgICAgZWxzaXplID0gMTsKKyAgICB9CisgICAgcmV0dXJuIGNhbGxvYyhuZWxlbSwgZWxzaXplKTsKK30KKworc3RhdGljIHZvaWQgKgogX1B5TWVtX1Jhd1JlYWxsb2Modm9pZCAqY3R4LCB2b2lkICpwdHIsIHNpemVfdCBzaXplKQogewogICAgIGlmIChzaXplID09IDApCkBAIC0xMjMsOSArMTM5LDkgQEAKICNlbmRpZgogCiAKLSNkZWZpbmUgUFlSQVdfRlVOQ1MgX1B5TWVtX1Jhd01hbGxvYywgX1B5TWVtX1Jhd1JlYWxsb2MsIF9QeU1lbV9SYXdGcmVlCisjZGVmaW5lIFBZUkFXX0ZVTkNTIF9QeU1lbV9SYXdNYWxsb2MsIF9QeU1lbV9SYXdDYWxsb2MsIF9QeU1lbV9SYXdSZWFsbG9jLCBfUHlNZW1fUmF3RnJlZQogI2lmZGVmIFdJVEhfUFlNQUxMT0MKLSMgIGRlZmluZSBQWU9CSl9GVU5DUyBfUHlPYmplY3RfTWFsbG9jLCBfUHlPYmplY3RfUmVhbGxvYywgX1B5T2JqZWN0X0ZyZWUKKyMgIGRlZmluZSBQWU9CSl9GVU5DUyBfUHlPYmplY3RfTWFsbG9jLCBfUHlPYmplY3RfQ2FsbG9jLCBfUHlPYmplY3RfUmVhbGxvYywgX1B5T2JqZWN0X0ZyZWUKICNlbHNlCiAjICBkZWZpbmUgUFlPQkpfRlVOQ1MgUFlSQVdfRlVOQ1MKICNlbmRpZgpAQCAtMTM1LDcgKzE1MSw3IEBACiB0eXBlZGVmIHN0cnVjdCB7CiAgICAgLyogV2UgdGFnIGVhY2ggYmxvY2sgd2l0aCBhbiBBUEkgSUQgaW4gb3JkZXIgdG8gdGFnIEFQSSB2aW9sYXRpb25zICovCiAgICAgY2hhciBhcGlfaWQ7Ci0gICAgUHlNZW1BbGxvY2F0b3IgYWxsb2M7CisgICAgUHlNZW1BbGxvY2F0b3JFeCBhbGxvYzsKIH0gZGVidWdfYWxsb2NfYXBpX3Q7CiBzdGF0aWMgc3RydWN0IHsKICAgICBkZWJ1Z19hbGxvY19hcGlfdCByYXc7CkBAIC0xNDcsMTAgKzE2MywxMCBAQAogICAgIHsnbycsIHtOVUxMLCBQWU9CSl9GVU5DU319CiAgICAgfTsKIAotI2RlZmluZSBQWURCR19GVU5DUyBfUHlNZW1fRGVidWdNYWxsb2MsIF9QeU1lbV9EZWJ1Z1JlYWxsb2MsIF9QeU1lbV9EZWJ1Z0ZyZWUKKyNkZWZpbmUgUFlEQkdfRlVOQ1MgX1B5TWVtX0RlYnVnTWFsbG9jLCBfUHlNZW1fRGVidWdDYWxsb2MsIF9QeU1lbV9EZWJ1Z1JlYWxsb2MsIF9QeU1lbV9EZWJ1Z0ZyZWUKICNlbmRpZgogCi1zdGF0aWMgUHlNZW1BbGxvY2F0b3IgX1B5TWVtX1JhdyA9IHsKK3N0YXRpYyBQeU1lbUFsbG9jYXRvckV4IF9QeU1lbV9SYXcgPSB7CiAjaWZkZWYgUFlNQUxMT0NfREVCVUcKICAgICAmX1B5TWVtX0RlYnVnLnJhdywgUFlEQkdfRlVOQ1MKICNlbHNlCkBAIC0xNTgsNyArMTc0LDcgQEAKICNlbmRpZgogICAgIH07CiAKLXN0YXRpYyBQeU1lbUFsbG9jYXRvciBfUHlNZW0gPSB7CitzdGF0aWMgUHlNZW1BbGxvY2F0b3JFeCBfUHlNZW0gPSB7CiAjaWZkZWYgUFlNQUxMT0NfREVCVUcKICAgICAmX1B5TWVtX0RlYnVnLm1lbSwgUFlEQkdfRlVOQ1MKICNlbHNlCkBAIC0xNjYsNyArMTgyLDcgQEAKICNlbmRpZgogICAgIH07CiAKLXN0YXRpYyBQeU1lbUFsbG9jYXRvciBfUHlPYmplY3QgPSB7CitzdGF0aWMgUHlNZW1BbGxvY2F0b3JFeCBfUHlPYmplY3QgPSB7CiAjaWZkZWYgUFlNQUxMT0NfREVCVUcKICAgICAmX1B5TWVtX0RlYnVnLm9iaiwgUFlEQkdfRlVOQ1MKICNlbHNlCkBAIC0xOTMsOSArMjA5LDEwIEBACiBQeU1lbV9TZXR1cERlYnVnSG9va3Modm9pZCkKIHsKICNpZmRlZiBQWU1BTExPQ19ERUJVRwotICAgIFB5TWVtQWxsb2NhdG9yIGFsbG9jOworICAgIFB5TWVtQWxsb2NhdG9yRXggYWxsb2M7CiAKICAgICBhbGxvYy5tYWxsb2MgPSBfUHlNZW1fRGVidWdNYWxsb2M7CisgICAgYWxsb2MuY2FsbG9jID0gX1B5TWVtX0RlYnVnQ2FsbG9jOwogICAgIGFsbG9jLnJlYWxsb2MgPSBfUHlNZW1fRGVidWdSZWFsbG9jOwogICAgIGFsbG9jLmZyZWUgPSBfUHlNZW1fRGVidWdGcmVlOwogCkBAIC0yMjAsNyArMjM3LDcgQEAKIH0KIAogdm9pZAotUHlNZW1fR2V0QWxsb2NhdG9yKFB5TWVtQWxsb2NhdG9yRG9tYWluIGRvbWFpbiwgUHlNZW1BbGxvY2F0b3IgKmFsbG9jYXRvcikKK1B5TWVtX0dldEFsbG9jYXRvcihQeU1lbUFsbG9jYXRvckRvbWFpbiBkb21haW4sIFB5TWVtQWxsb2NhdG9yRXggKmFsbG9jYXRvcikKIHsKICAgICBzd2l0Y2goZG9tYWluKQogICAgIHsKQEAgLTIyOCwxNiArMjQ1LDE3IEBACiAgICAgY2FzZSBQWU1FTV9ET01BSU5fTUVNOiAqYWxsb2NhdG9yID0gX1B5TWVtOyBicmVhazsKICAgICBjYXNlIFBZTUVNX0RPTUFJTl9PQko6ICphbGxvY2F0b3IgPSBfUHlPYmplY3Q7IGJyZWFrOwogICAgIGRlZmF1bHQ6Ci0gICAgICAgIC8qIHVua25vd24gZG9tYWluICovCisgICAgICAgIC8qIHVua25vd24gZG9tYWluOiBzZXQgYWxsIGF0dHJpYnV0ZXMgdG8gTlVMTCAqLwogICAgICAgICBhbGxvY2F0b3ItPmN0eCA9IE5VTEw7CiAgICAgICAgIGFsbG9jYXRvci0+bWFsbG9jID0gTlVMTDsKKyAgICAgICAgYWxsb2NhdG9yLT5jYWxsb2MgPSBOVUxMOwogICAgICAgICBhbGxvY2F0b3ItPnJlYWxsb2MgPSBOVUxMOwogICAgICAgICBhbGxvY2F0b3ItPmZyZWUgPSBOVUxMOwogICAgIH0KIH0KIAogdm9pZAotUHlNZW1fU2V0QWxsb2NhdG9yKFB5TWVtQWxsb2NhdG9yRG9tYWluIGRvbWFpbiwgUHlNZW1BbGxvY2F0b3IgKmFsbG9jYXRvcikKK1B5TWVtX1NldEFsbG9jYXRvcihQeU1lbUFsbG9jYXRvckRvbWFpbiBkb21haW4sIFB5TWVtQWxsb2NhdG9yRXggKmFsbG9jYXRvcikKIHsKICAgICBzd2l0Y2goZG9tYWluKQogICAgIHsKQEAgLTI3MiwxMCArMjkwLDE4IEBACiAgICAgICovCiAgICAgaWYgKHNpemUgPiAoc2l6ZV90KVBZX1NTSVpFX1RfTUFYKQogICAgICAgICByZXR1cm4gTlVMTDsKLQogICAgIHJldHVybiBfUHlNZW1fUmF3Lm1hbGxvYyhfUHlNZW1fUmF3LmN0eCwgc2l6ZSk7CiB9CiAKK3ZvaWQgKgorUHlNZW1fUmF3Q2FsbG9jKHNpemVfdCBuZWxlbSwgc2l6ZV90IGVsc2l6ZSkKK3sKKyAgICAvKiBzZWUgUHlNZW1fUmF3TWFsbG9jKCkgKi8KKyAgICBpZiAoZWxzaXplICE9IDAgJiYgbmVsZW0gPiAoc2l6ZV90KVBZX1NTSVpFX1RfTUFYIC8gZWxzaXplKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICByZXR1cm4gX1B5TWVtX1Jhdy5jYWxsb2MoX1B5TWVtX1Jhdy5jdHgsIG5lbGVtLCBlbHNpemUpOworfQorCiB2b2lkKgogUHlNZW1fUmF3UmVhbGxvYyh2b2lkICpwdHIsIHNpemVfdCBuZXdfc2l6ZSkKIHsKQEAgLTMwMCw2ICszMjYsMTUgQEAKIH0KIAogdm9pZCAqCitQeU1lbV9DYWxsb2Moc2l6ZV90IG5lbGVtLCBzaXplX3QgZWxzaXplKQoreworICAgIC8qIHNlZSBQeU1lbV9SYXdNYWxsb2MoKSAqLworICAgIGlmIChlbHNpemUgIT0gMCAmJiBuZWxlbSA+IChzaXplX3QpUFlfU1NJWkVfVF9NQVggLyBlbHNpemUpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIHJldHVybiBfUHlNZW0uY2FsbG9jKF9QeU1lbS5jdHgsIG5lbGVtLCBlbHNpemUpOworfQorCit2b2lkICoKIFB5TWVtX1JlYWxsb2Modm9pZCAqcHRyLCBzaXplX3QgbmV3X3NpemUpCiB7CiAgICAgLyogc2VlIFB5TWVtX1Jhd01hbGxvYygpICovCkBAIC0zNTIsNiArMzg3LDE1IEBACiB9CiAKIHZvaWQgKgorUHlPYmplY3RfQ2FsbG9jKHNpemVfdCBuZWxlbSwgc2l6ZV90IGVsc2l6ZSkKK3sKKyAgICAvKiBzZWUgUHlNZW1fUmF3TWFsbG9jKCkgKi8KKyAgICBpZiAoZWxzaXplICE9IDAgJiYgbmVsZW0gPiAoc2l6ZV90KVBZX1NTSVpFX1RfTUFYIC8gZWxzaXplKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICByZXR1cm4gX1B5T2JqZWN0LmNhbGxvYyhfUHlPYmplY3QuY3R4LCBuZWxlbSwgZWxzaXplKTsKK30KKwordm9pZCAqCiBQeU9iamVjdF9SZWFsbG9jKHZvaWQgKnB0ciwgc2l6ZV90IG5ld19zaXplKQogewogICAgIC8qIHNlZSBQeU1lbV9SYXdNYWxsb2MoKSAqLwpAQCAtMTEyMiw4ICsxMTY2LDkgQEAKICAqLwogCiBzdGF0aWMgdm9pZCAqCi1fUHlPYmplY3RfTWFsbG9jKHZvaWQgKmN0eCwgc2l6ZV90IG5ieXRlcykKK19QeU9iamVjdF9BbGxvYyhpbnQgdXNlX2NhbGxvYywgdm9pZCAqY3R4LCBzaXplX3QgbmVsZW0sIHNpemVfdCBlbHNpemUpCiB7CisgICAgc2l6ZV90IG5ieXRlczsKICAgICBibG9jayAqYnA7CiAgICAgcG9vbHAgcG9vbDsKICAgICBwb29scCBuZXh0OwpAQCAtMTEzMSw2ICsxMTc2LDkgQEAKIAogICAgIF9QeV9BbGxvY2F0ZWRCbG9ja3MrKzsKIAorICAgIGFzc2VydChuZWxlbSA8PSBQWV9TU0laRV9UX01BWCAvIGVsc2l6ZSk7CisgICAgbmJ5dGVzID0gbmVsZW0gKiBlbHNpemU7CisKICNpZmRlZiBXSVRIX1ZBTEdSSU5ECiAgICAgaWYgKFVOTElLRUxZKHJ1bm5pbmdfb25fdmFsZ3JpbmQgPT0gLTEpKQogICAgICAgICBydW5uaW5nX29uX3ZhbGdyaW5kID0gUlVOTklOR19PTl9WQUxHUklORDsKQEAgLTExMzgsOSArMTE4Niw5IEBACiAgICAgICAgIGdvdG8gcmVkaXJlY3Q7CiAjZW5kaWYKIAotICAgIC8qCi0gICAgICogVGhpcyBpbXBsaWNpdGx5IHJlZGlyZWN0cyBtYWxsb2MoMCkuCi0gICAgICovCisgICAgaWYgKG5lbGVtID09IDAgfHwgZWxzaXplID09IDApCisgICAgICAgIGdvdG8gcmVkaXJlY3Q7CisKICAgICBpZiAoKG5ieXRlcyAtIDEpIDwgU01BTExfUkVRVUVTVF9USFJFU0hPTEQpIHsKICAgICAgICAgTE9DSygpOwogICAgICAgICAvKgpAQCAtMTE1OCw2ICsxMjA2LDggQEAKICAgICAgICAgICAgIGFzc2VydChicCAhPSBOVUxMKTsKICAgICAgICAgICAgIGlmICgocG9vbC0+ZnJlZWJsb2NrID0gKihibG9jayAqKilicCkgIT0gTlVMTCkgewogICAgICAgICAgICAgICAgIFVOTE9DSygpOworICAgICAgICAgICAgICAgIGlmICh1c2VfY2FsbG9jKQorICAgICAgICAgICAgICAgICAgICBtZW1zZXQoYnAsIDAsIG5ieXRlcyk7CiAgICAgICAgICAgICAgICAgcmV0dXJuICh2b2lkICopYnA7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAvKgpAQCAtMTE3MCw2ICsxMjIwLDggQEAKICAgICAgICAgICAgICAgICBwb29sLT5uZXh0b2Zmc2V0ICs9IElOREVYMlNJWkUoc2l6ZSk7CiAgICAgICAgICAgICAgICAgKihibG9jayAqKikocG9vbC0+ZnJlZWJsb2NrKSA9IE5VTEw7CiAgICAgICAgICAgICAgICAgVU5MT0NLKCk7CisgICAgICAgICAgICAgICAgaWYgKHVzZV9jYWxsb2MpCisgICAgICAgICAgICAgICAgICAgIG1lbXNldChicCwgMCwgbmJ5dGVzKTsKICAgICAgICAgICAgICAgICByZXR1cm4gKHZvaWQgKilicDsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIC8qIFBvb2wgaXMgZnVsbCwgdW5saW5rIGZyb20gdXNlZCBwb29scy4gKi8KQEAgLTExNzgsNiArMTIzMCw4IEBACiAgICAgICAgICAgICBuZXh0LT5wcmV2cG9vbCA9IHBvb2w7CiAgICAgICAgICAgICBwb29sLT5uZXh0cG9vbCA9IG5leHQ7CiAgICAgICAgICAgICBVTkxPQ0soKTsKKyAgICAgICAgICAgIGlmICh1c2VfY2FsbG9jKQorICAgICAgICAgICAgICAgIG1lbXNldChicCwgMCwgbmJ5dGVzKTsKICAgICAgICAgICAgIHJldHVybiAodm9pZCAqKWJwOwogICAgICAgICB9CiAKQEAgLTEyNTcsNiArMTMxMSw4IEBACiAgICAgICAgICAgICAgICAgYXNzZXJ0KGJwICE9IE5VTEwpOwogICAgICAgICAgICAgICAgIHBvb2wtPmZyZWVibG9jayA9ICooYmxvY2sgKiopYnA7CiAgICAgICAgICAgICAgICAgVU5MT0NLKCk7CisgICAgICAgICAgICAgICAgaWYgKHVzZV9jYWxsb2MpCisgICAgICAgICAgICAgICAgICAgIG1lbXNldChicCwgMCwgbmJ5dGVzKTsKICAgICAgICAgICAgICAgICByZXR1cm4gKHZvaWQgKilicDsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIC8qCkBAIC0xMjcyLDYgKzEzMjgsOCBAQAogICAgICAgICAgICAgcG9vbC0+ZnJlZWJsb2NrID0gYnAgKyBzaXplOwogICAgICAgICAgICAgKihibG9jayAqKikocG9vbC0+ZnJlZWJsb2NrKSA9IE5VTEw7CiAgICAgICAgICAgICBVTkxPQ0soKTsKKyAgICAgICAgICAgIGlmICh1c2VfY2FsbG9jKQorICAgICAgICAgICAgICAgIG1lbXNldChicCwgMCwgbmJ5dGVzKTsKICAgICAgICAgICAgIHJldHVybiAodm9pZCAqKWJwOwogICAgICAgICB9CiAKQEAgLTEzMTEsMTMgKzEzNjksMjkgQEAKICAgICAgKiBoYXMgYmVlbiByZWFjaGVkLgogICAgICAqLwogICAgIHsKLSAgICAgICAgdm9pZCAqcmVzdWx0ID0gUHlNZW1fUmF3TWFsbG9jKG5ieXRlcyk7CisgICAgICAgIHZvaWQgKnJlc3VsdDsKKyAgICAgICAgaWYgKHVzZV9jYWxsb2MpCisgICAgICAgICAgICByZXN1bHQgPSBQeU1lbV9SYXdDYWxsb2MobmVsZW0sIGVsc2l6ZSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHJlc3VsdCA9IFB5TWVtX1Jhd01hbGxvYyhuYnl0ZXMpOwogICAgICAgICBpZiAoIXJlc3VsdCkKICAgICAgICAgICAgIF9QeV9BbGxvY2F0ZWRCbG9ja3MtLTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CiB9CiAKK3N0YXRpYyB2b2lkICoKK19QeU9iamVjdF9NYWxsb2Modm9pZCAqY3R4LCBzaXplX3QgbmJ5dGVzKQoreworICAgIHJldHVybiBfUHlPYmplY3RfQWxsb2MoMCwgY3R4LCAxLCBuYnl0ZXMpOworfQorCitzdGF0aWMgdm9pZCAqCitfUHlPYmplY3RfQ2FsbG9jKHZvaWQgKmN0eCwgc2l6ZV90IG5lbGVtLCBzaXplX3QgZWxzaXplKQoreworICAgIHJldHVybiBfUHlPYmplY3RfQWxsb2MoMSwgY3R4LCBuZWxlbSwgZWxzaXplKTsKK30KKwogLyogZnJlZSAqLwogCiBBVFRSSUJVVEVfTk9fQUREUkVTU19TQUZFVFlfQU5BTFlTSVMKQEAgLTE1NjEsNyArMTYzNSw3IEBACiAjZW5kaWYKIAogICAgIGlmIChwID09IE5VTEwpCi0gICAgICAgIHJldHVybiBfUHlPYmplY3RfTWFsbG9jKGN0eCwgbmJ5dGVzKTsKKyAgICAgICAgcmV0dXJuIF9QeU9iamVjdF9BbGxvYygwLCBjdHgsIDEsIG5ieXRlcyk7CiAKICNpZmRlZiBXSVRIX1ZBTEdSSU5ECiAgICAgLyogVHJlYXQgcnVubmluZ19vbl92YWxncmluZCA9PSAtMSB0aGUgc2FtZSBhcyAwICovCkBAIC0xNTg5LDcgKzE2NjMsNyBAQAogICAgICAgICAgICAgfQogICAgICAgICAgICAgc2l6ZSA9IG5ieXRlczsKICAgICAgICAgfQotICAgICAgICBicCA9IF9QeU9iamVjdF9NYWxsb2MoY3R4LCBuYnl0ZXMpOworICAgICAgICBicCA9IF9QeU9iamVjdF9BbGxvYygwLCBjdHgsIDEsIG5ieXRlcyk7CiAgICAgICAgIGlmIChicCAhPSBOVUxMKSB7CiAgICAgICAgICAgICBtZW1jcHkoYnAsIHAsIHNpemUpOwogICAgICAgICAgICAgX1B5T2JqZWN0X0ZyZWUoY3R4LCBwKTsKQEAgLTE3NDUsNyArMTgxOSw3IEBACiAqLwogCiBzdGF0aWMgdm9pZCAqCi1fUHlNZW1fRGVidWdNYWxsb2Modm9pZCAqY3R4LCBzaXplX3QgbmJ5dGVzKQorX1B5TWVtX0RlYnVnQWxsb2MoaW50IHVzZV9jYWxsb2MsIHZvaWQgKmN0eCwgc2l6ZV90IG5ieXRlcykKIHsKICAgICBkZWJ1Z19hbGxvY19hcGlfdCAqYXBpID0gKGRlYnVnX2FsbG9jX2FwaV90ICopY3R4OwogICAgIHVjaGFyICpwOyAgICAgICAgICAgLyogYmFzZSBhZGRyZXNzIG9mIG1hbGxvYydlZCBibG9jayAqLwpAQCAtMTc1OCw3ICsxODMyLDEwIEBACiAgICAgICAgIC8qIG92ZXJmbG93OiAgY2FuJ3QgcmVwcmVzZW50IHRvdGFsIGFzIGEgUHlfc3NpemVfdCAqLwogICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIHAgPSAodWNoYXIgKilhcGktPmFsbG9jLm1hbGxvYyhhcGktPmFsbG9jLmN0eCwgdG90YWwpOworICAgIGlmICh1c2VfY2FsbG9jKQorICAgICAgICBwID0gKHVjaGFyICopYXBpLT5hbGxvYy5jYWxsb2MoYXBpLT5hbGxvYy5jdHgsIDEsIHRvdGFsKTsKKyAgICBlbHNlCisgICAgICAgIHAgPSAodWNoYXIgKilhcGktPmFsbG9jLm1hbGxvYyhhcGktPmFsbG9jLmN0eCwgdG90YWwpOwogICAgIGlmIChwID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwogCkBAIC0xNzY3LDcgKzE4NDQsNyBAQAogICAgIHBbU1NUXSA9ICh1Y2hhcilhcGktPmFwaV9pZDsKICAgICBtZW1zZXQocCArIFNTVCArIDEsIEZPUkJJRERFTkJZVEUsIFNTVC0xKTsKIAotICAgIGlmIChuYnl0ZXMgPiAwKQorICAgIGlmIChuYnl0ZXMgPiAwICYmICF1c2VfY2FsbG9jKQogICAgICAgICBtZW1zZXQocCArIDIqU1NULCBDTEVBTkJZVEUsIG5ieXRlcyk7CiAKICAgICAvKiBhdCB0YWlsLCB3cml0ZSBwYWQgKFNTVCBieXRlcykgYW5kIHNlcmlhbG5vIChTU1QgYnl0ZXMpICovCkBAIC0xNzc4LDYgKzE4NTUsMjEgQEAKICAgICByZXR1cm4gcCArIDIqU1NUOwogfQogCitzdGF0aWMgdm9pZCAqCitfUHlNZW1fRGVidWdNYWxsb2Modm9pZCAqY3R4LCBzaXplX3QgbmJ5dGVzKQoreworICAgIHJldHVybiBfUHlNZW1fRGVidWdBbGxvYygwLCBjdHgsIG5ieXRlcyk7Cit9CisKK3N0YXRpYyB2b2lkICoKK19QeU1lbV9EZWJ1Z0NhbGxvYyh2b2lkICpjdHgsIHNpemVfdCBuZWxlbSwgc2l6ZV90IGVsc2l6ZSkKK3sKKyAgICBzaXplX3QgbmJ5dGVzOworICAgIGFzc2VydChlbHNpemUgPT0gMCB8fCBuZWxlbSA8PSBQWV9TU0laRV9UX01BWCAvIGVsc2l6ZSk7CisgICAgbmJ5dGVzID0gbmVsZW0gKiBlbHNpemU7CisgICAgcmV0dXJuIF9QeU1lbV9EZWJ1Z0FsbG9jKDEsIGN0eCwgbmJ5dGVzKTsKK30KKwogLyogVGhlIGRlYnVnIGZyZWUgZmlyc3QgY2hlY2tzIHRoZSAyKlNTVCBieXRlcyBvbiBlYWNoIGVuZCBmb3Igc2FuaXR5IChpbgogICAgcGFydGljdWxhciwgdGhhdCB0aGUgRk9SQklEREVOQllURXMgd2l0aCB0aGUgYXBpIElEIGFyZSBzdGlsbCBpbnRhY3QpLgogICAgVGhlbiBmaWxscyB0aGUgb3JpZ2luYWwgYnl0ZXMgd2l0aCBERUFEQllURS4KQEAgLTE4MTEsNyArMTkwMyw3IEBACiAgICAgaW50IGk7CiAKICAgICBpZiAocCA9PSBOVUxMKQotICAgICAgICByZXR1cm4gX1B5TWVtX0RlYnVnTWFsbG9jKGN0eCwgbmJ5dGVzKTsKKyAgICAgICAgcmV0dXJuIF9QeU1lbV9EZWJ1Z0FsbG9jKDAsIGN0eCwgbmJ5dGVzKTsKIAogICAgIF9QeU1lbV9EZWJ1Z0NoZWNrQWRkcmVzcyhhcGktPmFwaV9pZCwgcCk7CiAgICAgYnVtcHNlcmlhbG5vKCk7CmRpZmYgLS1naXQgYS9PYmplY3RzL3NldG9iamVjdC5jIGIvT2JqZWN0cy9zZXRvYmplY3QuYwppbmRleCAzNGU0M2I5Li4yM2FiOTVjIDEwMDY0NAotLS0gYS9PYmplY3RzL3NldG9iamVjdC5jCisrKyBiL09iamVjdHMvc2V0b2JqZWN0LmMKQEAgLTQsNyArNCw3IEBACiAgICBXcml0dGVuIGFuZCBtYWludGFpbmVkIGJ5IFJheW1vbmQgRC4gSGV0dGluZ2VyIDxweXRob25AcmNuLmNvbT4KICAgIERlcml2ZWQgZnJvbSBMaWIvc2V0cy5weSBhbmQgT2JqZWN0cy9kaWN0b2JqZWN0LmMuCiAKLSAgIENvcHlyaWdodCAoYykgMjAwMy0yMDEzIFB5dGhvbiBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICAgQ29weXJpZ2h0IChjKSAyMDAzLTIwMTUgUHl0aG9uIFNvZnR3YXJlIEZvdW5kYXRpb24uCiAgICBBbGwgcmlnaHRzIHJlc2VydmVkLgogCiAgICBUaGUgYmFzaWMgbG9va3VwIGZ1bmN0aW9uIHVzZWQgYnkgYWxsIG9wZXJhdGlvbnMuCkBAIC0yMyw3ICsyMyw3IEBACiAKICAgIEFsbCBhcml0aG1ldGljIG9uIGhhc2ggc2hvdWxkIGlnbm9yZSBvdmVyZmxvdy4KIAotICAgVW5saWtlIHRoZSBkaWN0aW9uYXJ5IGltcGxlbWVudGF0aW9uLCB0aGUgbG9va2tleSBmdW5jdGlvbnMgY2FuIHJldHVybgorICAgVW5saWtlIHRoZSBkaWN0aW9uYXJ5IGltcGxlbWVudGF0aW9uLCB0aGUgbG9va2tleSBmdW5jdGlvbiBjYW4gcmV0dXJuCiAgICBOVUxMIGlmIHRoZSByaWNoIGNvbXBhcmlzb24gcmV0dXJucyBhbiBlcnJvci4KICovCiAKQEAgLTU2LDEyMCArNTYsNzEgQEAKICAgICBzZXRlbnRyeSAqZW50cnk7CiAgICAgc2l6ZV90IHBlcnR1cmIgPSBoYXNoOwogICAgIHNpemVfdCBtYXNrID0gc28tPm1hc2s7Ci0gICAgc2l6ZV90IGkgPSAoc2l6ZV90KWhhc2g7IC8qIFVuc2lnbmVkIGZvciBkZWZpbmVkIG92ZXJmbG93IGJlaGF2aW9yLiAqLworICAgIHNpemVfdCBpID0gKHNpemVfdCloYXNoICYgbWFzazsgLyogVW5zaWduZWQgZm9yIGRlZmluZWQgb3ZlcmZsb3cgYmVoYXZpb3IgKi8KICAgICBzaXplX3QgajsKICAgICBpbnQgY21wOwogCi0gICAgZW50cnkgPSAmdGFibGVbaSAmIG1hc2tdOworICAgIGVudHJ5ID0gJnRhYmxlW2ldOwogICAgIGlmIChlbnRyeS0+a2V5ID09IE5VTEwpCiAgICAgICAgIHJldHVybiBlbnRyeTsKIAogICAgIHdoaWxlICgxKSB7Ci0gICAgICAgIGlmIChlbnRyeS0+a2V5ID09IGtleSkKLSAgICAgICAgICAgIHJldHVybiBlbnRyeTsKLSAgICAgICAgaWYgKGVudHJ5LT5oYXNoID09IGhhc2ggJiYgZW50cnktPmtleSAhPSBkdW1teSkgeworICAgICAgICBpZiAoZW50cnktPmhhc2ggPT0gaGFzaCkgewogICAgICAgICAgICAgUHlPYmplY3QgKnN0YXJ0a2V5ID0gZW50cnktPmtleTsKKyAgICAgICAgICAgIC8qIHN0YXJ0a2V5IGNhbm5vdCBiZSBhIGR1bW15IGJlY2F1c2UgdGhlIGR1bW15IGhhc2ggZmllbGQgaXMgLTEgKi8KKyAgICAgICAgICAgIGFzc2VydChzdGFydGtleSAhPSBkdW1teSk7CisgICAgICAgICAgICBpZiAoc3RhcnRrZXkgPT0ga2V5KQorICAgICAgICAgICAgICAgIHJldHVybiBlbnRyeTsKKyAgICAgICAgICAgIGlmIChQeVVuaWNvZGVfQ2hlY2tFeGFjdChzdGFydGtleSkKKyAgICAgICAgICAgICAgICAmJiBQeVVuaWNvZGVfQ2hlY2tFeGFjdChrZXkpCisgICAgICAgICAgICAgICAgJiYgdW5pY29kZV9lcShzdGFydGtleSwga2V5KSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZW50cnk7CiAgICAgICAgICAgICBQeV9JTkNSRUYoc3RhcnRrZXkpOwogICAgICAgICAgICAgY21wID0gUHlPYmplY3RfUmljaENvbXBhcmVCb29sKHN0YXJ0a2V5LCBrZXksIFB5X0VRKTsKICAgICAgICAgICAgIFB5X0RFQ1JFRihzdGFydGtleSk7Ci0gICAgICAgICAgICBpZiAoY21wIDwgMCkKKyAgICAgICAgICAgIGlmIChjbXAgPCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHVubGlrZWx5ICovCiAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgICAgICBpZiAodGFibGUgIT0gc28tPnRhYmxlIHx8IGVudHJ5LT5rZXkgIT0gc3RhcnRrZXkpCisgICAgICAgICAgICBpZiAodGFibGUgIT0gc28tPnRhYmxlIHx8IGVudHJ5LT5rZXkgIT0gc3RhcnRrZXkpICAgICAvKiB1bmxpa2VseSAqLwogICAgICAgICAgICAgICAgIHJldHVybiBzZXRfbG9va2tleShzbywga2V5LCBoYXNoKTsKLSAgICAgICAgICAgIGlmIChjbXAgPiAwKQorICAgICAgICAgICAgaWYgKGNtcCA+IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbGlrZWx5ICovCiAgICAgICAgICAgICAgICAgcmV0dXJuIGVudHJ5OwogICAgICAgICB9CiAgICAgICAgIGlmIChlbnRyeS0+a2V5ID09IGR1bW15ICYmIGZyZWVzbG90ID09IE5VTEwpCiAgICAgICAgICAgICBmcmVlc2xvdCA9IGVudHJ5OwogCi0gICAgICAgIGZvciAoaiA9IDEgOyBqIDw9IExJTkVBUl9QUk9CRVMgOyBqKyspIHsKLSAgICAgICAgICAgIGVudHJ5ID0gJnRhYmxlWyhpICsgaikgJiBtYXNrXTsKLSAgICAgICAgICAgIGlmIChlbnRyeS0+a2V5ID09IE5VTEwpCi0gICAgICAgICAgICAgICAgZ290byBmb3VuZF9udWxsOwotICAgICAgICAgICAgaWYgKGVudHJ5LT5rZXkgPT0ga2V5KQotICAgICAgICAgICAgICAgIHJldHVybiBlbnRyeTsKLSAgICAgICAgICAgIGlmIChlbnRyeS0+aGFzaCA9PSBoYXNoICYmIGVudHJ5LT5rZXkgIT0gZHVtbXkpIHsKLSAgICAgICAgICAgICAgICBQeU9iamVjdCAqc3RhcnRrZXkgPSBlbnRyeS0+a2V5OwotICAgICAgICAgICAgICAgIFB5X0lOQ1JFRihzdGFydGtleSk7Ci0gICAgICAgICAgICAgICAgY21wID0gUHlPYmplY3RfUmljaENvbXBhcmVCb29sKHN0YXJ0a2V5LCBrZXksIFB5X0VRKTsKLSAgICAgICAgICAgICAgICBQeV9ERUNSRUYoc3RhcnRrZXkpOwotICAgICAgICAgICAgICAgIGlmIChjbXAgPCAwKQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgICAgICAgICBpZiAodGFibGUgIT0gc28tPnRhYmxlIHx8IGVudHJ5LT5rZXkgIT0gc3RhcnRrZXkpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiBzZXRfbG9va2tleShzbywga2V5LCBoYXNoKTsKLSAgICAgICAgICAgICAgICBpZiAoY21wID4gMCkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGVudHJ5OworICAgICAgICBpZiAoaSArIExJTkVBUl9QUk9CRVMgPD0gbWFzaykgeworICAgICAgICAgICAgZm9yIChqID0gMCA7IGogPCBMSU5FQVJfUFJPQkVTIDsgaisrKSB7CisgICAgICAgICAgICAgICAgZW50cnkrKzsKKyAgICAgICAgICAgICAgICBpZiAoZW50cnktPmtleSA9PSBOVUxMKQorICAgICAgICAgICAgICAgICAgICBnb3RvIGZvdW5kX251bGw7CisgICAgICAgICAgICAgICAgaWYgKGVudHJ5LT5oYXNoID09IGhhc2gpIHsKKyAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKnN0YXJ0a2V5ID0gZW50cnktPmtleTsKKyAgICAgICAgICAgICAgICAgICAgYXNzZXJ0KHN0YXJ0a2V5ICE9IGR1bW15KTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXJ0a2V5ID09IGtleSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBlbnRyeTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKFB5VW5pY29kZV9DaGVja0V4YWN0KHN0YXJ0a2V5KQorICAgICAgICAgICAgICAgICAgICAgICAgJiYgUHlVbmljb2RlX0NoZWNrRXhhY3Qoa2V5KQorICAgICAgICAgICAgICAgICAgICAgICAgJiYgdW5pY29kZV9lcShzdGFydGtleSwga2V5KSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBlbnRyeTsKKyAgICAgICAgICAgICAgICAgICAgUHlfSU5DUkVGKHN0YXJ0a2V5KTsKKyAgICAgICAgICAgICAgICAgICAgY21wID0gUHlPYmplY3RfUmljaENvbXBhcmVCb29sKHN0YXJ0a2V5LCBrZXksIFB5X0VRKTsKKyAgICAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHN0YXJ0a2V5KTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGNtcCA8IDApCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHRhYmxlICE9IHNvLT50YWJsZSB8fCBlbnRyeS0+a2V5ICE9IHN0YXJ0a2V5KQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldF9sb29ra2V5KHNvLCBrZXksIGhhc2gpOworICAgICAgICAgICAgICAgICAgICBpZiAoY21wID4gMCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBlbnRyeTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKGVudHJ5LT5rZXkgPT0gZHVtbXkgJiYgZnJlZXNsb3QgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICAgICAgZnJlZXNsb3QgPSBlbnRyeTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChlbnRyeS0+a2V5ID09IGR1bW15ICYmIGZyZWVzbG90ID09IE5VTEwpCi0gICAgICAgICAgICAgICAgZnJlZXNsb3QgPSBlbnRyeTsKICAgICAgICAgfQogCiAgICAgICAgIHBlcnR1cmIgPj49IFBFUlRVUkJfU0hJRlQ7Ci0gICAgICAgIGkgPSBpICogNSArIDEgKyBwZXJ0dXJiOworICAgICAgICBpID0gKGkgKiA1ICsgMSArIHBlcnR1cmIpICYgbWFzazsKIAotICAgICAgICBlbnRyeSA9ICZ0YWJsZVtpICYgbWFza107Ci0gICAgICAgIGlmIChlbnRyeS0+a2V5ID09IE5VTEwpCi0gICAgICAgICAgICBnb3RvIGZvdW5kX251bGw7Ci0gICAgfQotICBmb3VuZF9udWxsOgotICAgIHJldHVybiBmcmVlc2xvdCA9PSBOVUxMID8gZW50cnkgOiBmcmVlc2xvdDsKLX0KLQotLyoKLSAqIEhhY2tlZCB1cCB2ZXJzaW9uIG9mIHNldF9sb29ra2V5IHdoaWNoIGNhbiBhc3N1bWUga2V5cyBhcmUgYWx3YXlzIHVuaWNvZGU7Ci0gKiBUaGlzIG1lYW5zIHdlIGNhbiBhbHdheXMgdXNlIHVuaWNvZGVfZXEgZGlyZWN0bHkgYW5kIG5vdCBoYXZlIHRvIGNoZWNrIHRvCi0gKiBzZWUgaWYgdGhlIGNvbXBhcmlzb24gYWx0ZXJlZCB0aGUgdGFibGUuCi0gKi8KLXN0YXRpYyBzZXRlbnRyeSAqCi1zZXRfbG9va2tleV91bmljb2RlKFB5U2V0T2JqZWN0ICpzbywgUHlPYmplY3QgKmtleSwgUHlfaGFzaF90IGhhc2gpCi17Ci0gICAgc2V0ZW50cnkgKnRhYmxlID0gc28tPnRhYmxlOwotICAgIHNldGVudHJ5ICpmcmVlc2xvdCA9IE5VTEw7Ci0gICAgc2V0ZW50cnkgKmVudHJ5OwotICAgIHNpemVfdCBwZXJ0dXJiID0gaGFzaDsKLSAgICBzaXplX3QgbWFzayA9IHNvLT5tYXNrOwotICAgIHNpemVfdCBpID0gKHNpemVfdCloYXNoOwotICAgIHNpemVfdCBqOwotCi0gICAgLyogTWFrZSBzdXJlIHRoaXMgZnVuY3Rpb24gZG9lc24ndCBoYXZlIHRvIGhhbmRsZSBub24tdW5pY29kZSBrZXlzLAotICAgICAgIGluY2x1ZGluZyBzdWJjbGFzc2VzIG9mIHN0cjsgZS5nLiwgb25lIHJlYXNvbiB0byBzdWJjbGFzcwotICAgICAgIHN0cmluZ3MgaXMgdG8gb3ZlcnJpZGUgX19lcV9fLCBhbmQgZm9yIHNwZWVkIHdlIGRvbid0IGNhdGVyIHRvCi0gICAgICAgdGhhdCBoZXJlLiAqLwotICAgIGlmICghUHlVbmljb2RlX0NoZWNrRXhhY3Qoa2V5KSkgewotICAgICAgICBzby0+bG9va3VwID0gc2V0X2xvb2trZXk7Ci0gICAgICAgIHJldHVybiBzZXRfbG9va2tleShzbywga2V5LCBoYXNoKTsKLSAgICB9Ci0KLSAgICBlbnRyeSA9ICZ0YWJsZVtpICYgbWFza107Ci0gICAgaWYgKGVudHJ5LT5rZXkgPT0gTlVMTCkKLSAgICAgICAgcmV0dXJuIGVudHJ5OwotCi0gICAgd2hpbGUgKDEpIHsKLSAgICAgICAgaWYgKGVudHJ5LT5rZXkgPT0ga2V5Ci0gICAgICAgICAgICB8fCAoZW50cnktPmhhc2ggPT0gaGFzaAotICAgICAgICAgICAgICAgICYmIGVudHJ5LT5rZXkgIT0gZHVtbXkKLSAgICAgICAgICAgICAgICAmJiB1bmljb2RlX2VxKGVudHJ5LT5rZXksIGtleSkpKQotICAgICAgICAgICAgcmV0dXJuIGVudHJ5OwotICAgICAgICBpZiAoZW50cnktPmtleSA9PSBkdW1teSAmJiBmcmVlc2xvdCA9PSBOVUxMKQotICAgICAgICAgICAgZnJlZXNsb3QgPSBlbnRyeTsKLQotICAgICAgICBmb3IgKGogPSAxIDsgaiA8PSBMSU5FQVJfUFJPQkVTIDsgaisrKSB7Ci0gICAgICAgICAgICBlbnRyeSA9ICZ0YWJsZVsoaSArIGopICYgbWFza107Ci0gICAgICAgICAgICBpZiAoZW50cnktPmtleSA9PSBOVUxMKQotICAgICAgICAgICAgICAgIGdvdG8gZm91bmRfbnVsbDsKLSAgICAgICAgICAgIGlmIChlbnRyeS0+a2V5ID09IGtleQotICAgICAgICAgICAgICAgIHx8IChlbnRyeS0+aGFzaCA9PSBoYXNoCi0gICAgICAgICAgICAgICAgICAgICYmIGVudHJ5LT5rZXkgIT0gZHVtbXkKLSAgICAgICAgICAgICAgICAgICAgJiYgdW5pY29kZV9lcShlbnRyeS0+a2V5LCBrZXkpKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gZW50cnk7Ci0gICAgICAgICAgICBpZiAoZW50cnktPmtleSA9PSBkdW1teSAmJiBmcmVlc2xvdCA9PSBOVUxMKQotICAgICAgICAgICAgICAgIGZyZWVzbG90ID0gZW50cnk7Ci0gICAgICAgIH0KLQotICAgICAgICBwZXJ0dXJiID4+PSBQRVJUVVJCX1NISUZUOwotICAgICAgICBpID0gaSAqIDUgKyAxICsgcGVydHVyYjsKLQotICAgICAgICBlbnRyeSA9ICZ0YWJsZVtpICYgbWFza107CisgICAgICAgIGVudHJ5ID0gJnRhYmxlW2ldOwogICAgICAgICBpZiAoZW50cnktPmtleSA9PSBOVUxMKQogICAgICAgICAgICAgZ290byBmb3VuZF9udWxsOwogICAgIH0KQEAgLTE5MiwyMCArMTQzLDIyIEBACiAgICAgc2V0ZW50cnkgKmVudHJ5OwogICAgIHNpemVfdCBwZXJ0dXJiID0gaGFzaDsKICAgICBzaXplX3QgbWFzayA9IChzaXplX3Qpc28tPm1hc2s7Ci0gICAgc2l6ZV90IGkgPSAoc2l6ZV90KWhhc2g7CisgICAgc2l6ZV90IGkgPSAoc2l6ZV90KWhhc2ggJiBtYXNrOwogICAgIHNpemVfdCBqOwogCiAgICAgd2hpbGUgKDEpIHsKLSAgICAgICAgZW50cnkgPSAmdGFibGVbaSAmIG1hc2tdOworICAgICAgICBlbnRyeSA9ICZ0YWJsZVtpXTsKICAgICAgICAgaWYgKGVudHJ5LT5rZXkgPT0gTlVMTCkKICAgICAgICAgICAgIGdvdG8gZm91bmRfbnVsbDsKLSAgICAgICAgZm9yIChqID0gMSA7IGogPD0gTElORUFSX1BST0JFUyA7IGorKykgewotICAgICAgICAgICAgZW50cnkgPSAmdGFibGVbKGkgKyBqKSAmIG1hc2tdOwotICAgICAgICAgICAgaWYgKGVudHJ5LT5rZXkgPT0gTlVMTCkKLSAgICAgICAgICAgICAgICBnb3RvIGZvdW5kX251bGw7CisgICAgICAgIGlmIChpICsgTElORUFSX1BST0JFUyA8PSBtYXNrKSB7CisgICAgICAgICAgICBmb3IgKGogPSAwOyBqIDwgTElORUFSX1BST0JFUzsgaisrKSB7CisgICAgICAgICAgICAgICAgZW50cnkrKzsKKyAgICAgICAgICAgICAgICBpZiAoZW50cnktPmtleSA9PSBOVUxMKQorICAgICAgICAgICAgICAgICAgICBnb3RvIGZvdW5kX251bGw7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgcGVydHVyYiA+Pj0gUEVSVFVSQl9TSElGVDsKLSAgICAgICAgaSA9IGkgKiA1ICsgMSArIHBlcnR1cmI7CisgICAgICAgIGkgPSAoaSAqIDUgKyAxICsgcGVydHVyYikgJiBtYXNrOwogICAgIH0KICAgZm91bmRfbnVsbDoKICAgICBlbnRyeS0+a2V5ID0ga2V5OwpAQCAtMjI4LDE1ICsxODEsMTQgQEAKIHsKICAgICBzZXRlbnRyeSAqZW50cnk7CiAKLSAgICBhc3NlcnQoc28tPmxvb2t1cCAhPSBOVUxMKTsKLSAgICBlbnRyeSA9IHNvLT5sb29rdXAoc28sIGtleSwgaGFzaCk7CisgICAgZW50cnkgPSBzZXRfbG9va2tleShzbywga2V5LCBoYXNoKTsKICAgICBpZiAoZW50cnkgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIC0xOwogICAgIGlmIChlbnRyeS0+a2V5ID09IE5VTEwpIHsKICAgICAgICAgLyogVU5VU0VEICovCi0gICAgICAgIHNvLT5maWxsKys7CiAgICAgICAgIGVudHJ5LT5rZXkgPSBrZXk7CiAgICAgICAgIGVudHJ5LT5oYXNoID0gaGFzaDsKKyAgICAgICAgc28tPmZpbGwrKzsKICAgICAgICAgc28tPnVzZWQrKzsKICAgICB9IGVsc2UgaWYgKGVudHJ5LT5rZXkgPT0gZHVtbXkpIHsKICAgICAgICAgLyogRFVNTVkgKi8KQEAgLTI2MCwxMyArMjEyLDE1IEBACiB7CiAgICAgUHlfc3NpemVfdCBuZXdzaXplOwogICAgIHNldGVudHJ5ICpvbGR0YWJsZSwgKm5ld3RhYmxlLCAqZW50cnk7Ci0gICAgUHlfc3NpemVfdCBpOworICAgIFB5X3NzaXplX3Qgb2xkZmlsbCA9IHNvLT5maWxsOworICAgIFB5X3NzaXplX3Qgb2xkdXNlZCA9IHNvLT51c2VkOwogICAgIGludCBpc19vbGR0YWJsZV9tYWxsb2NlZDsKICAgICBzZXRlbnRyeSBzbWFsbF9jb3B5W1B5U2V0X01JTlNJWkVdOwogCiAgICAgYXNzZXJ0KG1pbnVzZWQgPj0gMCk7CiAKICAgICAvKiBGaW5kIHRoZSBzbWFsbGVzdCB0YWJsZSBzaXplID4gbWludXNlZC4gKi8KKyAgICAvKiBYWFggc3BlZWQtdXAgd2l0aCBpbnRyaW5zaWNzICovCiAgICAgZm9yIChuZXdzaXplID0gUHlTZXRfTUlOU0laRTsKICAgICAgICAgIG5ld3NpemUgPD0gbWludXNlZCAmJiBuZXdzaXplID4gMDsKICAgICAgICAgIG5ld3NpemUgPDw9IDEpCkBAIC0zMTAsMTkgKzI2NCwyNyBAQAogCiAgICAgLyogTWFrZSB0aGUgc2V0IGVtcHR5LCB1c2luZyB0aGUgbmV3IHRhYmxlLiAqLwogICAgIGFzc2VydChuZXd0YWJsZSAhPSBvbGR0YWJsZSk7Ci0gICAgc28tPnRhYmxlID0gbmV3dGFibGU7Ci0gICAgc28tPm1hc2sgPSBuZXdzaXplIC0gMTsKICAgICBtZW1zZXQobmV3dGFibGUsIDAsIHNpemVvZihzZXRlbnRyeSkgKiBuZXdzaXplKTsKLSAgICBpID0gc28tPnVzZWQ7Ci0gICAgc28tPnVzZWQgPSAwOwogICAgIHNvLT5maWxsID0gMDsKKyAgICBzby0+dXNlZCA9IDA7CisgICAgc28tPm1hc2sgPSBuZXdzaXplIC0gMTsKKyAgICBzby0+dGFibGUgPSBuZXd0YWJsZTsKIAogICAgIC8qIENvcHkgdGhlIGRhdGEgb3ZlcjsgdGhpcyBpcyByZWZjb3VudC1uZXV0cmFsIGZvciBhY3RpdmUgZW50cmllczsKICAgICAgICBkdW1teSBlbnRyaWVzIGFyZW4ndCBjb3BpZWQgb3Zlciwgb2YgY291cnNlICovCi0gICAgZm9yIChlbnRyeSA9IG9sZHRhYmxlOyBpID4gMDsgZW50cnkrKykgewotICAgICAgICBpZiAoZW50cnktPmtleSAhPSBOVUxMICYmIGVudHJ5LT5rZXkgIT0gZHVtbXkpIHsKLSAgICAgICAgICAgIC0taTsKLSAgICAgICAgICAgIHNldF9pbnNlcnRfY2xlYW4oc28sIGVudHJ5LT5rZXksIGVudHJ5LT5oYXNoKTsKKyAgICBpZiAob2xkZmlsbCA9PSBvbGR1c2VkKSB7CisgICAgICAgIGZvciAoZW50cnkgPSBvbGR0YWJsZTsgb2xkdXNlZCA+IDA7IGVudHJ5KyspIHsKKyAgICAgICAgICAgIGlmIChlbnRyeS0+a2V5ICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICBvbGR1c2VkLS07CisgICAgICAgICAgICAgICAgc2V0X2luc2VydF9jbGVhbihzbywgZW50cnktPmtleSwgZW50cnktPmhhc2gpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAgICAgZm9yIChlbnRyeSA9IG9sZHRhYmxlOyBvbGR1c2VkID4gMDsgZW50cnkrKykgeworICAgICAgICAgICAgaWYgKGVudHJ5LT5rZXkgIT0gTlVMTCAmJiBlbnRyeS0+a2V5ICE9IGR1bW15KSB7CisgICAgICAgICAgICAgICAgb2xkdXNlZC0tOworICAgICAgICAgICAgICAgIHNldF9pbnNlcnRfY2xlYW4oc28sIGVudHJ5LT5rZXksIGVudHJ5LT5oYXNoKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KIApAQCAtMzU1LDggKzMxNyw4IEBACiBzdGF0aWMgaW50CiBzZXRfYWRkX2tleShQeVNldE9iamVjdCAqc28sIFB5T2JqZWN0ICprZXkpCiB7CisgICAgc2V0ZW50cnkgZW50cnk7CiAgICAgUHlfaGFzaF90IGhhc2g7Ci0gICAgUHlfc3NpemVfdCBuX3VzZWQ7CiAKICAgICBpZiAoIVB5VW5pY29kZV9DaGVja0V4YWN0KGtleSkgfHwKICAgICAgICAgKGhhc2ggPSAoKFB5QVNDSUlPYmplY3QgKikga2V5KS0+aGFzaCkgPT0gLTEpIHsKQEAgLTM2NCwxNiArMzI2LDkgQEAKICAgICAgICAgaWYgKGhhc2ggPT0gLTEpCiAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgfQotICAgIGFzc2VydChzby0+ZmlsbCA8PSBzby0+bWFzayk7ICAvKiBhdCBsZWFzdCBvbmUgZW1wdHkgc2xvdCAqLwotICAgIG5fdXNlZCA9IHNvLT51c2VkOwotICAgIFB5X0lOQ1JFRihrZXkpOwotICAgIGlmIChzZXRfaW5zZXJ0X2tleShzbywga2V5LCBoYXNoKSA9PSAtMSkgewotICAgICAgICBQeV9ERUNSRUYoa2V5KTsKLSAgICAgICAgcmV0dXJuIC0xOwotICAgIH0KLSAgICBpZiAoIShzby0+dXNlZCA+IG5fdXNlZCAmJiBzby0+ZmlsbCozID49IChzby0+bWFzaysxKSoyKSkKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgcmV0dXJuIHNldF90YWJsZV9yZXNpemUoc28sIHNvLT51c2VkPjUwMDAwID8gc28tPnVzZWQqMiA6IHNvLT51c2VkKjQpOworICAgIGVudHJ5LmtleSA9IGtleTsKKyAgICBlbnRyeS5oYXNoID0gaGFzaDsKKyAgICByZXR1cm4gc2V0X2FkZF9lbnRyeShzbywgJmVudHJ5KTsKIH0KIAogI2RlZmluZSBESVNDQVJEX05PVEZPVU5EIDAKQEAgLTM4MSwxNiArMzM2LDE4IEBACiAKIHN0YXRpYyBpbnQKIHNldF9kaXNjYXJkX2VudHJ5KFB5U2V0T2JqZWN0ICpzbywgc2V0ZW50cnkgKm9sZGVudHJ5KQoteyAgICAgICBzZXRlbnRyeSAqZW50cnk7Cit7CisgICAgc2V0ZW50cnkgKmVudHJ5OwogICAgIFB5T2JqZWN0ICpvbGRfa2V5OwogCi0gICAgZW50cnkgPSAoc28tPmxvb2t1cCkoc28sIG9sZGVudHJ5LT5rZXksIG9sZGVudHJ5LT5oYXNoKTsKKyAgICBlbnRyeSA9IHNldF9sb29ra2V5KHNvLCBvbGRlbnRyeS0+a2V5LCBvbGRlbnRyeS0+aGFzaCk7CiAgICAgaWYgKGVudHJ5ID09IE5VTEwpCiAgICAgICAgIHJldHVybiAtMTsKICAgICBpZiAoZW50cnktPmtleSA9PSBOVUxMICB8fCAgZW50cnktPmtleSA9PSBkdW1teSkKICAgICAgICAgcmV0dXJuIERJU0NBUkRfTk9URk9VTkQ7CiAgICAgb2xkX2tleSA9IGVudHJ5LT5rZXk7CiAgICAgZW50cnktPmtleSA9IGR1bW15OworICAgIGVudHJ5LT5oYXNoID0gLTE7CiAgICAgc28tPnVzZWQtLTsKICAgICBQeV9ERUNSRUYob2xkX2tleSk7CiAgICAgcmV0dXJuIERJU0NBUkRfRk9VTkQ7CkBAIC0zOTksOSArMzU2LDggQEAKIHN0YXRpYyBpbnQKIHNldF9kaXNjYXJkX2tleShQeVNldE9iamVjdCAqc28sIFB5T2JqZWN0ICprZXkpCiB7CisgICAgc2V0ZW50cnkgZW50cnk7CiAgICAgUHlfaGFzaF90IGhhc2g7Ci0gICAgc2V0ZW50cnkgKmVudHJ5OwotICAgIFB5T2JqZWN0ICpvbGRfa2V5OwogCiAgICAgYXNzZXJ0IChQeUFueVNldF9DaGVjayhzbykpOwogCkBAIC00MTEsMTYgKzM2Nyw5IEBACiAgICAgICAgIGlmIChoYXNoID09IC0xKQogICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KLSAgICBlbnRyeSA9IChzby0+bG9va3VwKShzbywga2V5LCBoYXNoKTsKLSAgICBpZiAoZW50cnkgPT0gTlVMTCkKLSAgICAgICAgcmV0dXJuIC0xOwotICAgIGlmIChlbnRyeS0+a2V5ID09IE5VTEwgIHx8ICBlbnRyeS0+a2V5ID09IGR1bW15KQotICAgICAgICByZXR1cm4gRElTQ0FSRF9OT1RGT1VORDsKLSAgICBvbGRfa2V5ID0gZW50cnktPmtleTsKLSAgICBlbnRyeS0+a2V5ID0gZHVtbXk7Ci0gICAgc28tPnVzZWQtLTsKLSAgICBQeV9ERUNSRUYob2xkX2tleSk7Ci0gICAgcmV0dXJuIERJU0NBUkRfRk9VTkQ7CisgICAgZW50cnkua2V5ID0ga2V5OworICAgIGVudHJ5Lmhhc2ggPSBoYXNoOworICAgIHJldHVybiBzZXRfZGlzY2FyZF9lbnRyeShzbywgJmVudHJ5KTsKIH0KIAogc3RhdGljIHZvaWQKQEAgLTQzNywyMCArMzg2LDE1IEBACiBzdGF0aWMgaW50CiBzZXRfY2xlYXJfaW50ZXJuYWwoUHlTZXRPYmplY3QgKnNvKQogewotICAgIHNldGVudHJ5ICplbnRyeSwgKnRhYmxlOwotICAgIGludCB0YWJsZV9pc19tYWxsb2NlZDsKLSAgICBQeV9zc2l6ZV90IGZpbGw7CisgICAgc2V0ZW50cnkgKmVudHJ5OworICAgIHNldGVudHJ5ICp0YWJsZSA9IHNvLT50YWJsZTsKKyAgICBQeV9zc2l6ZV90IGZpbGwgPSBzby0+ZmlsbDsKKyAgICBQeV9zc2l6ZV90IHVzZWQgPSBzby0+dXNlZDsKKyAgICBpbnQgdGFibGVfaXNfbWFsbG9jZWQgPSB0YWJsZSAhPSBzby0+c21hbGx0YWJsZTsKICAgICBzZXRlbnRyeSBzbWFsbF9jb3B5W1B5U2V0X01JTlNJWkVdOwogCi0jaWZkZWYgUHlfREVCVUcKLSAgICBQeV9zc2l6ZV90IGkgPSAwOwotICAgIFB5X3NzaXplX3QgbiA9IHNvLT5tYXNrICsgMTsKLSNlbmRpZgotCiAgICAgYXNzZXJ0IChQeUFueVNldF9DaGVjayhzbykpOwotICAgIHRhYmxlID0gc28tPnRhYmxlOwogICAgIGFzc2VydCh0YWJsZSAhPSBOVUxMKTsKLSAgICB0YWJsZV9pc19tYWxsb2NlZCA9IHRhYmxlICE9IHNvLT5zbWFsbHRhYmxlOwogCiAgICAgLyogVGhpcyBpcyBkZWxpY2F0ZS4gIER1cmluZyB0aGUgcHJvY2VzcyBvZiBjbGVhcmluZyB0aGUgc2V0LAogICAgICAqIGRlY3JlZnMgY2FuIGNhdXNlIHRoZSBzZXQgdG8gbXV0YXRlLiAgVG8gYXZvaWQgZmF0YWwgY29uZnVzaW9uCkBAIC00NTgsNyArNDAyLDYgQEAKICAgICAgKiBjbGVhcmluZyB0aGUgc2xvdHMsIGFuZCBuZXZlciByZWZlciB0byBhbnl0aGluZyB2aWEgc28tPnJlZiB3aGlsZQogICAgICAqIGNsZWFyaW5nLgogICAgICAqLwotICAgIGZpbGwgPSBzby0+ZmlsbDsKICAgICBpZiAodGFibGVfaXNfbWFsbG9jZWQpCiAgICAgICAgIHNldF9lbXB0eV90b19taW5zaXplKHNvKTsKIApAQCAtNDc3LDIwICs0MjAsMTEgQEAKICAgICAgKiBhc3NlcnQgdGhhdCB0aGUgcmVmY291bnQgb24gdGFibGUgaXMgMSBub3csIGkuZS4gdGhhdCB0aGlzIGZ1bmN0aW9uCiAgICAgICogaGFzIHVuaXF1ZSBhY2Nlc3MgdG8gaXQsIHNvIGRlY3JlZiBzaWRlLWVmZmVjdHMgY2FuJ3QgYWx0ZXIgaXQuCiAgICAgICovCi0gICAgZm9yIChlbnRyeSA9IHRhYmxlOyBmaWxsID4gMDsgKytlbnRyeSkgewotI2lmZGVmIFB5X0RFQlVHCi0gICAgICAgIGFzc2VydChpIDwgbik7Ci0gICAgICAgICsraTsKLSNlbmRpZgotICAgICAgICBpZiAoZW50cnktPmtleSkgewotICAgICAgICAgICAgLS1maWxsOwotICAgICAgICAgICAgaWYgKGVudHJ5LT5rZXkgIT0gZHVtbXkpCi0gICAgICAgICAgICAgICAgUHlfREVDUkVGKGVudHJ5LT5rZXkpOworICAgIGZvciAoZW50cnkgPSB0YWJsZTsgdXNlZCA+IDA7IGVudHJ5KyspIHsKKyAgICAgICAgaWYgKGVudHJ5LT5rZXkgJiYgZW50cnktPmtleSAhPSBkdW1teSkgeworICAgICAgICAgICAgdXNlZC0tOworICAgICAgICAgICAgUHlfREVDUkVGKGVudHJ5LT5rZXkpOwogICAgICAgICB9Ci0jaWZkZWYgUHlfREVCVUcKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgYXNzZXJ0KGVudHJ5LT5rZXkgPT0gTlVMTCk7Ci0jZW5kaWYKICAgICB9CiAKICAgICBpZiAodGFibGVfaXNfbWFsbG9jZWQpCkBAIC01MzcsMTYgKzQ3MSwxNiBAQAogc2V0X2RlYWxsb2MoUHlTZXRPYmplY3QgKnNvKQogewogICAgIHNldGVudHJ5ICplbnRyeTsKLSAgICBQeV9zc2l6ZV90IGZpbGwgPSBzby0+ZmlsbDsKKyAgICBQeV9zc2l6ZV90IHVzZWQgPSBzby0+dXNlZDsKKwogICAgIFB5T2JqZWN0X0dDX1VuVHJhY2soc28pOwogICAgIFB5X1RSQVNIQ0FOX1NBRkVfQkVHSU4oc28pCiAgICAgaWYgKHNvLT53ZWFrcmVmbGlzdCAhPSBOVUxMKQogICAgICAgICBQeU9iamVjdF9DbGVhcldlYWtSZWZzKChQeU9iamVjdCAqKSBzbyk7CiAKLSAgICBmb3IgKGVudHJ5ID0gc28tPnRhYmxlOyBmaWxsID4gMDsgZW50cnkrKykgewotICAgICAgICBpZiAoZW50cnktPmtleSkgewotICAgICAgICAgICAgLS1maWxsOwotICAgICAgICAgICAgaWYgKGVudHJ5LT5rZXkgIT0gZHVtbXkpCisgICAgZm9yIChlbnRyeSA9IHNvLT50YWJsZTsgdXNlZCA+IDA7IGVudHJ5KyspIHsKKyAgICAgICAgaWYgKGVudHJ5LT5rZXkgJiYgZW50cnktPmtleSAhPSBkdW1teSkgeworICAgICAgICAgICAgICAgIHVzZWQtLTsKICAgICAgICAgICAgICAgICBQeV9ERUNSRUYoZW50cnktPmtleSk7CiAgICAgICAgIH0KICAgICB9CkBAIC02NDgsMTAgKzU4MiwyMyBAQAogfQogCiBzdGF0aWMgaW50CitzZXRfY29udGFpbnNfZW50cnkoUHlTZXRPYmplY3QgKnNvLCBzZXRlbnRyeSAqZW50cnkpCit7CisgICAgUHlPYmplY3QgKmtleTsKKyAgICBzZXRlbnRyeSAqbHVfZW50cnk7CisKKyAgICBsdV9lbnRyeSA9IHNldF9sb29ra2V5KHNvLCBlbnRyeS0+a2V5LCBlbnRyeS0+aGFzaCk7CisgICAgaWYgKGx1X2VudHJ5ID09IE5VTEwpCisgICAgICAgIHJldHVybiAtMTsKKyAgICBrZXkgPSBsdV9lbnRyeS0+a2V5OworICAgIHJldHVybiBrZXkgIT0gTlVMTCAmJiBrZXkgIT0gZHVtbXk7Cit9CisKK3N0YXRpYyBpbnQKIHNldF9jb250YWluc19rZXkoUHlTZXRPYmplY3QgKnNvLCBQeU9iamVjdCAqa2V5KQogeworICAgIHNldGVudHJ5IGVudHJ5OwogICAgIFB5X2hhc2hfdCBoYXNoOwotICAgIHNldGVudHJ5ICplbnRyeTsKIAogICAgIGlmICghUHlVbmljb2RlX0NoZWNrRXhhY3Qoa2V5KSB8fAogICAgICAgICAoaGFzaCA9ICgoUHlBU0NJSU9iamVjdCAqKSBrZXkpLT5oYXNoKSA9PSAtMSkgewpAQCAtNjU5LDMwICs2MDYsMTYgQEAKICAgICAgICAgaWYgKGhhc2ggPT0gLTEpCiAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgfQotICAgIGVudHJ5ID0gKHNvLT5sb29rdXApKHNvLCBrZXksIGhhc2gpOwotICAgIGlmIChlbnRyeSA9PSBOVUxMKQotICAgICAgICByZXR1cm4gLTE7Ci0gICAga2V5ID0gZW50cnktPmtleTsKLSAgICByZXR1cm4ga2V5ICE9IE5VTEwgJiYga2V5ICE9IGR1bW15OwotfQotCi1zdGF0aWMgaW50Ci1zZXRfY29udGFpbnNfZW50cnkoUHlTZXRPYmplY3QgKnNvLCBzZXRlbnRyeSAqZW50cnkpCi17Ci0gICAgUHlPYmplY3QgKmtleTsKLSAgICBzZXRlbnRyeSAqbHVfZW50cnk7Ci0KLSAgICBsdV9lbnRyeSA9IChzby0+bG9va3VwKShzbywgZW50cnktPmtleSwgZW50cnktPmhhc2gpOwotICAgIGlmIChsdV9lbnRyeSA9PSBOVUxMKQotICAgICAgICByZXR1cm4gLTE7Ci0gICAga2V5ID0gbHVfZW50cnktPmtleTsKLSAgICByZXR1cm4ga2V5ICE9IE5VTEwgJiYga2V5ICE9IGR1bW15OworICAgIGVudHJ5LmtleSA9IGtleTsKKyAgICBlbnRyeS5oYXNoID0gaGFzaDsKKyAgICByZXR1cm4gc2V0X2NvbnRhaW5zX2VudHJ5KHNvLCAmZW50cnkpOwogfQogCiBzdGF0aWMgUHlPYmplY3QgKgogc2V0X3BvcChQeVNldE9iamVjdCAqc28pCiB7Ci0gICAgUHlfc3NpemVfdCBpID0gMDsKKyAgICAvKiBNYWtlIHN1cmUgdGhlIHNlYXJjaCBmaW5nZXIgaXMgaW4gYm91bmRzICovCisgICAgUHlfc3NpemVfdCBpID0gc28tPmZpbmdlciAmIHNvLT5tYXNrOwogICAgIHNldGVudHJ5ICplbnRyeTsKICAgICBQeU9iamVjdCAqa2V5OwogCkBAIC02OTIsMzIgKzYyNSwxNiBAQAogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKLSAgICAvKiBTZXQgZW50cnkgdG8gInRoZSBmaXJzdCIgdW51c2VkIG9yIGR1bW15IHNldCBlbnRyeS4gIFdlIGFidXNlCi0gICAgICogdGhlIGhhc2ggZmllbGQgb2Ygc2xvdCAwIHRvIGhvbGQgYSBzZWFyY2ggZmluZ2VyOgotICAgICAqIElmIHNsb3QgMCBoYXMgYSB2YWx1ZSwgdXNlIHNsb3QgMC4KLSAgICAgKiBFbHNlIHNsb3QgMCBpcyBiZWluZyB1c2VkIHRvIGhvbGQgYSBzZWFyY2ggZmluZ2VyLAotICAgICAqIGFuZCB3ZSB1c2UgaXRzIGhhc2ggdmFsdWUgYXMgdGhlIGZpcnN0IGluZGV4IHRvIGxvb2suCi0gICAgICovCi0gICAgZW50cnkgPSAmc28tPnRhYmxlWzBdOwotICAgIGlmIChlbnRyeS0+a2V5ID09IE5VTEwgfHwgZW50cnktPmtleSA9PSBkdW1teSkgewotICAgICAgICBpID0gZW50cnktPmhhc2g7Ci0gICAgICAgIC8qIFRoZSBoYXNoIGZpZWxkIG1heSBiZSBhIHJlYWwgaGFzaCB2YWx1ZSwgb3IgaXQgbWF5IGJlIGEKLSAgICAgICAgICogbGVnaXQgc2VhcmNoIGZpbmdlciwgb3IgaXQgbWF5IGJlIGEgb25jZS1sZWdpdCBzZWFyY2gKLSAgICAgICAgICogZmluZ2VyIHRoYXQncyBvdXQgb2YgYm91bmRzIG5vdyBiZWNhdXNlIGl0IHdyYXBwZWQgYXJvdW5kCi0gICAgICAgICAqIG9yIHRoZSB0YWJsZSBzaHJ1bmsgLS0gc2ltcGx5IG1ha2Ugc3VyZSBpdCdzIGluIGJvdW5kcyBub3cuCi0gICAgICAgICAqLwotICAgICAgICBpZiAoaSA+IHNvLT5tYXNrIHx8IGkgPCAxKQotICAgICAgICAgICAgaSA9IDE7ICAgICAgICAgICAgICAvKiBza2lwIHNsb3QgMCAqLwotICAgICAgICB3aGlsZSAoKGVudHJ5ID0gJnNvLT50YWJsZVtpXSktPmtleSA9PSBOVUxMIHx8IGVudHJ5LT5rZXk9PWR1bW15KSB7Ci0gICAgICAgICAgICBpKys7Ci0gICAgICAgICAgICBpZiAoaSA+IHNvLT5tYXNrKQotICAgICAgICAgICAgICAgIGkgPSAxOwotICAgICAgICB9CisgICAgd2hpbGUgKChlbnRyeSA9ICZzby0+dGFibGVbaV0pLT5rZXkgPT0gTlVMTCB8fCBlbnRyeS0+a2V5PT1kdW1teSkgeworICAgICAgICBpKys7CisgICAgICAgIGlmIChpID4gc28tPm1hc2spCisgICAgICAgICAgICBpID0gMDsKICAgICB9CiAgICAga2V5ID0gZW50cnktPmtleTsKICAgICBlbnRyeS0+a2V5ID0gZHVtbXk7CisgICAgZW50cnktPmhhc2ggPSAtMTsKICAgICBzby0+dXNlZC0tOwotICAgIHNvLT50YWJsZVswXS5oYXNoID0gaSArIDE7ICAvKiBuZXh0IHBsYWNlIHRvIHN0YXJ0ICovCisgICAgc28tPmZpbmdlciA9IGkgKyAxOyAgICAgICAgIC8qIG5leHQgcGxhY2UgdG8gc3RhcnQgKi8KICAgICByZXR1cm4ga2V5OwogfQogCkBAIC03NjAsNyArNjc3LDcgQEAKICAgICBoYXNoICo9IChQeV91aGFzaF90KVB5U2V0X0dFVF9TSVpFKHNlbGYpICsgMTsKICAgICB3aGlsZSAoc2V0X25leHQoc28sICZwb3MsICZlbnRyeSkpIHsKICAgICAgICAgLyogV29yayB0byBpbmNyZWFzZSB0aGUgYml0IGRpc3BlcnNpb24gZm9yIGNsb3NlbHkgc3BhY2VkIGhhc2gKLSAgICAgICAgICAgdmFsdWVzLiAgVGhlIGlzIGltcG9ydGFudCBiZWNhdXNlIHNvbWUgdXNlIGNhc2VzIGhhdmUgbWFueQorICAgICAgICAgICB2YWx1ZXMuICBUaGlzIGlzIGltcG9ydGFudCBiZWNhdXNlIHNvbWUgdXNlIGNhc2VzIGhhdmUgbWFueQogICAgICAgICAgICBjb21iaW5hdGlvbnMgb2YgYSBzbWFsbCBudW1iZXIgb2YgZWxlbWVudHMgd2l0aCBuZWFyYnkKICAgICAgICAgICAgaGFzaGVzIHNvIHRoYXQgbWFueSBkaXN0aW5jdCBjb21iaW5hdGlvbnMgY29sbGFwc2UgdG8gb25seQogICAgICAgICAgICBhIGhhbmRmdWwgb2YgZGlzdGluY3QgaGFzaCB2YWx1ZXMuICovCkBAIC03NzAsNyArNjg3LDcgQEAKICAgICAvKiBNYWtlIHRoZSBmaW5hbCByZXN1bHQgc3ByZWFkLW91dCBpbiBhIGRpZmZlcmVudCBwYXR0ZXJuCiAgICAgICAgdGhhbiB0aGUgYWxnb3JpdGhtIGZvciB0dXBsZXMgb3Igb3RoZXIgcHl0aG9uIG9iamVjdHMuICovCiAgICAgaGFzaCA9IGhhc2ggKiA2OTA2OVUgKyA5MDcxMzM5MjNVTDsKLSAgICBpZiAoaGFzaCA9PSAtMSkKKyAgICBpZiAoaGFzaCA9PSAoUHlfdWhhc2hfdCktMSkKICAgICAgICAgaGFzaCA9IDU5MDkyMzcxM1VMOwogICAgIHNvLT5oYXNoID0gaGFzaDsKICAgICByZXR1cm4gaGFzaDsKQEAgLTEwMTQsNiArOTMxLDEyIEBACiBQeURvY19TVFJWQVIodXBkYXRlX2RvYywKICJVcGRhdGUgYSBzZXQgd2l0aCB0aGUgdW5pb24gb2YgaXRzZWxmIGFuZCBvdGhlcnMuIik7CiAKKy8qIFhYWCBUb2RvOgorICAgSWYgYWxpZ25lZCBtZW1vcnkgYWxsb2NhdGlvbnMgYmVjb21lIGF2YWlsYWJsZSwgbWFrZSB0aGUKKyAgIHNldCBvYmplY3QgNjQgYnl0ZSBhbGlnbmVkIHNvIHRoYXQgbW9zdCBvZiB0aGUgZmllbGRzCisgICBjYW4gYmUgcmV0cmlldmVkIG9yIHVwZGF0ZWQgaW4gYSBzaW5nbGUgY2FjaGUgbGluZS4KKyovCisKIHN0YXRpYyBQeU9iamVjdCAqCiBtYWtlX25ld19zZXQoUHlUeXBlT2JqZWN0ICp0eXBlLCBQeU9iamVjdCAqaXRlcmFibGUpCiB7CkBAIC0xMDI4LDggKzk1MSw4IEBACiAgICAgc28tPnVzZWQgPSAwOwogICAgIHNvLT5tYXNrID0gUHlTZXRfTUlOU0laRSAtIDE7CiAgICAgc28tPnRhYmxlID0gc28tPnNtYWxsdGFibGU7Ci0gICAgc28tPmxvb2t1cCA9IHNldF9sb29ra2V5X3VuaWNvZGU7CiAgICAgc28tPmhhc2ggPSAtMTsKKyAgICBzby0+ZmluZ2VyID0gMDsKICAgICBzby0+d2Vha3JlZmxpc3QgPSBOVUxMOwogCiAgICAgaWYgKGl0ZXJhYmxlICE9IE5VTEwpIHsKQEAgLTExMTcsMTAgKzEwNDAsOCBAQAogICAgICB0PXNldChhKTsgYS5jbGVhcigpOyBhLnVwZGF0ZShiKTsgYi5jbGVhcigpOyBiLnVwZGF0ZSh0KTsgZGVsIHQKIAogICAgVGhlIGZ1bmN0aW9uIGFsd2F5cyBzdWNjZWVkcyBhbmQgaXQgbGVhdmVzIGJvdGggb2JqZWN0cyBpbiBhIHN0YWJsZSBzdGF0ZS4KLSAgIFVzZWZ1bCBmb3IgY3JlYXRpbmcgdGVtcG9yYXJ5IGZyb3plbnNldHMgZnJvbSBzZXRzIGZvciBtZW1iZXJzaGlwIHRlc3RpbmcKLSAgIGluIF9fY29udGFpbnNfXygpLCBkaXNjYXJkKCksIGFuZCByZW1vdmUoKS4gIEFsc28gdXNlZnVsIGZvciBvcGVyYXRpb25zCi0gICB0aGF0IHVwZGF0ZSBpbi1wbGFjZSAoYnkgYWxsb3dpbmcgYW4gaW50ZXJtZWRpYXRlIHJlc3VsdCB0byBiZSBzd2FwcGVkCi0gICBpbnRvIG9uZSBvZiB0aGUgb3JpZ2luYWwgaW5wdXRzKS4KKyAgIFVzZWZ1bCBmb3Igb3BlcmF0aW9ucyB0aGF0IHVwZGF0ZSBpbi1wbGFjZSAoYnkgYWxsb3dpbmcgYW4gaW50ZXJtZWRpYXRlCisgICByZXN1bHQgdG8gYmUgc3dhcHBlZCBpbnRvIG9uZSBvZiB0aGUgb3JpZ2luYWwgaW5wdXRzKS4KICovCiAKIHN0YXRpYyB2b2lkCkBAIC0xMTI4LDcgKzEwNDksNiBAQAogewogICAgIFB5X3NzaXplX3QgdDsKICAgICBzZXRlbnRyeSAqdTsKLSAgICBzZXRlbnRyeSAqKCpmKShQeVNldE9iamVjdCAqc28sIFB5T2JqZWN0ICprZXksIFB5X3NzaXplX3QgaGFzaCk7CiAgICAgc2V0ZW50cnkgdGFiW1B5U2V0X01JTlNJWkVdOwogICAgIFB5X2hhc2hfdCBoOwogCkBAIC0xMTQ0LDggKzEwNjQsNiBAQAogICAgICAgICBhLT50YWJsZSA9IGEtPnNtYWxsdGFibGU7CiAgICAgYi0+dGFibGUgPSB1OwogCi0gICAgZiA9IGEtPmxvb2t1cDsgICBhLT5sb29rdXAgPSBiLT5sb29rdXA7ICAgICAgYi0+bG9va3VwID0gZjsKLQogICAgIGlmIChhLT50YWJsZSA9PSBhLT5zbWFsbHRhYmxlIHx8IGItPnRhYmxlID09IGItPnNtYWxsdGFibGUpIHsKICAgICAgICAgbWVtY3B5KHRhYiwgYS0+c21hbGx0YWJsZSwgc2l6ZW9mKHRhYikpOwogICAgICAgICBtZW1jcHkoYS0+c21hbGx0YWJsZSwgYi0+c21hbGx0YWJsZSwgc2l6ZW9mKHRhYikpOwpkaWZmIC0tZ2l0IGEvT2JqZWN0cy90dXBsZW9iamVjdC5jIGIvT2JqZWN0cy90dXBsZW9iamVjdC5jCmluZGV4IDZmZDRkYjMuLmU0NTQ2MmIgMTAwNjQ0Ci0tLSBhL09iamVjdHMvdHVwbGVvYmplY3QuYworKysgYi9PYmplY3RzL3R1cGxlb2JqZWN0LmMKQEAgLTk3LDcgKzk3LDcgQEAKICNlbmRpZgogICAgIHsKICAgICAgICAgLyogQ2hlY2sgZm9yIG92ZXJmbG93ICovCi0gICAgICAgIGlmIChzaXplID4gKFBZX1NTSVpFX1RfTUFYIC0gc2l6ZW9mKFB5VHVwbGVPYmplY3QpIC0KKyAgICAgICAgaWYgKChzaXplX3Qpc2l6ZSA+ICgoc2l6ZV90KVBZX1NTSVpFX1RfTUFYIC0gc2l6ZW9mKFB5VHVwbGVPYmplY3QpIC0KICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKFB5T2JqZWN0ICopKSAvIHNpemVvZihQeU9iamVjdCAqKSkgewogICAgICAgICAgICAgcmV0dXJuIFB5RXJyX05vTWVtb3J5KCk7CiAgICAgICAgIH0KQEAgLTc0Niw3ICs3NDYsNyBAQAogICAgIH0KICAgICBlbHNlIHsKICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICJ0dXBsZSBpbmRpY2VzIG11c3QgYmUgaW50ZWdlcnMsIG5vdCAlLjIwMHMiLAorICAgICAgICAgICAgICAgICAgICAgInR1cGxlIGluZGljZXMgbXVzdCBiZSBpbnRlZ2VycyBvciBzbGljZXMsIG5vdCAlLjIwMHMiLAogICAgICAgICAgICAgICAgICAgICAgUHlfVFlQRShpdGVtKS0+dHBfbmFtZSk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KZGlmZiAtLWdpdCBhL09iamVjdHMvdHlwZW9iamVjdC5jIGIvT2JqZWN0cy90eXBlb2JqZWN0LmMKaW5kZXggNDgyYTdhNS4uZjBhZDdmZCAxMDA2NDQKLS0tIGEvT2JqZWN0cy90eXBlb2JqZWN0LmMKKysrIGIvT2JqZWN0cy90eXBlb2JqZWN0LmMKQEAgLTE0LDEwICsxNCwxMSBAQAogICAgTUNBQ0hFX01BWF9BVFRSX1NJWkUsIHNpbmNlIGl0IG1pZ2h0IGJlIGEgcHJvYmxlbSBpZiB2ZXJ5IGxhcmdlCiAgICBzdHJpbmdzIGFyZSB1c2VkIGFzIGF0dHJpYnV0ZSBuYW1lcy4gKi8KICNkZWZpbmUgTUNBQ0hFX01BWF9BVFRSX1NJWkUgICAgMTAwCi0jZGVmaW5lIE1DQUNIRV9TSVpFX0VYUCAgICAgICAgIDkKKyNkZWZpbmUgTUNBQ0hFX1NJWkVfRVhQICAgICAgICAgMTIKICNkZWZpbmUgTUNBQ0hFX0hBU0godmVyc2lvbiwgbmFtZV9oYXNoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgKCgodW5zaWduZWQgaW50KSh2ZXJzaW9uKSAqICh1bnNpZ25lZCBpbnQpKG5hbWVfaGFzaCkpICAgICAgICAgIFwKLSAgICAgICAgID4+ICg4KnNpemVvZih1bnNpZ25lZCBpbnQpIC0gTUNBQ0hFX1NJWkVfRVhQKSkKKyAgICAgICAgKCgodW5zaWduZWQgaW50KSh2ZXJzaW9uKSBeICh1bnNpZ25lZCBpbnQpKG5hbWVfaGFzaCkpICAgICAgICAgIFwKKyAgICAgICAgICYgKCgxIDw8IE1DQUNIRV9TSVpFX0VYUCkgLSAxKSkKKwogI2RlZmluZSBNQ0FDSEVfSEFTSF9NRVRIT0QodHlwZSwgbmFtZSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICBNQ0FDSEVfSEFTSCgodHlwZSktPnRwX3ZlcnNpb25fdGFnLCAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgICAgICAgICAgICAgKChQeUFTQ0lJT2JqZWN0ICopKG5hbWUpKS0+aGFzaCkKQEAgLTM1LDYgKzM2LDE0IEBACiBzdGF0aWMgc3RydWN0IG1ldGhvZF9jYWNoZV9lbnRyeSBtZXRob2RfY2FjaGVbMSA8PCBNQ0FDSEVfU0laRV9FWFBdOwogc3RhdGljIHVuc2lnbmVkIGludCBuZXh0X3ZlcnNpb25fdGFnID0gMDsKIAorI2RlZmluZSBNQ0FDSEVfU1RBVFMgMAorCisjaWYgTUNBQ0hFX1NUQVRTCitzdGF0aWMgc2l6ZV90IG1ldGhvZF9jYWNoZV9oaXRzID0gMDsKK3N0YXRpYyBzaXplX3QgbWV0aG9kX2NhY2hlX21pc3NlcyA9IDA7CitzdGF0aWMgc2l6ZV90IG1ldGhvZF9jYWNoZV9jb2xsaXNpb25zID0gMDsKKyNlbmRpZgorCiAvKiBhbHBoYWJldGljYWwgb3JkZXIgKi8KIF9QeV9JREVOVElGSUVSKF9fYWJzdHJhY3RtZXRob2RzX18pOwogX1B5X0lERU5USUZJRVIoX19jbGFzc19fKTsKQEAgLTU0LDYgKzYzLDkgQEAKIHN0YXRpYyBQeU9iamVjdCAqCiBzbG90X3RwX25ldyhQeVR5cGVPYmplY3QgKnR5cGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcyk7CiAKK3N0YXRpYyB2b2lkCitjbGVhcl9zbG90ZGVmcyh2b2lkKTsKKwogLyoKICAqIGZpbmRzIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGRvY3N0cmluZydzIGludHJvc3BlY3Rpb24gc2lnbmF0dXJlLgogICogaWYgcHJlc2VudCwgcmV0dXJucyBhIHBvaW50ZXIgcG9pbnRpbmcgdG8gdGhlIGZpcnN0ICcoJy4KQEAgLTE2Miw2ICsxNzQsMTggQEAKICAgICBQeV9zc2l6ZV90IGk7CiAgICAgdW5zaWduZWQgaW50IGN1cl92ZXJzaW9uX3RhZyA9IG5leHRfdmVyc2lvbl90YWcgLSAxOwogCisjaWYgTUNBQ0hFX1NUQVRTCisgICAgc2l6ZV90IHRvdGFsID0gbWV0aG9kX2NhY2hlX2hpdHMgKyBtZXRob2RfY2FjaGVfY29sbGlzaW9ucyArIG1ldGhvZF9jYWNoZV9taXNzZXM7CisgICAgZnByaW50ZihzdGRlcnIsICItLSBNZXRob2QgY2FjaGUgaGl0cyAgICAgICAgPSAlemQgKCVkJSUpXG4iLAorICAgICAgICAgICAgbWV0aG9kX2NhY2hlX2hpdHMsIChpbnQpICgxMDAuMCAqIG1ldGhvZF9jYWNoZV9oaXRzIC8gdG90YWwpKTsKKyAgICBmcHJpbnRmKHN0ZGVyciwgIi0tIE1ldGhvZCBjYWNoZSB0cnVlIG1pc3NlcyA9ICV6ZCAoJWQlJSlcbiIsCisgICAgICAgICAgICBtZXRob2RfY2FjaGVfbWlzc2VzLCAoaW50KSAoMTAwLjAgKiBtZXRob2RfY2FjaGVfbWlzc2VzIC8gdG90YWwpKTsKKyAgICBmcHJpbnRmKHN0ZGVyciwgIi0tIE1ldGhvZCBjYWNoZSBjb2xsaXNpb25zICA9ICV6ZCAoJWQlJSlcbiIsCisgICAgICAgICAgICBtZXRob2RfY2FjaGVfY29sbGlzaW9ucywgKGludCkgKDEwMC4wICogbWV0aG9kX2NhY2hlX2NvbGxpc2lvbnMgLyB0b3RhbCkpOworICAgIGZwcmludGYoc3RkZXJyLCAiLS0gTWV0aG9kIGNhY2hlIHNpemUgICAgICAgID0gJXpkIEtCXG4iLAorICAgICAgICAgICAgc2l6ZW9mKG1ldGhvZF9jYWNoZSkgLyAxMDI0KTsKKyNlbmRpZgorCiAgICAgZm9yIChpID0gMDsgaSA8ICgxIDw8IE1DQUNIRV9TSVpFX0VYUCk7IGkrKykgewogICAgICAgICBtZXRob2RfY2FjaGVbaV0udmVyc2lvbiA9IDA7CiAgICAgICAgIFB5X0NMRUFSKG1ldGhvZF9jYWNoZVtpXS5uYW1lKTsKQEAgLTE3Nyw2ICsyMDEsNyBAQAogX1B5VHlwZV9GaW5pKHZvaWQpCiB7CiAgICAgUHlUeXBlX0NsZWFyQ2FjaGUoKTsKKyAgICBjbGVhcl9zbG90ZGVmcygpOwogfQogCiB2b2lkCkBAIC0xMjAwLDggKzEyMjUsMTEgQEAKICAgICBhc3NlcnQoYmFzZWRlYWxsb2MpOwogICAgIGJhc2VkZWFsbG9jKHNlbGYpOwogCi0gICAgLyogQ2FuJ3QgcmVmZXJlbmNlIHNlbGYgYmV5b25kIHRoaXMgcG9pbnQgKi8KLSAgICBQeV9ERUNSRUYodHlwZSk7CisgICAgLyogQ2FuJ3QgcmVmZXJlbmNlIHNlbGYgYmV5b25kIHRoaXMgcG9pbnQuIEl0J3MgcG9zc2libGUgdHBfZGVsIHN3aXRjaGVkCisgICAgICAgb3VyIHR5cGUgZnJvbSBhIEhFQVBUWVBFIHRvIGEgbm9uLUhFQVBUWVBFLCBzbyBiZSBjYXJlZnVsIGFib3V0CisgICAgICAgcmVmZXJlbmNlIGNvdW50aW5nLiAqLworICAgIGlmICh0eXBlLT50cF9mbGFncyAmIFB5X1RQRkxBR1NfSEVBUFRZUEUpCisgICAgICBQeV9ERUNSRUYodHlwZSk7CiAKICAgZW5kbGFiZWw6CiAgICAgKytfUHlUcmFzaF9kZWxldGVfbmVzdGluZzsKQEAgLTI3MzYsNyArMjc2NCw4IEBACiAgICAgdHlwZS0+dHBfaXRlbXNpemUgPSBzcGVjLT5pdGVtc2l6ZTsKIAogICAgIGZvciAoc2xvdCA9IHNwZWMtPnNsb3RzOyBzbG90LT5zbG90OyBzbG90KyspIHsKLSAgICAgICAgaWYgKHNsb3QtPnNsb3QgPj0gUHlfQVJSQVlfTEVOR1RIKHNsb3RvZmZzZXRzKSkgeworICAgICAgICBpZiAoc2xvdC0+c2xvdCA8IDAKKyAgICAgICAgICAgIHx8IChzaXplX3Qpc2xvdC0+c2xvdCA+PSBQeV9BUlJBWV9MRU5HVEgoc2xvdG9mZnNldHMpKSB7CiAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfUnVudGltZUVycm9yLCAiaW52YWxpZCBzbG90IG9mZnNldCIpOwogICAgICAgICAgICAgZ290byBmYWlsOwogICAgICAgICB9CkBAIC0yNzk2LDExICsyODI1LDExIEBACiB2b2lkICoKIFB5VHlwZV9HZXRTbG90KFB5VHlwZU9iamVjdCAqdHlwZSwgaW50IHNsb3QpCiB7Ci0gICAgaWYgKCFQeVR5cGVfSGFzRmVhdHVyZSh0eXBlLCBQeV9UUEZMQUdTX0hFQVBUWVBFKSkgeworICAgIGlmICghUHlUeXBlX0hhc0ZlYXR1cmUodHlwZSwgUHlfVFBGTEFHU19IRUFQVFlQRSkgfHwgc2xvdCA8IDApIHsKICAgICAgICAgUHlFcnJfQmFkSW50ZXJuYWxDYWxsKCk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLSAgICBpZiAoc2xvdCA+PSBQeV9BUlJBWV9MRU5HVEgoc2xvdG9mZnNldHMpKSB7CisgICAgaWYgKChzaXplX3Qpc2xvdCA+PSBQeV9BUlJBWV9MRU5HVEgoc2xvdG9mZnNldHMpKSB7CiAgICAgICAgIC8qIEV4dGVuc2lvbiBtb2R1bGUgcmVxdWVzdGluZyBzbG90IGZyb20gYSBmdXR1cmUgdmVyc2lvbiAqLwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CkBAIC0yODIxLDggKzI4NTAsMTIgQEAKICAgICAgICAgLyogZmFzdCBwYXRoICovCiAgICAgICAgIGggPSBNQ0FDSEVfSEFTSF9NRVRIT0QodHlwZSwgbmFtZSk7CiAgICAgICAgIGlmIChtZXRob2RfY2FjaGVbaF0udmVyc2lvbiA9PSB0eXBlLT50cF92ZXJzaW9uX3RhZyAmJgotICAgICAgICAgICAgbWV0aG9kX2NhY2hlW2hdLm5hbWUgPT0gbmFtZSkKKyAgICAgICAgICAgIG1ldGhvZF9jYWNoZVtoXS5uYW1lID09IG5hbWUpIHsKKyNpZiBNQ0FDSEVfU1RBVFMKKyAgICAgICAgICAgIG1ldGhvZF9jYWNoZV9oaXRzKys7CisjZW5kaWYKICAgICAgICAgICAgIHJldHVybiBtZXRob2RfY2FjaGVbaF0udmFsdWU7CisgICAgICAgIH0KICAgICB9CiAKICAgICAvKiBMb29rIGluIHRwX2RpY3Qgb2YgdHlwZXMgaW4gTVJPICovCkBAIC0yODU2LDYgKzI4ODksMTMgQEAKICAgICAgICAgbWV0aG9kX2NhY2hlW2hdLnZlcnNpb24gPSB0eXBlLT50cF92ZXJzaW9uX3RhZzsKICAgICAgICAgbWV0aG9kX2NhY2hlW2hdLnZhbHVlID0gcmVzOyAgLyogYm9ycm93ZWQgKi8KICAgICAgICAgUHlfSU5DUkVGKG5hbWUpOworICAgICAgICBhc3NlcnQoKChQeUFTQ0lJT2JqZWN0ICopKG5hbWUpKS0+aGFzaCAhPSAtMSk7CisjaWYgTUNBQ0hFX1NUQVRTCisgICAgICAgIGlmIChtZXRob2RfY2FjaGVbaF0ubmFtZSAhPSBQeV9Ob25lICYmIG1ldGhvZF9jYWNoZVtoXS5uYW1lICE9IG5hbWUpCisgICAgICAgICAgICBtZXRob2RfY2FjaGVfY29sbGlzaW9ucysrOworICAgICAgICBlbHNlCisgICAgICAgICAgICBtZXRob2RfY2FjaGVfbWlzc2VzKys7CisjZW5kaWYKICAgICAgICAgUHlfREVDUkVGKG1ldGhvZF9jYWNoZVtoXS5uYW1lKTsKICAgICAgICAgbWV0aG9kX2NhY2hlW2hdLm5hbWUgPSBuYW1lOwogICAgIH0KQEAgLTM1MDYsMTcgKzM1NDYsMTggQEAKIH0KIAogc3RhdGljIGludAotZXF1aXZfc3RydWN0cyhQeVR5cGVPYmplY3QgKmEsIFB5VHlwZU9iamVjdCAqYikKK2NvbXBhdGlibGVfd2l0aF90cF9iYXNlKFB5VHlwZU9iamVjdCAqY2hpbGQpCiB7Ci0gICAgcmV0dXJuIGEgPT0gYiB8fAotICAgICAgICAgICAoYSAhPSBOVUxMICYmCi0gICAgICAgIGIgIT0gTlVMTCAmJgotICAgICAgICBhLT50cF9iYXNpY3NpemUgPT0gYi0+dHBfYmFzaWNzaXplICYmCi0gICAgICAgIGEtPnRwX2l0ZW1zaXplID09IGItPnRwX2l0ZW1zaXplICYmCi0gICAgICAgIGEtPnRwX2RpY3RvZmZzZXQgPT0gYi0+dHBfZGljdG9mZnNldCAmJgotICAgICAgICBhLT50cF93ZWFrbGlzdG9mZnNldCA9PSBiLT50cF93ZWFrbGlzdG9mZnNldCAmJgotICAgICAgICAoKGEtPnRwX2ZsYWdzICYgUHlfVFBGTEFHU19IQVZFX0dDKSA9PQotICAgICAgICAgKGItPnRwX2ZsYWdzICYgUHlfVFBGTEFHU19IQVZFX0dDKSkpOworICAgIFB5VHlwZU9iamVjdCAqcGFyZW50ID0gY2hpbGQtPnRwX2Jhc2U7CisgICAgcmV0dXJuIChwYXJlbnQgIT0gTlVMTCAmJgorICAgICAgICAgICAgY2hpbGQtPnRwX2Jhc2ljc2l6ZSA9PSBwYXJlbnQtPnRwX2Jhc2ljc2l6ZSAmJgorICAgICAgICAgICAgY2hpbGQtPnRwX2l0ZW1zaXplID09IHBhcmVudC0+dHBfaXRlbXNpemUgJiYKKyAgICAgICAgICAgIGNoaWxkLT50cF9kaWN0b2Zmc2V0ID09IHBhcmVudC0+dHBfZGljdG9mZnNldCAmJgorICAgICAgICAgICAgY2hpbGQtPnRwX3dlYWtsaXN0b2Zmc2V0ID09IHBhcmVudC0+dHBfd2Vha2xpc3RvZmZzZXQgJiYKKyAgICAgICAgICAgICgoY2hpbGQtPnRwX2ZsYWdzICYgUHlfVFBGTEFHU19IQVZFX0dDKSA9PQorICAgICAgICAgICAgIChwYXJlbnQtPnRwX2ZsYWdzICYgUHlfVFBGTEFHU19IQVZFX0dDKSkgJiYKKyAgICAgICAgICAgIChjaGlsZC0+dHBfZGVhbGxvYyA9PSBzdWJ0eXBlX2RlYWxsb2MgfHwKKyAgICAgICAgICAgICBjaGlsZC0+dHBfZGVhbGxvYyA9PSBwYXJlbnQtPnRwX2RlYWxsb2MpKTsKIH0KIAogc3RhdGljIGludApAQCAtMzUzNCw2ICszNTc1LDEwIEBACiAgICAgICAgIHNpemUgKz0gc2l6ZW9mKFB5T2JqZWN0ICopOwogCiAgICAgLyogQ2hlY2sgc2xvdHMgY29tcGxpYW5jZSAqLworICAgIGlmICghKGEtPnRwX2ZsYWdzICYgUHlfVFBGTEFHU19IRUFQVFlQRSkgfHwKKyAgICAgICAgIShiLT50cF9mbGFncyAmIFB5X1RQRkxBR1NfSEVBUFRZUEUpKSB7CisgICAgICAgIHJldHVybiAwOworICAgIH0KICAgICBzbG90c19hID0gKChQeUhlYXBUeXBlT2JqZWN0ICopYSktPmh0X3Nsb3RzOwogICAgIHNsb3RzX2IgPSAoKFB5SGVhcFR5cGVPYmplY3QgKiliKS0+aHRfc2xvdHM7CiAgICAgaWYgKHNsb3RzX2EgJiYgc2xvdHNfYikgewpAQCAtMzU0OSw5ICszNTk0LDcgQEAKIHsKICAgICBQeVR5cGVPYmplY3QgKm5ld2Jhc2UsICpvbGRiYXNlOwogCi0gICAgaWYgKG5ld3RvLT50cF9kZWFsbG9jICE9IG9sZHRvLT50cF9kZWFsbG9jIHx8Ci0gICAgICAgIG5ld3RvLT50cF9mcmVlICE9IG9sZHRvLT50cF9mcmVlKQotICAgIHsKKyAgICBpZiAobmV3dG8tPnRwX2ZyZWUgIT0gb2xkdG8tPnRwX2ZyZWUpIHsKICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICIlcyBhc3NpZ25tZW50OiAiCiAgICAgICAgICAgICAgICAgICAgICAiJyVzJyBkZWFsbG9jYXRvciBkaWZmZXJzIGZyb20gJyVzJyIsCkBAIC0zNTYwLDExICszNjAzLDIxIEBACiAgICAgICAgICAgICAgICAgICAgICBvbGR0by0+dHBfbmFtZSk7CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KKyAgICAvKgorICAgICBJdCdzIHRyaWNreSB0byB0ZWxsIGlmIHR3byBhcmJpdHJhcnkgdHlwZXMgYXJlIHN1ZmZpY2llbnRseSBjb21wYXRpYmxlIGFzCisgICAgIHRvIGJlIGludGVyY2hhbmdlYWJsZTsgZS5nLiwgZXZlbiBpZiB0aGV5IGhhdmUgdGhlIHNhbWUgdHBfYmFzaWNzaXplLCB0aGV5CisgICAgIG1pZ2h0IGhhdmUgdG90YWxseSBkaWZmZXJlbnQgc3RydWN0IGZpZWxkcy4gSXQncyBtdWNoIGVhc2llciB0byB0ZWxsIGlmIGEKKyAgICAgdHlwZSBhbmQgaXRzIHN1cGVydHlwZSBhcmUgY29tcGF0aWJsZTsgZS5nLiwgaWYgdGhleSBoYXZlIHRoZSBzYW1lCisgICAgIHRwX2Jhc2ljc2l6ZSwgdGhlbiB0aGF0IG1lYW5zIHRoZXkgaGF2ZSBpZGVudGljYWwgZmllbGRzLiBTbyB0byBjaGVjaworICAgICB3aGV0aGVyIHR3byBhcmJpdHJhcnkgdHlwZXMgYXJlIGNvbXBhdGlibGUsIHdlIGZpcnN0IGZpbmQgdGhlIGhpZ2hlc3QKKyAgICAgc3VwZXJ0eXBlIHRoYXQgZWFjaCBpcyBjb21wYXRpYmxlIHdpdGgsIGFuZCB0aGVuIGlmIHRob3NlIHN1cGVydHlwZXMgYXJlCisgICAgIGNvbXBhdGlibGUgdGhlbiB0aGUgb3JpZ2luYWwgdHlwZXMgbXVzdCBhbHNvIGJlIGNvbXBhdGlibGUuCisgICAgKi8KICAgICBuZXdiYXNlID0gbmV3dG87CiAgICAgb2xkYmFzZSA9IG9sZHRvOwotICAgIHdoaWxlIChlcXVpdl9zdHJ1Y3RzKG5ld2Jhc2UsIG5ld2Jhc2UtPnRwX2Jhc2UpKQorICAgIHdoaWxlIChjb21wYXRpYmxlX3dpdGhfdHBfYmFzZShuZXdiYXNlKSkKICAgICAgICAgbmV3YmFzZSA9IG5ld2Jhc2UtPnRwX2Jhc2U7Ci0gICAgd2hpbGUgKGVxdWl2X3N0cnVjdHMob2xkYmFzZSwgb2xkYmFzZS0+dHBfYmFzZSkpCisgICAgd2hpbGUgKGNvbXBhdGlibGVfd2l0aF90cF9iYXNlKG9sZGJhc2UpKQogICAgICAgICBvbGRiYXNlID0gb2xkYmFzZS0+dHBfYmFzZTsKICAgICBpZiAobmV3YmFzZSAhPSBvbGRiYXNlICYmCiAgICAgICAgIChuZXdiYXNlLT50cF9iYXNlICE9IG9sZGJhc2UtPnRwX2Jhc2UgfHwKQEAgLTM1OTksMTcgKzM2NTIsMTIgQEAKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KICAgICBuZXd0byA9IChQeVR5cGVPYmplY3QgKil2YWx1ZTsKLSAgICBpZiAoIShuZXd0by0+dHBfZmxhZ3MgJiBQeV9UUEZMQUdTX0hFQVBUWVBFKSB8fAotICAgICAgICAhKG9sZHRvLT50cF9mbGFncyAmIFB5X1RQRkxBR1NfSEVBUFRZUEUpKQotICAgIHsKLSAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICJfX2NsYXNzX18gYXNzaWdubWVudDogb25seSBmb3IgaGVhcCB0eXBlcyIpOwotICAgICAgICByZXR1cm4gLTE7Ci0gICAgfQogICAgIGlmIChjb21wYXRpYmxlX2Zvcl9hc3NpZ25tZW50KG9sZHRvLCBuZXd0bywgIl9fY2xhc3NfXyIpKSB7Ci0gICAgICAgIFB5X0lOQ1JFRihuZXd0byk7CisgICAgICAgIGlmIChuZXd0by0+dHBfZmxhZ3MgJiBQeV9UUEZMQUdTX0hFQVBUWVBFKQorICAgICAgICAgICAgUHlfSU5DUkVGKG5ld3RvKTsKICAgICAgICAgUHlfVFlQRShzZWxmKSA9IG5ld3RvOwotICAgICAgICBQeV9ERUNSRUYob2xkdG8pOworICAgICAgICBpZiAob2xkdG8tPnRwX2ZsYWdzICYgUHlfVFBGTEFHU19IRUFQVFlQRSkKKyAgICAgICAgICAgIFB5X0RFQ1JFRihvbGR0byk7CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KICAgICBlbHNlIHsKQEAgLTM5NzIsNDggKzQwMjAsODcgQEAKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKLXJlZHVjZV80KFB5T2JqZWN0ICpvYmopCityZWR1Y2VfbmV3b2JqKFB5T2JqZWN0ICpvYmosIGludCBwcm90bykKIHsKICAgICBQeU9iamVjdCAqYXJncyA9IE5VTEwsICprd2FyZ3MgPSBOVUxMOwogICAgIFB5T2JqZWN0ICpjb3B5cmVnOwogICAgIFB5T2JqZWN0ICpuZXdvYmosICpuZXdhcmdzLCAqc3RhdGUsICpsaXN0aXRlbXMsICpkaWN0aXRlbXM7CiAgICAgUHlPYmplY3QgKnJlc3VsdDsKLSAgICBfUHlfSURFTlRJRklFUihfX25ld29ial9leF9fKTsKIAotICAgIGlmIChfUHlPYmplY3RfR2V0TmV3QXJndW1lbnRzKG9iaiwgJmFyZ3MsICZrd2FyZ3MpIDwgMCkgeworICAgIGlmIChfUHlPYmplY3RfR2V0TmV3QXJndW1lbnRzKG9iaiwgJmFyZ3MsICZrd2FyZ3MpIDwgMCkKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQorCiAgICAgaWYgKGFyZ3MgPT0gTlVMTCkgewogICAgICAgICBhcmdzID0gUHlUdXBsZV9OZXcoMCk7Ci0gICAgICAgIGlmIChhcmdzID09IE5VTEwpCisgICAgICAgIGlmIChhcmdzID09IE5VTEwpIHsKKyAgICAgICAgICAgIFB5X1hERUNSRUYoa3dhcmdzKTsKICAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CiAgICAgfQotICAgIGlmIChrd2FyZ3MgPT0gTlVMTCkgewotICAgICAgICBrd2FyZ3MgPSBQeURpY3RfTmV3KCk7Ci0gICAgICAgIGlmIChrd2FyZ3MgPT0gTlVMTCkKLSAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KLQogICAgIGNvcHlyZWcgPSBpbXBvcnRfY29weXJlZygpOwogICAgIGlmIChjb3B5cmVnID09IE5VTEwpIHsKICAgICAgICAgUHlfREVDUkVGKGFyZ3MpOwotICAgICAgICBQeV9ERUNSRUYoa3dhcmdzKTsKKyAgICAgICAgUHlfWERFQ1JFRihrd2FyZ3MpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0gICAgbmV3b2JqID0gX1B5T2JqZWN0X0dldEF0dHJJZChjb3B5cmVnLCAmUHlJZF9fX25ld29ial9leF9fKTsKLSAgICBQeV9ERUNSRUYoY29weXJlZyk7Ci0gICAgaWYgKG5ld29iaiA9PSBOVUxMKSB7CisgICAgaWYgKGt3YXJncyA9PSBOVUxMIHx8IFB5RGljdF9TaXplKGt3YXJncykgPT0gMCkgeworICAgICAgICBfUHlfSURFTlRJRklFUihfX25ld29ial9fKTsKKyAgICAgICAgUHlPYmplY3QgKmNsczsKKyAgICAgICAgUHlfc3NpemVfdCBpLCBuOworCisgICAgICAgIFB5X1hERUNSRUYoa3dhcmdzKTsKKyAgICAgICAgbmV3b2JqID0gX1B5T2JqZWN0X0dldEF0dHJJZChjb3B5cmVnLCAmUHlJZF9fX25ld29ial9fKTsKKyAgICAgICAgUHlfREVDUkVGKGNvcHlyZWcpOworICAgICAgICBpZiAobmV3b2JqID09IE5VTEwpIHsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihhcmdzKTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisgICAgICAgIG4gPSBQeVR1cGxlX0dFVF9TSVpFKGFyZ3MpOworICAgICAgICBuZXdhcmdzID0gUHlUdXBsZV9OZXcobisxKTsKKyAgICAgICAgaWYgKG5ld2FyZ3MgPT0gTlVMTCkgeworICAgICAgICAgICAgUHlfREVDUkVGKGFyZ3MpOworICAgICAgICAgICAgUHlfREVDUkVGKG5ld29iaik7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorICAgICAgICBjbHMgPSAoUHlPYmplY3QgKikgUHlfVFlQRShvYmopOworICAgICAgICBQeV9JTkNSRUYoY2xzKTsKKyAgICAgICAgUHlUdXBsZV9TRVRfSVRFTShuZXdhcmdzLCAwLCBjbHMpOworICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKSB7CisgICAgICAgICAgICBQeU9iamVjdCAqdiA9IFB5VHVwbGVfR0VUX0lURU0oYXJncywgaSk7CisgICAgICAgICAgICBQeV9JTkNSRUYodik7CisgICAgICAgICAgICBQeVR1cGxlX1NFVF9JVEVNKG5ld2FyZ3MsIGkrMSwgdik7CisgICAgICAgIH0KKyAgICAgICAgUHlfREVDUkVGKGFyZ3MpOworICAgIH0KKyAgICBlbHNlIGlmIChwcm90byA+PSA0KSB7CisgICAgICAgIF9QeV9JREVOVElGSUVSKF9fbmV3b2JqX2V4X18pOworCisgICAgICAgIG5ld29iaiA9IF9QeU9iamVjdF9HZXRBdHRySWQoY29weXJlZywgJlB5SWRfX19uZXdvYmpfZXhfXyk7CisgICAgICAgIFB5X0RFQ1JFRihjb3B5cmVnKTsKKyAgICAgICAgaWYgKG5ld29iaiA9PSBOVUxMKSB7CisgICAgICAgICAgICBQeV9ERUNSRUYoYXJncyk7CisgICAgICAgICAgICBQeV9ERUNSRUYoa3dhcmdzKTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisgICAgICAgIG5ld2FyZ3MgPSBQeVR1cGxlX1BhY2soMywgUHlfVFlQRShvYmopLCBhcmdzLCBrd2FyZ3MpOwogICAgICAgICBQeV9ERUNSRUYoYXJncyk7CiAgICAgICAgIFB5X0RFQ1JFRihrd2FyZ3MpOworICAgICAgICBpZiAobmV3YXJncyA9PSBOVUxMKSB7CisgICAgICAgICAgICBQeV9ERUNSRUYobmV3b2JqKTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisgICAgfQorICAgIGVsc2UgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICJtdXN0IHVzZSBwcm90b2NvbCA0IG9yIGdyZWF0ZXIgdG8gY29weSB0aGlzICIKKyAgICAgICAgICAgICAgICAgICAgICAgICJvYmplY3Q7IHNpbmNlIF9fZ2V0bmV3YXJnc19leF9fIHJldHVybmVkICIKKyAgICAgICAgICAgICAgICAgICAgICAgICJrZXl3b3JkIGFyZ3VtZW50cy4iKTsKKyAgICAgICAgUHlfREVDUkVGKGFyZ3MpOworICAgICAgICBQeV9ERUNSRUYoa3dhcmdzKTsKKyAgICAgICAgUHlfREVDUkVGKGNvcHlyZWcpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0gICAgbmV3YXJncyA9IFB5VHVwbGVfUGFjaygzLCBQeV9UWVBFKG9iaiksIGFyZ3MsIGt3YXJncyk7Ci0gICAgUHlfREVDUkVGKGFyZ3MpOwotICAgIFB5X0RFQ1JFRihrd2FyZ3MpOwotICAgIGlmIChuZXdhcmdzID09IE5VTEwpIHsKLSAgICAgICAgUHlfREVDUkVGKG5ld29iaik7Ci0gICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KKwogICAgIHN0YXRlID0gX1B5T2JqZWN0X0dldFN0YXRlKG9iaik7CiAgICAgaWYgKHN0YXRlID09IE5VTEwpIHsKICAgICAgICAgUHlfREVDUkVGKG5ld29iaik7CkBAIC00MDM2LDc5ICs0MTIzLDYgQEAKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi1zdGF0aWMgUHlPYmplY3QgKgotcmVkdWNlXzIoUHlPYmplY3QgKm9iaikKLXsKLSAgICBQeU9iamVjdCAqY2xzOwotICAgIFB5T2JqZWN0ICphcmdzID0gTlVMTCwgKmFyZ3MyID0gTlVMTCwgKmt3YXJncyA9IE5VTEw7Ci0gICAgUHlPYmplY3QgKnN0YXRlID0gTlVMTCwgKmxpc3RpdGVtcyA9IE5VTEwsICpkaWN0aXRlbXMgPSBOVUxMOwotICAgIFB5T2JqZWN0ICpjb3B5cmVnID0gTlVMTCwgKm5ld29iaiA9IE5VTEwsICpyZXMgPSBOVUxMOwotICAgIFB5X3NzaXplX3QgaSwgbjsKLSAgICBfUHlfSURFTlRJRklFUihfX25ld29ial9fKTsKLQotICAgIGlmIChfUHlPYmplY3RfR2V0TmV3QXJndW1lbnRzKG9iaiwgJmFyZ3MsICZrd2FyZ3MpIDwgMCkgewotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9Ci0gICAgaWYgKGFyZ3MgPT0gTlVMTCkgewotICAgICAgICBhc3NlcnQoa3dhcmdzID09IE5VTEwpOwotICAgICAgICBhcmdzID0gUHlUdXBsZV9OZXcoMCk7Ci0gICAgICAgIGlmIChhcmdzID09IE5VTEwpIHsKLSAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICB9Ci0gICAgfQotICAgIGVsc2UgaWYgKGt3YXJncyAhPSBOVUxMKSB7Ci0gICAgICAgIGlmIChQeURpY3RfU2l6ZShrd2FyZ3MpID4gMCkgewotICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIm11c3QgdXNlIHByb3RvY29sIDQgb3IgZ3JlYXRlciB0byBjb3B5IHRoaXMgIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvYmplY3Q7IHNpbmNlIF9fZ2V0bmV3YXJnc19leF9fIHJldHVybmVkICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAia2V5d29yZCBhcmd1bWVudHMuIik7Ci0gICAgICAgICAgICBQeV9ERUNSRUYoYXJncyk7Ci0gICAgICAgICAgICBQeV9ERUNSRUYoa3dhcmdzKTsKLSAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICB9Ci0gICAgICAgIFB5X0NMRUFSKGt3YXJncyk7Ci0gICAgfQotCi0gICAgc3RhdGUgPSBfUHlPYmplY3RfR2V0U3RhdGUob2JqKTsKLSAgICBpZiAoc3RhdGUgPT0gTlVMTCkKLSAgICAgICAgZ290byBlbmQ7Ci0KLSAgICBpZiAoX1B5T2JqZWN0X0dldEl0ZW1zSXRlcihvYmosICZsaXN0aXRlbXMsICZkaWN0aXRlbXMpIDwgMCkKLSAgICAgICAgZ290byBlbmQ7Ci0KLSAgICBjb3B5cmVnID0gaW1wb3J0X2NvcHlyZWcoKTsKLSAgICBpZiAoY29weXJlZyA9PSBOVUxMKQotICAgICAgICBnb3RvIGVuZDsKLSAgICBuZXdvYmogPSBfUHlPYmplY3RfR2V0QXR0cklkKGNvcHlyZWcsICZQeUlkX19fbmV3b2JqX18pOwotICAgIGlmIChuZXdvYmogPT0gTlVMTCkKLSAgICAgICAgZ290byBlbmQ7Ci0KLSAgICBuID0gUHlUdXBsZV9HRVRfU0laRShhcmdzKTsKLSAgICBhcmdzMiA9IFB5VHVwbGVfTmV3KG4rMSk7Ci0gICAgaWYgKGFyZ3MyID09IE5VTEwpCi0gICAgICAgIGdvdG8gZW5kOwotICAgIGNscyA9IChQeU9iamVjdCAqKSBQeV9UWVBFKG9iaik7Ci0gICAgUHlfSU5DUkVGKGNscyk7Ci0gICAgUHlUdXBsZV9TRVRfSVRFTShhcmdzMiwgMCwgY2xzKTsKLSAgICBmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKSB7Ci0gICAgICAgIFB5T2JqZWN0ICp2ID0gUHlUdXBsZV9HRVRfSVRFTShhcmdzLCBpKTsKLSAgICAgICAgUHlfSU5DUkVGKHYpOwotICAgICAgICBQeVR1cGxlX1NFVF9JVEVNKGFyZ3MyLCBpKzEsIHYpOwotICAgIH0KLQotICAgIHJlcyA9IFB5VHVwbGVfUGFjayg1LCBuZXdvYmosIGFyZ3MyLCBzdGF0ZSwgbGlzdGl0ZW1zLCBkaWN0aXRlbXMpOwotCi0gIGVuZDoKLSAgICBQeV9YREVDUkVGKGFyZ3MpOwotICAgIFB5X1hERUNSRUYoYXJnczIpOwotICAgIFB5X1hERUNSRUYoc3RhdGUpOwotICAgIFB5X1hERUNSRUYobGlzdGl0ZW1zKTsKLSAgICBQeV9YREVDUkVGKGRpY3RpdGVtcyk7Ci0gICAgUHlfWERFQ1JFRihjb3B5cmVnKTsKLSAgICBQeV9YREVDUkVGKG5ld29iaik7Ci0gICAgcmV0dXJuIHJlczsKLX0KLQogLyoKICAqIFRoZXJlIHdlcmUgdHdvIHByb2JsZW1zIHdoZW4gb2JqZWN0Ll9fcmVkdWNlX18gYW5kIG9iamVjdC5fX3JlZHVjZV9leF9fCiAgKiB3ZXJlIGltcGxlbWVudGVkIGluIHRoZSBzYW1lIGZ1bmN0aW9uOgpAQCAtNDEyOSwxMCArNDE0Myw4IEBACiB7CiAgICAgUHlPYmplY3QgKmNvcHlyZWcsICpyZXM7CiAKLSAgICBpZiAocHJvdG8gPj0gNCkKLSAgICAgICAgcmV0dXJuIHJlZHVjZV80KHNlbGYpOwotICAgIGVsc2UgaWYgKHByb3RvID49IDIpCi0gICAgICAgIHJldHVybiByZWR1Y2VfMihzZWxmKTsKKyAgICBpZiAocHJvdG8gPj0gMikKKyAgICAgICAgcmV0dXJuIHJlZHVjZV9uZXdvYmooc2VsZiwgcHJvdG8pOwogCiAgICAgY29weXJlZyA9IGltcG9ydF9jb3B5cmVnKCk7CiAgICAgaWYgKCFjb3B5cmVnKQpAQCAtNDU5Miw2ICs0NjA0LDggQEAKICAgICAgICAgQ09QWU5VTShuYl9pbnBsYWNlX3RydWVfZGl2aWRlKTsKICAgICAgICAgQ09QWU5VTShuYl9pbnBsYWNlX2Zsb29yX2RpdmlkZSk7CiAgICAgICAgIENPUFlOVU0obmJfaW5kZXgpOworICAgICAgICBDT1BZTlVNKG5iX21hdHJpeF9tdWx0aXBseSk7CisgICAgICAgIENPUFlOVU0obmJfaW5wbGFjZV9tYXRyaXhfbXVsdGlwbHkpOwogICAgIH0KIAogICAgIGlmICh0eXBlLT50cF9hc19zZXF1ZW5jZSAhPSBOVUxMICYmIGJhc2UtPnRwX2FzX3NlcXVlbmNlICE9IE5VTEwpIHsKQEAgLTU3NTksNiArNTc3Myw3IEBACiBTTE9UMUJJTihzbG90X25iX2FkZCwgbmJfYWRkLCAiX19hZGRfXyIsICJfX3JhZGRfXyIpCiBTTE9UMUJJTihzbG90X25iX3N1YnRyYWN0LCBuYl9zdWJ0cmFjdCwgIl9fc3ViX18iLCAiX19yc3ViX18iKQogU0xPVDFCSU4oc2xvdF9uYl9tdWx0aXBseSwgbmJfbXVsdGlwbHksICJfX211bF9fIiwgIl9fcm11bF9fIikKK1NMT1QxQklOKHNsb3RfbmJfbWF0cml4X211bHRpcGx5LCBuYl9tYXRyaXhfbXVsdGlwbHksICJfX21hdG11bF9fIiwgIl9fcm1hdG11bF9fIikKIFNMT1QxQklOKHNsb3RfbmJfcmVtYWluZGVyLCBuYl9yZW1haW5kZXIsICJfX21vZF9fIiwgIl9fcm1vZF9fIikKIFNMT1QxQklOKHNsb3RfbmJfZGl2bW9kLCBuYl9kaXZtb2QsICJfX2Rpdm1vZF9fIiwgIl9fcmRpdm1vZF9fIikKIApAQCAtNTg1Miw2ICs1ODY3LDcgQEAKIFNMT1QxKHNsb3RfbmJfaW5wbGFjZV9hZGQsICJfX2lhZGRfXyIsIFB5T2JqZWN0ICosICJPIikKIFNMT1QxKHNsb3RfbmJfaW5wbGFjZV9zdWJ0cmFjdCwgIl9faXN1Yl9fIiwgUHlPYmplY3QgKiwgIk8iKQogU0xPVDEoc2xvdF9uYl9pbnBsYWNlX211bHRpcGx5LCAiX19pbXVsX18iLCBQeU9iamVjdCAqLCAiTyIpCitTTE9UMShzbG90X25iX2lucGxhY2VfbWF0cml4X211bHRpcGx5LCAiX19pbWF0bXVsX18iLCBQeU9iamVjdCAqLCAiTyIpCiBTTE9UMShzbG90X25iX2lucGxhY2VfcmVtYWluZGVyLCAiX19pbW9kX18iLCBQeU9iamVjdCAqLCAiTyIpCiAvKiBDYW4ndCB1c2UgU0xPVDEgaGVyZSwgYmVjYXVzZSBuYl9pbnBsYWNlX3Bvd2VyIGlzIHRlcm5hcnkgKi8KIHN0YXRpYyBQeU9iamVjdCAqCkBAIC02NDMyLDYgKzY0NDgsMTIgQEAKICAgICAgICAgICAgIl9faW5kZXhfXygkc2VsZiwgLylcbi0tXG5cbiIKICAgICAgICAgICAgIlJldHVybiBzZWxmIGNvbnZlcnRlZCB0byBhbiBpbnRlZ2VyLCBpZiBzZWxmIGlzIHN1aXRhYmxlICIKICAgICAgICAgICAgImZvciB1c2UgYXMgYW4gaW5kZXggaW50byBhIGxpc3QuIiksCisgICAgQklOU0xPVCgiX19tYXRtdWxfXyIsIG5iX21hdHJpeF9tdWx0aXBseSwgc2xvdF9uYl9tYXRyaXhfbXVsdGlwbHksCisgICAgICAgICAgICAiQCIpLAorICAgIFJCSU5TTE9UKCJfX3JtYXRtdWxfXyIsIG5iX21hdHJpeF9tdWx0aXBseSwgc2xvdF9uYl9tYXRyaXhfbXVsdGlwbHksCisgICAgICAgICAgICAgIkAiKSwKKyAgICBJQlNMT1QoIl9faW1hdG11bF9fIiwgbmJfaW5wbGFjZV9tYXRyaXhfbXVsdGlwbHksIHNsb3RfbmJfaW5wbGFjZV9tYXRyaXhfbXVsdGlwbHksCisgICAgICAgICAgIHdyYXBfYmluYXJ5ZnVuYywgIkA9IiksCiAgICAgTVBTTE9UKCJfX2xlbl9fIiwgbXBfbGVuZ3RoLCBzbG90X21wX2xlbmd0aCwgd3JhcF9sZW5mdW5jLAogICAgICAgICAgICAiX19sZW5fXygkc2VsZiwgLylcbi0tXG5cblJldHVybiBsZW4oc2VsZikuIiksCiAgICAgTVBTTE9UKCJfX2dldGl0ZW1fXyIsIG1wX3N1YnNjcmlwdCwgc2xvdF9tcF9zdWJzY3JpcHQsCkBAIC02NjUyLDE1ICs2Njc0LDE1IEBACiAgICAgcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBpbnQgc2xvdGRlZnNfaW5pdGlhbGl6ZWQgPSAwOwogLyogSW5pdGlhbGl6ZSB0aGUgc2xvdGRlZnMgdGFibGUgYnkgYWRkaW5nIGludGVybmVkIHN0cmluZyBvYmplY3RzIGZvciB0aGUKLSAgIG5hbWVzIGFuZCBzb3J0aW5nIHRoZSBlbnRyaWVzLiAqLworICAgbmFtZXMuICovCiBzdGF0aWMgdm9pZAogaW5pdF9zbG90ZGVmcyh2b2lkKQogewogICAgIHNsb3RkZWYgKnA7Ci0gICAgc3RhdGljIGludCBpbml0aWFsaXplZCA9IDA7CiAKLSAgICBpZiAoaW5pdGlhbGl6ZWQpCisgICAgaWYgKHNsb3RkZWZzX2luaXRpYWxpemVkKQogICAgICAgICByZXR1cm47CiAgICAgZm9yIChwID0gc2xvdGRlZnM7IHAtPm5hbWU7IHArKykgewogICAgICAgICAvKiBTbG90cyBtdXN0IGJlIG9yZGVyZWQgYnkgdGhlaXIgb2Zmc2V0IGluIHRoZSBQeUhlYXBUeXBlT2JqZWN0LiAqLwpAQCAtNjY2OSw3ICs2NjkxLDE3IEBACiAgICAgICAgIGlmICghcC0+bmFtZV9zdHJvYmopCiAgICAgICAgICAgICBQeV9GYXRhbEVycm9yKCJPdXQgb2YgbWVtb3J5IGludGVybmluZyBzbG90ZGVmIG5hbWVzIik7CiAgICAgfQotICAgIGluaXRpYWxpemVkID0gMTsKKyAgICBzbG90ZGVmc19pbml0aWFsaXplZCA9IDE7Cit9CisKKy8qIFVuZG8gaW5pdF9zbG90ZGVmcywgcmVsZWFzaW5nIHRoZSBpbnRlcm5lZCBzdHJpbmdzLiAqLworc3RhdGljIHZvaWQgY2xlYXJfc2xvdGRlZnModm9pZCkKK3sKKyAgICBzbG90ZGVmICpwOworICAgIGZvciAocCA9IHNsb3RkZWZzOyBwLT5uYW1lOyBwKyspIHsKKyAgICAgICAgUHlfQ0xFQVIocC0+bmFtZV9zdHJvYmopOworICAgIH0KKyAgICBzbG90ZGVmc19pbml0aWFsaXplZCA9IDA7CiB9CiAKIC8qIFVwZGF0ZSB0aGUgc2xvdHMgYWZ0ZXIgYXNzaWdubWVudCB0byBhIGNsYXNzICh0eXBlKSBhdHRyaWJ1dGUuICovCmRpZmYgLS1naXQgYS9PYmplY3RzL3R5cGVzbG90cy5pbmMgYi9PYmplY3RzL3R5cGVzbG90cy5pbmMKaW5kZXggY2FhMWUwMy4uMmVkOTlkOCAxMDA2NDQKLS0tIGEvT2JqZWN0cy90eXBlc2xvdHMuaW5jCisrKyBiL09iamVjdHMvdHlwZXNsb3RzLmluYwpAQCAtNzMsMyArNzMsNSBAQAogb2Zmc2V0b2YoUHlIZWFwVHlwZU9iamVjdCwgaHRfdHlwZS50cF9tZW1iZXJzKSwKIG9mZnNldG9mKFB5SGVhcFR5cGVPYmplY3QsIGh0X3R5cGUudHBfZ2V0c2V0KSwKIG9mZnNldG9mKFB5SGVhcFR5cGVPYmplY3QsIGh0X3R5cGUudHBfZnJlZSksCitvZmZzZXRvZihQeUhlYXBUeXBlT2JqZWN0LCBhc19udW1iZXIubmJfbWF0cml4X211bHRpcGx5KSwKK29mZnNldG9mKFB5SGVhcFR5cGVPYmplY3QsIGFzX251bWJlci5uYl9pbnBsYWNlX21hdHJpeF9tdWx0aXBseSksCmRpZmYgLS1naXQgYS9PYmplY3RzL3VuaWNvZGVvYmplY3QuYyBiL09iamVjdHMvdW5pY29kZW9iamVjdC5jCmluZGV4IDg0YWI2YTEuLjEwMWJmYmMgMTAwNjQ0Ci0tLSBhL09iamVjdHMvdW5pY29kZW9iamVjdC5jCisrKyBiL09iamVjdHMvdW5pY29kZW9iamVjdC5jCkBAIC03MjcsNyArNzI3LDcgQEAKICAgICBfUHlfREVDX1JFRlRPVEFMOwogICAgIF9QeV9Gb3JnZXRSZWZlcmVuY2UodW5pY29kZSk7CiAKLSAgICBuZXdfdW5pY29kZSA9IChQeU9iamVjdCAqKVB5T2JqZWN0X1JFQUxMT0MoKGNoYXIgKil1bmljb2RlLCBuZXdfc2l6ZSk7CisgICAgbmV3X3VuaWNvZGUgPSAoUHlPYmplY3QgKilQeU9iamVjdF9SRUFMTE9DKHVuaWNvZGUsIG5ld19zaXplKTsKICAgICBpZiAobmV3X3VuaWNvZGUgPT0gTlVMTCkgewogICAgICAgICBfUHlfTmV3UmVmZXJlbmNlKHVuaWNvZGUpOwogICAgICAgICBQeUVycl9Ob01lbW9yeSgpOwpAQCAtODE2LDcgKzgxNiw3IEBACiAgICAgYXNzZXJ0KF9QeVVuaWNvZGVfV1NUUih1bmljb2RlKSAhPSBOVUxMKTsKIAogICAgIC8qIGNoZWNrIGZvciBpbnRlZ2VyIG92ZXJmbG93ICovCi0gICAgaWYgKGxlbmd0aCA+IFBZX1NTSVpFX1RfTUFYIC8gc2l6ZW9mKHdjaGFyX3QpIC0gMSkgeworICAgIGlmIChsZW5ndGggPiBQWV9TU0laRV9UX01BWCAvIChQeV9zc2l6ZV90KXNpemVvZih3Y2hhcl90KSAtIDEpIHsKICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KQEAgLTg4OCw3ICs4ODgsNyBAQAogICAgIH0KIAogICAgIC8qIEVuc3VyZSB3ZSB3b24ndCBvdmVyZmxvdyB0aGUgc2l6ZS4gKi8KLSAgICBpZiAobGVuZ3RoID4gKChQWV9TU0laRV9UX01BWCAvIHNpemVvZihQeV9VTklDT0RFKSkgLSAxKSkgeworICAgIGlmIChsZW5ndGggPiAoKFBZX1NTSVpFX1RfTUFYIC8gKFB5X3NzaXplX3Qpc2l6ZW9mKFB5X1VOSUNPREUpKSAtIDEpKSB7CiAgICAgICAgIHJldHVybiAoUHlVbmljb2RlT2JqZWN0ICopUHlFcnJfTm9NZW1vcnkoKTsKICAgICB9CiAgICAgaWYgKGxlbmd0aCA8IDApIHsKQEAgLTIyMzksNyArMjIzOSw3IEBACiAgICAgaWYgKGNvcHlfbnVsbCkKICAgICAgICAgdGFyZ2V0bGVuKys7CiAgICAgaWYgKCF0YXJnZXQpIHsKLSAgICAgICAgaWYgKFBZX1NTSVpFX1RfTUFYIC8gc2l6ZW9mKFB5X1VDUzQpIDwgdGFyZ2V0bGVuKSB7CisgICAgICAgIGlmIChQWV9TU0laRV9UX01BWCAvIChQeV9zc2l6ZV90KXNpemVvZihQeV9VQ1M0KSA8IHRhcmdldGxlbikgewogICAgICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICB9CkBAIC0yMzEzLDM1ICsyMzEzLDYgQEAKIAogI2VuZGlmIC8qIEhBVkVfV0NIQVJfSCAqLwogCi1zdGF0aWMgdm9pZAotbWFrZWZtdChjaGFyICpmbXQsIGludCBsb25nZmxhZywgaW50IGxvbmdsb25nZmxhZywgaW50IHNpemVfdGZsYWcsCi0gICAgICAgIGNoYXIgYykKLXsKLSAgICAqZm10KysgPSAnJSc7Ci0gICAgaWYgKGxvbmdmbGFnKQotICAgICAgICAqZm10KysgPSAnbCc7Ci0gICAgZWxzZSBpZiAobG9uZ2xvbmdmbGFnKSB7Ci0gICAgICAgIC8qIGxvbmdsb25nZmxhZyBzaG91bGQgb25seSBldmVyIGJlIG5vbnplcm8gb24gbWFjaGluZXMgd2l0aAotICAgICAgICAgICBIQVZFX0xPTkdfTE9ORyBkZWZpbmVkICovCi0jaWZkZWYgSEFWRV9MT05HX0xPTkcKLSAgICAgICAgY2hhciAqZiA9IFBZX0ZPUk1BVF9MT05HX0xPTkc7Ci0gICAgICAgIHdoaWxlICgqZikKLSAgICAgICAgICAgICpmbXQrKyA9ICpmKys7Ci0jZWxzZQotICAgICAgICAvKiB3ZSBzaG91bGRuJ3QgZXZlciBnZXQgaGVyZSAqLwotICAgICAgICBhc3NlcnQoMCk7Ci0gICAgICAgICpmbXQrKyA9ICdsJzsKLSNlbmRpZgotICAgIH0KLSAgICBlbHNlIGlmIChzaXplX3RmbGFnKSB7Ci0gICAgICAgIGNoYXIgKmYgPSBQWV9GT1JNQVRfU0laRV9UOwotICAgICAgICB3aGlsZSAoKmYpCi0gICAgICAgICAgICAqZm10KysgPSAqZisrOwotICAgIH0KLSAgICAqZm10KysgPSBjOwotICAgICpmbXQgPSAnXDAnOwotfQotCiAvKiBtYXhpbXVtIG51bWJlciBvZiBjaGFyYWN0ZXJzIHJlcXVpcmVkIGZvciBvdXRwdXQgb2YgJWxsZCBvciAlcC4KICAgIFdlIG5lZWQgYXQgbW9zdCBjZWlsKGxvZzEwKDI1NikqU0laRU9GX0xPTkdfTE9ORykgZGlnaXRzLAogICAgcGx1cyAxIGZvciB0aGUgc2lnbi4gIDUzLzIyIGlzIGFuIHVwcGVyIGJvdW5kIGZvciBsb2cxMCgyNTYpLiAqLwpAQCAtMjUxNyw0OCArMjQ4OCw0MiBAQAogICAgIGNhc2UgJ3gnOgogICAgIHsKICAgICAgICAgLyogdXNlZCBieSBzcHJpbnRmICovCi0gICAgICAgIGNoYXIgZm10WzEwXTsgLyogc2hvdWxkIGJlIGVub3VnaCBmb3IgIiUwbGxkXDAiICovCiAgICAgICAgIGNoYXIgYnVmZmVyW01BWF9MT05HX0xPTkdfQ0hBUlNdOwogICAgICAgICBQeV9zc2l6ZV90IGFyZ2xlbjsKIAogICAgICAgICBpZiAoKmYgPT0gJ3UnKSB7Ci0gICAgICAgICAgICBtYWtlZm10KGZtdCwgbG9uZ2ZsYWcsIGxvbmdsb25nZmxhZywgc2l6ZV90ZmxhZywgKmYpOwotCiAgICAgICAgICAgICBpZiAobG9uZ2ZsYWcpCi0gICAgICAgICAgICAgICAgbGVuID0gc3ByaW50ZihidWZmZXIsIGZtdCwKKyAgICAgICAgICAgICAgICBsZW4gPSBzcHJpbnRmKGJ1ZmZlciwgIiVsdSIsCiAgICAgICAgICAgICAgICAgICAgICAgICB2YV9hcmcoKnZhcmdzLCB1bnNpZ25lZCBsb25nKSk7CiAjaWZkZWYgSEFWRV9MT05HX0xPTkcKICAgICAgICAgICAgIGVsc2UgaWYgKGxvbmdsb25nZmxhZykKLSAgICAgICAgICAgICAgICBsZW4gPSBzcHJpbnRmKGJ1ZmZlciwgZm10LAorICAgICAgICAgICAgICAgIGxlbiA9IHNwcmludGYoYnVmZmVyLCAiJSIgUFlfRk9STUFUX0xPTkdfTE9ORyAidSIsCiAgICAgICAgICAgICAgICAgICAgICAgICB2YV9hcmcoKnZhcmdzLCB1bnNpZ25lZCBQWV9MT05HX0xPTkcpKTsKICNlbmRpZgogICAgICAgICAgICAgZWxzZSBpZiAoc2l6ZV90ZmxhZykKLSAgICAgICAgICAgICAgICBsZW4gPSBzcHJpbnRmKGJ1ZmZlciwgZm10LAorICAgICAgICAgICAgICAgIGxlbiA9IHNwcmludGYoYnVmZmVyLCAiJSIgUFlfRk9STUFUX1NJWkVfVCAidSIsCiAgICAgICAgICAgICAgICAgICAgICAgICB2YV9hcmcoKnZhcmdzLCBzaXplX3QpKTsKICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBsZW4gPSBzcHJpbnRmKGJ1ZmZlciwgZm10LAorICAgICAgICAgICAgICAgIGxlbiA9IHNwcmludGYoYnVmZmVyLCAiJXUiLAogICAgICAgICAgICAgICAgICAgICAgICAgdmFfYXJnKCp2YXJncywgdW5zaWduZWQgaW50KSk7CiAgICAgICAgIH0KICAgICAgICAgZWxzZSBpZiAoKmYgPT0gJ3gnKSB7Ci0gICAgICAgICAgICBtYWtlZm10KGZtdCwgMCwgMCwgMCwgJ3gnKTsKLSAgICAgICAgICAgIGxlbiA9IHNwcmludGYoYnVmZmVyLCBmbXQsIHZhX2FyZygqdmFyZ3MsIGludCkpOworICAgICAgICAgICAgbGVuID0gc3ByaW50ZihidWZmZXIsICIleCIsIHZhX2FyZygqdmFyZ3MsIGludCkpOwogICAgICAgICB9CiAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgbWFrZWZtdChmbXQsIGxvbmdmbGFnLCBsb25nbG9uZ2ZsYWcsIHNpemVfdGZsYWcsICpmKTsKLQogICAgICAgICAgICAgaWYgKGxvbmdmbGFnKQotICAgICAgICAgICAgICAgIGxlbiA9IHNwcmludGYoYnVmZmVyLCBmbXQsCisgICAgICAgICAgICAgICAgbGVuID0gc3ByaW50ZihidWZmZXIsICIlbGkiLAogICAgICAgICAgICAgICAgICAgICAgICAgdmFfYXJnKCp2YXJncywgbG9uZykpOwogI2lmZGVmIEhBVkVfTE9OR19MT05HCiAgICAgICAgICAgICBlbHNlIGlmIChsb25nbG9uZ2ZsYWcpCi0gICAgICAgICAgICAgICAgbGVuID0gc3ByaW50ZihidWZmZXIsIGZtdCwKKyAgICAgICAgICAgICAgICBsZW4gPSBzcHJpbnRmKGJ1ZmZlciwgIiUiIFBZX0ZPUk1BVF9MT05HX0xPTkcgImkiLAogICAgICAgICAgICAgICAgICAgICAgICAgdmFfYXJnKCp2YXJncywgUFlfTE9OR19MT05HKSk7CiAjZW5kaWYKICAgICAgICAgICAgIGVsc2UgaWYgKHNpemVfdGZsYWcpCi0gICAgICAgICAgICAgICAgbGVuID0gc3ByaW50ZihidWZmZXIsIGZtdCwKKyAgICAgICAgICAgICAgICBsZW4gPSBzcHJpbnRmKGJ1ZmZlciwgIiUiIFBZX0ZPUk1BVF9TSVpFX1QgImkiLAogICAgICAgICAgICAgICAgICAgICAgICAgdmFfYXJnKCp2YXJncywgUHlfc3NpemVfdCkpOwogICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIGxlbiA9IHNwcmludGYoYnVmZmVyLCBmbXQsCisgICAgICAgICAgICAgICAgbGVuID0gc3ByaW50ZihidWZmZXIsICIlaSIsCiAgICAgICAgICAgICAgICAgICAgICAgICB2YV9hcmcoKnZhcmdzLCBpbnQpKTsKICAgICAgICAgfQogICAgICAgICBhc3NlcnQobGVuID49IDApOwpAQCAtMjg1Miw3ICsyODE3LDcgQEAKICAgICBidWZsZW4gPSB1bmljb2RlX2Fzd2lkZWNoYXIodW5pY29kZSwgTlVMTCwgMCk7CiAgICAgaWYgKGJ1ZmxlbiA9PSAtMSkKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgaWYgKFBZX1NTSVpFX1RfTUFYIC8gc2l6ZW9mKHdjaGFyX3QpIDwgYnVmbGVuKSB7CisgICAgaWYgKFBZX1NTSVpFX1RfTUFYIC8gKFB5X3NzaXplX3Qpc2l6ZW9mKHdjaGFyX3QpIDwgYnVmbGVuKSB7CiAgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KQEAgLTMyNDYsNyArMzIxMSw3IEBACiAgICAgd2xlbjIgPSB3Y3NsZW4od3N0cik7CiAgICAgaWYgKHdsZW4yICE9IHdsZW4pIHsKICAgICAgICAgUHlNZW1fRnJlZSh3c3RyKTsKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgImVtYmVkZGVkIG51bGwgY2hhcmFjdGVyIik7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAiZW1iZWRkZWQgbnVsbCBjaGFyYWN0ZXIiKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCkBAIC0zMjU0LDcgKzMyMTksNyBAQAogICAgICAgICAvKiAic3Vycm9nYXRlZXNjYXBlIiBlcnJvciBoYW5kbGVyICovCiAgICAgICAgIGNoYXIgKnN0cjsKIAotICAgICAgICBzdHIgPSBfUHlfd2NoYXIyY2hhcih3c3RyLCAmZXJyb3JfcG9zKTsKKyAgICAgICAgc3RyID0gUHlfRW5jb2RlTG9jYWxlKHdzdHIsICZlcnJvcl9wb3MpOwogICAgICAgICBpZiAoc3RyID09IE5VTEwpIHsKICAgICAgICAgICAgIGlmIChlcnJvcl9wb3MgPT0gKHNpemVfdCktMSkgewogICAgICAgICAgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CkBAIC0zMzA3LDcgKzMyNzIsNyBAQAogCiAgICAgaWYgKGVycm1zZyAhPSBOVUxMKSB7CiAgICAgICAgIHNpemVfdCBlcnJsZW47Ci0gICAgICAgIHdzdHIgPSBfUHlfY2hhcjJ3Y2hhcihlcnJtc2csICZlcnJsZW4pOworICAgICAgICB3c3RyID0gUHlfRGVjb2RlTG9jYWxlKGVycm1zZywgJmVycmxlbik7CiAgICAgICAgIGlmICh3c3RyICE9IE5VTEwpIHsKICAgICAgICAgICAgIHJlYXNvbiA9IFB5VW5pY29kZV9Gcm9tV2lkZUNoYXIod3N0ciwgZXJybGVuKTsKICAgICAgICAgICAgIFB5TWVtX1Jhd0ZyZWUod3N0cik7CkBAIC0zNDgyLDcgKzM0NDcsNyBAQAogICAgIG1lbXNldCgmbWJzLCAwLCBzaXplb2YgbWJzKTsKICAgICB3aGlsZSAobGVuKQogICAgIHsKLSAgICAgICAgY29udmVydGVkID0gbWJydG93YygmY2gsIChjaGFyKilzdHIsIGxlbiwgJm1icyk7CisgICAgICAgIGNvbnZlcnRlZCA9IG1icnRvd2MoJmNoLCBzdHIsIGxlbiwgJm1icyk7CiAgICAgICAgIGlmIChjb252ZXJ0ZWQgPT0gMCkKICAgICAgICAgICAgIC8qIFJlYWNoZWQgZW5kIG9mIHN0cmluZyAqLwogICAgICAgICAgICAgYnJlYWs7CkBAIC0zNTE4LDE0ICszNDgzLDE0IEBACiAgICAgaWYgKGxvY2FsZV9lcnJvcl9oYW5kbGVyKGVycm9ycywgJnN1cnJvZ2F0ZWVzY2FwZSkgPCAwKQogICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIGlmIChzdHJbbGVuXSAhPSAnXDAnIHx8IGxlbiAhPSBzdHJsZW4oc3RyKSkgewotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAiZW1iZWRkZWQgbnVsbCBjaGFyYWN0ZXIiKTsKKyAgICBpZiAoc3RyW2xlbl0gIT0gJ1wwJyB8fCAoc2l6ZV90KWxlbiAhPSBzdHJsZW4oc3RyKSkgIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJlbWJlZGRlZCBudWxsIGJ5dGUiKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCiAgICAgaWYgKHN1cnJvZ2F0ZWVzY2FwZSkgewogICAgICAgICAvKiAic3Vycm9nYXRlZXNjYXBlIiBlcnJvciBoYW5kbGVyICovCi0gICAgICAgIHdzdHIgPSBfUHlfY2hhcjJ3Y2hhcihzdHIsICZ3bGVuKTsKKyAgICAgICAgd3N0ciA9IFB5X0RlY29kZUxvY2FsZShzdHIsICZ3bGVuKTsKICAgICAgICAgaWYgKHdzdHIgPT0gTlVMTCkgewogICAgICAgICAgICAgaWYgKHdsZW4gPT0gKHNpemVfdCktMSkKICAgICAgICAgICAgICAgICBQeUVycl9Ob01lbW9yeSgpOwpAQCAtMzU4MCw3ICszNTQ1LDcgQEAKICAgICBlcnJvcl9wb3MgPSBtYnN0b3djc19lcnJvcnBvcyhzdHIsIGxlbik7CiAgICAgaWYgKGVycm1zZyAhPSBOVUxMKSB7CiAgICAgICAgIHNpemVfdCBlcnJsZW47Ci0gICAgICAgIHdzdHIgPSBfUHlfY2hhcjJ3Y2hhcihlcnJtc2csICZlcnJsZW4pOworICAgICAgICB3c3RyID0gUHlfRGVjb2RlTG9jYWxlKGVycm1zZywgJmVycmxlbik7CiAgICAgICAgIGlmICh3c3RyICE9IE5VTEwpIHsKICAgICAgICAgICAgIHJlYXNvbiA9IFB5VW5pY29kZV9Gcm9tV2lkZUNoYXIod3N0ciwgZXJybGVuKTsKICAgICAgICAgICAgIFB5TWVtX1Jhd0ZyZWUod3N0cik7CkBAIC0zNjk1LDggKzM2NjAsOCBAQAogICAgIH0KICAgICBzaXplID0gUHlCeXRlc19HRVRfU0laRShvdXRwdXQpOwogICAgIGRhdGEgPSBQeUJ5dGVzX0FTX1NUUklORyhvdXRwdXQpOwotICAgIGlmIChzaXplICE9IHN0cmxlbihkYXRhKSkgewotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAiZW1iZWRkZWQgTlVMIGNoYXJhY3RlciIpOworICAgIGlmICgoc2l6ZV90KXNpemUgIT0gc3RybGVuKGRhdGEpKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAiZW1iZWRkZWQgbnVsbCBieXRlIik7CiAgICAgICAgIFB5X0RFQ1JFRihvdXRwdXQpOwogICAgICAgICByZXR1cm4gMDsKICAgICB9CkBAIC0zNzQwLDcgKzM3MDUsNyBAQAogICAgIH0KICAgICBpZiAoZmluZGNoYXIoUHlVbmljb2RlX0RBVEEob3V0cHV0KSwgUHlVbmljb2RlX0tJTkQob3V0cHV0KSwKICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9MRU5HVEgob3V0cHV0KSwgMCwgMSkgPj0gMCkgewotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAiZW1iZWRkZWQgTlVMIGNoYXJhY3RlciIpOworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgImVtYmVkZGVkIG51bGwgY2hhcmFjdGVyIik7CiAgICAgICAgIFB5X0RFQ1JFRihvdXRwdXQpOwogICAgICAgICByZXR1cm4gMDsKICAgICB9CkBAIC02ODUyLDI4ICs2ODE3LDYgQEAKICAgICByZXR1cm4gUHlCeXRlc19BU19TVFJJTkcoKm9iaik7CiB9CiAKLXN0YXRpYyBpbnQKLWlzX2RiY3NfbGVhZF9ieXRlKFVJTlQgY29kZV9wYWdlLCBjb25zdCBjaGFyICpzLCBpbnQgb2Zmc2V0KQotewotICAgIGNvbnN0IGNoYXIgKmN1cnIgPSBzICsgb2Zmc2V0OwotICAgIGNvbnN0IGNoYXIgKnByZXY7Ci0KLSAgICBpZiAoIUlzREJDU0xlYWRCeXRlRXgoY29kZV9wYWdlLCAqY3VycikpCi0gICAgICAgIHJldHVybiAwOwotCi0gICAgcHJldiA9IENoYXJQcmV2RXhBKGNvZGVfcGFnZSwgcywgY3VyciwgMCk7Ci0gICAgaWYgKHByZXYgPT0gY3VycikKLSAgICAgICAgcmV0dXJuIDE7Ci0gICAgLyogRklYTUU6IFRoaXMgY29kZSBpcyBsaW1pdGVkIHRvICJ0cnVlIiBkb3VibGUtYnl0ZSBlbmNvZGluZ3MsCi0gICAgICAgYXMgaXQgYXNzdW1lcyBhbiBpbmNvbXBsZXRlIGNoYXJhY3RlciBjb25zaXN0cyBvZiBhIHNpbmdsZQotICAgICAgIGJ5dGUuICovCi0gICAgaWYgKGN1cnIgLSBwcmV2ID09IDIpCi0gICAgICAgIHJldHVybiAxOwotICAgIGlmICghSXNEQkNTTGVhZEJ5dGVFeChjb2RlX3BhZ2UsICpwcmV2KSkKLSAgICAgICAgcmV0dXJuIDE7Ci0gICAgcmV0dXJuIDA7Ci19Ci0KIHN0YXRpYyBEV09SRAogZGVjb2RlX2NvZGVfcGFnZV9mbGFncyhVSU5UIGNvZGVfcGFnZSkKIHsKQEAgLTY5NDgsNyArNjg5MSw3IEBACiBkZWNvZGVfY29kZV9wYWdlX2Vycm9ycyhVSU5UIGNvZGVfcGFnZSwKICAgICAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICoqdiwKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmluLCBjb25zdCBpbnQgc2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVycm9ycykKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVycm9ycywgaW50IGZpbmFsKQogewogICAgIGNvbnN0IGNoYXIgKnN0YXJ0aW4gPSBpbjsKICAgICBjb25zdCBjaGFyICplbmRpbiA9IGluICsgc2l6ZTsKQEAgLTY5NzUsNyArNjkxOCw3IEBACiAgICAgaWYgKGVuY29kaW5nID09IE5VTEwpCiAgICAgICAgIHJldHVybiAtMTsKIAotICAgIGlmIChlcnJvcnMgPT0gTlVMTCB8fCBzdHJjbXAoZXJyb3JzLCAic3RyaWN0IikgPT0gMCkgeworICAgIGlmICgoZXJyb3JzID09IE5VTEwgfHwgc3RyY21wKGVycm9ycywgInN0cmljdCIpID09IDApICYmIGZpbmFsKSB7CiAgICAgICAgIC8qIFRoZSBsYXN0IGVycm9yIHdhcyBFUlJPUl9OT19VTklDT0RFX1RSQU5TTEFUSU9OLCB0aGVuIHdlIHJhaXNlIGEKICAgICAgICAgICAgVW5pY29kZURlY29kZUVycm9yLiAqLwogICAgICAgICBtYWtlX2RlY29kZV9leGNlcHRpb24oJmV4YywgZW5jb2RpbmcsIGluLCBzaXplLCAwLCAwLCByZWFzb24pOwpAQCAtNzAzOCw2ICs2OTgxLDEwIEBACiAgICAgICAgIGlmIChvdXRzaXplIDw9IDApIHsKICAgICAgICAgICAgIFB5X3NzaXplX3Qgc3RhcnRpbnBvcywgZW5kaW5wb3MsIG91dHBvczsKIAorICAgICAgICAgICAgLyogbGFzdCBjaGFyYWN0ZXIgaW4gcGFydGlhbCBkZWNvZGU/ICovCisgICAgICAgICAgICBpZiAoaW4gKyBpbnNpemUgPj0gZW5kaW4gJiYgIWZpbmFsKQorICAgICAgICAgICAgICAgIGJyZWFrOworCiAgICAgICAgICAgICBzdGFydGlucG9zID0gaW4gLSBzdGFydGluOwogICAgICAgICAgICAgZW5kaW5wb3MgPSBzdGFydGlucG9zICsgMTsKICAgICAgICAgICAgIG91dHBvcyA9IG91dCAtIFB5VW5pY29kZV9BU19VTklDT0RFKCp2KTsKQEAgLTcwNjYsNyArNzAxMyw4IEBACiAgICAgYXNzZXJ0KG91dHNpemUgPD0gUHlVbmljb2RlX1dTVFJfTEVOR1RIKCp2KSk7CiAgICAgaWYgKHVuaWNvZGVfcmVzaXplKHYsIG91dHNpemUpIDwgMCkKICAgICAgICAgZ290byBlcnJvcjsKLSAgICByZXQgPSBzaXplOworICAgIC8qIChpbiAtIHN0YXJ0aW4pIDw9IHNpemUgYW5kIHNpemUgaXMgYW4gaW50ICovCisgICAgcmV0ID0gUHlfU0FGRV9ET1dOQ0FTVChpbiAtIHN0YXJ0aW4sIFB5X3NzaXplX3QsIGludCk7CiAKIGVycm9yOgogICAgIFB5X1hERUNSRUYoZW5jb2Rpbmdfb2JqKTsKQEAgLTcxMDcsMjQgKzcwNTUsMTkgQEAKICAgICAgICAgICAgIGRvbmUgPSAxOwogICAgICAgICB9CiAKLSAgICAgICAgLyogU2tpcCB0cmFpbGluZyBsZWFkLWJ5dGUgdW5sZXNzICdmaW5hbCcgaXMgc2V0ICovCi0gICAgICAgIGlmICghZmluYWwgJiYgaXNfZGJjc19sZWFkX2J5dGUoY29kZV9wYWdlLCBzLCBjaHVua19zaXplIC0gMSkpCi0gICAgICAgICAgICAtLWNodW5rX3NpemU7Ci0KICAgICAgICAgaWYgKGNodW5rX3NpemUgPT0gMCAmJiBkb25lKSB7CiAgICAgICAgICAgICBpZiAodiAhPSBOVUxMKQogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgX1B5X1JFVFVSTl9VTklDT0RFX0VNUFRZKCk7CiAgICAgICAgIH0KIAotCiAgICAgICAgIGNvbnZlcnRlZCA9IGRlY29kZV9jb2RlX3BhZ2Vfc3RyaWN0KGNvZGVfcGFnZSwgJnYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMsIGNodW5rX3NpemUpOwogICAgICAgICBpZiAoY29udmVydGVkID09IC0yKQogICAgICAgICAgICAgY29udmVydGVkID0gZGVjb2RlX2NvZGVfcGFnZV9lcnJvcnMoY29kZV9wYWdlLCAmdiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMsIGNodW5rX3NpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnMpOwotICAgICAgICBhc3NlcnQoY29udmVydGVkICE9IDApOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JzLCBmaW5hbCk7CisgICAgICAgIGFzc2VydChjb252ZXJ0ZWQgIT0gMCB8fCBkb25lKTsKIAogICAgICAgICBpZiAoY29udmVydGVkIDwgMCkgewogICAgICAgICAgICAgUHlfWERFQ1JFRih2KTsKQEAgLTc0ODgsNiArNzQzMSwxMSBAQAogICAgIFB5X3NzaXplX3Qgb2Zmc2V0OwogICAgIGludCBjaHVua19sZW4sIHJldCwgZG9uZTsKIAorICAgIGlmICghUHlVbmljb2RlX0NoZWNrKHVuaWNvZGUpKSB7CisgICAgICAgIFB5RXJyX0JhZEFyZ3VtZW50KCk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKwogICAgIGlmIChQeVVuaWNvZGVfUkVBRFkodW5pY29kZSkgPT0gLTEpCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIGxlbiA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHVuaWNvZGUpOwpAQCAtNzU2MSwxMCArNzUwOSw2IEBACiBQeU9iamVjdCAqCiBQeVVuaWNvZGVfQXNNQkNTU3RyaW5nKFB5T2JqZWN0ICp1bmljb2RlKQogewotICAgIGlmICghUHlVbmljb2RlX0NoZWNrKHVuaWNvZGUpKSB7Ci0gICAgICAgIFB5RXJyX0JhZEFyZ3VtZW50KCk7Ci0gICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KICAgICByZXR1cm4gUHlVbmljb2RlX0VuY29kZUNvZGVQYWdlKENQX0FDUCwgdW5pY29kZSwgTlVMTCk7CiB9CiAKQEAgLTg1MzEsMTAgKzg0NzUsMTAgQEAKICAgICB9CiAgICAgZWxzZSBpZiAoUHlMb25nX0NoZWNrKHgpKSB7CiAgICAgICAgIGxvbmcgdmFsdWUgPSBQeUxvbmdfQVNfTE9ORyh4KTsKLSAgICAgICAgbG9uZyBtYXggPSBQeVVuaWNvZGVfR2V0TWF4KCk7Ci0gICAgICAgIGlmICh2YWx1ZSA8IDAgfHwgdmFsdWUgPiBtYXgpIHsKLSAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgImNoYXJhY3RlciBtYXBwaW5nIG11c3QgYmUgaW4gcmFuZ2UoMHgleCkiLCBtYXgrMSk7CisgICAgICAgIGlmICh2YWx1ZSA8IDAgfHwgdmFsdWUgPiBNQVhfVU5JQ09ERSkgeworICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgImNoYXJhY3RlciBtYXBwaW5nIG11c3QgYmUgaW4gcmFuZ2UoMHgleCkiLAorICAgICAgICAgICAgICAgICAgICAgICAgIE1BWF9VTklDT0RFKzEpOwogICAgICAgICAgICAgUHlfREVDUkVGKHgpOwogICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgICB9CkBAIC04NTUzLDc2ICs4NDk3LDE2OCBAQAogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogfQotLyogZW5zdXJlIHRoYXQgKm91dG9iaiBpcyBhdCBsZWFzdCByZXF1aXJlZHNpemUgY2hhcmFjdGVycyBsb25nLAotICAgaWYgbm90IHJlYWxsb2NhdGUgYW5kIGFkanVzdCB2YXJpb3VzIHN0YXRlIHZhcmlhYmxlcy4KLSAgIFJldHVybiAwIG9uIHN1Y2Nlc3MsIC0xIG9uIGVycm9yICovCisKKy8qIGxvb2t1cCB0aGUgY2hhcmFjdGVyLCB3cml0ZSB0aGUgcmVzdWx0IGludG8gdGhlIHdyaXRlci4KKyAgIFJldHVybiAxIGlmIHRoZSByZXN1bHQgd2FzIHdyaXR0ZW4gaW50byB0aGUgd3JpdGVyLCByZXR1cm4gMCBpZiB0aGUgbWFwcGluZworICAgd2FzIHVuZGVmaW5lZCwgcmFpc2UgYW4gZXhjZXB0aW9uIHJldHVybiAtMSBvbiBlcnJvci4gKi8KIHN0YXRpYyBpbnQKLWNoYXJtYXB0cmFuc2xhdGVfbWFrZXNwYWNlKFB5X1VDUzQgKipvdXRvYmosIFB5X3NzaXplX3QgKnBzaXplLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgcmVxdWlyZWRzaXplKQorY2hhcm1hcHRyYW5zbGF0ZV9vdXRwdXQoUHlfVUNTNCBjaCwgUHlPYmplY3QgKm1hcHBpbmcsCisgICAgICAgICAgICAgICAgICAgICAgICBfUHlVbmljb2RlV3JpdGVyICp3cml0ZXIpCiB7Ci0gICAgUHlfc3NpemVfdCBvbGRzaXplID0gKnBzaXplOwotICAgIFB5X1VDUzQgKm5ld19vdXRvYmo7Ci0gICAgaWYgKHJlcXVpcmVkc2l6ZSA+IG9sZHNpemUpIHsKLSAgICAgICAgLyogZXhwb25lbnRpYWxseSBvdmVyYWxsb2NhdGUgdG8gbWluaW1pemUgcmVhbGxvY2F0aW9ucyAqLwotICAgICAgICBpZiAocmVxdWlyZWRzaXplIDwgMiAqIG9sZHNpemUpCi0gICAgICAgICAgICByZXF1aXJlZHNpemUgPSAyICogb2xkc2l6ZTsKLSAgICAgICAgbmV3X291dG9iaiA9IFB5TWVtX1JlYWxsb2MoKm91dG9iaiwgcmVxdWlyZWRzaXplICogc2l6ZW9mKFB5X1VDUzQpKTsKLSAgICAgICAgaWYgKG5ld19vdXRvYmogPT0gMCkKLSAgICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgKm91dG9iaiA9IG5ld19vdXRvYmo7Ci0gICAgICAgICpwc2l6ZSA9IHJlcXVpcmVkc2l6ZTsKLSAgICB9Ci0gICAgcmV0dXJuIDA7Ci19Ci0vKiBsb29rdXAgdGhlIGNoYXJhY3RlciwgcHV0IHRoZSByZXN1bHQgaW4gdGhlIG91dHB1dCBzdHJpbmcgYW5kIGFkanVzdAotICAgdmFyaW91cyBzdGF0ZSB2YXJpYWJsZXMuIFJldHVybiBhIG5ldyByZWZlcmVuY2UgdG8gdGhlIG9iamVjdCB0aGF0Ci0gICB3YXMgcHV0IGluIHRoZSBvdXRwdXQgYnVmZmVyIGluICpyZXN1bHQsIG9yIFB5X05vbmUsIGlmIHRoZSBtYXBwaW5nIHdhcwotICAgdW5kZWZpbmVkIChpbiB3aGljaCBjYXNlIG5vIGNoYXJhY3RlciB3YXMgd3JpdHRlbikuCi0gICBUaGUgY2FsbGVkIG11c3QgZGVjcmVmIHJlc3VsdC4KLSAgIFJldHVybiAwIG9uIHN1Y2Nlc3MsIC0xIG9uIGVycm9yLiAqLwotc3RhdGljIGludAotY2hhcm1hcHRyYW5zbGF0ZV9vdXRwdXQoUHlPYmplY3QgKmlucHV0LCBQeV9zc2l6ZV90IGlwb3MsCi0gICAgICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqbWFwcGluZywgUHlfVUNTNCAqKm91dHB1dCwKLSAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgKm9zaXplLCBQeV9zc2l6ZV90ICpvcG9zLAotICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKipyZXMpCi17Ci0gICAgUHlfVUNTNCBjdXJpbnAgPSBQeVVuaWNvZGVfUkVBRF9DSEFSKGlucHV0LCBpcG9zKTsKLSAgICBpZiAoY2hhcm1hcHRyYW5zbGF0ZV9sb29rdXAoY3VyaW5wLCBtYXBwaW5nLCByZXMpKQorICAgIFB5T2JqZWN0ICppdGVtOworCisgICAgaWYgKGNoYXJtYXB0cmFuc2xhdGVfbG9va3VwKGNoLCBtYXBwaW5nLCAmaXRlbSkpCiAgICAgICAgIHJldHVybiAtMTsKLSAgICBpZiAoKnJlcz09TlVMTCkgeworCisgICAgaWYgKGl0ZW0gPT0gTlVMTCkgewogICAgICAgICAvKiBub3QgZm91bmQgPT4gZGVmYXVsdCB0byAxOjEgbWFwcGluZyAqLwotICAgICAgICAoKm91dHB1dClbKCpvcG9zKSsrXSA9IGN1cmlucDsKLSAgICB9Ci0gICAgZWxzZSBpZiAoKnJlcz09UHlfTm9uZSkKLSAgICAgICAgOwotICAgIGVsc2UgaWYgKFB5TG9uZ19DaGVjaygqcmVzKSkgewotICAgICAgICAvKiBubyBvdmVyZmxvdyBjaGVjaywgYmVjYXVzZSB3ZSBrbm93IHRoYXQgdGhlIHNwYWNlIGlzIGVub3VnaCAqLwotICAgICAgICAoKm91dHB1dClbKCpvcG9zKSsrXSA9IChQeV9VQ1M0KVB5TG9uZ19BU19MT05HKCpyZXMpOwotICAgIH0KLSAgICBlbHNlIGlmIChQeVVuaWNvZGVfQ2hlY2soKnJlcykpIHsKLSAgICAgICAgUHlfc3NpemVfdCByZXBzaXplOwotICAgICAgICBpZiAoUHlVbmljb2RlX1JFQURZKCpyZXMpID09IC0xKQorICAgICAgICBpZiAoX1B5VW5pY29kZVdyaXRlcl9Xcml0ZUNoYXJJbmxpbmUod3JpdGVyLCBjaCkgPCAwKSB7CiAgICAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAgIHJlcHNpemUgPSBQeVVuaWNvZGVfR0VUX0xFTkdUSCgqcmVzKTsKLSAgICAgICAgaWYgKHJlcHNpemU9PTEpIHsKLSAgICAgICAgICAgIC8qIG5vIG92ZXJmbG93IGNoZWNrLCBiZWNhdXNlIHdlIGtub3cgdGhhdCB0aGUgc3BhY2UgaXMgZW5vdWdoICovCi0gICAgICAgICAgICAoKm91dHB1dClbKCpvcG9zKSsrXSA9IFB5VW5pY29kZV9SRUFEX0NIQVIoKnJlcywgMCk7CiAgICAgICAgIH0KLSAgICAgICAgZWxzZSBpZiAocmVwc2l6ZSE9MCkgewotICAgICAgICAgICAgLyogbW9yZSB0aGFuIG9uZSBjaGFyYWN0ZXIgKi8KLSAgICAgICAgICAgIFB5X3NzaXplX3QgcmVxdWlyZWRzaXplID0gKm9wb3MgKwotICAgICAgICAgICAgICAgIChQeVVuaWNvZGVfR0VUX0xFTkdUSChpbnB1dCkgLSBpcG9zKSArCi0gICAgICAgICAgICAgICAgcmVwc2l6ZSAtIDE7Ci0gICAgICAgICAgICBQeV9zc2l6ZV90IGk7Ci0gICAgICAgICAgICBpZiAoY2hhcm1hcHRyYW5zbGF0ZV9tYWtlc3BhY2Uob3V0cHV0LCBvc2l6ZSwgcmVxdWlyZWRzaXplKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAgICAgICBmb3IoaSA9IDA7IGkgPCByZXBzaXplOyBpKyspCi0gICAgICAgICAgICAgICAgKCpvdXRwdXQpWygqb3BvcykrK10gPSBQeVVuaWNvZGVfUkVBRF9DSEFSKCpyZXMsIGkpOwotICAgICAgICB9CisgICAgICAgIHJldHVybiAxOwogICAgIH0KLSAgICBlbHNlCisKKyAgICBpZiAoaXRlbSA9PSBQeV9Ob25lKSB7CisgICAgICAgIFB5X0RFQ1JFRihpdGVtKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgaWYgKFB5TG9uZ19DaGVjayhpdGVtKSkgeworICAgICAgICBsb25nIGNoID0gKFB5X1VDUzQpUHlMb25nX0FTX0xPTkcoaXRlbSk7CisgICAgICAgIC8qIFB5TG9uZ19BU19MT05HKCkgY2Fubm90IGZhaWwsIGNoYXJtYXB0cmFuc2xhdGVfbG9va3VwKCkgYWxyZWFkeQorICAgICAgICAgICB1c2VkIGl0ICovCisgICAgICAgIGlmIChfUHlVbmljb2RlV3JpdGVyX1dyaXRlQ2hhcklubGluZSh3cml0ZXIsIGNoKSA8IDApIHsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihpdGVtKTsKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQorICAgICAgICBQeV9ERUNSRUYoaXRlbSk7CisgICAgICAgIHJldHVybiAxOworICAgIH0KKworICAgIGlmICghUHlVbmljb2RlX0NoZWNrKGl0ZW0pKSB7CisgICAgICAgIFB5X0RFQ1JFRihpdGVtKTsKICAgICAgICAgcmV0dXJuIC0xOwotICAgIHJldHVybiAwOworICAgIH0KKworICAgIGlmIChfUHlVbmljb2RlV3JpdGVyX1dyaXRlU3RyKHdyaXRlciwgaXRlbSkgPCAwKSB7CisgICAgICAgIFB5X0RFQ1JFRihpdGVtKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKworICAgIFB5X0RFQ1JFRihpdGVtKTsKKyAgICByZXR1cm4gMTsKK30KKworc3RhdGljIGludAordW5pY29kZV9mYXN0X3RyYW5zbGF0ZV9sb29rdXAoUHlPYmplY3QgKm1hcHBpbmcsIFB5X1VDUzEgY2gsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9VQ1MxICp0cmFuc2xhdGUpCit7CisgICAgUHlPYmplY3QgKml0ZW0gPSBOVUxMOworICAgIGludCByZXQgPSAwOworCisgICAgaWYgKGNoYXJtYXB0cmFuc2xhdGVfbG9va3VwKGNoLCBtYXBwaW5nLCAmaXRlbSkpIHsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKworICAgIGlmIChpdGVtID09IFB5X05vbmUpIHsKKyAgICAgICAgLyogZGVsZXRpb24gKi8KKyAgICAgICAgdHJhbnNsYXRlW2NoXSA9IDB4ZmU7CisgICAgfQorICAgIGVsc2UgaWYgKGl0ZW0gPT0gTlVMTCkgeworICAgICAgICAvKiBub3QgZm91bmQgPT4gZGVmYXVsdCB0byAxOjEgbWFwcGluZyAqLworICAgICAgICB0cmFuc2xhdGVbY2hdID0gY2g7CisgICAgICAgIHJldHVybiAxOworICAgIH0KKyAgICBlbHNlIGlmIChQeUxvbmdfQ2hlY2soaXRlbSkpIHsKKyAgICAgICAgbG9uZyByZXBsYWNlID0gUHlMb25nX0FTX0xPTkcoaXRlbSk7CisgICAgICAgIC8qIFB5TG9uZ19BU19MT05HKCkgY2Fubm90IGZhaWwsIGNoYXJtYXB0cmFuc2xhdGVfbG9va3VwKCkgYWxyZWFkeQorICAgICAgICAgICB1c2VkIGl0ICovCisgICAgICAgIGlmICgxMjcgPCByZXBsYWNlKSB7CisgICAgICAgICAgICAvKiBpbnZhbGlkIGNoYXJhY3RlciBvciBjaGFyYWN0ZXIgb3V0c2lkZSBBU0NJSToKKyAgICAgICAgICAgICAgIHNraXAgdGhlIGZhc3QgdHJhbnNsYXRlICovCisgICAgICAgICAgICBnb3RvIGV4aXQ7CisgICAgICAgIH0KKyAgICAgICAgdHJhbnNsYXRlW2NoXSA9IChQeV9VQ1MxKXJlcGxhY2U7CisgICAgfQorICAgIGVsc2UgaWYgKFB5VW5pY29kZV9DaGVjayhpdGVtKSkgeworICAgICAgICBQeV9VQ1M0IHJlcGxhY2U7CisKKyAgICAgICAgaWYgKFB5VW5pY29kZV9SRUFEWShpdGVtKSA9PSAtMSkgeworICAgICAgICAgICAgUHlfREVDUkVGKGl0ZW0pOworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisgICAgICAgIGlmIChQeVVuaWNvZGVfR0VUX0xFTkdUSChpdGVtKSAhPSAxKQorICAgICAgICAgICAgZ290byBleGl0OworCisgICAgICAgIHJlcGxhY2UgPSBQeVVuaWNvZGVfUkVBRF9DSEFSKGl0ZW0sIDApOworICAgICAgICBpZiAocmVwbGFjZSA+IDEyNykKKyAgICAgICAgICAgIGdvdG8gZXhpdDsKKyAgICAgICAgdHJhbnNsYXRlW2NoXSA9IChQeV9VQ1MxKXJlcGxhY2U7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICAvKiBub3QgTm9uZSwgTlVMTCwgbG9uZyBvciB1bmljb2RlICovCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICB9CisgICAgcmV0ID0gMTsKKworICBleGl0OgorICAgIFB5X0RFQ1JFRihpdGVtKTsKKyAgICByZXR1cm4gcmV0OworfQorCisvKiBGYXN0IHBhdGggZm9yIGFzY2lpID0+IGFzY2lpIHRyYW5zbGF0aW9uLiBSZXR1cm4gMSBpZiB0aGUgd2hvbGUgc3RyaW5nCisgICB3YXMgdHJhbnNsYXRlZCBpbnRvIHdyaXRlciwgcmV0dXJuIDAgaWYgdGhlIGlucHV0IHN0cmluZyB3YXMgcGFydGlhbGx5CisgICB0cmFuc2xhdGVkIGludG8gd3JpdGVyLCByYWlzZSBhbiBleGNlcHRpb24gYW5kIHJldHVybiAtMSBvbiBlcnJvci4gKi8KK3N0YXRpYyBpbnQKK3VuaWNvZGVfZmFzdF90cmFuc2xhdGUoUHlPYmplY3QgKmlucHV0LCBQeU9iamVjdCAqbWFwcGluZywKKyAgICAgICAgICAgICAgICAgICAgICAgX1B5VW5pY29kZVdyaXRlciAqd3JpdGVyLCBpbnQgaWdub3JlKQoreworICAgIFB5X1VDUzEgYXNjaWlfdGFibGVbMTI4XSwgY2gsIGNoMjsKKyAgICBQeV9zc2l6ZV90IGxlbjsKKyAgICBQeV9VQ1MxICppbiwgKmVuZCwgKm91dDsKKyAgICBpbnQgcmVzID0gMDsKKworICAgIGlmIChQeVVuaWNvZGVfUkVBRFkoaW5wdXQpID09IC0xKQorICAgICAgICByZXR1cm4gLTE7CisgICAgaWYgKCFQeVVuaWNvZGVfSVNfQVNDSUkoaW5wdXQpKQorICAgICAgICByZXR1cm4gMDsKKyAgICBsZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChpbnB1dCk7CisKKyAgICBtZW1zZXQoYXNjaWlfdGFibGUsIDB4ZmYsIDEyOCk7CisKKyAgICBpbiA9IFB5VW5pY29kZV8xQllURV9EQVRBKGlucHV0KTsKKyAgICBlbmQgPSBpbiArIGxlbjsKKworICAgIGFzc2VydChQeVVuaWNvZGVfSVNfQVNDSUkod3JpdGVyLT5idWZmZXIpKTsKKyAgICBhc3NlcnQoUHlVbmljb2RlX0dFVF9MRU5HVEgod3JpdGVyLT5idWZmZXIpID09IGxlbik7CisgICAgb3V0ID0gUHlVbmljb2RlXzFCWVRFX0RBVEEod3JpdGVyLT5idWZmZXIpOworCisgICAgZm9yICg7IGluIDwgZW5kOyBpbisrKSB7CisgICAgICAgIGNoID0gKmluOworICAgICAgICBjaDIgPSBhc2NpaV90YWJsZVtjaF07CisgICAgICAgIGlmIChjaDIgPT0gMHhmZikgeworICAgICAgICAgICAgaW50IHRyYW5zbGF0ZSA9IHVuaWNvZGVfZmFzdF90cmFuc2xhdGVfbG9va3VwKG1hcHBpbmcsIGNoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzY2lpX3RhYmxlKTsKKyAgICAgICAgICAgIGlmICh0cmFuc2xhdGUgPCAwKQorICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgIGlmICh0cmFuc2xhdGUgPT0gMCkKKyAgICAgICAgICAgICAgICBnb3RvIGV4aXQ7CisgICAgICAgICAgICBjaDIgPSBhc2NpaV90YWJsZVtjaF07CisgICAgICAgIH0KKyAgICAgICAgaWYgKGNoMiA9PSAweGZlKSB7CisgICAgICAgICAgICBpZiAoaWdub3JlKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgZ290byBleGl0OworICAgICAgICB9CisgICAgICAgIGFzc2VydChjaDIgPCAxMjgpOworICAgICAgICAqb3V0ID0gY2gyOworICAgICAgICBvdXQrKzsKKyAgICB9CisgICAgcmVzID0gMTsKKworZXhpdDoKKyAgICB3cml0ZXItPnBvcyA9IG91dCAtIFB5VW5pY29kZV8xQllURV9EQVRBKHdyaXRlci0+YnVmZmVyKTsKKyAgICByZXR1cm4gcmVzOwogfQogCiBQeU9iamVjdCAqCkBAIC04NjMxLDIyICs4NjY3LDE3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyb3JzKQogewogICAgIC8qIGlucHV0IG9iamVjdCAqLwotICAgIGNoYXIgKmlkYXRhOworICAgIGNoYXIgKmRhdGE7CiAgICAgUHlfc3NpemVfdCBzaXplLCBpOwogICAgIGludCBraW5kOwogICAgIC8qIG91dHB1dCBidWZmZXIgKi8KLSAgICBQeV9VQ1M0ICpvdXRwdXQgPSBOVUxMOwotICAgIFB5X3NzaXplX3Qgb3NpemU7Ci0gICAgUHlPYmplY3QgKnJlczsKLSAgICAvKiBjdXJyZW50IG91dHB1dCBwb3NpdGlvbiAqLwotICAgIFB5X3NzaXplX3Qgb3BvczsKKyAgICBfUHlVbmljb2RlV3JpdGVyIHdyaXRlcjsKKyAgICAvKiBlcnJvciBoYW5kbGVyICovCiAgICAgY2hhciAqcmVhc29uID0gImNoYXJhY3RlciBtYXBzIHRvIDx1bmRlZmluZWQ+IjsKICAgICBQeU9iamVjdCAqZXJyb3JIYW5kbGVyID0gTlVMTDsKICAgICBQeU9iamVjdCAqZXhjID0gTlVMTDsKLSAgICAvKiB0aGUgZm9sbG93aW5nIHZhcmlhYmxlIGlzIHVzZWQgZm9yIGNhY2hpbmcgc3RyaW5nIGNvbXBhcmlzb25zCi0gICAgICogLTE9bm90IGluaXRpYWxpemVkLCAwPXVua25vd24sIDE9c3RyaWN0LCAyPXJlcGxhY2UsCi0gICAgICogMz1pZ25vcmUsIDQ9eG1sY2hhcnJlZnJlcGxhY2UgKi8KLSAgICBpbnQga25vd25fZXJyb3JIYW5kbGVyID0gLTE7CisgICAgaW50IGlnbm9yZTsKKyAgICBpbnQgcmVzOwogCiAgICAgaWYgKG1hcHBpbmcgPT0gTlVMTCkgewogICAgICAgICBQeUVycl9CYWRBcmd1bWVudCgpOwpAQCAtODY1NSwxMCArODY4Niw5IEBACiAKICAgICBpZiAoUHlVbmljb2RlX1JFQURZKGlucHV0KSA9PSAtMSkKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgaWRhdGEgPSAoY2hhciopUHlVbmljb2RlX0RBVEEoaW5wdXQpOworICAgIGRhdGEgPSAoY2hhciopUHlVbmljb2RlX0RBVEEoaW5wdXQpOwogICAgIGtpbmQgPSBQeVVuaWNvZGVfS0lORChpbnB1dCk7CiAgICAgc2l6ZSA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKGlucHV0KTsKLSAgICBpID0gMDsKIAogICAgIGlmIChzaXplID09IDApIHsKICAgICAgICAgUHlfSU5DUkVGKGlucHV0KTsKQEAgLTg2NjcsMTIxICs4Njk3LDgxIEBACiAKICAgICAvKiBhbGxvY2F0ZSBlbm91Z2ggZm9yIGEgc2ltcGxlIDE6MSB0cmFuc2xhdGlvbiB3aXRob3V0CiAgICAgICAgcmVwbGFjZW1lbnRzLCBpZiB3ZSBuZWVkIG1vcmUsIHdlJ2xsIHJlc2l6ZSAqLwotICAgIG9zaXplID0gc2l6ZTsKLSAgICBvdXRwdXQgPSBQeU1lbV9NYWxsb2Mob3NpemUgKiBzaXplb2YoUHlfVUNTNCkpOwotICAgIG9wb3MgPSAwOwotICAgIGlmIChvdXRwdXQgPT0gTlVMTCkgewotICAgICAgICBQeUVycl9Ob01lbW9yeSgpOworICAgIF9QeVVuaWNvZGVXcml0ZXJfSW5pdCgmd3JpdGVyKTsKKyAgICBpZiAoX1B5VW5pY29kZVdyaXRlcl9QcmVwYXJlKCZ3cml0ZXIsIHNpemUsIDEyNykgPT0gLTEpCiAgICAgICAgIGdvdG8gb25FcnJvcjsKLSAgICB9CiAKKyAgICBpZ25vcmUgPSAoZXJyb3JzICE9IE5VTEwgJiYgc3RyY21wKGVycm9ycywgImlnbm9yZSIpID09IDApOworCisgICAgcmVzID0gdW5pY29kZV9mYXN0X3RyYW5zbGF0ZShpbnB1dCwgbWFwcGluZywgJndyaXRlciwgaWdub3JlKTsKKyAgICBpZiAocmVzIDwgMCkgeworICAgICAgICBfUHlVbmljb2RlV3JpdGVyX0RlYWxsb2MoJndyaXRlcik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBpZiAocmVzID09IDEpCisgICAgICAgIHJldHVybiBfUHlVbmljb2RlV3JpdGVyX0ZpbmlzaCgmd3JpdGVyKTsKKworICAgIGkgPSB3cml0ZXIucG9zOwogICAgIHdoaWxlIChpPHNpemUpIHsKICAgICAgICAgLyogdHJ5IHRvIGVuY29kZSBpdCAqLwotICAgICAgICBQeU9iamVjdCAqeCA9IE5VTEw7Ci0gICAgICAgIGlmIChjaGFybWFwdHJhbnNsYXRlX291dHB1dChpbnB1dCwgaSwgbWFwcGluZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZvdXRwdXQsICZvc2l6ZSwgJm9wb3MsICZ4KSkgewotICAgICAgICAgICAgUHlfWERFQ1JFRih4KTsKLSAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKLSAgICAgICAgfQotICAgICAgICBQeV9YREVDUkVGKHgpOwotICAgICAgICBpZiAoeCE9UHlfTm9uZSkgLyogaXQgd29ya2VkID0+IGFkanVzdCBpbnB1dCBwb2ludGVyICovCi0gICAgICAgICAgICArK2k7Ci0gICAgICAgIGVsc2UgeyAvKiB1bnRyYW5zbGF0YWJsZSBjaGFyYWN0ZXIgKi8KLSAgICAgICAgICAgIFB5T2JqZWN0ICpyZXB1bmljb2RlID0gTlVMTDsgLyogaW5pdGlhbGl6ZSB0byBwcmV2ZW50IGdjYyB3YXJuaW5nICovCi0gICAgICAgICAgICBQeV9zc2l6ZV90IHJlcHNpemU7Ci0gICAgICAgICAgICBQeV9zc2l6ZV90IG5ld3BvczsKLSAgICAgICAgICAgIFB5X3NzaXplX3QgdW5pMjsKLSAgICAgICAgICAgIC8qIHN0YXJ0cG9zIGZvciBjb2xsZWN0aW5nIHVudHJhbnNsYXRhYmxlIGNoYXJzICovCi0gICAgICAgICAgICBQeV9zc2l6ZV90IGNvbGxzdGFydCA9IGk7Ci0gICAgICAgICAgICBQeV9zc2l6ZV90IGNvbGxlbmQgPSBpKzE7Ci0gICAgICAgICAgICBQeV9zc2l6ZV90IGNvbGw7CisgICAgICAgIGludCB0cmFuc2xhdGU7CisgICAgICAgIFB5T2JqZWN0ICpyZXB1bmljb2RlID0gTlVMTDsgLyogaW5pdGlhbGl6ZSB0byBwcmV2ZW50IGdjYyB3YXJuaW5nICovCisgICAgICAgIFB5X3NzaXplX3QgbmV3cG9zOworICAgICAgICAvKiBzdGFydHBvcyBmb3IgY29sbGVjdGluZyB1bnRyYW5zbGF0YWJsZSBjaGFycyAqLworICAgICAgICBQeV9zc2l6ZV90IGNvbGxzdGFydDsKKyAgICAgICAgUHlfc3NpemVfdCBjb2xsZW5kOworICAgICAgICBQeV9VQ1M0IGNoOwogCi0gICAgICAgICAgICAvKiBmaW5kIGFsbCB1bnRyYW5zbGF0YWJsZSBjaGFyYWN0ZXJzICovCi0gICAgICAgICAgICB3aGlsZSAoY29sbGVuZCA8IHNpemUpIHsKLSAgICAgICAgICAgICAgICBpZiAoY2hhcm1hcHRyYW5zbGF0ZV9sb29rdXAoUHlVbmljb2RlX1JFQUQoa2luZCxpZGF0YSwgY29sbGVuZCksIG1hcHBpbmcsICZ4KSkKLSAgICAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwotICAgICAgICAgICAgICAgIFB5X1hERUNSRUYoeCk7Ci0gICAgICAgICAgICAgICAgaWYgKHghPVB5X05vbmUpCi0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgICsrY29sbGVuZDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIC8qIGNhY2hlIGNhbGxiYWNrIG5hbWUgbG9va3VwCi0gICAgICAgICAgICAgKiAoaWYgbm90IGRvbmUgeWV0LCBpLmUuIGl0J3MgdGhlIGZpcnN0IGVycm9yKSAqLwotICAgICAgICAgICAgaWYgKGtub3duX2Vycm9ySGFuZGxlcj09LTEpIHsKLSAgICAgICAgICAgICAgICBpZiAoKGVycm9ycz09TlVMTCkgfHwgKCFzdHJjbXAoZXJyb3JzLCAic3RyaWN0IikpKQotICAgICAgICAgICAgICAgICAgICBrbm93bl9lcnJvckhhbmRsZXIgPSAxOwotICAgICAgICAgICAgICAgIGVsc2UgaWYgKCFzdHJjbXAoZXJyb3JzLCAicmVwbGFjZSIpKQotICAgICAgICAgICAgICAgICAgICBrbm93bl9lcnJvckhhbmRsZXIgPSAyOwotICAgICAgICAgICAgICAgIGVsc2UgaWYgKCFzdHJjbXAoZXJyb3JzLCAiaWdub3JlIikpCi0gICAgICAgICAgICAgICAgICAgIGtub3duX2Vycm9ySGFuZGxlciA9IDM7Ci0gICAgICAgICAgICAgICAgZWxzZSBpZiAoIXN0cmNtcChlcnJvcnMsICJ4bWxjaGFycmVmcmVwbGFjZSIpKQotICAgICAgICAgICAgICAgICAgICBrbm93bl9lcnJvckhhbmRsZXIgPSA0OwotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAga25vd25fZXJyb3JIYW5kbGVyID0gMDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHN3aXRjaCAoa25vd25fZXJyb3JIYW5kbGVyKSB7Ci0gICAgICAgICAgICBjYXNlIDE6IC8qIHN0cmljdCAqLwotICAgICAgICAgICAgICAgIG1ha2VfdHJhbnNsYXRlX2V4Y2VwdGlvbigmZXhjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dCwgY29sbHN0YXJ0LCBjb2xsZW5kLCByZWFzb24pOwotICAgICAgICAgICAgICAgIGlmIChleGMgIT0gTlVMTCkKLSAgICAgICAgICAgICAgICAgICAgUHlDb2RlY19TdHJpY3RFcnJvcnMoZXhjKTsKKyAgICAgICAgY2ggPSBQeVVuaWNvZGVfUkVBRChraW5kLCBkYXRhLCBpKTsKKyAgICAgICAgdHJhbnNsYXRlID0gY2hhcm1hcHRyYW5zbGF0ZV9vdXRwdXQoY2gsIG1hcHBpbmcsICZ3cml0ZXIpOworICAgICAgICBpZiAodHJhbnNsYXRlIDwgMCkKKyAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKKworICAgICAgICBpZiAodHJhbnNsYXRlICE9IDApIHsKKyAgICAgICAgICAgIC8qIGl0IHdvcmtlZCA9PiBhZGp1c3QgaW5wdXQgcG9pbnRlciAqLworICAgICAgICAgICAgKytpOworICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKworICAgICAgICAvKiB1bnRyYW5zbGF0YWJsZSBjaGFyYWN0ZXIgKi8KKyAgICAgICAgY29sbHN0YXJ0ID0gaTsKKyAgICAgICAgY29sbGVuZCA9IGkrMTsKKworICAgICAgICAvKiBmaW5kIGFsbCB1bnRyYW5zbGF0YWJsZSBjaGFyYWN0ZXJzICovCisgICAgICAgIHdoaWxlIChjb2xsZW5kIDwgc2l6ZSkgeworICAgICAgICAgICAgUHlPYmplY3QgKng7CisgICAgICAgICAgICBjaCA9IFB5VW5pY29kZV9SRUFEKGtpbmQsIGRhdGEsIGNvbGxlbmQpOworICAgICAgICAgICAgaWYgKGNoYXJtYXB0cmFuc2xhdGVfbG9va3VwKGNoLCBtYXBwaW5nLCAmeCkpCiAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwotICAgICAgICAgICAgY2FzZSAyOiAvKiByZXBsYWNlICovCi0gICAgICAgICAgICAgICAgLyogTm8gbmVlZCB0byBjaGVjayBmb3Igc3BhY2UsIHRoaXMgaXMgYSAxOjEgcmVwbGFjZW1lbnQgKi8KLSAgICAgICAgICAgICAgICBmb3IgKGNvbGwgPSBjb2xsc3RhcnQ7IGNvbGw8Y29sbGVuZDsgY29sbCsrKQotICAgICAgICAgICAgICAgICAgICBvdXRwdXRbb3BvcysrXSA9ICc/JzsKLSAgICAgICAgICAgICAgICAvKiBmYWxsIHRocm91Z2ggKi8KLSAgICAgICAgICAgIGNhc2UgMzogLyogaWdub3JlICovCi0gICAgICAgICAgICAgICAgaSA9IGNvbGxlbmQ7CisgICAgICAgICAgICBQeV9YREVDUkVGKHgpOworICAgICAgICAgICAgaWYgKHggIT0gUHlfTm9uZSkKICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgNDogLyogeG1sY2hhcnJlZnJlcGxhY2UgKi8KLSAgICAgICAgICAgICAgICAvKiBnZW5lcmF0ZSByZXBsYWNlbWVudCAodGVtcG9yYXJpbHkgKG1pcyl1c2VzIGkpICovCi0gICAgICAgICAgICAgICAgZm9yIChpID0gY29sbHN0YXJ0OyBpIDwgY29sbGVuZDsgKytpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNoYXIgYnVmZmVyWzIrMjkrMSsxXTsKLSAgICAgICAgICAgICAgICAgICAgY2hhciAqY3A7Ci0gICAgICAgICAgICAgICAgICAgIHNwcmludGYoYnVmZmVyLCAiJiMlZDsiLCBQeVVuaWNvZGVfUkVBRChraW5kLCBpZGF0YSwgaSkpOwotICAgICAgICAgICAgICAgICAgICBpZiAoY2hhcm1hcHRyYW5zbGF0ZV9tYWtlc3BhY2UoJm91dHB1dCwgJm9zaXplLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BvcytzdHJsZW4oYnVmZmVyKSsoc2l6ZS1jb2xsZW5kKSkpCi0gICAgICAgICAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7Ci0gICAgICAgICAgICAgICAgICAgIGZvciAoY3AgPSBidWZmZXI7ICpjcDsgKytjcCkKLSAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dFtvcG9zKytdID0gKmNwOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpID0gY29sbGVuZDsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAgICAgcmVwdW5pY29kZSA9IHVuaWNvZGVfdHJhbnNsYXRlX2NhbGxfZXJyb3JoYW5kbGVyKGVycm9ycywgJmVycm9ySGFuZGxlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhc29uLCBpbnB1dCwgJmV4YywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sbHN0YXJ0LCBjb2xsZW5kLCAmbmV3cG9zKTsKLSAgICAgICAgICAgICAgICBpZiAocmVwdW5pY29kZSA9PSBOVUxMKQotICAgICAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7Ci0gICAgICAgICAgICAgICAgaWYgKFB5VW5pY29kZV9SRUFEWShyZXB1bmljb2RlKSA9PSAtMSkgewotICAgICAgICAgICAgICAgICAgICBQeV9ERUNSRUYocmVwdW5pY29kZSk7Ci0gICAgICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgLyogZ2VuZXJhdGUgcmVwbGFjZW1lbnQgICovCi0gICAgICAgICAgICAgICAgcmVwc2l6ZSA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHJlcHVuaWNvZGUpOwotICAgICAgICAgICAgICAgIGlmIChjaGFybWFwdHJhbnNsYXRlX21ha2VzcGFjZSgmb3V0cHV0LCAmb3NpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wb3MrcmVwc2l6ZSsoc2l6ZS1jb2xsZW5kKSkpIHsKLSAgICAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHJlcHVuaWNvZGUpOwotICAgICAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGZvciAodW5pMiA9IDA7IHJlcHNpemUtLT4wOyArK3VuaTIpCi0gICAgICAgICAgICAgICAgICAgIG91dHB1dFtvcG9zKytdID0gUHlVbmljb2RlX1JFQURfQ0hBUihyZXB1bmljb2RlLCB1bmkyKTsKLSAgICAgICAgICAgICAgICBpID0gbmV3cG9zOworICAgICAgICAgICAgKytjb2xsZW5kOworICAgICAgICB9CisKKyAgICAgICAgaWYgKGlnbm9yZSkgeworICAgICAgICAgICAgaSA9IGNvbGxlbmQ7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICByZXB1bmljb2RlID0gdW5pY29kZV90cmFuc2xhdGVfY2FsbF9lcnJvcmhhbmRsZXIoZXJyb3JzLCAmZXJyb3JIYW5kbGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYXNvbiwgaW5wdXQsICZleGMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sbHN0YXJ0LCBjb2xsZW5kLCAmbmV3cG9zKTsKKyAgICAgICAgICAgIGlmIChyZXB1bmljb2RlID09IE5VTEwpCisgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOworICAgICAgICAgICAgaWYgKF9QeVVuaWNvZGVXcml0ZXJfV3JpdGVTdHIoJndyaXRlciwgcmVwdW5pY29kZSkgPCAwKSB7CiAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHJlcHVuaWNvZGUpOworICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIFB5X0RFQ1JFRihyZXB1bmljb2RlKTsKKyAgICAgICAgICAgIGkgPSBuZXdwb3M7CiAgICAgICAgIH0KICAgICB9Ci0gICAgcmVzID0gUHlVbmljb2RlX0Zyb21LaW5kQW5kRGF0YShQeVVuaWNvZGVfNEJZVEVfS0lORCwgb3V0cHV0LCBvcG9zKTsKLSAgICBpZiAoIXJlcykKLSAgICAgICAgZ290byBvbkVycm9yOwotICAgIFB5TWVtX0ZyZWUob3V0cHV0KTsKICAgICBQeV9YREVDUkVGKGV4Yyk7CiAgICAgUHlfWERFQ1JFRihlcnJvckhhbmRsZXIpOwotICAgIHJldHVybiByZXM7CisgICAgcmV0dXJuIF9QeVVuaWNvZGVXcml0ZXJfRmluaXNoKCZ3cml0ZXIpOwogCiAgIG9uRXJyb3I6Ci0gICAgUHlNZW1fRnJlZShvdXRwdXQpOworICAgIF9QeVVuaWNvZGVXcml0ZXJfRGVhbGxvYygmd3JpdGVyKTsKICAgICBQeV9YREVDUkVGKGV4Yyk7CiAgICAgUHlfWERFQ1JFRihlcnJvckhhbmRsZXIpOwogICAgIHJldHVybiBOVUxMOwpAQCAtODg4Myw3ICs4ODczLDcgQEAKIAogICAgIG1heGNoYXIgPSAxMjc7CiAgICAgZm9yIChpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7Ci0gICAgICAgIFB5X1VOSUNPREUgY2ggPSBzW2ldOworICAgICAgICBQeV9VQ1M0IGNoID0gc1tpXTsKICAgICAgICAgaWYgKGNoID4gMTI3KSB7CiAgICAgICAgICAgICBpbnQgZGVjaW1hbCA9IFB5X1VOSUNPREVfVE9ERUNJTUFMKGNoKTsKICAgICAgICAgICAgIGlmIChkZWNpbWFsID49IDApCkBAIC04OTAwLDcgKzg4OTAsNyBAQAogICAgIGRhdGEgPSBQeVVuaWNvZGVfREFUQShkZWNpbWFsKTsKICAgICAvKiBJdGVyYXRlIG92ZXIgY29kZSBwb2ludHMgKi8KICAgICBmb3IgKGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHsKLSAgICAgICAgUHlfVU5JQ09ERSBjaCA9IHNbaV07CisgICAgICAgIFB5X1VDUzQgY2ggPSBzW2ldOwogICAgICAgICBpZiAoY2ggPiAxMjcpIHsKICAgICAgICAgICAgIGludCBkZWNpbWFsID0gUHlfVU5JQ09ERV9UT0RFQ0lNQUwoY2gpOwogICAgICAgICAgICAgaWYgKGRlY2ltYWwgPj0gMCkKQEAgLTEwODQ2LDcgKzEwODM2LDcgQEAKICAgICAgICAgdm9pZCAqZGF0YSA9IFB5VW5pY29kZV9EQVRBKHVuaSk7CiAgICAgICAgIC8qIENvbXBhcmUgVW5pY29kZSBzdHJpbmcgYW5kIHNvdXJjZSBjaGFyYWN0ZXIgc2V0IHN0cmluZyAqLwogICAgICAgICBmb3IgKGkgPSAwOyAoY2hyID0gUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgaSkpICYmIHN0cltpXTsgaSsrKQotICAgICAgICAgICAgaWYgKGNociAhPSBzdHJbaV0pCisgICAgICAgICAgICBpZiAoY2hyICE9ICh1bnNpZ25lZCBjaGFyKXN0cltpXSkKICAgICAgICAgICAgICAgICByZXR1cm4gKGNociA8ICh1bnNpZ25lZCBjaGFyKShzdHJbaV0pKSA/IC0xIDogMTsKICAgICAgICAgLyogVGhpcyBjaGVjayBrZWVwcyBQeXRob24gc3RyaW5ncyB0aGF0IGVuZCBpbiAnXDAnIGZyb20gY29tcGFyaW5nIGVxdWFsCiAgICAgICAgICB0byBDIHN0cmluZ3MgaWRlbnRpY2FsIHVwIHRvIHRoYXQgcG9pbnQuICovCkBAIC0xMzkwOCw4ICsxMzg5OCw4IEBACiAgKiBDQVVUSU9OOiAgbywgeCBhbmQgWCBjb252ZXJzaW9ucyBvbiByZWd1bGFyIGludHMgY2FuIG5ldmVyCiAgKiBwcm9kdWNlIGEgJy0nIHNpZ24sIGJ1dCBjYW4gZm9yIFB5dGhvbidzIHVuYm91bmRlZCBpbnRzLgogICovCi1zdGF0aWMgUHlPYmplY3QqCi1mb3JtYXRsb25nKFB5T2JqZWN0ICp2YWwsIHN0cnVjdCB1bmljb2RlX2Zvcm1hdF9hcmdfdCAqYXJnKQorUHlPYmplY3QgKgorX1B5VW5pY29kZV9Gb3JtYXRMb25nKFB5T2JqZWN0ICp2YWwsIGludCBhbHQsIGludCBwcmVjLCBpbnQgdHlwZSkKIHsKICAgICBQeU9iamVjdCAqcmVzdWx0ID0gTlVMTDsKICAgICBjaGFyICpidWY7CkBAIC0xMzkxOSw4ICsxMzkwOSw2IEBACiAgICAgUHlfc3NpemVfdCBsbGVuOwogICAgIGludCBudW1kaWdpdHM7ICAgICAgLyogbGVuID09IG51bW5vbmRpZ2l0cyArIG51bWRpZ2l0cyAqLwogICAgIGludCBudW1ub25kaWdpdHMgPSAwOwotICAgIGludCBwcmVjID0gYXJnLT5wcmVjOwotICAgIGludCB0eXBlID0gYXJnLT5jaDsKIAogICAgIC8qIEF2b2lkIGV4Y2VlZGluZyBTU0laRV9UX01BWCAqLwogICAgIGlmIChwcmVjID4gSU5UX01BWC0zKSB7CkBAIC0xMzk2OSw3ICsxMzk1Nyw3IEBACiAgICAgaWYgKGxsZW4gPiBJTlRfTUFYKSB7CiAgICAgICAgIFB5X0RFQ1JFRihyZXN1bHQpOwogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpbmcgdG9vIGxhcmdlIGluIF9QeUJ5dGVzX0Zvcm1hdExvbmciKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpbmcgdG9vIGxhcmdlIGluIF9QeVVuaWNvZGVfRm9ybWF0TG9uZyIpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAgICAgbGVuID0gKGludClsbGVuOwpAQCAtMTM5NzksNyArMTM5NjcsNyBAQAogICAgIGFzc2VydChudW1kaWdpdHMgPiAwKTsKIAogICAgIC8qIEdldCByaWQgb2YgYmFzZSBtYXJrZXIgdW5sZXNzIEZfQUxUICovCi0gICAgaWYgKCgoYXJnLT5mbGFncyAmIEZfQUxUKSA9PSAwICYmCisgICAgaWYgKCgoYWx0KSA9PSAwICYmCiAgICAgICAgICh0eXBlID09ICdvJyB8fCB0eXBlID09ICd4JyB8fCB0eXBlID09ICdYJykpKSB7CiAgICAgICAgIGFzc2VydChidWZbc2lnbl0gPT0gJzAnKTsKICAgICAgICAgYXNzZXJ0KGJ1ZltzaWduKzFdID09ICd4JyB8fCBidWZbc2lnbisxXSA9PSAnWCcgfHwKQEAgLTE0MDU0LDI0ICsxNDA0MiwxNCBAQAogICAgIGlmICghUHlOdW1iZXJfQ2hlY2sodikpCiAgICAgICAgIGdvdG8gd3Jvbmd0eXBlOwogCi0gICAgLyogbWFrZSBzdXJlIG51bWJlciBpcyBhIHR5cGUgb2YgaW50ZWdlciAqLwotICAgIC8qIGlmIG5vdCwgaXNzdWUgZGVwcmVjYXRpb24gd2FybmluZyBmb3Igbm93ICovCisgICAgLyogbWFrZSBzdXJlIG51bWJlciBpcyBhIHR5cGUgb2YgaW50ZWdlciBmb3IgbywgeCwgYW5kIFggKi8KICAgICBpZiAoIVB5TG9uZ19DaGVjayh2KSkgewogICAgICAgICBpZiAodHlwZSA9PSAnbycgfHwgdHlwZSA9PSAneCcgfHwgdHlwZSA9PSAnWCcpIHsKICAgICAgICAgICAgIGlvYmogPSBQeU51bWJlcl9JbmRleCh2KTsKICAgICAgICAgICAgIGlmIChpb2JqID09IE5VTEwpIHsKLSAgICAgICAgICAgICAgICBQeUVycl9DbGVhcigpOwotICAgICAgICAgICAgICAgIGlmIChQeUVycl9XYXJuRXgoUHlFeGNfRGVwcmVjYXRpb25XYXJuaW5nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImF1dG9tYXRpYyBpbnQgY29udmVyc2lvbnMgaGF2ZSBiZWVuIGRlcHJlY2F0ZWQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSkpIHsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpb2JqID0gUHlOdW1iZXJfTG9uZyh2KTsKLSAgICAgICAgICAgICAgICBpZiAoaW9iaiA9PSBOVUxMICkgewotICAgICAgICAgICAgICAgICAgICBpZiAoUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcyhQeUV4Y19UeXBlRXJyb3IpKQotICAgICAgICAgICAgICAgICAgICAgICAgZ290byB3cm9uZ3R5cGU7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKFB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMoUHlFeGNfVHlwZUVycm9yKSkKKyAgICAgICAgICAgICAgICAgICAgZ290byB3cm9uZ3R5cGU7CisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIGVsc2UgewpAQCAtMTQxMjQsNyArMTQxMDIsNyBAQAogICAgICAgICByZXR1cm4gMTsKICAgICB9CiAKLSAgICByZXMgPSBmb3JtYXRsb25nKGlvYmosIGFyZyk7CisgICAgcmVzID0gX1B5VW5pY29kZV9Gb3JtYXRMb25nKGlvYmosIGFyZy0+ZmxhZ3MgJiBGX0FMVCwgYXJnLT5wcmVjLCB0eXBlKTsKICAgICBQeV9ERUNSRUYoaW9iaik7CiAgICAgaWYgKHJlcyA9PSBOVUxMKQogICAgICAgICByZXR1cm4gLTE7CkBAIC0xNDEzMiwxMCArMTQxMTAsMjMgQEAKICAgICByZXR1cm4gMDsKIAogd3Jvbmd0eXBlOgotICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCi0gICAgICAgICAgICAiJSUlYyBmb3JtYXQ6IGEgbnVtYmVyIGlzIHJlcXVpcmVkLCAiCi0gICAgICAgICAgICAibm90ICUuMjAwcyIsCi0gICAgICAgICAgICB0eXBlLCBQeV9UWVBFKHYpLT50cF9uYW1lKTsKKyAgICBzd2l0Y2godHlwZSkKKyAgICB7CisgICAgICAgIGNhc2UgJ28nOgorICAgICAgICBjYXNlICd4JzoKKyAgICAgICAgY2FzZSAnWCc6CisgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAiJSUlYyBmb3JtYXQ6IGFuIGludGVnZXIgaXMgcmVxdWlyZWQsICIKKyAgICAgICAgICAgICAgICAgICAgIm5vdCAlLjIwMHMiLAorICAgICAgICAgICAgICAgICAgICB0eXBlLCBQeV9UWVBFKHYpLT50cF9uYW1lKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgIiUlJWMgZm9ybWF0OiBhIG51bWJlciBpcyByZXF1aXJlZCwgIgorICAgICAgICAgICAgICAgICAgICAibm90ICUuMjAwcyIsCisgICAgICAgICAgICAgICAgICAgIHR5cGUsIFB5X1RZUEUodiktPnRwX25hbWUpOworICAgICAgICAgICAgYnJlYWs7CisgICAgfQogICAgIHJldHVybiAtMTsKIH0KIApAQCAtMTQxNTMsMjIgKzE0MTQ0LDEwIEBACiAgICAgICAgIFB5T2JqZWN0ICppb2JqOwogICAgICAgICBsb25nIHg7CiAgICAgICAgIC8qIG1ha2Ugc3VyZSBudW1iZXIgaXMgYSB0eXBlIG9mIGludGVnZXIgKi8KLSAgICAgICAgLyogaWYgbm90LCBpc3N1ZSBkZXByZWNhdGlvbiB3YXJuaW5nIGZvciBub3cgKi8KICAgICAgICAgaWYgKCFQeUxvbmdfQ2hlY2sodikpIHsKICAgICAgICAgICAgIGlvYmogPSBQeU51bWJlcl9JbmRleCh2KTsKICAgICAgICAgICAgIGlmIChpb2JqID09IE5VTEwpIHsKLSAgICAgICAgICAgICAgICBQeUVycl9DbGVhcigpOwotICAgICAgICAgICAgICAgIGlmIChQeUVycl9XYXJuRXgoUHlFeGNfRGVwcmVjYXRpb25XYXJuaW5nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImF1dG9tYXRpYyBpbnQgY29udmVyc2lvbnMgaGF2ZSBiZWVuIGRlcHJlY2F0ZWQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSkpIHsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpb2JqID0gUHlOdW1iZXJfTG9uZyh2KTsKLSAgICAgICAgICAgICAgICBpZiAoaW9iaiA9PSBOVUxMICkgewotICAgICAgICAgICAgICAgICAgICBpZiAoUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcyhQeUV4Y19UeXBlRXJyb3IpKQotICAgICAgICAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwotICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHYgPSBpb2JqOwogICAgICAgICAgICAgUHlfREVDUkVGKGlvYmopOwpAQCAtMTU0MjIsNyArMTU0MDEsNyBAQAogICAgIGlmICh1ID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIC8qIEVuc3VyZSB3ZSB3b24ndCBvdmVyZmxvdyB0aGUgc2l6ZS4gKi8KLSAgICBpZiAobGVuID4gKChQWV9TU0laRV9UX01BWCAvIHNpemVvZihQeV9VTklDT0RFKSkgLSAxKSkgeworICAgIGlmIChsZW4gPiAoKFBZX1NTSVpFX1RfTUFYIC8gKFB5X3NzaXplX3Qpc2l6ZW9mKFB5X1VOSUNPREUpKSAtIDEpKSB7CiAgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KZGlmZiAtLWdpdCBhL09iamVjdHMvdW5pY29kZXR5cGVfZGIuaCBiL09iamVjdHMvdW5pY29kZXR5cGVfZGIuaAppbmRleCAxZmRjMDkyLi4wYzFlMGI2IDEwMDY0NAotLS0gYS9PYmplY3RzL3VuaWNvZGV0eXBlX2RiLmgKKysrIGIvT2JqZWN0cy91bmljb2RldHlwZV9kYi5oCkBAIC04MiwyNSArODIsMzEgQEAKICAgICB7LTIwNSwgMCwgLTIwNSwgMCwgMCwgOTk5M30sCiAgICAgey0yMDIsIDAsIC0yMDIsIDAsIDAsIDk5OTN9LAogICAgIHstMjAzLCAwLCAtMjAzLCAwLCAwLCA5OTkzfSwKKyAgICB7NDIzMTksIDAsIDQyMzE5LCAwLCAwLCA5OTkzfSwKKyAgICB7NDIzMTUsIDAsIDQyMzE1LCAwLCAwLCA5OTkzfSwKICAgICB7LTIwNywgMCwgLTIwNywgMCwgMCwgOTk5M30sCiAgICAgezQyMjgwLCAwLCA0MjI4MCwgMCwgMCwgOTk5M30sCiAgICAgezQyMzA4LCAwLCA0MjMwOCwgMCwgMCwgOTk5M30sCiAgICAgey0yMDksIDAsIC0yMDksIDAsIDAsIDk5OTN9LAogICAgIHstMjExLCAwLCAtMjExLCAwLCAwLCA5OTkzfSwKICAgICB7MTA3NDMsIDAsIDEwNzQzLCAwLCAwLCA5OTkzfSwKKyAgICB7NDIzMDUsIDAsIDQyMzA1LCAwLCAwLCA5OTkzfSwKICAgICB7MTA3NDksIDAsIDEwNzQ5LCAwLCAwLCA5OTkzfSwKICAgICB7LTIxMywgMCwgLTIxMywgMCwgMCwgOTk5M30sCiAgICAgey0yMTQsIDAsIC0yMTQsIDAsIDAsIDk5OTN9LAogICAgIHsxMDcyNywgMCwgMTA3MjcsIDAsIDAsIDk5OTN9LAogICAgIHstMjE4LCAwLCAtMjE4LCAwLCAwLCA5OTkzfSwKKyAgICB7NDIyODIsIDAsIDQyMjgyLCAwLCAwLCA5OTkzfSwKICAgICB7LTY5LCAwLCAtNjksIDAsIDAsIDk5OTN9LAogICAgIHstMjE3LCAwLCAtMjE3LCAwLCAwLCA5OTkzfSwKICAgICB7LTcxLCAwLCAtNzEsIDAsIDAsIDk5OTN9LAogICAgIHstMjE5LCAwLCAtMjE5LCAwLCAwLCA5OTkzfSwKKyAgICB7NDIyNTgsIDAsIDQyMjU4LCAwLCAwLCA5OTkzfSwKICAgICB7MCwgMCwgMCwgMCwgMCwgMTQwODl9LAogICAgIHswLCAwLCAwLCAwLCAwLCA1ODg5fSwKICAgICB7MTY3NzcyNDQsIDE3ODI1ODE4LCAxNjc3NzI0NCwgMCwgMCwgMzAyMTZ9LAogICAgIHswLCAwLCAwLCAwLCAwLCAxMzMyMX0sCisgICAgezAsIDExNiwgMCwgMCwgMCwgMTAxMTN9LAogICAgIHswLCAzOCwgMCwgMCwgMCwgMTAxMTN9LAogICAgIHswLCAzNywgMCwgMCwgMCwgMTAxMTN9LAogICAgIHswLCA2NCwgMCwgMCwgMCwgMTAxMTN9LApAQCAtMTIyLDYgKzEyOCw3IEBACiAgICAgezE2Nzc3Mjc2LCAxNzgyNTg1MCwgMTY3NzcyNzYsIDAsIDAsIDI2Mzc3fSwKICAgICB7MTY3NzcyNzksIDE3ODI1ODUzLCAxNjc3NzI3OSwgMCwgMCwgMjYzNzd9LAogICAgIHs3LCAwLCA3LCAwLCAwLCA5OTkzfSwKKyAgICB7LTExNiwgMCwgLTExNiwgMCwgMCwgOTk5M30sCiAgICAgezAsIC02MCwgMCwgMCwgMCwgMTAxMTN9LAogICAgIHsxNjc3NzI4MiwgMTc4MjU4NTYsIDE2Nzc3MjgyLCAwLCAwLCAyNjM3N30sCiAgICAgezAsIC03LCAwLCAwLCAwLCAxMDExM30sCkBAIC0yODAsNiArMjg3LDExIEBACiAgICAgezAsIC0zNTMzMiwgMCwgMCwgMCwgMTAxMTN9LAogICAgIHswLCAtNDIyODAsIDAsIDAsIDAsIDEwMTEzfSwKICAgICB7MCwgLTQyMzA4LCAwLCAwLCAwLCAxMDExM30sCisgICAgezAsIC00MjMxOSwgMCwgMCwgMCwgMTAxMTN9LAorICAgIHswLCAtNDIzMTUsIDAsIDAsIDAsIDEwMTEzfSwKKyAgICB7MCwgLTQyMzA1LCAwLCAwLCAwLCAxMDExM30sCisgICAgezAsIC00MjI1OCwgMCwgMCwgMCwgMTAxMTN9LAorICAgIHswLCAtNDIyODIsIDAsIDAsIDAsIDEwMTEzfSwKICAgICB7MzM1NTUwMzgsIDE4ODc0OTcxLCAzMzU1NTA0MCwgMCwgMCwgMjYzNzd9LAogICAgIHszMzU1NTA0NSwgMTg4NzQ5NzgsIDMzNTU1MDQ3LCAwLCAwLCAyNjM3N30sCiAgICAgezMzNTU1MDUyLCAxODg3NDk4NSwgMzM1NTUwNTQsIDAsIDAsIDI2Mzc3fSwKQEAgLTI5Niw2ICszMDgsNyBAQAogICAgIHswLCAwLCAwLCAwLCAwLCA1NjMzfSwKICAgICB7MCwgNDAsIDAsIDAsIDAsIDEwMTEzfSwKICAgICB7LTQwLCAwLCAtNDAsIDAsIDAsIDk5OTN9LAorICAgIHswLCAwLCAwLCAwLCAwLCA5MzQ0fSwKIH07CiAKIC8qIGV4dGVuZGVkIGNhc2UgbWFwcGluZ3MgKi8KQEAgLTEwMjksNDYgKzEwNDIsNTMgQEAKICAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCiAgICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyOCwgMTI5LCAxMzAsIAogICAgIDEzMSwgMTMyLCAxMzMsIDEzNCwgMzQsIDEzNSwgMTM2LCAxMzcsIDEzOCwgMTM5LCAxNDAsIDE0MSwgMTQyLCAxNDMsIDE0NCwgCi0gICAgNzEsIDE0NSwgMTQ2LCAxNDcsIDE0OCwgMTQ5LCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAxNTAsIDcxLCAxNTEsIDE1MiwgCi0gICAgMTUzLCA3MSwgMTU0LCA3MSwgMTU1LCA3MSwgNzEsIDcxLCAxNTYsIDcxLCA3MSwgNzEsIDE1NywgMTU4LCAxNTksIDE2MCwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgMTYxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAxNjIsIDcxLCAKLSAgICAxNjMsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAxNjQsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAzNCwgMzQsIDM0LCAzNCwgMTY1LCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAxNjYsIDE2NywgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAxNjgsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDY0LCAxNjksIDE3MCwgMTcxLCAxNzIsIDcxLCAxNzMsIDcxLCAxNzQsIDE3NSwgMTc2LCAxNzcsIDE3OCwgCi0gICAgMTc5LCAxODAsIDE4MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAxODIsIDE4MywgNzEsIDcxLCAxODQsIAotICAgIDE4NSwgMTg2LCAxODcsIDE4OCwgNzEsIDE4OSwgMTkwLCAxOTEsIDE5MiwgMTkzLCAxOTQsIDE5NSwgMTk2LCA2NSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAxOTcsIDE5OCwgCi0gICAgMTk5LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCA4NywgMjAwLCAKLSAgICAzNCwgMjAxLCAyMDIsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAorICAgIDE0NSwgMTQ2LCAxNDcsIDE0OCwgMTQ5LCAxNTAsIDE1MSwgMTQ1LCAzNCwgMzQsIDE1MiwgMTQ1LCAxNTMsIDE1NCwgMTU1LCAKKyAgICAxNTYsIDE1NywgMTU4LCAxNTksIDE2MCwgMTYxLCAxNDUsIDE0NSwgMTQ1LCAxNjIsIDE0NSwgMTQ1LCAxNDUsIDE2MywgCisgICAgMTY0LCAxNjUsIDE2NiwgMTY3LCAxNjgsIDE2OSwgMTQ1LCAxNDUsIDE3MCwgMTQ1LCAxNzEsIDE3MiwgMTczLCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNzQsIDE0NSwgMTQ1LCAxNDUsIDE3NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMTc2LCAxNzcsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDE3OCwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAzNCwgMzQsIDM0LCAzNCwgMTc5LCAxODAsIDE4MSwgMTgyLCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxODMsIDE4NCwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE4NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE4NiwgMTg3LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgNjQsIAorICAgIDE4OCwgMTg5LCAxOTAsIDE5MSwgMTQ1LCAxOTIsIDE0NSwgMTkzLCAxOTQsIDE5NSwgMTk2LCAxOTcsIDE5OCwgMTk5LCAKKyAgICAyMDAsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAzNCwgMjAxLCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDIwMiwgMjAzLCAxNDUsIDE0NSwgMjA0LCAyMDUsIDIwNiwgMjA3LCAyMDgsIDE0NSwgMjA5LCAyMTAsIDY0LCAKKyAgICAyMTEsIDIxMiwgMjEzLCAyMTQsIDIxNSwgMjE2LCAyMTcsIDIxOCwgMjE5LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMjIwLCAyMjEsIDIyMiwgMzQsIDM0LCAzNCwgCisgICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgODcsIDIyMywgMzQsIDIyNCwgMjI1LCAKICAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKLSAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAyMDMsIDM0LCAzNCwgCi0gICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMjA0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAogICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAotICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMjA1LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKKyAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAyMjYsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCisgICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMjI3LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAorICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAorICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMjI4LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKICAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKICAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKICAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKLSAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDIwNiwgMzQsIDM0LCAzNCwgCisgICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAyMjksIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAogICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAogICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAogICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIApAQCAtMTA3NiwzNTggKzEwOTYsNDU4IEBACiAgICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCiAgICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCiAgICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCi0gICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDIwNywgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAorICAgIDM0LCAzNCwgMzQsIDM0LCAyMzAsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKICAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKLSAgICAzNCwgMzQsIDM0LCAzNCwgMjA4LCAzNCwgMjA5LCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgMzQsIDIwMywgMzQsIDM0LCAyMDksIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDIxMCwgNzEsIDIxMSwgMjEyLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgMTI3LCAxMjcsIDEyNywgMTI3LCAKKyAgICAzNCwgMjMxLCAzNCwgMjMyLCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDM0LCAyMjYsIDM0LCAzNCwgMjMyLCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAyMzMsIDE0NSwgMjM0LCAyMzUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIAogICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKICAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCiAgICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIApAQCAtMTQ2Myw4ICsxNTgzLDggQEAKICAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCiAgICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIAogICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKKyAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDIzNiwgMTI3LCAxMjcsIDEyNywgCiAgICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIAotICAgIDEyNywgMTI3LCAxMjcsIDIxMywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKICAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCiAgICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIAogICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKQEAgLTE1MDAsNyArMTYyMCw3IEBACiAgICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIAogICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKICAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCi0gICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDIxMywgCisgICAgMTI3LCAxMjcsIDEyNywgMTI3LCAyMzYsIAogfTsKIAogc3RhdGljIHVuc2lnbmVkIHNob3J0IGluZGV4MltdID0gewpAQCAtMTUzNSwxMDYgKzE2NTUsMTA3IEBACiAgICAgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgNjQsIDIwLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgCiAgICAgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCA2NSwgCiAgICAgMzAsIDMxLCA2NiwgNjcsIDY4LCA2OCwgMzAsIDMxLCA2OSwgNzAsIDcxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgCi0gICAgMzEsIDMwLCAzMSwgNzIsIDczLCA3NCwgNzUsIDc2LCAyMCwgNzcsIDc3LCAyMCwgNzgsIDIwLCA3OSwgMjAsIDIwLCAyMCwgCi0gICAgMjAsIDc3LCAyMCwgMjAsIDgwLCAyMCwgODEsIDgyLCAyMCwgODMsIDg0LCAyMCwgODUsIDIwLCAyMCwgMjAsIDg0LCAyMCwgCi0gICAgODYsIDg3LCAyMCwgMjAsIDg4LCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgODksIDIwLCAyMCwgOTAsIDIwLCAyMCwgCi0gICAgOTAsIDIwLCAyMCwgMjAsIDIwLCA5MCwgOTEsIDkyLCA5MiwgOTMsIDIwLCAyMCwgMjAsIDIwLCAyMCwgOTQsIDIwLCA1NSwgCi0gICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCi0gICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgCi0gICAgOTYsIDk2LCA5NiwgOTYsIDk2LCA5NiwgOTYsIDk1LCA5NSwgNiwgNiwgNiwgNiwgOTYsIDk2LCA5NiwgOTYsIDk2LCA5NiwgCi0gICAgOTYsIDk2LCA5NiwgOTYsIDk2LCA5NiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgOTUsIDk1LCAKLSAgICA5NSwgOTUsIDk1LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA5NiwgNiwgOTYsIDYsIDYsIDYsIDYsIDYsIDYsIDYsIDYsIDYsIDYsIAotICAgIDYsIDYsIDYsIDYsIDYsIDYsIDYsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKKyAgICAzMSwgMzAsIDMxLCA3MiwgNzMsIDc0LCA3NSwgNzYsIDIwLCA3NywgNzcsIDIwLCA3OCwgMjAsIDc5LCA4MCwgMjAsIDIwLCAKKyAgICAyMCwgNzcsIDgxLCAyMCwgODIsIDIwLCA4MywgODQsIDIwLCA4NSwgODYsIDIwLCA4NywgODgsIDIwLCAyMCwgODYsIDIwLCAKKyAgICA4OSwgOTAsIDIwLCAyMCwgOTEsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCA5MiwgMjAsIDIwLCA5MywgMjAsIDIwLCAKKyAgICA5MywgMjAsIDIwLCAyMCwgOTQsIDkzLCA5NSwgOTYsIDk2LCA5NywgMjAsIDIwLCAyMCwgMjAsIDIwLCA5OCwgMjAsIDU1LCAKKyAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCA5OSwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKKyAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIAorICAgIDEwMCwgMTAwLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMCwgMTAwLCA2LCA2LCA2LCA2LCAxMDEsIAorICAgIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCA2LCA2LCA2LCA2LCA2LCA2LCAKKyAgICA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgCisgICAgMTAxLCA2LCAxMDEsIDYsIDYsIDYsIDYsIDYsIDYsIDYsIDYsIDYsIDYsIDYsIDYsIDYsIDYsIDYsIDYsIDYsIDI1LCAyNSwgCiAgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCiAgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCiAgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCA5NywgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCisgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDEwMiwgMjUsIDI1LCAyNSwgMjUsIAogICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAotICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDMwLCAzMSwgMzAsIDMxLCA5NiwgNiwgMzAsIDMxLCAwLCAwLCAKLSAgICA5OCwgNTAsIDUwLCA1MCwgNSwgMCwgMCwgMCwgMCwgMCwgNiwgNiwgOTksIDI1LCAxMDAsIDEwMCwgMTAwLCAwLCAxMDEsIDAsIAotICAgIDEwMiwgMTAyLCAxMDMsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMCwgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTA0LCAxMDUsIDEwNSwgMTA1LCAKLSAgICAxMDYsIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgCi0gICAgMTA3LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxMDgsIDEwOSwgMTA5LCAxMTAsIDExMSwgMTEyLCAKLSAgICAxMTMsIDExMywgMTEzLCAxMTQsIDExNSwgMTE2LCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAotICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAxMTcsIDExOCwgMTE5LCAyMCwgCi0gICAgMTIwLCAxMjEsIDUsIDMwLCAzMSwgMTIyLCAzMCwgMzEsIDIwLCA2NCwgNjQsIDY0LCAxMjMsIDEyMywgMTIzLCAxMjMsIAotICAgIDEyMywgMTIzLCAxMjMsIDEyMywgMTIzLCAxMjMsIDEyMywgMTIzLCAxMjMsIDEyMywgMTIzLCAxMjMsIDE3LCAxNywgMTcsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMzAsIDMxLCAzMCwgMzEsIDEwMSwgNiwgMzAsIDMxLCAwLCAwLCAxMDMsIDUwLCA1MCwgNTAsIDUsIDEwNCwgMCwgCisgICAgMCwgMCwgMCwgNiwgNiwgMTA1LCAyNSwgMTA2LCAxMDYsIDEwNiwgMCwgMTA3LCAwLCAxMDgsIDEwOCwgMTA5LCAxNywgMTcsIAorICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDAsIDE3LCAxNywgCisgICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDExMCwgMTExLCAxMTEsIDExMSwgMTEyLCAxOSwgMTksIDE5LCAxOSwgMTksIAorICAgIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDExMywgMTksIDE5LCAxOSwgMTksIDE5LCAKKyAgICAxOSwgMTksIDE5LCAxOSwgMTE0LCAxMTUsIDExNSwgMTE2LCAxMTcsIDExOCwgMTE5LCAxMTksIDExOSwgMTIwLCAxMjEsIAorICAgIDEyMiwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKKyAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMTIzLCAxMjQsIDEyNSwgMTI2LCAxMjcsIDEyOCwgNSwgMzAsIDMxLCAxMjksIAorICAgIDMwLCAzMSwgMjAsIDY0LCA2NCwgNjQsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgCisgICAgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKICAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAKLSAgICAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAKLSAgICAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTI0LCAxMjQsIDEyNCwgMTI0LCAxMjQsIDEyNCwgMTI0LCAxMjQsIDEyNCwgCi0gICAgMTI0LCAxMjQsIDEyNCwgMTI0LCAxMjQsIDEyNCwgMTI0LCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKLSAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKLSAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCA2LCA2LCAzMCwgMzEsIDMwLCAzMSwgCisgICAgMTcsIDE3LCAxNywgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgCisgICAgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgCisgICAgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCA1LCAKKyAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDYsIDYsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIAogICAgIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIAogICAgIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIAotICAgIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMTI1LCAzMCwgMzEsIDMwLCAKLSAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDEyNiwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgCisgICAgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMTMyLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAorICAgIDMxLCAzMCwgMzEsIDEzMywgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAKICAgICAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAKICAgICAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAKICAgICAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAKICAgICAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAKLSAgICAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTI3LCAKLSAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCi0gICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIAotICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDAsIDAsIDk2LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICAwLCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgCi0gICAgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIAotICAgIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI5LCAwLCA1LCA1LCAwLCAwLCAwLCAKLSAgICAwLCA1LCAwLCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCisgICAgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDAsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIAorICAgIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAKKyAgICAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgCisgICAgMTM0LCAxMzQsIDEzNCwgMTM0LCAwLCAwLCAxMDEsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDEzNSwgMTM1LCAxMzUsIDEzNSwgCisgICAgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIAorICAgIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAKKyAgICAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzYsIDAsIDUsIDUsIDAsIDAsIDUsIDUsIDUsIDAsIDI1LCAyNSwgMjUsIAogICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAotICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgNSwgMjUsIDUsIDI1LCAyNSwgNSwgMjUsIDI1LCAKLSAgICA1LCAyNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgCi0gICAgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNSwgNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjEsIDIxLCAyMSwgCi0gICAgMjEsIDIxLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAotICAgIDI1LCAyNSwgMjUsIDUsIDIxLCAwLCA1LCA1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDk2LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDI1LCAyNSwgMjUsIAotICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgNywgOCwgCi0gICAgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDUsIDUsIDUsIDUsIDU1LCA1NSwgMjUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDUsIDU1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjEsIDUsIDI1LCAyNSwgMjUsIAotICAgIDI1LCAyNSwgMjUsIDk2LCA5NiwgMjUsIDI1LCA1LCAyNSwgMjUsIDI1LCAyNSwgNTUsIDU1LCA3LCA4LCA5LCAxMCwgMTEsIAotICAgIDEyLCAxMywgMTQsIDE1LCAxNiwgNTUsIDU1LCA1NSwgNSwgNSwgNTUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDAsIDIxLCA1NSwgMjUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKKyAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCA1LCAyNSwgNSwgMjUsIDI1LCA1LCAyNSwgMjUsIDUsIDI1LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIAorICAgIDU1LCA1LCA2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDUsIAorICAgIDIxLCAwLCA1LCA1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDEwMSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDgsIDksIDEwLCAKLSAgICAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgNywgOCwgOSwgMTAsIDExLCAxMiwgCisgICAgMTMsIDE0LCAxNSwgMTYsIDUsIDUsIDUsIDUsIDU1LCA1NSwgMjUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgOTYsIDk2LCA1LCA1LCA1LCA1LCA5NiwgCi0gICAgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCAyNSwgMjUsIDI1LCA5NiwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKLSAgICAyNSwgMjUsIDI1LCAyNSwgOTYsIDI1LCAyNSwgMjUsIDk2LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDAsIDAsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1LCA1NSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDIxLCA1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKKyAgICAxMDEsIDEwMSwgMjUsIDI1LCA1LCAyNSwgMjUsIDI1LCAyNSwgNTUsIDU1LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIAorICAgIDE1LCAxNiwgNTUsIDU1LCA1NSwgNSwgNSwgNTUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAorICAgIDAsIDIxLCA1NSwgMjUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCAyNSwgCi0gICAgMjUsIDAsIDAsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCAwLCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI1LCAyNSwgMjUsIAogICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAotICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDAsIDI1LCAyNSwgMjUsIDE4LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCAxOCwgMjUsIDU1LCAxOCwgMTgsIDE4LCAKLSAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDE4LCAxOCwgMTgsIDE4LCAyNSwgMTgsIDE4LCA1NSwgMjUsIDI1LCAKLSAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMjUsIDUsIDUsIAotICAgIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCA1LCA5NiwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDI1LCAxOCwgMTgsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKKyAgICA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIAorICAgIDE0LCAxNSwgMTYsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDEwMSwgMTAxLCA1LCA1LCA1LCA1LCAxMDEsIDAsIDAsIDAsIAorICAgIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMjUsIDI1LCAyNSwgMTAxLCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAxMDEsIDI1LCAyNSwgMjUsIDEwMSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDI1LCAyNSwgMCwgMCwgCisgICAgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI1LCAyNSwgMjUsIDI1LCAKKyAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKKyAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAxOCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDE4LCAyNSwgNTUsIDE4LCAxOCwgMTgsIDI1LCAKKyAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMTgsIDE4LCAxOCwgMTgsIDI1LCAxOCwgMTgsIDU1LCAyNSwgMjUsIDI1LCAKKyAgICAyNSwgMjUsIDI1LCAyNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCAyNSwgNSwgNSwgNywgCisgICAgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDUsIDEwMSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDE4LCAxOCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCAwLCAwLCA1NSwgNTUsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgCiAgICAgNTUsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAyNSwgNTUsIDE4LCAxOCwgMTgsIDI1LCAyNSwgMjUsIDI1LCAwLCAKQEAgLTE2NjYsMjAgKzE3ODcsMjAgQEAKICAgICAxOCwgMTgsIDI1LCAxOCwgMTgsIDAsIDAsIDAsIDE4LCAxOCwgMTgsIDAsIDE4LCAxOCwgMTgsIDI1LCAwLCAwLCA1NSwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDgsIDksIDEwLCAKICAgICAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAyNywgMjcsIDI3LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAxOCwgMTgsIDE4LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDAsIAorICAgIDAsIDI1LCAxOCwgMTgsIDE4LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDAsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgMCwgMCwgMCwgNTUsIDI1LCAyNSwgMjUsIDE4LCAxOCwgMTgsIDE4LCAwLCAyNSwgMjUsIDI1LCAwLCAKLSAgICAyNSwgMjUsIDI1LCAyNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjUsIDI1LCAwLCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDU1LCA1NSwgMjUsIDI1LCAwLCAwLCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDUsIDAsIDAsIDE4LCAxOCwgMCwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDI1LCA1NSwgMTgsIDI1LCAxOCwgCi0gICAgMTgsIDE4LCAxOCwgMTgsIDAsIDI1LCAxOCwgMTgsIDAsIDE4LCAxOCwgMjUsIDI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAxOCwgMTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCAwLCA1NSwgNTUsIDI1LCAyNSwgMCwgMCwgNywgOCwgOSwgMTAsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDU1LCAyNSwgMjUsIDI1LCAxOCwgMTgsIDE4LCAxOCwgMCwgMjUsIDI1LCAyNSwgCisgICAgMCwgMjUsIDI1LCAyNSwgMjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI1LCAyNSwgMCwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCA1NSwgNTUsIDI1LCAyNSwgMCwgMCwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCA1LCAwLCAyNSwgMTgsIDE4LCAwLCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMjUsIDU1LCAxOCwgMjUsIAorICAgIDE4LCAxOCwgMTgsIDE4LCAxOCwgMCwgMjUsIDE4LCAxOCwgMCwgMTgsIDE4LCAyNSwgMjUsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDE4LCAxOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDAsIDU1LCA1NSwgMjUsIDI1LCAwLCAwLCA3LCA4LCA5LCAxMCwgCiAgICAgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMCwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAxOCwgMTgsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgMCwgNTUsIAorICAgIDAsIDI1LCAxOCwgMTgsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgMCwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCA1NSwgMTgsIDE4LCAxOCwgMjUsIDI1LCAyNSwgMjUsIDAsIDE4LCAxOCwgMTgsIDAsIApAQCAtMTY5MCw3OSArMTgxMSw3OSBAQAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCAwLCAKICAgICAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMjUsIDAsIDAsIDAsIDAsIDE4LCAxOCwgMTgsIDI1LCAKLSAgICAyNSwgMjUsIDAsIDI1LCAwLCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE4LCAxOCwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICAyNSwgMjUsIDAsIDI1LCAwLCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDgsIAorICAgIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAwLCAwLCAxOCwgMTgsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgNTUsIDEzMCwgMjUsIDI1LCAKLSAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDAsIDAsIDAsIDAsIDUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDk2LCAyNSwgMjUsIAotICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDUsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCA1LCA1LCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDAsIDU1LCAwLCAwLCA1NSwgNTUsIDAsIDU1LCAKLSAgICAwLCAwLCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCAwLCA1NSwgNTUsIDU1LCAwLCA1NSwgMCwgNTUsIDAsIDAsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDI1LCA1NSwgCi0gICAgMTMwLCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAwLCAyNSwgMjUsIDU1LCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIAotICAgIDk2LCAwLCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAwLCAwLCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgCi0gICAgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAyNSwgMjUsIDUsIDUsIDUsIDUsIDUsIDUsIDcsIAotICAgIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCi0gICAgNSwgMjUsIDUsIDI1LCA1LCAyNSwgNSwgNSwgNSwgNSwgMTgsIDE4LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDU1LCAxMzcsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAwLCAwLCAwLCAwLCA1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAxMDEsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgNSwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIAorICAgIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgMCwgNTUsIDAsIDAsIDU1LCA1NSwgCisgICAgMCwgNTUsIDAsIDAsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDAsIDU1LCAwLCA1NSwgMCwgMCwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgMjUsIAorICAgIDU1LCAxMzcsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDAsIDI1LCAyNSwgNTUsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgMCwgMTAxLCAwLCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAwLCAwLCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAKKyAgICAxNiwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAyNSwgMjUsIDUsIDUsIDUsIDUsIDUsIDUsIAorICAgIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKKyAgICAyNywgNSwgMjUsIDUsIDI1LCA1LCAyNSwgNSwgNSwgNSwgNSwgMTgsIDE4LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgMCwgMCwgMCwgMCwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKLSAgICAxOCwgMjUsIDI1LCAyNSwgMjUsIDI1LCA1LCAyNSwgMjUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDI1LCAyNSwgMjUsIAotICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAwLCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCisgICAgNTUsIDU1LCAwLCAwLCAwLCAwLCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCisgICAgMjUsIDE4LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDUsIDI1LCAyNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMjUsIDI1LCAKKyAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDAsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAogICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAotICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMjUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDI1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMTgsIDE4LCAyNSwgMjUsIDI1LCAyNSwgCisgICAgMTgsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDE4LCAyNSwgMjUsIDE4LCAxOCwgMjUsIDI1LCA1NSwgNywgOCwgOSwgMTAsIAorICAgIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDUsIDUsIDUsIDUsIDUsIDUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDE4LCAxOCwgCisgICAgMjUsIDI1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDI1LCAyNSwgNTUsIDE4LCAxOCwgMTgsIDU1LCA1NSwgMTgsIDE4LCAxOCwgCisgICAgMTgsIDE4LCAxOCwgMTgsIDU1LCA1NSwgNTUsIDI1LCAyNSwgMjUsIDI1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDE4LCAxOCwgMjUsIDI1LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAyNSwgCisgICAgNTUsIDE4LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMTgsIDE4LCAxOCwgMjUsIDUsIDUsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAwLCAxMzgsIDAsIDAsIDAsIDAsIDAsIDEzOCwgCisgICAgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDUsIDEwMSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgMCwgCisgICAgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDI1LCAyNSwgMjUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDEzOSwgMTQwLCAxNDEsIDE0MiwgMTQzLCAxNDQsIDE0NSwgMTQ2LCAxNDcsIAorICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAxOCwgMTgsIDI1LCAyNSwgMjUsIDI1LCAxOCwgCi0gICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMTgsIDI1LCAyNSwgMTgsIDE4LCAyNSwgMjUsIDU1LCA3LCA4LCA5LCAxMCwgMTEsIAotICAgIDEyLCAxMywgMTQsIDE1LCAxNiwgNSwgNSwgNSwgNSwgNSwgNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMTgsIDE4LCAyNSwgCi0gICAgMjUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMjUsIDI1LCA1NSwgMTgsIDE4LCAxOCwgNTUsIDU1LCAxOCwgMTgsIDE4LCAxOCwgCi0gICAgMTgsIDE4LCAxOCwgNTUsIDU1LCA1NSwgMjUsIDI1LCAyNSwgMjUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMTgsIDE4LCAyNSwgMjUsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDI1LCA1NSwgCi0gICAgMTgsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAxOCwgMTgsIDE4LCAyNSwgNSwgNSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDAsIDEzMSwgMCwgMCwgMCwgMCwgMCwgMTMxLCAwLCAwLCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNSwgOTYsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDAsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAyNSwgMjUsIDI1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAxMzIsIDEzMywgMTM0LCAxMzUsIDEzNiwgMTM3LCAxMzgsIDEzOSwgMTQwLCAyNywgCi0gICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgCkBAIC0xNzg2LDI4ICsxOTA3LDI4IEBACiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDUsIDUsIDUsIDE0MSwgMTQxLCAxNDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgMjUsIDI1LCAyNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIAotICAgIDI1LCAyNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIAotICAgIDU1LCA1NSwgMCwgMjUsIDI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDUsIDUsIDUsIDE0OCwgMTQ4LCAxNDgsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMjUsIDI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCAyNSwgMjUsIDI1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMjUsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAKKyAgICA1NSwgNTUsIDU1LCAwLCAyNSwgMjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCAyNSwgMTgsIDI1LCAyNSwgMjUsIAotICAgIDI1LCAyNSwgMjUsIDI1LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDI1LCAxOCwgMTgsIDI1LCAyNSwgMjUsIAotICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgNSwgNSwgNSwgOTYsIDUsIDUsIDUsIDUsIDU1LCAyNSwgMCwgMCwgNywgCi0gICAgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDAsIDAsIDAsIDAsIDAsIDAsIDI3LCAyNywgMjcsIDI3LCAyNywgCi0gICAgMjcsIDI3LCAyNywgMjcsIDI3LCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICAyNSwgMjUsIDI1LCAyMSwgMCwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMjUsIDE4LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAyNSwgMTgsIDE4LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDUsIDUsIDUsIDEwMSwgNSwgNSwgNSwgNSwgNTUsIDI1LCAwLCAKKyAgICAwLCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMCwgMCwgMCwgMCwgMCwgMCwgMjcsIDI3LCAyNywgMjcsIAorICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAorICAgIDUsIDI1LCAyNSwgMjUsIDIxLCAwLCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDk2LCAKKyAgICAxMDEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCA1NSwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCkBAIC0xODE1LDU5MCArMTkzNiwyNjcgQEAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAyNSwgMjUsIDI1LCAKLSAgICAxOCwgMTgsIDE4LCAxOCwgMjUsIDI1LCAxOCwgMTgsIDE4LCAwLCAwLCAwLCAwLCAxOCwgMTgsIDI1LCAxOCwgMTgsIDE4LCAKLSAgICAxOCwgMTgsIDE4LCAyNSwgMjUsIDI1LCAwLCAwLCAwLCAwLCA1LCAwLCAwLCAwLCA1LCA1LCA3LCA4LCA5LCAxMCwgMTEsIAotICAgIDEyLCAxMywgMTQsIDE1LCAxNiwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDI1LCAyNSwgCisgICAgMjUsIDE4LCAxOCwgMTgsIDE4LCAyNSwgMjUsIDE4LCAxOCwgMTgsIDAsIDAsIDAsIDAsIDE4LCAxOCwgMjUsIDE4LCAxOCwgCisgICAgMTgsIDE4LCAxOCwgMTgsIDI1LCAyNSwgMjUsIDAsIDAsIDAsIDAsIDUsIDAsIDAsIDAsIDUsIDUsIDcsIDgsIDksIDEwLCAKKyAgICAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIAotICAgIDE4LCAxOCwgMTgsIDE4LCAxOCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDE4LCAxOCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDEzMiwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgCisgICAgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAxOCwgMTgsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAxMzksIDAsIDAsIDAsIDUsIDUsIDUsIDUsIAogICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDI1LCAxOCwgMTgsIDI1LCAwLCAwLCA1LCA1LCA1NSwgNTUsIDU1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCAyNSwgMTgsIDE4LCAyNSwgMCwgMCwgNSwgNSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMTgsIDI1LCAxOCwgMjUsIAotICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDAsIDI1LCAxOCwgMjUsIDE4LCAxOCwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCi0gICAgMCwgMCwgMjUsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA4LCA5LCAKLSAgICAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgOTYsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAxOCwgMjUsIAorICAgIDE4LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMCwgMjUsIDE4LCAyNSwgMTgsIDE4LCAyNSwgMjUsIDI1LCAyNSwgCisgICAgMjUsIDI1LCAyNSwgMjUsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCisgICAgMjUsIDI1LCAwLCAwLCAyNSwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCAxMDEsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKKyAgICAyNSwgMjUsIDI1LCAyNSwgNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjUsIDI1LCAyNSwgMjUsIDE4LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCAxOCwgMjUsIDI1LCAyNSwgMjUsIDI1LCAxOCwgMjUsIAotICAgIDE4LCAxOCwgMTgsIDE4LCAxOCwgMjUsIDE4LCAxOCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIAotICAgIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCAwLCAwLCAwLCAyNSwgMjUsIDE4LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCAxOCwgMjUsIDI1LCAyNSwgMjUsIDE4LCAxOCwgMjUsIDI1LCAxOCwgMjUsIDE4LCAxOCwgNTUsIDU1LCA3LCA4LCA5LCAKLSAgICAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNSwgCisgICAgMjUsIDI1LCAyNSwgMTgsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDE4LCAyNSwgCi0gICAgMjUsIDE4LCAxOCwgMTgsIDI1LCAxOCwgMjUsIDI1LCAyNSwgMTgsIDE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCAKLSAgICA1LCA1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAxOCwgMjUsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMjUsIDE4LCAxOCwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAyNSwgMjUsIDE4LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMTgsIAotICAgIDE4LCAyNSwgMjUsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAKLSAgICAwLCAwLCAwLCA1NSwgNTUsIDU1LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAxOCwgMjUsIDI1LCAyNSwgMjUsIDE4LCAxOCwgMjUsIDI1LCAxOCwgMjUsIAorICAgIDI1LCAyNSwgNTUsIDU1LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDk2LCA5NiwgOTYsIDk2LCA5NiwgOTYsIDUsIDUsIDAsIDAsIDAsIDAsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDI1LCAxOCwgMjUsIDI1LCAxOCwgMTgsIDE4LCAyNSwgMTgsIDI1LCAyNSwgMjUsIDE4LCAxOCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAyNSwgMjUsIDI1LCAKKyAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDE4LCAxOCwgMjUsIDI1LCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA3LCA4LCA5LCAxMCwgCisgICAgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAKKyAgICAxNSwgMTYsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDEwMSwgMTAxLCAxMDEsIAorICAgIDEwMSwgMTAxLCAxMDEsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDI1LCAyNSwgMjUsIDUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAxOCwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDE4LCAxOCwgMjUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNSwgMjUsIDI1LCA1LCAyNSwgMjUsIDI1LCAKKyAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMTgsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgMjUsIDU1LCA1NSwgNTUsIDU1LCAxOCwgMTgsIDI1LCA1NSwgNTUsIDAsIDI1LCAyNSwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCiAgICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCi0gICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCi0gICAgMjAsIDIwLCAyMCwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgCi0gICAgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgCi0gICAgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgCi0gICAgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCi0gICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDk1LCAxNDIsIDIwLCAyMCwgMjAsIDE0MywgMjAsIDIwLCAyMCwgMjAsIDIwLCAKLSAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKLSAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCAKLSAgICA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCAKLSAgICA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKKyAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIAorICAgIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAKKyAgICAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgCisgICAgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIAorICAgIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAKKyAgICAxMDAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAxMDAsIDE0OSwgMjAsIAorICAgIDIwLCAyMCwgMTUwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKKyAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDEwMCwgMTAwLCAxMDAsIAorICAgIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAKKyAgICAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgCisgICAgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKICAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKLSAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjUsIDI1LCAyNSwgMjUsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKLSAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKLSAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKLSAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKLSAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKLSAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKLSAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKLSAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKLSAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDE0NCwgCi0gICAgMTQ1LCAxNDYsIDE0NywgMTQ4LCAxNDksIDIwLCAyMCwgMTUwLCAyMCwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAKLSAgICAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAKLSAgICAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAKLSAgICAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAKLSAgICAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAKLSAgICAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMTUxLCAxNTEsIAotICAgIDE1MSwgMTUxLCAxNTEsIDE1MSwgMTUxLCAxNTEsIDE1MiwgMTUyLCAxNTIsIDE1MiwgMTUyLCAxNTIsIDE1MiwgMTUyLCAKLSAgICAxNTEsIDE1MSwgMTUxLCAxNTEsIDE1MSwgMTUxLCAwLCAwLCAxNTIsIDE1MiwgMTUyLCAxNTIsIDE1MiwgMTUyLCAwLCAwLCAKLSAgICAxNTEsIDE1MSwgMTUxLCAxNTEsIDE1MSwgMTUxLCAxNTEsIDE1MSwgMTUyLCAxNTIsIDE1MiwgMTUyLCAxNTIsIDE1MiwgCi0gICAgMTUyLCAxNTIsIDE1MSwgMTUxLCAxNTEsIDE1MSwgMTUxLCAxNTEsIDE1MSwgMTUxLCAxNTIsIDE1MiwgMTUyLCAxNTIsIAotICAgIDE1MiwgMTUyLCAxNTIsIDE1MiwgMTUxLCAxNTEsIDE1MSwgMTUxLCAxNTEsIDE1MSwgMCwgMCwgMTUyLCAxNTIsIDE1MiwgCi0gICAgMTUyLCAxNTIsIDE1MiwgMCwgMCwgMTUzLCAxNTEsIDE1NCwgMTUxLCAxNTUsIDE1MSwgMTU2LCAxNTEsIDAsIDE1MiwgMCwgCi0gICAgMTUyLCAwLCAxNTIsIDAsIDE1MiwgMTUxLCAxNTEsIDE1MSwgMTUxLCAxNTEsIDE1MSwgMTUxLCAxNTEsIDE1MiwgMTUyLCAKLSAgICAxNTIsIDE1MiwgMTUyLCAxNTIsIDE1MiwgMTUyLCAxNTcsIDE1NywgMTU4LCAxNTgsIDE1OCwgMTU4LCAxNTksIDE1OSwgCi0gICAgMTYwLCAxNjAsIDE2MSwgMTYxLCAxNjIsIDE2MiwgMCwgMCwgMTYzLCAxNjQsIDE2NSwgMTY2LCAxNjcsIDE2OCwgMTY5LCAKLSAgICAxNzAsIDE3MSwgMTcyLCAxNzMsIDE3NCwgMTc1LCAxNzYsIDE3NywgMTc4LCAxNzksIDE4MCwgMTgxLCAxODIsIDE4MywgCi0gICAgMTg0LCAxODUsIDE4NiwgMTg3LCAxODgsIDE4OSwgMTkwLCAxOTEsIDE5MiwgMTkzLCAxOTQsIDE5NSwgMTk2LCAxOTcsIAotICAgIDE5OCwgMTk5LCAyMDAsIDIwMSwgMjAyLCAyMDMsIDIwNCwgMjA1LCAyMDYsIDIwNywgMjA4LCAyMDksIDIxMCwgMTUxLCAKLSAgICAxNTEsIDIxMSwgMjEyLCAyMTMsIDAsIDIxNCwgMjE1LCAxNTIsIDE1MiwgMjE2LCAyMTYsIDIxNywgNiwgMjE4LCA2LCA2LCAKLSAgICA2LCAyMTksIDIyMCwgMjIxLCAwLCAyMjIsIDIyMywgMjI0LCAyMjQsIDIyNCwgMjI0LCAyMjUsIDYsIDYsIDYsIDE1MSwgCi0gICAgMTUxLCAyMjYsIDIyNywgMCwgMCwgMjI4LCAyMjksIDE1MiwgMTUyLCAyMzAsIDIzMCwgMCwgNiwgNiwgNiwgMTUxLCAxNTEsIAotICAgIDIzMSwgMjMyLCAyMzMsIDExOSwgMjM0LCAyMzUsIDE1MiwgMTUyLCAyMzYsIDIzNiwgMTIyLCA2LCA2LCA2LCAwLCAwLCAKLSAgICAyMzcsIDIzOCwgMjM5LCAwLCAyNDAsIDI0MSwgMjQyLCAyNDIsIDI0MywgMjQzLCAyNDQsIDYsIDYsIDAsIDIsIDIsIDIsIDIsIAotICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIxLCAyMSwgMjEsIDIxLCAyMSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNiwgNiwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNiwgNSwgNSwgNiwgMywgMywgMjEsIDIxLCAyMSwgMjEsIDIxLCAyLCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAxOCwgMTgsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDE4LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAyLCAyMSwgCi0gICAgMjEsIDIxLCAyMSwgMjEsIDAsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyNDUsIDk1LCAwLCAwLCAKLSAgICAyNDYsIDI0NywgMjQ4LCAyNDksIDI1MCwgMjUxLCA1LCA1LCA1LCA1LCA1LCA5NSwgMjQ1LCAyNiwgMjIsIDIzLCAyNDYsIAotICAgIDI0NywgMjQ4LCAyNDksIDI1MCwgMjUxLCA1LCA1LCA1LCA1LCA1LCAwLCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgCi0gICAgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAotICAgIDI1LCAyNSwgMjUsIDYsIDYsIDYsIDYsIDI1LCA2LCA2LCA2LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKLSAgICAyNSwgMjUsIDI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCAxMTMsIDUsIDUsIAotICAgIDUsIDUsIDExMywgNSwgNSwgMjAsIDExMywgMTEzLCAxMTMsIDIwLCAyMCwgMTEzLCAxMTMsIDExMywgMjAsIDUsIDExMywgNSwgCi0gICAgNSwgMjUyLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgNSwgNSwgNSwgNSwgNSwgNSwgMTEzLCA1LCAyNTMsIDUsIDExMywgCi0gICAgNSwgMjU0LCAyNTUsIDExMywgMTEzLCAyNTIsIDIwLCAxMTMsIDExMywgMjU2LCAxMTMsIDIwLCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgMjAsIDUsIDUsIDIwLCAyMCwgMTEzLCAxMTMsIDUsIDUsIDUsIDUsIDUsIDExMywgMjAsIDIwLCAyMCwgMjAsIDUsIDUsIDUsIAotICAgIDUsIDI1NywgNSwgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCi0gICAgMjcsIDI1OCwgMjU4LCAyNTgsIDI1OCwgMjU4LCAyNTgsIDI1OCwgMjU4LCAyNTgsIDI1OCwgMjU4LCAyNTgsIDI1OCwgMjU4LCAKLSAgICAyNTgsIDI1OCwgMjU5LCAyNTksIDI1OSwgMjU5LCAyNTksIDI1OSwgMjU5LCAyNTksIDI1OSwgMjU5LCAyNTksIDI1OSwgCi0gICAgMjU5LCAyNTksIDI1OSwgMjU5LCAxNDEsIDE0MSwgMTQxLCAzMCwgMzEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMjcsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI2LCAyMiwgMjMsIDI0NiwgMjQ3LCAyNDgsIDI0OSwgMjUwLCAKLSAgICAyNTEsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjYsIDIyLCAyMywgMjQ2LCAyNDcsIAotICAgIDI0OCwgMjQ5LCAyNTAsIDI1MSwgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNiwgMjIsIAotICAgIDIzLCAyNDYsIDI0NywgMjQ4LCAyNDksIDI1MCwgMjUxLCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCi0gICAgMjcsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDI2MCwgMjYwLCAyNjAsIDI2MCwgMjYwLCAyNjAsIDI2MCwgMjYwLCAyNjAsIDI2MCwgMjYwLCAyNjAsIDI2MCwgCi0gICAgMjYwLCAyNjAsIDI2MCwgMjYwLCAyNjAsIDI2MCwgMjYwLCAyNjAsIDI2MCwgMjYwLCAyNjAsIDI2MCwgMjYwLCAyNjEsIAotICAgIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAKLSAgICAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjQ1LCAyNywgMjcsIDI3LCAKLSAgICAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjYsIDIyLCAyMywgMjQ2LCAyNDcsIDI0OCwgMjQ5LCAyNTAsIDI1MSwgMjcsIAotICAgIDI0NSwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMjYsIAotICAgIDIyLCAyMywgMjQ2LCAyNDcsIDI0OCwgMjQ5LCAyNTAsIDI1MSwgMjcsIDI2LCAyMiwgMjMsIDI0NiwgMjQ3LCAyNDgsIDI0OSwgCi0gICAgMjUwLCAyNTEsIDI3LCAyNiwgMjIsIDIzLCAyNDYsIDI0NywgMjQ4LCAyNDksIDI1MCwgMjUxLCAyNywgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIAotICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKLSAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCi0gICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDAsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIAotICAgIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAKLSAgICAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgCi0gICAgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAwLCAzMCwgMzEsIDI2MiwgMjYzLCAKLSAgICAyNjQsIDI2NSwgMjY2LCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAyNjcsIDI2OCwgMjY5LCAyNzAsIDIwLCAzMCwgMzEsIAotICAgIDIwLCAzMCwgMzEsIDIwLCAyMCwgMjAsIDIwLCAyMCwgOTUsIDk1LCAyNzEsIDI3MSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgCi0gICAgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgCi0gICAgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgCi0gICAgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgCi0gICAgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgCi0gICAgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgCi0gICAgMzAsIDMxLCAzMCwgMzEsIDIwLCA1LCA1LCA1LCA1LCA1LCA1LCAzMCwgMzEsIDMwLCAzMSwgMjUsIDI1LCAyNSwgMzAsIDMxLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCAyNywgNSwgNSwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAKLSAgICAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgCi0gICAgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIAotICAgIDI3MiwgMjcyLCAyNzIsIDAsIDI3MiwgMCwgMCwgMCwgMCwgMCwgMjcyLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDk2LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDI1LCAyNSwgMjUsIDI1LCAKICAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKLSAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMjczLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAKKyAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMCwgMCwgMCwgMCwgMCwgMCwgMjUsIDI1LCAyNSwgMjUsIDMwLCAzMSwgMzAsIAorICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAorICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAorICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAorICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAorICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAorICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAorICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAorICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAorICAgIDMxLCAzMCwgMzEsIDE1MSwgMTUyLCAxNTMsIDE1NCwgMTU1LCAxNTYsIDIwLCAyMCwgMTU3LCAyMCwgMzAsIDMxLCAzMCwgCisgICAgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgCisgICAgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgCisgICAgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgCisgICAgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgCisgICAgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgCisgICAgMzEsIDMwLCAzMSwgMTU4LCAxNTgsIDE1OCwgMTU4LCAxNTgsIDE1OCwgMTU4LCAxNTgsIDE1OSwgMTU5LCAxNTksIDE1OSwgCisgICAgMTU5LCAxNTksIDE1OSwgMTU5LCAxNTgsIDE1OCwgMTU4LCAxNTgsIDE1OCwgMTU4LCAwLCAwLCAxNTksIDE1OSwgMTU5LCAKKyAgICAxNTksIDE1OSwgMTU5LCAwLCAwLCAxNTgsIDE1OCwgMTU4LCAxNTgsIDE1OCwgMTU4LCAxNTgsIDE1OCwgMTU5LCAxNTksIAorICAgIDE1OSwgMTU5LCAxNTksIDE1OSwgMTU5LCAxNTksIDE1OCwgMTU4LCAxNTgsIDE1OCwgMTU4LCAxNTgsIDE1OCwgMTU4LCAKKyAgICAxNTksIDE1OSwgMTU5LCAxNTksIDE1OSwgMTU5LCAxNTksIDE1OSwgMTU4LCAxNTgsIDE1OCwgMTU4LCAxNTgsIDE1OCwgMCwgCisgICAgMCwgMTU5LCAxNTksIDE1OSwgMTU5LCAxNTksIDE1OSwgMCwgMCwgMTYwLCAxNTgsIDE2MSwgMTU4LCAxNjIsIDE1OCwgMTYzLCAKKyAgICAxNTgsIDAsIDE1OSwgMCwgMTU5LCAwLCAxNTksIDAsIDE1OSwgMTU4LCAxNTgsIDE1OCwgMTU4LCAxNTgsIDE1OCwgMTU4LCAKKyAgICAxNTgsIDE1OSwgMTU5LCAxNTksIDE1OSwgMTU5LCAxNTksIDE1OSwgMTU5LCAxNjQsIDE2NCwgMTY1LCAxNjUsIDE2NSwgCisgICAgMTY1LCAxNjYsIDE2NiwgMTY3LCAxNjcsIDE2OCwgMTY4LCAxNjksIDE2OSwgMCwgMCwgMTcwLCAxNzEsIDE3MiwgMTczLCAKKyAgICAxNzQsIDE3NSwgMTc2LCAxNzcsIDE3OCwgMTc5LCAxODAsIDE4MSwgMTgyLCAxODMsIDE4NCwgMTg1LCAxODYsIDE4NywgCisgICAgMTg4LCAxODksIDE5MCwgMTkxLCAxOTIsIDE5MywgMTk0LCAxOTUsIDE5NiwgMTk3LCAxOTgsIDE5OSwgMjAwLCAyMDEsIAorICAgIDIwMiwgMjAzLCAyMDQsIDIwNSwgMjA2LCAyMDcsIDIwOCwgMjA5LCAyMTAsIDIxMSwgMjEyLCAyMTMsIDIxNCwgMjE1LCAKKyAgICAyMTYsIDIxNywgMTU4LCAxNTgsIDIxOCwgMjE5LCAyMjAsIDAsIDIyMSwgMjIyLCAxNTksIDE1OSwgMjIzLCAyMjMsIDIyNCwgCisgICAgNiwgMjI1LCA2LCA2LCA2LCAyMjYsIDIyNywgMjI4LCAwLCAyMjksIDIzMCwgMjMxLCAyMzEsIDIzMSwgMjMxLCAyMzIsIDYsIAorICAgIDYsIDYsIDE1OCwgMTU4LCAyMzMsIDIzNCwgMCwgMCwgMjM1LCAyMzYsIDE1OSwgMTU5LCAyMzcsIDIzNywgMCwgNiwgNiwgNiwgCisgICAgMTU4LCAxNTgsIDIzOCwgMjM5LCAyNDAsIDEyNSwgMjQxLCAyNDIsIDE1OSwgMTU5LCAyNDMsIDI0MywgMTI5LCA2LCA2LCA2LCAKKyAgICAwLCAwLCAyNDQsIDI0NSwgMjQ2LCAwLCAyNDcsIDI0OCwgMjQ5LCAyNDksIDI1MCwgMjUwLCAyNTEsIDYsIDYsIDAsIDIsIDIsIAorICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIxLCAyMSwgMjEsIDIxLCAyMSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNiwgCisgICAgNiwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNiwgNSwgNSwgNiwgMywgMywgMjEsIDIxLCAyMSwgMjEsIDIxLCAyLCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAxOCwgMTgsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDE4LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAyLCAKKyAgICAyMSwgMjEsIDIxLCAyMSwgMjEsIDAsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyNTIsIDEwMCwgCisgICAgMCwgMCwgMjUzLCAyNTQsIDI1NSwgMjU2LCAyNTcsIDI1OCwgNSwgNSwgNSwgNSwgNSwgMTAwLCAyNTIsIDI2LCAyMiwgMjMsIAorICAgIDI1MywgMjU0LCAyNTUsIDI1NiwgMjU3LCAyNTgsIDUsIDUsIDUsIDUsIDUsIDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAKKyAgICAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCisgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDYsIDYsIDYsIDYsIDI1LCA2LCA2LCA2LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA1LCA1LCAxMTksIDUsIDUsIDUsIDUsIDExOSwgNSwgNSwgMjAsIDExOSwgMTE5LCAxMTksIDIwLCAyMCwgMTE5LCAxMTksIAorICAgIDExOSwgMjAsIDUsIDExOSwgNSwgNSwgMjU5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgMTE5LCA1LCAyNjAsIDUsIDExOSwgNSwgMjYxLCAyNjIsIDExOSwgMTE5LCAyNTksIDIwLCAxMTksIDExOSwgMjYzLCAxMTksIAorICAgIDIwLCA1NSwgNTUsIDU1LCA1NSwgMjAsIDUsIDUsIDIwLCAyMCwgMTE5LCAxMTksIDUsIDUsIDUsIDUsIDUsIDExOSwgMjAsIAorICAgIDIwLCAyMCwgMjAsIDUsIDUsIDUsIDUsIDI2NCwgNSwgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAorICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgCisgICAgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY2LCAyNjYsIDI2NiwgMjY2LCAyNjYsIDI2NiwgMjY2LCAyNjYsIAorICAgIDI2NiwgMjY2LCAyNjYsIDI2NiwgMjY2LCAyNjYsIDI2NiwgMjY2LCAxNDgsIDE0OCwgMTQ4LCAzMCwgMzEsIDE0OCwgMTQ4LCAKKyAgICAxNDgsIDE0OCwgMjcsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAogICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAogICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAogICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAogICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAogICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDIsIDUsIDUsIDUsIDUsIDk2LCA1NSwgMTQxLCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAxNDEsIAotICAgIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAyNSwgMjUsIDI1LCAyNSwgMTgsIDE4LCA1LCA5NiwgCi0gICAgOTYsIDk2LCA5NiwgOTYsIDUsIDUsIDE0MSwgMTQxLCAxNDEsIDk2LCA1NSwgNSwgNSwgNSwgMCwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAyNSwgMjUsIDYsIDYsIDk2LCA5NiwgNTUsIAotICAgIDUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDUsIDk2LCA5NiwgOTYsIDU1LCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCAwLCA1LCA1LCAyNywgMjcsIDI3LCAyNywgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCiAgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDI3LCAyNywgMjcsIDI3LCAyNywgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjYsIDIyLCAyMywgMjUzLCAKKyAgICAyNTQsIDI1NSwgMjU2LCAyNTcsIDI1OCwgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNiwgCisgICAgMjIsIDIzLCAyNTMsIDI1NCwgMjU1LCAyNTYsIDI1NywgMjU4LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKKyAgICAyNywgMjcsIDI2LCAyMiwgMjMsIDI1MywgMjU0LCAyNTUsIDI1NiwgMjU3LCAyNTgsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAogICAgIDI3LCAyNywgMjcsIDI3LCAyNywgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCA1LCAKLSAgICAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCi0gICAgMjcsIDI3LCAyNywgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAKKyAgICAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgCisgICAgMjY3LCAyNjcsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAorICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKKyAgICAyNTIsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNiwgMjIsIDIzLCAyNTMsIDI1NCwgMjU1LCAKKyAgICAyNTYsIDI1NywgMjU4LCAyNywgMjUyLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKICAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKICAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAyNzQsIDU1LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCAyNzQsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgMjc0LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgMjc0LCA1NSwgMjc0LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDI3NCwgMjc0LCAyNzQsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDI3NCwgMjc0LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA5NiwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKICAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgOTYsIDk2LCA5NiwgOTYsIDk2LCA5NiwgNSwgNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgOTYsIDUsIDUsIDUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgNTUsIDU1LCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMCwgMzEsIDMwLCAzMSwgCi0gICAgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgCi0gICAgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgCi0gICAgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgNTUsIDI1LCA2LCA2LCA2LCA1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgNSwgOTYsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKLSAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI1LCA1NSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgMjYsIDIyLCAyMywgMjUzLCAyNTQsIDI1NSwgMjU2LCAyNTcsIDI1OCwgMjcsIDI2LCAyMiwgCisgICAgMjMsIDI1MywgMjU0LCAyNTUsIDI1NiwgMjU3LCAyNTgsIDI3LCAyNiwgMjIsIDIzLCAyNTMsIDI1NCwgMjU1LCAyNTYsIAorICAgIDI1NywgMjU4LCAyNywgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAKKyAgICAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgCisgICAgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIAorICAgIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDAsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAKKyAgICAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgCisgICAgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIAorICAgIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAwLCAKKyAgICAzMCwgMzEsIDI2OSwgMjcwLCAyNzEsIDI3MiwgMjczLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAyNzQsIDI3NSwgMjc2LCAKKyAgICAyNzcsIDIwLCAzMCwgMzEsIDIwLCAzMCwgMzEsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMTAwLCAxMDAsIDI3OCwgMjc4LCAzMCwgCisgICAgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgCisgICAgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgCisgICAgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgCisgICAgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgCisgICAgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgCisgICAgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMjAsIDUsIDUsIDUsIDUsIDUsIDUsIDMwLCAzMSwgMzAsIDMxLCAKKyAgICAyNSwgMjUsIDI1LCAzMCwgMzEsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDI3LCA1LCA1LCAyNzksIDI3OSwgMjc5LCAKKyAgICAyNzksIDI3OSwgMjc5LCAyNzksIDI3OSwgMjc5LCAyNzksIDI3OSwgMjc5LCAyNzksIDI3OSwgMjc5LCAyNzksIDI3OSwgCisgICAgMjc5LCAyNzksIDI3OSwgMjc5LCAyNzksIDI3OSwgMjc5LCAyNzksIDI3OSwgMjc5LCAyNzksIDI3OSwgMjc5LCAyNzksIAorICAgIDI3OSwgMjc5LCAyNzksIDI3OSwgMjc5LCAyNzksIDI3OSwgMCwgMjc5LCAwLCAwLCAwLCAwLCAwLCAyNzksIDAsIDAsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAxNDEsIDE0MSwgCi0gICAgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDI1LCAyNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgCi0gICAgNiwgNiwgNiwgNiwgNiwgOTYsIDk2LCA5NiwgOTYsIDk2LCA5NiwgOTYsIDk2LCA5NiwgNiwgNiwgMzAsIDMxLCAzMCwgMzEsIAotICAgIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAyMCwgMjAsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIAotICAgIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIAotICAgIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIAotICAgIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIAotICAgIDMwLCAzMSwgOTUsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMzAsIDMxLCAzMCwgMzEsIDI3NSwgMzAsIDMxLCAKLSAgICAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDk2LCA2LCA2LCAzMCwgMzEsIDI3NiwgMjAsIDAsIDMwLCAzMSwgMzAsIAotICAgIDMxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIAotICAgIDMwLCAzMSwgMjc3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTAxLCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAyNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDAsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMjgwLCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5NSwgOTUsIDIwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIAotICAgIDU1LCA1NSwgNTUsIDI1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMTgsIDE4LCAyNSwgMjUsIAotICAgIDE4LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMiwgNSwgCisgICAgNSwgNSwgNSwgMTAxLCA1NSwgMTQ4LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAyNSwgCisgICAgMjUsIDI1LCAyNSwgMTgsIDE4LCA1LCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgNSwgNSwgMTQ4LCAxNDgsIDE0OCwgMTAxLCAKKyAgICA1NSwgNSwgNSwgNSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOCwgMTgsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAKLSAgICAxOCwgMTgsIDE4LCAxOCwgMTgsIDI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA3LCA4LCA5LCAxMCwgMTEsIAotICAgIDEyLCAxMywgMTQsIDE1LCAxNiwgMCwgMCwgMCwgMCwgMCwgMCwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNSwgNSwgNSwgNTUsIAotICAgIDAsIDAsIDAsIDAsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCA1LCA1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMTgsIDE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCA1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDI1LCAKLSAgICAyNSwgMjUsIDE4LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCAxOCwgMTgsIDI1LCAKLSAgICAyNSwgMjUsIDI1LCAxOCwgMTgsIDI1LCAxOCwgMTgsIDE4LCAxOCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgMCwgOTYsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAwLCAwLCAwLCAwLCA1LCA1LCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDE4LCAxOCwgMjUsIAotICAgIDI1LCAxOCwgMTgsIDI1LCAyNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgMjUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDE4LCAwLCAwLCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAKLSAgICAxNiwgMCwgMCwgNSwgNSwgNSwgNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDk2LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1LCA1LCA1LCA1NSwgMTgsIDAsIDAsIDAsIDAsIDU1LCAKKyAgICAwLCAwLCAyNSwgMjUsIDYsIDYsIDEwMSwgMTAxLCA1NSwgNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgNTUsIDI1LCAyNSwgMjUsIDU1LCA1NSwgCi0gICAgMjUsIDI1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCAyNSwgNTUsIDI1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA5NiwgNSwgNSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAxOCwgMjUsIDI1LCAxOCwgMTgsIDUsIDUsIDU1LCA5NiwgOTYsIAotICAgIDE4LCAyNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDE4LCAxOCwgMjUsIAotICAgIDE4LCAxOCwgMjUsIDE4LCAxOCwgNSwgMTgsIDI1LCAwLCAwLCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1LCAxMDEsIDEwMSwgMTAxLCA1NSwgMCwgMCwgMCwgMCwgMCwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNSwgNSwgMjcsIDI3LCAyNywgMjcsIDUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIAotICAgIDAsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIAotICAgIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIAotICAgIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIAotICAgIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIAotICAgIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIAotICAgIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDI3NCwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMjc4LCAyNzksIDI4MCwgMjgxLCAyODIsIDI4MywgMjg0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAyODUsIDI4NiwgMjg3LCAyODgsIDI4OSwgMCwgMCwgMCwgMCwgMCwgNTUsIDI1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDAsIDU1LCA1NSwgMCwgNTUsIDU1LCAwLCAKKyAgICAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDUsIDUsIDUsIDUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAorICAgIDUsIDUsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgNSwgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKKyAgICAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMjcsIDI3LCAyNywgMjcsIDI3LCAKKyAgICAyNywgMjcsIDI3LCAyNywgMjcsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDI3LCAyNywgCisgICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjgxLCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDYsIDYsIDYsIDYsIDYsIDYsIDYsIDYsIDYsIDYsIDYsIDYsIDYsIDYsIDYsIDYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjgxLCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIApAQCAtMjQwNiw0MjUgKzIyMDQsODk1IEBACiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCAyOTAsIDI5MCwgMjkwLCAyOTAsIDI5MCwgMjkwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI4MSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDI4MSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgMjkwLCAyOTAsIDUsIDUsIDAsIDAsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAotICAgIDI1LCAyNSwgMjUsIDI1LCA1LCA1LCA1LCA2LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAyNSwgMjUsIAotICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgMTgsIDE4LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAxOCwgMTgsIAotICAgIDE4LCA1LCA1LCA2LCAwLCA1LCA2LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICAwLCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAyOTAsIDU1LCAyOTAsIDU1LCAyOTAsIDAsIDI5MCwgNTUsIDI5MCwgNTUsIAotICAgIDI5MCwgNTUsIDI5MCwgNTUsIDI5MCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMjgxLCAKKyAgICA1NSwgNTUsIDI4MSwgNTUsIDU1LCA1NSwgMjgxLCA1NSwgMjgxLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDI4MSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI4MSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDI4MSwgNTUsIDI4MSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI4MSwgMjgxLCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjgxLCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyODEsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjgxLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjgxLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDI4MSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDI4MSwgNTUsIDI4MSwgNTUsIDI4MSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCAyODEsIDU1LCAyODEsIDI4MSwgMjgxLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyODEsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDIxLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA2LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA2LCA1LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgNiwgNSwgNSwgNSwgNSwgNSwgNSwgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCA1LCA1LCA1LCA2LCAxOCwgNiwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgCi0gICAgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgCi0gICAgMTksIDE5LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgOTYsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI5MSwgMjkxLCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgCi0gICAgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgNTUsIDU1LCAKLSAgICA1NSwgMCwgMCwgMCwgNSwgNSwgNSwgNiwgNSwgNSwgNSwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMjEsIDIxLCAyMSwgNSwgNSwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCAwLCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCAyODEsIDI4MSwgMjgxLCAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI4MSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjgxLCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDI4MSwgMjgxLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICAyODEsIDI4MSwgMjgxLCA1NSwgMjgxLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjgxLCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjgxLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgMjgxLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI4MSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjgxLCA1NSwgNTUsIDU1LCA1NSwgCisgICAgMjgxLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjgxLCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgMjgxLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjgxLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgMjgxLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDI4MSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAKLSAgICAwLCAwLCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAotICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAotICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAwLCAwLCAwLCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAKLSAgICAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgCi0gICAgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIAotICAgIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAKLSAgICAxNDEsIDE0MSwgMjcsIDI3LCAyNywgMjcsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDI3LCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAyNSwgMCwgMCwgNTUsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCAxMDEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDEwMSwgMTAxLCAKKyAgICAxMDEsIDEwMSwgMTAxLCAxMDEsIDUsIDUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDEwMSwgNSwgNSwgNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAorICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAorICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAorICAgIDMxLCA1NSwgMjUsIDYsIDYsIDYsIDUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCA1LCAxMDEsIAorICAgIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIAorICAgIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAxMDAsIDEwMCwgMCwgMjUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgCisgICAgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDI1LCAyNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgCisgICAgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgNiwgNiwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKKyAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAyMCwgMjAsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKKyAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKKyAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKKyAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKKyAgICAzMSwgMTAwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDMwLCAzMSwgMzAsIDMxLCAyODIsIDMwLCAzMSwgMzAsIAorICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAxMDEsIDYsIDYsIDMwLCAzMSwgMjgzLCAyMCwgMCwgMzAsIDMxLCAzMCwgCisgICAgMzEsIDIwLCAyMCwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgCisgICAgMzEsIDMwLCAzMSwgMzAsIDMxLCAyODQsIDI4NSwgMjg2LCAyODcsIDAsIDAsIDI4OCwgMjg5LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgMTAwLCAxMDAsIDIwLCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDU1LCA1NSwgNTUsIDI1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgMTgsIDE4LCAyNSwgMjUsIDE4LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAyNywgMjcsIDI3LCAyNywgMjcsIAorICAgIDI3LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTgsIDE4LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDE4LCAxOCwgMTgsIDE4LCAxOCwgCisgICAgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAyNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgNSwgNSwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDAsIDAsIDAsIDAsIDAsIDAsIDI1LCAyNSwgCisgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDUsIDUsIDUsIDU1LCAwLCAwLCAwLCAwLCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAKKyAgICAxNiwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKKyAgICAyNSwgNSwgNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDE4LCAxOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAyNSwgMjUsIDI1LCAxOCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCAyNSwgMTgsIDE4LCAyNSwgMjUsIDI1LCAyNSwgMTgsIDE4LCAyNSwgMTgsIDE4LCAxOCwgMTgsIDUsIDUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDEwMSwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgCisgICAgMTYsIDAsIDAsIDAsIDAsIDUsIDUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDEwMSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAxOCwgMTgsIDI1LCAyNSwgMTgsIDE4LCAKKyAgICAyNSwgMjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDI1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDI1LCAxOCwgMCwgMCwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDAsIDAsIDUsIAorICAgIDUsIDUsIDUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICAxMDEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDUsIDUsIDUsIDU1LCAxOCwgMjUsIDE4LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCA1NSwgMjUsIDI1LCAyNSwgNTUsIDU1LCAyNSwgMjUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDI1LCA1NSwgMjUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDEwMSwgNSwgNSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAxOCwgMjUsIDI1LCAxOCwgMTgsIDUsIDUsIDU1LCAxMDEsIDEwMSwgMTgsIAorICAgIDI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDIwLCAyMCwgMjAsIAorICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAorICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAorICAgIDIwLCAyMCwgMjAsIDIwLCA2LCAxMDAsIDEwMCwgMTAwLCAxMDAsIDAsIDAsIDAsIDAsIDIwLCAyMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAxOCwgMTgsIDI1LCAxOCwgMTgsIDI1LCAxOCwgMTgsIDUsIAorICAgIDE4LCAyNSwgMCwgMCwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIAorICAgIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIAorICAgIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIAorICAgIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIAorICAgIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIAorICAgIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIAorICAgIDEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgMjgxLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjgxLCA1NSwgNTUsIDU1LCA1NSwgMjgxLCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI4MSwgNTUsIDI4MSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjkwLCAKKyAgICAyOTEsIDI5MiwgMjkzLCAyOTQsIDI5NSwgMjk2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyOTcsIAorICAgIDI5OCwgMjk5LCAzMDAsIDMwMSwgMCwgMCwgMCwgMCwgMCwgNTUsIDI1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDAsIDU1LCA1NSwgMCwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCAKKyAgICA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMzAyLCAzMDIsIDMwMiwgCisgICAgMzAyLCAzMDIsIDMwMiwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAzMDIsIDMwMiwgNSwgNSwgMCwgCisgICAgMCwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDUsIDUsIAorICAgIDUsIDYsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCisgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMCwgMCwgNSwgNSwgNSwgMTgsIDE4LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAxOCwgMTgsIDE4LCA1LCA1LCA2LCAwLCA1LCAKKyAgICA2LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCA1LCA1LCA1LCA1LCAwLCAKKyAgICAwLCAwLCAwLCAzMDIsIDU1LCAzMDIsIDU1LCAzMDIsIDAsIDMwMiwgNTUsIDMwMiwgNTUsIDMwMiwgNTUsIDMwMiwgNTUsIAorICAgIDMwMiwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgMCwgMCwgMjEsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDYsIDUsIDUsIDUsIDUsIDUsIDUsIDYsIDUsIDcsIDgsIDksIAorICAgIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCA2LCA1LCA1LCA1LCA1LCA1LCA1LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKKyAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKKyAgICAxNywgMTcsIDUsIDUsIDUsIDYsIDE4LCA2LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIAorICAgIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDUsIDUsIDUsIDUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAxMDEsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDMwMywgMzAzLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgNSwgNSwgNSwgCisgICAgNiwgNSwgNSwgNSwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjEsIDIxLCAKKyAgICAyMSwgNSwgNSwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDAsIDAsIDAsIAorICAgIDAsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCisgICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCisgICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAorICAgIDUsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAKKyAgICAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgCisgICAgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIAorICAgIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAyNywgMjcsIDI3LCAyNywgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMjcsIDI3LCA1LCAwLCAwLCAwLCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAyNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjUsIAorICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAorICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjcsIDI3LCAyNywgMjcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgMTQ4LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDE0OCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDAsIDUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNSwgMTQ4LCAxNDgsIAorICAgIDE0OCwgMTQ4LCAxNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMwNCwgCisgICAgMzA0LCAzMDQsIDMwNCwgMzA0LCAzMDQsIDMwNCwgMzA0LCAzMDQsIDMwNCwgMzA0LCAzMDQsIDMwNCwgMzA0LCAzMDQsIAorICAgIDMwNCwgMzA0LCAzMDQsIDMwNCwgMzA0LCAzMDQsIDMwNCwgMzA0LCAzMDQsIDMwNCwgMzA0LCAzMDQsIDMwNCwgMzA0LCAKKyAgICAzMDQsIDMwNCwgMzA0LCAzMDQsIDMwNCwgMzA0LCAzMDQsIDMwNCwgMzA0LCAzMDQsIDMwNCwgMzA1LCAzMDUsIDMwNSwgCisgICAgMzA1LCAzMDUsIDMwNSwgMzA1LCAzMDUsIDMwNSwgMzA1LCAzMDUsIDMwNSwgMzA1LCAzMDUsIDMwNSwgMzA1LCAzMDUsIAorICAgIDMwNSwgMzA1LCAzMDUsIDMwNSwgMzA1LCAzMDUsIDMwNSwgMzA1LCAzMDUsIDMwNSwgMzA1LCAzMDUsIDMwNSwgMzA1LCAKKyAgICAzMDUsIDMwNSwgMzA1LCAzMDUsIDMwNSwgMzA1LCAzMDUsIDMwNSwgMzA1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAKKyAgICA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgMCwgNTUsIDU1LCAwLCAwLCAwLCA1NSwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1LCAyNywgMjcsIDI3LCAyNywgCisgICAgMjcsIDI3LCAyNywgMjcsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNSwgNSwgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMCwgMCwgMCwgNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICAwLCAwLCAwLCAwLCAwLCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNTUsIDI1LCAyNSwgMjUsIDAsIDI1LCAyNSwgMCwgMCwgMCwgMCwgMCwgMjUsIDI1LCAyNSwgMjUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICAwLCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAyNSwgMjUsIAorICAgIDI1LCAwLCAwLCAwLCAwLCAyNSwgMjYsIDIyLCAyMywgMjUzLCAyNywgMjcsIDI3LCAyNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNywgMjcsIDUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgMjcsIDI3LCAyNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDI1LCAwLCAwLCAwLCAwLCAyNywgMjcsIAorICAgIDI3LCAyNywgMjcsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIAorICAgIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjYsIDIyLCAyMywgMjUzLCAyNTQsIAorICAgIDI1NSwgMjU2LCAyNTcsIDI1OCwgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAorICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDAsIDE4LCAyNSwgMTgsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDAsIDI3LCAyNywgMjcsIDI3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDE0MSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCAxNDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDI2LCAKKyAgICAyMiwgMjMsIDI1MywgMjU0LCAyNTUsIDI1NiwgMjU3LCAyNTgsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAorICAgIDI3LCAyNywgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDI1LCAyNSwgMjUsIDE4LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAxOCwgCisgICAgMTgsIDE4LCAyNSwgMjUsIDI1LCAyNSwgMTgsIDE4LCAyNSwgMjUsIDUsIDUsIDIxLCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDAsIDAsIDAsIDAsIDAsIDAsIDI1LCAyNSwgMjUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCAKKyAgICAyNSwgMjUsIDI1LCAyNSwgMTgsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMCwgNywgOCwgOSwgMTAsIDExLCAKKyAgICAxMiwgMTMsIDE0LCAxNSwgMTYsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDUsIDUsIAorICAgIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNSwgMjUsIDE4LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCAxOCwgMTgsIDE4LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAxOCwgCisgICAgMTgsIDU1LCA1NSwgNTUsIDU1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCA1LCAwLCAwLCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAKKyAgICAxMywgMTQsIDE1LCAxNiwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAorICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDE4LCAxOCwgMTgsIDI1LCAyNSwgMjUsIDE4LCAxOCwgMjUsIAorICAgIDE4LCAyNSwgMjUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDE4LCAxOCwgMTgsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMCwgMCwgMCwgMCwgMCwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIAorICAgIDE0LCAxNSwgMTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI1LCAxOCwgMTgsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgMCwgMCwgNTUsIDU1LCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDAsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAyNSwgNTUsIDE4LCAxOCwgMjUsIDE4LCAxOCwgCisgICAgMTgsIDE4LCAwLCAwLCAxOCwgMTgsIDAsIDAsIDE4LCAxOCwgMTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE4LCAwLCAKKyAgICAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDE4LCAxOCwgMCwgMCwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDAsIDAsIDAsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMTgsIDE4LCAxOCwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCisgICAgMTgsIDI1LCAxOCwgMTgsIDE4LCAxOCwgMjUsIDI1LCAxOCwgMjUsIDI1LCA1NSwgNTUsIDUsIDU1LCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAxOCwgMTgsIDE4LCAKKyAgICAyNSwgMjUsIDI1LCAyNSwgMCwgMCwgMTgsIDE4LCAxOCwgMTgsIDI1LCAyNSwgMTgsIDI1LCAyNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgMTgsIDE4LCAxOCwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAxOCwgMTgsIDI1LCAxOCwgMjUsIDI1LCAKKyAgICA1LCA1LCA1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIAorICAgIDE0LCAxNSwgMTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCAyNSwgMTgsIDI1LCAxOCwgMTgsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDE4LCAyNSwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCisgICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCisgICAgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgCisgICAgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCA3LCA4LCA5LCAxMCwgMTEsIAorICAgIDEyLCAxMywgMTQsIDE1LCAxNiwgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgCisgICAgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIAorICAgIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAKKyAgICAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgCisgICAgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIAorICAgIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAKKyAgICAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgCisgICAgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAwLCA1LCA1LCAKKyAgICA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDAsIDUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNSwgMTQxLCAKLSAgICAxNDEsIDE0MSwgMTQxLCAxNDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDI5MiwgMjkyLCAyOTIsIDI5MiwgMjkyLCAyOTIsIDI5MiwgMjkyLCAyOTIsIDI5MiwgMjkyLCAyOTIsIDI5MiwgMjkyLCAKLSAgICAyOTIsIDI5MiwgMjkyLCAyOTIsIDI5MiwgMjkyLCAyOTIsIDI5MiwgMjkyLCAyOTIsIDI5MiwgMjkyLCAyOTIsIDI5MiwgCi0gICAgMjkyLCAyOTIsIDI5MiwgMjkyLCAyOTIsIDI5MiwgMjkyLCAyOTIsIDI5MiwgMjkyLCAyOTIsIDI5MiwgMjkzLCAyOTMsIAotICAgIDI5MywgMjkzLCAyOTMsIDI5MywgMjkzLCAyOTMsIDI5MywgMjkzLCAyOTMsIDI5MywgMjkzLCAyOTMsIDI5MywgMjkzLCAKLSAgICAyOTMsIDI5MywgMjkzLCAyOTMsIDI5MywgMjkzLCAyOTMsIDI5MywgMjkzLCAyOTMsIDI5MywgMjkzLCAyOTMsIDI5MywgCi0gICAgMjkzLCAyOTMsIDI5MywgMjkzLCAyOTMsIDI5MywgMjkzLCAyOTMsIDI5MywgMjkzLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgMCwgMCwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA3LCA4LCA5LCAxMCwgMTEsIAorICAgIDEyLCAxMywgMTQsIDE1LCAxNiwgMCwgMCwgMCwgMCwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDAsIDAsIDI1LCAyNSwgMjUsIDI1LCAyNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCAwLCA1NSwgNTUsIDAsIDAsIDAsIDU1LCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDUsIDI3LCAyNywgMjcsIAotICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3LCAyNywgMjcsIDI3LCAKLSAgICAyNywgMjcsIDAsIDAsIDAsIDUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgNSwgMCwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCisgICAgMjUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDEwMSwgMTAxLCAxMDEsIDEwMSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDAsIDI3LCAyNywgMjcsIDI3LCAKKyAgICAyNywgMjcsIDI3LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgCi0gICAgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCAyNSwgMjUsIDI1LCAwLCAyNSwgCi0gICAgMjUsIDAsIDAsIDAsIDAsIDAsIDI1LCAyNSwgMjUsIDI1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgMCwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMjUsIDI1LCAyNSwgMCwgMCwgMCwgMCwgMjUsIAotICAgIDI2LCAyMiwgMjMsIDI0NiwgMjcsIDI3LCAyNywgMjcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgMjcsIDI3LCA1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMjcsIDI3LCAKLSAgICAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAotICAgIDI3LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAKKyAgICAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAKKyAgICAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAKKyAgICAxOCwgMTgsIDE4LCAxOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjUsIDI1LCAKKyAgICAyNSwgMjUsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNiwgMjIsIDIzLCAyNDYsIDI0NywgMjQ4LCAyNDksIDI1MCwgMjUxLCAyNywgCi0gICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCi0gICAgMjcsIDI3LCAyNywgMCwgMTgsIDI1LCAxOCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKLSAgICAyNSwgMjUsIDI1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAyNiwgMjIsIDIzLCAyNDYsIDI0NywgMjQ4LCAKLSAgICAyNDksIDI1MCwgMjUxLCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDcsIDgsIDksIDEwLCAKLSAgICAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAyNSwgMjUsIDE4LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAxOCwgMTgsIDE4LCAyNSwgMjUsIDI1LCAKLSAgICAyNSwgMTgsIDE4LCAyNSwgMjUsIDUsIDUsIDIxLCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgOCwgOSwgMTAsIAotICAgIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDAsIDAsIDAsIDAsIDAsIDAsIDI1LCAyNSwgMjUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCi0gICAgMTgsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMCwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgCi0gICAgMTYsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI1LCAyNSwgMTgsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDE4LCAxOCwgMTgsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgMjUsIDE4LCAxOCwgNTUsIDU1LCA1NSwgNTUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDE4LCAyNSwgMTgsIDE4LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAotICAgIDI1LCAxOCwgMjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIAotICAgIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAKLSAgICAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgCi0gICAgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIAotICAgIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAKLSAgICAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgCi0gICAgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIAotICAgIDE0MSwgMTQxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCAxOCwgMTgsIDE4LCAxOCwgMTgsIAotICAgIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIAotICAgIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIAotICAgIDE4LCAxOCwgMTgsIDE4LCAxOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjUsIAotICAgIDI1LCAyNSwgMjUsIDk2LCA5NiwgOTYsIDk2LCA5NiwgOTYsIDk2LCA5NiwgOTYsIDk2LCA5NiwgOTYsIDk2LCAwLCAwLCAwLCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgNSwgMjUsIDI1LCA1LCAyMSwgCisgICAgMjEsIDIxLCAyMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKICAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKICAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKICAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKICAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAxOCwgMTgsIDI1LCAyNSwgMjUsIAotICAgIDUsIDUsIDUsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjUsIDI1LCAKLSAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCA1LCA1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgMjUsIDI1LCAyNSwgMjUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDI1LCAyNSwgMjUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCi0gICAgMjcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAKLSAgICAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgCi0gICAgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKLSAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDExMywgCi0gICAgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIAotICAgIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAyMCwgMjAsIDIwLCAyMCwgCi0gICAgMjAsIDIwLCAyMCwgMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKLSAgICAyMCwgMjAsIDIwLCAyMCwgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIAotICAgIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAKLSAgICAxMTMsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCi0gICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMTEzLCAwLCAxMTMsIDExMywgMCwgMCwgMTEzLCAwLCAwLCAKLSAgICAxMTMsIDExMywgMCwgMCwgMTEzLCAxMTMsIDExMywgMTEzLCAwLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIAotICAgIDExMywgMjAsIDIwLCAyMCwgMjAsIDAsIDIwLCAwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMCwgMjAsIDIwLCAyMCwgCi0gICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgCi0gICAgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIAotICAgIDExMywgMTEzLCAxMTMsIDExMywgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAotICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAxMTMsIDExMywgMCwgMTEzLCAKLSAgICAxMTMsIDExMywgMTEzLCAwLCAwLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMCwgMTEzLCAxMTMsIAotICAgIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAotICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDExMywgMTEzLCAwLCAKLSAgICAxMTMsIDExMywgMTEzLCAxMTMsIDAsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAwLCAxMTMsIDAsIDAsIDAsIDExMywgCi0gICAgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAotICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAxMTMsIDExMywgCi0gICAgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIAotICAgIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCi0gICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCi0gICAgMjAsIDIwLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIAotICAgIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMjAsIDIwLCAKLSAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKLSAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIAotICAgIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAKLSAgICAxMTMsIDExMywgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAotICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAKLSAgICAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgCi0gICAgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKLSAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAxMTMsIDExMywgCi0gICAgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIAotICAgIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCi0gICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCi0gICAgMjAsIDIwLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIAotICAgIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMjAsIDIwLCAKLSAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKLSAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDAsIDAsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgCi0gICAgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIAotICAgIDExMywgMTEzLCAxMTMsIDExMywgNSwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCi0gICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDUsIDIwLCAyMCwgMjAsIDIwLCAKLSAgICAyMCwgMjAsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgCi0gICAgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgNSwgMjAsIDIwLCAKLSAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKLSAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDUsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAKLSAgICAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgCi0gICAgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgNSwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAotICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDUsIDIwLCAyMCwgCi0gICAgMjAsIDIwLCAyMCwgMjAsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAKLSAgICAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgNSwgCi0gICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCi0gICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDUsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDExMywgMTEzLCAxMTMsIAotICAgIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAKLSAgICAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgNSwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAotICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAotICAgIDUsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDExMywgMjAsIDAsIDAsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgCi0gICAgMTUsIDE2LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAKLSAgICAxNSwgMTYsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIAotICAgIDE1LCAxNiwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCAKLSAgICA1NSwgMCwgNTUsIDAsIDAsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDAsIDU1LCAwLCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDAsIDAsIDAsIDAsIDU1LCAwLCA1NSwgMCwgCi0gICAgNTUsIDAsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgMCwgNTUsIDAsIDAsIDU1LCAwLCA1NSwgMCwgNTUsIDAsIDU1LCAwLCAKLSAgICA1NSwgMCwgNTUsIDU1LCAwLCA1NSwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCiAgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjQ1LCAyNDUsIDI2LCAyMiwgMjMsIDI0NiwgMjQ3LCAyNDgsIDI0OSwgCi0gICAgMjUwLCAyNTEsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDUsIDUsIAotICAgIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAogICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIAotICAgIDUsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAorICAgIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDE4LCAxOCwgMjUsIDI1LCAyNSwgNSwgNSwgNSwgMTgsIAorICAgIDE4LCAxOCwgMTgsIDE4LCAxOCwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDUsIDUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgMjUsIDI1LCAyNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjcsIDI3LCAKKyAgICAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIAorICAgIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAKKyAgICAxMTksIDExOSwgMTE5LCAxMTksIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKKyAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMTE5LCAxMTksIDExOSwgMTE5LCAKKyAgICAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgCisgICAgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAwLCAKKyAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKKyAgICAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgCisgICAgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMjAsIDIwLCAyMCwgCisgICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCisgICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAxMTksIDAsIDExOSwgMTE5LCAwLCAwLCAxMTksIDAsIDAsIDExOSwgMTE5LCAwLCAwLCAKKyAgICAxMTksIDExOSwgMTE5LCAxMTksIDAsIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAyMCwgMjAsIAorICAgIDIwLCAyMCwgMCwgMjAsIDAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKKyAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgCisgICAgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIAorICAgIDExOSwgMTE5LCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCisgICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDExOSwgMTE5LCAwLCAxMTksIDExOSwgMTE5LCAxMTksIAorICAgIDAsIDAsIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAwLCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgCisgICAgMTE5LCAxMTksIDAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAorICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMTE5LCAxMTksIDAsIDExOSwgMTE5LCAxMTksIAorICAgIDExOSwgMCwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDAsIDExOSwgMCwgMCwgMCwgMTE5LCAxMTksIDExOSwgMTE5LCAKKyAgICAxMTksIDExOSwgMTE5LCAwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAorICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAKKyAgICAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgCisgICAgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKKyAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDExOSwgCisgICAgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIAorICAgIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAyMCwgMjAsIDIwLCAyMCwgCisgICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCisgICAgMjAsIDIwLCAyMCwgMjAsIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAKKyAgICAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgCisgICAgMTE5LCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAorICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgCisgICAgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIAorICAgIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKKyAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDExOSwgMTE5LCAxMTksIAorICAgIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAKKyAgICAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCisgICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCisgICAgMjAsIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAKKyAgICAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAyMCwgMjAsIDIwLCAKKyAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKKyAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMCwgMCwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIAorICAgIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAKKyAgICAxMTksIDExOSwgMTE5LCA1LCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAorICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgNSwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCisgICAgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIAorICAgIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCA1LCAyMCwgMjAsIDIwLCAyMCwgCisgICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCisgICAgMjAsIDIwLCAyMCwgNSwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAKKyAgICAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgCisgICAgMTE5LCAxMTksIDExOSwgMTE5LCA1LCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKKyAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgNSwgMjAsIDIwLCAyMCwgMjAsIAorICAgIDIwLCAyMCwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAKKyAgICAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCA1LCAyMCwgMjAsIAorICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAorICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgNSwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIAorICAgIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAKKyAgICAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCA1LCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCisgICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgNSwgMjAsIDIwLCAKKyAgICAyMCwgMjAsIDIwLCAyMCwgMTE5LCAyMCwgMCwgMCwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDcsIDgsIAorICAgIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgNywgOCwgCisgICAgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAyNywgMjcsIDI3LCAKKyAgICAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgMCwgNTUsIDAsIDAsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCAwLCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDAsIDAsIAorICAgIDAsIDAsIDU1LCAwLCA1NSwgMCwgNTUsIDAsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgMCwgNTUsIDAsIDAsIDU1LCAwLCA1NSwgCisgICAgMCwgNTUsIDAsIDU1LCAwLCA1NSwgMCwgNTUsIDU1LCAwLCA1NSwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCAwLCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgCiAgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCiAgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCiAgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCiAgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCiAgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjUyLCAyNTIsIDI2LCAyMiwgMjMsIAorICAgIDI1MywgMjU0LCAyNTUsIDI1NiwgMjU3LCAyNTgsIDI3LCAyNywgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMzA2LCAKKyAgICAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgCisgICAgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDUsIDUsIDUsIDUsIDUsIDUsIAorICAgIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAKKyAgICAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCA1LCA1LCAwLCAwLCAKKyAgICAwLCAwLCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIAorICAgIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCiAgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCiAgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCiAgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCAyODEsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI4MSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjgxLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyODEsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjgxLCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCkBAIC0yODM0LDMxICszMTAyLDMzIEBACiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDI4MSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgMjgxLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyODEsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI4MSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjgxLCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCkBAIC0yODY5LDM1ICszMTM5LDM0IEBACiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjgxLCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjEsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDIxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIAogICAgIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIAogICAgIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIAogICAgIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIAogICAgIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIAotICAgIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIAotICAgIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyNSwgMjUsIDI1LCAyNSwgMjUsIAogICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAogICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAogICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIApAQCAtMjkxMCwxMyArMzE3OSwxNCBAQAogICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAogICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAogICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAotICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgCisgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCisgICAgMjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIAogICAgIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIAogICAgIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIAogICAgIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIAogICAgIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIAotICAgIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDAsIDAsIAorICAgIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDAsIAorICAgIDAsIAogfTsKIAogLyogUmV0dXJucyB0aGUgbnVtZXJpYyB2YWx1ZSBhcyBkb3VibGUgZm9yIFVuaWNvZGUgY2hhcmFjdGVycwpAQCAtMjk0MSw2ICszMjExLDcgQEAKICAgICBjYXNlIDB4MEM3ODoKICAgICBjYXNlIDB4MENFNjoKICAgICBjYXNlIDB4MEQ2NjoKKyAgICBjYXNlIDB4MERFNjoKICAgICBjYXNlIDB4MEU1MDoKICAgICBjYXNlIDB4MEVEMDoKICAgICBjYXNlIDB4MEYyMDoKQEAgLTI5NjksNiArMzI0MCw3IEBACiAgICAgY2FzZSAweEE4RDA6CiAgICAgY2FzZSAweEE5MDA6CiAgICAgY2FzZSAweEE5RDA6CisgICAgY2FzZSAweEE5RjA6CiAgICAgY2FzZSAweEFBNTA6CiAgICAgY2FzZSAweEFCRjA6CiAgICAgY2FzZSAweEY5QjI6CkBAIC0yOTc5LDcgKzMyNTEsMTMgQEAKICAgICBjYXNlIDB4MTEwRjA6CiAgICAgY2FzZSAweDExMTM2OgogICAgIGNhc2UgMHgxMTFEMDoKKyAgICBjYXNlIDB4MTEyRjA6CisgICAgY2FzZSAweDExNEQwOgorICAgIGNhc2UgMHgxMTY1MDoKICAgICBjYXNlIDB4MTE2QzA6CisgICAgY2FzZSAweDExOEUwOgorICAgIGNhc2UgMHgxNkE2MDoKKyAgICBjYXNlIDB4MTZCNTA6CiAgICAgY2FzZSAweDFEN0NFOgogICAgIGNhc2UgMHgxRDdEODoKICAgICBjYXNlIDB4MUQ3RTI6CkBAIC0yOTg3LDYgKzMyNjUsOCBAQAogICAgIGNhc2UgMHgxRDdGNjoKICAgICBjYXNlIDB4MUYxMDA6CiAgICAgY2FzZSAweDFGMTAxOgorICAgIGNhc2UgMHgxRjEwQjoKKyAgICBjYXNlIDB4MUYxMEM6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSAwLjA7CiAgICAgY2FzZSAweDAwMzE6CiAgICAgY2FzZSAweDAwQjk6CkBAIC0zMDA0LDYgKzMyODQsNyBAQAogICAgIGNhc2UgMHgwQzdDOgogICAgIGNhc2UgMHgwQ0U3OgogICAgIGNhc2UgMHgwRDY3OgorICAgIGNhc2UgMHgwREU3OgogICAgIGNhc2UgMHgwRTUxOgogICAgIGNhc2UgMHgwRUQxOgogICAgIGNhc2UgMHgwRjIxOgpAQCAtMzA0Nyw2ICszMzI4LDcgQEAKICAgICBjYXNlIDB4QThEMToKICAgICBjYXNlIDB4QTkwMToKICAgICBjYXNlIDB4QTlEMToKKyAgICBjYXNlIDB4QTlGMToKICAgICBjYXNlIDB4QUE1MToKICAgICBjYXNlIDB4QUJGMToKICAgICBjYXNlIDB4RkYxMToKQEAgLTMwNTUsMzQgKzMzMzcsNDggQEAKICAgICBjYXNlIDB4MTAxNTg6CiAgICAgY2FzZSAweDEwMTU5OgogICAgIGNhc2UgMHgxMDE1QToKKyAgICBjYXNlIDB4MTAyRTE6CiAgICAgY2FzZSAweDEwMzIwOgogICAgIGNhc2UgMHgxMDNEMToKICAgICBjYXNlIDB4MTA0QTE6CiAgICAgY2FzZSAweDEwODU4OgorICAgIGNhc2UgMHgxMDg3OToKKyAgICBjYXNlIDB4MTA4QTc6CiAgICAgY2FzZSAweDEwOTE2OgogICAgIGNhc2UgMHgxMEE0MDoKICAgICBjYXNlIDB4MTBBN0Q6CisgICAgY2FzZSAweDEwQTlEOgorICAgIGNhc2UgMHgxMEFFQjoKICAgICBjYXNlIDB4MTBCNTg6CiAgICAgY2FzZSAweDEwQjc4OgorICAgIGNhc2UgMHgxMEJBOToKICAgICBjYXNlIDB4MTBFNjA6CiAgICAgY2FzZSAweDExMDUyOgogICAgIGNhc2UgMHgxMTA2NzoKICAgICBjYXNlIDB4MTEwRjE6CiAgICAgY2FzZSAweDExMTM3OgogICAgIGNhc2UgMHgxMTFEMToKKyAgICBjYXNlIDB4MTExRTE6CisgICAgY2FzZSAweDExMkYxOgorICAgIGNhc2UgMHgxMTREMToKKyAgICBjYXNlIDB4MTE2NTE6CiAgICAgY2FzZSAweDExNkMxOgorICAgIGNhc2UgMHgxMThFMToKICAgICBjYXNlIDB4MTI0MTU6CiAgICAgY2FzZSAweDEyNDFFOgogICAgIGNhc2UgMHgxMjQyQzoKICAgICBjYXNlIDB4MTI0MzQ6CiAgICAgY2FzZSAweDEyNDRGOgogICAgIGNhc2UgMHgxMjQ1ODoKKyAgICBjYXNlIDB4MTZBNjE6CisgICAgY2FzZSAweDE2QjUxOgogICAgIGNhc2UgMHgxRDM2MDoKICAgICBjYXNlIDB4MUQ3Q0Y6CiAgICAgY2FzZSAweDFEN0Q5OgogICAgIGNhc2UgMHgxRDdFMzoKICAgICBjYXNlIDB4MUQ3RUQ6CiAgICAgY2FzZSAweDFEN0Y3OgorICAgIGNhc2UgMHgxRThDNzoKICAgICBjYXNlIDB4MUYxMDI6CiAgICAgY2FzZSAweDIwOTJBOgogICAgICAgICByZXR1cm4gKGRvdWJsZSkgMS4wOwpAQCAtMzEwMiwxMSArMzM5OCwxMyBAQAogICAgIGNhc2UgMHgxMDE3NToKICAgICBjYXNlIDB4MTAxNzY6CiAgICAgY2FzZSAweDEwRTdCOgorICAgIGNhc2UgMHgxMjQ2NDoKICAgICAgICAgcmV0dXJuIChkb3VibGUpIDEuMC8yLjA7CiAgICAgY2FzZSAweDIxNTM6CiAgICAgY2FzZSAweDEwRTdEOgogICAgIGNhc2UgMHgxMjQ1QToKICAgICBjYXNlIDB4MTI0NUQ6CisgICAgY2FzZSAweDEyNDY1OgogICAgICAgICByZXR1cm4gKGRvdWJsZSkgMS4wLzMuMDsKICAgICBjYXNlIDB4MDBCQzoKICAgICBjYXNlIDB4MDlGNzoKQEAgLTMxMTQsOSArMzQxMiwxMSBAQAogICAgIGNhc2UgMHgwRDczOgogICAgIGNhc2UgMHhBODMwOgogICAgIGNhc2UgMHgxMDE0MDoKKyAgICBjYXNlIDB4MTAxOEI6CiAgICAgY2FzZSAweDEwRTdDOgogICAgIGNhc2UgMHgxMjQ2MDoKICAgICBjYXNlIDB4MTI0NjI6CisgICAgY2FzZSAweDEyNDYzOgogICAgICAgICByZXR1cm4gKGRvdWJsZSkgMS4wLzQuMDsKICAgICBjYXNlIDB4MjE1NToKICAgICAgICAgcmV0dXJuIChkb3VibGUpIDEuMC81LjA7CkBAIC0zMTYzLDE1ICszNDYzLDI0IEBACiAgICAgY2FzZSAweDEwMTYyOgogICAgIGNhc2UgMHgxMDE2MzoKICAgICBjYXNlIDB4MTAxNjQ6CisgICAgY2FzZSAweDEwMkVBOgogICAgIGNhc2UgMHgxMDMyMjoKICAgICBjYXNlIDB4MTAzRDM6CiAgICAgY2FzZSAweDEwODVCOgorICAgIGNhc2UgMHgxMDg3RToKKyAgICBjYXNlIDB4MTA4QUQ6CiAgICAgY2FzZSAweDEwOTE3OgogICAgIGNhc2UgMHgxMEE0NDoKKyAgICBjYXNlIDB4MTBBOUU6CisgICAgY2FzZSAweDEwQUVEOgogICAgIGNhc2UgMHgxMEI1QzoKICAgICBjYXNlIDB4MTBCN0M6CisgICAgY2FzZSAweDEwQkFEOgogICAgIGNhc2UgMHgxMEU2OToKICAgICBjYXNlIDB4MTEwNUI6CisgICAgY2FzZSAweDExMUVBOgorICAgIGNhc2UgMHgxMThFQToKKyAgICBjYXNlIDB4MTZCNUI6CiAgICAgY2FzZSAweDFEMzY5OgogICAgICAgICByZXR1cm4gKGRvdWJsZSkgMTAuMDsKICAgICBjYXNlIDB4MEJGMToKQEAgLTMxODYsMTQgKzM0OTUsMjAgQEAKICAgICBjYXNlIDB4MTAxNEI6CiAgICAgY2FzZSAweDEwMTUyOgogICAgIGNhc2UgMHgxMDE2QToKKyAgICBjYXNlIDB4MTAyRjM6CiAgICAgY2FzZSAweDEwM0Q1OgogICAgIGNhc2UgMHgxMDg1RDoKKyAgICBjYXNlIDB4MTA4QUY6CiAgICAgY2FzZSAweDEwOTE5OgogICAgIGNhc2UgMHgxMEE0NjoKKyAgICBjYXNlIDB4MTBBRUY6CiAgICAgY2FzZSAweDEwQjVFOgogICAgIGNhc2UgMHgxMEI3RToKKyAgICBjYXNlIDB4MTBCQUY6CiAgICAgY2FzZSAweDEwRTcyOgogICAgIGNhc2UgMHgxMTA2NDoKKyAgICBjYXNlIDB4MTExRjM6CisgICAgY2FzZSAweDE2QjVDOgogICAgICAgICByZXR1cm4gKGRvdWJsZSkgMTAwLjA7CiAgICAgY2FzZSAweDBCRjI6CiAgICAgY2FzZSAweDBENzI6CkBAIC0zMjEyLDYgKzM1MjcsNyBAQAogICAgIGNhc2UgMHgxMEI1RjoKICAgICBjYXNlIDB4MTBCN0Y6CiAgICAgY2FzZSAweDExMDY1OgorICAgIGNhc2UgMHgxMTFGNDoKICAgICAgICAgcmV0dXJuIChkb3VibGUpIDEwMDAuMDsKICAgICBjYXNlIDB4MTM3QzoKICAgICBjYXNlIDB4MjE4MjoKQEAgLTMyMjAsMTMgKzM1MzYsMjAgQEAKICAgICBjYXNlIDB4MTAxMkI6CiAgICAgY2FzZSAweDEwMTU1OgogICAgIGNhc2UgMHgxMDg1RjoKKyAgICBjYXNlIDB4MTZCNUQ6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSAxMDAwMC4wOwogICAgIGNhc2UgMHgyMTg4OgogICAgICAgICByZXR1cm4gKGRvdWJsZSkgMTAwMDAwLjA7CisgICAgY2FzZSAweDE2QjVFOgorICAgICAgICByZXR1cm4gKGRvdWJsZSkgMTAwMDAwMC4wOwogICAgIGNhc2UgMHg0RUJGOgogICAgIGNhc2UgMHg1MTA0OgorICAgIGNhc2UgMHgxNkI1RjoKICAgICAgICAgcmV0dXJuIChkb3VibGUpIDEwMDAwMDAwMC4wOworICAgIGNhc2UgMHgxNkI2MDoKKyAgICAgICAgcmV0dXJuIChkb3VibGUpIDEwMDAwMDAwMDAwLjA7CiAgICAgY2FzZSAweDUxNDY6CisgICAgY2FzZSAweDE2QjYxOgogICAgICAgICByZXR1cm4gKGRvdWJsZSkgMTAwMDAwMDAwMDAwMC4wOwogICAgIGNhc2UgMHgyMTZBOgogICAgIGNhc2UgMHgyMTdBOgpAQCAtMzMwNSw2ICszNjI4LDcgQEAKICAgICBjYXNlIDB4MEM3RDoKICAgICBjYXNlIDB4MENFODoKICAgICBjYXNlIDB4MEQ2ODoKKyAgICBjYXNlIDB4MERFODoKICAgICBjYXNlIDB4MEU1MjoKICAgICBjYXNlIDB4MEVEMjoKICAgICBjYXNlIDB4MEYyMjoKQEAgLTMzNDksNiArMzY3Myw3IEBACiAgICAgY2FzZSAweEE4RDI6CiAgICAgY2FzZSAweEE5MDI6CiAgICAgY2FzZSAweEE5RDI6CisgICAgY2FzZSAweEE5RjI6CiAgICAgY2FzZSAweEFBNTI6CiAgICAgY2FzZSAweEFCRjI6CiAgICAgY2FzZSAweEY5Nzg6CkBAIC0zMzU4LDIwICszNjgzLDI5IEBACiAgICAgY2FzZSAweDEwMTVDOgogICAgIGNhc2UgMHgxMDE1RDoKICAgICBjYXNlIDB4MTAxNUU6CisgICAgY2FzZSAweDEwMkUyOgogICAgIGNhc2UgMHgxMDNEMjoKICAgICBjYXNlIDB4MTA0QTI6CiAgICAgY2FzZSAweDEwODU5OgorICAgIGNhc2UgMHgxMDg3QToKKyAgICBjYXNlIDB4MTA4QTg6CiAgICAgY2FzZSAweDEwOTFBOgogICAgIGNhc2UgMHgxMEE0MToKICAgICBjYXNlIDB4MTBCNTk6CiAgICAgY2FzZSAweDEwQjc5OgorICAgIGNhc2UgMHgxMEJBQToKICAgICBjYXNlIDB4MTBFNjE6CiAgICAgY2FzZSAweDExMDUzOgogICAgIGNhc2UgMHgxMTA2ODoKICAgICBjYXNlIDB4MTEwRjI6CiAgICAgY2FzZSAweDExMTM4OgogICAgIGNhc2UgMHgxMTFEMjoKKyAgICBjYXNlIDB4MTExRTI6CisgICAgY2FzZSAweDExMkYyOgorICAgIGNhc2UgMHgxMTREMjoKKyAgICBjYXNlIDB4MTE2NTI6CiAgICAgY2FzZSAweDExNkMyOgorICAgIGNhc2UgMHgxMThFMjoKICAgICBjYXNlIDB4MTI0MDA6CiAgICAgY2FzZSAweDEyNDE2OgogICAgIGNhc2UgMHgxMjQxRjoKQEAgLTMzODIsMTIgKzM3MTYsMTUgQEAKICAgICBjYXNlIDB4MTI0NTA6CiAgICAgY2FzZSAweDEyNDU2OgogICAgIGNhc2UgMHgxMjQ1OToKKyAgICBjYXNlIDB4MTZBNjI6CisgICAgY2FzZSAweDE2QjUyOgogICAgIGNhc2UgMHgxRDM2MToKICAgICBjYXNlIDB4MUQ3RDA6CiAgICAgY2FzZSAweDFEN0RBOgogICAgIGNhc2UgMHgxRDdFNDoKICAgICBjYXNlIDB4MUQ3RUU6CiAgICAgY2FzZSAweDFEN0Y4OgorICAgIGNhc2UgMHgxRThDODoKICAgICBjYXNlIDB4MUYxMDM6CiAgICAgY2FzZSAweDIyMzkwOgogICAgICAgICByZXR1cm4gKGRvdWJsZSkgMi4wOwpAQCAtMzM5Niw2ICszNzMzLDcgQEAKICAgICBjYXNlIDB4MTBFN0U6CiAgICAgY2FzZSAweDEyNDVCOgogICAgIGNhc2UgMHgxMjQ1RToKKyAgICBjYXNlIDB4MTI0NjY6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSAyLjAvMy4wOwogICAgIGNhc2UgMHgyMTU2OgogICAgICAgICByZXR1cm4gKGRvdWJsZSkgMi4wLzUuMDsKQEAgLTM0MDksMTcgKzM3NDcsMjYgQEAKICAgICBjYXNlIDB4NTM0NDoKICAgICBjYXNlIDB4NUVGRjoKICAgICBjYXNlIDB4MTAxMTE6CisgICAgY2FzZSAweDEwMkVCOgogICAgIGNhc2UgMHgxMDNENDoKICAgICBjYXNlIDB4MTA4NUM6CisgICAgY2FzZSAweDEwODdGOgorICAgIGNhc2UgMHgxMDhBRToKICAgICBjYXNlIDB4MTA5MTg6CiAgICAgY2FzZSAweDEwQTQ1OgorICAgIGNhc2UgMHgxMEE5RjoKKyAgICBjYXNlIDB4MTBBRUU6CiAgICAgY2FzZSAweDEwQjVEOgogICAgIGNhc2UgMHgxMEI3RDoKKyAgICBjYXNlIDB4MTBCQUU6CiAgICAgY2FzZSAweDEwRTZBOgogICAgIGNhc2UgMHgxMTA1QzoKKyAgICBjYXNlIDB4MTExRUI6CisgICAgY2FzZSAweDExOEVCOgogICAgIGNhc2UgMHgxRDM2QToKICAgICAgICAgcmV0dXJuIChkb3VibGUpIDIwLjA7CiAgICAgY2FzZSAweDEwMTFBOgorICAgIGNhc2UgMHgxMDJGNDoKICAgICBjYXNlIDB4MTBFNzM6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSAyMDAuMDsKICAgICBjYXNlIDB4MTAxMjM6CkBAIC0zNDYyLDYgKzM4MDksNyBAQAogICAgIGNhc2UgMHgwQzdFOgogICAgIGNhc2UgMHgwQ0U5OgogICAgIGNhc2UgMHgwRDY5OgorICAgIGNhc2UgMHgwREU5OgogICAgIGNhc2UgMHgwRTUzOgogICAgIGNhc2UgMHgwRUQzOgogICAgIGNhc2UgMHgwRjIzOgpAQCAtMzUwNSwyNCArMzg1MywzNCBAQAogICAgIGNhc2UgMHhBOEQzOgogICAgIGNhc2UgMHhBOTAzOgogICAgIGNhc2UgMHhBOUQzOgorICAgIGNhc2UgMHhBOUYzOgogICAgIGNhc2UgMHhBQTUzOgogICAgIGNhc2UgMHhBQkYzOgogICAgIGNhc2UgMHhGOTZCOgogICAgIGNhc2UgMHhGRjEzOgogICAgIGNhc2UgMHgxMDEwOToKKyAgICBjYXNlIDB4MTAyRTM6CiAgICAgY2FzZSAweDEwNEEzOgogICAgIGNhc2UgMHgxMDg1QToKKyAgICBjYXNlIDB4MTA4N0I6CisgICAgY2FzZSAweDEwOEE5OgogICAgIGNhc2UgMHgxMDkxQjoKICAgICBjYXNlIDB4MTBBNDI6CiAgICAgY2FzZSAweDEwQjVBOgogICAgIGNhc2UgMHgxMEI3QToKKyAgICBjYXNlIDB4MTBCQUI6CiAgICAgY2FzZSAweDEwRTYyOgogICAgIGNhc2UgMHgxMTA1NDoKICAgICBjYXNlIDB4MTEwNjk6CiAgICAgY2FzZSAweDExMEYzOgogICAgIGNhc2UgMHgxMTEzOToKICAgICBjYXNlIDB4MTExRDM6CisgICAgY2FzZSAweDExMUUzOgorICAgIGNhc2UgMHgxMTJGMzoKKyAgICBjYXNlIDB4MTE0RDM6CisgICAgY2FzZSAweDExNjUzOgogICAgIGNhc2UgMHgxMTZDMzoKKyAgICBjYXNlIDB4MTE4RTM6CiAgICAgY2FzZSAweDEyNDAxOgogICAgIGNhc2UgMHgxMjQwODoKICAgICBjYXNlIDB4MTI0MTc6CkBAIC0zNTM4LDEyICszODk2LDE1IEBACiAgICAgY2FzZSAweDEyNDRCOgogICAgIGNhc2UgMHgxMjQ1MToKICAgICBjYXNlIDB4MTI0NTc6CisgICAgY2FzZSAweDE2QTYzOgorICAgIGNhc2UgMHgxNkI1MzoKICAgICBjYXNlIDB4MUQzNjI6CiAgICAgY2FzZSAweDFEN0QxOgogICAgIGNhc2UgMHgxRDdEQjoKICAgICBjYXNlIDB4MUQ3RTU6CiAgICAgY2FzZSAweDFEN0VGOgogICAgIGNhc2UgMHgxRDdGOToKKyAgICBjYXNlIDB4MUU4Qzk6CiAgICAgY2FzZSAweDFGMTA0OgogICAgIGNhc2UgMHgyMEFGRDoKICAgICBjYXNlIDB4MjBCMTk6CkBAIC0zNTc0LDEzICszOTM1LDE3IEBACiAgICAgY2FzZSAweDUzNDU6CiAgICAgY2FzZSAweDEwMTEyOgogICAgIGNhc2UgMHgxMDE2NToKKyAgICBjYXNlIDB4MTAyRUM6CiAgICAgY2FzZSAweDEwRTZCOgogICAgIGNhc2UgMHgxMTA1RDoKKyAgICBjYXNlIDB4MTExRUM6CisgICAgY2FzZSAweDExOEVDOgogICAgIGNhc2UgMHgxRDM2QjoKICAgICBjYXNlIDB4MjA5ODM6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSAzMC4wOwogICAgIGNhc2UgMHgxMDExQjoKICAgICBjYXNlIDB4MTAxNkI6CisgICAgY2FzZSAweDEwMkY1OgogICAgIGNhc2UgMHgxMEU3NDoKICAgICAgICAgcmV0dXJuIChkb3VibGUpIDMwMC4wOwogICAgIGNhc2UgMHgxMDEyNDoKQEAgLTM2MTgsNiArMzk4Myw3IEBACiAgICAgY2FzZSAweDBDNkE6CiAgICAgY2FzZSAweDBDRUE6CiAgICAgY2FzZSAweDBENkE6CisgICAgY2FzZSAweDBERUE6CiAgICAgY2FzZSAweDBFNTQ6CiAgICAgY2FzZSAweDBFRDQ6CiAgICAgY2FzZSAweDBGMjQ6CkBAIC0zNjU4LDIxICs0MDI0LDMyIEBACiAgICAgY2FzZSAweEE4RDQ6CiAgICAgY2FzZSAweEE5MDQ6CiAgICAgY2FzZSAweEE5RDQ6CisgICAgY2FzZSAweEE5RjQ6CiAgICAgY2FzZSAweEFBNTQ6CiAgICAgY2FzZSAweEFCRjQ6CiAgICAgY2FzZSAweEZGMTQ6CiAgICAgY2FzZSAweDEwMTBBOgorICAgIGNhc2UgMHgxMDJFNDoKICAgICBjYXNlIDB4MTA0QTQ6CisgICAgY2FzZSAweDEwODdDOgorICAgIGNhc2UgMHgxMDhBQToKKyAgICBjYXNlIDB4MTA4QUI6CiAgICAgY2FzZSAweDEwQTQzOgogICAgIGNhc2UgMHgxMEI1QjoKICAgICBjYXNlIDB4MTBCN0I6CisgICAgY2FzZSAweDEwQkFDOgogICAgIGNhc2UgMHgxMEU2MzoKICAgICBjYXNlIDB4MTEwNTU6CiAgICAgY2FzZSAweDExMDZBOgogICAgIGNhc2UgMHgxMTBGNDoKICAgICBjYXNlIDB4MTExM0E6CiAgICAgY2FzZSAweDExMUQ0OgorICAgIGNhc2UgMHgxMTFFNDoKKyAgICBjYXNlIDB4MTEyRjQ6CisgICAgY2FzZSAweDExNEQ0OgorICAgIGNhc2UgMHgxMTY1NDoKICAgICBjYXNlIDB4MTE2QzQ6CisgICAgY2FzZSAweDExOEU0OgogICAgIGNhc2UgMHgxMjQwMjoKICAgICBjYXNlIDB4MTI0MDk6CiAgICAgY2FzZSAweDEyNDBGOgpAQCAtMzY4OCwxMiArNDA2NSwxNiBAQAogICAgIGNhc2UgMHgxMjQ0QzoKICAgICBjYXNlIDB4MTI0NTI6CiAgICAgY2FzZSAweDEyNDUzOgorICAgIGNhc2UgMHgxMjQ2OToKKyAgICBjYXNlIDB4MTZBNjQ6CisgICAgY2FzZSAweDE2QjU0OgogICAgIGNhc2UgMHgxRDM2MzoKICAgICBjYXNlIDB4MUQ3RDI6CiAgICAgY2FzZSAweDFEN0RDOgogICAgIGNhc2UgMHgxRDdFNjoKICAgICBjYXNlIDB4MUQ3RjA6CiAgICAgY2FzZSAweDFEN0ZBOgorICAgIGNhc2UgMHgxRThDQToKICAgICBjYXNlIDB4MUYxMDU6CiAgICAgY2FzZSAweDIwMDY0OgogICAgIGNhc2UgMHgyMDBFMjoKQEAgLTM3MDYsMTMgKzQwODcsMTggQEAKICAgICBjYXNlIDB4MzJCNToKICAgICBjYXNlIDB4NTM0QzoKICAgICBjYXNlIDB4MTAxMTM6CisgICAgY2FzZSAweDEwMkVEOgogICAgIGNhc2UgMHgxMEU2QzoKICAgICBjYXNlIDB4MTEwNUU6CisgICAgY2FzZSAweDExMUVEOgorICAgIGNhc2UgMHgxMThFRDoKKyAgICBjYXNlIDB4MTI0Njc6CiAgICAgY2FzZSAweDFEMzZDOgogICAgIGNhc2UgMHgyMDk4QzoKICAgICBjYXNlIDB4MjA5OUM6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSA0MC4wOwogICAgIGNhc2UgMHgxMDExQzoKKyAgICBjYXNlIDB4MTAyRjY6CiAgICAgY2FzZSAweDEwRTc1OgogICAgICAgICByZXR1cm4gKGRvdWJsZSkgNDAwLjA7CiAgICAgY2FzZSAweDEwMTI1OgpAQCAtMzc1Miw2ICs0MTM4LDcgQEAKICAgICBjYXNlIDB4MEM2QjoKICAgICBjYXNlIDB4MENFQjoKICAgICBjYXNlIDB4MEQ2QjoKKyAgICBjYXNlIDB4MERFQjoKICAgICBjYXNlIDB4MEU1NToKICAgICBjYXNlIDB4MEVENToKICAgICBjYXNlIDB4MEYyNToKQEAgLTM3OTIsNiArNDE3OSw3IEBACiAgICAgY2FzZSAweEE4RDU6CiAgICAgY2FzZSAweEE5MDU6CiAgICAgY2FzZSAweEE5RDU6CisgICAgY2FzZSAweEE5RjU6CiAgICAgY2FzZSAweEFBNTU6CiAgICAgY2FzZSAweEFCRjU6CiAgICAgY2FzZSAweEZGMTU6CkBAIC0zODAxLDE1ICs0MTg5LDI0IEBACiAgICAgY2FzZSAweDEwMTRGOgogICAgIGNhc2UgMHgxMDE1RjoKICAgICBjYXNlIDB4MTAxNzM6CisgICAgY2FzZSAweDEwMkU1OgogICAgIGNhc2UgMHgxMDMyMToKICAgICBjYXNlIDB4MTA0QTU6CisgICAgY2FzZSAweDEwODdEOgorICAgIGNhc2UgMHgxMDhBQzoKKyAgICBjYXNlIDB4MTBBRUM6CiAgICAgY2FzZSAweDEwRTY0OgogICAgIGNhc2UgMHgxMTA1NjoKICAgICBjYXNlIDB4MTEwNkI6CiAgICAgY2FzZSAweDExMEY1OgogICAgIGNhc2UgMHgxMTEzQjoKICAgICBjYXNlIDB4MTExRDU6CisgICAgY2FzZSAweDExMUU1OgorICAgIGNhc2UgMHgxMTJGNToKKyAgICBjYXNlIDB4MTE0RDU6CisgICAgY2FzZSAweDExNjU1OgogICAgIGNhc2UgMHgxMTZDNToKKyAgICBjYXNlIDB4MTE4RTU6CiAgICAgY2FzZSAweDEyNDAzOgogICAgIGNhc2UgMHgxMjQwQToKICAgICBjYXNlIDB4MTI0MTA6CkBAIC0zODIxLDEyICs0MjE4LDE2IEBACiAgICAgY2FzZSAweDEyNDREOgogICAgIGNhc2UgMHgxMjQ1NDoKICAgICBjYXNlIDB4MTI0NTU6CisgICAgY2FzZSAweDEyNDZBOgorICAgIGNhc2UgMHgxNkE2NToKKyAgICBjYXNlIDB4MTZCNTU6CiAgICAgY2FzZSAweDFEMzY0OgogICAgIGNhc2UgMHgxRDdEMzoKICAgICBjYXNlIDB4MUQ3REQ6CiAgICAgY2FzZSAweDFEN0U3OgogICAgIGNhc2UgMHgxRDdGMToKICAgICBjYXNlIDB4MUQ3RkI6CisgICAgY2FzZSAweDFFOENCOgogICAgIGNhc2UgMHgxRjEwNjoKICAgICBjYXNlIDB4MjAxMjE6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSA1LjA7CkBAIC0zODUyLDEwICs0MjUzLDE0IEBACiAgICAgY2FzZSAweDEwMTY4OgogICAgIGNhc2UgMHgxMDE2OToKICAgICBjYXNlIDB4MTAxNzQ6CisgICAgY2FzZSAweDEwMkVFOgogICAgIGNhc2UgMHgxMDMyMzoKICAgICBjYXNlIDB4MTBBN0U6CiAgICAgY2FzZSAweDEwRTZEOgogICAgIGNhc2UgMHgxMTA1RjoKKyAgICBjYXNlIDB4MTExRUU6CisgICAgY2FzZSAweDExOEVFOgorICAgIGNhc2UgMHgxMjQ2ODoKICAgICBjYXNlIDB4MUQzNkQ6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSA1MC4wOwogICAgIGNhc2UgMHgyMTZFOgpAQCAtMzg2OSw2ICs0Mjc0LDcgQEAKICAgICBjYXNlIDB4MTAxNkU6CiAgICAgY2FzZSAweDEwMTZGOgogICAgIGNhc2UgMHgxMDE3MDoKKyAgICBjYXNlIDB4MTAyRjc6CiAgICAgY2FzZSAweDEwRTc2OgogICAgICAgICByZXR1cm4gKGRvdWJsZSkgNTAwLjA7CiAgICAgY2FzZSAweDIxODE6CkBAIC0zODk1LDYgKzQzMDEsNyBAQAogICAgIGNhc2UgMHgwQzZDOgogICAgIGNhc2UgMHgwQ0VDOgogICAgIGNhc2UgMHgwRDZDOgorICAgIGNhc2UgMHgwREVDOgogICAgIGNhc2UgMHgwRTU2OgogICAgIGNhc2UgMHgwRUQ2OgogICAgIGNhc2UgMHgwRjI2OgpAQCAtMzkzNSwxMiArNDM0MiwxNCBAQAogICAgIGNhc2UgMHhBOEQ2OgogICAgIGNhc2UgMHhBOTA2OgogICAgIGNhc2UgMHhBOUQ2OgorICAgIGNhc2UgMHhBOUY2OgogICAgIGNhc2UgMHhBQTU2OgogICAgIGNhc2UgMHhBQkY2OgogICAgIGNhc2UgMHhGOUQxOgogICAgIGNhc2UgMHhGOUQzOgogICAgIGNhc2UgMHhGRjE2OgogICAgIGNhc2UgMHgxMDEwQzoKKyAgICBjYXNlIDB4MTAyRTY6CiAgICAgY2FzZSAweDEwNEE2OgogICAgIGNhc2UgMHgxMEU2NToKICAgICBjYXNlIDB4MTEwNTc6CkBAIC0zOTQ4LDcgKzQzNTcsMTIgQEAKICAgICBjYXNlIDB4MTEwRjY6CiAgICAgY2FzZSAweDExMTNDOgogICAgIGNhc2UgMHgxMTFENjoKKyAgICBjYXNlIDB4MTExRTY6CisgICAgY2FzZSAweDExMkY2OgorICAgIGNhc2UgMHgxMTRENjoKKyAgICBjYXNlIDB4MTE2NTY6CiAgICAgY2FzZSAweDExNkM2OgorICAgIGNhc2UgMHgxMThFNjoKICAgICBjYXNlIDB4MTI0MDQ6CiAgICAgY2FzZSAweDEyNDBCOgogICAgIGNhc2UgMHgxMjQxMToKQEAgLTM5NTYsMjMgKzQzNzAsMzEgQEAKICAgICBjYXNlIDB4MTI0Mjg6CiAgICAgY2FzZSAweDEyNDQwOgogICAgIGNhc2UgMHgxMjQ0RToKKyAgICBjYXNlIDB4MTI0NkI6CisgICAgY2FzZSAweDE2QTY2OgorICAgIGNhc2UgMHgxNkI1NjoKICAgICBjYXNlIDB4MUQzNjU6CiAgICAgY2FzZSAweDFEN0Q0OgogICAgIGNhc2UgMHgxRDdERToKICAgICBjYXNlIDB4MUQ3RTg6CiAgICAgY2FzZSAweDFEN0YyOgogICAgIGNhc2UgMHgxRDdGQzoKKyAgICBjYXNlIDB4MUU4Q0M6CiAgICAgY2FzZSAweDFGMTA3OgogICAgIGNhc2UgMHgyMEFFQToKICAgICAgICAgcmV0dXJuIChkb3VibGUpIDYuMDsKICAgICBjYXNlIDB4MTM3NzoKICAgICBjYXNlIDB4MzI0RDoKICAgICBjYXNlIDB4MTAxMTU6CisgICAgY2FzZSAweDEwMkVGOgogICAgIGNhc2UgMHgxMEU2RToKICAgICBjYXNlIDB4MTEwNjA6CisgICAgY2FzZSAweDExMUVGOgorICAgIGNhc2UgMHgxMThFRjoKICAgICBjYXNlIDB4MUQzNkU6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSA2MC4wOwogICAgIGNhc2UgMHgxMDExRToKKyAgICBjYXNlIDB4MTAyRjg6CiAgICAgY2FzZSAweDEwRTc3OgogICAgICAgICByZXR1cm4gKGRvdWJsZSkgNjAwLjA7CiAgICAgY2FzZSAweDEwMTI3OgpAQCAtMzk5Miw2ICs0NDE0LDcgQEAKICAgICBjYXNlIDB4MEM2RDoKICAgICBjYXNlIDB4MENFRDoKICAgICBjYXNlIDB4MEQ2RDoKKyAgICBjYXNlIDB4MERFRDoKICAgICBjYXNlIDB4MEU1NzoKICAgICBjYXNlIDB4MEVENzoKICAgICBjYXNlIDB4MEYyNzoKQEAgLTQwMzIsMTAgKzQ0NTUsMTIgQEAKICAgICBjYXNlIDB4QThENzoKICAgICBjYXNlIDB4QTkwNzoKICAgICBjYXNlIDB4QTlENzoKKyAgICBjYXNlIDB4QTlGNzoKICAgICBjYXNlIDB4QUE1NzoKICAgICBjYXNlIDB4QUJGNzoKICAgICBjYXNlIDB4RkYxNzoKICAgICBjYXNlIDB4MTAxMEQ6CisgICAgY2FzZSAweDEwMkU3OgogICAgIGNhc2UgMHgxMDRBNzoKICAgICBjYXNlIDB4MTBFNjY6CiAgICAgY2FzZSAweDExMDU4OgpAQCAtNDA0Myw3ICs0NDY4LDEyIEBACiAgICAgY2FzZSAweDExMEY3OgogICAgIGNhc2UgMHgxMTEzRDoKICAgICBjYXNlIDB4MTExRDc6CisgICAgY2FzZSAweDExMUU3OgorICAgIGNhc2UgMHgxMTJGNzoKKyAgICBjYXNlIDB4MTE0RDc6CisgICAgY2FzZSAweDExNjU3OgogICAgIGNhc2UgMHgxMTZDNzoKKyAgICBjYXNlIDB4MTE4RTc6CiAgICAgY2FzZSAweDEyNDA1OgogICAgIGNhc2UgMHgxMjQwQzoKICAgICBjYXNlIDB4MTI0MTI6CkBAIC00MDUyLDEyICs0NDgyLDE2IEBACiAgICAgY2FzZSAweDEyNDQxOgogICAgIGNhc2UgMHgxMjQ0MjoKICAgICBjYXNlIDB4MTI0NDM6CisgICAgY2FzZSAweDEyNDZDOgorICAgIGNhc2UgMHgxNkE2NzoKKyAgICBjYXNlIDB4MTZCNTc6CiAgICAgY2FzZSAweDFEMzY2OgogICAgIGNhc2UgMHgxRDdENToKICAgICBjYXNlIDB4MUQ3REY6CiAgICAgY2FzZSAweDFEN0U5OgogICAgIGNhc2UgMHgxRDdGMzoKICAgICBjYXNlIDB4MUQ3RkQ6CisgICAgY2FzZSAweDFFOENEOgogICAgIGNhc2UgMHgxRjEwODoKICAgICBjYXNlIDB4MjAwMDE6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSA3LjA7CkBAIC00MDY4LDExICs0NTAyLDE1IEBACiAgICAgY2FzZSAweDEzNzg6CiAgICAgY2FzZSAweDMyNEU6CiAgICAgY2FzZSAweDEwMTE2OgorICAgIGNhc2UgMHgxMDJGMDoKICAgICBjYXNlIDB4MTBFNkY6CiAgICAgY2FzZSAweDExMDYxOgorICAgIGNhc2UgMHgxMTFGMDoKKyAgICBjYXNlIDB4MTE4RjA6CiAgICAgY2FzZSAweDFEMzZGOgogICAgICAgICByZXR1cm4gKGRvdWJsZSkgNzAuMDsKICAgICBjYXNlIDB4MTAxMUY6CisgICAgY2FzZSAweDEwMkY5OgogICAgIGNhc2UgMHgxMEU3ODoKICAgICAgICAgcmV0dXJuIChkb3VibGUpIDcwMC4wOwogICAgIGNhc2UgMHgxMDEyODoKQEAgLTQwOTIsNiArNDUzMCw3IEBACiAgICAgY2FzZSAweDBDNkU6CiAgICAgY2FzZSAweDBDRUU6CiAgICAgY2FzZSAweDBENkU6CisgICAgY2FzZSAweDBERUU6CiAgICAgY2FzZSAweDBFNTg6CiAgICAgY2FzZSAweDBFRDg6CiAgICAgY2FzZSAweDBGMjg6CkBAIC00MTMwLDEwICs0NTY5LDEyIEBACiAgICAgY2FzZSAweEE4RDg6CiAgICAgY2FzZSAweEE5MDg6CiAgICAgY2FzZSAweEE5RDg6CisgICAgY2FzZSAweEE5Rjg6CiAgICAgY2FzZSAweEFBNTg6CiAgICAgY2FzZSAweEFCRjg6CiAgICAgY2FzZSAweEZGMTg6CiAgICAgY2FzZSAweDEwMTBFOgorICAgIGNhc2UgMHgxMDJFODoKICAgICBjYXNlIDB4MTA0QTg6CiAgICAgY2FzZSAweDEwRTY3OgogICAgIGNhc2UgMHgxMTA1OToKQEAgLTQxNDEsNyArNDU4MiwxMiBAQAogICAgIGNhc2UgMHgxMTBGODoKICAgICBjYXNlIDB4MTExM0U6CiAgICAgY2FzZSAweDExMUQ4OgorICAgIGNhc2UgMHgxMTFFODoKKyAgICBjYXNlIDB4MTEyRjg6CisgICAgY2FzZSAweDExNEQ4OgorICAgIGNhc2UgMHgxMTY1ODoKICAgICBjYXNlIDB4MTE2Qzg6CisgICAgY2FzZSAweDExOEU4OgogICAgIGNhc2UgMHgxMjQwNjoKICAgICBjYXNlIDB4MTI0MEQ6CiAgICAgY2FzZSAweDEyNDEzOgpAQCAtNDE0OSwyMiArNDU5NSwzMCBAQAogICAgIGNhc2UgMHgxMjQyQToKICAgICBjYXNlIDB4MTI0NDQ6CiAgICAgY2FzZSAweDEyNDQ1OgorICAgIGNhc2UgMHgxMjQ2RDoKKyAgICBjYXNlIDB4MTZBNjg6CisgICAgY2FzZSAweDE2QjU4OgogICAgIGNhc2UgMHgxRDM2NzoKICAgICBjYXNlIDB4MUQ3RDY6CiAgICAgY2FzZSAweDFEN0UwOgogICAgIGNhc2UgMHgxRDdFQToKICAgICBjYXNlIDB4MUQ3RjQ6CiAgICAgY2FzZSAweDFEN0ZFOgorICAgIGNhc2UgMHgxRThDRToKICAgICBjYXNlIDB4MUYxMDk6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSA4LjA7CiAgICAgY2FzZSAweDEzNzk6CiAgICAgY2FzZSAweDMyNEY6CiAgICAgY2FzZSAweDEwMTE3OgorICAgIGNhc2UgMHgxMDJGMToKICAgICBjYXNlIDB4MTBFNzA6CiAgICAgY2FzZSAweDExMDYyOgorICAgIGNhc2UgMHgxMTFGMToKKyAgICBjYXNlIDB4MTE4RjE6CiAgICAgY2FzZSAweDFEMzcwOgogICAgICAgICByZXR1cm4gKGRvdWJsZSkgODAuMDsKICAgICBjYXNlIDB4MTAxMjA6CisgICAgY2FzZSAweDEwMkZBOgogICAgIGNhc2UgMHgxMEU3OToKICAgICAgICAgcmV0dXJuIChkb3VibGUpIDgwMC4wOwogICAgIGNhc2UgMHgxMDEyOToKQEAgLTQxODQsNiArNDYzOCw3IEBACiAgICAgY2FzZSAweDBDNkY6CiAgICAgY2FzZSAweDBDRUY6CiAgICAgY2FzZSAweDBENkY6CisgICAgY2FzZSAweDBERUY6CiAgICAgY2FzZSAweDBFNTk6CiAgICAgY2FzZSAweDBFRDk6CiAgICAgY2FzZSAweDBGMjk6CkBAIC00MjIzLDEwICs0Njc4LDEyIEBACiAgICAgY2FzZSAweEE4RDk6CiAgICAgY2FzZSAweEE5MDk6CiAgICAgY2FzZSAweEE5RDk6CisgICAgY2FzZSAweEE5Rjk6CiAgICAgY2FzZSAweEFBNTk6CiAgICAgY2FzZSAweEFCRjk6CiAgICAgY2FzZSAweEZGMTk6CiAgICAgY2FzZSAweDEwMTBGOgorICAgIGNhc2UgMHgxMDJFOToKICAgICBjYXNlIDB4MTA0QTk6CiAgICAgY2FzZSAweDEwRTY4OgogICAgIGNhc2UgMHgxMTA1QToKQEAgLTQyMzQsNyArNDY5MSwxMiBAQAogICAgIGNhc2UgMHgxMTBGOToKICAgICBjYXNlIDB4MTExM0Y6CiAgICAgY2FzZSAweDExMUQ5OgorICAgIGNhc2UgMHgxMTFFOToKKyAgICBjYXNlIDB4MTEyRjk6CisgICAgY2FzZSAweDExNEQ5OgorICAgIGNhc2UgMHgxMTY1OToKICAgICBjYXNlIDB4MTE2Qzk6CisgICAgY2FzZSAweDExOEU5OgogICAgIGNhc2UgMHgxMjQwNzoKICAgICBjYXNlIDB4MTI0MEU6CiAgICAgY2FzZSAweDEyNDE0OgpAQCAtNDI0NCwxMiArNDcwNiwxNiBAQAogICAgIGNhc2UgMHgxMjQ0NzoKICAgICBjYXNlIDB4MTI0NDg6CiAgICAgY2FzZSAweDEyNDQ5OgorICAgIGNhc2UgMHgxMjQ2RToKKyAgICBjYXNlIDB4MTZBNjk6CisgICAgY2FzZSAweDE2QjU5OgogICAgIGNhc2UgMHgxRDM2ODoKICAgICBjYXNlIDB4MUQ3RDc6CiAgICAgY2FzZSAweDFEN0UxOgogICAgIGNhc2UgMHgxRDdFQjoKICAgICBjYXNlIDB4MUQ3RjU6CiAgICAgY2FzZSAweDFEN0ZGOgorICAgIGNhc2UgMHgxRThDRjoKICAgICBjYXNlIDB4MUYxMEE6CiAgICAgY2FzZSAweDJGODkwOgogICAgICAgICByZXR1cm4gKGRvdWJsZSkgOS4wOwpAQCAtNDI1NywxMiArNDcyMywxNiBAQAogICAgICAgICByZXR1cm4gKGRvdWJsZSkgOS4wLzIuMDsKICAgICBjYXNlIDB4MTM3QToKICAgICBjYXNlIDB4MTAxMTg6CisgICAgY2FzZSAweDEwMkYyOgogICAgIGNhc2UgMHgxMDM0MToKICAgICBjYXNlIDB4MTBFNzE6CiAgICAgY2FzZSAweDExMDYzOgorICAgIGNhc2UgMHgxMTFGMjoKKyAgICBjYXNlIDB4MTE4RjI6CiAgICAgY2FzZSAweDFEMzcxOgogICAgICAgICByZXR1cm4gKGRvdWJsZSkgOTAuMDsKICAgICBjYXNlIDB4MTAxMjE6CisgICAgY2FzZSAweDEwMkZCOgogICAgIGNhc2UgMHgxMDM0QToKICAgICBjYXNlIDB4MTBFN0E6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSA5MDAuMDsKZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL19iejIudmNwcm9qIGIvUEMvVlM5LjAvX2J6Mi52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdjZWI4YzcuLjAwMDAwMDAKLS0tIGEvUEMvVlM5LjAvX2J6Mi52Y3Byb2oKKysrIC9kZXYvbnVsbApAQCAtMSw1ODEgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb2plY3QNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjkuMDAiDQotCU5hbWU9Il9iejIiDQotCVByb2plY3RHVUlEPSJ7NzNGQ0QyQkQtRjEzMy00NkI3LThFQzEtMTQ0Q0Q4MkE1OUQ1fSINCi0JUm9vdE5hbWVzcGFjZT0iYnoyIg0KLQlLZXl3b3JkPSJXaW4zMlByb2oiDQotCVRhcmdldEZyYW1ld29ya1ZlcnNpb249IjE5NjYxMyINCi0JPg0KLQk8UGxhdGZvcm1zPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0iV2luMzIiDQotCQkvPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0ieDY0Ig0KLQkJLz4NCi0JPC9QbGF0Zm9ybXM+DQotCTxUb29sRmlsZXM+DQotCTwvVG9vbEZpbGVzPg0KLQk8Q29uZmlndXJhdGlvbnM+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQoYnoyRGlyKSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO19GSUxFX09GRlNFVF9CSVRTPTY0O19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDE3MDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3x4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJChiejJEaXIpIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lOMzI7X0ZJTEVfT0ZGU0VUX0JJVFM9NjQ7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTcwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKGJ6MkRpcikiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtfRklMRV9PRkZTRVRfQklUUz02NDtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxNzAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKGJ6MkRpcikiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtfRklMRV9PRkZTRVRfQklUUz02NDtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxNzAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKGJ6MkRpcikiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtfRklMRV9PRkZTRVRfQklUUz02NDtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxNzAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJChiejJEaXIpIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lOMzI7X0ZJTEVfT0ZGU0VUX0JJVFM9NjQ7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTcwMDAwIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKGJ6MkRpcikiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtfRklMRV9PRkZTRVRfQklUUz02NDtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxNzAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQoYnoyRGlyKSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO19GSUxFX09GRlNFVF9CSVRTPTY0O19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDE3MDAwMCINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JPC9Db25maWd1cmF0aW9ucz4NCi0JPFJlZmVyZW5jZXM+DQotCTwvUmVmZXJlbmNlcz4NCi0JPEZpbGVzPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlNvdXJjZSBGaWxlcyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9iejJtb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9ImJ6aXAyIDEuMC42IEhlYWRlciBGaWxlcyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIkKGJ6MkRpcilcYnpsaWIuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9IiQoYnoyRGlyKVxiemxpYl9wcml2YXRlLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJiemlwMiAxLjAuNiBTb3VyY2UgRmlsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iJChiejJEaXIpXGJsb2Nrc29ydC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iJChiejJEaXIpXGJ6bGliLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIkKGJ6MkRpcilcY29tcHJlc3MuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9IiQoYnoyRGlyKVxjcmN0YWJsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iJChiejJEaXIpXGRlY29tcHJlc3MuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9IiQoYnoyRGlyKVxodWZmbWFuLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIkKGJ6MkRpcilccmFuZHRhYmxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JPC9GaWxlcz4NCi0JPEdsb2JhbHM+DQotCTwvR2xvYmFscz4NCi08L1Zpc3VhbFN0dWRpb1Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvUEMvVlM5LjAvX2N0eXBlcy52Y3Byb2ogYi9QQy9WUzkuMC9fY3R5cGVzLnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGU1Y2JhMS4uMDAwMDAwMAotLS0gYS9QQy9WUzkuMC9fY3R5cGVzLnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDcwNSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOS4wMCINCi0JTmFtZT0iX2N0eXBlcyINCi0JUHJvamVjdEdVSUQ9InswRTk3OTFEQi01OTNBLTQ2NUYtOThCQy02ODEwMTEzMTE2MTh9Ig0KLQlSb290TmFtZXNwYWNlPSJfY3R5cGVzIg0KLQlLZXl3b3JkPSJXaW4zMlByb2oiDQotCVRhcmdldEZyYW1ld29ya1ZlcnNpb249IjE5NjYxMyINCi0JPg0KLQk8UGxhdGZvcm1zPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0iV2luMzIiDQotCQkvPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0ieDY0Ig0KLQkJLz4NCi0JPC9QbGF0Zm9ybXM+DQotCTxUb29sRmlsZXM+DQotCTwvVG9vbEZpbGVzPg0KLQk8Q29uZmlndXJhdGlvbnM+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXE1vZHVsZXNcX2N0eXBlc1xsaWJmZmlfbXN2YyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxQTAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXE1vZHVsZXNcX2N0eXBlc1xsaWJmZmlfbXN2YyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxQTAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXE1vZHVsZXNcX2N0eXBlc1xsaWJmZmlfbXN2YyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9Ii9FWFBPUlQ6RGxsR2V0Q2xhc3NPYmplY3QsUFJJVkFURSAvRVhQT1JUOkRsbENhblVubG9hZE5vdyxQUklWQVRFIg0KLQkJCQlTdWJTeXN0ZW09IjAiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMUEwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cTW9kdWxlc1xfY3R5cGVzXGxpYmZmaV9tc3ZjIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iL0VYUE9SVDpEbGxHZXRDbGFzc09iamVjdCxQUklWQVRFIC9FWFBPUlQ6RGxsQ2FuVW5sb2FkTm93LFBSSVZBVEUiDQotCQkJCVN1YlN5c3RlbT0iMCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxQTAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxNb2R1bGVzXF9jdHlwZXNcbGliZmZpX21zdmMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIvRVhQT1JUOkRsbEdldENsYXNzT2JqZWN0LFBSSVZBVEUgL0VYUE9SVDpEbGxDYW5VbmxvYWROb3csUFJJVkFURSINCi0JCQkJU3ViU3lzdGVtPSIwIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDFBMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxNb2R1bGVzXF9jdHlwZXNcbGliZmZpX21zdmMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIvRVhQT1JUOkRsbEdldENsYXNzT2JqZWN0LFBSSVZBVEUgL0VYUE9SVDpEbGxDYW5VbmxvYWROb3csUFJJVkFURSINCi0JCQkJU3ViU3lzdGVtPSIwIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDFBMDAwMCINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cTW9kdWxlc1xfY3R5cGVzXGxpYmZmaV9tc3ZjIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iL0VYUE9SVDpEbGxHZXRDbGFzc09iamVjdCxQUklWQVRFIC9FWFBPUlQ6RGxsQ2FuVW5sb2FkTm93LFBSSVZBVEUiDQotCQkJCVN1YlN5c3RlbT0iMCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxQTAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXE1vZHVsZXNcX2N0eXBlc1xsaWJmZmlfbXN2YyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9Ii9FWFBPUlQ6RGxsR2V0Q2xhc3NPYmplY3QsUFJJVkFURSAvRVhQT1JUOkRsbENhblVubG9hZE5vdyxQUklWQVRFIg0KLQkJCQlTdWJTeXN0ZW09IjAiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMUEwMDAwIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iSGVhZGVyIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2N0eXBlc1xjdHlwZXMuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2N0eXBlc1xjdHlwZXNfZGxmY24uaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2N0eXBlc1xsaWJmZmlfbXN2Y1xmZmkuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2N0eXBlc1xsaWJmZmlfbXN2Y1xmZmlfY29tbW9uLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9jdHlwZXNcbGliZmZpX21zdmNcZmZpY29uZmlnLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9jdHlwZXNcbGliZmZpX21zdmNcZmZpdGFyZ2V0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJTb3VyY2UgRmlsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfY3R5cGVzXF9jdHlwZXMuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2N0eXBlc1xjYWxsYmFja3MuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2N0eXBlc1xjYWxscHJvYy5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfY3R5cGVzXGNmaWVsZC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfY3R5cGVzXGxpYmZmaV9tc3ZjXGZmaS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfY3R5cGVzXG1hbGxvY19jbG9zdXJlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9jdHlwZXNcbGliZmZpX21zdmNccHJlcF9jaWYuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2N0eXBlc1xzdGdkaWN0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9jdHlwZXNcbGliZmZpX21zdmNcd2luMzIuYyINCi0JCQkJPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IkRlYnVnfHg2NCINCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KLQkJCQkJPg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQkJLz4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJSZWxlYXNlfHg2NCINCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KLQkJCQkJPg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQkJLz4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJQR0luc3RydW1lbnR8eDY0Ig0KLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQotCQkJCQk+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCQkvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IlBHVXBkYXRlfHg2NCINCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KLQkJCQkJPg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQkJLz4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9jdHlwZXNcbGliZmZpX21zdmNcd2luNjQuYXNtIg0KLQkJCQk+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCi0JCQkJCT4NCi0JCQkJCTxUb29sDQotCQkJCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJCQkvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IkRlYnVnfHg2NCINCi0JCQkJCT4NCi0JCQkJCTxUb29sDQotCQkJCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJCQkJQ29tbWFuZExpbmU9Im1sNjQgL25vbG9nbyAvYyAvWmkgL0ZvICZxdW90OyQoSW50RGlyKVx3aW42NC5vYmomcXVvdDsgJnF1b3Q7JChJbnB1dFBhdGgpJnF1b3Q7JiN4MEQ7JiN4MEE7Ig0KLQkJCQkJCU91dHB1dHM9IiQoSW50RGlyKVx3aW42NC5vYmoiDQotCQkJCQkvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCi0JCQkJCT4NCi0JCQkJCTxUb29sDQotCQkJCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJCQkvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IlJlbGVhc2V8eDY0Ig0KLQkJCQkJPg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkJCQlDb21tYW5kTGluZT0ibWw2NCAvbm9sb2dvIC9jIC9GbyAmcXVvdDskKEludERpcilcd2luNjQub2JqJnF1b3Q7ICZxdW90OyQoSW5wdXRQYXRoKSZxdW90OyYjeDBEOyYjeDBBOyINCi0JCQkJCQlPdXRwdXRzPSIkKEludERpcilcd2luNjQub2JqIg0KLQkJCQkJLz4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJQR0luc3RydW1lbnR8V2luMzIiDQotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCi0JCQkJCT4NCi0JCQkJCTxUb29sDQotCQkJCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJCQkvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IlBHSW5zdHJ1bWVudHx4NjQiDQotCQkJCQk+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCQkJCUNvbW1hbmRMaW5lPSJtbDY0IC9ub2xvZ28gL2MgL0ZvICZxdW90OyQoSW50RGlyKVx3aW42NC5vYmomcXVvdDsgJnF1b3Q7JChJbnB1dFBhdGgpJnF1b3Q7JiN4MEQ7JiN4MEE7Ig0KLQkJCQkJCU91dHB1dHM9IiQoSW50RGlyKVx3aW42NC5vYmoiDQotCQkJCQkvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IlBHVXBkYXRlfFdpbjMyIg0KLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQotCQkJCQk+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCQkJLz4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJQR1VwZGF0ZXx4NjQiDQotCQkJCQk+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCQkJCUNvbW1hbmRMaW5lPSJtbDY0IC9ub2xvZ28gL2MgL0ZvICZxdW90OyQoSW50RGlyKVx3aW42NC5vYmomcXVvdDsgJnF1b3Q7JChJbnB1dFBhdGgpJnF1b3Q7JiN4MEQ7JiN4MEE7Ig0KLQkJCQkJCU91dHB1dHM9IiQoSW50RGlyKVx3aW42NC5vYmoiDQotCQkJCQkvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzkuMC9fY3R5cGVzX3Rlc3QudmNwcm9qIGIvUEMvVlM5LjAvX2N0eXBlc190ZXN0LnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzAzMzU0Ni4uMDAwMDAwMAotLS0gYS9QQy9WUzkuMC9fY3R5cGVzX3Rlc3QudmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsNTIxICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI5LjAwIg0KLQlOYW1lPSJfY3R5cGVzX3Rlc3QiDQotCVByb2plY3RHVUlEPSJ7OUVDNzE5MEEtMjQ5Ri00MTgwLUE5MDAtNTQ4RkRDRjMwNTVGfSINCi0JUm9vdE5hbWVzcGFjZT0iX2N0eXBlc190ZXN0Ig0KLQlLZXl3b3JkPSJXaW4zMlByb2oiDQotCVRhcmdldEZyYW1ld29ya1ZlcnNpb249IjE5NjYxMyINCi0JPg0KLQk8UGxhdGZvcm1zPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0iV2luMzIiDQotCQkvPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0ieDY0Ig0KLQkJLz4NCi0JPC9QbGF0Zm9ybXM+DQotCTxUb29sRmlsZXM+DQotCTwvVG9vbEZpbGVzPg0KLQk8Q29uZmlndXJhdGlvbnM+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iSGVhZGVyIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2N0eXBlc1xfY3R5cGVzX3Rlc3QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlNvdXJjZSBGaWxlcyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9jdHlwZXNcX2N0eXBlc190ZXN0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JPC9GaWxlcz4NCi0JPEdsb2JhbHM+DQotCTwvR2xvYmFscz4NCi08L1Zpc3VhbFN0dWRpb1Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvUEMvVlM5LjAvX2RlY2ltYWwudmNwcm9qIGIvUEMvVlM5LjAvX2RlY2ltYWwudmNwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiOWZhYmIwLi4wMDAwMDAwCi0tLSBhL1BDL1ZTOS4wL19kZWNpbWFsLnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDc0MyArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOS4wMCINCi0JTmFtZT0iX2RlY2ltYWwiDQotCVByb2plY3RHVUlEPSJ7MEU5NzkxREItNTkzQS00NjVGLTk4QkMtNjgxMDExMzExNjE3fSINCi0JUm9vdE5hbWVzcGFjZT0iX2RlY2ltYWwiDQotCUtleXdvcmQ9IldpbjMyUHJvaiINCi0JVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iMTk2NjEzIg0KLQk+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiINCi0JCS8+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJ4NjQiDQotCQkvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPFRvb2xGaWxlcz4NCi0JPC9Ub29sRmlsZXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9Ii9EX0NSVF9TRUNVUkVfTk9fV0FSTklOR1MgL0RDT05GSUdfMzIgL0RQUFJPIC9ETUFTTSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cTW9kdWxlc1xfZGVjaW1hbDsuLlwuLlxNb2R1bGVzXF9kZWNpbWFsXGxpYm1wZGVjIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDFBMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3x4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9Ii9EX0NSVF9TRUNVUkVfTk9fV0FSTklOR1MgL0RDT05GSUdfNjQgL0RNQVNNIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxNb2R1bGVzXF9kZWNpbWFsOy4uXC4uXE1vZHVsZXNcX2RlY2ltYWxcbGlibXBkZWMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMUEwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iL0RfQ1JUX1NFQ1VSRV9OT19XQVJOSU5HUyAvRENPTkZJR18zMiAvRFBQUk8gL0RNQVNNIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxNb2R1bGVzXF9kZWNpbWFsOy4uXC4uXE1vZHVsZXNcX2RlY2ltYWxcbGlibXBkZWMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCVN1YlN5c3RlbT0iMCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxQTAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iL0RfQ1JUX1NFQ1VSRV9OT19XQVJOSU5HUyAvRENPTkZJR182NCAvRE1BU00iDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXE1vZHVsZXNcX2RlY2ltYWw7Li5cLi5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlYyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJU3ViU3lzdGVtPSIwIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDFBMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIvRF9DUlRfU0VDVVJFX05PX1dBUk5JTkdTIC9EQ09ORklHXzMyIC9EUFBSTyAvRE1BU00iDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXE1vZHVsZXNcX2RlY2ltYWw7Li5cLi5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlYyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJU3ViU3lzdGVtPSIwIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDFBMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iL0RfQ1JUX1NFQ1VSRV9OT19XQVJOSU5HUyAvRENPTkZJR182NCAvRE1BU00iDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXE1vZHVsZXNcX2RlY2ltYWw7Li5cLi5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlYyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJU3ViU3lzdGVtPSIwIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDFBMDAwMCINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9Ii9EX0NSVF9TRUNVUkVfTk9fV0FSTklOR1MgL0RDT05GSUdfMzIgL0RQUFJPIC9ETUFTTSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cTW9kdWxlc1xfZGVjaW1hbDsuLlwuLlxNb2R1bGVzXF9kZWNpbWFsXGxpYm1wZGVjIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlTdWJTeXN0ZW09IjAiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMUEwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iL0RfQ1JUX1NFQ1VSRV9OT19XQVJOSU5HUyAvRENPTkZJR182NCAvRE1BU00iDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXE1vZHVsZXNcX2RlY2ltYWw7Li5cLi5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlYyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJU3ViU3lzdGVtPSIwIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDFBMDAwMCINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JPC9Db25maWd1cmF0aW9ucz4NCi0JPFJlZmVyZW5jZXM+DQotCTwvUmVmZXJlbmNlcz4NCi0JPEZpbGVzPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IkhlYWRlciBGaWxlcyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9kZWNpbWFsXGxpYm1wZGVjXGJhc2Vhcml0aC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlY1xiaXRzLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9kZWNpbWFsXGxpYm1wZGVjXGNvbnN0YW50cy5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlY1xjb252b2x1dGUuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2RlY2ltYWxcbGlibXBkZWNcY3J0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9kZWNpbWFsXGxpYm1wZGVjXGRpZnJhZGl4Mi5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfZGVjaW1hbFxkb2NzdHJpbmdzLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9kZWNpbWFsXGxpYm1wZGVjXGZudC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlY1xmb3Vyc3RlcC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlY1xtcGRlY2ltYWwuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2RlY2ltYWxcbGlibXBkZWNcbnVtYmVydGhlb3J5LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9kZWNpbWFsXGxpYm1wZGVjXHNpeHN0ZXAuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2RlY2ltYWxcbGlibXBkZWNcdHJhbnNwb3NlLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9kZWNpbWFsXGxpYm1wZGVjXHR5cGVhcml0aC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlY1x1bW9kYXJpdGguaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2RlY2ltYWxcbGlibXBkZWNcdmNjb21wYXQuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2RlY2ltYWxcbGlibXBkZWNcdmNzdGRpbnQuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlNvdXJjZSBGaWxlcyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9kZWNpbWFsXF9kZWNpbWFsLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9kZWNpbWFsXGxpYm1wZGVjXGJhc2Vhcml0aC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlY1xjb25zdGFudHMuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2RlY2ltYWxcbGlibXBkZWNcY29udGV4dC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlY1xjb252b2x1dGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2RlY2ltYWxcbGlibXBkZWNcY3J0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9kZWNpbWFsXGxpYm1wZGVjXGRpZnJhZGl4Mi5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlY1xmbnQuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2RlY2ltYWxcbGlibXBkZWNcZm91cnN0ZXAuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2RlY2ltYWxcbGlibXBkZWNcaW8uYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2RlY2ltYWxcbGlibXBkZWNcbWVtb3J5LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9kZWNpbWFsXGxpYm1wZGVjXG1wZGVjaW1hbC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlY1xudW1iZXJ0aGVvcnkuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2RlY2ltYWxcbGlibXBkZWNcc2l4c3RlcC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlY1x0cmFuc3Bvc2UuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2RlY2ltYWxcbGlibXBkZWNcdmNkaXY2NC5hc20iDQotCQkJCT4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KLQkJCQkJPg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkJCS8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iRGVidWd8eDY0Ig0KLQkJCQkJPg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkJCQlDb21tYW5kTGluZT0ibWw2NCAvbm9sb2dvIC9jIC9aaSAvRm8gJnF1b3Q7JChJbnREaXIpXHZjZGl2NjQub2JqJnF1b3Q7ICZxdW90OyQoSW5wdXRQYXRoKSZxdW90OyYjeDBEOyYjeDBBOyINCi0JCQkJCQlPdXRwdXRzPSIkKEludERpcilcdmNkaXY2NC5vYmoiDQotCQkJCQkvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCi0JCQkJCT4NCi0JCQkJCTxUb29sDQotCQkJCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJCQkvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IlJlbGVhc2V8eDY0Ig0KLQkJCQkJPg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkJCQlDb21tYW5kTGluZT0ibWw2NCAvbm9sb2dvIC9jIC9aaSAvRm8gJnF1b3Q7JChJbnREaXIpXHZjZGl2NjQub2JqJnF1b3Q7ICZxdW90OyQoSW5wdXRQYXRoKSZxdW90OyYjeDBEOyYjeDBBOyINCi0JCQkJCQlPdXRwdXRzPSIkKEludERpcilcdmNkaXY2NC5vYmoiDQotCQkJCQkvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IlBHSW5zdHJ1bWVudHxXaW4zMiINCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KLQkJCQkJPg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkJCS8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUEdJbnN0cnVtZW50fHg2NCINCi0JCQkJCT4NCi0JCQkJCTxUb29sDQotCQkJCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJCQkJQ29tbWFuZExpbmU9Im1sNjQgL25vbG9nbyAvYyAvRm8gJnF1b3Q7JChJbnREaXIpXHZjZGl2NjQub2JqJnF1b3Q7ICZxdW90OyQoSW5wdXRQYXRoKSZxdW90OyYjeDBEOyYjeDBBOyINCi0JCQkJCQlPdXRwdXRzPSIkKEludERpcilcdmNkaXY2NC5vYmoiDQotCQkJCQkvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IlBHVXBkYXRlfFdpbjMyIg0KLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQotCQkJCQk+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCQkJLz4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJQR1VwZGF0ZXx4NjQiDQotCQkJCQk+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCQkJCUNvbW1hbmRMaW5lPSJtbDY0IC9ub2xvZ28gL2MgL0ZvICZxdW90OyQoSW50RGlyKVx2Y2RpdjY0Lm9iaiZxdW90OyAmcXVvdDskKElucHV0UGF0aCkmcXVvdDsmI3gwRDsmI3gwQTsiDQotCQkJCQkJT3V0cHV0cz0iJChJbnREaXIpXHZjZGl2NjQub2JqIg0KLQkJCQkJLz4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JPC9GaWxlcz4NCi0JPEdsb2JhbHM+DQotCTwvR2xvYmFscz4NCi08L1Zpc3VhbFN0dWRpb1Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvUEMvVlM5LjAvX2VsZW1lbnR0cmVlLnZjcHJvaiBiL1BDL1ZTOS4wL19lbGVtZW50dHJlZS52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY5ZDczNzUuLjAwMDAwMDAKLS0tIGEvUEMvVlM5LjAvX2VsZW1lbnR0cmVlLnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDYxMyArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOS4wMCINCi0JTmFtZT0iX2VsZW1lbnR0cmVlIg0KLQlQcm9qZWN0R1VJRD0iezE3RTFFMDQ5LUMzMDktNEQ3OS04NDNGLUFFNDgzQzI2NEFFQX0iDQotCVJvb3ROYW1lc3BhY2U9Il9lbGVtZW50dHJlZSINCi0JS2V5d29yZD0iV2luMzJQcm9qIg0KLQlUYXJnZXRGcmFtZXdvcmtWZXJzaW9uPSIxOTY2MTMiDQotCT4NCi0JPFBsYXRmb3Jtcz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9IldpbjMyIg0KLQkJLz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9Ing2NCINCi0JCS8+DQotCTwvUGxhdGZvcm1zPg0KLQk8VG9vbEZpbGVzPg0KLQk8L1Rvb2xGaWxlcz4NCi0JPENvbmZpZ3VyYXRpb25zPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWRfZC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxNb2R1bGVzXGV4cGF0Ig0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iWE1MX05TO1hNTF9EVEQ7QllURU9SREVSPTEyMzQ7WE1MX0NPTlRFWFRfQllURVM9MTAyNDtVU0VfUFlFWFBBVF9DQVBJO1hNTF9TVEFUSUM7SEFWRV9NRU1NT1ZFIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDEwMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3x4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cTW9kdWxlc1xleHBhdCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IlhNTF9OUztYTUxfRFREO0JZVEVPUkRFUj0xMjM0O1hNTF9DT05URVhUX0JZVEVTPTEwMjQ7VVNFX1BZRVhQQVRfQ0FQSTtYTUxfU1RBVElDO0hBVkVfTUVNTU9WRSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxMDAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXE1vZHVsZXNcZXhwYXQiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJYTUxfTlM7WE1MX0RURDtCWVRFT1JERVI9MTIzNDtYTUxfQ09OVEVYVF9CWVRFUz0xMDI0O1VTRV9QWUVYUEFUX0NBUEk7WE1MX1NUQVRJQztIQVZFX01FTU1PVkUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTAwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cTW9kdWxlc1xleHBhdCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IlhNTF9OUztYTUxfRFREO0JZVEVPUkRFUj0xMjM0O1hNTF9DT05URVhUX0JZVEVTPTEwMjQ7VVNFX1BZRVhQQVRfQ0FQSTtYTUxfU1RBVElDO0hBVkVfTUVNTU9WRSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxMDAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxNb2R1bGVzXGV4cGF0Ig0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iWE1MX05TO1hNTF9EVEQ7QllURU9SREVSPTEyMzQ7WE1MX0NPTlRFWFRfQllURVM9MTAyNDtVU0VfUFlFWFBBVF9DQVBJO1hNTF9TVEFUSUM7SEFWRV9NRU1NT1ZFIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDEwMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxNb2R1bGVzXGV4cGF0Ig0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iWE1MX05TO1hNTF9EVEQ7QllURU9SREVSPTEyMzQ7WE1MX0NPTlRFWFRfQllURVM9MTAyNDtVU0VfUFlFWFBBVF9DQVBJO1hNTF9TVEFUSUM7SEFWRV9NRU1NT1ZFIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDEwMDAwMCINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cTW9kdWxlc1xleHBhdCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IlhNTF9OUztYTUxfRFREO0JZVEVPUkRFUj0xMjM0O1hNTF9DT05URVhUX0JZVEVTPTEwMjQ7VVNFX1BZRVhQQVRfQ0FQSTtYTUxfU1RBVElDO0hBVkVfTUVNTU9WRSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxMDAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXE1vZHVsZXNcZXhwYXQiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJYTUxfTlM7WE1MX0RURDtCWVRFT1JERVI9MTIzNDtYTUxfQ09OVEVYVF9CWVRFUz0xMDI0O1VTRV9QWUVYUEFUX0NBUEk7WE1MX1NUQVRJQztIQVZFX01FTU1PVkUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTAwMDAwIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iSGVhZGVyIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcZXhwYXRcYXNjaWkuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcZXhwYXRcYXNjaWl0YWIuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcZXhwYXRcZXhwYXQuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcZXhwYXRcZXhwYXRfY29uZmlnLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGV4cGF0XGV4cGF0X2V4dGVybmFsLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGV4cGF0XGlhc2NpaXRhYi5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xleHBhdFxpbnRlcm5hbC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xleHBhdFxsYXRpbjF0YWIuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcZXhwYXRcbWFjY29uZmlnLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGV4cGF0XG5hbWV0YWIuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcZXhwYXRccHlleHBhdG5zLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGV4cGF0XHV0Zjh0YWIuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcZXhwYXRcd2luY29uZmlnLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGV4cGF0XHhtbHJvbGUuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcZXhwYXRceG1sdG9rLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJTb3VyY2UgRmlsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfZWxlbWVudHRyZWUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcZXhwYXRceG1scGFyc2UuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcZXhwYXRceG1scm9sZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xleHBhdFx4bWx0b2suYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzkuMC9faGFzaGxpYi52Y3Byb2ogYi9QQy9WUzkuMC9faGFzaGxpYi52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc3NDE3ZWMuLjAwMDAwMDAKLS0tIGEvUEMvVlM5LjAvX2hhc2hsaWIudmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsNTM3ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI5LjAwIg0KLQlOYW1lPSJfaGFzaGxpYiINCi0JUHJvamVjdEdVSUQ9Ins0NDdGMDVBOC1GNTgxLTRDQUMtQTQ2Ni01QUM3OTM2RTIwN0V9Ig0KLQlSb290TmFtZXNwYWNlPSJfaGFzaGxpYiINCi0JS2V5d29yZD0iV2luMzJQcm9qIg0KLQlUYXJnZXRGcmFtZXdvcmtWZXJzaW9uPSIxOTY2MTMiDQotCT4NCi0JPFBsYXRmb3Jtcz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9IldpbjMyIg0KLQkJLz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9Ing2NCINCi0JCS8+DQotCTwvUGxhdGZvcm1zPg0KLQk8VG9vbEZpbGVzPg0KLQk8L1Rvb2xGaWxlcz4NCi0JPENvbmZpZ3VyYXRpb25zPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWRfZC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKG9wZW5zc2xEaXIpXGluYzMyIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCQlDb21tYW5kTGluZT0iIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliICQob3BlbnNzbERpcilcb3V0MzJcbGliZWF5MzIubGliICQob3BlbnNzbERpcilcb3V0MzJcc3NsZWF5MzIubGliIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWRfZC52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKG9wZW5zc2xEaXIpXGluYzY0Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCQlDb21tYW5kTGluZT0iIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliICQob3BlbnNzbERpcilcb3V0NjRcbGliZWF5MzIubGliICQob3BlbnNzbERpcilcb3V0NjRcc3NsZWF5MzIubGliIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKG9wZW5zc2xEaXIpXGluYzMyIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCQlDb21tYW5kTGluZT0iIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliICQob3BlbnNzbERpcilcb3V0MzJcbGliZWF5MzIubGliICQob3BlbnNzbERpcilcb3V0MzJcc3NsZWF5MzIubGliIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJChvcGVuc3NsRGlyKVxpbmM2NCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkJQ29tbWFuZExpbmU9IiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiAkKG9wZW5zc2xEaXIpXG91dDY0XGxpYmVheTMyLmxpYiAkKG9wZW5zc2xEaXIpXG91dDY0XHNzbGVheTMyLmxpYiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQob3BlbnNzbERpcilcaW5jMzIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJCUNvbW1hbmRMaW5lPSIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIgJChvcGVuc3NsRGlyKVxvdXQzMlxsaWJlYXkzMi5saWIgJChvcGVuc3NsRGlyKVxvdXQzMlxzc2xlYXkzMi5saWIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJChvcGVuc3NsRGlyKVxpbmM2NCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkJQ29tbWFuZExpbmU9IiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiAkKG9wZW5zc2xEaXIpXG91dDY0XGxpYmVheTMyLmxpYiAkKG9wZW5zc2xEaXIpXG91dDY0XHNzbGVheTMyLmxpYiINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJChvcGVuc3NsRGlyKVxpbmMzMiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkJQ29tbWFuZExpbmU9IiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiAkKG9wZW5zc2xEaXIpXG91dDMyXGxpYmVheTMyLmxpYiAkKG9wZW5zc2xEaXIpXG91dDMyXHNzbGVheTMyLmxpYiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJChvcGVuc3NsRGlyKVxpbmM2NCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkJQ29tbWFuZExpbmU9IiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiAkKG9wZW5zc2xEaXIpXG91dDY0XGxpYmVheTMyLmxpYiAkKG9wZW5zc2xEaXIpXG91dDY0XHNzbGVheTMyLmxpYiINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JPC9Db25maWd1cmF0aW9ucz4NCi0JPFJlZmVyZW5jZXM+DQotCTwvUmVmZXJlbmNlcz4NCi0JPEZpbGVzPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlNvdXJjZSBGaWxlcyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9oYXNob3BlbnNzbC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCTwvRmlsZXM+DQotCTxHbG9iYWxzPg0KLQk8L0dsb2JhbHM+DQotPC9WaXN1YWxTdHVkaW9Qcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL19sem1hLnZjcHJvaiBiL1BDL1ZTOS4wL19sem1hLnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2M2MDAzZi4uMDAwMDAwMAotLS0gYS9QQy9WUzkuMC9fbHptYS52Y3Byb2oKKysrIC9kZXYvbnVsbApAQCAtMSw1MzcgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb2plY3QNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjkuMDAiDQotCU5hbWU9Il9sem1hIg0KLQlQcm9qZWN0R1VJRD0ie0Y5RDcxNzgwLUYzOTMtMTFFMC1CRTUwLTA4MDAyMDBDOUE2Nn0iDQotCVJvb3ROYW1lc3BhY2U9Imx6bWEiDQotCUtleXdvcmQ9IldpbjMyUHJvaiINCi0JVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iMTk2NjEzIg0KLQk+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiINCi0JCS8+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJ4NjQiDQotCQkvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPFRvb2xGaWxlcz4NCi0JPC9Ub29sRmlsZXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJChsem1hRGlyKVxpbmNsdWRlIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lOMzI7X0ZJTEVfT0ZGU0VUX0JJVFM9NjQ7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7TFpNQV9BUElfU1RBVElDIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSIkKGx6bWFEaXIpXGJpbl9pNDg2XGxpYmx6bWEuYSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3x4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJChsem1hRGlyKVxpbmNsdWRlIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lOMzI7X0ZJTEVfT0ZGU0VUX0JJVFM9NjQ7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7TFpNQV9BUElfU1RBVElDIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSIkKGx6bWFEaXIpXGJpbl94ODYtNjRcbGlibHptYS5hIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKGx6bWFEaXIpXGluY2x1ZGUiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtfRklMRV9PRkZTRVRfQklUUz02NDtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtMWk1BX0FQSV9TVEFUSUMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IiQobHptYURpcilcYmluX2k0ODZcbGlibHptYS5hIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJChsem1hRGlyKVxpbmNsdWRlIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lOMzI7X0ZJTEVfT0ZGU0VUX0JJVFM9NjQ7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7TFpNQV9BUElfU1RBVElDIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSIkKGx6bWFEaXIpXGJpbl94ODYtNjRcbGlibHptYS5hIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJChsem1hRGlyKVxpbmNsdWRlIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lOMzI7X0ZJTEVfT0ZGU0VUX0JJVFM9NjQ7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7TFpNQV9BUElfU1RBVElDIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSIkKGx6bWFEaXIpXGJpbl9pNDg2XGxpYmx6bWEuYSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKGx6bWFEaXIpXGluY2x1ZGUiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtfRklMRV9PRkZTRVRfQklUUz02NDtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtMWk1BX0FQSV9TVEFUSUMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IiQobHptYURpcilcYmluX3g4Ni02NFxsaWJsem1hLmEiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQobHptYURpcilcaW5jbHVkZSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO19GSUxFX09GRlNFVF9CSVRTPTY0O19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO0xaTUFfQVBJX1NUQVRJQyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iJChsem1hRGlyKVxiaW5faTQ4NlxsaWJsem1hLmEiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQobHptYURpcilcaW5jbHVkZSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO19GSUxFX09GRlNFVF9CSVRTPTY0O19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO0xaTUFfQVBJX1NUQVRJQyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iJChsem1hRGlyKVxiaW5feDg2LTY0XGxpYmx6bWEuYSINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JPC9Db25maWd1cmF0aW9ucz4NCi0JPFJlZmVyZW5jZXM+DQotCTwvUmVmZXJlbmNlcz4NCi0JPEZpbGVzPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlNvdXJjZSBGaWxlcyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9sem1hbW9kdWxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JPC9GaWxlcz4NCi0JPEdsb2JhbHM+DQotCTwvR2xvYmFscz4NCi08L1Zpc3VhbFN0dWRpb1Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvUEMvVlM5LjAvX21zaS52Y3Byb2ogYi9QQy9WUzkuMC9fbXNpLnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2IyMzBlMS4uMDAwMDAwMAotLS0gYS9QQy9WUzkuMC9fbXNpLnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDUyOSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOS4wMCINCi0JTmFtZT0iX21zaSINCi0JUHJvamVjdEdVSUQ9InszMUZGQzQ3OC03QjRBLTQzRTgtOTk1NC04RDAzRTIxODdFOUN9Ig0KLQlSb290TmFtZXNwYWNlPSJfbXNpIg0KLQlLZXl3b3JkPSJXaW4zMlByb2oiDQotCVRhcmdldEZyYW1ld29ya1ZlcnNpb249IjE5NjYxMyINCi0JPg0KLQk8UGxhdGZvcm1zPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0iV2luMzIiDQotCQkvPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0ieDY0Ig0KLQkJLz4NCi0JPC9QbGF0Zm9ybXM+DQotCTxUb29sRmlsZXM+DQotCTwvVG9vbEZpbGVzPg0KLQk8Q29uZmlndXJhdGlvbnM+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9ImZjaS5saWIgbXNpLmxpYiBycGNydDQubGliIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDE2MDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3x4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iZmNpLmxpYiBtc2kubGliIHJwY3J0NC5saWIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTYwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJmY2kubGliIG1zaS5saWIgcnBjcnQ0LmxpYiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxNjAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJmY2kubGliIG1zaS5saWIgcnBjcnQ0LmxpYiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxNjAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJmY2kubGliIG1zaS5saWIgcnBjcnQ0LmxpYiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxNjAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iZmNpLmxpYiBtc2kubGliIHJwY3J0NC5saWIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTYwMDAwIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJmY2kubGliIG1zaS5saWIgcnBjcnQ0LmxpYiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxNjAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9ImZjaS5saWIgbXNpLmxpYiBycGNydDQubGliIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDE2MDAwMCINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JPC9Db25maWd1cmF0aW9ucz4NCi0JPFJlZmVyZW5jZXM+DQotCTwvUmVmZXJlbmNlcz4NCi0JPEZpbGVzPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlNvdXJjZSBGaWxlcyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQQ1xfbXNpLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JPC9GaWxlcz4NCi0JPEdsb2JhbHM+DQotCTwvR2xvYmFscz4NCi08L1Zpc3VhbFN0dWRpb1Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvUEMvVlM5LjAvX211bHRpcHJvY2Vzc2luZy52Y3Byb2ogYi9QQy9WUzkuMC9fbXVsdGlwcm9jZXNzaW5nLnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmIzZDFlNy4uMDAwMDAwMAotLS0gYS9QQy9WUzkuMC9fbXVsdGlwcm9jZXNzaW5nLnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDU0MSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOS4wMCINCi0JTmFtZT0iX211bHRpcHJvY2Vzc2luZyINCi0JUHJvamVjdEdVSUQ9Ins5RTQ4QjMwMC0zN0QxLTExREQtOEM0MS0wMDUwNTZDMDAwMDh9Ig0KLQlSb290TmFtZXNwYWNlPSJfbXVsdGlwcm9jZXNzaW5nIg0KLQlLZXl3b3JkPSJXaW4zMlByb2oiDQotCVRhcmdldEZyYW1ld29ya1ZlcnNpb249IjE5NjYxMyINCi0JPg0KLQk8UGxhdGZvcm1zPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0iV2luMzIiDQotCQkvPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0ieDY0Ig0KLQkJLz4NCi0JPC9QbGF0Zm9ybXM+DQotCTxUb29sRmlsZXM+DQotCTwvVG9vbEZpbGVzPg0KLQk8Q29uZmlndXJhdGlvbnM+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMUQwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWRfZC52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTFEMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxRDAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTFEMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMUQwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMUQwMDAwIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTFEMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxRDAwMDAiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCTwvQ29uZmlndXJhdGlvbnM+DQotCTxSZWZlcmVuY2VzPg0KLQk8L1JlZmVyZW5jZXM+DQotCTxGaWxlcz4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJIZWFkZXIgRmlsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfbXVsdGlwcm9jZXNzaW5nXG11bHRpcHJvY2Vzc2luZy5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX211bHRpcHJvY2Vzc2luZ1xtdWx0aXByb2Nlc3NpbmcuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX211bHRpcHJvY2Vzc2luZ1xzZW1hcGhvcmUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzkuMC9fc29ja2V0LnZjcHJvaiBiL1BDL1ZTOS4wL19zb2NrZXQudmNwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZjFmNmQ0Li4wMDAwMDAwCi0tLSBhL1BDL1ZTOS4wL19zb2NrZXQudmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsNTM3ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI5LjAwIg0KLQlOYW1lPSJfc29ja2V0Ig0KLQlQcm9qZWN0R1VJRD0iezg2OTM3RjUzLUMxODktNDBFRi04Q0U4LTg3NTlEOEU3RDQ4MH0iDQotCVJvb3ROYW1lc3BhY2U9Il9zb2NrZXQiDQotCUtleXdvcmQ9IldpbjMyUHJvaiINCi0JVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iMTk2NjEzIg0KLQk+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiINCi0JCS8+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJ4NjQiDQotCQkvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPFRvb2xGaWxlcz4NCi0JPC9Ub29sRmlsZXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxRDAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMUQwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTFEMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMUQwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxRDAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxRDAwMDAiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMUQwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTFEMDAwMCINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JPC9Db25maWd1cmF0aW9ucz4NCi0JPFJlZmVyZW5jZXM+DQotCTwvUmVmZXJlbmNlcz4NCi0JPEZpbGVzPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IkhlYWRlciBGaWxlcyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHNvY2tldG1vZHVsZS5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcc29ja2V0bW9kdWxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JPC9GaWxlcz4NCi0JPEdsb2JhbHM+DQotCTwvR2xvYmFscz4NCi08L1Zpc3VhbFN0dWRpb1Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvUEMvVlM5LjAvX3NxbGl0ZTMudmNwcm9qIGIvUEMvVlM5LjAvX3NxbGl0ZTMudmNwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MmM1N2FlLi4wMDAwMDAwCi0tLSBhL1BDL1ZTOS4wL19zcWxpdGUzLnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDYwOSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOS4wMCINCi0JTmFtZT0iX3NxbGl0ZTMiDQotCVByb2plY3RHVUlEPSJ7MTNDRUNCOTctNDExOS00MzE2LTlENDItODUzNDAxOUE1QTQ0fSINCi0JUm9vdE5hbWVzcGFjZT0iX3NxbGl0ZTMiDQotCUtleXdvcmQ9IldpbjMyUHJvaiINCi0JVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iMTk2NjEzIg0KLQk+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiINCi0JCS8+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJ4NjQiDQotCQkvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPFRvb2xGaWxlcz4NCi0JPC9Ub29sRmlsZXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJChzcWxpdGUzRGlyKSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Ik1PRFVMRV9OQU1FPVwmcXVvdDtzcWxpdGUzXCZxdW90OyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxODAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQoc3FsaXRlM0RpcikiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJNT0RVTEVfTkFNRT1cJnF1b3Q7c3FsaXRlM1wmcXVvdDsiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMTgwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKHNxbGl0ZTNEaXIpIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTU9EVUxFX05BTUU9XCZxdW90O3NxbGl0ZTNcJnF1b3Q7Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTE4MDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQoc3FsaXRlM0RpcikiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJNT0RVTEVfTkFNRT1cJnF1b3Q7c3FsaXRlM1wmcXVvdDsiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMTgwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJChzcWxpdGUzRGlyKSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Ik1PRFVMRV9OQU1FPVwmcXVvdDtzcWxpdGUzXCZxdW90OyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxODAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJChzcWxpdGUzRGlyKSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Ik1PRFVMRV9OQU1FPVwmcXVvdDtzcWxpdGUzXCZxdW90OyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxODAwMDAiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQoc3FsaXRlM0RpcikiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJNT0RVTEVfTkFNRT1cJnF1b3Q7c3FsaXRlM1wmcXVvdDsiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMTgwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKHNxbGl0ZTNEaXIpIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTU9EVUxFX05BTUU9XCZxdW90O3NxbGl0ZTNcJnF1b3Q7Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTE4MDAwMCINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JPC9Db25maWd1cmF0aW9ucz4NCi0JPFJlZmVyZW5jZXM+DQotCTwvUmVmZXJlbmNlcz4NCi0JPEZpbGVzPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IkhlYWRlciBGaWxlcyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9zcWxpdGVcY2FjaGUuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3NxbGl0ZVxjb25uZWN0aW9uLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9zcWxpdGVcY3Vyc29yLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9zcWxpdGVcbWljcm9wcm90b2NvbHMuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3NxbGl0ZVxtb2R1bGUuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3NxbGl0ZVxwcmVwYXJlX3Byb3RvY29sLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9zcWxpdGVccm93LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9zcWxpdGVcc3RhdGVtZW50LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9zcWxpdGVcdXRpbC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3NxbGl0ZVxjYWNoZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfc3FsaXRlXGNvbm5lY3Rpb24uYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3NxbGl0ZVxjdXJzb3IuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3NxbGl0ZVxtaWNyb3Byb3RvY29scy5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfc3FsaXRlXG1vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfc3FsaXRlXHByZXBhcmVfcHJvdG9jb2wuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3NxbGl0ZVxyb3cuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3NxbGl0ZVxzdGF0ZW1lbnQuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3NxbGl0ZVx1dGlsLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JPC9GaWxlcz4NCi0JPEdsb2JhbHM+DQotCTwvR2xvYmFscz4NCi08L1Zpc3VhbFN0dWRpb1Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvUEMvVlM5LjAvX3NzbC52Y3Byb2ogYi9QQy9WUzkuMC9fc3NsLnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjQ3ZGMyNy4uMDAwMDAwMAotLS0gYS9QQy9WUzkuMC9fc3NsLnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDUzNyArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOSwwMCINCi0JTmFtZT0iX3NzbCINCi0JUHJvamVjdEdVSUQ9IntDNkUyMEY4NC0zMjQ3LTRBRDYtQjA1MS1CMDczMjY4RjczQkF9Ig0KLQlSb290TmFtZXNwYWNlPSJfc3NsIg0KLQlLZXl3b3JkPSJXaW4zMlByb2oiDQotCVRhcmdldEZyYW1ld29ya1ZlcnNpb249IjE5NjYxMyINCi0JPg0KLQk8UGxhdGZvcm1zPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0iV2luMzIiDQotCQkvPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0ieDY0Ig0KLQkJLz4NCi0JPC9QbGF0Zm9ybXM+DQotCTxUb29sRmlsZXM+DQotCTwvVG9vbEZpbGVzPg0KLQk8Q29uZmlndXJhdGlvbnM+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQob3BlbnNzbERpcilcaW5jMzIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJCUNvbW1hbmRMaW5lPSIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIgY3J5cHQzMi5saWIgJChvcGVuc3NsRGlyKVxvdXQzMlxsaWJlYXkzMi5saWIgJChvcGVuc3NsRGlyKVxvdXQzMlxzc2xlYXkzMi5saWIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQob3BlbnNzbERpcilcaW5jNjQiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJCUNvbW1hbmRMaW5lPSIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIgY3J5cHQzMi5saWIgJChvcGVuc3NsRGlyKVxvdXQ2NFxsaWJlYXkzMi5saWIgJChvcGVuc3NsRGlyKVxvdXQ2NFxzc2xlYXkzMi5saWIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQob3BlbnNzbERpcilcaW5jMzIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJCUNvbW1hbmRMaW5lPSIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIgY3J5cHQzMi5saWIgJChvcGVuc3NsRGlyKVxvdXQzMlxsaWJlYXkzMi5saWIgJChvcGVuc3NsRGlyKVxvdXQzMlxzc2xlYXkzMi5saWIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKG9wZW5zc2xEaXIpXGluYzY0Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCQlDb21tYW5kTGluZT0iIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIGNyeXB0MzIubGliICQob3BlbnNzbERpcilcb3V0NjRcbGliZWF5MzIubGliICQob3BlbnNzbERpcilcb3V0NjRcc3NsZWF5MzIubGliIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJChvcGVuc3NsRGlyKVxpbmMzMiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkJQ29tbWFuZExpbmU9IiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiBjcnlwdDMyLmxpYiAkKG9wZW5zc2xEaXIpXG91dDMyXGxpYmVheTMyLmxpYiAkKG9wZW5zc2xEaXIpXG91dDMyXHNzbGVheTMyLmxpYiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKG9wZW5zc2xEaXIpXGluYzY0Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCQlDb21tYW5kTGluZT0iIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIGNyeXB0MzIubGliICQob3BlbnNzbERpcilcb3V0NjRcbGliZWF5MzIubGliICQob3BlbnNzbERpcilcb3V0NjRcc3NsZWF5MzIubGliIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKG9wZW5zc2xEaXIpXGluYzMyIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCQlDb21tYW5kTGluZT0iIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIGNyeXB0MzIubGliICQob3BlbnNzbERpcilcb3V0MzJcbGliZWF5MzIubGliICQob3BlbnNzbERpcilcb3V0MzJcc3NsZWF5MzIubGliIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKG9wZW5zc2xEaXIpXGluYzY0Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCQlDb21tYW5kTGluZT0iIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIGNyeXB0MzIubGliICQob3BlbnNzbERpcilcb3V0NjRcbGliZWF5MzIubGliICQob3BlbnNzbERpcilcb3V0NjRcc3NsZWF5MzIubGliIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3NzbC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCTwvRmlsZXM+DQotCTxHbG9iYWxzPg0KLQk8L0dsb2JhbHM+DQotPC9WaXN1YWxTdHVkaW9Qcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL190ZXN0YnVmZmVyLnZjcHJvaiBiL1BDL1ZTOS4wL190ZXN0YnVmZmVyLnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDMzNzdlMS4uMDAwMDAwMAotLS0gYS9QQy9WUzkuMC9fdGVzdGJ1ZmZlci52Y3Byb2oKKysrIC9kZXYvbnVsbApAQCAtMSw1MjEgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb2plY3QNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjkuMDAiDQotCU5hbWU9Il90ZXN0YnVmZmVyIg0KLQlQcm9qZWN0R1VJRD0ie0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0iDQotCVJvb3ROYW1lc3BhY2U9Il90ZXN0YnVmZmVyIg0KLQlLZXl3b3JkPSJXaW4zMlByb2oiDQotCVRhcmdldEZyYW1ld29ya1ZlcnNpb249IjE5NjYxMyINCi0JPg0KLQk8UGxhdGZvcm1zPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0iV2luMzIiDQotCQkvPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0ieDY0Ig0KLQkJLz4NCi0JPC9QbGF0Zm9ybXM+DQotCTxUb29sRmlsZXM+DQotCTwvVG9vbEZpbGVzPg0KLQk8Q29uZmlndXJhdGlvbnM+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMUYwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWRfZC52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTFGMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxRjAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTFGMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMUYwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMUYwMDAwIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTFGMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxRjAwMDAiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCTwvQ29uZmlndXJhdGlvbnM+DQotCTxSZWZlcmVuY2VzPg0KLQk8L1JlZmVyZW5jZXM+DQotCTxGaWxlcz4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJTb3VyY2UgRmlsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfdGVzdGJ1ZmZlci5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCTwvRmlsZXM+DQotCTxHbG9iYWxzPg0KLQk8L0dsb2JhbHM+DQotPC9WaXN1YWxTdHVkaW9Qcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL190ZXN0Y2FwaS52Y3Byb2ogYi9QQy9WUzkuMC9fdGVzdGNhcGkudmNwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NTMzMDBhLi4wMDAwMDAwCi0tLSBhL1BDL1ZTOS4wL190ZXN0Y2FwaS52Y3Byb2oKKysrIC9kZXYvbnVsbApAQCAtMSw1MjEgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb2plY3QNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjkuMDAiDQotCU5hbWU9Il90ZXN0Y2FwaSINCi0JUHJvamVjdEdVSUQ9Ins2OTAxRDkxQy02RTQ4LTRCQjctOUZFQy03MDBDODEzMURGMUR9Ig0KLQlSb290TmFtZXNwYWNlPSJfdGVzdGNhcGkiDQotCUtleXdvcmQ9IldpbjMyUHJvaiINCi0JVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iMTk2NjEzIg0KLQk+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiINCi0JCS8+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJ4NjQiDQotCQkvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPFRvb2xGaWxlcz4NCi0JPC9Ub29sRmlsZXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxRjAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMUYwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTFGMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMUYwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxRjAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxRjAwMDAiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMUYwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTFGMDAwMCINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JPC9Db25maWd1cmF0aW9ucz4NCi0JPFJlZmVyZW5jZXM+DQotCTwvUmVmZXJlbmNlcz4NCi0JPEZpbGVzPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlNvdXJjZSBGaWxlcyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF90ZXN0Y2FwaW1vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCTwvRmlsZXM+DQotCTxHbG9iYWxzPg0KLQk8L0dsb2JhbHM+DQotPC9WaXN1YWxTdHVkaW9Qcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL190ZXN0aW1wb3J0bXVsdGlwbGUudmNwcm9qIGIvUEMvVlM5LjAvX3Rlc3RpbXBvcnRtdWx0aXBsZS52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE0ZDkxMGQuLjAwMDAwMDAKLS0tIGEvUEMvVlM5LjAvX3Rlc3RpbXBvcnRtdWx0aXBsZS52Y3Byb2oKKysrIC9kZXYvbnVsbApAQCAtMSw1MjEgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb2plY3QNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjkuMDAiDQotCU5hbWU9Il90ZXN0aW1wb3J0bXVsdGlwbGUiDQotCVByb2plY3RHVUlEPSJ7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfSINCi0JUm9vdE5hbWVzcGFjZT0iX3Rlc3RpbXBvcnRtdWx0aXBsZSINCi0JS2V5d29yZD0iV2luMzJQcm9qIg0KLQlUYXJnZXRGcmFtZXdvcmtWZXJzaW9uPSIxOTY2MTMiDQotCT4NCi0JPFBsYXRmb3Jtcz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9IldpbjMyIg0KLQkJLz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9Ing2NCINCi0JCS8+DQotCTwvUGxhdGZvcm1zPg0KLQk8VG9vbEZpbGVzPg0KLQk8L1Rvb2xGaWxlcz4NCi0JPENvbmZpZ3VyYXRpb25zPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWRfZC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTFGMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3x4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxRjAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMUYwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxRjAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTFGMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTFGMDAwMCINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxRjAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMUYwMDAwIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3Rlc3RpbXBvcnRtdWx0aXBsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCTwvRmlsZXM+DQotCTxHbG9iYWxzPg0KLQk8L0dsb2JhbHM+DQotPC9WaXN1YWxTdHVkaW9Qcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL190a2ludGVyLnZjcHJvaiBiL1BDL1ZTOS4wL190a2ludGVyLnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTE2MzMxNy4uMDAwMDAwMAotLS0gYS9QQy9WUzkuMC9fdGtpbnRlci52Y3Byb2oKKysrIC9kZXYvbnVsbApAQCAtMSw1NDEgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb2plY3QNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjkuMDAiDQotCU5hbWU9Il90a2ludGVyIg0KLQlQcm9qZWN0R1VJRD0iezQ5NDZFQ0FDLTJFNjktNEJGOC1BOTBBLUY1MTM2RjUwOTRERn0iDQotCVJvb3ROYW1lc3BhY2U9Il90a2ludGVyIg0KLQlLZXl3b3JkPSJXaW4zMlByb2oiDQotCVRhcmdldEZyYW1ld29ya1ZlcnNpb249IjE5NjYxMyINCi0JPg0KLQk8UGxhdGZvcm1zPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0iV2luMzIiDQotCQkvPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0ieDY0Ig0KLQkJLz4NCi0JPC9QbGF0Zm9ybXM+DQotCTxUb29sRmlsZXM+DQotCTwvVG9vbEZpbGVzPg0KLQk8Q29uZmlndXJhdGlvbnM+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQodGNsdGtEaXIpXGluY2x1ZGUiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSVRIX0FQUElOSVQiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IiQodGNsdGtMaWJEZWJ1ZykiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQodGNsdGs2NERpcilcaW5jbHVkZSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJVEhfQVBQSU5JVCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iJCh0Y2x0azY0TGliRGVidWcpIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKHRjbHRrRGlyKVxpbmNsdWRlIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lUSF9BUFBJTklUIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSIkKHRjbHRrTGliKSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQodGNsdGs2NERpcilcaW5jbHVkZSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJVEhfQVBQSU5JVCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iJCh0Y2x0azY0TGliKSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQodGNsdGtEaXIpXGluY2x1ZGUiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSVRIX0FQUElOSVQiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IiQodGNsdGtMaWIpIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQodGNsdGs2NERpcilcaW5jbHVkZSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJVEhfQVBQSU5JVCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iJCh0Y2x0azY0TGliKSINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJCh0Y2x0a0RpcilcaW5jbHVkZSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJVEhfQVBQSU5JVCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iJCh0Y2x0a0xpYikiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQodGNsdGs2NERpcilcaW5jbHVkZSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJVEhfQVBQSU5JVCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iJCh0Y2x0azY0TGliKSINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JPC9Db25maWd1cmF0aW9ucz4NCi0JPFJlZmVyZW5jZXM+DQotCTwvUmVmZXJlbmNlcz4NCi0JPEZpbGVzPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlNvdXJjZSBGaWxlcyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF90a2ludGVyLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHRrYXBwaW5pdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCTwvRmlsZXM+DQotCTxHbG9iYWxzPg0KLQk8L0dsb2JhbHM+DQotPC9WaXN1YWxTdHVkaW9Qcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL2JkaXN0X3dpbmluc3QudmNwcm9qIGIvUEMvVlM5LjAvYmRpc3Rfd2luaW5zdC52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI4Y2M3YWQuLjAwMDAwMDAKLS0tIGEvUEMvVlM5LjAvYmRpc3Rfd2luaW5zdC52Y3Byb2oKKysrIC9kZXYvbnVsbApAQCAtMSwyNzAgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb2plY3QNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjkuMDAiDQotCU5hbWU9ImJkaXN0X3dpbmluc3QiDQotCVByb2plY3RHVUlEPSJ7RUIxQzE5QzEtMUYxOC00MjFFLTk3MzUtQ0FFRTY5REM2QTNDfSINCi0JUm9vdE5hbWVzcGFjZT0id2luaW5zdCINCi0JVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iMTMxMDcyIg0KLQk+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiINCi0JCS8+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJ4NjQiDQotCQkvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPFRvb2xGaWxlcz4NCi0JPC9Ub29sRmlsZXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlPdXRwdXREaXJlY3Rvcnk9Ii4uXC4uXGxpYlxkaXN0dXRpbHNcY29tbWFuZCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Ik5ERUJVRyINCi0JCQkJTWtUeXBMaWJDb21wYXRpYmxlPSJ0cnVlIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9InRydWUiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIxIg0KLQkJCQlUeXBlTGlicmFyeU5hbWU9Ii5cLi5cLi5cbGliXGRpc3R1dGlsc1xjb21tYW5kXHdpbmluc3QudGxiIg0KLQkJCQlIZWFkZXJGaWxlTmFtZT0iIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJT3B0aW1pemF0aW9uPSIxIg0KLQkJCQlJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj0iMSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cUENcYmRpc3Rfd2luaW5zdDsuLlwuLlxJbmNsdWRlOy4uXC4uXE1vZHVsZXNcemxpYiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFIg0KLQkJCQlTdHJpbmdQb29saW5nPSJ0cnVlIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMCINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9InRydWUiDQotCQkJCVdhcm5pbmdMZXZlbD0iMyINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJ0cnVlIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTkRFQlVHIg0KLQkJCQlDdWx0dXJlPSIwIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxQQzsuLlwuLlxQQ1xiZGlzdF93aW5pbnN0Oy4uXC4uXEluY2x1ZGUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9ImNvbWN0bDMyLmxpYiBpbWFnZWhscC5saWIiDQotCQkJCU91dHB1dEZpbGU9Ii4uXC4uXGxpYlxkaXN0dXRpbHNcY29tbWFuZFx3aW5pbnN0LTkuMC5leGUiDQotCQkJCUxpbmtJbmNyZW1lbnRhbD0iMSINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJ0cnVlIg0KLQkJCQlJZ25vcmVEZWZhdWx0TGlicmFyeU5hbWVzPSJMSUJDIg0KLQkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIuLlwuLlxsaWJcZGlzdHV0aWxzXGNvbW1hbmRcd2luaW5zdC05LjAucGRiIg0KLQkJCQlTdWJTeXN0ZW09IjIiDQotCQkJCVJhbmRvbWl6ZWRCYXNlQWRkcmVzcz0iMSINCi0JCQkJRGF0YUV4ZWN1dGlvblByZXZlbnRpb249IjAiDQotCQkJCVRhcmdldE1hY2hpbmU9IjEiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJT3V0cHV0RGlyZWN0b3J5PSIkKFBsYXRmb3JtTmFtZSlcJChDb25maWd1cmF0aW9uTmFtZSkiDQotCQkJSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSIkKFBsYXRmb3JtTmFtZSlcJChDb25maWd1cmF0aW9uTmFtZSkiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7LlxyZWxlYXNlLnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJOREVCVUciDQotCQkJCU1rVHlwTGliQ29tcGF0aWJsZT0idHJ1ZSINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJ0cnVlIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkJVHlwZUxpYnJhcnlOYW1lPSIuXC4uXC4uXGxpYlxkaXN0dXRpbHNcY29tbWFuZFx3aW5pbnN0LnRsYiINCi0JCQkJSGVhZGVyRmlsZU5hbWU9IiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCU9wdGltaXphdGlvbj0iMSINCi0JCQkJSW5saW5lRnVuY3Rpb25FeHBhbnNpb249IjEiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXFBDXGJkaXN0X3dpbmluc3Q7Li5cLi5cSW5jbHVkZTsuLlwuLlxNb2R1bGVzXHpsaWIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURSINCi0JCQkJU3RyaW5nUG9vbGluZz0idHJ1ZSINCi0JCQkJUnVudGltZUxpYnJhcnk9IjAiDQotCQkJCUVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJ0cnVlIg0KLQkJCQlXYXJuaW5nTGV2ZWw9IjMiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0idHJ1ZSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Ik5ERUJVRyINCi0JCQkJQ3VsdHVyZT0iMCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cUEM7Li5cLi5cUENcYmRpc3Rfd2luaW5zdDsuLlwuLlxJbmNsdWRlIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJjb21jdGwzMi5saWIgaW1hZ2VobHAubGliIg0KLQkJCQlPdXRwdXRGaWxlPSIuLlwuLlxsaWJcZGlzdHV0aWxzXGNvbW1hbmRcd2luaW5zdC05LjAtYW1kNjQuZXhlIg0KLQkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0idHJ1ZSINCi0JCQkJSWdub3JlRGVmYXVsdExpYnJhcnlOYW1lcz0iTElCQyINCi0JCQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iLi5cLi5cbGliXGRpc3R1dGlsc1xjb21tYW5kXHdpbmluc3QtOS4wLWFtZDY0LnBkYiINCi0JCQkJU3ViU3lzdGVtPSIyIg0KLQkJCQlSYW5kb21pemVkQmFzZUFkZHJlc3M9IjEiDQotCQkJCURhdGFFeGVjdXRpb25QcmV2ZW50aW9uPSIwIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCUZpbHRlcj0iY3BwO2M7Y3h4O3JjO2RlZjtyO29kbDtpZGw7aHBqO2JhdCINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQQ1xiZGlzdF93aW5pbnN0XGV4dHJhY3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBDXGJkaXN0X3dpbmluc3RcaW5zdGFsbC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWx0ZXINCi0JCQkJTmFtZT0iemxpYiINCi0JCQkJPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJcYWRsZXIzMi5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlxjcmMzMi5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlxpbmZmYXN0LmMiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXGluZmxhdGUuYyINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJcaW5mdHJlZXMuYyINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJcenV0aWwuYyINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCTwvRmlsdGVyPg0KLQkJPC9GaWx0ZXI+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iSGVhZGVyIEZpbGVzIg0KLQkJCUZpbHRlcj0iaDtocHA7aHh4O2htO2lubCINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQQ1xiZGlzdF93aW5pbnN0XGFyY2hpdmUuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlJlc291cmNlIEZpbGVzIg0KLQkJCUZpbHRlcj0iaWNvO2N1cjtibXA7ZGxnO3JjMjtyY3Q7YmluO3JncztnaWY7anBnO2pwZWc7anBlIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBDXGJkaXN0X3dpbmluc3RcaW5zdGFsbC5yYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBDXGJkaXN0X3dpbmluc3RcUHl0aG9uUG93ZXJlZC5ibXAiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JPC9GaWxlcz4NCi0JPEdsb2JhbHM+DQotCTwvR2xvYmFscz4NCi08L1Zpc3VhbFN0dWRpb1Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvUEMvVlM5LjAvZGVidWcudnNwcm9wcyBiL1BDL1ZTOS4wL2RlYnVnLnZzcHJvcHMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJjNjQzY2IuLjAwMDAwMDAKLS0tIGEvUEMvVlM5LjAvZGVidWcudnNwcm9wcworKysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9wZXJ0eVNoZWV0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI4LjAwIg0KLQlOYW1lPSJkZWJ1ZyINCi0JPg0KLQk8VG9vbA0KLQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfREVCVUciDQotCS8+DQotCTxVc2VyTWFjcm8NCi0JCU5hbWU9IktpbGxQeXRob25FeGUiDQotCQlWYWx1ZT0iJChPdXREaXIpXGtpbGxfcHl0aG9uX2QuZXhlIg0KLQkvPg0KLTwvVmlzdWFsU3R1ZGlvUHJvcGVydHlTaGVldD4NCmRpZmYgLS1naXQgYS9QQy9WUzkuMC9raWxsX3B5dGhvbi5jIGIvUEMvVlM5LjAva2lsbF9weXRob24uYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjA0NzMxZi4uMDAwMDAwMAotLS0gYS9QQy9WUzkuMC9raWxsX3B5dGhvbi5jCisrKyAvZGV2L251bGwKQEAgLTEsMTc4ICswLDAgQEAKLS8qCi0gKiBIZWxwZXIgcHJvZ3JhbSBmb3Iga2lsbGluZyBsaW5nZXJpbmcgcHl0aG9uW19kXS5leGUgcHJvY2Vzc2VzIGJlZm9yZQotICogYnVpbGRpbmcsIHRodXMgYXR0ZW1wdGluZyB0byBhdm9pZCBidWlsZCBmYWlsdXJlcyBkdWUgdG8gZmlsZXMgYmVpbmcKLSAqIGxvY2tlZC4KLSAqLwotCi0jaW5jbHVkZSA8d2luZG93cy5oPgotI2luY2x1ZGUgPHdjaGFyLmg+Ci0jaW5jbHVkZSA8dGxoZWxwMzIuaD4KLSNpbmNsdWRlIDxzdGRpby5oPgotCi0jcHJhZ21hIGNvbW1lbnQobGliLCAicHNhcGkiKQotCi0jaWZkZWYgX0RFQlVHCi0jZGVmaW5lIFBZVEhPTl9FWEUgICAgICAgICAgKEwicHl0aG9uX2QuZXhlIikKLSNkZWZpbmUgUFlUSE9OX0VYRV9MRU4gICAgICAoMTIpCi0jZGVmaW5lIEtJTExfUFlUSE9OX0VYRSAgICAgKEwia2lsbF9weXRob25fZC5leGUiKQotI2RlZmluZSBLSUxMX1BZVEhPTl9FWEVfTEVOICgxNykKLSNlbHNlCi0jZGVmaW5lIFBZVEhPTl9FWEUgICAgICAgICAgKEwicHl0aG9uLmV4ZSIpCi0jZGVmaW5lIFBZVEhPTl9FWEVfTEVOICAgICAgKDEwKQotI2RlZmluZSBLSUxMX1BZVEhPTl9FWEUgICAgIChMImtpbGxfcHl0aG9uLmV4ZSIpCi0jZGVmaW5lIEtJTExfUFlUSE9OX0VYRV9MRU4gKDE1KQotI2VuZGlmCi0KLWludAotbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCi17Ci0gICAgSEFORExFICAgaHAsIGhzcCwgaHNtOyAvKiBwcm9jZXNzLCBzbmFwc2hvdCBwcm9jZXNzZXMsIHNuYXBzaG90IG1vZHVsZXMgKi8KLSAgICBEV09SRCAgICBkYWMsIG91cl9waWQ7Ci0gICAgc2l6ZV90ICAgbGVuOwotICAgIHdjaGFyX3QgIHBhdGhbTUFYX1BBVEgrMV07Ci0KLSAgICBNT0RVTEVFTlRSWTMyVyAgbWU7Ci0gICAgUFJPQ0VTU0VOVFJZMzJXIHBlOwotCi0gICAgbWUuZHdTaXplID0gc2l6ZW9mKE1PRFVMRUVOVFJZMzJXKTsKLSAgICBwZS5kd1NpemUgPSBzaXplb2YoUFJPQ0VTU0VOVFJZMzJXKTsKLQotICAgIG1lbXNldChwYXRoLCAwLCBNQVhfUEFUSCsxKTsKLQotICAgIG91cl9waWQgPSBHZXRDdXJyZW50UHJvY2Vzc0lkKCk7Ci0KLSAgICBoc20gPSBDcmVhdGVUb29saGVscDMyU25hcHNob3QoVEgzMkNTX1NOQVBNT0RVTEUsIG91cl9waWQpOwotICAgIGlmIChoc20gPT0gSU5WQUxJRF9IQU5ETEVfVkFMVUUpIHsKLSAgICAgICAgcHJpbnRmKCJDcmVhdGVUb29saGVscDMyU25hcHNob3RbMV0gZmFpbGVkOiAlZFxuIiwgR2V0TGFzdEVycm9yKCkpOwotICAgICAgICByZXR1cm4gMTsKLSAgICB9Ci0KLSAgICBpZiAoIU1vZHVsZTMyRmlyc3RXKGhzbSwgJm1lKSkgewotICAgICAgICBwcmludGYoIk1vZHVsZTMyRmlyc3RXWzFdIGZhaWxlZDogJWRcbiIsIEdldExhc3RFcnJvcigpKTsKLSAgICAgICAgQ2xvc2VIYW5kbGUoaHNtKTsKLSAgICAgICAgcmV0dXJuIDE7Ci0gICAgfQotCi0gICAgLyoKLSAgICAgKiBFbnVtZXJhdGUgb3ZlciB0aGUgbW9kdWxlcyBmb3IgdGhlIGN1cnJlbnQgcHJvY2VzcyBpbiBvcmRlciB0byBmaW5kCi0gICAgICoga2lsbF9wcm9jZXNzW19kXS5leGUsIHRoZW4gdGFrZSBhIG5vdGUgb2YgdGhlIGRpcmVjdG9yeSBpdCBsaXZlcyBpbi4KLSAgICAgKi8KLSAgICBkbyB7Ci0gICAgICAgIGlmIChfd2NzbmljbXAobWUuc3pNb2R1bGUsIEtJTExfUFlUSE9OX0VYRSwgS0lMTF9QWVRIT05fRVhFX0xFTikpCi0gICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAgICBsZW4gPSB3Y3NubGVuX3MobWUuc3pFeGVQYXRoLCBNQVhfUEFUSCkgLSBLSUxMX1BZVEhPTl9FWEVfTEVOOwotICAgICAgICB3Y3NuY3B5X3MocGF0aCwgTUFYX1BBVEgrMSwgbWUuc3pFeGVQYXRoLCBsZW4pOyAKLQotICAgICAgICBicmVhazsKLQotICAgIH0gd2hpbGUgKE1vZHVsZTMyTmV4dFcoaHNtLCAmbWUpKTsKLQotICAgIENsb3NlSGFuZGxlKGhzbSk7Ci0KLSAgICBpZiAocGF0aCA9PSBOVUxMKSB7Ci0gICAgICAgIHByaW50ZigiZmFpbGVkIHRvIGRpc2Nlcm4gZGlyZWN0b3J5IG9mIHJ1bm5pbmcgcHJvY2Vzc1xuIik7Ci0gICAgICAgIHJldHVybiAxOwotICAgIH0KLQotICAgIC8qCi0gICAgICogVGFrZSBhIHNuYXBzaG90IG9mIHN5c3RlbSBwcm9jZXNzZXMuICBFbnVtZXJhdGUgb3ZlciB0aGUgc25hcHNob3QsCi0gICAgICogbG9va2luZyBmb3IgcHl0aG9uIHByb2Nlc3Nlcy4gIFdoZW4gd2UgZmluZCBvbmUsIHZlcmlmeSBpdCBsaXZlcwotICAgICAqIGluIHRoZSBzYW1lIGRpcmVjdG9yeSB3ZSBsaXZlIGluLiAgSWYgaXQgZG9lcywga2lsbCBpdC4gIElmIHdlJ3JlCi0gICAgICogdW5hYmxlIHRvIGtpbGwgaXQsIHRyZWF0IHRoaXMgYXMgYSBmYXRhbCBlcnJvciBhbmQgcmV0dXJuIDEuCi0gICAgICogCi0gICAgICogVGhlIHJhdGlvbmFsZSBiZWhpbmQgdGhpcyBpcyB0aGF0IHdlJ3JlIGNhbGxlZCBhdCB0aGUgc3RhcnQgb2YgdGhlIAotICAgICAqIGJ1aWxkIHByb2Nlc3Mgb24gdGhlIGJhc2lzIHRoYXQgd2UnbGwgdGFrZSBjYXJlIG9mIGtpbGxpbmcgYW55Ci0gICAgICogcnVubmluZyBpbnN0YW5jZXMsIHN1Y2ggdGhhdCB0aGUgYnVpbGQgd29uJ3QgZW5jb3VudGVyIHBlcm1pc3Npb24KLSAgICAgKiBkZW5pZWQgZXJyb3JzIGR1cmluZyBsaW5raW5nLiBJZiB3ZSBjYW4ndCBraWxsIG9uZSBvZiB0aGUgcHJvY2Vzc2VzLAotICAgICAqIHdlIGNhbid0IHByb3ZpZGUgdGhpcyBhc3N1cmFuY2UsIGFuZCB0aGUgYnVpbGQgc2hvdWxkbid0IHN0YXJ0LgotICAgICAqLwotCi0gICAgaHNwID0gQ3JlYXRlVG9vbGhlbHAzMlNuYXBzaG90KFRIMzJDU19TTkFQUFJPQ0VTUywgMCk7Ci0gICAgaWYgKGhzcCA9PSBJTlZBTElEX0hBTkRMRV9WQUxVRSkgewotICAgICAgICBwcmludGYoIkNyZWF0ZVRvb2xoZWxwMzJTbmFwc2hvdFsyXSBmYWlsZWQ6ICVkXG4iLCBHZXRMYXN0RXJyb3IoKSk7Ci0gICAgICAgIHJldHVybiAxOwotICAgIH0KLQotICAgIGlmICghUHJvY2VzczMyRmlyc3RXKGhzcCwgJnBlKSkgewotICAgICAgICBwcmludGYoIlByb2Nlc3MzMkZpcnN0VyBmYWlsZWQ6ICVkXG4iLCBHZXRMYXN0RXJyb3IoKSk7Ci0gICAgICAgIENsb3NlSGFuZGxlKGhzcCk7Ci0gICAgICAgIHJldHVybiAxOwotICAgIH0KLQotICAgIGRhYyA9IFBST0NFU1NfUVVFUllfSU5GT1JNQVRJT04gfCBQUk9DRVNTX1ZNX1JFQUQgfCBQUk9DRVNTX1RFUk1JTkFURTsKLSAgICBkbyB7Ci0KLSAgICAgICAgLyoKLSAgICAgICAgICogWFhYIFRPRE86IGlmIHdlIHJlYWxseSB3YW50ZWQgdG8gYmUgZmFuY3ksIHdlIGNvdWxkIGNoZWNrIHRoZSAKLSAgICAgICAgICogbW9kdWxlcyBmb3IgYWxsIHByb2Nlc3NlcyAobm90IGp1c3QgdGhlIHB5dGhvbltfZF0uZXhlIG9uZXMpCi0gICAgICAgICAqIGFuZCBzZWUgaWYgYW55IG9mIG91ciBETExzIGFyZSBsb2FkZWQgKGkuZS4gcHl0aG9uMzRbX2RdLmRsbCksCi0gICAgICAgICAqIGFzIHRoYXQgd291bGQgYWxzbyBpbmhpYml0IG91ciBhYmlsaXR5IHRvIHJlYnVpbGQgdGhlIHNvbHV0aW9uLgotICAgICAgICAgKiBOb3Qgd29ydGggbG9vc2luZyBzbGVlcCBvdmVyIHRob3VnaDsgZm9yIG5vdywgYSBzaW1wbGUgY2hlY2sgCi0gICAgICAgICAqIGZvciBqdXN0IHRoZSBweXRob24gZXhlY3V0YWJsZSBzaG91bGQgYmUgc3VmZmljaWVudC4KLSAgICAgICAgICovCi0KLSAgICAgICAgaWYgKF93Y3NuaWNtcChwZS5zekV4ZUZpbGUsIFBZVEhPTl9FWEUsIFBZVEhPTl9FWEVfTEVOKSkKLSAgICAgICAgICAgIC8qIFRoaXMgaXNuJ3QgYSBweXRob24gcHJvY2Vzcy4gKi8KLSAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgIC8qIEl0J3MgYSBweXRob24gcHJvY2Vzcywgc28gZmlndXJlIG91dCB3aGljaCBkaXJlY3RvcnkgaXQncyBpbi4uLiAqLwotICAgICAgICBoc20gPSBDcmVhdGVUb29saGVscDMyU25hcHNob3QoVEgzMkNTX1NOQVBNT0RVTEUsIHBlLnRoMzJQcm9jZXNzSUQpOwotICAgICAgICBpZiAoaHNtID09IElOVkFMSURfSEFORExFX1ZBTFVFKQotICAgICAgICAgICAgLyogCi0gICAgICAgICAgICAgKiBJZiBvdXIgbW9kdWxlIHNuYXBzaG90IGZhaWxzICh3aGljaCB3aWxsIGhhcHBlbiBpZiB3ZSBkb24ndCBvd24KLSAgICAgICAgICAgICAqIHRoZSBwcm9jZXNzKSwganVzdCBpZ25vcmUgaXQgYW5kIGNvbnRpbnVlLiAgKEl0IHNlZW1zIGRpZmZlcmVudAotICAgICAgICAgICAgICogdmVyc2lvbnMgb2YgV2luZG93cyByZXR1cm4gZGlmZmVyZW50IHZhbHVlcyBmb3IgR2V0TGFzdEVycm9yKCkKLSAgICAgICAgICAgICAqIGluIHRoaXMgc2l0dWF0aW9uOyBpdCdzIGVhc2llciB0byBqdXN0IGlnbm9yZSBpdCBhbmQgbW92ZSBvbiB2cy4KLSAgICAgICAgICAgICAqIHN0b3BwaW5nIHRoZSBidWlsZCBmb3Igd2hhdCBjb3VsZCBiZSBhIGZhbHNlIHBvc2l0aXZlLikKLSAgICAgICAgICAgICAqLwotICAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgIGlmICghTW9kdWxlMzJGaXJzdFcoaHNtLCAmbWUpKSB7Ci0gICAgICAgICAgICBwcmludGYoIk1vZHVsZTMyRmlyc3RXWzJdIGZhaWxlZDogJWRcbiIsIEdldExhc3RFcnJvcigpKTsKLSAgICAgICAgICAgIENsb3NlSGFuZGxlKGhzcCk7Ci0gICAgICAgICAgICBDbG9zZUhhbmRsZShoc20pOwotICAgICAgICAgICAgcmV0dXJuIDE7Ci0gICAgICAgIH0KLQotICAgICAgICBkbyB7Ci0gICAgICAgICAgICBpZiAoX3djc25pY21wKG1lLnN6TW9kdWxlLCBQWVRIT05fRVhFLCBQWVRIT05fRVhFX0xFTikpCi0gICAgICAgICAgICAgICAgLyogV3JvbmcgbW9kdWxlLCB3ZSdyZSBsb29raW5nIGZvciBweXRob25bX2RdLmV4ZS4uLiAqLwotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgICAgICBpZiAoX3djc25pY21wKHBhdGgsIG1lLnN6RXhlUGF0aCwgbGVuKSkKLSAgICAgICAgICAgICAgICAvKiBQcm9jZXNzIGRvZXNuJ3QgbGl2ZSBpbiBvdXIgZGlyZWN0b3J5LiAqLwotICAgICAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgICAgICAvKiBQeXRob24gcHJvY2VzcyByZXNpZGluZyBpbiB0aGUgcmlnaHQgZGlyZWN0b3J5LCBraWxsIGl0ISAgKi8KLSAgICAgICAgICAgIGhwID0gT3BlblByb2Nlc3MoZGFjLCBGQUxTRSwgcGUudGgzMlByb2Nlc3NJRCk7Ci0gICAgICAgICAgICBpZiAoIWhwKSB7Ci0gICAgICAgICAgICAgICAgcHJpbnRmKCJPcGVuUHJvY2VzcyBmYWlsZWQ6ICVkXG4iLCBHZXRMYXN0RXJyb3IoKSk7Ci0gICAgICAgICAgICAgICAgQ2xvc2VIYW5kbGUoaHNwKTsKLSAgICAgICAgICAgICAgICBDbG9zZUhhbmRsZShoc20pOwotICAgICAgICAgICAgICAgIHJldHVybiAxOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBpZiAoIVRlcm1pbmF0ZVByb2Nlc3MoaHAsIDEpKSB7Ci0gICAgICAgICAgICAgICAgcHJpbnRmKCJUZXJtaW5hdGVQcm9jZXNzIGZhaWxlZDogJWRcbiIsIEdldExhc3RFcnJvcigpKTsKLSAgICAgICAgICAgICAgICBDbG9zZUhhbmRsZShoc3ApOwotICAgICAgICAgICAgICAgIENsb3NlSGFuZGxlKGhzbSk7Ci0gICAgICAgICAgICAgICAgQ2xvc2VIYW5kbGUoaHApOwotICAgICAgICAgICAgICAgIHJldHVybiAxOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBDbG9zZUhhbmRsZShocCk7Ci0gICAgICAgICAgICBicmVhazsKLQotICAgICAgICB9IHdoaWxlIChNb2R1bGUzMk5leHRXKGhzbSwgJm1lKSk7Ci0KLSAgICAgICAgQ2xvc2VIYW5kbGUoaHNtKTsKLQotICAgIH0gd2hpbGUgKFByb2Nlc3MzMk5leHRXKGhzcCwgJnBlKSk7Ci0KLSAgICBDbG9zZUhhbmRsZShoc3ApOwotCi0gICAgcmV0dXJuIDA7Ci19Ci0KLS8qIHZpOiBzZXQgdHM9OCBzdz00IHN0cz00IGV4cGFuZHRhYiAqLwpkaWZmIC0tZ2l0IGEvUEMvVlM5LjAva2lsbF9weXRob24udmNwcm9qIGIvUEMvVlM5LjAva2lsbF9weXRob24udmNwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMzQxMDdhLi4wMDAwMDAwCi0tLSBhL1BDL1ZTOS4wL2tpbGxfcHl0aG9uLnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDI3OSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOS4wMCINCi0JTmFtZT0ia2lsbF9weXRob24iDQotCVByb2plY3RHVUlEPSJ7NkRFMTA3NDQtRTM5Ni00MEE1LUI0RTItMUI2OUFBN0M4RDMxfSINCi0JUm9vdE5hbWVzcGFjZT0ia2lsbF9weXRob24iDQotCUtleXdvcmQ9IldpbjMyUHJvaiINCi0JVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iMTk2NjEzIg0KLQk+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiINCi0JCS8+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJ4NjQiDQotCQkvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPFRvb2xGaWxlcz4NCi0JPC9Ub29sRmlsZXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7LlxkZWJ1Zy52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilcJChQcm9qZWN0TmFtZSlfZC5leGUiDQotCQkJCVN1YlN5c3RlbT0iMSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3x4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7LlxkZWJ1Zy52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilcJChQcm9qZWN0TmFtZSlfZC5leGUiDQotCQkJCVN1YlN5c3RlbT0iMSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5ccmVsZWFzZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJU3ViU3lzdGVtPSIxIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5ccmVsZWFzZS52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJU3ViU3lzdGVtPSIxIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCTwvQ29uZmlndXJhdGlvbnM+DQotCTxSZWZlcmVuY2VzPg0KLQk8L1JlZmVyZW5jZXM+DQotCTxGaWxlcz4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJTb3VyY2UgRmlsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLlxraWxsX3B5dGhvbi5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCTwvRmlsZXM+DQotCTxHbG9iYWxzPg0KLQk8L0dsb2JhbHM+DQotPC9WaXN1YWxTdHVkaW9Qcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL21ha2VfYnVpbGRpbmZvLmMgYi9QQy9WUzkuMC9tYWtlX2J1aWxkaW5mby5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmYjRhNjRhLi4wMDAwMDAwCi0tLSBhL1BDL1ZTOS4wL21ha2VfYnVpbGRpbmZvLmMKKysrIC9kZXYvbnVsbApAQCAtMSwxOTUgKzAsMCBAQAotI2luY2x1ZGUgPHdpbmRvd3MuaD4KLSNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLSNpbmNsdWRlIDxzeXMvc3RhdC5oPgotI2luY2x1ZGUgPHN0ZGlvLmg+Ci0jaW5jbHVkZSA8aW8uaD4KLQotI2RlZmluZSBDTURfU0laRSA1MDAKLQotLyogVGhpcyBmaWxlIGNyZWF0ZXMgdGhlIGdldGJ1aWxkaW5mby5vIG9iamVjdCwgYnkgZmlyc3QKLSAgIGludm9raW5nIHN1YndjcmV2LmV4ZSAoaWYgZm91bmQpLCBhbmQgdGhlbiBpbnZva2luZyBjbC5leGUuCi0gICBBcyBhIHNpZGUgZWZmZWN0LCBpdCBtaWdodCBnZW5lcmF0ZSBQQ0J1aWxkXGdldGJ1aWxkaW5mbzIuYwotICAgYWxzby4gSWYgdGhpcyBpc24ndCBhIHN1YnZlcnNpb24gY2hlY2tvdXQsIG9yIHN1YndjcmV2IGlzbid0Ci0gICBmb3VuZCwgaXQgY29tcGlsZXMgLi5cXC4uXFxNb2R1bGVzXFxnZXRidWlsZGluZm8uYyBpbnN0ZWFkLgotCi0gICBDdXJyZW50bHksIHN1YndjcmV2LmV4ZSBpcyBmb3VuZCBmcm9tIHRoZSByZWdpc3RyeSBlbnRyaWVzCi0gICBvZiBUb3J0b2lzZVNWTi4KLQotICAgTm8gYXR0ZW1wdCBpcyBtYWRlIHRvIHBsYWNlIGdldGJ1aWxkaW5mby5vIGludG8gdGhlIHByb3BlcgotICAgYmluYXJ5IGRpcmVjdG9yeS4gVGhpcyBpc24ndCBuZWNlc3NhcnksIGFzIHRoaXMgdG9vbCBpcwotICAgaW52b2tlZCBhcyBhIHByZS1saW5rIHN0ZXAgZm9yIHB5dGhvbmNvcmUsIHNvIHRoYXQgb3ZlcndyaXRlcwotICAgYW55IHByZXZpb3VzIGdldGJ1aWxkaW5mby5vLgotCi0gICBIb3dldmVyLCBpZiBhIHNlY29uZCBhcmd1bWVudCBpcyBwcm92aWRlZCwgdGhpcyB3aWxsIGJlIHVzZWQKLSAgIGFzIGEgdGVtcG9yYXJ5IGRpcmVjdG9yeSB3aGVyZSBhbnkgZ2V0YnVpbGRpbmZvMi5jIGFuZAotICAgZ2V0YnVpbGRpbmZvLm8gZmlsZXMgYXJlIHB1dC4gIFRoaXMgaXMgdXNlZnVsIGlmIG11bHRpcGxlCi0gICBjb25maWd1cmF0aW9ucyBhcmUgYmVpbmcgYnVpbHQgaW4gcGFyYWxsZWwsIHRvIGF2b2lkIHRoZW0KLSAgIHRyYW1wbGluZyBlYWNoIG90aGVyJ3MgZmlsZXMuCi0KLSovCi0KLWludCBtYWtlX2J1aWxkaW5mbzIoY29uc3QgY2hhciAqdG1wcGF0aCkKLXsKLSAgICBzdHJ1Y3QgX3N0YXQgc3Q7Ci0gICAgSEtFWSBoVG9ydG9pc2U7Ci0gICAgY2hhciBjb21tYW5kW0NNRF9TSVpFKzFdOwotICAgIERXT1JEIHR5cGUsIHNpemU7Ci0gICAgaWYgKF9zdGF0KCIuc3ZuIiwgJnN0KSA8IDApCi0gICAgICAgIHJldHVybiAwOwotICAgIC8qIEFsbG93IHN1cHByZXNzaW9uIG9mIHN1YndjcmV2LmV4ZSBpbnZvY2F0aW9uIGlmIGEgbm9fc3Vid2NyZXYgZmlsZSBpcyBwcmVzZW50LiAqLwotICAgIGlmIChfc3RhdCgibm9fc3Vid2NyZXYiLCAmc3QpID09IDApCi0gICAgICAgIHJldHVybiAwOwotICAgIGlmIChSZWdPcGVuS2V5KEhLRVlfTE9DQUxfTUFDSElORSwgIlNvZnR3YXJlXFxUb3J0b2lzZVNWTiIsICZoVG9ydG9pc2UpICE9IEVSUk9SX1NVQ0NFU1MgJiYKLSAgICAgICAgUmVnT3BlbktleShIS0VZX0NVUlJFTlRfVVNFUiwgIlNvZnR3YXJlXFxUb3J0b2lzZVNWTiIsICZoVG9ydG9pc2UpICE9IEVSUk9SX1NVQ0NFU1MpCi0gICAgICAgIC8qIFRvcnRvaXNlIG5vdCBpbnN0YWxsZWQgKi8KLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgY29tbWFuZFswXSA9ICciJzsgIC8qIHF1b3RlIHRoZSBwYXRoIHRvIHRoZSBleGVjdXRhYmxlICovCi0gICAgc2l6ZSA9IHNpemVvZihjb21tYW5kKSAtIDE7Ci0gICAgaWYgKFJlZ1F1ZXJ5VmFsdWVFeChoVG9ydG9pc2UsICJEaXJlY3RvcnkiLCAwLCAmdHlwZSwgY29tbWFuZCsxLCAmc2l6ZSkgIT0gRVJST1JfU1VDQ0VTUyB8fAotICAgICAgICB0eXBlICE9IFJFR19TWikKLSAgICAgICAgLyogUmVnaXN0cnkgY29ycnVwdGVkICovCi0gICAgICAgIHJldHVybiAwOwotICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCAiYmluXFxzdWJ3Y3Jldi5leGUiKTsKLSAgICBpZiAoX3N0YXQoY29tbWFuZCsxLCAmc3QpIDwgMCkKLSAgICAgICAgLyogc3Vid2NyZXYuZXhlIG5vdCBwYXJ0IG9mIHRoZSByZWxlYXNlICovCi0gICAgICAgIHJldHVybiAwOwotICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCAiXCIgLi5cXC4uIC4uXFwuLlxcTW9kdWxlc1xcZ2V0YnVpbGRpbmZvLmMgXCIiKTsKLSAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgdG1wcGF0aCk7IC8qIHF1b3RlZCB0bXBwYXRoICovCi0gICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICJnZXRidWlsZGluZm8yLmNcIiIpOwotCi0gICAgcHV0cyhjb21tYW5kKTsgZmZsdXNoKHN0ZG91dCk7Ci0gICAgaWYgKHN5c3RlbShjb21tYW5kKSA8IDApCi0gICAgICAgIHJldHVybiAwOwotICAgIHJldHVybiAxOwotfQotCi1jb25zdCBjaGFyIERFTElNU1tdID0geyAiIFxuIiB9OwotCi1pbnQgZ2V0X21lcmN1cmlhbF9pbmZvKGNoYXIgKiBoZ2JyYW5jaCwgY2hhciAqIGhndGFnLCBjaGFyICogaGdyZXYsIGludCBzaXplKQotewotICAgIGludCByZXN1bHQgPSAwOwotICAgIGNoYXIgZmlsZW5hbWVbQ01EX1NJWkVdOwotICAgIGNoYXIgY21kbGluZVtDTURfU0laRV07Ci0KLSAgICBzdHJjcHlfcyhmaWxlbmFtZSwgQ01EX1NJWkUsICJ0bXBYWFhYWFgiKTsKLSAgICBpZiAoX21rdGVtcF9zKGZpbGVuYW1lLCBDTURfU0laRSkgPT0gMCkgewotICAgICAgICBpbnQgcmM7Ci0KLSAgICAgICAgc3RyY3B5X3MoY21kbGluZSwgQ01EX1NJWkUsICJoZyBpZCAtYml0ID4gIik7Ci0gICAgICAgIHN0cmNhdF9zKGNtZGxpbmUsIENNRF9TSVpFLCBmaWxlbmFtZSk7Ci0gICAgICAgIHJjID0gc3lzdGVtKGNtZGxpbmUpOwotICAgICAgICBpZiAocmMgPT0gMCkgewotICAgICAgICAgICAgRklMRSAqIGZwOwotICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiAoZm9wZW5fcygmZnAsIGZpbGVuYW1lLCAiciIpID09IDApIHsKLSAgICAgICAgICAgICAgICBjaGFyICogY3AgPSBmZ2V0cyhjbWRsaW5lLCBDTURfU0laRSwgZnApOwotCi0gICAgICAgICAgICAgICAgaWYgKGNwKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNoYXIgKiBjb250ZXh0ID0gTlVMTDsKLSAgICAgICAgICAgICAgICAgICAgY2hhciAqIHRwID0gc3RydG9rX3MoY3AsIERFTElNUywgJmNvbnRleHQpOwotICAgICAgICAgICAgICAgICAgICBpZiAodHApIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHN0cmNweV9zKGhncmV2LCBzaXplLCB0cCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0cCA9IHN0cnRva19zKE5VTEwsIERFTElNUywgJmNvbnRleHQpOwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRwKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyY3B5X3MoaGdicmFuY2gsIHNpemUsIHRwKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cCA9IHN0cnRva19zKE5VTEwsIERFTElNUywgJmNvbnRleHQpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0cCkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJjcHlfcyhoZ3RhZywgc2l6ZSwgdHApOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSAxOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBmY2xvc2UoZnApOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIF91bmxpbmsoZmlsZW5hbWUpOwotICAgIH0KLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi1pbnQgbWFpbihpbnQgYXJnYywgY2hhciphcmd2W10pCi17Ci0gICAgY2hhciBjb21tYW5kW0NNRF9TSVpFXSA9ICJjbC5leGUgLWMgLURfV0lOMzIgLURVU0VfRExfRVhQT1JUIC1EX1dJTkRPV1MgLURXSU4zMiAtRF9XSU5ETEwgIjsKLSAgICBjaGFyIHRtcHBhdGhbQ01EX1NJWkVdID0gIiI7Ci0gICAgaW50IGRvX3VubGluaywgcmVzdWx0OwotICAgIGNoYXIgKnRtcGRpciA9IE5VTEw7Ci0gICAgaWYgKGFyZ2MgPD0gMiB8fCBhcmdjID4gMykgewotICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIm1ha2VfYnVpbGRpbmZvICQoQ29uZmlndXJhdGlvbk5hbWUpIFt0bXBkaXJdXG4iKTsKLSAgICAgICAgcmV0dXJuIEVYSVRfRkFJTFVSRTsKLSAgICB9Ci0gICAgaWYgKHN0cmNtcChhcmd2WzFdLCAiUmVsZWFzZSIpID09IDApIHsKLSAgICAgICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICItTUQgIik7Ci0gICAgfQotICAgIGVsc2UgaWYgKHN0cmNtcChhcmd2WzFdLCAiRGVidWciKSA9PSAwKSB7Ci0gICAgICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCAiLURfREVCVUcgLU1EZCAiKTsKLSAgICB9Ci0gICAgZWxzZSBpZiAoc3RyY21wKGFyZ3ZbMV0sICJSZWxlYXNlSXRhbml1bSIpID09IDApIHsKLSAgICAgICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICItTUQgL1VTRUNMOk1TX0lUQU5JVU0gIik7Ci0gICAgfQotICAgIGVsc2UgaWYgKHN0cmNtcChhcmd2WzFdLCAiUmVsZWFzZUFNRDY0IikgPT0gMCkgewotICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgIi1NRCAiKTsKLSAgICAgICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICItTUQgL1VTRUNMOk1TX09QVEVST04gIik7Ci0gICAgfQotICAgIGVsc2UgewotICAgICAgICBmcHJpbnRmKHN0ZGVyciwgInVuc3VwcG9ydGVkIGNvbmZpZ3VyYXRpb24gJXNcbiIsIGFyZ3ZbMV0pOwotICAgICAgICByZXR1cm4gRVhJVF9GQUlMVVJFOwotICAgIH0KLSAgICBpZiAoYXJnYyA+IDIpIHsKLSAgICAgICAgdG1wZGlyID0gYXJndlsyXTsKLSAgICAgICAgc3RyY2F0X3ModG1wcGF0aCwgX2NvdW50b2YodG1wcGF0aCksIHRtcGRpcik7Ci0gICAgICAgIC8qIEhhY2sgZml4IGZvciBiYWQgY29tbWFuZCBsaW5lOiAgSWYgdGhlIGNvbW1hbmQgaXMgaXNzdWVkIGxpa2UgdGhpczoKLSAgICAgICAgICogJChTb2x1dGlvbkRpciltYWtlX2J1aWxkaW5mby5leGUiIERlYnVnICIkKEludERpcikiCi0gICAgICAgICAqIHdlIHdpbGwgZ2V0IGEgdHJhaWxpbmcgcXVvdGUgYmVjYXVzZSBJbnREaXIgZW5kcyB3aXRoIGEgYmFja3NsYXNoIHRoYXQgdGhlbgotICAgICAgICAgKiBlc2NhcGVzIHRoZSBmaW5hbCAiLiAgVG8gc2ltcGxpZnkgdGhlIGxpZmUgZm9yIGRldmVsb3BlcnMsIGNhdGNoIHRoYXQgcHJvYmxlbQotICAgICAgICAgKiBoZXJlIGJ5IGN1dHRpbmcgaXQgb2ZmLgotICAgICAgICAgKiBUaGUgcHJvcGVyIGNvbW1hbmQgbGluZSwgYnR3IGlzOgotICAgICAgICAgKiAkKFNvbHV0aW9uRGlyKW1ha2VfYnVpbGRpbmZvLmV4ZSIgRGVidWcgIiQoSW50RGlyKVwiCi0gICAgICAgICAqIEhvb3JheSBmb3IgY29tbWFuZCBsaW5lIHBhcnNpbmcgb24gd2luZG93cy4KLSAgICAgICAgICovCi0gICAgICAgIGlmIChzdHJsZW4odG1wcGF0aCkgPiAwICYmIHRtcHBhdGhbc3RybGVuKHRtcHBhdGgpLTFdID09ICciJykKLSAgICAgICAgICAgIHRtcHBhdGhbc3RybGVuKHRtcHBhdGgpLTFdID0gJ1wwJzsKLSAgICAgICAgc3RyY2F0X3ModG1wcGF0aCwgX2NvdW50b2YodG1wcGF0aCksICJcXCIpOwotICAgIH0KLQotICAgIGlmICgoZG9fdW5saW5rID0gbWFrZV9idWlsZGluZm8yKHRtcHBhdGgpKSkgewotICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgIlwiIik7Ci0gICAgICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCB0bXBwYXRoKTsKLSAgICAgICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICJnZXRidWlsZGluZm8yLmNcIiAtRFNVQldDUkVWICIpOwotICAgIH0KLSAgICBlbHNlIHsKLSAgICAgICAgY2hhciBoZ3RhZ1tDTURfU0laRV07Ci0gICAgICAgIGNoYXIgaGdicmFuY2hbQ01EX1NJWkVdOwotICAgICAgICBjaGFyIGhncmV2W0NNRF9TSVpFXTsKLQotICAgICAgICBpZiAoZ2V0X21lcmN1cmlhbF9pbmZvKGhnYnJhbmNoLCBoZ3RhZywgaGdyZXYsIENNRF9TSVpFKSkgewotICAgICAgICAgICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICItREhHQlJBTkNIPVxcXCIiKTsKLSAgICAgICAgICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCBoZ2JyYW5jaCk7Ci0gICAgICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgIlxcXCIiKTsKLQotICAgICAgICAgICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICIgLURIR1RBRz1cXFwiIik7Ci0gICAgICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgaGd0YWcpOwotICAgICAgICAgICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICJcXFwiIik7Ci0KLSAgICAgICAgICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCAiIC1ESEdWRVJTSU9OPVxcXCIiKTsKLSAgICAgICAgICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCBoZ3Jldik7Ci0gICAgICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgIlxcXCIgIik7Ci0gICAgICAgIH0KLSAgICAgICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICIuLlxcLi5cXE1vZHVsZXNcXGdldGJ1aWxkaW5mby5jIik7Ci0gICAgfQotICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCAiIC1Gb1wiIik7Ci0gICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsIHRtcHBhdGgpOwotICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCAiZ2V0YnVpbGRpbmZvLm9cIiAtSS4uXFwuLlxcSW5jbHVkZSAtSS4uXFwuLlxcUEMiKTsKLSAgICBwdXRzKGNvbW1hbmQpOyBmZmx1c2goc3Rkb3V0KTsKLSAgICByZXN1bHQgPSBzeXN0ZW0oY29tbWFuZCk7Ci0gICAgaWYgKGRvX3VubGluaykgewotICAgICAgICBjb21tYW5kWzBdID0gJ1wwJzsKLSAgICAgICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICJcIiIpOwotICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgdG1wcGF0aCk7Ci0gICAgICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCAiZ2V0YnVpbGRpbmZvMi5jXCIiKTsKLSAgICAgICAgX3VubGluayhjb21tYW5kKTsKLSAgICB9Ci0gICAgaWYgKHJlc3VsdCA8IDApCi0gICAgICAgIHJldHVybiBFWElUX0ZBSUxVUkU7Ci0gICAgcmV0dXJuIDA7Ci19CmRpZmYgLS1naXQgYS9QQy9WUzkuMC9tYWtlX2J1aWxkaW5mby52Y3Byb2ogYi9QQy9WUzkuMC9tYWtlX2J1aWxkaW5mby52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkyNDA2NWQuLjAwMDAwMDAKLS0tIGEvUEMvVlM5LjAvbWFrZV9idWlsZGluZm8udmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsMTAxICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IndpbmRvd3MtMTI1MCI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI5LjAwIg0KLQlOYW1lPSJtYWtlX2J1aWxkaW5mbyINCi0JUHJvamVjdEdVSUQ9IntDNzNGMEVDMS0zNThCLTQxNzctOTQwRi0wODQ2QUM4QjA0Q0R9Ig0KLQlSb290TmFtZXNwYWNlPSJtYWtlX2J1aWxkaW5mbyINCi0JS2V5d29yZD0iV2luMzJQcm9qIg0KLQlUYXJnZXRGcmFtZXdvcmtWZXJzaW9uPSIxMzEwNzIiDQotCT4NCi0JPFBsYXRmb3Jtcz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9IldpbjMyIg0KLQkJLz4NCi0JPC9QbGF0Zm9ybXM+DQotCTxUb29sRmlsZXM+DQotCTwvVG9vbEZpbGVzPg0KLQk8Q29uZmlndXJhdGlvbnM+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7LlxyZWxlYXNlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCU9wdGltaXphdGlvbj0iMCINCi0JCQkJSW5saW5lRnVuY3Rpb25FeHBhbnNpb249IjEiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfQ09OU09MRSINCi0JCQkJUnVudGltZUxpYnJhcnk9IjAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKS9tYWtlX2J1aWxkaW5mby5leGUiDQotCQkJCVByb2dyYW1EYXRhYmFzZUZpbGU9IiQoVGFyZ2V0RGlyKSQoVGFyZ2V0TmFtZSkucGRiIg0KLQkJCQlTdWJTeXN0ZW09IjEiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JPC9Db25maWd1cmF0aW9ucz4NCi0JPFJlZmVyZW5jZXM+DQotCTwvUmVmZXJlbmNlcz4NCi0JPEZpbGVzPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlNvdXJjZSBGaWxlcyINCi0JCQlGaWx0ZXI9ImNwcDtjO2N4eDtkZWY7b2RsO2lkbDtocGo7YmF0O2FzbTthc214Ig0KLQkJCVVuaXF1ZUlkZW50aWZpZXI9Ins0RkM3MzdGMS1DN0E1LTQzNzYtQTA2Ni0yQTMyRDc1MkEyRkZ9Ig0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii5cbWFrZV9idWlsZGluZm8uYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzkuMC9tYWtlX3ZlcnNpb25pbmZvLnZjcHJvaiBiL1BDL1ZTOS4wL21ha2VfdmVyc2lvbmluZm8udmNwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwYTFmZDI4Li4wMDAwMDAwCi0tLSBhL1BDL1ZTOS4wL21ha2VfdmVyc2lvbmluZm8udmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsMzI0ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI5LjAwIg0KLQlOYW1lPSJtYWtlX3ZlcnNpb25pbmZvIg0KLQlQcm9qZWN0R1VJRD0ie0YwRTA1NDFFLUYxN0QtNDMwQi05N0M0LTkzQURGMEREMjg0RX0iDQotCVJvb3ROYW1lc3BhY2U9Im1ha2VfdmVyc2lvbmluZm8iDQotCVRhcmdldEZyYW1ld29ya1ZlcnNpb249IjEzMTA3MiINCi0JPg0KLQk8UGxhdGZvcm1zPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0iV2luMzIiDQotCQkvPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0ieDY0Ig0KLQkJLz4NCi0JPC9QbGF0Zm9ybXM+DQotCTxUb29sRmlsZXM+DQotCTwvVG9vbEZpbGVzPg0KLQk8Q29uZmlndXJhdGlvbnM+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7LlxyZWxlYXNlLnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCUNoYXJhY3RlclNldD0iMiINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCQlEZXNjcmlwdGlvbj0iQnVpbGQgUEMvcHl0aG9ubnRfcmMoX2QpLmgiDQotCQkJCUNvbW1hbmRMaW5lPSJjZCAkKFNvbHV0aW9uRGlyKSYjeDBEOyYjeDBBO21ha2VfdmVyc2lvbmluZm8uZXhlICZndDsgLi5cLi5cUENccHl0aG9ubnRfcmMuaCYjeDBEOyYjeDBBOyINCi0JCQkJT3V0cHV0cz0iJChTb2x1dGlvbkRpcikuLlwuLlxQQ1xweXRob25udF9yYy5oIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlPcHRpbWl6YXRpb249IjIiDQotCQkJCUlubGluZUZ1bmN0aW9uRXhwYW5zaW9uPSIxIg0KLQkJCQlFbmFibGVJbnRyaW5zaWNGdW5jdGlvbnM9InRydWUiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9DT05TT0xFIg0KLQkJCQlTdHJpbmdQb29saW5nPSJ0cnVlIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9InRydWUiDQotCQkJCUNvbXBpbGVBcz0iMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJT3V0cHV0RmlsZT0iJChTb2x1dGlvbkRpciltYWtlX3ZlcnNpb25pbmZvLmV4ZSINCi0JCQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iJChUYXJnZXREaXIpJChUYXJnZXROYW1lKS5wZGIiDQotCQkJCVN1YlN5c3RlbT0iMSINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWQwMDAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJCUNvbW1hbmRMaW5lPSJjZCAkKFNvbHV0aW9uRGlyKSYjeDBEOyYjeDBBO21ha2VfdmVyc2lvbmluZm8uZXhlICZndDsgLi5cLi5cUENccHl0aG9uX250LmgmI3gwRDsmI3gwQTsiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wcyINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCQlEZXNjcmlwdGlvbj0iQnVpbGQgUEMvcHl0aG9ubnRfcmMoX2QpLmgiDQotCQkJCUNvbW1hbmRMaW5lPSJjZCAkKFNvbHV0aW9uRGlyKSYjeDBEOyYjeDBBO21ha2VfdmVyc2lvbmluZm8uZXhlICZndDsgLi5cLi5cUENccHl0aG9ubnRfcmMuaCYjeDBEOyYjeDBBOyINCi0JCQkJT3V0cHV0cz0iJChTb2x1dGlvbkRpcikuLlwuLlxQQ1xweXRob25udF9yYy5oIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlPcHRpbWl6YXRpb249IjIiDQotCQkJCUlubGluZUZ1bmN0aW9uRXhwYW5zaW9uPSIxIg0KLQkJCQlFbmFibGVJbnRyaW5zaWNGdW5jdGlvbnM9InRydWUiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfQ09OU09MRSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJT3V0cHV0RmlsZT0iJChTb2x1dGlvbkRpciltYWtlX3ZlcnNpb25pbmZvLmV4ZSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkJQ29tbWFuZExpbmU9ImNkICQoU29sdXRpb25EaXIpJiN4MEQ7JiN4MEE7bWFrZV92ZXJzaW9uaW5mby5leGUgJmd0OyAuLlwuLlxQQ1xweXRob25fbnQuaCYjeDBEOyYjeDBBOyINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXGRlYnVnLnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCQlEZXNjcmlwdGlvbj0iQnVpbGQgUEMvcHl0aG9ubnRfcmMoX2QpLmgiDQotCQkJCUNvbW1hbmRMaW5lPSJjZCAkKFNvbHV0aW9uRGlyKSYjeDBEOyYjeDBBO21ha2VfdmVyc2lvbmluZm9fZC5leGUgJmd0OyAuLlwuLlxQQ1xweXRob25udF9yY19kLmgmI3gwRDsmI3gwQTsiDQotCQkJCU91dHB1dHM9IiQoU29sdXRpb25EaXIpLi5cLi5cUENccHl0aG9ubnRfcmNfZC5oIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlPcHRpbWl6YXRpb249IjAiDQotCQkJCUlubGluZUZ1bmN0aW9uRXhwYW5zaW9uPSIxIg0KLQkJCQlFbmFibGVJbnRyaW5zaWNGdW5jdGlvbnM9ImZhbHNlIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfQ09OU09MRSINCi0JCQkJU3RyaW5nUG9vbGluZz0idHJ1ZSINCi0JCQkJUnVudGltZUxpYnJhcnk9IjIiDQotCQkJCUVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJ0cnVlIg0KLQkJCQlDb21waWxlQXM9IjAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9IiQoU29sdXRpb25EaXIpbWFrZV92ZXJzaW9uaW5mb19kLmV4ZSINCi0JCQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iJChUYXJnZXREaXIpJChUYXJnZXROYW1lKS5wZGIiDQotCQkJCVN1YlN5c3RlbT0iMSINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWQwMDAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJCUNvbW1hbmRMaW5lPSJjZCAkKFNvbHV0aW9uRGlyKSYjeDBEOyYjeDBBO21ha2VfdmVyc2lvbmluZm9fZC5leGUgJmd0OyAuLlwuLlxQQ1xweXRob25fbnRfZC5oJiN4MEQ7JiN4MEE7Ig0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHg2NC52c3Byb3BzOy5cZGVidWcudnNwcm9wcyINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCQlEZXNjcmlwdGlvbj0iQnVpbGQgUEMvcHl0aG9ubnRfcmMoX2QpLmgiDQotCQkJCUNvbW1hbmRMaW5lPSJjZCAkKFNvbHV0aW9uRGlyKSYjeDBEOyYjeDBBO21ha2VfdmVyc2lvbmluZm9fZC5leGUgJmd0OyAuLlwuLlxQQ1xweXRob25udF9yY19kLmgmI3gwRDsmI3gwQTsiDQotCQkJCU91dHB1dHM9IiQoU29sdXRpb25EaXIpLi5cLi5cUENccHl0aG9ubnRfcmNfZC5oIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJT3B0aW1pemF0aW9uPSIwIg0KLQkJCQlJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj0iMSINCi0JCQkJRW5hYmxlSW50cmluc2ljRnVuY3Rpb25zPSJmYWxzZSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9DT05TT0xFIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlPdXRwdXRGaWxlPSIkKFNvbHV0aW9uRGlyKW1ha2VfdmVyc2lvbmluZm9fZC5leGUiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCQlDb21tYW5kTGluZT0iY2QgJChTb2x1dGlvbkRpcikmI3gwRDsmI3gwQTttYWtlX3ZlcnNpb25pbmZvX2QuZXhlICZndDsgLi5cLi5cUENccHl0aG9uX250X2QuaCYjeDBEOyYjeDBBOyINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBDXG1ha2VfdmVyc2lvbmluZm8uYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzkuMC9wY2J1aWxkLnNsbiBiL1BDL1ZTOS4wL3BjYnVpbGQuc2xuCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYTdmNjljLi4wMDAwMDAwCi0tLSBhL1BDL1ZTOS4wL3BjYnVpbGQuc2xuCisrKyAvZGV2L251bGwKQEAgLTEsNjkwICswLDAgQEAKLU1pY3Jvc29mdCBWaXN1YWwgU3R1ZGlvIFNvbHV0aW9uIEZpbGUsIEZvcm1hdCBWZXJzaW9uIDEwLjAwDQotIyBWaXN1YWwgU3R1ZGlvIDIwMDgNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInB5dGhvbiIsICJweXRob24udmNwcm9qIiwgIntCMTFENzUwRi1DRDFGLTRBOTYtODVDRS1FNjlBNUM1MjU5Rjl9Ig0KLQlQcm9qZWN0U2VjdGlvbihQcm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQcm9qZWN0DQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fSA9IHtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9DQotCQl7RTlFMEExRjYtMDAwOS00RThDLUI4RjgtMUI4RjVENDlBMDU4fSA9IHtFOUUwQTFGNi0wMDA5LTRFOEMtQjhGOC0xQjhGNUQ0OUEwNTh9DQotCUVuZFByb2plY3RTZWN0aW9uDQotRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAibWFrZV92ZXJzaW9uaW5mbyIsICJtYWtlX3ZlcnNpb25pbmZvLnZjcHJvaiIsICJ7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfSINCi1FbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJweXRob25jb3JlIiwgInB5dGhvbmNvcmUudmNwcm9qIiwgIntDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9Ig0KLQlQcm9qZWN0U2VjdGlvbihQcm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQcm9qZWN0DQotCQl7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfSA9IHtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9DQotCQl7NkRFMTA3NDQtRTM5Ni00MEE1LUI0RTItMUI2OUFBN0M4RDMxfSA9IHs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9DQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfSA9IHtDNzNGMEVDMS0zNThCLTQxNzctOTQwRi0wODQ2QUM4QjA0Q0R9DQotCUVuZFByb2plY3RTZWN0aW9uDQotRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAicHl0aG9udyIsICJweXRob253LnZjcHJvaiIsICJ7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfSINCi0JUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdA0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0gPSB7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fQ0KLQlFbmRQcm9qZWN0U2VjdGlvbg0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIm1ha2VfYnVpbGRpbmZvIiwgIm1ha2VfYnVpbGRpbmZvLnZjcHJvaiIsICJ7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfSINCi1FbmRQcm9qZWN0DQotUHJvamVjdCgiezIxNTBFMzMzLThGREMtNDJBMy05NDc0LTFBMzk1NkQ0NkRFOH0iKSA9ICJTb2x1dGlvbiBJdGVtcyIsICJTb2x1dGlvbiBJdGVtcyIsICJ7NTUzRUMzM0UtOTgxNi00OTk2LUE2NjAtNUQ2MTg2QTBCMEIzfSINCi0JUHJvamVjdFNlY3Rpb24oU29sdXRpb25JdGVtcykgPSBwcmVQcm9qZWN0DQotCQkuLlwuLlxNb2R1bGVzXGdldGJ1aWxkaW5mby5jID0gLi5cLi5cTW9kdWxlc1xnZXRidWlsZGluZm8uYw0KLQkJcmVhZG1lLnR4dCA9IHJlYWRtZS50eHQNCi0JRW5kUHJvamVjdFNlY3Rpb24NCi1FbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJ3aW5zb3VuZCIsICJ3aW5zb3VuZC52Y3Byb2oiLCAiezI4QjVENzc3LURERjItNEI2Qi1CMzRGLTMxRDkzODgxMzg1Nn0iDQotCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QNCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9ID0ge0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0NCi0JRW5kUHJvamVjdFNlY3Rpb24NCi1FbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJfZGVjaW1hbCIsICJfZGVjaW1hbC52Y3Byb2oiLCAiezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxN30iDQotCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QNCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9ID0ge0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0NCi0JRW5kUHJvamVjdFNlY3Rpb24NCi1FbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJfY3R5cGVzIiwgIl9jdHlwZXMudmNwcm9qIiwgInswRTk3OTFEQi01OTNBLTQ2NUYtOThCQy02ODEwMTEzMTE2MTh9Ig0KLQlQcm9qZWN0U2VjdGlvbihQcm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQcm9qZWN0DQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fSA9IHtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9DQotCUVuZFByb2plY3RTZWN0aW9uDQotRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAiX2N0eXBlc190ZXN0IiwgIl9jdHlwZXNfdGVzdC52Y3Byb2oiLCAiezlFQzcxOTBBLTI0OUYtNDE4MC1BOTAwLTU0OEZEQ0YzMDU1Rn0iDQotCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QNCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9ID0ge0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0NCi0JRW5kUHJvamVjdFNlY3Rpb24NCi1FbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJfZWxlbWVudHRyZWUiLCAiX2VsZW1lbnR0cmVlLnZjcHJvaiIsICJ7MTdFMUUwNDktQzMwOS00RDc5LTg0M0YtQUU0ODNDMjY0QUVBfSINCi0JUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdA0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0gPSB7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fQ0KLQlFbmRQcm9qZWN0U2VjdGlvbg0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIl9tc2kiLCAiX21zaS52Y3Byb2oiLCAiezMxRkZDNDc4LTdCNEEtNDNFOC05OTU0LThEMDNFMjE4N0U5Q30iDQotCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QNCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9ID0ge0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0NCi0JRW5kUHJvamVjdFNlY3Rpb24NCi1FbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJfc29ja2V0IiwgIl9zb2NrZXQudmNwcm9qIiwgIns4NjkzN0Y1My1DMTg5LTQwRUYtOENFOC04NzU5RDhFN0Q0ODB9Ig0KLQlQcm9qZWN0U2VjdGlvbihQcm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQcm9qZWN0DQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fSA9IHtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9DQotCUVuZFByb2plY3RTZWN0aW9uDQotRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAiX3NxbGl0ZTMiLCAiX3NxbGl0ZTMudmNwcm9qIiwgInsxM0NFQ0I5Ny00MTE5LTQzMTYtOUQ0Mi04NTM0MDE5QTVBNDR9Ig0KLQlQcm9qZWN0U2VjdGlvbihQcm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQcm9qZWN0DQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fSA9IHtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9DQotCQl7QTFBMjk1RTUtNDYzQy00MzdGLTgxQ0EtMUYzMjM2NzY4NURBfSA9IHtBMUEyOTVFNS00NjNDLTQzN0YtODFDQS0xRjMyMzY3Njg1REF9DQotCUVuZFByb2plY3RTZWN0aW9uDQotRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAiX3NzbCIsICJfc3NsLnZjcHJvaiIsICJ7QzZFMjBGODQtMzI0Ny00QUQ2LUIwNTEtQjA3MzI2OEY3M0JBfSINCi0JUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdA0KLQkJe0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0gPSB7QjExRDc1MEYtQ0QxRi00QTk2LTg1Q0UtRTY5QTVDNTI1OUY5fQ0KLQkJezg2OTM3RjUzLUMxODktNDBFRi04Q0U4LTg3NTlEOEU3RDQ4MH0gPSB7ODY5MzdGNTMtQzE4OS00MEVGLThDRTgtODc1OUQ4RTdENDgwfQ0KLQkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0gPSB7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfQ0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0gPSB7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fQ0KLQlFbmRQcm9qZWN0U2VjdGlvbg0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIl90ZXN0Y2FwaSIsICJfdGVzdGNhcGkudmNwcm9qIiwgIns2OTAxRDkxQy02RTQ4LTRCQjctOUZFQy03MDBDODEzMURGMUR9Ig0KLQlQcm9qZWN0U2VjdGlvbihQcm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQcm9qZWN0DQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fSA9IHtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9DQotCUVuZFByb2plY3RTZWN0aW9uDQotRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAiX3Rlc3RpbXBvcnRtdWx0aXBsZSIsICJfdGVzdGltcG9ydG11bHRpcGxlLnZjcHJvaiIsICJ7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfSINCi0JUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdA0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0gPSB7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fQ0KLQlFbmRQcm9qZWN0U2VjdGlvbg0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIl90a2ludGVyIiwgIl90a2ludGVyLnZjcHJvaiIsICJ7NDk0NkVDQUMtMkU2OS00QkY4LUE5MEEtRjUxMzZGNTA5NERGfSINCi0JUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdA0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0gPSB7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fQ0KLQlFbmRQcm9qZWN0U2VjdGlvbg0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIl9iejIiLCAiX2J6Mi52Y3Byb2oiLCAiezczRkNEMkJELUYxMzMtNDZCNy04RUMxLTE0NENEODJBNTlENX0iDQotCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QNCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9ID0ge0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0NCi0JRW5kUHJvamVjdFNlY3Rpb24NCi1FbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJfbHptYSIsICJfbHptYS52Y3Byb2oiLCAie0Y5RDcxNzgwLUYzOTMtMTFFMC1CRTUwLTA4MDAyMDBDOUE2Nn0iDQotCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QNCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9ID0ge0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0NCi0JRW5kUHJvamVjdFNlY3Rpb24NCi1FbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJzZWxlY3QiLCAic2VsZWN0LnZjcHJvaiIsICJ7MThDQUUyOEMtQjQ1NC00NkMxLTg3QTAtNDkzRDkxRDk3RjAzfSINCi0JUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdA0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0gPSB7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fQ0KLQlFbmRQcm9qZWN0U2VjdGlvbg0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInVuaWNvZGVkYXRhIiwgInVuaWNvZGVkYXRhLnZjcHJvaiIsICJ7RUNDN0NFQUMtQTVFNS00NThFLUJCOUUtMjQxM0NDODQ3ODgxfSINCi0JUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdA0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0gPSB7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fQ0KLQlFbmRQcm9qZWN0U2VjdGlvbg0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInB5ZXhwYXQiLCAicHlleHBhdC52Y3Byb2oiLCAie0QwNkI2NDI2LTQ3NjItNDRDQy04QkFELUQ3OTA1MjUwN0YyRn0iDQotCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QNCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9ID0ge0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0NCi0JRW5kUHJvamVjdFNlY3Rpb24NCi1FbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJiZGlzdF93aW5pbnN0IiwgImJkaXN0X3dpbmluc3QudmNwcm9qIiwgIntFQjFDMTlDMS0xRjE4LTQyMUUtOTczNS1DQUVFNjlEQzZBM0N9Ig0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIl9oYXNobGliIiwgIl9oYXNobGliLnZjcHJvaiIsICJ7NDQ3RjA1QTgtRjU4MS00Q0FDLUE0NjYtNUFDNzkzNkUyMDdFfSINCi0JUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdA0KLQkJe0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0gPSB7QjExRDc1MEYtQ0QxRi00QTk2LTg1Q0UtRTY5QTVDNTI1OUY5fQ0KLQkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0gPSB7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfQ0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0gPSB7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fQ0KLQlFbmRQcm9qZWN0U2VjdGlvbg0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInNxbGl0ZTMiLCAic3FsaXRlMy52Y3Byb2oiLCAie0ExQTI5NUU1LTQ2M0MtNDM3Ri04MUNBLTFGMzIzNjc2ODVEQX0iDQotCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QNCi0JCXs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9ID0gezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0NCi0JRW5kUHJvamVjdFNlY3Rpb24NCi1FbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJfbXVsdGlwcm9jZXNzaW5nIiwgIl9tdWx0aXByb2Nlc3NpbmcudmNwcm9qIiwgIns5RTQ4QjMwMC0zN0QxLTExREQtOEM0MS0wMDUwNTZDMDAwMDh9Ig0KLQlQcm9qZWN0U2VjdGlvbihQcm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQcm9qZWN0DQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fSA9IHtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9DQotCUVuZFByb2plY3RTZWN0aW9uDQotRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAic3NsIiwgInNzbC52Y3Byb2oiLCAie0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0iDQotCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QNCi0JCXtCMTFENzUwRi1DRDFGLTRBOTYtODVDRS1FNjlBNUM1MjU5Rjl9ID0ge0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0NCi0JRW5kUHJvamVjdFNlY3Rpb24NCi1FbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJraWxsX3B5dGhvbiIsICJraWxsX3B5dGhvbi52Y3Byb2oiLCAiezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0iDQotRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAicHl0aG9uM2RsbCIsICJweXRob24zZGxsLnZjcHJvaiIsICJ7ODg1RDQ4OTgtRDA4RC00MDkxLTlDNDAtQzcwMENGRTNGQzVBfSINCi1FbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJ4eGxpbWl0ZWQiLCAieHhsaW1pdGVkLnZjcHJvaiIsICJ7Rjc0OUI4MjItQjQ4OS00Q0E1LUEzQUQtQ0UwNzhGNUYzMzhBfSINCi1FbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJfdGVzdGJ1ZmZlciIsICJfdGVzdGJ1ZmZlci52Y3Byb2oiLCAie0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0iDQotCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QNCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9ID0ge0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0NCi0JRW5kUHJvamVjdFNlY3Rpb24NCi1FbmRQcm9qZWN0DQotR2xvYmFsDQotCUdsb2JhbFNlY3Rpb24oU29sdXRpb25Db25maWd1cmF0aW9uUGxhdGZvcm1zKSA9IHByZVNvbHV0aW9uDQotCQlEZWJ1Z3xXaW4zMiA9IERlYnVnfFdpbjMyDQotCQlEZWJ1Z3x4NjQgPSBEZWJ1Z3x4NjQNCi0JCVBHSW5zdHJ1bWVudHxXaW4zMiA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJUEdJbnN0cnVtZW50fHg2NCA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCVBHVXBkYXRlfFdpbjMyID0gUEdVcGRhdGV8V2luMzINCi0JCVBHVXBkYXRlfHg2NCA9IFBHVXBkYXRlfHg2NA0KLQkJUmVsZWFzZXxXaW4zMiA9IFJlbGVhc2V8V2luMzINCi0JCVJlbGVhc2V8eDY0ID0gUmVsZWFzZXx4NjQNCi0JRW5kR2xvYmFsU2VjdGlvbg0KLQlHbG9iYWxTZWN0aW9uKFByb2plY3RDb25maWd1cmF0aW9uUGxhdGZvcm1zKSA9IHBvc3RTb2x1dGlvbg0KLQkJe0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCi0JCXtCMTFENzUwRi1DRDFGLTRBOTYtODVDRS1FNjlBNUM1MjU5Rjl9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KLQkJe0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KLQkJe0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCi0JCXtCMTFENzUwRi1DRDFGLTRBOTYtODVDRS1FNjlBNUM1MjU5Rjl9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXtCMTFENzUwRi1DRDFGLTRBOTYtODVDRS1FNjlBNUM1MjU5Rjl9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7QjExRDc1MEYtQ0QxRi00QTk2LTg1Q0UtRTY5QTVDNTI1OUY5fS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXtCMTFENzUwRi1DRDFGLTRBOTYtODVDRS1FNjlBNUM1MjU5Rjl9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXtCMTFENzUwRi1DRDFGLTRBOTYtODVDRS1FNjlBNUM1MjU5Rjl9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFBHVXBkYXRlfFdpbjMyDQotCQl7QjExRDc1MEYtQ0QxRi00QTk2LTg1Q0UtRTY5QTVDNTI1OUY5fS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUEdVcGRhdGV8V2luMzINCi0JCXtCMTFENzUwRi1DRDFGLTRBOTYtODVDRS1FNjlBNUM1MjU5Rjl9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBQR1VwZGF0ZXx4NjQNCi0JCXtCMTFENzUwRi1DRDFGLTRBOTYtODVDRS1FNjlBNUM1MjU5Rjl9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUEdVcGRhdGV8eDY0DQotCQl7QjExRDc1MEYtQ0QxRi00QTk2LTg1Q0UtRTY5QTVDNTI1OUY5fS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtCMTFENzUwRi1DRDFGLTRBOTYtODVDRS1FNjlBNUM1MjU5Rjl9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtCMTFENzUwRi1DRDFGLTRBOTYtODVDRS1FNjlBNUM1MjU5Rjl9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7QjExRDc1MEYtQ0QxRi00QTk2LTg1Q0UtRTY5QTVDNTI1OUY5fS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCi0JCXtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJe0YwRTA1NDFFLUYxN0QtNDMwQi05N0M0LTkzQURGMEREMjg0RX0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KLQkJe0YwRTA1NDFFLUYxN0QtNDMwQi05N0M0LTkzQURGMEREMjg0RX0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0YwRTA1NDFFLUYxN0QtNDMwQi05N0M0LTkzQURGMEREMjg0RX0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0YwRTA1NDFFLUYxN0QtNDMwQi05N0M0LTkzQURGMEREMjg0RX0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0YwRTA1NDFFLUYxN0QtNDMwQi05N0M0LTkzQURGMEREMjg0RX0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFBHVXBkYXRlfFdpbjMyDQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUEdVcGRhdGV8V2luMzINCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBQR1VwZGF0ZXx4NjQNCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUEdVcGRhdGV8eDY0DQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCi0JCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCi0JCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQotCQl7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJe0Y0MjI5Q0MzLTg3M0MtNDlBRS05NzI5LUREMzA4RUQ0Q0Q0QX0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJe0Y0MjI5Q0MzLTg3M0MtNDlBRS05NzI5LUREMzA4RUQ0Q0Q0QX0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFBHVXBkYXRlfFdpbjMyDQotCQl7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8eDY0DQotCQl7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfHg2NA0KLQkJe0Y0MjI5Q0MzLTg3M0MtNDlBRS05NzI5LUREMzA4RUQ0Q0Q0QX0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KLQkJe0Y0MjI5Q0MzLTg3M0MtNDlBRS05NzI5LUREMzA4RUQ0Q0Q0QX0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7RTlFMEExRjYtMDAwOS00RThDLUI4RjgtMUI4RjVENDlBMDU4fS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJe0U5RTBBMUY2LTAwMDktNEU4Qy1COEY4LTFCOEY1RDQ5QTA1OH0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7RTlFMEExRjYtMDAwOS00RThDLUI4RjgtMUI4RjVENDlBMDU4fS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQotCQl7RTlFMEExRjYtMDAwOS00RThDLUI4RjgtMUI4RjVENDlBMDU4fS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KLQkJe0U5RTBBMUY2LTAwMDktNEU4Qy1COEY4LTFCOEY1RDQ5QTA1OH0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJe0U5RTBBMUY2LTAwMDktNEU4Qy1COEY4LTFCOEY1RDQ5QTA1OH0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXtFOUUwQTFGNi0wMDA5LTRFOEMtQjhGOC0xQjhGNUQ0OUEwNTh9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJe0U5RTBBMUY2LTAwMDktNEU4Qy1COEY4LTFCOEY1RDQ5QTA1OH0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJe0U5RTBBMUY2LTAwMDktNEU4Qy1COEY4LTFCOEY1RDQ5QTA1OH0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCi0JCXtFOUUwQTFGNi0wMDA5LTRFOEMtQjhGOC0xQjhGNUQ0OUEwNTh9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJe0U5RTBBMUY2LTAwMDktNEU4Qy1COEY4LTFCOEY1RDQ5QTA1OH0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfHg2NA0KLQkJe0U5RTBBMUY2LTAwMDktNEU4Qy1COEY4LTFCOEY1RDQ5QTA1OH0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXx4NjQNCi0JCXtFOUUwQTFGNi0wMDA5LTRFOEMtQjhGOC0xQjhGNUQ0OUEwNTh9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0U5RTBBMUY2LTAwMDktNEU4Qy1COEY4LTFCOEY1RDQ5QTA1OH0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0U5RTBBMUY2LTAwMDktNEU4Qy1COEY4LTFCOEY1RDQ5QTA1OH0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXtFOUUwQTFGNi0wMDA5LTRFOEMtQjhGOC0xQjhGNUQ0OUEwNTh9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQkJe0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0uRGVidWd8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtDNzNGMEVDMS0zNThCLTQxNzctOTQwRi0wODQ2QUM4QjA0Q0R9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtDNzNGMEVDMS0zNThCLTQxNzctOTQwRi0wODQ2QUM4QjA0Q0R9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtDNzNGMEVDMS0zNThCLTQxNzctOTQwRi0wODQ2QUM4QjA0Q0R9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtDNzNGMEVDMS0zNThCLTQxNzctOTQwRi0wODQ2QUM4QjA0Q0R9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtDNzNGMEVDMS0zNThCLTQxNzctOTQwRi0wODQ2QUM4QjA0Q0R9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXsyOEI1RDc3Ny1EREYyLTRCNkItQjM0Ri0zMUQ5Mzg4MTM4NTZ9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7MjhCNUQ3NzctRERGMi00QjZCLUIzNEYtMzFEOTM4ODEzODU2fS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCi0JCXsyOEI1RDc3Ny1EREYyLTRCNkItQjM0Ri0zMUQ5Mzg4MTM4NTZ9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCi0JCXsyOEI1RDc3Ny1EREYyLTRCNkItQjM0Ri0zMUQ5Mzg4MTM4NTZ9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQotCQl7MjhCNUQ3NzctRERGMi00QjZCLUIzNEYtMzFEOTM4ODEzODU2fS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7MjhCNUQ3NzctRERGMi00QjZCLUIzNEYtMzFEOTM4ODEzODU2fS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezI4QjVENzc3LURERjItNEI2Qi1CMzRGLTMxRDkzODgxMzg1Nn0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7MjhCNUQ3NzctRERGMi00QjZCLUIzNEYtMzFEOTM4ODEzODU2fS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7MjhCNUQ3NzctRERGMi00QjZCLUIzNEYtMzFEOTM4ODEzODU2fS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezI4QjVENzc3LURERjItNEI2Qi1CMzRGLTMxRDkzODgxMzg1Nn0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFBHVXBkYXRlfFdpbjMyDQotCQl7MjhCNUQ3NzctRERGMi00QjZCLUIzNEYtMzFEOTM4ODEzODU2fS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8eDY0DQotCQl7MjhCNUQ3NzctRERGMi00QjZCLUIzNEYtMzFEOTM4ODEzODU2fS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfHg2NA0KLQkJezI4QjVENzc3LURERjItNEI2Qi1CMzRGLTMxRDkzODgxMzg1Nn0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7MjhCNUQ3NzctRERGMi00QjZCLUIzNEYtMzFEOTM4ODEzODU2fS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7MjhCNUQ3NzctRERGMi00QjZCLUIzNEYtMzFEOTM4ODEzODU2fS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KLQkJezI4QjVENzc3LURERjItNEI2Qi1CMzRGLTMxRDkzODgxMzg1Nn0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7MEU5NzkxREItNTkzQS00NjVGLTk4QkMtNjgxMDExMzExNjE3fS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxN30uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7MEU5NzkxREItNTkzQS00NjVGLTk4QkMtNjgxMDExMzExNjE3fS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQotCQl7MEU5NzkxREItNTkzQS00NjVGLTk4QkMtNjgxMDExMzExNjE3fS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KLQkJezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxN30uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxN30uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXswRTk3OTFEQi01OTNBLTQ2NUYtOThCQy02ODEwMTEzMTE2MTd9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxN30uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxN30uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCi0JCXswRTk3OTFEQi01OTNBLTQ2NUYtOThCQy02ODEwMTEzMTE2MTd9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxN30uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfHg2NA0KLQkJezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxN30uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXx4NjQNCi0JCXswRTk3OTFEQi01OTNBLTQ2NUYtOThCQy02ODEwMTEzMTE2MTd9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxN30uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxN30uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXswRTk3OTFEQi01OTNBLTQ2NUYtOThCQy02ODEwMTEzMTE2MTd9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQkJezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxOH0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCi0JCXswRTk3OTFEQi01OTNBLTQ2NUYtOThCQy02ODEwMTEzMTE2MTh9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KLQkJezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxOH0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KLQkJezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxOH0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCi0JCXswRTk3OTFEQi01OTNBLTQ2NUYtOThCQy02ODEwMTEzMTE2MTh9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXswRTk3OTFEQi01OTNBLTQ2NUYtOThCQy02ODEwMTEzMTE2MTh9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7MEU5NzkxREItNTkzQS00NjVGLTk4QkMtNjgxMDExMzExNjE4fS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXswRTk3OTFEQi01OTNBLTQ2NUYtOThCQy02ODEwMTEzMTE2MTh9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXswRTk3OTFEQi01OTNBLTQ2NUYtOThCQy02ODEwMTEzMTE2MTh9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFBHVXBkYXRlfFdpbjMyDQotCQl7MEU5NzkxREItNTkzQS00NjVGLTk4QkMtNjgxMDExMzExNjE4fS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUEdVcGRhdGV8V2luMzINCi0JCXswRTk3OTFEQi01OTNBLTQ2NUYtOThCQy02ODEwMTEzMTE2MTh9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBQR1VwZGF0ZXx4NjQNCi0JCXswRTk3OTFEQi01OTNBLTQ2NUYtOThCQy02ODEwMTEzMTE2MTh9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUEdVcGRhdGV8eDY0DQotCQl7MEU5NzkxREItNTkzQS00NjVGLTk4QkMtNjgxMDExMzExNjE4fS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXswRTk3OTFEQi01OTNBLTQ2NUYtOThCQy02ODEwMTEzMTE2MTh9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXswRTk3OTFEQi01OTNBLTQ2NUYtOThCQy02ODEwMTEzMTE2MTh9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7MEU5NzkxREItNTkzQS00NjVGLTk4QkMtNjgxMDExMzExNjE4fS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXs5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7OUVDNzE5MEEtMjQ5Ri00MTgwLUE5MDAtNTQ4RkRDRjMwNTVGfS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCi0JCXs5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCi0JCXs5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQotCQl7OUVDNzE5MEEtMjQ5Ri00MTgwLUE5MDAtNTQ4RkRDRjMwNTVGfS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7OUVDNzE5MEEtMjQ5Ri00MTgwLUE5MDAtNTQ4RkRDRjMwNTVGfS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezlFQzcxOTBBLTI0OUYtNDE4MC1BOTAwLTU0OEZEQ0YzMDU1Rn0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7OUVDNzE5MEEtMjQ5Ri00MTgwLUE5MDAtNTQ4RkRDRjMwNTVGfS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7OUVDNzE5MEEtMjQ5Ri00MTgwLUE5MDAtNTQ4RkRDRjMwNTVGfS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezlFQzcxOTBBLTI0OUYtNDE4MC1BOTAwLTU0OEZEQ0YzMDU1Rn0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFBHVXBkYXRlfFdpbjMyDQotCQl7OUVDNzE5MEEtMjQ5Ri00MTgwLUE5MDAtNTQ4RkRDRjMwNTVGfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8eDY0DQotCQl7OUVDNzE5MEEtMjQ5Ri00MTgwLUE5MDAtNTQ4RkRDRjMwNTVGfS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfHg2NA0KLQkJezlFQzcxOTBBLTI0OUYtNDE4MC1BOTAwLTU0OEZEQ0YzMDU1Rn0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7OUVDNzE5MEEtMjQ5Ri00MTgwLUE5MDAtNTQ4RkRDRjMwNTVGfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7OUVDNzE5MEEtMjQ5Ri00MTgwLUE5MDAtNTQ4RkRDRjMwNTVGfS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KLQkJezlFQzcxOTBBLTI0OUYtNDE4MC1BOTAwLTU0OEZEQ0YzMDU1Rn0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7MTdFMUUwNDktQzMwOS00RDc5LTg0M0YtQUU0ODNDMjY0QUVBfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJezE3RTFFMDQ5LUMzMDktNEQ3OS04NDNGLUFFNDgzQzI2NEFFQX0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7MTdFMUUwNDktQzMwOS00RDc5LTg0M0YtQUU0ODNDMjY0QUVBfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQotCQl7MTdFMUUwNDktQzMwOS00RDc5LTg0M0YtQUU0ODNDMjY0QUVBfS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KLQkJezE3RTFFMDQ5LUMzMDktNEQ3OS04NDNGLUFFNDgzQzI2NEFFQX0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezE3RTFFMDQ5LUMzMDktNEQ3OS04NDNGLUFFNDgzQzI2NEFFQX0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXsxN0UxRTA0OS1DMzA5LTRENzktODQzRi1BRTQ4M0MyNjRBRUF9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezE3RTFFMDQ5LUMzMDktNEQ3OS04NDNGLUFFNDgzQzI2NEFFQX0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezE3RTFFMDQ5LUMzMDktNEQ3OS04NDNGLUFFNDgzQzI2NEFFQX0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCi0JCXsxN0UxRTA0OS1DMzA5LTRENzktODQzRi1BRTQ4M0MyNjRBRUF9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezE3RTFFMDQ5LUMzMDktNEQ3OS04NDNGLUFFNDgzQzI2NEFFQX0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfHg2NA0KLQkJezE3RTFFMDQ5LUMzMDktNEQ3OS04NDNGLUFFNDgzQzI2NEFFQX0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXx4NjQNCi0JCXsxN0UxRTA0OS1DMzA5LTRENzktODQzRi1BRTQ4M0MyNjRBRUF9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJezE3RTFFMDQ5LUMzMDktNEQ3OS04NDNGLUFFNDgzQzI2NEFFQX0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJezE3RTFFMDQ5LUMzMDktNEQ3OS04NDNGLUFFNDgzQzI2NEFFQX0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXsxN0UxRTA0OS1DMzA5LTRENzktODQzRi1BRTQ4M0MyNjRBRUF9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQkJezMxRkZDNDc4LTdCNEEtNDNFOC05OTU0LThEMDNFMjE4N0U5Q30uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCi0JCXszMUZGQzQ3OC03QjRBLTQzRTgtOTk1NC04RDAzRTIxODdFOUN9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KLQkJezMxRkZDNDc4LTdCNEEtNDNFOC05OTU0LThEMDNFMjE4N0U5Q30uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KLQkJezMxRkZDNDc4LTdCNEEtNDNFOC05OTU0LThEMDNFMjE4N0U5Q30uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCi0JCXszMUZGQzQ3OC03QjRBLTQzRTgtOTk1NC04RDAzRTIxODdFOUN9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXszMUZGQzQ3OC03QjRBLTQzRTgtOTk1NC04RDAzRTIxODdFOUN9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7MzFGRkM0NzgtN0I0QS00M0U4LTk5NTQtOEQwM0UyMTg3RTlDfS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXszMUZGQzQ3OC03QjRBLTQzRTgtOTk1NC04RDAzRTIxODdFOUN9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXszMUZGQzQ3OC03QjRBLTQzRTgtOTk1NC04RDAzRTIxODdFOUN9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFBHVXBkYXRlfFdpbjMyDQotCQl7MzFGRkM0NzgtN0I0QS00M0U4LTk5NTQtOEQwM0UyMTg3RTlDfS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUEdVcGRhdGV8V2luMzINCi0JCXszMUZGQzQ3OC03QjRBLTQzRTgtOTk1NC04RDAzRTIxODdFOUN9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBQR1VwZGF0ZXx4NjQNCi0JCXszMUZGQzQ3OC03QjRBLTQzRTgtOTk1NC04RDAzRTIxODdFOUN9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUEdVcGRhdGV8eDY0DQotCQl7MzFGRkM0NzgtN0I0QS00M0U4LTk5NTQtOEQwM0UyMTg3RTlDfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXszMUZGQzQ3OC03QjRBLTQzRTgtOTk1NC04RDAzRTIxODdFOUN9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXszMUZGQzQ3OC03QjRBLTQzRTgtOTk1NC04RDAzRTIxODdFOUN9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7MzFGRkM0NzgtN0I0QS00M0U4LTk5NTQtOEQwM0UyMTg3RTlDfS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXs4NjkzN0Y1My1DMTg5LTQwRUYtOENFOC04NzU5RDhFN0Q0ODB9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7ODY5MzdGNTMtQzE4OS00MEVGLThDRTgtODc1OUQ4RTdENDgwfS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCi0JCXs4NjkzN0Y1My1DMTg5LTQwRUYtOENFOC04NzU5RDhFN0Q0ODB9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCi0JCXs4NjkzN0Y1My1DMTg5LTQwRUYtOENFOC04NzU5RDhFN0Q0ODB9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQotCQl7ODY5MzdGNTMtQzE4OS00MEVGLThDRTgtODc1OUQ4RTdENDgwfS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7ODY5MzdGNTMtQzE4OS00MEVGLThDRTgtODc1OUQ4RTdENDgwfS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezg2OTM3RjUzLUMxODktNDBFRi04Q0U4LTg3NTlEOEU3RDQ4MH0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7ODY5MzdGNTMtQzE4OS00MEVGLThDRTgtODc1OUQ4RTdENDgwfS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7ODY5MzdGNTMtQzE4OS00MEVGLThDRTgtODc1OUQ4RTdENDgwfS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezg2OTM3RjUzLUMxODktNDBFRi04Q0U4LTg3NTlEOEU3RDQ4MH0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFBHVXBkYXRlfFdpbjMyDQotCQl7ODY5MzdGNTMtQzE4OS00MEVGLThDRTgtODc1OUQ4RTdENDgwfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8eDY0DQotCQl7ODY5MzdGNTMtQzE4OS00MEVGLThDRTgtODc1OUQ4RTdENDgwfS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfHg2NA0KLQkJezg2OTM3RjUzLUMxODktNDBFRi04Q0U4LTg3NTlEOEU3RDQ4MH0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7ODY5MzdGNTMtQzE4OS00MEVGLThDRTgtODc1OUQ4RTdENDgwfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7ODY5MzdGNTMtQzE4OS00MEVGLThDRTgtODc1OUQ4RTdENDgwfS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KLQkJezg2OTM3RjUzLUMxODktNDBFRi04Q0U4LTg3NTlEOEU3RDQ4MH0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7MTNDRUNCOTctNDExOS00MzE2LTlENDItODUzNDAxOUE1QTQ0fS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJezEzQ0VDQjk3LTQxMTktNDMxNi05RDQyLTg1MzQwMTlBNUE0NH0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7MTNDRUNCOTctNDExOS00MzE2LTlENDItODUzNDAxOUE1QTQ0fS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQotCQl7MTNDRUNCOTctNDExOS00MzE2LTlENDItODUzNDAxOUE1QTQ0fS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KLQkJezEzQ0VDQjk3LTQxMTktNDMxNi05RDQyLTg1MzQwMTlBNUE0NH0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezEzQ0VDQjk3LTQxMTktNDMxNi05RDQyLTg1MzQwMTlBNUE0NH0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXsxM0NFQ0I5Ny00MTE5LTQzMTYtOUQ0Mi04NTM0MDE5QTVBNDR9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezEzQ0VDQjk3LTQxMTktNDMxNi05RDQyLTg1MzQwMTlBNUE0NH0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezEzQ0VDQjk3LTQxMTktNDMxNi05RDQyLTg1MzQwMTlBNUE0NH0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCi0JCXsxM0NFQ0I5Ny00MTE5LTQzMTYtOUQ0Mi04NTM0MDE5QTVBNDR9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezEzQ0VDQjk3LTQxMTktNDMxNi05RDQyLTg1MzQwMTlBNUE0NH0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfHg2NA0KLQkJezEzQ0VDQjk3LTQxMTktNDMxNi05RDQyLTg1MzQwMTlBNUE0NH0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXx4NjQNCi0JCXsxM0NFQ0I5Ny00MTE5LTQzMTYtOUQ0Mi04NTM0MDE5QTVBNDR9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJezEzQ0VDQjk3LTQxMTktNDMxNi05RDQyLTg1MzQwMTlBNUE0NH0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJezEzQ0VDQjk3LTQxMTktNDMxNi05RDQyLTg1MzQwMTlBNUE0NH0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXsxM0NFQ0I5Ny00MTE5LTQzMTYtOUQ0Mi04NTM0MDE5QTVBNDR9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQkJe0M2RTIwRjg0LTMyNDctNEFENi1CMDUxLUIwNzMyNjhGNzNCQX0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCi0JCXtDNkUyMEY4NC0zMjQ3LTRBRDYtQjA1MS1CMDczMjY4RjczQkF9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KLQkJe0M2RTIwRjg0LTMyNDctNEFENi1CMDUxLUIwNzMyNjhGNzNCQX0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KLQkJe0M2RTIwRjg0LTMyNDctNEFENi1CMDUxLUIwNzMyNjhGNzNCQX0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCi0JCXtDNkUyMEY4NC0zMjQ3LTRBRDYtQjA1MS1CMDczMjY4RjczQkF9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXtDNkUyMEY4NC0zMjQ3LTRBRDYtQjA1MS1CMDczMjY4RjczQkF9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7QzZFMjBGODQtMzI0Ny00QUQ2LUIwNTEtQjA3MzI2OEY3M0JBfS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXtDNkUyMEY4NC0zMjQ3LTRBRDYtQjA1MS1CMDczMjY4RjczQkF9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXtDNkUyMEY4NC0zMjQ3LTRBRDYtQjA1MS1CMDczMjY4RjczQkF9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFBHVXBkYXRlfFdpbjMyDQotCQl7QzZFMjBGODQtMzI0Ny00QUQ2LUIwNTEtQjA3MzI2OEY3M0JBfS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUEdVcGRhdGV8V2luMzINCi0JCXtDNkUyMEY4NC0zMjQ3LTRBRDYtQjA1MS1CMDczMjY4RjczQkF9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBQR1VwZGF0ZXx4NjQNCi0JCXtDNkUyMEY4NC0zMjQ3LTRBRDYtQjA1MS1CMDczMjY4RjczQkF9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUEdVcGRhdGV8eDY0DQotCQl7QzZFMjBGODQtMzI0Ny00QUQ2LUIwNTEtQjA3MzI2OEY3M0JBfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtDNkUyMEY4NC0zMjQ3LTRBRDYtQjA1MS1CMDczMjY4RjczQkF9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtDNkUyMEY4NC0zMjQ3LTRBRDYtQjA1MS1CMDczMjY4RjczQkF9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7QzZFMjBGODQtMzI0Ny00QUQ2LUIwNTEtQjA3MzI2OEY3M0JBfS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXs2OTAxRDkxQy02RTQ4LTRCQjctOUZFQy03MDBDODEzMURGMUR9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7NjkwMUQ5MUMtNkU0OC00QkI3LTlGRUMtNzAwQzgxMzFERjFEfS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCi0JCXs2OTAxRDkxQy02RTQ4LTRCQjctOUZFQy03MDBDODEzMURGMUR9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCi0JCXs2OTAxRDkxQy02RTQ4LTRCQjctOUZFQy03MDBDODEzMURGMUR9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQotCQl7NjkwMUQ5MUMtNkU0OC00QkI3LTlGRUMtNzAwQzgxMzFERjFEfS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7NjkwMUQ5MUMtNkU0OC00QkI3LTlGRUMtNzAwQzgxMzFERjFEfS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezY5MDFEOTFDLTZFNDgtNEJCNy05RkVDLTcwMEM4MTMxREYxRH0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7NjkwMUQ5MUMtNkU0OC00QkI3LTlGRUMtNzAwQzgxMzFERjFEfS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7NjkwMUQ5MUMtNkU0OC00QkI3LTlGRUMtNzAwQzgxMzFERjFEfS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezY5MDFEOTFDLTZFNDgtNEJCNy05RkVDLTcwMEM4MTMxREYxRH0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFBHVXBkYXRlfFdpbjMyDQotCQl7NjkwMUQ5MUMtNkU0OC00QkI3LTlGRUMtNzAwQzgxMzFERjFEfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8eDY0DQotCQl7NjkwMUQ5MUMtNkU0OC00QkI3LTlGRUMtNzAwQzgxMzFERjFEfS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfHg2NA0KLQkJezY5MDFEOTFDLTZFNDgtNEJCNy05RkVDLTcwMEM4MTMxREYxRH0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7NjkwMUQ5MUMtNkU0OC00QkI3LTlGRUMtNzAwQzgxMzFERjFEfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7NjkwMUQ5MUMtNkU0OC00QkI3LTlGRUMtNzAwQzgxMzFERjFEfS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KLQkJezY5MDFEOTFDLTZFNDgtNEJCNy05RkVDLTcwMEM4MTMxREYxRH0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQotCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KLQkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXszNkQwQzUyQy1ERjRFLTQ1RDAtOEJDNy1FMjk0QzNBQkM3ODF9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCi0JCXszNkQwQzUyQy1ERjRFLTQ1RDAtOEJDNy1FMjk0QzNBQkM3ODF9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfHg2NA0KLQkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXx4NjQNCi0JCXszNkQwQzUyQy1ERjRFLTQ1RDAtOEJDNy1FMjk0QzNBQkM3ODF9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXszNkQwQzUyQy1ERjRFLTQ1RDAtOEJDNy1FMjk0QzNBQkM3ODF9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQkJezQ5NDZFQ0FDLTJFNjktNEJGOC1BOTBBLUY1MTM2RjUwOTRERn0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCi0JCXs0OTQ2RUNBQy0yRTY5LTRCRjgtQTkwQS1GNTEzNkY1MDk0REZ9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KLQkJezQ5NDZFQ0FDLTJFNjktNEJGOC1BOTBBLUY1MTM2RjUwOTRERn0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KLQkJezQ5NDZFQ0FDLTJFNjktNEJGOC1BOTBBLUY1MTM2RjUwOTRERn0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCi0JCXs0OTQ2RUNBQy0yRTY5LTRCRjgtQTkwQS1GNTEzNkY1MDk0REZ9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXs0OTQ2RUNBQy0yRTY5LTRCRjgtQTkwQS1GNTEzNkY1MDk0REZ9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7NDk0NkVDQUMtMkU2OS00QkY4LUE5MEEtRjUxMzZGNTA5NERGfS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXs0OTQ2RUNBQy0yRTY5LTRCRjgtQTkwQS1GNTEzNkY1MDk0REZ9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXs0OTQ2RUNBQy0yRTY5LTRCRjgtQTkwQS1GNTEzNkY1MDk0REZ9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFBHVXBkYXRlfFdpbjMyDQotCQl7NDk0NkVDQUMtMkU2OS00QkY4LUE5MEEtRjUxMzZGNTA5NERGfS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUEdVcGRhdGV8V2luMzINCi0JCXs0OTQ2RUNBQy0yRTY5LTRCRjgtQTkwQS1GNTEzNkY1MDk0REZ9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBQR1VwZGF0ZXx4NjQNCi0JCXs0OTQ2RUNBQy0yRTY5LTRCRjgtQTkwQS1GNTEzNkY1MDk0REZ9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUEdVcGRhdGV8eDY0DQotCQl7NDk0NkVDQUMtMkU2OS00QkY4LUE5MEEtRjUxMzZGNTA5NERGfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXs0OTQ2RUNBQy0yRTY5LTRCRjgtQTkwQS1GNTEzNkY1MDk0REZ9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXs0OTQ2RUNBQy0yRTY5LTRCRjgtQTkwQS1GNTEzNkY1MDk0REZ9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7NDk0NkVDQUMtMkU2OS00QkY4LUE5MEEtRjUxMzZGNTA5NERGfS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXs3M0ZDRDJCRC1GMTMzLTQ2QjctOEVDMS0xNDRDRDgyQTU5RDV9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7NzNGQ0QyQkQtRjEzMy00NkI3LThFQzEtMTQ0Q0Q4MkE1OUQ1fS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCi0JCXs3M0ZDRDJCRC1GMTMzLTQ2QjctOEVDMS0xNDRDRDgyQTU5RDV9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCi0JCXs3M0ZDRDJCRC1GMTMzLTQ2QjctOEVDMS0xNDRDRDgyQTU5RDV9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQotCQl7NzNGQ0QyQkQtRjEzMy00NkI3LThFQzEtMTQ0Q0Q4MkE1OUQ1fS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7NzNGQ0QyQkQtRjEzMy00NkI3LThFQzEtMTQ0Q0Q4MkE1OUQ1fS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezczRkNEMkJELUYxMzMtNDZCNy04RUMxLTE0NENEODJBNTlENX0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7NzNGQ0QyQkQtRjEzMy00NkI3LThFQzEtMTQ0Q0Q4MkE1OUQ1fS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7NzNGQ0QyQkQtRjEzMy00NkI3LThFQzEtMTQ0Q0Q4MkE1OUQ1fS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezczRkNEMkJELUYxMzMtNDZCNy04RUMxLTE0NENEODJBNTlENX0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFBHVXBkYXRlfFdpbjMyDQotCQl7NzNGQ0QyQkQtRjEzMy00NkI3LThFQzEtMTQ0Q0Q4MkE1OUQ1fS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8eDY0DQotCQl7NzNGQ0QyQkQtRjEzMy00NkI3LThFQzEtMTQ0Q0Q4MkE1OUQ1fS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfHg2NA0KLQkJezczRkNEMkJELUYxMzMtNDZCNy04RUMxLTE0NENEODJBNTlENX0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7NzNGQ0QyQkQtRjEzMy00NkI3LThFQzEtMTQ0Q0Q4MkE1OUQ1fS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7NzNGQ0QyQkQtRjEzMy00NkI3LThFQzEtMTQ0Q0Q4MkE1OUQ1fS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KLQkJezczRkNEMkJELUYxMzMtNDZCNy04RUMxLTE0NENEODJBNTlENX0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7RjlENzE3ODAtRjM5My0xMUUwLUJFNTAtMDgwMDIwMEM5QTY2fS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJe0Y5RDcxNzgwLUYzOTMtMTFFMC1CRTUwLTA4MDAyMDBDOUE2Nn0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7RjlENzE3ODAtRjM5My0xMUUwLUJFNTAtMDgwMDIwMEM5QTY2fS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQotCQl7RjlENzE3ODAtRjM5My0xMUUwLUJFNTAtMDgwMDIwMEM5QTY2fS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KLQkJe0Y5RDcxNzgwLUYzOTMtMTFFMC1CRTUwLTA4MDAyMDBDOUE2Nn0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJe0Y5RDcxNzgwLUYzOTMtMTFFMC1CRTUwLTA4MDAyMDBDOUE2Nn0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXtGOUQ3MTc4MC1GMzkzLTExRTAtQkU1MC0wODAwMjAwQzlBNjZ9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJe0Y5RDcxNzgwLUYzOTMtMTFFMC1CRTUwLTA4MDAyMDBDOUE2Nn0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJe0Y5RDcxNzgwLUYzOTMtMTFFMC1CRTUwLTA4MDAyMDBDOUE2Nn0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCi0JCXtGOUQ3MTc4MC1GMzkzLTExRTAtQkU1MC0wODAwMjAwQzlBNjZ9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJe0Y5RDcxNzgwLUYzOTMtMTFFMC1CRTUwLTA4MDAyMDBDOUE2Nn0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfHg2NA0KLQkJe0Y5RDcxNzgwLUYzOTMtMTFFMC1CRTUwLTA4MDAyMDBDOUE2Nn0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXx4NjQNCi0JCXtGOUQ3MTc4MC1GMzkzLTExRTAtQkU1MC0wODAwMjAwQzlBNjZ9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0Y5RDcxNzgwLUYzOTMtMTFFMC1CRTUwLTA4MDAyMDBDOUE2Nn0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0Y5RDcxNzgwLUYzOTMtMTFFMC1CRTUwLTA4MDAyMDBDOUE2Nn0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXtGOUQ3MTc4MC1GMzkzLTExRTAtQkU1MC0wODAwMjAwQzlBNjZ9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQkJezE4Q0FFMjhDLUI0NTQtNDZDMS04N0EwLTQ5M0Q5MUQ5N0YwM30uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCi0JCXsxOENBRTI4Qy1CNDU0LTQ2QzEtODdBMC00OTNEOTFEOTdGMDN9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KLQkJezE4Q0FFMjhDLUI0NTQtNDZDMS04N0EwLTQ5M0Q5MUQ5N0YwM30uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KLQkJezE4Q0FFMjhDLUI0NTQtNDZDMS04N0EwLTQ5M0Q5MUQ5N0YwM30uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCi0JCXsxOENBRTI4Qy1CNDU0LTQ2QzEtODdBMC00OTNEOTFEOTdGMDN9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXsxOENBRTI4Qy1CNDU0LTQ2QzEtODdBMC00OTNEOTFEOTdGMDN9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7MThDQUUyOEMtQjQ1NC00NkMxLTg3QTAtNDkzRDkxRDk3RjAzfS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXsxOENBRTI4Qy1CNDU0LTQ2QzEtODdBMC00OTNEOTFEOTdGMDN9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXsxOENBRTI4Qy1CNDU0LTQ2QzEtODdBMC00OTNEOTFEOTdGMDN9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFBHVXBkYXRlfFdpbjMyDQotCQl7MThDQUUyOEMtQjQ1NC00NkMxLTg3QTAtNDkzRDkxRDk3RjAzfS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUEdVcGRhdGV8V2luMzINCi0JCXsxOENBRTI4Qy1CNDU0LTQ2QzEtODdBMC00OTNEOTFEOTdGMDN9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBQR1VwZGF0ZXx4NjQNCi0JCXsxOENBRTI4Qy1CNDU0LTQ2QzEtODdBMC00OTNEOTFEOTdGMDN9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUEdVcGRhdGV8eDY0DQotCQl7MThDQUUyOEMtQjQ1NC00NkMxLTg3QTAtNDkzRDkxRDk3RjAzfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXsxOENBRTI4Qy1CNDU0LTQ2QzEtODdBMC00OTNEOTFEOTdGMDN9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXsxOENBRTI4Qy1CNDU0LTQ2QzEtODdBMC00OTNEOTFEOTdGMDN9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7MThDQUUyOEMtQjQ1NC00NkMxLTg3QTAtNDkzRDkxRDk3RjAzfS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXtFQ0M3Q0VBQy1BNUU1LTQ1OEUtQkI5RS0yNDEzQ0M4NDc4ODF9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7RUNDN0NFQUMtQTVFNS00NThFLUJCOUUtMjQxM0NDODQ3ODgxfS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCi0JCXtFQ0M3Q0VBQy1BNUU1LTQ1OEUtQkI5RS0yNDEzQ0M4NDc4ODF9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCi0JCXtFQ0M3Q0VBQy1BNUU1LTQ1OEUtQkI5RS0yNDEzQ0M4NDc4ODF9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQotCQl7RUNDN0NFQUMtQTVFNS00NThFLUJCOUUtMjQxM0NDODQ3ODgxfS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7RUNDN0NFQUMtQTVFNS00NThFLUJCOUUtMjQxM0NDODQ3ODgxfS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJe0VDQzdDRUFDLUE1RTUtNDU4RS1CQjlFLTI0MTNDQzg0Nzg4MX0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7RUNDN0NFQUMtQTVFNS00NThFLUJCOUUtMjQxM0NDODQ3ODgxfS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7RUNDN0NFQUMtQTVFNS00NThFLUJCOUUtMjQxM0NDODQ3ODgxfS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJe0VDQzdDRUFDLUE1RTUtNDU4RS1CQjlFLTI0MTNDQzg0Nzg4MX0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFBHVXBkYXRlfFdpbjMyDQotCQl7RUNDN0NFQUMtQTVFNS00NThFLUJCOUUtMjQxM0NDODQ3ODgxfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8eDY0DQotCQl7RUNDN0NFQUMtQTVFNS00NThFLUJCOUUtMjQxM0NDODQ3ODgxfS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfHg2NA0KLQkJe0VDQzdDRUFDLUE1RTUtNDU4RS1CQjlFLTI0MTNDQzg0Nzg4MX0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7RUNDN0NFQUMtQTVFNS00NThFLUJCOUUtMjQxM0NDODQ3ODgxfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7RUNDN0NFQUMtQTVFNS00NThFLUJCOUUtMjQxM0NDODQ3ODgxfS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KLQkJe0VDQzdDRUFDLUE1RTUtNDU4RS1CQjlFLTI0MTNDQzg0Nzg4MX0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7RDA2QjY0MjYtNDc2Mi00NENDLThCQUQtRDc5MDUyNTA3RjJGfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJe0QwNkI2NDI2LTQ3NjItNDRDQy04QkFELUQ3OTA1MjUwN0YyRn0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7RDA2QjY0MjYtNDc2Mi00NENDLThCQUQtRDc5MDUyNTA3RjJGfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQotCQl7RDA2QjY0MjYtNDc2Mi00NENDLThCQUQtRDc5MDUyNTA3RjJGfS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KLQkJe0QwNkI2NDI2LTQ3NjItNDRDQy04QkFELUQ3OTA1MjUwN0YyRn0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJe0QwNkI2NDI2LTQ3NjItNDRDQy04QkFELUQ3OTA1MjUwN0YyRn0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXtEMDZCNjQyNi00NzYyLTQ0Q0MtOEJBRC1ENzkwNTI1MDdGMkZ9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJe0QwNkI2NDI2LTQ3NjItNDRDQy04QkFELUQ3OTA1MjUwN0YyRn0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJe0QwNkI2NDI2LTQ3NjItNDRDQy04QkFELUQ3OTA1MjUwN0YyRn0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCi0JCXtEMDZCNjQyNi00NzYyLTQ0Q0MtOEJBRC1ENzkwNTI1MDdGMkZ9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJe0QwNkI2NDI2LTQ3NjItNDRDQy04QkFELUQ3OTA1MjUwN0YyRn0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfHg2NA0KLQkJe0QwNkI2NDI2LTQ3NjItNDRDQy04QkFELUQ3OTA1MjUwN0YyRn0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXx4NjQNCi0JCXtEMDZCNjQyNi00NzYyLTQ0Q0MtOEJBRC1ENzkwNTI1MDdGMkZ9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0QwNkI2NDI2LTQ3NjItNDRDQy04QkFELUQ3OTA1MjUwN0YyRn0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0QwNkI2NDI2LTQ3NjItNDRDQy04QkFELUQ3OTA1MjUwN0YyRn0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXtEMDZCNjQyNi00NzYyLTQ0Q0MtOEJBRC1ENzkwNTI1MDdGMkZ9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQkJe0VCMUMxOUMxLTFGMTgtNDIxRS05NzM1LUNBRUU2OURDNkEzQ30uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0VCMUMxOUMxLTFGMTgtNDIxRS05NzM1LUNBRUU2OURDNkEzQ30uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7RUIxQzE5QzEtMUYxOC00MjFFLTk3MzUtQ0FFRTY5REM2QTNDfS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0VCMUMxOUMxLTFGMTgtNDIxRS05NzM1LUNBRUU2OURDNkEzQ30uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KLQkJe0VCMUMxOUMxLTFGMTgtNDIxRS05NzM1LUNBRUU2OURDNkEzQ30uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0VCMUMxOUMxLTFGMTgtNDIxRS05NzM1LUNBRUU2OURDNkEzQ30uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7RUIxQzE5QzEtMUYxOC00MjFFLTk3MzUtQ0FFRTY5REM2QTNDfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtFQjFDMTlDMS0xRjE4LTQyMUUtOTczNS1DQUVFNjlEQzZBM0N9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7NDQ3RjA1QTgtRjU4MS00Q0FDLUE0NjYtNUFDNzkzNkUyMDdFfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJezQ0N0YwNUE4LUY1ODEtNENBQy1BNDY2LTVBQzc5MzZFMjA3RX0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7NDQ3RjA1QTgtRjU4MS00Q0FDLUE0NjYtNUFDNzkzNkUyMDdFfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQotCQl7NDQ3RjA1QTgtRjU4MS00Q0FDLUE0NjYtNUFDNzkzNkUyMDdFfS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KLQkJezQ0N0YwNUE4LUY1ODEtNENBQy1BNDY2LTVBQzc5MzZFMjA3RX0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezQ0N0YwNUE4LUY1ODEtNENBQy1BNDY2LTVBQzc5MzZFMjA3RX0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXs0NDdGMDVBOC1GNTgxLTRDQUMtQTQ2Ni01QUM3OTM2RTIwN0V9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezQ0N0YwNUE4LUY1ODEtNENBQy1BNDY2LTVBQzc5MzZFMjA3RX0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezQ0N0YwNUE4LUY1ODEtNENBQy1BNDY2LTVBQzc5MzZFMjA3RX0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCi0JCXs0NDdGMDVBOC1GNTgxLTRDQUMtQTQ2Ni01QUM3OTM2RTIwN0V9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezQ0N0YwNUE4LUY1ODEtNENBQy1BNDY2LTVBQzc5MzZFMjA3RX0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfHg2NA0KLQkJezQ0N0YwNUE4LUY1ODEtNENBQy1BNDY2LTVBQzc5MzZFMjA3RX0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXx4NjQNCi0JCXs0NDdGMDVBOC1GNTgxLTRDQUMtQTQ2Ni01QUM3OTM2RTIwN0V9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJezQ0N0YwNUE4LUY1ODEtNENBQy1BNDY2LTVBQzc5MzZFMjA3RX0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJezQ0N0YwNUE4LUY1ODEtNENBQy1BNDY2LTVBQzc5MzZFMjA3RX0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXs0NDdGMDVBOC1GNTgxLTRDQUMtQTQ2Ni01QUM3OTM2RTIwN0V9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQkJe0ExQTI5NUU1LTQ2M0MtNDM3Ri04MUNBLTFGMzIzNjc2ODVEQX0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCi0JCXtBMUEyOTVFNS00NjNDLTQzN0YtODFDQS0xRjMyMzY3Njg1REF9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KLQkJe0ExQTI5NUU1LTQ2M0MtNDM3Ri04MUNBLTFGMzIzNjc2ODVEQX0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KLQkJe0ExQTI5NUU1LTQ2M0MtNDM3Ri04MUNBLTFGMzIzNjc2ODVEQX0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCi0JCXtBMUEyOTVFNS00NjNDLTQzN0YtODFDQS0xRjMyMzY3Njg1REF9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXtBMUEyOTVFNS00NjNDLTQzN0YtODFDQS0xRjMyMzY3Njg1REF9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7QTFBMjk1RTUtNDYzQy00MzdGLTgxQ0EtMUYzMjM2NzY4NURBfS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXtBMUEyOTVFNS00NjNDLTQzN0YtODFDQS0xRjMyMzY3Njg1REF9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXtBMUEyOTVFNS00NjNDLTQzN0YtODFDQS0xRjMyMzY3Njg1REF9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFBHVXBkYXRlfFdpbjMyDQotCQl7QTFBMjk1RTUtNDYzQy00MzdGLTgxQ0EtMUYzMjM2NzY4NURBfS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUEdVcGRhdGV8V2luMzINCi0JCXtBMUEyOTVFNS00NjNDLTQzN0YtODFDQS0xRjMyMzY3Njg1REF9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBQR1VwZGF0ZXx4NjQNCi0JCXtBMUEyOTVFNS00NjNDLTQzN0YtODFDQS0xRjMyMzY3Njg1REF9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUEdVcGRhdGV8eDY0DQotCQl7QTFBMjk1RTUtNDYzQy00MzdGLTgxQ0EtMUYzMjM2NzY4NURBfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtBMUEyOTVFNS00NjNDLTQzN0YtODFDQS0xRjMyMzY3Njg1REF9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtBMUEyOTVFNS00NjNDLTQzN0YtODFDQS0xRjMyMzY3Njg1REF9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7QTFBMjk1RTUtNDYzQy00MzdGLTgxQ0EtMUYzMjM2NzY4NURBfS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXs5RTQ4QjMwMC0zN0QxLTExREQtOEM0MS0wMDUwNTZDMDAwMDh9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7OUU0OEIzMDAtMzdEMS0xMURELThDNDEtMDA1MDU2QzAwMDA4fS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCi0JCXs5RTQ4QjMwMC0zN0QxLTExREQtOEM0MS0wMDUwNTZDMDAwMDh9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCi0JCXs5RTQ4QjMwMC0zN0QxLTExREQtOEM0MS0wMDUwNTZDMDAwMDh9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQotCQl7OUU0OEIzMDAtMzdEMS0xMURELThDNDEtMDA1MDU2QzAwMDA4fS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7OUU0OEIzMDAtMzdEMS0xMURELThDNDEtMDA1MDU2QzAwMDA4fS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezlFNDhCMzAwLTM3RDEtMTFERC04QzQxLTAwNTA1NkMwMDAwOH0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7OUU0OEIzMDAtMzdEMS0xMURELThDNDEtMDA1MDU2QzAwMDA4fS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7OUU0OEIzMDAtMzdEMS0xMURELThDNDEtMDA1MDU2QzAwMDA4fS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezlFNDhCMzAwLTM3RDEtMTFERC04QzQxLTAwNTA1NkMwMDAwOH0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFBHVXBkYXRlfFdpbjMyDQotCQl7OUU0OEIzMDAtMzdEMS0xMURELThDNDEtMDA1MDU2QzAwMDA4fS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8eDY0DQotCQl7OUU0OEIzMDAtMzdEMS0xMURELThDNDEtMDA1MDU2QzAwMDA4fS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfHg2NA0KLQkJezlFNDhCMzAwLTM3RDEtMTFERC04QzQxLTAwNTA1NkMwMDAwOH0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7OUU0OEIzMDAtMzdEMS0xMURELThDNDEtMDA1MDU2QzAwMDA4fS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7OUU0OEIzMDAtMzdEMS0xMURELThDNDEtMDA1MDU2QzAwMDA4fS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KLQkJezlFNDhCMzAwLTM3RDEtMTFERC04QzQxLTAwNTA1NkMwMDAwOH0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KLQkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCi0JCXtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfHg2NA0KLQkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXx4NjQNCi0JCXtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQkJezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCi0JCXs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KLQkJezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KLQkJezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCi0JCXs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7NkRFMTA3NDQtRTM5Ni00MEE1LUI0RTItMUI2OUFBN0M4RDMxfS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7NkRFMTA3NDQtRTM5Ni00MEE1LUI0RTItMUI2OUFBN0M4RDMxfS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7NkRFMTA3NDQtRTM5Ni00MEE1LUI0RTItMUI2OUFBN0M4RDMxfS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7NkRFMTA3NDQtRTM5Ni00MEE1LUI0RTItMUI2OUFBN0M4RDMxfS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7NkRFMTA3NDQtRTM5Ni00MEE1LUI0RTItMUI2OUFBN0M4RDMxfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7NkRFMTA3NDQtRTM5Ni00MEE1LUI0RTItMUI2OUFBN0M4RDMxfS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfHg2NA0KLQkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uRGVidWd8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXx4NjQNCi0JCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7ODg1RDQ4OTgtRDA4RC00MDkxLTlDNDAtQzcwMENGRTNGQzVBfS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFBHVXBkYXRlfFdpbjMyDQotCQl7ODg1RDQ4OTgtRDA4RC00MDkxLTlDNDAtQzcwMENGRTNGQzVBfS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUEdVcGRhdGV8V2luMzINCi0JCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBQR1VwZGF0ZXx4NjQNCi0JCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUEdVcGRhdGV8eDY0DQotCQl7ODg1RDQ4OTgtRDA4RC00MDkxLTlDNDAtQzcwMENGRTNGQzVBfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7ODg1RDQ4OTgtRDA4RC00MDkxLTlDNDAtQzcwMENGRTNGQzVBfS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXtGNzQ5QjgyMi1CNDg5LTRDQTUtQTNBRC1DRTA3OEY1RjMzOEF9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7Rjc0OUI4MjItQjQ4OS00Q0E1LUEzQUQtQ0UwNzhGNUYzMzhBfS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCi0JCXtGNzQ5QjgyMi1CNDg5LTRDQTUtQTNBRC1DRTA3OEY1RjMzOEF9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCi0JCXtGNzQ5QjgyMi1CNDg5LTRDQTUtQTNBRC1DRTA3OEY1RjMzOEF9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQotCQl7Rjc0OUI4MjItQjQ4OS00Q0E1LUEzQUQtQ0UwNzhGNUYzMzhBfS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0Y3NDlCODIyLUI0ODktNENBNS1BM0FELUNFMDc4RjVGMzM4QX0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7Rjc0OUI4MjItQjQ4OS00Q0E1LUEzQUQtQ0UwNzhGNUYzMzhBfS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7Rjc0OUI4MjItQjQ4OS00Q0E1LUEzQUQtQ0UwNzhGNUYzMzhBfS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQkJe0Y3NDlCODIyLUI0ODktNENBNS1BM0FELUNFMDc4RjVGMzM4QX0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0Y3NDlCODIyLUI0ODktNENBNS1BM0FELUNFMDc4RjVGMzM4QX0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtGNzQ5QjgyMi1CNDg5LTRDQTUtQTNBRC1DRTA3OEY1RjMzOEF9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KLQkJe0Y3NDlCODIyLUI0ODktNENBNS1BM0FELUNFMDc4RjVGMzM4QX0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQkJe0Y3NDlCODIyLUI0ODktNENBNS1BM0FELUNFMDc4RjVGMzM4QX0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7Rjc0OUI4MjItQjQ4OS00Q0E1LUEzQUQtQ0UwNzhGNUYzMzhBfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7Rjc0OUI4MjItQjQ4OS00Q0E1LUEzQUQtQ0UwNzhGNUYzMzhBfS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KLQkJe0Y3NDlCODIyLUI0ODktNENBNS1BM0FELUNFMDc4RjVGMzM4QX0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJe0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQotCQl7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KLQkJe0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJe0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXtBMjY5N0JEMy0yOEMxLTRBRUMtOTEwNi04Qjc0ODYzOUZEMTZ9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJe0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJe0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCi0JCXtBMjY5N0JEMy0yOEMxLTRBRUMtOTEwNi04Qjc0ODYzOUZEMTZ9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJe0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfHg2NA0KLQkJe0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXx4NjQNCi0JCXtBMjY5N0JEMy0yOEMxLTRBRUMtOTEwNi04Qjc0ODYzOUZEMTZ9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXtBMjY5N0JEMy0yOEMxLTRBRUMtOTEwNi04Qjc0ODYzOUZEMTZ9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQkJezA0RjM3NDAwLTg4M0MtNDJENy1BRTI4LTZDRjk5NTNCRjk3NX0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCi0JCXswNEYzNzQwMC04ODNDLTQyRDctQUUyOC02Q0Y5OTUzQkY5NzV9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KLQkJezA0RjM3NDAwLTg4M0MtNDJENy1BRTI4LTZDRjk5NTNCRjk3NX0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KLQkJezA0RjM3NDAwLTg4M0MtNDJENy1BRTI4LTZDRjk5NTNCRjk3NX0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCi0JCXswNEYzNzQwMC04ODNDLTQyRDctQUUyOC02Q0Y5OTUzQkY5NzV9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXswNEYzNzQwMC04ODNDLTQyRDctQUUyOC02Q0Y5OTUzQkY5NzV9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7MDRGMzc0MDAtODgzQy00MkQ3LUFFMjgtNkNGOTk1M0JGOTc1fS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXswNEYzNzQwMC04ODNDLTQyRDctQUUyOC02Q0Y5OTUzQkY5NzV9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXswNEYzNzQwMC04ODNDLTQyRDctQUUyOC02Q0Y5OTUzQkY5NzV9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFBHVXBkYXRlfFdpbjMyDQotCQl7MDRGMzc0MDAtODgzQy00MkQ3LUFFMjgtNkNGOTk1M0JGOTc1fS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUEdVcGRhdGV8V2luMzINCi0JCXswNEYzNzQwMC04ODNDLTQyRDctQUUyOC02Q0Y5OTUzQkY5NzV9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBQR1VwZGF0ZXx4NjQNCi0JCXswNEYzNzQwMC04ODNDLTQyRDctQUUyOC02Q0Y5OTUzQkY5NzV9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUEdVcGRhdGV8eDY0DQotCQl7MDRGMzc0MDAtODgzQy00MkQ3LUFFMjgtNkNGOTk1M0JGOTc1fS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXswNEYzNzQwMC04ODNDLTQyRDctQUUyOC02Q0Y5OTUzQkY5NzV9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXswNEYzNzQwMC04ODNDLTQyRDctQUUyOC02Q0Y5OTUzQkY5NzV9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7MDRGMzc0MDAtODgzQy00MkQ3LUFFMjgtNkNGOTk1M0JGOTc1fS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JRW5kR2xvYmFsU2VjdGlvbg0KLQlHbG9iYWxTZWN0aW9uKFNvbHV0aW9uUHJvcGVydGllcykgPSBwcmVTb2x1dGlvbg0KLQkJSGlkZVNvbHV0aW9uTm9kZSA9IEZBTFNFDQotCUVuZEdsb2JhbFNlY3Rpb24NCi1FbmRHbG9iYWwNCmRpZmYgLS1naXQgYS9QQy9WUzkuMC9wZ2luc3RydW1lbnQudnNwcm9wcyBiL1BDL1ZTOS4wL3BnaW5zdHJ1bWVudC52c3Byb3BzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5OWMxMTdiLi4wMDAwMDAwCi0tLSBhL1BDL1ZTOS4wL3BnaW5zdHJ1bWVudC52c3Byb3BzCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb3BlcnR5U2hlZXQNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjguMDAiDQotCU5hbWU9InBnaW5zdHJ1bWVudCINCi0JT3V0cHV0RGlyZWN0b3J5PSIkKE91dERpclBHSSkiDQotCUludGVybWVkaWF0ZURpcmVjdG9yeT0iJChTb2x1dGlvbkRpcikkKFBsYXRmb3JtTmFtZSktdGVtcC1wZ2lcJChQcm9qZWN0TmFtZSlcIg0KLQk+DQotCTxUb29sDQotCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJT3B0aW1pemF0aW9uPSIyIg0KLQkJSW5saW5lRnVuY3Rpb25FeHBhbnNpb249IjEiDQotCQlFbmFibGVJbnRyaW5zaWNGdW5jdGlvbnM9ImZhbHNlIg0KLQkJRmF2b3JTaXplT3JTcGVlZD0iMiINCi0JCU9taXRGcmFtZVBvaW50ZXJzPSJ0cnVlIg0KLQkJRW5hYmxlRmliZXJTYWZlT3B0aW1pemF0aW9ucz0iZmFsc2UiDQotCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249InRydWUiDQotCQlTdHJpbmdQb29saW5nPSJ0cnVlIg0KLQkJRXhjZXB0aW9uSGFuZGxpbmc9IjAiDQotCQlCdWZmZXJTZWN1cml0eUNoZWNrPSJmYWxzZSINCi0JLz4NCi0JPFRvb2wNCi0JCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCU9wdGltaXplUmVmZXJlbmNlcz0iMiINCi0JCUVuYWJsZUNPTURBVEZvbGRpbmc9IjEiDQotCQlMaW5rVGltZUNvZGVHZW5lcmF0aW9uPSIyIg0KLQkJUHJvZmlsZUd1aWRlZERhdGFiYXNlPSIkKFNvbHV0aW9uRGlyKSQoUGxhdGZvcm1OYW1lKS1wZ2lcJChUYXJnZXROYW1lKS5wZ2QiDQotCQlJbXBvcnRMaWJyYXJ5PSIkKE91dERpclBHSSlcJChUYXJnZXROYW1lKS5saWIiDQotCS8+DQotCTxVc2VyTWFjcm8NCi0JCU5hbWU9Ik91dERpclBHSSINCi0JCVZhbHVlPSIkKFNvbHV0aW9uRGlyKSQoUGxhdGZvcm1OYW1lKS1wZ2lcIg0KLQkvPg0KLTwvVmlzdWFsU3R1ZGlvUHJvcGVydHlTaGVldD4NCmRpZmYgLS1naXQgYS9QQy9WUzkuMC9wZ3VwZGF0ZS52c3Byb3BzIGIvUEMvVlM5LjAvcGd1cGRhdGUudnNwcm9wcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjZjZmMyZC4uMDAwMDAwMAotLS0gYS9QQy9WUzkuMC9wZ3VwZGF0ZS52c3Byb3BzCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb3BlcnR5U2hlZXQNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjguMDAiDQotCU5hbWU9InBndXBkYXRlIg0KLQlPdXRwdXREaXJlY3Rvcnk9IiQoU29sdXRpb25EaXIpJChQbGF0Zm9ybU5hbWUpLXBnb1wiDQotCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIkKFNvbHV0aW9uRGlyKVxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JPg0KLQk8VG9vbA0KLQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJQWRkaXRpb25hbE1hbmlmZXN0RGVwZW5kZW5jaWVzPSIiDQotCQlMaW5rVGltZUNvZGVHZW5lcmF0aW9uPSI0Ig0KLQkvPg0KLTwvVmlzdWFsU3R1ZGlvUHJvcGVydHlTaGVldD4NCmRpZmYgLS1naXQgYS9QQy9WUzkuMC9weWQudnNwcm9wcyBiL1BDL1ZTOS4wL3B5ZC52c3Byb3BzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNGMyMWUxLi4wMDAwMDAwCi0tLSBhL1BDL1ZTOS4wL3B5ZC52c3Byb3BzCisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb3BlcnR5U2hlZXQNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjguMDAiDQotCU5hbWU9InB5ZCINCi0JSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7LlxyZWxlYXNlLnZzcHJvcHMiDQotCT4NCi0JPFRvb2wNCi0JCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iUHlfQlVJTERfQ09SRV9NT0RVTEUiDQotCQlSdW50aW1lTGlicmFyeT0iMiINCi0JLz4NCi0JPFRvb2wNCi0JCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCU91dHB1dEZpbGU9IiQoT3V0RGlyKVwkKFByb2plY3ROYW1lKS5weWQiDQotCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIkKE91dERpcilcJChQcm9qZWN0TmFtZSkucGRiIg0KLQkJSW1wb3J0TGlicmFyeT0iJChPdXREaXIpXCQoVGFyZ2V0TmFtZSkubGliIg0KLQkJR2VuZXJhdGVNYW5pZmVzdD0iZmFsc2UiDQotCS8+DQotCTxUb29sDQotCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCUVtYmVkTWFuaWZlc3Q9ImZhbHNlIg0KLQkvPg0KLQk8VG9vbA0KLQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQlDb21tYW5kTGluZT0iIg0KLQkvPg0KLTwvVmlzdWFsU3R1ZGlvUHJvcGVydHlTaGVldD4NCmRpZmYgLS1naXQgYS9QQy9WUzkuMC9weWRfZC52c3Byb3BzIGIvUEMvVlM5LjAvcHlkX2QudnNwcm9wcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzEzYTMwYi4uMDAwMDAwMAotLS0gYS9QQy9WUzkuMC9weWRfZC52c3Byb3BzCisrKyAvZGV2L251bGwKQEAgLTEsMzYgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb3BlcnR5U2hlZXQNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjguMDAiDQotCU5hbWU9InB5ZF9kIg0KLQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXGRlYnVnLnZzcHJvcHMiDQotCT4NCi0JPFRvb2wNCi0JCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQlPcHRpbWl6YXRpb249IjAiDQotCQlJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj0iMCINCi0JCUVuYWJsZUludHJpbnNpY0Z1bmN0aW9ucz0iZmFsc2UiDQotCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iUHlfQlVJTERfQ09SRV9NT0RVTEUiDQotCQlSdW50aW1lTGlicmFyeT0iMyINCi0JLz4NCi0JPFRvb2wNCi0JCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCU91dHB1dEZpbGU9IiQoT3V0RGlyKVwkKFByb2plY3ROYW1lKV9kLnB5ZCINCi0JCUxpbmtJbmNyZW1lbnRhbD0iMSINCi0JCVByb2dyYW1EYXRhYmFzZUZpbGU9IiQoT3V0RGlyKVwkKFByb2plY3ROYW1lKV9kLnBkYiINCi0JCUltcG9ydExpYnJhcnk9IiQoT3V0RGlyKVwkKFRhcmdldE5hbWUpLmxpYiINCi0JCUdlbmVyYXRlTWFuaWZlc3Q9ImZhbHNlIg0KLQkvPg0KLQk8VG9vbA0KLQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQlFbWJlZE1hbmlmZXN0PSJmYWxzZSINCi0JLz4NCi0JPFRvb2wNCi0JCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJQ29tbWFuZExpbmU9IiINCi0JLz4NCi0JPFVzZXJNYWNybw0KLQkJTmFtZT0iUHl0aG9uRXhlIg0KLQkJVmFsdWU9IiQoU29sdXRpb25EaXIpcHl0aG9uX2QuZXhlIg0KLQkvPg0KLTwvVmlzdWFsU3R1ZGlvUHJvcGVydHlTaGVldD4NCmRpZmYgLS1naXQgYS9QQy9WUzkuMC9weWV4cGF0LnZjcHJvaiBiL1BDL1ZTOS4wL3B5ZXhwYXQudmNwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhOGQyY2Q3Li4wMDAwMDAwCi0tLSBhL1BDL1ZTOS4wL3B5ZXhwYXQudmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsNTUzICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI5LjAwIg0KLQlOYW1lPSJweWV4cGF0Ig0KLQlQcm9qZWN0R1VJRD0ie0QwNkI2NDI2LTQ3NjItNDRDQy04QkFELUQ3OTA1MjUwN0YyRn0iDQotCVJvb3ROYW1lc3BhY2U9InB5ZXhwYXQiDQotCUtleXdvcmQ9IldpbjMyUHJvaiINCi0JVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iMTk2NjEzIg0KLQk+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiINCi0JCS8+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJ4NjQiDQotCQkvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPFRvb2xGaWxlcz4NCi0JPC9Ub29sRmlsZXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLlwuLlwuLlxNb2R1bGVzXGV4cGF0Ig0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iUFlFWFBBVF9FWFBPUlRTO0hBVkVfRVhQQVRfSDtYTUxfTlM7WE1MX0RURDtCWVRFT1JERVI9MTIzNDtYTUxfQ09OVEVYVF9CWVRFUz0xMDI0O1hNTF9TVEFUSUM7SEFWRV9NRU1NT1ZFIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWRfZC52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuXC4uXC4uXE1vZHVsZXNcZXhwYXQiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJQWUVYUEFUX0VYUE9SVFM7SEFWRV9FWFBBVF9IO1hNTF9OUztYTUxfRFREO0JZVEVPUkRFUj0xMjM0O1hNTF9DT05URVhUX0JZVEVTPTEwMjQ7WE1MX1NUQVRJQztIQVZFX01FTU1PVkUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii5cLi5cLi5cTW9kdWxlc1xleHBhdCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IlBZRVhQQVRfRVhQT1JUUztIQVZFX0VYUEFUX0g7WE1MX05TO1hNTF9EVEQ7QllURU9SREVSPTEyMzQ7WE1MX0NPTlRFWFRfQllURVM9MTAyNDtYTUxfU1RBVElDO0hBVkVfTUVNTU9WRSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii5cLi5cLi5cTW9kdWxlc1xleHBhdCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IlBZRVhQQVRfRVhQT1JUUztIQVZFX0VYUEFUX0g7WE1MX05TO1hNTF9EVEQ7QllURU9SREVSPTEyMzQ7WE1MX0NPTlRFWFRfQllURVM9MTAyNDtYTUxfU1RBVElDO0hBVkVfTUVNTU9WRSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii5cLi5cLi5cTW9kdWxlc1xleHBhdCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IlBZRVhQQVRfRVhQT1JUUztIQVZFX0VYUEFUX0g7WE1MX05TO1hNTF9EVEQ7QllURU9SREVSPTEyMzQ7WE1MX0NPTlRFWFRfQllURVM9MTAyNDtYTUxfU1RBVElDO0hBVkVfTUVNTU9WRSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuXC4uXC4uXE1vZHVsZXNcZXhwYXQiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJQWUVYUEFUX0VYUE9SVFM7SEFWRV9FWFBBVF9IO1hNTF9OUztYTUxfRFREO0JZVEVPUkRFUj0xMjM0O1hNTF9DT05URVhUX0JZVEVTPTEwMjQ7WE1MX1NUQVRJQztIQVZFX01FTU1PVkUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii5cLi5cLi5cTW9kdWxlc1xleHBhdCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IlBZRVhQQVRfRVhQT1JUUztIQVZFX0VYUEFUX0g7WE1MX05TO1hNTF9EVEQ7QllURU9SREVSPTEyMzQ7WE1MX0NPTlRFWFRfQllURVM9MTAyNDtYTUxfU1RBVElDO0hBVkVfTUVNTU9WRSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLlwuLlwuLlxNb2R1bGVzXGV4cGF0Ig0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iUFlFWFBBVF9FWFBPUlRTO0hBVkVfRVhQQVRfSDtYTUxfTlM7WE1MX0RURDtCWVRFT1JERVI9MTIzNDtYTUxfQ09OVEVYVF9CWVRFUz0xMDI0O1hNTF9TVEFUSUM7SEFWRV9NRU1NT1ZFIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iSGVhZGVyIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcZXhwYXRceG1scm9sZS5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xleHBhdFx4bWx0b2suaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlNvdXJjZSBGaWxlcyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHB5ZXhwYXQuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcZXhwYXRceG1scGFyc2UuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcZXhwYXRceG1scm9sZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xleHBhdFx4bWx0b2suYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzkuMC9weXByb2plY3QudnNwcm9wcyBiL1BDL1ZTOS4wL3B5cHJvamVjdC52c3Byb3BzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhOTA5ODc1Li4wMDAwMDAwCi0tLSBhL1BDL1ZTOS4wL3B5cHJvamVjdC52c3Byb3BzCisrKyAvZGV2L251bGwKQEAgLTEsOTEgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb3BlcnR5U2hlZXQNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjguMDAiDQotCU5hbWU9InB5cHJvamVjdCINCi0JT3V0cHV0RGlyZWN0b3J5PSIkKFNvbHV0aW9uRGlyKSINCi0JSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSIkKFNvbHV0aW9uRGlyKSQoUGxhdGZvcm1OYW1lKS10ZW1wLSQoQ29uZmlndXJhdGlvbk5hbWUpXCQoUHJvamVjdE5hbWUpXCINCi0JPg0KLQk8VG9vbA0KLQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCU9wdGltaXphdGlvbj0iMiINCi0JCUlubGluZUZ1bmN0aW9uRXhwYW5zaW9uPSIxIg0KLQkJRW5hYmxlSW50cmluc2ljRnVuY3Rpb25zPSJ0cnVlIg0KLQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cSW5jbHVkZTsgLi5cLi5cUEMiDQotCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX1dJTjMyIg0KLQkJU3RyaW5nUG9vbGluZz0idHJ1ZSINCi0JCUV4Y2VwdGlvbkhhbmRsaW5nPSIwIg0KLQkJUnVudGltZUxpYnJhcnk9IjAiDQotCQlFbmFibGVGdW5jdGlvbkxldmVsTGlua2luZz0idHJ1ZSINCi0JCVdhcm5pbmdMZXZlbD0iMyINCi0JCURlYnVnSW5mb3JtYXRpb25Gb3JtYXQ9IjMiDQotCQlDb21waWxlQXM9IjAiDQotCS8+DQotCTxUb29sDQotCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQlMaW5rSW5jcmVtZW50YWw9IjEiDQotCQlBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPSIkKE91dERpcikiDQotCQlHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb249InRydWUiDQotCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIkKE91dERpcikkKFRhcmdldE5hbWUpLnBkYiINCi0JCVN1YlN5c3RlbT0iMiINCi0JCVJhbmRvbWl6ZWRCYXNlQWRkcmVzcz0iMSINCi0JCURhdGFFeGVjdXRpb25QcmV2ZW50aW9uPSIwIg0KLQkJVGFyZ2V0TWFjaGluZT0iMSINCi0JLz4NCi0JPFRvb2wNCi0JCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxQQzsuLlwuLlxJbmNsdWRlIg0KLQkvPg0KLQk8VXNlck1hY3JvDQotCQlOYW1lPSJQeURsbE5hbWUiDQotCQlWYWx1ZT0icHl0aG9uMzQiDQotCS8+DQotCTxVc2VyTWFjcm8NCi0JCU5hbWU9IlB5dGhvbkV4ZSINCi0JCVZhbHVlPSIkKFNvbHV0aW9uRGlyKVxweXRob24uZXhlIg0KLQkvPg0KLQk8VXNlck1hY3JvDQotCQlOYW1lPSJleHRlcm5hbHNEaXIiDQotCQlWYWx1ZT0iLi5cLi5cLi4iDQotCS8+DQotCTxVc2VyTWFjcm8NCi0JCU5hbWU9InNxbGl0ZTNEaXIiDQotCQlWYWx1ZT0iJChleHRlcm5hbHNEaXIpXHNxbGl0ZS0zLjguMy4xIg0KLQkvPg0KLQk8VXNlck1hY3JvDQotCQlOYW1lPSJiejJEaXIiDQotCQlWYWx1ZT0iJChleHRlcm5hbHNEaXIpXGJ6aXAyLTEuMC42Ig0KLQkvPg0KLQk8VXNlck1hY3JvDQotCQlOYW1lPSJsem1hRGlyIg0KLQkJVmFsdWU9IiQoZXh0ZXJuYWxzRGlyKVx4ei01LjAuNSINCi0JLz4NCi0JPFVzZXJNYWNybw0KLQkJTmFtZT0ib3BlbnNzbERpciINCi0JCVZhbHVlPSIkKGV4dGVybmFsc0Rpcilcb3BlbnNzbC0xLjAuMWciDQotCS8+DQotCTxVc2VyTWFjcm8NCi0JCU5hbWU9InRjbHRrRGlyIg0KLQkJVmFsdWU9IiQoZXh0ZXJuYWxzRGlyKVx0Y2x0ayINCi0JLz4NCi0JPFVzZXJNYWNybw0KLQkJTmFtZT0idGNsdGs2NERpciINCi0JCVZhbHVlPSIkKGV4dGVybmFsc0RpcilcdGNsdGs2NCINCi0JLz4NCi0JPFVzZXJNYWNybw0KLQkJTmFtZT0idGNsdGtMaWIiDQotCQlWYWx1ZT0iJCh0Y2x0a0RpcilcbGliXHRjbDg1LmxpYiAkKHRjbHRrRGlyKVxsaWJcdGs4NS5saWIiDQotCS8+DQotCTxVc2VyTWFjcm8NCi0JCU5hbWU9InRjbHRrTGliRGVidWciDQotCQlWYWx1ZT0iJCh0Y2x0a0RpcilcbGliXHRjbDg1Zy5saWIgJCh0Y2x0a0RpcilcbGliXHRrODVnLmxpYiINCi0JLz4NCi0JPFVzZXJNYWNybw0KLQkJTmFtZT0idGNsdGs2NExpYiINCi0JCVZhbHVlPSIkKHRjbHRrNjREaXIpXGxpYlx0Y2w4NS5saWIgJCh0Y2x0azY0RGlyKVxsaWJcdGs4NS5saWIiDQotCS8+DQotCTxVc2VyTWFjcm8NCi0JCU5hbWU9InRjbHRrNjRMaWJEZWJ1ZyINCi0JCVZhbHVlPSIkKHRjbHRrNjREaXIpXGxpYlx0Y2w4NWcubGliICQodGNsdGs2NERpcilcbGliXHRrODVnLmxpYiINCi0JLz4NCi08L1Zpc3VhbFN0dWRpb1Byb3BlcnR5U2hlZXQ+DQpkaWZmIC0tZ2l0IGEvUEMvVlM5LjAvcHl0aG9uLnZjcHJvaiBiL1BDL1ZTOS4wL3B5dGhvbi52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIwN2RlMjEuLjAwMDAwMDAKLS0tIGEvUEMvVlM5LjAvcHl0aG9uLnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDYzNyArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOS4wMCINCi0JTmFtZT0icHl0aG9uIg0KLQlQcm9qZWN0R1VJRD0ie0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0iDQotCVRhcmdldEZyYW1ld29ya1ZlcnNpb249IjEzMTA3MiINCi0JPg0KLQk8UGxhdGZvcm1zPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0iV2luMzIiDQotCQkvPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0ieDY0Ig0KLQkJLz4NCi0JPC9QbGF0Zm9ybXM+DQotCTxUb29sRmlsZXM+DQotCTwvVG9vbEZpbGVzPg0KLQk8Q29uZmlndXJhdGlvbnM+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7LlxyZWxlYXNlLnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCUNoYXJhY3RlclNldD0iMiINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfQ09OU09MRSINCi0JCQkJU3RyaW5nUG9vbGluZz0idHJ1ZSINCi0JCQkJUnVudGltZUxpYnJhcnk9IjIiDQotCQkJCUVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJ0cnVlIg0KLQkJCQlDb21waWxlQXM9IjAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJOREVCVUciDQotCQkJCUN1bHR1cmU9IjEwMzMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVxweXRob24uZXhlIg0KLQkJCQlTdWJTeXN0ZW09IjEiDQotCQkJCVN0YWNrUmVzZXJ2ZVNpemU9IjIwMDAwMDAiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFkMDAwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxyZWxlYXNlLnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCUNoYXJhY3RlclNldD0iMiINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX0NPTlNPTEUiDQotCQkJCVN0cmluZ1Bvb2xpbmc9InRydWUiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCQlFbmFibGVGdW5jdGlvbkxldmVsTGlua2luZz0idHJ1ZSINCi0JCQkJQ29tcGlsZUFzPSIwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTkRFQlVHIg0KLQkJCQlDdWx0dXJlPSIxMDMzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilccHl0aG9uLmV4ZSINCi0JCQkJU3ViU3lzdGVtPSIxIg0KLQkJCQlTdGFja1Jlc2VydmVTaXplPSIyMDAwMDAwIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZDAwMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXGRlYnVnLnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlPcHRpbWl6YXRpb249IjAiDQotCQkJCUVuYWJsZUludHJpbnNpY0Z1bmN0aW9ucz0iZmFsc2UiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9DT05TT0xFIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMyINCi0JCQkJQnJvd3NlSW5mb3JtYXRpb249IjEiDQotCQkJCUNvbXBpbGVBcz0iMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9ERUJVRyINCi0JCQkJQ3VsdHVyZT0iMTAzMyINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cSW5jbHVkZSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXHB5dGhvbl9kLmV4ZSINCi0JCQkJU3ViU3lzdGVtPSIxIg0KLQkJCQlTdGFja1Jlc2VydmVTaXplPSIyMDAwMDAwIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZDAwMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3x4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXGRlYnVnLnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCUNoYXJhY3RlclNldD0iMiINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJT3B0aW1pemF0aW9uPSIwIg0KLQkJCQlFbmFibGVJbnRyaW5zaWNGdW5jdGlvbnM9ImZhbHNlIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfQ09OU09MRSINCi0JCQkJUnVudGltZUxpYnJhcnk9IjMiDQotCQkJCUJyb3dzZUluZm9ybWF0aW9uPSIxIg0KLQkJCQlDb21waWxlQXM9IjAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfREVCVUciDQotCQkJCUN1bHR1cmU9IjEwMzMiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXEluY2x1ZGUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVxweXRob25fZC5leGUiDQotCQkJCVN1YlN5c3RlbT0iMSINCi0JCQkJU3RhY2tSZXNlcnZlU2l6ZT0iMjEwMDAwMCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWQwMDAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5ccmVsZWFzZS52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCUNoYXJhY3RlclNldD0iMiINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfQ09OU09MRSINCi0JCQkJU3RyaW5nUG9vbGluZz0idHJ1ZSINCi0JCQkJUnVudGltZUxpYnJhcnk9IjIiDQotCQkJCUVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJ0cnVlIg0KLQkJCQlDb21waWxlQXM9IjAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJOREVCVUciDQotCQkJCUN1bHR1cmU9IjEwMzMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVxweXRob24uZXhlIg0KLQkJCQlTdWJTeXN0ZW09IjEiDQotCQkJCVN0YWNrUmVzZXJ2ZVNpemU9IjIwMDAwMDAiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFkMDAwMDAwIg0KLQkJCQlJbXBvcnRMaWJyYXJ5PSIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccmVsZWFzZS52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCUNoYXJhY3RlclNldD0iMiINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX0NPTlNPTEUiDQotCQkJCVN0cmluZ1Bvb2xpbmc9InRydWUiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCQlFbmFibGVGdW5jdGlvbkxldmVsTGlua2luZz0idHJ1ZSINCi0JCQkJQ29tcGlsZUFzPSIwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTkRFQlVHIg0KLQkJCQlDdWx0dXJlPSIxMDMzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilccHl0aG9uLmV4ZSINCi0JCQkJU3ViU3lzdGVtPSIxIg0KLQkJCQlTdGFja1Jlc2VydmVTaXplPSIyMDAwMDAwIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZDAwMDAwMCINCi0JCQkJSW1wb3J0TGlicmFyeT0iIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCUNoYXJhY3RlclNldD0iMiINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfQ09OU09MRSINCi0JCQkJU3RyaW5nUG9vbGluZz0idHJ1ZSINCi0JCQkJUnVudGltZUxpYnJhcnk9IjIiDQotCQkJCUVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJ0cnVlIg0KLQkJCQlDb21waWxlQXM9IjAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJOREVCVUciDQotCQkJCUN1bHR1cmU9IjEwMzMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVxweXRob24uZXhlIg0KLQkJCQlTdWJTeXN0ZW09IjEiDQotCQkJCVN0YWNrUmVzZXJ2ZVNpemU9IjIwMDAwMDAiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFkMDAwMDAwIg0KLQkJCQlJbXBvcnRMaWJyYXJ5PSIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxyZWxlYXNlLnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJmYWxzZSINCi0JCQlDaGFyYWN0ZXJTZXQ9IjIiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9DT05TT0xFIg0KLQkJCQlTdHJpbmdQb29saW5nPSJ0cnVlIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9InRydWUiDQotCQkJCUNvbXBpbGVBcz0iMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Ik5ERUJVRyINCi0JCQkJQ3VsdHVyZT0iMTAzMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXHB5dGhvbi5leGUiDQotCQkJCVN1YlN5c3RlbT0iMSINCi0JCQkJU3RhY2tSZXNlcnZlU2l6ZT0iMjAwMDAwMCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWQwMDAwMDAiDQotCQkJCUltcG9ydExpYnJhcnk9IiINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JPC9Db25maWd1cmF0aW9ucz4NCi0JPFJlZmVyZW5jZXM+DQotCTwvUmVmZXJlbmNlcz4NCi0JPEZpbGVzPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlJlc291cmNlIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBDXHB5Y29uLmljbyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBDXHB5dGhvbl9leGUucmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJTb3VyY2UgRmlsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xweXRob24uYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzkuMC9weXRob24zZGxsLnZjcHJvaiBiL1BDL1ZTOS4wL3B5dGhvbjNkbGwudmNwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZDczMzNiLi4wMDAwMDAwCi0tLSBhL1BDL1ZTOS4wL3B5dGhvbjNkbGwudmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsMjQ2ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI5LjAwIg0KLQlOYW1lPSJweXRob24zZGxsIg0KLQlQcm9qZWN0R1VJRD0iezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0iDQotCVJvb3ROYW1lc3BhY2U9InB5dGhvbjNkbGwiDQotCUtleXdvcmQ9IldpbjMyUHJvaiINCi0JVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iMTk2NjEzIg0KLQk+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiINCi0JCS8+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJ4NjQiDQotCQkvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPFRvb2xGaWxlcz4NCi0JPC9Ub29sRmlsZXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMCINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wcyINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTk1ha2VUb29sIg0KLQkJCQlCdWlsZENvbW1hbmRMaW5lPSJjZCAkKElucHV0RGlyKVwuLlwuLlxQQyYjeDBEOyYjeDBBO25tYWtlIC9mIHB5dGhvbjMubWFrIE1BQ0hJTkU9eDg2IE91dERpcj0kKE91dERpcikiDQotCQkJCVJlQnVpbGRDb21tYW5kTGluZT0iY2QgJChJbnB1dERpcilcLi5cLi5cUEMmI3gwRDsmI3gwQTtubWFrZSAvZiBweXRob24zLm1hayBNQUNISU5FPXg4NiBPdXREaXI9JChPdXREaXIpIHJlYnVpbGQiDQotCQkJCUNsZWFuQ29tbWFuZExpbmU9ImNkICQoSW5wdXREaXIpXC4uXC4uXFBDJiN4MEQ7JiN4MEE7bm1ha2UgL2YgcHl0aG9uMy5tYWsgTUFDSElORT14ODYgT3V0RGlyPSQoT3V0RGlyKSBjbGVhbiINCi0JCQkJT3V0cHV0PSIkKE91dERpcilccHl0aG9uMy5kbGwiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSIiDQotCQkJCUluY2x1ZGVTZWFyY2hQYXRoPSIiDQotCQkJCUZvcmNlZEluY2x1ZGVzPSIiDQotCQkJCUFzc2VtYmx5U2VhcmNoUGF0aD0iIg0KLQkJCQlGb3JjZWRVc2luZ0Fzc2VtYmxpZXM9IiINCi0JCQkJQ29tcGlsZUFzTWFuYWdlZD0iIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIwIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxyZWxlYXNlLnZzcHJvcHMiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTk1ha2VUb29sIg0KLQkJCQlCdWlsZENvbW1hbmRMaW5lPSJjZCAkKElucHV0RGlyKVwuLlwuLlxQQyYjeDBEOyYjeDBBO25tYWtlIC9mIHB5dGhvbjMubWFrIE1BQ0hJTkU9eDY0IE91dERpcj0kKE91dERpcikiDQotCQkJCVJlQnVpbGRDb21tYW5kTGluZT0iY2QgJChJbnB1dERpcilcLi5cLi5cUEMmI3gwRDsmI3gwQTtubWFrZSAvZiBweXRob24zLm1hayBNQUNISU5FPXg2NCBPdXREaXI9JChPdXREaXIpIHJlYnVpbGQiDQotCQkJCUNsZWFuQ29tbWFuZExpbmU9ImNkICQoSW5wdXREaXIpXC4uXC4uXFBDJiN4MEQ7JiN4MEE7bm1ha2UgL2YgcHl0aG9uMy5tYWsgTUFDSElORT14NjQgT3V0RGlyPSQoT3V0RGlyKSBjbGVhbiINCi0JCQkJT3V0cHV0PSIkKE91dERpcilccHl0aG9uMy5kbGwiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSIiDQotCQkJCUluY2x1ZGVTZWFyY2hQYXRoPSIiDQotCQkJCUZvcmNlZEluY2x1ZGVzPSIiDQotCQkJCUFzc2VtYmx5U2VhcmNoUGF0aD0iIg0KLQkJCQlGb3JjZWRVc2luZ0Fzc2VtYmxpZXM9IiINCi0JCQkJQ29tcGlsZUFzTWFuYWdlZD0iIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMCINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ05NYWtlVG9vbCINCi0JCQkJQnVpbGRDb21tYW5kTGluZT0iY2QgJChJbnB1dERpcilcLi5cLi5cUEMmI3gwRDsmI3gwQTtubWFrZSAvZiBweXRob24zLm1hayBNQUNISU5FPXg4NiBPdXREaXI9JChPdXREaXIpIg0KLQkJCQlSZUJ1aWxkQ29tbWFuZExpbmU9ImNkICQoSW5wdXREaXIpXC4uXC4uXFBDJiN4MEQ7JiN4MEE7bm1ha2UgL2YgcHl0aG9uMy5tYWsgTUFDSElORT14ODYgT3V0RGlyPSQoT3V0RGlyKSByZWJ1aWxkIg0KLQkJCQlDbGVhbkNvbW1hbmRMaW5lPSJjZCAkKElucHV0RGlyKVwuLlwuLlxQQyYjeDBEOyYjeDBBO25tYWtlIC9mIHB5dGhvbjMubWFrIE1BQ0hJTkU9eDg2IE91dERpcj0kKE91dERpcikgY2xlYW4iDQotCQkJCU91dHB1dD0iJChPdXREaXIpXHB5dGhvbjMuZGxsIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iIg0KLQkJCQlJbmNsdWRlU2VhcmNoUGF0aD0iIg0KLQkJCQlGb3JjZWRJbmNsdWRlcz0iIg0KLQkJCQlBc3NlbWJseVNlYXJjaFBhdGg9IiINCi0JCQkJRm9yY2VkVXNpbmdBc3NlbWJsaWVzPSIiDQotCQkJCUNvbXBpbGVBc01hbmFnZWQ9IiINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIwIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxyZWxlYXNlLnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNOTWFrZVRvb2wiDQotCQkJCUJ1aWxkQ29tbWFuZExpbmU9ImNkICQoSW5wdXREaXIpXC4uXC4uXFBDJiN4MEQ7JiN4MEE7bm1ha2UgL2YgcHl0aG9uMy5tYWsgTUFDSElORT14NjQgT3V0RGlyPSQoT3V0RGlyKSINCi0JCQkJUmVCdWlsZENvbW1hbmRMaW5lPSJjZCAkKElucHV0RGlyKVwuLlwuLlxQQyYjeDBEOyYjeDBBO25tYWtlIC9mIHB5dGhvbjMubWFrIE1BQ0hJTkU9eDY0IE91dERpcj0kKE91dERpcikgcmVidWlsZCINCi0JCQkJQ2xlYW5Db21tYW5kTGluZT0iY2QgJChJbnB1dERpcilcLi5cLi5cUEMmI3gwRDsmI3gwQTtubWFrZSAvZiBweXRob24zLm1hayBNQUNISU5FPXg2NCBPdXREaXI9JChPdXREaXIpIGNsZWFuIg0KLQkJCQlPdXRwdXQ9IiQoT3V0RGlyKVxweXRob24zLmRsbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IiINCi0JCQkJSW5jbHVkZVNlYXJjaFBhdGg9IiINCi0JCQkJRm9yY2VkSW5jbHVkZXM9IiINCi0JCQkJQXNzZW1ibHlTZWFyY2hQYXRoPSIiDQotCQkJCUZvcmNlZFVzaW5nQXNzZW1ibGllcz0iIg0KLQkJCQlDb21waWxlQXNNYW5hZ2VkPSIiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjAiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7LlxyZWxlYXNlLnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ05NYWtlVG9vbCINCi0JCQkJQnVpbGRDb21tYW5kTGluZT0iY2QgJChJbnB1dERpcilcLi5cLi5cUEMmI3gwRDsmI3gwQTtubWFrZSAvZiBweXRob24zLm1hayBNQUNISU5FPXg4NiBPdXREaXI9JChPdXREaXIpIg0KLQkJCQlSZUJ1aWxkQ29tbWFuZExpbmU9ImNkICQoSW5wdXREaXIpXC4uXC4uXFBDJiN4MEQ7JiN4MEE7bm1ha2UgL2YgcHl0aG9uMy5tYWsgTUFDSElORT14ODYgT3V0RGlyPSQoT3V0RGlyKSByZWJ1aWxkIg0KLQkJCQlDbGVhbkNvbW1hbmRMaW5lPSJjZCAkKElucHV0RGlyKVwuLlwuLlxQQyYjeDBEOyYjeDBBO25tYWtlIC9mIHB5dGhvbjMubWFrIE1BQ0hJTkU9eDg2IE91dERpcj0kKE91dERpcikgY2xlYW4iDQotCQkJCU91dHB1dD0iJChPdXREaXIpXHB5dGhvbjMuZGxsIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iIg0KLQkJCQlJbmNsdWRlU2VhcmNoUGF0aD0iIg0KLQkJCQlGb3JjZWRJbmNsdWRlcz0iIg0KLQkJCQlBc3NlbWJseVNlYXJjaFBhdGg9IiINCi0JCQkJRm9yY2VkVXNpbmdBc3NlbWJsaWVzPSIiDQotCQkJCUNvbXBpbGVBc01hbmFnZWQ9IiINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjAiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTk1ha2VUb29sIg0KLQkJCQlCdWlsZENvbW1hbmRMaW5lPSJjZCAkKElucHV0RGlyKVwuLlwuLlxQQyYjeDBEOyYjeDBBO25tYWtlIC9mIHB5dGhvbjMubWFrIE1BQ0hJTkU9eDY0IE91dERpcj0kKE91dERpcikiDQotCQkJCVJlQnVpbGRDb21tYW5kTGluZT0iY2QgJChJbnB1dERpcilcLi5cLi5cUEMmI3gwRDsmI3gwQTtubWFrZSAvZiBweXRob24zLm1hayBNQUNISU5FPXg2NCBPdXREaXI9JChPdXREaXIpIHJlYnVpbGQiDQotCQkJCUNsZWFuQ29tbWFuZExpbmU9ImNkICQoSW5wdXREaXIpXC4uXC4uXFBDJiN4MEQ7JiN4MEE7bm1ha2UgL2YgcHl0aG9uMy5tYWsgTUFDSElORT14NjQgT3V0RGlyPSQoT3V0RGlyKSBjbGVhbiINCi0JCQkJT3V0cHV0PSIkKE91dERpcilccHl0aG9uMy5kbGwiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSIiDQotCQkJCUluY2x1ZGVTZWFyY2hQYXRoPSIiDQotCQkJCUZvcmNlZEluY2x1ZGVzPSIiDQotCQkJCUFzc2VtYmx5U2VhcmNoUGF0aD0iIg0KLQkJCQlGb3JjZWRVc2luZ0Fzc2VtYmxpZXM9IiINCi0JCQkJQ29tcGlsZUFzTWFuYWdlZD0iIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCTwvQ29uZmlndXJhdGlvbnM+DQotCTxSZWZlcmVuY2VzPg0KLQk8L1JlZmVyZW5jZXM+DQotCTxGaWxlcz4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJTb3VyY2UgRmlsZXMiDQotCQkJRmlsdGVyPSJjcHA7YztjYztjeHg7ZGVmO29kbDtpZGw7aHBqO2JhdDthc207YXNteCINCi0JCQlVbmlxdWVJZGVudGlmaWVyPSJ7NEZDNzM3RjEtQzdBNS00Mzc2LUEwNjYtMkEzMkQ3NTJBMkZGfSINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQQ1xweXRob24zLmRlZiINCi0JCQkJPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJCQk+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJCQk+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUEdJbnN0cnVtZW50fFdpbjMyIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IlBHSW5zdHJ1bWVudHx4NjQiDQotCQkJCQk+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUEdVcGRhdGV8V2luMzIiDQotCQkJCQk+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUEdVcGRhdGV8eDY0Ig0KLQkJCQkJPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBDXHB5dGhvbjNkbGwuYyINCi0JCQkJPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJCQk+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJCQk+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUEdJbnN0cnVtZW50fFdpbjMyIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IlBHSW5zdHJ1bWVudHx4NjQiDQotCQkJCQk+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUEdVcGRhdGV8V2luMzIiDQotCQkJCQk+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUEdVcGRhdGV8eDY0Ig0KLQkJCQkJPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IkhlYWRlciBGaWxlcyINCi0JCQlGaWx0ZXI9Img7aHBwO2h4eDtobTtpbmw7aW5jO3hzZCINCi0JCQlVbmlxdWVJZGVudGlmaWVyPSJ7OTM5OTUzODAtODlCRC00YjA0LTg4RUItNjI1RkJFNTJFQkZCfSINCi0JCQk+DQotCQk8L0ZpbHRlcj4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJSZXNvdXJjZSBGaWxlcyINCi0JCQlGaWx0ZXI9InJjO2ljbztjdXI7Ym1wO2RsZztyYzI7cmN0O2JpbjtyZ3M7Z2lmO2pwZztqcGVnO2pwZTtyZXN4O3RpZmY7dGlmO3BuZzt3YXYiDQotCQkJVW5pcXVlSWRlbnRpZmllcj0iezY3REE2QUI2LUY4MDAtNGMwOC04QjdBLTgzQkIxMjFBQUQwMX0iDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUENccHl0aG9uX250LnJjIg0KLQkJCQk+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQkJCT4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJSZWxlYXNlfHg2NCINCi0JCQkJCT4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJQR0luc3RydW1lbnR8V2luMzIiDQotCQkJCQk+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUEdJbnN0cnVtZW50fHg2NCINCi0JCQkJCT4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJQR1VwZGF0ZXxXaW4zMiINCi0JCQkJCT4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJQR1VwZGF0ZXx4NjQiDQotCQkJCQk+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCTwvRmlsZXM+DQotCTxHbG9iYWxzPg0KLQk8L0dsb2JhbHM+DQotPC9WaXN1YWxTdHVkaW9Qcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL3B5dGhvbmNvcmUudmNwcm9qIGIvUEMvVlM5LjAvcHl0aG9uY29yZS52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNmNjA0NzAuLjAwMDAwMDAKLS0tIGEvUEMvVlM5LjAvcHl0aG9uY29yZS52Y3Byb2oKKysrIC9kZXYvbnVsbApAQCAtMSwxODc3ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI5LjAwIg0KLQlOYW1lPSJweXRob25jb3JlIg0KLQlQcm9qZWN0R1VJRD0ie0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0iDQotCVJvb3ROYW1lc3BhY2U9InB5dGhvbmNvcmUiDQotCVRhcmdldEZyYW1ld29ya1ZlcnNpb249IjEzMTA3MiINCi0JPg0KLQk8UGxhdGZvcm1zPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0iV2luMzIiDQotCQkvPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0ieDY0Ig0KLQkJLz4NCi0JPC9QbGF0Zm9ybXM+DQotCTxUb29sRmlsZXM+DQotCTwvVG9vbEZpbGVzPg0KLQk8Q29uZmlndXJhdGlvbnM+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7LlxyZWxlYXNlLnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIvWm0yMDAgIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxQeXRob247Li5cLi5cTW9kdWxlc1x6bGliIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX1VTUkRMTDtQeV9CVUlMRF9DT1JFO1B5X0VOQUJMRV9TSEFSRUQ7V0lOMzIiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTkRFQlVHIg0KLQkJCQlDdWx0dXJlPSIxMDMzIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxJbmNsdWRlIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCQlEZXNjcmlwdGlvbj0iR2VuZXJhdGUgYnVpbGQgaW5mb3JtYXRpb24uLi4iDQotCQkJCUNvbW1hbmRMaW5lPSImcXVvdDskKFNvbHV0aW9uRGlyKW1ha2VfYnVpbGRpbmZvLmV4ZSZxdW90OyBSZWxlYXNlICZxdW90OyQoSW50RGlyKVwmcXVvdDsiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IiZxdW90OyQoSW50RGlyKWdldGJ1aWxkaW5mby5vJnF1b3Q7Ig0KLQkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilcJChQeURsbE5hbWUpLmRsbCINCi0JCQkJSWdub3JlRGVmYXVsdExpYnJhcnlOYW1lcz0ibGliYyINCi0JCQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iJChPdXREaXIpJChQeURsbE5hbWUpLnBkYiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUwMDAwMDAiDQotCQkJCUltcG9ydExpYnJhcnk9IiQoT3V0RGlyKSQoUHlEbGxOYW1lKS5saWIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIvWm0yMDAgIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxQeXRob247Li5cLi5cTW9kdWxlc1x6bGliIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX1VTUkRMTDtQeV9CVUlMRF9DT1JFO1B5X0VOQUJMRV9TSEFSRUQ7V0lOMzIiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTkRFQlVHIg0KLQkJCQlDdWx0dXJlPSIxMDMzIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxJbmNsdWRlIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCQlEZXNjcmlwdGlvbj0iR2VuZXJhdGUgYnVpbGQgaW5mb3JtYXRpb24uLi4iDQotCQkJCUNvbW1hbmRMaW5lPSImcXVvdDskKFNvbHV0aW9uRGlyKW1ha2VfYnVpbGRpbmZvLmV4ZSZxdW90OyBSZWxlYXNlICZxdW90OyQoSW50RGlyKVwmcXVvdDsiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IiZxdW90OyQoSW50RGlyKWdldGJ1aWxkaW5mby5vJnF1b3Q7Ig0KLQkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilcJChQeURsbE5hbWUpLmRsbCINCi0JCQkJSWdub3JlRGVmYXVsdExpYnJhcnlOYW1lcz0ibGliYyINCi0JCQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iJChPdXREaXIpJChQeURsbE5hbWUpLnBkYiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUwMDAwMDAiDQotCQkJCUltcG9ydExpYnJhcnk9IiQoT3V0RGlyKSQoUHlEbGxOYW1lKS5saWIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7LlxkZWJ1Zy52c3Byb3BzIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJmYWxzZSINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9Ii9abTIwMCAiDQotCQkJCU9wdGltaXphdGlvbj0iMCINCi0JCQkJSW5saW5lRnVuY3Rpb25FeHBhbnNpb249IjAiDQotCQkJCUVuYWJsZUludHJpbnNpY0Z1bmN0aW9ucz0iZmFsc2UiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXFB5dGhvbjsuLlwuLlxNb2R1bGVzXHpsaWIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfVVNSRExMO1B5X0JVSUxEX0NPUkU7UHlfRU5BQkxFX1NIQVJFRDtXSU4zMiINCi0JCQkJUnVudGltZUxpYnJhcnk9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfREVCVUciDQotCQkJCUN1bHR1cmU9IjEwMzMiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXEluY2x1ZGUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJCURlc2NyaXB0aW9uPSJHZW5lcmF0ZSBidWlsZCBpbmZvcm1hdGlvbi4uLiINCi0JCQkJQ29tbWFuZExpbmU9IiZxdW90OyQoU29sdXRpb25EaXIpbWFrZV9idWlsZGluZm8uZXhlJnF1b3Q7IERlYnVnICZxdW90OyQoSW50RGlyKVwmcXVvdDsiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IiZxdW90OyQoSW50RGlyKWdldGJ1aWxkaW5mby5vJnF1b3Q7Ig0KLQkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilcJChQeURsbE5hbWUpX2QuZGxsIg0KLQkJCQlJZ25vcmVEZWZhdWx0TGlicmFyeU5hbWVzPSJsaWJjIg0KLQkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIkKE91dERpcikkKFB5RGxsTmFtZSlfZC5wZGIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMDAwMDAwIg0KLQkJCQlJbXBvcnRMaWJyYXJ5PSIkKE91dERpcikkKFB5RGxsTmFtZSlfZC5saWIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxkZWJ1Zy52c3Byb3BzIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJmYWxzZSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9Ii9abTIwMCAiDQotCQkJCU9wdGltaXphdGlvbj0iMCINCi0JCQkJSW5saW5lRnVuY3Rpb25FeHBhbnNpb249IjAiDQotCQkJCUVuYWJsZUludHJpbnNpY0Z1bmN0aW9ucz0iZmFsc2UiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXFB5dGhvbjsuLlwuLlxNb2R1bGVzXHpsaWIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfVVNSRExMO1B5X0JVSUxEX0NPUkU7UHlfRU5BQkxFX1NIQVJFRDtXSU4zMiINCi0JCQkJUnVudGltZUxpYnJhcnk9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfREVCVUciDQotCQkJCUN1bHR1cmU9IjEwMzMiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXEluY2x1ZGUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJCURlc2NyaXB0aW9uPSJHZW5lcmF0ZSBidWlsZCBpbmZvcm1hdGlvbi4uLiINCi0JCQkJQ29tbWFuZExpbmU9IiZxdW90OyQoU29sdXRpb25EaXIpbWFrZV9idWlsZGluZm8uZXhlJnF1b3Q7IERlYnVnICZxdW90OyQoSW50RGlyKVwmcXVvdDsiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IiZxdW90OyQoSW50RGlyKWdldGJ1aWxkaW5mby5vJnF1b3Q7Ig0KLQkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilcJChQeURsbE5hbWUpX2QuZGxsIg0KLQkJCQlJZ25vcmVEZWZhdWx0TGlicmFyeU5hbWVzPSJsaWJjIg0KLQkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIkKE91dERpcikkKFB5RGxsTmFtZSlfZC5wZGIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMDAwMDAwIg0KLQkJCQlJbXBvcnRMaWJyYXJ5PSIkKE91dERpcikkKFB5RGxsTmFtZSlfZC5saWIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5ccmVsZWFzZS52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIvWm0yMDAgIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxQeXRob247Li5cLi5cTW9kdWxlc1x6bGliIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX1VTUkRMTDtQeV9CVUlMRF9DT1JFO1B5X0VOQUJMRV9TSEFSRUQ7V0lOMzIiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTkRFQlVHIg0KLQkJCQlDdWx0dXJlPSIxMDMzIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxJbmNsdWRlIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCQlEZXNjcmlwdGlvbj0iR2VuZXJhdGUgYnVpbGQgaW5mb3JtYXRpb24uLi4iDQotCQkJCUNvbW1hbmRMaW5lPSImcXVvdDskKFNvbHV0aW9uRGlyKW1ha2VfYnVpbGRpbmZvLmV4ZSZxdW90OyBSZWxlYXNlICZxdW90OyQoSW50RGlyKVwmcXVvdDsiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IiZxdW90OyQoSW50RGlyKWdldGJ1aWxkaW5mby5vJnF1b3Q7Ig0KLQkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilcJChQeURsbE5hbWUpLmRsbCINCi0JCQkJSWdub3JlRGVmYXVsdExpYnJhcnlOYW1lcz0ibGliYyINCi0JCQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iJChPdXREaXIpJChQeURsbE5hbWUpLnBkYiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUwMDAwMDAiDQotCQkJCUltcG9ydExpYnJhcnk9IiQoT3V0RGlyUEdJKSQoUHlEbGxOYW1lKS5saWIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccmVsZWFzZS52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iL1ptMjAwICINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cUHl0aG9uOy4uXC4uXE1vZHVsZXNcemxpYiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9VU1JETEw7UHlfQlVJTERfQ09SRTtQeV9FTkFCTEVfU0hBUkVEO1dJTjMyIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Ik5ERUJVRyINCi0JCQkJQ3VsdHVyZT0iMTAzMyINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cSW5jbHVkZSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkJRGVzY3JpcHRpb249IkdlbmVyYXRlIGJ1aWxkIGluZm9ybWF0aW9uLi4uIg0KLQkJCQlDb21tYW5kTGluZT0iJnF1b3Q7JChTb2x1dGlvbkRpciltYWtlX2J1aWxkaW5mby5leGUmcXVvdDsgUmVsZWFzZSAmcXVvdDskKEludERpcilcJnF1b3Q7Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSImcXVvdDskKEludERpcilnZXRidWlsZGluZm8ubyZxdW90OyINCi0JCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXCQoUHlEbGxOYW1lKS5kbGwiDQotCQkJCUlnbm9yZURlZmF1bHRMaWJyYXJ5TmFtZXM9ImxpYmMiDQotCQkJCVByb2dyYW1EYXRhYmFzZUZpbGU9IiQoT3V0RGlyKSQoUHlEbGxOYW1lKS5wZGIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMDAwMDAwIg0KLQkJCQlJbXBvcnRMaWJyYXJ5PSIkKE91dERpclBHSSkkKFB5RGxsTmFtZSkubGliIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIvWm0yMDAgIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxQeXRob247Li5cLi5cTW9kdWxlc1x6bGliIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX1VTUkRMTDtQeV9CVUlMRF9DT1JFO1B5X0VOQUJMRV9TSEFSRUQ7V0lOMzIiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTkRFQlVHIg0KLQkJCQlDdWx0dXJlPSIxMDMzIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxJbmNsdWRlIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCQlEZXNjcmlwdGlvbj0iR2VuZXJhdGUgYnVpbGQgaW5mb3JtYXRpb24uLi4iDQotCQkJCUNvbW1hbmRMaW5lPSImcXVvdDskKFNvbHV0aW9uRGlyKW1ha2VfYnVpbGRpbmZvLmV4ZSZxdW90OyBSZWxlYXNlICZxdW90OyQoSW50RGlyKVwmcXVvdDsiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IiZxdW90OyQoSW50RGlyKWdldGJ1aWxkaW5mby5vJnF1b3Q7Ig0KLQkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilcJChQeURsbE5hbWUpLmRsbCINCi0JCQkJSWdub3JlRGVmYXVsdExpYnJhcnlOYW1lcz0ibGliYyINCi0JCQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iJChPdXREaXIpJChQeURsbE5hbWUpLnBkYiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUwMDAwMDAiDQotCQkJCUltcG9ydExpYnJhcnk9IiQoT3V0RGlyUEdJKSQoUHlEbGxOYW1lKS5saWIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxyZWxlYXNlLnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJmYWxzZSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9Ii9abTIwMCAiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXFB5dGhvbjsuLlwuLlxNb2R1bGVzXHpsaWIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfVVNSRExMO1B5X0JVSUxEX0NPUkU7UHlfRU5BQkxFX1NIQVJFRDtXSU4zMiINCi0JCQkJUnVudGltZUxpYnJhcnk9IjIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJOREVCVUciDQotCQkJCUN1bHR1cmU9IjEwMzMiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXEluY2x1ZGUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJCURlc2NyaXB0aW9uPSJHZW5lcmF0ZSBidWlsZCBpbmZvcm1hdGlvbi4uLiINCi0JCQkJQ29tbWFuZExpbmU9IiZxdW90OyQoU29sdXRpb25EaXIpbWFrZV9idWlsZGluZm8uZXhlJnF1b3Q7IFJlbGVhc2UgJnF1b3Q7JChJbnREaXIpXCZxdW90OyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iJnF1b3Q7JChJbnREaXIpZ2V0YnVpbGRpbmZvLm8mcXVvdDsiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVwkKFB5RGxsTmFtZSkuZGxsIg0KLQkJCQlJZ25vcmVEZWZhdWx0TGlicmFyeU5hbWVzPSJsaWJjIg0KLQkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIkKE91dERpcikkKFB5RGxsTmFtZSkucGRiIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTAwMDAwMCINCi0JCQkJSW1wb3J0TGlicmFyeT0iJChPdXREaXJQR0kpJChQeURsbE5hbWUpLmxpYiINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JPC9Db25maWd1cmF0aW9ucz4NCi0JPFJlZmVyZW5jZXM+DQotCTwvUmVmZXJlbmNlcz4NCi0JPEZpbGVzPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IkluY2x1ZGUiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxhYnN0cmFjdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxhY2N1LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGFzZGwuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcYXN0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGJpdHNldC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxib29sb2JqZWN0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGJ5dGVzX21ldGhvZHMuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcYnl0ZWFycmF5b2JqZWN0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGJ5dGVzb2JqZWN0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGNlbGxvYmplY3QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcY2V2YWwuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcY2xhc3NvYmplY3QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcY29kZS5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxjb2RlY3MuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcY29tcGlsZS5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxjb21wbGV4b2JqZWN0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGRhdGV0aW1lLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGRlc2Nyb2JqZWN0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGRpY3RvYmplY3QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcZHluYW1pY19hbm5vdGF0aW9ucy5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxlbnVtb2JqZWN0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGVycmNvZGUuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcZXZhbC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxmaWxlb2JqZWN0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGZpbGV1dGlscy5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxmbG9hdG9iamVjdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxmcmFtZW9iamVjdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxmdW5jb2JqZWN0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGdlbm9iamVjdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxncmFtaW5pdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxncmFtbWFyLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGltcG9ydC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxpbnRyY2hlY2suaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcaXRlcm9iamVjdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxsaXN0b2JqZWN0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGxvbmdpbnRyZXByLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGxvbmdvYmplY3QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcbWFyc2hhbC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxtZW1vcnlvYmplY3QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcbWV0YWdyYW1tYXIuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcbWV0aG9kb2JqZWN0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXG1vZHN1cHBvcnQuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcbW9kdWxlb2JqZWN0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXG5hbWVzcGFjZW9iamVjdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxub2RlLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXG9iamVjdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxvYmppbXBsLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXG9wY29kZS5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxvc2RlZnMuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVccGFyc2V0b2suaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVccGF0Y2hsZXZlbC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxwZ2VuLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHBnZW5oZWFkZXJzLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHB5X2N1cnNlcy5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxweWFyZW5hLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHB5Y2Fwc3VsZS5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxweWN0eXBlLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHB5ZGVidWcuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVccHllcnJvcnMuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVccHlleHBhdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxweWZwZS5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxweWdldG9wdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxweW1hY3Rvb2xib3guaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVccHltYXRoLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHB5dGltZS5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxweW1hY3JvLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHB5bWVtLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHB5cG9ydC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxweXN0YXRlLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHB5c3RyY21wLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHB5c3RydG9kLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGR0b2EuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcUHl0aG9uLWFzdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxQeXRob24uaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVccHl0aG9ucnVuLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHB5dGhyZWFkLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHJhbmdlb2JqZWN0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHNldG9iamVjdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxzbGljZW9iamVjdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxzdHJ1Y3RtZW1iZXIuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcc3RydWN0c2VxLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHN5bXRhYmxlLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHN5c21vZHVsZS5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVx0aW1lZnVuY3MuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcdG9rZW4uaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcdHJhY2ViYWNrLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHR1cGxlb2JqZWN0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHVjbmhhc2guaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcdW5pY29kZW9iamVjdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVx3ZWFrcmVmb2JqZWN0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJNb2R1bGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2Jpc2VjdG1vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfY29kZWNzbW9kdWxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9jb2xsZWN0aW9uc21vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfY3N2LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9mdW5jdG9vbHNtb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2hlYXBxbW9kdWxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9qc29uLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9sb2NhbGVtb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2xzcHJvZi5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfbWF0aC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfbWF0aC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfcGlja2xlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9yYW5kb21tb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3NyZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfc3RydWN0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF93ZWFrcmVmLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF93aW5hcGkuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcYXJyYXltb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcYXRleGl0bW9kdWxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGF1ZGlvb3AuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcYmluYXNjaWkuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcY21hdGhtb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2RhdGV0aW1lbW9kdWxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGVycm5vbW9kdWxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGZhdWx0aGFuZGxlci5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xnY21vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xpdGVydG9vbHNtb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcbWFpbi5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xtYXRobW9kdWxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXG1kNW1vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xtbWFwbW9kdWxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9vcGVyYXRvci5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xwYXJzZXJtb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNccG9zaXhtb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNccm90YXRpbmd0cmVlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHJvdGF0aW5ndHJlZS5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xzaGExbW9kdWxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHNoYTI1Nm1vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xzaGE1MTJtb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcc2lnbmFsbW9kdWxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHNyZS5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xzcmVfY29uc3RhbnRzLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHNyZV9saWIuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3N0YXQuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcc3ltdGFibGVtb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3RocmVhZG1vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x0aW1lbW9kdWxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHh4c3VidHlwZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6aXBpbXBvcnQuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYm1vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWx0ZXINCi0JCQkJTmFtZT0iX2lvIg0KLQkJCQk+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2lvXGZpbGVpby5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2lvXGJ5dGVzaW8uYyINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9pb1xzdHJpbmdpby5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2lvXGJ1ZmZlcmVkaW8uYyINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9pb1xpb2Jhc2UuYyINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9pb1x0ZXh0aW8uYyINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9pb1xfaW9tb2R1bGUuYyINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9pb1xfaW9tb2R1bGUuaCINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCTwvRmlsdGVyPg0KLQkJCTxGaWx0ZXINCi0JCQkJTmFtZT0iemxpYiINCi0JCQkJPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJcYWRsZXIzMi5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlxjb21wcmVzcy5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlxjcmMzMi5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlxjcmMzMi5oIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlxkZWZsYXRlLmMiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXGRlZmxhdGUuaCINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJcaW5mYmFjay5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlxpbmZmYXN0LmMiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXGluZmZhc3QuaCINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJcaW5mZml4ZWQuaCINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJcaW5mbGF0ZS5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlxpbmZsYXRlLmgiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXGluZnRyZWVzLmMiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXGluZnRyZWVzLmgiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXHRyZWVzLmMiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXHRyZWVzLmgiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXHVuY29tcHIuYyINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJcemNvbmYuaCINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJcemNvbmYuaW4uaCINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJcemxpYi5oIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlx6dXRpbC5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlx6dXRpbC5oIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJPC9GaWx0ZXI+DQotCQkJPEZpbHRlcg0KLQkJCQlOYW1lPSJjamtjb2RlY3MiDQotCQkJCT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xjamtjb2RlY3NcX2NvZGVjc19jbi5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcY2prY29kZWNzXF9jb2RlY3NfaGsuYyINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGNqa2NvZGVjc1xfY29kZWNzX2lzbzIwMjIuYyINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGNqa2NvZGVjc1xfY29kZWNzX2pwLmMiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xjamtjb2RlY3NcX2NvZGVjc19rci5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcY2prY29kZWNzXF9jb2RlY3NfdHcuYyINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGNqa2NvZGVjc1xhbGdfamlzeDAyMDEuaCINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGNqa2NvZGVjc1xjamtjb2RlY3MuaCINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGNqa2NvZGVjc1xlbXVfamlzeDAyMTNfMjAwMC5oIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcY2prY29kZWNzXG1hcHBpbmdzX2NuLmgiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xjamtjb2RlY3NcbWFwcGluZ3NfaGsuaCINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGNqa2NvZGVjc1xtYXBwaW5nc19qaXN4MDIxM19wYWlyLmgiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xjamtjb2RlY3NcbWFwcGluZ3NfanAuaCINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGNqa2NvZGVjc1xtYXBwaW5nc19rci5oIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcY2prY29kZWNzXG1hcHBpbmdzX3R3LmgiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xjamtjb2RlY3NcbXVsdGlieXRlY29kZWMuYyINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGNqa2NvZGVjc1xtdWx0aWJ5dGVjb2RlYy5oIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJPC9GaWx0ZXI+DQotCQk8L0ZpbHRlcj4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJPYmplY3RzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcYWJzdHJhY3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcYWNjdS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xib29sb2JqZWN0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXGJ5dGVzX21ldGhvZHMuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcYnl0ZWFycmF5b2JqZWN0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXGJ5dGVzb2JqZWN0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXGNhcHN1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcY2VsbG9iamVjdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xjbGFzc29iamVjdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xjb2Rlb2JqZWN0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXGNvbXBsZXhvYmplY3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcc3RyaW5nbGliXGNvdW50LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXGRlc2Nyb2JqZWN0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXGRpY3RvYmplY3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcZW51bW9iamVjdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xleGNlcHRpb25zLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXHN0cmluZ2xpYlxmYXN0c2VhcmNoLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXGZpbGVvYmplY3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcc3RyaW5nbGliXGZpbmQuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcZmxvYXRvYmplY3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcZnJhbWVvYmplY3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcZnVuY29iamVjdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xnZW5vYmplY3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcaXRlcm9iamVjdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xsaXN0b2JqZWN0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXGxvbmdvYmplY3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcbWVtb3J5b2JqZWN0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXG1ldGhvZG9iamVjdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xtb2R1bGVvYmplY3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcbmFtZXNwYWNlb2JqZWN0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXG9iamVjdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xvYm1hbGxvYy5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xzdHJpbmdsaWJccGFydGl0aW9uLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXHJhbmdlb2JqZWN0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXHN0cmluZ2xpYlxyZXBsYWNlLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXHNldG9iamVjdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xzbGljZW9iamVjdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xzdHJpbmdsaWJcc3BsaXQuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcc3RydWN0c2VxLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXHR1cGxlb2JqZWN0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXHR5cGVvYmplY3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcdW5pY29kZWN0eXBlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXHVuaWNvZGVvYmplY3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcdW5pY29kZXR5cGVfZGIuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcd2Vha3JlZm9iamVjdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iUGFyc2VyIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBhcnNlclxhY2NlbGVyLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQYXJzZXJcYml0c2V0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQYXJzZXJcZmlyc3RzZXRzLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQYXJzZXJcZ3JhbW1hci5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUGFyc2VyXGdyYW1tYXIxLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQYXJzZXJcbGlzdG5vZGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBhcnNlclxtZXRhZ3JhbW1hci5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUGFyc2VyXG15cmVhZGxpbmUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBhcnNlclxub2RlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQYXJzZXJccGFyc2VyLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQYXJzZXJccGFyc2VyLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQYXJzZXJccGFyc2V0b2suYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBhcnNlclx0b2tlbml6ZXIuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBhcnNlclx0b2tlbml6ZXIuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlBDIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBDXHdpbnJlZy5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUENcY29uZmlnLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQQ1xkbF9udC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUENcZXJybWFwLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQQ1xnZXRwYXRocC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUENcbXN2Y3J0bW9kdWxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQQ1xweWNvbmZpZy5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iUHl0aG9uIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxfd2FybmluZ3MuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxhc2RsLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cYXN0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cYmx0aW5tb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxjZXZhbC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXGNvZGVjcy5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXGNvbXBpbGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxkeW5hbWljX2Fubm90YXRpb25zLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cZHlubG9hZF93aW4uYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxlcnJvcnMuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxmaWxldXRpbHMuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxmb3JtYXR0ZXJfdW5pY29kZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXGZyb3plbi5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXGZ1dHVyZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXGdldGFyZ3MuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxnZXRjb21waWxlci5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXGdldGNvcHlyaWdodC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXGdldG9wdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXGdldHBsYXRmb3JtLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cZ2V0dmVyc2lvbi5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXGdyYW1pbml0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25caW1wb3J0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25caW1wb3J0ZGwuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxpbXBvcnRkbC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXG1hcnNoYWwuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxtb2RzdXBwb3J0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cbXlzbnByaW50Zi5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXG15c3RydG91bC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXHBlZXBob2xlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25ccHlhcmVuYS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXHB5Y3R5cGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxweWZwZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXHB5bWF0aC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXHB5dGltZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXHB5c3RhdGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxweXN0cmNtcC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXHB5c3RydG9kLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cZHRvYS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXFB5dGhvbi1hc3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxweXRob25ydW4uYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0gCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25ccmFuZG9tLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cc3RydWN0bWVtYmVyLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cc3ltdGFibGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxzeXNtb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblx0aHJlYWQuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblx0aHJlYWRfbnQuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblx0cmFjZWJhY2suYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlJlc291cmNlIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBDXHB5dGhvbl9udC5yYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzkuMC9weXRob253LnZjcHJvaiBiL1BDL1ZTOS4wL3B5dGhvbncudmNwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZjVjMDRiLi4wMDAwMDAwCi0tLSBhL1BDL1ZTOS4wL3B5dGhvbncudmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsNjE4ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI5LjAwIg0KLQlOYW1lPSJweXRob253Ig0KLQlQcm9qZWN0R1VJRD0ie0Y0MjI5Q0MzLTg3M0MtNDlBRS05NzI5LUREMzA4RUQ0Q0Q0QX0iDQotCVRhcmdldEZyYW1ld29ya1ZlcnNpb249IjEzMTA3MiINCi0JPg0KLQk8UGxhdGZvcm1zPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0iV2luMzIiDQotCQkvPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0ieDY0Ig0KLQkJLz4NCi0JPC9QbGF0Zm9ybXM+DQotCTxUb29sRmlsZXM+DQotCTwvVG9vbEZpbGVzPg0KLQk8Q29uZmlndXJhdGlvbnM+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5cZGVidWcudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCU9wdGltaXphdGlvbj0iMCINCi0JCQkJRW5hYmxlSW50cmluc2ljRnVuY3Rpb25zPSJmYWxzZSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX1dJTkRPV1MiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIzIg0KLQkJCQlDb21waWxlQXM9IjAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfREVCVUciDQotCQkJCUN1bHR1cmU9IjEwMzMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVxweXRob253X2QuZXhlIg0KLQkJCQlTdGFja1Jlc2VydmVTaXplPSIyMDAwMDAwIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZDAwMDAwMCINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3x4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXGRlYnVnLnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlPcHRpbWl6YXRpb249IjAiDQotCQkJCUVuYWJsZUludHJpbnNpY0Z1bmN0aW9ucz0iZmFsc2UiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9XSU5ET1dTIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMyINCi0JCQkJQ29tcGlsZUFzPSIwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX0RFQlVHIg0KLQkJCQlDdWx0dXJlPSIxMDMzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilccHl0aG9ud19kLmV4ZSINCi0JCQkJU3RhY2tSZXNlcnZlU2l6ZT0iMjAwMDAwMCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWQwMDAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX1dJTkRPV1MiDQotCQkJCVN0cmluZ1Bvb2xpbmc9InRydWUiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCQlFbmFibGVGdW5jdGlvbkxldmVsTGlua2luZz0idHJ1ZSINCi0JCQkJQ29tcGlsZUFzPSIwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTkRFQlVHIg0KLQkJCQlDdWx0dXJlPSIxMDMzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilccHl0aG9udy5leGUiDQotCQkJCVN0YWNrUmVzZXJ2ZVNpemU9IjIwMDAwMDAiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFkMDAwMDAwIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxyZWxlYXNlLnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfV0lORE9XUyINCi0JCQkJU3RyaW5nUG9vbGluZz0idHJ1ZSINCi0JCQkJUnVudGltZUxpYnJhcnk9IjIiDQotCQkJCUVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJ0cnVlIg0KLQkJCQlDb21waWxlQXM9IjAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJOREVCVUciDQotCQkJCUN1bHR1cmU9IjEwMzMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVxweXRob253LmV4ZSINCi0JCQkJU3RhY2tSZXNlcnZlU2l6ZT0iMjAwMDAwMCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWQwMDAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5ccmVsZWFzZS52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9XSU5ET1dTIg0KLQkJCQlTdHJpbmdQb29saW5nPSJ0cnVlIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9InRydWUiDQotCQkJCUNvbXBpbGVBcz0iMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Ik5ERUJVRyINCi0JCQkJQ3VsdHVyZT0iMTAzMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXHB5dGhvbncuZXhlIg0KLQkJCQlTdGFja1Jlc2VydmVTaXplPSIyMDAwMDAwIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZDAwMDAwMCINCi0JCQkJSW1wb3J0TGlicmFyeT0iIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJmYWxzZSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX1dJTkRPV1MiDQotCQkJCVN0cmluZ1Bvb2xpbmc9InRydWUiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCQlFbmFibGVGdW5jdGlvbkxldmVsTGlua2luZz0idHJ1ZSINCi0JCQkJQ29tcGlsZUFzPSIwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTkRFQlVHIg0KLQkJCQlDdWx0dXJlPSIxMDMzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilccHl0aG9udy5leGUiDQotCQkJCVN0YWNrUmVzZXJ2ZVNpemU9IjIwMDAwMDAiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFkMDAwMDAwIg0KLQkJCQlJbXBvcnRMaWJyYXJ5PSIiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5ccmVsZWFzZS52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX1dJTkRPV1MiDQotCQkJCVN0cmluZ1Bvb2xpbmc9InRydWUiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCQlFbmFibGVGdW5jdGlvbkxldmVsTGlua2luZz0idHJ1ZSINCi0JCQkJQ29tcGlsZUFzPSIwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTkRFQlVHIg0KLQkJCQlDdWx0dXJlPSIxMDMzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilccHl0aG9udy5leGUiDQotCQkJCVN0YWNrUmVzZXJ2ZVNpemU9IjIwMDAwMDAiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFkMDAwMDAwIg0KLQkJCQlJbXBvcnRMaWJyYXJ5PSIiDQotCQkJCVRhcmdldE1hY2hpbmU9IjEiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxyZWxlYXNlLnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJmYWxzZSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX1dJTkRPV1MiDQotCQkJCVN0cmluZ1Bvb2xpbmc9InRydWUiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCQlFbmFibGVGdW5jdGlvbkxldmVsTGlua2luZz0idHJ1ZSINCi0JCQkJQ29tcGlsZUFzPSIwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTkRFQlVHIg0KLQkJCQlDdWx0dXJlPSIxMDMzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilccHl0aG9udy5leGUiDQotCQkJCVN0YWNrUmVzZXJ2ZVNpemU9IjIwMDAwMDAiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFkMDAwMDAwIg0KLQkJCQlJbXBvcnRMaWJyYXJ5PSIiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCTwvQ29uZmlndXJhdGlvbnM+DQotCTxSZWZlcmVuY2VzPg0KLQk8L1JlZmVyZW5jZXM+DQotCTxGaWxlcz4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJSZXNvdXJjZSBGaWxlcyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQQ1xweXRob25fZXhlLnJjIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBDXFdpbk1haW4uYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzkuMC9yZWxlYXNlLnZzcHJvcHMgYi9QQy9WUzkuMC9yZWxlYXNlLnZzcHJvcHMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA4ZGVmOTAuLjAwMDAwMDAKLS0tIGEvUEMvVlM5LjAvcmVsZWFzZS52c3Byb3BzCisrKyAvZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb3BlcnR5U2hlZXQNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjguMDAiDQotCU5hbWU9InJlbGVhc2UiDQotCT4NCi0JPFRvb2wNCi0JCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTkRFQlVHIg0KLQkvPg0KLQk8VXNlck1hY3JvDQotCQlOYW1lPSJLaWxsUHl0aG9uRXhlIg0KLQkJVmFsdWU9IiQoT3V0RGlyKVxraWxsX3B5dGhvbi5leGUiDQotCS8+CQ0KLTwvVmlzdWFsU3R1ZGlvUHJvcGVydHlTaGVldD4NCmRpZmYgLS1naXQgYS9QQy9WUzkuMC9zZWxlY3QudmNwcm9qIGIvUEMvVlM5LjAvc2VsZWN0LnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjM3ZmQ5Ny4uMDAwMDAwMAotLS0gYS9QQy9WUzkuMC9zZWxlY3QudmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsNTM3ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI5LjAwIg0KLQlOYW1lPSJzZWxlY3QiDQotCVByb2plY3RHVUlEPSJ7MThDQUUyOEMtQjQ1NC00NkMxLTg3QTAtNDkzRDkxRDk3RjAzfSINCi0JUm9vdE5hbWVzcGFjZT0ic2VsZWN0Ig0KLQlLZXl3b3JkPSJXaW4zMlByb2oiDQotCVRhcmdldEZyYW1ld29ya1ZlcnNpb249IjE5NjYxMyINCi0JPg0KLQk8UGxhdGZvcm1zPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0iV2luMzIiDQotCQkvPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0ieDY0Ig0KLQkJLz4NCi0JPC9QbGF0Zm9ybXM+DQotCTxUb29sRmlsZXM+DQotCTwvVG9vbEZpbGVzPg0KLQk8Q29uZmlndXJhdGlvbnM+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIiDQotCQkJCUlnbm9yZURlZmF1bHRMaWJyYXJ5TmFtZXM9ImxpYmMiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTEwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWRfZC52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIg0KLQkJCQlJZ25vcmVEZWZhdWx0TGlicmFyeU5hbWVzPSJsaWJjIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDExMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiINCi0JCQkJSWdub3JlRGVmYXVsdExpYnJhcnlOYW1lcz0ibGliYyINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxMTAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIg0KLQkJCQlJZ25vcmVEZWZhdWx0TGlicmFyeU5hbWVzPSJsaWJjIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDExMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIiDQotCQkJCUlnbm9yZURlZmF1bHRMaWJyYXJ5TmFtZXM9ImxpYmMiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTEwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIiDQotCQkJCUlnbm9yZURlZmF1bHRMaWJyYXJ5TmFtZXM9ImxpYmMiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTEwMDAwIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIg0KLQkJCQlJZ25vcmVEZWZhdWx0TGlicmFyeU5hbWVzPSJsaWJjIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDExMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiINCi0JCQkJSWdub3JlRGVmYXVsdExpYnJhcnlOYW1lcz0ibGliYyINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxMTAwMDAiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCTwvQ29uZmlndXJhdGlvbnM+DQotCTxSZWZlcmVuY2VzPg0KLQk8L1JlZmVyZW5jZXM+DQotCTxGaWxlcz4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJTb3VyY2UgRmlsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xzZWxlY3Rtb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzkuMC9zcWxpdGUzLnZjcHJvaiBiL1BDL1ZTOS4wL3NxbGl0ZTMudmNwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZjhjMzI4Li4wMDAwMDAwCi0tLSBhL1BDL1ZTOS4wL3NxbGl0ZTMudmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsNTM3ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI5LjAwIg0KLQlOYW1lPSJzcWxpdGUzIg0KLQlQcm9qZWN0R1VJRD0ie0ExQTI5NUU1LTQ2M0MtNDM3Ri04MUNBLTFGMzIzNjc2ODVEQX0iDQotCVJvb3ROYW1lc3BhY2U9InNxbGl0ZTMiDQotCUtleXdvcmQ9IldpbjMyUHJvaiINCi0JVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iMTk2NjEzIg0KLQk+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiINCi0JCS8+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJ4NjQiDQotCQkvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPFRvb2xGaWxlcz4NCi0JPC9Ub29sRmlsZXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5cc3FsaXRlMy52c3Byb3BzOy5cZGVidWcudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilcJChQcm9qZWN0TmFtZSlfZC5kbGwiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHNxbGl0ZTMudnNwcm9wczsuXGRlYnVnLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXCQoUHJvamVjdE5hbWUpX2QuZGxsIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5cc3FsaXRlMy52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilcJChQcm9qZWN0TmFtZSkuZGxsIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHNxbGl0ZTMudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXCQoUHJvamVjdE5hbWUpLmRsbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5cc3FsaXRlMy52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDskKHNxbGl0ZTNEaXIpJnF1b3Q7Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilcJChQcm9qZWN0TmFtZSkuZGxsIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5cc3FsaXRlMy52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5cc3FsaXRlMy52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXCQoUHJvamVjdE5hbWUpLmRsbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5cc3FsaXRlMy52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iSGVhZGVyIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9IiQoc3FsaXRlM0Rpcilcc3FsaXRlMy5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iJChzcWxpdGUzRGlyKVxzcWxpdGUzZXh0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJTb3VyY2UgRmlsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iJChzcWxpdGUzRGlyKVxzcWxpdGUzLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JPC9GaWxlcz4NCi0JPEdsb2JhbHM+DQotCTwvR2xvYmFscz4NCi08L1Zpc3VhbFN0dWRpb1Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvUEMvVlM5LjAvc3FsaXRlMy52c3Byb3BzIGIvUEMvVlM5LjAvc3FsaXRlMy52c3Byb3BzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNTAyZGY1Li4wMDAwMDAwCi0tLSBhL1BDL1ZTOS4wL3NxbGl0ZTMudnNwcm9wcworKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9wZXJ0eVNoZWV0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI4LjAwIg0KLQlOYW1lPSJzcWxpdGUzIg0KLQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wcyINCi0JPg0KLQk8VG9vbA0KLQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQoc3FsaXRlM0RpcikiDQotCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iU1FMSVRFX0FQST1fX2RlY2xzcGVjKGRsbGV4cG9ydCkiDQotCQlXYXJuaW5nTGV2ZWw9IjEiDQotCS8+DQotPC9WaXN1YWxTdHVkaW9Qcm9wZXJ0eVNoZWV0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL3NzbC52Y3Byb2ogYi9QQy9WUzkuMC9zc2wudmNwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMzBlODc3Li4wMDAwMDAwCi0tLSBhL1BDL1ZTOS4wL3NzbC52Y3Byb2oKKysrIC9kZXYvbnVsbApAQCAtMSwxODkgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb2plY3QNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjkuMDAiDQotCU5hbWU9InNzbCINCi0JUHJvamVjdEdVSUQ9IntFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9Ig0KLQlSb290TmFtZXNwYWNlPSJzc2wiDQotCUtleXdvcmQ9Ik1ha2VGaWxlUHJvaiINCi0JVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iMTk2NjEzIg0KLQk+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiINCi0JCS8+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJ4NjQiDQotCQkvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPFRvb2xGaWxlcz4NCi0JPC9Ub29sRmlsZXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjAiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTk1ha2VUb29sIg0KLQkJCQlCdWlsZENvbW1hbmRMaW5lPSJjZCAmcXVvdDskKFNvbHV0aW9uRGlyKSZxdW90OyYjeDBEOyYjeDBBOyZxdW90OyQoUHl0aG9uRXhlKSZxdW90OyBidWlsZF9zc2wucHkgUmVsZWFzZSAkKFBsYXRmb3JtTmFtZSkgLWEmI3gwRDsmI3gwQTsiDQotCQkJCVJlQnVpbGRDb21tYW5kTGluZT0iIg0KLQkJCQlDbGVhbkNvbW1hbmRMaW5lPSIiDQotCQkJCU91dHB1dD0iIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iIg0KLQkJCQlJbmNsdWRlU2VhcmNoUGF0aD0iIg0KLQkJCQlGb3JjZWRJbmNsdWRlcz0iIg0KLQkJCQlBc3NlbWJseVNlYXJjaFBhdGg9IiINCi0JCQkJRm9yY2VkVXNpbmdBc3NlbWJsaWVzPSIiDQotCQkJCUNvbXBpbGVBc01hbmFnZWQ9IiINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3x4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjAiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNOTWFrZVRvb2wiDQotCQkJCUJ1aWxkQ29tbWFuZExpbmU9ImNkICZxdW90OyQoU29sdXRpb25EaXIpJnF1b3Q7JiN4MEQ7JiN4MEE7JnF1b3Q7JChQeXRob25FeGUpJnF1b3Q7IGJ1aWxkX3NzbC5weSBSZWxlYXNlICQoUGxhdGZvcm1OYW1lKSAtYSYjeDBEOyYjeDBBOyINCi0JCQkJUmVCdWlsZENvbW1hbmRMaW5lPSIiDQotCQkJCUNsZWFuQ29tbWFuZExpbmU9IiINCi0JCQkJT3V0cHV0PSIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSIiDQotCQkJCUluY2x1ZGVTZWFyY2hQYXRoPSIiDQotCQkJCUZvcmNlZEluY2x1ZGVzPSIiDQotCQkJCUFzc2VtYmx5U2VhcmNoUGF0aD0iIg0KLQkJCQlGb3JjZWRVc2luZ0Fzc2VtYmxpZXM9IiINCi0JCQkJQ29tcGlsZUFzTWFuYWdlZD0iIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjAiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ05NYWtlVG9vbCINCi0JCQkJQnVpbGRDb21tYW5kTGluZT0iY2QgJnF1b3Q7JChTb2x1dGlvbkRpcikmcXVvdDsmI3gwRDsmI3gwQTsmcXVvdDskKFB5dGhvbkV4ZSkmcXVvdDsgYnVpbGRfc3NsLnB5IFJlbGVhc2UgJChQbGF0Zm9ybU5hbWUpIC1hJiN4MEQ7JiN4MEE7Ig0KLQkJCQlSZUJ1aWxkQ29tbWFuZExpbmU9IiINCi0JCQkJQ2xlYW5Db21tYW5kTGluZT0iIg0KLQkJCQlPdXRwdXQ9IiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IiINCi0JCQkJSW5jbHVkZVNlYXJjaFBhdGg9IiINCi0JCQkJRm9yY2VkSW5jbHVkZXM9IiINCi0JCQkJQXNzZW1ibHlTZWFyY2hQYXRoPSIiDQotCQkJCUZvcmNlZFVzaW5nQXNzZW1ibGllcz0iIg0KLQkJCQlDb21waWxlQXNNYW5hZ2VkPSIiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjAiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTk1ha2VUb29sIg0KLQkJCQlCdWlsZENvbW1hbmRMaW5lPSJjZCAmcXVvdDskKFNvbHV0aW9uRGlyKSZxdW90OyYjeDBEOyYjeDBBOyZxdW90OyQoUHl0aG9uRXhlKSZxdW90OyBidWlsZF9zc2wucHkgUmVsZWFzZSAkKFBsYXRmb3JtTmFtZSkgLWEmI3gwRDsmI3gwQTsiDQotCQkJCVJlQnVpbGRDb21tYW5kTGluZT0iIg0KLQkJCQlDbGVhbkNvbW1hbmRMaW5lPSIiDQotCQkJCU91dHB1dD0iIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iIg0KLQkJCQlJbmNsdWRlU2VhcmNoUGF0aD0iIg0KLQkJCQlGb3JjZWRJbmNsdWRlcz0iIg0KLQkJCQlBc3NlbWJseVNlYXJjaFBhdGg9IiINCi0JCQkJRm9yY2VkVXNpbmdBc3NlbWJsaWVzPSIiDQotCQkJCUNvbXBpbGVBc01hbmFnZWQ9IiINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjAiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTk1ha2VUb29sIg0KLQkJCQlCdWlsZENvbW1hbmRMaW5lPSJjZCAmcXVvdDskKFNvbHV0aW9uRGlyKSZxdW90OyYjeDBEOyYjeDBBOyZxdW90OyQoUHl0aG9uRXhlKSZxdW90OyBidWlsZF9zc2wucHkgUmVsZWFzZSAkKFBsYXRmb3JtTmFtZSkgLWEmI3gwRDsmI3gwQTsiDQotCQkJCVJlQnVpbGRDb21tYW5kTGluZT0iIg0KLQkJCQlDbGVhbkNvbW1hbmRMaW5lPSIiDQotCQkJCU91dHB1dD0iIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iIg0KLQkJCQlJbmNsdWRlU2VhcmNoUGF0aD0iIg0KLQkJCQlGb3JjZWRJbmNsdWRlcz0iIg0KLQkJCQlBc3NlbWJseVNlYXJjaFBhdGg9IiINCi0JCQkJRm9yY2VkVXNpbmdBc3NlbWJsaWVzPSIiDQotCQkJCUNvbXBpbGVBc01hbmFnZWQ9IiINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIwIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTk1ha2VUb29sIg0KLQkJCQlCdWlsZENvbW1hbmRMaW5lPSJjZCAmcXVvdDskKFNvbHV0aW9uRGlyKSZxdW90OyYjeDBEOyYjeDBBOyZxdW90OyQoUHl0aG9uRXhlKSZxdW90OyBidWlsZF9zc2wucHkgUmVsZWFzZSAkKFBsYXRmb3JtTmFtZSkgLWEmI3gwRDsmI3gwQTsiDQotCQkJCVJlQnVpbGRDb21tYW5kTGluZT0iIg0KLQkJCQlDbGVhbkNvbW1hbmRMaW5lPSIiDQotCQkJCU91dHB1dD0iIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iIg0KLQkJCQlJbmNsdWRlU2VhcmNoUGF0aD0iIg0KLQkJCQlGb3JjZWRJbmNsdWRlcz0iIg0KLQkJCQlBc3NlbWJseVNlYXJjaFBhdGg9IiINCi0JCQkJRm9yY2VkVXNpbmdBc3NlbWJsaWVzPSIiDQotCQkJCUNvbXBpbGVBc01hbmFnZWQ9IiINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMCINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ05NYWtlVG9vbCINCi0JCQkJQnVpbGRDb21tYW5kTGluZT0iY2QgJnF1b3Q7JChTb2x1dGlvbkRpcikmcXVvdDsmI3gwRDsmI3gwQTsmcXVvdDskKFB5dGhvbkV4ZSkmcXVvdDsgYnVpbGRfc3NsLnB5IFJlbGVhc2UgJChQbGF0Zm9ybU5hbWUpIC1hJiN4MEQ7JiN4MEE7Ig0KLQkJCQlSZUJ1aWxkQ29tbWFuZExpbmU9IiINCi0JCQkJQ2xlYW5Db21tYW5kTGluZT0iIg0KLQkJCQlPdXRwdXQ9IiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IiINCi0JCQkJSW5jbHVkZVNlYXJjaFBhdGg9IiINCi0JCQkJRm9yY2VkSW5jbHVkZXM9IiINCi0JCQkJQXNzZW1ibHlTZWFyY2hQYXRoPSIiDQotCQkJCUZvcmNlZFVzaW5nQXNzZW1ibGllcz0iIg0KLQkJCQlDb21waWxlQXNNYW5hZ2VkPSIiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIwIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNOTWFrZVRvb2wiDQotCQkJCUJ1aWxkQ29tbWFuZExpbmU9ImNkICZxdW90OyQoU29sdXRpb25EaXIpJnF1b3Q7JiN4MEQ7JiN4MEE7JnF1b3Q7JChQeXRob25FeGUpJnF1b3Q7IGJ1aWxkX3NzbC5weSBSZWxlYXNlICQoUGxhdGZvcm1OYW1lKSAtYSYjeDBEOyYjeDBBOyINCi0JCQkJUmVCdWlsZENvbW1hbmRMaW5lPSIiDQotCQkJCUNsZWFuQ29tbWFuZExpbmU9IiINCi0JCQkJT3V0cHV0PSIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSIiDQotCQkJCUluY2x1ZGVTZWFyY2hQYXRoPSIiDQotCQkJCUZvcmNlZEluY2x1ZGVzPSIiDQotCQkJCUFzc2VtYmx5U2VhcmNoUGF0aD0iIg0KLQkJCQlGb3JjZWRVc2luZ0Fzc2VtYmxpZXM9IiINCi0JCQkJQ29tcGlsZUFzTWFuYWdlZD0iIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCTwvQ29uZmlndXJhdGlvbnM+DQotCTxSZWZlcmVuY2VzPg0KLQk8L1JlZmVyZW5jZXM+DQotCTxGaWxlcz4NCi0JPC9GaWxlcz4NCi0JPEdsb2JhbHM+DQotCTwvR2xvYmFscz4NCi08L1Zpc3VhbFN0dWRpb1Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvUEMvVlM5LjAvdW5pY29kZWRhdGEudmNwcm9qIGIvUEMvVlM5LjAvdW5pY29kZWRhdGEudmNwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNjZmZjcyLi4wMDAwMDAwCi0tLSBhL1BDL1ZTOS4wL3VuaWNvZGVkYXRhLnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDUzMyArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOS4wMCINCi0JTmFtZT0idW5pY29kZWRhdGEiDQotCVByb2plY3RHVUlEPSJ7RUNDN0NFQUMtQTVFNS00NThFLUJCOUUtMjQxM0NDODQ3ODgxfSINCi0JUm9vdE5hbWVzcGFjZT0idW5pY29kZWRhdGEiDQotCUtleXdvcmQ9IldpbjMyUHJvaiINCi0JVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iMTk2NjEzIg0KLQk+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiINCi0JCS8+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJ4NjQiDQotCQkvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPFRvb2xGaWxlcz4NCi0JPC9Ub29sRmlsZXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxMjAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTIwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDEyMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTIwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxMjAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxMjAwMDAiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTIwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDEyMDAwMCINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JPC9Db25maWd1cmF0aW9ucz4NCi0JPFJlZmVyZW5jZXM+DQotCTwvUmVmZXJlbmNlcz4NCi0JPEZpbGVzPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IkhlYWRlciBGaWxlcyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHVuaWNvZGVkYXRhX2RiLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHVuaWNvZGVuYW1lX2RiLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJTb3VyY2UgRmlsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x1bmljb2RlZGF0YS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCTwvRmlsZXM+DQotCTxHbG9iYWxzPg0KLQk8L0dsb2JhbHM+DQotPC9WaXN1YWxTdHVkaW9Qcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL3dpbnNvdW5kLnZjcHJvaiBiL1BDL1ZTOS4wL3dpbnNvdW5kLnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDdkYmYyOS4uMDAwMDAwMAotLS0gYS9QQy9WUzkuMC93aW5zb3VuZC52Y3Byb2oKKysrIC9kZXYvbnVsbApAQCAtMSw1MjMgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb2plY3QNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjkuMDAiDQotCU5hbWU9IndpbnNvdW5kIg0KLQlQcm9qZWN0R1VJRD0iezI4QjVENzc3LURERjItNEI2Qi1CMzRGLTMxRDkzODgxMzg1Nn0iDQotCVJvb3ROYW1lc3BhY2U9IndpbnNvdW5kIg0KLQlLZXl3b3JkPSJXaW4zMlByb2oiDQotCVRhcmdldEZyYW1ld29ya1ZlcnNpb249IjE5NjYxMyINCi0JPg0KLQk8UGxhdGZvcm1zPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0iV2luMzIiDQotCQkvPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0ieDY0Ig0KLQkJLz4NCi0JPC9QbGF0Zm9ybXM+DQotCTxUb29sRmlsZXM+DQotCTwvVG9vbEZpbGVzPg0KLQk8Q29uZmlndXJhdGlvbnM+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9Indpbm1tLmxpYiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3x4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id2lubW0ubGliIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3aW5tbS5saWIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3aW5tbS5saWIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3aW5tbS5saWIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id2lubW0ubGliIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3aW5tbS5saWIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9Indpbm1tLmxpYiINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JPC9Db25maWd1cmF0aW9ucz4NCi0JPFJlZmVyZW5jZXM+DQotCTwvUmVmZXJlbmNlcz4NCi0JPEZpbGVzPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlNvdXJjZSBGaWxlcyINCi0JCQlGaWx0ZXI9ImNwcDtjO2NjO2N4eDtkZWY7b2RsO2lkbDtocGo7YmF0O2FzbTthc214Ig0KLQkJCVVuaXF1ZUlkZW50aWZpZXI9Ins0RkM3MzdGMS1DN0E1LTQzNzYtQTA2Ni0yQTMyRDc1MkEyRkZ9Ig0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBDXHdpbnNvdW5kLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JPC9GaWxlcz4NCi0JPEdsb2JhbHM+DQotCTwvR2xvYmFscz4NCi08L1Zpc3VhbFN0dWRpb1Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvUEMvVlM5LjAveDY0LnZzcHJvcHMgYi9QQy9WUzkuMC94NjQudnNwcm9wcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDA2ZjQ3MC4uMDAwMDAwMAotLS0gYS9QQy9WUzkuMC94NjQudnNwcm9wcworKysgL2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9wZXJ0eVNoZWV0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI4LjAwIg0KLQlOYW1lPSJhbWQ2NCINCi0JT3V0cHV0RGlyZWN0b3J5PSIkKFNvbHV0aW9uRGlyKVxhbWQ2NFwiDQotCUludGVybWVkaWF0ZURpcmVjdG9yeT0iJChTb2x1dGlvbkRpcikkKFBsYXRmb3JtTmFtZSktdGVtcC0kKENvbmZpZ3VyYXRpb25OYW1lKVwkKFByb2plY3ROYW1lKVwiDQotCT4NCi0JPFRvb2wNCi0JCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQlBZGRpdGlvbmFsT3B0aW9ucz0iL0dTLSINCi0JCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfV0lONjQ7X01fWDY0Ig0KLQkvPg0KLQk8VG9vbA0KLQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCS8+DQotCTxVc2VyTWFjcm8NCi0JCU5hbWU9IlB5dGhvbkV4ZSINCi0JCVZhbHVlPSIkKEhPU1RfUFlUSE9OKSINCi0JLz4NCi08L1Zpc3VhbFN0dWRpb1Byb3BlcnR5U2hlZXQ+DQpkaWZmIC0tZ2l0IGEvUEMvVlM5LjAveHhsaW1pdGVkLnZjcHJvaiBiL1BDL1ZTOS4wL3h4bGltaXRlZC52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEzYWFhZDYuLjAwMDAwMDAKLS0tIGEvUEMvVlM5LjAveHhsaW1pdGVkLnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDQxNyArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOS4wMCINCi0JTmFtZT0ieHhsaW1pdGVkIg0KLQlQcm9qZWN0R1VJRD0ie0Y3NDlCODIyLUI0ODktNENBNS1BM0FELUNFMDc4RjVGMzM4QX0iDQotCVJvb3ROYW1lc3BhY2U9Inh4bGltaXRlZCINCi0JS2V5d29yZD0iV2luMzJQcm9qIg0KLQlUYXJnZXRGcmFtZXdvcmtWZXJzaW9uPSIxOTY2MTMiDQotCT4NCi0JPFBsYXRmb3Jtcz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9IldpbjMyIg0KLQkJLz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9Ing2NCINCi0JCS8+DQotCTwvUGxhdGZvcm1zPg0KLQk8VG9vbEZpbGVzPg0KLQk8L1Rvb2xGaWxlcz4NCi0JPENvbmZpZ3VyYXRpb25zPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Ik5ERUJVRztfV0lOMzI7X1dJTkRMTDtQeV9MSU1JVEVEX0FQSTskKE5PSU5IRVJJVCkiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIiDQotCQkJCUlnbm9yZURlZmF1bHRMaWJyYXJ5TmFtZXM9ImxpYmMiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTEwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiINCi0JCQkJSWdub3JlRGVmYXVsdExpYnJhcnlOYW1lcz0ibGliYyINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxMTAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iUHlfTElNSVRFRF9BUEkiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIiDQotCQkJCUlnbm9yZURlZmF1bHRMaWJyYXJ5TmFtZXM9ImxpYmMiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTEwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIiDQotCQkJCUlnbm9yZURlZmF1bHRMaWJyYXJ5TmFtZXM9ImxpYmMiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTEwMDAwIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iUHlfTElNSVRFRF9BUEkiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIiDQotCQkJCUlnbm9yZURlZmF1bHRMaWJyYXJ5TmFtZXM9ImxpYmMiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTEwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIg0KLQkJCQlJZ25vcmVEZWZhdWx0TGlicmFyeU5hbWVzPSJsaWJjIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDExMDAwMCINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JPC9Db25maWd1cmF0aW9ucz4NCi0JPFJlZmVyZW5jZXM+DQotCTwvUmVmZXJlbmNlcz4NCi0JPEZpbGVzPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlNvdXJjZSBGaWxlcyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHh4bGltaXRlZC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCTwvRmlsZXM+DQotCTxHbG9iYWxzPg0KLQk8L0dsb2JhbHM+DQotPC9WaXN1YWxTdHVkaW9Qcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL1BDL2JkaXN0X3dpbmluc3QvYXJjaGl2ZS5oIGIvUEMvYmRpc3Rfd2luaW5zdC9hcmNoaXZlLmgKaW5kZXggMzFhNzgwNS4uNTBmZjE1YyAxMDA2NDQKLS0tIGEvUEMvYmRpc3Rfd2luaW5zdC9hcmNoaXZlLmgKKysrIGIvUEMvYmRpc3Rfd2luaW5zdC9hcmNoaXZlLmgKQEAgLTEsMTAgKzEsOSBAQAogLyoKLSAgSU1QT1JUQU5UIE5PVEU6IElGIFRISVMgRklMRSBJUyBDSEFOR0VELCBXSU5JTlNULTYuRVhFIE1VU1QgQkUgUkVDT01QSUxFRAotICBXSVRIIFRIRSBNU1ZDNiBXSU5JTlNULkRTVyBXT1JLU1BBQ0UgRklMRSBNQU5VQUxMWSwgQU5EIFdJTklOU1QtNy4xLkVYRSBNVVNUCi0gIEJFIFJFQ09NUElMRUQgV0lUSCBUSEUgTVNWQyAyMDAzLk5FVCBXSU5JTlNULTcuMS5WQ1BST0ogRklMRSBNQU5VQUxMWS4KKyAgSU1QT1JUQU5UIE5PVEU6IElGIFRISVMgRklMRSBJUyBDSEFOR0VELCBQQ0JVSUxEXEJESVNUX1dJTklOU1QuVkNYUFJPSiBNVVNUCisgIEJFIFJFQlVJTFQgQVMgV0VMTC4KIAotICBJRiBDSEFOR0VTIFRPIFRISVMgRklMRSBBUkUgQ0hFQ0tFRCBJTlRPIFBZVEhPTiBDVlMsIFRIRSBSRUNPTVBJTEVEIEJJTkFSSUVTCi0gIE1VU1QgQkUgQ0hFQ0tFRCBJTiBBUyBXRUxMIQorICBJRiBDSEFOR0VTIFRPIFRISVMgRklMRSBBUkUgQ0hFQ0tFRCBJTiwgVEhFIFJFQ09NUElMRUQgQklOQVJJRVMgTVVTVCBCRQorICBDSEVDS0VEIElOIEFTIFdFTEwhCiAqLwogCiAjcHJhZ21hIHBhY2soMSkKZGlmZiAtLWdpdCBhL1BDL2JkaXN0X3dpbmluc3QvYmRpc3Rfd2luaW5zdC52Y3hwcm9qIGIvUEMvYmRpc3Rfd2luaW5zdC9iZGlzdF93aW5pbnN0LnZjeHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmFiNDc0ZQotLS0gL2Rldi9udWxsCisrKyBiL1BDL2JkaXN0X3dpbmluc3QvYmRpc3Rfd2luaW5zdC52Y3hwcm9qCkBAIC0wLDAgKzEsMTAzIEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgIDxJdGVtR3JvdXAgTGFiZWw9IlByb2plY3RDb25maWd1cmF0aW9ucyI+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVnfFdpbjMyIj4KKyAgICAgIDxDb25maWd1cmF0aW9uPkRlYnVnPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJEZWJ1Z3x4NjQiPgorICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJQR0luc3RydW1lbnR8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UEdJbnN0cnVtZW50PC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJQR0luc3RydW1lbnR8eDY0Ij4KKyAgICAgIDxDb25maWd1cmF0aW9uPlBHSW5zdHJ1bWVudDwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlBHVXBkYXRlfFdpbjMyIj4KKyAgICAgIDxDb25maWd1cmF0aW9uPlBHVXBkYXRlPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJQR1VwZGF0ZXx4NjQiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UEdVcGRhdGU8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJSZWxlYXNlfFdpbjMyIj4KKyAgICAgIDxDb25maWd1cmF0aW9uPlJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8eDY0Ij4KKyAgICAgIDxDb25maWd1cmF0aW9uPlJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICA8L0l0ZW1Hcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgorICAgIDxQcm9qZWN0R3VpZD57RUIxQzE5QzEtMUYxOC00MjFFLTk3MzUtQ0FFRTY5REM2QTNDfTwvUHJvamVjdEd1aWQ+CisgICAgPFJvb3ROYW1lc3BhY2U+d2luaW5zdDwvUm9vdE5hbWVzcGFjZT4KKyAgICA8TWFrZVZlcnNpb25JbmZvQmVmb3JlVGFyZ2V0PkNsQ29tcGlsZTwvTWFrZVZlcnNpb25JbmZvQmVmb3JlVGFyZ2V0PgorICAgIDxTdXBwb3J0UEdPPmZhbHNlPC9TdXBwb3J0UEdPPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0iLi5cLi5cUENCdWlsZFxweXRob24ucHJvcHMiIC8+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgorICAgIDxVc2VPZk1mYz5mYWxzZTwvVXNlT2ZNZmM+CisgICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KKyAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25TZXR0aW5ncyI+CisgIDwvSW1wb3J0R3JvdXA+CisgIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KKyAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXC4uXFBDQnVpbGRccHlwcm9qZWN0LnByb3BzIiAvPgorICA8L0ltcG9ydEdyb3VwPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjMwMzE5LjE8L19Qcm9qZWN0RmlsZVZlcnNpb24+CisgICAgPE91dERpcj4kKFB5U291cmNlUGF0aClsaWJcZGlzdHV0aWxzXGNvbW1hbmRcPC9PdXREaXI+CisgICAgPExpbmtJbmNyZW1lbnRhbD5mYWxzZTwvTGlua0luY3JlbWVudGFsPgorICAgIDxUYXJnZXROYW1lPndpbmluc3QtJChWaXN1YWxTdHVkaW9WZXJzaW9uKTwvVGFyZ2V0TmFtZT4KKyAgICA8VGFyZ2V0TmFtZSBDb25kaXRpb249IiQoUGxhdGZvcm0pID09ICd4NjQnIj4kKFRhcmdldE5hbWUpLWFtZDY0PC9UYXJnZXROYW1lPgorICAgIDxUYXJnZXRFeHQ+LmV4ZTwvVGFyZ2V0RXh0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgorICAgIDxNaWRsPgorICAgICAgPFR5cGVMaWJyYXJ5TmFtZT4kKE91dERpcil3aW5pbnN0LnRsYjwvVHlwZUxpYnJhcnlOYW1lPgorICAgIDwvTWlkbD4KKyAgICA8Q2xDb21waWxlPgorICAgICAgPE9wdGltaXphdGlvbj5NaW5TcGFjZTwvT3B0aW1pemF0aW9uPgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChQeVNvdXJjZVBhdGgpTW9kdWxlc1x6bGliOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgIDwvQ2xDb21waWxlPgorICAgIDxSZXNvdXJjZUNvbXBpbGU+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKFB5U291cmNlUGF0aClQQ1xiZGlzdF93aW5pbnN0OyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgPC9SZXNvdXJjZUNvbXBpbGU+CisgICAgPExpbms+CisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5jb21jdGwzMi5saWI7aW1hZ2VobHAubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+CisgICAgPC9MaW5rPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSJleHRyYWN0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSJpbnN0YWxsLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxNb2R1bGVzXHpsaWJcYWRsZXIzMi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cTW9kdWxlc1x6bGliXGNyYzMyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxNb2R1bGVzXHpsaWJcaW5mZmFzdC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cTW9kdWxlc1x6bGliXGluZmxhdGUuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXE1vZHVsZXNcemxpYlxpbmZ0cmVlcy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cTW9kdWxlc1x6bGliXHp1dGlsLmMiIC8+CisgIDwvSXRlbUdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iYXJjaGl2ZS5oIiAvPgorICA8L0l0ZW1Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8UmVzb3VyY2VDb21waWxlIEluY2x1ZGU9Imluc3RhbGwucmMiIC8+CisgIDwvSXRlbUdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxOb25lIEluY2x1ZGU9IlB5dGhvblBvd2VyZWQuYm1wIiAvPgorICA8L0l0ZW1Hcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4KKyAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25UYXJnZXRzIj4KKyAgPC9JbXBvcnRHcm91cD4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9QQ2J1aWxkL2JkaXN0X3dpbmluc3QudmN4cHJvai5maWx0ZXJzIGIvUEMvYmRpc3Rfd2luaW5zdC9iZGlzdF93aW5pbnN0LnZjeHByb2ouZmlsdGVycwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gUENidWlsZC9iZGlzdF93aW5pbnN0LnZjeHByb2ouZmlsdGVycwpyZW5hbWUgdG8gUEMvYmRpc3Rfd2luaW5zdC9iZGlzdF93aW5pbnN0LnZjeHByb2ouZmlsdGVycwpkaWZmIC0tZ2l0IGEvUEMvYmRpc3Rfd2luaW5zdC9idWlsZC5iYXQgYi9QQy9iZGlzdF93aW5pbnN0L2J1aWxkLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZTY4NTY3Ci0tLSAvZGV2L251bGwKKysrIGIvUEMvYmRpc3Rfd2luaW5zdC9idWlsZC5iYXQKQEAgLTAsMCArMSwyMiBAQAorQGVjaG8gb2ZmCitzZXRsb2NhbAorCitzZXQgRD0lfmRwMAorc2V0IFBDQlVJTEQ9JX5kcDAuLlwuLlxQQ0J1aWxkXAorCisKK2VjaG8gQnVpbGRpbmcgTGliXGRpc3R1dGlsc1xjb21tYW5kXHdpbmluc3QteHguMC5leGUKKworY2FsbCAiJVBDQlVJTEQlZW52LmJhdCIgeDg2CitpZiBlcnJvcmxldmVsIDEgZ290byA6ZW9mCisKK21zYnVpbGQgIiVEJWJkaXN0X3dpbmluc3QudmN4cHJvaiIgIi9wOlNvbHV0aW9uRGlyPSVQQ0JVSUxEJVwiIC9wOkNvbmZpZ3VyYXRpb249UmVsZWFzZSAvcDpQbGF0Zm9ybT1XaW4zMgoraWYgZXJyb3JsZXZlbCAxIGdvdG8gOmVvZgorCisKK2VjaG8gQnVpbGRpbmcgTGliXGRpc3R1dGlsc1xjb21tYW5kXHdpbmluc3QteHguMC1hbWQ2NC5leGUKKworY2FsbCAiJVBDQlVJTEQlZW52LmJhdCIgeDg2X2FtZDY0CitpZiBlcnJvcmxldmVsIDEgZ290byA6ZW9mCisKK21zYnVpbGQgIiVEJWJkaXN0X3dpbmluc3QudmN4cHJvaiIgIi9wOlNvbHV0aW9uRGlyPSVQQ0JVSUxEJVwiIC9wOkNvbmZpZ3VyYXRpb249UmVsZWFzZSAvcDpQbGF0Zm9ybT14NjQKZGlmZiAtLWdpdCBhL1BDL2JkaXN0X3dpbmluc3QvZXh0cmFjdC5jIGIvUEMvYmRpc3Rfd2luaW5zdC9leHRyYWN0LmMKaW5kZXggYWVjOGVkYS4uMDI0OWQ5ZiAxMDA2NDQKLS0tIGEvUEMvYmRpc3Rfd2luaW5zdC9leHRyYWN0LmMKKysrIGIvUEMvYmRpc3Rfd2luaW5zdC9leHRyYWN0LmMKQEAgLTEsMTAgKzEsOSBAQAogLyoKLSAgSU1QT1JUQU5UIE5PVEU6IElGIFRISVMgRklMRSBJUyBDSEFOR0VELCBXSU5JTlNULTYuRVhFIE1VU1QgQkUgUkVDT01QSUxFRAotICBXSVRIIFRIRSBNU1ZDNiBXSU5JTlNULkRTVyBXT1JLU1BBQ0UgRklMRSBNQU5VQUxMWSwgQU5EIFdJTklOU1QtNy4xLkVYRSBNVVNUCi0gIEJFIFJFQ09NUElMRUQgV0lUSCBUSEUgTVNWQyAyMDAzLk5FVCBXSU5JTlNULTcuMS5WQ1BST0ogRklMRSBNQU5VQUxMWS4KKyAgSU1QT1JUQU5UIE5PVEU6IElGIFRISVMgRklMRSBJUyBDSEFOR0VELCBQQ0JVSUxEXEJESVNUX1dJTklOU1QuVkNYUFJPSiBNVVNUCisgIEJFIFJFQlVJTFQgQVMgV0VMTC4KIAotICBJRiBDSEFOR0VTIFRPIFRISVMgRklMRSBBUkUgQ0hFQ0tFRCBJTlRPIFBZVEhPTiBDVlMsIFRIRSBSRUNPTVBJTEVEIEJJTkFSSUVTCi0gIE1VU1QgQkUgQ0hFQ0tFRCBJTiBBUyBXRUxMIQorICBJRiBDSEFOR0VTIFRPIFRISVMgRklMRSBBUkUgQ0hFQ0tFRCBJTiwgVEhFIFJFQ09NUElMRUQgQklOQVJJRVMgTVVTVCBCRQorICBDSEVDS0VEIElOIEFTIFdFTEwhCiAqLwogCiAjaW5jbHVkZSA8d2luZG93cy5oPgpkaWZmIC0tZ2l0IGEvUEMvYmRpc3Rfd2luaW5zdC9pbnN0YWxsLmMgYi9QQy9iZGlzdF93aW5pbnN0L2luc3RhbGwuYwppbmRleCBhMDIzMmQyLi5iYjJlYjM0IDEwMDY0NAotLS0gYS9QQy9iZGlzdF93aW5pbnN0L2luc3RhbGwuYworKysgYi9QQy9iZGlzdF93aW5pbnN0L2luc3RhbGwuYwpAQCAtMSwxMCArMSw5IEBACiAvKgotICBJTVBPUlRBTlQgTk9URTogSUYgVEhJUyBGSUxFIElTIENIQU5HRUQsIFdJTklOU1QtNi5FWEUgTVVTVCBCRSBSRUNPTVBJTEVECi0gIFdJVEggVEhFIE1TVkM2IFdJTklOU1QuRFNXIFdPUktTUEFDRSBGSUxFIE1BTlVBTExZLCBBTkQgV0lOSU5TVC03LjEuRVhFIE1VU1QKLSAgQkUgUkVDT01QSUxFRCBXSVRIIFRIRSBNU1ZDIDIwMDMuTkVUIFdJTklOU1QtNy4xLlZDUFJPSiBGSUxFIE1BTlVBTExZLgorICBJTVBPUlRBTlQgTk9URTogSUYgVEhJUyBGSUxFIElTIENIQU5HRUQsIFBDQlVJTERcQkRJU1RfV0lOSU5TVC5WQ1hQUk9KIE1VU1QKKyAgQkUgUkVCVUlMVCBBUyBXRUxMLgogCi0gIElGIENIQU5HRVMgVE8gVEhJUyBGSUxFIEFSRSBDSEVDS0VEIElOVE8gUFlUSE9OIENWUywgVEhFIFJFQ09NUElMRUQgQklOQVJJRVMKLSAgTVVTVCBCRSBDSEVDS0VEIElOIEFTIFdFTEwhCisgIElGIENIQU5HRVMgVE8gVEhJUyBGSUxFIEFSRSBDSEVDS0VEIElOLCBUSEUgUkVDT01QSUxFRCBCSU5BUklFUyBNVVNUIEJFCisgIENIRUNLRUQgSU4gQVMgV0VMTCEKICovCiAKIC8qCkBAIC0xMjE2LDcgKzEyMTUsNyBAQAogCiAjaW5jbHVkZSA8cHJzaHQuaD4KIAotQk9PTCBDQUxMQkFDSworSU5UX1BUUiBDQUxMQkFDSwogSW50cm9EbGdQcm9jKEhXTkQgaHduZCwgVUlOVCBtc2csIFdQQVJBTSB3UGFyYW0sIExQQVJBTSBsUGFyYW0pCiB7CiAgICAgTFBOTUhEUiBscG5tOwpAQCAtMTU2NSw3ICsxNTY0LDcgQEAKICAgICByZXR1cm4gb2xkX3NjaGVtZTsKIH0KIAotQk9PTCBDQUxMQkFDSworSU5UX1BUUiBDQUxMQkFDSwogU2VsZWN0UHl0aG9uRGxnUHJvYyhIV05EIGh3bmQsIFVJTlQgbXNnLCBXUEFSQU0gd1BhcmFtLCBMUEFSQU0gbFBhcmFtKQogewogICAgIExQTk1IRFIgbHBubTsKQEAgLTE4NjcsNyArMTg2Niw3IEBACiAgICAgICAgIGZjbG9zZShsb2dmaWxlKTsKIH0KIAotQk9PTCBDQUxMQkFDSworSU5UX1BUUiBDQUxMQkFDSwogSW5zdGFsbEZpbGVzRGxnUHJvYyhIV05EIGh3bmQsIFVJTlQgbXNnLCBXUEFSQU0gd1BhcmFtLCBMUEFSQU0gbFBhcmFtKQogewogICAgIExQTk1IRFIgbHBubTsKQEAgLTIwMjIsNyArMjAyMSw3IEBACiB9CiAKIAotQk9PTCBDQUxMQkFDSworSU5UX1BUUiBDQUxMQkFDSwogRmluaXNoZWREbGdQcm9jKEhXTkQgaHduZCwgVUlOVCBtc2csIFdQQVJBTSB3UGFyYW0sIExQQVJBTSBsUGFyYW0pCiB7CiAgICAgTFBOTUhEUiBscG5tOwpAQCAtMjE5OCwyMyArMjE5Nyw2IEBACiAgICAgcmV0dXJuIFRSVUU7CiB9CiAKLS8vIFJldHVybnMgVFJVRSBpZiB0aGUgcGxhdGZvcm0gc3VwcG9ydHMgVUFDLgotQk9PTCBQbGF0Zm9ybVN1cHBvcnRzVUFDKCkKLXsKLSAgICAvLyBOb3RlIHRoYXQgd2luMmsgZG9lcyBzZWVtIHRvIHN1cHBvcnQgU2hlbGxFeGVjdXRlIHdpdGggJ3J1bmFzJywKLSAgICAvLyBidXQgZG9lcyAqbm90KiBzdXBwb3J0IElzVXNlckFuQWRtaW4gLSBzbyB3ZSBqdXN0IHByZXRlbmQgdGhpbmdzCi0gICAgLy8gb25seSB3b3JrIG9uIFhQIGFuZCBsYXRlci4KLSAgICBCT09MIGJJc1dpbmRvd3NYUG9yTGF0ZXI7Ci0gICAgT1NWRVJTSU9OSU5GTyB3aW52ZXJpbmZvOwotICAgIHdpbnZlcmluZm8uZHdPU1ZlcnNpb25JbmZvU2l6ZSA9IHNpemVvZih3aW52ZXJpbmZvKTsKLSAgICBpZiAoIUdldFZlcnNpb25FeCgmd2ludmVyaW5mbykpCi0gICAgICAgIHJldHVybiBGQUxTRTsgLy8gc29tZXRoaW5nIGJhZCBoYXMgZ29uZSB3cm9uZwotICAgIGJJc1dpbmRvd3NYUG9yTGF0ZXIgPQotICAgICAgICggKHdpbnZlcmluZm8uZHdNYWpvclZlcnNpb24gPiA1KSB8fAotICAgICAgICggKHdpbnZlcmluZm8uZHdNYWpvclZlcnNpb24gPT0gNSkgJiYgKHdpbnZlcmluZm8uZHdNaW5vclZlcnNpb24gPj0gMSkgKSk7Ci0gICAgcmV0dXJuIGJJc1dpbmRvd3NYUG9yTGF0ZXI7Ci19Ci0KIC8vIFNwYXduIG91cnNlbGYgYXMgYW4gZWxldmF0ZWQgYXBwbGljYXRpb24uICBPbiBmYWlsdXJlLCBhIG1lc3NhZ2UgaXMKIC8vIGRpc3BsYXllZCB0byB0aGUgdXNlciAtIGJ1dCB0aGlzIGFwcCB3aWxsIGFsd2F5cyB0ZXJtaW5hdGUsIGV2ZW4KIC8vIG9uIGVycm9yLgpAQCAtMjI3MCw3ICsyMjUyLDcgQEAKIAogICAgIC8vIFNlZSBpZiB3ZSBuZWVkIHRvIGRvIHRoZSBWaXN0YSBVQUMgbWFnaWMuCiAgICAgaWYgKHN0cmNtcCh1c2VyX2FjY2Vzc19jb250cm9sLCAiZm9yY2UiKT09MCkgewotICAgICAgICBpZiAoUGxhdGZvcm1TdXBwb3J0c1VBQygpICYmICFNeUlzVXNlckFuQWRtaW4oKSkgeworICAgICAgICBpZiAoIU15SXNVc2VyQW5BZG1pbigpKSB7CiAgICAgICAgICAgICBTcGF3blVBQygpOwogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIH0KQEAgLTIyNzgsNyArMjI2MCw3IEBACiAgICAgfSBlbHNlIGlmIChzdHJjbXAodXNlcl9hY2Nlc3NfY29udHJvbCwgImF1dG8iKT09MCkgewogICAgICAgICAvLyBDaGVjayBpZiBpdCBsb29rcyBsaWtlIHdlIG5lZWQgVUFDIGNvbnRyb2wsIGJhc2VkCiAgICAgICAgIC8vIG9uIGhvdyBQeXRob24gaXRzZWxmIHdhcyBpbnN0YWxsZWQuCi0gICAgICAgIGlmIChQbGF0Zm9ybVN1cHBvcnRzVUFDKCkgJiYgIU15SXNVc2VyQW5BZG1pbigpICYmIE5lZWRBdXRvVUFDKCkpIHsKKyAgICAgICAgaWYgKCFNeUlzVXNlckFuQWRtaW4oKSAmJiBOZWVkQXV0b1VBQygpKSB7CiAgICAgICAgICAgICBTcGF3blVBQygpOwogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1BDL2JkaXN0X3dpbmluc3QvaW5zdGFsbC5yYyBiL1BDL2JkaXN0X3dpbmluc3QvaW5zdGFsbC5yYwppbmRleCBkMDE4YjQ4Li5kZmEyZmZjIDEwMDY0NAotLS0gYS9QQy9iZGlzdF93aW5pbnN0L2luc3RhbGwucmMKKysrIGIvUEMvYmRpc3Rfd2luaW5zdC9pbnN0YWxsLnJjCkBAIC0xLDk3ICsxLDIwIEBACiAvKgotICBJTVBPUlRBTlQgTk9URTogSUYgVEhJUyBGSUxFIElTIENIQU5HRUQsIFdJTklOU1QtNi5FWEUgTVVTVCBCRSBSRUNPTVBJTEVECi0gIFdJVEggVEhFIE1TVkM2IFdJTklOU1QuRFNXIFdPUktTUEFDRSBGSUxFIE1BTlVBTExZLCBBTkQgV0lOSU5TVC03LjEuRVhFIE1VU1QKLSAgQkUgUkVDT01QSUxFRCBXSVRIIFRIRSBNU1ZDIDIwMDMuTkVUIFdJTklOU1QtNy4xLlZDUFJPSiBGSUxFIE1BTlVBTExZLgorICBJTVBPUlRBTlQgTk9URTogSUYgVEhJUyBGSUxFIElTIENIQU5HRUQsIFBDQlVJTERcQkRJU1RfV0lOSU5TVC5WQ1hQUk9KIE1VU1QKKyAgQkUgUkVCVUlMVCBBUyBXRUxMLgogCi0gIElGIENIQU5HRVMgVE8gVEhJUyBGSUxFIEFSRSBDSEVDS0VEIElOVE8gUFlUSE9OIENWUywgVEhFIFJFQ09NUElMRUQgQklOQVJJRVMKLSAgTVVTVCBCRSBDSEVDS0VEIElOIEFTIFdFTEwhCisgIElGIENIQU5HRVMgVE8gVEhJUyBGSUxFIEFSRSBDSEVDS0VEIElOLCBUSEUgUkVDT01QSUxFRCBCSU5BUklFUyBNVVNUIEJFCisgIENIRUNLRUQgSU4gQVMgV0VMTCEKICovCiAKLS8vTWljcm9zb2Z0IERldmVsb3BlciBTdHVkaW8gZ2VuZXJhdGVkIHJlc291cmNlIHNjcmlwdC4KLS8vCisjaW5jbHVkZSA8d2lucmVzLmg+CiAjaW5jbHVkZSAicmVzb3VyY2UuaCIKIAotI2RlZmluZSBBUFNUVURJT19SRUFET05MWV9TWU1CT0xTCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwotLy8KLS8vIEdlbmVyYXRlZCBmcm9tIHRoZSBURVhUSU5DTFVERSAyIHJlc291cmNlLgotLy8KLSNpbmNsdWRlICJhZnhyZXMuaCIKLQotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLSN1bmRlZiBBUFNUVURJT19SRUFET05MWV9TWU1CT0xTCi0KLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0vLyBOZXV0cmFsIHJlc291cmNlcwotCi0jaWYgIWRlZmluZWQoQUZYX1JFU09VUkNFX0RMTCkgfHwgZGVmaW5lZChBRlhfVEFSR19ORVUpCi0jaWZkZWYgX1dJTjMyCiBMQU5HVUFHRSBMQU5HX05FVVRSQUwsIFNVQkxBTkdfTkVVVFJBTAogI3ByYWdtYSBjb2RlX3BhZ2UoMTI1MikKLSNlbmRpZiAvL19XSU4zMgotCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwotLy8KLS8vIEJpdG1hcAotLy8KIAogSURCX0JJVE1BUCAgICAgICAgICAgICAgQklUTUFQICBESVNDQVJEQUJMRSAgICAgIlB5dGhvblBvd2VyZWQuYm1wIgotI2VuZGlmICAgIC8vIE5ldXRyYWwgcmVzb3VyY2VzCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogCiAKLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0vLyBHZXJtYW4gKEdlcm1hbnkpIHJlc291cmNlcwotCi0jaWYgIWRlZmluZWQoQUZYX1JFU09VUkNFX0RMTCkgfHwgZGVmaW5lZChBRlhfVEFSR19ERVUpCi0jaWZkZWYgX1dJTjMyCi1MQU5HVUFHRSBMQU5HX0dFUk1BTiwgU1VCTEFOR19HRVJNQU4KLSNwcmFnbWEgY29kZV9wYWdlKDEyNTIpCi0jZW5kaWYgLy9fV0lOMzIKLQotI2lmZGVmIEFQU1RVRElPX0lOVk9LRUQKLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0vLwotLy8gVEVYVElOQ0xVREUKLS8vCi0KLTEgVEVYVElOQ0xVREUgRElTQ0FSREFCTEUgCi1CRUdJTgotICAgICJyZXNvdXJjZS5oXDAiCi1FTkQKLQotMiBURVhUSU5DTFVERSBESVNDQVJEQUJMRSAKLUJFR0lOCi0gICAgIiNpbmNsdWRlICIiYWZ4cmVzLmgiIlxyXG4iCi0gICAgIlwwIgotRU5ECi0KLTMgVEVYVElOQ0xVREUgRElTQ0FSREFCTEUgCi1CRUdJTgotICAgICJcclxuIgotICAgICJcMCIKLUVORAotCi0jZW5kaWYgICAgLy8gQVBTVFVESU9fSU5WT0tFRAotCi0jZW5kaWYgICAgLy8gR2VybWFuIChHZXJtYW55KSByZXNvdXJjZXMKLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0KLQotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLS8vIEVuZ2xpc2ggKFUuUy4pIHJlc291cmNlcwotCi0jaWYgIWRlZmluZWQoQUZYX1JFU09VUkNFX0RMTCkgfHwgZGVmaW5lZChBRlhfVEFSR19FTlUpCi0jaWZkZWYgX1dJTjMyCi1MQU5HVUFHRSBMQU5HX0VOR0xJU0gsIFNVQkxBTkdfRU5HTElTSF9VUwotI3ByYWdtYSBjb2RlX3BhZ2UoMTI1MikKLSNlbmRpZiAvL19XSU4zMgotCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwotLy8KLS8vIERpYWxvZwotLy8KLQogSUREX0lOVFJPIERJQUxPR0VYIDAsIDAsIDM3OSwgMTc4CiBTVFlMRSBXU19DSElMRCB8IFdTX0RJU0FCTEVEIHwgV1NfQ0FQVElPTgogQ0FQVElPTiAiU2V0dXAiCkBAIC0xNTIsNzggKzc1LDMgQEAKICAgICBFRElUVEVYVCAgICAgICAgSURDX0lORk8sMTI1LDQwLDI0NywxMzEsRVNfTVVMVElMSU5FIHwgRVNfUkVBRE9OTFkgfCAKICAgICAgICAgICAgICAgICAgICAgV1NfVlNDUk9MTCB8IFdTX0hTQ1JPTEwgfCBOT1QgV1NfVEFCU1RPUAogRU5ECi0KLQotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLS8vCi0vLyBERVNJR05JTkZPCi0vLwotCi0jaWZkZWYgQVBTVFVESU9fSU5WT0tFRAotR1VJREVMSU5FUyBERVNJR05JTkZPIERJU0NBUkRBQkxFIAotQkVHSU4KLSAgICBJRERfSU5UUk8sIERJQUxPRwotICAgIEJFR0lOCi0gICAgICAgIExFRlRNQVJHSU4sIDcKLSAgICAgICAgUklHSFRNQVJHSU4sIDM3MgotICAgICAgICBWRVJUR1VJREUsIDEyNQotICAgICAgICBWRVJUR1VJREUsIDM3MgotICAgICAgICBUT1BNQVJHSU4sIDcKLSAgICAgICAgQk9UVE9NTUFSR0lOLCAxNzEKLSAgICAgICAgSE9SWkdVSURFLCA4Ci0gICAgICAgIEhPUlpHVUlERSwgMzEKLSAgICBFTkQKLQotICAgIElERF9TRUxFQ1RQWVRIT04sIERJQUxPRwotICAgIEJFR0lOCi0gICAgICAgIExFRlRNQVJHSU4sIDcKLSAgICAgICAgUklHSFRNQVJHSU4sIDM3MgotICAgICAgICBWRVJUR1VJREUsIDEyNQotICAgICAgICBWRVJUR1VJREUsIDM3MgotICAgICAgICBUT1BNQVJHSU4sIDcKLSAgICAgICAgQk9UVE9NTUFSR0lOLCAxNzEKLSAgICAgICAgSE9SWkdVSURFLCA4Ci0gICAgICAgIEhPUlpHVUlERSwgNDEKLSAgICBFTkQKLQotICAgIElERF9JTlNUQUxMRklMRVMsIERJQUxPRwotICAgIEJFR0lOCi0gICAgICAgIExFRlRNQVJHSU4sIDcKLSAgICAgICAgUklHSFRNQVJHSU4sIDM3MgotICAgICAgICBWRVJUR1VJREUsIDEyNQotICAgICAgICBWRVJUR1VJREUsIDM3MQotICAgICAgICBUT1BNQVJHSU4sIDcKLSAgICAgICAgQk9UVE9NTUFSR0lOLCAxNzEKLSAgICAgICAgSE9SWkdVSURFLCA4Ci0gICAgICAgIEhPUlpHVUlERSwgNDEKLSAgICBFTkQKLQotICAgIElERF9GSU5JU0hFRCwgRElBTE9HCi0gICAgQkVHSU4KLSAgICAgICAgTEVGVE1BUkdJTiwgNgotICAgICAgICBSSUdIVE1BUkdJTiwgMzcyCi0gICAgICAgIFZFUlRHVUlERSwgMTI1Ci0gICAgICAgIFZFUlRHVUlERSwgMzcyCi0gICAgICAgIFRPUE1BUkdJTiwgNwotICAgICAgICBCT1RUT01NQVJHSU4sIDE3MQotICAgICAgICBIT1JaR1VJREUsIDgKLSAgICAgICAgSE9SWkdVSURFLCA0MQotICAgIEVORAotRU5ECi0jZW5kaWYgICAgLy8gQVBTVFVESU9fSU5WT0tFRAotCi0jZW5kaWYgICAgLy8gRW5nbGlzaCAoVS5TLikgcmVzb3VyY2VzCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwotCi0KLQotI2lmbmRlZiBBUFNUVURJT19JTlZPS0VECi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwotLy8KLS8vIEdlbmVyYXRlZCBmcm9tIHRoZSBURVhUSU5DTFVERSAzIHJlc291cmNlLgotLy8KLQotCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwotI2VuZGlmICAgIC8vIG5vdCBBUFNUVURJT19JTlZPS0VECi0KZGlmZiAtLWdpdCBhL1BDL2JkaXN0X3dpbmluc3QvcmVzb3VyY2UuaCBiL1BDL2JkaXN0X3dpbmluc3QvcmVzb3VyY2UuaAppbmRleCAzNWJhM2MyLi44NmFlYWJiIDEwMDY0NAotLS0gYS9QQy9iZGlzdF93aW5pbnN0L3Jlc291cmNlLmgKKysrIGIvUEMvYmRpc3Rfd2luaW5zdC9yZXNvdXJjZS5oCkBAIC0xLDE2ICsxLDExIEBACiAvKgotICBJTVBPUlRBTlQgTk9URTogSUYgVEhJUyBGSUxFIElTIENIQU5HRUQsIFdJTklOU1QtNi5FWEUgTVVTVCBCRSBSRUNPTVBJTEVECi0gIFdJVEggVEhFIE1TVkM2IFdJTklOU1QuRFNXIFdPUktTUEFDRSBGSUxFIE1BTlVBTExZLCBBTkQgV0lOSU5TVC03LjEuRVhFIE1VU1QKLSAgQkUgUkVDT01QSUxFRCBXSVRIIFRIRSBNU1ZDIDIwMDMuTkVUIFdJTklOU1QtNy4xLlZDUFJPSiBGSUxFIE1BTlVBTExZLgorICBJTVBPUlRBTlQgTk9URTogSUYgVEhJUyBGSUxFIElTIENIQU5HRUQsIFBDQlVJTERcQkRJU1RfV0lOSU5TVC5WQ1hQUk9KIE1VU1QKKyAgQkUgUkVCVUlMVCBBUyBXRUxMLgogCi0gIElGIENIQU5HRVMgVE8gVEhJUyBGSUxFIEFSRSBDSEVDS0VEIElOVE8gUFlUSE9OIENWUywgVEhFIFJFQ09NUElMRUQgQklOQVJJRVMKLSAgTVVTVCBCRSBDSEVDS0VEIElOIEFTIFdFTEwhCisgIElGIENIQU5HRVMgVE8gVEhJUyBGSUxFIEFSRSBDSEVDS0VEIElOLCBUSEUgUkVDT01QSUxFRCBCSU5BUklFUyBNVVNUIEJFCisgIENIRUNLRUQgSU4gQVMgV0VMTCEKICovCiAKLS8ve3tOT19ERVBFTkRFTkNJRVN9fQotLy8gTWljcm9zb2Z0IERldmVsb3BlciBTdHVkaW8gZ2VuZXJhdGVkIGluY2x1ZGUgZmlsZS4KLS8vIFVzZWQgYnkgaW5zdGFsbC5yYwotLy8KICNkZWZpbmUgSUREX0RJQUxPRzEgICAgICAgICAgICAgICAgICAgICAxMDEKICNkZWZpbmUgSURCX0JJVE1BUDEgICAgICAgICAgICAgICAgICAgICAxMDMKICNkZWZpbmUgSUREX0lOVFJPICAgICAgICAgICAgICAgICAgICAgICAxMDcKQEAgLTM0LDE0ICsyOSwzIEBACiAjZGVmaW5lIElEQ19CVUlMRF9JTkZPICAgICAgICAgICAgICAgICAgMTAyNAogI2RlZmluZSBJRENfQklUTUFQICAgICAgICAgICAgICAgICAgICAgIDEwMjUKICNkZWZpbmUgSURDX09USEVSUFlUSE9OICAgICAgICAgICAgICAgICAxMDI2Ci0KLS8vIE5leHQgZGVmYXVsdCB2YWx1ZXMgZm9yIG5ldyBvYmplY3RzCi0vLyAKLSNpZmRlZiBBUFNUVURJT19JTlZPS0VECi0jaWZuZGVmIEFQU1RVRElPX1JFQURPTkxZX1NZTUJPTFMKLSNkZWZpbmUgX0FQU19ORVhUX1JFU09VUkNFX1ZBTFVFICAgICAgICAxMTIKLSNkZWZpbmUgX0FQU19ORVhUX0NPTU1BTkRfVkFMVUUgICAgICAgICA0MDAwMQotI2RlZmluZSBfQVBTX05FWFRfQ09OVFJPTF9WQUxVRSAgICAgICAgIDEwMjgKLSNkZWZpbmUgX0FQU19ORVhUX1NZTUVEX1ZBTFVFICAgICAgICAgICAxMDEKLSNlbmRpZgotI2VuZGlmCmRpZmYgLS1naXQgYS9QQy9iZGlzdF93aW5pbnN0L3dpbmluc3QtNy4xLnNsbiBiL1BDL2JkaXN0X3dpbmluc3Qvd2luaW5zdC03LjEuc2xuCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMjA1ZDI1Li4wMDAwMDAwCi0tLSBhL1BDL2JkaXN0X3dpbmluc3Qvd2luaW5zdC03LjEuc2xuCisrKyAvZGV2L251bGwKQEAgLTEsMjEgKzAsMCBAQAotTWljcm9zb2Z0IFZpc3VhbCBTdHVkaW8gU29sdXRpb24gRmlsZSwgRm9ybWF0IFZlcnNpb24gOC4wMA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAid2luaW5zdCIsICJ3aW5pbnN0LTcuMS52Y3Byb2oiLCAie0VCMUMxOUMxLTFGMTgtNDIxRS05NzM1LUNBRUU2OURDNkEzQ30iDQotCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QNCi0JRW5kUHJvamVjdFNlY3Rpb24NCi1FbmRQcm9qZWN0DQotR2xvYmFsDQotCUdsb2JhbFNlY3Rpb24oU29sdXRpb25Db25maWd1cmF0aW9uKSA9IHByZVNvbHV0aW9uDQotCQlEZWJ1ZyA9IERlYnVnDQotCQlSZWxlYXNlID0gUmVsZWFzZQ0KLQlFbmRHbG9iYWxTZWN0aW9uDQotCUdsb2JhbFNlY3Rpb24oUHJvamVjdENvbmZpZ3VyYXRpb24pID0gcG9zdFNvbHV0aW9uDQotCQl7RUIxQzE5QzEtMUYxOC00MjFFLTk3MzUtQ0FFRTY5REM2QTNDfS5EZWJ1Zy5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJe0VCMUMxOUMxLTFGMTgtNDIxRS05NzM1LUNBRUU2OURDNkEzQ30uRGVidWcuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7RUIxQzE5QzEtMUYxOC00MjFFLTk3MzUtQ0FFRTY5REM2QTNDfS5SZWxlYXNlLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtFQjFDMTlDMS0xRjE4LTQyMUUtOTczNS1DQUVFNjlEQzZBM0N9LlJlbGVhc2UuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JRW5kR2xvYmFsU2VjdGlvbg0KLQlHbG9iYWxTZWN0aW9uKEV4dGVuc2liaWxpdHlHbG9iYWxzKSA9IHBvc3RTb2x1dGlvbg0KLQlFbmRHbG9iYWxTZWN0aW9uDQotCUdsb2JhbFNlY3Rpb24oRXh0ZW5zaWJpbGl0eUFkZElucykgPSBwb3N0U29sdXRpb24NCi0JRW5kR2xvYmFsU2VjdGlvbg0KLUVuZEdsb2JhbA0KZGlmZiAtLWdpdCBhL1BDL2JkaXN0X3dpbmluc3Qvd2luaW5zdC03LjEudmNwcm9qIGIvUEMvYmRpc3Rfd2luaW5zdC93aW5pbnN0LTcuMS52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMwZGFhZTkuLjAwMDAwMDAKLS0tIGEvUEMvYmRpc3Rfd2luaW5zdC93aW5pbnN0LTcuMS52Y3Byb2oKKysrIC9kZXYvbnVsbApAQCAtMSwyMTQgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb2plY3QNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjcuMTAiDQotCU5hbWU9Indpbmluc3QiDQotCVByb2plY3RHVUlEPSJ7RUIxQzE5QzEtMUYxOC00MjFFLTk3MzUtQ0FFRTY5REM2QTNDfSINCi0JUm9vdE5hbWVzcGFjZT0id2luaW5zdCINCi0JU2NjUHJvamVjdE5hbWU9IiINCi0JU2NjTG9jYWxQYXRoPSIiPg0KLQk8UGxhdGZvcm1zPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0iV2luMzIiLz4NCi0JPC9QbGF0Zm9ybXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlPdXRwdXREaXJlY3Rvcnk9Ii5cLi5cLi5cbGliXGRpc3R1dGlsc1xjb21tYW5kIg0KLQkJCUludGVybWVkaWF0ZURpcmVjdG9yeT0iLlx0ZW1wLXJlbGVhc2UiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9IkZBTFNFIg0KLQkJCUNoYXJhY3RlclNldD0iMiI+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJT3B0aW1pemF0aW9uPSIxIg0KLQkJCQlJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj0iMSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cSW5jbHVkZSwuLlwuLlwuLlx6bGliLTEuMi4zIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lOMzI7TkRFQlVHO19XSU5ET1dTIg0KLQkJCQlTdHJpbmdQb29saW5nPSJUUlVFIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9IlRSVUUiDQotCQkJCVVzZVByZWNvbXBpbGVkSGVhZGVyPSIyIg0KLQkJCQlQcmVjb21waWxlZEhlYWRlckZpbGU9Ii5cdGVtcC1yZWxlYXNlL3dpbmluc3QucGNoIg0KLQkJCQlBc3NlbWJsZXJMaXN0aW5nTG9jYXRpb249Ii5cdGVtcC1yZWxlYXNlLyINCi0JCQkJT2JqZWN0RmlsZT0iLlx0ZW1wLXJlbGVhc2UvIg0KLQkJCQlQcm9ncmFtRGF0YUJhc2VGaWxlTmFtZT0iLlx0ZW1wLXJlbGVhc2UvIg0KLQkJCQlXYXJuaW5nTGV2ZWw9IjMiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJQ29tcGlsZUFzPSIwIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9Ii4uXC4uXC4uXHpsaWItMS4yLjNcemxpYi5saWIgaW1hZ2VobHAubGliIGNvbWN0bDMyLmxpYiINCi0JCQkJT3V0cHV0RmlsZT0iLi5cLi5cbGliXGRpc3R1dGlsc1xjb21tYW5kL3dpbmluc3QtNy4xLmV4ZSINCi0JCQkJTGlua0luY3JlbWVudGFsPSIxIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQotCQkJCUlnbm9yZURlZmF1bHRMaWJyYXJ5TmFtZXM9IkxJQkMiDQotCQkJCVByb2dyYW1EYXRhYmFzZUZpbGU9Ii5cLi5cLi5cbGliXGRpc3R1dGlsc1xjb21tYW5kL3dpbmluc3QtNi5wZGIiDQotCQkJCVN1YlN5c3RlbT0iMiINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMSIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJOREVCVUciDQotCQkJCU1rVHlwTGliQ29tcGF0aWJsZT0iVFJVRSINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMSINCi0JCQkJVHlwZUxpYnJhcnlOYW1lPSIuXC4uXC4uXGxpYlxkaXN0dXRpbHNcY29tbWFuZC93aW5pbnN0LnRsYiINCi0JCQkJSGVhZGVyRmlsZU5hbWU9IiIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJOREVCVUciDQotCQkJCUN1bHR1cmU9IjEwMzEiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJEZXBsb3ltZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBdXhpbGlhcnlNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJT3V0cHV0RGlyZWN0b3J5PSIuXC4iDQotCQkJSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSIuXHRlbXAtZGVidWciDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9IkZBTFNFIg0KLQkJCUNoYXJhY3RlclNldD0iMiI+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJT3B0aW1pemF0aW9uPSIwIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxJbmNsdWRlLC4uXC4uXC4uXHpsaWItMS4yLjEiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtfREVCVUc7X1dJTkRPV1MiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCQlVc2VQcmVjb21waWxlZEhlYWRlcj0iMiINCi0JCQkJUHJlY29tcGlsZWRIZWFkZXJGaWxlPSIuXHRlbXAtZGVidWcvd2luaW5zdC5wY2giDQotCQkJCUFzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj0iLlx0ZW1wLWRlYnVnLyINCi0JCQkJT2JqZWN0RmlsZT0iLlx0ZW1wLWRlYnVnLyINCi0JCQkJUHJvZ3JhbURhdGFCYXNlRmlsZU5hbWU9Ii5cdGVtcC1kZWJ1Zy8iDQotCQkJCUJyb3dzZUluZm9ybWF0aW9uPSIxIg0KLQkJCQlXYXJuaW5nTGV2ZWw9IjMiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJRGVidWdJbmZvcm1hdGlvbkZvcm1hdD0iMSINCi0JCQkJQ29tcGlsZUFzPSIwIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9Ii4uXC4uXC4uXHpsaWItMS4yLjFcemxpYi5saWIgaW1hZ2VobHAubGliIGNvbWN0bDMyLmxpYiINCi0JCQkJT3V0cHV0RmlsZT0iLi5cLi5cbGliXGRpc3R1dGlsc1xjb21tYW5kL3dpbmluc3QtNy4xX2QuZXhlIg0KLQkJCQlMaW5rSW5jcmVtZW50YWw9IjIiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJSWdub3JlRGVmYXVsdExpYnJhcnlOYW1lcz0iTElCQyINCi0JCQkJR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPSJUUlVFIg0KLQkJCQlTdWJTeXN0ZW09IjIiDQotCQkJCVRhcmdldE1hY2hpbmU9IjEiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX0RFQlVHIg0KLQkJCQlNa1R5cExpYkNvbXBhdGlibGU9IlRSVUUiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjEiDQotCQkJCVR5cGVMaWJyYXJ5TmFtZT0iLlwuL3dpbmluc3QudGxiIg0KLQkJCQlIZWFkZXJGaWxlTmFtZT0iIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9ERUJVRyINCi0JCQkJQ3VsdHVyZT0iMTAzMSIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYkRlcGxveW1lbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0F1eGlsaWFyeU1hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCUZpbHRlcj0iY3BwO2M7Y3h4O3JjO2RlZjtyO29kbDtpZGw7aHBqO2JhdCI+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSJleHRyYWN0LmMiPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiPg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQkJCU9wdGltaXphdGlvbj0iMSINCi0JCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiDQotCQkJCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IiIvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IkRlYnVnfFdpbjMyIj4NCi0JCQkJCTxUb29sDQotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJCQlPcHRpbWl6YXRpb249IjAiDQotCQkJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iIg0KLQkJCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSIiDQotCQkJCQkJQnJvd3NlSW5mb3JtYXRpb249IjEiLz4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSJpbnN0YWxsLmMiPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiPg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQkJCU9wdGltaXphdGlvbj0iMSINCi0JCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiDQotCQkJCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IiIvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IkRlYnVnfFdpbjMyIj4NCi0JCQkJCTxUb29sDQotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJCQlPcHRpbWl6YXRpb249IjAiDQotCQkJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iIg0KLQkJCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSIiDQotCQkJCQkJQnJvd3NlSW5mb3JtYXRpb249IjEiLz4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSJpbnN0YWxsLnJjIj4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJIZWFkZXIgRmlsZXMiDQotCQkJRmlsdGVyPSJoO2hwcDtoeHg7aG07aW5sIj4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9ImFyY2hpdmUuaCI+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iUmVzb3VyY2UgRmlsZXMiDQotCQkJRmlsdGVyPSJpY287Y3VyO2JtcDtkbGc7cmMyO3JjdDtiaW47cmdzO2dpZjtqcGc7anBlZztqcGUiPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iUHl0aG9uUG93ZXJlZC5ibXAiPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9iZGlzdF93aW5pbnN0L3dpbmluc3QtOC5zbG4gYi9QQy9iZGlzdF93aW5pbnN0L3dpbmluc3QtOC5zbG4KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI1ZjE2Y2YuLjAwMDAwMDAKLS0tIGEvUEMvYmRpc3Rfd2luaW5zdC93aW5pbnN0LTguc2xuCisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotTWljcm9zb2Z0IFZpc3VhbCBTdHVkaW8gU29sdXRpb24gRmlsZSwgRm9ybWF0IFZlcnNpb24gOS4wMA0KLSMgVmlzdWFsIFN0dWRpbyAyMDA1DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJ3aW5pbnN0IiwgIndpbmluc3QtOC52Y3Byb2oiLCAie0VCMUMxOUMxLTFGMTgtNDIxRS05NzM1LUNBRUU2OURDNkEzQ30iDQotRW5kUHJvamVjdA0KLUdsb2JhbA0KLQlHbG9iYWxTZWN0aW9uKFNvbHV0aW9uQ29uZmlndXJhdGlvblBsYXRmb3JtcykgPSBwcmVTb2x1dGlvbg0KLQkJRGVidWd8V2luMzIgPSBEZWJ1Z3xXaW4zMg0KLQkJUmVsZWFzZXxXaW4zMiA9IFJlbGVhc2V8V2luMzINCi0JRW5kR2xvYmFsU2VjdGlvbg0KLQlHbG9iYWxTZWN0aW9uKFByb2plY3RDb25maWd1cmF0aW9uUGxhdGZvcm1zKSA9IHBvc3RTb2x1dGlvbg0KLQkJe0VCMUMxOUMxLTFGMTgtNDIxRS05NzM1LUNBRUU2OURDNkEzQ30uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCi0JCXtFQjFDMTlDMS0xRjE4LTQyMUUtOTczNS1DQUVFNjlEQzZBM0N9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KLQkJe0VCMUMxOUMxLTFGMTgtNDIxRS05NzM1LUNBRUU2OURDNkEzQ30uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7RUIxQzE5QzEtMUYxOC00MjFFLTk3MzUtQ0FFRTY5REM2QTNDfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCUVuZEdsb2JhbFNlY3Rpb24NCi0JR2xvYmFsU2VjdGlvbihTb2x1dGlvblByb3BlcnRpZXMpID0gcHJlU29sdXRpb24NCi0JCUhpZGVTb2x1dGlvbk5vZGUgPSBGQUxTRQ0KLQlFbmRHbG9iYWxTZWN0aW9uDQotRW5kR2xvYmFsDQpkaWZmIC0tZ2l0IGEvUEMvYmRpc3Rfd2luaW5zdC93aW5pbnN0LTgudmNwcm9qIGIvUEMvYmRpc3Rfd2luaW5zdC93aW5pbnN0LTgudmNwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMTQ3ZDFiLi4wMDAwMDAwCi0tLSBhL1BDL2JkaXN0X3dpbmluc3Qvd2luaW5zdC04LnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDMyMCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOC4wMCINCi0JTmFtZT0id2luaW5zdCINCi0JUHJvamVjdEdVSUQ9IntFQjFDMTlDMS0xRjE4LTQyMUUtOTczNS1DQUVFNjlEQzZBM0N9Ig0KLQlSb290TmFtZXNwYWNlPSJ3aW5pbnN0Ig0KLQk+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiINCi0JCS8+DQotCTwvUGxhdGZvcm1zPg0KLQk8VG9vbEZpbGVzPg0KLQk8L1Rvb2xGaWxlcz4NCi0JPENvbmZpZ3VyYXRpb25zPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCU91dHB1dERpcmVjdG9yeT0iLlwuLlwuLlxsaWJcZGlzdHV0aWxzXGNvbW1hbmQiDQotCQkJSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSIuXHRlbXAtcmVsZWFzZSINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iJChWQ0luc3RhbGxEaXIpVkNQcm9qZWN0RGVmYXVsdHNcVXBncmFkZUZyb21WQzcxLnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCUNoYXJhY3RlclNldD0iMiINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJOREVCVUciDQotCQkJCU1rVHlwTGliQ29tcGF0aWJsZT0idHJ1ZSINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJ0cnVlIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMSINCi0JCQkJVHlwZUxpYnJhcnlOYW1lPSIuXC4uXC4uXGxpYlxkaXN0dXRpbHNcY29tbWFuZC93aW5pbnN0LnRsYiINCi0JCQkJSGVhZGVyRmlsZU5hbWU9IiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCU9wdGltaXphdGlvbj0iMSINCi0JCQkJSW5saW5lRnVuY3Rpb25FeHBhbnNpb249IjEiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXEluY2x1ZGUsLi5cLi5cTW9kdWxlc1x6bGliIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lOMzI7TkRFQlVHO19XSU5ET1dTIg0KLQkJCQlTdHJpbmdQb29saW5nPSJ0cnVlIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9InRydWUiDQotCQkJCVVzZVByZWNvbXBpbGVkSGVhZGVyPSIwIg0KLQkJCQlQcmVjb21waWxlZEhlYWRlckZpbGU9Ii5cdGVtcC1yZWxlYXNlL3dpbmluc3QucGNoIg0KLQkJCQlBc3NlbWJsZXJMaXN0aW5nTG9jYXRpb249Ii5cdGVtcC1yZWxlYXNlLyINCi0JCQkJT2JqZWN0RmlsZT0iLlx0ZW1wLXJlbGVhc2UvIg0KLQkJCQlQcm9ncmFtRGF0YUJhc2VGaWxlTmFtZT0iLlx0ZW1wLXJlbGVhc2UvIg0KLQkJCQlXYXJuaW5nTGV2ZWw9IjMiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0idHJ1ZSINCi0JCQkJQ29tcGlsZUFzPSIwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTkRFQlVHIg0KLQkJCQlDdWx0dXJlPSIxMDMxIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJpbWFnZWhscC5saWIgY29tY3RsMzIubGliIg0KLQkJCQlPdXRwdXRGaWxlPSIuLlwuLlxsaWJcZGlzdHV0aWxzXGNvbW1hbmQvd2luaW5zdC04LmV4ZSINCi0JCQkJTGlua0luY3JlbWVudGFsPSIxIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9InRydWUiDQotCQkJCUlnbm9yZURlZmF1bHRMaWJyYXJ5TmFtZXM9IkxJQkMiDQotCQkJCVByb2dyYW1EYXRhYmFzZUZpbGU9Ii5cLi5cLi5cbGliXGRpc3R1dGlsc1xjb21tYW5kL3dpbmluc3QtNi5wZGIiDQotCQkJCVN1YlN5c3RlbT0iMiINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYkRlcGxveW1lbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJT3V0cHV0RGlyZWN0b3J5PSIuXC4iDQotCQkJSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSIuXHRlbXAtZGVidWciDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9IiQoVkNJbnN0YWxsRGlyKVZDUHJvamVjdERlZmF1bHRzXFVwZ3JhZGVGcm9tVkM3MS52c3Byb3BzIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJmYWxzZSINCi0JCQlDaGFyYWN0ZXJTZXQ9IjIiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX0RFQlVHIg0KLQkJCQlNa1R5cExpYkNvbXBhdGlibGU9InRydWUiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0idHJ1ZSINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjEiDQotCQkJCVR5cGVMaWJyYXJ5TmFtZT0iLlwuL3dpbmluc3QudGxiIg0KLQkJCQlIZWFkZXJGaWxlTmFtZT0iIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJT3B0aW1pemF0aW9uPSIwIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxJbmNsdWRlLC4uXC4uXE1vZHVsZXNcemxpYiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO19ERUJVRztfV0lORE9XUyINCi0JCQkJUnVudGltZUxpYnJhcnk9IjIiDQotCQkJCVVzZVByZWNvbXBpbGVkSGVhZGVyPSIwIg0KLQkJCQlQcmVjb21waWxlZEhlYWRlckZpbGU9Ii5cdGVtcC1kZWJ1Zy93aW5pbnN0LnBjaCINCi0JCQkJQXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPSIuXHRlbXAtZGVidWcvIg0KLQkJCQlPYmplY3RGaWxlPSIuXHRlbXAtZGVidWcvIg0KLQkJCQlQcm9ncmFtRGF0YUJhc2VGaWxlTmFtZT0iLlx0ZW1wLWRlYnVnLyINCi0JCQkJQnJvd3NlSW5mb3JtYXRpb249IjEiDQotCQkJCVdhcm5pbmdMZXZlbD0iMyINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJ0cnVlIg0KLQkJCQlEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PSIxIg0KLQkJCQlDb21waWxlQXM9IjAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfREVCVUciDQotCQkJCUN1bHR1cmU9IjEwMzEiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9ImltYWdlaGxwLmxpYiBjb21jdGwzMi5saWIiDQotCQkJCU91dHB1dEZpbGU9Ii4uXC4uXGxpYlxkaXN0dXRpbHNcY29tbWFuZC93aW5pbnN0LThfZC5leGUiDQotCQkJCUxpbmtJbmNyZW1lbnRhbD0iMiINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJ0cnVlIg0KLQkJCQlJZ25vcmVEZWZhdWx0TGlicmFyeU5hbWVzPSJMSUJDIg0KLQkJCQlHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb249InRydWUiDQotCQkJCVN1YlN5c3RlbT0iMiINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYkRlcGxveW1lbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JPC9Db25maWd1cmF0aW9ucz4NCi0JPFJlZmVyZW5jZXM+DQotCTwvUmVmZXJlbmNlcz4NCi0JPEZpbGVzPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlNvdXJjZSBGaWxlcyINCi0JCQlGaWx0ZXI9ImNwcDtjO2N4eDtyYztkZWY7cjtvZGw7aWRsO2hwajtiYXQiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iZXh0cmFjdC5jIg0KLQkJCQk+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQkJCT4NCi0JCQkJCTxUb29sDQotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJCQlPcHRpbWl6YXRpb249IjEiDQotCQkJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iIg0KLQkJCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSIiDQotCQkJCQkvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCQkJPg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQkJCU9wdGltaXphdGlvbj0iMCINCi0JCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiDQotCQkJCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IiINCi0JCQkJCQlCcm93c2VJbmZvcm1hdGlvbj0iMSINCi0JCQkJCS8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iaW5zdGFsbC5jIg0KLQkJCQk+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQkJCT4NCi0JCQkJCTxUb29sDQotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJCQlPcHRpbWl6YXRpb249IjEiDQotCQkJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iIg0KLQkJCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSIiDQotCQkJCQkvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCQkJPg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQkJCU9wdGltaXphdGlvbj0iMCINCi0JCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiDQotCQkJCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IiINCi0JCQkJCQlCcm93c2VJbmZvcm1hdGlvbj0iMSINCi0JCQkJCS8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iaW5zdGFsbC5yYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsdGVyDQotCQkJCU5hbWU9InpsaWIiDQotCQkJCT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXGFkbGVyMzIuYyINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJcY3JjMzIuYyINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJcaW5mZmFzdC5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlxpbmZsYXRlLmMiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXGluZnRyZWVzLmMiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXHp1dGlsLmMiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQk8L0ZpbHRlcj4NCi0JCTwvRmlsdGVyPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IkhlYWRlciBGaWxlcyINCi0JCQlGaWx0ZXI9Img7aHBwO2h4eDtobTtpbmwiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iYXJjaGl2ZS5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iUmVzb3VyY2UgRmlsZXMiDQotCQkJRmlsdGVyPSJpY287Y3VyO2JtcDtkbGc7cmMyO3JjdDtiaW47cmdzO2dpZjtqcGc7anBlZztqcGUiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iUHl0aG9uUG93ZXJlZC5ibXAiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JPC9GaWxlcz4NCi0JPEdsb2JhbHM+DQotCTwvR2xvYmFscz4NCi08L1Zpc3VhbFN0dWRpb1Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvUEMvYmRpc3Rfd2luaW5zdC93aW5pbnN0LmRzcCBiL1BDL2JkaXN0X3dpbmluc3Qvd2luaW5zdC5kc3AKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY5ODU1NjkuLjAwMDAwMDAKLS0tIGEvUEMvYmRpc3Rfd2luaW5zdC93aW5pbnN0LmRzcAorKysgL2Rldi9udWxsCkBAIC0xLDEyMyArMCwwIEBACi0jIE1pY3Jvc29mdCBEZXZlbG9wZXIgU3R1ZGlvIFByb2plY3QgRmlsZSAtIE5hbWU9Indpbmluc3QiIC0gUGFja2FnZSBPd25lcj08ND4NCi0jIE1pY3Jvc29mdCBEZXZlbG9wZXIgU3R1ZGlvIEdlbmVyYXRlZCBCdWlsZCBGaWxlLCBGb3JtYXQgVmVyc2lvbiA2LjAwDQotIyAqKiBETyBOT1QgRURJVCAqKg0KLQ0KLSMgVEFSR1RZUEUgIldpbjMyICh4ODYpIEFwcGxpY2F0aW9uIiAweDAxMDENCi0NCi1DRkc9d2luaW5zdCAtIFdpbjMyIERlYnVnDQotIU1FU1NBR0UgVGhpcyBpcyBub3QgYSB2YWxpZCBtYWtlZmlsZS4gVG8gYnVpbGQgdGhpcyBwcm9qZWN0IHVzaW5nIE5NQUtFLA0KLSFNRVNTQUdFIHVzZSB0aGUgRXhwb3J0IE1ha2VmaWxlIGNvbW1hbmQgYW5kIHJ1bg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdFIE5NQUtFIC9mICJ3aW5pbnN0Lm1hayIuDQotIU1FU1NBR0UgDQotIU1FU1NBR0UgWW91IGNhbiBzcGVjaWZ5IGEgY29uZmlndXJhdGlvbiB3aGVuIHJ1bm5pbmcgTk1BS0UNCi0hTUVTU0FHRSBieSBkZWZpbmluZyB0aGUgbWFjcm8gQ0ZHIG9uIHRoZSBjb21tYW5kIGxpbmUuIEZvciBleGFtcGxlOg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdFIE5NQUtFIC9mICJ3aW5pbnN0Lm1hayIgQ0ZHPSJ3aW5pbnN0IC0gV2luMzIgRGVidWciDQotIU1FU1NBR0UgDQotIU1FU1NBR0UgUG9zc2libGUgY2hvaWNlcyBmb3IgY29uZmlndXJhdGlvbiBhcmU6DQotIU1FU1NBR0UgDQotIU1FU1NBR0UgIndpbmluc3QgLSBXaW4zMiBSZWxlYXNlIiAoYmFzZWQgb24gIldpbjMyICh4ODYpIEFwcGxpY2F0aW9uIikNCi0hTUVTU0FHRSAid2luaW5zdCAtIFdpbjMyIERlYnVnIiAoYmFzZWQgb24gIldpbjMyICh4ODYpIEFwcGxpY2F0aW9uIikNCi0hTUVTU0FHRSANCi0NCi0jIEJlZ2luIFByb2plY3QNCi0jIFBST1AgQWxsb3dQZXJDb25maWdEZXBlbmRlbmNpZXMgMA0KLSMgUFJPUCBTY2NfUHJvak5hbWUgIiINCi0jIFBST1AgU2NjX0xvY2FsUGF0aCAiIg0KLUNQUD1jbC5leGUNCi1NVEw9bWlkbC5leGUNCi1SU0M9cmMuZXhlDQotDQotIUlGICAiJChDRkcpIiA9PSAid2luaW5zdCAtIFdpbjMyIFJlbGVhc2UiDQotDQotIyBQUk9QIEJBU0UgVXNlX01GQyAwDQotIyBQUk9QIEJBU0UgVXNlX0RlYnVnX0xpYnJhcmllcyAwDQotIyBQUk9QIEJBU0UgT3V0cHV0X0RpciAiUmVsZWFzZSINCi0jIFBST1AgQkFTRSBJbnRlcm1lZGlhdGVfRGlyICJSZWxlYXNlIg0KLSMgUFJPUCBCQVNFIFRhcmdldF9EaXIgIiINCi0jIFBST1AgVXNlX01GQyAwDQotIyBQUk9QIFVzZV9EZWJ1Z19MaWJyYXJpZXMgMA0KLSMgUFJPUCBPdXRwdXRfRGlyICIuLlwuLlxsaWJcZGlzdHV0aWxzXGNvbW1hbmQiDQotIyBQUk9QIEludGVybWVkaWF0ZV9EaXIgInRlbXAtcmVsZWFzZSINCi0jIFBST1AgSWdub3JlX0V4cG9ydF9MaWIgMA0KLSMgUFJPUCBUYXJnZXRfRGlyICIiDQotIyBBREQgQkFTRSBDUFAgL25vbG9nbyAvVzMgL0dYIC9PMiAvRCAiV0lOMzIiIC9EICJOREVCVUciIC9EICJfV0lORE9XUyIgL0QgIl9NQkNTIiAvWVggL0ZEIC9jDQotIyBBREQgQ1BQIC9ub2xvZ28gL01EIC9XMyAvTzEgL0kgIi4uXC4uXEluY2x1ZGUiIC9JICIuLlwuLlwuLlx6bGliLTEuMi4zIiAvRCAiV0lOMzIiIC9EICJOREVCVUciIC9EICJfV0lORE9XUyIgL0QgIl9NQkNTIiAvWVggL0ZEIC9jDQotIyBBREQgQkFTRSBNVEwgL25vbG9nbyAvRCAiTkRFQlVHIiAvbWt0eXBsaWIyMDMgL3dpbjMyDQotIyBBREQgTVRMIC9ub2xvZ28gL0QgIk5ERUJVRyIgL21rdHlwbGliMjAzIC93aW4zMg0KLSMgQUREIEJBU0UgUlNDIC9sIDB4NDA3IC9kICJOREVCVUciDQotIyBBREQgUlNDIC9sIDB4NDA3IC9kICJOREVCVUciDQotQlNDMzI9YnNjbWFrZS5leGUNCi0jIEFERCBCQVNFIEJTQzMyIC9ub2xvZ28NCi0jIEFERCBCU0MzMiAvbm9sb2dvDQotTElOSzMyPWxpbmsuZXhlDQotIyBBREQgQkFTRSBMSU5LMzIga2VybmVsMzIubGliIHVzZXIzMi5saWIgZ2RpMzIubGliIHdpbnNwb29sLmxpYiBjb21kbGczMi5saWIgYWR2YXBpMzIubGliIHNoZWxsMzIubGliIG9sZTMyLmxpYiBvbGVhdXQzMi5saWIgdXVpZC5saWIgb2RiYzMyLmxpYiBvZGJjY3AzMi5saWIgL25vbG9nbyAvc3Vic3lzdGVtOndpbmRvd3MgL21hY2hpbmU6STM4Ng0KLSMgQUREIExJTkszMiAuLlwuLlwuLlx6bGliLTEuMi4zXHpsaWIubGliIGltYWdlaGxwLmxpYiBjb21kbGczMi5saWIgb2xlMzIubGliIGNvbWN0bDMyLmxpYiBrZXJuZWwzMi5saWIgdXNlcjMyLmxpYiBnZGkzMi5saWIgYWR2YXBpMzIubGliIHNoZWxsMzIubGliIC9ub2xvZ28gL3N1YnN5c3RlbTp3aW5kb3dzIC9tYWNoaW5lOkkzODYgL25vZGVmYXVsdGxpYjoiTElCQyIgL291dDoiLi5cLi5cbGliXGRpc3R1dGlsc1xjb21tYW5kL3dpbmluc3QtNi4wLmV4ZSINCi0NCi0hRUxTRUlGICAiJChDRkcpIiA9PSAid2luaW5zdCAtIFdpbjMyIERlYnVnIg0KLQ0KLSMgUFJPUCBCQVNFIFVzZV9NRkMgMA0KLSMgUFJPUCBCQVNFIFVzZV9EZWJ1Z19MaWJyYXJpZXMgMQ0KLSMgUFJPUCBCQVNFIE91dHB1dF9EaXIgIkRlYnVnIg0KLSMgUFJPUCBCQVNFIEludGVybWVkaWF0ZV9EaXIgIkRlYnVnIg0KLSMgUFJPUCBCQVNFIFRhcmdldF9EaXIgIiINCi0jIFBST1AgVXNlX01GQyAwDQotIyBQUk9QIFVzZV9EZWJ1Z19MaWJyYXJpZXMgMQ0KLSMgUFJPUCBPdXRwdXRfRGlyICIuIg0KLSMgUFJPUCBJbnRlcm1lZGlhdGVfRGlyICJ0ZW1wLWRlYnVnIg0KLSMgUFJPUCBJZ25vcmVfRXhwb3J0X0xpYiAwDQotIyBQUk9QIFRhcmdldF9EaXIgIiINCi0jIEFERCBCQVNFIENQUCAvbm9sb2dvIC9XMyAvR1ggL1pJIC9PZCAvRCAiV0lOMzIiIC9EICJfREVCVUciIC9EICJfV0lORE9XUyIgL0QgIl9NQkNTIiAvWVggL0ZEIC9HWiAvYw0KLSMgQUREIENQUCAvbm9sb2dvIC9NRCAvVzMgL1o3IC9PZCAvSSAiLi5cLi5cSW5jbHVkZSIgL0kgIi4uXC4uXC4uXHpsaWItMS4yLjEiIC9EICJXSU4zMiIgL0QgIl9ERUJVRyIgL0QgIl9XSU5ET1dTIiAvRCAiX01CQ1MiIC9GUiAvWVggL0ZEIC9jDQotIyBBREQgQkFTRSBNVEwgL25vbG9nbyAvRCAiX0RFQlVHIiAvbWt0eXBsaWIyMDMgL3dpbjMyDQotIyBBREQgTVRMIC9ub2xvZ28gL0QgIl9ERUJVRyIgL21rdHlwbGliMjAzIC93aW4zMg0KLSMgQUREIEJBU0UgUlNDIC9sIDB4NDA3IC9kICJfREVCVUciDQotIyBBREQgUlNDIC9sIDB4NDA3IC9kICJfREVCVUciDQotQlNDMzI9YnNjbWFrZS5leGUNCi0jIEFERCBCQVNFIEJTQzMyIC9ub2xvZ28NCi0jIEFERCBCU0MzMiAvbm9sb2dvDQotTElOSzMyPWxpbmsuZXhlDQotIyBBREQgQkFTRSBMSU5LMzIga2VybmVsMzIubGliIHVzZXIzMi5saWIgZ2RpMzIubGliIHdpbnNwb29sLmxpYiBjb21kbGczMi5saWIgYWR2YXBpMzIubGliIHNoZWxsMzIubGliIG9sZTMyLmxpYiBvbGVhdXQzMi5saWIgdXVpZC5saWIgb2RiYzMyLmxpYiBvZGJjY3AzMi5saWIgL25vbG9nbyAvc3Vic3lzdGVtOndpbmRvd3MgL2RlYnVnIC9tYWNoaW5lOkkzODYgL3BkYnR5cGU6c2VwdA0KLSMgQUREIExJTkszMiAuLlwuLlwuLlx6bGliLTEuMi4zXHpsaWIubGliIGltYWdlaGxwLmxpYiBjb21kbGczMi5saWIgb2xlMzIubGliIGNvbWN0bDMyLmxpYiBrZXJuZWwzMi5saWIgdXNlcjMyLmxpYiBnZGkzMi5saWIgYWR2YXBpMzIubGliIHNoZWxsMzIubGliIC9ub2xvZ28gL3N1YnN5c3RlbTp3aW5kb3dzIC9wZGI6bm9uZSAvZGVidWcgL21hY2hpbmU6STM4NiAvbm9kZWZhdWx0bGliOiJMSUJDIiAvb3V0OiIuLlwuLlxsaWJcZGlzdHV0aWxzXGNvbW1hbmQvd2luaW5zdC02LjBfZC5leGUiDQotDQotIUVORElGIA0KLQ0KLSMgQmVnaW4gVGFyZ2V0DQotDQotIyBOYW1lICJ3aW5pbnN0IC0gV2luMzIgUmVsZWFzZSINCi0jIE5hbWUgIndpbmluc3QgLSBXaW4zMiBEZWJ1ZyINCi0jIEJlZ2luIEdyb3VwICJTb3VyY2UgRmlsZXMiDQotDQotIyBQUk9QIERlZmF1bHRfRmlsdGVyICJjcHA7YztjeHg7cmM7ZGVmO3I7b2RsO2lkbDtocGo7YmF0Ig0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9LlxleHRyYWN0LmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9LlxpbnN0YWxsLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9LlxpbnN0YWxsLnJjDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEVuZCBHcm91cA0KLSMgQmVnaW4gR3JvdXAgIkhlYWRlciBGaWxlcyINCi0NCi0jIFBST1AgRGVmYXVsdF9GaWx0ZXIgImg7aHBwO2h4eDtobTtpbmwiDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uXGFyY2hpdmUuaA0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBFbmQgR3JvdXANCi0jIEJlZ2luIEdyb3VwICJSZXNvdXJjZSBGaWxlcyINCi0NCi0jIFBST1AgRGVmYXVsdF9GaWx0ZXIgImljbztjdXI7Ym1wO2RsZztyYzI7cmN0O2JpbjtyZ3M7Z2lmO2pwZztqcGVnO2pwZSINCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS5cUHl0aG9uUG93ZXJlZC5ibXANCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgRW5kIEdyb3VwDQotIyBFbmQgVGFyZ2V0DQotIyBFbmQgUHJvamVjdA0KZGlmZiAtLWdpdCBhL1BDL2JkaXN0X3dpbmluc3Qvd2luaW5zdC5kc3cgYi9QQy9iZGlzdF93aW5pbnN0L3dpbmluc3QuZHN3CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmYmM2NmFhLi4wMDAwMDAwCi0tLSBhL1BDL2JkaXN0X3dpbmluc3Qvd2luaW5zdC5kc3cKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi1NaWNyb3NvZnQgRGV2ZWxvcGVyIFN0dWRpbyBXb3Jrc3BhY2UgRmlsZSwgRm9ybWF0IFZlcnNpb24gNi4wMA0KLSMgV0FSTklORzogRE8gTk9UIEVESVQgT1IgREVMRVRFIFRISVMgV09SS1NQQUNFIEZJTEUhDQotDQotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KLQ0KLVByb2plY3Q6ICJ3aW5pbnN0Ij0uXHdpbmluc3QuZHNwIC0gUGFja2FnZSBPd25lcj08ND4NCi0NCi1QYWNrYWdlPTw1Pg0KLXt7ew0KLX19fQ0KLQ0KLVBhY2thZ2U9PDQ+DQote3t7DQotfX19DQotDQotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KLQ0KLUdsb2JhbDoNCi0NCi1QYWNrYWdlPTw1Pg0KLXt7ew0KLX19fQ0KLQ0KLVBhY2thZ2U9PDM+DQote3t7DQotfX19DQotDQotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KLQ0KZGlmZiAtLWdpdCBhL1BDL2NvbmZpZy5jIGIvUEMvY29uZmlnLmMKaW5kZXggNzJjOTM4MS4uNDhkYmNjMCAxMDA2NDQKLS0tIGEvUEMvY29uZmlnLmMKKysrIGIvUEMvY29uZmlnLmMKQEAgLTE5LDcgKzE5LDcgQEAKIGV4dGVybiBQeU9iamVjdCogUHlJbml0X19tZDUodm9pZCk7CiBleHRlcm4gUHlPYmplY3QqIFB5SW5pdF9udCh2b2lkKTsKIGV4dGVybiBQeU9iamVjdCogUHlJbml0X19vcGVyYXRvcih2b2lkKTsKLWV4dGVybiBQeU9iamVjdCogUHlJbml0X3NpZ25hbCh2b2lkKTsKK2V4dGVybiBQeU9iamVjdCogUHlJbml0X19zaWduYWwodm9pZCk7CiBleHRlcm4gUHlPYmplY3QqIFB5SW5pdF9fc2hhMSh2b2lkKTsKIGV4dGVybiBQeU9iamVjdCogUHlJbml0X19zaGEyNTYodm9pZCk7CiBleHRlcm4gUHlPYmplY3QqIFB5SW5pdF9fc2hhNTEyKHZvaWQpOwpAQCAtOTEsNyArOTEsNyBAQAogICAgIHsibWF0aCIsIFB5SW5pdF9tYXRofSwKICAgICB7Im50IiwgUHlJbml0X250fSwgLyogVXNlIHRoZSBOVCBvcyBmdW5jdGlvbnMsIG5vdCBwb3NpeCAqLwogICAgIHsiX29wZXJhdG9yIiwgUHlJbml0X19vcGVyYXRvcn0sCi0gICAgeyJzaWduYWwiLCBQeUluaXRfc2lnbmFsfSwKKyAgICB7Il9zaWduYWwiLCBQeUluaXRfX3NpZ25hbH0sCiAgICAgeyJfbWQ1IiwgUHlJbml0X19tZDV9LAogICAgIHsiX3NoYTEiLCBQeUluaXRfX3NoYTF9LAogICAgIHsiX3NoYTI1NiIsIFB5SW5pdF9fc2hhMjU2fSwKZGlmZiAtLWdpdCBhL1BDL2RsX250LmMgYi9QQy9kbF9udC5jCmluZGV4IGFlMTBmYjUuLmM4N2M1MWUgMTAwNjQ0Ci0tLSBhL1BDL2RsX250LmMKKysrIGIvUEMvZGxfbnQuYwpAQCAtMTIsNyArMTIsMTIgQEAKICNpbmNsdWRlICJ3aW5kb3dzLmgiCiAKICNpZmRlZiBQeV9FTkFCTEVfU0hBUkVECisjaWZkZWYgTVNfRExMX0lECisvLyBUaGUgc3RyaW5nIGlzIGF2YWlsYWJsZSBhdCBidWlsZCwgc28gZmlsbCB0aGUgYnVmZmVyIGltbWVkaWF0ZWx5CitjaGFyIGRsbFZlcnNpb25CdWZmZXJbMTZdID0gTVNfRExMX0lEOworI2Vsc2UKIGNoYXIgZGxsVmVyc2lvbkJ1ZmZlclsxNl0gPSAiIjsgLy8gYSBwcml2YXRlIGJ1ZmZlcgorI2VuZGlmCiAKIC8vIFB5dGhvbiBHbG9iYWxzCiBITU9EVUxFIFB5V2luX0RMTGhNb2R1bGUgPSBOVUxMOwpAQCAtODgsOCArOTMsMTEgQEAKICAgICB7CiAgICAgICAgIGNhc2UgRExMX1BST0NFU1NfQVRUQUNIOgogICAgICAgICAgICAgUHlXaW5fRExMaE1vZHVsZSA9IGhJbnN0OworI2lmbmRlZiBNU19ETExfSUQKKyAgICAgICAgICAgIC8vIElmIHdlIGhhdmUgTVNfRExMX0lELCB3ZSBkb24ndCBuZWVkIHRvIGxvYWQgdGhlIHN0cmluZy4KICAgICAgICAgICAgIC8vIDEwMDAgaXMgYSBtYWdpYyBudW1iZXIgSSBwaWNrZWQgb3V0IG9mIHRoZSBhaXIuICBDb3VsZCBkbyB3aXRoIGEgI2RlZmluZSwgSSBzcG9zZS4uLgogICAgICAgICAgICAgTG9hZFN0cmluZyhoSW5zdCwgMTAwMCwgZGxsVmVyc2lvbkJ1ZmZlciwgc2l6ZW9mKGRsbFZlcnNpb25CdWZmZXIpKTsKKyNlbmRpZgogCiAjaWYgSEFWRV9TWFMKICAgICAgICAgICAgIC8vIGFuZCBjYXB0dXJlIG91ciBhY3RpdmF0aW9uIGNvbnRleHQgZm9yIHVzZSB3aGVuIGxvYWRpbmcgZXh0ZW5zaW9ucy4KZGlmZiAtLWdpdCBhL1BDL2V4YW1wbGVfbnQvZXhhbXBsZS52Y3Byb2ogYi9QQy9leGFtcGxlX250L2V4YW1wbGUudmNwcm9qCmluZGV4IGRmMzYzNDEuLmQ4MmY3NmUgMTAwNjQ0Ci0tLSBhL1BDL2V4YW1wbGVfbnQvZXhhbXBsZS52Y3Byb2oKKysrIGIvUEMvZXhhbXBsZV9udC9leGFtcGxlLnZjcHJvagpAQCAtMzksNyArMzksNyBAQAogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KIAkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iL2V4cG9ydDppbml0ZXhhbXBsZSINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0ib2RiYzMyLmxpYiBvZGJjY3AzMi5saWIgcHl0aG9uMzQubGliIg0KKwkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJvZGJjMzIubGliIG9kYmNjcDMyLmxpYiBweXRob24zNS5saWIiDQogCQkJCU91dHB1dEZpbGU9Ii5cUmVsZWFzZS9leGFtcGxlLnB5ZCINCiAJCQkJTGlua0luY3JlbWVudGFsPSIxIg0KIAkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQpAQCAtMTA1LDcgKzEwNSw3IEBACiAJCQk8VG9vbA0KIAkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQogCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIvZXhwb3J0OmluaXRleGFtcGxlIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJvZGJjMzIubGliIG9kYmNjcDMyLmxpYiBweXRob24zNF9kLmxpYiINCisJCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0ib2RiYzMyLmxpYiBvZGJjY3AzMi5saWIgcHl0aG9uMzVfZC5saWIiDQogCQkJCU91dHB1dEZpbGU9Ii5cRGVidWcvZXhhbXBsZV9kLnB5ZCINCiAJCQkJTGlua0luY3JlbWVudGFsPSIxIg0KIAkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQpkaWZmIC0tZ2l0IGEvUEMvbGF1bmNoZXIuYyBiL1BDL2xhdW5jaGVyLmMKaW5kZXggZWUzY2Q0NC4uZDQ1MGQ5ZiAxMDA2NDQKLS0tIGEvUEMvbGF1bmNoZXIuYworKysgYi9QQy9sYXVuY2hlci5jCkBAIC04NywxMyArODcsMTMgQEAKICAgICBpZiAocmMgPT0gMCkgeyAgLyogYSBXaW5kb3dzIGVycm9yICovCiAgICAgICAgIHdpbmVycm9yKEdldExhc3RFcnJvcigpLCB3aW5fbWVzc2FnZSwgTVNHU0laRSk7CiAgICAgICAgIGlmIChsZW4gPj0gMCkgewotICAgICAgICAgICAgX3Nud3ByaW50Zl9zKCZtZXNzYWdlW2xlbl0sIE1TR1NJWkUgLSBsZW4sIF9UUlVOQ0FURSwgTCI6ICVzIiwKKyAgICAgICAgICAgIF9zbndwcmludGZfcygmbWVzc2FnZVtsZW5dLCBNU0dTSVpFIC0gbGVuLCBfVFJVTkNBVEUsIEwiOiAlbHMiLAogICAgICAgICAgICAgICAgICAgICAgICAgIHdpbl9tZXNzYWdlKTsKICAgICAgICAgfQogICAgIH0KIAogI2lmICFkZWZpbmVkKF9XSU5ET1dTKQotICAgIGZ3cHJpbnRmKHN0ZGVyciwgTCIlc1xuIiwgbWVzc2FnZSk7CisgICAgZndwcmludGYoc3RkZXJyLCBMIiVsc1xuIiwgbWVzc2FnZSk7CiAjZWxzZQogICAgIE1lc3NhZ2VCb3goTlVMTCwgbWVzc2FnZSwgVEVYVCgiUHl0aG9uIExhdW5jaGVyIGlzIHNvcnJ5IHRvIHNheSAuLi4iKSwKICAgICAgICAgICAgICAgIE1CX09LKTsgCkBAIC0xNTcsMTQgKzE1NywxOSBAQAogCiBzdGF0aWMgc2l6ZV90IG51bV9pbnN0YWxsZWRfcHl0aG9ucyA9IDA7CiAKLS8qIHRvIGhvbGQgU09GVFdBUkVcUHl0aG9uXFB5dGhvbkNvcmVcWC5ZXEluc3RhbGxQYXRoICovCisvKgorICogVG8gaG9sZCBTT0ZUV0FSRVxQeXRob25cUHl0aG9uQ29yZVxYLlkuLi5cSW5zdGFsbFBhdGgKKyAqIFRoZSB2ZXJzaW9uIG5hbWUgY2FuIGJlIGxvbmdlciB0aGFuIE1BWF9WRVJTSU9OX1NJWkUsIGJ1dCB3aWxsIGJlCisgKiB0cnVuY2F0ZWQgdG8ganVzdCBYLlkgZm9yIGNvbXBhcmlzb25zLgorICovCiAjZGVmaW5lIElQX0JBU0VfU0laRSA0MAotI2RlZmluZSBJUF9TSVpFIChJUF9CQVNFX1NJWkUgKyBNQVhfVkVSU0lPTl9TSVpFKQorI2RlZmluZSBJUF9WRVJTSU9OX1NJWkUgOAorI2RlZmluZSBJUF9TSVpFIChJUF9CQVNFX1NJWkUgKyBJUF9WRVJTSU9OX1NJWkUpCiAjZGVmaW5lIENPUkVfUEFUSCBMIlNPRlRXQVJFXFxQeXRob25cXFB5dGhvbkNvcmUiCiAKIHN0YXRpYyB3Y2hhcl90ICogbG9jYXRpb25fY2hlY2tzW10gPSB7CiAgICAgTCJcXCIsCi0gICAgTCJcXFBDQnVpbGRcXCIsCisgICAgTCJcXFBDQnVpbGRcXHdpbjMyXFwiLAogICAgIEwiXFxQQ0J1aWxkXFxhbWQ2NFxcIiwKICAgICBOVUxMCiB9OwpAQCAtMTk2LDM1ICsyMDEsMzggQEAKICAgICBCT09MIG9rOwogICAgIERXT1JEIHR5cGUsIGRhdGFfc2l6ZSwgYXR0cnM7CiAgICAgSU5TVEFMTEVEX1BZVEhPTiAqIGlwLCAqIHBpcDsKKyAgICB3Y2hhcl90IGlwX3ZlcnNpb25bSVBfVkVSU0lPTl9TSVpFXTsKICAgICB3Y2hhcl90IGlwX3BhdGhbSVBfU0laRV07CiAgICAgd2NoYXJfdCAqIGNoZWNrOwogICAgIHdjaGFyX3QgKiogY2hlY2twOwogICAgIHdjaGFyX3QgKmtleV9uYW1lID0gKHJvb3QgPT0gSEtFWV9MT0NBTF9NQUNISU5FKSA/IEwiSEtMTSIgOiBMIkhLQ1UiOwogCiAgICAgaWYgKHN0YXR1cyAhPSBFUlJPUl9TVUNDRVNTKQotICAgICAgICBkZWJ1ZyhMImxvY2F0ZV9weXRob25zX2Zvcl9rZXk6IHVuYWJsZSB0byBvcGVuIFB5dGhvbkNvcmUga2V5IGluICVzXG4iLAorICAgICAgICBkZWJ1ZyhMImxvY2F0ZV9weXRob25zX2Zvcl9rZXk6IHVuYWJsZSB0byBvcGVuIFB5dGhvbkNvcmUga2V5IGluICVsc1xuIiwKICAgICAgICAgICAgICAga2V5X25hbWUpOwogICAgIGVsc2UgewogICAgICAgICBpcCA9ICZpbnN0YWxsZWRfcHl0aG9uc1tudW1faW5zdGFsbGVkX3B5dGhvbnNdOwogICAgICAgICBmb3IgKGkgPSAwOyBudW1faW5zdGFsbGVkX3B5dGhvbnMgPCBNQVhfSU5TVEFMTEVEX1BZVEhPTlM7IGkrKykgewotICAgICAgICAgICAgc3RhdHVzID0gUmVnRW51bUtleVcoY29yZV9yb290LCBpLCBpcC0+dmVyc2lvbiwgTUFYX1ZFUlNJT05fU0laRSk7CisgICAgICAgICAgICBzdGF0dXMgPSBSZWdFbnVtS2V5Vyhjb3JlX3Jvb3QsIGksIGlwX3ZlcnNpb24sIElQX1ZFUlNJT05fU0laRSk7CiAgICAgICAgICAgICBpZiAoc3RhdHVzICE9IEVSUk9SX1NVQ0NFU1MpIHsKICAgICAgICAgICAgICAgICBpZiAoc3RhdHVzICE9IEVSUk9SX05PX01PUkVfSVRFTVMpIHsKICAgICAgICAgICAgICAgICAgICAgLyogdW5leHBlY3RlZCBlcnJvciAqLwogICAgICAgICAgICAgICAgICAgICB3aW5lcnJvcihzdGF0dXMsIG1lc3NhZ2UsIE1TR1NJWkUpOwotICAgICAgICAgICAgICAgICAgICBkZWJ1ZyhMIkNhbid0IGVudW1lcmF0ZSByZWdpc3RyeSBrZXkgZm9yIHZlcnNpb24gJXM6ICVzXG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgICBpcC0+dmVyc2lvbiwgbWVzc2FnZSk7CisgICAgICAgICAgICAgICAgICAgIGRlYnVnKEwiQ2FuJ3QgZW51bWVyYXRlIHJlZ2lzdHJ5IGtleSBmb3IgdmVyc2lvbiAlbHM6ICVsc1xuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaXBfdmVyc2lvbiwgbWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgd2NzbmNweV9zKGlwLT52ZXJzaW9uLCBNQVhfVkVSU0lPTl9TSVpFLCBpcF92ZXJzaW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICBNQVhfVkVSU0lPTl9TSVpFLTEpOwogICAgICAgICAgICAgICAgIF9zbndwcmludGZfcyhpcF9wYXRoLCBJUF9TSVpFLCBfVFJVTkNBVEUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIEwiJXNcXCVzXFxJbnN0YWxsUGF0aCIsIENPUkVfUEFUSCwgaXAtPnZlcnNpb24pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMIiVsc1xcJWxzXFxJbnN0YWxsUGF0aCIsIENPUkVfUEFUSCwgaXBfdmVyc2lvbik7CiAgICAgICAgICAgICAgICAgc3RhdHVzID0gUmVnT3BlbktleUV4Vyhyb290LCBpcF9wYXRoLCAwLCBmbGFncywgJmlwX2tleSk7CiAgICAgICAgICAgICAgICAgaWYgKHN0YXR1cyAhPSBFUlJPUl9TVUNDRVNTKSB7CiAgICAgICAgICAgICAgICAgICAgIHdpbmVycm9yKHN0YXR1cywgbWVzc2FnZSwgTVNHU0laRSk7CiAgICAgICAgICAgICAgICAgICAgIC8vIE5vdGU6ICdtZXNzYWdlJyBhbHJlYWR5IGhhcyBhIHRyYWlsaW5nIFxuCi0gICAgICAgICAgICAgICAgICAgIGRlYnVnKEwiJXNcXCVzOiAlcyIsIGtleV9uYW1lLCBpcF9wYXRoLCBtZXNzYWdlKTsKKyAgICAgICAgICAgICAgICAgICAgZGVidWcoTCIlbHNcXCVsczogJWxzIiwga2V5X25hbWUsIGlwX3BhdGgsIG1lc3NhZ2UpOwogICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgZGF0YV9zaXplID0gc2l6ZW9mKGlwLT5leGVjdXRhYmxlKSAtIDE7CkBAIC0yMzMsNyArMjQxLDcgQEAKICAgICAgICAgICAgICAgICBSZWdDbG9zZUtleShpcF9rZXkpOwogICAgICAgICAgICAgICAgIGlmIChzdGF0dXMgIT0gRVJST1JfU1VDQ0VTUykgewogICAgICAgICAgICAgICAgICAgICB3aW5lcnJvcihzdGF0dXMsIG1lc3NhZ2UsIE1TR1NJWkUpOwotICAgICAgICAgICAgICAgICAgICBkZWJ1ZyhMIiVzXFwlczogJXNcbiIsIGtleV9uYW1lLCBpcF9wYXRoLCBtZXNzYWdlKTsKKyAgICAgICAgICAgICAgICAgICAgZGVidWcoTCIlbHNcXCVsczogJWxzXG4iLCBrZXlfbmFtZSwgaXBfcGF0aCwgbWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBpZiAodHlwZSA9PSBSRUdfU1opIHsKQEAgLTI0NiwyNyArMjU0LDI3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICBfc253cHJpbnRmX3MoJmlwLT5leGVjdXRhYmxlW2RhdGFfc2l6ZV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUFYX1BBVEggLSBkYXRhX3NpemUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUFYX1BBVEggLSBkYXRhX3NpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTCIlcyVzIiwgY2hlY2ssIFBZVEhPTl9FWEVDVVRBQkxFKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMIiVscyVscyIsIGNoZWNrLCBQWVRIT05fRVhFQ1VUQUJMRSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBhdHRycyA9IEdldEZpbGVBdHRyaWJ1dGVzVyhpcC0+ZXhlY3V0YWJsZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXR0cnMgPT0gSU5WQUxJRF9GSUxFX0FUVFJJQlVURVMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW5lcnJvcihHZXRMYXN0RXJyb3IoKSwgbWVzc2FnZSwgTVNHU0laRSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVidWcoTCJsb2NhdGVfcHl0aG9uc19mb3Jfa2V5OiAlczogJXMiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnKEwibG9jYXRlX3B5dGhvbnNfZm9yX2tleTogJWxzOiAlbHMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlwLT5leGVjdXRhYmxlLCBtZXNzYWdlKTsKICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGF0dHJzICYgRklMRV9BVFRSSUJVVEVfRElSRUNUT1JZKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVidWcoTCJsb2NhdGVfcHl0aG9uc19mb3Jfa2V5OiAnJXMnIGlzIGEgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnKEwibG9jYXRlX3B5dGhvbnNfZm9yX2tleTogJyVscycgaXMgYSBcCiBkaXJlY3RvcnlcbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXAtPmV4ZWN1dGFibGUsIGF0dHJzKTsKICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGZpbmRfZXhpc3RpbmdfcHl0aG9uKGlwLT5leGVjdXRhYmxlKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnKEwibG9jYXRlX3B5dGhvbnNfZm9yX2tleTogJXM6IGFscmVhZHkgXAotZm91bmQ6ICVzXG4iLCBpcC0+ZXhlY3V0YWJsZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVidWcoTCJsb2NhdGVfcHl0aG9uc19mb3Jfa2V5OiAlbHM6IGFscmVhZHkgXAorZm91bmQ6ICVsc1xuIiwgaXAtPmV4ZWN1dGFibGUpOwogICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogY2hlY2sgdGhlIGV4ZWN1dGFibGUgdHlwZS4gKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvayA9IEdldEJpbmFyeVR5cGVXKGlwLT5leGVjdXRhYmxlLCAmYXR0cnMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghb2spIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVidWcoTCJGYWlsdXJlIGdldHRpbmcgYmluYXJ5IHR5cGU6ICVzXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1ZyhMIkZhaWx1cmUgZ2V0dGluZyBiaW5hcnkgdHlwZTogJWxzXG4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpcC0+ZXhlY3V0YWJsZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgewpAQCAtMjc3LDcgKzI4NSw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlwLT5iaXRzID0gMDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlwLT5iaXRzID09IDApIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnKEwibG9jYXRlX3B5dGhvbnNfZm9yX2tleTogJXM6IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnKEwibG9jYXRlX3B5dGhvbnNfZm9yX2tleTogJWxzOiBcCiBpbnZhbGlkIGJpbmFyeSB0eXBlOiAlWFxuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlwLT5leGVjdXRhYmxlLCBhdHRycyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KQEAgLTI5MSw3ICsyOTksNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlwLT5leGVjdXRhYmxlW24gKyAxXSA9IEwnXCInOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlwLT5leGVjdXRhYmxlW24gKyAyXSA9IEwnXDAnOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVidWcoTCJsb2NhdGVfcHl0aG9uc19mb3Jfa2V5OiAlcyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1ZyhMImxvY2F0ZV9weXRob25zX2Zvcl9rZXk6ICVscyBcCiBpcyBhICVkYml0IGV4ZWN1dGFibGVcbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXAtPmV4ZWN1dGFibGUsIGlwLT5iaXRzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsrbnVtX2luc3RhbGxlZF9weXRob25zOwpAQCAtMzk3LDcgKzQwNSw3IEBACiAgICAgRFdPUkQgc2l6ZTsKIAogICAgIC8qIEZpcnN0LCBzZWFyY2ggdGhlIGVudmlyb25tZW50LiAqLwotICAgIF9zbndwcmludGZfcyhjb25maWd1cmVkX3ZhbHVlLCBNU0dTSVpFLCBfVFJVTkNBVEUsIEwicHlfJXMiLCBrZXkpOworICAgIF9zbndwcmludGZfcyhjb25maWd1cmVkX3ZhbHVlLCBNU0dTSVpFLCBfVFJVTkNBVEUsIEwicHlfJWxzIiwga2V5KTsKICAgICByZXN1bHQgPSBnZXRfZW52KGNvbmZpZ3VyZWRfdmFsdWUpOwogICAgIGlmIChyZXN1bHQgPT0gTlVMTCAmJiBhcHBkYXRhX2luaV9wYXRoWzBdKSB7CiAgICAgICAgIC8qIE5vdCBpbiBlbnZpcm9ubWVudDogY2hlY2sgbG9jYWwgY29uZmlndXJhdGlvbi4gKi8KQEAgLTQyMCwxMCArNDI4LDEwIEBACiAgICAgICAgIH0KICAgICB9CiAgICAgaWYgKHJlc3VsdCkgewotICAgICAgICBkZWJ1ZyhMImZvdW5kIGNvbmZpZ3VyZWQgdmFsdWUgJyVzPSVzJyBpbiAlc1xuIiwKKyAgICAgICAgZGVidWcoTCJmb3VuZCBjb25maWd1cmVkIHZhbHVlICclbHM9JWxzJyBpbiAlbHNcbiIsCiAgICAgICAgICAgICAgIGtleSwgcmVzdWx0LCBmb3VuZF9pbiA/IGZvdW5kX2luIDogTCIodW5rbm93bikiKTsKICAgICB9IGVsc2UgewotICAgICAgICBkZWJ1ZyhMImZvdW5kIG5vIGNvbmZpZ3VyZWQgdmFsdWUgZm9yICclcydcbiIsIGtleSk7CisgICAgICAgIGRlYnVnKEwiZm91bmQgbm8gY29uZmlndXJlZCB2YWx1ZSBmb3IgJyVscydcbiIsIGtleSk7CiAgICAgfQogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC00NDksOSArNDU3LDkgQEAKICAgICB9CiAgICAgaWYgKCp3YW50ZWRfdmVyKSB7CiAgICAgICAgIHJlc3VsdCA9IGZpbmRfcHl0aG9uX2J5X3ZlcnNpb24od2FudGVkX3Zlcik7Ci0gICAgICAgIGRlYnVnKEwic2VhcmNoIGZvciBQeXRob24gdmVyc2lvbiAnJXMnIGZvdW5kICIsIHdhbnRlZF92ZXIpOworICAgICAgICBkZWJ1ZyhMInNlYXJjaCBmb3IgUHl0aG9uIHZlcnNpb24gJyVscycgZm91bmQgIiwgd2FudGVkX3Zlcik7CiAgICAgICAgIGlmIChyZXN1bHQpIHsKLSAgICAgICAgICAgIGRlYnVnKEwiJyVzJ1xuIiwgcmVzdWx0LT5leGVjdXRhYmxlKTsKKyAgICAgICAgICAgIGRlYnVnKEwiJyVscydcbiIsIHJlc3VsdC0+ZXhlY3V0YWJsZSk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBkZWJ1ZyhMIm5vIGludGVycHJldGVyXG4iKTsKICAgICAgICAgfQpAQCAtNDY3LDcgKzQ3NSw3IEBACiAgICAgICAgICAgICByZXN1bHQgPSBmaW5kX3B5dGhvbl9ieV92ZXJzaW9uKEwiMyIpOwogICAgICAgICBkZWJ1ZyhMInNlYXJjaCBmb3IgZGVmYXVsdCBQeXRob24gZm91bmQgIik7CiAgICAgICAgIGlmIChyZXN1bHQpIHsKLSAgICAgICAgICAgIGRlYnVnKEwidmVyc2lvbiAlcyBhdCAnJXMnXG4iLAorICAgICAgICAgICAgZGVidWcoTCJ2ZXJzaW9uICVscyBhdCAnJWxzJ1xuIiwKICAgICAgICAgICAgICAgICAgIHJlc3VsdC0+dmVyc2lvbiwgcmVzdWx0LT5leGVjdXRhYmxlKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIGRlYnVnKEwibm8gaW50ZXJwcmV0ZXJcbiIpOwpAQCAtNTA1LDE5ICs1MTMsMTkgQEAKICAgICBwbGVuID0gR2V0TW9kdWxlRmlsZU5hbWVXKE5VTEwsIHdyYXBwZWRfc2NyaXB0X3BhdGgsIE1BWF9QQVRIKTsKICAgICBwID0gd2NzcmNocih3cmFwcGVkX3NjcmlwdF9wYXRoLCBMJy4nKTsKICAgICBpZiAocCA9PSBOVUxMKSB7Ci0gICAgICAgIGRlYnVnKEwiR2V0TW9kdWxlRmlsZU5hbWVXIHJldHVybmVkIHZhbHVlIGhhcyBubyBleHRlbnNpb246ICVzXG4iLAorICAgICAgICBkZWJ1ZyhMIkdldE1vZHVsZUZpbGVOYW1lVyByZXR1cm5lZCB2YWx1ZSBoYXMgbm8gZXh0ZW5zaW9uOiAlbHNcbiIsCiAgICAgICAgICAgICAgIHdyYXBwZWRfc2NyaXB0X3BhdGgpOwotICAgICAgICBlcnJvcihSQ19OT19TQ1JJUFQsIEwiV3JhcHBlciBuYW1lICclcycgaXMgbm90IHZhbGlkLiIsIHdyYXBwZWRfc2NyaXB0X3BhdGgpOworICAgICAgICBlcnJvcihSQ19OT19TQ1JJUFQsIEwiV3JhcHBlciBuYW1lICclbHMnIGlzIG5vdCB2YWxpZC4iLCB3cmFwcGVkX3NjcmlwdF9wYXRoKTsKICAgICB9CiAKICAgICB3Y3NuY3B5X3MocCwgTUFYX1BBVEggLSAocCAtIHdyYXBwZWRfc2NyaXB0X3BhdGgpICsgMSwgU0NSSVBUX1NVRkZJWCwgX1RSVU5DQVRFKTsKICAgICBhdHRycyA9IEdldEZpbGVBdHRyaWJ1dGVzVyh3cmFwcGVkX3NjcmlwdF9wYXRoKTsKICAgICBpZiAoYXR0cnMgPT0gSU5WQUxJRF9GSUxFX0FUVFJJQlVURVMpIHsKLSAgICAgICAgZGVidWcoTCJGaWxlICclcycgbm9uLWV4aXN0ZW50XG4iLCB3cmFwcGVkX3NjcmlwdF9wYXRoKTsKLSAgICAgICAgZXJyb3IoUkNfTk9fU0NSSVBULCBMIlNjcmlwdCBmaWxlICclcycgaXMgbm90IHByZXNlbnQuIiwgd3JhcHBlZF9zY3JpcHRfcGF0aCk7CisgICAgICAgIGRlYnVnKEwiRmlsZSAnJWxzJyBub24tZXhpc3RlbnRcbiIsIHdyYXBwZWRfc2NyaXB0X3BhdGgpOworICAgICAgICBlcnJvcihSQ19OT19TQ1JJUFQsIEwiU2NyaXB0IGZpbGUgJyVscycgaXMgbm90IHByZXNlbnQuIiwgd3JhcHBlZF9zY3JpcHRfcGF0aCk7CiAgICAgfQogCi0gICAgZGVidWcoTCJVc2luZyB3cmFwcGVkIHNjcmlwdCBmaWxlICclcydcbiIsIHdyYXBwZWRfc2NyaXB0X3BhdGgpOworICAgIGRlYnVnKEwiVXNpbmcgd3JhcHBlZCBzY3JpcHQgZmlsZSAnJWxzJ1xuIiwgd3JhcHBlZF9zY3JpcHRfcGF0aCk7CiB9CiAjZW5kaWYKIApAQCAtNTc5LDcgKzU4Nyw3IEBACiAgICAgR2V0TWVzc2FnZSgmbXNnLCAwLCAwLCAwKTsKICNlbmRpZgogCi0gICAgZGVidWcoTCJydW5fY2hpbGQ6IGFib3V0IHRvIHJ1biAnJXMnXG4iLCBjbWRsaW5lKTsKKyAgICBkZWJ1ZyhMInJ1bl9jaGlsZDogYWJvdXQgdG8gcnVuICclbHMnXG4iLCBjbWRsaW5lKTsKICAgICBqb2IgPSBDcmVhdGVKb2JPYmplY3QoTlVMTCwgTlVMTCk7CiAgICAgb2sgPSBRdWVyeUluZm9ybWF0aW9uSm9iT2JqZWN0KGpvYiwgSm9iT2JqZWN0RXh0ZW5kZWRMaW1pdEluZm9ybWF0aW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZpbmZvLCBzaXplb2YoaW5mbyksICZyYyk7CkBAIC02MTEsNyArNjE5LDcgQEAKICAgICBvayA9IENyZWF0ZVByb2Nlc3NXKE5VTEwsIGNtZGxpbmUsIE5VTEwsIE5VTEwsIFRSVUUsCiAgICAgICAgICAgICAgICAgICAgICAgICAwLCBOVUxMLCBOVUxMLCAmc2ksICZwaSk7CiAgICAgaWYgKCFvaykKLSAgICAgICAgZXJyb3IoUkNfQ1JFQVRFX1BST0NFU1MsIEwiVW5hYmxlIHRvIGNyZWF0ZSBwcm9jZXNzIHVzaW5nICclcyciLCBjbWRsaW5lKTsKKyAgICAgICAgZXJyb3IoUkNfQ1JFQVRFX1BST0NFU1MsIEwiVW5hYmxlIHRvIGNyZWF0ZSBwcm9jZXNzIHVzaW5nICclbHMnIiwgY21kbGluZSk7CiAgICAgQXNzaWduUHJvY2Vzc1RvSm9iT2JqZWN0KGpvYiwgcGkuaFByb2Nlc3MpOwogICAgIENsb3NlSGFuZGxlKHBpLmhUaHJlYWQpOwogICAgIFdhaXRGb3JTaW5nbGVPYmplY3RFeChwaS5oUHJvY2VzcywgSU5GSU5JVEUsIEZBTFNFKTsKQEAgLTY0OCwxMSArNjU2LDExIEBACiAgICAgICAgICAgICAgICAgICBjaGlsZF9jb21tYW5kX3NpemUpOwogICAgICAgICBpZiAobm9fc3VmZml4KQogICAgICAgICAgICAgX3Nud3ByaW50Zl9zKGNoaWxkX2NvbW1hbmQsIGNoaWxkX2NvbW1hbmRfc2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZF9jb21tYW5kX3NpemUgLSAxLCBMIiVzICVzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZF9jb21tYW5kX3NpemUgLSAxLCBMIiVscyAlbHMiLAogICAgICAgICAgICAgICAgICAgICAgICAgIGV4ZWN1dGFibGUsIGNtZGxpbmUpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBfc253cHJpbnRmX3MoY2hpbGRfY29tbWFuZCwgY2hpbGRfY29tbWFuZF9zaXplLAotICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkX2NvbW1hbmRfc2l6ZSAtIDEsIEwiJXMgJXMgJXMiLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkX2NvbW1hbmRfc2l6ZSAtIDEsIEwiJWxzICVscyAlbHMiLAogICAgICAgICAgICAgICAgICAgICAgICAgIGV4ZWN1dGFibGUsIHN1ZmZpeCwgY21kbGluZSk7CiAgICAgICAgIHJ1bl9jaGlsZChjaGlsZF9jb21tYW5kKTsKICAgICAgICAgZnJlZShjaGlsZF9jb21tYW5kKTsKQEAgLTc5MSw3ICs3OTksNyBAQAogYWRkX2NvbW1hbmQod2NoYXJfdCAqIG5hbWUsIHdjaGFyX3QgKiBjbWRsaW5lKQogewogICAgIGlmIChudW1fY29tbWFuZHMgPj0gTUFYX0NPTU1BTkRTKSB7Ci0gICAgICAgIGRlYnVnKEwiY2FuJ3QgYWRkICVzID0gJyVzJzogbm8gcm9vbVxuIiwgbmFtZSwgY21kbGluZSk7CisgICAgICAgIGRlYnVnKEwiY2FuJ3QgYWRkICVscyA9ICclbHMnOiBubyByb29tXG4iLCBuYW1lLCBjbWRsaW5lKTsKICAgICB9CiAgICAgZWxzZSB7CiAgICAgICAgIENPTU1BTkQgKiBjcCA9ICZjb21tYW5kc1tudW1fY29tbWFuZHMrK107CkBAIC04MTMsMTQgKzgyMSwxNCBAQAogICAgIHJlYWQgPSBHZXRQcml2YXRlUHJvZmlsZVN0cmluZ1coTCJjb21tYW5kcyIsIE5VTEwsIE5VTEwsIGtleW5hbWVzLCBNU0dTSVpFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnX3BhdGgpOwogICAgIGlmIChyZWFkID09IE1TR1NJWkUgLSAxKSB7Ci0gICAgICAgIGRlYnVnKEwicmVhZF9jb21tYW5kczogJXM6IG5vdCBlbm91Z2ggc3BhY2UgZm9yIG5hbWVzXG4iLCBjb25maWdfcGF0aCk7CisgICAgICAgIGRlYnVnKEwicmVhZF9jb21tYW5kczogJWxzOiBub3QgZW5vdWdoIHNwYWNlIGZvciBuYW1lc1xuIiwgY29uZmlnX3BhdGgpOwogICAgIH0KICAgICBrZXkgPSBrZXluYW1lczsKICAgICB3aGlsZSAoKmtleSkgewogICAgICAgICByZWFkID0gR2V0UHJpdmF0ZVByb2ZpbGVTdHJpbmdXKEwiY29tbWFuZHMiLCBrZXksIE5VTEwsIHZhbHVlLCBNU0dTSVpFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnX3BhdGgpOwogICAgICAgICBpZiAocmVhZCA9PSBNU0dTSVpFIC0gMSkgewotICAgICAgICAgICAgZGVidWcoTCJyZWFkX2NvbW1hbmRzOiAlczogbm90IGVub3VnaCBzcGFjZSBmb3IgJXNcbiIsCisgICAgICAgICAgICBkZWJ1ZyhMInJlYWRfY29tbWFuZHM6ICVsczogbm90IGVub3VnaCBzcGFjZSBmb3IgJWxzXG4iLAogICAgICAgICAgICAgICAgICAgY29uZmlnX3BhdGgsIGtleSk7CiAgICAgICAgIH0KICAgICAgICAgY21kcCA9IHNraXBfd2hpdGVzcGFjZSh2YWx1ZSk7CkBAIC0xMDk3LDcgKzExMDUsNyBAQAogICAgICAgICBpZiAoKHJlYWQgPj0gNCkgJiYgKGJ1ZmZlclszXSA9PSAnXG4nKSAmJiAoYnVmZmVyWzJdID09ICdccicpKSB7CiAgICAgICAgICAgICBpcCA9IGZpbmRfYnlfbWFnaWMoKGJ1ZmZlclsxXSA8PCA4IHwgYnVmZmVyWzBdKSAmIDB4RkZGRik7CiAgICAgICAgICAgICBpZiAoaXAgIT0gTlVMTCkgewotICAgICAgICAgICAgICAgIGRlYnVnKEwic2NyaXB0IGZpbGUgaXMgY29tcGlsZWQgYWdhaW5zdCBQeXRob24gJXNcbiIsCisgICAgICAgICAgICAgICAgZGVidWcoTCJzY3JpcHQgZmlsZSBpcyBjb21waWxlZCBhZ2FpbnN0IFB5dGhvbiAlbHNcbiIsCiAgICAgICAgICAgICAgICAgICAgICAgaXAtPnZlcnNpb24pOwogICAgICAgICAgICAgICAgIGludm9rZV9jaGlsZChpcC0+ZXhlY3V0YWJsZSwgTlVMTCwgY21kbGluZSk7CiAgICAgICAgICAgICB9CkBAIC0xMjAwLDcgKzEyMDgsNyBAQAogICAgICAgICAgICAgICAgIGlzX3ZpcnQgPSBwYXJzZV9zaGViYW5nKHNoZWJhbmdfbGluZSwgbmNoYXJzLCAmY29tbWFuZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc3VmZml4LCAmc2VhcmNoKTsKICAgICAgICAgICAgICAgICBpZiAoY29tbWFuZCAhPSBOVUxMKSB7Ci0gICAgICAgICAgICAgICAgICAgIGRlYnVnKEwicGFyc2Vfc2hlYmFuZzogZm91bmQgY29tbWFuZDogJXNcbiIsIGNvbW1hbmQpOworICAgICAgICAgICAgICAgICAgICBkZWJ1ZyhMInBhcnNlX3NoZWJhbmc6IGZvdW5kIGNvbW1hbmQ6ICVsc1xuIiwgY29tbWFuZCk7CiAgICAgICAgICAgICAgICAgICAgIGlmICghaXNfdmlydCkgewogICAgICAgICAgICAgICAgICAgICAgICAgaW52b2tlX2NoaWxkKGNvbW1hbmQsIHN1ZmZpeCwgY21kbGluZSk7CiAgICAgICAgICAgICAgICAgICAgIH0KQEAgLTEyMTIsNyArMTIyMCw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAod2NzbmNtcChjb21tYW5kLCBMInB5dGhvbiIsIDYpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yKFJDX0JBRF9WSVJUVUFMX1BBVEgsIEwiVW5rbm93biB2aXJ0dWFsIFwKLXBhdGggJyVzJyIsIGNvbW1hbmQpOworcGF0aCAnJWxzJyIsIGNvbW1hbmQpOwogICAgICAgICAgICAgICAgICAgICAgICAgY29tbWFuZCArPSA2OyAgIC8qIHNraXAgcGFzdCAicHl0aG9uIiAqLwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHNlYXJjaCAmJiAoKCpjb21tYW5kID09IEwnXDAnKSB8fCBpc3NwYWNlKCpjb21tYW5kKSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBDb21tYW5kIGlzIGVsaWdpYmxlIGZvciBwYXRoIHNlYXJjaCwgYW5kIHRoZXJlCkBAIC0xMjIwLDkgKzEyMjgsOSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnKEwic2VhcmNoaW5nIFBBVEggZm9yIHB5dGhvbiBleGVjdXRhYmxlXG4iKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbWQgPSBmaW5kX29uX3BhdGgoTCJweXRob24iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1ZyhMIlB5dGhvbiBvbiBwYXRoOiAlc1xuIiwgY21kID8gY21kLT52YWx1ZSA6IEwiPG5vdCBmb3VuZD4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1ZyhMIlB5dGhvbiBvbiBwYXRoOiAlbHNcbiIsIGNtZCA/IGNtZC0+dmFsdWUgOiBMIjxub3QgZm91bmQ+Iik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNtZCkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1ZyhMImxvY2F0ZWQgcHl0aG9uIG9uIFBBVEg6ICVzXG4iLCBjbWQtPnZhbHVlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVidWcoTCJsb2NhdGVkIHB5dGhvbiBvbiBQQVRIOiAlbHNcbiIsIGNtZC0+dmFsdWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnZva2VfY2hpbGQoY21kLT52YWx1ZSwgc3VmZml4LCBjbWRsaW5lKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogRXhpdCBoZXJlLCBhcyB3ZSBoYXZlIGZvdW5kIHRoZSBjb21tYW5kICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKQEAgLTEyMzMsMTQgKzEyNDEsMTQgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgqY29tbWFuZCAmJiAhdmFsaWRhdGVfdmVyc2lvbihjb21tYW5kKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcihSQ19CQURfVklSVFVBTF9QQVRILCBMIkludmFsaWQgdmVyc2lvbiBcCi1zcGVjaWZpY2F0aW9uOiAnJXMnLlxuSW4gdGhlIGZpcnN0IGxpbmUgb2YgdGhlIHNjcmlwdCwgJ3B5dGhvbicgbmVlZHMgdG8gYmUgXAorc3BlY2lmaWNhdGlvbjogJyVscycuXG5JbiB0aGUgZmlyc3QgbGluZSBvZiB0aGUgc2NyaXB0LCAncHl0aG9uJyBuZWVkcyB0byBiZSBcCiBmb2xsb3dlZCBieSBhIHZhbGlkIHZlcnNpb24gc3BlY2lmaWVyLlxuUGxlYXNlIGNoZWNrIHRoZSBkb2N1bWVudGF0aW9uLiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tbWFuZCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAvKiBUT0RPIGNvdWxkIGNhbGwgdmFsaWRhdGVfdmVyc2lvbihjb21tYW5kKSAqLwogICAgICAgICAgICAgICAgICAgICAgICAgaXAgPSBsb2NhdGVfcHl0aG9uKGNvbW1hbmQpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlwID09IE5VTEwpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcihSQ19OT19QWVRIT04sIEwiUmVxdWVzdGVkIFB5dGhvbiB2ZXJzaW9uIFwKLSglcykgaXMgbm90IGluc3RhbGxlZCIsIGNvbW1hbmQpOworKCVscykgaXMgbm90IGluc3RhbGxlZCIsIGNvbW1hbmQpOwogICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW52b2tlX2NoaWxkKGlwLT5leGVjdXRhYmxlLCBzdWZmaXgsIGNtZGxpbmUpOwpAQCAtMTM0NywxNyArMTM1NSwxNyBAQAogICAgICAgICB3Y3NuY3B5X3MocCwgTUFYX1BBVEggLSBwbGVuLCBMIlxccHkuaW5pIiwgX1RSVU5DQVRFKTsKICAgICAgICAgYXR0cnMgPSBHZXRGaWxlQXR0cmlidXRlc1coYXBwZGF0YV9pbmlfcGF0aCk7CiAgICAgICAgIGlmIChhdHRycyA9PSBJTlZBTElEX0ZJTEVfQVRUUklCVVRFUykgewotICAgICAgICAgICAgZGVidWcoTCJGaWxlICclcycgbm9uLWV4aXN0ZW50XG4iLCBhcHBkYXRhX2luaV9wYXRoKTsKKyAgICAgICAgICAgIGRlYnVnKEwiRmlsZSAnJWxzJyBub24tZXhpc3RlbnRcbiIsIGFwcGRhdGFfaW5pX3BhdGgpOwogICAgICAgICAgICAgYXBwZGF0YV9pbmlfcGF0aFswXSA9IEwnXDAnOwogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgZGVidWcoTCJVc2luZyBsb2NhbCBjb25maWd1cmF0aW9uIGZpbGUgJyVzJ1xuIiwgYXBwZGF0YV9pbmlfcGF0aCk7CisgICAgICAgICAgICBkZWJ1ZyhMIlVzaW5nIGxvY2FsIGNvbmZpZ3VyYXRpb24gZmlsZSAnJWxzJ1xuIiwgYXBwZGF0YV9pbmlfcGF0aCk7CiAgICAgICAgIH0KICAgICB9CiAgICAgcGxlbiA9IEdldE1vZHVsZUZpbGVOYW1lVyhOVUxMLCBsYXVuY2hlcl9pbmlfcGF0aCwgTUFYX1BBVEgpOwogICAgIHNpemUgPSBHZXRGaWxlVmVyc2lvbkluZm9TaXplVyhsYXVuY2hlcl9pbmlfcGF0aCwgJnNpemUpOwogICAgIGlmIChzaXplID09IDApIHsKICAgICAgICAgd2luZXJyb3IoR2V0TGFzdEVycm9yKCksIG1lc3NhZ2UsIE1TR1NJWkUpOwotICAgICAgICBkZWJ1ZyhMIkdldEZpbGVWZXJzaW9uSW5mb1NpemUgZmFpbGVkOiAlc1xuIiwgbWVzc2FnZSk7CisgICAgICAgIGRlYnVnKEwiR2V0RmlsZVZlcnNpb25JbmZvU2l6ZSBmYWlsZWQ6ICVsc1xuIiwgbWVzc2FnZSk7CiAgICAgfQogICAgIGVsc2UgewogICAgICAgICB2ZXJzaW9uX2RhdGEgPSBtYWxsb2Moc2l6ZSk7CkBAIC0xMzgxLDcgKzEzODksNyBAQAogICAgIH0KICAgICBwID0gd2NzcmNocihsYXVuY2hlcl9pbmlfcGF0aCwgTCdcXCcpOwogICAgIGlmIChwID09IE5VTEwpIHsKLSAgICAgICAgZGVidWcoTCJHZXRNb2R1bGVGaWxlTmFtZVcgcmV0dXJuZWQgdmFsdWUgaGFzIG5vIGJhY2tzbGFzaDogJXNcbiIsCisgICAgICAgIGRlYnVnKEwiR2V0TW9kdWxlRmlsZU5hbWVXIHJldHVybmVkIHZhbHVlIGhhcyBubyBiYWNrc2xhc2g6ICVsc1xuIiwKICAgICAgICAgICAgICAgbGF1bmNoZXJfaW5pX3BhdGgpOwogICAgICAgICBsYXVuY2hlcl9pbmlfcGF0aFswXSA9IEwnXDAnOwogICAgIH0KQEAgLTEzOTAsMTUgKzEzOTgsMTUgQEAKICAgICAgICAgICAgICAgICAgIF9UUlVOQ0FURSk7CiAgICAgICAgIGF0dHJzID0gR2V0RmlsZUF0dHJpYnV0ZXNXKGxhdW5jaGVyX2luaV9wYXRoKTsKICAgICAgICAgaWYgKGF0dHJzID09IElOVkFMSURfRklMRV9BVFRSSUJVVEVTKSB7Ci0gICAgICAgICAgICBkZWJ1ZyhMIkZpbGUgJyVzJyBub24tZXhpc3RlbnRcbiIsIGxhdW5jaGVyX2luaV9wYXRoKTsKKyAgICAgICAgICAgIGRlYnVnKEwiRmlsZSAnJWxzJyBub24tZXhpc3RlbnRcbiIsIGxhdW5jaGVyX2luaV9wYXRoKTsKICAgICAgICAgICAgIGxhdW5jaGVyX2luaV9wYXRoWzBdID0gTCdcMCc7CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBkZWJ1ZyhMIlVzaW5nIGdsb2JhbCBjb25maWd1cmF0aW9uIGZpbGUgJyVzJ1xuIiwgbGF1bmNoZXJfaW5pX3BhdGgpOworICAgICAgICAgICAgZGVidWcoTCJVc2luZyBnbG9iYWwgY29uZmlndXJhdGlvbiBmaWxlICclbHMnXG4iLCBsYXVuY2hlcl9pbmlfcGF0aCk7CiAgICAgICAgIH0KICAgICB9CiAKICAgICBjb21tYW5kID0gc2tpcF9tZShHZXRDb21tYW5kTGluZVcoKSk7Ci0gICAgZGVidWcoTCJDYWxsZWQgd2l0aCBjb21tYW5kIGxpbmU6ICVzXG4iLCBjb21tYW5kKTsKKyAgICBkZWJ1ZyhMIkNhbGxlZCB3aXRoIGNvbW1hbmQgbGluZTogJWxzXG4iLCBjb21tYW5kKTsKIAogI2lmIGRlZmluZWQoU0NSSVBUX1dSQVBQRVIpCiAgICAgLyogVGhlIGxhdW5jaGVyIGlzIGJlaW5nIHVzZWQgaW4gInNjcmlwdCB3cmFwcGVyIiBtb2RlLgpAQCAtMTQyMiw3ICsxNDMwLDcgQEAKICAgICAgICAgd2NzY3B5X3MobmV3Y29tbWFuZCwgbmV3bGVuLCB3cmFwcGVkX3NjcmlwdF9wYXRoKTsKICAgICAgICAgd2NzY2F0X3MobmV3Y29tbWFuZCwgbmV3bGVuLCBMIiAiKTsKICAgICAgICAgd2NzY2F0X3MobmV3Y29tbWFuZCwgbmV3bGVuLCBjb21tYW5kKTsKLSAgICAgICAgZGVidWcoTCJSdW5uaW5nIHdyYXBwZWQgc2NyaXB0IHdpdGggY29tbWFuZCBsaW5lICclcydcbiIsIG5ld2NvbW1hbmQpOworICAgICAgICBkZWJ1ZyhMIlJ1bm5pbmcgd3JhcHBlZCBzY3JpcHQgd2l0aCBjb21tYW5kIGxpbmUgJyVscydcbiIsIG5ld2NvbW1hbmQpOwogICAgICAgICByZWFkX2NvbW1hbmRzKCk7CiAgICAgICAgIGF2WzBdID0gd3JhcHBlZF9zY3JpcHRfcGF0aDsKICAgICAgICAgYXZbMV0gPSBOVUxMOwpAQCAtMTQ0Myw3ICsxNDUxLDcgQEAKICAgICAgICAgaWYgKHZhbGlkKSB7CiAgICAgICAgICAgICBpcCA9IGxvY2F0ZV9weXRob24oJnBbMV0pOwogICAgICAgICAgICAgaWYgKGlwID09IE5VTEwpCi0gICAgICAgICAgICAgICAgZXJyb3IoUkNfTk9fUFlUSE9OLCBMIlJlcXVlc3RlZCBQeXRob24gdmVyc2lvbiAoJXMpIG5vdCBcCisgICAgICAgICAgICAgICAgZXJyb3IoUkNfTk9fUFlUSE9OLCBMIlJlcXVlc3RlZCBQeXRob24gdmVyc2lvbiAoJWxzKSBub3QgXAogaW5zdGFsbGVkIiwgJnBbMV0pOwogICAgICAgICAgICAgY29tbWFuZCArPSB3Y3NsZW4ocCk7CiAgICAgICAgICAgICBjb21tYW5kID0gc2tpcF93aGl0ZXNwYWNlKGNvbW1hbmQpOwpAQCAtMTQ3Niw5ICsxNDg0LDkgQEAKIAogICAgICAgICAgICAgZ2V0X3ZlcnNpb25faW5mbyh2ZXJzaW9uX3RleHQsIE1BWF9QQVRIKTsKICAgICAgICAgICAgIGZ3cHJpbnRmKHN0ZG91dCwgTCJcCi1QeXRob24gTGF1bmNoZXIgZm9yIFdpbmRvd3MgVmVyc2lvbiAlc1xuXG4iLCB2ZXJzaW9uX3RleHQpOworUHl0aG9uIExhdW5jaGVyIGZvciBXaW5kb3dzIFZlcnNpb24gJWxzXG5cbiIsIHZlcnNpb25fdGV4dCk7CiAgICAgICAgICAgICBmd3ByaW50ZihzdGRvdXQsIEwiXAotdXNhZ2U6ICVzIFsgbGF1bmNoZXItYXJndW1lbnRzIF0gWyBweXRob24tYXJndW1lbnRzIF0gc2NyaXB0IFsgc2NyaXB0LWFyZ3VtZW50cyBdXG5cbiIsIGFyZ3ZbMF0pOwordXNhZ2U6ICVscyBbIGxhdW5jaGVyLWFyZ3VtZW50cyBdIFsgcHl0aG9uLWFyZ3VtZW50cyBdIHNjcmlwdCBbIHNjcmlwdC1hcmd1bWVudHMgXVxuXG4iLCBhcmd2WzBdKTsKICAgICAgICAgICAgIGZwdXR3cyhMIlwKIExhdW5jaGVyIGFyZ3VtZW50czpcblxuXAogLTIgICAgIDogTGF1bmNoIHRoZSBsYXRlc3QgUHl0aG9uIDIueCB2ZXJzaW9uXG5cCmRpZmYgLS1naXQgYS9QQy9weWNvbmZpZy5oIGIvUEMvcHljb25maWcuaAppbmRleCBlMWMxOTg4Li4zMjhiZTBmIDEwMDY0NAotLS0gYS9QQy9weWNvbmZpZy5oCisrKyBiL1BDL3B5Y29uZmlnLmgKQEAgLTE0NSw5ICsxNDUsMTEgQEAKICNpZiBkZWZpbmVkKF9NX0lBNjQpCiAjZGVmaW5lIENPTVBJTEVSIF9QeV9QQVNURV9WRVJTSU9OKCI2NCBiaXQgKEl0YW5pdW0pIikKICNkZWZpbmUgTVNfV0lOSTY0CisjZGVmaW5lIFBZRF9QTEFURk9STV9UQUcgIndpbl9pYTY0IgogI2VsaWYgZGVmaW5lZChfTV9YNjQpIHx8IGRlZmluZWQoX01fQU1ENjQpCiAjZGVmaW5lIENPTVBJTEVSIF9QeV9QQVNURV9WRVJTSU9OKCI2NCBiaXQgKEFNRDY0KSIpCiAjZGVmaW5lIE1TX1dJTlg2NAorI2RlZmluZSBQWURfUExBVEZPUk1fVEFHICJ3aW5fYW1kNjQiCiAjZWxzZQogI2RlZmluZSBDT01QSUxFUiBfUHlfUEFTVEVfVkVSU0lPTigiNjQgYml0IChVbmtub3duKSIpCiAjZW5kaWYKQEAgLTE5Myw4ICsxOTUsMTAgQEAKICNpZiBkZWZpbmVkKE1TX1dJTjMyKSAmJiAhZGVmaW5lZChNU19XSU42NCkKICNpZiBkZWZpbmVkKF9NX0lYODYpCiAjZGVmaW5lIENPTVBJTEVSIF9QeV9QQVNURV9WRVJTSU9OKCIzMiBiaXQgKEludGVsKSIpCisjZGVmaW5lIFBZRF9QTEFURk9STV9UQUcgIndpbjMyIgogI2VsaWYgZGVmaW5lZChfTV9BUk0pCiAjZGVmaW5lIENPTVBJTEVSIF9QeV9QQVNURV9WRVJTSU9OKCIzMiBiaXQgKEFSTSkiKQorI2RlZmluZSBQWURfUExBVEZPUk1fVEFHICJ3aW5fYXJtIgogI2Vsc2UKICNkZWZpbmUgQ09NUElMRVIgX1B5X1BBU1RFX1ZFUlNJT04oIjMyIGJpdCAoVW5rbm93bikiKQogI2VuZGlmCkBAIC0yMTMsNiArMjE3LDEzIEBACiAjZGVmaW5lIGh5cG90IF9oeXBvdAogI2VuZGlmCiAKKy8qIFZTIDIwMTUgZGVmaW5lcyB0aGVzZSBuYW1lcyB3aXRoIGEgbGVhZGluZyB1bmRlcnNjb3JlICovCisjaWYgX01TQ19WRVIgPj0gMTkwMAorI2RlZmluZSB0aW1lem9uZSBfdGltZXpvbmUKKyNkZWZpbmUgZGF5bGlnaHQgX2RheWxpZ2h0CisjZGVmaW5lIHR6bmFtZSBfdHpuYW1lCisjZW5kaWYKKwogLyogU2lkZSBieSBTaWRlIGFzc2VtYmxpZXMgc3VwcG9ydGVkIGluIFZTIDIwMDUgYW5kIFZTIDIwMDggYnV0IG5vdCAyMDEwKi8KICNpZiBfTVNDX1ZFUiA+PSAxNDAwICYmIF9NU0NfVkVSIDwgMTYwMAogI2RlZmluZSBIQVZFX1NYUyAxCkBAIC0yMjcsMzUgKzIzOCw2IEBACiAjZW5kaWYgLyogX01TQ19WRVIgKi8KIAogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLS8qIFRoZSBCb3JsYW5kIGNvbXBpbGVyIGRlZmluZXMgX19CT1JMQU5EQ19fICovCi0vKiBYWFggVGhlc2UgZGVmaW5lcyBhcmUgbGlrZWx5IGluY29tcGxldGUsIGJ1dCBzaG91bGQgYmUgZWFzeSB0byBmaXguICovCi0jaWZkZWYgX19CT1JMQU5EQ19fCi0jZGVmaW5lIENPTVBJTEVSICJbQm9ybGFuZF0iCi0KLSNpZmRlZiBfV0lOMzIKLS8qIHRlc3RlZCB3aXRoIEJDQyA1LjUgKF9fQk9STEFORENfXyA+PSAweDA1NTApCi0gKi8KLQotdHlwZWRlZiBpbnQgcGlkX3Q7Ci0vKiBCQ0M1NSBzZWVtcyB0byB1bmRlcnN0YW5kIF9fZGVjbHNwZWMoZGxsaW1wb3J0KSwgaXQgaXMgdXNlZCBpbiBpdHMKLSAgIG93biBoZWFkZXIgZmlsZXMgKHdpbm50LmgsIC4uLikgLSBzbyB3ZSBjYW4gZG8gbm90aGluZyBhbmQgZ2V0IHRoZSBkZWZhdWx0Ki8KLQotI3VuZGVmIEhBVkVfU1lTX1VUSU1FX0gKLSNkZWZpbmUgSEFWRV9VVElNRV9ICi0jZGVmaW5lIEhBVkVfRElSRU5UX0gKLQotLyogcmVuYW1lIGEgZmV3IGZ1bmN0aW9ucyBmb3IgdGhlIEJvcmxhbmQgY29tcGlsZXIgKi8KLSNpbmNsdWRlIDxpby5oPgotI2RlZmluZSBfY2hzaXplIGNoc2l6ZQotI2RlZmluZSBfc2V0bW9kZSBzZXRtb2RlCi0KLSNlbHNlIC8qICFfV0lOMzIgKi8KLSNlcnJvciAiT25seSBXaW4zMiBhbmQgbGF0ZXIgYXJlIHN1cHBvcnRlZCIKLSNlbmRpZiAvKiAhX1dJTjMyICovCi0KLSNlbmRpZiAvKiBCT1JMQU5EQyAqLwotCi0vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogLyogZWdjcy9nbnUtd2luMzIgZGVmaW5lcyBfX0dOVUNfXyBhbmQgX1dJTjMyICovCiAjaWYgZGVmaW5lZChfX0dOVUNfXykgJiYgZGVmaW5lZChfV0lOMzIpCiAvKiBYWFggVGhlc2UgZGVmaW5lcyBhcmUgbGlrZWx5IGluY29tcGxldGUsIGJ1dCBzaG91bGQgYmUgZWFzeSB0byBmaXguCkBAIC0zMjIsMTEgKzMwNCwxMSBAQAogCQkJdGhlaXIgTWFrZWZpbGUgKG90aGVyIGNvbXBpbGVycyBhcmUgZ2VuZXJhbGx5CiAJCQl0YWtlbiBjYXJlIG9mIGJ5IGRpc3R1dGlscy4pICovCiAjCQkJaWYgZGVmaW5lZChfREVCVUcpCi0jCQkJCXByYWdtYSBjb21tZW50KGxpYiwicHl0aG9uMzRfZC5saWIiKQorIwkJCQlwcmFnbWEgY29tbWVudChsaWIsInB5dGhvbjM1X2QubGliIikKICMJCQllbGlmIGRlZmluZWQoUHlfTElNSVRFRF9BUEkpCiAjCQkJCXByYWdtYSBjb21tZW50KGxpYiwicHl0aG9uMy5saWIiKQogIwkJCWVsc2UKLSMJCQkJcHJhZ21hIGNvbW1lbnQobGliLCJweXRob24zNC5saWIiKQorIwkJCQlwcmFnbWEgY29tbWVudChsaWIsInB5dGhvbjM1LmxpYiIpCiAjCQkJZW5kaWYgLyogX0RFQlVHICovCiAjCQllbmRpZiAvKiBfTVNDX1ZFUiAqLwogIwllbmRpZiAvKiBQeV9CVUlMRF9DT1JFICovCmRpZmYgLS1naXQgYS9QQy9weWxhdW5jaGVyLnJjIGIvUEMvcHlsYXVuY2hlci5yYwppbmRleCBkZjU4MjRhLi42MzRiOGQ2IDEwMDY0NAotLS0gYS9QQy9weWxhdW5jaGVyLnJjCisrKyBiL1BDL3B5bGF1bmNoZXIucmMKQEAgLTM0LDcgKzM0LDcgQEAKICAgICAgICAgICAgIFZBTFVFICJGaWxlRGVzY3JpcHRpb24iLCAiUHl0aG9uIExhdW5jaGVyIGZvciBXaW5kb3dzIChDb25zb2xlKSIKICAgICAgICAgICAgIFZBTFVFICJGaWxlVmVyc2lvbiIsIFBZVEhPTl9WRVJTSU9OCiAgICAgICAgICAgICBWQUxVRSAiSW50ZXJuYWxOYW1lIiwgInB5IgotICAgICAgICAgICAgVkFMVUUgIkxlZ2FsQ29weXJpZ2h0IiwgIkNvcHlyaWdodCAoQykgMjAxMS0yMDEyIFB5dGhvbiBTb2Z0d2FyZSBGb3VuZGF0aW9uIgorICAgICAgICAgICAgVkFMVUUgIkxlZ2FsQ29weXJpZ2h0IiwgIkNvcHlyaWdodCAoQykgMjAxMS0yMDE0IFB5dGhvbiBTb2Z0d2FyZSBGb3VuZGF0aW9uIgogICAgICAgICAgICAgVkFMVUUgIk9yaWdpbmFsRmlsZW5hbWUiLCAicHkiCiAgICAgICAgICAgICBWQUxVRSAiUHJvZHVjdE5hbWUiLCAiUHl0aG9uIExhdW5jaGVyIGZvciBXaW5kb3dzIgogICAgICAgICAgICAgVkFMVUUgIlByb2R1Y3RWZXJzaW9uIiwgUFlUSE9OX1ZFUlNJT04KZGlmZiAtLWdpdCBhL1BDL3B5dGhvbi5tYW5pZmVzdCBiL1BDL3B5dGhvbi5tYW5pZmVzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYWMyNjMwCi0tLSAvZGV2L251bGwKKysrIGIvUEMvcHl0aG9uLm1hbmlmZXN0CkBAIC0wLDAgKzEsMTIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJ5ZXMiPz4KKzxhc3NlbWJseSB4bWxucz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTphc20udjEiIG1hbmlmZXN0VmVyc2lvbj0iMS4wIj4KKyAgPGNvbXBhdGliaWxpdHkgeG1sbnM9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206Y29tcGF0aWJpbGl0eS52MSI+IAorICAgIDxhcHBsaWNhdGlvbj4gCisgICAgICA8c3VwcG9ydGVkT1MgSWQ9IntlMjAxMTQ1Ny0xNTQ2LTQzYzUtYTVmZS0wMDhkZWVlM2QzZjB9Ii8+IAorICAgICAgPHN1cHBvcnRlZE9TIElkPSJ7MzUxMzhiOWEtNWQ5Ni00ZmJkLThlMmQtYTI0NDAyMjVmOTNhfSIvPgorICAgICAgPHN1cHBvcnRlZE9TIElkPSJ7NGEyZjI4ZTMtNTNiOS00NDQxLWJhOWMtZDY5ZDRhNGE2ZTM4fSIvPgorICAgICAgPHN1cHBvcnRlZE9TIElkPSJ7MWY2NzZjNzYtODBlMS00MjM5LTk1YmItODNkMGY2ZDBkYTc4fSIvPgorICAgICAgPHN1cHBvcnRlZE9TIElkPSJ7OGUwZjdhMTItYmZiMy00ZmU4LWI5YTUtNDhmZDUwYTE1YTlhfSIvPgorICAgIDwvYXBwbGljYXRpb24+IAorICA8L2NvbXBhdGliaWxpdHk+Cis8L2Fzc2VtYmx5PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1BDL3B5dGhvbjMuZGVmIGIvUEMvcHl0aG9uMy5kZWYKaW5kZXggMzdlNDU0Yi4uNDVmZGEzOCAxMDA2NDQKLS0tIGEvUEMvcHl0aG9uMy5kZWYKKysrIGIvUEMvcHl0aG9uMy5kZWYKQEAgLTEsNzAxICsxLDcwMyBAQAotOyBXaGVuIGNoYW5naW5nIHRoaXMgZmlsZSwgcnVuIHB5dGhvbjM0Z2VuLnB5Cis7IFRoaXMgZmlsZSBzcGVjaWZpZXMgdGhlIGltcG9ydCBmb3J3YXJkaW5nIGZvciBweXRob24zLmRsbAorOyBJdCBpcyB1c2VkIHdoZW4gYnVpbGRpbmcgcHl0aG9uM2RsbC52Y3hwcm9qCiBMSUJSQVJZCSJweXRob24zIgogRVhQT1JUUwotICBQeUFyZ19QYXJzZT1weXRob24zNC5QeUFyZ19QYXJzZQotICBQeUFyZ19QYXJzZVR1cGxlPXB5dGhvbjM0LlB5QXJnX1BhcnNlVHVwbGUKLSAgUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzPXB5dGhvbjM0LlB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcwotICBQeUFyZ19VbnBhY2tUdXBsZT1weXRob24zNC5QeUFyZ19VbnBhY2tUdXBsZQotICBQeUFyZ19WYVBhcnNlPXB5dGhvbjM0LlB5QXJnX1ZhUGFyc2UKLSAgUHlBcmdfVmFQYXJzZVR1cGxlQW5kS2V5d29yZHM9cHl0aG9uMzQuUHlBcmdfVmFQYXJzZVR1cGxlQW5kS2V5d29yZHMKLSAgUHlBcmdfVmFsaWRhdGVLZXl3b3JkQXJndW1lbnRzPXB5dGhvbjM0LlB5QXJnX1ZhbGlkYXRlS2V5d29yZEFyZ3VtZW50cwotICBQeUJhc2VPYmplY3RfVHlwZT1weXRob24zNC5QeUJhc2VPYmplY3RfVHlwZSBEQVRBCi0gIFB5Qm9vbF9Gcm9tTG9uZz1weXRob24zNC5QeUJvb2xfRnJvbUxvbmcKLSAgUHlCb29sX1R5cGU9cHl0aG9uMzQuUHlCb29sX1R5cGUgREFUQQotICBQeUJ5dGVBcnJheUl0ZXJfVHlwZT1weXRob24zNC5QeUJ5dGVBcnJheUl0ZXJfVHlwZSBEQVRBCi0gIFB5Qnl0ZUFycmF5X0FzU3RyaW5nPXB5dGhvbjM0LlB5Qnl0ZUFycmF5X0FzU3RyaW5nCi0gIFB5Qnl0ZUFycmF5X0NvbmNhdD1weXRob24zNC5QeUJ5dGVBcnJheV9Db25jYXQKLSAgUHlCeXRlQXJyYXlfRnJvbU9iamVjdD1weXRob24zNC5QeUJ5dGVBcnJheV9Gcm9tT2JqZWN0Ci0gIFB5Qnl0ZUFycmF5X0Zyb21TdHJpbmdBbmRTaXplPXB5dGhvbjM0LlB5Qnl0ZUFycmF5X0Zyb21TdHJpbmdBbmRTaXplCi0gIFB5Qnl0ZUFycmF5X1Jlc2l6ZT1weXRob24zNC5QeUJ5dGVBcnJheV9SZXNpemUKLSAgUHlCeXRlQXJyYXlfU2l6ZT1weXRob24zNC5QeUJ5dGVBcnJheV9TaXplCi0gIFB5Qnl0ZUFycmF5X1R5cGU9cHl0aG9uMzQuUHlCeXRlQXJyYXlfVHlwZSBEQVRBCi0gIFB5Qnl0ZXNJdGVyX1R5cGU9cHl0aG9uMzQuUHlCeXRlc0l0ZXJfVHlwZSBEQVRBCi0gIFB5Qnl0ZXNfQXNTdHJpbmc9cHl0aG9uMzQuUHlCeXRlc19Bc1N0cmluZwotICBQeUJ5dGVzX0FzU3RyaW5nQW5kU2l6ZT1weXRob24zNC5QeUJ5dGVzX0FzU3RyaW5nQW5kU2l6ZQotICBQeUJ5dGVzX0NvbmNhdD1weXRob24zNC5QeUJ5dGVzX0NvbmNhdAotICBQeUJ5dGVzX0NvbmNhdEFuZERlbD1weXRob24zNC5QeUJ5dGVzX0NvbmNhdEFuZERlbAotICBQeUJ5dGVzX0RlY29kZUVzY2FwZT1weXRob24zNC5QeUJ5dGVzX0RlY29kZUVzY2FwZQotICBQeUJ5dGVzX0Zyb21Gb3JtYXQ9cHl0aG9uMzQuUHlCeXRlc19Gcm9tRm9ybWF0Ci0gIFB5Qnl0ZXNfRnJvbUZvcm1hdFY9cHl0aG9uMzQuUHlCeXRlc19Gcm9tRm9ybWF0VgotICBQeUJ5dGVzX0Zyb21PYmplY3Q9cHl0aG9uMzQuUHlCeXRlc19Gcm9tT2JqZWN0Ci0gIFB5Qnl0ZXNfRnJvbVN0cmluZz1weXRob24zNC5QeUJ5dGVzX0Zyb21TdHJpbmcKLSAgUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZT1weXRob24zNC5QeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplCi0gIFB5Qnl0ZXNfUmVwcj1weXRob24zNC5QeUJ5dGVzX1JlcHIKLSAgUHlCeXRlc19TaXplPXB5dGhvbjM0LlB5Qnl0ZXNfU2l6ZQotICBQeUJ5dGVzX1R5cGU9cHl0aG9uMzQuUHlCeXRlc19UeXBlIERBVEEKLSAgUHlDRnVuY3Rpb25fQ2FsbD1weXRob24zNC5QeUNGdW5jdGlvbl9DYWxsCi0gIFB5Q0Z1bmN0aW9uX0NsZWFyRnJlZUxpc3Q9cHl0aG9uMzQuUHlDRnVuY3Rpb25fQ2xlYXJGcmVlTGlzdAotICBQeUNGdW5jdGlvbl9HZXRGbGFncz1weXRob24zNC5QeUNGdW5jdGlvbl9HZXRGbGFncwotICBQeUNGdW5jdGlvbl9HZXRGdW5jdGlvbj1weXRob24zNC5QeUNGdW5jdGlvbl9HZXRGdW5jdGlvbgotICBQeUNGdW5jdGlvbl9HZXRTZWxmPXB5dGhvbjM0LlB5Q0Z1bmN0aW9uX0dldFNlbGYKLSAgUHlDRnVuY3Rpb25fTmV3PXB5dGhvbjM0LlB5Q0Z1bmN0aW9uX05ldwotICBQeUNGdW5jdGlvbl9OZXdFeD1weXRob24zNC5QeUNGdW5jdGlvbl9OZXdFeAotICBQeUNGdW5jdGlvbl9UeXBlPXB5dGhvbjM0LlB5Q0Z1bmN0aW9uX1R5cGUgREFUQQotICBQeUNhbGxJdGVyX05ldz1weXRob24zNC5QeUNhbGxJdGVyX05ldwotICBQeUNhbGxJdGVyX1R5cGU9cHl0aG9uMzQuUHlDYWxsSXRlcl9UeXBlIERBVEEKLSAgUHlDYWxsYWJsZV9DaGVjaz1weXRob24zNC5QeUNhbGxhYmxlX0NoZWNrCi0gIFB5Q2Fwc3VsZV9HZXRDb250ZXh0PXB5dGhvbjM0LlB5Q2Fwc3VsZV9HZXRDb250ZXh0Ci0gIFB5Q2Fwc3VsZV9HZXREZXN0cnVjdG9yPXB5dGhvbjM0LlB5Q2Fwc3VsZV9HZXREZXN0cnVjdG9yCi0gIFB5Q2Fwc3VsZV9HZXROYW1lPXB5dGhvbjM0LlB5Q2Fwc3VsZV9HZXROYW1lCi0gIFB5Q2Fwc3VsZV9HZXRQb2ludGVyPXB5dGhvbjM0LlB5Q2Fwc3VsZV9HZXRQb2ludGVyCi0gIFB5Q2Fwc3VsZV9JbXBvcnQ9cHl0aG9uMzQuUHlDYXBzdWxlX0ltcG9ydAotICBQeUNhcHN1bGVfSXNWYWxpZD1weXRob24zNC5QeUNhcHN1bGVfSXNWYWxpZAotICBQeUNhcHN1bGVfTmV3PXB5dGhvbjM0LlB5Q2Fwc3VsZV9OZXcKLSAgUHlDYXBzdWxlX1NldENvbnRleHQ9cHl0aG9uMzQuUHlDYXBzdWxlX1NldENvbnRleHQKLSAgUHlDYXBzdWxlX1NldERlc3RydWN0b3I9cHl0aG9uMzQuUHlDYXBzdWxlX1NldERlc3RydWN0b3IKLSAgUHlDYXBzdWxlX1NldE5hbWU9cHl0aG9uMzQuUHlDYXBzdWxlX1NldE5hbWUKLSAgUHlDYXBzdWxlX1NldFBvaW50ZXI9cHl0aG9uMzQuUHlDYXBzdWxlX1NldFBvaW50ZXIKLSAgUHlDYXBzdWxlX1R5cGU9cHl0aG9uMzQuUHlDYXBzdWxlX1R5cGUgREFUQQotICBQeUNsYXNzTWV0aG9kRGVzY3JfVHlwZT1weXRob24zNC5QeUNsYXNzTWV0aG9kRGVzY3JfVHlwZSBEQVRBCi0gIFB5Q29kZWNfQmFja3NsYXNoUmVwbGFjZUVycm9ycz1weXRob24zNC5QeUNvZGVjX0JhY2tzbGFzaFJlcGxhY2VFcnJvcnMKLSAgUHlDb2RlY19EZWNvZGU9cHl0aG9uMzQuUHlDb2RlY19EZWNvZGUKLSAgUHlDb2RlY19EZWNvZGVyPXB5dGhvbjM0LlB5Q29kZWNfRGVjb2RlcgotICBQeUNvZGVjX0VuY29kZT1weXRob24zNC5QeUNvZGVjX0VuY29kZQotICBQeUNvZGVjX0VuY29kZXI9cHl0aG9uMzQuUHlDb2RlY19FbmNvZGVyCi0gIFB5Q29kZWNfSWdub3JlRXJyb3JzPXB5dGhvbjM0LlB5Q29kZWNfSWdub3JlRXJyb3JzCi0gIFB5Q29kZWNfSW5jcmVtZW50YWxEZWNvZGVyPXB5dGhvbjM0LlB5Q29kZWNfSW5jcmVtZW50YWxEZWNvZGVyCi0gIFB5Q29kZWNfSW5jcmVtZW50YWxFbmNvZGVyPXB5dGhvbjM0LlB5Q29kZWNfSW5jcmVtZW50YWxFbmNvZGVyCi0gIFB5Q29kZWNfS25vd25FbmNvZGluZz1weXRob24zNC5QeUNvZGVjX0tub3duRW5jb2RpbmcKLSAgUHlDb2RlY19Mb29rdXBFcnJvcj1weXRob24zNC5QeUNvZGVjX0xvb2t1cEVycm9yCi0gIFB5Q29kZWNfUmVnaXN0ZXI9cHl0aG9uMzQuUHlDb2RlY19SZWdpc3RlcgotICBQeUNvZGVjX1JlZ2lzdGVyRXJyb3I9cHl0aG9uMzQuUHlDb2RlY19SZWdpc3RlckVycm9yCi0gIFB5Q29kZWNfUmVwbGFjZUVycm9ycz1weXRob24zNC5QeUNvZGVjX1JlcGxhY2VFcnJvcnMKLSAgUHlDb2RlY19TdHJlYW1SZWFkZXI9cHl0aG9uMzQuUHlDb2RlY19TdHJlYW1SZWFkZXIKLSAgUHlDb2RlY19TdHJlYW1Xcml0ZXI9cHl0aG9uMzQuUHlDb2RlY19TdHJlYW1Xcml0ZXIKLSAgUHlDb2RlY19TdHJpY3RFcnJvcnM9cHl0aG9uMzQuUHlDb2RlY19TdHJpY3RFcnJvcnMKLSAgUHlDb2RlY19YTUxDaGFyUmVmUmVwbGFjZUVycm9ycz1weXRob24zNC5QeUNvZGVjX1hNTENoYXJSZWZSZXBsYWNlRXJyb3JzCi0gIFB5Q29tcGxleF9Gcm9tRG91Ymxlcz1weXRob24zNC5QeUNvbXBsZXhfRnJvbURvdWJsZXMKLSAgUHlDb21wbGV4X0ltYWdBc0RvdWJsZT1weXRob24zNC5QeUNvbXBsZXhfSW1hZ0FzRG91YmxlCi0gIFB5Q29tcGxleF9SZWFsQXNEb3VibGU9cHl0aG9uMzQuUHlDb21wbGV4X1JlYWxBc0RvdWJsZQotICBQeUNvbXBsZXhfVHlwZT1weXRob24zNC5QeUNvbXBsZXhfVHlwZSBEQVRBCi0gIFB5RGVzY3JfTmV3Q2xhc3NNZXRob2Q9cHl0aG9uMzQuUHlEZXNjcl9OZXdDbGFzc01ldGhvZAotICBQeURlc2NyX05ld0dldFNldD1weXRob24zNC5QeURlc2NyX05ld0dldFNldAotICBQeURlc2NyX05ld01lbWJlcj1weXRob24zNC5QeURlc2NyX05ld01lbWJlcgotICBQeURlc2NyX05ld01ldGhvZD1weXRob24zNC5QeURlc2NyX05ld01ldGhvZAotICBQeURpY3RJdGVtc19UeXBlPXB5dGhvbjM0LlB5RGljdEl0ZW1zX1R5cGUgREFUQQotICBQeURpY3RJdGVySXRlbV9UeXBlPXB5dGhvbjM0LlB5RGljdEl0ZXJJdGVtX1R5cGUgREFUQQotICBQeURpY3RJdGVyS2V5X1R5cGU9cHl0aG9uMzQuUHlEaWN0SXRlcktleV9UeXBlIERBVEEKLSAgUHlEaWN0SXRlclZhbHVlX1R5cGU9cHl0aG9uMzQuUHlEaWN0SXRlclZhbHVlX1R5cGUgREFUQQotICBQeURpY3RLZXlzX1R5cGU9cHl0aG9uMzQuUHlEaWN0S2V5c19UeXBlIERBVEEKLSAgUHlEaWN0UHJveHlfTmV3PXB5dGhvbjM0LlB5RGljdFByb3h5X05ldwotICBQeURpY3RQcm94eV9UeXBlPXB5dGhvbjM0LlB5RGljdFByb3h5X1R5cGUgREFUQQotICBQeURpY3RWYWx1ZXNfVHlwZT1weXRob24zNC5QeURpY3RWYWx1ZXNfVHlwZSBEQVRBCi0gIFB5RGljdF9DbGVhcj1weXRob24zNC5QeURpY3RfQ2xlYXIKLSAgUHlEaWN0X0NvbnRhaW5zPXB5dGhvbjM0LlB5RGljdF9Db250YWlucwotICBQeURpY3RfQ29weT1weXRob24zNC5QeURpY3RfQ29weQotICBQeURpY3RfRGVsSXRlbT1weXRob24zNC5QeURpY3RfRGVsSXRlbQotICBQeURpY3RfRGVsSXRlbVN0cmluZz1weXRob24zNC5QeURpY3RfRGVsSXRlbVN0cmluZwotICBQeURpY3RfR2V0SXRlbT1weXRob24zNC5QeURpY3RfR2V0SXRlbQotICBQeURpY3RfR2V0SXRlbVN0cmluZz1weXRob24zNC5QeURpY3RfR2V0SXRlbVN0cmluZwotICBQeURpY3RfR2V0SXRlbVdpdGhFcnJvcj1weXRob24zNC5QeURpY3RfR2V0SXRlbVdpdGhFcnJvcgotICBQeURpY3RfSXRlbXM9cHl0aG9uMzQuUHlEaWN0X0l0ZW1zCi0gIFB5RGljdF9LZXlzPXB5dGhvbjM0LlB5RGljdF9LZXlzCi0gIFB5RGljdF9NZXJnZT1weXRob24zNC5QeURpY3RfTWVyZ2UKLSAgUHlEaWN0X01lcmdlRnJvbVNlcTI9cHl0aG9uMzQuUHlEaWN0X01lcmdlRnJvbVNlcTIKLSAgUHlEaWN0X05ldz1weXRob24zNC5QeURpY3RfTmV3Ci0gIFB5RGljdF9OZXh0PXB5dGhvbjM0LlB5RGljdF9OZXh0Ci0gIFB5RGljdF9TZXRJdGVtPXB5dGhvbjM0LlB5RGljdF9TZXRJdGVtCi0gIFB5RGljdF9TZXRJdGVtU3RyaW5nPXB5dGhvbjM0LlB5RGljdF9TZXRJdGVtU3RyaW5nCi0gIFB5RGljdF9TaXplPXB5dGhvbjM0LlB5RGljdF9TaXplCi0gIFB5RGljdF9UeXBlPXB5dGhvbjM0LlB5RGljdF9UeXBlIERBVEEKLSAgUHlEaWN0X1VwZGF0ZT1weXRob24zNC5QeURpY3RfVXBkYXRlCi0gIFB5RGljdF9WYWx1ZXM9cHl0aG9uMzQuUHlEaWN0X1ZhbHVlcwotICBQeUVsbGlwc2lzX1R5cGU9cHl0aG9uMzQuUHlFbGxpcHNpc19UeXBlIERBVEEKLSAgUHlFbnVtX1R5cGU9cHl0aG9uMzQuUHlFbnVtX1R5cGUgREFUQQotICBQeUVycl9CYWRBcmd1bWVudD1weXRob24zNC5QeUVycl9CYWRBcmd1bWVudAotICBQeUVycl9CYWRJbnRlcm5hbENhbGw9cHl0aG9uMzQuUHlFcnJfQmFkSW50ZXJuYWxDYWxsCi0gIFB5RXJyX0NoZWNrU2lnbmFscz1weXRob24zNC5QeUVycl9DaGVja1NpZ25hbHMKLSAgUHlFcnJfQ2xlYXI9cHl0aG9uMzQuUHlFcnJfQ2xlYXIKLSAgUHlFcnJfRGlzcGxheT1weXRob24zNC5QeUVycl9EaXNwbGF5Ci0gIFB5RXJyX0V4Y2VwdGlvbk1hdGNoZXM9cHl0aG9uMzQuUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcwotICBQeUVycl9GZXRjaD1weXRob24zNC5QeUVycl9GZXRjaAotICBQeUVycl9Gb3JtYXQ9cHl0aG9uMzQuUHlFcnJfRm9ybWF0Ci0gIFB5RXJyX0dpdmVuRXhjZXB0aW9uTWF0Y2hlcz1weXRob24zNC5QeUVycl9HaXZlbkV4Y2VwdGlvbk1hdGNoZXMKLSAgUHlFcnJfTmV3RXhjZXB0aW9uPXB5dGhvbjM0LlB5RXJyX05ld0V4Y2VwdGlvbgotICBQeUVycl9OZXdFeGNlcHRpb25XaXRoRG9jPXB5dGhvbjM0LlB5RXJyX05ld0V4Y2VwdGlvbldpdGhEb2MKLSAgUHlFcnJfTm9NZW1vcnk9cHl0aG9uMzQuUHlFcnJfTm9NZW1vcnkKLSAgUHlFcnJfTm9ybWFsaXplRXhjZXB0aW9uPXB5dGhvbjM0LlB5RXJyX05vcm1hbGl6ZUV4Y2VwdGlvbgotICBQeUVycl9PY2N1cnJlZD1weXRob24zNC5QeUVycl9PY2N1cnJlZAotICBQeUVycl9QcmludD1weXRob24zNC5QeUVycl9QcmludAotICBQeUVycl9QcmludEV4PXB5dGhvbjM0LlB5RXJyX1ByaW50RXgKLSAgUHlFcnJfUHJvZ3JhbVRleHQ9cHl0aG9uMzQuUHlFcnJfUHJvZ3JhbVRleHQKLSAgUHlFcnJfUmVzdG9yZT1weXRob24zNC5QeUVycl9SZXN0b3JlCi0gIFB5RXJyX1NldEZyb21FcnJubz1weXRob24zNC5QeUVycl9TZXRGcm9tRXJybm8KLSAgUHlFcnJfU2V0RnJvbUVycm5vV2l0aEZpbGVuYW1lPXB5dGhvbjM0LlB5RXJyX1NldEZyb21FcnJub1dpdGhGaWxlbmFtZQotICBQeUVycl9TZXRGcm9tRXJybm9XaXRoRmlsZW5hbWVPYmplY3Q9cHl0aG9uMzQuUHlFcnJfU2V0RnJvbUVycm5vV2l0aEZpbGVuYW1lT2JqZWN0Ci0gIFB5RXJyX1NldEludGVycnVwdD1weXRob24zNC5QeUVycl9TZXRJbnRlcnJ1cHQKLSAgUHlFcnJfU2V0Tm9uZT1weXRob24zNC5QeUVycl9TZXROb25lCi0gIFB5RXJyX1NldE9iamVjdD1weXRob24zNC5QeUVycl9TZXRPYmplY3QKLSAgUHlFcnJfU2V0U3RyaW5nPXB5dGhvbjM0LlB5RXJyX1NldFN0cmluZwotICBQeUVycl9TeW50YXhMb2NhdGlvbj1weXRob24zNC5QeUVycl9TeW50YXhMb2NhdGlvbgotICBQeUVycl9XYXJuRXg9cHl0aG9uMzQuUHlFcnJfV2FybkV4Ci0gIFB5RXJyX1dhcm5FeHBsaWNpdD1weXRob24zNC5QeUVycl9XYXJuRXhwbGljaXQKLSAgUHlFcnJfV2FybkZvcm1hdD1weXRob24zNC5QeUVycl9XYXJuRm9ybWF0Ci0gIFB5RXJyX1dyaXRlVW5yYWlzYWJsZT1weXRob24zNC5QeUVycl9Xcml0ZVVucmFpc2FibGUKLSAgUHlFdmFsX0FjcXVpcmVMb2NrPXB5dGhvbjM0LlB5RXZhbF9BY3F1aXJlTG9jawotICBQeUV2YWxfQWNxdWlyZVRocmVhZD1weXRob24zNC5QeUV2YWxfQWNxdWlyZVRocmVhZAotICBQeUV2YWxfQ2FsbEZ1bmN0aW9uPXB5dGhvbjM0LlB5RXZhbF9DYWxsRnVuY3Rpb24KLSAgUHlFdmFsX0NhbGxNZXRob2Q9cHl0aG9uMzQuUHlFdmFsX0NhbGxNZXRob2QKLSAgUHlFdmFsX0NhbGxPYmplY3RXaXRoS2V5d29yZHM9cHl0aG9uMzQuUHlFdmFsX0NhbGxPYmplY3RXaXRoS2V5d29yZHMKLSAgUHlFdmFsX0V2YWxDb2RlPXB5dGhvbjM0LlB5RXZhbF9FdmFsQ29kZQotICBQeUV2YWxfRXZhbENvZGVFeD1weXRob24zNC5QeUV2YWxfRXZhbENvZGVFeAotICBQeUV2YWxfRXZhbEZyYW1lPXB5dGhvbjM0LlB5RXZhbF9FdmFsRnJhbWUKLSAgUHlFdmFsX0V2YWxGcmFtZUV4PXB5dGhvbjM0LlB5RXZhbF9FdmFsRnJhbWVFeAotICBQeUV2YWxfR2V0QnVpbHRpbnM9cHl0aG9uMzQuUHlFdmFsX0dldEJ1aWx0aW5zCi0gIFB5RXZhbF9HZXRDYWxsU3RhdHM9cHl0aG9uMzQuUHlFdmFsX0dldENhbGxTdGF0cwotICBQeUV2YWxfR2V0RnJhbWU9cHl0aG9uMzQuUHlFdmFsX0dldEZyYW1lCi0gIFB5RXZhbF9HZXRGdW5jRGVzYz1weXRob24zNC5QeUV2YWxfR2V0RnVuY0Rlc2MKLSAgUHlFdmFsX0dldEZ1bmNOYW1lPXB5dGhvbjM0LlB5RXZhbF9HZXRGdW5jTmFtZQotICBQeUV2YWxfR2V0R2xvYmFscz1weXRob24zNC5QeUV2YWxfR2V0R2xvYmFscwotICBQeUV2YWxfR2V0TG9jYWxzPXB5dGhvbjM0LlB5RXZhbF9HZXRMb2NhbHMKLSAgUHlFdmFsX0luaXRUaHJlYWRzPXB5dGhvbjM0LlB5RXZhbF9Jbml0VGhyZWFkcwotICBQeUV2YWxfUmVJbml0VGhyZWFkcz1weXRob24zNC5QeUV2YWxfUmVJbml0VGhyZWFkcwotICBQeUV2YWxfUmVsZWFzZUxvY2s9cHl0aG9uMzQuUHlFdmFsX1JlbGVhc2VMb2NrCi0gIFB5RXZhbF9SZWxlYXNlVGhyZWFkPXB5dGhvbjM0LlB5RXZhbF9SZWxlYXNlVGhyZWFkCi0gIFB5RXZhbF9SZXN0b3JlVGhyZWFkPXB5dGhvbjM0LlB5RXZhbF9SZXN0b3JlVGhyZWFkCi0gIFB5RXZhbF9TYXZlVGhyZWFkPXB5dGhvbjM0LlB5RXZhbF9TYXZlVGhyZWFkCi0gIFB5RXZhbF9UaHJlYWRzSW5pdGlhbGl6ZWQ9cHl0aG9uMzQuUHlFdmFsX1RocmVhZHNJbml0aWFsaXplZAotICBQeUV4Y19Bcml0aG1ldGljRXJyb3I9cHl0aG9uMzQuUHlFeGNfQXJpdGhtZXRpY0Vycm9yIERBVEEKLSAgUHlFeGNfQXNzZXJ0aW9uRXJyb3I9cHl0aG9uMzQuUHlFeGNfQXNzZXJ0aW9uRXJyb3IgREFUQQotICBQeUV4Y19BdHRyaWJ1dGVFcnJvcj1weXRob24zNC5QeUV4Y19BdHRyaWJ1dGVFcnJvciBEQVRBCi0gIFB5RXhjX0Jhc2VFeGNlcHRpb249cHl0aG9uMzQuUHlFeGNfQmFzZUV4Y2VwdGlvbiBEQVRBCi0gIFB5RXhjX0J1ZmZlckVycm9yPXB5dGhvbjM0LlB5RXhjX0J1ZmZlckVycm9yIERBVEEKLSAgUHlFeGNfQnl0ZXNXYXJuaW5nPXB5dGhvbjM0LlB5RXhjX0J5dGVzV2FybmluZyBEQVRBCi0gIFB5RXhjX0RlcHJlY2F0aW9uV2FybmluZz1weXRob24zNC5QeUV4Y19EZXByZWNhdGlvbldhcm5pbmcgREFUQQotICBQeUV4Y19FT0ZFcnJvcj1weXRob24zNC5QeUV4Y19FT0ZFcnJvciBEQVRBCi0gIFB5RXhjX0Vudmlyb25tZW50RXJyb3I9cHl0aG9uMzQuUHlFeGNfRW52aXJvbm1lbnRFcnJvciBEQVRBCi0gIFB5RXhjX0V4Y2VwdGlvbj1weXRob24zNC5QeUV4Y19FeGNlcHRpb24gREFUQQotICBQeUV4Y19GbG9hdGluZ1BvaW50RXJyb3I9cHl0aG9uMzQuUHlFeGNfRmxvYXRpbmdQb2ludEVycm9yIERBVEEKLSAgUHlFeGNfRnV0dXJlV2FybmluZz1weXRob24zNC5QeUV4Y19GdXR1cmVXYXJuaW5nIERBVEEKLSAgUHlFeGNfR2VuZXJhdG9yRXhpdD1weXRob24zNC5QeUV4Y19HZW5lcmF0b3JFeGl0IERBVEEKLSAgUHlFeGNfSU9FcnJvcj1weXRob24zNC5QeUV4Y19JT0Vycm9yIERBVEEKLSAgUHlFeGNfSW1wb3J0RXJyb3I9cHl0aG9uMzQuUHlFeGNfSW1wb3J0RXJyb3IgREFUQQotICBQeUV4Y19JbXBvcnRXYXJuaW5nPXB5dGhvbjM0LlB5RXhjX0ltcG9ydFdhcm5pbmcgREFUQQotICBQeUV4Y19JbmRlbnRhdGlvbkVycm9yPXB5dGhvbjM0LlB5RXhjX0luZGVudGF0aW9uRXJyb3IgREFUQQotICBQeUV4Y19JbmRleEVycm9yPXB5dGhvbjM0LlB5RXhjX0luZGV4RXJyb3IgREFUQQotICBQeUV4Y19LZXlFcnJvcj1weXRob24zNC5QeUV4Y19LZXlFcnJvciBEQVRBCi0gIFB5RXhjX0tleWJvYXJkSW50ZXJydXB0PXB5dGhvbjM0LlB5RXhjX0tleWJvYXJkSW50ZXJydXB0IERBVEEKLSAgUHlFeGNfTG9va3VwRXJyb3I9cHl0aG9uMzQuUHlFeGNfTG9va3VwRXJyb3IgREFUQQotICBQeUV4Y19NZW1vcnlFcnJvcj1weXRob24zNC5QeUV4Y19NZW1vcnlFcnJvciBEQVRBCi0gIFB5RXhjX01lbW9yeUVycm9ySW5zdD1weXRob24zNC5QeUV4Y19NZW1vcnlFcnJvckluc3QgREFUQQotICBQeUV4Y19OYW1lRXJyb3I9cHl0aG9uMzQuUHlFeGNfTmFtZUVycm9yIERBVEEKLSAgUHlFeGNfTm90SW1wbGVtZW50ZWRFcnJvcj1weXRob24zNC5QeUV4Y19Ob3RJbXBsZW1lbnRlZEVycm9yIERBVEEKLSAgUHlFeGNfT1NFcnJvcj1weXRob24zNC5QeUV4Y19PU0Vycm9yIERBVEEKLSAgUHlFeGNfT3ZlcmZsb3dFcnJvcj1weXRob24zNC5QeUV4Y19PdmVyZmxvd0Vycm9yIERBVEEKLSAgUHlFeGNfUGVuZGluZ0RlcHJlY2F0aW9uV2FybmluZz1weXRob24zNC5QeUV4Y19QZW5kaW5nRGVwcmVjYXRpb25XYXJuaW5nIERBVEEKLSAgUHlFeGNfUmVjdXJzaW9uRXJyb3JJbnN0PXB5dGhvbjM0LlB5RXhjX1JlY3Vyc2lvbkVycm9ySW5zdCBEQVRBCi0gIFB5RXhjX1JlZmVyZW5jZUVycm9yPXB5dGhvbjM0LlB5RXhjX1JlZmVyZW5jZUVycm9yIERBVEEKLSAgUHlFeGNfUnVudGltZUVycm9yPXB5dGhvbjM0LlB5RXhjX1J1bnRpbWVFcnJvciBEQVRBCi0gIFB5RXhjX1J1bnRpbWVXYXJuaW5nPXB5dGhvbjM0LlB5RXhjX1J1bnRpbWVXYXJuaW5nIERBVEEKLSAgUHlFeGNfU3RvcEl0ZXJhdGlvbj1weXRob24zNC5QeUV4Y19TdG9wSXRlcmF0aW9uIERBVEEKLSAgUHlFeGNfU3ludGF4RXJyb3I9cHl0aG9uMzQuUHlFeGNfU3ludGF4RXJyb3IgREFUQQotICBQeUV4Y19TeW50YXhXYXJuaW5nPXB5dGhvbjM0LlB5RXhjX1N5bnRheFdhcm5pbmcgREFUQQotICBQeUV4Y19TeXN0ZW1FcnJvcj1weXRob24zNC5QeUV4Y19TeXN0ZW1FcnJvciBEQVRBCi0gIFB5RXhjX1N5c3RlbUV4aXQ9cHl0aG9uMzQuUHlFeGNfU3lzdGVtRXhpdCBEQVRBCi0gIFB5RXhjX1RhYkVycm9yPXB5dGhvbjM0LlB5RXhjX1RhYkVycm9yIERBVEEKLSAgUHlFeGNfVHlwZUVycm9yPXB5dGhvbjM0LlB5RXhjX1R5cGVFcnJvciBEQVRBCi0gIFB5RXhjX1VuYm91bmRMb2NhbEVycm9yPXB5dGhvbjM0LlB5RXhjX1VuYm91bmRMb2NhbEVycm9yIERBVEEKLSAgUHlFeGNfVW5pY29kZURlY29kZUVycm9yPXB5dGhvbjM0LlB5RXhjX1VuaWNvZGVEZWNvZGVFcnJvciBEQVRBCi0gIFB5RXhjX1VuaWNvZGVFbmNvZGVFcnJvcj1weXRob24zNC5QeUV4Y19Vbmljb2RlRW5jb2RlRXJyb3IgREFUQQotICBQeUV4Y19Vbmljb2RlRXJyb3I9cHl0aG9uMzQuUHlFeGNfVW5pY29kZUVycm9yIERBVEEKLSAgUHlFeGNfVW5pY29kZVRyYW5zbGF0ZUVycm9yPXB5dGhvbjM0LlB5RXhjX1VuaWNvZGVUcmFuc2xhdGVFcnJvciBEQVRBCi0gIFB5RXhjX1VuaWNvZGVXYXJuaW5nPXB5dGhvbjM0LlB5RXhjX1VuaWNvZGVXYXJuaW5nIERBVEEKLSAgUHlFeGNfVXNlcldhcm5pbmc9cHl0aG9uMzQuUHlFeGNfVXNlcldhcm5pbmcgREFUQQotICBQeUV4Y19WYWx1ZUVycm9yPXB5dGhvbjM0LlB5RXhjX1ZhbHVlRXJyb3IgREFUQQotICBQeUV4Y19XYXJuaW5nPXB5dGhvbjM0LlB5RXhjX1dhcm5pbmcgREFUQQotICBQeUV4Y19aZXJvRGl2aXNpb25FcnJvcj1weXRob24zNC5QeUV4Y19aZXJvRGl2aXNpb25FcnJvciBEQVRBCi0gIFB5RXhjZXB0aW9uX0dldENhdXNlPXB5dGhvbjM0LlB5RXhjZXB0aW9uX0dldENhdXNlCi0gIFB5RXhjZXB0aW9uX0dldENvbnRleHQ9cHl0aG9uMzQuUHlFeGNlcHRpb25fR2V0Q29udGV4dAotICBQeUV4Y2VwdGlvbl9HZXRUcmFjZWJhY2s9cHl0aG9uMzQuUHlFeGNlcHRpb25fR2V0VHJhY2ViYWNrCi0gIFB5RXhjZXB0aW9uX1NldENhdXNlPXB5dGhvbjM0LlB5RXhjZXB0aW9uX1NldENhdXNlCi0gIFB5RXhjZXB0aW9uX1NldENvbnRleHQ9cHl0aG9uMzQuUHlFeGNlcHRpb25fU2V0Q29udGV4dAotICBQeUV4Y2VwdGlvbl9TZXRUcmFjZWJhY2s9cHl0aG9uMzQuUHlFeGNlcHRpb25fU2V0VHJhY2ViYWNrCi0gIFB5RmlsZV9Gcm9tRmQ9cHl0aG9uMzQuUHlGaWxlX0Zyb21GZAotICBQeUZpbGVfR2V0TGluZT1weXRob24zNC5QeUZpbGVfR2V0TGluZQotICBQeUZpbGVfV3JpdGVPYmplY3Q9cHl0aG9uMzQuUHlGaWxlX1dyaXRlT2JqZWN0Ci0gIFB5RmlsZV9Xcml0ZVN0cmluZz1weXRob24zNC5QeUZpbGVfV3JpdGVTdHJpbmcKLSAgUHlGaWx0ZXJfVHlwZT1weXRob24zNC5QeUZpbHRlcl9UeXBlIERBVEEKLSAgUHlGbG9hdF9Bc0RvdWJsZT1weXRob24zNC5QeUZsb2F0X0FzRG91YmxlCi0gIFB5RmxvYXRfRnJvbURvdWJsZT1weXRob24zNC5QeUZsb2F0X0Zyb21Eb3VibGUKLSAgUHlGbG9hdF9Gcm9tU3RyaW5nPXB5dGhvbjM0LlB5RmxvYXRfRnJvbVN0cmluZwotICBQeUZsb2F0X0dldEluZm89cHl0aG9uMzQuUHlGbG9hdF9HZXRJbmZvCi0gIFB5RmxvYXRfR2V0TWF4PXB5dGhvbjM0LlB5RmxvYXRfR2V0TWF4Ci0gIFB5RmxvYXRfR2V0TWluPXB5dGhvbjM0LlB5RmxvYXRfR2V0TWluCi0gIFB5RmxvYXRfVHlwZT1weXRob24zNC5QeUZsb2F0X1R5cGUgREFUQQotICBQeUZyb3plblNldF9OZXc9cHl0aG9uMzQuUHlGcm96ZW5TZXRfTmV3Ci0gIFB5RnJvemVuU2V0X1R5cGU9cHl0aG9uMzQuUHlGcm96ZW5TZXRfVHlwZSBEQVRBCi0gIFB5R0NfQ29sbGVjdD1weXRob24zNC5QeUdDX0NvbGxlY3QKLSAgUHlHSUxTdGF0ZV9FbnN1cmU9cHl0aG9uMzQuUHlHSUxTdGF0ZV9FbnN1cmUKLSAgUHlHSUxTdGF0ZV9HZXRUaGlzVGhyZWFkU3RhdGU9cHl0aG9uMzQuUHlHSUxTdGF0ZV9HZXRUaGlzVGhyZWFkU3RhdGUKLSAgUHlHSUxTdGF0ZV9SZWxlYXNlPXB5dGhvbjM0LlB5R0lMU3RhdGVfUmVsZWFzZQotICBQeUdldFNldERlc2NyX1R5cGU9cHl0aG9uMzQuUHlHZXRTZXREZXNjcl9UeXBlIERBVEEKLSAgUHlJbXBvcnRfQWRkTW9kdWxlPXB5dGhvbjM0LlB5SW1wb3J0X0FkZE1vZHVsZQotICBQeUltcG9ydF9BcHBlbmRJbml0dGFiPXB5dGhvbjM0LlB5SW1wb3J0X0FwcGVuZEluaXR0YWIKLSAgUHlJbXBvcnRfQ2xlYW51cD1weXRob24zNC5QeUltcG9ydF9DbGVhbnVwCi0gIFB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlPXB5dGhvbjM0LlB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlCi0gIFB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlRXg9cHl0aG9uMzQuUHlJbXBvcnRfRXhlY0NvZGVNb2R1bGVFeAotICBQeUltcG9ydF9FeGVjQ29kZU1vZHVsZVdpdGhQYXRobmFtZXM9cHl0aG9uMzQuUHlJbXBvcnRfRXhlY0NvZGVNb2R1bGVXaXRoUGF0aG5hbWVzCi0gIFB5SW1wb3J0X0dldEltcG9ydGVyPXB5dGhvbjM0LlB5SW1wb3J0X0dldEltcG9ydGVyCi0gIFB5SW1wb3J0X0dldE1hZ2ljTnVtYmVyPXB5dGhvbjM0LlB5SW1wb3J0X0dldE1hZ2ljTnVtYmVyCi0gIFB5SW1wb3J0X0dldE1hZ2ljVGFnPXB5dGhvbjM0LlB5SW1wb3J0X0dldE1hZ2ljVGFnCi0gIFB5SW1wb3J0X0dldE1vZHVsZURpY3Q9cHl0aG9uMzQuUHlJbXBvcnRfR2V0TW9kdWxlRGljdAotICBQeUltcG9ydF9JbXBvcnQ9cHl0aG9uMzQuUHlJbXBvcnRfSW1wb3J0Ci0gIFB5SW1wb3J0X0ltcG9ydEZyb3plbk1vZHVsZT1weXRob24zNC5QeUltcG9ydF9JbXBvcnRGcm96ZW5Nb2R1bGUKLSAgUHlJbXBvcnRfSW1wb3J0TW9kdWxlPXB5dGhvbjM0LlB5SW1wb3J0X0ltcG9ydE1vZHVsZQotICBQeUltcG9ydF9JbXBvcnRNb2R1bGVMZXZlbD1weXRob24zNC5QeUltcG9ydF9JbXBvcnRNb2R1bGVMZXZlbAotICBQeUltcG9ydF9JbXBvcnRNb2R1bGVOb0Jsb2NrPXB5dGhvbjM0LlB5SW1wb3J0X0ltcG9ydE1vZHVsZU5vQmxvY2sKLSAgUHlJbXBvcnRfUmVsb2FkTW9kdWxlPXB5dGhvbjM0LlB5SW1wb3J0X1JlbG9hZE1vZHVsZQotICBQeUludGVycHJldGVyU3RhdGVfQ2xlYXI9cHl0aG9uMzQuUHlJbnRlcnByZXRlclN0YXRlX0NsZWFyCi0gIFB5SW50ZXJwcmV0ZXJTdGF0ZV9EZWxldGU9cHl0aG9uMzQuUHlJbnRlcnByZXRlclN0YXRlX0RlbGV0ZQotICBQeUludGVycHJldGVyU3RhdGVfTmV3PXB5dGhvbjM0LlB5SW50ZXJwcmV0ZXJTdGF0ZV9OZXcKLSAgUHlJdGVyX05leHQ9cHl0aG9uMzQuUHlJdGVyX05leHQKLSAgUHlMaXN0SXRlcl9UeXBlPXB5dGhvbjM0LlB5TGlzdEl0ZXJfVHlwZSBEQVRBCi0gIFB5TGlzdFJldkl0ZXJfVHlwZT1weXRob24zNC5QeUxpc3RSZXZJdGVyX1R5cGUgREFUQQotICBQeUxpc3RfQXBwZW5kPXB5dGhvbjM0LlB5TGlzdF9BcHBlbmQKLSAgUHlMaXN0X0FzVHVwbGU9cHl0aG9uMzQuUHlMaXN0X0FzVHVwbGUKLSAgUHlMaXN0X0dldEl0ZW09cHl0aG9uMzQuUHlMaXN0X0dldEl0ZW0KLSAgUHlMaXN0X0dldFNsaWNlPXB5dGhvbjM0LlB5TGlzdF9HZXRTbGljZQotICBQeUxpc3RfSW5zZXJ0PXB5dGhvbjM0LlB5TGlzdF9JbnNlcnQKLSAgUHlMaXN0X05ldz1weXRob24zNC5QeUxpc3RfTmV3Ci0gIFB5TGlzdF9SZXZlcnNlPXB5dGhvbjM0LlB5TGlzdF9SZXZlcnNlCi0gIFB5TGlzdF9TZXRJdGVtPXB5dGhvbjM0LlB5TGlzdF9TZXRJdGVtCi0gIFB5TGlzdF9TZXRTbGljZT1weXRob24zNC5QeUxpc3RfU2V0U2xpY2UKLSAgUHlMaXN0X1NpemU9cHl0aG9uMzQuUHlMaXN0X1NpemUKLSAgUHlMaXN0X1NvcnQ9cHl0aG9uMzQuUHlMaXN0X1NvcnQKLSAgUHlMaXN0X1R5cGU9cHl0aG9uMzQuUHlMaXN0X1R5cGUgREFUQQotICBQeUxvbmdSYW5nZUl0ZXJfVHlwZT1weXRob24zNC5QeUxvbmdSYW5nZUl0ZXJfVHlwZSBEQVRBCi0gIFB5TG9uZ19Bc0RvdWJsZT1weXRob24zNC5QeUxvbmdfQXNEb3VibGUKLSAgUHlMb25nX0FzTG9uZz1weXRob24zNC5QeUxvbmdfQXNMb25nCi0gIFB5TG9uZ19Bc0xvbmdBbmRPdmVyZmxvdz1weXRob24zNC5QeUxvbmdfQXNMb25nQW5kT3ZlcmZsb3cKLSAgUHlMb25nX0FzTG9uZ0xvbmc9cHl0aG9uMzQuUHlMb25nX0FzTG9uZ0xvbmcKLSAgUHlMb25nX0FzTG9uZ0xvbmdBbmRPdmVyZmxvdz1weXRob24zNC5QeUxvbmdfQXNMb25nTG9uZ0FuZE92ZXJmbG93Ci0gIFB5TG9uZ19Bc1NpemVfdD1weXRob24zNC5QeUxvbmdfQXNTaXplX3QKLSAgUHlMb25nX0FzU3NpemVfdD1weXRob24zNC5QeUxvbmdfQXNTc2l6ZV90Ci0gIFB5TG9uZ19Bc1Vuc2lnbmVkTG9uZz1weXRob24zNC5QeUxvbmdfQXNVbnNpZ25lZExvbmcKLSAgUHlMb25nX0FzVW5zaWduZWRMb25nTG9uZz1weXRob24zNC5QeUxvbmdfQXNVbnNpZ25lZExvbmdMb25nCi0gIFB5TG9uZ19Bc1Vuc2lnbmVkTG9uZ0xvbmdNYXNrPXB5dGhvbjM0LlB5TG9uZ19Bc1Vuc2lnbmVkTG9uZ0xvbmdNYXNrCi0gIFB5TG9uZ19Bc1Vuc2lnbmVkTG9uZ01hc2s9cHl0aG9uMzQuUHlMb25nX0FzVW5zaWduZWRMb25nTWFzawotICBQeUxvbmdfQXNWb2lkUHRyPXB5dGhvbjM0LlB5TG9uZ19Bc1ZvaWRQdHIKLSAgUHlMb25nX0Zyb21Eb3VibGU9cHl0aG9uMzQuUHlMb25nX0Zyb21Eb3VibGUKLSAgUHlMb25nX0Zyb21Mb25nPXB5dGhvbjM0LlB5TG9uZ19Gcm9tTG9uZwotICBQeUxvbmdfRnJvbUxvbmdMb25nPXB5dGhvbjM0LlB5TG9uZ19Gcm9tTG9uZ0xvbmcKLSAgUHlMb25nX0Zyb21TaXplX3Q9cHl0aG9uMzQuUHlMb25nX0Zyb21TaXplX3QKLSAgUHlMb25nX0Zyb21Tc2l6ZV90PXB5dGhvbjM0LlB5TG9uZ19Gcm9tU3NpemVfdAotICBQeUxvbmdfRnJvbVN0cmluZz1weXRob24zNC5QeUxvbmdfRnJvbVN0cmluZwotICBQeUxvbmdfRnJvbVVuc2lnbmVkTG9uZz1weXRob24zNC5QeUxvbmdfRnJvbVVuc2lnbmVkTG9uZwotICBQeUxvbmdfRnJvbVVuc2lnbmVkTG9uZ0xvbmc9cHl0aG9uMzQuUHlMb25nX0Zyb21VbnNpZ25lZExvbmdMb25nCi0gIFB5TG9uZ19Gcm9tVm9pZFB0cj1weXRob24zNC5QeUxvbmdfRnJvbVZvaWRQdHIKLSAgUHlMb25nX0dldEluZm89cHl0aG9uMzQuUHlMb25nX0dldEluZm8KLSAgUHlMb25nX1R5cGU9cHl0aG9uMzQuUHlMb25nX1R5cGUgREFUQQotICBQeU1hcF9UeXBlPXB5dGhvbjM0LlB5TWFwX1R5cGUgREFUQQotICBQeU1hcHBpbmdfQ2hlY2s9cHl0aG9uMzQuUHlNYXBwaW5nX0NoZWNrCi0gIFB5TWFwcGluZ19HZXRJdGVtU3RyaW5nPXB5dGhvbjM0LlB5TWFwcGluZ19HZXRJdGVtU3RyaW5nCi0gIFB5TWFwcGluZ19IYXNLZXk9cHl0aG9uMzQuUHlNYXBwaW5nX0hhc0tleQotICBQeU1hcHBpbmdfSGFzS2V5U3RyaW5nPXB5dGhvbjM0LlB5TWFwcGluZ19IYXNLZXlTdHJpbmcKLSAgUHlNYXBwaW5nX0l0ZW1zPXB5dGhvbjM0LlB5TWFwcGluZ19JdGVtcwotICBQeU1hcHBpbmdfS2V5cz1weXRob24zNC5QeU1hcHBpbmdfS2V5cwotICBQeU1hcHBpbmdfTGVuZ3RoPXB5dGhvbjM0LlB5TWFwcGluZ19MZW5ndGgKLSAgUHlNYXBwaW5nX1NldEl0ZW1TdHJpbmc9cHl0aG9uMzQuUHlNYXBwaW5nX1NldEl0ZW1TdHJpbmcKLSAgUHlNYXBwaW5nX1NpemU9cHl0aG9uMzQuUHlNYXBwaW5nX1NpemUKLSAgUHlNYXBwaW5nX1ZhbHVlcz1weXRob24zNC5QeU1hcHBpbmdfVmFsdWVzCi0gIFB5TWVtX0ZyZWU9cHl0aG9uMzQuUHlNZW1fRnJlZQotICBQeU1lbV9NYWxsb2M9cHl0aG9uMzQuUHlNZW1fTWFsbG9jCi0gIFB5TWVtX1JlYWxsb2M9cHl0aG9uMzQuUHlNZW1fUmVhbGxvYwotICBQeU1lbWJlckRlc2NyX1R5cGU9cHl0aG9uMzQuUHlNZW1iZXJEZXNjcl9UeXBlIERBVEEKLSAgUHlNZW1vcnlWaWV3X0Zyb21PYmplY3Q9cHl0aG9uMzQuUHlNZW1vcnlWaWV3X0Zyb21PYmplY3QKLSAgUHlNZW1vcnlWaWV3X0dldENvbnRpZ3VvdXM9cHl0aG9uMzQuUHlNZW1vcnlWaWV3X0dldENvbnRpZ3VvdXMKLSAgUHlNZW1vcnlWaWV3X1R5cGU9cHl0aG9uMzQuUHlNZW1vcnlWaWV3X1R5cGUgREFUQQotICBQeU1ldGhvZERlc2NyX1R5cGU9cHl0aG9uMzQuUHlNZXRob2REZXNjcl9UeXBlIERBVEEKLSAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQ9cHl0aG9uMzQuUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQKLSAgUHlNb2R1bGVfQWRkT2JqZWN0PXB5dGhvbjM0LlB5TW9kdWxlX0FkZE9iamVjdAotICBQeU1vZHVsZV9BZGRTdHJpbmdDb25zdGFudD1weXRob24zNC5QeU1vZHVsZV9BZGRTdHJpbmdDb25zdGFudAotICBQeU1vZHVsZV9DcmVhdGUyPXB5dGhvbjM0LlB5TW9kdWxlX0NyZWF0ZTIKLSAgUHlNb2R1bGVfR2V0RGVmPXB5dGhvbjM0LlB5TW9kdWxlX0dldERlZgotICBQeU1vZHVsZV9HZXREaWN0PXB5dGhvbjM0LlB5TW9kdWxlX0dldERpY3QKLSAgUHlNb2R1bGVfR2V0RmlsZW5hbWU9cHl0aG9uMzQuUHlNb2R1bGVfR2V0RmlsZW5hbWUKLSAgUHlNb2R1bGVfR2V0RmlsZW5hbWVPYmplY3Q9cHl0aG9uMzQuUHlNb2R1bGVfR2V0RmlsZW5hbWVPYmplY3QKLSAgUHlNb2R1bGVfR2V0TmFtZT1weXRob24zNC5QeU1vZHVsZV9HZXROYW1lCi0gIFB5TW9kdWxlX0dldFN0YXRlPXB5dGhvbjM0LlB5TW9kdWxlX0dldFN0YXRlCi0gIFB5TW9kdWxlX05ldz1weXRob24zNC5QeU1vZHVsZV9OZXcKLSAgUHlNb2R1bGVfVHlwZT1weXRob24zNC5QeU1vZHVsZV9UeXBlIERBVEEKLSAgUHlOdWxsSW1wb3J0ZXJfVHlwZT1weXRob24zNC5QeU51bGxJbXBvcnRlcl9UeXBlIERBVEEKLSAgUHlOdW1iZXJfQWJzb2x1dGU9cHl0aG9uMzQuUHlOdW1iZXJfQWJzb2x1dGUKLSAgUHlOdW1iZXJfQWRkPXB5dGhvbjM0LlB5TnVtYmVyX0FkZAotICBQeU51bWJlcl9BbmQ9cHl0aG9uMzQuUHlOdW1iZXJfQW5kCi0gIFB5TnVtYmVyX0FzU3NpemVfdD1weXRob24zNC5QeU51bWJlcl9Bc1NzaXplX3QKLSAgUHlOdW1iZXJfQ2hlY2s9cHl0aG9uMzQuUHlOdW1iZXJfQ2hlY2sKLSAgUHlOdW1iZXJfRGl2bW9kPXB5dGhvbjM0LlB5TnVtYmVyX0Rpdm1vZAotICBQeU51bWJlcl9GbG9hdD1weXRob24zNC5QeU51bWJlcl9GbG9hdAotICBQeU51bWJlcl9GbG9vckRpdmlkZT1weXRob24zNC5QeU51bWJlcl9GbG9vckRpdmlkZQotICBQeU51bWJlcl9JblBsYWNlQWRkPXB5dGhvbjM0LlB5TnVtYmVyX0luUGxhY2VBZGQKLSAgUHlOdW1iZXJfSW5QbGFjZUFuZD1weXRob24zNC5QeU51bWJlcl9JblBsYWNlQW5kCi0gIFB5TnVtYmVyX0luUGxhY2VGbG9vckRpdmlkZT1weXRob24zNC5QeU51bWJlcl9JblBsYWNlRmxvb3JEaXZpZGUKLSAgUHlOdW1iZXJfSW5QbGFjZUxzaGlmdD1weXRob24zNC5QeU51bWJlcl9JblBsYWNlTHNoaWZ0Ci0gIFB5TnVtYmVyX0luUGxhY2VNdWx0aXBseT1weXRob24zNC5QeU51bWJlcl9JblBsYWNlTXVsdGlwbHkKLSAgUHlOdW1iZXJfSW5QbGFjZU9yPXB5dGhvbjM0LlB5TnVtYmVyX0luUGxhY2VPcgotICBQeU51bWJlcl9JblBsYWNlUG93ZXI9cHl0aG9uMzQuUHlOdW1iZXJfSW5QbGFjZVBvd2VyCi0gIFB5TnVtYmVyX0luUGxhY2VSZW1haW5kZXI9cHl0aG9uMzQuUHlOdW1iZXJfSW5QbGFjZVJlbWFpbmRlcgotICBQeU51bWJlcl9JblBsYWNlUnNoaWZ0PXB5dGhvbjM0LlB5TnVtYmVyX0luUGxhY2VSc2hpZnQKLSAgUHlOdW1iZXJfSW5QbGFjZVN1YnRyYWN0PXB5dGhvbjM0LlB5TnVtYmVyX0luUGxhY2VTdWJ0cmFjdAotICBQeU51bWJlcl9JblBsYWNlVHJ1ZURpdmlkZT1weXRob24zNC5QeU51bWJlcl9JblBsYWNlVHJ1ZURpdmlkZQotICBQeU51bWJlcl9JblBsYWNlWG9yPXB5dGhvbjM0LlB5TnVtYmVyX0luUGxhY2VYb3IKLSAgUHlOdW1iZXJfSW5kZXg9cHl0aG9uMzQuUHlOdW1iZXJfSW5kZXgKLSAgUHlOdW1iZXJfSW52ZXJ0PXB5dGhvbjM0LlB5TnVtYmVyX0ludmVydAotICBQeU51bWJlcl9Mb25nPXB5dGhvbjM0LlB5TnVtYmVyX0xvbmcKLSAgUHlOdW1iZXJfTHNoaWZ0PXB5dGhvbjM0LlB5TnVtYmVyX0xzaGlmdAotICBQeU51bWJlcl9NdWx0aXBseT1weXRob24zNC5QeU51bWJlcl9NdWx0aXBseQotICBQeU51bWJlcl9OZWdhdGl2ZT1weXRob24zNC5QeU51bWJlcl9OZWdhdGl2ZQotICBQeU51bWJlcl9Pcj1weXRob24zNC5QeU51bWJlcl9PcgotICBQeU51bWJlcl9Qb3NpdGl2ZT1weXRob24zNC5QeU51bWJlcl9Qb3NpdGl2ZQotICBQeU51bWJlcl9Qb3dlcj1weXRob24zNC5QeU51bWJlcl9Qb3dlcgotICBQeU51bWJlcl9SZW1haW5kZXI9cHl0aG9uMzQuUHlOdW1iZXJfUmVtYWluZGVyCi0gIFB5TnVtYmVyX1JzaGlmdD1weXRob24zNC5QeU51bWJlcl9Sc2hpZnQKLSAgUHlOdW1iZXJfU3VidHJhY3Q9cHl0aG9uMzQuUHlOdW1iZXJfU3VidHJhY3QKLSAgUHlOdW1iZXJfVG9CYXNlPXB5dGhvbjM0LlB5TnVtYmVyX1RvQmFzZQotICBQeU51bWJlcl9UcnVlRGl2aWRlPXB5dGhvbjM0LlB5TnVtYmVyX1RydWVEaXZpZGUKLSAgUHlOdW1iZXJfWG9yPXB5dGhvbjM0LlB5TnVtYmVyX1hvcgotICBQeU9TX0FmdGVyRm9yaz1weXRob24zNC5QeU9TX0FmdGVyRm9yawotICBQeU9TX0luaXRJbnRlcnJ1cHRzPXB5dGhvbjM0LlB5T1NfSW5pdEludGVycnVwdHMKLSAgUHlPU19JbnB1dEhvb2s9cHl0aG9uMzQuUHlPU19JbnB1dEhvb2sgREFUQQotICBQeU9TX0ludGVycnVwdE9jY3VycmVkPXB5dGhvbjM0LlB5T1NfSW50ZXJydXB0T2NjdXJyZWQKLSAgUHlPU19SZWFkbGluZUZ1bmN0aW9uUG9pbnRlcj1weXRob24zNC5QeU9TX1JlYWRsaW5lRnVuY3Rpb25Qb2ludGVyIERBVEEKLSAgUHlPU19kb3VibGVfdG9fc3RyaW5nPXB5dGhvbjM0LlB5T1NfZG91YmxlX3RvX3N0cmluZwotICBQeU9TX2dldHNpZz1weXRob24zNC5QeU9TX2dldHNpZwotICBQeU9TX215c3RyaWNtcD1weXRob24zNC5QeU9TX215c3RyaWNtcAotICBQeU9TX215c3RybmljbXA9cHl0aG9uMzQuUHlPU19teXN0cm5pY21wCi0gIFB5T1Nfc2V0c2lnPXB5dGhvbjM0LlB5T1Nfc2V0c2lnCi0gIFB5T1Nfc25wcmludGY9cHl0aG9uMzQuUHlPU19zbnByaW50ZgotICBQeU9TX3N0cmluZ190b19kb3VibGU9cHl0aG9uMzQuUHlPU19zdHJpbmdfdG9fZG91YmxlCi0gIFB5T1Nfc3RydG9sPXB5dGhvbjM0LlB5T1Nfc3RydG9sCi0gIFB5T1Nfc3RydG91bD1weXRob24zNC5QeU9TX3N0cnRvdWwKLSAgUHlPU192c25wcmludGY9cHl0aG9uMzQuUHlPU192c25wcmludGYKLSAgUHlPYmplY3RfQVNDSUk9cHl0aG9uMzQuUHlPYmplY3RfQVNDSUkKLSAgUHlPYmplY3RfQXNDaGFyQnVmZmVyPXB5dGhvbjM0LlB5T2JqZWN0X0FzQ2hhckJ1ZmZlcgotICBQeU9iamVjdF9Bc0ZpbGVEZXNjcmlwdG9yPXB5dGhvbjM0LlB5T2JqZWN0X0FzRmlsZURlc2NyaXB0b3IKLSAgUHlPYmplY3RfQXNSZWFkQnVmZmVyPXB5dGhvbjM0LlB5T2JqZWN0X0FzUmVhZEJ1ZmZlcgotICBQeU9iamVjdF9Bc1dyaXRlQnVmZmVyPXB5dGhvbjM0LlB5T2JqZWN0X0FzV3JpdGVCdWZmZXIKLSAgUHlPYmplY3RfQnl0ZXM9cHl0aG9uMzQuUHlPYmplY3RfQnl0ZXMKLSAgUHlPYmplY3RfQ2FsbD1weXRob24zNC5QeU9iamVjdF9DYWxsCi0gIFB5T2JqZWN0X0NhbGxGdW5jdGlvbj1weXRob24zNC5QeU9iamVjdF9DYWxsRnVuY3Rpb24KLSAgUHlPYmplY3RfQ2FsbEZ1bmN0aW9uT2JqQXJncz1weXRob24zNC5QeU9iamVjdF9DYWxsRnVuY3Rpb25PYmpBcmdzCi0gIFB5T2JqZWN0X0NhbGxNZXRob2Q9cHl0aG9uMzQuUHlPYmplY3RfQ2FsbE1ldGhvZAotICBQeU9iamVjdF9DYWxsTWV0aG9kT2JqQXJncz1weXRob24zNC5QeU9iamVjdF9DYWxsTWV0aG9kT2JqQXJncwotICBQeU9iamVjdF9DYWxsT2JqZWN0PXB5dGhvbjM0LlB5T2JqZWN0X0NhbGxPYmplY3QKLSAgUHlPYmplY3RfQ2hlY2tSZWFkQnVmZmVyPXB5dGhvbjM0LlB5T2JqZWN0X0NoZWNrUmVhZEJ1ZmZlcgotICBQeU9iamVjdF9DbGVhcldlYWtSZWZzPXB5dGhvbjM0LlB5T2JqZWN0X0NsZWFyV2Vha1JlZnMKLSAgUHlPYmplY3RfRGVsSXRlbT1weXRob24zNC5QeU9iamVjdF9EZWxJdGVtCi0gIFB5T2JqZWN0X0RlbEl0ZW1TdHJpbmc9cHl0aG9uMzQuUHlPYmplY3RfRGVsSXRlbVN0cmluZwotICBQeU9iamVjdF9EaXI9cHl0aG9uMzQuUHlPYmplY3RfRGlyCi0gIFB5T2JqZWN0X0Zvcm1hdD1weXRob24zNC5QeU9iamVjdF9Gb3JtYXQKLSAgUHlPYmplY3RfRnJlZT1weXRob24zNC5QeU9iamVjdF9GcmVlCi0gIFB5T2JqZWN0X0dDX0RlbD1weXRob24zNC5QeU9iamVjdF9HQ19EZWwKLSAgUHlPYmplY3RfR0NfVHJhY2s9cHl0aG9uMzQuUHlPYmplY3RfR0NfVHJhY2sKLSAgUHlPYmplY3RfR0NfVW5UcmFjaz1weXRob24zNC5QeU9iamVjdF9HQ19VblRyYWNrCi0gIFB5T2JqZWN0X0dlbmVyaWNHZXRBdHRyPXB5dGhvbjM0LlB5T2JqZWN0X0dlbmVyaWNHZXRBdHRyCi0gIFB5T2JqZWN0X0dlbmVyaWNTZXRBdHRyPXB5dGhvbjM0LlB5T2JqZWN0X0dlbmVyaWNTZXRBdHRyCi0gIFB5T2JqZWN0X0dldEF0dHI9cHl0aG9uMzQuUHlPYmplY3RfR2V0QXR0cgotICBQeU9iamVjdF9HZXRBdHRyU3RyaW5nPXB5dGhvbjM0LlB5T2JqZWN0X0dldEF0dHJTdHJpbmcKLSAgUHlPYmplY3RfR2V0SXRlbT1weXRob24zNC5QeU9iamVjdF9HZXRJdGVtCi0gIFB5T2JqZWN0X0dldEl0ZXI9cHl0aG9uMzQuUHlPYmplY3RfR2V0SXRlcgotICBQeU9iamVjdF9IYXNBdHRyPXB5dGhvbjM0LlB5T2JqZWN0X0hhc0F0dHIKLSAgUHlPYmplY3RfSGFzQXR0clN0cmluZz1weXRob24zNC5QeU9iamVjdF9IYXNBdHRyU3RyaW5nCi0gIFB5T2JqZWN0X0hhc2g9cHl0aG9uMzQuUHlPYmplY3RfSGFzaAotICBQeU9iamVjdF9IYXNoTm90SW1wbGVtZW50ZWQ9cHl0aG9uMzQuUHlPYmplY3RfSGFzaE5vdEltcGxlbWVudGVkCi0gIFB5T2JqZWN0X0luaXQ9cHl0aG9uMzQuUHlPYmplY3RfSW5pdAotICBQeU9iamVjdF9Jbml0VmFyPXB5dGhvbjM0LlB5T2JqZWN0X0luaXRWYXIKLSAgUHlPYmplY3RfSXNJbnN0YW5jZT1weXRob24zNC5QeU9iamVjdF9Jc0luc3RhbmNlCi0gIFB5T2JqZWN0X0lzU3ViY2xhc3M9cHl0aG9uMzQuUHlPYmplY3RfSXNTdWJjbGFzcwotICBQeU9iamVjdF9Jc1RydWU9cHl0aG9uMzQuUHlPYmplY3RfSXNUcnVlCi0gIFB5T2JqZWN0X0xlbmd0aD1weXRob24zNC5QeU9iamVjdF9MZW5ndGgKLSAgUHlPYmplY3RfTWFsbG9jPXB5dGhvbjM0LlB5T2JqZWN0X01hbGxvYwotICBQeU9iamVjdF9Ob3Q9cHl0aG9uMzQuUHlPYmplY3RfTm90Ci0gIFB5T2JqZWN0X1JlYWxsb2M9cHl0aG9uMzQuUHlPYmplY3RfUmVhbGxvYwotICBQeU9iamVjdF9SZXByPXB5dGhvbjM0LlB5T2JqZWN0X1JlcHIKLSAgUHlPYmplY3RfUmljaENvbXBhcmU9cHl0aG9uMzQuUHlPYmplY3RfUmljaENvbXBhcmUKLSAgUHlPYmplY3RfUmljaENvbXBhcmVCb29sPXB5dGhvbjM0LlB5T2JqZWN0X1JpY2hDb21wYXJlQm9vbAotICBQeU9iamVjdF9TZWxmSXRlcj1weXRob24zNC5QeU9iamVjdF9TZWxmSXRlcgotICBQeU9iamVjdF9TZXRBdHRyPXB5dGhvbjM0LlB5T2JqZWN0X1NldEF0dHIKLSAgUHlPYmplY3RfU2V0QXR0clN0cmluZz1weXRob24zNC5QeU9iamVjdF9TZXRBdHRyU3RyaW5nCi0gIFB5T2JqZWN0X1NldEl0ZW09cHl0aG9uMzQuUHlPYmplY3RfU2V0SXRlbQotICBQeU9iamVjdF9TaXplPXB5dGhvbjM0LlB5T2JqZWN0X1NpemUKLSAgUHlPYmplY3RfU3RyPXB5dGhvbjM0LlB5T2JqZWN0X1N0cgotICBQeU9iamVjdF9UeXBlPXB5dGhvbjM0LlB5T2JqZWN0X1R5cGUgREFUQQotICBQeVBhcnNlcl9TaW1wbGVQYXJzZUZpbGVGbGFncz1weXRob24zNC5QeVBhcnNlcl9TaW1wbGVQYXJzZUZpbGVGbGFncwotICBQeVBhcnNlcl9TaW1wbGVQYXJzZVN0cmluZ0ZsYWdzPXB5dGhvbjM0LlB5UGFyc2VyX1NpbXBsZVBhcnNlU3RyaW5nRmxhZ3MKLSAgUHlQcm9wZXJ0eV9UeXBlPXB5dGhvbjM0LlB5UHJvcGVydHlfVHlwZSBEQVRBCi0gIFB5UmFuZ2VJdGVyX1R5cGU9cHl0aG9uMzQuUHlSYW5nZUl0ZXJfVHlwZSBEQVRBCi0gIFB5UmFuZ2VfVHlwZT1weXRob24zNC5QeVJhbmdlX1R5cGUgREFUQQotICBQeVJldmVyc2VkX1R5cGU9cHl0aG9uMzQuUHlSZXZlcnNlZF9UeXBlIERBVEEKLSAgUHlTZXFJdGVyX05ldz1weXRob24zNC5QeVNlcUl0ZXJfTmV3Ci0gIFB5U2VxSXRlcl9UeXBlPXB5dGhvbjM0LlB5U2VxSXRlcl9UeXBlIERBVEEKLSAgUHlTZXF1ZW5jZV9DaGVjaz1weXRob24zNC5QeVNlcXVlbmNlX0NoZWNrCi0gIFB5U2VxdWVuY2VfQ29uY2F0PXB5dGhvbjM0LlB5U2VxdWVuY2VfQ29uY2F0Ci0gIFB5U2VxdWVuY2VfQ29udGFpbnM9cHl0aG9uMzQuUHlTZXF1ZW5jZV9Db250YWlucwotICBQeVNlcXVlbmNlX0NvdW50PXB5dGhvbjM0LlB5U2VxdWVuY2VfQ291bnQKLSAgUHlTZXF1ZW5jZV9EZWxJdGVtPXB5dGhvbjM0LlB5U2VxdWVuY2VfRGVsSXRlbQotICBQeVNlcXVlbmNlX0RlbFNsaWNlPXB5dGhvbjM0LlB5U2VxdWVuY2VfRGVsU2xpY2UKLSAgUHlTZXF1ZW5jZV9GYXN0PXB5dGhvbjM0LlB5U2VxdWVuY2VfRmFzdAotICBQeVNlcXVlbmNlX0dldEl0ZW09cHl0aG9uMzQuUHlTZXF1ZW5jZV9HZXRJdGVtCi0gIFB5U2VxdWVuY2VfR2V0U2xpY2U9cHl0aG9uMzQuUHlTZXF1ZW5jZV9HZXRTbGljZQotICBQeVNlcXVlbmNlX0luPXB5dGhvbjM0LlB5U2VxdWVuY2VfSW4KLSAgUHlTZXF1ZW5jZV9JblBsYWNlQ29uY2F0PXB5dGhvbjM0LlB5U2VxdWVuY2VfSW5QbGFjZUNvbmNhdAotICBQeVNlcXVlbmNlX0luUGxhY2VSZXBlYXQ9cHl0aG9uMzQuUHlTZXF1ZW5jZV9JblBsYWNlUmVwZWF0Ci0gIFB5U2VxdWVuY2VfSW5kZXg9cHl0aG9uMzQuUHlTZXF1ZW5jZV9JbmRleAotICBQeVNlcXVlbmNlX0xlbmd0aD1weXRob24zNC5QeVNlcXVlbmNlX0xlbmd0aAotICBQeVNlcXVlbmNlX0xpc3Q9cHl0aG9uMzQuUHlTZXF1ZW5jZV9MaXN0Ci0gIFB5U2VxdWVuY2VfUmVwZWF0PXB5dGhvbjM0LlB5U2VxdWVuY2VfUmVwZWF0Ci0gIFB5U2VxdWVuY2VfU2V0SXRlbT1weXRob24zNC5QeVNlcXVlbmNlX1NldEl0ZW0KLSAgUHlTZXF1ZW5jZV9TZXRTbGljZT1weXRob24zNC5QeVNlcXVlbmNlX1NldFNsaWNlCi0gIFB5U2VxdWVuY2VfU2l6ZT1weXRob24zNC5QeVNlcXVlbmNlX1NpemUKLSAgUHlTZXF1ZW5jZV9UdXBsZT1weXRob24zNC5QeVNlcXVlbmNlX1R1cGxlCi0gIFB5U2V0SXRlcl9UeXBlPXB5dGhvbjM0LlB5U2V0SXRlcl9UeXBlIERBVEEKLSAgUHlTZXRfQWRkPXB5dGhvbjM0LlB5U2V0X0FkZAotICBQeVNldF9DbGVhcj1weXRob24zNC5QeVNldF9DbGVhcgotICBQeVNldF9Db250YWlucz1weXRob24zNC5QeVNldF9Db250YWlucwotICBQeVNldF9EaXNjYXJkPXB5dGhvbjM0LlB5U2V0X0Rpc2NhcmQKLSAgUHlTZXRfTmV3PXB5dGhvbjM0LlB5U2V0X05ldwotICBQeVNldF9Qb3A9cHl0aG9uMzQuUHlTZXRfUG9wCi0gIFB5U2V0X1NpemU9cHl0aG9uMzQuUHlTZXRfU2l6ZQotICBQeVNldF9UeXBlPXB5dGhvbjM0LlB5U2V0X1R5cGUgREFUQQotICBQeVNsaWNlX0dldEluZGljZXM9cHl0aG9uMzQuUHlTbGljZV9HZXRJbmRpY2VzCi0gIFB5U2xpY2VfR2V0SW5kaWNlc0V4PXB5dGhvbjM0LlB5U2xpY2VfR2V0SW5kaWNlc0V4Ci0gIFB5U2xpY2VfTmV3PXB5dGhvbjM0LlB5U2xpY2VfTmV3Ci0gIFB5U2xpY2VfVHlwZT1weXRob24zNC5QeVNsaWNlX1R5cGUgREFUQQotICBQeVNvcnRXcmFwcGVyX1R5cGU9cHl0aG9uMzQuUHlTb3J0V3JhcHBlcl9UeXBlIERBVEEKLSAgUHlTdGF0ZV9GaW5kTW9kdWxlPXB5dGhvbjM0LlB5U3RhdGVfRmluZE1vZHVsZQotICBQeVN0YXRlX0FkZE1vZHVsZT1weXRob24zNC5QeVN0YXRlX0FkZE1vZHVsZQotICBQeVN0YXRlX1JlbW92ZU1vZHVsZT1weXRob24zNC5QeVN0YXRlX1JlbW92ZU1vZHVsZQotICBQeVN0cnVjdFNlcXVlbmNlX0dldEl0ZW09cHl0aG9uMzQuUHlTdHJ1Y3RTZXF1ZW5jZV9HZXRJdGVtCi0gIFB5U3RydWN0U2VxdWVuY2VfTmV3PXB5dGhvbjM0LlB5U3RydWN0U2VxdWVuY2VfTmV3Ci0gIFB5U3RydWN0U2VxdWVuY2VfTmV3VHlwZT1weXRob24zNC5QeVN0cnVjdFNlcXVlbmNlX05ld1R5cGUKLSAgUHlTdHJ1Y3RTZXF1ZW5jZV9TZXRJdGVtPXB5dGhvbjM0LlB5U3RydWN0U2VxdWVuY2VfU2V0SXRlbQotICBQeVN1cGVyX1R5cGU9cHl0aG9uMzQuUHlTdXBlcl9UeXBlIERBVEEKLSAgUHlTeXNfQWRkV2Fybk9wdGlvbj1weXRob24zNC5QeVN5c19BZGRXYXJuT3B0aW9uCi0gIFB5U3lzX0FkZFdhcm5PcHRpb25Vbmljb2RlPXB5dGhvbjM0LlB5U3lzX0FkZFdhcm5PcHRpb25Vbmljb2RlCi0gIFB5U3lzX0Zvcm1hdFN0ZGVycj1weXRob24zNC5QeVN5c19Gb3JtYXRTdGRlcnIKLSAgUHlTeXNfRm9ybWF0U3Rkb3V0PXB5dGhvbjM0LlB5U3lzX0Zvcm1hdFN0ZG91dAotICBQeVN5c19HZXRPYmplY3Q9cHl0aG9uMzQuUHlTeXNfR2V0T2JqZWN0Ci0gIFB5U3lzX0hhc1dhcm5PcHRpb25zPXB5dGhvbjM0LlB5U3lzX0hhc1dhcm5PcHRpb25zCi0gIFB5U3lzX1Jlc2V0V2Fybk9wdGlvbnM9cHl0aG9uMzQuUHlTeXNfUmVzZXRXYXJuT3B0aW9ucwotICBQeVN5c19TZXRBcmd2PXB5dGhvbjM0LlB5U3lzX1NldEFyZ3YKLSAgUHlTeXNfU2V0QXJndkV4PXB5dGhvbjM0LlB5U3lzX1NldEFyZ3ZFeAotICBQeVN5c19TZXRPYmplY3Q9cHl0aG9uMzQuUHlTeXNfU2V0T2JqZWN0Ci0gIFB5U3lzX1NldFBhdGg9cHl0aG9uMzQuUHlTeXNfU2V0UGF0aAotICBQeVN5c19Xcml0ZVN0ZGVycj1weXRob24zNC5QeVN5c19Xcml0ZVN0ZGVycgotICBQeVN5c19Xcml0ZVN0ZG91dD1weXRob24zNC5QeVN5c19Xcml0ZVN0ZG91dAotICBQeVRocmVhZFN0YXRlX0NsZWFyPXB5dGhvbjM0LlB5VGhyZWFkU3RhdGVfQ2xlYXIKLSAgUHlUaHJlYWRTdGF0ZV9EZWxldGU9cHl0aG9uMzQuUHlUaHJlYWRTdGF0ZV9EZWxldGUKLSAgUHlUaHJlYWRTdGF0ZV9EZWxldGVDdXJyZW50PXB5dGhvbjM0LlB5VGhyZWFkU3RhdGVfRGVsZXRlQ3VycmVudAotICBQeVRocmVhZFN0YXRlX0dldD1weXRob24zNC5QeVRocmVhZFN0YXRlX0dldAotICBQeVRocmVhZFN0YXRlX0dldERpY3Q9cHl0aG9uMzQuUHlUaHJlYWRTdGF0ZV9HZXREaWN0Ci0gIFB5VGhyZWFkU3RhdGVfTmV3PXB5dGhvbjM0LlB5VGhyZWFkU3RhdGVfTmV3Ci0gIFB5VGhyZWFkU3RhdGVfU2V0QXN5bmNFeGM9cHl0aG9uMzQuUHlUaHJlYWRTdGF0ZV9TZXRBc3luY0V4YwotICBQeVRocmVhZFN0YXRlX1N3YXA9cHl0aG9uMzQuUHlUaHJlYWRTdGF0ZV9Td2FwCi0gIFB5VHJhY2VCYWNrX0hlcmU9cHl0aG9uMzQuUHlUcmFjZUJhY2tfSGVyZQotICBQeVRyYWNlQmFja19QcmludD1weXRob24zNC5QeVRyYWNlQmFja19QcmludAotICBQeVRyYWNlQmFja19UeXBlPXB5dGhvbjM0LlB5VHJhY2VCYWNrX1R5cGUgREFUQQotICBQeVR1cGxlSXRlcl9UeXBlPXB5dGhvbjM0LlB5VHVwbGVJdGVyX1R5cGUgREFUQQotICBQeVR1cGxlX0NsZWFyRnJlZUxpc3Q9cHl0aG9uMzQuUHlUdXBsZV9DbGVhckZyZWVMaXN0Ci0gIFB5VHVwbGVfR2V0SXRlbT1weXRob24zNC5QeVR1cGxlX0dldEl0ZW0KLSAgUHlUdXBsZV9HZXRTbGljZT1weXRob24zNC5QeVR1cGxlX0dldFNsaWNlCi0gIFB5VHVwbGVfTmV3PXB5dGhvbjM0LlB5VHVwbGVfTmV3Ci0gIFB5VHVwbGVfUGFjaz1weXRob24zNC5QeVR1cGxlX1BhY2sKLSAgUHlUdXBsZV9TZXRJdGVtPXB5dGhvbjM0LlB5VHVwbGVfU2V0SXRlbQotICBQeVR1cGxlX1NpemU9cHl0aG9uMzQuUHlUdXBsZV9TaXplCi0gIFB5VHVwbGVfVHlwZT1weXRob24zNC5QeVR1cGxlX1R5cGUgREFUQQotICBQeVR5cGVfQ2xlYXJDYWNoZT1weXRob24zNC5QeVR5cGVfQ2xlYXJDYWNoZQotICBQeVR5cGVfRnJvbVNwZWM9cHl0aG9uMzQuUHlUeXBlX0Zyb21TcGVjCi0gIFB5VHlwZV9Gcm9tU3BlY1dpdGhCYXNlcz1weXRob24zNC5QeVR5cGVfRnJvbVNwZWNXaXRoQmFzZXMKLSAgUHlUeXBlX0dlbmVyaWNBbGxvYz1weXRob24zNC5QeVR5cGVfR2VuZXJpY0FsbG9jCi0gIFB5VHlwZV9HZW5lcmljTmV3PXB5dGhvbjM0LlB5VHlwZV9HZW5lcmljTmV3Ci0gIFB5VHlwZV9HZXRGbGFncz1weXRob24zNC5QeVR5cGVfR2V0RmxhZ3MKLSAgUHlUeXBlX0dldFNsb3Q9cHl0aG9uMzQuUHlUeXBlX0dldFNsb3QKLSAgUHlUeXBlX0lzU3VidHlwZT1weXRob24zNC5QeVR5cGVfSXNTdWJ0eXBlCi0gIFB5VHlwZV9Nb2RpZmllZD1weXRob24zNC5QeVR5cGVfTW9kaWZpZWQKLSAgUHlUeXBlX1JlYWR5PXB5dGhvbjM0LlB5VHlwZV9SZWFkeQotICBQeVR5cGVfVHlwZT1weXRob24zNC5QeVR5cGVfVHlwZSBEQVRBCi0gIFB5VW5pY29kZURlY29kZUVycm9yX0NyZWF0ZT1weXRob24zNC5QeVVuaWNvZGVEZWNvZGVFcnJvcl9DcmVhdGUKLSAgUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0RW5jb2Rpbmc9cHl0aG9uMzQuUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0RW5jb2RpbmcKLSAgUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0RW5kPXB5dGhvbjM0LlB5VW5pY29kZURlY29kZUVycm9yX0dldEVuZAotICBQeVVuaWNvZGVEZWNvZGVFcnJvcl9HZXRPYmplY3Q9cHl0aG9uMzQuUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0T2JqZWN0Ci0gIFB5VW5pY29kZURlY29kZUVycm9yX0dldFJlYXNvbj1weXRob24zNC5QeVVuaWNvZGVEZWNvZGVFcnJvcl9HZXRSZWFzb24KLSAgUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0U3RhcnQ9cHl0aG9uMzQuUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0U3RhcnQKLSAgUHlVbmljb2RlRGVjb2RlRXJyb3JfU2V0RW5kPXB5dGhvbjM0LlB5VW5pY29kZURlY29kZUVycm9yX1NldEVuZAotICBQeVVuaWNvZGVEZWNvZGVFcnJvcl9TZXRSZWFzb249cHl0aG9uMzQuUHlVbmljb2RlRGVjb2RlRXJyb3JfU2V0UmVhc29uCi0gIFB5VW5pY29kZURlY29kZUVycm9yX1NldFN0YXJ0PXB5dGhvbjM0LlB5VW5pY29kZURlY29kZUVycm9yX1NldFN0YXJ0Ci0gIFB5VW5pY29kZUVuY29kZUVycm9yX0dldEVuY29kaW5nPXB5dGhvbjM0LlB5VW5pY29kZUVuY29kZUVycm9yX0dldEVuY29kaW5nCi0gIFB5VW5pY29kZUVuY29kZUVycm9yX0dldEVuZD1weXRob24zNC5QeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRFbmQKLSAgUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0T2JqZWN0PXB5dGhvbjM0LlB5VW5pY29kZUVuY29kZUVycm9yX0dldE9iamVjdAotICBQeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRSZWFzb249cHl0aG9uMzQuUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0UmVhc29uCi0gIFB5VW5pY29kZUVuY29kZUVycm9yX0dldFN0YXJ0PXB5dGhvbjM0LlB5VW5pY29kZUVuY29kZUVycm9yX0dldFN0YXJ0Ci0gIFB5VW5pY29kZUVuY29kZUVycm9yX1NldEVuZD1weXRob24zNC5QeVVuaWNvZGVFbmNvZGVFcnJvcl9TZXRFbmQKLSAgUHlVbmljb2RlRW5jb2RlRXJyb3JfU2V0UmVhc29uPXB5dGhvbjM0LlB5VW5pY29kZUVuY29kZUVycm9yX1NldFJlYXNvbgotICBQeVVuaWNvZGVFbmNvZGVFcnJvcl9TZXRTdGFydD1weXRob24zNC5QeVVuaWNvZGVFbmNvZGVFcnJvcl9TZXRTdGFydAotICBQeVVuaWNvZGVJdGVyX1R5cGU9cHl0aG9uMzQuUHlVbmljb2RlSXRlcl9UeXBlIERBVEEKLSAgUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfR2V0RW5kPXB5dGhvbjM0LlB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX0dldEVuZAotICBQeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9HZXRPYmplY3Q9cHl0aG9uMzQuUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfR2V0T2JqZWN0Ci0gIFB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX0dldFJlYXNvbj1weXRob24zNC5QeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9HZXRSZWFzb24KLSAgUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfR2V0U3RhcnQ9cHl0aG9uMzQuUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfR2V0U3RhcnQKLSAgUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfU2V0RW5kPXB5dGhvbjM0LlB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX1NldEVuZAotICBQeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9TZXRSZWFzb249cHl0aG9uMzQuUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfU2V0UmVhc29uCi0gIFB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX1NldFN0YXJ0PXB5dGhvbjM0LlB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX1NldFN0YXJ0Ci0gIFB5VW5pY29kZV9BcHBlbmQ9cHl0aG9uMzQuUHlVbmljb2RlX0FwcGVuZAotICBQeVVuaWNvZGVfQXBwZW5kQW5kRGVsPXB5dGhvbjM0LlB5VW5pY29kZV9BcHBlbmRBbmREZWwKLSAgUHlVbmljb2RlX0FzQVNDSUlTdHJpbmc9cHl0aG9uMzQuUHlVbmljb2RlX0FzQVNDSUlTdHJpbmcKLSAgUHlVbmljb2RlX0FzQ2hhcm1hcFN0cmluZz1weXRob24zNC5QeVVuaWNvZGVfQXNDaGFybWFwU3RyaW5nCi0gIFB5VW5pY29kZV9Bc0RlY29kZWRPYmplY3Q9cHl0aG9uMzQuUHlVbmljb2RlX0FzRGVjb2RlZE9iamVjdAotICBQeVVuaWNvZGVfQXNEZWNvZGVkVW5pY29kZT1weXRob24zNC5QeVVuaWNvZGVfQXNEZWNvZGVkVW5pY29kZQotICBQeVVuaWNvZGVfQXNFbmNvZGVkT2JqZWN0PXB5dGhvbjM0LlB5VW5pY29kZV9Bc0VuY29kZWRPYmplY3QKLSAgUHlVbmljb2RlX0FzRW5jb2RlZFN0cmluZz1weXRob24zNC5QeVVuaWNvZGVfQXNFbmNvZGVkU3RyaW5nCi0gIFB5VW5pY29kZV9Bc0VuY29kZWRVbmljb2RlPXB5dGhvbjM0LlB5VW5pY29kZV9Bc0VuY29kZWRVbmljb2RlCi0gIFB5VW5pY29kZV9Bc0xhdGluMVN0cmluZz1weXRob24zNC5QeVVuaWNvZGVfQXNMYXRpbjFTdHJpbmcKLSAgUHlVbmljb2RlX0FzUmF3VW5pY29kZUVzY2FwZVN0cmluZz1weXRob24zNC5QeVVuaWNvZGVfQXNSYXdVbmljb2RlRXNjYXBlU3RyaW5nCi0gIFB5VW5pY29kZV9Bc1VURjE2U3RyaW5nPXB5dGhvbjM0LlB5VW5pY29kZV9Bc1VURjE2U3RyaW5nCi0gIFB5VW5pY29kZV9Bc1VURjMyU3RyaW5nPXB5dGhvbjM0LlB5VW5pY29kZV9Bc1VURjMyU3RyaW5nCi0gIFB5VW5pY29kZV9Bc1VURjhTdHJpbmc9cHl0aG9uMzQuUHlVbmljb2RlX0FzVVRGOFN0cmluZwotICBQeVVuaWNvZGVfQXNVbmljb2RlRXNjYXBlU3RyaW5nPXB5dGhvbjM0LlB5VW5pY29kZV9Bc1VuaWNvZGVFc2NhcGVTdHJpbmcKLSAgUHlVbmljb2RlX0FzV2lkZUNoYXI9cHl0aG9uMzQuUHlVbmljb2RlX0FzV2lkZUNoYXIKLSAgUHlVbmljb2RlX0NsZWFyRnJlZWxpc3Q9cHl0aG9uMzQuUHlVbmljb2RlX0NsZWFyRnJlZWxpc3QKLSAgUHlVbmljb2RlX0NvbXBhcmU9cHl0aG9uMzQuUHlVbmljb2RlX0NvbXBhcmUKLSAgUHlVbmljb2RlX0NvbmNhdD1weXRob24zNC5QeVVuaWNvZGVfQ29uY2F0Ci0gIFB5VW5pY29kZV9Db250YWlucz1weXRob24zNC5QeVVuaWNvZGVfQ29udGFpbnMKLSAgUHlVbmljb2RlX0NvdW50PXB5dGhvbjM0LlB5VW5pY29kZV9Db3VudAotICBQeVVuaWNvZGVfRGVjb2RlPXB5dGhvbjM0LlB5VW5pY29kZV9EZWNvZGUKLSAgUHlVbmljb2RlX0RlY29kZUFTQ0lJPXB5dGhvbjM0LlB5VW5pY29kZV9EZWNvZGVBU0NJSQotICBQeVVuaWNvZGVfRGVjb2RlQ2hhcm1hcD1weXRob24zNC5QeVVuaWNvZGVfRGVjb2RlQ2hhcm1hcAotICBQeVVuaWNvZGVfRGVjb2RlRlNEZWZhdWx0PXB5dGhvbjM0LlB5VW5pY29kZV9EZWNvZGVGU0RlZmF1bHQKLSAgUHlVbmljb2RlX0RlY29kZUZTRGVmYXVsdEFuZFNpemU9cHl0aG9uMzQuUHlVbmljb2RlX0RlY29kZUZTRGVmYXVsdEFuZFNpemUKLSAgUHlVbmljb2RlX0RlY29kZUxhdGluMT1weXRob24zNC5QeVVuaWNvZGVfRGVjb2RlTGF0aW4xCi0gIFB5VW5pY29kZV9EZWNvZGVSYXdVbmljb2RlRXNjYXBlPXB5dGhvbjM0LlB5VW5pY29kZV9EZWNvZGVSYXdVbmljb2RlRXNjYXBlCi0gIFB5VW5pY29kZV9EZWNvZGVVVEYxNj1weXRob24zNC5QeVVuaWNvZGVfRGVjb2RlVVRGMTYKLSAgUHlVbmljb2RlX0RlY29kZVVURjE2U3RhdGVmdWw9cHl0aG9uMzQuUHlVbmljb2RlX0RlY29kZVVURjE2U3RhdGVmdWwKLSAgUHlVbmljb2RlX0RlY29kZVVURjMyPXB5dGhvbjM0LlB5VW5pY29kZV9EZWNvZGVVVEYzMgotICBQeVVuaWNvZGVfRGVjb2RlVVRGMzJTdGF0ZWZ1bD1weXRob24zNC5QeVVuaWNvZGVfRGVjb2RlVVRGMzJTdGF0ZWZ1bAotICBQeVVuaWNvZGVfRGVjb2RlVVRGOD1weXRob24zNC5QeVVuaWNvZGVfRGVjb2RlVVRGOAotICBQeVVuaWNvZGVfRGVjb2RlVVRGOFN0YXRlZnVsPXB5dGhvbjM0LlB5VW5pY29kZV9EZWNvZGVVVEY4U3RhdGVmdWwKLSAgUHlVbmljb2RlX0RlY29kZVVuaWNvZGVFc2NhcGU9cHl0aG9uMzQuUHlVbmljb2RlX0RlY29kZVVuaWNvZGVFc2NhcGUKLSAgUHlVbmljb2RlX0ZTQ29udmVydGVyPXB5dGhvbjM0LlB5VW5pY29kZV9GU0NvbnZlcnRlcgotICBQeVVuaWNvZGVfRlNEZWNvZGVyPXB5dGhvbjM0LlB5VW5pY29kZV9GU0RlY29kZXIKLSAgUHlVbmljb2RlX0ZpbmQ9cHl0aG9uMzQuUHlVbmljb2RlX0ZpbmQKLSAgUHlVbmljb2RlX0Zvcm1hdD1weXRob24zNC5QeVVuaWNvZGVfRm9ybWF0Ci0gIFB5VW5pY29kZV9Gcm9tRW5jb2RlZE9iamVjdD1weXRob24zNC5QeVVuaWNvZGVfRnJvbUVuY29kZWRPYmplY3QKLSAgUHlVbmljb2RlX0Zyb21Gb3JtYXQ9cHl0aG9uMzQuUHlVbmljb2RlX0Zyb21Gb3JtYXQKLSAgUHlVbmljb2RlX0Zyb21Gb3JtYXRWPXB5dGhvbjM0LlB5VW5pY29kZV9Gcm9tRm9ybWF0VgotICBQeVVuaWNvZGVfRnJvbU9iamVjdD1weXRob24zNC5QeVVuaWNvZGVfRnJvbU9iamVjdAotICBQeVVuaWNvZGVfRnJvbU9yZGluYWw9cHl0aG9uMzQuUHlVbmljb2RlX0Zyb21PcmRpbmFsCi0gIFB5VW5pY29kZV9Gcm9tU3RyaW5nPXB5dGhvbjM0LlB5VW5pY29kZV9Gcm9tU3RyaW5nCi0gIFB5VW5pY29kZV9Gcm9tU3RyaW5nQW5kU2l6ZT1weXRob24zNC5QeVVuaWNvZGVfRnJvbVN0cmluZ0FuZFNpemUKLSAgUHlVbmljb2RlX0Zyb21XaWRlQ2hhcj1weXRob24zNC5QeVVuaWNvZGVfRnJvbVdpZGVDaGFyCi0gIFB5VW5pY29kZV9HZXREZWZhdWx0RW5jb2Rpbmc9cHl0aG9uMzQuUHlVbmljb2RlX0dldERlZmF1bHRFbmNvZGluZwotICBQeVVuaWNvZGVfR2V0U2l6ZT1weXRob24zNC5QeVVuaWNvZGVfR2V0U2l6ZQotICBQeVVuaWNvZGVfSXNJZGVudGlmaWVyPXB5dGhvbjM0LlB5VW5pY29kZV9Jc0lkZW50aWZpZXIKLSAgUHlVbmljb2RlX0pvaW49cHl0aG9uMzQuUHlVbmljb2RlX0pvaW4KLSAgUHlVbmljb2RlX1BhcnRpdGlvbj1weXRob24zNC5QeVVuaWNvZGVfUGFydGl0aW9uCi0gIFB5VW5pY29kZV9SUGFydGl0aW9uPXB5dGhvbjM0LlB5VW5pY29kZV9SUGFydGl0aW9uCi0gIFB5VW5pY29kZV9SU3BsaXQ9cHl0aG9uMzQuUHlVbmljb2RlX1JTcGxpdAotICBQeVVuaWNvZGVfUmVwbGFjZT1weXRob24zNC5QeVVuaWNvZGVfUmVwbGFjZQotICBQeVVuaWNvZGVfUmVzaXplPXB5dGhvbjM0LlB5VW5pY29kZV9SZXNpemUKLSAgUHlVbmljb2RlX1JpY2hDb21wYXJlPXB5dGhvbjM0LlB5VW5pY29kZV9SaWNoQ29tcGFyZQotICBQeVVuaWNvZGVfU2V0RGVmYXVsdEVuY29kaW5nPXB5dGhvbjM0LlB5VW5pY29kZV9TZXREZWZhdWx0RW5jb2RpbmcKLSAgUHlVbmljb2RlX1NwbGl0PXB5dGhvbjM0LlB5VW5pY29kZV9TcGxpdAotICBQeVVuaWNvZGVfU3BsaXRsaW5lcz1weXRob24zNC5QeVVuaWNvZGVfU3BsaXRsaW5lcwotICBQeVVuaWNvZGVfVGFpbG1hdGNoPXB5dGhvbjM0LlB5VW5pY29kZV9UYWlsbWF0Y2gKLSAgUHlVbmljb2RlX1RyYW5zbGF0ZT1weXRob24zNC5QeVVuaWNvZGVfVHJhbnNsYXRlCi0gIFB5VW5pY29kZV9CdWlsZEVuY29kaW5nTWFwPXB5dGhvbjM0LlB5VW5pY29kZV9CdWlsZEVuY29kaW5nTWFwCi0gIFB5VW5pY29kZV9Db21wYXJlV2l0aEFTQ0lJU3RyaW5nPXB5dGhvbjM0LlB5VW5pY29kZV9Db21wYXJlV2l0aEFTQ0lJU3RyaW5nCi0gIFB5VW5pY29kZV9EZWNvZGVVVEY3PXB5dGhvbjM0LlB5VW5pY29kZV9EZWNvZGVVVEY3Ci0gIFB5VW5pY29kZV9EZWNvZGVVVEY3U3RhdGVmdWw9cHl0aG9uMzQuUHlVbmljb2RlX0RlY29kZVVURjdTdGF0ZWZ1bAotICBQeVVuaWNvZGVfRW5jb2RlRlNEZWZhdWx0PXB5dGhvbjM0LlB5VW5pY29kZV9FbmNvZGVGU0RlZmF1bHQKLSAgUHlVbmljb2RlX0ludGVybkZyb21TdHJpbmc9cHl0aG9uMzQuUHlVbmljb2RlX0ludGVybkZyb21TdHJpbmcKLSAgUHlVbmljb2RlX0ludGVybkltbW9ydGFsPXB5dGhvbjM0LlB5VW5pY29kZV9JbnRlcm5JbW1vcnRhbAotICBQeVVuaWNvZGVfSW50ZXJuSW5QbGFjZT1weXRob24zNC5QeVVuaWNvZGVfSW50ZXJuSW5QbGFjZQotICBQeVVuaWNvZGVfVHlwZT1weXRob24zNC5QeVVuaWNvZGVfVHlwZSBEQVRBCi0gIFB5V2Vha3JlZl9HZXRPYmplY3Q9cHl0aG9uMzQuUHlXZWFrcmVmX0dldE9iamVjdCBEQVRBCi0gIFB5V2Vha3JlZl9OZXdQcm94eT1weXRob24zNC5QeVdlYWtyZWZfTmV3UHJveHkKLSAgUHlXZWFrcmVmX05ld1JlZj1weXRob24zNC5QeVdlYWtyZWZfTmV3UmVmCi0gIFB5V3JhcHBlckRlc2NyX1R5cGU9cHl0aG9uMzQuUHlXcmFwcGVyRGVzY3JfVHlwZSBEQVRBCi0gIFB5V3JhcHBlcl9OZXc9cHl0aG9uMzQuUHlXcmFwcGVyX05ldwotICBQeVppcF9UeXBlPXB5dGhvbjM0LlB5WmlwX1R5cGUgREFUQQotICBQeV9BZGRQZW5kaW5nQ2FsbD1weXRob24zNC5QeV9BZGRQZW5kaW5nQ2FsbAotICBQeV9BdEV4aXQ9cHl0aG9uMzQuUHlfQXRFeGl0Ci0gIFB5X0J1aWxkVmFsdWU9cHl0aG9uMzQuUHlfQnVpbGRWYWx1ZQotICBQeV9Db21waWxlU3RyaW5nPXB5dGhvbjM0LlB5X0NvbXBpbGVTdHJpbmcKLSAgUHlfRGVjUmVmPXB5dGhvbjM0LlB5X0RlY1JlZgotICBQeV9FbmRJbnRlcnByZXRlcj1weXRob24zNC5QeV9FbmRJbnRlcnByZXRlcgotICBQeV9FeGl0PXB5dGhvbjM0LlB5X0V4aXQKLSAgUHlfRmF0YWxFcnJvcj1weXRob24zNC5QeV9GYXRhbEVycm9yCi0gIFB5X0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2Rpbmc9cHl0aG9uMzQuUHlfRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZyBEQVRBCi0gIFB5X0ZpbmFsaXplPXB5dGhvbjM0LlB5X0ZpbmFsaXplCi0gIFB5X0dldEJ1aWxkSW5mbz1weXRob24zNC5QeV9HZXRCdWlsZEluZm8KLSAgUHlfR2V0Q29tcGlsZXI9cHl0aG9uMzQuUHlfR2V0Q29tcGlsZXIKLSAgUHlfR2V0Q29weXJpZ2h0PXB5dGhvbjM0LlB5X0dldENvcHlyaWdodAotICBQeV9HZXRFeGVjUHJlZml4PXB5dGhvbjM0LlB5X0dldEV4ZWNQcmVmaXgKLSAgUHlfR2V0UGF0aD1weXRob24zNC5QeV9HZXRQYXRoCi0gIFB5X0dldFBsYXRmb3JtPXB5dGhvbjM0LlB5X0dldFBsYXRmb3JtCi0gIFB5X0dldFByZWZpeD1weXRob24zNC5QeV9HZXRQcmVmaXgKLSAgUHlfR2V0UHJvZ3JhbUZ1bGxQYXRoPXB5dGhvbjM0LlB5X0dldFByb2dyYW1GdWxsUGF0aAotICBQeV9HZXRQcm9ncmFtTmFtZT1weXRob24zNC5QeV9HZXRQcm9ncmFtTmFtZQotICBQeV9HZXRQeXRob25Ib21lPXB5dGhvbjM0LlB5X0dldFB5dGhvbkhvbWUKLSAgUHlfR2V0UmVjdXJzaW9uTGltaXQ9cHl0aG9uMzQuUHlfR2V0UmVjdXJzaW9uTGltaXQKLSAgUHlfR2V0VmVyc2lvbj1weXRob24zNC5QeV9HZXRWZXJzaW9uCi0gIFB5X0hhc0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2Rpbmc9cHl0aG9uMzQuUHlfSGFzRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZyBEQVRBCi0gIFB5X0luY1JlZj1weXRob24zNC5QeV9JbmNSZWYKLSAgUHlfSW5pdGlhbGl6ZT1weXRob24zNC5QeV9Jbml0aWFsaXplCi0gIFB5X0luaXRpYWxpemVFeD1weXRob24zNC5QeV9Jbml0aWFsaXplRXgKLSAgUHlfSXNJbml0aWFsaXplZD1weXRob24zNC5QeV9Jc0luaXRpYWxpemVkCi0gIFB5X01haW49cHl0aG9uMzQuUHlfTWFpbgotICBQeV9NYWtlUGVuZGluZ0NhbGxzPXB5dGhvbjM0LlB5X01ha2VQZW5kaW5nQ2FsbHMKLSAgUHlfTmV3SW50ZXJwcmV0ZXI9cHl0aG9uMzQuUHlfTmV3SW50ZXJwcmV0ZXIKLSAgUHlfUmVwckVudGVyPXB5dGhvbjM0LlB5X1JlcHJFbnRlcgotICBQeV9SZXByTGVhdmU9cHl0aG9uMzQuUHlfUmVwckxlYXZlCi0gIFB5X1NldFByb2dyYW1OYW1lPXB5dGhvbjM0LlB5X1NldFByb2dyYW1OYW1lCi0gIFB5X1NldFB5dGhvbkhvbWU9cHl0aG9uMzQuUHlfU2V0UHl0aG9uSG9tZQotICBQeV9TZXRSZWN1cnNpb25MaW1pdD1weXRob24zNC5QeV9TZXRSZWN1cnNpb25MaW1pdAotICBQeV9TeW10YWJsZVN0cmluZz1weXRob24zNC5QeV9TeW10YWJsZVN0cmluZwotICBQeV9WYUJ1aWxkVmFsdWU9cHl0aG9uMzQuUHlfVmFCdWlsZFZhbHVlCi0gIF9QeUVycl9CYWRJbnRlcm5hbENhbGw9cHl0aG9uMzQuX1B5RXJyX0JhZEludGVybmFsQ2FsbAotICBfUHlPYmplY3RfQ2FsbEZ1bmN0aW9uX1NpemVUPXB5dGhvbjM0Ll9QeU9iamVjdF9DYWxsRnVuY3Rpb25fU2l6ZVQKLSAgX1B5T2JqZWN0X0NhbGxNZXRob2RfU2l6ZVQ9cHl0aG9uMzQuX1B5T2JqZWN0X0NhbGxNZXRob2RfU2l6ZVQKLSAgX1B5T2JqZWN0X0dDX01hbGxvYz1weXRob24zNC5fUHlPYmplY3RfR0NfTWFsbG9jCi0gIF9QeU9iamVjdF9HQ19OZXc9cHl0aG9uMzQuX1B5T2JqZWN0X0dDX05ldwotICBfUHlPYmplY3RfR0NfTmV3VmFyPXB5dGhvbjM0Ll9QeU9iamVjdF9HQ19OZXdWYXIKLSAgX1B5T2JqZWN0X0dDX1Jlc2l6ZT1weXRob24zNC5fUHlPYmplY3RfR0NfUmVzaXplCi0gIF9QeU9iamVjdF9OZXc9cHl0aG9uMzQuX1B5T2JqZWN0X05ldwotICBfUHlPYmplY3RfTmV3VmFyPXB5dGhvbjM0Ll9QeU9iamVjdF9OZXdWYXIKLSAgX1B5U3RhdGVfQWRkTW9kdWxlPXB5dGhvbjM0Ll9QeVN0YXRlX0FkZE1vZHVsZQotICBfUHlUaHJlYWRTdGF0ZV9Jbml0PXB5dGhvbjM0Ll9QeVRocmVhZFN0YXRlX0luaXQKLSAgX1B5VGhyZWFkU3RhdGVfUHJlYWxsb2M9cHl0aG9uMzQuX1B5VGhyZWFkU3RhdGVfUHJlYWxsb2MKLSAgX1B5VHJhc2hfZGVsZXRlX2xhdGVyPXB5dGhvbjM0Ll9QeVRyYXNoX2RlbGV0ZV9sYXRlciBEQVRBCi0gIF9QeVRyYXNoX2RlbGV0ZV9uZXN0aW5nPXB5dGhvbjM0Ll9QeVRyYXNoX2RlbGV0ZV9uZXN0aW5nIERBVEEKLSAgX1B5VHJhc2hfZGVwb3NpdF9vYmplY3Q9cHl0aG9uMzQuX1B5VHJhc2hfZGVwb3NpdF9vYmplY3QKLSAgX1B5VHJhc2hfZGVzdHJveV9jaGFpbj1weXRob24zNC5fUHlUcmFzaF9kZXN0cm95X2NoYWluCi0gIF9QeVdlYWtyZWZfQ2FsbGFibGVQcm94eVR5cGU9cHl0aG9uMzQuX1B5V2Vha3JlZl9DYWxsYWJsZVByb3h5VHlwZSBEQVRBCi0gIF9QeVdlYWtyZWZfUHJveHlUeXBlPXB5dGhvbjM0Ll9QeVdlYWtyZWZfUHJveHlUeXBlIERBVEEKLSAgX1B5V2Vha3JlZl9SZWZUeXBlPXB5dGhvbjM0Ll9QeVdlYWtyZWZfUmVmVHlwZSBEQVRBCi0gIF9QeV9CdWlsZFZhbHVlX1NpemVUPXB5dGhvbjM0Ll9QeV9CdWlsZFZhbHVlX1NpemVUCi0gIF9QeV9DaGVja1JlY3Vyc2lvbkxpbWl0PXB5dGhvbjM0Ll9QeV9DaGVja1JlY3Vyc2lvbkxpbWl0IERBVEEKLSAgX1B5X0NoZWNrUmVjdXJzaXZlQ2FsbD1weXRob24zNC5fUHlfQ2hlY2tSZWN1cnNpdmVDYWxsCi0gIF9QeV9EZWFsbG9jPXB5dGhvbjM0Ll9QeV9EZWFsbG9jCi0gIF9QeV9FbGxpcHNpc09iamVjdD1weXRob24zNC5fUHlfRWxsaXBzaXNPYmplY3QgREFUQQotICBfUHlfRmFsc2VTdHJ1Y3Q9cHl0aG9uMzQuX1B5X0ZhbHNlU3RydWN0IERBVEEKLSAgX1B5X05vbmVTdHJ1Y3Q9cHl0aG9uMzQuX1B5X05vbmVTdHJ1Y3QgREFUQQotICBfUHlfTm90SW1wbGVtZW50ZWRTdHJ1Y3Q9cHl0aG9uMzQuX1B5X05vdEltcGxlbWVudGVkU3RydWN0IERBVEEKLSAgX1B5X1N3YXBwZWRPcD1weXRob24zNC5fUHlfU3dhcHBlZE9wIERBVEEKLSAgX1B5X1RydWVTdHJ1Y3Q9cHl0aG9uMzQuX1B5X1RydWVTdHJ1Y3QgREFUQQotICBfUHlfVmFCdWlsZFZhbHVlX1NpemVUPXB5dGhvbjM0Ll9QeV9WYUJ1aWxkVmFsdWVfU2l6ZVQKLSAgX1B5QXJnX1BhcnNlX1NpemVUPXB5dGhvbjM0Ll9QeUFyZ19QYXJzZV9TaXplVAotICBfUHlBcmdfUGFyc2VUdXBsZV9TaXplVD1weXRob24zNC5fUHlBcmdfUGFyc2VUdXBsZV9TaXplVAotICBfUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzX1NpemVUPXB5dGhvbjM0Ll9QeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHNfU2l6ZVQKLSAgX1B5QXJnX1ZhUGFyc2VfU2l6ZVQ9cHl0aG9uMzQuX1B5QXJnX1ZhUGFyc2VfU2l6ZVQKLSAgX1B5QXJnX1ZhUGFyc2VUdXBsZUFuZEtleXdvcmRzX1NpemVUPXB5dGhvbjM0Ll9QeUFyZ19WYVBhcnNlVHVwbGVBbmRLZXl3b3Jkc19TaXplVAotICBfUHlfQnVpbGRWYWx1ZV9TaXplVD1weXRob24zNC5fUHlfQnVpbGRWYWx1ZV9TaXplVAorICBQeUFyZ19QYXJzZT1weXRob24zNS5QeUFyZ19QYXJzZQorICBQeUFyZ19QYXJzZVR1cGxlPXB5dGhvbjM1LlB5QXJnX1BhcnNlVHVwbGUKKyAgUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzPXB5dGhvbjM1LlB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcworICBQeUFyZ19VbnBhY2tUdXBsZT1weXRob24zNS5QeUFyZ19VbnBhY2tUdXBsZQorICBQeUFyZ19WYVBhcnNlPXB5dGhvbjM1LlB5QXJnX1ZhUGFyc2UKKyAgUHlBcmdfVmFQYXJzZVR1cGxlQW5kS2V5d29yZHM9cHl0aG9uMzUuUHlBcmdfVmFQYXJzZVR1cGxlQW5kS2V5d29yZHMKKyAgUHlBcmdfVmFsaWRhdGVLZXl3b3JkQXJndW1lbnRzPXB5dGhvbjM1LlB5QXJnX1ZhbGlkYXRlS2V5d29yZEFyZ3VtZW50cworICBQeUJhc2VPYmplY3RfVHlwZT1weXRob24zNS5QeUJhc2VPYmplY3RfVHlwZSBEQVRBCisgIFB5Qm9vbF9Gcm9tTG9uZz1weXRob24zNS5QeUJvb2xfRnJvbUxvbmcKKyAgUHlCb29sX1R5cGU9cHl0aG9uMzUuUHlCb29sX1R5cGUgREFUQQorICBQeUJ5dGVBcnJheUl0ZXJfVHlwZT1weXRob24zNS5QeUJ5dGVBcnJheUl0ZXJfVHlwZSBEQVRBCisgIFB5Qnl0ZUFycmF5X0FzU3RyaW5nPXB5dGhvbjM1LlB5Qnl0ZUFycmF5X0FzU3RyaW5nCisgIFB5Qnl0ZUFycmF5X0NvbmNhdD1weXRob24zNS5QeUJ5dGVBcnJheV9Db25jYXQKKyAgUHlCeXRlQXJyYXlfRnJvbU9iamVjdD1weXRob24zNS5QeUJ5dGVBcnJheV9Gcm9tT2JqZWN0CisgIFB5Qnl0ZUFycmF5X0Zyb21TdHJpbmdBbmRTaXplPXB5dGhvbjM1LlB5Qnl0ZUFycmF5X0Zyb21TdHJpbmdBbmRTaXplCisgIFB5Qnl0ZUFycmF5X1Jlc2l6ZT1weXRob24zNS5QeUJ5dGVBcnJheV9SZXNpemUKKyAgUHlCeXRlQXJyYXlfU2l6ZT1weXRob24zNS5QeUJ5dGVBcnJheV9TaXplCisgIFB5Qnl0ZUFycmF5X1R5cGU9cHl0aG9uMzUuUHlCeXRlQXJyYXlfVHlwZSBEQVRBCisgIFB5Qnl0ZXNJdGVyX1R5cGU9cHl0aG9uMzUuUHlCeXRlc0l0ZXJfVHlwZSBEQVRBCisgIFB5Qnl0ZXNfQXNTdHJpbmc9cHl0aG9uMzUuUHlCeXRlc19Bc1N0cmluZworICBQeUJ5dGVzX0FzU3RyaW5nQW5kU2l6ZT1weXRob24zNS5QeUJ5dGVzX0FzU3RyaW5nQW5kU2l6ZQorICBQeUJ5dGVzX0NvbmNhdD1weXRob24zNS5QeUJ5dGVzX0NvbmNhdAorICBQeUJ5dGVzX0NvbmNhdEFuZERlbD1weXRob24zNS5QeUJ5dGVzX0NvbmNhdEFuZERlbAorICBQeUJ5dGVzX0RlY29kZUVzY2FwZT1weXRob24zNS5QeUJ5dGVzX0RlY29kZUVzY2FwZQorICBQeUJ5dGVzX0Zyb21Gb3JtYXQ9cHl0aG9uMzUuUHlCeXRlc19Gcm9tRm9ybWF0CisgIFB5Qnl0ZXNfRnJvbUZvcm1hdFY9cHl0aG9uMzUuUHlCeXRlc19Gcm9tRm9ybWF0VgorICBQeUJ5dGVzX0Zyb21PYmplY3Q9cHl0aG9uMzUuUHlCeXRlc19Gcm9tT2JqZWN0CisgIFB5Qnl0ZXNfRnJvbVN0cmluZz1weXRob24zNS5QeUJ5dGVzX0Zyb21TdHJpbmcKKyAgUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZT1weXRob24zNS5QeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplCisgIFB5Qnl0ZXNfUmVwcj1weXRob24zNS5QeUJ5dGVzX1JlcHIKKyAgUHlCeXRlc19TaXplPXB5dGhvbjM1LlB5Qnl0ZXNfU2l6ZQorICBQeUJ5dGVzX1R5cGU9cHl0aG9uMzUuUHlCeXRlc19UeXBlIERBVEEKKyAgUHlDRnVuY3Rpb25fQ2FsbD1weXRob24zNS5QeUNGdW5jdGlvbl9DYWxsCisgIFB5Q0Z1bmN0aW9uX0NsZWFyRnJlZUxpc3Q9cHl0aG9uMzUuUHlDRnVuY3Rpb25fQ2xlYXJGcmVlTGlzdAorICBQeUNGdW5jdGlvbl9HZXRGbGFncz1weXRob24zNS5QeUNGdW5jdGlvbl9HZXRGbGFncworICBQeUNGdW5jdGlvbl9HZXRGdW5jdGlvbj1weXRob24zNS5QeUNGdW5jdGlvbl9HZXRGdW5jdGlvbgorICBQeUNGdW5jdGlvbl9HZXRTZWxmPXB5dGhvbjM1LlB5Q0Z1bmN0aW9uX0dldFNlbGYKKyAgUHlDRnVuY3Rpb25fTmV3PXB5dGhvbjM1LlB5Q0Z1bmN0aW9uX05ldworICBQeUNGdW5jdGlvbl9OZXdFeD1weXRob24zNS5QeUNGdW5jdGlvbl9OZXdFeAorICBQeUNGdW5jdGlvbl9UeXBlPXB5dGhvbjM1LlB5Q0Z1bmN0aW9uX1R5cGUgREFUQQorICBQeUNhbGxJdGVyX05ldz1weXRob24zNS5QeUNhbGxJdGVyX05ldworICBQeUNhbGxJdGVyX1R5cGU9cHl0aG9uMzUuUHlDYWxsSXRlcl9UeXBlIERBVEEKKyAgUHlDYWxsYWJsZV9DaGVjaz1weXRob24zNS5QeUNhbGxhYmxlX0NoZWNrCisgIFB5Q2Fwc3VsZV9HZXRDb250ZXh0PXB5dGhvbjM1LlB5Q2Fwc3VsZV9HZXRDb250ZXh0CisgIFB5Q2Fwc3VsZV9HZXREZXN0cnVjdG9yPXB5dGhvbjM1LlB5Q2Fwc3VsZV9HZXREZXN0cnVjdG9yCisgIFB5Q2Fwc3VsZV9HZXROYW1lPXB5dGhvbjM1LlB5Q2Fwc3VsZV9HZXROYW1lCisgIFB5Q2Fwc3VsZV9HZXRQb2ludGVyPXB5dGhvbjM1LlB5Q2Fwc3VsZV9HZXRQb2ludGVyCisgIFB5Q2Fwc3VsZV9JbXBvcnQ9cHl0aG9uMzUuUHlDYXBzdWxlX0ltcG9ydAorICBQeUNhcHN1bGVfSXNWYWxpZD1weXRob24zNS5QeUNhcHN1bGVfSXNWYWxpZAorICBQeUNhcHN1bGVfTmV3PXB5dGhvbjM1LlB5Q2Fwc3VsZV9OZXcKKyAgUHlDYXBzdWxlX1NldENvbnRleHQ9cHl0aG9uMzUuUHlDYXBzdWxlX1NldENvbnRleHQKKyAgUHlDYXBzdWxlX1NldERlc3RydWN0b3I9cHl0aG9uMzUuUHlDYXBzdWxlX1NldERlc3RydWN0b3IKKyAgUHlDYXBzdWxlX1NldE5hbWU9cHl0aG9uMzUuUHlDYXBzdWxlX1NldE5hbWUKKyAgUHlDYXBzdWxlX1NldFBvaW50ZXI9cHl0aG9uMzUuUHlDYXBzdWxlX1NldFBvaW50ZXIKKyAgUHlDYXBzdWxlX1R5cGU9cHl0aG9uMzUuUHlDYXBzdWxlX1R5cGUgREFUQQorICBQeUNsYXNzTWV0aG9kRGVzY3JfVHlwZT1weXRob24zNS5QeUNsYXNzTWV0aG9kRGVzY3JfVHlwZSBEQVRBCisgIFB5Q29kZWNfQmFja3NsYXNoUmVwbGFjZUVycm9ycz1weXRob24zNS5QeUNvZGVjX0JhY2tzbGFzaFJlcGxhY2VFcnJvcnMKKyAgUHlDb2RlY19EZWNvZGU9cHl0aG9uMzUuUHlDb2RlY19EZWNvZGUKKyAgUHlDb2RlY19EZWNvZGVyPXB5dGhvbjM1LlB5Q29kZWNfRGVjb2RlcgorICBQeUNvZGVjX0VuY29kZT1weXRob24zNS5QeUNvZGVjX0VuY29kZQorICBQeUNvZGVjX0VuY29kZXI9cHl0aG9uMzUuUHlDb2RlY19FbmNvZGVyCisgIFB5Q29kZWNfSWdub3JlRXJyb3JzPXB5dGhvbjM1LlB5Q29kZWNfSWdub3JlRXJyb3JzCisgIFB5Q29kZWNfSW5jcmVtZW50YWxEZWNvZGVyPXB5dGhvbjM1LlB5Q29kZWNfSW5jcmVtZW50YWxEZWNvZGVyCisgIFB5Q29kZWNfSW5jcmVtZW50YWxFbmNvZGVyPXB5dGhvbjM1LlB5Q29kZWNfSW5jcmVtZW50YWxFbmNvZGVyCisgIFB5Q29kZWNfS25vd25FbmNvZGluZz1weXRob24zNS5QeUNvZGVjX0tub3duRW5jb2RpbmcKKyAgUHlDb2RlY19Mb29rdXBFcnJvcj1weXRob24zNS5QeUNvZGVjX0xvb2t1cEVycm9yCisgIFB5Q29kZWNfUmVnaXN0ZXI9cHl0aG9uMzUuUHlDb2RlY19SZWdpc3RlcgorICBQeUNvZGVjX1JlZ2lzdGVyRXJyb3I9cHl0aG9uMzUuUHlDb2RlY19SZWdpc3RlckVycm9yCisgIFB5Q29kZWNfUmVwbGFjZUVycm9ycz1weXRob24zNS5QeUNvZGVjX1JlcGxhY2VFcnJvcnMKKyAgUHlDb2RlY19TdHJlYW1SZWFkZXI9cHl0aG9uMzUuUHlDb2RlY19TdHJlYW1SZWFkZXIKKyAgUHlDb2RlY19TdHJlYW1Xcml0ZXI9cHl0aG9uMzUuUHlDb2RlY19TdHJlYW1Xcml0ZXIKKyAgUHlDb2RlY19TdHJpY3RFcnJvcnM9cHl0aG9uMzUuUHlDb2RlY19TdHJpY3RFcnJvcnMKKyAgUHlDb2RlY19YTUxDaGFyUmVmUmVwbGFjZUVycm9ycz1weXRob24zNS5QeUNvZGVjX1hNTENoYXJSZWZSZXBsYWNlRXJyb3JzCisgIFB5Q29tcGxleF9Gcm9tRG91Ymxlcz1weXRob24zNS5QeUNvbXBsZXhfRnJvbURvdWJsZXMKKyAgUHlDb21wbGV4X0ltYWdBc0RvdWJsZT1weXRob24zNS5QeUNvbXBsZXhfSW1hZ0FzRG91YmxlCisgIFB5Q29tcGxleF9SZWFsQXNEb3VibGU9cHl0aG9uMzUuUHlDb21wbGV4X1JlYWxBc0RvdWJsZQorICBQeUNvbXBsZXhfVHlwZT1weXRob24zNS5QeUNvbXBsZXhfVHlwZSBEQVRBCisgIFB5RGVzY3JfTmV3Q2xhc3NNZXRob2Q9cHl0aG9uMzUuUHlEZXNjcl9OZXdDbGFzc01ldGhvZAorICBQeURlc2NyX05ld0dldFNldD1weXRob24zNS5QeURlc2NyX05ld0dldFNldAorICBQeURlc2NyX05ld01lbWJlcj1weXRob24zNS5QeURlc2NyX05ld01lbWJlcgorICBQeURlc2NyX05ld01ldGhvZD1weXRob24zNS5QeURlc2NyX05ld01ldGhvZAorICBQeURpY3RJdGVtc19UeXBlPXB5dGhvbjM1LlB5RGljdEl0ZW1zX1R5cGUgREFUQQorICBQeURpY3RJdGVySXRlbV9UeXBlPXB5dGhvbjM1LlB5RGljdEl0ZXJJdGVtX1R5cGUgREFUQQorICBQeURpY3RJdGVyS2V5X1R5cGU9cHl0aG9uMzUuUHlEaWN0SXRlcktleV9UeXBlIERBVEEKKyAgUHlEaWN0SXRlclZhbHVlX1R5cGU9cHl0aG9uMzUuUHlEaWN0SXRlclZhbHVlX1R5cGUgREFUQQorICBQeURpY3RLZXlzX1R5cGU9cHl0aG9uMzUuUHlEaWN0S2V5c19UeXBlIERBVEEKKyAgUHlEaWN0UHJveHlfTmV3PXB5dGhvbjM1LlB5RGljdFByb3h5X05ldworICBQeURpY3RQcm94eV9UeXBlPXB5dGhvbjM1LlB5RGljdFByb3h5X1R5cGUgREFUQQorICBQeURpY3RWYWx1ZXNfVHlwZT1weXRob24zNS5QeURpY3RWYWx1ZXNfVHlwZSBEQVRBCisgIFB5RGljdF9DbGVhcj1weXRob24zNS5QeURpY3RfQ2xlYXIKKyAgUHlEaWN0X0NvbnRhaW5zPXB5dGhvbjM1LlB5RGljdF9Db250YWlucworICBQeURpY3RfQ29weT1weXRob24zNS5QeURpY3RfQ29weQorICBQeURpY3RfRGVsSXRlbT1weXRob24zNS5QeURpY3RfRGVsSXRlbQorICBQeURpY3RfRGVsSXRlbVN0cmluZz1weXRob24zNS5QeURpY3RfRGVsSXRlbVN0cmluZworICBQeURpY3RfR2V0SXRlbT1weXRob24zNS5QeURpY3RfR2V0SXRlbQorICBQeURpY3RfR2V0SXRlbVN0cmluZz1weXRob24zNS5QeURpY3RfR2V0SXRlbVN0cmluZworICBQeURpY3RfR2V0SXRlbVdpdGhFcnJvcj1weXRob24zNS5QeURpY3RfR2V0SXRlbVdpdGhFcnJvcgorICBQeURpY3RfSXRlbXM9cHl0aG9uMzUuUHlEaWN0X0l0ZW1zCisgIFB5RGljdF9LZXlzPXB5dGhvbjM1LlB5RGljdF9LZXlzCisgIFB5RGljdF9NZXJnZT1weXRob24zNS5QeURpY3RfTWVyZ2UKKyAgUHlEaWN0X01lcmdlRnJvbVNlcTI9cHl0aG9uMzUuUHlEaWN0X01lcmdlRnJvbVNlcTIKKyAgUHlEaWN0X05ldz1weXRob24zNS5QeURpY3RfTmV3CisgIFB5RGljdF9OZXh0PXB5dGhvbjM1LlB5RGljdF9OZXh0CisgIFB5RGljdF9TZXRJdGVtPXB5dGhvbjM1LlB5RGljdF9TZXRJdGVtCisgIFB5RGljdF9TZXRJdGVtU3RyaW5nPXB5dGhvbjM1LlB5RGljdF9TZXRJdGVtU3RyaW5nCisgIFB5RGljdF9TaXplPXB5dGhvbjM1LlB5RGljdF9TaXplCisgIFB5RGljdF9UeXBlPXB5dGhvbjM1LlB5RGljdF9UeXBlIERBVEEKKyAgUHlEaWN0X1VwZGF0ZT1weXRob24zNS5QeURpY3RfVXBkYXRlCisgIFB5RGljdF9WYWx1ZXM9cHl0aG9uMzUuUHlEaWN0X1ZhbHVlcworICBQeUVsbGlwc2lzX1R5cGU9cHl0aG9uMzUuUHlFbGxpcHNpc19UeXBlIERBVEEKKyAgUHlFbnVtX1R5cGU9cHl0aG9uMzUuUHlFbnVtX1R5cGUgREFUQQorICBQeUVycl9CYWRBcmd1bWVudD1weXRob24zNS5QeUVycl9CYWRBcmd1bWVudAorICBQeUVycl9CYWRJbnRlcm5hbENhbGw9cHl0aG9uMzUuUHlFcnJfQmFkSW50ZXJuYWxDYWxsCisgIFB5RXJyX0NoZWNrU2lnbmFscz1weXRob24zNS5QeUVycl9DaGVja1NpZ25hbHMKKyAgUHlFcnJfQ2xlYXI9cHl0aG9uMzUuUHlFcnJfQ2xlYXIKKyAgUHlFcnJfRGlzcGxheT1weXRob24zNS5QeUVycl9EaXNwbGF5CisgIFB5RXJyX0V4Y2VwdGlvbk1hdGNoZXM9cHl0aG9uMzUuUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcworICBQeUVycl9GZXRjaD1weXRob24zNS5QeUVycl9GZXRjaAorICBQeUVycl9Gb3JtYXQ9cHl0aG9uMzUuUHlFcnJfRm9ybWF0CisgIFB5RXJyX0Zvcm1hdFY9cHl0aG9uMzUuUHlFcnJfRm9ybWF0VgorICBQeUVycl9HaXZlbkV4Y2VwdGlvbk1hdGNoZXM9cHl0aG9uMzUuUHlFcnJfR2l2ZW5FeGNlcHRpb25NYXRjaGVzCisgIFB5RXJyX05ld0V4Y2VwdGlvbj1weXRob24zNS5QeUVycl9OZXdFeGNlcHRpb24KKyAgUHlFcnJfTmV3RXhjZXB0aW9uV2l0aERvYz1weXRob24zNS5QeUVycl9OZXdFeGNlcHRpb25XaXRoRG9jCisgIFB5RXJyX05vTWVtb3J5PXB5dGhvbjM1LlB5RXJyX05vTWVtb3J5CisgIFB5RXJyX05vcm1hbGl6ZUV4Y2VwdGlvbj1weXRob24zNS5QeUVycl9Ob3JtYWxpemVFeGNlcHRpb24KKyAgUHlFcnJfT2NjdXJyZWQ9cHl0aG9uMzUuUHlFcnJfT2NjdXJyZWQKKyAgUHlFcnJfUHJpbnQ9cHl0aG9uMzUuUHlFcnJfUHJpbnQKKyAgUHlFcnJfUHJpbnRFeD1weXRob24zNS5QeUVycl9QcmludEV4CisgIFB5RXJyX1Byb2dyYW1UZXh0PXB5dGhvbjM1LlB5RXJyX1Byb2dyYW1UZXh0CisgIFB5RXJyX1Jlc3RvcmU9cHl0aG9uMzUuUHlFcnJfUmVzdG9yZQorICBQeUVycl9TZXRGcm9tRXJybm89cHl0aG9uMzUuUHlFcnJfU2V0RnJvbUVycm5vCisgIFB5RXJyX1NldEZyb21FcnJub1dpdGhGaWxlbmFtZT1weXRob24zNS5QeUVycl9TZXRGcm9tRXJybm9XaXRoRmlsZW5hbWUKKyAgUHlFcnJfU2V0RnJvbUVycm5vV2l0aEZpbGVuYW1lT2JqZWN0PXB5dGhvbjM1LlB5RXJyX1NldEZyb21FcnJub1dpdGhGaWxlbmFtZU9iamVjdAorICBQeUVycl9TZXRJbnRlcnJ1cHQ9cHl0aG9uMzUuUHlFcnJfU2V0SW50ZXJydXB0CisgIFB5RXJyX1NldE5vbmU9cHl0aG9uMzUuUHlFcnJfU2V0Tm9uZQorICBQeUVycl9TZXRPYmplY3Q9cHl0aG9uMzUuUHlFcnJfU2V0T2JqZWN0CisgIFB5RXJyX1NldFN0cmluZz1weXRob24zNS5QeUVycl9TZXRTdHJpbmcKKyAgUHlFcnJfU3ludGF4TG9jYXRpb249cHl0aG9uMzUuUHlFcnJfU3ludGF4TG9jYXRpb24KKyAgUHlFcnJfV2FybkV4PXB5dGhvbjM1LlB5RXJyX1dhcm5FeAorICBQeUVycl9XYXJuRXhwbGljaXQ9cHl0aG9uMzUuUHlFcnJfV2FybkV4cGxpY2l0CisgIFB5RXJyX1dhcm5Gb3JtYXQ9cHl0aG9uMzUuUHlFcnJfV2FybkZvcm1hdAorICBQeUVycl9Xcml0ZVVucmFpc2FibGU9cHl0aG9uMzUuUHlFcnJfV3JpdGVVbnJhaXNhYmxlCisgIFB5RXZhbF9BY3F1aXJlTG9jaz1weXRob24zNS5QeUV2YWxfQWNxdWlyZUxvY2sKKyAgUHlFdmFsX0FjcXVpcmVUaHJlYWQ9cHl0aG9uMzUuUHlFdmFsX0FjcXVpcmVUaHJlYWQKKyAgUHlFdmFsX0NhbGxGdW5jdGlvbj1weXRob24zNS5QeUV2YWxfQ2FsbEZ1bmN0aW9uCisgIFB5RXZhbF9DYWxsTWV0aG9kPXB5dGhvbjM1LlB5RXZhbF9DYWxsTWV0aG9kCisgIFB5RXZhbF9DYWxsT2JqZWN0V2l0aEtleXdvcmRzPXB5dGhvbjM1LlB5RXZhbF9DYWxsT2JqZWN0V2l0aEtleXdvcmRzCisgIFB5RXZhbF9FdmFsQ29kZT1weXRob24zNS5QeUV2YWxfRXZhbENvZGUKKyAgUHlFdmFsX0V2YWxDb2RlRXg9cHl0aG9uMzUuUHlFdmFsX0V2YWxDb2RlRXgKKyAgUHlFdmFsX0V2YWxGcmFtZT1weXRob24zNS5QeUV2YWxfRXZhbEZyYW1lCisgIFB5RXZhbF9FdmFsRnJhbWVFeD1weXRob24zNS5QeUV2YWxfRXZhbEZyYW1lRXgKKyAgUHlFdmFsX0dldEJ1aWx0aW5zPXB5dGhvbjM1LlB5RXZhbF9HZXRCdWlsdGlucworICBQeUV2YWxfR2V0Q2FsbFN0YXRzPXB5dGhvbjM1LlB5RXZhbF9HZXRDYWxsU3RhdHMKKyAgUHlFdmFsX0dldEZyYW1lPXB5dGhvbjM1LlB5RXZhbF9HZXRGcmFtZQorICBQeUV2YWxfR2V0RnVuY0Rlc2M9cHl0aG9uMzUuUHlFdmFsX0dldEZ1bmNEZXNjCisgIFB5RXZhbF9HZXRGdW5jTmFtZT1weXRob24zNS5QeUV2YWxfR2V0RnVuY05hbWUKKyAgUHlFdmFsX0dldEdsb2JhbHM9cHl0aG9uMzUuUHlFdmFsX0dldEdsb2JhbHMKKyAgUHlFdmFsX0dldExvY2Fscz1weXRob24zNS5QeUV2YWxfR2V0TG9jYWxzCisgIFB5RXZhbF9Jbml0VGhyZWFkcz1weXRob24zNS5QeUV2YWxfSW5pdFRocmVhZHMKKyAgUHlFdmFsX1JlSW5pdFRocmVhZHM9cHl0aG9uMzUuUHlFdmFsX1JlSW5pdFRocmVhZHMKKyAgUHlFdmFsX1JlbGVhc2VMb2NrPXB5dGhvbjM1LlB5RXZhbF9SZWxlYXNlTG9jaworICBQeUV2YWxfUmVsZWFzZVRocmVhZD1weXRob24zNS5QeUV2YWxfUmVsZWFzZVRocmVhZAorICBQeUV2YWxfUmVzdG9yZVRocmVhZD1weXRob24zNS5QeUV2YWxfUmVzdG9yZVRocmVhZAorICBQeUV2YWxfU2F2ZVRocmVhZD1weXRob24zNS5QeUV2YWxfU2F2ZVRocmVhZAorICBQeUV2YWxfVGhyZWFkc0luaXRpYWxpemVkPXB5dGhvbjM1LlB5RXZhbF9UaHJlYWRzSW5pdGlhbGl6ZWQKKyAgUHlFeGNfQXJpdGhtZXRpY0Vycm9yPXB5dGhvbjM1LlB5RXhjX0FyaXRobWV0aWNFcnJvciBEQVRBCisgIFB5RXhjX0Fzc2VydGlvbkVycm9yPXB5dGhvbjM1LlB5RXhjX0Fzc2VydGlvbkVycm9yIERBVEEKKyAgUHlFeGNfQXR0cmlidXRlRXJyb3I9cHl0aG9uMzUuUHlFeGNfQXR0cmlidXRlRXJyb3IgREFUQQorICBQeUV4Y19CYXNlRXhjZXB0aW9uPXB5dGhvbjM1LlB5RXhjX0Jhc2VFeGNlcHRpb24gREFUQQorICBQeUV4Y19CdWZmZXJFcnJvcj1weXRob24zNS5QeUV4Y19CdWZmZXJFcnJvciBEQVRBCisgIFB5RXhjX0J5dGVzV2FybmluZz1weXRob24zNS5QeUV4Y19CeXRlc1dhcm5pbmcgREFUQQorICBQeUV4Y19EZXByZWNhdGlvbldhcm5pbmc9cHl0aG9uMzUuUHlFeGNfRGVwcmVjYXRpb25XYXJuaW5nIERBVEEKKyAgUHlFeGNfRU9GRXJyb3I9cHl0aG9uMzUuUHlFeGNfRU9GRXJyb3IgREFUQQorICBQeUV4Y19FbnZpcm9ubWVudEVycm9yPXB5dGhvbjM1LlB5RXhjX0Vudmlyb25tZW50RXJyb3IgREFUQQorICBQeUV4Y19FeGNlcHRpb249cHl0aG9uMzUuUHlFeGNfRXhjZXB0aW9uIERBVEEKKyAgUHlFeGNfRmxvYXRpbmdQb2ludEVycm9yPXB5dGhvbjM1LlB5RXhjX0Zsb2F0aW5nUG9pbnRFcnJvciBEQVRBCisgIFB5RXhjX0Z1dHVyZVdhcm5pbmc9cHl0aG9uMzUuUHlFeGNfRnV0dXJlV2FybmluZyBEQVRBCisgIFB5RXhjX0dlbmVyYXRvckV4aXQ9cHl0aG9uMzUuUHlFeGNfR2VuZXJhdG9yRXhpdCBEQVRBCisgIFB5RXhjX0lPRXJyb3I9cHl0aG9uMzUuUHlFeGNfSU9FcnJvciBEQVRBCisgIFB5RXhjX0ltcG9ydEVycm9yPXB5dGhvbjM1LlB5RXhjX0ltcG9ydEVycm9yIERBVEEKKyAgUHlFeGNfSW1wb3J0V2FybmluZz1weXRob24zNS5QeUV4Y19JbXBvcnRXYXJuaW5nIERBVEEKKyAgUHlFeGNfSW5kZW50YXRpb25FcnJvcj1weXRob24zNS5QeUV4Y19JbmRlbnRhdGlvbkVycm9yIERBVEEKKyAgUHlFeGNfSW5kZXhFcnJvcj1weXRob24zNS5QeUV4Y19JbmRleEVycm9yIERBVEEKKyAgUHlFeGNfS2V5RXJyb3I9cHl0aG9uMzUuUHlFeGNfS2V5RXJyb3IgREFUQQorICBQeUV4Y19LZXlib2FyZEludGVycnVwdD1weXRob24zNS5QeUV4Y19LZXlib2FyZEludGVycnVwdCBEQVRBCisgIFB5RXhjX0xvb2t1cEVycm9yPXB5dGhvbjM1LlB5RXhjX0xvb2t1cEVycm9yIERBVEEKKyAgUHlFeGNfTWVtb3J5RXJyb3I9cHl0aG9uMzUuUHlFeGNfTWVtb3J5RXJyb3IgREFUQQorICBQeUV4Y19NZW1vcnlFcnJvckluc3Q9cHl0aG9uMzUuUHlFeGNfTWVtb3J5RXJyb3JJbnN0IERBVEEKKyAgUHlFeGNfTmFtZUVycm9yPXB5dGhvbjM1LlB5RXhjX05hbWVFcnJvciBEQVRBCisgIFB5RXhjX05vdEltcGxlbWVudGVkRXJyb3I9cHl0aG9uMzUuUHlFeGNfTm90SW1wbGVtZW50ZWRFcnJvciBEQVRBCisgIFB5RXhjX09TRXJyb3I9cHl0aG9uMzUuUHlFeGNfT1NFcnJvciBEQVRBCisgIFB5RXhjX092ZXJmbG93RXJyb3I9cHl0aG9uMzUuUHlFeGNfT3ZlcmZsb3dFcnJvciBEQVRBCisgIFB5RXhjX1BlbmRpbmdEZXByZWNhdGlvbldhcm5pbmc9cHl0aG9uMzUuUHlFeGNfUGVuZGluZ0RlcHJlY2F0aW9uV2FybmluZyBEQVRBCisgIFB5RXhjX1JlY3Vyc2lvbkVycm9ySW5zdD1weXRob24zNS5QeUV4Y19SZWN1cnNpb25FcnJvckluc3QgREFUQQorICBQeUV4Y19SZWZlcmVuY2VFcnJvcj1weXRob24zNS5QeUV4Y19SZWZlcmVuY2VFcnJvciBEQVRBCisgIFB5RXhjX1J1bnRpbWVFcnJvcj1weXRob24zNS5QeUV4Y19SdW50aW1lRXJyb3IgREFUQQorICBQeUV4Y19SdW50aW1lV2FybmluZz1weXRob24zNS5QeUV4Y19SdW50aW1lV2FybmluZyBEQVRBCisgIFB5RXhjX1N0b3BJdGVyYXRpb249cHl0aG9uMzUuUHlFeGNfU3RvcEl0ZXJhdGlvbiBEQVRBCisgIFB5RXhjX1N5bnRheEVycm9yPXB5dGhvbjM1LlB5RXhjX1N5bnRheEVycm9yIERBVEEKKyAgUHlFeGNfU3ludGF4V2FybmluZz1weXRob24zNS5QeUV4Y19TeW50YXhXYXJuaW5nIERBVEEKKyAgUHlFeGNfU3lzdGVtRXJyb3I9cHl0aG9uMzUuUHlFeGNfU3lzdGVtRXJyb3IgREFUQQorICBQeUV4Y19TeXN0ZW1FeGl0PXB5dGhvbjM1LlB5RXhjX1N5c3RlbUV4aXQgREFUQQorICBQeUV4Y19UYWJFcnJvcj1weXRob24zNS5QeUV4Y19UYWJFcnJvciBEQVRBCisgIFB5RXhjX1R5cGVFcnJvcj1weXRob24zNS5QeUV4Y19UeXBlRXJyb3IgREFUQQorICBQeUV4Y19VbmJvdW5kTG9jYWxFcnJvcj1weXRob24zNS5QeUV4Y19VbmJvdW5kTG9jYWxFcnJvciBEQVRBCisgIFB5RXhjX1VuaWNvZGVEZWNvZGVFcnJvcj1weXRob24zNS5QeUV4Y19Vbmljb2RlRGVjb2RlRXJyb3IgREFUQQorICBQeUV4Y19Vbmljb2RlRW5jb2RlRXJyb3I9cHl0aG9uMzUuUHlFeGNfVW5pY29kZUVuY29kZUVycm9yIERBVEEKKyAgUHlFeGNfVW5pY29kZUVycm9yPXB5dGhvbjM1LlB5RXhjX1VuaWNvZGVFcnJvciBEQVRBCisgIFB5RXhjX1VuaWNvZGVUcmFuc2xhdGVFcnJvcj1weXRob24zNS5QeUV4Y19Vbmljb2RlVHJhbnNsYXRlRXJyb3IgREFUQQorICBQeUV4Y19Vbmljb2RlV2FybmluZz1weXRob24zNS5QeUV4Y19Vbmljb2RlV2FybmluZyBEQVRBCisgIFB5RXhjX1VzZXJXYXJuaW5nPXB5dGhvbjM1LlB5RXhjX1VzZXJXYXJuaW5nIERBVEEKKyAgUHlFeGNfVmFsdWVFcnJvcj1weXRob24zNS5QeUV4Y19WYWx1ZUVycm9yIERBVEEKKyAgUHlFeGNfV2FybmluZz1weXRob24zNS5QeUV4Y19XYXJuaW5nIERBVEEKKyAgUHlFeGNfWmVyb0RpdmlzaW9uRXJyb3I9cHl0aG9uMzUuUHlFeGNfWmVyb0RpdmlzaW9uRXJyb3IgREFUQQorICBQeUV4Y2VwdGlvbl9HZXRDYXVzZT1weXRob24zNS5QeUV4Y2VwdGlvbl9HZXRDYXVzZQorICBQeUV4Y2VwdGlvbl9HZXRDb250ZXh0PXB5dGhvbjM1LlB5RXhjZXB0aW9uX0dldENvbnRleHQKKyAgUHlFeGNlcHRpb25fR2V0VHJhY2ViYWNrPXB5dGhvbjM1LlB5RXhjZXB0aW9uX0dldFRyYWNlYmFjaworICBQeUV4Y2VwdGlvbl9TZXRDYXVzZT1weXRob24zNS5QeUV4Y2VwdGlvbl9TZXRDYXVzZQorICBQeUV4Y2VwdGlvbl9TZXRDb250ZXh0PXB5dGhvbjM1LlB5RXhjZXB0aW9uX1NldENvbnRleHQKKyAgUHlFeGNlcHRpb25fU2V0VHJhY2ViYWNrPXB5dGhvbjM1LlB5RXhjZXB0aW9uX1NldFRyYWNlYmFjaworICBQeUZpbGVfRnJvbUZkPXB5dGhvbjM1LlB5RmlsZV9Gcm9tRmQKKyAgUHlGaWxlX0dldExpbmU9cHl0aG9uMzUuUHlGaWxlX0dldExpbmUKKyAgUHlGaWxlX1dyaXRlT2JqZWN0PXB5dGhvbjM1LlB5RmlsZV9Xcml0ZU9iamVjdAorICBQeUZpbGVfV3JpdGVTdHJpbmc9cHl0aG9uMzUuUHlGaWxlX1dyaXRlU3RyaW5nCisgIFB5RmlsdGVyX1R5cGU9cHl0aG9uMzUuUHlGaWx0ZXJfVHlwZSBEQVRBCisgIFB5RmxvYXRfQXNEb3VibGU9cHl0aG9uMzUuUHlGbG9hdF9Bc0RvdWJsZQorICBQeUZsb2F0X0Zyb21Eb3VibGU9cHl0aG9uMzUuUHlGbG9hdF9Gcm9tRG91YmxlCisgIFB5RmxvYXRfRnJvbVN0cmluZz1weXRob24zNS5QeUZsb2F0X0Zyb21TdHJpbmcKKyAgUHlGbG9hdF9HZXRJbmZvPXB5dGhvbjM1LlB5RmxvYXRfR2V0SW5mbworICBQeUZsb2F0X0dldE1heD1weXRob24zNS5QeUZsb2F0X0dldE1heAorICBQeUZsb2F0X0dldE1pbj1weXRob24zNS5QeUZsb2F0X0dldE1pbgorICBQeUZsb2F0X1R5cGU9cHl0aG9uMzUuUHlGbG9hdF9UeXBlIERBVEEKKyAgUHlGcm96ZW5TZXRfTmV3PXB5dGhvbjM1LlB5RnJvemVuU2V0X05ldworICBQeUZyb3plblNldF9UeXBlPXB5dGhvbjM1LlB5RnJvemVuU2V0X1R5cGUgREFUQQorICBQeUdDX0NvbGxlY3Q9cHl0aG9uMzUuUHlHQ19Db2xsZWN0CisgIFB5R0lMU3RhdGVfRW5zdXJlPXB5dGhvbjM1LlB5R0lMU3RhdGVfRW5zdXJlCisgIFB5R0lMU3RhdGVfR2V0VGhpc1RocmVhZFN0YXRlPXB5dGhvbjM1LlB5R0lMU3RhdGVfR2V0VGhpc1RocmVhZFN0YXRlCisgIFB5R0lMU3RhdGVfUmVsZWFzZT1weXRob24zNS5QeUdJTFN0YXRlX1JlbGVhc2UKKyAgUHlHZXRTZXREZXNjcl9UeXBlPXB5dGhvbjM1LlB5R2V0U2V0RGVzY3JfVHlwZSBEQVRBCisgIFB5SW1wb3J0X0FkZE1vZHVsZT1weXRob24zNS5QeUltcG9ydF9BZGRNb2R1bGUKKyAgUHlJbXBvcnRfQXBwZW5kSW5pdHRhYj1weXRob24zNS5QeUltcG9ydF9BcHBlbmRJbml0dGFiCisgIFB5SW1wb3J0X0NsZWFudXA9cHl0aG9uMzUuUHlJbXBvcnRfQ2xlYW51cAorICBQeUltcG9ydF9FeGVjQ29kZU1vZHVsZT1weXRob24zNS5QeUltcG9ydF9FeGVjQ29kZU1vZHVsZQorICBQeUltcG9ydF9FeGVjQ29kZU1vZHVsZUV4PXB5dGhvbjM1LlB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlRXgKKyAgUHlJbXBvcnRfRXhlY0NvZGVNb2R1bGVXaXRoUGF0aG5hbWVzPXB5dGhvbjM1LlB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlV2l0aFBhdGhuYW1lcworICBQeUltcG9ydF9HZXRJbXBvcnRlcj1weXRob24zNS5QeUltcG9ydF9HZXRJbXBvcnRlcgorICBQeUltcG9ydF9HZXRNYWdpY051bWJlcj1weXRob24zNS5QeUltcG9ydF9HZXRNYWdpY051bWJlcgorICBQeUltcG9ydF9HZXRNYWdpY1RhZz1weXRob24zNS5QeUltcG9ydF9HZXRNYWdpY1RhZworICBQeUltcG9ydF9HZXRNb2R1bGVEaWN0PXB5dGhvbjM1LlB5SW1wb3J0X0dldE1vZHVsZURpY3QKKyAgUHlJbXBvcnRfSW1wb3J0PXB5dGhvbjM1LlB5SW1wb3J0X0ltcG9ydAorICBQeUltcG9ydF9JbXBvcnRGcm96ZW5Nb2R1bGU9cHl0aG9uMzUuUHlJbXBvcnRfSW1wb3J0RnJvemVuTW9kdWxlCisgIFB5SW1wb3J0X0ltcG9ydE1vZHVsZT1weXRob24zNS5QeUltcG9ydF9JbXBvcnRNb2R1bGUKKyAgUHlJbXBvcnRfSW1wb3J0TW9kdWxlTGV2ZWw9cHl0aG9uMzUuUHlJbXBvcnRfSW1wb3J0TW9kdWxlTGV2ZWwKKyAgUHlJbXBvcnRfSW1wb3J0TW9kdWxlTm9CbG9jaz1weXRob24zNS5QeUltcG9ydF9JbXBvcnRNb2R1bGVOb0Jsb2NrCisgIFB5SW1wb3J0X1JlbG9hZE1vZHVsZT1weXRob24zNS5QeUltcG9ydF9SZWxvYWRNb2R1bGUKKyAgUHlJbnRlcnByZXRlclN0YXRlX0NsZWFyPXB5dGhvbjM1LlB5SW50ZXJwcmV0ZXJTdGF0ZV9DbGVhcgorICBQeUludGVycHJldGVyU3RhdGVfRGVsZXRlPXB5dGhvbjM1LlB5SW50ZXJwcmV0ZXJTdGF0ZV9EZWxldGUKKyAgUHlJbnRlcnByZXRlclN0YXRlX05ldz1weXRob24zNS5QeUludGVycHJldGVyU3RhdGVfTmV3CisgIFB5SXRlcl9OZXh0PXB5dGhvbjM1LlB5SXRlcl9OZXh0CisgIFB5TGlzdEl0ZXJfVHlwZT1weXRob24zNS5QeUxpc3RJdGVyX1R5cGUgREFUQQorICBQeUxpc3RSZXZJdGVyX1R5cGU9cHl0aG9uMzUuUHlMaXN0UmV2SXRlcl9UeXBlIERBVEEKKyAgUHlMaXN0X0FwcGVuZD1weXRob24zNS5QeUxpc3RfQXBwZW5kCisgIFB5TGlzdF9Bc1R1cGxlPXB5dGhvbjM1LlB5TGlzdF9Bc1R1cGxlCisgIFB5TGlzdF9HZXRJdGVtPXB5dGhvbjM1LlB5TGlzdF9HZXRJdGVtCisgIFB5TGlzdF9HZXRTbGljZT1weXRob24zNS5QeUxpc3RfR2V0U2xpY2UKKyAgUHlMaXN0X0luc2VydD1weXRob24zNS5QeUxpc3RfSW5zZXJ0CisgIFB5TGlzdF9OZXc9cHl0aG9uMzUuUHlMaXN0X05ldworICBQeUxpc3RfUmV2ZXJzZT1weXRob24zNS5QeUxpc3RfUmV2ZXJzZQorICBQeUxpc3RfU2V0SXRlbT1weXRob24zNS5QeUxpc3RfU2V0SXRlbQorICBQeUxpc3RfU2V0U2xpY2U9cHl0aG9uMzUuUHlMaXN0X1NldFNsaWNlCisgIFB5TGlzdF9TaXplPXB5dGhvbjM1LlB5TGlzdF9TaXplCisgIFB5TGlzdF9Tb3J0PXB5dGhvbjM1LlB5TGlzdF9Tb3J0CisgIFB5TGlzdF9UeXBlPXB5dGhvbjM1LlB5TGlzdF9UeXBlIERBVEEKKyAgUHlMb25nUmFuZ2VJdGVyX1R5cGU9cHl0aG9uMzUuUHlMb25nUmFuZ2VJdGVyX1R5cGUgREFUQQorICBQeUxvbmdfQXNEb3VibGU9cHl0aG9uMzUuUHlMb25nX0FzRG91YmxlCisgIFB5TG9uZ19Bc0xvbmc9cHl0aG9uMzUuUHlMb25nX0FzTG9uZworICBQeUxvbmdfQXNMb25nQW5kT3ZlcmZsb3c9cHl0aG9uMzUuUHlMb25nX0FzTG9uZ0FuZE92ZXJmbG93CisgIFB5TG9uZ19Bc0xvbmdMb25nPXB5dGhvbjM1LlB5TG9uZ19Bc0xvbmdMb25nCisgIFB5TG9uZ19Bc0xvbmdMb25nQW5kT3ZlcmZsb3c9cHl0aG9uMzUuUHlMb25nX0FzTG9uZ0xvbmdBbmRPdmVyZmxvdworICBQeUxvbmdfQXNTaXplX3Q9cHl0aG9uMzUuUHlMb25nX0FzU2l6ZV90CisgIFB5TG9uZ19Bc1NzaXplX3Q9cHl0aG9uMzUuUHlMb25nX0FzU3NpemVfdAorICBQeUxvbmdfQXNVbnNpZ25lZExvbmc9cHl0aG9uMzUuUHlMb25nX0FzVW5zaWduZWRMb25nCisgIFB5TG9uZ19Bc1Vuc2lnbmVkTG9uZ0xvbmc9cHl0aG9uMzUuUHlMb25nX0FzVW5zaWduZWRMb25nTG9uZworICBQeUxvbmdfQXNVbnNpZ25lZExvbmdMb25nTWFzaz1weXRob24zNS5QeUxvbmdfQXNVbnNpZ25lZExvbmdMb25nTWFzaworICBQeUxvbmdfQXNVbnNpZ25lZExvbmdNYXNrPXB5dGhvbjM1LlB5TG9uZ19Bc1Vuc2lnbmVkTG9uZ01hc2sKKyAgUHlMb25nX0FzVm9pZFB0cj1weXRob24zNS5QeUxvbmdfQXNWb2lkUHRyCisgIFB5TG9uZ19Gcm9tRG91YmxlPXB5dGhvbjM1LlB5TG9uZ19Gcm9tRG91YmxlCisgIFB5TG9uZ19Gcm9tTG9uZz1weXRob24zNS5QeUxvbmdfRnJvbUxvbmcKKyAgUHlMb25nX0Zyb21Mb25nTG9uZz1weXRob24zNS5QeUxvbmdfRnJvbUxvbmdMb25nCisgIFB5TG9uZ19Gcm9tU2l6ZV90PXB5dGhvbjM1LlB5TG9uZ19Gcm9tU2l6ZV90CisgIFB5TG9uZ19Gcm9tU3NpemVfdD1weXRob24zNS5QeUxvbmdfRnJvbVNzaXplX3QKKyAgUHlMb25nX0Zyb21TdHJpbmc9cHl0aG9uMzUuUHlMb25nX0Zyb21TdHJpbmcKKyAgUHlMb25nX0Zyb21VbnNpZ25lZExvbmc9cHl0aG9uMzUuUHlMb25nX0Zyb21VbnNpZ25lZExvbmcKKyAgUHlMb25nX0Zyb21VbnNpZ25lZExvbmdMb25nPXB5dGhvbjM1LlB5TG9uZ19Gcm9tVW5zaWduZWRMb25nTG9uZworICBQeUxvbmdfRnJvbVZvaWRQdHI9cHl0aG9uMzUuUHlMb25nX0Zyb21Wb2lkUHRyCisgIFB5TG9uZ19HZXRJbmZvPXB5dGhvbjM1LlB5TG9uZ19HZXRJbmZvCisgIFB5TG9uZ19UeXBlPXB5dGhvbjM1LlB5TG9uZ19UeXBlIERBVEEKKyAgUHlNYXBfVHlwZT1weXRob24zNS5QeU1hcF9UeXBlIERBVEEKKyAgUHlNYXBwaW5nX0NoZWNrPXB5dGhvbjM1LlB5TWFwcGluZ19DaGVjaworICBQeU1hcHBpbmdfR2V0SXRlbVN0cmluZz1weXRob24zNS5QeU1hcHBpbmdfR2V0SXRlbVN0cmluZworICBQeU1hcHBpbmdfSGFzS2V5PXB5dGhvbjM1LlB5TWFwcGluZ19IYXNLZXkKKyAgUHlNYXBwaW5nX0hhc0tleVN0cmluZz1weXRob24zNS5QeU1hcHBpbmdfSGFzS2V5U3RyaW5nCisgIFB5TWFwcGluZ19JdGVtcz1weXRob24zNS5QeU1hcHBpbmdfSXRlbXMKKyAgUHlNYXBwaW5nX0tleXM9cHl0aG9uMzUuUHlNYXBwaW5nX0tleXMKKyAgUHlNYXBwaW5nX0xlbmd0aD1weXRob24zNS5QeU1hcHBpbmdfTGVuZ3RoCisgIFB5TWFwcGluZ19TZXRJdGVtU3RyaW5nPXB5dGhvbjM1LlB5TWFwcGluZ19TZXRJdGVtU3RyaW5nCisgIFB5TWFwcGluZ19TaXplPXB5dGhvbjM1LlB5TWFwcGluZ19TaXplCisgIFB5TWFwcGluZ19WYWx1ZXM9cHl0aG9uMzUuUHlNYXBwaW5nX1ZhbHVlcworICBQeU1lbV9GcmVlPXB5dGhvbjM1LlB5TWVtX0ZyZWUKKyAgUHlNZW1fTWFsbG9jPXB5dGhvbjM1LlB5TWVtX01hbGxvYworICBQeU1lbV9SZWFsbG9jPXB5dGhvbjM1LlB5TWVtX1JlYWxsb2MKKyAgUHlNZW1iZXJEZXNjcl9UeXBlPXB5dGhvbjM1LlB5TWVtYmVyRGVzY3JfVHlwZSBEQVRBCisgIFB5TWVtb3J5Vmlld19Gcm9tT2JqZWN0PXB5dGhvbjM1LlB5TWVtb3J5Vmlld19Gcm9tT2JqZWN0CisgIFB5TWVtb3J5Vmlld19HZXRDb250aWd1b3VzPXB5dGhvbjM1LlB5TWVtb3J5Vmlld19HZXRDb250aWd1b3VzCisgIFB5TWVtb3J5Vmlld19UeXBlPXB5dGhvbjM1LlB5TWVtb3J5Vmlld19UeXBlIERBVEEKKyAgUHlNZXRob2REZXNjcl9UeXBlPXB5dGhvbjM1LlB5TWV0aG9kRGVzY3JfVHlwZSBEQVRBCisgIFB5TW9kdWxlX0FkZEludENvbnN0YW50PXB5dGhvbjM1LlB5TW9kdWxlX0FkZEludENvbnN0YW50CisgIFB5TW9kdWxlX0FkZE9iamVjdD1weXRob24zNS5QeU1vZHVsZV9BZGRPYmplY3QKKyAgUHlNb2R1bGVfQWRkU3RyaW5nQ29uc3RhbnQ9cHl0aG9uMzUuUHlNb2R1bGVfQWRkU3RyaW5nQ29uc3RhbnQKKyAgUHlNb2R1bGVfQ3JlYXRlMj1weXRob24zNS5QeU1vZHVsZV9DcmVhdGUyCisgIFB5TW9kdWxlX0dldERlZj1weXRob24zNS5QeU1vZHVsZV9HZXREZWYKKyAgUHlNb2R1bGVfR2V0RGljdD1weXRob24zNS5QeU1vZHVsZV9HZXREaWN0CisgIFB5TW9kdWxlX0dldEZpbGVuYW1lPXB5dGhvbjM1LlB5TW9kdWxlX0dldEZpbGVuYW1lCisgIFB5TW9kdWxlX0dldEZpbGVuYW1lT2JqZWN0PXB5dGhvbjM1LlB5TW9kdWxlX0dldEZpbGVuYW1lT2JqZWN0CisgIFB5TW9kdWxlX0dldE5hbWU9cHl0aG9uMzUuUHlNb2R1bGVfR2V0TmFtZQorICBQeU1vZHVsZV9HZXRTdGF0ZT1weXRob24zNS5QeU1vZHVsZV9HZXRTdGF0ZQorICBQeU1vZHVsZV9OZXc9cHl0aG9uMzUuUHlNb2R1bGVfTmV3CisgIFB5TW9kdWxlX1R5cGU9cHl0aG9uMzUuUHlNb2R1bGVfVHlwZSBEQVRBCisgIFB5TnVsbEltcG9ydGVyX1R5cGU9cHl0aG9uMzUuUHlOdWxsSW1wb3J0ZXJfVHlwZSBEQVRBCisgIFB5TnVtYmVyX0Fic29sdXRlPXB5dGhvbjM1LlB5TnVtYmVyX0Fic29sdXRlCisgIFB5TnVtYmVyX0FkZD1weXRob24zNS5QeU51bWJlcl9BZGQKKyAgUHlOdW1iZXJfQW5kPXB5dGhvbjM1LlB5TnVtYmVyX0FuZAorICBQeU51bWJlcl9Bc1NzaXplX3Q9cHl0aG9uMzUuUHlOdW1iZXJfQXNTc2l6ZV90CisgIFB5TnVtYmVyX0NoZWNrPXB5dGhvbjM1LlB5TnVtYmVyX0NoZWNrCisgIFB5TnVtYmVyX0Rpdm1vZD1weXRob24zNS5QeU51bWJlcl9EaXZtb2QKKyAgUHlOdW1iZXJfRmxvYXQ9cHl0aG9uMzUuUHlOdW1iZXJfRmxvYXQKKyAgUHlOdW1iZXJfRmxvb3JEaXZpZGU9cHl0aG9uMzUuUHlOdW1iZXJfRmxvb3JEaXZpZGUKKyAgUHlOdW1iZXJfSW5QbGFjZUFkZD1weXRob24zNS5QeU51bWJlcl9JblBsYWNlQWRkCisgIFB5TnVtYmVyX0luUGxhY2VBbmQ9cHl0aG9uMzUuUHlOdW1iZXJfSW5QbGFjZUFuZAorICBQeU51bWJlcl9JblBsYWNlRmxvb3JEaXZpZGU9cHl0aG9uMzUuUHlOdW1iZXJfSW5QbGFjZUZsb29yRGl2aWRlCisgIFB5TnVtYmVyX0luUGxhY2VMc2hpZnQ9cHl0aG9uMzUuUHlOdW1iZXJfSW5QbGFjZUxzaGlmdAorICBQeU51bWJlcl9JblBsYWNlTXVsdGlwbHk9cHl0aG9uMzUuUHlOdW1iZXJfSW5QbGFjZU11bHRpcGx5CisgIFB5TnVtYmVyX0luUGxhY2VPcj1weXRob24zNS5QeU51bWJlcl9JblBsYWNlT3IKKyAgUHlOdW1iZXJfSW5QbGFjZVBvd2VyPXB5dGhvbjM1LlB5TnVtYmVyX0luUGxhY2VQb3dlcgorICBQeU51bWJlcl9JblBsYWNlUmVtYWluZGVyPXB5dGhvbjM1LlB5TnVtYmVyX0luUGxhY2VSZW1haW5kZXIKKyAgUHlOdW1iZXJfSW5QbGFjZVJzaGlmdD1weXRob24zNS5QeU51bWJlcl9JblBsYWNlUnNoaWZ0CisgIFB5TnVtYmVyX0luUGxhY2VTdWJ0cmFjdD1weXRob24zNS5QeU51bWJlcl9JblBsYWNlU3VidHJhY3QKKyAgUHlOdW1iZXJfSW5QbGFjZVRydWVEaXZpZGU9cHl0aG9uMzUuUHlOdW1iZXJfSW5QbGFjZVRydWVEaXZpZGUKKyAgUHlOdW1iZXJfSW5QbGFjZVhvcj1weXRob24zNS5QeU51bWJlcl9JblBsYWNlWG9yCisgIFB5TnVtYmVyX0luZGV4PXB5dGhvbjM1LlB5TnVtYmVyX0luZGV4CisgIFB5TnVtYmVyX0ludmVydD1weXRob24zNS5QeU51bWJlcl9JbnZlcnQKKyAgUHlOdW1iZXJfTG9uZz1weXRob24zNS5QeU51bWJlcl9Mb25nCisgIFB5TnVtYmVyX0xzaGlmdD1weXRob24zNS5QeU51bWJlcl9Mc2hpZnQKKyAgUHlOdW1iZXJfTXVsdGlwbHk9cHl0aG9uMzUuUHlOdW1iZXJfTXVsdGlwbHkKKyAgUHlOdW1iZXJfTmVnYXRpdmU9cHl0aG9uMzUuUHlOdW1iZXJfTmVnYXRpdmUKKyAgUHlOdW1iZXJfT3I9cHl0aG9uMzUuUHlOdW1iZXJfT3IKKyAgUHlOdW1iZXJfUG9zaXRpdmU9cHl0aG9uMzUuUHlOdW1iZXJfUG9zaXRpdmUKKyAgUHlOdW1iZXJfUG93ZXI9cHl0aG9uMzUuUHlOdW1iZXJfUG93ZXIKKyAgUHlOdW1iZXJfUmVtYWluZGVyPXB5dGhvbjM1LlB5TnVtYmVyX1JlbWFpbmRlcgorICBQeU51bWJlcl9Sc2hpZnQ9cHl0aG9uMzUuUHlOdW1iZXJfUnNoaWZ0CisgIFB5TnVtYmVyX1N1YnRyYWN0PXB5dGhvbjM1LlB5TnVtYmVyX1N1YnRyYWN0CisgIFB5TnVtYmVyX1RvQmFzZT1weXRob24zNS5QeU51bWJlcl9Ub0Jhc2UKKyAgUHlOdW1iZXJfVHJ1ZURpdmlkZT1weXRob24zNS5QeU51bWJlcl9UcnVlRGl2aWRlCisgIFB5TnVtYmVyX1hvcj1weXRob24zNS5QeU51bWJlcl9Yb3IKKyAgUHlPU19BZnRlckZvcms9cHl0aG9uMzUuUHlPU19BZnRlckZvcmsKKyAgUHlPU19Jbml0SW50ZXJydXB0cz1weXRob24zNS5QeU9TX0luaXRJbnRlcnJ1cHRzCisgIFB5T1NfSW5wdXRIb29rPXB5dGhvbjM1LlB5T1NfSW5wdXRIb29rIERBVEEKKyAgUHlPU19JbnRlcnJ1cHRPY2N1cnJlZD1weXRob24zNS5QeU9TX0ludGVycnVwdE9jY3VycmVkCisgIFB5T1NfUmVhZGxpbmVGdW5jdGlvblBvaW50ZXI9cHl0aG9uMzUuUHlPU19SZWFkbGluZUZ1bmN0aW9uUG9pbnRlciBEQVRBCisgIFB5T1NfZG91YmxlX3RvX3N0cmluZz1weXRob24zNS5QeU9TX2RvdWJsZV90b19zdHJpbmcKKyAgUHlPU19nZXRzaWc9cHl0aG9uMzUuUHlPU19nZXRzaWcKKyAgUHlPU19teXN0cmljbXA9cHl0aG9uMzUuUHlPU19teXN0cmljbXAKKyAgUHlPU19teXN0cm5pY21wPXB5dGhvbjM1LlB5T1NfbXlzdHJuaWNtcAorICBQeU9TX3NldHNpZz1weXRob24zNS5QeU9TX3NldHNpZworICBQeU9TX3NucHJpbnRmPXB5dGhvbjM1LlB5T1Nfc25wcmludGYKKyAgUHlPU19zdHJpbmdfdG9fZG91YmxlPXB5dGhvbjM1LlB5T1Nfc3RyaW5nX3RvX2RvdWJsZQorICBQeU9TX3N0cnRvbD1weXRob24zNS5QeU9TX3N0cnRvbAorICBQeU9TX3N0cnRvdWw9cHl0aG9uMzUuUHlPU19zdHJ0b3VsCisgIFB5T1NfdnNucHJpbnRmPXB5dGhvbjM1LlB5T1NfdnNucHJpbnRmCisgIFB5T2JqZWN0X0FTQ0lJPXB5dGhvbjM1LlB5T2JqZWN0X0FTQ0lJCisgIFB5T2JqZWN0X0FzQ2hhckJ1ZmZlcj1weXRob24zNS5QeU9iamVjdF9Bc0NoYXJCdWZmZXIKKyAgUHlPYmplY3RfQXNGaWxlRGVzY3JpcHRvcj1weXRob24zNS5QeU9iamVjdF9Bc0ZpbGVEZXNjcmlwdG9yCisgIFB5T2JqZWN0X0FzUmVhZEJ1ZmZlcj1weXRob24zNS5QeU9iamVjdF9Bc1JlYWRCdWZmZXIKKyAgUHlPYmplY3RfQXNXcml0ZUJ1ZmZlcj1weXRob24zNS5QeU9iamVjdF9Bc1dyaXRlQnVmZmVyCisgIFB5T2JqZWN0X0J5dGVzPXB5dGhvbjM1LlB5T2JqZWN0X0J5dGVzCisgIFB5T2JqZWN0X0NhbGw9cHl0aG9uMzUuUHlPYmplY3RfQ2FsbAorICBQeU9iamVjdF9DYWxsRnVuY3Rpb249cHl0aG9uMzUuUHlPYmplY3RfQ2FsbEZ1bmN0aW9uCisgIFB5T2JqZWN0X0NhbGxGdW5jdGlvbk9iakFyZ3M9cHl0aG9uMzUuUHlPYmplY3RfQ2FsbEZ1bmN0aW9uT2JqQXJncworICBQeU9iamVjdF9DYWxsTWV0aG9kPXB5dGhvbjM1LlB5T2JqZWN0X0NhbGxNZXRob2QKKyAgUHlPYmplY3RfQ2FsbE1ldGhvZE9iakFyZ3M9cHl0aG9uMzUuUHlPYmplY3RfQ2FsbE1ldGhvZE9iakFyZ3MKKyAgUHlPYmplY3RfQ2FsbE9iamVjdD1weXRob24zNS5QeU9iamVjdF9DYWxsT2JqZWN0CisgIFB5T2JqZWN0X0NoZWNrUmVhZEJ1ZmZlcj1weXRob24zNS5QeU9iamVjdF9DaGVja1JlYWRCdWZmZXIKKyAgUHlPYmplY3RfQ2xlYXJXZWFrUmVmcz1weXRob24zNS5QeU9iamVjdF9DbGVhcldlYWtSZWZzCisgIFB5T2JqZWN0X0RlbEl0ZW09cHl0aG9uMzUuUHlPYmplY3RfRGVsSXRlbQorICBQeU9iamVjdF9EZWxJdGVtU3RyaW5nPXB5dGhvbjM1LlB5T2JqZWN0X0RlbEl0ZW1TdHJpbmcKKyAgUHlPYmplY3RfRGlyPXB5dGhvbjM1LlB5T2JqZWN0X0RpcgorICBQeU9iamVjdF9Gb3JtYXQ9cHl0aG9uMzUuUHlPYmplY3RfRm9ybWF0CisgIFB5T2JqZWN0X0ZyZWU9cHl0aG9uMzUuUHlPYmplY3RfRnJlZQorICBQeU9iamVjdF9HQ19EZWw9cHl0aG9uMzUuUHlPYmplY3RfR0NfRGVsCisgIFB5T2JqZWN0X0dDX1RyYWNrPXB5dGhvbjM1LlB5T2JqZWN0X0dDX1RyYWNrCisgIFB5T2JqZWN0X0dDX1VuVHJhY2s9cHl0aG9uMzUuUHlPYmplY3RfR0NfVW5UcmFjaworICBQeU9iamVjdF9HZW5lcmljR2V0QXR0cj1weXRob24zNS5QeU9iamVjdF9HZW5lcmljR2V0QXR0cgorICBQeU9iamVjdF9HZW5lcmljU2V0QXR0cj1weXRob24zNS5QeU9iamVjdF9HZW5lcmljU2V0QXR0cgorICBQeU9iamVjdF9HZXRBdHRyPXB5dGhvbjM1LlB5T2JqZWN0X0dldEF0dHIKKyAgUHlPYmplY3RfR2V0QXR0clN0cmluZz1weXRob24zNS5QeU9iamVjdF9HZXRBdHRyU3RyaW5nCisgIFB5T2JqZWN0X0dldEl0ZW09cHl0aG9uMzUuUHlPYmplY3RfR2V0SXRlbQorICBQeU9iamVjdF9HZXRJdGVyPXB5dGhvbjM1LlB5T2JqZWN0X0dldEl0ZXIKKyAgUHlPYmplY3RfSGFzQXR0cj1weXRob24zNS5QeU9iamVjdF9IYXNBdHRyCisgIFB5T2JqZWN0X0hhc0F0dHJTdHJpbmc9cHl0aG9uMzUuUHlPYmplY3RfSGFzQXR0clN0cmluZworICBQeU9iamVjdF9IYXNoPXB5dGhvbjM1LlB5T2JqZWN0X0hhc2gKKyAgUHlPYmplY3RfSGFzaE5vdEltcGxlbWVudGVkPXB5dGhvbjM1LlB5T2JqZWN0X0hhc2hOb3RJbXBsZW1lbnRlZAorICBQeU9iamVjdF9Jbml0PXB5dGhvbjM1LlB5T2JqZWN0X0luaXQKKyAgUHlPYmplY3RfSW5pdFZhcj1weXRob24zNS5QeU9iamVjdF9Jbml0VmFyCisgIFB5T2JqZWN0X0lzSW5zdGFuY2U9cHl0aG9uMzUuUHlPYmplY3RfSXNJbnN0YW5jZQorICBQeU9iamVjdF9Jc1N1YmNsYXNzPXB5dGhvbjM1LlB5T2JqZWN0X0lzU3ViY2xhc3MKKyAgUHlPYmplY3RfSXNUcnVlPXB5dGhvbjM1LlB5T2JqZWN0X0lzVHJ1ZQorICBQeU9iamVjdF9MZW5ndGg9cHl0aG9uMzUuUHlPYmplY3RfTGVuZ3RoCisgIFB5T2JqZWN0X01hbGxvYz1weXRob24zNS5QeU9iamVjdF9NYWxsb2MKKyAgUHlPYmplY3RfTm90PXB5dGhvbjM1LlB5T2JqZWN0X05vdAorICBQeU9iamVjdF9SZWFsbG9jPXB5dGhvbjM1LlB5T2JqZWN0X1JlYWxsb2MKKyAgUHlPYmplY3RfUmVwcj1weXRob24zNS5QeU9iamVjdF9SZXByCisgIFB5T2JqZWN0X1JpY2hDb21wYXJlPXB5dGhvbjM1LlB5T2JqZWN0X1JpY2hDb21wYXJlCisgIFB5T2JqZWN0X1JpY2hDb21wYXJlQm9vbD1weXRob24zNS5QeU9iamVjdF9SaWNoQ29tcGFyZUJvb2wKKyAgUHlPYmplY3RfU2VsZkl0ZXI9cHl0aG9uMzUuUHlPYmplY3RfU2VsZkl0ZXIKKyAgUHlPYmplY3RfU2V0QXR0cj1weXRob24zNS5QeU9iamVjdF9TZXRBdHRyCisgIFB5T2JqZWN0X1NldEF0dHJTdHJpbmc9cHl0aG9uMzUuUHlPYmplY3RfU2V0QXR0clN0cmluZworICBQeU9iamVjdF9TZXRJdGVtPXB5dGhvbjM1LlB5T2JqZWN0X1NldEl0ZW0KKyAgUHlPYmplY3RfU2l6ZT1weXRob24zNS5QeU9iamVjdF9TaXplCisgIFB5T2JqZWN0X1N0cj1weXRob24zNS5QeU9iamVjdF9TdHIKKyAgUHlPYmplY3RfVHlwZT1weXRob24zNS5QeU9iamVjdF9UeXBlIERBVEEKKyAgUHlQYXJzZXJfU2ltcGxlUGFyc2VGaWxlRmxhZ3M9cHl0aG9uMzUuUHlQYXJzZXJfU2ltcGxlUGFyc2VGaWxlRmxhZ3MKKyAgUHlQYXJzZXJfU2ltcGxlUGFyc2VTdHJpbmdGbGFncz1weXRob24zNS5QeVBhcnNlcl9TaW1wbGVQYXJzZVN0cmluZ0ZsYWdzCisgIFB5UHJvcGVydHlfVHlwZT1weXRob24zNS5QeVByb3BlcnR5X1R5cGUgREFUQQorICBQeVJhbmdlSXRlcl9UeXBlPXB5dGhvbjM1LlB5UmFuZ2VJdGVyX1R5cGUgREFUQQorICBQeVJhbmdlX1R5cGU9cHl0aG9uMzUuUHlSYW5nZV9UeXBlIERBVEEKKyAgUHlSZXZlcnNlZF9UeXBlPXB5dGhvbjM1LlB5UmV2ZXJzZWRfVHlwZSBEQVRBCisgIFB5U2VxSXRlcl9OZXc9cHl0aG9uMzUuUHlTZXFJdGVyX05ldworICBQeVNlcUl0ZXJfVHlwZT1weXRob24zNS5QeVNlcUl0ZXJfVHlwZSBEQVRBCisgIFB5U2VxdWVuY2VfQ2hlY2s9cHl0aG9uMzUuUHlTZXF1ZW5jZV9DaGVjaworICBQeVNlcXVlbmNlX0NvbmNhdD1weXRob24zNS5QeVNlcXVlbmNlX0NvbmNhdAorICBQeVNlcXVlbmNlX0NvbnRhaW5zPXB5dGhvbjM1LlB5U2VxdWVuY2VfQ29udGFpbnMKKyAgUHlTZXF1ZW5jZV9Db3VudD1weXRob24zNS5QeVNlcXVlbmNlX0NvdW50CisgIFB5U2VxdWVuY2VfRGVsSXRlbT1weXRob24zNS5QeVNlcXVlbmNlX0RlbEl0ZW0KKyAgUHlTZXF1ZW5jZV9EZWxTbGljZT1weXRob24zNS5QeVNlcXVlbmNlX0RlbFNsaWNlCisgIFB5U2VxdWVuY2VfRmFzdD1weXRob24zNS5QeVNlcXVlbmNlX0Zhc3QKKyAgUHlTZXF1ZW5jZV9HZXRJdGVtPXB5dGhvbjM1LlB5U2VxdWVuY2VfR2V0SXRlbQorICBQeVNlcXVlbmNlX0dldFNsaWNlPXB5dGhvbjM1LlB5U2VxdWVuY2VfR2V0U2xpY2UKKyAgUHlTZXF1ZW5jZV9Jbj1weXRob24zNS5QeVNlcXVlbmNlX0luCisgIFB5U2VxdWVuY2VfSW5QbGFjZUNvbmNhdD1weXRob24zNS5QeVNlcXVlbmNlX0luUGxhY2VDb25jYXQKKyAgUHlTZXF1ZW5jZV9JblBsYWNlUmVwZWF0PXB5dGhvbjM1LlB5U2VxdWVuY2VfSW5QbGFjZVJlcGVhdAorICBQeVNlcXVlbmNlX0luZGV4PXB5dGhvbjM1LlB5U2VxdWVuY2VfSW5kZXgKKyAgUHlTZXF1ZW5jZV9MZW5ndGg9cHl0aG9uMzUuUHlTZXF1ZW5jZV9MZW5ndGgKKyAgUHlTZXF1ZW5jZV9MaXN0PXB5dGhvbjM1LlB5U2VxdWVuY2VfTGlzdAorICBQeVNlcXVlbmNlX1JlcGVhdD1weXRob24zNS5QeVNlcXVlbmNlX1JlcGVhdAorICBQeVNlcXVlbmNlX1NldEl0ZW09cHl0aG9uMzUuUHlTZXF1ZW5jZV9TZXRJdGVtCisgIFB5U2VxdWVuY2VfU2V0U2xpY2U9cHl0aG9uMzUuUHlTZXF1ZW5jZV9TZXRTbGljZQorICBQeVNlcXVlbmNlX1NpemU9cHl0aG9uMzUuUHlTZXF1ZW5jZV9TaXplCisgIFB5U2VxdWVuY2VfVHVwbGU9cHl0aG9uMzUuUHlTZXF1ZW5jZV9UdXBsZQorICBQeVNldEl0ZXJfVHlwZT1weXRob24zNS5QeVNldEl0ZXJfVHlwZSBEQVRBCisgIFB5U2V0X0FkZD1weXRob24zNS5QeVNldF9BZGQKKyAgUHlTZXRfQ2xlYXI9cHl0aG9uMzUuUHlTZXRfQ2xlYXIKKyAgUHlTZXRfQ29udGFpbnM9cHl0aG9uMzUuUHlTZXRfQ29udGFpbnMKKyAgUHlTZXRfRGlzY2FyZD1weXRob24zNS5QeVNldF9EaXNjYXJkCisgIFB5U2V0X05ldz1weXRob24zNS5QeVNldF9OZXcKKyAgUHlTZXRfUG9wPXB5dGhvbjM1LlB5U2V0X1BvcAorICBQeVNldF9TaXplPXB5dGhvbjM1LlB5U2V0X1NpemUKKyAgUHlTZXRfVHlwZT1weXRob24zNS5QeVNldF9UeXBlIERBVEEKKyAgUHlTbGljZV9HZXRJbmRpY2VzPXB5dGhvbjM1LlB5U2xpY2VfR2V0SW5kaWNlcworICBQeVNsaWNlX0dldEluZGljZXNFeD1weXRob24zNS5QeVNsaWNlX0dldEluZGljZXNFeAorICBQeVNsaWNlX05ldz1weXRob24zNS5QeVNsaWNlX05ldworICBQeVNsaWNlX1R5cGU9cHl0aG9uMzUuUHlTbGljZV9UeXBlIERBVEEKKyAgUHlTb3J0V3JhcHBlcl9UeXBlPXB5dGhvbjM1LlB5U29ydFdyYXBwZXJfVHlwZSBEQVRBCisgIFB5U3RhdGVfRmluZE1vZHVsZT1weXRob24zNS5QeVN0YXRlX0ZpbmRNb2R1bGUKKyAgUHlTdGF0ZV9BZGRNb2R1bGU9cHl0aG9uMzUuUHlTdGF0ZV9BZGRNb2R1bGUKKyAgUHlTdGF0ZV9SZW1vdmVNb2R1bGU9cHl0aG9uMzUuUHlTdGF0ZV9SZW1vdmVNb2R1bGUKKyAgUHlTdHJ1Y3RTZXF1ZW5jZV9HZXRJdGVtPXB5dGhvbjM1LlB5U3RydWN0U2VxdWVuY2VfR2V0SXRlbQorICBQeVN0cnVjdFNlcXVlbmNlX05ldz1weXRob24zNS5QeVN0cnVjdFNlcXVlbmNlX05ldworICBQeVN0cnVjdFNlcXVlbmNlX05ld1R5cGU9cHl0aG9uMzUuUHlTdHJ1Y3RTZXF1ZW5jZV9OZXdUeXBlCisgIFB5U3RydWN0U2VxdWVuY2VfU2V0SXRlbT1weXRob24zNS5QeVN0cnVjdFNlcXVlbmNlX1NldEl0ZW0KKyAgUHlTdXBlcl9UeXBlPXB5dGhvbjM1LlB5U3VwZXJfVHlwZSBEQVRBCisgIFB5U3lzX0FkZFdhcm5PcHRpb249cHl0aG9uMzUuUHlTeXNfQWRkV2Fybk9wdGlvbgorICBQeVN5c19BZGRXYXJuT3B0aW9uVW5pY29kZT1weXRob24zNS5QeVN5c19BZGRXYXJuT3B0aW9uVW5pY29kZQorICBQeVN5c19Gb3JtYXRTdGRlcnI9cHl0aG9uMzUuUHlTeXNfRm9ybWF0U3RkZXJyCisgIFB5U3lzX0Zvcm1hdFN0ZG91dD1weXRob24zNS5QeVN5c19Gb3JtYXRTdGRvdXQKKyAgUHlTeXNfR2V0T2JqZWN0PXB5dGhvbjM1LlB5U3lzX0dldE9iamVjdAorICBQeVN5c19IYXNXYXJuT3B0aW9ucz1weXRob24zNS5QeVN5c19IYXNXYXJuT3B0aW9ucworICBQeVN5c19SZXNldFdhcm5PcHRpb25zPXB5dGhvbjM1LlB5U3lzX1Jlc2V0V2Fybk9wdGlvbnMKKyAgUHlTeXNfU2V0QXJndj1weXRob24zNS5QeVN5c19TZXRBcmd2CisgIFB5U3lzX1NldEFyZ3ZFeD1weXRob24zNS5QeVN5c19TZXRBcmd2RXgKKyAgUHlTeXNfU2V0T2JqZWN0PXB5dGhvbjM1LlB5U3lzX1NldE9iamVjdAorICBQeVN5c19TZXRQYXRoPXB5dGhvbjM1LlB5U3lzX1NldFBhdGgKKyAgUHlTeXNfV3JpdGVTdGRlcnI9cHl0aG9uMzUuUHlTeXNfV3JpdGVTdGRlcnIKKyAgUHlTeXNfV3JpdGVTdGRvdXQ9cHl0aG9uMzUuUHlTeXNfV3JpdGVTdGRvdXQKKyAgUHlUaHJlYWRTdGF0ZV9DbGVhcj1weXRob24zNS5QeVRocmVhZFN0YXRlX0NsZWFyCisgIFB5VGhyZWFkU3RhdGVfRGVsZXRlPXB5dGhvbjM1LlB5VGhyZWFkU3RhdGVfRGVsZXRlCisgIFB5VGhyZWFkU3RhdGVfRGVsZXRlQ3VycmVudD1weXRob24zNS5QeVRocmVhZFN0YXRlX0RlbGV0ZUN1cnJlbnQKKyAgUHlUaHJlYWRTdGF0ZV9HZXQ9cHl0aG9uMzUuUHlUaHJlYWRTdGF0ZV9HZXQKKyAgUHlUaHJlYWRTdGF0ZV9HZXREaWN0PXB5dGhvbjM1LlB5VGhyZWFkU3RhdGVfR2V0RGljdAorICBQeVRocmVhZFN0YXRlX05ldz1weXRob24zNS5QeVRocmVhZFN0YXRlX05ldworICBQeVRocmVhZFN0YXRlX1NldEFzeW5jRXhjPXB5dGhvbjM1LlB5VGhyZWFkU3RhdGVfU2V0QXN5bmNFeGMKKyAgUHlUaHJlYWRTdGF0ZV9Td2FwPXB5dGhvbjM1LlB5VGhyZWFkU3RhdGVfU3dhcAorICBQeVRyYWNlQmFja19IZXJlPXB5dGhvbjM1LlB5VHJhY2VCYWNrX0hlcmUKKyAgUHlUcmFjZUJhY2tfUHJpbnQ9cHl0aG9uMzUuUHlUcmFjZUJhY2tfUHJpbnQKKyAgUHlUcmFjZUJhY2tfVHlwZT1weXRob24zNS5QeVRyYWNlQmFja19UeXBlIERBVEEKKyAgUHlUdXBsZUl0ZXJfVHlwZT1weXRob24zNS5QeVR1cGxlSXRlcl9UeXBlIERBVEEKKyAgUHlUdXBsZV9DbGVhckZyZWVMaXN0PXB5dGhvbjM1LlB5VHVwbGVfQ2xlYXJGcmVlTGlzdAorICBQeVR1cGxlX0dldEl0ZW09cHl0aG9uMzUuUHlUdXBsZV9HZXRJdGVtCisgIFB5VHVwbGVfR2V0U2xpY2U9cHl0aG9uMzUuUHlUdXBsZV9HZXRTbGljZQorICBQeVR1cGxlX05ldz1weXRob24zNS5QeVR1cGxlX05ldworICBQeVR1cGxlX1BhY2s9cHl0aG9uMzUuUHlUdXBsZV9QYWNrCisgIFB5VHVwbGVfU2V0SXRlbT1weXRob24zNS5QeVR1cGxlX1NldEl0ZW0KKyAgUHlUdXBsZV9TaXplPXB5dGhvbjM1LlB5VHVwbGVfU2l6ZQorICBQeVR1cGxlX1R5cGU9cHl0aG9uMzUuUHlUdXBsZV9UeXBlIERBVEEKKyAgUHlUeXBlX0NsZWFyQ2FjaGU9cHl0aG9uMzUuUHlUeXBlX0NsZWFyQ2FjaGUKKyAgUHlUeXBlX0Zyb21TcGVjPXB5dGhvbjM1LlB5VHlwZV9Gcm9tU3BlYworICBQeVR5cGVfRnJvbVNwZWNXaXRoQmFzZXM9cHl0aG9uMzUuUHlUeXBlX0Zyb21TcGVjV2l0aEJhc2VzCisgIFB5VHlwZV9HZW5lcmljQWxsb2M9cHl0aG9uMzUuUHlUeXBlX0dlbmVyaWNBbGxvYworICBQeVR5cGVfR2VuZXJpY05ldz1weXRob24zNS5QeVR5cGVfR2VuZXJpY05ldworICBQeVR5cGVfR2V0RmxhZ3M9cHl0aG9uMzUuUHlUeXBlX0dldEZsYWdzCisgIFB5VHlwZV9HZXRTbG90PXB5dGhvbjM1LlB5VHlwZV9HZXRTbG90CisgIFB5VHlwZV9Jc1N1YnR5cGU9cHl0aG9uMzUuUHlUeXBlX0lzU3VidHlwZQorICBQeVR5cGVfTW9kaWZpZWQ9cHl0aG9uMzUuUHlUeXBlX01vZGlmaWVkCisgIFB5VHlwZV9SZWFkeT1weXRob24zNS5QeVR5cGVfUmVhZHkKKyAgUHlUeXBlX1R5cGU9cHl0aG9uMzUuUHlUeXBlX1R5cGUgREFUQQorICBQeVVuaWNvZGVEZWNvZGVFcnJvcl9DcmVhdGU9cHl0aG9uMzUuUHlVbmljb2RlRGVjb2RlRXJyb3JfQ3JlYXRlCisgIFB5VW5pY29kZURlY29kZUVycm9yX0dldEVuY29kaW5nPXB5dGhvbjM1LlB5VW5pY29kZURlY29kZUVycm9yX0dldEVuY29kaW5nCisgIFB5VW5pY29kZURlY29kZUVycm9yX0dldEVuZD1weXRob24zNS5QeVVuaWNvZGVEZWNvZGVFcnJvcl9HZXRFbmQKKyAgUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0T2JqZWN0PXB5dGhvbjM1LlB5VW5pY29kZURlY29kZUVycm9yX0dldE9iamVjdAorICBQeVVuaWNvZGVEZWNvZGVFcnJvcl9HZXRSZWFzb249cHl0aG9uMzUuUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0UmVhc29uCisgIFB5VW5pY29kZURlY29kZUVycm9yX0dldFN0YXJ0PXB5dGhvbjM1LlB5VW5pY29kZURlY29kZUVycm9yX0dldFN0YXJ0CisgIFB5VW5pY29kZURlY29kZUVycm9yX1NldEVuZD1weXRob24zNS5QeVVuaWNvZGVEZWNvZGVFcnJvcl9TZXRFbmQKKyAgUHlVbmljb2RlRGVjb2RlRXJyb3JfU2V0UmVhc29uPXB5dGhvbjM1LlB5VW5pY29kZURlY29kZUVycm9yX1NldFJlYXNvbgorICBQeVVuaWNvZGVEZWNvZGVFcnJvcl9TZXRTdGFydD1weXRob24zNS5QeVVuaWNvZGVEZWNvZGVFcnJvcl9TZXRTdGFydAorICBQeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRFbmNvZGluZz1weXRob24zNS5QeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRFbmNvZGluZworICBQeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRFbmQ9cHl0aG9uMzUuUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0RW5kCisgIFB5VW5pY29kZUVuY29kZUVycm9yX0dldE9iamVjdD1weXRob24zNS5QeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRPYmplY3QKKyAgUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0UmVhc29uPXB5dGhvbjM1LlB5VW5pY29kZUVuY29kZUVycm9yX0dldFJlYXNvbgorICBQeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRTdGFydD1weXRob24zNS5QeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRTdGFydAorICBQeVVuaWNvZGVFbmNvZGVFcnJvcl9TZXRFbmQ9cHl0aG9uMzUuUHlVbmljb2RlRW5jb2RlRXJyb3JfU2V0RW5kCisgIFB5VW5pY29kZUVuY29kZUVycm9yX1NldFJlYXNvbj1weXRob24zNS5QeVVuaWNvZGVFbmNvZGVFcnJvcl9TZXRSZWFzb24KKyAgUHlVbmljb2RlRW5jb2RlRXJyb3JfU2V0U3RhcnQ9cHl0aG9uMzUuUHlVbmljb2RlRW5jb2RlRXJyb3JfU2V0U3RhcnQKKyAgUHlVbmljb2RlSXRlcl9UeXBlPXB5dGhvbjM1LlB5VW5pY29kZUl0ZXJfVHlwZSBEQVRBCisgIFB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX0dldEVuZD1weXRob24zNS5QeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9HZXRFbmQKKyAgUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfR2V0T2JqZWN0PXB5dGhvbjM1LlB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX0dldE9iamVjdAorICBQeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9HZXRSZWFzb249cHl0aG9uMzUuUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfR2V0UmVhc29uCisgIFB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX0dldFN0YXJ0PXB5dGhvbjM1LlB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX0dldFN0YXJ0CisgIFB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX1NldEVuZD1weXRob24zNS5QeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9TZXRFbmQKKyAgUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfU2V0UmVhc29uPXB5dGhvbjM1LlB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX1NldFJlYXNvbgorICBQeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9TZXRTdGFydD1weXRob24zNS5QeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9TZXRTdGFydAorICBQeVVuaWNvZGVfQXBwZW5kPXB5dGhvbjM1LlB5VW5pY29kZV9BcHBlbmQKKyAgUHlVbmljb2RlX0FwcGVuZEFuZERlbD1weXRob24zNS5QeVVuaWNvZGVfQXBwZW5kQW5kRGVsCisgIFB5VW5pY29kZV9Bc0FTQ0lJU3RyaW5nPXB5dGhvbjM1LlB5VW5pY29kZV9Bc0FTQ0lJU3RyaW5nCisgIFB5VW5pY29kZV9Bc0NoYXJtYXBTdHJpbmc9cHl0aG9uMzUuUHlVbmljb2RlX0FzQ2hhcm1hcFN0cmluZworICBQeVVuaWNvZGVfQXNEZWNvZGVkT2JqZWN0PXB5dGhvbjM1LlB5VW5pY29kZV9Bc0RlY29kZWRPYmplY3QKKyAgUHlVbmljb2RlX0FzRGVjb2RlZFVuaWNvZGU9cHl0aG9uMzUuUHlVbmljb2RlX0FzRGVjb2RlZFVuaWNvZGUKKyAgUHlVbmljb2RlX0FzRW5jb2RlZE9iamVjdD1weXRob24zNS5QeVVuaWNvZGVfQXNFbmNvZGVkT2JqZWN0CisgIFB5VW5pY29kZV9Bc0VuY29kZWRTdHJpbmc9cHl0aG9uMzUuUHlVbmljb2RlX0FzRW5jb2RlZFN0cmluZworICBQeVVuaWNvZGVfQXNFbmNvZGVkVW5pY29kZT1weXRob24zNS5QeVVuaWNvZGVfQXNFbmNvZGVkVW5pY29kZQorICBQeVVuaWNvZGVfQXNMYXRpbjFTdHJpbmc9cHl0aG9uMzUuUHlVbmljb2RlX0FzTGF0aW4xU3RyaW5nCisgIFB5VW5pY29kZV9Bc1Jhd1VuaWNvZGVFc2NhcGVTdHJpbmc9cHl0aG9uMzUuUHlVbmljb2RlX0FzUmF3VW5pY29kZUVzY2FwZVN0cmluZworICBQeVVuaWNvZGVfQXNVVEYxNlN0cmluZz1weXRob24zNS5QeVVuaWNvZGVfQXNVVEYxNlN0cmluZworICBQeVVuaWNvZGVfQXNVVEYzMlN0cmluZz1weXRob24zNS5QeVVuaWNvZGVfQXNVVEYzMlN0cmluZworICBQeVVuaWNvZGVfQXNVVEY4U3RyaW5nPXB5dGhvbjM1LlB5VW5pY29kZV9Bc1VURjhTdHJpbmcKKyAgUHlVbmljb2RlX0FzVW5pY29kZUVzY2FwZVN0cmluZz1weXRob24zNS5QeVVuaWNvZGVfQXNVbmljb2RlRXNjYXBlU3RyaW5nCisgIFB5VW5pY29kZV9Bc1dpZGVDaGFyPXB5dGhvbjM1LlB5VW5pY29kZV9Bc1dpZGVDaGFyCisgIFB5VW5pY29kZV9DbGVhckZyZWVsaXN0PXB5dGhvbjM1LlB5VW5pY29kZV9DbGVhckZyZWVsaXN0CisgIFB5VW5pY29kZV9Db21wYXJlPXB5dGhvbjM1LlB5VW5pY29kZV9Db21wYXJlCisgIFB5VW5pY29kZV9Db25jYXQ9cHl0aG9uMzUuUHlVbmljb2RlX0NvbmNhdAorICBQeVVuaWNvZGVfQ29udGFpbnM9cHl0aG9uMzUuUHlVbmljb2RlX0NvbnRhaW5zCisgIFB5VW5pY29kZV9Db3VudD1weXRob24zNS5QeVVuaWNvZGVfQ291bnQKKyAgUHlVbmljb2RlX0RlY29kZT1weXRob24zNS5QeVVuaWNvZGVfRGVjb2RlCisgIFB5VW5pY29kZV9EZWNvZGVBU0NJST1weXRob24zNS5QeVVuaWNvZGVfRGVjb2RlQVNDSUkKKyAgUHlVbmljb2RlX0RlY29kZUNoYXJtYXA9cHl0aG9uMzUuUHlVbmljb2RlX0RlY29kZUNoYXJtYXAKKyAgUHlVbmljb2RlX0RlY29kZUZTRGVmYXVsdD1weXRob24zNS5QeVVuaWNvZGVfRGVjb2RlRlNEZWZhdWx0CisgIFB5VW5pY29kZV9EZWNvZGVGU0RlZmF1bHRBbmRTaXplPXB5dGhvbjM1LlB5VW5pY29kZV9EZWNvZGVGU0RlZmF1bHRBbmRTaXplCisgIFB5VW5pY29kZV9EZWNvZGVMYXRpbjE9cHl0aG9uMzUuUHlVbmljb2RlX0RlY29kZUxhdGluMQorICBQeVVuaWNvZGVfRGVjb2RlUmF3VW5pY29kZUVzY2FwZT1weXRob24zNS5QeVVuaWNvZGVfRGVjb2RlUmF3VW5pY29kZUVzY2FwZQorICBQeVVuaWNvZGVfRGVjb2RlVVRGMTY9cHl0aG9uMzUuUHlVbmljb2RlX0RlY29kZVVURjE2CisgIFB5VW5pY29kZV9EZWNvZGVVVEYxNlN0YXRlZnVsPXB5dGhvbjM1LlB5VW5pY29kZV9EZWNvZGVVVEYxNlN0YXRlZnVsCisgIFB5VW5pY29kZV9EZWNvZGVVVEYzMj1weXRob24zNS5QeVVuaWNvZGVfRGVjb2RlVVRGMzIKKyAgUHlVbmljb2RlX0RlY29kZVVURjMyU3RhdGVmdWw9cHl0aG9uMzUuUHlVbmljb2RlX0RlY29kZVVURjMyU3RhdGVmdWwKKyAgUHlVbmljb2RlX0RlY29kZVVURjg9cHl0aG9uMzUuUHlVbmljb2RlX0RlY29kZVVURjgKKyAgUHlVbmljb2RlX0RlY29kZVVURjhTdGF0ZWZ1bD1weXRob24zNS5QeVVuaWNvZGVfRGVjb2RlVVRGOFN0YXRlZnVsCisgIFB5VW5pY29kZV9EZWNvZGVVbmljb2RlRXNjYXBlPXB5dGhvbjM1LlB5VW5pY29kZV9EZWNvZGVVbmljb2RlRXNjYXBlCisgIFB5VW5pY29kZV9GU0NvbnZlcnRlcj1weXRob24zNS5QeVVuaWNvZGVfRlNDb252ZXJ0ZXIKKyAgUHlVbmljb2RlX0ZTRGVjb2Rlcj1weXRob24zNS5QeVVuaWNvZGVfRlNEZWNvZGVyCisgIFB5VW5pY29kZV9GaW5kPXB5dGhvbjM1LlB5VW5pY29kZV9GaW5kCisgIFB5VW5pY29kZV9Gb3JtYXQ9cHl0aG9uMzUuUHlVbmljb2RlX0Zvcm1hdAorICBQeVVuaWNvZGVfRnJvbUVuY29kZWRPYmplY3Q9cHl0aG9uMzUuUHlVbmljb2RlX0Zyb21FbmNvZGVkT2JqZWN0CisgIFB5VW5pY29kZV9Gcm9tRm9ybWF0PXB5dGhvbjM1LlB5VW5pY29kZV9Gcm9tRm9ybWF0CisgIFB5VW5pY29kZV9Gcm9tRm9ybWF0Vj1weXRob24zNS5QeVVuaWNvZGVfRnJvbUZvcm1hdFYKKyAgUHlVbmljb2RlX0Zyb21PYmplY3Q9cHl0aG9uMzUuUHlVbmljb2RlX0Zyb21PYmplY3QKKyAgUHlVbmljb2RlX0Zyb21PcmRpbmFsPXB5dGhvbjM1LlB5VW5pY29kZV9Gcm9tT3JkaW5hbAorICBQeVVuaWNvZGVfRnJvbVN0cmluZz1weXRob24zNS5QeVVuaWNvZGVfRnJvbVN0cmluZworICBQeVVuaWNvZGVfRnJvbVN0cmluZ0FuZFNpemU9cHl0aG9uMzUuUHlVbmljb2RlX0Zyb21TdHJpbmdBbmRTaXplCisgIFB5VW5pY29kZV9Gcm9tV2lkZUNoYXI9cHl0aG9uMzUuUHlVbmljb2RlX0Zyb21XaWRlQ2hhcgorICBQeVVuaWNvZGVfR2V0RGVmYXVsdEVuY29kaW5nPXB5dGhvbjM1LlB5VW5pY29kZV9HZXREZWZhdWx0RW5jb2RpbmcKKyAgUHlVbmljb2RlX0dldFNpemU9cHl0aG9uMzUuUHlVbmljb2RlX0dldFNpemUKKyAgUHlVbmljb2RlX0lzSWRlbnRpZmllcj1weXRob24zNS5QeVVuaWNvZGVfSXNJZGVudGlmaWVyCisgIFB5VW5pY29kZV9Kb2luPXB5dGhvbjM1LlB5VW5pY29kZV9Kb2luCisgIFB5VW5pY29kZV9QYXJ0aXRpb249cHl0aG9uMzUuUHlVbmljb2RlX1BhcnRpdGlvbgorICBQeVVuaWNvZGVfUlBhcnRpdGlvbj1weXRob24zNS5QeVVuaWNvZGVfUlBhcnRpdGlvbgorICBQeVVuaWNvZGVfUlNwbGl0PXB5dGhvbjM1LlB5VW5pY29kZV9SU3BsaXQKKyAgUHlVbmljb2RlX1JlcGxhY2U9cHl0aG9uMzUuUHlVbmljb2RlX1JlcGxhY2UKKyAgUHlVbmljb2RlX1Jlc2l6ZT1weXRob24zNS5QeVVuaWNvZGVfUmVzaXplCisgIFB5VW5pY29kZV9SaWNoQ29tcGFyZT1weXRob24zNS5QeVVuaWNvZGVfUmljaENvbXBhcmUKKyAgUHlVbmljb2RlX1NldERlZmF1bHRFbmNvZGluZz1weXRob24zNS5QeVVuaWNvZGVfU2V0RGVmYXVsdEVuY29kaW5nCisgIFB5VW5pY29kZV9TcGxpdD1weXRob24zNS5QeVVuaWNvZGVfU3BsaXQKKyAgUHlVbmljb2RlX1NwbGl0bGluZXM9cHl0aG9uMzUuUHlVbmljb2RlX1NwbGl0bGluZXMKKyAgUHlVbmljb2RlX1RhaWxtYXRjaD1weXRob24zNS5QeVVuaWNvZGVfVGFpbG1hdGNoCisgIFB5VW5pY29kZV9UcmFuc2xhdGU9cHl0aG9uMzUuUHlVbmljb2RlX1RyYW5zbGF0ZQorICBQeVVuaWNvZGVfQnVpbGRFbmNvZGluZ01hcD1weXRob24zNS5QeVVuaWNvZGVfQnVpbGRFbmNvZGluZ01hcAorICBQeVVuaWNvZGVfQ29tcGFyZVdpdGhBU0NJSVN0cmluZz1weXRob24zNS5QeVVuaWNvZGVfQ29tcGFyZVdpdGhBU0NJSVN0cmluZworICBQeVVuaWNvZGVfRGVjb2RlVVRGNz1weXRob24zNS5QeVVuaWNvZGVfRGVjb2RlVVRGNworICBQeVVuaWNvZGVfRGVjb2RlVVRGN1N0YXRlZnVsPXB5dGhvbjM1LlB5VW5pY29kZV9EZWNvZGVVVEY3U3RhdGVmdWwKKyAgUHlVbmljb2RlX0VuY29kZUZTRGVmYXVsdD1weXRob24zNS5QeVVuaWNvZGVfRW5jb2RlRlNEZWZhdWx0CisgIFB5VW5pY29kZV9JbnRlcm5Gcm9tU3RyaW5nPXB5dGhvbjM1LlB5VW5pY29kZV9JbnRlcm5Gcm9tU3RyaW5nCisgIFB5VW5pY29kZV9JbnRlcm5JbW1vcnRhbD1weXRob24zNS5QeVVuaWNvZGVfSW50ZXJuSW1tb3J0YWwKKyAgUHlVbmljb2RlX0ludGVybkluUGxhY2U9cHl0aG9uMzUuUHlVbmljb2RlX0ludGVybkluUGxhY2UKKyAgUHlVbmljb2RlX1R5cGU9cHl0aG9uMzUuUHlVbmljb2RlX1R5cGUgREFUQQorICBQeVdlYWtyZWZfR2V0T2JqZWN0PXB5dGhvbjM1LlB5V2Vha3JlZl9HZXRPYmplY3QgREFUQQorICBQeVdlYWtyZWZfTmV3UHJveHk9cHl0aG9uMzUuUHlXZWFrcmVmX05ld1Byb3h5CisgIFB5V2Vha3JlZl9OZXdSZWY9cHl0aG9uMzUuUHlXZWFrcmVmX05ld1JlZgorICBQeVdyYXBwZXJEZXNjcl9UeXBlPXB5dGhvbjM1LlB5V3JhcHBlckRlc2NyX1R5cGUgREFUQQorICBQeVdyYXBwZXJfTmV3PXB5dGhvbjM1LlB5V3JhcHBlcl9OZXcKKyAgUHlaaXBfVHlwZT1weXRob24zNS5QeVppcF9UeXBlIERBVEEKKyAgUHlfQWRkUGVuZGluZ0NhbGw9cHl0aG9uMzUuUHlfQWRkUGVuZGluZ0NhbGwKKyAgUHlfQXRFeGl0PXB5dGhvbjM1LlB5X0F0RXhpdAorICBQeV9CdWlsZFZhbHVlPXB5dGhvbjM1LlB5X0J1aWxkVmFsdWUKKyAgUHlfQ29tcGlsZVN0cmluZz1weXRob24zNS5QeV9Db21waWxlU3RyaW5nCisgIFB5X0RlY1JlZj1weXRob24zNS5QeV9EZWNSZWYKKyAgUHlfRW5kSW50ZXJwcmV0ZXI9cHl0aG9uMzUuUHlfRW5kSW50ZXJwcmV0ZXIKKyAgUHlfRXhpdD1weXRob24zNS5QeV9FeGl0CisgIFB5X0ZhdGFsRXJyb3I9cHl0aG9uMzUuUHlfRmF0YWxFcnJvcgorICBQeV9GaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nPXB5dGhvbjM1LlB5X0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2RpbmcgREFUQQorICBQeV9GaW5hbGl6ZT1weXRob24zNS5QeV9GaW5hbGl6ZQorICBQeV9HZXRCdWlsZEluZm89cHl0aG9uMzUuUHlfR2V0QnVpbGRJbmZvCisgIFB5X0dldENvbXBpbGVyPXB5dGhvbjM1LlB5X0dldENvbXBpbGVyCisgIFB5X0dldENvcHlyaWdodD1weXRob24zNS5QeV9HZXRDb3B5cmlnaHQKKyAgUHlfR2V0RXhlY1ByZWZpeD1weXRob24zNS5QeV9HZXRFeGVjUHJlZml4CisgIFB5X0dldFBhdGg9cHl0aG9uMzUuUHlfR2V0UGF0aAorICBQeV9HZXRQbGF0Zm9ybT1weXRob24zNS5QeV9HZXRQbGF0Zm9ybQorICBQeV9HZXRQcmVmaXg9cHl0aG9uMzUuUHlfR2V0UHJlZml4CisgIFB5X0dldFByb2dyYW1GdWxsUGF0aD1weXRob24zNS5QeV9HZXRQcm9ncmFtRnVsbFBhdGgKKyAgUHlfR2V0UHJvZ3JhbU5hbWU9cHl0aG9uMzUuUHlfR2V0UHJvZ3JhbU5hbWUKKyAgUHlfR2V0UHl0aG9uSG9tZT1weXRob24zNS5QeV9HZXRQeXRob25Ib21lCisgIFB5X0dldFJlY3Vyc2lvbkxpbWl0PXB5dGhvbjM1LlB5X0dldFJlY3Vyc2lvbkxpbWl0CisgIFB5X0dldFZlcnNpb249cHl0aG9uMzUuUHlfR2V0VmVyc2lvbgorICBQeV9IYXNGaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nPXB5dGhvbjM1LlB5X0hhc0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2RpbmcgREFUQQorICBQeV9JbmNSZWY9cHl0aG9uMzUuUHlfSW5jUmVmCisgIFB5X0luaXRpYWxpemU9cHl0aG9uMzUuUHlfSW5pdGlhbGl6ZQorICBQeV9Jbml0aWFsaXplRXg9cHl0aG9uMzUuUHlfSW5pdGlhbGl6ZUV4CisgIFB5X0lzSW5pdGlhbGl6ZWQ9cHl0aG9uMzUuUHlfSXNJbml0aWFsaXplZAorICBQeV9NYWluPXB5dGhvbjM1LlB5X01haW4KKyAgUHlfTWFrZVBlbmRpbmdDYWxscz1weXRob24zNS5QeV9NYWtlUGVuZGluZ0NhbGxzCisgIFB5X05ld0ludGVycHJldGVyPXB5dGhvbjM1LlB5X05ld0ludGVycHJldGVyCisgIFB5X1JlcHJFbnRlcj1weXRob24zNS5QeV9SZXByRW50ZXIKKyAgUHlfUmVwckxlYXZlPXB5dGhvbjM1LlB5X1JlcHJMZWF2ZQorICBQeV9TZXRQcm9ncmFtTmFtZT1weXRob24zNS5QeV9TZXRQcm9ncmFtTmFtZQorICBQeV9TZXRQeXRob25Ib21lPXB5dGhvbjM1LlB5X1NldFB5dGhvbkhvbWUKKyAgUHlfU2V0UmVjdXJzaW9uTGltaXQ9cHl0aG9uMzUuUHlfU2V0UmVjdXJzaW9uTGltaXQKKyAgUHlfU3ltdGFibGVTdHJpbmc9cHl0aG9uMzUuUHlfU3ltdGFibGVTdHJpbmcKKyAgUHlfVmFCdWlsZFZhbHVlPXB5dGhvbjM1LlB5X1ZhQnVpbGRWYWx1ZQorICBfUHlFcnJfQmFkSW50ZXJuYWxDYWxsPXB5dGhvbjM1Ll9QeUVycl9CYWRJbnRlcm5hbENhbGwKKyAgX1B5T2JqZWN0X0NhbGxGdW5jdGlvbl9TaXplVD1weXRob24zNS5fUHlPYmplY3RfQ2FsbEZ1bmN0aW9uX1NpemVUCisgIF9QeU9iamVjdF9DYWxsTWV0aG9kX1NpemVUPXB5dGhvbjM1Ll9QeU9iamVjdF9DYWxsTWV0aG9kX1NpemVUCisgIF9QeU9iamVjdF9HQ19NYWxsb2M9cHl0aG9uMzUuX1B5T2JqZWN0X0dDX01hbGxvYworICBfUHlPYmplY3RfR0NfTmV3PXB5dGhvbjM1Ll9QeU9iamVjdF9HQ19OZXcKKyAgX1B5T2JqZWN0X0dDX05ld1Zhcj1weXRob24zNS5fUHlPYmplY3RfR0NfTmV3VmFyCisgIF9QeU9iamVjdF9HQ19SZXNpemU9cHl0aG9uMzUuX1B5T2JqZWN0X0dDX1Jlc2l6ZQorICBfUHlPYmplY3RfTmV3PXB5dGhvbjM1Ll9QeU9iamVjdF9OZXcKKyAgX1B5T2JqZWN0X05ld1Zhcj1weXRob24zNS5fUHlPYmplY3RfTmV3VmFyCisgIF9QeVN0YXRlX0FkZE1vZHVsZT1weXRob24zNS5fUHlTdGF0ZV9BZGRNb2R1bGUKKyAgX1B5VGhyZWFkU3RhdGVfSW5pdD1weXRob24zNS5fUHlUaHJlYWRTdGF0ZV9Jbml0CisgIF9QeVRocmVhZFN0YXRlX1ByZWFsbG9jPXB5dGhvbjM1Ll9QeVRocmVhZFN0YXRlX1ByZWFsbG9jCisgIF9QeVRyYXNoX2RlbGV0ZV9sYXRlcj1weXRob24zNS5fUHlUcmFzaF9kZWxldGVfbGF0ZXIgREFUQQorICBfUHlUcmFzaF9kZWxldGVfbmVzdGluZz1weXRob24zNS5fUHlUcmFzaF9kZWxldGVfbmVzdGluZyBEQVRBCisgIF9QeVRyYXNoX2RlcG9zaXRfb2JqZWN0PXB5dGhvbjM1Ll9QeVRyYXNoX2RlcG9zaXRfb2JqZWN0CisgIF9QeVRyYXNoX2Rlc3Ryb3lfY2hhaW49cHl0aG9uMzUuX1B5VHJhc2hfZGVzdHJveV9jaGFpbgorICBfUHlXZWFrcmVmX0NhbGxhYmxlUHJveHlUeXBlPXB5dGhvbjM1Ll9QeVdlYWtyZWZfQ2FsbGFibGVQcm94eVR5cGUgREFUQQorICBfUHlXZWFrcmVmX1Byb3h5VHlwZT1weXRob24zNS5fUHlXZWFrcmVmX1Byb3h5VHlwZSBEQVRBCisgIF9QeVdlYWtyZWZfUmVmVHlwZT1weXRob24zNS5fUHlXZWFrcmVmX1JlZlR5cGUgREFUQQorICBfUHlfQnVpbGRWYWx1ZV9TaXplVD1weXRob24zNS5fUHlfQnVpbGRWYWx1ZV9TaXplVAorICBfUHlfQ2hlY2tSZWN1cnNpb25MaW1pdD1weXRob24zNS5fUHlfQ2hlY2tSZWN1cnNpb25MaW1pdCBEQVRBCisgIF9QeV9DaGVja1JlY3Vyc2l2ZUNhbGw9cHl0aG9uMzUuX1B5X0NoZWNrUmVjdXJzaXZlQ2FsbAorICBfUHlfRGVhbGxvYz1weXRob24zNS5fUHlfRGVhbGxvYworICBfUHlfRWxsaXBzaXNPYmplY3Q9cHl0aG9uMzUuX1B5X0VsbGlwc2lzT2JqZWN0IERBVEEKKyAgX1B5X0ZhbHNlU3RydWN0PXB5dGhvbjM1Ll9QeV9GYWxzZVN0cnVjdCBEQVRBCisgIF9QeV9Ob25lU3RydWN0PXB5dGhvbjM1Ll9QeV9Ob25lU3RydWN0IERBVEEKKyAgX1B5X05vdEltcGxlbWVudGVkU3RydWN0PXB5dGhvbjM1Ll9QeV9Ob3RJbXBsZW1lbnRlZFN0cnVjdCBEQVRBCisgIF9QeV9Td2FwcGVkT3A9cHl0aG9uMzUuX1B5X1N3YXBwZWRPcCBEQVRBCisgIF9QeV9UcnVlU3RydWN0PXB5dGhvbjM1Ll9QeV9UcnVlU3RydWN0IERBVEEKKyAgX1B5X1ZhQnVpbGRWYWx1ZV9TaXplVD1weXRob24zNS5fUHlfVmFCdWlsZFZhbHVlX1NpemVUCisgIF9QeUFyZ19QYXJzZV9TaXplVD1weXRob24zNS5fUHlBcmdfUGFyc2VfU2l6ZVQKKyAgX1B5QXJnX1BhcnNlVHVwbGVfU2l6ZVQ9cHl0aG9uMzUuX1B5QXJnX1BhcnNlVHVwbGVfU2l6ZVQKKyAgX1B5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3Jkc19TaXplVD1weXRob24zNS5fUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzX1NpemVUCisgIF9QeUFyZ19WYVBhcnNlX1NpemVUPXB5dGhvbjM1Ll9QeUFyZ19WYVBhcnNlX1NpemVUCisgIF9QeUFyZ19WYVBhcnNlVHVwbGVBbmRLZXl3b3Jkc19TaXplVD1weXRob24zNS5fUHlBcmdfVmFQYXJzZVR1cGxlQW5kS2V5d29yZHNfU2l6ZVQKKyAgX1B5X0J1aWxkVmFsdWVfU2l6ZVQ9cHl0aG9uMzUuX1B5X0J1aWxkVmFsdWVfU2l6ZVQKZGlmZiAtLWdpdCBhL1BDL3B5dGhvbjMubWFrIGIvUEMvcHl0aG9uMy5tYWsKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZiOGU3YWEuLjAwMDAwMDAKLS0tIGEvUEMvcHl0aG9uMy5tYWsKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi0kKE91dERpcilweXRob24zLmRsbDoJcHl0aG9uMy5kZWYgJChPdXREaXIpcHl0aG9uMzRzdHViLmxpYgotCWNsIC9MRCAvRmUkKE91dERpcilweXRob24zLmRsbCBweXRob24zZGxsLmMgcHl0aG9uMy5kZWYgJChPdXREaXIpcHl0aG9uMzRzdHViLmxpYgotCi0kKE91dERpcilweXRob24zNHN0dWIubGliOglweXRob24zNHN0dWIuZGVmCi0JbGliIC9kZWY6cHl0aG9uMzRzdHViLmRlZiAvb3V0OiQoT3V0RGlyKXB5dGhvbjM0c3R1Yi5saWIgL01BQ0hJTkU6JChNQUNISU5FKQotCi1jbGVhbjoKLQlJRiBFWElTVCAkKE91dERpcilweXRob24zLmRsbCBkZWwgJChPdXREaXIpcHl0aG9uMy5kbGwKLQlJRiBFWElTVCAkKE91dERpcilweXRob24zLmxpYiBkZWwgJChPdXREaXIpcHl0aG9uMy5saWIKLQlJRiBFWElTVCAkKE91dERpcilweXRob24zNHN0dWIubGliIGRlbCAkKE91dERpcilweXRob24zNHN0dWIubGliCi0JSUYgRVhJU1QgJChPdXREaXIpcHl0aG9uMy5leHAgZGVsICQoT3V0RGlyKXB5dGhvbjMuZXhwCi0JSUYgRVhJU1QgJChPdXREaXIpcHl0aG9uMzRzdHViLmV4cCBkZWwgJChPdXREaXIpcHl0aG9uMzRzdHViLmV4cAotCi1yZWJ1aWxkOiBjbGVhbiAkKE91dERpcilweXRob24zLmRsbApkaWZmIC0tZ2l0IGEvUEMvcHl0aG9uMzRnZW4ucHkgYi9QQy9weXRob24zNGdlbi5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTgwY2UxMS4uMDAwMDAwMAotLS0gYS9QQy9weXRob24zNGdlbi5weQorKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLSMgR2VuZXJhdGUgcHl0aG9uMzRzdHViLmRlZiBvdXQgb2YgcHl0aG9uMy5kZWYKLSMgVGhlIHJlZ3VsYXIgaW1wb3J0IGxpYnJhcnkgY2Fubm90IGJlIHVzZWQsCi0jIHNpbmNlIGl0IGRvZXNuJ3QgcHJvdmlkZSB0aGUgcmlnaHQgc3ltYm9scyBmb3IKLSMgZGF0YSBmb3J3YXJkaW5nCi1vdXQgPSBvcGVuKCJweXRob24zNHN0dWIuZGVmIiwgInciKQotb3V0LndyaXRlKCdMSUJSQVJZICJweXRob24zNCJcbicpCi1vdXQud3JpdGUoJ0VYUE9SVFNcbicpCi0KLWlucCA9IG9wZW4oInB5dGhvbjMuZGVmIikKLWxpbmUgPSBpbnAucmVhZGxpbmUoKQotd2hpbGUgbGluZS5zdHJpcCgpLnN0YXJ0c3dpdGgoJzsnKToKLSAgICBsaW5lID0gaW5wLnJlYWRsaW5lKCkKLWxpbmUgPSBpbnAucmVhZGxpbmUoKSAjIExJQlJBUlkKLWFzc2VydCBsaW5lLnN0cmlwKCk9PSdFWFBPUlRTJwotCi1mb3IgbGluZSBpbiBpbnA6Ci0gICAgIyBTWU0xPXB5dGhvbjM0LlNZTTJbIERBVEFdCi0gICAgaGVhZCwgdGFpbCA9IGxpbmUuc3BsaXQoJy4nKQotICAgIGlmICdEQVRBJyBpbiB0YWlsOgotICAgICAgICBzeW1ib2wsIHRhaWwgPSB0YWlsLnNwbGl0KCcgJykKLSAgICBlbHNlOgotICAgICAgICBzeW1ib2wgPSB0YWlsLnN0cmlwKCkKLSAgICBvdXQud3JpdGUoc3ltYm9sKydcbicpCi0KLWlucC5jbG9zZSgpCi1vdXQuY2xvc2UoKQpkaWZmIC0tZ2l0IGEvUEMvcHl0aG9uMzRzdHViLmRlZiBiL1BDL3B5dGhvbjM0c3R1Yi5kZWYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMwNzRjZjMuLjAwMDAwMDAKLS0tIGEvUEMvcHl0aG9uMzRzdHViLmRlZgorKysgL2Rldi9udWxsCkBAIC0xLDcwMCArMCwwIEBACi1MSUJSQVJZICJweXRob24zNCIKLUVYUE9SVFMKLVB5QXJnX1BhcnNlCi1QeUFyZ19QYXJzZVR1cGxlCi1QeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMKLVB5QXJnX1VucGFja1R1cGxlCi1QeUFyZ19WYVBhcnNlCi1QeUFyZ19WYVBhcnNlVHVwbGVBbmRLZXl3b3JkcwotUHlBcmdfVmFsaWRhdGVLZXl3b3JkQXJndW1lbnRzCi1QeUJhc2VPYmplY3RfVHlwZQotUHlCb29sX0Zyb21Mb25nCi1QeUJvb2xfVHlwZQotUHlCeXRlQXJyYXlJdGVyX1R5cGUKLVB5Qnl0ZUFycmF5X0FzU3RyaW5nCi1QeUJ5dGVBcnJheV9Db25jYXQKLVB5Qnl0ZUFycmF5X0Zyb21PYmplY3QKLVB5Qnl0ZUFycmF5X0Zyb21TdHJpbmdBbmRTaXplCi1QeUJ5dGVBcnJheV9SZXNpemUKLVB5Qnl0ZUFycmF5X1NpemUKLVB5Qnl0ZUFycmF5X1R5cGUKLVB5Qnl0ZXNJdGVyX1R5cGUKLVB5Qnl0ZXNfQXNTdHJpbmcKLVB5Qnl0ZXNfQXNTdHJpbmdBbmRTaXplCi1QeUJ5dGVzX0NvbmNhdAotUHlCeXRlc19Db25jYXRBbmREZWwKLVB5Qnl0ZXNfRGVjb2RlRXNjYXBlCi1QeUJ5dGVzX0Zyb21Gb3JtYXQKLVB5Qnl0ZXNfRnJvbUZvcm1hdFYKLVB5Qnl0ZXNfRnJvbU9iamVjdAotUHlCeXRlc19Gcm9tU3RyaW5nCi1QeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplCi1QeUJ5dGVzX1JlcHIKLVB5Qnl0ZXNfU2l6ZQotUHlCeXRlc19UeXBlCi1QeUNGdW5jdGlvbl9DYWxsCi1QeUNGdW5jdGlvbl9DbGVhckZyZWVMaXN0Ci1QeUNGdW5jdGlvbl9HZXRGbGFncwotUHlDRnVuY3Rpb25fR2V0RnVuY3Rpb24KLVB5Q0Z1bmN0aW9uX0dldFNlbGYKLVB5Q0Z1bmN0aW9uX05ldwotUHlDRnVuY3Rpb25fTmV3RXgKLVB5Q0Z1bmN0aW9uX1R5cGUKLVB5Q2FsbEl0ZXJfTmV3Ci1QeUNhbGxJdGVyX1R5cGUKLVB5Q2FsbGFibGVfQ2hlY2sKLVB5Q2Fwc3VsZV9HZXRDb250ZXh0Ci1QeUNhcHN1bGVfR2V0RGVzdHJ1Y3RvcgotUHlDYXBzdWxlX0dldE5hbWUKLVB5Q2Fwc3VsZV9HZXRQb2ludGVyCi1QeUNhcHN1bGVfSW1wb3J0Ci1QeUNhcHN1bGVfSXNWYWxpZAotUHlDYXBzdWxlX05ldwotUHlDYXBzdWxlX1NldENvbnRleHQKLVB5Q2Fwc3VsZV9TZXREZXN0cnVjdG9yCi1QeUNhcHN1bGVfU2V0TmFtZQotUHlDYXBzdWxlX1NldFBvaW50ZXIKLVB5Q2Fwc3VsZV9UeXBlCi1QeUNsYXNzTWV0aG9kRGVzY3JfVHlwZQotUHlDb2RlY19CYWNrc2xhc2hSZXBsYWNlRXJyb3JzCi1QeUNvZGVjX0RlY29kZQotUHlDb2RlY19EZWNvZGVyCi1QeUNvZGVjX0VuY29kZQotUHlDb2RlY19FbmNvZGVyCi1QeUNvZGVjX0lnbm9yZUVycm9ycwotUHlDb2RlY19JbmNyZW1lbnRhbERlY29kZXIKLVB5Q29kZWNfSW5jcmVtZW50YWxFbmNvZGVyCi1QeUNvZGVjX0tub3duRW5jb2RpbmcKLVB5Q29kZWNfTG9va3VwRXJyb3IKLVB5Q29kZWNfUmVnaXN0ZXIKLVB5Q29kZWNfUmVnaXN0ZXJFcnJvcgotUHlDb2RlY19SZXBsYWNlRXJyb3JzCi1QeUNvZGVjX1N0cmVhbVJlYWRlcgotUHlDb2RlY19TdHJlYW1Xcml0ZXIKLVB5Q29kZWNfU3RyaWN0RXJyb3JzCi1QeUNvZGVjX1hNTENoYXJSZWZSZXBsYWNlRXJyb3JzCi1QeUNvbXBsZXhfRnJvbURvdWJsZXMKLVB5Q29tcGxleF9JbWFnQXNEb3VibGUKLVB5Q29tcGxleF9SZWFsQXNEb3VibGUKLVB5Q29tcGxleF9UeXBlCi1QeURlc2NyX05ld0NsYXNzTWV0aG9kCi1QeURlc2NyX05ld0dldFNldAotUHlEZXNjcl9OZXdNZW1iZXIKLVB5RGVzY3JfTmV3TWV0aG9kCi1QeURpY3RJdGVtc19UeXBlCi1QeURpY3RJdGVySXRlbV9UeXBlCi1QeURpY3RJdGVyS2V5X1R5cGUKLVB5RGljdEl0ZXJWYWx1ZV9UeXBlCi1QeURpY3RLZXlzX1R5cGUKLVB5RGljdFByb3h5X05ldwotUHlEaWN0UHJveHlfVHlwZQotUHlEaWN0VmFsdWVzX1R5cGUKLVB5RGljdF9DbGVhcgotUHlEaWN0X0NvbnRhaW5zCi1QeURpY3RfQ29weQotUHlEaWN0X0RlbEl0ZW0KLVB5RGljdF9EZWxJdGVtU3RyaW5nCi1QeURpY3RfR2V0SXRlbQotUHlEaWN0X0dldEl0ZW1TdHJpbmcKLVB5RGljdF9HZXRJdGVtV2l0aEVycm9yCi1QeURpY3RfSXRlbXMKLVB5RGljdF9LZXlzCi1QeURpY3RfTWVyZ2UKLVB5RGljdF9NZXJnZUZyb21TZXEyCi1QeURpY3RfTmV3Ci1QeURpY3RfTmV4dAotUHlEaWN0X1NldEl0ZW0KLVB5RGljdF9TZXRJdGVtU3RyaW5nCi1QeURpY3RfU2l6ZQotUHlEaWN0X1R5cGUKLVB5RGljdF9VcGRhdGUKLVB5RGljdF9WYWx1ZXMKLVB5RWxsaXBzaXNfVHlwZQotUHlFbnVtX1R5cGUKLVB5RXJyX0JhZEFyZ3VtZW50Ci1QeUVycl9CYWRJbnRlcm5hbENhbGwKLVB5RXJyX0NoZWNrU2lnbmFscwotUHlFcnJfQ2xlYXIKLVB5RXJyX0Rpc3BsYXkKLVB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMKLVB5RXJyX0ZldGNoCi1QeUVycl9Gb3JtYXQKLVB5RXJyX0dpdmVuRXhjZXB0aW9uTWF0Y2hlcwotUHlFcnJfTmV3RXhjZXB0aW9uCi1QeUVycl9OZXdFeGNlcHRpb25XaXRoRG9jCi1QeUVycl9Ob01lbW9yeQotUHlFcnJfTm9ybWFsaXplRXhjZXB0aW9uCi1QeUVycl9PY2N1cnJlZAotUHlFcnJfUHJpbnQKLVB5RXJyX1ByaW50RXgKLVB5RXJyX1Byb2dyYW1UZXh0Ci1QeUVycl9SZXN0b3JlCi1QeUVycl9TZXRGcm9tRXJybm8KLVB5RXJyX1NldEZyb21FcnJub1dpdGhGaWxlbmFtZQotUHlFcnJfU2V0RnJvbUVycm5vV2l0aEZpbGVuYW1lT2JqZWN0Ci1QeUVycl9TZXRJbnRlcnJ1cHQKLVB5RXJyX1NldE5vbmUKLVB5RXJyX1NldE9iamVjdAotUHlFcnJfU2V0U3RyaW5nCi1QeUVycl9TeW50YXhMb2NhdGlvbgotUHlFcnJfV2FybkV4Ci1QeUVycl9XYXJuRXhwbGljaXQKLVB5RXJyX1dhcm5Gb3JtYXQKLVB5RXJyX1dyaXRlVW5yYWlzYWJsZQotUHlFdmFsX0FjcXVpcmVMb2NrCi1QeUV2YWxfQWNxdWlyZVRocmVhZAotUHlFdmFsX0NhbGxGdW5jdGlvbgotUHlFdmFsX0NhbGxNZXRob2QKLVB5RXZhbF9DYWxsT2JqZWN0V2l0aEtleXdvcmRzCi1QeUV2YWxfRXZhbENvZGUKLVB5RXZhbF9FdmFsQ29kZUV4Ci1QeUV2YWxfRXZhbEZyYW1lCi1QeUV2YWxfRXZhbEZyYW1lRXgKLVB5RXZhbF9HZXRCdWlsdGlucwotUHlFdmFsX0dldENhbGxTdGF0cwotUHlFdmFsX0dldEZyYW1lCi1QeUV2YWxfR2V0RnVuY0Rlc2MKLVB5RXZhbF9HZXRGdW5jTmFtZQotUHlFdmFsX0dldEdsb2JhbHMKLVB5RXZhbF9HZXRMb2NhbHMKLVB5RXZhbF9Jbml0VGhyZWFkcwotUHlFdmFsX1JlSW5pdFRocmVhZHMKLVB5RXZhbF9SZWxlYXNlTG9jawotUHlFdmFsX1JlbGVhc2VUaHJlYWQKLVB5RXZhbF9SZXN0b3JlVGhyZWFkCi1QeUV2YWxfU2F2ZVRocmVhZAotUHlFdmFsX1RocmVhZHNJbml0aWFsaXplZAotUHlFeGNfQXJpdGhtZXRpY0Vycm9yCi1QeUV4Y19Bc3NlcnRpb25FcnJvcgotUHlFeGNfQXR0cmlidXRlRXJyb3IKLVB5RXhjX0Jhc2VFeGNlcHRpb24KLVB5RXhjX0J1ZmZlckVycm9yCi1QeUV4Y19CeXRlc1dhcm5pbmcKLVB5RXhjX0RlcHJlY2F0aW9uV2FybmluZwotUHlFeGNfRU9GRXJyb3IKLVB5RXhjX0Vudmlyb25tZW50RXJyb3IKLVB5RXhjX0V4Y2VwdGlvbgotUHlFeGNfRmxvYXRpbmdQb2ludEVycm9yCi1QeUV4Y19GdXR1cmVXYXJuaW5nCi1QeUV4Y19HZW5lcmF0b3JFeGl0Ci1QeUV4Y19JT0Vycm9yCi1QeUV4Y19JbXBvcnRFcnJvcgotUHlFeGNfSW1wb3J0V2FybmluZwotUHlFeGNfSW5kZW50YXRpb25FcnJvcgotUHlFeGNfSW5kZXhFcnJvcgotUHlFeGNfS2V5RXJyb3IKLVB5RXhjX0tleWJvYXJkSW50ZXJydXB0Ci1QeUV4Y19Mb29rdXBFcnJvcgotUHlFeGNfTWVtb3J5RXJyb3IKLVB5RXhjX01lbW9yeUVycm9ySW5zdAotUHlFeGNfTmFtZUVycm9yCi1QeUV4Y19Ob3RJbXBsZW1lbnRlZEVycm9yCi1QeUV4Y19PU0Vycm9yCi1QeUV4Y19PdmVyZmxvd0Vycm9yCi1QeUV4Y19QZW5kaW5nRGVwcmVjYXRpb25XYXJuaW5nCi1QeUV4Y19SZWN1cnNpb25FcnJvckluc3QKLVB5RXhjX1JlZmVyZW5jZUVycm9yCi1QeUV4Y19SdW50aW1lRXJyb3IKLVB5RXhjX1J1bnRpbWVXYXJuaW5nCi1QeUV4Y19TdG9wSXRlcmF0aW9uCi1QeUV4Y19TeW50YXhFcnJvcgotUHlFeGNfU3ludGF4V2FybmluZwotUHlFeGNfU3lzdGVtRXJyb3IKLVB5RXhjX1N5c3RlbUV4aXQKLVB5RXhjX1RhYkVycm9yCi1QeUV4Y19UeXBlRXJyb3IKLVB5RXhjX1VuYm91bmRMb2NhbEVycm9yCi1QeUV4Y19Vbmljb2RlRGVjb2RlRXJyb3IKLVB5RXhjX1VuaWNvZGVFbmNvZGVFcnJvcgotUHlFeGNfVW5pY29kZUVycm9yCi1QeUV4Y19Vbmljb2RlVHJhbnNsYXRlRXJyb3IKLVB5RXhjX1VuaWNvZGVXYXJuaW5nCi1QeUV4Y19Vc2VyV2FybmluZwotUHlFeGNfVmFsdWVFcnJvcgotUHlFeGNfV2FybmluZwotUHlFeGNfWmVyb0RpdmlzaW9uRXJyb3IKLVB5RXhjZXB0aW9uX0dldENhdXNlCi1QeUV4Y2VwdGlvbl9HZXRDb250ZXh0Ci1QeUV4Y2VwdGlvbl9HZXRUcmFjZWJhY2sKLVB5RXhjZXB0aW9uX1NldENhdXNlCi1QeUV4Y2VwdGlvbl9TZXRDb250ZXh0Ci1QeUV4Y2VwdGlvbl9TZXRUcmFjZWJhY2sKLVB5RmlsZV9Gcm9tRmQKLVB5RmlsZV9HZXRMaW5lCi1QeUZpbGVfV3JpdGVPYmplY3QKLVB5RmlsZV9Xcml0ZVN0cmluZwotUHlGaWx0ZXJfVHlwZQotUHlGbG9hdF9Bc0RvdWJsZQotUHlGbG9hdF9Gcm9tRG91YmxlCi1QeUZsb2F0X0Zyb21TdHJpbmcKLVB5RmxvYXRfR2V0SW5mbwotUHlGbG9hdF9HZXRNYXgKLVB5RmxvYXRfR2V0TWluCi1QeUZsb2F0X1R5cGUKLVB5RnJvemVuU2V0X05ldwotUHlGcm96ZW5TZXRfVHlwZQotUHlHQ19Db2xsZWN0Ci1QeUdJTFN0YXRlX0Vuc3VyZQotUHlHSUxTdGF0ZV9HZXRUaGlzVGhyZWFkU3RhdGUKLVB5R0lMU3RhdGVfUmVsZWFzZQotUHlHZXRTZXREZXNjcl9UeXBlCi1QeUltcG9ydF9BZGRNb2R1bGUKLVB5SW1wb3J0X0FwcGVuZEluaXR0YWIKLVB5SW1wb3J0X0NsZWFudXAKLVB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlCi1QeUltcG9ydF9FeGVjQ29kZU1vZHVsZUV4Ci1QeUltcG9ydF9FeGVjQ29kZU1vZHVsZVdpdGhQYXRobmFtZXMKLVB5SW1wb3J0X0dldEltcG9ydGVyCi1QeUltcG9ydF9HZXRNYWdpY051bWJlcgotUHlJbXBvcnRfR2V0TWFnaWNUYWcKLVB5SW1wb3J0X0dldE1vZHVsZURpY3QKLVB5SW1wb3J0X0ltcG9ydAotUHlJbXBvcnRfSW1wb3J0RnJvemVuTW9kdWxlCi1QeUltcG9ydF9JbXBvcnRNb2R1bGUKLVB5SW1wb3J0X0ltcG9ydE1vZHVsZUxldmVsCi1QeUltcG9ydF9JbXBvcnRNb2R1bGVOb0Jsb2NrCi1QeUltcG9ydF9SZWxvYWRNb2R1bGUKLVB5SW50ZXJwcmV0ZXJTdGF0ZV9DbGVhcgotUHlJbnRlcnByZXRlclN0YXRlX0RlbGV0ZQotUHlJbnRlcnByZXRlclN0YXRlX05ldwotUHlJdGVyX05leHQKLVB5TGlzdEl0ZXJfVHlwZQotUHlMaXN0UmV2SXRlcl9UeXBlCi1QeUxpc3RfQXBwZW5kCi1QeUxpc3RfQXNUdXBsZQotUHlMaXN0X0dldEl0ZW0KLVB5TGlzdF9HZXRTbGljZQotUHlMaXN0X0luc2VydAotUHlMaXN0X05ldwotUHlMaXN0X1JldmVyc2UKLVB5TGlzdF9TZXRJdGVtCi1QeUxpc3RfU2V0U2xpY2UKLVB5TGlzdF9TaXplCi1QeUxpc3RfU29ydAotUHlMaXN0X1R5cGUKLVB5TG9uZ1JhbmdlSXRlcl9UeXBlCi1QeUxvbmdfQXNEb3VibGUKLVB5TG9uZ19Bc0xvbmcKLVB5TG9uZ19Bc0xvbmdBbmRPdmVyZmxvdwotUHlMb25nX0FzTG9uZ0xvbmcKLVB5TG9uZ19Bc0xvbmdMb25nQW5kT3ZlcmZsb3cKLVB5TG9uZ19Bc1NpemVfdAotUHlMb25nX0FzU3NpemVfdAotUHlMb25nX0FzVW5zaWduZWRMb25nCi1QeUxvbmdfQXNVbnNpZ25lZExvbmdMb25nCi1QeUxvbmdfQXNVbnNpZ25lZExvbmdMb25nTWFzawotUHlMb25nX0FzVW5zaWduZWRMb25nTWFzawotUHlMb25nX0FzVm9pZFB0cgotUHlMb25nX0Zyb21Eb3VibGUKLVB5TG9uZ19Gcm9tTG9uZwotUHlMb25nX0Zyb21Mb25nTG9uZwotUHlMb25nX0Zyb21TaXplX3QKLVB5TG9uZ19Gcm9tU3NpemVfdAotUHlMb25nX0Zyb21TdHJpbmcKLVB5TG9uZ19Gcm9tVW5zaWduZWRMb25nCi1QeUxvbmdfRnJvbVVuc2lnbmVkTG9uZ0xvbmcKLVB5TG9uZ19Gcm9tVm9pZFB0cgotUHlMb25nX0dldEluZm8KLVB5TG9uZ19UeXBlCi1QeU1hcF9UeXBlCi1QeU1hcHBpbmdfQ2hlY2sKLVB5TWFwcGluZ19HZXRJdGVtU3RyaW5nCi1QeU1hcHBpbmdfSGFzS2V5Ci1QeU1hcHBpbmdfSGFzS2V5U3RyaW5nCi1QeU1hcHBpbmdfSXRlbXMKLVB5TWFwcGluZ19LZXlzCi1QeU1hcHBpbmdfTGVuZ3RoCi1QeU1hcHBpbmdfU2V0SXRlbVN0cmluZwotUHlNYXBwaW5nX1NpemUKLVB5TWFwcGluZ19WYWx1ZXMKLVB5TWVtX0ZyZWUKLVB5TWVtX01hbGxvYwotUHlNZW1fUmVhbGxvYwotUHlNZW1iZXJEZXNjcl9UeXBlCi1QeU1lbW9yeVZpZXdfRnJvbU9iamVjdAotUHlNZW1vcnlWaWV3X0dldENvbnRpZ3VvdXMKLVB5TWVtb3J5Vmlld19UeXBlCi1QeU1ldGhvZERlc2NyX1R5cGUKLVB5TW9kdWxlX0FkZEludENvbnN0YW50Ci1QeU1vZHVsZV9BZGRPYmplY3QKLVB5TW9kdWxlX0FkZFN0cmluZ0NvbnN0YW50Ci1QeU1vZHVsZV9DcmVhdGUyCi1QeU1vZHVsZV9HZXREZWYKLVB5TW9kdWxlX0dldERpY3QKLVB5TW9kdWxlX0dldEZpbGVuYW1lCi1QeU1vZHVsZV9HZXRGaWxlbmFtZU9iamVjdAotUHlNb2R1bGVfR2V0TmFtZQotUHlNb2R1bGVfR2V0U3RhdGUKLVB5TW9kdWxlX05ldwotUHlNb2R1bGVfVHlwZQotUHlOdWxsSW1wb3J0ZXJfVHlwZQotUHlOdW1iZXJfQWJzb2x1dGUKLVB5TnVtYmVyX0FkZAotUHlOdW1iZXJfQW5kCi1QeU51bWJlcl9Bc1NzaXplX3QKLVB5TnVtYmVyX0NoZWNrCi1QeU51bWJlcl9EaXZtb2QKLVB5TnVtYmVyX0Zsb2F0Ci1QeU51bWJlcl9GbG9vckRpdmlkZQotUHlOdW1iZXJfSW5QbGFjZUFkZAotUHlOdW1iZXJfSW5QbGFjZUFuZAotUHlOdW1iZXJfSW5QbGFjZUZsb29yRGl2aWRlCi1QeU51bWJlcl9JblBsYWNlTHNoaWZ0Ci1QeU51bWJlcl9JblBsYWNlTXVsdGlwbHkKLVB5TnVtYmVyX0luUGxhY2VPcgotUHlOdW1iZXJfSW5QbGFjZVBvd2VyCi1QeU51bWJlcl9JblBsYWNlUmVtYWluZGVyCi1QeU51bWJlcl9JblBsYWNlUnNoaWZ0Ci1QeU51bWJlcl9JblBsYWNlU3VidHJhY3QKLVB5TnVtYmVyX0luUGxhY2VUcnVlRGl2aWRlCi1QeU51bWJlcl9JblBsYWNlWG9yCi1QeU51bWJlcl9JbmRleAotUHlOdW1iZXJfSW52ZXJ0Ci1QeU51bWJlcl9Mb25nCi1QeU51bWJlcl9Mc2hpZnQKLVB5TnVtYmVyX011bHRpcGx5Ci1QeU51bWJlcl9OZWdhdGl2ZQotUHlOdW1iZXJfT3IKLVB5TnVtYmVyX1Bvc2l0aXZlCi1QeU51bWJlcl9Qb3dlcgotUHlOdW1iZXJfUmVtYWluZGVyCi1QeU51bWJlcl9Sc2hpZnQKLVB5TnVtYmVyX1N1YnRyYWN0Ci1QeU51bWJlcl9Ub0Jhc2UKLVB5TnVtYmVyX1RydWVEaXZpZGUKLVB5TnVtYmVyX1hvcgotUHlPU19BZnRlckZvcmsKLVB5T1NfSW5pdEludGVycnVwdHMKLVB5T1NfSW5wdXRIb29rCi1QeU9TX0ludGVycnVwdE9jY3VycmVkCi1QeU9TX1JlYWRsaW5lRnVuY3Rpb25Qb2ludGVyCi1QeU9TX2RvdWJsZV90b19zdHJpbmcKLVB5T1NfZ2V0c2lnCi1QeU9TX215c3RyaWNtcAotUHlPU19teXN0cm5pY21wCi1QeU9TX3NldHNpZwotUHlPU19zbnByaW50ZgotUHlPU19zdHJpbmdfdG9fZG91YmxlCi1QeU9TX3N0cnRvbAotUHlPU19zdHJ0b3VsCi1QeU9TX3ZzbnByaW50ZgotUHlPYmplY3RfQVNDSUkKLVB5T2JqZWN0X0FzQ2hhckJ1ZmZlcgotUHlPYmplY3RfQXNGaWxlRGVzY3JpcHRvcgotUHlPYmplY3RfQXNSZWFkQnVmZmVyCi1QeU9iamVjdF9Bc1dyaXRlQnVmZmVyCi1QeU9iamVjdF9CeXRlcwotUHlPYmplY3RfQ2FsbAotUHlPYmplY3RfQ2FsbEZ1bmN0aW9uCi1QeU9iamVjdF9DYWxsRnVuY3Rpb25PYmpBcmdzCi1QeU9iamVjdF9DYWxsTWV0aG9kCi1QeU9iamVjdF9DYWxsTWV0aG9kT2JqQXJncwotUHlPYmplY3RfQ2FsbE9iamVjdAotUHlPYmplY3RfQ2hlY2tSZWFkQnVmZmVyCi1QeU9iamVjdF9DbGVhcldlYWtSZWZzCi1QeU9iamVjdF9EZWxJdGVtCi1QeU9iamVjdF9EZWxJdGVtU3RyaW5nCi1QeU9iamVjdF9EaXIKLVB5T2JqZWN0X0Zvcm1hdAotUHlPYmplY3RfRnJlZQotUHlPYmplY3RfR0NfRGVsCi1QeU9iamVjdF9HQ19UcmFjawotUHlPYmplY3RfR0NfVW5UcmFjawotUHlPYmplY3RfR2VuZXJpY0dldEF0dHIKLVB5T2JqZWN0X0dlbmVyaWNTZXRBdHRyCi1QeU9iamVjdF9HZXRBdHRyCi1QeU9iamVjdF9HZXRBdHRyU3RyaW5nCi1QeU9iamVjdF9HZXRJdGVtCi1QeU9iamVjdF9HZXRJdGVyCi1QeU9iamVjdF9IYXNBdHRyCi1QeU9iamVjdF9IYXNBdHRyU3RyaW5nCi1QeU9iamVjdF9IYXNoCi1QeU9iamVjdF9IYXNoTm90SW1wbGVtZW50ZWQKLVB5T2JqZWN0X0luaXQKLVB5T2JqZWN0X0luaXRWYXIKLVB5T2JqZWN0X0lzSW5zdGFuY2UKLVB5T2JqZWN0X0lzU3ViY2xhc3MKLVB5T2JqZWN0X0lzVHJ1ZQotUHlPYmplY3RfTGVuZ3RoCi1QeU9iamVjdF9NYWxsb2MKLVB5T2JqZWN0X05vdAotUHlPYmplY3RfUmVhbGxvYwotUHlPYmplY3RfUmVwcgotUHlPYmplY3RfUmljaENvbXBhcmUKLVB5T2JqZWN0X1JpY2hDb21wYXJlQm9vbAotUHlPYmplY3RfU2VsZkl0ZXIKLVB5T2JqZWN0X1NldEF0dHIKLVB5T2JqZWN0X1NldEF0dHJTdHJpbmcKLVB5T2JqZWN0X1NldEl0ZW0KLVB5T2JqZWN0X1NpemUKLVB5T2JqZWN0X1N0cgotUHlPYmplY3RfVHlwZQotUHlQYXJzZXJfU2ltcGxlUGFyc2VGaWxlRmxhZ3MKLVB5UGFyc2VyX1NpbXBsZVBhcnNlU3RyaW5nRmxhZ3MKLVB5UHJvcGVydHlfVHlwZQotUHlSYW5nZUl0ZXJfVHlwZQotUHlSYW5nZV9UeXBlCi1QeVJldmVyc2VkX1R5cGUKLVB5U2VxSXRlcl9OZXcKLVB5U2VxSXRlcl9UeXBlCi1QeVNlcXVlbmNlX0NoZWNrCi1QeVNlcXVlbmNlX0NvbmNhdAotUHlTZXF1ZW5jZV9Db250YWlucwotUHlTZXF1ZW5jZV9Db3VudAotUHlTZXF1ZW5jZV9EZWxJdGVtCi1QeVNlcXVlbmNlX0RlbFNsaWNlCi1QeVNlcXVlbmNlX0Zhc3QKLVB5U2VxdWVuY2VfR2V0SXRlbQotUHlTZXF1ZW5jZV9HZXRTbGljZQotUHlTZXF1ZW5jZV9JbgotUHlTZXF1ZW5jZV9JblBsYWNlQ29uY2F0Ci1QeVNlcXVlbmNlX0luUGxhY2VSZXBlYXQKLVB5U2VxdWVuY2VfSW5kZXgKLVB5U2VxdWVuY2VfTGVuZ3RoCi1QeVNlcXVlbmNlX0xpc3QKLVB5U2VxdWVuY2VfUmVwZWF0Ci1QeVNlcXVlbmNlX1NldEl0ZW0KLVB5U2VxdWVuY2VfU2V0U2xpY2UKLVB5U2VxdWVuY2VfU2l6ZQotUHlTZXF1ZW5jZV9UdXBsZQotUHlTZXRJdGVyX1R5cGUKLVB5U2V0X0FkZAotUHlTZXRfQ2xlYXIKLVB5U2V0X0NvbnRhaW5zCi1QeVNldF9EaXNjYXJkCi1QeVNldF9OZXcKLVB5U2V0X1BvcAotUHlTZXRfU2l6ZQotUHlTZXRfVHlwZQotUHlTbGljZV9HZXRJbmRpY2VzCi1QeVNsaWNlX0dldEluZGljZXNFeAotUHlTbGljZV9OZXcKLVB5U2xpY2VfVHlwZQotUHlTb3J0V3JhcHBlcl9UeXBlCi1QeVN0YXRlX0ZpbmRNb2R1bGUKLVB5U3RhdGVfQWRkTW9kdWxlCi1QeVN0YXRlX1JlbW92ZU1vZHVsZQotUHlTdHJ1Y3RTZXF1ZW5jZV9HZXRJdGVtCi1QeVN0cnVjdFNlcXVlbmNlX05ldwotUHlTdHJ1Y3RTZXF1ZW5jZV9OZXdUeXBlCi1QeVN0cnVjdFNlcXVlbmNlX1NldEl0ZW0KLVB5U3VwZXJfVHlwZQotUHlTeXNfQWRkV2Fybk9wdGlvbgotUHlTeXNfQWRkV2Fybk9wdGlvblVuaWNvZGUKLVB5U3lzX0Zvcm1hdFN0ZGVycgotUHlTeXNfRm9ybWF0U3Rkb3V0Ci1QeVN5c19HZXRPYmplY3QKLVB5U3lzX0hhc1dhcm5PcHRpb25zCi1QeVN5c19SZXNldFdhcm5PcHRpb25zCi1QeVN5c19TZXRBcmd2Ci1QeVN5c19TZXRBcmd2RXgKLVB5U3lzX1NldE9iamVjdAotUHlTeXNfU2V0UGF0aAotUHlTeXNfV3JpdGVTdGRlcnIKLVB5U3lzX1dyaXRlU3Rkb3V0Ci1QeVRocmVhZFN0YXRlX0NsZWFyCi1QeVRocmVhZFN0YXRlX0RlbGV0ZQotUHlUaHJlYWRTdGF0ZV9EZWxldGVDdXJyZW50Ci1QeVRocmVhZFN0YXRlX0dldAotUHlUaHJlYWRTdGF0ZV9HZXREaWN0Ci1QeVRocmVhZFN0YXRlX05ldwotUHlUaHJlYWRTdGF0ZV9TZXRBc3luY0V4YwotUHlUaHJlYWRTdGF0ZV9Td2FwCi1QeVRyYWNlQmFja19IZXJlCi1QeVRyYWNlQmFja19QcmludAotUHlUcmFjZUJhY2tfVHlwZQotUHlUdXBsZUl0ZXJfVHlwZQotUHlUdXBsZV9DbGVhckZyZWVMaXN0Ci1QeVR1cGxlX0dldEl0ZW0KLVB5VHVwbGVfR2V0U2xpY2UKLVB5VHVwbGVfTmV3Ci1QeVR1cGxlX1BhY2sKLVB5VHVwbGVfU2V0SXRlbQotUHlUdXBsZV9TaXplCi1QeVR1cGxlX1R5cGUKLVB5VHlwZV9DbGVhckNhY2hlCi1QeVR5cGVfRnJvbVNwZWMKLVB5VHlwZV9Gcm9tU3BlY1dpdGhCYXNlcwotUHlUeXBlX0dlbmVyaWNBbGxvYwotUHlUeXBlX0dlbmVyaWNOZXcKLVB5VHlwZV9HZXRGbGFncwotUHlUeXBlX0dldFNsb3QKLVB5VHlwZV9Jc1N1YnR5cGUKLVB5VHlwZV9Nb2RpZmllZAotUHlUeXBlX1JlYWR5Ci1QeVR5cGVfVHlwZQotUHlVbmljb2RlRGVjb2RlRXJyb3JfQ3JlYXRlCi1QeVVuaWNvZGVEZWNvZGVFcnJvcl9HZXRFbmNvZGluZwotUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0RW5kCi1QeVVuaWNvZGVEZWNvZGVFcnJvcl9HZXRPYmplY3QKLVB5VW5pY29kZURlY29kZUVycm9yX0dldFJlYXNvbgotUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0U3RhcnQKLVB5VW5pY29kZURlY29kZUVycm9yX1NldEVuZAotUHlVbmljb2RlRGVjb2RlRXJyb3JfU2V0UmVhc29uCi1QeVVuaWNvZGVEZWNvZGVFcnJvcl9TZXRTdGFydAotUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0RW5jb2RpbmcKLVB5VW5pY29kZUVuY29kZUVycm9yX0dldEVuZAotUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0T2JqZWN0Ci1QeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRSZWFzb24KLVB5VW5pY29kZUVuY29kZUVycm9yX0dldFN0YXJ0Ci1QeVVuaWNvZGVFbmNvZGVFcnJvcl9TZXRFbmQKLVB5VW5pY29kZUVuY29kZUVycm9yX1NldFJlYXNvbgotUHlVbmljb2RlRW5jb2RlRXJyb3JfU2V0U3RhcnQKLVB5VW5pY29kZUl0ZXJfVHlwZQotUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfR2V0RW5kCi1QeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9HZXRPYmplY3QKLVB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX0dldFJlYXNvbgotUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfR2V0U3RhcnQKLVB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX1NldEVuZAotUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfU2V0UmVhc29uCi1QeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9TZXRTdGFydAotUHlVbmljb2RlX0FwcGVuZAotUHlVbmljb2RlX0FwcGVuZEFuZERlbAotUHlVbmljb2RlX0FzQVNDSUlTdHJpbmcKLVB5VW5pY29kZV9Bc0NoYXJtYXBTdHJpbmcKLVB5VW5pY29kZV9Bc0RlY29kZWRPYmplY3QKLVB5VW5pY29kZV9Bc0RlY29kZWRVbmljb2RlCi1QeVVuaWNvZGVfQXNFbmNvZGVkT2JqZWN0Ci1QeVVuaWNvZGVfQXNFbmNvZGVkU3RyaW5nCi1QeVVuaWNvZGVfQXNFbmNvZGVkVW5pY29kZQotUHlVbmljb2RlX0FzTGF0aW4xU3RyaW5nCi1QeVVuaWNvZGVfQXNSYXdVbmljb2RlRXNjYXBlU3RyaW5nCi1QeVVuaWNvZGVfQXNVVEYxNlN0cmluZwotUHlVbmljb2RlX0FzVVRGMzJTdHJpbmcKLVB5VW5pY29kZV9Bc1VURjhTdHJpbmcKLVB5VW5pY29kZV9Bc1VuaWNvZGVFc2NhcGVTdHJpbmcKLVB5VW5pY29kZV9Bc1dpZGVDaGFyCi1QeVVuaWNvZGVfQ2xlYXJGcmVlbGlzdAotUHlVbmljb2RlX0NvbXBhcmUKLVB5VW5pY29kZV9Db25jYXQKLVB5VW5pY29kZV9Db250YWlucwotUHlVbmljb2RlX0NvdW50Ci1QeVVuaWNvZGVfRGVjb2RlCi1QeVVuaWNvZGVfRGVjb2RlQVNDSUkKLVB5VW5pY29kZV9EZWNvZGVDaGFybWFwCi1QeVVuaWNvZGVfRGVjb2RlRlNEZWZhdWx0Ci1QeVVuaWNvZGVfRGVjb2RlRlNEZWZhdWx0QW5kU2l6ZQotUHlVbmljb2RlX0RlY29kZUxhdGluMQotUHlVbmljb2RlX0RlY29kZVJhd1VuaWNvZGVFc2NhcGUKLVB5VW5pY29kZV9EZWNvZGVVVEYxNgotUHlVbmljb2RlX0RlY29kZVVURjE2U3RhdGVmdWwKLVB5VW5pY29kZV9EZWNvZGVVVEYzMgotUHlVbmljb2RlX0RlY29kZVVURjMyU3RhdGVmdWwKLVB5VW5pY29kZV9EZWNvZGVVVEY4Ci1QeVVuaWNvZGVfRGVjb2RlVVRGOFN0YXRlZnVsCi1QeVVuaWNvZGVfRGVjb2RlVW5pY29kZUVzY2FwZQotUHlVbmljb2RlX0ZTQ29udmVydGVyCi1QeVVuaWNvZGVfRlNEZWNvZGVyCi1QeVVuaWNvZGVfRmluZAotUHlVbmljb2RlX0Zvcm1hdAotUHlVbmljb2RlX0Zyb21FbmNvZGVkT2JqZWN0Ci1QeVVuaWNvZGVfRnJvbUZvcm1hdAotUHlVbmljb2RlX0Zyb21Gb3JtYXRWCi1QeVVuaWNvZGVfRnJvbU9iamVjdAotUHlVbmljb2RlX0Zyb21PcmRpbmFsCi1QeVVuaWNvZGVfRnJvbVN0cmluZwotUHlVbmljb2RlX0Zyb21TdHJpbmdBbmRTaXplCi1QeVVuaWNvZGVfRnJvbVdpZGVDaGFyCi1QeVVuaWNvZGVfR2V0RGVmYXVsdEVuY29kaW5nCi1QeVVuaWNvZGVfR2V0U2l6ZQotUHlVbmljb2RlX0lzSWRlbnRpZmllcgotUHlVbmljb2RlX0pvaW4KLVB5VW5pY29kZV9QYXJ0aXRpb24KLVB5VW5pY29kZV9SUGFydGl0aW9uCi1QeVVuaWNvZGVfUlNwbGl0Ci1QeVVuaWNvZGVfUmVwbGFjZQotUHlVbmljb2RlX1Jlc2l6ZQotUHlVbmljb2RlX1JpY2hDb21wYXJlCi1QeVVuaWNvZGVfU2V0RGVmYXVsdEVuY29kaW5nCi1QeVVuaWNvZGVfU3BsaXQKLVB5VW5pY29kZV9TcGxpdGxpbmVzCi1QeVVuaWNvZGVfVGFpbG1hdGNoCi1QeVVuaWNvZGVfVHJhbnNsYXRlCi1QeVVuaWNvZGVfQnVpbGRFbmNvZGluZ01hcAotUHlVbmljb2RlX0NvbXBhcmVXaXRoQVNDSUlTdHJpbmcKLVB5VW5pY29kZV9EZWNvZGVVVEY3Ci1QeVVuaWNvZGVfRGVjb2RlVVRGN1N0YXRlZnVsCi1QeVVuaWNvZGVfRW5jb2RlRlNEZWZhdWx0Ci1QeVVuaWNvZGVfSW50ZXJuRnJvbVN0cmluZwotUHlVbmljb2RlX0ludGVybkltbW9ydGFsCi1QeVVuaWNvZGVfSW50ZXJuSW5QbGFjZQotUHlVbmljb2RlX1R5cGUKLVB5V2Vha3JlZl9HZXRPYmplY3QKLVB5V2Vha3JlZl9OZXdQcm94eQotUHlXZWFrcmVmX05ld1JlZgotUHlXcmFwcGVyRGVzY3JfVHlwZQotUHlXcmFwcGVyX05ldwotUHlaaXBfVHlwZQotUHlfQWRkUGVuZGluZ0NhbGwKLVB5X0F0RXhpdAotUHlfQnVpbGRWYWx1ZQotUHlfQ29tcGlsZVN0cmluZwotUHlfRGVjUmVmCi1QeV9FbmRJbnRlcnByZXRlcgotUHlfRXhpdAotUHlfRmF0YWxFcnJvcgotUHlfRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZwotUHlfRmluYWxpemUKLVB5X0dldEJ1aWxkSW5mbwotUHlfR2V0Q29tcGlsZXIKLVB5X0dldENvcHlyaWdodAotUHlfR2V0RXhlY1ByZWZpeAotUHlfR2V0UGF0aAotUHlfR2V0UGxhdGZvcm0KLVB5X0dldFByZWZpeAotUHlfR2V0UHJvZ3JhbUZ1bGxQYXRoCi1QeV9HZXRQcm9ncmFtTmFtZQotUHlfR2V0UHl0aG9uSG9tZQotUHlfR2V0UmVjdXJzaW9uTGltaXQKLVB5X0dldFZlcnNpb24KLVB5X0hhc0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2RpbmcKLVB5X0luY1JlZgotUHlfSW5pdGlhbGl6ZQotUHlfSW5pdGlhbGl6ZUV4Ci1QeV9Jc0luaXRpYWxpemVkCi1QeV9NYWluCi1QeV9NYWtlUGVuZGluZ0NhbGxzCi1QeV9OZXdJbnRlcnByZXRlcgotUHlfUmVwckVudGVyCi1QeV9SZXByTGVhdmUKLVB5X1NldFByb2dyYW1OYW1lCi1QeV9TZXRQeXRob25Ib21lCi1QeV9TZXRSZWN1cnNpb25MaW1pdAotUHlfU3ltdGFibGVTdHJpbmcKLVB5X1ZhQnVpbGRWYWx1ZQotX1B5RXJyX0JhZEludGVybmFsQ2FsbAotX1B5T2JqZWN0X0NhbGxGdW5jdGlvbl9TaXplVAotX1B5T2JqZWN0X0NhbGxNZXRob2RfU2l6ZVQKLV9QeU9iamVjdF9HQ19NYWxsb2MKLV9QeU9iamVjdF9HQ19OZXcKLV9QeU9iamVjdF9HQ19OZXdWYXIKLV9QeU9iamVjdF9HQ19SZXNpemUKLV9QeU9iamVjdF9OZXcKLV9QeU9iamVjdF9OZXdWYXIKLV9QeVN0YXRlX0FkZE1vZHVsZQotX1B5VGhyZWFkU3RhdGVfSW5pdAotX1B5VGhyZWFkU3RhdGVfUHJlYWxsb2MKLV9QeVRyYXNoX2RlbGV0ZV9sYXRlcgotX1B5VHJhc2hfZGVsZXRlX25lc3RpbmcKLV9QeVRyYXNoX2RlcG9zaXRfb2JqZWN0Ci1fUHlUcmFzaF9kZXN0cm95X2NoYWluCi1fUHlXZWFrcmVmX0NhbGxhYmxlUHJveHlUeXBlCi1fUHlXZWFrcmVmX1Byb3h5VHlwZQotX1B5V2Vha3JlZl9SZWZUeXBlCi1fUHlfQnVpbGRWYWx1ZV9TaXplVAotX1B5X0NoZWNrUmVjdXJzaW9uTGltaXQKLV9QeV9DaGVja1JlY3Vyc2l2ZUNhbGwKLV9QeV9EZWFsbG9jCi1fUHlfRWxsaXBzaXNPYmplY3QKLV9QeV9GYWxzZVN0cnVjdAotX1B5X05vbmVTdHJ1Y3QKLV9QeV9Ob3RJbXBsZW1lbnRlZFN0cnVjdAotX1B5X1N3YXBwZWRPcAotX1B5X1RydWVTdHJ1Y3QKLV9QeV9WYUJ1aWxkVmFsdWVfU2l6ZVQKLV9QeUFyZ19QYXJzZV9TaXplVAotX1B5QXJnX1BhcnNlVHVwbGVfU2l6ZVQKLV9QeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHNfU2l6ZVQKLV9QeUFyZ19WYVBhcnNlX1NpemVUCi1fUHlBcmdfVmFQYXJzZVR1cGxlQW5kS2V5d29yZHNfU2l6ZVQKLV9QeV9CdWlsZFZhbHVlX1NpemVUCmRpZmYgLS1naXQgYS9QQy9weXRob25fZXhlLnJjIGIvUEMvcHl0aG9uX2V4ZS5yYwppbmRleCAxNGUyNTc0Li45MTc4NWExIDEwMDY0NAotLS0gYS9QQy9weXRob25fZXhlLnJjCisrKyBiL1BDL3B5dGhvbl9leGUucmMKQEAgLTEgKzEsNDkgQEAKLTEgICAgICAgICAgIElDT04gICAgRElTQ0FSREFCTEUgICAgICJweWNvbi5pY28iIAorLy8gUmVzb3VyY2Ugc2NyaXB0IGZvciBQeXRob24gY29uc29sZSBFWEVzLgorCisjaW5jbHVkZSAicHl0aG9uX3Zlcl9yYy5oIgorCisvLyBJbmNsdWRlIHRoZSBtYW5pZmVzdCBmaWxlIHRoYXQgaW5kaWNhdGVzIHdlIHN1cHBvcnQgYWxsCisvLyBjdXJyZW50IHZlcnNpb25zIG9mIFdpbmRvd3MuCisjaW5jbHVkZSA8d2ludXNlci5oPgorMSBSVF9NQU5JRkVTVCAicHl0aG9uLm1hbmlmZXN0IgorCisxIElDT04gRElTQ0FSREFCTEUgInB5Y29uLmljbyIgCisKKworLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKy8vCisvLyBWZXJzaW9uCisvLworCitWU19WRVJTSU9OX0lORk8gVkVSU0lPTklORk8KKyBGSUxFVkVSU0lPTiBQWVZFUlNJT042NAorIFBST0RVQ1RWRVJTSU9OIFBZVkVSU0lPTjY0CisgRklMRUZMQUdTTUFTSyAweDNmTAorI2lmZGVmIF9ERUJVRworIEZJTEVGTEFHUyBWU19GRl9ERUJVRworI2Vsc2UKKyBGSUxFRkxBR1MgMHgwTAorI2VuZGlmCisgRklMRU9TIFZPU19fV0lORE9XUzMyCisgRklMRVRZUEUgVkZUX0FQUAorIEZJTEVTVUJUWVBFIDB4MEwKK0JFR0lOCisgICAgQkxPQ0sgIlN0cmluZ0ZpbGVJbmZvIgorICAgIEJFR0lOCisgICAgICAgIEJMT0NLICIwMDAwMDRiMCIKKyAgICAgICAgQkVHSU4KKyAgICAgICAgICAgIFZBTFVFICJDb21wYW55TmFtZSIsIFBZVEhPTl9DT01QQU5ZICJcMCIKKyAgICAgICAgICAgIFZBTFVFICJGaWxlRGVzY3JpcHRpb24iLCAiUHl0aG9uXDAiCisgICAgICAgICAgICBWQUxVRSAiRmlsZVZlcnNpb24iLCBQWVRIT05fVkVSU0lPTgorICAgICAgICAgICAgVkFMVUUgIkludGVybmFsTmFtZSIsICJQeXRob24gQ29uc29sZVwwIgorICAgICAgICAgICAgVkFMVUUgIkxlZ2FsQ29weXJpZ2h0IiwgUFlUSE9OX0NPUFlSSUdIVCAiXDAiCisgICAgICAgICAgICBWQUxVRSAiT3JpZ2luYWxGaWxlbmFtZSIsICJweXRob24iIFBZVEhPTl9ERUJVR19FWFQgIi5leGVcMCIKKyAgICAgICAgICAgIFZBTFVFICJQcm9kdWN0TmFtZSIsICJQeXRob25cMCIKKyAgICAgICAgICAgIFZBTFVFICJQcm9kdWN0VmVyc2lvbiIsIFBZVEhPTl9WRVJTSU9OCisgICAgICAgIEVORAorICAgIEVORAorICAgIEJMT0NLICJWYXJGaWxlSW5mbyIKKyAgICBCRUdJTgorICAgICAgICBWQUxVRSAiVHJhbnNsYXRpb24iLCAweDAsIDEyMDAKKyAgICBFTkQKK0VORApkaWZmIC0tZ2l0IGEvUEMvcHl0aG9uX250LnJjIGIvUEMvcHl0aG9uX250LnJjCmluZGV4IGY4NWQ1MzkuLmZhYzYxMDUgMTAwNjQ0Ci0tLSBhL1BDL3B5dGhvbl9udC5yYworKysgYi9QQy9weXRob25fbnQucmMKQEAgLTEsMzMgKzEsMTEgQEAKIC8vIFJlc291cmNlIHNjcmlwdCBmb3IgUHl0aG9uIGNvcmUgRExMLgotLy8gQ3VycmVudGx5IG9ubHkgaG9sZHMgdmVyc2lvbiBpbmZvcm1hdGlvbi4KLS8vCi0jaW5jbHVkZSAid2ludmVyLmgiCiAKLSNkZWZpbmUgTVNfV0lORE9XUwotI2luY2x1ZGUgIm1vZHN1cHBvcnQuaCIKLSNpbmNsdWRlICJwYXRjaGxldmVsLmgiCi0jaWZkZWYgX0RFQlVHCi0jICAgaW5jbHVkZSAicHl0aG9ubnRfcmNfZC5oIgotI2Vsc2UKLSMgICBpbmNsdWRlICJweXRob25udF9yYy5oIgotI2VuZGlmCisjaW5jbHVkZSAicHl0aG9uX3Zlcl9yYy5oIgogCi0vKiBlLmcuLCAzLjMuMGExCi0gKiBQWV9WRVJTSU9OIGNvbWVzIGZyb20gcGF0Y2hldmVsLmgKLSAqLwotI2RlZmluZSBQWVRIT05fVkVSU0lPTiBQWV9WRVJTSU9OICJcMCIKLQotLyogNjQtYml0IHZlcnNpb24gbnVtYmVyIGFzIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIDQgMTYtYml0IGludHMgKi8KLSNpZiBQWV9NSUNST19WRVJTSU9OID4gNjQKLSMgICBlcnJvciAiUFlfTUlDUk9fVkVSU0lPTiA+IDY0IgotI2VuZGlmCi0jaWYgUFlfUkVMRUFTRV9MRVZFTCA+IDk5Ci0jICAgZXJyb3IgIlBZX1JFTEVBU0VfTEVWRUwgPiA5OSIKLSNlbmRpZgotI2lmIFBZX1JFTEVBU0VfU0VSSUFMID4gOQotIyAgIGVycm9yICJQWV9SRUxFQVNFX1NFUklBTCA+IDkiCi0jZW5kaWYKLSNkZWZpbmUgUFlWRVJTSU9ONjQgUFlfTUFKT1JfVkVSU0lPTiwgUFlfTUlOT1JfVkVSU0lPTiwgRklFTEQzLCBQWVRIT05fQVBJX1ZFUlNJT04KKy8vIEluY2x1ZGUgdGhlIG1hbmlmZXN0IGZpbGUgdGhhdCBpbmRpY2F0ZXMgd2Ugc3VwcG9ydCBhbGwKKy8vIGN1cnJlbnQgdmVyc2lvbnMgb2YgV2luZG93cy4KKyNpbmNsdWRlIDx3aW51c2VyLmg+CisyIFJUX01BTklGRVNUICJweXRob24ubWFuaWZlc3QiCiAKIC8vIFN0cmluZyBUYWJsZXMKIFNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkBAIC00NSwyMyArMjMsMjMgQEAKICBQUk9EVUNUVkVSU0lPTiBQWVZFUlNJT042NAogIEZJTEVGTEFHU01BU0sgMHgzZkwKICNpZmRlZiBfREVCVUcKLSBGSUxFRkxBR1MgMHgxTAorIEZJTEVGTEFHUyBWU19GRl9ERUJVRwogI2Vsc2UKICBGSUxFRkxBR1MgMHgwTAogI2VuZGlmCi0gRklMRU9TIDB4NDAwMDRMCi0gRklMRVRZUEUgMHgxTAorIEZJTEVPUyBWT1NfX1dJTkRPV1MzMgorIEZJTEVUWVBFIFZGVF9ETEwKICBGSUxFU1VCVFlQRSAweDBMCiBCRUdJTgogICAgIEJMT0NLICJTdHJpbmdGaWxlSW5mbyIKICAgICBCRUdJTgogICAgICAgICBCTE9DSyAiMDAwMDA0YjAiCiAgICAgICAgIEJFR0lOCi0gICAgICAgICAgICBWQUxVRSAiQ29tcGFueU5hbWUiLCAiUHl0aG9uIFNvZnR3YXJlIEZvdW5kYXRpb25cMCIKKyAgICAgICAgICAgIFZBTFVFICJDb21wYW55TmFtZSIsIFBZVEhPTl9DT01QQU5ZICJcMCIKICAgICAgICAgICAgIFZBTFVFICJGaWxlRGVzY3JpcHRpb24iLCAiUHl0aG9uIENvcmVcMCIKICAgICAgICAgICAgIFZBTFVFICJGaWxlVmVyc2lvbiIsIFBZVEhPTl9WRVJTSU9OCiAgICAgICAgICAgICBWQUxVRSAiSW50ZXJuYWxOYW1lIiwgIlB5dGhvbiBETExcMCIKLSAgICAgICAgICAgIFZBTFVFICJMZWdhbENvcHlyaWdodCIsICJDb3B5cmlnaHQgqSAyMDAxLTIwMTUgUHl0aG9uIFNvZnR3YXJlIEZvdW5kYXRpb24uIENvcHlyaWdodCCpIDIwMDAgQmVPcGVuLmNvbS4gQ29weXJpZ2h0IKkgMTk5NS0yMDAxIENOUkkuIENvcHlyaWdodCCpIDE5OTEtMTk5NSBTTUMuXDAiCisgICAgICAgICAgICBWQUxVRSAiTGVnYWxDb3B5cmlnaHQiLCBQWVRIT05fQ09QWVJJR0hUICJcMCIKICAgICAgICAgICAgIFZBTFVFICJPcmlnaW5hbEZpbGVuYW1lIiwgUFlUSE9OX0RMTF9OQU1FICJcMCIKICAgICAgICAgICAgIFZBTFVFICJQcm9kdWN0TmFtZSIsICJQeXRob25cMCIKICAgICAgICAgICAgIFZBTFVFICJQcm9kdWN0VmVyc2lvbiIsIFBZVEhPTl9WRVJTSU9OCmRpZmYgLS1naXQgYS9QQy9weXRob25fdmVyX3JjLmggYi9QQy9weXRob25fdmVyX3JjLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWYxYmViYwotLS0gL2Rldi9udWxsCisrKyBiL1BDL3B5dGhvbl92ZXJfcmMuaApAQCAtMCwwICsxLDM1IEBACisvLyBSZXNvdXJjZSBzY3JpcHQgZm9yIFB5dGhvbiBjb3JlIERMTC4KKy8vIEN1cnJlbnRseSBvbmx5IGhvbGRzIHZlcnNpb24gaW5mb3JtYXRpb24uCisvLworI2luY2x1ZGUgIndpbnZlci5oIgorCisjZGVmaW5lIFBZVEhPTl9DT01QQU5ZICAgIlB5dGhvbiBTb2Z0d2FyZSBGb3VuZGF0aW9uIgorI2RlZmluZSBQWVRIT05fQ09QWVJJR0hUICJDb3B5cmlnaHQgqSAyMDAxLTIwMTUgUHl0aG9uIFNvZnR3YXJlIEZvdW5kYXRpb24uIENvcHlyaWdodCCpIDIwMDAgQmVPcGVuLmNvbS4gQ29weXJpZ2h0IKkgMTk5NS0yMDAxIENOUkkuIENvcHlyaWdodCCpIDE5OTEtMTk5NSBTTUMuIgorCisjZGVmaW5lIE1TX1dJTkRPV1MKKyNpbmNsdWRlICJtb2RzdXBwb3J0LmgiCisjaW5jbHVkZSAicGF0Y2hsZXZlbC5oIgorI2lmZGVmIF9ERUJVRworIyAgIGluY2x1ZGUgInB5dGhvbm50X3JjX2QuaCIKKyMgICBkZWZpbmUgUFlUSE9OX0RFQlVHX0VYVCAiX2QiCisjZWxzZQorIyAgIGluY2x1ZGUgInB5dGhvbm50X3JjLmgiCisjICAgZGVmaW5lIFBZVEhPTl9ERUJVR19FWFQKKyNlbmRpZgorCisvKiBlLmcuLCAzLjMuMGExCisgKiBQWV9WRVJTSU9OIGNvbWVzIGZyb20gcGF0Y2hsZXZlbC5oCisgKi8KKyNkZWZpbmUgUFlUSE9OX1ZFUlNJT04gUFlfVkVSU0lPTiAiXDAiCisKKy8qIDY0LWJpdCB2ZXJzaW9uIG51bWJlciBhcyBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiA0IDE2LWJpdCBpbnRzICovCisjaWYgUFlfTUlDUk9fVkVSU0lPTiA+IDY0CisjICAgZXJyb3IgIlBZX01JQ1JPX1ZFUlNJT04gPiA2NCIKKyNlbmRpZgorI2lmIFBZX1JFTEVBU0VfTEVWRUwgPiA5OQorIyAgIGVycm9yICJQWV9SRUxFQVNFX0xFVkVMID4gOTkiCisjZW5kaWYKKyNpZiBQWV9SRUxFQVNFX1NFUklBTCA+IDkKKyMgICBlcnJvciAiUFlfUkVMRUFTRV9TRVJJQUwgPiA5IgorI2VuZGlmCisjZGVmaW5lIFBZVkVSU0lPTjY0IFBZX01BSk9SX1ZFUlNJT04sIFBZX01JTk9SX1ZFUlNJT04sIEZJRUxEMywgUFlUSE9OX0FQSV9WRVJTSU9OCmRpZmYgLS1naXQgYS9QQy9yZWFkbWUudHh0IGIvUEMvcmVhZG1lLnR4dAppbmRleCA2MGYyMzFlLi44NjM5ZGMzIDEwMDY0NAotLS0gYS9QQy9yZWFkbWUudHh0CisrKyBiL1BDL3JlYWRtZS50eHQKQEAgLTc0LDExICs3NCw2IEBACiBleGFtcGxlX250ICAgICBBIHN1YmRpcmVjdG9yeSBzaG93aW5nIGhvdyB0byBidWlsZCBhbiBleHRlbnNpb24gYXMgYQogICAgICAgICAgICAgICAgRExMLgogCi1MZWdhY3kgc3VwcG9ydCBmb3Igb2xkZXIgdmVyc2lvbnMgb2YgVmlzdWFsIFN0dWRpbwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLVRoZSBzdWJkaXJlY3RvcmllcyBWQzYsIFZTNy4xIGFuZCBWUzguMCBjb250YWluIGxlZ2FjeSBzdXBwb3J0IG9sZGVyCi12ZXJzaW9ucyBvZiBNaWNyb3NvZnQgVmlzdWFsIFN0dWRpby4gU2VlIFBDYnVpbGQvcmVhZG1lLnR4dC4KLQogTm90ZSBmb3IgV2luZG93cyAzLnggYW5kIERPUyB1c2VycwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCmRpZmYgLS1naXQgYS9QQ2J1aWxkL19iejIudmN4cHJvaiBiL1BDYnVpbGQvX2J6Mi52Y3hwcm9qCmluZGV4IDkzODdlNTQuLjY0YzNkY2QgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQvX2J6Mi52Y3hwcm9qCisrKyBiL1BDYnVpbGQvX2J6Mi52Y3hwcm9qCkBAIC0zOSwxMTcgKzM5LDI4IEBACiAgICAgPFJvb3ROYW1lc3BhY2U+YnoyPC9Sb290TmFtZXNwYWNlPgogICAgIDxLZXl3b3JkPldpbjMyUHJvajwvS2V5d29yZD4KICAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9InB5dGhvbi5wcm9wcyIgLz4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgogICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+CiAgICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KICAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iIC8+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8VGFyZ2V0RXh0Pi5weWQ8L1RhcmdldEV4dD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgogICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblNldHRpbmdzIj4KICAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZF9kLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkX2QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+CisgICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+CiAgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiAvPgogICA8UHJvcGVydHlHcm91cD4KICAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjMwMzE5LjE8L19Qcm9qZWN0RmlsZVZlcnNpb24+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgogICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+CiAgICAgPENsQ29tcGlsZT4KICAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQoYnoyRGlyKTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgogICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO19GSUxFX09GRlNFVF9CSVRTPTY0O19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KQEAgLTE1OCw4MyArNjksNiBAQAogICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxNzAwMDA8L0Jhc2VBZGRyZXNzPgogICAgIDwvTGluaz4KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKGJ6MkRpcik7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtfRklMRV9PRkZTRVRfQklUUz02NDtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDE3MDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKGJ6MkRpcik7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtfRklMRV9PRkZTRVRfQklUUz02NDtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDE3MDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChiejJEaXIpOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7X0ZJTEVfT0ZGU0VUX0JJVFM9NjQ7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxNzAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKGJ6MkRpcik7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtfRklMRV9PRkZTRVRfQklUUz02NDtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDE3MDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKGJ6MkRpcik7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtfRklMRV9PRkZTRVRfQklUUz02NDtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDE3MDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQoYnoyRGlyKTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO19GSUxFX09GRlNFVF9CSVRTPTY0O19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTcwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChiejJEaXIpOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7X0ZJTEVfT0ZGU0VUX0JJVFM9NjQ7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxNzAwMDA8L0Jhc2VBZGRyZXNzPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KICAgPEl0ZW1Hcm91cD4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcX2J6Mm1vZHVsZS5jIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChiejJEaXIpXGJsb2Nrc29ydC5jIiAvPgpkaWZmIC0tZ2l0IGEvUENidWlsZC9fY3R5cGVzLnZjeHByb2ogYi9QQ2J1aWxkL19jdHlwZXMudmN4cHJvagppbmRleCAyMDJjYjFmLi42OGI4ZTI5IDEwMDY0NAotLS0gYS9QQ2J1aWxkL19jdHlwZXMudmN4cHJvagorKysgYi9QQ2J1aWxkL19jdHlwZXMudmN4cHJvagpAQCAtMzksMjA0ICszOSwzMyBAQAogICAgIDxSb290TmFtZXNwYWNlPl9jdHlwZXM8L1Jvb3ROYW1lc3BhY2U+CiAgICAgPEtleXdvcmQ+V2luMzJQcm9qPC9LZXl3b3JkPgogICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0icHl0aG9uLnByb3BzIiAvPgogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgogICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+CiAgICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KICAgPC9Qcm9wZXJ0eUdyb3VwPgogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KKyAgPFByb3BlcnR5R3JvdXA+CisgICAgPFRhcmdldEV4dD4ucHlkPC9UYXJnZXRFeHQ+CisgIDwvUHJvcGVydHlHcm91cD4KICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25TZXR0aW5ncyI+CiAgIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KKyAgPEltcG9ydEdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGd1cGRhdGUucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGdpbnN0cnVtZW50LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWRfZC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGdpbnN0cnVtZW50LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZF9kLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgorICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgogICA8L0ltcG9ydEdyb3VwPgogICA8UHJvcGVydHlHcm91cCBMYWJlbD0iVXNlck1hY3JvcyIgLz4KICAgPFByb3BlcnR5R3JvdXA+CiAgICAgPF9Qcm9qZWN0RmlsZVZlcnNpb24+MTAuMC40MDIxOS4xPC9fUHJvamVjdEZpbGVWZXJzaW9uPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KICAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgogICAgIDxDbENvbXBpbGU+CiAgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlxNb2R1bGVzXF9jdHlwZXNcbGliZmZpX21zdmM7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KICAgICA8L0NsQ29tcGlsZT4KICAgICA8TGluaz4KICAgICAgIDxCYXNlQWRkcmVzcz4weDFEMUEwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cTW9kdWxlc1xfY3R5cGVzXGxpYmZmaV9tc3ZjOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDFBMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlxNb2R1bGVzXF9jdHlwZXNcbGliZmZpX21zdmM7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KICAgICAgIDxBZGRpdGlvbmFsT3B0aW9ucz4vRVhQT1JUOkRsbEdldENsYXNzT2JqZWN0LFBSSVZBVEUgL0VYUE9SVDpEbGxDYW5VbmxvYWROb3csUFJJVkFURSAlKEFkZGl0aW9uYWxPcHRpb25zKTwvQWRkaXRpb25hbE9wdGlvbnM+Ci0gICAgICA8U3ViU3lzdGVtPk5vdFNldDwvU3ViU3lzdGVtPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxQTAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXE1vZHVsZXNcX2N0eXBlc1xsaWJmZmlfbXN2YzslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxPcHRpb25zPi9FWFBPUlQ6RGxsR2V0Q2xhc3NPYmplY3QsUFJJVkFURSAvRVhQT1JUOkRsbENhblVubG9hZE5vdyxQUklWQVRFICUoQWRkaXRpb25hbE9wdGlvbnMpPC9BZGRpdGlvbmFsT3B0aW9ucz4KLSAgICAgIDxTdWJTeXN0ZW0+Tm90U2V0PC9TdWJTeXN0ZW0+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDFBMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXE1vZHVsZXNcX2N0eXBlc1xsaWJmZmlfbXN2YzslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxPcHRpb25zPi9FWFBPUlQ6RGxsR2V0Q2xhc3NPYmplY3QsUFJJVkFURSAvRVhQT1JUOkRsbENhblVubG9hZE5vdyxQUklWQVRFICUoQWRkaXRpb25hbE9wdGlvbnMpPC9BZGRpdGlvbmFsT3B0aW9ucz4KLSAgICAgIDxTdWJTeXN0ZW0+Tm90U2V0PC9TdWJTeXN0ZW0+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDFBMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlxNb2R1bGVzXF9jdHlwZXNcbGliZmZpX21zdmM7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsT3B0aW9ucz4vRVhQT1JUOkRsbEdldENsYXNzT2JqZWN0LFBSSVZBVEUgL0VYUE9SVDpEbGxDYW5VbmxvYWROb3csUFJJVkFURSAlKEFkZGl0aW9uYWxPcHRpb25zKTwvQWRkaXRpb25hbE9wdGlvbnM+Ci0gICAgICA8U3ViU3lzdGVtPk5vdFNldDwvU3ViU3lzdGVtPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxQTAwMDA8L0Jhc2VBZGRyZXNzPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlxNb2R1bGVzXF9jdHlwZXNcbGliZmZpX21zdmM7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsT3B0aW9ucz4vRVhQT1JUOkRsbEdldENsYXNzT2JqZWN0LFBSSVZBVEUgL0VYUE9SVDpEbGxDYW5VbmxvYWROb3csUFJJVkFURSAlKEFkZGl0aW9uYWxPcHRpb25zKTwvQWRkaXRpb25hbE9wdGlvbnM+Ci0gICAgICA8U3ViU3lzdGVtPk5vdFNldDwvU3ViU3lzdGVtPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxQTAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlxNb2R1bGVzXF9jdHlwZXNcbGliZmZpX21zdmM7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsT3B0aW9ucz4vRVhQT1JUOkRsbEdldENsYXNzT2JqZWN0LFBSSVZBVEUgL0VYUE9SVDpEbGxDYW5VbmxvYWROb3csUFJJVkFURSAlKEFkZGl0aW9uYWxPcHRpb25zKTwvQWRkaXRpb25hbE9wdGlvbnM+Ci0gICAgICA8U3ViU3lzdGVtPk5vdFNldDwvU3ViU3lzdGVtPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxQTAwMDA8L0Jhc2VBZGRyZXNzPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KICAgICA8L0xpbms+CiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KICAgPEl0ZW1Hcm91cD4KQEAgLTI1NywzMCArODYsMTQgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcX2N0eXBlc1xsaWJmZmlfbXN2Y1xwcmVwX2NpZi5jIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cTW9kdWxlc1xfY3R5cGVzXHN0Z2RpY3QuYyIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcX2N0eXBlc1xsaWJmZmlfbXN2Y1x3aW4zMi5jIj4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJz09J3g2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgIDwvQ2xDb21waWxlPgogICA8L0l0ZW1Hcm91cD4KICAgPEl0ZW1Hcm91cD4KICAgICA8Q3VzdG9tQnVpbGQgSW5jbHVkZT0iLi5cTW9kdWxlc1xfY3R5cGVzXGxpYmZmaV9tc3ZjXHdpbjY0LmFzbSI+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPENvbW1hbmQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj5tbDY0IC9ub2xvZ28gL2MgL1ppIC9GbyAiJChJbnREaXIpd2luNjQub2JqIiAiJShGdWxsUGF0aCkiCi08L0NvbW1hbmQ+Ci0gICAgICA8T3V0cHV0cyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPiQoSW50RGlyKXdpbjY0Lm9iajslKE91dHB1dHMpPC9PdXRwdXRzPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8Q29tbWFuZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj5tbDY0IC9ub2xvZ28gL2MgL0ZvICIkKEludERpcil3aW42NC5vYmoiICIlKEZ1bGxQYXRoKSIKLTwvQ29tbWFuZD4KLSAgICAgIDxPdXRwdXRzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPiQoSW50RGlyKXdpbjY0Lm9iajslKE91dHB1dHMpPC9PdXRwdXRzPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxDb21tYW5kIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+bWw2NCAvbm9sb2dvIC9jIC9GbyAiJChJbnREaXIpd2luNjQub2JqIiAiJShGdWxsUGF0aCkiCi08L0NvbW1hbmQ+Ci0gICAgICA8T3V0cHV0cyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPiQoSW50RGlyKXdpbjY0Lm9iajslKE91dHB1dHMpPC9PdXRwdXRzPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPENvbW1hbmQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPm1sNjQgL25vbG9nbyAvYyAvRm8gIiQoSW50RGlyKXdpbjY0Lm9iaiIgIiUoRnVsbFBhdGgpIgotPC9Db21tYW5kPgotICAgICAgPE91dHB1dHMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPiQoSW50RGlyKXdpbjY0Lm9iajslKE91dHB1dHMpPC9PdXRwdXRzPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJz09J1dpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8Q29tbWFuZD5tbDY0IC9ub2xvZ28gL2MgL1ppIC9GbyAiJChJbnREaXIpd2luNjQub2JqIiAiJShGdWxsUGF0aCkiPC9Db21tYW5kPgorICAgICAgPE91dHB1dHM+JChJbnREaXIpd2luNjQub2JqOyUoT3V0cHV0cyk8L091dHB1dHM+CiAgICAgPC9DdXN0b21CdWlsZD4KICAgPC9JdGVtR3JvdXA+CiAgIDxJdGVtR3JvdXA+CmRpZmYgLS1naXQgYS9QQ2J1aWxkL19jdHlwZXNfdGVzdC52Y3hwcm9qIGIvUENidWlsZC9fY3R5cGVzX3Rlc3QudmN4cHJvagppbmRleCAzNWUyOTliLi5jMTI2MGI1IDEwMDY0NAotLS0gYS9QQ2J1aWxkL19jdHlwZXNfdGVzdC52Y3hwcm9qCisrKyBiL1BDYnVpbGQvX2N0eXBlc190ZXN0LnZjeHByb2oKQEAgLTM4LDE0MyArMzgsMjggQEAKICAgICA8UHJvamVjdEd1aWQ+ezlFQzcxOTBBLTI0OUYtNDE4MC1BOTAwLTU0OEZEQ0YzMDU1Rn08L1Byb2plY3RHdWlkPgogICAgIDxSb290TmFtZXNwYWNlPl9jdHlwZXNfdGVzdDwvUm9vdE5hbWVzcGFjZT4KICAgICA8S2V5d29yZD5XaW4zMlByb2o8L0tleXdvcmQ+CisgICAgPFN1cHBvcnRQR08+ZmFsc2U8L1N1cHBvcnRQR08+CiAgIDwvUHJvcGVydHlHcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSJweXRob24ucHJvcHMiIC8+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CiAgICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KICAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgogICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8VGFyZ2V0RXh0Pi5weWQ8L1RhcmdldEV4dD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgogICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblNldHRpbmdzIj4KICAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZF9kLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkX2QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+CisgICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+CiAgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiAvPgogICA8UHJvcGVydHlHcm91cD4KICAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjMwMzE5LjE8L19Qcm9qZWN0RmlsZVZlcnNpb24+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgogICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxMaW5rPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CiAgIDxJdGVtR3JvdXA+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxNb2R1bGVzXF9jdHlwZXNcX2N0eXBlc190ZXN0LmgiIC8+CiAgIDwvSXRlbUdyb3VwPgpkaWZmIC0tZ2l0IGEvUENidWlsZC9fZGVjaW1hbC52Y3hwcm9qIGIvUENidWlsZC9fZGVjaW1hbC52Y3hwcm9qCmluZGV4IDk4YmE4MWQuLjk0M2JmYjAgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQvX2RlY2ltYWwudmN4cHJvagorKysgYi9QQ2J1aWxkL19kZWNpbWFsLnZjeHByb2oKQEAgLTM5LDIwOCArMzksMzcgQEAKICAgICA8Um9vdE5hbWVzcGFjZT5fZGVjaW1hbDwvUm9vdE5hbWVzcGFjZT4KICAgICA8S2V5d29yZD5XaW4zMlByb2o8L0tleXdvcmQ+CiAgIDwvUHJvcGVydHlHcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSJweXRob24ucHJvcHMiIC8+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CiAgICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KICAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgogICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8VGFyZ2V0RXh0Pi5weWQ8L1RhcmdldEV4dD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgogICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblNldHRpbmdzIj4KICAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZF9kLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkX2QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+CisgICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+CiAgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiAvPgogICA8UHJvcGVydHlHcm91cD4KICAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjQwMjE5LjE8L19Qcm9qZWN0RmlsZVZlcnNpb24+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgogICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+CiAgICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsT3B0aW9ucz4vRF9DUlRfU0VDVVJFX05PX1dBUk5JTkdTIC9EQ09ORklHXzMyIC9EUFBSTyAvRE1BU00gJShBZGRpdGlvbmFsT3B0aW9ucyk8L0FkZGl0aW9uYWxPcHRpb25zPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9DUlRfU0VDVVJFX05PX1dBUk5JTkdTO01BU007JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJyA9PSAnV2luMzInIj5DT05GSUdfMzI7UFBSTzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknID09ICd4NjQnIj5DT05GSUdfNjQ7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgogICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cTW9kdWxlc1xfZGVjaW1hbDsuLlxNb2R1bGVzXF9kZWNpbWFsXGxpYm1wZGVjOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CiAgICAgPC9DbENvbXBpbGU+CiAgICAgPExpbms+CiAgICAgICA8QmFzZUFkZHJlc3M+MHgxRDFBMDAwMDwvQmFzZUFkZHJlc3M+CiAgICAgPC9MaW5rPgogICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsT3B0aW9ucz4vRF9DUlRfU0VDVVJFX05PX1dBUk5JTkdTIC9EQ09ORklHXzY0IC9ETUFTTSAlKEFkZGl0aW9uYWxPcHRpb25zKTwvQWRkaXRpb25hbE9wdGlvbnM+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlxNb2R1bGVzXF9kZWNpbWFsOy4uXE1vZHVsZXNcX2RlY2ltYWxcbGlibXBkZWM7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMUEwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsT3B0aW9ucz4vRF9DUlRfU0VDVVJFX05PX1dBUk5JTkdTIC9EQ09ORklHXzMyIC9EUFBSTyAvRE1BU00gJShBZGRpdGlvbmFsT3B0aW9ucyk8L0FkZGl0aW9uYWxPcHRpb25zPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cTW9kdWxlc1xfZGVjaW1hbDsuLlxNb2R1bGVzXF9kZWNpbWFsXGxpYm1wZGVjOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8U3ViU3lzdGVtPk5vdFNldDwvU3ViU3lzdGVtPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxQTAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsT3B0aW9ucz4vRF9DUlRfU0VDVVJFX05PX1dBUk5JTkdTIC9EQ09ORklHXzY0IC9ETUFTTSAlKEFkZGl0aW9uYWxPcHRpb25zKTwvQWRkaXRpb25hbE9wdGlvbnM+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlxNb2R1bGVzXF9kZWNpbWFsOy4uXE1vZHVsZXNcX2RlY2ltYWxcbGlibXBkZWM7Li5cSW5jbHVkZTsuLlxQQzslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPFN1YlN5c3RlbT5Ob3RTZXQ8L1N1YlN5c3RlbT4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMUEwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxPcHRpb25zPi9EX0NSVF9TRUNVUkVfTk9fV0FSTklOR1MgL0RDT05GSUdfMzIgL0RQUFJPIC9ETUFTTSAlKEFkZGl0aW9uYWxPcHRpb25zKTwvQWRkaXRpb25hbE9wdGlvbnM+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlxNb2R1bGVzXF9kZWNpbWFsOy4uXE1vZHVsZXNcX2RlY2ltYWxcbGlibXBkZWM7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxTdWJTeXN0ZW0+Tm90U2V0PC9TdWJTeXN0ZW0+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDFBMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbE9wdGlvbnM+L0RfQ1JUX1NFQ1VSRV9OT19XQVJOSU5HUyAvRENPTkZJR182NCAvRE1BU00gJShBZGRpdGlvbmFsT3B0aW9ucyk8L0FkZGl0aW9uYWxPcHRpb25zPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cTW9kdWxlc1xfZGVjaW1hbDsuLlxNb2R1bGVzXF9kZWNpbWFsXGxpYm1wZGVjOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8U3ViU3lzdGVtPk5vdFNldDwvU3ViU3lzdGVtPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxQTAwMDA8L0Jhc2VBZGRyZXNzPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbE9wdGlvbnM+L0RfQ1JUX1NFQ1VSRV9OT19XQVJOSU5HUyAvRENPTkZJR18zMiAvRFBQUk8gL0RNQVNNICUoQWRkaXRpb25hbE9wdGlvbnMpPC9BZGRpdGlvbmFsT3B0aW9ucz4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXE1vZHVsZXNcX2RlY2ltYWw7Li5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlYzslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPFN1YlN5c3RlbT5Ob3RTZXQ8L1N1YlN5c3RlbT4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMUEwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxPcHRpb25zPi9EX0NSVF9TRUNVUkVfTk9fV0FSTklOR1MgL0RDT05GSUdfNjQgL0RNQVNNICUoQWRkaXRpb25hbE9wdGlvbnMpPC9BZGRpdGlvbmFsT3B0aW9ucz4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXE1vZHVsZXNcX2RlY2ltYWw7Li5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlYzslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPFN1YlN5c3RlbT5Ob3RTZXQ8L1N1YlN5c3RlbT4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMUEwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CiAgIDxJdGVtR3JvdXA+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxNb2R1bGVzXF9kZWNpbWFsXGxpYm1wZGVjXGJhc2Vhcml0aC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlY1xiaXRzLmgiIC8+CkBAIC0yNzksMjIgKzEwOCw5IEBACiAgIDwvSXRlbUdyb3VwPgogICA8SXRlbUdyb3VwPgogICAgIDxDdXN0b21CdWlsZCBJbmNsdWRlPSIuLlxNb2R1bGVzXF9kZWNpbWFsXGxpYm1wZGVjXHZjZGl2NjQuYXNtIj4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8Q29tbWFuZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPm1sNjQgL25vbG9nbyAvYyAvWmkgL0ZvICIkKEludERpcil2Y2RpdjY0Lm9iaiIgIiUoRnVsbFBhdGgpIgotPC9Db21tYW5kPgotICAgICAgPE91dHB1dHMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4kKEludERpcil2Y2RpdjY0Lm9iajslKE91dHB1dHMpPC9PdXRwdXRzPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8Q29tbWFuZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj5tbDY0IC9ub2xvZ28gL2MgL0ZvICIkKEludERpcil2Y2RpdjY0Lm9iaiIgIiUoRnVsbFBhdGgpIgotPC9Db21tYW5kPgotICAgICAgPE91dHB1dHMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+JChJbnREaXIpdmNkaXY2NC5vYmo7JShPdXRwdXRzKTwvT3V0cHV0cz4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8Q29tbWFuZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPm1sNjQgL25vbG9nbyAvYyAvRm8gIiQoSW50RGlyKXZjZGl2NjQub2JqIiAiJShGdWxsUGF0aCkiCi08L0NvbW1hbmQ+Ci0gICAgICA8T3V0cHV0cyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPiQoSW50RGlyKXZjZGl2NjQub2JqOyUoT3V0cHV0cyk8L091dHB1dHM+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8Q29tbWFuZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+bWw2NCAvbm9sb2dvIC9jIC9aaSAvRm8gIiQoSW50RGlyKXZjZGl2NjQub2JqIiAiJShGdWxsUGF0aCkiCi08L0NvbW1hbmQ+Ci0gICAgICA8T3V0cHV0cyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+JChJbnREaXIpdmNkaXY2NC5vYmo7JShPdXRwdXRzKTwvT3V0cHV0cz4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKFBsYXRmb3JtKSc9PSdXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPENvbW1hbmQ+bWw2NCAvbm9sb2dvIC9jIC9aaSAvRm8gIiQoSW50RGlyKXZjZGl2NjQub2JqIiAiJShGdWxsUGF0aCkiPC9Db21tYW5kPgorICAgICAgPE91dHB1dHM+JChJbnREaXIpdmNkaXY2NC5vYmo7JShPdXRwdXRzKTwvT3V0cHV0cz4KICAgICA8L0N1c3RvbUJ1aWxkPgogICA8L0l0ZW1Hcm91cD4KICAgPEl0ZW1Hcm91cD4KZGlmZiAtLWdpdCBhL1BDYnVpbGQvX2VsZW1lbnR0cmVlLnZjeHByb2ogYi9QQ2J1aWxkL19lbGVtZW50dHJlZS52Y3hwcm9qCmluZGV4IDc4MDJhYjMuLjQxNGJkOGIgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQvX2VsZW1lbnR0cmVlLnZjeHByb2oKKysrIGIvUENidWlsZC9fZWxlbWVudHRyZWUudmN4cHJvagpAQCAtMzksMTE3ICszOSwyNyBAQAogICAgIDxSb290TmFtZXNwYWNlPl9lbGVtZW50dHJlZTwvUm9vdE5hbWVzcGFjZT4KICAgICA8S2V5d29yZD5XaW4zMlByb2o8L0tleXdvcmQ+CiAgIDwvUHJvcGVydHlHcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSJweXRob24ucHJvcHMiIC8+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CiAgICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KICAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgogICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8VGFyZ2V0RXh0Pi5weWQ8L1RhcmdldEV4dD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgogICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblNldHRpbmdzIj4KICAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZF9kLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkX2QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+CisgICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+CiAgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiAvPgogICA8UHJvcGVydHlHcm91cD4KICAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjMwMzE5LjE8L19Qcm9qZWN0RmlsZVZlcnNpb24+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgogICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+CiAgICAgPENsQ29tcGlsZT4KICAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXE1vZHVsZXNcZXhwYXQ7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KICAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5YTUxfTlM7WE1MX0RURDtCWVRFT1JERVI9MTIzNDtYTUxfQ09OVEVYVF9CWVRFUz0xMDI0O1VTRV9QWUVYUEFUX0NBUEk7WE1MX1NUQVRJQztIQVZFX01FTU1PVkU7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgpAQCAtMTU4LDgzICs2OCw2IEBACiAgICAgICA8QmFzZUFkZHJlc3M+MHgxRDEwMDAwMDwvQmFzZUFkZHJlc3M+CiAgICAgPC9MaW5rPgogICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXE1vZHVsZXNcZXhwYXQ7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5YTUxfTlM7WE1MX0RURDtCWVRFT1JERVI9MTIzNDtYTUxfQ09OVEVYVF9CWVRFUz0xMDI0O1VTRV9QWUVYUEFUX0NBUEk7WE1MX1NUQVRJQztIQVZFX01FTU1PVkU7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxMDAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cTW9kdWxlc1xleHBhdDslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPlhNTF9OUztYTUxfRFREO0JZVEVPUkRFUj0xMjM0O1hNTF9DT05URVhUX0JZVEVTPTEwMjQ7VVNFX1BZRVhQQVRfQ0FQSTtYTUxfU1RBVElDO0hBVkVfTUVNTU9WRTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDEwMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cTW9kdWxlc1xleHBhdDslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPlhNTF9OUztYTUxfRFREO0JZVEVPUkRFUj0xMjM0O1hNTF9DT05URVhUX0JZVEVTPTEwMjQ7VVNFX1BZRVhQQVRfQ0FQSTtYTUxfU1RBVElDO0hBVkVfTUVNTU9WRTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDEwMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXE1vZHVsZXNcZXhwYXQ7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5YTUxfTlM7WE1MX0RURDtCWVRFT1JERVI9MTIzNDtYTUxfQ09OVEVYVF9CWVRFUz0xMDI0O1VTRV9QWUVYUEFUX0NBUEk7WE1MX1NUQVRJQztIQVZFX01FTU1PVkU7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxMDAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cTW9kdWxlc1xleHBhdDslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPlhNTF9OUztYTUxfRFREO0JZVEVPUkRFUj0xMjM0O1hNTF9DT05URVhUX0JZVEVTPTEwMjQ7VVNFX1BZRVhQQVRfQ0FQSTtYTUxfU1RBVElDO0hBVkVfTUVNTU9WRTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDEwMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXE1vZHVsZXNcZXhwYXQ7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5YTUxfTlM7WE1MX0RURDtCWVRFT1JERVI9MTIzNDtYTUxfQ09OVEVYVF9CWVRFUz0xMDI0O1VTRV9QWUVYUEFUX0NBUEk7WE1MX1NUQVRJQztIQVZFX01FTU1PVkU7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxMDAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlxNb2R1bGVzXGV4cGF0OyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+WE1MX05TO1hNTF9EVEQ7QllURU9SREVSPTEyMzQ7WE1MX0NPTlRFWFRfQllURVM9MTAyNDtVU0VfUFlFWFBBVF9DQVBJO1hNTF9TVEFUSUM7SEFWRV9NRU1NT1ZFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTAwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CiAgIDxJdGVtR3JvdXA+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxNb2R1bGVzXGV4cGF0XGFzY2lpLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxNb2R1bGVzXGV4cGF0XGFzY2lpdGFiLmgiIC8+CmRpZmYgLS1naXQgYS9QQ2J1aWxkL19mcmVlemVfaW1wb3J0bGliLnZjeHByb2ogYi9QQ2J1aWxkL19mcmVlemVfaW1wb3J0bGliLnZjeHByb2oKaW5kZXggNTUxOTdhZi4uN2Y0ZTQxOSAxMDA2NDQKLS0tIGEvUENidWlsZC9fZnJlZXplX2ltcG9ydGxpYi52Y3hwcm9qCisrKyBiL1BDYnVpbGQvX2ZyZWV6ZV9pbXBvcnRsaWIudmN4cHJvagpAQCAtOSw2ICs5LDIyIEBACiAgICAgICA8Q29uZmlndXJhdGlvbj5EZWJ1ZzwvQ29uZmlndXJhdGlvbj4KICAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgogICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlBHSW5zdHJ1bWVudHxXaW4zMiI+CisgICAgICA8Q29uZmlndXJhdGlvbj5QR0luc3RydW1lbnQ8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlBHSW5zdHJ1bWVudHx4NjQiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UEdJbnN0cnVtZW50PC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUEdVcGRhdGV8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UEdVcGRhdGU8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlBHVXBkYXRlfHg2NCI+CisgICAgICA8Q29uZmlndXJhdGlvbj5QR1VwZGF0ZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CiAgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8V2luMzIiPgogICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KICAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CkBAIC0yMiwxNTIgKzM4LDMyIEBACiAgICAgPFByb2plY3RHdWlkPnsxOUMwQzEzRi00N0NBLTQ0MzItQUZGMy03OTlBMjk2QTREREN9PC9Qcm9qZWN0R3VpZD4KICAgICA8S2V5d29yZD5XaW4zMlByb2o8L0tleXdvcmQ+CiAgICAgPFJvb3ROYW1lc3BhY2U+X2ZyZWV6ZV9pbXBvcnRsaWI8L1Jvb3ROYW1lc3BhY2U+CisgICAgPFN1cHBvcnRQR08+ZmFsc2U8L1N1cHBvcnRQR08+CiAgIDwvUHJvcGVydHlHcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSJweXRob24ucHJvcHMiIC8+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIj4KICAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VEZWJ1Z0xpYnJhcmllcz50cnVlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4KLSAgICA8Q2hhcmFjdGVyU2V0PlVuaWNvZGU8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VEZWJ1Z0xpYnJhcmllcz50cnVlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4KLSAgICA8Q2hhcmFjdGVyU2V0PlVuaWNvZGU8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlRGVidWdMaWJyYXJpZXM+ZmFsc2U8L1VzZURlYnVnTGlicmFyaWVzPgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICAgIDxDaGFyYWN0ZXJTZXQ+VW5pY29kZTwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlRGVidWdMaWJyYXJpZXM+ZmFsc2U8L1VzZURlYnVnTGlicmFyaWVzPgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgogICAgIDxDaGFyYWN0ZXJTZXQ+VW5pY29kZTwvQ2hhcmFjdGVyU2V0PgogICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgogICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblNldHRpbmdzIj4KICAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPgorICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+CiAgICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJkZWJ1Zy5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJkZWJ1Zy5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgogICA8L0ltcG9ydEdyb3VwPgogICA8UHJvcGVydHlHcm91cCBMYWJlbD0iVXNlck1hY3JvcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPgotICAgIDxMaW5rSW5jcmVtZW50YWw+dHJ1ZTwvTGlua0luY3JlbWVudGFsPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+Ci0gICAgPExpbmtJbmNyZW1lbnRhbD50cnVlPC9MaW5rSW5jcmVtZW50YWw+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+Ci0gICAgPExpbmtJbmNyZW1lbnRhbD5mYWxzZTwvTGlua0luY3JlbWVudGFsPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4KLSAgICA8TGlua0luY3JlbWVudGFsPmZhbHNlPC9MaW5rSW5jcmVtZW50YWw+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPgorICA8SXRlbURlZmluaXRpb25Hcm91cD4KICAgICA8Q2xDb21waWxlPgotICAgICAgPFByZWNvbXBpbGVkSGVhZGVyPgotICAgICAgPC9QcmVjb21waWxlZEhlYWRlcj4KLSAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+Ci0gICAgICA8T3B0aW1pemF0aW9uPkRpc2FibGVkPC9PcHRpbWl6YXRpb24+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7X0RFQlVHO19DT05TT0xFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fQ09OU09MRTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CiAgICAgPC9DbENvbXBpbGU+CiAgICAgPExpbms+CiAgICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KLSAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPgogICAgIDwvTGluaz4KLSAgICA8UG9zdEJ1aWxkRXZlbnQ+Ci0gICAgICA8Q29tbWFuZD4kKFRhcmdldFBhdGgpIC4uXExpYlxpbXBvcnRsaWJcX2Jvb3RzdHJhcC5weSAuLlxQeXRob25caW1wb3J0bGliLmg8L0NvbW1hbmQ+Ci0gICAgPC9Qb3N0QnVpbGRFdmVudD4KLSAgICA8UG9zdEJ1aWxkRXZlbnQ+Ci0gICAgICA8TWVzc2FnZT5jcmVhdGluZyBpbXBvcnRsaWIuaDwvTWVzc2FnZT4KLSAgICA8L1Bvc3RCdWlsZEV2ZW50PgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxQcmVjb21waWxlZEhlYWRlcj4KLSAgICAgIDwvUHJlY29tcGlsZWRIZWFkZXI+Ci0gICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgotICAgICAgPE9wdGltaXphdGlvbj5EaXNhYmxlZDwvT3B0aW1pemF0aW9uPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO19ERUJVRztfQ09OU09MRTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KLSAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPgotICAgIDwvTGluaz4KLSAgICA8UG9zdEJ1aWxkRXZlbnQ+Ci0gICAgICA8Q29tbWFuZD4kKFRhcmdldFBhdGgpIC4uXExpYlxpbXBvcnRsaWJcX2Jvb3RzdHJhcC5weSAuLlxQeXRob25caW1wb3J0bGliLmg8L0NvbW1hbmQ+Ci0gICAgPC9Qb3N0QnVpbGRFdmVudD4KLSAgICA8UG9zdEJ1aWxkRXZlbnQ+Ci0gICAgICA8TWVzc2FnZT5jcmVhdGluZyBpbXBvcnRsaWIuaDwvTWVzc2FnZT4KLSAgICA8L1Bvc3RCdWlsZEV2ZW50PgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgotICAgICAgPFByZWNvbXBpbGVkSGVhZGVyPgotICAgICAgPC9QcmVjb21waWxlZEhlYWRlcj4KLSAgICAgIDxPcHRpbWl6YXRpb24+TWF4U3BlZWQ8L09wdGltaXphdGlvbj4KLSAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KLSAgICAgIDxJbnRyaW5zaWNGdW5jdGlvbnM+dHJ1ZTwvSW50cmluc2ljRnVuY3Rpb25zPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO05ERUJVRztfQ09OU09MRTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KLSAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPgotICAgICAgPEVuYWJsZUNPTURBVEZvbGRpbmc+dHJ1ZTwvRW5hYmxlQ09NREFURm9sZGluZz4KLSAgICAgIDxPcHRpbWl6ZVJlZmVyZW5jZXM+dHJ1ZTwvT3B0aW1pemVSZWZlcmVuY2VzPgotICAgIDwvTGluaz4KLSAgICA8UG9zdEJ1aWxkRXZlbnQ+Ci0gICAgICA8Q29tbWFuZD4kKFRhcmdldFBhdGgpIC4uXExpYlxpbXBvcnRsaWJcX2Jvb3RzdHJhcC5weSAuLlxQeXRob25caW1wb3J0bGliLmg8L0NvbW1hbmQ+Ci0gICAgPC9Qb3N0QnVpbGRFdmVudD4KLSAgICA8UG9zdEJ1aWxkRXZlbnQ+Ci0gICAgICA8TWVzc2FnZT5jcmVhdGluZyBpbXBvcnRsaWIuaDwvTWVzc2FnZT4KLSAgICA8L1Bvc3RCdWlsZEV2ZW50PgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KLSAgICAgIDxQcmVjb21waWxlZEhlYWRlcj4KLSAgICAgIDwvUHJlY29tcGlsZWRIZWFkZXI+Ci0gICAgICA8T3B0aW1pemF0aW9uPk1heFNwZWVkPC9PcHRpbWl6YXRpb24+Ci0gICAgICA8RnVuY3Rpb25MZXZlbExpbmtpbmc+dHJ1ZTwvRnVuY3Rpb25MZXZlbExpbmtpbmc+Ci0gICAgICA8SW50cmluc2ljRnVuY3Rpb25zPnRydWU8L0ludHJpbnNpY0Z1bmN0aW9ucz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtOREVCVUc7X0NPTlNPTEU7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+Ci0gICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4KLSAgICAgIDxFbmFibGVDT01EQVRGb2xkaW5nPnRydWU8L0VuYWJsZUNPTURBVEZvbGRpbmc+Ci0gICAgICA8T3B0aW1pemVSZWZlcmVuY2VzPnRydWU8L09wdGltaXplUmVmZXJlbmNlcz4KLSAgICA8L0xpbms+Ci0gICAgPFBvc3RCdWlsZEV2ZW50PgotICAgICAgPENvbW1hbmQ+JChUYXJnZXRQYXRoKSAuLlxMaWJcaW1wb3J0bGliXF9ib290c3RyYXAucHkgLi5cUHl0aG9uXGltcG9ydGxpYi5oPC9Db21tYW5kPgotICAgIDwvUG9zdEJ1aWxkRXZlbnQ+Ci0gICAgPFBvc3RCdWlsZEV2ZW50PgotICAgICAgPE1lc3NhZ2U+Y3JlYXRpbmcgaW1wb3J0bGliLmg8L01lc3NhZ2U+Ci0gICAgPC9Qb3N0QnVpbGRFdmVudD4KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgogICA8SXRlbUdyb3VwPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cTW9kdWxlc1xfZnJlZXplX2ltcG9ydGxpYi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cUHJvZ3JhbXNcX2ZyZWV6ZV9pbXBvcnRsaWIuYyIgLz4KICAgPC9JdGVtR3JvdXA+CiAgIDxJdGVtR3JvdXA+CiAgICAgPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0icHl0aG9uY29yZS52Y3hwcm9qIj4KQEAgLTE4NSw0ICs4MSwyNiBAQAogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC50YXJnZXRzIiAvPgogICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblRhcmdldHMiPgogICA8L0ltcG9ydEdyb3VwPgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKyAgPFRhcmdldCBOYW1lPSJSZWJ1aWxkSW1wb3J0TGliIiBBZnRlclRhcmdldHM9IkFmdGVyQnVpbGQiIENvbmRpdGlvbj0iJChDb25maWd1cmF0aW9uKSA9PSAnRGVidWcnIG9yICQoQ29uZmlndXJhdGlvbikgPT0gJ1JlbGVhc2UnIj4KKyAgICA8RXhlYyBDb21tYW5kPSciJChUYXJnZXRQYXRoKSIgIiQoUHlTb3VyY2VQYXRoKUxpYlxpbXBvcnRsaWJcX2Jvb3RzdHJhcC5weSIgIiQoSW50RGlyKWltcG9ydGxpYi5nLmgiJyAvPgorICAgIAorICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgPF9PbGRDb250ZW50IENvbmRpdGlvbj0iRXhpc3RzKCckKFB5U291cmNlUGF0aClQeXRob25caW1wb3J0bGliLmgnKSI+JChbU3lzdGVtLklPLkZpbGVdOjpSZWFkQWxsVGV4dCgnJChQeVNvdXJjZVBhdGgpUHl0aG9uXGltcG9ydGxpYi5oJykpPC9fT2xkQ29udGVudD4KKyAgICAgIDxfTmV3Q29udGVudCBDb25kaXRpb249IkV4aXN0cygnJChJbnREaXIpaW1wb3J0bGliLmcuaCcpIj4kKFtTeXN0ZW0uSU8uRmlsZV06OlJlYWRBbGxUZXh0KCckKEludERpcilpbXBvcnRsaWIuZy5oJykpPC9fTmV3Q29udGVudD4KKyAgICA8L1Byb3BlcnR5R3JvdXA+CisgICAgCisgICAgPENvcHkgU291cmNlRmlsZXM9IiQoSW50RGlyKWltcG9ydGxpYi5nLmgiCisgICAgICAgICAgRGVzdGluYXRpb25GaWxlcz0iJChQeVNvdXJjZVBhdGgpUHl0aG9uXGltcG9ydGxpYi5oIgorICAgICAgICAgIENvbmRpdGlvbj0iRXhpc3RzKCckKEludERpcilpbXBvcnRsaWIuZy5oJykgYW5kICckKF9PbGRDb250ZW50KScgIT0gJyQoX05ld0NvbnRlbnQpJyIgLz4KKyAgICAKKyAgICA8V2FybmluZyBUZXh0PSJpbXBvcnRsaWIuaCBoYXMgYmVlbiB1cGRhdGVkLiBZb3Ugd2lsbCBuZWVkIHRvIHJlYnVpbGQgcHl0aG9uY29yZSB0byBzZWUgdGhlIGNoYW5nZXMuIgorICAgICAgICAgICAgIENvbmRpdGlvbj0iRXhpc3RzKCckKEludERpcilpbXBvcnRsaWIuZy5oJykgYW5kICckKF9PbGRDb250ZW50KScgIT0gJyQoX05ld0NvbnRlbnQpJyBhbmQgJChDb25maWd1cmF0aW9uKSA9PSAnRGVidWcnIiAvPgorICAgIDxFcnJvciBUZXh0PSJpbXBvcnRsaWIuaCBoYXMgYmVlbiB1cGRhdGVkLiBZb3Ugd2lsbCBuZWVkIHRvIHJlYnVpbGQgcHl0aG9uY29yZSB0byBzZWUgdGhlIGNoYW5nZXMuIgorICAgICAgICAgICBDb25kaXRpb249IkV4aXN0cygnJChJbnREaXIpaW1wb3J0bGliLmcuaCcpIGFuZCAnJChfT2xkQ29udGVudCknICE9ICckKF9OZXdDb250ZW50KScgYW5kICQoQ29uZmlndXJhdGlvbikgPT0gJ1JlbGVhc2UnIiAvPgorICA8L1RhcmdldD4KKyAgPFRhcmdldCBOYW1lPSJfQ2xlYW5JbXBvcnRMaWIiIEJlZm9yZVRhcmdldHM9IkNvcmVDbGVhbiI+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgIDxDbGVhbiBJbmNsdWRlPSIkKEludERpcilpbXBvcnRsaWIuZy5oIiAvPgorICAgIDwvSXRlbUdyb3VwPgorICA8L1RhcmdldD4KKzwvUHJvamVjdD4KZGlmZiAtLWdpdCBhL1BDYnVpbGQvX2ZyZWV6ZV9pbXBvcnRsaWIudmN4cHJvai5maWx0ZXJzIGIvUENidWlsZC9fZnJlZXplX2ltcG9ydGxpYi52Y3hwcm9qLmZpbHRlcnMKaW5kZXggNTBlYzE5My4uY2NhZDA1MyAxMDA2NDQKLS0tIGEvUENidWlsZC9fZnJlZXplX2ltcG9ydGxpYi52Y3hwcm9qLmZpbHRlcnMKKysrIGIvUENidWlsZC9fZnJlZXplX2ltcG9ydGxpYi52Y3hwcm9qLmZpbHRlcnMKQEAgLTE1LDcgKzE1LDcgQEAKICAgICA8L0ZpbHRlcj4KICAgPC9JdGVtR3JvdXA+CiAgIDxJdGVtR3JvdXA+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxNb2R1bGVzXF9mcmVlemVfaW1wb3J0bGliLmMiPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cUHJvZ3JhbXNcX2ZyZWV6ZV9pbXBvcnRsaWIuYyI+CiAgICAgICA8RmlsdGVyPlNvdXJjZSBGaWxlczwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgogICA8L0l0ZW1Hcm91cD4KQEAgLTI0LDQgKzI0LDQgQEAKICAgICAgIDxGaWx0ZXI+U291cmNlIEZpbGVzPC9GaWx0ZXI+CiAgICAgPC9Ob25lPgogICA8L0l0ZW1Hcm91cD4KLTwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L1Byb2plY3Q+CmRpZmYgLS1naXQgYS9QQ2J1aWxkL19oYXNobGliLnZjeHByb2ogYi9QQ2J1aWxkL19oYXNobGliLnZjeHByb2oKaW5kZXggNTI0MzNlZC4uZDgyYjI2NiAxMDA2NDQKLS0tIGEvUENidWlsZC9faGFzaGxpYi52Y3hwcm9qCisrKyBiL1BDYnVpbGQvX2hhc2hsaWIudmN4cHJvagpAQCAtMzksMjM5ICszOSw0NyBAQAogICAgIDxSb290TmFtZXNwYWNlPl9oYXNobGliPC9Sb290TmFtZXNwYWNlPgogICAgIDxLZXl3b3JkPldpbjMyUHJvajwvS2V5d29yZD4KICAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9InB5dGhvbi5wcm9wcyIgLz4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIj4KICAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgogICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+CiAgIDwvUHJvcGVydHlHcm91cD4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxUYXJnZXRFeHQ+LnB5ZDwvVGFyZ2V0RXh0PgorICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uU2V0dGluZ3MiPgogICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgogICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBnaW5zdHJ1bWVudC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkX2QucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGd1cGRhdGUucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBnaW5zdHJ1bWVudC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWRfZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KKyAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KICAgPC9JbXBvcnRHcm91cD4KICAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNyb3MiIC8+CiAgIDxQcm9wZXJ0eUdyb3VwPgogICAgIDxfUHJvamVjdEZpbGVWZXJzaW9uPjEwLjAuMzAzMTkuMTwvX1Byb2plY3RGaWxlVmVyc2lvbj4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+CiAgIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPgorICA8SXRlbURlZmluaXRpb25Hcm91cD4KICAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChvcGVuc3NsRGlyKVxpbmMzMjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChvcGVuc3NsRGlyKWluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8UHJlTGlua0V2ZW50PgotICAgICAgPENvbW1hbmQ+Ci0gICAgICA8L0NvbW1hbmQ+Ci0gICAgPC9QcmVMaW5rRXZlbnQ+CiAgICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliOyQob3BlbnNzbERpcilcb3V0MzJcbGliZWF5MzIubGliOyQob3BlbnNzbERpcilcb3V0MzJcc3NsZWF5MzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQob3BlbnNzbERpcilcaW5jNjQ7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8UHJlTGlua0V2ZW50PgotICAgICAgPENvbW1hbmQ+Ci0gICAgICA8L0NvbW1hbmQ+Ci0gICAgPC9QcmVMaW5rRXZlbnQ+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliOyQob3BlbnNzbERpcilcb3V0NjRcbGliZWF5MzIubGliOyQob3BlbnNzbERpcilcb3V0NjRcc3NsZWF5MzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKG9wZW5zc2xEaXIpXGluYzMyOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPFByZUxpbmtFdmVudD4KLSAgICAgIDxDb21tYW5kPgotICAgICAgPC9Db21tYW5kPgotICAgIDwvUHJlTGlua0V2ZW50PgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjskKG9wZW5zc2xEaXIpXG91dDMyXGxpYmVheTMyLmxpYjskKG9wZW5zc2xEaXIpXG91dDMyXHNzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQob3BlbnNzbERpcilcaW5jNjQ7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8UHJlTGlua0V2ZW50PgotICAgICAgPENvbW1hbmQ+Ci0gICAgICA8L0NvbW1hbmQ+Ci0gICAgPC9QcmVMaW5rRXZlbnQ+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliOyQob3BlbnNzbERpcilcb3V0NjRcbGliZWF5MzIubGliOyQob3BlbnNzbERpcilcb3V0NjRcc3NsZWF5MzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQob3BlbnNzbERpcilcaW5jMzI7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8UHJlTGlua0V2ZW50PgotICAgICAgPENvbW1hbmQ+Ci0gICAgICA8L0NvbW1hbmQ+Ci0gICAgPC9QcmVMaW5rRXZlbnQ+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliOyQob3BlbnNzbERpcilcb3V0MzJcbGliZWF5MzIubGliOyQob3BlbnNzbERpcilcb3V0MzJcc3NsZWF5MzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKG9wZW5zc2xEaXIpXGluYzY0OyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPFByZUxpbmtFdmVudD4KLSAgICAgIDxDb21tYW5kPgotICAgICAgPC9Db21tYW5kPgotICAgIDwvUHJlTGlua0V2ZW50PgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjskKG9wZW5zc2xEaXIpXG91dDY0XGxpYmVheTMyLmxpYjskKG9wZW5zc2xEaXIpXG91dDY0XHNzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKG9wZW5zc2xEaXIpXGluYzMyOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPFByZUxpbmtFdmVudD4KLSAgICAgIDxDb21tYW5kPgotICAgICAgPC9Db21tYW5kPgotICAgIDwvUHJlTGlua0V2ZW50PgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjskKG9wZW5zc2xEaXIpXG91dDMyXGxpYmVheTMyLmxpYjskKG9wZW5zc2xEaXIpXG91dDMyXHNzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKG9wZW5zc2xEaXIpXGluYzY0OyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPFByZUxpbmtFdmVudD4KLSAgICAgIDxDb21tYW5kPgotICAgICAgPC9Db21tYW5kPgotICAgIDwvUHJlTGlua0V2ZW50PgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjskKG9wZW5zc2xEaXIpXG91dDY0XGxpYmVheTMyLmxpYjskKG9wZW5zc2xEaXIpXG91dDY0XHNzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7JChPdXREaXIpbGliZWF5JChQeURlYnVnRXh0KS5saWI7JChPdXREaXIpc3NsZWF5JChQeURlYnVnRXh0KS5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KICAgICA8L0xpbms+CiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KICAgPEl0ZW1Hcm91cD4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcX2hhc2hvcGVuc3NsLmMiIC8+CiAgIDwvSXRlbUdyb3VwPgogICA8SXRlbUdyb3VwPgotICAgIDxQcm9qZWN0UmVmZXJlbmNlIEluY2x1ZGU9InB5dGhvbi52Y3hwcm9qIj4KLSAgICAgIDxQcm9qZWN0PntiMTFkNzUwZi1jZDFmLTRhOTYtODVjZS1lNjlhNWM1MjU5Zjl9PC9Qcm9qZWN0PgotICAgICAgPFJlZmVyZW5jZU91dHB1dEFzc2VtYmx5PmZhbHNlPC9SZWZlcmVuY2VPdXRwdXRBc3NlbWJseT4KLSAgICA8L1Byb2plY3RSZWZlcmVuY2U+CiAgICAgPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0icHl0aG9uY29yZS52Y3hwcm9qIj4KICAgICAgIDxQcm9qZWN0PntjZjdhYzNkMS1lMmRmLTQxZDItYmVhNi0xZTI1NTZjZGVhMjZ9PC9Qcm9qZWN0PgogICAgICAgPFJlZmVyZW5jZU91dHB1dEFzc2VtYmx5PmZhbHNlPC9SZWZlcmVuY2VPdXRwdXRBc3NlbWJseT4KICAgICA8L1Byb2plY3RSZWZlcmVuY2U+Ci0gICAgPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0ic3NsLnZjeHByb2oiPgorICAgIDxQcm9qZWN0UmVmZXJlbmNlIEluY2x1ZGU9InNzbGVheS52Y3hwcm9qIj4KKyAgICAgIDxQcm9qZWN0PnsxMDYxNWIyNC03M2JmLTRlZmEtOTNhYS0yMzY5MTYzMjEzMTd9PC9Qcm9qZWN0PgorICAgICAgPFJlZmVyZW5jZU91dHB1dEFzc2VtYmx5PmZhbHNlPC9SZWZlcmVuY2VPdXRwdXRBc3NlbWJseT4KKyAgICA8L1Byb2plY3RSZWZlcmVuY2U+CisgICAgPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0ibGliZWF5LnZjeHByb2oiPgogICAgICAgPFByb2plY3Q+e2U1YjA0Y2MwLWViNGMtNDJhYi1iNGRjLTE4ZWY5NWY4NjRiMH08L1Byb2plY3Q+CiAgICAgICA8UmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+ZmFsc2U8L1JlZmVyZW5jZU91dHB1dEFzc2VtYmx5PgogICAgIDwvUHJvamVjdFJlZmVyZW5jZT4KZGlmZiAtLWdpdCBhL1BDYnVpbGQvX2x6bWEudmN4cHJvaiBiL1BDYnVpbGQvX2x6bWEudmN4cHJvagppbmRleCBhYzI1YzgwLi5hZjUwNDk0IDEwMDY0NAotLS0gYS9QQ2J1aWxkL19sem1hLnZjeHByb2oKKysrIGIvUENidWlsZC9fbHptYS52Y3hwcm9qCkBAIC0zOSwyMDAgKzM5LDM1IEBACiAgICAgPFJvb3ROYW1lc3BhY2U+bHptYTwvUm9vdE5hbWVzcGFjZT4KICAgICA8S2V5d29yZD5XaW4zMlByb2o8L0tleXdvcmQ+CiAgIDwvUHJvcGVydHlHcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSJweXRob24ucHJvcHMiIC8+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CiAgICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KICAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgogICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8VGFyZ2V0RXh0Pi5weWQ8L1RhcmdldEV4dD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgogICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblNldHRpbmdzIj4KICAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZF9kLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkX2QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+CisgICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+CiAgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiAvPgogICA8UHJvcGVydHlHcm91cD4KICAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjMwMzE5LjE8L19Qcm9qZWN0RmlsZVZlcnNpb24+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgogICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+CiAgICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQobHptYURpcilcaW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChsem1hRGlyKWluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KICAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtfRklMRV9PRkZTRVRfQklUUz02NDtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtMWk1BX0FQSV9TVEFUSUM7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgogICAgIDwvQ2xDb21waWxlPgogICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JChsem1hRGlyKVxiaW5faTQ4NlxsaWJsem1hLmE7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChsem1hRGlyKVxpbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7X0ZJTEVfT0ZGU0VUX0JJVFM9NjQ7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7TFpNQV9BUElfU1RBVElDOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiQobHptYURpcilcYmluX3g4Ni02NFxsaWJsem1hLmE7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQobHptYURpcilcaW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO19GSUxFX09GRlNFVF9CSVRTPTY0O19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO0xaTUFfQVBJX1NUQVRJQzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4kKGx6bWFEaXIpXGJpbl9pNDg2XGxpYmx6bWEuYTslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQobHptYURpcilcaW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO19GSUxFX09GRlNFVF9CSVRTPTY0O19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO0xaTUFfQVBJX1NUQVRJQzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4kKGx6bWFEaXIpXGJpbl94ODYtNjRcbGlibHptYS5hOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQobHptYURpcilcaW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO19GSUxFX09GRlNFVF9CSVRTPTY0O19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO0xaTUFfQVBJX1NUQVRJQzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4kKGx6bWFEaXIpXGJpbl9pNDg2XGxpYmx6bWEuYTslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChsem1hRGlyKVxpbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7X0ZJTEVfT0ZGU0VUX0JJVFM9NjQ7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7TFpNQV9BUElfU1RBVElDOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiQobHptYURpcilcYmluX3g4Ni02NFxsaWJsem1hLmE7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChsem1hRGlyKVxpbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7X0ZJTEVfT0ZGU0VUX0JJVFM9NjQ7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7TFpNQV9BUElfU1RBVElDOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiQobHptYURpcilcYmluX2k0ODZcbGlibHptYS5hOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQobHptYURpcilcaW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO19GSUxFX09GRlNFVF9CSVRTPTY0O19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO0xaTUFfQVBJX1NUQVRJQzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4kKGx6bWFEaXIpXGJpbl94ODYtNjRcbGlibHptYS5hOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknID09ICdXaW4zMiciPiQobHptYURpcilcYmluX2k0ODZcbGlibHptYS5hOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+CisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcyBDb25kaXRpb249IickKFBsYXRmb3JtKScgPT0gJ3g2NCciPiQobHptYURpcilcYmluX3g4Ni02NFxsaWJsem1hLmE7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KKyAgICAgIDxJbWFnZUhhc1NhZmVFeGNlcHRpb25IYW5kbGVycz5mYWxzZTwvSW1hZ2VIYXNTYWZlRXhjZXB0aW9uSGFuZGxlcnM+CiAgICAgPC9MaW5rPgogICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CiAgIDxJdGVtR3JvdXA+CmRpZmYgLS1naXQgYS9QQ2J1aWxkL19tc2kudmN4cHJvaiBiL1BDYnVpbGQvX21zaS52Y3hwcm9qCmluZGV4IDEzMjNkMTYuLmY1YmE3YmYgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQvX21zaS52Y3hwcm9qCisrKyBiL1BDYnVpbGQvX21zaS52Y3hwcm9qCkBAIC0zOSwxNzggKzM5LDMyIEBACiAgICAgPFJvb3ROYW1lc3BhY2U+X21zaTwvUm9vdE5hbWVzcGFjZT4KICAgICA8S2V5d29yZD5XaW4zMlByb2o8L0tleXdvcmQ+CiAgIDwvUHJvcGVydHlHcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSJweXRob24ucHJvcHMiIC8+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CiAgICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KICAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgogICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8VGFyZ2V0RXh0Pi5weWQ8L1RhcmdldEV4dD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgogICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblNldHRpbmdzIj4KICAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZF9kLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkX2QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+CisgICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+CiAgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiAvPgogICA8UHJvcGVydHlHcm91cD4KICAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjMwMzE5LjE8L19Qcm9qZWN0RmlsZVZlcnNpb24+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgogICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+CiAgICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5mY2kubGliO21zaS5saWI7cnBjcnQ0LmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Y2FiaW5ldC5saWI7bXNpLmxpYjtycGNydDQubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+CiAgICAgICA8QmFzZUFkZHJlc3M+MHgxRDE2MDAwMDwvQmFzZUFkZHJlc3M+CiAgICAgPC9MaW5rPgogICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5mY2kubGliO21zaS5saWI7cnBjcnQ0LmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxNjAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPmZjaS5saWI7bXNpLmxpYjtycGNydDQubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDE2MDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPmZjaS5saWI7bXNpLmxpYjtycGNydDQubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDE2MDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5mY2kubGliO21zaS5saWI7cnBjcnQ0LmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxNjAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPmZjaS5saWI7bXNpLmxpYjtycGNydDQubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDE2MDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5mY2kubGliO21zaS5saWI7cnBjcnQ0LmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxNjAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+ZmNpLmxpYjttc2kubGliO3JwY3J0NC5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTYwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CiAgIDxJdGVtR3JvdXA+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxQQ1xfbXNpLmMiIC8+CiAgIDwvSXRlbUdyb3VwPgpkaWZmIC0tZ2l0IGEvUENidWlsZC9fbXVsdGlwcm9jZXNzaW5nLnZjeHByb2ogYi9QQ2J1aWxkL19tdWx0aXByb2Nlc3NpbmcudmN4cHJvagppbmRleCBiNGJiNTY4Li4xZWI5MmI2IDEwMDY0NAotLS0gYS9QQ2J1aWxkL19tdWx0aXByb2Nlc3NpbmcudmN4cHJvagorKysgYi9QQ2J1aWxkL19tdWx0aXByb2Nlc3NpbmcudmN4cHJvagpAQCAtMzksMTc4ICszOSwzMiBAQAogICAgIDxSb290TmFtZXNwYWNlPl9tdWx0aXByb2Nlc3Npbmc8L1Jvb3ROYW1lc3BhY2U+CiAgICAgPEtleXdvcmQ+V2luMzJQcm9qPC9LZXl3b3JkPgogICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0icHl0aG9uLnByb3BzIiAvPgogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgogICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+CiAgICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KICAgPC9Qcm9wZXJ0eUdyb3VwPgogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KKyAgPFByb3BlcnR5R3JvdXA+CisgICAgPFRhcmdldEV4dD4ucHlkPC9UYXJnZXRFeHQ+CisgIDwvUHJvcGVydHlHcm91cD4KICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25TZXR0aW5ncyI+CiAgIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KKyAgPEltcG9ydEdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGd1cGRhdGUucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGdpbnN0cnVtZW50LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWRfZC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGdpbnN0cnVtZW50LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZF9kLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgorICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgogICA8L0ltcG9ydEdyb3VwPgogICA8UHJvcGVydHlHcm91cCBMYWJlbD0iVXNlck1hY3JvcyIgLz4KICAgPFByb3BlcnR5R3JvdXA+CiAgICAgPF9Qcm9qZWN0RmlsZVZlcnNpb24+MTAuMC4zMDMxOS4xPC9fUHJvamVjdEZpbGVWZXJzaW9uPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KICAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgogICAgIDxMaW5rPgogICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgogICAgICAgPEJhc2VBZGRyZXNzPjB4MWUxRDAwMDA8L0Jhc2VBZGRyZXNzPgogICAgIDwvTGluaz4KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWUxRDAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFlMUQwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWUxRDAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWUxRDAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFlMUQwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFlMUQwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFlMUQwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CiAgIDxJdGVtR3JvdXA+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxNb2R1bGVzXF9tdWx0aXByb2Nlc3NpbmdcbXVsdGlwcm9jZXNzaW5nLmgiIC8+CiAgIDwvSXRlbUdyb3VwPgpkaWZmIC0tZ2l0IGEvUENidWlsZC9fb3ZlcmxhcHBlZC52Y3hwcm9qIGIvUENidWlsZC9fb3ZlcmxhcHBlZC52Y3hwcm9qCmluZGV4IGQwZWU3MmYuLjU1MzAxZWEgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQvX292ZXJsYXBwZWQudmN4cHJvagorKysgYi9QQ2J1aWxkL19vdmVybGFwcGVkLnZjeHByb2oKQEAgLTM5LDE4NiArMzksMzIgQEAKICAgICA8Um9vdE5hbWVzcGFjZT5fb3ZlcmxhcHBlZDwvUm9vdE5hbWVzcGFjZT4KICAgICA8S2V5d29yZD5XaW4zMlByb2o8L0tleXdvcmQ+CiAgIDwvUHJvcGVydHlHcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSJweXRob24ucHJvcHMiIC8+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CiAgICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KICAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgogICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8VGFyZ2V0RXh0Pi5weWQ8L1RhcmdldEV4dD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgogICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblNldHRpbmdzIj4KICAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZF9kLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkX2QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+CisgICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+CiAgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiAvPgogICA8UHJvcGVydHlHcm91cD4KICAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjMwMzE5LjE8L19Qcm9qZWN0RmlsZVZlcnNpb24+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgogICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+CiAgICAgPExpbms+CiAgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8SWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPmxpYmM7JShJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXMpPC9JZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+CiAgICAgICA8QmFzZUFkZHJlc3M+MHgxRDExMDAwMDwvQmFzZUFkZHJlc3M+CiAgICAgPC9MaW5rPgogICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8SWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPmxpYmM7JShJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXMpPC9JZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDExMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz5saWJjOyUoSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzKTwvSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxMTAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8SWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPmxpYmM7JShJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXMpPC9JZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDExMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8SWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPmxpYmM7JShJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXMpPC9JZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDExMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz5saWJjOyUoSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzKTwvSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxMTAwMDA8L0Jhc2VBZGRyZXNzPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz5saWJjOyUoSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzKTwvSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxMTAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz5saWJjOyUoSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzKTwvSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxMTAwMDA8L0Jhc2VBZGRyZXNzPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KICAgPEl0ZW1Hcm91cD4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcb3ZlcmxhcHBlZC5jIiAvPgogICA8L0l0ZW1Hcm91cD4KZGlmZiAtLWdpdCBhL1BDYnVpbGQvX3NvY2tldC52Y3hwcm9qIGIvUENidWlsZC9fc29ja2V0LnZjeHByb2oKaW5kZXggNjM4MzZlOS4uMDNiNmY3NSAxMDA2NDQKLS0tIGEvUENidWlsZC9fc29ja2V0LnZjeHByb2oKKysrIGIvUENidWlsZC9fc29ja2V0LnZjeHByb2oKQEAgLTM5LDE3OCArMzksMzIgQEAKICAgICA8Um9vdE5hbWVzcGFjZT5fc29ja2V0PC9Sb290TmFtZXNwYWNlPgogICAgIDxLZXl3b3JkPldpbjMyUHJvajwvS2V5d29yZD4KICAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9InB5dGhvbi5wcm9wcyIgLz4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIj4KICAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgogICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+CiAgIDwvUHJvcGVydHlHcm91cD4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxUYXJnZXRFeHQ+LnB5ZDwvVGFyZ2V0RXh0PgorICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uU2V0dGluZ3MiPgogICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgogICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBnaW5zdHJ1bWVudC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkX2QucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGd1cGRhdGUucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBnaW5zdHJ1bWVudC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWRfZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KKyAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KICAgPC9JbXBvcnRHcm91cD4KICAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNyb3MiIC8+CiAgIDxQcm9wZXJ0eUdyb3VwPgogICAgIDxfUHJvamVjdEZpbGVWZXJzaW9uPjEwLjAuMzAzMTkuMTwvX1Byb2plY3RGaWxlVmVyc2lvbj4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+CiAgIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPgorICA8SXRlbURlZmluaXRpb25Hcm91cD4KICAgICA8TGluaz4KICAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KICAgICAgIDxCYXNlQWRkcmVzcz4weDFlMUQwMDAwPC9CYXNlQWRkcmVzcz4KICAgICA8L0xpbms+CiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFlMUQwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZTFEMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFlMUQwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFlMUQwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZTFEMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZTFEMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZTFEMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgogICA8SXRlbUdyb3VwPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cTW9kdWxlc1xzb2NrZXRtb2R1bGUuaCIgLz4KICAgPC9JdGVtR3JvdXA+CmRpZmYgLS1naXQgYS9QQ2J1aWxkL19zcWxpdGUzLnZjeHByb2ogYi9QQ2J1aWxkL19zcWxpdGUzLnZjeHByb2oKaW5kZXggZWQzNWQ1Yi4uNWU4ODlkMCAxMDA2NDQKLS0tIGEvUENidWlsZC9fc3FsaXRlMy52Y3hwcm9qCisrKyBiL1BDYnVpbGQvX3NxbGl0ZTMudmN4cHJvagpAQCAtMzksMTE3ICszOSwyNyBAQAogICAgIDxSb290TmFtZXNwYWNlPl9zcWxpdGUzPC9Sb290TmFtZXNwYWNlPgogICAgIDxLZXl3b3JkPldpbjMyUHJvajwvS2V5d29yZD4KICAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9InB5dGhvbi5wcm9wcyIgLz4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIj4KICAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgogICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+CiAgIDwvUHJvcGVydHlHcm91cD4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxUYXJnZXRFeHQ+LnB5ZDwvVGFyZ2V0RXh0PgorICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uU2V0dGluZ3MiPgogICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgogICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBnaW5zdHJ1bWVudC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkX2QucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGd1cGRhdGUucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBnaW5zdHJ1bWVudC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWRfZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KKyAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KICAgPC9JbXBvcnRHcm91cD4KICAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNyb3MiIC8+CiAgIDxQcm9wZXJ0eUdyb3VwPgogICAgIDxfUHJvamVjdEZpbGVWZXJzaW9uPjEwLjAuMzAzMTkuMTwvX1Byb2plY3RGaWxlVmVyc2lvbj4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+CiAgIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPgorICA8SXRlbURlZmluaXRpb25Hcm91cD4KICAgICA8Q2xDb21waWxlPgogICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChzcWxpdGUzRGlyKTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgogICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPk1PRFVMRV9OQU1FPSJzcWxpdGUzIjslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CkBAIC0xNTgsODMgKzY4LDYgQEAKICAgICAgIDxCYXNlQWRkcmVzcz4weDFlMTgwMDAwPC9CYXNlQWRkcmVzcz4KICAgICA8L0xpbms+CiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChzcWxpdGUzRGlyKTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPk1PRFVMRV9OQU1FPSJzcWxpdGUzIjslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZTE4MDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKHNxbGl0ZTNEaXIpOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+TU9EVUxFX05BTUU9InNxbGl0ZTMiOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFlMTgwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKHNxbGl0ZTNEaXIpOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+TU9EVUxFX05BTUU9InNxbGl0ZTMiOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFlMTgwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChzcWxpdGUzRGlyKTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPk1PRFVMRV9OQU1FPSJzcWxpdGUzIjslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZTE4MDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKHNxbGl0ZTNEaXIpOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+TU9EVUxFX05BTUU9InNxbGl0ZTMiOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFlMTgwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChzcWxpdGUzRGlyKTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPk1PRFVMRV9OQU1FPSJzcWxpdGUzIjslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZTE4MDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQoc3FsaXRlM0Rpcik7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5NT0RVTEVfTkFNRT0ic3FsaXRlMyI7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWUxODAwMDA8L0Jhc2VBZGRyZXNzPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KICAgPEl0ZW1Hcm91cD4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcX3NxbGl0ZVxjYWNoZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cTW9kdWxlc1xfc3FsaXRlXGNvbm5lY3Rpb24uaCIgLz4KZGlmZiAtLWdpdCBhL1BDYnVpbGQvX3NzbC52Y3hwcm9qIGIvUENidWlsZC9fc3NsLnZjeHByb2oKaW5kZXggNzM3ODc5NC4uODU5NGEwNiAxMDA2NDQKLS0tIGEvUENidWlsZC9fc3NsLnZjeHByb2oKKysrIGIvUENidWlsZC9fc3NsLnZjeHByb2oKQEAgLTM5LDI0MiArMzksNTAgQEAKICAgICA8Um9vdE5hbWVzcGFjZT5fc3NsPC9Sb290TmFtZXNwYWNlPgogICAgIDxLZXl3b3JkPldpbjMyUHJvajwvS2V5d29yZD4KICAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9InB5dGhvbi5wcm9wcyIgLz4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIj4KICAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgogICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+CiAgIDwvUHJvcGVydHlHcm91cD4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxUYXJnZXRFeHQ+LnB5ZDwvVGFyZ2V0RXh0PgorICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uU2V0dGluZ3MiPgogICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgogICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBnaW5zdHJ1bWVudC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkX2QucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGd1cGRhdGUucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBnaW5zdHJ1bWVudC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWRfZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KKyAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KICAgPC9JbXBvcnRHcm91cD4KICAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNyb3MiIC8+CiAgIDxQcm9wZXJ0eUdyb3VwPgogICAgIDxfUHJvamVjdEZpbGVWZXJzaW9uPjEwLjAuMzAzMTkuMTwvX1Byb2plY3RGaWxlVmVyc2lvbj4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+CiAgIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPgorICA8SXRlbURlZmluaXRpb25Hcm91cD4KICAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChvcGVuc3NsRGlyKVxpbmMzMjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChvcGVuc3NsRGlyKWluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8UHJlTGlua0V2ZW50PgotICAgICAgPENvbW1hbmQ+Ci0gICAgICA8L0NvbW1hbmQ+Ci0gICAgPC9QcmVMaW5rRXZlbnQ+CiAgICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliO2NyeXB0MzIubGliOyQob3BlbnNzbERpcilcb3V0MzJcbGliZWF5MzIubGliOyQob3BlbnNzbERpcilcb3V0MzJcc3NsZWF5MzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQob3BlbnNzbERpcilcaW5jNjQ7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8UHJlTGlua0V2ZW50PgotICAgICAgPENvbW1hbmQ+Ci0gICAgICA8L0NvbW1hbmQ+Ci0gICAgPC9QcmVMaW5rRXZlbnQ+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliO2NyeXB0MzIubGliOyQob3BlbnNzbERpcilcb3V0NjRcbGliZWF5MzIubGliOyQob3BlbnNzbERpcilcb3V0NjRcc3NsZWF5MzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKG9wZW5zc2xEaXIpXGluYzMyOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPFByZUxpbmtFdmVudD4KLSAgICAgIDxDb21tYW5kPgotICAgICAgPC9Db21tYW5kPgotICAgIDwvUHJlTGlua0V2ZW50PgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjtjcnlwdDMyLmxpYjskKG9wZW5zc2xEaXIpXG91dDMyXGxpYmVheTMyLmxpYjskKG9wZW5zc2xEaXIpXG91dDMyXHNzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQob3BlbnNzbERpcilcaW5jNjQ7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8UHJlTGlua0V2ZW50PgotICAgICAgPENvbW1hbmQ+Ci0gICAgICA8L0NvbW1hbmQ+Ci0gICAgPC9QcmVMaW5rRXZlbnQ+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliO2NyeXB0MzIubGliOyQob3BlbnNzbERpcilcb3V0NjRcbGliZWF5MzIubGliOyQob3BlbnNzbERpcilcb3V0NjRcc3NsZWF5MzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQob3BlbnNzbERpcilcaW5jMzI7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8UHJlTGlua0V2ZW50PgotICAgICAgPENvbW1hbmQ+Ci0gICAgICA8L0NvbW1hbmQ+Ci0gICAgPC9QcmVMaW5rRXZlbnQ+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliO2NyeXB0MzIubGliOyQob3BlbnNzbERpcilcb3V0MzJcbGliZWF5MzIubGliOyQob3BlbnNzbERpcilcb3V0MzJcc3NsZWF5MzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKG9wZW5zc2xEaXIpXGluYzY0OyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPFByZUxpbmtFdmVudD4KLSAgICAgIDxDb21tYW5kPgotICAgICAgPC9Db21tYW5kPgotICAgIDwvUHJlTGlua0V2ZW50PgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjtjcnlwdDMyLmxpYjskKG9wZW5zc2xEaXIpXG91dDY0XGxpYmVheTMyLmxpYjskKG9wZW5zc2xEaXIpXG91dDY0XHNzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKG9wZW5zc2xEaXIpXGluYzMyOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPFByZUxpbmtFdmVudD4KLSAgICAgIDxDb21tYW5kPgotICAgICAgPC9Db21tYW5kPgotICAgIDwvUHJlTGlua0V2ZW50PgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjtjcnlwdDMyLmxpYjskKG9wZW5zc2xEaXIpXG91dDMyXGxpYmVheTMyLmxpYjskKG9wZW5zc2xEaXIpXG91dDMyXHNzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKG9wZW5zc2xEaXIpXGluYzY0OyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPFByZUxpbmtFdmVudD4KLSAgICAgIDxDb21tYW5kPgotICAgICAgPC9Db21tYW5kPgotICAgIDwvUHJlTGlua0V2ZW50PgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjtjcnlwdDMyLmxpYjskKG9wZW5zc2xEaXIpXG91dDY0XGxpYmVheTMyLmxpYjskKG9wZW5zc2xEaXIpXG91dDY0XHNzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7Y3J5cHQzMi5saWI7JChPdXREaXIpbGliZWF5JChQeURlYnVnRXh0KS5saWI7JChPdXREaXIpc3NsZWF5JChQeURlYnVnRXh0KS5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KICAgICA8L0xpbms+CiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KICAgPEl0ZW1Hcm91cD4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcX3NzbC5jIiAvPgogICA8L0l0ZW1Hcm91cD4KICAgPEl0ZW1Hcm91cD4KLSAgICA8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPSJweXRob24udmN4cHJvaiI+Ci0gICAgICA8UHJvamVjdD57YjExZDc1MGYtY2QxZi00YTk2LTg1Y2UtZTY5YTVjNTI1OWY5fTwvUHJvamVjdD4KLSAgICAgIDxSZWZlcmVuY2VPdXRwdXRBc3NlbWJseT5mYWxzZTwvUmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+Ci0gICAgPC9Qcm9qZWN0UmVmZXJlbmNlPgogICAgIDxQcm9qZWN0UmVmZXJlbmNlIEluY2x1ZGU9InB5dGhvbmNvcmUudmN4cHJvaiI+CiAgICAgICA8UHJvamVjdD57Y2Y3YWMzZDEtZTJkZi00MWQyLWJlYTYtMWUyNTU2Y2RlYTI2fTwvUHJvamVjdD4KICAgICAgIDxSZWZlcmVuY2VPdXRwdXRBc3NlbWJseT5mYWxzZTwvUmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+CiAgICAgPC9Qcm9qZWN0UmVmZXJlbmNlPgotICAgIDxQcm9qZWN0UmVmZXJlbmNlIEluY2x1ZGU9InNzbC52Y3hwcm9qIj4KKyAgICA8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPSJsaWJlYXkudmN4cHJvaiI+CiAgICAgICA8UHJvamVjdD57ZTViMDRjYzAtZWI0Yy00MmFiLWI0ZGMtMThlZjk1Zjg2NGIwfTwvUHJvamVjdD4KICAgICAgIDxSZWZlcmVuY2VPdXRwdXRBc3NlbWJseT5mYWxzZTwvUmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+CiAgICAgPC9Qcm9qZWN0UmVmZXJlbmNlPgorICAgIDxQcm9qZWN0UmVmZXJlbmNlIEluY2x1ZGU9InNzbGVheS52Y3hwcm9qIj4KKyAgICAgIDxQcm9qZWN0PnsxMDYxNWIyNC03M2JmLTRlZmEtOTNhYS0yMzY5MTYzMjEzMTd9PC9Qcm9qZWN0PgorICAgICAgPFJlZmVyZW5jZU91dHB1dEFzc2VtYmx5PmZhbHNlPC9SZWZlcmVuY2VPdXRwdXRBc3NlbWJseT4KKyAgICA8L1Byb2plY3RSZWZlcmVuY2U+CiAgICAgPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0iX3NvY2tldC52Y3hwcm9qIj4KICAgICAgIDxQcm9qZWN0Pns4NjkzN2Y1My1jMTg5LTQwZWYtOGNlOC04NzU5ZDhlN2Q0ODB9PC9Qcm9qZWN0PgogICAgICAgPFJlZmVyZW5jZU91dHB1dEFzc2VtYmx5PmZhbHNlPC9SZWZlcmVuY2VPdXRwdXRBc3NlbWJseT4KZGlmZiAtLWdpdCBhL1BDYnVpbGQvX3Rlc3RidWZmZXIudmN4cHJvaiBiL1BDYnVpbGQvX3Rlc3RidWZmZXIudmN4cHJvagppbmRleCBlMTI2NWY2Li44Y2JmMTI1IDEwMDY0NAotLS0gYS9QQ2J1aWxkL190ZXN0YnVmZmVyLnZjeHByb2oKKysrIGIvUENidWlsZC9fdGVzdGJ1ZmZlci52Y3hwcm9qCkBAIC0zOCwxNzEgKzM4LDMzIEBACiAgICAgPFByb2plY3RHdWlkPntBMjY5N0JEMy0yOEMxLTRBRUMtOTEwNi04Qjc0ODYzOUZEMTZ9PC9Qcm9qZWN0R3VpZD4KICAgICA8Um9vdE5hbWVzcGFjZT5fdGVzdGJ1ZmZlcjwvUm9vdE5hbWVzcGFjZT4KICAgICA8S2V5d29yZD5XaW4zMlByb2o8L0tleXdvcmQ+CisgICAgPFN1cHBvcnRQR08+ZmFsc2U8L1N1cHBvcnRQR08+CiAgIDwvUHJvcGVydHlHcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSJweXRob24ucHJvcHMiIC8+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CiAgICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KICAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgogICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8VGFyZ2V0RXh0Pi5weWQ8L1RhcmdldEV4dD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgogICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblNldHRpbmdzIj4KICAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZF9kLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkX2QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+CisgICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+CiAgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiAvPgogICA8UHJvcGVydHlHcm91cD4KICAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjQwMjE5LjE8L19Qcm9qZWN0RmlsZVZlcnNpb24+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgogICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+CiAgICAgPExpbms+CiAgICAgICA8QmFzZUFkZHJlc3M+MHgxZTFGMDAwMDwvQmFzZUFkZHJlc3M+CiAgICAgPC9MaW5rPgogICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPExpbms+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZTFGMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPgotICAgIDxMaW5rPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWUxRjAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPExpbms+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZTFGMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+Ci0gICAgPExpbms+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZTFGMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxMaW5rPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWUxRjAwMDA8L0Jhc2VBZGRyZXNzPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPgotICAgIDxMaW5rPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWUxRjAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxMaW5rPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWUxRjAwMDA8L0Jhc2VBZGRyZXNzPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KICAgPEl0ZW1Hcm91cD4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcX3Rlc3RidWZmZXIuYyIgLz4KICAgPC9JdGVtR3JvdXA+CmRpZmYgLS1naXQgYS9QQ2J1aWxkL190ZXN0Y2FwaS52Y3hwcm9qIGIvUENidWlsZC9fdGVzdGNhcGkudmN4cHJvagppbmRleCBlOTlhN2U0Li5kYmY0NGU2IDEwMDY0NAotLS0gYS9QQ2J1aWxkL190ZXN0Y2FwaS52Y3hwcm9qCisrKyBiL1BDYnVpbGQvX3Rlc3RjYXBpLnZjeHByb2oKQEAgLTM4LDE3MSArMzgsMzMgQEAKICAgICA8UHJvamVjdEd1aWQ+ezY5MDFEOTFDLTZFNDgtNEJCNy05RkVDLTcwMEM4MTMxREYxRH08L1Byb2plY3RHdWlkPgogICAgIDxSb290TmFtZXNwYWNlPl90ZXN0Y2FwaTwvUm9vdE5hbWVzcGFjZT4KICAgICA8S2V5d29yZD5XaW4zMlByb2o8L0tleXdvcmQ+CisgICAgPFN1cHBvcnRQR08+ZmFsc2U8L1N1cHBvcnRQR08+CiAgIDwvUHJvcGVydHlHcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSJweXRob24ucHJvcHMiIC8+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CiAgICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KICAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgogICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8VGFyZ2V0RXh0Pi5weWQ8L1RhcmdldEV4dD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgogICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblNldHRpbmdzIj4KICAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZF9kLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkX2QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+CisgICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+CiAgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiAvPgogICA8UHJvcGVydHlHcm91cD4KICAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjMwMzE5LjE8L19Qcm9qZWN0RmlsZVZlcnNpb24+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgogICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+CiAgICAgPExpbms+CiAgICAgICA8QmFzZUFkZHJlc3M+MHgxZTFGMDAwMDwvQmFzZUFkZHJlc3M+CiAgICAgPC9MaW5rPgogICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPExpbms+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZTFGMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPgotICAgIDxMaW5rPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWUxRjAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPExpbms+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZTFGMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+Ci0gICAgPExpbms+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZTFGMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxMaW5rPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWUxRjAwMDA8L0Jhc2VBZGRyZXNzPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPgotICAgIDxMaW5rPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWUxRjAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxMaW5rPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWUxRjAwMDA8L0Jhc2VBZGRyZXNzPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KICAgPEl0ZW1Hcm91cD4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcX3Rlc3RjYXBpbW9kdWxlLmMiIC8+CiAgIDwvSXRlbUdyb3VwPgpkaWZmIC0tZ2l0IGEvUENidWlsZC9fdGVzdGVtYmVkLnZjeHByb2ogYi9QQ2J1aWxkL190ZXN0ZW1iZWQudmN4cHJvagppbmRleCA4M2M3YWQyLi5mMGU0ZDlmIDEwMDY0NAotLS0gYS9QQ2J1aWxkL190ZXN0ZW1iZWQudmN4cHJvagorKysgYi9QQ2J1aWxkL190ZXN0ZW1iZWQudmN4cHJvagpAQCAtOSw2ICs5LDIyIEBACiAgICAgICA8Q29uZmlndXJhdGlvbj5EZWJ1ZzwvQ29uZmlndXJhdGlvbj4KICAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgogICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlBHSW5zdHJ1bWVudHxXaW4zMiI+CisgICAgICA8Q29uZmlndXJhdGlvbj5QR0luc3RydW1lbnQ8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlBHSW5zdHJ1bWVudHx4NjQiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UEdJbnN0cnVtZW50PC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUEdVcGRhdGV8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UEdVcGRhdGU8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlBHVXBkYXRlfHg2NCI+CisgICAgICA8Q29uZmlndXJhdGlvbj5QR1VwZGF0ZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CiAgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8V2luMzIiPgogICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KICAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CkBAIC0yMiwxMzcgKzM4LDM3IEBACiAgICAgPFByb2plY3RHdWlkPns2REFDNjZEOS1FNzAzLTQ2MjQtQkUwMy00OTExMkFCNUFBNjJ9PC9Qcm9qZWN0R3VpZD4KICAgICA8S2V5d29yZD5XaW4zMlByb2o8L0tleXdvcmQ+CiAgICAgPFJvb3ROYW1lc3BhY2U+X3Rlc3RlbWJlZDwvUm9vdE5hbWVzcGFjZT4KKyAgICA8U3VwcG9ydFBHTz5mYWxzZTwvU3VwcG9ydFBHTz4KICAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9InB5dGhvbi5wcm9wcyIgLz4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgogICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPFVzZURlYnVnTGlicmFyaWVzPnRydWU8L1VzZURlYnVnTGlicmFyaWVzPgotICAgIDxDaGFyYWN0ZXJTZXQ+VW5pY29kZTwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPFVzZURlYnVnTGlicmFyaWVzPnRydWU8L1VzZURlYnVnTGlicmFyaWVzPgotICAgIDxDaGFyYWN0ZXJTZXQ+VW5pY29kZTwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VEZWJ1Z0xpYnJhcmllcz5mYWxzZTwvVXNlRGVidWdMaWJyYXJpZXM+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gICAgPENoYXJhY3RlclNldD5Vbmljb2RlPC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VEZWJ1Z0xpYnJhcmllcz5mYWxzZTwvVXNlRGVidWdMaWJyYXJpZXM+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+CiAgICAgPENoYXJhY3RlclNldD5Vbmljb2RlPC9DaGFyYWN0ZXJTZXQ+CiAgIDwvUHJvcGVydHlHcm91cD4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+CiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uU2V0dGluZ3MiPgogICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+CisgIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgogICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KICAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9ImRlYnVnLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9ImRlYnVnLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+CiAgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiAvPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+Ci0gICAgPExpbmtJbmNyZW1lbnRhbD5mYWxzZTwvTGlua0luY3JlbWVudGFsPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+Ci0gICAgPExpbmtJbmNyZW1lbnRhbD5mYWxzZTwvTGlua0luY3JlbWVudGFsPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPgotICAgIDxMaW5rSW5jcmVtZW50YWw+ZmFsc2U8L0xpbmtJbmNyZW1lbnRhbD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+Ci0gICAgPExpbmtJbmNyZW1lbnRhbD5mYWxzZTwvTGlua0luY3JlbWVudGFsPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+CiAgICAgPENsQ29tcGlsZT4KLSAgICAgIDxQcmVjb21waWxlZEhlYWRlcj4KLSAgICAgIDwvUHJlY29tcGlsZWRIZWFkZXI+Ci0gICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgotICAgICAgPE9wdGltaXphdGlvbj5EaXNhYmxlZDwvT3B0aW1pemF0aW9uPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO19ERUJVRztfQ09OU09MRTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0NPTlNPTEU7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgogICAgIDwvQ2xDb21waWxlPgogICAgIDxMaW5rPgogICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+Ci0gICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPFByZWNvbXBpbGVkSGVhZGVyPgotICAgICAgPC9QcmVjb21waWxlZEhlYWRlcj4KLSAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+Ci0gICAgICA8T3B0aW1pemF0aW9uPkRpc2FibGVkPC9PcHRpbWl6YXRpb24+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7X0RFQlVHO19DT05TT0xFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgotICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgotICAgICAgPFByZWNvbXBpbGVkSGVhZGVyPgotICAgICAgPC9QcmVjb21waWxlZEhlYWRlcj4KLSAgICAgIDxPcHRpbWl6YXRpb24+TWF4U3BlZWQ8L09wdGltaXphdGlvbj4KLSAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KLSAgICAgIDxJbnRyaW5zaWNGdW5jdGlvbnM+dHJ1ZTwvSW50cmluc2ljRnVuY3Rpb25zPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO05ERUJVRztfQ09OU09MRTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KLSAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPgotICAgICAgPEVuYWJsZUNPTURBVEZvbGRpbmc+dHJ1ZTwvRW5hYmxlQ09NREFURm9sZGluZz4KLSAgICAgIDxPcHRpbWl6ZVJlZmVyZW5jZXM+dHJ1ZTwvT3B0aW1pemVSZWZlcmVuY2VzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+Ci0gICAgICA8UHJlY29tcGlsZWRIZWFkZXI+Ci0gICAgICA8L1ByZWNvbXBpbGVkSGVhZGVyPgotICAgICAgPE9wdGltaXphdGlvbj5NYXhTcGVlZDwvT3B0aW1pemF0aW9uPgotICAgICAgPEZ1bmN0aW9uTGV2ZWxMaW5raW5nPnRydWU8L0Z1bmN0aW9uTGV2ZWxMaW5raW5nPgotICAgICAgPEludHJpbnNpY0Z1bmN0aW9ucz50cnVlPC9JbnRyaW5zaWNGdW5jdGlvbnM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7TkRFQlVHO19DT05TT0xFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgotICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+Ci0gICAgICA8RW5hYmxlQ09NREFURm9sZGluZz50cnVlPC9FbmFibGVDT01EQVRGb2xkaW5nPgotICAgICAgPE9wdGltaXplUmVmZXJlbmNlcz50cnVlPC9PcHRpbWl6ZVJlZmVyZW5jZXM+CiAgICAgPC9MaW5rPgogICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CiAgIDxJdGVtR3JvdXA+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxNb2R1bGVzXF90ZXN0ZW1iZWQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFByb2dyYW1zXF90ZXN0ZW1iZWQuYyIgLz4KICAgPC9JdGVtR3JvdXA+CiAgIDxJdGVtR3JvdXA+CiAgICAgPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0icHl0aG9uY29yZS52Y3hwcm9qIj4KICAgICAgIDxQcm9qZWN0PntjZjdhYzNkMS1lMmRmLTQxZDItYmVhNi0xZTI1NTZjZGVhMjZ9PC9Qcm9qZWN0PgotICAgICAgPFByaXZhdGU+dHJ1ZTwvUHJpdmF0ZT4KLSAgICAgIDxSZWZlcmVuY2VPdXRwdXRBc3NlbWJseT50cnVlPC9SZWZlcmVuY2VPdXRwdXRBc3NlbWJseT4KLSAgICAgIDxDb3B5TG9jYWxTYXRlbGxpdGVBc3NlbWJsaWVzPmZhbHNlPC9Db3B5TG9jYWxTYXRlbGxpdGVBc3NlbWJsaWVzPgotICAgICAgPExpbmtMaWJyYXJ5RGVwZW5kZW5jaWVzPnRydWU8L0xpbmtMaWJyYXJ5RGVwZW5kZW5jaWVzPgotICAgICAgPFVzZUxpYnJhcnlEZXBlbmRlbmN5SW5wdXRzPmZhbHNlPC9Vc2VMaWJyYXJ5RGVwZW5kZW5jeUlucHV0cz4KKyAgICAgIDxSZWZlcmVuY2VPdXRwdXRBc3NlbWJseT5mYWxzZTwvUmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+CiAgICAgPC9Qcm9qZWN0UmVmZXJlbmNlPgogICA8L0l0ZW1Hcm91cD4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4KZGlmZiAtLWdpdCBhL1BDYnVpbGQvX3Rlc3RlbWJlZC52Y3hwcm9qLmZpbHRlcnMgYi9QQ2J1aWxkL190ZXN0ZW1iZWQudmN4cHJvai5maWx0ZXJzCmluZGV4IGRlYTU0ZDQuLmY3ZjlhYmUgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQvX3Rlc3RlbWJlZC52Y3hwcm9qLmZpbHRlcnMKKysrIGIvUENidWlsZC9fdGVzdGVtYmVkLnZjeHByb2ouZmlsdGVycwpAQCAtMTUsNyArMTUsNyBAQAogICAgIDwvRmlsdGVyPgogICA8L0l0ZW1Hcm91cD4KICAgPEl0ZW1Hcm91cD4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcX3Rlc3RlbWJlZC5jIj4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFByb2dyYW1zXF90ZXN0ZW1iZWQuYyI+CiAgICAgICA8RmlsdGVyPlNvdXJjZSBGaWxlczwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgogICA8L0l0ZW1Hcm91cD4KZGlmZiAtLWdpdCBhL1BDYnVpbGQvX3Rlc3RpbXBvcnRtdWx0aXBsZS52Y3hwcm9qIGIvUENidWlsZC9fdGVzdGltcG9ydG11bHRpcGxlLnZjeHByb2oKaW5kZXggODQ5ODRmZi4uY2VjMDQyYyAxMDA2NDQKLS0tIGEvUENidWlsZC9fdGVzdGltcG9ydG11bHRpcGxlLnZjeHByb2oKKysrIGIvUENidWlsZC9fdGVzdGltcG9ydG11bHRpcGxlLnZjeHByb2oKQEAgLTM4LDE3MSArMzgsMzMgQEAKICAgICA8UHJvamVjdEd1aWQ+ezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX08L1Byb2plY3RHdWlkPgogICAgIDxSb290TmFtZXNwYWNlPl90ZXN0aW1wb3J0bXVsdGlwbGU8L1Jvb3ROYW1lc3BhY2U+CiAgICAgPEtleXdvcmQ+V2luMzJQcm9qPC9LZXl3b3JkPgorICAgIDxTdXBwb3J0UEdPPmZhbHNlPC9TdXBwb3J0UEdPPgogICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0icHl0aG9uLnByb3BzIiAvPgogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgogICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+CiAgICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KICAgPC9Qcm9wZXJ0eUdyb3VwPgogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KKyAgPFByb3BlcnR5R3JvdXA+CisgICAgPFRhcmdldEV4dD4ucHlkPC9UYXJnZXRFeHQ+CisgIDwvUHJvcGVydHlHcm91cD4KICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25TZXR0aW5ncyI+CiAgIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KKyAgPEltcG9ydEdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGd1cGRhdGUucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGdpbnN0cnVtZW50LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWRfZC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGdpbnN0cnVtZW50LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZF9kLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgorICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgogICA8L0ltcG9ydEdyb3VwPgogICA8UHJvcGVydHlHcm91cCBMYWJlbD0iVXNlck1hY3JvcyIgLz4KICAgPFByb3BlcnR5R3JvdXA+CiAgICAgPF9Qcm9qZWN0RmlsZVZlcnNpb24+MTAuMC4zMDMxOS4xPC9fUHJvamVjdEZpbGVWZXJzaW9uPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KICAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgogICAgIDxMaW5rPgogICAgICAgPEJhc2VBZGRyZXNzPjB4MWUxRjAwMDA8L0Jhc2VBZGRyZXNzPgogICAgIDwvTGluaz4KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxMaW5rPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWUxRjAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFlMUYwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxMaW5rPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWUxRjAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPgotICAgIDxMaW5rPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWUxRjAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFlMUYwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFlMUYwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFlMUYwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CiAgIDxJdGVtR3JvdXA+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxNb2R1bGVzXF90ZXN0aW1wb3J0bXVsdGlwbGUuYyIgLz4KICAgPC9JdGVtR3JvdXA+CmRpZmYgLS1naXQgYS9QQ2J1aWxkL190a2ludGVyLnZjeHByb2ogYi9QQ2J1aWxkL190a2ludGVyLnZjeHByb2oKaW5kZXggNjdmNzJmZS4uZTE0MDhhMSAxMDA2NDQKLS0tIGEvUENidWlsZC9fdGtpbnRlci52Y3hwcm9qCisrKyBiL1BDYnVpbGQvX3RraW50ZXIudmN4cHJvagpAQCAtMzksMjAyICszOSwzNSBAQAogICAgIDxSb290TmFtZXNwYWNlPl90a2ludGVyPC9Sb290TmFtZXNwYWNlPgogICAgIDxLZXl3b3JkPldpbjMyUHJvajwvS2V5d29yZD4KICAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9InB5dGhvbi5wcm9wcyIgLz4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIj4KICAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgogICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+CiAgIDwvUHJvcGVydHlHcm91cD4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxUYXJnZXRFeHQ+LnB5ZDwvVGFyZ2V0RXh0PgorICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uU2V0dGluZ3MiPgogICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgogICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBnaW5zdHJ1bWVudC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkX2QucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGd1cGRhdGUucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBnaW5zdHJ1bWVudC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWRfZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KKyAgICA8SW1wb3J0IFByb2plY3Q9InRjbHRrLnByb3BzIiAvPgogICA8L0ltcG9ydEdyb3VwPgogICA8UHJvcGVydHlHcm91cCBMYWJlbD0iVXNlck1hY3JvcyIgLz4KICAgPFByb3BlcnR5R3JvdXA+CiAgICAgPF9Qcm9qZWN0RmlsZVZlcnNpb24+MTAuMC4zMDMxOS4xPC9fUHJvamVjdEZpbGVWZXJzaW9uPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KICAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgogICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKHRjbHRrRGlyKVxpbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lUSF9BUFBJTklUOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiQodGNsdGtMaWJEZWJ1Zyk7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JCh0Y2x0azY0RGlyKVxpbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lUSF9BUFBJTklUOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiQodGNsdGs2NExpYkRlYnVnKTslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JCh0Y2x0a0RpcilcaW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JCh0Y2x0a0RpcilpbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CiAgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lUSF9BUFBJTklUOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KICAgICA8L0NsQ29tcGlsZT4KICAgICA8TGluaz4KICAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiQodGNsdGtMaWIpOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+CiAgICAgPC9MaW5rPgogICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JCh0Y2x0azY0RGlyKVxpbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lUSF9BUFBJTklUOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiQodGNsdGs2NExpYik7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JCh0Y2x0a0RpcilcaW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJVEhfQVBQSU5JVDslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4kKHRjbHRrTGliKTslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JCh0Y2x0azY0RGlyKVxpbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lUSF9BUFBJTklUOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiQodGNsdGs2NExpYik7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JCh0Y2x0a0RpcilcaW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJVEhfQVBQSU5JVDslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4kKHRjbHRrTGliKTslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKHRjbHRrNjREaXIpXGluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSVRIX0FQUElOSVQ7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JCh0Y2x0azY0TGliKTslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KICAgPEl0ZW1Hcm91cD4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcX3RraW50ZXIuYyIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcdGthcHBpbml0LmMiIC8+CkBAIC0yNDQsNiArNzcsMTIgQEAKICAgICAgIDxQcm9qZWN0PntjZjdhYzNkMS1lMmRmLTQxZDItYmVhNi0xZTI1NTZjZGVhMjZ9PC9Qcm9qZWN0PgogICAgICAgPFJlZmVyZW5jZU91dHB1dEFzc2VtYmx5PmZhbHNlPC9SZWZlcmVuY2VPdXRwdXRBc3NlbWJseT4KICAgICA8L1Byb2plY3RSZWZlcmVuY2U+CisgICAgPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0idGNsLnZjeHByb2oiPgorICAgICAgPFByb2plY3Q+e2I1ZmQ2ZjFkLTEyOWUtNGJmZi05MzQwLTAzNjA2ZmFjNzI4M308L1Byb2plY3Q+CisgICAgPC9Qcm9qZWN0UmVmZXJlbmNlPgorICAgIDxQcm9qZWN0UmVmZXJlbmNlIEluY2x1ZGU9InRrLnZjeHByb2oiPgorICAgICAgPFByb2plY3Q+ezdlODVlY2NmLWE3MmMtNGRhNC05ZTUyLTg4NDUwOGU4MGJhMX08L1Byb2plY3Q+CisgICAgPC9Qcm9qZWN0UmVmZXJlbmNlPgogICA8L0l0ZW1Hcm91cD4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4KICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25UYXJnZXRzIj4KZGlmZiAtLWdpdCBhL1BDYnVpbGQvYmRpc3Rfd2luaW5zdC52Y3hwcm9qIGIvUENidWlsZC9iZGlzdF93aW5pbnN0LnZjeHByb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ5Mjc2YTIuLjAwMDAwMDAKLS0tIGEvUENidWlsZC9iZGlzdF93aW5pbnN0LnZjeHByb2oKKysrIC9kZXYvbnVsbApAQCAtMSwxNTggKzAsMCBAQAot77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgotICA8SXRlbUdyb3VwIExhYmVsPSJQcm9qZWN0Q29uZmlndXJhdGlvbnMiPgotICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJSZWxlYXNlfFdpbjMyIj4KLSAgICAgIDxDb25maWd1cmF0aW9uPlJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+Ci0gICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgotICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+Ci0gICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8eDY0Ij4KLSAgICAgIDxDb25maWd1cmF0aW9uPlJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+Ci0gICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KLSAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgotICA8L0l0ZW1Hcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgotICAgIDxQcm9qZWN0R3VpZD57RUIxQzE5QzEtMUYxOC00MjFFLTk3MzUtQ0FFRTY5REM2QTNDfTwvUHJvamVjdEd1aWQ+Ci0gICAgPFJvb3ROYW1lc3BhY2U+d2luaW5zdDwvUm9vdE5hbWVzcGFjZT4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VPZk1mYz5mYWxzZTwvVXNlT2ZNZmM+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KLSAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25TZXR0aW5ncyI+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InJlbGVhc2UucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iVXNlck1hY3JvcyIgLz4KLSAgPFByb3BlcnR5R3JvdXA+Ci0gICAgPF9Qcm9qZWN0RmlsZVZlcnNpb24+MTAuMC4zMDMxOS4xPC9fUHJvamVjdEZpbGVWZXJzaW9uPgotICAgIDxPdXREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+Li5cbGliXGRpc3R1dGlsc1xjb21tYW5kXDwvT3V0RGlyPgotICAgIDxMaW5rSW5jcmVtZW50YWwgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+ZmFsc2U8L0xpbmtJbmNyZW1lbnRhbD4KLSAgICA8T3V0RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4uLlxsaWJcZGlzdHV0aWxzXGNvbW1hbmRcPC9PdXREaXI+Ci0gICAgPEludERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+JChTb2x1dGlvbkRpcikkKFBsYXRmb3JtTmFtZSktdGVtcC0kKENvbmZpZ3VyYXRpb24pXCQoUHJvamVjdE5hbWUpXDwvSW50RGlyPgotICAgIDxMaW5rSW5jcmVtZW50YWwgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPmZhbHNlPC9MaW5rSW5jcmVtZW50YWw+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgotICAgIDxUYXJnZXRFeHQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+LmV4ZTwvVGFyZ2V0RXh0PgotICAgIDxUYXJnZXRFeHQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPi5leGU8L1RhcmdldEV4dD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KLSAgICA8TWlkbD4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5OREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPE1rVHlwTGliQ29tcGF0aWJsZT50cnVlPC9Na1R5cExpYkNvbXBhdGlibGU+Ci0gICAgICA8U3VwcHJlc3NTdGFydHVwQmFubmVyPnRydWU8L1N1cHByZXNzU3RhcnR1cEJhbm5lcj4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5XaW4zMjwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgICA8VHlwZUxpYnJhcnlOYW1lPi5cLi5cbGliXGRpc3R1dGlsc1xjb21tYW5kXHdpbmluc3QudGxiPC9UeXBlTGlicmFyeU5hbWU+Ci0gICAgICA8SGVhZGVyRmlsZU5hbWU+Ci0gICAgICA8L0hlYWRlckZpbGVOYW1lPgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPE9wdGltaXphdGlvbj5NaW5TcGFjZTwvT3B0aW1pemF0aW9uPgotICAgICAgPElubGluZUZ1bmN0aW9uRXhwYW5zaW9uPk9ubHlFeHBsaWNpdElubGluZTwvSW5saW5lRnVuY3Rpb25FeHBhbnNpb24+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlxQQ1xiZGlzdF93aW5pbnN0Oy4uXEluY2x1ZGU7Li5cTW9kdWxlc1x6bGliOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4KLSAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkPC9SdW50aW1lTGlicmFyeT4KLSAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KLSAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+Ci0gICAgICA8U3VwcHJlc3NTdGFydHVwQmFubmVyPnRydWU8L1N1cHByZXNzU3RhcnR1cEJhbm5lcj4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8UmVzb3VyY2VDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPk5ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8Q3VsdHVyZT4weDAwMDA8L0N1bHR1cmU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlxQQzsuLlxQQ1xiZGlzdF93aW5pbnN0Oy4uXEluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICA8L1Jlc291cmNlQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPmNvbWN0bDMyLmxpYjtpbWFnZWhscC5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxPdXRwdXRGaWxlPi4uXGxpYlxkaXN0dXRpbHNcY29tbWFuZFx3aW5pbnN0LTEwLjAuZXhlPC9PdXRwdXRGaWxlPgotICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+Ci0gICAgICA8SWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPkxJQkM7JShJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXMpPC9JZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+Ci0gICAgICA8UHJvZ3JhbURhdGFiYXNlRmlsZT4uLlxsaWJcZGlzdHV0aWxzXGNvbW1hbmRcd2luaW5zdC0xMC4wLnBkYjwvUHJvZ3JhbURhdGFiYXNlRmlsZT4KLSAgICAgIDxTdWJTeXN0ZW0+V2luZG93czwvU3ViU3lzdGVtPgotICAgICAgPFJhbmRvbWl6ZWRCYXNlQWRkcmVzcz5mYWxzZTwvUmFuZG9taXplZEJhc2VBZGRyZXNzPgotICAgICAgPERhdGFFeGVjdXRpb25QcmV2ZW50aW9uPgotICAgICAgPC9EYXRhRXhlY3V0aW9uUHJldmVudGlvbj4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYODY8L1RhcmdldE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5OREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPE1rVHlwTGliQ29tcGF0aWJsZT50cnVlPC9Na1R5cExpYkNvbXBhdGlibGU+Ci0gICAgICA8U3VwcHJlc3NTdGFydHVwQmFubmVyPnRydWU8L1N1cHByZXNzU3RhcnR1cEJhbm5lcj4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgICAgPFR5cGVMaWJyYXJ5TmFtZT4uXC4uXGxpYlxkaXN0dXRpbHNcY29tbWFuZFx3aW5pbnN0LnRsYjwvVHlwZUxpYnJhcnlOYW1lPgotICAgICAgPEhlYWRlckZpbGVOYW1lPgotICAgICAgPC9IZWFkZXJGaWxlTmFtZT4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxPcHRpbWl6YXRpb24+TWluU3BhY2U8L09wdGltaXphdGlvbj4KLSAgICAgIDxJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj5Pbmx5RXhwbGljaXRJbmxpbmU8L0lubGluZUZ1bmN0aW9uRXhwYW5zaW9uPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cUENcYmRpc3Rfd2luaW5zdDsuLlxJbmNsdWRlOy4uXE1vZHVsZXNcemxpYjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+Ci0gICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZDwvUnVudGltZUxpYnJhcnk+Ci0gICAgICA8RnVuY3Rpb25MZXZlbExpbmtpbmc+dHJ1ZTwvRnVuY3Rpb25MZXZlbExpbmtpbmc+Ci0gICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgotICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPFJlc291cmNlQ29tcGlsZT4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5OREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPEN1bHR1cmU+MHgwMDAwPC9DdWx0dXJlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cUEM7Li5cUENcYmRpc3Rfd2luaW5zdDsuLlxJbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgPC9SZXNvdXJjZUNvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5jb21jdGwzMi5saWI7aW1hZ2VobHAubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8T3V0cHV0RmlsZT4uLlxsaWJcZGlzdHV0aWxzXGNvbW1hbmRcd2luaW5zdC0xMC4wLWFtZDY0LmV4ZTwvT3V0cHV0RmlsZT4KLSAgICAgIDxTdXBwcmVzc1N0YXJ0dXBCYW5uZXI+dHJ1ZTwvU3VwcHJlc3NTdGFydHVwQmFubmVyPgotICAgICAgPElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz5MSUJDOyUoSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzKTwvSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPgotICAgICAgPFByb2dyYW1EYXRhYmFzZUZpbGU+Li5cbGliXGRpc3R1dGlsc1xjb21tYW5kXHdpbmluc3QtOS4wLWFtZDY0LnBkYjwvUHJvZ3JhbURhdGFiYXNlRmlsZT4KLSAgICAgIDxTdWJTeXN0ZW0+V2luZG93czwvU3ViU3lzdGVtPgotICAgICAgPFJhbmRvbWl6ZWRCYXNlQWRkcmVzcz5mYWxzZTwvUmFuZG9taXplZEJhc2VBZGRyZXNzPgotICAgICAgPERhdGFFeGVjdXRpb25QcmV2ZW50aW9uPgotICAgICAgPC9EYXRhRXhlY3V0aW9uUHJldmVudGlvbj4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxQQ1xiZGlzdF93aW5pbnN0XGV4dHJhY3QuYyIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFBDXGJkaXN0X3dpbmluc3RcaW5zdGFsbC5jIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cTW9kdWxlc1x6bGliXGFkbGVyMzIuYyIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcemxpYlxjcmMzMi5jIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cTW9kdWxlc1x6bGliXGluZmZhc3QuYyIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcemxpYlxpbmZsYXRlLmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxNb2R1bGVzXHpsaWJcaW5mdHJlZXMuYyIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcemxpYlx6dXRpbC5jIiAvPgotICA8L0l0ZW1Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXFBDXGJkaXN0X3dpbmluc3RcYXJjaGl2ZS5oIiAvPgotICA8L0l0ZW1Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8UmVzb3VyY2VDb21waWxlIEluY2x1ZGU9Ii4uXFBDXGJkaXN0X3dpbmluc3RcaW5zdGFsbC5yYyIgLz4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPE5vbmUgSW5jbHVkZT0iLi5cUENcYmRpc3Rfd2luaW5zdFxQeXRob25Qb3dlcmVkLmJtcCIgLz4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+Ci0gIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uVGFyZ2V0cyI+Ci0gIDwvSW1wb3J0R3JvdXA+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvUENidWlsZC9idWlsZC5iYXQgYi9QQ2J1aWxkL2J1aWxkLmJhdAppbmRleCBmYTBkOTViLi4yODQ2MTQ0IDEwMDY0NAotLS0gYS9QQ2J1aWxkL2J1aWxkLmJhdAorKysgYi9QQ2J1aWxkL2J1aWxkLmJhdApAQCAtMSwxOSArMSw0MyBAQAogQGVjaG8gb2ZmCi1yZW0gQSBiYXRjaCBwcm9ncmFtIHRvIGJ1aWxkIG9yIHJlYnVpbGQgYSBwYXJ0aWN1bGFyIGNvbmZpZ3VyYXRpb24uCityZW0gQSBiYXRjaCBwcm9ncmFtIHRvIGJ1aWxkIG9yIHJlYnVpbGQgYSBwYXJ0aWN1bGFyIGNvbmZpZ3VyYXRpb24sCiByZW0ganVzdCBmb3IgY29udmVuaWVuY2UuCiAKK3JlbSBBcmd1bWVudHM6CityZW0gIC1jICBTZXQgdGhlIGNvbmZpZ3VyYXRpb24gKGRlZmF1bHQ6IFJlbGVhc2UpCityZW0gIC1wICBTZXQgdGhlIHBsYXRmb3JtICh4NjQgb3IgV2luMzIsIGRlZmF1bHQ6IFdpbjMyKQorcmVtICAtciAgVGFyZ2V0IFJlYnVpbGQgaW5zdGVhZCBvZiBCdWlsZAorcmVtICAtdCAgU2V0IHRoZSB0YXJnZXQgbWFudWFsbHkgKEJ1aWxkLCBSZWJ1aWxkLCBDbGVhbiwgb3IgQ2xlYW5BbGwpCityZW0gIC1kICBTZXQgdGhlIGNvbmZpZ3VyYXRpb24gdG8gRGVidWcKK3JlbSAgLWUgIFB1bGwgaW4gZXh0ZXJuYWwgbGlicmFyaWVzIHVzaW5nIGdldF9leHRlcm5hbHMuYmF0CityZW0gIC1NICBEaXNhYmxlIHBhcmFsbGVsIGJ1aWxkCityZW0gIC12ICBJbmNyZWFzZWQgb3V0cHV0IG1lc3NhZ2VzCisKIHNldGxvY2FsCiBzZXQgcGxhdGY9V2luMzIKK3NldCB2c19wbGF0Zj14ODYKIHNldCBjb25mPVJlbGVhc2UKLXNldCB0YXJnZXQ9YnVpbGQKK3NldCB0YXJnZXQ9QnVpbGQKIHNldCBkaXI9JX5kcDAKK3NldCBwYXJhbGxlbD0vbQorc2V0IHZlcmJvc2U9L25vbG9nbyAvdjptCiAKIDpDaGVja09wdHMKLWlmICIlMSI9PSItYyIgKHNldCBjb25mPSUyKSAmIHNoaWZ0ICYgc2hpZnQgJiBnb3RvIENoZWNrT3B0cwotaWYgIiUxIj09Ii1wIiAoc2V0IHBsYXRmPSUyKSAmIHNoaWZ0ICYgc2hpZnQgJiBnb3RvIENoZWNrT3B0cwotaWYgIiUxIj09Ii1yIiAoc2V0IHRhcmdldD1yZWJ1aWxkKSAmIHNoaWZ0ICYgZ290byBDaGVja09wdHMKLWlmICIlMSI9PSItZCIgKHNldCBjb25mPURlYnVnKSAmIHNoaWZ0ICYgZ290byBDaGVja09wdHMKK2lmICclMSc9PSctYycgKHNldCBjb25mPSUyKSAmIHNoaWZ0ICYgc2hpZnQgJiBnb3RvIENoZWNrT3B0cworaWYgJyUxJz09Jy1wJyAoc2V0IHBsYXRmPSUyKSAmIHNoaWZ0ICYgc2hpZnQgJiBnb3RvIENoZWNrT3B0cworaWYgJyUxJz09Jy1yJyAoc2V0IHRhcmdldD1SZWJ1aWxkKSAmIHNoaWZ0ICYgZ290byBDaGVja09wdHMKK2lmICclMSc9PSctdCcgKHNldCB0YXJnZXQ9JTIpICYgc2hpZnQgJiBzaGlmdCAmIGdvdG8gQ2hlY2tPcHRzCitpZiAnJTEnPT0nLWQnIChzZXQgY29uZj1EZWJ1ZykgJiBzaGlmdCAmIGdvdG8gQ2hlY2tPcHRzCitpZiAnJTEnPT0nLWUnIGNhbGwgIiVkaXIlZ2V0X2V4dGVybmFscy5iYXQiICYgc2hpZnQgJiBnb3RvIENoZWNrT3B0cworaWYgJyUxJz09Jy1NJyAoc2V0IHBhcmFsbGVsPSkgJiBzaGlmdCAmIGdvdG8gQ2hlY2tPcHRzCitpZiAnJTEnPT0nLXYnIChzZXQgdmVyYm9zZT0vdjpuKSAmIHNoaWZ0ICYgZ290byBDaGVja09wdHMKIAotc2V0IGNtZD1tc2J1aWxkIC9wOnVzZWVudj10cnVlICVkaXIlcGNidWlsZC5zbG4gL3Q6JXRhcmdldCUgL3A6Q29uZmlndXJhdGlvbj0lY29uZiUgL3A6UGxhdGZvcm09JXBsYXRmJQotZWNobyAlY21kJQotJWNtZCUKK2lmICclcGxhdGYlJz09J3g2NCcgKHNldCB2c19wbGF0Zj14ODZfYW1kNjQpCisKK3JlbSBTZXR1cCB0aGUgZW52aXJvbm1lbnQKK2NhbGwgIiVkaXIlZW52LmJhdCIgJXZzX3BsYXRmJSA+bnVsCisKK3JlbSBDYWxsIG9uIE1TQnVpbGQgdG8gZG8gdGhlIHdvcmssIGVjaG8gdGhlIGNvbW1hbmQuCityZW0gUGFzc2luZyAlMS05IGlzIG5vdCB0aGUgcHJlZmVycmVkIG9wdGlvbiwgYnV0IGFyZ3VtZW50IHBhcnNpbmcgaW4KK3JlbSBiYXRjaCBpcywgc2hhbGwgd2Ugc2F5LCAibGFja2x1c3RlciIKK2VjaG8gb24KK21zYnVpbGQgIiVkaXIlcGNidWlsZC5wcm9qIiAvdDoldGFyZ2V0JSAlcGFyYWxsZWwlICV2ZXJib3NlJSAvcDpDb25maWd1cmF0aW9uPSVjb25mJSAvcDpQbGF0Zm9ybT0lcGxhdGYlICUxICUyICUzICU0ICU1ICU2ICU3ICU4ICU5CmRpZmYgLS1naXQgYS9QQ2J1aWxkL2J1aWxkX3Bnby5iYXQgYi9QQ2J1aWxkL2J1aWxkX3Bnby5iYXQKaW5kZXggMGMwYTQ3My4uNTk4OGMwYSAxMDA2NDQKLS0tIGEvUENidWlsZC9idWlsZF9wZ28uYmF0CisrKyBiL1BDYnVpbGQvYnVpbGRfcGdvLmJhdApAQCAtNywxNCArNywxNiBAQAogCiBzZXRsb2NhbAogc2V0IHBsYXRmPVdpbjMyCitzZXQgcGFyYWxsZWw9L20KK3NldCBkaXI9JX5kcDAKIAogcmVtIHVzZSB0aGUgcGVyZm9ybWFuY2UgdGVzdHN1aXRlLiAgVGhpcyBpcyBxdWljayBhbmQgc2ltcGxlCi1zZXQgam9iMT0uLlx0b29sc1xweWJlbmNoXHB5YmVuY2gucHkgLW4gMSAtQyAxIC0td2l0aC1nYwotc2V0IHBhdGgxPS4uXHRvb2xzXHB5YmVuY2gKK3NldCBqb2IxPSIlZGlyJS4uXHRvb2xzXHB5YmVuY2hccHliZW5jaC5weSIgLW4gMSAtQyAxIC0td2l0aC1nYworc2V0IHBhdGgxPSIlZGlyJS4uXHRvb2xzXHB5YmVuY2giCiAKIHJlbSBvciB0aGUgd2hvbGUgdGVzdHN1aXRlIGZvciBtb3JlIHRob3JvdWdoIHRlc3RpbmcKLXNldCBqb2IyPS4uXGxpYlx0ZXN0XHJlZ3J0ZXN0LnB5Ci1zZXQgcGF0aDI9Li5cbGliCitzZXQgam9iMj0iJWRpciUuLlxsaWJcdGVzdFxyZWdydGVzdC5weSIKK3NldCBwYXRoMj0iJWRpciUuLlxsaWIiCiAKIHNldCBqb2I9JWpvYjElCiBzZXQgY2xycGF0aD0lcGF0aDElCkBAIC0yMiwyMCArMjQsMjUgQEAKIDpDaGVja09wdHMKIGlmICIlMSI9PSItcCIgKHNldCBwbGF0Zj0lMikgJiBzaGlmdCAmIHNoaWZ0ICYgZ290byBDaGVja09wdHMKIGlmICIlMSI9PSItMiIgKHNldCBqb2I9JWpvYjIlKSAmIChzZXQgY2xycGF0aD0lcGF0aDIlKSAmIHNoaWZ0ICYgZ290byBDaGVja09wdHMKK2lmICIlMSI9PSItTSIgKHNldCBwYXJhbGxlbD0pICYgc2hpZnQgJiBnb3RvIENoZWNrT3B0cwogCi1zZXQgUEdJPSVwbGF0ZiUtcGdpCi1zZXQgUEdPPSVwbGF0ZiUtcGdvCiAKLUBlY2hvIG9uCityZW0gV2UgY2Fubm90IGNyb3NzIGNvbXBpbGUgUEdPIGJ1aWxkcywgYXMgdGhlIG9wdGltaXphdGlvbiBuZWVkcyB0byBiZSBydW4gbmF0aXZlbHkKK3NldCB2c19wbGF0Zj14ODYKK3NldCBQR089JWRpciV3aW4zMi1wZ28KKworaWYgIiVwbGF0ZiUiPT0ieDY0IiAoc2V0IHZzX3BsYXRmPWFtZDY0KSAmIChzZXQgUEdPPSVkaXIlYW1kNjQtcGdvKQorcmVtIFNldHVwIHRoZSBlbnZpcm9ubWVudAorY2FsbCAiJWRpciVlbnYuYmF0IiAldnNfcGxhdGYlCisKKwogcmVtIGJ1aWxkIHRoZSBpbnN0cnVtZW50ZWQgdmVyc2lvbgotY2FsbCBidWlsZCAtcCAlcGxhdGYlIC1jIFBHSW5zdHJ1bWVudAorbXNidWlsZCAiJWRpciVwY2J1aWxkLnByb2oiICVwYXJhbGxlbCUgL3Q6QnVpbGQgL3A6Q29uZmlndXJhdGlvbj1QR0luc3RydW1lbnQgL3A6UGxhdGZvcm09JXBsYXRmJSAlMSAlMiAlMyAlNCAlNSAlNiAlNyAlOCAlOQogCiByZW0gcmVtb3ZlIC5weWMgZmlsZXMsIC5wZ2MgZmlsZXMgYW5kIGV4ZWN1dGUgdGhlIGpvYgotJVBHSSVccHl0aG9uLmV4ZSBybXB5Yy5weSAlY2xycGF0aCUKLWRlbCAlUEdJJVwqLnBnYwotJVBHSSVccHl0aG9uLmV4ZSAlam9iJQorIiVQR08lXHB5dGhvbi5leGUiICIlZGlyJXJtcHljLnB5IiAlY2xycGF0aCUKK2RlbCAiJVBHTyVcKi5wZ2MiCisiJVBHTyVccHl0aG9uLmV4ZSIgJWpvYiUKIAotcmVtIGZpbmFsbHkgYnVpbGQgdGhlIG9wdGltaXplZCB2ZXJzaW9uCi1pZiBleGlzdCAlUEdPJSBkZWwgL3MgL3EgJVBHTyUKLWNhbGwgYnVpbGQgLXAgJXBsYXRmJSAtYyBQR1VwZGF0ZQotCityZW0gYnVpbGQgb3B0aW1pemVkIHZlcnNpb24KK21zYnVpbGQgIiVkaXIlcGNidWlsZC5wcm9qIiAlcGFyYWxsZWwlIC90OkJ1aWxkIC9wOkNvbmZpZ3VyYXRpb249UEdVcGRhdGUgL3A6UGxhdGZvcm09JXBsYXRmJSAlMSAlMiAlMyAlNCAlNSAlNiAlNyAlOCAlOQpkaWZmIC0tZ2l0IGEvUENidWlsZC9idWlsZF9zc2wuYmF0IGIvUENidWlsZC9idWlsZF9zc2wuYmF0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MDVkNzdhLi4wMDAwMDAwCi0tLSBhL1BDYnVpbGQvYnVpbGRfc3NsLmJhdAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLUBlY2hvIG9mZgotaWYgbm90IGRlZmluZWQgSE9TVF9QWVRIT04gKAotICBpZiAlMSBFUVUgRGVidWcgKAotICAgIHNldCBIT1NUX1BZVEhPTj1weXRob25fZC5leGUKLSAgICBpZiBub3QgZXhpc3QgcHl0aG9uMzRfZC5kbGwgZXhpdCAxCi0gICkgRUxTRSAoCi0gICAgc2V0IEhPU1RfUFlUSE9OPXB5dGhvbi5leGUKLSAgICBpZiBub3QgZXhpc3QgcHl0aG9uMzQuZGxsIGV4aXQgMQotICApCi0pCi0lSE9TVF9QWVRIT04lIGJ1aWxkX3NzbC5weSAlMSAlMiAlMwotCmRpZmYgLS1naXQgYS9QQ2J1aWxkL2J1aWxkX3NzbC5weSBiL1BDYnVpbGQvYnVpbGRfc3NsLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzY2I0ZjYyLi4wMDAwMDAwCi0tLSBhL1BDYnVpbGQvYnVpbGRfc3NsLnB5CisrKyAvZGV2L251bGwKQEAgLTEsMjY0ICswLDAgQEAKLSMgU2NyaXB0IGZvciBidWlsZGluZyB0aGUgX3NzbCBhbmQgX2hhc2hsaWIgbW9kdWxlcyBmb3IgV2luZG93cy4KLSMgVXNlcyBQZXJsIHRvIHNldHVwIHRoZSBPcGVuU1NMIGVudmlyb25tZW50IGNvcnJlY3RseQotIyBhbmQgYnVpbGQgT3BlblNTTCwgdGhlbiBpbnZva2VzIGEgc2ltcGxlIG5tYWtlIHNlc3Npb24KLSMgZm9yIHRoZSBhY3R1YWwgX3NzbC5weWQgYW5kIF9oYXNobGliLnB5ZCBETExzLgotCi0jIFRIRU9SRVRJQ0FMTFksIHlvdSBjYW46Ci0jICogVW5wYWNrIHRoZSBsYXRlc3QgU1NMIHJlbGVhc2Ugb25lIGxldmVsIGFib3ZlIHlvdXIgbWFpbiBQeXRob24gc291cmNlCi0jICAgZGlyZWN0b3J5LiAgSXQgaXMgbGlrZWx5IHlvdSB3aWxsIGFscmVhZHkgZmluZCB0aGUgemxpYiBsaWJyYXJ5IGFuZAotIyAgIGFueSBvdGhlciBleHRlcm5hbCBwYWNrYWdlcyB0aGVyZS4KLSMgKiBJbnN0YWxsIEFjdGl2ZVBlcmwgYW5kIGVuc3VyZSBpdCBpcyBzb21ld2hlcmUgb24geW91ciBwYXRoLgotIyAqIFJ1biB0aGlzIHNjcmlwdCBmcm9tIHRoZSBQQ0J1aWxkIGRpcmVjdG9yeS4KLSMKLSMgaXQgc2hvdWxkIGNvbmZpZ3VyZSBhbmQgYnVpbGQgU1NMLCB0aGVuIGJ1aWxkIHRoZSBfc3NsIGFuZCBfaGFzaGxpYgotIyBQeXRob24gZXh0ZW5zaW9ucyB3aXRob3V0IGludGVydmVudGlvbi4KLQotIyBNb2RpZmllZCBieSBDaHJpc3RpYW4gSGVpbWVzCi0jIE5vdyB0aGlzIHNjcmlwdCBzdXBwb3J0cyBwcmUtZ2VuZXJhdGVkIG1ha2VmaWxlcyBhbmQgYXNzZW1ibHkgZmlsZXMuCi0jIERldmVsb3BlcnMgZG9uJ3QgbmVlZCBhbiBpbnN0YWxsYXRpb24gb2YgUGVybCBhbnltb3JlIHRvIGJ1aWxkIFB5dGhvbi4gQSBzdm4KLSMgY2hlY2tvdXQgZnJvbSBvdXIgc3ZuIHJlcG9zaXRvcnkgaXMgZW5vdWdoLgotIwotIyBJbiBPcmRlciB0byBjcmVhdGUgdGhlIGZpbGVzIGluIHRoZSBjYXNlIG9mIGFuIHVwZGF0ZSB5b3Ugc3RpbGwgbmVlZCBQZXJsLgotIyBSdW4gYnVpbGRfc3NsIGluIHRoaXMgb3JkZXI6Ci0jIHB5dGhvbi5leGUgYnVpbGRfc3NsLnB5IFJlbGVhc2UgeDY0Ci0jIHB5dGhvbi5leGUgYnVpbGRfc3NsLnB5IFJlbGVhc2UgV2luMzIKLQotaW1wb3J0IG9zLCBzeXMsIHJlLCBzaHV0aWwKLWltcG9ydCBzdWJwcm9jZXNzCi0KLSMgRmluZCBhbGwgImZvby5leGUiIGZpbGVzIG9uIHRoZSBQQVRILgotZGVmIGZpbmRfYWxsX29uX3BhdGgoZmlsZW5hbWUsIGV4dHJhcyA9IE5vbmUpOgotICAgIGVudHJpZXMgPSBvcy5lbnZpcm9uWyJQQVRIIl0uc3BsaXQob3MucGF0aHNlcCkKLSAgICByZXQgPSBbXQotICAgIGZvciBwIGluIGVudHJpZXM6Ci0gICAgICAgIGZuYW1lID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguam9pbihwLCBmaWxlbmFtZSkpCi0gICAgICAgIGlmIG9zLnBhdGguaXNmaWxlKGZuYW1lKSBhbmQgZm5hbWUgbm90IGluIHJldDoKLSAgICAgICAgICAgIHJldC5hcHBlbmQoZm5hbWUpCi0gICAgaWYgZXh0cmFzOgotICAgICAgICBmb3IgcCBpbiBleHRyYXM6Ci0gICAgICAgICAgICBmbmFtZSA9IG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmpvaW4ocCwgZmlsZW5hbWUpKQotICAgICAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUoZm5hbWUpIGFuZCBmbmFtZSBub3QgaW4gcmV0OgotICAgICAgICAgICAgICAgIHJldC5hcHBlbmQoZm5hbWUpCi0gICAgcmV0dXJuIHJldAotCi0jIEZpbmQgYSBzdWl0YWJsZSBQZXJsIGluc3RhbGxhdGlvbiBmb3IgT3BlblNTTC4KLSMgY3lnd2luIHBlcmwgZG9lcyAqbm90KiB3b3JrLiAgQWN0aXZlUGVybCBkb2VzLgotIyBCZWluZyBhIFBlcmwgZHVtbXksIHRoZSBzaW1wbGVzdCB3YXkgSSBjYW4gY2hlY2sgaXMgaWYgdGhlICJXaW4zMiIgcGFja2FnZQotIyBpcyBhdmFpbGFibGUuCi1kZWYgZmluZF93b3JraW5nX3BlcmwocGVybHMpOgotICAgIGZvciBwZXJsIGluIHBlcmxzOgotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBzdWJwcm9jZXNzLmNoZWNrX291dHB1dChbcGVybCwgIi1lIiwgInVzZSBXaW4zMjsiXSkKLSAgICAgICAgZXhjZXB0IHN1YnByb2Nlc3MuQ2FsbGVkUHJvY2Vzc0Vycm9yOgotICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJldHVybiBwZXJsCi0KLSAgICBpZiBwZXJsczoKLSAgICAgICAgcHJpbnQoIlRoZSBmb2xsb3dpbmcgcGVybCBpbnRlcnByZXRlcnMgd2VyZSBmb3VuZDoiKQotICAgICAgICBmb3IgcCBpbiBwZXJsczoKLSAgICAgICAgICAgIHByaW50KCIgIiwgcCkKLSAgICAgICAgcHJpbnQoIiBOb25lIG9mIHRoZXNlIHZlcnNpb25zIGFwcGVhciBzdWl0YWJsZSBmb3IgYnVpbGRpbmcgT3BlblNTTCIpCi0gICAgZWxzZToKLSAgICAgICAgcHJpbnQoIk5PIHBlcmwgaW50ZXJwcmV0ZXJzIHdlcmUgZm91bmQgb24gdGhpcyBtYWNoaW5lIGF0IGFsbCEiKQotICAgIHByaW50KCIgUGxlYXNlIGluc3RhbGwgQWN0aXZlUGVybCBhbmQgZW5zdXJlIGl0IGFwcGVhcnMgb24geW91ciBwYXRoIikKLQotIyBGZXRjaCBTU0wgZGlyZWN0b3J5IGZyb20gVkMgcHJvcGVydGllcwotZGVmIGdldF9zc2xfZGlyKCk6Ci0gICAgcHJvcGZpbGUgPSAob3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksICdweXByb2plY3QucHJvcHMnKSkKLSAgICB3aXRoIG9wZW4ocHJvcGZpbGUsIGVuY29kaW5nPSd1dGYtOC1zaWcnKSBhcyBmOgotICAgICAgICBtID0gcmUuc2VhcmNoKCdvcGVuc3NsLShbXjxdKyk8JywgZi5yZWFkKCkpCi0gICAgICAgIHJldHVybiAiLi5cZXh0ZXJuYWxzXG9wZW5zc2wtIittLmdyb3VwKDEpCi0KLQotZGVmIGNyZWF0ZV9tYWtlZmlsZTY0KG1ha2VmaWxlLCBtMzIpOgotICAgICIiIkNyZWF0ZSBhbmQgZml4IG1ha2VmaWxlIGZvciA2NGJpdAotCi0gICAgUmVwbGFjZSAzMiB3aXRoIDY0Yml0IGRpcmVjdG9yaWVzCi0gICAgIiIiCi0gICAgaWYgbm90IG9zLnBhdGguaXNmaWxlKG0zMik6Ci0gICAgICAgIHJldHVybgotICAgIHdpdGggb3BlbihtMzIpIGFzIGZpbjoKLSAgICAgICAgd2l0aCBvcGVuKG1ha2VmaWxlLCAndycpIGFzIGZvdXQ6Ci0gICAgICAgICAgICBmb3IgbGluZSBpbiBmaW46Ci0gICAgICAgICAgICAgICAgbGluZSA9IGxpbmUucmVwbGFjZSgiPXRtcDMyIiwgIj10bXA2NCIpCi0gICAgICAgICAgICAgICAgbGluZSA9IGxpbmUucmVwbGFjZSgiPW91dDMyIiwgIj1vdXQ2NCIpCi0gICAgICAgICAgICAgICAgbGluZSA9IGxpbmUucmVwbGFjZSgiPWluYzMyIiwgIj1pbmM2NCIpCi0gICAgICAgICAgICAgICAgIyBmb3JjZSA2NCBiaXQgbWFjaGluZQotICAgICAgICAgICAgICAgIGxpbmUgPSBsaW5lLnJlcGxhY2UoIk1LTElCPWxpYiIsICJNS0xJQj1saWIgL01BQ0hJTkU6WDY0IikKLSAgICAgICAgICAgICAgICBsaW5lID0gbGluZS5yZXBsYWNlKCJMRkxBR1M9IiwgIkxGTEFHUz0vTUFDSElORTpYNjQgIikKLSAgICAgICAgICAgICAgICAjIGRvbid0IGxpbmsgYWdhaW5zdCB0aGUgbGliIG9uIDY0Yml0IHN5c3RlbXMKLSAgICAgICAgICAgICAgICBsaW5lID0gbGluZS5yZXBsYWNlKCJidWZmZXJvdmVyZmxvd3UubGliIiwgIiIpCi0gICAgICAgICAgICAgICAgZm91dC53cml0ZShsaW5lKQotICAgIG9zLnVubGluayhtMzIpCi0KLWRlZiBmaXhfbWFrZWZpbGUobWFrZWZpbGUpOgotICAgICIiIkZpeCBzb21lIHN0dWZmIGluIGFsbCBtYWtlZmlsZXMKLSAgICAiIiIKLSAgICBpZiBub3Qgb3MucGF0aC5pc2ZpbGUobWFrZWZpbGUpOgotICAgICAgICByZXR1cm4KLSAgICB3aXRoIG9wZW4obWFrZWZpbGUpIGFzIGZpbjoKLSAgICAgICAgbGluZXMgPSBmaW4ucmVhZGxpbmVzKCkKLSAgICB3aXRoIG9wZW4obWFrZWZpbGUsICd3JykgYXMgZm91dDoKLSAgICAgICAgZm9yIGxpbmUgaW4gbGluZXM6Ci0gICAgICAgICAgICBpZiBsaW5lLnN0YXJ0c3dpdGgoIlBFUkw9Iik6Ci0gICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgIGlmIGxpbmUuc3RhcnRzd2l0aCgiQ1A9Iik6Ci0gICAgICAgICAgICAgICAgbGluZSA9ICJDUD1jb3B5XG4iCi0gICAgICAgICAgICBpZiBsaW5lLnN0YXJ0c3dpdGgoIk1LRElSPSIpOgotICAgICAgICAgICAgICAgIGxpbmUgPSAiTUtESVI9bWtkaXJcbiIKLSAgICAgICAgICAgIGlmIGxpbmUuc3RhcnRzd2l0aCgiQ0ZMQUc9Iik6Ci0gICAgICAgICAgICAgICAgbGluZSA9IGxpbmUuc3RyaXAoKQotICAgICAgICAgICAgICAgIGZvciBhbGdvIGluICgiUkM1IiwgIk1EQzIiLCAiSURFQSIpOgotICAgICAgICAgICAgICAgICAgICBub2FsZ28gPSAiIC1ET1BFTlNTTF9OT18lcyIgJSBhbGdvCi0gICAgICAgICAgICAgICAgICAgIGlmIG5vYWxnbyBub3QgaW4gbGluZToKLSAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUgPSBsaW5lICsgbm9hbGdvCi0gICAgICAgICAgICAgICAgbGluZSA9IGxpbmUgKyAnXG4nCi0gICAgICAgICAgICBmb3V0LndyaXRlKGxpbmUpCi0KLWRlZiBydW5fY29uZmlndXJlKGNvbmZpZ3VyZSwgZG9fc2NyaXB0KToKLSAgICBwcmludCgicGVybCBDb25maWd1cmUgIitjb25maWd1cmUrIiBuby1pZGVhIG5vLW1kYzIiKQotICAgIG9zLnN5c3RlbSgicGVybCBDb25maWd1cmUgIitjb25maWd1cmUrIiBuby1pZGVhIG5vLW1kYzIiKQotICAgIHByaW50KGRvX3NjcmlwdCkKLSAgICBvcy5zeXN0ZW0oZG9fc2NyaXB0KQotCi1kZWYgY21wKGYxLCBmMik6Ci0gICAgYnVmc2l6ZSA9IDEwMjQgKiA4Ci0gICAgd2l0aCBvcGVuKGYxLCAncmInKSBhcyBmcDEsIG9wZW4oZjIsICdyYicpIGFzIGZwMjoKLSAgICAgICAgd2hpbGUgVHJ1ZToKLSAgICAgICAgICAgIGIxID0gZnAxLnJlYWQoYnVmc2l6ZSkKLSAgICAgICAgICAgIGIyID0gZnAyLnJlYWQoYnVmc2l6ZSkKLSAgICAgICAgICAgIGlmIGIxICE9IGIyOgotICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQotICAgICAgICAgICAgaWYgbm90IGIxOgotICAgICAgICAgICAgICAgIHJldHVybiBUcnVlCi0KLWRlZiBjb3B5KHNyYywgZHN0KToKLSAgICBpZiBvcy5wYXRoLmlzZmlsZShkc3QpIGFuZCBjbXAoc3JjLCBkc3QpOgotICAgICAgICByZXR1cm4KLSAgICBzaHV0aWwuY29weShzcmMsIGRzdCkKLQotZGVmIG1haW4oKToKLSAgICBidWlsZF9hbGwgPSAiLWEiIGluIHN5cy5hcmd2Ci0gICAgaWYgc3lzLmFyZ3ZbMV0gPT0gIlJlbGVhc2UiOgotICAgICAgICBkZWJ1ZyA9IEZhbHNlCi0gICAgZWxpZiBzeXMuYXJndlsxXSA9PSAiRGVidWciOgotICAgICAgICBkZWJ1ZyA9IFRydWUKLSAgICBlbHNlOgotICAgICAgICByYWlzZSBWYWx1ZUVycm9yKHN0cihzeXMuYXJndikpCi0KLSAgICBpZiBzeXMuYXJndlsyXSA9PSAiV2luMzIiOgotICAgICAgICBhcmNoID0gIng4NiIKLSAgICAgICAgY29uZmlndXJlID0gIlZDLVdJTjMyIgotICAgICAgICBkb19zY3JpcHQgPSAibXNcXGRvX25hc20iCi0gICAgICAgIG1ha2VmaWxlPSJtc1xcbnQubWFrIgotICAgICAgICBtMzIgPSBtYWtlZmlsZQotICAgICAgICBkaXJzdWZmaXggPSAiMzIiCi0gICAgZWxpZiBzeXMuYXJndlsyXSA9PSAieDY0IjoKLSAgICAgICAgYXJjaD0iYW1kNjQiCi0gICAgICAgIGNvbmZpZ3VyZSA9ICJWQy1XSU42NEEiCi0gICAgICAgIGRvX3NjcmlwdCA9ICJtc1xcZG9fd2luNjRhIgotICAgICAgICBtYWtlZmlsZSA9ICJtc1xcbnQ2NC5tYWsiCi0gICAgICAgIG0zMiA9IG1ha2VmaWxlLnJlcGxhY2UoJzY0JywgJycpCi0gICAgICAgIGRpcnN1ZmZpeCA9ICI2NCIKLSAgICAgICAgI29zLmVudmlyb25bIlZTRVhUQ09NUF9VU0VDTCJdID0gIk1TX09QVEVST04iCi0gICAgZWxzZToKLSAgICAgICAgcmFpc2UgVmFsdWVFcnJvcihzdHIoc3lzLmFyZ3YpKQotCi0gICAgbWFrZV9mbGFncyA9ICIiCi0gICAgaWYgYnVpbGRfYWxsOgotICAgICAgICBtYWtlX2ZsYWdzID0gIi1hIgotICAgICMgcGVybCBzaG91bGQgYmUgb24gdGhlIHBhdGgsIGJ1dCB3ZSBhbHNvIGxvb2sgaW4gIlxwZXJsIiBhbmQgImM6XFxwZXJsIgotICAgICMgYXMgIndlbGwga25vd24iIGxvY2F0aW9ucwotICAgIHBlcmxzID0gZmluZF9hbGxfb25fcGF0aCgicGVybC5leGUiLCBbIlxccGVybFxcYmluIiwgIkM6XFxwZXJsXFxiaW4iXSkKLSAgICBwZXJsID0gZmluZF93b3JraW5nX3BlcmwocGVybHMpCi0gICAgaWYgcGVybDoKLSAgICAgICAgcHJpbnQoIkZvdW5kIGEgd29ya2luZyBwZXJsIGF0ICclcyciICUgKHBlcmwsKSkKLSAgICBlbHNlOgotICAgICAgICBwcmludCgiTm8gUGVybCBpbnN0YWxsYXRpb24gd2FzIGZvdW5kLiBFeGlzdGluZyBNYWtlZmlsZXMgYXJlIHVzZWQuIikKLSAgICBzeXMuc3Rkb3V0LmZsdXNoKCkKLSAgICAjIExvb2sgZm9yIFNTTCAyIGxldmVscyB1cCBmcm9tIHBjYnVpbGQgLSBpZSwgc2FtZSBwbGFjZSB6bGliIGV0YyBhbGwgbGl2ZS4KLSAgICBzc2xfZGlyID0gZ2V0X3NzbF9kaXIoKQotICAgIGlmIHNzbF9kaXIgaXMgTm9uZToKLSAgICAgICAgc3lzLmV4aXQoMSkKLQotICAgICMgYWRkIG91ciBjb3B5IG9mIE5BU00gdG8gUEFUSC4gIEl0IHdpbGwgYmUgb24gdGhlIHNhbWUgbGV2ZWwgYXMgb3BlbnNzbAotICAgIGZvciBkaXIgaW4gb3MubGlzdGRpcihvcy5wYXRoLmpvaW4oc3NsX2Rpciwgb3MucGFyZGlyKSk6Ci0gICAgICAgIGlmIGRpci5zdGFydHN3aXRoKCduYXNtJyk6Ci0gICAgICAgICAgICBuYXNtX2RpciA9IG9zLnBhdGguam9pbihzc2xfZGlyLCBvcy5wYXJkaXIsIGRpcikKLSAgICAgICAgICAgIG5hc21fZGlyID0gb3MucGF0aC5hYnNwYXRoKG5hc21fZGlyKQotICAgICAgICAgICAgb3MuZW52aXJvblsnUEFUSCddICs9IG9zLnBhdGhzZXAuam9pbihbJycsIG5hc21fZGlyXSkKLSAgICAgICAgICAgIGJyZWFrCi0gICAgZWxzZToKLSAgICAgICAgcHJpbnQoJ05BU00gd2FzIG5vdCBmb3VuZCwgbWFrZSBzdXJlIGl0IGlzIG9uIFBBVEgnKQotCi0KLSAgICBvbGRfY2QgPSBvcy5nZXRjd2QoKQotICAgIHRyeToKLSAgICAgICAgb3MuY2hkaXIoc3NsX2RpcikKLSAgICAgICAgIyByZWJ1aWxkIG1ha2VmaWxlIHdoZW4gd2UgZG8gdGhlIHJvbGUgb3ZlciBmcm9tIDMyIHRvIDY0IGJ1aWxkCi0gICAgICAgIGlmIGFyY2ggPT0gImFtZDY0IiBhbmQgb3MucGF0aC5pc2ZpbGUobTMyKSBhbmQgbm90IG9zLnBhdGguaXNmaWxlKG1ha2VmaWxlKToKLSAgICAgICAgICAgIG9zLnVubGluayhtMzIpCi0KLSAgICAgICAgIyBJZiB0aGUgc3NsIG1ha2VmaWxlcyBkbyBub3QgZXhpc3QsIHdlIGludm9rZSBQZXJsIHRvIGdlbmVyYXRlIHRoZW0uCi0gICAgICAgICMgRHVlIHRvIGEgYnVnIGluIHRoaXMgc2NyaXB0LCB0aGUgbWFrZWZpbGUgc29tZXRpbWVzIGVuZGVkIHVwIGVtcHR5Ci0gICAgICAgICMgRm9yY2UgYSByZWdlbmVyYXRpb24gaWYgaXQgaXMuCi0gICAgICAgIGlmIG5vdCBvcy5wYXRoLmlzZmlsZShtYWtlZmlsZSkgb3Igb3MucGF0aC5nZXRzaXplKG1ha2VmaWxlKT09MDoKLSAgICAgICAgICAgIGlmIHBlcmwgaXMgTm9uZToKLSAgICAgICAgICAgICAgICBwcmludCgiUGVybCBpcyByZXF1aXJlZCB0byBidWlsZCB0aGUgbWFrZWZpbGVzISIpCi0gICAgICAgICAgICAgICAgc3lzLmV4aXQoMSkKLQotICAgICAgICAgICAgcHJpbnQoIkNyZWF0aW5nIHRoZSBtYWtlZmlsZXMuLi4iKQotICAgICAgICAgICAgc3lzLnN0ZG91dC5mbHVzaCgpCi0gICAgICAgICAgICAjIFB1dCBvdXIgd29ya2luZyBQZXJsIGF0IHRoZSBmcm9udCBvZiBvdXIgcGF0aAotICAgICAgICAgICAgb3MuZW52aXJvblsiUEFUSCJdID0gb3MucGF0aC5kaXJuYW1lKHBlcmwpICsgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3MucGF0aHNlcCArIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zLmVudmlyb25bIlBBVEgiXQotICAgICAgICAgICAgcnVuX2NvbmZpZ3VyZShjb25maWd1cmUsIGRvX3NjcmlwdCkKLSAgICAgICAgICAgIGlmIGRlYnVnOgotICAgICAgICAgICAgICAgIHByaW50KCJPcGVuU1NMIGRlYnVnIGJ1aWxkcyBhcmVuJ3Qgc3VwcG9ydGVkLiIpCi0gICAgICAgICAgICAjaWYgYXJjaD09Ing4NiIgYW5kIGRlYnVnOgotICAgICAgICAgICAgIyAgICAjIHRoZSBkb19tYXNtIHNjcmlwdCBpbiBvcGVuc3NsIGRvZXNuJ3QgZ2VuZXJhdGUgYSBkZWJ1ZwotICAgICAgICAgICAgIyAgICAjIGJ1aWxkIG1ha2VmaWxlIHNvIHdlIGdlbmVyYXRlIGl0IGhlcmU6Ci0gICAgICAgICAgICAjICAgIG9zLnN5c3RlbSgicGVybCB1dGlsXG1rMW1mLnBsIGRlYnVnICIrY29uZmlndXJlKyIgPiIrbWFrZWZpbGUpCi0KLSAgICAgICAgICAgIGlmIGFyY2ggPT0gImFtZDY0IjoKLSAgICAgICAgICAgICAgICBjcmVhdGVfbWFrZWZpbGU2NChtYWtlZmlsZSwgbTMyKQotICAgICAgICAgICAgZml4X21ha2VmaWxlKG1ha2VmaWxlKQotICAgICAgICAgICAgY29weShyImNyeXB0b1xidWlsZGluZi5oIiwgciJjcnlwdG9cYnVpbGRpbmZfJXMuaCIgJSBhcmNoKQotICAgICAgICAgICAgY29weShyImNyeXB0b1xvcGVuc3NsY29uZi5oIiwgciJjcnlwdG9cb3BlbnNzbGNvbmZfJXMuaCIgJSBhcmNoKQotCi0gICAgICAgICMgSWYgdGhlIGFzc2VtYmxlciBmaWxlcyBkb24ndCBleGlzdCBpbiB0bXBYWCwgY29weSB0aGVtIHRoZXJlCi0gICAgICAgIGlmIHBlcmwgaXMgTm9uZSBhbmQgb3MucGF0aC5leGlzdHMoImFzbSIrZGlyc3VmZml4KToKLSAgICAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cygidG1wIitkaXJzdWZmaXgpOgotICAgICAgICAgICAgICAgIG9zLm1rZGlyKCJ0bXAiK2RpcnN1ZmZpeCkKLSAgICAgICAgICAgIGZvciBmIGluIG9zLmxpc3RkaXIoImFzbSIrZGlyc3VmZml4KToKLSAgICAgICAgICAgICAgICBpZiBub3QgZi5lbmRzd2l0aCgiLmFzbSIpOiBjb250aW51ZQotICAgICAgICAgICAgICAgIGlmIG9zLnBhdGguaXNmaWxlKHIidG1wJXNcJXMiICUgKGRpcnN1ZmZpeCwgZikpOiBjb250aW51ZQotICAgICAgICAgICAgICAgIHNodXRpbC5jb3B5KHIiYXNtJXNcJXMiICUgKGRpcnN1ZmZpeCwgZiksICJ0bXAiK2RpcnN1ZmZpeCkKLQotICAgICAgICAjIE5vdyBydW4gbWFrZS4KLSAgICAgICAgaWYgYXJjaCA9PSAiYW1kNjQiOgotICAgICAgICAgICAgcmMgPSBvcy5zeXN0ZW0oIm5hc20gLWYgd2luNjQgLURORUFSIC1PeCAtZyBtc1xcdXB0YWJsZS5hc20iKQotICAgICAgICAgICAgaWYgcmM6Ci0gICAgICAgICAgICAgICAgcHJpbnQoIm5hc20gYXNzZW1ibGVyIGhhcyBmYWlsZWQuIikKLSAgICAgICAgICAgICAgICBzeXMuZXhpdChyYykKLQotICAgICAgICBjb3B5KHIiY3J5cHRvXGJ1aWxkaW5mXyVzLmgiICUgYXJjaCwgciJjcnlwdG9cYnVpbGRpbmYuaCIpCi0gICAgICAgIGNvcHkociJjcnlwdG9cb3BlbnNzbGNvbmZfJXMuaCIgJSBhcmNoLCByImNyeXB0b1xvcGVuc3NsY29uZi5oIikKLQotICAgICAgICAjbWFrZUNvbW1hbmQgPSAibm1ha2UgL25vbG9nbyBQRVJMPVwiJXNcIiAtZiBcIiVzXCIiICUocGVybCwgbWFrZWZpbGUpCi0gICAgICAgIG1ha2VDb21tYW5kID0gIm5tYWtlIC9ub2xvZ28gLWYgXCIlc1wiIiAlIG1ha2VmaWxlCi0gICAgICAgIHByaW50KCJFeGVjdXRpbmcgc3NsIG1ha2VmaWxlczoiLCBtYWtlQ29tbWFuZCkKLSAgICAgICAgc3lzLnN0ZG91dC5mbHVzaCgpCi0gICAgICAgIHJjID0gb3Muc3lzdGVtKG1ha2VDb21tYW5kKQotICAgICAgICBpZiByYzoKLSAgICAgICAgICAgIHByaW50KCJFeGVjdXRpbmcgIittYWtlZmlsZSsiIGZhaWxlZCIpCi0gICAgICAgICAgICBwcmludChyYykKLSAgICAgICAgICAgIHN5cy5leGl0KHJjKQotICAgIGZpbmFsbHk6Ci0gICAgICAgIG9zLmNoZGlyKG9sZF9jZCkKLSAgICBzeXMuZXhpdChyYykKLQotaWYgX19uYW1lX189PSdfX21haW5fXyc6Ci0gICAgbWFpbigpCmRpZmYgLS1naXQgYS9QQ2J1aWxkL2J1aWxkX3RraW50ZXIucHkgYi9QQ2J1aWxkL2J1aWxkX3RraW50ZXIucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM4MDdlN2IuLjAwMDAwMDAKLS0tIGEvUENidWlsZC9idWlsZF90a2ludGVyLnB5CisrKyAvZGV2L251bGwKQEAgLTEsNzggKzAsMCBAQAotIiIiU2NyaXB0IHRvIGNvbXBpbGUgdGhlIGRlcGVuZGVuY2llcyBvZiBfdGtpbnRlcgotCi1Db3B5cmlnaHQgKGMpIDIwMDcgYnkgQ2hyaXN0aWFuIEhlaW1lcyA8Y2hyaXN0aWFuQGNoZWltZXMuZGU+Ci0KLUxpY2Vuc2VkIHRvIFBTRiB1bmRlciBhIENvbnRyaWJ1dG9yIEFncmVlbWVudC4KLSIiIgotCi1pbXBvcnQgb3MKLWltcG9ydCBzeXMKLQotaGVyZSA9IG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pKQotcGFyID0gb3MucGF0aC5wYXJkaXIKLQotVENMID0gInRjbDguNi4xIgotVEsgPSAidGs4LjYuMSIKLVRJWCA9ICJ0aXgtOC40LjMuMyIKLQotUk9PVCA9IG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmpvaW4oaGVyZSwgcGFyLCBwYXIpKQotTk1BS0UgPSAoJ25tYWtlIC9ub2xvZ28gL2YgJXMgJXMgJXMnKQotCi1kZWYgbm1ha2UobWFrZWZpbGUsIGNvbW1hbmQ9IiIsICoqa3cpOgotICAgIGRlZmluZXMgPSAnICcuam9pbihrKyc9JytzdHIodikgZm9yIGssIHYgaW4ga3cuaXRlbXMoKSkKLSAgICBjbWQgPSBOTUFLRSAlIChtYWtlZmlsZSwgZGVmaW5lcywgY29tbWFuZCkKLSAgICBwcmludCgiXG5cbiIrY21kKyJcbiIpCi0gICAgaWYgb3Muc3lzdGVtKGNtZCkgIT0gMDoKLSAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKGNtZCkKLQotZGVmIGJ1aWxkKHBsYXRmb3JtLCBjbGVhbik6Ci0gICAgaWYgcGxhdGZvcm0gPT0gIldpbjMyIjoKLSAgICAgICAgZGVzdCA9IG9zLnBhdGguam9pbihST09ULCAidGNsdGsiKQotICAgICAgICBtYWNoaW5lID0gIklYODYiCi0gICAgZWxpZiBwbGF0Zm9ybSA9PSAiQU1ENjQiOgotICAgICAgICBkZXN0ID0gb3MucGF0aC5qb2luKFJPT1QsICJ0Y2x0azY0IikKLSAgICAgICAgbWFjaGluZSA9ICJBTUQ2NCIKLSAgICBlbHNlOgotICAgICAgICByYWlzZSBWYWx1ZUVycm9yKHBsYXRmb3JtKQotCi0gICAgIyBUQ0wKLSAgICB0Y2xkaXIgPSBvcy5wYXRoLmpvaW4oUk9PVCwgVENMKQotICAgIGlmIDE6Ci0gICAgICAgIG9zLmNoZGlyKG9zLnBhdGguam9pbih0Y2xkaXIsICJ3aW4iKSkKLSAgICAgICAgaWYgY2xlYW46Ci0gICAgICAgICAgICBubWFrZSgibWFrZWZpbGUudmMiLCAiY2xlYW4iKQotICAgICAgICBubWFrZSgibWFrZWZpbGUudmMiLCBNQUNISU5FPW1hY2hpbmUpCi0gICAgICAgIG5tYWtlKCJtYWtlZmlsZS52YyIsICJpbnN0YWxsIiwgSU5TVEFMTERJUj1kZXN0LCBNQUNISU5FPW1hY2hpbmUpCi0KLSAgICAjIFRLCi0gICAgaWYgMToKLSAgICAgICAgb3MuY2hkaXIob3MucGF0aC5qb2luKFJPT1QsIFRLLCAid2luIikpCi0gICAgICAgIGlmIGNsZWFuOgotICAgICAgICAgICAgbm1ha2UoIm1ha2VmaWxlLnZjIiwgImNsZWFuIiwgREVCVUc9MCwgVENMRElSPXRjbGRpcikKLSAgICAgICAgbm1ha2UoIm1ha2VmaWxlLnZjIiwgREVCVUc9MCwgTUFDSElORT1tYWNoaW5lLCBUQ0xESVI9dGNsZGlyKQotICAgICAgICBubWFrZSgibWFrZWZpbGUudmMiLCAiaW5zdGFsbCIsIERFQlVHPTAsIElOU1RBTExESVI9ZGVzdCwgTUFDSElORT1tYWNoaW5lLCBUQ0xESVI9dGNsZGlyKQotCi0gICAgIyBUSVgKLSAgICBpZiAxOgotICAgICAgICAjIHB5dGhvbjkubWFrIGlzIGF2YWlsYWJsZSBhdCBodHRwOi8vc3ZuLnB5dGhvbi5vcmcKLSAgICAgICAgb3MuY2hkaXIob3MucGF0aC5qb2luKFJPT1QsIFRJWCwgIndpbiIpKQotICAgICAgICBpZiBjbGVhbjoKLSAgICAgICAgICAgIG5tYWtlKCJweXRob24ubWFrIiwgImNsZWFuIikKLSAgICAgICAgbm1ha2UoInB5dGhvbi5tYWsiLCBNQUNISU5FPW1hY2hpbmUsIElOU1RBTExfRElSPWRlc3QpCi0gICAgICAgIG5tYWtlKCJweXRob24ubWFrIiwgImluc3RhbGwiLCBNQUNISU5FPW1hY2hpbmUsIElOU1RBTExfRElSPWRlc3QpCi0KLWRlZiBtYWluKCk6Ci0gICAgaWYgbGVuKHN5cy5hcmd2KSA8IDIgb3Igc3lzLmFyZ3ZbMV0gbm90IGluICgiV2luMzIiLCAiQU1ENjQiKToKLSAgICAgICAgcHJpbnQoIiVzIFdpbjMyfEFNRDY0IiAlIHN5cy5hcmd2WzBdKQotICAgICAgICBzeXMuZXhpdCgxKQotCi0gICAgaWYgIi1jIiBpbiBzeXMuYXJndjoKLSAgICAgICAgY2xlYW4gPSBUcnVlCi0gICAgZWxzZToKLSAgICAgICAgY2xlYW4gPSBGYWxzZQotCi0gICAgYnVpbGQoc3lzLmFyZ3ZbMV0sIGNsZWFuKQotCi0KLWlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6Ci0gICAgbWFpbigpCmRpZmYgLS1naXQgYS9QQ2J1aWxkL2NsZWFuLmJhdCBiL1BDYnVpbGQvY2xlYW4uYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYxNDRjNzEKLS0tIC9kZXYvbnVsbAorKysgYi9QQ2J1aWxkL2NsZWFuLmJhdApAQCAtMCwwICsxLDUgQEAKK0BlY2hvIG9mZgorcmVtIEEgYmF0Y2ggcHJvZ3JhbSB0byBjbGVhbiBhIHBhcnRpY3VsYXIgY29uZmlndXJhdGlvbiwKK3JlbSBqdXN0IGZvciBjb252ZW5pZW5jZS4KKworY2FsbCAlfmRwMGJ1aWxkLmJhdCAtdCBDbGVhbiAlKgpkaWZmIC0tZ2l0IGEvUENidWlsZC9kZWJ1Zy5wcm9wcyBiL1BDYnVpbGQvZGVidWcucHJvcHMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDliN2E2NWEuLjAwMDAwMDAKLS0tIGEvUENidWlsZC9kZWJ1Zy5wcm9wcworKysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAgQEAKLe+7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Ci08UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNyb3MiPgotICAgIDxQeURlYnVnRXh0Pl9kPC9QeURlYnVnRXh0PgotICAgIDxLaWxsUHl0aG9uRXhlPiQoT3V0RGlyKWtpbGxfcHl0aG9uX2QuZXhlPC9LaWxsUHl0aG9uRXhlPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwPgotICAgIDxfUHJvamVjdEZpbGVWZXJzaW9uPjEwLjAuMzAzMTkuMTwvX1Byb2plY3RGaWxlVmVyc2lvbj4KLSAgICA8VGFyZ2V0TmFtZT4kKFByb2plY3ROYW1lKV9kPC9UYXJnZXROYW1lPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0RFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8UmVzb3VyY2VDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9ERUJVRzwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9SZXNvdXJjZUNvbXBpbGU+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8QnVpbGRNYWNybyBJbmNsdWRlPSJQeURlYnVnRXh0Ij4KLSAgICAgIDxWYWx1ZT4kKFB5RGVidWdFeHQpPC9WYWx1ZT4KLSAgICA8L0J1aWxkTWFjcm8+Ci0gICAgPEJ1aWxkTWFjcm8gSW5jbHVkZT0iS2lsbFB5dGhvbkV4ZSI+Ci0gICAgICA8VmFsdWU+JChLaWxsUHl0aG9uRXhlKTwvVmFsdWU+Ci0gICAgPC9CdWlsZE1hY3JvPgotICA8L0l0ZW1Hcm91cD4KLTwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9QQ2J1aWxkL2Vudi5iYXQgYi9QQ2J1aWxkL2Vudi5iYXQKaW5kZXggMDhkYzhlZi4uOWQ0YzlkMSAxMDA2NDQKLS0tIGEvUENidWlsZC9lbnYuYmF0CisrKyBiL1BDYnVpbGQvZW52LmJhdApAQCAtMSw5ICsxLDE2IEBACiBAZWNobyBvZmYKLXNldCBWUzEwPSVQcm9ncmFtRmlsZXMoeDg2KSVcTWljcm9zb2Z0IFZpc3VhbCBTdHVkaW8gMTAuMAotSUYgRVhJU1QgIiVWUzEwJSIgR09UTyBvawotc2V0IFZTMTA9JVByb2dyYW1GaWxlcyVcTWljcm9zb2Z0IFZpc3VhbCBTdHVkaW8gMTAuMAotOm9rCityZW0gVGhpcyBzY3JpcHQgYWRkcyB0aGUgbGF0ZXN0IGF2YWlsYWJsZSB0b29scyB0byB0aGUgcGF0aCBmb3IgdGhlIGN1cnJlbnQKK3JlbSBjb21tYW5kIHdpbmRvdy4gSG93ZXZlciwgbW9zdCBidWlsZHMgb2YgUHl0aG9uIHdpbGwgaWdub3JlIHRoZSB2ZXJzaW9uCityZW0gb2YgdGhlIHRvb2xzIG9uIFBBVEggYW5kIHVzZSBQbGF0Zm9ybVRvb2xzZXQgaW5zdGVhZC4gSWRlYWxseSwgYm90aCBzZXRzIG9mCityZW0gdG9vbHMgc2hvdWxkIGJlIHRoZSBzYW1lIHZlcnNpb24gdG8gYXZvaWQgcG90ZW50aWFsIGNvbmZsaWN0cy4KK3JlbQorcmVtIFRvIGJ1aWxkIFB5dGhvbiB3aXRoIGFuIGVhcmxpZXIgdG9vbHNldCwgcGFzcyAiL3A6UGxhdGZvcm1Ub29sc2V0PXYxMDAiIChvcgorcmVtICd2MTEwJywgJ3YxMjAnIG9yICd2MTQwJykgdG8gdGhlIGJ1aWxkIHNjcmlwdC4KIAotZWNobyBCdWlsZCBlbnZpcm9ubWVudHM6IHg4NiwgaWE2NCwgYW1kNjQsIHg4Nl9hbWQ2NCwgeDg2X2lhNjQKK2VjaG8gQnVpbGQgZW52aXJvbm1lbnRzOiB4ODYsIGFtZDY0LCB4ODZfYW1kNjQKIGVjaG8uCi1jYWxsICIlVlMxMCVcVkNcdmN2YXJzYWxsLmJhdCIgJTEKK3NldCBWU1RPT0xTPSVWUzE0MENPTU5UT09MUyUKK2lmICIlVlNUT09MUyUiPT0iIiBzZXQgVlNUT09MUz0lVlMxMjBDT01OVE9PTFMlCitpZiAiJVZTVE9PTFMlIj09IiIgc2V0IFZTVE9PTFM9JVZTMTEwQ09NTlRPT0xTJQoraWYgIiVWU1RPT0xTJSI9PSIiIHNldCBWU1RPT0xTPSVWUzEwMENPTU5UT09MUyUKK2NhbGwgIiVWU1RPT0xTJS4uXC4uXFZDXHZjdmFyc2FsbC5iYXQiICUqCmRpZmYgLS1naXQgYS9QQ2J1aWxkL2dldF9leHRlcm5hbHMuYmF0IGIvUENidWlsZC9nZXRfZXh0ZXJuYWxzLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOTk4N2JlCi0tLSAvZGV2L251bGwKKysrIGIvUENidWlsZC9nZXRfZXh0ZXJuYWxzLmJhdApAQCAtMCwwICsxLDEwMyBAQAorQGVjaG8gb2ZmCitzZXRsb2NhbAorcmVtIFNpbXBsZSBzY3JpcHQgdG8gZmV0Y2ggc291cmNlIGZvciBleHRlcm5hbCBsaWJyYXJpZXMKKworaWYgbm90IGV4aXN0ICIlfmRwMC4uXGV4dGVybmFscyIgbWtkaXIgIiV+ZHAwLi5cZXh0ZXJuYWxzIgorcHVzaGQgIiV+ZHAwLi5cZXh0ZXJuYWxzIgorCitpZiAiJVNWTlJPT1QlIj09IiIgc2V0IFNWTlJPT1Q9aHR0cDovL3N2bi5weXRob24ub3JnL3Byb2plY3RzL2V4dGVybmFsLworCityZW0gT3B0aW9uYWxseSBjbGVhbiB1cCBmaXJzdC4gIEJlIHdhcm5lZCB0aGF0IHRoaXMgY2FuIGJlIHZlcnkgZGVzdHJ1Y3RpdmUhCitpZiBub3QgIiUxIj09IiIgKAorICAgIGZvciAlJWMgaW4gKC1jIC0tY2xlYW4gLS1jbGVhbi1vbmx5KSBkbyAoCisgICAgICAgIGlmICIlMSI9PSIlJWMiIGdvdG8gY2xlYW4KKyAgICApCisgICAgZ290byB1c2FnZQorKQorZ290byBmZXRjaAorCis6Y2xlYW4KK2VjaG8uQ2xlYW5pbmcgdXAgZXh0ZXJuYWwgbGlicmFyaWVzLgorZm9yIC9EICUlZCBpbiAoCisgICAgICAgICAgICAgICBiemlwMi0qCisgICAgICAgICAgICAgICBkYi0qCisgICAgICAgICAgICAgICBuYXNtLSoKKyAgICAgICAgICAgICAgIG9wZW5zc2wtKgorICAgICAgICAgICAgICAgdGNsLSoKKyAgICAgICAgICAgICAgIHRjbHRrKgorICAgICAgICAgICAgICAgdGstKgorICAgICAgICAgICAgICAgdGl4LSoKKyAgICAgICAgICAgICAgIHNxbGl0ZS0qCisgICAgICAgICAgICAgICB4ei0qCisgICAgICAgICAgICAgICApIGRvICgKKyAgICBlY2hvLlJlbW92aW5nICUlZAorICAgIHJtZGlyIC9zIC9xICUlZAorKQoraWYgIiUxIj09Ii0tY2xlYW4tb25seSIgKAorICAgIGdvdG8gZW5kCispCisKKzpmZXRjaAorcmVtIEZldGNoIGN1cnJlbnQgdmVyc2lvbnMKKworc3ZuIC0tdmVyc2lvbiA+IG51bCAyPiYxCitpZiBFUlJPUkxFVkVMIDkwMDkgKAorICAgIGVjaG8uc3ZuLmV4ZSBtdXN0IGJlIG9uIHlvdXIgUEFUSC4KKyAgICBlY2hvLlRyeSBUb3J0b2lzZVNWTiAoaHR0cDovL3RvcnRvaXNlc3ZuLm5ldC9eKSBhbmQgYmUgc3VyZSB0byBjaGVjayB0aGUKKyAgICBlY2hvLmNvbW1hbmQgbGluZSB0b29scyBvcHRpb24uCisgICAgcG9wZAorICAgIGV4aXQgL2IgMQorKQorCitlY2hvLkZldGNoaW5nIGV4dGVybmFsIGxpYnJhcmllcy4uLgorCitmb3IgJSVlIGluICgKKyAgICAgICAgICAgIGJ6aXAyLTEuMC42CisgICAgICAgICAgICBuYXNtLTIuMTEuMDYKKyAgICAgICAgICAgIG9wZW5zc2wtMS4wLjFsCisgICAgICAgICAgICB0Y2wtY29yZS04LjYuMy4xCisgICAgICAgICAgICB0ay04LjYuMy4xCisgICAgICAgICAgICB0aXgtOC40LjMuNAorICAgICAgICAgICAgc3FsaXRlLTMuOC4zLjEKKyAgICAgICAgICAgIHh6LTUuMC41CisgICAgICAgICAgICApIGRvICgKKyAgICBpZiBleGlzdCAlJWUgKAorICAgICAgICBlY2hvLiUlZSBhbHJlYWR5IGV4aXN0cywgc2tpcHBpbmcuCisgICAgKSBlbHNlICgKKyAgICAgICAgZWNoby5GZXRjaGluZyAlJWUuLi4KKyAgICAgICAgc3ZuIGV4cG9ydCAlU1ZOUk9PVCUlJWUKKyAgICApCispCisKK2dvdG8gZW5kCisKKzp1c2FnZQorZWNoby5pbnZhbGlkIGFyZ3VtZW50OiAlMQorZWNoby51c2FnZTogJX5uMCBbWyAtYyBefCAtLWNsZWFuIF0gXnwgLS1jbGVhbi1vbmx5IF0KK2VjaG8uCitlY2hvLlB1bGwgYWxsIHNvdXJjZXMgbmVjZXNzYXJ5IGZvciBjb21waWxpbmcgb3B0aW9uYWwgZXh0ZW5zaW9uIG1vZHVsZXMKK2VjaG8udGhhdCByZWx5IG9uIGV4dGVybmFsIGxpYnJhcmllcy4gIFJlcXVpcmVzIHN2bi5leGUgdG8gYmUgb24geW91ciBQQVRICitlY2hvLmFuZCBwdWxscyBzb3VyY2VzIGZyb20gJVNWTlJPT1QlLgorZWNoby4KK2VjaG8uVXNlIHRoZSAtYyBvciAtLWNsZWFuIG9wdGlvbiB0byBjbGVhbiB1cCBhbGwgZXh0ZXJuYWwgbGlicmFyeSBzb3VyY2VzCitlY2hvLmJlZm9yZSBwdWxsaW5nIGluIHRoZSBjdXJyZW50IHZlcnNpb25zLgorZWNoby4KK2VjaG8uVXNlIHRoZSAtLWNsZWFuLW9ubHkgb3B0aW9uIHRvIGRvIHRoZSBzYW1lIGNsZWFuaW5nLCB3aXRob3V0IHB1bGxpbmcgaW4KK2VjaG8uYW55dGhpbmcgbmV3LgorZWNoby4KK2VjaG8uT25seSB0aGUgZmlyc3QgYXJndW1lbnQgaXMgY2hlY2tlZCwgYWxsIG90aGVycyBhcmUgaWdub3JlZC4KK2VjaG8uCitlY2hvLioqV0FSTklORyoqOiB0aGUgY2xlYW5pbmcgb3B0aW9ucyB1bmNvbmRpdGlvbmFsbHkgcmVtb3ZlIGFueSBkaXJlY3RvcnkKK2VjaG8udGhhdCBpcyBhIGNoaWxkIG9mCitlY2hvLiAgICVDRCUKK2VjaG8uYW5kIG1hdGNoZXMgd2lsZGNhcmQgcGF0dGVybnMgYmVnaW5uaW5nIHdpdGggYnppcDItLCBkYi0sIG5hc20tLCBvcGVuc3NsLSwKK2VjaG8udGNsLSwgdGNsdGssIHRrLSwgdGl4LSwgc3FsaXRlLSwgb3IgeHotLCBhbmQgYXMgc3VjaCBoYXMgdGhlIHBvdGVudGlhbAorZWNoby50byBiZSB2ZXJ5IGRlc3RydWN0aXZlIGlmIHlvdSBhcmUgbm90IGF3YXJlIG9mIHdoYXQgaXQgaXMgZG9pbmcuICBVc2Ugd2l0aAorZWNoby5jYXV0aW9uIQorcG9wZAorZXhpdCAvYiAtMQorCisKKzplbmQKK2VjaG8gRmluaXNoZWQuCitwb3BkCmRpZmYgLS1naXQgYS9QQ2J1aWxkL2lkbGUuYmF0IGIvUENidWlsZC9pZGxlLmJhdAppbmRleCBkY2IwNDg1Li4xOTc4Yjk5IDEwMDY0NAotLS0gYS9QQ2J1aWxkL2lkbGUuYmF0CisrKyBiL1BDYnVpbGQvaWRsZS5iYXQKQEAgLTQsMTAgKzQsMTAgQEAKIHJlbSAtZCAgIFJ1biBEZWJ1ZyBidWlsZCAocHl0aG9uX2QuZXhlKS4gIEVsc2UgcmVsZWFzZSBidWlsZC4KIAogc2V0bG9jYWwKLXNldCBleGU9cHl0aG9uCi1QQVRIICVQQVRIJTsuLlwuLlx0Y2x0a1xiaW4KK3NldCBleGU9d2luMzJccHl0aG9uCitQQVRIICVQQVRIJTsuLlxleHRlcm5hbHNcdGNsdGtcYmluCiAKLWlmICIlMSI9PSItZCIgKHNldCBleGU9cHl0aG9uX2QpICYgc2hpZnQKK2lmICIlMSI9PSItZCIgKHNldCBleGU9JWV4ZSVfZCkgJiBzaGlmdAogCiBzZXQgY21kPSVleGUlIC4uL0xpYi9pZGxlbGliL2lkbGUucHkgJTEgJTIgJTMgJTQgJTUgJTYgJTcgJTggJTkKIApkaWZmIC0tZ2l0IGEvUENidWlsZC9pbnN0YWxsZXIuYm1wIGIvUENidWlsZC9pbnN0YWxsZXIuYm1wCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxODc1ZTE5Li4wMDAwMDAwCi0tLSBhL1BDYnVpbGQvaW5zdGFsbGVyLmJtcAorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL1BDYnVpbGQva2lsbF9weXRob24uYyBiL1BDYnVpbGQva2lsbF9weXRob24uYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjA0NzMxZi4uMDAwMDAwMAotLS0gYS9QQ2J1aWxkL2tpbGxfcHl0aG9uLmMKKysrIC9kZXYvbnVsbApAQCAtMSwxNzggKzAsMCBAQAotLyoKLSAqIEhlbHBlciBwcm9ncmFtIGZvciBraWxsaW5nIGxpbmdlcmluZyBweXRob25bX2RdLmV4ZSBwcm9jZXNzZXMgYmVmb3JlCi0gKiBidWlsZGluZywgdGh1cyBhdHRlbXB0aW5nIHRvIGF2b2lkIGJ1aWxkIGZhaWx1cmVzIGR1ZSB0byBmaWxlcyBiZWluZwotICogbG9ja2VkLgotICovCi0KLSNpbmNsdWRlIDx3aW5kb3dzLmg+Ci0jaW5jbHVkZSA8d2NoYXIuaD4KLSNpbmNsdWRlIDx0bGhlbHAzMi5oPgotI2luY2x1ZGUgPHN0ZGlvLmg+Ci0KLSNwcmFnbWEgY29tbWVudChsaWIsICJwc2FwaSIpCi0KLSNpZmRlZiBfREVCVUcKLSNkZWZpbmUgUFlUSE9OX0VYRSAgICAgICAgICAoTCJweXRob25fZC5leGUiKQotI2RlZmluZSBQWVRIT05fRVhFX0xFTiAgICAgICgxMikKLSNkZWZpbmUgS0lMTF9QWVRIT05fRVhFICAgICAoTCJraWxsX3B5dGhvbl9kLmV4ZSIpCi0jZGVmaW5lIEtJTExfUFlUSE9OX0VYRV9MRU4gKDE3KQotI2Vsc2UKLSNkZWZpbmUgUFlUSE9OX0VYRSAgICAgICAgICAoTCJweXRob24uZXhlIikKLSNkZWZpbmUgUFlUSE9OX0VYRV9MRU4gICAgICAoMTApCi0jZGVmaW5lIEtJTExfUFlUSE9OX0VYRSAgICAgKEwia2lsbF9weXRob24uZXhlIikKLSNkZWZpbmUgS0lMTF9QWVRIT05fRVhFX0xFTiAoMTUpCi0jZW5kaWYKLQotaW50Ci1tYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKLXsKLSAgICBIQU5ETEUgICBocCwgaHNwLCBoc207IC8qIHByb2Nlc3MsIHNuYXBzaG90IHByb2Nlc3Nlcywgc25hcHNob3QgbW9kdWxlcyAqLwotICAgIERXT1JEICAgIGRhYywgb3VyX3BpZDsKLSAgICBzaXplX3QgICBsZW47Ci0gICAgd2NoYXJfdCAgcGF0aFtNQVhfUEFUSCsxXTsKLQotICAgIE1PRFVMRUVOVFJZMzJXICBtZTsKLSAgICBQUk9DRVNTRU5UUlkzMlcgcGU7Ci0KLSAgICBtZS5kd1NpemUgPSBzaXplb2YoTU9EVUxFRU5UUlkzMlcpOwotICAgIHBlLmR3U2l6ZSA9IHNpemVvZihQUk9DRVNTRU5UUlkzMlcpOwotCi0gICAgbWVtc2V0KHBhdGgsIDAsIE1BWF9QQVRIKzEpOwotCi0gICAgb3VyX3BpZCA9IEdldEN1cnJlbnRQcm9jZXNzSWQoKTsKLQotICAgIGhzbSA9IENyZWF0ZVRvb2xoZWxwMzJTbmFwc2hvdChUSDMyQ1NfU05BUE1PRFVMRSwgb3VyX3BpZCk7Ci0gICAgaWYgKGhzbSA9PSBJTlZBTElEX0hBTkRMRV9WQUxVRSkgewotICAgICAgICBwcmludGYoIkNyZWF0ZVRvb2xoZWxwMzJTbmFwc2hvdFsxXSBmYWlsZWQ6ICVkXG4iLCBHZXRMYXN0RXJyb3IoKSk7Ci0gICAgICAgIHJldHVybiAxOwotICAgIH0KLQotICAgIGlmICghTW9kdWxlMzJGaXJzdFcoaHNtLCAmbWUpKSB7Ci0gICAgICAgIHByaW50ZigiTW9kdWxlMzJGaXJzdFdbMV0gZmFpbGVkOiAlZFxuIiwgR2V0TGFzdEVycm9yKCkpOwotICAgICAgICBDbG9zZUhhbmRsZShoc20pOwotICAgICAgICByZXR1cm4gMTsKLSAgICB9Ci0KLSAgICAvKgotICAgICAqIEVudW1lcmF0ZSBvdmVyIHRoZSBtb2R1bGVzIGZvciB0aGUgY3VycmVudCBwcm9jZXNzIGluIG9yZGVyIHRvIGZpbmQKLSAgICAgKiBraWxsX3Byb2Nlc3NbX2RdLmV4ZSwgdGhlbiB0YWtlIGEgbm90ZSBvZiB0aGUgZGlyZWN0b3J5IGl0IGxpdmVzIGluLgotICAgICAqLwotICAgIGRvIHsKLSAgICAgICAgaWYgKF93Y3NuaWNtcChtZS5zek1vZHVsZSwgS0lMTF9QWVRIT05fRVhFLCBLSUxMX1BZVEhPTl9FWEVfTEVOKSkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgIGxlbiA9IHdjc25sZW5fcyhtZS5zekV4ZVBhdGgsIE1BWF9QQVRIKSAtIEtJTExfUFlUSE9OX0VYRV9MRU47Ci0gICAgICAgIHdjc25jcHlfcyhwYXRoLCBNQVhfUEFUSCsxLCBtZS5zekV4ZVBhdGgsIGxlbik7IAotCi0gICAgICAgIGJyZWFrOwotCi0gICAgfSB3aGlsZSAoTW9kdWxlMzJOZXh0Vyhoc20sICZtZSkpOwotCi0gICAgQ2xvc2VIYW5kbGUoaHNtKTsKLQotICAgIGlmIChwYXRoID09IE5VTEwpIHsKLSAgICAgICAgcHJpbnRmKCJmYWlsZWQgdG8gZGlzY2VybiBkaXJlY3Rvcnkgb2YgcnVubmluZyBwcm9jZXNzXG4iKTsKLSAgICAgICAgcmV0dXJuIDE7Ci0gICAgfQotCi0gICAgLyoKLSAgICAgKiBUYWtlIGEgc25hcHNob3Qgb2Ygc3lzdGVtIHByb2Nlc3Nlcy4gIEVudW1lcmF0ZSBvdmVyIHRoZSBzbmFwc2hvdCwKLSAgICAgKiBsb29raW5nIGZvciBweXRob24gcHJvY2Vzc2VzLiAgV2hlbiB3ZSBmaW5kIG9uZSwgdmVyaWZ5IGl0IGxpdmVzCi0gICAgICogaW4gdGhlIHNhbWUgZGlyZWN0b3J5IHdlIGxpdmUgaW4uICBJZiBpdCBkb2VzLCBraWxsIGl0LiAgSWYgd2UncmUKLSAgICAgKiB1bmFibGUgdG8ga2lsbCBpdCwgdHJlYXQgdGhpcyBhcyBhIGZhdGFsIGVycm9yIGFuZCByZXR1cm4gMS4KLSAgICAgKiAKLSAgICAgKiBUaGUgcmF0aW9uYWxlIGJlaGluZCB0aGlzIGlzIHRoYXQgd2UncmUgY2FsbGVkIGF0IHRoZSBzdGFydCBvZiB0aGUgCi0gICAgICogYnVpbGQgcHJvY2VzcyBvbiB0aGUgYmFzaXMgdGhhdCB3ZSdsbCB0YWtlIGNhcmUgb2Yga2lsbGluZyBhbnkKLSAgICAgKiBydW5uaW5nIGluc3RhbmNlcywgc3VjaCB0aGF0IHRoZSBidWlsZCB3b24ndCBlbmNvdW50ZXIgcGVybWlzc2lvbgotICAgICAqIGRlbmllZCBlcnJvcnMgZHVyaW5nIGxpbmtpbmcuIElmIHdlIGNhbid0IGtpbGwgb25lIG9mIHRoZSBwcm9jZXNzZXMsCi0gICAgICogd2UgY2FuJ3QgcHJvdmlkZSB0aGlzIGFzc3VyYW5jZSwgYW5kIHRoZSBidWlsZCBzaG91bGRuJ3Qgc3RhcnQuCi0gICAgICovCi0KLSAgICBoc3AgPSBDcmVhdGVUb29saGVscDMyU25hcHNob3QoVEgzMkNTX1NOQVBQUk9DRVNTLCAwKTsKLSAgICBpZiAoaHNwID09IElOVkFMSURfSEFORExFX1ZBTFVFKSB7Ci0gICAgICAgIHByaW50ZigiQ3JlYXRlVG9vbGhlbHAzMlNuYXBzaG90WzJdIGZhaWxlZDogJWRcbiIsIEdldExhc3RFcnJvcigpKTsKLSAgICAgICAgcmV0dXJuIDE7Ci0gICAgfQotCi0gICAgaWYgKCFQcm9jZXNzMzJGaXJzdFcoaHNwLCAmcGUpKSB7Ci0gICAgICAgIHByaW50ZigiUHJvY2VzczMyRmlyc3RXIGZhaWxlZDogJWRcbiIsIEdldExhc3RFcnJvcigpKTsKLSAgICAgICAgQ2xvc2VIYW5kbGUoaHNwKTsKLSAgICAgICAgcmV0dXJuIDE7Ci0gICAgfQotCi0gICAgZGFjID0gUFJPQ0VTU19RVUVSWV9JTkZPUk1BVElPTiB8IFBST0NFU1NfVk1fUkVBRCB8IFBST0NFU1NfVEVSTUlOQVRFOwotICAgIGRvIHsKLQotICAgICAgICAvKgotICAgICAgICAgKiBYWFggVE9ETzogaWYgd2UgcmVhbGx5IHdhbnRlZCB0byBiZSBmYW5jeSwgd2UgY291bGQgY2hlY2sgdGhlIAotICAgICAgICAgKiBtb2R1bGVzIGZvciBhbGwgcHJvY2Vzc2VzIChub3QganVzdCB0aGUgcHl0aG9uW19kXS5leGUgb25lcykKLSAgICAgICAgICogYW5kIHNlZSBpZiBhbnkgb2Ygb3VyIERMTHMgYXJlIGxvYWRlZCAoaS5lLiBweXRob24zNFtfZF0uZGxsKSwKLSAgICAgICAgICogYXMgdGhhdCB3b3VsZCBhbHNvIGluaGliaXQgb3VyIGFiaWxpdHkgdG8gcmVidWlsZCB0aGUgc29sdXRpb24uCi0gICAgICAgICAqIE5vdCB3b3J0aCBsb29zaW5nIHNsZWVwIG92ZXIgdGhvdWdoOyBmb3Igbm93LCBhIHNpbXBsZSBjaGVjayAKLSAgICAgICAgICogZm9yIGp1c3QgdGhlIHB5dGhvbiBleGVjdXRhYmxlIHNob3VsZCBiZSBzdWZmaWNpZW50LgotICAgICAgICAgKi8KLQotICAgICAgICBpZiAoX3djc25pY21wKHBlLnN6RXhlRmlsZSwgUFlUSE9OX0VYRSwgUFlUSE9OX0VYRV9MRU4pKQotICAgICAgICAgICAgLyogVGhpcyBpc24ndCBhIHB5dGhvbiBwcm9jZXNzLiAqLwotICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgLyogSXQncyBhIHB5dGhvbiBwcm9jZXNzLCBzbyBmaWd1cmUgb3V0IHdoaWNoIGRpcmVjdG9yeSBpdCdzIGluLi4uICovCi0gICAgICAgIGhzbSA9IENyZWF0ZVRvb2xoZWxwMzJTbmFwc2hvdChUSDMyQ1NfU05BUE1PRFVMRSwgcGUudGgzMlByb2Nlc3NJRCk7Ci0gICAgICAgIGlmIChoc20gPT0gSU5WQUxJRF9IQU5ETEVfVkFMVUUpCi0gICAgICAgICAgICAvKiAKLSAgICAgICAgICAgICAqIElmIG91ciBtb2R1bGUgc25hcHNob3QgZmFpbHMgKHdoaWNoIHdpbGwgaGFwcGVuIGlmIHdlIGRvbid0IG93bgotICAgICAgICAgICAgICogdGhlIHByb2Nlc3MpLCBqdXN0IGlnbm9yZSBpdCBhbmQgY29udGludWUuICAoSXQgc2VlbXMgZGlmZmVyZW50Ci0gICAgICAgICAgICAgKiB2ZXJzaW9ucyBvZiBXaW5kb3dzIHJldHVybiBkaWZmZXJlbnQgdmFsdWVzIGZvciBHZXRMYXN0RXJyb3IoKQotICAgICAgICAgICAgICogaW4gdGhpcyBzaXR1YXRpb247IGl0J3MgZWFzaWVyIHRvIGp1c3QgaWdub3JlIGl0IGFuZCBtb3ZlIG9uIHZzLgotICAgICAgICAgICAgICogc3RvcHBpbmcgdGhlIGJ1aWxkIGZvciB3aGF0IGNvdWxkIGJlIGEgZmFsc2UgcG9zaXRpdmUuKQotICAgICAgICAgICAgICovCi0gICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgaWYgKCFNb2R1bGUzMkZpcnN0Vyhoc20sICZtZSkpIHsKLSAgICAgICAgICAgIHByaW50ZigiTW9kdWxlMzJGaXJzdFdbMl0gZmFpbGVkOiAlZFxuIiwgR2V0TGFzdEVycm9yKCkpOwotICAgICAgICAgICAgQ2xvc2VIYW5kbGUoaHNwKTsKLSAgICAgICAgICAgIENsb3NlSGFuZGxlKGhzbSk7Ci0gICAgICAgICAgICByZXR1cm4gMTsKLSAgICAgICAgfQotCi0gICAgICAgIGRvIHsKLSAgICAgICAgICAgIGlmIChfd2NzbmljbXAobWUuc3pNb2R1bGUsIFBZVEhPTl9FWEUsIFBZVEhPTl9FWEVfTEVOKSkKLSAgICAgICAgICAgICAgICAvKiBXcm9uZyBtb2R1bGUsIHdlJ3JlIGxvb2tpbmcgZm9yIHB5dGhvbltfZF0uZXhlLi4uICovCi0gICAgICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgICAgIGlmIChfd2NzbmljbXAocGF0aCwgbWUuc3pFeGVQYXRoLCBsZW4pKQotICAgICAgICAgICAgICAgIC8qIFByb2Nlc3MgZG9lc24ndCBsaXZlIGluIG91ciBkaXJlY3RvcnkuICovCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgICAgIC8qIFB5dGhvbiBwcm9jZXNzIHJlc2lkaW5nIGluIHRoZSByaWdodCBkaXJlY3RvcnksIGtpbGwgaXQhICAqLwotICAgICAgICAgICAgaHAgPSBPcGVuUHJvY2VzcyhkYWMsIEZBTFNFLCBwZS50aDMyUHJvY2Vzc0lEKTsKLSAgICAgICAgICAgIGlmICghaHApIHsKLSAgICAgICAgICAgICAgICBwcmludGYoIk9wZW5Qcm9jZXNzIGZhaWxlZDogJWRcbiIsIEdldExhc3RFcnJvcigpKTsKLSAgICAgICAgICAgICAgICBDbG9zZUhhbmRsZShoc3ApOwotICAgICAgICAgICAgICAgIENsb3NlSGFuZGxlKGhzbSk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIDE7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGlmICghVGVybWluYXRlUHJvY2VzcyhocCwgMSkpIHsKLSAgICAgICAgICAgICAgICBwcmludGYoIlRlcm1pbmF0ZVByb2Nlc3MgZmFpbGVkOiAlZFxuIiwgR2V0TGFzdEVycm9yKCkpOwotICAgICAgICAgICAgICAgIENsb3NlSGFuZGxlKGhzcCk7Ci0gICAgICAgICAgICAgICAgQ2xvc2VIYW5kbGUoaHNtKTsKLSAgICAgICAgICAgICAgICBDbG9zZUhhbmRsZShocCk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIDE7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIENsb3NlSGFuZGxlKGhwKTsKLSAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgIH0gd2hpbGUgKE1vZHVsZTMyTmV4dFcoaHNtLCAmbWUpKTsKLQotICAgICAgICBDbG9zZUhhbmRsZShoc20pOwotCi0gICAgfSB3aGlsZSAoUHJvY2VzczMyTmV4dFcoaHNwLCAmcGUpKTsKLQotICAgIENsb3NlSGFuZGxlKGhzcCk7Ci0KLSAgICByZXR1cm4gMDsKLX0KLQotLyogdmk6IHNldCB0cz04IHN3PTQgc3RzPTQgZXhwYW5kdGFiICovCmRpZmYgLS1naXQgYS9QQ2J1aWxkL2tpbGxfcHl0aG9uLnZjeHByb2ogYi9QQ2J1aWxkL2tpbGxfcHl0aG9uLnZjeHByb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlmNjdjNDAuLjAwMDAwMDAKLS0tIGEvUENidWlsZC9raWxsX3B5dGhvbi52Y3hwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsMTIwICswLDAgQEAKLe+7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Ci08UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KLSAgPEl0ZW1Hcm91cCBMYWJlbD0iUHJvamVjdENvbmZpZ3VyYXRpb25zIj4KLSAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWd8V2luMzIiPgotICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+Ci0gICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgotICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+Ci0gICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVnfHg2NCI+Ci0gICAgICA8Q29uZmlndXJhdGlvbj5EZWJ1ZzwvQ29uZmlndXJhdGlvbj4KLSAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgotICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+Ci0gICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8V2luMzIiPgotICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KLSAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+Ci0gICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KLSAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZXx4NjQiPgotICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KLSAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgotICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+Ci0gIDwvSXRlbUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+Ci0gICAgPFByb2plY3RHdWlkPns2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9PC9Qcm9qZWN0R3VpZD4KLSAgICA8Um9vdE5hbWVzcGFjZT5raWxsX3B5dGhvbjwvUm9vdE5hbWVzcGFjZT4KLSAgICA8S2V5d29yZD5XaW4zMlByb2o8L0tleXdvcmQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+Ci0gIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uU2V0dGluZ3MiPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iZGVidWcucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9ImRlYnVnLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iVXNlck1hY3JvcyIgLz4KLSAgPFByb3BlcnR5R3JvdXA+Ci0gICAgPF9Qcm9qZWN0RmlsZVZlcnNpb24+MTAuMC4zMDMxOS4xPC9fUHJvamVjdEZpbGVWZXJzaW9uPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPgotICAgIDxMaW5rPgotICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpJChQcm9qZWN0TmFtZSlfZC5leGU8L091dHB1dEZpbGU+Ci0gICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKSQoUHJvamVjdE5hbWUpX2QuZXhlPC9PdXRwdXRGaWxlPgotICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPgotICAgIDxMaW5rPgotICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0ia2lsbF9weXRob24uYyIgLz4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+Ci0gIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uVGFyZ2V0cyI+Ci0gIDwvSW1wb3J0R3JvdXA+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvUENidWlsZC9raWxsX3B5dGhvbi52Y3hwcm9qLmZpbHRlcnMgYi9QQ2J1aWxkL2tpbGxfcHl0aG9uLnZjeHByb2ouZmlsdGVycwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDMzZDc1MS4uMDAwMDAwMAotLS0gYS9QQ2J1aWxkL2tpbGxfcHl0aG9uLnZjeHByb2ouZmlsdGVycworKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLe+7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Ci08UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPEZpbHRlciBJbmNsdWRlPSJTb3VyY2UgRmlsZXMiPgotICAgICAgPFVuaXF1ZUlkZW50aWZpZXI+ezQ4NjA2NTkxLWM4YjYtNDFhNS05NWM1LTlhMDg5MGM1NTA0Zn08L1VuaXF1ZUlkZW50aWZpZXI+Ci0gICAgPC9GaWx0ZXI+Ci0gIDwvSXRlbUdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0ia2lsbF9weXRob24uYyI+Ci0gICAgICA8RmlsdGVyPlNvdXJjZSBGaWxlczwvRmlsdGVyPgotICAgIDwvQ2xDb21waWxlPgotICA8L0l0ZW1Hcm91cD4KLTwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9QQ2J1aWxkL2xpYmVheS52Y3hwcm9qIGIvUENidWlsZC9saWJlYXkudmN4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZmY1ZTcxCi0tLSAvZGV2L251bGwKKysrIGIvUENidWlsZC9saWJlYXkudmN4cHJvagpAQCAtMCwwICsxLDg5MCBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICA8SXRlbUdyb3VwIExhYmVsPSJQcm9qZWN0Q29uZmlndXJhdGlvbnMiPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJEZWJ1Z3xXaW4zMiI+CisgICAgICA8Q29uZmlndXJhdGlvbj5EZWJ1ZzwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZXxXaW4zMiI+CisgICAgICA8Q29uZmlndXJhdGlvbj5SZWxlYXNlPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJQR0luc3RydW1lbnR8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UEdJbnN0cnVtZW50PC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJQR0luc3RydW1lbnR8eDY0Ij4KKyAgICAgIDxDb25maWd1cmF0aW9uPlBHSW5zdHJ1bWVudDwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlBHVXBkYXRlfFdpbjMyIj4KKyAgICAgIDxDb25maWd1cmF0aW9uPlBHVXBkYXRlPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJQR1VwZGF0ZXx4NjQiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UEdVcGRhdGU8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJEZWJ1Z3x4NjQiPgorICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJSZWxlYXNlfHg2NCI+CisgICAgICA8Q29uZmlndXJhdGlvbj5SZWxlYXNlPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgPC9JdGVtR3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KKyAgICA8UHJvamVjdEd1aWQ+e0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH08L1Byb2plY3RHdWlkPgorICAgIDxSb290TmFtZXNwYWNlPmxpYmVheTwvUm9vdE5hbWVzcGFjZT4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorCisgIDxJbXBvcnQgUHJvamVjdD0icHl0aG9uLnByb3BzIiAvPgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgorCisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+U3RhdGljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgIAorICA8SW1wb3J0IFByb2plY3Q9Im9wZW5zc2wucHJvcHMiIC8+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgorCisgIDxUYXJnZXQgTmFtZT0iQ3JlYXRlQnVpbGRpbmZIIiBJbnB1dHM9IiQoTVNCdWlsZFByb2plY3RGdWxsUGF0aCkiIE91dHB1dHM9IiQoSW50RGlyKVxidWlsZGluZi5oIiBBZnRlclRhcmdldHM9IlByZXBhcmVGb3JCdWlsZCI+CisgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICA8X0RBVEVWYWx1ZT4jZGVmaW5lIERBVEUgIiQoW1N5c3RlbS5EYXRlVGltZV06Ok5vdy5Ub1N0cmluZyhgZGRkIE1NTSBkZCBISCc6J21tJzonc3MgeXl5eWApKSI8L19EQVRFVmFsdWU+CisgICAgICA8X0NGTEFHU1ZhbHVlPiNkZWZpbmUgQ0ZMQUdTICJjbCAvTUQgL094IC1XMyAtR3MwIC1HeSAtbm9sb2dvIEAoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMtPictRCUoSWRlbnRpdHkpJywnICcpIjwvX0NGTEFHU1ZhbHVlPgorICAgICAgPF9QTEFURk9STVZhbHVlIENvbmRpdGlvbj0iJChQbGF0Zm9ybSk9PSdXaW4zMiciPiNkZWZpbmUgUExBVEZPUk0gIlZDLVdJTjMyIjwvX1BMQVRGT1JNVmFsdWU+CisgICAgICA8X1BMQVRGT1JNVmFsdWUgQ29uZGl0aW9uPSIkKFBsYXRmb3JtKT09J3g2NCciPiNkZWZpbmUgUExBVEZPUk0gIlZDLVdJTjY0QSI8L19QTEFURk9STVZhbHVlPgorICAgIDwvUHJvcGVydHlHcm91cD4KKyAgICA8V3JpdGVMaW5lc1RvRmlsZSBGaWxlPSIkKEludERpcilcYnVpbGRpbmYuaCIKKyAgICAgICAgICAgICAgICAgICAgICBMaW5lcz0iJChfREFURVZhbHVlKTskKF9DRkxBR1NWYWx1ZSk7JChfUExBVEZPUk1WYWx1ZSkiCisgICAgICAgICAgICAgICAgICAgICAgT3ZlcndyaXRlPSJ0cnVlIiAvPgorICAgIDxNZXNzYWdlIFRleHQ9IlVwZGF0aW5nIGJ1aWxkaW5mLmg6CisgICAgJChfREFURVZhbHVlKQorICAgICQoX0NGTEFHU1ZhbHVlKQorICAgICQoX1BMQVRGT1JNVmFsdWUpIiBJbXBvcnRhbmNlPSJub3JtYWwiIC8+CisgIDwvVGFyZ2V0PgorCisgIDxUYXJnZXQgTmFtZT0iU3VwcHJlc3NPcmlnaW5hbEJ1aWxkaW5mSCIgQ29uZGl0aW9uPSJFeGlzdHMoJyQob3BlbnNzbERpciljcnlwdG9cYnVpbGRpbmYuaCcpIiBCZWZvcmVUYXJnZXRzPSJQcmVwYXJlRm9yQnVpbGQiPgorICAgIDxNb3ZlIFNvdXJjZUZpbGVzPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJ1aWxkaW5mLmgiIERlc3RpbmF0aW9uRmlsZXM9IiQob3BlbnNzbERpciljcnlwdG9cYnVpbGRpbmYuaC5vcmlnIiAvPgorICA8L1RhcmdldD4KKworICA8SXRlbUdyb3VwPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xjdmVyc2lvbi5jIj4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQoSW50RGlyKTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgorICAgIDwvQ2xDb21waWxlPgorICA8L0l0ZW1Hcm91cD4KKyAgCisgIDxJdGVtR3JvdXA+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWFwcHNcZXJyc3RyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFlc1xhZXNfY2ZiLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFlc1xhZXNfY3RyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFlc1xhZXNfZWNiLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFlc1xhZXNfaWdlLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFlc1xhZXNfbWlzYy5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYWVzXGFlc19vZmIuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYWVzXGFlc193cmFwLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcYV9iaXRzdHIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVxhX2Jvb2wuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVxhX2J5dGVzLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcYV9kMmlfZnAuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVxhX2RpZ2VzdC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXGFfZHVwLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcYV9lbnVtLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcYV9nZW50bS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXGFfaTJkX2ZwLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcYV9pbnQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVxhX21ic3RyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcYV9vYmplY3QuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVxhX29jdGV0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcYV9wcmludC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXGFfc2V0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcYV9zaWduLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcYV9zdHJleC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXGFfc3RybmlkLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcYV90aW1lLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcYV90eXBlLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcYV91dGN0bS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXGFfdXRmOC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXGFfdmVyaWZ5LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcYW1ldGhfbGliLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcYXNuX21pbWUuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVxhc25fbW9pZC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXGFzbl9wYWNrLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcYXNuMV9lcnIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVxhc24xX2dlbi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXGFzbjFfbGliLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcYXNuMV9wYXIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVxiaW9fYXNuMS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXGJpb19uZGVmLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcZDJpX3ByLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXGQyaV9wdS5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXGV2cF9hc24xLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXGZfZW51bS5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXGZfaW50LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcZl9zdHJpbmcuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVxpMmRfcHIuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcaTJkX3B1LmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcbl9wa2V5LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcbnNzZXEuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVxwNV9wYmUuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVxwNV9wYmV2Mi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXHA4X3BrZXkuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcdF9iaXRzdC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXHRfY3JsLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcdF9wa2V5LmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXHRfcmVxLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcdF9zcGtpLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcdF94NTA5LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcdF94NTA5YS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXHRhc25fZGVjLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcdGFzbl9lbmMuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVx0YXNuX2ZyZS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXHRhc25fbmV3LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcdGFzbl9wcm4uYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVx0YXNuX3R5cC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXHRhc25fdXRsLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFceF9hbGdvci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXHhfYXR0cmliLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFceF9iaWdudW0uYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVx4X2NybC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXHhfZXh0ZW4uYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVx4X2luZm8uYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVx4X2xvbmcuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVx4X25hbWUuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVx4X254NTA5LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFceF9wa2V5LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFceF9wdWJrZXkuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVx4X3JlcS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXHhfc2lnLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFceF9zcGtpLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFceF92YWwuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVx4X3g1MDkuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVx4X3g1MDlhLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJmXGJmX2NmYjY0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJmXGJmX2VjYi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiZlxiZl9vZmI2NC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiZlxiZl9za2V5LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJpb1xiX2R1bXAuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYmlvXGJfcHJpbnQuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJpb1xiX3NvY2suYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYmlvXGJmX2J1ZmYuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJpb1xiZl9uYmlvLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJpb1xiZl9udWxsLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJpb1xiaW9fY2IuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYmlvXGJpb19lcnIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYmlvXGJpb19saWIuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJpb1xic3NfYWNwdC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiaW9cYnNzX2Jpby5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiaW9cYnNzX2Nvbm4uYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYmlvXGJzc19kZ3JhbS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiaW9cYnNzX2ZkLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJpb1xic3NfZmlsZS5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYmlvXGJzc19sb2cuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYmlvXGJzc19tZW0uYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYmlvXGJzc19udWxsLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJpb1xic3Nfc29jay5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiblxibl9hZGQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYm5cYm5fYmxpbmQuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJuXGJuX2NvbnN0LmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJuXGJuX2N0eC5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYm5cYm5fZGVwci5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiblxibl9kaXYuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYm5cYm5fZXJyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJuXGJuX2V4cC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiblxibl9leHAyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJuXGJuX2djZC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiblxibl9nZjJtLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJuXGJuX2tyb24uYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYm5cYm5fbGliLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJuXGJuX21vZC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiblxibl9tb250LmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiblxibl9tcGkuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYm5cYm5fbXVsLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJuXGJuX25pc3QuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYm5cYm5fcHJpbWUuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYm5cYm5fcHJpbnQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYm5cYm5fcmFuZC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiblxibl9yZWNwLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJuXGJuX3NoaWZ0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJuXGJuX3Nxci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiblxibl9zcXJ0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJuXGJuX3dvcmQuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJuXGJuX3g5MzFwLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJ1ZmZlclxidWZfZXJyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJ1ZmZlclxidWZfc3RyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJ1ZmZlclxidWZmZXIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cY2FtZWxsaWFcY21sbF9jZmIuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGNhbWVsbGlhXGNtbGxfY3RyLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGNhbWVsbGlhXGNtbGxfZWNiLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGNhbWVsbGlhXGNtbGxfb2ZiLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGNhbWVsbGlhXGNtbGxfdXRsLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGNhc3RcY19jZmI2NC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xjYXN0XGNfZWNiLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGNhc3RcY19vZmI2NC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xjYXN0XGNfc2tleS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xjbWFjXGNtX2FtZXRoLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGNtYWNcY21fcG1ldGguYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cY21hY1xjbWFjLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGNtc1xjbXNfYXNuMS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xjbXNcY21zX2F0dC5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cY21zXGNtc19jZC5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xjbXNcY21zX2RkLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGNtc1xjbXNfZW5jLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGNtc1xjbXNfZW52LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGNtc1xjbXNfZXJyLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xjbXNcY21zX2Vzcy5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xjbXNcY21zX2lvLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGNtc1xjbXNfbGliLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGNtc1xjbXNfcHdyaS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xjbXNcY21zX3NkLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xjbXNcY21zX3NtaW1lLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGNvbXBcY19ybGUuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cY29tcFxjX3psaWIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cY29tcFxjb21wX2Vyci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xjb21wXGNvbXBfbGliLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGNvbmZcY29uZl9hcGkuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cY29uZlxjb25mX2RlZi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xjb25mXGNvbmZfZXJyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGNvbmZcY29uZl9saWIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cY29uZlxjb25mX21hbGwuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cY29uZlxjb25mX21vZC5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cY29uZlxjb25mX3NhcC5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xjcHRfZXJyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGNyeXB0bGliLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRlc1xjYmNfY2tzbS5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZGVzXGNiY19lbmMuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZGVzXGNmYl9lbmMuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZGVzXGNmYjY0ZWRlLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRlc1xjZmI2NGVuYy5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZGVzXGRlc19vbGQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZGVzXGRlc19vbGQyLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRlc1xlY2JfZW5jLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRlc1xlY2IzX2VuYy5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZGVzXGVkZV9jYmNtX2VuYy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkZXNcZW5jX3JlYWQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZGVzXGVuY193cml0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRlc1xmY3J5cHQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZGVzXG9mYl9lbmMuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZGVzXG9mYjY0ZWRlLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRlc1xvZmI2NGVuYy5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZGVzXHBjYmNfZW5jLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRlc1xxdWRfY2tzbS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkZXNccmFuZF9rZXkuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZGVzXHJlYWQycHdkLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRlc1xycGNfZW5jLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRlc1xzZXRfa2V5LmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkZXNcc3RyMmtleS5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkZXNceGNiY19lbmMuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZGhcZGhfYW1ldGguYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZGhcZGhfYXNuMS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkaFxkaF9jaGVjay5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZGhcZGhfZGVwci5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkaFxkaF9lcnIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZGhcZGhfZ2VuLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRoXGRoX2tleS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkaFxkaF9saWIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZGhcZGhfcG1ldGguYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRoXGRoX3Bybi5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkc2FcZHNhX2FtZXRoLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRzYVxkc2FfYXNuMS5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZHNhXGRzYV9kZXByLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRzYVxkc2FfZXJyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRzYVxkc2FfZ2VuLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRzYVxkc2Ffa2V5LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRzYVxkc2FfbGliLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRzYVxkc2Ffb3NzbC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkc2FcZHNhX3BtZXRoLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkc2FcZHNhX3Bybi5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkc2FcZHNhX3NpZ24uYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZHNhXGRzYV92cmYuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRzb1xkc29fYmVvcy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkc29cZHNvX2RsLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRzb1xkc29fZGxmY24uYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZHNvXGRzb19lcnIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZHNvXGRzb19saWIuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRzb1xkc29fbnVsbC5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkc29cZHNvX29wZW5zc2wuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRzb1xkc29fdm1zLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRzb1xkc29fd2luMzIuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGViY2RpYy5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlY1xlY19hbWV0aC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlY1xlY19hc24xLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlY1xlY19jaGVjay5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlY1xlY19jdXJ2ZS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlY1xlY19jdnQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZWNcZWNfZXJyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVjXGVjX2tleS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlY1xlY19saWIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZWNcZWNfbXVsdC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlY1xlY19vY3QuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZWNcZWNfcG1ldGguYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZWNcZWNfcHJpbnQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZWNcZWMyX211bHQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZWNcZWMyX29jdC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlY1xlYzJfc21wbC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlY1xlY2tfcHJuLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVjXGVjcF9tb250LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVjXGVjcF9uaXN0LmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlY1xlY3BfbmlzdHAyMjQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZWNcZWNwX25pc3RwMjU2LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVjXGVjcF9uaXN0cDUyMS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlY1xlY3BfbmlzdHB1dGlsLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVjXGVjcF9vY3QuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZWNcZWNwX3NtcGwuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZWNkaFxlY2hfZXJyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVjZGhcZWNoX2tleS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlY2RoXGVjaF9saWIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZWNkaFxlY2hfb3NzbC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlY2RzYVxlY3NfYXNuMS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlY2RzYVxlY3NfZXJyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVjZHNhXGVjc19saWIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZWNkc2FcZWNzX29zc2wuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZWNkc2FcZWNzX3NpZ24uYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZWNkc2FcZWNzX3ZyZi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlbmdpbmVcZW5nX2FsbC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlbmdpbmVcZW5nX2NuZi5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZW5naW5lXGVuZ19jcnlwdG9kZXYuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZW5naW5lXGVuZ19jdHJsLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVuZ2luZVxlbmdfZHluLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVuZ2luZVxlbmdfZXJyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVuZ2luZVxlbmdfZmF0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVuZ2luZVxlbmdfaW5pdC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlbmdpbmVcZW5nX2xpYi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlbmdpbmVcZW5nX2xpc3QuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVuZ2luZVxlbmdfb3BlbnNzbC5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlbmdpbmVcZW5nX3BrZXkuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVuZ2luZVxlbmdfcmRyYW5kLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVuZ2luZVxlbmdfcnNheC5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlbmdpbmVcZW5nX3RhYmxlLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVuZ2luZVx0Yl9hc25tdGguYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZW5naW5lXHRiX2NpcGhlci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlbmdpbmVcdGJfZGguYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZW5naW5lXHRiX2RpZ2VzdC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlbmdpbmVcdGJfZHNhLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVuZ2luZVx0Yl9lY2RoLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVuZ2luZVx0Yl9lY2RzYS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlbmdpbmVcdGJfcGttZXRoLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVuZ2luZVx0Yl9yYW5kLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVuZ2luZVx0Yl9yc2EuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVuZ2luZVx0Yl9zdG9yZS5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlcnJcZXJyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVyclxlcnJfYWxsLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVyclxlcnJfcHJuLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxiaW9fYjY0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxiaW9fZW5jLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxiaW9fbWQuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxiaW9fb2suYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXGNfYWxsLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxjX2FsbGMuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXGNfYWxsZC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBcZGlnZXN0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxlX2Flcy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBcZV9hZXNfY2JjX2htYWNfc2hhMS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBcZV9iZi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBcZV9jYW1lbGxpYS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBcZV9jYXN0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxlX2Rlcy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBcZV9kZXMzLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBcZV9pZGVhLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxlX251bGwuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxlX29sZC5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBcZV9yYzIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXGVfcmM0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxlX3JjNF9obWFjX21kNS5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXGVfcmM1LmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxlX3NlZWQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXGVfeGNiY19kLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxlbmNvZGUuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxldnBfYWNuZi5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBcZXZwX2NuZi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBcZXZwX2VuYy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBcZXZwX2Vyci5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXGV2cF9maXBzLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxldnBfa2V5LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxldnBfbGliLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxldnBfcGJlLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxldnBfcGtleS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBcbV9kc3MuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXG1fZHNzMS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBcbV9lY2RzYS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBcbV9tZDQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXG1fbWQ1LmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBcbV9udWxsLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxtX3JpcGVtZC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBcbV9zaGEuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXG1fc2hhMS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBcbV9zaWd2ZXIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXG1fd3AuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXG5hbWVzLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBccF9kZWMuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXHBfbGliLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBccF9vcGVuLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxwX3NlYWwuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXHBfc2lnbi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBccF92ZXJpZnkuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXHA1X2NycHQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXHA1X2NycHQyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxwbWV0aF9mbi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBccG1ldGhfZ24uYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXHBtZXRoX2xpYi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xleF9kYXRhLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xmaXBzX2Vycy5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xobWFjXGhtX2FtZXRoLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGhtYWNcaG1fcG1ldGguYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9caG1hY1xobWFjLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xrcmI1XGtyYjVfYXNuLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGxoYXNoXGxoX3N0YXRzLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGxoYXNoXGxoYXNoLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXG1kNFxtZDRfZGdzdC5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cbWQ0XG1kNF9vbmUuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cbWQ1XG1kNV9kZ3N0LmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xtZDVcbWQ1X29uZS5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xtZW0uYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cbWVtX2RiZy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xtb2Rlc1xjYmMxMjguYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cbW9kZXNcY2NtMTI4LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXG1vZGVzXGNmYjEyOC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xtb2Rlc1xjdHIxMjguYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cbW9kZXNcY3RzMTI4LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXG1vZGVzXGdjbTEyOC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xtb2Rlc1xvZmIxMjguYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cbW9kZXNceHRzMTI4LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXG9fZGlyLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xvX2ZpcHMuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cb19pbml0LmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xvX3N0ci5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xvX3RpbWUuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cb2JqZWN0c1xvX25hbWVzLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXG9iamVjdHNcb2JqX2RhdC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xvYmplY3RzXG9ial9lcnIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cb2JqZWN0c1xvYmpfbGliLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXG9iamVjdHNcb2JqX3hyZWYuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cb2NzcFxvY3NwX2Fzbi5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cb2NzcFxvY3NwX2NsLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXG9jc3Bcb2NzcF9lcnIuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXG9jc3Bcb2NzcF9leHQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cb2NzcFxvY3NwX2h0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXG9jc3Bcb2NzcF9saWIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cb2NzcFxvY3NwX3Bybi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xvY3NwXG9jc3Bfc3J2LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXG9jc3Bcb2NzcF92ZnkuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccGVtXHBlbV9hbGwuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccGVtXHBlbV9lcnIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccGVtXHBlbV9pbmZvLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHBlbVxwZW1fbGliLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHBlbVxwZW1fb3RoLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHBlbVxwZW1fcGs4LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHBlbVxwZW1fcGtleS5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccGVtXHBlbV9zZWFsLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHBlbVxwZW1fc2lnbi5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xwZW1ccGVtX3g1MDkuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccGVtXHBlbV94YXV4LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHBlbVxwdmtmbXQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccGtjczEyXHAxMl9hZGQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccGtjczEyXHAxMl9hc24uYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccGtjczEyXHAxMl9hdHRyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHBrY3MxMlxwMTJfY3JwdC5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccGtjczEyXHAxMl9jcnQuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccGtjczEyXHAxMl9kZWNyLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xwa2NzMTJccDEyX2luaXQuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccGtjczEyXHAxMl9rZXkuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccGtjczEyXHAxMl9raXNzLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHBrY3MxMlxwMTJfbXV0bC5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccGtjczEyXHAxMl9ucGFzLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHBrY3MxMlxwMTJfcDhkLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHBrY3MxMlxwMTJfcDhlLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHBrY3MxMlxwMTJfdXRsLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHBrY3MxMlxwazEyZXJyLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xwa2NzN1xiaW9fcGs3LmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHBrY3M3XHBrN19hc24xLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHBrY3M3XHBrN19hdHRyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHBrY3M3XHBrN19kb2l0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHBrY3M3XHBrN19saWIuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHBrY3M3XHBrN19taW1lLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHBrY3M3XHBrN19zbWltZS5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xwa2NzN1xwa2NzN2Vyci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xwcXVldWVccHF1ZXVlLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHJhbmRcbWRfcmFuZC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xyYW5kXHJhbmRfZWdkLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHJhbmRccmFuZF9lcnIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccmFuZFxyYW5kX2xpYi5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccmFuZFxyYW5kX253LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHJhbmRccmFuZF9vczIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccmFuZFxyYW5kX3VuaXguYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccmFuZFxyYW5kX3dpbi5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccmFuZFxyYW5kZmlsZS5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xyYzJccmMyX2NiYy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xyYzJccmMyX2VjYi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xyYzJccmMyX3NrZXkuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccmMyXHJjMmNmYjY0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHJjMlxyYzJvZmI2NC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xyYzRccmM0X3V0bC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xyaXBlbWRccm1kX2Rnc3QuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHJpcGVtZFxybWRfb25lLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHJzYVxyc2FfYW1ldGguYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccnNhXHJzYV9hc24xLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xyc2FccnNhX2Noay5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xyc2FccnNhX2NycHQuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHJzYVxyc2FfZGVwci5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xyc2FccnNhX2VheS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xyc2FccnNhX2Vyci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xyc2FccnNhX2dlbi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xyc2FccnNhX2xpYi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xyc2FccnNhX25vbmUuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHJzYVxyc2FfbnVsbC5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xyc2FccnNhX29hZXAuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccnNhXHJzYV9wazEuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccnNhXHJzYV9wbWV0aC5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccnNhXHJzYV9wcm4uYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccnNhXHJzYV9wc3MuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccnNhXHJzYV9zYW9zLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHJzYVxyc2Ffc2lnbi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xyc2FccnNhX3NzbC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xyc2FccnNhX3g5MzEuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cc2VlZFxzZWVkLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHNlZWRcc2VlZF9jYmMuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cc2VlZFxzZWVkX2NmYi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xzZWVkXHNlZWRfZWNiLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHNlZWRcc2VlZF9vZmIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cc2hhXHNoYV9kZ3N0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHNoYVxzaGFfb25lLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHNoYVxzaGExX29uZS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xzaGFcc2hhMWRnc3QuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cc2hhXHNoYTI1Ni5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xzaGFcc2hhNTEyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHNycFxzcnBfbGliLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHNycFxzcnBfdmZ5LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHN0YWNrXHN0YWNrLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x0c1x0c19hc24xLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHRzXHRzX2NvbmYuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cdHNcdHNfZXJyLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x0c1x0c19saWIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cdHNcdHNfcmVxX3ByaW50LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHRzXHRzX3JlcV91dGlscy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x0c1x0c19yc3BfcHJpbnQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cdHNcdHNfcnNwX3NpZ24uYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cdHNcdHNfcnNwX3V0aWxzLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHRzXHRzX3JzcF92ZXJpZnkuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cdHNcdHNfdmVyaWZ5X2N0eC5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x0eHRfZGJcdHh0X2RiLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x1aVx1aV9jb21wYXQuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cdWlcdWlfZXJyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHVpXHVpX2xpYi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x1aVx1aV9vcGVuc3NsLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHVpXHVpX3V0aWwuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHVpZC5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x3aHJscG9vbFx3cF9kZ3N0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDlcYnlfZGlyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDlcYnlfZmlsZS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5XHhfYWxsLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDlceDUwOV9hdHQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOVx4NTA5X2NtcC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5XHg1MDlfZDIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOVx4NTA5X2RlZi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5XHg1MDlfZXJyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDlceDUwOV9leHQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOVx4NTA5X2x1LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDlceDUwOV9vYmouYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDlceDUwOV9yMnguYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOVx4NTA5X3JlcS5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOVx4NTA5X3NldC5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5XHg1MDlfdHJzLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5XHg1MDlfdHh0LmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDlceDUwOV92My5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5XHg1MDlfdmZ5LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDlceDUwOV92cG0uYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDlceDUwOWNzZXQuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOVx4NTA5bmFtZS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5XHg1MDlyc2V0LmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5XHg1MDlzcGtpLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDlceDUwOXR5cGUuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOXYzXHBjeV9jYWNoZS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5djNccGN5X2RhdGEuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOXYzXHBjeV9saWIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOXYzXHBjeV9tYXAuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOXYzXHBjeV9ub2RlLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDl2M1xwY3lfdHJlZS5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOXYzXHYzX2FkZHIuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOXYzXHYzX2FrZXkuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOXYzXHYzX2FrZXlhLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDl2M1x2M19hbHQuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDl2M1x2M19hc2lkLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDl2M1x2M19iY29ucy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5djNcdjNfYml0c3QuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOXYzXHYzX2NvbmYuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOXYzXHYzX2Nwb2xzLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDl2M1x2M19jcmxkLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDl2M1x2M19lbnVtLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDl2M1x2M19leHRrdS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5djNcdjNfZ2Vubi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5djNcdjNfaWE1LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDl2M1x2M19pbmZvLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDl2M1x2M19pbnQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOXYzXHYzX2xpYi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5djNcdjNfbmNvbnMuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOXYzXHYzX29jc3AuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOXYzXHYzX3BjaS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5djNcdjNfcGNpYS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5djNcdjNfcGNvbnMuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOXYzXHYzX3BrdS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5djNcdjNfcG1hcHMuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOXYzXHYzX3Bybi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5djNcdjNfcHVycC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5djNcdjNfc2tleS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5djNcdjNfc3huZXQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOXYzXHYzX3V0bC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5djNcdjNlcnIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcillbmdpbmVzXGNjZ29zdFxlX2dvc3RfZXJyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpZW5naW5lc1xjY2dvc3RcZ29zdF9hbWV0aC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWVuZ2luZXNcY2Nnb3N0XGdvc3RfYXNuMS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWVuZ2luZXNcY2Nnb3N0XGdvc3RfY3J5cHQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcillbmdpbmVzXGNjZ29zdFxnb3N0X2N0bC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWVuZ2luZXNcY2Nnb3N0XGdvc3RfZW5nLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpZW5naW5lc1xjY2dvc3RcZ29zdF9rZXl3cmFwLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpZW5naW5lc1xjY2dvc3RcZ29zdF9tZC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWVuZ2luZXNcY2Nnb3N0XGdvc3RfcGFyYW1zLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpZW5naW5lc1xjY2dvc3RcZ29zdF9wbWV0aC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWVuZ2luZXNcY2Nnb3N0XGdvc3Rfc2lnbi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWVuZ2luZXNcY2Nnb3N0XGdvc3QyMDAxLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpZW5naW5lc1xjY2dvc3RcZ29zdDIwMDFfa2V5eC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWVuZ2luZXNcY2Nnb3N0XGdvc3Q4OS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWVuZ2luZXNcY2Nnb3N0XGdvc3Q5NF9rZXl4LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpZW5naW5lc1xjY2dvc3RcZ29zdGhhc2guYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcillbmdpbmVzXGVfNDc1OGNjYS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWVuZ2luZXNcZV9hZXAuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcillbmdpbmVzXGVfYXRhbGxhLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpZW5naW5lc1xlX2NhcGkuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcillbmdpbmVzXGVfY2hpbC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWVuZ2luZXNcZV9jc3dpZnQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcillbmdpbmVzXGVfZ21wLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpZW5naW5lc1xlX251cm9uLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpZW5naW5lc1xlX3BhZGxvY2suYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcillbmdpbmVzXGVfc3VyZXdhcmUuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcillbmdpbmVzXGVfdWJzZWMuYyIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJdGVtR3JvdXAgQ29uZGl0aW9uPSIkKFBsYXRmb3JtKSA9PSAnV2luMzInIj4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cd2hybHBvb2xcd3BfYmxvY2suYyIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJdGVtR3JvdXAgQ29uZGl0aW9uPSIkKFBsYXRmb3JtKSA9PSAneDY0JyI+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJmXGJmX2VuYy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiblxibl9hc20uYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cY2FtZWxsaWFcY21sbF9taXNjLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGNhc3RcY19lbmMuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZGVzXGRlc19lbmMuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZGVzXGZjcnlwdF9iLmMiIC8+CisgIDwvSXRlbUdyb3VwPgorICAgIAorICA8SXRlbUdyb3VwIENvbmRpdGlvbj0iJChQbGF0Zm9ybSkgPT0gJ1dpbjMyJyI+CisgICAgPE5hc21Db21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcil0bXAzMlxhZXMtNTg2LmFzbSIgLz4KKyAgICA8TmFzbUNvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXRtcDMyXGFlc25pLXg4Ni5hc20iIC8+CisgICAgPE5hc21Db21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcil0bXAzMlxiZi01ODYuYXNtIiAvPgorICAgIDxOYXNtQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpdG1wMzJcYm4tNTg2LmFzbSIgLz4KKyAgICA8TmFzbUNvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXRtcDMyXGNhc3QtNTg2LmFzbSIgLz4KKyAgICA8TmFzbUNvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXRtcDMyXGNtbGwteDg2LmFzbSIgLz4KKyAgICA8TmFzbUNvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXRtcDMyXGNvLTU4Ni5hc20iIC8+CisgICAgPE5hc21Db21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcil0bXAzMlxjcnlwdDU4Ni5hc20iIC8+CisgICAgPE5hc21Db21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcil0bXAzMlxkZXMtNTg2LmFzbSIgLz4KKyAgICA8TmFzbUNvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXRtcDMyXGdoYXNoLXg4Ni5hc20iIC8+CisgICAgPE5hc21Db21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcil0bXAzMlxtZDUtNTg2LmFzbSIgLz4KKyAgICA8TmFzbUNvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXRtcDMyXHJjNC01ODYuYXNtIiAvPgorICAgIDxOYXNtQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpdG1wMzJccm1kLTU4Ni5hc20iIC8+CisgICAgPE5hc21Db21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcil0bXAzMlxzaGExLTU4Ni5hc20iIC8+CisgICAgPE5hc21Db21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcil0bXAzMlxzaGEyNTYtNTg2LmFzbSIgLz4KKyAgICA8TmFzbUNvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXRtcDMyXHNoYTUxMi01ODYuYXNtIiAvPgorICAgIDxOYXNtQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpdG1wMzJcdnBhZXMteDg2LmFzbSIgLz4KKyAgICA8TmFzbUNvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXRtcDMyXHdwLW1teC5hc20iIC8+CisgICAgPE5hc21Db21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcil0bXAzMlx4ODZjcHVpZC5hc20iIC8+CisgICAgPE5hc21Db21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcil0bXAzMlx4ODYtZ2YybS5hc20iIC8+CisgICAgPE5hc21Db21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcil0bXAzMlx4ODYtbW9udC5hc20iIC8+CisgIDwvSXRlbUdyb3VwPgorICA8SXRlbUdyb3VwIENvbmRpdGlvbj0iJChQbGF0Zm9ybSkgPT0gJ3g2NCciPgorICAgIDxOYXNtQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpdG1wNjRcYWVzbmktc2hhMS14ODZfNjQuYXNtIiAvPgorICAgIDxOYXNtQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpdG1wNjRcYWVzbmktc2hhMS14ODZfNjQuYXNtIiAvPgorICAgIDxOYXNtQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpdG1wNjRcYWVzbmkteDg2XzY0LmFzbSIgLz4KKyAgICA8TmFzbUNvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXRtcDY0XGFlcy14ODZfNjQuYXNtIiAvPgorICAgIDxOYXNtQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpdG1wNjRcYnNhZXMteDg2XzY0LmFzbSIgLz4KKyAgICA8TmFzbUNvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXRtcDY0XGNtbGwteDg2XzY0LmFzbSIgLz4KKyAgICA8TmFzbUNvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXRtcDY0XGdoYXNoLXg4Nl82NC5hc20iIC8+CisgICAgPE5hc21Db21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcil0bXA2NFxtZDUteDg2XzY0LmFzbSIgLz4KKyAgICA8TmFzbUNvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXRtcDY0XG1vZGV4cDUxMi14ODZfNjQuYXNtIiAvPgorICAgIDxOYXNtQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpdG1wNjRccmM0LW1kNS14ODZfNjQuYXNtIiAvPgorICAgIDxOYXNtQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpdG1wNjRccmM0LXg4Nl82NC5hc20iIC8+CisgICAgPE5hc21Db21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcil0bXA2NFxzaGExLXg4Nl82NC5hc20iIC8+CisgICAgPE5hc21Db21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcil0bXA2NFxzaGEyNTYteDg2XzY0LmFzbSIgLz4KKyAgICA8TmFzbUNvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXRtcDY0XHNoYTUxMi14ODZfNjQuYXNtIiAvPgorICAgIDxOYXNtQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpdG1wNjRcdnBhZXMteDg2XzY0LmFzbSIgLz4KKyAgICA8TmFzbUNvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXRtcDY0XHdwLXg4Nl82NC5hc20iIC8+CisgICAgPE5hc21Db21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcil0bXA2NFx4ODZfNjRjcHVpZC5hc20iIC8+CisgICAgPE5hc21Db21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcil0bXA2NFx4ODZfNjQtZ2YybS5hc20iIC8+CisgICAgPE5hc21Db21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcil0bXA2NFx4ODZfNjQtbW9udC5hc20iIC8+CisgICAgPE5hc21Db21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcil0bXA2NFx4ODZfNjQtbW9udDUuYXNtIiAvPgorICA8L0l0ZW1Hcm91cD4KKworICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC50YXJnZXRzIiAvPgorICA8VGFyZ2V0IE5hbWU9IkNsZWFuIiAvPgorICA8VGFyZ2V0IE5hbWU9IkNsZWFuQWxsIj4KKyAgICA8RGVsZXRlIEZpbGVzPSIkKFRhcmdldFBhdGgpIiAvPgorICAgIDxSZW1vdmVEaXIgRGlyZWN0b3JpZXM9IiQoSW50RGlyKSIgLz4KKyAgPC9UYXJnZXQ+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvUENidWlsZC9tYWtlX2J1aWxkaW5mby5jIGIvUENidWlsZC9tYWtlX2J1aWxkaW5mby5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmOWFhZGVlLi4wMDAwMDAwCi0tLSBhL1BDYnVpbGQvbWFrZV9idWlsZGluZm8uYworKysgL2Rldi9udWxsCkBAIC0xLDE5NCArMCwwIEBACi0jaW5jbHVkZSA8d2luZG93cy5oPgotI2luY2x1ZGUgPHN5cy90eXBlcy5oPgotI2luY2x1ZGUgPHN5cy9zdGF0Lmg+Ci0jaW5jbHVkZSA8c3RkaW8uaD4KLSNpbmNsdWRlIDxpby5oPgotCi0jZGVmaW5lIENNRF9TSVpFIDUwMAotCi0vKiBUaGlzIGZpbGUgY3JlYXRlcyB0aGUgZ2V0YnVpbGRpbmZvLm8gb2JqZWN0LCBieSBmaXJzdAotICAgaW52b2tpbmcgc3Vid2NyZXYuZXhlIChpZiBmb3VuZCksIGFuZCB0aGVuIGludm9raW5nIGNsLmV4ZS4KLSAgIEFzIGEgc2lkZSBlZmZlY3QsIGl0IG1pZ2h0IGdlbmVyYXRlIFBDQnVpbGRcZ2V0YnVpbGRpbmZvMi5jCi0gICBhbHNvLiBJZiB0aGlzIGlzbid0IGEgc3VidmVyc2lvbiBjaGVja291dCwgb3Igc3Vid2NyZXYgaXNuJ3QKLSAgIGZvdW5kLCBpdCBjb21waWxlcyAuLlxcTW9kdWxlc1xcZ2V0YnVpbGRpbmZvLmMgaW5zdGVhZC4KLQotICAgQ3VycmVudGx5LCBzdWJ3Y3Jldi5leGUgaXMgZm91bmQgZnJvbSB0aGUgcmVnaXN0cnkgZW50cmllcwotICAgb2YgVG9ydG9pc2VTVk4uCi0KLSAgIE5vIGF0dGVtcHQgaXMgbWFkZSB0byBwbGFjZSBnZXRidWlsZGluZm8ubyBpbnRvIHRoZSBwcm9wZXIKLSAgIGJpbmFyeSBkaXJlY3RvcnkuIFRoaXMgaXNuJ3QgbmVjZXNzYXJ5LCBhcyB0aGlzIHRvb2wgaXMKLSAgIGludm9rZWQgYXMgYSBwcmUtbGluayBzdGVwIGZvciBweXRob25jb3JlLCBzbyB0aGF0IG92ZXJ3cml0ZXMKLSAgIGFueSBwcmV2aW91cyBnZXRidWlsZGluZm8uby4KLQotICAgSG93ZXZlciwgaWYgYSBzZWNvbmQgYXJndW1lbnQgaXMgcHJvdmlkZWQsIHRoaXMgd2lsbCBiZSB1c2VkCi0gICBhcyBhIHRlbXBvcmFyeSBkaXJlY3Rvcnkgd2hlcmUgYW55IGdldGJ1aWxkaW5mbzIuYyBhbmQKLSAgIGdldGJ1aWxkaW5mby5vIGZpbGVzIGFyZSBwdXQuICBUaGlzIGlzIHVzZWZ1bCBpZiBtdWx0aXBsZQotICAgY29uZmlndXJhdGlvbnMgYXJlIGJlaW5nIGJ1aWx0IGluIHBhcmFsbGVsLCB0byBhdm9pZCB0aGVtCi0gICB0cmFtcGxpbmcgZWFjaCBvdGhlcidzIGZpbGVzLgotCi0qLwotCi1pbnQgbWFrZV9idWlsZGluZm8yKGNvbnN0IGNoYXIgKnRtcHBhdGgpCi17Ci0gICAgc3RydWN0IF9zdGF0IHN0OwotICAgIEhLRVkgaFRvcnRvaXNlOwotICAgIGNoYXIgY29tbWFuZFtDTURfU0laRSsxXTsKLSAgICBEV09SRCB0eXBlLCBzaXplOwotICAgIGlmIChfc3RhdCgiLnN2biIsICZzdCkgPCAwKQotICAgICAgICByZXR1cm4gMDsKLSAgICAvKiBBbGxvdyBzdXBwcmVzc2lvbiBvZiBzdWJ3Y3Jldi5leGUgaW52b2NhdGlvbiBpZiBhIG5vX3N1YndjcmV2IGZpbGUgaXMgcHJlc2VudC4gKi8KLSAgICBpZiAoX3N0YXQoIm5vX3N1YndjcmV2IiwgJnN0KSA9PSAwKQotICAgICAgICByZXR1cm4gMDsKLSAgICBpZiAoUmVnT3BlbktleShIS0VZX0xPQ0FMX01BQ0hJTkUsICJTb2Z0d2FyZVxcVG9ydG9pc2VTVk4iLCAmaFRvcnRvaXNlKSAhPSBFUlJPUl9TVUNDRVNTICYmCi0gICAgICAgIFJlZ09wZW5LZXkoSEtFWV9DVVJSRU5UX1VTRVIsICJTb2Z0d2FyZVxcVG9ydG9pc2VTVk4iLCAmaFRvcnRvaXNlKSAhPSBFUlJPUl9TVUNDRVNTKQotICAgICAgICAvKiBUb3J0b2lzZSBub3QgaW5zdGFsbGVkICovCi0gICAgICAgIHJldHVybiAwOwotICAgIGNvbW1hbmRbMF0gPSAnIic7ICAvKiBxdW90ZSB0aGUgcGF0aCB0byB0aGUgZXhlY3V0YWJsZSAqLwotICAgIHNpemUgPSBzaXplb2YoY29tbWFuZCkgLSAxOwotICAgIGlmIChSZWdRdWVyeVZhbHVlRXgoaFRvcnRvaXNlLCAiRGlyZWN0b3J5IiwgMCwgJnR5cGUsIGNvbW1hbmQrMSwgJnNpemUpICE9IEVSUk9SX1NVQ0NFU1MgfHwKLSAgICAgICAgdHlwZSAhPSBSRUdfU1opCi0gICAgICAgIC8qIFJlZ2lzdHJ5IGNvcnJ1cHRlZCAqLwotICAgICAgICByZXR1cm4gMDsKLSAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgImJpblxcc3Vid2NyZXYuZXhlIik7Ci0gICAgaWYgKF9zdGF0KGNvbW1hbmQrMSwgJnN0KSA8IDApCi0gICAgICAgIC8qIHN1YndjcmV2LmV4ZSBub3QgcGFydCBvZiB0aGUgcmVsZWFzZSAqLwotICAgICAgICByZXR1cm4gMDsKLSAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgIlwiIC4uIC4uXFxNb2R1bGVzXFxnZXRidWlsZGluZm8uYyBcIiIpOwotICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCB0bXBwYXRoKTsgLyogcXVvdGVkIHRtcHBhdGggKi8KLSAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgImdldGJ1aWxkaW5mbzIuY1wiIik7Ci0gICAgcHV0cyhjb21tYW5kKTsgZmZsdXNoKHN0ZG91dCk7Ci0gICAgaWYgKHN5c3RlbShjb21tYW5kKSA8IDApCi0gICAgICAgIHJldHVybiAwOwotICAgIHJldHVybiAxOwotfQotCi1jb25zdCBjaGFyIERFTElNU1tdID0geyAiIFxuIiB9OwotCi1pbnQgZ2V0X21lcmN1cmlhbF9pbmZvKGNoYXIgKiBoZ2JyYW5jaCwgY2hhciAqIGhndGFnLCBjaGFyICogaGdyZXYsIGludCBzaXplKQotewotICAgIGludCByZXN1bHQgPSAwOwotICAgIGNoYXIgZmlsZW5hbWVbQ01EX1NJWkVdOwotICAgIGNoYXIgY21kbGluZVtDTURfU0laRV07Ci0KLSAgICBzdHJjcHlfcyhmaWxlbmFtZSwgQ01EX1NJWkUsICJ0bXBYWFhYWFgiKTsKLSAgICBpZiAoX21rdGVtcF9zKGZpbGVuYW1lLCBDTURfU0laRSkgPT0gMCkgewotICAgICAgICBpbnQgcmM7Ci0KLSAgICAgICAgc3RyY3B5X3MoY21kbGluZSwgQ01EX1NJWkUsICJoZyBpZCAtYml0ID4gIik7Ci0gICAgICAgIHN0cmNhdF9zKGNtZGxpbmUsIENNRF9TSVpFLCBmaWxlbmFtZSk7Ci0gICAgICAgIHJjID0gc3lzdGVtKGNtZGxpbmUpOwotICAgICAgICBpZiAocmMgPT0gMCkgewotICAgICAgICAgICAgRklMRSAqIGZwOwotICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiAoZm9wZW5fcygmZnAsIGZpbGVuYW1lLCAiciIpID09IDApIHsKLSAgICAgICAgICAgICAgICBjaGFyICogY3AgPSBmZ2V0cyhjbWRsaW5lLCBDTURfU0laRSwgZnApOwotCi0gICAgICAgICAgICAgICAgaWYgKGNwKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNoYXIgKiBjb250ZXh0ID0gTlVMTDsKLSAgICAgICAgICAgICAgICAgICAgY2hhciAqIHRwID0gc3RydG9rX3MoY3AsIERFTElNUywgJmNvbnRleHQpOwotICAgICAgICAgICAgICAgICAgICBpZiAodHApIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHN0cmNweV9zKGhncmV2LCBzaXplLCB0cCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0cCA9IHN0cnRva19zKE5VTEwsIERFTElNUywgJmNvbnRleHQpOwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRwKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyY3B5X3MoaGdicmFuY2gsIHNpemUsIHRwKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cCA9IHN0cnRva19zKE5VTEwsIERFTElNUywgJmNvbnRleHQpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0cCkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJjcHlfcyhoZ3RhZywgc2l6ZSwgdHApOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSAxOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBmY2xvc2UoZnApOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIF91bmxpbmsoZmlsZW5hbWUpOwotICAgIH0KLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi1pbnQgbWFpbihpbnQgYXJnYywgY2hhciphcmd2W10pCi17Ci0gICAgY2hhciBjb21tYW5kW0NNRF9TSVpFXSA9ICJjbC5leGUgLWMgLURfV0lOMzIgLURVU0VfRExfRVhQT1JUIC1EX1dJTkRPV1MgLURXSU4zMiAtRF9XSU5ETEwgIjsKLSAgICBjaGFyIHRtcHBhdGhbQ01EX1NJWkVdID0gIiI7Ci0gICAgaW50IGRvX3VubGluaywgcmVzdWx0OwotICAgIGNoYXIgKnRtcGRpciA9IE5VTEw7Ci0gICAgaWYgKGFyZ2MgPD0gMiB8fCBhcmdjID4gMykgewotICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIm1ha2VfYnVpbGRpbmZvICQoQ29uZmlndXJhdGlvbk5hbWUpIFt0bXBkaXJdXG4iKTsKLSAgICAgICAgcmV0dXJuIEVYSVRfRkFJTFVSRTsKLSAgICB9Ci0gICAgaWYgKHN0cmNtcChhcmd2WzFdLCAiUmVsZWFzZSIpID09IDApIHsKLSAgICAgICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICItTUQgIik7Ci0gICAgfQotICAgIGVsc2UgaWYgKHN0cmNtcChhcmd2WzFdLCAiRGVidWciKSA9PSAwKSB7Ci0gICAgICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCAiLURfREVCVUcgLU1EZCAiKTsKLSAgICB9Ci0gICAgZWxzZSBpZiAoc3RyY21wKGFyZ3ZbMV0sICJSZWxlYXNlSXRhbml1bSIpID09IDApIHsKLSAgICAgICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICItTUQgL1VTRUNMOk1TX0lUQU5JVU0gIik7Ci0gICAgfQotICAgIGVsc2UgaWYgKHN0cmNtcChhcmd2WzFdLCAiUmVsZWFzZUFNRDY0IikgPT0gMCkgewotICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgIi1NRCAiKTsKLSAgICAgICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICItTUQgL1VTRUNMOk1TX09QVEVST04gIik7Ci0gICAgfQotICAgIGVsc2UgewotICAgICAgICBmcHJpbnRmKHN0ZGVyciwgInVuc3VwcG9ydGVkIGNvbmZpZ3VyYXRpb24gJXNcbiIsIGFyZ3ZbMV0pOwotICAgICAgICByZXR1cm4gRVhJVF9GQUlMVVJFOwotICAgIH0KLSAgICBpZiAoYXJnYyA+IDIpIHsKLSAgICAgICAgdG1wZGlyID0gYXJndlsyXTsKLSAgICAgICAgc3RyY2F0X3ModG1wcGF0aCwgX2NvdW50b2YodG1wcGF0aCksIHRtcGRpcik7Ci0gICAgICAgIC8qIEhhY2sgZml4IGZvciBiYWQgY29tbWFuZCBsaW5lOiAgSWYgdGhlIGNvbW1hbmQgaXMgaXNzdWVkIGxpa2UgdGhpczoKLSAgICAgICAgICogJChTb2x1dGlvbkRpciltYWtlX2J1aWxkaW5mby5leGUiIERlYnVnICIkKEludERpcikiCi0gICAgICAgICAqIHdlIHdpbGwgZ2V0IGEgdHJhaWxpbmcgcXVvdGUgYmVjYXVzZSBJbnREaXIgZW5kcyB3aXRoIGEgYmFja3NsYXNoIHRoYXQgdGhlbgotICAgICAgICAgKiBlc2NhcGVzIHRoZSBmaW5hbCAiLiAgVG8gc2ltcGxpZnkgdGhlIGxpZmUgZm9yIGRldmVsb3BlcnMsIGNhdGNoIHRoYXQgcHJvYmxlbQotICAgICAgICAgKiBoZXJlIGJ5IGN1dHRpbmcgaXQgb2ZmLgotICAgICAgICAgKiBUaGUgcHJvcGVyIGNvbW1hbmQgbGluZSwgYnR3IGlzOgotICAgICAgICAgKiAkKFNvbHV0aW9uRGlyKW1ha2VfYnVpbGRpbmZvLmV4ZSIgRGVidWcgIiQoSW50RGlyKVwiCi0gICAgICAgICAqIEhvb3JheSBmb3IgY29tbWFuZCBsaW5lIHBhcnNpbmcgb24gd2luZG93cy4KLSAgICAgICAgICovCi0gICAgICAgIGlmIChzdHJsZW4odG1wcGF0aCkgPiAwICYmIHRtcHBhdGhbc3RybGVuKHRtcHBhdGgpLTFdID09ICciJykKLSAgICAgICAgICAgIHRtcHBhdGhbc3RybGVuKHRtcHBhdGgpLTFdID0gJ1wwJzsKLSAgICAgICAgc3RyY2F0X3ModG1wcGF0aCwgX2NvdW50b2YodG1wcGF0aCksICJcXCIpOwotICAgIH0KLQotICAgIGlmICgoZG9fdW5saW5rID0gbWFrZV9idWlsZGluZm8yKHRtcHBhdGgpKSkgewotICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgIlwiIik7Ci0gICAgICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCB0bXBwYXRoKTsKLSAgICAgICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICJnZXRidWlsZGluZm8yLmNcIiAtRFNVQldDUkVWICIpOwotICAgIH0KLSAgICBlbHNlIHsKLSAgICAgICAgY2hhciBoZ3RhZ1tDTURfU0laRV07Ci0gICAgICAgIGNoYXIgaGdicmFuY2hbQ01EX1NJWkVdOwotICAgICAgICBjaGFyIGhncmV2W0NNRF9TSVpFXTsKLQotICAgICAgICBpZiAoZ2V0X21lcmN1cmlhbF9pbmZvKGhnYnJhbmNoLCBoZ3RhZywgaGdyZXYsIENNRF9TSVpFKSkgewotICAgICAgICAgICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICItREhHQlJBTkNIPVxcXCIiKTsKLSAgICAgICAgICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCBoZ2JyYW5jaCk7Ci0gICAgICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgIlxcXCIiKTsKLQotICAgICAgICAgICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICIgLURIR1RBRz1cXFwiIik7Ci0gICAgICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgaGd0YWcpOwotICAgICAgICAgICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICJcXFwiIik7Ci0KLSAgICAgICAgICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCAiIC1ESEdWRVJTSU9OPVxcXCIiKTsKLSAgICAgICAgICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCBoZ3Jldik7Ci0gICAgICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgIlxcXCIgIik7Ci0gICAgICAgIH0KLSAgICAgICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICIuLlxcTW9kdWxlc1xcZ2V0YnVpbGRpbmZvLmMiKTsKLSAgICB9Ci0gICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICIgLUZvXCIiKTsKLSAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgdG1wcGF0aCk7Ci0gICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICJnZXRidWlsZGluZm8ub1wiIC1JLi5cXEluY2x1ZGUgLUkuLlxcUEMiKTsKLSAgICBwdXRzKGNvbW1hbmQpOyBmZmx1c2goc3Rkb3V0KTsKLSAgICByZXN1bHQgPSBzeXN0ZW0oY29tbWFuZCk7Ci0gICAgaWYgKGRvX3VubGluaykgewotICAgICAgICBjb21tYW5kWzBdID0gJ1wwJzsKLSAgICAgICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICJcIiIpOwotICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgdG1wcGF0aCk7Ci0gICAgICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCAiZ2V0YnVpbGRpbmZvMi5jXCIiKTsKLSAgICAgICAgX3VubGluayhjb21tYW5kKTsKLSAgICB9Ci0gICAgaWYgKHJlc3VsdCA8IDApCi0gICAgICAgIHJldHVybiBFWElUX0ZBSUxVUkU7Ci0gICAgcmV0dXJuIDA7Ci19CmRpZmYgLS1naXQgYS9QQ2J1aWxkL21ha2VfYnVpbGRpbmZvLnZjeHByb2ogYi9QQ2J1aWxkL21ha2VfYnVpbGRpbmZvLnZjeHByb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVlZTdmOTEuLjAwMDAwMDAKLS0tIGEvUENidWlsZC9tYWtlX2J1aWxkaW5mby52Y3hwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsNTIgKzAsMCBAQAot77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgotICA8SXRlbUdyb3VwIExhYmVsPSJQcm9qZWN0Q29uZmlndXJhdGlvbnMiPgotICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJSZWxlYXNlfFdpbjMyIj4KLSAgICAgIDxDb25maWd1cmF0aW9uPlJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+Ci0gICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgotICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+Ci0gIDwvSXRlbUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+Ci0gICAgPFByb2plY3RHdWlkPntDNzNGMEVDMS0zNThCLTQxNzctOTQwRi0wODQ2QUM4QjA0Q0R9PC9Qcm9qZWN0R3VpZD4KLSAgICA8Um9vdE5hbWVzcGFjZT5tYWtlX2J1aWxkaW5mbzwvUm9vdE5hbWVzcGFjZT4KLSAgICA8S2V5d29yZD5XaW4zMlByb2o8L0tleXdvcmQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KLSAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25TZXR0aW5ncyI+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InJlbGVhc2UucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiAvPgotICA8UHJvcGVydHlHcm91cD4KLSAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjQwMjE5LjE8L19Qcm9qZWN0RmlsZVZlcnNpb24+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPE9wdGltaXphdGlvbj5EaXNhYmxlZDwvT3B0aW1pemF0aW9uPgotICAgICAgPElubGluZUZ1bmN0aW9uRXhwYW5zaW9uPk9ubHlFeHBsaWNpdElubGluZTwvSW5saW5lRnVuY3Rpb25FeHBhbnNpb24+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0NPTlNPTEU7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWQ8L1J1bnRpbWVMaWJyYXJ5PgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpbWFrZV9idWlsZGluZm8uZXhlPC9PdXRwdXRGaWxlPgotICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSJtYWtlX2J1aWxkaW5mby5jIiAvPgotICA8L0l0ZW1Hcm91cD4KLSAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4KLSAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25UYXJnZXRzIj4KLSAgPC9JbXBvcnRHcm91cD4KLTwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9QQ2J1aWxkL21ha2VfYnVpbGRpbmZvLnZjeHByb2ouZmlsdGVycyBiL1BDYnVpbGQvbWFrZV9idWlsZGluZm8udmN4cHJvai5maWx0ZXJzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMjI3ZjhjLi4wMDAwMDAwCi0tLSBhL1BDYnVpbGQvbWFrZV9idWlsZGluZm8udmN4cHJvai5maWx0ZXJzCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAot77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8RmlsdGVyIEluY2x1ZGU9IlNvdXJjZSBGaWxlcyI+Ci0gICAgICA8VW5pcXVlSWRlbnRpZmllcj57NEZDNzM3RjEtQzdBNS00Mzc2LUEwNjYtMkEzMkQ3NTJBMkZGfTwvVW5pcXVlSWRlbnRpZmllcj4KLSAgICAgIDxFeHRlbnNpb25zPmNwcDtjO2N4eDtkZWY7b2RsO2lkbDtocGo7YmF0O2FzbTthc214PC9FeHRlbnNpb25zPgotICAgIDwvRmlsdGVyPgotICA8L0l0ZW1Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Im1ha2VfYnVpbGRpbmZvLmMiPgotICAgICAgPEZpbHRlcj5Tb3VyY2UgRmlsZXM8L0ZpbHRlcj4KLSAgICA8L0NsQ29tcGlsZT4KLSAgPC9JdGVtR3JvdXA+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvUENidWlsZC9tYWtlX3ZlcnNpb25pbmZvLnZjeHByb2ogYi9QQ2J1aWxkL21ha2VfdmVyc2lvbmluZm8udmN4cHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWNmNTA3Yi4uMDAwMDAwMAotLS0gYS9QQ2J1aWxkL21ha2VfdmVyc2lvbmluZm8udmN4cHJvagorKysgL2Rldi9udWxsCkBAIC0xLDIwMCArMCwwIEBACi3vu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Ci0gIDxJdGVtR3JvdXAgTGFiZWw9IlByb2plY3RDb25maWd1cmF0aW9ucyI+Ci0gICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVnfFdpbjMyIj4KLSAgICAgIDxDb25maWd1cmF0aW9uPkRlYnVnPC9Db25maWd1cmF0aW9uPgotICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KLSAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgotICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJEZWJ1Z3x4NjQiPgotICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+Ci0gICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KLSAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgotICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJSZWxlYXNlfFdpbjMyIj4KLSAgICAgIDxDb25maWd1cmF0aW9uPlJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+Ci0gICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgotICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+Ci0gICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8eDY0Ij4KLSAgICAgIDxDb25maWd1cmF0aW9uPlJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+Ci0gICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KLSAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgotICA8L0l0ZW1Hcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgotICAgIDxQcm9qZWN0R3VpZD57RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfTwvUHJvamVjdEd1aWQ+Ci0gICAgPFJvb3ROYW1lc3BhY2U+bWFrZV92ZXJzaW9uaW5mbzwvUm9vdE5hbWVzcGFjZT4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPFVzZU9mTWZjPmZhbHNlPC9Vc2VPZk1mYz4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VPZk1mYz5mYWxzZTwvVXNlT2ZNZmM+Ci0gICAgPENoYXJhY3RlclNldD5NdWx0aUJ5dGU8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KLSAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25TZXR0aW5ncyI+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJkZWJ1Zy5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icmVsZWFzZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJkZWJ1Zy5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InJlbGVhc2UucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiAvPgotICA8UHJvcGVydHlHcm91cD4KLSAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjQwMjE5LjE8L19Qcm9qZWN0RmlsZVZlcnNpb24+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KLSAgICA8Q3VzdG9tQnVpbGRTdGVwPgotICAgICAgPE1lc3NhZ2U+QnVpbGQgUEMvcHl0aG9ubnRfcmMoX2QpLmg8L01lc3NhZ2U+Ci0gICAgICA8Q29tbWFuZD5jZCAkKFNvbHV0aW9uRGlyKQotbWFrZV92ZXJzaW9uaW5mby5leGUgJmd0OyAuLlxQQ1xweXRob25udF9yYy5oCi08L0NvbW1hbmQ+Ci0gICAgICA8T3V0cHV0cz4kKFNvbHV0aW9uRGlyKS4uXFBDXHB5dGhvbm50X3JjLmg7JShPdXRwdXRzKTwvT3V0cHV0cz4KLSAgICAgIDxJbnB1dHM+JChTb2x1dGlvbkRpciltYWtlX3ZlcnNpb25pbmZvLmV4ZTwvSW5wdXRzPgotICAgIDwvQ3VzdG9tQnVpbGRTdGVwPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8T3B0aW1pemF0aW9uPk1heFNwZWVkPC9PcHRpbWl6YXRpb24+Ci0gICAgICA8SW5saW5lRnVuY3Rpb25FeHBhbnNpb24+T25seUV4cGxpY2l0SW5saW5lPC9JbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj4KLSAgICAgIDxJbnRyaW5zaWNGdW5jdGlvbnM+dHJ1ZTwvSW50cmluc2ljRnVuY3Rpb25zPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fQ09OU09MRTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8U3RyaW5nUG9vbGluZz50cnVlPC9TdHJpbmdQb29saW5nPgotICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWRETEw8L1J1bnRpbWVMaWJyYXJ5PgotICAgICAgPEZ1bmN0aW9uTGV2ZWxMaW5raW5nPnRydWU8L0Z1bmN0aW9uTGV2ZWxMaW5raW5nPgotICAgICAgPENvbXBpbGVBcz5EZWZhdWx0PC9Db21waWxlQXM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8T3V0cHV0RmlsZT4kKFNvbHV0aW9uRGlyKW1ha2VfdmVyc2lvbmluZm8uZXhlPC9PdXRwdXRGaWxlPgotICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZDAwMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICAgIDxQb3N0QnVpbGRFdmVudCAvPgotICAgIDxQb3N0QnVpbGRFdmVudD4KLSAgICAgIDxDb21tYW5kPgotICAgICAgPC9Db21tYW5kPgotICAgIDwvUG9zdEJ1aWxkRXZlbnQ+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPgotICAgIDxDdXN0b21CdWlsZFN0ZXA+Ci0gICAgICA8TWVzc2FnZT5CdWlsZCBQQy9weXRob25udF9yYyhfZCkuaDwvTWVzc2FnZT4KLSAgICAgIDxDb21tYW5kPmNkICQoU29sdXRpb25EaXIpCi1tYWtlX3ZlcnNpb25pbmZvLmV4ZSAmZ3Q7IC4uXFBDXHB5dGhvbm50X3JjLmgKLTwvQ29tbWFuZD4KLSAgICAgIDxPdXRwdXRzPiQoU29sdXRpb25EaXIpLi5cUENccHl0aG9ubnRfcmMuaDslKE91dHB1dHMpPC9PdXRwdXRzPgotICAgIDwvQ3VzdG9tQnVpbGRTdGVwPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8T3B0aW1pemF0aW9uPk1heFNwZWVkPC9PcHRpbWl6YXRpb24+Ci0gICAgICA8SW5saW5lRnVuY3Rpb25FeHBhbnNpb24+T25seUV4cGxpY2l0SW5saW5lPC9JbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj4KLSAgICAgIDxJbnRyaW5zaWNGdW5jdGlvbnM+dHJ1ZTwvSW50cmluc2ljRnVuY3Rpb25zPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9DT05TT0xFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxPdXRwdXRGaWxlPiQoU29sdXRpb25EaXIpbWFrZV92ZXJzaW9uaW5mby5leGU8L091dHB1dEZpbGU+Ci0gICAgPC9MaW5rPgotICAgIDxQb3N0QnVpbGRFdmVudD4KLSAgICAgIDxDb21tYW5kPmNkICQoU29sdXRpb25EaXIpCi1tYWtlX3ZlcnNpb25pbmZvLmV4ZSAmZ3Q7IC4uXFBDXHB5dGhvbl9udC5oCi08L0NvbW1hbmQ+Ci0gICAgPC9Qb3N0QnVpbGRFdmVudD4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+Ci0gICAgPEN1c3RvbUJ1aWxkU3RlcD4KLSAgICAgIDxNZXNzYWdlPkJ1aWxkIFBDL3B5dGhvbm50X3JjKF9kKS5oPC9NZXNzYWdlPgotICAgICAgPENvbW1hbmQ+Y2QgJChTb2x1dGlvbkRpcikKLW1ha2VfdmVyc2lvbmluZm9fZC5leGUgJmd0OyAuLlxQQ1xweXRob25udF9yY19kLmgKLTwvQ29tbWFuZD4KLSAgICAgIDxPdXRwdXRzPiQoU29sdXRpb25EaXIpLi5cUENccHl0aG9ubnRfcmNfZC5oOyUoT3V0cHV0cyk8L091dHB1dHM+Ci0gICAgICA8SW5wdXRzPiQoU29sdXRpb25EaXIpbWFrZV92ZXJzaW9uaW5mb19kLmV4ZTwvSW5wdXRzPgotICAgIDwvQ3VzdG9tQnVpbGRTdGVwPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8T3B0aW1pemF0aW9uPkRpc2FibGVkPC9PcHRpbWl6YXRpb24+Ci0gICAgICA8SW5saW5lRnVuY3Rpb25FeHBhbnNpb24+T25seUV4cGxpY2l0SW5saW5lPC9JbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj4KLSAgICAgIDxJbnRyaW5zaWNGdW5jdGlvbnM+ZmFsc2U8L0ludHJpbnNpY0Z1bmN0aW9ucz4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0NPTlNPTEU7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4KLSAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRExMPC9SdW50aW1lTGlicmFyeT4KLSAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KLSAgICAgIDxDb21waWxlQXM+RGVmYXVsdDwvQ29tcGlsZUFzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPE91dHB1dEZpbGU+JChTb2x1dGlvbkRpciltYWtlX3ZlcnNpb25pbmZvX2QuZXhlPC9PdXRwdXRGaWxlPgotICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZDAwMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICAgIDxQb3N0QnVpbGRFdmVudD4KLSAgICAgIDxDb21tYW5kPgotICAgICAgPC9Db21tYW5kPgotICAgIDwvUG9zdEJ1aWxkRXZlbnQ+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4KLSAgICA8Q3VzdG9tQnVpbGRTdGVwPgotICAgICAgPE1lc3NhZ2U+QnVpbGQgUEMvcHl0aG9ubnRfcmMoX2QpLmg8L01lc3NhZ2U+Ci0gICAgICA8Q29tbWFuZD5jZCAkKFNvbHV0aW9uRGlyKQotbWFrZV92ZXJzaW9uaW5mb19kLmV4ZSAmZ3Q7IC4uXFBDXHB5dGhvbm50X3JjX2QuaAotPC9Db21tYW5kPgotICAgICAgPE91dHB1dHM+JChTb2x1dGlvbkRpcikuLlxQQ1xweXRob25udF9yY19kLmg7JShPdXRwdXRzKTwvT3V0cHV0cz4KLSAgICA8L0N1c3RvbUJ1aWxkU3RlcD4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPE9wdGltaXphdGlvbj5EaXNhYmxlZDwvT3B0aW1pemF0aW9uPgotICAgICAgPElubGluZUZ1bmN0aW9uRXhwYW5zaW9uPk9ubHlFeHBsaWNpdElubGluZTwvSW5saW5lRnVuY3Rpb25FeHBhbnNpb24+Ci0gICAgICA8SW50cmluc2ljRnVuY3Rpb25zPmZhbHNlPC9JbnRyaW5zaWNGdW5jdGlvbnM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0NPTlNPTEU7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPE91dHB1dEZpbGU+JChTb2x1dGlvbkRpciltYWtlX3ZlcnNpb25pbmZvX2QuZXhlPC9PdXRwdXRGaWxlPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gICAgPFBvc3RCdWlsZEV2ZW50PgotICAgICAgPENvbW1hbmQ+Y2QgJChTb2x1dGlvbkRpcikKLW1ha2VfdmVyc2lvbmluZm9fZC5leGUgJmd0OyAuLlxQQ1xweXRob25fbnRfZC5oCi08L0NvbW1hbmQ+Ci0gICAgPC9Qb3N0QnVpbGRFdmVudD4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cUENcbWFrZV92ZXJzaW9uaW5mby5jIiAvPgotICA8L0l0ZW1Hcm91cD4KLSAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4KLSAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25UYXJnZXRzIj4KLSAgPC9JbXBvcnRHcm91cD4KLTwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9QQ2J1aWxkL21ha2VfdmVyc2lvbmluZm8udmN4cHJvai5maWx0ZXJzIGIvUENidWlsZC9tYWtlX3ZlcnNpb25pbmZvLnZjeHByb2ouZmlsdGVycwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTZjMDQzNC4uMDAwMDAwMAotLS0gYS9QQ2J1aWxkL21ha2VfdmVyc2lvbmluZm8udmN4cHJvai5maWx0ZXJzCisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAot77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8RmlsdGVyIEluY2x1ZGU9IlNvdXJjZSBGaWxlcyI+Ci0gICAgICA8VW5pcXVlSWRlbnRpZmllcj57ZTQxODA5NTQtYzNhNS00NzQ5LWI5YTQtMzFiODA0ZWU0ZmE4fTwvVW5pcXVlSWRlbnRpZmllcj4KLSAgICA8L0ZpbHRlcj4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxQQ1xtYWtlX3ZlcnNpb25pbmZvLmMiPgotICAgICAgPEZpbHRlcj5Tb3VyY2UgRmlsZXM8L0ZpbHRlcj4KLSAgICA8L0NsQ29tcGlsZT4KLSAgPC9JdGVtR3JvdXA+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvUENidWlsZC9vcGVuc3NsLnByb3BzIGIvUENidWlsZC9vcGVuc3NsLnByb3BzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1NjE1OWUKLS0tIC9kZXYvbnVsbAorKysgYi9QQ2J1aWxkL29wZW5zc2wucHJvcHMKQEAgLTAsMCArMSw3NSBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+CisKKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICAgIDxDb25maWd1cmF0aW9uVHlwZT5TdGF0aWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8SW50RGlyPiQob3BlbnNzbERpcil0bXBcJChBcmNoTmFtZSlfJChDb25maWd1cmF0aW9uKVwkKFByb2plY3ROYW1lKVw8L0ludERpcj4KKyAgICA8SW50RGlyIENvbmRpdGlvbj0iJChDb25maWd1cmF0aW9uKSA9PSAnUEdJbnN0cnVtZW50JyBvciAkKENvbmZpZ3VyYXRpb24pID09ICdQR1VwZGF0ZSciPiQob3BlbnNzbERpcil0bXBcJChBcmNoTmFtZSlcJChQcm9qZWN0TmFtZSlcPC9JbnREaXI+CisgIDwvUHJvcGVydHlHcm91cD4KKworICA8SXRlbUdyb3VwPgorICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBJbmNsdWRlPSJEU09fV0lOMzIiIC8+CisgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zIEluY2x1ZGU9IldJTjMyX0xFQU5fQU5EX01FQU4iIC8+CisgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zIEluY2x1ZGU9IkxfRU5ESUFOIiAvPgorICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBJbmNsdWRlPSJfQ1JUX1NFQ1VSRV9OT19XQVJOSU5HUyIgLz4KKyAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgSW5jbHVkZT0iX0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFIiAvPgorICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBJbmNsdWRlPSJPUEVOU1NMX1RIUkVBRFMiIC8+CisgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zIEluY2x1ZGU9Ik9QRU5TU0xfU1lTTkFNRV9XSU4zMiIgLz4KKyAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgSW5jbHVkZT0iT1BFTlNTTF9JQTMyX1NTRTIiIC8+CisgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zIEluY2x1ZGU9Ik9QRU5TU0xfQk5fQVNNX0dGMm0iIC8+CisgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zIEluY2x1ZGU9Ik9QRU5TU0xfQ1BVSURfT0JKIiAvPgorICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBJbmNsdWRlPSJTSEExX0FTTSIgLz4KKyAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgSW5jbHVkZT0iU0hBMjU2X0FTTSIgLz4KKyAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgSW5jbHVkZT0iU0hBNTEyX0FTTSIgLz4KKyAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgSW5jbHVkZT0iTUQ1X0FTTSIgLz4KKyAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgSW5jbHVkZT0iQUVTX0FTTSIgLz4KKyAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgSW5jbHVkZT0iVlBBRVNfQVNNIiAvPgorICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBJbmNsdWRlPSJXSElSTFBPT0xfQVNNIiAvPgorICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBJbmNsdWRlPSJHSEFTSF9BU00iIC8+CisgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zIEluY2x1ZGU9Ik9QRU5TU0xfTk9fSURFQSIgLz4KKyAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgSW5jbHVkZT0iT1BFTlNTTF9OT19SQzUiIC8+CisgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zIEluY2x1ZGU9Ik9QRU5TU0xfTk9fTUQyIiAvPgorICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBJbmNsdWRlPSJPUEVOU1NMX05PX01EQzIiIC8+CisgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zIEluY2x1ZGU9Ik9QRU5TU0xfTk9fS1JCNSIgLz4KKyAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgSW5jbHVkZT0iT1BFTlNTTF9OT19KUEFLRSIgLz4KKyAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgSW5jbHVkZT0iT1BFTlNTTF9OT19SRFJBTkQiIC8+CisgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zIEluY2x1ZGU9Ik9QRU5TU0xfTk9fUlNBWCIgLz4KKyAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgSW5jbHVkZT0iT1BFTlNTTF9OT19EWU5BTUlDX0VOR0lORSIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJdGVtR3JvdXAgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknPT0nV2luMzInIj4KKyAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgSW5jbHVkZT0iT1BFTlNTTF9CTl9BU01fUEFSVF9XT1JEUyIgLz4KKyAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgSW5jbHVkZT0iT1BFTlNTTF9CTl9BU01fTU9OVCIgLz4KKyAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgSW5jbHVkZT0iUk1EMTYwX0FTTSIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIAorICA8UHJvcGVydHlHcm91cD4KKyAgICA8X1ByZXByb2Nlc3NvckRlZmluaXRpb25MaXN0PkAoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9fUHJlcHJvY2Vzc29yRGVmaW5pdGlvbkxpc3Q+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgCisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8IS0tIFN1cHByZXNzIDY0LWJpdCB0cnVuY2F0aW9uIHdhcm5pbmdzIC0gdGhleSBhcmVuJ3Qgb3VycyB0byB3b3JyeSBhYm91dCAtLT4KKyAgICAgIDxEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncz40MjQ0OzQyNjc8L0Rpc2FibGVTcGVjaWZpY1dhcm5pbmdzPgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChvcGVuc3NsRGlyKTskKG9wZW5zc2xEaXIpaW5jbHVkZTskKG9wZW5zc2xEaXIpY3J5cHRvOyQob3BlbnNzbERpciljcnlwdG9cYXNuMTskKG9wZW5zc2xEaXIpY3J5cHRvXGV2cDskKG9wZW5zc2xEaXIpY3J5cHRvXG1vZGVzPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPiQoX1ByZXByb2Nlc3NvckRlZmluaXRpb25MaXN0KTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgPC9DbENvbXBpbGU+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgCisgIDxUYXJnZXQgTmFtZT0iRmluZE5hc20iPgorICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgPG5hc20gQ29uZGl0aW9uPSIkKFBsYXRmb3JtKSA9PSAnV2luMzInIj5uYXNtLmV4ZSAtZiB3aW4zMjwvbmFzbT4KKyAgICAgIDxuYXNtIENvbmRpdGlvbj0iJChQbGF0Zm9ybSkgPT0gJ3g2NCciPm5hc20uZXhlIC1mIHdpbjY0IC1ETkVBUiAtT3ggLWc8L25hc20+CisgICAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8L1RhcmdldD4KKworICA8VGFyZ2V0IE5hbWU9IkJ1aWxkTmFzbUZpbGVzIiBCZWZvcmVUYXJnZXRzPSJQcmVCdWlsZEV2ZW50IiBEZXBlbmRzT25UYXJnZXRzPSJQcmVwYXJlRm9yQnVpbGQ7RmluZE5hc20iIElucHV0cz0iQChOYXNtQ29tcGlsZSkiIE91dHB1dHM9IkAoTmFzbUNvbXBpbGUtPickKEludERpciklKEZpbGVuYW1lKS5vYmonKSI+CisgICAgPEV4ZWMgQ29tbWFuZD0nc2V0bG9jYWwKK3NldCBQQVRIPSVQQVRIJTskKG5hc21EaXIpCiskKG5hc20pIC1vICIkKEludERpciklKE5hc21Db21waWxlLkZpbGVuYW1lKS5vYmoiICIlKE5hc21Db21waWxlLkZ1bGxQYXRoKSInIC8+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgIDxMaW5rIEluY2x1ZGU9IiQoSW50RGlyKSUoTmFzbUNvbXBpbGUuRmlsZW5hbWUpLm9iaiIgLz4KKyAgICAgIDxMaWIgSW5jbHVkZT0iJChJbnREaXIpJShOYXNtQ29tcGlsZS5GaWxlbmFtZSkub2JqIiAvPgorICAgIDwvSXRlbUdyb3VwPgorICA8L1RhcmdldD4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9QQ2J1aWxkL3BjYnVpbGQucHJvaiBiL1BDYnVpbGQvcGNidWlsZC5wcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQwNGI4ZDQKLS0tIC9kZXYvbnVsbAorKysgYi9QQ2J1aWxkL3BjYnVpbGQucHJvagpAQCAtMCwwICsxLDg0IEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KKyAgICA8UHJvamVjdEd1aWQ+e0NDOUI5M0EyLTQzOUQtNDA1OC05RDI5LTZEQ0Y0Mzc3NDQwNX08L1Byb2plY3RHdWlkPgorICAgIDxQbGF0Zm9ybSBDb25kaXRpb249IickKFBsYXRmb3JtKScgPT0gJyciPldpbjMyPC9QbGF0Zm9ybT4KKyAgICA8Q29uZmlndXJhdGlvbiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pJyA9PSAnJyI+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICA8SW5jbHVkZUV4dGVuc2lvbnMgQ29uZGl0aW9uPSInJChJbmNsdWRlRXh0ZW5zaW9ucyknID09ICcnIj50cnVlPC9JbmNsdWRlRXh0ZW5zaW9ucz4KKyAgICA8SW5jbHVkZVRlc3RzIENvbmRpdGlvbj0iJyQoSW5jbHVkZVRlc3QpJyA9PSAnJyI+dHJ1ZTwvSW5jbHVkZVRlc3RzPgorICAgIDxJbmNsdWRlU1NMIENvbmRpdGlvbj0iJyQoSW5jbHVkZVNTTCknID09ICcnIj50cnVlPC9JbmNsdWRlU1NMPgorICA8L1Byb3BlcnR5R3JvdXA+CisKKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+CisgICAgPFByb2plY3RzPgorICAgICAgPFBsYXRmb3JtPiQoUGxhdGZvcm0pPC9QbGF0Zm9ybT4KKyAgICAgIDxDb25maWd1cmF0aW9uPiQoQ29uZmlndXJhdGlvbik8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UHJvcGVydGllcz48L1Byb3BlcnRpZXM+CisgICAgICA8QnVpbGRUYXJnZXQ+QnVpbGQ8L0J1aWxkVGFyZ2V0PgorICAgICAgPENsZWFuVGFyZ2V0PkNsZWFuPC9DbGVhblRhcmdldD4KKyAgICAgIDxDbGVhbkFsbFRhcmdldD5DbGVhbkFsbDwvQ2xlYW5BbGxUYXJnZXQ+CisgICAgICA8QnVpbGRJblBhcmFsbGVsPnRydWU8L0J1aWxkSW5QYXJhbGxlbD4KKyAgICA8L1Byb2plY3RzPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPCEtLSBweXRob25YWS5kbGwgLS0+CisgICAgPCEtLQorICAgIFBhcmFsbGVsIGJ1aWxkIGlzIGV4cGxpY2l0bHkgZGlzYWJsZWQgZm9yIHRoaXMgcHJvamVjdCBiZWNhdXNlIGl0CisgICAgY2F1c2VzIG1hbnkgY29uZmxpY3RzIGJldHdlZW4gcHl0aG9uY29yZSBhbmQgcHJvamVjdHMgdGhhdCBkZXBlbmQKKyAgICBpbiBweXRob25jb3JlLiBPbmNlIHRoZSBjb3JlIERMTCBoYXMgYmVlbiBidWlsdCwgc3Vic2VxdWVudAorICAgIHByb2plY3RzIHdpbGwgYmUgYnVpbHQgaW4gcGFyYWxsZWwuCisgICAgLS0+CisgICAgPFByb2plY3RzIEluY2x1ZGU9InB5dGhvbmNvcmUudmN4cHJvaiI+CisgICAgICA8QnVpbGRJblBhcmFsbGVsPmZhbHNlPC9CdWlsZEluUGFyYWxsZWw+CisgICAgPC9Qcm9qZWN0cz4KKyAgICA8IS0tIHB5dGhvblt3XS5leGUgLS0+CisgICAgPFByb2plY3RzIEluY2x1ZGU9InB5dGhvbi52Y3hwcm9qO3B5dGhvbncudmN4cHJvaiIgLz4KKyAgICA8IS0tIHB5dGhvbjMuZGxsIC0tPgorICAgIDxQcm9qZWN0cyBJbmNsdWRlPSJweXRob24zZGxsLnZjeHByb2oiIC8+CisgICAgPCEtLSBweVt3XS5leGUgLS0+CisgICAgPFByb2plY3RzIEluY2x1ZGU9InB5bGF1bmNoZXIudmN4cHJvajtweXdsYXVuY2hlci52Y3hwcm9qIiAvPgorICAgIDwhLS0gX2ZyZWV6ZV9pbXBvcnRsaWIgLS0+CisgICAgPFByb2plY3RzIEluY2x1ZGU9Il9mcmVlemVfaW1wb3J0bGliLnZjeHByb2oiIC8+CisgICAgPCEtLSBFeHRlbnNpb24gbW9kdWxlcyAtLT4KKyAgICA8RXh0ZW5zaW9uTW9kdWxlcyBJbmNsdWRlPSJfYnoyO19jdHlwZXM7X2RlY2ltYWw7X2VsZW1lbnR0cmVlO19sem1hO19tc2k7X211bHRpcHJvY2Vzc2luZztfb3ZlcmxhcHBlZDtfc3FsaXRlMztfdGtpbnRlcjtweWV4cGF0O3NlbGVjdDt1bmljb2RlZGF0YTt3aW5zb3VuZCIgLz4KKyAgICA8IS0tIF9zc2wgd2lsbCBidWlsZCBfc29ja2V0IGFzIHdlbGwsIHdoaWNoIG1heSBjYXVzZSBjb25mbGljdHMgaW4gcGFyYWxsZWwgYnVpbGRzIC0tPgorICAgIDxFeHRlbnNpb25Nb2R1bGVzIEluY2x1ZGU9Il9zb2NrZXQiIENvbmRpdGlvbj0iISQoSW5jbHVkZVNTTCkiIC8+CisgICAgPEV4dGVuc2lvbk1vZHVsZXMgSW5jbHVkZT0iX3NzbDtfaGFzaGxpYiIgQ29uZGl0aW9uPSIkKEluY2x1ZGVTU0wpIiAvPgorICAgIDxQcm9qZWN0cyBJbmNsdWRlPSJAKEV4dGVuc2lvbk1vZHVsZXMtPiclKElkZW50aXR5KS52Y3hwcm9qJykiIENvbmRpdGlvbj0iJChJbmNsdWRlRXh0ZW5zaW9ucykiIC8+CisgICAgPCEtLSBUZXN0IG1vZHVsZXMgLS0+CisgICAgPFRlc3RNb2R1bGVzIEluY2x1ZGU9Il9jdHlwZXNfdGVzdDtfdGVzdGJ1ZmZlcjtfdGVzdGNhcGk7X3Rlc3RlbWJlZDtfdGVzdGltcG9ydG11bHRpcGxlIiAvPgorICAgIDxUZXN0TW9kdWxlcyBJbmNsdWRlPSJ4eGxpbWl0ZWQiIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbiknID09ICdSZWxlYXNlJyIgLz4KKyAgICA8UHJvamVjdHMgSW5jbHVkZT0iQChUZXN0TW9kdWxlcy0+JyUoSWRlbnRpdHkpLnZjeHByb2onKSIgQ29uZGl0aW9uPSIkKEluY2x1ZGVUZXN0cykiPgorICAgICAgPCEtLSBEaXNhYmxlIHBhcmFsbGVsIGJ1aWxkIGZvciB0ZXN0IG1vZHVsZXMgLS0+CisgICAgICA8QnVpbGRJblBhcmFsbGVsPmZhbHNlPC9CdWlsZEluUGFyYWxsZWw+CisgICAgPC9Qcm9qZWN0cz4KKyAgPC9JdGVtR3JvdXA+CisKKyAgPFRhcmdldCBOYW1lPSJCdWlsZCI+CisgICAgPE1TQnVpbGQgUHJvamVjdHM9IkAoUHJvamVjdHMpIgorICAgICAgICAgICAgIFByb3BlcnRpZXM9IkNvbmZpZ3VyYXRpb249JShDb25maWd1cmF0aW9uKTtQbGF0Zm9ybT0lKFBsYXRmb3JtKTslKFByb3BlcnRpZXMpIgorICAgICAgICAgICAgIEJ1aWxkSW5QYXJhbGxlbD0iJShCdWlsZEluUGFyYWxsZWwpIgorICAgICAgICAgICAgIFRhcmdldHM9IiUoQnVpbGRUYXJnZXQpIiAvPgorICA8L1RhcmdldD4KKworICA8VGFyZ2V0IE5hbWU9IkNsZWFuIj4KKyAgICA8TVNCdWlsZCBQcm9qZWN0cz0iQChQcm9qZWN0cykiCisgICAgICAgICAgICAgUHJvcGVydGllcz0iQ29uZmlndXJhdGlvbj0lKENvbmZpZ3VyYXRpb24pO1BsYXRmb3JtPSUoUGxhdGZvcm0pOyUoUHJvcGVydGllcykiCisgICAgICAgICAgICAgQnVpbGRJblBhcmFsbGVsPSIlKEJ1aWxkSW5QYXJhbGxlbCkiCisgICAgICAgICAgICAgU3RvcE9uRmlyc3RGYWlsdXJlPSJmYWxzZSIKKyAgICAgICAgICAgICBDb25kaXRpb249IiUoQ2xlYW5UYXJnZXQpICE9ICcnIgorICAgICAgICAgICAgIFRhcmdldHM9IiUoQ2xlYW5UYXJnZXQpIiAvPgorICA8L1RhcmdldD4KKworICA8VGFyZ2V0IE5hbWU9IkNsZWFuQWxsIj4KKyAgICA8TVNCdWlsZCBQcm9qZWN0cz0iQChQcm9qZWN0cykiCisgICAgICAgICAgICAgUHJvcGVydGllcz0iQ29uZmlndXJhdGlvbj0lKENvbmZpZ3VyYXRpb24pO1BsYXRmb3JtPSUoUGxhdGZvcm0pOyUoUHJvcGVydGllcykiCisgICAgICAgICAgICAgQnVpbGRJblBhcmFsbGVsPSIlKEJ1aWxkSW5QYXJhbGxlbCkiCisgICAgICAgICAgICAgU3RvcE9uRmlyc3RGYWlsdXJlPSJmYWxzZSIKKyAgICAgICAgICAgICBDb25kaXRpb249IiUoQ2xlYW5BbGxUYXJnZXQpICE9ICcnIgorICAgICAgICAgICAgIFRhcmdldHM9IiUoQ2xlYW5BbGxUYXJnZXQpIiAvPgorICA8L1RhcmdldD4KKworICA8VGFyZ2V0IE5hbWU9IlJlYnVpbGQiIERlcGVuZHNPblRhcmdldHM9IkNsZWFuO0J1aWxkIiAvPgorICA8VGFyZ2V0IE5hbWU9IlJlYnVpbGRBbGwiIERlcGVuZHNPblRhcmdldHM9IkNsZWFuQWxsO0J1aWxkIiAvPgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1BDYnVpbGQvcGNidWlsZC5zbG4gYi9QQ2J1aWxkL3BjYnVpbGQuc2xuCmluZGV4IGEzNDZlMTAuLjdiMzc2MzUgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQvcGNidWlsZC5zbG4KKysrIGIvUENidWlsZC9wY2J1aWxkLnNsbgpAQCAtMSw1ICsxLDcgQEAKLU1pY3Jvc29mdCBWaXN1YWwgU3R1ZGlvIFNvbHV0aW9uIEZpbGUsIEZvcm1hdCBWZXJzaW9uIDExLjAwDQotIyBWaXN1YWwgU3R1ZGlvIDIwMTANCitNaWNyb3NvZnQgVmlzdWFsIFN0dWRpbyBTb2x1dGlvbiBGaWxlLCBGb3JtYXQgVmVyc2lvbiAxMi4wMA0KKyMgVmlzdWFsIFN0dWRpbyAyMDEzDQorVmlzdWFsU3R1ZGlvVmVyc2lvbiA9IDEyLjAuMzA1MDEuMA0KK01pbmltdW1WaXN1YWxTdHVkaW9WZXJzaW9uID0gMTAuMC40MDIxOS4xDQogUHJvamVjdCgiezIxNTBFMzMzLThGREMtNDJBMy05NDc0LTFBMzk1NkQ0NkRFOH0iKSA9ICJTb2x1dGlvbiBJdGVtcyIsICJTb2x1dGlvbiBJdGVtcyIsICJ7NTUzRUMzM0UtOTgxNi00OTk2LUE2NjAtNUQ2MTg2QTBCMEIzfSINCiAJUHJvamVjdFNlY3Rpb24oU29sdXRpb25JdGVtcykgPSBwcmVQcm9qZWN0DQogCQkuLlxNb2R1bGVzXGdldGJ1aWxkaW5mby5jID0gLi5cTW9kdWxlc1xnZXRidWlsZGluZm8uYw0KQEAgLTgsMTQgKzEwLDEwIEBACiBFbmRQcm9qZWN0DQogUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJweXRob24iLCAicHl0aG9uLnZjeHByb2oiLCAie0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0iDQogRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAibWFrZV92ZXJzaW9uaW5mbyIsICJtYWtlX3ZlcnNpb25pbmZvLnZjeHByb2oiLCAie0YwRTA1NDFFLUYxN0QtNDMwQi05N0M0LTkzQURGMEREMjg0RX0iDQotRW5kUHJvamVjdA0KIFByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAicHl0aG9uY29yZSIsICJweXRob25jb3JlLnZjeHByb2oiLCAie0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0iDQogRW5kUHJvamVjdA0KIFByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAicHl0aG9udyIsICJweXRob253LnZjeHByb2oiLCAie0Y0MjI5Q0MzLTg3M0MtNDlBRS05NzI5LUREMzA4RUQ0Q0Q0QX0iDQogRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAibWFrZV9idWlsZGluZm8iLCAibWFrZV9idWlsZGluZm8udmN4cHJvaiIsICJ7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfSINCi1FbmRQcm9qZWN0DQogUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJ3aW5zb3VuZCIsICJ3aW5zb3VuZC52Y3hwcm9qIiwgInsyOEI1RDc3Ny1EREYyLTRCNkItQjM0Ri0zMUQ5Mzg4MTM4NTZ9Ig0KIEVuZFByb2plY3QNCiBQcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIl9kZWNpbWFsIiwgIl9kZWNpbWFsLnZjeHByb2oiLCAiezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxN30iDQpAQCAtNTAsNyArNDgsNyBAQAogRW5kUHJvamVjdA0KIFByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAicHlleHBhdCIsICJweWV4cGF0LnZjeHByb2oiLCAie0QwNkI2NDI2LTQ3NjItNDRDQy04QkFELUQ3OTA1MjUwN0YyRn0iDQogRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAiYmRpc3Rfd2luaW5zdCIsICJiZGlzdF93aW5pbnN0LnZjeHByb2oiLCAie0VCMUMxOUMxLTFGMTgtNDIxRS05NzM1LUNBRUU2OURDNkEzQ30iDQorUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJiZGlzdF93aW5pbnN0IiwgIi4uXFBDXGJkaXN0X3dpbmluc3RcYmRpc3Rfd2luaW5zdC52Y3hwcm9qIiwgIntFQjFDMTlDMS0xRjE4LTQyMUUtOTczNS1DQUVFNjlEQzZBM0N9Ig0KIEVuZFByb2plY3QNCiBQcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIl9oYXNobGliIiwgIl9oYXNobGliLnZjeHByb2oiLCAiezQ0N0YwNUE4LUY1ODEtNENBQy1BNDY2LTVBQzc5MzZFMjA3RX0iDQogRW5kUHJvamVjdA0KQEAgLTU4LDEwICs1Niw2IEBACiBFbmRQcm9qZWN0DQogUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJfbXVsdGlwcm9jZXNzaW5nIiwgIl9tdWx0aXByb2Nlc3NpbmcudmN4cHJvaiIsICJ7OUU0OEIzMDAtMzdEMS0xMURELThDNDEtMDA1MDU2QzAwMDA4fSINCiBFbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJzc2wiLCAic3NsLnZjeHByb2oiLCAie0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0iDQotRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAia2lsbF9weXRob24iLCAia2lsbF9weXRob24udmN4cHJvaiIsICJ7NkRFMTA3NDQtRTM5Ni00MEE1LUI0RTItMUI2OUFBN0M4RDMxfSINCi1FbmRQcm9qZWN0DQogUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJweXRob24zZGxsIiwgInB5dGhvbjNkbGwudmN4cHJvaiIsICJ7ODg1RDQ4OTgtRDA4RC00MDkxLTlDNDAtQzcwMENGRTNGQzVBfSINCiBFbmRQcm9qZWN0DQogUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJ4eGxpbWl0ZWQiLCAieHhsaW1pdGVkLnZjeHByb2oiLCAie0Y3NDlCODIyLUI0ODktNENBNS1BM0FELUNFMDc4RjVGMzM4QX0iDQpAQCAtNzgsNiArNzIsMTYgQEAKIEVuZFByb2plY3QNCiBQcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIl90ZXN0ZW1iZWQiLCAiX3Rlc3RlbWJlZC52Y3hwcm9qIiwgIns2REFDNjZEOS1FNzAzLTQ2MjQtQkUwMy00OTExMkFCNUFBNjJ9Ig0KIEVuZFByb2plY3QNCitQcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInRjbCIsICJ0Y2wudmN4cHJvaiIsICJ7QjVGRDZGMUQtMTI5RS00QkZGLTkzNDAtMDM2MDZGQUM3MjgzfSINCitFbmRQcm9qZWN0DQorUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJ0aXgiLCAidGl4LnZjeHByb2oiLCAie0M1QTNFN0ZCLTk2OTUtNEIyRS05NjBCLTFEOUY0M0YxRTU1NX0iDQorRW5kUHJvamVjdA0KK1Byb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAidGsiLCAidGsudmN4cHJvaiIsICJ7N0U4NUVDQ0YtQTcyQy00REE0LTlFNTItODg0NTA4RTgwQkExfSINCitFbmRQcm9qZWN0DQorUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJsaWJlYXkiLCAibGliZWF5LnZjeHByb2oiLCAie0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0iDQorRW5kUHJvamVjdA0KK1Byb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAic3NsZWF5IiwgInNzbGVheS52Y3hwcm9qIiwgInsxMDYxNUIyNC03M0JGLTRFRkEtOTNBQS0yMzY5MTYzMjEzMTd9Ig0KK0VuZFByb2plY3QNCiBHbG9iYWwNCiAJR2xvYmFsU2VjdGlvbihTb2x1dGlvbkNvbmZpZ3VyYXRpb25QbGF0Zm9ybXMpID0gcHJlU29sdXRpb24NCiAJCURlYnVnfFdpbjMyID0gRGVidWd8V2luMzINCkBAIC0xMDYsMjIgKzExMCw2IEBACiAJCXtCMTFENzUwRi1DRDFGLTRBOTYtODVDRS1FNjlBNUM1MjU5Rjl9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCiAJCXtCMTFENzUwRi1DRDFGLTRBOTYtODVDRS1FNjlBNUM1MjU5Rjl9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQogCQl7QjExRDc1MEYtQ0QxRi00QTk2LTg1Q0UtRTY5QTVDNTI1OUY5fS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCi0JCXtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJe0YwRTA1NDFFLUYxN0QtNDMwQi05N0M0LTkzQURGMEREMjg0RX0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KLQkJe0YwRTA1NDFFLUYxN0QtNDMwQi05N0M0LTkzQURGMEREMjg0RX0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0YwRTA1NDFFLUYxN0QtNDMwQi05N0M0LTkzQURGMEREMjg0RX0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0YwRTA1NDFFLUYxN0QtNDMwQi05N0M0LTkzQURGMEREMjg0RX0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0YwRTA1NDFFLUYxN0QtNDMwQi05N0M0LTkzQURGMEREMjg0RX0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KIAkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCiAJCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KIAkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KQEAgLTE0MiwzNCArMTMwLDE4IEBACiAJCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KIAkJe0Y0MjI5Q0MzLTg3M0MtNDlBRS05NzI5LUREMzA4RUQ0Q0Q0QX0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KIAkJe0Y0MjI5Q0MzLTg3M0MtNDlBRS05NzI5LUREMzA4RUQ0Q0Q0QX0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCi0JCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFBHVXBkYXRlfFdpbjMyDQotCQl7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUEdVcGRhdGV8V2luMzINCi0JCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBQR1VwZGF0ZXx4NjQNCi0JCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUEdVcGRhdGV8eDY0DQorCQl7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KKwkJe0Y0MjI5Q0MzLTg3M0MtNDlBRS05NzI5LUREMzA4RUQ0Q0Q0QX0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQorCQl7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQorCQl7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KKwkJe0Y0MjI5Q0MzLTg3M0MtNDlBRS05NzI5LUREMzA4RUQ0Q0Q0QX0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KKwkJe0Y0MjI5Q0MzLTg3M0MtNDlBRS05NzI5LUREMzA4RUQ0Q0Q0QX0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCisJCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KKwkJe0Y0MjI5Q0MzLTg3M0MtNDlBRS05NzI5LUREMzA4RUQ0Q0Q0QX0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KIAkJe0Y0MjI5Q0MzLTg3M0MtNDlBRS05NzI5LUREMzA4RUQ0Q0Q0QX0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQogCQl7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQogCQl7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KIAkJe0Y0MjI5Q0MzLTg3M0MtNDlBRS05NzI5LUREMzA4RUQ0Q0Q0QX0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtDNzNGMEVDMS0zNThCLTQxNzctOTQwRi0wODQ2QUM4QjA0Q0R9LkRlYnVnfHg2NC5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtDNzNGMEVDMS0zNThCLTQxNzctOTQwRi0wODQ2QUM4QjA0Q0R9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtDNzNGMEVDMS0zNThCLTQxNzctOTQwRi0wODQ2QUM4QjA0Q0R9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KIAkJezI4QjVENzc3LURERjItNEI2Qi1CMzRGLTMxRDkzODgxMzg1Nn0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCiAJCXsyOEI1RDc3Ny1EREYyLTRCNkItQjM0Ri0zMUQ5Mzg4MTM4NTZ9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KIAkJezI4QjVENzc3LURERjItNEI2Qi1CMzRGLTMxRDkzODgxMzg1Nn0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KQEAgLTIyMiwxNCArMTk0LDE0IEBACiAJCXs5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KIAkJezlFQzcxOTBBLTI0OUYtNDE4MC1BOTAwLTU0OEZEQ0YzMDU1Rn0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KIAkJezlFQzcxOTBBLTI0OUYtNDE4MC1BOTAwLTU0OEZEQ0YzMDU1Rn0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCi0JCXs5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXs5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7OUVDNzE5MEEtMjQ5Ri00MTgwLUE5MDAtNTQ4RkRDRjMwNTVGfS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXs5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXs5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFBHVXBkYXRlfFdpbjMyDQotCQl7OUVDNzE5MEEtMjQ5Ri00MTgwLUE5MDAtNTQ4RkRDRjMwNTVGfS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUEdVcGRhdGV8V2luMzINCi0JCXs5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBQR1VwZGF0ZXx4NjQNCi0JCXs5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUEdVcGRhdGV8eDY0DQorCQl7OUVDNzE5MEEtMjQ5Ri00MTgwLUE5MDAtNTQ4RkRDRjMwNTVGfS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KKwkJezlFQzcxOTBBLTI0OUYtNDE4MC1BOTAwLTU0OEZEQ0YzMDU1Rn0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQorCQl7OUVDNzE5MEEtMjQ5Ri00MTgwLUE5MDAtNTQ4RkRDRjMwNTVGfS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQorCQl7OUVDNzE5MEEtMjQ5Ri00MTgwLUE5MDAtNTQ4RkRDRjMwNTVGfS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KKwkJezlFQzcxOTBBLTI0OUYtNDE4MC1BOTAwLTU0OEZEQ0YzMDU1Rn0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KKwkJezlFQzcxOTBBLTI0OUYtNDE4MC1BOTAwLTU0OEZEQ0YzMDU1Rn0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCisJCXs5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KKwkJezlFQzcxOTBBLTI0OUYtNDE4MC1BOTAwLTU0OEZEQ0YzMDU1Rn0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KIAkJezlFQzcxOTBBLTI0OUYtNDE4MC1BOTAwLTU0OEZEQ0YzMDU1Rn0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQogCQl7OUVDNzE5MEEtMjQ5Ri00MTgwLUE5MDAtNTQ4RkRDRjMwNTVGfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQogCQl7OUVDNzE5MEEtMjQ5Ri00MTgwLUE5MDAtNTQ4RkRDRjMwNTVGfS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KQEAgLTMzNCwxNCArMzA2LDE0IEBACiAJCXszNkQwQzUyQy1ERjRFLTQ1RDAtOEJDNy1FMjk0QzNBQkM3ODF9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KIAkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KIAkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCi0JCXszNkQwQzUyQy1ERjRFLTQ1RDAtOEJDNy1FMjk0QzNBQkM3ODF9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXszNkQwQzUyQy1ERjRFLTQ1RDAtOEJDNy1FMjk0QzNBQkM3ODF9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXszNkQwQzUyQy1ERjRFLTQ1RDAtOEJDNy1FMjk0QzNBQkM3ODF9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXszNkQwQzUyQy1ERjRFLTQ1RDAtOEJDNy1FMjk0QzNBQkM3ODF9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFBHVXBkYXRlfFdpbjMyDQotCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUEdVcGRhdGV8V2luMzINCi0JCXszNkQwQzUyQy1ERjRFLTQ1RDAtOEJDNy1FMjk0QzNBQkM3ODF9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBQR1VwZGF0ZXx4NjQNCi0JCXszNkQwQzUyQy1ERjRFLTQ1RDAtOEJDNy1FMjk0QzNBQkM3ODF9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUEdVcGRhdGV8eDY0DQorCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KKwkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQorCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQorCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KKwkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KKwkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCisJCXszNkQwQzUyQy1ERjRFLTQ1RDAtOEJDNy1FMjk0QzNBQkM3ODF9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KKwkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KIAkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQogCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQogCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KQEAgLTQ0Miw3ICs0MTQsNyBAQAogCQl7RDA2QjY0MjYtNDc2Mi00NENDLThCQUQtRDc5MDUyNTA3RjJGfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQogCQl7RDA2QjY0MjYtNDc2Mi00NENDLThCQUQtRDc5MDUyNTA3RjJGfS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KIAkJe0QwNkI2NDI2LTQ3NjItNDRDQy04QkFELUQ3OTA1MjUwN0YyRn0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7RUIxQzE5QzEtMUYxOC00MjFFLTk3MzUtQ0FFRTY5REM2QTNDfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQorCQl7RUIxQzE5QzEtMUYxOC00MjFFLTk3MzUtQ0FFRTY5REM2QTNDfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KIAkJe0VCMUMxOUMxLTFGMTgtNDIxRS05NzM1LUNBRUU2OURDNkEzQ30uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQogCQl7RUIxQzE5QzEtMUYxOC00MjFFLTk3MzUtQ0FFRTY5REM2QTNDfS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KIAkJe0VCMUMxOUMxLTFGMTgtNDIxRS05NzM1LUNBRUU2OURDNkEzQ30uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KQEAgLTQ5OCw0OSArNDcwLDE4IEBACiAJCXs5RTQ4QjMwMC0zN0QxLTExREQtOEM0MS0wMDUwNTZDMDAwMDh9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCiAJCXs5RTQ4QjMwMC0zN0QxLTExREQtOEM0MS0wMDUwNTZDMDAwMDh9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQogCQl7OUU0OEIzMDAtMzdEMS0xMURELThDNDEtMDA1MDU2QzAwMDA4fS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCi0JCXtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCi0JCXtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFBHVXBkYXRlfFdpbjMyDQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8eDY0DQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfHg2NA0KLQkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KLQkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7NkRFMTA3NDQtRTM5Ni00MEE1LUI0RTItMUI2OUFBN0M4RDMxfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7NkRFMTA3NDQtRTM5Ni00MEE1LUI0RTItMUI2OUFBN0M4RDMxfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQotCQl7NkRFMTA3NDQtRTM5Ni00MEE1LUI0RTItMUI2OUFBN0M4RDMxfS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KLQkJezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KLQkJezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7NkRFMTA3NDQtRTM5Ni00MEE1LUI0RTItMUI2OUFBN0M4RDMxfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7ODg1RDQ4OTgtRDA4RC00MDkxLTlDNDAtQzcwMENGRTNGQzVBfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8eDY0DQotCQl7ODg1RDQ4OTgtRDA4RC00MDkxLTlDNDAtQzcwMENGRTNGQzVBfS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfHg2NA0KLQkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCi0JCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfHg2NA0KLQkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXx4NjQNCisJCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQorCQl7ODg1RDQ4OTgtRDA4RC00MDkxLTlDNDAtQzcwMENGRTNGQzVBfS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCisJCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCisJCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQorCQl7ODg1RDQ4OTgtRDA4RC00MDkxLTlDNDAtQzcwMENGRTNGQzVBfS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCisJCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCisJCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQorCQl7ODg1RDQ4OTgtRDA4RC00MDkxLTlDNDAtQzcwMENGRTNGQzVBfS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCisJCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQorCQl7ODg1RDQ4OTgtRDA4RC00MDkxLTlDNDAtQzcwMENGRTNGQzVBfS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCisJCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCisJCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQogCQl7ODg1RDQ4OTgtRDA4RC00MDkxLTlDNDAtQzcwMENGRTNGQzVBfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCiAJCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCiAJCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQpAQCAtNTYzLDE0ICs1MDQsMTQgQEAKIAkJe0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQogCQl7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQogCQl7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KLQkJe0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJe0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXtBMjY5N0JEMy0yOEMxLTRBRUMtOTEwNi04Qjc0ODYzOUZEMTZ9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJe0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJe0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCi0JCXtBMjY5N0JEMy0yOEMxLTRBRUMtOTEwNi04Qjc0ODYzOUZEMTZ9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJe0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfHg2NA0KLQkJe0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXx4NjQNCisJCXtBMjY5N0JEMy0yOEMxLTRBRUMtOTEwNi04Qjc0ODYzOUZEMTZ9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQorCQl7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCisJCXtBMjY5N0JEMy0yOEMxLTRBRUMtOTEwNi04Qjc0ODYzOUZEMTZ9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCisJCXtBMjY5N0JEMy0yOEMxLTRBRUMtOTEwNi04Qjc0ODYzOUZEMTZ9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQorCQl7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQorCQl7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KKwkJe0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQorCQl7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQogCQl7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCiAJCXtBMjY5N0JEMy0yOEMxLTRBRUMtOTEwNi04Qjc0ODYzOUZEMTZ9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCiAJCXtBMjY5N0JEMy0yOEMxLTRBRUMtOTEwNi04Qjc0ODYzOUZEMTZ9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQpAQCAtNTc5LDM0ICs1MjAsMzQgQEAKIAkJezdCMjcyN0I1LTVBM0YtNDBFRS1BODY2LTQzQTEzQ0QzMTQ0Nn0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQogCQl7N0IyNzI3QjUtNUEzRi00MEVFLUE4NjYtNDNBMTNDRDMxNDQ2fS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQogCQl7N0IyNzI3QjUtNUEzRi00MEVFLUE4NjYtNDNBMTNDRDMxNDQ2fS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KLQkJezdCMjcyN0I1LTVBM0YtNDBFRS1BODY2LTQzQTEzQ0QzMTQ0Nn0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezdCMjcyN0I1LTVBM0YtNDBFRS1BODY2LTQzQTEzQ0QzMTQ0Nn0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXs3QjI3MjdCNS01QTNGLTQwRUUtQTg2Ni00M0ExM0NEMzE0NDZ9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7N0IyNzI3QjUtNUEzRi00MEVFLUE4NjYtNDNBMTNDRDMxNDQ2fS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXs3QjI3MjdCNS01QTNGLTQwRUUtQTg2Ni00M0ExM0NEMzE0NDZ9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFBHVXBkYXRlfFdpbjMyDQotCQl7N0IyNzI3QjUtNUEzRi00MEVFLUE4NjYtNDNBMTNDRDMxNDQ2fS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUEdVcGRhdGV8V2luMzINCi0JCXs3QjI3MjdCNS01QTNGLTQwRUUtQTg2Ni00M0ExM0NEMzE0NDZ9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezdCMjcyN0I1LTVBM0YtNDBFRS1BODY2LTQzQTEzQ0QzMTQ0Nn0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KKwkJezdCMjcyN0I1LTVBM0YtNDBFRS1BODY2LTQzQTEzQ0QzMTQ0Nn0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCisJCXs3QjI3MjdCNS01QTNGLTQwRUUtQTg2Ni00M0ExM0NEMzE0NDZ9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KKwkJezdCMjcyN0I1LTVBM0YtNDBFRS1BODY2LTQzQTEzQ0QzMTQ0Nn0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KKwkJezdCMjcyN0I1LTVBM0YtNDBFRS1BODY2LTQzQTEzQ0QzMTQ0Nn0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCisJCXs3QjI3MjdCNS01QTNGLTQwRUUtQTg2Ni00M0ExM0NEMzE0NDZ9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCisJCXs3QjI3MjdCNS01QTNGLTQwRUUtQTg2Ni00M0ExM0NEMzE0NDZ9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQorCQl7N0IyNzI3QjUtNUEzRi00MEVFLUE4NjYtNDNBMTNDRDMxNDQ2fS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCisJCXs3QjI3MjdCNS01QTNGLTQwRUUtQTg2Ni00M0ExM0NEMzE0NDZ9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCiAJCXs3QjI3MjdCNS01QTNGLTQwRUUtQTg2Ni00M0ExM0NEMzE0NDZ9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KIAkJezdCMjcyN0I1LTVBM0YtNDBFRS1BODY2LTQzQTEzQ0QzMTQ0Nn0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJezdCMjcyN0I1LTVBM0YtNDBFRS1BODY2LTQzQTEzQ0QzMTQ0Nn0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJezdCMjcyN0I1LTVBM0YtNDBFRS1BODY2LTQzQTEzQ0QzMTQ0Nn0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCisJCXs3QjI3MjdCNS01QTNGLTQwRUUtQTg2Ni00M0ExM0NEMzE0NDZ9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQorCQl7N0IyNzI3QjUtNUEzRi00MEVFLUE4NjYtNDNBMTNDRDMxNDQ2fS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCiAJCXsxRDRCMThEMy03QzEyLTRFQ0ItOTE3OS04NTMxRkY4NzZDRTZ9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQogCQl7MUQ0QjE4RDMtN0MxMi00RUNCLTkxNzktODUzMUZGODc2Q0U2fS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCiAJCXsxRDRCMThEMy03QzEyLTRFQ0ItOTE3OS04NTMxRkY4NzZDRTZ9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCiAJCXsxRDRCMThEMy03QzEyLTRFQ0ItOTE3OS04NTMxRkY4NzZDRTZ9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQotCQl7MUQ0QjE4RDMtN0MxMi00RUNCLTkxNzktODUzMUZGODc2Q0U2fS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7MUQ0QjE4RDMtN0MxMi00RUNCLTkxNzktODUzMUZGODc2Q0U2fS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezFENEIxOEQzLTdDMTItNEVDQi05MTc5LTg1MzFGRjg3NkNFNn0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXsxRDRCMThEMy03QzEyLTRFQ0ItOTE3OS04NTMxRkY4NzZDRTZ9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezFENEIxOEQzLTdDMTItNEVDQi05MTc5LTg1MzFGRjg3NkNFNn0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCi0JCXsxRDRCMThEMy03QzEyLTRFQ0ItOTE3OS04NTMxRkY4NzZDRTZ9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezFENEIxOEQzLTdDMTItNEVDQi05MTc5LTg1MzFGRjg3NkNFNn0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfFdpbjMyDQotCQl7MUQ0QjE4RDMtN0MxMi00RUNCLTkxNzktODUzMUZGODc2Q0U2fS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfFdpbjMyDQorCQl7MUQ0QjE4RDMtN0MxMi00RUNCLTkxNzktODUzMUZGODc2Q0U2fS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KKwkJezFENEIxOEQzLTdDMTItNEVDQi05MTc5LTg1MzFGRjg3NkNFNn0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQorCQl7MUQ0QjE4RDMtN0MxMi00RUNCLTkxNzktODUzMUZGODc2Q0U2fS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQorCQl7MUQ0QjE4RDMtN0MxMi00RUNCLTkxNzktODUzMUZGODc2Q0U2fS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KKwkJezFENEIxOEQzLTdDMTItNEVDQi05MTc5LTg1MzFGRjg3NkNFNn0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KKwkJezFENEIxOEQzLTdDMTItNEVDQi05MTc5LTg1MzFGRjg3NkNFNn0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCisJCXsxRDRCMThEMy03QzEyLTRFQ0ItOTE3OS04NTMxRkY4NzZDRTZ9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KKwkJezFENEIxOEQzLTdDMTItNEVDQi05MTc5LTg1MzFGRjg3NkNFNn0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KIAkJezFENEIxOEQzLTdDMTItNEVDQi05MTc5LTg1MzFGRjg3NkNFNn0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQogCQl7MUQ0QjE4RDMtN0MxMi00RUNCLTkxNzktODUzMUZGODc2Q0U2fS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7MUQ0QjE4RDMtN0MxMi00RUNCLTkxNzktODUzMUZGODc2Q0U2fS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7MUQ0QjE4RDMtN0MxMi00RUNCLTkxNzktODUzMUZGODc2Q0U2fS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KKwkJezFENEIxOEQzLTdDMTItNEVDQi05MTc5LTg1MzFGRjg3NkNFNn0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCisJCXsxRDRCMThEMy03QzEyLTRFQ0ItOTE3OS04NTMxRkY4NzZDRTZ9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KIAkJezE5QzBDMTNGLTQ3Q0EtNDQzMi1BRkYzLTc5OUEyOTZBNEREQ30uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCiAJCXsxOUMwQzEzRi00N0NBLTQ0MzItQUZGMy03OTlBMjk2QTREREN9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCiAJCXsxOUMwQzEzRi00N0NBLTQ0MzItQUZGMy03OTlBMjk2QTREREN9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQpAQCAtNjE0LDcgKzU1NSw5IEBACiAJCXsxOUMwQzEzRi00N0NBLTQ0MzItQUZGMy03OTlBMjk2QTREREN9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCiAJCXsxOUMwQzEzRi00N0NBLTQ0MzItQUZGMy03OTlBMjk2QTREREN9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQogCQl7MTlDMEMxM0YtNDdDQS00NDMyLUFGRjMtNzk5QTI5NkE0RERDfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCisJCXsxOUMwQzEzRi00N0NBLTQ0MzItQUZGMy03OTlBMjk2QTREREN9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCiAJCXsxOUMwQzEzRi00N0NBLTQ0MzItQUZGMy03OTlBMjk2QTREREN9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQorCQl7MTlDMEMxM0YtNDdDQS00NDMyLUFGRjMtNzk5QTI5NkE0RERDfS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCiAJCXtFQjZFNjlERC0wNEJGLTQ1NDMtOUI5Mi00OUZBQUJDRUFDMkV9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQogCQl7RUI2RTY5REQtMDRCRi00NTQzLTlCOTItNDlGQUFCQ0VBQzJFfS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCiAJCXtFQjZFNjlERC0wNEJGLTQ1NDMtOUI5Mi00OUZBQUJDRUFDMkV9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCkBAIC02NDUsNiArNTg4LDg2IEBACiAJCXs2REFDNjZEOS1FNzAzLTQ2MjQtQkUwMy00OTExMkFCNUFBNjJ9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCiAJCXs2REFDNjZEOS1FNzAzLTQ2MjQtQkUwMy00OTExMkFCNUFBNjJ9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQogCQl7NkRBQzY2RDktRTcwMy00NjI0LUJFMDMtNDkxMTJBQjVBQTYyfS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCisJCXtCNUZENkYxRC0xMjlFLTRCRkYtOTM0MC0wMzYwNkZBQzcyODN9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQorCQl7QjVGRDZGMUQtMTI5RS00QkZGLTkzNDAtMDM2MDZGQUM3MjgzfS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCisJCXtCNUZENkYxRC0xMjlFLTRCRkYtOTM0MC0wMzYwNkZBQzcyODN9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCisJCXtCNUZENkYxRC0xMjlFLTRCRkYtOTM0MC0wMzYwNkZBQzcyODN9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQorCQl7QjVGRDZGMUQtMTI5RS00QkZGLTkzNDAtMDM2MDZGQUM3MjgzfS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KKwkJe0I1RkQ2RjFELTEyOUUtNEJGRi05MzQwLTAzNjA2RkFDNzI4M30uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQorCQl7QjVGRDZGMUQtMTI5RS00QkZGLTkzNDAtMDM2MDZGQUM3MjgzfS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQorCQl7QjVGRDZGMUQtMTI5RS00QkZGLTkzNDAtMDM2MDZGQUM3MjgzfS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KKwkJe0I1RkQ2RjFELTEyOUUtNEJGRi05MzQwLTAzNjA2RkFDNzI4M30uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KKwkJe0I1RkQ2RjFELTEyOUUtNEJGRi05MzQwLTAzNjA2RkFDNzI4M30uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCisJCXtCNUZENkYxRC0xMjlFLTRCRkYtOTM0MC0wMzYwNkZBQzcyODN9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KKwkJe0I1RkQ2RjFELTEyOUUtNEJGRi05MzQwLTAzNjA2RkFDNzI4M30uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KKwkJe0I1RkQ2RjFELTEyOUUtNEJGRi05MzQwLTAzNjA2RkFDNzI4M30uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQorCQl7QjVGRDZGMUQtMTI5RS00QkZGLTkzNDAtMDM2MDZGQUM3MjgzfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQorCQl7QjVGRDZGMUQtMTI5RS00QkZGLTkzNDAtMDM2MDZGQUM3MjgzfS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KKwkJe0I1RkQ2RjFELTEyOUUtNEJGRi05MzQwLTAzNjA2RkFDNzI4M30uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQorCQl7QzVBM0U3RkItOTY5NS00QjJFLTk2MEItMUQ5RjQzRjFFNTU1fS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KKwkJe0M1QTNFN0ZCLTk2OTUtNEIyRS05NjBCLTFEOUY0M0YxRTU1NX0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQorCQl7QzVBM0U3RkItOTY5NS00QjJFLTk2MEItMUQ5RjQzRjFFNTU1fS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQorCQl7QzVBM0U3RkItOTY5NS00QjJFLTk2MEItMUQ5RjQzRjFFNTU1fS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KKwkJe0M1QTNFN0ZCLTk2OTUtNEIyRS05NjBCLTFEOUY0M0YxRTU1NX0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCisJCXtDNUEzRTdGQi05Njk1LTRCMkUtOTYwQi0xRDlGNDNGMUU1NTV9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KKwkJe0M1QTNFN0ZCLTk2OTUtNEIyRS05NjBCLTFEOUY0M0YxRTU1NX0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KKwkJe0M1QTNFN0ZCLTk2OTUtNEIyRS05NjBCLTFEOUY0M0YxRTU1NX0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCisJCXtDNUEzRTdGQi05Njk1LTRCMkUtOTYwQi0xRDlGNDNGMUU1NTV9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCisJCXtDNUEzRTdGQi05Njk1LTRCMkUtOTYwQi0xRDlGNDNGMUU1NTV9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQorCQl7QzVBM0U3RkItOTY5NS00QjJFLTk2MEItMUQ5RjQzRjFFNTU1fS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCisJCXtDNUEzRTdGQi05Njk1LTRCMkUtOTYwQi0xRDlGNDNGMUU1NTV9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCisJCXtDNUEzRTdGQi05Njk1LTRCMkUtOTYwQi0xRDlGNDNGMUU1NTV9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KKwkJe0M1QTNFN0ZCLTk2OTUtNEIyRS05NjBCLTFEOUY0M0YxRTU1NX0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KKwkJe0M1QTNFN0ZCLTk2OTUtNEIyRS05NjBCLTFEOUY0M0YxRTU1NX0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCisJCXtDNUEzRTdGQi05Njk1LTRCMkUtOTYwQi0xRDlGNDNGMUU1NTV9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KKwkJezdFODVFQ0NGLUE3MkMtNERBNC05RTUyLTg4NDUwOEU4MEJBMX0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCisJCXs3RTg1RUNDRi1BNzJDLTREQTQtOUU1Mi04ODQ1MDhFODBCQTF9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KKwkJezdFODVFQ0NGLUE3MkMtNERBNC05RTUyLTg4NDUwOEU4MEJBMX0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KKwkJezdFODVFQ0NGLUE3MkMtNERBNC05RTUyLTg4NDUwOEU4MEJBMX0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCisJCXs3RTg1RUNDRi1BNzJDLTREQTQtOUU1Mi04ODQ1MDhFODBCQTF9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQorCQl7N0U4NUVDQ0YtQTcyQy00REE0LTlFNTItODg0NTA4RTgwQkExfS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCisJCXs3RTg1RUNDRi1BNzJDLTREQTQtOUU1Mi04ODQ1MDhFODBCQTF9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCisJCXs3RTg1RUNDRi1BNzJDLTREQTQtOUU1Mi04ODQ1MDhFODBCQTF9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQorCQl7N0U4NUVDQ0YtQTcyQy00REE0LTlFNTItODg0NTA4RTgwQkExfS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQorCQl7N0U4NUVDQ0YtQTcyQy00REE0LTlFNTItODg0NTA4RTgwQkExfS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KKwkJezdFODVFQ0NGLUE3MkMtNERBNC05RTUyLTg4NDUwOEU4MEJBMX0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQorCQl7N0U4NUVDQ0YtQTcyQy00REE0LTlFNTItODg0NTA4RTgwQkExfS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQorCQl7N0U4NUVDQ0YtQTcyQy00REE0LTlFNTItODg0NTA4RTgwQkExfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCisJCXs3RTg1RUNDRi1BNzJDLTREQTQtOUU1Mi04ODQ1MDhFODBCQTF9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCisJCXs3RTg1RUNDRi1BNzJDLTREQTQtOUU1Mi04ODQ1MDhFODBCQTF9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQorCQl7N0U4NUVDQ0YtQTcyQy00REE0LTlFNTItODg0NTA4RTgwQkExfS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCisJCXtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQorCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCisJCXtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCisJCXtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQorCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KKwkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQorCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQorCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KKwkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KKwkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCisJCXtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KKwkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KKwkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQorCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQorCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KKwkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQorCQl7MTA2MTVCMjQtNzNCRi00RUZBLTkzQUEtMjM2OTE2MzIxMzE3fS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KKwkJezEwNjE1QjI0LTczQkYtNEVGQS05M0FBLTIzNjkxNjMyMTMxN30uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQorCQl7MTA2MTVCMjQtNzNCRi00RUZBLTkzQUEtMjM2OTE2MzIxMzE3fS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQorCQl7MTA2MTVCMjQtNzNCRi00RUZBLTkzQUEtMjM2OTE2MzIxMzE3fS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KKwkJezEwNjE1QjI0LTczQkYtNEVGQS05M0FBLTIzNjkxNjMyMTMxN30uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCisJCXsxMDYxNUIyNC03M0JGLTRFRkEtOTNBQS0yMzY5MTYzMjEzMTd9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KKwkJezEwNjE1QjI0LTczQkYtNEVGQS05M0FBLTIzNjkxNjMyMTMxN30uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KKwkJezEwNjE1QjI0LTczQkYtNEVGQS05M0FBLTIzNjkxNjMyMTMxN30uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCisJCXsxMDYxNUIyNC03M0JGLTRFRkEtOTNBQS0yMzY5MTYzMjEzMTd9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCisJCXsxMDYxNUIyNC03M0JGLTRFRkEtOTNBQS0yMzY5MTYzMjEzMTd9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQorCQl7MTA2MTVCMjQtNzNCRi00RUZBLTkzQUEtMjM2OTE2MzIxMzE3fS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCisJCXsxMDYxNUIyNC03M0JGLTRFRkEtOTNBQS0yMzY5MTYzMjEzMTd9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCisJCXsxMDYxNUIyNC03M0JGLTRFRkEtOTNBQS0yMzY5MTYzMjEzMTd9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KKwkJezEwNjE1QjI0LTczQkYtNEVGQS05M0FBLTIzNjkxNjMyMTMxN30uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KKwkJezEwNjE1QjI0LTczQkYtNEVGQS05M0FBLTIzNjkxNjMyMTMxN30uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCisJCXsxMDYxNUIyNC03M0JGLTRFRkEtOTNBQS0yMzY5MTYzMjEzMTd9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KIAlFbmRHbG9iYWxTZWN0aW9uDQogCUdsb2JhbFNlY3Rpb24oU29sdXRpb25Qcm9wZXJ0aWVzKSA9IHByZVNvbHV0aW9uDQogCQlIaWRlU29sdXRpb25Ob2RlID0gRkFMU0UNCmRpZmYgLS1naXQgYS9QQ2J1aWxkL3BnaW5zdHJ1bWVudC5wcm9wcyBiL1BDYnVpbGQvcGdpbnN0cnVtZW50LnByb3BzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NTg0OTk1Li4wMDAwMDAwCi0tLSBhL1BDYnVpbGQvcGdpbnN0cnVtZW50LnByb3BzCisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAot77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iVXNlck1hY3JvcyI+Ci0gICAgPE91dERpclBHST4kKFNvbHV0aW9uRGlyKSQoUGxhdGZvcm0pLXBnaVw8L091dERpclBHST4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cD4KLSAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjMwMzE5LjE8L19Qcm9qZWN0RmlsZVZlcnNpb24+Ci0gICAgPE91dERpcj4kKE91dERpclBHSSlcPC9PdXREaXI+Ci0gICAgPEludERpcj4kKFNvbHV0aW9uRGlyKSQoUGxhdGZvcm1OYW1lKS10ZW1wLXBnaVwkKFByb2plY3ROYW1lKVw8L0ludERpcj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPE9wdGltaXphdGlvbj5NYXhTcGVlZDwvT3B0aW1pemF0aW9uPgotICAgICAgPElubGluZUZ1bmN0aW9uRXhwYW5zaW9uPk9ubHlFeHBsaWNpdElubGluZTwvSW5saW5lRnVuY3Rpb25FeHBhbnNpb24+Ci0gICAgICA8SW50cmluc2ljRnVuY3Rpb25zPmZhbHNlPC9JbnRyaW5zaWNGdW5jdGlvbnM+Ci0gICAgICA8RmF2b3JTaXplT3JTcGVlZD5TaXplPC9GYXZvclNpemVPclNwZWVkPgotICAgICAgPE9taXRGcmFtZVBvaW50ZXJzPnRydWU8L09taXRGcmFtZVBvaW50ZXJzPgotICAgICAgPEVuYWJsZUZpYmVyU2FmZU9wdGltaXphdGlvbnM+ZmFsc2U8L0VuYWJsZUZpYmVyU2FmZU9wdGltaXphdGlvbnM+Ci0gICAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+Ci0gICAgICA8RXhjZXB0aW9uSGFuZGxpbmc+Ci0gICAgICA8L0V4Y2VwdGlvbkhhbmRsaW5nPgotICAgICAgPEJ1ZmZlclNlY3VyaXR5Q2hlY2s+ZmFsc2U8L0J1ZmZlclNlY3VyaXR5Q2hlY2s+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8T3B0aW1pemVSZWZlcmVuY2VzPnRydWU8L09wdGltaXplUmVmZXJlbmNlcz4KLSAgICAgIDxFbmFibGVDT01EQVRGb2xkaW5nPmZhbHNlPC9FbmFibGVDT01EQVRGb2xkaW5nPgotICAgICAgPExpbmtUaW1lQ29kZUdlbmVyYXRpb24+UEdJbnN0cnVtZW50PC9MaW5rVGltZUNvZGVHZW5lcmF0aW9uPgotICAgICAgPFByb2ZpbGVHdWlkZWREYXRhYmFzZT4kKFNvbHV0aW9uRGlyKSQoUGxhdGZvcm0pLXBnaVwkKFRhcmdldE5hbWUpLnBnZDwvUHJvZmlsZUd1aWRlZERhdGFiYXNlPgotICAgICAgPEltcG9ydExpYnJhcnk+JChPdXREaXJQR0kpXCQoVGFyZ2V0TmFtZSkubGliPC9JbXBvcnRMaWJyYXJ5PgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxCdWlsZE1hY3JvIEluY2x1ZGU9Ik91dERpclBHSSI+Ci0gICAgICA8VmFsdWU+JChPdXREaXJQR0kpPC9WYWx1ZT4KLSAgICA8L0J1aWxkTWFjcm8+Ci0gIDwvSXRlbUdyb3VwPgotPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvUENidWlsZC9wZ3VwZGF0ZS5wcm9wcyBiL1BDYnVpbGQvcGd1cGRhdGUucHJvcHMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ3NzVhMDIuLjAwMDAwMDAKLS0tIGEvUENidWlsZC9wZ3VwZGF0ZS5wcm9wcworKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLe+7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Ci08UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KLSAgPEltcG9ydEdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFNvbHV0aW9uRGlyKVxwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwPgotICAgIDxfUHJvamVjdEZpbGVWZXJzaW9uPjEwLjAuMzAzMTkuMTwvX1Byb2plY3RGaWxlVmVyc2lvbj4KLSAgICA8T3V0RGlyPiQoU29sdXRpb25EaXIpJChQbGF0Zm9ybU5hbWUpLXBnb1w8L091dERpcj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsTWFuaWZlc3REZXBlbmRlbmNpZXM+JShBZGRpdGlvbmFsTWFuaWZlc3REZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsTWFuaWZlc3REZXBlbmRlbmNpZXM+Ci0gICAgICA8TGlua1RpbWVDb2RlR2VuZXJhdGlvbj5QR1VwZGF0ZTwvTGlua1RpbWVDb2RlR2VuZXJhdGlvbj4KLSAgICAgIDxJbXBvcnRMaWJyYXJ5PiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSkubGliPC9JbXBvcnRMaWJyYXJ5PgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1BDYnVpbGQvcHJlcGFyZV9zc2wuYmF0IGIvUENidWlsZC9wcmVwYXJlX3NzbC5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2IwNjUwMAotLS0gL2Rldi9udWxsCisrKyBiL1BDYnVpbGQvcHJlcGFyZV9zc2wuYmF0CkBAIC0wLDAgKzEsMTIgQEAKK0BlY2hvIG9mZgoraWYgbm90IGRlZmluZWQgSE9TVF9QWVRIT04gKAorICBpZiAlMSBFUVUgRGVidWcgKAorICAgIHNoaWZ0CisgICAgc2V0IEhPU1RfUFlUSE9OPXB5dGhvbl9kLmV4ZQorICAgIGlmIG5vdCBleGlzdCBweXRob24zNV9kLmRsbCBleGl0IDEKKyAgKSBFTFNFICgKKyAgICBzZXQgSE9TVF9QWVRIT049cHl0aG9uLmV4ZQorICAgIGlmIG5vdCBleGlzdCBweXRob24zNS5kbGwgZXhpdCAxCisgICkKKykKKyVIT1NUX1BZVEhPTiUgcHJlcGFyZV9zc2wucHkgJTEKZGlmZiAtLWdpdCBhL1BDYnVpbGQvcHJlcGFyZV9zc2wucHkgYi9QQ2J1aWxkL3ByZXBhcmVfc3NsLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE5OWM0ZWYKLS0tIC9kZXYvbnVsbAorKysgYi9QQ2J1aWxkL3ByZXBhcmVfc3NsLnB5CkBAIC0wLDAgKzEsMjQwIEBACisjIFNjcmlwdCBmb3IgcHJlcGFyaW5nIE9wZW5TU0wgZm9yIGJ1aWxkaW5nIG9uIFdpbmRvd3MuCisjIFVzZXMgUGVybCB0byBjcmVhdGUgbm1ha2UgbWFrZWZpbGVzIGFuZCBvdGhlcndpc2UgcHJlcGFyZSB0aGUgd2F5CisjIGZvciBidWlsZGluZyBvbiAzMiBvciA2NCBiaXQgcGxhdGZvcm1zLgorCisjIFNjcmlwdCBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE1hcmsgSGFtbW9uZC4KKyMgTWFqb3IgcmV2aXNpb25zIGJ5OgorIyAgIE1hcnRpbiB2LiBMw7Z3aXMKKyMgICBDaHJpc3RpYW4gSGVpbWVzCisjICAgWmFjaGFyeSBXYXJlCisKKyMgVEhFT1JFVElDQUxMWSwgeW91IGNhbjoKKyMgKiBVbnBhY2sgdGhlIGxhdGVzdCBPcGVuU1NMIHJlbGVhc2Ugd2hlcmUgJChvcGVuc3NsRGlyKSBpbgorIyAgIFBDYnVpbGRccHlwcm9qZWN0LnByb3BzIGV4cGVjdHMgaXQgdG8gYmUuCisjICogSW5zdGFsbCBBY3RpdmVQZXJsIGFuZCBlbnN1cmUgaXQgaXMgc29tZXdoZXJlIG9uIHlvdXIgcGF0aC4KKyMgKiBSdW4gdGhpcyBzY3JpcHQgd2l0aCB0aGUgT3BlblNTTCBzb3VyY2UgZGlyIGFzIHRoZSBvbmx5IGFyZ3VtZW50LgorIworIyBpdCBzaG91bGQgY29uZmlndXJlIE9wZW5TU0wgc3VjaCB0aGF0IGl0IGlzIHJlYWR5IHRvIGJlIGJ1aWx0IGJ5CisjIHNzbC52Y3hwcm9qIG9uIDMyIG9yIDY0IGJpdCBwbGF0Zm9ybXMuCisKK2ltcG9ydCBvcworaW1wb3J0IHJlCitpbXBvcnQgc3lzCitpbXBvcnQgc2h1dGlsCitpbXBvcnQgc3VicHJvY2VzcworCisjIEZpbmQgYWxsICJmb28uZXhlIiBmaWxlcyBvbiB0aGUgUEFUSC4KK2RlZiBmaW5kX2FsbF9vbl9wYXRoKGZpbGVuYW1lLCBleHRyYXMgPSBOb25lKToKKyAgICBlbnRyaWVzID0gb3MuZW52aXJvblsiUEFUSCJdLnNwbGl0KG9zLnBhdGhzZXApCisgICAgcmV0ID0gW10KKyAgICBmb3IgcCBpbiBlbnRyaWVzOgorICAgICAgICBmbmFtZSA9IG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmpvaW4ocCwgZmlsZW5hbWUpKQorICAgICAgICBpZiBvcy5wYXRoLmlzZmlsZShmbmFtZSkgYW5kIGZuYW1lIG5vdCBpbiByZXQ6CisgICAgICAgICAgICByZXQuYXBwZW5kKGZuYW1lKQorICAgIGlmIGV4dHJhczoKKyAgICAgICAgZm9yIHAgaW4gZXh0cmFzOgorICAgICAgICAgICAgZm5hbWUgPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKHAsIGZpbGVuYW1lKSkKKyAgICAgICAgICAgIGlmIG9zLnBhdGguaXNmaWxlKGZuYW1lKSBhbmQgZm5hbWUgbm90IGluIHJldDoKKyAgICAgICAgICAgICAgICByZXQuYXBwZW5kKGZuYW1lKQorICAgIHJldHVybiByZXQKKworIyBGaW5kIGEgc3VpdGFibGUgUGVybCBpbnN0YWxsYXRpb24gZm9yIE9wZW5TU0wuCisjIGN5Z3dpbiBwZXJsIGRvZXMgKm5vdCogd29yay4gIEFjdGl2ZVBlcmwgZG9lcy4KKyMgQmVpbmcgYSBQZXJsIGR1bW15LCB0aGUgc2ltcGxlc3Qgd2F5IEkgY2FuIGNoZWNrIGlzIGlmIHRoZSAiV2luMzIiIHBhY2thZ2UKKyMgaXMgYXZhaWxhYmxlLgorZGVmIGZpbmRfd29ya2luZ19wZXJsKHBlcmxzKToKKyAgICBmb3IgcGVybCBpbiBwZXJsczoKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoW3BlcmwsICItZSIsICJ1c2UgV2luMzI7Il0pCisgICAgICAgIGV4Y2VwdCBzdWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NFcnJvcjoKKyAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXR1cm4gcGVybAorCisgICAgaWYgcGVybHM6CisgICAgICAgIHByaW50KCJUaGUgZm9sbG93aW5nIHBlcmwgaW50ZXJwcmV0ZXJzIHdlcmUgZm91bmQ6IikKKyAgICAgICAgZm9yIHAgaW4gcGVybHM6CisgICAgICAgICAgICBwcmludCgiICIsIHApCisgICAgICAgIHByaW50KCIgTm9uZSBvZiB0aGVzZSB2ZXJzaW9ucyBhcHBlYXIgc3VpdGFibGUgZm9yIGJ1aWxkaW5nIE9wZW5TU0wiKQorICAgIGVsc2U6CisgICAgICAgIHByaW50KCJOTyBwZXJsIGludGVycHJldGVycyB3ZXJlIGZvdW5kIG9uIHRoaXMgbWFjaGluZSBhdCBhbGwhIikKKyAgICBwcmludCgiIFBsZWFzZSBpbnN0YWxsIEFjdGl2ZVBlcmwgYW5kIGVuc3VyZSBpdCBhcHBlYXJzIG9uIHlvdXIgcGF0aCIpCisKK2RlZiBjcmVhdGVfbWFrZWZpbGU2NChtYWtlZmlsZSwgbTMyKToKKyAgICAiIiJDcmVhdGUgYW5kIGZpeCBtYWtlZmlsZSBmb3IgNjRiaXQKKworICAgIFJlcGxhY2UgMzIgd2l0aCA2NGJpdCBkaXJlY3RvcmllcworICAgICIiIgorICAgIGlmIG5vdCBvcy5wYXRoLmlzZmlsZShtMzIpOgorICAgICAgICByZXR1cm4KKyAgICB3aXRoIG9wZW4obTMyKSBhcyBmaW46CisgICAgICAgIHdpdGggb3BlbihtYWtlZmlsZSwgJ3cnKSBhcyBmb3V0OgorICAgICAgICAgICAgZm9yIGxpbmUgaW4gZmluOgorICAgICAgICAgICAgICAgIGxpbmUgPSBsaW5lLnJlcGxhY2UoIj10bXAzMiIsICI9dG1wNjQiKQorICAgICAgICAgICAgICAgIGxpbmUgPSBsaW5lLnJlcGxhY2UoIj1vdXQzMiIsICI9b3V0NjQiKQorICAgICAgICAgICAgICAgIGxpbmUgPSBsaW5lLnJlcGxhY2UoIj1pbmMzMiIsICI9aW5jNjQiKQorICAgICAgICAgICAgICAgICMgZm9yY2UgNjQgYml0IG1hY2hpbmUKKyAgICAgICAgICAgICAgICBsaW5lID0gbGluZS5yZXBsYWNlKCJNS0xJQj1saWIiLCAiTUtMSUI9bGliIC9NQUNISU5FOlg2NCIpCisgICAgICAgICAgICAgICAgbGluZSA9IGxpbmUucmVwbGFjZSgiTEZMQUdTPSIsICJMRkxBR1M9L01BQ0hJTkU6WDY0ICIpCisgICAgICAgICAgICAgICAgIyBkb24ndCBsaW5rIGFnYWluc3QgdGhlIGxpYiBvbiA2NGJpdCBzeXN0ZW1zCisgICAgICAgICAgICAgICAgbGluZSA9IGxpbmUucmVwbGFjZSgiYnVmZmVyb3ZlcmZsb3d1LmxpYiIsICIiKQorICAgICAgICAgICAgICAgIGZvdXQud3JpdGUobGluZSkKKyAgICBvcy51bmxpbmsobTMyKQorCitkZWYgY3JlYXRlX2FzbXMobWFrZWZpbGUpOgorICAgICNjcmVhdGUgYSBjdXN0b20gbWFrZWZpbGUgb3V0IG9mIHRoZSBwcm92aWRlZCBvbmUKKyAgICBhc21fbWFrZWZpbGUgPSBvcy5wYXRoLnNwbGl0ZXh0KG1ha2VmaWxlKVswXSArICcuYXNtLm1haycKKyAgICB3aXRoIG9wZW4obWFrZWZpbGUpIGFzIGZpbjoKKyAgICAgICAgd2l0aCBvcGVuKGFzbV9tYWtlZmlsZSwgJ3cnKSBhcyBmb3V0OgorICAgICAgICAgICAgZm9yIGxpbmUgaW4gZmluOgorICAgICAgICAgICAgICAgICMgS2VlcCBldmVyeXRoaW5nIHVwIHRvIHRoZSBpbnN0YWxsIHRhcmdldCAoaXQncyBjb252ZW5pZW50KQorICAgICAgICAgICAgICAgIGlmIGxpbmUuc3RhcnRzd2l0aCgnaW5zdGFsbDogYWxsJyk6CisgICAgICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgZm91dC53cml0ZShsaW5lKQorICAgICAgICAgICAgYXNtcyA9IFtdCisgICAgICAgICAgICBmb3IgbGluZSBpbiBmaW46CisgICAgICAgICAgICAgICAgaWYgJy5hc20nIGluIGxpbmUgYW5kIGxpbmUuc3RyaXAoKS5lbmRzd2l0aCgnLnBsJyk6CisgICAgICAgICAgICAgICAgICAgIGFzbXMuYXBwZW5kKGxpbmUuc3BsaXQoJzonKVswXSkKKyAgICAgICAgICAgICAgICAgICAgd2hpbGUgbGluZS5zdHJpcCgpOgorICAgICAgICAgICAgICAgICAgICAgICAgZm91dC53cml0ZShsaW5lKQorICAgICAgICAgICAgICAgICAgICAgICAgbGluZSA9IG5leHQoZmluKQorICAgICAgICAgICAgICAgICAgICBmb3V0LndyaXRlKCdcbicpCisKKyAgICAgICAgICAgIGZvdXQud3JpdGUoJ2FzbXM6ICQoVE1QX0QpICcpCisgICAgICAgICAgICBmb3V0LndyaXRlKCcgJy5qb2luKGFzbXMpKQorICAgICAgICAgICAgZm91dC53cml0ZSgnXG4nKQorCisgICAgb3Muc3lzdGVtKCdubWFrZSAvZiB7fSBQRVJMPXBlcmwgYXNtcycuZm9ybWF0KGFzbV9tYWtlZmlsZSkpCisgICAgb3MudW5saW5rKGFzbV9tYWtlZmlsZSkKKworCisKK2RlZiBmaXhfbWFrZWZpbGUobWFrZWZpbGUpOgorICAgICIiIkZpeCBzb21lIHN0dWZmIGluIGFsbCBtYWtlZmlsZXMKKyAgICAiIiIKKyAgICBpZiBub3Qgb3MucGF0aC5pc2ZpbGUobWFrZWZpbGUpOgorICAgICAgICByZXR1cm4KKyAgICB3aXRoIG9wZW4obWFrZWZpbGUpIGFzIGZpbjoKKyAgICAgICAgbGluZXMgPSBmaW4ucmVhZGxpbmVzKCkKKyAgICB3aXRoIG9wZW4obWFrZWZpbGUsICd3JykgYXMgZm91dDoKKyAgICAgICAgZm9yIGxpbmUgaW4gbGluZXM6CisgICAgICAgICAgICBpZiBsaW5lLnN0YXJ0c3dpdGgoIlBFUkw9Iik6CisgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIGlmIGxpbmUuc3RhcnRzd2l0aCgiQ1A9Iik6CisgICAgICAgICAgICAgICAgbGluZSA9ICJDUD1jb3B5XG4iCisgICAgICAgICAgICBpZiBsaW5lLnN0YXJ0c3dpdGgoIk1LRElSPSIpOgorICAgICAgICAgICAgICAgIGxpbmUgPSAiTUtESVI9bWtkaXJcbiIKKyAgICAgICAgICAgIGlmIGxpbmUuc3RhcnRzd2l0aCgiQ0ZMQUc9Iik6CisgICAgICAgICAgICAgICAgbGluZSA9IGxpbmUuc3RyaXAoKQorICAgICAgICAgICAgICAgIGZvciBhbGdvIGluICgiUkM1IiwgIk1EQzIiLCAiSURFQSIpOgorICAgICAgICAgICAgICAgICAgICBub2FsZ28gPSAiIC1ET1BFTlNTTF9OT18lcyIgJSBhbGdvCisgICAgICAgICAgICAgICAgICAgIGlmIG5vYWxnbyBub3QgaW4gbGluZToKKyAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUgPSBsaW5lICsgbm9hbGdvCisgICAgICAgICAgICAgICAgbGluZSA9IGxpbmUgKyAnXG4nCisgICAgICAgICAgICBmb3V0LndyaXRlKGxpbmUpCisKK2RlZiBydW5fY29uZmlndXJlKGNvbmZpZ3VyZSwgZG9fc2NyaXB0KToKKyAgICBwcmludCgicGVybCBDb25maWd1cmUgIitjb25maWd1cmUrIiBuby1pZGVhIG5vLW1kYzIiKQorICAgIG9zLnN5c3RlbSgicGVybCBDb25maWd1cmUgIitjb25maWd1cmUrIiBuby1pZGVhIG5vLW1kYzIiKQorICAgIHByaW50KGRvX3NjcmlwdCkKKyAgICBvcy5zeXN0ZW0oZG9fc2NyaXB0KQorCitkZWYgY21wKGYxLCBmMik6CisgICAgYnVmc2l6ZSA9IDEwMjQgKiA4CisgICAgd2l0aCBvcGVuKGYxLCAncmInKSBhcyBmcDEsIG9wZW4oZjIsICdyYicpIGFzIGZwMjoKKyAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgIGIxID0gZnAxLnJlYWQoYnVmc2l6ZSkKKyAgICAgICAgICAgIGIyID0gZnAyLnJlYWQoYnVmc2l6ZSkKKyAgICAgICAgICAgIGlmIGIxICE9IGIyOgorICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQorICAgICAgICAgICAgaWYgbm90IGIxOgorICAgICAgICAgICAgICAgIHJldHVybiBUcnVlCisKK2RlZiBjb3B5KHNyYywgZHN0KToKKyAgICBpZiBvcy5wYXRoLmlzZmlsZShkc3QpIGFuZCBjbXAoc3JjLCBkc3QpOgorICAgICAgICByZXR1cm4KKyAgICBzaHV0aWwuY29weShzcmMsIGRzdCkKKworZGVmIHByZXAoYXJjaCk6CisgICAgaWYgYXJjaCA9PSAieDg2IjoKKyAgICAgICAgY29uZmlndXJlID0gIlZDLVdJTjMyIgorICAgICAgICBkb19zY3JpcHQgPSAibXNcXGRvX25hc20iCisgICAgICAgIG1ha2VmaWxlPSJtc1xcbnQubWFrIgorICAgICAgICBtMzIgPSBtYWtlZmlsZQorICAgICAgICBkaXJzdWZmaXggPSAiMzIiCisgICAgZWxpZiBhcmNoID09ICJhbWQ2NCI6CisgICAgICAgIGNvbmZpZ3VyZSA9ICJWQy1XSU42NEEiCisgICAgICAgIGRvX3NjcmlwdCA9ICJtc1xcZG9fd2luNjRhIgorICAgICAgICBtYWtlZmlsZSA9ICJtc1xcbnQ2NC5tYWsiCisgICAgICAgIG0zMiA9IG1ha2VmaWxlLnJlcGxhY2UoJzY0JywgJycpCisgICAgICAgIGRpcnN1ZmZpeCA9ICI2NCIKKyAgICAgICAgI29zLmVudmlyb25bIlZTRVhUQ09NUF9VU0VDTCJdID0gIk1TX09QVEVST04iCisgICAgZWxzZToKKyAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignVW5yZWNvZ25pemVkIHBsYXRmb3JtOiAlcycgJSBhcmNoKQorCisgICAgIyByZWJ1aWxkIG1ha2VmaWxlIHdoZW4gd2UgZG8gdGhlIHJvbGUgb3ZlciBmcm9tIDMyIHRvIDY0IGJ1aWxkCisgICAgaWYgYXJjaCA9PSAiYW1kNjQiIGFuZCBvcy5wYXRoLmlzZmlsZShtMzIpIGFuZCBub3Qgb3MucGF0aC5pc2ZpbGUobWFrZWZpbGUpOgorICAgICAgICBvcy51bmxpbmsobTMyKQorCisgICAgIyBJZiB0aGUgc3NsIG1ha2VmaWxlcyBkbyBub3QgZXhpc3QsIHdlIGludm9rZSBQZXJsIHRvIGdlbmVyYXRlIHRoZW0uCisgICAgIyBEdWUgdG8gYSBidWcgaW4gdGhpcyBzY3JpcHQsIHRoZSBtYWtlZmlsZSBzb21ldGltZXMgZW5kZWQgdXAgZW1wdHkKKyAgICAjIEZvcmNlIGEgcmVnZW5lcmF0aW9uIGlmIGl0IGlzLgorICAgIGlmIG5vdCBvcy5wYXRoLmlzZmlsZShtYWtlZmlsZSkgb3Igb3MucGF0aC5nZXRzaXplKG1ha2VmaWxlKT09MDoKKyAgICAgICAgcHJpbnQoIkNyZWF0aW5nIHRoZSBtYWtlZmlsZXMuLi4iKQorICAgICAgICBzeXMuc3Rkb3V0LmZsdXNoKCkKKyAgICAgICAgcnVuX2NvbmZpZ3VyZShjb25maWd1cmUsIGRvX3NjcmlwdCkKKworICAgICAgICBpZiBhcmNoID09ICJhbWQ2NCI6CisgICAgICAgICAgICBjcmVhdGVfbWFrZWZpbGU2NChtYWtlZmlsZSwgbTMyKQorICAgICAgICBmaXhfbWFrZWZpbGUobWFrZWZpbGUpCisgICAgICAgIGNvcHkociJjcnlwdG9cYnVpbGRpbmYuaCIsIHIiY3J5cHRvXGJ1aWxkaW5mXyVzLmgiICUgYXJjaCkKKyAgICAgICAgY29weShyImNyeXB0b1xvcGVuc3NsY29uZi5oIiwgciJjcnlwdG9cb3BlbnNzbGNvbmZfJXMuaCIgJSBhcmNoKQorICAgIGVsc2U6CisgICAgICAgIHByaW50KG1ha2VmaWxlLCAnYWxyZWFkeSBleGlzdHMhJykKKworICAgIHByaW50KCdjcmVhdGluZyBhc21zLi4uJykKKyAgICBjcmVhdGVfYXNtcyhtYWtlZmlsZSkKKworZGVmIG1haW4oKToKKyAgICBpZiBsZW4oc3lzLmFyZ3YpID09IDE6CisgICAgICAgIHByaW50KCJOb3QgZW5vdWdoIGFyZ3VtZW50czogZGlyZWN0b3J5IGNvbnRhaW5pbmcgT3BlblNTTCIsCisgICAgICAgICAgICAgICJzb3VyY2VzIG11c3QgYmUgc3VwcGxpZWQiKQorICAgICAgICBzeXMuZXhpdCgxKQorCisgICAgaWYgbGVuKHN5cy5hcmd2KSA+IDI6CisgICAgICAgIHByaW50KCJUb28gbWFueSBhcmd1bWVudHMgc3VwcGxpZWQsIGFsbCB3ZSBuZWVkIGlzIHRoZSBkaXJlY3RvcnkiLAorICAgICAgICAgICAgICAiY29udGFpbmluZyBPcGVuU1NMIHNvdXJjZXMiKQorICAgICAgICBzeXMuZXhpdCgxKQorCisgICAgc3NsX2RpciA9IHN5cy5hcmd2WzFdCisKKyAgICBpZiBub3Qgb3MucGF0aC5pc2Rpcihzc2xfZGlyKToKKyAgICAgICAgcHJpbnQoc3NsX2RpciwgImlzIG5vdCBhbiBleGlzdGluZyBkaXJlY3RvcnkhIikKKyAgICAgICAgc3lzLmV4aXQoMSkKKworICAgICMgcGVybCBzaG91bGQgYmUgb24gdGhlIHBhdGgsIGJ1dCB3ZSBhbHNvIGxvb2sgaW4gIlxwZXJsIiBhbmQgImM6XFxwZXJsIgorICAgICMgYXMgIndlbGwga25vd24iIGxvY2F0aW9ucworICAgIHBlcmxzID0gZmluZF9hbGxfb25fcGF0aCgicGVybC5leGUiLCBbIlxccGVybFxcYmluIiwgIkM6XFxwZXJsXFxiaW4iXSkKKyAgICBwZXJsID0gZmluZF93b3JraW5nX3BlcmwocGVybHMpCisgICAgaWYgcGVybDoKKyAgICAgICAgcHJpbnQoIkZvdW5kIGEgd29ya2luZyBwZXJsIGF0ICclcyciICUgKHBlcmwsKSkKKyAgICBlbHNlOgorICAgICAgICBzeXMuZXhpdCgxKQorICAgIHN5cy5zdGRvdXQuZmx1c2goKQorCisgICAgIyBQdXQgb3VyIHdvcmtpbmcgUGVybCBhdCB0aGUgZnJvbnQgb2Ygb3VyIHBhdGgKKyAgICBvcy5lbnZpcm9uWyJQQVRIIl0gPSBvcy5wYXRoLmRpcm5hbWUocGVybCkgKyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zLnBhdGhzZXAgKyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zLmVudmlyb25bIlBBVEgiXQorCisgICAgb2xkX2N3ZCA9IG9zLmdldGN3ZCgpCisgICAgdHJ5OgorICAgICAgICBvcy5jaGRpcihzc2xfZGlyKQorICAgICAgICBmb3IgYXJjaCBpbiBbJ2FtZDY0JywgJ3g4NiddOgorICAgICAgICAgICAgcHJlcChhcmNoKQorICAgIGZpbmFsbHk6CisgICAgICAgIG9zLmNoZGlyKG9sZF9jd2QpCisKK2lmIF9fbmFtZV9fPT0nX19tYWluX18nOgorICAgIG1haW4oKQpkaWZmIC0tZ2l0IGEvUENidWlsZC9weWQucHJvcHMgYi9QQ2J1aWxkL3B5ZC5wcm9wcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDY5OTY2ZS4uMDAwMDAwMAotLS0gYS9QQ2J1aWxkL3B5ZC5wcm9wcworKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLe+7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Ci08UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KLSAgPEltcG9ydEdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8UHJvcGVydHlHcm91cD4KLSAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjMwMzE5LjE8L19Qcm9qZWN0RmlsZVZlcnNpb24+Ci0gICAgPEdlbmVyYXRlTWFuaWZlc3Q+ZmFsc2U8L0dlbmVyYXRlTWFuaWZlc3Q+Ci0gICAgPEVtYmVkTWFuaWZlc3Q+ZmFsc2U8L0VtYmVkTWFuaWZlc3Q+Ci0gICAgPFRhcmdldEV4dD4ucHlkPC9UYXJnZXRFeHQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5QeV9CVUlMRF9DT1JFX01PRFVMRTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERMTDwvUnVudGltZUxpYnJhcnk+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgPC9MaW5rPgotICAgIDxQb3N0QnVpbGRFdmVudD4KLSAgICAgIDxDb21tYW5kPgotICAgICAgPC9Db21tYW5kPgotICAgIDwvUG9zdEJ1aWxkRXZlbnQ+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLTwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9QQ2J1aWxkL3B5ZF9kLnByb3BzIGIvUENidWlsZC9weWRfZC5wcm9wcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjAyMzI4OC4uMDAwMDAwMAotLS0gYS9QQ2J1aWxkL3B5ZF9kLnByb3BzCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAot77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgotICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9ImRlYnVnLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iVXNlck1hY3JvcyIgLz4KLSAgPFByb3BlcnR5R3JvdXA+Ci0gICAgPF9Qcm9qZWN0RmlsZVZlcnNpb24+MTAuMC4zMDMxOS4xPC9fUHJvamVjdEZpbGVWZXJzaW9uPgotICAgIDxMaW5rSW5jcmVtZW50YWw+ZmFsc2U8L0xpbmtJbmNyZW1lbnRhbD4KLSAgICA8R2VuZXJhdGVNYW5pZmVzdD5mYWxzZTwvR2VuZXJhdGVNYW5pZmVzdD4KLSAgICA8RW1iZWRNYW5pZmVzdD5mYWxzZTwvRW1iZWRNYW5pZmVzdD4KLSAgICA8VGFyZ2V0RXh0Pi5weWQ8L1RhcmdldEV4dD4KLSAgICA8VGFyZ2V0TmFtZT4kKFByb2plY3ROYW1lKV9kPC9UYXJnZXROYW1lPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8T3B0aW1pemF0aW9uPkRpc2FibGVkPC9PcHRpbWl6YXRpb24+Ci0gICAgICA8SW5saW5lRnVuY3Rpb25FeHBhbnNpb24+RGVmYXVsdDwvSW5saW5lRnVuY3Rpb25FeHBhbnNpb24+Ci0gICAgICA8SW50cmluc2ljRnVuY3Rpb25zPmZhbHNlPC9JbnRyaW5zaWNGdW5jdGlvbnM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+UHlfQlVJTERfQ09SRV9NT0RVTEU7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWREZWJ1Z0RMTDwvUnVudGltZUxpYnJhcnk+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbmsgLz4KLSAgICA8UG9zdEJ1aWxkRXZlbnQ+Ci0gICAgICA8Q29tbWFuZD4KLSAgICAgIDwvQ29tbWFuZD4KLSAgICA8L1Bvc3RCdWlsZEV2ZW50PgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtR3JvdXAgLz4KLTwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9QQ2J1aWxkL3B5ZXhwYXQudmN4cHJvaiBiL1BDYnVpbGQvcHlleHBhdC52Y3hwcm9qCmluZGV4IDk3NGZkM2QuLjRlNzYyMWVjIDEwMDY0NAotLS0gYS9QQ2J1aWxkL3B5ZXhwYXQudmN4cHJvagorKysgYi9QQ2J1aWxkL3B5ZXhwYXQudmN4cHJvagpAQCAtMzUsMTg2ICszNSwzMyBAQAogICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CiAgIDwvSXRlbUdyb3VwPgogICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+CisgICAgPF9Qcm9qZWN0RmlsZVZlcnNpb24+MTAuMC4zMDMxOS4xPC9fUHJvamVjdEZpbGVWZXJzaW9uPgogICAgIDxQcm9qZWN0R3VpZD57RDA2QjY0MjYtNDc2Mi00NENDLThCQUQtRDc5MDUyNTA3RjJGfTwvUHJvamVjdEd1aWQ+CiAgICAgPFJvb3ROYW1lc3BhY2U+cHlleHBhdDwvUm9vdE5hbWVzcGFjZT4KLSAgICA8S2V5d29yZD5XaW4zMlByb2o8L0tleXdvcmQ+CiAgIDwvUHJvcGVydHlHcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSJweXRob24ucHJvcHMiIC8+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CiAgICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KICAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgogICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8VGFyZ2V0RXh0Pi5weWQ8L1RhcmdldEV4dD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgogICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblNldHRpbmdzIj4KICAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZF9kLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkX2QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+CisgICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+CiAgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiAvPgotICA8UHJvcGVydHlHcm91cD4KLSAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjMwMzE5LjE8L19Qcm9qZWN0RmlsZVZlcnNpb24+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+CiAgICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi5cLi5cTW9kdWxlc1xleHBhdDslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChQeVNvdXJjZVBhdGgpTW9kdWxlc1xleHBhdDslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgogICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPlBZRVhQQVRfRVhQT1JUUztIQVZFX0VYUEFUX0g7WE1MX05TO1hNTF9EVEQ7QllURU9SREVSPTEyMzQ7WE1MX0NPTlRFWFRfQllURVM9MTAyNDtYTUxfU1RBVElDO0hBVkVfTUVNTU9WRTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CiAgICAgPC9DbENvbXBpbGU+CiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+LlwuLlxNb2R1bGVzXGV4cGF0OyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+UFlFWFBBVF9FWFBPUlRTO0hBVkVfRVhQQVRfSDtYTUxfTlM7WE1MX0RURDtCWVRFT1JERVI9MTIzNDtYTUxfQ09OVEVYVF9CWVRFUz0xMDI0O1hNTF9TVEFUSUM7SEFWRV9NRU1NT1ZFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+LlwuLlxNb2R1bGVzXGV4cGF0OyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+UFlFWFBBVF9FWFBPUlRTO0hBVkVfRVhQQVRfSDtYTUxfTlM7WE1MX0RURDtCWVRFT1JERVI9MTIzNDtYTUxfQ09OVEVYVF9CWVRFUz0xMDI0O1hNTF9TVEFUSUM7SEFWRV9NRU1NT1ZFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi5cLi5cTW9kdWxlc1xleHBhdDslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPlBZRVhQQVRfRVhQT1JUUztIQVZFX0VYUEFUX0g7WE1MX05TO1hNTF9EVEQ7QllURU9SREVSPTEyMzQ7WE1MX0NPTlRFWFRfQllURVM9MTAyNDtYTUxfU1RBVElDO0hBVkVfTUVNTU9WRTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+LlwuLlxNb2R1bGVzXGV4cGF0OyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+UFlFWFBBVF9FWFBPUlRTO0hBVkVfRVhQQVRfSDtYTUxfTlM7WE1MX0RURDtCWVRFT1JERVI9MTIzNDtYTUxfQ09OVEVYVF9CWVRFUz0xMDI0O1hNTF9TVEFUSUM7SEFWRV9NRU1NT1ZFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+LlwuLlxNb2R1bGVzXGV4cGF0OyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+UFlFWFBBVF9FWFBPUlRTO0hBVkVfRVhQQVRfSDtYTUxfTlM7WE1MX0RURDtCWVRFT1JERVI9MTIzNDtYTUxfQ09OVEVYVF9CWVRFUz0xMDI0O1hNTF9TVEFUSUM7SEFWRV9NRU1NT1ZFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+LlwuLlxNb2R1bGVzXGV4cGF0OyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+UFlFWFBBVF9FWFBPUlRTO0hBVkVfRVhQQVRfSDtYTUxfTlM7WE1MX0RURDtCWVRFT1JERVI9MTIzNDtYTUxfQ09OVEVYVF9CWVRFUz0xMDI0O1hNTF9TVEFUSUM7SEFWRV9NRU1NT1ZFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uXC4uXE1vZHVsZXNcZXhwYXQ7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5QWUVYUEFUX0VYUE9SVFM7SEFWRV9FWFBBVF9IO1hNTF9OUztYTUxfRFREO0JZVEVPUkRFUj0xMjM0O1hNTF9DT05URVhUX0JZVEVTPTEwMjQ7WE1MX1NUQVRJQztIQVZFX01FTU1PVkU7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KICAgPEl0ZW1Hcm91cD4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcZXhwYXRceG1scm9sZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cTW9kdWxlc1xleHBhdFx4bWx0b2suaCIgLz4KZGlmZiAtLWdpdCBhL1BDYnVpbGQvcHlsYXVuY2hlci52Y3hwcm9qIGIvUENidWlsZC9weWxhdW5jaGVyLnZjeHByb2oKaW5kZXggOWZhOTNkZC4uNmEyMTc4NSAxMDA2NDQKLS0tIGEvUENidWlsZC9weWxhdW5jaGVyLnZjeHByb2oKKysrIGIvUENidWlsZC9weWxhdW5jaGVyLnZjeHByb2oKQEAgLTM3LDI1NiArMzcsMzMgQEAKICAgPFByb3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgogICAgIDxQcm9qZWN0R3VpZD57N0IyNzI3QjUtNUEzRi00MEVFLUE4NjYtNDNBMTNDRDMxNDQ2fTwvUHJvamVjdEd1aWQ+CiAgICAgPFJvb3ROYW1lc3BhY2U+cHlsYXVuY2hlcjwvUm9vdE5hbWVzcGFjZT4KKyAgICA8VGFyZ2V0TmFtZT5weTwvVGFyZ2V0TmFtZT4KKyAgICA8TWFrZVZlcnNpb25JbmZvQmVmb3JlVGFyZ2V0PkNsQ29tcGlsZTwvTWFrZVZlcnNpb25JbmZvQmVmb3JlVGFyZ2V0PgorICAgIDxTdXBwb3J0UEdPPmZhbHNlPC9TdXBwb3J0UEdPPgogICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0icHl0aG9uLnByb3BzIiAvPgogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CiAgICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlRGVidWdMaWJyYXJpZXM+dHJ1ZTwvVXNlRGVidWdMaWJyYXJpZXM+Ci0gICAgPENoYXJhY3RlclNldD5NdWx0aUJ5dGU8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VEZWJ1Z0xpYnJhcmllcz50cnVlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4KLSAgICA8Q2hhcmFjdGVyU2V0Pk11bHRpQnl0ZTwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VEZWJ1Z0xpYnJhcmllcz5mYWxzZTwvVXNlRGVidWdMaWJyYXJpZXM+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gICAgPENoYXJhY3RlclNldD5NdWx0aUJ5dGU8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPFVzZURlYnVnTGlicmFyaWVzPmZhbHNlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgICA8Q2hhcmFjdGVyU2V0Pk11bHRpQnl0ZTwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPFVzZURlYnVnTGlicmFyaWVzPmZhbHNlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgICA8Q2hhcmFjdGVyU2V0Pk11bHRpQnl0ZTwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlRGVidWdMaWJyYXJpZXM+ZmFsc2U8L1VzZURlYnVnTGlicmFyaWVzPgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICAgIDxDaGFyYWN0ZXJTZXQ+TXVsdGlCeXRlPC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlRGVidWdMaWJyYXJpZXM+ZmFsc2U8L1VzZURlYnVnTGlicmFyaWVzPgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICAgIDxDaGFyYWN0ZXJTZXQ+TXVsdGlCeXRlPC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPFVzZURlYnVnTGlicmFyaWVzPmZhbHNlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KICAgICA8Q2hhcmFjdGVyU2V0Pk11bHRpQnl0ZTwvQ2hhcmFjdGVyU2V0PgogICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgogICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblNldHRpbmdzIj4KICAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8TWFrZVZlcnNpb25JbmZvQmVmb3JlVGFyZ2V0PkNsQ29tcGlsZTwvTWFrZVZlcnNpb25JbmZvQmVmb3JlVGFyZ2V0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgogICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KICAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9ImRlYnVnLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9ImRlYnVnLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icmVsZWFzZS5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InJlbGVhc2UucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InJlbGVhc2UucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icmVsZWFzZS5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBnaW5zdHJ1bWVudC5wcm9wcyIgLz4KICAgPC9JbXBvcnRHcm91cD4KICAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNyb3MiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4KLSAgICA8VGFyZ2V0TmFtZT5weV9kPC9UYXJnZXROYW1lPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+Ci0gICAgPFRhcmdldE5hbWU+cHlfZDwvVGFyZ2V0TmFtZT4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KLSAgICA8VGFyZ2V0TmFtZT5weTwvVGFyZ2V0TmFtZT4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+Ci0gICAgPFRhcmdldE5hbWU+cHk8L1RhcmdldE5hbWU+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj4KLSAgICA8VGFyZ2V0TmFtZT5weTwvVGFyZ2V0TmFtZT4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+Ci0gICAgPFRhcmdldE5hbWU+cHk8L1RhcmdldE5hbWU+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj4KLSAgICA8VGFyZ2V0TmFtZT5weTwvVGFyZ2V0TmFtZT4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj4KLSAgICA8VGFyZ2V0TmFtZT5weTwvVGFyZ2V0TmFtZT4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgogICAgIDxDbENvbXBpbGU+Ci0gICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgotICAgICAgPE9wdGltaXphdGlvbj5EaXNhYmxlZDwvT3B0aW1pemF0aW9uPgogICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9DT05TT0xFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkPC9SdW50aW1lTGlicmFyeT4KICAgICA8L0NsQ29tcGlsZT4KICAgICA8TGluaz4KLSAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+dmVyc2lvbi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxJZ25vcmVBbGxEZWZhdWx0TGlicmFyaWVzPmZhbHNlPC9JZ25vcmVBbGxEZWZhdWx0TGlicmFyaWVzPgotICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+Ci0gICAgICA8T3V0cHV0RmlsZT4kKE91dERpcikkKFRhcmdldE5hbWUpJChUYXJnZXRFeHQpPC9PdXRwdXRGaWxlPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgotICAgICAgPE9wdGltaXphdGlvbj5EaXNhYmxlZDwvT3B0aW1pemF0aW9uPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9DT05TT0xFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+dmVyc2lvbi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxJZ25vcmVBbGxEZWZhdWx0TGlicmFyaWVzPmZhbHNlPC9JZ25vcmVBbGxEZWZhdWx0TGlicmFyaWVzPgotICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+Ci0gICAgICA8T3V0cHV0RmlsZT4kKE91dERpcikkKFRhcmdldE5hbWUpJChUYXJnZXRFeHQpPC9PdXRwdXRGaWxlPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KLSAgICAgIDxPcHRpbWl6YXRpb24+TWF4U3BlZWQ8L09wdGltaXphdGlvbj4KLSAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KLSAgICAgIDxJbnRyaW5zaWNGdW5jdGlvbnM+dHJ1ZTwvSW50cmluc2ljRnVuY3Rpb25zPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9DT05TT0xFO05ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4KLSAgICAgIDxFbmFibGVDT01EQVRGb2xkaW5nPmZhbHNlPC9FbmFibGVDT01EQVRGb2xkaW5nPgotICAgICAgPE9wdGltaXplUmVmZXJlbmNlcz50cnVlPC9PcHRpbWl6ZVJlZmVyZW5jZXM+Ci0gICAgICA8SWdub3JlQWxsRGVmYXVsdExpYnJhcmllcz5mYWxzZTwvSWdub3JlQWxsRGVmYXVsdExpYnJhcmllcz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPnZlcnNpb24ubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgotICAgICAgPE9wdGltaXphdGlvbj5NYXhTcGVlZDwvT3B0aW1pemF0aW9uPgotICAgICAgPEZ1bmN0aW9uTGV2ZWxMaW5raW5nPnRydWU8L0Z1bmN0aW9uTGV2ZWxMaW5raW5nPgotICAgICAgPEludHJpbnNpY0Z1bmN0aW9ucz50cnVlPC9JbnRyaW5zaWNGdW5jdGlvbnM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0NPTlNPTEU7TkRFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPgotICAgICAgPEVuYWJsZUNPTURBVEZvbGRpbmc+ZmFsc2U8L0VuYWJsZUNPTURBVEZvbGRpbmc+Ci0gICAgICA8T3B0aW1pemVSZWZlcmVuY2VzPnRydWU8L09wdGltaXplUmVmZXJlbmNlcz4KLSAgICAgIDxJZ25vcmVBbGxEZWZhdWx0TGlicmFyaWVzPmZhbHNlPC9JZ25vcmVBbGxEZWZhdWx0TGlicmFyaWVzPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+dmVyc2lvbi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgotICAgICAgPE9wdGltaXphdGlvbj5NYXhTcGVlZDwvT3B0aW1pemF0aW9uPgotICAgICAgPEZ1bmN0aW9uTGV2ZWxMaW5raW5nPnRydWU8L0Z1bmN0aW9uTGV2ZWxMaW5raW5nPgotICAgICAgPEludHJpbnNpY0Z1bmN0aW9ucz50cnVlPC9JbnRyaW5zaWNGdW5jdGlvbnM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0NPTlNPTEU7TkRFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPgotICAgICAgPEVuYWJsZUNPTURBVEZvbGRpbmc+ZmFsc2U8L0VuYWJsZUNPTURBVEZvbGRpbmc+Ci0gICAgICA8T3B0aW1pemVSZWZlcmVuY2VzPnRydWU8L09wdGltaXplUmVmZXJlbmNlcz4KLSAgICAgIDxJZ25vcmVBbGxEZWZhdWx0TGlicmFyaWVzPmZhbHNlPC9JZ25vcmVBbGxEZWZhdWx0TGlicmFyaWVzPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+dmVyc2lvbi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+Ci0gICAgICA8T3B0aW1pemF0aW9uPk1heFNwZWVkPC9PcHRpbWl6YXRpb24+Ci0gICAgICA8RnVuY3Rpb25MZXZlbExpbmtpbmc+dHJ1ZTwvRnVuY3Rpb25MZXZlbExpbmtpbmc+Ci0gICAgICA8SW50cmluc2ljRnVuY3Rpb25zPnRydWU8L0ludHJpbnNpY0Z1bmN0aW9ucz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fQ09OU09MRTtOREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+Ci0gICAgICA8RW5hYmxlQ09NREFURm9sZGluZz5mYWxzZTwvRW5hYmxlQ09NREFURm9sZGluZz4KLSAgICAgIDxPcHRpbWl6ZVJlZmVyZW5jZXM+dHJ1ZTwvT3B0aW1pemVSZWZlcmVuY2VzPgotICAgICAgPElnbm9yZUFsbERlZmF1bHRMaWJyYXJpZXM+ZmFsc2U8L0lnbm9yZUFsbERlZmF1bHRMaWJyYXJpZXM+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz52ZXJzaW9uLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+Ci0gICAgICA8T3B0aW1pemF0aW9uPk1heFNwZWVkPC9PcHRpbWl6YXRpb24+Ci0gICAgICA8RnVuY3Rpb25MZXZlbExpbmtpbmc+dHJ1ZTwvRnVuY3Rpb25MZXZlbExpbmtpbmc+Ci0gICAgICA8SW50cmluc2ljRnVuY3Rpb25zPnRydWU8L0ludHJpbnNpY0Z1bmN0aW9ucz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fQ09OU09MRTtOREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+Ci0gICAgICA8RW5hYmxlQ09NREFURm9sZGluZz5mYWxzZTwvRW5hYmxlQ09NREFURm9sZGluZz4KLSAgICAgIDxPcHRpbWl6ZVJlZmVyZW5jZXM+dHJ1ZTwvT3B0aW1pemVSZWZlcmVuY2VzPgotICAgICAgPElnbm9yZUFsbERlZmF1bHRMaWJyYXJpZXM+ZmFsc2U8L0lnbm9yZUFsbERlZmF1bHRMaWJyYXJpZXM+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz52ZXJzaW9uLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgotICAgICAgPE9wdGltaXphdGlvbj5NYXhTcGVlZDwvT3B0aW1pemF0aW9uPgotICAgICAgPEZ1bmN0aW9uTGV2ZWxMaW5raW5nPnRydWU8L0Z1bmN0aW9uTGV2ZWxMaW5raW5nPgotICAgICAgPEludHJpbnNpY0Z1bmN0aW9ucz50cnVlPC9JbnRyaW5zaWNGdW5jdGlvbnM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0NPTlNPTEU7TkRFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPgotICAgICAgPEVuYWJsZUNPTURBVEZvbGRpbmc+ZmFsc2U8L0VuYWJsZUNPTURBVEZvbGRpbmc+Ci0gICAgICA8T3B0aW1pemVSZWZlcmVuY2VzPnRydWU8L09wdGltaXplUmVmZXJlbmNlcz4KLSAgICAgIDxJZ25vcmVBbGxEZWZhdWx0TGlicmFyaWVzPmZhbHNlPC9JZ25vcmVBbGxEZWZhdWx0TGlicmFyaWVzPgogICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+dmVyc2lvbi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KICAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgogICAgIDwvTGluaz4KQEAgLTMwMCwxMSArNzcsNiBAQAogICA8SXRlbUdyb3VwPgogICAgIDxSZXNvdXJjZUNvbXBpbGUgSW5jbHVkZT0iLi5cUENccHlsYXVuY2hlci5yYyIgLz4KICAgPC9JdGVtR3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0ibWFrZV92ZXJzaW9uaW5mby52Y3hwcm9qIj4KLSAgICAgIDxQcm9qZWN0PntmMGUwNTQxZS1mMTdkLTQzMGItOTdjNC05M2FkZjBkZDI4NGV9PC9Qcm9qZWN0PgotICAgIDwvUHJvamVjdFJlZmVyZW5jZT4KLSAgPC9JdGVtR3JvdXA+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+CiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uVGFyZ2V0cyI+CiAgIDwvSW1wb3J0R3JvdXA+CmRpZmYgLS1naXQgYS9QQ2J1aWxkL3B5cHJvamVjdC5wcm9wcyBiL1BDYnVpbGQvcHlwcm9qZWN0LnByb3BzCmluZGV4IGU4ZjMxMzguLjFhZmJmZTEgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQvcHlwcm9qZWN0LnByb3BzCisrKyBiL1BDYnVpbGQvcHlwcm9qZWN0LnByb3BzCkBAIC0xLDQ4ICsxLDQ5IEBACiDvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgogPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJz09J1dpbjMyJyI+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KICAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjMwMzE5LjE8L19Qcm9qZWN0RmlsZVZlcnNpb24+Ci0gICAgPE91dERpcj4kKFNvbHV0aW9uRGlyKTwvT3V0RGlyPgotICAgIDxJbnREaXI+JChTb2x1dGlvbkRpcikkKFBsYXRmb3JtTmFtZSktdGVtcC0kKENvbmZpZ3VyYXRpb24pXCQoUHJvamVjdE5hbWUpXDwvSW50RGlyPgotICAgIDxMaW5rSW5jcmVtZW50YWw+ZmFsc2U8L0xpbmtJbmNyZW1lbnRhbD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPiAgCi0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJz09J3g2NCciPgotICAgIDxfUHJvamVjdEZpbGVWZXJzaW9uPjEwLjAuMzAzMTkuMTwvX1Byb2plY3RGaWxlVmVyc2lvbj4KLSAgICA8X1Byb3BlcnR5U2hlZXREaXNwbGF5TmFtZT5hbWQ2NDwvX1Byb3BlcnR5U2hlZXREaXNwbGF5TmFtZT4KLSAgICA8T3V0RGlyPiQoU29sdXRpb25EaXIpYW1kNjRcPC9PdXREaXI+Ci0gICAgPEludERpcj4kKFNvbHV0aW9uRGlyKSQoUGxhdGZvcm1OYW1lKS10ZW1wLSQoQ29uZmlndXJhdGlvbilcJChQcm9qZWN0TmFtZSlcPC9JbnREaXI+CisgICAgPFZpc3VhbFN0dWRpb1ZlcnNpb24gQ29uZGl0aW9uPSInJChWaXN1YWxTdHVkaW9WZXJzaW9uKScgPT0gJyciPjEwLjA8L1Zpc3VhbFN0dWRpb1ZlcnNpb24+CisgICAgPE91dERpcj4kKEJ1aWxkUGF0aCk8L091dERpcj4KKyAgICA8SW50RGlyPiQoU29sdXRpb25EaXIpb2JqXCQoQXJjaE5hbWUpXyQoQ29uZmlndXJhdGlvbilcJChQcm9qZWN0TmFtZSlcPC9JbnREaXI+CisgICAgPEludERpciBDb25kaXRpb249IiQoQ29uZmlndXJhdGlvbikgPT0gJ1BHSW5zdHJ1bWVudCcgb3IgJChDb25maWd1cmF0aW9uKSA9PSAnUEdVcGRhdGUnIj4kKFNvbHV0aW9uRGlyKW9ialwkKEFyY2hOYW1lKVwkKFByb2plY3ROYW1lKVw8L0ludERpcj4KKyAgICA8VGFyZ2V0TmFtZSBDb25kaXRpb249IickKFRhcmdldE5hbWUpJyA9PSAnJyI+JChQcm9qZWN0TmFtZSk8L1RhcmdldE5hbWU+CisgICAgPFRhcmdldE5hbWU+JChUYXJnZXROYW1lKSQoUHlEZWJ1Z0V4dCk8L1RhcmdldE5hbWU+CisgICAgPEdlbmVyYXRlTWFuaWZlc3Q+ZmFsc2U8L0dlbmVyYXRlTWFuaWZlc3Q+CisgICAgPEVtYmVkTWFuaWZlc3Q+ZmFsc2U8L0VtYmVkTWFuaWZlc3Q+CisgICAgPFN1cHBvcnRQR08gQ29uZGl0aW9uPSInJChTdXBwb3J0UEdPKScgPT0gJyciPnRydWU8L1N1cHBvcnRQR08+CisgICAgPFN1cHBvcnRTaWduaW5nIENvbmRpdGlvbj0iJyQoU3VwcG9ydFNpZ25pbmcpJyA9PSAnJyI+dHJ1ZTwvU3VwcG9ydFNpZ25pbmc+CisgICAgPFN1cHBvcnRTaWduaW5nIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbiknID09ICdEZWJ1ZyciPmZhbHNlPC9TdXBwb3J0U2lnbmluZz4KKyAgICA8U3VwcG9ydFNpZ25pbmcgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uVHlwZSknID09ICdTdGF0aWNMaWJyYXJ5JyI+ZmFsc2U8L1N1cHBvcnRTaWduaW5nPgogICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIj4KLSAgICA8UHlEbGxOYW1lPnB5dGhvbjM0JChQeURlYnVnRXh0KTwvUHlEbGxOYW1lPgotICAgIDxQeXRob25FeGU+JChPdXREaXIpcHl0aG9uJChQeURlYnVnRXh0KS5leGU8L1B5dGhvbkV4ZT4KLSAgICA8S2lsbFB5dGhvbkV4ZT4kKE91dERpcilraWxsX3B5dGhvbiQoUHlEZWJ1Z0V4dCkuZXhlPC9LaWxsUHl0aG9uRXhlPgotICAgIDxleHRlcm5hbHNEaXI+Li5cZXh0ZXJuYWxzPC9leHRlcm5hbHNEaXI+Ci0gICAgPHNxbGl0ZTNEaXI+JChleHRlcm5hbHNEaXIpXHNxbGl0ZS0zLjguMy4xPC9zcWxpdGUzRGlyPgotICAgIDxiejJEaXI+JChleHRlcm5hbHNEaXIpXGJ6aXAyLTEuMC42PC9iejJEaXI+Ci0gICAgPGx6bWFEaXI+JChleHRlcm5hbHNEaXIpXHh6LTUuMC41PC9sem1hRGlyPgotICAgIDxvcGVuc3NsRGlyPiQoZXh0ZXJuYWxzRGlyKVxvcGVuc3NsLTEuMC4xbDwvb3BlbnNzbERpcj4KLSAgICA8dGNsdGtEaXI+JChleHRlcm5hbHNEaXIpXHRjbHRrPC90Y2x0a0Rpcj4KLSAgICA8dGNsdGs2NERpcj4kKGV4dGVybmFsc0RpcilcdGNsdGs2NDwvdGNsdGs2NERpcj4KLSAgICA8dGNsdGtMaWI+JCh0Y2x0a0RpcilcbGliXHRjbDg2dC5saWI7JCh0Y2x0a0RpcilcbGliXHRrODZ0LmxpYjwvdGNsdGtMaWI+Ci0gICAgPHRjbHRrTGliRGVidWc+JCh0Y2x0a0RpcilcbGliXHRjbDg2dGcubGliOyQodGNsdGtEaXIpXGxpYlx0azg2dGcubGliPC90Y2x0a0xpYkRlYnVnPgotICAgIDx0Y2x0azY0TGliPiQodGNsdGs2NERpcilcbGliXHRjbDg2dC5saWI7JCh0Y2x0azY0RGlyKVxsaWJcdGs4NnQubGliPC90Y2x0azY0TGliPgotICAgIDx0Y2x0azY0TGliRGVidWc+JCh0Y2x0azY0RGlyKVxsaWJcdGNsODZ0Zy5saWI7JCh0Y2x0azY0RGlyKVxsaWJcdGs4NnRnLmxpYjwvdGNsdGs2NExpYkRlYnVnPgorCisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxfRGVidWdQcmVwcm9jZXNzb3JEZWZpbml0aW9uPk5ERUJVRzs8L19EZWJ1Z1ByZXByb2Nlc3NvckRlZmluaXRpb24+CisgICAgPF9EZWJ1Z1ByZXByb2Nlc3NvckRlZmluaXRpb24gQ29uZGl0aW9uPSIkKENvbmZpZ3VyYXRpb24pID09ICdEZWJ1ZyciPl9ERUJVRzs8L19EZWJ1Z1ByZXByb2Nlc3NvckRlZmluaXRpb24+CisgICAgPF9QbGF0Zm9ybVByZXByb2Nlc3NvckRlZmluaXRpb24+X1dJTjMyOzwvX1BsYXRmb3JtUHJlcHJvY2Vzc29yRGVmaW5pdGlvbj4KKyAgICA8X1BsYXRmb3JtUHJlcHJvY2Vzc29yRGVmaW5pdGlvbiBDb25kaXRpb249IiQoUGxhdGZvcm0pID09ICd4NjQnIj5fV0lONjQ7X01fWDY0OzwvX1BsYXRmb3JtUHJlcHJvY2Vzc29yRGVmaW5pdGlvbj4KKyAgICA8X1B5ZFByZXByb2Nlc3NvckRlZmluaXRpb24gQ29uZGl0aW9uPSIkKFRhcmdldEV4dCkgPT0gJy5weWQnIj5QeV9CVUlMRF9DT1JFX01PRFVMRTs8L19QeWRQcmVwcm9jZXNzb3JEZWZpbml0aW9uPgogICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgogICAgIDxDbENvbXBpbGU+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKFB5U291cmNlUGF0aClJbmNsdWRlOyQoUHlTb3VyY2VQYXRoKVBDOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7JChfUGxhdGZvcm1QcmVwcm9jZXNzb3JEZWZpbml0aW9uKSQoX0RlYnVnUHJlcHJvY2Vzc29yRGVmaW5pdGlvbikkKF9QeWRQcmVwcm9jZXNzb3JEZWZpbml0aW9uKSUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIAogICAgICAgPE9wdGltaXphdGlvbj5NYXhTcGVlZDwvT3B0aW1pemF0aW9uPgotICAgICAgPElubGluZUZ1bmN0aW9uRXhwYW5zaW9uPk9ubHlFeHBsaWNpdElubGluZTwvSW5saW5lRnVuY3Rpb25FeHBhbnNpb24+CiAgICAgICA8SW50cmluc2ljRnVuY3Rpb25zPnRydWU8L0ludHJpbnNpY0Z1bmN0aW9ucz4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXEluY2x1ZGU7IC4uXFBDOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X1dJTjMyOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KICAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+Ci0gICAgICA8RXhjZXB0aW9uSGFuZGxpbmc+Ci0gICAgICA8L0V4Y2VwdGlvbkhhbmRsaW5nPgotICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWQ8L1J1bnRpbWVMaWJyYXJ5PgorICAgICAgPEV4Y2VwdGlvbkhhbmRsaW5nPjwvRXhjZXB0aW9uSGFuZGxpbmc+CisgICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERMTDwvUnVudGltZUxpYnJhcnk+CiAgICAgICA8RnVuY3Rpb25MZXZlbExpbmtpbmc+dHJ1ZTwvRnVuY3Rpb25MZXZlbExpbmtpbmc+CiAgICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgogICAgICAgPERlYnVnSW5mb3JtYXRpb25Gb3JtYXQ+UHJvZ3JhbURhdGFiYXNlPC9EZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PgogICAgICAgPENvbXBpbGVBcz5EZWZhdWx0PC9Db21waWxlQXM+CisgICAgICA8U3VwcHJlc3NTdGFydHVwQmFubmVyPnRydWU8L1N1cHByZXNzU3RhcnR1cEJhbm5lcj4KKyAgICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgorICAgIDwvQ2xDb21waWxlPgorICAgIDxDbENvbXBpbGUgQ29uZGl0aW9uPSIkKENvbmZpZ3VyYXRpb24pID09ICdEZWJ1ZyciPgorICAgICAgPE9wdGltaXphdGlvbj5EaXNhYmxlZDwvT3B0aW1pemF0aW9uPgorICAgICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj5mYWxzZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgorICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWREZWJ1Z0RMTDwvUnVudGltZUxpYnJhcnk+CiAgICAgPC9DbENvbXBpbGU+CiAgICAgPExpbms+CiAgICAgICA8QWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4kKE91dERpcik7JShBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4KQEAgLTUxLDU0ICs1MiwxMDUgQEAKICAgICAgIDxTdWJTeXN0ZW0+V2luZG93czwvU3ViU3lzdGVtPgogICAgICAgPFJhbmRvbWl6ZWRCYXNlQWRkcmVzcz50cnVlPC9SYW5kb21pemVkQmFzZUFkZHJlc3M+CiAgICAgICA8RGF0YUV4ZWN1dGlvblByZXZlbnRpb24+dHJ1ZTwvRGF0YUV4ZWN1dGlvblByZXZlbnRpb24+CisgICAgICA8U3VwcHJlc3NTdGFydHVwQmFubmVyPnRydWU8L1N1cHByZXNzU3RhcnR1cEJhbm5lcj4KKyAgICAgIDxJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+TElCQzslKElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcyk8L0lnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz4KICAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYODY8L1RhcmdldE1hY2hpbmU+CisgICAgICA8VGFyZ2V0TWFjaGluZSBDb25kaXRpb249IickKFBsYXRmb3JtKScgPT0gJ3g2NCciPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+CisgICAgICA8UHJvZmlsZUd1aWRlZERhdGFiYXNlIENvbmRpdGlvbj0iJChTdXBwb3J0UEdPKSI+JChPdXREaXIpJChUYXJnZXROYW1lKS5wZ2Q8L1Byb2ZpbGVHdWlkZWREYXRhYmFzZT4KKyAgICAgIDxMaW5rVGltZUNvZGVHZW5lcmF0aW9uIENvbmRpdGlvbj0iJChDb25maWd1cmF0aW9uKSA9PSAnUmVsZWFzZSciPlVzZUxpbmtUaW1lQ29kZUdlbmVyYXRpb248L0xpbmtUaW1lQ29kZUdlbmVyYXRpb24+CisgICAgICA8TGlua1RpbWVDb2RlR2VuZXJhdGlvbiBDb25kaXRpb249IiQoU3VwcG9ydFBHTykgYW5kICQoQ29uZmlndXJhdGlvbikgPT0gJ1BHSW5zdHJ1bWVudCciPlBHSW5zdHJ1bWVudDwvTGlua1RpbWVDb2RlR2VuZXJhdGlvbj4KKyAgICAgIDxMaW5rVGltZUNvZGVHZW5lcmF0aW9uIENvbmRpdGlvbj0iJChTdXBwb3J0UEdPKSBhbmQgJChDb25maWd1cmF0aW9uKSA9PSAnUEdVcGRhdGUnIj5QR1VwZGF0ZTwvTGlua1RpbWVDb2RlR2VuZXJhdGlvbj4KICAgICA8L0xpbms+CisgICAgPExpYj4KKyAgICAgIDxMaW5rVGltZUNvZGVHZW5lcmF0aW9uIENvbmRpdGlvbj0iJChDb25maWd1cmF0aW9uKSA9PSAnUmVsZWFzZSciPnRydWU8L0xpbmtUaW1lQ29kZUdlbmVyYXRpb24+CisgICAgICA8TGlua1RpbWVDb2RlR2VuZXJhdGlvbiBDb25kaXRpb249IiQoU3VwcG9ydFBHTykgYW5kICQoQ29uZmlndXJhdGlvbikgPT0gJ1BHSW5zdHJ1bWVudCciPnRydWU8L0xpbmtUaW1lQ29kZUdlbmVyYXRpb24+CisgICAgICA8TGlua1RpbWVDb2RlR2VuZXJhdGlvbiBDb25kaXRpb249IiQoU3VwcG9ydFBHTykgYW5kICQoQ29uZmlndXJhdGlvbikgPT0gJ1BHVXBkYXRlJyI+dHJ1ZTwvTGlua1RpbWVDb2RlR2VuZXJhdGlvbj4KKyAgICA8L0xpYj4KICAgICA8UmVzb3VyY2VDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cUEM7Li5cSW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChQeVNvdXJjZVBhdGgpUEM7JChQeVNvdXJjZVBhdGgpSW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPiQoX0RlYnVnUHJlcHJvY2Vzc29yRGVmaW5pdGlvbiklKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8Q3VsdHVyZT4weDA0MDk8L0N1bHR1cmU+CiAgICAgPC9SZXNvdXJjZUNvbXBpbGU+CisgICAgPE1pZGw+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+JChfRGVidWdQcmVwcm9jZXNzb3JEZWZpbml0aW9uKSUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxNa1R5cExpYkNvbXBhdGlibGU+dHJ1ZTwvTWtUeXBMaWJDb21wYXRpYmxlPgorICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+CisgICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+V2luMzI8L1RhcmdldEVudmlyb25tZW50PgorICAgICAgPFRhcmdldEVudmlyb25tZW50IENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJyA9PSAneDY0JyI+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KKyAgICAgIDxUeXBlTGlicmFyeU5hbWU+JChPdXREaXIpd2luaW5zdC50bGI8L1R5cGVMaWJyYXJ5TmFtZT4KKyAgICAgIDxIZWFkZXJGaWxlTmFtZT4KKyAgICAgIDwvSGVhZGVyRmlsZU5hbWU+CisgICAgPC9NaWRsPgogICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPEJ1aWxkTWFjcm8gSW5jbHVkZT0iUHlEbGxOYW1lIj4KLSAgICAgIDxWYWx1ZT4kKFB5RGxsTmFtZSk8L1ZhbHVlPgotICAgIDwvQnVpbGRNYWNybz4KLSAgICA8QnVpbGRNYWNybyBJbmNsdWRlPSJQeXRob25FeGUiPgotICAgICAgPFZhbHVlPiQoUHl0aG9uRXhlKTwvVmFsdWU+Ci0gICAgPC9CdWlsZE1hY3JvPgotICAgIDxCdWlsZE1hY3JvIEluY2x1ZGU9IktpbGxQeXRob25FeGUiPgotICAgICAgPFZhbHVlPiQoS2lsbFB5dGhvbkV4ZSk8L1ZhbHVlPgotICAgIDwvQnVpbGRNYWNybz4KLSAgICA8QnVpbGRNYWNybyBJbmNsdWRlPSJleHRlcm5hbHNEaXIiPgotICAgICAgPFZhbHVlPiQoZXh0ZXJuYWxzRGlyKTwvVmFsdWU+Ci0gICAgPC9CdWlsZE1hY3JvPgotICAgIDxCdWlsZE1hY3JvIEluY2x1ZGU9InNxbGl0ZTNEaXIiPgotICAgICAgPFZhbHVlPiQoc3FsaXRlM0Rpcik8L1ZhbHVlPgotICAgIDwvQnVpbGRNYWNybz4KLSAgICA8QnVpbGRNYWNybyBJbmNsdWRlPSJiejJEaXIiPgotICAgICAgPFZhbHVlPiQoYnoyRGlyKTwvVmFsdWU+Ci0gICAgPC9CdWlsZE1hY3JvPgotICAgIDxCdWlsZE1hY3JvIEluY2x1ZGU9Imx6bWFEaXIiPgotICAgICAgPFZhbHVlPiQobHptYURpcik8L1ZhbHVlPgotICAgIDwvQnVpbGRNYWNybz4KLSAgICA8QnVpbGRNYWNybyBJbmNsdWRlPSJvcGVuc3NsRGlyIj4KLSAgICAgIDxWYWx1ZT4kKG9wZW5zc2xEaXIpPC9WYWx1ZT4KLSAgICA8L0J1aWxkTWFjcm8+Ci0gICAgPEJ1aWxkTWFjcm8gSW5jbHVkZT0idGNsdGtEaXIiPgotICAgICAgPFZhbHVlPiQodGNsdGtEaXIpPC9WYWx1ZT4KLSAgICA8L0J1aWxkTWFjcm8+Ci0gICAgPEJ1aWxkTWFjcm8gSW5jbHVkZT0idGNsdGs2NERpciI+Ci0gICAgICA8VmFsdWU+JCh0Y2x0azY0RGlyKTwvVmFsdWU+Ci0gICAgPC9CdWlsZE1hY3JvPgotICAgIDxCdWlsZE1hY3JvIEluY2x1ZGU9InRjbHRrTGliIj4KLSAgICAgIDxWYWx1ZT4kKHRjbHRrTGliKTwvVmFsdWU+Ci0gICAgPC9CdWlsZE1hY3JvPgotICAgIDxCdWlsZE1hY3JvIEluY2x1ZGU9InRjbHRrTGliRGVidWciPgotICAgICAgPFZhbHVlPiQodGNsdGtMaWJEZWJ1Zyk8L1ZhbHVlPgotICAgIDwvQnVpbGRNYWNybz4KLSAgICA8QnVpbGRNYWNybyBJbmNsdWRlPSJ0Y2x0azY0TGliIj4KLSAgICAgIDxWYWx1ZT4kKHRjbHRrNjRMaWIpPC9WYWx1ZT4KLSAgICA8L0J1aWxkTWFjcm8+Ci0gICAgPEJ1aWxkTWFjcm8gSW5jbHVkZT0idGNsdGs2NExpYkRlYnVnIj4KLSAgICAgIDxWYWx1ZT4kKHRjbHRrNjRMaWJEZWJ1Zyk8L1ZhbHVlPgotICAgIDwvQnVpbGRNYWNybz4KLSAgPC9JdGVtR3JvdXA+Ci08L1Byb2plY3Q+CisKKyAgPFRhcmdldCBOYW1lPSJHZW5lcmF0ZVB5dGhvbk50UmNIIgorICAgICAgICAgIEJlZm9yZVRhcmdldHM9IiQoTWFrZVZlcnNpb25JbmZvQmVmb3JlVGFyZ2V0KSIKKyAgICAgICAgICBJbnB1dHM9IiQoUHlTb3VyY2VQYXRoKUluY2x1ZGVccGF0Y2hsZXZlbC5oIgorICAgICAgICAgIE91dHB1dHM9IiQoUHlTb3VyY2VQYXRoKVBDXHB5dGhvbm50X3JjJChQeURlYnVnRXh0KS5oIj4KKyAgICA8V3JpdGVMaW5lc1RvRmlsZSBGaWxlPSIkKFB5U291cmNlUGF0aClQQ1xweXRob25udF9yYyQoUHlEZWJ1Z0V4dCkuaCIgT3ZlcndyaXRlPSJ0cnVlIiBFbmNvZGluZz0iYXNjaWkiCisgICAgICAgICAgICAgICAgICAgICAgTGluZXM9Jy8qIFRoaXMgZmlsZSBjcmVhdGVkIGJ5IHB5dGhvbi5wcm9wcyAvdDpHZW5lcmF0ZVB5dGhvbk50UmNIICovCisjZGVmaW5lIEZJRUxEMyAkKEZpZWxkM1ZhbHVlKQorI2RlZmluZSBNU19ETExfSUQgIiQoU3lzV2luVmVyKSIKKyNkZWZpbmUgUFlUSE9OX0RMTF9OQU1FICIkKFB5RGxsTmFtZSkuZGxsIgorJyAvPgorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxGaWxlV3JpdGVzIEluY2x1ZGU9IiQoUHlTb3VyY2VQYXRoKVBDXHB5dGhvbm50X3JjJChQeURlYnVnRXh0KS5oIiAvPgorICAgIDwvSXRlbUdyb3VwPgorICA8L1RhcmdldD4KKworICA8VXNpbmdUYXNrIFRhc2tOYW1lPSJLaWxsUHl0aG9uIiBUYXNrRmFjdG9yeT0iQ29kZVRhc2tGYWN0b3J5IiBBc3NlbWJseUZpbGU9IiQoTVNCdWlsZFRvb2xzUGF0aClcTWljcm9zb2Z0LkJ1aWxkLlRhc2tzLnY0LjAuZGxsIj4KKyAgICA8UGFyYW1ldGVyR3JvdXA+CisgICAgICA8RmlsZU5hbWUgUmVxdWlyZWQ9InRydWUiIC8+CisgICAgPC9QYXJhbWV0ZXJHcm91cD4KKyAgICA8VGFzaz4KKyAgICAgIDxDb2RlIFR5cGU9IkZyYWdtZW50IiBMYW5ndWFnZT0iY3MiPgorPCFbQ0RBVEFbCitzdHJpbmcgZnVsbFBhdGggPSBTeXN0ZW0uSU8uUGF0aC5HZXRGdWxsUGF0aChGaWxlTmFtZSk7CitMb2cuTG9nTWVzc2FnZSgiTG9va2luZyBmb3IgIiArIGZ1bGxQYXRoLCBNZXNzYWdlSW1wb3J0YW5jZS5Ob3JtYWwpOworZm9yZWFjaCAoU3lzdGVtLkRpYWdub3N0aWNzLlByb2Nlc3MgcCBpbiBTeXN0ZW0uRGlhZ25vc3RpY3MuUHJvY2Vzcy5HZXRQcm9jZXNzZXMoKSkgeworICAgIHRyeSB7CisgICAgICAgIExvZy5Mb2dNZXNzYWdlKCJGb3VuZCBydW5uaW5nIHByb2Nlc3M6ICIgKyBwLk1haW5Nb2R1bGUuRmlsZU5hbWUsIE1lc3NhZ2VJbXBvcnRhbmNlLkxvdyk7CisgICAgICAgIGlmIChmdWxsUGF0aC5FcXVhbHMoU3lzdGVtLklPLlBhdGguR2V0RnVsbFBhdGgocC5NYWluTW9kdWxlLkZpbGVOYW1lKSwgU3RyaW5nQ29tcGFyaXNvbi5PcmRpbmFsSWdub3JlQ2FzZSkpIHsKKyAgICAgICAgICAgIExvZy5Mb2dNZXNzYWdlKCJUZXJtaW5hdGluZyAiICsgcC5NYWluTW9kdWxlLkZpbGVOYW1lLCBNZXNzYWdlSW1wb3J0YW5jZS5IaWdoKTsKKyAgICAgICAgICAgIHAuS2lsbCgpOworICAgICAgICB9CisgICAgfSBjYXRjaCB7CisgICAgfQorfQorXV0+CisgICAgICA8L0NvZGU+CisgICAgPC9UYXNrPgorICA8L1VzaW5nVGFzaz4KKyAgCisgIDxUYXJnZXQgTmFtZT0iS2lsbFB5dGhvbiIgQmVmb3JlVGFyZ2V0cz0iUHJlcGFyZUZvckJ1aWxkIiBDb25kaXRpb249IickKEtpbGxQeXRob24pJyA9PSAndHJ1ZSciPgorICAgIDxNZXNzYWdlIFRleHQ9IktpbGxpbmcgYW55IHJ1bm5pbmcgcHl0aG9uLmV4ZSBpbnN0YW5jZXMuLi4iIEltcG9ydGFuY2U9ImhpZ2giIC8+CisgICAgPEtpbGxQeXRob24gRmlsZU5hbWU9IiQoT3V0RGlyKXB5dGhvbiQoUHlEZWJ1Z0V4dCkuZXhlIiAvPgorICA8L1RhcmdldD4KKyAgCisgIDwhLS0KKyAgQSBkZWZhdWx0IHRhcmdldCB0byBoYW5kbGUgbXNidWlsZCBwY2J1aWxkLnByb2ogL3Q6Q2xlYW5BbGwuCisgIAorICBTb21lIGV4dGVybmFscyBwcm9qZWN0cyBkb24ndCByZXNwb25kIHRvIC90OkNsZWFuLCBzbyB3ZSBpbnZva2UKKyAgQ2xlYW5BbGwgb24gdGhlbSB3aGVuIHdlIHJlYWxseSB3YW50IHRvIGNsZWFuIHVwLgorICAtLT4KKyAgPFRhcmdldCBOYW1lPSJDbGVhbkFsbCIgRGVwZW5kc09uVGFyZ2V0cz0iQ2xlYW4iPgorICAgIDxNU0J1aWxkIFByb2plY3RzPSJAKFByb2plY3RSZWZlcmVuY2UtPiclKEZ1bGxQYXRoKScpIgorICAgICAgICAgICAgIFByb3BlcnRpZXM9IkNvbmZpZ3VyYXRpb249JChDb25maWd1cmF0aW9uKTtQbGF0Zm9ybT0kKFBsYXRmb3JtKSIKKyAgICAgICAgICAgICBCdWlsZEluUGFyYWxsZWw9InRydWUiCisgICAgICAgICAgICAgU3RvcE9uRmlyc3RGYWlsdXJlPSJmYWxzZSIKKyAgICAgICAgICAgICBDb25kaXRpb249IkV4aXN0cyglKEZ1bGxQYXRoKSkiCisgICAgICAgICAgICAgVGFyZ2V0cz0iQ2xlYW5BbGwiIC8+CisgIDwvVGFyZ2V0PgorCisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoU2lnbmluZ0NlcnRpZmljYXRlKScgIT0gJycgYW5kICQoU3VwcG9ydFNpZ25pbmcpIj4KKyAgICA8U2lnblRvb2xQYXRoIENvbmRpdGlvbj0iJyQoU2lnblRvb2xQYXRoKScgPT0gJycgb3IgIUV4aXN0cygkKFNpZ25Ub29sUGF0aCkpIj4kKHJlZ2lzdHJ5OkhLRVlfTE9DQUxfTUFDSElORVxTb2Z0d2FyZVxNaWNyb3NvZnRcV2luZG93cyBLaXRzXEluc3RhbGxlZCBSb290c0BLaXRzUm9vdDgxKVxiaW5ceDg2XHNpZ250b29sLmV4ZTwvU2lnblRvb2xQYXRoPgorICAgIDxTaWduVG9vbFBhdGggQ29uZGl0aW9uPSIhRXhpc3RzKCQoU2lnblRvb2xQYXRoKSkiPiQocmVnaXN0cnk6SEtFWV9MT0NBTF9NQUNISU5FXFNvZnR3YXJlXE1pY3Jvc29mdFxXaW5kb3dzIEtpdHNcSW5zdGFsbGVkIFJvb3RzQEtpdHNSb290KVxiaW5ceDg2XHNpZ250b29sLmV4ZTwvU2lnblRvb2xQYXRoPgorICAgIDxTaWduVG9vbFBhdGggQ29uZGl0aW9uPSIhRXhpc3RzKCQoU2lnblRvb2xQYXRoKSkiPiQocmVnaXN0cnk6SEtFWV9MT0NBTF9NQUNISU5FXFNPRlRXQVJFXE1pY3Jvc29mdFxNaWNyb3NvZnQgU0RLc1xXaW5kb3dzXHY3LjFBQEluc3RhbGxhdGlvbkZvbGRlcilcQmluXHNpZ250b29sLmV4ZTwvU2lnblRvb2xQYXRoPgorICAgIDxfU2lnbkNvbW1hbmQgQ29uZGl0aW9uPSJFeGlzdHMoJChTaWduVG9vbFBhdGgpKSI+IiQoU2lnblRvb2xQYXRoKSIgc2lnbiAvcSAvbiAiJChTaWduaW5nQ2VydGlmaWNhdGUpIiAvdCBodHRwOi8vdGltZXN0YW1wLnZlcmlzaWduLmNvbS9zY3JpcHRzL3RpbWVzdGFtcC5kbGwgL2QgIlB5dGhvbiAkKFB5dGhvblZlcnNpb24pIjwvX1NpZ25Db21tYW5kPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIAorICA8VGFyZ2V0IE5hbWU9Il9TaWduQnVpbGQiIEFmdGVyVGFyZ2V0cz0iQWZ0ZXJCdWlsZCIgQ29uZGl0aW9uPSInJChTaWduaW5nQ2VydGlmaWNhdGUpJyAhPSAnJyBhbmQgJChTdXBwb3J0U2lnbmluZykiPgorICAgIDxFcnJvciBUZXh0PSJVbmFibGUgdG8gbG9jYXRlIHNpZ250b29sLmV4ZS4gU2V0IC9wOlNpZ25Ub29sUGF0aCBhbmQgcmVidWlsZCIgQ29uZGl0aW9uPSInJChfU2lnbkNvbW1hbmQpJyA9PSAnJyIgLz4KKyAgICA8RXhlYyBDb21tYW5kPSckKF9TaWduQ29tbWFuZCkgIiQoVGFyZ2V0UGF0aCkiIHx8ICQoX1NpZ25Db21tYW5kKSAiJChUYXJnZXRQYXRoKSIgfHwgJChfU2lnbkNvbW1hbmQpICIkKFRhcmdldFBhdGgpIicgQ29udGludWVPbkVycm9yPSJmYWxzZSIgLz4KKyAgPC9UYXJnZXQ+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvUENidWlsZC9weXRob24ucHJvcHMgYi9QQ2J1aWxkL3B5dGhvbi5wcm9wcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MWVjZWI4Ci0tLSAvZGV2L251bGwKKysrIGIvUENidWlsZC9weXRob24ucHJvcHMKQEAgLTAsMCArMSwxMTYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxQbGF0Zm9ybSBDb25kaXRpb249IickKFBsYXRmb3JtKScgPT0gJyciPldpbjMyPC9QbGF0Zm9ybT4KKyAgICA8Q29uZmlndXJhdGlvbiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pJyA9PSAnJyI+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICA8IS0tCisgICAgVXNlIHRoZSBsYXRlc3QgYXZhaWxhYmxlIHZlcnNpb24gb2YgVmlzdWFsIFN0dWRpbyB0byBidWlsZC4gVG8gb3ZlcnJpZGUKKyAgICB0aGlzIGFuZCBidWlsZCB3aXRoIGFuIGVhcmxpZXIgdmVyc2lvbiwgcGFzcyAiL3A6UGxhdGZvcm1Ub29sc2V0PXYxMDAiCisgICAgKGZvciBleGFtcGxlKSB3aGVuIGJ1aWxkaW5nLgorICAgIC0tPgorICAgIDxQbGF0Zm9ybVRvb2xzZXQgQ29uZGl0aW9uPSInJChQbGF0Zm9ybVRvb2xzZXQpJyA9PSAnJyBhbmQgJyQoVkNUYXJnZXRzUGF0aDE0KScgIT0gJyciPnYxNDA8L1BsYXRmb3JtVG9vbHNldD4KKyAgICA8UGxhdGZvcm1Ub29sc2V0IENvbmRpdGlvbj0iJyQoUGxhdGZvcm1Ub29sc2V0KScgPT0gJycgYW5kICckKFZDVGFyZ2V0c1BhdGgxMiknICE9ICcnIj52MTIwPC9QbGF0Zm9ybVRvb2xzZXQ+CisgICAgPFBsYXRmb3JtVG9vbHNldCBDb25kaXRpb249IickKFBsYXRmb3JtVG9vbHNldCknID09ICcnIGFuZCAnJChWQ1RhcmdldHNQYXRoMTEpJyAhPSAnJyI+djExMDwvUGxhdGZvcm1Ub29sc2V0PgorICAgIDxQbGF0Zm9ybVRvb2xzZXQgQ29uZGl0aW9uPSInJChQbGF0Zm9ybVRvb2xzZXQpJyA9PSAnJyBhbmQgJyQoVkNUYXJnZXRzUGF0aDEwKScgIT0gJyciPnYxMDA8L1BsYXRmb3JtVG9vbHNldD4KKyAgICAKKyAgICA8IS0tCisgICAgQ29udmluY2luZyBNU1ZDL01TQnVpbGQgdG8gcHJlZmVyIG91ciBwbGF0Zm9ybSBuYW1lcyBpcyB0b28gZGlmZmljdWx0LAorICAgIHNvIHdlIGRlZmluZSBvdXIgb3duIGNvbnN0YW50IEFyY2hOYW1lIGFuZCB1c2Ugd2hlcmV2ZXIgd2UgbmVlZCBpdC4KKyAgICAtLT4KKyAgICA8QXJjaE5hbWUgQ29uZGl0aW9uPSInJChBcmNoTmFtZSknID09ICcnIGFuZCAkKFBsYXRmb3JtKSA9PSAneDY0JyI+YW1kNjQ8L0FyY2hOYW1lPgorICAgIDxBcmNoTmFtZSBDb25kaXRpb249IickKEFyY2hOYW1lKScgPT0gJyciPndpbjMyPC9BcmNoTmFtZT4KKyAgICA8QXJjaE5hbWUgQ29uZGl0aW9uPSIkKENvbmZpZ3VyYXRpb24pID09ICdQR0luc3RydW1lbnQnIG9yICQoQ29uZmlndXJhdGlvbikgPT0gJ1BHVXBkYXRlJyI+JChBcmNoTmFtZSktcGdvPC9BcmNoTmFtZT4KKyAgICAKKyAgICA8IS0tIFJvb3QgZGlyZWN0b3J5IG9mIHRoZSByZXBvc2l0b3J5IC0tPgorICAgIDxQeVNvdXJjZVBhdGggQ29uZGl0aW9uPSInJChQeVNvdXJjZVBhdGgpJyA9PSAnJyI+JChbU3lzdGVtLklPLlBhdGhdOjpHZXRGdWxsUGF0aCgkKE1TQnVpbGRUaGlzRmlsZURpcmVjdG9yeSlcLi5cKSk8L1B5U291cmNlUGF0aD4KKyAgICA8UHlTb3VyY2VQYXRoIENvbmRpdGlvbj0iIUhhc1RyYWlsaW5nU2xhc2goJChQeVNvdXJjZVBhdGgpKSI+JChQeVNvdXJjZVBhdGgpXDwvUHlTb3VyY2VQYXRoPgorICAgIAorICAgIDwhLS0gRGlyZWN0b3J5IHdoZXJlIGJ1aWxkIG91dHB1dHMgYXJlIHB1dCAtLT4KKyAgICA8QnVpbGRQYXRoIENvbmRpdGlvbj0iJyQoQnVpbGRQYXRoKScgPT0gJyciPiQoUHlTb3VyY2VQYXRoKVBDQnVpbGRcJChBcmNoTmFtZSlcPC9CdWlsZFBhdGg+CisgICAgPEJ1aWxkUGF0aCBDb25kaXRpb249IiFIYXNUcmFpbGluZ1NsYXNoKCQoQnVpbGRQYXRoKSkiPiQoQnVpbGRQYXRoKVw8L0J1aWxkUGF0aD4KKyAgICAKKyAgICA8IS0tIERpcmVjdG9yaWVzIG9mIGV4dGVybmFsIHByb2plY3RzLiB0Y2x0ayBpcyBoYW5kbGVkIGluIHRjbHRrLnByb3BzIC0tPgorICAgIDxFeHRlcm5hbHNEaXI+JChbU3lzdGVtLklPLlBhdGhdOjpHZXRGdWxsUGF0aChgJChQeVNvdXJjZVBhdGgpZXh0ZXJuYWxzXGApKTwvRXh0ZXJuYWxzRGlyPgorICAgIDxzcWxpdGUzRGlyPiQoRXh0ZXJuYWxzRGlyKXNxbGl0ZS0zLjguMy4xXDwvc3FsaXRlM0Rpcj4KKyAgICA8YnoyRGlyPiQoRXh0ZXJuYWxzRGlyKWJ6aXAyLTEuMC42XDwvYnoyRGlyPgorICAgIDxsem1hRGlyPiQoRXh0ZXJuYWxzRGlyKXh6LTUuMC41XDwvbHptYURpcj4KKyAgICA8b3BlbnNzbERpcj4kKEV4dGVybmFsc0RpcilvcGVuc3NsLTEuMC4xbFw8L29wZW5zc2xEaXI+CisgICAgPG5hc21EaXI+JChFeHRlcm5hbHNEaXIpXG5hc20tMi4xMS4wNlw8L25hc21EaXI+CisgICAgCisgICAgPCEtLSBTdWZmaXggZm9yIGFsbCBiaW5hcmllcyB3aGVuIGJ1aWxkaW5nIGZvciBkZWJ1ZyAtLT4KKyAgICA8UHlEZWJ1Z0V4dCBDb25kaXRpb249IickKFB5RGVidWdFeHQpJyA9PSAnJyBhbmQgJChDb25maWd1cmF0aW9uKSA9PSAnRGVidWcnIj5fZDwvUHlEZWJ1Z0V4dD4KKyAgICAKKyAgICA8IS0tIEZ1bGwgcGF0aCBvZiB0aGUgcmVzdWx0aW5nIHB5dGhvbi5leGUgYmluYXJ5IC0tPgorICAgIDxQeXRob25FeGUgQ29uZGl0aW9uPSInJChQeXRob25FeGUpJyA9PSAnJyI+JChCdWlsZFBhdGgpcHl0aG9uJChQeURlYnVnRXh0KS5leGU8L1B5dGhvbkV4ZT4KKworICAgIDwhLS0KKyAgICBSZWFkIHZlcnNpb24gaW5mb3JtYXRpb24gZnJvbSBJbmNsdWRlXHBhdGNobGV2ZWwuaC4gVGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzIGFyZSBzZXQ6CisgICAgCisgICAgICAgIE1ham9yVmVyc2lvbk51bWJlciAgLSAgIHRoZSAnMycgaW4gJzMuNS4yYTEnCisgICAgICAgIE1pbm9yVmVyc2lvbk51bWJlciAgLSAgIHRoZSAnNScgaW4gJzMuNS4yYTEnCisgICAgICAgIE1pY3JvVmVyc2lvbk51bWJlciAgLSAgIHRoZSAnMicgaW4gJzMuNS4yYTEnCisgICAgICAgIFJlbGVhc2VTZXJpYWwgICAgICAgLSAgIHRoZSAnMScgaW4gJzMuNS4yYTEnCisgICAgICAgIFJlbGVhc2VMZXZlbE5hbWUgICAgLSAgIHRoZSAnYTEnIGluICczLjUuMmExJworICAgICAgICBQeXRob25WZXJzaW9uTnVtYmVyIC0gICAnMy41LjInIGZvciAnMy41LjJhMScKKyAgICAgICAgUHl0aG9uVmVyc2lvbiAgICAgICAtICAgJzMuNS4yYTEnCisgICAgICAgIFB5dGhvblZlcnNpb25IZXggICAgLSAgIDB4MDMwNTAyYTEgZm9yICczLjUuMmExJworICAgICAgICBSZWxlYXNlTGV2ZWxOdW1iZXIgIC0gICAxMCBmb3IgYWxwaGEsIDExIGZvciBiZXRhLCAxMiBmb3IgUkMgKGdhbW1hKSwgYW5kIDE1IGZvciBmaW5hbAorICAgICAgICBGaWVsZDNWYWx1ZSAgICAgICAgIC0gICAyMTAxIGZvciAnMy41LjJhMScgKD09IDEwMDAqMiArIDEwKjEwICgnYScpICsgMSkKKyAgICAtLT4KKyAgICA8X1BhdGNoTGV2ZWxDb250ZW50PiQoW1N5c3RlbS5JTy5GaWxlXTo6UmVhZEFsbFRleHQoYCQoUHlTb3VyY2VQYXRoKUluY2x1ZGVccGF0Y2hsZXZlbC5oYCkpPC9fUGF0Y2hMZXZlbENvbnRlbnQ+CisgICAgPE1ham9yVmVyc2lvbk51bWJlcj4kKFtTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnMuUmVnZXhdOjpNYXRjaCgkKF9QYXRjaExldmVsQ29udGVudCksIGBkZWZpbmVccytQWV9NQUpPUl9WRVJTSU9OXHMrKFxkKylgKS5Hcm91cHNbMV0uVmFsdWUpPC9NYWpvclZlcnNpb25OdW1iZXI+CisgICAgPE1pbm9yVmVyc2lvbk51bWJlcj4kKFtTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnMuUmVnZXhdOjpNYXRjaCgkKF9QYXRjaExldmVsQ29udGVudCksIGBkZWZpbmVccytQWV9NSU5PUl9WRVJTSU9OXHMrKFxkKylgKS5Hcm91cHNbMV0uVmFsdWUpPC9NaW5vclZlcnNpb25OdW1iZXI+CisgICAgPE1pY3JvVmVyc2lvbk51bWJlcj4kKFtTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnMuUmVnZXhdOjpNYXRjaCgkKF9QYXRjaExldmVsQ29udGVudCksIGBkZWZpbmVccytQWV9NSUNST19WRVJTSU9OXHMrKFxkKylgKS5Hcm91cHNbMV0uVmFsdWUpPC9NaWNyb1ZlcnNpb25OdW1iZXI+CisgICAgPF9SZWxlYXNlTGV2ZWw+JChbU3lzdGVtLlRleHQuUmVndWxhckV4cHJlc3Npb25zLlJlZ2V4XTo6TWF0Y2goJChfUGF0Y2hMZXZlbENvbnRlbnQpLCBgZGVmaW5lXHMrUFlfUkVMRUFTRV9MRVZFTFxzK1BZX1JFTEVBU0VfTEVWRUxfKFx3KylgKS5Hcm91cHNbMV0uVmFsdWUpPC9fUmVsZWFzZUxldmVsPgorICAgIDxSZWxlYXNlU2VyaWFsPiQoW1N5c3RlbS5UZXh0LlJlZ3VsYXJFeHByZXNzaW9ucy5SZWdleF06Ok1hdGNoKCQoX1BhdGNoTGV2ZWxDb250ZW50KSwgYGRlZmluZVxzK1BZX1JFTEVBU0VfU0VSSUFMXHMrKFxkKylgKS5Hcm91cHNbMV0uVmFsdWUpPC9SZWxlYXNlU2VyaWFsPgorICAgIDxSZWxlYXNlTGV2ZWxOdW1iZXI+MTU8L1JlbGVhc2VMZXZlbE51bWJlcj4KKyAgICA8UmVsZWFzZUxldmVsTnVtYmVyIENvbmRpdGlvbj0iJChfUmVsZWFzZUxldmVsKSA9PSAnQUxQSEEnIj4xMDwvUmVsZWFzZUxldmVsTnVtYmVyPgorICAgIDxSZWxlYXNlTGV2ZWxOdW1iZXIgQ29uZGl0aW9uPSIkKF9SZWxlYXNlTGV2ZWwpID09ICdCRVRBJyI+MTE8L1JlbGVhc2VMZXZlbE51bWJlcj4KKyAgICA8UmVsZWFzZUxldmVsTnVtYmVyIENvbmRpdGlvbj0iJChfUmVsZWFzZUxldmVsKSA9PSAnR0FNTUEnIj4xMjwvUmVsZWFzZUxldmVsTnVtYmVyPgorICAgIDxSZWxlYXNlTGV2ZWxOYW1lIENvbmRpdGlvbj0iJChfUmVsZWFzZUxldmVsKSA9PSAnQUxQSEEnIj5hJChSZWxlYXNlU2VyaWFsKTwvUmVsZWFzZUxldmVsTmFtZT4KKyAgICA8UmVsZWFzZUxldmVsTmFtZSBDb25kaXRpb249IiQoX1JlbGVhc2VMZXZlbCkgPT0gJ0JFVEEnIj5iJChSZWxlYXNlU2VyaWFsKTwvUmVsZWFzZUxldmVsTmFtZT4KKyAgICA8UmVsZWFzZUxldmVsTmFtZSBDb25kaXRpb249IiQoX1JlbGVhc2VMZXZlbCkgPT0gJ0dBTU1BJyI+cmMkKFJlbGVhc2VTZXJpYWwpPC9SZWxlYXNlTGV2ZWxOYW1lPgorICAgIAorICAgIDxQeXRob25WZXJzaW9uTnVtYmVyPiQoTWFqb3JWZXJzaW9uTnVtYmVyKS4kKE1pbm9yVmVyc2lvbk51bWJlcikuJChNaWNyb1ZlcnNpb25OdW1iZXIpPC9QeXRob25WZXJzaW9uTnVtYmVyPgorICAgIDxQeXRob25WZXJzaW9uPiQoTWFqb3JWZXJzaW9uTnVtYmVyKS4kKE1pbm9yVmVyc2lvbk51bWJlcikuJChNaWNyb1ZlcnNpb25OdW1iZXIpJChSZWxlYXNlTGV2ZWxOYW1lKTwvUHl0aG9uVmVyc2lvbj4KKyAgICA8UHl0aG9uVmVyc2lvbkhleD4kKFttc2J1aWxkXTo6Qml0d2lzZU9yKAorICAgICAgICAkKFttc2J1aWxkXTo6TXVsdGlwbHkoJChNYWpvclZlcnNpb25OdW1iZXIpLCAxNjc3NzIxNikpLAorICAgICAgICAkKFttc2J1aWxkXTo6Qml0d2lzZU9yKAorICAgICAgICAgICAgJChbbXNidWlsZF06Ok11bHRpcGx5KCQoTWlub3JWZXJzaW9uTnVtYmVyKSwgNjU1MzYpKSwKKyAgICAgICAgICAgICQoW21zYnVpbGRdOjpCaXR3aXNlT3IoCisgICAgICAgICAgICAgICAgJChbbXNidWlsZF06Ok11bHRpcGx5KCQoTWljcm9WZXJzaW9uTnVtYmVyKSwgMjU2KSksCisgICAgICAgICAgICAgICAgJChbbXNidWlsZF06OkJpdHdpc2VPcigKKyAgICAgICAgICAgICAgICAgICAgJChbbXNidWlsZF06Ok11bHRpcGx5KCQoUmVsZWFzZUxldmVsTnVtYmVyKSwgMTYpKSwKKyAgICAgICAgICAgICAgICAgICAgJChSZWxlYXNlU2VyaWFsKQorICAgICAgICAgICAgICAgICkpCisgICAgICAgICAgICApKQorICAgICAgICApKQorICAgICkpPC9QeXRob25WZXJzaW9uSGV4PgorICAgIDxGaWVsZDNWYWx1ZT4kKFttc2J1aWxkXTo6QWRkKAorICAgICAgICAkKFJlbGVhc2VTZXJpYWwpLAorICAgICAgICAkKFttc2J1aWxkXTo6QWRkKAorICAgICAgICAgICAgJChbbXNidWlsZF06Ok11bHRpcGx5KCQoUmVsZWFzZUxldmVsTnVtYmVyKSwgMTApKSwKKyAgICAgICAgICAgICQoW21zYnVpbGRdOjpNdWx0aXBseSgkKE1pY3JvVmVyc2lvbk51bWJlciksIDEwMDApKQorICAgICAgICApKQorICAgICkpPC9GaWVsZDNWYWx1ZT4KKyAgICAKKyAgICA8IS0tIFRoZSBuYW1lIG9mIHRoZSByZXN1bHRpbmcgcHl0aG9uWFkuZGxsICh3aXRob3V0IHRoZSBleHRlbnNpb24pIC0tPgorICAgIDxQeURsbE5hbWU+cHl0aG9uJChNYWpvclZlcnNpb25OdW1iZXIpJChNaW5vclZlcnNpb25OdW1iZXIpJChQeURlYnVnRXh0KTwvUHlEbGxOYW1lPgorCisgICAgPCEtLSBUaGUgdmVyc2lvbiBhbmQgcGxhdGZvcm0gdGFnIHRvIGluY2x1ZGUgaW4gLnB5ZCBmaWxlbmFtZXMgLS0+CisgICAgPFB5ZFRhZyBDb25kaXRpb249IiQoUGxhdGZvcm0pID09ICdXaW4zMicgb3IgJChQbGF0Zm9ybSkgPT0gJ3g4NiciPi5jcCQoTWFqb3JWZXJzaW9uTnVtYmVyKSQoTWlub3JWZXJzaW9uTnVtYmVyKS13aW4zMjwvUHlkVGFnPgorICAgIDxQeWRUYWcgQ29uZGl0aW9uPSIkKFBsYXRmb3JtKSA9PSAneDY0JyI+LmNwJChNYWpvclZlcnNpb25OdW1iZXIpJChNaW5vclZlcnNpb25OdW1iZXIpLXdpbl9hbWQ2NDwvUHlkVGFnPgorICAgIAorICAgIDwhLS0gVGhlIHZlcnNpb24gbnVtYmVyIGZvciBzeXMud2ludmVyIC0tPgorICAgIDxTeXNXaW5WZXI+JChNYWpvclZlcnNpb25OdW1iZXIpLiQoTWlub3JWZXJzaW9uTnVtYmVyKTwvU3lzV2luVmVyPgorICAgIDxTeXNXaW5WZXIgQ29uZGl0aW9uPSIkKFBsYXRmb3JtKSA9PSAnV2luMzInIG9yICQoUGxhdGZvcm0pID09ICd4ODYnIj4kKFN5c1dpblZlciktMzI8L1N5c1dpblZlcj4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICAKKyAgPCEtLSBEaXNwbGF5cyB0aGUgY2FsY3VsYXRlZCB2ZXJzaW9uIGluZm8gLS0+CisgIDxUYXJnZXQgTmFtZT0iU2hvd1ZlcnNpb25JbmZvIj4KKyAgICA8TWVzc2FnZSBJbXBvcnRhbmNlPSJoaWdoIiBUZXh0PSJQeXRob25WZXJzaW9uTnVtYmVyOiAkKFB5dGhvblZlcnNpb25OdW1iZXIpIiAvPgorICAgIDxNZXNzYWdlIEltcG9ydGFuY2U9ImhpZ2giIFRleHQ9IlB5dGhvblZlcnNpb246ICAgICAgICQoUHl0aG9uVmVyc2lvbikiIC8+CisgICAgPE1lc3NhZ2UgSW1wb3J0YW5jZT0iaGlnaCIgVGV4dD0iJChbU3lzdGVtLlN0cmluZ106OkZvcm1hdChgUHl0aG9uVmVyc2lvbkhleDogICAgMHh7MDp4fWAsICQoW1N5c3RlbS5VSW50MzJdOjpQYXJzZSgkKFB5dGhvblZlcnNpb25IZXgpKSkpKSIgLz4KKyAgICA8TWVzc2FnZSBJbXBvcnRhbmNlPSJoaWdoIiBUZXh0PSJGaWVsZDNWYWx1ZTogICAgICAgICAkKEZpZWxkM1ZhbHVlKSIgLz4KKyAgPC9UYXJnZXQ+Cis8L1Byb2plY3Q+CmRpZmYgLS1naXQgYS9QQ2J1aWxkL3B5dGhvbi52Y3hwcm9qIGIvUENidWlsZC9weXRob24udmN4cHJvagppbmRleCBiZDEyNjI0Li4wYWU0ODgyIDEwMDY0NAotLS0gYS9QQ2J1aWxkL3B5dGhvbi52Y3hwcm9qCisrKyBiL1BDYnVpbGQvcHl0aG9uLnZjeHByb2oKQEAgLTM2LDQ0ICszNiwxMSBAQAogICA8L0l0ZW1Hcm91cD4KICAgPFByb3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgogICAgIDxQcm9qZWN0R3VpZD57QjExRDc1MEYtQ0QxRi00QTk2LTg1Q0UtRTY5QTVDNTI1OUY5fTwvUHJvamVjdEd1aWQ+CisgICAgPE1ha2VWZXJzaW9uSW5mb0JlZm9yZVRhcmdldD5DbENvbXBpbGU8L01ha2VWZXJzaW9uSW5mb0JlZm9yZVRhcmdldD4KICAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9InB5dGhvbi5wcm9wcyIgLz4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VPZk1mYz5mYWxzZTwvVXNlT2ZNZmM+Ci0gICAgPENoYXJhY3RlclNldD5NdWx0aUJ5dGU8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VPZk1mYz5mYWxzZTwvVXNlT2ZNZmM+Ci0gICAgPENoYXJhY3RlclNldD5NdWx0aUJ5dGU8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPFVzZU9mTWZjPmZhbHNlPC9Vc2VPZk1mYz4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VPZk1mYz5mYWxzZTwvVXNlT2ZNZmM+Ci0gICAgPENoYXJhY3RlclNldD5NdWx0aUJ5dGU8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VPZk1mYz5mYWxzZTwvVXNlT2ZNZmM+Ci0gICAgPENoYXJhY3RlclNldD5NdWx0aUJ5dGU8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgotICAgIDxDaGFyYWN0ZXJTZXQ+TXVsdGlCeXRlPC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgotICAgIDxDaGFyYWN0ZXJTZXQ+TXVsdGlCeXRlPC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgogICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+CiAgICAgPFVzZU9mTWZjPmZhbHNlPC9Vc2VPZk1mYz4KICAgICA8Q2hhcmFjdGVyU2V0Pk11bHRpQnl0ZTwvQ2hhcmFjdGVyU2V0PgpAQCAtODEsMjY4ICs0OCwyNCBAQAogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25TZXR0aW5ncyI+CiAgIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KKyAgPEltcG9ydEdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgogICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icmVsZWFzZS5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InJlbGVhc2UucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJkZWJ1Zy5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icmVsZWFzZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGd1cGRhdGUucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InJlbGVhc2UucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iZGVidWcucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgogICA8L0ltcG9ydEdyb3VwPgogICA8UHJvcGVydHlHcm91cCBMYWJlbD0iVXNlck1hY3JvcyIgLz4KICAgPFByb3BlcnR5R3JvdXA+CiAgICAgPF9Qcm9qZWN0RmlsZVZlcnNpb24+MTAuMC4zMDMxOS4xPC9fUHJvamVjdEZpbGVWZXJzaW9uPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KICAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+CiAgICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CiAgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0NPTlNPTEU7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4KLSAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRExMPC9SdW50aW1lTGlicmFyeT4KLSAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KLSAgICAgIDxDb21waWxlQXM+RGVmYXVsdDwvQ29tcGlsZUFzPgogICAgIDwvQ2xDb21waWxlPgotICAgIDxSZXNvdXJjZUNvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+TkRFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxDdWx0dXJlPjB4MDQwOTwvQ3VsdHVyZT4KLSAgICA8L1Jlc291cmNlQ29tcGlsZT4KICAgICA8TGluaz4KLSAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKXB5dGhvbi5leGU8L091dHB1dEZpbGU+CiAgICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KICAgICAgIDxTdGFja1Jlc2VydmVTaXplPjIwMDAwMDA8L1N0YWNrUmVzZXJ2ZVNpemU+CiAgICAgICA8QmFzZUFkZHJlc3M+MHgxZDAwMDAwMDwvQmFzZUFkZHJlc3M+CiAgICAgPC9MaW5rPgogICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fQ09OU09MRTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8U3RyaW5nUG9vbGluZz50cnVlPC9TdHJpbmdQb29saW5nPgotICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWRETEw8L1J1bnRpbWVMaWJyYXJ5PgotICAgICAgPEZ1bmN0aW9uTGV2ZWxMaW5raW5nPnRydWU8L0Z1bmN0aW9uTGV2ZWxMaW5raW5nPgotICAgICAgPENvbXBpbGVBcz5EZWZhdWx0PC9Db21waWxlQXM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPFJlc291cmNlQ29tcGlsZT4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5OREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPEN1bHR1cmU+MHgwNDA5PC9DdWx0dXJlPgotICAgIDwvUmVzb3VyY2VDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpcHl0aG9uLmV4ZTwvT3V0cHV0RmlsZT4KLSAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgotICAgICAgPFN0YWNrUmVzZXJ2ZVNpemU+MjAwMDAwMDwvU3RhY2tSZXNlcnZlU2l6ZT4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFkMDAwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8T3B0aW1pemF0aW9uPkRpc2FibGVkPC9PcHRpbWl6YXRpb24+Ci0gICAgICA8SW50cmluc2ljRnVuY3Rpb25zPmZhbHNlPC9JbnRyaW5zaWNGdW5jdGlvbnM+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4lKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9DT05TT0xFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRGVidWdETEw8L1J1bnRpbWVMaWJyYXJ5PgotICAgICAgPEJyb3dzZUluZm9ybWF0aW9uPnRydWU8L0Jyb3dzZUluZm9ybWF0aW9uPgotICAgICAgPENvbXBpbGVBcz5EZWZhdWx0PC9Db21waWxlQXM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPFJlc291cmNlQ29tcGlsZT4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPEN1bHR1cmU+MHgwNDA5PC9DdWx0dXJlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cSW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgIDwvUmVzb3VyY2VDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpcHl0aG9uX2QuZXhlPC9PdXRwdXRGaWxlPgotICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+Ci0gICAgICA8U3RhY2tSZXNlcnZlU2l6ZT4yMDAwMDAwPC9TdGFja1Jlc2VydmVTaXplPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWQwMDAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8T3B0aW1pemF0aW9uPkRpc2FibGVkPC9PcHRpbWl6YXRpb24+Ci0gICAgICA8SW50cmluc2ljRnVuY3Rpb25zPmZhbHNlPC9JbnRyaW5zaWNGdW5jdGlvbnM+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4lKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9DT05TT0xFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRGVidWdETEw8L1J1bnRpbWVMaWJyYXJ5PgotICAgICAgPEJyb3dzZUluZm9ybWF0aW9uPnRydWU8L0Jyb3dzZUluZm9ybWF0aW9uPgotICAgICAgPENvbXBpbGVBcz5EZWZhdWx0PC9Db21waWxlQXM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPFJlc291cmNlQ29tcGlsZT4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPEN1bHR1cmU+MHgwNDA5PC9DdWx0dXJlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cSW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgIDwvUmVzb3VyY2VDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpcHl0aG9uX2QuZXhlPC9PdXRwdXRGaWxlPgotICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+Ci0gICAgICA8U3RhY2tSZXNlcnZlU2l6ZT40MTk0MzA0PC9TdGFja1Jlc2VydmVTaXplPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWQwMDAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4lKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9DT05TT0xFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+Ci0gICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERMTDwvUnVudGltZUxpYnJhcnk+Ci0gICAgICA8RnVuY3Rpb25MZXZlbExpbmtpbmc+dHJ1ZTwvRnVuY3Rpb25MZXZlbExpbmtpbmc+Ci0gICAgICA8Q29tcGlsZUFzPkRlZmF1bHQ8L0NvbXBpbGVBcz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8UmVzb3VyY2VDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPk5ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8Q3VsdHVyZT4weDA0MDk8L0N1bHR1cmU+Ci0gICAgPC9SZXNvdXJjZUNvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8T3V0cHV0RmlsZT4kKE91dERpcilweXRob24uZXhlPC9PdXRwdXRGaWxlPgotICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+Ci0gICAgICA8U3RhY2tSZXNlcnZlU2l6ZT4yMDAwMDAwPC9TdGFja1Jlc2VydmVTaXplPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWQwMDAwMDA8L0Jhc2VBZGRyZXNzPgotICAgICAgPEltcG9ydExpYnJhcnk+Ci0gICAgICA8L0ltcG9ydExpYnJhcnk+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4lKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9DT05TT0xFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+Ci0gICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERMTDwvUnVudGltZUxpYnJhcnk+Ci0gICAgICA8RnVuY3Rpb25MZXZlbExpbmtpbmc+dHJ1ZTwvRnVuY3Rpb25MZXZlbExpbmtpbmc+Ci0gICAgICA8Q29tcGlsZUFzPkRlZmF1bHQ8L0NvbXBpbGVBcz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8UmVzb3VyY2VDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPk5ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8Q3VsdHVyZT4weDA0MDk8L0N1bHR1cmU+Ci0gICAgPC9SZXNvdXJjZUNvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8T3V0cHV0RmlsZT4kKE91dERpcilweXRob24uZXhlPC9PdXRwdXRGaWxlPgotICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+Ci0gICAgICA8U3RhY2tSZXNlcnZlU2l6ZT4yMDAwMDAwPC9TdGFja1Jlc2VydmVTaXplPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWQwMDAwMDA8L0Jhc2VBZGRyZXNzPgotICAgICAgPEltcG9ydExpYnJhcnk+Ci0gICAgICA8L0ltcG9ydExpYnJhcnk+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0NPTlNPTEU7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4KLSAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRExMPC9SdW50aW1lTGlicmFyeT4KLSAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KLSAgICAgIDxDb21waWxlQXM+RGVmYXVsdDwvQ29tcGlsZUFzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxSZXNvdXJjZUNvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+TkRFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxDdWx0dXJlPjB4MDQwOTwvQ3VsdHVyZT4KLSAgICA8L1Jlc291cmNlQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKXB5dGhvbi5leGU8L091dHB1dEZpbGU+Ci0gICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KLSAgICAgIDxTdGFja1Jlc2VydmVTaXplPjIwMDAwMDA8L1N0YWNrUmVzZXJ2ZVNpemU+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZDAwMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgICA8SW1wb3J0TGlicmFyeT4KLSAgICAgIDwvSW1wb3J0TGlicmFyeT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fQ09OU09MRTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8U3RyaW5nUG9vbGluZz50cnVlPC9TdHJpbmdQb29saW5nPgotICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWRETEw8L1J1bnRpbWVMaWJyYXJ5PgotICAgICAgPEZ1bmN0aW9uTGV2ZWxMaW5raW5nPnRydWU8L0Z1bmN0aW9uTGV2ZWxMaW5raW5nPgotICAgICAgPENvbXBpbGVBcz5EZWZhdWx0PC9Db21waWxlQXM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPFJlc291cmNlQ29tcGlsZT4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5OREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPEN1bHR1cmU+MHgwNDA5PC9DdWx0dXJlPgotICAgIDwvUmVzb3VyY2VDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpcHl0aG9uLmV4ZTwvT3V0cHV0RmlsZT4KLSAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgotICAgICAgPFN0YWNrUmVzZXJ2ZVNpemU+MjAwMDAwMDwvU3RhY2tSZXNlcnZlU2l6ZT4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFkMDAwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICAgIDxJbXBvcnRMaWJyYXJ5PgotICAgICAgPC9JbXBvcnRMaWJyYXJ5PgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KICAgPEl0ZW1Hcm91cD4KICAgICA8Tm9uZSBJbmNsdWRlPSIuLlxQQ1xweWNvbi5pY28iIC8+CiAgIDwvSXRlbUdyb3VwPgpAQCAtMzUwLDcgKzczLDcgQEAKICAgICA8UmVzb3VyY2VDb21waWxlIEluY2x1ZGU9Ii4uXFBDXHB5dGhvbl9leGUucmMiIC8+CiAgIDwvSXRlbUdyb3VwPgogICA8SXRlbUdyb3VwPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cTW9kdWxlc1xweXRob24uYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFByb2dyYW1zXHB5dGhvbi5jIiAvPgogICA8L0l0ZW1Hcm91cD4KICAgPEl0ZW1Hcm91cD4KICAgICA8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPSJweXRob25jb3JlLnZjeHByb2oiPgpAQCAtMzYxLDQgKzg0LDE5IEBACiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+CiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uVGFyZ2V0cyI+CiAgIDwvSW1wb3J0R3JvdXA+Ci08L1Byb2plY3Q+CisgIDxUYXJnZXQgTmFtZT0iR2VuZXJhdGVQeXRob25CYXQiIEFmdGVyVGFyZ2V0cz0iQWZ0ZXJCdWlsZCI+CisgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICA8X0NvbnRlbnQ+QHJlbSBUaGlzIHNjcmlwdCBpbnZva2VzIHRoZSBtb3N0IHJlY2VudGx5IGJ1aWx0IFB5dGhvbiB3aXRoIGFsbCBhcmd1bWVudHMKK0ByZW0gcGFzc2VkIHRocm91Z2ggdG8gdGhlIGludGVycHJldGVyLiAgVGhpcyBmaWxlIGlzIGdlbmVyYXRlZCBieSB0aGUKK0ByZW0gYnVpbGQgcHJvY2VzcyBhbmQgYW55IGNoYW5nZXMgKndpbGwqIGJlIHRocm93biBhd2F5IGJ5IHRoZSBuZXh0CitAcmVtIHJlYnVpbGQuCitAcmVtIFRoaXMgaXMgb25seSBtZWFudCBhcyBhIGNvbnZlbmllbmNlIGZvciBkZXZlbG9waW5nIENQeXRob24KK0ByZW0gYW5kIHVzaW5nIGl0IG91dHNpZGUgb2YgdGhhdCBjb250ZXh0IGlzIGlsbC1hZHZpc2VkLgorQGVjaG8gUnVubmluZyAkKENvbmZpZ3VyYXRpb24pXnwkKFBsYXRmb3JtKSBpbnRlcnByZXRlci4uLgorQCIkKE91dERpcilweXRob24kKFB5RGVidWdFeHQpLmV4ZSIgJSoKKzwvX0NvbnRlbnQ+CisgICAgICA8X0V4aXN0aW5nQ29udGVudCBDb25kaXRpb249IkV4aXN0cygnJChQeVNvdXJjZVBhdGgpcHl0aG9uLmJhdCcpIj4kKFtTeXN0ZW0uSU8uRmlsZV06OlJlYWRBbGxUZXh0KCckKFB5U291cmNlUGF0aClweXRob24uYmF0JykpPC9fRXhpc3RpbmdDb250ZW50PgorICAgIDwvUHJvcGVydHlHcm91cD4KKyAgICA8V3JpdGVMaW5lc1RvRmlsZSBGaWxlPSIkKFB5U291cmNlUGF0aClweXRob24uYmF0IiBMaW5lcz0iJChfQ29udGVudCkiIE92ZXJ3cml0ZT0idHJ1ZSIgQ29uZGl0aW9uPSInJChfQ29udGVudCknICE9ICckKF9FeGlzdGluZ0NvbnRlbnQpJyIgLz4KKyAgPC9UYXJnZXQ+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvUENidWlsZC9weXRob24udmN4cHJvai5maWx0ZXJzIGIvUENidWlsZC9weXRob24udmN4cHJvai5maWx0ZXJzCmluZGV4IGU0OTA2YTQuLjA2NjJhNGUgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQvcHl0aG9uLnZjeHByb2ouZmlsdGVycworKysgYi9QQ2J1aWxkL3B5dGhvbi52Y3hwcm9qLmZpbHRlcnMKQEAgLTE5LDggKzE5LDggQEAKICAgICA8L1Jlc291cmNlQ29tcGlsZT4KICAgPC9JdGVtR3JvdXA+CiAgIDxJdGVtR3JvdXA+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxNb2R1bGVzXHB5dGhvbi5jIj4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFByb2dyYW1zXHB5dGhvbi5jIj4KICAgICAgIDxGaWx0ZXI+U291cmNlIEZpbGVzPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CiAgIDwvSXRlbUdyb3VwPgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvUHJvamVjdD4KZGlmZiAtLWdpdCBhL1BDYnVpbGQvcHl0aG9uM2RsbC52Y3hwcm9qIGIvUENidWlsZC9weXRob24zZGxsLnZjeHByb2oKaW5kZXggYmM4ZmYzMS4uYjAzZDA5ZiAxMDA2NDQKLS0tIGEvUENidWlsZC9weXRob24zZGxsLnZjeHByb2oKKysrIGIvUENidWlsZC9weXRob24zZGxsLnZjeHByb2oKQEAgLTEsNiArMSwxNCBAQAog77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KIDxQcm9qZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgogICA8SXRlbUdyb3VwIExhYmVsPSJQcm9qZWN0Q29uZmlndXJhdGlvbnMiPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJEZWJ1Z3xXaW4zMiI+CisgICAgICA8Q29uZmlndXJhdGlvbj5EZWJ1ZzwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWd8eDY0Ij4KKyAgICAgIDxDb25maWd1cmF0aW9uPkRlYnVnPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KICAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUEdJbnN0cnVtZW50fFdpbjMyIj4KICAgICAgIDxDb25maWd1cmF0aW9uPlBHSW5zdHJ1bWVudDwvQ29uZmlndXJhdGlvbj4KICAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CkBAIC0zMCwxNDQgKzM4LDQzIEBACiAgICAgPFByb2plY3RHdWlkPns4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9PC9Qcm9qZWN0R3VpZD4KICAgICA8Um9vdE5hbWVzcGFjZT5weXRob24zZGxsPC9Sb290TmFtZXNwYWNlPgogICAgIDxLZXl3b3JkPldpbjMyUHJvajwvS2V5d29yZD4KKyAgICA8VGFyZ2V0TmFtZT5weXRob24zPC9UYXJnZXROYW1lPgorICAgIDxNYWtlVmVyc2lvbkluZm9CZWZvcmVUYXJnZXQ+Q2xDb21waWxlPC9NYWtlVmVyc2lvbkluZm9CZWZvcmVUYXJnZXQ+CisgICAgPFN1cHBvcnRQR08+ZmFsc2U8L1N1cHBvcnRQR08+CiAgIDwvUHJvcGVydHlHcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSJweXRob24ucHJvcHMiIC8+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPk1ha2VmaWxlPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+TWFrZWZpbGU8L0NvbmZpZ3VyYXRpb25UeXBlPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+TWFrZWZpbGU8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5NYWtlZmlsZTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5NYWtlZmlsZTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+TWFrZWZpbGU8L0NvbmZpZ3VyYXRpb25UeXBlPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KICAgPC9Qcm9wZXJ0eUdyb3VwPgogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25TZXR0aW5ncyI+CiAgIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KKyAgPEltcG9ydEdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgogICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icmVsZWFzZS5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InJlbGVhc2UucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InJlbGVhc2UucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icmVsZWFzZS5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGdpbnN0cnVtZW50LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icmVsZWFzZS5wcm9wcyIgLz4KICAgPC9JbXBvcnRHcm91cD4KICAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNyb3MiIC8+CiAgIDxQcm9wZXJ0eUdyb3VwPgogICAgIDxfUHJvamVjdEZpbGVWZXJzaW9uPjEwLjAuMzAzMTkuMTwvX1Byb2plY3RGaWxlVmVyc2lvbj4KLSAgICA8Tk1ha2VCdWlsZENvbW1hbmRMaW5lIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPmNkICQoUHJvamVjdERpcilcLi5cUEMKLW5tYWtlIC9mIHB5dGhvbjMubWFrIE1BQ0hJTkU9eDg2IE91dERpcj0kKE91dERpcik8L05NYWtlQnVpbGRDb21tYW5kTGluZT4KLSAgICA8Tk1ha2VSZUJ1aWxkQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+Y2QgJChQcm9qZWN0RGlyKVwuLlxQQwotbm1ha2UgL2YgcHl0aG9uMy5tYWsgTUFDSElORT14ODYgT3V0RGlyPSQoT3V0RGlyKSByZWJ1aWxkPC9OTWFrZVJlQnVpbGRDb21tYW5kTGluZT4KLSAgICA8Tk1ha2VDbGVhbkNvbW1hbmRMaW5lIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPmNkICQoUHJvamVjdERpcilcLi5cUEMKLSIkKFZTSW5zdGFsbERpcilcVkNcYmluXG5tYWtlLmV4ZSIgL2YgcHl0aG9uMy5tYWsgTUFDSElORT14ODYgT3V0RGlyPSQoT3V0RGlyKSBjbGVhbjwvTk1ha2VDbGVhbkNvbW1hbmRMaW5lPgotICAgIDxOTWFrZU91dHB1dCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4kKE91dERpcilweXRob24zLmRsbDwvTk1ha2VPdXRwdXQ+Ci0gICAgPE5NYWtlUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+JChOTWFrZVByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvTk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8Tk1ha2VJbmNsdWRlU2VhcmNoUGF0aCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4kKE5NYWtlSW5jbHVkZVNlYXJjaFBhdGgpPC9OTWFrZUluY2x1ZGVTZWFyY2hQYXRoPgotICAgIDxOTWFrZUZvcmNlZEluY2x1ZGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPiQoTk1ha2VGb3JjZWRJbmNsdWRlcyk8L05NYWtlRm9yY2VkSW5jbHVkZXM+Ci0gICAgPE5NYWtlQXNzZW1ibHlTZWFyY2hQYXRoIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPiQoTk1ha2VBc3NlbWJseVNlYXJjaFBhdGgpPC9OTWFrZUFzc2VtYmx5U2VhcmNoUGF0aD4KLSAgICA8Tk1ha2VGb3JjZWRVc2luZ0Fzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+JChOTWFrZUZvcmNlZFVzaW5nQXNzZW1ibGllcyk8L05NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzPgotICAgIDxOTWFrZUJ1aWxkQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPmNkICQoUHJvamVjdERpcilcLi5cUEMKLW5tYWtlIC9mIHB5dGhvbjMubWFrIE1BQ0hJTkU9eDY0IE91dERpcj0kKE91dERpcik8L05NYWtlQnVpbGRDb21tYW5kTGluZT4KLSAgICA8Tk1ha2VSZUJ1aWxkQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPmNkICQoUHJvamVjdERpcilcLi5cUEMKLW5tYWtlIC9mIHB5dGhvbjMubWFrIE1BQ0hJTkU9eDY0IE91dERpcj0kKE91dERpcikgcmVidWlsZDwvTk1ha2VSZUJ1aWxkQ29tbWFuZExpbmU+Ci0gICAgPE5NYWtlQ2xlYW5Db21tYW5kTGluZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+Y2QgJChQcm9qZWN0RGlyKVwuLlxQQwotIiQoVlNJbnN0YWxsRGlyKVxWQ1xiaW5cbm1ha2UuZXhlIiAvZiBweXRob24zLm1hayBNQUNISU5FPXg2NCBPdXREaXI9JChPdXREaXIpIGNsZWFuPC9OTWFrZUNsZWFuQ29tbWFuZExpbmU+Ci0gICAgPE5NYWtlT3V0cHV0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4kKE91dERpcilweXRob24zLmRsbDwvTk1ha2VPdXRwdXQ+Ci0gICAgPE5NYWtlUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPiQoTk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L05NYWtlUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPE5NYWtlSW5jbHVkZVNlYXJjaFBhdGggQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPiQoTk1ha2VJbmNsdWRlU2VhcmNoUGF0aCk8L05NYWtlSW5jbHVkZVNlYXJjaFBhdGg+Ci0gICAgPE5NYWtlRm9yY2VkSW5jbHVkZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPiQoTk1ha2VGb3JjZWRJbmNsdWRlcyk8L05NYWtlRm9yY2VkSW5jbHVkZXM+Ci0gICAgPE5NYWtlQXNzZW1ibHlTZWFyY2hQYXRoIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4kKE5NYWtlQXNzZW1ibHlTZWFyY2hQYXRoKTwvTk1ha2VBc3NlbWJseVNlYXJjaFBhdGg+Ci0gICAgPE5NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4kKE5NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzKTwvTk1ha2VGb3JjZWRVc2luZ0Fzc2VtYmxpZXM+Ci0gICAgPE5NYWtlQnVpbGRDb21tYW5kTGluZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPmNkICQoUHJvamVjdERpcilcLi5cUEMKLW5tYWtlIC9mIHB5dGhvbjMubWFrIE1BQ0hJTkU9eDg2IE91dERpcj0kKE91dERpcik8L05NYWtlQnVpbGRDb21tYW5kTGluZT4KLSAgICA8Tk1ha2VSZUJ1aWxkQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj5jZCAkKFByb2plY3REaXIpXC4uXFBDCi1ubWFrZSAvZiBweXRob24zLm1hayBNQUNISU5FPXg4NiBPdXREaXI9JChPdXREaXIpIHJlYnVpbGQ8L05NYWtlUmVCdWlsZENvbW1hbmRMaW5lPgotICAgIDxOTWFrZUNsZWFuQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj5jZCAkKFByb2plY3REaXIpXC4uXFBDCi0iJChWU0luc3RhbGxEaXIpXFZDXGJpblxubWFrZS5leGUiIC9mIHB5dGhvbjMubWFrIE1BQ0hJTkU9eDg2IE91dERpcj0kKE91dERpcikgY2xlYW48L05NYWtlQ2xlYW5Db21tYW5kTGluZT4KLSAgICA8Tk1ha2VPdXRwdXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj4kKE91dERpcilweXRob24zLmRsbDwvTk1ha2VPdXRwdXQ+Ci0gICAgPE5NYWtlUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj4kKE5NYWtlUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9OTWFrZVByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDxOTWFrZUluY2x1ZGVTZWFyY2hQYXRoIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+JChOTWFrZUluY2x1ZGVTZWFyY2hQYXRoKTwvTk1ha2VJbmNsdWRlU2VhcmNoUGF0aD4KLSAgICA8Tk1ha2VGb3JjZWRJbmNsdWRlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPiQoTk1ha2VGb3JjZWRJbmNsdWRlcyk8L05NYWtlRm9yY2VkSW5jbHVkZXM+Ci0gICAgPE5NYWtlQXNzZW1ibHlTZWFyY2hQYXRoIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+JChOTWFrZUFzc2VtYmx5U2VhcmNoUGF0aCk8L05NYWtlQXNzZW1ibHlTZWFyY2hQYXRoPgotICAgIDxOTWFrZUZvcmNlZFVzaW5nQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPiQoTk1ha2VGb3JjZWRVc2luZ0Fzc2VtYmxpZXMpPC9OTWFrZUZvcmNlZFVzaW5nQXNzZW1ibGllcz4KLSAgICA8Tk1ha2VCdWlsZENvbW1hbmRMaW5lIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPmNkICQoUHJvamVjdERpcilcLi5cUEMKLW5tYWtlIC9mIHB5dGhvbjMubWFrIE1BQ0hJTkU9eDY0IE91dERpcj0kKE91dERpcik8L05NYWtlQnVpbGRDb21tYW5kTGluZT4KLSAgICA8Tk1ha2VSZUJ1aWxkQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+Y2QgJChQcm9qZWN0RGlyKVwuLlxQQwotbm1ha2UgL2YgcHl0aG9uMy5tYWsgTUFDSElORT14NjQgT3V0RGlyPSQoT3V0RGlyKSByZWJ1aWxkPC9OTWFrZVJlQnVpbGRDb21tYW5kTGluZT4KLSAgICA8Tk1ha2VDbGVhbkNvbW1hbmRMaW5lIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPmNkICQoUHJvamVjdERpcilcLi5cUEMKLSIkKFZTSW5zdGFsbERpcilcVkNcYmluXG5tYWtlLmV4ZSIgL2YgcHl0aG9uMy5tYWsgTUFDSElORT14NjQgT3V0RGlyPSQoT3V0RGlyKSBjbGVhbjwvTk1ha2VDbGVhbkNvbW1hbmRMaW5lPgotICAgIDxOTWFrZU91dHB1dCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj4kKE91dERpcilweXRob24zLmRsbDwvTk1ha2VPdXRwdXQ+Ci0gICAgPE5NYWtlUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+JChOTWFrZVByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvTk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8Tk1ha2VJbmNsdWRlU2VhcmNoUGF0aCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj4kKE5NYWtlSW5jbHVkZVNlYXJjaFBhdGgpPC9OTWFrZUluY2x1ZGVTZWFyY2hQYXRoPgotICAgIDxOTWFrZUZvcmNlZEluY2x1ZGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPiQoTk1ha2VGb3JjZWRJbmNsdWRlcyk8L05NYWtlRm9yY2VkSW5jbHVkZXM+Ci0gICAgPE5NYWtlQXNzZW1ibHlTZWFyY2hQYXRoIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPiQoTk1ha2VBc3NlbWJseVNlYXJjaFBhdGgpPC9OTWFrZUFzc2VtYmx5U2VhcmNoUGF0aD4KLSAgICA8Tk1ha2VGb3JjZWRVc2luZ0Fzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+JChOTWFrZUZvcmNlZFVzaW5nQXNzZW1ibGllcyk8L05NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzPgotICAgIDxOTWFrZUJ1aWxkQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPmNkICQoUHJvamVjdERpcilcLi5cUEMKLW5tYWtlIC9mIHB5dGhvbjMubWFrIE1BQ0hJTkU9eDg2IE91dERpcj0kKE91dERpcik8L05NYWtlQnVpbGRDb21tYW5kTGluZT4KLSAgICA8Tk1ha2VSZUJ1aWxkQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPmNkICQoUHJvamVjdERpcilcLi5cUEMKLW5tYWtlIC9mIHB5dGhvbjMubWFrIE1BQ0hJTkU9eDg2IE91dERpcj0kKE91dERpcikgcmVidWlsZDwvTk1ha2VSZUJ1aWxkQ29tbWFuZExpbmU+Ci0gICAgPE5NYWtlQ2xlYW5Db21tYW5kTGluZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+Y2QgJChQcm9qZWN0RGlyKVwuLlxQQwotIiQoVlNJbnN0YWxsRGlyKVxWQ1xiaW5cbm1ha2UuZXhlIiAvZiBweXRob24zLm1hayBNQUNISU5FPXg4NiBPdXREaXI9JChPdXREaXIpIGNsZWFuPC9OTWFrZUNsZWFuQ29tbWFuZExpbmU+Ci0gICAgPE5NYWtlT3V0cHV0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj4kKE91dERpcilweXRob24zLmRsbDwvTk1ha2VPdXRwdXQ+Ci0gICAgPE5NYWtlUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPiQoTk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L05NYWtlUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPE5NYWtlSW5jbHVkZVNlYXJjaFBhdGggQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPiQoTk1ha2VJbmNsdWRlU2VhcmNoUGF0aCk8L05NYWtlSW5jbHVkZVNlYXJjaFBhdGg+Ci0gICAgPE5NYWtlRm9yY2VkSW5jbHVkZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPiQoTk1ha2VGb3JjZWRJbmNsdWRlcyk8L05NYWtlRm9yY2VkSW5jbHVkZXM+Ci0gICAgPE5NYWtlQXNzZW1ibHlTZWFyY2hQYXRoIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj4kKE5NYWtlQXNzZW1ibHlTZWFyY2hQYXRoKTwvTk1ha2VBc3NlbWJseVNlYXJjaFBhdGg+Ci0gICAgPE5NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj4kKE5NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzKTwvTk1ha2VGb3JjZWRVc2luZ0Fzc2VtYmxpZXM+Ci0gICAgPE5NYWtlQnVpbGRDb21tYW5kTGluZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPmNkICQoUHJvamVjdERpcilcLi5cUEMKLW5tYWtlIC9mIHB5dGhvbjMubWFrIE1BQ0hJTkU9eDY0IE91dERpcj0kKE91dERpcik8L05NYWtlQnVpbGRDb21tYW5kTGluZT4KLSAgICA8Tk1ha2VSZUJ1aWxkQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj5jZCAkKFByb2plY3REaXIpXC4uXFBDCi1ubWFrZSAvZiBweXRob24zLm1hayBNQUNISU5FPXg2NCBPdXREaXI9JChPdXREaXIpIHJlYnVpbGQ8L05NYWtlUmVCdWlsZENvbW1hbmRMaW5lPgotICAgIDxOTWFrZUNsZWFuQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj5jZCAkKFByb2plY3REaXIpXC4uXFBDCi0iJChWU0luc3RhbGxEaXIpXFZDXGJpblxubWFrZS5leGUiIC9mIHB5dGhvbjMubWFrIE1BQ0hJTkU9eDY0IE91dERpcj0kKE91dERpcikgY2xlYW48L05NYWtlQ2xlYW5Db21tYW5kTGluZT4KLSAgICA8Tk1ha2VPdXRwdXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj4kKE91dERpcilweXRob24zLmRsbDwvTk1ha2VPdXRwdXQ+Ci0gICAgPE5NYWtlUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj4kKE5NYWtlUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9OTWFrZVByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDxOTWFrZUluY2x1ZGVTZWFyY2hQYXRoIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+JChOTWFrZUluY2x1ZGVTZWFyY2hQYXRoKTwvTk1ha2VJbmNsdWRlU2VhcmNoUGF0aD4KLSAgICA8Tk1ha2VGb3JjZWRJbmNsdWRlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPiQoTk1ha2VGb3JjZWRJbmNsdWRlcyk8L05NYWtlRm9yY2VkSW5jbHVkZXM+Ci0gICAgPE5NYWtlQXNzZW1ibHlTZWFyY2hQYXRoIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+JChOTWFrZUFzc2VtYmx5U2VhcmNoUGF0aCk8L05NYWtlQXNzZW1ibHlTZWFyY2hQYXRoPgotICAgIDxOTWFrZUZvcmNlZFVzaW5nQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPiQoTk1ha2VGb3JjZWRVc2luZ0Fzc2VtYmxpZXMpPC9OTWFrZUZvcmNlZFVzaW5nQXNzZW1ibGllcz4KKyAgICA8X01hY2hpbmU+WDg2PC9fTWFjaGluZT4KKyAgICA8X01hY2hpbmUgQ29uZGl0aW9uPSIkKFBsYXRmb3JtKSA9PSAneDY0JyI+WDY0PC9fTWFjaGluZT4KICAgPC9Qcm9wZXJ0eUdyb3VwPgogICA8SXRlbURlZmluaXRpb25Hcm91cD4KKyAgICA8Q2xDb21waWxlPgorICAgICAgPEJ1ZmZlclNlY3VyaXR5Q2hlY2s+ZmFsc2U8L0J1ZmZlclNlY3VyaXR5Q2hlY2s+CisgICAgPC9DbENvbXBpbGU+CisgICAgPExpbms+CisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4kKE91dERpcikkKFRhcmdldE5hbWUpc3R1Yi5saWI8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+CisgICAgICA8TW9kdWxlRGVmaW5pdGlvbkZpbGUgQ29uZGl0aW9uPSIkKENvbmZpZ3VyYXRpb24pICE9ICdEZWJ1ZyciPiQoUHlTb3VyY2VQYXRoKVBDXHB5dGhvbjMuZGVmPC9Nb2R1bGVEZWZpbml0aW9uRmlsZT4KKyAgICAgIDxNb2R1bGVEZWZpbml0aW9uRmlsZSBDb25kaXRpb249IiQoQ29uZmlndXJhdGlvbikgPT0gJ0RlYnVnJyI+JChJbnREaXIpcHl0aG9uM19kLmRlZjwvTW9kdWxlRGVmaW5pdGlvbkZpbGU+CisgICAgICA8RW50cnlQb2ludFN5bWJvbD5EbGxNYWluPC9FbnRyeVBvaW50U3ltYm9sPgorICAgIDwvTGluaz4KKyAgICA8UHJlTGlua0V2ZW50PgorICAgICAgPENvbW1hbmQ+bGliIC9ub2xvZ28gL2RlZjoiJChJbnREaXIpcHl0aG9uM3N0dWIuZGVmIiAvb3V0OiIkKE91dERpcikkKFRhcmdldE5hbWUpc3R1Yi5saWIiIC9NQUNISU5FOiQoX01hY2hpbmUpPC9Db21tYW5kPgorICAgICAgPE1lc3NhZ2U+UmVidWlsZGluZyAkKFRhcmdldE5hbWUpc3R1Yi5saWI8L01lc3NhZ2U+CisgICAgICA8T3V0cHV0cz4kKE91dERpcikkKFRhcmdldE5hbWUpc3R1Yi5saWI8L091dHB1dHM+CisgICAgPC9QcmVMaW5rRXZlbnQ+CiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KICAgPEl0ZW1Hcm91cD4KICAgICA8Tm9uZSBJbmNsdWRlPSIuLlxQQ1xweXRob24zLmRlZiIgLz4KQEAgLTE4MSw0ICs4OCw1NSBAQAogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC50YXJnZXRzIiAvPgogICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblRhcmdldHMiPgogICA8L0ltcG9ydEdyb3VwPgorICAKKyAgPFRhcmdldCBOYW1lPSJCdWlsZFB5dGhvbjNfZERlZiIgQmVmb3JlVGFyZ2V0cz0iQnVpbGRTdHViRGVmIiBJbnB1dHM9Ii4uXFBDXHB5dGhvbjMuZGVmIiBPdXRwdXRzPSIkKEludERpcilweXRob24zX2QuZGVmIiBDb25kaXRpb249IiQoQ29uZmlndXJhdGlvbikgPT0gJ0RlYnVnJyI+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgIDxfRGVmTGluZXMgUmVtb3ZlPSJAKF9EZWZMaW5lcykiIC8+CisgICAgICA8X0xpbmVzIFJlbW92ZT0iQChfTGluZXMpIiAvPgorICAgIDwvSXRlbUdyb3VwPgorICAgIDxSZWFkTGluZXNGcm9tRmlsZSBGaWxlPSIuLlxQQ1xweXRob24zLmRlZiI+CisgICAgICA8T3V0cHV0IFRhc2tQYXJhbWV0ZXI9IkxpbmVzIiBJdGVtTmFtZT0iX0RlZkxpbmVzIiAvPgorICAgIDwvUmVhZExpbmVzRnJvbUZpbGU+CisgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICA8X1BhdHRlcm4xPig9cHl0aG9uJChNYWpvclZlcnNpb25OdW1iZXIpJChNaW5vclZlcnNpb25OdW1iZXIpKVwuPC9fUGF0dGVybjE+CisgICAgICA8X1N1YjE+JDFfZC48L19TdWIxPgorICAgICAgPF9QYXR0ZXJuMj4icHl0aG9uMyI8L19QYXR0ZXJuMj4KKyAgICAgIDxfU3ViMj4icHl0aG9uM19kIjwvX1N1YjI+CisgICAgPC9Qcm9wZXJ0eUdyb3VwPgorICAgIDxJdGVtR3JvdXA+CisgICAgICA8X0xpbmVzIEluY2x1ZGU9IkAoX0RlZkxpbmVzKSI+CisgICAgICAgIDxOZXc+JChbU3lzdGVtLlRleHQuUmVndWxhckV4cHJlc3Npb25zLlJlZ2V4XTo6UmVwbGFjZSgkKFtTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnMuUmVnZXhdOjpSZXBsYWNlKGAlKElkZW50aXR5KWAsIGAkKF9QYXR0ZXJuMSlgLCBgJChfU3ViMSlgKSksIGAkKF9QYXR0ZXJuMilgLCBgJChfU3ViMilgKSk8L05ldz4KKyAgICAgIDwvX0xpbmVzPgorICAgIDwvSXRlbUdyb3VwPgorICAgIDxNYWtlRGlyIERpcmVjdG9yaWVzPSIkKEludERpcikiIC8+CisgICAgPFdyaXRlTGluZXNUb0ZpbGUgRmlsZT0iJChJbnREaXIpcHl0aG9uM19kLmRlZiIgTGluZXM9IkAoX0xpbmVzLT4nJShOZXcpJykiIC8+CisgIDwvVGFyZ2V0PgorICAKKyAgPFRhcmdldCBOYW1lPSJCdWlsZFN0dWJEZWYiIEJlZm9yZVRhcmdldHM9IlByZUxpbmtFdmVudCIgSW5wdXRzPSIuLlxQQ1xweXRob24zLmRlZiIgT3V0cHV0cz0iJChJbnREaXIpcHl0aG9uM3N0dWIuZGVmIj4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgPF9EZWZMaW5lcyBSZW1vdmU9IkAoX0RlZkxpbmVzKSIgLz4KKyAgICAgIDxfTGluZXMgUmVtb3ZlPSJAKF9MaW5lcykiIC8+CisgICAgPC9JdGVtR3JvdXA+CisgICAgPFJlYWRMaW5lc0Zyb21GaWxlIEZpbGU9Ii4uXFBDXHB5dGhvbjMuZGVmIj4KKyAgICAgIDxPdXRwdXQgVGFza1BhcmFtZXRlcj0iTGluZXMiIEl0ZW1OYW1lPSJfRGVmTGluZXMiIC8+CisgICAgPC9SZWFkTGluZXNGcm9tRmlsZT4KKyAgICA8UHJvcGVydHlHcm91cD4KKyAgICAgIDxfUGF0dGVybj5eW1x3Ll0rPS4rP1wuKFteIF0rKS4qJDwvX1BhdHRlcm4+CisgICAgICA8X1N1Yj4kMTwvX1N1Yj4KKyAgICA8L1Byb3BlcnR5R3JvdXA+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgIDxfTGluZXMgSW5jbHVkZT0iRVhQT1JUUyIgLz4KKyAgICAgIDxfU3ltYm9scyBJbmNsdWRlPSJAKF9EZWZMaW5lcykiIENvbmRpdGlvbj0iJChbU3lzdGVtLlRleHQuUmVndWxhckV4cHJlc3Npb25zLlJlZ2V4XTo6SXNNYXRjaChgJShJZGVudGl0eSlgLCBgJChfUGF0dGVybilgKSkiPgorICAgICAgICA8U3ltYm9sPiQoW1N5c3RlbS5UZXh0LlJlZ3VsYXJFeHByZXNzaW9ucy5SZWdleF06OlJlcGxhY2UoYCUoSWRlbnRpdHkpYCwgYCQoX1BhdHRlcm4pYCwgYCQoX1N1YilgKSk8L1N5bWJvbD4KKyAgICAgIDwvX1N5bWJvbHM+CisgICAgICA8X0xpbmVzIEluY2x1ZGU9IkAoX1N5bWJvbHMtPiclKFN5bWJvbCknKSIgLz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICA8TWFrZURpciBEaXJlY3Rvcmllcz0iJChJbnREaXIpIiAvPgorICAgIDxXcml0ZUxpbmVzVG9GaWxlIEZpbGU9IiQoSW50RGlyKXB5dGhvbjNzdHViLmRlZiIgTGluZXM9IkAoX0xpbmVzKSIgLz4KKyAgPC9UYXJnZXQ+CisgIDxUYXJnZXQgTmFtZT0iX0NsZWFuU3R1YkRlZiIgQmVmb3JlVGFyZ2V0cz0iQ29yZUNsZWFuIj4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgPENsZWFuIEluY2x1ZGU9IiQoSW50RGlyKXB5dGhvbjNzdHViLmRlZiIgLz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgPC9UYXJnZXQ+CiA8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvUENidWlsZC9weXRob25jb3JlLnZjeHByb2ogYi9QQ2J1aWxkL3B5dGhvbmNvcmUudmN4cHJvagppbmRleCA2MDIxY2Q3Li40NzlmNjhkIDEwMDY0NAotLS0gYS9QQ2J1aWxkL3B5dGhvbmNvcmUudmN4cHJvagorKysgYi9QQ2J1aWxkL3B5dGhvbmNvcmUudmN4cHJvagpAQCAtMzgsNDA1ICszOCw0MSBAQAogICAgIDxQcm9qZWN0R3VpZD57Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fTwvUHJvamVjdEd1aWQ+CiAgICAgPFJvb3ROYW1lc3BhY2U+cHl0aG9uY29yZTwvUm9vdE5hbWVzcGFjZT4KICAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9InB5dGhvbi5wcm9wcyIgLz4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VPZk1mYz5mYWxzZTwvVXNlT2ZNZmM+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPFVzZU9mTWZjPmZhbHNlPC9Vc2VPZk1mYz4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VPZk1mYz5mYWxzZTwvVXNlT2ZNZmM+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPFVzZU9mTWZjPmZhbHNlPC9Vc2VPZk1mYz4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VPZk1mYz5mYWxzZTwvVXNlT2ZNZmM+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgogICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+CiAgICAgPFVzZU9mTWZjPmZhbHNlPC9Vc2VPZk1mYz4KICAgPC9Qcm9wZXJ0eUdyb3VwPgogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25TZXR0aW5ncyI+CiAgIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KKyAgPFByb3BlcnR5R3JvdXA+CisgICAgPE1ha2VWZXJzaW9uSW5mb0JlZm9yZVRhcmdldD5DbENvbXBpbGU8L01ha2VWZXJzaW9uSW5mb0JlZm9yZVRhcmdldD4KKyAgICA8S2lsbFB5dGhvbj50cnVlPC9LaWxsUHl0aG9uPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgogICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InJlbGVhc2UucHJvcHMiIC8+CiAgICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGdpbnN0cnVtZW50LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iZGVidWcucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InJlbGVhc2UucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icmVsZWFzZS5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGdpbnN0cnVtZW50LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9ImRlYnVnLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icmVsZWFzZS5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KICAgPC9JbXBvcnRHcm91cD4KICAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNyb3MiIC8+CiAgIDxQcm9wZXJ0eUdyb3VwPgogICAgIDxfUHJvamVjdEZpbGVWZXJzaW9uPjEwLjAuMzAzMTkuMTwvX1Byb2plY3RGaWxlVmVyc2lvbj4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+Ci0gICAgPFRhcmdldE5hbWUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPiQoUHlEbGxOYW1lKTwvVGFyZ2V0TmFtZT4KLSAgICA8VGFyZ2V0TmFtZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPiQoUHlEbGxOYW1lKTwvVGFyZ2V0TmFtZT4KLSAgICA8VGFyZ2V0TmFtZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+JChQeURsbE5hbWUpPC9UYXJnZXROYW1lPgotICAgIDxUYXJnZXROYW1lIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPiQoUHlEbGxOYW1lKTwvVGFyZ2V0TmFtZT4KLSAgICA8VGFyZ2V0TmFtZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPiQoUHlEbGxOYW1lKTwvVGFyZ2V0TmFtZT4KLSAgICA8VGFyZ2V0TmFtZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj4kKFB5RGxsTmFtZSk8L1RhcmdldE5hbWU+Ci0gICAgPFRhcmdldE5hbWUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj4kKFB5RGxsTmFtZSk8L1RhcmdldE5hbWU+Ci0gICAgPFRhcmdldE5hbWUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPiQoUHlEbGxOYW1lKTwvVGFyZ2V0TmFtZT4KKyAgICA8VGFyZ2V0TmFtZT4kKFB5RGxsTmFtZSk8L1RhcmdldE5hbWU+CiAgIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+CisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxDdXN0b21CdWlsZEJlZm9yZVRhcmdldHM+TGluazwvQ3VzdG9tQnVpbGRCZWZvcmVUYXJnZXRzPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgogICAgIDxDbENvbXBpbGU+CiAgICAgICA8QWRkaXRpb25hbE9wdGlvbnM+L1ptMjAwICAlKEFkZGl0aW9uYWxPcHRpb25zKTwvQWRkaXRpb25hbE9wdGlvbnM+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlxQeXRob247Li5cTW9kdWxlc1x6bGliOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X1VTUkRMTDtQeV9CVUlMRF9DT1JFO1B5X0VOQUJMRV9TSEFSRUQ7V0lOMzI7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWRETEw8L1J1bnRpbWVMaWJyYXJ5PgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChQeVNvdXJjZVBhdGgpUHl0aG9uOyQoUHlTb3VyY2VQYXRoKU1vZHVsZXNcemxpYjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9VU1JETEw7UHlfQlVJTERfQ09SRTtQeV9FTkFCTEVfU0hBUkVEO01TX0RMTF9JRD0iJChTeXNXaW5WZXIpIjslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPFJlc291cmNlQ29tcGlsZT4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5OREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPEN1bHR1cmU+MHgwNDA5PC9DdWx0dXJlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cSW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgIDwvUmVzb3VyY2VDb21waWxlPgotICAgIDxQcmVMaW5rRXZlbnQ+Ci0gICAgICA8TWVzc2FnZT5HZW5lcmF0ZSBidWlsZCBpbmZvcm1hdGlvbi4uLjwvTWVzc2FnZT4KLSAgICAgIDxDb21tYW5kPiIkKFNvbHV0aW9uRGlyKW1ha2VfYnVpbGRpbmZvLmV4ZSIgUmVsZWFzZSAiJChJbnREaXIpXCI8L0NvbW1hbmQ+Ci0gICAgPC9QcmVMaW5rRXZlbnQ+CiAgICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4kKEludERpcilnZXRidWlsZGluZm8ubzslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpJChQeURsbE5hbWUpLmRsbDwvT3V0cHV0RmlsZT4KLSAgICAgIDxJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+bGliYzslKElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcyk8L0lnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz4KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KICAgICAgIDxCYXNlQWRkcmVzcz4weDFlMDAwMDAwPC9CYXNlQWRkcmVzcz4KICAgICA8L0xpbms+Ci0gICAgPFByZUJ1aWxkRXZlbnQ+Ci0gICAgICA8Q29tbWFuZD4kKEtpbGxQeXRob25FeGUpCi1JRiAlRVJST1JMRVZFTCUgTkVRIDAgKAotICAgIGVjaG8ga2lsbF9weXRob246IHdhcl5uaW5nOiBjb3VsZCBub3Qga2lsbCBydW5uaW5nIFB5dGhvbnMsIGV4aXQgY29kZSAlRVJST1JMRVZFTCUKLSAgICBleGl0IC9iIDAKLSk8L0NvbW1hbmQ+Ci0gICAgPC9QcmVCdWlsZEV2ZW50PgotICAgIDxQcmVCdWlsZEV2ZW50PgotICAgICAgPE1lc3NhZ2U+S2lsbGluZyBhbnkgcnVubmluZyAkKFB5dGhvbkV4ZSkgaW5zdGFuY2VzLi4uPC9NZXNzYWdlPgotICAgIDwvUHJlQnVpbGRFdmVudD4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsT3B0aW9ucz4vWm0yMDAgICUoQWRkaXRpb25hbE9wdGlvbnMpPC9BZGRpdGlvbmFsT3B0aW9ucz4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXFB5dGhvbjsuLlxNb2R1bGVzXHpsaWI7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fVVNSRExMO1B5X0JVSUxEX0NPUkU7UHlfRU5BQkxFX1NIQVJFRDtXSU4zMjslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERMTDwvUnVudGltZUxpYnJhcnk+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPFJlc291cmNlQ29tcGlsZT4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5OREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPEN1bHR1cmU+MHgwNDA5PC9DdWx0dXJlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cSW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgIDwvUmVzb3VyY2VDb21waWxlPgotICAgIDxQcmVMaW5rRXZlbnQ+Ci0gICAgICA8TWVzc2FnZT5HZW5lcmF0ZSBidWlsZCBpbmZvcm1hdGlvbi4uLjwvTWVzc2FnZT4KLSAgICAgIDxDb21tYW5kPiIkKFNvbHV0aW9uRGlyKW1ha2VfYnVpbGRpbmZvLmV4ZSIgUmVsZWFzZSAiJChJbnREaXIpXCI8L0NvbW1hbmQ+Ci0gICAgPC9QcmVMaW5rRXZlbnQ+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4kKEludERpcilnZXRidWlsZGluZm8ubzslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz5saWJjOyUoSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzKTwvSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWUwMDAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgICA8UHJlQnVpbGRFdmVudD4KLSAgICAgIDxDb21tYW5kPiQoS2lsbFB5dGhvbkV4ZSkKLUlGICVFUlJPUkxFVkVMJSBORVEgMCAoCi0gICAgZWNobyBraWxsX3B5dGhvbjogd2FyXm5pbmc6IGNvdWxkIG5vdCBraWxsIHJ1bm5pbmcgUHl0aG9ucywgZXhpdCBjb2RlICVFUlJPUkxFVkVMJQotICAgIGV4aXQgL2IgMAotKTwvQ29tbWFuZD4KLSAgICA8L1ByZUJ1aWxkRXZlbnQ+Ci0gICAgPFByZUJ1aWxkRXZlbnQ+Ci0gICAgICA8TWVzc2FnZT5LaWxsaW5nIGFueSBydW5uaW5nICQoUHl0aG9uRXhlKSBpbnN0YW5jZXMuLi48L01lc3NhZ2U+Ci0gICAgPC9QcmVCdWlsZEV2ZW50PgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxPcHRpb25zPi9abTIwMCAgJShBZGRpdGlvbmFsT3B0aW9ucyk8L0FkZGl0aW9uYWxPcHRpb25zPgotICAgICAgPE9wdGltaXphdGlvbj5EaXNhYmxlZDwvT3B0aW1pemF0aW9uPgotICAgICAgPElubGluZUZ1bmN0aW9uRXhwYW5zaW9uPkRlZmF1bHQ8L0lubGluZUZ1bmN0aW9uRXhwYW5zaW9uPgotICAgICAgPEludHJpbnNpY0Z1bmN0aW9ucz5mYWxzZTwvSW50cmluc2ljRnVuY3Rpb25zPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cUHl0aG9uOy4uXE1vZHVsZXNcemxpYjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9VU1JETEw7UHlfQlVJTERfQ09SRTtQeV9FTkFCTEVfU0hBUkVEO1dJTjMyOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRGVidWdETEw8L1J1bnRpbWVMaWJyYXJ5PgotICAgIDwvQ2xDb21waWxlPgotICAgIDxSZXNvdXJjZUNvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0RFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxDdWx0dXJlPjB4MDQwOTwvQ3VsdHVyZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXEluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICA8L1Jlc291cmNlQ29tcGlsZT4KLSAgICA8UHJlTGlua0V2ZW50PgotICAgICAgPE1lc3NhZ2U+R2VuZXJhdGUgYnVpbGQgaW5mb3JtYXRpb24uLi48L01lc3NhZ2U+Ci0gICAgICA8Q29tbWFuZD4iJChTb2x1dGlvbkRpciltYWtlX2J1aWxkaW5mby5leGUiIERlYnVnICIkKEludERpcikiPC9Db21tYW5kPgotICAgIDwvUHJlTGlua0V2ZW50PgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JChJbnREaXIpZ2V0YnVpbGRpbmZvLm87JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+bGliYzslKElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcyk8L0lnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFlMDAwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gICAgPFByZUJ1aWxkRXZlbnQ+Ci0gICAgICA8Q29tbWFuZD4kKEtpbGxQeXRob25FeGUpCi1JRiAlRVJST1JMRVZFTCUgTkVRIDAgKAotICAgIGVjaG8ga2lsbF9weXRob246IHdhcl5uaW5nOiBjb3VsZCBub3Qga2lsbCBydW5uaW5nIFB5dGhvbnMsIGV4aXQgY29kZSAlRVJST1JMRVZFTCUKLSAgICBleGl0IC9iIDAKLSk8L0NvbW1hbmQ+Ci0gICAgPC9QcmVCdWlsZEV2ZW50PgotICAgIDxQcmVCdWlsZEV2ZW50PgotICAgICAgPE1lc3NhZ2U+S2lsbGluZyBhbnkgcnVubmluZyAkKFB5dGhvbkV4ZSkgaW5zdGFuY2VzLi4uPC9NZXNzYWdlPgotICAgIDwvUHJlQnVpbGRFdmVudD4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbE9wdGlvbnM+L1ptMjAwICAlKEFkZGl0aW9uYWxPcHRpb25zKTwvQWRkaXRpb25hbE9wdGlvbnM+Ci0gICAgICA8T3B0aW1pemF0aW9uPkRpc2FibGVkPC9PcHRpbWl6YXRpb24+Ci0gICAgICA8SW5saW5lRnVuY3Rpb25FeHBhbnNpb24+RGVmYXVsdDwvSW5saW5lRnVuY3Rpb25FeHBhbnNpb24+Ci0gICAgICA8SW50cmluc2ljRnVuY3Rpb25zPmZhbHNlPC9JbnRyaW5zaWNGdW5jdGlvbnM+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlxQeXRob247Li5cTW9kdWxlc1x6bGliOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X1VTUkRMTDtQeV9CVUlMRF9DT1JFO1B5X0VOQUJMRV9TSEFSRUQ7V0lOMzI7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWREZWJ1Z0RMTDwvUnVudGltZUxpYnJhcnk+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPFJlc291cmNlQ29tcGlsZT4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPEN1bHR1cmU+MHgwNDA5PC9DdWx0dXJlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cSW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgIDwvUmVzb3VyY2VDb21waWxlPgotICAgIDxQcmVMaW5rRXZlbnQ+Ci0gICAgICA8TWVzc2FnZT5HZW5lcmF0ZSBidWlsZCBpbmZvcm1hdGlvbi4uLjwvTWVzc2FnZT4KLSAgICAgIDxDb21tYW5kPiIkKFNvbHV0aW9uRGlyKW1ha2VfYnVpbGRpbmZvLmV4ZSIgRGVidWcgIiQoSW50RGlyKSI8L0NvbW1hbmQ+Ci0gICAgPC9QcmVMaW5rRXZlbnQ+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4kKEludERpcilnZXRidWlsZGluZm8ubzslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz5saWJjOyUoSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzKTwvSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWUwMDAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgICA8UHJlQnVpbGRFdmVudD4KLSAgICAgIDxDb21tYW5kPiQoS2lsbFB5dGhvbkV4ZSkKLUlGICVFUlJPUkxFVkVMJSBORVEgMCAoCi0gICAgZWNobyBraWxsX3B5dGhvbjogd2FyXm5pbmc6IGNvdWxkIG5vdCBraWxsIHJ1bm5pbmcgUHl0aG9ucywgZXhpdCBjb2RlICVFUlJPUkxFVkVMJQotICAgIGV4aXQgL2IgMAotKTwvQ29tbWFuZD4KLSAgICA8L1ByZUJ1aWxkRXZlbnQ+Ci0gICAgPFByZUJ1aWxkRXZlbnQ+Ci0gICAgICA8TWVzc2FnZT5LaWxsaW5nIGFueSBydW5uaW5nICQoUHl0aG9uRXhlKSBpbnN0YW5jZXMuLi48L01lc3NhZ2U+Ci0gICAgPC9QcmVCdWlsZEV2ZW50PgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsT3B0aW9ucz4vWm0yMDAgICUoQWRkaXRpb25hbE9wdGlvbnMpPC9BZGRpdGlvbmFsT3B0aW9ucz4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXFB5dGhvbjsuLlxNb2R1bGVzXHpsaWI7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fVVNSRExMO1B5X0JVSUxEX0NPUkU7UHlfRU5BQkxFX1NIQVJFRDtXSU4zMjslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERMTDwvUnVudGltZUxpYnJhcnk+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPFJlc291cmNlQ29tcGlsZT4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5OREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPEN1bHR1cmU+MHgwNDA5PC9DdWx0dXJlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cSW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgIDwvUmVzb3VyY2VDb21waWxlPgotICAgIDxQcmVMaW5rRXZlbnQ+Ci0gICAgICA8TWVzc2FnZT5HZW5lcmF0ZSBidWlsZCBpbmZvcm1hdGlvbi4uLjwvTWVzc2FnZT4KLSAgICAgIDxDb21tYW5kPiIkKFNvbHV0aW9uRGlyKW1ha2VfYnVpbGRpbmZvLmV4ZSIgUmVsZWFzZSAiJChJbnREaXIpXCI8L0NvbW1hbmQ+Ci0gICAgPC9QcmVMaW5rRXZlbnQ+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4kKEludERpcilnZXRidWlsZGluZm8ubzslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpJChQeURsbE5hbWUpLmRsbDwvT3V0cHV0RmlsZT4KLSAgICAgIDxJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+bGliYzslKElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcyk8L0lnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFlMDAwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gICAgPFByZUJ1aWxkRXZlbnQ+Ci0gICAgICA8Q29tbWFuZD4kKEtpbGxQeXRob25FeGUpCi1JRiAlRVJST1JMRVZFTCUgTkVRIDAgKAotICAgIGVjaG8ga2lsbF9weXRob246IHdhcl5uaW5nOiBjb3VsZCBub3Qga2lsbCBydW5uaW5nIFB5dGhvbnMsIGV4aXQgY29kZSAlRVJST1JMRVZFTCUKLSAgICBleGl0IC9iIDAKLSk8L0NvbW1hbmQ+Ci0gICAgPC9QcmVCdWlsZEV2ZW50PgotICAgIDxQcmVCdWlsZEV2ZW50PgotICAgICAgPE1lc3NhZ2U+S2lsbGluZyBhbnkgcnVubmluZyAkKFB5dGhvbkV4ZSkgaW5zdGFuY2VzLi4uPC9NZXNzYWdlPgotICAgIDwvUHJlQnVpbGRFdmVudD4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxPcHRpb25zPi9abTIwMCAgJShBZGRpdGlvbmFsT3B0aW9ucyk8L0FkZGl0aW9uYWxPcHRpb25zPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cUHl0aG9uOy4uXE1vZHVsZXNcemxpYjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9VU1JETEw7UHlfQlVJTERfQ09SRTtQeV9FTkFCTEVfU0hBUkVEO1dJTjMyOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRExMPC9SdW50aW1lTGlicmFyeT4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8UmVzb3VyY2VDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPk5ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8Q3VsdHVyZT4weDA0MDk8L0N1bHR1cmU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlxJbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgPC9SZXNvdXJjZUNvbXBpbGU+Ci0gICAgPFByZUxpbmtFdmVudD4KLSAgICAgIDxNZXNzYWdlPkdlbmVyYXRlIGJ1aWxkIGluZm9ybWF0aW9uLi4uPC9NZXNzYWdlPgotICAgICAgPENvbW1hbmQ+IiQoU29sdXRpb25EaXIpbWFrZV9idWlsZGluZm8uZXhlIiBSZWxlYXNlICIkKEludERpcilcIjwvQ29tbWFuZD4KLSAgICA8L1ByZUxpbmtFdmVudD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiQoSW50RGlyKWdldGJ1aWxkaW5mby5vOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8SWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPmxpYmM7JShJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXMpPC9JZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZTAwMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgICA8UHJlQnVpbGRFdmVudD4KLSAgICAgIDxDb21tYW5kPiQoS2lsbFB5dGhvbkV4ZSkKLUlGICVFUlJPUkxFVkVMJSBORVEgMCAoCi0gICAgZWNobyBraWxsX3B5dGhvbjogd2FyXm5pbmc6IGNvdWxkIG5vdCBraWxsIHJ1bm5pbmcgUHl0aG9ucywgZXhpdCBjb2RlICVFUlJPUkxFVkVMJQotICAgIGV4aXQgL2IgMAotKTwvQ29tbWFuZD4KLSAgICA8L1ByZUJ1aWxkRXZlbnQ+Ci0gICAgPFByZUJ1aWxkRXZlbnQ+Ci0gICAgICA8TWVzc2FnZT5LaWxsaW5nIGFueSBydW5uaW5nICQoUHl0aG9uRXhlKSBpbnN0YW5jZXMuLi48L01lc3NhZ2U+Ci0gICAgPC9QcmVCdWlsZEV2ZW50PgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxPcHRpb25zPi9abTIwMCAgJShBZGRpdGlvbmFsT3B0aW9ucyk8L0FkZGl0aW9uYWxPcHRpb25zPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cUHl0aG9uOy4uXE1vZHVsZXNcemxpYjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9VU1JETEw7UHlfQlVJTERfQ09SRTtQeV9FTkFCTEVfU0hBUkVEO1dJTjMyOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRExMPC9SdW50aW1lTGlicmFyeT4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8UmVzb3VyY2VDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPk5ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8Q3VsdHVyZT4weDA0MDk8L0N1bHR1cmU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlxJbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgPC9SZXNvdXJjZUNvbXBpbGU+Ci0gICAgPFByZUxpbmtFdmVudD4KLSAgICAgIDxNZXNzYWdlPkdlbmVyYXRlIGJ1aWxkIGluZm9ybWF0aW9uLi4uPC9NZXNzYWdlPgotICAgICAgPENvbW1hbmQ+IiQoU29sdXRpb25EaXIpbWFrZV9idWlsZGluZm8uZXhlIiBSZWxlYXNlICIkKEludERpcilcIjwvQ29tbWFuZD4KLSAgICA8L1ByZUxpbmtFdmVudD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiQoSW50RGlyKWdldGJ1aWxkaW5mby5vOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8T3V0cHV0RmlsZT4kKE91dERpcikkKFB5RGxsTmFtZSkuZGxsPC9PdXRwdXRGaWxlPgotICAgICAgPElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz5saWJjOyUoSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzKTwvSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWUwMDAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgICA8UHJlQnVpbGRFdmVudD4KLSAgICAgIDxDb21tYW5kPiQoS2lsbFB5dGhvbkV4ZSkKLUlGICVFUlJPUkxFVkVMJSBORVEgMCAoCi0gICAgZWNobyBraWxsX3B5dGhvbjogd2FyXm5pbmc6IGNvdWxkIG5vdCBraWxsIHJ1bm5pbmcgUHl0aG9ucywgZXhpdCBjb2RlICVFUlJPUkxFVkVMJQotICAgIGV4aXQgL2IgMAotKTwvQ29tbWFuZD4KLSAgICA8L1ByZUJ1aWxkRXZlbnQ+Ci0gICAgPFByZUJ1aWxkRXZlbnQ+Ci0gICAgICA8TWVzc2FnZT5LaWxsaW5nIGFueSBydW5uaW5nICQoUHl0aG9uRXhlKSBpbnN0YW5jZXMuLi48L01lc3NhZ2U+Ci0gICAgPC9QcmVCdWlsZEV2ZW50PgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsT3B0aW9ucz4vWm0yMDAgICUoQWRkaXRpb25hbE9wdGlvbnMpPC9BZGRpdGlvbmFsT3B0aW9ucz4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXFB5dGhvbjsuLlxNb2R1bGVzXHpsaWI7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fVVNSRExMO1B5X0JVSUxEX0NPUkU7UHlfRU5BQkxFX1NIQVJFRDtXSU4zMjslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERMTDwvUnVudGltZUxpYnJhcnk+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPFJlc291cmNlQ29tcGlsZT4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5OREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPEN1bHR1cmU+MHgwNDA5PC9DdWx0dXJlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cSW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgIDwvUmVzb3VyY2VDb21waWxlPgotICAgIDxQcmVMaW5rRXZlbnQ+Ci0gICAgICA8TWVzc2FnZT5HZW5lcmF0ZSBidWlsZCBpbmZvcm1hdGlvbi4uLjwvTWVzc2FnZT4KLSAgICAgIDxDb21tYW5kPiIkKFNvbHV0aW9uRGlyKW1ha2VfYnVpbGRpbmZvLmV4ZSIgUmVsZWFzZSAiJChJbnREaXIpXCI8L0NvbW1hbmQ+Ci0gICAgPC9QcmVMaW5rRXZlbnQ+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4kKEludERpcilnZXRidWlsZGluZm8ubzslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz5saWJjOyUoSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzKTwvSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWUwMDAwMDA8L0Jhc2VBZGRyZXNzPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gICAgPFByZUJ1aWxkRXZlbnQ+Ci0gICAgICA8Q29tbWFuZD4kKEtpbGxQeXRob25FeGUpCi1JRiAlRVJST1JMRVZFTCUgTkVRIDAgKAotICAgIGVjaG8ga2lsbF9weXRob246IHdhcl5uaW5nOiBjb3VsZCBub3Qga2lsbCBydW5uaW5nIFB5dGhvbnMsIGV4aXQgY29kZSAlRVJST1JMRVZFTCUKLSAgICBleGl0IC9iIDAKLSk8L0NvbW1hbmQ+Ci0gICAgPC9QcmVCdWlsZEV2ZW50PgotICAgIDxQcmVCdWlsZEV2ZW50PgotICAgICAgPE1lc3NhZ2U+S2lsbGluZyBhbnkgcnVubmluZyAkKFB5dGhvbkV4ZSkgaW5zdGFuY2VzLi4uPC9NZXNzYWdlPgotICAgIDwvUHJlQnVpbGRFdmVudD4KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgogICA8SXRlbUdyb3VwPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cSW5jbHVkZVxhYnN0cmFjdC5oIiAvPgpAQCAtNTAyLDYgKzEzOCw3IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxJbmNsdWRlXHB5ZXhwYXQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEluY2x1ZGVccHlmcGUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEluY2x1ZGVccHlnZXRvcHQuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEluY2x1ZGVccHlsaWZlY3ljbGUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEluY2x1ZGVccHltYXRoLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxJbmNsdWRlXHB5dGltZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cSW5jbHVkZVxweW1hY3JvLmgiIC8+CkBAIC02OTgsNyArMzM1LDYgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFBhcnNlclx0b2tlbml6ZXIuYyIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFBDXHdpbnJlZy5jIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cUENcY29uZmlnLmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxQQ1xkbF9udC5jIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cUENcZ2V0cGF0aHAuYyIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFBDXG1zdmNydG1vZHVsZS5jIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cUHl0aG9uXHB5aGFzaC5jIiAvPgpAQCAtNzM0LDYgKzM3MCw3IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxQeXRob25ccHlhcmVuYS5jIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cUHl0aG9uXHB5Y3R5cGUuYyIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFB5dGhvblxweWZwZS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cUHl0aG9uXHB5bGlmZWN5Y2xlLmMiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxQeXRob25ccHltYXRoLmMiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxQeXRob25ccHl0aW1lLmMiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxQeXRob25ccHlzdGF0ZS5jIiAvPgpAQCAtNzQ5LDIzICszODYsMzQgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFB5dGhvblx0cmFjZWJhY2suYyIgLz4KICAgPC9JdGVtR3JvdXA+CiAgIDxJdGVtR3JvdXA+Ci0gICAgPFJlc291cmNlQ29tcGlsZSBJbmNsdWRlPSIuLlxQQ1xweXRob25fbnQucmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxQQ1xkbF9udC5jIiAvPgogICA8L0l0ZW1Hcm91cD4KICAgPEl0ZW1Hcm91cD4KLSAgICA8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPSJraWxsX3B5dGhvbi52Y3hwcm9qIj4KLSAgICAgIDxQcm9qZWN0Pns2ZGUxMDc0NC1lMzk2LTQwYTUtYjRlMi0xYjY5YWE3YzhkMzF9PC9Qcm9qZWN0PgotICAgICAgPFJlZmVyZW5jZU91dHB1dEFzc2VtYmx5PmZhbHNlPC9SZWZlcmVuY2VPdXRwdXRBc3NlbWJseT4KLSAgICA8L1Byb2plY3RSZWZlcmVuY2U+Ci0gICAgPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0ibWFrZV9idWlsZGluZm8udmN4cHJvaiI+Ci0gICAgICA8UHJvamVjdD57YzczZjBlYzEtMzU4Yi00MTc3LTk0MGYtMDg0NmFjOGIwNGNkfTwvUHJvamVjdD4KLSAgICAgIDxSZWZlcmVuY2VPdXRwdXRBc3NlbWJseT5mYWxzZTwvUmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+Ci0gICAgPC9Qcm9qZWN0UmVmZXJlbmNlPgotICAgIDxQcm9qZWN0UmVmZXJlbmNlIEluY2x1ZGU9Im1ha2VfdmVyc2lvbmluZm8udmN4cHJvaiI+Ci0gICAgICA8UHJvamVjdD57ZjBlMDU0MWUtZjE3ZC00MzBiLTk3YzQtOTNhZGYwZGQyODRlfTwvUHJvamVjdD4KLSAgICAgIDxSZWZlcmVuY2VPdXRwdXRBc3NlbWJseT5mYWxzZTwvUmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+Ci0gICAgPC9Qcm9qZWN0UmVmZXJlbmNlPgorICAgIDxSZXNvdXJjZUNvbXBpbGUgSW5jbHVkZT0iLi5cUENccHl0aG9uX250LnJjIiAvPgogICA8L0l0ZW1Hcm91cD4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4KICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25UYXJnZXRzIj4KICAgPC9JbXBvcnRHcm91cD4KLTwvUHJvamVjdD4KKyAgCisgIDxUYXJnZXQgTmFtZT0iX0dldEJ1aWxkSW5mbyIgQmVmb3JlVGFyZ2V0cz0iUHJlcGFyZUZvckJ1aWxkIj4KKyAgICA8RXhlYyBDb21tYW5kPSdoZyBpZCAtYiAmZ3Q7ICIkKEludERpciloZ2JyYW5jaC50eHQiJyBDb250aW51ZU9uRXJyb3I9InRydWUiIC8+CisgICAgPEV4ZWMgQ29tbWFuZD0naGcgaWQgLWkgJmd0OyAiJChJbnREaXIpaGd2ZXJzaW9uLnR4dCInIENvbnRpbnVlT25FcnJvcj0idHJ1ZSIgLz4KKyAgICA8RXhlYyBDb21tYW5kPSdoZyBpZCAtdCAmZ3Q7ICIkKEludERpciloZ3RhZy50eHQiJyBDb250aW51ZU9uRXJyb3I9InRydWUiIC8+CisgICAgCisgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICA8SGdCcmFuY2ggQ29uZGl0aW9uPSJFeGlzdHMoJyQoSW50RGlyKWhnYnJhbmNoLnR4dCcpIj4kKFtTeXN0ZW0uSU8uRmlsZV06OlJlYWRBbGxUZXh0KCckKEludERpciloZ2JyYW5jaC50eHQnKS5UcmltKCkpPC9IZ0JyYW5jaD4KKyAgICAgIDxIZ1ZlcnNpb24gQ29uZGl0aW9uPSJFeGlzdHMoJyQoSW50RGlyKWhndmVyc2lvbi50eHQnKSI+JChbU3lzdGVtLklPLkZpbGVdOjpSZWFkQWxsVGV4dCgnJChJbnREaXIpaGd2ZXJzaW9uLnR4dCcpLlRyaW0oKSk8L0hnVmVyc2lvbj4KKyAgICAgIDxIZ1RhZyBDb25kaXRpb249IkV4aXN0cygnJChJbnREaXIpaGd0YWcudHh0JykiPiQoW1N5c3RlbS5JTy5GaWxlXTo6UmVhZEFsbFRleHQoJyQoSW50RGlyKWhndGFnLnR4dCcpLlRyaW0oKSk8L0hnVGFnPgorICAgIDwvUHJvcGVydHlHcm91cD4KKyAgICAKKyAgICA8SXRlbUdyb3VwPgorICAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxNb2R1bGVzXGdldGJ1aWxkaW5mby5jIj4KKyAgICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPkhHVkVSU0lPTj0iJChIZ1ZlcnNpb24pIjtIR1RBRz0iJChIZ1RhZykiO0hHQlJBTkNIPSIkKEhnQnJhbmNoKSI7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPC9DbENvbXBpbGU+CisgICAgPC9JdGVtR3JvdXA+CisgIDwvVGFyZ2V0PgorCisgIDxUYXJnZXQgTmFtZT0iX1dhcm5BYm91dFRvb2xzZXQiIEJlZm9yZVRhcmdldHM9IlByZXBhcmVGb3JCdWlsZCIgQ29uZGl0aW9uPSIkKFBsYXRmb3JtVG9vbHNldCkgIT0gJ3YxNDAnIj4KKyAgICA8V2FybmluZyBUZXh0PSJUb29sc2V0ICQoUGxhdGZvcm1Ub29sc2V0KSBpcyBub3QgdXNlZCBmb3Igb2ZmaWNpYWwgYnVpbGRzLiBZb3VyIGJ1aWxkIG1heSBoYXZlIGVycm9ycyBvciBpbmNvbXBhdGliaWxpdGllcy4iIC8+CisgIDwvVGFyZ2V0PgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1BDYnVpbGQvcHl0aG9uY29yZS52Y3hwcm9qLmZpbHRlcnMgYi9QQ2J1aWxkL3B5dGhvbmNvcmUudmN4cHJvai5maWx0ZXJzCmluZGV4IDhjNjUyNDcuLjE3NDE0MGEgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQvcHl0aG9uY29yZS52Y3hwcm9qLmZpbHRlcnMKKysrIGIvUENidWlsZC9weXRob25jb3JlLnZjeHByb2ouZmlsdGVycwpAQCAtMjE2LDYgKzIxNiw5IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxJbmNsdWRlXHB5Z2V0b3B0LmgiPgogICAgICAgPEZpbHRlcj5JbmNsdWRlPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxJbmNsdWRlXHB5bGlmZWN5Y2xlLmgiPgorICAgICAgPEZpbHRlcj5JbmNsdWRlPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxJbmNsdWRlXHB5bWF0aC5oIj4KICAgICAgIDxGaWx0ZXI+SW5jbHVkZTwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpAQCAtODkwLDYgKzg5Myw5IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxQeXRob25ccHlmcGUuYyI+CiAgICAgICA8RmlsdGVyPlB5dGhvbjwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cUHl0aG9uXHB5bGlmZWN5Y2xlLmMiPgorICAgICAgPEZpbHRlcj5QeXRob248L0ZpbHRlcj4KKyAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFB5dGhvblxweW1hdGguYyI+CiAgICAgICA8RmlsdGVyPlB5dGhvbjwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgpkaWZmIC0tZ2l0IGEvUENidWlsZC9weXRob253LnZjeHByb2ogYi9QQ2J1aWxkL3B5dGhvbncudmN4cHJvagppbmRleCAxMjE0NTY5Li5iMGEyMDlhIDEwMDY0NAotLS0gYS9QQ2J1aWxkL3B5dGhvbncudmN4cHJvagorKysgYi9QQ2J1aWxkL3B5dGhvbncudmN4cHJvagpAQCAtMzYsMjk2ICszNiwzMCBAQAogICA8L0l0ZW1Hcm91cD4KICAgPFByb3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgogICAgIDxQcm9qZWN0R3VpZD57RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfTwvUHJvamVjdEd1aWQ+CisgICAgPE1ha2VWZXJzaW9uSW5mb0JlZm9yZVRhcmdldD5DbENvbXBpbGU8L01ha2VWZXJzaW9uSW5mb0JlZm9yZVRhcmdldD4KKyAgICA8U3VwcG9ydFBHTz5mYWxzZTwvU3VwcG9ydFBHTz4KICAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9InB5dGhvbi5wcm9wcyIgLz4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VPZk1mYz5mYWxzZTwvVXNlT2ZNZmM+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VPZk1mYz5mYWxzZTwvVXNlT2ZNZmM+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VPZk1mYz5mYWxzZTwvVXNlT2ZNZmM+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VPZk1mYz5mYWxzZTwvVXNlT2ZNZmM+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPFVzZU9mTWZjPmZhbHNlPC9Vc2VPZk1mYz4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPFVzZU9mTWZjPmZhbHNlPC9Vc2VPZk1mYz4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgogICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+CiAgICAgPFVzZU9mTWZjPmZhbHNlPC9Vc2VPZk1mYz4KICAgPC9Qcm9wZXJ0eUdyb3VwPgogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25TZXR0aW5ncyI+CiAgIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KKyAgPEltcG9ydEdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgogICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icmVsZWFzZS5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InJlbGVhc2UucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InJlbGVhc2UucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJkZWJ1Zy5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGd1cGRhdGUucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InJlbGVhc2UucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9ImRlYnVnLnByb3BzIiAvPgogICA8L0ltcG9ydEdyb3VwPgogICA8UHJvcGVydHlHcm91cCBMYWJlbD0iVXNlck1hY3JvcyIgLz4KICAgPFByb3BlcnR5R3JvdXA+CiAgICAgPF9Qcm9qZWN0RmlsZVZlcnNpb24+MTAuMC4zMDMxOS4xPC9fUHJvamVjdEZpbGVWZXJzaW9uPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KICAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxPcHRpbWl6YXRpb24+RGlzYWJsZWQ8L09wdGltaXphdGlvbj4KLSAgICAgIDxJbnRyaW5zaWNGdW5jdGlvbnM+ZmFsc2U8L0ludHJpbnNpY0Z1bmN0aW9ucz4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X1dJTkRPV1M7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWREZWJ1Z0RMTDwvUnVudGltZUxpYnJhcnk+Ci0gICAgICA8Q29tcGlsZUFzPkRlZmF1bHQ8L0NvbXBpbGVBcz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8UmVzb3VyY2VDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8Q3VsdHVyZT4weDA0MDk8L0N1bHR1cmU+Ci0gICAgPC9SZXNvdXJjZUNvbXBpbGU+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgogICAgIDxMaW5rPgotICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpcHl0aG9ud19kLmV4ZTwvT3V0cHV0RmlsZT4KICAgICAgIDxTdGFja1Jlc2VydmVTaXplPjIwMDAwMDA8L1N0YWNrUmVzZXJ2ZVNpemU+CiAgICAgICA8QmFzZUFkZHJlc3M+MHgxZDAwMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDg2PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8T3B0aW1pemF0aW9uPkRpc2FibGVkPC9PcHRpbWl6YXRpb24+Ci0gICAgICA8SW50cmluc2ljRnVuY3Rpb25zPmZhbHNlPC9JbnRyaW5zaWNGdW5jdGlvbnM+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4lKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9XSU5ET1dTOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRGVidWdETEw8L1J1bnRpbWVMaWJyYXJ5PgotICAgICAgPENvbXBpbGVBcz5EZWZhdWx0PC9Db21waWxlQXM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPFJlc291cmNlQ29tcGlsZT4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPEN1bHR1cmU+MHgwNDA5PC9DdWx0dXJlPgotICAgIDwvUmVzb3VyY2VDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpcHl0aG9ud19kLmV4ZTwvT3V0cHV0RmlsZT4KLSAgICAgIDxTdGFja1Jlc2VydmVTaXplPjIwMDAwMDA8L1N0YWNrUmVzZXJ2ZVNpemU+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZDAwMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4lKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9XSU5ET1dTOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+Ci0gICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERMTDwvUnVudGltZUxpYnJhcnk+Ci0gICAgICA8RnVuY3Rpb25MZXZlbExpbmtpbmc+dHJ1ZTwvRnVuY3Rpb25MZXZlbExpbmtpbmc+Ci0gICAgICA8Q29tcGlsZUFzPkRlZmF1bHQ8L0NvbXBpbGVBcz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8UmVzb3VyY2VDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPk5ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8Q3VsdHVyZT4weDA0MDk8L0N1bHR1cmU+Ci0gICAgPC9SZXNvdXJjZUNvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8T3V0cHV0RmlsZT4kKE91dERpcilweXRob253LmV4ZTwvT3V0cHV0RmlsZT4KLSAgICAgIDxTdGFja1Jlc2VydmVTaXplPjIwMDAwMDA8L1N0YWNrUmVzZXJ2ZVNpemU+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZDAwMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDg2PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X1dJTkRPV1M7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4KLSAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRExMPC9SdW50aW1lTGlicmFyeT4KLSAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KLSAgICAgIDxDb21waWxlQXM+RGVmYXVsdDwvQ29tcGlsZUFzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxSZXNvdXJjZUNvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+TkRFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxDdWx0dXJlPjB4MDQwOTwvQ3VsdHVyZT4KLSAgICA8L1Jlc291cmNlQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKXB5dGhvbncuZXhlPC9PdXRwdXRGaWxlPgotICAgICAgPFN0YWNrUmVzZXJ2ZVNpemU+MjAwMDAwMDwvU3RhY2tSZXNlcnZlU2l6ZT4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFkMDAwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fV0lORE9XUzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8U3RyaW5nUG9vbGluZz50cnVlPC9TdHJpbmdQb29saW5nPgotICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWRETEw8L1J1bnRpbWVMaWJyYXJ5PgotICAgICAgPEZ1bmN0aW9uTGV2ZWxMaW5raW5nPnRydWU8L0Z1bmN0aW9uTGV2ZWxMaW5raW5nPgotICAgICAgPENvbXBpbGVBcz5EZWZhdWx0PC9Db21waWxlQXM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPFJlc291cmNlQ29tcGlsZT4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5OREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPEN1bHR1cmU+MHgwNDA5PC9DdWx0dXJlPgotICAgIDwvUmVzb3VyY2VDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpcHl0aG9udy5leGU8L091dHB1dEZpbGU+Ci0gICAgICA8U3RhY2tSZXNlcnZlU2l6ZT4yMDAwMDAwPC9TdGFja1Jlc2VydmVTaXplPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWQwMDAwMDA8L0Jhc2VBZGRyZXNzPgotICAgICAgPEltcG9ydExpYnJhcnk+Ci0gICAgICA8L0ltcG9ydExpYnJhcnk+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDg2PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fV0lORE9XUzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8U3RyaW5nUG9vbGluZz50cnVlPC9TdHJpbmdQb29saW5nPgotICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWRETEw8L1J1bnRpbWVMaWJyYXJ5PgotICAgICAgPEZ1bmN0aW9uTGV2ZWxMaW5raW5nPnRydWU8L0Z1bmN0aW9uTGV2ZWxMaW5raW5nPgotICAgICAgPENvbXBpbGVBcz5EZWZhdWx0PC9Db21waWxlQXM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPFJlc291cmNlQ29tcGlsZT4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5OREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPEN1bHR1cmU+MHgwNDA5PC9DdWx0dXJlPgotICAgIDwvUmVzb3VyY2VDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpcHl0aG9udy5leGU8L091dHB1dEZpbGU+Ci0gICAgICA8U3RhY2tSZXNlcnZlU2l6ZT4yMDAwMDAwPC9TdGFja1Jlc2VydmVTaXplPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWQwMDAwMDA8L0Jhc2VBZGRyZXNzPgotICAgICAgPEltcG9ydExpYnJhcnk+Ci0gICAgICA8L0ltcG9ydExpYnJhcnk+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X1dJTkRPV1M7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4KLSAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRExMPC9SdW50aW1lTGlicmFyeT4KLSAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KLSAgICAgIDxDb21waWxlQXM+RGVmYXVsdDwvQ29tcGlsZUFzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxSZXNvdXJjZUNvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+TkRFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxDdWx0dXJlPjB4MDQwOTwvQ3VsdHVyZT4KLSAgICA8L1Jlc291cmNlQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKXB5dGhvbncuZXhlPC9PdXRwdXRGaWxlPgotICAgICAgPFN0YWNrUmVzZXJ2ZVNpemU+MjAwMDAwMDwvU3RhY2tSZXNlcnZlU2l6ZT4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFkMDAwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICAgIDxJbXBvcnRMaWJyYXJ5PgotICAgICAgPC9JbXBvcnRMaWJyYXJ5PgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg4NjwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fV0lORE9XUzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8U3RyaW5nUG9vbGluZz50cnVlPC9TdHJpbmdQb29saW5nPgotICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWRETEw8L1J1bnRpbWVMaWJyYXJ5PgotICAgICAgPEZ1bmN0aW9uTGV2ZWxMaW5raW5nPnRydWU8L0Z1bmN0aW9uTGV2ZWxMaW5raW5nPgotICAgICAgPENvbXBpbGVBcz5EZWZhdWx0PC9Db21waWxlQXM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPFJlc291cmNlQ29tcGlsZT4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5OREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPEN1bHR1cmU+MHgwNDA5PC9DdWx0dXJlPgotICAgIDwvUmVzb3VyY2VDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpcHl0aG9udy5leGU8L091dHB1dEZpbGU+Ci0gICAgICA8U3RhY2tSZXNlcnZlU2l6ZT4yMDAwMDAwPC9TdGFja1Jlc2VydmVTaXplPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWQwMDAwMDA8L0Jhc2VBZGRyZXNzPgotICAgICAgPEltcG9ydExpYnJhcnk+Ci0gICAgICA8L0ltcG9ydExpYnJhcnk+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgogICAgIDwvTGluaz4KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgogICA8SXRlbUdyb3VwPgpkaWZmIC0tZ2l0IGEvUENidWlsZC9weXdsYXVuY2hlci52Y3hwcm9qIGIvUENidWlsZC9weXdsYXVuY2hlci52Y3hwcm9qCmluZGV4IDk2ZWE0MjEuLjg4MmYxYzQgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQvcHl3bGF1bmNoZXIudmN4cHJvagorKysgYi9QQ2J1aWxkL3B5d2xhdW5jaGVyLnZjeHByb2oKQEAgLTM3LDIwMCArMzcsMzcgQEAKICAgPFByb3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgogICAgIDxQcm9qZWN0R3VpZD57MUQ0QjE4RDMtN0MxMi00RUNCLTkxNzktODUzMUZGODc2Q0U2fTwvUHJvamVjdEd1aWQ+CiAgICAgPFJvb3ROYW1lc3BhY2U+cHl3bGF1bmNoZXI8L1Jvb3ROYW1lc3BhY2U+CisgICAgPFRhcmdldE5hbWU+cHl3PC9UYXJnZXROYW1lPgorICAgIDxNYWtlVmVyc2lvbkluZm9CZWZvcmVUYXJnZXQ+Q2xDb21waWxlPC9NYWtlVmVyc2lvbkluZm9CZWZvcmVUYXJnZXQ+CisgICAgPFN1cHBvcnRQR08+ZmFsc2U8L1N1cHBvcnRQR08+CiAgIDwvUHJvcGVydHlHcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSJweXRob24ucHJvcHMiIC8+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIj4KICAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VEZWJ1Z0xpYnJhcmllcz50cnVlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4KLSAgICA8Q2hhcmFjdGVyU2V0PlVuaWNvZGU8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VEZWJ1Z0xpYnJhcmllcz50cnVlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4KLSAgICA8Q2hhcmFjdGVyU2V0PlVuaWNvZGU8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlRGVidWdMaWJyYXJpZXM+ZmFsc2U8L1VzZURlYnVnTGlicmFyaWVzPgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICAgIDxDaGFyYWN0ZXJTZXQ+VW5pY29kZTwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlRGVidWdMaWJyYXJpZXM+ZmFsc2U8L1VzZURlYnVnTGlicmFyaWVzPgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICAgIDxDaGFyYWN0ZXJTZXQ+VW5pY29kZTwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPgotICAgIDxDaGFyYWN0ZXJTZXQ+VW5pY29kZTwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+CiAgICAgPENoYXJhY3RlclNldD5Vbmljb2RlPC9DaGFyYWN0ZXJTZXQ+CiAgIDwvUHJvcGVydHlHcm91cD4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+CiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uU2V0dGluZ3MiPgogICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+CisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxNYWtlVmVyc2lvbkluZm9CZWZvcmVUYXJnZXQ+Q2xDb21waWxlPC9NYWtlVmVyc2lvbkluZm9CZWZvcmVUYXJnZXQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPEltcG9ydEdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgogICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iZGVidWcucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iZGVidWcucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InJlbGVhc2UucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InJlbGVhc2UucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InJlbGVhc2UucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGd1cGRhdGUucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icmVsZWFzZS5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgogICA8L0ltcG9ydEdyb3VwPgogICA8UHJvcGVydHlHcm91cCBMYWJlbD0iVXNlck1hY3JvcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPgotICAgIDxUYXJnZXROYW1lPnB5d19kPC9UYXJnZXROYW1lPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+Ci0gICAgPFRhcmdldE5hbWU+cHl3X2Q8L1RhcmdldE5hbWU+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+Ci0gICAgPFRhcmdldE5hbWU+cHl3PC9UYXJnZXROYW1lPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4KLSAgICA8VGFyZ2V0TmFtZT5weXc8L1RhcmdldE5hbWU+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj4KLSAgICA8VGFyZ2V0TmFtZT5weXc8L1RhcmdldE5hbWU+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPgotICAgIDxUYXJnZXROYW1lPnB5dzwvVGFyZ2V0TmFtZT4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgogICAgIDxDbENvbXBpbGU+Ci0gICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgotICAgICAgPE9wdGltaXphdGlvbj5EaXNhYmxlZDwvT3B0aW1pemF0aW9uPgogICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9XSU5ET1dTOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkPC9SdW50aW1lTGlicmFyeT4KICAgICA8L0NsQ29tcGlsZT4KICAgICA8TGluaz4KLSAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+dmVyc2lvbi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxJZ25vcmVBbGxEZWZhdWx0TGlicmFyaWVzPmZhbHNlPC9JZ25vcmVBbGxEZWZhdWx0TGlicmFyaWVzPgotICAgICAgPFN1YlN5c3RlbT5XaW5kb3dzPC9TdWJTeXN0ZW0+Ci0gICAgICA8T3V0cHV0RmlsZT4kKE91dERpcikkKFRhcmdldE5hbWUpJChUYXJnZXRFeHQpPC9PdXRwdXRGaWxlPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgotICAgICAgPE9wdGltaXphdGlvbj5EaXNhYmxlZDwvT3B0aW1pemF0aW9uPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9XSU5ET1dTOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+dmVyc2lvbi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxJZ25vcmVBbGxEZWZhdWx0TGlicmFyaWVzPmZhbHNlPC9JZ25vcmVBbGxEZWZhdWx0TGlicmFyaWVzPgotICAgICAgPFN1YlN5c3RlbT5XaW5kb3dzPC9TdWJTeXN0ZW0+Ci0gICAgICA8T3V0cHV0RmlsZT4kKE91dERpcikkKFRhcmdldE5hbWUpJChUYXJnZXRFeHQpPC9PdXRwdXRGaWxlPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KLSAgICAgIDxPcHRpbWl6YXRpb24+TWF4U3BlZWQ8L09wdGltaXphdGlvbj4KLSAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KLSAgICAgIDxJbnRyaW5zaWNGdW5jdGlvbnM+dHJ1ZTwvSW50cmluc2ljRnVuY3Rpb25zPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9XSU5ET1dTO05ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4KLSAgICAgIDxFbmFibGVDT01EQVRGb2xkaW5nPmZhbHNlPC9FbmFibGVDT01EQVRGb2xkaW5nPgotICAgICAgPE9wdGltaXplUmVmZXJlbmNlcz50cnVlPC9PcHRpbWl6ZVJlZmVyZW5jZXM+Ci0gICAgICA8SWdub3JlQWxsRGVmYXVsdExpYnJhcmllcz5mYWxzZTwvSWdub3JlQWxsRGVmYXVsdExpYnJhcmllcz4KICAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPnZlcnNpb24ubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+CiAgICAgICA8U3ViU3lzdGVtPldpbmRvd3M8L1N1YlN5c3RlbT4KICAgICA8L0xpbms+CiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgotICAgICAgPE9wdGltaXphdGlvbj5NYXhTcGVlZDwvT3B0aW1pemF0aW9uPgotICAgICAgPEZ1bmN0aW9uTGV2ZWxMaW5raW5nPnRydWU8L0Z1bmN0aW9uTGV2ZWxMaW5raW5nPgotICAgICAgPEludHJpbnNpY0Z1bmN0aW9ucz50cnVlPC9JbnRyaW5zaWNGdW5jdGlvbnM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X1dJTkRPV1M7TkRFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPgotICAgICAgPEVuYWJsZUNPTURBVEZvbGRpbmc+ZmFsc2U8L0VuYWJsZUNPTURBVEZvbGRpbmc+Ci0gICAgICA8T3B0aW1pemVSZWZlcmVuY2VzPnRydWU8L09wdGltaXplUmVmZXJlbmNlcz4KLSAgICAgIDxJZ25vcmVBbGxEZWZhdWx0TGlicmFyaWVzPmZhbHNlPC9JZ25vcmVBbGxEZWZhdWx0TGlicmFyaWVzPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+dmVyc2lvbi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxTdWJTeXN0ZW0+V2luZG93czwvU3ViU3lzdGVtPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+dmVyc2lvbi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICA8L0xpbms+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fV0lORE9XUztOREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPnZlcnNpb24ubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgPC9MaW5rPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X1dJTkRPV1M7TkRFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPnZlcnNpb24ubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgPC9MaW5rPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X1dJTkRPV1M7TkRFQlVHO19XSU42NDtfTV9YNjQ7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz52ZXJzaW9uLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgIDwvTGluaz4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9XSU5ET1dTO05ERUJVRztfV0lONjQ7X01fWDY0OyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgogICA8SXRlbUdyb3VwPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cUENcbGF1bmNoZXIuYyIgLz4KICAgPC9JdGVtR3JvdXA+CkBAIC0yNDAsMTEgKzc3LDYgQEAKICAgPEl0ZW1Hcm91cD4KICAgICA8UmVzb3VyY2VDb21waWxlIEluY2x1ZGU9Ii4uXFBDXHB5bGF1bmNoZXIucmMiIC8+CiAgIDwvSXRlbUdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxQcm9qZWN0UmVmZXJlbmNlIEluY2x1ZGU9Im1ha2VfdmVyc2lvbmluZm8udmN4cHJvaiI+Ci0gICAgICA8UHJvamVjdD57ZjBlMDU0MWUtZjE3ZC00MzBiLTk3YzQtOTNhZGYwZGQyODRlfTwvUHJvamVjdD4KLSAgICA8L1Byb2plY3RSZWZlcmVuY2U+Ci0gIDwvSXRlbUdyb3VwPgogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC50YXJnZXRzIiAvPgogICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblRhcmdldHMiPgogICA8L0ltcG9ydEdyb3VwPgpkaWZmIC0tZ2l0IGEvUENidWlsZC9yZWFkbWUudHh0IGIvUENidWlsZC9yZWFkbWUudHh0CmluZGV4IDAxOGJkZjAuLjc3YmZlZWIgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQvcmVhZG1lLnR4dAorKysgYi9QQ2J1aWxkL3JlYWRtZS50eHQKQEAgLTEsNDkgKzEsNTUgQEAKK1F1aWNrIFN0YXJ0IEd1aWRlCistLS0tLS0tLS0tLS0tLS0tLQorCisxLiAgSW5zdGFsbCBNaWNyb3NvZnQgVmlzdWFsIFN0dWRpbyAyMDE1LCBhbnkgZWRpdGlvbi4KKzIuICBJbnN0YWxsIFN1YnZlcnNpb24sIGFuZCBtYWtlIHN1cmUgJ3N2bi5leGUnIGlzIG9uIHlvdXIgUEFUSC4KKzMuICBSdW4gImJ1aWxkLmJhdCAtZSIgdG8gYnVpbGQgUHl0aG9uIGluIDMyLWJpdCBSZWxlYXNlIGNvbmZpZ3VyYXRpb24uCis0LiAgKE9wdGlvbmFsLCBidXQgcmVjb21tZW5kZWQpIFJ1biB0aGUgdGVzdCBzdWl0ZSB3aXRoICJydC5iYXQgLXEiLgorCisKIEJ1aWxkaW5nIFB5dGhvbiB1c2luZyBNaWNyb3NvZnQgVmlzdWFsIEMrKwogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIFRoaXMgZGlyZWN0b3J5IGlzIHVzZWQgdG8gYnVpbGQgQ1B5dGhvbiBmb3IgTWljcm9zb2Z0IFdpbmRvd3MgTlQgdmVyc2lvbgotNS4xIG9yIGhpZ2hlciAoV2luZG93cyBYUCwgV2luZG93cyBTZXJ2ZXIgMjAwMywgb3IgbGF0ZXIpIG9uIDMyIGFuZCA2NAorNi4wIG9yIGhpZ2hlciAoV2luZG93cyBWaXN0YSwgV2luZG93cyBTZXJ2ZXIgMjAwOCwgb3IgbGF0ZXIpIG9uIDMyIGFuZCA2NAogYml0IHBsYXRmb3Jtcy4gIFVzaW5nIHRoaXMgZGlyZWN0b3J5IHJlcXVpcmVzIGFuIGluc3RhbGxhdGlvbiBvZgotTWljcm9zb2Z0IFZpc3VhbCBDKysgMjAxMCAoTVNWQyAxMC4wKSBvZiBhbnkgZWRpdGlvbi4gIFRoZSBzcGVjaWZpYworTWljcm9zb2Z0IFZpc3VhbCBDKysgMjAxNSAoTVNWQyAxNC4wKSBvZiBhbnkgZWRpdGlvbi4gIFRoZSBzcGVjaWZpYwogcmVxdWlyZW1lbnRzIGFyZSBhcyBmb2xsb3dzOgogCi1WaXN1YWwgQysrIDIwMTAgRXhwcmVzcyBFZGl0aW9uCi0gICAgUmVxdWlyZWQgZm9yIGJ1aWxkaW5nIDMyLWJpdCBEZWJ1ZyBhbmQgUmVsZWFzZSBjb25maWd1cmF0aW9uIGJ1aWxkcy4KK1Zpc3VhbCBTdHVkaW8gRXhwcmVzcyAyMDE1IGZvciBEZXNrdG9wCitWaXN1YWwgU3R1ZGlvIFByb2Zlc3Npb25hbCAyMDE1CisgICAgRWl0aGVyIGVkaXRpb24gaXMgc3VmZmljaWVudCBmb3IgYnVpbGRpbmcgYWxsIGNvbmZpZ3VyYXRpb25zIGV4Y2VwdAorICAgIGZvciBQcm9maWxlIEd1aWRlZCBPcHRpbWl6YXRpb24uCiAgICAgVGhlIFB5dGhvbiBidWlsZCBzb2x1dGlvbiBwY2J1aWxkLnNsbiBtYWtlcyB1c2Ugb2YgU29sdXRpb24gRm9sZGVycywKICAgICB3aGljaCB0aGlzIGVkaXRpb24gZG9lcyBub3Qgc3VwcG9ydC4gIEFueSB0aW1lIHBjYnVpbGQuc2xuIGlzIG9wZW5lZAotICAgIG9yIHJlbG9hZGVkIGJ5IFZpc3VhbCBDKyssIGEgd2FybmluZyBhYm91dCBTb2x1dGlvbiBGb2xkZXJzIHdpbGwgYmUKLSAgICBkaXNwbGF5ZWQgd2hpY2ggY2FuIGJlIHNhZmVseSBkaXNtaXNzZWQgd2l0aCBubyBpbXBhY3Qgb24geW91cgorICAgIG9yIHJlbG9hZGVkIGJ5IFZpc3VhbCBTdHVkaW8sIGEgd2FybmluZyBhYm91dCBTb2x1dGlvbiBGb2xkZXJzIHdpbGwKKyAgICBiZSBkaXNwbGF5ZWQsIHdoaWNoIGNhbiBiZSBzYWZlbHkgZGlzbWlzc2VkIHdpdGggbm8gaW1wYWN0IG9uIHlvdXIKICAgICBhYmlsaXR5IHRvIGJ1aWxkIFB5dGhvbi4KLVZpc3VhbCBTdHVkaW8gMjAxMCBQcm9mZXNzaW9uYWwgRWRpdGlvbgogICAgIFJlcXVpcmVkIGZvciBidWlsZGluZyA2NC1iaXQgRGVidWcgYW5kIFJlbGVhc2UgY29uZmlndXJhdGlvbiBidWlsZHMKLVZpc3VhbCBTdHVkaW8gMjAxMCBQcmVtaXVtIEVkaXRpb24KK1Zpc3VhbCBTdHVkaW8gUHJlbWl1bSAyMDE1CiAgICAgUmVxdWlyZWQgZm9yIGJ1aWxkaW5nIFJlbGVhc2UgY29uZmlndXJhdGlvbiBidWlsZHMgdGhhdCBtYWtlIHVzZSBvZgogICAgIFByb2ZpbGUgR3VpZGVkIE9wdGltaXphdGlvbiAoUEdPKSwgb24gZWl0aGVyIHBsYXRmb3JtLgogCi1JbnN0YWxsaW5nIFNlcnZpY2UgUGFjayAxIGZvciBWaXN1YWwgU3R1ZGlvIDIwMTAgaXMgaGlnaGx5IHJlY29tbWVuZGVkCi10byBhdm9pZCBMTksxMTIzIGVycm9ycy4KLQogQWxsIHlvdSBuZWVkIHRvIGRvIHRvIGJ1aWxkIGlzIG9wZW4gdGhlIHNvbHV0aW9uICJwY2J1aWxkLnNsbiIgaW4gVmlzdWFsCiBTdHVkaW8sIHNlbGVjdCB0aGUgZGVzaXJlZCBjb21iaW5hdGlvbiBvZiBjb25maWd1cmF0aW9uIGFuZCBwbGF0Zm9ybSwKLXRoZW4gYnVpbGQgd2l0aCAiQnVpbGQgU29sdXRpb24iIG9yIHRoZSBGNyBrZXlib2FyZCBzaG9ydGN1dC4gIFlvdSBjYW4KLWFsc28gYnVpbGQgZnJvbSB0aGUgY29tbWFuZCBsaW5lIHVzaW5nIHRoZSAiYnVpbGQuYmF0IiBzY3JpcHQgaW4gdGhpcwotZGlyZWN0b3J5LiAgVGhlIHNvbHV0aW9uIGlzIGNvbmZpZ3VyZWQgdG8gYnVpbGQgdGhlIHByb2plY3RzIGluIHRoZQotY29ycmVjdCBvcmRlci4KK3RoZW4gYnVpbGQgd2l0aCAiQnVpbGQgU29sdXRpb24iLiAgWW91IGNhbiBhbHNvIGJ1aWxkIGZyb20gdGhlIGNvbW1hbmQKK2xpbmUgdXNpbmcgdGhlICJidWlsZC5iYXQiIHNjcmlwdCBpbiB0aGlzIGRpcmVjdG9yeTsgc2VlIGJlbG93IGZvcgorZGV0YWlscy4gIFRoZSBzb2x1dGlvbiBpcyBjb25maWd1cmVkIHRvIGJ1aWxkIHRoZSBwcm9qZWN0cyBpbiB0aGUgY29ycmVjdAorb3JkZXIuCiAKIFRoZSBzb2x1dGlvbiBjdXJyZW50bHkgc3VwcG9ydHMgdHdvIHBsYXRmb3Jtcy4gIFRoZSBXaW4zMiBwbGF0Zm9ybSBpcwotdXNlZCB0byBidWlsZCBzdGFuZGFyZCB4ODYtY29tcGF0aWJsZSAzMi1iaXQgYmluYXJpZXMsIG91dHB1dCBpbnRvIHRoaXMKLWRpcmVjdG9yeS4gIFRoZSB4NjQgcGxhdGZvcm0gaXMgdXNlZCBmb3IgYnVpbGRpbmcgNjQtYml0IEFNRDY0IChha2EKLXg4Nl82NCBvciBFTTY0VCkgYmluYXJpZXMsIG91dHB1dCBpbnRvIHRoZSBhbWQ2NCBzdWItZGlyZWN0b3J5IHdoaWNoCi13aWxsIGJlIGNyZWF0ZWQgaWYgaXQgZG9lc24ndCBhbHJlYWR5IGV4aXN0LiAgVGhlIEl0YW5pdW0gKElBLTY0KQotcGxhdGZvcm0gaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZC4gIFNlZSB0aGUgIkJ1aWxkaW5nIGZvciBBTUQ2NCIgc2VjdGlvbgotYmVsb3cgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgNjQtYml0IGJ1aWxkcy4KK3VzZWQgdG8gYnVpbGQgc3RhbmRhcmQgeDg2LWNvbXBhdGlibGUgMzItYml0IGJpbmFyaWVzLCBvdXRwdXQgaW50byB0aGUKK3dpbjMyIHN1Yi1kaXJlY3RvcnkuICBUaGUgeDY0IHBsYXRmb3JtIGlzIHVzZWQgZm9yIGJ1aWxkaW5nIDY0LWJpdCBBTUQ2NAorKGFrYSB4ODZfNjQgb3IgRU02NFQpIGJpbmFyaWVzLCBvdXRwdXQgaW50byB0aGUgYW1kNjQgc3ViLWRpcmVjdG9yeS4KK1RoZSBJdGFuaXVtIChJQS02NCkgcGxhdGZvcm0gaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZC4gIFNlZSB0aGUgIkJ1aWxkaW5nCitmb3IgQU1ENjQiIHNlY3Rpb24gYmVsb3cgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgNjQtYml0IGJ1aWxkcy4KIAogRm91ciBjb25maWd1cmF0aW9uIG9wdGlvbnMgYXJlIHN1cHBvcnRlZCBieSB0aGUgc29sdXRpb246CiBEZWJ1ZwogICAgIFVzZWQgdG8gYnVpbGQgUHl0aG9uIHdpdGggZXh0cmEgZGVidWdnaW5nIGNhcGFiaWxpdGllcywgZXF1aXZhbGVudAogICAgIHRvIHVzaW5nIC4vY29uZmlndXJlIC0td2l0aC1weWRlYnVnIG9uIFVOSVguICBBbGwgYmluYXJpZXMgYnVpbHQKICAgICB1c2luZyB0aGlzIGNvbmZpZ3VyYXRpb24gaGF2ZSAiX2QiIGFkZGVkIHRvIHRoZWlyIG5hbWU6Ci0gICAgcHl0aG9uMzRfZC5kbGwsIHB5dGhvbl9kLmV4ZSwgcGFyc2VyX2QucHlkLCBhbmQgc28gb24uICBCb3RoIHRoZQorICAgIHB5dGhvbjM1X2QuZGxsLCBweXRob25fZC5leGUsIHBhcnNlcl9kLnB5ZCwgYW5kIHNvIG9uLiAgQm90aCB0aGUKICAgICBidWlsZCBhbmQgcnQgKHJ1biB0ZXN0KSBiYXRjaCBmaWxlcyBpbiB0aGlzIGRpcmVjdG9yeSBhY2NlcHQgYSAtZAogICAgIG9wdGlvbiBmb3IgZGVidWcgYnVpbGRzLiAgSWYgeW91IGFyZSBidWlsZGluZyBQeXRob24gdG8gaGVscCB3aXRoCiAgICAgZGV2ZWxvcG1lbnQgb2YgQ1B5dGhvbiwgeW91IHdpbGwgbW9zdCBsaWtlbHkgdXNlIHRoaXMgY29uZmlndXJhdGlvbi4KQEAgLTUyLDI4ICs1OCw1MyBAQAogICAgIHJlcXVpcmVzIFByZW1pdW0gRWRpdGlvbiBvZiBWaXN1YWwgU3R1ZGlvLiAgU2VlIHRoZSAiUHJvZmlsZQogICAgIEd1aWRlZCBPcHRpbWl6YXRpb24iIHNlY3Rpb24gYmVsb3cgZm9yIG1vcmUgaW5mb3JtYXRpb24uICBCdWlsZAogICAgIG91dHB1dCBmcm9tIGVhY2ggb2YgdGhlc2UgY29uZmlndXJhdGlvbnMgbGFuZHMgaW4gaXRzIG93bgotICAgIHN1Yi1kaXJlY3Rvcnkgb2YgdGhpcyBkaXJlY3RvcnkuICBUaGUgb2ZmaWNpYWwgUHl0aG9uIHJlbGVhc2VzIGFyZQotICAgIGJ1aWx0IHVzaW5nIHRoZXNlIGNvbmZpZ3VyYXRpb25zLgorICAgIHN1Yi1kaXJlY3Rvcnkgb2YgdGhpcyBkaXJlY3RvcnkuICBUaGUgb2ZmaWNpYWwgUHl0aG9uIHJlbGVhc2VzIG1heQorICAgIGJlIGJ1aWx0IHVzaW5nIHRoZXNlIGNvbmZpZ3VyYXRpb25zLgogUmVsZWFzZQogICAgIFVzZWQgdG8gYnVpbGQgUHl0aG9uIGFzIGl0IGlzIG1lYW50IHRvIGJlIHVzZWQgaW4gcHJvZHVjdGlvbgogICAgIHNldHRpbmdzLCB0aG91Z2ggd2l0aG91dCBQR08uCiAKIAotTGVnYWN5IHN1cHBvcnQKLS0tLS0tLS0tLS0tLS0tCitCdWlsZGluZyBQeXRob24gdXNpbmcgdGhlIGJ1aWxkLmJhdCBzY3JpcHQKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotWW91IGNhbiBmaW5kIGJ1aWxkIGRpcmVjdG9yaWVzIGZvciBvbGRlciB2ZXJzaW9ucyBvZiBWaXN1YWwgU3R1ZGlvIGFuZAotVmlzdWFsIEMrKyBpbiB0aGUgUEMgZGlyZWN0b3J5LiBUaGUgbGVnYWN5IGJ1aWxkIGRpcmVjdG9yaWVzIGFyZSBubwotbG9uZ2VyIGFjdGl2ZWx5IG1haW50YWluZWQgYW5kIG1heSBub3Qgd29yayBvdXQgb2YgdGhlIGJveC4KK0luIHRoaXMgZGlyZWN0b3J5IHlvdSBjYW4gZmluZCBidWlsZC5iYXQsIGEgc2NyaXB0IGRlc2lnbmVkIHRvIG1ha2UKK2J1aWxkaW5nIFB5dGhvbiBvbiBXaW5kb3dzIHNpbXBsZXIuICBUaGlzIHNjcmlwdCB3aWxsIHVzZSB0aGUgZW52LmJhdAorc2NyaXB0IHRvIGRldGVjdCBvbmUgb2YgVmlzdWFsIFN0dWRpbyAyMDE1LCAyMDEzLCAyMDEyLCBvciAyMDEwLCBhbnkgb2YKK3doaWNoIG1heSBiZSB1c2VkIHRvIGJ1aWxkIFB5dGhvbiwgdGhvdWdoIG9ubHkgVmlzdWFsIFN0dWRpbyAyMDE1IGlzCitvZmZpY2lhbGx5IHN1cHBvcnRlZC4KIAotQ3VycmVudGx5LCB0aGUgb25seSBsZWdhY3kgYnVpbGQgZGlyZWN0b3J5IGlzIFBDXFZTOS4wLCBmb3IgVmlzdWFsCi1TdHVkaW8gMjAwOCAoOS4wKS4KK0J5IGRlZmF1bHQsIGJ1aWxkLmJhdCB3aWxsIGJ1aWxkIFB5dGhvbiBpbiBSZWxlYXNlIGNvbmZpZ3VyYXRpb24gZm9yCit0aGUgMzItYml0IFdpbjMyIHBsYXRmb3JtLiAgSXQgYWNjZXB0cyBzZXZlcmFsIGFyZ3VtZW50cyB0byBjaGFuZ2UKK3RoaXMgYmVoYXZpb3I6CisKKyAgIC1jIDxjb25maWd1cmF0aW9uPiAgU2V0IHRoZSBjb25maWd1cmF0aW9uIChzZWUgYWJvdmUpCisgICAtZCAgICAgICAgICAgICAgICAgIFNob3J0Y3V0IGZvciAiLWMgRGVidWciCisgICAtcCA8cGxhdGZvcm0+ICAgICAgIFNldCB0aGUgcGxhdGZvcm0gdG8gYnVpbGQgZm9yICgiV2luMzIiIG9yICJ4NjQiKQorICAgLXIgICAgICAgICAgICAgICAgICBSZWJ1aWxkIGluc3RlYWQgb2YganVzdCBidWlsZGluZworICAgLXQgPHRhcmdldD4gICAgICAgICBTZXQgdGhlIHRhcmdldCAoQnVpbGQsIFJlYnVpbGQsIENsZWFuIG9yIENsZWFuQWxsKQorICAgLWUgICAgICAgICAgICAgICAgICBVc2UgZ2V0X2V4dGVybmFscy5iYXQgdG8gZmV0Y2ggZXh0ZXJuYWwgc291cmNlcworICAgLU0gICAgICAgICAgICAgICAgICBEb24ndCBidWlsZCBpbiBwYXJhbGxlbAorICAgLXYgICAgICAgICAgICAgICAgICBJbmNyZWFzZWQgb3V0cHV0IG1lc3NhZ2VzCisKK1VwIHRvIDkgTVNCdWlsZCBzd2l0Y2hlcyBjYW4gYWxzbyBiZSBwYXNzZWQsIHRob3VnaCB0aGV5IG11c3QgYmUgcGFzc2VkCithZnRlciBzcGVjaWZ5aW5nIGFueSBvZiB0aGUgYWJvdmUgc3dpdGNoZXMuICBGb3IgZXhhbXBsZSwgdXNlOgorCisgICBidWlsZC5iYXQgLWUgLWQgL2ZsCisKK3RvIGRvIGEgZGVidWcgYnVpbGQgd2l0aCBleHRlcm5hbHMgZmV0Y2hlZCBhcyBuZWVkZWQgYW5kIHdyaXRlIGRldGFpbGVkCitidWlsZCBsb2dzIHRvIGEgZmlsZS4gIElmIHRoZSBNU0J1aWxkIHN3aXRjaCByZXF1aXJlcyBhbiBlcXVhbCBzaWduCisoIj0iKSwgdGhlIGVudGlyZSBzd2l0Y2ggbXVzdCBiZSBxdW90ZWQ6CisKKyAgIGJ1aWxkLmJhdCAtZSAtZCAiL3A6RXh0ZXJuYWxzRGlyPVA6XGNweXRob24tZXh0ZXJuYWxzIgorCitUaGVyZSBtYXkgYWxzbyBiZSBvdGhlciBzaXR1YXRpb25zIHdoZXJlIHF1b3RlcyBhcmUgbmVjZXNzYXJ5LgogCiAKIEMgUnVudGltZQogLS0tLS0tLS0tCiAKLVZpc3VhbCBTdHVkaW8gMjAxMCB1c2VzIHZlcnNpb24gMTAgb2YgdGhlIEMgcnVudGltZSAoTVNWQ1JUMTApLiAgVGhlCitWaXN1YWwgU3R1ZGlvIDIwMTUgdXNlcyB2ZXJzaW9uIDE0IG9mIHRoZSBDIHJ1bnRpbWUgKE1TVkNSVDE0KS4gIFRoZQogZXhlY3V0YWJsZXMgbm8gbG9uZ2VyIHVzZSB0aGUgIlNpZGUgYnkgU2lkZSIgYXNzZW1ibGllcyB1c2VkIGluIHByZXZpb3VzCiB2ZXJzaW9ucyBvZiB0aGUgY29tcGlsZXIuICBUaGlzIHNpbXBsaWZpZXMgZGlzdHJpYnV0aW9uIG9mIGFwcGxpY2F0aW9ucy4KIApAQCAtOTgsMTAgKzEyOSw2IEBACiAgICAgLmRsbCBhbmQgLmxpYgogcHl0aG9uCiAgICAgLmV4ZQota2lsbF9weXRob24KLSAgICBraWxsX3B5dGhvbi5leGUsIGEgc21hbGwgcHJvZ3JhbSBkZXNpZ25lZCB0byBraWxsIGFueSBpbnN0YW5jZXMgb2YKLSAgICBweXRob24oX2QpLmV4ZSB0aGF0IGFyZSBydW5uaW5nIGFuZCBsaXZlIGluIHRoZSBidWlsZCBvdXRwdXQKLSAgICBkaXJlY3Rvcnk7IHRoaXMgaXMgbWVhbnQgdG8gYXZvaWQgYnVpbGQgaXNzdWVzIGR1ZSB0byBsb2NrZWQgZmlsZXMKIG1ha2VfYnVpbGRpbmZvLCBtYWtlX3ZlcnNpb25pbmZvCiAgICAgaGVscGVycyB0byBwcm92aWRlIG5lY2Vzc2FyeSBpbmZvcm1hdGlvbiB0byB0aGUgYnVpbGQgcHJvY2VzcwogCkBAIC0xMjEsMTMgKzE0OCwxMiBAQAogICAgIHB1cnBvc2VzLCB1c2VkIGJ5IHRlc3RfY2FwaS5weQogCiBUaGVzZSBhcmUgbWlzY2VsbGFuZW91cyBzdWItcHJvamVjdHMgdGhhdCBkb24ndCByZWFsbHkgZml0IHRoZSBvdGhlcgotY2F0ZWdvcmllcy4gIEJ5IGRlZmF1bHQsIHRoZXNlIHByb2plY3RzIGRvIG5vdCBidWlsZCBpbiBEZWJ1ZwotY29uZmlndXJhdGlvbjoKK2NhdGVnb3JpZXM6CiBfZnJlZXplX2ltcG9ydGxpYgogICAgIF9mcmVlemVfaW1wb3J0bGliLmV4ZSwgdXNlZCB0byByZWdlbmVyYXRlIFB5dGhvblxpbXBvcnRsaWIuaCBhZnRlcgogICAgIGNoYW5nZXMgaGF2ZSBiZWVuIG1hZGUgdG8gTGliXGltcG9ydGxpYlxfYm9vdHN0cmFwLnB5CiBiZGlzdF93aW5pbnN0Ci0gICAgLi5cTGliXGRpc3R1dGlsc1xjb21tYW5kXHdpbmluc3QtMTAuMFstYW1kNjRdLmV4ZSwgdGhlIGJhc2UKKyAgICAuLlxMaWJcZGlzdHV0aWxzXGNvbW1hbmRcd2luaW5zdC0xNC4wWy1hbWQ2NF0uZXhlLCB0aGUgYmFzZQogICAgIGV4ZWN1dGFibGUgdXNlZCBieSB0aGUgZGlzdHV0aWxzIGJkaXN0X3dpbmluc3QgY29tbWFuZAogcHl0aG9uM2RsbAogICAgIHB5dGhvbjMuZGxsLCB0aGUgUEVQIDM4NCBTdGFibGUgQUJJIGRsbApAQCAtMTgyLDM3ICsyMDgsMjggQEAKICAgICB0byBiZSBzb21ld2hlcmUgb24geW91ciBQQVRILiAgTW9yZSByZWNlbnQgdmVyc2lvbnMgb2YgT3BlblNTTCBtYXkKICAgICBuZWVkIGEgbGF0ZXIgdmVyc2lvbiBvZiBOQVNNLiBJZiBPcGVuU1NMJ3Mgc2VsZiB0ZXN0cyBkb24ndCBwYXNzLAogICAgIHlvdSBzaG91bGQgZmlyc3QgdHJ5IHRvIHVwZGF0ZSBOQVNNIGFuZCBkbyBhIGZ1bGwgcmVidWlsZCBvZgotICAgIE9wZW5TU0wuICBJZiB5b3UgdXNlIHRoZSBUb29sc1xidWlsZGJvdFxleHRlcm5hbCgtYW1kNjQpLmJhdCBtZXRob2QKLSAgICBmb3IgZ2V0dGluZyBzb3VyY2VzLCBpdCBhbHNvIGRvd25sb2FkcyBhIHZlcnNpb24gb2YgTkFTTSB3aGljaCB0aGUKLSAgICBzc2wgYnVpbGQgc2NyaXB0IHdpbGwgYWRkIHRvIFBBVEguCisgICAgT3BlblNTTC4gIGdldF9leHRlcm5hbHMucHkgYWxzbyBkb3dubG9hZHMgYSBzbmFwc2hvdCBvZiBOQVNNLCBhbmQgdGhlCisgICAgbGliZWF5IGFuZCBzc2xlYXkgc3ViLXByb2plY3RzIHVzZSB0aGF0IHZlcnNpb24gb2YgbmFzbS5leGUuCiAKLSAgICBJZiB5b3UgbGlrZSB0byB1c2UgdGhlIG9mZmljaWFsIHNvdXJjZXMgaW5zdGVhZCBvZiB0aGUgZmlsZXMgZnJvbQotICAgIHB5dGhvbi5vcmcncyBzdWJ2ZXJzaW9uIHJlcG9zaXRvcnksIFBlcmwgaXMgcmVxdWlyZWQgdG8gYnVpbGQgdGhlCi0gICAgbmVjZXNzYXJ5IG1ha2VmaWxlcyBhbmQgYXNzZW1ibHkgZmlsZXMuICBBY3RpdmVQZXJsIGlzIGF2YWlsYWJsZQotICAgIGZyb20KKyAgICBUaGUgbGliZWF5L3NzbGVheSBzdWItcHJvamVjdHMgZXhwZWN0IHlvdXIgT3BlblNTTCBzb3VyY2VzIHRvIGhhdmUKKyAgICBhbHJlYWR5IGJlZW4gY29uZmlndXJlZCBhbmQgYmUgcmVhZHkgdG8gYnVpbGQuICBJZiB5b3UgZ2V0IHlvdXIgc291cmNlcworICAgIGZyb20gc3ZuLnB5dGhvbi5vcmcgYXMgc3VnZ2VzdGVkIGluIHRoZSAiR2V0dGluZyBFeHRlcm5hbCBTb3VyY2VzIgorICAgIHNlY3Rpb24gYmVsb3csIHRoZSBPcGVuU1NMIHNvdXJjZSB3aWxsIGFscmVhZHkgYmUgcmVhZHkgdG8gZ28uICBJZgorICAgIHlvdSB3YW50IHRvIGJ1aWxkIGEgZGlmZmVyZW50IHZlcnNpb24sIHlvdSB3aWxsIG5lZWQgdG8gcnVuCisKKyAgICAgICBQQ2J1aWxkXHByZXBhcmVfc3NsLnB5IHBhdGhcdG9cb3BlbnNzbC1zb3VyY2UtZGlyCisKKyAgICBUaGF0IHNjcmlwdCB3aWxsIHByZXBhcmUgeW91ciBPcGVuU1NMIHNvdXJjZXMgaW4gdGhlIHNhbWUgd2F5IHRoYXQKKyAgICB0aG9zZSBhdmFpbGFibGUgb24gc3ZuLnB5dGhvbi5vcmcgaGF2ZSBiZWVuIHByZXBhcmVkLiAgTm90ZSB0aGF0CisgICAgUGVybCBtdXN0IGJlIGluc3RhbGxlZCBhbmQgYXZhaWxhYmxlIG9uIHlvdXIgUEFUSCB0byBjb25maWd1cmUKKyAgICBPcGVuU1NMLiAgQWN0aXZlUGVybCBpcyByZWNvbW1lbmRlZCBhbmQgaXMgYXZhaWxhYmxlIGZyb20KICAgICAgICAgaHR0cDovL3d3dy5hY3RpdmVzdGF0ZS5jb20vYWN0aXZlcGVybC8KLSAgICBUaGUgc3ZuLnB5dGhvbi5vcmcgdmVyc2lvbiBjb250YWlucyBwcmUtYnVpbHQgbWFrZWZpbGVzIGFuZCBhc3NlbWJseQotICAgIGZpbGVzLgogCi0gICAgVGhlIGJ1aWxkIHByb2Nlc3MgbWFrZXMgc3VyZSB0aGF0IG5vIHBhdGVudGVkIGFsZ29yaXRobXMgYXJlCi0gICAgaW5jbHVkZWQuICBGb3Igbm93IFJDNSwgTURDMiBhbmQgSURFQSBhcmUgZXhjbHVkZWQgZnJvbSB0aGUgYnVpbGQuCi0gICAgWW91IG1heSBoYXZlIHRvIG1hbnVhbGx5IHJlbW92ZSAkKE9CSl9EKVxpXyoub2JqIGZyb20gbXNcbnQubWFrIGlmCi0gICAgdXNpbmcgb2ZmaWNpYWwgc291cmNlczsgdGhlIHN2bi5weXRob24ub3JnLWhvc3RlZCB2ZXJzaW9uIGlzIGFscmVhZHkKLSAgICBmaXhlZC4KLQotICAgIFRoZSBzc2wudmN4cHJvaiBzdWItcHJvamVjdCBzaW1wbHkgaW52b2tlcyBQQ2J1aWxkL2J1aWxkX3NzbC5weSwKLSAgICB3aGljaCBsb2NhdGVzIGFuZCBidWlsZHMgT3BlblNTTC4KLQotICAgIGJ1aWxkX3NzbC5weSBhdHRlbXB0cyB0byBjYXRjaCB0aGUgbW9zdCBjb21tb24gZXJyb3JzIChzdWNoIGFzIG5vdAotICAgIGJlaW5nIGFibGUgdG8gZmluZCBPcGVuU1NMIHNvdXJjZXMsIG9yIG5vdCBiZWluZyBhYmxlIHRvIGZpbmQgYSBQZXJsCi0gICAgdGhhdCB3b3JrcyB3aXRoIE9wZW5TU0wpIGFuZCBnaXZlIGEgcmVhc29uYWJsZSBlcnJvciBtZXNzYWdlLiAgSWYKLSAgICB5b3UgaGF2ZSBhIHByb2JsZW0gdGhhdCBkb2Vzbid0IHNlZW0gdG8gYmUgaGFuZGxlZCBjb3JyZWN0bHkgKGUuZy4sCi0gICAgeW91IGtub3cgeW91IGhhdmUgQWN0aXZlUGVybCBidXQgd2UgY2FuJ3QgZmluZCBpdCksIHBsZWFzZSB0YWtlIGEKLSAgICBwZWVrIGF0IGJ1aWxkX3NzbC5weSBhbmQgc3VnZ2VzdCBwYXRjaGVzLiAgTm90ZSB0aGF0IGJ1aWxkX3NzbC5weQotICAgIHNob3VsZCBiZSBhYmxlIHRvIGJlIHJ1biBkaXJlY3RseSBmcm9tIHRoZSBjb21tYW5kLWxpbmUuCi0KLSAgICBUaGUgc3NsIHN1Yi1wcm9qZWN0IGRvZXMgbm90IGhhdmUgdGhlIGFiaWxpdHkgdG8gY2xlYW4gdGhlIE9wZW5TU0wKLSAgICBidWlsZDsgaWYgeW91IG5lZWQgdG8gcmVidWlsZCwgeW91J2xsIGhhdmUgdG8gY2xlYW4gaXQgYnkgaGFuZC4KKyAgICBUaGUgbGliZWF5IGFuZCBzc2xlYXkgc3ViLXByb2plY3RzIHdpbGwgYnVpbGQgdGhlIG1vZHVsZXMgb2YgT3BlblNTTAorICAgIHJlcXVpcmVkIGJ5IF9zc2wgYW5kIF9oYXNobGliIGFuZCBtYXkgbmVlZCB0byBiZSBtYW51YWxseSB1cGRhdGVkIHdoZW4KKyAgICB1cGdyYWRpbmcgdG8gYSBuZXdlciB2ZXJzaW9uIG9mIE9wZW5TU0wgb3Igd2hlbiBhZGRpbmcgbmV3CisgICAgZnVuY3Rpb25hbGl0eSB0byBfc3NsIG9yIF9oYXNobGliLiBUaGV5IHdpbGwgbm90IGNsZWFuIHVwIHRoZWlyIG91dHB1dAorICAgIHdpdGggdGhlIG5vcm1hbCBDbGVhbiB0YXJnZXQ7IENsZWFuQWxsIHNob3VsZCBiZSB1c2VkIGluc3RlYWQuCiBfc3FsaXRlMwogICAgIFdyYXBzIFNRTGl0ZSAzLjguMy4xLCB3aGljaCBpcyBpdHNlbGYgYnVpbHQgYnkgc3FsaXRlMy52Y3hwcm9qCiAgICAgSG9tZXBhZ2U6CkBAIC0yMjIsMTIgKzIzOSwxOSBAQAogICAgIEhvbWVwYWdlOgogICAgICAgICBodHRwOi8vd3d3LnRjbC50ay8KIAotICAgIFVubGlrZSB0aGUgb3RoZXIgZXh0ZXJuYWwgbGlicmFyaWVzIGxpc3RlZCBhYm92ZSwgVGsgbXVzdCBiZSBidWlsdAotICAgIHNlcGFyYXRlbHkgYmVmb3JlIHRoZSBfdGtpbnRlciBtb2R1bGUgY2FuIGJlIGJ1aWx0LiBUaGlzIG1lYW5zIHRoYXQKLSAgICBhIHByZS1idWlsdCBUY2wvVGsgaW5zdGFsbGF0aW9uIGlzIGV4cGVjdGVkIGluIC4uXGV4dGVybmFsc1x0Y2x0awotICAgICh0Y2x0azY0IGZvciA2NC1iaXQpIHJlbGF0aXZlIHRvIHRoaXMgZGlyZWN0b3J5LiAgU2VlICJHZXR0aW5nCi0gICAgRXh0ZXJuYWwgU291cmNlcyIgYmVsb3cgZm9yIHRoZSBlYXNpZXN0IG1ldGhvZCB0byBlbnN1cmUgVGNsL1RrIGlzCi0gICAgYnVpbHQuCisgICAgVGtpbnRlcidzIGRlcGVuZGVuY2llcyBhcmUgYnVpbHQgYnkgdGhlIHRjbC52Y3hwcm9qIGFuZCB0ay52Y3hwcm9qCisgICAgcHJvamVjdHMuICBUaGUgdGl4LnZjeHByb2ogcHJvamVjdCBhbHNvIGJ1aWxkcyB0aGUgVGl4IGV4dGVuZGVkCisgICAgd2lkZ2V0IHNldCBmb3IgdXNlIHdpdGggVGtpbnRlci4KKworICAgIFRob3NlIHRocmVlIHByb2plY3RzIGluc3RhbGwgdGhlaXIgcmVzcGVjdGl2ZSBjb21wb25lbnRzIGluIGEKKyAgICBkaXJlY3RvcnkgYWxvbmdzaWRlIHRoZSBzb3VyY2UgZGlyZWN0b3JpZXMgY2FsbGVkICJ0Y2x0ayIgb24KKyAgICBXaW4zMiBhbmQgInRjbHRrNjQiIG9uIHg2NC4gIFRoZXkgYWxzbyBjb3B5IHRoZSBUY2wgYW5kIFRrIERMTHMKKyAgICBpbnRvIHRoZSBjdXJyZW50IG91dHB1dCBkaXJlY3RvcnksIHdoaWNoIHNob3VsZCBlbnN1cmUgdGhhdCBUa2ludGVyCisgICAgaXMgYWJsZSB0byBsb2FkIFRjbC9UayB3aXRob3V0IGhhdmluZyB0byBjaGFuZ2UgeW91ciBQQVRILgorCisgICAgVGhlIHRjbCwgdGssIGFuZCB0aXggc3ViLXByb2plY3RzIGRvIG5vdCBjbGVhbiB0aGVpciBidWlsZHMgd2l0aAorICAgIHRoZSBub3JtYWwgQ2xlYW4gdGFyZ2V0OyBpZiB5b3UgbmVlZCB0byByZWJ1aWxkLCB5b3Ugc2hvdWxkIHVzZSB0aGUKKyAgICBDbGVhbkFsbCB0YXJnZXQgb3IgbWFudWFsbHkgZGVsZXRlIHRoZWlyIGJ1aWxkcy4KIAogCiBHZXR0aW5nIEV4dGVybmFsIFNvdXJjZXMKQEAgLTIzNiw0NSArMjYwLDE4IEBACiBUaGUgbGFzdCBjYXRlZ29yeSBvZiBzdWItcHJvamVjdHMgbGlzdGVkIGFib3ZlIHdyYXAgZXh0ZXJuYWwgcHJvamVjdHMKIFB5dGhvbiBkb2Vzbid0IGNvbnRyb2wsIGFuZCBhcyBzdWNoIGEgbGl0dGxlIG1vcmUgd29yayBpcyByZXF1aXJlZCBpbgogb3JkZXIgdG8gZG93bmxvYWQgdGhlIHJlbGV2YW50IHNvdXJjZSBmaWxlcyBmb3IgZWFjaCBwcm9qZWN0IGJlZm9yZSB0aGV5Ci1jYW4gYmUgYnVpbHQuICBUaGUgYnVpbGRib3RzIG11c3QgZW5zdXJlIHRoYXQgYWxsIGxpYnJhcmllcyBhcmUgcHJlc2VudAotYmVmb3JlIGJ1aWxkaW5nLCBzbyB0aGUgZWFzaWVzdCBhcHByb2FjaCBpcyB0byBydW4gZWl0aGVyIGV4dGVybmFsLmJhdAotb3IgZXh0ZXJuYWwtYW1kNjQuYmF0IChkZXBlbmRpbmcgb24gcGxhdGZvcm0pIGluIHRoZSAuLlxUb29sc1xidWlsZGJvdAotZGlyZWN0b3J5IGZyb20gLi5cLCBpLmUuOgotCi0gICAgQzpccHl0aG9uXGNweXRob25cUENidWlsZD5jZCAuLgotICAgIEM6XHB5dGhvblxjcHl0aG9uPlRvb2xzXGJ1aWxkYm90XGV4dGVybmFsLmJhdAotCi1UaGlzIGV4dHJhY3RzIGFsbCB0aGUgZXh0ZXJuYWwgc3ViLXByb2plY3RzIGZyb20KK2NhbiBiZSBidWlsdC4gIEhvd2V2ZXIsIGEgc2ltcGxlIHNjcmlwdCBpcyBwcm92aWRlZCB0byBtYWtlIHRoaXMgYXMKK3BhaW5sZXNzIGFzIHBvc3NpYmxlLCBjYWxsZWQgImdldF9leHRlcm5hbHMuYmF0IiBhbmQgbG9jYXRlZCBpbiB0aGlzCitkaXJlY3RvcnkuICBUaGlzIHNjcmlwdCBleHRyYWN0cyBhbGwgdGhlIGV4dGVybmFsIHN1Yi1wcm9qZWN0cyBmcm9tCiAgICAgaHR0cDovL3N2bi5weXRob24ub3JnL3Byb2plY3RzL2V4dGVybmFsCi12aWEgU3VidmVyc2lvbiAoc28geW91J2xsIG5lZWQgYW4gc3ZuLmV4ZSBvbiB5b3VyIFBBVEgpIGFuZCBwbGFjZXMgdGhlbQordmlhIFN1YnZlcnNpb24gKHNvIHlvdSdsbCBuZWVkIHN2bi5leGUgb24geW91ciBQQVRIKSBhbmQgcGxhY2VzIHRoZW0KIGluIC4uXGV4dGVybmFscyAocmVsYXRpdmUgdG8gdGhpcyBkaXJlY3RvcnkpLgogCiBJdCBpcyBhbHNvIHBvc3NpYmxlIHRvIGRvd25sb2FkIHNvdXJjZXMgZnJvbSBlYWNoIHByb2plY3QncyBob21lcGFnZSwKLXRob3VnaCB5b3UgbWF5IGhhdmUgdG8gY2hhbmdlIHRoZSBuYW1lcyBvZiBzb21lIGZvbGRlcnMgaW4gb3JkZXIgdG8gbWFrZQotdGhpbmdzIHdvcmsuICBGb3IgaW5zdGFuY2UsIGlmIHlvdSB3ZXJlIHRvIGRvd25sb2FkIGEgdmVyc2lvbiA1LjAuNyBvZgotWFogVXRpbHMsIHlvdSB3b3VsZCBuZWVkIHRvIGV4dHJhY3QgdGhlIGFyY2hpdmUgaW50byAuLlxleHRlcm5hbHNceHotNS4wLjUKLWFueXdheSwgc2luY2UgdGhhdCBpcyB3aGVyZSB0aGUgc29sdXRpb24gaXMgc2V0IHRvIGxvb2sgZm9yIHh6LiAgVGhlCi1zYW1lIGlzIHRydWUgZm9yIGFsbCBvdGhlciBleHRlcm5hbCBwcm9qZWN0cy4KLQotVGhlIGV4dGVybmFsKC1hbWQ2NCkuYmF0IHNjcmlwdHMgd2lsbCBhbHNvIGJ1aWxkIGEgZGVidWcgYnVpbGQgb2YKLVRjbC9UaywgYnV0IHRoZXJlIGFyZW4ndCBhbnkgZXF1aXZhbGVudCBiYXRjaCBmaWxlcyBmb3IgYnVpbGRpbmcgcmVsZWFzZQotdmVyc2lvbnMgb2YgVGNsL1RrIGN1cnJlbnRseSBhdmFpbGFibGUuICBJZiB5b3UgbmVlZCB0byBidWlsZCBhIHJlbGVhc2UKLXZlcnNpb24gb2YgVGNsL1RrLCBqdXN0IHRha2UgYSBsb29rIGF0IHRoZSByZWxldmFudCBleHRlcm5hbCgtYW1kNjQpLmJhdAotZmlsZSBhbmQgZmluZCB0aGUgdHdvIG5tYWtlIGxpbmVzLCB0aGVuIGNhbGwgZWFjaCBvbmUgd2l0aG91dCB0aGUKLSdERUJVRz0xJyBwYXJhbWV0ZXIsIGkuZS46Ci0KLVRoZSBleHRlcm5hbC1hbWQ2NC5iYXQgZmlsZSBjb250YWlucyB0aGlzIGZvciB0Y2w6Ci0gICAgbm1ha2UgLWYgbWFrZWZpbGUudmMgREVCVUc9MSBNQUNISU5FPUFNRDY0IElOU1RBTExESVI9Li5cLi5cdGNsdGs2NCBjbGVhbiBhbGwgaW5zdGFsbAotCi1TbyBmb3IgYSByZWxlYXNlIGJ1aWxkLCB5b3UnZCBjYWxsIGl0IGFzOgotICAgIG5tYWtlIC1mIG1ha2VmaWxlLnZjIE1BQ0hJTkU9QU1ENjQgSU5TVEFMTERJUj0uLlwuLlx0Y2x0azY0IGNsZWFuIGFsbCBpbnN0YWxsCi0KLU5vdGUgdGhhdCB0aGUgYWJvdmUgY29tbWFuZCBpcyBjYWxsZWQgZnJvbSB3aXRoaW4gLi5cZXh0ZXJuYWxzXHRjbC04LjYuMS4wXHdpbgotKHJlbGF0aXZlIHRvIHRoaXMgZGlyZWN0b3J5KTsgZG9uJ3QgZm9yZ2V0IHRvIGJ1aWxkIFRrIGFzIHdlbGwgYXMgVGNsIQotCi1UaGlzIHdpbGwgYmUgY2xlYW5lZCB1cCBpbiB0aGUgZnV0dXJlOyBodHRwOi8vYnVncy5weXRob24ub3JnL2lzc3VlMTU5NjgKLXRyYWNrcyBhZGRpbmcgYSBuZXcgdGNsdGsudmN4cHJvaiBmaWxlIHRoYXQgd2lsbCBidWlsZCBUY2wvVGsgYW5kIFRpeAotdGhlIHNhbWUgd2F5IHRoZSBvdGhlciBleHRlcm5hbCBwcm9qZWN0cyBsaXN0ZWQgYWJvdmUgYXJlIGJ1aWx0LgordGhvdWdoIHlvdSBtYXkgaGF2ZSB0byBjaGFuZ2UgZm9sZGVyIG5hbWVzIG9yIHBhc3MgdGhlIG5hbWVzIHRvIE1TQnVpbGQKK2FzIHRoZSB2YWx1ZXMgb2YgY2VydGFpbiBwcm9wZXJ0aWVzIGluIG9yZGVyIGZvciB0aGUgYnVpbGQgc29sdXRpb24gdG8KK2ZpbmQgdGhlbS4gIFRoaXMgaXMgYW4gYWR2YW5jZWQgdG9waWMgYW5kIG5vdCBuZWNlc3NhcmlseSBmdWxseQorc3VwcG9ydGVkLgogCiAKIEJ1aWxkaW5nIGZvciBBTUQ2NApAQCAtMjgzLDkgKzI4MCw3IEBACiBUaGUgYnVpbGQgcHJvY2VzcyBmb3IgQU1ENjQgLyB4NjQgaXMgdmVyeSBzaW1pbGFyIHRvIHN0YW5kYXJkIGJ1aWxkcywKIHlvdSBqdXN0IGhhdmUgdG8gc2V0IHg2NCBhcyBwbGF0Zm9ybS4gSW4gYWRkaXRpb24sIHRoZSBIT1NUX1BZVEhPTgogZW52aXJvbm1lbnQgdmFyaWFibGUgbXVzdCBwb2ludCB0byBhIFB5dGhvbiBpbnRlcnByZXRlciAoYXQgbGVhc3QgMi40KSwKLXRvIHN1cHBvcnQgY3Jvc3MtY29tcGlsYXRpb24gZnJvbSBXaW4zMi4gIE5vdGUgdGhhdCBWaXN1YWwgU3R1ZGlvCi1yZXF1aXJlcyBQcm9mZXNzaW9uYWwgRWRpdGlvbiBvciBiZXR0ZXIgaW4gb3JkZXIgdG8gYnVpbGQgNjQtYml0Ci1iaW5hcmllcy4KK3RvIHN1cHBvcnQgY3Jvc3MtY29tcGlsYXRpb24gZnJvbSBXaW4zMi4KIAogCiBQcm9maWxlIEd1aWRlZCBPcHRpbWl6YXRpb24KQEAgLTMyMCwzMCArMzE1LDIyIEBACiBWaXN1YWwgU3R1ZGlvIHByb3BlcnRpZXMKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCi1UaGUgUENidWlsZCBzb2x1dGlvbiBtYWtlcyBoZWF2eSB1c2Ugb2YgVmlzdWFsIFN0dWRpbyBwcm9wZXJ0eSBmaWxlcwotKCoucHJvcHMpLiBUaGUgcHJvcGVydGllcyBjYW4gYmUgdmlld2VkIGFuZCBhbHRlcmVkIGluIHRoZSBQcm9wZXJ0eQotTWFuYWdlciAoVmlldyAtPiBPdGhlciBXaW5kb3dzIC0+IFByb3BlcnR5IE1hbmFnZXIpLgorVGhlIFBDYnVpbGQgc29sdXRpb24gbWFrZXMgdXNlIG9mIFZpc3VhbCBTdHVkaW8gcHJvcGVydHkgZmlsZXMgKCoucHJvcHMpCit0byBzaW1wbGlmeSBlYWNoIHByb2plY3QuIFRoZSBwcm9wZXJ0aWVzIGNhbiBiZSB2aWV3ZWQgaW4gdGhlIFByb3BlcnR5CitNYW5hZ2VyIChWaWV3IC0+IE90aGVyIFdpbmRvd3MgLT4gUHJvcGVydHkgTWFuYWdlcikgYnV0IHNob3VsZCBiZQorY2FyZWZ1bGx5IG1vZGlmaWVkIGJ5IGhhbmQuCiAKLVRoZSBwcm9wZXJ0eSBmaWxlcyB1c2VkIGFyZSAoKy0tID0gImFsc28gaW1wb3J0cyIpOgotICogZGVidWcgKGRlYnVnIG1hY3JvOiBfREVCVUcpCi0gKiBwZ2luc3RydW1lbnQgKFBHTykKLSAqIHBndXBkYXRlIChQR08pCi0gICAgKy0tIHBnaW5zdHJ1bWVudAotICogcHlkIChweXRob24gZXh0ZW5zaW9uLCByZWxlYXNlIGJ1aWxkKQotICAgICstLSByZWxlYXNlCi0gICAgKy0tIHB5cHJvamVjdAotICogcHlkX2QgKHB5dGhvbiBleHRlbnNpb24sIGRlYnVnIGJ1aWxkKQotICAgICstLSBkZWJ1ZwotICAgICstLSBweXByb2plY3QKLSAqIHB5cHJvamVjdCAoYmFzZSBzZXR0aW5ncyBmb3IgYWxsIHByb2plY3RzLCB1c2VyIG1hY3JvcyBsaWtlIFB5RGxsTmFtZSkKLSAqIHJlbGVhc2UgKHJlbGVhc2UgbWFjcm86IE5ERUJVRykKLSAqIHNxbGl0ZTMgKHVzZWQgb25seSBieSBzcWxpdGUzLnZjeHByb2opCi0gKiB4NjQgKEFNRDY0IC8geDY0IHBsYXRmb3JtIHNwZWNpZmljIHNldHRpbmdzKQorVGhlIHByb3BlcnR5IGZpbGVzIHVzZWQgYXJlOgorICogcHl0aG9uICh2ZXJzaW9ucywgZGlyZWN0b3JpZXMgYW5kIGJ1aWxkIG5hbWVzKQorICogcHlwcm9qZWN0IChiYXNlIHNldHRpbmdzIGZvciBhbGwgcHJvamVjdHMpCisgKiBvcGVuc3NsICh1c2VkIGJ5IGxpYmVheSBhbmQgc3NsZWF5IHByb2plY3RzKQorICogdGNsdGsgKHVzZWQgYnkgX3RraW50ZXIsIHRjbCwgdGsgYW5kIHRpeCBwcm9qZWN0cykKIAotVGhlIHB5cHJvamVjdCBwcm9wZXJ0eSBmaWxlIGRlZmluZXMgX1dJTjMyIGFuZCB4NjQgZGVmaW5lcyBfV0lONjQgYW5kCi1fTV9YNjQgYWx0aG91Z2ggdGhlIG1hY3JvcyBhcmUgc2V0IGJ5IHRoZSBjb21waWxlciwgdG9vLiBUaGUgR1VJIGRvZXNuJ3QKLWFsd2F5cyBrbm93IGFib3V0IHRoZSBtYWNyb3MgYW5kIGNvbmZ1c2UgdGhlIHVzZXIgd2l0aCBmYWxzZQotaW5mb3JtYXRpb24uCitUaGUgcHlwcm9qZWN0IHByb3BlcnR5IGZpbGUgZGVmaW5lcyBhbGwgb2YgdGhlIGJ1aWxkIHNldHRpbmdzIGZvciBlYWNoCitwcm9qZWN0LCB3aXRoIHNvbWUgcHJvamVjdHMgb3ZlcnJpZGluZyBjZXJ0YWluIHNwZWNpZmljIHZhbHVlcy4gVGhlIEdVSQorZG9lc24ndCBhbHdheXMgcmVmbGVjdCB0aGUgY29ycmVjdCBzZXR0aW5ncyBhbmQgbWF5IGNvbmZ1c2UgdGhlIHVzZXIKK3dpdGggZmFsc2UgaW5mb3JtYXRpb24sIGVzcGVjaWFsbHkgZm9yIHNldHRpbmdzIHRoYXQgYXV0b21hdGljYWxseSBhZGFwdAorZm9yIGRpZmZpcmVudCBjb25maWd1cmF0aW9ucy4KIAogCiBZb3VyIE93biBFeHRlbnNpb24gRExMcwpkaWZmIC0tZ2l0IGEvUENidWlsZC9yZWxlYXNlLnByb3BzIGIvUENidWlsZC9yZWxlYXNlLnByb3BzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhY2ZlM2U0Li4wMDAwMDAwCi0tLSBhL1BDYnVpbGQvcmVsZWFzZS5wcm9wcworKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLe+7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Ci08UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNyb3MiPgotICAgIDxQeURlYnVnRXh0IC8+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXA+Ci0gICAgPF9Qcm9qZWN0RmlsZVZlcnNpb24+MTAuMC4zMDMxOS4xPC9fUHJvamVjdEZpbGVWZXJzaW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+TkRFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxCdWlsZE1hY3JvIEluY2x1ZGU9IlB5RGVidWdFeHQiPgotICAgICAgPFZhbHVlPiQoUHlEZWJ1Z0V4dCk8L1ZhbHVlPgotICAgIDwvQnVpbGRNYWNybz4KLSAgPC9JdGVtR3JvdXA+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvUENidWlsZC9ydC5iYXQgYi9QQ2J1aWxkL3J0LmJhdAppbmRleCBlNTY5MjM4Li41MDQxY2QzIDEwMDY0NAotLS0gYS9QQ2J1aWxkL3J0LmJhdAorKysgYi9QQ2J1aWxkL3J0LmJhdApAQCAtOSw3ICs5LDggQEAKIHJlbSAteDY0IFJ1biB0aGUgNjQtYml0IGJ1aWxkIG9mIHB5dGhvbiAob3IgcHl0aG9uX2QgaWYgLWQgd2FzIHNwZWNpZmllZCkKIHJlbSAgICAgIGZyb20gdGhlICdhbWQ2NCcgZGlyIGluc3RlYWQgb2YgdGhlIDMyLWJpdCBidWlsZCBpbiB0aGlzIGRpci4KIHJlbSBBbGwgbGVhZGluZyBpbnN0YW5jZXMgb2YgdGhlc2Ugc3dpdGNoZXMgYXJlIHNoaWZ0ZWQgb2ZmLCBhbmQKLXJlbSB3aGF0ZXZlciByZW1haW5zIGlzIHBhc3NlZCB0byByZWdydGVzdC5weS4gIEZvciBleGFtcGxlLAorcmVtIHdoYXRldmVyIHJlbWFpbnMgKHVwIHRvIDkgYXJndW1lbnRzKSBpcyBwYXNzZWQgdG8gcmVncnRlc3QucHkuCityZW0gRm9yIGV4YW1wbGUsCiByZW0gICAgIHJ0IC1PIC1kIC14IHRlc3RfdGhyZWFkCiByZW0gcnVucwogcmVtICAgICBweXRob25fZCAtTyAuLi9saWIvdGVzdC9yZWdydGVzdC5weSAteCB0ZXN0X3RocmVhZApAQCAtMjYsMjUgKzI3LDI0IEBACiAKIHNldGxvY2FsCiAKLXNldCBwcmVmaXg9LlwKK3NldCBwY2J1aWxkPSV+ZHAwCitzZXQgcHJlZml4PSVwY2J1aWxkJXdpbjMyXAogc2V0IHN1ZmZpeD0KIHNldCBxbW9kZT0KIHNldCBkYXNoTz0KLXNldCB0Y2x0az10Y2x0awogCiA6Q2hlY2tPcHRzCiBpZiAiJTEiPT0iLU8iIChzZXQgZGFzaE89LU8pICAgICAmIHNoaWZ0ICYgZ290byBDaGVja09wdHMKIGlmICIlMSI9PSItcSIgKHNldCBxbW9kZT15ZXMpICAgICYgc2hpZnQgJiBnb3RvIENoZWNrT3B0cwogaWYgIiUxIj09Ii1kIiAoc2V0IHN1ZmZpeD1fZCkgICAgJiBzaGlmdCAmIGdvdG8gQ2hlY2tPcHRzCi1pZiAiJTEiPT0iLXg2NCIgKHNldCBwcmVmaXg9YW1kNjQpICYgKHNldCB0Y2x0az10Y2x0azY0KSAmIHNoaWZ0ICYgZ290byBDaGVja09wdHMKK2lmICIlMSI9PSIteDY0IiAoc2V0IHByZWZpeD0lcGNidWlsZCVhbWQ2NFwpICYgc2hpZnQgJiBnb3RvIENoZWNrT3B0cwogCi1QQVRIICVQQVRIJTslfmRwMC4uXGV4dGVybmFsc1wldGNsdGslXGJpbgotc2V0IGV4ZT0lcHJlZml4JVxweXRob24lc3VmZml4JQotc2V0IGNtZD0lZXhlJSAlZGFzaE8lIC1XZCAtRSAtYmIgLi4vbGliL3Rlc3QvcmVncnRlc3QucHkgJTEgJTIgJTMgJTQgJTUgJTYgJTcgJTggJTkKK3NldCBleGU9JXByZWZpeCVweXRob24lc3VmZml4JS5leGUKK3NldCBjbWQ9IiVleGUlIiAlZGFzaE8lIC1XZCAtRSAtYmIgIiVwY2J1aWxkJS4uXGxpYlx0ZXN0XHJlZ3J0ZXN0LnB5IiAlMSAlMiAlMyAlNCAlNSAlNiAlNyAlOCAlOQogaWYgZGVmaW5lZCBxbW9kZSBnb3RvIFFtb2RlCiAKIGVjaG8gRGVsZXRpbmcgLnB5Yy8ucHlvIGZpbGVzIC4uLgotJWV4ZSUgcm1weWMucHkKKyIlZXhlJSIgIiVwY2J1aWxkJXJtcHljLnB5IgogCiBlY2hvIG9uCiAlY21kJQpkaWZmIC0tZ2l0IGEvUENidWlsZC9zZWxlY3QudmN4cHJvaiBiL1BDYnVpbGQvc2VsZWN0LnZjeHByb2oKaW5kZXggN2MzNmQ2NC4uM2NkMDY5NCAxMDA2NDQKLS0tIGEvUENidWlsZC9zZWxlY3QudmN4cHJvagorKysgYi9QQ2J1aWxkL3NlbGVjdC52Y3hwcm9qCkBAIC0zNywxODggKzM3LDMzIEBACiAgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KICAgICA8UHJvamVjdEd1aWQ+ezE4Q0FFMjhDLUI0NTQtNDZDMS04N0EwLTQ5M0Q5MUQ5N0YwM308L1Byb2plY3RHdWlkPgogICAgIDxSb290TmFtZXNwYWNlPnNlbGVjdDwvUm9vdE5hbWVzcGFjZT4KLSAgICA8S2V5d29yZD5XaW4zMlByb2o8L0tleXdvcmQ+CiAgIDwvUHJvcGVydHlHcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSJweXRob24ucHJvcHMiIC8+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CiAgICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KICAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgogICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8VGFyZ2V0RXh0Pi5weWQ8L1RhcmdldEV4dD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgogICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblNldHRpbmdzIj4KICAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZF9kLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkX2QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+CisgICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+CiAgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiAvPgogICA8UHJvcGVydHlHcm91cD4KICAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjMwMzE5LjE8L19Qcm9qZWN0RmlsZVZlcnNpb24+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgogICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+CiAgICAgPExpbms+CiAgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8SWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPmxpYmM7JShJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXMpPC9JZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+CiAgICAgICA8QmFzZUFkZHJlc3M+MHgxRDExMDAwMDwvQmFzZUFkZHJlc3M+CiAgICAgPC9MaW5rPgogICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8SWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPmxpYmM7JShJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXMpPC9JZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDExMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz5saWJjOyUoSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzKTwvSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxMTAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8SWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPmxpYmM7JShJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXMpPC9JZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDExMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8SWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPmxpYmM7JShJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXMpPC9JZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDExMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz5saWJjOyUoSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzKTwvSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxMTAwMDA8L0Jhc2VBZGRyZXNzPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz5saWJjOyUoSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzKTwvSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxMTAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz5saWJjOyUoSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzKTwvSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxMTAwMDA8L0Jhc2VBZGRyZXNzPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KICAgPEl0ZW1Hcm91cD4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcc2VsZWN0bW9kdWxlLmMiIC8+CiAgIDwvSXRlbUdyb3VwPgpkaWZmIC0tZ2l0IGEvUENidWlsZC9zcWxpdGUzLnByb3BzIGIvUENidWlsZC9zcWxpdGUzLnByb3BzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkM2VlMDJjLi4wMDAwMDAwCi0tLSBhL1BDYnVpbGQvc3FsaXRlMy5wcm9wcworKysgL2Rldi9udWxsCkBAIC0xLDE2ICswLDAgQEAKLe+7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Ci08UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KLSAgPEltcG9ydEdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwPgotICAgIDxfUHJvamVjdEZpbGVWZXJzaW9uPjEwLjAuMzAzMTkuMTwvX1Byb2plY3RGaWxlVmVyc2lvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChzcWxpdGUzRGlyKTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPlNRTElURV9BUEk9X19kZWNsc3BlYyhkbGxleHBvcnQpOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwxPC9XYXJuaW5nTGV2ZWw+Ci0gICAgPC9DbENvbXBpbGU+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLTwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9QQ2J1aWxkL3NxbGl0ZTMudmN4cHJvaiBiL1BDYnVpbGQvc3FsaXRlMy52Y3hwcm9qCmluZGV4IGRhZjAxMGQuLmI2MjQ2ZmEgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQvc3FsaXRlMy52Y3hwcm9qCisrKyBiL1BDYnVpbGQvc3FsaXRlMy52Y3hwcm9qCkBAIC0zNywxODggKzM3LDMxIEBACiAgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KICAgICA8UHJvamVjdEd1aWQ+e0ExQTI5NUU1LTQ2M0MtNDM3Ri04MUNBLTFGMzIzNjc2ODVEQX08L1Byb2plY3RHdWlkPgogICAgIDxSb290TmFtZXNwYWNlPnNxbGl0ZTM8L1Jvb3ROYW1lc3BhY2U+Ci0gICAgPEtleXdvcmQ+V2luMzJQcm9qPC9LZXl3b3JkPgorICAgIDxUYXJnZXRFeHQ+LnB5ZDwvVGFyZ2V0RXh0PgorICAgIDxTdXBwb3J0UEdPPmZhbHNlPC9TdXBwb3J0UEdPPgogICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0icHl0aG9uLnByb3BzIiAvPgogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgogICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+CiAgICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KICAgPC9Qcm9wZXJ0eUdyb3VwPgogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25TZXR0aW5ncyI+CiAgIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KKyAgPEltcG9ydEdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ic3FsaXRlMy5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InNxbGl0ZTMucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InNxbGl0ZTMucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJzcWxpdGUzLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iZGVidWcucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ic3FsaXRlMy5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJzcWxpdGUzLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGdpbnN0cnVtZW50LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ic3FsaXRlMy5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJzcWxpdGUzLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iZGVidWcucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+CisgICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+CiAgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiAvPgogICA8UHJvcGVydHlHcm91cD4KICAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjMwMzE5LjE8L19Qcm9qZWN0RmlsZVZlcnNpb24+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgogICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKSQoUHJvamVjdE5hbWUpX2QuZGxsPC9PdXRwdXRGaWxlPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4lKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpJChQcm9qZWN0TmFtZSlfZC5kbGw8L091dHB1dEZpbGU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4lKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpJChQcm9qZWN0TmFtZSkuZGxsPC9PdXRwdXRGaWxlPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8T3V0cHV0RmlsZT4kKE91dERpcikkKFByb2plY3ROYW1lKS5kbGw8L091dHB1dEZpbGU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgogICAgIDxDbENvbXBpbGU+CiAgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKHNxbGl0ZTNEaXIpOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8T3V0cHV0RmlsZT4kKE91dERpcikkKFByb2plY3ROYW1lKS5kbGw8L091dHB1dEZpbGU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4lKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgIDwvQ2xDb21waWxlPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKSQoUHJvamVjdE5hbWUpLmRsbDwvT3V0cHV0RmlsZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5TUUxJVEVfQVBJPV9fZGVjbHNwZWMoZGxsZXhwb3J0KTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8V2FybmluZ0xldmVsPkxldmVsMTwvV2FybmluZ0xldmVsPgogICAgIDwvQ2xDb21waWxlPgogICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CiAgIDxJdGVtR3JvdXA+CkBAIC0yMjgsMTIgKzcxLDYgQEAKICAgPEl0ZW1Hcm91cD4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQoc3FsaXRlM0Rpcilcc3FsaXRlMy5jIiAvPgogICA8L0l0ZW1Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPSJraWxsX3B5dGhvbi52Y3hwcm9qIj4KLSAgICAgIDxQcm9qZWN0Pns2ZGUxMDc0NC1lMzk2LTQwYTUtYjRlMi0xYjY5YWE3YzhkMzF9PC9Qcm9qZWN0PgotICAgICAgPFJlZmVyZW5jZU91dHB1dEFzc2VtYmx5PmZhbHNlPC9SZWZlcmVuY2VPdXRwdXRBc3NlbWJseT4KLSAgICA8L1Byb2plY3RSZWZlcmVuY2U+Ci0gIDwvSXRlbUdyb3VwPgogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC50YXJnZXRzIiAvPgogICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblRhcmdldHMiPgogICA8L0ltcG9ydEdyb3VwPgpkaWZmIC0tZ2l0IGEvUENidWlsZC9zc2wudmN4cHJvaiBiL1BDYnVpbGQvc3NsLnZjeHByb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ1ZWFjOWEuLjAwMDAwMDAKLS0tIGEvUENidWlsZC9zc2wudmN4cHJvagorKysgL2Rldi9udWxsCkBAIC0xLDIyMSArMCwwIEBACi3vu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Ci0gIDxJdGVtR3JvdXAgTGFiZWw9IlByb2plY3RDb25maWd1cmF0aW9ucyI+Ci0gICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVnfFdpbjMyIj4KLSAgICAgIDxDb25maWd1cmF0aW9uPkRlYnVnPC9Db25maWd1cmF0aW9uPgotICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KLSAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgotICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJEZWJ1Z3x4NjQiPgotICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+Ci0gICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KLSAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgotICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJQR0luc3RydW1lbnR8V2luMzIiPgotICAgICAgPENvbmZpZ3VyYXRpb24+UEdJbnN0cnVtZW50PC9Db25maWd1cmF0aW9uPgotICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KLSAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgotICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJQR0luc3RydW1lbnR8eDY0Ij4KLSAgICAgIDxDb25maWd1cmF0aW9uPlBHSW5zdHJ1bWVudDwvQ29uZmlndXJhdGlvbj4KLSAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgotICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+Ci0gICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlBHVXBkYXRlfFdpbjMyIj4KLSAgICAgIDxDb25maWd1cmF0aW9uPlBHVXBkYXRlPC9Db25maWd1cmF0aW9uPgotICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KLSAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgotICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJQR1VwZGF0ZXx4NjQiPgotICAgICAgPENvbmZpZ3VyYXRpb24+UEdVcGRhdGU8L0NvbmZpZ3VyYXRpb24+Ci0gICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KLSAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgotICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJSZWxlYXNlfFdpbjMyIj4KLSAgICAgIDxDb25maWd1cmF0aW9uPlJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+Ci0gICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgotICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+Ci0gICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8eDY0Ij4KLSAgICAgIDxDb25maWd1cmF0aW9uPlJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+Ci0gICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KLSAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgotICA8L0l0ZW1Hcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgotICAgIDxQcm9qZWN0R3VpZD57RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfTwvUHJvamVjdEd1aWQ+Ci0gICAgPFJvb3ROYW1lc3BhY2U+c3NsPC9Sb290TmFtZXNwYWNlPgotICAgIDxLZXl3b3JkPk1ha2VGaWxlUHJvajwvS2V5d29yZD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5NYWtlZmlsZTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+TWFrZWZpbGU8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5NYWtlZmlsZTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5NYWtlZmlsZTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+TWFrZWZpbGU8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5NYWtlZmlsZTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5NYWtlZmlsZTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+TWFrZWZpbGU8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+Ci0gIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uU2V0dGluZ3MiPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGd1cGRhdGUucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGdpbnN0cnVtZW50LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWRfZC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGdpbnN0cnVtZW50LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZF9kLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iVXNlck1hY3JvcyIgLz4KLSAgPFByb3BlcnR5R3JvdXA+Ci0gICAgPF9Qcm9qZWN0RmlsZVZlcnNpb24+MTAuMC4zMDMxOS4xPC9fUHJvamVjdEZpbGVWZXJzaW9uPgotICAgIDxOTWFrZUJ1aWxkQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPmNkICIkKFNvbHV0aW9uRGlyKSIKLSIkKFB5dGhvbkV4ZSkiIGJ1aWxkX3NzbC5weSBSZWxlYXNlICQoUGxhdGZvcm0pIC1hCi08L05NYWtlQnVpbGRDb21tYW5kTGluZT4KLSAgICA8Tk1ha2VSZUJ1aWxkQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+Ci0gICAgPE5NYWtlQ2xlYW5Db21tYW5kTGluZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+ZWNobyBPcGVuU1NMIG11c3QgYmUgY2xlYW5lZCBtYW51YWxseSBpZiB5b3Ugd2FudCB0byByZWJ1aWxkIGl0LjwvTk1ha2VDbGVhbkNvbW1hbmRMaW5lPgotICAgIDxOTWFrZU91dHB1dCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KLSAgICA8Tk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+JChOTWFrZVByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvTk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8Tk1ha2VJbmNsdWRlU2VhcmNoUGF0aCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+JChOTWFrZUluY2x1ZGVTZWFyY2hQYXRoKTwvTk1ha2VJbmNsdWRlU2VhcmNoUGF0aD4KLSAgICA8Tk1ha2VGb3JjZWRJbmNsdWRlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+JChOTWFrZUZvcmNlZEluY2x1ZGVzKTwvTk1ha2VGb3JjZWRJbmNsdWRlcz4KLSAgICA8Tk1ha2VBc3NlbWJseVNlYXJjaFBhdGggQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPiQoTk1ha2VBc3NlbWJseVNlYXJjaFBhdGgpPC9OTWFrZUFzc2VtYmx5U2VhcmNoUGF0aD4KLSAgICA8Tk1ha2VGb3JjZWRVc2luZ0Fzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPiQoTk1ha2VGb3JjZWRVc2luZ0Fzc2VtYmxpZXMpPC9OTWFrZUZvcmNlZFVzaW5nQXNzZW1ibGllcz4KLSAgICA8Tk1ha2VCdWlsZENvbW1hbmRMaW5lIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+Y2QgIiQoU29sdXRpb25EaXIpIgotIiQoUHl0aG9uRXhlKSIgYnVpbGRfc3NsLnB5IFJlbGVhc2UgJChQbGF0Zm9ybSkgLWEKLTwvTk1ha2VCdWlsZENvbW1hbmRMaW5lPgotICAgIDxOTWFrZVJlQnVpbGRDb21tYW5kTGluZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+Ci0gICAgPE5NYWtlQ2xlYW5Db21tYW5kTGluZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPmVjaG8gT3BlblNTTCBtdXN0IGJlIGNsZWFuZWQgbWFudWFsbHkgaWYgeW91IHdhbnQgdG8gcmVidWlsZCBpdC48L05NYWtlQ2xlYW5Db21tYW5kTGluZT4KLSAgICA8Tk1ha2VPdXRwdXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgotICAgIDxOTWFrZVByZXByb2Nlc3NvckRlZmluaXRpb25zIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+JChOTWFrZVByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvTk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8Tk1ha2VJbmNsdWRlU2VhcmNoUGF0aCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPiQoTk1ha2VJbmNsdWRlU2VhcmNoUGF0aCk8L05NYWtlSW5jbHVkZVNlYXJjaFBhdGg+Ci0gICAgPE5NYWtlRm9yY2VkSW5jbHVkZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4kKE5NYWtlRm9yY2VkSW5jbHVkZXMpPC9OTWFrZUZvcmNlZEluY2x1ZGVzPgotICAgIDxOTWFrZUFzc2VtYmx5U2VhcmNoUGF0aCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPiQoTk1ha2VBc3NlbWJseVNlYXJjaFBhdGgpPC9OTWFrZUFzc2VtYmx5U2VhcmNoUGF0aD4KLSAgICA8Tk1ha2VGb3JjZWRVc2luZ0Fzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4kKE5NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzKTwvTk1ha2VGb3JjZWRVc2luZ0Fzc2VtYmxpZXM+Ci0gICAgPE5NYWtlQnVpbGRDb21tYW5kTGluZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj5jZCAiJChTb2x1dGlvbkRpcikiCi0iJChQeXRob25FeGUpIiBidWlsZF9zc2wucHkgUmVsZWFzZSAkKFBsYXRmb3JtKSAtYQotPC9OTWFrZUJ1aWxkQ29tbWFuZExpbmU+Ci0gICAgPE5NYWtlUmVCdWlsZENvbW1hbmRMaW5lIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+Ci0gICAgPE5NYWtlQ2xlYW5Db21tYW5kTGluZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj5lY2hvIE9wZW5TU0wgbXVzdCBiZSBjbGVhbmVkIG1hbnVhbGx5IGlmIHlvdSB3YW50IHRvIHJlYnVpbGQgaXQuPC9OTWFrZUNsZWFuQ29tbWFuZExpbmU+Ci0gICAgPE5NYWtlT3V0cHV0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+Ci0gICAgPE5NYWtlUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+JChOTWFrZVByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvTk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8Tk1ha2VJbmNsdWRlU2VhcmNoUGF0aCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4kKE5NYWtlSW5jbHVkZVNlYXJjaFBhdGgpPC9OTWFrZUluY2x1ZGVTZWFyY2hQYXRoPgotICAgIDxOTWFrZUZvcmNlZEluY2x1ZGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPiQoTk1ha2VGb3JjZWRJbmNsdWRlcyk8L05NYWtlRm9yY2VkSW5jbHVkZXM+Ci0gICAgPE5NYWtlQXNzZW1ibHlTZWFyY2hQYXRoIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPiQoTk1ha2VBc3NlbWJseVNlYXJjaFBhdGgpPC9OTWFrZUFzc2VtYmx5U2VhcmNoUGF0aD4KLSAgICA8Tk1ha2VGb3JjZWRVc2luZ0Fzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+JChOTWFrZUZvcmNlZFVzaW5nQXNzZW1ibGllcyk8L05NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzPgotICAgIDxOTWFrZUJ1aWxkQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPmNkICIkKFNvbHV0aW9uRGlyKSIKLSIkKFB5dGhvbkV4ZSkiIGJ1aWxkX3NzbC5weSBSZWxlYXNlICQoUGxhdGZvcm0pIC1hCi08L05NYWtlQnVpbGRDb21tYW5kTGluZT4KLSAgICA8Tk1ha2VSZUJ1aWxkQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+Ci0gICAgPE5NYWtlQ2xlYW5Db21tYW5kTGluZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+ZWNobyBPcGVuU1NMIG11c3QgYmUgY2xlYW5lZCBtYW51YWxseSBpZiB5b3Ugd2FudCB0byByZWJ1aWxkIGl0LjwvTk1ha2VDbGVhbkNvbW1hbmRMaW5lPgotICAgIDxOTWFrZU91dHB1dCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KLSAgICA8Tk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+JChOTWFrZVByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvTk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8Tk1ha2VJbmNsdWRlU2VhcmNoUGF0aCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+JChOTWFrZUluY2x1ZGVTZWFyY2hQYXRoKTwvTk1ha2VJbmNsdWRlU2VhcmNoUGF0aD4KLSAgICA8Tk1ha2VGb3JjZWRJbmNsdWRlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+JChOTWFrZUZvcmNlZEluY2x1ZGVzKTwvTk1ha2VGb3JjZWRJbmNsdWRlcz4KLSAgICA8Tk1ha2VBc3NlbWJseVNlYXJjaFBhdGggQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPiQoTk1ha2VBc3NlbWJseVNlYXJjaFBhdGgpPC9OTWFrZUFzc2VtYmx5U2VhcmNoUGF0aD4KLSAgICA8Tk1ha2VGb3JjZWRVc2luZ0Fzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPiQoTk1ha2VGb3JjZWRVc2luZ0Fzc2VtYmxpZXMpPC9OTWFrZUZvcmNlZFVzaW5nQXNzZW1ibGllcz4KLSAgICA8Tk1ha2VCdWlsZENvbW1hbmRMaW5lIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+Y2QgIiQoU29sdXRpb25EaXIpIgotIiQoUHl0aG9uRXhlKSIgYnVpbGRfc3NsLnB5IFJlbGVhc2UgJChQbGF0Zm9ybSkgLWEKLTwvTk1ha2VCdWlsZENvbW1hbmRMaW5lPgotICAgIDxOTWFrZVJlQnVpbGRDb21tYW5kTGluZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIC8+Ci0gICAgPE5NYWtlQ2xlYW5Db21tYW5kTGluZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPmVjaG8gT3BlblNTTCBtdXN0IGJlIGNsZWFuZWQgbWFudWFsbHkgaWYgeW91IHdhbnQgdG8gcmVidWlsZCBpdC48L05NYWtlQ2xlYW5Db21tYW5kTGluZT4KLSAgICA8Tk1ha2VPdXRwdXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiAvPgotICAgIDxOTWFrZVByZXByb2Nlc3NvckRlZmluaXRpb25zIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+JChOTWFrZVByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvTk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8Tk1ha2VJbmNsdWRlU2VhcmNoUGF0aCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPiQoTk1ha2VJbmNsdWRlU2VhcmNoUGF0aCk8L05NYWtlSW5jbHVkZVNlYXJjaFBhdGg+Ci0gICAgPE5NYWtlRm9yY2VkSW5jbHVkZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj4kKE5NYWtlRm9yY2VkSW5jbHVkZXMpPC9OTWFrZUZvcmNlZEluY2x1ZGVzPgotICAgIDxOTWFrZUFzc2VtYmx5U2VhcmNoUGF0aCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPiQoTk1ha2VBc3NlbWJseVNlYXJjaFBhdGgpPC9OTWFrZUFzc2VtYmx5U2VhcmNoUGF0aD4KLSAgICA8Tk1ha2VGb3JjZWRVc2luZ0Fzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj4kKE5NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzKTwvTk1ha2VGb3JjZWRVc2luZ0Fzc2VtYmxpZXM+Ci0gICAgPE5NYWtlQnVpbGRDb21tYW5kTGluZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj5jZCAiJChTb2x1dGlvbkRpcikiCi0iJChQeXRob25FeGUpIiBidWlsZF9zc2wucHkgUmVsZWFzZSAkKFBsYXRmb3JtKSAtYQotPC9OTWFrZUJ1aWxkQ29tbWFuZExpbmU+Ci0gICAgPE5NYWtlUmVCdWlsZENvbW1hbmRMaW5lIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIC8+Ci0gICAgPE5NYWtlQ2xlYW5Db21tYW5kTGluZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj5lY2hvIE9wZW5TU0wgbXVzdCBiZSBjbGVhbmVkIG1hbnVhbGx5IGlmIHlvdSB3YW50IHRvIHJlYnVpbGQgaXQuPC9OTWFrZUNsZWFuQ29tbWFuZExpbmU+Ci0gICAgPE5NYWtlT3V0cHV0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIC8+Ci0gICAgPE5NYWtlUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+JChOTWFrZVByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvTk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8Tk1ha2VJbmNsdWRlU2VhcmNoUGF0aCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj4kKE5NYWtlSW5jbHVkZVNlYXJjaFBhdGgpPC9OTWFrZUluY2x1ZGVTZWFyY2hQYXRoPgotICAgIDxOTWFrZUZvcmNlZEluY2x1ZGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPiQoTk1ha2VGb3JjZWRJbmNsdWRlcyk8L05NYWtlRm9yY2VkSW5jbHVkZXM+Ci0gICAgPE5NYWtlQXNzZW1ibHlTZWFyY2hQYXRoIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPiQoTk1ha2VBc3NlbWJseVNlYXJjaFBhdGgpPC9OTWFrZUFzc2VtYmx5U2VhcmNoUGF0aD4KLSAgICA8Tk1ha2VGb3JjZWRVc2luZ0Fzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+JChOTWFrZUZvcmNlZFVzaW5nQXNzZW1ibGllcyk8L05NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzPgotICAgIDxOTWFrZUJ1aWxkQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPmNkICIkKFNvbHV0aW9uRGlyKSIKLSIkKFB5dGhvbkV4ZSkiIGJ1aWxkX3NzbC5weSBSZWxlYXNlICQoUGxhdGZvcm0pIC1hCi08L05NYWtlQnVpbGRDb21tYW5kTGluZT4KLSAgICA8Tk1ha2VSZUJ1aWxkQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIC8+Ci0gICAgPE5NYWtlQ2xlYW5Db21tYW5kTGluZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+ZWNobyBPcGVuU1NMIG11c3QgYmUgY2xlYW5lZCBtYW51YWxseSBpZiB5b3Ugd2FudCB0byByZWJ1aWxkIGl0LjwvTk1ha2VDbGVhbkNvbW1hbmRMaW5lPgotICAgIDxOTWFrZU91dHB1dCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgLz4KLSAgICA8Tk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+JChOTWFrZVByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvTk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8Tk1ha2VJbmNsdWRlU2VhcmNoUGF0aCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+JChOTWFrZUluY2x1ZGVTZWFyY2hQYXRoKTwvTk1ha2VJbmNsdWRlU2VhcmNoUGF0aD4KLSAgICA8Tk1ha2VGb3JjZWRJbmNsdWRlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+JChOTWFrZUZvcmNlZEluY2x1ZGVzKTwvTk1ha2VGb3JjZWRJbmNsdWRlcz4KLSAgICA8Tk1ha2VBc3NlbWJseVNlYXJjaFBhdGggQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPiQoTk1ha2VBc3NlbWJseVNlYXJjaFBhdGgpPC9OTWFrZUFzc2VtYmx5U2VhcmNoUGF0aD4KLSAgICA8Tk1ha2VGb3JjZWRVc2luZ0Fzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPiQoTk1ha2VGb3JjZWRVc2luZ0Fzc2VtYmxpZXMpPC9OTWFrZUZvcmNlZFVzaW5nQXNzZW1ibGllcz4KLSAgICA8Tk1ha2VCdWlsZENvbW1hbmRMaW5lIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+Y2QgIiQoU29sdXRpb25EaXIpIgotIiQoUHl0aG9uRXhlKSIgYnVpbGRfc3NsLnB5IFJlbGVhc2UgJChQbGF0Zm9ybSkgLWEKLTwvTk1ha2VCdWlsZENvbW1hbmRMaW5lPgotICAgIDxOTWFrZVJlQnVpbGRDb21tYW5kTGluZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIC8+Ci0gICAgPE5NYWtlQ2xlYW5Db21tYW5kTGluZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPmVjaG8gT3BlblNTTCBtdXN0IGJlIGNsZWFuZWQgbWFudWFsbHkgaWYgeW91IHdhbnQgdG8gcmVidWlsZCBpdC48L05NYWtlQ2xlYW5Db21tYW5kTGluZT4KLSAgICA8Tk1ha2VPdXRwdXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiAvPgotICAgIDxOTWFrZVByZXByb2Nlc3NvckRlZmluaXRpb25zIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+JChOTWFrZVByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvTk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8Tk1ha2VJbmNsdWRlU2VhcmNoUGF0aCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPiQoTk1ha2VJbmNsdWRlU2VhcmNoUGF0aCk8L05NYWtlSW5jbHVkZVNlYXJjaFBhdGg+Ci0gICAgPE5NYWtlRm9yY2VkSW5jbHVkZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj4kKE5NYWtlRm9yY2VkSW5jbHVkZXMpPC9OTWFrZUZvcmNlZEluY2x1ZGVzPgotICAgIDxOTWFrZUFzc2VtYmx5U2VhcmNoUGF0aCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPiQoTk1ha2VBc3NlbWJseVNlYXJjaFBhdGgpPC9OTWFrZUFzc2VtYmx5U2VhcmNoUGF0aD4KLSAgICA8Tk1ha2VGb3JjZWRVc2luZ0Fzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj4kKE5NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzKTwvTk1ha2VGb3JjZWRVc2luZ0Fzc2VtYmxpZXM+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPSJweXRob24udmN4cHJvaiI+Ci0gICAgICA8UHJvamVjdD57YjExZDc1MGYtY2QxZi00YTk2LTg1Y2UtZTY5YTVjNTI1OWY5fTwvUHJvamVjdD4KLSAgICAgIDxSZWZlcmVuY2VPdXRwdXRBc3NlbWJseT5mYWxzZTwvUmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+Ci0gICAgPC9Qcm9qZWN0UmVmZXJlbmNlPgotICA8L0l0ZW1Hcm91cD4KLSAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4KLSAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25UYXJnZXRzIj4KLSAgPC9JbXBvcnRHcm91cD4KLTwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9QQ2J1aWxkL3NzbGVheS52Y3hwcm9qIGIvUENidWlsZC9zc2xlYXkudmN4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYThjNWQzCi0tLSAvZGV2L251bGwKKysrIGIvUENidWlsZC9zc2xlYXkudmN4cHJvagpAQCAtMCwwICsxLDExOSBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICA8SXRlbUdyb3VwIExhYmVsPSJQcm9qZWN0Q29uZmlndXJhdGlvbnMiPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJEZWJ1Z3xXaW4zMiI+CisgICAgICA8Q29uZmlndXJhdGlvbj5EZWJ1ZzwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZXxXaW4zMiI+CisgICAgICA8Q29uZmlndXJhdGlvbj5SZWxlYXNlPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJQR0luc3RydW1lbnR8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UEdJbnN0cnVtZW50PC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJQR0luc3RydW1lbnR8eDY0Ij4KKyAgICAgIDxDb25maWd1cmF0aW9uPlBHSW5zdHJ1bWVudDwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlBHVXBkYXRlfFdpbjMyIj4KKyAgICAgIDxDb25maWd1cmF0aW9uPlBHVXBkYXRlPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJQR1VwZGF0ZXx4NjQiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UEdVcGRhdGU8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJEZWJ1Z3x4NjQiPgorICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJSZWxlYXNlfHg2NCI+CisgICAgICA8Q29uZmlndXJhdGlvbj5SZWxlYXNlPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgPC9JdGVtR3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KKyAgICA8UHJvamVjdEd1aWQ+ezEwNjE1QjI0LTczQkYtNEVGQS05M0FBLTIzNjkxNjMyMTMxN308L1Byb2plY3RHdWlkPgorICAgIDxSb290TmFtZXNwYWNlPnNzbGVheTwvUm9vdE5hbWVzcGFjZT4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorCisgIDxJbXBvcnQgUHJvamVjdD0icHl0aG9uLnByb3BzIiAvPgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgorCisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+U3RhdGljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+CisgIDwvUHJvcGVydHlHcm91cD4KKworICA8SW1wb3J0IFByb2plY3Q9Im9wZW5zc2wucHJvcHMiIC8+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgorCisgIDxJdGVtR3JvdXA+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFxiaW9fc3NsLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpc3NsXGQxX2JvdGguYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpc3NsXGQxX2NsbnQuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcZDFfZW5jLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpc3NsXGQxX2xpYi5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcZDFfbWV0aC5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFxkMV9wa3QuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcZDFfc3J0cC5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcZDFfc3J2ci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFxrc3NsLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpc3NsXHMyX2NsbnQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcczJfZW5jLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpc3NsXHMyX2xpYi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFxzMl9tZXRoLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpc3NsXHMyX3BrdC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFxzMl9zcnZyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpc3NsXHMyM19jbG50LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpc3NsXHMyM19saWIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcczIzX21ldGguYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcczIzX3BrdC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFxzMjNfc3J2ci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFxzM19ib3RoLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpc3NsXHMzX2NiYy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFxzM19jbG50LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpc3NsXHMzX2VuYy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFxzM19saWIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcczNfbWV0aC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFxzM19wa3QuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcczNfc3J2ci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFxzc2xfYWxncy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFxzc2xfYXNuMS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFxzc2xfY2VydC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFxzc2xfY2lwaC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFxzc2xfZXJyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpc3NsXHNzbF9lcnIyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpc3NsXHNzbF9saWIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcc3NsX3JzYS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFxzc2xfc2Vzcy5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcc3NsX3N0YXQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcc3NsX3R4dC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFxzc2xfdXRzdC5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFx0MV9jbG50LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpc3NsXHQxX2VuYy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFx0MV9saWIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcdDFfbWV0aC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFx0MV9yZW5lZy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFx0MV9zcnZyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpc3NsXHRsc19zcnAuYyIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIAorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC50YXJnZXRzIiAvPgorICA8VGFyZ2V0IE5hbWU9IkNsZWFuIiAvPgorICA8VGFyZ2V0IE5hbWU9IkNsZWFuQWxsIj4KKyAgICA8RGVsZXRlIEZpbGVzPSIkKFRhcmdldFBhdGgpIiAvPgorICAgIDxSZW1vdmVEaXIgRGlyZWN0b3JpZXM9IiQoSW50RGlyKSIgLz4KKyAgPC9UYXJnZXQ+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvUENidWlsZC90Y2wudmN4cHJvaiBiL1BDYnVpbGQvdGNsLnZjeHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGYyNTQ0YQotLS0gL2Rldi9udWxsCisrKyBiL1BDYnVpbGQvdGNsLnZjeHByb2oKQEAgLTAsMCArMSw5MCBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICA8SXRlbUdyb3VwIExhYmVsPSJQcm9qZWN0Q29uZmlndXJhdGlvbnMiPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJEZWJ1Z3xXaW4zMiI+CisgICAgICA8Q29uZmlndXJhdGlvbj5EZWJ1ZzwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZXxXaW4zMiI+CisgICAgICA8Q29uZmlndXJhdGlvbj5SZWxlYXNlPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJQR0luc3RydW1lbnR8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UEdJbnN0cnVtZW50PC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJQR0luc3RydW1lbnR8eDY0Ij4KKyAgICAgIDxDb25maWd1cmF0aW9uPlBHSW5zdHJ1bWVudDwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlBHVXBkYXRlfFdpbjMyIj4KKyAgICAgIDxDb25maWd1cmF0aW9uPlBHVXBkYXRlPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJQR1VwZGF0ZXx4NjQiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UEdVcGRhdGU8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJEZWJ1Z3x4NjQiPgorICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJSZWxlYXNlfHg2NCI+CisgICAgICA8Q29uZmlndXJhdGlvbj5SZWxlYXNlPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgPC9JdGVtR3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KKyAgICA8UHJvamVjdEd1aWQ+e0I1RkQ2RjFELTEyOUUtNEJGRi05MzQwLTAzNjA2RkFDNzI4M308L1Byb2plY3RHdWlkPgorICA8L1Byb3BlcnR5R3JvdXA+CisKKyAgPEltcG9ydCBQcm9qZWN0PSJweXRob24ucHJvcHMiIC8+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+CisgIDxJbXBvcnQgUHJvamVjdD0idGNsdGsucHJvcHMiIC8+CisgIAorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPk1ha2VmaWxlPC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8T3V0RGlyPiQodGNsdGtEaXIpPC9PdXREaXI+CisgICAgPFRhcmdldFBhdGg+JChPdXREaXIpYmluXCQodGNsRExMTmFtZSk8L1RhcmdldFBhdGg+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgCisgIDxJdGVtR3JvdXA+CisgICAgPEV4cGVjdGVkT3V0cHV0cyBJbmNsdWRlPSIKKyAgICAgICAgJChPdXREaXIpXGJpblwkKHRjbERMTE5hbWUpOworICAgICAgICAkKE91dERpcilcYmluXCQodGNsU2hFeGVOYW1lKTsKKyAgICAgICAgJChPdXREaXIpXGluY2x1ZGVcdGNsLmg7CisgICAgICAgICQoT3V0RGlyKVxsaWJcdGNsJChUY2xNYWpvclZlcnNpb24pOworICAgICAgICAkKE91dERpcilcbGliXHRjbCQoVGNsTWFqb3JWZXJzaW9uKS4kKFRjbE1pbm9yVmVyc2lvbik7CisgICAgICAgICQoT3V0RGlyKVxsaWJcJCh0Y2xMaWJOYW1lKSIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIAorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KKyAgCisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxUY2xPcHRzIENvbmRpdGlvbj0iJChDb25maWd1cmF0aW9uKSA9PSAnRGVidWcnIj5zeW1ib2xzPC9UY2xPcHRzPgorICAgIDxUY2xEaXJzPklOU1RBTExESVI9IiQoT3V0RGlyLlRyaW1FbmQoYFxgKSkiIElOU1RBTExfRElSPSIkKE91dERpci5UcmltRW5kKGBcYCkpIjwvVGNsRGlycz4KKyAgICA8RGVidWdGbGFncyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pJyA9PSAnRGVidWcnIj5ERUJVR0ZMQUdTPSItd2Q0NDU2IC13ZDQ0NTcgLXdkNDQ1OCAtd2Q0NDU5IC13ZDQ5OTYiPC9EZWJ1Z0ZsYWdzPgorICAgIDxOTWFrZUJ1aWxkQ29tbWFuZExpbmU+c2V0bG9jYWwKK0AoRXhwZWN0ZWRPdXRwdXRzLT4naWYgbm90IGV4aXN0ICIlKEZ1bGxQYXRoKSIgZ290byBidWlsZCcsJworJykKK2dvdG8gOmVvZgorOmJ1aWxkCitzZXQgVkNJTlNUQUxMRElSPSQoVkNJbnN0YWxsRGlyKQorY2QgL0QgIiQodGNsRGlyKXdpbiIKK25tYWtlIC1mIG1ha2VmaWxlLnZjIE1BQ0hJTkU9JChUY2xNYWNoaW5lKSBPUFRTPSQoVGNsT3B0cykgJChUY2xEaXJzKSAkKERlYnVnRmxhZ3MpIGNvcmUgc2hlbGwgZGxscworbm1ha2UgLWYgbWFrZWZpbGUudmMgTUFDSElORT0kKFRjbE1hY2hpbmUpIE9QVFM9JChUY2xPcHRzKSAkKFRjbERpcnMpICQoRGVidWdGbGFncykgaW5zdGFsbC1iaW5hcmllcyBpbnN0YWxsLWxpYnJhcmllcworPC9OTWFrZUJ1aWxkQ29tbWFuZExpbmU+CisgIDwvUHJvcGVydHlHcm91cD4KKworICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC50YXJnZXRzIiAvPgorICAKKyAgPFRhcmdldCBOYW1lPSJDb3B5RGxsIiBJbnB1dHM9IiQoT3V0RGlyKVxiaW5cJCh0Y2xETExOYW1lKSIgT3V0cHV0cz0iJChCdWlsZFBhdGgpJCh0Y2xETExOYW1lKSIgQWZ0ZXJUYXJnZXRzPSJCdWlsZCI+CisgICAgPENvcHkgU291cmNlRmlsZXM9IiQoT3V0RGlyKVxiaW5cJCh0Y2xETExOYW1lKSIgRGVzdGluYXRpb25GaWxlcz0iJChCdWlsZFBhdGgpJCh0Y2xETExOYW1lKSIgLz4KKyAgPC9UYXJnZXQ+CisgIAorICA8VGFyZ2V0IE5hbWU9IkNsZWFuIiAvPgorICA8VGFyZ2V0IE5hbWU9IkNsZWFuQWxsIj4KKyAgICA8RGVsZXRlIEZpbGVzPSIkKFRhcmdldFBhdGgpOyQoQnVpbGRQYXRoKSQodGNsRExMTmFtZSkiIC8+CisgICAgPFJlbW92ZURpciBEaXJlY3Rvcmllcz0iJChJbnREaXIpIiAvPgorICA8L1RhcmdldD4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9QQ2J1aWxkL3RjbHRrLnByb3BzIGIvUENidWlsZC90Y2x0ay5wcm9wcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNWE4NjQzCi0tLSAvZGV2L251bGwKKysrIGIvUENidWlsZC90Y2x0ay5wcm9wcwpAQCAtMCwwICsxLDQ1IEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KKyAgPFByb3BlcnR5R3JvdXA+CisgICAgPFRjbE1ham9yVmVyc2lvbj44PC9UY2xNYWpvclZlcnNpb24+CisgICAgPFRjbE1pbm9yVmVyc2lvbj42PC9UY2xNaW5vclZlcnNpb24+CisgICAgPFRjbFBhdGNoTGV2ZWw+MzwvVGNsUGF0Y2hMZXZlbD4KKyAgICA8VGNsUmV2aXNpb24+MTwvVGNsUmV2aXNpb24+CisgICAgPFRrTWFqb3JWZXJzaW9uPiQoVGNsTWFqb3JWZXJzaW9uKTwvVGtNYWpvclZlcnNpb24+CisgICAgPFRrTWlub3JWZXJzaW9uPiQoVGNsTWlub3JWZXJzaW9uKTwvVGtNaW5vclZlcnNpb24+CisgICAgPFRrUGF0Y2hMZXZlbD4kKFRjbFBhdGNoTGV2ZWwpPC9Ua1BhdGNoTGV2ZWw+CisgICAgPFRrUmV2aXNpb24+JChUY2xSZXZpc2lvbik8L1RrUmV2aXNpb24+CisgICAgPFRpeE1ham9yVmVyc2lvbj44PC9UaXhNYWpvclZlcnNpb24+CisgICAgPFRpeE1pbm9yVmVyc2lvbj40PC9UaXhNaW5vclZlcnNpb24+CisgICAgPFRpeFBhdGNoTGV2ZWw+MzwvVGl4UGF0Y2hMZXZlbD4KKyAgICA8VGl4UmV2aXNpb24+NDwvVGl4UmV2aXNpb24+CisgICAgPHRjbERpcj4kKEV4dGVybmFsc0Rpcil0Y2wtY29yZS0kKFRjbE1ham9yVmVyc2lvbikuJChUY2xNaW5vclZlcnNpb24pLiQoVGNsUGF0Y2hMZXZlbCkuJChUY2xSZXZpc2lvbilcPC90Y2xEaXI+CisgICAgPHRrRGlyPiQoRXh0ZXJuYWxzRGlyKXRrLSQoVGtNYWpvclZlcnNpb24pLiQoVGtNaW5vclZlcnNpb24pLiQoVGtQYXRjaExldmVsKS4kKFRrUmV2aXNpb24pXDwvdGtEaXI+CisgICAgPHRpeERpcj4kKEV4dGVybmFsc0Rpcil0aXgtJChUaXhNYWpvclZlcnNpb24pLiQoVGl4TWlub3JWZXJzaW9uKS4kKFRpeFBhdGNoTGV2ZWwpLiQoVGl4UmV2aXNpb24pXDwvdGl4RGlyPgorICAgIDx0Y2x0a0Rpcj4kKEV4dGVybmFsc0Rpcil0Y2x0a1w8L3RjbHRrRGlyPgorICAgIDx0Y2x0a0RpciBDb25kaXRpb249IickKFBsYXRmb3JtKScgPT0gJ3g2NCciPiQoRXh0ZXJuYWxzRGlyKXRjbHRrNjRcPC90Y2x0a0Rpcj4KKyAgICA8VGNsRGVidWdFeHQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKScgPT0gJ0RlYnVnJyI+ZzwvVGNsRGVidWdFeHQ+CisgICAgPHRjbERMTE5hbWU+dGNsJChUY2xNYWpvclZlcnNpb24pJChUY2xNaW5vclZlcnNpb24pdCQoVGNsRGVidWdFeHQpLmRsbDwvdGNsRExMTmFtZT4KKyAgICA8dGNsTGliTmFtZT50Y2wkKFRjbE1ham9yVmVyc2lvbikkKFRjbE1pbm9yVmVyc2lvbil0JChUY2xEZWJ1Z0V4dCkubGliPC90Y2xMaWJOYW1lPgorICAgIDx0Y2xTaEV4ZU5hbWU+dGNsc2gkKFRjbE1ham9yVmVyc2lvbikkKFRjbE1pbm9yVmVyc2lvbil0JChUY2xEZWJ1Z0V4dCkuZXhlPC90Y2xTaEV4ZU5hbWU+CisgICAgPHRrRExMTmFtZT50ayQoVGtNYWpvclZlcnNpb24pJChUa01pbm9yVmVyc2lvbil0JChUY2xEZWJ1Z0V4dCkuZGxsPC90a0RMTE5hbWU+CisgICAgPHRrTGliTmFtZT50ayQoVGtNYWpvclZlcnNpb24pJChUa01pbm9yVmVyc2lvbil0JChUY2xEZWJ1Z0V4dCkubGliPC90a0xpYk5hbWU+CisgICAgPHRpeERMTE5hbWU+dGl4JChUaXhNYWpvclZlcnNpb24pJChUaXhNaW5vclZlcnNpb24pJChUY2xEZWJ1Z0V4dCkuZGxsPC90aXhETExOYW1lPgorICAgIDx0aXhETExQYXRoPiQodGNsdGtEaXIpbGliXHRpeCQoVGl4TWFqb3JWZXJzaW9uKS4kKFRpeE1pbm9yVmVyc2lvbikuJChUaXhQYXRjaExldmVsKVwkKHRpeERMTE5hbWUpPC90aXhETExQYXRoPgorICAgIDx0Y2x0a0xpYj4kKHRjbHRrRGlyKWxpYlx0Y2wkKFRjbE1ham9yVmVyc2lvbikkKFRjbE1pbm9yVmVyc2lvbil0JChUY2xEZWJ1Z0V4dCkubGliOyQodGNsdGtEaXIpbGliXHRrJChUa01ham9yVmVyc2lvbikkKFRrTWlub3JWZXJzaW9uKXQkKFRjbERlYnVnRXh0KS5saWI8L3RjbHRrTGliPgorICAgIDxUY2xNYWNoaW5lPklYODY8L1RjbE1hY2hpbmU+CisgICAgPFRjbE1hY2hpbmUgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknID09ICd4NjQnIj5BTUQ2NDwvVGNsTWFjaGluZT4KKyAgICA8VGNsVmVyc2lvbnM+VENMX01BSk9SX1ZFUlNJT049JChUY2xNYWpvclZlcnNpb24pIFRDTF9NSU5PUl9WRVJTSU9OPSQoVGNsTWlub3JWZXJzaW9uKSBUQ0xfUEFUQ0hfTEVWRUw9JChUY2xQYXRjaExldmVsKTwvVGNsVmVyc2lvbnM+CisgICAgPFRjbFNob3J0VmVyc2lvbnM+VENMX01BSk9SPSQoVGNsTWFqb3JWZXJzaW9uKSBUQ0xfTUlOT1I9JChUY2xNaW5vclZlcnNpb24pIFRDTF9QQVRDSD0kKFRjbFBhdGNoTGV2ZWwpPC9UY2xTaG9ydFZlcnNpb25zPgorICAgIDxUa1ZlcnNpb25zPlRLX01BSk9SX1ZFUlNJT049JChUa01ham9yVmVyc2lvbikgVEtfTUlOT1JfVkVSU0lPTj0kKFRrTWlub3JWZXJzaW9uKSBUS19QQVRDSF9MRVZFTD0kKFRrUGF0Y2hMZXZlbCk8L1RrVmVyc2lvbnM+CisKKyAgICA8QnVpbGREaXJUb3A+UmVsZWFzZTwvQnVpbGREaXJUb3A+CisgICAgPEJ1aWxkRGlyVG9wIENvbmRpdGlvbj0iJChDb25maWd1cmF0aW9uKSA9PSAnRGVidWcnIj5EZWJ1ZzwvQnVpbGREaXJUb3A+CisgICAgPEJ1aWxkRGlyVG9wIENvbmRpdGlvbj0iJChUY2xNYWNoaW5lKSAhPSAnSVg4NiciPiQoQnVpbGREaXJUb3ApXyQoVGNsTWFjaGluZSk8L0J1aWxkRGlyVG9wPgorICAgIDxCdWlsZERpclRvcCBDb25kaXRpb249IiQoVmlzdWFsU3R1ZGlvVmVyc2lvbikgPT0gJzE0LjAnIj4kKEJ1aWxkRGlyVG9wKV9WQzEzPC9CdWlsZERpclRvcD4KKyAgICA8QnVpbGREaXJUb3AgQ29uZGl0aW9uPSIkKFZpc3VhbFN0dWRpb1ZlcnNpb24pID09ICcxMi4wJyI+JChCdWlsZERpclRvcClfVkMxMjwvQnVpbGREaXJUb3A+CisgICAgPEJ1aWxkRGlyVG9wIENvbmRpdGlvbj0iJChWaXN1YWxTdHVkaW9WZXJzaW9uKSA9PSAnMTEuMCciPiQoQnVpbGREaXJUb3ApX1ZDMTE8L0J1aWxkRGlyVG9wPgorICAgIDxCdWlsZERpclRvcCBDb25kaXRpb249IiQoVmlzdWFsU3R1ZGlvVmVyc2lvbikgPT0gJzEwLjAnIj4kKEJ1aWxkRGlyVG9wKV9WQzEwPC9CdWlsZERpclRvcD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1BDYnVpbGQvdGl4LnZjeHByb2ogYi9QQ2J1aWxkL3RpeC52Y3hwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc0YTZiODQKLS0tIC9kZXYvbnVsbAorKysgYi9QQ2J1aWxkL3RpeC52Y3hwcm9qCkBAIC0wLDAgKzEsOTQgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgPEl0ZW1Hcm91cCBMYWJlbD0iUHJvamVjdENvbmZpZ3VyYXRpb25zIj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWd8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUEdJbnN0cnVtZW50fFdpbjMyIj4KKyAgICAgIDxDb25maWd1cmF0aW9uPlBHSW5zdHJ1bWVudDwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUEdJbnN0cnVtZW50fHg2NCI+CisgICAgICA8Q29uZmlndXJhdGlvbj5QR0luc3RydW1lbnQ8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJQR1VwZGF0ZXxXaW4zMiI+CisgICAgICA8Q29uZmlndXJhdGlvbj5QR1VwZGF0ZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUEdVcGRhdGV8eDY0Ij4KKyAgICAgIDxDb25maWd1cmF0aW9uPlBHVXBkYXRlPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWd8eDY0Ij4KKyAgICAgIDxDb25maWd1cmF0aW9uPkRlYnVnPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZXx4NjQiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgIDwvSXRlbUdyb3VwPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+CisgICAgPFByb2plY3RHdWlkPntDNUEzRTdGQi05Njk1LTRCMkUtOTYwQi0xRDlGNDNGMUU1NTV9PC9Qcm9qZWN0R3VpZD4KKyAgICA8Um9vdE5hbWVzcGFjZT50aXg8L1Jvb3ROYW1lc3BhY2U+CisgIDwvUHJvcGVydHlHcm91cD4KKworICA8SW1wb3J0IFByb2plY3Q9InB5dGhvbi5wcm9wcyIgLz4KKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KKyAgPEltcG9ydCBQcm9qZWN0PSJ0Y2x0ay5wcm9wcyIgLz4KKyAgCisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+TWFrZWZpbGU8L0NvbmZpZ3VyYXRpb25UeXBlPgorICAgIDxPdXREaXI+JCh0Y2x0a0Rpcik8L091dERpcj4KKyAgICA8VGFyZ2V0UGF0aD4kKHRpeERMTFBhdGgpPC9UYXJnZXRQYXRoPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIAorICA8SXRlbUdyb3VwPgorICAgIDxFeHBlY3RlZE91dHB1dHMgSW5jbHVkZT0iJChUYXJnZXRQYXRoKSIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIAorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KKyAgCisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxUa09wdHM+bXN2Y3J0PC9Ua09wdHM+CisgICAgPFRrT3B0cyBDb25kaXRpb249IiQoQ29uZmlndXJhdGlvbikgPT0gJ0RlYnVnJyI+c3ltYm9scyxtc3ZjcnQ8L1RrT3B0cz4KKyAgICA8VGl4RGlycz5CVUlMRERJUlRPUD0iJChCdWlsZERpclRvcCkiIFRDTF9ESVI9IiQodGNsRGlyLlRyaW1FbmQoYFxgKSkiIFRLX0RJUj0iJCh0a0Rpci5UcmltRW5kKGBcYCkpIiBJTlNUQUxMX0RJUj0iJChPdXREaXIuVHJpbUVuZChgXGApKSI8L1RpeERpcnM+CisgICAgPERlYnVnRmxhZ3MgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKScgPT0gJ0RlYnVnJyI+REVCVUc9MSBOT0RFQlVHPTAgVENMX0RCR1g9ZyBERUJVR0ZMQUdTPSItd2Q0NDU2IC13ZDQ0NTcgLXdkNDQ1OCAtd2Q0NDU5IC13ZDQ5OTYiPC9EZWJ1Z0ZsYWdzPgorICAgIDxEZWJ1Z0ZsYWdzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbiknICE9ICdEZWJ1ZyciPkRFQlVHPTAgTk9ERUJVRz0xPC9EZWJ1Z0ZsYWdzPgorICAgIDxOTWFrZUJ1aWxkQ29tbWFuZExpbmU+c2V0bG9jYWwKK0AoRXhwZWN0ZWRPdXRwdXRzLT4naWYgbm90IGV4aXN0ICIlKEZ1bGxQYXRoKSIgZ290byBidWlsZCcsJworJykKK2dvdG8gOmVvZgorOmJ1aWxkCitzZXQgVkNJTlNUQUxMRElSPSQoVkNJbnN0YWxsRGlyKQorY2QgL0QgIiQodGl4RGlyKXdpbiIKK25tYWtlIC9ub2xvZ28gLWYgbWFrZWZpbGUudmMgTUFDSElORT0kKFRjbE1hY2hpbmUpICQoRGVidWdGbGFncykgJChUY2xTaG9ydFZlcnNpb25zKSAkKFRpeERpcnMpIGFsbCBpbnN0YWxsCis8L05NYWtlQnVpbGRDb21tYW5kTGluZT4KKyAgICA8Tk1ha2VDbGVhbkNvbW1hbmRMaW5lPnJtZGlyIC9xL3MgIiQoT3V0RGlyLlRyaW1FbmQoYFxgKSkiPC9OTWFrZUNsZWFuQ29tbWFuZExpbmU+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgCisgIDxJdGVtR3JvdXA+CisgICAgPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0idGNsLnZjeHByb2oiPgorICAgICAgPFByb2plY3Q+e2I1ZmQ2ZjFkLTEyOWUtNGJmZi05MzQwLTAzNjA2ZmFjNzI4M308L1Byb2plY3Q+CisgICAgICA8UmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+ZmFsc2U8L1JlZmVyZW5jZU91dHB1dEFzc2VtYmx5PgorICAgIDwvUHJvamVjdFJlZmVyZW5jZT4KKyAgICA8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPSJ0ay52Y3hwcm9qIj4KKyAgICAgIDxQcm9qZWN0Pns3ZTg1ZWNjZi1hNzJjLTRkYTQtOWU1Mi04ODQ1MDhlODBiYTF9PC9Qcm9qZWN0PgorICAgICAgPFJlZmVyZW5jZU91dHB1dEFzc2VtYmx5PmZhbHNlPC9SZWZlcmVuY2VPdXRwdXRBc3NlbWJseT4KKyAgICA8L1Byb2plY3RSZWZlcmVuY2U+CisgIDwvSXRlbUdyb3VwPgorCisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+CisKKyAgPFRhcmdldCBOYW1lPSJDbGVhbiIgLz4KKyAgPFRhcmdldCBOYW1lPSJDbGVhbkFsbCI+CisgICAgPFJlbW92ZURpciBEaXJlY3Rvcmllcz0iJChPdXREaXIpIiAvPgorICAgIDxSZW1vdmVEaXIgRGlyZWN0b3JpZXM9IiQoSW50RGlyKSIgLz4KKyAgPC9UYXJnZXQ+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvUENidWlsZC90ay52Y3hwcm9qIGIvUENidWlsZC90ay52Y3hwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIwNzQ5ZjcKLS0tIC9kZXYvbnVsbAorKysgYi9QQ2J1aWxkL3RrLnZjeHByb2oKQEAgLTAsMCArMSw5NSBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICA8SXRlbUdyb3VwIExhYmVsPSJQcm9qZWN0Q29uZmlndXJhdGlvbnMiPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJEZWJ1Z3xXaW4zMiI+CisgICAgICA8Q29uZmlndXJhdGlvbj5EZWJ1ZzwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZXxXaW4zMiI+CisgICAgICA8Q29uZmlndXJhdGlvbj5SZWxlYXNlPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJQR0luc3RydW1lbnR8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UEdJbnN0cnVtZW50PC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJQR0luc3RydW1lbnR8eDY0Ij4KKyAgICAgIDxDb25maWd1cmF0aW9uPlBHSW5zdHJ1bWVudDwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlBHVXBkYXRlfFdpbjMyIj4KKyAgICAgIDxDb25maWd1cmF0aW9uPlBHVXBkYXRlPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJQR1VwZGF0ZXx4NjQiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UEdVcGRhdGU8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJEZWJ1Z3x4NjQiPgorICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJSZWxlYXNlfHg2NCI+CisgICAgICA8Q29uZmlndXJhdGlvbj5SZWxlYXNlPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgPC9JdGVtR3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KKyAgICA8UHJvamVjdEd1aWQ+ezdFODVFQ0NGLUE3MkMtNERBNC05RTUyLTg4NDUwOEU4MEJBMX08L1Byb2plY3RHdWlkPgorICAgIDxSb290TmFtZXNwYWNlPnRrPC9Sb290TmFtZXNwYWNlPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIAorICA8SW1wb3J0IFByb2plY3Q9InB5dGhvbi5wcm9wcyIgLz4KKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KKyAgPEltcG9ydCBQcm9qZWN0PSJ0Y2x0ay5wcm9wcyIgLz4KKyAgCisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+TWFrZWZpbGU8L0NvbmZpZ3VyYXRpb25UeXBlPgorICAgIDxPdXREaXI+JCh0Y2x0a0Rpcik8L091dERpcj4KKyAgICA8VGFyZ2V0UGF0aD4kKE91dERpciliaW5cJCh0a0RMTE5hbWUpPC9UYXJnZXRQYXRoPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIAorICA8SXRlbUdyb3VwPgorICAgIDxFeHBlY3RlZE91dHB1dHMgSW5jbHVkZT0iCisgICAgICAgICQoT3V0RGlyKWJpblwkKHRrRExMTmFtZSk7CisgICAgICAgICQoT3V0RGlyKWluY2x1ZGVcdGsuaDsKKyAgICAgICAgJChPdXREaXIpbGliXCQodGtMaWJOYW1lKTsKKyAgICAgICAgJChPdXREaXIpbGliXHRrJChUa01ham9yVmVyc2lvbikuJChUa01pbm9yVmVyc2lvbikiIC8+CisgIDwvSXRlbUdyb3VwPgorICAKKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+CisgIAorICA8UHJvcGVydHlHcm91cD4KKyAgICA8VGtPcHRzPm1zdmNydDwvVGtPcHRzPgorICAgIDxUa09wdHMgQ29uZGl0aW9uPSIkKENvbmZpZ3VyYXRpb24pID09ICdEZWJ1ZyciPnN5bWJvbHMsbXN2Y3J0PC9Ua09wdHM+CisgICAgPFRrRGlycz5UQ0xESVI9IiQodGNsRGlyLlRyaW1FbmQoYFxgKSkiIElOU1RBTExESVI9IiQoT3V0RGlyLlRyaW1FbmQoYFxgKSkiPC9Ua0RpcnM+CisgICAgPERlYnVnRmxhZ3MgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKScgPT0gJ0RlYnVnJyI+REVCVUdGTEFHUz0iLXdkNDQ1NiAtd2Q0NDU3IC13ZDQ0NTggLXdkNDQ1OSAtd2Q0OTk2IjwvRGVidWdGbGFncz4KKyAgICA8Tk1ha2VCdWlsZENvbW1hbmRMaW5lPnNldGxvY2FsCitAKEV4cGVjdGVkT3V0cHV0cy0+J2lmIG5vdCBleGlzdCAiJShGdWxsUGF0aCkiIGdvdG8gYnVpbGQnLCcKKycpCitnb3RvIDplb2YKKzpidWlsZAorc2V0IFZDSU5TVEFMTERJUj0kKFZDSW5zdGFsbERpcikKK2NkIC9EICIkKHRrRGlyKXdpbiIKK25tYWtlIC9ub2xvZ28gLWYgbWFrZWZpbGUudmMgUkM9cmMgTUFDSElORT0kKFRjbE1hY2hpbmUpIE9QVFM9JChUa09wdHMpICQoVGtEaXJzKSAkKERlYnVnRmxhZ3MpIGFsbAorbm1ha2UgL25vbG9nbyAtZiBtYWtlZmlsZS52YyBSQz1yYyBNQUNISU5FPSQoVGNsTWFjaGluZSkgT1BUUz0kKFRrT3B0cykgJChUa0RpcnMpICQoRGVidWdGbGFncykgaW5zdGFsbC1iaW5hcmllcyBpbnN0YWxsLWxpYnJhcmllcworPC9OTWFrZUJ1aWxkQ29tbWFuZExpbmU+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPSJ0Y2wudmN4cHJvaiI+CisgICAgICA8UHJvamVjdD57YjVmZDZmMWQtMTI5ZS00YmZmLTkzNDAtMDM2MDZmYWM3MjgzfTwvUHJvamVjdD4KKyAgICAgIDxSZWZlcmVuY2VPdXRwdXRBc3NlbWJseT5mYWxzZTwvUmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+CisgICAgPC9Qcm9qZWN0UmVmZXJlbmNlPgorICA8L0l0ZW1Hcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4KKyAgCisgIDxUYXJnZXQgTmFtZT0iQ29weURsbCIgSW5wdXRzPSIkKE91dERpcilcYmluXCQodGtETExOYW1lKSIgT3V0cHV0cz0iJChCdWlsZFBhdGgpJCh0a0RMTE5hbWUpIiBBZnRlclRhcmdldHM9IkJ1aWxkIj4KKyAgICA8Q29weSBTb3VyY2VGaWxlcz0iJChPdXREaXIpXGJpblwkKHRrRExMTmFtZSkiIERlc3RpbmF0aW9uRmlsZXM9IiQoQnVpbGRQYXRoKSQodGtETExOYW1lKSIgLz4KKyAgPC9UYXJnZXQ+CisgIAorICA8VGFyZ2V0IE5hbWU9IkNsZWFuIiAvPgorICA8VGFyZ2V0IE5hbWU9IkNsZWFuQWxsIj4KKyAgICA8RGVsZXRlIEZpbGVzPSIkKFRhcmdldFBhdGgpOyQoQnVpbGRQYXRoKSQodGtETExOYW1lKSIgLz4KKyAgICA8UmVtb3ZlRGlyIERpcmVjdG9yaWVzPSIkKEludERpcikiIC8+CisgIDwvVGFyZ2V0PgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1BDYnVpbGQvdW5pY29kZWRhdGEudmN4cHJvaiBiL1BDYnVpbGQvdW5pY29kZWRhdGEudmN4cHJvagppbmRleCBjOWQ1Mjc4Li5hMzA3MWZiIDEwMDY0NAotLS0gYS9QQ2J1aWxkL3VuaWNvZGVkYXRhLnZjeHByb2oKKysrIGIvUENidWlsZC91bmljb2RlZGF0YS52Y3hwcm9qCkBAIC0zOSwxNzAgKzM5LDMxIEBACiAgICAgPFJvb3ROYW1lc3BhY2U+dW5pY29kZWRhdGE8L1Jvb3ROYW1lc3BhY2U+CiAgICAgPEtleXdvcmQ+V2luMzJQcm9qPC9LZXl3b3JkPgogICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0icHl0aG9uLnByb3BzIiAvPgogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgogICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+CiAgICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KICAgPC9Qcm9wZXJ0eUdyb3VwPgogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KKyAgPFByb3BlcnR5R3JvdXA+CisgICAgPFRhcmdldEV4dD4ucHlkPC9UYXJnZXRFeHQ+CisgIDwvUHJvcGVydHlHcm91cD4KICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25TZXR0aW5ncyI+CiAgIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KKyAgPEltcG9ydEdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGd1cGRhdGUucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGdpbnN0cnVtZW50LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWRfZC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGdpbnN0cnVtZW50LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZF9kLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgorICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgogICA8L0ltcG9ydEdyb3VwPgogICA8UHJvcGVydHlHcm91cCBMYWJlbD0iVXNlck1hY3JvcyIgLz4KICAgPFByb3BlcnR5R3JvdXA+CiAgICAgPF9Qcm9qZWN0RmlsZVZlcnNpb24+MTAuMC4zMDMxOS4xPC9fUHJvamVjdEZpbGVWZXJzaW9uPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KICAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgogICAgIDxMaW5rPgogICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxMjAwMDA8L0Jhc2VBZGRyZXNzPgogICAgIDwvTGluaz4KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxMaW5rPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxMjAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTIwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxMaW5rPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxMjAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPgotICAgIDxMaW5rPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxMjAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTIwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTIwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTIwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CiAgIDxJdGVtR3JvdXA+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxNb2R1bGVzXHVuaWNvZGVkYXRhX2RiLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxNb2R1bGVzXHVuaWNvZGVuYW1lX2RiLmgiIC8+CmRpZmYgLS1naXQgYS9QQ2J1aWxkL3ZzOXRvMTAucHkgYi9QQ2J1aWxkL3ZzOXRvMTAucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGViN2RhYjUuLjAwMDAwMDAKLS0tIGEvUENidWlsZC92czl0bzEwLnB5CisrKyAvZGV2L251bGwKQEAgLTEsNTYgKzAsMCBAQAotI1J1biB0aGlzIGZpbGUgYWZ0ZXIgYXV0b21hdGljIGNvbnZlcnNpb24gb2YgdGhlIFZpc3VhbFN0dWRpbyAyMDA4IHNvbHV0aW9uIGJ5IFZpc3VhbFN0dWRpbyAyMDEwLgotI1RoaXMgY2FuIGJlIGRvbmUgd2hlbmV2ZXIgdGhlIDIwMDggc29sdXRpb24gY2hhbmdlcy4KLSNJdCB3aWxsIG1ha2UgdGhlIG5lY2Vzc2FyeSBjbGVhbnVwIGFuZCB1cGRhdGVzIHRvIHRoZSB2Y3hwcm9qIGZpbGVzCi0jdGhlIC5wcm9wcyBmaWxlcyBuZWVkIHRvIGJlIG1haW50YWluZWQgYnkgaGFuZCBpZiB0aGUgLnZzcHJvcHMgZmlsZXMgY2hhbmdlCi0KLWZyb20gX19mdXR1cmVfXyBpbXBvcnQgd2l0aF9zdGF0ZW1lbnQKLWltcG9ydCBzeXMKLWltcG9ydCBvcwotaW1wb3J0IG9zLnBhdGgKLQotZGVmIHZzOXRvMTAoc3JjLCBkZXN0KToKLSAgICBmb3IgbmFtZSBpbiBvcy5saXN0ZGlyKHNyYyk6Ci0gICAgICAgIHBhdGgsIGV4dCA9IG9zLnBhdGguc3BsaXRleHQobmFtZSkKLSAgICAgICAgaWYgZXh0Lmxvd2VyKCkgbm90IGluICgnLnZjeHByb2onLCk6Ci0gICAgICAgICAgICBjb250aW51ZQotCi0gICAgICAgIGZpbGVuYW1lID0gb3MucGF0aC5ub3JtcGF0aChvcy5wYXRoLmpvaW4oc3JjLCBuYW1lKSkKLSAgICAgICAgZGVzdG5hbWUgPSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbihkZXN0LCBuYW1lKSkKLSAgICAgICAgcHJpbnQoIiVzIC0+ICVzIiAlIChmaWxlbmFtZSwgZGVzdG5hbWUpKQotCi0gICAgICAgIGxpbmVzID0gW10KLSAgICAgICAgbGFzdGxpbmUgPSBiIiIKLSAgICAgICAgaW1wb3J0Z3JvdXAgPSBGYWxzZQotICAgICAgICB3aXRoIG9wZW4oZmlsZW5hbWUsICdyYicpIGFzIGZpbjoKLSAgICAgICAgICAgIGZvciBsaW5lIGluIGZpbjoKLSAgICAgICAgICAgICAgICAjcmVtb3ZlIHJlZHVuZGFudCBsaW5rZXIgb3V0cHV0IGluZm8KLSAgICAgICAgICAgICAgICBpZiBiIjxPdXRwdXRMaW5lPiIgaW4gbGluZToKLSAgICAgICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgICAgICBpZiBiIjxQcm9ncmFtRGF0YWJhc2VGaWxlPiIgaW4gbGluZToKLSAgICAgICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgICAgICBpZiBiIjxJbXBvcnRMaWJyYXJ5PiIgaW4gbGluZSBhbmQgYiI8L0ltcG9ydExpYnJhcnk+IiBpbiBsaW5lOgotICAgICAgICAgICAgICAgICAgICBjb250aW51ZQotCi0gICAgICAgICAgICAgICAgI2FkZCBuZXcgcHJvcGVydHkgc2hlZXQgdG8gdGhlIHB5dGhvbmNvcmUKLSAgICAgICAgICAgICAgICBpZiBpbXBvcnRncm91cCBhbmQgInB5dGhvbmNvcmUiIGluIG5hbWUubG93ZXIoKToKLSAgICAgICAgICAgICAgICAgICAgaWYgYiI8L0ltcG9ydEdyb3VwPiIgaW4gbGluZToKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIGIiZGVidWcucHJvcHMiIGluIGxhc3RsaW5lOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVzLmFwcGVuZChiJyAgICA8SW1wb3J0IFByb2plY3Q9InB5dGhvbmNvcmVfZC5wcm9wcyIgLz5cclxuJykKLSAgICAgICAgICAgICAgICAgICAgICAgIGVsaWYgYiJweXRob25jb3JlIiBub3QgaW4gbGFzdGxpbmU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZXMuYXBwZW5kKGInICAgIDxJbXBvcnQgUHJvamVjdD0icHl0aG9uY29yZS5wcm9wcyIgLz5cclxuJykKLSAgICAgICAgICAgICAgICBpZiBiIjxJbXBvcnRHcm91cCBDb25kaXRpb24iIGluIGxpbmU6Ci0gICAgICAgICAgICAgICAgICAgIGltcG9ydGdyb3VwID0gVHJ1ZQotICAgICAgICAgICAgICAgIGVsaWYgYiI8L0ltcG9ydEdyb3VwPiIgaW4gbGluZToKLSAgICAgICAgICAgICAgICAgICAgaW1wb3J0Z3JvdXAgPSBGYWxzZQotICAgICAgICAgICAgICAgIGxpbmVzLmFwcGVuZChsaW5lKQotICAgICAgICAgICAgICAgIGxhc3RsaW5lID0gbGluZQotICAgICAgICB3aXRoIG9wZW4oZGVzdG5hbWUsICd3YicpIGFzIGZvdXQ6Ci0gICAgICAgICAgICBmb3IgbGluZSBpbiBsaW5lczoKLSAgICAgICAgICAgICAgICBmb3V0LndyaXRlKGxpbmUpCi0KLWlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6Ci0gICAgc3JjID0gIi4iIGlmIGxlbihzeXMuYXJndikgPCAyIGVsc2Ugc3lzLmFyZ3ZbMV0KLSAgICBuYW1lID0gb3MucGF0aC5iYXNlbmFtZShvcy5wYXRoLmFic3BhdGgoc3JjKSkKLSAgICBkZXN0ID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguam9pbihzcmMsICIuLiIsIG5hbWUgKyAiVXBkIikpCi0gICAgb3MubWFrZWRpcnMoZGVzdCkKLSAgICB2czl0bzEwKHNyYywgZGVzdCkKZGlmZiAtLWdpdCBhL1BDYnVpbGQvdnM5dG84LnB5IGIvUENidWlsZC92czl0bzgucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNiODhhMTYuLjAwMDAwMDAKLS0tIGEvUENidWlsZC92czl0bzgucHkKKysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi1mcm9tIF9fZnV0dXJlX18gaW1wb3J0IHdpdGhfc3RhdGVtZW50Ci1pbXBvcnQgb3MKLQotZGVmIHZzOXRvOChzcmMsIGRlc3QpOgotICAgIGZvciBuYW1lIGluIG9zLmxpc3RkaXIoc3JjKToKLSAgICAgICAgcGF0aCwgZXh0ID0gb3MucGF0aC5zcGxpdGV4dChuYW1lKQotICAgICAgICBpZiBleHQubG93ZXIoKSBub3QgaW4gKCcuc2xuJywgJy52Y3Byb2onLCAnLnZzcHJvcHMnKToKLSAgICAgICAgICAgIGNvbnRpbnVlCi0KLSAgICAgICAgZmlsZW5hbWUgPSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbihzcmMsIG5hbWUpKQotICAgICAgICBkZXN0bmFtZSA9IG9zLnBhdGgubm9ybXBhdGgob3MucGF0aC5qb2luKGRlc3QsIG5hbWUpKQotICAgICAgICBwcmludCgiJXMgLT4gJXMiICUgKGZpbGVuYW1lLCBkZXN0bmFtZSkpCi0KLSAgICAgICAgd2l0aCBvcGVuKGZpbGVuYW1lLCAnclUnKSBhcyBmaW46Ci0gICAgICAgICAgICBsaW5lcyA9IGZpbi5yZWFkKCkKLSAgICAgICAgICAgIGxpbmVzID0gbGluZXMucmVwbGFjZSgnVmVyc2lvbj0iOSwwMCInLCAnVmVyc2lvbj0iOC4wMCInKQotICAgICAgICAgICAgbGluZXMgPSBsaW5lcy5yZXBsYWNlKCdWZXJzaW9uPSI5LjAwIicsICdWZXJzaW9uPSI4LjAwIicpCi0gICAgICAgICAgICBsaW5lcyA9IGxpbmVzLnJlcGxhY2UoJ0Zvcm1hdCBWZXJzaW9uIDEwLjAwJywgJ0Zvcm1hdCBWZXJzaW9uIDkuMDAnKQotICAgICAgICAgICAgbGluZXMgPSBsaW5lcy5yZXBsYWNlKCdWaXN1YWwgU3R1ZGlvIDIwMDgnLCAnVmlzdWFsIFN0dWRpbyAyMDA1JykKLQotICAgICAgICAgICAgbGluZXMgPSBsaW5lcy5yZXBsYWNlKCd3aW5pbnN0LTkuMCcsICd3aW5pbnN0LTguMCcpCi0gICAgICAgICAgICBsaW5lcyA9IGxpbmVzLnJlcGxhY2UoJy4uXFwnLCAnLi5cXC4uXFwnKQotICAgICAgICAgICAgbGluZXMgPSBsaW5lcy5yZXBsYWNlKCcuLlxcLi5cXC4uXFwuLlxcJywgJy4uXFwuLlxcLi5cXCcpCi0KLSAgICAgICAgICAgICMgQmFoLiBWUzguMCBkb2VzIG5vdCBleHBhbmQgbWFjcm9zIGluIGZpbGUgbmFtZXMuCi0gICAgICAgICAgICAjIFJlcGxhY2UgdGhlbSBoZXJlLgotICAgICAgICAgICAgbGluZXMgPSBsaW5lcy5yZXBsYWNlKCckKHNxbGl0ZTNEaXIpJywgJy4uXFwuLlxcLi5cXHNxbGl0ZS0zLjYuMjEnKQotCi0gICAgICAgIHdpdGggb3BlbihkZXN0bmFtZSwgJ3diJykgYXMgZm91dDoKLSAgICAgICAgICAgIGxpbmVzID0gbGluZXMucmVwbGFjZSgiXG4iLCAiXHJcbiIpLmVuY29kZSgpCi0gICAgICAgICAgICBmb3V0LndyaXRlKGxpbmVzKQotCi1pZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgotICAgIHZzOXRvOChzcmM9Ii4iLCBkZXN0PSIuLi9QQy9WUzguMCIpCmRpZmYgLS1naXQgYS9QQ2J1aWxkL3dpbnNvdW5kLnZjeHByb2ogYi9QQ2J1aWxkL3dpbnNvdW5kLnZjeHByb2oKaW5kZXggY2Y1MThlOS4uNTQwMjM1YSAxMDA2NDQKLS0tIGEvUENidWlsZC93aW5zb3VuZC52Y3hwcm9qCisrKyBiL1BDYnVpbGQvd2luc291bmQudmN4cHJvagpAQCAtMzksMTcwICszOSwzMSBAQAogICAgIDxSb290TmFtZXNwYWNlPndpbnNvdW5kPC9Sb290TmFtZXNwYWNlPgogICAgIDxLZXl3b3JkPldpbjMyUHJvajwvS2V5d29yZD4KICAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9InB5dGhvbi5wcm9wcyIgLz4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIj4KICAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgogICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+CiAgIDwvUHJvcGVydHlHcm91cD4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxUYXJnZXRFeHQ+LnB5ZDwvVGFyZ2V0RXh0PgorICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uU2V0dGluZ3MiPgogICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgogICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBnaW5zdHJ1bWVudC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkX2QucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGd1cGRhdGUucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBnaW5zdHJ1bWVudC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWRfZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KKyAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KICAgPC9JbXBvcnRHcm91cD4KICAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNyb3MiIC8+CiAgIDxQcm9wZXJ0eUdyb3VwPgogICAgIDxfUHJvamVjdEZpbGVWZXJzaW9uPjEwLjAuMzAzMTkuMTwvX1Byb2plY3RGaWxlVmVyc2lvbj4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+CiAgIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPgorICA8SXRlbURlZmluaXRpb25Hcm91cD4KICAgICA8TGluaz4KICAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndpbm1tLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgogICAgIDwvTGluaz4KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d2lubW0ubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d2lubW0ubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndpbm1tLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d2lubW0ubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d2lubW0ubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53aW5tbS5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndpbm1tLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KICAgPEl0ZW1Hcm91cD4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFBDXHdpbnNvdW5kLmMiIC8+CiAgIDwvSXRlbUdyb3VwPgpkaWZmIC0tZ2l0IGEvUENidWlsZC94NjQucHJvcHMgYi9QQ2J1aWxkL3g2NC5wcm9wcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTg1YzBlZi4uMDAwMDAwMAotLS0gYS9QQ2J1aWxkL3g2NC5wcm9wcworKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLe+7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Ci08UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNyb3MiIENvbmRpdGlvbj0iJyQoSE9TVF9QWVRIT04pJyE9JyciPgotICAgIDxQeXRob25FeGU+JChIT1NUX1BZVEhPTik8L1B5dGhvbkV4ZT4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEJ1ZmZlclNlY3VyaXR5Q2hlY2s+ZmFsc2U8L0J1ZmZlclNlY3VyaXR5Q2hlY2s+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X1dJTjY0O19NX1g2NDslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxCdWlsZE1hY3JvIEluY2x1ZGU9IlB5dGhvbkV4ZSI+Ci0gICAgICA8VmFsdWU+JChQeXRob25FeGUpPC9WYWx1ZT4KLSAgICA8L0J1aWxkTWFjcm8+Ci0gIDwvSXRlbUdyb3VwPgotPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvUENidWlsZC94eGxpbWl0ZWQudmN4cHJvaiBiL1BDYnVpbGQveHhsaW1pdGVkLnZjeHByb2oKaW5kZXggYWJmNDFmOS4uNDQ4NGRiYSAxMDA2NDQKLS0tIGEvUENidWlsZC94eGxpbWl0ZWQudmN4cHJvagorKysgYi9QQ2J1aWxkL3h4bGltaXRlZC52Y3hwcm9qCkBAIC0xLDYgKzEsMTQgQEAKIO+7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+CiA8UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KICAgPEl0ZW1Hcm91cCBMYWJlbD0iUHJvamVjdENvbmZpZ3VyYXRpb25zIj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWd8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVnfHg2NCI+CisgICAgICA8Q29uZmlndXJhdGlvbj5EZWJ1ZzwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CiAgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlBHSW5zdHJ1bWVudHxXaW4zMiI+CiAgICAgICA8Q29uZmlndXJhdGlvbj5QR0luc3RydW1lbnQ8L0NvbmZpZ3VyYXRpb24+CiAgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgpAQCAtMzEsMTU4ICszOSw0NCBAQAogICAgIDxSb290TmFtZXNwYWNlPnh4bGltaXRlZDwvUm9vdE5hbWVzcGFjZT4KICAgICA8S2V5d29yZD5XaW4zMlByb2o8L0tleXdvcmQ+CiAgIDwvUHJvcGVydHlHcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSJweXRob24ucHJvcHMiIC8+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIj4KICAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgogICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+CisgICAgPFN1cHBvcnRQR08+ZmFsc2U8L1N1cHBvcnRQR08+CiAgIDwvUHJvcGVydHlHcm91cD4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxUYXJnZXRFeHQ+LnB5ZDwvVGFyZ2V0RXh0PgorICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uU2V0dGluZ3MiPgogICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgogICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBnaW5zdHJ1bWVudC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+CisgICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+CiAgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiAvPgogICA8UHJvcGVydHlHcm91cD4KICAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjMwMzE5LjE8L19Qcm9qZWN0RmlsZVZlcnNpb24+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+CiAgIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgogICAgIDxDbENvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+TkRFQlVHO19XSU4zMjtfV0lORExMO1B5X0xJTUlURURfQVBJPTB4MDMwNDAwMDA8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPiUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpO1B5X0xJTUlURURfQVBJPTB4MDMwNDAwMDA8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgogICAgIDwvQ2xDb21waWxlPgogICAgIDxMaW5rPgogICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3NvY2szMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+bGliYzslKElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcyk8L0lnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz4KICAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTEwMDAwPC9CYXNlQWRkcmVzcz4KICAgICA8L0xpbms+CiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3NvY2szMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+bGliYzslKElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcyk8L0lnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTEwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPlB5X0xJTUlURURfQVBJPTB4MDMwNDAwMDA7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3NvY2szMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+bGliYzslKElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcyk8L0lnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTEwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53c29jazMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz5saWJjOyUoSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzKTwvSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxMTAwMDA8L0Jhc2VBZGRyZXNzPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+UHlfTElNSVRFRF9BUEk9MHgwMzA0MDAwMDslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53c29jazMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz5saWJjOyUoSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzKTwvSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxMTAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3NvY2szMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+bGliYzslKElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcyk8L0lnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTEwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CiAgIDxJdGVtR3JvdXA+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxNb2R1bGVzXHh4bGltaXRlZC5jIiAvPgogICA8L0l0ZW1Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPSJweXRob24zZGxsLnZjeHByb2oiPgorICAgICAgPFByb2plY3Q+ezg4NWQ0ODk4LWQwOGQtNDA5MS05YzQwLWM3MDBjZmUzZmM1YX08L1Byb2plY3Q+CisgICAgPC9Qcm9qZWN0UmVmZXJlbmNlPgorICA8L0l0ZW1Hcm91cD4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4KICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25UYXJnZXRzIj4KICAgPC9JbXBvcnRHcm91cD4KZGlmZiAtLWdpdCBhL1BhcnNlci9QeXRob24uYXNkbCBiL1BhcnNlci9QeXRob24uYXNkbAppbmRleCBkZWJkODllLi43OTJjYWI3IDEwMDY0NAotLS0gYS9QYXJzZXIvUHl0aG9uLmFzZGwKKysrIGIvUGFyc2VyL1B5dGhvbi5hc2RsCkBAIC05MSw3ICs5MSw3IEBACiAKICAgICBib29sb3AgPSBBbmQgfCBPciAKIAotICAgIG9wZXJhdG9yID0gQWRkIHwgU3ViIHwgTXVsdCB8IERpdiB8IE1vZCB8IFBvdyB8IExTaGlmdCAKKyAgICBvcGVyYXRvciA9IEFkZCB8IFN1YiB8IE11bHQgfCBNYXRNdWx0IHwgRGl2IHwgTW9kIHwgUG93IHwgTFNoaWZ0IAogICAgICAgICAgICAgICAgICB8IFJTaGlmdCB8IEJpdE9yIHwgQml0WG9yIHwgQml0QW5kIHwgRmxvb3JEaXYKIAogICAgIHVuYXJ5b3AgPSBJbnZlcnQgfCBOb3QgfCBVQWRkIHwgVVN1YgpkaWZmIC0tZ2l0IGEvUGFyc2VyL2FzZGwucHkgYi9QYXJzZXIvYXNkbC5weQppbmRleCBmYzFiMTZjLi4xMjFjZGFiIDEwMDY0NAotLS0gYS9QYXJzZXIvYXNkbC5weQorKysgYi9QYXJzZXIvYXNkbC5weQpAQCAtMSwyNTUgKzEsNTIgQEAKLSIiIkFuIGltcGxlbWVudGF0aW9uIG9mIHRoZSBaZXBoeXIgQWJzdHJhY3QgU3ludGF4IERlZmluaXRpb24gTGFuZ3VhZ2UuCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBQYXJzZXIgZm9yIEFTREwgWzFdIGRlZmluaXRpb24gZmlsZXMuIFJlYWRzIGluIGFuIEFTREwgZGVzY3JpcHRpb24gYW5kIHBhcnNlcworIyBpdCBpbnRvIGFuIEFTVCB0aGF0IGRlc2NyaWJlcyBpdC4KKyMKKyMgVGhlIEVCTkYgd2UncmUgcGFyc2luZyBoZXJlOiBGaWd1cmUgMSBvZiB0aGUgcGFwZXIgWzFdLiBFeHRlbmRlZCB0byBzdXBwb3J0CisjIG1vZHVsZXMgYW5kIGF0dHJpYnV0ZXMgYWZ0ZXIgYSBwcm9kdWN0LiBXb3JkcyBzdGFydGluZyB3aXRoIENhcGl0YWwgbGV0dGVycworIyBhcmUgdGVybWluYWxzLiBMaXRlcmFsIHRva2VucyBhcmUgaW4gImRvdWJsZSBxdW90ZXMiLiBPdGhlcnMgYXJlCisjIG5vbi10ZXJtaW5hbHMuIElkIGlzIGVpdGhlciBUb2tlbklkIG9yIENvbnN0cnVjdG9ySWQuCisjCisjIG1vZHVsZSAgICAgICAgOjo9ICJtb2R1bGUiIElkICJ7IiBbZGVmaW5pdGlvbnNdICJ9IgorIyBkZWZpbml0aW9ucyAgIDo6PSB7IFR5cGVJZCAiPSIgdHlwZSB9CisjIHR5cGUgICAgICAgICAgOjo9IHByb2R1Y3QgfCBzdW0KKyMgcHJvZHVjdCAgICAgICA6Oj0gZmllbGRzIFsiYXR0cmlidXRlcyIgZmllbGRzXQorIyBmaWVsZHMgICAgICAgIDo6PSAiKCIgeyBmaWVsZCwgIiwiIH0gZmllbGQgIikiCisjIGZpZWxkICAgICAgICAgOjo9IFR5cGVJZCBbIj8iIHwgIioiXSBbSWRdCisjIHN1bSAgICAgICAgICAgOjo9IGNvbnN0cnVjdG9yIHsgInwiIGNvbnN0cnVjdG9yIH0gWyJhdHRyaWJ1dGVzIiBmaWVsZHNdCisjIGNvbnN0cnVjdG9yICAgOjo9IENvbnN0cnVjdG9ySWQgW2ZpZWxkc10KKyMKKyMgWzFdICJUaGUgWmVwaHlyIEFic3RyYWN0IFN5bnRheCBEZXNjcmlwdGlvbiBMYW5ndWFnZSIgYnkgV2FuZywgZXQuIGFsLiBTZWUKKyMgICAgIGh0dHA6Ly9hc2RsLnNvdXJjZWZvcmdlLm5ldC8KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitmcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBuYW1lZHR1cGxlCitpbXBvcnQgcmUKIAotU2VlIGh0dHA6Ly9hc2RsLnNvdXJjZWZvcmdlLm5ldC8gYW5kCi1odHRwOi8vd3d3LmNzLnByaW5jZXRvbi5lZHUvcmVzZWFyY2gvdGVjaHJlcHMvVFItNTU0LTk3CitfX2FsbF9fID0gWworICAgICdidWlsdGluX3R5cGVzJywgJ3BhcnNlJywgJ0FTVCcsICdNb2R1bGUnLCAnVHlwZScsICdDb25zdHJ1Y3RvcicsCisgICAgJ0ZpZWxkJywgJ1N1bScsICdQcm9kdWN0JywgJ1Zpc2l0b3JCYXNlJywgJ0NoZWNrJywgJ2NoZWNrJ10KIAotT25seSBzdXBwb3J0cyB0b3AgbGV2ZWwgbW9kdWxlIGRlY2wsIG5vdCB2aWV3LiAgSSdtIGd1ZXNzaW5nIHRoYXQgdmlldwotaXMgaW50ZW5kZWQgdG8gc3VwcG9ydCB0aGUgYnJvd3NlciBhbmQgSSdtIG5vdCBpbnRlcmVzdGVkIGluIHRoZQotYnJvd3Nlci4KKyMgVGhlIGZvbGxvd2luZyBjbGFzc2VzIGRlZmluZSBub2RlcyBpbnRvIHdoaWNoIHRoZSBBU0RMIGRlc2NyaXB0aW9uIGlzIHBhcnNlZC4KKyMgTm90ZTogdGhpcyBpcyBhICJtZXRhLUFTVCIuIEFTREwgZmlsZXMgKHN1Y2ggYXMgUHl0aG9uLmFzZGwpIGRlc2NyaWJlIHRoZSBBU1QKKyMgc3RydWN0dXJlIHVzZWQgYnkgYSBwcm9ncmFtbWluZyBsYW5ndWFnZS4gQnV0IEFTREwgZmlsZXMgdGhlbXNlbHZlcyBuZWVkIHRvIGJlCisjIHBhcnNlZC4gVGhpcyBtb2R1bGUgcGFyc2VzIEFTREwgZmlsZXMgYW5kIHVzZXMgYSBzaW1wbGUgQVNUIHRvIHJlcHJlc2VudCB0aGVtLgorIyBTZWUgdGhlIEVCTkYgYXQgdGhlIHRvcCBvZiB0aGUgZmlsZSB0byB1bmRlcnN0YW5kIHRoZSBsb2dpY2FsIGNvbm5lY3Rpb24KKyMgYmV0d2VlbiB0aGUgdmFyaW91cyBub2RlIHR5cGVzLgogCi1DaGFuZ2VzIGZvciBQeXRob246IEFkZCBzdXBwb3J0IGZvciBtb2R1bGUgdmVyc2lvbnMKLSIiIgorYnVpbHRpbl90eXBlcyA9IHsnaWRlbnRpZmllcicsICdzdHJpbmcnLCAnYnl0ZXMnLCAnaW50JywgJ29iamVjdCcsICdzaW5nbGV0b24nfQogCi1pbXBvcnQgb3MKLWltcG9ydCBzeXMKLWltcG9ydCB0cmFjZWJhY2sKLQotaW1wb3J0IHNwYXJrCi0KLWRlZiBvdXRwdXQoKnN0cmluZ3MpOgotICAgIGZvciBzIGluIHN0cmluZ3M6Ci0gICAgICAgIHN5cy5zdGRvdXQud3JpdGUoc3RyKHMpICsgIlxuIikKLQotCi1jbGFzcyBUb2tlbihvYmplY3QpOgotICAgICMgc3Bhcmsgc2VlbXMgdG8gZGlzcGF0Y2ggaW4gdGhlIHBhcnNlciBiYXNlZCBvbiBhIHRva2VuJ3MKLSAgICAjIHR5cGUgYXR0cmlidXRlCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHR5cGUsIGxpbmVubyk6Ci0gICAgICAgIHNlbGYudHlwZSA9IHR5cGUKLSAgICAgICAgc2VsZi5saW5lbm8gPSBsaW5lbm8KLQotICAgIGRlZiBfX3N0cl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gc2VsZi50eXBlCi0KK2NsYXNzIEFTVDoKICAgICBkZWYgX19yZXByX18oc2VsZik6Ci0gICAgICAgIHJldHVybiBzdHIoc2VsZikKLQotY2xhc3MgSWQoVG9rZW4pOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCB2YWx1ZSwgbGluZW5vKToKLSAgICAgICAgc2VsZi50eXBlID0gJ0lkJwotICAgICAgICBzZWxmLnZhbHVlID0gdmFsdWUKLSAgICAgICAgc2VsZi5saW5lbm8gPSBsaW5lbm8KLQotICAgIGRlZiBfX3N0cl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gc2VsZi52YWx1ZQotCi1jbGFzcyBTdHJpbmcoVG9rZW4pOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCB2YWx1ZSwgbGluZW5vKToKLSAgICAgICAgc2VsZi50eXBlID0gJ1N0cmluZycKLSAgICAgICAgc2VsZi52YWx1ZSA9IHZhbHVlCi0gICAgICAgIHNlbGYubGluZW5vID0gbGluZW5vCi0KLWNsYXNzIEFTRExTeW50YXhFcnJvcihFeGNlcHRpb24pOgotCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGxpbmVubywgdG9rZW49Tm9uZSwgbXNnPU5vbmUpOgotICAgICAgICBzZWxmLmxpbmVubyA9IGxpbmVubwotICAgICAgICBzZWxmLnRva2VuID0gdG9rZW4KLSAgICAgICAgc2VsZi5tc2cgPSBtc2cKLQotICAgIGRlZiBfX3N0cl9fKHNlbGYpOgotICAgICAgICBpZiBzZWxmLm1zZyBpcyBOb25lOgotICAgICAgICAgICAgcmV0dXJuICJFcnJvciBhdCAnJXMnLCBsaW5lICVkIiAlIChzZWxmLnRva2VuLCBzZWxmLmxpbmVubykKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJldHVybiAiJXMsIGxpbmUgJWQiICUgKHNlbGYubXNnLCBzZWxmLmxpbmVubykKLQotY2xhc3MgQVNETFNjYW5uZXIoc3BhcmsuR2VuZXJpY1NjYW5uZXIsIG9iamVjdCk6Ci0KLSAgICBkZWYgdG9rZW5pemUoc2VsZiwgaW5wdXQpOgotICAgICAgICBzZWxmLnJ2ID0gW10KLSAgICAgICAgc2VsZi5saW5lbm8gPSAxCi0gICAgICAgIHN1cGVyKEFTRExTY2FubmVyLCBzZWxmKS50b2tlbml6ZShpbnB1dCkKLSAgICAgICAgcmV0dXJuIHNlbGYucnYKLQotICAgIGRlZiB0X2lkKHNlbGYsIHMpOgotICAgICAgICByIltcd1wuXSsiCi0gICAgICAgICMgWFhYIGRvZXNuJ3QgZGlzdGluZ3Vpc2ggdXBwZXIgdnMuIGxvd2VyLCB3aGljaCBpcwotICAgICAgICAjIHNpZ25pZmljYW50IGZvciBBU0RMLgotICAgICAgICBzZWxmLnJ2LmFwcGVuZChJZChzLCBzZWxmLmxpbmVubykpCi0KLSAgICBkZWYgdF9zdHJpbmcoc2VsZiwgcyk6Ci0gICAgICAgIHInIlteIl0qIicKLSAgICAgICAgc2VsZi5ydi5hcHBlbmQoU3RyaW5nKHMsIHNlbGYubGluZW5vKSkKLQotICAgIGRlZiB0X3h4eChzZWxmLCBzKTogIyBub3Qgc3VyZSB3aGF0IHRoaXMgcHJvZHVjdGlvbiBtZWFucwotICAgICAgICByIjw9IgotICAgICAgICBzZWxmLnJ2LmFwcGVuZChUb2tlbihzLCBzZWxmLmxpbmVubykpCi0KLSAgICBkZWYgdF9wdW5jdHVhdGlvbihzZWxmLCBzKToKLSAgICAgICAgciJbXHtcfVwqXD1cfFwoXClcLFw/XDpdIgotICAgICAgICBzZWxmLnJ2LmFwcGVuZChUb2tlbihzLCBzZWxmLmxpbmVubykpCi0KLSAgICBkZWYgdF9jb21tZW50KHNlbGYsIHMpOgotICAgICAgICByIlwtXC1bXlxuXSoiCi0gICAgICAgIHBhc3MKLQotICAgIGRlZiB0X25ld2xpbmUoc2VsZiwgcyk6Ci0gICAgICAgIHIiXG4iCi0gICAgICAgIHNlbGYubGluZW5vICs9IDEKLQotICAgIGRlZiB0X3doaXRlc3BhY2Uoc2VsZiwgcyk6Ci0gICAgICAgIHIiWyBcdF0rIgotICAgICAgICBwYXNzCi0KLSAgICBkZWYgdF9kZWZhdWx0KHNlbGYsIHMpOgotICAgICAgICByIiAuICsiCi0gICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoInVubWF0Y2hlZCBpbnB1dDogJXIiICUgcykKLQotY2xhc3MgQVNETFBhcnNlcihzcGFyay5HZW5lcmljUGFyc2VyLCBvYmplY3QpOgotICAgIGRlZiBfX2luaXRfXyhzZWxmKToKLSAgICAgICAgc3VwZXIoQVNETFBhcnNlciwgc2VsZikuX19pbml0X18oIm1vZHVsZSIpCi0KLSAgICBkZWYgdHlwZXN0cmluZyhzZWxmLCB0b2spOgotICAgICAgICByZXR1cm4gdG9rLnR5cGUKLQotICAgIGRlZiBlcnJvcihzZWxmLCB0b2spOgotICAgICAgICByYWlzZSBBU0RMU3ludGF4RXJyb3IodG9rLmxpbmVubywgdG9rKQotCi0gICAgZGVmIHBfbW9kdWxlXzAoc2VsZiwgaW5mbyk6Ci0gICAgICAgICIgbW9kdWxlIDo6PSBJZCBJZCB7IH0gIgotICAgICAgICBtb2R1bGUsIG5hbWUsIF8wLCBfMSA9IGluZm8KLSAgICAgICAgaWYgbW9kdWxlLnZhbHVlICE9ICJtb2R1bGUiOgotICAgICAgICAgICAgcmFpc2UgQVNETFN5bnRheEVycm9yKG1vZHVsZS5saW5lbm8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnPSJleHBlY3RlZCAnbW9kdWxlJywgZm91bmQgJXMiICUgbW9kdWxlKQotICAgICAgICByZXR1cm4gTW9kdWxlKG5hbWUsIE5vbmUpCi0KLSAgICBkZWYgcF9tb2R1bGUoc2VsZiwgaW5mbyk6Ci0gICAgICAgICIgbW9kdWxlIDo6PSBJZCBJZCB7IGRlZmluaXRpb25zIH0gIgotICAgICAgICBtb2R1bGUsIG5hbWUsIF8wLCBkZWZpbml0aW9ucywgXzEgPSBpbmZvCi0gICAgICAgIGlmIG1vZHVsZS52YWx1ZSAhPSAibW9kdWxlIjoKLSAgICAgICAgICAgIHJhaXNlIEFTRExTeW50YXhFcnJvcihtb2R1bGUubGluZW5vLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZz0iZXhwZWN0ZWQgJ21vZHVsZScsIGZvdW5kICVzIiAlIG1vZHVsZSkKLSAgICAgICAgcmV0dXJuIE1vZHVsZShuYW1lLCBkZWZpbml0aW9ucykKLQotICAgIGRlZiBwX2RlZmluaXRpb25fMChzZWxmLCBkZWZpbml0aW9uKToKLSAgICAgICAgIiBkZWZpbml0aW9ucyA6Oj0gZGVmaW5pdGlvbiAiCi0gICAgICAgIHJldHVybiBkZWZpbml0aW9uWzBdCi0KLSAgICBkZWYgcF9kZWZpbml0aW9uXzEoc2VsZiwgZGVmaW5pdGlvbnMpOgotICAgICAgICAiIGRlZmluaXRpb25zIDo6PSBkZWZpbml0aW9uIGRlZmluaXRpb25zICIKLSAgICAgICAgcmV0dXJuIGRlZmluaXRpb25zWzBdICsgZGVmaW5pdGlvbnNbMV0KLQotICAgIGRlZiBwX2RlZmluaXRpb24oc2VsZiwgaW5mbyk6Ci0gICAgICAgICIgZGVmaW5pdGlvbiA6Oj0gSWQgPSB0eXBlICIKLSAgICAgICAgaWQsIF8sIHR5cGUgPSBpbmZvCi0gICAgICAgIHJldHVybiBbVHlwZShpZCwgdHlwZSldCi0KLSAgICBkZWYgcF90eXBlXzAoc2VsZiwgcHJvZHVjdCk6Ci0gICAgICAgICIgdHlwZSA6Oj0gcHJvZHVjdCAiCi0gICAgICAgIHJldHVybiBwcm9kdWN0WzBdCi0KLSAgICBkZWYgcF90eXBlXzEoc2VsZiwgc3VtKToKLSAgICAgICAgIiB0eXBlIDo6PSBzdW0gIgotICAgICAgICByZXR1cm4gU3VtKHN1bVswXSkKLQotICAgIGRlZiBwX3R5cGVfMihzZWxmLCBpbmZvKToKLSAgICAgICAgIiB0eXBlIDo6PSBzdW0gSWQgKCBmaWVsZHMgKSAiCi0gICAgICAgIHN1bSwgaWQsIF8wLCBhdHRyaWJ1dGVzLCBfMSA9IGluZm8KLSAgICAgICAgaWYgaWQudmFsdWUgIT0gImF0dHJpYnV0ZXMiOgotICAgICAgICAgICAgcmFpc2UgQVNETFN5bnRheEVycm9yKGlkLmxpbmVubywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2c9ImV4cGVjdGVkIGF0dHJpYnV0ZXMsIGZvdW5kICVzIiAlIGlkKQotICAgICAgICByZXR1cm4gU3VtKHN1bSwgYXR0cmlidXRlcykKLQotICAgIGRlZiBwX3Byb2R1Y3RfMChzZWxmLCBpbmZvKToKLSAgICAgICAgIiBwcm9kdWN0IDo6PSAoIGZpZWxkcyApICIKLSAgICAgICAgXzAsIGZpZWxkcywgXzEgPSBpbmZvCi0gICAgICAgIHJldHVybiBQcm9kdWN0KGZpZWxkcykKLQotICAgIGRlZiBwX3Byb2R1Y3RfMShzZWxmLCBpbmZvKToKLSAgICAgICAgIiBwcm9kdWN0IDo6PSAoIGZpZWxkcyApIElkICggZmllbGRzICkgIgotICAgICAgICBfMCwgZmllbGRzLCBfMSwgaWQsIF8yLCBhdHRyaWJ1dGVzLCBfMyA9IGluZm8KLSAgICAgICAgaWYgaWQudmFsdWUgIT0gImF0dHJpYnV0ZXMiOgotICAgICAgICAgICAgcmFpc2UgQVNETFN5bnRheEVycm9yKGlkLmxpbmVubywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2c9ImV4cGVjdGVkIGF0dHJpYnV0ZXMsIGZvdW5kICVzIiAlIGlkKQotICAgICAgICByZXR1cm4gUHJvZHVjdChmaWVsZHMsIGF0dHJpYnV0ZXMpCi0KLSAgICBkZWYgcF9zdW1fMChzZWxmLCBjb25zdHJ1Y3Rvcik6Ci0gICAgICAgICIgc3VtIDo6PSBjb25zdHJ1Y3RvciAiCi0gICAgICAgIHJldHVybiBbY29uc3RydWN0b3JbMF1dCi0KLSAgICBkZWYgcF9zdW1fMShzZWxmLCBpbmZvKToKLSAgICAgICAgIiBzdW0gOjo9IGNvbnN0cnVjdG9yIHwgc3VtICIKLSAgICAgICAgY29uc3RydWN0b3IsIF8sIHN1bSA9IGluZm8KLSAgICAgICAgcmV0dXJuIFtjb25zdHJ1Y3Rvcl0gKyBzdW0KLQotICAgIGRlZiBwX3N1bV8yKHNlbGYsIGluZm8pOgotICAgICAgICAiIHN1bSA6Oj0gY29uc3RydWN0b3IgfCBzdW0gIgotICAgICAgICBjb25zdHJ1Y3RvciwgXywgc3VtID0gaW5mbwotICAgICAgICByZXR1cm4gW2NvbnN0cnVjdG9yXSArIHN1bQotCi0gICAgZGVmIHBfY29uc3RydWN0b3JfMChzZWxmLCBpZCk6Ci0gICAgICAgICIgY29uc3RydWN0b3IgOjo9IElkICIKLSAgICAgICAgcmV0dXJuIENvbnN0cnVjdG9yKGlkWzBdKQotCi0gICAgZGVmIHBfY29uc3RydWN0b3JfMShzZWxmLCBpbmZvKToKLSAgICAgICAgIiBjb25zdHJ1Y3RvciA6Oj0gSWQgKCBmaWVsZHMgKSAiCi0gICAgICAgIGlkLCBfMCwgZmllbGRzLCBfMSA9IGluZm8KLSAgICAgICAgcmV0dXJuIENvbnN0cnVjdG9yKGlkLCBmaWVsZHMpCi0KLSAgICBkZWYgcF9maWVsZHNfMChzZWxmLCBmaWVsZCk6Ci0gICAgICAgICIgZmllbGRzIDo6PSBmaWVsZCAiCi0gICAgICAgIHJldHVybiBbZmllbGRbMF1dCi0KLSAgICBkZWYgcF9maWVsZHNfMShzZWxmLCBpbmZvKToKLSAgICAgICAgIiBmaWVsZHMgOjo9IGZpZWxkcyAsIGZpZWxkICIKLSAgICAgICAgZmllbGRzLCBfLCBmaWVsZCA9IGluZm8KLSAgICAgICAgcmV0dXJuIGZpZWxkcyArIFtmaWVsZF0KLQotICAgIGRlZiBwX2ZpZWxkXzAoc2VsZiwgdHlwZV8pOgotICAgICAgICAiIGZpZWxkIDo6PSBJZCAiCi0gICAgICAgIHJldHVybiBGaWVsZCh0eXBlX1swXSkKLQotICAgIGRlZiBwX2ZpZWxkXzEoc2VsZiwgaW5mbyk6Ci0gICAgICAgICIgZmllbGQgOjo9IElkIElkICIKLSAgICAgICAgdHlwZSwgbmFtZSA9IGluZm8KLSAgICAgICAgcmV0dXJuIEZpZWxkKHR5cGUsIG5hbWUpCi0KLSAgICBkZWYgcF9maWVsZF8yKHNlbGYsIGluZm8pOgotICAgICAgICAiIGZpZWxkIDo6PSBJZCAqIElkICIKLSAgICAgICAgdHlwZSwgXywgbmFtZSA9IGluZm8KLSAgICAgICAgcmV0dXJuIEZpZWxkKHR5cGUsIG5hbWUsIHNlcT1UcnVlKQotCi0gICAgZGVmIHBfZmllbGRfMyhzZWxmLCBpbmZvKToKLSAgICAgICAgIiBmaWVsZCA6Oj0gSWQgPyBJZCAiCi0gICAgICAgIHR5cGUsIF8sIG5hbWUgPSBpbmZvCi0gICAgICAgIHJldHVybiBGaWVsZCh0eXBlLCBuYW1lLCBvcHQ9VHJ1ZSkKLQotICAgIGRlZiBwX2ZpZWxkXzQoc2VsZiwgdHlwZV8pOgotICAgICAgICAiIGZpZWxkIDo6PSBJZCAqICIKLSAgICAgICAgcmV0dXJuIEZpZWxkKHR5cGVfWzBdLCBzZXE9VHJ1ZSkKLQotICAgIGRlZiBwX2ZpZWxkXzUoc2VsZiwgdHlwZV8pOgotICAgICAgICAiIGZpZWxkIDo6PSBJZCA/ICIKLSAgICAgICAgcmV0dXJuIEZpZWxkKHR5cGVbMF0sIG9wdD1UcnVlKQotCi1idWlsdGluX3R5cGVzID0gKCJpZGVudGlmaWVyIiwgInN0cmluZyIsICJieXRlcyIsICJpbnQiLCAib2JqZWN0IiwgInNpbmdsZXRvbiIpCi0KLSMgYmVsb3cgaXMgYSBjb2xsZWN0aW9uIG9mIGNsYXNzZXMgdG8gY2FwdHVyZSB0aGUgQVNUIG9mIGFuIEFTVCA6LSkKLSMgbm90IHN1cmUgaWYgYW55IG9mIHRoZSBtZXRob2RzIGFyZSB1c2VmdWwgeWV0LCBidXQgSSdtIGFkZGluZyB0aGVtCi0jIHBpZWNlbWVhbCBhcyB0aGV5IHNlZW0gaGVscGZ1bAotCi1jbGFzcyBBU1Qob2JqZWN0KToKLSAgICBwYXNzICMgYSBtYXJrZXIgY2xhc3MKKyAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcgogCiBjbGFzcyBNb2R1bGUoQVNUKToKICAgICBkZWYgX19pbml0X18oc2VsZiwgbmFtZSwgZGZucyk6CiAgICAgICAgIHNlbGYubmFtZSA9IG5hbWUKICAgICAgICAgc2VsZi5kZm5zID0gZGZucwotICAgICAgICBzZWxmLnR5cGVzID0ge30gIyBtYXBzIHR5cGUgbmFtZSB0byB2YWx1ZSAoZnJvbSBkZm5zKQotICAgICAgICBmb3IgdHlwZSBpbiBkZm5zOgotICAgICAgICAgICAgc2VsZi50eXBlc1t0eXBlLm5hbWUudmFsdWVdID0gdHlwZS52YWx1ZQorICAgICAgICBzZWxmLnR5cGVzID0ge3R5cGUubmFtZTogdHlwZS52YWx1ZSBmb3IgdHlwZSBpbiBkZm5zfQogCiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gIk1vZHVsZSglcywgJXMpIiAlIChzZWxmLm5hbWUsIHNlbGYuZGZucykKKyAgICAgICAgcmV0dXJuICdNb2R1bGUoezAubmFtZX0sIHswLmRmbnN9KScuZm9ybWF0KHNlbGYpCiAKIGNsYXNzIFR5cGUoQVNUKToKICAgICBkZWYgX19pbml0X18oc2VsZiwgbmFtZSwgdmFsdWUpOgpAQCAtMjU3LDcgKzU0LDcgQEAKICAgICAgICAgc2VsZi52YWx1ZSA9IHZhbHVlCiAKICAgICBkZWYgX19yZXByX18oc2VsZik6Ci0gICAgICAgIHJldHVybiAiVHlwZSglcywgJXMpIiAlIChzZWxmLm5hbWUsIHNlbGYudmFsdWUpCisgICAgICAgIHJldHVybiAnVHlwZSh7MC5uYW1lfSwgezAudmFsdWV9KScuZm9ybWF0KHNlbGYpCiAKIGNsYXNzIENvbnN0cnVjdG9yKEFTVCk6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIG5hbWUsIGZpZWxkcz1Ob25lKToKQEAgLTI2NSw3ICs2Miw3IEBACiAgICAgICAgIHNlbGYuZmllbGRzID0gZmllbGRzIG9yIFtdCiAKICAgICBkZWYgX19yZXByX18oc2VsZik6Ci0gICAgICAgIHJldHVybiAiQ29uc3RydWN0b3IoJXMsICVzKSIgJSAoc2VsZi5uYW1lLCBzZWxmLmZpZWxkcykKKyAgICAgICAgcmV0dXJuICdDb25zdHJ1Y3Rvcih7MC5uYW1lfSwgezAuZmllbGRzfSknLmZvcm1hdChzZWxmKQogCiBjbGFzcyBGaWVsZChBU1QpOgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCB0eXBlLCBuYW1lPU5vbmUsIHNlcT1GYWxzZSwgb3B0PUZhbHNlKToKQEAgLTI4Miw5ICs3OSw5IEBACiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBleHRyYSA9ICIiCiAgICAgICAgIGlmIHNlbGYubmFtZSBpcyBOb25lOgotICAgICAgICAgICAgcmV0dXJuICJGaWVsZCglcyVzKSIgJSAoc2VsZi50eXBlLCBleHRyYSkKKyAgICAgICAgICAgIHJldHVybiAnRmllbGQoezAudHlwZX17MX0pJy5mb3JtYXQoc2VsZiwgZXh0cmEpCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gIkZpZWxkKCVzLCAlcyVzKSIgJSAoc2VsZi50eXBlLCBzZWxmLm5hbWUsIGV4dHJhKQorICAgICAgICAgICAgcmV0dXJuICdGaWVsZCh7MC50eXBlfSwgezAubmFtZX17MX0pJy5mb3JtYXQoc2VsZiwgZXh0cmEpCiAKIGNsYXNzIFN1bShBU1QpOgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCB0eXBlcywgYXR0cmlidXRlcz1Ob25lKToKQEAgLTI5MiwxMCArODksMTAgQEAKICAgICAgICAgc2VsZi5hdHRyaWJ1dGVzID0gYXR0cmlidXRlcyBvciBbXQogCiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICBpZiBzZWxmLmF0dHJpYnV0ZXMgaXMgTm9uZToKLSAgICAgICAgICAgIHJldHVybiAiU3VtKCVzKSIgJSBzZWxmLnR5cGVzCisgICAgICAgIGlmIHNlbGYuYXR0cmlidXRlczoKKyAgICAgICAgICAgIHJldHVybiAnU3VtKHswLnR5cGVzfSwgezAuYXR0cmlidXRlc30pJy5mb3JtYXQoc2VsZikKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJldHVybiAiU3VtKCVzLCAlcykiICUgKHNlbGYudHlwZXMsIHNlbGYuYXR0cmlidXRlcykKKyAgICAgICAgICAgIHJldHVybiAnU3VtKHswLnR5cGVzfSknLmZvcm1hdChzZWxmKQogCiBjbGFzcyBQcm9kdWN0KEFTVCk6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGZpZWxkcywgYXR0cmlidXRlcz1Ob25lKToKQEAgLTMwMyw0OSArMTAwLDQzIEBACiAgICAgICAgIHNlbGYuYXR0cmlidXRlcyA9IGF0dHJpYnV0ZXMgb3IgW10KIAogICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKLSAgICAgICAgaWYgc2VsZi5hdHRyaWJ1dGVzIGlzIE5vbmU6Ci0gICAgICAgICAgICByZXR1cm4gIlByb2R1Y3QoJXMpIiAlIHNlbGYuZmllbGRzCisgICAgICAgIGlmIHNlbGYuYXR0cmlidXRlczoKKyAgICAgICAgICAgIHJldHVybiAnUHJvZHVjdCh7MC5maWVsZHN9LCB7MC5hdHRyaWJ1dGVzfSknLmZvcm1hdChzZWxmKQogICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmV0dXJuICJQcm9kdWN0KCVzLCAlcykiICUgKHNlbGYuZmllbGRzLCBzZWxmLmF0dHJpYnV0ZXMpCisgICAgICAgICAgICByZXR1cm4gJ1Byb2R1Y3QoezAuZmllbGRzfSknLmZvcm1hdChzZWxmKQorCisjIEEgZ2VuZXJpYyB2aXNpdG9yIGZvciB0aGUgbWV0YS1BU1QgdGhhdCBkZXNjcmliZXMgQVNETC4gVGhpcyBjYW4gYmUgdXNlZCBieQorIyBlbWl0dGVycy4gTm90ZSB0aGF0IHRoaXMgdmlzaXRvciBkb2VzIG5vdCBwcm92aWRlIGEgZ2VuZXJpYyB2aXNpdCBtZXRob2QsIHNvIGEKKyMgc3ViY2xhc3MgbmVlZHMgdG8gZGVmaW5lIHZpc2l0IG1ldGhvZHMgZnJvbSB2aXNpdE1vZHVsZSB0byBhcyBkZWVwIGFzIHRoZQorIyBpbnRlcmVzdGluZyBub2RlLgorIyBXZSBhbHNvIGRlZmluZSBhIENoZWNrIHZpc2l0b3IgdGhhdCBtYWtlcyBzdXJlIHRoZSBwYXJzZWQgQVNETCBpcyB3ZWxsLWZvcm1lZC4KIAogY2xhc3MgVmlzaXRvckJhc2Uob2JqZWN0KToKLQotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBza2lwPUZhbHNlKToKKyAgICAiIiJHZW5lcmljIHRyZWUgdmlzaXRvciBmb3IgQVNUcy4iIiIKKyAgICBkZWYgX19pbml0X18oc2VsZik6CiAgICAgICAgIHNlbGYuY2FjaGUgPSB7fQotICAgICAgICBzZWxmLnNraXAgPSBza2lwCiAKLSAgICBkZWYgdmlzaXQoc2VsZiwgb2JqZWN0LCAqYXJncyk6Ci0gICAgICAgIG1ldGggPSBzZWxmLl9kaXNwYXRjaChvYmplY3QpCi0gICAgICAgIGlmIG1ldGggaXMgTm9uZToKLSAgICAgICAgICAgIHJldHVybgotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBtZXRoKG9iamVjdCwgKmFyZ3MpCi0gICAgICAgIGV4Y2VwdCBFeGNlcHRpb246Ci0gICAgICAgICAgICBvdXRwdXQoIkVycm9yIHZpc2l0aW5nIiArIHJlcHIob2JqZWN0KSkKLSAgICAgICAgICAgIG91dHB1dChzdHIoc3lzLmV4Y19pbmZvKClbMV0pKQotICAgICAgICAgICAgdHJhY2ViYWNrLnByaW50X2V4YygpCi0gICAgICAgICAgICAjIFhYWCBoYWNrCi0gICAgICAgICAgICBpZiBoYXNhdHRyKHNlbGYsICdmaWxlJyk6Ci0gICAgICAgICAgICAgICAgc2VsZi5maWxlLmZsdXNoKCkKLSAgICAgICAgICAgIG9zLl9leGl0KDEpCi0KLSAgICBkZWYgX2Rpc3BhdGNoKHNlbGYsIG9iamVjdCk6Ci0gICAgICAgIGFzc2VydCBpc2luc3RhbmNlKG9iamVjdCwgQVNUKSwgcmVwcihvYmplY3QpCi0gICAgICAgIGtsYXNzID0gb2JqZWN0Ll9fY2xhc3NfXworICAgIGRlZiB2aXNpdChzZWxmLCBvYmosICphcmdzKToKKyAgICAgICAga2xhc3MgPSBvYmouX19jbGFzc19fCiAgICAgICAgIG1ldGggPSBzZWxmLmNhY2hlLmdldChrbGFzcykKICAgICAgICAgaWYgbWV0aCBpcyBOb25lOgogICAgICAgICAgICAgbWV0aG5hbWUgPSAidmlzaXQiICsga2xhc3MuX19uYW1lX18KLSAgICAgICAgICAgIGlmIHNlbGYuc2tpcDoKLSAgICAgICAgICAgICAgICBtZXRoID0gZ2V0YXR0cihzZWxmLCBtZXRobmFtZSwgTm9uZSkKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgbWV0aCA9IGdldGF0dHIoc2VsZiwgbWV0aG5hbWUpCisgICAgICAgICAgICBtZXRoID0gZ2V0YXR0cihzZWxmLCBtZXRobmFtZSwgTm9uZSkKICAgICAgICAgICAgIHNlbGYuY2FjaGVba2xhc3NdID0gbWV0aAotICAgICAgICByZXR1cm4gbWV0aAorICAgICAgICBpZiBtZXRoOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIG1ldGgob2JqLCAqYXJncykKKyAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgICAgICBwcmludCgiRXJyb3IgdmlzaXRpbmcgJXI6ICVzIiAlIChvYmosIGUpKQorICAgICAgICAgICAgICAgIHJhaXNlCiAKIGNsYXNzIENoZWNrKFZpc2l0b3JCYXNlKToKKyAgICAiIiJBIHZpc2l0b3IgdGhhdCBjaGVja3MgYSBwYXJzZWQgQVNETCB0cmVlIGZvciBjb3JyZWN0bmVzcy4KIAorICAgIEVycm9ycyBhcmUgcHJpbnRlZCBhbmQgYWNjdW11bGF0ZWQuCisgICAgIiIiCiAgICAgZGVmIF9faW5pdF9fKHNlbGYpOgotICAgICAgICBzdXBlcihDaGVjaywgc2VsZikuX19pbml0X18oc2tpcD1UcnVlKQorICAgICAgICBzdXBlcihDaGVjaywgc2VsZikuX19pbml0X18oKQogICAgICAgICBzZWxmLmNvbnMgPSB7fQogICAgICAgICBzZWxmLmVycm9ycyA9IDAKICAgICAgICAgc2VsZi50eXBlcyA9IHt9CkBAIC0zNjcsOCArMTU4LDggQEAKICAgICAgICAgaWYgY29uZmxpY3QgaXMgTm9uZToKICAgICAgICAgICAgIHNlbGYuY29uc1trZXldID0gbmFtZQogICAgICAgICBlbHNlOgotICAgICAgICAgICAgb3V0cHV0KCJSZWRlZmluaXRpb24gb2YgY29uc3RydWN0b3IgJXMiICUga2V5KQotICAgICAgICAgICAgb3V0cHV0KCJEZWZpbmVkIGluICVzIGFuZCAlcyIgJSAoY29uZmxpY3QsIG5hbWUpKQorICAgICAgICAgICAgcHJpbnQoJ1JlZGVmaW5pdGlvbiBvZiBjb25zdHJ1Y3RvciB7fScuZm9ybWF0KGtleSkpCisgICAgICAgICAgICBwcmludCgnRGVmaW5lZCBpbiB7fSBhbmQge30nLmZvcm1hdChjb25mbGljdCwgbmFtZSkpCiAgICAgICAgICAgICBzZWxmLmVycm9ycyArPSAxCiAgICAgICAgIGZvciBmIGluIGNvbnMuZmllbGRzOgogICAgICAgICAgICAgc2VsZi52aXNpdChmLCBrZXkpCkBAIC0zODMsNiArMTc0LDExIEBACiAgICAgICAgICAgICBzZWxmLnZpc2l0KGYsIG5hbWUpCiAKIGRlZiBjaGVjayhtb2QpOgorICAgICIiIkNoZWNrIHRoZSBwYXJzZWQgQVNETCB0cmVlIGZvciBjb3JyZWN0bmVzcy4KKworICAgIFJldHVybiBUcnVlIGlmIHN1Y2Nlc3MuIEZvciBmYWlsdXJlLCB0aGUgZXJyb3JzIGFyZSBwcmludGVkIG91dCBhbmQgRmFsc2UKKyAgICBpcyByZXR1cm5lZC4KKyAgICAiIiIKICAgICB2ID0gQ2hlY2soKQogICAgIHYudmlzaXQobW9kKQogCkBAIC0zOTAsNDcgKzE4NiwxOTAgQEAKICAgICAgICAgaWYgdCBub3QgaW4gbW9kLnR5cGVzIGFuZCBub3QgdCBpbiBidWlsdGluX3R5cGVzOgogICAgICAgICAgICAgdi5lcnJvcnMgKz0gMQogICAgICAgICAgICAgdXNlcyA9ICIsICIuam9pbih2LnR5cGVzW3RdKQotICAgICAgICAgICAgb3V0cHV0KCJVbmRlZmluZWQgdHlwZSAlcywgdXNlZCBpbiAlcyIgJSAodCwgdXNlcykpCi0KKyAgICAgICAgICAgIHByaW50KCdVbmRlZmluZWQgdHlwZSB7fSwgdXNlZCBpbiB7fScuZm9ybWF0KHQsIHVzZXMpKQogICAgIHJldHVybiBub3Qgdi5lcnJvcnMKIAotZGVmIHBhcnNlKGZpbGUpOgotICAgIHNjYW5uZXIgPSBBU0RMU2Nhbm5lcigpCi0gICAgcGFyc2VyID0gQVNETFBhcnNlcigpCisjIFRoZSBBU0RMIHBhcnNlciBpdHNlbGYgY29tZXMgbmV4dC4gVGhlIG9ubHkgaW50ZXJlc3RpbmcgZXh0ZXJuYWwgaW50ZXJmYWNlCisjIGhlcmUgaXMgdGhlIHRvcC1sZXZlbCBwYXJzZSBmdW5jdGlvbi4KIAotICAgIGYgPSBvcGVuKGZpbGUpCi0gICAgdHJ5OgotICAgICAgICBidWYgPSBmLnJlYWQoKQotICAgIGZpbmFsbHk6Ci0gICAgICAgIGYuY2xvc2UoKQotICAgIHRva2VucyA9IHNjYW5uZXIudG9rZW5pemUoYnVmKQotICAgIHRyeToKLSAgICAgICAgcmV0dXJuIHBhcnNlci5wYXJzZSh0b2tlbnMpCi0gICAgZXhjZXB0IEFTRExTeW50YXhFcnJvcjoKLSAgICAgICAgZXJyID0gc3lzLmV4Y19pbmZvKClbMV0KLSAgICAgICAgb3V0cHV0KHN0cihlcnIpKQotICAgICAgICBsaW5lcyA9IGJ1Zi5zcGxpdCgiXG4iKQotICAgICAgICBvdXRwdXQobGluZXNbZXJyLmxpbmVubyAtIDFdKSAjIGxpbmVzIHN0YXJ0cyBhdCAwLCBmaWxlcyBhdCAxCitkZWYgcGFyc2UoZmlsZW5hbWUpOgorICAgICIiIlBhcnNlIEFTREwgZnJvbSB0aGUgZ2l2ZW4gZmlsZSBhbmQgcmV0dXJuIGEgTW9kdWxlIG5vZGUgZGVzY3JpYmluZyBpdC4iIiIKKyAgICB3aXRoIG9wZW4oZmlsZW5hbWUpIGFzIGY6CisgICAgICAgIHBhcnNlciA9IEFTRExQYXJzZXIoKQorICAgICAgICByZXR1cm4gcGFyc2VyLnBhcnNlKGYucmVhZCgpKQogCi1pZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgotICAgIGltcG9ydCBnbG9iCi0gICAgaW1wb3J0IHN5cworIyBUeXBlcyBmb3IgZGVzY3JpYmluZyB0b2tlbnMgaW4gYW4gQVNETCBzcGVjaWZpY2F0aW9uLgorY2xhc3MgVG9rZW5LaW5kOgorICAgICIiIlRva2VuS2luZCBpcyBwcm92aWRlcyBhIHNjb3BlIGZvciBlbnVtZXJhdGVkIHRva2VuIGtpbmRzLiIiIgorICAgIChDb25zdHJ1Y3RvcklkLCBUeXBlSWQsIEVxdWFscywgQ29tbWEsIFF1ZXN0aW9uLCBQaXBlLCBBc3RlcmlzaywKKyAgICAgTFBhcmVuLCBSUGFyZW4sIExCcmFjZSwgUkJyYWNlKSA9IHJhbmdlKDExKQogCi0gICAgaWYgbGVuKHN5cy5hcmd2KSA+IDE6Ci0gICAgICAgIGZpbGVzID0gc3lzLmFyZ3ZbMTpdCi0gICAgZWxzZToKLSAgICAgICAgdGVzdGRpciA9ICJ0ZXN0cyIKLSAgICAgICAgZmlsZXMgPSBnbG9iLmdsb2IodGVzdGRpciArICIvKi5hc2RsIikKKyAgICBvcGVyYXRvcl90YWJsZSA9IHsKKyAgICAgICAgJz0nOiBFcXVhbHMsICcsJzogQ29tbWEsICAgICc/JzogUXVlc3Rpb24sICd8JzogUGlwZSwgICAgJygnOiBMUGFyZW4sCisgICAgICAgICcpJzogUlBhcmVuLCAnKic6IEFzdGVyaXNrLCAneyc6IExCcmFjZSwgICAnfSc6IFJCcmFjZX0KIAotICAgIGZvciBmaWxlIGluIGZpbGVzOgotICAgICAgICBvdXRwdXQoZmlsZSkKLSAgICAgICAgbW9kID0gcGFyc2UoZmlsZSkKLSAgICAgICAgaWYgbm90IG1vZDoKLSAgICAgICAgICAgIGJyZWFrCi0gICAgICAgIG91dHB1dCgibW9kdWxlIiwgbW9kLm5hbWUpCi0gICAgICAgIG91dHB1dChsZW4obW9kLmRmbnMpLCAiZGVmaW5pdGlvbnMiKQotICAgICAgICBpZiBub3QgY2hlY2sobW9kKToKLSAgICAgICAgICAgIG91dHB1dCgiQ2hlY2sgZmFpbGVkIikKK1Rva2VuID0gbmFtZWR0dXBsZSgnVG9rZW4nLCAna2luZCB2YWx1ZSBsaW5lbm8nKQorCitjbGFzcyBBU0RMU3ludGF4RXJyb3IoRXhjZXB0aW9uKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbXNnLCBsaW5lbm89Tm9uZSk6CisgICAgICAgIHNlbGYubXNnID0gbXNnCisgICAgICAgIHNlbGYubGluZW5vID0gbGluZW5vIG9yICc8dW5rbm93bj4nCisKKyAgICBkZWYgX19zdHJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuICdTeW50YXggZXJyb3Igb24gbGluZSB7MC5saW5lbm99OiB7MC5tc2d9Jy5mb3JtYXQoc2VsZikKKworZGVmIHRva2VuaXplX2FzZGwoYnVmKToKKyAgICAiIiJUb2tlbml6ZSB0aGUgZ2l2ZW4gYnVmZmVyLiBZaWVsZCBUb2tlbiBvYmplY3RzLiIiIgorICAgIGZvciBsaW5lbm8sIGxpbmUgaW4gZW51bWVyYXRlKGJ1Zi5zcGxpdGxpbmVzKCksIDEpOgorICAgICAgICBmb3IgbSBpbiByZS5maW5kaXRlcihyJ1xzKihcdyt8LS0uKnwuKScsIGxpbmUuc3RyaXAoKSk6CisgICAgICAgICAgICBjID0gbS5ncm91cCgxKQorICAgICAgICAgICAgaWYgY1swXS5pc2FscGhhKCk6CisgICAgICAgICAgICAgICAgIyBTb21lIGtpbmQgb2YgaWRlbnRpZmllcgorICAgICAgICAgICAgICAgIGlmIGNbMF0uaXN1cHBlcigpOgorICAgICAgICAgICAgICAgICAgICB5aWVsZCBUb2tlbihUb2tlbktpbmQuQ29uc3RydWN0b3JJZCwgYywgbGluZW5vKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIHlpZWxkIFRva2VuKFRva2VuS2luZC5UeXBlSWQsIGMsIGxpbmVubykKKyAgICAgICAgICAgIGVsaWYgY1s6Ml0gPT0gJy0tJzoKKyAgICAgICAgICAgICAgICAjIENvbW1lbnQKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAjIE9wZXJhdG9ycworICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgb3Bfa2luZCA9IFRva2VuS2luZC5vcGVyYXRvcl90YWJsZVtjXQorICAgICAgICAgICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgQVNETFN5bnRheEVycm9yKCdJbnZhbGlkIG9wZXJhdG9yICVzJyAlIGMsIGxpbmVubykKKyAgICAgICAgICAgICAgICB5aWVsZCBUb2tlbihvcF9raW5kLCBjLCBsaW5lbm8pCisKK2NsYXNzIEFTRExQYXJzZXI6CisgICAgIiIiUGFyc2VyIGZvciBBU0RMIGZpbGVzLgorCisgICAgQ3JlYXRlLCB0aGVuIGNhbGwgdGhlIHBhcnNlIG1ldGhvZCBvbiBhIGJ1ZmZlciBjb250YWluaW5nIEFTREwuCisgICAgVGhpcyBpcyBhIHNpbXBsZSByZWN1cnNpdmUgZGVzY2VudCBwYXJzZXIgdGhhdCB1c2VzIHRva2VuaXplX2FzZGwgZm9yIHRoZQorICAgIGxleGluZy4KKyAgICAiIiIKKyAgICBkZWYgX19pbml0X18oc2VsZik6CisgICAgICAgIHNlbGYuX3Rva2VuaXplciA9IE5vbmUKKyAgICAgICAgc2VsZi5jdXJfdG9rZW4gPSBOb25lCisKKyAgICBkZWYgcGFyc2Uoc2VsZiwgYnVmKToKKyAgICAgICAgIiIiUGFyc2UgdGhlIEFTREwgaW4gdGhlIGJ1ZmZlciBhbmQgcmV0dXJuIGFuIEFTVCB3aXRoIGEgTW9kdWxlIHJvb3QuCisgICAgICAgICIiIgorICAgICAgICBzZWxmLl90b2tlbml6ZXIgPSB0b2tlbml6ZV9hc2RsKGJ1ZikKKyAgICAgICAgc2VsZi5fYWR2YW5jZSgpCisgICAgICAgIHJldHVybiBzZWxmLl9wYXJzZV9tb2R1bGUoKQorCisgICAgZGVmIF9wYXJzZV9tb2R1bGUoc2VsZik6CisgICAgICAgIGlmIHNlbGYuX2F0X2tleXdvcmQoJ21vZHVsZScpOgorICAgICAgICAgICAgc2VsZi5fYWR2YW5jZSgpCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBmb3IgZGZuIGluIG1vZC5kZm5zOgotICAgICAgICAgICAgICAgIG91dHB1dChkZm4ubmFtZSwgZGZuLnZhbHVlKQorICAgICAgICAgICAgcmFpc2UgQVNETFN5bnRheEVycm9yKAorICAgICAgICAgICAgICAgICdFeHBlY3RlZCAibW9kdWxlIiAoZm91bmQge30pJy5mb3JtYXQoc2VsZi5jdXJfdG9rZW4udmFsdWUpLAorICAgICAgICAgICAgICAgIHNlbGYuY3VyX3Rva2VuLmxpbmVubykKKyAgICAgICAgbmFtZSA9IHNlbGYuX21hdGNoKHNlbGYuX2lkX2tpbmRzKQorICAgICAgICBzZWxmLl9tYXRjaChUb2tlbktpbmQuTEJyYWNlKQorICAgICAgICBkZWZzID0gc2VsZi5fcGFyc2VfZGVmaW5pdGlvbnMoKQorICAgICAgICBzZWxmLl9tYXRjaChUb2tlbktpbmQuUkJyYWNlKQorICAgICAgICByZXR1cm4gTW9kdWxlKG5hbWUsIGRlZnMpCisKKyAgICBkZWYgX3BhcnNlX2RlZmluaXRpb25zKHNlbGYpOgorICAgICAgICBkZWZzID0gW10KKyAgICAgICAgd2hpbGUgc2VsZi5jdXJfdG9rZW4ua2luZCA9PSBUb2tlbktpbmQuVHlwZUlkOgorICAgICAgICAgICAgdHlwZW5hbWUgPSBzZWxmLl9hZHZhbmNlKCkKKyAgICAgICAgICAgIHNlbGYuX21hdGNoKFRva2VuS2luZC5FcXVhbHMpCisgICAgICAgICAgICB0eXBlID0gc2VsZi5fcGFyc2VfdHlwZSgpCisgICAgICAgICAgICBkZWZzLmFwcGVuZChUeXBlKHR5cGVuYW1lLCB0eXBlKSkKKyAgICAgICAgcmV0dXJuIGRlZnMKKworICAgIGRlZiBfcGFyc2VfdHlwZShzZWxmKToKKyAgICAgICAgaWYgc2VsZi5jdXJfdG9rZW4ua2luZCA9PSBUb2tlbktpbmQuTFBhcmVuOgorICAgICAgICAgICAgIyBJZiB3ZSBzZWUgYSAoLCBpdCdzIGEgcHJvZHVjdAorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3BhcnNlX3Byb2R1Y3QoKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgIyBPdGhlcndpc2UgaXQncyBhIHN1bS4gTG9vayBmb3IgQ29uc3RydWN0b3JJZAorICAgICAgICAgICAgc3VtbGlzdCA9IFtDb25zdHJ1Y3RvcihzZWxmLl9tYXRjaChUb2tlbktpbmQuQ29uc3RydWN0b3JJZCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3BhcnNlX29wdGlvbmFsX2ZpZWxkcygpKV0KKyAgICAgICAgICAgIHdoaWxlIHNlbGYuY3VyX3Rva2VuLmtpbmQgID09IFRva2VuS2luZC5QaXBlOgorICAgICAgICAgICAgICAgICMgTW9yZSBjb25zdHJ1Y3RvcnMKKyAgICAgICAgICAgICAgICBzZWxmLl9hZHZhbmNlKCkKKyAgICAgICAgICAgICAgICBzdW1saXN0LmFwcGVuZChDb25zdHJ1Y3RvcigKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fbWF0Y2goVG9rZW5LaW5kLkNvbnN0cnVjdG9ySWQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9wYXJzZV9vcHRpb25hbF9maWVsZHMoKSkpCisgICAgICAgICAgICByZXR1cm4gU3VtKHN1bWxpc3QsIHNlbGYuX3BhcnNlX29wdGlvbmFsX2F0dHJpYnV0ZXMoKSkKKworICAgIGRlZiBfcGFyc2VfcHJvZHVjdChzZWxmKToKKyAgICAgICAgcmV0dXJuIFByb2R1Y3Qoc2VsZi5fcGFyc2VfZmllbGRzKCksIHNlbGYuX3BhcnNlX29wdGlvbmFsX2F0dHJpYnV0ZXMoKSkKKworICAgIGRlZiBfcGFyc2VfZmllbGRzKHNlbGYpOgorICAgICAgICBmaWVsZHMgPSBbXQorICAgICAgICBzZWxmLl9tYXRjaChUb2tlbktpbmQuTFBhcmVuKQorICAgICAgICB3aGlsZSBzZWxmLmN1cl90b2tlbi5raW5kID09IFRva2VuS2luZC5UeXBlSWQ6CisgICAgICAgICAgICB0eXBlbmFtZSA9IHNlbGYuX2FkdmFuY2UoKQorICAgICAgICAgICAgaXNfc2VxLCBpc19vcHQgPSBzZWxmLl9wYXJzZV9vcHRpb25hbF9maWVsZF9xdWFudGlmaWVyKCkKKyAgICAgICAgICAgIGlkID0gKHNlbGYuX2FkdmFuY2UoKSBpZiBzZWxmLmN1cl90b2tlbi5raW5kIGluIHNlbGYuX2lkX2tpbmRzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBOb25lKQorICAgICAgICAgICAgZmllbGRzLmFwcGVuZChGaWVsZCh0eXBlbmFtZSwgaWQsIHNlcT1pc19zZXEsIG9wdD1pc19vcHQpKQorICAgICAgICAgICAgaWYgc2VsZi5jdXJfdG9rZW4ua2luZCA9PSBUb2tlbktpbmQuUlBhcmVuOgorICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICBlbGlmIHNlbGYuY3VyX3Rva2VuLmtpbmQgPT0gVG9rZW5LaW5kLkNvbW1hOgorICAgICAgICAgICAgICAgIHNlbGYuX2FkdmFuY2UoKQorICAgICAgICBzZWxmLl9tYXRjaChUb2tlbktpbmQuUlBhcmVuKQorICAgICAgICByZXR1cm4gZmllbGRzCisKKyAgICBkZWYgX3BhcnNlX29wdGlvbmFsX2ZpZWxkcyhzZWxmKToKKyAgICAgICAgaWYgc2VsZi5jdXJfdG9rZW4ua2luZCA9PSBUb2tlbktpbmQuTFBhcmVuOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3BhcnNlX2ZpZWxkcygpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXR1cm4gTm9uZQorCisgICAgZGVmIF9wYXJzZV9vcHRpb25hbF9hdHRyaWJ1dGVzKHNlbGYpOgorICAgICAgICBpZiBzZWxmLl9hdF9rZXl3b3JkKCdhdHRyaWJ1dGVzJyk6CisgICAgICAgICAgICBzZWxmLl9hZHZhbmNlKCkKKyAgICAgICAgICAgIHJldHVybiBzZWxmLl9wYXJzZV9maWVsZHMoKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKworICAgIGRlZiBfcGFyc2Vfb3B0aW9uYWxfZmllbGRfcXVhbnRpZmllcihzZWxmKToKKyAgICAgICAgaXNfc2VxLCBpc19vcHQgPSBGYWxzZSwgRmFsc2UKKyAgICAgICAgaWYgc2VsZi5jdXJfdG9rZW4ua2luZCA9PSBUb2tlbktpbmQuQXN0ZXJpc2s6CisgICAgICAgICAgICBpc19zZXEgPSBUcnVlCisgICAgICAgICAgICBzZWxmLl9hZHZhbmNlKCkKKyAgICAgICAgZWxpZiBzZWxmLmN1cl90b2tlbi5raW5kID09IFRva2VuS2luZC5RdWVzdGlvbjoKKyAgICAgICAgICAgIGlzX29wdCA9IFRydWUKKyAgICAgICAgICAgIHNlbGYuX2FkdmFuY2UoKQorICAgICAgICByZXR1cm4gaXNfc2VxLCBpc19vcHQKKworICAgIGRlZiBfYWR2YW5jZShzZWxmKToKKyAgICAgICAgIiIiIFJldHVybiB0aGUgdmFsdWUgb2YgdGhlIGN1cnJlbnQgdG9rZW4gYW5kIHJlYWQgdGhlIG5leHQgb25lIGludG8KKyAgICAgICAgICAgIHNlbGYuY3VyX3Rva2VuLgorICAgICAgICAiIiIKKyAgICAgICAgY3VyX3ZhbCA9IE5vbmUgaWYgc2VsZi5jdXJfdG9rZW4gaXMgTm9uZSBlbHNlIHNlbGYuY3VyX3Rva2VuLnZhbHVlCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNlbGYuY3VyX3Rva2VuID0gbmV4dChzZWxmLl90b2tlbml6ZXIpCisgICAgICAgIGV4Y2VwdCBTdG9wSXRlcmF0aW9uOgorICAgICAgICAgICAgc2VsZi5jdXJfdG9rZW4gPSBOb25lCisgICAgICAgIHJldHVybiBjdXJfdmFsCisKKyAgICBfaWRfa2luZHMgPSAoVG9rZW5LaW5kLkNvbnN0cnVjdG9ySWQsIFRva2VuS2luZC5UeXBlSWQpCisKKyAgICBkZWYgX21hdGNoKHNlbGYsIGtpbmQpOgorICAgICAgICAiIiJUaGUgJ21hdGNoJyBwcmltaXRpdmUgb2YgUkQgcGFyc2Vycy4KKworICAgICAgICAqIFZlcmlmaWVzIHRoYXQgdGhlIGN1cnJlbnQgdG9rZW4gaXMgb2YgdGhlIGdpdmVuIGtpbmQgKGtpbmQgY2FuCisgICAgICAgICAgYmUgYSB0dXBsZSwgaW4gd2hpY2ggdGhlIGtpbmQgbXVzdCBtYXRjaCBvbmUgb2YgaXRzIG1lbWJlcnMpLgorICAgICAgICAqIFJldHVybnMgdGhlIHZhbHVlIG9mIHRoZSBjdXJyZW50IHRva2VuCisgICAgICAgICogUmVhZHMgaW4gdGhlIG5leHQgdG9rZW4KKyAgICAgICAgIiIiCisgICAgICAgIGlmIChpc2luc3RhbmNlKGtpbmQsIHR1cGxlKSBhbmQgc2VsZi5jdXJfdG9rZW4ua2luZCBpbiBraW5kIG9yCisgICAgICAgICAgICBzZWxmLmN1cl90b2tlbi5raW5kID09IGtpbmQKKyAgICAgICAgICAgICk6CisgICAgICAgICAgICB2YWx1ZSA9IHNlbGYuY3VyX3Rva2VuLnZhbHVlCisgICAgICAgICAgICBzZWxmLl9hZHZhbmNlKCkKKyAgICAgICAgICAgIHJldHVybiB2YWx1ZQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmFpc2UgQVNETFN5bnRheEVycm9yKAorICAgICAgICAgICAgICAgICdVbm1hdGNoZWQge30gKGZvdW5kIHt9KScuZm9ybWF0KGtpbmQsIHNlbGYuY3VyX3Rva2VuLmtpbmQpLAorICAgICAgICAgICAgICAgIHNlbGYuY3VyX3Rva2VuLmxpbmVubykKKworICAgIGRlZiBfYXRfa2V5d29yZChzZWxmLCBrZXl3b3JkKToKKyAgICAgICAgcmV0dXJuIChzZWxmLmN1cl90b2tlbi5raW5kID09IFRva2VuS2luZC5UeXBlSWQgYW5kCisgICAgICAgICAgICAgICAgc2VsZi5jdXJfdG9rZW4udmFsdWUgPT0ga2V5d29yZCkKZGlmZiAtLWdpdCBhL1BhcnNlci9hc2RsX2MucHkgYi9QYXJzZXIvYXNkbF9jLnB5CmluZGV4IGQ2MDg2ZTYuLmE1ZTM1ZDkgMTAwNzU1Ci0tLSBhL1BhcnNlci9hc2RsX2MucHkKKysrIGIvUGFyc2VyL2FzZGxfYy5weQpAQCAtMSw5ICsxLDYgQEAKICMhIC91c3IvYmluL2VudiBweXRob24KICIiIkdlbmVyYXRlIEMgY29kZSBmcm9tIGFuIEFTREwgZGVzY3JpcHRpb24uIiIiCiAKLSMgVE8gRE8KLSMgaGFuZGxlIGZpZWxkcyB0aGF0IGhhdmUgYSB0eXBlIGJ1dCBubyBuYW1lCi0KIGltcG9ydCBvcywgc3lzCiAKIGltcG9ydCBhc2RsCkBAIC0xNCwxMiArMTEsOCBAQAogZGVmIGdldF9jX3R5cGUobmFtZSk6CiAgICAgIiIiUmV0dXJuIGEgc3RyaW5nIGZvciB0aGUgQyBuYW1lIG9mIHRoZSB0eXBlLgogCi0gICAgVGhpcyBmdW5jdGlvbiBzcGVjaWFsIGNhc2VzIHRoZSBkZWZhdWx0IHR5cGVzIHByb3ZpZGVkIGJ5IGFzZGw6Ci0gICAgaWRlbnRpZmllciwgc3RyaW5nLCBpbnQuCisgICAgVGhpcyBmdW5jdGlvbiBzcGVjaWFsIGNhc2VzIHRoZSBkZWZhdWx0IHR5cGVzIHByb3ZpZGVkIGJ5IGFzZGwuCiAgICAgIiIiCi0gICAgIyBYWFggYWNrISAgbmVlZCB0byBmaWd1cmUgb3V0IHdoZXJlIElkIGlzIHVzZWZ1bCBhbmQgd2hlcmUgc3RyaW5nCi0gICAgaWYgaXNpbnN0YW5jZShuYW1lLCBhc2RsLklkKToKLSAgICAgICAgbmFtZSA9IG5hbWUudmFsdWUKICAgICBpZiBuYW1lIGluIGFzZGwuYnVpbHRpbl90eXBlczoKICAgICAgICAgcmV0dXJuIG5hbWUKICAgICBlbHNlOgpAQCAtMTQ0LDcgKzEzNyw3IEBACiAKIAogY2xhc3MgU3RydWN0VmlzaXRvcihFbWl0VmlzaXRvcik6Ci0gICAgIiIiVmlzaXRvciB0byBnZW5lcmF0ZSB0eXBkZWZzIGZvciBBU1QuIiIiCisgICAgIiIiVmlzaXRvciB0byBnZW5lcmF0ZSB0eXBlZGVmcyBmb3IgQVNULiIiIgogCiAgICAgZGVmIHZpc2l0TW9kdWxlKHNlbGYsIG1vZCk6CiAgICAgICAgIGZvciBkZm4gaW4gbW9kLmRmbnM6CkBAIC0xODgsOSArMTgxLDYgQEAKICAgICAgICAgICAgICAgICBzZWxmLnZpc2l0KGYsIGRlcHRoICsgMSkKICAgICAgICAgICAgIHNlbGYuZW1pdCgifSAlczsiICUgY29ucy5uYW1lLCBkZXB0aCkKICAgICAgICAgICAgIHNlbGYuZW1pdCgiIiwgZGVwdGgpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAjIFhYWCBub3Qgc3VyZSB3aGF0IEkgd2FudCBoZXJlLCBub3RoaW5nIGlzIHByb2JhYmx5IGZpbmUKLSAgICAgICAgICAgIHBhc3MKIAogICAgIGRlZiB2aXNpdEZpZWxkKHNlbGYsIGZpZWxkLCBkZXB0aCk6CiAgICAgICAgICMgWFhYIG5lZWQgdG8gbG9va3VwIGZpZWxkLnR5cGUsIGJlY2F1c2UgaXQgbWlnaHQgYmUgc29tZXRoaW5nCkBAIC0xOTgsNyArMTg4LDcgQEAKICAgICAgICAgY3R5cGUgPSBnZXRfY190eXBlKGZpZWxkLnR5cGUpCiAgICAgICAgIG5hbWUgPSBmaWVsZC5uYW1lCiAgICAgICAgIGlmIGZpZWxkLnNlcToKLSAgICAgICAgICAgIGlmIGZpZWxkLnR5cGUudmFsdWUgaW4gKCdjbXBvcCcsKToKKyAgICAgICAgICAgIGlmIGZpZWxkLnR5cGUgPT0gJ2NtcG9wJzoKICAgICAgICAgICAgICAgICBzZWxmLmVtaXQoImFzZGxfaW50X3NlcSAqJShuYW1lKXM7IiAlIGxvY2FscygpLCBkZXB0aCkKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgc2VsZi5lbWl0KCJhc2RsX3NlcSAqJShuYW1lKXM7IiAlIGxvY2FscygpLCBkZXB0aCkKQEAgLTI1Myw3ICsyNDMsNyBAQAogICAgICAgICAgICAgICAgIG5hbWUgPSBmLm5hbWUKICAgICAgICAgICAgICMgWFhYIHNob3VsZCBleHRlbmQgZ2V0X2NfdHlwZSgpIHRvIGhhbmRsZSB0aGlzCiAgICAgICAgICAgICBpZiBmLnNlcToKLSAgICAgICAgICAgICAgICBpZiBmLnR5cGUudmFsdWUgaW4gKCdjbXBvcCcsKToKKyAgICAgICAgICAgICAgICBpZiBmLnR5cGUgPT0gJ2NtcG9wJzoKICAgICAgICAgICAgICAgICAgICAgY3R5cGUgPSAiYXNkbF9pbnRfc2VxICoiCiAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgY3R5cGUgPSAiYXNkbF9zZXEgKiIKQEAgLTQzNyw3ICs0MjcsNyBAQAogICAgICAgICAgICAgc2VsZi5lbWl0KCIiLCAwKQogICAgICAgICAgICAgZm9yIGYgaW4gdC5maWVsZHM6CiAgICAgICAgICAgICAgICAgc2VsZi52aXNpdEZpZWxkKGYsIHQubmFtZSwgc3VtPXN1bSwgZGVwdGg9MikKLSAgICAgICAgICAgIGFyZ3MgPSBbZi5uYW1lLnZhbHVlIGZvciBmIGluIHQuZmllbGRzXSArIFthLm5hbWUudmFsdWUgZm9yIGEgaW4gc3VtLmF0dHJpYnV0ZXNdCisgICAgICAgICAgICBhcmdzID0gW2YubmFtZSBmb3IgZiBpbiB0LmZpZWxkc10gKyBbYS5uYW1lIGZvciBhIGluIHN1bS5hdHRyaWJ1dGVzXQogICAgICAgICAgICAgc2VsZi5lbWl0KCIqb3V0ID0gJXMoJXMpOyIgJSAodC5uYW1lLCBzZWxmLmJ1aWxkQXJncyhhcmdzKSksIDIpCiAgICAgICAgICAgICBzZWxmLmVtaXQoImlmICgqb3V0ID09IE5VTEwpIGdvdG8gZmFpbGVkOyIsIDIpCiAgICAgICAgICAgICBzZWxmLmVtaXQoInJldHVybiAwOyIsIDIpCkBAIC00NjUsNyArNDU1LDcgQEAKICAgICAgICAgc2VsZi5lbWl0KCIiLCAwKQogICAgICAgICBmb3IgZiBpbiBwcm9kLmZpZWxkczoKICAgICAgICAgICAgIHNlbGYudmlzaXRGaWVsZChmLCBuYW1lLCBwcm9kPXByb2QsIGRlcHRoPTEpCi0gICAgICAgIGFyZ3MgPSBbZi5uYW1lLnZhbHVlIGZvciBmIGluIHByb2QuZmllbGRzXQorICAgICAgICBhcmdzID0gW2YubmFtZSBmb3IgZiBpbiBwcm9kLmZpZWxkc10KICAgICAgICAgc2VsZi5lbWl0KCIqb3V0ID0gJXMoJXMpOyIgJSAobmFtZSwgc2VsZi5idWlsZEFyZ3MoYXJncykpLCAxKQogICAgICAgICBzZWxmLmVtaXQoInJldHVybiAwOyIsIDEpCiAgICAgICAgIHNlbGYuZW1pdCgiZmFpbGVkOiIsIDApCkBAIC00ODcsOCArNDc3LDggQEAKIAogICAgIGRlZiBpc1NpbXBsZVN1bShzZWxmLCBmaWVsZCk6CiAgICAgICAgICMgWFhYIGNhbiB0aGUgbWVtYmVycyBvZiB0aGlzIGxpc3QgYmUgZGV0ZXJtaW5lZCBhdXRvbWF0aWNhbGx5PwotICAgICAgICByZXR1cm4gZmllbGQudHlwZS52YWx1ZSBpbiAoJ2V4cHJfY29udGV4dCcsICdib29sb3AnLCAnb3BlcmF0b3InLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3VuYXJ5b3AnLCAnY21wb3AnKQorICAgICAgICByZXR1cm4gZmllbGQudHlwZSBpbiAoJ2V4cHJfY29udGV4dCcsICdib29sb3AnLCAnb3BlcmF0b3InLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3VuYXJ5b3AnLCAnY21wb3AnKQogCiAgICAgZGVmIGlzTnVtZXJpYyhzZWxmLCBmaWVsZCk6CiAgICAgICAgIHJldHVybiBnZXRfY190eXBlKGZpZWxkLnR5cGUpIGluICgiaW50IiwgImJvb2wiKQpAQCAtOTYwLDcgKzk1MCw3IEBACiAKICAgICBkZWYgdmlzaXRQcm9kdWN0KHNlbGYsIHByb2QsIG5hbWUpOgogICAgICAgICBpZiBwcm9kLmZpZWxkczoKLSAgICAgICAgICAgIGZpZWxkcyA9IG5hbWUudmFsdWUrIl9maWVsZHMiCisgICAgICAgICAgICBmaWVsZHMgPSBuYW1lKyJfZmllbGRzIgogICAgICAgICBlbHNlOgogICAgICAgICAgICAgZmllbGRzID0gIk5VTEwiCiAgICAgICAgIHNlbGYuZW1pdCgnJXNfdHlwZSA9IG1ha2VfdHlwZSgiJXMiLCAmQVNUX3R5cGUsICVzLCAlZCk7JyAlCkBAIC05ODcsNyArOTc3LDcgQEAKIAogICAgIGRlZiB2aXNpdENvbnN0cnVjdG9yKHNlbGYsIGNvbnMsIG5hbWUsIHNpbXBsZSk6CiAgICAgICAgIGlmIGNvbnMuZmllbGRzOgotICAgICAgICAgICAgZmllbGRzID0gY29ucy5uYW1lLnZhbHVlKyJfZmllbGRzIgorICAgICAgICAgICAgZmllbGRzID0gY29ucy5uYW1lKyJfZmllbGRzIgogICAgICAgICBlbHNlOgogICAgICAgICAgICAgZmllbGRzID0gIk5VTEwiCiAgICAgICAgIHNlbGYuZW1pdCgnJXNfdHlwZSA9IG1ha2VfdHlwZSgiJXMiLCAlc190eXBlLCAlcywgJWQpOycgJQpAQCAtMTE3MCw3ICsxMTYwLDcgQEAKICAgICBkZWYgc2V0KHNlbGYsIGZpZWxkLCB2YWx1ZSwgZGVwdGgpOgogICAgICAgICBpZiBmaWVsZC5zZXE6CiAgICAgICAgICAgICAjIFhYWCBzaG91bGQgcmVhbGx5IGNoZWNrIGZvciBpc19zaW1wbGUsIGJ1dCB0aGF0IHJlcXVpcmVzIGEgc3ltYm9sIHRhYmxlCi0gICAgICAgICAgICBpZiBmaWVsZC50eXBlLnZhbHVlID09ICJjbXBvcCI6CisgICAgICAgICAgICBpZiBmaWVsZC50eXBlID09ICJjbXBvcCI6CiAgICAgICAgICAgICAgICAgIyBXaGlsZSB0aGUgc2VxdWVuY2UgZWxlbWVudHMgYXJlIHN0b3JlZCBhcyB2b2lkKiwKICAgICAgICAgICAgICAgICAjIGFzdDJvYmpfY21wb3AgZXhwZWN0cyBhbiBlbnVtCiAgICAgICAgICAgICAgICAgc2VsZi5lbWl0KCJ7IiwgZGVwdGgpCkBAIC0xMjQ5LDEyICsxMjM5LDE1IEBACiAKIGNvbW1vbl9tc2cgPSAiLyogRmlsZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSAlcy4gKi9cblxuIgogCi1kZWYgbWFpbihzcmNmaWxlKToKK2RlZiBtYWluKHNyY2ZpbGUsIGR1bXBfbW9kdWxlPUZhbHNlKToKICAgICBhcmd2MCA9IHN5cy5hcmd2WzBdCiAgICAgY29tcG9uZW50cyA9IGFyZ3YwLnNwbGl0KG9zLnNlcCkKICAgICBhcmd2MCA9IG9zLnNlcC5qb2luKGNvbXBvbmVudHNbLTI6XSkKICAgICBhdXRvX2dlbl9tc2cgPSBjb21tb25fbXNnICUgYXJndjAKICAgICBtb2QgPSBhc2RsLnBhcnNlKHNyY2ZpbGUpCisgICAgaWYgZHVtcF9tb2R1bGU6CisgICAgICAgIHByaW50KCdQYXJzZWQgTW9kdWxlOicpCisgICAgICAgIHByaW50KG1vZCkKICAgICBpZiBub3QgYXNkbC5jaGVjayhtb2QpOgogICAgICAgICBzeXMuZXhpdCgxKQogICAgIGlmIElOQ19ESVI6CkBAIC0xMzAxLDE2ICsxMjk0LDE5IEBACiAKICAgICBJTkNfRElSID0gJycKICAgICBTUkNfRElSID0gJycKLSAgICBvcHRzLCBhcmdzID0gZ2V0b3B0LmdldG9wdChzeXMuYXJndlsxOl0sICJoOmM6IikKLSAgICBpZiBsZW4ob3B0cykgIT0gMToKLSAgICAgICAgc3lzLnN0ZG91dC53cml0ZSgiTXVzdCBzcGVjaWZ5IGV4YWN0bHkgb25lIG91dHB1dCBmaWxlXG4iKQotICAgICAgICBzeXMuZXhpdCgxKQorICAgIGR1bXBfbW9kdWxlID0gRmFsc2UKKyAgICBvcHRzLCBhcmdzID0gZ2V0b3B0LmdldG9wdChzeXMuYXJndlsxOl0sICJkaDpjOiIpCiAgICAgZm9yIG8sIHYgaW4gb3B0czoKICAgICAgICAgaWYgbyA9PSAnLWgnOgogICAgICAgICAgICAgSU5DX0RJUiA9IHYKICAgICAgICAgaWYgbyA9PSAnLWMnOgogICAgICAgICAgICAgU1JDX0RJUiA9IHYKLSAgICBpZiBsZW4oYXJncykgIT0gMToKLSAgICAgICAgc3lzLnN0ZG91dC53cml0ZSgiTXVzdCBzcGVjaWZ5IHNpbmdsZSBpbnB1dCBmaWxlXG4iKQorICAgICAgICBpZiBvID09ICctZCc6CisgICAgICAgICAgICBkdW1wX21vZHVsZSA9IFRydWUKKyAgICBpZiBJTkNfRElSIGFuZCBTUkNfRElSOgorICAgICAgICBwcmludCgnTXVzdCBzcGVjaWZ5IGV4YWN0bHkgb25lIG91dHB1dCBmaWxlJykKICAgICAgICAgc3lzLmV4aXQoMSkKLSAgICBtYWluKGFyZ3NbMF0pCisgICAgZWxpZiBsZW4oYXJncykgIT0gMToKKyAgICAgICAgcHJpbnQoJ011c3Qgc3BlY2lmeSBzaW5nbGUgaW5wdXQgZmlsZScpCisgICAgICAgIHN5cy5leGl0KDEpCisgICAgbWFpbihhcmdzWzBdLCBkdW1wX21vZHVsZSkKZGlmZiAtLWdpdCBhL1BhcnNlci9ub2RlLmMgYi9QYXJzZXIvbm9kZS5jCmluZGV4IDU2NGJkOTEuLjAwMTAzMjQgMTAwNjQ0Ci0tLSBhL1BhcnNlci9ub2RlLmMKKysrIGIvUGFyc2VyL25vZGUuYwpAQCAtNzAsOCArNzAsOCBAQAogICogTm90ZSB0aGF0IHRoaXMgd291bGQgYmUgc3RyYWlnaHRmb3J3YXJkIGlmIGEgbm9kZSBzdG9yZWQgaXRzIGN1cnJlbnQKICAqIGNhcGFjaXR5LiAgVGhlIGNvZGUgaXMgdHJpY2t5IHRvIGF2b2lkIHRoYXQuCiAgKi8KLSNkZWZpbmUgWFhYUk9VTkRVUChuKSAoKG4pIDw9IDEgPyAobikgOiAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgKG4pIDw9IDEyOCA/IF9QeV9TSVpFX1JPVU5EX1VQKChuKSwgNCkgOiBcCisjZGVmaW5lIFhYWFJPVU5EVVAobikgKChuKSA8PSAxID8gKG4pIDogICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgKG4pIDw9IDEyOCA/IChpbnQpX1B5X1NJWkVfUk9VTkRfVVAoKG4pLCA0KSA6ICAgIFwKICAgICAgICAgICAgICAgIGZhbmN5X3JvdW5kdXAobikpCiAKIApkaWZmIC0tZ2l0IGEvUGFyc2VyL3BnZW5tYWluLmMgYi9QYXJzZXIvcGdlbm1haW4uYwppbmRleCAwMTdhNGY5Li4wZjA1NWQ2IDEwMDY0NAotLS0gYS9QYXJzZXIvcGdlbm1haW4uYworKysgYi9QYXJzZXIvcGdlbm1haW4uYwpAQCAtOTYsMTAgKzk2LDExIEBACiAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiUGFyc2luZyBlcnJvciAlZCwgbGluZSAlZC5cbiIsCiAgICAgICAgICAgICBlcnIuZXJyb3IsIGVyci5saW5lbm8pOwogICAgICAgICBpZiAoZXJyLnRleHQgIT0gTlVMTCkgewotICAgICAgICAgICAgc2l6ZV90IGk7CisgICAgICAgICAgICBzaXplX3QgbGVuOworICAgICAgICAgICAgaW50IGk7CiAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIiVzIiwgZXJyLnRleHQpOwotICAgICAgICAgICAgaSA9IHN0cmxlbihlcnIudGV4dCk7Ci0gICAgICAgICAgICBpZiAoaSA9PSAwIHx8IGVyci50ZXh0W2ktMV0gIT0gJ1xuJykKKyAgICAgICAgICAgIGxlbiA9IHN0cmxlbihlcnIudGV4dCk7CisgICAgICAgICAgICBpZiAobGVuID09IDAgfHwgZXJyLnRleHRbbGVuLTFdICE9ICdcbicpCiAgICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJcbiIpOwogICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGVyci5vZmZzZXQ7IGkrKykgewogICAgICAgICAgICAgICAgIGlmIChlcnIudGV4dFtpXSA9PSAnXHQnKQpkaWZmIC0tZ2l0IGEvUGFyc2VyL3ByaW50Z3JhbW1hci5jIGIvUGFyc2VyL3ByaW50Z3JhbW1hci5jCmluZGV4IGRkN2U2YWUuLjczMTFlNTUgMTAwNjQ0Ci0tLSBhL1BhcnNlci9wcmludGdyYW1tYXIuYworKysgYi9QYXJzZXIvcHJpbnRncmFtbWFyLmMKQEAgLTg0LDcgKzg0LDcgQEAKIHByaW50ZGZhcyhncmFtbWFyICpnLCBGSUxFICpmcCkKIHsKICAgICBkZmEgKmQ7Ci0gICAgaW50IGksIGo7CisgICAgaW50IGksIGosIG47CiAKICAgICBwcmludHN0YXRlcyhnLCBmcCk7CiAgICAgZnByaW50ZihmcCwgInN0YXRpYyBkZmEgZGZhc1slZF0gPSB7XG4iLCBnLT5nX25kZmFzKTsKQEAgLTkzLDcgKzkzLDggQEAKICAgICAgICAgZnByaW50ZihmcCwgIiAgICB7JWQsIFwiJXNcIiwgJWQsICVkLCBzdGF0ZXNfJWQsXG4iLAogICAgICAgICAgICAgZC0+ZF90eXBlLCBkLT5kX25hbWUsIGQtPmRfaW5pdGlhbCwgZC0+ZF9uc3RhdGVzLCBpKTsKICAgICAgICAgZnByaW50ZihmcCwgIiAgICAgXCIiKTsKLSAgICAgICAgZm9yIChqID0gMDsgaiA8IE5CWVRFUyhnLT5nX2xsLmxsX25sYWJlbHMpOyBqKyspCisgICAgICAgIG4gPSBOQllURVMoZy0+Z19sbC5sbF9ubGFiZWxzKTsKKyAgICAgICAgZm9yIChqID0gMDsgaiA8IG47IGorKykKICAgICAgICAgICAgIGZwcmludGYoZnAsICJcXCUwM28iLCBkLT5kX2ZpcnN0W2pdICYgMHhmZik7CiAgICAgICAgIGZwcmludGYoZnAsICJcIn0sXG4iKTsKICAgICB9CmRpZmYgLS1naXQgYS9QYXJzZXIvc3BhcmsucHkgYi9QYXJzZXIvc3BhcmsucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg4YzFhODkuLjAwMDAwMDAKLS0tIGEvUGFyc2VyL3NwYXJrLnB5CisrKyAvZGV2L251bGwKQEAgLTEsODQ5ICswLDAgQEAKLSMgIENvcHlyaWdodCAoYykgMTk5OC0yMDAyIEpvaG4gQXljb2NrCi0jCi0jICBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcKLSMgIGEgY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQotIyAgIlNvZnR3YXJlIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZwotIyAgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAotIyAgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvCi0jICBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KLSMgIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKLSMKLSMgIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlCi0jICBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KLSMKLSMgIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAotIyAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCi0jICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCi0jICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQotIyAgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKLSMgIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCi0jICBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KLQotX192ZXJzaW9uX18gPSAnU1BBUkstMC43IChwcmUtYWxwaGEtNSknCi0KLWltcG9ydCByZQotCi0jIENvbXBhdGliaWxpdHkgd2l0aCBvbGRlciBweXRob25zLgotZGVmIG91dHB1dChzdHJpbmc9JycsIGVuZD0nXG4nKToKLSAgICBzeXMuc3Rkb3V0LndyaXRlKHN0cmluZyArIGVuZCkKLQotdHJ5OgotICAgIHNvcnRlZAotZXhjZXB0IE5hbWVFcnJvcjoKLSAgICBkZWYgc29ydGVkKHNlcSk6Ci0gICAgICAgIHNlcTIgPSBzZXFbOl0KLSAgICAgICAgc2VxMi5zb3J0KCkKLSAgICAgICAgcmV0dXJuIHNlcTIKLQotZGVmIF9uYW1lbGlzdChpbnN0YW5jZSk6Ci0gICAgbmFtZWxpc3QsIG5hbWVkaWN0LCBjbGFzc2xpc3QgPSBbXSwge30sIFtpbnN0YW5jZS5fX2NsYXNzX19dCi0gICAgZm9yIGMgaW4gY2xhc3NsaXN0OgotICAgICAgICBmb3IgYiBpbiBjLl9fYmFzZXNfXzoKLSAgICAgICAgICAgIGNsYXNzbGlzdC5hcHBlbmQoYikKLSAgICAgICAgZm9yIG5hbWUgaW4gYy5fX2RpY3RfXy5rZXlzKCk6Ci0gICAgICAgICAgICBpZiBuYW1lIG5vdCBpbiBuYW1lZGljdDoKLSAgICAgICAgICAgICAgICBuYW1lbGlzdC5hcHBlbmQobmFtZSkKLSAgICAgICAgICAgICAgICBuYW1lZGljdFtuYW1lXSA9IDEKLSAgICByZXR1cm4gbmFtZWxpc3QKLQotY2xhc3MgR2VuZXJpY1NjYW5uZXI6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGZsYWdzPTApOgotICAgICAgICBwYXR0ZXJuID0gc2VsZi5yZWZsZWN0KCkKLSAgICAgICAgc2VsZi5yZSA9IHJlLmNvbXBpbGUocGF0dGVybiwgcmUuVkVSQk9TRXxmbGFncykKLQotICAgICAgICBzZWxmLmluZGV4MmZ1bmMgPSB7fQotICAgICAgICBmb3IgbmFtZSwgbnVtYmVyIGluIHNlbGYucmUuZ3JvdXBpbmRleC5pdGVtcygpOgotICAgICAgICAgICAgc2VsZi5pbmRleDJmdW5jW251bWJlci0xXSA9IGdldGF0dHIoc2VsZiwgJ3RfJyArIG5hbWUpCi0KLSAgICBkZWYgbWFrZVJFKHNlbGYsIG5hbWUpOgotICAgICAgICBkb2MgPSBnZXRhdHRyKHNlbGYsIG5hbWUpLl9fZG9jX18KLSAgICAgICAgcnYgPSAnKD9QPCVzPiVzKScgJSAobmFtZVsyOl0sIGRvYykKLSAgICAgICAgcmV0dXJuIHJ2Ci0KLSAgICBkZWYgcmVmbGVjdChzZWxmKToKLSAgICAgICAgcnYgPSBbXQotICAgICAgICBmb3IgbmFtZSBpbiBfbmFtZWxpc3Qoc2VsZik6Ci0gICAgICAgICAgICBpZiBuYW1lWzoyXSA9PSAndF8nIGFuZCBuYW1lICE9ICd0X2RlZmF1bHQnOgotICAgICAgICAgICAgICAgIHJ2LmFwcGVuZChzZWxmLm1ha2VSRShuYW1lKSkKLQotICAgICAgICBydi5hcHBlbmQoc2VsZi5tYWtlUkUoJ3RfZGVmYXVsdCcpKQotICAgICAgICByZXR1cm4gJ3wnLmpvaW4ocnYpCi0KLSAgICBkZWYgZXJyb3Ioc2VsZiwgcywgcG9zKToKLSAgICAgICAgb3V0cHV0KCJMZXhpY2FsIGVycm9yIGF0IHBvc2l0aW9uICVzIiAlIHBvcykKLSAgICAgICAgcmFpc2UgU3lzdGVtRXhpdAotCi0gICAgZGVmIHRva2VuaXplKHNlbGYsIHMpOgotICAgICAgICBwb3MgPSAwCi0gICAgICAgIG4gPSBsZW4ocykKLSAgICAgICAgd2hpbGUgcG9zIDwgbjoKLSAgICAgICAgICAgIG0gPSBzZWxmLnJlLm1hdGNoKHMsIHBvcykKLSAgICAgICAgICAgIGlmIG0gaXMgTm9uZToKLSAgICAgICAgICAgICAgICBzZWxmLmVycm9yKHMsIHBvcykKLQotICAgICAgICAgICAgZ3JvdXBzID0gbS5ncm91cHMoKQotICAgICAgICAgICAgZm9yIGkgaW4gcmFuZ2UobGVuKGdyb3VwcykpOgotICAgICAgICAgICAgICAgIGlmIGdyb3Vwc1tpXSBhbmQgaSBpbiBzZWxmLmluZGV4MmZ1bmM6Ci0gICAgICAgICAgICAgICAgICAgIHNlbGYuaW5kZXgyZnVuY1tpXShncm91cHNbaV0pCi0gICAgICAgICAgICBwb3MgPSBtLmVuZCgpCi0KLSAgICBkZWYgdF9kZWZhdWx0KHNlbGYsIHMpOgotICAgICAgICByJyggLiB8IFxuICkrJwotICAgICAgICBvdXRwdXQoIlNwZWNpZmljYXRpb24gZXJyb3I6IHVubWF0Y2hlZCBpbnB1dCIpCi0gICAgICAgIHJhaXNlIFN5c3RlbUV4aXQKLQotIwotIyAgRXh0cmFjdGVkIGZyb20gR2VuZXJpY1BhcnNlciBhbmQgbWFkZSBnbG9iYWwgc28gdGhhdCBbdW5dcGlja2luZyB3b3Jrcy4KLSMKLWNsYXNzIF9TdGF0ZToKLSAgICBkZWYgX19pbml0X18oc2VsZiwgc3RhdGVubywgaXRlbXMpOgotICAgICAgICBzZWxmLlQsIHNlbGYuY29tcGxldGUsIHNlbGYuaXRlbXMgPSBbXSwgW10sIGl0ZW1zCi0gICAgICAgIHNlbGYuc3RhdGVubyA9IHN0YXRlbm8KLQotY2xhc3MgR2VuZXJpY1BhcnNlcjoKLSAgICAjCi0gICAgIyAgQW4gRWFybGV5IHBhcnNlciwgYXMgcGVyIEouIEVhcmxleSwgIkFuIEVmZmljaWVudCBDb250ZXh0LUZyZWUKLSAgICAjICBQYXJzaW5nIEFsZ29yaXRobSIsIENBQ00gMTMoMiksIHBwLiA5NC0xMDIuICBBbHNvIEouIEMuIEVhcmxleSwKLSAgICAjICAiQW4gRWZmaWNpZW50IENvbnRleHQtRnJlZSBQYXJzaW5nIEFsZ29yaXRobSIsIFBoLkQuIHRoZXNpcywKLSAgICAjICBDYXJuZWdpZS1NZWxsb24gVW5pdmVyc2l0eSwgQXVndXN0IDE5NjguICBOZXcgZm9ybXVsYXRpb24gb2YKLSAgICAjICB0aGUgcGFyc2VyIGFjY29yZGluZyB0byBKLiBBeWNvY2ssICJQcmFjdGljYWwgRWFybGV5IFBhcnNpbmcKLSAgICAjICBhbmQgdGhlIFNQQVJLIFRvb2xraXQiLCBQaC5ELiB0aGVzaXMsIFVuaXZlcnNpdHkgb2YgVmljdG9yaWEsCi0gICAgIyAgMjAwMSwgYW5kIEouIEF5Y29jayBhbmQgUi4gTi4gSG9yc3Bvb2wsICJQcmFjdGljYWwgRWFybGV5Ci0gICAgIyAgUGFyc2luZyIsIHVucHVibGlzaGVkIHBhcGVyLCAyMDAxLgotICAgICMKLQotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBzdGFydCk6Ci0gICAgICAgIHNlbGYucnVsZXMgPSB7fQotICAgICAgICBzZWxmLnJ1bGUyZnVuYyA9IHt9Ci0gICAgICAgIHNlbGYucnVsZTJuYW1lID0ge30KLSAgICAgICAgc2VsZi5jb2xsZWN0UnVsZXMoKQotICAgICAgICBzZWxmLmF1Z21lbnQoc3RhcnQpCi0gICAgICAgIHNlbGYucnVsZXNjaGFuZ2VkID0gMQotCi0gICAgX05VTExBQkxFID0gJ1xlXycKLSAgICBfU1RBUlQgPSAnU1RBUlQnCi0gICAgX0JPRiA9ICd8LScKLQotICAgICMKLSAgICAjICBXaGVuIHBpY2tsaW5nLCB0YWtlIHRoZSB0aW1lIHRvIGdlbmVyYXRlIHRoZSBmdWxsIHN0YXRlIG1hY2hpbmU7Ci0gICAgIyAgc29tZSBpbmZvcm1hdGlvbiBpcyB0aGVuIGV4dHJhbmVvdXMsIHRvby4gIFVuZm9ydHVuYXRlbHkgd2UKLSAgICAjICBjYW4ndCBzYXZlIHRoZSBydWxlMmZ1bmMgbWFwLgotICAgICMKLSAgICBkZWYgX19nZXRzdGF0ZV9fKHNlbGYpOgotICAgICAgICBpZiBzZWxmLnJ1bGVzY2hhbmdlZDoKLSAgICAgICAgICAgICMKLSAgICAgICAgICAgICMgIFhYWCAtIGR1cGxpY2F0ZWQgZnJvbSBwYXJzZSgpCi0gICAgICAgICAgICAjCi0gICAgICAgICAgICBzZWxmLmNvbXB1dGVOdWxsKCkKLSAgICAgICAgICAgIHNlbGYubmV3cnVsZXMgPSB7fQotICAgICAgICAgICAgc2VsZi5uZXcyb2xkID0ge30KLSAgICAgICAgICAgIHNlbGYubWFrZU5ld1J1bGVzKCkKLSAgICAgICAgICAgIHNlbGYucnVsZXNjaGFuZ2VkID0gMAotICAgICAgICAgICAgc2VsZi5lZGdlcywgc2VsZi5jb3JlcyA9IHt9LCB7fQotICAgICAgICAgICAgc2VsZi5zdGF0ZXMgPSB7IDA6IHNlbGYubWFrZVN0YXRlMCgpIH0KLSAgICAgICAgICAgIHNlbGYubWFrZVN0YXRlKDAsIHNlbGYuX0JPRikKLSAgICAgICAgIwotICAgICAgICAjICBYWFggLSBzaG91bGQgZmluZCBhIGJldHRlciB3YXkgdG8gZG8gdGhpcy4uCi0gICAgICAgICMKLSAgICAgICAgY2hhbmdlcyA9IDEKLSAgICAgICAgd2hpbGUgY2hhbmdlczoKLSAgICAgICAgICAgIGNoYW5nZXMgPSAwCi0gICAgICAgICAgICBmb3IgaywgdiBpbiBzZWxmLmVkZ2VzLml0ZW1zKCk6Ci0gICAgICAgICAgICAgICAgaWYgdiBpcyBOb25lOgotICAgICAgICAgICAgICAgICAgICBzdGF0ZSwgc3ltID0gawotICAgICAgICAgICAgICAgICAgICBpZiBzdGF0ZSBpbiBzZWxmLnN0YXRlczoKLSAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZ290byhzdGF0ZSwgc3ltKQotICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlcyA9IDEKLSAgICAgICAgcnYgPSBzZWxmLl9fZGljdF9fLmNvcHkoKQotICAgICAgICBmb3IgcyBpbiBzZWxmLnN0YXRlcy52YWx1ZXMoKToKLSAgICAgICAgICAgIGRlbCBzLml0ZW1zCi0gICAgICAgIGRlbCBydlsncnVsZTJmdW5jJ10KLSAgICAgICAgZGVsIHJ2WydudWxsYWJsZSddCi0gICAgICAgIGRlbCBydlsnY29yZXMnXQotICAgICAgICByZXR1cm4gcnYKLQotICAgIGRlZiBfX3NldHN0YXRlX18oc2VsZiwgRCk6Ci0gICAgICAgIHNlbGYucnVsZXMgPSB7fQotICAgICAgICBzZWxmLnJ1bGUyZnVuYyA9IHt9Ci0gICAgICAgIHNlbGYucnVsZTJuYW1lID0ge30KLSAgICAgICAgc2VsZi5jb2xsZWN0UnVsZXMoKQotICAgICAgICBzdGFydCA9IERbJ3J1bGVzJ11bc2VsZi5fU1RBUlRdWzBdWzFdWzFdICAgICAgICAjIEJsZWNoLgotICAgICAgICBzZWxmLmF1Z21lbnQoc3RhcnQpCi0gICAgICAgIERbJ3J1bGUyZnVuYyddID0gc2VsZi5ydWxlMmZ1bmMKLSAgICAgICAgRFsnbWFrZVNldCddID0gc2VsZi5tYWtlU2V0X2Zhc3QKLSAgICAgICAgc2VsZi5fX2RpY3RfXyA9IEQKLQotICAgICMKLSAgICAjICBBIGhvb2sgZm9yIEdlbmVyaWNBU1RCdWlsZGVyIGFuZCBHZW5lcmljQVNUTWF0Y2hlci4gIE1lc3MKLSAgICAjICB0aGVlIG5vdCB3aXRoIHRoaXM7IG5vciBzaGFsbCB0aGVlIHRvdWNoZXRoIHRoZSBfcHJlcHJvY2VzcwotICAgICMgIGFyZ3VtZW50IHRvIGFkZFJ1bGUuCi0gICAgIwotICAgIGRlZiBwcmVwcm9jZXNzKHNlbGYsIHJ1bGUsIGZ1bmMpOiAgICAgICByZXR1cm4gcnVsZSwgZnVuYwotCi0gICAgZGVmIGFkZFJ1bGUoc2VsZiwgZG9jLCBmdW5jLCBfcHJlcHJvY2Vzcz0xKToKLSAgICAgICAgZm4gPSBmdW5jCi0gICAgICAgIHJ1bGVzID0gZG9jLnNwbGl0KCkKLQotICAgICAgICBpbmRleCA9IFtdCi0gICAgICAgIGZvciBpIGluIHJhbmdlKGxlbihydWxlcykpOgotICAgICAgICAgICAgaWYgcnVsZXNbaV0gPT0gJzo6PSc6Ci0gICAgICAgICAgICAgICAgaW5kZXguYXBwZW5kKGktMSkKLSAgICAgICAgaW5kZXguYXBwZW5kKGxlbihydWxlcykpCi0KLSAgICAgICAgZm9yIGkgaW4gcmFuZ2UobGVuKGluZGV4KS0xKToKLSAgICAgICAgICAgIGxocyA9IHJ1bGVzW2luZGV4W2ldXQotICAgICAgICAgICAgcmhzID0gcnVsZXNbaW5kZXhbaV0rMjppbmRleFtpKzFdXQotICAgICAgICAgICAgcnVsZSA9IChsaHMsIHR1cGxlKHJocykpCi0KLSAgICAgICAgICAgIGlmIF9wcmVwcm9jZXNzOgotICAgICAgICAgICAgICAgIHJ1bGUsIGZuID0gc2VsZi5wcmVwcm9jZXNzKHJ1bGUsIGZ1bmMpCi0KLSAgICAgICAgICAgIGlmIGxocyBpbiBzZWxmLnJ1bGVzOgotICAgICAgICAgICAgICAgIHNlbGYucnVsZXNbbGhzXS5hcHBlbmQocnVsZSkKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgc2VsZi5ydWxlc1tsaHNdID0gWyBydWxlIF0KLSAgICAgICAgICAgIHNlbGYucnVsZTJmdW5jW3J1bGVdID0gZm4KLSAgICAgICAgICAgIHNlbGYucnVsZTJuYW1lW3J1bGVdID0gZnVuYy5fX25hbWVfX1syOl0KLSAgICAgICAgc2VsZi5ydWxlc2NoYW5nZWQgPSAxCi0KLSAgICBkZWYgY29sbGVjdFJ1bGVzKHNlbGYpOgotICAgICAgICBmb3IgbmFtZSBpbiBfbmFtZWxpc3Qoc2VsZik6Ci0gICAgICAgICAgICBpZiBuYW1lWzoyXSA9PSAncF8nOgotICAgICAgICAgICAgICAgIGZ1bmMgPSBnZXRhdHRyKHNlbGYsIG5hbWUpCi0gICAgICAgICAgICAgICAgZG9jID0gZnVuYy5fX2RvY19fCi0gICAgICAgICAgICAgICAgc2VsZi5hZGRSdWxlKGRvYywgZnVuYykKLQotICAgIGRlZiBhdWdtZW50KHNlbGYsIHN0YXJ0KToKLSAgICAgICAgcnVsZSA9ICclcyA6Oj0gJXMgJXMnICUgKHNlbGYuX1NUQVJULCBzZWxmLl9CT0YsIHN0YXJ0KQotICAgICAgICBzZWxmLmFkZFJ1bGUocnVsZSwgbGFtYmRhIGFyZ3M6IGFyZ3NbMV0sIDApCi0KLSAgICBkZWYgY29tcHV0ZU51bGwoc2VsZik6Ci0gICAgICAgIHNlbGYubnVsbGFibGUgPSB7fQotICAgICAgICB0YmQgPSBbXQotCi0gICAgICAgIGZvciBydWxlbGlzdCBpbiBzZWxmLnJ1bGVzLnZhbHVlcygpOgotICAgICAgICAgICAgbGhzID0gcnVsZWxpc3RbMF1bMF0KLSAgICAgICAgICAgIHNlbGYubnVsbGFibGVbbGhzXSA9IDAKLSAgICAgICAgICAgIGZvciBydWxlIGluIHJ1bGVsaXN0OgotICAgICAgICAgICAgICAgIHJocyA9IHJ1bGVbMV0KLSAgICAgICAgICAgICAgICBpZiBsZW4ocmhzKSA9PSAwOgotICAgICAgICAgICAgICAgICAgICBzZWxmLm51bGxhYmxlW2xoc10gPSAxCi0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgICAgICAgICAgIwotICAgICAgICAgICAgICAgICMgIFdlIG9ubHkgbmVlZCB0byBjb25zaWRlciBydWxlcyB3aGljaAotICAgICAgICAgICAgICAgICMgIGNvbnNpc3QgZW50aXJlbHkgb2Ygbm9udGVybWluYWwgc3ltYm9scy4KLSAgICAgICAgICAgICAgICAjICBUaGlzIHNob3VsZCBiZSBhIHNhdmluZ3Mgb24gdHlwaWNhbAotICAgICAgICAgICAgICAgICMgIGdyYW1tYXJzLgotICAgICAgICAgICAgICAgICMKLSAgICAgICAgICAgICAgICBmb3Igc3ltIGluIHJoczoKLSAgICAgICAgICAgICAgICAgICAgaWYgc3ltIG5vdCBpbiBzZWxmLnJ1bGVzOgotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICB0YmQuYXBwZW5kKHJ1bGUpCi0gICAgICAgIGNoYW5nZXMgPSAxCi0gICAgICAgIHdoaWxlIGNoYW5nZXM6Ci0gICAgICAgICAgICBjaGFuZ2VzID0gMAotICAgICAgICAgICAgZm9yIGxocywgcmhzIGluIHRiZDoKLSAgICAgICAgICAgICAgICBpZiBzZWxmLm51bGxhYmxlW2xoc106Ci0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgICAgICAgICAgZm9yIHN5bSBpbiByaHM6Ci0gICAgICAgICAgICAgICAgICAgIGlmIG5vdCBzZWxmLm51bGxhYmxlW3N5bV06Ci0gICAgICAgICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIHNlbGYubnVsbGFibGVbbGhzXSA9IDEKLSAgICAgICAgICAgICAgICAgICAgY2hhbmdlcyA9IDEKLQotICAgIGRlZiBtYWtlU3RhdGUwKHNlbGYpOgotICAgICAgICBzMCA9IF9TdGF0ZSgwLCBbXSkKLSAgICAgICAgZm9yIHJ1bGUgaW4gc2VsZi5uZXdydWxlc1tzZWxmLl9TVEFSVF06Ci0gICAgICAgICAgICBzMC5pdGVtcy5hcHBlbmQoKHJ1bGUsIDApKQotICAgICAgICByZXR1cm4gczAKLQotICAgIGRlZiBmaW5hbFN0YXRlKHNlbGYsIHRva2Vucyk6Ci0gICAgICAgICMKLSAgICAgICAgIyAgWXVjay4KLSAgICAgICAgIwotICAgICAgICBpZiBsZW4oc2VsZi5uZXdydWxlc1tzZWxmLl9TVEFSVF0pID09IDIgYW5kIGxlbih0b2tlbnMpID09IDA6Ci0gICAgICAgICAgICByZXR1cm4gMQotICAgICAgICBzdGFydCA9IHNlbGYucnVsZXNbc2VsZi5fU1RBUlRdWzBdWzFdWzFdCi0gICAgICAgIHJldHVybiBzZWxmLmdvdG8oMSwgc3RhcnQpCi0KLSAgICBkZWYgbWFrZU5ld1J1bGVzKHNlbGYpOgotICAgICAgICB3b3JrbGlzdCA9IFtdCi0gICAgICAgIGZvciBydWxlbGlzdCBpbiBzZWxmLnJ1bGVzLnZhbHVlcygpOgotICAgICAgICAgICAgZm9yIHJ1bGUgaW4gcnVsZWxpc3Q6Ci0gICAgICAgICAgICAgICAgd29ya2xpc3QuYXBwZW5kKChydWxlLCAwLCAxLCBydWxlKSkKLQotICAgICAgICBmb3IgcnVsZSwgaSwgY2FuZGlkYXRlLCBvbGRydWxlIGluIHdvcmtsaXN0OgotICAgICAgICAgICAgbGhzLCByaHMgPSBydWxlCi0gICAgICAgICAgICBuID0gbGVuKHJocykKLSAgICAgICAgICAgIHdoaWxlIGkgPCBuOgotICAgICAgICAgICAgICAgIHN5bSA9IHJoc1tpXQotICAgICAgICAgICAgICAgIGlmIHN5bSBub3QgaW4gc2VsZi5ydWxlcyBvciBcCi0gICAgICAgICAgICAgICAgICAgbm90IHNlbGYubnVsbGFibGVbc3ltXToKLSAgICAgICAgICAgICAgICAgICAgY2FuZGlkYXRlID0gMAotICAgICAgICAgICAgICAgICAgICBpID0gaSArIDEKLSAgICAgICAgICAgICAgICAgICAgY29udGludWUKLQotICAgICAgICAgICAgICAgIG5ld3JocyA9IGxpc3QocmhzKQotICAgICAgICAgICAgICAgIG5ld3Joc1tpXSA9IHNlbGYuX05VTExBQkxFK3N5bQotICAgICAgICAgICAgICAgIG5ld3J1bGUgPSAobGhzLCB0dXBsZShuZXdyaHMpKQotICAgICAgICAgICAgICAgIHdvcmtsaXN0LmFwcGVuZCgobmV3cnVsZSwgaSsxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FuZGlkYXRlLCBvbGRydWxlKSkKLSAgICAgICAgICAgICAgICBjYW5kaWRhdGUgPSAwCi0gICAgICAgICAgICAgICAgaSA9IGkgKyAxCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGlmIGNhbmRpZGF0ZToKLSAgICAgICAgICAgICAgICAgICAgbGhzID0gc2VsZi5fTlVMTEFCTEUrbGhzCi0gICAgICAgICAgICAgICAgICAgIHJ1bGUgPSAobGhzLCByaHMpCi0gICAgICAgICAgICAgICAgaWYgbGhzIGluIHNlbGYubmV3cnVsZXM6Ci0gICAgICAgICAgICAgICAgICAgIHNlbGYubmV3cnVsZXNbbGhzXS5hcHBlbmQocnVsZSkKLSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICBzZWxmLm5ld3J1bGVzW2xoc10gPSBbIHJ1bGUgXQotICAgICAgICAgICAgICAgIHNlbGYubmV3Mm9sZFtydWxlXSA9IG9sZHJ1bGUKLQotICAgIGRlZiB0eXBlc3RyaW5nKHNlbGYsIHRva2VuKToKLSAgICAgICAgcmV0dXJuIE5vbmUKLQotICAgIGRlZiBlcnJvcihzZWxmLCB0b2tlbik6Ci0gICAgICAgIG91dHB1dCgiU3ludGF4IGVycm9yIGF0IG9yIG5lYXIgYCVzJyB0b2tlbiIgJSB0b2tlbikKLSAgICAgICAgcmFpc2UgU3lzdGVtRXhpdAotCi0gICAgZGVmIHBhcnNlKHNlbGYsIHRva2Vucyk6Ci0gICAgICAgIHNldHMgPSBbIFsoMSwwKSwgKDIsMCldIF0KLSAgICAgICAgc2VsZi5saW5rcyA9IHt9Ci0KLSAgICAgICAgaWYgc2VsZi5ydWxlc2NoYW5nZWQ6Ci0gICAgICAgICAgICBzZWxmLmNvbXB1dGVOdWxsKCkKLSAgICAgICAgICAgIHNlbGYubmV3cnVsZXMgPSB7fQotICAgICAgICAgICAgc2VsZi5uZXcyb2xkID0ge30KLSAgICAgICAgICAgIHNlbGYubWFrZU5ld1J1bGVzKCkKLSAgICAgICAgICAgIHNlbGYucnVsZXNjaGFuZ2VkID0gMAotICAgICAgICAgICAgc2VsZi5lZGdlcywgc2VsZi5jb3JlcyA9IHt9LCB7fQotICAgICAgICAgICAgc2VsZi5zdGF0ZXMgPSB7IDA6IHNlbGYubWFrZVN0YXRlMCgpIH0KLSAgICAgICAgICAgIHNlbGYubWFrZVN0YXRlKDAsIHNlbGYuX0JPRikKLQotICAgICAgICBmb3IgaSBpbiByYW5nZShsZW4odG9rZW5zKSk6Ci0gICAgICAgICAgICBzZXRzLmFwcGVuZChbXSkKLQotICAgICAgICAgICAgaWYgc2V0c1tpXSA9PSBbXToKLSAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgc2VsZi5tYWtlU2V0KHRva2Vuc1tpXSwgc2V0cywgaSkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNldHMuYXBwZW5kKFtdKQotICAgICAgICAgICAgc2VsZi5tYWtlU2V0KE5vbmUsIHNldHMsIGxlbih0b2tlbnMpKQotCi0gICAgICAgICNfZHVtcCh0b2tlbnMsIHNldHMsIHNlbGYuc3RhdGVzKQotCi0gICAgICAgIGZpbmFsaXRlbSA9IChzZWxmLmZpbmFsU3RhdGUodG9rZW5zKSwgMCkKLSAgICAgICAgaWYgZmluYWxpdGVtIG5vdCBpbiBzZXRzWy0yXToKLSAgICAgICAgICAgIGlmIGxlbih0b2tlbnMpID4gMDoKLSAgICAgICAgICAgICAgICBzZWxmLmVycm9yKHRva2Vuc1tpLTFdKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBzZWxmLmVycm9yKE5vbmUpCi0KLSAgICAgICAgcmV0dXJuIHNlbGYuYnVpbGRUcmVlKHNlbGYuX1NUQVJULCBmaW5hbGl0ZW0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2tlbnMsIGxlbihzZXRzKS0yKQotCi0gICAgZGVmIGlzbnVsbGFibGUoc2VsZiwgc3ltKToKLSAgICAgICAgIwotICAgICAgICAjICBGb3Igc3ltYm9scyBpbiBHX2Ugb25seS4gIElmIHdlIHdlcmVuJ3Qgc3VwcG9ydGluZyAxLjUsCi0gICAgICAgICMgIGNvdWxkIGp1c3QgdXNlIHN5bS5zdGFydHN3aXRoKCkuCi0gICAgICAgICMKLSAgICAgICAgcmV0dXJuIHNlbGYuX05VTExBQkxFID09IHN5bVswOmxlbihzZWxmLl9OVUxMQUJMRSldCi0KLSAgICBkZWYgc2tpcChzZWxmLCBocywgcG9zPTApOgotICAgICAgICBuID0gbGVuKGhzWzFdKQotICAgICAgICB3aGlsZSBwb3MgPCBuOgotICAgICAgICAgICAgaWYgbm90IHNlbGYuaXNudWxsYWJsZShoc1sxXVtwb3NdKToKLSAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgcG9zID0gcG9zICsgMQotICAgICAgICByZXR1cm4gcG9zCi0KLSAgICBkZWYgbWFrZVN0YXRlKHNlbGYsIHN0YXRlLCBzeW0pOgotICAgICAgICBhc3NlcnQgc3ltIGlzIG5vdCBOb25lCi0gICAgICAgICMKLSAgICAgICAgIyAgQ29tcHV0ZSBcZXBzaWxvbi1rZXJuZWwgc3RhdGUncyBjb3JlIGFuZCBzZWUgaWYKLSAgICAgICAgIyAgaXQgZXhpc3RzIGFscmVhZHkuCi0gICAgICAgICMKLSAgICAgICAga2l0ZW1zID0gW10KLSAgICAgICAgZm9yIHJ1bGUsIHBvcyBpbiBzZWxmLnN0YXRlc1tzdGF0ZV0uaXRlbXM6Ci0gICAgICAgICAgICBsaHMsIHJocyA9IHJ1bGUKLSAgICAgICAgICAgIGlmIHJoc1twb3M6cG9zKzFdID09IChzeW0sKToKLSAgICAgICAgICAgICAgICBraXRlbXMuYXBwZW5kKChydWxlLCBzZWxmLnNraXAocnVsZSwgcG9zKzEpKSkKLSAgICAgICAgY29yZSA9IGtpdGVtcwotCi0gICAgICAgIGNvcmUuc29ydCgpCi0gICAgICAgIHRjb3JlID0gdHVwbGUoY29yZSkKLSAgICAgICAgaWYgdGNvcmUgaW4gc2VsZi5jb3JlczoKLSAgICAgICAgICAgIHJldHVybiBzZWxmLmNvcmVzW3Rjb3JlXQotICAgICAgICAjCi0gICAgICAgICMgIE5vcGUsIGRvZXNuJ3QgZXhpc3QuICBDb21wdXRlIGl0IGFuZCB0aGUgYXNzb2NpYXRlZAotICAgICAgICAjICBcZXBzaWxvbi1ub25rZXJuZWwgc3RhdGUgdG9nZXRoZXI7IHdlJ2xsIG5lZWQgaXQgcmlnaHQgYXdheS4KLSAgICAgICAgIwotICAgICAgICBrID0gc2VsZi5jb3Jlc1t0Y29yZV0gPSBsZW4oc2VsZi5zdGF0ZXMpCi0gICAgICAgIEssIE5LID0gX1N0YXRlKGssIGtpdGVtcyksIF9TdGF0ZShrKzEsIFtdKQotICAgICAgICBzZWxmLnN0YXRlc1trXSA9IEsKLSAgICAgICAgcHJlZGljdGVkID0ge30KLQotICAgICAgICBlZGdlcyA9IHNlbGYuZWRnZXMKLSAgICAgICAgcnVsZXMgPSBzZWxmLm5ld3J1bGVzCi0gICAgICAgIGZvciBYIGluIEssIE5LOgotICAgICAgICAgICAgd29ya2xpc3QgPSBYLml0ZW1zCi0gICAgICAgICAgICBmb3IgaXRlbSBpbiB3b3JrbGlzdDoKLSAgICAgICAgICAgICAgICBydWxlLCBwb3MgPSBpdGVtCi0gICAgICAgICAgICAgICAgbGhzLCByaHMgPSBydWxlCi0gICAgICAgICAgICAgICAgaWYgcG9zID09IGxlbihyaHMpOgotICAgICAgICAgICAgICAgICAgICBYLmNvbXBsZXRlLmFwcGVuZChydWxlKQotICAgICAgICAgICAgICAgICAgICBjb250aW51ZQotCi0gICAgICAgICAgICAgICAgbmV4dFN5bSA9IHJoc1twb3NdCi0gICAgICAgICAgICAgICAga2V5ID0gKFguc3RhdGVubywgbmV4dFN5bSkKLSAgICAgICAgICAgICAgICBpZiBuZXh0U3ltIG5vdCBpbiBydWxlczoKLSAgICAgICAgICAgICAgICAgICAgaWYga2V5IG5vdCBpbiBlZGdlczoKLSAgICAgICAgICAgICAgICAgICAgICAgIGVkZ2VzW2tleV0gPSBOb25lCi0gICAgICAgICAgICAgICAgICAgICAgICBYLlQuYXBwZW5kKG5leHRTeW0pCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgZWRnZXNba2V5XSA9IE5vbmUKLSAgICAgICAgICAgICAgICAgICAgaWYgbmV4dFN5bSBub3QgaW4gcHJlZGljdGVkOgotICAgICAgICAgICAgICAgICAgICAgICAgcHJlZGljdGVkW25leHRTeW1dID0gMQotICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHBydWxlIGluIHJ1bGVzW25leHRTeW1dOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBwb3MgPSBzZWxmLnNraXAocHJ1bGUpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3ID0gKHBydWxlLCBwcG9zKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5LLml0ZW1zLmFwcGVuZChuZXcpCi0gICAgICAgICAgICAjCi0gICAgICAgICAgICAjICBQcm9ibGVtOiB3ZSBrbm93IEsgbmVlZHMgZ2VuZXJhdGluZywgYnV0IHdlCi0gICAgICAgICAgICAjICBkb24ndCB5ZXQga25vdyBhYm91dCBOSy4gIENhbid0IGNvbW1pdCBhbnl0aGluZwotICAgICAgICAgICAgIyAgcmVnYXJkaW5nIE5LIHRvIHNlbGYuZWRnZXMgdW50aWwgd2UncmUgc3VyZS4gIFNob3VsZAotICAgICAgICAgICAgIyAgd2UgZGVsYXkgY29tbWl0dGluZyBvbiBib3RoIEsgYW5kIE5LIHRvIGF2b2lkIHRoaXMKLSAgICAgICAgICAgICMgIGhhY2t5IGNvZGU/ICBUaGlzIGNyZWF0ZXMgb3RoZXIgcHJvYmxlbXMuLgotICAgICAgICAgICAgIwotICAgICAgICAgICAgaWYgWCBpcyBLOgotICAgICAgICAgICAgICAgIGVkZ2VzID0ge30KLQotICAgICAgICBpZiBOSy5pdGVtcyA9PSBbXToKLSAgICAgICAgICAgIHJldHVybiBrCi0KLSAgICAgICAgIwotICAgICAgICAjICBDaGVjayBmb3IgXGVwc2lsb24tbm9ua2VybmVsJ3MgY29yZS4gIFVuZm9ydHVuYXRlbHkgd2UKLSAgICAgICAgIyAgbmVlZCB0byBrbm93IHRoZSBlbnRpcmUgc2V0IG9mIHByZWRpY3RlZCBub250ZXJtaW5hbHMKLSAgICAgICAgIyAgdG8gZG8gdGhpcyB3aXRob3V0IGFjY2lkZW50YWxseSBkdXBsaWNhdGluZyBzdGF0ZXMuCi0gICAgICAgICMKLSAgICAgICAgY29yZSA9IHNvcnRlZChwcmVkaWN0ZWQua2V5cygpKQotICAgICAgICB0Y29yZSA9IHR1cGxlKGNvcmUpCi0gICAgICAgIGlmIHRjb3JlIGluIHNlbGYuY29yZXM6Ci0gICAgICAgICAgICBzZWxmLmVkZ2VzWyhrLCBOb25lKV0gPSBzZWxmLmNvcmVzW3Rjb3JlXQotICAgICAgICAgICAgcmV0dXJuIGsKLQotICAgICAgICBuayA9IHNlbGYuY29yZXNbdGNvcmVdID0gc2VsZi5lZGdlc1soaywgTm9uZSldID0gTksuc3RhdGVubwotICAgICAgICBzZWxmLmVkZ2VzLnVwZGF0ZShlZGdlcykKLSAgICAgICAgc2VsZi5zdGF0ZXNbbmtdID0gTksKLSAgICAgICAgcmV0dXJuIGsKLQotICAgIGRlZiBnb3RvKHNlbGYsIHN0YXRlLCBzeW0pOgotICAgICAgICBrZXkgPSAoc3RhdGUsIHN5bSkKLSAgICAgICAgaWYga2V5IG5vdCBpbiBzZWxmLmVkZ2VzOgotICAgICAgICAgICAgIwotICAgICAgICAgICAgIyAgTm8gdHJhbnNpdGlvbnMgZnJvbSBzdGF0ZSBvbiBzeW0uCi0gICAgICAgICAgICAjCi0gICAgICAgICAgICByZXR1cm4gTm9uZQotCi0gICAgICAgIHJ2ID0gc2VsZi5lZGdlc1trZXldCi0gICAgICAgIGlmIHJ2IGlzIE5vbmU6Ci0gICAgICAgICAgICAjCi0gICAgICAgICAgICAjICBUYXJnZXQgc3RhdGUgaXNuJ3QgZ2VuZXJhdGVkIHlldC4gIFJlbWVkeSB0aGlzLgotICAgICAgICAgICAgIwotICAgICAgICAgICAgcnYgPSBzZWxmLm1ha2VTdGF0ZShzdGF0ZSwgc3ltKQotICAgICAgICAgICAgc2VsZi5lZGdlc1trZXldID0gcnYKLSAgICAgICAgcmV0dXJuIHJ2Ci0KLSAgICBkZWYgZ290b1Qoc2VsZiwgc3RhdGUsIHQpOgotICAgICAgICByZXR1cm4gW3NlbGYuZ290byhzdGF0ZSwgdCldCi0KLSAgICBkZWYgZ290b1NUKHNlbGYsIHN0YXRlLCBzdCk6Ci0gICAgICAgIHJ2ID0gW10KLSAgICAgICAgZm9yIHQgaW4gc2VsZi5zdGF0ZXNbc3RhdGVdLlQ6Ci0gICAgICAgICAgICBpZiBzdCA9PSB0OgotICAgICAgICAgICAgICAgIHJ2LmFwcGVuZChzZWxmLmdvdG8oc3RhdGUsIHQpKQotICAgICAgICByZXR1cm4gcnYKLQotICAgIGRlZiBhZGQoc2VsZiwgc2V0LCBpdGVtLCBpPU5vbmUsIHByZWRlY2Vzc29yPU5vbmUsIGNhdXNhbD1Ob25lKToKLSAgICAgICAgaWYgcHJlZGVjZXNzb3IgaXMgTm9uZToKLSAgICAgICAgICAgIGlmIGl0ZW0gbm90IGluIHNldDoKLSAgICAgICAgICAgICAgICBzZXQuYXBwZW5kKGl0ZW0pCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBrZXkgPSAoaXRlbSwgaSkKLSAgICAgICAgICAgIGlmIGl0ZW0gbm90IGluIHNldDoKLSAgICAgICAgICAgICAgICBzZWxmLmxpbmtzW2tleV0gPSBbXQotICAgICAgICAgICAgICAgIHNldC5hcHBlbmQoaXRlbSkKLSAgICAgICAgICAgIHNlbGYubGlua3Nba2V5XS5hcHBlbmQoKHByZWRlY2Vzc29yLCBjYXVzYWwpKQotCi0gICAgZGVmIG1ha2VTZXQoc2VsZiwgdG9rZW4sIHNldHMsIGkpOgotICAgICAgICBjdXIsIG5leHQgPSBzZXRzW2ldLCBzZXRzW2krMV0KLQotICAgICAgICB0dHlwZSA9IHRva2VuIGlzIG5vdCBOb25lIGFuZCBzZWxmLnR5cGVzdHJpbmcodG9rZW4pIG9yIE5vbmUKLSAgICAgICAgaWYgdHR5cGUgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICBmbiwgYXJnID0gc2VsZi5nb3RvVCwgdHR5cGUKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGZuLCBhcmcgPSBzZWxmLmdvdG9TVCwgdG9rZW4KLQotICAgICAgICBmb3IgaXRlbSBpbiBjdXI6Ci0gICAgICAgICAgICBwdHIgPSAoaXRlbSwgaSkKLSAgICAgICAgICAgIHN0YXRlLCBwYXJlbnQgPSBpdGVtCi0gICAgICAgICAgICBhZGQgPSBmbihzdGF0ZSwgYXJnKQotICAgICAgICAgICAgZm9yIGsgaW4gYWRkOgotICAgICAgICAgICAgICAgIGlmIGsgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgIHNlbGYuYWRkKG5leHQsIChrLCBwYXJlbnQpLCBpKzEsIHB0cikKLSAgICAgICAgICAgICAgICAgICAgbmsgPSBzZWxmLmdvdG8oaywgTm9uZSkKLSAgICAgICAgICAgICAgICAgICAgaWYgbmsgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmFkZChuZXh0LCAobmssIGkrMSkpCi0KLSAgICAgICAgICAgIGlmIHBhcmVudCA9PSBpOgotICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0KLSAgICAgICAgICAgIGZvciBydWxlIGluIHNlbGYuc3RhdGVzW3N0YXRlXS5jb21wbGV0ZToKLSAgICAgICAgICAgICAgICBsaHMsIHJocyA9IHJ1bGUKLSAgICAgICAgICAgICAgICBmb3IgcGl0ZW0gaW4gc2V0c1twYXJlbnRdOgotICAgICAgICAgICAgICAgICAgICBwc3RhdGUsIHBwYXJlbnQgPSBwaXRlbQotICAgICAgICAgICAgICAgICAgICBrID0gc2VsZi5nb3RvKHBzdGF0ZSwgbGhzKQotICAgICAgICAgICAgICAgICAgICBpZiBrIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgICAgICAgICAgICAgd2h5ID0gKGl0ZW0sIGksIHJ1bGUpCi0gICAgICAgICAgICAgICAgICAgICAgICBwcHRyID0gKHBpdGVtLCBwYXJlbnQpCi0gICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmFkZChjdXIsIChrLCBwcGFyZW50KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGksIHBwdHIsIHdoeSkKLSAgICAgICAgICAgICAgICAgICAgICAgIG5rID0gc2VsZi5nb3RvKGssIE5vbmUpCi0gICAgICAgICAgICAgICAgICAgICAgICBpZiBuayBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmFkZChjdXIsIChuaywgaSkpCi0KLSAgICBkZWYgbWFrZVNldF9mYXN0KHNlbGYsIHRva2VuLCBzZXRzLCBpKToKLSAgICAgICAgIwotICAgICAgICAjICBDYWxsICpvbmx5KiB3aGVuIHRoZSBlbnRpcmUgc3RhdGUgbWFjaGluZSBoYXMgYmVlbiBidWlsdCEKLSAgICAgICAgIyAgSXQgcmVsaWVzIG9uIHNlbGYuZWRnZXMgYmVpbmcgZmlsbGVkIGluIGNvbXBsZXRlbHksIGFuZAotICAgICAgICAjICB0aGVuIGR1cGxpY2F0ZXMgYW5kIGlubGluZXMgY29kZSB0byBib29zdCBzcGVlZCBhdCB0aGUKLSAgICAgICAgIyAgY29zdCBvZiBleHRyZW1lIHVnbGluZXNzLgotICAgICAgICAjCi0gICAgICAgIGN1ciwgbmV4dCA9IHNldHNbaV0sIHNldHNbaSsxXQotICAgICAgICB0dHlwZSA9IHRva2VuIGlzIG5vdCBOb25lIGFuZCBzZWxmLnR5cGVzdHJpbmcodG9rZW4pIG9yIE5vbmUKLQotICAgICAgICBmb3IgaXRlbSBpbiBjdXI6Ci0gICAgICAgICAgICBwdHIgPSAoaXRlbSwgaSkKLSAgICAgICAgICAgIHN0YXRlLCBwYXJlbnQgPSBpdGVtCi0gICAgICAgICAgICBpZiB0dHlwZSBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICBrID0gc2VsZi5lZGdlcy5nZXQoKHN0YXRlLCB0dHlwZSksIE5vbmUpCi0gICAgICAgICAgICAgICAgaWYgayBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICAgICAgI3NlbGYuYWRkKG5leHQsIChrLCBwYXJlbnQpLCBpKzEsIHB0cikKLSAgICAgICAgICAgICAgICAgICAgI0lOTElORUQgLS12Ci0gICAgICAgICAgICAgICAgICAgIG5ldyA9IChrLCBwYXJlbnQpCi0gICAgICAgICAgICAgICAgICAgIGtleSA9IChuZXcsIGkrMSkKLSAgICAgICAgICAgICAgICAgICAgaWYgbmV3IG5vdCBpbiBuZXh0OgotICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5saW5rc1trZXldID0gW10KLSAgICAgICAgICAgICAgICAgICAgICAgIG5leHQuYXBwZW5kKG5ldykKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5saW5rc1trZXldLmFwcGVuZCgocHRyLCBOb25lKSkKLSAgICAgICAgICAgICAgICAgICAgI0lOTElORUQgLS1eCi0gICAgICAgICAgICAgICAgICAgICNuayA9IHNlbGYuZ290byhrLCBOb25lKQotICAgICAgICAgICAgICAgICAgICBuayA9IHNlbGYuZWRnZXMuZ2V0KChrLCBOb25lKSwgTm9uZSkKLSAgICAgICAgICAgICAgICAgICAgaWYgbmsgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAjc2VsZi5hZGQobmV4dCwgKG5rLCBpKzEpKQotICAgICAgICAgICAgICAgICAgICAgICAgI0lOTElORUQgLS12Ci0gICAgICAgICAgICAgICAgICAgICAgICBuZXcgPSAobmssIGkrMSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIG5ldyBub3QgaW4gbmV4dDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXh0LmFwcGVuZChuZXcpCi0gICAgICAgICAgICAgICAgICAgICAgICAjSU5MSU5FRCAtLV4KLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgYWRkID0gc2VsZi5nb3RvU1Qoc3RhdGUsIHRva2VuKQotICAgICAgICAgICAgICAgIGZvciBrIGluIGFkZDoKLSAgICAgICAgICAgICAgICAgICAgaWYgayBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYWRkKG5leHQsIChrLCBwYXJlbnQpLCBpKzEsIHB0cikKLSAgICAgICAgICAgICAgICAgICAgICAgICNuayA9IHNlbGYuZ290byhrLCBOb25lKQotICAgICAgICAgICAgICAgICAgICAgICAgbmsgPSBzZWxmLmVkZ2VzLmdldCgoaywgTm9uZSksIE5vbmUpCi0gICAgICAgICAgICAgICAgICAgICAgICBpZiBuayBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmFkZChuZXh0LCAobmssIGkrMSkpCi0KLSAgICAgICAgICAgIGlmIHBhcmVudCA9PSBpOgotICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0KLSAgICAgICAgICAgIGZvciBydWxlIGluIHNlbGYuc3RhdGVzW3N0YXRlXS5jb21wbGV0ZToKLSAgICAgICAgICAgICAgICBsaHMsIHJocyA9IHJ1bGUKLSAgICAgICAgICAgICAgICBmb3IgcGl0ZW0gaW4gc2V0c1twYXJlbnRdOgotICAgICAgICAgICAgICAgICAgICBwc3RhdGUsIHBwYXJlbnQgPSBwaXRlbQotICAgICAgICAgICAgICAgICAgICAjayA9IHNlbGYuZ290byhwc3RhdGUsIGxocykKLSAgICAgICAgICAgICAgICAgICAgayA9IHNlbGYuZWRnZXMuZ2V0KChwc3RhdGUsIGxocyksIE5vbmUpCi0gICAgICAgICAgICAgICAgICAgIGlmIGsgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgICAgICB3aHkgPSAoaXRlbSwgaSwgcnVsZSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHBwdHIgPSAocGl0ZW0sIHBhcmVudCkKLSAgICAgICAgICAgICAgICAgICAgICAgICNzZWxmLmFkZChjdXIsIChrLCBwcGFyZW50KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgIGksIHBwdHIsIHdoeSkKLSAgICAgICAgICAgICAgICAgICAgICAgICNJTkxJTkVEIC0tdgotICAgICAgICAgICAgICAgICAgICAgICAgbmV3ID0gKGssIHBwYXJlbnQpCi0gICAgICAgICAgICAgICAgICAgICAgICBrZXkgPSAobmV3LCBpKQotICAgICAgICAgICAgICAgICAgICAgICAgaWYgbmV3IG5vdCBpbiBjdXI6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5saW5rc1trZXldID0gW10KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXIuYXBwZW5kKG5ldykKLSAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubGlua3Nba2V5XS5hcHBlbmQoKHBwdHIsIHdoeSkpCi0gICAgICAgICAgICAgICAgICAgICAgICAjSU5MSU5FRCAtLV4KLSAgICAgICAgICAgICAgICAgICAgICAgICNuayA9IHNlbGYuZ290byhrLCBOb25lKQotICAgICAgICAgICAgICAgICAgICAgICAgbmsgPSBzZWxmLmVkZ2VzLmdldCgoaywgTm9uZSksIE5vbmUpCi0gICAgICAgICAgICAgICAgICAgICAgICBpZiBuayBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAjc2VsZi5hZGQoY3VyLCAobmssIGkpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICNJTkxJTkVEIC0tdgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyA9IChuaywgaSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBuZXcgbm90IGluIGN1cjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VyLmFwcGVuZChuZXcpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgI0lOTElORUQgLS1eCi0KLSAgICBkZWYgcHJlZGVjZXNzb3Ioc2VsZiwga2V5LCBjYXVzYWwpOgotICAgICAgICBmb3IgcCwgYyBpbiBzZWxmLmxpbmtzW2tleV06Ci0gICAgICAgICAgICBpZiBjID09IGNhdXNhbDoKLSAgICAgICAgICAgICAgICByZXR1cm4gcAotICAgICAgICBhc3NlcnQgMAotCi0gICAgZGVmIGNhdXNhbChzZWxmLCBrZXkpOgotICAgICAgICBsaW5rcyA9IHNlbGYubGlua3Nba2V5XQotICAgICAgICBpZiBsZW4obGlua3MpID09IDE6Ci0gICAgICAgICAgICByZXR1cm4gbGlua3NbMF1bMV0KLSAgICAgICAgY2hvaWNlcyA9IFtdCi0gICAgICAgIHJ1bGUyY2F1c2UgPSB7fQotICAgICAgICBmb3IgcCwgYyBpbiBsaW5rczoKLSAgICAgICAgICAgIHJ1bGUgPSBjWzJdCi0gICAgICAgICAgICBjaG9pY2VzLmFwcGVuZChydWxlKQotICAgICAgICAgICAgcnVsZTJjYXVzZVtydWxlXSA9IGMKLSAgICAgICAgcmV0dXJuIHJ1bGUyY2F1c2Vbc2VsZi5hbWJpZ3VpdHkoY2hvaWNlcyldCi0KLSAgICBkZWYgZGVyaXZlRXBzaWxvbihzZWxmLCBudCk6Ci0gICAgICAgIGlmIGxlbihzZWxmLm5ld3J1bGVzW250XSkgPiAxOgotICAgICAgICAgICAgcnVsZSA9IHNlbGYuYW1iaWd1aXR5KHNlbGYubmV3cnVsZXNbbnRdKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcnVsZSA9IHNlbGYubmV3cnVsZXNbbnRdWzBdCi0gICAgICAgICNvdXRwdXQocnVsZSkKLQotICAgICAgICByaHMgPSBydWxlWzFdCi0gICAgICAgIGF0dHIgPSBbTm9uZV0gKiBsZW4ocmhzKQotCi0gICAgICAgIGZvciBpIGluIHJhbmdlKGxlbihyaHMpLTEsIC0xLCAtMSk6Ci0gICAgICAgICAgICBhdHRyW2ldID0gc2VsZi5kZXJpdmVFcHNpbG9uKHJoc1tpXSkKLSAgICAgICAgcmV0dXJuIHNlbGYucnVsZTJmdW5jW3NlbGYubmV3Mm9sZFtydWxlXV0oYXR0cikKLQotICAgIGRlZiBidWlsZFRyZWUoc2VsZiwgbnQsIGl0ZW0sIHRva2Vucywgayk6Ci0gICAgICAgIHN0YXRlLCBwYXJlbnQgPSBpdGVtCi0KLSAgICAgICAgY2hvaWNlcyA9IFtdCi0gICAgICAgIGZvciBydWxlIGluIHNlbGYuc3RhdGVzW3N0YXRlXS5jb21wbGV0ZToKLSAgICAgICAgICAgIGlmIHJ1bGVbMF0gPT0gbnQ6Ci0gICAgICAgICAgICAgICAgY2hvaWNlcy5hcHBlbmQocnVsZSkKLSAgICAgICAgcnVsZSA9IGNob2ljZXNbMF0KLSAgICAgICAgaWYgbGVuKGNob2ljZXMpID4gMToKLSAgICAgICAgICAgIHJ1bGUgPSBzZWxmLmFtYmlndWl0eShjaG9pY2VzKQotICAgICAgICAjb3V0cHV0KHJ1bGUpCi0KLSAgICAgICAgcmhzID0gcnVsZVsxXQotICAgICAgICBhdHRyID0gW05vbmVdICogbGVuKHJocykKLQotICAgICAgICBmb3IgaSBpbiByYW5nZShsZW4ocmhzKS0xLCAtMSwgLTEpOgotICAgICAgICAgICAgc3ltID0gcmhzW2ldCi0gICAgICAgICAgICBpZiBzeW0gbm90IGluIHNlbGYubmV3cnVsZXM6Ci0gICAgICAgICAgICAgICAgaWYgc3ltICE9IHNlbGYuX0JPRjoKLSAgICAgICAgICAgICAgICAgICAgYXR0cltpXSA9IHRva2Vuc1trLTFdCi0gICAgICAgICAgICAgICAgICAgIGtleSA9IChpdGVtLCBrKQotICAgICAgICAgICAgICAgICAgICBpdGVtLCBrID0gc2VsZi5wcmVkZWNlc3NvcihrZXksIE5vbmUpCi0gICAgICAgICAgICAjZWxpZiBzZWxmLmlzbnVsbGFibGUoc3ltKToKLSAgICAgICAgICAgIGVsaWYgc2VsZi5fTlVMTEFCTEUgPT0gc3ltWzA6bGVuKHNlbGYuX05VTExBQkxFKV06Ci0gICAgICAgICAgICAgICAgYXR0cltpXSA9IHNlbGYuZGVyaXZlRXBzaWxvbihzeW0pCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGtleSA9IChpdGVtLCBrKQotICAgICAgICAgICAgICAgIHdoeSA9IHNlbGYuY2F1c2FsKGtleSkKLSAgICAgICAgICAgICAgICBhdHRyW2ldID0gc2VsZi5idWlsZFRyZWUoc3ltLCB3aHlbMF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRva2Vucywgd2h5WzFdKQotICAgICAgICAgICAgICAgIGl0ZW0sIGsgPSBzZWxmLnByZWRlY2Vzc29yKGtleSwgd2h5KQotICAgICAgICByZXR1cm4gc2VsZi5ydWxlMmZ1bmNbc2VsZi5uZXcyb2xkW3J1bGVdXShhdHRyKQotCi0gICAgZGVmIGFtYmlndWl0eShzZWxmLCBydWxlcyk6Ci0gICAgICAgICMKLSAgICAgICAgIyAgWFhYIC0gcHJvYmxlbSBoZXJlIGFuZCBpbiBjb2xsZWN0UnVsZXMoKSBpZiB0aGUgc2FtZSBydWxlCi0gICAgICAgICMgICAgICAgIGFwcGVhcnMgaW4gPjEgbWV0aG9kLiAgQWxzbyB1bmRlZmluZWQgcmVzdWx0cyBpZiBydWxlcwotICAgICAgICAjICAgICAgICBjYXVzaW5nIHRoZSBhbWJpZ3VpdHkgYXBwZWFyIGluIHRoZSBzYW1lIG1ldGhvZC4KLSAgICAgICAgIwotICAgICAgICBzb3J0bGlzdCA9IFtdCi0gICAgICAgIG5hbWUyaW5kZXggPSB7fQotICAgICAgICBmb3IgaSBpbiByYW5nZShsZW4ocnVsZXMpKToKLSAgICAgICAgICAgIGxocywgcmhzID0gcnVsZSA9IHJ1bGVzW2ldCi0gICAgICAgICAgICBuYW1lID0gc2VsZi5ydWxlMm5hbWVbc2VsZi5uZXcyb2xkW3J1bGVdXQotICAgICAgICAgICAgc29ydGxpc3QuYXBwZW5kKChsZW4ocmhzKSwgbmFtZSkpCi0gICAgICAgICAgICBuYW1lMmluZGV4W25hbWVdID0gaQotICAgICAgICBzb3J0bGlzdC5zb3J0KCkKLSAgICAgICAgbGlzdCA9IFtiIGZvciBhLCBiIGluIHNvcnRsaXN0XQotICAgICAgICByZXR1cm4gcnVsZXNbbmFtZTJpbmRleFtzZWxmLnJlc29sdmUobGlzdCldXQotCi0gICAgZGVmIHJlc29sdmUoc2VsZiwgbGlzdCk6Ci0gICAgICAgICMKLSAgICAgICAgIyAgUmVzb2x2ZSBhbWJpZ3VpdHkgaW4gZmF2b3Igb2YgdGhlIHNob3J0ZXN0IFJIUy4KLSAgICAgICAgIyAgU2luY2Ugd2Ugd2FsayB0aGUgdHJlZSBmcm9tIHRoZSB0b3AgZG93biwgdGhpcwotICAgICAgICAjICBzaG91bGQgZWZmZWN0aXZlbHkgcmVzb2x2ZSBpbiBmYXZvciBvZiBhICJzaGlmdCIuCi0gICAgICAgICMKLSAgICAgICAgcmV0dXJuIGxpc3RbMF0KLQotIwotIyAgR2VuZXJpY0FTVEJ1aWxkZXIgYXV0b21hZ2ljYWxseSBjb25zdHJ1Y3RzIGEgY29uY3JldGUvYWJzdHJhY3Qgc3ludGF4IHRyZWUKLSMgIGZvciBhIGdpdmVuIGlucHV0LiAgVGhlIGV4dHJhIGFyZ3VtZW50IGlzIGEgY2xhc3MgKG5vdCBhbiBpbnN0YW5jZSEpCi0jICB3aGljaCBzdXBwb3J0cyB0aGUgIl9fc2V0c2xpY2VfXyIgYW5kICJfX2xlbl9fIiBtZXRob2RzLgotIwotIyAgWFhYIC0gc2lsZW50bHkgb3ZlcnJpZGVzIGFueSB1c2VyIGNvZGUgaW4gbWV0aG9kcy4KLSMKLQotY2xhc3MgR2VuZXJpY0FTVEJ1aWxkZXIoR2VuZXJpY1BhcnNlcik6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIEFTVCwgc3RhcnQpOgotICAgICAgICBHZW5lcmljUGFyc2VyLl9faW5pdF9fKHNlbGYsIHN0YXJ0KQotICAgICAgICBzZWxmLkFTVCA9IEFTVAotCi0gICAgZGVmIHByZXByb2Nlc3Moc2VsZiwgcnVsZSwgZnVuYyk6Ci0gICAgICAgIHJlYmluZCA9IGxhbWJkYSBsaHMsIHNlbGY9c2VsZjogXAotICAgICAgICAgICAgICAgICAgICAgICAgbGFtYmRhIGFyZ3MsIGxocz1saHMsIHNlbGY9c2VsZjogXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmJ1aWxkQVNUTm9kZShhcmdzLCBsaHMpCi0gICAgICAgIGxocywgcmhzID0gcnVsZQotICAgICAgICByZXR1cm4gcnVsZSwgcmViaW5kKGxocykKLQotICAgIGRlZiBidWlsZEFTVE5vZGUoc2VsZiwgYXJncywgbGhzKToKLSAgICAgICAgY2hpbGRyZW4gPSBbXQotICAgICAgICBmb3IgYXJnIGluIGFyZ3M6Ci0gICAgICAgICAgICBpZiBpc2luc3RhbmNlKGFyZywgc2VsZi5BU1QpOgotICAgICAgICAgICAgICAgIGNoaWxkcmVuLmFwcGVuZChhcmcpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGNoaWxkcmVuLmFwcGVuZChzZWxmLnRlcm1pbmFsKGFyZykpCi0gICAgICAgIHJldHVybiBzZWxmLm5vbnRlcm1pbmFsKGxocywgY2hpbGRyZW4pCi0KLSAgICBkZWYgdGVybWluYWwoc2VsZiwgdG9rZW4pOiAgICAgIHJldHVybiB0b2tlbgotCi0gICAgZGVmIG5vbnRlcm1pbmFsKHNlbGYsIHR5cGUsIGFyZ3MpOgotICAgICAgICBydiA9IHNlbGYuQVNUKHR5cGUpCi0gICAgICAgIHJ2WzpsZW4oYXJncyldID0gYXJncwotICAgICAgICByZXR1cm4gcnYKLQotIwotIyAgR2VuZXJpY0FTVFRyYXZlcnNhbCBpcyBhIFZpc2l0b3IgcGF0dGVybiBhY2NvcmRpbmcgdG8gRGVzaWduIFBhdHRlcm5zLiAgRm9yCi0jICBlYWNoIG5vZGUgaXQgYXR0ZW1wdHMgdG8gaW52b2tlIHRoZSBtZXRob2Qgbl88bm9kZSB0eXBlPiwgZmFsbGluZwotIyAgYmFjayBvbnRvIHRoZSBkZWZhdWx0KCkgbWV0aG9kIGlmIHRoZSBuXyogY2FuJ3QgYmUgZm91bmQuICBUaGUgcHJlb3JkZXIKLSMgIHRyYXZlcnNhbCBhbHNvIGxvb2tzIGZvciBhbiBleGl0IGhvb2sgbmFtZWQgbl88bm9kZSB0eXBlPl9leGl0IChubyBkZWZhdWx0Ci0jICByb3V0aW5lIGlzIGNhbGxlZCBpZiBpdCdzIG5vdCBmb3VuZCkuICBUbyBwcmVtYXR1cmVseSBoYWx0IHRyYXZlcnNhbAotIyAgb2YgYSBzdWJ0cmVlLCBjYWxsIHRoZSBwcnVuZSgpIG1ldGhvZCAtLSB0aGlzIG9ubHkgbWFrZXMgc2Vuc2UgZm9yIGEKLSMgIHByZW9yZGVyIHRyYXZlcnNhbC4gIE5vZGUgdHlwZSBpcyBkZXRlcm1pbmVkIHZpYSB0aGUgdHlwZXN0cmluZygpIG1ldGhvZC4KLSMKLQotY2xhc3MgR2VuZXJpY0FTVFRyYXZlcnNhbFBydW5pbmdFeGNlcHRpb246Ci0gICAgcGFzcwotCi1jbGFzcyBHZW5lcmljQVNUVHJhdmVyc2FsOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBhc3QpOgotICAgICAgICBzZWxmLmFzdCA9IGFzdAotCi0gICAgZGVmIHR5cGVzdHJpbmcoc2VsZiwgbm9kZSk6Ci0gICAgICAgIHJldHVybiBub2RlLnR5cGUKLQotICAgIGRlZiBwcnVuZShzZWxmKToKLSAgICAgICAgcmFpc2UgR2VuZXJpY0FTVFRyYXZlcnNhbFBydW5pbmdFeGNlcHRpb24KLQotICAgIGRlZiBwcmVvcmRlcihzZWxmLCBub2RlPU5vbmUpOgotICAgICAgICBpZiBub2RlIGlzIE5vbmU6Ci0gICAgICAgICAgICBub2RlID0gc2VsZi5hc3QKLQotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBuYW1lID0gJ25fJyArIHNlbGYudHlwZXN0cmluZyhub2RlKQotICAgICAgICAgICAgaWYgaGFzYXR0cihzZWxmLCBuYW1lKToKLSAgICAgICAgICAgICAgICBmdW5jID0gZ2V0YXR0cihzZWxmLCBuYW1lKQotICAgICAgICAgICAgICAgIGZ1bmMobm9kZSkKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgc2VsZi5kZWZhdWx0KG5vZGUpCi0gICAgICAgIGV4Y2VwdCBHZW5lcmljQVNUVHJhdmVyc2FsUHJ1bmluZ0V4Y2VwdGlvbjoKLSAgICAgICAgICAgIHJldHVybgotCi0gICAgICAgIGZvciBraWQgaW4gbm9kZToKLSAgICAgICAgICAgIHNlbGYucHJlb3JkZXIoa2lkKQotCi0gICAgICAgIG5hbWUgPSBuYW1lICsgJ19leGl0JwotICAgICAgICBpZiBoYXNhdHRyKHNlbGYsIG5hbWUpOgotICAgICAgICAgICAgZnVuYyA9IGdldGF0dHIoc2VsZiwgbmFtZSkKLSAgICAgICAgICAgIGZ1bmMobm9kZSkKLQotICAgIGRlZiBwb3N0b3JkZXIoc2VsZiwgbm9kZT1Ob25lKToKLSAgICAgICAgaWYgbm9kZSBpcyBOb25lOgotICAgICAgICAgICAgbm9kZSA9IHNlbGYuYXN0Ci0KLSAgICAgICAgZm9yIGtpZCBpbiBub2RlOgotICAgICAgICAgICAgc2VsZi5wb3N0b3JkZXIoa2lkKQotCi0gICAgICAgIG5hbWUgPSAnbl8nICsgc2VsZi50eXBlc3RyaW5nKG5vZGUpCi0gICAgICAgIGlmIGhhc2F0dHIoc2VsZiwgbmFtZSk6Ci0gICAgICAgICAgICBmdW5jID0gZ2V0YXR0cihzZWxmLCBuYW1lKQotICAgICAgICAgICAgZnVuYyhub2RlKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgc2VsZi5kZWZhdWx0KG5vZGUpCi0KLQotICAgIGRlZiBkZWZhdWx0KHNlbGYsIG5vZGUpOgotICAgICAgICBwYXNzCi0KLSMKLSMgIEdlbmVyaWNBU1RNYXRjaGVyLiAgQVNUIG5vZGVzIG11c3QgaGF2ZSAiX19nZXRpdGVtX18iIGFuZCAiX19jbXBfXyIKLSMgIGltcGxlbWVudGVkLgotIwotIyAgWFhYIC0gbWFrZXMgYXNzdW1wdGlvbnMgYWJvdXQgaG93IEdlbmVyaWNQYXJzZXIgd2Fsa3MgdGhlIHBhcnNlIHRyZWUuCi0jCi0KLWNsYXNzIEdlbmVyaWNBU1RNYXRjaGVyKEdlbmVyaWNQYXJzZXIpOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBzdGFydCwgYXN0KToKLSAgICAgICAgR2VuZXJpY1BhcnNlci5fX2luaXRfXyhzZWxmLCBzdGFydCkKLSAgICAgICAgc2VsZi5hc3QgPSBhc3QKLQotICAgIGRlZiBwcmVwcm9jZXNzKHNlbGYsIHJ1bGUsIGZ1bmMpOgotICAgICAgICByZWJpbmQgPSBsYW1iZGEgZnVuYywgc2VsZj1zZWxmOiBcCi0gICAgICAgICAgICAgICAgICAgICAgICBsYW1iZGEgYXJncywgZnVuYz1mdW5jLCBzZWxmPXNlbGY6IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5mb3VuZE1hdGNoKGFyZ3MsIGZ1bmMpCi0gICAgICAgIGxocywgcmhzID0gcnVsZQotICAgICAgICByaHNsaXN0ID0gbGlzdChyaHMpCi0gICAgICAgIHJoc2xpc3QucmV2ZXJzZSgpCi0KLSAgICAgICAgcmV0dXJuIChsaHMsIHR1cGxlKHJoc2xpc3QpKSwgcmViaW5kKGZ1bmMpCi0KLSAgICBkZWYgZm91bmRNYXRjaChzZWxmLCBhcmdzLCBmdW5jKToKLSAgICAgICAgZnVuYyhhcmdzWy0xXSkKLSAgICAgICAgcmV0dXJuIGFyZ3NbLTFdCi0KLSAgICBkZWYgbWF0Y2hfcihzZWxmLCBub2RlKToKLSAgICAgICAgc2VsZi5pbnB1dC5pbnNlcnQoMCwgbm9kZSkKLSAgICAgICAgY2hpbGRyZW4gPSAwCi0KLSAgICAgICAgZm9yIGNoaWxkIGluIG5vZGU6Ci0gICAgICAgICAgICBpZiBjaGlsZHJlbiA9PSAwOgotICAgICAgICAgICAgICAgIHNlbGYuaW5wdXQuaW5zZXJ0KDAsICcoJykKLSAgICAgICAgICAgIGNoaWxkcmVuID0gY2hpbGRyZW4gKyAxCi0gICAgICAgICAgICBzZWxmLm1hdGNoX3IoY2hpbGQpCi0KLSAgICAgICAgaWYgY2hpbGRyZW4gPiAwOgotICAgICAgICAgICAgc2VsZi5pbnB1dC5pbnNlcnQoMCwgJyknKQotCi0gICAgZGVmIG1hdGNoKHNlbGYsIGFzdD1Ob25lKToKLSAgICAgICAgaWYgYXN0IGlzIE5vbmU6Ci0gICAgICAgICAgICBhc3QgPSBzZWxmLmFzdAotICAgICAgICBzZWxmLmlucHV0ID0gW10KLQotICAgICAgICBzZWxmLm1hdGNoX3IoYXN0KQotICAgICAgICBzZWxmLnBhcnNlKHNlbGYuaW5wdXQpCi0KLSAgICBkZWYgcmVzb2x2ZShzZWxmLCBsaXN0KToKLSAgICAgICAgIwotICAgICAgICAjICBSZXNvbHZlIGFtYmlndWl0eSBpbiBmYXZvciBvZiB0aGUgbG9uZ2VzdCBSSFMuCi0gICAgICAgICMKLSAgICAgICAgcmV0dXJuIGxpc3RbLTFdCi0KLWRlZiBfZHVtcCh0b2tlbnMsIHNldHMsIHN0YXRlcyk6Ci0gICAgZm9yIGkgaW4gcmFuZ2UobGVuKHNldHMpKToKLSAgICAgICAgb3V0cHV0KCdzZXQgJWQnICUgaSkKLSAgICAgICAgZm9yIGl0ZW0gaW4gc2V0c1tpXToKLSAgICAgICAgICAgIG91dHB1dCgnXHQnLCBpdGVtKQotICAgICAgICAgICAgZm9yIChsaHMsIHJocyksIHBvcyBpbiBzdGF0ZXNbaXRlbVswXV0uaXRlbXM6Ci0gICAgICAgICAgICAgICAgb3V0cHV0KCdcdFx0JywgbGhzLCAnOjo9JywgZW5kPScnKQotICAgICAgICAgICAgICAgIG91dHB1dCgnICcuam9pbihyaHNbOnBvc10pLCBlbmQ9JycpCi0gICAgICAgICAgICAgICAgb3V0cHV0KCcuJywgZW5kPScnKQotICAgICAgICAgICAgICAgIG91dHB1dCgnICcuam9pbihyaHNbcG9zOl0pKQotICAgICAgICBpZiBpIDwgbGVuKHRva2Vucyk6Ci0gICAgICAgICAgICBvdXRwdXQoKQotICAgICAgICAgICAgb3V0cHV0KCd0b2tlbiAlcycgJSBzdHIodG9rZW5zW2ldKSkKLSAgICAgICAgICAgIG91dHB1dCgpCmRpZmYgLS1naXQgYS9QYXJzZXIvdG9rZW5pemVyLmMgYi9QYXJzZXIvdG9rZW5pemVyLmMKaW5kZXggMjJhY2NkMS4uZWY3YjE5ZiAxMDA2NDQKLS0tIGEvUGFyc2VyL3Rva2VuaXplci5jCisrKyBiL1BhcnNlci90b2tlbml6ZXIuYwpAQCAtOTgsNiArOTgsNyBAQAogICAgICJET1VCTEVTTEFTSCIsCiAgICAgIkRPVUJMRVNMQVNIRVFVQUwiLAogICAgICJBVCIsCisgICAgIkFURVFVQUwiLAogICAgICJSQVJST1ciLAogICAgICJFTExJUFNJUyIsCiAgICAgLyogVGhpcyB0YWJsZSBtdXN0IG1hdGNoIHRoZSAjZGVmaW5lcyBpbiB0b2tlbi5oISAqLwpAQCAtMTEzMSw3ICsxMTMyLDcgQEAKICAgICBjYXNlICd9JzogICAgICAgICAgIHJldHVybiBSQlJBQ0U7CiAgICAgY2FzZSAnXic6ICAgICAgICAgICByZXR1cm4gQ0lSQ1VNRkxFWDsKICAgICBjYXNlICd+JzogICAgICAgICAgIHJldHVybiBUSUxERTsKLSAgICBjYXNlICdAJzogICAgICAgcmV0dXJuIEFUOworICAgIGNhc2UgJ0AnOiAgICAgICAgICAgcmV0dXJuIEFUOwogICAgIGRlZmF1bHQ6ICAgICAgICAgICAgcmV0dXJuIE9QOwogICAgIH0KIH0KQEAgLTEyMDcsNiArMTIwOCwxMSBAQAogICAgICAgICBjYXNlICc9JzogICAgICAgICAgICAgICByZXR1cm4gQ0lSQ1VNRkxFWEVRVUFMOwogICAgICAgICB9CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgJ0AnOgorICAgICAgICBzd2l0Y2ggKGMyKSB7CisgICAgICAgIGNhc2UgJz0nOiAgICAgICAgICAgICAgIHJldHVybiBBVEVRVUFMOworICAgICAgICB9CisgICAgICAgIGJyZWFrOwogICAgIH0KICAgICByZXR1cm4gT1A7CiB9CmRpZmYgLS1naXQgYS9Qcm9ncmFtcy9SRUFETUUgYi9Qcm9ncmFtcy9SRUFETUUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzI0NTc4YgotLS0gL2Rldi9udWxsCisrKyBiL1Byb2dyYW1zL1JFQURNRQpAQCAtMCwwICsxIEBACitTb3VyY2UgZmlsZXMgZm9yIGJpbmFyeSBleGVjdXRhYmxlcyAoYXMgb3Bwb3NlZCB0byBzaGFyZWQgbW9kdWxlcykKZGlmZiAtLWdpdCBhL01vZHVsZXMvX2ZyZWV6ZV9pbXBvcnRsaWIuYyBiL1Byb2dyYW1zL19mcmVlemVfaW1wb3J0bGliLmMKc2ltaWxhcml0eSBpbmRleCA5NyUKcmVuYW1lIGZyb20gTW9kdWxlcy9fZnJlZXplX2ltcG9ydGxpYi5jCnJlbmFtZSB0byBQcm9ncmFtcy9fZnJlZXplX2ltcG9ydGxpYi5jCmluZGV4IDU3YjFhYzAuLmI4ODk5ZWMgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX2ZyZWV6ZV9pbXBvcnRsaWIuYworKysgYi9Qcm9ncmFtcy9fZnJlZXplX2ltcG9ydGxpYi5jCkBAIC0yOCw3ICsyOCw3IEBACiBjb25zdCBzdHJ1Y3QgX2Zyb3plbiAqUHlJbXBvcnRfRnJvemVuTW9kdWxlczsKICNlbmRpZgogCi1jb25zdCBjaGFyIGhlYWRlcltdID0gIi8qIEF1dG8tZ2VuZXJhdGVkIGJ5IE1vZHVsZXMvX2ZyZWV6ZV9pbXBvcnRsaWIuYyAqLyI7Citjb25zdCBjaGFyIGhlYWRlcltdID0gIi8qIEF1dG8tZ2VuZXJhdGVkIGJ5IFByb2dyYW1zL19mcmVlemVfaW1wb3J0bGliLmMgKi8iOwogCiBpbnQKIG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKZGlmZiAtLWdpdCBhL01vZHVsZXMvX3Rlc3RlbWJlZC5jIGIvUHJvZ3JhbXMvX3Rlc3RlbWJlZC5jCnNpbWlsYXJpdHkgaW5kZXggOTYlCnJlbmFtZSBmcm9tIE1vZHVsZXMvX3Rlc3RlbWJlZC5jCnJlbmFtZSB0byBQcm9ncmFtcy9fdGVzdGVtYmVkLmMKaW5kZXggYTIxZDI1MS4uMzlmZjA5NyAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fdGVzdGVtYmVkLmMKKysrIGIvUHJvZ3JhbXMvX3Rlc3RlbWJlZC5jCkBAIC0xMDksMTEgKzEwOSwxMSBAQAogICAgIHByaW50ZigiLS0tIFVzZSBkZWZhdWx0cyAtLS1cbiIpOwogICAgIGNoZWNrX3N0ZGlvX2RldGFpbHMoTlVMTCwgTlVMTCk7CiAgICAgcHJpbnRmKCItLS0gU2V0IGVycm9ycyBvbmx5IC0tLVxuIik7Ci0gICAgY2hlY2tfc3RkaW9fZGV0YWlscyhOVUxMLCAic3Vycm9nYXRlZXNjYXBlIik7CisgICAgY2hlY2tfc3RkaW9fZGV0YWlscyhOVUxMLCAiaWdub3JlIik7CiAgICAgcHJpbnRmKCItLS0gU2V0IGVuY29kaW5nIG9ubHkgLS0tXG4iKTsKICAgICBjaGVja19zdGRpb19kZXRhaWxzKCJsYXRpbi0xIiwgTlVMTCk7CiAgICAgcHJpbnRmKCItLS0gU2V0IGVuY29kaW5nIGFuZCBlcnJvcnMgLS0tXG4iKTsKLSAgICBjaGVja19zdGRpb19kZXRhaWxzKCJsYXRpbi0xIiwgInN1cnJvZ2F0ZWVzY2FwZSIpOworICAgIGNoZWNrX3N0ZGlvX2RldGFpbHMoImxhdGluLTEiLCAicmVwbGFjZSIpOwogCiAgICAgLyogQ2hlY2sgY2FsbGluZyBhZnRlciBpbml0aWFsaXphdGlvbiBmYWlscyAqLwogICAgIFB5X0luaXRpYWxpemUoKTsKZGlmZiAtLWdpdCBhL01vZHVsZXMvcHl0aG9uLmMgYi9Qcm9ncmFtcy9weXRob24uYwpzaW1pbGFyaXR5IGluZGV4IDk2JQpyZW5hbWUgZnJvbSBNb2R1bGVzL3B5dGhvbi5jCnJlbmFtZSB0byBQcm9ncmFtcy9weXRob24uYwppbmRleCA5ODExYzAxLi4yZTVlNGUzIDEwMDY0NAotLS0gYS9Nb2R1bGVzL3B5dGhvbi5jCisrKyBiL1Byb2dyYW1zL3B5dGhvbi5jCkBAIC01Miw3ICs1Miw3IEBACiAKICAgICBzZXRsb2NhbGUoTENfQUxMLCAiIik7CiAgICAgZm9yIChpID0gMDsgaSA8IGFyZ2M7IGkrKykgewotICAgICAgICBhcmd2X2NvcHlbaV0gPSBfUHlfY2hhcjJ3Y2hhcihhcmd2W2ldLCBOVUxMKTsKKyAgICAgICAgYXJndl9jb3B5W2ldID0gUHlfRGVjb2RlTG9jYWxlKGFyZ3ZbaV0sIE5VTEwpOwogICAgICAgICBpZiAoIWFyZ3ZfY29weVtpXSkgewogICAgICAgICAgICAgUHlNZW1fUmF3RnJlZShvbGRsb2MpOwogICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJGYXRhbCBQeXRob24gZXJyb3I6ICIKZGlmZiAtLWdpdCBhL1B5dGhvbi9QeXRob24tYXN0LmMgYi9QeXRob24vUHl0aG9uLWFzdC5jCmluZGV4IDQ0ZmRhZmMuLjk5NGU3MjEgMTAwNjQ0Ci0tLSBhL1B5dGhvbi9QeXRob24tYXN0LmMKKysrIGIvUHl0aG9uL1B5dGhvbi1hc3QuYwpAQCAtMzQ5LDEzICszNDksMTQgQEAKIHN0YXRpYyBQeVR5cGVPYmplY3QgKk9yX3R5cGU7CiBzdGF0aWMgUHlUeXBlT2JqZWN0ICpvcGVyYXRvcl90eXBlOwogc3RhdGljIFB5T2JqZWN0ICpBZGRfc2luZ2xldG9uLCAqU3ViX3NpbmdsZXRvbiwgKk11bHRfc2luZ2xldG9uLAotKkRpdl9zaW5nbGV0b24sICpNb2Rfc2luZ2xldG9uLCAqUG93X3NpbmdsZXRvbiwgKkxTaGlmdF9zaW5nbGV0b24sCi0qUlNoaWZ0X3NpbmdsZXRvbiwgKkJpdE9yX3NpbmdsZXRvbiwgKkJpdFhvcl9zaW5nbGV0b24sICpCaXRBbmRfc2luZ2xldG9uLAotKkZsb29yRGl2X3NpbmdsZXRvbjsKKypNYXRNdWx0X3NpbmdsZXRvbiwgKkRpdl9zaW5nbGV0b24sICpNb2Rfc2luZ2xldG9uLCAqUG93X3NpbmdsZXRvbiwKKypMU2hpZnRfc2luZ2xldG9uLCAqUlNoaWZ0X3NpbmdsZXRvbiwgKkJpdE9yX3NpbmdsZXRvbiwgKkJpdFhvcl9zaW5nbGV0b24sCisqQml0QW5kX3NpbmdsZXRvbiwgKkZsb29yRGl2X3NpbmdsZXRvbjsKIHN0YXRpYyBQeU9iamVjdCogYXN0Mm9ial9vcGVyYXRvcihvcGVyYXRvcl90eSk7CiBzdGF0aWMgUHlUeXBlT2JqZWN0ICpBZGRfdHlwZTsKIHN0YXRpYyBQeVR5cGVPYmplY3QgKlN1Yl90eXBlOwogc3RhdGljIFB5VHlwZU9iamVjdCAqTXVsdF90eXBlOworc3RhdGljIFB5VHlwZU9iamVjdCAqTWF0TXVsdF90eXBlOwogc3RhdGljIFB5VHlwZU9iamVjdCAqRGl2X3R5cGU7CiBzdGF0aWMgUHlUeXBlT2JqZWN0ICpNb2RfdHlwZTsKIHN0YXRpYyBQeVR5cGVPYmplY3QgKlBvd190eXBlOwpAQCAtOTcwLDYgKzk3MSwxMCBAQAogICAgIGlmICghTXVsdF90eXBlKSByZXR1cm4gMDsKICAgICBNdWx0X3NpbmdsZXRvbiA9IFB5VHlwZV9HZW5lcmljTmV3KE11bHRfdHlwZSwgTlVMTCwgTlVMTCk7CiAgICAgaWYgKCFNdWx0X3NpbmdsZXRvbikgcmV0dXJuIDA7CisgICAgTWF0TXVsdF90eXBlID0gbWFrZV90eXBlKCJNYXRNdWx0Iiwgb3BlcmF0b3JfdHlwZSwgTlVMTCwgMCk7CisgICAgaWYgKCFNYXRNdWx0X3R5cGUpIHJldHVybiAwOworICAgIE1hdE11bHRfc2luZ2xldG9uID0gUHlUeXBlX0dlbmVyaWNOZXcoTWF0TXVsdF90eXBlLCBOVUxMLCBOVUxMKTsKKyAgICBpZiAoIU1hdE11bHRfc2luZ2xldG9uKSByZXR1cm4gMDsKICAgICBEaXZfdHlwZSA9IG1ha2VfdHlwZSgiRGl2Iiwgb3BlcmF0b3JfdHlwZSwgTlVMTCwgMCk7CiAgICAgaWYgKCFEaXZfdHlwZSkgcmV0dXJuIDA7CiAgICAgRGl2X3NpbmdsZXRvbiA9IFB5VHlwZV9HZW5lcmljTmV3KERpdl90eXBlLCBOVUxMLCBOVUxMKTsKQEAgLTMyMzIsNiArMzIzNyw5IEBACiAgICAgICAgIGNhc2UgTXVsdDoKICAgICAgICAgICAgIFB5X0lOQ1JFRihNdWx0X3NpbmdsZXRvbik7CiAgICAgICAgICAgICByZXR1cm4gTXVsdF9zaW5nbGV0b247CisgICAgICAgIGNhc2UgTWF0TXVsdDoKKyAgICAgICAgICAgIFB5X0lOQ1JFRihNYXRNdWx0X3NpbmdsZXRvbik7CisgICAgICAgICAgICByZXR1cm4gTWF0TXVsdF9zaW5nbGV0b247CiAgICAgICAgIGNhc2UgRGl2OgogICAgICAgICAgICAgUHlfSU5DUkVGKERpdl9zaW5nbGV0b24pOwogICAgICAgICAgICAgcmV0dXJuIERpdl9zaW5nbGV0b247CkBAIC02MTc1LDYgKzYxODMsMTQgQEAKICAgICAgICAgKm91dCA9IE11bHQ7CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KKyAgICBpc2luc3RhbmNlID0gUHlPYmplY3RfSXNJbnN0YW5jZShvYmosIChQeU9iamVjdCAqKU1hdE11bHRfdHlwZSk7CisgICAgaWYgKGlzaW5zdGFuY2UgPT0gLTEpIHsKKyAgICAgICAgcmV0dXJuIDE7CisgICAgfQorICAgIGlmIChpc2luc3RhbmNlKSB7CisgICAgICAgICpvdXQgPSBNYXRNdWx0OworICAgICAgICByZXR1cm4gMDsKKyAgICB9CiAgICAgaXNpbnN0YW5jZSA9IFB5T2JqZWN0X0lzSW5zdGFuY2Uob2JqLCAoUHlPYmplY3QgKilEaXZfdHlwZSk7CiAgICAgaWYgKGlzaW5zdGFuY2UgPT0gLTEpIHsKICAgICAgICAgcmV0dXJuIDE7CkBAIC02OTU2LDYgKzY5NzIsOCBAQAogICAgIGlmIChQeURpY3RfU2V0SXRlbVN0cmluZyhkLCAiQWRkIiwgKFB5T2JqZWN0KilBZGRfdHlwZSkgPCAwKSByZXR1cm4gTlVMTDsKICAgICBpZiAoUHlEaWN0X1NldEl0ZW1TdHJpbmcoZCwgIlN1YiIsIChQeU9iamVjdCopU3ViX3R5cGUpIDwgMCkgcmV0dXJuIE5VTEw7CiAgICAgaWYgKFB5RGljdF9TZXRJdGVtU3RyaW5nKGQsICJNdWx0IiwgKFB5T2JqZWN0KilNdWx0X3R5cGUpIDwgMCkgcmV0dXJuIE5VTEw7CisgICAgaWYgKFB5RGljdF9TZXRJdGVtU3RyaW5nKGQsICJNYXRNdWx0IiwgKFB5T2JqZWN0KilNYXRNdWx0X3R5cGUpIDwgMCkgcmV0dXJuCisgICAgICAgIE5VTEw7CiAgICAgaWYgKFB5RGljdF9TZXRJdGVtU3RyaW5nKGQsICJEaXYiLCAoUHlPYmplY3QqKURpdl90eXBlKSA8IDApIHJldHVybiBOVUxMOwogICAgIGlmIChQeURpY3RfU2V0SXRlbVN0cmluZyhkLCAiTW9kIiwgKFB5T2JqZWN0KilNb2RfdHlwZSkgPCAwKSByZXR1cm4gTlVMTDsKICAgICBpZiAoUHlEaWN0X1NldEl0ZW1TdHJpbmcoZCwgIlBvdyIsIChQeU9iamVjdCopUG93X3R5cGUpIDwgMCkgcmV0dXJuIE5VTEw7CmRpZmYgLS1naXQgYS9QeXRob24vUkVBRE1FIGIvUHl0aG9uL1JFQURNRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNTNiNjI4Ci0tLSAvZGV2L251bGwKKysrIGIvUHl0aG9uL1JFQURNRQpAQCAtMCwwICsxIEBACitNaXNjZWxsYW5lb3VzIHNvdXJjZSBmaWxlcyBmb3IgdGhlIG1haW4gUHl0aG9uIHNoYXJlZCBsaWJyYXJ5CmRpZmYgLS1naXQgYS9QeXRob24vX3dhcm5pbmdzLmMgYi9QeXRob24vX3dhcm5pbmdzLmMKaW5kZXggYmVmNTY0Ny4uYTFmNDM2OCAxMDA2NDQKLS0tIGEvUHl0aG9uL193YXJuaW5ncy5jCisrKyBiL1B5dGhvbi9fd2FybmluZ3MuYwpAQCAtNjM3LDE2ICs2MzcsMTcgQEAKIAogICAgIGlmIChyYyA9PSAxKQogICAgICAgICBjYXRlZ29yeSA9IChQeU9iamVjdCopbWVzc2FnZS0+b2JfdHlwZTsKLSAgICBlbHNlIGlmIChjYXRlZ29yeSA9PSBOVUxMKQorICAgIGVsc2UgaWYgKGNhdGVnb3J5ID09IE5VTEwgfHwgY2F0ZWdvcnkgPT0gUHlfTm9uZSkKICAgICAgICAgY2F0ZWdvcnkgPSBQeUV4Y19Vc2VyV2FybmluZzsKIAogICAgIC8qIFZhbGlkYXRlIGNhdGVnb3J5LiAqLwogICAgIHJjID0gUHlPYmplY3RfSXNTdWJjbGFzcyhjYXRlZ29yeSwgUHlFeGNfV2FybmluZyk7Ci0gICAgaWYgKHJjID09IC0xKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBpZiAocmMgPT0gMCkgewotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICJjYXRlZ29yeSBpcyBub3QgYSBzdWJjbGFzcyBvZiBXYXJuaW5nIik7CisgICAgLyogY2F0ZWdvcnkgaXMgbm90IGEgc3ViY2xhc3Mgb2YgUHlFeGNfV2FybmluZyBvcgorICAgICAgIFB5T2JqZWN0X0lzU3ViY2xhc3MgcmFpc2VkIGFuIGVycm9yICovCisgICAgaWYgKHJjID09IC0xIHx8IHJjID09IDApIHsKKyAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICJjYXRlZ29yeSBtdXN0IGJlIGEgV2FybmluZyBzdWJjbGFzcywgbm90ICclcyciLAorICAgICAgICAgICAgICAgICAgICAgUHlfVFlQRShjYXRlZ29yeSktPnRwX25hbWUpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1B5dGhvbi9hc2RsLmMgYi9QeXRob24vYXNkbC5jCmluZGV4IDc0ZmE5NDEuLmRmMzg3YjIgMTAwNjQ0Ci0tLSBhL1B5dGhvbi9hc2RsLmMKKysrIGIvUHl0aG9uL2FzZGwuYwpAQCAtNSwyMSArNSwyMSBAQAogX1B5X2FzZGxfc2VxX25ldyhQeV9zc2l6ZV90IHNpemUsIFB5QXJlbmEgKmFyZW5hKQogewogICAgIGFzZGxfc2VxICpzZXEgPSBOVUxMOwotICAgIHNpemVfdCBuID0gKHNpemUgPyAoc2l6ZW9mKHZvaWQgKikgKiAoc2l6ZSAtIDEpKSA6IDApOworICAgIHNpemVfdCBuOwogCiAgICAgLyogY2hlY2sgc2l6ZSBpcyBzYW5lICovCi0gICAgaWYgKHNpemUgPCAwIHx8IHNpemUgPT0gSU5UX01JTiB8fAotICAgICAgICAoc2l6ZSAmJiAoKHNpemUgLSAxKSA+IChQWV9TSVpFX01BWCAvIHNpemVvZih2b2lkICopKSkpKSB7CisgICAgaWYgKHNpemUgPCAwIHx8CisgICAgICAgIChzaXplICYmICgoKHNpemVfdClzaXplIC0gMSkgPiAoUFlfU0laRV9NQVggLyBzaXplb2Yodm9pZCAqKSkpKSkgewogICAgICAgICBQeUVycl9Ob01lbW9yeSgpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CisgICAgbiA9IChzaXplID8gKHNpemVvZih2b2lkICopICogKHNpemUgLSAxKSkgOiAwKTsKIAogICAgIC8qIGNoZWNrIGlmIHNpemUgY2FuIGJlIGFkZGVkIHNhZmVseSAqLwogICAgIGlmIChuID4gUFlfU0laRV9NQVggLSBzaXplb2YoYXNkbF9zZXEpKSB7CiAgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLQogICAgIG4gKz0gc2l6ZW9mKGFzZGxfc2VxKTsKIAogICAgIHNlcSA9IChhc2RsX3NlcSAqKVB5QXJlbmFfTWFsbG9jKGFyZW5hLCBuKTsKQEAgLTM2LDIxICszNiwyMSBAQAogX1B5X2FzZGxfaW50X3NlcV9uZXcoUHlfc3NpemVfdCBzaXplLCBQeUFyZW5hICphcmVuYSkKIHsKICAgICBhc2RsX2ludF9zZXEgKnNlcSA9IE5VTEw7Ci0gICAgc2l6ZV90IG4gPSAoc2l6ZSA/IChzaXplb2Yodm9pZCAqKSAqIChzaXplIC0gMSkpIDogMCk7CisgICAgc2l6ZV90IG47CiAKICAgICAvKiBjaGVjayBzaXplIGlzIHNhbmUgKi8KLSAgICBpZiAoc2l6ZSA8IDAgfHwgc2l6ZSA9PSBJTlRfTUlOIHx8Ci0gICAgICAgIChzaXplICYmICgoc2l6ZSAtIDEpID4gKFBZX1NJWkVfTUFYIC8gc2l6ZW9mKHZvaWQgKikpKSkpIHsKKyAgICBpZiAoc2l6ZSA8IDAgfHwKKyAgICAgICAgKHNpemUgJiYgKCgoc2l6ZV90KXNpemUgLSAxKSA+IChQWV9TSVpFX01BWCAvIHNpemVvZih2b2lkICopKSkpKSB7CiAgICAgICAgICAgICBQeUVycl9Ob01lbW9yeSgpOwogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQorICAgIG4gPSAoc2l6ZSA/IChzaXplb2Yodm9pZCAqKSAqIChzaXplIC0gMSkpIDogMCk7CiAKICAgICAvKiBjaGVjayBpZiBzaXplIGNhbiBiZSBhZGRlZCBzYWZlbHkgKi8KICAgICBpZiAobiA+IFBZX1NJWkVfTUFYIC0gc2l6ZW9mKGFzZGxfc2VxKSkgewogICAgICAgICBQeUVycl9Ob01lbW9yeSgpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0KICAgICBuICs9IHNpemVvZihhc2RsX3NlcSk7CiAKICAgICBzZXEgPSAoYXNkbF9pbnRfc2VxICopUHlBcmVuYV9NYWxsb2MoYXJlbmEsIG4pOwpkaWZmIC0tZ2l0IGEvUHl0aG9uL2FzdC5jIGIvUHl0aG9uL2FzdC5jCmluZGV4IGQ1MGNiODAuLjJmMWFlNjAgMTAwNjQ0Ci0tLSBhL1B5dGhvbi9hc3QuYworKysgYi9QeXRob24vYXN0LmMKQEAgLTgyNSw2ICs4MjUsOCBAQAogICAgICAgICAgICAgcmV0dXJuIFN1YjsKICAgICAgICAgY2FzZSBTVEFSOgogICAgICAgICAgICAgcmV0dXJuIE11bHQ7CisgICAgICAgIGNhc2UgQVQ6CisgICAgICAgICAgICByZXR1cm4gTWF0TXVsdDsKICAgICAgICAgY2FzZSBTTEFTSDoKICAgICAgICAgICAgIHJldHVybiBEaXY7CiAgICAgICAgIGNhc2UgRE9VQkxFU0xBU0g6CkBAIC0xMDMwLDYgKzEwMzIsOCBAQAogICAgICAgICAgICAgICAgIHJldHVybiBQb3c7CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgcmV0dXJuIE11bHQ7CisgICAgICAgIGNhc2UgJ0AnOgorICAgICAgICAgICAgcmV0dXJuIE1hdE11bHQ7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfU3lzdGVtRXJyb3IsICJpbnZhbGlkIGF1Z2Fzc2lnbjogJXMiLCBTVFIobikpOwogICAgICAgICAgICAgcmV0dXJuIChvcGVyYXRvcl90eSkwOwpAQCAtMjI1Nyw3ICsyMjYxLDcgQEAKICAgICAgICBhbmRfZXhwcjogc2hpZnRfZXhwciAoJyYnIHNoaWZ0X2V4cHIpKgogICAgICAgIHNoaWZ0X2V4cHI6IGFyaXRoX2V4cHIgKCgnPDwnfCc+PicpIGFyaXRoX2V4cHIpKgogICAgICAgIGFyaXRoX2V4cHI6IHRlcm0gKCgnKyd8Jy0nKSB0ZXJtKSoKLSAgICAgICB0ZXJtOiBmYWN0b3IgKCgnKid8Jy8nfCclJ3wnLy8nKSBmYWN0b3IpKgorICAgICAgIHRlcm06IGZhY3RvciAoKCcqJ3wnQCd8Jy8nfCclJ3wnLy8nKSBmYWN0b3IpKgogICAgICAgIGZhY3RvcjogKCcrJ3wnLSd8J34nKSBmYWN0b3IgfCBwb3dlcgogICAgICAgIHBvd2VyOiBhdG9tIHRyYWlsZXIqICgnKionIGZhY3RvcikqCiAgICAgKi8KQEAgLTI1NjgsNyArMjU3Miw3IEBACiAgICAgLyogZXhwcl9zdG10OiB0ZXN0bGlzdF9zdGFyX2V4cHIgKGF1Z2Fzc2lnbiAoeWllbGRfZXhwcnx0ZXN0bGlzdCkKICAgICAgICAgICAgICAgICB8ICgnPScgKHlpZWxkX2V4cHJ8dGVzdGxpc3QpKSopCiAgICAgICAgdGVzdGxpc3Rfc3Rhcl9leHByOiAodGVzdHxzdGFyX2V4cHIpICgnLCcgdGVzdHxzdGFyX2V4cHIpKiBbJywnXQotICAgICAgIGF1Z2Fzc2lnbjogJys9JyB8ICctPScgfCAnKj0nIHwgJy89JyB8ICclPScgfCAnJj0nIHwgJ3w9JyB8ICdePScKKyAgICAgICBhdWdhc3NpZ246ICcrPScgfCAnLT0nIHwgJyo9JyB8ICdAPScgfCAnLz0nIHwgJyU9JyB8ICcmPScgfCAnfD0nIHwgJ149JwogICAgICAgICAgICAgICAgIHwgJzw8PScgfCAnPj49JyB8ICcqKj0nIHwgJy8vPScKICAgICAgICB0ZXN0OiAuLi4gaGVyZSBzdGFydHMgdGhlIG9wZXJhdG9yIHByZWNlbmRlbmNlIGRhbmNlCiAgICAgICovCmRpZmYgLS1naXQgYS9QeXRob24vYmx0aW5tb2R1bGUuYyBiL1B5dGhvbi9ibHRpbm1vZHVsZS5jCmluZGV4IDRiNGY5NzkuLmY5YmIzODggMTAwNjQ0Ci0tLSBhL1B5dGhvbi9ibHRpbm1vZHVsZS5jCisrKyBiL1B5dGhvbi9ibHRpbm1vZHVsZS5jCkBAIC00Niw2ICs0Niw3IEBACiBfUHlfSURFTlRJRklFUihzdGRvdXQpOwogX1B5X0lERU5USUZJRVIoc3RkZXJyKTsKIAorLyogQUM6IGNhbm5vdCBjb252ZXJ0IHlldCwgd2FpdGluZyBmb3IgKmFyZ3Mgc3VwcG9ydCAqLwogc3RhdGljIFB5T2JqZWN0ICoKIGJ1aWx0aW5fX19idWlsZF9jbGFzc19fKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCiB7CkBAIC0yMjksMjUgKzIzMCw2MiBAQAogaXMgdGhlIG51bWJlciBvZiBwYXJlbnQgZGlyZWN0b3JpZXMgdG8gc2VhcmNoIHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IG1vZHVsZS4iKTsKIAogCisvKltjbGluaWMgaW5wdXRdCithYnMgYXMgYnVpbHRpbl9hYnMKKworICAgIHg6ICdPJworICAgIC8KKworUmV0dXJuIHRoZSBhYnNvbHV0ZSB2YWx1ZSBvZiB0aGUgYXJndW1lbnQuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihidWlsdGluX2Fic19fZG9jX18sCisiYWJzKCRtb2R1bGUsIHgsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIGFic29sdXRlIHZhbHVlIG9mIHRoZSBhcmd1bWVudC4iKTsKKworI2RlZmluZSBCVUlMVElOX0FCU19NRVRIT0RERUYgICAgXAorICAgIHsiYWJzIiwgKFB5Q0Z1bmN0aW9uKWJ1aWx0aW5fYWJzLCBNRVRIX08sIGJ1aWx0aW5fYWJzX19kb2NfX30sCisKIHN0YXRpYyBQeU9iamVjdCAqCi1idWlsdGluX2FicyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnYpCitidWlsdGluX2FicyhQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqeCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1mODUwOTU1MjhjZTdlMmU1IGlucHV0PWFhMjljYzA3ODY5YjQ3MzJdKi8KIHsKLSAgICByZXR1cm4gUHlOdW1iZXJfQWJzb2x1dGUodik7CisgICAgcmV0dXJuIFB5TnVtYmVyX0Fic29sdXRlKHgpOwogfQogCi1QeURvY19TVFJWQVIoYWJzX2RvYywKLSJhYnMobnVtYmVyKSAtPiBudW1iZXJcblwKLVxuXAotUmV0dXJuIHRoZSBhYnNvbHV0ZSB2YWx1ZSBvZiB0aGUgYXJndW1lbnQuIik7CisvKltjbGluaWMgaW5wdXRdCithbGwgYXMgYnVpbHRpbl9hbGwKKworICAgIGl0ZXJhYmxlOiAnTycKKyAgICAvCisKK1JldHVybiBUcnVlIGlmIGJvb2woeCkgaXMgVHJ1ZSBmb3IgYWxsIHZhbHVlcyB4IGluIHRoZSBpdGVyYWJsZS4KKworSWYgdGhlIGl0ZXJhYmxlIGlzIGVtcHR5LCByZXR1cm4gVHJ1ZS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ1aWx0aW5fYWxsX19kb2NfXywKKyJhbGwoJG1vZHVsZSwgaXRlcmFibGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gVHJ1ZSBpZiBib29sKHgpIGlzIFRydWUgZm9yIGFsbCB2YWx1ZXMgeCBpbiB0aGUgaXRlcmFibGUuXG4iCisiXG4iCisiSWYgdGhlIGl0ZXJhYmxlIGlzIGVtcHR5LCByZXR1cm4gVHJ1ZS4iKTsKKworI2RlZmluZSBCVUlMVElOX0FMTF9NRVRIT0RERUYgICAgXAorICAgIHsiYWxsIiwgKFB5Q0Z1bmN0aW9uKWJ1aWx0aW5fYWxsLCBNRVRIX08sIGJ1aWx0aW5fYWxsX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1idWlsdGluX2FsbChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnYpCitidWlsdGluX2FsbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqaXRlcmFibGUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZDAwMWRiNzM5YmE4M2I0NiBpbnB1dD1kZDUwNmRjOTk5OGQ0MmJkXSovCiB7CiAgICAgUHlPYmplY3QgKml0LCAqaXRlbTsKICAgICBQeU9iamVjdCAqKCppdGVybmV4dCkoUHlPYmplY3QgKik7CiAgICAgaW50IGNtcDsKIAotICAgIGl0ID0gUHlPYmplY3RfR2V0SXRlcih2KTsKKyAgICBpdCA9IFB5T2JqZWN0X0dldEl0ZXIoaXRlcmFibGUpOwogICAgIGlmIChpdCA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICBpdGVybmV4dCA9ICpQeV9UWVBFKGl0KS0+dHBfaXRlcm5leHQ7CkBAIC0yNzcsMjAgKzMxNSwzNyBAQAogICAgIFB5X1JFVFVSTl9UUlVFOwogfQogCi1QeURvY19TVFJWQVIoYWxsX2RvYywKLSJhbGwoaXRlcmFibGUpIC0+IGJvb2xcblwKLVxuXAotUmV0dXJuIFRydWUgaWYgYm9vbCh4KSBpcyBUcnVlIGZvciBhbGwgdmFsdWVzIHggaW4gdGhlIGl0ZXJhYmxlLlxuXAotSWYgdGhlIGl0ZXJhYmxlIGlzIGVtcHR5LCByZXR1cm4gVHJ1ZS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2FueSBhcyBidWlsdGluX2FueQorCisgICAgaXRlcmFibGU6ICdPJworICAgIC8KKworUmV0dXJuIFRydWUgaWYgYm9vbCh4KSBpcyBUcnVlIGZvciBhbnkgeCBpbiB0aGUgaXRlcmFibGUuCisKK0lmIHRoZSBpdGVyYWJsZSBpcyBlbXB0eSwgcmV0dXJuIEZhbHNlLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnVpbHRpbl9hbnlfX2RvY19fLAorImFueSgkbW9kdWxlLCBpdGVyYWJsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBUcnVlIGlmIGJvb2woeCkgaXMgVHJ1ZSBmb3IgYW55IHggaW4gdGhlIGl0ZXJhYmxlLlxuIgorIlxuIgorIklmIHRoZSBpdGVyYWJsZSBpcyBlbXB0eSwgcmV0dXJuIEZhbHNlLiIpOworCisjZGVmaW5lIEJVSUxUSU5fQU5ZX01FVEhPRERFRiAgICBcCisgICAgeyJhbnkiLCAoUHlDRnVuY3Rpb24pYnVpbHRpbl9hbnksIE1FVEhfTywgYnVpbHRpbl9hbnlfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLWJ1aWx0aW5fYW55KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdikKK2J1aWx0aW5fYW55KFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICppdGVyYWJsZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0zYTRiNmRiZTZhMGQ2ZjYxIGlucHV0PThmZTg0NjBmM2ZiYmNlZDhdKi8KIHsKICAgICBQeU9iamVjdCAqaXQsICppdGVtOwogICAgIFB5T2JqZWN0ICooKml0ZXJuZXh0KShQeU9iamVjdCAqKTsKICAgICBpbnQgY21wOwogCi0gICAgaXQgPSBQeU9iamVjdF9HZXRJdGVyKHYpOworICAgIGl0ID0gUHlPYmplY3RfR2V0SXRlcihpdGVyYWJsZSk7CiAgICAgaWYgKGl0ID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIGl0ZXJuZXh0ID0gKlB5X1RZUEUoaXQpLT50cF9pdGVybmV4dDsKQEAgLTMyMCw1NiArMzc1LDEwNSBAQAogICAgIFB5X1JFVFVSTl9GQUxTRTsKIH0KIAotUHlEb2NfU1RSVkFSKGFueV9kb2MsCi0iYW55KGl0ZXJhYmxlKSAtPiBib29sXG5cCi1cblwKLVJldHVybiBUcnVlIGlmIGJvb2woeCkgaXMgVHJ1ZSBmb3IgYW55IHggaW4gdGhlIGl0ZXJhYmxlLlxuXAotSWYgdGhlIGl0ZXJhYmxlIGlzIGVtcHR5LCByZXR1cm4gRmFsc2UuIik7CisvKltjbGluaWMgaW5wdXRdCithc2NpaSBhcyBidWlsdGluX2FzY2lpCisKKyAgICBvYmo6ICdPJworICAgIC8KKworUmV0dXJuIGFuIEFTQ0lJLW9ubHkgcmVwcmVzZW50YXRpb24gb2YgYW4gb2JqZWN0LgorCitBcyByZXByKCksIHJldHVybiBhIHN0cmluZyBjb250YWluaW5nIGEgcHJpbnRhYmxlIHJlcHJlc2VudGF0aW9uIG9mIGFuCitvYmplY3QsIGJ1dCBlc2NhcGUgdGhlIG5vbi1BU0NJSSBjaGFyYWN0ZXJzIGluIHRoZSBzdHJpbmcgcmV0dXJuZWQgYnkKK3JlcHIoKSB1c2luZyBcXHgsIFxcdSBvciBcXFUgZXNjYXBlcy4gVGhpcyBnZW5lcmF0ZXMgYSBzdHJpbmcgc2ltaWxhcgordG8gdGhhdCByZXR1cm5lZCBieSByZXByKCkgaW4gUHl0aG9uIDIuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihidWlsdGluX2FzY2lpX19kb2NfXywKKyJhc2NpaSgkbW9kdWxlLCBvYmosIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gYW4gQVNDSUktb25seSByZXByZXNlbnRhdGlvbiBvZiBhbiBvYmplY3QuXG4iCisiXG4iCisiQXMgcmVwcigpLCByZXR1cm4gYSBzdHJpbmcgY29udGFpbmluZyBhIHByaW50YWJsZSByZXByZXNlbnRhdGlvbiBvZiBhblxuIgorIm9iamVjdCwgYnV0IGVzY2FwZSB0aGUgbm9uLUFTQ0lJIGNoYXJhY3RlcnMgaW4gdGhlIHN0cmluZyByZXR1cm5lZCBieVxuIgorInJlcHIoKSB1c2luZyBcXFxceCwgXFxcXHUgb3IgXFxcXFUgZXNjYXBlcy4gVGhpcyBnZW5lcmF0ZXMgYSBzdHJpbmcgc2ltaWxhclxuIgorInRvIHRoYXQgcmV0dXJuZWQgYnkgcmVwcigpIGluIFB5dGhvbiAyLiIpOworCisjZGVmaW5lIEJVSUxUSU5fQVNDSUlfTUVUSE9EREVGICAgIFwKKyAgICB7ImFzY2lpIiwgKFB5Q0Z1bmN0aW9uKWJ1aWx0aW5fYXNjaWksIE1FVEhfTywgYnVpbHRpbl9hc2NpaV9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotYnVpbHRpbl9hc2NpaShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnYpCitidWlsdGluX2FzY2lpKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpvYmopCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZjBlNjc1NDE1NGMyZDMwYiBpbnB1dD0wY2JkYzE0MjBhMzA2MzI1XSovCiB7Ci0gICAgcmV0dXJuIFB5T2JqZWN0X0FTQ0lJKHYpOworICAgIHJldHVybiBQeU9iamVjdF9BU0NJSShvYmopOwogfQogCi1QeURvY19TVFJWQVIoYXNjaWlfZG9jLAotImFzY2lpKG9iamVjdCkgLT4gc3RyaW5nXG5cCi1cblwKLUFzIHJlcHIoKSwgcmV0dXJuIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBwcmludGFibGUgcmVwcmVzZW50YXRpb24gb2YgYW5cblwKLW9iamVjdCwgYnV0IGVzY2FwZSB0aGUgbm9uLUFTQ0lJIGNoYXJhY3RlcnMgaW4gdGhlIHN0cmluZyByZXR1cm5lZCBieVxuXAotcmVwcigpIHVzaW5nIFxceCwgXFx1IG9yIFxcVSBlc2NhcGVzLiAgVGhpcyBnZW5lcmF0ZXMgYSBzdHJpbmcgc2ltaWxhclxuXAotdG8gdGhhdCByZXR1cm5lZCBieSByZXByKCkgaW4gUHl0aG9uIDIuIik7CiAKKy8qW2NsaW5pYyBpbnB1dF0KK2JpbiBhcyBidWlsdGluX2JpbgorCisgICAgbnVtYmVyOiAnTycKKyAgICAvCisKK1JldHVybiB0aGUgYmluYXJ5IHJlcHJlc2VudGF0aW9uIG9mIGFuIGludGVnZXIuCisKKyAgID4+PiBiaW4oMjc5NjIwMikKKyAgICcwYjEwMTAxMDEwMTAxMDEwMTAxMDEwMTAnCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihidWlsdGluX2Jpbl9fZG9jX18sCisiYmluKCRtb2R1bGUsIG51bWJlciwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgYmluYXJ5IHJlcHJlc2VudGF0aW9uIG9mIGFuIGludGVnZXIuXG4iCisiXG4iCisiICAgPj4+IGJpbigyNzk2MjAyKVxuIgorIiAgIFwnMGIxMDEwMTAxMDEwMTAxMDEwMTAxMDEwXCciKTsKKworI2RlZmluZSBCVUlMVElOX0JJTl9NRVRIT0RERUYgICAgXAorICAgIHsiYmluIiwgKFB5Q0Z1bmN0aW9uKWJ1aWx0aW5fYmluLCBNRVRIX08sIGJ1aWx0aW5fYmluX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1idWlsdGluX2JpbihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnYpCitidWlsdGluX2JpbihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqbnVtYmVyKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTE4ZmVkMGU5NDM2NTBkYTEgaW5wdXQ9MmE2MzYyYWU5YTljOTIwM10qLwogewotICAgIHJldHVybiBQeU51bWJlcl9Ub0Jhc2UodiwgMik7CisgICAgcmV0dXJuIFB5TnVtYmVyX1RvQmFzZShudW1iZXIsIDIpOwogfQogCi1QeURvY19TVFJWQVIoYmluX2RvYywKLSJiaW4obnVtYmVyKSAtPiBzdHJpbmdcblwKLVxuXAotUmV0dXJuIHRoZSBiaW5hcnkgcmVwcmVzZW50YXRpb24gb2YgYW4gaW50ZWdlci5cblwKLVxuXAotICAgPj4+IGJpbigyNzk2MjAyKVxuXAotICAgJzBiMTAxMDEwMTAxMDEwMTAxMDEwMTAxMCdcblwKLSIpOwogCisvKltjbGluaWMgaW5wdXRdCitjYWxsYWJsZSBhcyBidWlsdGluX2NhbGxhYmxlCisKKyAgICBvYmo6ICdPJworICAgIC8KKworUmV0dXJuIHdoZXRoZXIgdGhlIG9iamVjdCBpcyBjYWxsYWJsZSAoaS5lLiwgc29tZSBraW5kIG9mIGZ1bmN0aW9uKS4KKworTm90ZSB0aGF0IGNsYXNzZXMgYXJlIGNhbGxhYmxlLCBhcyBhcmUgaW5zdGFuY2VzIG9mIGNsYXNzZXMgd2l0aCBhCitfX2NhbGxfXygpIG1ldGhvZC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ1aWx0aW5fY2FsbGFibGVfX2RvY19fLAorImNhbGxhYmxlKCRtb2R1bGUsIG9iaiwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB3aGV0aGVyIHRoZSBvYmplY3QgaXMgY2FsbGFibGUgKGkuZS4sIHNvbWUga2luZCBvZiBmdW5jdGlvbikuXG4iCisiXG4iCisiTm90ZSB0aGF0IGNsYXNzZXMgYXJlIGNhbGxhYmxlLCBhcyBhcmUgaW5zdGFuY2VzIG9mIGNsYXNzZXMgd2l0aCBhXG4iCisiX19jYWxsX18oKSBtZXRob2QuIik7CisKKyNkZWZpbmUgQlVJTFRJTl9DQUxMQUJMRV9NRVRIT0RERUYgICAgXAorICAgIHsiY2FsbGFibGUiLCAoUHlDRnVuY3Rpb24pYnVpbHRpbl9jYWxsYWJsZSwgTUVUSF9PLCBidWlsdGluX2NhbGxhYmxlX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1idWlsdGluX2NhbGxhYmxlKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdikKK2J1aWx0aW5fY2FsbGFibGUoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKm9iaikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1iM2E5MmNiZTYzNWYzMmFmIGlucHV0PWJiM2JiNTI4ZmZmZGFkZTRdKi8KIHsKLSAgICByZXR1cm4gUHlCb29sX0Zyb21Mb25nKChsb25nKVB5Q2FsbGFibGVfQ2hlY2sodikpOworICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcoKGxvbmcpUHlDYWxsYWJsZV9DaGVjayhvYmopKTsKIH0KIAotUHlEb2NfU1RSVkFSKGNhbGxhYmxlX2RvYywKLSJjYWxsYWJsZShvYmplY3QpIC0+IGJvb2xcblwKLVxuXAotUmV0dXJuIHdoZXRoZXIgdGhlIG9iamVjdCBpcyBjYWxsYWJsZSAoaS5lLiwgc29tZSBraW5kIG9mIGZ1bmN0aW9uKS5cblwKLU5vdGUgdGhhdCBjbGFzc2VzIGFyZSBjYWxsYWJsZSwgYXMgYXJlIGluc3RhbmNlcyBvZiBjbGFzc2VzIHdpdGggYVxuXAotX19jYWxsX18oKSBtZXRob2QuIik7Ci0KIAogdHlwZWRlZiBzdHJ1Y3QgewogICAgIFB5T2JqZWN0X0hFQUQKQEAgLTUyNCwzOSArNjI4LDk5IEBACiB9OwogCiAKKy8qW2NsaW5pYyBpbnB1dF0KK2Zvcm1hdCBhcyBidWlsdGluX2Zvcm1hdAorCisgICAgdmFsdWU6ICdPJworICAgIGZvcm1hdF9zcGVjOiB1bmljb2RlKGNfZGVmYXVsdD0iTlVMTCIpID0gJycKKyAgICAvCisKK1JldHVybiB2YWx1ZS5fX2Zvcm1hdF9fKGZvcm1hdF9zcGVjKQorCitmb3JtYXRfc3BlYyBkZWZhdWx0cyB0byB0aGUgZW1wdHkgc3RyaW5nCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihidWlsdGluX2Zvcm1hdF9fZG9jX18sCisiZm9ybWF0KCRtb2R1bGUsIHZhbHVlLCBmb3JtYXRfc3BlYz1cJ1wnLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHZhbHVlLl9fZm9ybWF0X18oZm9ybWF0X3NwZWMpXG4iCisiXG4iCisiZm9ybWF0X3NwZWMgZGVmYXVsdHMgdG8gdGhlIGVtcHR5IHN0cmluZyIpOworCisjZGVmaW5lIEJVSUxUSU5fRk9STUFUX01FVEhPRERFRiAgICBcCisgICAgeyJmb3JtYXQiLCAoUHlDRnVuY3Rpb24pYnVpbHRpbl9mb3JtYXQsIE1FVEhfVkFSQVJHUywgYnVpbHRpbl9mb3JtYXRfX2RvY19ffSwKKwogc3RhdGljIFB5T2JqZWN0ICoKLWJ1aWx0aW5fZm9ybWF0KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK2J1aWx0aW5fZm9ybWF0X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKnZhbHVlLCBQeU9iamVjdCAqZm9ybWF0X3NwZWMpOworCitzdGF0aWMgUHlPYmplY3QgKgorYnVpbHRpbl9mb3JtYXQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CiAgICAgUHlPYmplY3QgKnZhbHVlOwogICAgIFB5T2JqZWN0ICpmb3JtYXRfc3BlYyA9IE5VTEw7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk98VTpmb3JtYXQiLCAmdmFsdWUsICZmb3JtYXRfc3BlYykpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiT3xVOmZvcm1hdCIsCisgICAgICAgICZ2YWx1ZSwgJmZvcm1hdF9zcGVjKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGJ1aWx0aW5fZm9ybWF0X2ltcGwobW9kdWxlLCB2YWx1ZSwgZm9ybWF0X3NwZWMpOwogCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitidWlsdGluX2Zvcm1hdF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICp2YWx1ZSwgUHlPYmplY3QgKmZvcm1hdF9zcGVjKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTM5NzIzYTU4YzcyZTg4NzEgaW5wdXQ9ZTIzZjJmMTFlMDA5OGM2NF0qLworewogICAgIHJldHVybiBQeU9iamVjdF9Gb3JtYXQodmFsdWUsIGZvcm1hdF9zcGVjKTsKIH0KIAotUHlEb2NfU1RSVkFSKGZvcm1hdF9kb2MsCi0iZm9ybWF0KHZhbHVlWywgZm9ybWF0X3NwZWNdKSAtPiBzdHJpbmdcblwKLVxuXAotUmV0dXJucyB2YWx1ZS5fX2Zvcm1hdF9fKGZvcm1hdF9zcGVjKVxuXAotZm9ybWF0X3NwZWMgZGVmYXVsdHMgdG8gXCJcIiIpOworLypbY2xpbmljIGlucHV0XQorY2hyIGFzIGJ1aWx0aW5fY2hyCisKKyAgICBpOiAnaScKKyAgICAvCisKK1JldHVybiBhIFVuaWNvZGUgc3RyaW5nIG9mIG9uZSBjaGFyYWN0ZXIgd2l0aCBvcmRpbmFsIGk7IDAgPD0gaSA8PSAweDEwZmZmZi4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ1aWx0aW5fY2hyX19kb2NfXywKKyJjaHIoJG1vZHVsZSwgaSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBhIFVuaWNvZGUgc3RyaW5nIG9mIG9uZSBjaGFyYWN0ZXIgd2l0aCBvcmRpbmFsIGk7IDAgPD0gaSA8PSAweDEwZmZmZi4iKTsKKworI2RlZmluZSBCVUlMVElOX0NIUl9NRVRIT0RERUYgICAgXAorICAgIHsiY2hyIiwgKFB5Q0Z1bmN0aW9uKWJ1aWx0aW5fY2hyLCBNRVRIX1ZBUkFSR1MsIGJ1aWx0aW5fY2hyX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1idWlsdGluX2NocihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitidWlsdGluX2Nocl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBpKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2J1aWx0aW5fY2hyKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogewotICAgIGludCB4OworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIGludCBpOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpOmNociIsICZ4KSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJpOmNociIsCisgICAgICAgICZpKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGJ1aWx0aW5fY2hyX2ltcGwobW9kdWxlLCBpKTsKIAotICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbU9yZGluYWwoeCk7CitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7CiB9CiAKLVB5RG9jX1NUUlZBUihjaHJfZG9jLAotImNocihpKSAtPiBVbmljb2RlIGNoYXJhY3RlclxuXAotXG5cCi1SZXR1cm4gYSBVbmljb2RlIHN0cmluZyBvZiBvbmUgY2hhcmFjdGVyIHdpdGggb3JkaW5hbCBpOyAwIDw9IGkgPD0gMHgxMGZmZmYuIik7CitzdGF0aWMgUHlPYmplY3QgKgorYnVpbHRpbl9jaHJfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgaSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD00ZDZiYmU5NDhmNTZlMmFlIGlucHV0PTliMWNlZDI5NjE1YWRmNjZdKi8KK3sKKyAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21PcmRpbmFsKGkpOworfQogCiAKIHN0YXRpYyBjb25zdCBjaGFyICoKQEAgLTU4Miw4ICs3NDYsOCBAQAogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKLSAgICBpZiAoc3RybGVuKHN0cikgIT0gc2l6ZSkgewotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAorICAgIGlmIChzdHJsZW4oc3RyKSAhPSAoc2l6ZV90KXNpemUpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIGNvZGUgc3RyaW5nIGNhbm5vdCBjb250YWluIG51bGwgYnl0ZXMiKTsKICAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSh2aWV3KTsKICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC01OTEsMzUgKzc1NSw5MSBAQAogICAgIHJldHVybiBzdHI7CiB9CiAKKy8qW2NsaW5pYyBpbnB1dF0KK2NvbXBpbGUgYXMgYnVpbHRpbl9jb21waWxlCisKKyAgICBzb3VyY2U6ICdPJworICAgIGZpbGVuYW1lOiBvYmplY3QoY29udmVydGVyPSJQeVVuaWNvZGVfRlNEZWNvZGVyIikKKyAgICBtb2RlOiAncycKKyAgICBmbGFnczogJ2knID0gMAorICAgIGRvbnRfaW5oZXJpdDogJ2knID0gMAorICAgIG9wdGltaXplOiAnaScgPSAtMQorCitDb21waWxlIHNvdXJjZSBpbnRvIGEgY29kZSBvYmplY3QgdGhhdCBjYW4gYmUgZXhlY3V0ZWQgYnkgZXhlYygpIG9yIGV2YWwoKS4KKworVGhlIHNvdXJjZSBjb2RlIG1heSByZXByZXNlbnQgYSBQeXRob24gbW9kdWxlLCBzdGF0ZW1lbnQgb3IgZXhwcmVzc2lvbi4KK1RoZSBmaWxlbmFtZSB3aWxsIGJlIHVzZWQgZm9yIHJ1bi10aW1lIGVycm9yIG1lc3NhZ2VzLgorVGhlIG1vZGUgbXVzdCBiZSAnZXhlYycgdG8gY29tcGlsZSBhIG1vZHVsZSwgJ3NpbmdsZScgdG8gY29tcGlsZSBhCitzaW5nbGUgKGludGVyYWN0aXZlKSBzdGF0ZW1lbnQsIG9yICdldmFsJyB0byBjb21waWxlIGFuIGV4cHJlc3Npb24uCitUaGUgZmxhZ3MgYXJndW1lbnQsIGlmIHByZXNlbnQsIGNvbnRyb2xzIHdoaWNoIGZ1dHVyZSBzdGF0ZW1lbnRzIGluZmx1ZW5jZQordGhlIGNvbXBpbGF0aW9uIG9mIHRoZSBjb2RlLgorVGhlIGRvbnRfaW5oZXJpdCBhcmd1bWVudCwgaWYgbm9uLXplcm8sIHN0b3BzIHRoZSBjb21waWxhdGlvbiBpbmhlcml0aW5nCit0aGUgZWZmZWN0cyBvZiBhbnkgZnV0dXJlIHN0YXRlbWVudHMgaW4gZWZmZWN0IGluIHRoZSBjb2RlIGNhbGxpbmcKK2NvbXBpbGU7IGlmIGFic2VudCBvciB6ZXJvIHRoZXNlIHN0YXRlbWVudHMgZG8gaW5mbHVlbmNlIHRoZSBjb21waWxhdGlvbiwKK2luIGFkZGl0aW9uIHRvIGFueSBmZWF0dXJlcyBleHBsaWNpdGx5IHNwZWNpZmllZC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ1aWx0aW5fY29tcGlsZV9fZG9jX18sCisiY29tcGlsZSgkbW9kdWxlLCAvLCBzb3VyY2UsIGZpbGVuYW1lLCBtb2RlLCBmbGFncz0wLCBkb250X2luaGVyaXQ9MCxcbiIKKyIgICAgICAgIG9wdGltaXplPS0xKVxuIgorIi0tXG4iCisiXG4iCisiQ29tcGlsZSBzb3VyY2UgaW50byBhIGNvZGUgb2JqZWN0IHRoYXQgY2FuIGJlIGV4ZWN1dGVkIGJ5IGV4ZWMoKSBvciBldmFsKCkuXG4iCisiXG4iCisiVGhlIHNvdXJjZSBjb2RlIG1heSByZXByZXNlbnQgYSBQeXRob24gbW9kdWxlLCBzdGF0ZW1lbnQgb3IgZXhwcmVzc2lvbi5cbiIKKyJUaGUgZmlsZW5hbWUgd2lsbCBiZSB1c2VkIGZvciBydW4tdGltZSBlcnJvciBtZXNzYWdlcy5cbiIKKyJUaGUgbW9kZSBtdXN0IGJlIFwnZXhlY1wnIHRvIGNvbXBpbGUgYSBtb2R1bGUsIFwnc2luZ2xlXCcgdG8gY29tcGlsZSBhXG4iCisic2luZ2xlIChpbnRlcmFjdGl2ZSkgc3RhdGVtZW50LCBvciBcJ2V2YWxcJyB0byBjb21waWxlIGFuIGV4cHJlc3Npb24uXG4iCisiVGhlIGZsYWdzIGFyZ3VtZW50LCBpZiBwcmVzZW50LCBjb250cm9scyB3aGljaCBmdXR1cmUgc3RhdGVtZW50cyBpbmZsdWVuY2VcbiIKKyJ0aGUgY29tcGlsYXRpb24gb2YgdGhlIGNvZGUuXG4iCisiVGhlIGRvbnRfaW5oZXJpdCBhcmd1bWVudCwgaWYgbm9uLXplcm8sIHN0b3BzIHRoZSBjb21waWxhdGlvbiBpbmhlcml0aW5nXG4iCisidGhlIGVmZmVjdHMgb2YgYW55IGZ1dHVyZSBzdGF0ZW1lbnRzIGluIGVmZmVjdCBpbiB0aGUgY29kZSBjYWxsaW5nXG4iCisiY29tcGlsZTsgaWYgYWJzZW50IG9yIHplcm8gdGhlc2Ugc3RhdGVtZW50cyBkbyBpbmZsdWVuY2UgdGhlIGNvbXBpbGF0aW9uLFxuIgorImluIGFkZGl0aW9uIHRvIGFueSBmZWF0dXJlcyBleHBsaWNpdGx5IHNwZWNpZmllZC4iKTsKKworI2RlZmluZSBCVUlMVElOX0NPTVBJTEVfTUVUSE9EREVGICAgIFwKKyAgICB7ImNvbXBpbGUiLCAoUHlDRnVuY3Rpb24pYnVpbHRpbl9jb21waWxlLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgYnVpbHRpbl9jb21waWxlX19kb2NfX30sCisKIHN0YXRpYyBQeU9iamVjdCAqCi1idWlsdGluX2NvbXBpbGUoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKK2J1aWx0aW5fY29tcGlsZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpzb3VyY2UsIFB5T2JqZWN0ICpmaWxlbmFtZSwgY29uc3QgY2hhciAqbW9kZSwgaW50IGZsYWdzLCBpbnQgZG9udF9pbmhlcml0LCBpbnQgb3B0aW1pemUpOworCitzdGF0aWMgUHlPYmplY3QgKgorYnVpbHRpbl9jb21waWxlKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsic291cmNlIiwgImZpbGVuYW1lIiwgIm1vZGUiLCAiZmxhZ3MiLCAiZG9udF9pbmhlcml0IiwgIm9wdGltaXplIiwgTlVMTH07CisgICAgUHlPYmplY3QgKnNvdXJjZTsKKyAgICBQeU9iamVjdCAqZmlsZW5hbWU7CisgICAgY29uc3QgY2hhciAqbW9kZTsKKyAgICBpbnQgZmxhZ3MgPSAwOworICAgIGludCBkb250X2luaGVyaXQgPSAwOworICAgIGludCBvcHRpbWl6ZSA9IC0xOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiT08mc3xpaWk6Y29tcGlsZSIsIF9rZXl3b3JkcywKKyAgICAgICAgJnNvdXJjZSwgUHlVbmljb2RlX0ZTRGVjb2RlciwgJmZpbGVuYW1lLCAmbW9kZSwgJmZsYWdzLCAmZG9udF9pbmhlcml0LCAmb3B0aW1pemUpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYnVpbHRpbl9jb21waWxlX2ltcGwobW9kdWxlLCBzb3VyY2UsIGZpbGVuYW1lLCBtb2RlLCBmbGFncywgZG9udF9pbmhlcml0LCBvcHRpbWl6ZSk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J1aWx0aW5fY29tcGlsZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpzb3VyY2UsIFB5T2JqZWN0ICpmaWxlbmFtZSwgY29uc3QgY2hhciAqbW9kZSwgaW50IGZsYWdzLCBpbnQgZG9udF9pbmhlcml0LCBpbnQgb3B0aW1pemUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YzcyZDE5NzgwOWQxNzhmYyBpbnB1dD1jNjIxMmE5ZDIxNDcyZjdlXSovCiB7CiAgICAgUHlfYnVmZmVyIHZpZXcgPSB7TlVMTCwgTlVMTH07CiAgICAgY29uc3QgY2hhciAqc3RyOwotICAgIFB5T2JqZWN0ICpmaWxlbmFtZTsKLSAgICBjaGFyICpzdGFydHN0cjsKLSAgICBpbnQgbW9kZSA9IC0xOwotICAgIGludCBkb250X2luaGVyaXQgPSAwOwotICAgIGludCBzdXBwbGllZF9mbGFncyA9IDA7Ci0gICAgaW50IG9wdGltaXplID0gLTE7CisgICAgaW50IGNvbXBpbGVfbW9kZSA9IC0xOwogICAgIGludCBpc19hc3Q7CiAgICAgUHlDb21waWxlckZsYWdzIGNmOwotICAgIFB5T2JqZWN0ICpjbWQ7Ci0gICAgc3RhdGljIGNoYXIgKmt3bGlzdFtdID0geyJzb3VyY2UiLCAiZmlsZW5hbWUiLCAibW9kZSIsICJmbGFncyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkb250X2luaGVyaXQiLCAib3B0aW1pemUiLCBOVUxMfTsKICAgICBpbnQgc3RhcnRbXSA9IHtQeV9maWxlX2lucHV0LCBQeV9ldmFsX2lucHV0LCBQeV9zaW5nbGVfaW5wdXR9OwogICAgIFB5T2JqZWN0ICpyZXN1bHQ7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAiT08mc3xpaWk6Y29tcGlsZSIsICBrd2xpc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmNtZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfRlNEZWNvZGVyLCAmZmlsZW5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnN0YXJ0c3RyLCAmc3VwcGxpZWRfZmxhZ3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmRvbnRfaW5oZXJpdCwgJm9wdGltaXplKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgY2YuY2ZfZmxhZ3MgPSBmbGFncyB8IFB5Q0ZfU09VUkNFX0lTX1VURjg7CiAKLSAgICBjZi5jZl9mbGFncyA9IHN1cHBsaWVkX2ZsYWdzIHwgUHlDRl9TT1VSQ0VfSVNfVVRGODsKLQotICAgIGlmIChzdXBwbGllZF9mbGFncyAmCisgICAgaWYgKGZsYWdzICYKICAgICAgICAgfihQeUNGX01BU0sgfCBQeUNGX01BU0tfT0JTT0xFVEUgfCBQeUNGX0RPTlRfSU1QTFlfREVERU5UIHwgUHlDRl9PTkxZX0FTVCkpCiAgICAgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKQEAgLTYzOCwyNSArODU4LDI1IEBACiAgICAgICAgIFB5RXZhbF9NZXJnZUNvbXBpbGVyRmxhZ3MoJmNmKTsKICAgICB9CiAKLSAgICBpZiAoc3RyY21wKHN0YXJ0c3RyLCAiZXhlYyIpID09IDApCi0gICAgICAgIG1vZGUgPSAwOwotICAgIGVsc2UgaWYgKHN0cmNtcChzdGFydHN0ciwgImV2YWwiKSA9PSAwKQotICAgICAgICBtb2RlID0gMTsKLSAgICBlbHNlIGlmIChzdHJjbXAoc3RhcnRzdHIsICJzaW5nbGUiKSA9PSAwKQotICAgICAgICBtb2RlID0gMjsKKyAgICBpZiAoc3RyY21wKG1vZGUsICJleGVjIikgPT0gMCkKKyAgICAgICAgY29tcGlsZV9tb2RlID0gMDsKKyAgICBlbHNlIGlmIChzdHJjbXAobW9kZSwgImV2YWwiKSA9PSAwKQorICAgICAgICBjb21waWxlX21vZGUgPSAxOworICAgIGVsc2UgaWYgKHN0cmNtcChtb2RlLCAic2luZ2xlIikgPT0gMCkKKyAgICAgICAgY29tcGlsZV9tb2RlID0gMjsKICAgICBlbHNlIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAiY29tcGlsZSgpIGFyZyAzIG11c3QgYmUgJ2V4ZWMnLCAnZXZhbCcgb3IgJ3NpbmdsZSciKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICJjb21waWxlKCkgbW9kZSBtdXN0IGJlICdleGVjJywgJ2V2YWwnIG9yICdzaW5nbGUnIik7CiAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgfQogCi0gICAgaXNfYXN0ID0gUHlBU1RfQ2hlY2soY21kKTsKKyAgICBpc19hc3QgPSBQeUFTVF9DaGVjayhzb3VyY2UpOwogICAgIGlmIChpc19hc3QgPT0gLTEpCiAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgaWYgKGlzX2FzdCkgewotICAgICAgICBpZiAoc3VwcGxpZWRfZmxhZ3MgJiBQeUNGX09OTFlfQVNUKSB7Ci0gICAgICAgICAgICBQeV9JTkNSRUYoY21kKTsKLSAgICAgICAgICAgIHJlc3VsdCA9IGNtZDsKKyAgICAgICAgaWYgKGZsYWdzICYgUHlDRl9PTkxZX0FTVCkgeworICAgICAgICAgICAgUHlfSU5DUkVGKHNvdXJjZSk7CisgICAgICAgICAgICByZXN1bHQgPSBzb3VyY2U7CiAgICAgICAgIH0KICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICBQeUFyZW5hICphcmVuYTsKQEAgLTY2NSw3ICs4ODUsNyBAQAogICAgICAgICAgICAgYXJlbmEgPSBQeUFyZW5hX05ldygpOwogICAgICAgICAgICAgaWYgKGFyZW5hID09IE5VTEwpCiAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKLSAgICAgICAgICAgIG1vZCA9IFB5QVNUX29iajJtb2QoY21kLCBhcmVuYSwgbW9kZSk7CisgICAgICAgICAgICBtb2QgPSBQeUFTVF9vYmoybW9kKHNvdXJjZSwgYXJlbmEsIGNvbXBpbGVfbW9kZSk7CiAgICAgICAgICAgICBpZiAobW9kID09IE5VTEwpIHsKICAgICAgICAgICAgICAgICBQeUFyZW5hX0ZyZWUoYXJlbmEpOwogICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CkBAIC02ODEsMTEgKzkwMSwxMSBAQAogICAgICAgICBnb3RvIGZpbmFsbHk7CiAgICAgfQogCi0gICAgc3RyID0gc291cmNlX2FzX3N0cmluZyhjbWQsICJjb21waWxlIiwgInN0cmluZywgYnl0ZXMgb3IgQVNUIiwgJmNmLCAmdmlldyk7CisgICAgc3RyID0gc291cmNlX2FzX3N0cmluZyhzb3VyY2UsICJjb21waWxlIiwgInN0cmluZywgYnl0ZXMgb3IgQVNUIiwgJmNmLCAmdmlldyk7CiAgICAgaWYgKHN0ciA9PSBOVUxMKQogICAgICAgICBnb3RvIGVycm9yOwogCi0gICAgcmVzdWx0ID0gUHlfQ29tcGlsZVN0cmluZ09iamVjdChzdHIsIGZpbGVuYW1lLCBzdGFydFttb2RlXSwgJmNmLCBvcHRpbWl6ZSk7CisgICAgcmVzdWx0ID0gUHlfQ29tcGlsZVN0cmluZ09iamVjdChzdHIsIGZpbGVuYW1lLCBzdGFydFtjb21waWxlX21vZGVdLCAmY2YsIG9wdGltaXplKTsKICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZ2aWV3KTsKICAgICBnb3RvIGZpbmFsbHk7CiAKQEAgLTY5NiwyMSArOTE2LDcgQEAKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi1QeURvY19TVFJWQVIoY29tcGlsZV9kb2MsCi0iY29tcGlsZShzb3VyY2UsIGZpbGVuYW1lLCBtb2RlWywgZmxhZ3NbLCBkb250X2luaGVyaXRdXSkgLT4gY29kZSBvYmplY3RcblwKLVxuXAotQ29tcGlsZSB0aGUgc291cmNlIChhIFB5dGhvbiBtb2R1bGUsIHN0YXRlbWVudCBvciBleHByZXNzaW9uKVxuXAotaW50byBhIGNvZGUgb2JqZWN0IHRoYXQgY2FuIGJlIGV4ZWN1dGVkIGJ5IGV4ZWMoKSBvciBldmFsKCkuXG5cCi1UaGUgZmlsZW5hbWUgd2lsbCBiZSB1c2VkIGZvciBydW4tdGltZSBlcnJvciBtZXNzYWdlcy5cblwKLVRoZSBtb2RlIG11c3QgYmUgJ2V4ZWMnIHRvIGNvbXBpbGUgYSBtb2R1bGUsICdzaW5nbGUnIHRvIGNvbXBpbGUgYVxuXAotc2luZ2xlIChpbnRlcmFjdGl2ZSkgc3RhdGVtZW50LCBvciAnZXZhbCcgdG8gY29tcGlsZSBhbiBleHByZXNzaW9uLlxuXAotVGhlIGZsYWdzIGFyZ3VtZW50LCBpZiBwcmVzZW50LCBjb250cm9scyB3aGljaCBmdXR1cmUgc3RhdGVtZW50cyBpbmZsdWVuY2VcblwKLXRoZSBjb21waWxhdGlvbiBvZiB0aGUgY29kZS5cblwKLVRoZSBkb250X2luaGVyaXQgYXJndW1lbnQsIGlmIG5vbi16ZXJvLCBzdG9wcyB0aGUgY29tcGlsYXRpb24gaW5oZXJpdGluZ1xuXAotdGhlIGVmZmVjdHMgb2YgYW55IGZ1dHVyZSBzdGF0ZW1lbnRzIGluIGVmZmVjdCBpbiB0aGUgY29kZSBjYWxsaW5nXG5cCi1jb21waWxlOyBpZiBhYnNlbnQgb3IgemVybyB0aGVzZSBzdGF0ZW1lbnRzIGRvIGluZmx1ZW5jZSB0aGUgY29tcGlsYXRpb24sXG5cCi1pbiBhZGRpdGlvbiB0byBhbnkgZmVhdHVyZXMgZXhwbGljaXRseSBzcGVjaWZpZWQuIik7Ci0KKy8qIEFDOiBjYW5ub3QgY29udmVydCB5ZXQsIGFzIG5lZWRzIFBFUCA0NTcgZ3JvdXAgc3VwcG9ydCBpbiBpbnNwZWN0ICovCiBzdGF0aWMgUHlPYmplY3QgKgogYnVpbHRpbl9kaXIoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewpAQCAtNzM1LDMzICs5NDEsMTE1IEBACiAiICBmb3IgYW55IG90aGVyIG9iamVjdDogaXRzIGF0dHJpYnV0ZXMsIGl0cyBjbGFzcydzIGF0dHJpYnV0ZXMsIGFuZFxuIgogIiAgICByZWN1cnNpdmVseSB0aGUgYXR0cmlidXRlcyBvZiBpdHMgY2xhc3MncyBiYXNlIGNsYXNzZXMuIik7CiAKLXN0YXRpYyBQeU9iamVjdCAqCi1idWlsdGluX2Rpdm1vZChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCi17Ci0gICAgUHlPYmplY3QgKnYsICp3OworLypbY2xpbmljIGlucHV0XQorZGl2bW9kIGFzIGJ1aWx0aW5fZGl2bW9kCiAKLSAgICBpZiAoIVB5QXJnX1VucGFja1R1cGxlKGFyZ3MsICJkaXZtb2QiLCAyLCAyLCAmdiwgJncpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICByZXR1cm4gUHlOdW1iZXJfRGl2bW9kKHYsIHcpOworICAgIHg6ICdPJworICAgIHk6ICdPJworICAgIC8KKworUmV0dXJuIHRoZSB0dXBsZSAoKHgteCV5KS95LCB4JXkpLiAgSW52YXJpYW50OiBkaXYqeSArIG1vZCA9PSB4LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnVpbHRpbl9kaXZtb2RfX2RvY19fLAorImRpdm1vZCgkbW9kdWxlLCB4LCB5LCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSB0dXBsZSAoKHgteCV5KS95LCB4JXkpLiAgSW52YXJpYW50OiBkaXYqeSArIG1vZCA9PSB4LiIpOworCisjZGVmaW5lIEJVSUxUSU5fRElWTU9EX01FVEhPRERFRiAgICBcCisgICAgeyJkaXZtb2QiLCAoUHlDRnVuY3Rpb24pYnVpbHRpbl9kaXZtb2QsIE1FVEhfVkFSQVJHUywgYnVpbHRpbl9kaXZtb2RfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2J1aWx0aW5fZGl2bW9kX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKngsIFB5T2JqZWN0ICp5KTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2J1aWx0aW5fZGl2bW9kKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5T2JqZWN0ICp4OworICAgIFB5T2JqZWN0ICp5OworCisgICAgaWYgKCFQeUFyZ19VbnBhY2tUdXBsZShhcmdzLCAiZGl2bW9kIiwKKyAgICAgICAgMiwgMiwKKyAgICAgICAgJngsICZ5KSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGJ1aWx0aW5fZGl2bW9kX2ltcGwobW9kdWxlLCB4LCB5KTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOwogfQogCi1QeURvY19TVFJWQVIoZGl2bW9kX2RvYywKLSJkaXZtb2QoeCwgeSkgLT4gKGRpdiwgbW9kKVxuXAotXG5cCi1SZXR1cm4gdGhlIHR1cGxlICgoeC14JXkpL3ksIHgleSkuICBJbnZhcmlhbnQ6IGRpdip5ICsgbW9kID09IHguIik7CitzdGF0aWMgUHlPYmplY3QgKgorYnVpbHRpbl9kaXZtb2RfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqeCwgUHlPYmplY3QgKnkpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NzdlOGQ0MDhiMTMzODg4NiBpbnB1dD1jOWM2MTdiN2JiNzRjNjE1XSovCit7CisgICAgcmV0dXJuIFB5TnVtYmVyX0Rpdm1vZCh4LCB5KTsKK30KIAogCisvKltjbGluaWMgaW5wdXRdCitldmFsIGFzIGJ1aWx0aW5fZXZhbAorCisgICAgc291cmNlOiAnTycKKyAgICBnbG9iYWxzOiAnTycgPSBOb25lCisgICAgbG9jYWxzOiAnTycgPSBOb25lCisgICAgLworCitFdmFsdWF0ZSB0aGUgZ2l2ZW4gc291cmNlIGluIHRoZSBjb250ZXh0IG9mIGdsb2JhbHMgYW5kIGxvY2Fscy4KKworVGhlIHNvdXJjZSBtYXkgYmUgYSBzdHJpbmcgcmVwcmVzZW50aW5nIGEgUHl0aG9uIGV4cHJlc3Npb24KK29yIGEgY29kZSBvYmplY3QgYXMgcmV0dXJuZWQgYnkgY29tcGlsZSgpLgorVGhlIGdsb2JhbHMgbXVzdCBiZSBhIGRpY3Rpb25hcnkgYW5kIGxvY2FscyBjYW4gYmUgYW55IG1hcHBpbmcsCitkZWZhdWx0aW5nIHRvIHRoZSBjdXJyZW50IGdsb2JhbHMgYW5kIGxvY2Fscy4KK0lmIG9ubHkgZ2xvYmFscyBpcyBnaXZlbiwgbG9jYWxzIGRlZmF1bHRzIHRvIGl0LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnVpbHRpbl9ldmFsX19kb2NfXywKKyJldmFsKCRtb2R1bGUsIHNvdXJjZSwgZ2xvYmFscz1Ob25lLCBsb2NhbHM9Tm9uZSwgLylcbiIKKyItLVxuIgorIlxuIgorIkV2YWx1YXRlIHRoZSBnaXZlbiBzb3VyY2UgaW4gdGhlIGNvbnRleHQgb2YgZ2xvYmFscyBhbmQgbG9jYWxzLlxuIgorIlxuIgorIlRoZSBzb3VyY2UgbWF5IGJlIGEgc3RyaW5nIHJlcHJlc2VudGluZyBhIFB5dGhvbiBleHByZXNzaW9uXG4iCisib3IgYSBjb2RlIG9iamVjdCBhcyByZXR1cm5lZCBieSBjb21waWxlKCkuXG4iCisiVGhlIGdsb2JhbHMgbXVzdCBiZSBhIGRpY3Rpb25hcnkgYW5kIGxvY2FscyBjYW4gYmUgYW55IG1hcHBpbmcsXG4iCisiZGVmYXVsdGluZyB0byB0aGUgY3VycmVudCBnbG9iYWxzIGFuZCBsb2NhbHMuXG4iCisiSWYgb25seSBnbG9iYWxzIGlzIGdpdmVuLCBsb2NhbHMgZGVmYXVsdHMgdG8gaXQuIik7CisKKyNkZWZpbmUgQlVJTFRJTl9FVkFMX01FVEhPRERFRiAgICBcCisgICAgeyJldmFsIiwgKFB5Q0Z1bmN0aW9uKWJ1aWx0aW5fZXZhbCwgTUVUSF9WQVJBUkdTLCBidWlsdGluX2V2YWxfX2RvY19ffSwKKwogc3RhdGljIFB5T2JqZWN0ICoKLWJ1aWx0aW5fZXZhbChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitidWlsdGluX2V2YWxfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqc291cmNlLCBQeU9iamVjdCAqZ2xvYmFscywgUHlPYmplY3QgKmxvY2Fscyk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitidWlsdGluX2V2YWwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgUHlPYmplY3QgKmNtZCwgKnJlc3VsdCwgKnRtcCA9IE5VTEw7Ci0gICAgUHlPYmplY3QgKmdsb2JhbHMgPSBQeV9Ob25lLCAqbG9jYWxzID0gUHlfTm9uZTsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeU9iamVjdCAqc291cmNlOworICAgIFB5T2JqZWN0ICpnbG9iYWxzID0gUHlfTm9uZTsKKyAgICBQeU9iamVjdCAqbG9jYWxzID0gUHlfTm9uZTsKKworICAgIGlmICghUHlBcmdfVW5wYWNrVHVwbGUoYXJncywgImV2YWwiLAorICAgICAgICAxLCAzLAorICAgICAgICAmc291cmNlLCAmZ2xvYmFscywgJmxvY2FscykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBidWlsdGluX2V2YWxfaW1wbChtb2R1bGUsIHNvdXJjZSwgZ2xvYmFscywgbG9jYWxzKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorYnVpbHRpbl9ldmFsX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKnNvdXJjZSwgUHlPYmplY3QgKmdsb2JhbHMsIFB5T2JqZWN0ICpsb2NhbHMpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NjQ0ZmQ1OTAxMjUzOGNlNiBpbnB1dD0zMWU0MmMxZDIxMjViNTBiXSovCit7CisgICAgUHlPYmplY3QgKnJlc3VsdCwgKnRtcCA9IE5VTEw7CiAgICAgUHlfYnVmZmVyIHZpZXcgPSB7TlVMTCwgTlVMTH07CiAgICAgY29uc3QgY2hhciAqc3RyOwogICAgIFB5Q29tcGlsZXJGbGFncyBjZjsKIAotICAgIGlmICghUHlBcmdfVW5wYWNrVHVwbGUoYXJncywgImV2YWwiLCAxLCAzLCAmY21kLCAmZ2xvYmFscywgJmxvY2FscykpCi0gICAgICAgIHJldHVybiBOVUxMOwogICAgIGlmIChsb2NhbHMgIT0gUHlfTm9uZSAmJiAhUHlNYXBwaW5nX0NoZWNrKGxvY2FscykpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgImxvY2FscyBtdXN0IGJlIGEgbWFwcGluZyIpOwogICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTc5NiwxNyArMTA4NCwxNyBAQAogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCi0gICAgaWYgKFB5Q29kZV9DaGVjayhjbWQpKSB7Ci0gICAgICAgIGlmIChQeUNvZGVfR2V0TnVtRnJlZSgoUHlDb2RlT2JqZWN0ICopY21kKSA+IDApIHsKKyAgICBpZiAoUHlDb2RlX0NoZWNrKHNvdXJjZSkpIHsKKyAgICAgICAgaWYgKFB5Q29kZV9HZXROdW1GcmVlKChQeUNvZGVPYmplY3QgKilzb3VyY2UpID4gMCkgewogICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKICAgICAgICAgImNvZGUgb2JqZWN0IHBhc3NlZCB0byBldmFsKCkgbWF5IG5vdCBjb250YWluIGZyZWUgdmFyaWFibGVzIik7CiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgfQotICAgICAgICByZXR1cm4gUHlFdmFsX0V2YWxDb2RlKGNtZCwgZ2xvYmFscywgbG9jYWxzKTsKKyAgICAgICAgcmV0dXJuIFB5RXZhbF9FdmFsQ29kZShzb3VyY2UsIGdsb2JhbHMsIGxvY2Fscyk7CiAgICAgfQogCiAgICAgY2YuY2ZfZmxhZ3MgPSBQeUNGX1NPVVJDRV9JU19VVEY4OwotICAgIHN0ciA9IHNvdXJjZV9hc19zdHJpbmcoY21kLCAiZXZhbCIsICJzdHJpbmcsIGJ5dGVzIG9yIGNvZGUiLCAmY2YsICZ2aWV3KTsKKyAgICBzdHIgPSBzb3VyY2VfYXNfc3RyaW5nKHNvdXJjZSwgImV2YWwiLCAic3RyaW5nLCBieXRlcyBvciBjb2RlIiwgJmNmLCAmdmlldyk7CiAgICAgaWYgKHN0ciA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKIApAQCAtODIwLDI0ICsxMTA4LDY0IEBACiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotUHlEb2NfU1RSVkFSKGV2YWxfZG9jLAotImV2YWwoc291cmNlWywgZ2xvYmFsc1ssIGxvY2Fsc11dKSAtPiB2YWx1ZVxuXAotXG5cCi1FdmFsdWF0ZSB0aGUgc291cmNlIGluIHRoZSBjb250ZXh0IG9mIGdsb2JhbHMgYW5kIGxvY2Fscy5cblwKLVRoZSBzb3VyY2UgbWF5IGJlIGEgc3RyaW5nIHJlcHJlc2VudGluZyBhIFB5dGhvbiBleHByZXNzaW9uXG5cCi1vciBhIGNvZGUgb2JqZWN0IGFzIHJldHVybmVkIGJ5IGNvbXBpbGUoKS5cblwKLVRoZSBnbG9iYWxzIG11c3QgYmUgYSBkaWN0aW9uYXJ5IGFuZCBsb2NhbHMgY2FuIGJlIGFueSBtYXBwaW5nLFxuXAotZGVmYXVsdGluZyB0byB0aGUgY3VycmVudCBnbG9iYWxzIGFuZCBsb2NhbHMuXG5cCi1JZiBvbmx5IGdsb2JhbHMgaXMgZ2l2ZW4sIGxvY2FscyBkZWZhdWx0cyB0byBpdC5cbiIpOworLypbY2xpbmljIGlucHV0XQorZXhlYyBhcyBidWlsdGluX2V4ZWMKKworICAgIHNvdXJjZTogJ08nCisgICAgZ2xvYmFsczogJ08nID0gTm9uZQorICAgIGxvY2FsczogJ08nID0gTm9uZQorICAgIC8KKworRXhlY3V0ZSB0aGUgZ2l2ZW4gc291cmNlIGluIHRoZSBjb250ZXh0IG9mIGdsb2JhbHMgYW5kIGxvY2Fscy4KKworVGhlIHNvdXJjZSBtYXkgYmUgYSBzdHJpbmcgcmVwcmVzZW50aW5nIG9uZSBvciBtb3JlIFB5dGhvbiBzdGF0ZW1lbnRzCitvciBhIGNvZGUgb2JqZWN0IGFzIHJldHVybmVkIGJ5IGNvbXBpbGUoKS4KK1RoZSBnbG9iYWxzIG11c3QgYmUgYSBkaWN0aW9uYXJ5IGFuZCBsb2NhbHMgY2FuIGJlIGFueSBtYXBwaW5nLAorZGVmYXVsdGluZyB0byB0aGUgY3VycmVudCBnbG9iYWxzIGFuZCBsb2NhbHMuCitJZiBvbmx5IGdsb2JhbHMgaXMgZ2l2ZW4sIGxvY2FscyBkZWZhdWx0cyB0byBpdC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ1aWx0aW5fZXhlY19fZG9jX18sCisiZXhlYygkbW9kdWxlLCBzb3VyY2UsIGdsb2JhbHM9Tm9uZSwgbG9jYWxzPU5vbmUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJFeGVjdXRlIHRoZSBnaXZlbiBzb3VyY2UgaW4gdGhlIGNvbnRleHQgb2YgZ2xvYmFscyBhbmQgbG9jYWxzLlxuIgorIlxuIgorIlRoZSBzb3VyY2UgbWF5IGJlIGEgc3RyaW5nIHJlcHJlc2VudGluZyBvbmUgb3IgbW9yZSBQeXRob24gc3RhdGVtZW50c1xuIgorIm9yIGEgY29kZSBvYmplY3QgYXMgcmV0dXJuZWQgYnkgY29tcGlsZSgpLlxuIgorIlRoZSBnbG9iYWxzIG11c3QgYmUgYSBkaWN0aW9uYXJ5IGFuZCBsb2NhbHMgY2FuIGJlIGFueSBtYXBwaW5nLFxuIgorImRlZmF1bHRpbmcgdG8gdGhlIGN1cnJlbnQgZ2xvYmFscyBhbmQgbG9jYWxzLlxuIgorIklmIG9ubHkgZ2xvYmFscyBpcyBnaXZlbiwgbG9jYWxzIGRlZmF1bHRzIHRvIGl0LiIpOworCisjZGVmaW5lIEJVSUxUSU5fRVhFQ19NRVRIT0RERUYgICAgXAorICAgIHsiZXhlYyIsIChQeUNGdW5jdGlvbilidWlsdGluX2V4ZWMsIE1FVEhfVkFSQVJHUywgYnVpbHRpbl9leGVjX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1idWlsdGluX2V4ZWMoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorYnVpbHRpbl9leGVjX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKnNvdXJjZSwgUHlPYmplY3QgKmdsb2JhbHMsIFB5T2JqZWN0ICpsb2NhbHMpOworCitzdGF0aWMgUHlPYmplY3QgKgorYnVpbHRpbl9leGVjKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5T2JqZWN0ICpzb3VyY2U7CisgICAgUHlPYmplY3QgKmdsb2JhbHMgPSBQeV9Ob25lOworICAgIFB5T2JqZWN0ICpsb2NhbHMgPSBQeV9Ob25lOworCisgICAgaWYgKCFQeUFyZ19VbnBhY2tUdXBsZShhcmdzLCAiZXhlYyIsCisgICAgICAgIDEsIDMsCisgICAgICAgICZzb3VyY2UsICZnbG9iYWxzLCAmbG9jYWxzKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGJ1aWx0aW5fZXhlY19pbXBsKG1vZHVsZSwgc291cmNlLCBnbG9iYWxzLCBsb2NhbHMpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitidWlsdGluX2V4ZWNfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqc291cmNlLCBQeU9iamVjdCAqZ2xvYmFscywgUHlPYmplY3QgKmxvY2FscykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0wMjgxYjQ4YmZhOGUzYzg3IGlucHV0PTUzNmUwNTdiNWUwMGQ4OWVdKi8KIHsKICAgICBQeU9iamVjdCAqdjsKLSAgICBQeU9iamVjdCAqcHJvZywgKmdsb2JhbHMgPSBQeV9Ob25lLCAqbG9jYWxzID0gUHlfTm9uZTsKLQotICAgIGlmICghUHlBcmdfVW5wYWNrVHVwbGUoYXJncywgImV4ZWMiLCAxLCAzLCAmcHJvZywgJmdsb2JhbHMsICZsb2NhbHMpKQotICAgICAgICByZXR1cm4gTlVMTDsKIAogICAgIGlmIChnbG9iYWxzID09IFB5X05vbmUpIHsKICAgICAgICAgZ2xvYmFscyA9IFB5RXZhbF9HZXRHbG9iYWxzKCk7CkBAIC04NTYsMTMgKzExODQsMTMgQEAKICAgICAgICAgbG9jYWxzID0gZ2xvYmFsczsKIAogICAgIGlmICghUHlEaWN0X0NoZWNrKGdsb2JhbHMpKSB7Ci0gICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsICJleGVjKCkgYXJnIDIgbXVzdCBiZSBhIGRpY3QsIG5vdCAlLjEwMHMiLAorICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLCAiZXhlYygpIGdsb2JhbHMgbXVzdCBiZSBhIGRpY3QsIG5vdCAlLjEwMHMiLAogICAgICAgICAgICAgICAgICAgICAgZ2xvYmFscy0+b2JfdHlwZS0+dHBfbmFtZSk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KICAgICBpZiAoIVB5TWFwcGluZ19DaGVjayhsb2NhbHMpKSB7CiAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCi0gICAgICAgICAgICAiYXJnIDMgbXVzdCBiZSBhIG1hcHBpbmcgb3IgTm9uZSwgbm90ICUuMTAwcyIsCisgICAgICAgICAgICAibG9jYWxzIG11c3QgYmUgYSBtYXBwaW5nIG9yIE5vbmUsIG5vdCAlLjEwMHMiLAogICAgICAgICAgICAgbG9jYWxzLT5vYl90eXBlLT50cF9uYW1lKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQpAQCAtODcyLDIyICsxMjAwLDIyIEBACiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKLSAgICBpZiAoUHlDb2RlX0NoZWNrKHByb2cpKSB7Ci0gICAgICAgIGlmIChQeUNvZGVfR2V0TnVtRnJlZSgoUHlDb2RlT2JqZWN0ICopcHJvZykgPiAwKSB7CisgICAgaWYgKFB5Q29kZV9DaGVjayhzb3VyY2UpKSB7CisgICAgICAgIGlmIChQeUNvZGVfR2V0TnVtRnJlZSgoUHlDb2RlT2JqZWN0ICopc291cmNlKSA+IDApIHsKICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCiAgICAgICAgICAgICAgICAgImNvZGUgb2JqZWN0IHBhc3NlZCB0byBleGVjKCkgbWF5IG5vdCAiCiAgICAgICAgICAgICAgICAgImNvbnRhaW4gZnJlZSB2YXJpYWJsZXMiKTsKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICB9Ci0gICAgICAgIHYgPSBQeUV2YWxfRXZhbENvZGUocHJvZywgZ2xvYmFscywgbG9jYWxzKTsKKyAgICAgICAgdiA9IFB5RXZhbF9FdmFsQ29kZShzb3VyY2UsIGdsb2JhbHMsIGxvY2Fscyk7CiAgICAgfQogICAgIGVsc2UgewogICAgICAgICBQeV9idWZmZXIgdmlldyA9IHtOVUxMLCBOVUxMfTsKICAgICAgICAgY29uc3QgY2hhciAqc3RyOwogICAgICAgICBQeUNvbXBpbGVyRmxhZ3MgY2Y7CiAgICAgICAgIGNmLmNmX2ZsYWdzID0gUHlDRl9TT1VSQ0VfSVNfVVRGODsKLSAgICAgICAgc3RyID0gc291cmNlX2FzX3N0cmluZyhwcm9nLCAiZXhlYyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0cmluZywgYnl0ZXMgb3IgY29kZSIsICZjZiwgJnZpZXcpOworICAgICAgICBzdHIgPSBzb3VyY2VfYXNfc3RyaW5nKHNvdXJjZSwgImV4ZWMiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0cmluZywgYnl0ZXMgb3IgY29kZSIsICZjZiwgJnZpZXcpOwogICAgICAgICBpZiAoc3RyID09IE5VTEwpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgaWYgKFB5RXZhbF9NZXJnZUNvbXBpbGVyRmxhZ3MoJmNmKSkKQEAgLTkwMywxNSArMTIzMSw4IEBACiAgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAKLVB5RG9jX1NUUlZBUihleGVjX2RvYywKLSJleGVjKG9iamVjdFssIGdsb2JhbHNbLCBsb2NhbHNdXSlcblwKLVxuXAotUmVhZCBhbmQgZXhlY3V0ZSBjb2RlIGZyb20gYW4gb2JqZWN0LCB3aGljaCBjYW4gYmUgYSBzdHJpbmcgb3IgYSBjb2RlXG5cCi1vYmplY3QuXG5cCi1UaGUgZ2xvYmFscyBhbmQgbG9jYWxzIGFyZSBkaWN0aW9uYXJpZXMsIGRlZmF1bHRpbmcgdG8gdGhlIGN1cnJlbnRcblwKLWdsb2JhbHMgYW5kIGxvY2Fscy4gIElmIG9ubHkgZ2xvYmFscyBpcyBnaXZlbiwgbG9jYWxzIGRlZmF1bHRzIHRvIGl0LiIpOwogCi0KKy8qIEFDOiBjYW5ub3QgY29udmVydCB5ZXQsIGFzIG5lZWRzIFBFUCA0NTcgZ3JvdXAgc3VwcG9ydCBpbiBpbnNwZWN0ICovCiBzdGF0aWMgUHlPYmplY3QgKgogYnVpbHRpbl9nZXRhdHRyKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKQEAgLTk0NSw4ICsxMjY2LDM5IEBACiBleGlzdDsgd2l0aG91dCBpdCwgYW4gZXhjZXB0aW9uIGlzIHJhaXNlZCBpbiB0aGF0IGNhc2UuIik7CiAKIAorLypbY2xpbmljIGlucHV0XQorZ2xvYmFscyBhcyBidWlsdGluX2dsb2JhbHMKKworUmV0dXJuIHRoZSBkaWN0aW9uYXJ5IGNvbnRhaW5pbmcgdGhlIGN1cnJlbnQgc2NvcGUncyBnbG9iYWwgdmFyaWFibGVzLgorCitOT1RFOiBVcGRhdGVzIHRvIHRoaXMgZGljdGlvbmFyeSAqd2lsbCogYWZmZWN0IG5hbWUgbG9va3VwcyBpbiB0aGUgY3VycmVudAorZ2xvYmFsIHNjb3BlIGFuZCB2aWNlLXZlcnNhLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnVpbHRpbl9nbG9iYWxzX19kb2NfXywKKyJnbG9iYWxzKCRtb2R1bGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIGRpY3Rpb25hcnkgY29udGFpbmluZyB0aGUgY3VycmVudCBzY29wZVwncyBnbG9iYWwgdmFyaWFibGVzLlxuIgorIlxuIgorIk5PVEU6IFVwZGF0ZXMgdG8gdGhpcyBkaWN0aW9uYXJ5ICp3aWxsKiBhZmZlY3QgbmFtZSBsb29rdXBzIGluIHRoZSBjdXJyZW50XG4iCisiZ2xvYmFsIHNjb3BlIGFuZCB2aWNlLXZlcnNhLiIpOworCisjZGVmaW5lIEJVSUxUSU5fR0xPQkFMU19NRVRIT0RERUYgICAgXAorICAgIHsiZ2xvYmFscyIsIChQeUNGdW5jdGlvbilidWlsdGluX2dsb2JhbHMsIE1FVEhfTk9BUkdTLCBidWlsdGluX2dsb2JhbHNfX2RvY19ffSwKKwogc3RhdGljIFB5T2JqZWN0ICoKLWJ1aWx0aW5fZ2xvYmFscyhQeU9iamVjdCAqc2VsZikKK2J1aWx0aW5fZ2xvYmFsc19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorYnVpbHRpbl9nbG9iYWxzKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIGJ1aWx0aW5fZ2xvYmFsc19pbXBsKG1vZHVsZSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitidWlsdGluX2dsb2JhbHNfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTA0ODY0MGY1OGIxZjIwYWQgaW5wdXQ9OTMyNzU3NmY5MmJiNDhiYV0qLwogewogICAgIFB5T2JqZWN0ICpkOwogCkBAIC05NTUsMjYgKzEzMDcsNjIgQEAKICAgICByZXR1cm4gZDsKIH0KIAotUHlEb2NfU1RSVkFSKGdsb2JhbHNfZG9jLAotImdsb2JhbHMoKSAtPiBkaWN0aW9uYXJ5XG5cCi1cblwKLVJldHVybiB0aGUgZGljdGlvbmFyeSBjb250YWluaW5nIHRoZSBjdXJyZW50IHNjb3BlJ3MgZ2xvYmFsIHZhcmlhYmxlcy4iKTsKIAorLypbY2xpbmljIGlucHV0XQoraGFzYXR0ciBhcyBidWlsdGluX2hhc2F0dHIKKworICAgIG9iajogJ08nCisgICAgbmFtZTogJ08nCisgICAgLworCitSZXR1cm4gd2hldGhlciB0aGUgb2JqZWN0IGhhcyBhbiBhdHRyaWJ1dGUgd2l0aCB0aGUgZ2l2ZW4gbmFtZS4KKworVGhpcyBpcyBkb25lIGJ5IGNhbGxpbmcgZ2V0YXR0cihvYmosIG5hbWUpIGFuZCBjYXRjaGluZyBBdHRyaWJ1dGVFcnJvci4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ1aWx0aW5faGFzYXR0cl9fZG9jX18sCisiaGFzYXR0cigkbW9kdWxlLCBvYmosIG5hbWUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gd2hldGhlciB0aGUgb2JqZWN0IGhhcyBhbiBhdHRyaWJ1dGUgd2l0aCB0aGUgZ2l2ZW4gbmFtZS5cbiIKKyJcbiIKKyJUaGlzIGlzIGRvbmUgYnkgY2FsbGluZyBnZXRhdHRyKG9iaiwgbmFtZSkgYW5kIGNhdGNoaW5nIEF0dHJpYnV0ZUVycm9yLiIpOworCisjZGVmaW5lIEJVSUxUSU5fSEFTQVRUUl9NRVRIT0RERUYgICAgXAorICAgIHsiaGFzYXR0ciIsIChQeUNGdW5jdGlvbilidWlsdGluX2hhc2F0dHIsIE1FVEhfVkFSQVJHUywgYnVpbHRpbl9oYXNhdHRyX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1idWlsdGluX2hhc2F0dHIoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorYnVpbHRpbl9oYXNhdHRyX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKm9iaiwgUHlPYmplY3QgKm5hbWUpOworCitzdGF0aWMgUHlPYmplY3QgKgorYnVpbHRpbl9oYXNhdHRyKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogewotICAgIFB5T2JqZWN0ICp2OworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5T2JqZWN0ICpvYmo7CiAgICAgUHlPYmplY3QgKm5hbWU7CiAKLSAgICBpZiAoIVB5QXJnX1VucGFja1R1cGxlKGFyZ3MsICJoYXNhdHRyIiwgMiwgMiwgJnYsICZuYW1lKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKCFQeUFyZ19VbnBhY2tUdXBsZShhcmdzLCAiaGFzYXR0ciIsCisgICAgICAgIDIsIDIsCisgICAgICAgICZvYmosICZuYW1lKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGJ1aWx0aW5faGFzYXR0cl9pbXBsKG1vZHVsZSwgb2JqLCBuYW1lKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorYnVpbHRpbl9oYXNhdHRyX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKm9iaiwgUHlPYmplY3QgKm5hbWUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZTBiZDk5NmVmNzNkMTIxNyBpbnB1dD1iNTBiYWQ1ZjczOWVhMTBkXSovCit7CisgICAgUHlPYmplY3QgKnY7CisKICAgICBpZiAoIVB5VW5pY29kZV9DaGVjayhuYW1lKSkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgImhhc2F0dHIoKTogYXR0cmlidXRlIG5hbWUgbXVzdCBiZSBzdHJpbmciKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIHYgPSBQeU9iamVjdF9HZXRBdHRyKHYsIG5hbWUpOworICAgIHYgPSBQeU9iamVjdF9HZXRBdHRyKG9iaiwgbmFtZSk7CiAgICAgaWYgKHYgPT0gTlVMTCkgewogICAgICAgICBpZiAoUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcyhQeUV4Y19BdHRyaWJ1dGVFcnJvcikpIHsKICAgICAgICAgICAgIFB5RXJyX0NsZWFyKCk7CkBAIC05ODYsMjUgKzEzNzQsNDMgQEAKICAgICBQeV9SRVRVUk5fVFJVRTsKIH0KIAotUHlEb2NfU1RSVkFSKGhhc2F0dHJfZG9jLAotImhhc2F0dHIob2JqZWN0LCBuYW1lKSAtPiBib29sXG5cCi1cblwKLVJldHVybiB3aGV0aGVyIHRoZSBvYmplY3QgaGFzIGFuIGF0dHJpYnV0ZSB3aXRoIHRoZSBnaXZlbiBuYW1lLlxuXAotKFRoaXMgaXMgZG9uZSBieSBjYWxsaW5nIGdldGF0dHIob2JqZWN0LCBuYW1lKSBhbmQgY2F0Y2hpbmcgQXR0cmlidXRlRXJyb3IuKSIpOwogCisvKiBBQzogZ2RiJ3MgaW50ZWdyYXRpb24gd2l0aCBDUHl0aG9uIHJlbGllcyBvbiBidWlsdGluX2lkIGhhdmluZworICogdGhlICpleGFjdCogcGFyYW1ldGVyIG5hbWVzIG9mICJzZWxmIiBhbmQgInYiLCBzbyB3ZSBlbnN1cmUgd2UKKyAqIHByZXNlcnZlIHRob3NlIG5hbWUgcmF0aGVyIHRoYW4gdXNpbmcgdGhlIEFDIGRlZmF1bHRzLgorICovCisvKltjbGluaWMgaW5wdXRdCitpZCBhcyBidWlsdGluX2lkCisKKyAgICBzZWxmOiBzZWxmKHR5cGU9IlB5TW9kdWxlRGVmICoiKQorICAgIG9iaiBhcyB2OiAnTycKKyAgICAvCisKK1JldHVybiB0aGUgaWRlbnRpdHkgb2YgYW4gb2JqZWN0LgorCitUaGlzIGlzIGd1YXJhbnRlZWQgdG8gYmUgdW5pcXVlIGFtb25nIHNpbXVsdGFuZW91c2x5IGV4aXN0aW5nIG9iamVjdHMuCisoQ1B5dGhvbiB1c2VzIHRoZSBvYmplY3QncyBtZW1vcnkgYWRkcmVzcy4pCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihidWlsdGluX2lkX19kb2NfXywKKyJpZCgkbW9kdWxlLCBvYmosIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIGlkZW50aXR5IG9mIGFuIG9iamVjdC5cbiIKKyJcbiIKKyJUaGlzIGlzIGd1YXJhbnRlZWQgdG8gYmUgdW5pcXVlIGFtb25nIHNpbXVsdGFuZW91c2x5IGV4aXN0aW5nIG9iamVjdHMuXG4iCisiKENQeXRob24gdXNlcyB0aGUgb2JqZWN0XCdzIG1lbW9yeSBhZGRyZXNzLikiKTsKKworI2RlZmluZSBCVUlMVElOX0lEX01FVEhPRERFRiAgICBcCisgICAgeyJpZCIsIChQeUNGdW5jdGlvbilidWlsdGluX2lkLCBNRVRIX08sIGJ1aWx0aW5faWRfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLWJ1aWx0aW5faWQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp2KQorYnVpbHRpbl9pZChQeU1vZHVsZURlZiAqc2VsZiwgUHlPYmplY3QgKnYpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZjU0ZGEwOWM5MTk5MmU2MyBpbnB1dD1hMWY5ODhkOTgzNTczNDFkXSovCiB7CiAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tVm9pZFB0cih2KTsKIH0KIAotUHlEb2NfU1RSVkFSKGlkX2RvYywKLSJpZChvYmplY3QpIC0+IGludGVnZXJcblwKLVxuXAotUmV0dXJuIHRoZSBpZGVudGl0eSBvZiBhbiBvYmplY3QuICBUaGlzIGlzIGd1YXJhbnRlZWQgdG8gYmUgdW5pcXVlIGFtb25nXG5cCi1zaW11bHRhbmVvdXNseSBleGlzdGluZyBvYmplY3RzLiAgKEhpbnQ6IGl0J3MgdGhlIG9iamVjdCdzIG1lbW9yeSBhZGRyZXNzLikiKTsKLQogCiAvKiBtYXAgb2JqZWN0ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIApAQCAtMTE3Nyw2ICsxNTgzLDggQEAKICAgICBQeU9iamVjdF9HQ19EZWwsICAgICAgICAgICAgICAgICAgICAvKiB0cF9mcmVlICovCiB9OwogCisKKy8qIEFDOiBjYW5ub3QgY29udmVydCB5ZXQsIGFzIG5lZWRzIFBFUCA0NTcgZ3JvdXAgc3VwcG9ydCBpbiBpbnNwZWN0ICovCiBzdGF0aWMgUHlPYmplY3QgKgogYnVpbHRpbl9uZXh0KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKQEAgLTEyMTgsODMgKzE2MjYsMTg2IEBACiBpcyBleGhhdXN0ZWQsIGl0IGlzIHJldHVybmVkIGluc3RlYWQgb2YgcmFpc2luZyBTdG9wSXRlcmF0aW9uLiIpOwogCiAKKy8qW2NsaW5pYyBpbnB1dF0KK3NldGF0dHIgYXMgYnVpbHRpbl9zZXRhdHRyCisKKyAgICBvYmo6ICdPJworICAgIG5hbWU6ICdPJworICAgIHZhbHVlOiAnTycKKyAgICAvCisKK1NldHMgdGhlIG5hbWVkIGF0dHJpYnV0ZSBvbiB0aGUgZ2l2ZW4gb2JqZWN0IHRvIHRoZSBzcGVjaWZpZWQgdmFsdWUuCisKK3NldGF0dHIoeCwgJ3knLCB2KSBpcyBlcXVpdmFsZW50IHRvIGBgeC55ID0gdicnCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihidWlsdGluX3NldGF0dHJfX2RvY19fLAorInNldGF0dHIoJG1vZHVsZSwgb2JqLCBuYW1lLCB2YWx1ZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlNldHMgdGhlIG5hbWVkIGF0dHJpYnV0ZSBvbiB0aGUgZ2l2ZW4gb2JqZWN0IHRvIHRoZSBzcGVjaWZpZWQgdmFsdWUuXG4iCisiXG4iCisic2V0YXR0cih4LCBcJ3lcJywgdikgaXMgZXF1aXZhbGVudCB0byBgYHgueSA9IHZcJ1wnIik7CisKKyNkZWZpbmUgQlVJTFRJTl9TRVRBVFRSX01FVEhPRERFRiAgICBcCisgICAgeyJzZXRhdHRyIiwgKFB5Q0Z1bmN0aW9uKWJ1aWx0aW5fc2V0YXR0ciwgTUVUSF9WQVJBUkdTLCBidWlsdGluX3NldGF0dHJfX2RvY19ffSwKKwogc3RhdGljIFB5T2JqZWN0ICoKLWJ1aWx0aW5fc2V0YXR0cihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitidWlsdGluX3NldGF0dHJfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqb2JqLCBQeU9iamVjdCAqbmFtZSwgUHlPYmplY3QgKnZhbHVlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2J1aWx0aW5fc2V0YXR0cihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBQeU9iamVjdCAqdjsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeU9iamVjdCAqb2JqOwogICAgIFB5T2JqZWN0ICpuYW1lOwogICAgIFB5T2JqZWN0ICp2YWx1ZTsKIAotICAgIGlmICghUHlBcmdfVW5wYWNrVHVwbGUoYXJncywgInNldGF0dHIiLCAzLCAzLCAmdiwgJm5hbWUsICZ2YWx1ZSkpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIGlmIChQeU9iamVjdF9TZXRBdHRyKHYsIG5hbWUsIHZhbHVlKSAhPSAwKQorICAgIGlmICghUHlBcmdfVW5wYWNrVHVwbGUoYXJncywgInNldGF0dHIiLAorICAgICAgICAzLCAzLAorICAgICAgICAmb2JqLCAmbmFtZSwgJnZhbHVlKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGJ1aWx0aW5fc2V0YXR0cl9pbXBsKG1vZHVsZSwgb2JqLCBuYW1lLCB2YWx1ZSk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J1aWx0aW5fc2V0YXR0cl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpvYmosIFB5T2JqZWN0ICpuYW1lLCBQeU9iamVjdCAqdmFsdWUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NDMzNmRjYmJmNzY5MWQyZCBpbnB1dD1mYmU3ZTUzNDAzMTE2YjkzXSovCit7CisgICAgaWYgKFB5T2JqZWN0X1NldEF0dHIob2JqLCBuYW1lLCB2YWx1ZSkgIT0gMCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgUHlfSU5DUkVGKFB5X05vbmUpOwogICAgIHJldHVybiBQeV9Ob25lOwogfQogCi1QeURvY19TVFJWQVIoc2V0YXR0cl9kb2MsCi0ic2V0YXR0cihvYmplY3QsIG5hbWUsIHZhbHVlKVxuXAotXG5cCi1TZXQgYSBuYW1lZCBhdHRyaWJ1dGUgb24gYW4gb2JqZWN0OyBzZXRhdHRyKHgsICd5JywgdikgaXMgZXF1aXZhbGVudCB0b1xuXAotYGB4LnkgPSB2JycuIik7CiAKKy8qW2NsaW5pYyBpbnB1dF0KK2RlbGF0dHIgYXMgYnVpbHRpbl9kZWxhdHRyCisKKyAgICBvYmo6ICdPJworICAgIG5hbWU6ICdPJworICAgIC8KKworRGVsZXRlcyB0aGUgbmFtZWQgYXR0cmlidXRlIGZyb20gdGhlIGdpdmVuIG9iamVjdC4KKworZGVsYXR0cih4LCAneScpIGlzIGVxdWl2YWxlbnQgdG8gYGBkZWwgeC55JycKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ1aWx0aW5fZGVsYXR0cl9fZG9jX18sCisiZGVsYXR0cigkbW9kdWxlLCBvYmosIG5hbWUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJEZWxldGVzIHRoZSBuYW1lZCBhdHRyaWJ1dGUgZnJvbSB0aGUgZ2l2ZW4gb2JqZWN0LlxuIgorIlxuIgorImRlbGF0dHIoeCwgXCd5XCcpIGlzIGVxdWl2YWxlbnQgdG8gYGBkZWwgeC55XCdcJyIpOworCisjZGVmaW5lIEJVSUxUSU5fREVMQVRUUl9NRVRIT0RERUYgICAgXAorICAgIHsiZGVsYXR0ciIsIChQeUNGdW5jdGlvbilidWlsdGluX2RlbGF0dHIsIE1FVEhfVkFSQVJHUywgYnVpbHRpbl9kZWxhdHRyX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1idWlsdGluX2RlbGF0dHIoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorYnVpbHRpbl9kZWxhdHRyX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKm9iaiwgUHlPYmplY3QgKm5hbWUpOworCitzdGF0aWMgUHlPYmplY3QgKgorYnVpbHRpbl9kZWxhdHRyKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogewotICAgIFB5T2JqZWN0ICp2OworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5T2JqZWN0ICpvYmo7CiAgICAgUHlPYmplY3QgKm5hbWU7CiAKLSAgICBpZiAoIVB5QXJnX1VucGFja1R1cGxlKGFyZ3MsICJkZWxhdHRyIiwgMiwgMiwgJnYsICZuYW1lKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgaWYgKFB5T2JqZWN0X1NldEF0dHIodiwgbmFtZSwgKFB5T2JqZWN0ICopTlVMTCkgIT0gMCkKKyAgICBpZiAoIVB5QXJnX1VucGFja1R1cGxlKGFyZ3MsICJkZWxhdHRyIiwKKyAgICAgICAgMiwgMiwKKyAgICAgICAgJm9iaiwgJm5hbWUpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYnVpbHRpbl9kZWxhdHRyX2ltcGwobW9kdWxlLCBvYmosIG5hbWUpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitidWlsdGluX2RlbGF0dHJfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqb2JqLCBQeU9iamVjdCAqbmFtZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0zMTljMmQ4ODRhYTc2OWNmIGlucHV0PTY0N2FmMmNlOTE4M2E4MjNdKi8KK3sKKyAgICBpZiAoUHlPYmplY3RfU2V0QXR0cihvYmosIG5hbWUsIChQeU9iamVjdCAqKU5VTEwpICE9IDApCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKICAgICByZXR1cm4gUHlfTm9uZTsKIH0KIAotUHlEb2NfU1RSVkFSKGRlbGF0dHJfZG9jLAotImRlbGF0dHIob2JqZWN0LCBuYW1lKVxuXAotXG5cCi1EZWxldGUgYSBuYW1lZCBhdHRyaWJ1dGUgb24gYW4gb2JqZWN0OyBkZWxhdHRyKHgsICd5JykgaXMgZXF1aXZhbGVudCB0b1xuXAotYGBkZWwgeC55JycuIik7CiAKKy8qW2NsaW5pYyBpbnB1dF0KK2hhc2ggYXMgYnVpbHRpbl9oYXNoCisKKyAgICBvYmo6ICdPJworICAgIC8KKworUmV0dXJuIHRoZSBoYXNoIHZhbHVlIGZvciB0aGUgZ2l2ZW4gb2JqZWN0LgorCitUd28gb2JqZWN0cyB0aGF0IGNvbXBhcmUgZXF1YWwgbXVzdCBhbHNvIGhhdmUgdGhlIHNhbWUgaGFzaCB2YWx1ZSwgYnV0IHRoZQorcmV2ZXJzZSBpcyBub3QgbmVjZXNzYXJpbHkgdHJ1ZS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ1aWx0aW5faGFzaF9fZG9jX18sCisiaGFzaCgkbW9kdWxlLCBvYmosIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIGhhc2ggdmFsdWUgZm9yIHRoZSBnaXZlbiBvYmplY3QuXG4iCisiXG4iCisiVHdvIG9iamVjdHMgdGhhdCBjb21wYXJlIGVxdWFsIG11c3QgYWxzbyBoYXZlIHRoZSBzYW1lIGhhc2ggdmFsdWUsIGJ1dCB0aGVcbiIKKyJyZXZlcnNlIGlzIG5vdCBuZWNlc3NhcmlseSB0cnVlLiIpOworCisjZGVmaW5lIEJVSUxUSU5fSEFTSF9NRVRIT0RERUYgICAgXAorICAgIHsiaGFzaCIsIChQeUNGdW5jdGlvbilidWlsdGluX2hhc2gsIE1FVEhfTywgYnVpbHRpbl9oYXNoX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1idWlsdGluX2hhc2goUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp2KQorYnVpbHRpbl9oYXNoKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpvYmopCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MWVjNDY3NjExYzEzNDY4YiBpbnB1dD1jY2M0ZDJiOWEzNTFkZjRlXSovCiB7CiAgICAgUHlfaGFzaF90IHg7CiAKLSAgICB4ID0gUHlPYmplY3RfSGFzaCh2KTsKKyAgICB4ID0gUHlPYmplY3RfSGFzaChvYmopOwogICAgIGlmICh4ID09IC0xKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICByZXR1cm4gUHlMb25nX0Zyb21Tc2l6ZV90KHgpOwogfQogCi1QeURvY19TVFJWQVIoaGFzaF9kb2MsCi0iaGFzaChvYmplY3QpIC0+IGludGVnZXJcblwKLVxuXAotUmV0dXJuIGEgaGFzaCB2YWx1ZSBmb3IgdGhlIG9iamVjdC4gIFR3byBvYmplY3RzIHdpdGggdGhlIHNhbWUgdmFsdWUgaGF2ZVxuXAotdGhlIHNhbWUgaGFzaCB2YWx1ZS4gIFRoZSByZXZlcnNlIGlzIG5vdCBuZWNlc3NhcmlseSB0cnVlLCBidXQgbGlrZWx5LiIpOwogCisvKltjbGluaWMgaW5wdXRdCitoZXggYXMgYnVpbHRpbl9oZXgKKworICAgIG51bWJlcjogJ08nCisgICAgLworCitSZXR1cm4gdGhlIGhleGFkZWNpbWFsIHJlcHJlc2VudGF0aW9uIG9mIGFuIGludGVnZXIuCisKKyAgID4+PiBoZXgoMTI2NDg0MzApCisgICAnMHhjMGZmZWUnCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihidWlsdGluX2hleF9fZG9jX18sCisiaGV4KCRtb2R1bGUsIG51bWJlciwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgaGV4YWRlY2ltYWwgcmVwcmVzZW50YXRpb24gb2YgYW4gaW50ZWdlci5cbiIKKyJcbiIKKyIgICA+Pj4gaGV4KDEyNjQ4NDMwKVxuIgorIiAgIFwnMHhjMGZmZWVcJyIpOworCisjZGVmaW5lIEJVSUxUSU5fSEVYX01FVEhPRERFRiAgICBcCisgICAgeyJoZXgiLCAoUHlDRnVuY3Rpb24pYnVpbHRpbl9oZXgsIE1FVEhfTywgYnVpbHRpbl9oZXhfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLWJ1aWx0aW5faGV4KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdikKK2J1aWx0aW5faGV4KFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpudW1iZXIpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZjE4ZTk0MzlhZWFhMmM2YyBpbnB1dD1lODE2MjAwYjBhNzI4ZWJlXSovCiB7Ci0gICAgcmV0dXJuIFB5TnVtYmVyX1RvQmFzZSh2LCAxNik7CisgICAgcmV0dXJuIFB5TnVtYmVyX1RvQmFzZShudW1iZXIsIDE2KTsKIH0KIAotUHlEb2NfU1RSVkFSKGhleF9kb2MsCi0iaGV4KG51bWJlcikgLT4gc3RyaW5nXG5cCi1cblwKLVJldHVybiB0aGUgaGV4YWRlY2ltYWwgcmVwcmVzZW50YXRpb24gb2YgYW4gaW50ZWdlci5cblwKLVxuXAotICAgPj4+IGhleCgzNzM1OTI4NTU5KVxuXAotICAgJzB4ZGVhZGJlZWYnXG5cCi0iKTsKIAotCisvKiBBQzogY2Fubm90IGNvbnZlcnQgeWV0LCBhcyBuZWVkcyBQRVAgNDU3IGdyb3VwIHN1cHBvcnQgaW4gaW5zcGVjdCAqLwogc3RhdGljIFB5T2JqZWN0ICoKIGJ1aWx0aW5faXRlcihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7CkBAIC0xMzIxLDI1ICsxODMyLDcyIEBACiBJbiB0aGUgc2Vjb25kIGZvcm0sIHRoZSBjYWxsYWJsZSBpcyBjYWxsZWQgdW50aWwgaXQgcmV0dXJucyB0aGUgc2VudGluZWwuIik7CiAKIAorLypbY2xpbmljIGlucHV0XQorbGVuIGFzIGJ1aWx0aW5fbGVuCisKKyAgICBvYmo6ICdPJworICAgIC8KKworUmV0dXJuIHRoZSBudW1iZXIgb2YgaXRlbXMgaW4gYSBjb250YWluZXIuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihidWlsdGluX2xlbl9fZG9jX18sCisibGVuKCRtb2R1bGUsIG9iaiwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgbnVtYmVyIG9mIGl0ZW1zIGluIGEgY29udGFpbmVyLiIpOworCisjZGVmaW5lIEJVSUxUSU5fTEVOX01FVEhPRERFRiAgICBcCisgICAgeyJsZW4iLCAoUHlDRnVuY3Rpb24pYnVpbHRpbl9sZW4sIE1FVEhfTywgYnVpbHRpbl9sZW5fX2RvY19ffSwKKwogc3RhdGljIFB5T2JqZWN0ICoKLWJ1aWx0aW5fbGVuKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdikKK2J1aWx0aW5fbGVuKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpvYmopCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NWEzOGIwZGI0MDc2MTcwNSBpbnB1dD0yZTVmZjE1ZGI5YTJkZTIyXSovCiB7CiAgICAgUHlfc3NpemVfdCByZXM7CiAKLSAgICByZXMgPSBQeU9iamVjdF9TaXplKHYpOworICAgIHJlcyA9IFB5T2JqZWN0X1NpemUob2JqKTsKICAgICBpZiAocmVzIDwgMCAmJiBQeUVycl9PY2N1cnJlZCgpKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICByZXR1cm4gUHlMb25nX0Zyb21Tc2l6ZV90KHJlcyk7CiB9CiAKLVB5RG9jX1NUUlZBUihsZW5fZG9jLAotImxlbihvYmplY3QpXG5cCi1cblwKLVJldHVybiB0aGUgbnVtYmVyIG9mIGl0ZW1zIG9mIGEgc2VxdWVuY2Ugb3IgY29sbGVjdGlvbi4iKTsKIAorLypbY2xpbmljIGlucHV0XQorbG9jYWxzIGFzIGJ1aWx0aW5fbG9jYWxzCisKK1JldHVybiBhIGRpY3Rpb25hcnkgY29udGFpbmluZyB0aGUgY3VycmVudCBzY29wZSdzIGxvY2FsIHZhcmlhYmxlcy4KKworTk9URTogV2hldGhlciBvciBub3QgdXBkYXRlcyB0byB0aGlzIGRpY3Rpb25hcnkgd2lsbCBhZmZlY3QgbmFtZSBsb29rdXBzIGluCit0aGUgbG9jYWwgc2NvcGUgYW5kIHZpY2UtdmVyc2EgaXMgKmltcGxlbWVudGF0aW9uIGRlcGVuZGVudCogYW5kIG5vdAorY292ZXJlZCBieSBhbnkgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgZ3VhcmFudGVlcy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ1aWx0aW5fbG9jYWxzX19kb2NfXywKKyJsb2NhbHMoJG1vZHVsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBhIGRpY3Rpb25hcnkgY29udGFpbmluZyB0aGUgY3VycmVudCBzY29wZVwncyBsb2NhbCB2YXJpYWJsZXMuXG4iCisiXG4iCisiTk9URTogV2hldGhlciBvciBub3QgdXBkYXRlcyB0byB0aGlzIGRpY3Rpb25hcnkgd2lsbCBhZmZlY3QgbmFtZSBsb29rdXBzIGluXG4iCisidGhlIGxvY2FsIHNjb3BlIGFuZCB2aWNlLXZlcnNhIGlzICppbXBsZW1lbnRhdGlvbiBkZXBlbmRlbnQqIGFuZCBub3RcbiIKKyJjb3ZlcmVkIGJ5IGFueSBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBndWFyYW50ZWVzLiIpOworCisjZGVmaW5lIEJVSUxUSU5fTE9DQUxTX01FVEhPRERFRiAgICBcCisgICAgeyJsb2NhbHMiLCAoUHlDRnVuY3Rpb24pYnVpbHRpbl9sb2NhbHMsIE1FVEhfTk9BUkdTLCBidWlsdGluX2xvY2Fsc19fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotYnVpbHRpbl9sb2NhbHMoUHlPYmplY3QgKnNlbGYpCitidWlsdGluX2xvY2Fsc19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorYnVpbHRpbl9sb2NhbHMoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gYnVpbHRpbl9sb2NhbHNfaW1wbChtb2R1bGUpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorYnVpbHRpbl9sb2NhbHNfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PThhYzUyNTIyOTI0MzQ2ZTIgaW5wdXQ9Nzg3NDAxOGQ0NzhkNWM0Yl0qLwogewogICAgIFB5T2JqZWN0ICpkOwogCkBAIC0xMzQ4LDExICsxOTA2LDYgQEAKICAgICByZXR1cm4gZDsKIH0KIAotUHlEb2NfU1RSVkFSKGxvY2Fsc19kb2MsCi0ibG9jYWxzKCkgLT4gZGljdGlvbmFyeVxuXAotXG5cCi1VcGRhdGUgYW5kIHJldHVybiBhIGRpY3Rpb25hcnkgY29udGFpbmluZyB0aGUgY3VycmVudCBzY29wZSdzIGxvY2FsIHZhcmlhYmxlcy4iKTsKLQogCiBzdGF0aWMgUHlPYmplY3QgKgogbWluX21heChQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMsIGludCBvcCkKQEAgLTE0NTUsNiArMjAwOCw3IEBACiAgICAgcmV0dXJuIE5VTEw7CiB9CiAKKy8qIEFDOiBjYW5ub3QgY29udmVydCB5ZXQsIHdhaXRpbmcgZm9yICphcmdzIHN1cHBvcnQgKi8KIHN0YXRpYyBQeU9iamVjdCAqCiBidWlsdGluX21pbihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQogewpAQCAtMTQ3MSw2ICsyMDI1LDcgQEAKIFdpdGggdHdvIG9yIG1vcmUgYXJndW1lbnRzLCByZXR1cm4gdGhlIHNtYWxsZXN0IGFyZ3VtZW50LiIpOwogCiAKKy8qIEFDOiBjYW5ub3QgY29udmVydCB5ZXQsIHdhaXRpbmcgZm9yICphcmdzIHN1cHBvcnQgKi8KIHN0YXRpYyBQeU9iamVjdCAqCiBidWlsdGluX21heChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQogewpAQCAtMTQ4Nyw1NiArMjA0Miw5MSBAQAogV2l0aCB0d28gb3IgbW9yZSBhcmd1bWVudHMsIHJldHVybiB0aGUgbGFyZ2VzdCBhcmd1bWVudC4iKTsKIAogCisvKltjbGluaWMgaW5wdXRdCitvY3QgYXMgYnVpbHRpbl9vY3QKKworICAgIG51bWJlcjogJ08nCisgICAgLworCitSZXR1cm4gdGhlIG9jdGFsIHJlcHJlc2VudGF0aW9uIG9mIGFuIGludGVnZXIuCisKKyAgID4+PiBvY3QoMzQyMzkxKQorICAgJzBvMTIzNDU2NycKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ1aWx0aW5fb2N0X19kb2NfXywKKyJvY3QoJG1vZHVsZSwgbnVtYmVyLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSBvY3RhbCByZXByZXNlbnRhdGlvbiBvZiBhbiBpbnRlZ2VyLlxuIgorIlxuIgorIiAgID4+PiBvY3QoMzQyMzkxKVxuIgorIiAgIFwnMG8xMjM0NTY3XCciKTsKKworI2RlZmluZSBCVUlMVElOX09DVF9NRVRIT0RERUYgICAgXAorICAgIHsib2N0IiwgKFB5Q0Z1bmN0aW9uKWJ1aWx0aW5fb2N0LCBNRVRIX08sIGJ1aWx0aW5fb2N0X19kb2NfX30sCisKIHN0YXRpYyBQeU9iamVjdCAqCi1idWlsdGluX29jdChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnYpCitidWlsdGluX29jdChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqbnVtYmVyKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWI5OTIzNGQxZDcwYTY2NzMgaW5wdXQ9YTNhMzcyYjUyMWIzZGQxM10qLwogewotICAgIHJldHVybiBQeU51bWJlcl9Ub0Jhc2UodiwgOCk7CisgICAgcmV0dXJuIFB5TnVtYmVyX1RvQmFzZShudW1iZXIsIDgpOwogfQogCi1QeURvY19TVFJWQVIob2N0X2RvYywKLSJvY3QobnVtYmVyKSAtPiBzdHJpbmdcblwKLVxuXAotUmV0dXJuIHRoZSBvY3RhbCByZXByZXNlbnRhdGlvbiBvZiBhbiBpbnRlZ2VyLlxuXAotXG5cCi0gICA+Pj4gb2N0KDM0MjM5MSlcblwKLSAgICcwbzEyMzQ1NjcnXG5cCi0iKTsKIAorLypbY2xpbmljIGlucHV0XQorb3JkIGFzIGJ1aWx0aW5fb3JkCisKKyAgICBjOiAnTycKKyAgICAvCisKK1JldHVybiB0aGUgVW5pY29kZSBjb2RlIHBvaW50IGZvciBhIG9uZS1jaGFyYWN0ZXIgc3RyaW5nLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnVpbHRpbl9vcmRfX2RvY19fLAorIm9yZCgkbW9kdWxlLCBjLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSBVbmljb2RlIGNvZGUgcG9pbnQgZm9yIGEgb25lLWNoYXJhY3RlciBzdHJpbmcuIik7CisKKyNkZWZpbmUgQlVJTFRJTl9PUkRfTUVUSE9EREVGICAgIFwKKyAgICB7Im9yZCIsIChQeUNGdW5jdGlvbilidWlsdGluX29yZCwgTUVUSF9PLCBidWlsdGluX29yZF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotYnVpbHRpbl9vcmQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0KiBvYmopCitidWlsdGluX29yZChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1hODQ2NmQyM2JkNzZkYjNmIGlucHV0PTc2MjM1NWY4NzQ1MWVmYTNdKi8KIHsKICAgICBsb25nIG9yZDsKICAgICBQeV9zc2l6ZV90IHNpemU7CiAKLSAgICBpZiAoUHlCeXRlc19DaGVjayhvYmopKSB7Ci0gICAgICAgIHNpemUgPSBQeUJ5dGVzX0dFVF9TSVpFKG9iaik7CisgICAgaWYgKFB5Qnl0ZXNfQ2hlY2soYykpIHsKKyAgICAgICAgc2l6ZSA9IFB5Qnl0ZXNfR0VUX1NJWkUoYyk7CiAgICAgICAgIGlmIChzaXplID09IDEpIHsKLSAgICAgICAgICAgIG9yZCA9IChsb25nKSgodW5zaWduZWQgY2hhcikqUHlCeXRlc19BU19TVFJJTkcob2JqKSk7CisgICAgICAgICAgICBvcmQgPSAobG9uZykoKHVuc2lnbmVkIGNoYXIpKlB5Qnl0ZXNfQVNfU1RSSU5HKGMpKTsKICAgICAgICAgICAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmcob3JkKTsKICAgICAgICAgfQogICAgIH0KLSAgICBlbHNlIGlmIChQeVVuaWNvZGVfQ2hlY2sob2JqKSkgewotICAgICAgICBpZiAoUHlVbmljb2RlX1JFQURZKG9iaikgPT0gLTEpCisgICAgZWxzZSBpZiAoUHlVbmljb2RlX0NoZWNrKGMpKSB7CisgICAgICAgIGlmIChQeVVuaWNvZGVfUkVBRFkoYykgPT0gLTEpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgc2l6ZSA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKG9iaik7CisgICAgICAgIHNpemUgPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChjKTsKICAgICAgICAgaWYgKHNpemUgPT0gMSkgewotICAgICAgICAgICAgb3JkID0gKGxvbmcpUHlVbmljb2RlX1JFQURfQ0hBUihvYmosIDApOworICAgICAgICAgICAgb3JkID0gKGxvbmcpUHlVbmljb2RlX1JFQURfQ0hBUihjLCAwKTsKICAgICAgICAgICAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmcob3JkKTsKICAgICAgICAgfQogICAgIH0KLSAgICBlbHNlIGlmIChQeUJ5dGVBcnJheV9DaGVjayhvYmopKSB7CisgICAgZWxzZSBpZiAoUHlCeXRlQXJyYXlfQ2hlY2soYykpIHsKICAgICAgICAgLyogWFhYIEhvcGVmdWxseSB0aGlzIGlzIHRlbXBvcmFyeSAqLwotICAgICAgICBzaXplID0gUHlCeXRlQXJyYXlfR0VUX1NJWkUob2JqKTsKKyAgICAgICAgc2l6ZSA9IFB5Qnl0ZUFycmF5X0dFVF9TSVpFKGMpOwogICAgICAgICBpZiAoc2l6ZSA9PSAxKSB7Ci0gICAgICAgICAgICBvcmQgPSAobG9uZykoKHVuc2lnbmVkIGNoYXIpKlB5Qnl0ZUFycmF5X0FTX1NUUklORyhvYmopKTsKKyAgICAgICAgICAgIG9yZCA9IChsb25nKSgodW5zaWduZWQgY2hhcikqUHlCeXRlQXJyYXlfQVNfU1RSSU5HKGMpKTsKICAgICAgICAgICAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmcob3JkKTsKICAgICAgICAgfQogICAgIH0KICAgICBlbHNlIHsKICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICJvcmQoKSBleHBlY3RlZCBzdHJpbmcgb2YgbGVuZ3RoIDEsIGJ1dCAiIFwKLSAgICAgICAgICAgICAgICAgICAgICIlLjIwMHMgZm91bmQiLCBvYmotPm9iX3R5cGUtPnRwX25hbWUpOworICAgICAgICAgICAgICAgICAgICAgIiUuMjAwcyBmb3VuZCIsIGMtPm9iX3R5cGUtPnRwX25hbWUpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKQEAgLTE1NDcsMzEgKzIxMzcsNjMgQEAKICAgICByZXR1cm4gTlVMTDsKIH0KIAotUHlEb2NfVkFSKG9yZF9kb2MpID0gUHlEb2NfU1RSKAotIm9yZChjKSAtPiBpbnRlZ2VyXG5cCi1cblwKLVJldHVybiB0aGUgaW50ZWdlciBvcmRpbmFsIG9mIGEgb25lLWNoYXJhY3RlciBzdHJpbmcuIgotKTsKIAorLypbY2xpbmljIGlucHV0XQorcG93IGFzIGJ1aWx0aW5fcG93CisKKyAgICB4OiAnTycKKyAgICB5OiAnTycKKyAgICB6OiAnTycgPSBOb25lCisgICAgLworCitFcXVpdmFsZW50IHRvIHgqKnkgKHdpdGggdHdvIGFyZ3VtZW50cykgb3IgeCoqeSAlIHogKHdpdGggdGhyZWUgYXJndW1lbnRzKQorCitTb21lIHR5cGVzLCBzdWNoIGFzIGludHMsIGFyZSBhYmxlIHRvIHVzZSBhIG1vcmUgZWZmaWNpZW50IGFsZ29yaXRobSB3aGVuCitpbnZva2VkIHVzaW5nIHRoZSB0aHJlZSBhcmd1bWVudCBmb3JtLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnVpbHRpbl9wb3dfX2RvY19fLAorInBvdygkbW9kdWxlLCB4LCB5LCB6PU5vbmUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJFcXVpdmFsZW50IHRvIHgqKnkgKHdpdGggdHdvIGFyZ3VtZW50cykgb3IgeCoqeSAlIHogKHdpdGggdGhyZWUgYXJndW1lbnRzKVxuIgorIlxuIgorIlNvbWUgdHlwZXMsIHN1Y2ggYXMgaW50cywgYXJlIGFibGUgdG8gdXNlIGEgbW9yZSBlZmZpY2llbnQgYWxnb3JpdGhtIHdoZW5cbiIKKyJpbnZva2VkIHVzaW5nIHRoZSB0aHJlZSBhcmd1bWVudCBmb3JtLiIpOworCisjZGVmaW5lIEJVSUxUSU5fUE9XX01FVEhPRERFRiAgICBcCisgICAgeyJwb3ciLCAoUHlDRnVuY3Rpb24pYnVpbHRpbl9wb3csIE1FVEhfVkFSQVJHUywgYnVpbHRpbl9wb3dfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLWJ1aWx0aW5fcG93KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKLXsKLSAgICBQeU9iamVjdCAqdiwgKncsICp6ID0gUHlfTm9uZTsKK2J1aWx0aW5fcG93X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKngsIFB5T2JqZWN0ICp5LCBQeU9iamVjdCAqeik7CiAKLSAgICBpZiAoIVB5QXJnX1VucGFja1R1cGxlKGFyZ3MsICJwb3ciLCAyLCAzLCAmdiwgJncsICZ6KSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgcmV0dXJuIFB5TnVtYmVyX1Bvd2VyKHYsIHcsIHopOworc3RhdGljIFB5T2JqZWN0ICoKK2J1aWx0aW5fcG93KFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5T2JqZWN0ICp4OworICAgIFB5T2JqZWN0ICp5OworICAgIFB5T2JqZWN0ICp6ID0gUHlfTm9uZTsKKworICAgIGlmICghUHlBcmdfVW5wYWNrVHVwbGUoYXJncywgInBvdyIsCisgICAgICAgIDIsIDMsCisgICAgICAgICZ4LCAmeSwgJnopKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYnVpbHRpbl9wb3dfaW1wbChtb2R1bGUsIHgsIHksIHopOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7CiB9CiAKLVB5RG9jX1NUUlZBUihwb3dfZG9jLAotInBvdyh4LCB5Wywgel0pIC0+IG51bWJlclxuXAotXG5cCi1XaXRoIHR3byBhcmd1bWVudHMsIGVxdWl2YWxlbnQgdG8geCoqeS4gIFdpdGggdGhyZWUgYXJndW1lbnRzLFxuXAotZXF1aXZhbGVudCB0byAoeCoqeSkgJSB6LCBidXQgbWF5IGJlIG1vcmUgZWZmaWNpZW50IChlLmcuIGZvciBpbnRzKS4iKTsKK3N0YXRpYyBQeU9iamVjdCAqCitidWlsdGluX3Bvd19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICp4LCBQeU9iamVjdCAqeSwgUHlPYmplY3QgKnopCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZDBjZGYzMTQzMTFkZWRiYSBpbnB1dD01NjFhOTQyZDVmNWMxODk5XSovCit7CisgICAgcmV0dXJuIFB5TnVtYmVyX1Bvd2VyKHgsIHksIHopOworfQogCiAKLQorLyogQUM6IGNhbm5vdCBjb252ZXJ0IHlldCwgd2FpdGluZyBmb3IgKmFyZ3Mgc3VwcG9ydCAqLwogc3RhdGljIFB5T2JqZWN0ICoKIGJ1aWx0aW5fcHJpbnQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKIHsKQEAgLTE2NjcsMTAgKzIyODksNTkgQEAKIGZsdXNoOiB3aGV0aGVyIHRvIGZvcmNpYmx5IGZsdXNoIHRoZSBzdHJlYW0uIik7CiAKIAorLypbY2xpbmljIGlucHV0XQoraW5wdXQgYXMgYnVpbHRpbl9pbnB1dAorCisgICAgcHJvbXB0OiBvYmplY3QoY19kZWZhdWx0PSJOVUxMIikgPSBOb25lCisgICAgLworCitSZWFkIGEgc3RyaW5nIGZyb20gc3RhbmRhcmQgaW5wdXQuICBUaGUgdHJhaWxpbmcgbmV3bGluZSBpcyBzdHJpcHBlZC4KKworVGhlIHByb21wdCBzdHJpbmcsIGlmIGdpdmVuLCBpcyBwcmludGVkIHRvIHN0YW5kYXJkIG91dHB1dCB3aXRob3V0IGEKK3RyYWlsaW5nIG5ld2xpbmUgYmVmb3JlIHJlYWRpbmcgaW5wdXQuCisKK0lmIHRoZSB1c2VyIGhpdHMgRU9GICgqbml4OiBDdHJsLUQsIFdpbmRvd3M6IEN0cmwtWitSZXR1cm4pLCByYWlzZSBFT0ZFcnJvci4KK09uICpuaXggc3lzdGVtcywgcmVhZGxpbmUgaXMgdXNlZCBpZiBhdmFpbGFibGUuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihidWlsdGluX2lucHV0X19kb2NfXywKKyJpbnB1dCgkbW9kdWxlLCBwcm9tcHQ9Tm9uZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJlYWQgYSBzdHJpbmcgZnJvbSBzdGFuZGFyZCBpbnB1dC4gIFRoZSB0cmFpbGluZyBuZXdsaW5lIGlzIHN0cmlwcGVkLlxuIgorIlxuIgorIlRoZSBwcm9tcHQgc3RyaW5nLCBpZiBnaXZlbiwgaXMgcHJpbnRlZCB0byBzdGFuZGFyZCBvdXRwdXQgd2l0aG91dCBhXG4iCisidHJhaWxpbmcgbmV3bGluZSBiZWZvcmUgcmVhZGluZyBpbnB1dC5cbiIKKyJcbiIKKyJJZiB0aGUgdXNlciBoaXRzIEVPRiAoKm5peDogQ3RybC1ELCBXaW5kb3dzOiBDdHJsLVorUmV0dXJuKSwgcmFpc2UgRU9GRXJyb3IuXG4iCisiT24gKm5peCBzeXN0ZW1zLCByZWFkbGluZSBpcyB1c2VkIGlmIGF2YWlsYWJsZS4iKTsKKworI2RlZmluZSBCVUlMVElOX0lOUFVUX01FVEhPRERFRiAgICBcCisgICAgeyJpbnB1dCIsIChQeUNGdW5jdGlvbilidWlsdGluX2lucHV0LCBNRVRIX1ZBUkFSR1MsIGJ1aWx0aW5faW5wdXRfX2RvY19ffSwKKwogc3RhdGljIFB5T2JqZWN0ICoKLWJ1aWx0aW5faW5wdXQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorYnVpbHRpbl9pbnB1dF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpwcm9tcHQpOworCitzdGF0aWMgUHlPYmplY3QgKgorYnVpbHRpbl9pbnB1dChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBQeU9iamVjdCAqcHJvbXB0YXJnID0gTlVMTDsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeU9iamVjdCAqcHJvbXB0ID0gTlVMTDsKKworICAgIGlmICghUHlBcmdfVW5wYWNrVHVwbGUoYXJncywgImlucHV0IiwKKyAgICAgICAgMCwgMSwKKyAgICAgICAgJnByb21wdCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBidWlsdGluX2lucHV0X2ltcGwobW9kdWxlLCBwcm9tcHQpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitidWlsdGluX2lucHV0X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKnByb21wdCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD02OTMyM2JmNTY5NWY3YzljIGlucHV0PTVlOGJiNzBjMjkwOGZlM2NdKi8KK3sKICAgICBQeU9iamVjdCAqZmluID0gX1B5U3lzX0dldE9iamVjdElkKCZQeUlkX3N0ZGluKTsKICAgICBQeU9iamVjdCAqZm91dCA9IF9QeVN5c19HZXRPYmplY3RJZCgmUHlJZF9zdGRvdXQpOwogICAgIFB5T2JqZWN0ICpmZXJyID0gX1B5U3lzX0dldE9iamVjdElkKCZQeUlkX3N0ZGVycik7CkBAIC0xNjc4LDEwICsyMzQ5LDYgQEAKICAgICBsb25nIGZkOwogICAgIGludCB0dHk7CiAKLSAgICAvKiBQYXJzZSBhcmd1bWVudHMgKi8KLSAgICBpZiAoIVB5QXJnX1VucGFja1R1cGxlKGFyZ3MsICJpbnB1dCIsIDAsIDEsICZwcm9tcHRhcmcpKQotICAgICAgICByZXR1cm4gTlVMTDsKLQogICAgIC8qIENoZWNrIHRoYXQgc3RkaW4vb3V0L2VyciBhcmUgaW50YWN0ICovCiAgICAgaWYgKGZpbiA9PSBOVUxMIHx8IGZpbiA9PSBQeV9Ob25lKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19SdW50aW1lRXJyb3IsCkBAIC0xNzM3LDcgKzI0MDQsNyBAQAogICAgIC8qIElmIHdlJ3JlIGludGVyYWN0aXZlLCB1c2UgKEdOVSkgcmVhZGxpbmUgKi8KICAgICBpZiAodHR5KSB7CiAgICAgICAgIFB5T2JqZWN0ICpwbyA9IE5VTEw7Ci0gICAgICAgIGNoYXIgKnByb21wdDsKKyAgICAgICAgY2hhciAqcHJvbXB0c3RyOwogICAgICAgICBjaGFyICpzID0gTlVMTDsKICAgICAgICAgUHlPYmplY3QgKnN0ZGluX2VuY29kaW5nID0gTlVMTCwgKnN0ZGluX2Vycm9ycyA9IE5VTEw7CiAgICAgICAgIFB5T2JqZWN0ICpzdGRvdXRfZW5jb2RpbmcgPSBOVUxMLCAqc3Rkb3V0X2Vycm9ycyA9IE5VTEw7CkBAIC0xNzYwLDcgKzI0MjcsNyBAQAogICAgICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgUHlfREVDUkVGKHRtcCk7Ci0gICAgICAgIGlmIChwcm9tcHRhcmcgIT0gTlVMTCkgeworICAgICAgICBpZiAocHJvbXB0ICE9IE5VTEwpIHsKICAgICAgICAgICAgIC8qIFdlIGhhdmUgYSBwcm9tcHQsIGVuY29kZSBpdCBhcyBzdGRvdXQgd291bGQgKi8KICAgICAgICAgICAgIGNoYXIgKnN0ZG91dF9lbmNvZGluZ19zdHIsICpzdGRvdXRfZXJyb3JzX3N0cjsKICAgICAgICAgICAgIFB5T2JqZWN0ICpzdHJpbmdwbzsKQEAgLTE3NzIsNyArMjQzOSw3IEBACiAgICAgICAgICAgICBzdGRvdXRfZXJyb3JzX3N0ciA9IF9QeVVuaWNvZGVfQXNTdHJpbmcoc3Rkb3V0X2Vycm9ycyk7CiAgICAgICAgICAgICBpZiAoIXN0ZG91dF9lbmNvZGluZ19zdHIgfHwgIXN0ZG91dF9lcnJvcnNfc3RyKQogICAgICAgICAgICAgICAgIGdvdG8gX3JlYWRsaW5lX2Vycm9yczsKLSAgICAgICAgICAgIHN0cmluZ3BvID0gUHlPYmplY3RfU3RyKHByb21wdGFyZyk7CisgICAgICAgICAgICBzdHJpbmdwbyA9IFB5T2JqZWN0X1N0cihwcm9tcHQpOwogICAgICAgICAgICAgaWYgKHN0cmluZ3BvID09IE5VTEwpCiAgICAgICAgICAgICAgICAgZ290byBfcmVhZGxpbmVfZXJyb3JzOwogICAgICAgICAgICAgcG8gPSBQeVVuaWNvZGVfQXNFbmNvZGVkU3RyaW5nKHN0cmluZ3BvLApAQCAtMTc4MiwxNSArMjQ0OSwxNSBAQAogICAgICAgICAgICAgUHlfQ0xFQVIoc3RyaW5ncG8pOwogICAgICAgICAgICAgaWYgKHBvID09IE5VTEwpCiAgICAgICAgICAgICAgICAgZ290byBfcmVhZGxpbmVfZXJyb3JzOwotICAgICAgICAgICAgcHJvbXB0ID0gUHlCeXRlc19Bc1N0cmluZyhwbyk7Ci0gICAgICAgICAgICBpZiAocHJvbXB0ID09IE5VTEwpCisgICAgICAgICAgICBwcm9tcHRzdHIgPSBQeUJ5dGVzX0FzU3RyaW5nKHBvKTsKKyAgICAgICAgICAgIGlmIChwcm9tcHRzdHIgPT0gTlVMTCkKICAgICAgICAgICAgICAgICBnb3RvIF9yZWFkbGluZV9lcnJvcnM7CiAgICAgICAgIH0KICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICBwbyA9IE5VTEw7Ci0gICAgICAgICAgICBwcm9tcHQgPSAiIjsKKyAgICAgICAgICAgIHByb21wdHN0ciA9ICIiOwogICAgICAgICB9Ci0gICAgICAgIHMgPSBQeU9TX1JlYWRsaW5lKHN0ZGluLCBzdGRvdXQsIHByb21wdCk7CisgICAgICAgIHMgPSBQeU9TX1JlYWRsaW5lKHN0ZGluLCBzdGRvdXQsIHByb21wdHN0cik7CiAgICAgICAgIGlmIChzID09IE5VTEwpIHsKICAgICAgICAgICAgIFB5RXJyX0NoZWNrU2lnbmFscygpOwogICAgICAgICAgICAgaWYgKCFQeUVycl9PY2N1cnJlZCgpKQpAQCAtMTgzMiw4ICsyNDk5LDggQEAKICAgICB9CiAKICAgICAvKiBGYWxsYmFjayBpZiB3ZSdyZSBub3QgaW50ZXJhY3RpdmUgKi8KLSAgICBpZiAocHJvbXB0YXJnICE9IE5VTEwpIHsKLSAgICAgICAgaWYgKFB5RmlsZV9Xcml0ZU9iamVjdChwcm9tcHRhcmcsIGZvdXQsIFB5X1BSSU5UX1JBVykgIT0gMCkKKyAgICBpZiAocHJvbXB0ICE9IE5VTEwpIHsKKyAgICAgICAgaWYgKFB5RmlsZV9Xcml0ZU9iamVjdChwcm9tcHQsIGZvdXQsIFB5X1BSSU5UX1JBVykgIT0gMCkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KICAgICB0bXAgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKGZvdXQsICZQeUlkX2ZsdXNoLCAiIik7CkBAIC0xODQ0LDI4ICsyNTExLDQwIEBACiAgICAgcmV0dXJuIFB5RmlsZV9HZXRMaW5lKGZpbiwgLTEpOwogfQogCi1QeURvY19TVFJWQVIoaW5wdXRfZG9jLAotImlucHV0KFtwcm9tcHRdKSAtPiBzdHJpbmdcblwKLVxuXAotUmVhZCBhIHN0cmluZyBmcm9tIHN0YW5kYXJkIGlucHV0LiAgVGhlIHRyYWlsaW5nIG5ld2xpbmUgaXMgc3RyaXBwZWQuXG5cCi1JZiB0aGUgdXNlciBoaXRzIEVPRiAoVW5peDogQ3RsLUQsIFdpbmRvd3M6IEN0bC1aK1JldHVybiksIHJhaXNlIEVPRkVycm9yLlxuXAotT24gVW5peCwgR05VIHJlYWRsaW5lIGlzIHVzZWQgaWYgZW5hYmxlZC4gIFRoZSBwcm9tcHQgc3RyaW5nLCBpZiBnaXZlbixcblwKLWlzIHByaW50ZWQgd2l0aG91dCBhIHRyYWlsaW5nIG5ld2xpbmUgYmVmb3JlIHJlYWRpbmcuIik7CiAKKy8qW2NsaW5pYyBpbnB1dF0KK3JlcHIgYXMgYnVpbHRpbl9yZXByCisKKyAgICBvYmo6ICdPJworICAgIC8KKworUmV0dXJuIHRoZSBjYW5vbmljYWwgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBvYmplY3QuCisKK0ZvciBtYW55IG9iamVjdCB0eXBlcywgaW5jbHVkaW5nIG1vc3QgYnVpbHRpbnMsIGV2YWwocmVwcihvYmopKSA9PSBvYmouCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihidWlsdGluX3JlcHJfX2RvY19fLAorInJlcHIoJG1vZHVsZSwgb2JqLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSBjYW5vbmljYWwgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBvYmplY3QuXG4iCisiXG4iCisiRm9yIG1hbnkgb2JqZWN0IHR5cGVzLCBpbmNsdWRpbmcgbW9zdCBidWlsdGlucywgZXZhbChyZXByKG9iaikpID09IG9iai4iKTsKKworI2RlZmluZSBCVUlMVElOX1JFUFJfTUVUSE9EREVGICAgIFwKKyAgICB7InJlcHIiLCAoUHlDRnVuY3Rpb24pYnVpbHRpbl9yZXByLCBNRVRIX08sIGJ1aWx0aW5fcmVwcl9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotYnVpbHRpbl9yZXByKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdikKK2J1aWx0aW5fcmVwcihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqb2JqKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTk4ODk4MDEyMGYzOWUyZmEgaW5wdXQ9YTJiY2EwZjM4YTVhOTI0ZF0qLwogewotICAgIHJldHVybiBQeU9iamVjdF9SZXByKHYpOworICAgIHJldHVybiBQeU9iamVjdF9SZXByKG9iaik7CiB9CiAKLVB5RG9jX1NUUlZBUihyZXByX2RvYywKLSJyZXByKG9iamVjdCkgLT4gc3RyaW5nXG5cCi1cblwKLVJldHVybiB0aGUgY2Fub25pY2FsIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgb2JqZWN0LlxuXAotRm9yIG1vc3Qgb2JqZWN0IHR5cGVzLCBldmFsKHJlcHIob2JqZWN0KSkgPT0gb2JqZWN0LiIpOwogCi0KKy8qIEFDOiBjYW5ub3QgY29udmVydCB5ZXQsIGFzIG5lZWRzIFBFUCA0NTcgZ3JvdXAgc3VwcG9ydCBpbiBpbnNwZWN0CisgKiAgICAgb3IgYSBzZW1hbnRpYyBjaGFuZ2UgdG8gYWNjZXB0IE5vbmUgZm9yICJuZGlnaXRzIgorICovCiBzdGF0aWMgUHlPYmplY3QgKgogYnVpbHRpbl9yb3VuZChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQogewpAQCAtMTkwNyw2ICsyNTg2LDM1IEBACiBzYW1lIHR5cGUgYXMgdGhlIG51bWJlci4gbmRpZ2l0cyBtYXkgYmUgbmVnYXRpdmUuIik7CiAKIAorLypBQzogd2UgbmVlZCB0byBrZWVwIHRoZSBrd2RzIGRpY3QgaW50YWN0IHRvIGVhc2lseSBjYWxsIGludG8gdGhlCisgKiBsaXN0LnNvcnQgbWV0aG9kLCB3aGljaCBpc24ndCBjdXJyZW50bHkgc3VwcG9ydGVkIGluIEFDLiBTbyB3ZSBqdXN0IHVzZQorICogdGhlIGluaXRpYWxseSBnZW5lcmF0ZWQgc2lnbmF0dXJlIHdpdGggYSBjdXN0b20gaW1wbGVtZW50YXRpb24uCisgKi8KKy8qIFtkaXNhYmxlZCBjbGluaWMgaW5wdXRdCitzb3J0ZWQgYXMgYnVpbHRpbl9zb3J0ZWQKKworICAgIGl0ZXJhYmxlIGFzIHNlcTogJ08nCisgICAga2V5IGFzIGtleWZ1bmM6ICdPJyA9IE5vbmUKKyAgICByZXZlcnNlOiAnTycgPSBGYWxzZQorCitSZXR1cm4gYSBuZXcgbGlzdCBjb250YWluaW5nIGFsbCBpdGVtcyBmcm9tIHRoZSBpdGVyYWJsZSBpbiBhc2NlbmRpbmcgb3JkZXIuCisKK0EgY3VzdG9tIGtleSBmdW5jdGlvbiBjYW4gYmUgc3VwcGxpZWQgdG8gY3VzdG9taXNlIHRoZSBzb3J0IG9yZGVyLCBhbmQgdGhlCityZXZlcnNlIGZsYWcgY2FuIGJlIHNldCB0byByZXF1ZXN0IHRoZSByZXN1bHQgaW4gZGVzY2VuZGluZyBvcmRlci4KK1tlbmQgZGlzYWJsZWQgY2xpbmljIGlucHV0XSovCisKK1B5RG9jX1NUUlZBUihidWlsdGluX3NvcnRlZF9fZG9jX18sCisic29ydGVkKCRtb2R1bGUsIGl0ZXJhYmxlLCBrZXk9Tm9uZSwgcmV2ZXJzZT1GYWxzZSlcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBhIG5ldyBsaXN0IGNvbnRhaW5pbmcgYWxsIGl0ZW1zIGZyb20gdGhlIGl0ZXJhYmxlIGluIGFzY2VuZGluZyBvcmRlci5cbiIKKyJcbiIKKyJBIGN1c3RvbSBrZXkgZnVuY3Rpb24gY2FuIGJlIHN1cHBsaWVkIHRvIGN1c3RvbWlzZSB0aGUgc29ydCBvcmRlciwgYW5kIHRoZVxuIgorInJldmVyc2UgZmxhZyBjYW4gYmUgc2V0IHRvIHJlcXVlc3QgdGhlIHJlc3VsdCBpbiBkZXNjZW5kaW5nIG9yZGVyLiIpOworCisjZGVmaW5lIEJVSUxUSU5fU09SVEVEX01FVEhPRERFRiAgICBcCisgICAgeyJzb3J0ZWQiLCAoUHlDRnVuY3Rpb24pYnVpbHRpbl9zb3J0ZWQsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBidWlsdGluX3NvcnRlZF9fZG9jX199LAorCiBzdGF0aWMgUHlPYmplY3QgKgogYnVpbHRpbl9zb3J0ZWQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKIHsKQEAgLTE5NDgsOSArMjY1Niw4IEBACiAgICAgcmV0dXJuIG5ld2xpc3Q7CiB9CiAKLVB5RG9jX1NUUlZBUihzb3J0ZWRfZG9jLAotInNvcnRlZChpdGVyYWJsZSwga2V5PU5vbmUsIHJldmVyc2U9RmFsc2UpIC0tPiBuZXcgc29ydGVkIGxpc3QiKTsKIAorLyogQUM6IGNhbm5vdCBjb252ZXJ0IHlldCwgYXMgbmVlZHMgUEVQIDQ1NyBncm91cCBzdXBwb3J0IGluIGluc3BlY3QgKi8KIHN0YXRpYyBQeU9iamVjdCAqCiBidWlsdGluX3ZhcnMoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewpAQCAtMTk4MiwxNyArMjY4OSw2MiBAQAogV2l0aG91dCBhcmd1bWVudHMsIGVxdWl2YWxlbnQgdG8gbG9jYWxzKCkuXG5cCiBXaXRoIGFuIGFyZ3VtZW50LCBlcXVpdmFsZW50IHRvIG9iamVjdC5fX2RpY3RfXy4iKTsKIAotc3RhdGljIFB5T2JqZWN0KgotYnVpbHRpbl9zdW0oUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorCisvKltjbGluaWMgaW5wdXRdCitzdW0gYXMgYnVpbHRpbl9zdW0KKworICAgIGl0ZXJhYmxlOiAnTycKKyAgICBzdGFydDogb2JqZWN0KGNfZGVmYXVsdD0iTlVMTCIpID0gMAorICAgIC8KKworUmV0dXJuIHRoZSBzdW0gb2YgYSAnc3RhcnQnIHZhbHVlIChkZWZhdWx0OiAwKSBwbHVzIGFuIGl0ZXJhYmxlIG9mIG51bWJlcnMKKworV2hlbiB0aGUgaXRlcmFibGUgaXMgZW1wdHksIHJldHVybiB0aGUgc3RhcnQgdmFsdWUuCitUaGlzIGZ1bmN0aW9uIGlzIGludGVuZGVkIHNwZWNpZmljYWxseSBmb3IgdXNlIHdpdGggbnVtZXJpYyB2YWx1ZXMgYW5kIG1heQorcmVqZWN0IG5vbi1udW1lcmljIHR5cGVzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnVpbHRpbl9zdW1fX2RvY19fLAorInN1bSgkbW9kdWxlLCBpdGVyYWJsZSwgc3RhcnQ9MCwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgc3VtIG9mIGEgXCdzdGFydFwnIHZhbHVlIChkZWZhdWx0OiAwKSBwbHVzIGFuIGl0ZXJhYmxlIG9mIG51bWJlcnNcbiIKKyJcbiIKKyJXaGVuIHRoZSBpdGVyYWJsZSBpcyBlbXB0eSwgcmV0dXJuIHRoZSBzdGFydCB2YWx1ZS5cbiIKKyJUaGlzIGZ1bmN0aW9uIGlzIGludGVuZGVkIHNwZWNpZmljYWxseSBmb3IgdXNlIHdpdGggbnVtZXJpYyB2YWx1ZXMgYW5kIG1heVxuIgorInJlamVjdCBub24tbnVtZXJpYyB0eXBlcy4iKTsKKworI2RlZmluZSBCVUlMVElOX1NVTV9NRVRIT0RERUYgICAgXAorICAgIHsic3VtIiwgKFB5Q0Z1bmN0aW9uKWJ1aWx0aW5fc3VtLCBNRVRIX1ZBUkFSR1MsIGJ1aWx0aW5fc3VtX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitidWlsdGluX3N1bV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICppdGVyYWJsZSwgUHlPYmplY3QgKnN0YXJ0KTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2J1aWx0aW5fc3VtKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogewotICAgIFB5T2JqZWN0ICpzZXE7Ci0gICAgUHlPYmplY3QgKnJlc3VsdCA9IE5VTEw7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlPYmplY3QgKml0ZXJhYmxlOworICAgIFB5T2JqZWN0ICpzdGFydCA9IE5VTEw7CisKKyAgICBpZiAoIVB5QXJnX1VucGFja1R1cGxlKGFyZ3MsICJzdW0iLAorICAgICAgICAxLCAyLAorICAgICAgICAmaXRlcmFibGUsICZzdGFydCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBidWlsdGluX3N1bV9pbXBsKG1vZHVsZSwgaXRlcmFibGUsIHN0YXJ0KTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorYnVpbHRpbl9zdW1faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqaXRlcmFibGUsIFB5T2JqZWN0ICpzdGFydCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1iNDI2NTJhMGQ1ZjY0ZjZiIGlucHV0PTkwYWU3YTI0MmNmY2YwMjVdKi8KK3sKKyAgICBQeU9iamVjdCAqcmVzdWx0ID0gc3RhcnQ7CiAgICAgUHlPYmplY3QgKnRlbXAsICppdGVtLCAqaXRlcjsKIAotICAgIGlmICghUHlBcmdfVW5wYWNrVHVwbGUoYXJncywgInN1bSIsIDEsIDIsICZzZXEsICZyZXN1bHQpKQotICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIGl0ZXIgPSBQeU9iamVjdF9HZXRJdGVyKHNlcSk7CisgICAgaXRlciA9IFB5T2JqZWN0X0dldEl0ZXIoaXRlcmFibGUpOwogICAgIGlmIChpdGVyID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwogCkBAIC0yMDIyLDcgKzI3NzQsNiBAQAogICAgICAgICAgICAgUHlfREVDUkVGKGl0ZXIpOwogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIH0KLQogICAgICAgICBQeV9JTkNSRUYocmVzdWx0KTsKICAgICB9CiAKQEAgLTIxNDgsNjIgKzI4OTksMTI2IEBACiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotUHlEb2NfU1RSVkFSKHN1bV9kb2MsCi0ic3VtKGl0ZXJhYmxlWywgc3RhcnRdKSAtPiB2YWx1ZVxuXAotXG5cCi1SZXR1cm4gdGhlIHN1bSBvZiBhbiBpdGVyYWJsZSBvZiBudW1iZXJzIChOT1Qgc3RyaW5ncykgcGx1cyB0aGUgdmFsdWVcblwKLW9mIHBhcmFtZXRlciAnc3RhcnQnICh3aGljaCBkZWZhdWx0cyB0byAwKS4gIFdoZW4gdGhlIGl0ZXJhYmxlIGlzXG5cCi1lbXB0eSwgcmV0dXJuIHN0YXJ0LiIpOwogCisvKltjbGluaWMgaW5wdXRdCitpc2luc3RhbmNlIGFzIGJ1aWx0aW5faXNpbnN0YW5jZQorCisgICAgb2JqOiAnTycKKyAgICBjbGFzc19vcl90dXBsZTogJ08nCisgICAgLworCitSZXR1cm4gd2hldGhlciBhbiBvYmplY3QgaXMgYW4gaW5zdGFuY2Ugb2YgYSBjbGFzcyBvciBvZiBhIHN1YmNsYXNzIHRoZXJlb2YuCisKK0EgdHVwbGUsIGFzIGluIGBgaXNpbnN0YW5jZSh4LCAoQSwgQiwgLi4uKSlgYCwgbWF5IGJlIGdpdmVuIGFzIHRoZSB0YXJnZXQgdG8KK2NoZWNrIGFnYWluc3QuIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYGlzaW5zdGFuY2UoeCwgQSkgb3IgaXNpbnN0YW5jZSh4LCBCKQorb3IgLi4uYGAgZXRjLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnVpbHRpbl9pc2luc3RhbmNlX19kb2NfXywKKyJpc2luc3RhbmNlKCRtb2R1bGUsIG9iaiwgY2xhc3Nfb3JfdHVwbGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gd2hldGhlciBhbiBvYmplY3QgaXMgYW4gaW5zdGFuY2Ugb2YgYSBjbGFzcyBvciBvZiBhIHN1YmNsYXNzIHRoZXJlb2YuXG4iCisiXG4iCisiQSB0dXBsZSwgYXMgaW4gYGBpc2luc3RhbmNlKHgsIChBLCBCLCAuLi4pKWBgLCBtYXkgYmUgZ2l2ZW4gYXMgdGhlIHRhcmdldCB0b1xuIgorImNoZWNrIGFnYWluc3QuIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYGlzaW5zdGFuY2UoeCwgQSkgb3IgaXNpbnN0YW5jZSh4LCBCKVxuIgorIm9yIC4uLmBgIGV0Yy4iKTsKKworI2RlZmluZSBCVUlMVElOX0lTSU5TVEFOQ0VfTUVUSE9EREVGICAgIFwKKyAgICB7ImlzaW5zdGFuY2UiLCAoUHlDRnVuY3Rpb24pYnVpbHRpbl9pc2luc3RhbmNlLCBNRVRIX1ZBUkFSR1MsIGJ1aWx0aW5faXNpbnN0YW5jZV9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotYnVpbHRpbl9pc2luc3RhbmNlKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK2J1aWx0aW5faXNpbnN0YW5jZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpvYmosIFB5T2JqZWN0ICpjbGFzc19vcl90dXBsZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitidWlsdGluX2lzaW5zdGFuY2UoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgUHlPYmplY3QgKmluc3Q7Ci0gICAgUHlPYmplY3QgKmNsczsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeU9iamVjdCAqb2JqOworICAgIFB5T2JqZWN0ICpjbGFzc19vcl90dXBsZTsKKworICAgIGlmICghUHlBcmdfVW5wYWNrVHVwbGUoYXJncywgImlzaW5zdGFuY2UiLAorICAgICAgICAyLCAyLAorICAgICAgICAmb2JqLCAmY2xhc3Nfb3JfdHVwbGUpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYnVpbHRpbl9pc2luc3RhbmNlX2ltcGwobW9kdWxlLCBvYmosIGNsYXNzX29yX3R1cGxlKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorYnVpbHRpbl9pc2luc3RhbmNlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKm9iaiwgUHlPYmplY3QgKmNsYXNzX29yX3R1cGxlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTg0N2RmNTdmZWY4ZGRlYTcgaW5wdXQ9Y2Y5ZWIwYWQ2YmI5YmFkNl0qLworewogICAgIGludCByZXR2YWw7CiAKLSAgICBpZiAoIVB5QXJnX1VucGFja1R1cGxlKGFyZ3MsICJpc2luc3RhbmNlIiwgMiwgMiwgJmluc3QsICZjbHMpKQotICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIHJldHZhbCA9IFB5T2JqZWN0X0lzSW5zdGFuY2UoaW5zdCwgY2xzKTsKKyAgICByZXR2YWwgPSBQeU9iamVjdF9Jc0luc3RhbmNlKG9iaiwgY2xhc3Nfb3JfdHVwbGUpOwogICAgIGlmIChyZXR2YWwgPCAwKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICByZXR1cm4gUHlCb29sX0Zyb21Mb25nKHJldHZhbCk7CiB9CiAKLVB5RG9jX1NUUlZBUihpc2luc3RhbmNlX2RvYywKLSJpc2luc3RhbmNlKG9iamVjdCwgY2xhc3Mtb3ItdHlwZS1vci10dXBsZSkgLT4gYm9vbFxuXAotXG5cCi1SZXR1cm4gd2hldGhlciBhbiBvYmplY3QgaXMgYW4gaW5zdGFuY2Ugb2YgYSBjbGFzcyBvciBvZiBhIHN1YmNsYXNzIHRoZXJlb2YuXG5cCi1XaXRoIGEgdHlwZSBhcyBzZWNvbmQgYXJndW1lbnQsIHJldHVybiB3aGV0aGVyIHRoYXQgaXMgdGhlIG9iamVjdCdzIHR5cGUuXG5cCi1UaGUgZm9ybSB1c2luZyBhIHR1cGxlLCBpc2luc3RhbmNlKHgsIChBLCBCLCAuLi4pKSwgaXMgYSBzaG9ydGN1dCBmb3JcblwKLWlzaW5zdGFuY2UoeCwgQSkgb3IgaXNpbnN0YW5jZSh4LCBCKSBvciAuLi4gKGV0Yy4pLiIpOwogCisvKltjbGluaWMgaW5wdXRdCitpc3N1YmNsYXNzIGFzIGJ1aWx0aW5faXNzdWJjbGFzcworCisgICAgY2xzOiAnTycKKyAgICBjbGFzc19vcl90dXBsZTogJ08nCisgICAgLworCitSZXR1cm4gd2hldGhlciAnY2xzJyBpcyBhIGRlcml2ZWQgZnJvbSBhbm90aGVyIGNsYXNzIG9yIGlzIHRoZSBzYW1lIGNsYXNzLgorCitBIHR1cGxlLCBhcyBpbiBgYGlzc3ViY2xhc3MoeCwgKEEsIEIsIC4uLikpYGAsIG1heSBiZSBnaXZlbiBhcyB0aGUgdGFyZ2V0IHRvCitjaGVjayBhZ2FpbnN0LiBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGBpc3N1YmNsYXNzKHgsIEEpIG9yIGlzc3ViY2xhc3MoeCwgQikKK29yIC4uLmBgIGV0Yy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ1aWx0aW5faXNzdWJjbGFzc19fZG9jX18sCisiaXNzdWJjbGFzcygkbW9kdWxlLCBjbHMsIGNsYXNzX29yX3R1cGxlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHdoZXRoZXIgXCdjbHNcJyBpcyBhIGRlcml2ZWQgZnJvbSBhbm90aGVyIGNsYXNzIG9yIGlzIHRoZSBzYW1lIGNsYXNzLlxuIgorIlxuIgorIkEgdHVwbGUsIGFzIGluIGBgaXNzdWJjbGFzcyh4LCAoQSwgQiwgLi4uKSlgYCwgbWF5IGJlIGdpdmVuIGFzIHRoZSB0YXJnZXQgdG9cbiIKKyJjaGVjayBhZ2FpbnN0LiBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGBpc3N1YmNsYXNzKHgsIEEpIG9yIGlzc3ViY2xhc3MoeCwgQilcbiIKKyJvciAuLi5gYCBldGMuIik7CisKKyNkZWZpbmUgQlVJTFRJTl9JU1NVQkNMQVNTX01FVEhPRERFRiAgICBcCisgICAgeyJpc3N1YmNsYXNzIiwgKFB5Q0Z1bmN0aW9uKWJ1aWx0aW5faXNzdWJjbGFzcywgTUVUSF9WQVJBUkdTLCBidWlsdGluX2lzc3ViY2xhc3NfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLWJ1aWx0aW5faXNzdWJjbGFzcyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitidWlsdGluX2lzc3ViY2xhc3NfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqY2xzLCBQeU9iamVjdCAqY2xhc3Nfb3JfdHVwbGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorYnVpbHRpbl9pc3N1YmNsYXNzKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogewotICAgIFB5T2JqZWN0ICpkZXJpdmVkOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwogICAgIFB5T2JqZWN0ICpjbHM7CisgICAgUHlPYmplY3QgKmNsYXNzX29yX3R1cGxlOworCisgICAgaWYgKCFQeUFyZ19VbnBhY2tUdXBsZShhcmdzLCAiaXNzdWJjbGFzcyIsCisgICAgICAgIDIsIDIsCisgICAgICAgICZjbHMsICZjbGFzc19vcl90dXBsZSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBidWlsdGluX2lzc3ViY2xhc3NfaW1wbChtb2R1bGUsIGNscywgY2xhc3Nfb3JfdHVwbGUpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitidWlsdGluX2lzc3ViY2xhc3NfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqY2xzLCBQeU9iamVjdCAqY2xhc3Nfb3JfdHVwbGUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YTBmOGMwMzY5MmUzNTQ3NCBpbnB1dD05MjNkMDNmYTQxZmMzNTJhXSovCit7CiAgICAgaW50IHJldHZhbDsKIAotICAgIGlmICghUHlBcmdfVW5wYWNrVHVwbGUoYXJncywgImlzc3ViY2xhc3MiLCAyLCAyLCAmZGVyaXZlZCwgJmNscykpCi0gICAgICAgIHJldHVybiBOVUxMOwotCi0gICAgcmV0dmFsID0gUHlPYmplY3RfSXNTdWJjbGFzcyhkZXJpdmVkLCBjbHMpOworICAgIHJldHZhbCA9IFB5T2JqZWN0X0lzU3ViY2xhc3MoY2xzLCBjbGFzc19vcl90dXBsZSk7CiAgICAgaWYgKHJldHZhbCA8IDApCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcocmV0dmFsKTsKIH0KIAotUHlEb2NfU1RSVkFSKGlzc3ViY2xhc3NfZG9jLAotImlzc3ViY2xhc3MoQywgQikgLT4gYm9vbFxuXAotXG5cCi1SZXR1cm4gd2hldGhlciBjbGFzcyBDIGlzIGEgc3ViY2xhc3MgKGkuZS4sIGEgZGVyaXZlZCBjbGFzcykgb2YgY2xhc3MgQi5cblwKLVdoZW4gdXNpbmcgYSB0dXBsZSBhcyB0aGUgc2Vjb25kIGFyZ3VtZW50IGlzc3ViY2xhc3MoWCwgKEEsIEIsIC4uLikpLFxuXAotaXMgYSBzaG9ydGN1dCBmb3IgaXNzdWJjbGFzcyhYLCBBKSBvciBpc3N1YmNsYXNzKFgsIEIpIG9yIC4uLiAoZXRjLikuIik7Ci0KIAogdHlwZWRlZiBzdHJ1Y3QgewogICAgIFB5T2JqZWN0X0hFQUQKQEAgLTIzOTgsNDQgKzMyMTMsNDQgQEAKICAgICB7Il9fYnVpbGRfY2xhc3NfXyIsIChQeUNGdW5jdGlvbilidWlsdGluX19fYnVpbGRfY2xhc3NfXywKICAgICAgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywgYnVpbGRfY2xhc3NfZG9jfSwKICAgICB7Il9faW1wb3J0X18iLCAgICAgIChQeUNGdW5jdGlvbilidWlsdGluX19faW1wb3J0X18sIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsIGltcG9ydF9kb2N9LAotICAgIHsiYWJzIiwgICAgICAgICAgICAgYnVpbHRpbl9hYnMsICAgICAgICBNRVRIX08sIGFic19kb2N9LAotICAgIHsiYWxsIiwgICAgICAgICAgICAgYnVpbHRpbl9hbGwsICAgICAgICBNRVRIX08sIGFsbF9kb2N9LAotICAgIHsiYW55IiwgICAgICAgICAgICAgYnVpbHRpbl9hbnksICAgICAgICBNRVRIX08sIGFueV9kb2N9LAotICAgIHsiYXNjaWkiLCAgICAgICAgICAgYnVpbHRpbl9hc2NpaSwgICAgICBNRVRIX08sIGFzY2lpX2RvY30sCi0gICAgeyJiaW4iLCAgICAgICAgICAgICBidWlsdGluX2JpbiwgICAgICAgIE1FVEhfTywgYmluX2RvY30sCi0gICAgeyJjYWxsYWJsZSIsICAgICAgICBidWlsdGluX2NhbGxhYmxlLCAgIE1FVEhfTywgY2FsbGFibGVfZG9jfSwKLSAgICB7ImNociIsICAgICAgICAgICAgIGJ1aWx0aW5fY2hyLCAgICAgICAgTUVUSF9WQVJBUkdTLCBjaHJfZG9jfSwKLSAgICB7ImNvbXBpbGUiLCAgICAgICAgIChQeUNGdW5jdGlvbilidWlsdGluX2NvbXBpbGUsICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsIGNvbXBpbGVfZG9jfSwKLSAgICB7ImRlbGF0dHIiLCAgICAgICAgIGJ1aWx0aW5fZGVsYXR0ciwgICAgTUVUSF9WQVJBUkdTLCBkZWxhdHRyX2RvY30sCisgICAgQlVJTFRJTl9BQlNfTUVUSE9EREVGCisgICAgQlVJTFRJTl9BTExfTUVUSE9EREVGCisgICAgQlVJTFRJTl9BTllfTUVUSE9EREVGCisgICAgQlVJTFRJTl9BU0NJSV9NRVRIT0RERUYKKyAgICBCVUlMVElOX0JJTl9NRVRIT0RERUYKKyAgICBCVUlMVElOX0NBTExBQkxFX01FVEhPRERFRgorICAgIEJVSUxUSU5fQ0hSX01FVEhPRERFRgorICAgIEJVSUxUSU5fQ09NUElMRV9NRVRIT0RERUYKKyAgICBCVUlMVElOX0RFTEFUVFJfTUVUSE9EREVGCiAgICAgeyJkaXIiLCAgICAgICAgICAgICBidWlsdGluX2RpciwgICAgICAgIE1FVEhfVkFSQVJHUywgZGlyX2RvY30sCi0gICAgeyJkaXZtb2QiLCAgICAgICAgICBidWlsdGluX2Rpdm1vZCwgICAgIE1FVEhfVkFSQVJHUywgZGl2bW9kX2RvY30sCi0gICAgeyJldmFsIiwgICAgICAgICAgICBidWlsdGluX2V2YWwsICAgICAgIE1FVEhfVkFSQVJHUywgZXZhbF9kb2N9LAotICAgIHsiZXhlYyIsICAgICAgICBidWlsdGluX2V4ZWMsICAgICAgIE1FVEhfVkFSQVJHUywgZXhlY19kb2N9LAotICAgIHsiZm9ybWF0IiwgICAgICAgICAgYnVpbHRpbl9mb3JtYXQsICAgICBNRVRIX1ZBUkFSR1MsIGZvcm1hdF9kb2N9LAorICAgIEJVSUxUSU5fRElWTU9EX01FVEhPRERFRgorICAgIEJVSUxUSU5fRVZBTF9NRVRIT0RERUYKKyAgICBCVUlMVElOX0VYRUNfTUVUSE9EREVGCisgICAgQlVJTFRJTl9GT1JNQVRfTUVUSE9EREVGCiAgICAgeyJnZXRhdHRyIiwgICAgICAgICBidWlsdGluX2dldGF0dHIsICAgIE1FVEhfVkFSQVJHUywgZ2V0YXR0cl9kb2N9LAotICAgIHsiZ2xvYmFscyIsICAgICAgICAgKFB5Q0Z1bmN0aW9uKWJ1aWx0aW5fZ2xvYmFscywgICAgTUVUSF9OT0FSR1MsIGdsb2JhbHNfZG9jfSwKLSAgICB7Imhhc2F0dHIiLCAgICAgICAgIGJ1aWx0aW5faGFzYXR0ciwgICAgTUVUSF9WQVJBUkdTLCBoYXNhdHRyX2RvY30sCi0gICAgeyJoYXNoIiwgICAgICAgICAgICBidWlsdGluX2hhc2gsICAgICAgIE1FVEhfTywgaGFzaF9kb2N9LAotICAgIHsiaGV4IiwgICAgICAgICAgICAgYnVpbHRpbl9oZXgsICAgICAgICBNRVRIX08sIGhleF9kb2N9LAotICAgIHsiaWQiLCAgICAgICAgICAgICAgYnVpbHRpbl9pZCwgICAgICAgICBNRVRIX08sIGlkX2RvY30sCi0gICAgeyJpbnB1dCIsICAgICAgICAgICBidWlsdGluX2lucHV0LCAgICAgIE1FVEhfVkFSQVJHUywgaW5wdXRfZG9jfSwKLSAgICB7ImlzaW5zdGFuY2UiLCAgYnVpbHRpbl9pc2luc3RhbmNlLCBNRVRIX1ZBUkFSR1MsIGlzaW5zdGFuY2VfZG9jfSwKLSAgICB7Imlzc3ViY2xhc3MiLCAgYnVpbHRpbl9pc3N1YmNsYXNzLCBNRVRIX1ZBUkFSR1MsIGlzc3ViY2xhc3NfZG9jfSwKKyAgICBCVUlMVElOX0dMT0JBTFNfTUVUSE9EREVGCisgICAgQlVJTFRJTl9IQVNBVFRSX01FVEhPRERFRgorICAgIEJVSUxUSU5fSEFTSF9NRVRIT0RERUYKKyAgICBCVUlMVElOX0hFWF9NRVRIT0RERUYKKyAgICBCVUlMVElOX0lEX01FVEhPRERFRgorICAgIEJVSUxUSU5fSU5QVVRfTUVUSE9EREVGCisgICAgQlVJTFRJTl9JU0lOU1RBTkNFX01FVEhPRERFRgorICAgIEJVSUxUSU5fSVNTVUJDTEFTU19NRVRIT0RERUYKICAgICB7Iml0ZXIiLCAgICAgICAgICAgIGJ1aWx0aW5faXRlciwgICAgICAgTUVUSF9WQVJBUkdTLCBpdGVyX2RvY30sCi0gICAgeyJsZW4iLCAgICAgICAgICAgICBidWlsdGluX2xlbiwgICAgICAgIE1FVEhfTywgbGVuX2RvY30sCi0gICAgeyJsb2NhbHMiLCAgICAgICAgICAoUHlDRnVuY3Rpb24pYnVpbHRpbl9sb2NhbHMsICAgICBNRVRIX05PQVJHUywgbG9jYWxzX2RvY30sCisgICAgQlVJTFRJTl9MRU5fTUVUSE9EREVGCisgICAgQlVJTFRJTl9MT0NBTFNfTUVUSE9EREVGCiAgICAgeyJtYXgiLCAgICAgICAgICAgICAoUHlDRnVuY3Rpb24pYnVpbHRpbl9tYXgsICAgICAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLCBtYXhfZG9jfSwKICAgICB7Im1pbiIsICAgICAgICAgICAgIChQeUNGdW5jdGlvbilidWlsdGluX21pbiwgICAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsIG1pbl9kb2N9LAogICAgIHsibmV4dCIsICAgICAgICAgICAgKFB5Q0Z1bmN0aW9uKWJ1aWx0aW5fbmV4dCwgICAgICAgTUVUSF9WQVJBUkdTLCBuZXh0X2RvY30sCi0gICAgeyJvY3QiLCAgICAgICAgICAgICBidWlsdGluX29jdCwgICAgICAgIE1FVEhfTywgb2N0X2RvY30sCi0gICAgeyJvcmQiLCAgICAgICAgICAgICBidWlsdGluX29yZCwgICAgICAgIE1FVEhfTywgb3JkX2RvY30sCi0gICAgeyJwb3ciLCAgICAgICAgICAgICBidWlsdGluX3BvdywgICAgICAgIE1FVEhfVkFSQVJHUywgcG93X2RvY30sCisgICAgQlVJTFRJTl9PQ1RfTUVUSE9EREVGCisgICAgQlVJTFRJTl9PUkRfTUVUSE9EREVGCisgICAgQlVJTFRJTl9QT1dfTUVUSE9EREVGCiAgICAgeyJwcmludCIsICAgICAgICAgICAoUHlDRnVuY3Rpb24pYnVpbHRpbl9wcmludCwgICAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLCBwcmludF9kb2N9LAotICAgIHsicmVwciIsICAgICAgICAgICAgYnVpbHRpbl9yZXByLCAgICAgICBNRVRIX08sIHJlcHJfZG9jfSwKKyAgICBCVUlMVElOX1JFUFJfTUVUSE9EREVGCiAgICAgeyJyb3VuZCIsICAgICAgICAgICAoUHlDRnVuY3Rpb24pYnVpbHRpbl9yb3VuZCwgICAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLCByb3VuZF9kb2N9LAotICAgIHsic2V0YXR0ciIsICAgICAgICAgYnVpbHRpbl9zZXRhdHRyLCAgICBNRVRIX1ZBUkFSR1MsIHNldGF0dHJfZG9jfSwKLSAgICB7InNvcnRlZCIsICAgICAgICAgIChQeUNGdW5jdGlvbilidWlsdGluX3NvcnRlZCwgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsIHNvcnRlZF9kb2N9LAotICAgIHsic3VtIiwgICAgICAgICAgICAgYnVpbHRpbl9zdW0sICAgICAgICBNRVRIX1ZBUkFSR1MsIHN1bV9kb2N9LAorICAgIEJVSUxUSU5fU0VUQVRUUl9NRVRIT0RERUYKKyAgICBCVUlMVElOX1NPUlRFRF9NRVRIT0RERUYKKyAgICBCVUlMVElOX1NVTV9NRVRIT0RERUYKICAgICB7InZhcnMiLCAgICAgICAgICAgIGJ1aWx0aW5fdmFycywgICAgICAgTUVUSF9WQVJBUkdTLCB2YXJzX2RvY30sCiAgICAge05VTEwsICAgICAgICAgICAgICBOVUxMfSwKIH07CmRpZmYgLS1naXQgYS9QeXRob24vY2V2YWwuYyBiL1B5dGhvbi9jZXZhbC5jCmluZGV4IDc2NTZiOGUuLmUwOWZmMzQgMTAwNjQ0Ci0tLSBhL1B5dGhvbi9jZXZhbC5jCisrKyBiL1B5dGhvbi9jZXZhbC5jCkBAIC0xNTA0LDYgKzE1MDQsMTggQEAKICAgICAgICAgICAgIERJU1BBVENIKCk7CiAgICAgICAgIH0KIAorICAgICAgICBUQVJHRVQoQklOQVJZX01BVFJJWF9NVUxUSVBMWSkgeworICAgICAgICAgICAgUHlPYmplY3QgKnJpZ2h0ID0gUE9QKCk7CisgICAgICAgICAgICBQeU9iamVjdCAqbGVmdCA9IFRPUCgpOworICAgICAgICAgICAgUHlPYmplY3QgKnJlcyA9IFB5TnVtYmVyX01hdHJpeE11bHRpcGx5KGxlZnQsIHJpZ2h0KTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihsZWZ0KTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihyaWdodCk7CisgICAgICAgICAgICBTRVRfVE9QKHJlcyk7CisgICAgICAgICAgICBpZiAocmVzID09IE5VTEwpCisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgIERJU1BBVENIKCk7CisgICAgICAgIH0KKwogICAgICAgICBUQVJHRVQoQklOQVJZX1RSVUVfRElWSURFKSB7CiAgICAgICAgICAgICBQeU9iamVjdCAqZGl2aXNvciA9IFBPUCgpOwogICAgICAgICAgICAgUHlPYmplY3QgKmRpdmlkZW5kID0gVE9QKCk7CkBAIC0xNjk0LDYgKzE3MDYsMTggQEAKICAgICAgICAgICAgIERJU1BBVENIKCk7CiAgICAgICAgIH0KIAorICAgICAgICBUQVJHRVQoSU5QTEFDRV9NQVRSSVhfTVVMVElQTFkpIHsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpyaWdodCA9IFBPUCgpOworICAgICAgICAgICAgUHlPYmplY3QgKmxlZnQgPSBUT1AoKTsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpyZXMgPSBQeU51bWJlcl9JblBsYWNlTWF0cml4TXVsdGlwbHkobGVmdCwgcmlnaHQpOworICAgICAgICAgICAgUHlfREVDUkVGKGxlZnQpOworICAgICAgICAgICAgUHlfREVDUkVGKHJpZ2h0KTsKKyAgICAgICAgICAgIFNFVF9UT1AocmVzKTsKKyAgICAgICAgICAgIGlmIChyZXMgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgRElTUEFUQ0goKTsKKyAgICAgICAgfQorCiAgICAgICAgIFRBUkdFVChJTlBMQUNFX1RSVUVfRElWSURFKSB7CiAgICAgICAgICAgICBQeU9iamVjdCAqZGl2aXNvciA9IFBPUCgpOwogICAgICAgICAgICAgUHlPYmplY3QgKmRpdmlkZW5kID0gVE9QKCk7CkBAIC0zMzg3LDEwICszNDExLDExIEBACiAgICBQeUV2YWxfRXZhbEZyYW1lKCkgYW5kIFB5RXZhbF9FdmFsQ29kZUV4KCkgeW91IHdpbGwgbmVlZCB0byBhZGp1c3QKICAgIHRoZSB0ZXN0IGluIHRoZSBpZiBzdGF0ZW1lbnRzIGluIE1pc2MvZ2RiaW5pdCAocHlzdGFjayBhbmQgcHlzdGFja3YpLiAqLwogCi1QeU9iamVjdCAqCi1QeUV2YWxfRXZhbENvZGVFeChQeU9iamVjdCAqX2NvLCBQeU9iamVjdCAqZ2xvYmFscywgUHlPYmplY3QgKmxvY2FscywKK3N0YXRpYyBQeU9iamVjdCAqCitfUHlFdmFsX0V2YWxDb2RlV2l0aE5hbWUoUHlPYmplY3QgKl9jbywgUHlPYmplY3QgKmdsb2JhbHMsIFB5T2JqZWN0ICpsb2NhbHMsCiAgICAgICAgICAgIFB5T2JqZWN0ICoqYXJncywgaW50IGFyZ2NvdW50LCBQeU9iamVjdCAqKmt3cywgaW50IGt3Y291bnQsCi0gICAgICAgICAgIFB5T2JqZWN0ICoqZGVmcywgaW50IGRlZmNvdW50LCBQeU9iamVjdCAqa3dkZWZzLCBQeU9iamVjdCAqY2xvc3VyZSkKKyAgICAgICAgICAgUHlPYmplY3QgKipkZWZzLCBpbnQgZGVmY291bnQsIFB5T2JqZWN0ICprd2RlZnMsIFB5T2JqZWN0ICpjbG9zdXJlLAorICAgICAgICAgICBQeU9iamVjdCAqbmFtZSwgUHlPYmplY3QgKnF1YWxuYW1lKQogewogICAgIFB5Q29kZU9iamVjdCogY28gPSAoUHlDb2RlT2JqZWN0KilfY287CiAgICAgUHlGcmFtZU9iamVjdCAqZjsKQEAgLTM1ODIsNyArMzYwNyw3IEBACiAKICAgICAgICAgLyogQ3JlYXRlIGEgbmV3IGdlbmVyYXRvciB0aGF0IG93bnMgdGhlIHJlYWR5IHRvIHJ1biBmcmFtZQogICAgICAgICAgKiBhbmQgcmV0dXJuIHRoYXQgYXMgdGhlIHZhbHVlLiAqLwotICAgICAgICByZXR1cm4gUHlHZW5fTmV3KGYpOworICAgICAgICByZXR1cm4gUHlHZW5fTmV3V2l0aFF1YWxOYW1lKGYsIG5hbWUsIHF1YWxuYW1lKTsKICAgICB9CiAKICAgICByZXR2YWwgPSBQeUV2YWxfRXZhbEZyYW1lRXgoZiwwKTsKQEAgLTM2MDEsNiArMzYyNiwxNiBAQAogICAgIHJldHVybiByZXR2YWw7CiB9CiAKK1B5T2JqZWN0ICoKK1B5RXZhbF9FdmFsQ29kZUV4KFB5T2JqZWN0ICpfY28sIFB5T2JqZWN0ICpnbG9iYWxzLCBQeU9iamVjdCAqbG9jYWxzLAorICAgICAgICAgICBQeU9iamVjdCAqKmFyZ3MsIGludCBhcmdjb3VudCwgUHlPYmplY3QgKiprd3MsIGludCBrd2NvdW50LAorICAgICAgICAgICBQeU9iamVjdCAqKmRlZnMsIGludCBkZWZjb3VudCwgUHlPYmplY3QgKmt3ZGVmcywgUHlPYmplY3QgKmNsb3N1cmUpCit7CisgICAgcmV0dXJuIF9QeUV2YWxfRXZhbENvZGVXaXRoTmFtZShfY28sIGdsb2JhbHMsIGxvY2FscywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3MsIGFyZ2NvdW50LCBrd3MsIGt3Y291bnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZzLCBkZWZjb3VudCwga3dkZWZzLCBjbG9zdXJlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCk7Cit9CiAKIHN0YXRpYyBQeU9iamVjdCAqCiBzcGVjaWFsX2xvb2t1cChQeU9iamVjdCAqbywgX1B5X0lkZW50aWZpZXIgKmlkKQpAQCAtNDI5OSw2ICs0MzM0LDggQEAKICAgICBQeU9iamVjdCAqZ2xvYmFscyA9IFB5RnVuY3Rpb25fR0VUX0dMT0JBTFMoZnVuYyk7CiAgICAgUHlPYmplY3QgKmFyZ2RlZnMgPSBQeUZ1bmN0aW9uX0dFVF9ERUZBVUxUUyhmdW5jKTsKICAgICBQeU9iamVjdCAqa3dkZWZzID0gUHlGdW5jdGlvbl9HRVRfS1dfREVGQVVMVFMoZnVuYyk7CisgICAgUHlPYmplY3QgKm5hbWUgPSAoKFB5RnVuY3Rpb25PYmplY3QgKilmdW5jKSAtPiBmdW5jX25hbWU7CisgICAgUHlPYmplY3QgKnF1YWxuYW1lID0gKChQeUZ1bmN0aW9uT2JqZWN0ICopZnVuYykgLT4gZnVuY19xdWFsbmFtZTsKICAgICBQeU9iamVjdCAqKmQgPSBOVUxMOwogICAgIGludCBuZCA9IDA7CiAKQEAgLTQzNDEsMTAgKzQzNzgsMTEgQEAKICAgICAgICAgZCA9ICZQeVR1cGxlX0dFVF9JVEVNKGFyZ2RlZnMsIDApOwogICAgICAgICBuZCA9IFB5X1NJWkUoYXJnZGVmcyk7CiAgICAgfQotICAgIHJldHVybiBQeUV2YWxfRXZhbENvZGVFeCgoUHlPYmplY3QqKWNvLCBnbG9iYWxzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoUHlPYmplY3QgKilOVUxMLCAoKnBwX3N0YWNrKS1uLCBuYSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCpwcF9zdGFjayktMipuaywgbmssIGQsIG5kLCBrd2RlZnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5RnVuY3Rpb25fR0VUX0NMT1NVUkUoZnVuYykpOworICAgIHJldHVybiBfUHlFdmFsX0V2YWxDb2RlV2l0aE5hbWUoKFB5T2JqZWN0KiljbywgZ2xvYmFscywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChQeU9iamVjdCAqKU5VTEwsICgqcHBfc3RhY2spLW4sIG5hLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCpwcF9zdGFjayktMipuaywgbmssIGQsIG5kLCBrd2RlZnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUZ1bmN0aW9uX0dFVF9DTE9TVVJFKGZ1bmMpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSwgcXVhbG5hbWUpOwogfQogCiBzdGF0aWMgUHlPYmplY3QgKgpAQCAtNDY1OCwxMSArNDY5NiwyOSBAQAogaW1wb3J0X2Zyb20oUHlPYmplY3QgKnYsIFB5T2JqZWN0ICpuYW1lKQogewogICAgIFB5T2JqZWN0ICp4OworICAgIF9QeV9JREVOVElGSUVSKF9fbmFtZV9fKTsKKyAgICBQeU9iamVjdCAqZnVsbG1vZG5hbWUsICpwa2duYW1lOwogCiAgICAgeCA9IFB5T2JqZWN0X0dldEF0dHIodiwgbmFtZSk7Ci0gICAgaWYgKHggPT0gTlVMTCAmJiBQeUVycl9FeGNlcHRpb25NYXRjaGVzKFB5RXhjX0F0dHJpYnV0ZUVycm9yKSkgeworICAgIGlmICh4ICE9IE5VTEwgfHwgIVB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMoUHlFeGNfQXR0cmlidXRlRXJyb3IpKQorICAgICAgICByZXR1cm4geDsKKyAgICAvKiBJc3N1ZSAjMTc2MzY6IGluIGNhc2UgdGhpcyBmYWlsZWQgYmVjYXVzZSBvZiBhIGNpcmN1bGFyIHJlbGF0aXZlCisgICAgICAgaW1wb3J0LCB0cnkgdG8gZmFsbGJhY2sgb24gcmVhZGluZyB0aGUgbW9kdWxlIGRpcmVjdGx5IGZyb20KKyAgICAgICBzeXMubW9kdWxlcy4gKi8KKyAgICBQeUVycl9DbGVhcigpOworICAgIHBrZ25hbWUgPSBfUHlPYmplY3RfR2V0QXR0cklkKHYsICZQeUlkX19fbmFtZV9fKTsKKyAgICBpZiAocGtnbmFtZSA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBmdWxsbW9kbmFtZSA9IFB5VW5pY29kZV9Gcm9tRm9ybWF0KCIlVS4lVSIsIHBrZ25hbWUsIG5hbWUpOworICAgIFB5X0RFQ1JFRihwa2duYW1lKTsKKyAgICBpZiAoZnVsbG1vZG5hbWUgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgeCA9IFB5RGljdF9HZXRJdGVtKFB5SW1wb3J0X0dldE1vZHVsZURpY3QoKSwgZnVsbG1vZG5hbWUpOworICAgIGlmICh4ID09IE5VTEwpCiAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19JbXBvcnRFcnJvciwgImNhbm5vdCBpbXBvcnQgbmFtZSAlUiIsIG5hbWUpOwotICAgIH0KKyAgICBlbHNlCisgICAgICAgIFB5X0lOQ1JFRih4KTsKKyAgICBQeV9ERUNSRUYoZnVsbG1vZG5hbWUpOwogICAgIHJldHVybiB4OwogfQogCmRpZmYgLS1naXQgYS9QeXRob24vY2xpbmljL2ltcG9ydC5jLmggYi9QeXRob24vY2xpbmljL2ltcG9ydC5jLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzYxODU3NwotLS0gL2Rldi9udWxsCisrKyBiL1B5dGhvbi9jbGluaWMvaW1wb3J0LmMuaApAQCAtMCwwICsxLDMyMyBAQAorLypbY2xpbmljIGlucHV0XQorcHJlc2VydmUKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKF9pbXBfbG9ja19oZWxkX19kb2NfXywKKyJsb2NrX2hlbGQoJG1vZHVsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBUcnVlIGlmIHRoZSBpbXBvcnQgbG9jayBpcyBjdXJyZW50bHkgaGVsZCwgZWxzZSBGYWxzZS5cbiIKKyJcbiIKKyJPbiBwbGF0Zm9ybXMgd2l0aG91dCB0aHJlYWRzLCByZXR1cm4gRmFsc2UuIik7CisKKyNkZWZpbmUgX0lNUF9MT0NLX0hFTERfTUVUSE9EREVGICAgIFwKKyAgICB7ImxvY2tfaGVsZCIsIChQeUNGdW5jdGlvbilfaW1wX2xvY2tfaGVsZCwgTUVUSF9OT0FSR1MsIF9pbXBfbG9ja19oZWxkX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitfaW1wX2xvY2tfaGVsZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorX2ltcF9sb2NrX2hlbGQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gX2ltcF9sb2NrX2hlbGRfaW1wbChtb2R1bGUpOworfQorCitQeURvY19TVFJWQVIoX2ltcF9hY3F1aXJlX2xvY2tfX2RvY19fLAorImFjcXVpcmVfbG9jaygkbW9kdWxlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiQWNxdWlyZXMgdGhlIGludGVycHJldGVyXCdzIGltcG9ydCBsb2NrIGZvciB0aGUgY3VycmVudCB0aHJlYWQuXG4iCisiXG4iCisiVGhpcyBsb2NrIHNob3VsZCBiZSB1c2VkIGJ5IGltcG9ydCBob29rcyB0byBlbnN1cmUgdGhyZWFkLXNhZmV0eSB3aGVuIGltcG9ydGluZ1xuIgorIm1vZHVsZXMuIE9uIHBsYXRmb3JtcyB3aXRob3V0IHRocmVhZHMsIHRoaXMgZnVuY3Rpb24gZG9lcyBub3RoaW5nLiIpOworCisjZGVmaW5lIF9JTVBfQUNRVUlSRV9MT0NLX01FVEhPRERFRiAgICBcCisgICAgeyJhY3F1aXJlX2xvY2siLCAoUHlDRnVuY3Rpb24pX2ltcF9hY3F1aXJlX2xvY2ssIE1FVEhfTk9BUkdTLCBfaW1wX2FjcXVpcmVfbG9ja19fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorX2ltcF9hY3F1aXJlX2xvY2tfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK19pbXBfYWNxdWlyZV9sb2NrKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIF9pbXBfYWNxdWlyZV9sb2NrX2ltcGwobW9kdWxlKTsKK30KKworUHlEb2NfU1RSVkFSKF9pbXBfcmVsZWFzZV9sb2NrX19kb2NfXywKKyJyZWxlYXNlX2xvY2soJG1vZHVsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJlbGVhc2UgdGhlIGludGVycHJldGVyXCdzIGltcG9ydCBsb2NrLlxuIgorIlxuIgorIk9uIHBsYXRmb3JtcyB3aXRob3V0IHRocmVhZHMsIHRoaXMgZnVuY3Rpb24gZG9lcyBub3RoaW5nLiIpOworCisjZGVmaW5lIF9JTVBfUkVMRUFTRV9MT0NLX01FVEhPRERFRiAgICBcCisgICAgeyJyZWxlYXNlX2xvY2siLCAoUHlDRnVuY3Rpb24pX2ltcF9yZWxlYXNlX2xvY2ssIE1FVEhfTk9BUkdTLCBfaW1wX3JlbGVhc2VfbG9ja19fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorX2ltcF9yZWxlYXNlX2xvY2tfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK19pbXBfcmVsZWFzZV9sb2NrKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIF9pbXBfcmVsZWFzZV9sb2NrX2ltcGwobW9kdWxlKTsKK30KKworUHlEb2NfU1RSVkFSKF9pbXBfX2ZpeF9jb19maWxlbmFtZV9fZG9jX18sCisiX2ZpeF9jb19maWxlbmFtZSgkbW9kdWxlLCBjb2RlLCBwYXRoLCAvKVxuIgorIi0tXG4iCisiXG4iCisiQ2hhbmdlcyBjb2RlLmNvX2ZpbGVuYW1lIHRvIHNwZWNpZnkgdGhlIHBhc3NlZC1pbiBmaWxlIHBhdGguXG4iCisiXG4iCisiICBjb2RlXG4iCisiICAgIENvZGUgb2JqZWN0IHRvIGNoYW5nZS5cbiIKKyIgIHBhdGhcbiIKKyIgICAgRmlsZSBwYXRoIHRvIHVzZS4iKTsKKworI2RlZmluZSBfSU1QX19GSVhfQ09fRklMRU5BTUVfTUVUSE9EREVGICAgIFwKKyAgICB7Il9maXhfY29fZmlsZW5hbWUiLCAoUHlDRnVuY3Rpb24pX2ltcF9fZml4X2NvX2ZpbGVuYW1lLCBNRVRIX1ZBUkFSR1MsIF9pbXBfX2ZpeF9jb19maWxlbmFtZV9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorX2ltcF9fZml4X2NvX2ZpbGVuYW1lX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlDb2RlT2JqZWN0ICpjb2RlLCBQeU9iamVjdCAqcGF0aCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitfaW1wX19maXhfY29fZmlsZW5hbWUoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlDb2RlT2JqZWN0ICpjb2RlOworICAgIFB5T2JqZWN0ICpwYXRoOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJPIVU6X2ZpeF9jb19maWxlbmFtZSIsCisgICAgICAgICZQeUNvZGVfVHlwZSwgJmNvZGUsICZwYXRoKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IF9pbXBfX2ZpeF9jb19maWxlbmFtZV9pbXBsKG1vZHVsZSwgY29kZSwgcGF0aCk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKF9pbXBfZXh0ZW5zaW9uX3N1ZmZpeGVzX19kb2NfXywKKyJleHRlbnNpb25fc3VmZml4ZXMoJG1vZHVsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybnMgdGhlIGxpc3Qgb2YgZmlsZSBzdWZmaXhlcyB1c2VkIHRvIGlkZW50aWZ5IGV4dGVuc2lvbiBtb2R1bGVzLiIpOworCisjZGVmaW5lIF9JTVBfRVhURU5TSU9OX1NVRkZJWEVTX01FVEhPRERFRiAgICBcCisgICAgeyJleHRlbnNpb25fc3VmZml4ZXMiLCAoUHlDRnVuY3Rpb24pX2ltcF9leHRlbnNpb25fc3VmZml4ZXMsIE1FVEhfTk9BUkdTLCBfaW1wX2V4dGVuc2lvbl9zdWZmaXhlc19fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorX2ltcF9leHRlbnNpb25fc3VmZml4ZXNfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK19pbXBfZXh0ZW5zaW9uX3N1ZmZpeGVzKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIF9pbXBfZXh0ZW5zaW9uX3N1ZmZpeGVzX2ltcGwobW9kdWxlKTsKK30KKworUHlEb2NfU1RSVkFSKF9pbXBfaW5pdF9idWlsdGluX19kb2NfXywKKyJpbml0X2J1aWx0aW4oJG1vZHVsZSwgbmFtZSwgLylcbiIKKyItLVxuIgorIlxuIgorIkluaXRpYWxpemVzIGEgYnVpbHQtaW4gbW9kdWxlLiIpOworCisjZGVmaW5lIF9JTVBfSU5JVF9CVUlMVElOX01FVEhPRERFRiAgICBcCisgICAgeyJpbml0X2J1aWx0aW4iLCAoUHlDRnVuY3Rpb24pX2ltcF9pbml0X2J1aWx0aW4sIE1FVEhfVkFSQVJHUywgX2ltcF9pbml0X2J1aWx0aW5fX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK19pbXBfaW5pdF9idWlsdGluX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKm5hbWUpOworCitzdGF0aWMgUHlPYmplY3QgKgorX2ltcF9pbml0X2J1aWx0aW4oUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlPYmplY3QgKm5hbWU7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIlU6aW5pdF9idWlsdGluIiwKKyAgICAgICAgJm5hbWUpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gX2ltcF9pbml0X2J1aWx0aW5faW1wbChtb2R1bGUsIG5hbWUpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK1B5RG9jX1NUUlZBUihfaW1wX2luaXRfZnJvemVuX19kb2NfXywKKyJpbml0X2Zyb3plbigkbW9kdWxlLCBuYW1lLCAvKVxuIgorIi0tXG4iCisiXG4iCisiSW5pdGlhbGl6ZXMgYSBmcm96ZW4gbW9kdWxlLiIpOworCisjZGVmaW5lIF9JTVBfSU5JVF9GUk9aRU5fTUVUSE9EREVGICAgIFwKKyAgICB7ImluaXRfZnJvemVuIiwgKFB5Q0Z1bmN0aW9uKV9pbXBfaW5pdF9mcm96ZW4sIE1FVEhfVkFSQVJHUywgX2ltcF9pbml0X2Zyb3plbl9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorX2ltcF9pbml0X2Zyb3plbl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpuYW1lKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK19pbXBfaW5pdF9mcm96ZW4oUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlPYmplY3QgKm5hbWU7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIlU6aW5pdF9mcm96ZW4iLAorICAgICAgICAmbmFtZSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBfaW1wX2luaXRfZnJvemVuX2ltcGwobW9kdWxlLCBuYW1lKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitQeURvY19TVFJWQVIoX2ltcF9nZXRfZnJvemVuX29iamVjdF9fZG9jX18sCisiZ2V0X2Zyb3plbl9vYmplY3QoJG1vZHVsZSwgbmFtZSwgLylcbiIKKyItLVxuIgorIlxuIgorIkNyZWF0ZSBhIGNvZGUgb2JqZWN0IGZvciBhIGZyb3plbiBtb2R1bGUuIik7CisKKyNkZWZpbmUgX0lNUF9HRVRfRlJPWkVOX09CSkVDVF9NRVRIT0RERUYgICAgXAorICAgIHsiZ2V0X2Zyb3plbl9vYmplY3QiLCAoUHlDRnVuY3Rpb24pX2ltcF9nZXRfZnJvemVuX29iamVjdCwgTUVUSF9WQVJBUkdTLCBfaW1wX2dldF9mcm96ZW5fb2JqZWN0X19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitfaW1wX2dldF9mcm96ZW5fb2JqZWN0X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKm5hbWUpOworCitzdGF0aWMgUHlPYmplY3QgKgorX2ltcF9nZXRfZnJvemVuX29iamVjdChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeU9iamVjdCAqbmFtZTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiVTpnZXRfZnJvemVuX29iamVjdCIsCisgICAgICAgICZuYW1lKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IF9pbXBfZ2V0X2Zyb3plbl9vYmplY3RfaW1wbChtb2R1bGUsIG5hbWUpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK1B5RG9jX1NUUlZBUihfaW1wX2lzX2Zyb3plbl9wYWNrYWdlX19kb2NfXywKKyJpc19mcm96ZW5fcGFja2FnZSgkbW9kdWxlLCBuYW1lLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJucyBUcnVlIGlmIHRoZSBtb2R1bGUgbmFtZSBpcyBvZiBhIGZyb3plbiBwYWNrYWdlLiIpOworCisjZGVmaW5lIF9JTVBfSVNfRlJPWkVOX1BBQ0tBR0VfTUVUSE9EREVGICAgIFwKKyAgICB7ImlzX2Zyb3plbl9wYWNrYWdlIiwgKFB5Q0Z1bmN0aW9uKV9pbXBfaXNfZnJvemVuX3BhY2thZ2UsIE1FVEhfVkFSQVJHUywgX2ltcF9pc19mcm96ZW5fcGFja2FnZV9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorX2ltcF9pc19mcm96ZW5fcGFja2FnZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpuYW1lKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK19pbXBfaXNfZnJvemVuX3BhY2thZ2UoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlPYmplY3QgKm5hbWU7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIlU6aXNfZnJvemVuX3BhY2thZ2UiLAorICAgICAgICAmbmFtZSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBfaW1wX2lzX2Zyb3plbl9wYWNrYWdlX2ltcGwobW9kdWxlLCBuYW1lKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitQeURvY19TVFJWQVIoX2ltcF9pc19idWlsdGluX19kb2NfXywKKyJpc19idWlsdGluKCRtb2R1bGUsIG5hbWUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm5zIFRydWUgaWYgdGhlIG1vZHVsZSBuYW1lIGNvcnJlc3BvbmRzIHRvIGEgYnVpbHQtaW4gbW9kdWxlLiIpOworCisjZGVmaW5lIF9JTVBfSVNfQlVJTFRJTl9NRVRIT0RERUYgICAgXAorICAgIHsiaXNfYnVpbHRpbiIsIChQeUNGdW5jdGlvbilfaW1wX2lzX2J1aWx0aW4sIE1FVEhfVkFSQVJHUywgX2ltcF9pc19idWlsdGluX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitfaW1wX2lzX2J1aWx0aW5faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqbmFtZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitfaW1wX2lzX2J1aWx0aW4oUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlPYmplY3QgKm5hbWU7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIlU6aXNfYnVpbHRpbiIsCisgICAgICAgICZuYW1lKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IF9pbXBfaXNfYnVpbHRpbl9pbXBsKG1vZHVsZSwgbmFtZSk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKF9pbXBfaXNfZnJvemVuX19kb2NfXywKKyJpc19mcm96ZW4oJG1vZHVsZSwgbmFtZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybnMgVHJ1ZSBpZiB0aGUgbW9kdWxlIG5hbWUgY29ycmVzcG9uZHMgdG8gYSBmcm96ZW4gbW9kdWxlLiIpOworCisjZGVmaW5lIF9JTVBfSVNfRlJPWkVOX01FVEhPRERFRiAgICBcCisgICAgeyJpc19mcm96ZW4iLCAoUHlDRnVuY3Rpb24pX2ltcF9pc19mcm96ZW4sIE1FVEhfVkFSQVJHUywgX2ltcF9pc19mcm96ZW5fX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK19pbXBfaXNfZnJvemVuX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKm5hbWUpOworCitzdGF0aWMgUHlPYmplY3QgKgorX2ltcF9pc19mcm96ZW4oUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlPYmplY3QgKm5hbWU7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIlU6aXNfZnJvemVuIiwKKyAgICAgICAgJm5hbWUpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gX2ltcF9pc19mcm96ZW5faW1wbChtb2R1bGUsIG5hbWUpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKKyNpZiBkZWZpbmVkKEhBVkVfRFlOQU1JQ19MT0FESU5HKQorCitQeURvY19TVFJWQVIoX2ltcF9sb2FkX2R5bmFtaWNfX2RvY19fLAorImxvYWRfZHluYW1pYygkbW9kdWxlLCBuYW1lLCBwYXRoLCBmaWxlPU5vbmUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJMb2FkcyBhbiBleHRlbnNpb24gbW9kdWxlLiIpOworCisjZGVmaW5lIF9JTVBfTE9BRF9EWU5BTUlDX01FVEhPRERFRiAgICBcCisgICAgeyJsb2FkX2R5bmFtaWMiLCAoUHlDRnVuY3Rpb24pX2ltcF9sb2FkX2R5bmFtaWMsIE1FVEhfVkFSQVJHUywgX2ltcF9sb2FkX2R5bmFtaWNfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK19pbXBfbG9hZF9keW5hbWljX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKm5hbWUsIFB5T2JqZWN0ICpwYXRoLCBQeU9iamVjdCAqZmlsZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitfaW1wX2xvYWRfZHluYW1pYyhQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeU9iamVjdCAqbmFtZTsKKyAgICBQeU9iamVjdCAqcGF0aDsKKyAgICBQeU9iamVjdCAqZmlsZSA9IE5VTEw7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIlVPJnxPOmxvYWRfZHluYW1pYyIsCisgICAgICAgICZuYW1lLCBQeVVuaWNvZGVfRlNEZWNvZGVyLCAmcGF0aCwgJmZpbGUpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gX2ltcF9sb2FkX2R5bmFtaWNfaW1wbChtb2R1bGUsIG5hbWUsIHBhdGgsIGZpbGUpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKKyNlbmRpZiAvKiBkZWZpbmVkKEhBVkVfRFlOQU1JQ19MT0FESU5HKSAqLworCisjaWZuZGVmIF9JTVBfTE9BRF9EWU5BTUlDX01FVEhPRERFRgorICAgICNkZWZpbmUgX0lNUF9MT0FEX0RZTkFNSUNfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoX0lNUF9MT0FEX0RZTkFNSUNfTUVUSE9EREVGKSAqLworLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTA4N2ExZjIyZTlmZWJjYzcgaW5wdXQ9YTkwNDkwNTQwMTNhMWI3N10qLwpkaWZmIC0tZ2l0IGEvUHl0aG9uL2NvZGVjcy5jIGIvUHl0aG9uL2NvZGVjcy5jCmluZGV4IDY4NDljMGYuLmE1NTg4NTkgMTAwNjQ0Ci0tLSBhL1B5dGhvbi9jb2RlY3MuYworKysgYi9QeXRob24vY29kZWNzLmMKQEAgLTksNiArOSw3IEBACiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KIAogI2luY2x1ZGUgIlB5dGhvbi5oIgorI2luY2x1ZGUgInVjbmhhc2guaCIKICNpbmNsdWRlIDxjdHlwZS5oPgogCiBjb25zdCBjaGFyICpQeV9oZXhkaWdpdHMgPSAiMDEyMzQ1Njc4OWFiY2RlZiI7CkBAIC04NjMsNiArODY0LDExOSBAQAogCiBQeU9iamVjdCAqUHlDb2RlY19CYWNrc2xhc2hSZXBsYWNlRXJyb3JzKFB5T2JqZWN0ICpleGMpCiB7CisgICAgUHlPYmplY3QgKm9iamVjdDsKKyAgICBQeV9zc2l6ZV90IGk7CisgICAgUHlfc3NpemVfdCBzdGFydDsKKyAgICBQeV9zc2l6ZV90IGVuZDsKKyAgICBQeU9iamVjdCAqcmVzOworICAgIHVuc2lnbmVkIGNoYXIgKm91dHA7CisgICAgaW50IHJlc3NpemU7CisgICAgUHlfVUNTNCBjOworCisgICAgaWYgKFB5T2JqZWN0X0lzSW5zdGFuY2UoZXhjLCBQeUV4Y19Vbmljb2RlRGVjb2RlRXJyb3IpKSB7CisgICAgICAgIHVuc2lnbmVkIGNoYXIgKnA7CisgICAgICAgIGlmIChQeVVuaWNvZGVEZWNvZGVFcnJvcl9HZXRTdGFydChleGMsICZzdGFydCkpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgaWYgKFB5VW5pY29kZURlY29kZUVycm9yX0dldEVuZChleGMsICZlbmQpKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIGlmICghKG9iamVjdCA9IFB5VW5pY29kZURlY29kZUVycm9yX0dldE9iamVjdChleGMpKSkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICBpZiAoIShwID0gKHVuc2lnbmVkIGNoYXIqKVB5Qnl0ZXNfQXNTdHJpbmcob2JqZWN0KSkpIHsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihvYmplY3QpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKyAgICAgICAgcmVzID0gUHlVbmljb2RlX05ldyg0ICogKGVuZCAtIHN0YXJ0KSwgMTI3KTsKKyAgICAgICAgaWYgKHJlcyA9PSBOVUxMKSB7CisgICAgICAgICAgICBQeV9ERUNSRUYob2JqZWN0KTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisgICAgICAgIG91dHAgPSBQeVVuaWNvZGVfMUJZVEVfREFUQShyZXMpOworICAgICAgICBmb3IgKGkgPSBzdGFydDsgaSA8IGVuZDsgaSsrLCBvdXRwICs9IDQpIHsKKyAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgYyA9IHBbaV07CisgICAgICAgICAgICBvdXRwWzBdID0gJ1xcJzsKKyAgICAgICAgICAgIG91dHBbMV0gPSAneCc7CisgICAgICAgICAgICBvdXRwWzJdID0gUHlfaGV4ZGlnaXRzWyhjPj40KSYweGZdOworICAgICAgICAgICAgb3V0cFszXSA9IFB5X2hleGRpZ2l0c1tjJjB4Zl07CisgICAgICAgIH0KKworICAgICAgICBhc3NlcnQoX1B5VW5pY29kZV9DaGVja0NvbnNpc3RlbmN5KHJlcywgMSkpOworICAgICAgICBQeV9ERUNSRUYob2JqZWN0KTsKKyAgICAgICAgcmV0dXJuIFB5X0J1aWxkVmFsdWUoIihObikiLCByZXMsIGVuZCk7CisgICAgfQorICAgIGlmIChQeU9iamVjdF9Jc0luc3RhbmNlKGV4YywgUHlFeGNfVW5pY29kZUVuY29kZUVycm9yKSkgeworICAgICAgICBpZiAoUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0U3RhcnQoZXhjLCAmc3RhcnQpKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIGlmIChQeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRFbmQoZXhjLCAmZW5kKSkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICBpZiAoIShvYmplY3QgPSBQeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRPYmplY3QoZXhjKSkpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgZWxzZSBpZiAoUHlPYmplY3RfSXNJbnN0YW5jZShleGMsIFB5RXhjX1VuaWNvZGVUcmFuc2xhdGVFcnJvcikpIHsKKyAgICAgICAgaWYgKFB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX0dldFN0YXJ0KGV4YywgJnN0YXJ0KSkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICBpZiAoUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfR2V0RW5kKGV4YywgJmVuZCkpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgaWYgKCEob2JqZWN0ID0gUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfR2V0T2JqZWN0KGV4YykpKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICB3cm9uZ19leGNlcHRpb25fdHlwZShleGMpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICBpZiAoZW5kIC0gc3RhcnQgPiBQWV9TU0laRV9UX01BWCAvICgxKzErOCkpCisgICAgICAgIGVuZCA9IHN0YXJ0ICsgUFlfU1NJWkVfVF9NQVggLyAoMSsxKzgpOworICAgIGZvciAoaSA9IHN0YXJ0LCByZXNzaXplID0gMDsgaSA8IGVuZDsgKytpKSB7CisgICAgICAgIC8qIG9iamVjdCBpcyBndWFyYW50ZWVkIHRvIGJlICJyZWFkeSIgKi8KKyAgICAgICAgYyA9IFB5VW5pY29kZV9SRUFEX0NIQVIob2JqZWN0LCBpKTsKKyAgICAgICAgaWYgKGMgPj0gMHgxMDAwMCkgeworICAgICAgICAgICAgcmVzc2l6ZSArPSAxKzErODsKKyAgICAgICAgfQorICAgICAgICBlbHNlIGlmIChjID49IDB4MTAwKSB7CisgICAgICAgICAgICByZXNzaXplICs9IDErMSs0OworICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHJlc3NpemUgKz0gMSsxKzI7CisgICAgfQorICAgIHJlcyA9IFB5VW5pY29kZV9OZXcocmVzc2l6ZSwgMTI3KTsKKyAgICBpZiAocmVzID09IE5VTEwpIHsKKyAgICAgICAgUHlfREVDUkVGKG9iamVjdCk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBvdXRwID0gUHlVbmljb2RlXzFCWVRFX0RBVEEocmVzKTsKKyAgICBmb3IgKGkgPSBzdGFydDsgaSA8IGVuZDsgKytpKSB7CisgICAgICAgIGMgPSBQeVVuaWNvZGVfUkVBRF9DSEFSKG9iamVjdCwgaSk7CisgICAgICAgICpvdXRwKysgPSAnXFwnOworICAgICAgICBpZiAoYyA+PSAweDAwMDEwMDAwKSB7CisgICAgICAgICAgICAqb3V0cCsrID0gJ1UnOworICAgICAgICAgICAgKm91dHArKyA9IFB5X2hleGRpZ2l0c1soYz4+MjgpJjB4Zl07CisgICAgICAgICAgICAqb3V0cCsrID0gUHlfaGV4ZGlnaXRzWyhjPj4yNCkmMHhmXTsKKyAgICAgICAgICAgICpvdXRwKysgPSBQeV9oZXhkaWdpdHNbKGM+PjIwKSYweGZdOworICAgICAgICAgICAgKm91dHArKyA9IFB5X2hleGRpZ2l0c1soYz4+MTYpJjB4Zl07CisgICAgICAgICAgICAqb3V0cCsrID0gUHlfaGV4ZGlnaXRzWyhjPj4xMikmMHhmXTsKKyAgICAgICAgICAgICpvdXRwKysgPSBQeV9oZXhkaWdpdHNbKGM+PjgpJjB4Zl07CisgICAgICAgIH0KKyAgICAgICAgZWxzZSBpZiAoYyA+PSAweDEwMCkgeworICAgICAgICAgICAgKm91dHArKyA9ICd1JzsKKyAgICAgICAgICAgICpvdXRwKysgPSBQeV9oZXhkaWdpdHNbKGM+PjEyKSYweGZdOworICAgICAgICAgICAgKm91dHArKyA9IFB5X2hleGRpZ2l0c1soYz4+OCkmMHhmXTsKKyAgICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAgICAgICAqb3V0cCsrID0gJ3gnOworICAgICAgICAqb3V0cCsrID0gUHlfaGV4ZGlnaXRzWyhjPj40KSYweGZdOworICAgICAgICAqb3V0cCsrID0gUHlfaGV4ZGlnaXRzW2MmMHhmXTsKKyAgICB9CisKKyAgICBhc3NlcnQoX1B5VW5pY29kZV9DaGVja0NvbnNpc3RlbmN5KHJlcywgMSkpOworICAgIFB5X0RFQ1JFRihvYmplY3QpOworICAgIHJldHVybiBQeV9CdWlsZFZhbHVlKCIoTm4pIiwgcmVzLCBlbmQpOworfQorCitzdGF0aWMgX1B5VW5pY29kZV9OYW1lX0NBUEkgKnVjbmhhc2hfQ0FQSSA9IE5VTEw7CitzdGF0aWMgaW50IHVjbmhhc2hfaW5pdGlhbGl6ZWQgPSAwOworCitQeU9iamVjdCAqUHlDb2RlY19OYW1lUmVwbGFjZUVycm9ycyhQeU9iamVjdCAqZXhjKQorewogICAgIGlmIChQeU9iamVjdF9Jc0luc3RhbmNlKGV4YywgUHlFeGNfVW5pY29kZUVuY29kZUVycm9yKSkgewogICAgICAgICBQeU9iamVjdCAqcmVzdHVwbGU7CiAgICAgICAgIFB5T2JqZWN0ICpvYmplY3Q7CkBAIC04NzIsMzYgKzk4Niw1NyBAQAogICAgICAgICBQeU9iamVjdCAqcmVzOwogICAgICAgICB1bnNpZ25lZCBjaGFyICpvdXRwOwogICAgICAgICBQeV9zc2l6ZV90IHJlc3NpemU7CisgICAgICAgIGludCByZXBsc2l6ZTsKICAgICAgICAgUHlfVUNTNCBjOworICAgICAgICBjaGFyIGJ1ZmZlclsyNTZdOyAvKiBOQU1FX01BWExFTiAqLwogICAgICAgICBpZiAoUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0U3RhcnQoZXhjLCAmc3RhcnQpKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIGlmIChQeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRFbmQoZXhjLCAmZW5kKSkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICBpZiAoIShvYmplY3QgPSBQeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRPYmplY3QoZXhjKSkpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgaWYgKGVuZCAtIHN0YXJ0ID4gUFlfU1NJWkVfVF9NQVggLyAoMSsxKzgpKQotICAgICAgICAgICAgZW5kID0gc3RhcnQgKyBQWV9TU0laRV9UX01BWCAvICgxKzErOCk7CisgICAgICAgIGlmICghdWNuaGFzaF9pbml0aWFsaXplZCkgeworICAgICAgICAgICAgLyogbG9hZCB0aGUgdW5pY29kZSBkYXRhIG1vZHVsZSAqLworICAgICAgICAgICAgdWNuaGFzaF9DQVBJID0gKF9QeVVuaWNvZGVfTmFtZV9DQVBJICopUHlDYXBzdWxlX0ltcG9ydCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlRGF0YV9DQVBTVUxFX05BTUUsIDEpOworICAgICAgICAgICAgdWNuaGFzaF9pbml0aWFsaXplZCA9IDE7CisgICAgICAgIH0KICAgICAgICAgZm9yIChpID0gc3RhcnQsIHJlc3NpemUgPSAwOyBpIDwgZW5kOyArK2kpIHsKICAgICAgICAgICAgIC8qIG9iamVjdCBpcyBndWFyYW50ZWVkIHRvIGJlICJyZWFkeSIgKi8KICAgICAgICAgICAgIGMgPSBQeVVuaWNvZGVfUkVBRF9DSEFSKG9iamVjdCwgaSk7Ci0gICAgICAgICAgICBpZiAoYyA+PSAweDEwMDAwKSB7Ci0gICAgICAgICAgICAgICAgcmVzc2l6ZSArPSAxKzErODsKKyAgICAgICAgICAgIGlmICh1Y25oYXNoX0NBUEkgJiYKKyAgICAgICAgICAgICAgICB1Y25oYXNoX0NBUEktPmdldG5hbWUoTlVMTCwgYywgYnVmZmVyLCBzaXplb2YoYnVmZmVyKSwgMSkpIHsKKyAgICAgICAgICAgICAgICByZXBsc2l6ZSA9IDErMSsxK3N0cmxlbihidWZmZXIpKzE7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlIGlmIChjID49IDB4MTAwMDApIHsKKyAgICAgICAgICAgICAgICByZXBsc2l6ZSA9IDErMSs4OwogICAgICAgICAgICAgfQogICAgICAgICAgICAgZWxzZSBpZiAoYyA+PSAweDEwMCkgewotICAgICAgICAgICAgICAgIHJlc3NpemUgKz0gMSsxKzQ7CisgICAgICAgICAgICAgICAgcmVwbHNpemUgPSAxKzErNDsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICByZXNzaXplICs9IDErMSsyOworICAgICAgICAgICAgICAgIHJlcGxzaXplID0gMSsxKzI7CisgICAgICAgICAgICBpZiAocmVzc2l6ZSA+IFBZX1NTSVpFX1RfTUFYIC0gcmVwbHNpemUpCisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICByZXNzaXplICs9IHJlcGxzaXplOwogICAgICAgICB9CisgICAgICAgIGVuZCA9IGk7CiAgICAgICAgIHJlcyA9IFB5VW5pY29kZV9OZXcocmVzc2l6ZSwgMTI3KTsKLSAgICAgICAgaWYgKHJlcyA9PSBOVUxMKSB7Ci0gICAgICAgICAgICBQeV9ERUNSRUYob2JqZWN0KTsKKyAgICAgICAgaWYgKHJlcz09TlVMTCkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICB9CiAgICAgICAgIGZvciAoaSA9IHN0YXJ0LCBvdXRwID0gUHlVbmljb2RlXzFCWVRFX0RBVEEocmVzKTsKICAgICAgICAgICAgIGkgPCBlbmQ7ICsraSkgewogICAgICAgICAgICAgYyA9IFB5VW5pY29kZV9SRUFEX0NIQVIob2JqZWN0LCBpKTsKICAgICAgICAgICAgICpvdXRwKysgPSAnXFwnOworICAgICAgICAgICAgaWYgKHVjbmhhc2hfQ0FQSSAmJgorICAgICAgICAgICAgICAgIHVjbmhhc2hfQ0FQSS0+Z2V0bmFtZShOVUxMLCBjLCBidWZmZXIsIHNpemVvZihidWZmZXIpLCAxKSkgeworICAgICAgICAgICAgICAgICpvdXRwKysgPSAnTic7CisgICAgICAgICAgICAgICAgKm91dHArKyA9ICd7JzsKKyAgICAgICAgICAgICAgICBzdHJjcHkoKGNoYXIgKilvdXRwLCBidWZmZXIpOworICAgICAgICAgICAgICAgIG91dHAgKz0gc3RybGVuKGJ1ZmZlcik7CisgICAgICAgICAgICAgICAgKm91dHArKyA9ICd9JzsKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlmIChjID49IDB4MDAwMTAwMDApIHsKICAgICAgICAgICAgICAgICAqb3V0cCsrID0gJ1UnOwogICAgICAgICAgICAgICAgICpvdXRwKysgPSBQeV9oZXhkaWdpdHNbKGM+PjI4KSYweGZdOwpAQCAtOTIyLDYgKzEwNTcsNyBAQAogICAgICAgICAgICAgKm91dHArKyA9IFB5X2hleGRpZ2l0c1tjJjB4Zl07CiAgICAgICAgIH0KIAorICAgICAgICBhc3NlcnQob3V0cCA9PSBQeVVuaWNvZGVfMUJZVEVfREFUQShyZXMpICsgcmVzc2l6ZSk7CiAgICAgICAgIGFzc2VydChfUHlVbmljb2RlX0NoZWNrQ29uc2lzdGVuY3kocmVzLCAxKSk7CiAgICAgICAgIHJlc3R1cGxlID0gUHlfQnVpbGRWYWx1ZSgiKE5uKSIsIHJlcywgZW5kKTsKICAgICAgICAgUHlfREVDUkVGKG9iamVjdCk7CkBAIC05MzMsNiArMTA2OSw3IEBACiAgICAgfQogfQogCisjZGVmaW5lIEVOQ19VTktOT1dOICAgICAtMQogI2RlZmluZSBFTkNfVVRGOCAgICAgICAgMAogI2RlZmluZSBFTkNfVVRGMTZCRSAgICAgMQogI2RlZmluZSBFTkNfVVRGMTZMRSAgICAgMgpAQCAtOTQ4LDcgKzEwODUsMTEgQEAKICAgICAgICAgZW5jb2RpbmcgKz0gMzsKICAgICAgICAgaWYgKCplbmNvZGluZyA9PSAnLScgfHwgKmVuY29kaW5nID09ICdfJyApCiAgICAgICAgICAgICBlbmNvZGluZysrOwotICAgICAgICBpZiAoZW5jb2RpbmdbMF0gPT0gJzEnICYmIGVuY29kaW5nWzFdID09ICc2JykgeworICAgICAgICBpZiAoZW5jb2RpbmdbMF0gPT0gJzgnICYmIGVuY29kaW5nWzFdID09ICdcMCcpIHsKKyAgICAgICAgICAgICpieXRlbGVuZ3RoID0gMzsKKyAgICAgICAgICAgIHJldHVybiBFTkNfVVRGODsKKyAgICAgICAgfQorICAgICAgICBlbHNlIGlmIChlbmNvZGluZ1swXSA9PSAnMScgJiYgZW5jb2RpbmdbMV0gPT0gJzYnKSB7CiAgICAgICAgICAgICBlbmNvZGluZyArPSAyOwogICAgICAgICAgICAgKmJ5dGVsZW5ndGggPSAyOwogICAgICAgICAgICAgaWYgKCplbmNvZGluZyA9PSAnXDAnKSB7CkBAIC05ODcsOSArMTEyOCwxMSBAQAogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQotICAgIC8qIHV0Zi04ICovCi0gICAgKmJ5dGVsZW5ndGggPSAzOwotICAgIHJldHVybiBFTkNfVVRGODsKKyAgICBlbHNlIGlmIChzdHJjbXAoZW5jb2RpbmcsICJDUF9VVEY4IikgPT0gMCkgeworICAgICAgICAqYnl0ZWxlbmd0aCA9IDM7CisgICAgICAgIHJldHVybiBFTkNfVVRGODsKKyAgICB9CisgICAgcmV0dXJuIEVOQ19VTktOT1dOOwogfQogCiAvKiBUaGlzIGhhbmRsZXIgaXMgZGVjbGFyZWQgc3RhdGljIHVudGlsIHNvbWVvbmUgZGVtb25zdHJhdGVzCkBAIC0xMDI2LDYgKzExNjksMTIgQEAKICAgICAgICAgfQogICAgICAgICBjb2RlID0gZ2V0X3N0YW5kYXJkX2VuY29kaW5nKGVuY29kaW5nLCAmYnl0ZWxlbmd0aCk7CiAgICAgICAgIFB5X0RFQ1JFRihlbmNvZGUpOworICAgICAgICBpZiAoY29kZSA9PSBFTkNfVU5LTk9XTikgeworICAgICAgICAgICAgLyogTm90IHN1cHBvcnRlZCwgZmFpbCB3aXRoIG9yaWdpbmFsIGV4Y2VwdGlvbiAqLworICAgICAgICAgICAgUHlFcnJfU2V0T2JqZWN0KFB5RXhjZXB0aW9uSW5zdGFuY2VfQ2xhc3MoZXhjKSwgZXhjKTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihvYmplY3QpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KIAogICAgICAgICBpZiAoZW5kIC0gc3RhcnQgPiBQWV9TU0laRV9UX01BWCAvIGJ5dGVsZW5ndGgpCiAgICAgICAgICAgICBlbmQgPSBzdGFydCArIFBZX1NTSVpFX1RfTUFYIC8gYnl0ZWxlbmd0aDsKQEAgLTExMDIsNiArMTI1MSwxMiBAQAogICAgICAgICB9CiAgICAgICAgIGNvZGUgPSBnZXRfc3RhbmRhcmRfZW5jb2RpbmcoZW5jb2RpbmcsICZieXRlbGVuZ3RoKTsKICAgICAgICAgUHlfREVDUkVGKGVuY29kZSk7CisgICAgICAgIGlmIChjb2RlID09IEVOQ19VTktOT1dOKSB7CisgICAgICAgICAgICAvKiBOb3Qgc3VwcG9ydGVkLCBmYWlsIHdpdGggb3JpZ2luYWwgZXhjZXB0aW9uICovCisgICAgICAgICAgICBQeUVycl9TZXRPYmplY3QoUHlFeGNlcHRpb25JbnN0YW5jZV9DbGFzcyhleGMpLCBleGMpOworICAgICAgICAgICAgUHlfREVDUkVGKG9iamVjdCk7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQogCiAgICAgICAgIC8qIFRyeSBkZWNvZGluZyBhIHNpbmdsZSBzdXJyb2dhdGUgY2hhcmFjdGVyLiBJZgogICAgICAgICAgICB0aGVyZSBhcmUgbW9yZSwgbGV0IHRoZSBjb2RlYyBjYWxsIHVzIGFnYWluLiAqLwpAQCAtMTI1Nyw2ICsxNDEyLDExIEBACiAgICAgcmV0dXJuIFB5Q29kZWNfQmFja3NsYXNoUmVwbGFjZUVycm9ycyhleGMpOwogfQogCitzdGF0aWMgUHlPYmplY3QgKm5hbWVyZXBsYWNlX2Vycm9ycyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmV4YykKK3sKKyAgICByZXR1cm4gUHlDb2RlY19OYW1lUmVwbGFjZUVycm9ycyhleGMpOworfQorCiBzdGF0aWMgUHlPYmplY3QgKnN1cnJvZ2F0ZXBhc3NfZXJyb3JzKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqZXhjKQogewogICAgIHJldHVybiBQeUNvZGVjX1N1cnJvZ2F0ZVBhc3NFcnJvcnMoZXhjKTsKQEAgLTEzMjIsOCArMTQ4MiwxOSBAQAogICAgICAgICAgICAgICAgIGJhY2tzbGFzaHJlcGxhY2VfZXJyb3JzLAogICAgICAgICAgICAgICAgIE1FVEhfTywKICAgICAgICAgICAgICAgICBQeURvY19TVFIoIkltcGxlbWVudHMgdGhlICdiYWNrc2xhc2hyZXBsYWNlJyBlcnJvciBoYW5kbGluZywgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAid2hpY2ggcmVwbGFjZXMgbWFsZm9ybWVkIGRhdGEgd2l0aCBhIGJhY2tzbGFzaGVkICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZSBzZXF1ZW5jZS4iKQorICAgICAgICAgICAgfQorICAgICAgICB9LAorICAgICAgICB7CisgICAgICAgICAgICAibmFtZXJlcGxhY2UiLAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJuYW1lcmVwbGFjZV9lcnJvcnMiLAorICAgICAgICAgICAgICAgIG5hbWVyZXBsYWNlX2Vycm9ycywKKyAgICAgICAgICAgICAgICBNRVRIX08sCisgICAgICAgICAgICAgICAgUHlEb2NfU1RSKCJJbXBsZW1lbnRzIHRoZSAnbmFtZXJlcGxhY2UnIGVycm9yIGhhbmRsaW5nLCAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3aGljaCByZXBsYWNlcyBhbiB1bmVuY29kYWJsZSBjaGFyYWN0ZXIgd2l0aCBhICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgImJhY2tzbGFzaGVkIGVzY2FwZSBzZXF1ZW5jZS4iKQorICAgICAgICAgICAgICAgICAgICAgICAgICAiXFxOey4uLn0gZXNjYXBlIHNlcXVlbmNlLiIpCiAgICAgICAgICAgICB9CiAgICAgICAgIH0sCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1B5dGhvbi9jb21waWxlLmMgYi9QeXRob24vY29tcGlsZS5jCmluZGV4IGIwN2MxNTYuLjk3ZmU1YzIgMTAwNjQ0Ci0tLSBhL1B5dGhvbi9jb21waWxlLmMKKysrIGIvUHl0aG9uL2NvbXBpbGUuYwpAQCAtMzAsOCArMzAsNiBAQAogI2luY2x1ZGUgInN5bXRhYmxlLmgiCiAjaW5jbHVkZSAib3Bjb2RlLmgiCiAKLWludCBQeV9PcHRpbWl6ZUZsYWcgPSAwOwotCiAjZGVmaW5lIERFRkFVTFRfQkxPQ0tfU0laRSAxNgogI2RlZmluZSBERUZBVUxUX0JMT0NLUyA4CiAjZGVmaW5lIERFRkFVTFRfQ09ERV9TSVpFIDEyOApAQCAtODgxLDYgKzg3OSw3IEBACiAKICAgICAgICAgY2FzZSBCSU5BUllfUE9XRVI6CiAgICAgICAgIGNhc2UgQklOQVJZX01VTFRJUExZOgorICAgICAgICBjYXNlIEJJTkFSWV9NQVRSSVhfTVVMVElQTFk6CiAgICAgICAgIGNhc2UgQklOQVJZX01PRFVMTzoKICAgICAgICAgY2FzZSBCSU5BUllfQUREOgogICAgICAgICBjYXNlIEJJTkFSWV9TVUJUUkFDVDoKQEAgLTg5NSw2ICs4OTQsNyBAQAogICAgICAgICBjYXNlIElOUExBQ0VfQUREOgogICAgICAgICBjYXNlIElOUExBQ0VfU1VCVFJBQ1Q6CiAgICAgICAgIGNhc2UgSU5QTEFDRV9NVUxUSVBMWToKKyAgICAgICAgY2FzZSBJTlBMQUNFX01BVFJJWF9NVUxUSVBMWToKICAgICAgICAgY2FzZSBJTlBMQUNFX01PRFVMTzoKICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgY2FzZSBTVE9SRV9TVUJTQ1I6CkBAIC0xOTM4LDcgKzE5MzgsNyBAQAogICAgIH0gZWxzZSBpZiAoY29uc3RhbnQgPT0gMSkgewogICAgICAgICBWSVNJVF9TRVEoYywgc3RtdCwgcy0+di5JZi5ib2R5KTsKICAgICB9IGVsc2UgewotICAgICAgICBpZiAocy0+di5JZi5vcmVsc2UpIHsKKyAgICAgICAgaWYgKGFzZGxfc2VxX0xFTihzLT52LklmLm9yZWxzZSkpIHsKICAgICAgICAgICAgIG5leHQgPSBjb21waWxlcl9uZXdfYmxvY2soYyk7CiAgICAgICAgICAgICBpZiAobmV4dCA9PSBOVUxMKQogICAgICAgICAgICAgICAgIHJldHVybiAwOwpAQCAtMTk0OCw4ICsxOTQ4LDggQEAKICAgICAgICAgVklTSVQoYywgZXhwciwgcy0+di5JZi50ZXN0KTsKICAgICAgICAgQURET1BfSkFCUyhjLCBQT1BfSlVNUF9JRl9GQUxTRSwgbmV4dCk7CiAgICAgICAgIFZJU0lUX1NFUShjLCBzdG10LCBzLT52LklmLmJvZHkpOwotICAgICAgICBBRERPUF9KUkVMKGMsIEpVTVBfRk9SV0FSRCwgZW5kKTsKLSAgICAgICAgaWYgKHMtPnYuSWYub3JlbHNlKSB7CisgICAgICAgIGlmIChhc2RsX3NlcV9MRU4ocy0+di5JZi5vcmVsc2UpKSB7CisgICAgICAgICAgICBBRERPUF9KUkVMKGMsIEpVTVBfRk9SV0FSRCwgZW5kKTsKICAgICAgICAgICAgIGNvbXBpbGVyX3VzZV9uZXh0X2Jsb2NrKGMsIG5leHQpOwogICAgICAgICAgICAgVklTSVRfU0VRKGMsIHN0bXQsIHMtPnYuSWYub3JlbHNlKTsKICAgICAgICAgfQpAQCAtMjYyNCw2ICsyNjI0LDggQEAKICAgICAgICAgcmV0dXJuIEJJTkFSWV9TVUJUUkFDVDsKICAgICBjYXNlIE11bHQ6CiAgICAgICAgIHJldHVybiBCSU5BUllfTVVMVElQTFk7CisgICAgY2FzZSBNYXRNdWx0OgorICAgICAgICByZXR1cm4gQklOQVJZX01BVFJJWF9NVUxUSVBMWTsKICAgICBjYXNlIERpdjoKICAgICAgICAgcmV0dXJuIEJJTkFSWV9UUlVFX0RJVklERTsKICAgICBjYXNlIE1vZDoKQEAgLTI2ODgsNiArMjY5MCw4IEBACiAgICAgICAgIHJldHVybiBJTlBMQUNFX1NVQlRSQUNUOwogICAgIGNhc2UgTXVsdDoKICAgICAgICAgcmV0dXJuIElOUExBQ0VfTVVMVElQTFk7CisgICAgY2FzZSBNYXRNdWx0OgorICAgICAgICByZXR1cm4gSU5QTEFDRV9NQVRSSVhfTVVMVElQTFk7CiAgICAgY2FzZSBEaXY6CiAgICAgICAgIHJldHVybiBJTlBMQUNFX1RSVUVfRElWSURFOwogICAgIGNhc2UgTW9kOgpkaWZmIC0tZ2l0IGEvUHl0aG9uL2R5bmxvYWRfd2luLmMgYi9QeXRob24vZHlubG9hZF93aW4uYwppbmRleCBmZmNmMGVlLi45ZWQ5ZWVhIDEwMDY0NAotLS0gYS9QeXRob24vZHlubG9hZF93aW4uYworKysgYi9QeXRob24vZHlubG9hZF93aW4uYwpAQCAtOSw2ICs5LDcgQEAKICNpbmNsdWRlIDxjdHlwZS5oPgogCiAjaW5jbHVkZSAiaW1wb3J0ZGwuaCIKKyNpbmNsdWRlICJwYXRjaGxldmVsLmgiCiAjaW5jbHVkZSA8d2luZG93cy5oPgogCiAvLyAiYWN0aXZhdGlvbiBjb250ZXh0IiBtYWdpYyAtIHNlZSBkbF9udC5jLi4uCkBAIC0xNywxNiArMTgsMjggQEAKIHZvaWQgX1B5X0RlYWN0aXZhdGVBY3RDdHgoVUxPTkdfUFRSIGNvb2tpZSk7CiAjZW5kaWYKIAotY29uc3QgY2hhciAqX1B5SW1wb3J0X0R5bkxvYWRGaWxldGFiW10gPSB7CiAjaWZkZWYgX0RFQlVHCi0gICAgIl9kLnB5ZCIsCisjZGVmaW5lIFBZRF9ERUJVR19TVUZGSVggIl9kIgogI2Vsc2UKLSAgICAiLnB5ZCIsCisjZGVmaW5lIFBZRF9ERUJVR19TVUZGSVggIiIKICNlbmRpZgorCisjZGVmaW5lIFNUUklOR0laRTIoeCkgI3gKKyNkZWZpbmUgU1RSSU5HSVpFKHgpIFNUUklOR0laRTIoeCkKKyNpZmRlZiBQWURfUExBVEZPUk1fVEFHCisjZGVmaW5lIFBZRF9UQUdHRURfU1VGRklYIFBZRF9ERUJVR19TVUZGSVggIi5jcCIgU1RSSU5HSVpFKFBZX01BSk9SX1ZFUlNJT04pIFNUUklOR0laRShQWV9NSU5PUl9WRVJTSU9OKSAiLSIgUFlEX1BMQVRGT1JNX1RBRyAiLnB5ZCIKKyNlbHNlCisjZGVmaW5lIFBZRF9UQUdHRURfU1VGRklYIFBZRF9ERUJVR19TVUZGSVggIi5jcCIgU1RSSU5HSVpFKFBZX01BSk9SX1ZFUlNJT04pIFNUUklOR0laRShQWV9NSU5PUl9WRVJTSU9OKSAiLnB5ZCIKKyNlbmRpZgorCisjZGVmaW5lIFBZRF9VTlRBR0dFRF9TVUZGSVggUFlEX0RFQlVHX1NVRkZJWCAiLnB5ZCIKKworY29uc3QgY2hhciAqX1B5SW1wb3J0X0R5bkxvYWRGaWxldGFiW10gPSB7CisgICAgUFlEX1RBR0dFRF9TVUZGSVgsCisgICAgUFlEX1VOVEFHR0VEX1NVRkZJWCwKICAgICBOVUxMCiB9OwogCi0KIC8qIENhc2UgaW5zZW5zaXRpdmUgc3RyaW5nIGNvbXBhcmUsIHRvIGF2b2lkIGFueSBkZXBlbmRlbmNpZXMgb24gcGFydGljdWxhcgogICAgQyBSVEwgaW1wbGVtZW50YXRpb25zICovCiAKZGlmZiAtLWdpdCBhL1B5dGhvbi9lcnJvcnMuYyBiL1B5dGhvbi9lcnJvcnMuYwppbmRleCBhOTgwNDgxLi45NDBhZWYzIDEwMDY0NAotLS0gYS9QeXRob24vZXJyb3JzLmMKKysrIGIvUHl0aG9uL2Vycm9ycy5jCkBAIC03NzMsMTkgKzc3MywxMSBAQAogI2RlZmluZSBQeUVycl9CYWRJbnRlcm5hbENhbGwoKSBfUHlFcnJfQmFkSW50ZXJuYWxDYWxsKF9fRklMRV9fLCBfX0xJTkVfXykKIAogCi0KIFB5T2JqZWN0ICoKLVB5RXJyX0Zvcm1hdChQeU9iamVjdCAqZXhjZXB0aW9uLCBjb25zdCBjaGFyICpmb3JtYXQsIC4uLikKK1B5RXJyX0Zvcm1hdFYoUHlPYmplY3QgKmV4Y2VwdGlvbiwgY29uc3QgY2hhciAqZm9ybWF0LCB2YV9saXN0IHZhcmdzKQogewotICAgIHZhX2xpc3QgdmFyZ3M7CiAgICAgUHlPYmplY3QqIHN0cmluZzsKIAotI2lmZGVmIEhBVkVfU1REQVJHX1BST1RPVFlQRVMKLSAgICB2YV9zdGFydCh2YXJncywgZm9ybWF0KTsKLSNlbHNlCi0gICAgdmFfc3RhcnQodmFyZ3MpOwotI2VuZGlmCi0KICNpZmRlZiBQeV9ERUJVRwogICAgIC8qIGluIGRlYnVnIG1vZGUsIFB5RXZhbF9FdmFsRnJhbWVFeCgpIGZhaWxzIHdpdGggYW4gYXNzZXJ0aW9uIGVycm9yCiAgICAgICAgaWYgYW4gZXhjZXB0aW9uIGlzIHNldCB3aGVuIGl0IGlzIGNhbGxlZCAqLwpAQCAtNzk1LDExICs3ODcsMjQgQEAKICAgICBzdHJpbmcgPSBQeVVuaWNvZGVfRnJvbUZvcm1hdFYoZm9ybWF0LCB2YXJncyk7CiAgICAgUHlFcnJfU2V0T2JqZWN0KGV4Y2VwdGlvbiwgc3RyaW5nKTsKICAgICBQeV9YREVDUkVGKHN0cmluZyk7Ci0gICAgdmFfZW5kKHZhcmdzKTsKICAgICByZXR1cm4gTlVMTDsKIH0KIAogCitQeU9iamVjdCAqCitQeUVycl9Gb3JtYXQoUHlPYmplY3QgKmV4Y2VwdGlvbiwgY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pCit7CisgICAgdmFfbGlzdCB2YXJnczsKKyNpZmRlZiBIQVZFX1NUREFSR19QUk9UT1RZUEVTCisgICAgdmFfc3RhcnQodmFyZ3MsIGZvcm1hdCk7CisjZWxzZQorICAgIHZhX3N0YXJ0KHZhcmdzKTsKKyNlbmRpZgorICAgIFB5RXJyX0Zvcm1hdFYoZXhjZXB0aW9uLCBmb3JtYXQsIHZhcmdzKTsKKyAgICB2YV9lbmQodmFyZ3MpOworICAgIHJldHVybiBOVUxMOworfQorCiAKIFB5T2JqZWN0ICoKIFB5RXJyX05ld0V4Y2VwdGlvbihjb25zdCBjaGFyICpuYW1lLCBQeU9iamVjdCAqYmFzZSwgUHlPYmplY3QgKmRpY3QpCmRpZmYgLS1naXQgYS9QeXRob24vZmlsZXV0aWxzLmMgYi9QeXRob24vZmlsZXV0aWxzLmMKaW5kZXggOTAxYTc0Ni4uYzVjOGQ0ZSAxMDA2NDQKLS0tIGEvUHl0aG9uL2ZpbGV1dGlscy5jCisrKyBiL1B5dGhvbi9maWxldXRpbHMuYwpAQCAtODIsMTEgKzgyLDExIEBACiAKICAgIFZhbHVlcyBvZiBmb3JjZV9hc2NpaToKIAotICAgICAgIDE6IHRoZSB3b3JrYXJvdW5kIGlzIHVzZWQ6IF9QeV93Y2hhcjJjaGFyKCkgdXNlcwotICAgICAgICAgIGVuY29kZV9hc2NpaV9zdXJyb2dhdGVlc2NhcGUoKSBhbmQgX1B5X2NoYXIyd2NoYXIoKSB1c2VzCisgICAgICAgMTogdGhlIHdvcmthcm91bmQgaXMgdXNlZDogUHlfRW5jb2RlTG9jYWxlKCkgdXNlcworICAgICAgICAgIGVuY29kZV9hc2NpaV9zdXJyb2dhdGVlc2NhcGUoKSBhbmQgUHlfRGVjb2RlTG9jYWxlKCkgdXNlcwogICAgICAgICAgIGRlY29kZV9hc2NpaV9zdXJyb2dhdGVlc2NhcGUoKQotICAgICAgIDA6IHRoZSB3b3JrYXJvdW5kIGlzIG5vdCB1c2VkOiBfUHlfd2NoYXIyY2hhcigpIHVzZXMgd2NzdG9tYnMoKSBhbmQKLSAgICAgICAgICBfUHlfY2hhcjJ3Y2hhcigpIHVzZXMgbWJzdG93Y3MoKQorICAgICAgIDA6IHRoZSB3b3JrYXJvdW5kIGlzIG5vdCB1c2VkOiBQeV9FbmNvZGVMb2NhbGUoKSB1c2VzIHdjc3RvbWJzKCkgYW5kCisgICAgICAgICAgUHlfRGVjb2RlTG9jYWxlKCkgdXNlcyBtYnN0b3djcygpCiAgICAgICAtMTogdW5rbm93biwgbmVlZCB0byBjYWxsIGNoZWNrX2ZvcmNlX2FzY2lpKCkgdG8gZ2V0IHRoZSB2YWx1ZQogKi8KIHN0YXRpYyBpbnQgZm9yY2VfYXNjaWkgPSAtMTsKQEAgLTI0NCwyNCArMjQ0LDI2IEBACiAKIAogLyogRGVjb2RlIGEgYnl0ZSBzdHJpbmcgZnJvbSB0aGUgbG9jYWxlIGVuY29kaW5nIHdpdGggdGhlCi0gICBzdXJyb2dhdGVlc2NhcGUgZXJyb3IgaGFuZGxlciAodW5kZWNvZGFibGUgYnl0ZXMgYXJlIGRlY29kZWQgYXMgY2hhcmFjdGVycwotICAgaW4gcmFuZ2UgVStEQzgwLi5VK0RDRkYpLiBJZiBhIGJ5dGUgc2VxdWVuY2UgY2FuIGJlIGRlY29kZWQgYXMgYSBzdXJyb2dhdGUKKyAgIHN1cnJvZ2F0ZWVzY2FwZSBlcnJvciBoYW5kbGVyOiB1bmRlY29kYWJsZSBieXRlcyBhcmUgZGVjb2RlZCBhcyBjaGFyYWN0ZXJzCisgICBpbiByYW5nZSBVK0RDODAuLlUrRENGRi4gSWYgYSBieXRlIHNlcXVlbmNlIGNhbiBiZSBkZWNvZGVkIGFzIGEgc3Vycm9nYXRlCiAgICBjaGFyYWN0ZXIsIGVzY2FwZSB0aGUgYnl0ZXMgdXNpbmcgdGhlIHN1cnJvZ2F0ZWVzY2FwZSBlcnJvciBoYW5kbGVyIGluc3RlYWQKICAgIG9mIGRlY29kaW5nIHRoZW0uCiAKLSAgIFVzZSBfUHlfd2NoYXIyY2hhcigpIHRvIGVuY29kZSB0aGUgY2hhcmFjdGVyIHN0cmluZyBiYWNrIHRvIGEgYnl0ZSBzdHJpbmcuCisgICBSZXR1cm4gYSBwb2ludGVyIHRvIGEgbmV3bHkgYWxsb2NhdGVkIHdpZGUgY2hhcmFjdGVyIHN0cmluZywgdXNlCisgICBQeU1lbV9SYXdGcmVlKCkgdG8gZnJlZSB0aGUgbWVtb3J5LiBJZiBzaXplIGlzIG5vdCBOVUxMLCB3cml0ZSB0aGUgbnVtYmVyIG9mCisgICB3aWRlIGNoYXJhY3RlcnMgZXhjbHVkaW5nIHRoZSBudWxsIGNoYXJhY3RlciBpbnRvICpzaXplCiAKLSAgIFJldHVybiBhIHBvaW50ZXIgdG8gYSBuZXdseSBhbGxvY2F0ZWQgd2lkZSBjaGFyYWN0ZXIgc3RyaW5nICh1c2UKLSAgIFB5TWVtX1Jhd0ZyZWUoKSB0byBmcmVlIHRoZSBtZW1vcnkpIGFuZCB3cml0ZSB0aGUgbnVtYmVyIG9mIHdyaXR0ZW4gd2lkZQotICAgY2hhcmFjdGVycyBleGNsdWRpbmcgdGhlIG51bGwgY2hhcmFjdGVyIGludG8gKnNpemUgaWYgc2l6ZSBpcyBub3QgTlVMTCwgb3IKLSAgIE5VTEwgb24gZXJyb3IgKGRlY29kaW5nIG9yIG1lbW9yeSBhbGxvY2F0aW9uIGVycm9yKS4gSWYgc2l6ZSBpcyBub3QgTlVMTCwKLSAgICpzaXplIGlzIHNldCB0byAoc2l6ZV90KS0xIG9uIG1lbW9yeSBlcnJvciBhbmQgKHNpemVfdCktMiBvbiBkZWNvZGluZwotICAgZXJyb3IuCisgICBSZXR1cm4gTlVMTCBvbiBkZWNvZGluZyBlcnJvciBvciBtZW1vcnkgYWxsb2NhdGlvbiBlcnJvci4gSWYgKnNpemUqIGlzIG5vdAorICAgTlVMTCwgKnNpemUgaXMgc2V0IHRvIChzaXplX3QpLTEgb24gbWVtb3J5IGVycm9yIG9yIHNldCB0byAoc2l6ZV90KS0yIG9uCisgICBkZWNvZGluZyBlcnJvci4KIAotICAgQ29udmVyc2lvbiBlcnJvcnMgc2hvdWxkIG5ldmVyIGhhcHBlbiwgdW5sZXNzIHRoZXJlIGlzIGEgYnVnIGluIHRoZSBDCi0gICBsaWJyYXJ5LiAqLworICAgRGVjb2RpbmcgZXJyb3JzIHNob3VsZCBuZXZlciBoYXBwZW4sIHVubGVzcyB0aGVyZSBpcyBhIGJ1ZyBpbiB0aGUgQworICAgbGlicmFyeS4KKworICAgVXNlIHRoZSBQeV9FbmNvZGVMb2NhbGUoKSBmdW5jdGlvbiB0byBlbmNvZGUgdGhlIGNoYXJhY3RlciBzdHJpbmcgYmFjayB0byBhCisgICBieXRlIHN0cmluZy4gKi8KIHdjaGFyX3QqCi1fUHlfY2hhcjJ3Y2hhcihjb25zdCBjaGFyKiBhcmcsIHNpemVfdCAqc2l6ZSkKK1B5X0RlY29kZUxvY2FsZShjb25zdCBjaGFyKiBhcmcsIHNpemVfdCAqc2l6ZSkKIHsKICNpZmRlZiBfX0FQUExFX18KICAgICB3Y2hhcl90ICp3c3RyOwpAQCAtMzk5LDE5ICs0MDEsMjAgQEAKICNlbmRpZiAgIC8qIF9fQVBQTEVfXyAqLwogfQogCi0vKiBFbmNvZGUgYSAod2lkZSkgY2hhcmFjdGVyIHN0cmluZyB0byB0aGUgbG9jYWxlIGVuY29kaW5nIHdpdGggdGhlCi0gICBzdXJyb2dhdGVlc2NhcGUgZXJyb3IgaGFuZGxlciAoY2hhcmFjdGVycyBpbiByYW5nZSBVK0RDODAuLlUrRENGRiBhcmUKLSAgIGNvbnZlcnRlZCB0byBieXRlcyAweDgwLi4weEZGKS4KKy8qIEVuY29kZSBhIHdpZGUgY2hhcmFjdGVyIHN0cmluZyB0byB0aGUgbG9jYWxlIGVuY29kaW5nIHdpdGggdGhlCisgICBzdXJyb2dhdGVlc2NhcGUgZXJyb3IgaGFuZGxlcjogc3Vycm9nYXRlIGNoYXJhY3RlcnMgaW4gdGhlIHJhbmdlCisgICBVK0RDODAuLlUrRENGRiBhcmUgY29udmVydGVkIHRvIGJ5dGVzIDB4ODAuLjB4RkYuCiAKLSAgIFRoaXMgZnVuY3Rpb24gaXMgdGhlIHJldmVyc2Ugb2YgX1B5X2NoYXIyd2NoYXIoKS4KKyAgIFJldHVybiBhIHBvaW50ZXIgdG8gYSBuZXdseSBhbGxvY2F0ZWQgYnl0ZSBzdHJpbmcsIHVzZSBQeU1lbV9GcmVlKCkgdG8gZnJlZQorICAgdGhlIG1lbW9yeS4gUmV0dXJuIE5VTEwgb24gZW5jb2Rpbmcgb3IgbWVtb3J5IGFsbG9jYXRpb24gZXJyb3IuCiAKLSAgIFJldHVybiBhIHBvaW50ZXIgdG8gYSBuZXdseSBhbGxvY2F0ZWQgYnl0ZSBzdHJpbmcgKHVzZSBQeU1lbV9GcmVlKCkgdG8gZnJlZQotICAgdGhlIG1lbW9yeSksIG9yIE5VTEwgb24gZW5jb2Rpbmcgb3IgbWVtb3J5IGFsbG9jYXRpb24gZXJyb3IuCisgICBJZiBlcnJvcl9wb3MgaXMgbm90IE5VTEwsICplcnJvcl9wb3MgaXMgc2V0IHRvIHRoZSBpbmRleCBvZiB0aGUgaW52YWxpZAorICAgY2hhcmFjdGVyIG9uIGVuY29kaW5nIGVycm9yLCBvciBzZXQgdG8gKHNpemVfdCktMSBvdGhlcndpc2UuCiAKLSAgIElmIGVycm9yX3BvcyBpcyBub3QgTlVMTDogKmVycm9yX3BvcyBpcyB0aGUgaW5kZXggb2YgdGhlIGludmFsaWQgY2hhcmFjdGVyCi0gICBvbiBlbmNvZGluZyBlcnJvciwgb3IgKHNpemVfdCktMSBvdGhlcndpc2UuICovCisgICBVc2UgdGhlIFB5X0RlY29kZUxvY2FsZSgpIGZ1bmN0aW9uIHRvIGRlY29kZSB0aGUgYnl0ZXMgc3RyaW5nIGJhY2sgdG8gYSB3aWRlCisgICBjaGFyYWN0ZXIgc3RyaW5nLiAqLwogY2hhcioKLV9QeV93Y2hhcjJjaGFyKGNvbnN0IHdjaGFyX3QgKnRleHQsIHNpemVfdCAqZXJyb3JfcG9zKQorUHlfRW5jb2RlTG9jYWxlKGNvbnN0IHdjaGFyX3QgKnRleHQsIHNpemVfdCAqZXJyb3JfcG9zKQogewogI2lmZGVmIF9fQVBQTEVfXwogICAgIFB5X3NzaXplX3QgbGVuOwpAQCAtNTMwLDcgKzUzMyw3IEBACiB7CiAgICAgaW50IGVycjsKICAgICBjaGFyICpmbmFtZTsKLSAgICBmbmFtZSA9IF9QeV93Y2hhcjJjaGFyKHBhdGgsIE5VTEwpOworICAgIGZuYW1lID0gUHlfRW5jb2RlTG9jYWxlKHBhdGgsIE5VTEwpOwogICAgIGlmIChmbmFtZSA9PSBOVUxMKSB7CiAgICAgICAgIGVycm5vID0gRUlOVkFMOwogICAgICAgICByZXR1cm4gLTE7CkBAIC04MTQsNyArODE3LDcgQEAKICAgICAgICAgZXJybm8gPSBFSU5WQUw7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLSAgICBjcGF0aCA9IF9QeV93Y2hhcjJjaGFyKHBhdGgsIE5VTEwpOworICAgIGNwYXRoID0gUHlfRW5jb2RlTG9jYWxlKHBhdGgsIE5VTEwpOwogICAgIGlmIChjcGF0aCA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICBmID0gZm9wZW4oY3BhdGgsIGNtb2RlKTsKQEAgLTkwNSw3ICs5MDgsNyBAQAogICAgIGludCByZXM7CiAgICAgc2l6ZV90IHIxOwogCi0gICAgY3BhdGggPSBfUHlfd2NoYXIyY2hhcihwYXRoLCBOVUxMKTsKKyAgICBjcGF0aCA9IFB5X0VuY29kZUxvY2FsZShwYXRoLCBOVUxMKTsKICAgICBpZiAoY3BhdGggPT0gTlVMTCkgewogICAgICAgICBlcnJubyA9IEVJTlZBTDsKICAgICAgICAgcmV0dXJuIC0xOwpAQCAtOTE5LDcgKzkyMiw3IEBACiAgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAgICAgY2J1ZltyZXNdID0gJ1wwJzsgLyogYnVmIHdpbGwgYmUgbnVsbCB0ZXJtaW5hdGVkICovCi0gICAgd2J1ZiA9IF9QeV9jaGFyMndjaGFyKGNidWYsICZyMSk7CisgICAgd2J1ZiA9IFB5X0RlY29kZUxvY2FsZShjYnVmLCAmcjEpOwogICAgIGlmICh3YnVmID09IE5VTEwpIHsKICAgICAgICAgZXJybm8gPSBFSU5WQUw7CiAgICAgICAgIHJldHVybiAtMTsKQEAgLTk1MCw3ICs5NTMsNyBAQAogICAgIHdjaGFyX3QgKndyZXNvbHZlZF9wYXRoOwogICAgIGNoYXIgKnJlczsKICAgICBzaXplX3QgcjsKLSAgICBjcGF0aCA9IF9QeV93Y2hhcjJjaGFyKHBhdGgsIE5VTEwpOworICAgIGNwYXRoID0gUHlfRW5jb2RlTG9jYWxlKHBhdGgsIE5VTEwpOwogICAgIGlmIChjcGF0aCA9PSBOVUxMKSB7CiAgICAgICAgIGVycm5vID0gRUlOVkFMOwogICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTk2MCw3ICs5NjMsNyBAQAogICAgIGlmIChyZXMgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICB3cmVzb2x2ZWRfcGF0aCA9IF9QeV9jaGFyMndjaGFyKGNyZXNvbHZlZF9wYXRoLCAmcik7CisgICAgd3Jlc29sdmVkX3BhdGggPSBQeV9EZWNvZGVMb2NhbGUoY3Jlc29sdmVkX3BhdGgsICZyKTsKICAgICBpZiAod3Jlc29sdmVkX3BhdGggPT0gTlVMTCkgewogICAgICAgICBlcnJubyA9IEVJTlZBTDsKICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC05OTMsNyArOTk2LDcgQEAKIAogICAgIGlmIChnZXRjd2QoZm5hbWUsIFB5X0FSUkFZX0xFTkdUSChmbmFtZSkpID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIHduYW1lID0gX1B5X2NoYXIyd2NoYXIoZm5hbWUsICZsZW4pOworICAgIHduYW1lID0gUHlfRGVjb2RlTG9jYWxlKGZuYW1lLCAmbGVuKTsKICAgICBpZiAod25hbWUgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgaWYgKHNpemUgPD0gbGVuKSB7CkBAIC0xMDc1LDMgKzEwNzgsNTYgQEAKICAgICByZXR1cm4gZmQ7CiB9CiAKKyNpZm5kZWYgTVNfV0lORE9XUworLyogR2V0IHRoZSBibG9ja2luZyBtb2RlIG9mIHRoZSBmaWxlIGRlc2NyaXB0b3IuCisgICBSZXR1cm4gMCBpZiB0aGUgT19OT05CTE9DSyBmbGFnIGlzIHNldCwgMSBpZiB0aGUgZmxhZyBpcyBjbGVhcmVkLAorICAgcmFpc2UgYW4gZXhjZXB0aW9uIGFuZCByZXR1cm4gLTEgb24gZXJyb3IuICovCitpbnQKK19QeV9nZXRfYmxvY2tpbmcoaW50IGZkKQoreworICAgIGludCBmbGFncyA9IGZjbnRsKGZkLCBGX0dFVEZMLCAwKTsKKyAgICBpZiAoZmxhZ3MgPCAwKSB7CisgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19PU0Vycm9yKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKworICAgIHJldHVybiAhKGZsYWdzICYgT19OT05CTE9DSyk7Cit9CisKKy8qIFNldCB0aGUgYmxvY2tpbmcgbW9kZSBvZiB0aGUgc3BlY2lmaWVkIGZpbGUgZGVzY3JpcHRvci4KKworICAgU2V0IHRoZSBPX05PTkJMT0NLIGZsYWcgaWYgYmxvY2tpbmcgaXMgRmFsc2UsIGNsZWFyIHRoZSBPX05PTkJMT0NLIGZsYWcKKyAgIG90aGVyd2lzZS4KKworICAgUmV0dXJuIDAgb24gc3VjY2VzcywgcmFpc2UgYW4gZXhjZXB0aW9uIGFuZCByZXR1cm4gLTEgb24gZXJyb3IuICovCitpbnQKK19QeV9zZXRfYmxvY2tpbmcoaW50IGZkLCBpbnQgYmxvY2tpbmcpCit7CisjaWYgZGVmaW5lZChIQVZFX1NZU19JT0NUTF9IKSAmJiBkZWZpbmVkKEZJT05CSU8pCisgICAgaW50IGFyZyA9ICFibG9ja2luZzsKKyAgICBpZiAoaW9jdGwoZmQsIEZJT05CSU8sICZhcmcpIDwgMCkKKyAgICAgICAgZ290byBlcnJvcjsKKyNlbHNlCisgICAgaW50IGZsYWdzLCByZXM7CisKKyAgICBmbGFncyA9IGZjbnRsKGZkLCBGX0dFVEZMLCAwKTsKKyAgICBpZiAoZmxhZ3MgPCAwKQorICAgICAgICBnb3RvIGVycm9yOworCisgICAgaWYgKGJsb2NraW5nKQorICAgICAgICBmbGFncyA9IGZsYWdzICYgKH5PX05PTkJMT0NLKTsKKyAgICBlbHNlCisgICAgICAgIGZsYWdzID0gZmxhZ3MgfCBPX05PTkJMT0NLOworCisgICAgcmVzID0gZmNudGwoZmQsIEZfU0VURkwsIGZsYWdzKTsKKyAgICBpZiAocmVzIDwgMCkKKyAgICAgICAgZ290byBlcnJvcjsKKyNlbmRpZgorICAgIHJldHVybiAwOworCitlcnJvcjoKKyAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfT1NFcnJvcik7CisgICAgcmV0dXJuIC0xOworfQorI2VuZGlmCisKZGlmZiAtLWdpdCBhL1B5dGhvbi9mb3JtYXR0ZXJfdW5pY29kZS5jIGIvUHl0aG9uL2Zvcm1hdHRlcl91bmljb2RlLmMKaW5kZXggZTNhODE0OS4uMDU2YmI3NiAxMDA2NDQKLS0tIGEvUHl0aG9uL2Zvcm1hdHRlcl91bmljb2RlLmMKKysrIGIvUHl0aG9uL2Zvcm1hdHRlcl91bmljb2RlLmMKQEAgLTg0Niw2ICs4NDYsMTMgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIGZvcm1hdCBzcGVjaWZpZXIgJ2MnIik7CiAgICAgICAgICAgICBnb3RvIGRvbmU7CiAgICAgICAgIH0KKyAgICAgICAgLyogZXJyb3IgdG8gcmVxdWVzdCBhbHRlcm5hdGUgZm9ybWF0ICovCisgICAgICAgIGlmIChmb3JtYXQtPmFsdGVybmF0ZSkgeworICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkFsdGVybmF0ZSBmb3JtICgjKSBub3QgYWxsb3dlZCB3aXRoIGludGVnZXIiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiBmb3JtYXQgc3BlY2lmaWVyICdjJyIpOworICAgICAgICAgICAgZ290byBkb25lOworICAgICAgICB9CiAKICAgICAgICAgLyogdGFrZW4gZnJvbSB1bmljb2Rlb2JqZWN0LmMgZm9ybWF0Y2hhcigpICovCiAgICAgICAgIC8qIEludGVnZXIgaW5wdXQgdHJ1bmNhdGVkIHRvIGEgY2hhcmFjdGVyICovCmRpZmYgLS1naXQgYS9QeXRob24vZnJvemVubWFpbi5jIGIvUHl0aG9uL2Zyb3plbm1haW4uYwppbmRleCA1NWQwNWZjLi5jYjg0ZWQ1IDEwMDY0NAotLS0gYS9QeXRob24vZnJvemVubWFpbi5jCisrKyBiL1B5dGhvbi9mcm96ZW5tYWluLmMKQEAgLTUyLDcgKzUyLDcgQEAKIAogICAgIHNldGxvY2FsZShMQ19BTEwsICIiKTsKICAgICBmb3IgKGkgPSAwOyBpIDwgYXJnYzsgaSsrKSB7Ci0gICAgICAgIGFyZ3ZfY29weVtpXSA9IF9QeV9jaGFyMndjaGFyKGFyZ3ZbaV0sIE5VTEwpOworICAgICAgICBhcmd2X2NvcHlbaV0gPSBQeV9EZWNvZGVMb2NhbGUoYXJndltpXSwgTlVMTCk7CiAgICAgICAgIGFyZ3ZfY29weTJbaV0gPSBhcmd2X2NvcHlbaV07CiAgICAgICAgIGlmICghYXJndl9jb3B5W2ldKSB7CiAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIlVuYWJsZSB0byBkZWNvZGUgdGhlIGNvbW1hbmQgbGluZSBhcmd1bWVudCAjJWlcbiIsCmRpZmYgLS1naXQgYS9QeXRob24vZ2V0YXJncy5jIGIvUHl0aG9uL2dldGFyZ3MuYwppbmRleCAzZjQ3YjIxLi5mMGY4ZTM5IDEwMDY0NAotLS0gYS9QeXRob24vZ2V0YXJncy5jCisrKyBiL1B5dGhvbi9nZXRhcmdzLmMKQEAgLTg3MiwxMCArODcyLDEwIEBACiAgICAgICAgICAgICBTVE9SRV9TSVpFKGNvdW50KTsKICAgICAgICAgICAgIGZvcm1hdCsrOwogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgaWYgKHN0cmxlbigqcCkgIT0gY291bnQpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGNvbnZlcnRlcnIoCi0gICAgICAgICAgICAgICAgICAgICJieXRlcyB3aXRob3V0IG51bGwgYnl0ZXMiLAotICAgICAgICAgICAgICAgICAgICBhcmcsIG1zZ2J1ZiwgYnVmc2l6ZSk7CisgICAgICAgICAgICBpZiAoc3RybGVuKCpwKSAhPSAoc2l6ZV90KWNvdW50KSB7CisgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJlbWJlZGRlZCBudWxsIGJ5dGUiKTsKKyAgICAgICAgICAgICAgICBSRVRVUk5fRVJSX09DQ1VSUkVEOworICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogICAgIH0KQEAgLTk0OCwxNiArOTQ4LDE1IEBACiAgICAgICAgICAgICAgICAgaWYgKHNhcmcgPT0gTlVMTCkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnZlcnRlcnIoQ09OVl9VTklDT0RFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmcsIG1zZ2J1ZiwgYnVmc2l6ZSk7CisgICAgICAgICAgICAgICAgaWYgKHN0cmxlbihzYXJnKSAhPSAoc2l6ZV90KWxlbikgeworICAgICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgImVtYmVkZGVkIG51bGwgY2hhcmFjdGVyIik7CisgICAgICAgICAgICAgICAgICAgIFJFVFVSTl9FUlJfT0NDVVJSRUQ7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICpwID0gc2FyZzsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICByZXR1cm4gY29udmVydGVycihjID09ICd6JyA/ICJzdHIgb3IgTm9uZSIgOiAic3RyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmcsIG1zZ2J1ZiwgYnVmc2l6ZSk7Ci0gICAgICAgICAgICBpZiAoKnAgIT0gTlVMTCAmJiBzYXJnICE9IE5VTEwgJiYgKFB5X3NzaXplX3QpIHN0cmxlbigqcCkgIT0gbGVuKQotICAgICAgICAgICAgICAgIHJldHVybiBjb252ZXJ0ZXJyKAotICAgICAgICAgICAgICAgICAgICBjID09ICd6JyA/ICJzdHIgd2l0aG91dCBudWxsIGNoYXJhY3RlcnMgb3IgTm9uZSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAic3RyIHdpdGhvdXQgbnVsbCBjaGFyYWN0ZXJzIiwKLSAgICAgICAgICAgICAgICAgICAgYXJnLCBtc2didWYsIGJ1ZnNpemUpOwogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogICAgIH0KQEAgLTk5NCwxMCArOTkzLDEwIEBACiAgICAgICAgICAgICAgICAgKnAgPSBQeVVuaWNvZGVfQXNVbmljb2RlQW5kU2l6ZShhcmcsICZsZW4pOwogICAgICAgICAgICAgICAgIGlmICgqcCA9PSBOVUxMKQogICAgICAgICAgICAgICAgICAgICBSRVRVUk5fRVJSX09DQ1VSUkVEOwotICAgICAgICAgICAgICAgIGlmIChQeV9VTklDT0RFX3N0cmxlbigqcCkgIT0gbGVuKQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29udmVydGVycigKLSAgICAgICAgICAgICAgICAgICAgICAgICJzdHIgd2l0aG91dCBudWxsIGNoYXJhY3RlcnMgb3IgTm9uZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICBhcmcsIG1zZ2J1ZiwgYnVmc2l6ZSk7CisgICAgICAgICAgICAgICAgaWYgKFB5X1VOSUNPREVfc3RybGVuKCpwKSAhPSAoc2l6ZV90KWxlbikgeworICAgICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgImVtYmVkZGVkIG51bGwgY2hhcmFjdGVyIik7CisgICAgICAgICAgICAgICAgICAgIFJFVFVSTl9FUlJfT0NDVVJSRUQ7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnZlcnRlcnIoYyA9PSAnWicgPyAic3RyIG9yIE5vbmUiIDogInN0ciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJnLCBtc2didWYsIGJ1ZnNpemUpOwpAQCAtMTI0NSw3ICsxMjQ0LDggQEAKICAgICAgICAgICAgc3VwcG9ydHMgaXQgZGlyZWN0bHkuICovCiAgICAgICAgIGlmIChQeU9iamVjdF9HZXRCdWZmZXIoYXJnLCAoUHlfYnVmZmVyKilwLCBQeUJVRl9XUklUQUJMRSkgPCAwKSB7CiAgICAgICAgICAgICBQeUVycl9DbGVhcigpOwotICAgICAgICAgICAgcmV0dXJuIGNvbnZlcnRlcnIoInJlYWQtd3JpdGUgYnVmZmVyIiwgYXJnLCBtc2didWYsIGJ1ZnNpemUpOworICAgICAgICAgICAgcmV0dXJuIGNvbnZlcnRlcnIoInJlYWQtd3JpdGUgYnl0ZXMtbGlrZSBvYmplY3QiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJnLCBtc2didWYsIGJ1ZnNpemUpOwogICAgICAgICB9CiAgICAgICAgIGlmICghUHlCdWZmZXJfSXNDb250aWd1b3VzKChQeV9idWZmZXIqKXAsICdDJykpIHsKICAgICAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoKFB5X2J1ZmZlciopcCk7CkBAIC0xMjgzLDcgKzEyODMsNyBAQAogICAgICplcnJtc2cgPSBOVUxMOwogICAgICpwID0gTlVMTDsKICAgICBpZiAocGIgIT0gTlVMTCAmJiBwYi0+YmZfcmVsZWFzZWJ1ZmZlciAhPSBOVUxMKSB7Ci0gICAgICAgICplcnJtc2cgPSAicmVhZC1vbmx5IHBpbm5lZCBidWZmZXIiOworICAgICAgICAqZXJybXNnID0gInJlYWQtb25seSBieXRlcy1saWtlIG9iamVjdCI7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAKQEAgLTEyOTksNyArMTI5OSw3IEBACiBnZXRidWZmZXIoUHlPYmplY3QgKmFyZywgUHlfYnVmZmVyICp2aWV3LCBjaGFyICoqZXJybXNnKQogewogICAgIGlmIChQeU9iamVjdF9HZXRCdWZmZXIoYXJnLCB2aWV3LCBQeUJVRl9TSU1QTEUpICE9IDApIHsKLSAgICAgICAgKmVycm1zZyA9ICJieXRlcyBvciBidWZmZXIiOworICAgICAgICAqZXJybXNnID0gImJ5dGVzLWxpa2Ugb2JqZWN0IjsKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KICAgICBpZiAoIVB5QnVmZmVyX0lzQ29udGlndW91cyh2aWV3LCAnQycpKSB7CmRpZmYgLS1naXQgYS9QeXRob24vZ3JhbWluaXQuYyBiL1B5dGhvbi9ncmFtaW5pdC5jCmluZGV4IGUwNDk5OWIuLjlmNzlkNTkgMTAwNjQ0Ci0tLSBhL1B5dGhvbi9ncmFtaW5pdC5jCisrKyBiL1B5dGhvbi9ncmFtaW5pdC5jCkBAIC00NzYsNyArNDc2LDcgQEAKICAgICB7MiwgYXJjc18xNl8xfSwKICAgICB7MywgYXJjc18xNl8yfSwKIH07Ci1zdGF0aWMgYXJjIGFyY3NfMTdfMFsxMl0gPSB7CitzdGF0aWMgYXJjIGFyY3NfMTdfMFsxM10gPSB7CiAgICAgezQ5LCAxfSwKICAgICB7NTAsIDF9LAogICAgIHs1MSwgMX0sCkBAIC00ODksMTkgKzQ4OSwyMCBAQAogICAgIHs1OCwgMX0sCiAgICAgezU5LCAxfSwKICAgICB7NjAsIDF9LAorICAgIHs2MSwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzE3XzFbMV0gPSB7CiAgICAgezAsIDF9LAogfTsKIHN0YXRpYyBzdGF0ZSBzdGF0ZXNfMTdbMl0gPSB7Ci0gICAgezEyLCBhcmNzXzE3XzB9LAorICAgIHsxMywgYXJjc18xN18wfSwKICAgICB7MSwgYXJjc18xN18xfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMThfMFsxXSA9IHsKLSAgICB7NjEsIDF9LAorICAgIHs2MiwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzE4XzFbMV0gPSB7Ci0gICAgezYyLCAyfSwKKyAgICB7NjMsIDJ9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18xOF8yWzFdID0gewogICAgIHswLCAyfSwKQEAgLTUxMiw3ICs1MTMsNyBAQAogICAgIHsxLCBhcmNzXzE4XzJ9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18xOV8wWzFdID0gewotICAgIHs2MywgMX0sCisgICAgezY0LCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMTlfMVsxXSA9IHsKICAgICB7MCwgMX0sCkBAIC01MjIsMTEgKzUyMywxMSBAQAogICAgIHsxLCBhcmNzXzE5XzF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18yMF8wWzVdID0gewotICAgIHs2NCwgMX0sCiAgICAgezY1LCAxfSwKICAgICB7NjYsIDF9LAogICAgIHs2NywgMX0sCiAgICAgezY4LCAxfSwKKyAgICB7NjksIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18yMF8xWzFdID0gewogICAgIHswLCAxfSwKQEAgLTUzNiw3ICs1MzcsNyBAQAogICAgIHsxLCBhcmNzXzIwXzF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18yMV8wWzFdID0gewotICAgIHs2OSwgMX0sCisgICAgezcwLCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMjFfMVsxXSA9IHsKICAgICB7MCwgMX0sCkBAIC01NDYsNyArNTQ3LDcgQEAKICAgICB7MSwgYXJjc18yMV8xfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMjJfMFsxXSA9IHsKLSAgICB7NzAsIDF9LAorICAgIHs3MSwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzIyXzFbMV0gPSB7CiAgICAgezAsIDF9LApAQCAtNTU2LDcgKzU1Nyw3IEBACiAgICAgezEsIGFyY3NfMjJfMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzIzXzBbMV0gPSB7Ci0gICAgezcxLCAxfSwKKyAgICB7NzIsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18yM18xWzJdID0gewogICAgIHs5LCAyfSwKQEAgLTU4MSwxNCArNTgyLDE0IEBACiAgICAgezEsIGFyY3NfMjRfMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzI1XzBbMV0gPSB7Ci0gICAgezcyLCAxfSwKKyAgICB7NzMsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18yNV8xWzJdID0gewogICAgIHsyNCwgMn0sCiAgICAgezAsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18yNV8yWzJdID0gewotICAgIHs3MywgM30sCisgICAgezc0LCAzfSwKICAgICB7MCwgMn0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzI1XzNbMV0gPSB7CkBAIC02MDUsOCArNjA2LDggQEAKICAgICB7MSwgYXJjc18yNV80fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMjZfMFsyXSA9IHsKLSAgICB7NzQsIDF9LAogICAgIHs3NSwgMX0sCisgICAgezc2LCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMjZfMVsxXSA9IHsKICAgICB7MCwgMX0sCkBAIC02MTYsMTAgKzYxNywxMCBAQAogICAgIHsxLCBhcmNzXzI2XzF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18yN18wWzFdID0gewotICAgIHs3NiwgMX0sCisgICAgezc3LCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMjdfMVsxXSA9IHsKLSAgICB7NzcsIDJ9LAorICAgIHs3OCwgMn0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzI3XzJbMV0gPSB7CiAgICAgezAsIDJ9LApAQCAtNjMwLDMyICs2MzEsMzIgQEAKICAgICB7MSwgYXJjc18yN18yfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMjhfMFsxXSA9IHsKLSAgICB7NzMsIDF9LAorICAgIHs3NCwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzI4XzFbM10gPSB7Ci0gICAgezc4LCAyfSwKICAgICB7NzksIDJ9LAorICAgIHs4MCwgMn0sCiAgICAgezEyLCAzfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMjhfMls0XSA9IHsKLSAgICB7NzgsIDJ9LAogICAgIHs3OSwgMn0sCisgICAgezgwLCAyfSwKICAgICB7MTIsIDN9LAotICAgIHs3NiwgNH0sCisgICAgezc3LCA0fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMjhfM1sxXSA9IHsKLSAgICB7NzYsIDR9LAorICAgIHs3NywgNH0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzI4XzRbM10gPSB7CiAgICAgezMxLCA1fSwKICAgICB7MTMsIDZ9LAotICAgIHs4MCwgNX0sCisgICAgezgxLCA1fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMjhfNVsxXSA9IHsKICAgICB7MCwgNX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzI4XzZbMV0gPSB7Ci0gICAgezgwLCA3fSwKKyAgICB7ODEsIDd9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18yOF83WzFdID0gewogICAgIHsxNSwgNX0sCkBAIC02NzQsNyArNjc1LDcgQEAKICAgICB7MjEsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18yOV8xWzJdID0gewotICAgIHs4MiwgMn0sCisgICAgezgzLCAyfSwKICAgICB7MCwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzI5XzJbMV0gPSB7CkBAIC02OTMsNyArNjk0LDcgQEAKICAgICB7MTIsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18zMF8xWzJdID0gewotICAgIHs4MiwgMn0sCisgICAgezgzLCAyfSwKICAgICB7MCwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzMwXzJbMV0gPSB7CkBAIC03MDksMTQgKzcxMCwxNCBAQAogICAgIHsxLCBhcmNzXzMwXzN9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18zMV8wWzFdID0gewotICAgIHs4MSwgMX0sCisgICAgezgyLCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMzFfMVsyXSA9IHsKICAgICB7MzAsIDJ9LAogICAgIHswLCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMzFfMlsyXSA9IHsKLSAgICB7ODEsIDF9LAorICAgIHs4MiwgMX0sCiAgICAgezAsIDJ9LAogfTsKIHN0YXRpYyBzdGF0ZSBzdGF0ZXNfMzFbM10gPSB7CkBAIC03MjUsNyArNzI2LDcgQEAKICAgICB7MiwgYXJjc18zMV8yfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMzJfMFsxXSA9IHsKLSAgICB7ODMsIDF9LAorICAgIHs4NCwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzMyXzFbMl0gPSB7CiAgICAgezMwLCAwfSwKQEAgLTczOSw3ICs3NDAsNyBAQAogICAgIHsyMSwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzMzXzFbMl0gPSB7Ci0gICAgezc4LCAwfSwKKyAgICB7NzksIDB9LAogICAgIHswLCAxfSwKIH07CiBzdGF0aWMgc3RhdGUgc3RhdGVzXzMzWzJdID0gewpAQCAtNzQ3LDcgKzc0OCw3IEBACiAgICAgezIsIGFyY3NfMzNfMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzM0XzBbMV0gPSB7Ci0gICAgezg0LCAxfSwKKyAgICB7ODUsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18zNF8xWzFdID0gewogICAgIHsyMSwgMn0sCkBAIC03NjIsNyArNzYzLDcgQEAKICAgICB7MiwgYXJjc18zNF8yfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMzVfMFsxXSA9IHsKLSAgICB7ODUsIDF9LAorICAgIHs4NiwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzM1XzFbMV0gPSB7CiAgICAgezIxLCAyfSwKQEAgLTc3Nyw3ICs3NzgsNyBAQAogICAgIHsyLCBhcmNzXzM1XzJ9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18zNl8wWzFdID0gewotICAgIHs4NiwgMX0sCisgICAgezg3LCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMzZfMVsxXSA9IHsKICAgICB7MjQsIDJ9LApAQCAtODAwLDExICs4MDEsMTEgQEAKICAgICB7MSwgYXJjc18zNl80fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMzdfMFs4XSA9IHsKLSAgICB7ODcsIDF9LAogICAgIHs4OCwgMX0sCiAgICAgezg5LCAxfSwKICAgICB7OTAsIDF9LAogICAgIHs5MSwgMX0sCisgICAgezkyLCAxfSwKICAgICB7MTksIDF9LAogICAgIHsxOCwgMX0sCiAgICAgezE3LCAxfSwKQEAgLTgxNyw3ICs4MTgsNyBAQAogICAgIHsxLCBhcmNzXzM3XzF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18zOF8wWzFdID0gewotICAgIHs5MiwgMX0sCisgICAgezkzLCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMzhfMVsxXSA9IHsKICAgICB7MjQsIDJ9LApAQCAtODI5LDggKzgzMCw4IEBACiAgICAgezI2LCA0fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMzhfNFszXSA9IHsKLSAgICB7OTMsIDF9LAotICAgIHs5NCwgNX0sCisgICAgezk0LCAxfSwKKyAgICB7OTUsIDV9LAogICAgIHswLCA0fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMzhfNVsxXSA9IHsKQEAgLTg1Myw3ICs4NTQsNyBAQAogICAgIHsxLCBhcmNzXzM4Xzd9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18zOV8wWzFdID0gewotICAgIHs5NSwgMX0sCisgICAgezk2LCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMzlfMVsxXSA9IHsKICAgICB7MjQsIDJ9LApAQCAtODY1LDcgKzg2Niw3IEBACiAgICAgezI2LCA0fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMzlfNFsyXSA9IHsKLSAgICB7OTQsIDV9LAorICAgIHs5NSwgNX0sCiAgICAgezAsIDR9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18zOV81WzFdID0gewpAQCAtODg4LDEzICs4ODksMTMgQEAKICAgICB7MSwgYXJjc18zOV83fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNDBfMFsxXSA9IHsKLSAgICB7OTYsIDF9LAorICAgIHs5NywgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzQwXzFbMV0gPSB7Ci0gICAgezYyLCAyfSwKKyAgICB7NjMsIDJ9LAogfTsKIHN0YXRpYyBhcmMgYXJjc180MF8yWzFdID0gewotICAgIHs5NywgM30sCisgICAgezk4LCAzfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNDBfM1sxXSA9IHsKICAgICB7OSwgNH0sCkBAIC05MDYsNyArOTA3LDcgQEAKICAgICB7MjYsIDZ9LAogfTsKIHN0YXRpYyBhcmMgYXJjc180MF82WzJdID0gewotICAgIHs5NCwgN30sCisgICAgezk1LCA3fSwKICAgICB7MCwgNn0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzQwXzdbMV0gPSB7CkBAIC05MzEsNyArOTMyLDcgQEAKICAgICB7MSwgYXJjc180MF85fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNDFfMFsxXSA9IHsKLSAgICB7OTgsIDF9LAorICAgIHs5OSwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzQxXzFbMV0gPSB7CiAgICAgezI1LCAyfSwKQEAgLTk0MCw4ICs5NDEsOCBAQAogICAgIHsyNiwgM30sCiB9Owogc3RhdGljIGFyYyBhcmNzXzQxXzNbMl0gPSB7Ci0gICAgezk5LCA0fSwKLSAgICB7MTAwLCA1fSwKKyAgICB7MTAwLCA0fSwKKyAgICB7MTAxLCA1fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNDFfNFsxXSA9IHsKICAgICB7MjUsIDZ9LApAQCAtOTU2LDkgKzk1Nyw5IEBACiAgICAgezI2LCA5fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNDFfOFs0XSA9IHsKLSAgICB7OTksIDR9LAotICAgIHs5NCwgMTB9LAotICAgIHsxMDAsIDV9LAorICAgIHsxMDAsIDR9LAorICAgIHs5NSwgMTB9LAorICAgIHsxMDEsIDV9LAogICAgIHswLCA4fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNDFfOVsxXSA9IHsKQEAgLTk3MSw3ICs5NzIsNyBAQAogICAgIHsyNiwgMTJ9LAogfTsKIHN0YXRpYyBhcmMgYXJjc180MV8xMlsyXSA9IHsKLSAgICB7MTAwLCA1fSwKKyAgICB7MTAxLCA1fSwKICAgICB7MCwgMTJ9LAogfTsKIHN0YXRpYyBzdGF0ZSBzdGF0ZXNfNDFbMTNdID0gewpAQCAtOTkwLDEwICs5OTEsMTAgQEAKICAgICB7MiwgYXJjc180MV8xMn0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzQyXzBbMV0gPSB7Ci0gICAgezEwMSwgMX0sCisgICAgezEwMiwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzQyXzFbMV0gPSB7Ci0gICAgezEwMiwgMn0sCisgICAgezEwMywgMn0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzQyXzJbMl0gPSB7CiAgICAgezMwLCAxfSwKQEAgLTEwMTYsMTEgKzEwMTcsMTEgQEAKICAgICB7MjQsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc180M18xWzJdID0gewotICAgIHs4MiwgMn0sCisgICAgezgzLCAyfSwKICAgICB7MCwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzQzXzJbMV0gPSB7Ci0gICAgezEwMywgM30sCisgICAgezEwNCwgM30sCiB9Owogc3RhdGljIGFyYyBhcmNzXzQzXzNbMV0gPSB7CiAgICAgezAsIDN9LApAQCAtMTAzMiwxNCArMTAzMywxNCBAQAogICAgIHsxLCBhcmNzXzQzXzN9LAogfTsKIHN0YXRpYyBhcmMgYXJjc180NF8wWzFdID0gewotICAgIHsxMDQsIDF9LAorICAgIHsxMDUsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc180NF8xWzJdID0gewogICAgIHsyNCwgMn0sCiAgICAgezAsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc180NF8yWzJdID0gewotICAgIHs4MiwgM30sCisgICAgezgzLCAzfSwKICAgICB7MCwgMn0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzQ0XzNbMV0gPSB7CkBAIC0xMDYzLDE0ICsxMDY0LDE0IEBACiAgICAgezAsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc180NV8yWzFdID0gewotICAgIHsxMDUsIDN9LAorICAgIHsxMDYsIDN9LAogfTsKIHN0YXRpYyBhcmMgYXJjc180NV8zWzFdID0gewogICAgIHs2LCA0fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNDVfNFsyXSA9IHsKICAgICB7NiwgNH0sCi0gICAgezEwNiwgMX0sCisgICAgezEwNywgMX0sCiB9Owogc3RhdGljIHN0YXRlIHN0YXRlc180NVs1XSA9IHsKICAgICB7MiwgYXJjc180NV8wfSwKQEAgLTEwODAsMjEgKzEwODEsMjEgQEAKICAgICB7MiwgYXJjc180NV80fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNDZfMFsyXSA9IHsKLSAgICB7MTA3LCAxfSwKLSAgICB7MTA4LCAyfSwKKyAgICB7MTA4LCAxfSwKKyAgICB7MTA5LCAyfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNDZfMVsyXSA9IHsKLSAgICB7OTIsIDN9LAorICAgIHs5MywgM30sCiAgICAgezAsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc180Nl8yWzFdID0gewogICAgIHswLCAyfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNDZfM1sxXSA9IHsKLSAgICB7MTA3LCA0fSwKKyAgICB7MTA4LCA0fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNDZfNFsxXSA9IHsKLSAgICB7OTQsIDV9LAorICAgIHs5NSwgNX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzQ2XzVbMV0gPSB7CiAgICAgezI0LCAyfSwKQEAgLTExMDgsOCArMTEwOSw4IEBACiAgICAgezEsIGFyY3NfNDZfNX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzQ3XzBbMl0gPSB7Ci0gICAgezEwNywgMX0sCi0gICAgezExMCwgMX0sCisgICAgezEwOCwgMX0sCisgICAgezExMSwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzQ3XzFbMV0gPSB7CiAgICAgezAsIDF9LApAQCAtMTExOSw3ICsxMTIwLDcgQEAKICAgICB7MSwgYXJjc180N18xfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNDhfMFsxXSA9IHsKLSAgICB7MTExLCAxfSwKKyAgICB7MTEyLCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNDhfMVsyXSA9IHsKICAgICB7MzMsIDJ9LApAQCAtMTE0Miw3ICsxMTQzLDcgQEAKICAgICB7MSwgYXJjc180OF80fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNDlfMFsxXSA9IHsKLSAgICB7MTExLCAxfSwKKyAgICB7MTEyLCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNDlfMVsyXSA9IHsKICAgICB7MzMsIDJ9LApAQCAtMTE1Miw3ICsxMTUzLDcgQEAKICAgICB7MjUsIDN9LAogfTsKIHN0YXRpYyBhcmMgYXJjc180OV8zWzFdID0gewotICAgIHsxMDksIDR9LAorICAgIHsxMTAsIDR9LAogfTsKIHN0YXRpYyBhcmMgYXJjc180OV80WzFdID0gewogICAgIHswLCA0fSwKQEAgLTExNjUsMTAgKzExNjYsMTAgQEAKICAgICB7MSwgYXJjc180OV80fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNTBfMFsxXSA9IHsKLSAgICB7MTEyLCAxfSwKKyAgICB7MTEzLCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNTBfMVsyXSA9IHsKLSAgICB7MTEzLCAwfSwKKyAgICB7MTE0LCAwfSwKICAgICB7MCwgMX0sCiB9Owogc3RhdGljIHN0YXRlIHN0YXRlc181MFsyXSA9IHsKQEAgLTExNzYsMTAgKzExNzcsMTAgQEAKICAgICB7MiwgYXJjc181MF8xfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNTFfMFsxXSA9IHsKLSAgICB7MTE0LCAxfSwKKyAgICB7MTE1LCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNTFfMVsyXSA9IHsKLSAgICB7MTE1LCAwfSwKKyAgICB7MTE2LCAwfSwKICAgICB7MCwgMX0sCiB9Owogc3RhdGljIHN0YXRlIHN0YXRlc181MVsyXSA9IHsKQEAgLTExODcsMTEgKzExODgsMTEgQEAKICAgICB7MiwgYXJjc181MV8xfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNTJfMFsyXSA9IHsKLSAgICB7MTE2LCAxfSwKLSAgICB7MTE3LCAyfSwKKyAgICB7MTE3LCAxfSwKKyAgICB7MTE4LCAyfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNTJfMVsxXSA9IHsKLSAgICB7MTE0LCAyfSwKKyAgICB7MTE1LCAyfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNTJfMlsxXSA9IHsKICAgICB7MCwgMn0sCkBAIC0xMjAyLDEwICsxMjAzLDEwIEBACiAgICAgezEsIGFyY3NfNTJfMn0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzUzXzBbMV0gPSB7Ci0gICAgezEwMywgMX0sCisgICAgezEwNCwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzUzXzFbMl0gPSB7Ci0gICAgezExOCwgMH0sCisgICAgezExOSwgMH0sCiAgICAgezAsIDF9LAogfTsKIHN0YXRpYyBzdGF0ZSBzdGF0ZXNfNTNbMl0gPSB7CkBAIC0xMjEzLDI1ICsxMjE0LDI1IEBACiAgICAgezIsIGFyY3NfNTNfMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzU0XzBbMTBdID0gewotICAgIHsxMTksIDF9LAogICAgIHsxMjAsIDF9LAogICAgIHsxMjEsIDF9LAogICAgIHsxMjIsIDF9LAogICAgIHsxMjMsIDF9LAogICAgIHsxMjQsIDF9LAogICAgIHsxMjUsIDF9LAotICAgIHs5NywgMX0sCi0gICAgezExNiwgMn0sCi0gICAgezEyNiwgM30sCisgICAgezEyNiwgMX0sCisgICAgezk4LCAxfSwKKyAgICB7MTE3LCAyfSwKKyAgICB7MTI3LCAzfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNTRfMVsxXSA9IHsKICAgICB7MCwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzU0XzJbMV0gPSB7Ci0gICAgezk3LCAxfSwKKyAgICB7OTgsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc181NF8zWzJdID0gewotICAgIHsxMTYsIDF9LAorICAgIHsxMTcsIDF9LAogICAgIHswLCAzfSwKIH07CiBzdGF0aWMgc3RhdGUgc3RhdGVzXzU0WzRdID0gewpAQCAtMTI0NCw3ICsxMjQ1LDcgQEAKICAgICB7MzEsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc181NV8xWzFdID0gewotICAgIHsxMDMsIDJ9LAorICAgIHsxMDQsIDJ9LAogfTsKIHN0YXRpYyBhcmMgYXJjc181NV8yWzFdID0gewogICAgIHswLCAyfSwKQEAgLTEyNTUsMTAgKzEyNTYsMTAgQEAKICAgICB7MSwgYXJjc181NV8yfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNTZfMFsxXSA9IHsKLSAgICB7MTI3LCAxfSwKKyAgICB7MTI4LCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNTZfMVsyXSA9IHsKLSAgICB7MTI4LCAwfSwKKyAgICB7MTI5LCAwfSwKICAgICB7MCwgMX0sCiB9Owogc3RhdGljIHN0YXRlIHN0YXRlc181NlsyXSA9IHsKQEAgLTEyNjYsMTAgKzEyNjcsMTAgQEAKICAgICB7MiwgYXJjc181Nl8xfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNTdfMFsxXSA9IHsKLSAgICB7MTI5LCAxfSwKKyAgICB7MTMwLCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNTdfMVsyXSA9IHsKLSAgICB7MTMwLCAwfSwKKyAgICB7MTMxLCAwfSwKICAgICB7MCwgMX0sCiB9Owogc3RhdGljIHN0YXRlIHN0YXRlc181N1syXSA9IHsKQEAgLTEyNzcsMTAgKzEyNzgsMTAgQEAKICAgICB7MiwgYXJjc181N18xfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNThfMFsxXSA9IHsKLSAgICB7MTMxLCAxfSwKKyAgICB7MTMyLCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNThfMVsyXSA9IHsKLSAgICB7MTMyLCAwfSwKKyAgICB7MTMzLCAwfSwKICAgICB7MCwgMX0sCiB9Owogc3RhdGljIHN0YXRlIHN0YXRlc181OFsyXSA9IHsKQEAgLTEyODgsMTEgKzEyODksMTEgQEAKICAgICB7MiwgYXJjc181OF8xfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNTlfMFsxXSA9IHsKLSAgICB7MTMzLCAxfSwKKyAgICB7MTM0LCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNTlfMVszXSA9IHsKLSAgICB7MTM0LCAwfSwKICAgICB7MTM1LCAwfSwKKyAgICB7MTM2LCAwfSwKICAgICB7MCwgMX0sCiB9Owogc3RhdGljIHN0YXRlIHN0YXRlc181OVsyXSA9IHsKQEAgLTEzMDAsMTEgKzEzMDEsMTEgQEAKICAgICB7MywgYXJjc181OV8xfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNjBfMFsxXSA9IHsKLSAgICB7MTM2LCAxfSwKKyAgICB7MTM3LCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNjBfMVszXSA9IHsKLSAgICB7MTM3LCAwfSwKICAgICB7MTM4LCAwfSwKKyAgICB7MTM5LCAwfSwKICAgICB7MCwgMX0sCiB9Owogc3RhdGljIHN0YXRlIHN0YXRlc182MFsyXSA9IHsKQEAgLTEzMTIsMjcgKzEzMTMsMjggQEAKICAgICB7MywgYXJjc182MF8xfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNjFfMFsxXSA9IHsKLSAgICB7MTM5LCAxfSwKKyAgICB7MTQwLCAxfSwKIH07Ci1zdGF0aWMgYXJjIGFyY3NfNjFfMVs1XSA9IHsKK3N0YXRpYyBhcmMgYXJjc182MV8xWzZdID0gewogICAgIHszMSwgMH0sCi0gICAgezE0MCwgMH0sCisgICAgezExLCAwfSwKICAgICB7MTQxLCAwfSwKICAgICB7MTQyLCAwfSwKKyAgICB7MTQzLCAwfSwKICAgICB7MCwgMX0sCiB9Owogc3RhdGljIHN0YXRlIHN0YXRlc182MVsyXSA9IHsKICAgICB7MSwgYXJjc182MV8wfSwKLSAgICB7NSwgYXJjc182MV8xfSwKKyAgICB7NiwgYXJjc182MV8xfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNjJfMFs0XSA9IHsKLSAgICB7MTM3LCAxfSwKICAgICB7MTM4LCAxfSwKLSAgICB7MTQzLCAxfSwKLSAgICB7MTQ0LCAyfSwKKyAgICB7MTM5LCAxfSwKKyAgICB7MTQ0LCAxfSwKKyAgICB7MTQ1LCAyfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNjJfMVsxXSA9IHsKLSAgICB7MTM5LCAyfSwKKyAgICB7MTQwLCAyfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNjJfMlsxXSA9IHsKICAgICB7MCwgMn0sCkBAIC0xMzQzLDE1ICsxMzQ1LDE1IEBACiAgICAgezEsIGFyY3NfNjJfMn0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzYzXzBbMV0gPSB7Ci0gICAgezE0NSwgMX0sCisgICAgezE0NiwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzYzXzFbM10gPSB7Ci0gICAgezE0NiwgMX0sCisgICAgezE0NywgMX0sCiAgICAgezMyLCAyfSwKICAgICB7MCwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzYzXzJbMV0gPSB7Ci0gICAgezEzOSwgM30sCisgICAgezE0MCwgM30sCiB9Owogc3RhdGljIGFyYyBhcmNzXzYzXzNbMV0gPSB7CiAgICAgezAsIDN9LApAQCAtMTM2NCw0NCArMTM2Niw0NCBAQAogfTsKIHN0YXRpYyBhcmMgYXJjc182NF8wWzEwXSA9IHsKICAgICB7MTMsIDF9LAotICAgIHsxNDgsIDJ9LAotICAgIHsxNTAsIDN9LAorICAgIHsxNDksIDJ9LAorICAgIHsxNTEsIDN9LAogICAgIHsyMSwgNH0sCi0gICAgezE1MywgNH0sCi0gICAgezE1NCwgNX0sCi0gICAgezc5LCA0fSwKLSAgICB7MTU1LCA0fSwKKyAgICB7MTU0LCA0fSwKKyAgICB7MTU1LCA1fSwKKyAgICB7ODAsIDR9LAogICAgIHsxNTYsIDR9LAogICAgIHsxNTcsIDR9LAorICAgIHsxNTgsIDR9LAogfTsKIHN0YXRpYyBhcmMgYXJjc182NF8xWzNdID0gewogICAgIHs0NywgNn0sCi0gICAgezE0NywgNn0sCisgICAgezE0OCwgNn0sCiAgICAgezE1LCA0fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNjRfMlsyXSA9IHsKLSAgICB7MTQ3LCA3fSwKLSAgICB7MTQ5LCA0fSwKKyAgICB7MTQ4LCA3fSwKKyAgICB7MTUwLCA0fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNjRfM1syXSA9IHsKLSAgICB7MTUxLCA4fSwKLSAgICB7MTUyLCA0fSwKKyAgICB7MTUyLCA4fSwKKyAgICB7MTUzLCA0fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNjRfNFsxXSA9IHsKICAgICB7MCwgNH0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzY0XzVbMl0gPSB7Ci0gICAgezE1NCwgNX0sCisgICAgezE1NSwgNX0sCiAgICAgezAsIDV9LAogfTsKIHN0YXRpYyBhcmMgYXJjc182NF82WzFdID0gewogICAgIHsxNSwgNH0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzY0XzdbMV0gPSB7Ci0gICAgezE0OSwgNH0sCisgICAgezE1MCwgNH0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzY0XzhbMV0gPSB7Ci0gICAgezE1MiwgNH0sCisgICAgezE1MywgNH0sCiB9Owogc3RhdGljIHN0YXRlIHN0YXRlc182NFs5XSA9IHsKICAgICB7MTAsIGFyY3NfNjRfMH0sCkBAIC0xNDE5LDcgKzE0MjEsNyBAQAogICAgIHs0OCwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzY1XzFbM10gPSB7Ci0gICAgezE1OCwgMn0sCisgICAgezE1OSwgMn0sCiAgICAgezMwLCAzfSwKICAgICB7MCwgMX0sCiB9OwpAQCAtMTQ0NCwxNSArMTQ0NiwxNSBAQAogfTsKIHN0YXRpYyBhcmMgYXJjc182Nl8wWzNdID0gewogICAgIHsxMywgMX0sCi0gICAgezE0OCwgMn0sCi0gICAgezc4LCAzfSwKKyAgICB7MTQ5LCAyfSwKKyAgICB7NzksIDN9LAogfTsKIHN0YXRpYyBhcmMgYXJjc182Nl8xWzJdID0gewogICAgIHsxNCwgNH0sCiAgICAgezE1LCA1fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNjZfMlsxXSA9IHsKLSAgICB7MTU5LCA2fSwKKyAgICB7MTYwLCA2fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNjZfM1sxXSA9IHsKICAgICB7MjEsIDV9LApAQCAtMTQ2NCw3ICsxNDY2LDcgQEAKICAgICB7MCwgNX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzY2XzZbMV0gPSB7Ci0gICAgezE0OSwgNX0sCisgICAgezE1MCwgNX0sCiB9Owogc3RhdGljIHN0YXRlIHN0YXRlc182Nls3XSA9IHsKICAgICB7MywgYXJjc182Nl8wfSwKQEAgLTE0NzYsMTQgKzE0NzgsMTQgQEAKICAgICB7MSwgYXJjc182Nl82fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNjdfMFsxXSA9IHsKLSAgICB7MTYwLCAxfSwKKyAgICB7MTYxLCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNjdfMVsyXSA9IHsKICAgICB7MzAsIDJ9LAogICAgIHswLCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNjdfMlsyXSA9IHsKLSAgICB7MTYwLCAxfSwKKyAgICB7MTYxLCAxfSwKICAgICB7MCwgMn0sCiB9Owogc3RhdGljIHN0YXRlIHN0YXRlc182N1szXSA9IHsKQEAgLTE1MDEsMTEgKzE1MDMsMTEgQEAKIH07CiBzdGF0aWMgYXJjIGFyY3NfNjhfMlszXSA9IHsKICAgICB7MjQsIDN9LAotICAgIHsxNjEsIDR9LAorICAgIHsxNjIsIDR9LAogICAgIHswLCAyfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNjhfM1syXSA9IHsKLSAgICB7MTYxLCA0fSwKKyAgICB7MTYyLCA0fSwKICAgICB7MCwgM30sCiB9Owogc3RhdGljIGFyYyBhcmNzXzY4XzRbMV0gPSB7CkBAIC0xNTM0LDcgKzE1MzYsNyBAQAogICAgIHsxLCBhcmNzXzY5XzJ9LAogfTsKIHN0YXRpYyBhcmMgYXJjc183MF8wWzJdID0gewotICAgIHsxMDMsIDF9LAorICAgIHsxMDQsIDF9LAogICAgIHs0OCwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzcwXzFbMl0gPSB7CkBAIC0xNTQyLDcgKzE1NDQsNyBAQAogICAgIHswLCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNzBfMlszXSA9IHsKLSAgICB7MTAzLCAxfSwKKyAgICB7MTA0LCAxfSwKICAgICB7NDgsIDF9LAogICAgIHswLCAyfSwKIH07CkBAIC0xNTcyLDcgKzE1NzQsNyBAQAogfTsKIHN0YXRpYyBhcmMgYXJjc183Ml8xWzRdID0gewogICAgIHsyNSwgMn0sCi0gICAgezE1OCwgM30sCisgICAgezE1OSwgM30sCiAgICAgezMwLCA0fSwKICAgICB7MCwgMX0sCiB9OwpAQCAtMTU4Nyw3ICsxNTg5LDcgQEAKICAgICB7MCwgNH0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzcyXzVbM10gPSB7Ci0gICAgezE1OCwgM30sCisgICAgezE1OSwgM30sCiAgICAgezMwLCA3fSwKICAgICB7MCwgNX0sCiB9OwpAQCAtMTYyMyw3ICsxNjI1LDcgQEAKICAgICB7MiwgYXJjc183Ml8xMH0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzczXzBbMV0gPSB7Ci0gICAgezE2MiwgMX0sCisgICAgezE2MywgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzczXzFbMV0gPSB7CiAgICAgezIxLCAyfSwKQEAgLTE2NTksNyArMTY2MSw3IEBACiAgICAgezEsIGFyY3NfNzNfN30sCiB9Owogc3RhdGljIGFyYyBhcmNzXzc0XzBbM10gPSB7Ci0gICAgezE2MywgMX0sCisgICAgezE2NCwgMX0sCiAgICAgezMxLCAyfSwKICAgICB7MzIsIDN9LAogfTsKQEAgLTE2NzQsNyArMTY3Niw3IEBACiAgICAgezI0LCA2fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNzRfNFs0XSA9IHsKLSAgICB7MTYzLCAxfSwKKyAgICB7MTY0LCAxfSwKICAgICB7MzEsIDJ9LAogICAgIHszMiwgM30sCiAgICAgezAsIDR9LApAQCAtMTY4Nyw3ICsxNjg5LDcgQEAKICAgICB7MCwgNn0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzc0XzdbMl0gPSB7Ci0gICAgezE2MywgNX0sCisgICAgezE2NCwgNX0sCiAgICAgezMyLCAzfSwKIH07CiBzdGF0aWMgc3RhdGUgc3RhdGVzXzc0WzhdID0gewpAQCAtMTcwNCw3ICsxNzA2LDcgQEAKICAgICB7MjQsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc183NV8xWzNdID0gewotICAgIHsxNTgsIDJ9LAorICAgIHsxNTksIDJ9LAogICAgIHsyOSwgM30sCiAgICAgezAsIDF9LAogfTsKQEAgLTE3MjEsOCArMTcyMyw4IEBACiAgICAgezEsIGFyY3NfNzVfM30sCiB9Owogc3RhdGljIGFyYyBhcmNzXzc2XzBbMl0gPSB7Ci0gICAgezE1OCwgMX0sCi0gICAgezE2NSwgMX0sCisgICAgezE1OSwgMX0sCisgICAgezE2NiwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzc2XzFbMV0gPSB7CiAgICAgezAsIDF9LApAQCAtMTczMiwxOSArMTczNCwxOSBAQAogICAgIHsxLCBhcmNzXzc2XzF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc183N18wWzFdID0gewotICAgIHs5NiwgMX0sCisgICAgezk3LCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNzdfMVsxXSA9IHsKLSAgICB7NjIsIDJ9LAorICAgIHs2MywgMn0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzc3XzJbMV0gPSB7Ci0gICAgezk3LCAzfSwKKyAgICB7OTgsIDN9LAogfTsKIHN0YXRpYyBhcmMgYXJjc183N18zWzFdID0gewotICAgIHsxMDcsIDR9LAorICAgIHsxMDgsIDR9LAogfTsKIHN0YXRpYyBhcmMgYXJjc183N180WzJdID0gewotICAgIHsxNjQsIDV9LAorICAgIHsxNjUsIDV9LAogICAgIHswLCA0fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNzdfNVsxXSA9IHsKQEAgLTE3NTksMTMgKzE3NjEsMTMgQEAKICAgICB7MSwgYXJjc183N181fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNzhfMFsxXSA9IHsKLSAgICB7OTIsIDF9LAorICAgIHs5MywgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzc4XzFbMV0gPSB7Ci0gICAgezEwOSwgMn0sCisgICAgezExMCwgMn0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzc4XzJbMl0gPSB7Ci0gICAgezE2NCwgM30sCisgICAgezE2NSwgM30sCiAgICAgezAsIDJ9LAogfTsKIHN0YXRpYyBhcmMgYXJjc183OF8zWzFdID0gewpAQCAtMTc4OCwxMCArMTc5MCwxMCBAQAogICAgIHsxLCBhcmNzXzc5XzF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc184MF8wWzFdID0gewotICAgIHsxNjcsIDF9LAorICAgIHsxNjgsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc184MF8xWzJdID0gewotICAgIHsxNjgsIDJ9LAorICAgIHsxNjksIDJ9LAogICAgIHswLCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfODBfMlsxXSA9IHsKQEAgLTE4MDMsNyArMTgwNSw3IEBACiAgICAgezEsIGFyY3NfODBfMn0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzgxXzBbMl0gPSB7Ci0gICAgezczLCAxfSwKKyAgICB7NzQsIDF9LAogICAgIHs5LCAyfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfODFfMVsxXSA9IHsKQEAgLTE4MTksMTEgKzE4MjEsMTEgQEAKIH07CiBzdGF0aWMgZGZhIGRmYXNbODJdID0gewogICAgIHsyNTYsICJzaW5nbGVfaW5wdXQiLCAwLCAzLCBzdGF0ZXNfMCwKLSAgICAgIlwwMDRcMDUwXDA2MFwyMDBcMDAwXDAwMFwwMDBcMjQwXDM0MFwyMjNcMTYwXDIyMFwwNDVcMjAwXDAyMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDIwNFwwMDAifSwKKyAgICAgIlwwMDRcMDUwXDA2MFwyMDBcMDAwXDAwMFwwMDBcMTAwXDMwMVwwNDdcMzQxXDA0MFwxMTNcMDAwXDA0MVwwMDBcMDAwXDAxNFwyNDFcMTc0XDAxMFwwMDEifSwKICAgICB7MjU3LCAiZmlsZV9pbnB1dCIsIDAsIDIsIHN0YXRlc18xLAotICAgICAiXDIwNFwwNTBcMDYwXDIwMFwwMDBcMDAwXDAwMFwyNDBcMzQwXDIyM1wxNjBcMjIwXDA0NVwyMDBcMDIwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMjA0XDAwMCJ9LAorICAgICAiXDIwNFwwNTBcMDYwXDIwMFwwMDBcMDAwXDAwMFwxMDBcMzAxXDA0N1wzNDFcMDQwXDExM1wwMDBcMDQxXDAwMFwwMDBcMDE0XDI0MVwxNzRcMDEwXDAwMSJ9LAogICAgIHsyNTgsICJldmFsX2lucHV0IiwgMCwgMywgc3RhdGVzXzIsCi0gICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDIwMFwwMjBcMDAwXDAwMFwyMDZcMTIwXDA3NlwwMDBcMDAwIn0sCisgICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMVwwMDBcMDAwXDAwMFwwNDFcMDAwXDAwMFwwMTRcMjQxXDE3NFwwMDBcMDAwIn0sCiAgICAgezI1OSwgImRlY29yYXRvciIsIDAsIDcsIHN0YXRlc18zLAogICAgICAiXDAwMFwwMTBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAogICAgIHsyNjAsICJkZWNvcmF0b3JzIiwgMCwgMiwgc3RhdGVzXzQsCkBAIC0xODQzLDM5ICsxODQ1LDM5IEBACiAgICAgezI2NywgInZmcGRlZiIsIDAsIDIsIHN0YXRlc18xMSwKICAgICAgIlwwMDBcMDAwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKICAgICB7MjY4LCAic3RtdCIsIDAsIDIsIHN0YXRlc18xMiwKLSAgICAgIlwwMDBcMDUwXDA2MFwyMDBcMDAwXDAwMFwwMDBcMjQwXDM0MFwyMjNcMTYwXDIyMFwwNDVcMjAwXDAyMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDIwNFwwMDAifSwKKyAgICAgIlwwMDBcMDUwXDA2MFwyMDBcMDAwXDAwMFwwMDBcMTAwXDMwMVwwNDdcMzQxXDA0MFwxMTNcMDAwXDA0MVwwMDBcMDAwXDAxNFwyNDFcMTc0XDAxMFwwMDEifSwKICAgICB7MjY5LCAic2ltcGxlX3N0bXQiLCAwLCA0LCBzdGF0ZXNfMTMsCi0gICAgICJcMDAwXDA0MFwwNDBcMjAwXDAwMFwwMDBcMDAwXDI0MFwzNDBcMjIzXDE2MFwwMDBcMDAwXDIwMFwwMjBcMDAwXDAwMFwyMDZcMTIwXDA3NlwyMDBcMDAwIn0sCisgICAgICJcMDAwXDA0MFwwNDBcMjAwXDAwMFwwMDBcMDAwXDEwMFwzMDFcMDQ3XDM0MVwwMDBcMDAwXDAwMFwwNDFcMDAwXDAwMFwwMTRcMjQxXDE3NFwwMDBcMDAxIn0sCiAgICAgezI3MCwgInNtYWxsX3N0bXQiLCAwLCAyLCBzdGF0ZXNfMTQsCi0gICAgICJcMDAwXDA0MFwwNDBcMjAwXDAwMFwwMDBcMDAwXDI0MFwzNDBcMjIzXDE2MFwwMDBcMDAwXDIwMFwwMjBcMDAwXDAwMFwyMDZcMTIwXDA3NlwyMDBcMDAwIn0sCisgICAgICJcMDAwXDA0MFwwNDBcMjAwXDAwMFwwMDBcMDAwXDEwMFwzMDFcMDQ3XDM0MVwwMDBcMDAwXDAwMFwwNDFcMDAwXDAwMFwwMTRcMjQxXDE3NFwwMDBcMDAxIn0sCiAgICAgezI3MSwgImV4cHJfc3RtdCIsIDAsIDYsIHN0YXRlc18xNSwKLSAgICAgIlwwMDBcMDQwXDA0MFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMjAwXDAyMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDAwMFwwMDAifSwKKyAgICAgIlwwMDBcMDQwXDA0MFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAxXDAwMFwwMDBcMDAwXDA0MVwwMDBcMDAwXDAxNFwyNDFcMTc0XDAwMFwwMDAifSwKICAgICB7MjcyLCAidGVzdGxpc3Rfc3Rhcl9leHByIiwgMCwgMywgc3RhdGVzXzE2LAotICAgICAiXDAwMFwwNDBcMDQwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwyMDBcMDIwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwNDBcMDQwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDFcMDAwXDAwMFwwMDBcMDQxXDAwMFwwMDBcMDE0XDI0MVwxNzRcMDAwXDAwMCJ9LAogICAgIHsyNzMsICJhdWdhc3NpZ24iLCAwLCAyLCBzdGF0ZXNfMTcsCi0gICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMzc2XDAzN1wwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCisgICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMzc2XDA3N1wwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCiAgICAgezI3NCwgImRlbF9zdG10IiwgMCwgMywgc3RhdGVzXzE4LAotICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwxMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAogICAgIHsyNzUsICJwYXNzX3N0bXQiLCAwLCAyLCBzdGF0ZXNfMTksCi0gICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCisgICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCiAgICAgezI3NiwgImZsb3dfc3RtdCIsIDAsIDIsIHN0YXRlc18yMCwKLSAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDM0MFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDAifSwKKyAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDMwMFwwMDNcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDEifSwKICAgICB7Mjc3LCAiYnJlYWtfc3RtdCIsIDAsIDIsIHN0YXRlc18yMSwKLSAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKLSAgICB7Mjc4LCAiY29udGludWVfc3RtdCIsIDAsIDIsIHN0YXRlc18yMiwKICAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDEwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKLSAgICB7Mjc5LCAicmV0dXJuX3N0bXQiLCAwLCAzLCBzdGF0ZXNfMjMsCisgICAgezI3OCwgImNvbnRpbnVlX3N0bXQiLCAwLCAyLCBzdGF0ZXNfMjIsCiAgICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCi0gICAgezI4MCwgInlpZWxkX3N0bXQiLCAwLCAyLCBzdGF0ZXNfMjQsCi0gICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwIn0sCi0gICAgezI4MSwgInJhaXNlX3N0bXQiLCAwLCA1LCBzdGF0ZXNfMjUsCisgICAgezI3OSwgInJldHVybl9zdG10IiwgMCwgMywgc3RhdGVzXzIzLAogICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMVwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAotICAgIHsyODIsICJpbXBvcnRfc3RtdCIsIDAsIDIsIHN0YXRlc18yNiwKLSAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMjJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKLSAgICB7MjgzLCAiaW1wb3J0X25hbWUiLCAwLCAzLCBzdGF0ZXNfMjcsCi0gICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDIwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCi0gICAgezI4NCwgImltcG9ydF9mcm9tIiwgMCwgOCwgc3RhdGVzXzI4LAorICAgIHsyODAsICJ5aWVsZF9zdG10IiwgMCwgMiwgc3RhdGVzXzI0LAorICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMSJ9LAorICAgIHsyODEsICJyYWlzZV9zdG10IiwgMCwgNSwgc3RhdGVzXzI1LAogICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAorICAgIHsyODIsICJpbXBvcnRfc3RtdCIsIDAsIDIsIHN0YXRlc18yNiwKKyAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwNDRcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKKyAgICB7MjgzLCAiaW1wb3J0X25hbWUiLCAwLCAzLCBzdGF0ZXNfMjcsCisgICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCisgICAgezI4NCwgImltcG9ydF9mcm9tIiwgMCwgOCwgc3RhdGVzXzI4LAorICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwNFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAogICAgIHsyODUsICJpbXBvcnRfYXNfbmFtZSIsIDAsIDQsIHN0YXRlc18yOSwKICAgICAgIlwwMDBcMDAwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKICAgICB7Mjg2LCAiZG90dGVkX2FzX25hbWUiLCAwLCA0LCBzdGF0ZXNfMzAsCkBAIC0xODg3LDEwMyArMTg4OSwxMDMgQEAKICAgICB7Mjg5LCAiZG90dGVkX25hbWUiLCAwLCAyLCBzdGF0ZXNfMzMsCiAgICAgICJcMDAwXDAwMFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCiAgICAgezI5MCwgImdsb2JhbF9zdG10IiwgMCwgMywgc3RhdGVzXzM0LAotICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMjBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAotICAgIHsyOTEsICJub25sb2NhbF9zdG10IiwgMCwgMywgc3RhdGVzXzM1LAogICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAotICAgIHsyOTIsICJhc3NlcnRfc3RtdCIsIDAsIDUsIHN0YXRlc18zNiwKKyAgICB7MjkxLCAibm9ubG9jYWxfc3RtdCIsIDAsIDMsIHN0YXRlc18zNSwKICAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMTAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKKyAgICB7MjkyLCAiYXNzZXJ0X3N0bXQiLCAwLCA1LCBzdGF0ZXNfMzYsCisgICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCiAgICAgezI5MywgImNvbXBvdW5kX3N0bXQiLCAwLCAyLCBzdGF0ZXNfMzcsCi0gICAgICJcMDAwXDAxMFwwMjBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMjBcMDQ1XDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDRcMDAwIn0sCisgICAgICJcMDAwXDAxMFwwMjBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwNDBcMTEzXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMTBcMDAwIn0sCiAgICAgezI5NCwgImlmX3N0bXQiLCAwLCA4LCBzdGF0ZXNfMzgsCi0gICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMjBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCisgICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCiAgICAgezI5NSwgIndoaWxlX3N0bXQiLCAwLCA4LCBzdGF0ZXNfMzksCi0gICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCi0gICAgezI5NiwgImZvcl9zdG10IiwgMCwgMTAsIHN0YXRlc180MCwKICAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKKyAgICB7Mjk2LCAiZm9yX3N0bXQiLCAwLCAxMCwgc3RhdGVzXzQwLAorICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAogICAgIHsyOTcsICJ0cnlfc3RtdCIsIDAsIDEzLCBzdGF0ZXNfNDEsCi0gICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDA0XDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCisgICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDEwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCiAgICAgezI5OCwgIndpdGhfc3RtdCIsIDAsIDUsIHN0YXRlc180MiwKLSAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKKyAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwxMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKICAgICB7Mjk5LCAid2l0aF9pdGVtIiwgMCwgNCwgc3RhdGVzXzQzLAotICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwyMDBcMDIwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDFcMDAwXDAwMFwwMDBcMDQxXDAwMFwwMDBcMDE0XDI0MVwxNzRcMDAwXDAwMCJ9LAogICAgIHszMDAsICJleGNlcHRfY2xhdXNlIiwgMCwgNSwgc3RhdGVzXzQ0LAotICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAogICAgIHszMDEsICJzdWl0ZSIsIDAsIDUsIHN0YXRlc180NSwKLSAgICAgIlwwMDRcMDQwXDA0MFwyMDBcMDAwXDAwMFwwMDBcMjQwXDM0MFwyMjNcMTYwXDAwMFwwMDBcMjAwXDAyMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDIwMFwwMDAifSwKKyAgICAgIlwwMDRcMDQwXDA0MFwyMDBcMDAwXDAwMFwwMDBcMTAwXDMwMVwwNDdcMzQxXDAwMFwwMDBcMDAwXDA0MVwwMDBcMDAwXDAxNFwyNDFcMTc0XDAwMFwwMDEifSwKICAgICB7MzAyLCAidGVzdCIsIDAsIDYsIHN0YXRlc180NiwKLSAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMjAwXDAyMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDAwMFwwMDAifSwKKyAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAxXDAwMFwwMDBcMDAwXDA0MVwwMDBcMDAwXDAxNFwyNDFcMTc0XDAwMFwwMDAifSwKICAgICB7MzAzLCAidGVzdF9ub2NvbmQiLCAwLCAyLCBzdGF0ZXNfNDcsCi0gICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDIwMFwwMjBcMDAwXDAwMFwyMDZcMTIwXDA3NlwwMDBcMDAwIn0sCisgICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMVwwMDBcMDAwXDAwMFwwNDFcMDAwXDAwMFwwMTRcMjQxXDE3NFwwMDBcMDAwIn0sCiAgICAgezMwNCwgImxhbWJkZWYiLCAwLCA1LCBzdGF0ZXNfNDgsCi0gICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCisgICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCiAgICAgezMwNSwgImxhbWJkZWZfbm9jb25kIiwgMCwgNSwgc3RhdGVzXzQ5LAotICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAxXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAogICAgIHszMDYsICJvcl90ZXN0IiwgMCwgMiwgc3RhdGVzXzUwLAotICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDIwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDFcMDAwXDAwMFwwMDBcMDQwXDAwMFwwMDBcMDE0XDI0MVwxNzRcMDAwXDAwMCJ9LAogICAgIHszMDcsICJhbmRfdGVzdCIsIDAsIDIsIHN0YXRlc181MSwKLSAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAyMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDAwMFwwMDAifSwKKyAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAxXDAwMFwwMDBcMDAwXDA0MFwwMDBcMDAwXDAxNFwyNDFcMTc0XDAwMFwwMDAifSwKICAgICB7MzA4LCAibm90X3Rlc3QiLCAwLCAzLCBzdGF0ZXNfNTIsCi0gICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDAwMFwwMjBcMDAwXDAwMFwyMDZcMTIwXDA3NlwwMDBcMDAwIn0sCisgICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMVwwMDBcMDAwXDAwMFwwNDBcMDAwXDAwMFwwMTRcMjQxXDE3NFwwMDBcMDAwIn0sCiAgICAgezMwOSwgImNvbXBhcmlzb24iLCAwLCAyLCBzdGF0ZXNfNTMsCi0gICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDZcMTIwXDA3NlwwMDBcMDAwIn0sCisgICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMVwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMTRcMjQxXDE3NFwwMDBcMDAwIn0sCiAgICAgezMxMCwgImNvbXBfb3AiLCAwLCA0LCBzdGF0ZXNfNTQsCi0gICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAyXDAwMFwyMjBcMTc3XDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCisgICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDA0XDAwMFwwNDBcMzc3XDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCiAgICAgezMxMSwgInN0YXJfZXhwciIsIDAsIDMsIHN0YXRlc181NSwKICAgICAgIlwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKICAgICB7MzEyLCAiZXhwciIsIDAsIDIsIHN0YXRlc181NiwKLSAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDAwMFwwMDAifSwKKyAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAxXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAxNFwyNDFcMTc0XDAwMFwwMDAifSwKICAgICB7MzEzLCAieG9yX2V4cHIiLCAwLCAyLCBzdGF0ZXNfNTcsCi0gICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDZcMTIwXDA3NlwwMDBcMDAwIn0sCisgICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMVwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMTRcMjQxXDE3NFwwMDBcMDAwIn0sCiAgICAgezMxNCwgImFuZF9leHByIiwgMCwgMiwgc3RhdGVzXzU4LAotICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDE0XDI0MVwxNzRcMDAwXDAwMCJ9LAogICAgIHszMTUsICJzaGlmdF9leHByIiwgMCwgMiwgc3RhdGVzXzU5LAotICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDE0XDI0MVwxNzRcMDAwXDAwMCJ9LAogICAgIHszMTYsICJhcml0aF9leHByIiwgMCwgMiwgc3RhdGVzXzYwLAotICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDE0XDI0MVwxNzRcMDAwXDAwMCJ9LAogICAgIHszMTcsICJ0ZXJtIiwgMCwgMiwgc3RhdGVzXzYxLAotICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDE0XDI0MVwxNzRcMDAwXDAwMCJ9LAogICAgIHszMTgsICJmYWN0b3IiLCAwLCAzLCBzdGF0ZXNfNjIsCi0gICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDZcMTIwXDA3NlwwMDBcMDAwIn0sCisgICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMVwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMTRcMjQxXDE3NFwwMDBcMDAwIn0sCiAgICAgezMxOSwgInBvd2VyIiwgMCwgNCwgc3RhdGVzXzYzLAotICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDEyMFwwNzZcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDI0MFwxNzRcMDAwXDAwMCJ9LAogICAgIHszMjAsICJhdG9tIiwgMCwgOSwgc3RhdGVzXzY0LAotICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDEyMFwwNzZcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDI0MFwxNzRcMDAwXDAwMCJ9LAogICAgIHszMjEsICJ0ZXN0bGlzdF9jb21wIiwgMCwgNSwgc3RhdGVzXzY1LAotICAgICAiXDAwMFwwNDBcMDQwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwyMDBcMDIwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwNDBcMDQwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDFcMDAwXDAwMFwwMDBcMDQxXDAwMFwwMDBcMDE0XDI0MVwxNzRcMDAwXDAwMCJ9LAogICAgIHszMjIsICJ0cmFpbGVyIiwgMCwgNywgc3RhdGVzXzY2LAotICAgICAiXDAwMFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDEwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAyMFwwMDBcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDA0MFwwMDBcMDAwXDAwMCJ9LAogICAgIHszMjMsICJzdWJzY3JpcHRsaXN0IiwgMCwgMywgc3RhdGVzXzY3LAotICAgICAiXDAwMFwwNDBcMDQwXDAwMlwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwyMDBcMDIwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwNDBcMDQwXDAwMlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDFcMDAwXDAwMFwwMDBcMDQxXDAwMFwwMDBcMDE0XDI0MVwxNzRcMDAwXDAwMCJ9LAogICAgIHszMjQsICJzdWJzY3JpcHQiLCAwLCA1LCBzdGF0ZXNfNjgsCi0gICAgICJcMDAwXDA0MFwwNDBcMDAyXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDIwMFwwMjBcMDAwXDAwMFwyMDZcMTIwXDA3NlwwMDBcMDAwIn0sCisgICAgICJcMDAwXDA0MFwwNDBcMDAyXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMVwwMDBcMDAwXDAwMFwwNDFcMDAwXDAwMFwwMTRcMjQxXDE3NFwwMDBcMDAwIn0sCiAgICAgezMyNSwgInNsaWNlb3AiLCAwLCAzLCBzdGF0ZXNfNjksCiAgICAgICJcMDAwXDAwMFwwMDBcMDAyXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCiAgICAgezMyNiwgImV4cHJsaXN0IiwgMCwgMywgc3RhdGVzXzcwLAotICAgICAiXDAwMFwwNDBcMDQwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwNDBcMDQwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDE0XDI0MVwxNzRcMDAwXDAwMCJ9LAogICAgIHszMjcsICJ0ZXN0bGlzdCIsIDAsIDMsIHN0YXRlc183MSwKLSAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMjAwXDAyMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDAwMFwwMDAifSwKKyAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAxXDAwMFwwMDBcMDAwXDA0MVwwMDBcMDAwXDAxNFwyNDFcMTc0XDAwMFwwMDAifSwKICAgICB7MzI4LCAiZGljdG9yc2V0bWFrZXIiLCAwLCAxMSwgc3RhdGVzXzcyLAotICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwyMDBcMDIwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDFcMDAwXDAwMFwwMDBcMDQxXDAwMFwwMDBcMDE0XDI0MVwxNzRcMDAwXDAwMCJ9LAogICAgIHszMjksICJjbGFzc2RlZiIsIDAsIDgsIHN0YXRlc183MywKLSAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwNFwwMDAifSwKKyAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAxMFwwMDAifSwKICAgICB7MzMwLCAiYXJnbGlzdCIsIDAsIDgsIHN0YXRlc183NCwKLSAgICAgIlwwMDBcMDQwXDA0MFwyMDBcMDAxXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMjAwXDAyMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDAwMFwwMDAifSwKKyAgICAgIlwwMDBcMDQwXDA0MFwyMDBcMDAxXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAxXDAwMFwwMDBcMDAwXDA0MVwwMDBcMDAwXDAxNFwyNDFcMTc0XDAwMFwwMDAifSwKICAgICB7MzMxLCAiYXJndW1lbnQiLCAwLCA0LCBzdGF0ZXNfNzUsCi0gICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDIwMFwwMjBcMDAwXDAwMFwyMDZcMTIwXDA3NlwwMDBcMDAwIn0sCisgICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMVwwMDBcMDAwXDAwMFwwNDFcMDAwXDAwMFwwMTRcMjQxXDE3NFwwMDBcMDAwIn0sCiAgICAgezMzMiwgImNvbXBfaXRlciIsIDAsIDIsIHN0YXRlc183NiwKLSAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAyMFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKKyAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDA0MFwwMDJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKICAgICB7MzMzLCAiY29tcF9mb3IiLCAwLCA2LCBzdGF0ZXNfNzcsCi0gICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAxXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCisgICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAyXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCiAgICAgezMzNCwgImNvbXBfaWYiLCAwLCA0LCBzdGF0ZXNfNzgsCi0gICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMjBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCisgICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCiAgICAgezMzNSwgImVuY29kaW5nX2RlY2wiLCAwLCAyLCBzdGF0ZXNfNzksCiAgICAgICJcMDAwXDAwMFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCiAgICAgezMzNiwgInlpZWxkX2V4cHIiLCAwLCAzLCBzdGF0ZXNfODAsCi0gICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwIn0sCisgICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAxIn0sCiAgICAgezMzNywgInlpZWxkX2FyZyIsIDAsIDMsIHN0YXRlc184MSwKLSAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDJcMDAwXDAwMFwwMDBcMjAwXDAyMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDAwMFwwMDAifSwKKyAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDRcMDAxXDAwMFwwMDBcMDAwXDA0MVwwMDBcMDAwXDAxNFwyNDFcMTc0XDAwMFwwMDAifSwKIH07Ci1zdGF0aWMgbGFiZWwgbGFiZWxzWzE2OV0gPSB7CitzdGF0aWMgbGFiZWwgbGFiZWxzWzE3MF0gPSB7CiAgICAgezAsICJFTVBUWSJ9LAogICAgIHsyNTYsIDB9LAogICAgIHs0LCAwfSwKQEAgLTIwMDcsNyArMjAwOSw3IEBACiAgICAgezEsICJkZWYifSwKICAgICB7MSwgMH0sCiAgICAgezI2MywgMH0sCi0gICAgezUwLCAwfSwKKyAgICB7NTEsIDB9LAogICAgIHszMDIsIDB9LAogICAgIHsxMSwgMH0sCiAgICAgezMwMSwgMH0sCkBAIC0yMDM2LDYgKzIwMzgsNyBAQAogICAgIHszNiwgMH0sCiAgICAgezM3LCAwfSwKICAgICB7MzgsIDB9LAorICAgIHs1MCwgMH0sCiAgICAgezM5LCAwfSwKICAgICB7NDAsIDB9LAogICAgIHs0MSwgMH0sCkBAIC0yMDYzLDcgKzIwNjYsNyBAQAogICAgIHsxLCAiaW1wb3J0In0sCiAgICAgezI4OCwgMH0sCiAgICAgezIzLCAwfSwKLSAgICB7NTEsIDB9LAorICAgIHs1MiwgMH0sCiAgICAgezI4NywgMH0sCiAgICAgezI4NSwgMH0sCiAgICAgezEsICJhcyJ9LApAQCAtMjE1Nyw2ICsyMTYwLDYgQEAKIGdyYW1tYXIgX1B5UGFyc2VyX0dyYW1tYXIgPSB7CiAgICAgODIsCiAgICAgZGZhcywKLSAgICB7MTY5LCBsYWJlbHN9LAorICAgIHsxNzAsIGxhYmVsc30sCiAgICAgMjU2CiB9OwpkaWZmIC0tZ2l0IGEvUHl0aG9uL2ltcG9ydC5jIGIvUHl0aG9uL2ltcG9ydC5jCmluZGV4IDdlZTdlZDkuLmMzYjllMTIgMTAwNjQ0Ci0tLSBhL1B5dGhvbi9pbXBvcnQuYworKysgYi9QeXRob24vaW1wb3J0LmMKQEAgLTMyLDkgKzMyLDEyIEBACiBzdGF0aWMgUHlPYmplY3QgKmluaXRzdHIgPSBOVUxMOwogCiAvKltjbGluaWMgaW5wdXRdCitvdXRwdXQgcHJlc2V0IGZpbGUKIG1vZHVsZSBfaW1wCiBbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCi0vKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZGEzOWEzZWU1ZTZiNGIwZCBpbnB1dD05YzMzMjQ3NWQ4Njg2Mjg0XSovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZGEzOWEzZWU1ZTZiNGIwZCBpbnB1dD05OGMzODIyMTE2NDU3OWQ1XSovCisKKyNpbmNsdWRlICJjbGluaWMvaW1wb3J0LmMuaCIKIAogLypbcHl0aG9uIGlucHV0XQogY2xhc3MgZnNfdW5pY29kZV9jb252ZXJ0ZXIoQ0NvbnZlcnRlcik6CkBAIC0yMzUsMjkgKzIzOCw5IEBACiBPbiBwbGF0Zm9ybXMgd2l0aG91dCB0aHJlYWRzLCByZXR1cm4gRmFsc2UuCiBbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKLVB5RG9jX1NUUlZBUihfaW1wX2xvY2tfaGVsZF9fZG9jX18sCi0ibG9ja19oZWxkKCRtb2R1bGUsIC8pXG4iCi0iLS1cbiIKLSJcbiIKLSJSZXR1cm4gVHJ1ZSBpZiB0aGUgaW1wb3J0IGxvY2sgaXMgY3VycmVudGx5IGhlbGQsIGVsc2UgRmFsc2UuXG4iCi0iXG4iCi0iT24gcGxhdGZvcm1zIHdpdGhvdXQgdGhyZWFkcywgcmV0dXJuIEZhbHNlLiIpOwotCi0jZGVmaW5lIF9JTVBfTE9DS19IRUxEX01FVEhPRERFRiAgICBcCi0gICAgeyJsb2NrX2hlbGQiLCAoUHlDRnVuY3Rpb24pX2ltcF9sb2NrX2hlbGQsIE1FVEhfTk9BUkdTLCBfaW1wX2xvY2tfaGVsZF9fZG9jX199LAotCi1zdGF0aWMgUHlPYmplY3QgKgotX2ltcF9sb2NrX2hlbGRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKTsKLQotc3RhdGljIFB5T2JqZWN0ICoKLV9pbXBfbG9ja19oZWxkKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCi17Ci0gICAgcmV0dXJuIF9pbXBfbG9ja19oZWxkX2ltcGwobW9kdWxlKTsKLX0KLQogc3RhdGljIFB5T2JqZWN0ICoKIF9pbXBfbG9ja19oZWxkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSkKLS8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kYWU2NTY3NDk2NmJhYTY1IGlucHV0PTliMDg4ZjliMjE3ZDliZGZdKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kN2E4Y2MzYTUxNjkwODFhIGlucHV0PTliMDg4ZjliMjE3ZDliZGZdKi8KIHsKICNpZmRlZiBXSVRIX1RIUkVBRAogICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcoaW1wb3J0X2xvY2tfdGhyZWFkICE9IC0xKTsKQEAgLTI3NSwzMCArMjU4LDkgQEAKIG1vZHVsZXMuIE9uIHBsYXRmb3JtcyB3aXRob3V0IHRocmVhZHMsIHRoaXMgZnVuY3Rpb24gZG9lcyBub3RoaW5nLgogW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwogCi1QeURvY19TVFJWQVIoX2ltcF9hY3F1aXJlX2xvY2tfX2RvY19fLAotImFjcXVpcmVfbG9jaygkbW9kdWxlLCAvKVxuIgotIi0tXG4iCi0iXG4iCi0iQWNxdWlyZXMgdGhlIGludGVycHJldGVyXCdzIGltcG9ydCBsb2NrIGZvciB0aGUgY3VycmVudCB0aHJlYWQuXG4iCi0iXG4iCi0iVGhpcyBsb2NrIHNob3VsZCBiZSB1c2VkIGJ5IGltcG9ydCBob29rcyB0byBlbnN1cmUgdGhyZWFkLXNhZmV0eSB3aGVuIGltcG9ydGluZ1xuIgotIm1vZHVsZXMuIE9uIHBsYXRmb3JtcyB3aXRob3V0IHRocmVhZHMsIHRoaXMgZnVuY3Rpb24gZG9lcyBub3RoaW5nLiIpOwotCi0jZGVmaW5lIF9JTVBfQUNRVUlSRV9MT0NLX01FVEhPRERFRiAgICBcCi0gICAgeyJhY3F1aXJlX2xvY2siLCAoUHlDRnVuY3Rpb24pX2ltcF9hY3F1aXJlX2xvY2ssIE1FVEhfTk9BUkdTLCBfaW1wX2FjcXVpcmVfbG9ja19fZG9jX199LAotCi1zdGF0aWMgUHlPYmplY3QgKgotX2ltcF9hY3F1aXJlX2xvY2tfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKTsKLQotc3RhdGljIFB5T2JqZWN0ICoKLV9pbXBfYWNxdWlyZV9sb2NrKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCi17Ci0gICAgcmV0dXJuIF9pbXBfYWNxdWlyZV9sb2NrX2ltcGwobW9kdWxlKTsKLX0KLQogc3RhdGljIFB5T2JqZWN0ICoKIF9pbXBfYWNxdWlyZV9sb2NrX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSkKLS8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD00NzhmMWZhMDg5ZmRiOWE0IGlucHV0PTRhMmQ0MzgxODY2ZDVmZGNdKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1jYzE0M2IxZDE2NDIyY2FlIGlucHV0PTRhMmQ0MzgxODY2ZDVmZGNdKi8KIHsKICNpZmRlZiBXSVRIX1RIUkVBRAogICAgIF9QeUltcG9ydF9BY3F1aXJlTG9jaygpOwpAQCAtMzE1LDI5ICsyNzcsOSBAQAogT24gcGxhdGZvcm1zIHdpdGhvdXQgdGhyZWFkcywgdGhpcyBmdW5jdGlvbiBkb2VzIG5vdGhpbmcuCiBbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKLVB5RG9jX1NUUlZBUihfaW1wX3JlbGVhc2VfbG9ja19fZG9jX18sCi0icmVsZWFzZV9sb2NrKCRtb2R1bGUsIC8pXG4iCi0iLS1cbiIKLSJcbiIKLSJSZWxlYXNlIHRoZSBpbnRlcnByZXRlclwncyBpbXBvcnQgbG9jay5cbiIKLSJcbiIKLSJPbiBwbGF0Zm9ybXMgd2l0aG91dCB0aHJlYWRzLCB0aGlzIGZ1bmN0aW9uIGRvZXMgbm90aGluZy4iKTsKLQotI2RlZmluZSBfSU1QX1JFTEVBU0VfTE9DS19NRVRIT0RERUYgICAgXAotICAgIHsicmVsZWFzZV9sb2NrIiwgKFB5Q0Z1bmN0aW9uKV9pbXBfcmVsZWFzZV9sb2NrLCBNRVRIX05PQVJHUywgX2ltcF9yZWxlYXNlX2xvY2tfX2RvY19ffSwKLQotc3RhdGljIFB5T2JqZWN0ICoKLV9pbXBfcmVsZWFzZV9sb2NrX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSk7Ci0KLXN0YXRpYyBQeU9iamVjdCAqCi1faW1wX3JlbGVhc2VfbG9jayhQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQotewotICAgIHJldHVybiBfaW1wX3JlbGVhc2VfbG9ja19pbXBsKG1vZHVsZSk7Ci19Ci0KIHN0YXRpYyBQeU9iamVjdCAqCiBfaW1wX3JlbGVhc2VfbG9ja19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpCi0vKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MzZjNzdhNjgzMmZkYWZkNCBpbnB1dD05MzRmYjExNTE2ZGQ3NzhiXSovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NzRkMjhlMzhlYmUyYjIyNCBpbnB1dD05MzRmYjExNTE2ZGQ3NzhiXSovCiB7CiAjaWZkZWYgV0lUSF9USFJFQUQKICAgICBpZiAoX1B5SW1wb3J0X1JlbGVhc2VMb2NrKCkgPCAwKSB7CkBAIC05NjIsNDMgKzkwNCw5IEBACiBDaGFuZ2VzIGNvZGUuY29fZmlsZW5hbWUgdG8gc3BlY2lmeSB0aGUgcGFzc2VkLWluIGZpbGUgcGF0aC4KIFtjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAotUHlEb2NfU1RSVkFSKF9pbXBfX2ZpeF9jb19maWxlbmFtZV9fZG9jX18sCi0iX2ZpeF9jb19maWxlbmFtZSgkbW9kdWxlLCBjb2RlLCBwYXRoLCAvKVxuIgotIi0tXG4iCi0iXG4iCi0iQ2hhbmdlcyBjb2RlLmNvX2ZpbGVuYW1lIHRvIHNwZWNpZnkgdGhlIHBhc3NlZC1pbiBmaWxlIHBhdGguXG4iCi0iXG4iCi0iICBjb2RlXG4iCi0iICAgIENvZGUgb2JqZWN0IHRvIGNoYW5nZS5cbiIKLSIgIHBhdGhcbiIKLSIgICAgRmlsZSBwYXRoIHRvIHVzZS4iKTsKLQotI2RlZmluZSBfSU1QX19GSVhfQ09fRklMRU5BTUVfTUVUSE9EREVGICAgIFwKLSAgICB7Il9maXhfY29fZmlsZW5hbWUiLCAoUHlDRnVuY3Rpb24pX2ltcF9fZml4X2NvX2ZpbGVuYW1lLCBNRVRIX1ZBUkFSR1MsIF9pbXBfX2ZpeF9jb19maWxlbmFtZV9fZG9jX199LAotCi1zdGF0aWMgUHlPYmplY3QgKgotX2ltcF9fZml4X2NvX2ZpbGVuYW1lX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlDb2RlT2JqZWN0ICpjb2RlLCBQeU9iamVjdCAqcGF0aCk7Ci0KLXN0YXRpYyBQeU9iamVjdCAqCi1faW1wX19maXhfY29fZmlsZW5hbWUoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCi17Ci0gICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7Ci0gICAgUHlDb2RlT2JqZWN0ICpjb2RlOwotICAgIFB5T2JqZWN0ICpwYXRoOwotCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCi0gICAgICAgICJPIVU6X2ZpeF9jb19maWxlbmFtZSIsCi0gICAgICAgICZQeUNvZGVfVHlwZSwgJmNvZGUsICZwYXRoKSkKLSAgICAgICAgZ290byBleGl0OwotICAgIHJldHVybl92YWx1ZSA9IF9pbXBfX2ZpeF9jb19maWxlbmFtZV9pbXBsKG1vZHVsZSwgY29kZSwgcGF0aCk7Ci0KLWV4aXQ6Ci0gICAgcmV0dXJuIHJldHVybl92YWx1ZTsKLX0KLQogc3RhdGljIFB5T2JqZWN0ICoKIF9pbXBfX2ZpeF9jb19maWxlbmFtZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5Q29kZU9iamVjdCAqY29kZSwgUHlPYmplY3QgKnBhdGgpCi0vKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NmI0YjFlZGViMGQ1NWM1ZCBpbnB1dD04OTViYTUwZTc4YjgyZjA1XSovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9N2FmZTViYTZiOWQzODNlNCBpbnB1dD04OTViYTUwZTc4YjgyZjA1XSovCiAKIHsKICAgICB1cGRhdGVfY29tcGlsZWRfbW9kdWxlKGNvZGUsIHBhdGgpOwpAQCAtMTg2MCwyNyArMTc2OCw5IEBACiBSZXR1cm5zIHRoZSBsaXN0IG9mIGZpbGUgc3VmZml4ZXMgdXNlZCB0byBpZGVudGlmeSBleHRlbnNpb24gbW9kdWxlcy4KIFtjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAotUHlEb2NfU1RSVkFSKF9pbXBfZXh0ZW5zaW9uX3N1ZmZpeGVzX19kb2NfXywKLSJleHRlbnNpb25fc3VmZml4ZXMoJG1vZHVsZSwgLylcbiIKLSItLVxuIgotIlxuIgotIlJldHVybnMgdGhlIGxpc3Qgb2YgZmlsZSBzdWZmaXhlcyB1c2VkIHRvIGlkZW50aWZ5IGV4dGVuc2lvbiBtb2R1bGVzLiIpOwotCi0jZGVmaW5lIF9JTVBfRVhURU5TSU9OX1NVRkZJWEVTX01FVEhPRERFRiAgICBcCi0gICAgeyJleHRlbnNpb25fc3VmZml4ZXMiLCAoUHlDRnVuY3Rpb24pX2ltcF9leHRlbnNpb25fc3VmZml4ZXMsIE1FVEhfTk9BUkdTLCBfaW1wX2V4dGVuc2lvbl9zdWZmaXhlc19fZG9jX199LAotCi1zdGF0aWMgUHlPYmplY3QgKgotX2ltcF9leHRlbnNpb25fc3VmZml4ZXNfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKTsKLQotc3RhdGljIFB5T2JqZWN0ICoKLV9pbXBfZXh0ZW5zaW9uX3N1ZmZpeGVzKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCi17Ci0gICAgcmV0dXJuIF9pbXBfZXh0ZW5zaW9uX3N1ZmZpeGVzX2ltcGwobW9kdWxlKTsKLX0KLQogc3RhdGljIFB5T2JqZWN0ICoKIF9pbXBfZXh0ZW5zaW9uX3N1ZmZpeGVzX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSkKLS8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1iYjMwYTI0MzgxNjc3OThjIGlucHV0PWVjZGVlZWNmY2I2ZjgzOWVdKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kNDRjMTU2NmVmMzYyMjI5IGlucHV0PWVjZGVlZWNmY2I2ZjgzOWVdKi8KIHsKICAgICBQeU9iamVjdCAqbGlzdDsKICAgICBjb25zdCBjaGFyICpzdWZmaXg7CkBAIC0xOTE3LDM3ICsxODA3LDkgQEAKIEluaXRpYWxpemVzIGEgYnVpbHQtaW4gbW9kdWxlLgogW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwogCi1QeURvY19TVFJWQVIoX2ltcF9pbml0X2J1aWx0aW5fX2RvY19fLAotImluaXRfYnVpbHRpbigkbW9kdWxlLCBuYW1lLCAvKVxuIgotIi0tXG4iCi0iXG4iCi0iSW5pdGlhbGl6ZXMgYSBidWlsdC1pbiBtb2R1bGUuIik7Ci0KLSNkZWZpbmUgX0lNUF9JTklUX0JVSUxUSU5fTUVUSE9EREVGICAgIFwKLSAgICB7ImluaXRfYnVpbHRpbiIsIChQeUNGdW5jdGlvbilfaW1wX2luaXRfYnVpbHRpbiwgTUVUSF9WQVJBUkdTLCBfaW1wX2luaXRfYnVpbHRpbl9fZG9jX199LAotCi1zdGF0aWMgUHlPYmplY3QgKgotX2ltcF9pbml0X2J1aWx0aW5faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqbmFtZSk7Ci0KLXN0YXRpYyBQeU9iamVjdCAqCi1faW1wX2luaXRfYnVpbHRpbihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKLXsKLSAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKLSAgICBQeU9iamVjdCAqbmFtZTsKLQotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAotICAgICAgICAiVTppbml0X2J1aWx0aW4iLAotICAgICAgICAmbmFtZSkpCi0gICAgICAgIGdvdG8gZXhpdDsKLSAgICByZXR1cm5fdmFsdWUgPSBfaW1wX2luaXRfYnVpbHRpbl9pbXBsKG1vZHVsZSwgbmFtZSk7Ci0KLWV4aXQ6Ci0gICAgcmV0dXJuIHJldHVybl92YWx1ZTsKLX0KLQogc3RhdGljIFB5T2JqZWN0ICoKIF9pbXBfaW5pdF9idWlsdGluX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKm5hbWUpCi0vKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YTAyNDQ5NDhhNDNmOGUyNiBpbnB1dD1mOTM0ZDIyMzFlYzUyYTJlXSovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MTg2OGY0NzM2ODVmNmQ2NyBpbnB1dD1mOTM0ZDIyMzFlYzUyYTJlXSovCiB7CiAgICAgaW50IHJldDsKICAgICBQeU9iamVjdCAqbTsKQEAgLTE5NzMsMzcgKzE4MzUsOSBAQAogSW5pdGlhbGl6ZXMgYSBmcm96ZW4gbW9kdWxlLgogW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwogCi1QeURvY19TVFJWQVIoX2ltcF9pbml0X2Zyb3plbl9fZG9jX18sCi0iaW5pdF9mcm96ZW4oJG1vZHVsZSwgbmFtZSwgLylcbiIKLSItLVxuIgotIlxuIgotIkluaXRpYWxpemVzIGEgZnJvemVuIG1vZHVsZS4iKTsKLQotI2RlZmluZSBfSU1QX0lOSVRfRlJPWkVOX01FVEhPRERFRiAgICBcCi0gICAgeyJpbml0X2Zyb3plbiIsIChQeUNGdW5jdGlvbilfaW1wX2luaXRfZnJvemVuLCBNRVRIX1ZBUkFSR1MsIF9pbXBfaW5pdF9mcm96ZW5fX2RvY19ffSwKLQotc3RhdGljIFB5T2JqZWN0ICoKLV9pbXBfaW5pdF9mcm96ZW5faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqbmFtZSk7Ci0KLXN0YXRpYyBQeU9iamVjdCAqCi1faW1wX2luaXRfZnJvemVuKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQotewotICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwotICAgIFB5T2JqZWN0ICpuYW1lOwotCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCi0gICAgICAgICJVOmluaXRfZnJvemVuIiwKLSAgICAgICAgJm5hbWUpKQotICAgICAgICBnb3RvIGV4aXQ7Ci0gICAgcmV0dXJuX3ZhbHVlID0gX2ltcF9pbml0X2Zyb3plbl9pbXBsKG1vZHVsZSwgbmFtZSk7Ci0KLWV4aXQ6Ci0gICAgcmV0dXJuIHJldHVybl92YWx1ZTsKLX0KLQogc3RhdGljIFB5T2JqZWN0ICoKIF9pbXBfaW5pdF9mcm96ZW5faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqbmFtZSkKLS8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1lNGJjMmJmZjI5NmY4ZjIyIGlucHV0PTEzMDE5YWRmYzA0ZjNmYjNdKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1hOWRlNDkzYmRkNzExODc4IGlucHV0PTEzMDE5YWRmYzA0ZjNmYjNdKi8KIHsKICAgICBpbnQgcmV0OwogICAgIFB5T2JqZWN0ICptOwpAQCAtMjAyOSwzNyArMTg2Myw5IEBACiBDcmVhdGUgYSBjb2RlIG9iamVjdCBmb3IgYSBmcm96ZW4gbW9kdWxlLgogW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwogCi1QeURvY19TVFJWQVIoX2ltcF9nZXRfZnJvemVuX29iamVjdF9fZG9jX18sCi0iZ2V0X2Zyb3plbl9vYmplY3QoJG1vZHVsZSwgbmFtZSwgLylcbiIKLSItLVxuIgotIlxuIgotIkNyZWF0ZSBhIGNvZGUgb2JqZWN0IGZvciBhIGZyb3plbiBtb2R1bGUuIik7Ci0KLSNkZWZpbmUgX0lNUF9HRVRfRlJPWkVOX09CSkVDVF9NRVRIT0RERUYgICAgXAotICAgIHsiZ2V0X2Zyb3plbl9vYmplY3QiLCAoUHlDRnVuY3Rpb24pX2ltcF9nZXRfZnJvemVuX29iamVjdCwgTUVUSF9WQVJBUkdTLCBfaW1wX2dldF9mcm96ZW5fb2JqZWN0X19kb2NfX30sCi0KLXN0YXRpYyBQeU9iamVjdCAqCi1faW1wX2dldF9mcm96ZW5fb2JqZWN0X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKm5hbWUpOwotCi1zdGF0aWMgUHlPYmplY3QgKgotX2ltcF9nZXRfZnJvemVuX29iamVjdChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKLXsKLSAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKLSAgICBQeU9iamVjdCAqbmFtZTsKLQotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAotICAgICAgICAiVTpnZXRfZnJvemVuX29iamVjdCIsCi0gICAgICAgICZuYW1lKSkKLSAgICAgICAgZ290byBleGl0OwotICAgIHJldHVybl92YWx1ZSA9IF9pbXBfZ2V0X2Zyb3plbl9vYmplY3RfaW1wbChtb2R1bGUsIG5hbWUpOwotCi1leGl0OgotICAgIHJldHVybiByZXR1cm5fdmFsdWU7Ci19Ci0KIHN0YXRpYyBQeU9iamVjdCAqCiBfaW1wX2dldF9mcm96ZW5fb2JqZWN0X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKm5hbWUpCi0vKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NDA4OWVjNzAyYTlkNzBjNSBpbnB1dD1lZDY4OWJjMDUzNThmZGJkXSovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MzExNGM5NzBhNDdmMmUzYyBpbnB1dD1lZDY4OWJjMDUzNThmZGJkXSovCiB7CiAgICAgcmV0dXJuIGdldF9mcm96ZW5fb2JqZWN0KG5hbWUpOwogfQpAQCAtMjA3MywzNyArMTg3OSw5IEBACiBSZXR1cm5zIFRydWUgaWYgdGhlIG1vZHVsZSBuYW1lIGlzIG9mIGEgZnJvemVuIHBhY2thZ2UuCiBbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKLVB5RG9jX1NUUlZBUihfaW1wX2lzX2Zyb3plbl9wYWNrYWdlX19kb2NfXywKLSJpc19mcm96ZW5fcGFja2FnZSgkbW9kdWxlLCBuYW1lLCAvKVxuIgotIi0tXG4iCi0iXG4iCi0iUmV0dXJucyBUcnVlIGlmIHRoZSBtb2R1bGUgbmFtZSBpcyBvZiBhIGZyb3plbiBwYWNrYWdlLiIpOwotCi0jZGVmaW5lIF9JTVBfSVNfRlJPWkVOX1BBQ0tBR0VfTUVUSE9EREVGICAgIFwKLSAgICB7ImlzX2Zyb3plbl9wYWNrYWdlIiwgKFB5Q0Z1bmN0aW9uKV9pbXBfaXNfZnJvemVuX3BhY2thZ2UsIE1FVEhfVkFSQVJHUywgX2ltcF9pc19mcm96ZW5fcGFja2FnZV9fZG9jX199LAotCi1zdGF0aWMgUHlPYmplY3QgKgotX2ltcF9pc19mcm96ZW5fcGFja2FnZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpuYW1lKTsKLQotc3RhdGljIFB5T2JqZWN0ICoKLV9pbXBfaXNfZnJvemVuX3BhY2thZ2UoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCi17Ci0gICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7Ci0gICAgUHlPYmplY3QgKm5hbWU7Ci0KLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKLSAgICAgICAgIlU6aXNfZnJvemVuX3BhY2thZ2UiLAotICAgICAgICAmbmFtZSkpCi0gICAgICAgIGdvdG8gZXhpdDsKLSAgICByZXR1cm5fdmFsdWUgPSBfaW1wX2lzX2Zyb3plbl9wYWNrYWdlX2ltcGwobW9kdWxlLCBuYW1lKTsKLQotZXhpdDoKLSAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOwotfQotCiBzdGF0aWMgUHlPYmplY3QgKgogX2ltcF9pc19mcm96ZW5fcGFja2FnZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpuYW1lKQotLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTg2YWFiMTRkY2Q0Yjk1OWIgaW5wdXQ9ODFiNmNkZWNkMDgwZmJiOF0qLworLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTNlNGNhYjgwMmI1NmQ2NDkgaW5wdXQ9ODFiNmNkZWNkMDgwZmJiOF0qLwogewogICAgIHJldHVybiBpc19mcm96ZW5fcGFja2FnZShuYW1lKTsKIH0KQEAgLTIxMTcsMzcgKzE4OTUsOSBAQAogUmV0dXJucyBUcnVlIGlmIHRoZSBtb2R1bGUgbmFtZSBjb3JyZXNwb25kcyB0byBhIGJ1aWx0LWluIG1vZHVsZS4KIFtjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAotUHlEb2NfU1RSVkFSKF9pbXBfaXNfYnVpbHRpbl9fZG9jX18sCi0iaXNfYnVpbHRpbigkbW9kdWxlLCBuYW1lLCAvKVxuIgotIi0tXG4iCi0iXG4iCi0iUmV0dXJucyBUcnVlIGlmIHRoZSBtb2R1bGUgbmFtZSBjb3JyZXNwb25kcyB0byBhIGJ1aWx0LWluIG1vZHVsZS4iKTsKLQotI2RlZmluZSBfSU1QX0lTX0JVSUxUSU5fTUVUSE9EREVGICAgIFwKLSAgICB7ImlzX2J1aWx0aW4iLCAoUHlDRnVuY3Rpb24pX2ltcF9pc19idWlsdGluLCBNRVRIX1ZBUkFSR1MsIF9pbXBfaXNfYnVpbHRpbl9fZG9jX199LAotCi1zdGF0aWMgUHlPYmplY3QgKgotX2ltcF9pc19idWlsdGluX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKm5hbWUpOwotCi1zdGF0aWMgUHlPYmplY3QgKgotX2ltcF9pc19idWlsdGluKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQotewotICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwotICAgIFB5T2JqZWN0ICpuYW1lOwotCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCi0gICAgICAgICJVOmlzX2J1aWx0aW4iLAotICAgICAgICAmbmFtZSkpCi0gICAgICAgIGdvdG8gZXhpdDsKLSAgICByZXR1cm5fdmFsdWUgPSBfaW1wX2lzX2J1aWx0aW5faW1wbChtb2R1bGUsIG5hbWUpOwotCi1leGl0OgotICAgIHJldHVybiByZXR1cm5fdmFsdWU7Ci19Ci0KIHN0YXRpYyBQeU9iamVjdCAqCiBfaW1wX2lzX2J1aWx0aW5faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqbmFtZSkKLS8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kNTg0N2Y4Y2FjNTA5NDZlIGlucHV0PTg2YmVmZGFjMDIxZGQxYzddKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0yZGVlYzljYWM2ZmI5YTdlIGlucHV0PTg2YmVmZGFjMDIxZGQxYzddKi8KIHsKICAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nKGlzX2J1aWx0aW4obmFtZSkpOwogfQpAQCAtMjE2MSwzNyArMTkxMSw5IEBACiBSZXR1cm5zIFRydWUgaWYgdGhlIG1vZHVsZSBuYW1lIGNvcnJlc3BvbmRzIHRvIGEgZnJvemVuIG1vZHVsZS4KIFtjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAotUHlEb2NfU1RSVkFSKF9pbXBfaXNfZnJvemVuX19kb2NfXywKLSJpc19mcm96ZW4oJG1vZHVsZSwgbmFtZSwgLylcbiIKLSItLVxuIgotIlxuIgotIlJldHVybnMgVHJ1ZSBpZiB0aGUgbW9kdWxlIG5hbWUgY29ycmVzcG9uZHMgdG8gYSBmcm96ZW4gbW9kdWxlLiIpOwotCi0jZGVmaW5lIF9JTVBfSVNfRlJPWkVOX01FVEhPRERFRiAgICBcCi0gICAgeyJpc19mcm96ZW4iLCAoUHlDRnVuY3Rpb24pX2ltcF9pc19mcm96ZW4sIE1FVEhfVkFSQVJHUywgX2ltcF9pc19mcm96ZW5fX2RvY19ffSwKLQotc3RhdGljIFB5T2JqZWN0ICoKLV9pbXBfaXNfZnJvemVuX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKm5hbWUpOwotCi1zdGF0aWMgUHlPYmplY3QgKgotX2ltcF9pc19mcm96ZW4oUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCi17Ci0gICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7Ci0gICAgUHlPYmplY3QgKm5hbWU7Ci0KLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKLSAgICAgICAgIlU6aXNfZnJvemVuIiwKLSAgICAgICAgJm5hbWUpKQotICAgICAgICBnb3RvIGV4aXQ7Ci0gICAgcmV0dXJuX3ZhbHVlID0gX2ltcF9pc19mcm96ZW5faW1wbChtb2R1bGUsIG5hbWUpOwotCi1leGl0OgotICAgIHJldHVybiByZXR1cm5fdmFsdWU7Ci19Ci0KIHN0YXRpYyBQeU9iamVjdCAqCiBfaW1wX2lzX2Zyb3plbl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpuYW1lKQotLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTY2OTFhZjg4NGJhNDk4N2QgaW5wdXQ9NzMwMWRiY2ExODk3ZDY2Yl0qLworLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTdkZThlMjYwYzhlMzZhZWQgaW5wdXQ9NzMwMWRiY2ExODk3ZDY2Yl0qLwogewogICAgIGNvbnN0IHN0cnVjdCBfZnJvemVuICpwOwogCkBAIC0yMjEyLDM5ICsxOTM0LDkgQEAKIExvYWRzIGFuIGV4dGVuc2lvbiBtb2R1bGUuCiBbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKLVB5RG9jX1NUUlZBUihfaW1wX2xvYWRfZHluYW1pY19fZG9jX18sCi0ibG9hZF9keW5hbWljKCRtb2R1bGUsIG5hbWUsIHBhdGgsIGZpbGU9Tm9uZSwgLylcbiIKLSItLVxuIgotIlxuIgotIkxvYWRzIGFuIGV4dGVuc2lvbiBtb2R1bGUuIik7Ci0KLSNkZWZpbmUgX0lNUF9MT0FEX0RZTkFNSUNfTUVUSE9EREVGICAgIFwKLSAgICB7ImxvYWRfZHluYW1pYyIsIChQeUNGdW5jdGlvbilfaW1wX2xvYWRfZHluYW1pYywgTUVUSF9WQVJBUkdTLCBfaW1wX2xvYWRfZHluYW1pY19fZG9jX199LAotCi1zdGF0aWMgUHlPYmplY3QgKgotX2ltcF9sb2FkX2R5bmFtaWNfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqbmFtZSwgUHlPYmplY3QgKnBhdGgsIFB5T2JqZWN0ICpmaWxlKTsKLQotc3RhdGljIFB5T2JqZWN0ICoKLV9pbXBfbG9hZF9keW5hbWljKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQotewotICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwotICAgIFB5T2JqZWN0ICpuYW1lOwotICAgIFB5T2JqZWN0ICpwYXRoOwotICAgIFB5T2JqZWN0ICpmaWxlID0gTlVMTDsKLQotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAotICAgICAgICAiVU8mfE86bG9hZF9keW5hbWljIiwKLSAgICAgICAgJm5hbWUsIFB5VW5pY29kZV9GU0RlY29kZXIsICZwYXRoLCAmZmlsZSkpCi0gICAgICAgIGdvdG8gZXhpdDsKLSAgICByZXR1cm5fdmFsdWUgPSBfaW1wX2xvYWRfZHluYW1pY19pbXBsKG1vZHVsZSwgbmFtZSwgcGF0aCwgZmlsZSk7Ci0KLWV4aXQ6Ci0gICAgcmV0dXJuIHJldHVybl92YWx1ZTsKLX0KLQogc3RhdGljIFB5T2JqZWN0ICoKIF9pbXBfbG9hZF9keW5hbWljX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKm5hbWUsIFB5T2JqZWN0ICpwYXRoLCBQeU9iamVjdCAqZmlsZSkKLS8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD04MWQxMWExZmJkMWVhMGE4IGlucHV0PWFmNjRmMDZlNGJhZDM1MjZdKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD04YjdhZTQzMWQ3OTVlMWJhIGlucHV0PWFmNjRmMDZlNGJhZDM1MjZdKi8KIHsKICAgICBQeU9iamVjdCAqbW9kOwogICAgIEZJTEUgKmZwOwpAQCAtMjI3MiwxMSArMTk2NCw3IEBACiAvKltjbGluaWMgaW5wdXRdCiBkdW1wIGJ1ZmZlcgogW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwotCi0jaWZuZGVmIF9JTVBfTE9BRF9EWU5BTUlDX01FVEhPRERFRgotICAgICNkZWZpbmUgX0lNUF9MT0FEX0RZTkFNSUNfTUVUSE9EREVGCi0jZW5kaWYgLyogIWRlZmluZWQoX0lNUF9MT0FEX0RZTkFNSUNfTUVUSE9EREVGKSAqLwotLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWQwN2MxZDRhMzQzYTk1NzkgaW5wdXQ9NTI0Y2UyZTAyMWU0ZWJhNl0qLworLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWRhMzlhM2VlNWU2YjRiMGQgaW5wdXQ9NTI0Y2UyZTAyMWU0ZWJhNl0qLwogCiAKIFB5RG9jX1NUUlZBUihkb2NfaW1wLApAQCAtMjM3Niw3ICsyMDY0LDcgQEAKIAogICAgIG1lbXNldChuZXd0YWIsICdcMCcsIHNpemVvZiBuZXd0YWIpOwogCi0gICAgbmV3dGFiWzBdLm5hbWUgPSAoY2hhciAqKW5hbWU7CisgICAgbmV3dGFiWzBdLm5hbWUgPSBuYW1lOwogICAgIG5ld3RhYlswXS5pbml0ZnVuYyA9IGluaXRmdW5jOwogCiAgICAgcmV0dXJuIFB5SW1wb3J0X0V4dGVuZEluaXR0YWIobmV3dGFiKTsKQEAgLTIzODUsNCArMjA3MywzIEBACiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgotCmRpZmYgLS1naXQgYS9QeXRob24vaW1wb3J0bGliLmggYi9QeXRob24vaW1wb3J0bGliLmgKaW5kZXggZWY4YmYyNy4uMDE1NGE3OCAxMDA2NDQKLS0tIGEvUHl0aG9uL2ltcG9ydGxpYi5oCisrKyBiL1B5dGhvbi9pbXBvcnRsaWIuaApAQCAtMSw4ICsxLDggQEAKLS8qIEF1dG8tZ2VuZXJhdGVkIGJ5IE1vZHVsZXMvX2ZyZWV6ZV9pbXBvcnRsaWIuYyAqLworLyogQXV0by1nZW5lcmF0ZWQgYnkgUHJvZ3JhbXMvX2ZyZWV6ZV9pbXBvcnRsaWIuYyAqLwogY29uc3QgdW5zaWduZWQgY2hhciBfUHlfTV9faW1wb3J0bGliW10gPSB7CiAgICAgOTksMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsNywwLDAsCi0gICAgMCw2NCwwLDAsMCwxMTUsMjI4LDQsMCwwLDEwMCwwLDAsOTAsMCwwLAotICAgIDEwMCwxNjMsMCw5MCwxLDAsMTAwLDQsMCwxMDAsNSwwLDEzMiwwLDAsOTAsCisgICAgMCw2NCwwLDAsMCwxMTUsNDMsNSwwLDAsMTAwLDAsMCw5MCwwLDAsCisgICAgMTAwLDE3NywwLDkwLDEsMCwxMDAsNCwwLDEwMCw1LDAsMTMyLDAsMCw5MCwKICAgICAyLDAsMTAwLDYsMCwxMDAsNywwLDEzMiwwLDAsOTAsMywwLDEwMCw4LAogICAgIDAsMTAwLDksMCwxMzIsMCwwLDkwLDQsMCwxMDAsMTAsMCwxMDAsMTEsMCwKICAgICAxMzIsMCwwLDkwLDUsMCwxMDAsMTIsMCwxMDAsMTMsMCwxMzIsMCwwLDkwLApAQCAtNDYsMTIyMyArNDYsMTIyMSBAQAogICAgIDEzMiwwLDIsOTAsNTQsMCwxMDEsNTUsMCwxMzEsMCwwLDkwLDU2LDAsMTAwLAogICAgIDUzLDAsMTAwLDk1LDAsMTAwLDUzLDAsMTAwLDk2LDAsMTAxLDU2LDAsMTAwLDk3LAogICAgIDAsMTAwLDk4LDAsMTMyLDEsMiw5MCw1NywwLDEwMCw1MywwLDEwMCw1MywwLAotICAgIDEwMCw5OSwwLDEwMCwxMDAsMCwxMzIsMiwwLDkwLDU4LDAsNzEsMTAwLDEwMSwwLAotICAgIDEwMCwxMDIsMCwxMzIsMCwwLDEwMCwxMDIsMCwxMzEsMiwwLDkwLDU5LDAsMTAwLAotICAgIDUzLDAsMTAwLDEwMywwLDEwMCwxMDQsMCwxMzIsMSwwLDkwLDYwLDAsNzEsMTAwLAotICAgIDEwNSwwLDEwMCwxMDYsMCwxMzIsMCwwLDEwMCwxMDYsMCwxMzEsMiwwLDkwLDYxLAotICAgIDAsNzEsMTAwLDEwNywwLDEwMCwxMDgsMCwxMzIsMCwwLDEwMCwxMDgsMCwxMzEsMiwKLSAgICAwLDkwLDYyLDAsNzEsMTAwLDEwOSwwLDEwMCwxMTAsMCwxMzIsMCwwLDEwMCwxMTAsCi0gICAgMCwxMzEsMiwwLDkwLDYzLDAsNzEsMTAwLDExMSwwLDEwMCwxMTIsMCwxMzIsMCwKLSAgICAwLDEwMCwxMTIsMCwxMzEsMiwwLDkwLDY0LDAsNzEsMTAwLDExMywwLDEwMCwxMTQsCi0gICAgMCwxMzIsMCwwLDEwMCwxMTQsMCwxMDEsNjQsMCwxMzEsMywwLDkwLDY1LDAsCi0gICAgNzEsMTAwLDExNSwwLDEwMCwxMTYsMCwxMzIsMCwwLDEwMCwxMTYsMCwxMzEsMiwwLAotICAgIDkwLDY2LDAsNzEsMTAwLDExNywwLDEwMCwxMTgsMCwxMzIsMCwwLDEwMCwxMTgsMCwKLSAgICAxMDEsNjYsMCwxMDEsNjUsMCwxMzEsNCwwLDkwLDY3LDAsNzEsMTAwLDExOSwwLAotICAgIDEwMCwxMjAsMCwxMzIsMCwwLDEwMCwxMjAsMCwxMDEsNjYsMCwxMDEsNjQsMCwxMzEsCi0gICAgNCwwLDkwLDY4LDAsMTAzLDAsMCw5MCw2OSwwLDcxLDEwMCwxMjEsMCwxMDAsCi0gICAgMTIyLDAsMTMyLDAsMCwxMDAsMTIyLDAsMTMxLDIsMCw5MCw3MCwwLDcxLDEwMCwKLSAgICAxMjMsMCwxMDAsMTI0LDAsMTMyLDAsMCwxMDAsMTI0LDAsMTMxLDIsMCw5MCw3MSwKLSAgICAwLDcxLDEwMCwxMjUsMCwxMDAsMTI2LDAsMTMyLDAsMCwxMDAsMTI2LDAsMTMxLDIsCi0gICAgMCw5MCw3MiwwLDcxLDEwMCwxMjcsMCwxMDAsMTI4LDAsMTMyLDAsMCwxMDAsMTI4LAotICAgIDAsMTMxLDIsMCw5MCw3MywwLDcxLDEwMCwxMjksMCwxMDAsMTMwLDAsMTMyLDAsCi0gICAgMCwxMDAsMTMwLDAsMTMxLDIsMCw5MCw3NCwwLDcxLDEwMCwxMzEsMCwxMDAsMTMyLAotICAgIDAsMTMyLDAsMCwxMDAsMTMyLDAsMTMxLDIsMCw5MCw3NSwwLDEwMCwxMzMsMCwKLSAgICAxMDAsMTM0LDAsMTMyLDAsMCw5MCw3NiwwLDEwMCwxMzUsMCwxMDAsMTM2LDAsMTMyLAotICAgIDAsMCw5MCw3NywwLDEwMCw1MywwLDEwMCwxMzcsMCwxMDAsMTM4LDAsMTMyLDEsCi0gICAgMCw5MCw3OCwwLDEwMCwxMzksMCwxMDAsMTQwLDAsMTMyLDAsMCw5MCw3OSwwLAotICAgIDEwMCwxNDEsMCw5MCw4MCwwLDEwMSw4MCwwLDEwMCwxNDIsMCwyMyw5MCw4MSwwLAotICAgIDEwMCwxNDMsMCwxMDAsMTQ0LDAsMTMyLDAsMCw5MCw4MiwwLDEwMCwxNDUsMCwxMDAsCi0gICAgMTQ2LDAsMTMyLDAsMCw5MCw4MywwLDEwMCw1MywwLDEwMCw4MCwwLDEwMCwxNDcsCi0gICAgMCwxMDAsMTQ4LDAsMTMyLDIsMCw5MCw4NCwwLDEwMCwxNDksMCwxMDAsMTUwLDAsCi0gICAgMTMyLDAsMCw5MCw4NSwwLDEwMCwxNTEsMCwxMDAsMTUyLDAsMTMyLDAsMCw5MCwKLSAgICA4NiwwLDEwMCwxNTMsMCwxMDAsMTU0LDAsMTMyLDAsMCw5MCw4NywwLDEwMCw1MywKLSAgICAwLDEwMCw1MywwLDEwMiwwLDAsMTAwLDgwLDAsMTAwLDE1NSwwLDEwMCwxNTYsMCwKLSAgICAxMzIsNCwwLDkwLDg4LDAsMTAwLDE1NywwLDEwMCwxNTgsMCwxMzIsMCwwLDkwLAotICAgIDg5LDAsMTAwLDE1OSwwLDEwMCwxNjAsMCwxMzIsMCwwLDkwLDkwLDAsMTAwLDE2MSwKLSAgICAwLDEwMCwxNjIsMCwxMzIsMCwwLDkwLDkxLDAsMTAwLDUzLDAsODMsNDEsMTY0LAotICAgIDk3LDgzLDEsMCwwLDY3LDExMSwxMTQsMTAxLDMyLDEwNSwxMDksMTEyLDEwOCwxMDEsMTA5LAotICAgIDEwMSwxMTAsMTE2LDk3LDExNiwxMDUsMTExLDExMCwzMiwxMTEsMTAyLDMyLDEwNSwxMDksMTEyLDExMSwKLSAgICAxMTQsMTE2LDQ2LDEwLDEwLDg0LDEwNCwxMDUsMTE1LDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLAotICAgIDMyLDEwNSwxMTUsMzIsNzgsNzksODQsMzIsMTA5LDEwMSw5NywxMTAsMTE2LDMyLDExNiwxMTEsCi0gICAgMzIsOTgsMTAxLDMyLDEwMCwxMDUsMTE0LDEwMSw5OSwxMTYsMTA4LDEyMSwzMiwxMDUsMTA5LDExMiwKLSAgICAxMTEsMTE0LDExNiwxMDEsMTAwLDMzLDMyLDczLDExNiwzMiwxMDQsOTcsMTE1LDMyLDk4LDEwMSwKLSAgICAxMDEsMTEwLDMyLDEwMCwxMDEsMTE1LDEwNSwxMDMsMTEwLDEwMSwxMDAsMzIsMTE1LDExNyw5OSwxMDQsCi0gICAgMTAsMTE2LDEwNCw5NywxMTYsMzIsMTA1LDExNiwzMiw5OSw5NywxMTAsMzIsOTgsMTAxLDMyLAotICAgIDk4LDExMSwxMTEsMTE2LDExNSwxMTYsMTE0LDk3LDExMiwxMTIsMTAxLDEwMCwzMiwxMDUsMTEwLDExNiwKLSAgICAxMTEsMzIsODAsMTIxLDExNiwxMDQsMTExLDExMCwzMiw5NywxMTUsMzIsMTE2LDEwNCwxMDEsMzIsCi0gICAgMTA1LDEwOSwxMTIsMTA4LDEwMSwxMDksMTAxLDExMCwxMTYsOTcsMTE2LDEwNSwxMTEsMTEwLDMyLDExMSwKLSAgICAxMDIsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsNDYsMzIsNjUsMTE1LDEwLDExNSwxMTcsOTksCi0gICAgMTA0LDMyLDEwNSwxMTYsMzIsMTE0LDEwMSwxMTMsMTE3LDEwNSwxMTQsMTAxLDExNSwzMiwxMTYsMTA0LAotICAgIDEwMSwzMiwxMDUsMTEwLDEwNiwxMDEsOTksMTE2LDEwNSwxMTEsMTEwLDMyLDExMSwxMDIsMzIsMTE1LAotICAgIDExMiwxMDEsOTksMTA1LDEwMiwxMDUsOTksMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE1LDMyLAotICAgIDk3LDExMCwxMDAsMzIsOTcsMTE2LDExNiwxMTQsMTA1LDk4LDExNywxMTYsMTAxLDExNSwzMiwxMDUsCi0gICAgMTEwLDMyLDExMSwxMTQsMTAwLDEwMSwxMTQsMzIsMTE2LDExMSwxMCwxMTksMTExLDExNCwxMDcsNDYsCi0gICAgMzIsNzksMTEwLDEwMSwzMiwxMTUsMTA0LDExMSwxMTcsMTA4LDEwMCwzMiwxMTcsMTE1LDEwMSwzMiwKLSAgICAxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDgsMTA1LDk4LDMyLDk3LDExNSwzMiwxMTYsMTA0LDEwMSwKLSAgICAzMiwxMTIsMTE3LDk4LDEwOCwxMDUsOTksNDUsMTAyLDk3LDk5LDEwNSwxMTAsMTAzLDMyLDExOCwKLSAgICAxMDEsMTE0LDExNSwxMDUsMTExLDExMCwzMiwxMTEsMTAyLDMyLDExNiwxMDQsMTA1LDExNSwzMiwxMDksCi0gICAgMTExLDEwMCwxMTcsMTA4LDEwMSw0NiwxMCwxMCwyMTgsMywxMTksMTA1LDExMCwyMTgsNiw5OSwKLSAgICAxMjEsMTAzLDExOSwxMDUsMTEwLDIxOCw2LDEwMCw5NywxMTQsMTE5LDEwNSwxMTAsOTksMCwwLAotICAgIDAsMCwwLDAsMCwwLDEsMCwwLDAsMiwwLDAsMCw2NywwLAotICAgIDAsMCwxMTUsNDksMCwwLDAsMTE2LDAsMCwxMDYsMSwwLDEwNiwyLDAsCi0gICAgMTE2LDMsMCwxMzEsMSwwLDExNCwzMywwLDEwMCwxLDAsMTAwLDIsMCwxMzIsCi0gICAgMCwwLDEyNSwwLDAsMTEwLDEyLDAsMTAwLDMsMCwxMDAsMiwwLDEzMiwwLAotICAgIDAsMTI1LDAsMCwxMjQsMCwwLDgzLDQxLDQsNzgsOTksMCwwLDAsMCwKLSAgICAwLDAsMCwwLDAsMCwwLDAsMiwwLDAsMCw4MywwLDAsMCwKLSAgICAxMTUsMTMsMCwwLDAsMTAwLDEsMCwxMTYsMCwwLDEwNiwxLDAsMTA3LDYsCi0gICAgMCw4Myw0MSwyLDEyMiw1Myw4NCwxMTQsMTE3LDEwMSwzMiwxMDUsMTAyLDMyLDEwMiwxMDUsCi0gICAgMTA4LDEwMSwxMTAsOTcsMTA5LDEwMSwxMTUsMzIsMTA5LDExNywxMTUsMTE2LDMyLDk4LDEwMSwzMiwKLSAgICA5OSwxMDQsMTAxLDk5LDEwNywxMDEsMTAwLDMyLDk5LDk3LDExNSwxMDEsNDUsMTA1LDExMCwxMTUsCi0gICAgMTAxLDExMCwxMTUsMTA1LDExNiwxMDUsMTE4LDEwMSwxMDgsMTIxLDQ2LDExNSwxMiwwLDAsMCwKLSAgICA4MCw4OSw4NCw3Miw3OSw3OCw2Nyw2NSw4Myw2OSw3OSw3NSw0MSwyLDIxOCwzLAotICAgIDk1LDExMSwxMTUsOTAsNywxMDEsMTEwLDExOCwxMDUsMTE0LDExMSwxMTAsMTY5LDAsMTE0LDQsCi0gICAgMCwwLDAsMTE0LDQsMCwwLDAsMjUwLDI5LDYwLDEwMiwxMTQsMTExLDEyMiwxMDEsCi0gICAgMTEwLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsNDYsOTUsOTgsMTExLDExMSwKLSAgICAxMTYsMTE1LDExNiwxMTQsOTcsMTEyLDYyLDIxOCwxMSw5NSwxMTQsMTAxLDEwOCw5NywxMjAsOTUsCi0gICAgOTksOTcsMTE1LDEwMSwzMCwwLDAsMCwxMTUsMiwwLDAsMCwwLDIsMTIyLAotICAgIDM3LDk1LDEwOSw5NywxMDcsMTAxLDk1LDExNCwxMDEsMTA4LDk3LDEyMCw5NSw5OSw5NywxMTUsCi0gICAgMTAxLDQ2LDYwLDEwOCwxMTEsOTksOTcsMTA4LDExNSw2Miw0Niw5NSwxMTQsMTAxLDEwOCw5NywKLSAgICAxMjAsOTUsOTksOTcsMTE1LDEwMSw5OSwwLDAsMCwwLDAsMCwwLDAsMCwKLSAgICAwLDAsMCwxLDAsMCwwLDgzLDAsMCwwLDExNSw0LDAsMCwwLAotICAgIDEwMCwxLDAsODMsNDEsMiwxMjIsNTMsODQsMTE0LDExNywxMDEsMzIsMTA1LDEwMiwzMiwKLSAgICAxMDIsMTA1LDEwOCwxMDEsMTEwLDk3LDEwOSwxMDEsMTE1LDMyLDEwOSwxMTcsMTE1LDExNiwzMiw5OCwKLSAgICAxMDEsMzIsOTksMTA0LDEwMSw5OSwxMDcsMTAxLDEwMCwzMiw5OSw5NywxMTUsMTAxLDQ1LDEwNSwKLSAgICAxMTAsMTE1LDEwMSwxMTAsMTE1LDEwNSwxMTYsMTA1LDExOCwxMDEsMTA4LDEyMSw0Niw3MCwxMTQsNCwKLSAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLAotICAgIDAsMCwxMTQsNSwwLDAsMCwxMTQsNiwwLDAsMCwzNCwwLDAsMCwKLSAgICAxMTUsMiwwLDAsMCwwLDIsNDEsNCwyMTgsMywxMTUsMTIxLDExNSwyMTgsOCwKLSAgICAxMTIsMTA4LDk3LDExNiwxMDIsMTExLDExNCwxMDksMjE4LDEwLDExNSwxMTYsOTcsMTE0LDExNiwxMTUsCi0gICAgMTE5LDEwNSwxMTYsMTA0LDIxOCwyNyw5NSw2Nyw2NSw4Myw2OSw5NSw3Myw3OCw4Myw2OSwKLSAgICA3OCw4Myw3Myw4NCw3Myw4Niw2OSw5NSw4MCw3Niw2NSw4NCw3MCw3OSw4Miw3NywKLSAgICA4Myw0MSwxLDExNCw2LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsCi0gICAgMCwwLDExNCw1LDAsMCwwLDIxOCwxNiw5NSwxMDksOTcsMTA3LDEwMSw5NSwxMTQsCi0gICAgMTAxLDEwOCw5NywxMjAsOTUsOTksOTcsMTE1LDEwMSwyOCwwLDAsMCwxMTUsOCwwLAotICAgIDAsMCwwLDEsMTgsMSwxNSw0LDEyLDMsMTE0LDExLDAsMCwwLDk5LAotICAgIDEsMCwwLDAsMCwwLDAsMCwxLDAsMCwwLDMsMCwwLDAsCi0gICAgNjcsMCwwLDAsMTE1LDI2LDAsMCwwLDExNiwwLDAsMTI0LDAsMCwxMzEsCi0gICAgMSwwLDEwMCwxLDAsNjQsMTA2LDEsMCwxMDAsMiwwLDEwMCwzLDAsMTMxLAotICAgIDIsMCw4Myw0MSw0LDEyMiw0Miw2NywxMTEsMTEwLDExOCwxMDEsMTE0LDExNiwzMiw5NywKLSAgICAzMiw1MSw1MCw0NSw5OCwxMDUsMTE2LDMyLDEwNSwxMTAsMTE2LDEwMSwxMDMsMTAxLDExNCwzMiwKLSAgICAxMTYsMTExLDMyLDEwOCwxMDUsMTE2LDExNiwxMDgsMTAxLDQ1LDEwMSwxMTAsMTAwLDEwNSw5NywxMTAsCi0gICAgNDYsMTA4LDMsMCwwLDAsMjU1LDEyNywyNTUsMTI3LDMsMCwyMzMsNCwwLDAsCi0gICAgMCwyMTgsNiwxMDgsMTA1LDExNiwxMTYsMTA4LDEwMSw0MSwyLDIxOCwzLDEwNSwxMTAsMTE2LAotICAgIDIxOCw4LDExNiwxMTEsOTUsOTgsMTIxLDExNiwxMDEsMTE1LDQxLDEsMjE4LDEsMTIwLDExNCwKLSAgICA0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCw3LAotICAgIDk1LDExOSw5NSwxMDgsMTExLDExMCwxMDMsNDAsMCwwLDAsMTE1LDIsMCwwLDAsCi0gICAgMCwyLDExNCwxNywwLDAsMCw5OSwxLDAsMCwwLDAsMCwwLDAsCi0gICAgMSwwLDAsMCwzLDAsMCwwLDY3LDAsMCwwLDExNSwxNiwwLDAsCi0gICAgMCwxMTYsMCwwLDEwNiwxLDAsMTI0LDAsMCwxMDAsMSwwLDEzMSwyLDAsCi0gICAgODMsNDEsMiwxMjIsNDcsNjcsMTExLDExMCwxMTgsMTAxLDExNCwxMTYsMzIsNTIsMzIsOTgsCi0gICAgMTIxLDExNiwxMDEsMTE1LDMyLDEwNSwxMTAsMzIsMTA4LDEwNSwxMTYsMTE2LDEwOCwxMDEsNDUsMTAxLAotICAgIDExMCwxMDAsMTA1LDk3LDExMCwzMiwxMTYsMTExLDMyLDk3LDExMCwzMiwxMDUsMTEwLDExNiwxMDEsCi0gICAgMTAzLDEwMSwxMTQsNDYsMTE0LDEzLDAsMCwwLDQxLDIsMTE0LDE0LDAsMCwwLAotICAgIDIxOCwxMCwxMDIsMTE0LDExMSwxMDksOTUsOTgsMTIxLDExNiwxMDEsMTE1LDQxLDEsOTAsOSwKLSAgICAxMDUsMTEwLDExNiw5NSw5OCwxMjEsMTE2LDEwMSwxMTUsMTE0LDQsMCwwLDAsMTE0LDQsCi0gICAgMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDcsOTUsMTE0LDk1LDEwOCwxMTEsMTEwLAotICAgIDEwMyw0NSwwLDAsMCwxMTUsMiwwLDAsMCwwLDIsMTE0LDE5LDAsMCwKLSAgICAwLDk5LDAsMCwwLDAsMCwwLDAsMCwxLDAsMCwwLDMsMCwKLSAgICAwLDAsNzEsMCwwLDAsMTE1LDI2LDAsMCwwLDExNiwwLDAsMTA2LDEsCi0gICAgMCwxMDAsMSwwLDEwMCwyLDAsMTMyLDAsMCwxMjQsMCwwLDY4LDEzMSwxLAotICAgIDAsMTMxLDEsMCw4Myw0MSwzLDEyMiwzMSw4MiwxMDEsMTEyLDEwOCw5Nyw5OSwxMDEsCi0gICAgMTA5LDEwMSwxMTAsMTE2LDMyLDEwMiwxMTEsMTE0LDMyLDExMSwxMTUsNDYsMTEyLDk3LDExNiwxMDQsCi0gICAgNDYsMTA2LDExMSwxMDUsMTEwLDQwLDQxLDQ2LDk5LDEsMCwwLDAsMCwwLDAsCi0gICAgMCwyLDAsMCwwLDQsMCwwLDAsODMsMCwwLDAsMTE1LDM3LDAsCi0gICAgMCwwLDEwMywwLDAsMTI0LDAsMCw5MywyNywwLDEyNSwxLDAsMTI0LDEsCi0gICAgMCwxMTQsNiwwLDEyNCwxLDAsMTA2LDAsMCwxMTYsMSwwLDEzMSwxLDAsCi0gICAgMTQ1LDIsMCwxMTMsNiwwLDgzLDExNCw0LDAsMCwwLDQxLDIsMjE4LDYsCi0gICAgMTE0LDExNSwxMTYsMTE0LDEwNSwxMTIsMjE4LDE1LDExMiw5NywxMTYsMTA0LDk1LDExNSwxMDEsMTEyLAotICAgIDk3LDExNCw5NywxMTYsMTExLDExNCwxMTUsNDEsMiwyMTgsMiw0Niw0OCwyMTgsNCwxMTIsCi0gICAgOTcsMTE0LDExNiwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLAotICAgIDAsMCwyNTAsMTAsNjAsMTA4LDEwNSwxMTUsMTE2LDk5LDExMSwxMDksMTEyLDYyLDUyLDAsCi0gICAgMCwwLDExNSwyLDAsMCwwLDksMSwxMjIsMzAsOTUsMTEyLDk3LDExNiwxMDQsCi0gICAgOTUsMTA2LDExMSwxMDUsMTEwLDQ2LDYwLDEwOCwxMTEsOTksOTcsMTA4LDExNSw2Miw0Niw2MCwKLSAgICAxMDgsMTA1LDExNSwxMTYsOTksMTExLDEwOSwxMTIsNjIsNDEsMiwyMTgsOCwxMTIsOTcsMTE2LAotICAgIDEwNCw5NSwxMTUsMTAxLDExMiwyMTgsNCwxMDYsMTExLDEwNSwxMTAsNDEsMSwyMTgsMTAsMTEyLAotICAgIDk3LDExNiwxMDQsOTUsMTEyLDk3LDExNCwxMTYsMTE1LDExNCw0LDAsMCwwLDExNCw0LAotICAgIDAsMCwwLDExNCw1LDAsMCwwLDIxOCwxMCw5NSwxMTIsOTcsMTE2LDEwNCw5NSwKLSAgICAxMDYsMTExLDEwNSwxMTAsNTAsMCwwLDAsMTE1LDQsMCwwLDAsMCwyLDE1LAotICAgIDEsMTE0LDI4LDAsMCwwLDk5LDEsMCwwLDAsMCwwLDAsMCw1LAotICAgIDAsMCwwLDUsMCwwLDAsNjcsMCwwLDAsMTE1LDEzNCwwLDAsMCwKLSAgICAxMTYsMCwwLDExNiwxLDAsMTMxLDEsMCwxMDAsMSwwLDEwNywyLDAsMTE0LAotICAgIDUyLDAsMTI0LDAsMCwxMDYsMiwwLDExNiwzLDAsMTMxLDEsMCw5MiwzLAotICAgIDAsMTI1LDEsMCwxMjUsMiwwLDEyNSwzLDAsMTI0LDEsMCwxMjQsMywwLAotICAgIDEwMiwyLDAsODMsMTIwLDY5LDAsMTE2LDQsMCwxMjQsMCwwLDEzMSwxLDAsCi0gICAgNjgsOTMsNTUsMCwxMjUsNCwwLDEyNCw0LDAsMTE2LDEsMCwxMDcsNiwwLAotICAgIDExNCw2NSwwLDEyNCwwLDAsMTA2LDUsMCwxMjQsNCwwLDEwMCwyLDAsMTAwLAotICAgIDEsMCwxMzEsMSwxLDkyLDIsMCwxMjUsMSwwLDEyNSwzLDAsMTI0LDEsCi0gICAgMCwxMjQsMywwLDEwMiwyLDAsODMsMTEzLDY1LDAsODcsMTAwLDMsMCwxMjQsCi0gICAgMCwwLDEwMiwyLDAsODMsNDEsNCwxMjIsMzIsODIsMTAxLDExMiwxMDgsOTcsOTksCi0gICAgMTAxLDEwOSwxMDEsMTEwLDExNiwzMiwxMDIsMTExLDExNCwzMiwxMTEsMTE1LDQ2LDExMiw5NywxMTYsCi0gICAgMTA0LDQ2LDExNSwxMTIsMTA4LDEwNSwxMTYsNDAsNDEsNDYsMjMzLDEsMCwwLDAsOTAsCi0gICAgOCwxMDksOTcsMTIwLDExNSwxMTIsMTA4LDEwNSwxMTYsMjE4LDAsNDEsNiwyMTgsMywxMDgsCi0gICAgMTAxLDExMCwxMTQsMjEsMCwwLDAsMjE4LDEwLDExNCwxMTIsOTcsMTE0LDExNiwxMDUsMTE2LAotICAgIDEwNSwxMTEsMTEwLDExNCwyNSwwLDAsMCwyMTgsOCwxMTQsMTAxLDExOCwxMDEsMTE0LDExNSwKLSAgICAxMDEsMTAwLDIxOCw2LDExNCwxMTUsMTEyLDEwOCwxMDUsMTE2LDQxLDUsMjE4LDQsMTEyLDk3LAotICAgIDExNiwxMDQsOTAsNSwxMDIsMTE0LDExMSwxMTAsMTE2LDIxOCwxLDk1LDIxOCw0LDExNiw5NywKLSAgICAxMDUsMTA4LDExNCwxNiwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsCi0gICAgMCwxMTQsNSwwLDAsMCwyMTgsMTEsOTUsMTEyLDk3LDExNiwxMDQsOTUsMTE1LDExMiwKLSAgICAxMDgsMTA1LDExNiw1NiwwLDAsMCwxMTUsMTYsMCwwLDAsMCwyLDE4LDEsCi0gICAgMjQsMSwxMCwxLDE5LDEsMTIsMSwyNywxLDE0LDEsMTE0LDM4LDAsMCwKLSAgICAwLDk5LDEsMCwwLDAsMCwwLDAsMCwxLDAsMCwwLDIsMCwKLSAgICAwLDAsNjcsMCwwLDAsMTE1LDEzLDAsMCwwLDExNiwwLDAsMTA2LDEsCi0gICAgMCwxMjQsMCwwLDEzMSwxLDAsODMsNDEsMSwxMjIsMTI2LDgzLDExNiw5NywxMTYsCi0gICAgMzIsMTE2LDEwNCwxMDEsMzIsMTEyLDk3LDExNiwxMDQsNDYsMTAsMTAsMzIsMzIsMzIsMzIsCi0gICAgNzcsOTcsMTAwLDEwMSwzMiw5NywzMiwxMTUsMTAxLDExMiw5NywxMTQsOTcsMTE2LDEwMSwzMiwKLSAgICAxMDIsMTE3LDExMCw5OSwxMTYsMTA1LDExMSwxMTAsMzIsMTE2LDExMSwzMiwxMDksOTcsMTA3LDEwMSwKLSAgICAzMiwxMDUsMTE2LDMyLDEwMSw5NywxMTUsMTA1LDEwMSwxMTQsMzIsMTE2LDExMSwzMiwxMTEsMTE4LAotICAgIDEwMSwxMTQsMTE0LDEwNSwxMDAsMTAxLDMyLDEwNSwxMTAsMzIsMTAxLDEyMCwxMTIsMTAxLDExNCwxMDUsCi0gICAgMTA5LDEwMSwxMTAsMTE2LDExNSwxMCwzMiwzMiwzMiwzMiw0MCwxMDEsNDYsMTAzLDQ2LDMyLAotICAgIDk5LDk3LDk5LDEwNCwxMDEsMzIsMTE1LDExNiw5NywxMTYsMzIsMTE0LDEwMSwxMTUsMTE3LDEwOCwKLSAgICAxMTYsMTE1LDQxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDQxLDIsMTE0LDMsMCwwLAotICAgIDAsOTAsNCwxMTUsMTE2LDk3LDExNiw0MSwxLDExNCwzNSwwLDAsMCwxMTQsNCwKLSAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTAsOTUsCi0gICAgMTEyLDk3LDExNiwxMDQsOTUsMTE1LDExNiw5NywxMTYsNjgsMCwwLDAsMTE1LDIsMCwKLSAgICAwLDAsMCw3LDExNCwzOSwwLDAsMCw5OSwyLDAsMCwwLDAsMCwKLSAgICAwLDAsMywwLDAsMCwxMSwwLDAsMCw2NywwLDAsMCwxMTUsNTgsCi0gICAgMCwwLDAsMTIxLDE2LDAsMTE2LDAsMCwxMjQsMCwwLDEzMSwxLDAsMTI1LAotICAgIDIsMCw4NywxMTAsMjIsMCw0LDExNiwxLDAsMTA3LDEwLDAsMTE0LDQwLDAsCi0gICAgMSwxLDEsMTAwLDEsMCw4Myw4OSwxMTAsMSwwLDg4LDEyNCwyLDAsMTA2LAotICAgIDIsMCwxMDAsMiwwLDY0LDEyNCwxLDAsMTA3LDIsMCw4Myw0MSwzLDEyMiwKLSAgICA0OSw4NCwxMDEsMTE1LDExNiwzMiwxMTksMTA0LDEwMSwxMTYsMTA0LDEwMSwxMTQsMzIsMTE2LDEwNCwKLSAgICAxMDEsMzIsMTEyLDk3LDExNiwxMDQsMzIsMTA1LDExNSwzMiwxMTYsMTA0LDEwMSwzMiwxMTUsMTEyLAotICAgIDEwMSw5OSwxMDUsMTAyLDEwNSwxMDEsMTAwLDMyLDEwOSwxMTEsMTAwLDEwMSwzMiwxMTYsMTIxLDExMiwKLSAgICAxMDEsNDYsNzAsMTA1LDAsMjQwLDAsMCw0MSwzLDExNCwzOSwwLDAsMCwyMTgsCi0gICAgNyw3OSw4Myw2OSwxMTQsMTE0LDExMSwxMTQsMjE4LDcsMTE1LDExNiw5NSwxMDksMTExLDEwMCwKLSAgICAxMDEsNDEsMywxMTQsMzUsMCwwLDAsMjE4LDQsMTA5LDExMSwxMDAsMTAxLDkwLDksCi0gICAgMTE1LDExNiw5NywxMTYsOTUsMTA1LDExMCwxMDIsMTExLDExNCw0LDAsMCwwLDExNCw0LAotICAgIDAsMCwwLDExNCw1LDAsMCwwLDIxOCwxOCw5NSwxMTIsOTcsMTE2LDEwNCw5NSwKLSAgICAxMDUsMTE1LDk1LDEwOSwxMTEsMTAwLDEwMSw5NSwxMTYsMTIxLDExMiwxMDEsNzgsMCwwLDAsCi0gICAgMTE1LDEwLDAsMCwwLDAsMiwzLDEsMTYsMSwxMywxLDksMSwxMTQsCi0gICAgNDMsMCwwLDAsOTksMSwwLDAsMCwwLDAsMCwwLDEsMCwwLAotICAgIDAsMywwLDAsMCw2NywwLDAsMCwxMTUsMTMsMCwwLDAsMTE2LDAsCi0gICAgMCwxMjQsMCwwLDEwMCwxLDAsMTMxLDIsMCw4Myw0MSwyLDEyMiwzMSw4MiwKLSAgICAxMDEsMTEyLDEwOCw5Nyw5OSwxMDEsMTA5LDEwMSwxMTAsMTE2LDMyLDEwMiwxMTEsMTE0LDMyLDExMSwKLSAgICAxMTUsNDYsMTEyLDk3LDExNiwxMDQsNDYsMTA1LDExNSwxMDIsMTA1LDEwOCwxMDEsNDYsMTA1LDAsCi0gICAgMTI4LDAsMCw0MSwxLDExNCw0MywwLDAsMCw0MSwxLDExNCwzNSwwLDAsCi0gICAgMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwKLSAgICAyMTgsMTIsOTUsMTEyLDk3LDExNiwxMDQsOTUsMTA1LDExNSwxMDIsMTA1LDEwOCwxMDEsODcsMCwKLSAgICAwLDAsMTE1LDIsMCwwLDAsMCwyLDExNCw0NCwwLDAsMCw5OSwxLAorICAgIDEwMCw5OSwwLDEwMCwxMDAsMCwxMzIsMiwwLDkwLDU4LDAsMTAwLDEwMSwwLDEwMCwKKyAgICAxMDIsMCwxMDAsMTAzLDAsMTAwLDEwNCwwLDEzMiwwLDEsOTAsNTksMCwxMDAsMTA1LAorICAgIDAsMTAwLDEwNiwwLDEzMiwwLDAsOTAsNjAsMCwxMDAsMTA3LDAsMTAwLDEwOCwwLAorICAgIDEzMiwwLDAsOTAsNjEsMCwxMDAsMTA5LDAsMTAwLDExMCwwLDEzMiwwLDAsOTAsCisgICAgNjIsMCwxMDAsMTExLDAsMTAwLDExMiwwLDEzMiwwLDAsOTAsNjMsMCwxMDAsMTEzLAorICAgIDAsMTAwLDExNCwwLDEzMiwwLDAsOTAsNjQsMCwxMDAsMTE1LDAsMTAwLDExNiwwLAorICAgIDEzMiwwLDAsOTAsNjUsMCwxMDAsNTMsMCwxMDAsMTE3LDAsMTAwLDExOCwwLDEzMiwKKyAgICAxLDAsOTAsNjYsMCw3MSwxMDAsMTE5LDAsMTAwLDEyMCwwLDEzMiwwLDAsMTAwLAorICAgIDEyMCwwLDEzMSwyLDAsOTAsNjcsMCw3MSwxMDAsMTIxLDAsMTAwLDEyMiwwLDEzMiwKKyAgICAwLDAsMTAwLDEyMiwwLDEzMSwyLDAsOTAsNjgsMCw3MSwxMDAsMTIzLDAsMTAwLAorICAgIDEyNCwwLDEzMiwwLDAsMTAwLDEyNCwwLDEzMSwyLDAsOTAsNjksMCw3MSwxMDAsCisgICAgMTI1LDAsMTAwLDEyNiwwLDEzMiwwLDAsMTAwLDEyNiwwLDEzMSwyLDAsOTAsNzAsCisgICAgMCw3MSwxMDAsMTI3LDAsMTAwLDEyOCwwLDEzMiwwLDAsMTAwLDEyOCwwLDEwMSw3MCwKKyAgICAwLDEzMSwzLDAsOTAsNzEsMCw3MSwxMDAsMTI5LDAsMTAwLDEzMCwwLDEzMiwwLAorICAgIDAsMTAwLDEzMCwwLDEzMSwyLDAsOTAsNzIsMCw3MSwxMDAsMTMxLDAsMTAwLDEzMiwKKyAgICAwLDEzMiwwLDAsMTAwLDEzMiwwLDEwMSw3MiwwLDEwMSw3MSwwLDEzMSw0LDAsCisgICAgOTAsNzMsMCw3MSwxMDAsMTMzLDAsMTAwLDEzNCwwLDEzMiwwLDAsMTAwLDEzNCwwLAorICAgIDEwMSw3MiwwLDEwMSw3MCwwLDEzMSw0LDAsOTAsNzQsMCwxMDMsMCwwLDkwLAorICAgIDc1LDAsNzEsMTAwLDEzNSwwLDEwMCwxMzYsMCwxMzIsMCwwLDEwMCwxMzYsMCwxMzEsCisgICAgMiwwLDkwLDc2LDAsNzEsMTAwLDEzNywwLDEwMCwxMzgsMCwxMzIsMCwwLDEwMCwKKyAgICAxMzgsMCwxMzEsMiwwLDkwLDc3LDAsNzEsMTAwLDEzOSwwLDEwMCwxNDAsMCwxMzIsCisgICAgMCwwLDEwMCwxNDAsMCwxMzEsMiwwLDkwLDc4LDAsNzEsMTAwLDE0MSwwLDEwMCwKKyAgICAxNDIsMCwxMzIsMCwwLDEwMCwxNDIsMCwxMzEsMiwwLDkwLDc5LDAsNzEsMTAwLAorICAgIDE0MywwLDEwMCwxNDQsMCwxMzIsMCwwLDEwMCwxNDQsMCwxMzEsMiwwLDkwLDgwLAorICAgIDAsNzEsMTAwLDE0NSwwLDEwMCwxNDYsMCwxMzIsMCwwLDEwMCwxNDYsMCwxMzEsMiwKKyAgICAwLDkwLDgxLDAsMTAwLDE0NywwLDEwMCwxNDgsMCwxMzIsMCwwLDkwLDgyLDAsCisgICAgMTAwLDE0OSwwLDEwMCwxNTAsMCwxMzIsMCwwLDkwLDgzLDAsMTAwLDUzLDAsMTAwLAorICAgIDE1MSwwLDEwMCwxNTIsMCwxMzIsMSwwLDkwLDg0LDAsMTAwLDE1MywwLDEwMCwxNTQsCisgICAgMCwxMzIsMCwwLDkwLDg1LDAsMTAwLDE1NSwwLDkwLDg2LDAsMTAxLDg2LDAsCisgICAgMTAwLDE1NiwwLDIzLDkwLDg3LDAsMTAwLDE1NywwLDEwMCwxNTgsMCwxMzIsMCwwLAorICAgIDkwLDg4LDAsMTAwLDE1OSwwLDEwMCwxNjAsMCwxMzIsMCwwLDkwLDg5LDAsMTAwLAorICAgIDUzLDAsMTAwLDgwLDAsMTAwLDE2MSwwLDEwMCwxNjIsMCwxMzIsMiwwLDkwLDkwLAorICAgIDAsMTAwLDE2MywwLDEwMCwxNjQsMCwxMzIsMCwwLDkwLDkxLDAsMTAwLDE2NSwwLAorICAgIDEwMCwxNjYsMCwxMzIsMCwwLDkwLDkyLDAsMTAwLDE2NywwLDEwMCwxNjgsMCwxMzIsCisgICAgMCwwLDkwLDkzLDAsMTAwLDUzLDAsMTAwLDUzLDAsMTAyLDAsMCwxMDAsODAsCisgICAgMCwxMDAsMTY5LDAsMTAwLDE3MCwwLDEzMiw0LDAsOTAsOTQsMCwxMDAsMTcxLDAsCisgICAgMTAwLDE3MiwwLDEzMiwwLDAsOTAsOTUsMCwxMDAsMTczLDAsMTAwLDE3NCwwLDEzMiwKKyAgICAwLDAsOTAsOTYsMCwxMDAsMTc1LDAsMTAwLDE3NiwwLDEzMiwwLDAsOTAsOTcsCisgICAgMCwxMDAsNTMsMCw4Myw0MSwxNzgsOTcsODMsMSwwLDAsNjcsMTExLDExNCwxMDEsCisgICAgMzIsMTA1LDEwOSwxMTIsMTA4LDEwMSwxMDksMTAxLDExMCwxMTYsOTcsMTE2LDEwNSwxMTEsMTEwLDMyLAorICAgIDExMSwxMDIsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsNDYsMTAsMTAsODQsMTA0LDEwNSwxMTUsCisgICAgMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTA1LDExNSwzMiw3OCw3OSw4NCwzMiwxMDksCisgICAgMTAxLDk3LDExMCwxMTYsMzIsMTE2LDExMSwzMiw5OCwxMDEsMzIsMTAwLDEwNSwxMTQsMTAxLDk5LAorICAgIDExNiwxMDgsMTIxLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMDAsMzMsMzIsNzMsMTE2LAorICAgIDMyLDEwNCw5NywxMTUsMzIsOTgsMTAxLDEwMSwxMTAsMzIsMTAwLDEwMSwxMTUsMTA1LDEwMywxMTAsCisgICAgMTAxLDEwMCwzMiwxMTUsMTE3LDk5LDEwNCwxMCwxMTYsMTA0LDk3LDExNiwzMiwxMDUsMTE2LDMyLAorICAgIDk5LDk3LDExMCwzMiw5OCwxMDEsMzIsOTgsMTExLDExMSwxMTYsMTE1LDExNiwxMTQsOTcsMTEyLAorICAgIDExMiwxMDEsMTAwLDMyLDEwNSwxMTAsMTE2LDExMSwzMiw4MCwxMjEsMTE2LDEwNCwxMTEsMTEwLDMyLAorICAgIDk3LDExNSwzMiwxMTYsMTA0LDEwMSwzMiwxMDUsMTA5LDExMiwxMDgsMTAxLDEwOSwxMDEsMTEwLDExNiwKKyAgICA5NywxMTYsMTA1LDExMSwxMTAsMzIsMTExLDEwMiwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiw0NiwKKyAgICAzMiw2NSwxMTUsMTAsMTE1LDExNyw5OSwxMDQsMzIsMTA1LDExNiwzMiwxMTQsMTAxLDExMywxMTcsCisgICAgMTA1LDExNCwxMDEsMTE1LDMyLDExNiwxMDQsMTAxLDMyLDEwNSwxMTAsMTA2LDEwMSw5OSwxMTYsMTA1LAorICAgIDExMSwxMTAsMzIsMTExLDEwMiwzMiwxMTUsMTEyLDEwMSw5OSwxMDUsMTAyLDEwNSw5OSwzMiwxMDksCisgICAgMTExLDEwMCwxMTcsMTA4LDEwMSwxMTUsMzIsOTcsMTEwLDEwMCwzMiw5NywxMTYsMTE2LDExNCwxMDUsCisgICAgOTgsMTE3LDExNiwxMDEsMTE1LDMyLDEwNSwxMTAsMzIsMTExLDExNCwxMDAsMTAxLDExNCwzMiwxMTYsCisgICAgMTExLDEwLDExOSwxMTEsMTE0LDEwNyw0NiwzMiw3OSwxMTAsMTAxLDMyLDExNSwxMDQsMTExLDExNywKKyAgICAxMDgsMTAwLDMyLDExNywxMTUsMTAxLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsCisgICAgMzIsOTcsMTE1LDMyLDExNiwxMDQsMTAxLDMyLDExMiwxMTcsOTgsMTA4LDEwNSw5OSw0NSwxMDIsCisgICAgOTcsOTksMTA1LDExMCwxMDMsMzIsMTE4LDEwMSwxMTQsMTE1LDEwNSwxMTEsMTEwLDMyLDExMSwxMDIsCisgICAgMzIsMTE2LDEwNCwxMDUsMTE1LDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDQ2LDEwLDEwLDIxOCwKKyAgICAzLDExOSwxMDUsMTEwLDIxOCw2LDk5LDEyMSwxMDMsMTE5LDEwNSwxMTAsMjE4LDYsMTAwLDk3LAorICAgIDExNCwxMTksMTA1LDExMCw5OSwwLDAsMCwwLDAsMCwwLDAsMSwwLDAsCisgICAgMCwyLDAsMCwwLDY3LDAsMCwwLDExNSw0OSwwLDAsMCwxMTYsMCwKKyAgICAwLDEwNiwxLDAsMTA2LDIsMCwxMTYsMywwLDEzMSwxLDAsMTE0LDMzLDAsCisgICAgMTAwLDEsMCwxMDAsMiwwLDEzMiwwLDAsMTI1LDAsMCwxMTAsMTIsMCwxMDAsCisgICAgMywwLDEwMCwyLDAsMTMyLDAsMCwxMjUsMCwwLDEyNCwwLDAsODMsNDEsCisgICAgNCw3OCw5OSwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwyLAorICAgIDAsMCwwLDgzLDAsMCwwLDExNSwxMywwLDAsMCwxMDAsMSwwLDExNiwKKyAgICAwLDAsMTA2LDEsMCwxMDcsNiwwLDgzLDQxLDIsMTIyLDUzLDg0LDExNCwxMTcsCisgICAgMTAxLDMyLDEwNSwxMDIsMzIsMTAyLDEwNSwxMDgsMTAxLDExMCw5NywxMDksMTAxLDExNSwzMiwxMDksCisgICAgMTE3LDExNSwxMTYsMzIsOTgsMTAxLDMyLDk5LDEwNCwxMDEsOTksMTA3LDEwMSwxMDAsMzIsOTksCisgICAgOTcsMTE1LDEwMSw0NSwxMDUsMTEwLDExNSwxMDEsMTEwLDExNSwxMDUsMTE2LDEwNSwxMTgsMTAxLDEwOCwKKyAgICAxMjEsNDYsMTE1LDEyLDAsMCwwLDgwLDg5LDg0LDcyLDc5LDc4LDY3LDY1LDgzLAorICAgIDY5LDc5LDc1LDQxLDIsMjE4LDMsOTUsMTExLDExNSw5MCw3LDEwMSwxMTAsMTE4LDEwNSwKKyAgICAxMTQsMTExLDExMCwxNjksMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwyNTAsCisgICAgMjksNjAsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LAorICAgIDEwNSw5OCw0Niw5NSw5OCwxMTEsMTExLDExNiwxMTUsMTE2LDExNCw5NywxMTIsNjIsMjE4LDExLAorICAgIDk1LDExNCwxMDEsMTA4LDk3LDEyMCw5NSw5OSw5NywxMTUsMTAxLDMwLDAsMCwwLDExNSwKKyAgICAyLDAsMCwwLDAsMiwxMjIsMzcsOTUsMTA5LDk3LDEwNywxMDEsOTUsMTE0LDEwMSwKKyAgICAxMDgsOTcsMTIwLDk1LDk5LDk3LDExNSwxMDEsNDYsNjAsMTA4LDExMSw5OSw5NywxMDgsMTE1LAorICAgIDYyLDQ2LDk1LDExNCwxMDEsMTA4LDk3LDEyMCw5NSw5OSw5NywxMTUsMTAxLDk5LDAsMCwKKyAgICAwLDAsMCwwLDAsMCwwLDAsMCwwLDEsMCwwLDAsODMsMCwKKyAgICAwLDAsMTE1LDQsMCwwLDAsMTAwLDEsMCw4Myw0MSwyLDEyMiw1Myw4NCwKKyAgICAxMTQsMTE3LDEwMSwzMiwxMDUsMTAyLDMyLDEwMiwxMDUsMTA4LDEwMSwxMTAsOTcsMTA5LDEwMSwxMTUsCisgICAgMzIsMTA5LDExNywxMTUsMTE2LDMyLDk4LDEwMSwzMiw5OSwxMDQsMTAxLDk5LDEwNywxMDEsMTAwLAorICAgIDMyLDk5LDk3LDExNSwxMDEsNDUsMTA1LDExMCwxMTUsMTAxLDExMCwxMTUsMTA1LDExNiwxMDUsMTE4LAorICAgIDEwMSwxMDgsMTIxLDQ2LDcwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCwKKyAgICA0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCw2LAorICAgIDAsMCwwLDM0LDAsMCwwLDExNSwyLDAsMCwwLDAsMiw0MSw0LAorICAgIDIxOCwzLDExNSwxMjEsMTE1LDIxOCw4LDExMiwxMDgsOTcsMTE2LDEwMiwxMTEsMTE0LDEwOSwyMTgsCisgICAgMTAsMTE1LDExNiw5NywxMTQsMTE2LDExNSwxMTksMTA1LDExNiwxMDQsMjE4LDI3LDk1LDY3LDY1LAorICAgIDgzLDY5LDk1LDczLDc4LDgzLDY5LDc4LDgzLDczLDg0LDczLDg2LDY5LDk1LDgwLAorICAgIDc2LDY1LDg0LDcwLDc5LDgyLDc3LDgzLDQxLDEsMTE0LDYsMCwwLDAsMTE0LAorICAgIDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDE2LAorICAgIDk1LDEwOSw5NywxMDcsMTAxLDk1LDExNCwxMDEsMTA4LDk3LDEyMCw5NSw5OSw5NywxMTUsMTAxLAorICAgIDI4LDAsMCwwLDExNSw4LDAsMCwwLDAsMSwxOCwxLDE1LDQsMTIsCisgICAgMywxMTQsMTEsMCwwLDAsOTksMSwwLDAsMCwwLDAsMCwwLDEsCisgICAgMCwwLDAsMywwLDAsMCw2NywwLDAsMCwxMTUsMjYsMCwwLDAsCisgICAgMTE2LDAsMCwxMjQsMCwwLDEzMSwxLDAsMTAwLDEsMCw2NCwxMDYsMSwwLAorICAgIDEwMCwyLDAsMTAwLDMsMCwxMzEsMiwwLDgzLDQxLDQsMTIyLDQyLDY3LDExMSwKKyAgICAxMTAsMTE4LDEwMSwxMTQsMTE2LDMyLDk3LDMyLDUxLDUwLDQ1LDk4LDEwNSwxMTYsMzIsMTA1LAorICAgIDExMCwxMTYsMTAxLDEwMywxMDEsMTE0LDMyLDExNiwxMTEsMzIsMTA4LDEwNSwxMTYsMTE2LDEwOCwxMDEsCisgICAgNDUsMTAxLDExMCwxMDAsMTA1LDk3LDExMCw0NiwxMDgsMywwLDAsMCwyNTUsMTI3LDI1NSwKKyAgICAxMjcsMywwLDIzMyw0LDAsMCwwLDIxOCw2LDEwOCwxMDUsMTE2LDExNiwxMDgsMTAxLAorICAgIDQxLDIsMjE4LDMsMTA1LDExMCwxMTYsMjE4LDgsMTE2LDExMSw5NSw5OCwxMjEsMTE2LDEwMSwKKyAgICAxMTUsNDEsMSwyMTgsMSwxMjAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsCisgICAgMTE0LDUsMCwwLDAsMjE4LDcsOTUsMTE5LDk1LDEwOCwxMTEsMTEwLDEwMyw0MCwwLAorICAgIDAsMCwxMTUsMiwwLDAsMCwwLDIsMTE0LDE3LDAsMCwwLDk5LDEsCiAgICAgMCwwLDAsMCwwLDAsMCwxLDAsMCwwLDMsMCwwLDAsNjcsCi0gICAgMCwwLDAsMTE1LDM0LDAsMCwwLDEyNCwwLDAsMTE1LDIxLDAsMTE2LDAsCi0gICAgMCwxMDYsMSwwLDEzMSwwLDAsMTI1LDAsMCwxMTAsMCwwLDExNiwyLDAsCi0gICAgMTI0LDAsMCwxMDAsMSwwLDEzMSwyLDAsODMsNDEsMiwxMjIsMzAsODIsMTAxLAotICAgIDExMiwxMDgsOTcsOTksMTAxLDEwOSwxMDEsMTEwLDExNiwzMiwxMDIsMTExLDExNCwzMiwxMTEsMTE1LAotICAgIDQ2LDExMiw5NywxMTYsMTA0LDQ2LDEwNSwxMTUsMTAwLDEwNSwxMTQsNDYsMTA1LDAsNjQsMCwKLSAgICAwLDQxLDMsMTE0LDMsMCwwLDAsMjE4LDYsMTAzLDEwMSwxMTYsOTksMTE5LDEwMCwKLSAgICAxMTQsNDMsMCwwLDAsNDEsMSwxMTQsMzUsMCwwLDAsMTE0LDQsMCwwLAotICAgIDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDExLDk1LDExMiw5NywKLSAgICAxMTYsMTA0LDk1LDEwNSwxMTUsMTAwLDEwNSwxMTQsOTIsMCwwLDAsMTE1LDYsMCwwLAotICAgIDAsMCwyLDYsMSwxNSwxLDExNCw0NiwwLDAsMCwxMDUsMTgyLDEsMCwKLSAgICAwLDk5LDMsMCwwLDAsMCwwLDAsMCw2LDAsMCwwLDE3LDAsCi0gICAgMCwwLDY3LDAsMCwwLDExNSwxOTIsMCwwLDAsMTAwLDEsMCwxMDYsMCwKLSAgICAwLDEyNCwwLDAsMTE2LDEsMCwxMjQsMCwwLDEzMSwxLDAsMTMxLDIsMCwKLSAgICAxMjUsMywwLDExNiwyLDAsMTA2LDMsMCwxMjQsMywwLDExNiwyLDAsMTA2LAotICAgIDQsMCwxMTYsMiwwLDEwNiw1LDAsNjYsMTE2LDIsMCwxMDYsNiwwLDY2LAotICAgIDEyNCwyLDAsMTAwLDIsMCw2NCwxMzEsMywwLDEyNSw0LDAsMTIxLDYwLDAsCi0gICAgMTE2LDcsMCwxMDYsOCwwLDEyNCw0LDAsMTAwLDMsMCwxMzEsMiwwLDE0MywKLSAgICAyMCwwLDEyNSw1LDAsMTI0LDUsMCwxMDYsOSwwLDEyNCwxLDAsMTMxLDEsCi0gICAgMCwxLDg3LDEwMCw0LDAsODEsODgsMTE2LDIsMCwxMDYsMTAsMCwxMjQsMywKLSAgICAwLDEyNCwwLDAsMTMxLDIsMCwxLDg3LDExMCw1OSwwLDQsMTE2LDExLDAsCi0gICAgMTA3LDEwLDAsMTE0LDE4NywwLDEsMSwxLDEyMSwxNywwLDExNiwyLDAsMTA2LAotICAgIDEyLDAsMTI0LDMsMCwxMzEsMSwwLDEsODcsMTEwLDE4LDAsNCwxMTYsMTEsCi0gICAgMCwxMDcsMTAsMCwxMTQsMTc5LDAsMSwxLDEsODksMTEwLDEsMCw4OCwxMzAsCi0gICAgMCwwLDg5LDExMCwxLDAsODgsMTAwLDQsMCw4Myw0MSw1LDEyMiwxNjIsNjYsCi0gICAgMTAxLDExNSwxMTYsNDUsMTAxLDEwMiwxMDIsMTExLDExNCwxMTYsMzIsMTAyLDExNywxMTAsOTksMTE2LAotICAgIDEwNSwxMTEsMTEwLDMyLDExNiwxMTEsMzIsMTE5LDExNCwxMDUsMTE2LDEwMSwzMiwxMDAsOTcsMTE2LAotICAgIDk3LDMyLDExNiwxMTEsMzIsOTcsMzIsMTEyLDk3LDExNiwxMDQsMzIsOTcsMTE2LDExMSwxMDksCi0gICAgMTA1LDk5LDk3LDEwOCwxMDgsMTIxLDQ2LDEwLDMyLDMyLDMyLDMyLDY2LDEwMSwzMiwxMTIsCi0gICAgMTE0LDEwMSwxMTIsOTcsMTE0LDEwMSwxMDAsMzIsMTE2LDExMSwzMiwxMDQsOTcsMTEwLDEwMCwxMDgsCi0gICAgMTAxLDMyLDk3LDMyLDcwLDEwNSwxMDgsMTAxLDY5LDEyMCwxMDUsMTE1LDExNiwxMTUsNjksMTE0LAotICAgIDExNCwxMTEsMTE0LDMyLDEwNSwxMDIsMzIsOTksMTExLDExMCw5OSwxMTcsMTE0LDExNCwxMDEsMTEwLAotICAgIDExNiwzMiwxMTksMTE0LDEwNSwxMTYsMTA1LDExMCwxMDMsMzIsMTExLDEwMiwzMiwxMTYsMTA0LDEwMSwKLSAgICAxMCwzMiwzMiwzMiwzMiwxMTYsMTAxLDEwOSwxMTIsMTExLDExNCw5NywxMTQsMTIxLDMyLDEwMiwKLSAgICAxMDUsMTA4LDEwMSwzMiwxMDUsMTE1LDMyLDk3LDExNiwxMTYsMTAxLDEwOSwxMTIsMTE2LDEwMSwxMDAsCi0gICAgNDYsMTIyLDUsMTIzLDEyNSw0NiwxMjMsMTI1LDEwNSwxODIsMSwwLDAsOTAsMiwxMTksCi0gICAgOTgsNzgsNDEsMTMsMjE4LDYsMTAyLDExMSwxMTQsMTA5LDk3LDExNiwyMTgsMiwxMDUsMTAwLAotICAgIDExNCwzLDAsMCwwLDkwLDQsMTExLDExMiwxMDEsMTEwLDkwLDYsNzksOTUsNjksCi0gICAgODgsNjcsNzYsOTAsNyw3OSw5NSw2Nyw4Miw2OSw2NSw4NCw5MCw4LDc5LDk1LAotICAgIDg3LDgyLDc5LDc4LDc2LDg5LDIxOCwzLDk1LDEwNSwxMTEsMjE4LDYsNzAsMTA1LDEwOCwKLSAgICAxMDEsNzMsNzksMjE4LDUsMTE5LDExNCwxMDUsMTE2LDEwMSwyMTgsNywxMTQsMTAxLDExMiwxMDgsCi0gICAgOTcsOTksMTAxLDExNCw0MCwwLDAsMCw5MCw2LDExNywxMTAsMTA4LDEwNSwxMTAsMTA3LAotICAgIDQxLDYsMTE0LDM1LDAsMCwwLDIxOCw0LDEwMCw5NywxMTYsOTcsMTE0LDQyLDAsCi0gICAgMCwwLDkwLDgsMTEyLDk3LDExNiwxMDQsOTUsMTE2LDEwOSwxMTIsOTAsMiwxMDIsMTAwLAotICAgIDIxOCw0LDEwMiwxMDUsMTA4LDEwMSwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwKLSAgICAxMTQsNSwwLDAsMCwyMTgsMTMsOTUsMTE5LDExNCwxMDUsMTE2LDEwMSw5NSw5NywxMTYsCi0gICAgMTExLDEwOSwxMDUsOTksOTksMCwwLDAsMTE1LDI2LDAsMCwwLDAsNSwyNCwKLSAgICAxLDksMSwzMywxLDMsMywyMSwxLDE5LDEsMjAsMSwxMywxLDMsCi0gICAgMSwxNywxLDEzLDEsNSwxLDExNCw1NSwwLDAsMCw5OSwyLDAsMCwKLSAgICAwLDAsMCwwLDAsMywwLDAsMCw3LDAsMCwwLDY3LDAsMCwKLSAgICAwLDExNSw5NSwwLDAsMCwxMjAsNjksMCwxMDAsMSwwLDEwMCwyLDAsMTAwLAotICAgIDMsMCwxMDAsNCwwLDEwMyw0LDAsNjgsOTMsNDksMCwxMjUsMiwwLDExNiwKLSAgICAwLDAsMTI0LDEsMCwxMjQsMiwwLDEzMSwyLDAsMTE0LDE5LDAsMTE2LDEsCi0gICAgMCwxMjQsMCwwLDEyNCwyLDAsMTE2LDIsMCwxMjQsMSwwLDEyNCwyLDAsCi0gICAgMTMxLDIsMCwxMzEsMywwLDEsMTEzLDE5LDAsMTEzLDE5LDAsODcsMTI0LDAsCi0gICAgMCwxMDYsMywwLDEwNiw0LDAsMTI0LDEsMCwxMDYsMywwLDEzMSwxLDAsCi0gICAgMSwxMDAsNSwwLDgzLDQxLDYsMTIyLDQ3LDgzLDEwNSwxMDksMTEyLDEwOCwxMDEsMzIsCi0gICAgMTE1LDExNyw5OCwxMTUsMTE2LDEwNSwxMTYsMTE3LDExNiwxMDEsMzIsMTAyLDExMSwxMTQsMzIsMTAyLAotICAgIDExNywxMTAsOTksMTE2LDExMSwxMTEsMTA4LDExNSw0NiwxMTcsMTEyLDEwMCw5NywxMTYsMTAxLDk1LAotICAgIDExOSwxMTQsOTcsMTEyLDExMiwxMDEsMTE0LDQ2LDIxOCwxMCw5NSw5NSwxMDksMTExLDEwMCwxMTcsCi0gICAgMTA4LDEwMSw5NSw5NSwyMTgsOCw5NSw5NSwxMTAsOTcsMTA5LDEwMSw5NSw5NSwyMTgsMTIsCi0gICAgOTUsOTUsMTEzLDExNyw5NywxMDgsMTEwLDk3LDEwOSwxMDEsOTUsOTUsMjE4LDcsOTUsOTUsCi0gICAgMTAwLDExMSw5OSw5NSw5NSw3OCw0MSw1LDIxOCw3LDEwNCw5NywxMTUsOTcsMTE2LDExNiwKLSAgICAxMTQsMjE4LDcsMTE1LDEwMSwxMTYsOTcsMTE2LDExNiwxMTQsMjE4LDcsMTAzLDEwMSwxMTYsOTcsCi0gICAgMTE2LDExNiwxMTQsMjE4LDgsOTUsOTUsMTAwLDEwNSw5OSwxMTYsOTUsOTUsMjE4LDYsMTE3LAotICAgIDExMiwxMDAsOTcsMTE2LDEwMSw0MSwzLDkwLDMsMTEwLDEwMSwxMTksOTAsMywxMTEsMTA4LAotICAgIDEwMCwxMTQsNTIsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsCi0gICAgMTE0LDUsMCwwLDAsMjE4LDUsOTUsMTE5LDExNCw5NywxMTIsMTIxLDAsMCwwLAotICAgIDExNSw4LDAsMCwwLDAsMiwyNSwxLDE1LDEsMzIsMSwxMTQsNjUsMCwKLSAgICAwLDAsOTksMSwwLDAsMCwwLDAsMCwwLDEsMCwwLDAsMiwKLSAgICAwLDAsMCw2NywwLDAsMCwxMTUsMTYsMCwwLDAsMTE2LDAsMCwxMTYsCi0gICAgMSwwLDEzMSwxLDAsMTI0LDAsMCwxMzEsMSwwLDgzLDQxLDEsNzgsNDEsCi0gICAgMiwyMTgsNCwxMTYsMTIxLDExMiwxMDEsMTE0LDcsMCwwLDAsNDEsMSwyMTgsNCwKLSAgICAxMTAsOTcsMTA5LDEwMSwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwKLSAgICAwLDAsMCwyMTgsMTEsOTUsMTEwLDEwMSwxMTksOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsCi0gICAgMTI5LDAsMCwwLDExNSwyLDAsMCwwLDAsMSwxMTQsNjgsMCwwLDAsCi0gICAgOTksMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMiwwLDAsCi0gICAgMCw2NCwwLDAsMCwxMTUsNTgsMCwwLDAsMTAxLDAsMCw5MCwxLDAsCi0gICAgMTAwLDAsMCw5MCwyLDAsMTAwLDEsMCw5MCwzLDAsMTAwLDIsMCwxMDAsCi0gICAgMywwLDEzMiwwLDAsOTAsNCwwLDEwMCw0LDAsMTAwLDUsMCwxMzIsMCwKLSAgICAwLDkwLDUsMCwxMDAsNiwwLDEwMCw3LDAsMTMyLDAsMCw5MCw2LDAsCi0gICAgMTAwLDgsMCw4Myw0MSw5LDIxOCwxMyw5NSw3Nyw5NywxMTAsOTcsMTAzLDEwMSw4MiwKLSAgICAxMDEsMTA4LDExMSw5NywxMDAsMTIyLDYzLDc3LDk3LDExMCw5NywxMDMsMTAxLDExNSwzMiwxMTYsCi0gICAgMTA0LDEwMSwzMiwxMTIsMTExLDExNSwxMTUsMTA1LDk4LDEwOCwxMDEsMzIsOTksMTA4LDEwMSw5NywKLSAgICAxMTAsNDUsMTE3LDExMiwzMiwxMTEsMTAyLDMyLDExNSwxMjEsMTE1LDQ2LDEwOSwxMTEsMTAwLDExNywKLSAgICAxMDgsMTAxLDExNSwzMiwxMDIsMTExLDExNCwzMiwxMDgsMTExLDk3LDEwMCw5NSwxMDksMTExLDEwMCwKLSAgICAxMTcsMTA4LDEwMSw0MCw0MSw0Niw5OSwyLDAsMCwwLDAsMCwwLDAsMiwKLSAgICAwLDAsMCwyLDAsMCwwLDY3LDAsMCwwLDExNSwxMywwLDAsMCwKLSAgICAxMjQsMSwwLDEyNCwwLDAsOTUsMCwwLDEwMCwwLDAsODMsNDEsMSw3OCwKLSAgICA0MSwxLDIxOCw1LDk1LDExMCw5NywxMDksMTAxLDQxLDIsMjE4LDQsMTE1LDEwMSwxMDgsCi0gICAgMTAyLDExNCw2NywwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwKLSAgICAxMTQsNSwwLDAsMCwyMTgsOCw5NSw5NSwxMDUsMTEwLDEwNSwxMTYsOTUsOTUsMTQxLAotICAgIDAsMCwwLDExNSwyLDAsMCwwLDAsMSwxMjIsMjIsOTUsNzcsOTcsMTEwLAotICAgIDk3LDEwMywxMDEsODIsMTAxLDEwOCwxMTEsOTcsMTAwLDQ2LDk1LDk1LDEwNSwxMTAsMTA1LDExNiwKLSAgICA5NSw5NSw5OSwxLDAsMCwwLDAsMCwwLDAsMSwwLDAsMCwyLAotICAgIDAsMCwwLDY3LDAsMCwwLDExNSwyNSwwLDAsMCwxMjQsMCwwLDEwNiwKLSAgICAwLDAsMTE2LDEsMCwxMDYsMiwwLDEwNyw2LDAsMTI0LDAsMCw5NSwzLAotICAgIDAsMTAwLDAsMCw4Myw0MSwxLDc4LDQxLDQsMTE0LDcwLDAsMCwwLDExNCwKLSAgICA3LDAsMCwwLDIxOCw3LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNSwyMTgsMTAsOTUsCi0gICAgMTA1LDExNSw5NSwxMTQsMTAxLDEwOCwxMTEsOTcsMTAwLDQxLDEsMTE0LDcxLDAsMCwwLAorICAgIDAsMCwwLDExNSwxNiwwLDAsMCwxMTYsMCwwLDEwNiwxLDAsMTI0LDAsCisgICAgMCwxMDAsMSwwLDEzMSwyLDAsODMsNDEsMiwxMjIsNDcsNjcsMTExLDExMCwxMTgsCisgICAgMTAxLDExNCwxMTYsMzIsNTIsMzIsOTgsMTIxLDExNiwxMDEsMTE1LDMyLDEwNSwxMTAsMzIsMTA4LAorICAgIDEwNSwxMTYsMTE2LDEwOCwxMDEsNDUsMTAxLDExMCwxMDAsMTA1LDk3LDExMCwzMiwxMTYsMTExLDMyLAorICAgIDk3LDExMCwzMiwxMDUsMTEwLDExNiwxMDEsMTAzLDEwMSwxMTQsNDYsMTE0LDEzLDAsMCwwLAorICAgIDQxLDIsMTE0LDE0LDAsMCwwLDIxOCwxMCwxMDIsMTE0LDExMSwxMDksOTUsOTgsMTIxLAorICAgIDExNiwxMDEsMTE1LDQxLDEsOTAsOSwxMDUsMTEwLDExNiw5NSw5OCwxMjEsMTE2LDEwMSwxMTUsCiAgICAgMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LAotICAgIDksOTUsOTUsMTAxLDExMCwxMTYsMTAxLDExNCw5NSw5NSwxNDQsMCwwLDAsMTE1LDIsCi0gICAgMCwwLDAsMCwxLDEyMiwyMyw5NSw3Nyw5NywxMTAsOTcsMTAzLDEwMSw4MiwxMDEsCi0gICAgMTA4LDExMSw5NywxMDAsNDYsOTUsOTUsMTAxLDExMCwxMTYsMTAxLDExNCw5NSw5NSw5OSwxLAotICAgIDAsMCwwLDAsMCwwLDAsMiwwLDAsMCwxMSwwLDAsMCw3MSwKLSAgICAwLDAsMCwxMTUsODAsMCwwLDAsMTE2LDAsMCwxMDAsMSwwLDEwMCwyLAotICAgIDAsMTMyLDAsMCwxMjQsMSwwLDY4LDEzMSwxLDAsMTMxLDEsMCwxMTQsNzYsCi0gICAgMCwxMjQsMCwwLDEwNiwxLDAsMTIsMTE0LDc2LDAsMTIxLDE3LDAsMTE2LDIsCi0gICAgMCwxMDYsMywwLDEyNCwwLDAsMTA2LDQsMCw2MSw4NywxMTMsNzYsMCw0LAotICAgIDExNiw1LDAsMTA3LDEwLDAsMTE0LDcyLDAsMSwxLDEsODksMTEzLDc2LDAsCi0gICAgODgsMTEwLDAsMCwxMDAsMCwwLDgzLDQxLDMsNzgsOTksMSwwLDAsMCwKLSAgICAwLDAsMCwwLDIsMCwwLDAsMywwLDAsMCwxMTUsMCwwLDAsCi0gICAgMTE1LDI3LDAsMCwwLDEyNCwwLDAsOTMsMTcsMCwxMjUsMSwwLDEyNCwxLAotICAgIDAsMTAwLDAsMCwxMDcsOSwwLDg2LDEsMTEzLDMsMCwxMDAsMCwwLDgzLAotICAgIDQxLDEsNzgsMTE0LDQsMCwwLDAsNDEsMiwxMTQsMjIsMCwwLDAsMjE4LAotICAgIDMsOTcsMTE0LDEwMywxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwKLSAgICAwLDAsMCwyNTAsOSw2MCwxMDMsMTAxLDExMCwxMDEsMTIwLDExMiwxMTQsNjIsMTQ4LDAsCi0gICAgMCwwLDExNSwyLDAsMCwwLDYsMCwxMjIsNDEsOTUsNzcsOTcsMTEwLDk3LAotICAgIDEwMywxMDEsODIsMTAxLDEwOCwxMTEsOTcsMTAwLDQ2LDk1LDk1LDEwMSwxMjAsMTA1LDExNiw5NSwKLSAgICA5NSw0Niw2MCwxMDgsMTExLDk5LDk3LDEwOCwxMTUsNjIsNDYsNjAsMTAzLDEwMSwxMTAsMTAxLAotICAgIDEyMCwxMTIsMTE0LDYyLDQxLDYsMjE4LDMsOTcsMTEwLDEyMSwxMTQsNzQsMCwwLDAsCi0gICAgMTE0LDcsMCwwLDAsMTE0LDczLDAsMCwwLDExNCw3MCwwLDAsMCwyMTgsCi0gICAgOCw3NSwxMDEsMTIxLDY5LDExNCwxMTQsMTExLDExNCw0MSwyLDExNCw3MSwwLDAsMCwKLSAgICAyMTgsNCw5NywxMTQsMTAzLDExNSwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwKLSAgICAxMTQsNSwwLDAsMCwyMTgsOCw5NSw5NSwxMDEsMTIwLDEwNSwxMTYsOTUsOTUsMTQ3LAotICAgIDAsMCwwLDExNSwxMCwwLDAsMCwwLDEsMzUsMSwzLDEsMTcsMSwKLSAgICAxMywxLDEyMiwyMiw5NSw3Nyw5NywxMTAsOTcsMTAzLDEwMSw4MiwxMDEsMTA4LDExMSw5NywKLSAgICAxMDAsNDYsOTUsOTUsMTAxLDEyMCwxMDUsMTE2LDk1LDk1LDc4LDQxLDcsMTE0LDU3LDAsCi0gICAgMCwwLDExNCw1NiwwLDAsMCwxMTQsNTgsMCwwLDAsMTE0LDU5LDAsMCwKLSAgICAwLDExNCw3MiwwLDAsMCwxMTQsNzUsMCwwLDAsMTE0LDgxLDAsMCwwLAotICAgIDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCwKLSAgICA1LDAsMCwwLDExNCw2OSwwLDAsMCwxMzcsMCwwLDAsMTE1LDgsMCwKLSAgICAwLDAsMTIsMiw2LDIsMTIsMywxMiwzLDExNCw2OSwwLDAsMCw5OSwKLSAgICAwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwxLDAsMCwwLAotICAgIDY0LDAsMCwwLDExNSwxNiwwLDAsMCwxMDEsMCwwLDkwLDEsMCwxMDAsCi0gICAgMCwwLDkwLDIsMCwxMDAsMSwwLDgzLDQxLDIsMjE4LDE0LDk1LDY4LDEwMSwKLSAgICA5NywxMDAsMTA4LDExMSw5OSwxMDcsNjksMTE0LDExNCwxMTEsMTE0LDc4LDQxLDMsMTE0LDU3LAotICAgIDAsMCwwLDExNCw1NiwwLDAsMCwxMTQsNTgsMCwwLDAsMTE0LDQsMCwKLSAgICAwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLAotICAgIDAsMTE0LDgyLDAsMCwwLDE2MiwwLDAsMCwxMTUsMiwwLDAsMCwxMiwKLSAgICAxLDExNCw4MiwwLDAsMCw5OSwwLDAsMCwwLDAsMCwwLDAsMCwKLSAgICAwLDAsMCwyLDAsMCwwLDY0LDAsMCwwLDExNSw4MiwwLDAsMCwKLSAgICAxMDEsMCwwLDkwLDEsMCwxMDAsMCwwLDkwLDIsMCwxMDAsMSwwLDkwLAotICAgIDMsMCwxMDAsMiwwLDEwMCwzLDAsMTMyLDAsMCw5MCw0LDAsMTAwLDQsCi0gICAgMCwxMDAsNSwwLDEzMiwwLDAsOTAsNSwwLDEwMCw2LDAsMTAwLDcsMCwKLSAgICAxMzIsMCwwLDkwLDYsMCwxMDAsOCwwLDEwMCw5LDAsMTMyLDAsMCw5MCwKLSAgICA3LDAsMTAwLDEwLDAsMTAwLDExLDAsMTMyLDAsMCw5MCw4LDAsMTAwLDEyLAotICAgIDAsODMsNDEsMTMsMjE4LDExLDk1LDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsNzYsMTExLDk5LAotICAgIDEwNywxMjIsMTY5LDY1LDMyLDExNCwxMDEsOTksMTE3LDExNCwxMTUsMTA1LDExOCwxMDEsMzIsMTA4LAotICAgIDExMSw5OSwxMDcsMzIsMTA1LDEwOSwxMTIsMTA4LDEwMSwxMDksMTAxLDExMCwxMTYsOTcsMTE2LDEwNSwKLSAgICAxMTEsMTEwLDMyLDExOSwxMDQsMTA1LDk5LDEwNCwzMiwxMDUsMTE1LDMyLDk3LDk4LDEwOCwxMDEsCi0gICAgMzIsMTE2LDExMSwzMiwxMDAsMTAxLDExNiwxMDEsOTksMTE2LDMyLDEwMCwxMDEsOTcsMTAwLDEwOCwKLSAgICAxMTEsOTksMTA3LDExNSwxMCwzMiwzMiwzMiwzMiw0MCwxMDEsNDYsMTAzLDQ2LDMyLDExNiwKLSAgICAxMDQsMTE0LDEwMSw5NywxMDAsMzIsNDksMzIsMTE2LDExNCwxMjEsMTA1LDExMCwxMDMsMzIsMTE2LAotICAgIDExMSwzMiwxMTYsOTcsMTA3LDEwMSwzMiwxMDgsMTExLDk5LDEwNywxMTUsMzIsNjUsMzIsMTE2LAotICAgIDEwNCwxMDEsMTEwLDMyLDY2LDQ0LDMyLDk3LDExMCwxMDAsMzIsMTE2LDEwNCwxMTQsMTAxLDk3LAotICAgIDEwMCwzMiw1MCwzMiwxMTYsMTE0LDEyMSwxMDUsMTEwLDEwMywzMiwxMTYsMTExLDEwLDMyLDMyLAotICAgIDMyLDMyLDExNiw5NywxMDcsMTAxLDMyLDEwOCwxMTEsOTksMTA3LDExNSwzMiw2NiwzMiwxMTYsCi0gICAgMTA0LDEwMSwxMTAsMzIsNjUsNDEsNDYsMTAsMzIsMzIsMzIsMzIsOTksMiwwLDAsCi0gICAgMCwwLDAsMCwwLDIsMCwwLDAsMiwwLDAsMCw2NywwLDAsCi0gICAgMCwxMTUsNzAsMCwwLDAsMTE2LDAsMCwxMDYsMSwwLDEzMSwwLDAsMTI0LAotICAgIDAsMCw5NSwyLDAsMTE2LDAsMCwxMDYsMSwwLDEzMSwwLDAsMTI0LDAsCi0gICAgMCw5NSwzLDAsMTI0LDEsMCwxMjQsMCwwLDk1LDQsMCwxMDAsMCwwLAotICAgIDEyNCwwLDAsOTUsNSwwLDEwMCwxLDAsMTI0LDAsMCw5NSw2LDAsMTAwLAotICAgIDEsMCwxMjQsMCwwLDk1LDcsMCwxMDAsMCwwLDgzLDQxLDIsNzgsMjMzLAotICAgIDAsMCwwLDAsNDEsOCwyMTgsNyw5NSwxMTYsMTA0LDExNCwxMDEsOTcsMTAwLDkwLAotICAgIDEzLDk3LDEwOCwxMDgsMTExLDk5LDk3LDExNiwxMDEsOTUsMTA4LDExMSw5OSwxMDcsMjE4LDQsCi0gICAgMTA4LDExMSw5OSwxMDcsMjE4LDYsMTE5LDk3LDEwNywxMDEsMTE3LDExMiwxMTQsNjcsMCwwLAotICAgIDAsMjE4LDUsMTExLDExOSwxMTAsMTAxLDExNCwyMTgsNSw5OSwxMTEsMTE3LDExMCwxMTYsMjE4LAotICAgIDcsMTE5LDk3LDEwNSwxMTYsMTAxLDExNCwxMTUsNDEsMiwxMTQsNzEsMCwwLDAsMTE0LAotICAgIDY3LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LAotICAgIDAsMCwwLDExNCw3MiwwLDAsMCwxNzIsMCwwLDAsMTE1LDEyLDAsMCwKLSAgICAwLDAsMSwxNSwxLDE1LDEsOSwxLDksMSw5LDEsMTIyLDIwLDk1LAotICAgIDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsNzYsMTExLDk5LDEwNyw0Niw5NSw5NSwxMDUsMTEwLDEwNSwKLSAgICAxMTYsOTUsOTUsOTksMSwwLDAsMCwwLDAsMCwwLDQsMCwwLDAsCi0gICAgMiwwLDAsMCw2NywwLDAsMCwxMTUsODgsMCwwLDAsMTE2LDAsMCwKLSAgICAxMDYsMSwwLDEzMSwwLDAsMTI1LDEsMCwxMjQsMCwwLDEwNiwyLDAsMTI1LAotICAgIDIsMCwxMjAsNjAsMCwxMTYsMywwLDEwNiw0LDAsMTI0LDIsMCwxMzEsMSwKLSAgICAwLDEyNSwzLDAsMTI0LDMsMCwxMDAsMCwwLDEwNyw4LDAsMTE0LDU1LDAsCi0gICAgMTAwLDEsMCw4MywxMjQsMywwLDEwNiwyLDAsMTI1LDIsMCwxMjQsMiwwLAotICAgIDEyNCwxLDAsMTA3LDIsMCwxMTQsMjQsMCwxMDAsMiwwLDgzLDExMywyNCwwLAotICAgIDg3LDEwMCwwLDAsODMsNDEsMyw3OCw3MCw4NCw0MSw1LDExNCw4NSwwLDAsCi0gICAgMCwyMTgsOSwxMDMsMTAxLDExNiw5NSwxMDUsMTAwLDEwMSwxMTAsMTE2LDExNCw4OCwwLDAsCi0gICAgMCwyMTgsMTIsOTUsOTgsMTA4LDExMSw5OSwxMDcsMTA1LDExMCwxMDMsOTUsMTExLDExMCwyMTgsCi0gICAgMywxMDMsMTAxLDExNiw0MSw0LDExNCw3MSwwLDAsMCwyMTgsMiwxMDksMTAxLDIxOCwKLSAgICAzLDExNiwxMDUsMTAwLDExNCw4NiwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwKLSAgICAwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTIsMTA0LDk3LDExNSw5NSwxMDAsMTAxLAotICAgIDk3LDEwMCwxMDgsMTExLDk5LDEwNywxODAsMCwwLDAsMTE1LDE4LDAsMCwwLDAsCi0gICAgMiwxMiwxLDksMSwzLDEsMTUsMSwxMiwxLDQsMSw5LDEsMTIsCi0gICAgMSwxMjIsMjQsOTUsNzcsMTExLDEwMCwxMTcsMTA4LDEwMSw3NiwxMTEsOTksMTA3LDQ2LDEwNCwKLSAgICA5NywxMTUsOTUsMTAwLDEwMSw5NywxMDAsMTA4LDExMSw5OSwxMDcsOTksMSwwLDAsMCwKLSAgICAwLDAsMCwwLDIsMCwwLDAsMTYsMCwwLDAsNjcsMCwwLDAsCi0gICAgMTE1LDIxNSwwLDAsMCwxMTYsMCwwLDEwNiwxLDAsMTMxLDAsMCwxMjUsMSwKLSAgICAwLDEyNCwwLDAsMTE2LDIsMCwxMjQsMSwwLDYwLDEyMiwxNzgsMCwxMjAsMTcxLAotICAgIDAsMTI0LDAsMCwxMDYsMywwLDE0MywxMzAsMCwxLDEyNCwwLDAsMTA2LDQsCi0gICAgMCwxMDAsMSwwLDEwNywyLDAsMTE1LDY4LDAsMTI0LDAsMCwxMDYsNSwwLAotICAgIDEyNCwxLDAsMTA3LDIsMCwxMTQsOTYsMCwxMjQsMSwwLDEyNCwwLDAsOTUsCi0gICAgNSwwLDEyNCwwLDAsNCwxMDYsNCwwLDEwMCwyLDAsNTUsMiw5NSw0LAotICAgIDAsMTAwLDMsMCw4MywxMjQsMCwwLDEwNiw2LDAsMTMxLDAsMCwxMTQsMTI3LAotICAgIDAsMTE2LDcsMCwxMDAsNCwwLDEyNCwwLDAsMjIsMTMxLDEsMCwxMzAsMSwKLSAgICAwLDExMCwwLDAsMTI0LDAsMCwxMDYsOCwwLDEwNiw5LDAsMTAwLDUsMCwKLSAgICAxMzEsMSwwLDExNCwxNjMsMCwxMjQsMCwwLDQsMTA2LDEwLDAsMTAwLDIsMCwKLSAgICA1NSwyLDk1LDEwLDAsMTEwLDAsMCw4NywxMDAsNiwwLDgxLDg4LDEyNCwwLAotICAgIDAsMTA2LDgsMCwxMDYsOSwwLDEzMSwwLDAsMSwxMjQsMCwwLDEwNiw4LAotICAgIDAsMTA2LDExLDAsMTMxLDAsMCwxLDExMywyOCwwLDg3LDg3LDEwMCw2LDAsCi0gICAgMTE2LDIsMCwxMjQsMSwwLDYxLDg4LDEwMCw2LDAsODMsNDEsNywxMjIsMTg1LAotICAgIDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDY1LDk5LDExMywxMTcsMTA1LDExNCwxMDEsCi0gICAgMzIsMTE2LDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTA4LDExMSw5OSwxMDcsCi0gICAgNDYsMzIsMzIsNzMsMTAyLDMyLDk3LDMyLDExMiwxMTEsMTE2LDEwMSwxMTAsMTE2LDEwNSw5NywKLSAgICAxMDgsMzIsMTAwLDEwMSw5NywxMDAsMTA4LDExMSw5OSwxMDcsMzIsMTA1LDExNSwzMiwxMDAsMTAxLAotICAgIDExNiwxMDEsOTksMTE2LDEwMSwxMDAsNDQsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsCi0gICAgOTcsMzIsOTUsNjgsMTAxLDk3LDEwMCwxMDgsMTExLDk5LDEwNyw2OSwxMTQsMTE0LDExMSwxMTQsCi0gICAgMzIsMTA1LDExNSwzMiwxMTQsOTcsMTA1LDExNSwxMDEsMTAwLDQ2LDEwLDMyLDMyLDMyLDMyLAotICAgIDMyLDMyLDMyLDMyLDc5LDExNiwxMDQsMTAxLDExNCwxMTksMTA1LDExNSwxMDEsNDQsMzIsMTE2LAotICAgIDEwNCwxMDEsMzIsMTA4LDExMSw5OSwxMDcsMzIsMTA1LDExNSwzMiw5NywxMDgsMTE5LDk3LDEyMSwKLSAgICAxMTUsMzIsOTcsOTksMTEzLDExNywxMDUsMTE0LDEwMSwxMDAsMzIsOTcsMTEwLDEwMCwzMiw4NCwKLSAgICAxMTQsMTE3LDEwMSwzMiwxMDUsMTE1LDMyLDExNCwxMDEsMTE2LDExNywxMTQsMTEwLDEwMSwxMDAsNDYsCi0gICAgMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMTE0LDg0LDAsMCwwLDExNCwyOSwKLSAgICAwLDAsMCw4NCwxMjIsMjMsMTAwLDEwMSw5NywxMDAsMTA4LDExMSw5OSwxMDcsMzIsMTAwLAotICAgIDEwMSwxMTYsMTAxLDk5LDExNiwxMDEsMTAwLDMyLDk4LDEyMSwzMiwzNywxMTQsNzAsNzgsNDEsCi0gICAgMTIsMTE0LDg1LDAsMCwwLDExNCw5MSwwLDAsMCwxMTQsOTIsMCwwLDAsCi0gICAgMTE0LDg2LDAsMCwwLDExNCw4OSwwLDAsMCwxMTQsODgsMCwwLDAsMTE0LAotICAgIDk2LDAsMCwwLDExNCw4MiwwLDAsMCwxMTQsODcsMCwwLDAsMjE4LDcsCi0gICAgOTcsOTksMTEzLDExNywxMDUsMTE0LDEwMSwxMTQsOTAsMCwwLDAsMjE4LDcsMTE0LDEwMSwKLSAgICAxMDgsMTAxLDk3LDExNSwxMDEsNDEsMiwxMTQsNzEsMCwwLDAsMTE0LDk1LDAsMCwKKyAgICA3LDk1LDExNCw5NSwxMDgsMTExLDExMCwxMDMsNDUsMCwwLDAsMTE1LDIsMCwwLAorICAgIDAsMCwyLDExNCwxOSwwLDAsMCw5OSwwLDAsMCwwLDAsMCwwLAorICAgIDAsMSwwLDAsMCwzLDAsMCwwLDcxLDAsMCwwLDExNSwyNiwwLAorICAgIDAsMCwxMTYsMCwwLDEwNiwxLDAsMTAwLDEsMCwxMDAsMiwwLDEzMiwwLAorICAgIDAsMTI0LDAsMCw2OCwxMzEsMSwwLDEzMSwxLDAsODMsNDEsMywxMjIsMzEsCisgICAgODIsMTAxLDExMiwxMDgsOTcsOTksMTAxLDEwOSwxMDEsMTEwLDExNiwzMiwxMDIsMTExLDExNCwzMiwKKyAgICAxMTEsMTE1LDQ2LDExMiw5NywxMTYsMTA0LDQ2LDEwNiwxMTEsMTA1LDExMCw0MCw0MSw0Niw5OSwKKyAgICAxLDAsMCwwLDAsMCwwLDAsMiwwLDAsMCw0LDAsMCwwLAorICAgIDgzLDAsMCwwLDExNSwzNywwLDAsMCwxMDMsMCwwLDEyNCwwLDAsOTMsCisgICAgMjcsMCwxMjUsMSwwLDEyNCwxLDAsMTE0LDYsMCwxMjQsMSwwLDEwNiwwLAorICAgIDAsMTE2LDEsMCwxMzEsMSwwLDE0NSwyLDAsMTEzLDYsMCw4MywxMTQsNCwKKyAgICAwLDAsMCw0MSwyLDIxOCw2LDExNCwxMTUsMTE2LDExNCwxMDUsMTEyLDIxOCwxNSwxMTIsCisgICAgOTcsMTE2LDEwNCw5NSwxMTUsMTAxLDExMiw5NywxMTQsOTcsMTE2LDExMSwxMTQsMTE1LDQxLDIsCisgICAgMjE4LDIsNDYsNDgsMjE4LDQsMTEyLDk3LDExNCwxMTYsMTE0LDQsMCwwLDAsMTE0LAorICAgIDQsMCwwLDAsMTE0LDUsMCwwLDAsMjUwLDEwLDYwLDEwOCwxMDUsMTE1LDExNiwKKyAgICA5OSwxMTEsMTA5LDExMiw2Miw1MiwwLDAsMCwxMTUsMiwwLDAsMCw5LDEsCisgICAgMTIyLDMwLDk1LDExMiw5NywxMTYsMTA0LDk1LDEwNiwxMTEsMTA1LDExMCw0Niw2MCwxMDgsMTExLAorICAgIDk5LDk3LDEwOCwxMTUsNjIsNDYsNjAsMTA4LDEwNSwxMTUsMTE2LDk5LDExMSwxMDksMTEyLDYyLAorICAgIDQxLDIsMjE4LDgsMTEyLDk3LDExNiwxMDQsOTUsMTE1LDEwMSwxMTIsMjE4LDQsMTA2LDExMSwKKyAgICAxMDUsMTEwLDQxLDEsMjE4LDEwLDExMiw5NywxMTYsMTA0LDk1LDExMiw5NywxMTQsMTE2LDExNSwKKyAgICAxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsCisgICAgMTAsOTUsMTEyLDk3LDExNiwxMDQsOTUsMTA2LDExMSwxMDUsMTEwLDUwLDAsMCwwLDExNSwKKyAgICA0LDAsMCwwLDAsMiwxNSwxLDExNCwyOCwwLDAsMCw5OSwxLDAsCisgICAgMCwwLDAsMCwwLDAsNSwwLDAsMCw1LDAsMCwwLDY3LDAsCisgICAgMCwwLDExNSwxMzQsMCwwLDAsMTE2LDAsMCwxMTYsMSwwLDEzMSwxLDAsCisgICAgMTAwLDEsMCwxMDcsMiwwLDExNCw1MiwwLDEyNCwwLDAsMTA2LDIsMCwxMTYsCisgICAgMywwLDEzMSwxLDAsOTIsMywwLDEyNSwxLDAsMTI1LDIsMCwxMjUsMywKKyAgICAwLDEyNCwxLDAsMTI0LDMsMCwxMDIsMiwwLDgzLDEyMCw2OSwwLDExNiw0LAorICAgIDAsMTI0LDAsMCwxMzEsMSwwLDY4LDkzLDU1LDAsMTI1LDQsMCwxMjQsNCwKKyAgICAwLDExNiwxLDAsMTA3LDYsMCwxMTQsNjUsMCwxMjQsMCwwLDEwNiw1LDAsCisgICAgMTI0LDQsMCwxMDAsMiwwLDEwMCwxLDAsMTMxLDEsMSw5MiwyLDAsMTI1LAorICAgIDEsMCwxMjUsMywwLDEyNCwxLDAsMTI0LDMsMCwxMDIsMiwwLDgzLDExMywKKyAgICA2NSwwLDg3LDEwMCwzLDAsMTI0LDAsMCwxMDIsMiwwLDgzLDQxLDQsMTIyLAorICAgIDMyLDgyLDEwMSwxMTIsMTA4LDk3LDk5LDEwMSwxMDksMTAxLDExMCwxMTYsMzIsMTAyLDExMSwxMTQsCisgICAgMzIsMTExLDExNSw0NiwxMTIsOTcsMTE2LDEwNCw0NiwxMTUsMTEyLDEwOCwxMDUsMTE2LDQwLDQxLAorICAgIDQ2LDIzMywxLDAsMCwwLDkwLDgsMTA5LDk3LDEyMCwxMTUsMTEyLDEwOCwxMDUsMTE2LAorICAgIDIxOCwwLDQxLDYsMjE4LDMsMTA4LDEwMSwxMTAsMTE0LDIxLDAsMCwwLDIxOCwxMCwKKyAgICAxMTQsMTEyLDk3LDExNCwxMTYsMTA1LDExNiwxMDUsMTExLDExMCwxMTQsMjUsMCwwLDAsMjE4LAorICAgIDgsMTE0LDEwMSwxMTgsMTAxLDExNCwxMTUsMTAxLDEwMCwyMTgsNiwxMTQsMTE1LDExMiwxMDgsMTA1LAorICAgIDExNiw0MSw1LDIxOCw0LDExMiw5NywxMTYsMTA0LDkwLDUsMTAyLDExNCwxMTEsMTEwLDExNiwKKyAgICAyMTgsMSw5NSwyMTgsNCwxMTYsOTcsMTA1LDEwOCwxMTQsMTYsMCwwLDAsMTE0LDQsCisgICAgMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDExLDk1LAorICAgIDExMiw5NywxMTYsMTA0LDk1LDExNSwxMTIsMTA4LDEwNSwxMTYsNTYsMCwwLDAsMTE1LDE2LAorICAgIDAsMCwwLDAsMiwxOCwxLDI0LDEsMTAsMSwxOSwxLDEyLDEsMjcsCisgICAgMSwxNCwxLDExNCwzOCwwLDAsMCw5OSwxLDAsMCwwLDAsMCwwLAorICAgIDAsMSwwLDAsMCwyLDAsMCwwLDY3LDAsMCwwLDExNSwxMywwLAorICAgIDAsMCwxMTYsMCwwLDEwNiwxLDAsMTI0LDAsMCwxMzEsMSwwLDgzLDQxLAorICAgIDEsMTIyLDEyNiw4MywxMTYsOTcsMTE2LDMyLDExNiwxMDQsMTAxLDMyLDExMiw5NywxMTYsMTA0LAorICAgIDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDc3LDk3LDEwMCwxMDEsMzIsOTcsMzIsMTE1LDEwMSwKKyAgICAxMTIsOTcsMTE0LDk3LDExNiwxMDEsMzIsMTAyLDExNywxMTAsOTksMTE2LDEwNSwxMTEsMTEwLDMyLAorICAgIDExNiwxMTEsMzIsMTA5LDk3LDEwNywxMDEsMzIsMTA1LDExNiwzMiwxMDEsOTcsMTE1LDEwNSwxMDEsCisgICAgMTE0LDMyLDExNiwxMTEsMzIsMTExLDExOCwxMDEsMTE0LDExNCwxMDUsMTAwLDEwMSwzMiwxMDUsMTEwLAorICAgIDMyLDEwMSwxMjAsMTEyLDEwMSwxMTQsMTA1LDEwOSwxMDEsMTEwLDExNiwxMTUsMTAsMzIsMzIsMzIsCisgICAgMzIsNDAsMTAxLDQ2LDEwMyw0NiwzMiw5OSw5Nyw5OSwxMDQsMTAxLDMyLDExNSwxMTYsOTcsCisgICAgMTE2LDMyLDExNCwxMDEsMTE1LDExNywxMDgsMTE2LDExNSw0MSw0NiwxMCwxMCwzMiwzMiwzMiwKKyAgICAzMiw0MSwyLDExNCwzLDAsMCwwLDkwLDQsMTE1LDExNiw5NywxMTYsNDEsMSwKKyAgICAxMTQsMzUsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LAorICAgIDUsMCwwLDAsMjE4LDEwLDk1LDExMiw5NywxMTYsMTA0LDk1LDExNSwxMTYsOTcsMTE2LAorICAgIDY4LDAsMCwwLDExNSwyLDAsMCwwLDAsNywxMTQsMzksMCwwLDAsCisgICAgOTksMiwwLDAsMCwwLDAsMCwwLDMsMCwwLDAsMTEsMCwwLAorICAgIDAsNjcsMCwwLDAsMTE1LDU4LDAsMCwwLDEyMSwxNiwwLDExNiwwLDAsCisgICAgMTI0LDAsMCwxMzEsMSwwLDEyNSwyLDAsODcsMTEwLDIyLDAsNCwxMTYsMSwKKyAgICAwLDEwNywxMCwwLDExNCw0MCwwLDEsMSwxLDEwMCwxLDAsODMsODksMTEwLAorICAgIDEsMCw4OCwxMjQsMiwwLDEwNiwyLDAsMTAwLDIsMCw2NCwxMjQsMSwwLAorICAgIDEwNywyLDAsODMsNDEsMywxMjIsNDksODQsMTAxLDExNSwxMTYsMzIsMTE5LDEwNCwxMDEsCisgICAgMTE2LDEwNCwxMDEsMTE0LDMyLDExNiwxMDQsMTAxLDMyLDExMiw5NywxMTYsMTA0LDMyLDEwNSwxMTUsCisgICAgMzIsMTE2LDEwNCwxMDEsMzIsMTE1LDExMiwxMDEsOTksMTA1LDEwMiwxMDUsMTAxLDEwMCwzMiwxMDksCisgICAgMTExLDEwMCwxMDEsMzIsMTE2LDEyMSwxMTIsMTAxLDQ2LDcwLDEwNSwwLDI0MCwwLDAsNDEsCisgICAgMywxMTQsMzksMCwwLDAsMjE4LDcsNzksODMsNjksMTE0LDExNCwxMTEsMTE0LDIxOCwKKyAgICA3LDExNSwxMTYsOTUsMTA5LDExMSwxMDAsMTAxLDQxLDMsMTE0LDM1LDAsMCwwLDIxOCwKKyAgICA0LDEwOSwxMTEsMTAwLDEwMSw5MCw5LDExNSwxMTYsOTcsMTE2LDk1LDEwNSwxMTAsMTAyLDExMSwKKyAgICAxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsCisgICAgMTgsOTUsMTEyLDk3LDExNiwxMDQsOTUsMTA1LDExNSw5NSwxMDksMTExLDEwMCwxMDEsOTUsMTE2LAorICAgIDEyMSwxMTIsMTAxLDc4LDAsMCwwLDExNSwxMCwwLDAsMCwwLDIsMywxLAorICAgIDE2LDEsMTMsMSw5LDEsMTE0LDQzLDAsMCwwLDk5LDEsMCwwLDAsCisgICAgMCwwLDAsMCwxLDAsMCwwLDMsMCwwLDAsNjcsMCwwLDAsCisgICAgMTE1LDEzLDAsMCwwLDExNiwwLDAsMTI0LDAsMCwxMDAsMSwwLDEzMSwyLAorICAgIDAsODMsNDEsMiwxMjIsMzEsODIsMTAxLDExMiwxMDgsOTcsOTksMTAxLDEwOSwxMDEsMTEwLAorICAgIDExNiwzMiwxMDIsMTExLDExNCwzMiwxMTEsMTE1LDQ2LDExMiw5NywxMTYsMTA0LDQ2LDEwNSwxMTUsCisgICAgMTAyLDEwNSwxMDgsMTAxLDQ2LDEwNSwwLDEyOCwwLDAsNDEsMSwxMTQsNDMsMCwwLAorICAgIDAsNDEsMSwxMTQsMzUsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwKKyAgICAwLDAsMTE0LDUsMCwwLDAsMjE4LDEyLDk1LDExMiw5NywxMTYsMTA0LDk1LDEwNSwKKyAgICAxMTUsMTAyLDEwNSwxMDgsMTAxLDg3LDAsMCwwLDExNSwyLDAsMCwwLDAsMiwKKyAgICAxMTQsNDQsMCwwLDAsOTksMSwwLDAsMCwwLDAsMCwwLDEsMCwKKyAgICAwLDAsMywwLDAsMCw2NywwLDAsMCwxMTUsMzEsMCwwLDAsMTI0LAorICAgIDAsMCwxMTUsMTgsMCwxMTYsMCwwLDEwNiwxLDAsMTMxLDAsMCwxMjUsMCwKKyAgICAwLDExNiwyLDAsMTI0LDAsMCwxMDAsMSwwLDEzMSwyLDAsODMsNDEsMiwKKyAgICAxMjIsMzAsODIsMTAxLDExMiwxMDgsOTcsOTksMTAxLDEwOSwxMDEsMTEwLDExNiwzMiwxMDIsMTExLAorICAgIDExNCwzMiwxMTEsMTE1LDQ2LDExMiw5NywxMTYsMTA0LDQ2LDEwNSwxMTUsMTAwLDEwNSwxMTQsNDYsCisgICAgMTA1LDAsNjQsMCwwLDQxLDMsMTE0LDMsMCwwLDAsMjE4LDYsMTAzLDEwMSwKKyAgICAxMTYsOTksMTE5LDEwMCwxMTQsNDMsMCwwLDAsNDEsMSwxMTQsMzUsMCwwLDAsCisgICAgMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LAorICAgIDExLDk1LDExMiw5NywxMTYsMTA0LDk1LDEwNSwxMTUsMTAwLDEwNSwxMTQsOTIsMCwwLDAsCisgICAgMTE1LDYsMCwwLDAsMCwyLDYsMSwxMiwxLDExNCw0NiwwLDAsMCwKKyAgICAxMDUsMTgyLDEsMCwwLDk5LDMsMCwwLDAsMCwwLDAsMCw2LDAsCisgICAgMCwwLDE3LDAsMCwwLDY3LDAsMCwwLDExNSwxOTIsMCwwLDAsMTAwLAorICAgIDEsMCwxMDYsMCwwLDEyNCwwLDAsMTE2LDEsMCwxMjQsMCwwLDEzMSwxLAorICAgIDAsMTMxLDIsMCwxMjUsMywwLDExNiwyLDAsMTA2LDMsMCwxMjQsMywwLAorICAgIDExNiwyLDAsMTA2LDQsMCwxMTYsMiwwLDEwNiw1LDAsNjYsMTE2LDIsMCwKKyAgICAxMDYsNiwwLDY2LDEyNCwyLDAsMTAwLDIsMCw2NCwxMzEsMywwLDEyNSw0LAorICAgIDAsMTIxLDYwLDAsMTE2LDcsMCwxMDYsOCwwLDEyNCw0LDAsMTAwLDMsMCwKKyAgICAxMzEsMiwwLDE0MywyMCwwLDEyNSw1LDAsMTI0LDUsMCwxMDYsOSwwLDEyNCwKKyAgICAxLDAsMTMxLDEsMCwxLDg3LDEwMCw0LDAsODEsODgsMTE2LDIsMCwxMDYsCisgICAgMTAsMCwxMjQsMywwLDEyNCwwLDAsMTMxLDIsMCwxLDg3LDExMCw1OSwwLAorICAgIDQsMTE2LDExLDAsMTA3LDEwLDAsMTE0LDE4NywwLDEsMSwxLDEyMSwxNywwLAorICAgIDExNiwyLDAsMTA2LDEyLDAsMTI0LDMsMCwxMzEsMSwwLDEsODcsMTEwLDE4LAorICAgIDAsNCwxMTYsMTEsMCwxMDcsMTAsMCwxMTQsMTc5LDAsMSwxLDEsODksMTEwLAorICAgIDEsMCw4OCwxMzAsMCwwLDg5LDExMCwxLDAsODgsMTAwLDQsMCw4Myw0MSwKKyAgICA1LDEyMiwxNjIsNjYsMTAxLDExNSwxMTYsNDUsMTAxLDEwMiwxMDIsMTExLDExNCwxMTYsMzIsMTAyLAorICAgIDExNywxMTAsOTksMTE2LDEwNSwxMTEsMTEwLDMyLDExNiwxMTEsMzIsMTE5LDExNCwxMDUsMTE2LDEwMSwKKyAgICAzMiwxMDAsOTcsMTE2LDk3LDMyLDExNiwxMTEsMzIsOTcsMzIsMTEyLDk3LDExNiwxMDQsMzIsCisgICAgOTcsMTE2LDExMSwxMDksMTA1LDk5LDk3LDEwOCwxMDgsMTIxLDQ2LDEwLDMyLDMyLDMyLDMyLAorICAgIDY2LDEwMSwzMiwxMTIsMTE0LDEwMSwxMTIsOTcsMTE0LDEwMSwxMDAsMzIsMTE2LDExMSwzMiwxMDQsCisgICAgOTcsMTEwLDEwMCwxMDgsMTAxLDMyLDk3LDMyLDcwLDEwNSwxMDgsMTAxLDY5LDEyMCwxMDUsMTE1LAorICAgIDExNiwxMTUsNjksMTE0LDExNCwxMTEsMTE0LDMyLDEwNSwxMDIsMzIsOTksMTExLDExMCw5OSwxMTcsCisgICAgMTE0LDExNCwxMDEsMTEwLDExNiwzMiwxMTksMTE0LDEwNSwxMTYsMTA1LDExMCwxMDMsMzIsMTExLDEwMiwKKyAgICAzMiwxMTYsMTA0LDEwMSwxMCwzMiwzMiwzMiwzMiwxMTYsMTAxLDEwOSwxMTIsMTExLDExNCw5NywKKyAgICAxMTQsMTIxLDMyLDEwMiwxMDUsMTA4LDEwMSwzMiwxMDUsMTE1LDMyLDk3LDExNiwxMTYsMTAxLDEwOSwKKyAgICAxMTIsMTE2LDEwMSwxMDAsNDYsMTIyLDUsMTIzLDEyNSw0NiwxMjMsMTI1LDEwNSwxODIsMSwwLAorICAgIDAsOTAsMiwxMTksOTgsNzgsNDEsMTMsMjE4LDYsMTAyLDExMSwxMTQsMTA5LDk3LDExNiwKKyAgICAyMTgsMiwxMDUsMTAwLDExNCwzLDAsMCwwLDkwLDQsMTExLDExMiwxMDEsMTEwLDkwLAorICAgIDYsNzksOTUsNjksODgsNjcsNzYsOTAsNyw3OSw5NSw2Nyw4Miw2OSw2NSw4NCwKKyAgICA5MCw4LDc5LDk1LDg3LDgyLDc5LDc4LDc2LDg5LDIxOCwzLDk1LDEwNSwxMTEsMjE4LAorICAgIDYsNzAsMTA1LDEwOCwxMDEsNzMsNzksMjE4LDUsMTE5LDExNCwxMDUsMTE2LDEwMSwyMTgsNywKKyAgICAxMTQsMTAxLDExMiwxMDgsOTcsOTksMTAxLDExNCw0MCwwLDAsMCw5MCw2LDExNywxMTAsCisgICAgMTA4LDEwNSwxMTAsMTA3LDQxLDYsMTE0LDM1LDAsMCwwLDIxOCw0LDEwMCw5NywxMTYsCisgICAgOTcsMTE0LDQyLDAsMCwwLDkwLDgsMTEyLDk3LDExNiwxMDQsOTUsMTE2LDEwOSwxMTIsCisgICAgOTAsMiwxMDIsMTAwLDIxOCw0LDEwMiwxMDUsMTA4LDEwMSwxMTQsNCwwLDAsMCwxMTQsCisgICAgNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTMsOTUsMTE5LDExNCwxMDUsMTE2LAorICAgIDEwMSw5NSw5NywxMTYsMTExLDEwOSwxMDUsOTksOTksMCwwLDAsMTE1LDI2LDAsMCwKKyAgICAwLDAsNSwyNCwxLDksMSwzMywxLDMsMywyMSwxLDE5LDEsMjAsCisgICAgMSwxMywxLDMsMSwxNywxLDEzLDEsNSwxLDExNCw1NSwwLDAsMCwKKyAgICA5OSwyLDAsMCwwLDAsMCwwLDAsMywwLDAsMCw3LDAsMCwKKyAgICAwLDY3LDAsMCwwLDExNSw5MiwwLDAsMCwxMjAsNjYsMCwxMDAsMSwwLAorICAgIDEwMCwyLDAsMTAwLDMsMCwxMDAsNCwwLDEwMyw0LDAsNjgsOTMsNDYsMCwKKyAgICAxMjUsMiwwLDExNiwwLDAsMTI0LDEsMCwxMjQsMiwwLDEzMSwyLDAsMTE0LAorICAgIDE5LDAsMTE2LDEsMCwxMjQsMCwwLDEyNCwyLDAsMTE2LDIsMCwxMjQsMSwKKyAgICAwLDEyNCwyLDAsMTMxLDIsMCwxMzEsMywwLDEsMTEzLDE5LDAsODcsMTI0LAorICAgIDAsMCwxMDYsMywwLDEwNiw0LDAsMTI0LDEsMCwxMDYsMywwLDEzMSwxLAorICAgIDAsMSwxMDAsNSwwLDgzLDQxLDYsMTIyLDQ3LDgzLDEwNSwxMDksMTEyLDEwOCwxMDEsCisgICAgMzIsMTE1LDExNyw5OCwxMTUsMTE2LDEwNSwxMTYsMTE3LDExNiwxMDEsMzIsMTAyLDExMSwxMTQsMzIsCisgICAgMTAyLDExNywxMTAsOTksMTE2LDExMSwxMTEsMTA4LDExNSw0NiwxMTcsMTEyLDEwMCw5NywxMTYsMTAxLAorICAgIDk1LDExOSwxMTQsOTcsMTEyLDExMiwxMDEsMTE0LDQ2LDIxOCwxMCw5NSw5NSwxMDksMTExLDEwMCwKKyAgICAxMTcsMTA4LDEwMSw5NSw5NSwyMTgsOCw5NSw5NSwxMTAsOTcsMTA5LDEwMSw5NSw5NSwyMTgsCisgICAgMTIsOTUsOTUsMTEzLDExNyw5NywxMDgsMTEwLDk3LDEwOSwxMDEsOTUsOTUsMjE4LDcsOTUsCisgICAgOTUsMTAwLDExMSw5OSw5NSw5NSw3OCw0MSw1LDIxOCw3LDEwNCw5NywxMTUsOTcsMTE2LAorICAgIDExNiwxMTQsMjE4LDcsMTE1LDEwMSwxMTYsOTcsMTE2LDExNiwxMTQsMjE4LDcsMTAzLDEwMSwxMTYsCisgICAgOTcsMTE2LDExNiwxMTQsMjE4LDgsOTUsOTUsMTAwLDEwNSw5OSwxMTYsOTUsOTUsMjE4LDYsCisgICAgMTE3LDExMiwxMDAsOTcsMTE2LDEwMSw0MSwzLDkwLDMsMTEwLDEwMSwxMTksOTAsMywxMTEsCisgICAgMTA4LDEwMCwxMTQsNTIsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLAorICAgIDAsMTE0LDUsMCwwLDAsMjE4LDUsOTUsMTE5LDExNCw5NywxMTIsMTIxLDAsMCwKKyAgICAwLDExNSw4LDAsMCwwLDAsMiwyNSwxLDE1LDEsMjksMSwxMTQsNjUsCisgICAgMCwwLDAsOTksMSwwLDAsMCwwLDAsMCwwLDEsMCwwLDAsCisgICAgMiwwLDAsMCw2NywwLDAsMCwxMTUsMTYsMCwwLDAsMTE2LDAsMCwKKyAgICAxMTYsMSwwLDEzMSwxLDAsMTI0LDAsMCwxMzEsMSwwLDgzLDQxLDEsNzgsCisgICAgNDEsMiwyMTgsNCwxMTYsMTIxLDExMiwxMDEsMTE0LDcsMCwwLDAsNDEsMSwyMTgsCisgICAgNCwxMTAsOTcsMTA5LDEwMSwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsCisgICAgNSwwLDAsMCwyMTgsMTEsOTUsMTEwLDEwMSwxMTksOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwKKyAgICAxMDEsMTI5LDAsMCwwLDExNSwyLDAsMCwwLDAsMSwxMTQsNjgsMCwwLAorICAgIDAsOTksMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMiwwLAorICAgIDAsMCw2NCwwLDAsMCwxMTUsNTgsMCwwLDAsMTAxLDAsMCw5MCwxLAorICAgIDAsMTAwLDAsMCw5MCwyLDAsMTAwLDEsMCw5MCwzLDAsMTAwLDIsMCwKKyAgICAxMDAsMywwLDEzMiwwLDAsOTAsNCwwLDEwMCw0LDAsMTAwLDUsMCwxMzIsCisgICAgMCwwLDkwLDUsMCwxMDAsNiwwLDEwMCw3LDAsMTMyLDAsMCw5MCw2LAorICAgIDAsMTAwLDgsMCw4Myw0MSw5LDIxOCwxMyw5NSw3Nyw5NywxMTAsOTcsMTAzLDEwMSwKKyAgICA4MiwxMDEsMTA4LDExMSw5NywxMDAsMTIyLDYzLDc3LDk3LDExMCw5NywxMDMsMTAxLDExNSwzMiwKKyAgICAxMTYsMTA0LDEwMSwzMiwxMTIsMTExLDExNSwxMTUsMTA1LDk4LDEwOCwxMDEsMzIsOTksMTA4LDEwMSwKKyAgICA5NywxMTAsNDUsMTE3LDExMiwzMiwxMTEsMTAyLDMyLDExNSwxMjEsMTE1LDQ2LDEwOSwxMTEsMTAwLAorICAgIDExNywxMDgsMTAxLDExNSwzMiwxMDIsMTExLDExNCwzMiwxMDgsMTExLDk3LDEwMCw5NSwxMDksMTExLAorICAgIDEwMCwxMTcsMTA4LDEwMSw0MCw0MSw0Niw5OSwyLDAsMCwwLDAsMCwwLDAsCisgICAgMiwwLDAsMCwyLDAsMCwwLDY3LDAsMCwwLDExNSwxMywwLDAsCisgICAgMCwxMjQsMSwwLDEyNCwwLDAsOTUsMCwwLDEwMCwwLDAsODMsNDEsMSwKKyAgICA3OCw0MSwxLDIxOCw1LDk1LDExMCw5NywxMDksMTAxLDQxLDIsMjE4LDQsMTE1LDEwMSwKKyAgICAxMDgsMTAyLDExNCw2NywwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsCisgICAgMCwxMTQsNSwwLDAsMCwyMTgsOCw5NSw5NSwxMDUsMTEwLDEwNSwxMTYsOTUsOTUsCisgICAgMTQxLDAsMCwwLDExNSwyLDAsMCwwLDAsMSwxMjIsMjIsOTUsNzcsOTcsCisgICAgMTEwLDk3LDEwMywxMDEsODIsMTAxLDEwOCwxMTEsOTcsMTAwLDQ2LDk1LDk1LDEwNSwxMTAsMTA1LAorICAgIDExNiw5NSw5NSw5OSwxLDAsMCwwLDAsMCwwLDAsMSwwLDAsMCwKKyAgICAyLDAsMCwwLDY3LDAsMCwwLDExNSwyNSwwLDAsMCwxMjQsMCwwLAorICAgIDEwNiwwLDAsMTE2LDEsMCwxMDYsMiwwLDEwNyw2LDAsMTI0LDAsMCw5NSwKKyAgICAzLDAsMTAwLDAsMCw4Myw0MSwxLDc4LDQxLDQsMTE0LDcwLDAsMCwwLAorICAgIDExNCw3LDAsMCwwLDIxOCw3LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNSwyMTgsMTAsCisgICAgOTUsMTA1LDExNSw5NSwxMTQsMTAxLDEwOCwxMTEsOTcsMTAwLDQxLDEsMTE0LDcxLDAsMCwKICAgICAwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLAotICAgIDExNCw5NywwLDAsMCwxOTIsMCwwLDAsMTE1LDMyLDAsMCwwLDAsNiwKLSAgICAxMiwxLDEwLDEsMywxLDMsMSwxMCwxLDMwLDEsOSwxLDE1LDEsCi0gICAgNCwxLDEyLDEsMTksMSwxOCwxLDI0LDIsMTMsMSwyMSwyLDEyMiwxOSwKLSAgICA5NSw3NywxMTEsMTAwLDExNywxMDgsMTAxLDc2LDExMSw5OSwxMDcsNDYsOTcsOTksMTEzLDExNywKLSAgICAxMDUsMTE0LDEwMSw5OSwxLDAsMCwwLDAsMCwwLDAsMiwwLDAsMCwKLSAgICAxMCwwLDAsMCw2NywwLDAsMCwxMTUsMTY1LDAsMCwwLDExNiwwLDAsCi0gICAgMTA2LDEsMCwxMzEsMCwwLDEyNSwxLDAsMTI0LDAsMCwxMDYsMiwwLDE0MywKLSAgICAxMzgsMCwxLDEyNCwwLDAsMTA2LDMsMCwxMjQsMSwwLDEwNywzLDAsMTE0LAotICAgIDUyLDAsMTE2LDQsMCwxMDAsMSwwLDEzMSwxLDAsMTMwLDEsMCwxMTAsMCwKLSAgICAwLDEyNCwwLDAsMTA2LDUsMCwxMDAsMiwwLDEwNyw0LDAsMTE1LDczLDAsCi0gICAgMTE2LDYsMCwxMzAsMSwwLDEyNCwwLDAsNCwxMDYsNSwwLDEwMCwzLDAsCi0gICAgNTYsMiw5NSw1LDAsMTI0LDAsMCwxMDYsNSwwLDEwMCwyLDAsMTA3LDIsCi0gICAgMCwxMTQsMTU1LDAsMTAwLDAsMCwxMjQsMCwwLDk1LDMsMCwxMjQsMCwwLAotICAgIDEwNiw3LDAsMTE0LDE1NSwwLDEyNCwwLDAsNCwxMDYsNywwLDEwMCwzLDAsCi0gICAgNTYsMiw5NSw3LDAsMTI0LDAsMCwxMDYsOCwwLDEwNiw5LDAsMTMxLDAsCi0gICAgMCwxLDExMywxNTUsMCwxMTAsMCwwLDg3LDEwMCwwLDAsODEsODgsMTAwLDAsCi0gICAgMCw4Myw0MSw0LDc4LDEyMiwzMSw5OSw5NywxMTAsMTEwLDExMSwxMTYsMzIsMTE0LDEwMSwKLSAgICAxMDgsMTAxLDk3LDExNSwxMDEsMzIsMTE3LDExMCw0NSw5Nyw5OSwxMTMsMTE3LDEwNSwxMTQsMTAxLAotICAgIDEwMCwzMiwxMDgsMTExLDk5LDEwNywxMTQsODQsMCwwLDAsMTE0LDI5LDAsMCwwLAotICAgIDQxLDEwLDExNCw4NSwwLDAsMCwxMTQsOTEsMCwwLDAsMTE0LDg2LDAsMCwKLSAgICAwLDExNCw4OCwwLDAsMCwyMTgsMTIsODIsMTE3LDExMCwxMTYsMTA1LDEwOSwxMDEsNjksCi0gICAgMTE0LDExNCwxMTEsMTE0LDExNCw4OSwwLDAsMCwyMTgsMTQsNjUsMTE1LDExNSwxMDEsMTE0LAotICAgIDExNiwxMDUsMTExLDExMCw2OSwxMTQsMTE0LDExMSwxMTQsMTE0LDkwLDAsMCwwLDExNCw4NywKLSAgICAwLDAsMCwxMTQsOTgsMCwwLDAsNDEsMiwxMTQsNzEsMCwwLDAsMTE0LAotICAgIDk1LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LAotICAgIDAsMCwwLDExNCw5OCwwLDAsMCwyMTcsMCwwLDAsMTE1LDIyLDAsMCwKLSAgICAwLDAsMSwxMiwxLDEwLDEsMTUsMSwxNSwxLDIxLDEsMTUsMSwxNSwKLSAgICAxLDksMSw5LDEsMTUsMSwxMjIsMTksOTUsNzcsMTExLDEwMCwxMTcsMTA4LDEwMSwKKyAgICAyMTgsOSw5NSw5NSwxMDEsMTEwLDExNiwxMDEsMTE0LDk1LDk1LDE0NCwwLDAsMCwxMTUsCisgICAgMiwwLDAsMCwwLDEsMTIyLDIzLDk1LDc3LDk3LDExMCw5NywxMDMsMTAxLDgyLAorICAgIDEwMSwxMDgsMTExLDk3LDEwMCw0Niw5NSw5NSwxMDEsMTEwLDExNiwxMDEsMTE0LDk1LDk1LDk5LAorICAgIDEsMCwwLDAsMCwwLDAsMCwyLDAsMCwwLDExLDAsMCwwLAorICAgIDcxLDAsMCwwLDExNSw3NywwLDAsMCwxMTYsMCwwLDEwMCwxLDAsMTAwLAorICAgIDIsMCwxMzIsMCwwLDEyNCwxLDAsNjgsMTMxLDEsMCwxMzEsMSwwLDExNCwKKyAgICA3MywwLDEyNCwwLDAsMTA2LDEsMCwxMiwxMTQsNzMsMCwxMjEsMTcsMCwxMTYsCisgICAgMiwwLDEwNiwzLDAsMTI0LDAsMCwxMDYsNCwwLDYxLDg3LDExMCwxOCwwLAorICAgIDQsMTE2LDUsMCwxMDcsMTAsMCwxMTQsNzIsMCwxLDEsMSw4OSwxMTAsMSwKKyAgICAwLDg4LDEwMCwwLDAsODMsNDEsMyw3OCw5OSwxLDAsMCwwLDAsMCwKKyAgICAwLDAsMiwwLDAsMCwzLDAsMCwwLDExNSwwLDAsMCwxMTUsMjcsCisgICAgMCwwLDAsMTI0LDAsMCw5MywxNywwLDEyNSwxLDAsMTI0LDEsMCwxMDAsCisgICAgMCwwLDEwNyw5LDAsODYsMSwxMTMsMywwLDEwMCwwLDAsODMsNDEsMSwKKyAgICA3OCwxMTQsNCwwLDAsMCw0MSwyLDExNCwyMiwwLDAsMCwyMTgsMyw5NywKKyAgICAxMTQsMTAzLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwKKyAgICAwLDI1MCw5LDYwLDEwMywxMDEsMTEwLDEwMSwxMjAsMTEyLDExNCw2MiwxNDgsMCwwLDAsCisgICAgMTE1LDIsMCwwLDAsNiwwLDEyMiw0MSw5NSw3Nyw5NywxMTAsOTcsMTAzLDEwMSwKKyAgICA4MiwxMDEsMTA4LDExMSw5NywxMDAsNDYsOTUsOTUsMTAxLDEyMCwxMDUsMTE2LDk1LDk1LDQ2LAorICAgIDYwLDEwOCwxMTEsOTksOTcsMTA4LDExNSw2Miw0Niw2MCwxMDMsMTAxLDExMCwxMDEsMTIwLDExMiwKKyAgICAxMTQsNjIsNDEsNiwyMTgsMyw5NywxMTAsMTIxLDExNCw3NCwwLDAsMCwxMTQsNywKKyAgICAwLDAsMCwxMTQsNzMsMCwwLDAsMTE0LDcwLDAsMCwwLDIxOCw4LDc1LAorICAgIDEwMSwxMjEsNjksMTE0LDExNCwxMTEsMTE0LDQxLDIsMTE0LDcxLDAsMCwwLDIxOCw0LAorICAgIDk3LDExNCwxMDMsMTE1LDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LAorICAgIDAsMCwwLDIxOCw4LDk1LDk1LDEwMSwxMjAsMTA1LDExNiw5NSw5NSwxNDcsMCwwLAorICAgIDAsMTE1LDEwLDAsMCwwLDAsMSwzNSwxLDMsMSwxNywxLDEzLDEsCisgICAgMTIyLDIyLDk1LDc3LDk3LDExMCw5NywxMDMsMTAxLDgyLDEwMSwxMDgsMTExLDk3LDEwMCw0NiwKKyAgICA5NSw5NSwxMDEsMTIwLDEwNSwxMTYsOTUsOTUsNzgsNDEsNywxMTQsNTcsMCwwLDAsCisgICAgMTE0LDU2LDAsMCwwLDExNCw1OCwwLDAsMCwxMTQsNTksMCwwLDAsMTE0LAorICAgIDcyLDAsMCwwLDExNCw3NSwwLDAsMCwxMTQsODEsMCwwLDAsMTE0LDQsCisgICAgMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwKKyAgICAwLDAsMTE0LDY5LDAsMCwwLDEzNywwLDAsMCwxMTUsOCwwLDAsMCwKKyAgICAxMiwyLDYsMiwxMiwzLDEyLDMsMTE0LDY5LDAsMCwwLDk5LDAsMCwKKyAgICAwLDAsMCwwLDAsMCwwLDAsMCwwLDEsMCwwLDAsNjQsMCwKKyAgICAwLDAsMTE1LDE2LDAsMCwwLDEwMSwwLDAsOTAsMSwwLDEwMCwwLDAsCisgICAgOTAsMiwwLDEwMCwxLDAsODMsNDEsMiwyMTgsMTQsOTUsNjgsMTAxLDk3LDEwMCwKKyAgICAxMDgsMTExLDk5LDEwNyw2OSwxMTQsMTE0LDExMSwxMTQsNzgsNDEsMywxMTQsNTcsMCwwLAorICAgIDAsMTE0LDU2LDAsMCwwLDExNCw1OCwwLDAsMCwxMTQsNCwwLDAsMCwKKyAgICAxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsCisgICAgODIsMCwwLDAsMTYyLDAsMCwwLDExNSwyLDAsMCwwLDEyLDEsMTE0LAorICAgIDgyLDAsMCwwLDk5LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwKKyAgICAwLDIsMCwwLDAsNjQsMCwwLDAsMTE1LDgyLDAsMCwwLDEwMSwwLAorICAgIDAsOTAsMSwwLDEwMCwwLDAsOTAsMiwwLDEwMCwxLDAsOTAsMywwLAorICAgIDEwMCwyLDAsMTAwLDMsMCwxMzIsMCwwLDkwLDQsMCwxMDAsNCwwLDEwMCwKKyAgICA1LDAsMTMyLDAsMCw5MCw1LDAsMTAwLDYsMCwxMDAsNywwLDEzMiwwLAorICAgIDAsOTAsNiwwLDEwMCw4LDAsMTAwLDksMCwxMzIsMCwwLDkwLDcsMCwKKyAgICAxMDAsMTAsMCwxMDAsMTEsMCwxMzIsMCwwLDkwLDgsMCwxMDAsMTIsMCw4MywKKyAgICA0MSwxMywyMTgsMTEsOTUsNzcsMTExLDEwMCwxMTcsMTA4LDEwMSw3NiwxMTEsOTksMTA3LDEyMiwKKyAgICAxNjksNjUsMzIsMTE0LDEwMSw5OSwxMTcsMTE0LDExNSwxMDUsMTE4LDEwMSwzMiwxMDgsMTExLDk5LAorICAgIDEwNywzMiwxMDUsMTA5LDExMiwxMDgsMTAxLDEwOSwxMDEsMTEwLDExNiw5NywxMTYsMTA1LDExMSwxMTAsCisgICAgMzIsMTE5LDEwNCwxMDUsOTksMTA0LDMyLDEwNSwxMTUsMzIsOTcsOTgsMTA4LDEwMSwzMiwxMTYsCisgICAgMTExLDMyLDEwMCwxMDEsMTE2LDEwMSw5OSwxMTYsMzIsMTAwLDEwMSw5NywxMDAsMTA4LDExMSw5OSwKKyAgICAxMDcsMTE1LDEwLDMyLDMyLDMyLDMyLDQwLDEwMSw0NiwxMDMsNDYsMzIsMTE2LDEwNCwxMTQsCisgICAgMTAxLDk3LDEwMCwzMiw0OSwzMiwxMTYsMTE0LDEyMSwxMDUsMTEwLDEwMywzMiwxMTYsMTExLDMyLAorICAgIDExNiw5NywxMDcsMTAxLDMyLDEwOCwxMTEsOTksMTA3LDExNSwzMiw2NSwzMiwxMTYsMTA0LDEwMSwKKyAgICAxMTAsMzIsNjYsNDQsMzIsOTcsMTEwLDEwMCwzMiwxMTYsMTA0LDExNCwxMDEsOTcsMTAwLDMyLAorICAgIDUwLDMyLDExNiwxMTQsMTIxLDEwNSwxMTAsMTAzLDMyLDExNiwxMTEsMTAsMzIsMzIsMzIsMzIsCisgICAgMTE2LDk3LDEwNywxMDEsMzIsMTA4LDExMSw5OSwxMDcsMTE1LDMyLDY2LDMyLDExNiwxMDQsMTAxLAorICAgIDExMCwzMiw2NSw0MSw0NiwxMCwzMiwzMiwzMiwzMiw5OSwyLDAsMCwwLDAsCisgICAgMCwwLDAsMiwwLDAsMCwyLDAsMCwwLDY3LDAsMCwwLDExNSwKKyAgICA3MCwwLDAsMCwxMTYsMCwwLDEwNiwxLDAsMTMxLDAsMCwxMjQsMCwwLAorICAgIDk1LDIsMCwxMTYsMCwwLDEwNiwxLDAsMTMxLDAsMCwxMjQsMCwwLDk1LAorICAgIDMsMCwxMjQsMSwwLDEyNCwwLDAsOTUsNCwwLDEwMCwwLDAsMTI0LDAsCisgICAgMCw5NSw1LDAsMTAwLDEsMCwxMjQsMCwwLDk1LDYsMCwxMDAsMSwwLAorICAgIDEyNCwwLDAsOTUsNywwLDEwMCwwLDAsODMsNDEsMiw3OCwyMzMsMCwwLAorICAgIDAsMCw0MSw4LDIxOCw3LDk1LDExNiwxMDQsMTE0LDEwMSw5NywxMDAsOTAsMTMsOTcsCisgICAgMTA4LDEwOCwxMTEsOTksOTcsMTE2LDEwMSw5NSwxMDgsMTExLDk5LDEwNywyMTgsNCwxMDgsMTExLAorICAgIDk5LDEwNywyMTgsNiwxMTksOTcsMTA3LDEwMSwxMTcsMTEyLDExNCw2NywwLDAsMCwyMTgsCisgICAgNSwxMTEsMTE5LDExMCwxMDEsMTE0LDIxOCw1LDk5LDExMSwxMTcsMTEwLDExNiwyMTgsNywxMTksCisgICAgOTcsMTA1LDExNiwxMDEsMTE0LDExNSw0MSwyLDExNCw3MSwwLDAsMCwxMTQsNjcsMCwKKyAgICAwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLAorICAgIDAsMTE0LDcyLDAsMCwwLDE3MiwwLDAsMCwxMTUsMTIsMCwwLDAsMCwKKyAgICAxLDE1LDEsMTUsMSw5LDEsOSwxLDksMSwxMjIsMjAsOTUsNzcsMTExLAorICAgIDEwMCwxMTcsMTA4LDEwMSw3NiwxMTEsOTksMTA3LDQ2LDk1LDk1LDEwNSwxMTAsMTA1LDExNiw5NSwKKyAgICA5NSw5OSwxLDAsMCwwLDAsMCwwLDAsNCwwLDAsMCwyLDAsCisgICAgMCwwLDY3LDAsMCwwLDExNSw4OCwwLDAsMCwxMTYsMCwwLDEwNiwxLAorICAgIDAsMTMxLDAsMCwxMjUsMSwwLDEyNCwwLDAsMTA2LDIsMCwxMjUsMiwwLAorICAgIDEyMCw2MCwwLDExNiwzLDAsMTA2LDQsMCwxMjQsMiwwLDEzMSwxLDAsMTI1LAorICAgIDMsMCwxMjQsMywwLDEwMCwwLDAsMTA3LDgsMCwxMTQsNTUsMCwxMDAsMSwKKyAgICAwLDgzLDEyNCwzLDAsMTA2LDIsMCwxMjUsMiwwLDEyNCwyLDAsMTI0LDEsCisgICAgMCwxMDcsMiwwLDExNCwyNCwwLDEwMCwyLDAsODMsMTEzLDI0LDAsODcsMTAwLAorICAgIDAsMCw4Myw0MSwzLDc4LDcwLDg0LDQxLDUsMTE0LDg1LDAsMCwwLDIxOCwKKyAgICA5LDEwMywxMDEsMTE2LDk1LDEwNSwxMDAsMTAxLDExMCwxMTYsMTE0LDg4LDAsMCwwLDIxOCwKKyAgICAxMiw5NSw5OCwxMDgsMTExLDk5LDEwNywxMDUsMTEwLDEwMyw5NSwxMTEsMTEwLDIxOCwzLDEwMywKKyAgICAxMDEsMTE2LDQxLDQsMTE0LDcxLDAsMCwwLDIxOCwyLDEwOSwxMDEsMjE4LDMsMTE2LAorICAgIDEwNSwxMDAsMTE0LDg2LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwKKyAgICAwLDExNCw1LDAsMCwwLDIxOCwxMiwxMDQsOTcsMTE1LDk1LDEwMCwxMDEsOTcsMTAwLAorICAgIDEwOCwxMTEsOTksMTA3LDE4MCwwLDAsMCwxMTUsMTgsMCwwLDAsMCwyLDEyLAorICAgIDEsOSwxLDMsMSwxNSwxLDEyLDEsNCwxLDksMSwxMiwxLDEyMiwKKyAgICAyNCw5NSw3NywxMTEsMTAwLDExNywxMDgsMTAxLDc2LDExMSw5OSwxMDcsNDYsMTA0LDk3LDExNSwKKyAgICA5NSwxMDAsMTAxLDk3LDEwMCwxMDgsMTExLDk5LDEwNyw5OSwxLDAsMCwwLDAsMCwKKyAgICAwLDAsMiwwLDAsMCwxNiwwLDAsMCw2NywwLDAsMCwxMTUsMjA5LAorICAgIDAsMCwwLDExNiwwLDAsMTA2LDEsMCwxMzEsMCwwLDEyNSwxLDAsMTI0LAorICAgIDAsMCwxMTYsMiwwLDEyNCwxLDAsNjAsMTIyLDE3MiwwLDEyMCwxNjUsMCwxMjQsCisgICAgMCwwLDEwNiwzLDAsMTQzLDEyNCwwLDEsMTI0LDAsMCwxMDYsNCwwLDEwMCwKKyAgICAxLDAsMTA3LDIsMCwxMTUsNjgsMCwxMjQsMCwwLDEwNiw1LDAsMTI0LDEsCisgICAgMCwxMDcsMiwwLDExNCw5NiwwLDEyNCwxLDAsMTI0LDAsMCw5NSw1LDAsCisgICAgMTI0LDAsMCw0LDEwNiw0LDAsMTAwLDIsMCw1NSwyLDk1LDQsMCwxMDAsCisgICAgMywwLDgzLDEyNCwwLDAsMTA2LDYsMCwxMzEsMCwwLDExNCwxMjQsMCwxMTYsCisgICAgNywwLDEwMCw0LDAsMTI0LDAsMCwyMiwxMzEsMSwwLDEzMCwxLDAsMTI0LAorICAgIDAsMCwxMDYsOCwwLDEwNiw5LDAsMTAwLDUsMCwxMzEsMSwwLDExNCwxNTcsCisgICAgMCwxMjQsMCwwLDQsMTA2LDEwLDAsMTAwLDIsMCw1NSwyLDk1LDEwLDAsCisgICAgODcsMTAwLDYsMCw4MSw4OCwxMjQsMCwwLDEwNiw4LDAsMTA2LDksMCwxMzEsCisgICAgMCwwLDEsMTI0LDAsMCwxMDYsOCwwLDEwNiwxMSwwLDEzMSwwLDAsMSwKKyAgICAxMTMsMjgsMCw4Nyw4NywxMDAsNiwwLDExNiwyLDAsMTI0LDEsMCw2MSw4OCwKKyAgICAxMDAsNiwwLDgzLDQxLDcsMTIyLDE4NSwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwKKyAgICAzMiw2NSw5OSwxMTMsMTE3LDEwNSwxMTQsMTAxLDMyLDExNiwxMDQsMTAxLDMyLDEwOSwxMTEsMTAwLAorICAgIDExNywxMDgsMTAxLDMyLDEwOCwxMTEsOTksMTA3LDQ2LDMyLDMyLDczLDEwMiwzMiw5NywzMiwKKyAgICAxMTIsMTExLDExNiwxMDEsMTEwLDExNiwxMDUsOTcsMTA4LDMyLDEwMCwxMDEsOTcsMTAwLDEwOCwxMTEsCisgICAgOTksMTA3LDMyLDEwNSwxMTUsMzIsMTAwLDEwMSwxMTYsMTAxLDk5LDExNiwxMDEsMTAwLDQ0LDEwLAorICAgIDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDk3LDMyLDk1LDY4LDEwMSw5NywxMDAsMTA4LAorICAgIDExMSw5OSwxMDcsNjksMTE0LDExNCwxMTEsMTE0LDMyLDEwNSwxMTUsMzIsMTE0LDk3LDEwNSwxMTUsCisgICAgMTAxLDEwMCw0NiwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw3OSwxMTYsMTA0LDEwMSwKKyAgICAxMTQsMTE5LDEwNSwxMTUsMTAxLDQ0LDMyLDExNiwxMDQsMTAxLDMyLDEwOCwxMTEsOTksMTA3LDMyLAorICAgIDEwNSwxMTUsMzIsOTcsMTA4LDExOSw5NywxMjEsMTE1LDMyLDk3LDk5LDExMywxMTcsMTA1LDExNCwKKyAgICAxMDEsMTAwLDMyLDk3LDExMCwxMDAsMzIsODQsMTE0LDExNywxMDEsMzIsMTA1LDExNSwzMiwxMTQsCisgICAgMTAxLDExNiwxMTcsMTE0LDExMCwxMDEsMTAwLDQ2LDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLAorICAgIDMyLDExNCw4NCwwLDAsMCwxMTQsMjksMCwwLDAsODQsMTIyLDIzLDEwMCwxMDEsCisgICAgOTcsMTAwLDEwOCwxMTEsOTksMTA3LDMyLDEwMCwxMDEsMTE2LDEwMSw5OSwxMTYsMTAxLDEwMCwzMiwKKyAgICA5OCwxMjEsMzIsMzcsMTE0LDcwLDc4LDQxLDEyLDExNCw4NSwwLDAsMCwxMTQsOTEsCisgICAgMCwwLDAsMTE0LDkyLDAsMCwwLDExNCw4NiwwLDAsMCwxMTQsODksMCwKKyAgICAwLDAsMTE0LDg4LDAsMCwwLDExNCw5NiwwLDAsMCwxMTQsODIsMCwwLAorICAgIDAsMTE0LDg3LDAsMCwwLDIxOCw3LDk3LDk5LDExMywxMTcsMTA1LDExNCwxMDEsMTE0LAorICAgIDkwLDAsMCwwLDIxOCw3LDExNCwxMDEsMTA4LDEwMSw5NywxMTUsMTAxLDQxLDIsMTE0LAorICAgIDcxLDAsMCwwLDExNCw5NSwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwKKyAgICAwLDAsMCwxMTQsNSwwLDAsMCwxMTQsOTcsMCwwLDAsMTkyLDAsMCwKKyAgICAwLDExNSwzMiwwLDAsMCwwLDYsMTIsMSwxMCwxLDMsMSwzLDEsCisgICAgMTAsMSwzMCwxLDksMSwxNSwxLDQsMSwxMiwxLDE2LDEsMTgsMSwKKyAgICAyMSwyLDEzLDEsMjEsMiwxMjIsMTksOTUsNzcsMTExLDEwMCwxMTcsMTA4LDEwMSw3NiwKKyAgICAxMTEsOTksMTA3LDQ2LDk3LDk5LDExMywxMTcsMTA1LDExNCwxMDEsOTksMSwwLDAsMCwKKyAgICAwLDAsMCwwLDIsMCwwLDAsMTAsMCwwLDAsNjcsMCwwLDAsCisgICAgMTE1LDE1NiwwLDAsMCwxMTYsMCwwLDEwNiwxLDAsMTMxLDAsMCwxMjUsMSwKKyAgICAwLDEyNCwwLDAsMTA2LDIsMCwxNDMsMTI5LDAsMSwxMjQsMCwwLDEwNiwzLAorICAgIDAsMTI0LDEsMCwxMDcsMywwLDExNCw0OSwwLDExNiw0LDAsMTAwLDEsMCwKKyAgICAxMzEsMSwwLDEzMCwxLDAsMTI0LDAsMCwxMDYsNSwwLDEwMCwyLDAsMTA3LAorICAgIDQsMCwxMTUsNzAsMCwxMTYsNiwwLDEzMCwxLDAsMTI0LDAsMCw0LDEwNiwKKyAgICA1LDAsMTAwLDMsMCw1NiwyLDk1LDUsMCwxMjQsMCwwLDEwNiw1LDAsCisgICAgMTAwLDIsMCwxMDcsMiwwLDExNCwxNDYsMCwxMDAsMCwwLDEyNCwwLDAsOTUsCisgICAgMywwLDEyNCwwLDAsMTA2LDcsMCwxMTQsMTQ2LDAsMTI0LDAsMCw0LDEwNiwKKyAgICA3LDAsMTAwLDMsMCw1NiwyLDk1LDcsMCwxMjQsMCwwLDEwNiw4LDAsCisgICAgMTA2LDksMCwxMzEsMCwwLDEsODcsMTAwLDAsMCw4MSw4OCwxMDAsMCwwLAorICAgIDgzLDQxLDQsNzgsMTIyLDMxLDk5LDk3LDExMCwxMTAsMTExLDExNiwzMiwxMTQsMTAxLDEwOCwKKyAgICAxMDEsOTcsMTE1LDEwMSwzMiwxMTcsMTEwLDQ1LDk3LDk5LDExMywxMTcsMTA1LDExNCwxMDEsMTAwLAorICAgIDMyLDEwOCwxMTEsOTksMTA3LDExNCw4NCwwLDAsMCwxMTQsMjksMCwwLDAsNDEsCisgICAgMTAsMTE0LDg1LDAsMCwwLDExNCw5MSwwLDAsMCwxMTQsODYsMCwwLDAsCisgICAgMTE0LDg4LDAsMCwwLDIxOCwxMiw4MiwxMTcsMTEwLDExNiwxMDUsMTA5LDEwMSw2OSwxMTQsCisgICAgMTE0LDExMSwxMTQsMTE0LDg5LDAsMCwwLDIxOCwxNCw2NSwxMTUsMTE1LDEwMSwxMTQsMTE2LAorICAgIDEwNSwxMTEsMTEwLDY5LDExNCwxMTQsMTExLDExNCwxMTQsOTAsMCwwLDAsMTE0LDg3LDAsCisgICAgMCwwLDExNCw5OCwwLDAsMCw0MSwyLDExNCw3MSwwLDAsMCwxMTQsOTUsCisgICAgMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwKKyAgICAwLDAsMTE0LDk4LDAsMCwwLDIxNywwLDAsMCwxMTUsMjIsMCwwLDAsCisgICAgMCwxLDEyLDEsMTAsMSwxNSwxLDEyLDEsMjEsMSwxNSwxLDE1LDEsCisgICAgOSwxLDksMSwxNSwxLDEyMiwxOSw5NSw3NywxMTEsMTAwLDExNywxMDgsMTAxLDc2LAorICAgIDExMSw5OSwxMDcsNDYsMTE0LDEwMSwxMDgsMTAxLDk3LDExNSwxMDEsOTksMSwwLDAsMCwKKyAgICAwLDAsMCwwLDEsMCwwLDAsNCwwLDAsMCw2NywwLDAsMCwKKyAgICAxMTUsMjUsMCwwLDAsMTAwLDEsMCwxMDYsMCwwLDEyNCwwLDAsMTA2LDEsCisgICAgMCwxMTYsMiwwLDEyNCwwLDAsMTMxLDEsMCwxMzEsMiwwLDgzLDQxLDIsCisgICAgNzgsMTIyLDIzLDk1LDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsNzYsMTExLDk5LDEwNyw0MCwxMjMsCisgICAgMzMsMTE0LDEyNSw0MSwzMiw5NywxMTYsMzIsMTIzLDEyNSw0MSwzLDExNCw0NywwLDAsCisgICAgMCwxMTQsNjcsMCwwLDAsMTE0LDQ4LDAsMCwwLDQxLDEsMTE0LDcxLDAsCisgICAgMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwKKyAgICAwLDIxOCw4LDk1LDk1LDExNCwxMDEsMTEyLDExNCw5NSw5NSwyMzAsMCwwLDAsMTE1LAorICAgIDIsMCwwLDAsMCwxLDEyMiwyMCw5NSw3NywxMTEsMTAwLDExNywxMDgsMTAxLDc2LAorICAgIDExMSw5OSwxMDcsNDYsOTUsOTUsMTE0LDEwMSwxMTIsMTE0LDk1LDk1LDc4LDQxLDksMTE0LAorICAgIDU3LDAsMCwwLDExNCw1NiwwLDAsMCwxMTQsNTgsMCwwLDAsMTE0LDU5LAorICAgIDAsMCwwLDExNCw3MiwwLDAsMCwxMTQsOTYsMCwwLDAsMTE0LDk3LDAsCisgICAgMCwwLDExNCw5OCwwLDAsMCwxMTQsMTAxLDAsMCwwLDExNCw0LDAsMCwKKyAgICAwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLAorICAgIDExNCw4MywwLDAsMCwxNjYsMCwwLDAsMTE1LDEyLDAsMCwwLDEyLDQsCisgICAgNiwyLDEyLDgsMTIsMTIsMTIsMjUsMTIsMTMsMTE0LDgzLDAsMCwwLDk5LAorICAgIDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsCisgICAgNjQsMCwwLDAsMTE1LDcwLDAsMCwwLDEwMSwwLDAsOTAsMSwwLDEwMCwKKyAgICAwLDAsOTAsMiwwLDEwMCwxLDAsOTAsMywwLDEwMCwyLDAsMTAwLDMsCisgICAgMCwxMzIsMCwwLDkwLDQsMCwxMDAsNCwwLDEwMCw1LDAsMTMyLDAsMCwKKyAgICA5MCw1LDAsMTAwLDYsMCwxMDAsNywwLDEzMiwwLDAsOTAsNiwwLDEwMCwKKyAgICA4LDAsMTAwLDksMCwxMzIsMCwwLDkwLDcsMCwxMDAsMTAsMCw4Myw0MSwKKyAgICAxMSwyMTgsMTYsOTUsNjgsMTE3LDEwOSwxMDksMTIxLDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsNzYsCisgICAgMTExLDk5LDEwNywxMjIsODYsNjUsMzIsMTE1LDEwNSwxMDksMTEyLDEwOCwxMDEsMzIsOTUsNzcsCisgICAgMTExLDEwMCwxMTcsMTA4LDEwMSw3NiwxMTEsOTksMTA3LDMyLDEwMSwxMTMsMTE3LDEwNSwxMTgsOTcsCisgICAgMTA4LDEwMSwxMTAsMTE2LDMyLDEwMiwxMTEsMTE0LDMyLDgwLDEyMSwxMTYsMTA0LDExMSwxMTAsMzIsCisgICAgOTgsMTE3LDEwNSwxMDgsMTAwLDExNSwzMiwxMTksMTA1LDExNiwxMDQsMTExLDExNywxMTYsMTAsMzIsCisgICAgMzIsMzIsMzIsMTA5LDExNywxMDgsMTE2LDEwNSw0NSwxMTYsMTA0LDExNCwxMDEsOTcsMTAwLDEwNSwKKyAgICAxMTAsMTAzLDMyLDExNSwxMTcsMTEyLDExMiwxMTEsMTE0LDExNiw0Niw5OSwyLDAsMCwwLAorICAgIDAsMCwwLDAsMiwwLDAsMCwyLDAsMCwwLDY3LDAsMCwwLAorICAgIDExNSwyMiwwLDAsMCwxMjQsMSwwLDEyNCwwLDAsOTUsMCwwLDEwMCwxLAorICAgIDAsMTI0LDAsMCw5NSwxLDAsMTAwLDAsMCw4Myw0MSwyLDc4LDExNCw4NCwKKyAgICAwLDAsMCw0MSwyLDExNCw2NywwLDAsMCwxMTQsODksMCwwLDAsNDEsCisgICAgMiwxMTQsNzEsMCwwLDAsMTE0LDY3LDAsMCwwLDExNCw0LDAsMCwwLAorICAgIDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCw3MiwwLDAsMCwyMzgsCisgICAgMCwwLDAsMTE1LDQsMCwwLDAsMCwxLDksMSwxMjIsMjUsOTUsNjgsCisgICAgMTE3LDEwOSwxMDksMTIxLDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsNzYsMTExLDk5LDEwNyw0Niw5NSwKKyAgICA5NSwxMDUsMTEwLDEwNSwxMTYsOTUsOTUsOTksMSwwLDAsMCwwLDAsMCwwLAorICAgIDEsMCwwLDAsMywwLDAsMCw2NywwLDAsMCwxMTUsMTksMCwwLAorICAgIDAsMTI0LDAsMCw0LDEwNiwwLDAsMTAwLDEsMCw1NSwyLDk1LDAsMCwKKyAgICAxMDAsMiwwLDgzLDQxLDMsNzgsMTE0LDI5LDAsMCwwLDg0LDQxLDEsMTE0LAorICAgIDg5LDAsMCwwLDQxLDEsMTE0LDcxLDAsMCwwLDExNCw0LDAsMCwwLAorICAgIDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCw5NywwLDAsMCwyNDIsCisgICAgMCwwLDAsMTE1LDQsMCwwLDAsMCwxLDE1LDEsMTIyLDI0LDk1LDY4LAorICAgIDExNywxMDksMTA5LDEyMSw3NywxMTEsMTAwLDExNywxMDgsMTAxLDc2LDExMSw5OSwxMDcsNDYsOTcsCisgICAgOTksMTEzLDExNywxMDUsMTE0LDEwMSw5OSwxLDAsMCwwLDAsMCwwLDAsMSwKKyAgICAwLDAsMCwzLDAsMCwwLDY3LDAsMCwwLDExNSw0NiwwLDAsMCwKKyAgICAxMjQsMCwwLDEwNiwwLDAsMTAwLDEsMCwxMDcsMiwwLDExNCwyNywwLDExNiwKKyAgICAxLDAsMTAwLDIsMCwxMzEsMSwwLDEzMCwxLDAsMTI0LDAsMCw0LDEwNiwKKyAgICAwLDAsMTAwLDMsMCw1NiwyLDk1LDAsMCwxMDAsMCwwLDgzLDQxLDQsCisgICAgNzgsMTE0LDg0LDAsMCwwLDEyMiwzMSw5OSw5NywxMTAsMTEwLDExMSwxMTYsMzIsMTE0LAorICAgIDEwMSwxMDgsMTAxLDk3LDExNSwxMDEsMzIsMTE3LDExMCw0NSw5Nyw5OSwxMTMsMTE3LDEwNSwxMTQsCisgICAgMTAxLDEwMCwzMiwxMDgsMTExLDk5LDEwNywxMTQsMjksMCwwLDAsNDEsMiwxMTQsODksCisgICAgMCwwLDAsMTE0LDk5LDAsMCwwLDQxLDEsMTE0LDcxLDAsMCwwLDExNCwKKyAgICA0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCw5OCwKKyAgICAwLDAsMCwyNDYsMCwwLDAsMTE1LDYsMCwwLDAsMCwxLDE1LDEsCisgICAgMTIsMSwxMjIsMjQsOTUsNjgsMTE3LDEwOSwxMDksMTIxLDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsCiAgICAgNzYsMTExLDk5LDEwNyw0NiwxMTQsMTAxLDEwOCwxMDEsOTcsMTE1LDEwMSw5OSwxLDAsMCwKICAgICAwLDAsMCwwLDAsMSwwLDAsMCw0LDAsMCwwLDY3LDAsMCwKICAgICAwLDExNSwyNSwwLDAsMCwxMDAsMSwwLDEwNiwwLDAsMTI0LDAsMCwxMDYsCiAgICAgMSwwLDExNiwyLDAsMTI0LDAsMCwxMzEsMSwwLDEzMSwyLDAsODMsNDEsCi0gICAgMiw3OCwxMjIsMjMsOTUsNzcsMTExLDEwMCwxMTcsMTA4LDEwMSw3NiwxMTEsOTksMTA3LDQwLAotICAgIDEyMywzMywxMTQsMTI1LDQxLDMyLDk3LDExNiwzMiwxMjMsMTI1LDQxLDMsMTE0LDQ3LDAsCi0gICAgMCwwLDExNCw2NywwLDAsMCwxMTQsNDgsMCwwLDAsNDEsMSwxMTQsNzEsCi0gICAgMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwKLSAgICAwLDAsMjE4LDgsOTUsOTUsMTE0LDEwMSwxMTIsMTE0LDk1LDk1LDIzMCwwLDAsMCwKLSAgICAxMTUsMiwwLDAsMCwwLDEsMTIyLDIwLDk1LDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsCi0gICAgNzYsMTExLDk5LDEwNyw0Niw5NSw5NSwxMTQsMTAxLDExMiwxMTQsOTUsOTUsNzgsNDEsOSwKLSAgICAxMTQsNTcsMCwwLDAsMTE0LDU2LDAsMCwwLDExNCw1OCwwLDAsMCwxMTQsCi0gICAgNTksMCwwLDAsMTE0LDcyLDAsMCwwLDExNCw5NiwwLDAsMCwxMTQsOTcsCisgICAgMiw3OCwxMjIsMjgsOTUsNjgsMTE3LDEwOSwxMDksMTIxLDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsCisgICAgNzYsMTExLDk5LDEwNyw0MCwxMjMsMzMsMTE0LDEyNSw0MSwzMiw5NywxMTYsMzIsMTIzLDEyNSwKKyAgICA0MSwzLDExNCw0NywwLDAsMCwxMTQsNjcsMCwwLDAsMTE0LDQ4LDAsMCwKKyAgICAwLDQxLDEsMTE0LDcxLDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsCisgICAgMCwwLDExNCw1LDAsMCwwLDExNCwxMDEsMCwwLDAsMjUxLDAsMCwwLAorICAgIDExNSwyLDAsMCwwLDAsMSwxMjIsMjUsOTUsNjgsMTE3LDEwOSwxMDksMTIxLDc3LAorICAgIDExMSwxMDAsMTE3LDEwOCwxMDEsNzYsMTExLDk5LDEwNyw0Niw5NSw5NSwxMTQsMTAxLDExMiwxMTQsCisgICAgOTUsOTUsNzgsNDEsOCwxMTQsNTcsMCwwLDAsMTE0LDU2LDAsMCwwLDExNCwKKyAgICA1OCwwLDAsMCwxMTQsNTksMCwwLDAsMTE0LDcyLDAsMCwwLDExNCw5NywKICAgICAwLDAsMCwxMTQsOTgsMCwwLDAsMTE0LDEwMSwwLDAsMCwxMTQsNCwwLAogICAgIDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsCi0gICAgMCwxMTQsODMsMCwwLDAsMTY2LDAsMCwwLDExNSwxMiwwLDAsMCwxMiwKLSAgICA0LDYsMiwxMiw4LDEyLDEyLDEyLDI1LDEyLDEzLDExNCw4MywwLDAsMCwKLSAgICA5OSwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwyLDAsMCwKLSAgICAwLDY0LDAsMCwwLDExNSw3MCwwLDAsMCwxMDEsMCwwLDkwLDEsMCwKLSAgICAxMDAsMCwwLDkwLDIsMCwxMDAsMSwwLDkwLDMsMCwxMDAsMiwwLDEwMCwKLSAgICAzLDAsMTMyLDAsMCw5MCw0LDAsMTAwLDQsMCwxMDAsNSwwLDEzMiwwLAotICAgIDAsOTAsNSwwLDEwMCw2LDAsMTAwLDcsMCwxMzIsMCwwLDkwLDYsMCwKLSAgICAxMDAsOCwwLDEwMCw5LDAsMTMyLDAsMCw5MCw3LDAsMTAwLDEwLDAsODMsCi0gICAgNDEsMTEsMjE4LDE2LDk1LDY4LDExNywxMDksMTA5LDEyMSw3NywxMTEsMTAwLDExNywxMDgsMTAxLAotICAgIDc2LDExMSw5OSwxMDcsMTIyLDg2LDY1LDMyLDExNSwxMDUsMTA5LDExMiwxMDgsMTAxLDMyLDk1LAotICAgIDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsNzYsMTExLDk5LDEwNywzMiwxMDEsMTEzLDExNywxMDUsMTE4LAotICAgIDk3LDEwOCwxMDEsMTEwLDExNiwzMiwxMDIsMTExLDExNCwzMiw4MCwxMjEsMTE2LDEwNCwxMTEsMTEwLAotICAgIDMyLDk4LDExNywxMDUsMTA4LDEwMCwxMTUsMzIsMTE5LDEwNSwxMTYsMTA0LDExMSwxMTcsMTE2LDEwLAotICAgIDMyLDMyLDMyLDMyLDEwOSwxMTcsMTA4LDExNiwxMDUsNDUsMTE2LDEwNCwxMTQsMTAxLDk3LDEwMCwKLSAgICAxMDUsMTEwLDEwMywzMiwxMTUsMTE3LDExMiwxMTIsMTExLDExNCwxMTYsNDYsOTksMiwwLDAsCi0gICAgMCwwLDAsMCwwLDIsMCwwLDAsMiwwLDAsMCw2NywwLDAsCi0gICAgMCwxMTUsMjIsMCwwLDAsMTI0LDEsMCwxMjQsMCwwLDk1LDAsMCwxMDAsCi0gICAgMSwwLDEyNCwwLDAsOTUsMSwwLDEwMCwwLDAsODMsNDEsMiw3OCwxMTQsCi0gICAgODQsMCwwLDAsNDEsMiwxMTQsNjcsMCwwLDAsMTE0LDg5LDAsMCwwLAotICAgIDQxLDIsMTE0LDcxLDAsMCwwLDExNCw2NywwLDAsMCwxMTQsNCwwLDAsCi0gICAgMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsNzIsMCwwLDAsCi0gICAgMjM4LDAsMCwwLDExNSw0LDAsMCwwLDAsMSw5LDEsMTIyLDI1LDk1LAotICAgIDY4LDExNywxMDksMTA5LDEyMSw3NywxMTEsMTAwLDExNywxMDgsMTAxLDc2LDExMSw5OSwxMDcsNDYsCi0gICAgOTUsOTUsMTA1LDExMCwxMDUsMTE2LDk1LDk1LDk5LDEsMCwwLDAsMCwwLDAsCi0gICAgMCwxLDAsMCwwLDMsMCwwLDAsNjcsMCwwLDAsMTE1LDE5LDAsCi0gICAgMCwwLDEyNCwwLDAsNCwxMDYsMCwwLDEwMCwxLDAsNTUsMiw5NSwwLAotICAgIDAsMTAwLDIsMCw4Myw0MSwzLDc4LDExNCwyOSwwLDAsMCw4NCw0MSwxLAotICAgIDExNCw4OSwwLDAsMCw0MSwxLDExNCw3MSwwLDAsMCwxMTQsNCwwLDAsCi0gICAgMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsOTcsMCwwLDAsCi0gICAgMjQyLDAsMCwwLDExNSw0LDAsMCwwLDAsMSwxNSwxLDEyMiwyNCw5NSwKLSAgICA2OCwxMTcsMTA5LDEwOSwxMjEsNzcsMTExLDEwMCwxMTcsMTA4LDEwMSw3NiwxMTEsOTksMTA3LDQ2LAotICAgIDk3LDk5LDExMywxMTcsMTA1LDExNCwxMDEsOTksMSwwLDAsMCwwLDAsMCwwLAotICAgIDEsMCwwLDAsMywwLDAsMCw2NywwLDAsMCwxMTUsNDksMCwwLAotICAgIDAsMTI0LDAsMCwxMDYsMCwwLDEwMCwxLDAsMTA3LDIsMCwxMTQsMzAsMCwKLSAgICAxMTYsMSwwLDEwMCwyLDAsMTMxLDEsMCwxMzAsMSwwLDExMCwwLDAsMTI0LAotICAgIDAsMCw0LDEwNiwwLDAsMTAwLDMsMCw1NiwyLDk1LDAsMCwxMDAsMCwKLSAgICAwLDgzLDQxLDQsNzgsMTE0LDg0LDAsMCwwLDEyMiwzMSw5OSw5NywxMTAsMTEwLAotICAgIDExMSwxMTYsMzIsMTE0LDEwMSwxMDgsMTAxLDk3LDExNSwxMDEsMzIsMTE3LDExMCw0NSw5Nyw5OSwKLSAgICAxMTMsMTE3LDEwNSwxMTQsMTAxLDEwMCwzMiwxMDgsMTExLDk5LDEwNywxMTQsMjksMCwwLDAsCi0gICAgNDEsMiwxMTQsODksMCwwLDAsMTE0LDk5LDAsMCwwLDQxLDEsMTE0LDcxLAotICAgIDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsCi0gICAgMCwwLDExNCw5OCwwLDAsMCwyNDYsMCwwLDAsMTE1LDYsMCwwLDAsCi0gICAgMCwxLDE1LDEsMTUsMSwxMjIsMjQsOTUsNjgsMTE3LDEwOSwxMDksMTIxLDc3LDExMSwKLSAgICAxMDAsMTE3LDEwOCwxMDEsNzYsMTExLDk5LDEwNyw0NiwxMTQsMTAxLDEwOCwxMDEsOTcsMTE1LDEwMSwKLSAgICA5OSwxLDAsMCwwLDAsMCwwLDAsMSwwLDAsMCw0LDAsMCwKLSAgICAwLDY3LDAsMCwwLDExNSwyNSwwLDAsMCwxMDAsMSwwLDEwNiwwLDAsCi0gICAgMTI0LDAsMCwxMDYsMSwwLDExNiwyLDAsMTI0LDAsMCwxMzEsMSwwLDEzMSwKLSAgICAyLDAsODMsNDEsMiw3OCwxMjIsMjgsOTUsNjgsMTE3LDEwOSwxMDksMTIxLDc3LDExMSwKLSAgICAxMDAsMTE3LDEwOCwxMDEsNzYsMTExLDk5LDEwNyw0MCwxMjMsMzMsMTE0LDEyNSw0MSwzMiw5NywKLSAgICAxMTYsMzIsMTIzLDEyNSw0MSwzLDExNCw0NywwLDAsMCwxMTQsNjcsMCwwLDAsCi0gICAgMTE0LDQ4LDAsMCwwLDQxLDEsMTE0LDcxLDAsMCwwLDExNCw0LDAsMCwKLSAgICAwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwxMDEsMCwwLDAsCi0gICAgMjUxLDAsMCwwLDExNSwyLDAsMCwwLDAsMSwxMjIsMjUsOTUsNjgsMTE3LAotICAgIDEwOSwxMDksMTIxLDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsNzYsMTExLDk5LDEwNyw0Niw5NSw5NSwKLSAgICAxMTQsMTAxLDExMiwxMTQsOTUsOTUsNzgsNDEsOCwxMTQsNTcsMCwwLDAsMTE0LDU2LAotICAgIDAsMCwwLDExNCw1OCwwLDAsMCwxMTQsNTksMCwwLDAsMTE0LDcyLDAsCi0gICAgMCwwLDExNCw5NywwLDAsMCwxMTQsOTgsMCwwLDAsMTE0LDEwMSwwLDAsCi0gICAgMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwKLSAgICAxMTQsNSwwLDAsMCwxMTQsMTAyLDAsMCwwLDIzNCwwLDAsMCwxMTUsMTAsCi0gICAgMCwwLDAsMTIsMiw2LDIsMTIsNCwxMiw0LDEyLDUsMTE0LDEwMiwwLAotICAgIDAsMCw5OSwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwyLAotICAgIDAsMCwwLDY0LDAsMCwwLDExNSw1MiwwLDAsMCwxMDEsMCwwLDkwLAotICAgIDEsMCwxMDAsMCwwLDkwLDIsMCwxMDAsMSwwLDEwMCwyLDAsMTMyLDAsCi0gICAgMCw5MCwzLDAsMTAwLDMsMCwxMDAsNCwwLDEzMiwwLDAsOTAsNCwwLAotICAgIDEwMCw1LDAsMTAwLDYsMCwxMzIsMCwwLDkwLDUsMCwxMDAsNywwLDgzLAotICAgIDQxLDgsMjE4LDE4LDk1LDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsNzYsMTExLDk5LDEwNyw3NywKLSAgICA5NywxMTAsOTcsMTAzLDEwMSwxMTQsOTksMiwwLDAsMCwwLDAsMCwwLDIsCi0gICAgMCwwLDAsMiwwLDAsMCw2NywwLDAsMCwxMTUsMjIsMCwwLDAsCi0gICAgMTI0LDEsMCwxMjQsMCwwLDk1LDAsMCwxMDAsMCwwLDEyNCwwLDAsOTUsCi0gICAgMSwwLDEwMCwwLDAsODMsNDEsMSw3OCw0MSwyLDExNCw3MCwwLDAsMCwKLSAgICAyMTgsNSw5NSwxMDgsMTExLDk5LDEwNyw0MSwyLDExNCw3MSwwLDAsMCwxMTQsNjcsCi0gICAgMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwKLSAgICAwLDAsMTE0LDcyLDAsMCwwLDEsMSwwLDAsMTE1LDQsMCwwLDAsCi0gICAgMCwxLDksMSwxMjIsMjcsOTUsNzcsMTExLDEwMCwxMTcsMTA4LDEwMSw3NiwxMTEsOTksCi0gICAgMTA3LDc3LDk3LDExMCw5NywxMDMsMTAxLDExNCw0Niw5NSw5NSwxMDUsMTEwLDEwNSwxMTYsOTUsCi0gICAgOTUsOTksMSwwLDAsMCwwLDAsMCwwLDEsMCwwLDAsMTAsMCwKLSAgICAwLDAsNjcsMCwwLDAsMTE1LDUzLDAsMCwwLDEyMiwyMiwwLDExNiwwLAotICAgIDAsMTI0LDAsMCwxMDYsMSwwLDEzMSwxLDAsMTI0LDAsMCw5NSwyLDAsCi0gICAgODcsMTAwLDAsMCwxMTYsMywwLDEwNiw0LDAsMTMxLDAsMCwxLDg4LDEyNCwKLSAgICAwLDAsMTA2LDIsMCwxMDYsNSwwLDEzMSwwLDAsMSwxMDAsMCwwLDgzLAotICAgIDQxLDEsNzgsNDEsNiwyMTgsMTYsOTUsMTAzLDEwMSwxMTYsOTUsMTA5LDExMSwxMDAsMTE3LAotICAgIDEwOCwxMDEsOTUsMTA4LDExMSw5OSwxMDcsMTE0LDcwLDAsMCwwLDExNCwxMDQsMCwwLAotICAgIDAsMjE4LDQsOTUsMTA1LDEwOSwxMTIsMjE4LDEyLDExNCwxMDEsMTA4LDEwMSw5NywxMTUsMTAxLAotICAgIDk1LDEwOCwxMTEsOTksMTA3LDExNCw5NywwLDAsMCw0MSwxLDExNCw3MSwwLDAsCi0gICAgMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwKLSAgICAxMTQsNzUsMCwwLDAsNSwxLDAsMCwxMTUsOCwwLDAsMCwwLDEsCi0gICAgMywxLDIyLDIsMTEsMSwxMjIsMjgsOTUsNzcsMTExLDEwMCwxMTcsMTA4LDEwMSw3NiwKLSAgICAxMTEsOTksMTA3LDc3LDk3LDExMCw5NywxMDMsMTAxLDExNCw0Niw5NSw5NSwxMDEsMTEwLDExNiwKLSAgICAxMDEsMTE0LDk1LDk1LDk5LDEsMCwwLDAsMCwwLDAsMCwzLDAsMCwKLSAgICAwLDEsMCwwLDAsNzksMCwwLDAsMTE1LDE3LDAsMCwwLDEyNCwwLAotICAgIDAsMTA2LDAsMCwxMDYsMSwwLDEzMSwwLDAsMSwxMDAsMCwwLDgzLDQxLAotICAgIDEsNzgsNDEsMiwxMTQsMTA0LDAsMCwwLDExNCw5OCwwLDAsMCw0MSwzLAotICAgIDExNCw3MSwwLDAsMCwxMTQsODAsMCwwLDAsMjE4LDYsMTA3LDExOSw5NywxMTQsCi0gICAgMTAzLDExNSwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsCi0gICAgMCwxMTQsODEsMCwwLDAsMTIsMSwwLDAsMTE1LDIsMCwwLDAsMCwKLSAgICAxLDEyMiwyNyw5NSw3NywxMTEsMTAwLDExNywxMDgsMTAxLDc2LDExMSw5OSwxMDcsNzcsOTcsCi0gICAgMTEwLDk3LDEwMywxMDEsMTE0LDQ2LDk1LDk1LDEwMSwxMjAsMTA1LDExNiw5NSw5NSw3OCw0MSwKLSAgICA2LDExNCw1NywwLDAsMCwxMTQsNTYsMCwwLDAsMTE0LDU4LDAsMCwwLAotICAgIDExNCw3MiwwLDAsMCwxMTQsNzUsMCwwLDAsMTE0LDgxLDAsMCwwLDExNCwKLSAgICA0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LAotICAgIDAsMCwwLDExNCwxMDMsMCwwLDAsMjU1LDAsMCwwLDExNSw2LDAsMCwKLSAgICAwLDEyLDIsMTIsNCwxMiw3LDExNCwxMDMsMCwwLDAsOTksMSwwLDAsCi0gICAgMCwwLDAsMCwwLDMsMCwwLDAsMTEsMCwwLDAsMywwLDAsCi0gICAgMCwxMTUsMTQyLDAsMCwwLDEwMCwxLDAsMTI1LDEsMCwxMjEsMTcsMCwxMTYsCi0gICAgMCwwLDEzNiwwLDAsMjUsMTMxLDAsMCwxMjUsMSwwLDg3LDExMCwxOCwwLAotICAgIDQsMTE2LDEsMCwxMDcsMTAsMCwxMTQsNDMsMCwxLDEsMSw4OSwxMTAsMSwKLSAgICAwLDg4LDEyNCwxLDAsMTAwLDEsMCwxMDcsOCwwLDExNCwxMzgsMCwxMTYsMiwKLSAgICAwLDEwMCwxLDAsMTA3LDgsMCwxMTQsODMsMCwxMTYsMywwLDEzNiwwLDAsCi0gICAgMTMxLDEsMCwxMjUsMSwwLDExMCwxMiwwLDExNiw0LDAsMTM2LDAsMCwxMzEsCi0gICAgMSwwLDEyNSwxLDAsMTM1LDAsMCwxMDIsMSwwLDEwMCwyLDAsMTAwLDMsCi0gICAgMCwxMzQsMCwwLDEyNSwyLDAsMTE2LDUsMCwxMDYsNiwwLDEyNCwxLDAsCi0gICAgMTI0LDIsMCwxMzEsMiwwLDExNiwwLDAsMTM2LDAsMCw2MCwxMTAsMCwwLAotICAgIDEyNCwxLDAsODMsNDEsNCwxMjIsMTA5LDcxLDEwMSwxMTYsMzIsMTExLDExNCwzMiw5OSwKLSAgICAxMTQsMTAxLDk3LDExNiwxMDEsMzIsMTE2LDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsCi0gICAgMzIsMTA4LDExMSw5OSwxMDcsMzIsMTAyLDExMSwxMTQsMzIsOTcsMzIsMTAzLDEwNSwxMTgsMTAxLAotICAgIDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMTAsOTcsMTA5LDEwMSw0NiwxMCwxMCwKLSAgICAzMiwzMiwzMiwzMiw4MywxMDQsMTExLDExNywxMDgsMTAwLDMyLDExMSwxMTAsMTA4LDEyMSwzMiwKLSAgICA5OCwxMDEsMzIsOTksOTcsMTA4LDEwOCwxMDEsMTAwLDMyLDExOSwxMDUsMTE2LDEwNCwzMiwxMTYsCi0gICAgMTA0LDEwMSwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwzMiwxMDgsMTExLDk5LDEwNywzMiwxMTYsCi0gICAgOTcsMTA3LDEwMSwxMTAsNDYsNzgsOTksMSwwLDAsMCwwLDAsMCwwLDEsCi0gICAgMCwwLDAsMiwwLDAsMCwxOSwwLDAsMCwxMTUsMTEsMCwwLDAsCi0gICAgMTE2LDAsMCwxMzYsMCwwLDYxLDEwMCwwLDAsODMsNDEsMSw3OCw0MSwxLAotICAgIDIxOCwxMyw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5NSwxMDgsMTExLDk5LDEwNywxMTUsNDEsCi0gICAgMSwxMTQsMzYsMCwwLDAsNDEsMSwxMTQsNjcsMCwwLDAsMTE0LDQsMCwKLSAgICAwLDAsMTE0LDUsMCwwLDAsMjE4LDIsOTksOTgsMzIsMSwwLDAsMTE1LAotICAgIDIsMCwwLDAsMCwxLDEyMiwyOCw5NSwxMDMsMTAxLDExNiw5NSwxMDksMTExLDEwMCwKLSAgICAxMTcsMTA4LDEwMSw5NSwxMDgsMTExLDk5LDEwNyw0Niw2MCwxMDgsMTExLDk5LDk3LDEwOCwxMTUsCi0gICAgNjIsNDYsOTksOTgsNDEsNywxMTQsMTA5LDAsMCwwLDExNCw3OSwwLDAsMCwKLSAgICAxMTQsODUsMCwwLDAsMTE0LDEwMiwwLDAsMCwxMTQsODMsMCwwLDAsMjE4LAotICAgIDgsOTUsMTE5LDEwMSw5NywxMDcsMTE0LDEwMSwxMDIsOTAsMywxMTQsMTAxLDEwMiw0MSwzLAotICAgIDExNCw2NywwLDAsMCwxMTQsODYsMCwwLDAsMTE0LDExMCwwLDAsMCwxMTQsCi0gICAgNCwwLDAsMCw0MSwxLDExNCw2NywwLDAsMCwxMTQsNSwwLDAsMCwKLSAgICAxMTQsMTA1LDAsMCwwLDE4LDEsMCwwLDExNSwyNCwwLDAsMCwwLDQsCi0gICAgNiwxLDMsMSwxNywxLDEzLDEsNSwxLDEyLDEsMTIsMSwxNSwyLAotICAgIDEyLDEsMTgsMiwyNSwxLDExNCwxMDUsMCwwLDAsOTksMSwwLDAsMCwKLSAgICAwLDAsMCwwLDIsMCwwLDAsMTEsMCwwLDAsNjcsMCwwLDAsCi0gICAgMTE1LDcxLDAsMCwwLDExNiwwLDAsMTI0LDAsMCwxMzEsMSwwLDEyNSwxLAotICAgIDAsMTE2LDEsMCwxMDYsMiwwLDEzMSwwLDAsMSwxMjEsMTQsMCwxMjQsMSwKLSAgICAwLDEwNiwzLDAsMTMxLDAsMCwxLDg3LDExMCwxOCwwLDQsMTE2LDQsMCwKLSAgICAxMDcsMTAsMCwxMTQsNTYsMCwxLDEsMSw4OSwxMTAsMTEsMCw4OCwxMjQsMSwKLSAgICAwLDEwNiw1LDAsMTMxLDAsMCwxLDEwMCwxLDAsODMsNDEsMiw5NywyMSwKLSAgICAxLDAsMCw4MiwxMDEsMTA4LDEwMSw5NywxMTUsMTAxLDMyLDExNiwxMDQsMTAxLDMyLDEwMywKLSAgICAxMDgsMTExLDk4LDk3LDEwOCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwzMiwxMDgsMTExLDk5LAotICAgIDEwNyw0NCwzMiw5NywxMTAsMTAwLDMyLDk3LDk5LDExMywxMTcsMTA1LDExNCwxMDEsMTE1LDMyLAotICAgIDExNiwxMDQsMTAxLDExMCwzMiwxMTQsMTAxLDEwOCwxMDEsOTcsMTE1LDEwMSwzMiwxMTYsMTA0LDEwMSwKLSAgICAxMCwzMiwzMiwzMiwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMDgsMTExLDk5LDEwNywKLSAgICAzMiwxMDIsMTExLDExNCwzMiw5NywzMiwxMDMsMTA1LDExOCwxMDEsMTEwLDMyLDEwOSwxMTEsMTAwLAotICAgIDExNywxMDgsMTAxLDMyLDExMCw5NywxMDksMTAxLDQ2LDEwLDMyLDMyLDMyLDMyLDg0LDEwNCwKLSAgICAxMDUsMTE1LDMyLDEwNSwxMTUsMzIsMTE3LDExNSwxMDEsMTAwLDMyLDExNiwxMTEsMzIsMTAxLDExMCwKLSAgICAxMTUsMTE3LDExNCwxMDEsMzIsOTcsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTA1LDExNSwKLSAgICAzMiw5OSwxMTEsMTA5LDExMiwxMDgsMTAxLDExNiwxMDEsMTA4LDEyMSwzMiwxMDUsMTEwLDEwNSwxMTYsCi0gICAgMTA1LDk3LDEwOCwxMDUsMTIyLDEwMSwxMDAsNDQsMzIsMTA1LDExMCwzMiwxMTYsMTA0LDEwMSwxMCwKLSAgICAzMiwzMiwzMiwzMiwxMDEsMTE4LDEwMSwxMTAsMTE2LDMyLDEwNSwxMTYsMzIsMTA1LDExNSwzMiwKLSAgICA5OCwxMDEsMTA1LDExMCwxMDMsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLDEwMCwzMiw5OCwKLSAgICAxMjEsMzIsOTcsMTEwLDExMSwxMTYsMTA0LDEwMSwxMTQsMzIsMTE2LDEwNCwxMTQsMTAxLDk3LDEwMCwKLSAgICA0NiwxMCwxMCwzMiwzMiwzMiwzMiw4MywxMDQsMTExLDExNywxMDgsMTAwLDMyLDExMSwxMTAsCi0gICAgMTA4LDEyMSwzMiw5OCwxMDEsMzIsOTksOTcsMTA4LDEwOCwxMDEsMTAwLDMyLDExOSwxMDUsMTE2LAotICAgIDEwNCwzMiwxMTYsMTA0LDEwMSwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwzMiwxMDgsMTExLDk5LAotICAgIDEwNywzMiwxMTYsOTcsMTA3LDEwMSwxMTAsNDYsNzgsNDEsNiwxMTQsMTA1LDAsMCwwLAotICAgIDExNCwxMDYsMCwwLDAsMTE0LDEwNywwLDAsMCwxMTQsOTcsMCwwLDAsMTE0LAotICAgIDgyLDAsMCwwLDExNCw5OCwwLDAsMCw0MSwyLDExNCw2NywwLDAsMCwKLSAgICAxMTQsODYsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LAotICAgIDUsMCwwLDAsMjE4LDE5LDk1LDEwOCwxMTEsOTksMTA3LDk1LDExNywxMTAsMTA4LDExMSwKLSAgICA5OSwxMDcsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzcsMSwwLDAsMTE1LDE0LDAsCi0gICAgMCwwLDAsNywxMiwxLDEwLDEsMywxLDE0LDEsMTMsMyw1LDIsCi0gICAgMTE0LDExMiwwLDAsMCw5OSwxLDAsMCwwLDAsMCwwLDAsMywwLAotICAgIDAsMCwzLDAsMCwwLDc5LDAsMCwwLDExNSwxMywwLDAsMCwxMjQsCi0gICAgMCwwLDEyNCwxLDAsMTI0LDIsMCwxNDIsMCwwLDgzLDQxLDEsOTcsNDYsCi0gICAgMSwwLDAsMTE0LDEwMSwxMDksMTExLDExOCwxMDEsOTUsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsCi0gICAgMTA4LDEwNSw5OCw5NSwxMDIsMTE0LDk3LDEwOSwxMDEsMTE1LDMyLDEwNSwxMTAsMzIsMTA1LDEwOSwKLSAgICAxMTIsMTExLDExNCwxMTYsNDYsOTksMzIsMTE5LDEwNSwxMDgsMTA4LDMyLDk3LDEwOCwxMTksOTcsCi0gICAgMTIxLDExNSwzMiwxMTQsMTAxLDEwOSwxMTEsMTE4LDEwMSwzMiwxMTUsMTAxLDExMywxMTcsMTAxLDExMCwKLSAgICA5OSwxMDEsMTE1LDEwLDMyLDMyLDMyLDMyLDExMSwxMDIsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwKLSAgICAxMTYsMTA4LDEwNSw5OCwzMiwxMDIsMTE0LDk3LDEwOSwxMDEsMTE1LDMyLDExNiwxMDQsOTcsMTE2LAotICAgIDMyLDEwMSwxMTAsMTAwLDMyLDExOSwxMDUsMTE2LDEwNCwzMiw5NywzMiw5OSw5NywxMDgsMTA4LAotICAgIDMyLDExNiwxMTEsMzIsMTE2LDEwNCwxMDUsMTE1LDMyLDEwMiwxMTcsMTEwLDk5LDExNiwxMDUsMTExLAotICAgIDExMCwxMCwxMCwzMiwzMiwzMiwzMiw4NSwxMTUsMTAxLDMyLDEwNSwxMTYsMzIsMTA1LDExMCwKLSAgICAxMTUsMTE2LDEwMSw5NywxMDAsMzIsMTExLDEwMiwzMiw5NywzMiwxMTAsMTExLDExNCwxMDksOTcsCi0gICAgMTA4LDMyLDk5LDk3LDEwOCwxMDgsMzIsMTA1LDExMCwzMiwxMTIsMTA4LDk3LDk5LDEwMSwxMTUsCi0gICAgMzIsMTE5LDEwNCwxMDEsMTE0LDEwMSwzMiwxMDUsMTEwLDk5LDEwOCwxMTcsMTAwLDEwNSwxMTAsMTAzLAotICAgIDMyLDExNiwxMDQsMTAxLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsMTAsMzIsCi0gICAgMzIsMzIsMzIsMTAyLDExNCw5NywxMDksMTAxLDExNSwzMiwxMDUsMTEwLDExNiwxMTQsMTExLDEwMCwKLSAgICAxMTcsOTksMTAxLDExNSwzMiwxMTcsMTEwLDExOSw5NywxMTAsMTE2LDEwMSwxMDAsMzIsMTEwLDExMSwKLSAgICAxMDUsMTE1LDEwMSwzMiwxMDUsMTEwLDExNiwxMTEsMzIsMTE2LDEwNCwxMDEsMzIsMTE2LDExNCw5NywKLSAgICA5OSwxMDEsOTgsOTcsOTksMTA3LDMyLDQwLDEwMSw0NiwxMDMsNDYsMzIsMTE5LDEwNCwxMDEsCi0gICAgMTEwLDMyLDEwMSwxMjAsMTAxLDk5LDExNywxMTYsMTA1LDExMCwxMDMsMTAsMzIsMzIsMzIsMzIsCi0gICAgMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsOTksMTExLDEwMCwxMDEsNDEsMTAsMzIsMzIsMzIsCi0gICAgMzIsMTE0LDQsMCwwLDAsNDEsMywyMTgsMSwxMDIsMTE0LDgwLDAsMCwwLAotICAgIDkwLDQsMTA3LDExOSwxMDAsMTE1LDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLAotICAgIDExNCw1LDAsMCwwLDIxOCwyNSw5NSw5OSw5NywxMDgsMTA4LDk1LDExOSwxMDUsMTE2LAotICAgIDEwNCw5NSwxMDIsMTE0LDk3LDEwOSwxMDEsMTE1LDk1LDExNCwxMDEsMTA5LDExMSwxMTgsMTAxLDEwMCwKLSAgICA1NywxLDAsMCwxMTUsMiwwLDAsMCwwLDgsMTE0LDExNCwwLDAsMCwKLSAgICAxMDUsMjM4LDEyLDAsMCwyMzMsMiwwLDAsMCwxMTQsMTMsMCwwLDAsMTE1LAotICAgIDIsMCwwLDAsMTMsMTAsOTAsMTEsOTUsOTUsMTEyLDEyMSw5OSw5Nyw5OSwxMDQsCi0gICAgMTAxLDk1LDk1LDEyMiwzLDQ2LDExMiwxMjEsMTIyLDQsNDYsMTEyLDEyMSw5OSwxMjIsNCwKLSAgICA0NiwxMTIsMTIxLDExMSw3OCw5OSwyLDAsMCwwLDAsMCwwLDAsMTEsMCwKLSAgICAwLDAsNiwwLDAsMCw2NywwLDAsMCwxMTUsMTkyLDAsMCwwLDEyNCwKLSAgICAxLDAsMTAwLDEsMCwxMDcsOCwwLDExNCwyNSwwLDExNiwwLDAsMTA2LDEsCi0gICAgMCwxMDYsMiwwLDEyLDExMCwzLDAsMTI0LDEsMCwxMjUsMiwwLDEyNCwyLAotICAgIDAsMTE0LDQ2LDAsMTE2LDMsMCwxMjUsMywwLDExMCw2LDAsMTE2LDQsMCwKLSAgICAxMjUsMywwLDExNiw1LDAsMTI0LDAsMCwxMzEsMSwwLDkyLDIsMCwxMjUsCi0gICAgNCwwLDEyNSw1LDAsMTI0LDUsMCwxMDYsNiwwLDEwMCwyLDAsMTMxLDEsCi0gICAgMCw5MiwzLDAsMTI1LDYsMCwxMjUsNywwLDEyNSw4LDAsMTE2LDAsMCwKLSAgICAxMDYsNywwLDEwNiw4LDAsMTI1LDksMCwxMjQsOSwwLDEwMCwxLDAsMTA3LAotICAgIDgsMCwxMTQsMTMzLDAsMTE2LDksMCwxMDAsMywwLDEzMSwxLDAsMTMwLDEsCi0gICAgMCwxMTAsMCwwLDEwMCw0LDAsMTA2LDEwLDAsMTI0LDYsMCwxMTQsMTUxLDAsCi0gICAgMTI0LDYsMCwxMTAsMywwLDEyNCw4LDAsMTI0LDcsMCwxMjQsOSwwLDEyNCwKLSAgICAzLDAsMTAwLDUsMCwyNSwxMDMsNCwwLDEzMSwxLDAsMTI1LDEwLDAsMTE2LAotICAgIDExLDAsMTI0LDQsMCwxMTYsMTIsMCwxMjQsMTAsMCwxMzEsMywwLDgzLDQxLAotICAgIDYsOTcsMjQ0LDEsMCwwLDcxLDEwNSwxMTgsMTAxLDExMCwzMiwxMTYsMTA0LDEwMSwzMiwKLSAgICAxMTIsOTcsMTE2LDEwNCwzMiwxMTYsMTExLDMyLDk3LDMyLDQ2LDExMiwxMjEsMzIsMTAyLDEwNSwKLSAgICAxMDgsMTAxLDQ0LDMyLDExNCwxMDEsMTE2LDExNywxMTQsMTEwLDMyLDExNiwxMDQsMTAxLDMyLDExMiwKLSAgICA5NywxMTYsMTA0LDMyLDExNiwxMTEsMzIsMTA1LDExNiwxMTUsMzIsNDYsMTEyLDEyMSw5OSw0NywKLSAgICA0NiwxMTIsMTIxLDExMSwzMiwxMDIsMTA1LDEwOCwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsCi0gICAgODQsMTA0LDEwMSwzMiw0NiwxMTIsMTIxLDMyLDEwMiwxMDUsMTA4LDEwMSwzMiwxMDAsMTExLDEwMSwKLSAgICAxMTUsMzIsMTEwLDExMSwxMTYsMzIsMTEwLDEwMSwxMDEsMTAwLDMyLDExNiwxMTEsMzIsMTAxLDEyMCwKLSAgICAxMDUsMTE1LDExNiw1OSwzMiwxMTYsMTA0LDEwNSwxMTUsMzIsMTE1LDEwNSwxMDksMTEyLDEwOCwxMjEsCi0gICAgMzIsMTE0LDEwMSwxMTYsMTE3LDExNCwxMTAsMTE1LDMyLDExNiwxMDQsMTAxLDMyLDExMiw5NywxMTYsCi0gICAgMTA0LDMyLDExNiwxMTEsMzIsMTE2LDEwNCwxMDEsMTAsMzIsMzIsMzIsMzIsNDYsMTEyLDEyMSwKLSAgICA5OSw0Nyw0NiwxMTIsMTIxLDExMSwzMiwxMDIsMTA1LDEwOCwxMDEsMzIsOTksOTcsMTA4LDk5LAotICAgIDExNywxMDgsOTcsMTE2LDEwMSwxMDAsMzIsOTcsMTE1LDMyLDEwNSwxMDIsMzIsMTE2LDEwNCwxMDEsCi0gICAgMzIsNDYsMTEyLDEyMSwzMiwxMDIsMTA1LDEwOCwxMDEsMzIsMTE5LDEwMSwxMTQsMTAxLDMyLDEwNSwKLSAgICAxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMDAsNDYsMzIsMzIsODQsMTA0LDEwMSwzMiwxMDEsMTIwLAotICAgIDExNiwxMDEsMTEwLDExNSwxMDUsMTExLDExMCwxMCwzMiwzMiwzMiwzMiwxMTksMTA1LDEwOCwxMDgsCi0gICAgMzIsOTgsMTAxLDMyLDQ2LDExMiwxMjEsOTksMzIsMTE3LDExMCwxMDgsMTAxLDExNSwxMTUsMzIsCi0gICAgMTE1LDEyMSwxMTUsNDYsMTAyLDEwOCw5NywxMDMsMTE1LDQ2LDExMSwxMTIsMTE2LDEwNSwxMDksMTA1LAotICAgIDEyMiwxMDEsMzIsMTA1LDExNSwzMiwxMTAsMTExLDExMCw0NSwxMjIsMTAxLDExNCwxMTEsNDQsMzIsCi0gICAgMTE2LDEwNCwxMDEsMTEwLDMyLDEwNSwxMTYsMzIsMTE5LDEwNSwxMDgsMTA4LDMyLDk4LDEwMSwzMiwKLSAgICA0NiwxMTIsMTIxLDExMSw0NiwxMCwxMCwzMiwzMiwzMiwzMiw3MywxMDIsMzIsMTAwLDEwMSwKLSAgICA5OCwxMTcsMTAzLDk1LDExMSwxMTgsMTAxLDExNCwxMTQsMTA1LDEwMCwxMDEsMzIsMTA1LDExNSwzMiwKLSAgICAxMTAsMTExLDExNiwzMiw3OCwxMTEsMTEwLDEwMSw0NCwzMiwxMTYsMTA0LDEwMSwxMTAsMzIsMTA1LAotICAgIDExNiwzMiwxMDksMTE3LDExNSwxMTYsMzIsOTgsMTAxLDMyLDk3LDMyLDk4LDExMSwxMTEsMTA4LAotICAgIDEwMSw5NywxMTAsMzIsOTcsMTEwLDEwMCwzMiwxMDUsMTE1LDMyLDExNywxMTUsMTAxLDEwMCwzMiwKLSAgICAxMDUsMTEwLDEwLDMyLDMyLDMyLDMyLDExMiwxMDgsOTcsOTksMTAxLDMyLDExMSwxMDIsMzIsCi0gICAgMTE1LDEyMSwxMTUsNDYsMTAyLDEwOCw5NywxMDMsMTE1LDQ2LDExMSwxMTIsMTE2LDEwNSwxMDksMTA1LAotICAgIDEyMiwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsNzMsMTAyLDMyLDExNSwxMjEsMTE1LDQ2LAotICAgIDEwNSwxMDksMTEyLDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDk3LDExNiwxMDUsMTExLDExMCw0Niw5OSwKLSAgICA5Nyw5OSwxMDQsMTAxLDk1LDExNiw5NywxMDMsMzIsMTA1LDExNSwzMiw3OCwxMTEsMTEwLDEwMSwKLSAgICAzMiwxMTYsMTA0LDEwMSwxMTAsMzIsNzgsMTExLDExNiw3MywxMDksMTEyLDEwOCwxMDEsMTA5LDEwMSwKLSAgICAxMTAsMTE2LDEwMSwxMDAsNjksMTE0LDExNCwxMTEsMTE0LDMyLDEwNSwxMTUsMzIsMTE0LDk3LDEwNSwKLSAgICAxMTUsMTAxLDEwMCw0NiwxMCwxMCwzMiwzMiwzMiwzMiw3OCwyMTgsMSw0NiwxMjIsMzYsCi0gICAgMTE1LDEyMSwxMTUsNDYsMTA1LDEwOSwxMTIsMTA4LDEwMSwxMDksMTAxLDExMCwxMTYsOTcsMTE2LDEwNSwKLSAgICAxMTEsMTEwLDQ2LDk5LDk3LDk5LDEwNCwxMDEsOTUsMTE2LDk3LDEwMywzMiwxMDUsMTE1LDMyLAotICAgIDc4LDExMSwxMTAsMTAxLDExNCwzMCwwLDAsMCwxMTQsODQsMCwwLDAsNDEsMTMsCi0gICAgMTE0LDcsMCwwLDAsMjE4LDUsMTAyLDEwOCw5NywxMDMsMTE1LDIxOCw4LDExMSwxMTIsCi0gICAgMTE2LDEwNSwxMDksMTA1LDEyMiwxMDEsMjE4LDIzLDY4LDY5LDY2LDg1LDcxLDk1LDY2LDg5LAotICAgIDg0LDY5LDY3LDc5LDY4LDY5LDk1LDgzLDg1LDcwLDcwLDczLDg4LDY5LDgzLDIxOCwKLSAgICAyNyw3OSw4MCw4NCw3Myw3Nyw3Myw5MCw2OSw2OCw5NSw2Niw4OSw4NCw2OSw2NywKLSAgICA3OSw2OCw2OSw5NSw4Myw4NSw3MCw3MCw3Myw4OCw2OSw4MywxMTQsMzgsMCwwLAotICAgIDAsMTE0LDMyLDAsMCwwLDIxOCwxNCwxMDUsMTA5LDExMiwxMDgsMTAxLDEwOSwxMDEsMTEwLAotICAgIDExNiw5NywxMTYsMTA1LDExMSwxMTAsMjE4LDksOTksOTcsOTksMTA0LDEwMSw5NSwxMTYsOTcsCi0gICAgMTAzLDIxOCwxOSw3OCwxMTEsMTE2LDczLDEwOSwxMTIsMTA4LDEwMSwxMDksMTAxLDExMCwxMTYsMTAxLAotICAgIDEwMCw2OSwxMTQsMTE0LDExMSwxMTQsMTE0LDI2LDAsMCwwLDExNCwyOCwwLDAsMCwKLSAgICAyMTgsOCw5NSw4MCw4OSw2Nyw2NSw2Nyw3Miw2OSw0MSwxMSwxMTQsMzUsMCwwLAotICAgIDAsOTAsMTQsMTAwLDEwMSw5OCwxMTcsMTAzLDk1LDExMSwxMTgsMTAxLDExNCwxMTQsMTA1LDEwMCwKLSAgICAxMDEsMjE4LDUsMTAwLDEwMSw5OCwxMTcsMTAzLDIxOCw4LDExNSwxMTcsMTAyLDEwMiwxMDUsMTIwLAotICAgIDEwMSwxMTUsMjE4LDQsMTA0LDEwMSw5NywxMDAsMTE0LDM3LDAsMCwwLDIxOCw0LDk4LAotICAgIDk3LDExNSwxMDEsMjE4LDMsMTE1LDEwMSwxMTIsMjE4LDQsMTE0LDEwMSwxMTUsMTE2LDkwLDMsCi0gICAgMTE2LDk3LDEwMywyMTgsOCwxMDIsMTA1LDEwOCwxMDEsMTEwLDk3LDEwOSwxMDEsMTE0LDQsMCwKLSAgICAwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDE3LDk5LDk3LAotICAgIDk5LDEwNCwxMDEsOTUsMTAyLDExNCwxMTEsMTA5LDk1LDExNSwxMTEsMTE3LDExNCw5OSwxMDEsMTgxLAotICAgIDEsMCwwLDExNSwyMiwwLDAsMCwwLDEzLDMxLDEsNiwxLDksMiwKLSAgICA2LDEsMTgsMSwyNCwxLDEyLDEsMTIsMSwxNSwxLDQzLDEsMTE0LDEzMiwKLSAgICAwLDAsMCw5OSwxLDAsMCwwLDAsMCwwLDAsNSwwLDAsMCwKLSAgICA1LDAsMCwwLDY3LDAsMCwwLDExNSwxOTMsMCwwLDAsMTE2LDAsMCwKLSAgICAxMDYsMSwwLDEwNiwyLDAsMTAwLDEsMCwxMDcsOCwwLDExNCwzMywwLDExNiwKLSAgICAzLDAsMTAwLDIsMCwxMzEsMSwwLDEzMCwxLDAsMTEwLDAsMCwxMTYsNCwKLSAgICAwLDEyNCwwLDAsMTMxLDEsMCw5MiwyLDAsMTI1LDEsMCwxMjUsMiwwLAotICAgIDExNiw0LDAsMTI0LDEsMCwxMzEsMSwwLDkyLDIsMCwxMjUsMSwwLDEyNSwKLSAgICAzLDAsMTI0LDMsMCwxMTYsNSwwLDEwNywzLDAsMTE0LDEwOCwwLDExNiw2LAotICAgIDAsMTAwLDMsMCwxMDYsNywwLDExNiw1LDAsMTI0LDAsMCwxMzEsMiwwLAotICAgIDEzMSwxLDAsMTMwLDEsMCwxMTAsMCwwLDEyNCwyLDAsMTA2LDgsMCwxMDAsCi0gICAgNCwwLDEzMSwxLDAsMTAwLDUsMCwxMDcsMywwLDExNCwxNTMsMCwxMTYsNiwKLSAgICAwLDEwMCw2LDAsMTA2LDcsMCwxMjQsMiwwLDEzMSwxLDAsMTMxLDEsMCwKLSAgICAxMzAsMSwwLDExMCwwLDAsMTI0LDIsMCwxMDYsOSwwLDEwMCw0LDAsMTMxLAotICAgIDEsMCwxMDAsNywwLDI1LDEyNSw0LDAsMTE2LDEwLDAsMTI0LDEsMCwxMjQsCi0gICAgNCwwLDExNiwxMSwwLDEwMCw3LDAsMjUsMjMsMTMxLDIsMCw4Myw0MSw4LAotICAgIDk3LDEyMSwxLDAsMCw3MSwxMDUsMTE4LDEwMSwxMTAsMzIsMTE2LDEwNCwxMDEsMzIsMTEyLAotICAgIDk3LDExNiwxMDQsMzIsMTE2LDExMSwzMiw5NywzMiw0NiwxMTIsMTIxLDk5LDQ2LDQ3LDQ2LAotICAgIDExMiwxMjEsMTExLDMyLDEwMiwxMDUsMTA4LDEwMSw0NCwzMiwxMTQsMTAxLDExNiwxMTcsMTE0LDExMCwKKyAgICAwLDExNCwxMDIsMCwwLDAsMjM0LDAsMCwwLDExNSwxMCwwLDAsMCwxMiwKKyAgICAyLDYsMiwxMiw0LDEyLDQsMTIsNSwxMTQsMTAyLDAsMCwwLDk5LDAsCisgICAgMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsNjQsCisgICAgMCwwLDAsMTE1LDUyLDAsMCwwLDEwMSwwLDAsOTAsMSwwLDEwMCwwLAorICAgIDAsOTAsMiwwLDEwMCwxLDAsMTAwLDIsMCwxMzIsMCwwLDkwLDMsMCwKKyAgICAxMDAsMywwLDEwMCw0LDAsMTMyLDAsMCw5MCw0LDAsMTAwLDUsMCwxMDAsCisgICAgNiwwLDEzMiwwLDAsOTAsNSwwLDEwMCw3LDAsODMsNDEsOCwyMTgsMTgsCisgICAgOTUsNzcsMTExLDEwMCwxMTcsMTA4LDEwMSw3NiwxMTEsOTksMTA3LDc3LDk3LDExMCw5NywxMDMsCisgICAgMTAxLDExNCw5OSwyLDAsMCwwLDAsMCwwLDAsMiwwLDAsMCwyLAorICAgIDAsMCwwLDY3LDAsMCwwLDExNSwyMiwwLDAsMCwxMjQsMSwwLDEyNCwKKyAgICAwLDAsOTUsMCwwLDEwMCwwLDAsMTI0LDAsMCw5NSwxLDAsMTAwLDAsCisgICAgMCw4Myw0MSwxLDc4LDQxLDIsMTE0LDcwLDAsMCwwLDIxOCw1LDk1LDEwOCwKKyAgICAxMTEsOTksMTA3LDQxLDIsMTE0LDcxLDAsMCwwLDExNCw2NywwLDAsMCwxMTQsCisgICAgNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsNzIsCisgICAgMCwwLDAsMSwxLDAsMCwxMTUsNCwwLDAsMCwwLDEsOSwxLAorICAgIDEyMiwyNyw5NSw3NywxMTEsMTAwLDExNywxMDgsMTAxLDc2LDExMSw5OSwxMDcsNzcsOTcsMTEwLAorICAgIDk3LDEwMywxMDEsMTE0LDQ2LDk1LDk1LDEwNSwxMTAsMTA1LDExNiw5NSw5NSw5OSwxLDAsCisgICAgMCwwLDAsMCwwLDAsMSwwLDAsMCwxMCwwLDAsMCw2NywwLAorICAgIDAsMCwxMTUsNTMsMCwwLDAsMTIyLDIyLDAsMTE2LDAsMCwxMjQsMCwwLAorICAgIDEwNiwxLDAsMTMxLDEsMCwxMjQsMCwwLDk1LDIsMCw4NywxMDAsMCwwLAorICAgIDExNiwzLDAsMTA2LDQsMCwxMzEsMCwwLDEsODgsMTI0LDAsMCwxMDYsMiwKKyAgICAwLDEwNiw1LDAsMTMxLDAsMCwxLDEwMCwwLDAsODMsNDEsMSw3OCw0MSwKKyAgICA2LDIxOCwxNiw5NSwxMDMsMTAxLDExNiw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5NSwxMDgsCisgICAgMTExLDk5LDEwNywxMTQsNzAsMCwwLDAsMTE0LDEwNCwwLDAsMCwyMTgsNCw5NSwKKyAgICAxMDUsMTA5LDExMiwyMTgsMTIsMTE0LDEwMSwxMDgsMTAxLDk3LDExNSwxMDEsOTUsMTA4LDExMSw5OSwKKyAgICAxMDcsMTE0LDk3LDAsMCwwLDQxLDEsMTE0LDcxLDAsMCwwLDExNCw0LDAsCisgICAgMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCw3NSwwLDAsCisgICAgMCw1LDEsMCwwLDExNSw4LDAsMCwwLDAsMSwzLDEsMjIsMiwKKyAgICAxMSwxLDEyMiwyOCw5NSw3NywxMTEsMTAwLDExNywxMDgsMTAxLDc2LDExMSw5OSwxMDcsNzcsCisgICAgOTcsMTEwLDk3LDEwMywxMDEsMTE0LDQ2LDk1LDk1LDEwMSwxMTAsMTE2LDEwMSwxMTQsOTUsOTUsCisgICAgOTksMSwwLDAsMCwwLDAsMCwwLDMsMCwwLDAsMSwwLDAsCisgICAgMCw3OSwwLDAsMCwxMTUsMTcsMCwwLDAsMTI0LDAsMCwxMDYsMCwwLAorICAgIDEwNiwxLDAsMTMxLDAsMCwxLDEwMCwwLDAsODMsNDEsMSw3OCw0MSwyLAorICAgIDExNCwxMDQsMCwwLDAsMTE0LDk4LDAsMCwwLDQxLDMsMTE0LDcxLDAsMCwKKyAgICAwLDExNCw4MCwwLDAsMCwyMTgsNiwxMDcsMTE5LDk3LDExNCwxMDMsMTE1LDExNCw0LAorICAgIDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCw4MSwwLAorICAgIDAsMCwxMiwxLDAsMCwxMTUsMiwwLDAsMCwwLDEsMTIyLDI3LDk1LAorICAgIDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsNzYsMTExLDk5LDEwNyw3Nyw5NywxMTAsOTcsMTAzLDEwMSwKKyAgICAxMTQsNDYsOTUsOTUsMTAxLDEyMCwxMDUsMTE2LDk1LDk1LDc4LDQxLDYsMTE0LDU3LDAsCisgICAgMCwwLDExNCw1NiwwLDAsMCwxMTQsNTgsMCwwLDAsMTE0LDcyLDAsMCwKKyAgICAwLDExNCw3NSwwLDAsMCwxMTQsODEsMCwwLDAsMTE0LDQsMCwwLDAsCisgICAgMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LAorICAgIDEwMywwLDAsMCwyNTUsMCwwLDAsMTE1LDYsMCwwLDAsMTIsMiwxMiwKKyAgICA0LDEyLDcsMTE0LDEwMywwLDAsMCw5OSwxLDAsMCwwLDAsMCwwLAorICAgIDAsMywwLDAsMCwxMSwwLDAsMCwzLDAsMCwwLDExNSwxMzksMCwKKyAgICAwLDAsMTAwLDEsMCwxMjUsMSwwLDEyMSwxNywwLDExNiwwLDAsMTM2LDAsCisgICAgMCwyNSwxMzEsMCwwLDEyNSwxLDAsODcsMTEwLDE4LDAsNCwxMTYsMSwwLAorICAgIDEwNywxMCwwLDExNCw0MywwLDEsMSwxLDg5LDExMCwxLDAsODgsMTI0LDEsCisgICAgMCwxMDAsMSwwLDEwNyw4LDAsMTE0LDEzNSwwLDExNiwyLDAsMTAwLDEsMCwKKyAgICAxMDcsOCwwLDExNCw4MywwLDExNiwzLDAsMTM2LDAsMCwxMzEsMSwwLDEyNSwKKyAgICAxLDAsMTEwLDEyLDAsMTE2LDQsMCwxMzYsMCwwLDEzMSwxLDAsMTI1LDEsCisgICAgMCwxMzUsMCwwLDEwMiwxLDAsMTAwLDIsMCwxMDAsMywwLDEzNCwwLDAsCisgICAgMTI1LDIsMCwxMTYsNSwwLDEwNiw2LDAsMTI0LDEsMCwxMjQsMiwwLDEzMSwKKyAgICAyLDAsMTE2LDAsMCwxMzYsMCwwLDYwLDEyNCwxLDAsODMsNDEsNCwxMjIsCisgICAgMTA5LDcxLDEwMSwxMTYsMzIsMTExLDExNCwzMiw5OSwxMTQsMTAxLDk3LDExNiwxMDEsMzIsMTE2LAorICAgIDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTA4LDExMSw5OSwxMDcsMzIsMTAyLAorICAgIDExMSwxMTQsMzIsOTcsMzIsMTAzLDEwNSwxMTgsMTAxLDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LAorICAgIDEwMSwzMiwxMTAsOTcsMTA5LDEwMSw0NiwxMCwxMCwzMiwzMiwzMiwzMiw4MywxMDQsMTExLAorICAgIDExNywxMDgsMTAwLDMyLDExMSwxMTAsMTA4LDEyMSwzMiw5OCwxMDEsMzIsOTksOTcsMTA4LDEwOCwKKyAgICAxMDEsMTAwLDMyLDExOSwxMDUsMTE2LDEwNCwzMiwxMTYsMTA0LDEwMSwzMiwxMDUsMTA5LDExMiwxMTEsCisgICAgMTE0LDExNiwzMiwxMDgsMTExLDk5LDEwNywzMiwxMTYsOTcsMTA3LDEwMSwxMTAsNDYsNzgsOTksCisgICAgMSwwLDAsMCwwLDAsMCwwLDEsMCwwLDAsMiwwLDAsMCwKKyAgICAxOSwwLDAsMCwxMTUsMTEsMCwwLDAsMTE2LDAsMCwxMzYsMCwwLDYxLAorICAgIDEwMCwwLDAsODMsNDEsMSw3OCw0MSwxLDIxOCwxMyw5NSwxMDksMTExLDEwMCwxMTcsCisgICAgMTA4LDEwMSw5NSwxMDgsMTExLDk5LDEwNywxMTUsNDEsMSwxMTQsMzYsMCwwLDAsNDEsCisgICAgMSwxMTQsNjcsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsCisgICAgMjE4LDIsOTksOTgsMzIsMSwwLDAsMTE1LDIsMCwwLDAsMCwxLDEyMiwKKyAgICAyOCw5NSwxMDMsMTAxLDExNiw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5NSwxMDgsMTExLDk5LAorICAgIDEwNyw0Niw2MCwxMDgsMTExLDk5LDk3LDEwOCwxMTUsNjIsNDYsOTksOTgsNDEsNywxMTQsCisgICAgMTA5LDAsMCwwLDExNCw3OSwwLDAsMCwxMTQsODUsMCwwLDAsMTE0LDEwMiwKKyAgICAwLDAsMCwxMTQsODMsMCwwLDAsMjE4LDgsOTUsMTE5LDEwMSw5NywxMDcsMTE0LAorICAgIDEwMSwxMDIsOTAsMywxMTQsMTAxLDEwMiw0MSwzLDExNCw2NywwLDAsMCwxMTQsODYsCisgICAgMCwwLDAsMTE0LDExMCwwLDAsMCwxMTQsNCwwLDAsMCw0MSwxLDExNCwKKyAgICA2NywwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMTA1LDAsMCwwLDE4LDEsCisgICAgMCwwLDExNSwyNCwwLDAsMCwwLDQsNiwxLDMsMSwxNywxLDEzLAorICAgIDEsNSwxLDEyLDEsMTIsMSwxNSwyLDEyLDEsMTgsMiwyMiwxLDExNCwKKyAgICAxMDUsMCwwLDAsOTksMSwwLDAsMCwwLDAsMCwwLDIsMCwwLAorICAgIDAsMTEsMCwwLDAsNjcsMCwwLDAsMTE1LDcxLDAsMCwwLDExNiwwLAorICAgIDAsMTI0LDAsMCwxMzEsMSwwLDEyNSwxLDAsMTE2LDEsMCwxMDYsMiwwLAorICAgIDEzMSwwLDAsMSwxMjEsMTQsMCwxMjQsMSwwLDEwNiwzLDAsMTMxLDAsMCwKKyAgICAxLDg3LDExMCwxOCwwLDQsMTE2LDQsMCwxMDcsMTAsMCwxMTQsNTYsMCwxLAorICAgIDEsMSw4OSwxMTAsMTEsMCw4OCwxMjQsMSwwLDEwNiw1LDAsMTMxLDAsMCwKKyAgICAxLDEwMCwxLDAsODMsNDEsMiw5NywyMSwxLDAsMCw4MiwxMDEsMTA4LDEwMSwKKyAgICA5NywxMTUsMTAxLDMyLDExNiwxMDQsMTAxLDMyLDEwMywxMDgsMTExLDk4LDk3LDEwOCwzMiwxMDUsCisgICAgMTA5LDExMiwxMTEsMTE0LDExNiwzMiwxMDgsMTExLDk5LDEwNyw0NCwzMiw5NywxMTAsMTAwLDMyLAorICAgIDk3LDk5LDExMywxMTcsMTA1LDExNCwxMDEsMTE1LDMyLDExNiwxMDQsMTAxLDExMCwzMiwxMTQsMTAxLAorICAgIDEwOCwxMDEsOTcsMTE1LDEwMSwzMiwxMTYsMTA0LDEwMSwxMCwzMiwzMiwzMiwzMiwxMDksMTExLAorICAgIDEwMCwxMTcsMTA4LDEwMSwzMiwxMDgsMTExLDk5LDEwNywzMiwxMDIsMTExLDExNCwzMiw5NywzMiwKKyAgICAxMDMsMTA1LDExOCwxMDEsMTEwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDExMCw5NywxMDksCisgICAgMTAxLDQ2LDEwLDMyLDMyLDMyLDMyLDg0LDEwNCwxMDUsMTE1LDMyLDEwNSwxMTUsMzIsMTE3LAorICAgIDExNSwxMDEsMTAwLDMyLDExNiwxMTEsMzIsMTAxLDExMCwxMTUsMTE3LDExNCwxMDEsMzIsOTcsMzIsCisgICAgMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTA1LDExNSwzMiw5OSwxMTEsMTA5LDExMiwxMDgsMTAxLAorICAgIDExNiwxMDEsMTA4LDEyMSwzMiwxMDUsMTEwLDEwNSwxMTYsMTA1LDk3LDEwOCwxMDUsMTIyLDEwMSwxMDAsCisgICAgNDQsMzIsMTA1LDExMCwzMiwxMTYsMTA0LDEwMSwxMCwzMiwzMiwzMiwzMiwxMDEsMTE4LDEwMSwKKyAgICAxMTAsMTE2LDMyLDEwNSwxMTYsMzIsMTA1LDExNSwzMiw5OCwxMDEsMTA1LDExMCwxMDMsMzIsMTA1LAorICAgIDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLDEwMCwzMiw5OCwxMjEsMzIsOTcsMTEwLDExMSwxMTYsMTA0LAorICAgIDEwMSwxMTQsMzIsMTE2LDEwNCwxMTQsMTAxLDk3LDEwMCw0NiwxMCwxMCwzMiwzMiwzMiwzMiwKKyAgICA4MywxMDQsMTExLDExNywxMDgsMTAwLDMyLDExMSwxMTAsMTA4LDEyMSwzMiw5OCwxMDEsMzIsOTksCisgICAgOTcsMTA4LDEwOCwxMDEsMTAwLDMyLDExOSwxMDUsMTE2LDEwNCwzMiwxMTYsMTA0LDEwMSwzMiwxMDUsCisgICAgMTA5LDExMiwxMTEsMTE0LDExNiwzMiwxMDgsMTExLDk5LDEwNywzMiwxMTYsOTcsMTA3LDEwMSwxMTAsCisgICAgNDYsNzgsNDEsNiwxMTQsMTA1LDAsMCwwLDExNCwxMDYsMCwwLDAsMTE0LDEwNywKKyAgICAwLDAsMCwxMTQsOTcsMCwwLDAsMTE0LDgyLDAsMCwwLDExNCw5OCwwLAorICAgIDAsMCw0MSwyLDExNCw2NywwLDAsMCwxMTQsODYsMCwwLDAsMTE0LDQsCisgICAgMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDE5LDk1LAorICAgIDEwOCwxMTEsOTksMTA3LDk1LDExNywxMTAsMTA4LDExMSw5OSwxMDcsOTUsMTA5LDExMSwxMDAsMTE3LAorICAgIDEwOCwxMDEsMzcsMSwwLDAsMTE1LDE0LDAsMCwwLDAsNywxMiwxLDEwLAorICAgIDEsMywxLDE0LDEsMTMsMyw1LDIsMTE0LDExMiwwLDAsMCw5OSwxLAorICAgIDAsMCwwLDAsMCwwLDAsMywwLDAsMCwzLDAsMCwwLDc5LAorICAgIDAsMCwwLDExNSwxMywwLDAsMCwxMjQsMCwwLDEyNCwxLDAsMTI0LDIsCisgICAgMCwxNDIsMCwwLDgzLDQxLDEsOTcsNDYsMSwwLDAsMTE0LDEwMSwxMDksMTExLAorICAgIDExOCwxMDEsOTUsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LDEwNSw5OCw5NSwxMDIsMTE0LDk3LAorICAgIDEwOSwxMDEsMTE1LDMyLDEwNSwxMTAsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsNDYsOTksMzIsCisgICAgMTE5LDEwNSwxMDgsMTA4LDMyLDk3LDEwOCwxMTksOTcsMTIxLDExNSwzMiwxMTQsMTAxLDEwOSwxMTEsCisgICAgMTE4LDEwMSwzMiwxMTUsMTAxLDExMywxMTcsMTAxLDExMCw5OSwxMDEsMTE1LDEwLDMyLDMyLDMyLAorICAgIDMyLDExMSwxMDIsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LDEwNSw5OCwzMiwxMDIsMTE0LAorICAgIDk3LDEwOSwxMDEsMTE1LDMyLDExNiwxMDQsOTcsMTE2LDMyLDEwMSwxMTAsMTAwLDMyLDExOSwxMDUsCisgICAgMTE2LDEwNCwzMiw5NywzMiw5OSw5NywxMDgsMTA4LDMyLDExNiwxMTEsMzIsMTE2LDEwNCwxMDUsCisgICAgMTE1LDMyLDEwMiwxMTcsMTEwLDk5LDExNiwxMDUsMTExLDExMCwxMCwxMCwzMiwzMiwzMiwzMiwKKyAgICA4NSwxMTUsMTAxLDMyLDEwNSwxMTYsMzIsMTA1LDExMCwxMTUsMTE2LDEwMSw5NywxMDAsMzIsMTExLAorICAgIDEwMiwzMiw5NywzMiwxMTAsMTExLDExNCwxMDksOTcsMTA4LDMyLDk5LDk3LDEwOCwxMDgsMzIsCisgICAgMTA1LDExMCwzMiwxMTIsMTA4LDk3LDk5LDEwMSwxMTUsMzIsMTE5LDEwNCwxMDEsMTE0LDEwMSwzMiwKKyAgICAxMDUsMTEwLDk5LDEwOCwxMTcsMTAwLDEwNSwxMTAsMTAzLDMyLDExNiwxMDQsMTAxLDMyLDEwNSwxMDksCisgICAgMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsMTAsMzIsMzIsMzIsMzIsMTAyLDExNCw5NywxMDksCisgICAgMTAxLDExNSwzMiwxMDUsMTEwLDExNiwxMTQsMTExLDEwMCwxMTcsOTksMTAxLDExNSwzMiwxMTcsMTEwLAorICAgIDExOSw5NywxMTAsMTE2LDEwMSwxMDAsMzIsMTEwLDExMSwxMDUsMTE1LDEwMSwzMiwxMDUsMTEwLDExNiwKKyAgICAxMTEsMzIsMTE2LDEwNCwxMDEsMzIsMTE2LDExNCw5Nyw5OSwxMDEsOTgsOTcsOTksMTA3LDMyLAorICAgIDQwLDEwMSw0NiwxMDMsNDYsMzIsMTE5LDEwNCwxMDEsMTEwLDMyLDEwMSwxMjAsMTAxLDk5LDExNywKKyAgICAxMTYsMTA1LDExMCwxMDMsMTAsMzIsMzIsMzIsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsCisgICAgOTksMTExLDEwMCwxMDEsNDEsMTAsMzIsMzIsMzIsMzIsMTE0LDQsMCwwLDAsNDEsCisgICAgMywyMTgsMSwxMDIsMTE0LDgwLDAsMCwwLDkwLDQsMTA3LDExOSwxMDAsMTE1LDExNCwKKyAgICA0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwyNSwKKyAgICA5NSw5OSw5NywxMDgsMTA4LDk1LDExOSwxMDUsMTE2LDEwNCw5NSwxMDIsMTE0LDk3LDEwOSwxMDEsCisgICAgMTE1LDk1LDExNCwxMDEsMTA5LDExMSwxMTgsMTAxLDEwMCw1NywxLDAsMCwxMTUsMiwwLAorICAgIDAsMCwwLDgsMTE0LDExNCwwLDAsMCwxMDUsMjQ4LDEyLDAsMCwyMzMsMiwKKyAgICAwLDAsMCwxMTQsMTMsMCwwLDAsMTE1LDIsMCwwLDAsMTMsMTAsOTAsCisgICAgMTEsOTUsOTUsMTEyLDEyMSw5OSw5Nyw5OSwxMDQsMTAxLDk1LDk1LDEyMiwzLDQ2LDExMiwKKyAgICAxMjEsMTIyLDQsNDYsMTEyLDEyMSw5OSwxMjIsNCw0NiwxMTIsMTIxLDExMSw3OCw5OSwyLAorICAgIDAsMCwwLDAsMCwwLDAsMTEsMCwwLDAsNiwwLDAsMCw2NywKKyAgICAwLDAsMCwxMTUsMTg5LDAsMCwwLDEyNCwxLDAsMTAwLDEsMCwxMDcsOCwKKyAgICAwLDExNCwyNSwwLDExNiwwLDAsMTA2LDEsMCwxMDYsMiwwLDEyLDExMCwzLAorICAgIDAsMTI0LDEsMCwxMjUsMiwwLDEyNCwyLDAsMTE0LDQ2LDAsMTE2LDMsMCwKKyAgICAxMjUsMywwLDExMCw2LDAsMTE2LDQsMCwxMjUsMywwLDExNiw1LDAsMTI0LAorICAgIDAsMCwxMzEsMSwwLDkyLDIsMCwxMjUsNCwwLDEyNSw1LDAsMTI0LDUsCisgICAgMCwxMDYsNiwwLDEwMCwyLDAsMTMxLDEsMCw5MiwzLDAsMTI1LDYsMCwKKyAgICAxMjUsNywwLDEyNSw4LDAsMTE2LDAsMCwxMDYsNywwLDEwNiw4LDAsMTI1LAorICAgIDksMCwxMjQsOSwwLDEwMCwxLDAsMTA3LDgsMCwxMTQsMTMwLDAsMTE2LDksCisgICAgMCwxMDAsMywwLDEzMSwxLDAsMTMwLDEsMCwxMDAsNCwwLDEwNiwxMCwwLAorICAgIDEyNCw2LDAsMTE0LDE0OCwwLDEyNCw2LDAsMTEwLDMsMCwxMjQsOCwwLDEyNCwKKyAgICA3LDAsMTI0LDksMCwxMjQsMywwLDEwMCw1LDAsMjUsMTAzLDQsMCwxMzEsCisgICAgMSwwLDEyNSwxMCwwLDExNiwxMSwwLDEyNCw0LDAsMTE2LDEyLDAsMTI0LDEwLAorICAgIDAsMTMxLDMsMCw4Myw0MSw2LDk3LDI0NCwxLDAsMCw3MSwxMDUsMTE4LDEwMSwKKyAgICAxMTAsMzIsMTE2LDEwNCwxMDEsMzIsMTEyLDk3LDExNiwxMDQsMzIsMTE2LDExMSwzMiw5NywzMiwKKyAgICA0NiwxMTIsMTIxLDMyLDEwMiwxMDUsMTA4LDEwMSw0NCwzMiwxMTQsMTAxLDExNiwxMTcsMTE0LDExMCwKICAgICAzMiwxMTYsMTA0LDEwMSwzMiwxMTIsOTcsMTE2LDEwNCwzMiwxMTYsMTExLDMyLDEwNSwxMTYsMTE1LAotICAgIDMyLDQ2LDExMiwxMjEsMzIsMTAyLDEwNSwxMDgsMTAxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLAotICAgIDg0LDEwNCwxMDEsMzIsNDYsMTEyLDEyMSw5OSw0Nyw0NiwxMTIsMTIxLDExMSwzMiwxMDIsMTA1LAorICAgIDMyLDQ2LDExMiwxMjEsOTksNDcsNDYsMTEyLDEyMSwxMTEsMzIsMTAyLDEwNSwxMDgsMTAxLDQ2LAorICAgIDEwLDEwLDMyLDMyLDMyLDMyLDg0LDEwNCwxMDEsMzIsNDYsMTEyLDEyMSwzMiwxMDIsMTA1LAogICAgIDEwOCwxMDEsMzIsMTAwLDExMSwxMDEsMTE1LDMyLDExMCwxMTEsMTE2LDMyLDExMCwxMDEsMTAxLDEwMCwKICAgICAzMiwxMTYsMTExLDMyLDEwMSwxMjAsMTA1LDExNSwxMTYsNTksMzIsMTE2LDEwNCwxMDUsMTE1LDMyLAogICAgIDExNSwxMDUsMTA5LDExMiwxMDgsMTIxLDMyLDExNCwxMDEsMTE2LDExNywxMTQsMTEwLDExNSwzMiwxMTYsCi0gICAgMTA0LDEwMSwzMiwxMTIsOTcsMTE2LDEwNCwzMiwxMTYsMTExLDEwLDMyLDMyLDMyLDMyLDExNiwKLSAgICAxMDQsMTAxLDMyLDQ2LDExMiwxMjEsMzIsMTAyLDEwNSwxMDgsMTAxLDMyLDk5LDk3LDEwOCw5OSwKLSAgICAxMTcsMTA4LDk3LDExNiwxMDEsMTAwLDMyLDExNiwxMTEsMzIsOTksMTExLDExNCwxMTQsMTAxLDExNSwKLSAgICAxMTIsMTExLDExMCwxMDAsMzIsMTE2LDExMSwzMiwxMTYsMTA0LDEwMSwzMiw0NiwxMTIsMTIxLDk5LAotICAgIDQ3LDQ2LDExMiwxMjEsMTExLDMyLDEwMiwxMDUsMTA4LDEwMSw0NiwzMiwzMiw3MywxMDIsMzIsCi0gICAgMTEyLDk3LDExNiwxMDQsMzIsMTAwLDExMSwxMDEsMTE1LDEwLDMyLDMyLDMyLDMyLDExMCwxMTEsCi0gICAgMTE2LDMyLDk5LDExMSwxMTAsMTAyLDExMSwxMTQsMTA5LDMyLDExNiwxMTEsMzIsODAsNjksODAsCi0gICAgMzIsNTEsNDksNTIsNTUsMzIsMTAyLDExMSwxMTQsMTA5LDk3LDExNiw0NCwzMiw4Niw5NywKLSAgICAxMDgsMTE3LDEwMSw2OSwxMTQsMTE0LDExMSwxMTQsMzIsMTE5LDEwNSwxMDgsMTA4LDMyLDk4LDEwMSwKLSAgICAzMiwxMTQsOTcsMTA1LDExNSwxMDEsMTAwLDQ2LDMyLDczLDEwMiwxMCwzMiwzMiwzMiwzMiwKLSAgICAxMTUsMTIxLDExNSw0NiwxMDUsMTA5LDExMiwxMDgsMTAxLDEwOSwxMDEsMTEwLDExNiw5NywxMTYsMTA1LAotICAgIDExMSwxMTAsNDYsOTksOTcsOTksMTA0LDEwMSw5NSwxMTYsOTcsMTAzLDMyLDEwNSwxMTUsMzIsCi0gICAgNzgsMTExLDExMCwxMDEsMzIsMTE2LDEwNCwxMDEsMTEwLDMyLDc4LDExMSwxMTYsNzMsMTA5LDExMiwKLSAgICAxMDgsMTAxLDEwOSwxMDEsMTEwLDExNiwxMDEsMTAwLDY5LDExNCwxMTQsMTExLDExNCwzMiwxMDUsMTE1LAotICAgIDMyLDExNCw5NywxMDUsMTE1LDEwMSwxMDAsNDYsMTAsMTAsMzIsMzIsMzIsMzIsNzgsMTIyLAotICAgIDM2LDExNSwxMjEsMTE1LDQ2LDEwNSwxMDksMTEyLDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDk3LDExNiwKLSAgICAxMDUsMTExLDExMCw0Niw5OSw5Nyw5OSwxMDQsMTAxLDk1LDExNiw5NywxMDMsMzIsMTA1LDExNSwKLSAgICAzMiw3OCwxMTEsMTEwLDEwMSwxMjIsMzcsMTIzLDEyNSwzMiwxMTAsMTExLDExNiwzMiw5OCwxMTEsCi0gICAgMTE2LDExNiwxMTEsMTA5LDQ1LDEwOCwxMDEsMTE4LDEwMSwxMDgsMzIsMTAwLDEwNSwxMTQsMTAxLDk5LAotICAgIDExNiwxMTEsMTE0LDEyMSwzMiwxMDUsMTEwLDMyLDEyMywzMywxMTQsMTI1LDExNCwxMTYsMCwwLAotICAgIDAsMTE0LDExNSwwLDAsMCwxMjIsMjgsMTAxLDEyMCwxMTIsMTAxLDk5LDExNiwxMDEsMTAwLAotICAgIDMyLDExMSwxMTAsMTA4LDEyMSwzMiw1MCwzMiwxMDAsMTExLDExNiwxMTUsMzIsMTA1LDExMCwzMiwKLSAgICAxMjMsMzMsMTE0LDEyNSwxMTQsODQsMCwwLDAsNDEsMTIsMTE0LDcsMCwwLDAsCi0gICAgMTE0LDEyMSwwLDAsMCwxMTQsMTIyLDAsMCwwLDExNCwxMjMsMCwwLDAsMTE0LAotICAgIDM4LDAsMCwwLDExNCwxMjQsMCwwLDAsMjE4LDEwLDg2LDk3LDEwOCwxMTcsMTAxLAotICAgIDY5LDExNCwxMTQsMTExLDExNCwxMTQsNDcsMCwwLDAsMTE0LDg5LDAsMCwwLDIxOCwKLSAgICA5LDExMiw5NywxMTQsMTE2LDEwNSwxMTYsMTA1LDExMSwxMTAsMTE0LDI4LDAsMCwwLDIxOCwKLSAgICAxNSw4Myw3OSw4NSw4Miw2Nyw2OSw5NSw4Myw4NSw3MCw3MCw3Myw4OCw2OSw4MywKLSAgICA0MSw1LDExNCwzNSwwLDAsMCwxMTQsMTI3LDAsMCwwLDkwLDE2LDExMiwxMjEsCi0gICAgOTksOTcsOTksMTA0LDEwMSw5NSwxMDIsMTA1LDEwOCwxMDEsMTEwLDk3LDEwOSwxMDEsOTAsNywKLSAgICAxMTIsMTIxLDk5LDk3LDk5LDEwNCwxMDEsOTAsMTMsOTgsOTcsMTE1LDEwMSw5NSwxMDIsMTA1LAotICAgIDEwOCwxMDEsMTEwLDk3LDEwOSwxMDEsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsCi0gICAgMTE0LDUsMCwwLDAsMjE4LDE3LDExNSwxMTEsMTE3LDExNCw5OSwxMDEsOTUsMTAyLDExNCwKLSAgICAxMTEsMTA5LDk1LDk5LDk3LDk5LDEwNCwxMDEsMjA4LDEsMCwwLDExNSwyNCwwLDAsCi0gICAgMCwwLDksMTgsMSwxNSwxLDE4LDEsMTgsMSwxMiwxLDksMSwxOCwKLSAgICAxLDIxLDEsOSwxLDE1LDEsMTksMSwxMTQsMTM2LDAsMCwwLDk5LDEsCi0gICAgMCwwLDAsMCwwLDAsMCw1LDAsMCwwLDEyLDAsMCwwLDY3LAotICAgIDAsMCwwLDExNSwxNjQsMCwwLDAsMTE2LDAsMCwxMjQsMCwwLDEzMSwxLAotICAgIDAsMTAwLDEsMCwxMDcsMiwwLDExNCwyMiwwLDEwMCwyLDAsODMsMTI0LDAsCi0gICAgMCwxMDYsMSwwLDEwMCwzLDAsMTMxLDEsMCw5MiwzLDAsMTI1LDEsMCwKLSAgICAxMjUsMiwwLDEyNSwzLDAsMTI0LDEsMCwxMiwxMTUsODEsMCwxMjQsMywwLAotICAgIDEwNiwyLDAsMTMxLDAsMCwxMDAsNywwLDEwMCw4LDAsMTMzLDIsMCwyNSwKLSAgICAxMDAsNiwwLDEwNywzLDAsMTE0LDg1LDAsMTI0LDAsMCw4MywxMjEsMTYsMCwKLSAgICAxMTYsMywwLDEyNCwwLDAsMTMxLDEsMCwxMjUsNCwwLDg3LDExMCw0MCwwLAotICAgIDQsMTE2LDQsMCwxMTYsNSwwLDEwMiwyLDAsMTA3LDEwLDAsMTE0LDE0MywwLAotICAgIDEsMSwxLDEyNCwwLDAsMTAwLDIsMCwxMDAsOSwwLDEzMywyLDAsMjUsCi0gICAgMTI1LDQsMCw4OSwxMTAsMSwwLDg4LDExNiw2LDAsMTI0LDQsMCwxMzEsMSwKLSAgICAwLDExNCwxNjAsMCwxMjQsNCwwLDgzLDEyNCwwLDAsODMsNDEsMTAsMTIyLDE4OCwKLSAgICA2NywxMTEsMTEwLDExOCwxMDEsMTE0LDExNiwzMiw5NywzMiw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsCi0gICAgMTAwLDEwMSwzMiwxMDIsMTA1LDEwOCwxMDEsMzIsMTEyLDk3LDExNiwxMDQsMzIsMTE2LDExMSwzMiwKLSAgICA5NywzMiwxMTUsMTExLDExNywxMTQsOTksMTAxLDMyLDExMiw5NywxMTYsMTA0LDMyLDQwLDEwNSwKLSAgICAxMDIsMzIsMTEyLDExMSwxMTUsMTE1LDEwNSw5OCwxMDgsMTAxLDQxLDQ2LDEwLDEwLDMyLDMyLAotICAgIDMyLDMyLDg0LDEwNCwxMDUsMTE1LDMyLDEwMiwxMTcsMTEwLDk5LDExNiwxMDUsMTExLDExMCwzMiwKLSAgICAxMDEsMTIwLDEwNSwxMTUsMTE2LDExNSwzMiwxMTIsMTE3LDExNCwxMDEsMTA4LDEyMSwzMiwxMDIsMTExLAotICAgIDExNCwzMiw5OCw5Nyw5OSwxMDcsMTE5LDk3LDExNCwxMDAsMTE1LDQ1LDk5LDExMSwxMDksMTEyLAotICAgIDk3LDExNiwxMDUsOTgsMTA1LDEwOCwxMDUsMTE2LDEyMSwzMiwxMDIsMTExLDExNCwxMCwzMiwzMiwKLSAgICAzMiwzMiw4MCwxMjEsNzMsMTA5LDExMiwxMTEsMTE0LDExNiw5NSw2OSwxMjAsMTAxLDk5LDY3LAotICAgIDExMSwxMDAsMTAxLDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsODcsMTA1LDExNiwxMDQsNzAsMTA1LDEwOCwKLSAgICAxMDEsMTEwLDk3LDEwOSwxMDEsMTE1LDQwLDQxLDMyLDEwNSwxMTAsMzIsMTE2LDEwNCwxMDEsMzIsCi0gICAgNjcsMzIsNjUsODAsNzMsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMTE0LDg0LDAsMCwKLSAgICAwLDc4LDExNCwxMTYsMCwwLDAsMjMzLDMsMCwwLDAsMTE0LDI5LDAsMCwKLSAgICAwLDkwLDIsMTEyLDEyMSwyMzMsMjUzLDI1NSwyNTUsMjU1LDIzMywyNTUsMjU1LDI1NSwyNTUsMTE0LAotICAgIDEzOSwwLDAsMCw0MSw3LDExNCwzMSwwLDAsMCwxMTQsMzIsMCwwLDAsCi0gICAgMjE4LDUsMTA4LDExMSwxMTksMTAxLDExNCwxMTQsMTM2LDAsMCwwLDExNCwxMjMsMCwwLAotICAgIDAsMTE0LDEzMywwLDAsMCwxMTQsNDQsMCwwLDAsNDEsNSwyMTgsMTMsOTgsCi0gICAgMTIxLDExNiwxMDEsOTksMTExLDEwMCwxMDEsOTUsMTEyLDk3LDExNiwxMDQsMTE0LDEzMCwwLDAsCi0gICAgMCwxMTQsMzYsMCwwLDAsOTAsOSwxMDEsMTIwLDExNiwxMDEsMTEwLDExNSwxMDUsMTExLAotICAgIDExMCwyMTgsMTEsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSw5NSwxMTIsOTcsMTE2LDEwNCwxMTQsNCwKLSAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTUsOTUsCi0gICAgMTAzLDEwMSwxMTYsOTUsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSwxMDIsMTA1LDEwOCwxMDEsMjMxLDEsCi0gICAgMCwwLDExNSwyMCwwLDAsMCwwLDcsMTgsMSw0LDEsMjQsMSwzNSwKLSAgICAxLDQsMSwzLDEsMTYsMSwxOSwxLDIxLDEsMTE0LDE0MywwLDAsMCwKLSAgICA5OSwxLDAsMCwwLDAsMCwwLDAsMiwwLDAsMCwxMSwwLDAsCi0gICAgMCw2NywwLDAsMCwxMTUsNjAsMCwwLDAsMTIxLDE5LDAsMTE2LDAsMCwKLSAgICAxMjQsMCwwLDEzMSwxLDAsMTA2LDEsMCwxMjUsMSwwLDg3LDExMCwyNCwwLAotICAgIDQsMTE2LDIsMCwxMDcsMTAsMCwxMTQsNDUsMCwxLDEsMSwxMDAsMSwwLAotICAgIDEyNSwxLDAsODksMTEwLDEsMCw4OCwxMjQsMSwwLDEwMCwyLDAsNzksMTI1LAotICAgIDEsMCwxMjQsMSwwLDgzLDQxLDMsMTIyLDUxLDY3LDk3LDEwOCw5OSwxMTcsMTA4LAotICAgIDk3LDExNiwxMDEsMzIsMTE2LDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTAxLDMyLDExMiwxMDEsMTE0LAotICAgIDEwOSwxMDUsMTE1LDExNSwxMDUsMTExLDExMCwxMTUsMzIsMTAyLDExMSwxMTQsMzIsOTcsMzIsOTgsCi0gICAgMTIxLDExNiwxMDEsOTksMTExLDEwMCwxMDEsMzIsMTAyLDEwNSwxMDgsMTAxLDQ2LDEwNSwxODIsMSwKLSAgICAwLDAsMjMzLDEyOCwwLDAsMCw0MSwzLDExNCwzOSwwLDAsMCwxMTQsNDEsCi0gICAgMCwwLDAsMTE0LDQwLDAsMCwwLDQxLDIsMTE0LDM1LDAsMCwwLDExNCwKLSAgICA0MiwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwKLSAgICAwLDAsMCwyMTgsMTAsOTUsOTksOTcsMTA4LDk5LDk1LDEwOSwxMTEsMTAwLDEwMSwyNTAsCi0gICAgMSwwLDAsMTE1LDEyLDAsMCwwLDAsMiwzLDEsMTksMSwxMywxLAotICAgIDExLDMsMTAsMSwxMTQsMTQ1LDAsMCwwLDIxOCw5LDExOCwxMDEsMTE0LDk4LDExMSwKLSAgICAxMTUsMTA1LDExNiwxMjEsMTE0LDI5LDAsMCwwLDk5LDEsMCwwLDAsMSwwLAotICAgIDAsMCwzLDAsMCwwLDQsMCwwLDAsNzEsMCwwLDAsMTE1LDgxLAotICAgIDAsMCwwLDExNiwwLDAsMTA2LDEsMCwxMDYsMiwwLDEyNCwxLDAsMTA3LAotICAgIDUsMCwxMTQsNzcsMCwxMjQsMCwwLDEwNiwzLDAsMTAwLDYsMCwxMzEsMSwKLSAgICAwLDExNSw0NiwwLDEwMCwzLDAsMTI0LDAsMCwyMywxMjUsMCwwLDExMCwwLAotICAgIDAsMTE2LDQsMCwxMjQsMCwwLDEwNiw1LDAsMTI0LDIsMCwxNDAsMCwwLAotICAgIDEwMCw0LDAsMTE2LDAsMCwxMDYsNiwwLDEzMSwxLDEsMSwxMTAsMCwwLAotICAgIDEwMCw1LDAsODMsNDEsNywxMjIsNjEsODAsMTE0LDEwNSwxMTAsMTE2LDMyLDExNiwxMDQsCi0gICAgMTAxLDMyLDEwOSwxMDEsMTE1LDExNSw5NywxMDMsMTAxLDMyLDExNiwxMTEsMzIsMTE1LDExNiwxMDAsCi0gICAgMTAxLDExNCwxMTQsMzIsMTA1LDEwMiwzMiw0NSwxMTgsNDcsODAsODksODQsNzIsNzksNzgsCi0gICAgODYsNjksODIsNjYsNzksODMsNjksMzIsMTA1LDExNSwzMiwxMTYsMTE3LDExNCwxMTAsMTAxLAotICAgIDEwMCwzMiwxMTEsMTEwLDQ2LDI1MCwxLDM1LDI1MCw3LDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LAotICAgIDMyLDEyMiwyLDM1LDMyLDExNCw1NCwwLDAsMCw3OCw0MSwyLDExNCwxNDcsMCwKLSAgICAwLDAsMTE0LDE0OCwwLDAsMCw0MSw3LDExNCw3LDAsMCwwLDExNCwxMTcsCi0gICAgMCwwLDAsMjE4LDcsMTE4LDEwMSwxMTQsOTgsMTExLDExNSwxMDEsMTE0LDksMCwwLAotICAgIDAsMjE4LDUsMTEyLDExNCwxMDUsMTEwLDExNiwxMTQsNDcsMCwwLDAsMjE4LDYsMTE1LAotICAgIDExNiwxMDAsMTAxLDExNCwxMTQsNDEsMywyMTgsNywxMDksMTAxLDExNSwxMTUsOTcsMTAzLDEwMSwKLSAgICAxMTQsMTQ2LDAsMCwwLDExNCw4MCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsCi0gICAgNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTYsOTUsMTE4LDEwMSwxMTQsOTgsCi0gICAgMTExLDExNSwxMDEsOTUsMTA5LDEwMSwxMTUsMTE1LDk3LDEwMywxMDEsNiwyLDAsMCwxMTUsCi0gICAgOCwwLDAsMCwwLDIsMTgsMSwxNSwxLDEzLDEsMTE0LDE1MywwLDAsCi0gICAgMCw5OSwxLDAsMCwwLDAsMCwwLDAsMiwwLDAsMCw0LDAsCi0gICAgMCwwLDMsMCwwLDAsMTE1LDM4LDAsMCwwLDEwMCwxLDAsMTM1LDAsCi0gICAgMCwxMDIsMSwwLDEwMCwyLDAsMTAwLDMsMCwxMzQsMSwwLDEyNSwxLDAsCi0gICAgMTE2LDAsMCwxMjQsMSwwLDEzNiwwLDAsMTMxLDIsMCwxLDEyNCwxLDAsCi0gICAgODMsNDEsNCwxMjIsMjUyLDY4LDEwMSw5OSwxMTEsMTE0LDk3LDExNiwxMTEsMTE0LDMyLDExNiwKLSAgICAxMTEsMzIsMTE4LDEwMSwxMTQsMTA1LDEwMiwxMjEsMzIsMTE2LDEwNCw5NywxMTYsMzIsMTE2LDEwNCwKLSAgICAxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsOTgsMTAxLDEwNSwxMTAsMTAzLDMyLDExNCwKLSAgICAxMDEsMTEzLDExNywxMDEsMTE1LDExNiwxMDEsMTAwLDMyLDEwOSw5NywxMTYsOTksMTA0LDEwMSwxMTUsCi0gICAgMzIsMTE2LDEwNCwxMDEsMzIsMTExLDExMCwxMDEsMzIsMTE2LDEwNCwxMDEsMTAsMzIsMzIsMzIsCi0gICAgMzIsMTA4LDExMSw5NywxMDAsMTAxLDExNCwzMiw5OSw5NywxMTAsMzIsMTA0LDk3LDExMCwxMDAsCi0gICAgMTA4LDEwMSw0NiwxMCwxMCwzMiwzMiwzMiwzMiw4NCwxMDQsMTAxLDMyLDEwMiwxMDUsMTE0LAotICAgIDExNSwxMTYsMzIsOTcsMTE0LDEwMywxMTcsMTA5LDEwMSwxMTAsMTE2LDMyLDQwLDExNSwxMDEsMTA4LAotICAgIDEwMiw0MSwzMiwxMDksMTE3LDExNSwxMTYsMzIsMTAwLDEwMSwxMDIsMTA1LDExMCwxMDEsMzIsOTUsCi0gICAgMTEwLDk3LDEwOSwxMDEsMzIsMTE5LDEwNCwxMDUsOTksMTA0LDMyLDExNiwxMDQsMTAxLDMyLDExNSwKLSAgICAxMDEsOTksMTExLDExMCwxMDAsMzIsOTcsMTE0LDEwMywxMTcsMTA5LDEwMSwxMTAsMTE2LDMyLDEwNSwKLSAgICAxMTUsMTAsMzIsMzIsMzIsMzIsOTksMTExLDEwOSwxMTIsOTcsMTE0LDEwMSwxMDAsMzIsOTcsCi0gICAgMTAzLDk3LDEwNSwxMTAsMTE1LDExNiw0NiwzMiw3MywxMDIsMzIsMTE2LDEwNCwxMDEsMzIsOTksCi0gICAgMTExLDEwOSwxMTIsOTcsMTE0LDEwNSwxMTUsMTExLDExMCwzMiwxMDIsOTcsMTA1LDEwOCwxMTUsMzIsCi0gICAgMTE2LDEwNCwxMDEsMTEwLDMyLDczLDEwOSwxMTIsMTExLDExNCwxMTYsNjksMTE0LDExNCwxMTEsMTE0LAotICAgIDMyLDEwNSwxMTUsMzIsMTE0LDk3LDEwNSwxMTUsMTAxLDEwMCw0NiwxMCwxMCwzMiwzMiwzMiwKLSAgICAzMiw3OCw5OSwyLDAsMCwwLDAsMCwwLDAsNCwwLDAsMCw1LAotICAgIDAsMCwwLDMxLDAsMCwwLDExNSw4MywwLDAsMCwxMjQsMSwwLDEwMCwKLSAgICAwLDAsMTA3LDgsMCwxMTQsMjQsMCwxMjQsMCwwLDEwNiwwLDAsMTI1LDEsCi0gICAgMCwxMTAsNDAsMCwxMjQsMCwwLDEwNiwwLDAsMTI0LDEsMCwxMDcsMywwLAotICAgIDExNCw2NCwwLDExNiwxLDAsMTAwLDEsMCwxMjQsMSwwLDIyLDEwMCwyLDAsCi0gICAgMTI0LDEsMCwxMzEsMSwxLDEzMCwxLDAsMTEwLDAsMCwxMzYsMCwwLDEyNCwKLSAgICAwLDAsMTI0LDEsMCwxMjQsMiwwLDEyNCwzLDAsMTQyLDIsMCw4Myw0MSwKLSAgICAzLDc4LDEyMiwyMywxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDMyLDk5LDk3LDExMCwxMTAsMTExLAotICAgIDExNiwzMiwxMDQsOTcsMTEwLDEwMCwxMDgsMTAxLDMyLDM3LDExNSwxMTQsNjcsMCwwLDAsCi0gICAgNDEsMiwxMTQsNjcsMCwwLDAsMjE4LDExLDczLDEwOSwxMTIsMTExLDExNCwxMTYsNjksCi0gICAgMTE0LDExNCwxMTEsMTE0LDQxLDQsMTE0LDcxLDAsMCwwLDExNCw2NywwLDAsMCwKLSAgICAxMTQsODAsMCwwLDAsMTE0LDEwOCwwLDAsMCw0MSwxLDIxOCw2LDEwOSwxMDEsCi0gICAgMTE2LDEwNCwxMTEsMTAwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwxOSwKLSAgICA5NSw5OSwxMDQsMTAxLDk5LDEwNyw5NSwxMTAsOTcsMTA5LDEwMSw5NSwxMTksMTE0LDk3LDExMiwKLSAgICAxMTIsMTAxLDExNCwyMiwyLDAsMCwxMTUsMTAsMCwwLDAsMCwxLDEyLDEsCi0gICAgMTIsMSwxNSwxLDI1LDEsMTIyLDQwLDk1LDk5LDEwNCwxMDEsOTksMTA3LDk1LDExMCwKLSAgICA5NywxMDksMTAxLDQ2LDYwLDEwOCwxMTEsOTksOTcsMTA4LDExNSw2Miw0Niw5NSw5OSwxMDQsCi0gICAgMTAxLDk5LDEwNyw5NSwxMTAsOTcsMTA5LDEwMSw5NSwxMTksMTE0LDk3LDExMiwxMTIsMTAxLDExNCwKLSAgICA0MSwxLDExNCw2NSwwLDAsMCw0MSwyLDExNCwxNTUsMCwwLDAsMTE0LDE1NiwKLSAgICAwLDAsMCwxMTQsNCwwLDAsMCw0MSwxLDExNCwxNTUsMCwwLDAsMTE0LAotICAgIDUsMCwwLDAsMjE4LDExLDk1LDk5LDEwNCwxMDEsOTksMTA3LDk1LDExMCw5NywxMDksCi0gICAgMTAxLDE0LDIsMCwwLDExNSw2LDAsMCwwLDAsOCwyMSw2LDEzLDEsCi0gICAgMTE0LDE1NywwLDAsMCw5OSwxLDAsMCwwLDAsMCwwLDAsMiwwLAotICAgIDAsMCwzLDAsMCwwLDMsMCwwLDAsMTE1LDM1LDAsMCwwLDEzNSwKLSAgICAwLDAsMTAyLDEsMCwxMDAsMSwwLDEwMCwyLDAsMTM0LDAsMCwxMjUsMSwKLSAgICAwLDExNiwwLDAsMTI0LDEsMCwxMzYsMCwwLDEzMSwyLDAsMSwxMjQsMSwKLSAgICAwLDgzLDQxLDMsMTIyLDQ5LDY4LDEwMSw5OSwxMTEsMTE0LDk3LDExNiwxMTEsMTE0LDMyLAotICAgIDExNiwxMTEsMzIsMTE4LDEwMSwxMTQsMTA1LDEwMiwxMjEsMzIsMTE2LDEwNCwxMDEsMzIsMTEwLDk3LAotICAgIDEwOSwxMDEsMTAwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEwNSwxMTUsMzIsOTgsMTE3LAotICAgIDEwNSwxMDgsMTE2LDQ1LDEwNSwxMTAsNDYsOTksMiwwLDAsMCwwLDAsMCwwLAotICAgIDIsMCwwLDAsNCwwLDAsMCwxOSwwLDAsMCwxMTUsNTgsMCwwLAotICAgIDAsMTI0LDEsMCwxMTYsMCwwLDEwNiwxLDAsMTA3LDcsMCwxMTQsNDUsMCwKLSAgICAxMTYsMiwwLDEwMCwxLDAsMTA2LDMsMCwxMjQsMSwwLDEzMSwxLDAsMTAwLAotICAgIDIsMCwxMjQsMSwwLDEzMSwxLDEsMTMwLDEsMCwxMTAsMCwwLDEzNiwwLAotICAgIDAsMTI0LDAsMCwxMjQsMSwwLDEzMSwyLDAsODMsNDEsMyw3OCwxMjIsMjksCi0gICAgMTIzLDMzLDExNCwxMjUsMzIsMTA1LDExNSwzMiwxMTAsMTExLDExNiwzMiw5NywzMiw5OCwxMTcsCi0gICAgMTA1LDEwOCwxMTYsNDUsMTA1LDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTQsNjcsMCwKLSAgICAwLDAsNDEsNCwxMTQsNywwLDAsMCwyMTgsMjAsOTgsMTE3LDEwNSwxMDgsMTE2LAotICAgIDEwNSwxMTAsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTUsMTEwLDk3LDEwOSwxMDEsMTE1LDExNCwKLSAgICAxNTQsMCwwLDAsMTE0LDQ3LDAsMCwwLDQxLDIsMTE0LDcxLDAsMCwwLAotICAgIDIxOCw4LDEwMiwxMTcsMTA4LDEwOCwxMTAsOTcsMTA5LDEwMSw0MSwxLDIxOCwzLDEwMiwxMjAsCi0gICAgMTEwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwyNSw5NSwxMTQsMTAxLAotICAgIDExMywxMTcsMTA1LDExNCwxMDEsMTE1LDk1LDk4LDExNywxMDUsMTA4LDExNiwxMDUsMTEwLDk1LDExOSwKLSAgICAxMTQsOTcsMTEyLDExMiwxMDEsMTE0LDM0LDIsMCwwLDExNSw4LDAsMCwwLDAsCi0gICAgMSwxNSwxLDE4LDEsMTIsMSwxMjIsNTIsOTUsMTE0LDEwMSwxMTMsMTE3LDEwNSwxMTQsCi0gICAgMTAxLDExNSw5NSw5OCwxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCw0Niw2MCwxMDgsMTExLDk5LDk3LAotICAgIDEwOCwxMTUsNjIsNDYsOTUsMTE0LDEwMSwxMTMsMTE3LDEwNSwxMTQsMTAxLDExNSw5NSw5OCwxMTcsCi0gICAgMTA1LDEwOCwxMTYsMTA1LDExMCw5NSwxMTksMTE0LDk3LDExMiwxMTIsMTAxLDExNCw0MSwxLDExNCwKLSAgICA2NSwwLDAsMCw0MSwyLDExNCwxNjAsMCwwLDAsMTE0LDE2MSwwLDAsMCwKLSAgICAxMTQsNCwwLDAsMCw0MSwxLDExNCwxNjAsMCwwLDAsMTE0LDUsMCwwLAotICAgIDAsMjE4LDE3LDk1LDExNCwxMDEsMTEzLDExNywxMDUsMTE0LDEwMSwxMTUsOTUsOTgsMTE3LDEwNSwKLSAgICAxMDgsMTE2LDEwNSwxMTAsMzIsMiwwLDAsMTE1LDYsMCwwLDAsMCwyLDE4LAotICAgIDUsMTMsMSwxMTQsMTYyLDAsMCwwLDk5LDEsMCwwLDAsMCwwLDAsCi0gICAgMCwyLDAsMCwwLDMsMCwwLDAsMywwLDAsMCwxMTUsMzUsMCwKLSAgICAwLDAsMTM1LDAsMCwxMDIsMSwwLDEwMCwxLDAsMTAwLDIsMCwxMzQsMCwKLSAgICAwLDEyNSwxLDAsMTE2LDAsMCwxMjQsMSwwLDEzNiwwLDAsMTMxLDIsMCwKLSAgICAxLDEyNCwxLDAsODMsNDEsMywxMjIsNDcsNjgsMTAxLDk5LDExMSwxMTQsOTcsMTE2LAotICAgIDExMSwxMTQsMzIsMTE2LDExMSwzMiwxMTgsMTAxLDExNCwxMDUsMTAyLDEyMSwzMiwxMTYsMTA0LDEwMSwKLSAgICAzMiwxMTAsOTcsMTA5LDEwMSwxMDAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTA1LDExNSwKLSAgICAzMiwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCw0Niw5OSwyLDAsMCwwLDAsMCwwLAotICAgIDAsMiwwLDAsMCw0LDAsMCwwLDE5LDAsMCwwLDExNSw1OCwwLAotICAgIDAsMCwxMTYsMCwwLDEwNiwxLDAsMTI0LDEsMCwxMzEsMSwwLDExNSw0NSwKLSAgICAwLDExNiwyLDAsMTAwLDEsMCwxMDYsMywwLDEyNCwxLDAsMTMxLDEsMCwKLSAgICAxMDAsMiwwLDEyNCwxLDAsMTMxLDEsMSwxMzAsMSwwLDExMCwwLDAsMTM2LAorICAgIDEwNCwxMDEsMzIsMTEyLDk3LDExNiwxMDQsMzIsMTE2LDExMSwzMiwxMTYsMTA0LDEwMSwxMCwzMiwKKyAgICAzMiwzMiwzMiw0NiwxMTIsMTIxLDk5LDQ3LDQ2LDExMiwxMjEsMTExLDMyLDEwMiwxMDUsMTA4LAorICAgIDEwMSwzMiw5OSw5NywxMDgsOTksMTE3LDEwOCw5NywxMTYsMTAxLDEwMCwzMiw5NywxMTUsMzIsCisgICAgMTA1LDEwMiwzMiwxMTYsMTA0LDEwMSwzMiw0NiwxMTIsMTIxLDMyLDEwMiwxMDUsMTA4LDEwMSwzMiwKKyAgICAxMTksMTAxLDExNCwxMDEsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLDEwMCw0NiwzMiwzMiwKKyAgICA4NCwxMDQsMTAxLDMyLDEwMSwxMjAsMTE2LDEwMSwxMTAsMTE1LDEwNSwxMTEsMTEwLDEwLDMyLDMyLAorICAgIDMyLDMyLDExOSwxMDUsMTA4LDEwOCwzMiw5OCwxMDEsMzIsNDYsMTEyLDEyMSw5OSwzMiwxMTcsCisgICAgMTEwLDEwOCwxMDEsMTE1LDExNSwzMiwxMTUsMTIxLDExNSw0NiwxMDIsMTA4LDk3LDEwMywxMTUsNDYsCisgICAgMTExLDExMiwxMTYsMTA1LDEwOSwxMDUsMTIyLDEwMSwzMiwxMDUsMTE1LDMyLDExMCwxMTEsMTEwLDQ1LAorICAgIDEyMiwxMDEsMTE0LDExMSw0NCwzMiwxMTYsMTA0LDEwMSwxMTAsMzIsMTA1LDExNiwzMiwxMTksMTA1LAorICAgIDEwOCwxMDgsMzIsOTgsMTAxLDMyLDQ2LDExMiwxMjEsMTExLDQ2LDEwLDEwLDMyLDMyLDMyLAorICAgIDMyLDczLDEwMiwzMiwxMDAsMTAxLDk4LDExNywxMDMsOTUsMTExLDExOCwxMDEsMTE0LDExNCwxMDUsCisgICAgMTAwLDEwMSwzMiwxMDUsMTE1LDMyLDExMCwxMTEsMTE2LDMyLDc4LDExMSwxMTAsMTAxLDQ0LDMyLAorICAgIDExNiwxMDQsMTAxLDExMCwzMiwxMDUsMTE2LDMyLDEwOSwxMTcsMTE1LDExNiwzMiw5OCwxMDEsMzIsCisgICAgOTcsMzIsOTgsMTExLDExMSwxMDgsMTAxLDk3LDExMCwzMiw5NywxMTAsMTAwLDMyLDEwNSwxMTUsCisgICAgMzIsMTE3LDExNSwxMDEsMTAwLDMyLDEwNSwxMTAsMTAsMzIsMzIsMzIsMzIsMTEyLDEwOCw5NywKKyAgICA5OSwxMDEsMzIsMTExLDEwMiwzMiwxMTUsMTIxLDExNSw0NiwxMDIsMTA4LDk3LDEwMywxMTUsNDYsCisgICAgMTExLDExMiwxMTYsMTA1LDEwOSwxMDUsMTIyLDEwMSw0NiwxMCwxMCwzMiwzMiwzMiwzMiw3MywKKyAgICAxMDIsMzIsMTE1LDEyMSwxMTUsNDYsMTA1LDEwOSwxMTIsMTA4LDEwMSwxMDksMTAxLDExMCwxMTYsOTcsCisgICAgMTE2LDEwNSwxMTEsMTEwLDQ2LDk5LDk3LDk5LDEwNCwxMDEsOTUsMTE2LDk3LDEwMywzMiwxMDUsCisgICAgMTE1LDMyLDc4LDExMSwxMTAsMTAxLDMyLDExNiwxMDQsMTAxLDExMCwzMiw3OCwxMTEsMTE2LDczLAorICAgIDEwOSwxMTIsMTA4LDEwMSwxMDksMTAxLDExMCwxMTYsMTAxLDEwMCw2OSwxMTQsMTE0LDExMSwxMTQsMzIsCisgICAgMTA1LDExNSwzMiwxMTQsOTcsMTA1LDExNSwxMDEsMTAwLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLAorICAgIDc4LDIxOCwxLDQ2LDEyMiwzNiwxMTUsMTIxLDExNSw0NiwxMDUsMTA5LDExMiwxMDgsMTAxLDEwOSwKKyAgICAxMDEsMTEwLDExNiw5NywxMTYsMTA1LDExMSwxMTAsNDYsOTksOTcsOTksMTA0LDEwMSw5NSwxMTYsCisgICAgOTcsMTAzLDMyLDEwNSwxMTUsMzIsNzgsMTExLDExMCwxMDEsMTE0LDMwLDAsMCwwLDExNCwKKyAgICA4NCwwLDAsMCw0MSwxMywxMTQsNywwLDAsMCwyMTgsNSwxMDIsMTA4LDk3LAorICAgIDEwMywxMTUsMjE4LDgsMTExLDExMiwxMTYsMTA1LDEwOSwxMDUsMTIyLDEwMSwyMTgsMjMsNjgsNjksCisgICAgNjYsODUsNzEsOTUsNjYsODksODQsNjksNjcsNzksNjgsNjksOTUsODMsODUsNzAsCisgICAgNzAsNzMsODgsNjksODMsMjE4LDI3LDc5LDgwLDg0LDczLDc3LDczLDkwLDY5LDY4LAorICAgIDk1LDY2LDg5LDg0LDY5LDY3LDc5LDY4LDY5LDk1LDgzLDg1LDcwLDcwLDczLDg4LAorICAgIDY5LDgzLDExNCwzOCwwLDAsMCwxMTQsMzIsMCwwLDAsMjE4LDE0LDEwNSwxMDksCisgICAgMTEyLDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDk3LDExNiwxMDUsMTExLDExMCwyMTgsOSw5OSw5NywKKyAgICA5OSwxMDQsMTAxLDk1LDExNiw5NywxMDMsMjE4LDE5LDc4LDExMSwxMTYsNzMsMTA5LDExMiwxMDgsCisgICAgMTAxLDEwOSwxMDEsMTEwLDExNiwxMDEsMTAwLDY5LDExNCwxMTQsMTExLDExNCwxMTQsMjYsMCwwLAorICAgIDAsMTE0LDI4LDAsMCwwLDIxOCw4LDk1LDgwLDg5LDY3LDY1LDY3LDcyLDY5LAorICAgIDQxLDExLDExNCwzNSwwLDAsMCw5MCwxNCwxMDAsMTAxLDk4LDExNywxMDMsOTUsMTExLAorICAgIDExOCwxMDEsMTE0LDExNCwxMDUsMTAwLDEwMSwyMTgsNSwxMDAsMTAxLDk4LDExNywxMDMsMjE4LDgsCisgICAgMTE1LDExNywxMDIsMTAyLDEwNSwxMjAsMTAxLDExNSwyMTgsNCwxMDQsMTAxLDk3LDEwMCwxMTQsMzcsCisgICAgMCwwLDAsMjE4LDQsOTgsOTcsMTE1LDEwMSwyMTgsMywxMTUsMTAxLDExMiwyMTgsNCwKKyAgICAxMTQsMTAxLDExNSwxMTYsOTAsMywxMTYsOTcsMTAzLDIxOCw4LDEwMiwxMDUsMTA4LDEwMSwxMTAsCisgICAgOTcsMTA5LDEwMSwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLAorICAgIDAsMCwyMTgsMTcsOTksOTcsOTksMTA0LDEwMSw5NSwxMDIsMTE0LDExMSwxMDksOTUsMTE1LAorICAgIDExMSwxMTcsMTE0LDk5LDEwMSwxODIsMSwwLDAsMTE1LDIyLDAsMCwwLDAsMTMsCisgICAgMzEsMSw2LDEsOSwyLDYsMSwxOCwxLDI0LDEsMTIsMSwxMiwxLAorICAgIDEyLDEsNDMsMSwxMTQsMTMyLDAsMCwwLDk5LDEsMCwwLDAsMCwwLAorICAgIDAsMCw1LDAsMCwwLDUsMCwwLDAsNjcsMCwwLDAsMTE1LDE4NCwKKyAgICAwLDAsMCwxMTYsMCwwLDEwNiwxLDAsMTA2LDIsMCwxMDAsMSwwLDEwNywKKyAgICA4LDAsMTE0LDMwLDAsMTE2LDMsMCwxMDAsMiwwLDEzMSwxLDAsMTMwLDEsCisgICAgMCwxMTYsNCwwLDEyNCwwLDAsMTMxLDEsMCw5MiwyLDAsMTI1LDEsMCwKKyAgICAxMjUsMiwwLDExNiw0LDAsMTI0LDEsMCwxMzEsMSwwLDkyLDIsMCwxMjUsCisgICAgMSwwLDEyNSwzLDAsMTI0LDMsMCwxMTYsNSwwLDEwNywzLDAsMTE0LDEwMiwKKyAgICAwLDExNiw2LDAsMTAwLDMsMCwxMDYsNywwLDExNiw1LDAsMTI0LDAsMCwKKyAgICAxMzEsMiwwLDEzMSwxLDAsMTMwLDEsMCwxMjQsMiwwLDEwNiw4LDAsMTAwLAorICAgIDQsMCwxMzEsMSwwLDEwMCw1LDAsMTA3LDMsMCwxMTQsMTQ0LDAsMTE2LDYsCisgICAgMCwxMDAsNiwwLDEwNiw3LDAsMTI0LDIsMCwxMzEsMSwwLDEzMSwxLDAsCisgICAgMTMwLDEsMCwxMjQsMiwwLDEwNiw5LDAsMTAwLDQsMCwxMzEsMSwwLDEwMCwKKyAgICA3LDAsMjUsMTI1LDQsMCwxMTYsMTAsMCwxMjQsMSwwLDEyNCw0LDAsMTE2LAorICAgIDExLDAsMTAwLDcsMCwyNSwyMywxMzEsMiwwLDgzLDQxLDgsOTcsMTIxLDEsCisgICAgMCwwLDcxLDEwNSwxMTgsMTAxLDExMCwzMiwxMTYsMTA0LDEwMSwzMiwxMTIsOTcsMTE2LDEwNCwKKyAgICAzMiwxMTYsMTExLDMyLDk3LDMyLDQ2LDExMiwxMjEsOTksNDYsNDcsNDYsMTEyLDEyMSwxMTEsCisgICAgMzIsMTAyLDEwNSwxMDgsMTAxLDQ0LDMyLDExNCwxMDEsMTE2LDExNywxMTQsMTEwLDMyLDExNiwxMDQsCisgICAgMTAxLDMyLDExMiw5NywxMTYsMTA0LDMyLDExNiwxMTEsMzIsMTA1LDExNiwxMTUsMzIsNDYsMTEyLAorICAgIDEyMSwzMiwxMDIsMTA1LDEwOCwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsODQsMTA0LDEwMSwKKyAgICAzMiw0NiwxMTIsMTIxLDk5LDQ3LDQ2LDExMiwxMjEsMTExLDMyLDEwMiwxMDUsMTA4LDEwMSwzMiwKKyAgICAxMDAsMTExLDEwMSwxMTUsMzIsMTEwLDExMSwxMTYsMzIsMTEwLDEwMSwxMDEsMTAwLDMyLDExNiwxMTEsCisgICAgMzIsMTAxLDEyMCwxMDUsMTE1LDExNiw1OSwzMiwxMTYsMTA0LDEwNSwxMTUsMzIsMTE1LDEwNSwxMDksCisgICAgMTEyLDEwOCwxMjEsMzIsMTE0LDEwMSwxMTYsMTE3LDExNCwxMTAsMTE1LDMyLDExNiwxMDQsMTAxLDMyLAorICAgIDExMiw5NywxMTYsMTA0LDMyLDExNiwxMTEsMTAsMzIsMzIsMzIsMzIsMTE2LDEwNCwxMDEsMzIsCisgICAgNDYsMTEyLDEyMSwzMiwxMDIsMTA1LDEwOCwxMDEsMzIsOTksOTcsMTA4LDk5LDExNywxMDgsOTcsCisgICAgMTE2LDEwMSwxMDAsMzIsMTE2LDExMSwzMiw5OSwxMTEsMTE0LDExNCwxMDEsMTE1LDExMiwxMTEsMTEwLAorICAgIDEwMCwzMiwxMTYsMTExLDMyLDExNiwxMDQsMTAxLDMyLDQ2LDExMiwxMjEsOTksNDcsNDYsMTEyLAorICAgIDEyMSwxMTEsMzIsMTAyLDEwNSwxMDgsMTAxLDQ2LDMyLDMyLDczLDEwMiwzMiwxMTIsOTcsMTE2LAorICAgIDEwNCwzMiwxMDAsMTExLDEwMSwxMTUsMTAsMzIsMzIsMzIsMzIsMTEwLDExMSwxMTYsMzIsOTksCisgICAgMTExLDExMCwxMDIsMTExLDExNCwxMDksMzIsMTE2LDExMSwzMiw4MCw2OSw4MCwzMiw1MSw0OSwKKyAgICA1Miw1NSwzMiwxMDIsMTExLDExNCwxMDksOTcsMTE2LDQ0LDMyLDg2LDk3LDEwOCwxMTcsMTAxLAorICAgIDY5LDExNCwxMTQsMTExLDExNCwzMiwxMTksMTA1LDEwOCwxMDgsMzIsOTgsMTAxLDMyLDExNCw5NywKKyAgICAxMDUsMTE1LDEwMSwxMDAsNDYsMzIsNzMsMTAyLDEwLDMyLDMyLDMyLDMyLDExNSwxMjEsMTE1LAorICAgIDQ2LDEwNSwxMDksMTEyLDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDk3LDExNiwxMDUsMTExLDExMCw0NiwKKyAgICA5OSw5Nyw5OSwxMDQsMTAxLDk1LDExNiw5NywxMDMsMzIsMTA1LDExNSwzMiw3OCwxMTEsMTEwLAorICAgIDEwMSwzMiwxMTYsMTA0LDEwMSwxMTAsMzIsNzgsMTExLDExNiw3MywxMDksMTEyLDEwOCwxMDEsMTA5LAorICAgIDEwMSwxMTAsMTE2LDEwMSwxMDAsNjksMTE0LDExNCwxMTEsMTE0LDMyLDEwNSwxMTUsMzIsMTE0LDk3LAorICAgIDEwNSwxMTUsMTAxLDEwMCw0NiwxMCwxMCwzMiwzMiwzMiwzMiw3OCwxMjIsMzYsMTE1LDEyMSwKKyAgICAxMTUsNDYsMTA1LDEwOSwxMTIsMTA4LDEwMSwxMDksMTAxLDExMCwxMTYsOTcsMTE2LDEwNSwxMTEsMTEwLAorICAgIDQ2LDk5LDk3LDk5LDEwNCwxMDEsOTUsMTE2LDk3LDEwMywzMiwxMDUsMTE1LDMyLDc4LDExMSwKKyAgICAxMTAsMTAxLDEyMiwzNywxMjMsMTI1LDMyLDExMCwxMTEsMTE2LDMyLDk4LDExMSwxMTYsMTE2LDExMSwKKyAgICAxMDksNDUsMTA4LDEwMSwxMTgsMTAxLDEwOCwzMiwxMDAsMTA1LDExNCwxMDEsOTksMTE2LDExMSwxMTQsCisgICAgMTIxLDMyLDEwNSwxMTAsMzIsMTIzLDMzLDExNCwxMjUsMTE0LDExNiwwLDAsMCwxMTQsMTE1LAorICAgIDAsMCwwLDEyMiwyOCwxMDEsMTIwLDExMiwxMDEsOTksMTE2LDEwMSwxMDAsMzIsMTExLDExMCwKKyAgICAxMDgsMTIxLDMyLDUwLDMyLDEwMCwxMTEsMTE2LDExNSwzMiwxMDUsMTEwLDMyLDEyMywzMywxMTQsCisgICAgMTI1LDExNCw4NCwwLDAsMCw0MSwxMiwxMTQsNywwLDAsMCwxMTQsMTIxLDAsCisgICAgMCwwLDExNCwxMjIsMCwwLDAsMTE0LDEyMywwLDAsMCwxMTQsMzgsMCwwLAorICAgIDAsMTE0LDEyNCwwLDAsMCwyMTgsMTAsODYsOTcsMTA4LDExNywxMDEsNjksMTE0LDExNCwKKyAgICAxMTEsMTE0LDExNCw0NywwLDAsMCwxMTQsODksMCwwLDAsMjE4LDksMTEyLDk3LAorICAgIDExNCwxMTYsMTA1LDExNiwxMDUsMTExLDExMCwxMTQsMjgsMCwwLDAsMjE4LDE1LDgzLDc5LAorICAgIDg1LDgyLDY3LDY5LDk1LDgzLDg1LDcwLDcwLDczLDg4LDY5LDgzLDQxLDUsMTE0LAorICAgIDM1LDAsMCwwLDExNCwxMjcsMCwwLDAsOTAsMTYsMTEyLDEyMSw5OSw5Nyw5OSwKKyAgICAxMDQsMTAxLDk1LDEwMiwxMDUsMTA4LDEwMSwxMTAsOTcsMTA5LDEwMSw5MCw3LDExMiwxMjEsOTksCisgICAgOTcsOTksMTA0LDEwMSw5MCwxMyw5OCw5NywxMTUsMTAxLDk1LDEwMiwxMDUsMTA4LDEwMSwxMTAsCisgICAgOTcsMTA5LDEwMSwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLAorICAgIDAsMCwyMTgsMTcsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSw5NSwxMDIsMTE0LDExMSwxMDksOTUsCisgICAgOTksOTcsOTksMTA0LDEwMSwyMDksMSwwLDAsMTE1LDI0LDAsMCwwLDAsOSwKKyAgICAxOCwxLDEyLDEsMTgsMSwxOCwxLDEyLDEsOSwxLDE1LDEsMjEsMSwKKyAgICA5LDEsMTIsMSwxOSwxLDExNCwxMzYsMCwwLDAsOTksMSwwLDAsMCwKKyAgICAwLDAsMCwwLDUsMCwwLDAsMTIsMCwwLDAsNjcsMCwwLDAsCisgICAgMTE1LDE2NCwwLDAsMCwxMTYsMCwwLDEyNCwwLDAsMTMxLDEsMCwxMDAsMSwKKyAgICAwLDEwNywyLDAsMTE0LDIyLDAsMTAwLDIsMCw4MywxMjQsMCwwLDEwNiwxLAorICAgIDAsMTAwLDMsMCwxMzEsMSwwLDkyLDMsMCwxMjUsMSwwLDEyNSwyLDAsCisgICAgMTI1LDMsMCwxMjQsMSwwLDEyLDExNSw4MSwwLDEyNCwzLDAsMTA2LDIsMCwKKyAgICAxMzEsMCwwLDEwMCw3LDAsMTAwLDgsMCwxMzMsMiwwLDI1LDEwMCw2LDAsCisgICAgMTA3LDMsMCwxMTQsODUsMCwxMjQsMCwwLDgzLDEyMSwxNiwwLDExNiwzLDAsCisgICAgMTI0LDAsMCwxMzEsMSwwLDEyNSw0LDAsODcsMTEwLDQwLDAsNCwxMTYsNCwKKyAgICAwLDExNiw1LDAsMTAyLDIsMCwxMDcsMTAsMCwxMTQsMTQzLDAsMSwxLDEsCisgICAgMTI0LDAsMCwxMDAsMiwwLDEwMCw5LDAsMTMzLDIsMCwyNSwxMjUsNCwwLAorICAgIDg5LDExMCwxLDAsODgsMTE2LDYsMCwxMjQsNCwwLDEzMSwxLDAsMTE0LDE2MCwKKyAgICAwLDEyNCw0LDAsODMsMTI0LDAsMCw4Myw0MSwxMCwxMjIsMTg4LDY3LDExMSwxMTAsCisgICAgMTE4LDEwMSwxMTQsMTE2LDMyLDk3LDMyLDk4LDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsMTAxLDMyLAorICAgIDEwMiwxMDUsMTA4LDEwMSwzMiwxMTIsOTcsMTE2LDEwNCwzMiwxMTYsMTExLDMyLDk3LDMyLDExNSwKKyAgICAxMTEsMTE3LDExNCw5OSwxMDEsMzIsMTEyLDk3LDExNiwxMDQsMzIsNDAsMTA1LDEwMiwzMiwxMTIsCisgICAgMTExLDExNSwxMTUsMTA1LDk4LDEwOCwxMDEsNDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsODQsCisgICAgMTA0LDEwNSwxMTUsMzIsMTAyLDExNywxMTAsOTksMTE2LDEwNSwxMTEsMTEwLDMyLDEwMSwxMjAsMTA1LAorICAgIDExNSwxMTYsMTE1LDMyLDExMiwxMTcsMTE0LDEwMSwxMDgsMTIxLDMyLDEwMiwxMTEsMTE0LDMyLDk4LAorICAgIDk3LDk5LDEwNywxMTksOTcsMTE0LDEwMCwxMTUsNDUsOTksMTExLDEwOSwxMTIsOTcsMTE2LDEwNSwKKyAgICA5OCwxMDUsMTA4LDEwNSwxMTYsMTIxLDMyLDEwMiwxMTEsMTE0LDEwLDMyLDMyLDMyLDMyLDgwLAorICAgIDEyMSw3MywxMDksMTEyLDExMSwxMTQsMTE2LDk1LDY5LDEyMCwxMDEsOTksNjcsMTExLDEwMCwxMDEsCisgICAgNzcsMTExLDEwMCwxMTcsMTA4LDEwMSw4NywxMDUsMTE2LDEwNCw3MCwxMDUsMTA4LDEwMSwxMTAsOTcsCisgICAgMTA5LDEwMSwxMTUsNDAsNDEsMzIsMTA1LDExMCwzMiwxMTYsMTA0LDEwMSwzMiw2NywzMiw2NSwKKyAgICA4MCw3Myw0NiwxMCwxMCwzMiwzMiwzMiwzMiwxMTQsODQsMCwwLDAsNzgsMTE0LAorICAgIDExNiwwLDAsMCwyMzMsMywwLDAsMCwxMTQsMjksMCwwLDAsOTAsMiwKKyAgICAxMTIsMTIxLDIzMywyNTMsMjU1LDI1NSwyNTUsMjMzLDI1NSwyNTUsMjU1LDI1NSwxMTQsMTM5LDAsMCwKKyAgICAwLDQxLDcsMTE0LDMxLDAsMCwwLDExNCwzMiwwLDAsMCwyMTgsNSwxMDgsCisgICAgMTExLDExOSwxMDEsMTE0LDExNCwxMzYsMCwwLDAsMTE0LDEyMywwLDAsMCwxMTQsMTMzLAorICAgIDAsMCwwLDExNCw0NCwwLDAsMCw0MSw1LDIxOCwxMyw5OCwxMjEsMTE2LDEwMSwKKyAgICA5OSwxMTEsMTAwLDEwMSw5NSwxMTIsOTcsMTE2LDEwNCwxMTQsMTMwLDAsMCwwLDExNCwzNiwKKyAgICAwLDAsMCw5MCw5LDEwMSwxMjAsMTE2LDEwMSwxMTAsMTE1LDEwNSwxMTEsMTEwLDIxOCwxMSwKKyAgICAxMTUsMTExLDExNywxMTQsOTksMTAxLDk1LDExMiw5NywxMTYsMTA0LDExNCw0LDAsMCwwLAorICAgIDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwxNSw5NSwxMDMsMTAxLDExNiwKKyAgICA5NSwxMTUsMTExLDExNywxMTQsOTksMTAxLDEwMiwxMDUsMTA4LDEwMSwyMzIsMSwwLDAsMTE1LAorICAgIDIwLDAsMCwwLDAsNywxOCwxLDQsMSwyNCwxLDM1LDEsNCwxLAorICAgIDMsMSwxNiwxLDE5LDEsMjEsMSwxMTQsMTQzLDAsMCwwLDk5LDEsMCwKKyAgICAwLDAsMCwwLDAsMCwyLDAsMCwwLDExLDAsMCwwLDY3LDAsCisgICAgMCwwLDExNSw2MCwwLDAsMCwxMjEsMTksMCwxMTYsMCwwLDEyNCwwLDAsCisgICAgMTMxLDEsMCwxMDYsMSwwLDEyNSwxLDAsODcsMTEwLDI0LDAsNCwxMTYsMiwKKyAgICAwLDEwNywxMCwwLDExNCw0NSwwLDEsMSwxLDEwMCwxLDAsMTI1LDEsMCwKKyAgICA4OSwxMTAsMSwwLDg4LDEyNCwxLDAsMTAwLDIsMCw3OSwxMjUsMSwwLDEyNCwKKyAgICAxLDAsODMsNDEsMywxMjIsNTEsNjcsOTcsMTA4LDk5LDExNywxMDgsOTcsMTE2LDEwMSwKKyAgICAzMiwxMTYsMTA0LDEwMSwzMiwxMDksMTExLDEwMCwxMDEsMzIsMTEyLDEwMSwxMTQsMTA5LDEwNSwxMTUsCisgICAgMTE1LDEwNSwxMTEsMTEwLDExNSwzMiwxMDIsMTExLDExNCwzMiw5NywzMiw5OCwxMjEsMTE2LDEwMSwKKyAgICA5OSwxMTEsMTAwLDEwMSwzMiwxMDIsMTA1LDEwOCwxMDEsNDYsMTA1LDE4MiwxLDAsMCwyMzMsCisgICAgMTI4LDAsMCwwLDQxLDMsMTE0LDM5LDAsMCwwLDExNCw0MSwwLDAsMCwKKyAgICAxMTQsNDAsMCwwLDAsNDEsMiwxMTQsMzUsMCwwLDAsMTE0LDQyLDAsMCwKKyAgICAwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLAorICAgIDIxOCwxMCw5NSw5OSw5NywxMDgsOTksOTUsMTA5LDExMSwxMDAsMTAxLDI1MSwxLDAsMCwKKyAgICAxMTUsMTIsMCwwLDAsMCwyLDMsMSwxOSwxLDEzLDEsMTEsMywxMCwKKyAgICAxLDExNCwxNDUsMCwwLDAsMjE4LDksMTE4LDEwMSwxMTQsOTgsMTExLDExNSwxMDUsMTE2LAorICAgIDEyMSwxMTQsMjksMCwwLDAsOTksMSwwLDAsMCwxLDAsMCwwLDMsCisgICAgMCwwLDAsNCwwLDAsMCw3MSwwLDAsMCwxMTUsNzUsMCwwLDAsCisgICAgMTE2LDAsMCwxMDYsMSwwLDEwNiwyLDAsMTI0LDEsMCwxMDcsNSwwLDExNCwKKyAgICA3MSwwLDEyNCwwLDAsMTA2LDMsMCwxMDAsNiwwLDEzMSwxLDAsMTE1LDQzLAorICAgIDAsMTAwLDMsMCwxMjQsMCwwLDIzLDEyNSwwLDAsMTE2LDQsMCwxMjQsMCwKKyAgICAwLDEwNiw1LDAsMTI0LDIsMCwxNDAsMCwwLDEwMCw0LDAsMTE2LDAsMCwKKyAgICAxMDYsNiwwLDEzMSwxLDEsMSwxMDAsNSwwLDgzLDQxLDcsMTIyLDYxLDgwLAorICAgIDExNCwxMDUsMTEwLDExNiwzMiwxMTYsMTA0LDEwMSwzMiwxMDksMTAxLDExNSwxMTUsOTcsMTAzLDEwMSwKKyAgICAzMiwxMTYsMTExLDMyLDExNSwxMTYsMTAwLDEwMSwxMTQsMTE0LDMyLDEwNSwxMDIsMzIsNDUsMTE4LAorICAgIDQ3LDgwLDg5LDg0LDcyLDc5LDc4LDg2LDY5LDgyLDY2LDc5LDgzLDY5LDMyLDEwNSwKKyAgICAxMTUsMzIsMTE2LDExNywxMTQsMTEwLDEwMSwxMDAsMzIsMTExLDExMCw0NiwyNTAsMSwzNSwyNTAsCisgICAgNywxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwzMiwxMjIsMiwzNSwzMiwxMTQsNTQsMCwwLAorICAgIDAsNzgsNDEsMiwxMTQsMTQ3LDAsMCwwLDExNCwxNDgsMCwwLDAsNDEsNywKKyAgICAxMTQsNywwLDAsMCwxMTQsMTE3LDAsMCwwLDIxOCw3LDExOCwxMDEsMTE0LDk4LAorICAgIDExMSwxMTUsMTAxLDExNCw5LDAsMCwwLDIxOCw1LDExMiwxMTQsMTA1LDExMCwxMTYsMTE0LAorICAgIDQ3LDAsMCwwLDIxOCw2LDExNSwxMTYsMTAwLDEwMSwxMTQsMTE0LDQxLDMsMjE4LDcsCisgICAgMTA5LDEwMSwxMTUsMTE1LDk3LDEwMywxMDEsMTE0LDE0NiwwLDAsMCwxMTQsODAsMCwwLAorICAgIDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsCisgICAgMjE4LDE2LDk1LDExOCwxMDEsMTE0LDk4LDExMSwxMTUsMTAxLDk1LDEwOSwxMDEsMTE1LDExNSw5NywKKyAgICAxMDMsMTAxLDcsMiwwLDAsMTE1LDgsMCwwLDAsMCwyLDE4LDEsMTUsCisgICAgMSwxMCwxLDExNCwxNTMsMCwwLDAsOTksMSwwLDAsMCwwLDAsMCwKKyAgICAwLDIsMCwwLDAsNCwwLDAsMCwzLDAsMCwwLDExNSwzOCwwLAorICAgIDAsMCwxMDAsMSwwLDEzNSwwLDAsMTAyLDEsMCwxMDAsMiwwLDEwMCwzLAorICAgIDAsMTM0LDEsMCwxMjUsMSwwLDExNiwwLDAsMTI0LDEsMCwxMzYsMCwwLAorICAgIDEzMSwyLDAsMSwxMjQsMSwwLDgzLDQxLDQsMTIyLDI1Miw2OCwxMDEsOTksMTExLAorICAgIDExNCw5NywxMTYsMTExLDExNCwzMiwxMTYsMTExLDMyLDExOCwxMDEsMTE0LDEwNSwxMDIsMTIxLDMyLAorICAgIDExNiwxMDQsOTcsMTE2LDMyLDExNiwxMDQsMTAxLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLAorICAgIDk4LDEwMSwxMDUsMTEwLDEwMywzMiwxMTQsMTAxLDExMywxMTcsMTAxLDExNSwxMTYsMTAxLDEwMCwzMiwKKyAgICAxMDksOTcsMTE2LDk5LDEwNCwxMDEsMTE1LDMyLDExNiwxMDQsMTAxLDMyLDExMSwxMTAsMTAxLDMyLAorICAgIDExNiwxMDQsMTAxLDEwLDMyLDMyLDMyLDMyLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMzIsOTksCisgICAgOTcsMTEwLDMyLDEwNCw5NywxMTAsMTAwLDEwOCwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsCisgICAgODQsMTA0LDEwMSwzMiwxMDIsMTA1LDExNCwxMTUsMTE2LDMyLDk3LDExNCwxMDMsMTE3LDEwOSwxMDEsCisgICAgMTEwLDExNiwzMiw0MCwxMTUsMTAxLDEwOCwxMDIsNDEsMzIsMTA5LDExNywxMTUsMTE2LDMyLDEwMCwKKyAgICAxMDEsMTAyLDEwNSwxMTAsMTAxLDMyLDk1LDExMCw5NywxMDksMTAxLDMyLDExOSwxMDQsMTA1LDk5LAorICAgIDEwNCwzMiwxMTYsMTA0LDEwMSwzMiwxMTUsMTAxLDk5LDExMSwxMTAsMTAwLDMyLDk3LDExNCwxMDMsCisgICAgMTE3LDEwOSwxMDEsMTEwLDExNiwzMiwxMDUsMTE1LDEwLDMyLDMyLDMyLDMyLDk5LDExMSwxMDksCisgICAgMTEyLDk3LDExNCwxMDEsMTAwLDMyLDk3LDEwMyw5NywxMDUsMTEwLDExNSwxMTYsNDYsMzIsNzMsCisgICAgMTAyLDMyLDExNiwxMDQsMTAxLDMyLDk5LDExMSwxMDksMTEyLDk3LDExNCwxMDUsMTE1LDExMSwxMTAsCisgICAgMzIsMTAyLDk3LDEwNSwxMDgsMTE1LDMyLDExNiwxMDQsMTAxLDExMCwzMiw3MywxMDksMTEyLDExMSwKKyAgICAxMTQsMTE2LDY5LDExNCwxMTQsMTExLDExNCwzMiwxMDUsMTE1LDMyLDExNCw5NywxMDUsMTE1LDEwMSwKKyAgICAxMDAsNDYsMTAsMTAsMzIsMzIsMzIsMzIsNzgsOTksMiwwLDAsMCwwLDAsCisgICAgMCwwLDQsMCwwLDAsNSwwLDAsMCwzMSwwLDAsMCwxMTUsODAsCisgICAgMCwwLDAsMTI0LDEsMCwxMDAsMCwwLDEwNyw4LDAsMTE0LDI0LDAsMTI0LAorICAgIDAsMCwxMDYsMCwwLDEyNSwxLDAsMTEwLDM3LDAsMTI0LDAsMCwxMDYsMCwKKyAgICAwLDEyNCwxLDAsMTA3LDMsMCwxMTQsNjEsMCwxMTYsMSwwLDEwMCwxLDAsCisgICAgMTI0LDEsMCwyMiwxMDAsMiwwLDEyNCwxLDAsMTMxLDEsMSwxMzAsMSwwLAorICAgIDEzNiwwLDAsMTI0LDAsMCwxMjQsMSwwLDEyNCwyLDAsMTI0LDMsMCwxNDIsCisgICAgMiwwLDgzLDQxLDMsNzgsMTIyLDIzLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMzIsOTksCisgICAgOTcsMTEwLDExMCwxMTEsMTE2LDMyLDEwNCw5NywxMTAsMTAwLDEwOCwxMDEsMzIsMzcsMTE1LDExNCwKKyAgICA2NywwLDAsMCw0MSwyLDExNCw2NywwLDAsMCwyMTgsMTEsNzMsMTA5LDExMiwKKyAgICAxMTEsMTE0LDExNiw2OSwxMTQsMTE0LDExMSwxMTQsNDEsNCwxMTQsNzEsMCwwLDAsMTE0LAorICAgIDY3LDAsMCwwLDExNCw4MCwwLDAsMCwxMTQsMTA4LDAsMCwwLDQxLDEsCisgICAgMjE4LDYsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwKKyAgICAwLDAsMjE4LDE5LDk1LDk5LDEwNCwxMDEsOTksMTA3LDk1LDExMCw5NywxMDksMTAxLDk1LAorICAgIDExOSwxMTQsOTcsMTEyLDExMiwxMDEsMTE0LDIzLDIsMCwwLDExNSwxMCwwLDAsMCwKKyAgICAwLDEsMTIsMSwxMiwxLDE1LDEsMjIsMSwxMjIsNDAsOTUsOTksMTA0LDEwMSwKKyAgICA5OSwxMDcsOTUsMTEwLDk3LDEwOSwxMDEsNDYsNjAsMTA4LDExMSw5OSw5NywxMDgsMTE1LDYyLAorICAgIDQ2LDk1LDk5LDEwNCwxMDEsOTksMTA3LDk1LDExMCw5NywxMDksMTAxLDk1LDExOSwxMTQsOTcsCisgICAgMTEyLDExMiwxMDEsMTE0LDQxLDEsMTE0LDY1LDAsMCwwLDQxLDIsMTE0LDE1NSwwLAorICAgIDAsMCwxMTQsMTU2LDAsMCwwLDExNCw0LDAsMCwwLDQxLDEsMTE0LDE1NSwKKyAgICAwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTEsOTUsOTksMTA0LDEwMSw5OSwxMDcsCisgICAgOTUsMTEwLDk3LDEwOSwxMDEsMTUsMiwwLDAsMTE1LDYsMCwwLDAsMCw4LAorICAgIDIxLDYsMTMsMSwxMTQsMTU3LDAsMCwwLDk5LDEsMCwwLDAsMCwwLAorICAgIDAsMCwyLDAsMCwwLDMsMCwwLDAsMywwLDAsMCwxMTUsMzUsCisgICAgMCwwLDAsMTM1LDAsMCwxMDIsMSwwLDEwMCwxLDAsMTAwLDIsMCwxMzQsCisgICAgMCwwLDEyNSwxLDAsMTE2LDAsMCwxMjQsMSwwLDEzNiwwLDAsMTMxLDIsCisgICAgMCwxLDEyNCwxLDAsODMsNDEsMywxMjIsNDksNjgsMTAxLDk5LDExMSwxMTQsOTcsCisgICAgMTE2LDExMSwxMTQsMzIsMTE2LDExMSwzMiwxMTgsMTAxLDExNCwxMDUsMTAyLDEyMSwzMiwxMTYsMTA0LAorICAgIDEwMSwzMiwxMTAsOTcsMTA5LDEwMSwxMDAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTA1LAorICAgIDExNSwzMiw5OCwxMTcsMTA1LDEwOCwxMTYsNDUsMTA1LDExMCw0Niw5OSwyLDAsMCwwLAorICAgIDAsMCwwLDAsMiwwLDAsMCw0LDAsMCwwLDE5LDAsMCwwLAorICAgIDExNSw1NSwwLDAsMCwxMjQsMSwwLDExNiwwLDAsMTA2LDEsMCwxMDcsNywKKyAgICAwLDExNCw0MiwwLDExNiwyLDAsMTAwLDEsMCwxMDYsMywwLDEyNCwxLDAsCisgICAgMTMxLDEsMCwxMDAsMiwwLDEyNCwxLDAsMTMxLDEsMSwxMzAsMSwwLDEzNiwKICAgICAwLDAsMTI0LDAsMCwxMjQsMSwwLDEzMSwyLDAsODMsNDEsMyw3OCwxMjIsCi0gICAgMjcsMTIzLDMzLDExNCwxMjUsMzIsMTA1LDExNSwzMiwxMTAsMTExLDExNiwzMiw5NywzMiwxMDIsCi0gICAgMTE0LDExMSwxMjIsMTAxLDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTQsNjcsMCwwLAotICAgIDAsNDEsNCwxMTQsMTA2LDAsMCwwLDIxOCw5LDEwNSwxMTUsOTUsMTAyLDExNCwxMTEsCi0gICAgMTIyLDEwMSwxMTAsMTE0LDE1NCwwLDAsMCwxMTQsNDcsMCwwLDAsNDEsMiwxMTQsCi0gICAgNzEsMCwwLDAsMTE0LDE1OSwwLDAsMCw0MSwxLDExNCwxNjAsMCwwLDAsCi0gICAgMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDI0LDk1LDExNCwxMDEsMTEzLAotICAgIDExNywxMDUsMTE0LDEwMSwxMTUsOTUsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsOTUsMTE5LDExNCw5NywKLSAgICAxMTIsMTEyLDEwMSwxMTQsNDUsMiwwLDAsMTE1LDgsMCwwLDAsMCwxLDE1LAotICAgIDEsMTgsMSwxMiwxLDEyMiw1MCw5NSwxMTQsMTAxLDExMywxMTcsMTA1LDExNCwxMDEsMTE1LAotICAgIDk1LDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDQ2LDYwLDEwOCwxMTEsOTksOTcsMTA4LDExNSw2MiwKLSAgICA0Niw5NSwxMTQsMTAxLDExMywxMTcsMTA1LDExNCwxMDEsMTE1LDk1LDEwMiwxMTQsMTExLDEyMiwxMDEsCi0gICAgMTEwLDk1LDExOSwxMTQsOTcsMTEyLDExMiwxMDEsMTE0LDQxLDEsMTE0LDY1LDAsMCwwLAotICAgIDQxLDIsMTE0LDE2MCwwLDAsMCwxMTQsMTY0LDAsMCwwLDExNCw0LDAsMCwKLSAgICAwLDQxLDEsMTE0LDE2MCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTYsOTUsCi0gICAgMTE0LDEwMSwxMTMsMTE3LDEwNSwxMTQsMTAxLDExNSw5NSwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCw0MywKLSAgICAyLDAsMCwxMTUsNiwwLDAsMCwwLDIsMTgsNSwxMywxLDExNCwxNjUsCi0gICAgMCwwLDAsOTksMiwwLDAsMCwwLDAsMCwwLDUsMCwwLDAsCi0gICAgNCwwLDAsMCw2NywwLDAsMCwxMTUsODcsMCwwLDAsMTI0LDAsMCwKLSAgICAxMDYsMCwwLDEyNCwxLDAsMTMxLDEsMCw5MiwyLDAsMTI1LDIsMCwxMjUsCi0gICAgMywwLDEyNCwyLDAsMTAwLDEsMCwxMDcsOCwwLDExNCw4MywwLDExNiwxLAotICAgIDAsMTI0LDMsMCwxMzEsMSwwLDExNCw4MywwLDEwMCwyLDAsMTI1LDQsMCwKLSAgICAxMTYsMiwwLDEwNiwzLDAsMTI0LDQsMCwxMDYsNCwwLDEyNCwzLDAsMTAwLAotICAgIDMsMCwyNSwxMzEsMSwwLDExNiw1LDAsMTMxLDIsMCwxLDExMCwwLDAsCi0gICAgMTI0LDIsMCw4Myw0MSw0LDEyMiwxNTUsODQsMTE0LDEyMSwzMiwxMTYsMTExLDMyLDEwMiwKLSAgICAxMDUsMTEwLDEwMCwzMiw5NywzMiwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDMyLDEwMiwxMTEsMTE0LAotICAgIDMyLDExNiwxMDQsMTAxLDMyLDExNSwxMTIsMTAxLDk5LDEwNSwxMDIsMTA1LDEwMSwxMDAsMzIsMTA5LAotICAgIDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsOTgsMTIxLDMyLDEwMCwxMDEsMTA4LDEwMSwxMDMsOTcsMTE2LAotICAgIDEwNSwxMTAsMTAzLDMyLDExNiwxMTEsMTAsMzIsMzIsMzIsMzIsMTE1LDEwMSwxMDgsMTAyLDQ2LAotICAgIDEwMiwxMDUsMTEwLDEwMCw5NSwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDQwLDQxLDQ2LDEwLDEwLAotICAgIDMyLDMyLDMyLDMyLDg0LDEwNCwxMDUsMTE1LDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDMyLAotICAgIDEwNSwxMTUsMzIsMTAwLDEwMSwxMTIsMTE0LDEwMSw5OSw5NywxMTYsMTAxLDEwMCwzMiwxMDUsMTEwLAotICAgIDMyLDEwMiw5NywxMTgsMTExLDExNCwzMiwxMTEsMTAyLDMyLDEwMiwxMDUsMTEwLDEwMCwxMDEsMTE0LAotICAgIDQ2LDEwMiwxMDUsMTEwLDEwMCw5NSwxMTUsMTEyLDEwMSw5OSw0MCw0MSw0NiwxMCwxMCwzMiwKLSAgICAzMiwzMiwzMiw3OCwxMjIsNDQsNzgsMTExLDExNiwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwKLSAgICAxMDUsMTEwLDEwMywzMiwxMDAsMTA1LDExNCwxMDEsOTksMTE2LDExMSwxMTQsMTIxLDMyLDEyMywxMjUsCi0gICAgNTgsMzIsMTA5LDEwNSwxMTUsMTE1LDEwNSwxMTAsMTAzLDMyLDk1LDk1LDEwNSwxMTAsMTA1LDExNiwKLSAgICA5NSw5NSwxMTQsODQsMCwwLDAsNDEsNiwyMTgsMTEsMTAyLDEwNSwxMTAsMTAwLDk1LAotICAgIDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMTE0LDMxLDAsMCwwLDIxOCw5LDk1LDExOSw5NywKLSAgICAxMTQsMTEwLDEwNSwxMTAsMTAzLDExNSwyMTgsNCwxMTksOTcsMTE0LDExMCwxMTQsNDcsMCwwLAotICAgIDAsMjE4LDEzLDczLDEwOSwxMTIsMTExLDExNCwxMTYsODcsOTcsMTE0LDExMCwxMDUsMTEwLDEwMywKLSAgICA0MSw1LDExNCw3MSwwLDAsMCwxMTQsMTU5LDAsMCwwLDIxOCw2LDEwOCwxMTEsCi0gICAgOTcsMTAwLDEwMSwxMTQsMjE4LDgsMTEyLDExMSwxMTQsMTE2LDEwNSwxMTEsMTEwLDExNSwyMTgsMywKLSAgICAxMDksMTE1LDEwMywxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLAotICAgIDAsMCwyMTgsMTcsOTUsMTAyLDEwNSwxMTAsMTAwLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLAotICAgIDk1LDExNSwxMDQsMTA1LDEwOSw1NCwyLDAsMCwxMTUsMTAsMCwwLDAsMCwxMCwKLSAgICAyMSwxLDI0LDEsNiwxLDMyLDEsMTE0LDE3MywwLDAsMCw5OSwyLDAsCi0gICAgMCwwLDAsMCwwLDAsNSwwLDAsMCwzLDAsMCwwLDY3LDAsCi0gICAgMCwwLDExNSw5MywwLDAsMCwxMTYsMCwwLDEyNCwxLDAsMTI0LDAsMCwKLSAgICAxMzEsMiwwLDEyNSwyLDAsMTE2LDEsMCwxMjQsMiwwLDEzMSwxLDAsMTI1LAotICAgIDMsMCwxMjQsMSwwLDExNiwyLDAsMTA2LDMsMCwxMDcsNiwwLDExNCw3OSwKLSAgICAwLDExNiwyLDAsMTA2LDMsMCwxMjQsMSwwLDI1LDEyNSw0LDAsMTI0LDMsCi0gICAgMCwxMDYsNCwwLDEyNCw0LDAsMTMxLDEsMCwxLDExNiwyLDAsMTA2LDMsCi0gICAgMCwxMjQsMSwwLDI1LDgzLDEyNCwzLDAsMTA2LDUsMCwxMzEsMCwwLDgzLAotICAgIDEwMCwxLDAsODMsNDEsMiwxMjIsMTI4LDc2LDExMSw5NywxMDAsMzIsMTE2LDEwNCwxMDEsCi0gICAgMzIsMTE1LDExMiwxMDEsOTksMTA1LDEwMiwxMDUsMTAxLDEwMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LAotICAgIDEwMSwzMiwxMDUsMTEwLDExNiwxMTEsMzIsMTE1LDEyMSwxMTUsNDYsMTA5LDExMSwxMDAsMTE3LDEwOCwKLSAgICAxMDEsMTE1LDMyLDk3LDExMCwxMDAsMzIsMTE0LDEwMSwxMTYsMTE3LDExNCwxMTAsMzIsMTA1LDExNiwKLSAgICA0NiwxMCwxMCwzMiwzMiwzMiwzMiw4NCwxMDQsMTA1LDExNSwzMiwxMDksMTAxLDExNiwxMDQsCi0gICAgMTExLDEwMCwzMiwxMDUsMTE1LDMyLDEwMCwxMDEsMTEyLDExNCwxMDEsOTksOTcsMTE2LDEwMSwxMDAsCi0gICAgNDYsMzIsMzIsODUsMTE1LDEwMSwzMiwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDEwMSwxMjAsCi0gICAgMTAxLDk5LDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEwNSwxMTAsMTE1LDExNiwxMDEsOTcsCi0gICAgMTAwLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDc4LDQxLDYsMjE4LDE2LDExNSwxMTIsMTAxLAotICAgIDk5LDk1LDEwMiwxMTQsMTExLDEwOSw5NSwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDIxOCwxMiw5NSwKLSAgICA4MywxMTIsMTAxLDk5LDc3LDEwMSwxMTYsMTA0LDExMSwxMDAsMTE1LDExNCw3LDAsMCwwLAotICAgIDExNCw3MywwLDAsMCwyMTgsNCwxMDEsMTIwLDEwMSw5OSwyMTgsNCwxMDgsMTExLDk3LAotICAgIDEwMCw0MSw1LDExNCw3MSwwLDAsMCwxMTQsMTU5LDAsMCwwLDIxOCw0LDExNSwKLSAgICAxMTIsMTAxLDk5LDIxOCw3LDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDExNSwyMTgsNiwxMDksMTExLAotICAgIDEwMCwxMTcsMTA4LDEwMSwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwKLSAgICAwLDAsMCwyMTgsMTcsOTUsMTA4LDExMSw5NywxMDAsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwKLSAgICAxMDEsOTUsMTE1LDEwNCwxMDUsMTA5LDcxLDIsMCwwLDExNSwxNCwwLDAsMCwwLAotICAgIDYsMTUsMSwxMiwxLDE1LDEsMTMsMSwxMywxLDExLDIsMTE0LDE4MSwwLAotICAgIDAsMCw5OSw0LDAsMCwwLDAsMCwwLDAsMTEsMCwwLDAsMTksCi0gICAgMCwwLDAsNjcsMCwwLDAsMTE1LDI0MywxLDAsMCwxMDUsMCwwLDEyNSwKLSAgICA0LDAsMTI0LDIsMCwxMDAsMSwwLDEwNyw5LDAsMTE0LDMxLDAsMTI0LDIsCi0gICAgMCwxMjQsNCwwLDEwMCwyLDAsNjAsMTEwLDYsMCwxMDAsMywwLDEyNSwyLAotICAgIDAsMTI0LDMsMCwxMDAsMSwwLDEwNyw5LDAsMTE0LDYyLDAsMTI0LDMsMCwKLSAgICAxMjQsNCwwLDEwMCw0LDAsNjAsMTEwLDAsMCwxMjQsMCwwLDEwMCwxLDAsCi0gICAgMTAwLDUsMCwxMzMsMiwwLDI1LDEyNSw1LDAsMTI0LDAsMCwxMDAsNSwwLAotICAgIDEwMCw2LDAsMTMzLDIsMCwyNSwxMjUsNiwwLDEyNCwwLDAsMTAwLDYsMCwKLSAgICAxMDAsNywwLDEzMywyLDAsMjUsMTI1LDcsMCwxMjQsNSwwLDExNiwwLDAsCi0gICAgMTA3LDMsMCwxMTQsMTY4LDAsMTAwLDgsMCwxMDYsMSwwLDEyNCwyLDAsMTI0LAotICAgIDUsMCwxMzEsMiwwLDEyNSw4LDAsMTE2LDIsMCwxMjQsOCwwLDEzMSwxLAotICAgIDAsMSwxMTYsMywwLDEyNCw4LDAsMTI0LDQsMCwxNDEsMSwwLDEzMCwxLAotICAgIDAsMTEwLDExNiwwLDExNiw0LDAsMTI0LDYsMCwxMzEsMSwwLDEwMCw1LDAsCi0gICAgMTA3LDMsMCwxMTQsMjI2LDAsMTAwLDksMCwxMDYsMSwwLDEyNCwyLDAsMTMxLAotICAgIDEsMCwxMjUsOCwwLDExNiwyLDAsMTI0LDgsMCwxMzEsMSwwLDEsMTE2LAotICAgIDUsMCwxMjQsOCwwLDEzMSwxLDAsMTMwLDEsMCwxMTAsNTgsMCwxMTYsNCwKLSAgICAwLDEyNCw3LDAsMTMxLDEsMCwxMDAsNSwwLDEwNywzLDAsMTE0LDI4LDEsCi0gICAgMTAwLDEwLDAsMTA2LDEsMCwxMjQsMiwwLDEzMSwxLDAsMTI1LDgsMCwxMTYsCi0gICAgMiwwLDEyNCw4LDAsMTMxLDEsMCwxLDExNiw1LDAsMTI0LDgsMCwxMzEsCi0gICAgMSwwLDEzMCwxLDAsMTEwLDAsMCwxMjQsMSwwLDEwMCwxLDAsMTA3LDksCi0gICAgMCwxMTQsMjI5LDEsMTIxLDIwLDAsMTE2LDYsMCwxMjQsMSwwLDEwMCwxMSwwLAotICAgIDI1LDEzMSwxLDAsMTI1LDksMCw4NywxMTAsMTgsMCw0LDExNiw3LDAsMTA3LAotICAgIDEwLDAsMTE0LDgwLDEsMSwxLDEsODksMTEwLDYyLDAsODgsMTE2LDgsMCwKLSAgICAxMjQsNiwwLDEzMSwxLDAsMTI0LDksMCwxMDcsMywwLDExNCwxNDIsMSwxMDAsCi0gICAgMTIsMCwxMDYsMSwwLDEyNCwyLDAsMTMxLDEsMCwxMjUsOCwwLDExNiwyLAotICAgIDAsMTI0LDgsMCwxMzEsMSwwLDEsMTE2LDMsMCwxMjQsOCwwLDEyNCw0LAotICAgIDAsMTQxLDEsMCwxMzAsMSwwLDExMCwwLDAsMTIxLDE4LDAsMTI0LDEsMCwKLSAgICAxMDAsMTMsMCwyNSwxMDAsMTQsMCw2NCwxMjUsMTAsMCw4NywxMTAsMTgsMCw0LAotICAgIDExNiw3LDAsMTA3LDEwLDAsMTE0LDE4MCwxLDEsMSwxLDg5LDExMywyMjksMSwKLSAgICA4OCwxMTYsOCwwLDEyNCw3LDAsMTMxLDEsMCwxMjQsMTAsMCwxMDcsMywwLAotICAgIDExNCwyMjksMSwxMTYsMywwLDEwMCwxMiwwLDEwNiwxLDAsMTI0LDIsMCwxMzEsCi0gICAgMSwwLDEyNCw0LDAsMTQxLDEsMCwxMzAsMSwwLDExMywyMjksMSwxMTAsMCwKLSAgICAwLDEyNCwwLDAsMTAwLDcsMCwxMDAsMSwwLDEzMywyLDAsMjUsODMsNDEsCi0gICAgMTUsOTcsMTIyLDEsMCwwLDg2LDk3LDEwOCwxMDUsMTAwLDk3LDExNiwxMDEsMzIsMTE2LAotICAgIDEwNCwxMDEsMzIsMTA0LDEwMSw5NywxMDAsMTAxLDExNCwzMiwxMTEsMTAyLDMyLDExNiwxMDQsMTAxLAotICAgIDMyLDExMiw5NywxMTUsMTE1LDEwMSwxMDAsNDUsMTA1LDExMCwzMiw5OCwxMjEsMTE2LDEwMSw5OSwKLSAgICAxMTEsMTAwLDEwMSwzMiw5NywxMDMsOTcsMTA1LDExMCwxMTUsMTE2LDMyLDExNSwxMTEsMTE3LDExNCwKLSAgICA5OSwxMDEsOTUsMTE1LDExNiw5NywxMTYsMTE1LDMyLDQwLDEwNSwxMDIsMTAsMzIsMzIsMzIsCi0gICAgMzIsMTAzLDEwNSwxMTgsMTAxLDExMCw0MSwzMiw5NywxMTAsMTAwLDMyLDExNCwxMDEsMTE2LDExNywKLSAgICAxMTQsMTEwLDEwNSwxMTAsMTAzLDMyLDExNiwxMDQsMTAxLDMyLDk4LDEyMSwxMTYsMTAxLDk5LDExMSwKLSAgICAxMDAsMTAxLDMyLDExNiwxMDQsOTcsMTE2LDMyLDk5LDk3LDExMCwzMiw5OCwxMDEsMzIsOTksCi0gICAgMTExLDEwOSwxMTIsMTA1LDEwOCwxMDEsMTAwLDMyLDk4LDEyMSwzMiw5OSwxMTEsMTA5LDExMiwxMDUsCi0gICAgMTA4LDEwMSw0MCw0MSw0NiwxMCwxMCwzMiwzMiwzMiwzMiw2NSwxMDgsMTA4LDMyLDExMSwKLSAgICAxMTYsMTA0LDEwMSwxMTQsMzIsOTcsMTE0LDEwMywxMTcsMTA5LDEwMSwxMTAsMTE2LDExNSwzMiw5NywKLSAgICAxMTQsMTAxLDMyLDExNywxMTUsMTAxLDEwMCwzMiwxMTYsMTExLDMyLDEwMSwxMTAsMTA0LDk3LDExMCwKLSAgICA5OSwxMDEsMzIsMTAxLDExNCwxMTQsMTExLDExNCwzMiwxMTQsMTAxLDExMiwxMTEsMTE0LDExNiwxMDUsCi0gICAgMTEwLDEwMyw0NiwxMCwxMCwzMiwzMiwzMiwzMiw3MywxMDksMTEyLDExMSwxMTQsMTE2LDY5LAotICAgIDExNCwxMTQsMTExLDExNCwzMiwxMDUsMTE1LDMyLDExNCw5NywxMDUsMTE1LDEwMSwxMDAsMzIsMTE5LAotICAgIDEwNCwxMDEsMTEwLDMyLDExNiwxMDQsMTAxLDMyLDEwOSw5NywxMDMsMTA1LDk5LDMyLDExMCwxMTcsCi0gICAgMTA5LDk4LDEwMSwxMTQsMzIsMTA1LDExNSwzMiwxMDUsMTEwLDk5LDExMSwxMTQsMTE0LDEwMSw5OSwKLSAgICAxMTYsMzIsMTExLDExNCwzMiwxMTYsMTA0LDEwMSwzMiw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsMTAwLAotICAgIDEwMSwzMiwxMDUsMTE1LDEwLDMyLDMyLDMyLDMyLDEwMiwxMTEsMTE3LDExMCwxMDAsMzIsMTE2LAotICAgIDExMSwzMiw5OCwxMDEsMzIsMTE1LDExNiw5NywxMDgsMTAxLDQ2LDMyLDY5LDc5LDcwLDY5LAotICAgIDExNCwxMTQsMTExLDExNCwzMiwxMDUsMTE1LDMyLDExNCw5NywxMDUsMTE1LDEwMSwxMDAsMzIsMTE5LAotICAgIDEwNCwxMDEsMTEwLDMyLDExNiwxMDQsMTAxLDMyLDEwMCw5NywxMTYsOTcsMzIsMTA1LDExNSwzMiwKLSAgICAxMDIsMTExLDExNywxMTAsMTAwLDMyLDExNiwxMTEsMzIsOTgsMTAxLDEwLDMyLDMyLDMyLDMyLAotICAgIDExNiwxMTQsMTE3LDExMCw5OSw5NywxMTYsMTAxLDEwMCw0NiwxMCwxMCwzMiwzMiwzMiwzMiwKLSAgICA3OCwxMTQsNjcsMCwwLDAsMTIyLDEwLDYwLDk4LDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsCi0gICAgMTAxLDYyLDExNCwzNSwwLDAsMCwxMTQsMTIsMCwwLDAsMjMzLDgsMCwwLAotICAgIDAsMjMzLDEyLDAsMCwwLDEyMiwzMCw5OCw5NywxMDAsMzIsMTA5LDk3LDEwMywxMDUsCi0gICAgOTksMzIsMTEwLDExNywxMDksOTgsMTAxLDExNCwzMiwxMDUsMTEwLDMyLDEyMywzMywxMTQsMTI1LAotICAgIDU4LDMyLDEyMywzMywxMTQsMTI1LDEyMiw0MywxMTQsMTAxLDk3LDk5LDEwNCwxMDEsMTAwLDMyLAotICAgIDY5LDc5LDcwLDMyLDExOSwxMDQsMTA1LDEwOCwxMDEsMzIsMTE0LDEwMSw5NywxMDAsMTA1LDExMCwKLSAgICAxMDMsMzIsMTE2LDEwNSwxMDksMTAxLDExNSwxMTYsOTcsMTA5LDExMiwzMiwxMDUsMTEwLDMyLDEyMywKLSAgICAzMywxMTQsMTI1LDEyMiw0OCwxMTQsMTAxLDk3LDk5LDEwNCwxMDEsMTAwLDMyLDY5LDc5LDcwLAotICAgIDMyLDExOSwxMDQsMTA1LDEwOCwxMDEsMzIsMTE0LDEwMSw5NywxMDAsMTA1LDExMCwxMDMsMzIsMTE1LAotICAgIDEwNSwxMjIsMTAxLDMyLDExMSwxMDIsMzIsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSwzMiwxMDUsMTEwLAotICAgIDMyLDEyMywzMywxMTQsMTI1LDIxOCw1LDEwOSwxMTYsMTA1LDEwOSwxMDEsMTIyLDI2LDk4LDEyMSwKLSAgICAxMTYsMTAxLDk5LDExMSwxMDAsMTAxLDMyLDEwNSwxMTUsMzIsMTE1LDExNiw5NywxMDgsMTAxLDMyLAotICAgIDEwMiwxMTEsMTE0LDMyLDEyMywzMywxMTQsMTI1LDIxOCw0LDExNSwxMDUsMTIyLDEwMSwxMDgsMywKLSAgICAwLDAsMCwyNTUsMTI3LDI1NSwxMjcsMywwLDQxLDksMjE4LDEyLDc3LDY1LDcxLAotICAgIDczLDY3LDk1LDc4LDg1LDc3LDY2LDY5LDgyLDExNCw0NywwLDAsMCwxMTQsMTUzLAotICAgIDAsMCwwLDExNCwxNTQsMCwwLDAsMTE0LDMxLDAsMCwwLDIxOCw4LDY5LAotICAgIDc5LDcwLDY5LDExNCwxMTQsMTExLDExNCwxMTQsMTQsMCwwLDAsMTE0LDc5LDAsMCwKLSAgICAwLDExNCwxOSwwLDAsMCw0MSwxMSwxMTQsNTMsMCwwLDAsMjE4LDEyLDExNSwKLSAgICAxMTEsMTE3LDExNCw5OSwxMDEsOTUsMTE1LDExNiw5NywxMTYsMTE1LDExNCw2NywwLDAsMCwKLSAgICAxMTQsMzUsMCwwLDAsOTAsMTEsMTAxLDEyMCw5OSw5NSwxMDAsMTAxLDExNiw5NywxMDUsCi0gICAgMTA4LDExNSw5MCw1LDEwOSw5NywxMDMsMTA1LDk5LDkwLDEzLDExNCw5NywxMTksOTUsMTE2LAotICAgIDEwNSwxMDksMTAxLDExNSwxMTYsOTcsMTA5LDExMiw5MCw4LDExNCw5NywxMTksOTUsMTE1LDEwNSwKLSAgICAxMjIsMTAxLDExNCwxNTIsMCwwLDAsMjE4LDEyLDExNSwxMTEsMTE3LDExNCw5OSwxMDEsOTUsCi0gICAgMTA5LDExNiwxMDUsMTA5LDEwMSwyMTgsMTEsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSw5NSwxMTUsMTA1LAotICAgIDEyMiwxMDEsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLAotICAgIDAsMjE4LDI1LDk1LDExOCw5NywxMDgsMTA1LDEwMCw5NywxMTYsMTAxLDk1LDk4LDEyMSwxMTYsCi0gICAgMTAxLDk5LDExMSwxMDAsMTAxLDk1LDEwNCwxMDEsOTcsMTAwLDEwMSwxMTQsODcsMiwwLDAsCi0gICAgMTE1LDc2LDAsMCwwLDAsMTEsNiwxLDEyLDEsMTMsMyw2LDEsMTIsCi0gICAgMSwxMywxLDE2LDEsMTYsMSwxNiwxLDEyLDEsMTgsMSwxMCwxLDE4LAotICAgIDEsMTgsMSwxNSwxLDEwLDEsMTUsMSwxOCwxLDE1LDEsMTAsMSwxNSwKLSAgICAxLDEyLDEsMywxLDIwLDEsMTMsMSw1LDIsMTgsMSwxNSwxLDEwLAotICAgIDEsMTgsMSwzLDEsMTgsMSwxMywxLDUsMiwxOCwxLDE1LDEsMTUsCi0gICAgMSwxMTQsMTkxLDAsMCwwLDk5LDQsMCwwLDAsMCwwLDAsMCw1LAotICAgIDAsMCwwLDYsMCwwLDAsNjcsMCwwLDAsMTE1LDExNSwwLDAsMCwKLSAgICAxMTYsMCwwLDEwNiwxLDAsMTI0LDAsMCwxMzEsMSwwLDEyNSw0LDAsMTE2LAotICAgIDIsMCwxMjQsNCwwLDExNiwzLDAsMTMxLDIsMCwxMTQsNzgsMCwxMTYsNCwKLSAgICAwLDEwMCwxLDAsMTI0LDIsMCwxMzEsMiwwLDEsMTI0LDMsMCwxMDAsMiwKLSAgICAwLDEwNyw5LDAsMTE0LDc0LDAsMTE2LDUsMCwxMDYsNiwwLDEyNCw0LDAsCi0gICAgMTI0LDMsMCwxMzEsMiwwLDEsMTEwLDAsMCwxMjQsNCwwLDgzLDExNiw3LAotICAgIDAsMTAwLDMsMCwxMDYsOCwwLDEyNCwyLDAsMTMxLDEsMCwxMDAsNCwwLAotICAgIDEyNCwxLDAsMTAwLDUsMCwxMjQsMiwwLDEzMSwxLDIsMTMwLDEsMCwxMDAsCi0gICAgMiwwLDgzLDQxLDYsMTIyLDYwLDY3LDExMSwxMDksMTEyLDEwNSwxMDgsMTAxLDMyLDk4LAotICAgIDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsMTAxLDMyLDk3LDExNSwzMiwxMTQsMTAxLDExNiwxMTcsMTE0LAotICAgIDExMCwxMDEsMTAwLDMyLDk4LDEyMSwzMiw5NSwxMTgsOTcsMTA4LDEwNSwxMDAsOTcsMTE2LDEwMSwKLSAgICA5NSw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsMTAwLDEwMSw5NSwxMDQsMTAxLDk3LDEwMCwxMDEsMTE0LAotICAgIDQwLDQxLDQ2LDEyMiwyMSw5OSwxMTEsMTAwLDEwMSwzMiwxMTEsOTgsMTA2LDEwMSw5OSwxMTYsCi0gICAgMzIsMTAyLDExNCwxMTEsMTA5LDMyLDEyMywzMywxMTQsMTI1LDc4LDEyMiwyMyw3OCwxMTEsMTEwLAotICAgIDQ1LDk5LDExMSwxMDAsMTAxLDMyLDExMSw5OCwxMDYsMTAxLDk5LDExNiwzMiwxMDUsMTEwLDMyLAotICAgIDEyMywzMywxMTQsMTI1LDExNCw2NywwLDAsMCwxMTQsMzUsMCwwLDAsNDEsOSwKLSAgICAyMTgsNywxMDksOTcsMTE0LDExNSwxMDQsOTcsMTA4LDkwLDUsMTA4LDExMSw5NywxMDAsMTE1LAotICAgIDIxOCwxMCwxMDUsMTE1LDEwNSwxMTAsMTE1LDExNiw5NywxMTAsOTksMTAxLDIxOCwxMCw5NSw5OSwKLSAgICAxMTEsMTAwLDEwMSw5NSwxMTYsMTIxLDExMiwxMDEsMTE0LDE1MywwLDAsMCwxMTQsMTA2LDAsCi0gICAgMCwwLDkwLDE2LDk1LDEwMiwxMDUsMTIwLDk1LDk5LDExMSw5NSwxMDIsMTA1LDEwOCwxMDEsCi0gICAgMTEwLDk3LDEwOSwxMDEsMTE0LDE1NCwwLDAsMCwxMTQsNDcsMCwwLDAsNDEsNSwKLSAgICAxMTQsNTMsMCwwLDAsMTE0LDY3LDAsMCwwLDExNCwxNDEsMCwwLDAsMTE0LAotICAgIDE0MiwwLDAsMCwyMTgsNCw5OSwxMTEsMTAwLDEwMSwxMTQsNCwwLDAsMCwxMTQsCi0gICAgNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTcsOTUsOTksMTExLDEwOSwxMTIsCi0gICAgMTA1LDEwOCwxMDEsOTUsOTgsMTIxLDExNiwxMDEsOTksMTExLDEwMCwxMDEsMTQyLDIsMCwwLAotICAgIDExNSwxNiwwLDAsMCwwLDIsMTUsMSwxNSwxLDEzLDEsMTIsMSwxOSwKLSAgICAxLDQsMiwxOCwxLDExNCwxOTYsMCwwLDAsMTE0LDg0LDAsMCwwLDk5LAotICAgIDMsMCwwLDAsMCwwLDAsMCw0LDAsMCwwLDMsMCwwLDAsCi0gICAgNjcsMCwwLDAsMTE1LDc2LDAsMCwwLDExNiwwLDAsMTE2LDEsMCwxMzEsCi0gICAgMSwwLDEyNSwzLDAsMTI0LDMsMCwxMDYsMiwwLDExNiwzLDAsMTI0LDEsCi0gICAgMCwxMzEsMSwwLDEzMSwxLDAsMSwxMjQsMywwLDEwNiwyLDAsMTE2LDMsCi0gICAgMCwxMjQsMiwwLDEzMSwxLDAsMTMxLDEsMCwxLDEyNCwzLDAsMTA2LDIsCi0gICAgMCwxMTYsNCwwLDEwNiw1LDAsMTI0LDAsMCwxMzEsMSwwLDEzMSwxLDAsCi0gICAgMSwxMjQsMywwLDgzLDQxLDEsMTIyLDgwLDY3LDExMSwxMDksMTEyLDEwNSwxMDgsMTAxLAotICAgIDMyLDk3LDMyLDk5LDExMSwxMDAsMTAxLDMyLDExMSw5OCwxMDYsMTAxLDk5LDExNiwzMiwxMDUsCi0gICAgMTEwLDExNiwxMTEsMzIsOTgsMTIxLDExNiwxMDEsOTksMTExLDEwMCwxMDEsMzIsMTAyLDExMSwxMTQsCi0gICAgMzIsMTE5LDExNCwxMDUsMTE2LDEwNSwxMTAsMTAzLDMyLDExMSwxMTcsMTE2LDMyLDExNiwxMTEsMzIsCi0gICAgOTcsMzIsOTgsMTIxLDExNiwxMDEsNDUsOTksMTExLDEwOSwxMTIsMTA1LDEwOCwxMDEsMTAwLDEwLAotICAgIDMyLDMyLDMyLDMyLDEwMiwxMDUsMTA4LDEwMSw0Niw0MSw2LDIxOCw5LDk4LDEyMSwxMTYsCi0gICAgMTAxLDk3LDExNCwxMTQsOTcsMTIxLDExNCwxODYsMCwwLDAsMjE4LDYsMTAxLDEyMCwxMTYsCi0gICAgMTAxLDExMCwxMDAsMTE0LDE3LDAsMCwwLDExNCwxOTIsMCwwLDAsOTAsNSwxMDAsCi0gICAgMTE3LDEwOSwxMTIsMTE1LDQxLDQsMTE0LDE5NSwwLDAsMCwxMTQsMTg0LDAsMCwwLAotICAgIDExNCwxOTAsMCwwLDAsMTE0LDUzLDAsMCwwLDExNCw0LDAsMCwwLDExNCwKLSAgICA0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwxNyw5NSw5OSwxMTEsMTAwLDEwMSwKLSAgICA5NSwxMTYsMTExLDk1LDk4LDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsMTAxLDE1NCwyLDAsMCwKLSAgICAxMTUsMTAsMCwwLDAsMCwzLDEyLDEsMTksMSwxOSwxLDIyLDEsMTE0LAotICAgIDE5OSwwLDAsMCw5OSwxLDAsMCwwLDAsMCwwLDAsNSwwLDAsCi0gICAgMCw0LDAsMCwwLDY3LDAsMCwwLDExNSw4OSwwLDAsMCwxMDAsMSwKLSAgICAwLDEwMCwyLDAsMTA4LDAsMCwxMjUsMSwwLDExNiwxLDAsMTA2LDIsMCwKLSAgICAxMjQsMCwwLDEzMSwxLDAsMTA2LDMsMCwxMjUsMiwwLDEyNCwxLDAsMTA2LAotICAgIDQsMCwxMjQsMiwwLDEzMSwxLDAsMTI1LDMsMCwxMTYsMSwwLDEwNiw1LAotICAgIDAsMTAwLDIsMCwxMDAsMywwLDEzMSwyLDAsMTI1LDQsMCwxMjQsNCwwLAotICAgIDEwNiw2LDAsMTI0LDAsMCwxMDYsNiwwLDEyNCwzLDAsMTAwLDEsMCwyNSwKLSAgICAxMzEsMSwwLDEzMSwxLDAsODMsNDEsNCwxMjIsMTIxLDY4LDEwMSw5OSwxMTEsMTAwLAotICAgIDEwMSwzMiw5OCwxMjEsMTE2LDEwMSwxMTUsMzIsMTE0LDEwMSwxMTIsMTE0LDEwMSwxMTUsMTAxLDExMCwKLSAgICAxMTYsMTA1LDExMCwxMDMsMzIsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSwzMiw5OSwxMTEsMTAwLDEwMSwKLSAgICAzMiw5NywxMTAsMTAwLDMyLDExNCwxMDEsMTE2LDExNywxMTQsMTEwLDMyLDExNiwxMDQsMTAxLDMyLAotICAgIDExNSwxMTYsMTE0LDEwNSwxMTAsMTAzLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDg1LDExMCwxMDUsCi0gICAgMTE4LDEwMSwxMTQsMTE1LDk3LDEwOCwzMiwxMTAsMTAxLDExOSwxMDgsMTA1LDExMCwxMDEsMzIsMTE1LAotICAgIDExNywxMTIsMTEyLDExMSwxMTQsMTE2LDMyLDEwNSwxMTUsMzIsMTE3LDExNSwxMDEsMTAwLDMyLDEwNSwKLSAgICAxMTAsMzIsMTE2LDEwNCwxMDEsMzIsMTAwLDEwMSw5OSwxMTEsMTAwLDEwNSwxMTAsMTAzLDQ2LDEwLAotICAgIDMyLDMyLDMyLDMyLDExNCw4NCwwLDAsMCw3OCw4NCw0MSw3LDIxOCw4LDExNiwKLSAgICAxMTEsMTA3LDEwMSwxMTAsMTA1LDEyMiwxMDEsMTE0LDQ5LDAsMCwwLDkwLDcsNjYsMTIxLAotICAgIDExNiwxMDEsMTE1LDczLDc5LDkwLDgsMTE0LDEwMSw5NywxMDAsMTA4LDEwNSwxMTAsMTAxLDkwLAotICAgIDE1LDEwMCwxMDEsMTE2LDEwMSw5OSwxMTYsOTUsMTAxLDExMCw5OSwxMTEsMTAwLDEwNSwxMTAsMTAzLAotICAgIDkwLDI1LDczLDExMCw5OSwxMTQsMTAxLDEwOSwxMDEsMTEwLDExNiw5NywxMDgsNzgsMTAxLDExOSwKLSAgICAxMDgsMTA1LDExMCwxMDEsNjgsMTAxLDk5LDExMSwxMDAsMTAxLDExNCwyMTgsNiwxMDAsMTAxLDk5LAotICAgIDExMSwxMDAsMTAxLDQxLDUsMjE4LDEyLDExNSwxMTEsMTE3LDExNCw5OSwxMDEsOTUsOTgsMTIxLAotICAgIDExNiwxMDEsMTE1LDExNCwyMDAsMCwwLDAsOTAsMjEsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSwKLSAgICA5NSw5OCwxMjEsMTE2LDEwMSwxMTUsOTUsMTE0LDEwMSw5NywxMDAsMTA4LDEwNSwxMTAsMTAxLDIxOCwKLSAgICA4LDEwMSwxMTAsOTksMTExLDEwMCwxMDUsMTEwLDEwMyw5MCwxNSwxMTAsMTAxLDExOSwxMDgsMTA1LAotICAgIDExMCwxMDEsOTUsMTAwLDEwMSw5OSwxMTEsMTAwLDEwMSwxMTQsMTE0LDQsMCwwLDAsMTE0LAotICAgIDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDEzLDEwMCwxMDEsOTksMTExLDEwMCwKLSAgICAxMDEsOTUsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSwxNjQsMiwwLDAsMTE1LDEwLDAsMCwKLSAgICAwLDAsNSwxMiwxLDE4LDEsMTUsMSwxOCwxLDExNCwyMDQsMCwwLDAsCi0gICAgOTksMSwwLDAsMCwwLDAsMCwwLDUsMCwwLDAsMzUsMCwwLAotICAgIDAsNjcsMCwwLDAsMTE1LDE1LDEsMCwwLDExNiwwLDAsMTI0LDAsMCwKLSAgICAxMDAsMSwwLDEwMCwwLDAsMTMxLDMsMCwxMjUsMSwwLDExNiwxLDAsMTI0LAotICAgIDEsMCwxMDAsMiwwLDEzMSwyLDAsMTE0LDc0LDAsMTIxLDE3LDAsMTI0LDEsCi0gICAgMCwxMDYsMiwwLDEyNCwwLDAsMTMxLDEsMCw4Myw4NywxMTMsNzQsMCw0LAotICAgIDExNiwzLDAsMTA3LDEwLDAsMTE0LDcwLDAsMSwxLDEsODksMTEzLDc0LDAsCi0gICAgODgsMTEwLDAsMCwxMjEsMTMsMCwxMjQsMCwwLDEwNiw0LDAsMTI1LDIsMCwKLSAgICA4NywxMTAsMTgsMCw0LDExNiw1LDAsMTA3LDEwLDAsMTE0LDEwNywwLDEsMSwKLSAgICAxLDg5LDExMCwyOSwwLDg4LDEyNCwyLDAsMTAwLDAsMCwxMDcsOSwwLDExNCwKLSAgICAxMzYsMCwxMTYsNiwwLDEyNCwyLDAsMTMxLDEsMCwxMDYsMiwwLDEzMSwwLAotICAgIDAsODMsMTIxLDEzLDAsMTI0LDAsMCwxMDYsNywwLDEyNSwzLDAsODcsMTEwLAotICAgIDI0LDAsNCwxMTYsNSwwLDEwNywxMCwwLDExNCwxNzUsMCwxLDEsMSwxMDAsCi0gICAgMywwLDEyNSwzLDAsODksMTEwLDEsMCw4OCwxMjEsMTMsMCwxMjQsMCwwLAotICAgIDEwNiw4LDAsMTI1LDQsMCw4NywxMTAsNTksMCw0LDExNiw1LDAsMTA3LDEwLAotICAgIDAsMTE0LDI1MCwwLDEsMSwxLDEyNCwxLDAsMTAwLDAsMCwxMDcsOCwwLAotICAgIDExNCwyMzAsMCwxMDAsNCwwLDEwNiw5LDAsMTI0LDMsMCwxMzEsMSwwLDgzLAotICAgIDEwMCw1LDAsMTA2LDksMCwxMjQsMywwLDEyNCwxLDAsMTMxLDIsMCw4MywKLSAgICA4OSwxMTAsMTcsMCw4OCwxMDAsNiwwLDEwNiw5LDAsMTI0LDMsMCwxMjQsNCwKLSAgICAwLDEzMSwyLDAsODMsMTAwLDAsMCw4Myw0MSw3LDc4LDIxOCwxMCw5NSw5NSwKLSAgICAxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDk1LDk1LDIxOCwxMSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwKLSAgICA5NSwxMTQsMTAxLDExMiwxMTQsMjUwLDEsNjMsMTIyLDEzLDYwLDEwOSwxMTEsMTAwLDExNywxMDgsCi0gICAgMTAxLDMyLDEyMywzMywxMTQsMTI1LDYyLDEyMiwyMCw2MCwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwKLSAgICAzMiwxMjMsMzMsMTE0LDEyNSwzMiw0MCwxMjMsMzMsMTE0LDEyNSw0MSw2MiwxMjIsMjMsNjAsCi0gICAgMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTIzLDMzLDExNCwxMjUsMzIsMTAyLDExNCwxMTEsMTA5LAotICAgIDMyLDEyMywzMywxMTQsMTI1LDYyLDQxLDEwLDExNCw2MiwwLDAsMCwxMTQsNjAsMCwKLSAgICAwLDAsMTE0LDIwNiwwLDAsMCwyMTgsOSw2OSwxMjAsOTksMTAxLDExMiwxMTYsMTA1LAotICAgIDExMSwxMTAsMjE4LDgsOTUsOTUsMTE1LDExMiwxMDEsOTksOTUsOTUsMjE4LDE0LDY1LDExNiwKLSAgICAxMTYsMTE0LDEwNSw5OCwxMTcsMTE2LDEwMSw2OSwxMTQsMTE0LDExMSwxMTQsMTE0LDE3NSwwLDAsCi0gICAgMCwxMTQsNTcsMCwwLDAsMjE4LDgsOTUsOTUsMTAyLDEwNSwxMDgsMTAxLDk1LDk1LAotICAgIDExNCw0NywwLDAsMCw0MSw1LDExNCwxODAsMCwwLDAsMTE0LDE3MCwwLDAsCi0gICAgMCwxMTQsMTc4LDAsMCwwLDExNCw2NywwLDAsMCwxMTQsMTMxLDAsMCwwLAorICAgIDI5LDEyMywzMywxMTQsMTI1LDMyLDEwNSwxMTUsMzIsMTEwLDExMSwxMTYsMzIsOTcsMzIsOTgsCisgICAgMTE3LDEwNSwxMDgsMTE2LDQ1LDEwNSwxMTAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE0LDY3LAorICAgIDAsMCwwLDQxLDQsMTE0LDcsMCwwLDAsMjE4LDIwLDk4LDExNywxMDUsMTA4LAorICAgIDExNiwxMDUsMTEwLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk1LDExMCw5NywxMDksMTAxLDExNSwKKyAgICAxMTQsMTU0LDAsMCwwLDExNCw0NywwLDAsMCw0MSwyLDExNCw3MSwwLDAsCisgICAgMCwyMTgsOCwxMDIsMTE3LDEwOCwxMDgsMTEwLDk3LDEwOSwxMDEsNDEsMSwyMTgsMywxMDIsCisgICAgMTIwLDExMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMjUsOTUsMTE0LAorICAgIDEwMSwxMTMsMTE3LDEwNSwxMTQsMTAxLDExNSw5NSw5OCwxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCw5NSwKKyAgICAxMTksMTE0LDk3LDExMiwxMTIsMTAxLDExNCwzNSwyLDAsMCwxMTUsOCwwLDAsMCwKKyAgICAwLDEsMTUsMSwxOCwxLDksMSwxMjIsNTIsOTUsMTE0LDEwMSwxMTMsMTE3LDEwNSwKKyAgICAxMTQsMTAxLDExNSw5NSw5OCwxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCw0Niw2MCwxMDgsMTExLDk5LAorICAgIDk3LDEwOCwxMTUsNjIsNDYsOTUsMTE0LDEwMSwxMTMsMTE3LDEwNSwxMTQsMTAxLDExNSw5NSw5OCwKKyAgICAxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCw5NSwxMTksMTE0LDk3LDExMiwxMTIsMTAxLDExNCw0MSwxLAorICAgIDExNCw2NSwwLDAsMCw0MSwyLDExNCwxNjAsMCwwLDAsMTE0LDE2MSwwLDAsCisgICAgMCwxMTQsNCwwLDAsMCw0MSwxLDExNCwxNjAsMCwwLDAsMTE0LDUsMCwKKyAgICAwLDAsMjE4LDE3LDk1LDExNCwxMDEsMTEzLDExNywxMDUsMTE0LDEwMSwxMTUsOTUsOTgsMTE3LAorICAgIDEwNSwxMDgsMTE2LDEwNSwxMTAsMzMsMiwwLDAsMTE1LDYsMCwwLDAsMCwyLAorICAgIDE4LDUsMTMsMSwxMTQsMTYyLDAsMCwwLDk5LDEsMCwwLDAsMCwwLAorICAgIDAsMCwyLDAsMCwwLDMsMCwwLDAsMywwLDAsMCwxMTUsMzUsCisgICAgMCwwLDAsMTM1LDAsMCwxMDIsMSwwLDEwMCwxLDAsMTAwLDIsMCwxMzQsCisgICAgMCwwLDEyNSwxLDAsMTE2LDAsMCwxMjQsMSwwLDEzNiwwLDAsMTMxLDIsCisgICAgMCwxLDEyNCwxLDAsODMsNDEsMywxMjIsNDcsNjgsMTAxLDk5LDExMSwxMTQsOTcsCisgICAgMTE2LDExMSwxMTQsMzIsMTE2LDExMSwzMiwxMTgsMTAxLDExNCwxMDUsMTAyLDEyMSwzMiwxMTYsMTA0LAorICAgIDEwMSwzMiwxMTAsOTcsMTA5LDEwMSwxMDAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTA1LAorICAgIDExNSwzMiwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCw0Niw5OSwyLDAsMCwwLDAsMCwKKyAgICAwLDAsMiwwLDAsMCw0LDAsMCwwLDE5LDAsMCwwLDExNSw1NSwKKyAgICAwLDAsMCwxMTYsMCwwLDEwNiwxLDAsMTI0LDEsMCwxMzEsMSwwLDExNSwKKyAgICA0MiwwLDExNiwyLDAsMTAwLDEsMCwxMDYsMywwLDEyNCwxLDAsMTMxLDEsCisgICAgMCwxMDAsMiwwLDEyNCwxLDAsMTMxLDEsMSwxMzAsMSwwLDEzNiwwLDAsCisgICAgMTI0LDAsMCwxMjQsMSwwLDEzMSwyLDAsODMsNDEsMyw3OCwxMjIsMjcsMTIzLAorICAgIDMzLDExNCwxMjUsMzIsMTA1LDExNSwzMiwxMTAsMTExLDExNiwzMiw5NywzMiwxMDIsMTE0LDExMSwKKyAgICAxMjIsMTAxLDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTQsNjcsMCwwLDAsNDEsCisgICAgNCwxMTQsMTA2LDAsMCwwLDIxOCw5LDEwNSwxMTUsOTUsMTAyLDExNCwxMTEsMTIyLDEwMSwKKyAgICAxMTAsMTE0LDE1NCwwLDAsMCwxMTQsNDcsMCwwLDAsNDEsMiwxMTQsNzEsMCwKKyAgICAwLDAsMTE0LDE1OSwwLDAsMCw0MSwxLDExNCwxNjAsMCwwLDAsMTE0LDQsCisgICAgMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDI0LDk1LDExNCwxMDEsMTEzLDExNywxMDUsCisgICAgMTE0LDEwMSwxMTUsOTUsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsOTUsMTE5LDExNCw5NywxMTIsMTEyLAorICAgIDEwMSwxMTQsNDYsMiwwLDAsMTE1LDgsMCwwLDAsMCwxLDE1LDEsMTgsCisgICAgMSw5LDEsMTIyLDUwLDk1LDExNCwxMDEsMTEzLDExNywxMDUsMTE0LDEwMSwxMTUsOTUsMTAyLAorICAgIDExNCwxMTEsMTIyLDEwMSwxMTAsNDYsNjAsMTA4LDExMSw5OSw5NywxMDgsMTE1LDYyLDQ2LDk1LAorICAgIDExNCwxMDEsMTEzLDExNywxMDUsMTE0LDEwMSwxMTUsOTUsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsOTUsCisgICAgMTE5LDExNCw5NywxMTIsMTEyLDEwMSwxMTQsNDEsMSwxMTQsNjUsMCwwLDAsNDEsMiwKKyAgICAxMTQsMTYwLDAsMCwwLDExNCwxNjQsMCwwLDAsMTE0LDQsMCwwLDAsNDEsCisgICAgMSwxMTQsMTYwLDAsMCwwLDExNCw1LDAsMCwwLDIxOCwxNiw5NSwxMTQsMTAxLAorICAgIDExMywxMTcsMTA1LDExNCwxMDEsMTE1LDk1LDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDQ0LDIsMCwKKyAgICAwLDExNSw2LDAsMCwwLDAsMiwxOCw1LDEzLDEsMTE0LDE2NSwwLDAsCisgICAgMCw5OSwyLDAsMCwwLDAsMCwwLDAsNSwwLDAsMCw0LDAsCisgICAgMCwwLDY3LDAsMCwwLDExNSw4NCwwLDAsMCwxMjQsMCwwLDEwNiwwLAorICAgIDAsMTI0LDEsMCwxMzEsMSwwLDkyLDIsMCwxMjUsMiwwLDEyNSwzLDAsCisgICAgMTI0LDIsMCwxMDAsMSwwLDEwNyw4LDAsMTE0LDgwLDAsMTE2LDEsMCwxMjQsCisgICAgMywwLDEzMSwxLDAsMTE0LDgwLDAsMTAwLDIsMCwxMjUsNCwwLDExNiwyLAorICAgIDAsMTA2LDMsMCwxMjQsNCwwLDEwNiw0LDAsMTI0LDMsMCwxMDAsMywwLAorICAgIDI1LDEzMSwxLDAsMTE2LDUsMCwxMzEsMiwwLDEsMTI0LDIsMCw4Myw0MSwKKyAgICA0LDEyMiwxNTUsODQsMTE0LDEyMSwzMiwxMTYsMTExLDMyLDEwMiwxMDUsMTEwLDEwMCwzMiw5NywKKyAgICAzMiwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDMyLDEwMiwxMTEsMTE0LDMyLDExNiwxMDQsMTAxLDMyLAorICAgIDExNSwxMTIsMTAxLDk5LDEwNSwxMDIsMTA1LDEwMSwxMDAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsCisgICAgMzIsOTgsMTIxLDMyLDEwMCwxMDEsMTA4LDEwMSwxMDMsOTcsMTE2LDEwNSwxMTAsMTAzLDMyLDExNiwKKyAgICAxMTEsMTAsMzIsMzIsMzIsMzIsMTE1LDEwMSwxMDgsMTAyLDQ2LDEwMiwxMDUsMTEwLDEwMCw5NSwKKyAgICAxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDQwLDQxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDg0LAorICAgIDEwNCwxMDUsMTE1LDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDMyLDEwNSwxMTUsMzIsMTAwLDEwMSwKKyAgICAxMTIsMTE0LDEwMSw5OSw5NywxMTYsMTAxLDEwMCwzMiwxMDUsMTEwLDMyLDEwMiw5NywxMTgsMTExLAorICAgIDExNCwzMiwxMTEsMTAyLDMyLDEwMiwxMDUsMTEwLDEwMCwxMDEsMTE0LDQ2LDEwMiwxMDUsMTEwLDEwMCwKKyAgICA5NSwxMTUsMTEyLDEwMSw5OSw0MCw0MSw0NiwxMCwxMCwzMiwzMiwzMiwzMiw3OCwxMjIsCisgICAgNDQsNzgsMTExLDExNiwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDUsMTEwLDEwMywzMiwxMDAsCisgICAgMTA1LDExNCwxMDEsOTksMTE2LDExMSwxMTQsMTIxLDMyLDEyMywxMjUsNTgsMzIsMTA5LDEwNSwxMTUsCisgICAgMTE1LDEwNSwxMTAsMTAzLDMyLDk1LDk1LDEwNSwxMTAsMTA1LDExNiw5NSw5NSwxMTQsODQsMCwKKyAgICAwLDAsNDEsNiwyMTgsMTEsMTAyLDEwNSwxMTAsMTAwLDk1LDEwOCwxMTEsOTcsMTAwLDEwMSwKKyAgICAxMTQsMTE0LDMxLDAsMCwwLDIxOCw5LDk1LDExOSw5NywxMTQsMTEwLDEwNSwxMTAsMTAzLAorICAgIDExNSwyMTgsNCwxMTksOTcsMTE0LDExMCwxMTQsNDcsMCwwLDAsMjE4LDEzLDczLDEwOSwKKyAgICAxMTIsMTExLDExNCwxMTYsODcsOTcsMTE0LDExMCwxMDUsMTEwLDEwMyw0MSw1LDExNCw3MSwwLAorICAgIDAsMCwxMTQsMTU5LDAsMCwwLDIxOCw2LDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMjE4LAorICAgIDgsMTEyLDExMSwxMTQsMTE2LDEwNSwxMTEsMTEwLDExNSwyMTgsMywxMDksMTE1LDEwMywxMTQsNCwKKyAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTcsOTUsCisgICAgMTAyLDEwNSwxMTAsMTAwLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk1LDExNSwxMDQsMTA1LDEwOSwKKyAgICA1NSwyLDAsMCwxMTUsMTAsMCwwLDAsMCwxMCwyMSwxLDI0LDEsNiwKKyAgICAxLDI5LDEsMTE0LDE3MywwLDAsMCw5OSwyLDAsMCwwLDAsMCwwLAorICAgIDAsNCwwLDAsMCwzLDAsMCwwLDY3LDAsMCwwLDExNSw4MSwwLAorICAgIDAsMCwxMTYsMCwwLDEyNCwxLDAsMTI0LDAsMCwxMzEsMiwwLDEyNSwyLAorICAgIDAsMTI0LDEsMCwxMTYsMSwwLDEwNiwyLDAsMTA3LDYsMCwxMTQsNjcsMCwKKyAgICAxMTYsMSwwLDEwNiwyLDAsMTI0LDEsMCwyNSwxMjUsMywwLDExNiwzLDAsCisgICAgMTI0LDIsMCwxMjQsMywwLDEzMSwyLDAsMSwxMTYsMSwwLDEwNiwyLDAsCisgICAgMTI0LDEsMCwyNSw4MywxMTYsNCwwLDEyNCwyLDAsMTMxLDEsMCw4MywxMDAsCisgICAgMSwwLDgzLDQxLDIsMTIyLDEyOCw3NiwxMTEsOTcsMTAwLDMyLDExNiwxMDQsMTAxLDMyLAorICAgIDExNSwxMTIsMTAxLDk5LDEwNSwxMDIsMTA1LDEwMSwxMDAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsCisgICAgMzIsMTA1LDExMCwxMTYsMTExLDMyLDExNSwxMjEsMTE1LDQ2LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLAorICAgIDExNSwzMiw5NywxMTAsMTAwLDMyLDExNCwxMDEsMTE2LDExNywxMTQsMTEwLDMyLDEwNSwxMTYsNDYsCisgICAgMTAsMTAsMzIsMzIsMzIsMzIsODQsMTA0LDEwNSwxMTUsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwKKyAgICAxMDAsMzIsMTA1LDExNSwzMiwxMDAsMTAxLDExMiwxMTQsMTAxLDk5LDk3LDExNiwxMDEsMTAwLDQ2LAorICAgIDMyLDMyLDg1LDExNSwxMDEsMzIsMTA4LDExMSw5NywxMDAsMTAxLDExNCw0NiwxMDEsMTIwLDEwMSwKKyAgICA5OSw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMDUsMTEwLDExNSwxMTYsMTAxLDk3LDEwMCwKKyAgICA0NiwxMCwxMCwzMiwzMiwzMiwzMiw3OCw0MSw1LDIxOCwxNiwxMTUsMTEyLDEwMSw5OSwKKyAgICA5NSwxMDIsMTE0LDExMSwxMDksOTUsMTA4LDExMSw5NywxMDAsMTAxLDExNCwxMTQsNywwLDAsCisgICAgMCwxMTQsNzMsMCwwLDAsMjE4LDUsOTUsMTAxLDEyMCwxMDEsOTksMjE4LDUsOTUsCisgICAgMTA4LDExMSw5NywxMDAsNDEsNCwxMTQsNzEsMCwwLDAsMTE0LDE1OSwwLDAsMCwKKyAgICAyMTgsNCwxMTUsMTEyLDEwMSw5OSwyMTgsNiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTQsNCwKKyAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTcsOTUsCisgICAgMTA4LDExMSw5NywxMDAsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTUsMTE1LDEwNCwxMDUsMTA5LAorICAgIDczLDIsMCwwLDExNSwxMiwwLDAsMCwwLDYsMTUsMSwxNSwxLDEzLAorICAgIDEsMTMsMSwxMSwyLDExNCwxNzksMCwwLDAsOTksNCwwLDAsMCwwLAorICAgIDAsMCwwLDExLDAsMCwwLDE5LDAsMCwwLDY3LDAsMCwwLDExNSwKKyAgICAyMjgsMSwwLDAsMTA1LDAsMCwxMjUsNCwwLDEyNCwyLDAsMTAwLDEsMCwKKyAgICAxMDcsOSwwLDExNCwzMSwwLDEyNCwyLDAsMTI0LDQsMCwxMDAsMiwwLDYwLAorICAgIDExMCw2LDAsMTAwLDMsMCwxMjUsMiwwLDEyNCwzLDAsMTAwLDEsMCwxMDcsCisgICAgOSwwLDExNCw1OSwwLDEyNCwzLDAsMTI0LDQsMCwxMDAsNCwwLDYwLDEyNCwKKyAgICAwLDAsMTAwLDEsMCwxMDAsNSwwLDEzMywyLDAsMjUsMTI1LDUsMCwxMjQsCisgICAgMCwwLDEwMCw1LDAsMTAwLDYsMCwxMzMsMiwwLDI1LDEyNSw2LDAsMTI0LAorICAgIDAsMCwxMDAsNiwwLDEwMCw3LDAsMTMzLDIsMCwyNSwxMjUsNywwLDEyNCwKKyAgICA1LDAsMTE2LDAsMCwxMDcsMywwLDExNCwxNjUsMCwxMDAsOCwwLDEwNiwxLAorICAgIDAsMTI0LDIsMCwxMjQsNSwwLDEzMSwyLDAsMTI1LDgsMCwxMTYsMiwwLAorICAgIDEyNCw4LDAsMTMxLDEsMCwxLDExNiwzLDAsMTI0LDgsMCwxMjQsNCwwLAorICAgIDE0MSwxLDAsMTMwLDEsMCwxMTAsMTEzLDAsMTE2LDQsMCwxMjQsNiwwLDEzMSwKKyAgICAxLDAsMTAwLDUsMCwxMDcsMywwLDExNCwyMjMsMCwxMDAsOSwwLDEwNiwxLAorICAgIDAsMTI0LDIsMCwxMzEsMSwwLDEyNSw4LDAsMTE2LDIsMCwxMjQsOCwwLAorICAgIDEzMSwxLDAsMSwxMTYsNSwwLDEyNCw4LDAsMTMxLDEsMCwxMzAsMSwwLAorICAgIDExMCw1NSwwLDExNiw0LDAsMTI0LDcsMCwxMzEsMSwwLDEwMCw1LDAsMTA3LAorICAgIDMsMCwxMTQsMjIsMSwxMDAsMTAsMCwxMDYsMSwwLDEyNCwyLDAsMTMxLDEsCisgICAgMCwxMjUsOCwwLDExNiwyLDAsMTI0LDgsMCwxMzEsMSwwLDEsMTE2LDUsCisgICAgMCwxMjQsOCwwLDEzMSwxLDAsMTMwLDEsMCwxMjQsMSwwLDEwMCwxLDAsCisgICAgMTA3LDksMCwxMTQsMjE0LDEsMTIxLDIwLDAsMTE2LDYsMCwxMjQsMSwwLDEwMCwKKyAgICAxMSwwLDI1LDEzMSwxLDAsMTI1LDksMCw4NywxMTAsMTgsMCw0LDExNiw3LAorICAgIDAsMTA3LDEwLDAsMTE0LDc0LDEsMSwxLDEsODksMTEwLDU5LDAsODgsMTE2LAorICAgIDgsMCwxMjQsNiwwLDEzMSwxLDAsMTI0LDksMCwxMDcsMywwLDExNCwxMzMsCisgICAgMSwxMDAsMTIsMCwxMDYsMSwwLDEyNCwyLDAsMTMxLDEsMCwxMjUsOCwwLAorICAgIDExNiwyLDAsMTI0LDgsMCwxMzEsMSwwLDEsMTE2LDMsMCwxMjQsOCwwLAorICAgIDEyNCw0LDAsMTQxLDEsMCwxMzAsMSwwLDEyMSwxOCwwLDEyNCwxLDAsMTAwLAorICAgIDEzLDAsMjUsMTAwLDE0LDAsNjQsMTI1LDEwLDAsODcsMTEwLDE4LDAsNCwxMTYsCisgICAgNywwLDEwNywxMCwwLDExNCwxNzEsMSwxLDEsMSw4OSwxMTAsNDMsMCw4OCwKKyAgICAxMTYsOCwwLDEyNCw3LDAsMTMxLDEsMCwxMjQsMTAsMCwxMDcsMywwLDExNCwKKyAgICAyMTQsMSwxMTYsMywwLDEwMCwxMiwwLDEwNiwxLDAsMTI0LDIsMCwxMzEsMSwKKyAgICAwLDEyNCw0LDAsMTQxLDEsMCwxMzAsMSwwLDEyNCwwLDAsMTAwLDcsMCwKKyAgICAxMDAsMSwwLDEzMywyLDAsMjUsODMsNDEsMTUsOTcsMTIyLDEsMCwwLDg2LAorICAgIDk3LDEwOCwxMDUsMTAwLDk3LDExNiwxMDEsMzIsMTE2LDEwNCwxMDEsMzIsMTA0LDEwMSw5NywxMDAsCisgICAgMTAxLDExNCwzMiwxMTEsMTAyLDMyLDExNiwxMDQsMTAxLDMyLDExMiw5NywxMTUsMTE1LDEwMSwxMDAsCisgICAgNDUsMTA1LDExMCwzMiw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsMTAwLDEwMSwzMiw5NywxMDMsOTcsCisgICAgMTA1LDExMCwxMTUsMTE2LDMyLDExNSwxMTEsMTE3LDExNCw5OSwxMDEsOTUsMTE1LDExNiw5NywxMTYsCisgICAgMTE1LDMyLDQwLDEwNSwxMDIsMTAsMzIsMzIsMzIsMzIsMTAzLDEwNSwxMTgsMTAxLDExMCw0MSwKKyAgICAzMiw5NywxMTAsMTAwLDMyLDExNCwxMDEsMTE2LDExNywxMTQsMTEwLDEwNSwxMTAsMTAzLDMyLDExNiwKKyAgICAxMDQsMTAxLDMyLDk4LDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsMTAxLDMyLDExNiwxMDQsOTcsMTE2LAorICAgIDMyLDk5LDk3LDExMCwzMiw5OCwxMDEsMzIsOTksMTExLDEwOSwxMTIsMTA1LDEwOCwxMDEsMTAwLAorICAgIDMyLDk4LDEyMSwzMiw5OSwxMTEsMTA5LDExMiwxMDUsMTA4LDEwMSw0MCw0MSw0NiwxMCwxMCwKKyAgICAzMiwzMiwzMiwzMiw2NSwxMDgsMTA4LDMyLDExMSwxMTYsMTA0LDEwMSwxMTQsMzIsOTcsMTE0LAorICAgIDEwMywxMTcsMTA5LDEwMSwxMTAsMTE2LDExNSwzMiw5NywxMTQsMTAxLDMyLDExNywxMTUsMTAxLDEwMCwKKyAgICAzMiwxMTYsMTExLDMyLDEwMSwxMTAsMTA0LDk3LDExMCw5OSwxMDEsMzIsMTAxLDExNCwxMTQsMTExLAorICAgIDExNCwzMiwxMTQsMTAxLDExMiwxMTEsMTE0LDExNiwxMDUsMTEwLDEwMyw0NiwxMCwxMCwzMiwzMiwKKyAgICAzMiwzMiw3MywxMDksMTEyLDExMSwxMTQsMTE2LDY5LDExNCwxMTQsMTExLDExNCwzMiwxMDUsMTE1LAorICAgIDMyLDExNCw5NywxMDUsMTE1LDEwMSwxMDAsMzIsMTE5LDEwNCwxMDEsMTEwLDMyLDExNiwxMDQsMTAxLAorICAgIDMyLDEwOSw5NywxMDMsMTA1LDk5LDMyLDExMCwxMTcsMTA5LDk4LDEwMSwxMTQsMzIsMTA1LDExNSwKKyAgICAzMiwxMDUsMTEwLDk5LDExMSwxMTQsMTE0LDEwMSw5OSwxMTYsMzIsMTExLDExNCwzMiwxMTYsMTA0LAorICAgIDEwMSwzMiw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsMTAwLDEwMSwzMiwxMDUsMTE1LDEwLDMyLDMyLAorICAgIDMyLDMyLDEwMiwxMTEsMTE3LDExMCwxMDAsMzIsMTE2LDExMSwzMiw5OCwxMDEsMzIsMTE1LDExNiwKKyAgICA5NywxMDgsMTAxLDQ2LDMyLDY5LDc5LDcwLDY5LDExNCwxMTQsMTExLDExNCwzMiwxMDUsMTE1LAorICAgIDMyLDExNCw5NywxMDUsMTE1LDEwMSwxMDAsMzIsMTE5LDEwNCwxMDEsMTEwLDMyLDExNiwxMDQsMTAxLAorICAgIDMyLDEwMCw5NywxMTYsOTcsMzIsMTA1LDExNSwzMiwxMDIsMTExLDExNywxMTAsMTAwLDMyLDExNiwKKyAgICAxMTEsMzIsOTgsMTAxLDEwLDMyLDMyLDMyLDMyLDExNiwxMTQsMTE3LDExMCw5OSw5NywxMTYsCisgICAgMTAxLDEwMCw0NiwxMCwxMCwzMiwzMiwzMiwzMiw3OCwxMTQsNjcsMCwwLDAsMTIyLAorICAgIDEwLDYwLDk4LDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsMTAxLDYyLDExNCwzNSwwLDAsMCwKKyAgICAxMTQsMTIsMCwwLDAsMjMzLDgsMCwwLDAsMjMzLDEyLDAsMCwwLDEyMiwKKyAgICAzMCw5OCw5NywxMDAsMzIsMTA5LDk3LDEwMywxMDUsOTksMzIsMTEwLDExNywxMDksOTgsMTAxLAorICAgIDExNCwzMiwxMDUsMTEwLDMyLDEyMywzMywxMTQsMTI1LDU4LDMyLDEyMywzMywxMTQsMTI1LDEyMiwKKyAgICA0MywxMTQsMTAxLDk3LDk5LDEwNCwxMDEsMTAwLDMyLDY5LDc5LDcwLDMyLDExOSwxMDQsMTA1LAorICAgIDEwOCwxMDEsMzIsMTE0LDEwMSw5NywxMDAsMTA1LDExMCwxMDMsMzIsMTE2LDEwNSwxMDksMTAxLDExNSwKKyAgICAxMTYsOTcsMTA5LDExMiwzMiwxMDUsMTEwLDMyLDEyMywzMywxMTQsMTI1LDEyMiw0OCwxMTQsMTAxLAorICAgIDk3LDk5LDEwNCwxMDEsMTAwLDMyLDY5LDc5LDcwLDMyLDExOSwxMDQsMTA1LDEwOCwxMDEsMzIsCisgICAgMTE0LDEwMSw5NywxMDAsMTA1LDExMCwxMDMsMzIsMTE1LDEwNSwxMjIsMTAxLDMyLDExMSwxMDIsMzIsCisgICAgMTE1LDExMSwxMTcsMTE0LDk5LDEwMSwzMiwxMDUsMTEwLDMyLDEyMywzMywxMTQsMTI1LDIxOCw1LAorICAgIDEwOSwxMTYsMTA1LDEwOSwxMDEsMTIyLDI2LDk4LDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsMTAxLDMyLAorICAgIDEwNSwxMTUsMzIsMTE1LDExNiw5NywxMDgsMTAxLDMyLDEwMiwxMTEsMTE0LDMyLDEyMywzMywxMTQsCisgICAgMTI1LDIxOCw0LDExNSwxMDUsMTIyLDEwMSwxMDgsMywwLDAsMCwyNTUsMTI3LDI1NSwxMjcsCisgICAgMywwLDQxLDksMjE4LDEyLDc3LDY1LDcxLDczLDY3LDk1LDc4LDg1LDc3LDY2LAorICAgIDY5LDgyLDExNCw0NywwLDAsMCwxMTQsMTUzLDAsMCwwLDExNCwxNTQsMCwwLAorICAgIDAsMTE0LDMxLDAsMCwwLDIxOCw4LDY5LDc5LDcwLDY5LDExNCwxMTQsMTExLDExNCwKKyAgICAxMTQsMTQsMCwwLDAsMTE0LDc5LDAsMCwwLDExNCwxOSwwLDAsMCw0MSwKKyAgICAxMSwxMTQsNTMsMCwwLDAsMjE4LDEyLDExNSwxMTEsMTE3LDExNCw5OSwxMDEsOTUsMTE1LAorICAgIDExNiw5NywxMTYsMTE1LDExNCw2NywwLDAsMCwxMTQsMzUsMCwwLDAsOTAsMTEsCisgICAgMTAxLDEyMCw5OSw5NSwxMDAsMTAxLDExNiw5NywxMDUsMTA4LDExNSw5MCw1LDEwOSw5NywxMDMsCisgICAgMTA1LDk5LDkwLDEzLDExNCw5NywxMTksOTUsMTE2LDEwNSwxMDksMTAxLDExNSwxMTYsOTcsMTA5LAorICAgIDExMiw5MCw4LDExNCw5NywxMTksOTUsMTE1LDEwNSwxMjIsMTAxLDExNCwxNTIsMCwwLDAsCisgICAgMjE4LDEyLDExNSwxMTEsMTE3LDExNCw5OSwxMDEsOTUsMTA5LDExNiwxMDUsMTA5LDEwMSwyMTgsMTEsCisgICAgMTE1LDExMSwxMTcsMTE0LDk5LDEwMSw5NSwxMTUsMTA1LDEyMiwxMDEsMTE0LDQsMCwwLDAsCisgICAgMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDI1LDk1LDExOCw5NywxMDgsCisgICAgMTA1LDEwMCw5NywxMTYsMTAxLDk1LDk4LDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsMTAxLDk1LDEwNCwKKyAgICAxMDEsOTcsMTAwLDEwMSwxMTQsODgsMiwwLDAsMTE1LDc2LDAsMCwwLDAsMTEsCisgICAgNiwxLDEyLDEsMTMsMyw2LDEsMTIsMSwxMCwxLDE2LDEsMTYsMSwKKyAgICAxNiwxLDEyLDEsMTgsMSwxMCwxLDE4LDEsMTgsMSwxNSwxLDEwLDEsCisgICAgMTUsMSwxOCwxLDE1LDEsMTAsMSwxMiwxLDEyLDEsMywxLDIwLDEsCisgICAgMTMsMSw1LDIsMTgsMSwxNSwxLDEwLDEsMTUsMSwzLDEsMTgsMSwKKyAgICAxMywxLDUsMiwxOCwxLDE1LDEsOSwxLDExNCwxODksMCwwLDAsOTksCisgICAgNCwwLDAsMCwwLDAsMCwwLDUsMCwwLDAsNiwwLDAsMCwKKyAgICA2NywwLDAsMCwxMTUsMTEyLDAsMCwwLDExNiwwLDAsMTA2LDEsMCwxMjQsCisgICAgMCwwLDEzMSwxLDAsMTI1LDQsMCwxMTYsMiwwLDEyNCw0LDAsMTE2LDMsCisgICAgMCwxMzEsMiwwLDExNCw3NSwwLDExNiw0LDAsMTAwLDEsMCwxMjQsMiwwLAorICAgIDEzMSwyLDAsMSwxMjQsMywwLDEwMCwyLDAsMTA3LDksMCwxMTQsNzEsMCwKKyAgICAxMTYsNSwwLDEwNiw2LDAsMTI0LDQsMCwxMjQsMywwLDEzMSwyLDAsMSwKKyAgICAxMjQsNCwwLDgzLDExNiw3LDAsMTAwLDMsMCwxMDYsOCwwLDEyNCwyLDAsCisgICAgMTMxLDEsMCwxMDAsNCwwLDEyNCwxLDAsMTAwLDUsMCwxMjQsMiwwLDEzMSwKKyAgICAxLDIsMTMwLDEsMCwxMDAsMiwwLDgzLDQxLDYsMTIyLDYwLDY3LDExMSwxMDksCisgICAgMTEyLDEwNSwxMDgsMTAxLDMyLDk4LDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsMTAxLDMyLDk3LDExNSwKKyAgICAzMiwxMTQsMTAxLDExNiwxMTcsMTE0LDExMCwxMDEsMTAwLDMyLDk4LDEyMSwzMiw5NSwxMTgsOTcsCisgICAgMTA4LDEwNSwxMDAsOTcsMTE2LDEwMSw5NSw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsMTAwLDEwMSw5NSwKKyAgICAxMDQsMTAxLDk3LDEwMCwxMDEsMTE0LDQwLDQxLDQ2LDEyMiwyMSw5OSwxMTEsMTAwLDEwMSwzMiwKKyAgICAxMTEsOTgsMTA2LDEwMSw5OSwxMTYsMzIsMTAyLDExNCwxMTEsMTA5LDMyLDEyMywzMywxMTQsMTI1LAorICAgIDc4LDEyMiwyMyw3OCwxMTEsMTEwLDQ1LDk5LDExMSwxMDAsMTAxLDMyLDExMSw5OCwxMDYsMTAxLAorICAgIDk5LDExNiwzMiwxMDUsMTEwLDMyLDEyMywzMywxMTQsMTI1LDExNCw2NywwLDAsMCwxMTQsCisgICAgMzUsMCwwLDAsNDEsOSwyMTgsNywxMDksOTcsMTE0LDExNSwxMDQsOTcsMTA4LDkwLAorICAgIDUsMTA4LDExMSw5NywxMDAsMTE1LDIxOCwxMCwxMDUsMTE1LDEwNSwxMTAsMTE1LDExNiw5NywxMTAsCisgICAgOTksMTAxLDIxOCwxMCw5NSw5OSwxMTEsMTAwLDEwMSw5NSwxMTYsMTIxLDExMiwxMDEsMTE0LDE1MywKKyAgICAwLDAsMCwxMTQsMTA2LDAsMCwwLDkwLDE2LDk1LDEwMiwxMDUsMTIwLDk1LDk5LAorICAgIDExMSw5NSwxMDIsMTA1LDEwOCwxMDEsMTEwLDk3LDEwOSwxMDEsMTE0LDE1NCwwLDAsMCwxMTQsCisgICAgNDcsMCwwLDAsNDEsNSwxMTQsNTMsMCwwLDAsMTE0LDY3LDAsMCwwLAorICAgIDExNCwxNDEsMCwwLDAsMTE0LDE0MiwwLDAsMCwyMTgsNCw5OSwxMTEsMTAwLDEwMSwKICAgICAxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsCi0gICAgMTIsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTUsMTE0LDEwMSwxMTIsMTE0LDE3OCwyLDAsCisgICAgMTcsOTUsOTksMTExLDEwOSwxMTIsMTA1LDEwOCwxMDEsOTUsOTgsMTIxLDExNiwxMDEsOTksMTExLAorICAgIDEwMCwxMDEsMTQzLDIsMCwwLDExNSwxNiwwLDAsMCwwLDIsMTUsMSwxNSwKKyAgICAxLDEzLDEsMTIsMSwxNiwxLDQsMiwxOCwxLDExNCwxOTQsMCwwLDAsCisgICAgMTE0LDg0LDAsMCwwLDk5LDMsMCwwLDAsMCwwLDAsMCw0LDAsCisgICAgMCwwLDMsMCwwLDAsNjcsMCwwLDAsMTE1LDc2LDAsMCwwLDExNiwKKyAgICAwLDAsMTE2LDEsMCwxMzEsMSwwLDEyNSwzLDAsMTI0LDMsMCwxMDYsMiwKKyAgICAwLDExNiwzLDAsMTI0LDEsMCwxMzEsMSwwLDEzMSwxLDAsMSwxMjQsMywKKyAgICAwLDEwNiwyLDAsMTE2LDMsMCwxMjQsMiwwLDEzMSwxLDAsMTMxLDEsMCwKKyAgICAxLDEyNCwzLDAsMTA2LDIsMCwxMTYsNCwwLDEwNiw1LDAsMTI0LDAsMCwKKyAgICAxMzEsMSwwLDEzMSwxLDAsMSwxMjQsMywwLDgzLDQxLDEsMTIyLDgwLDY3LAorICAgIDExMSwxMDksMTEyLDEwNSwxMDgsMTAxLDMyLDk3LDMyLDk5LDExMSwxMDAsMTAxLDMyLDExMSw5OCwKKyAgICAxMDYsMTAxLDk5LDExNiwzMiwxMDUsMTEwLDExNiwxMTEsMzIsOTgsMTIxLDExNiwxMDEsOTksMTExLAorICAgIDEwMCwxMDEsMzIsMTAyLDExMSwxMTQsMzIsMTE5LDExNCwxMDUsMTE2LDEwNSwxMTAsMTAzLDMyLDExMSwKKyAgICAxMTcsMTE2LDMyLDExNiwxMTEsMzIsOTcsMzIsOTgsMTIxLDExNiwxMDEsNDUsOTksMTExLDEwOSwKKyAgICAxMTIsMTA1LDEwOCwxMDEsMTAwLDEwLDMyLDMyLDMyLDMyLDEwMiwxMDUsMTA4LDEwMSw0Niw0MSwKKyAgICA2LDIxOCw5LDk4LDEyMSwxMTYsMTAxLDk3LDExNCwxMTQsOTcsMTIxLDExNCwxODQsMCwwLAorICAgIDAsMjE4LDYsMTAxLDEyMCwxMTYsMTAxLDExMCwxMDAsMTE0LDE3LDAsMCwwLDExNCwxOTAsCisgICAgMCwwLDAsOTAsNSwxMDAsMTE3LDEwOSwxMTIsMTE1LDQxLDQsMTE0LDE5MywwLDAsCisgICAgMCwxMTQsMTgyLDAsMCwwLDExNCwxODgsMCwwLDAsMTE0LDUzLDAsMCwwLAorICAgIDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwKKyAgICAxNyw5NSw5OSwxMTEsMTAwLDEwMSw5NSwxMTYsMTExLDk1LDk4LDEyMSwxMTYsMTAxLDk5LDExMSwKKyAgICAxMDAsMTAxLDE1NSwyLDAsMCwxMTUsMTAsMCwwLDAsMCwzLDEyLDEsMTksCisgICAgMSwxOSwxLDIyLDEsMTE0LDE5NywwLDAsMCw5OSwxLDAsMCwwLDAsCisgICAgMCwwLDAsNSwwLDAsMCw0LDAsMCwwLDY3LDAsMCwwLDExNSwKKyAgICA4OSwwLDAsMCwxMDAsMSwwLDEwMCwyLDAsMTA4LDAsMCwxMjUsMSwwLAorICAgIDExNiwxLDAsMTA2LDIsMCwxMjQsMCwwLDEzMSwxLDAsMTA2LDMsMCwxMjUsCisgICAgMiwwLDEyNCwxLDAsMTA2LDQsMCwxMjQsMiwwLDEzMSwxLDAsMTI1LDMsCisgICAgMCwxMTYsMSwwLDEwNiw1LDAsMTAwLDIsMCwxMDAsMywwLDEzMSwyLDAsCisgICAgMTI1LDQsMCwxMjQsNCwwLDEwNiw2LDAsMTI0LDAsMCwxMDYsNiwwLDEyNCwKKyAgICAzLDAsMTAwLDEsMCwyNSwxMzEsMSwwLDEzMSwxLDAsODMsNDEsNCwxMjIsCisgICAgMTIxLDY4LDEwMSw5OSwxMTEsMTAwLDEwMSwzMiw5OCwxMjEsMTE2LDEwMSwxMTUsMzIsMTE0LDEwMSwKKyAgICAxMTIsMTE0LDEwMSwxMTUsMTAxLDExMCwxMTYsMTA1LDExMCwxMDMsMzIsMTE1LDExMSwxMTcsMTE0LDk5LAorICAgIDEwMSwzMiw5OSwxMTEsMTAwLDEwMSwzMiw5NywxMTAsMTAwLDMyLDExNCwxMDEsMTE2LDExNywxMTQsCisgICAgMTEwLDMyLDExNiwxMDQsMTAxLDMyLDExNSwxMTYsMTE0LDEwNSwxMTAsMTAzLDQ2LDEwLDEwLDMyLAorICAgIDMyLDMyLDMyLDg1LDExMCwxMDUsMTE4LDEwMSwxMTQsMTE1LDk3LDEwOCwzMiwxMTAsMTAxLDExOSwKKyAgICAxMDgsMTA1LDExMCwxMDEsMzIsMTE1LDExNywxMTIsMTEyLDExMSwxMTQsMTE2LDMyLDEwNSwxMTUsMzIsCisgICAgMTE3LDExNSwxMDEsMTAwLDMyLDEwNSwxMTAsMzIsMTE2LDEwNCwxMDEsMzIsMTAwLDEwMSw5OSwxMTEsCisgICAgMTAwLDEwNSwxMTAsMTAzLDQ2LDEwLDMyLDMyLDMyLDMyLDExNCw4NCwwLDAsMCw3OCwKKyAgICA4NCw0MSw3LDIxOCw4LDExNiwxMTEsMTA3LDEwMSwxMTAsMTA1LDEyMiwxMDEsMTE0LDQ5LDAsCisgICAgMCwwLDkwLDcsNjYsMTIxLDExNiwxMDEsMTE1LDczLDc5LDkwLDgsMTE0LDEwMSw5NywKKyAgICAxMDAsMTA4LDEwNSwxMTAsMTAxLDkwLDE1LDEwMCwxMDEsMTE2LDEwMSw5OSwxMTYsOTUsMTAxLDExMCwKKyAgICA5OSwxMTEsMTAwLDEwNSwxMTAsMTAzLDkwLDI1LDczLDExMCw5OSwxMTQsMTAxLDEwOSwxMDEsMTEwLAorICAgIDExNiw5NywxMDgsNzgsMTAxLDExOSwxMDgsMTA1LDExMCwxMDEsNjgsMTAxLDk5LDExMSwxMDAsMTAxLAorICAgIDExNCwyMTgsNiwxMDAsMTAxLDk5LDExMSwxMDAsMTAxLDQxLDUsMjE4LDEyLDExNSwxMTEsMTE3LAorICAgIDExNCw5OSwxMDEsOTUsOTgsMTIxLDExNiwxMDEsMTE1LDExNCwxOTgsMCwwLDAsOTAsMjEsCisgICAgMTE1LDExMSwxMTcsMTE0LDk5LDEwMSw5NSw5OCwxMjEsMTE2LDEwMSwxMTUsOTUsMTE0LDEwMSw5NywKKyAgICAxMDAsMTA4LDEwNSwxMTAsMTAxLDIxOCw4LDEwMSwxMTAsOTksMTExLDEwMCwxMDUsMTEwLDEwMyw5MCwKKyAgICAxNSwxMTAsMTAxLDExOSwxMDgsMTA1LDExMCwxMDEsOTUsMTAwLDEwMSw5OSwxMTEsMTAwLDEwMSwxMTQsCisgICAgMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LAorICAgIDEzLDEwMCwxMDEsOTksMTExLDEwMCwxMDEsOTUsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSwxNjUsMiwKKyAgICAwLDAsMTE1LDEwLDAsMCwwLDAsNSwxMiwxLDE4LDEsMTUsMSwxOCwKKyAgICAxLDExNCwyMDIsMCwwLDAsOTksMSwwLDAsMCwwLDAsMCwwLDUsCisgICAgMCwwLDAsMzUsMCwwLDAsNjcsMCwwLDAsMTE1LDYsMSwwLDAsCisgICAgMTE2LDAsMCwxMjQsMCwwLDEwMCwxLDAsMTAwLDAsMCwxMzEsMywwLDEyNSwKKyAgICAxLDAsMTE2LDEsMCwxMjQsMSwwLDEwMCwyLDAsMTMxLDIsMCwxMTQsNzEsCisgICAgMCwxMjEsMTcsMCwxMjQsMSwwLDEwNiwyLDAsMTI0LDAsMCwxMzEsMSwwLAorICAgIDgzLDg3LDExMCwxOCwwLDQsMTE2LDMsMCwxMDcsMTAsMCwxMTQsNzAsMCwxLAorICAgIDEsMSw4OSwxMTAsMSwwLDg4LDEyMSwxMywwLDEyNCwwLDAsMTA2LDQsMCwKKyAgICAxMjUsMiwwLDg3LDExMCwxOCwwLDQsMTE2LDUsMCwxMDcsMTAsMCwxMTQsMTA0LAorICAgIDAsMSwxLDEsODksMTEwLDIzLDAsODgsMTI0LDIsMCwxMDAsMCwwLDEwNywKKyAgICA5LDAsMTE0LDEyNywwLDExNiw2LDAsMTI0LDIsMCwxMzEsMSwwLDgzLDEyMSwKKyAgICAxMywwLDEyNCwwLDAsMTA2LDcsMCwxMjUsMywwLDg3LDExMCwyNCwwLDQsCisgICAgMTE2LDUsMCwxMDcsMTAsMCwxMTQsMTY2LDAsMSwxLDEsMTAwLDMsMCwxMjUsCisgICAgMywwLDg5LDExMCwxLDAsODgsMTIxLDEzLDAsMTI0LDAsMCwxMDYsOCwwLAorICAgIDEyNSw0LDAsODcsMTEwLDU5LDAsNCwxMTYsNSwwLDEwNywxMCwwLDExNCwyNDEsCisgICAgMCwxLDEsMSwxMjQsMSwwLDEwMCwwLDAsMTA3LDgsMCwxMTQsMjIxLDAsCisgICAgMTAwLDQsMCwxMDYsOSwwLDEyNCwzLDAsMTMxLDEsMCw4MywxMDAsNSwwLAorICAgIDEwNiw5LDAsMTI0LDMsMCwxMjQsMSwwLDEzMSwyLDAsODMsODksMTEwLDE3LAorICAgIDAsODgsMTAwLDYsMCwxMDYsOSwwLDEyNCwzLDAsMTI0LDQsMCwxMzEsMiwKKyAgICAwLDgzLDEwMCwwLDAsODMsNDEsNyw3OCwyMTgsMTAsOTUsOTUsMTA4LDExMSw5NywKKyAgICAxMDAsMTAxLDExNCw5NSw5NSwyMTgsMTEsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTUsMTE0LDEwMSwKKyAgICAxMTIsMTE0LDI1MCwxLDYzLDEyMiwxMyw2MCwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMjMsCisgICAgMzMsMTE0LDEyNSw2MiwxMjIsMjAsNjAsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTIzLDMzLAorICAgIDExNCwxMjUsMzIsNDAsMTIzLDMzLDExNCwxMjUsNDEsNjIsMTIyLDIzLDYwLDEwOSwxMTEsMTAwLAorICAgIDExNywxMDgsMTAxLDMyLDEyMywzMywxMTQsMTI1LDMyLDEwMiwxMTQsMTExLDEwOSwzMiwxMjMsMzMsCisgICAgMTE0LDEyNSw2Miw0MSwxMCwxMTQsNjIsMCwwLDAsMTE0LDYwLDAsMCwwLDExNCwKKyAgICAyMDQsMCwwLDAsMjE4LDksNjksMTIwLDk5LDEwMSwxMTIsMTE2LDEwNSwxMTEsMTEwLDIxOCwKKyAgICA4LDk1LDk1LDExNSwxMTIsMTAxLDk5LDk1LDk1LDIxOCwxNCw2NSwxMTYsMTE2LDExNCwxMDUsCisgICAgOTgsMTE3LDExNiwxMDEsNjksMTE0LDExNCwxMTEsMTE0LDIxOCwyMiw5NSwxMDksMTExLDEwMCwxMTcsCisgICAgMTA4LDEwMSw5NSwxMTQsMTAxLDExMiwxMTQsOTUsMTAyLDExNCwxMTEsMTA5LDk1LDExNSwxMTIsMTAxLAorICAgIDk5LDExNCw1NywwLDAsMCwyMTgsOCw5NSw5NSwxMDIsMTA1LDEwOCwxMDEsOTUsOTUsCisgICAgMTE0LDQ3LDAsMCwwLDQxLDUsMTE0LDE3OCwwLDAsMCwxMTQsMTcwLDAsMCwKKyAgICAwLDExNCwxNzcsMCwwLDAsMTE0LDY3LDAsMCwwLDExNCwxMzEsMCwwLDAsCisgICAgMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LAorICAgIDEyLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk1LDExNCwxMDEsMTEyLDExNCwxNzksMiwwLAogICAgIDAsMTE1LDQ2LDAsMCwwLDAsMiwxOCwxLDE1LDQsMywxLDE3LDEsCi0gICAgMTMsMSw4LDEsMywxLDEzLDEsMTMsMSw1LDIsMTIsMSwxNiw0LAorICAgIDEzLDEsNSwxLDMsMSwxMywxLDEzLDEsNSwyLDEyLDEsMTAsNCwKICAgICAzLDEsMTMsMSwxMywxLDExLDEsMywxLDEzLDEsMTMsMSwxMiwxLAotICAgIDEzLDIsMjEsMiwxMTQsMjEyLDAsMCwwLDk5LDAsMCwwLDAsMCwwLAorICAgIDEzLDIsMjEsMiwxMTQsMjExLDAsMCwwLDk5LDAsMCwwLDAsMCwwLAogICAgIDAsMCwwLDAsMCwwLDIsMCwwLDAsNjQsMCwwLDAsMTE1LDUyLAogICAgIDAsMCwwLDEwMSwwLDAsOTAsMSwwLDEwMCwwLDAsOTAsMiwwLDEwMCwKICAgICAxLDAsMTAwLDIsMCwxMzIsMCwwLDkwLDMsMCwxMDAsMywwLDEwMCw0LApAQCAtMTI3MiwyMSArMTI3MCwyMSBAQAogICAgIDAsMCwwLDAsMCwyLDAsMCwwLDIsMCwwLDAsNjcsMCwwLAogICAgIDAsMTE1LDI1LDAsMCwwLDEyNCwxLDAsMTI0LDAsMCw5NSwwLDAsMTI0LAogICAgIDEsMCwxMDYsMSwwLDEyNCwwLDAsOTUsMiwwLDEwMCwwLDAsODMsNDEsCi0gICAgMSw3OCw0MSwzLDIxOCw3LDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNCwyMDksMCwKKyAgICAxLDc4LDQxLDMsMjE4LDcsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE0LDIwNywwLAogICAgIDAsMCwyMTgsNSw5NSwxMTUsMTEyLDEwMSw5OSw0MSwyLDExNCw3MSwwLDAsMCwKLSAgICAxMTQsMTgwLDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCwKLSAgICA1LDAsMCwwLDExNCw3MiwwLDAsMCwyMTYsMiwwLDAsMTE1LDQsMCwKKyAgICAxMTQsMTc4LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCwKKyAgICA1LDAsMCwwLDExNCw3MiwwLDAsMCwyMTcsMiwwLDAsMTE1LDQsMCwKICAgICAwLDAsMCwxLDksMSwxMjIsMjYsOTUsMTA1LDExMCwxMTUsMTE2LDk3LDEwOCwxMDgsCiAgICAgMTAxLDEwMCw5NSwxMTUsOTcsMTAyLDEwMSwxMDgsMTIxLDQ2LDk1LDk1LDEwNSwxMTAsMTA1LDExNiwKICAgICA5NSw5NSw5OSwxLDAsMCwwLDAsMCwwLDAsMSwwLDAsMCwzLAogICAgIDAsMCwwLDY3LDAsMCwwLDExNSwzOCwwLDAsMCwxMDAsMSwwLDEyNCwKICAgICAwLDAsMTA2LDAsMCw5NSwxLDAsMTI0LDAsMCwxMDYsMiwwLDExNiwzLAogICAgIDAsMTA2LDQsMCwxMjQsMCwwLDEwNiwwLDAsMTA2LDUsMCw2MCwxMDAsMCwKLSAgICAwLDgzLDQxLDIsNzgsODQsNDEsNiwxMTQsMjE1LDAsMCwwLDIxOCwxMyw5NSwKLSAgICAxMDUsMTEwLDEwNSwxMTYsMTA1LDk3LDEwOCwxMDUsMTIyLDEwNSwxMTAsMTAzLDExNCwyMTQsMCwwLAorICAgIDAsODMsNDEsMiw3OCw4NCw0MSw2LDExNCwyMTQsMCwwLDAsMjE4LDEzLDk1LAorICAgIDEwNSwxMTAsMTA1LDExNiwxMDUsOTcsMTA4LDEwNSwxMjIsMTA1LDExMCwxMDMsMTE0LDIxMywwLDAsCiAgICAgMCwxMTQsNywwLDAsMCwxMTQsNzMsMCwwLDAsMTE0LDY3LDAsMCwwLAogICAgIDQxLDEsMTE0LDcxLDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwKLSAgICAwLDExNCw1LDAsMCwwLDExNCw3NSwwLDAsMCwyMjAsMiwwLDAsMTE1LAorICAgIDAsMTE0LDUsMCwwLDAsMTE0LDc1LDAsMCwwLDIyMSwyLDAsMCwxMTUsCiAgICAgNCwwLDAsMCwwLDQsMTIsMSwxMjIsMjcsOTUsMTA1LDExMCwxMTUsMTE2LDk3LAogICAgIDEwOCwxMDgsMTAxLDEwMCw5NSwxMTUsOTcsMTAyLDEwMSwxMDgsMTIxLDQ2LDk1LDk1LDEwMSwxMTAsCiAgICAgMTE2LDEwMSwxMTQsOTUsOTUsOTksMSwwLDAsMCwwLDAsMCwwLDMsMCwKQEAgLTEzMDQsMjUgKzEzMDIsMjUgQEAKICAgICAwLDEwMCwwLDAsMTA3LDksMCw4NiwxLDExMywzLDAsMTAwLDAsMCw4MywKICAgICA0MSwxLDc4LDExNCw0LDAsMCwwLDQxLDIsMTE0LDIyLDAsMCwwLDExNCwKICAgICA3NiwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwKLSAgICAwLDAsMCwxMTQsNzcsMCwwLDAsMjMwLDIsMCwwLDExNSwyLDAsMCwKKyAgICAwLDAsMCwxMTQsNzcsMCwwLDAsMjMxLDIsMCwwLDExNSwyLDAsMCwKICAgICAwLDYsMCwxMjIsNDUsOTUsMTA1LDExMCwxMTUsMTE2LDk3LDEwOCwxMDgsMTAxLDEwMCw5NSwKICAgICAxMTUsOTcsMTAyLDEwMSwxMDgsMTIxLDQ2LDk1LDk1LDEwMSwxMjAsMTA1LDExNiw5NSw5NSw0NiwKICAgICA2MCwxMDgsMTExLDk5LDk3LDEwOCwxMTUsNjIsNDYsNjAsMTAzLDEwMSwxMTAsMTAxLDEyMCwxMTIsCiAgICAgMTE0LDYyLDEyMiwxOCwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwzMiwxMjMsMzMsMTE0LDEyNSwzMiwKLSAgICAzNSwzMiwxMjMsMzMsMTE0LDEyNSw3MCw0MSw5LDExNCwyMTUsMCwwLDAsMTE0LDc4LAorICAgIDM1LDMyLDEyMywzMywxMTQsMTI1LDcwLDQxLDksMTE0LDIxNCwwLDAsMCwxMTQsNzgsCiAgICAgMCwwLDAsMTE0LDcsMCwwLDAsMTE0LDczLDAsMCwwLDExNCw2NywwLAogICAgIDAsMCwxMTQsNzksMCwwLDAsMTE0LDE1MywwLDAsMCwxMTQsMTcwLDAsMCwKLSAgICAwLDExNCwyMTYsMCwwLDAsNDEsMywxMTQsNzEsMCwwLDAsMTE0LDgwLDAsCi0gICAgMCwwLDExNCwxNzgsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLAotICAgIDAsMTE0LDUsMCwwLDAsMTE0LDgxLDAsMCwwLDIyNywyLDAsMCwxMTUsCisgICAgMCwxMTQsMjE1LDAsMCwwLDQxLDMsMTE0LDcxLDAsMCwwLDExNCw4MCwwLAorICAgIDAsMCwxMTQsMTc3LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwKKyAgICAwLDExNCw1LDAsMCwwLDExNCw4MSwwLDAsMCwyMjgsMiwwLDAsMTE1LAogICAgIDE4LDAsMCwwLDAsMSwzLDEsOSwxLDI1LDEsMywxLDE3LDEsCiAgICAgMTMsMSw4LDIsMjYsMiwxMjIsMjYsOTUsMTA1LDExMCwxMTUsMTE2LDk3LDEwOCwxMDgsCiAgICAgMTAxLDEwMCw5NSwxMTUsOTcsMTAyLDEwMSwxMDgsMTIxLDQ2LDk1LDk1LDEwMSwxMjAsMTA1LDExNiwKICAgICA5NSw5NSw3OCw0MSw2LDExNCw1NywwLDAsMCwxMTQsNTYsMCwwLDAsMTE0LAogICAgIDU4LDAsMCwwLDExNCw3MiwwLDAsMCwxMTQsNzUsMCwwLDAsMTE0LDgxLAogICAgIDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsCi0gICAgMCwwLDExNCw1LDAsMCwwLDExNCwyMTMsMCwwLDAsMjE0LDIsMCwwLAotICAgIDExNSw2LDAsMCwwLDEyLDIsMTIsNCwxMiw3LDExNCwyMTMsMCwwLDAsCisgICAgMCwwLDExNCw1LDAsMCwwLDExNCwyMTIsMCwwLDAsMjE1LDIsMCwwLAorICAgIDExNSw2LDAsMCwwLDEyLDIsMTIsNCwxMiw3LDExNCwyMTIsMCwwLDAsCiAgICAgOTksMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsOCwwLDAsCiAgICAgMCw2NCwwLDAsMCwxMTUsMTcyLDAsMCwwLDEwMSwwLDAsOTAsMSwwLAogICAgIDEwMCwwLDAsOTAsMiwwLDEwMCwxLDAsOTAsMywwLDEwMCwyLDAsMTAwLApAQCAtMTQzOSwyMzE5ICsxNDM3LDIyNDQgQEAKICAgICAxMDMsMCwwLDExMCwzLDAsMTAwLDAsMCwxMjQsMCwwLDk1LDQsMCwxMDAsCiAgICAgMSwwLDEyNCwwLDAsOTUsNSwwLDEwMCwwLDAsMTI0LDAsMCw5NSw2LAogICAgIDAsMTAwLDAsMCw4Myw0MSwyLDc4LDcwLDQxLDcsMTE0LDY3LDAsMCwwLAotICAgIDExNCwxNzAsMCwwLDAsMTE0LDIxOCwwLDAsMCwxMTQsMjE5LDAsMCwwLDIxOCwKKyAgICAxMTQsMTcwLDAsMCwwLDExNCwyMTcsMCwwLDAsMTE0LDIxOCwwLDAsMCwyMTgsCiAgICAgMjYsMTE1LDExNyw5OCwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5NSwxMTUsMTAxLDk3LDExNCw5OSwKICAgICAxMDQsOTUsMTA4LDExMSw5OSw5NywxMTYsMTA1LDExMSwxMTAsMTE1LDIxOCwxMyw5NSwxMTUsMTAxLAogICAgIDExNiw5NSwxMDIsMTA1LDEwOCwxMDEsOTcsMTE2LDExNiwxMTQsMjE4LDcsOTUsOTksOTcsOTksCiAgICAgMTA0LDEwMSwxMDAsNDEsNiwxMTQsNzEsMCwwLDAsMTE0LDY3LDAsMCwwLDExNCwKLSAgICAxNzAsMCwwLDAsMTE0LDIxOCwwLDAsMCwxMTQsMjE5LDAsMCwwLDExNCwyMjAsCisgICAgMTcwLDAsMCwwLDExNCwyMTcsMCwwLDAsMTE0LDIxOCwwLDAsMCwxMTQsMjE5LAogICAgIDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsCi0gICAgMCwwLDExNCw3MiwwLDAsMCwyMiwzLDAsMCwxMTUsMTQsMCwwLDAsCisgICAgMCwwLDExNCw3MiwwLDAsMCwyMywzLDAsMCwxMTUsMTQsMCwwLDAsCiAgICAgMCwyLDksMSw5LDEsOSwxLDksMSwyMSwzLDksMSwxMjIsMTksCiAgICAgNzcsMTExLDEwMCwxMTcsMTA4LDEwMSw4MywxMTIsMTAxLDk5LDQ2LDk1LDk1LDEwNSwxMTAsMTA1LAogICAgIDExNiw5NSw5NSw5OSwxLDAsMCwwLDAsMCwwLDAsMiwwLDAsMCwKLSAgICA0LDAsMCwwLDY3LDAsMCwwLDExNSwxNTMsMCwwLDAsMTAwLDEsMCwKKyAgICA0LDAsMCwwLDY3LDAsMCwwLDExNSwxNDcsMCwwLDAsMTAwLDEsMCwKICAgICAxMDYsMCwwLDEyNCwwLDAsMTA2LDEsMCwxMzEsMSwwLDEwMCwyLDAsMTA2LAogICAgIDAsMCwxMjQsMCwwLDEwNiwyLDAsMTMxLDEsMCwxMDMsMiwwLDEyNSwxLAotICAgIDAsMTI0LDAsMCwxMDYsMywwLDEwMCwwLDAsMTA3LDksMCwxMTQsNzksMCwKKyAgICAwLDEyNCwwLDAsMTA2LDMsMCwxMDAsMCwwLDEwNyw5LDAsMTE0LDc2LDAsCiAgICAgMTI0LDEsMCwxMDYsNCwwLDEwMCwzLDAsMTA2LDAsMCwxMjQsMCwwLDEwNiwKLSAgICAzLDAsMTMxLDEsMCwxMzEsMSwwLDEsMTEwLDAsMCwxMjQsMCwwLDEwNiwKLSAgICA1LDAsMTAwLDAsMCwxMDcsOSwwLDExNCwxMjIsMCwxMjQsMSwwLDEwNiw0LAotICAgIDAsMTAwLDQsMCwxMDYsMCwwLDEyNCwwLDAsMTA2LDUsMCwxMzEsMSwwLAotICAgIDEzMSwxLDAsMSwxMTAsMCwwLDEwMCw1LDAsMTA2LDAsMCwxMjQsMCwwLAotICAgIDEwNiw2LDAsMTA2LDcsMCwxMDAsNiwwLDEwNiw4LDAsMTI0LDEsMCwxMzEsCi0gICAgMSwwLDEzMSwyLDAsODMsNDEsNyw3OCwxMjIsOSwxMTAsOTcsMTA5LDEwMSw2MSwKLSAgICAxMjMsMzMsMTE0LDEyNSwxMjIsMTEsMTA4LDExMSw5NywxMDAsMTAxLDExNCw2MSwxMjMsMzMsMTE0LAotICAgIDEyNSwxMjIsMTEsMTExLDExNCwxMDUsMTAzLDEwNSwxMTAsNjEsMTIzLDMzLDExNCwxMjUsMTIyLDI5LAotICAgIDExNSwxMTcsOTgsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTUsMTE1LDEwMSw5NywxMTQsOTksMTA0LAotICAgIDk1LDEwOCwxMTEsOTksOTcsMTE2LDEwNSwxMTEsMTEwLDExNSw2MSwxMjMsMTI1LDEyMiw2LDEyMywKLSAgICAxMjUsNDAsMTIzLDEyNSw0MSwxMjIsMiw0NCwzMiw0MSw5LDExNCw0NywwLDAsMCwKLSAgICAxMTQsNjcsMCwwLDAsMTE0LDE3MCwwLDAsMCwxMTQsMjE4LDAsMCwwLDIxOCwKLSAgICA2LDk3LDExMiwxMTIsMTAxLDExMCwxMDAsMTE0LDIyMSwwLDAsMCwyMTgsOSw5NSw5NSwKLSAgICA5OSwxMDgsOTcsMTE1LDExNSw5NSw5NSwxMTQsNTcsMCwwLDAsMTE0LDI2LDAsMCwKLSAgICAwLDQxLDIsMTE0LDcxLDAsMCwwLDExNCw4MCwwLDAsMCwxMTQsNCwwLAotICAgIDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMTAxLDAsMCwKLSAgICAwLDM0LDMsMCwwLDExNSwxNiwwLDAsMCwwLDEsMTUsMSwyMSwxLAotICAgIDE1LDEsMjgsMSwxNSwxLDEyLDEsMTYsMSwxMjIsMTksNzcsMTExLDEwMCwxMTcsCi0gICAgMTA4LDEwMSw4MywxMTIsMTAxLDk5LDQ2LDk1LDk1LDExNCwxMDEsMTEyLDExNCw5NSw5NSw5OSwKLSAgICAyLDAsMCwwLDAsMCwwLDAsMywwLDAsMCwxMSwwLDAsMCwKLSAgICA2NywwLDAsMCwxMTUsMTQ1LDAsMCwwLDEyNCwwLDAsMTA2LDAsMCwxMjUsCi0gICAgMiwwLDEyMSwxMDcsMCwxMjQsMCwwLDEwNiwxLDAsMTI0LDEsMCwxMDYsMSwKLSAgICAwLDEwNywyLDAsMTExLDExNCwwLDEyNCwwLDAsMTA2LDIsMCwxMjQsMSwwLAotICAgIDEwNiwyLDAsMTA3LDIsMCwxMTEsMTE0LDAsMTI0LDAsMCwxMDYsMywwLDEyNCwKLSAgICAxLDAsMTA2LDMsMCwxMDcsMiwwLDExMSwxMTQsMCwxMjQsMiwwLDEyNCwxLAotICAgIDAsMTA2LDAsMCwxMDcsMiwwLDExMSwxMTQsMCwxMjQsMCwwLDEwNiw0LDAsCi0gICAgMTI0LDEsMCwxMDYsNCwwLDEwNywyLDAsMTExLDExNCwwLDEyNCwwLDAsMTA2LAotICAgIDUsMCwxMjQsMSwwLDEwNiw1LDAsMTA3LDIsMCw4Myw4NywxMTAsMjIsMCwKLSAgICA0LDExNiw2LDAsMTA3LDEwLDAsMTE0LDE0MCwwLDEsMSwxLDEwMCwxLDAsCi0gICAgODMsODksMTEwLDEsMCw4OCwxMDAsMCwwLDgzLDQxLDIsNzgsNzAsNDEsNywKLSAgICAxMTQsMjIxLDAsMCwwLDExNCw2NywwLDAsMCwxMTQsMTcwLDAsMCwwLDExNCwKLSAgICAyMTgsMCwwLDAsMjE4LDYsOTksOTcsOTksMTA0LDEwMSwxMDAsMjE4LDEyLDEwNCw5NywKLSAgICAxMTUsOTUsMTA4LDExMSw5OSw5NywxMTYsMTA1LDExMSwxMTAsMTE0LDIxMCwwLDAsMCw0MSwKLSAgICAzLDExNCw3MSwwLDAsMCwyMTgsNSwxMTEsMTE2LDEwNCwxMDEsMTE0LDIxOCw0LDExNSwKLSAgICAxMDksMTE1LDEwOCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLAotICAgIDAsMCwyMTgsNiw5NSw5NSwxMDEsMTEzLDk1LDk1LDQ0LDMsMCwwLDExNSwyMCwKLSAgICAwLDAsMCwwLDEsOSwxLDMsMSwxOCwxLDE4LDEsMTgsMSwxNSwKLSAgICAxLDE4LDEsMjAsMSwxMywxLDEyMiwxNyw3NywxMTEsMTAwLDExNywxMDgsMTAxLDgzLAotICAgIDExMiwxMDEsOTksNDYsOTUsOTUsMTAxLDExMyw5NSw5NSw5OSwxLDAsMCwwLDAsCi0gICAgMCwwLDAsMiwwLDAsMCwxMSwwLDAsMCw2NywwLDAsMCwxMTUsCi0gICAgMTU4LDAsMCwwLDEyNCwwLDAsMTA2LDAsMCwxMDAsMCwwLDEwNyw4LDAsCi0gICAgMTE0LDE1MSwwLDEyNCwwLDAsMTA2LDEsMCwxMDAsMCwwLDEwNyw5LDAsMTE0LAotICAgIDE1MSwwLDEyNCwwLDAsMTA2LDIsMCwxMTQsMTUxLDAsMTI0LDAsMCwxMDYsMSwKLSAgICAwLDEyNSwxLDAsMTI0LDEsMCwxMDYsMywwLDExNiw0LDAsMTE2LDUsMCwKLSAgICAxMzEsMSwwLDEzMSwxLDAsMTE0LDExMiwwLDEyMSwxOSwwLDExNiw2LDAsMTI0LAotICAgIDEsMCwxMzEsMSwwLDEyNCwwLDAsOTUsMCwwLDg3LDExMywxNDUsMCw0LAotICAgIDExNiw3LDAsMTA3LDEwLDAsMTE0LDEwOCwwLDEsMSwxLDg5LDExMywxNDUsMCwKLSAgICA4OCwxMTMsMTQ4LDAsMTI0LDEsMCwxMDYsMywwLDExNiw0LDAsMTE2LDgsMCwKLSAgICAxMzEsMSwwLDEzMSwxLDAsMTE0LDE0OCwwLDEyNCwxLDAsMTI0LDAsMCw5NSwKLSAgICAwLDAsMTEzLDE0OCwwLDExMywxNTEsMCwxMTAsMCwwLDEyNCwwLDAsMTA2LDAsCi0gICAgMCw4Myw0MSwxLDc4LDQxLDksMTE0LDIyMywwLDAsMCwxMTQsMjE4LDAsMCwKLSAgICAwLDExNCwyMjIsMCwwLDAsMjE4LDgsMTAxLDExMCwxMDAsMTE1LDExOSwxMDUsMTE2LDEwNCwKLSAgICAyMTgsNSwxMTYsMTE3LDExMiwxMDgsMTAxLDExNCwxMzUsMCwwLDAsMTE0LDEzMiwwLDAsCi0gICAgMCwxMTQsMTIzLDAsMCwwLDIxOCwxNyw2Niw4OSw4NCw2OSw2Nyw3OSw2OCw2OSwKLSAgICA5NSw4Myw4NSw3MCw3MCw3Myw4OCw2OSw4Myw0MSwyLDExNCw3MSwwLDAsMCwKLSAgICAxMTQsMTMxLDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCwKLSAgICA1LDAsMCwwLDExNCwyMjYsMCwwLDAsNTYsMywwLDAsMTE1LDIyLDAsCi0gICAgMCwwLDAsMiwxNSwxLDI0LDEsOSwxLDIxLDEsMywxLDE5LDEsCi0gICAgMTMsMSw4LDEsMjEsMSwxOCwxLDEyMiwxNyw3NywxMTEsMTAwLDExNywxMDgsMTAxLAotICAgIDgzLDExMiwxMDEsOTksNDYsOTksOTcsOTksMTA0LDEwMSwxMDAsOTksMiwwLDAsMCwKLSAgICAwLDAsMCwwLDIsMCwwLDAsMiwwLDAsMCw2NywwLDAsMCwKLSAgICAxMTUsMTMsMCwwLDAsMTI0LDEsMCwxMjQsMCwwLDk1LDAsMCwxMDAsMCwKLSAgICAwLDgzLDQxLDEsNzgsNDEsMSwxMTQsMjIzLDAsMCwwLDQxLDIsMTE0LDcxLAotICAgIDAsMCwwLDExNCwyMjYsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwKLSAgICAwLDAsMTE0LDUsMCwwLDAsMTE0LDIyNiwwLDAsMCw3MCwzLDAsMCwKLSAgICAxMTUsMiwwLDAsMCwwLDIsOTksMSwwLDAsMCwwLDAsMCwwLAotICAgIDEsMCwwLDAsMiwwLDAsMCw2NywwLDAsMCwxMTUsNDYsMCwwLAotICAgIDAsMTI0LDAsMCwxMDYsMCwwLDEwMCwxLDAsMTA3LDgsMCwxMTQsMzUsMCwKLSAgICAxMjQsMCwwLDEwNiwxLDAsMTA2LDIsMCwxMDAsMiwwLDEzMSwxLDAsMTAwLAotICAgIDMsMCwyNSw4MywxMjQsMCwwLDEwNiwxLDAsODMsMTAwLDEsMCw4Myw0MSwKLSAgICA0LDEyMiwzMiw4NCwxMDQsMTAxLDMyLDExMCw5NywxMDksMTAxLDMyLDExMSwxMDIsMzIsMTE2LAotICAgIDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzksMTE1LDMyLDExMiw5NywxMTQsMTAxLAotICAgIDExMCwxMTYsNDYsNzgsMTE0LDExNiwwLDAsMCwxMTQsODQsMCwwLDAsNDEsMywKLSAgICAxMTQsMjIxLDAsMCwwLDExNCw2NywwLDAsMCwxMTQsMzIsMCwwLDAsNDEsCi0gICAgMSwxMTQsNzEsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsCi0gICAgMTE0LDUsMCwwLDAsMjE4LDYsMTEyLDk3LDExNCwxMDEsMTEwLDExNiw3NCwzLDAsCi0gICAgMCwxMTUsNiwwLDAsMCwwLDMsMTUsMSwyMCwyLDEyMiwxNyw3NywxMTEsCi0gICAgMTAwLDExNywxMDgsMTAxLDgzLDExMiwxMDEsOTksNDYsMTEyLDk3LDExNCwxMDEsMTEwLDExNiw5OSwKLSAgICAxLDAsMCwwLDAsMCwwLDAsMSwwLDAsMCwxLDAsMCwwLAotICAgIDY3LDAsMCwwLDExNSw3LDAsMCwwLDEyNCwwLDAsMTA2LDAsMCw4MywKLSAgICA0MSwxLDc4LDQxLDEsMTE0LDIyMiwwLDAsMCw0MSwxLDExNCw3MSwwLDAsCi0gICAgMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwKLSAgICAxMTQsMjI3LDAsMCwwLDgyLDMsMCwwLDExNSwyLDAsMCwwLDAsMiwKLSAgICAxMjIsMjMsNzcsMTExLDEwMCwxMTcsMTA4LDEwMSw4MywxMTIsMTAxLDk5LDQ2LDEwNCw5NywxMTUsCi0gICAgOTUsMTA4LDExMSw5OSw5NywxMTYsMTA1LDExMSwxMTAsOTksMiwwLDAsMCwwLDAsCi0gICAgMCwwLDIsMCwwLDAsMiwwLDAsMCw2NywwLDAsMCwxMTUsMTksCi0gICAgMCwwLDAsMTE2LDAsMCwxMjQsMSwwLDEzMSwxLDAsMTI0LDAsMCw5NSwKLSAgICAxLDAsMTAwLDAsMCw4Myw0MSwxLDc4LDQxLDIsMjE4LDQsOTgsMTExLDExMSwKLSAgICAxMDgsMTE0LDIyMiwwLDAsMCw0MSwyLDExNCw3MSwwLDAsMCwyMTgsNSwxMTgsCi0gICAgOTcsMTA4LDExNywxMDEsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsCi0gICAgMCwwLDAsMTE0LDIyNywwLDAsMCw4NiwzLDAsMCwxMTUsMiwwLDAsCi0gICAgMCwwLDIsNDEsMTIsMTE0LDU3LDAsMCwwLDExNCw1NiwwLDAsMCwxMTQsCi0gICAgNTgsMCwwLDAsMTE0LDU5LDAsMCwwLDExNCw3MiwwLDAsMCwxMTQsMTAxLAotICAgIDAsMCwwLDExNCwyMzAsMCwwLDAsMjE4LDgsMTEyLDExNCwxMTEsMTEyLDEwMSwxMTQsCi0gICAgMTE2LDEyMSwxMTQsMjI2LDAsMCwwLDIxOCw2LDExNSwxMDEsMTE2LDExNiwxMDEsMTE0LDExNCwKLSAgICAyMzQsMCwwLDAsMTE0LDIyNywwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwKLSAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMjE3LDAsCi0gICAgMCwwLDI0MSwyLDAsMCwxMTUsMjAsMCwwLDAsMTIsMzUsNiwyLDE1LAotICAgIDEsMTUsMTEsMTIsMTAsMTIsMTIsMTgsMTQsMjEsNCwxOCw4LDE4LDQsMTE0LAotICAgIDIxNywwLDAsMCwxMTQsMjE4LDAsMCwwLDExNCwyMjAsMCwwLDAsOTksMiwKLSAgICAwLDAsMCwyLDAsMCwwLDUsMCwwLDAsMTUsMCwwLDAsNjcsCi0gICAgMCwwLDAsMTE1LDE5MywwLDAsMCwxMTYsMCwwLDEyNCwxLDAsMTAwLDEsCi0gICAgMCwxMzEsMiwwLDExNCw4MywwLDEyNCwzLDAsMTAwLDIsMCwxMDcsOCwwLAotICAgIDExNCw0MywwLDExNiwxLDAsMTI0LDAsMCwxMDAsMywwLDEyNCwxLDAsMTMxLAotICAgIDEsMSw4MywxMjQsMywwLDExNCw1NSwwLDEwMywwLDAsMTEwLDMsMCwxMDAsCi0gICAgMiwwLDEyNSw0LDAsMTE2LDEsMCwxMjQsMCwwLDEwMCwzLDAsMTI0LDEsCi0gICAgMCwxMDAsNCwwLDEyNCw0LDAsMTMxLDEsMiw4MywxMjQsMywwLDEwMCwyLAotICAgIDAsMTA3LDgsMCwxMTQsMTY4LDAsMTE2LDAsMCwxMjQsMSwwLDEwMCw1LDAsCi0gICAgMTMxLDIsMCwxMTQsMTU5LDAsMTIxLDE5LDAsMTI0LDEsMCwxMDYsMiwwLDEyNCwKLSAgICAwLDAsMTMxLDEsMCwxMjUsMywwLDg3LDExMywxNjUsMCw0LDExNiwzLDAsCi0gICAgMTA3LDEwLDAsMTE0LDE1NSwwLDEsMSwxLDEwMCwyLDAsMTI1LDMsMCw4OSwKLSAgICAxMTMsMTY1LDAsODgsMTEzLDE2OCwwLDEwMCw2LDAsMTI1LDMsMCwxMTAsMCwwLAotICAgIDExNiw0LDAsMTI0LDAsMCwxMjQsMSwwLDEwMCw3LDAsMTI0LDIsMCwxMDAsCi0gICAgNSwwLDEyNCwzLDAsMTMxLDIsMiw4Myw0MSw4LDEyMiw1Myw4MiwxMDEsMTE2LAotICAgIDExNywxMTQsMTEwLDMyLDk3LDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDExNSwxMTIsMTAxLAotICAgIDk5LDMyLDk4LDk3LDExNSwxMDEsMTAwLDMyLDExMSwxMTAsMzIsMTE4LDk3LDExNCwxMDUsMTExLAotICAgIDExNywxMTUsMzIsMTA4LDExMSw5NywxMDAsMTAxLDExNCwzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwKLSAgICAxMTUsNDYsMjE4LDEyLDEwMywxMDEsMTE2LDk1LDEwMiwxMDUsMTA4LDEwMSwxMTAsOTcsMTA5LDEwMSwKLSAgICA3OCwxMTQsMTcwLDAsMCwwLDExNCwyMjEsMCwwLDAsMTE0LDIyMCwwLDAsMCwKLSAgICA3MCwxMTQsMjE4LDAsMCwwLDQxLDUsMTE0LDYwLDAsMCwwLDIxOCwyMywxMTUsCi0gICAgMTEyLDEwMSw5OSw5NSwxMDIsMTE0LDExMSwxMDksOTUsMTAyLDEwNSwxMDgsMTAxLDk1LDEwOCwxMTEsCi0gICAgOTksOTcsMTE2LDEwNSwxMTEsMTEwLDExNCwyMjAsMCwwLDAsMTE0LDE1NCwwLDAsMCwKLSAgICAxMTQsMjE3LDAsMCwwLDQxLDUsMTE0LDY3LDAsMCwwLDExNCwxNzAsMCwwLAotICAgIDAsMTE0LDIxOCwwLDAsMCwxMTQsMjIwLDAsMCwwLDkwLDYsMTE1LDEwMSw5NywKLSAgICAxMTQsOTksMTA0LDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsCi0gICAgMCwwLDExNCwxNzQsMCwwLDAsOTEsMywwLDAsMTE1LDI4LDAsMCwwLAotICAgIDAsMiwxNSwxLDEyLDEsMTYsMSwxOCwxLDE1LDEsNywyLDEyLDEsCi0gICAgMTUsMSwzLDEsMTksMSwxMywxLDE0LDMsOSwyLDExNCwxNzQsMCwwLAotICAgIDAsMTE0LDE3MCwwLDAsMCwxMTQsMjIxLDAsMCwwLDk5LDIsMCwwLDAsCi0gICAgMiwwLDAsMCw5LDAsMCwwLDE5LDAsMCwwLDY3LDAsMCwwLAotICAgIDExNSwxMTAsMSwwLDAsMTI0LDEsMCwxMDAsMSwwLDEwNyw4LDAsMTE0LDc5LAotICAgIDAsMTAwLDIsMCwxMjUsMSwwLDExNiwwLDAsMTI0LDIsMCwxMDAsMywwLAotICAgIDEzMSwyLDAsMTE0LDc5LDAsMTIxLDE5LDAsMTI0LDIsMCwxMDYsMSwwLDEyNCwKLSAgICAwLDAsMTMxLDEsMCwxMjUsMSwwLDg3LDExMyw3NiwwLDQsMTE2LDIsMCwKLSAgICAxMDcsMTAsMCwxMTQsNzIsMCwxLDEsMSw4OSwxMTMsNzYsMCw4OCwxMTMsNzksCi0gICAgMCwxMTAsMCwwLDExNiwzLDAsMTI0LDAsMCwxMjQsMiwwLDEwMCw0LDAsCi0gICAgMTI0LDEsMCwxMzEsMiwxLDEyNSw0LDAsMTAwLDUsMCwxMjQsNCwwLDk1LAotICAgIDQsMCwxMjQsMiwwLDEwMCwxLDAsMTA3LDgsMCwxMTQsMjAzLDAsMTIwLDc5LAotICAgIDAsMTE2LDUsMCwxMzEsMCwwLDY4LDkzLDYxLDAsOTIsMiwwLDEyNSw1LAotICAgIDAsMTI1LDYsMCwxMjQsMSwwLDEwNiw2LDAsMTE2LDcsMCwxMjQsNiwwLAotICAgIDEzMSwxLDAsMTMxLDEsMCwxMTQsMTMxLDAsMTI0LDUsMCwxMjQsMCwwLDEyNCwKLSAgICAxLDAsMTMxLDIsMCwxMjUsMiwwLDEyNCwyLDAsMTI0LDQsMCw5NSw4LAotICAgIDAsODAsMTEzLDEzMSwwLDExMywxMzEsMCw4NywxMDAsMSwwLDgzLDExMCwwLDAsCi0gICAgMTI0LDMsMCwxMTYsOSwwLDEwNyw4LDAsMTE0LDM4LDEsMTE2LDAsMCwxMjQsCi0gICAgMiwwLDEwMCw2LDAsMTMxLDIsMCwxMTQsNDcsMSwxMjEsMTksMCwxMjQsMiwKLSAgICAwLDEwNiwxMCwwLDEyNCwwLDAsMTMxLDEsMCwxMjUsNywwLDg3LDExMCwxOCwKLSAgICAwLDQsMTE2LDIsMCwxMDcsMTAsMCwxMTQsMTMsMSwxLDEsMSw4OSwxMTMsCi0gICAgMzUsMSw4OCwxMjQsNywwLDExNCwzNSwxLDEwMywwLDAsMTI0LDQsMCw5NSwKLSAgICAxMSwwLDExMywzNSwxLDExMyw0NywxLDExMCw5LDAsMTI0LDMsMCwxMjQsNCwKLSAgICAwLDk1LDExLDAsMTI0LDQsMCwxMDYsMTEsMCwxMDMsMCwwLDEwNywyLDAsCi0gICAgMTE0LDEwNiwxLDEyNCwxLDAsMTE0LDEwNiwxLDExNiwxMiwwLDEyNCwxLDAsMTMxLAotICAgIDEsMCwxMDAsNywwLDI1LDEyNSw4LDAsMTI0LDQsMCwxMDYsMTEsMCwxMDYsCi0gICAgMTMsMCwxMjQsOCwwLDEzMSwxLDAsMSwxMTMsMTA2LDEsMTEwLDAsMCwxMjQsCi0gICAgNCwwLDgzLDQxLDgsOTcsNjEsMSwwLDAsODIsMTAxLDExNiwxMTcsMTE0LDExMCwKLSAgICAzMiw5NywzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMTUsMTEyLDEwMSw5OSwzMiw5OCwKLSAgICA5NywxMTUsMTAxLDEwMCwzMiwxMTEsMTEwLDMyLDk3LDMyLDEwMiwxMDUsMTA4LDEwMSwzMiwxMDgsCi0gICAgMTExLDk5LDk3LDExNiwxMDUsMTExLDExMCw0NiwxMCwxMCwzMiwzMiwzMiwzMiw4NCwxMTEsCi0gICAgMzIsMTA1LDExMCwxMDAsMTA1LDk5LDk3LDExNiwxMDEsMzIsMTE2LDEwNCw5NywxMTYsMzIsMTE2LAotICAgIDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTA1LDExNSwzMiw5NywzMiwxMTIsCi0gICAgOTcsOTksMTA3LDk3LDEwMywxMDEsNDQsMzIsMTE1LDEwMSwxMTYsMTAsMzIsMzIsMzIsMzIsCi0gICAgMTE1LDExNyw5OCwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5NSwxMTUsMTAxLDk3LDExNCw5OSwxMDQsCi0gICAgOTUsMTA4LDExMSw5OSw5NywxMTYsMTA1LDExMSwxMTAsMTE1LDMyLDExNiwxMTEsMzIsOTcsMzIsCi0gICAgMTA4LDEwNSwxMTUsMTE2LDMyLDExMSwxMDIsMzIsMTAwLDEwNSwxMTQsMTAxLDk5LDExNiwxMTEsMTE0LAotICAgIDEyMSwzMiwxMTIsOTcsMTE2LDEwNCwxMTUsNDYsMzIsMzIsNjUsMTEwLDEwLDMyLDMyLDMyLAotICAgIDMyLDEwMSwxMDksMTEyLDExNiwxMjEsMzIsMTA4LDEwNSwxMTUsMTE2LDMyLDEwNSwxMTUsMzIsMTE1LAotICAgIDExNywxMDIsMTAyLDEwNSw5OSwxMDUsMTAxLDExMCwxMTYsNDQsMzIsMTE2LDEwNCwxMTEsMTE3LDEwMywKLSAgICAxMDQsMzIsMTA1LDExNiwxMTUsMzIsMTEwLDExMSwxMTYsMzIsMTExLDExNiwxMDQsMTAxLDExNCwxMTksCi0gICAgMTA1LDExNSwxMDEsMzIsMTE3LDExNSwxMDEsMTAyLDExNywxMDgsMzIsMTE2LDExMSwzMiwxMTYsMTA0LAotICAgIDEwMSwxMCwzMiwzMiwzMiwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwzMiwxMTUsMTIxLDExNSwKLSAgICAxMTYsMTAxLDEwOSw0NiwxMCwxMCwzMiwzMiwzMiwzMiw4NCwxMDQsMTAxLDMyLDEwOCwxMTEsCi0gICAgOTcsMTAwLDEwMSwxMTQsMzIsMTA5LDExNywxMTUsMTE2LDMyLDExNiw5NywxMDcsMTAxLDMyLDk3LAotICAgIDMyLDExNSwxMTIsMTAxLDk5LDMyLDk3LDExNSwzMiwxMDUsMTE2LDExNSwzMiwxMTEsMTEwLDEwOCwKLSAgICAxMjEsMzIsOTUsOTUsMTA1LDExMCwxMDUsMTE2LDk1LDk1LDQwLDQxLDMyLDk3LDExNCwxMDMsCi0gICAgNDYsMTAsMTAsMzIsMzIsMzIsMzIsNzgsMTIyLDksNjAsMTE3LDExMCwxMDcsMTEwLDExMSwKLSAgICAxMTksMTEwLDYyLDExNCwyMzksMCwwLDAsMTE0LDIxOCwwLDAsMCw4NCwxMTQsMjIwLAotICAgIDAsMCwwLDExNCw4NCwwLDAsMCw0MSwxNCwxMTQsNjAsMCwwLDAsMTE0LAotICAgIDIzOSwwLDAsMCwxMTQsMTU0LDAsMCwwLDExNCwyMTcsMCwwLDAsMTE0LDIyMiwKLSAgICAwLDAsMCwyMTgsMjcsOTUsMTAzLDEwMSwxMTYsOTUsMTE1LDExNywxMTIsMTEyLDExMSwxMTQsCi0gICAgMTE2LDEwMSwxMDAsOTUsMTAyLDEwNSwxMDgsMTAxLDk1LDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMTE1LAotICAgIDExNCwyMzEsMCwwLDAsMTE0LDIzMiwwLDAsMCwxMTQsMTcwLDAsMCwwLDIxOCwKLSAgICA5LDk1LDgwLDc5LDgwLDg1LDc2LDY1LDg0LDY5LDExNCwyMjAsMCwwLDAsMTE0LAotICAgIDIyMSwwLDAsMCwxMTQsMzgsMCwwLDAsMTE0LDIyNCwwLDAsMCw0MSw5LAotICAgIDExNCw2NywwLDAsMCwyMTgsOCwxMDgsMTExLDk5LDk3LDExNiwxMDUsMTExLDExMCwxMTQsCi0gICAgMTcwLDAsMCwwLDExNCwyMjEsMCwwLDAsMTE0LDE3OCwwLDAsMCwyMTgsMTIsCi0gICAgMTA4LDExMSw5NywxMDAsMTAxLDExNCw5NSw5OSwxMDgsOTcsMTE1LDExNSwxMTQsMTI2LDAsMCwKLSAgICAwLDExNCwyMjAsMCwwLDAsOTAsNywxMDAsMTA1LDExNCwxMTAsOTcsMTA5LDEwMSwxMTQsCi0gICAgNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMjQwLAotICAgIDAsMCwwLDExNiwzLDAsMCwxMTUsNjAsMCwwLDAsMCwxMiwxMiw0LAotICAgIDYsMSwxNSwyLDMsMSwxOSwxLDEzLDEsMTEsOCwyMSwxLDksMywKLSAgICAxMiwxLDIyLDEsMjEsMSwxNSwxLDksMSw4LDIsNywzLDEyLDIsCi0gICAgMTUsMSwzLDEsMTksMSwxMywxLDUsMiw2LDEsMTgsMiw5LDEsCi0gICAgMTUsMSw2LDEsMTYsMSwyMiwyLDExNCwyNDAsMCwwLDAsOTksMywwLAotICAgIDAsMCwwLDAsMCwwLDgsMCwwLDAsNTMsMCwwLDAsNjcsMCwKLSAgICAwLDAsMTE1LDEyNCwxLDAsMCwxMjEsMTMsMCwxMjQsMCwwLDEwNiwwLDAsCi0gICAgMTI1LDMsMCw4NywxMTAsMTgsMCw0LDExNiwxLDAsMTA3LDEwLDAsMTE0LDMzLAotICAgIDAsMSwxLDEsODksMTEwLDE3LDAsODgsMTI0LDMsMCwxMDAsMCwwLDEwNywKLSAgICA5LDAsMTE0LDUwLDAsMTI0LDMsMCw4MywxMjQsMCwwLDEwNiwyLDAsMTI1LAotICAgIDQsMCwxMjQsMSwwLDEwMCwwLDAsMTA3LDgsMCwxMTQsMTA4LDAsMTIxLDEzLAotICAgIDAsMTI0LDAsMCwxMDYsMywwLDEyNSwxLDAsODcsMTEzLDEwOCwwLDQsMTE2LAotICAgIDEsMCwxMDcsMTAsMCwxMTQsMTA0LDAsMSwxLDEsODksMTEzLDEwOCwwLDg4LAotICAgIDExMCwwLDAsMTIxLDEzLDAsMTI0LDAsMCwxMDYsNCwwLDEyNSw1LDAsODcsCi0gICAgMTEwLDI0LDAsNCwxMTYsMSwwLDEwNywxMCwwLDExNCwxNDcsMCwxLDEsMSwKLSAgICAxMDAsMCwwLDEyNSw1LDAsODksMTEwLDEsMCw4OCwxMjQsMiwwLDEwMCwwLAotICAgIDAsMTA3LDgsMCwxMTQsMjI0LDAsMTI0LDUsMCwxMDAsMCwwLDEwNyw4LDAsCi0gICAgMTE0LDIxNSwwLDEyMSwxMywwLDEyNCwxLDAsMTA2LDUsMCwxMjUsMiwwLDg3LAotICAgIDExMywyMjEsMCw0LDExNiwxLDAsMTA3LDEwLDAsMTE0LDIxMSwwLDEsMSwxLAotICAgIDEwMCwwLDAsMTI1LDIsMCw4OSwxMTMsMjIxLDAsODgsMTEzLDIyNCwwLDEyNCw1LAotICAgIDAsMTI1LDIsMCwxMTAsMCwwLDEyMSwxMywwLDEyNCwwLDAsMTA2LDYsMCwKLSAgICAxMjUsNiwwLDg3LDExMCwyNCwwLDQsMTE2LDEsMCwxMDcsMTAsMCwxMTQsNywKKyAgICAzLDAsMTMxLDEsMCwxMzEsMSwwLDEsMTI0LDAsMCwxMDYsNSwwLDEwMCwKKyAgICAwLDAsMTA3LDksMCwxMTQsMTE2LDAsMTI0LDEsMCwxMDYsNCwwLDEwMCw0LAorICAgIDAsMTA2LDAsMCwxMjQsMCwwLDEwNiw1LDAsMTMxLDEsMCwxMzEsMSwwLAorICAgIDEsMTAwLDUsMCwxMDYsMCwwLDEyNCwwLDAsMTA2LDYsMCwxMDYsNywwLAorICAgIDEwMCw2LDAsMTA2LDgsMCwxMjQsMSwwLDEzMSwxLDAsMTMxLDIsMCw4MywKKyAgICA0MSw3LDc4LDEyMiw5LDExMCw5NywxMDksMTAxLDYxLDEyMywzMywxMTQsMTI1LDEyMiwxMSwKKyAgICAxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDYxLDEyMywzMywxMTQsMTI1LDEyMiwxMSwxMTEsMTE0LDEwNSwKKyAgICAxMDMsMTA1LDExMCw2MSwxMjMsMzMsMTE0LDEyNSwxMjIsMjksMTE1LDExNyw5OCwxMDksMTExLDEwMCwKKyAgICAxMTcsMTA4LDEwMSw5NSwxMTUsMTAxLDk3LDExNCw5OSwxMDQsOTUsMTA4LDExMSw5OSw5NywxMTYsCisgICAgMTA1LDExMSwxMTAsMTE1LDYxLDEyMywxMjUsMTIyLDYsMTIzLDEyNSw0MCwxMjMsMTI1LDQxLDEyMiwKKyAgICAyLDQ0LDMyLDQxLDksMTE0LDQ3LDAsMCwwLDExNCw2NywwLDAsMCwxMTQsCisgICAgMTcwLDAsMCwwLDExNCwyMTcsMCwwLDAsMjE4LDYsOTcsMTEyLDExMiwxMDEsMTEwLAorICAgIDEwMCwxMTQsMjIwLDAsMCwwLDIxOCw5LDk1LDk1LDk5LDEwOCw5NywxMTUsMTE1LDk1LAorICAgIDk1LDExNCw1NywwLDAsMCwxMTQsMjYsMCwwLDAsNDEsMiwxMTQsNzEsMCwKKyAgICAwLDAsMTE0LDgwLDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwKKyAgICAwLDExNCw1LDAsMCwwLDExNCwxMDEsMCwwLDAsMzUsMywwLDAsMTE1LAorICAgIDE2LDAsMCwwLDAsMSwxNSwxLDIxLDEsMTUsMSwyNSwxLDE1LDEsCisgICAgMTIsMSwxMywxLDEyMiwxOSw3NywxMTEsMTAwLDExNywxMDgsMTAxLDgzLDExMiwxMDEsOTksCisgICAgNDYsOTUsOTUsMTE0LDEwMSwxMTIsMTE0LDk1LDk1LDk5LDIsMCwwLDAsMCwwLAorICAgIDAsMCwzLDAsMCwwLDExLDAsMCwwLDY3LDAsMCwwLDExNSwxNDUsCisgICAgMCwwLDAsMTI0LDAsMCwxMDYsMCwwLDEyNSwyLDAsMTIxLDEwNywwLDEyNCwKKyAgICAwLDAsMTA2LDEsMCwxMjQsMSwwLDEwNiwxLDAsMTA3LDIsMCwxMTEsMTE0LAorICAgIDAsMTI0LDAsMCwxMDYsMiwwLDEyNCwxLDAsMTA2LDIsMCwxMDcsMiwwLAorICAgIDExMSwxMTQsMCwxMjQsMCwwLDEwNiwzLDAsMTI0LDEsMCwxMDYsMywwLDEwNywKKyAgICAyLDAsMTExLDExNCwwLDEyNCwyLDAsMTI0LDEsMCwxMDYsMCwwLDEwNywyLAorICAgIDAsMTExLDExNCwwLDEyNCwwLDAsMTA2LDQsMCwxMjQsMSwwLDEwNiw0LDAsCisgICAgMTA3LDIsMCwxMTEsMTE0LDAsMTI0LDAsMCwxMDYsNSwwLDEyNCwxLDAsMTA2LAorICAgIDUsMCwxMDcsMiwwLDgzLDg3LDExMCwyMiwwLDQsMTE2LDYsMCwxMDcsMTAsCisgICAgMCwxMTQsMTQwLDAsMSwxLDEsMTAwLDEsMCw4Myw4OSwxMTAsMSwwLDg4LAorICAgIDEwMCwwLDAsODMsNDEsMiw3OCw3MCw0MSw3LDExNCwyMjAsMCwwLDAsMTE0LAorICAgIDY3LDAsMCwwLDExNCwxNzAsMCwwLDAsMTE0LDIxNywwLDAsMCwyMTgsNiwKKyAgICA5OSw5Nyw5OSwxMDQsMTAxLDEwMCwyMTgsMTIsMTA0LDk3LDExNSw5NSwxMDgsMTExLDk5LDk3LAorICAgIDExNiwxMDUsMTExLDExMCwxMTQsMjA4LDAsMCwwLDQxLDMsMTE0LDcxLDAsMCwwLAorICAgIDIxOCw1LDExMSwxMTYsMTA0LDEwMSwxMTQsMjE4LDQsMTE1LDEwOSwxMTUsMTA4LDExNCw0LDAsCisgICAgMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCw2LDk1LDk1LAorICAgIDEwMSwxMTMsOTUsOTUsNDUsMywwLDAsMTE1LDIwLDAsMCwwLDAsMSw5LAorICAgIDEsMywxLDE4LDEsMTgsMSwxOCwxLDE1LDEsMTgsMSwyMCwxLDEzLAorICAgIDEsMTIyLDE3LDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsODMsMTEyLDEwMSw5OSw0Niw5NSw5NSwKKyAgICAxMDEsMTEzLDk1LDk1LDk5LDEsMCwwLDAsMCwwLDAsMCwyLDAsMCwKKyAgICAwLDExLDAsMCwwLDY3LDAsMCwwLDExNSwxNDksMCwwLDAsMTI0LDAsCisgICAgMCwxMDYsMCwwLDEwMCwwLDAsMTA3LDgsMCwxMTQsMTQyLDAsMTI0LDAsMCwKKyAgICAxMDYsMSwwLDEwMCwwLDAsMTA3LDksMCwxMTQsMTQyLDAsMTI0LDAsMCwxMDYsCisgICAgMiwwLDExNCwxNDIsMCwxMjQsMCwwLDEwNiwxLDAsMTI1LDEsMCwxMjQsMSwKKyAgICAwLDEwNiwzLDAsMTE2LDQsMCwxMTYsNSwwLDEzMSwxLDAsMTMxLDEsMCwKKyAgICAxMTQsMTEyLDAsMTIxLDE5LDAsMTE2LDYsMCwxMjQsMSwwLDEzMSwxLDAsMTI0LAorICAgIDAsMCw5NSwwLDAsODcsMTEzLDE0MiwwLDQsMTE2LDcsMCwxMDcsMTAsMCwKKyAgICAxMTQsMTA4LDAsMSwxLDEsODksMTEzLDE0MiwwLDg4LDExMCwzMCwwLDEyNCwxLAorICAgIDAsMTA2LDMsMCwxMTYsNCwwLDExNiw4LDAsMTMxLDEsMCwxMzEsMSwwLAorICAgIDExNCwxNDIsMCwxMjQsMSwwLDEyNCwwLDAsOTUsMCwwLDEyNCwwLDAsMTA2LAorICAgIDAsMCw4Myw0MSwxLDc4LDQxLDksMTE0LDIyMiwwLDAsMCwxMTQsMjE3LDAsCisgICAgMCwwLDExNCwyMjEsMCwwLDAsMjE4LDgsMTAxLDExMCwxMDAsMTE1LDExOSwxMDUsMTE2LAorICAgIDEwNCwyMTgsNSwxMTYsMTE3LDExMiwxMDgsMTAxLDExNCwxMzUsMCwwLDAsMTE0LDEzMiwwLAorICAgIDAsMCwxMTQsMTIzLDAsMCwwLDIxOCwxNyw2Niw4OSw4NCw2OSw2Nyw3OSw2OCwKKyAgICA2OSw5NSw4Myw4NSw3MCw3MCw3Myw4OCw2OSw4Myw0MSwyLDExNCw3MSwwLDAsCisgICAgMCwxMTQsMTMxLDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLAorICAgIDExNCw1LDAsMCwwLDExNCwyMjUsMCwwLDAsNTcsMywwLDAsMTE1LDIyLAorICAgIDAsMCwwLDAsMiwxNSwxLDI0LDEsOSwxLDIxLDEsMywxLDE5LAorICAgIDEsMTMsMSw4LDEsMjEsMSw5LDEsMTIyLDE3LDc3LDExMSwxMDAsMTE3LDEwOCwKKyAgICAxMDEsODMsMTEyLDEwMSw5OSw0Niw5OSw5Nyw5OSwxMDQsMTAxLDEwMCw5OSwyLDAsMCwKKyAgICAwLDAsMCwwLDAsMiwwLDAsMCwyLDAsMCwwLDY3LDAsMCwKKyAgICAwLDExNSwxMywwLDAsMCwxMjQsMSwwLDEyNCwwLDAsOTUsMCwwLDEwMCwKKyAgICAwLDAsODMsNDEsMSw3OCw0MSwxLDExNCwyMjIsMCwwLDAsNDEsMiwxMTQsCisgICAgNzEsMCwwLDAsMTE0LDIyNSwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwKKyAgICAwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMjI1LDAsMCwwLDcxLDMsMCwKKyAgICAwLDExNSwyLDAsMCwwLDAsMiw5OSwxLDAsMCwwLDAsMCwwLAorICAgIDAsMSwwLDAsMCwyLDAsMCwwLDY3LDAsMCwwLDExNSw0NiwwLAorICAgIDAsMCwxMjQsMCwwLDEwNiwwLDAsMTAwLDEsMCwxMDcsOCwwLDExNCwzNSwKKyAgICAwLDEyNCwwLDAsMTA2LDEsMCwxMDYsMiwwLDEwMCwyLDAsMTMxLDEsMCwKKyAgICAxMDAsMywwLDI1LDgzLDEyNCwwLDAsMTA2LDEsMCw4MywxMDAsMSwwLDgzLAorICAgIDQxLDQsMTIyLDMyLDg0LDEwNCwxMDEsMzIsMTEwLDk3LDEwOSwxMDEsMzIsMTExLDEwMiwzMiwKKyAgICAxMTYsMTA0LDEwMSwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzOSwxMTUsMzIsMTEyLDk3LDExNCwKKyAgICAxMDEsMTEwLDExNiw0Niw3OCwxMTQsMTE2LDAsMCwwLDExNCw4NCwwLDAsMCw0MSwKKyAgICAzLDExNCwyMjAsMCwwLDAsMTE0LDY3LDAsMCwwLDExNCwzMiwwLDAsMCwKKyAgICA0MSwxLDExNCw3MSwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsCisgICAgMCwxMTQsNSwwLDAsMCwyMTgsNiwxMTIsOTcsMTE0LDEwMSwxMTAsMTE2LDc1LDMsCisgICAgMCwwLDExNSw2LDAsMCwwLDAsMywxNSwxLDIwLDIsMTIyLDE3LDc3LAorICAgIDExMSwxMDAsMTE3LDEwOCwxMDEsODMsMTEyLDEwMSw5OSw0NiwxMTIsOTcsMTE0LDEwMSwxMTAsMTE2LAorICAgIDk5LDEsMCwwLDAsMCwwLDAsMCwxLDAsMCwwLDEsMCwwLAorICAgIDAsNjcsMCwwLDAsMTE1LDcsMCwwLDAsMTI0LDAsMCwxMDYsMCwwLAorICAgIDgzLDQxLDEsNzgsNDEsMSwxMTQsMjIxLDAsMCwwLDQxLDEsMTE0LDcxLDAsCisgICAgMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwKKyAgICAwLDExNCwyMjYsMCwwLDAsODMsMywwLDAsMTE1LDIsMCwwLDAsMCwKKyAgICAyLDEyMiwyMyw3NywxMTEsMTAwLDExNywxMDgsMTAxLDgzLDExMiwxMDEsOTksNDYsMTA0LDk3LAorICAgIDExNSw5NSwxMDgsMTExLDk5LDk3LDExNiwxMDUsMTExLDExMCw5OSwyLDAsMCwwLDAsCisgICAgMCwwLDAsMiwwLDAsMCwyLDAsMCwwLDY3LDAsMCwwLDExNSwKKyAgICAxOSwwLDAsMCwxMTYsMCwwLDEyNCwxLDAsMTMxLDEsMCwxMjQsMCwwLAorICAgIDk1LDEsMCwxMDAsMCwwLDgzLDQxLDEsNzgsNDEsMiwyMTgsNCw5OCwxMTEsCisgICAgMTExLDEwOCwxMTQsMjIxLDAsMCwwLDQxLDIsMTE0LDcxLDAsMCwwLDIxOCw1LAorICAgIDExOCw5NywxMDgsMTE3LDEwMSwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsCisgICAgNSwwLDAsMCwxMTQsMjI2LDAsMCwwLDg3LDMsMCwwLDExNSwyLDAsCisgICAgMCwwLDAsMiw0MSwxMiwxMTQsNTcsMCwwLDAsMTE0LDU2LDAsMCwwLAorICAgIDExNCw1OCwwLDAsMCwxMTQsNTksMCwwLDAsMTE0LDcyLDAsMCwwLDExNCwKKyAgICAxMDEsMCwwLDAsMTE0LDIyOSwwLDAsMCwyMTgsOCwxMTIsMTE0LDExMSwxMTIsMTAxLAorICAgIDExNCwxMTYsMTIxLDExNCwyMjUsMCwwLDAsMjE4LDYsMTE1LDEwMSwxMTYsMTE2LDEwMSwxMTQsCisgICAgMTE0LDIzMywwLDAsMCwxMTQsMjI2LDAsMCwwLDExNCw0LDAsMCwwLDExNCwKKyAgICA0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwyMTYsCisgICAgMCwwLDAsMjQyLDIsMCwwLDExNSwyMCwwLDAsMCwxMiwzNSw2LDIsCisgICAgMTUsMSwxNSwxMSwxMiwxMCwxMiwxMiwxOCwxNCwyMSw0LDE4LDgsMTgsNCwKKyAgICAxMTQsMjE2LDAsMCwwLDExNCwyMTcsMCwwLDAsMTE0LDIxOSwwLDAsMCw5OSwKKyAgICAyLDAsMCwwLDIsMCwwLDAsNSwwLDAsMCwxNSwwLDAsMCwKKyAgICA2NywwLDAsMCwxMTUsMTkwLDAsMCwwLDExNiwwLDAsMTI0LDEsMCwxMDAsCisgICAgMSwwLDEzMSwyLDAsMTE0LDgzLDAsMTI0LDMsMCwxMDAsMiwwLDEwNyw4LAorICAgIDAsMTE0LDQzLDAsMTE2LDEsMCwxMjQsMCwwLDEwMCwzLDAsMTI0LDEsMCwKKyAgICAxMzEsMSwxLDgzLDEyNCwzLDAsMTE0LDU1LDAsMTAzLDAsMCwxMTAsMywwLAorICAgIDEwMCwyLDAsMTI1LDQsMCwxMTYsMSwwLDEyNCwwLDAsMTAwLDMsMCwxMjQsCisgICAgMSwwLDEwMCw0LDAsMTI0LDQsMCwxMzEsMSwyLDgzLDEyNCwzLDAsMTAwLAorICAgIDIsMCwxMDcsOCwwLDExNCwxNjUsMCwxMTYsMCwwLDEyNCwxLDAsMTAwLDUsCisgICAgMCwxMzEsMiwwLDExNCwxNTksMCwxMjEsMTksMCwxMjQsMSwwLDEwNiwyLDAsCisgICAgMTI0LDAsMCwxMzEsMSwwLDEyNSwzLDAsODcsMTEzLDE2NSwwLDQsMTE2LDMsCisgICAgMCwxMDcsMTAsMCwxMTQsMTU1LDAsMSwxLDEsMTAwLDIsMCwxMjUsMywwLAorICAgIDg5LDExMywxNjUsMCw4OCwxMTAsNiwwLDEwMCw2LDAsMTI1LDMsMCwxMTYsNCwKKyAgICAwLDEyNCwwLDAsMTI0LDEsMCwxMDAsNywwLDEyNCwyLDAsMTAwLDUsMCwKKyAgICAxMjQsMywwLDEzMSwyLDIsODMsNDEsOCwxMjIsNTMsODIsMTAxLDExNiwxMTcsMTE0LAorICAgIDExMCwzMiw5NywzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMTUsMTEyLDEwMSw5OSwzMiwKKyAgICA5OCw5NywxMTUsMTAxLDEwMCwzMiwxMTEsMTEwLDMyLDExOCw5NywxMTQsMTA1LDExMSwxMTcsMTE1LAorICAgIDMyLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMTE1LDQ2LAorICAgIDIxOCwxMiwxMDMsMTAxLDExNiw5NSwxMDIsMTA1LDEwOCwxMDEsMTEwLDk3LDEwOSwxMDEsNzgsMTE0LAorICAgIDE3MCwwLDAsMCwxMTQsMjIwLDAsMCwwLDExNCwyMTksMCwwLDAsNzAsMTE0LAorICAgIDIxNywwLDAsMCw0MSw1LDExNCw2MCwwLDAsMCwyMTgsMjMsMTE1LDExMiwxMDEsCisgICAgOTksOTUsMTAyLDExNCwxMTEsMTA5LDk1LDEwMiwxMDUsMTA4LDEwMSw5NSwxMDgsMTExLDk5LDk3LAorICAgIDExNiwxMDUsMTExLDExMCwxMTQsMjE5LDAsMCwwLDExNCwxNTQsMCwwLDAsMTE0LDIxNiwKKyAgICAwLDAsMCw0MSw1LDExNCw2NywwLDAsMCwxMTQsMTcwLDAsMCwwLDExNCwKKyAgICAyMTcsMCwwLDAsMTE0LDIxOSwwLDAsMCw5MCw2LDExNSwxMDEsOTcsMTE0LDk5LAorICAgIDEwNCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwKKyAgICAxMTQsMTc0LDAsMCwwLDkyLDMsMCwwLDExNSwyOCwwLDAsMCwwLDIsCisgICAgMTUsMSwxMiwxLDE2LDEsMTgsMSwxNSwxLDcsMiwxMiwxLDE1LDEsCisgICAgMywxLDE5LDEsMTMsMSwxNCwzLDYsMiwxMTQsMTc0LDAsMCwwLDExNCwKKyAgICAxNzAsMCwwLDAsMTE0LDIyMCwwLDAsMCw5OSwyLDAsMCwwLDIsMCwKKyAgICAwLDAsOSwwLDAsMCwxOSwwLDAsMCw2NywwLDAsMCwxMTUsODYsCisgICAgMSwwLDAsMTI0LDEsMCwxMDAsMSwwLDEwNyw4LDAsMTE0LDczLDAsMTAwLAorICAgIDIsMCwxMjUsMSwwLDExNiwwLDAsMTI0LDIsMCwxMDAsMywwLDEzMSwyLAorICAgIDAsMTE0LDczLDAsMTIxLDE5LDAsMTI0LDIsMCwxMDYsMSwwLDEyNCwwLDAsCisgICAgMTMxLDEsMCwxMjUsMSwwLDg3LDExMCwxOCwwLDQsMTE2LDIsMCwxMDcsMTAsCisgICAgMCwxMTQsNzIsMCwxLDEsMSw4OSwxMTAsMSwwLDg4LDExNiwzLDAsMTI0LAorICAgIDAsMCwxMjQsMiwwLDEwMCw0LDAsMTI0LDEsMCwxMzEsMiwxLDEyNSw0LAorICAgIDAsMTAwLDUsMCwxMjQsNCwwLDk1LDQsMCwxMjQsMiwwLDEwMCwxLDAsCisgICAgMTA3LDgsMCwxMTQsMTkxLDAsMTIwLDczLDAsMTE2LDUsMCwxMzEsMCwwLDY4LAorICAgIDkzLDU4LDAsOTIsMiwwLDEyNSw1LDAsMTI1LDYsMCwxMjQsMSwwLDEwNiwKKyAgICA2LDAsMTE2LDcsMCwxMjQsNiwwLDEzMSwxLDAsMTMxLDEsMCwxMTQsMTI1LAorICAgIDAsMTI0LDUsMCwxMjQsMCwwLDEyNCwxLDAsMTMxLDIsMCwxMjUsMiwwLAorICAgIDEyNCwyLDAsMTI0LDQsMCw5NSw4LDAsODAsMTEzLDEyNSwwLDg3LDEwMCwxLAorICAgIDAsODMsMTI0LDMsMCwxMTYsOSwwLDEwNyw4LDAsMTE0LDIwLDEsMTE2LDAsCisgICAgMCwxMjQsMiwwLDEwMCw2LDAsMTMxLDIsMCwxMTQsMjksMSwxMjEsMTksMCwKKyAgICAxMjQsMiwwLDEwNiwxMCwwLDEyNCwwLDAsMTMxLDEsMCwxMjUsNywwLDg3LAorICAgIDExMCwxOCwwLDQsMTE2LDIsMCwxMDcsMTAsMCwxMTQsMSwxLDEsMSwxLAorICAgIDg5LDExMywyOSwxLDg4LDEyNCw3LDAsMTE0LDI5LDEsMTAzLDAsMCwxMjQsNCwKKyAgICAwLDk1LDExLDAsMTEwLDksMCwxMjQsMywwLDEyNCw0LDAsOTUsMTEsMCwKKyAgICAxMjQsNCwwLDEwNiwxMSwwLDEwMywwLDAsMTA3LDIsMCwxMTQsODIsMSwxMjQsCisgICAgMSwwLDExNCw4MiwxLDExNiwxMiwwLDEyNCwxLDAsMTMxLDEsMCwxMDAsNywKKyAgICAwLDI1LDEyNSw4LDAsMTI0LDQsMCwxMDYsMTEsMCwxMDYsMTMsMCwxMjQsOCwKKyAgICAwLDEzMSwxLDAsMSwxMjQsNCwwLDgzLDQxLDgsOTcsNjEsMSwwLDAsCisgICAgODIsMTAxLDExNiwxMTcsMTE0LDExMCwzMiw5NywzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwKKyAgICAxMTUsMTEyLDEwMSw5OSwzMiw5OCw5NywxMTUsMTAxLDEwMCwzMiwxMTEsMTEwLDMyLDk3LDMyLAorICAgIDEwMiwxMDUsMTA4LDEwMSwzMiwxMDgsMTExLDk5LDk3LDExNiwxMDUsMTExLDExMCw0NiwxMCwxMCwKKyAgICAzMiwzMiwzMiwzMiw4NCwxMTEsMzIsMTA1LDExMCwxMDAsMTA1LDk5LDk3LDExNiwxMDEsMzIsCisgICAgMTE2LDEwNCw5NywxMTYsMzIsMTE2LDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsCisgICAgMTA1LDExNSwzMiw5NywzMiwxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsNDQsMzIsMTE1LDEwMSwKKyAgICAxMTYsMTAsMzIsMzIsMzIsMzIsMTE1LDExNyw5OCwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5NSwKKyAgICAxMTUsMTAxLDk3LDExNCw5OSwxMDQsOTUsMTA4LDExMSw5OSw5NywxMTYsMTA1LDExMSwxMTAsMTE1LAorICAgIDMyLDExNiwxMTEsMzIsOTcsMzIsMTA4LDEwNSwxMTUsMTE2LDMyLDExMSwxMDIsMzIsMTAwLDEwNSwKKyAgICAxMTQsMTAxLDk5LDExNiwxMTEsMTE0LDEyMSwzMiwxMTIsOTcsMTE2LDEwNCwxMTUsNDYsMzIsMzIsCisgICAgNjUsMTEwLDEwLDMyLDMyLDMyLDMyLDEwMSwxMDksMTEyLDExNiwxMjEsMzIsMTA4LDEwNSwxMTUsCisgICAgMTE2LDMyLDEwNSwxMTUsMzIsMTE1LDExNywxMDIsMTAyLDEwNSw5OSwxMDUsMTAxLDExMCwxMTYsNDQsCisgICAgMzIsMTE2LDEwNCwxMTEsMTE3LDEwMywxMDQsMzIsMTA1LDExNiwxMTUsMzIsMTEwLDExMSwxMTYsMzIsCisgICAgMTExLDExNiwxMDQsMTAxLDExNCwxMTksMTA1LDExNSwxMDEsMzIsMTE3LDExNSwxMDEsMTAyLDExNywxMDgsCisgICAgMzIsMTE2LDExMSwzMiwxMTYsMTA0LDEwMSwxMCwzMiwzMiwzMiwzMiwxMDUsMTA5LDExMiwxMTEsCisgICAgMTE0LDExNiwzMiwxMTUsMTIxLDExNSwxMTYsMTAxLDEwOSw0NiwxMCwxMCwzMiwzMiwzMiwzMiwKKyAgICA4NCwxMDQsMTAxLDMyLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMzIsMTA5LDExNywxMTUsMTE2LDMyLAorICAgIDExNiw5NywxMDcsMTAxLDMyLDk3LDMyLDExNSwxMTIsMTAxLDk5LDMyLDk3LDExNSwzMiwxMDUsCisgICAgMTE2LDExNSwzMiwxMTEsMTEwLDEwOCwxMjEsMzIsOTUsOTUsMTA1LDExMCwxMDUsMTE2LDk1LDk1LAorICAgIDQwLDQxLDMyLDk3LDExNCwxMDMsNDYsMTAsMTAsMzIsMzIsMzIsMzIsNzgsMTIyLDksCisgICAgNjAsMTE3LDExMCwxMDcsMTEwLDExMSwxMTksMTEwLDYyLDExNCwyMzgsMCwwLDAsMTE0LDIxNywKKyAgICAwLDAsMCw4NCwxMTQsMjE5LDAsMCwwLDExNCw4NCwwLDAsMCw0MSwxNCwKKyAgICAxMTQsNjAsMCwwLDAsMTE0LDIzOCwwLDAsMCwxMTQsMTU0LDAsMCwwLDExNCwKKyAgICAyMTYsMCwwLDAsMTE0LDIyMSwwLDAsMCwyMTgsMjcsOTUsMTAzLDEwMSwxMTYsOTUsCisgICAgMTE1LDExNywxMTIsMTEyLDExMSwxMTQsMTE2LDEwMSwxMDAsOTUsMTAyLDEwNSwxMDgsMTAxLDk1LDEwOCwKKyAgICAxMTEsOTcsMTAwLDEwMSwxMTQsMTE1LDExNCwyMzAsMCwwLDAsMTE0LDIzMSwwLDAsMCwKKyAgICAxMTQsMTcwLDAsMCwwLDIxOCw5LDk1LDgwLDc5LDgwLDg1LDc2LDY1LDg0LDY5LAorICAgIDExNCwyMTksMCwwLDAsMTE0LDIyMCwwLDAsMCwxMTQsMzgsMCwwLDAsMTE0LAorICAgIDIyMywwLDAsMCw0MSw5LDExNCw2NywwLDAsMCwyMTgsOCwxMDgsMTExLDk5LAorICAgIDk3LDExNiwxMDUsMTExLDExMCwxMTQsMTcwLDAsMCwwLDExNCwyMjAsMCwwLDAsMTE0LAorICAgIDE3NywwLDAsMCwyMTgsMTIsMTA4LDExMSw5NywxMDAsMTAxLDExNCw5NSw5OSwxMDgsOTcsCisgICAgMTE1LDExNSwxMTQsMTI2LDAsMCwwLDExNCwyMTksMCwwLDAsOTAsNywxMDAsMTA1LAorICAgIDExNCwxMTAsOTcsMTA5LDEwMSwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsCisgICAgNSwwLDAsMCwxMTQsMjM5LDAsMCwwLDExNywzLDAsMCwxMTUsNjAsMCwKKyAgICAwLDAsMCwxMiwxMiw0LDYsMSwxNSwyLDMsMSwxOSwxLDEzLDEsCisgICAgNSw4LDIxLDEsOSwzLDEyLDEsMjIsMSwyMSwxLDE1LDEsOSwxLAorICAgIDUsMiw0LDMsMTIsMiwxNSwxLDMsMSwxOSwxLDEzLDEsNSwyLAorICAgIDYsMSwxMiwyLDksMSwxNSwxLDYsMSwxNiwxLDE2LDIsMTE0LDIzOSwKKyAgICAwLDAsMCw5OSwzLDAsMCwwLDAsMCwwLDAsOCwwLDAsMCwKKyAgICA1MywwLDAsMCw2NywwLDAsMCwxMTUsMTE4LDEsMCwwLDEyMSwxMywwLAorICAgIDEyNCwwLDAsMTA2LDAsMCwxMjUsMywwLDg3LDExMCwxOCwwLDQsMTE2LDEsCisgICAgMCwxMDcsMTAsMCwxMTQsMzMsMCwxLDEsMSw4OSwxMTAsMTcsMCw4OCwxMjQsCisgICAgMywwLDEwMCwwLDAsMTA3LDksMCwxMTQsNTAsMCwxMjQsMywwLDgzLDEyNCwKKyAgICAwLDAsMTA2LDIsMCwxMjUsNCwwLDEyNCwxLDAsMTAwLDAsMCwxMDcsOCwKKyAgICAwLDExNCwxMDUsMCwxMjEsMTMsMCwxMjQsMCwwLDEwNiwzLDAsMTI1LDEsMCwKKyAgICA4NywxMTAsMTgsMCw0LDExNiwxLDAsMTA3LDEwLDAsMTE0LDEwNCwwLDEsMSwKKyAgICAxLDg5LDExMCwxLDAsODgsMTIxLDEzLDAsMTI0LDAsMCwxMDYsNCwwLDEyNSwKKyAgICA1LDAsODcsMTEwLDI0LDAsNCwxMTYsMSwwLDEwNywxMCwwLDExNCwxNDQsMCwKKyAgICAxLDEsMSwxMDAsMCwwLDEyNSw1LDAsODksMTEwLDEsMCw4OCwxMjQsMiwKKyAgICAwLDEwMCwwLDAsMTA3LDgsMCwxMTQsMjE4LDAsMTI0LDUsMCwxMDAsMCwwLAorICAgIDEwNyw4LDAsMTE0LDIxMiwwLDEyMSwxMywwLDEyNCwxLDAsMTA2LDUsMCwxMjUsCisgICAgMiwwLDg3LDExMywyMTgsMCw0LDExNiwxLDAsMTA3LDEwLDAsMTE0LDIwOCwwLAorICAgIDEsMSwxLDEwMCwwLDAsMTI1LDIsMCw4OSwxMTMsMjE4LDAsODgsMTEwLDYsCisgICAgMCwxMjQsNSwwLDEyNSwyLDAsMTIxLDEzLDAsMTI0LDAsMCwxMDYsNiwwLAorICAgIDEyNSw2LDAsODcsMTEwLDI0LDAsNCwxMTYsMSwwLDEwNywxMCwwLDExNCwxLAogICAgIDEsMSwxLDEsMTAwLDAsMCwxMjUsNiwwLDg5LDExMCwxLDAsODgsMTIxLAogICAgIDE5LDAsMTE2LDcsMCwxMjQsMCwwLDEwNiw4LDAsMTMxLDEsMCwxMjUsNywKLSAgICAwLDg3LDExMCwyNCwwLDQsMTE2LDEsMCwxMDcsMTAsMCwxMTQsNTMsMSwxLAorICAgIDAsODcsMTEwLDI0LDAsNCwxMTYsMSwwLDEwNywxMCwwLDExNCw0NywxLDEsCiAgICAgMSwxLDEwMCwwLDAsMTI1LDcsMCw4OSwxMTAsMSwwLDg4LDExNiw5LDAsCiAgICAgMTI0LDQsMCwxMjQsMSwwLDEwMCwxLDAsMTI0LDIsMCwxMzEsMiwxLDEyNSwKLSAgICAzLDAsMTI0LDUsMCwxMDAsMCwwLDEwNyw4LDAsMTE0LDkzLDEsMTAwLDIsCisgICAgMywwLDEyNCw1LDAsMTAwLDAsMCwxMDcsOCwwLDExNCw4NywxLDEwMCwyLAogICAgIDAsMTEwLDMsMCwxMDAsMywwLDEyNCwzLDAsOTUsMTAsMCwxMjQsNiwwLAogICAgIDEyNCwzLDAsOTUsMTEsMCwxMjQsNywwLDEyNCwzLDAsOTUsMTIsMCwxMjQsCi0gICAgMywwLDgzLDQxLDQsNzgsMTE0LDIxOCwwLDAsMCw3MCw4NCw0MSwxMywxMTQsCi0gICAgMjA5LDAsMCwwLDExNCwyMTAsMCwwLDAsMTE0LDU3LDAsMCwwLDExNCwyMDUsCi0gICAgMCwwLDAsMTE0LDIxMSwwLDAsMCw5MCw3LDk1LDc5LDgyLDczLDcxLDczLAorICAgIDMsMCw4Myw0MSw0LDc4LDExNCwyMTcsMCwwLDAsNzAsODQsNDEsMTMsMTE0LAorICAgIDIwNywwLDAsMCwxMTQsMjA4LDAsMCwwLDExNCw1NywwLDAsMCwxMTQsMjAzLAorICAgIDAsMCwwLDExNCwyMTAsMCwwLDAsOTAsNyw5NSw3OSw4Miw3Myw3MSw3MywKICAgICA3OCwyMTgsMTAsOTUsOTUsOTksOTcsOTksMTA0LDEwMSwxMDAsOTUsOTUsMjE4LDQsMTA4LAotICAgIDEwNSwxMTUsMTE2LDIxOCw4LDk1LDk1LDExMiw5NywxMTYsMTA0LDk1LDk1LDExNCwyMTcsMCwKLSAgICAwLDAsMTE0LDIyMiwwLDAsMCwxMTQsMjI2LDAsMCwwLDExNCwyMjEsMCwwLAotICAgIDAsNDEsOCwxMTQsMTgwLDAsMCwwLDExNCwxNzAsMCwwLDAsMTE0LDIxOCwwLAotICAgIDAsMCwxMTQsMTc4LDAsMCwwLDExNCw2NywwLDAsMCwxMTQsMjQzLDAsMCwKLSAgICAwLDExNCwyMjYsMCwwLDAsMTE0LDIyMSwwLDAsMCwxMTQsNCwwLDAsMCwKKyAgICAxMDUsMTE1LDExNiwyMTgsOCw5NSw5NSwxMTIsOTcsMTE2LDEwNCw5NSw5NSwxMTQsMjE2LDAsCisgICAgMCwwLDExNCwyMjEsMCwwLDAsMTE0LDIyNSwwLDAsMCwxMTQsMjIwLDAsMCwKKyAgICAwLDQxLDgsMTE0LDE3OCwwLDAsMCwxMTQsMTcwLDAsMCwwLDExNCwyMTcsMCwKKyAgICAwLDAsMTE0LDE3NywwLDAsMCwxMTQsNjcsMCwwLDAsMTE0LDI0MiwwLDAsCisgICAgMCwxMTQsMjI1LDAsMCwwLDExNCwyMjAsMCwwLDAsMTE0LDQsMCwwLDAsCiAgICAgMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDE3LDk1LDExNSwxMTIsMTAxLAotICAgIDk5LDk1LDEwMiwxMTQsMTExLDEwOSw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxODAsMywwLAorICAgIDk5LDk1LDEwMiwxMTQsMTExLDEwOSw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxODEsMywwLAogICAgIDAsMTE1LDcyLDAsMCwwLDAsMiwzLDEsMTMsMSwxMywxLDUsMiwKLSAgICAxMiwxLDQsMiw5LDEsMTIsMSwzLDEsMTMsMSwxMywyLDgsMSwKKyAgICAxMiwxLDQsMiw5LDEsMTIsMSwzLDEsMTMsMSwxMywyLDUsMSwKICAgICAzLDEsMTMsMSwxMywxLDExLDEsMTIsMSwxMiwxLDMsMSwxMywxLAotICAgIDEzLDEsMTQsMiw5LDEsMywxLDEzLDEsMTMsMSwxMSwxLDMsMSwKLSAgICAxOSwxLDEzLDEsMTEsMiwyMSwxLDI3LDEsOSwxLDksMSwxMTQsMjQ4LAotICAgIDAsMCwwLDk5LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLAotICAgIDYsMCwwLDAsNjQsMCwwLDAsMTE1LDE0MiwwLDAsMCwxMDEsMCwwLAotICAgIDkwLDEsMCwxMDAsMCwwLDkwLDIsMCwxMDAsMSwwLDkwLDMsMCwxMDAsCi0gICAgMiwwLDEwMCwzLDAsMTMyLDAsMCw5MCw0LDAsMTAwLDQsMCwxMDAsNSwKLSAgICAwLDEzMiwwLDAsOTAsNSwwLDEwMCw2LDAsMTAwLDcsMCwxMDAsOCwwLAotICAgIDEwMCw5LDAsMTAwLDEwLDAsMTAwLDExLDAsMTMyLDAsMiw5MCw2LDAsMTAwLAotICAgIDEyLDAsMTAwLDEzLDAsMTMyLDAsMCw5MCw3LDAsMTAwLDE0LDAsMTAwLDE1LAotICAgIDAsMTMyLDAsMCw5MCw4LDAsMTAwLDE2LDAsMTAwLDE3LDAsMTMyLDAsMCwKLSAgICA5MCw5LDAsMTAwLDE4LDAsMTAwLDE5LDAsMTMyLDAsMCw5MCwxMCwwLDEwMCwKLSAgICAyMCwwLDEwMCwyMSwwLDEzMiwwLDAsOTAsMTEsMCwxMDAsMjIsMCwxMDAsMjMsCi0gICAgMCwxMzIsMCwwLDkwLDEyLDAsMTAwLDI0LDAsODMsNDEsMjUsMTE0LDE3NSwwLAotICAgIDAsMCwxMjIsNzcsNjcsMTExLDExMCwxMTgsMTAxLDExMCwxMDUsMTAxLDExMCw5OSwxMDEsMzIsCi0gICAgMTE5LDExNCw5NywxMTIsMTEyLDEwMSwxMTQsMzIsOTcsMTE0LDExMSwxMTcsMTEwLDEwMCwzMiwxMTUsCi0gICAgMTEyLDEwMSw5OSwzMiwxMTEsOTgsMTA2LDEwMSw5OSwxMTYsMTE1LDMyLDExNiwxMTEsMzIsMTEyLAotICAgIDExNCwxMTEsMTE4LDEwNSwxMDAsMTAxLDMyLDExNSwxMTIsMTAxLDk5LDQ1LDExNSwxMTIsMTAxLDk5LAotICAgIDEwNSwxMDIsMTA1LDk5LDEwLDMyLDMyLDMyLDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDExNSwKLSAgICA0Niw5OSwyLDAsMCwwLDAsMCwwLDAsMiwwLDAsMCwyLDAsCi0gICAgMCwwLDY3LDAsMCwwLDExNSwxMywwLDAsMCwxMjQsMSwwLDEyNCwwLAotICAgIDAsOTUsMCwwLDEwMCwwLDAsODMsNDEsMSw3OCw0MSwxLDExNCwxNzgsMCwKLSAgICAwLDAsNDEsMiwxMTQsNzEsMCwwLDAsMTE0LDE3OCwwLDAsMCwxMTQsNCwKLSAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsNzIsMCwKLSAgICAwLDAsMjMyLDMsMCwwLDExNSwyLDAsMCwwLDAsMSwxMjIsMjEsOTUsCi0gICAgODMsMTEyLDEwMSw5OSw3NywxMDEsMTE2LDEwNCwxMTEsMTAwLDExNSw0Niw5NSw5NSwxMDUsMTEwLAotICAgIDEwNSwxMTYsOTUsOTUsOTksMSwwLDAsMCwwLDAsMCwwLDMsMCwwLAotICAgIDAsMywwLDAsMCw2NywwLDAsMCwxMTUsMTU4LDAsMCwwLDEyNCwwLAotICAgIDAsMTA2LDAsMCwxMjUsMSwwLDEyNCwxLDAsMTA2LDEsMCwxMDAsMSwwLAotICAgIDEwNyw4LDAsMTE0LDMwLDAsMTAwLDIsMCwxMTAsNiwwLDEyNCwxLDAsMTA2LAotICAgIDEsMCwxMjUsMiwwLDEyNCwxLDAsMTA2LDIsMCwxMDAsMSwwLDEwNyw4LAotICAgIDAsMTE0LDEwNCwwLDEyNCwxLDAsMTA2LDMsMCwxMDAsMSwwLDEwNyw4LDAsCi0gICAgMTE0LDgyLDAsMTAwLDMsMCwxMDYsNCwwLDEyNCwyLDAsMTMxLDEsMCw4MywKLSAgICAxMDAsNCwwLDEwNiw0LDAsMTI0LDIsMCwxMjQsMSwwLDEwNiwzLDAsMTMxLAotICAgIDIsMCw4MywxMTAsNTAsMCwxMjQsMSwwLDEwNiw1LDAsMTE0LDEzMiwwLDEwMCwKLSAgICA1LDAsMTA2LDQsMCwxMjQsMiwwLDEyNCwxLDAsMTA2LDIsMCwxMzEsMiwKLSAgICAwLDgzLDEwMCw2LDAsMTA2LDQsMCwxMjQsMSwwLDEwNiwxLDAsMTI0LDEsCi0gICAgMCwxMDYsMiwwLDEzMSwyLDAsODMsMTAwLDEsMCw4Myw0MSw3LDEyMiwzOCwKLSAgICA4MiwxMDEsMTE2LDExNywxMTQsMTEwLDMyLDExNiwxMDQsMTAxLDMyLDExNCwxMDEsMTEyLDExNCwzMiwKLSAgICAxMTYsMTExLDMyLDExNywxMTUsMTAxLDMyLDEwMiwxMTEsMTE0LDMyLDExNiwxMDQsMTAxLDMyLDEwOSwKLSAgICAxMTEsMTAwLDExNywxMDgsMTAxLDQ2LDc4LDExNCwyMDcsMCwwLDAsMTIyLDEzLDYwLDEwOSwKLSAgICAxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEyMywzMywxMTQsMTI1LDYyLDEyMiwyMCw2MCwxMDksMTExLAotICAgIDEwMCwxMTcsMTA4LDEwMSwzMiwxMjMsMzMsMTE0LDEyNSwzMiw0MCwxMjMsMzMsMTE0LDEyNSw0MSwKLSAgICA2MiwxMjIsMjMsNjAsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTIzLDMzLDExNCwxMjUsMzIsCi0gICAgMTAyLDExNCwxMTEsMTA5LDMyLDEyMywzMywxMTQsMTI1LDYyLDEyMiwxOCw2MCwxMDksMTExLDEwMCwKLSAgICAxMTcsMTA4LDEwMSwzMiwxMjMsMzMsMTE0LDEyNSwzMiw0MCwxMjMsMTI1LDQxLDYyLDQxLDYsCi0gICAgMTE0LDE3OCwwLDAsMCwxMTQsNjcsMCwwLDAsMTE0LDIxOCwwLDAsMCwxMTQsCi0gICAgMTcwLDAsMCwwLDExNCw0NywwLDAsMCwxMTQsMjI3LDAsMCwwLDQxLDMsCi0gICAgMTE0LDcxLDAsMCwwLDExNCwxNzgsMCwwLDAsMTE0LDY3LDAsMCwwLDExNCwKLSAgICA0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwyMDYsCi0gICAgMCwwLDAsMjM1LDMsMCwwLDExNSwxOCwwLDAsMCwwLDMsOSwxLAotICAgIDMwLDEsMTUsMSwxNSwxLDEzLDIsMjIsMiw5LDEsMTksMiwxMjIsMjQsCi0gICAgOTUsODMsMTEyLDEwMSw5OSw3NywxMDEsMTE2LDEwNCwxMTEsMTAwLDExNSw0NiwxMDksMTExLDEwMCwKLSAgICAxMTcsMTA4LDEwMSw5NSwxMTQsMTAxLDExMiwxMTQsMjE4LDksOTUsMTExLDExOCwxMDEsMTE0LDExNCwKLSAgICAxMDUsMTAwLDEwMSw3MCwyMTgsMTEsOTUsMTAyLDExMSwxMTQsOTksMTAxLDk1LDExMCw5NywxMDksCi0gICAgMTAxLDg0LDk5LDIsMCwwLDAsMiwwLDAsMCw2LDAsMCwwLDU5LAotICAgIDAsMCwwLDY3LDAsMCwwLDExNSw3NSwyLDAsMCwxMjQsMCwwLDEwNiwKLSAgICAwLDAsMTI1LDQsMCwxMjQsMiwwLDExNSw0NSwwLDEyNCwzLDAsMTE1LDQ1LAotICAgIDAsMTE2LDEsMCwxMjQsMSwwLDEwMCwxLDAsMTAwLDIsMCwxMzEsMywwLAotICAgIDEwMCwyLDAsMTA3LDgsMCwxMTQsODUsMCwxMjEsMTYsMCwxMjQsNCwwLDEwNiwKLSAgICAyLDAsMTI0LDEsMCw5NSwzLDAsODcsMTEzLDg1LDAsNCwxMTYsNCwwLAotICAgIDEwNywxMCwwLDExNCw4MSwwLDEsMSwxLDg5LDExMyw4NSwwLDg4LDExMCwwLAotICAgIDAsMTI0LDIsMCwxMTUsMTE1LDAsMTE2LDEsMCwxMjQsMSwwLDEwMCwzLDAsCi0gICAgMTAwLDIsMCwxMzEsMywwLDEwMCwyLDAsMTA3LDgsMCwxMTQsMjIxLDAsMTI0LAotICAgIDQsMCwxMDYsNSwwLDEyNSw1LDAsMTI0LDUsMCwxMDAsMiwwLDEwNyw4LAotICAgIDAsMTE0LDE4NCwwLDEyNCw0LDAsMTA2LDYsMCwxMDAsMiwwLDEwNyw5LDAsCi0gICAgMTE0LDE4NCwwLDExNiw3LDAsMTA2LDgsMCwxMTYsNywwLDEzMSwxLDAsMTI1LAotICAgIDUsMCwxMjQsNCwwLDEwNiw2LDAsMTI0LDUsMCw5NSw5LDAsMTEzLDE4NCwKLSAgICAwLDExMCwwLDAsMTIxLDEzLDAsMTI0LDUsMCwxMjQsMSwwLDk1LDEwLDAsCi0gICAgODcsMTEzLDIyMSwwLDQsMTE2LDQsMCwxMDcsMTAsMCwxMTQsMjE3LDAsMSwxLAotICAgIDEsODksMTEzLDIyMSwwLDg4LDExMCwwLDAsMTI0LDIsMCwxMTUsMjUxLDAsMTE2LAotICAgIDEsMCwxMjQsMSwwLDEwMCw0LDAsMTAwLDIsMCwxMzEsMywwLDEwMCwyLAotICAgIDAsMTA3LDgsMCwxMTQsMzUsMSwxMjEsMTYsMCwxMjQsNCwwLDEwNiwxMSwwLAotICAgIDEyNCwxLDAsOTUsMTIsMCw4NywxMTMsMzUsMSw0LDExNiw0LDAsMTA3LDEwLAotICAgIDAsMTE0LDMxLDEsMSwxLDEsODksMTEzLDM1LDEsODgsMTEwLDAsMCwxMjEsCi0gICAgMTMsMCwxMjQsNCwwLDEyNCwxLDAsOTUsMTMsMCw4NywxMTAsMTgsMCw0LAotICAgIDExNiw0LDAsMTA3LDEwLDAsMTE0LDY4LDEsMSwxLDEsODksMTEwLDEsMCwKLSAgICA4OCwxMjQsMiwwLDExNSw5OSwxLDExNiwxLDAsMTI0LDEsMCwxMDAsNSwwLAotICAgIDEwMCwyLDAsMTMxLDMsMCwxMDAsMiwwLDEwNyw4LDAsMTE0LDE1NywxLDEyNCwKLSAgICA0LDAsMTA2LDYsMCwxMDAsMiwwLDEwNyw5LDAsMTE0LDE1NywxLDEyMSwxNiwKLSAgICAwLDEyNCw0LDAsMTA2LDYsMCwxMjQsMSwwLDk1LDE0LDAsODcsMTEzLDE1NCwKLSAgICAxLDQsMTE2LDQsMCwxMDcsMTAsMCwxMTQsMTUwLDEsMSwxLDEsODksMTEzLAotICAgIDE1NCwxLDg4LDExMywxNTcsMSwxMTAsMCwwLDEyNCw0LDAsMTA2LDE1LDAsMTE0LAotICAgIDcxLDIsMTI0LDIsMCwxMTUsMTk2LDEsMTE2LDEsMCwxMjQsMSwwLDEwMCw2LAotICAgIDAsMTAwLDIsMCwxMzEsMywwLDEwMCwyLDAsMTA3LDgsMCwxMTQsMjM2LDEsCi0gICAgMTIxLDE2LDAsMTI0LDQsMCwxMDYsMTYsMCwxMjQsMSwwLDk1LDE3LDAsODcsCi0gICAgMTEzLDIzNiwxLDQsMTE2LDQsMCwxMDcsMTAsMCwxMTQsMjMyLDEsMSwxLDEsCi0gICAgODksMTEzLDIzNiwxLDg4LDExMCwwLDAsMTI0LDIsMCwxMTUsMTAsMiwxMTYsMSwKLSAgICAwLDEyNCwxLDAsMTAwLDcsMCwxMDAsMiwwLDEzMSwzLDAsMTAwLDIsMCwKLSAgICAxMDcsOCwwLDExNCw3MSwyLDEyNCw0LDAsMTA2LDE4LDAsMTAwLDIsMCwxMDcsCi0gICAgOSwwLDExNCw2OCwyLDEyMSwxNiwwLDEyNCw0LDAsMTA2LDE4LDAsMTI0LDEsCi0gICAgMCw5NSwxOSwwLDg3LDExMyw2NSwyLDQsMTE2LDQsMCwxMDcsMTAsMCwxMTQsCi0gICAgNjEsMiwxLDEsMSw4OSwxMTMsNjUsMiw4OCwxMTMsNjgsMiwxMTMsNzEsMiwKLSAgICAxMTAsMCwwLDEwMCwyLDAsODMsNDEsOCw5NywyOSwyLDAsMCw4MywxMDEsCi0gICAgMTE2LDMyLDExNiwxMDQsMTAxLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDM5LDExNSwzMiw5NywKLSAgICAxMTYsMTE2LDExNCwxMDUsOTgsMTE3LDExNiwxMDEsMTE1LDQ2LDEwLDEwLDMyLDMyLDMyLDMyLAotICAgIDMyLDMyLDMyLDMyLDY1LDEwOCwxMDgsMzIsMTA5LDEwNSwxMTUsMTE1LDEwNSwxMTAsMTAzLDMyLAotICAgIDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDQ1LDExNCwxMDEsMTA4LDk3LDExNiwxMDEsMTAwLDMyLDEwOSwKLSAgICAxMTEsMTAwLDExNywxMDgsMTAxLDMyLDk3LDExNiwxMTYsMTE0LDEwNSw5OCwxMTcsMTE2LDEwMSwxMTUsCi0gICAgMzIsMTE5LDEwNSwxMDgsMTA4LDMyLDk4LDEwMSwzMiwxMTUsMTAxLDExNiw0NiwzMiwzMiw3MiwKLSAgICAxMDEsMTE0LDEwMSwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwxMDUsMTE1LDMyLDEwNCwKLSAgICAxMTEsMTE5LDMyLDExNiwxMDQsMTAxLDMyLDExNSwxMTIsMTAxLDk5LDMyLDk3LDExNiwxMTYsMTE0LAotICAgIDEwNSw5OCwxMTcsMTE2LDEwMSwxMTUsMzIsMTA5LDk3LDExMiwzMiwxMTEsMTEwLDExNiwxMTEsMzIsCi0gICAgMTE2LDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNTgsMTAsMTAsMzIsMzIsMzIsCi0gICAgMzIsMzIsMzIsMzIsMzIsMTE1LDExMiwxMDEsOTksNDYsMTEwLDk3LDEwOSwxMDEsMzIsNDUsCi0gICAgNjIsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDYsOTUsOTUsMTEwLDk3LDEwOSwxMDEsOTUsCi0gICAgOTUsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMTE1LDExMiwxMDEsOTksNDYsMTA4LAotICAgIDExMSw5NywxMDAsMTAxLDExNCwzMiw0NSw2MiwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw0NiwKLSAgICA5NSw5NSwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDk1LDk1LDEwLDMyLDMyLDMyLDMyLDMyLAotICAgIDMyLDMyLDMyLDExNSwxMTIsMTAxLDk5LDQ2LDExMiw5NywxMTQsMTAxLDExMCwxMTYsMzIsNDUsCi0gICAgNjIsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDYsOTUsOTUsMTEyLDk3LDk5LDEwNyw5NywKLSAgICAxMDMsMTAxLDk1LDk1LDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDExNSwxMTIsMTAxLAotICAgIDk5LDMyLDQ1LDYyLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDQ2LDk1LDk1LDExNSwxMTIsCi0gICAgMTAxLDk5LDk1LDk1LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDc5LDExMiwKLSAgICAxMTYsMTA1LDExMSwxMTAsOTcsMTA4LDU4LDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLAotICAgIDExNSwxMTIsMTAxLDk5LDQ2LDExMSwxMTQsMTA1LDEwMywxMDUsMTEwLDMyLDQ1LDYyLDMyLDEwOSwKLSAgICAxMTEsMTAwLDExNywxMDgsMTAxLDQ2LDk1LDk1LDEwMiwxMDUsMTA4LDEwMSw5NSw5NSwzMiw0MCwKLSAgICAxMDUsMTAyLDMyLDExNSwxMTIsMTAxLDk5LDQ2LDExNSwxMDEsMTE2LDk1LDEwMiwxMDUsMTA4LDEwMSwKLSAgICA5NywxMTYsMTE2LDExNCwzMiwxMDUsMTE1LDMyLDExNiwxMTQsMTE3LDEwMSw0MSwxMCwzMiwzMiwKLSAgICAzMiwzMiwzMiwzMiwzMiwzMiwxMTUsMTEyLDEwMSw5OSw0Niw5OSw5Nyw5OSwxMDQsMTAxLAotICAgIDEwMCwzMiw0NSw2MiwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw0Niw5NSw5NSw5OSw5NywKLSAgICA5OSwxMDQsMTAxLDEwMCw5NSw5NSwzMiw0MCwxMDUsMTAyLDMyLDk1LDk1LDEwMiwxMDUsMTA4LAotICAgIDEwMSw5NSw5NSwzMiw5NywxMDgsMTE1LDExMSwzMiwxMTUsMTAxLDExNiw0MSwxMCwzMiwzMiwKLSAgICAzMiwzMiwzMiwzMiwzMiwzMiwxMTUsMTEyLDEwMSw5OSw0NiwxMTUsMTE3LDk4LDEwOSwxMTEsCi0gICAgMTAwLDExNywxMDgsMTAxLDk1LDExNSwxMDEsOTcsMTE0LDk5LDEwNCw5NSwxMDgsMTExLDk5LDk3LAotICAgIDExNiwxMDUsMTExLDExMCwxMTUsMzIsNDUsNjIsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDYsCi0gICAgOTUsOTUsMTEyLDk3LDExNiwxMDQsOTUsOTUsMzIsNDAsMTA1LDEwMiwzMiwxMTUsMTAxLDExNiwKLSAgICA0MSwxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwxMTQsNTcsMCwwLDAsCi0gICAgNzgsMTE0LDIwNSwwLDAsMCwyMTgsMTEsOTUsOTUsMTEyLDk3LDk5LDEwNyw5NywxMDMsCi0gICAgMTAxLDk1LDk1LDExNCwyNDcsMCwwLDAsMTE0LDIxMSwwLDAsMCwxMTQsMjQ1LDAsCi0gICAgMCwwLDQxLDIwLDExNCwxNzgsMCwwLDAsMTE0LDYyLDAsMCwwLDExNCw2NywKLSAgICAwLDAsMCwxMTQsNTcsMCwwLDAsMTE0LDIxMCwwLDAsMCwxMTQsMTcwLDAsCi0gICAgMCwwLDExNCwyMjEsMCwwLDAsMjE4LDE2LDk1LDc4LDk3LDEwOSwxMDEsMTE1LDExMiwKLSAgICA5Nyw5OSwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDIxOCw3LDk1LDk1LDExMCwxMDEsMTE5LAotICAgIDk1LDk1LDIxOCw1LDk1LDExMiw5NywxMTYsMTA0LDExNCwyMDUsMCwwLDAsMTE0LDIzNCwKLSAgICAwLDAsMCwxMTQsMjUxLDAsMCwwLDExNCwyMDksMCwwLDAsMTE0LDI0NywwLAotICAgIDAsMCwxMTQsMjI3LDAsMCwwLDExNCwyMTgsMCwwLDAsMTE0LDIxMSwwLDAsCi0gICAgMCwxMTQsMjI2LDAsMCwwLDExNCwyNDUsMCwwLDAsNDEsNiwxMTQsNzEsMCwKLSAgICAwLDAsMTE0LDE4MCwwLDAsMCwxMTQsMjQ5LDAsMCwwLDExNCwyNTAsMCwwLAotICAgIDAsMTE0LDE3OCwwLDAsMCwxMTQsMTcwLDAsMCwwLDExNCw0LDAsMCwwLAotICAgIDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwxNywxMDUsMTEwLDEwNSwxMTYsCi0gICAgOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTUsOTcsMTE2LDExNiwxMTQsMTE1LDI1MSwzLDAsCi0gICAgMCwxMTUsODgsMCwwLDAsMCwxNyw5LDYsMTIsMSwyNCwxLDMsMSwKLSAgICAxNiwxLDEzLDEsOCwzLDMwLDEsOSwxLDEyLDIsMTUsMSwxNSwxLAotICAgIDE4LDEsMywxLDEzLDEsMTMsMSw4LDMsMzAsMSwzLDEsMTYsMSwKLSAgICAxMywxLDgsMywzLDEsMTMsMSwxMywxLDUsMywzMCwxLDE1LDEsCi0gICAgMywxLDE2LDEsMTMsMSwxMSwyLDksMiwzMCwxLDMsMSwxNiwxLAotICAgIDEzLDEsOCwzLDMwLDEsMTUsMSwzLDEsMTYsMSwxMywxLDEyMiwzMCwKLSAgICA5NSw4MywxMTIsMTAxLDk5LDc3LDEwMSwxMTYsMTA0LDExMSwxMDAsMTE1LDQ2LDEwNSwxMTAsMTA1LAotICAgIDExNiw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5NSw5NywxMTYsMTE2LDExNCwxMTUsOTksMSwKLSAgICAwLDAsMCwwLDAsMCwwLDMsMCwwLDAsMywwLDAsMCw2NywKLSAgICAwLDAsMCwxMTUsMTAxLDAsMCwwLDEyNCwwLDAsMTA2LDAsMCwxMjUsMSwKLSAgICAwLDExNiwxLDAsMTI0LDEsMCwxMDYsMiwwLDEwMCwxLDAsMTMxLDIsMCwKLSAgICAxMTQsNDgsMCwxMjQsMSwwLDEwNiwyLDAsMTA2LDMsMCwxMjQsMSwwLDEzMSwKLSAgICAxLDAsMTI1LDIsMCwxMTAsNiwwLDEwMCwyLDAsMTI1LDIsMCwxMjQsMiwKLSAgICAwLDEwMCwyLDAsMTA3LDgsMCwxMTQsODQsMCwxMTYsNCwwLDEyNCwxLDAsCi0gICAgMTA2LDUsMCwxMzEsMSwwLDEyNSwyLDAsMTEwLDAsMCwxMjQsMCwwLDEwNiwKLSAgICA2LDAsMTI0LDIsMCwxMzEsMSwwLDEsMTI0LDIsMCw4Myw0MSwzLDEyMiwKLSAgICAxNTMsODIsMTAxLDExNiwxMTcsMTE0LDExMCwzMiw5NywzMiwxMTAsMTAxLDExOSwzMiwxMDksMTExLAotICAgIDEwMCwxMTcsMTA4LDEwMSwzMiwxMTYsMTExLDMyLDk4LDEwMSwzMiwxMDgsMTExLDk3LDEwMCwxMDEsCi0gICAgMTAwLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDg0LDEwNCwxMDEsMzIsCi0gICAgMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsNDUsMTE0LDEwMSwxMDgsOTcsMTE2LDEwMSwxMDAsMzIsMTA5LAotICAgIDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsOTcsMTE2LDExNiwxMTQsMTA1LDk4LDExNywxMTYsMTAxLDExNSwKLSAgICAzMiw5NywxMTQsMTAxLDMyLDk3LDEwOCwxMTUsMTExLDMyLDExNSwxMDEsMTE2LDMyLDExOSwxMDUsCi0gICAgMTE2LDEwNCwzMiwxMTYsMTA0LDEwMSwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw5NywKLSAgICAxMTIsMTEyLDExNCwxMTEsMTEyLDExNCwxMDUsOTcsMTE2LDEwMSwzMiwxMTgsOTcsMTA4LDExNywxMDEsCi0gICAgMTE1LDMyLDEwMiwxMTQsMTExLDEwOSwzMiwxMTYsMTA0LDEwMSwzMiwxMTUsMTEyLDEwMSw5OSw0NiwKLSAgICAxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwyMTgsMTMsOTksMTE0LDEwMSw5NywKLSAgICAxMTYsMTAxLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDc4LDQxLDcsMTE0LDE3OCwwLDAsCi0gICAgMCwxMTQsNjAsMCwwLDAsMTE0LDE3MCwwLDAsMCwxMTQsMCwxLDAsMCwKLSAgICAxMTQsNjgsMCwwLDAsMTE0LDY3LDAsMCwwLDExNCwyNTUsMCwwLDAsNDEsCi0gICAgMywxMTQsNzEsMCwwLDAsMTE0LDE3OCwwLDAsMCwxMTQsMTgwLDAsMCwwLAotICAgIDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwKLSAgICA2LDk5LDExNCwxMDEsOTcsMTE2LDEwMSw3NSw0LDAsMCwxMTUsMTYsMCwwLDAsCi0gICAgMCw3LDksMiwxOCwzLDIxLDIsNiwxLDEyLDQsMTgsMSwxMywxLAotICAgIDEyMiwxOSw5NSw4MywxMTIsMTAxLDk5LDc3LDEwMSwxMTYsMTA0LDExMSwxMDAsMTE1LDQ2LDk5LAotICAgIDExNCwxMDEsOTcsMTE2LDEwMSw5OSwyLDAsMCwwLDAsMCwwLDAsMiwwLAotICAgIDAsMCwyLDAsMCwwLDY3LDAsMCwwLDExNSwyMywwLDAsMCwxMjQsCi0gICAgMCwwLDEwNiwwLDAsMTA2LDEsMCwxMDYsMiwwLDEyNCwxLDAsMTMxLDEsCi0gICAgMCwxLDEwMCwxLDAsODMsNDEsMiwxMjIsMTg5LDY4LDExMSwzMiwxMDEsMTE4LDEwMSwKLSAgICAxMTQsMTIxLDExNiwxMDQsMTA1LDExMCwxMDMsMzIsMTEwLDEwMSw5OSwxMDEsMTE1LDExNSw5NywxMTQsCi0gICAgMTIxLDMyLDExNiwxMTEsMzIsMTAxLDEyMCwxMDEsOTksMTE3LDExNiwxMDEsMzIsMTE2LDEwNCwxMDEsCi0gICAgMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsCi0gICAgMzIsMzIsODQsMTA0LDEwMSwzMiwxMTAsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSwzMiwKLSAgICAxMTEsMTAyLDMyLDk2LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk2LDMyLDEwNSwxMTUsMzIsMTE3LAotICAgIDExNSwxMDEsMTAwLDMyLDk3LDExNSwzMiwxMTYsMTA0LDEwMSwzMiwxMTYsOTcsMTE0LDEwMywxMDEsCi0gICAgMTE2LDMyLDExMSwxMDIsMzIsMTAxLDEyMCwxMDEsOTksMTE3LDExNiwxMDUsMTExLDExMCw0NiwxMCwKLSAgICAzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw4NCwxMDQsMTA1LDExNSwzMiwxMDksMTAxLDExNiwKLSAgICAxMDQsMTExLDEwMCwzMiwxMTcsMTE1LDEwMSwxMTUsMzIsMTE2LDEwNCwxMDEsMzIsMTA4LDExMSw5NywKLSAgICAxMDAsMTAxLDExNCwzOSwxMTUsMzIsOTYsMTAxLDEyMCwxMDEsOTksOTUsMTA5LDExMSwxMDAsMTE3LAotICAgIDEwOCwxMDEsNDAsNDEsOTYsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsNDYsMTAsMTAsMzIsCi0gICAgMzIsMzIsMzIsMzIsMzIsMzIsMzIsNzgsNDEsMywxMTQsMTc4LDAsMCwwLDExNCwKLSAgICAxNzAsMCwwLDAsMjE4LDExLDEwMSwxMjAsMTAxLDk5LDk1LDEwOSwxMTEsMTAwLDExNywxMDgsCi0gICAgMTAxLDQxLDIsMTE0LDcxLDAsMCwwLDExNCwxODAsMCwwLDAsMTE0LDQsMCwKLSAgICAwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDUsOTUsMTAxLAotICAgIDEyMCwxMDEsOTksOTgsNCwwLDAsMTE1LDIsMCwwLDAsMCw3LDEyMiwxOCwKLSAgICA5NSw4MywxMTIsMTAxLDk5LDc3LDEwMSwxMTYsMTA0LDExMSwxMDAsMTE1LDQ2LDk1LDEwMSwxMjAsCi0gICAgMTAxLDk5LDk5LDIsMCwwLDAsMCwwLDAsMCw0LDAsMCwwLDExLAotICAgIDAsMCwwLDY3LDAsMCwwLDExNSwxNywxLDAsMCwxMjQsMCwwLDEwNiwKLSAgICAwLDAsMTA2LDEsMCwxMjUsMiwwLDExNiwyLDAsMTA2LDMsMCwxMzEsMCwKLSAgICAwLDEsMTE2LDQsMCwxMjQsMiwwLDEzMSwxLDAsMTQzLDIyNiwwLDEsMTE2LAotICAgIDUsMCwxMDYsNiwwLDEwNiw3LDAsMTI0LDIsMCwxMzEsMSwwLDEyNCwxLAotICAgIDAsMTA3LDksMCwxMTQsOTUsMCwxMDAsMSwwLDEwNiw4LDAsMTI0LDIsMCwKLSAgICAxMzEsMSwwLDEyNSwzLDAsMTE2LDksMCwxMjQsMywwLDEwMCwyLDAsMTI0LAotICAgIDIsMCwxMzEsMSwxLDEzMCwxLDAsMTEwLDAsMCwxMjQsMCwwLDEwNiwwLAotICAgIDAsMTA2LDEwLDAsMTAwLDMsMCwxMDcsOCwwLDExNCwxODEsMCwxMjQsMCwwLAotICAgIDEwNiwwLDAsMTA2LDExLDAsMTAwLDMsMCwxMDcsOCwwLDExNCwxNTgsMCwxMTYsCi0gICAgOSwwLDEwMCw0LDAsMTAwLDIsMCwxMjQsMCwwLDEwNiwwLDAsMTA2LDEsCi0gICAgMCwxMzEsMSwxLDEzMCwxLDAsMTEwLDAsMCwxMjQsMCwwLDEwNiwxMiwwLAotICAgIDEyNCwxLDAsMTAwLDUsMCwxMDAsNiwwLDEzMSwxLDEsMSwxMjQsMSwwLAotICAgIDgzLDEyNCwwLDAsMTA2LDEyLDAsMTI0LDEsMCwxMDAsNSwwLDEwMCw2LDAsCi0gICAgMTMxLDEsMSwxLDExNiwxMywwLDEyNCwwLDAsMTA2LDAsMCwxMDYsMTAsMCwKLSAgICAxMDAsNywwLDEzMSwyLDAsMTE1LDI0MywwLDEyNCwwLDAsMTA2LDAsMCwxMDYsCi0gICAgMTAsMCwxMDYsMTQsMCwxMjQsMiwwLDEzMSwxLDAsMSwxMTAsMTMsMCwxMjQsCi0gICAgMCwwLDEwNiwxNSwwLDEyNCwxLDAsMTMxLDEsMCwxLDg3LDEwMCwzLDAsCi0gICAgODEsODgsMTE2LDUsMCwxMDYsNiwwLDEyNCwyLDAsMjUsODMsNDEsOCwxMjIsCi0gICAgNTEsNjksMTIwLDEwMSw5OSwxMTcsMTE2LDEwMSwzMiwxMTYsMTA0LDEwMSwzMiwxMTUsMTEyLDEwMSwKLSAgICA5OSwzMiwxMDUsMTEwLDMyLDk3LDExMCwzMiwxMDEsMTIwLDEwNSwxMTUsMTE2LDEwNSwxMTAsMTAzLAotICAgIDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDM5LDExNSwzMiwxMTAsOTcsMTA5LDEwMSwxMTUsMTEyLAotICAgIDk3LDk5LDEwMSw0NiwxMjIsMzAsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTIzLDMzLDExNCwKLSAgICAxMjUsMzIsMTEwLDExMSwxMTYsMzIsMTA1LDExMCwzMiwxMTUsMTIxLDExNSw0NiwxMDksMTExLDEwMCwKLSAgICAxMTcsMTA4LDEwMSwxMTUsMTE0LDY3LDAsMCwwLDc4LDEyMiwxNCwxMDksMTA1LDExNSwxMTUsCi0gICAgMTA1LDExMCwxMDMsMzIsMTA4LDExMSw5NywxMDAsMTAxLDExNCwxMTQsMjQ5LDAsMCwwLDg0LAotICAgIDExNCwyLDEsMCwwLDQxLDE2LDExNCwxNzgsMCwwLDAsMTE0LDY3LDAsMCwKLSAgICAwLDExNCwxMDYsMCwwLDAsMjE4LDEyLDk3LDk5LDExMywxMTcsMTA1LDExNCwxMDEsOTUsCi0gICAgMTA4LDExMSw5OSwxMDcsMTE0LDEwMywwLDAsMCwxMTQsNywwLDAsMCwxMTQsNzMsCi0gICAgMCwwLDAsMTE0LDkzLDAsMCwwLDExNCw0NywwLDAsMCwxMTQsMTU0LDAsCi0gICAgMCwwLDExNCwxNzAsMCwwLDAsMTE0LDIyMSwwLDAsMCwxMTQsMjU1LDAsMCwKLSAgICAwLDExNCw2MCwwLDAsMCwyMTgsMTEsMTA4LDExMSw5NywxMDAsOTUsMTA5LDExMSwxMDAsCi0gICAgMTE3LDEwOCwxMDEsMTE0LDMsMSwwLDAsNDEsNCwxMTQsNzEsMCwwLDAsMTE0LAotICAgIDE4MCwwLDAsMCwxMTQsNjcsMCwwLDAsMTE0LDE3MiwwLDAsMCwxMTQsNCwKLSAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMTc2LDAsCi0gICAgMCwwLDEwOCw0LDAsMCwxMTUsMzIsMCwwLDAsMCwyLDEyLDEsMTAsCi0gICAgMSwxMywxLDI0LDEsMTUsMSwyMSwxLDE4LDEsMTgsMSwyNywyLDE5LAotICAgIDEsNCwxLDE5LDEsMjEsNCwyMiwyLDE5LDEsMTIyLDE3LDk1LDgzLDExMiwKLSAgICAxMDEsOTksNzcsMTAxLDExNiwxMDQsMTExLDEwMCwxMTUsNDYsMTAxLDEyMCwxMDEsOTksOTksMSwKLSAgICAwLDAsMCwwLDAsMCwwLDMsMCwwLDAsMjcsMCwwLDAsNjcsCi0gICAgMCwwLDAsMTE1LDI0LDEsMCwwLDEyNCwwLDAsMTA2LDAsMCwxMjUsMSwKLSAgICAwLDEyNCwxLDAsMTA2LDEsMCwxMDYsMiwwLDEyNCwxLDAsMTA2LDMsMCwKLSAgICAxMzEsMSwwLDEsMTE2LDQsMCwxMDYsNSwwLDEyNCwxLDAsMTA2LDMsMCwKLSAgICAyNSwxMjUsMiwwLDExNiw2LDAsMTI0LDIsMCwxMDAsMSwwLDEwMCwwLDAsCi0gICAgMTMxLDMsMCwxMDAsMCwwLDEwNyw4LDAsMTE0LDEwOCwwLDEyMSwxNiwwLDEyNCwKLSAgICAxLDAsMTA2LDEsMCwxMjQsMiwwLDk1LDcsMCw4NywxMTMsMTA4LDAsNCwKLSAgICAxMTYsOCwwLDEwNywxMCwwLDExNCwxMDQsMCwxLDEsMSw4OSwxMTMsMTA4LDAsCi0gICAgODgsMTEwLDAsMCwxMTYsNiwwLDEyNCwyLDAsMTAwLDIsMCwxMDAsMCwwLAotICAgIDEzMSwzLDAsMTAwLDAsMCwxMDcsOCwwLDExNCwyMTUsMCwxMjEsNTksMCwxMjQsCi0gICAgMiwwLDEwNiw5LDAsMTI0LDIsMCw5NSwxMCwwLDExNiwxMSwwLDEyNCwyLAotICAgIDAsMTAwLDMsMCwxMzEsMiwwLDExNSwxOTAsMCwxMjQsMSwwLDEwNiwzLDAsCi0gICAgMTA2LDEyLDAsMTAwLDQsMCwxMzEsMSwwLDEwMCw1LDAsMjUsMTI0LDIsMCwKLSAgICA5NSwxMCwwLDExMCwwLDAsODcsMTEzLDIxNSwwLDQsMTE2LDgsMCwxMDcsMTAsCi0gICAgMCwxMTQsMjExLDAsMSwxLDEsODksMTEzLDIxNSwwLDg4LDExMCwwLDAsMTE2LAotICAgIDYsMCwxMjQsMiwwLDEwMCw2LDAsMTAwLDAsMCwxMzEsMywwLDEwMCwwLAotICAgIDAsMTA3LDgsMCwxMTQsMjAsMSwxMjEsMTMsMCwxMjQsMSwwLDEyNCwyLDAsCi0gICAgOTUsMTMsMCw4NywxMTMsMjAsMSw0LDExNiw4LDAsMTA3LDEwLDAsMTE0LDE2LAotICAgIDEsMSwxLDEsODksMTEzLDIwLDEsODgsMTEwLDAsMCwxMjQsMiwwLDgzLAotICAgIDQxLDcsNzgsMTE0LDIwNSwwLDAsMCwxMTQsMjUxLDAsMCwwLDExNCwyNDcsMCwKLSAgICAwLDAsMTE0LDExNiwwLDAsMCwxMTQsODQsMCwwLDAsMTE0LDIwOSwwLDAsCi0gICAgMCw0MSwxNCwxMTQsMTc4LDAsMCwwLDExNCwxNzAsMCwwLDAsMTE0LDUsMSwKLSAgICAwLDAsMTE0LDY3LDAsMCwwLDExNCw3LDAsMCwwLDExNCw3MywwLDAsCi0gICAgMCwxMTQsNjIsMCwwLDAsMTE0LDIwNSwwLDAsMCwxMTQsMjEwLDAsMCwwLAotICAgIDExNCw1NywwLDAsMCwxMTQsMjUxLDAsMCwwLDExNCw2MCwwLDAsMCwxMTQsCi0gICAgMzIsMCwwLDAsMTE0LDIwOSwwLDAsMCw0MSwzLDExNCw3MSwwLDAsMCwKLSAgICAxMTQsMTc4LDAsMCwwLDExNCwxODAsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LAotICAgIDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDI1LDk1LDEwOCwxMTEsOTcsMTAwLAotICAgIDk1LDk4LDk3LDk5LDEwNywxMTksOTcsMTE0LDEwMCw5NSw5OSwxMTEsMTA5LDExMiw5NywxMTYsCi0gICAgMTA1LDk4LDEwOCwxMDEsMTMyLDQsMCwwLDExNSw0MiwwLDAsMCwwLDQsOSwKLSAgICAxLDE5LDIsMTYsMSwyNCwxLDMsMSwxNiwxLDEzLDEsOCwxLDI0LAotICAgIDEsMyw0LDEyLDEsMTUsMSwzMiwxLDEzLDEsOCwxLDI0LDEsMywKLSAgICAxLDEzLDEsMTMsMSw4LDEsMTIyLDM4LDk1LDgzLDExMiwxMDEsOTksNzcsMTAxLAotICAgIDExNiwxMDQsMTExLDEwMCwxMTUsNDYsOTUsMTA4LDExMSw5NywxMDAsOTUsOTgsOTcsOTksMTA3LAotICAgIDExOSw5NywxMTQsMTAwLDk1LDk5LDExMSwxMDksMTEyLDk3LDExNiwxMDUsOTgsMTA4LDEwMSw5OSwKLSAgICAxLDAsMCwwLDAsMCwwLDAsMiwwLDAsMCwxMSwwLDAsMCwKLSAgICA2NywwLDAsMCwxMTUsMTc5LDAsMCwwLDEyNCwwLDAsMTA2LDAsMCwxMDYsCi0gICAgMSwwLDEwMCwwLDAsMTA3LDksMCwxMTQsNTIsMCwxMTYsMiwwLDEyNCwwLAotICAgIDAsMTA2LDAsMCwxMDYsMSwwLDEwMCwxLDAsMTMxLDIsMCwxMTUsNTIsMCwKLSAgICAxMjQsMCwwLDEwNiwzLDAsMTMxLDAsMCw4MywxMTAsMCwwLDEyNCwwLDAsCi0gICAgMTA2LDQsMCwxMzEsMCwwLDEyNSwxLDAsMTE2LDUsMCwxMjQsMSwwLDEzMSwKLSAgICAxLDAsMTQzLDg0LDAsMSwxMjQsMCwwLDEwNiwwLDAsMTA2LDEsMCwxMDAsCi0gICAgMCwwLDEwNyw4LDAsMTE0LDE0MywwLDEyNCwwLDAsMTA2LDAsMCwxMDYsNiwKLSAgICAwLDEwMCwwLDAsMTA3LDgsMCwxMTQsMTU2LDAsMTE2LDcsMCwxMDAsMiwwLAotICAgIDEwMCwzLDAsMTI0LDAsMCwxMDYsMCwwLDEwNiw4LDAsMTMxLDEsMSwxMzAsCi0gICAgMSwwLDExMywxNTYsMCwxMTAsMTMsMCwxMjQsMCwwLDEwNiw5LDAsMTI0LDEsCi0gICAgMCwxMzEsMSwwLDEsODcsMTAwLDAsMCw4MSw4OCwxMTYsMTAsMCwxMDYsMTEsCi0gICAgMCwxMjQsMCwwLDEwNiwwLDAsMTA2LDgsMCwyNSw4Myw0MSw0LDc4LDExNCwKLSAgICAyLDEsMCwwLDEyMiwxNCwxMDksMTA1LDExNSwxMTUsMTA1LDExMCwxMDMsMzIsMTA4LDExMSwKLSAgICA5NywxMDAsMTAxLDExNCwxMTQsNjcsMCwwLDAsNDEsMTIsMTE0LDE3OCwwLDAsMCwKLSAgICAxMTQsMTcwLDAsMCwwLDExNCw2MCwwLDAsMCwxMTQsNiwxLDAsMCwxMTQsCi0gICAgMSwxLDAsMCwxMTQsMjEzLDAsMCwwLDExNCwyMjEsMCwwLDAsMTE0LDE1NCwKLSAgICAwLDAsMCwxMTQsNjcsMCwwLDAsMTE0LDMsMSwwLDAsMTE0LDcsMCwKLSAgICAwLDAsMTE0LDczLDAsMCwwLDQxLDIsMTE0LDcxLDAsMCwwLDExNCwxODAsCisgICAgMTMsMSwxNCwyLDYsMSwzLDEsMTMsMSwxMywxLDExLDEsMywxLAorICAgIDE5LDEsMTMsMSwxMSwyLDIxLDEsMjcsMSw5LDEsOSwxLDExNCwyNDcsCisgICAgMCwwLDAsMjE4LDgsMTExLDExOCwxMDEsMTE0LDExNCwxMDUsMTAwLDEwMSw3MCw5OSwyLAorICAgIDAsMCwwLDEsMCwwLDAsNCwwLDAsMCw1OSwwLDAsMCw2NywKKyAgICAwLDAsMCwxMTUsMjcsMiwwLDAsMTI0LDIsMCwxMTUsMzAsMCwxMTYsMCwKKyAgICAwLDEyNCwxLDAsMTAwLDEsMCwxMDAsMCwwLDEzMSwzLDAsMTAwLDAsMCwKKyAgICAxMDcsOCwwLDExNCw2NywwLDEyMSwxNiwwLDEyNCwwLDAsMTA2LDEsMCwxMjQsCisgICAgMSwwLDk1LDIsMCw4NywxMTAsMTgsMCw0LDExNiwzLDAsMTA3LDEwLDAsCisgICAgMTE0LDY2LDAsMSwxLDEsODksMTEwLDEsMCw4OCwxMjQsMiwwLDExNSw5NywKKyAgICAwLDExNiwwLDAsMTI0LDEsMCwxMDAsMiwwLDEwMCwwLDAsMTMxLDMsMCwKKyAgICAxMDAsMCwwLDEwNyw4LDAsMTE0LDE5NCwwLDEyNCwwLDAsMTA2LDQsMCwxMjUsCisgICAgMywwLDEyNCwzLDAsMTAwLDAsMCwxMDcsOCwwLDExNCwxNjAsMCwxMjQsMCwKKyAgICAwLDEwNiw1LDAsMTAwLDAsMCwxMDcsOSwwLDExNCwxNjAsMCwxMTYsNiwwLAorICAgIDEwNiw3LDAsMTE2LDYsMCwxMzEsMSwwLDEyNSwzLDAsMTI0LDAsMCwxMDYsCisgICAgNSwwLDEyNCwzLDAsOTUsOCwwLDEyMSwxMywwLDEyNCwzLDAsMTI0LDEsCisgICAgMCw5NSw5LDAsODcsMTEwLDE4LDAsNCwxMTYsMywwLDEwNywxMCwwLDExNCwKKyAgICAxOTMsMCwxLDEsMSw4OSwxMTAsMSwwLDg4LDEyNCwyLDAsMTE1LDIyNCwwLAorICAgIDExNiwwLDAsMTI0LDEsMCwxMDAsMywwLDEwMCwwLDAsMTMxLDMsMCwxMDAsCisgICAgMCwwLDEwNyw4LDAsMTE0LDUsMSwxMjEsMTYsMCwxMjQsMCwwLDEwNiwxMCwKKyAgICAwLDEyNCwxLDAsOTUsMTEsMCw4NywxMTAsMTgsMCw0LDExNiwzLDAsMTA3LAorICAgIDEwLDAsMTE0LDQsMSwxLDEsMSw4OSwxMTAsMSwwLDg4LDEyMSwxMywwLAorICAgIDEyNCwwLDAsMTI0LDEsMCw5NSwxMiwwLDg3LDExMCwxOCwwLDQsMTE2LDMsCisgICAgMCwxMDcsMTAsMCwxMTQsMzgsMSwxLDEsMSw4OSwxMTAsMSwwLDg4LDEyNCwKKyAgICAyLDAsMTE1LDY5LDEsMTE2LDAsMCwxMjQsMSwwLDEwMCw0LDAsMTAwLDAsCisgICAgMCwxMzEsMywwLDEwMCwwLDAsMTA3LDgsMCwxMTQsMTIxLDEsMTI0LDAsMCwKKyAgICAxMDYsNSwwLDEwMCwwLDAsMTA3LDksMCwxMTQsMTIxLDEsMTIxLDE2LDAsMTI0LAorICAgIDAsMCwxMDYsNSwwLDEyNCwxLDAsOTUsMTMsMCw4NywxMTAsMTgsMCw0LAorICAgIDExNiwzLDAsMTA3LDEwLDAsMTE0LDEyMCwxLDEsMSwxLDg5LDExMCwxLDAsCisgICAgODgsMTI0LDAsMCwxMDYsMTQsMCwxMTQsMjMsMiwxMjQsMiwwLDExNSwxNjAsMSwKKyAgICAxMTYsMCwwLDEyNCwxLDAsMTAwLDUsMCwxMDAsMCwwLDEzMSwzLDAsMTAwLAorICAgIDAsMCwxMDcsOCwwLDExNCwxOTcsMSwxMjEsMTYsMCwxMjQsMCwwLDEwNiwxNSwKKyAgICAwLDEyNCwxLDAsOTUsMTYsMCw4NywxMTAsMTgsMCw0LDExNiwzLDAsMTA3LAorICAgIDEwLDAsMTE0LDE5NiwxLDEsMSwxLDg5LDExMCwxLDAsODgsMTI0LDIsMCwKKyAgICAxMTUsMjI3LDEsMTE2LDAsMCwxMjQsMSwwLDEwMCw2LDAsMTAwLDAsMCwxMzEsCisgICAgMywwLDEwMCwwLDAsMTA3LDgsMCwxMTQsMjMsMiwxMjQsMCwwLDEwNiwxNywKKyAgICAwLDEwMCwwLDAsMTA3LDksMCwxMTQsMjMsMiwxMjEsMTYsMCwxMjQsMCwwLAorICAgIDEwNiwxNywwLDEyNCwxLDAsOTUsMTgsMCw4NywxMTAsMTgsMCw0LDExNiwzLAorICAgIDAsMTA3LDEwLDAsMTE0LDIyLDIsMSwxLDEsODksMTEwLDEsMCw4OCwxMjQsCisgICAgMSwwLDgzLDQxLDcsNzgsMTE0LDU3LDAsMCwwLDExNCwyMDMsMCwwLDAsCisgICAgMjE4LDExLDk1LDk1LDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSw5NSw5NSwxMTQsMjQ2LDAsCisgICAgMCwwLDExNCwyMTAsMCwwLDAsMTE0LDI0NCwwLDAsMCw0MSwxOSwxMTQsNjIsCisgICAgMCwwLDAsMTE0LDY3LDAsMCwwLDExNCw1NywwLDAsMCwxMTQsMjA4LDAsCisgICAgMCwwLDExNCwxNzAsMCwwLDAsMTE0LDIyMCwwLDAsMCwyMTgsMTYsOTUsNzgsCisgICAgOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsMjE4LDcsCisgICAgOTUsOTUsMTEwLDEwMSwxMTksOTUsOTUsMjE4LDUsOTUsMTEyLDk3LDExNiwxMDQsMTE0LDIwMywKKyAgICAwLDAsMCwxMTQsMjMzLDAsMCwwLDExNCwyNDksMCwwLDAsMTE0LDIwNywwLAorICAgIDAsMCwxMTQsMjQ2LDAsMCwwLDExNCwyMjYsMCwwLDAsMTE0LDIxNywwLDAsCisgICAgMCwxMTQsMjEwLDAsMCwwLDExNCwyMjUsMCwwLDAsMTE0LDI0NCwwLDAsMCwKKyAgICA0MSw0LDExNCwxNzcsMCwwLDAsMTE0LDE3OCwwLDAsMCwxMTQsMjQ4LDAsMCwKKyAgICAwLDExNCwxNzAsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsCisgICAgMTE0LDUsMCwwLDAsMjE4LDE4LDk1LDEwNSwxMTAsMTA1LDExNiw5NSwxMDksMTExLDEwMCwKKyAgICAxMTcsMTA4LDEwMSw5NSw5NywxMTYsMTE2LDExNCwxMTUsMjI2LDMsMCwwLDExNSw4NiwwLAorICAgIDAsMCwwLDQsMzAsMSwzLDEsMTYsMSwxMywxLDUsMiwzMCwxLAorICAgIDksMSwxMiwyLDE1LDEsMTUsMSwxMiwxLDMsMSwxMywxLDEzLDEsCisgICAgNSwyLDMwLDEsMywxLDE2LDEsMTMsMSw1LDIsMywxLDEzLDEsCisgICAgMTMsMSw1LDIsMzAsMSwxNSwxLDMsMSwxNiwxLDEzLDEsNSwyLAorICAgIDksMSwzMCwxLDMsMSwxNiwxLDEzLDEsNSwyLDMwLDEsMTUsMSwKKyAgICAzLDEsMTYsMSwxMywxLDUsMSwxMTQsMjUzLDAsMCwwLDk5LDEsMCwKKyAgICAwLDAsMCwwLDAsMCwyLDAsMCwwLDUsMCwwLDAsNjcsMCwKKyAgICAwLDAsMTE1LDEyOSwwLDAsMCwxMDAsMSwwLDEyNSwxLDAsMTE2LDAsMCwKKyAgICAxMjQsMCwwLDEwNiwxLDAsMTAwLDIsMCwxMzEsMiwwLDExNCw0NSwwLDEyNCwKKyAgICAwLDAsMTA2LDEsMCwxMDYsMiwwLDEyNCwwLDAsMTMxLDEsMCwxMjUsMSwKKyAgICAwLDExMCw0MCwwLDExNiwwLDAsMTI0LDAsMCwxMDYsMSwwLDEwMCwzLDAsCisgICAgMTMxLDIsMCwxMTQsODUsMCwxMTYsMywwLDEwNiw0LDAsMTAwLDQsMCwxMTYsCisgICAgNSwwLDEwMCw1LDAsMTAwLDYsMCwxMzEsMiwxLDEsMTI0LDEsMCwxMDAsCisgICAgMSwwLDEwNyw4LDAsMTE0LDExMiwwLDExNiw2LDAsMTI0LDAsMCwxMDYsNywKKyAgICAwLDEzMSwxLDAsMTI1LDEsMCwxMTYsOCwwLDEyNCwwLDAsMTI0LDEsMCwKKyAgICAxMzEsMiwwLDEsMTI0LDEsMCw4Myw0MSw3LDEyMiw0Myw2NywxMTQsMTAxLDk3LAorICAgIDExNiwxMDEsMzIsOTcsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsOTgsOTcsMTE1LDEwMSwKKyAgICAxMDAsMzIsMTExLDExMCwzMiwxMTYsMTA0LDEwMSwzMiwxMTIsMTE0LDExMSwxMTgsMTA1LDEwMCwxMDEsCisgICAgMTAwLDMyLDExNSwxMTIsMTAxLDk5LDQ2LDc4LDIxOCwxMyw5OSwxMTQsMTAxLDk3LDExNiwxMDEsCisgICAgOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMjE4LDExLDEwMSwxMjAsMTAxLDk5LDk1LDEwOSwxMTEsCisgICAgMTAwLDExNywxMDgsMTAxLDEyMiw4NywxMTUsMTE2LDk3LDExNCwxMTYsMTA1LDExMCwxMDMsMzIsMTA1LAorICAgIDExMCwzMiw4MCwxMjEsMTE2LDEwNCwxMTEsMTEwLDMyLDUxLDQ2LDU0LDQ0LDMyLDEwOCwxMTEsCisgICAgOTcsMTAwLDEwMSwxMTQsMTE1LDMyLDEwMCwxMDEsMTAyLDEwNSwxMTAsMTA1LDExMCwxMDMsMzIsMTAxLAorICAgIDEyMCwxMDEsOTksOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDAsNDEsMzIsMTA5LDExNywxMTUsCisgICAgMTE2LDMyLDk3LDEwOCwxMTUsMTExLDMyLDEwMCwxMDEsMTAyLDEwNSwxMTAsMTAxLDMyLDk5LDExNCwKKyAgICAxMDEsOTcsMTE2LDEwMSw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw0MCw0MSw5MCwxMCwxMTUsCisgICAgMTE2LDk3LDk5LDEwNywxMDgsMTAxLDExOCwxMDEsMTA4LDExNCwxMTUsMCwwLDAsNDEsOSwKKyAgICAxMTQsNjAsMCwwLDAsMTE0LDE3MCwwLDAsMCwxMTQsMjU0LDAsMCwwLDExNCwKKyAgICAxNjcsMCwwLDAsMTE0LDE2OCwwLDAsMCwyMTgsMTgsNjgsMTAxLDExMiwxMTQsMTAxLAorICAgIDk5LDk3LDExNiwxMDUsMTExLDExMCw4Nyw5NywxMTQsMTEwLDEwNSwxMTAsMTAzLDExNCw2OCwwLAorICAgIDAsMCwxMTQsNjcsMCwwLDAsMTE0LDI1MywwLDAsMCw0MSwyLDExNCwxNzcsCisgICAgMCwwLDAsMTE0LDE3OCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLAorICAgIDAsMCwxMTQsNSwwLDAsMCwyMTgsMTYsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTUsCisgICAgMTAyLDExNCwxMTEsMTA5LDk1LDExNSwxMTIsMTAxLDk5LDI2LDQsMCwwLDExNSwyMCwwLAorICAgIDAsMCwwLDMsNiwxLDE4LDMsMjEsMSwxOCwxLDksMiwxMywxLAorICAgIDEyLDEsMTUsMSwxMywxLDExNCwxLDEsMCwwLDk5LDEsMCwwLDAsCisgICAgMCwwLDAsMCwyLDAsMCwwLDMsMCwwLDAsNjcsMCwwLDAsCisgICAgMTE1LDE0OSwwLDAsMCwxMjQsMCwwLDEwNiwwLDAsMTAwLDEsMCwxMDcsOCwKKyAgICAwLDExNCwyMSwwLDEwMCwyLDAsMTEwLDYsMCwxMjQsMCwwLDEwNiwwLDAsCisgICAgMTI1LDEsMCwxMjQsMCwwLDEwNiwxLDAsMTAwLDEsMCwxMDcsOCwwLDExNCwKKyAgICA5NSwwLDEyNCwwLDAsMTA2LDIsMCwxMDAsMSwwLDEwNyw4LDAsMTE0LDczLAorICAgIDAsMTAwLDMsMCwxMDYsMywwLDEyNCwxLDAsMTMxLDEsMCw4MywxMDAsNCwKKyAgICAwLDEwNiwzLDAsMTI0LDEsMCwxMjQsMCwwLDEwNiwyLDAsMTMxLDIsMCwKKyAgICA4MywxMTAsNTAsMCwxMjQsMCwwLDEwNiw0LDAsMTE0LDEyMywwLDEwMCw1LDAsCisgICAgMTA2LDMsMCwxMjQsMSwwLDEyNCwwLDAsMTA2LDEsMCwxMzEsMiwwLDgzLAorICAgIDEwMCw2LDAsMTA2LDMsMCwxMjQsMCwwLDEwNiwwLDAsMTI0LDAsMCwxMDYsCisgICAgMSwwLDEzMSwyLDAsODMsMTAwLDEsMCw4Myw0MSw3LDEyMiwzOCw4MiwxMDEsCisgICAgMTE2LDExNywxMTQsMTEwLDMyLDExNiwxMDQsMTAxLDMyLDExNCwxMDEsMTEyLDExNCwzMiwxMTYsMTExLAorICAgIDMyLDExNywxMTUsMTAxLDMyLDEwMiwxMTEsMTE0LDMyLDExNiwxMDQsMTAxLDMyLDEwOSwxMTEsMTAwLAorICAgIDExNywxMDgsMTAxLDQ2LDc4LDExNCwyMDUsMCwwLDAsMTIyLDEzLDYwLDEwOSwxMTEsMTAwLAorICAgIDExNywxMDgsMTAxLDMyLDEyMywzMywxMTQsMTI1LDYyLDEyMiwyMCw2MCwxMDksMTExLDEwMCwxMTcsCisgICAgMTA4LDEwMSwzMiwxMjMsMzMsMTE0LDEyNSwzMiw0MCwxMjMsMzMsMTE0LDEyNSw0MSw2MiwxMjIsCisgICAgMjMsNjAsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTIzLDMzLDExNCwxMjUsMzIsMTAyLDExNCwKKyAgICAxMTEsMTA5LDMyLDEyMywzMywxMTQsMTI1LDYyLDEyMiwxOCw2MCwxMDksMTExLDEwMCwxMTcsMTA4LAorICAgIDEwMSwzMiwxMjMsMzMsMTE0LDEyNSwzMiw0MCwxMjMsMTI1LDQxLDYyLDQxLDUsMTE0LDY3LAorICAgIDAsMCwwLDExNCwyMTcsMCwwLDAsMTE0LDE3MCwwLDAsMCwxMTQsNDcsMCwKKyAgICAwLDAsMTE0LDIyNiwwLDAsMCw0MSwyLDExNCwxNzcsMCwwLDAsMTE0LDY3LAogICAgIDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsCi0gICAgMCwwLDIxOCwxNCw5NSwxMDgsMTExLDk3LDEwMCw5NSwxMTcsMTEwLDEwOCwxMTEsOTksMTA3LAotICAgIDEwMSwxMDAsMTYyLDQsMCwwLDExNSwyMCwwLDAsMCwwLDIsMTgsMiwyMSwKLSAgICAxLDEzLDIsMTIsMSwxMywxLDE4LDEsMTgsMSwzMCwzLDE5LDUsMTIyLAotICAgIDI3LDk1LDgzLDExMiwxMDEsOTksNzcsMTAxLDExNiwxMDQsMTExLDEwMCwxMTUsNDYsOTUsMTA4LAotICAgIDExMSw5NywxMDAsOTUsMTE3LDExMCwxMDgsMTExLDk5LDEwNywxMDEsMTAwLDk5LDEsMCwwLAotICAgIDAsMCwwLDAsMCwxLDAsMCwwLDgsMCwwLDAsNjcsMCwwLAotICAgIDAsMTE1LDQ5LDAsMCwwLDExNiwwLDAsMTA2LDEsMCwxMzEsMCwwLDEsCi0gICAgMTE2LDIsMCwxMjQsMCwwLDEwNiwzLDAsMTA2LDQsMCwxMzEsMSwwLDE0MywKLSAgICAxNSwwLDEsMTI0LDAsMCwxMDYsNSwwLDEzMSwwLDAsODMsODcsMTAwLDEsCi0gICAgMCw4MSw4OCwxMDAsMSwwLDgzLDQxLDIsMTIyLDIwNyw4MiwxMDEsMTE2LDExNywxMTQsCi0gICAgMTEwLDMyLDk3LDMyLDExMCwxMDEsMTE5LDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDExMSwKLSAgICA5OCwxMDYsMTAxLDk5LDExNiw0NCwzMiwxMDgsMTExLDk3LDEwMCwxMDEsMTAwLDMyLDk4LDEyMSwKLSAgICAzMiwxMTYsMTA0LDEwMSwzMiwxMTUsMTEyLDEwMSw5OSwzOSwxMTUsMzIsMTA4LDExMSw5NywxMDAsCi0gICAgMTAxLDExNCw0NiwxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw4NCwxMDQsMTAxLAotICAgIDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEwNSwxMTUsMzIsMTEwLDExMSwxMTYsMzIsOTcsCi0gICAgMTAwLDEwMCwxMDEsMTAwLDMyLDExNiwxMTEsMzIsMTA1LDExNiwxMTUsMzIsMTEyLDk3LDExNCwxMDEsCi0gICAgMTEwLDExNiw0NiwxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw3MywxMDIsMzIsCi0gICAgOTcsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTA1LDExNSwzMiw5NywxMDgsMTE0LDEwMSwKLSAgICA5NywxMDAsMTIxLDMyLDEwNSwxMTAsMzIsMTE1LDEyMSwxMTUsNDYsMTA5LDExMSwxMDAsMTE3LDEwOCwKLSAgICAxMDEsMTE1LDQ0LDMyLDExNiwxMDQsOTcsMTE2LDMyLDEwMSwxMjAsMTA1LDExNSwxMTYsMTA1LDExMCwKLSAgICAxMDMsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTAzLDEwMSwxMTYsMTE1LDEwLDMyLDMyLAotICAgIDMyLDMyLDMyLDMyLDMyLDMyLDk5LDEwOCwxMTEsOTgsOTgsMTAxLDExNCwxMDEsMTAwLDQ2LAotICAgIDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDc4LDQxLDYsMTE0LDEwNiwwLAotICAgIDAsMCwxMTQsNCwxLDAsMCwxMTQsMTAzLDAsMCwwLDExNCwxNzgsMCwwLAotICAgIDAsMTE0LDY3LDAsMCwwLDExNCw3LDEsMCwwLDQxLDEsMTE0LDcxLDAsCi0gICAgMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwKLSAgICAwLDExNCwxNzcsMCwwLDAsMTg1LDQsMCwwLDExNSw2LDAsMCwwLDAsCi0gICAgOSwxMCwxLDE5LDEsMTIyLDE3LDk1LDgzLDExMiwxMDEsOTksNzcsMTAxLDExNiwxMDQsCi0gICAgMTExLDEwMCwxMTUsNDYsMTA4LDExMSw5NywxMDAsNzgsNDEsMTMsMTE0LDU3LDAsMCwwLAotICAgIDExNCw1NiwwLDAsMCwxMTQsNTgsMCwwLDAsMTE0LDU5LDAsMCwwLDExNCwKLSAgICA3MiwwLDAsMCwxMTQsMjA2LDAsMCwwLDExNCwyNTUsMCwwLDAsMTE0LDEsCi0gICAgMSwwLDAsMTE0LDMsMSwwLDAsMTE0LDE3NiwwLDAsMCwxMTQsNiwxLAotICAgIDAsMCwxMTQsNywxLDAsMCwxMTQsMTc3LDAsMCwwLDExNCw0LDAsMCwKLSAgICAwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLAotICAgIDExNCwxNzUsMCwwLDAsMjI1LDMsMCwwLDExNSwyMCwwLDAsMCwxMiwzLAotICAgIDYsNCwxMiwzLDEyLDE2LDI0LDgwLDEyLDIzLDEyLDEwLDEyLDI0LDEyLDMwLAotICAgIDEyLDIzLDExNCwxNzUsMCwwLDAsOTksNCwwLDAsMCwwLDAsMCwwLAotICAgIDYsMCwwLDAsMTEsMCwwLDAsNjcsMCwwLDAsMTE1LDIwMSwwLDAsCisgICAgMCwwLDExNCwyMDksMCwwLDAsNDQsNCwwLDAsMTE1LDE2LDAsMCwwLAorICAgIDAsMywzMCwxLDE1LDEsMTUsMSwxMywyLDIyLDIsOSwxLDE5LDIsCisgICAgMTE0LDIwOSwwLDAsMCw5OSwyLDAsMCwwLDAsMCwwLDAsNCwwLAorICAgIDAsMCwxMiwwLDAsMCw2NywwLDAsMCwxMTUsMjUyLDAsMCwwLDEyNCwKKyAgICAwLDAsMTA2LDAsMCwxMjUsMiwwLDExNiwxLDAsMTA2LDIsMCwxMzEsMCwKKyAgICAwLDEsMTE2LDMsMCwxMjQsMiwwLDEzMSwxLDAsMTQzLDIwOCwwLDEsMTE2LAorICAgIDQsMCwxMDYsNSwwLDEwNiw2LDAsMTI0LDIsMCwxMzEsMSwwLDEyNCwxLAorICAgIDAsMTA3LDksMCwxMTQsODksMCwxMDAsMSwwLDEwNiw3LDAsMTI0LDIsMCwKKyAgICAxMzEsMSwwLDEyNSwzLDAsMTE2LDgsMCwxMjQsMywwLDEwMCwyLDAsMTI0LAorICAgIDIsMCwxMzEsMSwxLDEzMCwxLDAsMTI0LDAsMCwxMDYsOSwwLDEwMCwzLAorICAgIDAsMTA3LDgsMCwxMTQsMTYzLDAsMTI0LDAsMCwxMDYsMTAsMCwxMDAsMywwLAorICAgIDEwNyw4LDAsMTE0LDE0MCwwLDExNiw4LDAsMTAwLDQsMCwxMDAsMiwwLDEyNCwKKyAgICAwLDAsMTA2LDAsMCwxMzEsMSwxLDEzMCwxLDAsMTE2LDExLDAsMTI0LDAsCisgICAgMCwxMjQsMSwwLDEwMCw1LDAsMTAwLDYsMCwxMzEsMiwxLDEsMTI0LDEsCisgICAgMCw4MywxMTYsMTEsMCwxMjQsMCwwLDEyNCwxLDAsMTAwLDUsMCwxMDAsNiwKKyAgICAwLDEzMSwyLDEsMSwxMTYsMTIsMCwxMjQsMCwwLDEwNiw5LDAsMTAwLDcsCisgICAgMCwxMzEsMiwwLDExNSwyMTksMCwxMjQsMCwwLDEwNiw5LDAsMTA2LDEzLDAsCisgICAgMTI0LDIsMCwxMzEsMSwwLDEsMTEwLDE2LDAsMTI0LDAsMCwxMDYsOSwwLAorICAgIDEwNiwxNCwwLDEyNCwxLDAsMTMxLDEsMCwxLDg3LDEwMCwzLDAsODEsODgsCisgICAgMTE2LDQsMCwxMDYsNSwwLDEyNCwyLDAsMjUsODMsNDEsOCwxMjIsNTEsNjksCisgICAgMTIwLDEwMSw5OSwxMTcsMTE2LDEwMSwzMiwxMTYsMTA0LDEwMSwzMiwxMTUsMTEyLDEwMSw5OSwzMiwKKyAgICAxMDUsMTEwLDMyLDk3LDExMCwzMiwxMDEsMTIwLDEwNSwxMTUsMTE2LDEwNSwxMTAsMTAzLDMyLDEwOSwKKyAgICAxMTEsMTAwLDExNywxMDgsMTAxLDM5LDExNSwzMiwxMTAsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LAorICAgIDEwMSw0NiwxMjIsMzAsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTIzLDMzLDExNCwxMjUsMzIsCisgICAgMTEwLDExMSwxMTYsMzIsMTA1LDExMCwzMiwxMTUsMTIxLDExNSw0NiwxMDksMTExLDEwMCwxMTcsMTA4LAorICAgIDEwMSwxMTUsMTE0LDY3LDAsMCwwLDc4LDEyMiwxNCwxMDksMTA1LDExNSwxMTUsMTA1LDExMCwKKyAgICAxMDMsMzIsMTA4LDExMSw5NywxMDAsMTAxLDExNCwxMTQsMjQ4LDAsMCwwLDg0LDExNCwyNTUsCisgICAgMCwwLDAsNDEsMTUsMTE0LDY3LDAsMCwwLDExNCwxMDYsMCwwLDAsMjE4LAorICAgIDEyLDk3LDk5LDExMywxMTcsMTA1LDExNCwxMDEsOTUsMTA4LDExMSw5OSwxMDcsMTE0LDEwMywwLAorICAgIDAsMCwxMTQsNywwLDAsMCwxMTQsNzMsMCwwLDAsMTE0LDkzLDAsMCwKKyAgICAwLDExNCw0NywwLDAsMCwxMTQsMTU0LDAsMCwwLDExNCwxNzAsMCwwLDAsCisgICAgMTE0LDIyMCwwLDAsMCwxMTQsMjUzLDAsMCwwLDExNCw2MCwwLDAsMCwyMTgsCisgICAgMTEsMTA4LDExMSw5NywxMDAsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE0LDI1NSwwLDAsCisgICAgMCw0MSw0LDExNCwxNzcsMCwwLDAsMTE0LDE3OCwwLDAsMCwxMTQsNjcsMCwKKyAgICAwLDAsMTE0LDE3MiwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsCisgICAgMCwxMTQsNSwwLDAsMCwxMTQsMTc1LDAsMCwwLDYxLDQsMCwwLDExNSwKKyAgICAzMiwwLDAsMCwwLDIsOSwxLDEwLDEsMTMsMSwyNCwxLDE1LDEsCisgICAgMTgsMSwxNSwxLDE1LDEsMjEsMiwxOSwxLDQsMSwxOSwxLDE4LDQsCisgICAgMTksMiwyMiwxLDExNCwxNzUsMCwwLDAsOTksMSwwLDAsMCwwLDAsCisgICAgMCwwLDIsMCwwLDAsMjcsMCwwLDAsNjcsMCwwLDAsMTE1LDMsCisgICAgMSwwLDAsMTI0LDAsMCwxMDYsMCwwLDEwNiwxLDAsMTI0LDAsMCwxMDYsCisgICAgMiwwLDEzMSwxLDAsMSwxMTYsMywwLDEwNiw0LDAsMTI0LDAsMCwxMDYsCisgICAgMiwwLDI1LDEyNSwxLDAsMTE2LDUsMCwxMjQsMSwwLDEwMCwxLDAsMTAwLAorICAgIDAsMCwxMzEsMywwLDEwMCwwLDAsMTA3LDgsMCwxMTQsOTYsMCwxMjEsMTYsCisgICAgMCwxMjQsMCwwLDEwNiwwLDAsMTI0LDEsMCw5NSw2LDAsODcsMTEwLDE4LAorICAgIDAsNCwxMTYsNywwLDEwNywxMCwwLDExNCw5NSwwLDEsMSwxLDg5LDExMCwKKyAgICAxLDAsODgsMTE2LDUsMCwxMjQsMSwwLDEwMCwyLDAsMTAwLDAsMCwxMzEsCisgICAgMywwLDEwMCwwLDAsMTA3LDgsMCwxMTQsMTk3LDAsMTIxLDU2LDAsMTI0LDEsCisgICAgMCwxMDYsOCwwLDEyNCwxLDAsOTUsOSwwLDExNiwxMCwwLDEyNCwxLDAsCisgICAgMTAwLDMsMCwxMzEsMiwwLDExNSwxNzUsMCwxMjQsMCwwLDEwNiwyLDAsMTA2LAorICAgIDExLDAsMTAwLDQsMCwxMzEsMSwwLDEwMCw1LDAsMjUsMTI0LDEsMCw5NSwKKyAgICA5LDAsODcsMTEwLDE4LDAsNCwxMTYsNywwLDEwNywxMCwwLDExNCwxOTYsMCwKKyAgICAxLDEsMSw4OSwxMTAsMSwwLDg4LDExNiw1LDAsMTI0LDEsMCwxMDAsNiwKKyAgICAwLDEwMCwwLDAsMTMxLDMsMCwxMDAsMCwwLDEwNyw4LDAsMTE0LDI1NSwwLAorICAgIDEyMSwxMywwLDEyNCwwLDAsMTI0LDEsMCw5NSwxMiwwLDg3LDExMCwxOCwwLAorICAgIDQsMTE2LDcsMCwxMDcsMTAsMCwxMTQsMjU0LDAsMSwxLDEsODksMTEwLDEsCisgICAgMCw4OCwxMjQsMSwwLDgzLDQxLDcsNzgsMTE0LDIwMywwLDAsMCwxMTQsMjQ5LAorICAgIDAsMCwwLDExNCwyNDYsMCwwLDAsMTE0LDExNiwwLDAsMCwxMTQsODQsMCwKKyAgICAwLDAsMTE0LDIwNywwLDAsMCw0MSwxMywxMTQsMTcwLDAsMCwwLDExNCwzLAorICAgIDEsMCwwLDExNCw2NywwLDAsMCwxMTQsNywwLDAsMCwxMTQsNzMsMCwKKyAgICAwLDAsMTE0LDYyLDAsMCwwLDExNCwyMDMsMCwwLDAsMTE0LDIwOCwwLDAsCisgICAgMCwxMTQsNTcsMCwwLDAsMTE0LDI0OSwwLDAsMCwxMTQsNjAsMCwwLDAsCisgICAgMTE0LDMyLDAsMCwwLDExNCwyMDcsMCwwLDAsNDEsMiwxMTQsMTc3LDAsMCwKKyAgICAwLDExNCwxNzgsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsCisgICAgMTE0LDUsMCwwLDAsMjE4LDI1LDk1LDEwOCwxMTEsOTcsMTAwLDk1LDk4LDk3LDk5LAorICAgIDEwNywxMTksOTcsMTE0LDEwMCw5NSw5OSwxMTEsMTA5LDExMiw5NywxMTYsMTA1LDk4LDEwOCwxMDEsCisgICAgODYsNCwwLDAsMTE1LDQwLDAsMCwwLDAsNCwxOSwyLDE2LDEsMjQsCisgICAgMSwzLDEsMTYsMSwxMywxLDUsMSwyNCwxLDMsNCwxMiwxLDE1LAorICAgIDEsMjksMSwxMywxLDUsMSwyNCwxLDMsMSwxMywxLDEzLDEsNSwKKyAgICAxLDExNCw0LDEsMCwwLDk5LDEsMCwwLDAsMCwwLDAsMCwyLAorICAgIDAsMCwwLDExLDAsMCwwLDY3LDAsMCwwLDExNSwxNTgsMCwwLDAsCisgICAgMTI0LDAsMCwxMDYsMCwwLDEwMCwwLDAsMTA3LDksMCwxMTQsNDMsMCwxMTYsCisgICAgMSwwLDEyNCwwLDAsMTA2LDAsMCwxMDAsMSwwLDEzMSwyLDAsMTE1LDQzLAorICAgIDAsMTE2LDIsMCwxMjQsMCwwLDEzMSwxLDAsODMsMTE2LDMsMCwxMjQsMCwKKyAgICAwLDEzMSwxLDAsMTI1LDEsMCwxMTYsNCwwLDEyNCwxLDAsMTMxLDEsMCwKKyAgICAxNDMsNzUsMCwxLDEyNCwwLDAsMTA2LDAsMCwxMDAsMCwwLDEwNyw4LDAsCisgICAgMTE0LDEyMiwwLDEyNCwwLDAsMTA2LDUsMCwxMDAsMCwwLDEwNyw4LDAsMTE0LAorICAgIDEzOCwwLDExNiw2LDAsMTAwLDIsMCwxMDAsMywwLDEyNCwwLDAsMTA2LDcsCisgICAgMCwxMzEsMSwxLDEzMCwxLDAsMTEwLDE2LDAsMTI0LDAsMCwxMDYsMCwwLAorICAgIDEwNiw4LDAsMTI0LDEsMCwxMzEsMSwwLDEsODcsMTAwLDAsMCw4MSw4OCwKKyAgICAxMTYsOSwwLDEwNiwxMCwwLDEyNCwwLDAsMTA2LDcsMCwyNSw4Myw0MSw0LAorICAgIDc4LDExNCwyNTUsMCwwLDAsMTIyLDE0LDEwOSwxMDUsMTE1LDExNSwxMDUsMTEwLDEwMywzMiwKKyAgICAxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDExNCw2NywwLDAsMCw0MSwxMSwxMTQsMTcwLDAsCisgICAgMCwwLDExNCw2MCwwLDAsMCwxMTQsNCwxLDAsMCwxMTQsMSwxLDAsCisgICAgMCwxMTQsMjEyLDAsMCwwLDExNCwyMjAsMCwwLDAsMTE0LDE1NCwwLDAsMCwKKyAgICAxMTQsNjcsMCwwLDAsMTE0LDI1NSwwLDAsMCwxMTQsNywwLDAsMCwxMTQsCisgICAgNzMsMCwwLDAsNDEsMiwxMTQsMTc3LDAsMCwwLDExNCwxNzgsMCwwLDAsCisgICAgMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LAorICAgIDE0LDk1LDEwOCwxMTEsOTcsMTAwLDk1LDExNywxMTAsMTA4LDExMSw5OSwxMDcsMTAxLDEwMCwxMTUsCisgICAgNCwwLDAsMTE1LDIwLDAsMCwwLDAsMiwxNSwyLDE4LDEsMTAsMiwKKyAgICAxMiwxLDEzLDEsMTUsMSwxNSwxLDI0LDMsMjIsNSwxMTQsNSwxLDAsCisgICAgMCw5OSwxLDAsMCwwLDAsMCwwLDAsMSwwLDAsMCw5LDAsCisgICAgMCwwLDY3LDAsMCwwLDExNSw0NiwwLDAsMCwxMTYsMCwwLDEwNiwxLAorICAgIDAsMTMxLDAsMCwxLDExNiwyLDAsMTI0LDAsMCwxMDYsMywwLDEzMSwxLAorICAgIDAsMTQzLDE1LDAsMSwxMTYsNCwwLDEyNCwwLDAsMTMxLDEsMCw4Myw4NywKKyAgICAxMDAsMSwwLDgxLDg4LDEwMCwxLDAsODMsNDEsMiwxMjIsMTkxLDgyLDEwMSwxMTYsCisgICAgMTE3LDExNCwxMTAsMzIsOTcsMzIsMTEwLDEwMSwxMTksMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsCisgICAgMzIsMTExLDk4LDEwNiwxMDEsOTksMTE2LDQ0LDMyLDEwOCwxMTEsOTcsMTAwLDEwMSwxMDAsMzIsCisgICAgOTgsMTIxLDMyLDExNiwxMDQsMTAxLDMyLDExNSwxMTIsMTAxLDk5LDM5LDExNSwzMiwxMDgsMTExLAorICAgIDk3LDEwMCwxMDEsMTE0LDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDg0LDEwNCwxMDEsMzIsMTA5LAorICAgIDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTA1LDExNSwzMiwxMTAsMTExLDExNiwzMiw5NywxMDAsMTAwLAorICAgIDEwMSwxMDAsMzIsMTE2LDExMSwzMiwxMDUsMTE2LDExNSwzMiwxMTIsOTcsMTE0LDEwMSwxMTAsMTE2LAorICAgIDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDczLDEwMiwzMiw5NywzMiwxMDksMTExLDEwMCwxMTcsCisgICAgMTA4LDEwMSwzMiwxMDUsMTE1LDMyLDk3LDEwOCwxMTQsMTAxLDk3LDEwMCwxMjEsMzIsMTA1LDExMCwKKyAgICAzMiwxMTUsMTIxLDExNSw0NiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTUsNDQsMzIsMTE2LDEwNCwKKyAgICA5NywxMTYsMzIsMTAxLDEyMCwxMDUsMTE1LDExNiwxMDUsMTEwLDEwMywzMiwxMDksMTExLDEwMCwxMTcsCisgICAgMTA4LDEwMSwzMiwxMDMsMTAxLDExNiwxMTUsMTAsMzIsMzIsMzIsMzIsOTksMTA4LDExMSw5OCwKKyAgICA5OCwxMDEsMTE0LDEwMSwxMDAsNDYsMTAsMTAsMzIsMzIsMzIsMzIsNzgsNDEsNSwxMTQsCisgICAgMTA2LDAsMCwwLDExNCwyLDEsMCwwLDExNCwxMDMsMCwwLDAsMTE0LDY3LAorICAgIDAsMCwwLDExNCw1LDEsMCwwLDQxLDEsMTE0LDE3NywwLDAsMCwxMTQsCisgICAgNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMTc2LAorICAgIDAsMCwwLDEzOCw0LDAsMCwxMTUsNiwwLDAsMCwwLDksMTAsMSwKKyAgICAxNiwxLDExNCwxNzYsMCwwLDAsOTksNCwwLDAsMCwwLDAsMCwwLAorICAgIDYsMCwwLDAsMTEsMCwwLDAsNjcsMCwwLDAsMTE1LDE5NSwwLDAsCiAgICAgMCwxMjQsMCwwLDEwNiwwLDAsMTAwLDEsMCwxMzEsMSwwLDEyNSw0LDAsCiAgICAgMTI0LDAsMCwxMDYsMCwwLDEwMCwyLDAsMTMxLDEsMCwxMjUsNSwwLDEyNCwKLSAgICA0LDAsMTE1LDEwMiwwLDEyNCw1LDAsMTE0LDU0LDAsMTI0LDUsMCwxMDYsMSwKLSAgICAwLDEyNSw0LDAsMTEzLDEwMiwwLDEyNCwyLDAsMTI0LDMsMCwxMDcsMiwwLAorICAgIDQsMCwxMTUsOTksMCwxMjQsNSwwLDExNCw1NCwwLDEyNCw1LDAsMTA2LDEsCisgICAgMCwxMjUsNCwwLDExMCw0NSwwLDEyNCwyLDAsMTI0LDMsMCwxMDcsMiwwLAogICAgIDExNCw4NCwwLDExNiwyLDAsMTI0LDEsMCwxMjQsMiwwLDEzMSwyLDAsMTI1LAotICAgIDQsMCwxMTMsMTAyLDAsMTE2LDMsMCwxMjQsMSwwLDEyNCwyLDAsMTMxLDIsCi0gICAgMCwxMjUsNCwwLDExMCwwLDAsMTI0LDUsMCwxMTUsMTMyLDAsMTE2LDQsMCwKLSAgICAxMjQsMSwwLDEyNCwyLDAsMTAwLDMsMCwxMjQsNCwwLDEzMSwyLDEsMTI1LAotICAgIDUsMCwxMTAsMCwwLDEyMSw0NCwwLDEyNCw1LDAsMTI0LDAsMCwxMDAsMiwKLSAgICAwLDYwLDEyNCw0LDAsMTI0LDAsMCwxMDAsMSwwLDYwLDEyNCwyLDAsMTI0LAotICAgIDAsMCwxMDAsNCwwLDYwLDEyNCwzLDAsMTI0LDAsMCwxMDAsNSwwLDYwLAotICAgIDg3LDExMCwxOCwwLDQsMTE2LDUsMCwxMDcsMTAsMCwxMTQsMTk2LDAsMSwxLAotICAgIDEsODksMTEwLDEsMCw4OCwxMDAsMCwwLDgzLDQxLDYsNzgsMTE0LDIwNSwwLAotICAgIDAsMCwxMTQsMjA5LDAsMCwwLDExNCwxNzAsMCwwLDAsMTE0LDIxMSwwLDAsCi0gICAgMCwxMTQsMjQ1LDAsMCwwLDQxLDYsMTE0LDkzLDAsMCwwLDExNCwxNzAsMCwKLSAgICAwLDAsMjE4LDIwLDgzLDExMSwxMTcsMTE0LDk5LDEwMSwxMDgsMTAxLDExNSwxMTUsNzAsMTA1LAotICAgIDEwOCwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDIxOCwxNiw4MywxMTEsMTE3LDExNCw5OSwxMDEsCi0gICAgNzAsMTA1LDEwOCwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDExNCwyNDAsMCwwLDAsMTE0LAotICAgIDIwOCwwLDAsMCw0MSw2LDkwLDIsMTEwLDExNSwxMTQsNjcsMCwwLDAsOTAsCi0gICAgOCwxMTIsOTcsMTE2LDEwNCwxMTAsOTcsMTA5LDEwMSw5MCw5LDk5LDExMiw5NywxMTYsMTA0LAotICAgIDExMCw5NywxMDksMTAxLDExNCwxNzAsMCwwLDAsMTE0LDE3OCwwLDAsMCwxMTQsNCwKLSAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTQsOTUsCi0gICAgMTAyLDEwNSwxMjAsOTUsMTE3LDExMiw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxOTksNCwwLAotICAgIDAsMTE1LDM0LDAsMCwwLDAsMiwxNSwxLDE1LDEsNiwxLDYsMSwKLSAgICAxMiwxLDEyLDEsMTgsMiwxOCwxLDYsMSwyNCwxLDMsMSwxMCwxLAotICAgIDEwLDEsMTAsMSwxNCwxLDEzLDIsMTE0LDEwLDEsMCwwLDk5LDAsMCwKLSAgICAwLDAsMCwwLDAsMCwwLDAsMCwwLDUsMCwwLDAsNjQsMCwKLSAgICAwLDAsMTE1LDE4MSwwLDAsMCwxMDEsMCwwLDkwLDEsMCwxMDAsMCwwLAotICAgIDkwLDIsMCwxMDAsMSwwLDkwLDMsMCwxMDEsNCwwLDEwMCwyLDAsMTAwLAotICAgIDMsMCwxMzIsMCwwLDEzMSwxLDAsOTAsNSwwLDEwMSw2LDAsMTAwLDQsCi0gICAgMCwxMDAsNCwwLDEwMCw1LDAsMTAwLDYsMCwxMzIsMiwwLDEzMSwxLDAsCi0gICAgOTAsNywwLDEwMSw2LDAsMTAwLDQsMCwxMDAsNywwLDEwMCw4LDAsMTMyLAotICAgIDEsMCwxMzEsMSwwLDkwLDgsMCwxMDEsNiwwLDEwMSw5LDAsMTAwLDksCi0gICAgMCwxMDAsMTAsMCwxMzIsMCwwLDEzMSwxLDAsMTMxLDEsMCw5MCwxMCwwLAotICAgIDEwMSw2LDAsMTAxLDksMCwxMDAsMTEsMCwxMDAsMTIsMCwxMzIsMCwwLDEzMSwKLSAgICAxLDAsMTMxLDEsMCw5MCwxMSwwLDEwMSw2LDAsMTAxLDksMCwxMDAsMTMsCi0gICAgMCwxMDAsMTQsMCwxMzIsMCwwLDEzMSwxLDAsMTMxLDEsMCw5MCwxMiwwLAotICAgIDEwMSw2LDAsMTAxLDksMCwxMDAsMTUsMCwxMDAsMTYsMCwxMzIsMCwwLDEzMSwKLSAgICAxLDAsMTMxLDEsMCw5MCwxMywwLDEwMCw0LDAsODMsNDEsMTcsMjE4LDE1LAotICAgIDY2LDExNywxMDUsMTA4LDExNiwxMDUsMTEwLDczLDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLDExNCwxMjIsCi0gICAgMTQ0LDc3LDEwMSwxMTYsOTcsMzIsMTEyLDk3LDExNiwxMDQsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwKLSAgICAxMTYsMzIsMTAyLDExMSwxMTQsMzIsOTgsMTE3LDEwNSwxMDgsMTE2LDQ1LDEwNSwxMTAsMzIsMTA5LAotICAgIDExMSwxMDAsMTE3LDEwOCwxMDEsMTE1LDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDY1LDEwOCwxMDgsCi0gICAgMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMTE1LDMyLDk3LDExNCwxMDEsMzIsMTAxLDEwNSwxMTYsCi0gICAgMTA0LDEwMSwxMTQsMzIsOTksMTA4LDk3LDExNSwxMTUsMzIsMTExLDExNCwzMiwxMTUsMTE2LDk3LAotICAgIDExNiwxMDUsOTksMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMTE1LDMyLDExNiwxMTEsMzIsOTcsCi0gICAgMTE4LDExMSwxMDUsMTAwLDMyLDExNiwxMDQsMTAxLDMyLDExMCwxMDEsMTAxLDEwMCwzMiwxMTYsMTExLAotICAgIDEwLDMyLDMyLDMyLDMyLDEwNSwxMTAsMTE1LDExNiw5NywxMTAsMTE2LDEwNSw5NywxMTYsMTAxLAotICAgIDMyLDExNiwxMDQsMTAxLDMyLDk5LDEwOCw5NywxMTUsMTE1LDQ2LDEwLDEwLDMyLDMyLDMyLAotICAgIDMyLDk5LDEsMCwwLDAsMCwwLDAsMCwxLDAsMCwwLDIsMCwKLSAgICAwLDAsNjcsMCwwLDAsMTE1LDE2LDAsMCwwLDEwMCwxLDAsMTA2LDAsCi0gICAgMCwxMjQsMCwwLDEwNiwxLDAsMTMxLDEsMCw4Myw0MSwyLDEyMiwxMTUsODIsCi0gICAgMTAxLDExNiwxMTcsMTE0LDExMCwzMiwxMTQsMTAxLDExMiwxMTQsMzIsMTAyLDExMSwxMTQsMzIsMTE2LAotICAgIDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsCi0gICAgMzIsMzIsMzIsMzIsODQsMTA0LDEwMSwzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwzMiwxMDUsCi0gICAgMTE1LDMyLDEwMCwxMDEsMTEyLDExNCwxMDEsOTksOTcsMTE2LDEwMSwxMDAsNDYsMzIsMzIsODQsCi0gICAgMTA0LDEwMSwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwzMiwxMDksOTcsOTksMTA0LDEwNSwxMTAsCi0gICAgMTAxLDExNCwxMjEsMzIsMTAwLDExMSwxMDEsMTE1LDMyLDExNiwxMDQsMTAxLDMyLDEwNiwxMTEsOTgsCi0gICAgMzIsMTA1LDExNiwxMTUsMTAxLDEwOCwxMDIsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsCi0gICAgMzIsMzIsMTIyLDI0LDYwLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEyMywzMywxMTQsMTI1LAotICAgIDMyLDQwLDk4LDExNywxMDUsMTA4LDExNiw0NSwxMDUsMTEwLDQxLDYyLDQxLDIsMTE0LDQ3LAotICAgIDAsMCwwLDExNCw1NywwLDAsMCw0MSwxLDExNCwxODAsMCwwLDAsMTE0LAotICAgIDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDIwNiwKLSAgICAwLDAsMCwyMzMsNCwwLDAsMTE1LDIsMCwwLDAsMCw3LDEyMiwyNywKLSAgICA2NiwxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCw3MywxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMTQsNDYsCi0gICAgMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTUsMTE0LDEwMSwxMTIsMTE0LDc4LDk5LDQsMCwwLAotICAgIDAsMCwwLDAsMCw0LDAsMCwwLDUsMCwwLDAsNjcsMCwwLAotICAgIDAsMTE1LDU4LDAsMCwwLDEyNCwyLDAsMTAwLDAsMCwxMDcsOSwwLDExNCwKLSAgICAxNiwwLDEwMCwwLDAsODMsMTE2LDAsMCwxMDYsMSwwLDEyNCwxLDAsMTMxLAotICAgIDEsMCwxMTQsNTAsMCwxMTYsMiwwLDEyNCwxLDAsMTI0LDAsMCwxMDAsMSwKLSAgICAwLDEwMCwyLDAsMTMxLDIsMSw4MywxMDAsMCwwLDgzLDEwMCwwLDAsODMsCi0gICAgNDEsMyw3OCwxMTQsMjE4LDAsMCwwLDEyMiw4LDk4LDExNywxMDUsMTA4LDExNiw0NSwKLSAgICAxMDUsMTEwLDQxLDMsMTE0LDEwNiwwLDAsMCw5MCwxMCwxMDUsMTE1LDk1LDk4LDExNywKLSAgICAxMDUsMTA4LDExNiwxMDUsMTEwLDExNCwxNzQsMCwwLDAsNDEsNCwyMTgsMyw5OSwxMDgsCi0gICAgMTE1LDExNCwxNTksMCwwLDAsMTE0LDM1LDAsMCwwLDIxOCw2LDExNiw5NywxMTQsCi0gICAgMTAzLDEwMSwxMTYsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwKLSAgICAwLDAsMjE4LDksMTAyLDEwNSwxMTAsMTAwLDk1LDExNSwxMTIsMTAxLDk5LDI0Miw0LDAsCi0gICAgMCwxMTUsMTAsMCwwLDAsMCwyLDEyLDEsNCwxLDE1LDEsMTksMiwKLSAgICAxMjIsMjUsNjYsMTE3LDEwNSwxMDgsMTE2LDEwNSwxMTAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsCi0gICAgMTE0LDQ2LDEwMiwxMDUsMTEwLDEwMCw5NSwxMTUsMTEyLDEwMSw5OSw5OSwzLDAsMCwwLAotICAgIDAsMCwwLDAsNCwwLDAsMCwzLDAsMCwwLDY3LDAsMCwwLAotICAgIDExNSw0MSwwLDAsMCwxMjQsMCwwLDEwNiwwLDAsMTI0LDEsMCwxMjQsMiwKLSAgICAwLDEzMSwyLDAsMTI1LDMsMCwxMjQsMywwLDEwMCwxLDAsMTA3LDksMCwKLSAgICAxMTQsMzcsMCwxMjQsMywwLDEwNiwxLDAsODMsMTAwLDEsMCw4Myw0MSwyLAotICAgIDEyMiwxNzUsNzAsMTA1LDExMCwxMDAsMzIsMTE2LDEwNCwxMDEsMzIsOTgsMTE3LDEwNSwxMDgsMTE2LAotICAgIDQ1LDEwNSwxMTAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsCi0gICAgMzIsMzIsMzIsMzIsMzIsNzMsMTAyLDMyLDM5LDExMiw5NywxMTYsMTA0LDM5LDMyLDEwNSwKLSAgICAxMTUsMzIsMTAxLDExOCwxMDEsMTE0LDMyLDExNSwxMTIsMTAxLDk5LDEwNSwxMDIsMTA1LDEwMSwxMDAsCi0gICAgMzIsMTE2LDEwNCwxMDEsMTEwLDMyLDExNiwxMDQsMTAxLDMyLDExNSwxMDEsOTcsMTE0LDk5LDEwNCwKLSAgICAzMiwxMDUsMTE1LDMyLDk5LDExMSwxMTAsMTE1LDEwNSwxMDAsMTAxLDExNCwxMDEsMTAwLDMyLDk3LAotICAgIDMyLDEwMiw5NywxMDUsMTA4LDExNywxMTQsMTAxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLAotICAgIDMyLDMyLDMyLDg0LDEwNCwxMDUsMTE1LDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDMyLDEwNSwKLSAgICAxMTUsMzIsMTAwLDEwMSwxMTIsMTE0LDEwMSw5OSw5NywxMTYsMTAxLDEwMCw0NiwzMiwzMiw4NSwKLSAgICAxMTUsMTAxLDMyLDEwMiwxMDUsMTEwLDEwMCw5NSwxMTUsMTEyLDEwMSw5OSw0MCw0MSwzMiwxMDUsCi0gICAgMTEwLDExNSwxMTYsMTAxLDk3LDEwMCw0NiwxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwKLSAgICAzMiw3OCw0MSwyLDExNCwxNCwxLDAsMCwxMTQsMTcwLDAsMCwwLDQxLDQsCi0gICAgMTE0LDEyLDEsMCwwLDExNCwxNTksMCwwLDAsMTE0LDM1LDAsMCwwLDExNCwKKyAgICA0LDAsMTEwLDE1LDAsMTE2LDMsMCwxMjQsMSwwLDEyNCwyLDAsMTMxLDIsCisgICAgMCwxMjUsNCwwLDEyNCw1LDAsMTE1LDEyNiwwLDExNiw0LDAsMTI0LDEsMCwKKyAgICAxMjQsMiwwLDEwMCwzLDAsMTI0LDQsMCwxMzEsMiwxLDEyNSw1LDAsMTIxLAorICAgIDQ0LDAsMTI0LDUsMCwxMjQsMCwwLDEwMCwyLDAsNjAsMTI0LDQsMCwxMjQsCisgICAgMCwwLDEwMCwxLDAsNjAsMTI0LDIsMCwxMjQsMCwwLDEwMCw0LDAsNjAsCisgICAgMTI0LDMsMCwxMjQsMCwwLDEwMCw1LDAsNjAsODcsMTEwLDE4LDAsNCwxMTYsCisgICAgNSwwLDEwNywxMCwwLDExNCwxOTAsMCwxLDEsMSw4OSwxMTAsMSwwLDg4LAorICAgIDEwMCwwLDAsODMsNDEsNiw3OCwxMTQsMjAzLDAsMCwwLDExNCwyMDcsMCwwLAorICAgIDAsMTE0LDE3MCwwLDAsMCwxMTQsMjEwLDAsMCwwLDExNCwyNDQsMCwwLDAsCisgICAgNDEsNiwxMTQsOTMsMCwwLDAsMTE0LDE3MCwwLDAsMCwyMTgsMjAsODMsMTExLAorICAgIDExNywxMTQsOTksMTAxLDEwOCwxMDEsMTE1LDExNSw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLAorICAgIDEwMSwxMTQsMjE4LDE2LDgzLDExMSwxMTcsMTE0LDk5LDEwMSw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsCisgICAgOTcsMTAwLDEwMSwxMTQsMTE0LDIzOSwwLDAsMCwxMTQsMjA2LDAsMCwwLDQxLDYsCisgICAgOTAsMiwxMTAsMTE1LDExNCw2NywwLDAsMCw5MCw4LDExMiw5NywxMTYsMTA0LDExMCwKKyAgICA5NywxMDksMTAxLDkwLDksOTksMTEyLDk3LDExNiwxMDQsMTEwLDk3LDEwOSwxMDEsMTE0LDE3MCwKKyAgICAwLDAsMCwxMTQsMTc3LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsCisgICAgMCwwLDExNCw1LDAsMCwwLDIxOCwxNCw5NSwxMDIsMTA1LDEyMCw5NSwxMTcsMTEyLAorICAgIDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDE1Miw0LDAsMCwxMTUsMzQsMCwwLDAsCisgICAgMCwyLDE1LDEsMTUsMSw2LDEsNiwxLDEyLDEsMTIsMSwxOCwyLAorICAgIDE1LDEsNiwxLDIxLDEsMywxLDEwLDEsMTAsMSwxMCwxLDE0LDEsCisgICAgMTMsMiwxMTQsOCwxLDAsMCw5OSwwLDAsMCwwLDAsMCwwLDAsCisgICAgMCwwLDAsMCw1LDAsMCwwLDY0LDAsMCwwLDExNSwxODEsMCwwLAorICAgIDAsMTAxLDAsMCw5MCwxLDAsMTAwLDAsMCw5MCwyLDAsMTAwLDEsMCwKKyAgICA5MCwzLDAsMTAxLDQsMCwxMDAsMiwwLDEwMCwzLDAsMTMyLDAsMCwxMzEsCisgICAgMSwwLDkwLDUsMCwxMDEsNiwwLDEwMCw0LDAsMTAwLDQsMCwxMDAsNSwKKyAgICAwLDEwMCw2LDAsMTMyLDIsMCwxMzEsMSwwLDkwLDcsMCwxMDEsNiwwLAorICAgIDEwMCw0LDAsMTAwLDcsMCwxMDAsOCwwLDEzMiwxLDAsMTMxLDEsMCw5MCwKKyAgICA4LDAsMTAxLDYsMCwxMDEsOSwwLDEwMCw5LDAsMTAwLDEwLDAsMTMyLDAsCisgICAgMCwxMzEsMSwwLDEzMSwxLDAsOTAsMTAsMCwxMDEsNiwwLDEwMSw5LDAsCisgICAgMTAwLDExLDAsMTAwLDEyLDAsMTMyLDAsMCwxMzEsMSwwLDEzMSwxLDAsOTAsCisgICAgMTEsMCwxMDEsNiwwLDEwMSw5LDAsMTAwLDEzLDAsMTAwLDE0LDAsMTMyLDAsCisgICAgMCwxMzEsMSwwLDEzMSwxLDAsOTAsMTIsMCwxMDEsNiwwLDEwMSw5LDAsCisgICAgMTAwLDE1LDAsMTAwLDE2LDAsMTMyLDAsMCwxMzEsMSwwLDEzMSwxLDAsOTAsCisgICAgMTMsMCwxMDAsNCwwLDgzLDQxLDE3LDIxOCwxNSw2NiwxMTcsMTA1LDEwOCwxMTYsMTA1LAorICAgIDExMCw3MywxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMTQsMTIyLDE0NCw3NywxMDEsMTE2LDk3LDMyLAorICAgIDExMiw5NywxMTYsMTA0LDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDMyLDEwMiwxMTEsMTE0LDMyLAorICAgIDk4LDExNywxMDUsMTA4LDExNiw0NSwxMDUsMTEwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNSwKKyAgICA0NiwxMCwxMCwzMiwzMiwzMiwzMiw2NSwxMDgsMTA4LDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsCisgICAgMTAwLDExNSwzMiw5NywxMTQsMTAxLDMyLDEwMSwxMDUsMTE2LDEwNCwxMDEsMTE0LDMyLDk5LDEwOCwKKyAgICA5NywxMTUsMTE1LDMyLDExMSwxMTQsMzIsMTE1LDExNiw5NywxMTYsMTA1LDk5LDMyLDEwOSwxMDEsCisgICAgMTE2LDEwNCwxMTEsMTAwLDExNSwzMiwxMTYsMTExLDMyLDk3LDExOCwxMTEsMTA1LDEwMCwzMiwxMTYsCisgICAgMTA0LDEwMSwzMiwxMTAsMTAxLDEwMSwxMDAsMzIsMTE2LDExMSwxMCwzMiwzMiwzMiwzMiwxMDUsCisgICAgMTEwLDExNSwxMTYsOTcsMTEwLDExNiwxMDUsOTcsMTE2LDEwMSwzMiwxMTYsMTA0LDEwMSwzMiw5OSwKKyAgICAxMDgsOTcsMTE1LDExNSw0NiwxMCwxMCwzMiwzMiwzMiwzMiw5OSwxLDAsMCwwLAorICAgIDAsMCwwLDAsMSwwLDAsMCwyLDAsMCwwLDY3LDAsMCwwLAorICAgIDExNSwxNiwwLDAsMCwxMDAsMSwwLDEwNiwwLDAsMTI0LDAsMCwxMDYsMSwKKyAgICAwLDEzMSwxLDAsODMsNDEsMiwxMjIsMTE1LDgyLDEwMSwxMTYsMTE3LDExNCwxMTAsMzIsCisgICAgMTE0LDEwMSwxMTIsMTE0LDMyLDEwMiwxMTEsMTE0LDMyLDExNiwxMDQsMTAxLDMyLDEwOSwxMTEsMTAwLAorICAgIDExNywxMDgsMTAxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDg0LDEwNCwKKyAgICAxMDEsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMzIsMTA1LDExNSwzMiwxMDAsMTAxLDExMiwxMTQsCisgICAgMTAxLDk5LDk3LDExNiwxMDEsMTAwLDQ2LDMyLDMyLDg0LDEwNCwxMDEsMzIsMTA1LDEwOSwxMTIsCisgICAgMTExLDExNCwxMTYsMzIsMTA5LDk3LDk5LDEwNCwxMDUsMTEwLDEwMSwxMTQsMTIxLDMyLDEwMCwxMTEsCisgICAgMTAxLDExNSwzMiwxMTYsMTA0LDEwMSwzMiwxMDYsMTExLDk4LDMyLDEwNSwxMTYsMTE1LDEwMSwxMDgsCisgICAgMTAyLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDEyMiwyNCw2MCwxMDksCisgICAgMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMjMsMzMsMTE0LDEyNSwzMiw0MCw5OCwxMTcsMTA1LDEwOCwKKyAgICAxMTYsNDUsMTA1LDExMCw0MSw2Miw0MSwyLDExNCw0NywwLDAsMCwxMTQsNTcsMCwKKyAgICAwLDAsNDEsMSwxMTQsMTc4LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LAorICAgIDAsMCwwLDExNCw1LDAsMCwwLDExNCwyMDQsMCwwLDAsMTg2LDQsMCwKKyAgICAwLDExNSwyLDAsMCwwLDAsNywxMjIsMjcsNjYsMTE3LDEwNSwxMDgsMTE2LDEwNSwKKyAgICAxMTAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDQ2LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLAorICAgIDk1LDExNCwxMDEsMTEyLDExNCw3OCw5OSw0LDAsMCwwLDAsMCwwLDAsNCwKKyAgICAwLDAsMCw1LDAsMCwwLDY3LDAsMCwwLDExNSw1OCwwLDAsMCwKKyAgICAxMjQsMiwwLDEwMCwwLDAsMTA3LDksMCwxMTQsMTYsMCwxMDAsMCwwLDgzLAorICAgIDExNiwwLDAsMTA2LDEsMCwxMjQsMSwwLDEzMSwxLDAsMTE0LDUwLDAsMTE2LAorICAgIDIsMCwxMjQsMSwwLDEyNCwwLDAsMTAwLDEsMCwxMDAsMiwwLDEzMSwyLAorICAgIDEsODMsMTAwLDAsMCw4MywxMDAsMCwwLDgzLDQxLDMsNzgsMTE0LDIxNywwLAorICAgIDAsMCwxMjIsOCw5OCwxMTcsMTA1LDEwOCwxMTYsNDUsMTA1LDExMCw0MSwzLDExNCwxMDYsCisgICAgMCwwLDAsOTAsMTAsMTA1LDExNSw5NSw5OCwxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCwxMTQsCisgICAgMTc0LDAsMCwwLDQxLDQsMjE4LDMsOTksMTA4LDExNSwxMTQsMTU5LDAsMCwwLAorICAgIDExNCwzNSwwLDAsMCwyMTgsNiwxMTYsOTcsMTE0LDEwMywxMDEsMTE2LDExNCw0LDAsCisgICAgMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCw5LDEwMiwxMDUsCisgICAgMTEwLDEwMCw5NSwxMTUsMTEyLDEwMSw5OSwxOTUsNCwwLDAsMTE1LDEwLDAsMCwwLAorICAgIDAsMiwxMiwxLDQsMSwxNSwxLDE5LDIsMTIyLDI1LDY2LDExNywxMDUsMTA4LAorICAgIDExNiwxMDUsMTEwLDczLDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLDExNCw0NiwxMDIsMTA1LDExMCwxMDAsCisgICAgOTUsMTE1LDExMiwxMDEsOTksOTksMywwLDAsMCwwLDAsMCwwLDQsMCwKKyAgICAwLDAsMywwLDAsMCw2NywwLDAsMCwxMTUsNDEsMCwwLDAsMTI0LAorICAgIDAsMCwxMDYsMCwwLDEyNCwxLDAsMTI0LDIsMCwxMzEsMiwwLDEyNSwzLAorICAgIDAsMTI0LDMsMCwxMDAsMSwwLDEwNyw5LDAsMTE0LDM3LDAsMTI0LDMsMCwKKyAgICAxMDYsMSwwLDgzLDEwMCwxLDAsODMsNDEsMiwxMjIsMTc1LDcwLDEwNSwxMTAsMTAwLAorICAgIDMyLDExNiwxMDQsMTAxLDMyLDk4LDExNywxMDUsMTA4LDExNiw0NSwxMDUsMTEwLDMyLDEwOSwxMTEsCisgICAgMTAwLDExNywxMDgsMTAxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDczLAorICAgIDEwMiwzMiwzOSwxMTIsOTcsMTE2LDEwNCwzOSwzMiwxMDUsMTE1LDMyLDEwMSwxMTgsMTAxLDExNCwKKyAgICAzMiwxMTUsMTEyLDEwMSw5OSwxMDUsMTAyLDEwNSwxMDEsMTAwLDMyLDExNiwxMDQsMTAxLDExMCwzMiwKKyAgICAxMTYsMTA0LDEwMSwzMiwxMTUsMTAxLDk3LDExNCw5OSwxMDQsMzIsMTA1LDExNSwzMiw5OSwxMTEsCisgICAgMTEwLDExNSwxMDUsMTAwLDEwMSwxMTQsMTAxLDEwMCwzMiw5NywzMiwxMDIsOTcsMTA1LDEwOCwxMTcsCisgICAgMTE0LDEwMSw0NiwxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw4NCwxMDQsMTA1LAorICAgIDExNSwzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwzMiwxMDUsMTE1LDMyLDEwMCwxMDEsMTEyLDExNCwKKyAgICAxMDEsOTksOTcsMTE2LDEwMSwxMDAsNDYsMzIsMzIsODUsMTE1LDEwMSwzMiwxMDIsMTA1LDExMCwKKyAgICAxMDAsOTUsMTE1LDExMiwxMDEsOTksNDAsNDEsMzIsMTA1LDExMCwxMTUsMTE2LDEwMSw5NywxMDAsCisgICAgNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsNzgsNDEsMiwxMTQsMTIsCisgICAgMSwwLDAsMTE0LDE3MCwwLDAsMCw0MSw0LDExNCwxMCwxLDAsMCwxMTQsCisgICAgMTU5LDAsMCwwLDExNCwzNSwwLDAsMCwxMTQsMTc3LDAsMCwwLDExNCw0LAorICAgIDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwxMSwxMDIsCisgICAgMTA1LDExMCwxMDAsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMjA0LDQsMCwwLDExNSw0LAorICAgIDAsMCwwLDAsOSwxOCwxLDEyMiwyNyw2NiwxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCwKKyAgICA3MywxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMTQsNDYsMTAyLDEwNSwxMTAsMTAwLDk1LDEwOSwxMTEsCisgICAgMTAwLDExNywxMDgsMTAxLDk5LDIsMCwwLDAsMCwwLDAsMCwzLDAsMCwKKyAgICAwLDEwLDAsMCwwLDY3LDAsMCwwLDExNSw1OSwwLDAsMCwxMTYsMCwKKyAgICAwLDEyNCwxLDAsMTMxLDEsMCwxNDMsMjMsMCwxLDExNiwxLDAsMTE2LDIsCisgICAgMCwxMDYsMywwLDEyNCwxLDAsMTMxLDIsMCwxMjUsMiwwLDg3LDEwMCwxLAorICAgIDAsODEsODgsMTI0LDAsMCwxMjQsMiwwLDk1LDQsMCwxMDAsMiwwLDEyNCwKKyAgICAyLDAsOTUsNSwwLDEyNCwyLDAsODMsNDEsMywxMjIsMjMsNzYsMTExLDk3LAorICAgIDEwMCwzMiw5NywzMiw5OCwxMTcsMTA1LDEwOCwxMTYsNDUsMTA1LDExMCwzMiwxMDksMTExLDEwMCwKKyAgICAxMTcsMTA4LDEwMSw0Niw3OCwxMTQsMzAsMCwwLDAsNDEsNiwxMTQsNjksMCwwLAorICAgIDAsMTE0LDExNCwwLDAsMCwxMTQsMTA2LDAsMCwwLDkwLDEyLDEwNSwxMTAsMTA1LAorICAgIDExNiw5NSw5OCwxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCwxMTQsMjAzLDAsMCwwLDExNCwyNDksCisgICAgMCwwLDAsNDEsMywxMTQsMTAsMSwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsCiAgICAgMTc4LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LAotICAgIDAsMCwwLDIxOCwxMSwxMDIsMTA1LDExMCwxMDAsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsCi0gICAgMjUxLDQsMCwwLDExNSw0LDAsMCwwLDAsOSwxOCwxLDEyMiwyNyw2NiwKLSAgICAxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCw3MywxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMTQsNDYsMTAyLAotICAgIDEwNSwxMTAsMTAwLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk5LDIsMCwwLDAsMCwKLSAgICAwLDAsMCwzLDAsMCwwLDEwLDAsMCwwLDY3LDAsMCwwLDExNSwKLSAgICA1OSwwLDAsMCwxMTYsMCwwLDEyNCwxLDAsMTMxLDEsMCwxNDMsMjMsMCwKLSAgICAxLDExNiwxLDAsMTE2LDIsMCwxMDYsMywwLDEyNCwxLDAsMTMxLDIsMCwKLSAgICAxMjUsMiwwLDg3LDEwMCwxLDAsODEsODgsMTI0LDAsMCwxMjQsMiwwLDk1LAotICAgIDQsMCwxMDAsMiwwLDEyNCwyLDAsOTUsNSwwLDEyNCwyLDAsODMsNDEsCi0gICAgMywxMjIsMjMsNzYsMTExLDk3LDEwMCwzMiw5NywzMiw5OCwxMTcsMTA1LDEwOCwxMTYsNDUsCi0gICAgMTA1LDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw0Niw3OCwxMTQsMzAsMCwwLDAsCi0gICAgNDEsNiwxMTQsNjksMCwwLDAsMTE0LDExNCwwLDAsMCwxMTQsMTA2LDAsMCwKLSAgICAwLDkwLDEyLDEwNSwxMTAsMTA1LDExNiw5NSw5OCwxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCwxMTQsCi0gICAgMjA1LDAsMCwwLDExNCwyNTEsMCwwLDAsNDEsMywxMTQsMTIsMSwwLDAsCi0gICAgMTE0LDE1OSwwLDAsMCwxMTQsMTgwLDAsMCwwLDExNCw0LDAsMCwwLDExNCwKLSAgICA0LDAsMCwwLDExNCw1LDAsMCwwLDExNCw1LDEsMCwwLDcsNSwKLSAgICAwLDAsMTE1LDEwLDAsMCwwLDAsNiwxMywxLDI0LDEsOSwxLDksCi0gICAgMSwxMjIsMjcsNjYsMTE3LDEwNSwxMDgsMTE2LDEwNSwxMTAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwKLSAgICAxMDEsMTE0LDQ2LDEwOCwxMTEsOTcsMTAwLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk5LDIsCi0gICAgMCwwLDAsMCwwLDAsMCwyLDAsMCwwLDEsMCwwLDAsNjcsCi0gICAgMCwwLDAsMTE1LDQsMCwwLDAsMTAwLDEsMCw4Myw0MSwyLDEyMiw1NywKLSAgICA4MiwxMDEsMTE2LDExNywxMTQsMTEwLDMyLDc4LDExMSwxMTAsMTAxLDMyLDk3LDExNSwzMiw5OCwKLSAgICAxMTcsMTA1LDEwOCwxMTYsNDUsMTA1LDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTUsMzIsCi0gICAgMTAwLDExMSwzMiwxMTAsMTExLDExNiwzMiwxMDQsOTcsMTE4LDEwMSwzMiw5OSwxMTEsMTAwLDEwMSwKLSAgICAzMiwxMTEsOTgsMTA2LDEwMSw5OSwxMTYsMTE1LDQ2LDc4LDExNCw0LDAsMCwwLDQxLAotICAgIDIsMTE0LDEyLDEsMCwwLDExNCwxNTksMCwwLDAsMTE0LDQsMCwwLDAsCi0gICAgMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDgsMTAzLDEwMSwxMTYsOTUsCi0gICAgOTksMTExLDEwMCwxMDEsMTksNSwwLDAsMTE1LDIsMCwwLDAsMCw0LDEyMiwKLSAgICAyNCw2NiwxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCw3MywxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMTQsCi0gICAgNDYsMTAzLDEwMSwxMTYsOTUsOTksMTExLDEwMCwxMDEsOTksMiwwLDAsMCwwLDAsCi0gICAgMCwwLDIsMCwwLDAsMSwwLDAsMCw2NywwLDAsMCwxMTUsNCwKLSAgICAwLDAsMCwxMDAsMSwwLDgzLDQxLDIsMTIyLDU2LDgyLDEwMSwxMTYsMTE3LDExNCwKLSAgICAxMTAsMzIsNzgsMTExLDExMCwxMDEsMzIsOTcsMTE1LDMyLDk4LDExNywxMDUsMTA4LDExNiw0NSwKLSAgICAxMDUsMTEwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNSwzMiwxMDAsMTExLDMyLDExMCwxMTEsCi0gICAgMTE2LDMyLDEwNCw5NywxMTgsMTAxLDMyLDExNSwxMTEsMTE3LDExNCw5OSwxMDEsMzIsOTksMTExLAotICAgIDEwMCwxMDEsNDYsNzgsMTE0LDQsMCwwLDAsNDEsMiwxMTQsMTIsMSwwLDAsCisgICAgMCwwLDAsMTE0LDMsMSwwLDAsMjE2LDQsMCwwLDExNSwxMCwwLDAsCisgICAgMCwwLDYsMTMsMSwyNCwxLDksMSw5LDEsMTIyLDI3LDY2LDExNywxMDUsCisgICAgMTA4LDExNiwxMDUsMTEwLDczLDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLDExNCw0NiwxMDgsMTExLDk3LAorICAgIDEwMCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5OSwyLDAsMCwwLDAsMCwwLAorICAgIDAsMiwwLDAsMCwxLDAsMCwwLDY3LDAsMCwwLDExNSw0LDAsCisgICAgMCwwLDEwMCwxLDAsODMsNDEsMiwxMjIsNTcsODIsMTAxLDExNiwxMTcsMTE0LDExMCwKKyAgICAzMiw3OCwxMTEsMTEwLDEwMSwzMiw5NywxMTUsMzIsOTgsMTE3LDEwNSwxMDgsMTE2LDQ1LDEwNSwKKyAgICAxMTAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE1LDMyLDEwMCwxMTEsMzIsMTEwLDExMSwxMTYsCisgICAgMzIsMTA0LDk3LDExOCwxMDEsMzIsOTksMTExLDEwMCwxMDEsMzIsMTExLDk4LDEwNiwxMDEsOTksCisgICAgMTE2LDExNSw0Niw3OCwxMTQsNCwwLDAsMCw0MSwyLDExNCwxMCwxLDAsMCwKICAgICAxMTQsMTU5LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCwKLSAgICA1LDAsMCwwLDIxOCwxMCwxMDMsMTAxLDExNiw5NSwxMTUsMTExLDExNywxMTQsOTksMTAxLAotICAgIDI1LDUsMCwwLDExNSwyLDAsMCwwLDAsNCwxMjIsMjYsNjYsMTE3LDEwNSwKLSAgICAxMDgsMTE2LDEwNSwxMTAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDQ2LDEwMywxMDEsMTE2LAotICAgIDk1LDExNSwxMTEsMTE3LDExNCw5OSwxMDEsOTksMiwwLDAsMCwwLDAsMCwwLAotICAgIDIsMCwwLDAsMSwwLDAsMCw2NywwLDAsMCwxMTUsNCwwLDAsCi0gICAgMCwxMDAsMSwwLDgzLDQxLDIsMTIyLDUyLDgyLDEwMSwxMTYsMTE3LDExNCwxMTAsMzIsCi0gICAgNzAsOTcsMTA4LDExNSwxMDEsMzIsOTcsMTE1LDMyLDk4LDExNywxMDUsMTA4LDExNiw0NSwxMDUsCi0gICAgMTEwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNSwzMiw5NywxMTQsMTAxLDMyLDExMCwxMDEsCi0gICAgMTE4LDEwMSwxMTQsMzIsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDExNSw0Niw3MCwxMTQsNCwKLSAgICAwLDAsMCw0MSwyLDExNCwxMiwxLDAsMCwxMTQsMTU5LDAsMCwwLDExNCwKLSAgICA0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwyMjAsCi0gICAgMCwwLDAsMzEsNSwwLDAsMTE1LDIsMCwwLDAsMCw0LDEyMiwyNiwKLSAgICA2NiwxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCw3MywxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMTQsNDYsCi0gICAgMTA1LDExNSw5NSwxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsNDEsMTQsMTE0LDU3LDAsMCwKLSAgICAwLDExNCw1NiwwLDAsMCwxMTQsNTgsMCwwLDAsMTE0LDU5LDAsMCwwLAotICAgIDIxOCwxMiwxMTUsMTE2LDk3LDExNiwxMDUsOTksMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMTE0LDIwNiwKLSAgICAwLDAsMCwyMTgsMTEsOTksMTA4LDk3LDExNSwxMTUsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsCi0gICAgMTE0LDE0LDEsMCwwLDExNCwxNSwxLDAsMCwxMTQsMTYyLDAsMCwwLDExNCwKLSAgICA1LDEsMCwwLDExNCwxNiwxLDAsMCwxMTQsMTcsMSwwLDAsMTE0LDIyMCwKLSAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLAotICAgIDAsMCwxMTQsNSwwLDAsMCwxMTQsMTEsMSwwLDAsMjI0LDQsMCwwLAotICAgIDExNSwyOCwwLDAsMCwxMiw3LDYsMiwxOCw5LDMsMSwyMSw4LDMsCi0gICAgMSwxOCwxMSwzLDEsMjEsMTEsMywxLDIxLDUsMywxLDIxLDUsMywKLSAgICAxLDExNCwxMSwxLDAsMCw5OSwwLDAsMCwwLDAsMCwwLDAsMCwKLSAgICAwLDAsMCw1LDAsMCwwLDY0LDAsMCwwLDExNSwxOTMsMCwwLDAsCi0gICAgMTAxLDAsMCw5MCwxLDAsMTAwLDAsMCw5MCwyLDAsMTAwLDEsMCw5MCwKLSAgICAzLDAsMTAxLDQsMCwxMDAsMiwwLDEwMCwzLDAsMTMyLDAsMCwxMzEsMSwKLSAgICAwLDkwLDUsMCwxMDEsNiwwLDEwMCw0LDAsMTAwLDQsMCwxMDAsNSwwLAotICAgIDEwMCw2LDAsMTMyLDIsMCwxMzEsMSwwLDkwLDcsMCwxMDEsNiwwLDEwMCwKLSAgICA0LDAsMTAwLDcsMCwxMDAsOCwwLDEzMiwxLDAsMTMxLDEsMCw5MCw4LAotICAgIDAsMTAxLDQsMCwxMDAsOSwwLDEwMCwxMCwwLDEzMiwwLDAsMTMxLDEsMCwKLSAgICA5MCw5LDAsMTAxLDYsMCwxMDAsMTEsMCwxMDAsMTIsMCwxMzIsMCwwLDEzMSwKLSAgICAxLDAsOTAsMTAsMCwxMDEsNiwwLDEwMSwxMSwwLDEwMCwxMywwLDEwMCwxNCwKLSAgICAwLDEzMiwwLDAsMTMxLDEsMCwxMzEsMSwwLDkwLDEyLDAsMTAxLDYsMCwKLSAgICAxMDEsMTEsMCwxMDAsMTUsMCwxMDAsMTYsMCwxMzIsMCwwLDEzMSwxLDAsMTMxLAotICAgIDEsMCw5MCwxMywwLDEwMSw2LDAsMTAxLDExLDAsMTAwLDE3LDAsMTAwLDE4LAotICAgIDAsMTMyLDAsMCwxMzEsMSwwLDEzMSwxLDAsOTAsMTQsMCwxMDAsNCwwLAotICAgIDgzLDQxLDE5LDIxOCwxNCw3MCwxMTQsMTExLDEyMiwxMDEsMTEwLDczLDEwOSwxMTIsMTExLDExNCwKLSAgICAxMTYsMTAxLDExNCwxMjIsMTQyLDc3LDEwMSwxMTYsOTcsMzIsMTEyLDk3LDExNiwxMDQsMzIsMTA1LAotICAgIDEwOSwxMTIsMTExLDExNCwxMTYsMzIsMTAyLDExMSwxMTQsMzIsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsCi0gICAgMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE1LDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDY1LAotICAgIDEwOCwxMDgsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMTE1LDMyLDk3LDExNCwxMDEsMzIsMTAxLAotICAgIDEwNSwxMTYsMTA0LDEwMSwxMTQsMzIsOTksMTA4LDk3LDExNSwxMTUsMzIsMTExLDExNCwzMiwxMTUsCi0gICAgMTE2LDk3LDExNiwxMDUsOTksMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMTE1LDMyLDExNiwxMTEsCi0gICAgMzIsOTcsMTE4LDExMSwxMDUsMTAwLDMyLDExNiwxMDQsMTAxLDMyLDExMCwxMDEsMTAxLDEwMCwzMiwKLSAgICAxMTYsMTExLDEwLDMyLDMyLDMyLDMyLDEwNSwxMTAsMTE1LDExNiw5NywxMTAsMTE2LDEwNSw5NywKLSAgICAxMTYsMTAxLDMyLDExNiwxMDQsMTAxLDMyLDk5LDEwOCw5NywxMTUsMTE1LDQ2LDEwLDEwLDMyLAotICAgIDMyLDMyLDMyLDk5LDEsMCwwLDAsMCwwLDAsMCwxLDAsMCwwLAotICAgIDIsMCwwLDAsNjcsMCwwLDAsMTE1LDE2LDAsMCwwLDEwMCwxLDAsCi0gICAgMTA2LDAsMCwxMjQsMCwwLDEwNiwxLDAsMTMxLDEsMCw4Myw0MSwyLDEyMiwKLSAgICAxMTUsODIsMTAxLDExNiwxMTcsMTE0LDExMCwzMiwxMTQsMTAxLDExMiwxMTQsMzIsMTAyLDExMSwxMTQsCi0gICAgMzIsMTE2LDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDYsMTAsMTAsMzIsMzIsCi0gICAgMzIsMzIsMzIsMzIsMzIsMzIsODQsMTA0LDEwMSwzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwKLSAgICAzMiwxMDUsMTE1LDMyLDEwMCwxMDEsMTEyLDExNCwxMDEsOTksOTcsMTE2LDEwMSwxMDAsNDYsMzIsCi0gICAgMzIsODQsMTA0LDEwMSwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwzMiwxMDksOTcsOTksMTA0LAotICAgIDEwNSwxMTAsMTAxLDExNCwxMjEsMzIsMTAwLDExMSwxMDEsMTE1LDMyLDExNiwxMDQsMTAxLDMyLDEwNiwKLSAgICAxMTEsOTgsMzIsMTA1LDExNiwxMTUsMTAxLDEwOCwxMDIsNDYsMTAsMTAsMzIsMzIsMzIsMzIsCi0gICAgMzIsMzIsMzIsMzIsMTIyLDIyLDYwLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEyMywzMywKLSAgICAxMTQsMTI1LDMyLDQwLDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDQxLDYyLDQxLDIsMTE0LDQ3LAotICAgIDAsMCwwLDExNCw1NywwLDAsMCw0MSwxLDIxOCwxLDEwOSwxMTQsNCwwLAotICAgIDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMjA2LDAsMCwKLSAgICAwLDQ3LDUsMCwwLDExNSwyLDAsMCwwLDAsNywxMjIsMjYsNzAsMTE0LAotICAgIDExMSwxMjIsMTAxLDExMCw3MywxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMTQsNDYsMTA5LDExMSwxMDAsCi0gICAgMTE3LDEwOCwxMDEsOTUsMTE0LDEwMSwxMTIsMTE0LDc4LDk5LDQsMCwwLDAsMCwwLAotICAgIDAsMCw0LDAsMCwwLDUsMCwwLDAsNjcsMCwwLDAsMTE1LDQyLAotICAgIDAsMCwwLDExNiwwLDAsMTA2LDEsMCwxMjQsMSwwLDEzMSwxLDAsMTE0LAotICAgIDM0LDAsMTE2LDIsMCwxMjQsMSwwLDEyNCwwLDAsMTAwLDEsMCwxMDAsMiwKLSAgICAwLDEzMSwyLDEsODMsMTAwLDAsMCw4MywxMDAsMCwwLDgzLDQxLDMsNzgsCi0gICAgMTE0LDIxOCwwLDAsMCw5MCw2LDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDQxLDMsMTE0LAotICAgIDEwNiwwLDAsMCwxMTQsMTYzLDAsMCwwLDExNCwxNzQsMCwwLDAsNDEsNCwKLSAgICAxMTQsMTIsMSwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsMzUsMCwwLDAsMTE0LAotICAgIDEzLDEsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LAotICAgIDAsMCwwLDExNCwxNCwxLDAsMCw1Niw1LDAsMCwxMTUsNiwwLDAsCi0gICAgMCwwLDIsMTUsMSwxOSwyLDEyMiwyNCw3MCwxMTQsMTExLDEyMiwxMDEsMTEwLDczLAotICAgIDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLDExNCw0NiwxMDIsMTA1LDExMCwxMDAsOTUsMTE1LDExMiwxMDEsCi0gICAgOTksOTksMywwLDAsMCwwLDAsMCwwLDMsMCwwLDAsMiwwLAotICAgIDAsMCw2NywwLDAsMCwxMTUsMjMsMCwwLDAsMTE2LDAsMCwxMDYsMSwKLSAgICAwLDEyNCwxLDAsMTMxLDEsMCwxMTQsMTksMCwxMjQsMCwwLDgzLDEwMCwxLAotICAgIDAsODMsNDEsMiwxMjIsOTMsNzAsMTA1LDExMCwxMDAsMzIsOTcsMzIsMTAyLDExNCwxMTEsCi0gICAgMTIyLDEwMSwxMTAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsCi0gICAgMzIsMzIsMzIsMzIsMzIsODQsMTA0LDEwNSwxMTUsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsCi0gICAgMzIsMTA1LDExNSwzMiwxMDAsMTAxLDExMiwxMTQsMTAxLDk5LDk3LDExNiwxMDEsMTAwLDQ2LDMyLAotICAgIDMyLDg1LDExNSwxMDEsMzIsMTAyLDEwNSwxMTAsMTAwLDk1LDExNSwxMTIsMTAxLDk5LDQwLDQxLAotICAgIDMyLDEwNSwxMTAsMTE1LDExNiwxMDEsOTcsMTAwLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLAotICAgIDMyLDMyLDMyLDc4LDQxLDIsMTE0LDEwNiwwLDAsMCwxMTQsMTYzLDAsMCwwLAotICAgIDQxLDMsMTE0LDEyLDEsMCwwLDExNCwxNTksMCwwLDAsMTE0LDM1LDAsMCwKLSAgICAwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLAotICAgIDExNCwxNSwxLDAsMCw2Myw1LDAsMCwxMTUsMiwwLDAsMCwwLDcsCi0gICAgMTIyLDI2LDcwLDExNCwxMTEsMTIyLDEwMSwxMTAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LAotICAgIDQ2LDEwMiwxMDUsMTEwLDEwMCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5OSwxLDAsMCwKLSAgICAwLDAsMCwwLDAsMywwLDAsMCw0LDAsMCwwLDY3LDAsMCwKLSAgICAwLDExNSw5NSwwLDAsMCwxMjQsMCwwLDEwNiwwLDAsMTA2LDEsMCwxMjUsCi0gICAgMSwwLDExNiwyLDAsMTA2LDMsMCwxMjQsMSwwLDEzMSwxLDAsMTE1LDU3LAotICAgIDAsMTE2LDQsMCwxMDAsMSwwLDEwNiw1LDAsMTI0LDEsMCwxMzEsMSwwLAotICAgIDEwMCwyLDAsMTI0LDEsMCwxMzEsMSwxLDEzMCwxLDAsMTEwLDAsMCwxMTYsCi0gICAgNiwwLDExNiwyLDAsMTA2LDcsMCwxMjQsMSwwLDEzMSwyLDAsMTI1LDIsCi0gICAgMCwxMTYsOCwwLDEyNCwyLDAsMTI0LDAsMCwxMDYsOSwwLDEzMSwyLDAsCi0gICAgMSwxMDAsMCwwLDgzLDQxLDMsNzgsMTIyLDI3LDEyMywzMywxMTQsMTI1LDMyLDEwNSwKLSAgICAxMTUsMzIsMTEwLDExMSwxMTYsMzIsOTcsMzIsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsMTA5LAotICAgIDExMSwxMDAsMTE3LDEwOCwxMDEsMTE0LDY3LDAsMCwwLDQxLDEwLDExNCwyMDksMCwwLAotICAgIDAsMTE0LDY3LDAsMCwwLDExNCwxMDYsMCwwLDAsMTE0LDE2MywwLDAsMCwKLSAgICAxMTQsMTU0LDAsMCwwLDExNCw0NywwLDAsMCwxMTQsMTE0LDAsMCwwLDIxOCwKLSAgICAxNywxMDMsMTAxLDExNiw5NSwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCw5NSwxMTEsOTgsMTA2LDEwMSwKLSAgICA5OSwxMTYsMTE0LDE3NiwwLDAsMCwxMTQsNjMsMCwwLDAsNDEsMywxMTQsMTgwLAotICAgIDAsMCwwLDExNCw2NywwLDAsMCwxMTQsMTk1LDAsMCwwLDExNCw0LDAsCi0gICAgMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwyLDEsMCwKLSAgICAwLDcyLDUsMCwwLDExNSwxMiwwLDAsMCwwLDIsMTIsMSwxNSwxLAotICAgIDE4LDEsMTIsMSwxOCwxLDEyMiwyNiw3MCwxMTQsMTExLDEyMiwxMDEsMTEwLDczLDEwOSwKLSAgICAxMTIsMTExLDExNCwxMTYsMTAxLDExNCw0NiwxMDEsMTIwLDEwMSw5OSw5NSwxMDksMTExLDEwMCwxMTcsCi0gICAgMTA4LDEwMSw5OSwyLDAsMCwwLDAsMCwwLDAsMiwwLDAsMCwzLAotICAgIDAsMCwwLDY3LDAsMCwwLDExNSwxMywwLDAsMCwxMTYsMCwwLDEyNCwKLSAgICAwLDAsMTI0LDEsMCwxMzEsMiwwLDgzLDQxLDEsMTIyLDk1LDc2LDExMSw5NywKLSAgICAxMDAsMzIsOTcsMzIsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwKLSAgICAxMDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsODQsMTA0LDEwNSwxMTUsCi0gICAgMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMzIsMTA1LDExNSwzMiwxMDAsMTAxLDExMiwxMTQsMTAxLAotICAgIDk5LDk3LDExNiwxMDEsMTAwLDQ2LDMyLDMyLDg1LDExNSwxMDEsMzIsMTAxLDEyMCwxMDEsOTksCi0gICAgOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDAsNDEsMzIsMTA1LDExMCwxMTUsMTE2LDEwMSw5NywKLSAgICAxMDAsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsNDEsMSwxMTQsMTgxLAotICAgIDAsMCwwLDQxLDIsMTE0LDEyLDEsMCwwLDExNCwxNTksMCwwLDAsMTE0LAotICAgIDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDUsCi0gICAgMSwwLDAsODEsNSwwLDAsMTE1LDIsMCwwLDAsMCw3LDEyMiwyNiwKLSAgICA3MCwxMTQsMTExLDEyMiwxMDEsMTEwLDczLDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLDExNCw0NiwxMDgsCi0gICAgMTExLDk3LDEwMCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5OSwyLDAsMCwwLDAsCi0gICAgMCwwLDAsMiwwLDAsMCwyLDAsMCwwLDY3LDAsMCwwLDExNSwKLSAgICAxMywwLDAsMCwxMTYsMCwwLDEwNiwxLDAsMTI0LDEsMCwxMzEsMSwwLAotICAgIDgzLDQxLDEsMTIyLDQ1LDgyLDEwMSwxMTYsMTE3LDExNCwxMTAsMzIsMTE2LDEwNCwxMDEsMzIsCi0gICAgOTksMTExLDEwMCwxMDEsMzIsMTExLDk4LDEwNiwxMDEsOTksMTE2LDMyLDEwMiwxMTEsMTE0LDMyLAotICAgIDExNiwxMDQsMTAxLDMyLDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsCi0gICAgMTAxLDQ2LDQxLDIsMTE0LDEwNiwwLDAsMCwxMTQsMjIsMSwwLDAsNDEsMiwKLSAgICAxMTQsMTIsMSwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsCi0gICAgNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMTYsMSwwLDAsOTAsNSwKLSAgICAwLDAsMTE1LDIsMCwwLDAsMCw0LDEyMiwyMyw3MCwxMTQsMTExLDEyMiwxMDEsCi0gICAgMTEwLDczLDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLDExNCw0NiwxMDMsMTAxLDExNiw5NSw5OSwxMTEsCi0gICAgMTAwLDEwMSw5OSwyLDAsMCwwLDAsMCwwLDAsMiwwLDAsMCwxLAotICAgIDAsMCwwLDY3LDAsMCwwLDExNSw0LDAsMCwwLDEwMCwxLDAsODMsCi0gICAgNDEsMiwxMjIsNTQsODIsMTAxLDExNiwxMTcsMTE0LDExMCwzMiw3OCwxMTEsMTEwLDEwMSwzMiwKLSAgICA5NywxMTUsMzIsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsCi0gICAgMTE1LDMyLDEwMCwxMTEsMzIsMTEwLDExMSwxMTYsMzIsMTA0LDk3LDExOCwxMDEsMzIsMTE1LDExMSwKLSAgICAxMTcsMTE0LDk5LDEwMSwzMiw5OSwxMTEsMTAwLDEwMSw0Niw3OCwxMTQsNCwwLDAsMCwKLSAgICA0MSwyLDExNCwxMiwxLDAsMCwxMTQsMTU5LDAsMCwwLDExNCw0LDAsMCwKLSAgICAwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwxNywxLDAsMCwKLSAgICA5Niw1LDAsMCwxMTUsMiwwLDAsMCwwLDQsMTIyLDI1LDcwLDExNCwxMTEsCi0gICAgMTIyLDEwMSwxMTAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDQ2LDEwMywxMDEsMTE2LDk1LAotICAgIDExNSwxMTEsMTE3LDExNCw5OSwxMDEsOTksMiwwLDAsMCwwLDAsMCwwLDIsCi0gICAgMCwwLDAsMiwwLDAsMCw2NywwLDAsMCwxMTUsMTMsMCwwLDAsCi0gICAgMTE2LDAsMCwxMDYsMSwwLDEyNCwxLDAsMTMxLDEsMCw4Myw0MSwxLDEyMiwKLSAgICA0Niw4MiwxMDEsMTE2LDExNywxMTQsMTEwLDMyLDg0LDExNCwxMTcsMTAxLDMyLDEwNSwxMDIsMzIsCi0gICAgMTE2LDEwNCwxMDEsMzIsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwKLSAgICAxMDEsMzIsMTA1LDExNSwzMiw5NywzMiwxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsNDYsNDEsCi0gICAgMiwxMTQsMTA2LDAsMCwwLDkwLDE3LDEwNSwxMTUsOTUsMTAyLDExNCwxMTEsMTIyLDEwMSwKLSAgICAxMTAsOTUsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDQxLDIsMTE0LDEyLDEsMCwwLAotICAgIDExNCwxNTksMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LAotICAgIDUsMCwwLDAsMTE0LDIyMCwwLDAsMCwxMDIsNSwwLDAsMTE1LDIsMCwKLSAgICAwLDAsMCw0LDEyMiwyNSw3MCwxMTQsMTExLDEyMiwxMDEsMTEwLDczLDEwOSwxMTIsMTExLAotICAgIDExNCwxMTYsMTAxLDExNCw0NiwxMDUsMTE1LDk1LDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSw0MSwKLSAgICAxNSwxMTQsNTcsMCwwLDAsMTE0LDU2LDAsMCwwLDExNCw1OCwwLDAsMCwKLSAgICAxMTQsNTksMCwwLDAsMTE0LDE4LDEsMCwwLDExNCwyMDYsMCwwLDAsMTE0LAotICAgIDE5LDEsMCwwLDExNCwxNCwxLDAsMCwxMTQsMTUsMSwwLDAsMTE0LDIsCi0gICAgMSwwLDAsMTE0LDUsMSwwLDAsMTE0LDE2NSwwLDAsMCwxMTQsMTYsMSwKLSAgICAwLDAsMTE0LDE3LDEsMCwwLDExNCwyMjAsMCwwLDAsMTE0LDQsMCwwLAotICAgIDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsCi0gICAgMTE0LDIwLDEsMCwwLDM4LDUsMCwwLDExNSwyOCwwLDAsMCwxMiw3LAotICAgIDYsMiwxOCw5LDMsMSwyMSw2LDMsMSwxOCw4LDE4LDksMTgsOSwKLSAgICAzLDEsMjEsNSwzLDEsMjEsNSwzLDEsMTE0LDIwLDEsMCwwLDk5LAotICAgIDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDUsMCwwLDAsCi0gICAgNjQsMCwwLDAsMTE1LDEyMSwwLDAsMCwxMDEsMCwwLDkwLDEsMCwxMDAsCi0gICAgMCwwLDkwLDIsMCwxMDAsMSwwLDkwLDMsMCwxMDAsMiwwLDkwLDQsCi0gICAgMCwxMDAsMywwLDkwLDUsMCwxMDAsNCwwLDkwLDYsMCwxMDEsNywwLAotICAgIDEwMCw1LDAsMTAwLDYsMCwxMzIsMCwwLDEzMSwxLDAsOTAsOCwwLDEwMSwKLSAgICA3LDAsMTAwLDcsMCwxMDAsOCwwLDEzMiwwLDAsMTMxLDEsMCw5MCw5LAotICAgIDAsMTAxLDcsMCwxMDAsOSwwLDEwMCw5LDAsMTAwLDEwLDAsMTAwLDExLDAsCi0gICAgMTMyLDIsMCwxMzEsMSwwLDkwLDEwLDAsMTAxLDcsMCwxMDAsOSwwLDEwMCwKLSAgICAxMiwwLDEwMCwxMywwLDEzMiwxLDAsMTMxLDEsMCw5MCwxMSwwLDEwMCw5LAotICAgIDAsODMsNDEsMTQsMjE4LDIxLDg3LDEwNSwxMTAsMTAwLDExMSwxMTksMTE1LDgyLDEwMSwxMDMsCi0gICAgMTA1LDExNSwxMTYsMTE0LDEyMSw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDEyMiw2Miw3NywxMDEsMTE2LAotICAgIDk3LDMyLDExMiw5NywxMTYsMTA0LDMyLDEwMiwxMDUsMTEwLDEwMCwxMDEsMTE0LDMyLDEwMiwxMTEsCi0gICAgMTE0LDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNSwzMiwxMDAsMTAxLDk5LDEwOCw5NywxMTQsCi0gICAgMTAxLDEwMCwzMiwxMDUsMTEwLDMyLDExNiwxMDQsMTAxLDMyLDg3LDEwNSwxMTAsMTAwLDExMSwxMTksCi0gICAgMTE1LDMyLDExNCwxMDEsMTAzLDEwNSwxMTUsMTE2LDExNCwxMjEsNDYsMTIyLDU5LDgzLDExMSwxMDIsCi0gICAgMTE2LDExOSw5NywxMTQsMTAxLDkyLDgwLDEyMSwxMTYsMTA0LDExMSwxMTAsOTIsODAsMTIxLDExNiwKLSAgICAxMDQsMTExLDExMCw2NywxMTEsMTE0LDEwMSw5MiwxMjMsMTE1LDEyMSwxMTUsOTUsMTE4LDEwMSwxMTQsCi0gICAgMTE1LDEwNSwxMTEsMTEwLDEyNSw5Miw3NywxMTEsMTAwLDExNywxMDgsMTAxLDExNSw5MiwxMjMsMTAyLAotICAgIDExNywxMDgsMTA4LDExMCw5NywxMDksMTAxLDEyNSwxMjIsNjUsODMsMTExLDEwMiwxMTYsMTE5LDk3LAotICAgIDExNCwxMDEsOTIsODAsMTIxLDExNiwxMDQsMTExLDExMCw5Miw4MCwxMjEsMTE2LDEwNCwxMTEsMTEwLAotICAgIDY3LDExMSwxMTQsMTAxLDkyLDEyMywxMTUsMTIxLDExNSw5NSwxMTgsMTAxLDExNCwxMTUsMTA1LDExMSwKLSAgICAxMTAsMTI1LDkyLDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE1LDkyLDEyMywxMDIsMTE3LDEwOCwxMDgsCi0gICAgMTEwLDk3LDEwOSwxMDEsMTI1LDkyLDY4LDEwMSw5OCwxMTcsMTAzLDcwLDk5LDIsMCwwLAotICAgIDAsMCwwLDAsMCwyLDAsMCwwLDExLDAsMCwwLDY3LDAsMCwKLSAgICAwLDExNSw2NywwLDAsMCwxMjEsMjMsMCwxMTYsMCwwLDEwNiwxLDAsMTE2LAotICAgIDAsMCwxMDYsMiwwLDEyNCwxLDAsMTMxLDIsMCw4Myw4NywxMTAsMzcsMCwKLSAgICA0LDExNiwzLDAsMTA3LDEwLDAsMTE0LDYyLDAsMSwxLDEsMTE2LDAsMCwKLSAgICAxMDYsMSwwLDExNiwwLDAsMTA2LDQsMCwxMjQsMSwwLDEzMSwyLDAsODMsCi0gICAgODksMTEwLDEsMCw4OCwxMDAsMCwwLDgzLDQxLDEsNzgsNDEsNSwyMTgsNywKLSAgICA5NSwxMTksMTA1LDExMCwxMTQsMTAxLDEwMyw5MCw3LDc5LDExMiwxMDEsMTEwLDc1LDEwMSwxMjEsCi0gICAgOTAsMTcsNzIsNzUsNjksODksOTUsNjcsODUsODIsODIsNjksNzgsODQsOTUsODUsCi0gICAgODMsNjksODIsMTE0LDQwLDAsMCwwLDkwLDE4LDcyLDc1LDY5LDg5LDk1LDc2LAotICAgIDc5LDY3LDY1LDc2LDk1LDc3LDY1LDY3LDcyLDczLDc4LDY5LDQxLDIsMTE0LDEyLAotICAgIDEsMCwwLDIxOCwzLDEwNywxMDEsMTIxLDExNCw0LDAsMCwwLDExNCw0LDAsCi0gICAgMCwwLDExNCw1LDAsMCwwLDIxOCwxNCw5NSwxMTEsMTEyLDEwMSwxMTAsOTUsMTE0LAotICAgIDEwMSwxMDMsMTA1LDExNSwxMTYsMTE0LDEyMSwxMjEsNSwwLDAsMTE1LDgsMCwwLDAsCi0gICAgMCwyLDMsMSwyMywxLDEzLDEsMTIyLDM2LDg3LDEwNSwxMTAsMTAwLDExMSwxMTksCi0gICAgMTE1LDgyLDEwMSwxMDMsMTA1LDExNSwxMTYsMTE0LDEyMSw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDQ2LAotICAgIDk1LDExMSwxMTIsMTAxLDExMCw5NSwxMTQsMTAxLDEwMywxMDUsMTE1LDExNiwxMTQsMTIxLDk5LDIsCi0gICAgMCwwLDAsMCwwLDAsMCw2LDAsMCwwLDE2LDAsMCwwLDY3LAotICAgIDAsMCwwLDExNSwxNDIsMCwwLDAsMTI0LDAsMCwxMDYsMCwwLDExNCwyMSwKLSAgICAwLDEyNCwwLDAsMTA2LDEsMCwxMjUsMiwwLDExMCw5LDAsMTI0LDAsMCwKLSAgICAxMDYsMiwwLDEyNSwyLDAsMTI0LDIsMCwxMDYsMywwLDEwMCwxLDAsMTI0LAotICAgIDEsMCwxMDAsMiwwLDExNiw0LDAsMTA2LDUsMCwxMDAsMCwwLDEwMCwzLAotICAgIDAsMTMzLDIsMCwyNSwxMzEsMCwyLDEyNSwzLDAsMTIxLDQ2LDAsMTI0LDAsCi0gICAgMCwxMDYsNiwwLDEyNCwzLDAsMTMxLDEsMCwxNDMsMjUsMCwxMjUsNCwwLAotICAgIDExNiw3LDAsMTA2LDgsMCwxMjQsNCwwLDEwMCw0LDAsMTMxLDIsMCwxMjUsCi0gICAgNSwwLDg3LDEwMCwwLDAsODEsODgsODcsMTEwLDIyLDAsNCwxMTYsOSwwLAotICAgIDEwNywxMCwwLDExNCwxMzcsMCwxLDEsMSwxMDAsMCwwLDgzLDg5LDExMCwxLAotICAgIDAsODgsMTI0LDUsMCw4Myw0MSw1LDc4LDExNCwxNTksMCwwLDAsOTAsMTEsCi0gICAgMTE1LDEyMSwxMTUsOTUsMTE4LDEwMSwxMTQsMTE1LDEwNSwxMTEsMTEwLDExNCwxMzcsMCwwLDAsCi0gICAgMTE0LDMwLDAsMCwwLDQxLDEwLDIxOCwxMSw2OCw2OSw2Niw4NSw3MSw5NSw2NiwKLSAgICA4NSw3Myw3Niw2OCwyMTgsMTgsODIsNjksNzEsNzMsODMsODQsODIsODksOTUsNzUsCi0gICAgNjksODksOTUsNjgsNjksNjYsODUsNzEsMjE4LDEyLDgyLDY5LDcxLDczLDgzLDg0LAotICAgIDgyLDg5LDk1LDc1LDY5LDg5LDExNCw0NywwLDAsMCwxMTQsNywwLDAsMCwKLSAgICAyMTgsNywxMTgsMTAxLDExNCwxMTUsMTA1LDExMSwxMTAsMTE0LDI2LDEsMCwwLDExNCwyNCwKLSAgICAxLDAsMCw5MCwxMCw4MSwxMTcsMTAxLDExNCwxMjEsODYsOTcsMTA4LDExNywxMDEsMTE0LAotICAgIDQwLDAsMCwwLDQxLDYsMTE0LDEyLDEsMCwwLDExNCwxNTksMCwwLDAsCi0gICAgOTAsMTIsMTE0LDEwMSwxMDMsMTA1LDExNSwxMTYsMTE0LDEyMSw5NSwxMDcsMTAxLDEyMSwxMTQsMjUsCi0gICAgMSwwLDAsOTAsNCwxMDQsMTA3LDEwMSwxMjEsMjE4LDgsMTAyLDEwNSwxMDgsMTAxLDExMiwKLSAgICA5NywxMTYsMTA0LDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsCi0gICAgMCwwLDIxOCwxNiw5NSwxMTUsMTAxLDk3LDExNCw5OSwxMDQsOTUsMTE0LDEwMSwxMDMsMTA1LAotICAgIDExNSwxMTYsMTE0LDEyMSwxMjgsNSwwLDAsMTE1LDIyLDAsMCwwLDAsMiw5LAotICAgIDEsMTIsMiw5LDEsMTUsMSwyMiwxLDMsMSwxOCwxLDI4LDEsMTMsCi0gICAgMSw5LDEsMTIyLDM4LDg3LDEwNSwxMTAsMTAwLDExMSwxMTksMTE1LDgyLDEwMSwxMDMsMTA1LAotICAgIDExNSwxMTYsMTE0LDEyMSw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDQ2LDk1LDExNSwxMDEsOTcsMTE0LAotICAgIDk5LDEwNCw5NSwxMTQsMTAxLDEwMywxMDUsMTE1LDExNiwxMTQsMTIxLDc4LDk5LDQsMCwwLAotICAgIDAsMCwwLDAsMCw4LDAsMCwwLDE0LDAsMCwwLDY3LDAsMCwKLSAgICAwLDExNSwxNTUsMCwwLDAsMTI0LDAsMCwxMDYsMCwwLDEyNCwxLDAsMTMxLAotICAgIDEsMCwxMjUsNCwwLDEyNCw0LDAsMTAwLDAsMCwxMDcsOCwwLDExNCwzMSwKLSAgICAwLDEwMCwwLDAsODMsMTIxLDE0LDAsMTE2LDEsMCwxMjQsNCwwLDEzMSwxLAotICAgIDAsMSw4NywxMTAsMjIsMCw0LDExNiwyLDAsMTA3LDEwLDAsMTE0LDY5LDAsCi0gICAgMSwxLDEsMTAwLDAsMCw4Myw4OSwxMTAsMSwwLDg4LDEyMCw3OCwwLDExNiwKLSAgICAzLDAsMTMxLDAsMCw2OCw5Myw2NywwLDkyLDIsMCwxMjUsNSwwLDEyNSwKLSAgICA2LDAsMTI0LDQsMCwxMDYsNCwwLDExNiw1LDAsMTI0LDYsMCwxMzEsMSwKLSAgICAwLDEzMSwxLDAsMTE0LDgwLDAsMTE2LDYsMCwxMjQsMSwwLDEyNCw1LDAsCi0gICAgMTI0LDEsMCwxMjQsNCwwLDEzMSwyLDAsMTAwLDEsMCwxMjQsNCwwLDEzMSwKLSAgICAyLDEsMTI1LDcsMCwxMjQsNywwLDgzLDExMyw4MCwwLDg3LDEwMCwwLDAsCi0gICAgODMsNDEsMiw3OCwxMTQsMjE4LDAsMCwwLDQxLDcsMTE0LDMyLDEsMCwwLAotICAgIDExNCwzOSwwLDAsMCwxMTQsNDAsMCwwLDAsMTE0LDI0MSwwLDAsMCwxMTQsCi0gICAgMjMxLDAsMCwwLDExNCwyMzIsMCwwLDAsMTE0LDE3NCwwLDAsMCw0MSw4LAotICAgIDExNCwxMiwxLDAsMCwxMTQsMTU5LDAsMCwwLDExNCwzNSwwLDAsMCwxMTQsCi0gICAgMTMsMSwwLDAsMTE0LDMxLDEsMCwwLDExNCwxNzAsMCwwLDAsMTE0LDEyNiwKLSAgICAwLDAsMCwxMTQsMTc4LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsCi0gICAgMCwwLDExNCw1LDAsMCwwLDExNCwxNCwxLDAsMCwxNDMsNSwwLDAsCi0gICAgMTE1LDI0LDAsMCwwLDAsMiwxNSwxLDEyLDEsNCwxLDMsMSwxNCwKLSAgICAxLDEzLDEsOSwxLDIyLDEsMjEsMSwyMSwxLDksMSwxMjIsMzEsODcsCi0gICAgMTA1LDExMCwxMDAsMTExLDExOSwxMTUsODIsMTAxLDEwMywxMDUsMTE1LDExNiwxMTQsMTIxLDcwLDEwNSwKLSAgICAxMTAsMTAwLDEwMSwxMTQsNDYsMTAyLDEwNSwxMTAsMTAwLDk1LDExNSwxMTIsMTAxLDk5LDk5LDMsCi0gICAgMCwwLDAsMCwwLDAsMCw0LDAsMCwwLDMsMCwwLDAsNjcsCi0gICAgMCwwLDAsMTE1LDQ1LDAsMCwwLDEyNCwwLDAsMTA2LDAsMCwxMjQsMSwKLSAgICAwLDEyNCwyLDAsMTMxLDIsMCwxMjUsMywwLDEyNCwzLDAsMTAwLDEsMCwKLSAgICAxMDcsOSwwLDExNCwzNywwLDEyNCwzLDAsMTA2LDEsMCw4MywxMDAsMSwwLAotICAgIDgzLDEwMCwxLDAsODMsNDEsMiwxMjIsMTA4LDcwLDEwNSwxMTAsMTAwLDMyLDEwOSwxMTEsCi0gICAgMTAwLDExNywxMDgsMTAxLDMyLDExMCw5NywxMDksMTAxLDEwMCwzMiwxMDUsMTEwLDMyLDExNiwxMDQsCi0gICAgMTAxLDMyLDExNCwxMDEsMTAzLDEwNSwxMTUsMTE2LDExNCwxMjEsNDYsMTAsMTAsMzIsMzIsMzIsCi0gICAgMzIsMzIsMzIsMzIsMzIsODQsMTA0LDEwNSwxMTUsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsCi0gICAgMzIsMTA1LDExNSwzMiwxMDAsMTAxLDExMiwxMTQsMTAxLDk5LDk3LDExNiwxMDEsMTAwLDQ2LDMyLAotICAgIDMyLDg1LDExNSwxMDEsMzIsMTAxLDEyMCwxMDEsOTksOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsCi0gICAgNDAsNDEsMzIsMTA1LDExMCwxMTUsMTE2LDEwMSw5NywxMDAsNDYsMTAsMTAsMzIsMzIsMzIsCi0gICAgMzIsMzIsMzIsMzIsMzIsNzgsNDEsMiwxMTQsMTQsMSwwLDAsMTE0LDE3MCwwLAotICAgIDAsMCw0MSw0LDExNCwxMiwxLDAsMCwxMTQsMTU5LDAsMCwwLDExNCwzNSwKLSAgICAwLDAsMCwxMTQsMTc4LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsCi0gICAgMCwwLDExNCw1LDAsMCwwLDExNCwxNSwxLDAsMCwxNTgsNSwwLDAsCi0gICAgMTE1LDgsMCwwLDAsMCw3LDE4LDEsMTIsMSw3LDIsMTIyLDMzLDg3LAotICAgIDEwNSwxMTAsMTAwLDExMSwxMTksMTE1LDgyLDEwMSwxMDMsMTA1LDExNSwxMTYsMTE0LDEyMSw3MCwxMDUsCi0gICAgMTEwLDEwMCwxMDEsMTE0LDQ2LDEwMiwxMDUsMTEwLDEwMCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwKLSAgICA0MSwxMiwxMTQsNTcsMCwwLDAsMTE0LDU2LDAsMCwwLDExNCw1OCwwLDAsCi0gICAgMCwxMTQsNTksMCwwLDAsMTE0LDI5LDEsMCwwLDExNCwyOCwxLDAsMCwKLSAgICAxMTQsMjcsMSwwLDAsMTE0LDE5LDEsMCwwLDExNCwyNiwxLDAsMCwxMTQsCi0gICAgMzIsMSwwLDAsMTE0LDE0LDEsMCwwLDExNCwxNSwxLDAsMCwxMTQsNCwKLSAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLAotICAgIDAsMCwxMTQsMjMsMSwwLDAsMTA5LDUsMCwwLDExNSwyMCwwLDAsMCwKLSAgICAxMiwyLDYsMyw2LDMsNiwyLDYsMiwxOCw3LDE4LDE1LDMsMSwKLSAgICAyMSwxNCwzLDEsMTE0LDIzLDEsMCwwLDk5LDAsMCwwLDAsMCwwLAotICAgIDAsMCwwLDAsMCwwLDIsMCwwLDAsNjQsMCwwLDAsMTE1LDUyLAotICAgIDAsMCwwLDEwMSwwLDAsOTAsMSwwLDEwMCwwLDAsOTAsMiwwLDEwMCwKLSAgICAxLDAsOTAsMywwLDEwMCwyLDAsMTAwLDMsMCwxMzIsMCwwLDkwLDQsCi0gICAgMCwxMDAsNCwwLDEwMCw1LDAsMTMyLDAsMCw5MCw1LDAsMTAxLDYsMCwKLSAgICA5MCw3LDAsMTAwLDYsMCw4Myw0MSw3LDIxOCwxMyw5NSw3NiwxMTEsOTcsMTAwLAotICAgIDEwMSwxMTQsNjYsOTcsMTE1LDEwNSw5OSwxMTUsMTIyLDgzLDY2LDk3LDExNSwxMDEsMzIsOTksCi0gICAgMTA4LDk3LDExNSwxMTUsMzIsMTExLDEwMiwzMiw5OSwxMTEsMTA5LDEwOSwxMTEsMTEwLDMyLDk5LAotICAgIDExMSwxMDAsMTAxLDMyLDExMCwxMDEsMTAxLDEwMCwxMDEsMTAwLDMyLDk4LDEyMSwzMiw5OCwxMTEsCi0gICAgMTE2LDEwNCwzMiw4MywxMTEsMTE3LDExNCw5OSwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDMyLAotICAgIDk3LDExMCwxMDAsMTAsMzIsMzIsMzIsMzIsODMsMTExLDExNywxMTQsOTksMTAxLDEwOCwxMDEsCi0gICAgMTE1LDExNSw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsOTksMiwwLAotICAgIDAsMCwwLDAsMCwwLDUsMCwwLDAsMywwLDAsMCw2NywwLAotICAgIDAsMCwxMTUsODgsMCwwLDAsMTE2LDAsMCwxMjQsMCwwLDEwNiwxLDAsCi0gICAgMTI0LDEsMCwxMzEsMSwwLDEzMSwxLDAsMTAwLDEsMCwyNSwxMjUsMiwwLAotICAgIDEyNCwyLDAsMTA2LDIsMCwxMDAsMiwwLDEwMCwxLDAsMTMxLDIsMCwxMDAsCi0gICAgMywwLDI1LDEyNSwzLDAsMTI0LDEsMCwxMDYsMywwLDEwMCwyLDAsMTMxLAotICAgIDEsMCwxMDAsNCwwLDI1LDEyNSw0LDAsMTI0LDMsMCwxMDAsNSwwLDEwNywKLSAgICAyLDAsMTExLDg3LDAsMTI0LDQsMCwxMDAsNSwwLDEwNywzLDAsODMsNDEsCi0gICAgNiwxMjIsMTQxLDY3LDExMSwxMTAsOTksMTE0LDEwMSwxMTYsMTAxLDMyLDEwNSwxMDksMTEyLDEwOCwKLSAgICAxMDEsMTA5LDEwMSwxMTAsMTE2LDk3LDExNiwxMDUsMTExLDExMCwzMiwxMTEsMTAyLDMyLDczLDExMCwKLSAgICAxMTUsMTEyLDEwMSw5OSwxMTYsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDEwNSwxMTUsOTUsMTEyLAotICAgIDk3LDk5LDEwNyw5NywxMDMsMTAxLDMyLDk4LDEyMSwzMiw5OSwxMDQsMTAxLDk5LDEwNywxMDUsCi0gICAgMTEwLDEwMywzMiwxMDUsMTAyLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDExNiwxMDQsCi0gICAgMTAxLDMyLDExMiw5NywxMTYsMTA0LDMyLDExNCwxMDEsMTE2LDExNywxMTQsMTEwLDEwMSwxMDAsMzIsCi0gICAgOTgsMTIxLDMyLDEwMywxMDEsMTE2LDk1LDEwMiwxMDUsMTA4LDEwMSwxMTAsOTcsMTA5LDEwMSwzMiwKLSAgICAxMDQsOTcsMTE1LDMyLDk3LDMyLDEwMiwxMDUsMTA4LDEwMSwxMTAsOTcsMTA5LDEwMSwzMiwxMTEsCi0gICAgMTAyLDMyLDM5LDk1LDk1LDEwNSwxMTAsMTA1LDExNiw5NSw5NSw0NiwxMTIsMTIxLDM5LDQ2LAotICAgIDExNCwyOSwwLDAsMCwxMTQsMTE2LDAsMCwwLDExNCw4NCwwLDAsMCwxMTQsCi0gICAgMTE1LDAsMCwwLDExNCw3MiwwLDAsMCw0MSw0LDExNCwzOCwwLDAsMCwKLSAgICAxMTQsMjM5LDAsMCwwLDExNCwzNCwwLDAsMCwxMTQsMzIsMCwwLDAsNDEsCi0gICAgNSwxMTQsNzEsMCwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsMTMxLDAsMCwwLAotICAgIDkwLDEzLDEwMiwxMDUsMTA4LDEwMSwxMTAsOTcsMTA5LDEwMSw5NSw5OCw5NywxMTUsMTAxLDkwLAotICAgIDksMTE2LDk3LDEwNSwxMDgsOTUsMTEwLDk3LDEwOSwxMDEsMTE0LDQsMCwwLDAsMTE0LAotICAgIDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDIyMCwwLDAsMCwxNzcsNSwKLSAgICAwLDAsMTE1LDgsMCwwLDAsMCwzLDI1LDEsMjIsMSwxOSwxLDEyMiwKLSAgICAyNCw5NSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNjYsOTcsMTE1LDEwNSw5OSwxMTUsNDYsMTA1LAotICAgIDExNSw5NSwxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsOTksMiwwLDAsMCwwLDAsCi0gICAgMCwwLDMsMCwwLDAsNCwwLDAsMCw2NywwLDAsMCwxMTUsODAsCi0gICAgMCwwLDAsMTI0LDAsMCwxMDYsMCwwLDEyNCwxLDAsMTA2LDEsMCwxMzEsCi0gICAgMSwwLDEyNSwyLDAsMTI0LDIsMCwxMDAsMSwwLDEwNyw4LDAsMTE0LDU3LAotICAgIDAsMTE2LDIsMCwxMDAsMiwwLDEwNiwzLDAsMTI0LDEsMCwxMDYsMSwwLAotICAgIDEzMSwxLDAsMTMxLDEsMCwxMzAsMSwwLDExMCwwLDAsMTE2LDQsMCwxMTYsCi0gICAgNSwwLDEyNCwyLDAsMTI0LDEsMCwxMDYsNiwwLDEzMSwzLDAsMSwxMDAsCi0gICAgMSwwLDgzLDQxLDMsMTIyLDE5LDY5LDEyMCwxMDEsOTksMTE3LDExNiwxMDEsMzIsMTE2LAotICAgIDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDYsNzgsMTIyLDUyLDk5LDk3LDExMCwKLSAgICAxMTAsMTExLDExNiwzMiwxMDgsMTExLDk3LDEwMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwKLSAgICAxMjMsMzMsMTE0LDEyNSwzMiwxMTksMTA0LDEwMSwxMTAsMzIsMTAzLDEwMSwxMTYsOTUsOTksMTExLAotICAgIDEwMCwxMDEsNDAsNDEsMzIsMTE0LDEwMSwxMTYsMTE3LDExNCwxMTAsMTE1LDMyLDc4LDExMSwxMTAsCi0gICAgMTAxLDQxLDcsMTE0LDE2LDEsMCwwLDExNCw1NywwLDAsMCwxMTQsMTU0LDAsCi0gICAgMCwwLDExNCw0NywwLDAsMCwxMTQsMTE0LDAsMCwwLDExNCwxNzYsMCwwLAotICAgIDAsMTE0LDYzLDAsMCwwLDQxLDMsMTE0LDcxLDAsMCwwLDExNCwxODAsMCwKLSAgICAwLDAsMTE0LDE5NSwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsCi0gICAgMCwxMTQsNSwwLDAsMCwxMTQsMiwxLDAsMCwxODUsNSwwLDAsMTE1LAotICAgIDEwLDAsMCwwLDAsMiwxOCwxLDEyLDEsOSwxLDE4LDEsMTIyLDI1LAotICAgIDk1LDc2LDExMSw5NywxMDAsMTAxLDExNCw2Niw5NywxMTUsMTA1LDk5LDExNSw0NiwxMDEsMTIwLAotICAgIDEwMSw5OSw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw3OCw0MSw4LDExNCw1NywwLDAsCi0gICAgMCwxMTQsNTYsMCwwLDAsMTE0LDU4LDAsMCwwLDExNCw1OSwwLDAsMCwKLSAgICAxMTQsMjIwLDAsMCwwLDExNCwyLDEsMCwwLDExNCwxODEsMCwwLDAsMTE0LAotICAgIDUsMSwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsCi0gICAgMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDMzLDEsMCwwLDE3Miw1LDAsCi0gICAgMCwxMTUsOCwwLDAsMCwxMiwzLDYsMiwxMiw4LDEyLDgsMTE0LDMzLAotICAgIDEsMCwwLDk5LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLAotICAgIDQsMCwwLDAsNjQsMCwwLDAsMTE1LDEwNiwwLDAsMCwxMDEsMCwwLAotICAgIDkwLDEsMCwxMDAsMCwwLDkwLDIsMCwxMDAsMSwwLDEwMCwyLDAsMTMyLAotICAgIDAsMCw5MCwzLDAsMTAwLDMsMCwxMDAsNCwwLDEzMiwwLDAsOTAsNCwKLSAgICAwLDEwMCw1LDAsMTAwLDYsMCwxMzIsMCwwLDkwLDUsMCwxMDAsNywwLAotICAgIDEwMCw4LDAsMTMyLDAsMCw5MCw2LDAsMTAwLDksMCwxMDAsMTAsMCwxMzIsCi0gICAgMCwwLDkwLDcsMCwxMDAsMTEsMCwxMDAsMTgsMCwxMDAsMTMsMCwxMDAsMTQsCi0gICAgMCwxMzIsMCwxLDkwLDgsMCwxMDAsMTUsMCwxMDAsMTYsMCwxMzIsMCwwLAotICAgIDkwLDksMCwxMDAsMTcsMCw4Myw0MSwxOSwyMTgsMTIsODMsMTExLDExNywxMTQsOTksCi0gICAgMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCw5OSwyLDAsMCwwLDAsMCwwLDAsCi0gICAgMiwwLDAsMCwxLDAsMCwwLDY3LDAsMCwwLDExNSwxMCwwLDAsCi0gICAgMCwxMTYsMCwwLDEzMCwxLDAsMTAwLDEsMCw4Myw0MSwyLDEyMiwxNzgsNzksCi0gICAgMTEyLDExNiwxMDUsMTExLDExMCw5NywxMDgsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMzIsMTE2LAotICAgIDEwNCw5NywxMTYsMzIsMTE0LDEwMSwxMTYsMTE3LDExNCwxMTAsMTE1LDMyLDExNiwxMDQsMTAxLDMyLAotICAgIDEwOSwxMTEsMTAwLDEwNSwxMDIsMTA1LDk5LDk3LDExNiwxMDUsMTExLDExMCwzMiwxMTYsMTA1LDEwOSwKLSAgICAxMDEsMzIsNDAsOTcsMTEwLDMyLDEwNSwxMTAsMTE2LDQxLDMyLDEwMiwxMTEsMTE0LDMyLDExNiwKLSAgICAxMDQsMTAxLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDExNSwxMTIsMTAxLDk5LDEwNSwKLSAgICAxMDIsMTA1LDEwMSwxMDAsMzIsMTEyLDk3LDExNiwxMDQsNDQsMzIsMTE5LDEwNCwxMDEsMTE0LDEwMSwKLSAgICAzMiwxMTIsOTcsMTE2LDEwNCwzMiwxMDUsMTE1LDMyLDk3LDMyLDExNSwxMTYsMTE0LDQ2LDEwLAotICAgIDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDgyLDk3LDEwNSwxMTUsMTAxLDExNSwzMiwKLSAgICA3Myw3OSw2OSwxMTQsMTE0LDExMSwxMTQsMzIsMTE5LDEwNCwxMDEsMTEwLDMyLDExNiwxMDQsMTAxLAotICAgIDMyLDExMiw5NywxMTYsMTA0LDMyLDk5LDk3LDExMCwxMTAsMTExLDExNiwzMiw5OCwxMDEsMzIsCi0gICAgMTA0LDk3LDExMCwxMDAsMTA4LDEwMSwxMDAsNDYsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsCi0gICAgMzIsNzgsNDEsMSwyMTgsNyw3Myw3OSw2OSwxMTQsMTE0LDExMSwxMTQsNDEsMiwxMTQsCi0gICAgNzEsMCwwLDAsMTE0LDM1LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LAotICAgIDAsMCwwLDExNCw1LDAsMCwwLDIxOCwxMCwxMTIsOTcsMTE2LDEwNCw5NSwxMDksCi0gICAgMTE2LDEwNSwxMDksMTAxLDE5OCw1LDAsMCwxMTUsMiwwLDAsMCwwLDYsMTIyLAotICAgIDIzLDgzLDExMSwxMTcsMTE0LDk5LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTEyLDk3LAotICAgIDExNiwxMDQsOTUsMTA5LDExNiwxMDUsMTA5LDEwMSw5OSwyLDAsMCwwLDAsMCwwLAotICAgIDAsMiwwLDAsMCwzLDAsMCwwLDY3LDAsMCwwLDExNSwyMCwwLAotICAgIDAsMCwxMDUsMSwwLDEyNCwwLDAsMTA2LDAsMCwxMjQsMSwwLDEzMSwxLAotICAgIDAsMTAwLDEsMCw1NCw4Myw0MSwyLDk3LDE3MCwxLDAsMCw3OSwxMTIsMTE2LAotICAgIDEwNSwxMTEsMTEwLDk3LDEwOCwzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwzMiwxMTQsMTAxLDExNiwKLSAgICAxMTcsMTE0LDExMCwxMDUsMTEwLDEwMywzMiw5NywzMiwxMDksMTAxLDExNiw5NywxMDAsOTcsMTE2LAotICAgIDk3LDMyLDEwMCwxMDUsOTksMTE2LDMyLDEwMiwxMTEsMTE0LDMyLDExNiwxMDQsMTAxLDMyLDExNSwKLSAgICAxMTIsMTAxLDk5LDEwNSwxMDIsMTA1LDEwMSwxMDAsMzIsMTEyLDk3LDExNiwxMDQsMTAsMzIsMzIsCi0gICAgMzIsMzIsMzIsMzIsMzIsMzIsMTE2LDExMSwzMiw5OCwxMjEsMzIsMTE2LDEwNCwxMDEsMzIsCi0gICAgMTEyLDk3LDExNiwxMDQsMzIsNDAsMTE1LDExNiwxMTQsNDEsNDYsMTAsMzIsMzIsMzIsMzIsCi0gICAgMzIsMzIsMzIsMzIsODAsMTExLDExNSwxMTUsMTA1LDk4LDEwOCwxMDEsMzIsMTA3LDEwMSwxMjEsCi0gICAgMTE1LDU4LDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDQ1LDMyLDM5LDEwOSwxMTYsCi0gICAgMTA1LDEwOSwxMDEsMzksMzIsNDAsMTA5LDk3LDExMCwxMDAsOTcsMTE2LDExMSwxMTQsMTIxLDQxLAotICAgIDMyLDEwNSwxMTUsMzIsMTE2LDEwNCwxMDEsMzIsMTEwLDExNywxMDksMTAxLDExNCwxMDUsOTksMzIsCi0gICAgMTE2LDEwNSwxMDksMTAxLDExNSwxMTYsOTcsMTA5LDExMiwzMiwxMTEsMTAyLDMyLDEwOCw5NywxMTUsCi0gICAgMTE2LDMyLDExNSwxMTEsMTE3LDExNCw5OSwxMDEsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsCi0gICAgMzIsMzIsMzIsOTksMTExLDEwMCwxMDEsMzIsMTA5LDExMSwxMDAsMTA1LDEwMiwxMDUsOTksOTcsCi0gICAgMTE2LDEwNSwxMTEsMTEwLDU5LDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDQ1LDMyLAotICAgIDM5LDExNSwxMDUsMTIyLDEwMSwzOSwzMiw0MCwxMTEsMTEyLDExNiwxMDUsMTExLDExMCw5NywxMDgsCi0gICAgNDEsMzIsMTA1LDExNSwzMiwxMTYsMTA0LDEwMSwzMiwxMTUsMTA1LDEyMiwxMDEsMzIsMTA1LDExMCwKLSAgICAzMiw5OCwxMjEsMTE2LDEwMSwxMTUsMzIsMTExLDEwMiwzMiwxMTYsMTA0LDEwMSwzMiwxMTUsMTExLAotICAgIDExNywxMTQsOTksMTAxLDMyLDk5LDExMSwxMDAsMTAxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLAotICAgIDMyLDMyLDMyLDMyLDczLDEwOSwxMTIsMTA4LDEwMSwxMDksMTAxLDExMCwxMTYsMTA1LDExMCwxMDMsCi0gICAgMzIsMTE2LDEwNCwxMDUsMTE1LDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDMyLDk3LDEwOCwxMDgsCi0gICAgMTExLDExOSwxMTUsMzIsMTE2LDEwNCwxMDEsMzIsMTA4LDExMSw5NywxMDAsMTAxLDExNCwzMiwxMTYsCi0gICAgMTExLDMyLDExNCwxMDEsOTcsMTAwLDMyLDk4LDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsMTAxLDMyLAotICAgIDEwMiwxMDUsMTA4LDEwMSwxMTUsNDYsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsODIsCi0gICAgOTcsMTA1LDExNSwxMDEsMTE1LDMyLDczLDc5LDY5LDExNCwxMTQsMTExLDExNCwzMiwxMTksMTA0LAotICAgIDEwMSwxMTAsMzIsMTE2LDEwNCwxMDEsMzIsMTEyLDk3LDExNiwxMDQsMzIsOTksOTcsMTEwLDExMCwKLSAgICAxMTEsMTE2LDMyLDk4LDEwMSwzMiwxMDQsOTcsMTEwLDEwMCwxMDgsMTAxLDEwMCw0NiwxMCwzMiwKLSAgICAzMiwzMiwzMiwzMiwzMiwzMiwzMiwxMTQsMTg0LDAsMCwwLDQxLDEsMTE0LDM2LAotICAgIDEsMCwwLDQxLDIsMTE0LDcxLDAsMCwwLDExNCwzNSwwLDAsMCwxMTQsCisgICAgNSwwLDAsMCwyMTgsOCwxMDMsMTAxLDExNiw5NSw5OSwxMTEsMTAwLDEwMSwyMjgsNCwKKyAgICAwLDAsMTE1LDIsMCwwLDAsMCw0LDEyMiwyNCw2NiwxMTcsMTA1LDEwOCwxMTYsCisgICAgMTA1LDExMCw3MywxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMTQsNDYsMTAzLDEwMSwxMTYsOTUsOTksCisgICAgMTExLDEwMCwxMDEsOTksMiwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsCisgICAgMSwwLDAsMCw2NywwLDAsMCwxMTUsNCwwLDAsMCwxMDAsMSwwLAorICAgIDgzLDQxLDIsMTIyLDU2LDgyLDEwMSwxMTYsMTE3LDExNCwxMTAsMzIsNzgsMTExLDExMCwxMDEsCisgICAgMzIsOTcsMTE1LDMyLDk4LDExNywxMDUsMTA4LDExNiw0NSwxMDUsMTEwLDMyLDEwOSwxMTEsMTAwLAorICAgIDExNywxMDgsMTAxLDExNSwzMiwxMDAsMTExLDMyLDExMCwxMTEsMTE2LDMyLDEwNCw5NywxMTgsMTAxLAorICAgIDMyLDExNSwxMTEsMTE3LDExNCw5OSwxMDEsMzIsOTksMTExLDEwMCwxMDEsNDYsNzgsMTE0LDQsCisgICAgMCwwLDAsNDEsMiwxMTQsMTAsMSwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsCiAgICAgNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTAsCi0gICAgMTEyLDk3LDExNiwxMDQsOTUsMTE1LDExNiw5NywxMTYsMTE1LDIwNiw1LDAsMCwxMTUsMiwKLSAgICAwLDAsMCwwLDExLDEyMiwyMyw4MywxMTEsMTE3LDExNCw5OSwxMDEsNzYsMTExLDk3LAotICAgIDEwMCwxMDEsMTE0LDQ2LDExMiw5NywxMTYsMTA0LDk1LDExNSwxMTYsOTcsMTE2LDExNSw5OSw0LAotICAgIDAsMCwwLDAsMCwwLDAsNCwwLDAsMCwzLDAsMCwwLDY3LAotICAgIDAsMCwwLDExNSwxNiwwLDAsMCwxMjQsMCwwLDEwNiwwLDAsMTI0LDIsCi0gICAgMCwxMjQsMywwLDEzMSwyLDAsODMsNDEsMSwxMjIsMjI4LDc5LDExMiwxMTYsMTA1LAotICAgIDExMSwxMTAsOTcsMTA4LDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDMyLDExOSwxMDQsMTA1LDk5LAotICAgIDEwNCwzMiwxMTksMTE0LDEwNSwxMTYsMTAxLDExNSwzMiwxMDAsOTcsMTE2LDk3LDMyLDQwLDk4LAotICAgIDEyMSwxMTYsMTAxLDExNSw0MSwzMiwxMTYsMTExLDMyLDk3LDMyLDEwMiwxMDUsMTA4LDEwMSwzMiwKLSAgICAxMTIsOTcsMTE2LDEwNCwzMiw0MCw5NywzMiwxMTUsMTE2LDExNCw0MSw0NiwxMCwxMCwzMiwKLSAgICAzMiwzMiwzMiwzMiwzMiwzMiwzMiw3MywxMDksMTEyLDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LAotICAgIDEwNSwxMTAsMTAzLDMyLDExNiwxMDQsMTA1LDExNSwzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwzMiwKLSAgICA5NywxMDgsMTA4LDExMSwxMTksMTE1LDMyLDEwMiwxMTEsMTE0LDMyLDExNiwxMDQsMTAxLDMyLDExOSwKLSAgICAxMTQsMTA1LDExNiwxMDUsMTEwLDEwMywzMiwxMTEsMTAyLDMyLDk4LDEyMSwxMTYsMTAxLDk5LDExMSwKLSAgICAxMDAsMTAxLDMyLDEwMiwxMDUsMTA4LDEwMSwxMTUsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsCi0gICAgMzIsMzIsMzIsODQsMTA0LDEwMSwzMiwxMTUsMTExLDExNywxMTQsOTksMTAxLDMyLDExMiw5NywKLSAgICAxMTYsMTA0LDMyLDEwNSwxMTUsMzIsMTEwLDEwMSwxMDEsMTAwLDEwMSwxMDAsMzIsMTA1LDExMCwzMiwKLSAgICAxMTEsMTE0LDEwMCwxMDEsMTE0LDMyLDExNiwxMTEsMzIsOTksMTExLDExNCwxMTQsMTAxLDk5LDExNiwKLSAgICAxMDgsMTIxLDMyLDExNiwxMTQsOTcsMTEwLDExNSwxMDIsMTAxLDExNCwzMiwxMTIsMTAxLDExNCwxMDksCi0gICAgMTA1LDExNSwxMTUsMTA1LDExMSwxMTAsMTE1LDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLAotICAgIDQxLDEsMjE4LDgsMTE1LDEwMSwxMTYsOTUsMTAwLDk3LDExNiw5Nyw0MSw0LDExNCw3MSwKLSAgICAwLDAsMCwxMTQsMTQyLDAsMCwwLDkwLDEwLDk5LDk3LDk5LDEwNCwxMDEsOTUsCi0gICAgMTEyLDk3LDExNiwxMDQsMTE0LDUzLDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LAotICAgIDAsMCwwLDExNCw1LDAsMCwwLDIxOCwxNSw5NSw5OSw5Nyw5OSwxMDQsMTAxLAotICAgIDk1LDk4LDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsMTAxLDIxOSw1LDAsMCwxMTUsMiwwLAotICAgIDAsMCwwLDgsMTIyLDI4LDgzLDExMSwxMTcsMTE0LDk5LDEwMSw3NiwxMTEsOTcsMTAwLAotICAgIDEwMSwxMTQsNDYsOTUsOTksOTcsOTksMTA0LDEwMSw5NSw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsCi0gICAgMTAwLDEwMSw5OSwzLDAsMCwwLDAsMCwwLDAsMywwLDAsMCwxLAotICAgIDAsMCwwLDY3LDAsMCwwLDExNSw0LDAsMCwwLDEwMCwxLDAsODMsCi0gICAgNDEsMiwxMjIsMTUwLDc5LDExMiwxMTYsMTA1LDExMSwxMTAsOTcsMTA4LDMyLDEwOSwxMDEsMTE2LAotICAgIDEwNCwxMTEsMTAwLDMyLDExOSwxMDQsMTA1LDk5LDEwNCwzMiwxMTksMTE0LDEwNSwxMTYsMTAxLDExNSwKLSAgICAzMiwxMDAsOTcsMTE2LDk3LDMyLDQwLDk4LDEyMSwxMTYsMTAxLDExNSw0MSwzMiwxMTYsMTExLAotICAgIDMyLDk3LDMyLDEwMiwxMDUsMTA4LDEwMSwzMiwxMTIsOTcsMTE2LDEwNCwzMiw0MCw5NywzMiwKLSAgICAxMTUsMTE2LDExNCw0MSw0NiwxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw3MywKLSAgICAxMDksMTEyLDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDEwNSwxMTAsMTAzLDMyLDExNiwxMDQsMTA1LDExNSwKLSAgICAzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwzMiw5NywxMDgsMTA4LDExMSwxMTksMTE1LDMyLDEwMiwKLSAgICAxMTEsMTE0LDMyLDExNiwxMDQsMTAxLDMyLDExOSwxMTQsMTA1LDExNiwxMDUsMTEwLDEwMywzMiwxMTEsCi0gICAgMTAyLDMyLDk4LDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsMTAxLDMyLDEwMiwxMDUsMTA4LDEwMSwxMTUsCi0gICAgNDYsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsNzgsMTE0LDQsMCwwLDAsCi0gICAgNDEsMywxMTQsNzEsMCwwLDAsMTE0LDM1LDAsMCwwLDExNCw1MywwLDAsCi0gICAgMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwKLSAgICAxMTQsMzgsMSwwLDAsMjI5LDUsMCwwLDExNSwwLDAsMCwwLDEyMiwyMSwKLSAgICA4MywxMTEsMTE3LDExNCw5OSwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDExNSwxMDEsMTE2LAotICAgIDk1LDEwMCw5NywxMTYsOTcsOTksMiwwLDAsMCwwLDAsMCwwLDUsMCwKLSAgICAwLDAsMTYsMCwwLDAsNjcsMCwwLDAsMTE1LDEwNSwwLDAsMCwxMjQsCi0gICAgMCwwLDEwNiwwLDAsMTI0LDEsMCwxMzEsMSwwLDEyNSwyLDAsMTIxLDE5LAotICAgIDAsMTI0LDAsMCwxMDYsMSwwLDEyNCwyLDAsMTMxLDEsMCwxMjUsMywwLAotICAgIDg3LDExMCw1OCwwLDQsMTE2LDIsMCwxMDcsMTAsMCwxMTQsOTQsMCwxLDEyNSwKLSAgICA0LDAsMSwxMjIsMjYsMCwxMTYsMywwLDEwMCwxLDAsMTAwLDIsMCwxMjQsCi0gICAgMSwwLDEzMSwxLDEsMTI0LDQsMCwxMzAsMiwwLDg3LDg5LDEwMCwzLDAsCi0gICAgMTAwLDMsMCwxMjUsNCwwLDEyNiw0LDAsODgsMTEwLDEsMCw4OCwxMTYsNCwKLSAgICAwLDEyNCwzLDAsMTMxLDEsMCw4Myw0MSw0LDEyMiw1Miw2NywxMTEsMTEwLDk5LAotICAgIDExNCwxMDEsMTE2LDEwMSwzMiwxMDUsMTA5LDExMiwxMDgsMTAxLDEwOSwxMDEsMTEwLDExNiw5NywxMTYsCi0gICAgMTA1LDExMSwxMTAsMzIsMTExLDEwMiwzMiw3MywxMTAsMTE1LDExMiwxMDEsOTksMTE2LDc2LDExMSwKLSAgICA5NywxMDAsMTAxLDExNCw0NiwxMDMsMTAxLDExNiw5NSwxMTUsMTExLDExNywxMTQsOTksMTAxLDQ2LAotICAgIDEyMiwzOSwxMTUsMTExLDExNywxMTQsOTksMTAxLDMyLDExMCwxMTEsMTE2LDMyLDk3LDExOCw5NywKLSAgICAxMDUsMTA4LDk3LDk4LDEwOCwxMDEsMzIsMTE2LDEwNCwxMTQsMTExLDExNywxMDMsMTA0LDMyLDEwMywKLSAgICAxMDEsMTE2LDk1LDEwMCw5NywxMTYsOTcsNDAsNDEsMTE0LDY3LDAsMCwwLDc4LDQxLAotICAgIDUsMTE0LDIzOSwwLDAsMCwyMTgsOCwxMDMsMTAxLDExNiw5NSwxMDAsOTcsMTE2LDk3LAotICAgIDExNCw0MCwwLDAsMCwxMTQsMTU0LDAsMCwwLDExNCwyMDQsMCwwLDAsNDEsCi0gICAgNSwxMTQsNzEsMCwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsMzUsMCwwLDAsCi0gICAgMTE0LDIwMiwwLDAsMCwyMTgsMywxMDEsMTIwLDk5LDExNCw0LDAsMCwwLDExNCwKLSAgICA0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwxNywxLDAsMCwyMzYsNSwKLSAgICAwLDAsMTE1LDE0LDAsMCwwLDAsMiwxNSwxLDMsMSwxOSwxLDE4LAotICAgIDEsOSwxLDMxLDEsMTIyLDIzLDgzLDExMSwxMTcsMTE0LDk5LDEwMSw3NiwxMTEsOTcsCi0gICAgMTAwLDEwMSwxMTQsNDYsMTAzLDEwMSwxMTYsOTUsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSwyMTgsOSwKLSAgICA5NSwxMTEsMTEyLDExNiwxMDUsMTA5LDEwNSwxMjIsMTAxLDExNCwyOSwwLDAsMCw5OSwzLAotICAgIDAsMCwwLDEsMCwwLDAsNCwwLDAsMCw5LDAsMCwwLDY3LAotICAgIDAsMCwwLDExNSwzMSwwLDAsMCwxMTYsMCwwLDExNiwxLDAsMTI0LDEsCi0gICAgMCwxMjQsMiwwLDEwMCwxLDAsMTAwLDIsMCwxMDAsMywwLDEwMCw0LDAsCi0gICAgMTI0LDMsMCwxMzEsNCwyLDgzLDQxLDUsMTIyLDEzMCw4MiwxMDEsMTE2LDExNywxMTQsCi0gICAgMTEwLDMyLDExNiwxMDQsMTAxLDMyLDk5LDExMSwxMDAsMTAxLDMyLDExMSw5OCwxMDYsMTAxLDk5LAotICAgIDExNiwzMiw5OSwxMTEsMTA5LDExMiwxMDUsMTA4LDEwMSwxMDAsMzIsMTAyLDExNCwxMTEsMTA5LDMyLAotICAgIDExNSwxMTEsMTE3LDExNCw5OSwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsCi0gICAgMzIsODQsMTA0LDEwMSwzMiwzOSwxMDAsOTcsMTE2LDk3LDM5LDMyLDk3LDExNCwxMDMsMTE3LAotICAgIDEwOSwxMDEsMTEwLDExNiwzMiw5OSw5NywxMTAsMzIsOTgsMTAxLDMyLDk3LDExMCwxMjEsMzIsCi0gICAgMTExLDk4LDEwNiwxMDEsOTksMTE2LDMyLDExNiwxMjEsMTEyLDEwMSwzMiwxMTYsMTA0LDk3LDExNiwKLSAgICAzMiw5OSwxMTEsMTA5LDExMiwxMDUsMTA4LDEwMSw0MCw0MSwzMiwxMTUsMTE3LDExMiwxMTIsMTExLAotICAgIDExNCwxMTYsMTE1LDQ2LDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDExNCwxNzYsMCwKLSAgICAwLDAsMjE4LDEyLDEwMCwxMTEsMTEwLDExNiw5NSwxMDUsMTEwLDEwNCwxMDEsMTE0LDEwNSwxMTYsCi0gICAgODQsMTE0LDExOCwwLDAsMCw0MSwyLDExNCwxMTQsMCwwLDAsMjE4LDcsOTksCi0gICAgMTExLDEwOSwxMTIsMTA1LDEwOCwxMDEsNDEsNCwxMTQsNzEsMCwwLDAsMTE0LDUzLDAsCi0gICAgMCwwLDExNCwzNSwwLDAsMCwxMTQsNDIsMSwwLDAsMTE0LDQsMCwwLAotICAgIDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDE0LDExNSwxMTEsMTE3LAotICAgIDExNCw5OSwxMDEsOTUsMTE2LDExMSw5NSw5OSwxMTEsMTAwLDEwMSwyNDYsNSwwLDAsMTE1LAotICAgIDQsMCwwLDAsMCw1LDE4LDEsMTIyLDI3LDgzLDExMSwxMTcsMTE0LDk5LDEwMSwKLSAgICA3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSw5NSwxMTYsMTExLAotICAgIDk1LDk5LDExMSwxMDAsMTAxLDk5LDIsMCwwLDAsMCwwLDAsMCwxMCwwLAotICAgIDAsMCw0MywwLDAsMCw2NywwLDAsMCwxMTUsMTc3LDEsMCwwLDEyNCwKLSAgICAwLDAsMTA2LDAsMCwxMjQsMSwwLDEzMSwxLDAsMTI1LDIsMCwxMDAsMSwKLSAgICAwLDEyNSwzLDAsMTIxLDE2LDAsMTE2LDEsMCwxMjQsMiwwLDEzMSwxLDAsCi0gICAgMTI1LDQsMCw4NywxMTAsMjQsMCw0LDExNiwyLDAsMTA3LDEwLDAsMTE0LDYzLAotICAgIDAsMSwxLDEsMTAwLDEsMCwxMjUsNCwwLDg5LDExMCwyMDIsMCw4OCwxMjEsCi0gICAgMTksMCwxMjQsMCwwLDEwNiwzLDAsMTI0LDIsMCwxMzEsMSwwLDEyNSw1LAotICAgIDAsODcsMTEwLDE4LDAsNCwxMTYsNCwwLDEwNywxMCwwLDExNCwxMDMsMCwxLAotICAgIDEsMSw4OSwxMTAsMTYyLDAsODgsMTE2LDUsMCwxMjQsNSwwLDEwMCwyLDAsCi0gICAgMjUsMTMxLDEsMCwxMjUsMywwLDEyMSwxOSwwLDEyNCwwLDAsMTA2LDYsMCwKLSAgICAxMjQsNCwwLDEzMSwxLDAsMTI1LDYsMCw4NywxMTAsMTgsMCw0LDExNiw3LAotICAgIDAsMTA3LDEwLDAsMTE0LDE1OSwwLDEsMSwxLDg5LDExMCwxMDYsMCw4OCwxMjEsCi0gICAgMzQsMCwxMTYsOCwwLDEyNCw2LDAsMTAwLDMsMCwxMjQsNSwwLDEwMCw0LAotICAgIDAsMTI0LDEsMCwxMDAsNSwwLDEyNCw0LDAsMTMxLDEsMywxMjUsNywwLAotICAgIDg3LDExMCwyNCwwLDQsMTE2LDksMCwxMTYsMTAsMCwxMDIsMiwwLDEwNywxMCwKLSAgICAwLDExNCwyMjAsMCwxLDEsMSw4OSwxMTAsNDUsMCw4OCwxMTYsMTEsMCwxMDAsCi0gICAgNiwwLDEyNCw0LDAsMTI0LDIsMCwxMzEsMywwLDEsMTE2LDEyLDAsMTI0LAotICAgIDcsMCwxMDAsNCwwLDEyNCwxLDAsMTAwLDcsMCwxMjQsNCwwLDEwMCw4LAotICAgIDAsMTI0LDIsMCwxMzEsMSwzLDgzLDEyNCwwLDAsMTA2LDYsMCwxMjQsMiwKLSAgICAwLDEzMSwxLDAsMTI1LDgsMCwxMjQsMCwwLDEwNiwxMywwLDEyNCw4LDAsCi0gICAgMTI0LDIsMCwxMzEsMiwwLDEyNSw5LDAsMTE2LDExLDAsMTAwLDksMCwxMjQsCi0gICAgMiwwLDEzMSwyLDAsMSwxMTYsMTQsMCwxMDYsMTUsMCwxMiwxMTQsMTczLDEsCi0gICAgMTI0LDQsMCwxMDAsMSwwLDEwNyw5LDAsMTE0LDE3MywxLDEyNCwzLDAsMTAwLAotICAgIDEsMCwxMDcsOSwwLDExNCwxNzMsMSwxMTYsMTYsMCwxMjQsOSwwLDEyNCwzLAotICAgIDAsMTE2LDE3LDAsMTI0LDgsMCwxMzEsMSwwLDEzMSwzLDAsMTI1LDYsMCwKLSAgICAxMjEsMzYsMCwxMjQsMCwwLDEwNiwxOCwwLDEyNCwyLDAsMTI0LDQsMCwxMjQsCi0gICAgNiwwLDEzMSwzLDAsMSwxMTYsMTEsMCwxMDAsMTAsMCwxMjQsNCwwLDEzMSwKLSAgICAyLDAsMSw4NywxMTMsMTczLDEsNCwxMTYsMiwwLDEwNywxMCwwLDExNCwxNjksCi0gICAgMSwxLDEsMSw4OSwxMTMsMTczLDEsODgsMTEwLDAsMCwxMjQsOSwwLDgzLAotICAgIDQxLDExLDEyMiwxOTAsNjcsMTExLDExMCw5OSwxMTQsMTAxLDExNiwxMDEsMzIsMTA1LDEwOSwxMTIsCi0gICAgMTA4LDEwMSwxMDksMTAxLDExMCwxMTYsOTcsMTE2LDEwNSwxMTEsMTEwLDMyLDExMSwxMDIsMzIsNzMsCi0gICAgMTEwLDExNSwxMTIsMTAxLDk5LDExNiw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTAzLDEwMSwxMTYsCi0gICAgOTUsOTksMTExLDEwMCwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsCi0gICAgODIsMTAxLDk3LDEwMCwxMDUsMTEwLDEwMywzMiwxMTEsMTAyLDMyLDk4LDEyMSwxMTYsMTAxLDk5LAotICAgIDExMSwxMDAsMTAxLDMyLDExNCwxMDEsMTEzLDExNywxMDUsMTE0LDEwMSwxMTUsMzIsMTEyLDk3LDExNiwKLSAgICAxMDQsOTUsMTE1LDExNiw5NywxMTYsMTE1LDMyLDExNiwxMTEsMzIsOTgsMTAxLDMyLDEwNSwxMDksCi0gICAgMTEyLDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDEwMSwxMDAsNDYsMzIsODQsMTExLDMyLDExOSwxMTQsCi0gICAgMTA1LDExNiwxMDEsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsOTgsMTIxLDExNiwxMDEsCi0gICAgOTksMTExLDEwMCwxMDEsNDQsMzIsMTE1LDEwMSwxMTYsOTUsMTAwLDk3LDExNiw5NywzMiwxMDksCi0gICAgMTE3LDExNSwxMTYsMzIsOTcsMTA4LDExNSwxMTEsMzIsOTgsMTAxLDMyLDEwNSwxMDksMTEyLDEwOCwKLSAgICAxMDEsMTA5LDEwMSwxMTAsMTE2LDEwMSwxMDAsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsCi0gICAgMzIsMzIsNzgsMTE0LDE4NCwwLDAsMCwxMTQsMTg4LDAsMCwwLDExNCw2NywwLAotICAgIDAsMCwxMTQsMzUsMCwwLDAsMTIyLDEzLDEyMywxMjUsMzIsMTA5LDk3LDExNiw5OSwKLSAgICAxMDQsMTAxLDExNSwzMiwxMjMsMTI1LDExNCwxNDEsMCwwLDAsMTE0LDE0MiwwLDAsMCwKLSAgICAxMjIsMTksOTksMTExLDEwMCwxMDEsMzIsMTExLDk4LDEwNiwxMDEsOTksMTE2LDMyLDEwMiwxMTQsCi0gICAgMTExLDEwOSwzMiwxMjMsMTI1LDEyMiwxMCwxMTksMTE0LDExMSwxMTYsMTAxLDMyLDEyMywzMywxMTQsCi0gICAgMTI1LDQxLDE5LDExNCwyMzksMCwwLDAsMTE0LDEzMiwwLDAsMCwxMTQsMTIzLDAsCi0gICAgMCwwLDExNCwzNywxLDAsMCwxMTQsMzUsMSwwLDAsMTE0LDE0LDAsMCwKLSAgICAwLDExNCw0MCwxLDAsMCwxMTQsNDAsMCwwLDAsMTE0LDE5MSwwLDAsMCwKLSAgICAxMTQsMTU0LDAsMCwwLDExNCwxODcsMCwwLDAsMTE0LDE1MywwLDAsMCwxMTQsCi0gICAgMTk2LDAsMCwwLDExNCw0NSwxLDAsMCwxMTQsNywwLDAsMCwyMTgsMTksCi0gICAgMTAwLDExMSwxMTAsMTE2LDk1LDExOSwxMTQsMTA1LDExNiwxMDEsOTUsOTgsMTIxLDExNiwxMDEsOTksCi0gICAgMTExLDEwMCwxMDEsMTE0LDE5OSwwLDAsMCwxMTQsMzEsMCwwLDAsMTE0LDM5LDEsCi0gICAgMCwwLDQxLDEwLDExNCw3MSwwLDAsMCwxMTQsMTU5LDAsMCwwLDExNCwxNDIsCi0gICAgMCwwLDAsMTE0LDE4OSwwLDAsMCwxMTQsMTQxLDAsMCwwLDIxOCwyLDExNSwKLSAgICAxMTYsMTE0LDUzLDAsMCwwLDIxOCwxMCw5OCwxMjEsMTE2LDEwMSwxMTUsOTUsMTAwLDk3LAotICAgIDExNiw5NywxMTQsMjAyLDAsMCwwLDkwLDExLDk5LDExMSwxMDAsMTAxLDk1LDExMSw5OCwKLSAgICAxMDYsMTAxLDk5LDExNiwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwKLSAgICAwLDAsMCwxMTQsMTYsMSwwLDAsMjU0LDUsMCwwLDExNSw3OCwwLDAsCi0gICAgMCwwLDcsMTUsMSw2LDEsMywxLDE2LDEsMTMsMSwxMSwyLDMsCi0gICAgMSwxOSwxLDEzLDEsNSwyLDE2LDEsMywxLDE5LDEsMTMsMSw1LAotICAgIDIsMywxLDksMSwxMiwxLDEzLDEsMTksMSw1LDIsOSwxLDcsCi0gICAgMSwxNSwxLDYsMSw3LDEsMTUsMSwxOCwxLDEzLDEsMjIsMSwxMiwKLSAgICAxLDksMSwxNSwxLDMsMSwxOSwxLDE3LDEsMTMsMSw4LDEsMTIyLAotICAgIDIxLDgzLDExMSwxMTcsMTE0LDk5LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTAzLDEwMSwKLSAgICAxMTYsOTUsOTksMTExLDEwMCwxMDEsNzgsMTE0LDEzOSwwLDAsMCw0MSwxMCwxMTQsNTcsCi0gICAgMCwwLDAsMTE0LDU2LDAsMCwwLDExNCw1OCwwLDAsMCwxMTQsMzYsMSwKLSAgICAwLDAsMTE0LDM3LDEsMCwwLDExNCwzOSwxLDAsMCwxMTQsMzgsMSwwLAotICAgIDAsMTE0LDE3LDEsMCwwLDExNCw0NSwxLDAsMCwxMTQsMTYsMSwwLDAsCi0gICAgMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LAotICAgIDUsMCwwLDAsMTE0LDM0LDEsMCwwLDE5Niw1LDAsMCwxMTUsMTQsMCwKLSAgICAwLDAsMTIsMiwxMiw4LDEyLDEzLDEyLDEwLDEyLDcsMTIsMTAsMTgsOCwKLSAgICAxMTQsMzQsMSwwLDAsOTksMCwwLDAsMCwwLDAsMCwwLDAsMCwKLSAgICAwLDAsNCwwLDAsMCwwLDAsMCwwLDExNSwxMTIsMCwwLDAsMTAxLAotICAgIDAsMCw5MCwxLDAsMTAwLDAsMCw5MCwyLDAsMTAwLDEsMCw5MCwzLAotICAgIDAsMTAwLDIsMCwxMDAsMywwLDEzMiwwLDAsOTAsNCwwLDEwMCw0LDAsCi0gICAgMTAwLDUsMCwxMzIsMCwwLDkwLDUsMCwxMDAsNiwwLDEwMCw3LDAsMTMyLAotICAgIDAsMCw5MCw2LDAsMTAxLDcsMCwxMzUsMCwwLDEwMiwxLDAsMTAwLDgsCi0gICAgMCwxMDAsOSwwLDEzNCwwLDAsMTMxLDEsMCw5MCw4LDAsMTAxLDcsMCwKLSAgICAxMDAsMTAsMCwxMDAsMTEsMCwxMzIsMCwwLDEzMSwxLDAsOTAsOSwwLDEwMCwKLSAgICAxMiwwLDEwMCwxMywwLDEzMiwwLDAsOTAsMTAsMCwxMzUsMCwwLDgzLDQxLAotICAgIDE0LDIxOCwxMCw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsMTIyLDEwMyw2NiwKLSAgICA5NywxMTUsMTAxLDMyLDEwMiwxMDUsMTA4LDEwMSwzMiwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDMyLAotICAgIDk5LDEwOCw5NywxMTUsMTE1LDMyLDExOSwxMDQsMTA1LDk5LDEwNCwzMiwxMDUsMTA5LDExMiwxMDgsCi0gICAgMTAxLDEwOSwxMDEsMTEwLDExNiwxMTUsMzIsMTE2LDEwNCwxMDEsMzIsMTA4LDExMSw5NywxMDAsMTAxLAotICAgIDExNCwzMiwxMTIsMTE0LDExMSwxMTYsMTExLDk5LDExMSwxMDgsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwKLSAgICAxMDAsMTE1LDMyLDExNiwxMDQsOTcsMTE2LDEwLDMyLDMyLDMyLDMyLDExNCwxMDEsMTEzLDExNywKLSAgICAxMDUsMTE0LDEwMSwzMiwxMDIsMTA1LDEwOCwxMDEsMzIsMTE1LDEyMSwxMTUsMTE2LDEwMSwxMDksMzIsCi0gICAgMTE3LDExNSw5NywxMDMsMTAxLDQ2LDk5LDMsMCwwLDAsMCwwLDAsMCwzLAotICAgIDAsMCwwLDIsMCwwLDAsNjcsMCwwLDAsMTE1LDIyLDAsMCwwLAotICAgIDEyNCwxLDAsMTI0LDAsMCw5NSwwLDAsMTI0LDIsMCwxMjQsMCwwLDk1LAotICAgIDEsMCwxMDAsMSwwLDgzLDQxLDIsMTIyLDc1LDY3LDk3LDk5LDEwNCwxMDEsMzIsCi0gICAgMTE2LDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTEwLDk3LDEwOSwxMDEsMzIsCi0gICAgOTcsMTEwLDEwMCwzMiwxMTYsMTA0LDEwMSwzMiwxMTIsOTcsMTE2LDEwNCwzMiwxMTYsMTExLDMyLAotICAgIDExNiwxMDQsMTAxLDMyLDEwMiwxMDUsMTA4LDEwMSwzMiwxMDIsMTExLDExNywxMTAsMTAwLDMyLDk4LAotICAgIDEyMSwzMiwxMTYsMTA0LDEwMSwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwxMDIsMTA1LAotICAgIDExMCwxMDAsMTAxLDExNCw0Niw3OCw0MSwyLDExNCw2NywwLDAsMCwxMTQsMzUsMCwKLSAgICAwLDAsNDEsMywxMTQsNzEsMCwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsMzUsCi0gICAgMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwKLSAgICAwLDAsMTE0LDcyLDAsMCwwLDU1LDYsMCwwLDExNSw0LDAsMCwwLAotICAgIDAsMyw5LDEsMTIyLDE5LDcwLDEwNSwxMDgsMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCwKLSAgICA0Niw5NSw5NSwxMDUsMTEwLDEwNSwxMTYsOTUsOTUsOTksMiwwLDAsMCwwLDAsCi0gICAgMCwwLDIsMCwwLDAsMiwwLDAsMCw2NywwLDAsMCwxMTUsMzQsCi0gICAgMCwwLDAsMTI0LDAsMCwxMDYsMCwwLDEyNCwxLDAsMTA2LDAsMCwxMDcsCi0gICAgMiwwLDExMSwzMywwLDEyNCwwLDAsMTA2LDEsMCwxMjQsMSwwLDEwNiwxLAotICAgIDAsMTA3LDIsMCw4Myw0MSwxLDc4LDQxLDIsMTE0LDIyNSwwLDAsMCwxMTQsCi0gICAgNjMsMCwwLDAsNDEsMiwxMTQsNzEsMCwwLDAsMTE0LDIyOCwwLDAsMCwKLSAgICAxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsCi0gICAgMjMwLDAsMCwwLDYxLDYsMCwwLDExNSw0LDAsMCwwLDAsMSwxOCwKLSAgICAxLDEyMiwxNyw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsOTUsOTUsCi0gICAgMTAxLDExMyw5NSw5NSw5OSwxLDAsMCwwLDAsMCwwLDAsMSwwLDAsCi0gICAgMCwzLDAsMCwwLDY3LDAsMCwwLDExNSwyNiwwLDAsMCwxMTYsMCwKLSAgICAwLDEyNCwwLDAsMTA2LDEsMCwxMzEsMSwwLDExNiwwLDAsMTI0LDAsMCwKLSAgICAxMDYsMiwwLDEzMSwxLDAsNjUsODMsNDEsMSw3OCw0MSwzLDIxOCw0LDEwNCwKLSAgICA5NywxMTUsMTA0LDExNCw2NywwLDAsMCwxMTQsMzUsMCwwLDAsNDEsMSwxMTQsCi0gICAgNzEsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsCi0gICAgMCwwLDAsMjE4LDgsOTUsOTUsMTA0LDk3LDExNSwxMDQsOTUsOTUsNjUsNiwwLAotICAgIDAsMTE1LDIsMCwwLDAsMCwxLDEyMiwxOSw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsCi0gICAgOTcsMTAwLDEwMSwxMTQsNDYsOTUsOTUsMTA0LDk3LDExNSwxMDQsOTUsOTUsOTksMiwwLAotICAgIDAsMCwwLDAsMCwwLDIsMCwwLDAsMywwLDAsMCwzLDAsCi0gICAgMCwwLDExNSwyMiwwLDAsMCwxMTYsMCwwLDExNiwxLDAsMTI0LDAsMCwKLSAgICAxMzEsMiwwLDEwNiwyLDAsMTI0LDEsMCwxMzEsMSwwLDgzLDQxLDEsMTIyLAotICAgIDEwMCw3NiwxMTEsOTcsMTAwLDMyLDk3LDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEwMiwKLSAgICAxMTQsMTExLDEwOSwzMiw5NywzMiwxMDIsMTA1LDEwOCwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsCi0gICAgMzIsMzIsMzIsMzIsMzIsODQsMTA0LDEwNSwxMTUsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsCi0gICAgMzIsMTA1LDExNSwzMiwxMDAsMTAxLDExMiwxMTQsMTAxLDk5LDk3LDExNiwxMDEsMTAwLDQ2LDMyLAotICAgIDMyLDg1LDExNSwxMDEsMzIsMTAxLDEyMCwxMDEsOTksOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsCi0gICAgNDAsNDEsMzIsMTA1LDExMCwxMTUsMTE2LDEwMSw5NywxMDAsNDYsMTAsMTAsMzIsMzIsMzIsCi0gICAgMzIsMzIsMzIsMzIsMzIsNDEsMywyMTgsNSwxMTUsMTE3LDExMiwxMDEsMTE0LDExNCw0OSwKLSAgICAxLDAsMCwxMTQsNSwxLDAsMCw0MSwyLDExNCw3MSwwLDAsMCwxMTQsCi0gICAgMTU5LDAsMCwwLDQxLDEsMTE0LDIyNSwwLDAsMCwxMTQsNCwwLDAsMCwKLSAgICAxMTQsNSwwLDAsMCwxMTQsNSwxLDAsMCw2OCw2LDAsMCwxMTUsMiwKLSAgICAwLDAsMCwwLDEwLDEyMiwyMiw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwKLSAgICAxMTQsNDYsMTA4LDExMSw5NywxMDAsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTksMiwwLAotICAgIDAsMCwwLDAsMCwwLDIsMCwwLDAsMSwwLDAsMCw2NywwLAotICAgIDAsMCwxMTUsNywwLDAsMCwxMjQsMCwwLDEwNiwwLDAsODMsNDEsMSwKLSAgICAxMjIsNTgsODIsMTAxLDExNiwxMTcsMTE0LDExMCwzMiwxMTYsMTA0LDEwMSwzMiwxMTIsOTcsMTE2LAotICAgIDEwNCwzMiwxMTYsMTExLDMyLDExNiwxMDQsMTAxLDMyLDExNSwxMTEsMTE3LDExNCw5OSwxMDEsMzIsCi0gICAgMTAyLDEwNSwxMDgsMTAxLDMyLDk3LDExNSwzMiwxMDIsMTExLDExNywxMTAsMTAwLDMyLDk4LDEyMSwKLSAgICAzMiwxMTYsMTA0LDEwMSwzMiwxMDIsMTA1LDExMCwxMDAsMTAxLDExNCw0Niw0MSwxLDExNCwzNSwKLSAgICAwLDAsMCw0MSwyLDExNCw3MSwwLDAsMCwxMTQsMTU5LDAsMCwwLDExNCwKLSAgICA0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwyMzksCi0gICAgMCwwLDAsODAsNiwwLDAsMTE1LDIsMCwwLDAsMCwzLDEyMiwyMywKLSAgICA3MCwxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTAzLDEwMSwxMTYsOTUsMTAyLAotICAgIDEwNSwxMDgsMTAxLDExMCw5NywxMDksMTAxLDk5LDIsMCwwLDAsMCwwLDAsMCwKLSAgICAzLDAsMCwwLDgsMCwwLDAsNjcsMCwwLDAsMTE1LDQxLDAsMCwKLSAgICAwLDExNiwwLDAsMTA2LDEsMCwxMjQsMSwwLDEwMCwxLDAsMTMxLDIsMCwKLSAgICAxNDMsMTcsMCwxMjUsMiwwLDEyNCwyLDAsMTA2LDIsMCwxMzEsMCwwLDgzLAotICAgIDg3LDEwMCwyLDAsODEsODgsMTAwLDIsMCw4Myw0MSwzLDEyMiwzOSw4MiwxMDEsCi0gICAgMTE2LDExNywxMTQsMTEwLDMyLDExNiwxMDQsMTAxLDMyLDEwMCw5NywxMTYsOTcsMzIsMTAyLDExNCwKLSAgICAxMTEsMTA5LDMyLDExMiw5NywxMTYsMTA0LDMyLDk3LDExNSwzMiwxMTQsOTcsMTE5LDMyLDk4LAotICAgIDEyMSwxMTYsMTAxLDExNSw0NiwyMTgsMSwxMTQsNzgsNDEsMywxMTQsNDksMCwwLDAsCi0gICAgMTE0LDUwLDAsMCwwLDkwLDQsMTE0LDEwMSw5NywxMDAsNDEsMywxMTQsNzEsMCwKLSAgICAwLDAsMTE0LDM1LDAsMCwwLDExNCw1NCwwLDAsMCwxMTQsNCwwLDAsCi0gICAgMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsNDAsMSwwLDAsCi0gICAgODUsNiwwLDAsMTE1LDQsMCwwLDAsMCwyLDIxLDEsMTIyLDE5LDcwLAotICAgIDEwNSwxMDgsMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCw0NiwxMDMsMTAxLDExNiw5NSwxMDAsOTcsCi0gICAgMTE2LDk3LDQxLDExLDExNCw1NywwLDAsMCwxMTQsNTYsMCwwLDAsMTE0LDU4LAotICAgIDAsMCwwLDExNCw1OSwwLDAsMCwxMTQsNzIsMCwwLDAsMTE0LDIzMCwwLAotICAgIDAsMCwxMTQsNTEsMSwwLDAsMTE0LDE1NywwLDAsMCwxMTQsNSwxLDAsCi0gICAgMCwxMTQsMjM5LDAsMCwwLDExNCw0MCwxLDAsMCwxMTQsNCwwLDAsMCwKLSAgICAxMTQsNCwwLDAsMCw0MSwxLDExNCwyMjUsMCwwLDAsMTE0LDUsMCwwLAotICAgIDAsMTE0LDQ5LDEsMCwwLDUwLDYsMCwwLDExNSwxNCwwLDAsMCwxMiwKLSAgICAzLDYsMiwxMiw2LDEyLDQsMTIsMywyNCwxMiwxOCw1LDExNCw0OSwxLAotICAgIDAsMCw5OSwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCw0LAotICAgIDAsMCwwLDY0LDAsMCwwLDExNSw2NCwwLDAsMCwxMDEsMCwwLDkwLAotICAgIDEsMCwxMDAsMCwwLDkwLDIsMCwxMDAsMSwwLDkwLDMsMCwxMDAsMiwKLSAgICAwLDEwMCwzLDAsMTMyLDAsMCw5MCw0LDAsMTAwLDQsMCwxMDAsNSwwLAotICAgIDEzMiwwLDAsOTAsNSwwLDEwMCw2LDAsMTAwLDcsMCwxMDAsOCwwLDEwMCwKLSAgICA5LDAsMTMyLDAsMSw5MCw2LDAsMTAwLDEwLDAsODMsNDEsMTEsMTE0LDksCi0gICAgMSwwLDAsMTIyLDYyLDY3LDExMSwxMTAsOTksMTE0LDEwMSwxMTYsMTAxLDMyLDEwNSwxMDksCi0gICAgMTEyLDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDk3LDExNiwxMDUsMTExLDExMCwzMiwxMTEsMTAyLDMyLAotICAgIDgzLDExMSwxMTcsMTE0LDk5LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsMzIsMTE3LDExNSwxMDUsCi0gICAgMTEwLDEwMywzMiwxMTYsMTA0LDEwMSwzMiwxMDIsMTA1LDEwOCwxMDEsMzIsMTE1LDEyMSwxMTUsMTE2LAotICAgIDEwMSwxMDksNDYsOTksMiwwLDAsMCwwLDAsMCwwLDMsMCwwLDAsCi0gICAgMywwLDAsMCw2NywwLDAsMCwxMTUsMzYsMCwwLDAsMTE2LDAsMCwKLSAgICAxMjQsMSwwLDEzMSwxLDAsMTI1LDIsMCwxMDUsMiwwLDEyNCwyLDAsMTA2LAotICAgIDEsMCwxMDAsMSwwLDU0LDEyNCwyLDAsMTA2LDIsMCwxMDAsMiwwLDU0LAotICAgIDgzLDQxLDMsMTIyLDMzLDgyLDEwMSwxMTYsMTE3LDExNCwxMTAsMzIsMTE2LDEwNCwxMDEsMzIsCi0gICAgMTA5LDEwMSwxMTYsOTcsMTAwLDk3LDExNiw5NywzMiwxMDIsMTExLDExNCwzMiwxMTYsMTA0LDEwMSwKLSAgICAzMiwxMTIsOTcsMTE2LDEwNCw0NiwxMTQsMTg0LDAsMCwwLDExNCwxODUsMCwwLDAsCi0gICAgNDEsMywxMTQsMzksMCwwLDAsMjE4LDgsMTE1LDExNiw5NSwxMDksMTE2LDEwNSwxMDksCi0gICAgMTAxLDkwLDcsMTE1LDExNiw5NSwxMTUsMTA1LDEyMiwxMDEsNDEsMywxMTQsNzEsMCwwLAotICAgIDAsMTE0LDM1LDAsMCwwLDExNCw0NywxLDAsMCwxMTQsNCwwLDAsMCwKLSAgICAxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMzcsMSwwLDAsOTUsCi0gICAgNiwwLDAsMTE1LDQsMCwwLDAsMCwyLDEyLDEsMTIyLDI3LDgzLDExMSwKLSAgICAxMTcsMTE0LDk5LDEwMSw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTEyLAotICAgIDk3LDExNiwxMDQsOTUsMTE1LDExNiw5NywxMTYsMTE1LDk5LDQsMCwwLDAsMCwwLAotICAgIDAsMCw1LDAsMCwwLDUsMCwwLDAsNjcsMCwwLDAsMTE1LDM0LAotICAgIDAsMCwwLDExNiwwLDAsMTI0LDEsMCwxMzEsMSwwLDEyNSw0LDAsMTI0LAotICAgIDAsMCwxMDYsMSwwLDEyNCwyLDAsMTI0LDMsMCwxMDAsMSwwLDEyNCw0LAotICAgIDAsMTMxLDIsMSw4Myw0MSwyLDc4LDIxOCw1LDk1LDEwOSwxMTEsMTAwLDEwMSw0MSwKLSAgICAyLDExNCwxNDUsMCwwLDAsMTE0LDM4LDEsMCwwLDQxLDUsMTE0LDcxLDAsCi0gICAgMCwwLDExNCwxNDIsMCwwLDAsMTE0LDE0MSwwLDAsMCwxMTQsNTMsMCwwLAotICAgIDAsMTE0LDQyLDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLAotICAgIDExNCw1LDAsMCwwLDExNCwzOSwxLDAsMCwxMDAsNiwwLDAsMTE1LDQsCi0gICAgMCwwLDAsMCwyLDEyLDEsMTIyLDMyLDgzLDExMSwxMTcsMTE0LDk5LDEwMSw3MCwKLSAgICAxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsOTUsOTksOTcsOTksMTA0LDEwMSwKLSAgICA5NSw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsMTAwLDEwMSwxMTQsNTUsMSwwLDAsMTA1LDE4MiwKLSAgICAxLDAsMCw5OSwzLDAsMCwwLDEsMCwwLDAsOSwwLDAsMCwKLSAgICAxNywwLDAsMCw2NywwLDAsMCwxMTUsNTMsMSwwLDAsMTE2LDAsMCwKLSAgICAxMjQsMSwwLDEzMSwxLDAsOTIsMiwwLDEyNSw0LDAsMTI1LDUsMCwxMDMsCi0gICAgMCwwLDEyNSw2LDAsMTIwLDU0LDAsMTI0LDQsMCwxMTQsODAsMCwxMTYsMSwKLSAgICAwLDEyNCw0LDAsMTMxLDEsMCwxMiwxMTQsODAsMCwxMTYsMCwwLDEyNCw0LAotICAgIDAsMTMxLDEsMCw5MiwyLDAsMTI1LDQsMCwxMjUsNywwLDEyNCw2LDAsCi0gICAgMTA2LDIsMCwxMjQsNywwLDEzMSwxLDAsMSwxMTMsMjcsMCw4NywxMjAsMTMyLAotICAgIDAsMTE2LDMsMCwxMjQsNiwwLDEzMSwxLDAsNjgsOTMsMTE4LDAsMTI1LDcsCi0gICAgMCwxMTYsNCwwLDEyNCw0LDAsMTI0LDcsMCwxMzEsMiwwLDEyNSw0LDAsCi0gICAgMTIxLDE3LDAsMTE2LDUsMCwxMDYsNiwwLDEyNCw0LDAsMTMxLDEsMCwxLAotICAgIDg3LDExMyw5NCwwLDQsMTE2LDcsMCwxMDcsMTAsMCwxMTQsMTU1LDAsMSwxLAotICAgIDEsMTE5LDk0LDAsODksMTEzLDk0LDAsNCwxMTYsOCwwLDEwNywxMCwwLDExNCwKLSAgICAyMTEsMCwxLDEyNSw4LDAsMSwxMjIsMjUsMCwxMTYsOSwwLDEwMCwxLDAsCi0gICAgMTI0LDQsMCwxMjQsOCwwLDEzMSwzLDAsMSwxMDAsMiwwLDgzLDg3LDg5LAotICAgIDEwMCwyLDAsMTAwLDIsMCwxMjUsOCwwLDEyNiw4LDAsODgsMTEzLDk0LDAsCi0gICAgODgsMTEzLDk0LDAsODcsMTIxLDMzLDAsMTE2LDEwLDAsMTI0LDEsMCwxMjQsMiwKLSAgICAwLDEyNCwzLDAsMTMxLDMsMCwxLDExNiw5LDAsMTAwLDMsMCwxMjQsMSwKLSAgICAwLDEzMSwyLDAsMSw4NywxMTAsNTMsMCw0LDExNiw4LDAsMTA3LDEwLDAsCi0gICAgMTE0LDQ4LDEsMSwxMjUsOCwwLDEsMTIyLDIxLDAsMTE2LDksMCwxMDAsMSwKLSAgICAwLDEyNCwxLDAsMTI0LDgsMCwxMzEsMywwLDEsODcsODksMTAwLDIsMCwKLSAgICAxMDAsMiwwLDEyNSw4LDAsMTI2LDgsMCw4OCwxMTAsMSwwLDg4LDEwMCwyLAotICAgIDAsODMsNDEsNCwxMjIsMjcsODcsMTE0LDEwNSwxMTYsMTAxLDMyLDk4LDEyMSwxMTYsMTAxLAotICAgIDExNSwzMiwxMDAsOTcsMTE2LDk3LDMyLDExNiwxMTEsMzIsOTcsMzIsMTAyLDEwNSwxMDgsMTAxLAotICAgIDQ2LDEyMiwyNyw5OSwxMTEsMTE3LDEwOCwxMDAsMzIsMTEwLDExMSwxMTYsMzIsOTksMTE0LDEwMSwKLSAgICA5NywxMTYsMTAxLDMyLDEyMywzMywxMTQsMTI1LDU4LDMyLDEyMywzMywxMTQsMTI1LDc4LDEyMiwKLSAgICAxMiw5OSwxMTQsMTAxLDk3LDExNiwxMDEsMTAwLDMyLDEyMywzMywxMTQsMTI1LDQxLDExLDExNCwKLSAgICAzOCwwLDAsMCwxMTQsNDYsMCwwLDAsMTE0LDIyNCwwLDAsMCwxMTQsMzMsCi0gICAgMCwwLDAsMTE0LDI4LDAsMCwwLDExNCwzLDAsMCwwLDkwLDUsMTA5LAotICAgIDEwNywxMDAsMTA1LDExNCwyMTgsMTUsNzAsMTA1LDEwOCwxMDEsNjksMTIwLDEwNSwxMTUsMTE2LDExNSwKLSAgICA2OSwxMTQsMTE0LDExMSwxMTQsMTE0LDQwLDAsMCwwLDExNCwxNTMsMCwwLDAsMTE0LAotICAgIDU1LDAsMCwwLDQxLDksMTE0LDcxLDAsMCwwLDExNCwzNSwwLDAsMCwKLSAgICAxMTQsNTMsMCwwLDAsMTE0LDU1LDEsMCwwLDExNCwyMzQsMCwwLDAsMTE0LAotICAgIDEzMSwwLDAsMCwxMTQsMjcsMCwwLDAsMTE0LDIzLDAsMCwwLDExNCw0MSwKLSAgICAxLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLAotICAgIDAsMCwxMTQsMzgsMSwwLDAsMTA1LDYsMCwwLDExNSwzOCwwLDAsMCwKLSAgICAwLDIsMTgsMSw2LDIsMjIsMSwxOCwxLDE3LDIsMTksMSwxNSwxLAotICAgIDMsMSwxNywxLDEzLDIsNywxLDE4LDMsMTYsMSwyNywxLDMsMSwKLSAgICAxNiwxLDE3LDEsMTgsMiwxMjIsMjUsODMsMTExLDExNywxMTQsOTksMTAxLDcwLDEwNSwKLSAgICAxMDgsMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCw0NiwxMTUsMTAxLDExNiw5NSwxMDAsOTcsMTE2LAotICAgIDk3LDc4LDQxLDcsMTE0LDU3LDAsMCwwLDExNCw1NiwwLDAsMCwxMTQsNTgsCi0gICAgMCwwLDAsMTE0LDU5LDAsMCwwLDExNCwzNywxLDAsMCwxMTQsMzksMSwKLSAgICAwLDAsMTE0LDM4LDEsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwKLSAgICAwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCw5LDEsMCwwLAotICAgIDkxLDYsMCwwLDExNSw4LDAsMCwwLDEyLDIsNiwyLDEyLDUsMTIsCi0gICAgNSwxMTQsOSwxLDAsMCw5OSwwLDAsMCwwLDAsMCwwLDAsMCwKLSAgICAwLDAsMCwyLDAsMCwwLDY0LDAsMCwwLDExNSw0NiwwLDAsMCwKLSAgICAxMDEsMCwwLDkwLDEsMCwxMDAsMCwwLDkwLDIsMCwxMDAsMSwwLDkwLAotICAgIDMsMCwxMDAsMiwwLDEwMCwzLDAsMTMyLDAsMCw5MCw0LDAsMTAwLDQsCi0gICAgMCwxMDAsNSwwLDEzMiwwLDAsOTAsNSwwLDEwMCw2LDAsODMsNDEsNywKLSAgICAxMTQsOCwxLDAsMCwxMjIsNDUsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDMyLDExOSwxMDQsCi0gICAgMTA1LDk5LDEwNCwzMiwxMDQsOTcsMTEwLDEwMCwxMDgsMTAxLDExNSwzMiwxMTUsMTExLDExNywxMTQsCi0gICAgOTksMTAxLDEwOCwxMDEsMTE1LDExNSwzMiwxMDIsMTA1LDEwOCwxMDEsMzIsMTA1LDEwOSwxMTIsMTExLAotICAgIDExNCwxMTYsMTE1LDQ2LDk5LDIsMCwwLDAsMCwwLDAsMCw1LDAsMCwKLSAgICAwLDYsMCwwLDAsNjcsMCwwLDAsMTE1LDc2LDAsMCwwLDEyNCwwLAotICAgIDAsMTA2LDAsMCwxMjQsMSwwLDEzMSwxLDAsMTI1LDIsMCwxMjQsMCwwLAotICAgIDEwNiwxLDAsMTI0LDIsMCwxMzEsMSwwLDEyNSwzLDAsMTE2LDIsMCwxMjQsCi0gICAgMywwLDEwMCwxLDAsMTI0LDEsMCwxMDAsMiwwLDEyNCwyLDAsMTMxLDEsCi0gICAgMiwxMjUsNCwwLDExNiwzLDAsMTI0LDQsMCwxMDAsMSwwLDEyNCwxLDAsCi0gICAgMTAwLDMsMCwxMjQsMiwwLDEzMSwxLDIsODMsNDEsNCw3OCwxMTQsNjcsMCwKLSAgICAwLDAsMTE0LDM1LDAsMCwwLDExNCwxNDEsMCwwLDAsNDEsNCwxMTQsMjM5LAotICAgIDAsMCwwLDExNCw0MCwxLDAsMCwxMTQsMTkxLDAsMCwwLDExNCwxOTYsMCwKLSAgICAwLDAsNDEsNSwxMTQsNzEsMCwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsMzUsCi0gICAgMCwwLDAsMTE0LDUzLDAsMCwwLDExNCw0OCwxLDAsMCwxMTQsNCwwLAotICAgIDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMTYsMSwwLAotICAgIDAsMTM4LDYsMCwwLDExNSw4LDAsMCwwLDAsMSwxNSwxLDE1LDEsCi0gICAgMjQsMSwxMjIsMjksODMsMTExLDExNywxMTQsOTksMTAxLDEwOCwxMDEsMTE1LDExNSw3MCwxMDUsCi0gICAgMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTAzLDEwMSwxMTYsOTUsOTksMTExLDEwMCwKKyAgICAxMDMsMTAxLDExNiw5NSwxMTUsMTExLDExNywxMTQsOTksMTAxLDIzNCw0LDAsMCwxMTUsMiwKKyAgICAwLDAsMCwwLDQsMTIyLDI2LDY2LDExNywxMDUsMTA4LDExNiwxMDUsMTEwLDczLDEwOSwKKyAgICAxMTIsMTExLDExNCwxMTYsMTAxLDExNCw0NiwxMDMsMTAxLDExNiw5NSwxMTUsMTExLDExNywxMTQsOTksCiAgICAgMTAxLDk5LDIsMCwwLDAsMCwwLDAsMCwyLDAsMCwwLDEsMCwKICAgICAwLDAsNjcsMCwwLDAsMTE1LDQsMCwwLDAsMTAwLDEsMCw4Myw0MSwKLSAgICAyLDEyMiwzOSw4MiwxMDEsMTE2LDExNywxMTQsMTEwLDMyLDc4LDExMSwxMTAsMTAxLDMyLDk3LAotICAgIDExNSwzMiwxMTYsMTA0LDEwMSwxMTQsMTAxLDMyLDEwNSwxMTUsMzIsMTEwLDExMSwzMiwxMTUsMTExLAotICAgIDExNywxMTQsOTksMTAxLDMyLDk5LDExMSwxMDAsMTAxLDQ2LDc4LDExNCw0LDAsMCwwLAotICAgIDQxLDIsMTE0LDcxLDAsMCwwLDExNCwxNTksMCwwLDAsMTE0LDQsMCwwLAotICAgIDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDE3LDEsMCwwLAotICAgIDE0NCw2LDAsMCwxMTUsMiwwLDAsMCwwLDIsMTIyLDMxLDgzLDExMSwxMTcsCi0gICAgMTE0LDk5LDEwMSwxMDgsMTAxLDExNSwxMTUsNzAsMTA1LDEwOCwxMDEsNzYsMTExLDk3LDEwMCwxMDEsCi0gICAgMTE0LDQ2LDEwMywxMDEsMTE2LDk1LDExNSwxMTEsMTE3LDExNCw5OSwxMDEsNzgsNDEsNiwxMTQsCi0gICAgNTcsMCwwLDAsMTE0LDU2LDAsMCwwLDExNCw1OCwwLDAsMCwxMTQsNTksCi0gICAgMCwwLDAsMTE0LDE2LDEsMCwwLDExNCwxNywxLDAsMCwxMTQsNCwwLAorICAgIDIsMTIyLDUyLDgyLDEwMSwxMTYsMTE3LDExNCwxMTAsMzIsNzAsOTcsMTA4LDExNSwxMDEsMzIsCisgICAgOTcsMTE1LDMyLDk4LDExNywxMDUsMTA4LDExNiw0NSwxMDUsMTEwLDMyLDEwOSwxMTEsMTAwLDExNywKKyAgICAxMDgsMTAxLDExNSwzMiw5NywxMTQsMTAxLDMyLDExMCwxMDEsMTE4LDEwMSwxMTQsMzIsMTEyLDk3LAorICAgIDk5LDEwNyw5NywxMDMsMTAxLDExNSw0Niw3MCwxMTQsNCwwLDAsMCw0MSwyLDExNCwKKyAgICAxMCwxLDAsMCwxMTQsMTU5LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LAorICAgIDAsMCwwLDExNCw1LDAsMCwwLDExNCwyMTksMCwwLDAsMjQwLDQsMCwKKyAgICAwLDExNSwyLDAsMCwwLDAsNCwxMjIsMjYsNjYsMTE3LDEwNSwxMDgsMTE2LDEwNSwKKyAgICAxMTAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDQ2LDEwNSwxMTUsOTUsMTEyLDk3LDk5LAorICAgIDEwNyw5NywxMDMsMTAxLDQxLDE0LDExNCw1NywwLDAsMCwxMTQsNTYsMCwwLDAsCisgICAgMTE0LDU4LDAsMCwwLDExNCw1OSwwLDAsMCwyMTgsMTIsMTE1LDExNiw5NywxMTYsCisgICAgMTA1LDk5LDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDExNCwyMDQsMCwwLDAsMjE4LDExLDk5LAorICAgIDEwOCw5NywxMTUsMTE1LDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDExNCwxMiwxLDAsMCwxMTQsCisgICAgMTMsMSwwLDAsMTE0LDE2MiwwLDAsMCwxMTQsMywxLDAsMCwxMTQsMTQsCisgICAgMSwwLDAsMTE0LDE1LDEsMCwwLDExNCwyMTksMCwwLDAsMTE0LDQsMCwKICAgICAwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLAotICAgIDAsMTE0LDgsMSwwLDAsMTM0LDYsMCwwLDExNSw2LDAsMCwwLDEyLAotICAgIDIsNiwyLDEyLDYsMTE0LDgsMSwwLDAsOTksMCwwLDAsMCwwLAotICAgIDAsMCwwLDAsMCwwLDAsMywwLDAsMCw2NCwwLDAsMCwxMTUsCi0gICAgMTMwLDAsMCwwLDEwMSwwLDAsOTAsMSwwLDEwMCwwLDAsOTAsMiwwLAotICAgIDEwMCwxLDAsOTAsMywwLDEwMCwyLDAsMTAwLDMsMCwxMzIsMCwwLDkwLAotICAgIDQsMCwxMDAsNCwwLDEwMCw1LDAsMTMyLDAsMCw5MCw1LDAsMTAwLDYsCi0gICAgMCwxMDAsNywwLDEzMiwwLDAsOTAsNiwwLDEwMSw3LDAsMTAwLDgsMCwKLSAgICAxMDAsOSwwLDEzMiwwLDAsMTMxLDEsMCw5MCw4LDAsMTAwLDEwLDAsMTAwLAotICAgIDExLDAsMTMyLDAsMCw5MCw5LDAsMTAwLDEyLDAsMTAwLDEzLDAsMTMyLDAsCi0gICAgMCw5MCwxMCwwLDEwMCwxNCwwLDEwMCwxNSwwLDEzMiwwLDAsOTAsMTEsMCwKLSAgICAxMDEsNywwLDEwMCwxNiwwLDEwMCwxNywwLDEzMiwwLDAsMTMxLDEsMCw5MCwKLSAgICAxMiwwLDEwMCwxOCwwLDgzLDQxLDE5LDIxOCwxOSw2OSwxMjAsMTE2LDEwMSwxMTAsMTE1LAotICAgIDEwNSwxMTEsMTEwLDcwLDEwNSwxMDgsMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCwxMjIsOTMsNzYsCi0gICAgMTExLDk3LDEwMCwxMDEsMTE0LDMyLDEwMiwxMTEsMTE0LDMyLDEwMSwxMjAsMTE2LDEwMSwxMTAsMTE1LAotICAgIDEwNSwxMTEsMTEwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNSw0NiwxMCwxMCwzMiwzMiwKLSAgICAzMiwzMiw4NCwxMDQsMTAxLDMyLDk5LDExMSwxMTAsMTE1LDExNiwxMTQsMTE3LDk5LDExNiwxMTEsCi0gICAgMTE0LDMyLDEwNSwxMTUsMzIsMTAwLDEwMSwxMTUsMTA1LDEwMywxMTAsMTAxLDEwMCwzMiwxMTYsMTExLAotICAgIDMyLDExOSwxMTEsMTE0LDEwNywzMiwxMTksMTA1LDExNiwxMDQsMzIsNzAsMTA1LDEwOCwxMDEsNzAsCi0gICAgMTA1LDExMCwxMDAsMTAxLDExNCw0NiwxMCwxMCwzMiwzMiwzMiwzMiw5OSwzLDAsMCwKLSAgICAwLDAsMCwwLDAsMywwLDAsMCwyLDAsMCwwLDY3LDAsMCwKLSAgICAwLDExNSwyMiwwLDAsMCwxMjQsMSwwLDEyNCwwLDAsOTUsMCwwLDEyNCwKLSAgICAyLDAsMTI0LDAsMCw5NSwxLDAsMTAwLDAsMCw4Myw0MSwxLDc4LDQxLAotICAgIDIsMTE0LDY3LDAsMCwwLDExNCwzNSwwLDAsMCw0MSwzLDExNCw3MSwwLAotICAgIDAsMCwxMTQsNjcsMCwwLDAsMTE0LDM1LDAsMCwwLDExNCw0LDAsMCwKLSAgICAwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCw3MiwwLDAsMCwKLSAgICAxNjEsNiwwLDAsMTE1LDQsMCwwLDAsMCwxLDksMSwxMjIsMjgsNjksCi0gICAgMTIwLDExNiwxMDEsMTEwLDExNSwxMDUsMTExLDExMCw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLAotICAgIDEwMSwxMTQsNDYsOTUsOTUsMTA1LDExMCwxMDUsMTE2LDk1LDk1LDk5LDIsMCwwLDAsCi0gICAgMCwwLDAsMCwyLDAsMCwwLDIsMCwwLDAsNjcsMCwwLDAsCi0gICAgMTE1LDM0LDAsMCwwLDEyNCwwLDAsMTA2LDAsMCwxMjQsMSwwLDEwNiwwLAotICAgIDAsMTA3LDIsMCwxMTEsMzMsMCwxMjQsMCwwLDEwNiwxLDAsMTI0LDEsMCwKLSAgICAxMDYsMSwwLDEwNywyLDAsODMsNDEsMSw3OCw0MSwyLDExNCwyMjUsMCwwLAotICAgIDAsMTE0LDYzLDAsMCwwLDQxLDIsMTE0LDcxLDAsMCwwLDExNCwyMjgsMCwKKyAgICAwLDExNCw5LDEsMCwwLDE3Nyw0LDAsMCwxMTUsMjgsMCwwLDAsMTIsCisgICAgNyw2LDIsMTgsOSwzLDEsMjEsOCwzLDEsMTgsMTEsMywxLDIxLAorICAgIDExLDMsMSwyMSw1LDMsMSwyMSw1LDMsMSwxMTQsOSwxLDAsMCwKKyAgICA5OSwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCw1LDAsMCwKKyAgICAwLDY0LDAsMCwwLDExNSwyMTEsMCwwLDAsMTAxLDAsMCw5MCwxLDAsCisgICAgMTAwLDAsMCw5MCwyLDAsMTAwLDEsMCw5MCwzLDAsMTAxLDQsMCwxMDAsCisgICAgMiwwLDEwMCwzLDAsMTMyLDAsMCwxMzEsMSwwLDkwLDUsMCwxMDEsNiwKKyAgICAwLDEwMCw0LDAsMTAwLDQsMCwxMDAsNSwwLDEwMCw2LDAsMTMyLDIsMCwKKyAgICAxMzEsMSwwLDkwLDcsMCwxMDEsNiwwLDEwMCw0LDAsMTAwLDcsMCwxMDAsCisgICAgOCwwLDEzMiwxLDAsMTMxLDEsMCw5MCw4LDAsMTAxLDYsMCwxMDAsOSwKKyAgICAwLDEwMCwxMCwwLDEzMiwwLDAsMTMxLDEsMCw5MCw5LDAsMTAxLDQsMCwKKyAgICAxMDAsMTEsMCwxMDAsMTIsMCwxMzIsMCwwLDEzMSwxLDAsOTAsMTAsMCwxMDEsCisgICAgNiwwLDEwMCwxMywwLDEwMCwxNCwwLDEzMiwwLDAsMTMxLDEsMCw5MCwxMSwKKyAgICAwLDEwMSw2LDAsMTAxLDEyLDAsMTAwLDE1LDAsMTAwLDE2LDAsMTMyLDAsMCwKKyAgICAxMzEsMSwwLDEzMSwxLDAsOTAsMTMsMCwxMDEsNiwwLDEwMSwxMiwwLDEwMCwKKyAgICAxNywwLDEwMCwxOCwwLDEzMiwwLDAsMTMxLDEsMCwxMzEsMSwwLDkwLDE0LAorICAgIDAsMTAxLDYsMCwxMDEsMTIsMCwxMDAsMTksMCwxMDAsMjAsMCwxMzIsMCwwLAorICAgIDEzMSwxLDAsMTMxLDEsMCw5MCwxNSwwLDEwMCw0LDAsODMsNDEsMjEsMjE4LAorICAgIDE0LDcwLDExNCwxMTEsMTIyLDEwMSwxMTAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDEyMiwKKyAgICAxNDIsNzcsMTAxLDExNiw5NywzMiwxMTIsOTcsMTE2LDEwNCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LAorICAgIDExNiwzMiwxMDIsMTExLDExNCwzMiwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCwzMiwxMDksMTExLDEwMCwKKyAgICAxMTcsMTA4LDEwMSwxMTUsNDYsMTAsMTAsMzIsMzIsMzIsMzIsNjUsMTA4LDEwOCwzMiwxMDksCisgICAgMTAxLDExNiwxMDQsMTExLDEwMCwxMTUsMzIsOTcsMTE0LDEwMSwzMiwxMDEsMTA1LDExNiwxMDQsMTAxLAorICAgIDExNCwzMiw5OSwxMDgsOTcsMTE1LDExNSwzMiwxMTEsMTE0LDMyLDExNSwxMTYsOTcsMTE2LDEwNSwKKyAgICA5OSwzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwxMTUsMzIsMTE2LDExMSwzMiw5NywxMTgsMTExLAorICAgIDEwNSwxMDAsMzIsMTE2LDEwNCwxMDEsMzIsMTEwLDEwMSwxMDEsMTAwLDMyLDExNiwxMTEsMTAsMzIsCisgICAgMzIsMzIsMzIsMTA1LDExMCwxMTUsMTE2LDk3LDExMCwxMTYsMTA1LDk3LDExNiwxMDEsMzIsMTE2LAorICAgIDEwNCwxMDEsMzIsOTksMTA4LDk3LDExNSwxMTUsNDYsMTAsMTAsMzIsMzIsMzIsMzIsOTksCisgICAgMSwwLDAsMCwwLDAsMCwwLDEsMCwwLDAsMiwwLDAsMCwKKyAgICA2NywwLDAsMCwxMTUsMTYsMCwwLDAsMTAwLDEsMCwxMDYsMCwwLDEyNCwKKyAgICAwLDAsMTA2LDEsMCwxMzEsMSwwLDgzLDQxLDIsMTIyLDExNSw4MiwxMDEsMTE2LAorICAgIDExNywxMTQsMTEwLDMyLDExNCwxMDEsMTEyLDExNCwzMiwxMDIsMTExLDExNCwzMiwxMTYsMTA0LDEwMSwKKyAgICAzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw0NiwxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwKKyAgICAzMiwzMiw4NCwxMDQsMTAxLDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDMyLDEwNSwxMTUsMzIsCisgICAgMTAwLDEwMSwxMTIsMTE0LDEwMSw5OSw5NywxMTYsMTAxLDEwMCw0NiwzMiwzMiw4NCwxMDQsMTAxLAorICAgIDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDMyLDEwOSw5Nyw5OSwxMDQsMTA1LDExMCwxMDEsMTE0LAorICAgIDEyMSwzMiwxMDAsMTExLDEwMSwxMTUsMzIsMTE2LDEwNCwxMDEsMzIsMTA2LDExMSw5OCwzMiwxMDUsCisgICAgMTE2LDExNSwxMDEsMTA4LDEwMiw0NiwxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwKKyAgICAxMjIsMjIsNjAsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTIzLDMzLDExNCwxMjUsMzIsNDAsCisgICAgMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsNDEsNjIsNDEsMiwxMTQsNDcsMCwwLDAsMTE0LAorICAgIDU3LDAsMCwwLDQxLDEsMjE4LDEsMTA5LDExNCw0LDAsMCwwLDExNCw0LAorICAgIDAsMCwwLDExNCw1LDAsMCwwLDExNCwyMDQsMCwwLDAsMCw1LDAsCisgICAgMCwxMTUsMiwwLDAsMCwwLDcsMTIyLDI2LDcwLDExNCwxMTEsMTIyLDEwMSwxMTAsCisgICAgNzMsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDQ2LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk1LAorICAgIDExNCwxMDEsMTEyLDExNCw3OCw5OSw0LDAsMCwwLDAsMCwwLDAsNCwwLAorICAgIDAsMCw1LDAsMCwwLDY3LDAsMCwwLDExNSw0MiwwLDAsMCwxMTYsCisgICAgMCwwLDEwNiwxLDAsMTI0LDEsMCwxMzEsMSwwLDExNCwzNCwwLDExNiwyLAorICAgIDAsMTI0LDEsMCwxMjQsMCwwLDEwMCwxLDAsMTAwLDIsMCwxMzEsMiwxLAorICAgIDgzLDEwMCwwLDAsODMsMTAwLDAsMCw4Myw0MSwzLDc4LDExNCwyMTcsMCwwLAorICAgIDAsOTAsNiwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCw0MSwzLDExNCwxMDYsMCwwLDAsCisgICAgMTE0LDE2MywwLDAsMCwxMTQsMTc0LDAsMCwwLDQxLDQsMTE0LDEwLDEsMCwKKyAgICAwLDExNCwxNTksMCwwLDAsMTE0LDM1LDAsMCwwLDExNCwxMSwxLDAsMCwKKyAgICAxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsCisgICAgMTIsMSwwLDAsOSw1LDAsMCwxMTUsNiwwLDAsMCwwLDIsMTUsCisgICAgMSwxOSwyLDEyMiwyNCw3MCwxMTQsMTExLDEyMiwxMDEsMTEwLDczLDEwOSwxMTIsMTExLDExNCwKKyAgICAxMTYsMTAxLDExNCw0NiwxMDIsMTA1LDExMCwxMDAsOTUsMTE1LDExMiwxMDEsOTksOTksMywwLAorICAgIDAsMCwwLDAsMCwwLDMsMCwwLDAsMiwwLDAsMCw2NywwLAorICAgIDAsMCwxMTUsMjMsMCwwLDAsMTE2LDAsMCwxMDYsMSwwLDEyNCwxLDAsCisgICAgMTMxLDEsMCwxMTQsMTksMCwxMjQsMCwwLDgzLDEwMCwxLDAsODMsNDEsMiwKKyAgICAxMjIsOTMsNzAsMTA1LDExMCwxMDAsMzIsOTcsMzIsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsCisgICAgMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsCisgICAgMzIsODQsMTA0LDEwNSwxMTUsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMzIsMTA1LDExNSwzMiwKKyAgICAxMDAsMTAxLDExMiwxMTQsMTAxLDk5LDk3LDExNiwxMDEsMTAwLDQ2LDMyLDMyLDg1LDExNSwxMDEsCisgICAgMzIsMTAyLDEwNSwxMTAsMTAwLDk1LDExNSwxMTIsMTAxLDk5LDQwLDQxLDMyLDEwNSwxMTAsMTE1LAorICAgIDExNiwxMDEsOTcsMTAwLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDc4LAorICAgIDQxLDIsMTE0LDEwNiwwLDAsMCwxMTQsMTYzLDAsMCwwLDQxLDMsMTE0LDEwLAorICAgIDEsMCwwLDExNCwxNTksMCwwLDAsMTE0LDM1LDAsMCwwLDExNCw0LDAsCisgICAgMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwxMywxLDAsCisgICAgMCwxNiw1LDAsMCwxMTUsMiwwLDAsMCwwLDcsMTIyLDI2LDcwLDExNCwKKyAgICAxMTEsMTIyLDEwMSwxMTAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDQ2LDEwMiwxMDUsMTEwLAorICAgIDEwMCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5OSwyLDAsMCwwLDAsMCwwLAorICAgIDAsMiwwLDAsMCwxLDAsMCwwLDY3LDAsMCwwLDExNSw0LDAsCisgICAgMCwwLDEwMCwxLDAsODMsNDEsMiwxMjIsNDIsODUsMTE1LDEwMSwzMiwxMDAsMTAxLAorICAgIDEwMiw5NywxMTcsMTA4LDExNiwzMiwxMTUsMTAxLDEwOSw5NywxMTAsMTE2LDEwNSw5OSwxMTUsMzIsCisgICAgMTAyLDExMSwxMTQsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsOTksMTE0LDEwMSw5NywxMTYsCisgICAgMTA1LDExMSwxMTAsNDYsNzgsMTE0LDQsMCwwLDAsNDEsMiwxMTQsMTAsMSwwLAorICAgIDAsMTE0LDE3NywwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwKKyAgICAxMTQsNSwwLDAsMCwxMTQsMjU0LDAsMCwwLDI1LDUsMCwwLDExNSwwLAorICAgIDAsMCwwLDEyMiwyOCw3MCwxMTQsMTExLDEyMiwxMDEsMTEwLDczLDEwOSwxMTIsMTExLDExNCwKKyAgICAxMTYsMTAxLDExNCw0Niw5OSwxMTQsMTAxLDk3LDExNiwxMDEsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwKKyAgICAxMDEsOTksMSwwLDAsMCwwLDAsMCwwLDMsMCwwLDAsNCwwLAorICAgIDAsMCw2NywwLDAsMCwxMTUsOTIsMCwwLDAsMTI0LDAsMCwxMDYsMCwKKyAgICAwLDEwNiwxLDAsMTI1LDEsMCwxMTYsMiwwLDEwNiwzLDAsMTI0LDEsMCwKKyAgICAxMzEsMSwwLDExNSw1NCwwLDExNiw0LDAsMTAwLDEsMCwxMDYsNSwwLDEyNCwKKyAgICAxLDAsMTMxLDEsMCwxMDAsMiwwLDEyNCwxLDAsMTMxLDEsMSwxMzAsMSwKKyAgICAwLDExNiw2LDAsMTE2LDIsMCwxMDYsNywwLDEyNCwxLDAsMTMxLDIsMCwKKyAgICAxMjUsMiwwLDExNiw4LDAsMTI0LDIsMCwxMjQsMCwwLDEwNiw5LDAsMTMxLAorICAgIDIsMCwxLDEwMCwwLDAsODMsNDEsMyw3OCwxMjIsMjcsMTIzLDMzLDExNCwxMjUsCisgICAgMzIsMTA1LDExNSwzMiwxMTAsMTExLDExNiwzMiw5NywzMiwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCwKKyAgICAzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTQsNjcsMCwwLDAsNDEsMTAsMTE0LDIwNywKKyAgICAwLDAsMCwxMTQsNjcsMCwwLDAsMTE0LDEwNiwwLDAsMCwxMTQsMTYzLDAsCisgICAgMCwwLDExNCwxNTQsMCwwLDAsMTE0LDQ3LDAsMCwwLDExNCwxMTQsMCwwLAorICAgIDAsMjE4LDE3LDEwMywxMDEsMTE2LDk1LDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDk1LDExMSw5OCwKKyAgICAxMDYsMTAxLDk5LDExNiwyMTgsNCwxMDEsMTIwLDEwMSw5OSwxMTQsNjMsMCwwLDAsNDEsCisgICAgMywxMTQsMTc4LDAsMCwwLDExNCw2NywwLDAsMCwxMTQsMTkzLDAsMCwwLAorICAgIDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwKKyAgICAyNTUsMCwwLDAsMjksNSwwLDAsMTE1LDEyLDAsMCwwLDAsMiwxMiwKKyAgICAxLDE1LDEsMTgsMSw5LDEsMTgsMSwxMjIsMjYsNzAsMTE0LDExMSwxMjIsMTAxLAorICAgIDExMCw3MywxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMTQsNDYsMTAxLDEyMCwxMDEsOTksOTUsMTA5LAorICAgIDExMSwxMDAsMTE3LDEwOCwxMDEsOTksMiwwLDAsMCwwLDAsMCwwLDIsMCwKKyAgICAwLDAsMywwLDAsMCw2NywwLDAsMCwxMTUsMTMsMCwwLDAsMTE2LAorICAgIDAsMCwxMjQsMCwwLDEyNCwxLDAsMTMxLDIsMCw4Myw0MSwxLDEyMiw5NSwKKyAgICA3NiwxMTEsOTcsMTAwLDMyLDk3LDMyLDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDMyLDEwOSwxMTEsCisgICAgMTAwLDExNywxMDgsMTAxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDg0LAorICAgIDEwNCwxMDUsMTE1LDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDMyLDEwNSwxMTUsMzIsMTAwLDEwMSwKKyAgICAxMTIsMTE0LDEwMSw5OSw5NywxMTYsMTAxLDEwMCw0NiwzMiwzMiw4NSwxMTUsMTAxLDMyLDEwMSwKKyAgICAxMjAsMTAxLDk5LDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDQwLDQxLDMyLDEwNSwxMTAsMTE1LAorICAgIDExNiwxMDEsOTcsMTAwLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDQxLAorICAgIDEsMTE0LDE3OSwwLDAsMCw0MSwyLDExNCwxMCwxLDAsMCwxMTQsMTU5LDAsCiAgICAgMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwKLSAgICAwLDExNCwyMzAsMCwwLDAsMTY1LDYsMCwwLDExNSw0LDAsMCwwLDAsCi0gICAgMSwxOCwxLDEyMiwyNiw2OSwxMjAsMTE2LDEwMSwxMTAsMTE1LDEwNSwxMTEsMTEwLDcwLDEwNSwKLSAgICAxMDgsMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCw0Niw5NSw5NSwxMDEsMTEzLDk1LDk1LDk5LAotICAgIDEsMCwwLDAsMCwwLDAsMCwxLDAsMCwwLDMsMCwwLDAsCi0gICAgNjcsMCwwLDAsMTE1LDI2LDAsMCwwLDExNiwwLDAsMTI0LDAsMCwxMDYsCi0gICAgMSwwLDEzMSwxLDAsMTE2LDAsMCwxMjQsMCwwLDEwNiwyLDAsMTMxLDEsCi0gICAgMCw2NSw4Myw0MSwxLDc4LDQxLDMsMTE0LDUwLDEsMCwwLDExNCw2NywwLAotICAgIDAsMCwxMTQsMzUsMCwwLDAsNDEsMSwxMTQsNzEsMCwwLDAsMTE0LDQsCi0gICAgMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDUxLDEsCi0gICAgMCwwLDE2OSw2LDAsMCwxMTUsMiwwLDAsMCwwLDEsMTIyLDI4LDY5LAotICAgIDEyMCwxMTYsMTAxLDExMCwxMTUsMTA1LDExMSwxMTAsNzAsMTA1LDEwOCwxMDEsNzYsMTExLDk3LDEwMCwKLSAgICAxMDEsMTE0LDQ2LDk1LDk1LDEwNCw5NywxMTUsMTA0LDk1LDk1LDk5LDIsMCwwLDAsCi0gICAgMCwwLDAsMCw0LDAsMCwwLDExLDAsMCwwLDY3LDAsMCwwLAotICAgIDExNSwxODMsMCwwLDAsMTE2LDAsMCwxMjQsMSwwLDEzMSwxLDAsMTQzLDI5LAotICAgIDAsMSwxMTYsMSwwLDExNiwyLDAsMTA2LDMsMCwxMjQsMSwwLDEyNCwwLAotICAgIDAsMTA2LDQsMCwxMzEsMywwLDEyNSwyLDAsODcsMTAwLDEsMCw4MSw4OCwKLSAgICAxMTYsNSwwLDEwMCwyLDAsMTI0LDAsMCwxMDYsNCwwLDEzMSwyLDAsMSwKLSAgICAxMjQsMCwwLDEwNiw2LDAsMTI0LDEsMCwxMzEsMSwwLDEyNSwzLDAsMTI0LAotICAgIDMsMCwxMTQsMTI0LDAsMTE2LDcsMCwxMjQsMiwwLDEwMCwzLDAsMTMxLDIsCi0gICAgMCwxMiwxMTQsMTI0LDAsMTE2LDgsMCwxMjQsMCwwLDEwNiw0LDAsMTMxLDEsCi0gICAgMCwxMDAsNCwwLDI1LDEwMywxLDAsMTI0LDIsMCw5NSw5LDAsMTEwLDAsCi0gICAgMCwxMjQsMCwwLDEyNCwyLDAsOTUsMTAsMCwxMjQsMiwwLDEwNiwxMSwwLAotICAgIDEyNCwyLDAsOTUsMTIsMCwxMjQsMywwLDExNSwxNzksMCwxMjQsMiwwLDEwNiwKLSAgICAxMiwwLDEwNiwxMywwLDEwMCw1LDAsMTMxLDEsMCwxMDAsNCwwLDI1LDEyNCwKLSAgICAyLDAsOTUsMTIsMCwxMTAsMCwwLDEyNCwyLDAsODMsNDEsNiwxMjIsMjUsCi0gICAgNzYsMTExLDk3LDEwMCwzMiw5NywxMTAsMzIsMTAxLDEyMCwxMTYsMTAxLDExMCwxMTUsMTA1LDExMSwKLSAgICAxMTAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDYsNzgsMTIyLDMzLDEwMSwxMjAsMTE2LDEwMSwKLSAgICAxMTAsMTE1LDEwNSwxMTEsMTEwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEwOCwxMTEsOTcsCi0gICAgMTAwLDEwMSwxMDAsMzIsMTAyLDExNCwxMTEsMTA5LDMyLDEyMywzMywxMTQsMTI1LDExNCwyNDcsMCwKLSAgICAwLDAsMTE0LDg0LDAsMCwwLDExNCwxMTYsMCwwLDAsNDEsMTQsMTE0LDY5LAotICAgIDAsMCwwLDExNCwxMTQsMCwwLDAsMTE0LDEwNiwwLDAsMCw5MCwxMiwxMDgsCi0gICAgMTExLDk3LDEwMCw5NSwxMDAsMTIxLDExMCw5NywxMDksMTA1LDk5LDExNCwzNSwwLDAsMCwKLSAgICAxMTQsMTUzLDAsMCwwLDExNCwyMjAsMCwwLDAsMTE0LDYwLDAsMCwwLDExNCwKLSAgICAzOCwwLDAsMCwxMTQsMjQ3LDAsMCwwLDExNCwyMDUsMCwwLDAsMTE0LDU3LAotICAgIDAsMCwwLDExNCwyNTEsMCwwLDAsMTE0LDMyLDAsMCwwLDQxLDQsMTE0LAotICAgIDcxLDAsMCwwLDExNCwxNTksMCwwLDAsMTE0LDE4MCwwLDAsMCwxMTQsMjIwLAorICAgIDAsMTE0LDMsMSwwLDAsMzgsNSwwLDAsMTE1LDIsMCwwLDAsMCwKKyAgICA3LDEyMiwyNiw3MCwxMTQsMTExLDEyMiwxMDEsMTEwLDczLDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLAorICAgIDExNCw0NiwxMDgsMTExLDk3LDEwMCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5OSwyLDAsCisgICAgMCwwLDAsMCwwLDAsMiwwLDAsMCwyLDAsMCwwLDY3LDAsCisgICAgMCwwLDExNSwxMywwLDAsMCwxMTYsMCwwLDEwNiwxLDAsMTI0LDEsMCwKKyAgICAxMzEsMSwwLDgzLDQxLDEsMTIyLDQ1LDgyLDEwMSwxMTYsMTE3LDExNCwxMTAsMzIsMTE2LAorICAgIDEwNCwxMDEsMzIsOTksMTExLDEwMCwxMDEsMzIsMTExLDk4LDEwNiwxMDEsOTksMTE2LDMyLDEwMiwKKyAgICAxMTEsMTE0LDMyLDExNiwxMDQsMTAxLDMyLDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDMyLDEwOSwxMTEsCisgICAgMTAwLDExNywxMDgsMTAxLDQ2LDQxLDIsMTE0LDEwNiwwLDAsMCwxMTQsMjAsMSwwLAorICAgIDAsNDEsMiwxMTQsMTAsMSwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsNCwwLAorICAgIDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMTQsMSwwLAorICAgIDAsNDcsNSwwLDAsMTE1LDIsMCwwLDAsMCw0LDEyMiwyMyw3MCwxMTQsCisgICAgMTExLDEyMiwxMDEsMTEwLDczLDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLDExNCw0NiwxMDMsMTAxLDExNiwKKyAgICA5NSw5OSwxMTEsMTAwLDEwMSw5OSwyLDAsMCwwLDAsMCwwLDAsMiwwLAorICAgIDAsMCwxLDAsMCwwLDY3LDAsMCwwLDExNSw0LDAsMCwwLDEwMCwKKyAgICAxLDAsODMsNDEsMiwxMjIsNTQsODIsMTAxLDExNiwxMTcsMTE0LDExMCwzMiw3OCwxMTEsCisgICAgMTEwLDEwMSwzMiw5NywxMTUsMzIsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsMTA5LDExMSwxMDAsCisgICAgMTE3LDEwOCwxMDEsMTE1LDMyLDEwMCwxMTEsMzIsMTEwLDExMSwxMTYsMzIsMTA0LDk3LDExOCwxMDEsCisgICAgMzIsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSwzMiw5OSwxMTEsMTAwLDEwMSw0Niw3OCwxMTQsNCwKKyAgICAwLDAsMCw0MSwyLDExNCwxMCwxLDAsMCwxMTQsMTU5LDAsMCwwLDExNCwKKyAgICA0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwxNSwKKyAgICAxLDAsMCw1Myw1LDAsMCwxMTUsMiwwLDAsMCwwLDQsMTIyLDI1LAorICAgIDcwLDExNCwxMTEsMTIyLDEwMSwxMTAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDQ2LDEwMywKKyAgICAxMDEsMTE2LDk1LDExNSwxMTEsMTE3LDExNCw5OSwxMDEsOTksMiwwLDAsMCwwLDAsCisgICAgMCwwLDIsMCwwLDAsMiwwLDAsMCw2NywwLDAsMCwxMTUsMTMsCisgICAgMCwwLDAsMTE2LDAsMCwxMDYsMSwwLDEyNCwxLDAsMTMxLDEsMCw4MywKKyAgICA0MSwxLDEyMiw0Niw4MiwxMDEsMTE2LDExNywxMTQsMTEwLDMyLDg0LDExNCwxMTcsMTAxLDMyLAorICAgIDEwNSwxMDIsMzIsMTE2LDEwNCwxMDEsMzIsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsMTA5LDExMSwKKyAgICAxMDAsMTE3LDEwOCwxMDEsMzIsMTA1LDExNSwzMiw5NywzMiwxMTIsOTcsOTksMTA3LDk3LDEwMywKKyAgICAxMDEsNDYsNDEsMiwxMTQsMTA2LDAsMCwwLDkwLDE3LDEwNSwxMTUsOTUsMTAyLDExNCwKKyAgICAxMTEsMTIyLDEwMSwxMTAsOTUsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDQxLDIsMTE0LDEwLAorICAgIDEsMCwwLDExNCwxNTksMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwKKyAgICAwLDAsMTE0LDUsMCwwLDAsMTE0LDIxOSwwLDAsMCw1OSw1LDAsMCwKKyAgICAxMTUsMiwwLDAsMCwwLDQsMTIyLDI1LDcwLDExNCwxMTEsMTIyLDEwMSwxMTAsNzMsCisgICAgMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDQ2LDEwNSwxMTUsOTUsMTEyLDk3LDk5LDEwNyw5NywKKyAgICAxMDMsMTAxLDQxLDE2LDExNCw1NywwLDAsMCwxMTQsNTYsMCwwLDAsMTE0LDU4LAorICAgIDAsMCwwLDExNCw1OSwwLDAsMCwxMTQsMTYsMSwwLDAsMTE0LDIwNCwwLAorICAgIDAsMCwxMTQsMTcsMSwwLDAsMTE0LDEyLDEsMCwwLDExNCwxMywxLDAsCisgICAgMCwxMTQsMjU0LDAsMCwwLDExNCwyNTUsMCwwLDAsMTE0LDMsMSwwLDAsCisgICAgMTE0LDE2NSwwLDAsMCwxMTQsMTQsMSwwLDAsMTE0LDE1LDEsMCwwLDExNCwKKyAgICAyMTksMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsCisgICAgMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDE4LDEsMCwwLDI0Nyw0LDAsCisgICAgMCwxMTUsMzAsMCwwLDAsMTIsNyw2LDIsMTgsOSwzLDEsMjEsNiwKKyAgICAzLDEsMTgsOCwxOCw0LDE4LDksMTgsOSwzLDEsMjEsNSwzLDEsCisgICAgMjEsNSwzLDEsMTE0LDE4LDEsMCwwLDk5LDAsMCwwLDAsMCwwLAorICAgIDAsMCwwLDAsMCwwLDUsMCwwLDAsNjQsMCwwLDAsMTE1LDEyMSwKKyAgICAwLDAsMCwxMDEsMCwwLDkwLDEsMCwxMDAsMCwwLDkwLDIsMCwxMDAsCisgICAgMSwwLDkwLDMsMCwxMDAsMiwwLDkwLDQsMCwxMDAsMywwLDkwLDUsCisgICAgMCwxMDAsNCwwLDkwLDYsMCwxMDEsNywwLDEwMCw1LDAsMTAwLDYsMCwKKyAgICAxMzIsMCwwLDEzMSwxLDAsOTAsOCwwLDEwMSw3LDAsMTAwLDcsMCwxMDAsCisgICAgOCwwLDEzMiwwLDAsMTMxLDEsMCw5MCw5LDAsMTAxLDcsMCwxMDAsOSwKKyAgICAwLDEwMCw5LDAsMTAwLDEwLDAsMTAwLDExLDAsMTMyLDIsMCwxMzEsMSwwLAorICAgIDkwLDEwLDAsMTAxLDcsMCwxMDAsOSwwLDEwMCwxMiwwLDEwMCwxMywwLDEzMiwKKyAgICAxLDAsMTMxLDEsMCw5MCwxMSwwLDEwMCw5LDAsODMsNDEsMTQsMjE4LDIxLAorICAgIDg3LDEwNSwxMTAsMTAwLDExMSwxMTksMTE1LDgyLDEwMSwxMDMsMTA1LDExNSwxMTYsMTE0LDEyMSw3MCwKKyAgICAxMDUsMTEwLDEwMCwxMDEsMTE0LDEyMiw2Miw3NywxMDEsMTE2LDk3LDMyLDExMiw5NywxMTYsMTA0LAorICAgIDMyLDEwMiwxMDUsMTEwLDEwMCwxMDEsMTE0LDMyLDEwMiwxMTEsMTE0LDMyLDEwOSwxMTEsMTAwLDExNywKKyAgICAxMDgsMTAxLDExNSwzMiwxMDAsMTAxLDk5LDEwOCw5NywxMTQsMTAxLDEwMCwzMiwxMDUsMTEwLDMyLAorICAgIDExNiwxMDQsMTAxLDMyLDg3LDEwNSwxMTAsMTAwLDExMSwxMTksMTE1LDMyLDExNCwxMDEsMTAzLDEwNSwKKyAgICAxMTUsMTE2LDExNCwxMjEsNDYsMTIyLDU5LDgzLDExMSwxMDIsMTE2LDExOSw5NywxMTQsMTAxLDkyLAorICAgIDgwLDEyMSwxMTYsMTA0LDExMSwxMTAsOTIsODAsMTIxLDExNiwxMDQsMTExLDExMCw2NywxMTEsMTE0LAorICAgIDEwMSw5MiwxMjMsMTE1LDEyMSwxMTUsOTUsMTE4LDEwMSwxMTQsMTE1LDEwNSwxMTEsMTEwLDEyNSw5MiwKKyAgICA3NywxMTEsMTAwLDExNywxMDgsMTAxLDExNSw5MiwxMjMsMTAyLDExNywxMDgsMTA4LDExMCw5NywxMDksCisgICAgMTAxLDEyNSwxMjIsNjUsODMsMTExLDEwMiwxMTYsMTE5LDk3LDExNCwxMDEsOTIsODAsMTIxLDExNiwKKyAgICAxMDQsMTExLDExMCw5Miw4MCwxMjEsMTE2LDEwNCwxMTEsMTEwLDY3LDExMSwxMTQsMTAxLDkyLDEyMywKKyAgICAxMTUsMTIxLDExNSw5NSwxMTgsMTAxLDExNCwxMTUsMTA1LDExMSwxMTAsMTI1LDkyLDc3LDExMSwxMDAsCisgICAgMTE3LDEwOCwxMDEsMTE1LDkyLDEyMywxMDIsMTE3LDEwOCwxMDgsMTEwLDk3LDEwOSwxMDEsMTI1LDkyLAorICAgIDY4LDEwMSw5OCwxMTcsMTAzLDcwLDk5LDIsMCwwLDAsMCwwLDAsMCwyLAorICAgIDAsMCwwLDExLDAsMCwwLDY3LDAsMCwwLDExNSw2NywwLDAsMCwKKyAgICAxMjEsMjMsMCwxMTYsMCwwLDEwNiwxLDAsMTE2LDAsMCwxMDYsMiwwLDEyNCwKKyAgICAxLDAsMTMxLDIsMCw4Myw4NywxMTAsMzcsMCw0LDExNiwzLDAsMTA3LDEwLAorICAgIDAsMTE0LDYyLDAsMSwxLDEsMTE2LDAsMCwxMDYsMSwwLDExNiwwLDAsCisgICAgMTA2LDQsMCwxMjQsMSwwLDEzMSwyLDAsODMsODksMTEwLDEsMCw4OCwxMDAsCisgICAgMCwwLDgzLDQxLDEsNzgsNDEsNSwyMTgsNyw5NSwxMTksMTA1LDExMCwxMTQsMTAxLAorICAgIDEwMyw5MCw3LDc5LDExMiwxMDEsMTEwLDc1LDEwMSwxMjEsOTAsMTcsNzIsNzUsNjksODksCisgICAgOTUsNjcsODUsODIsODIsNjksNzgsODQsOTUsODUsODMsNjksODIsMTE0LDQwLDAsCisgICAgMCwwLDkwLDE4LDcyLDc1LDY5LDg5LDk1LDc2LDc5LDY3LDY1LDc2LDk1LDc3LAorICAgIDY1LDY3LDcyLDczLDc4LDY5LDQxLDIsMTE0LDEwLDEsMCwwLDIxOCwzLDEwNywKKyAgICAxMDEsMTIxLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwKKyAgICAwLDIxOCwxNCw5NSwxMTEsMTEyLDEwMSwxMTAsOTUsMTE0LDEwMSwxMDMsMTA1LDExNSwxMTYsMTE0LAorICAgIDEyMSw3OCw1LDAsMCwxMTUsOCwwLDAsMCwwLDIsMywxLDIzLDEsCisgICAgMTMsMSwxMjIsMzYsODcsMTA1LDExMCwxMDAsMTExLDExOSwxMTUsODIsMTAxLDEwMywxMDUsMTE1LAorICAgIDExNiwxMTQsMTIxLDcwLDEwNSwxMTAsMTAwLDEwMSwxMTQsNDYsOTUsMTExLDExMiwxMDEsMTEwLDk1LAorICAgIDExNCwxMDEsMTAzLDEwNSwxMTUsMTE2LDExNCwxMjEsOTksMiwwLDAsMCwwLDAsMCwKKyAgICAwLDYsMCwwLDAsMTYsMCwwLDAsNjcsMCwwLDAsMTE1LDE0MiwwLAorICAgIDAsMCwxMjQsMCwwLDEwNiwwLDAsMTE0LDIxLDAsMTI0LDAsMCwxMDYsMSwKKyAgICAwLDEyNSwyLDAsMTEwLDksMCwxMjQsMCwwLDEwNiwyLDAsMTI1LDIsMCwKKyAgICAxMjQsMiwwLDEwNiwzLDAsMTAwLDEsMCwxMjQsMSwwLDEwMCwyLDAsMTE2LAorICAgIDQsMCwxMDYsNSwwLDEwMCwwLDAsMTAwLDMsMCwxMzMsMiwwLDI1LDEzMSwKKyAgICAwLDIsMTI1LDMsMCwxMjEsNDYsMCwxMjQsMCwwLDEwNiw2LDAsMTI0LDMsCisgICAgMCwxMzEsMSwwLDE0MywyNSwwLDEyNSw0LDAsMTE2LDcsMCwxMDYsOCwwLAorICAgIDEyNCw0LDAsMTAwLDQsMCwxMzEsMiwwLDEyNSw1LDAsODcsMTAwLDAsMCwKKyAgICA4MSw4OCw4NywxMTAsMjIsMCw0LDExNiw5LDAsMTA3LDEwLDAsMTE0LDEzNywwLAorICAgIDEsMSwxLDEwMCwwLDAsODMsODksMTEwLDEsMCw4OCwxMjQsNSwwLDgzLAorICAgIDQxLDUsNzgsMTE0LDE1OSwwLDAsMCw5MCwxMSwxMTUsMTIxLDExNSw5NSwxMTgsMTAxLAorICAgIDExNCwxMTUsMTA1LDExMSwxMTAsMTE0LDEzNywwLDAsMCwxMTQsMzAsMCwwLDAsNDEsCisgICAgMTAsMjE4LDExLDY4LDY5LDY2LDg1LDcxLDk1LDY2LDg1LDczLDc2LDY4LDIxOCwxOCwKKyAgICA4Miw2OSw3MSw3Myw4Myw4NCw4Miw4OSw5NSw3NSw2OSw4OSw5NSw2OCw2OSw2NiwKKyAgICA4NSw3MSwyMTgsMTIsODIsNjksNzEsNzMsODMsODQsODIsODksOTUsNzUsNjksODksCisgICAgMTE0LDQ3LDAsMCwwLDExNCw3LDAsMCwwLDIxOCw3LDExOCwxMDEsMTE0LDExNSwKKyAgICAxMDUsMTExLDExMCwxMTQsMjUsMSwwLDAsMTE0LDIzLDEsMCwwLDkwLDEwLDgxLAorICAgIDExNywxMDEsMTE0LDEyMSw4Niw5NywxMDgsMTE3LDEwMSwxMTQsNDAsMCwwLDAsNDEsNiwKKyAgICAxMTQsMTAsMSwwLDAsMTE0LDE1OSwwLDAsMCw5MCwxMiwxMTQsMTAxLDEwMywxMDUsCisgICAgMTE1LDExNiwxMTQsMTIxLDk1LDEwNywxMDEsMTIxLDExNCwyNCwxLDAsMCw5MCw0LDEwNCwKKyAgICAxMDcsMTAxLDEyMSwyMTgsOCwxMDIsMTA1LDEwOCwxMDEsMTEyLDk3LDExNiwxMDQsMTE0LDQsMCwKKyAgICAwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDE2LDk1LDExNSwKKyAgICAxMDEsOTcsMTE0LDk5LDEwNCw5NSwxMTQsMTAxLDEwMywxMDUsMTE1LDExNiwxMTQsMTIxLDg1LDUsCisgICAgMCwwLDExNSwyMiwwLDAsMCwwLDIsOSwxLDEyLDIsOSwxLDE1LAorICAgIDEsMjIsMSwzLDEsMTgsMSwyOCwxLDEzLDEsOSwxLDEyMiwzOCw4NywKKyAgICAxMDUsMTEwLDEwMCwxMTEsMTE5LDExNSw4MiwxMDEsMTAzLDEwNSwxMTUsMTE2LDExNCwxMjEsNzAsMTA1LAorICAgIDExMCwxMDAsMTAxLDExNCw0Niw5NSwxMTUsMTAxLDk3LDExNCw5OSwxMDQsOTUsMTE0LDEwMSwxMDMsCisgICAgMTA1LDExNSwxMTYsMTE0LDEyMSw3OCw5OSw0LDAsMCwwLDAsMCwwLDAsOCwKKyAgICAwLDAsMCwxNCwwLDAsMCw2NywwLDAsMCwxMTUsMTU1LDAsMCwwLAorICAgIDEyNCwwLDAsMTA2LDAsMCwxMjQsMSwwLDEzMSwxLDAsMTI1LDQsMCwxMjQsCisgICAgNCwwLDEwMCwwLDAsMTA3LDgsMCwxMTQsMzEsMCwxMDAsMCwwLDgzLDEyMSwKKyAgICAxNCwwLDExNiwxLDAsMTI0LDQsMCwxMzEsMSwwLDEsODcsMTEwLDIyLDAsCisgICAgNCwxMTYsMiwwLDEwNywxMCwwLDExNCw2OSwwLDEsMSwxLDEwMCwwLDAsCisgICAgODMsODksMTEwLDEsMCw4OCwxMjAsNzgsMCwxMTYsMywwLDEzMSwwLDAsNjgsCisgICAgOTMsNjcsMCw5MiwyLDAsMTI1LDUsMCwxMjUsNiwwLDEyNCw0LDAsMTA2LAorICAgIDQsMCwxMTYsNSwwLDEyNCw2LDAsMTMxLDEsMCwxMzEsMSwwLDExNCw4MCwKKyAgICAwLDExNiw2LDAsMTI0LDEsMCwxMjQsNSwwLDEyNCwxLDAsMTI0LDQsMCwKKyAgICAxMzEsMiwwLDEwMCwxLDAsMTI0LDQsMCwxMzEsMiwxLDEyNSw3LDAsMTI0LAorICAgIDcsMCw4MywxMTMsODAsMCw4NywxMDAsMCwwLDgzLDQxLDIsNzgsMTE0LDIxNywKKyAgICAwLDAsMCw0MSw3LDExNCwzMSwxLDAsMCwxMTQsMzksMCwwLDAsMTE0LAorICAgIDQwLDAsMCwwLDExNCwyNDAsMCwwLDAsMTE0LDIzMCwwLDAsMCwxMTQsMjMxLAorICAgIDAsMCwwLDExNCwxNzQsMCwwLDAsNDEsOCwxMTQsMTAsMSwwLDAsMTE0LAorICAgIDE1OSwwLDAsMCwxMTQsMzUsMCwwLDAsMTE0LDExLDEsMCwwLDExNCwzMCwKKyAgICAxLDAsMCwxMTQsMTcwLDAsMCwwLDExNCwxMjYsMCwwLDAsMTE0LDE3NywwLAorICAgIDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsCisgICAgMCwxMTQsMTIsMSwwLDAsMTAwLDUsMCwwLDExNSwyNCwwLDAsMCwwLAorICAgIDIsMTUsMSwxMiwxLDQsMSwzLDEsMTQsMSwxMywxLDksMSwyMiwKKyAgICAxLDIxLDEsMjEsMSw5LDEsMTIyLDMxLDg3LDEwNSwxMTAsMTAwLDExMSwxMTksMTE1LAorICAgIDgyLDEwMSwxMDMsMTA1LDExNSwxMTYsMTE0LDEyMSw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDQ2LDEwMiwKKyAgICAxMDUsMTEwLDEwMCw5NSwxMTUsMTEyLDEwMSw5OSw5OSwzLDAsMCwwLDAsMCwwLAorICAgIDAsNCwwLDAsMCwzLDAsMCwwLDY3LDAsMCwwLDExNSw0NSwwLAorICAgIDAsMCwxMjQsMCwwLDEwNiwwLDAsMTI0LDEsMCwxMjQsMiwwLDEzMSwyLAorICAgIDAsMTI1LDMsMCwxMjQsMywwLDEwMCwxLDAsMTA3LDksMCwxMTQsMzcsMCwKKyAgICAxMjQsMywwLDEwNiwxLDAsODMsMTAwLDEsMCw4MywxMDAsMSwwLDgzLDQxLAorICAgIDIsMTIyLDEwOCw3MCwxMDUsMTEwLDEwMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMTAsCisgICAgOTcsMTA5LDEwMSwxMDAsMzIsMTA1LDExMCwzMiwxMTYsMTA0LDEwMSwzMiwxMTQsMTAxLDEwMywxMDUsCisgICAgMTE1LDExNiwxMTQsMTIxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDg0LAorICAgIDEwNCwxMDUsMTE1LDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDMyLDEwNSwxMTUsMzIsMTAwLDEwMSwKKyAgICAxMTIsMTE0LDEwMSw5OSw5NywxMTYsMTAxLDEwMCw0NiwzMiwzMiw4NSwxMTUsMTAxLDMyLDEwMSwKKyAgICAxMjAsMTAxLDk5LDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDQwLDQxLDMyLDEwNSwxMTAsMTE1LAorICAgIDExNiwxMDEsOTcsMTAwLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDc4LAorICAgIDQxLDIsMTE0LDEyLDEsMCwwLDExNCwxNzAsMCwwLDAsNDEsNCwxMTQsMTAsCisgICAgMSwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsMzUsMCwwLDAsMTE0LDE3NywwLAorICAgIDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsCisgICAgMCwxMTQsMTMsMSwwLDAsMTE1LDUsMCwwLDExNSw4LDAsMCwwLDAsCisgICAgNywxOCwxLDEyLDEsNywyLDEyMiwzMyw4NywxMDUsMTEwLDEwMCwxMTEsMTE5LDExNSwKKyAgICA4MiwxMDEsMTAzLDEwNSwxMTUsMTE2LDExNCwxMjEsNzAsMTA1LDExMCwxMDAsMTAxLDExNCw0NiwxMDIsCisgICAgMTA1LDExMCwxMDAsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDEsMTIsMTE0LDU3LDAsMCwKKyAgICAwLDExNCw1NiwwLDAsMCwxMTQsNTgsMCwwLDAsMTE0LDU5LDAsMCwwLAorICAgIDExNCwyOCwxLDAsMCwxMTQsMjcsMSwwLDAsMTE0LDI2LDEsMCwwLDExNCwKKyAgICAxNywxLDAsMCwxMTQsMjUsMSwwLDAsMTE0LDMxLDEsMCwwLDExNCwxMiwKKyAgICAxLDAsMCwxMTQsMTMsMSwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwKKyAgICAwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDIyLDEsMCwKKyAgICAwLDY2LDUsMCwwLDExNSwyMCwwLDAsMCwxMiwyLDYsMyw2LDMsCisgICAgNiwyLDYsMiwxOCw3LDE4LDE1LDMsMSwyMSwxNCwzLDEsMTE0LDIyLAorICAgIDEsMCwwLDk5LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLAorICAgIDIsMCwwLDAsNjQsMCwwLDAsMTE1LDY0LDAsMCwwLDEwMSwwLDAsCisgICAgOTAsMSwwLDEwMCwwLDAsOTAsMiwwLDEwMCwxLDAsOTAsMywwLDEwMCwKKyAgICAyLDAsMTAwLDMsMCwxMzIsMCwwLDkwLDQsMCwxMDAsNCwwLDEwMCw1LAorICAgIDAsMTMyLDAsMCw5MCw1LDAsMTAwLDYsMCwxMDAsNywwLDEzMiwwLDAsCisgICAgOTAsNiwwLDEwMSw3LDAsOTAsOCwwLDEwMCw4LDAsODMsNDEsOSwyMTgsCisgICAgMTMsOTUsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDY2LDk3LDExNSwxMDUsOTksMTE1LDEyMiw4MywKKyAgICA2Niw5NywxMTUsMTAxLDMyLDk5LDEwOCw5NywxMTUsMTE1LDMyLDExMSwxMDIsMzIsOTksMTExLAorICAgIDEwOSwxMDksMTExLDExMCwzMiw5OSwxMTEsMTAwLDEwMSwzMiwxMTAsMTAxLDEwMSwxMDAsMTAxLDEwMCwKKyAgICAzMiw5OCwxMjEsMzIsOTgsMTExLDExNiwxMDQsMzIsODMsMTExLDExNywxMTQsOTksMTAxLDc2LAorICAgIDExMSw5NywxMDAsMTAxLDExNCwzMiw5NywxMTAsMTAwLDEwLDMyLDMyLDMyLDMyLDgzLDExMSwKKyAgICAxMTcsMTE0LDk5LDEwMSwxMDgsMTAxLDExNSwxMTUsNzAsMTA1LDEwOCwxMDEsNzYsMTExLDk3LDEwMCwKKyAgICAxMDEsMTE0LDQ2LDk5LDIsMCwwLDAsMCwwLDAsMCw1LDAsMCwwLAorICAgIDMsMCwwLDAsNjcsMCwwLDAsMTE1LDg4LDAsMCwwLDExNiwwLDAsCisgICAgMTI0LDAsMCwxMDYsMSwwLDEyNCwxLDAsMTMxLDEsMCwxMzEsMSwwLDEwMCwKKyAgICAxLDAsMjUsMTI1LDIsMCwxMjQsMiwwLDEwNiwyLDAsMTAwLDIsMCwxMDAsCisgICAgMSwwLDEzMSwyLDAsMTAwLDMsMCwyNSwxMjUsMywwLDEyNCwxLDAsMTA2LAorICAgIDMsMCwxMDAsMiwwLDEzMSwxLDAsMTAwLDQsMCwyNSwxMjUsNCwwLDEyNCwKKyAgICAzLDAsMTAwLDUsMCwxMDcsMiwwLDExMSw4NywwLDEyNCw0LDAsMTAwLDUsCisgICAgMCwxMDcsMywwLDgzLDQxLDYsMTIyLDE0MSw2NywxMTEsMTEwLDk5LDExNCwxMDEsMTE2LAorICAgIDEwMSwzMiwxMDUsMTA5LDExMiwxMDgsMTAxLDEwOSwxMDEsMTEwLDExNiw5NywxMTYsMTA1LDExMSwxMTAsCisgICAgMzIsMTExLDEwMiwzMiw3MywxMTAsMTE1LDExMiwxMDEsOTksMTE2LDc2LDExMSw5NywxMDAsMTAxLAorICAgIDExNCw0NiwxMDUsMTE1LDk1LDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSwzMiw5OCwxMjEsMzIsCisgICAgOTksMTA0LDEwMSw5OSwxMDcsMTA1LDExMCwxMDMsMzIsMTA1LDEwMiwxMCwzMiwzMiwzMiwzMiwKKyAgICAzMiwzMiwzMiwzMiwxMTYsMTA0LDEwMSwzMiwxMTIsOTcsMTE2LDEwNCwzMiwxMTQsMTAxLDExNiwKKyAgICAxMTcsMTE0LDExMCwxMDEsMTAwLDMyLDk4LDEyMSwzMiwxMDMsMTAxLDExNiw5NSwxMDIsMTA1LDEwOCwKKyAgICAxMDEsMTEwLDk3LDEwOSwxMDEsMzIsMTA0LDk3LDExNSwzMiw5NywzMiwxMDIsMTA1LDEwOCwxMDEsCisgICAgMTEwLDk3LDEwOSwxMDEsMzIsMTExLDEwMiwzMiwzOSw5NSw5NSwxMDUsMTEwLDEwNSwxMTYsOTUsCisgICAgOTUsNDYsMTEyLDEyMSwzOSw0NiwxMTQsMjksMCwwLDAsMTE0LDExNiwwLDAsMCwKKyAgICAxMTQsODQsMCwwLDAsMTE0LDExNSwwLDAsMCwxMTQsNzIsMCwwLDAsNDEsCisgICAgNCwxMTQsMzgsMCwwLDAsMTE0LDIzOCwwLDAsMCwxMTQsMzQsMCwwLDAsCisgICAgMTE0LDMyLDAsMCwwLDQxLDUsMTE0LDcxLDAsMCwwLDExNCwxNTksMCwwLAorICAgIDAsMTE0LDEzMSwwLDAsMCw5MCwxMywxMDIsMTA1LDEwOCwxMDEsMTEwLDk3LDEwOSwxMDEsCisgICAgOTUsOTgsOTcsMTE1LDEwMSw5MCw5LDExNiw5NywxMDUsMTA4LDk1LDExMCw5NywxMDksMTAxLAorICAgIDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwKKyAgICAyMTksMCwwLDAsMTM0LDUsMCwwLDExNSw4LDAsMCwwLDAsMywyNSwKKyAgICAxLDIyLDEsMTksMSwxMjIsMjQsOTUsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDY2LDk3LAorICAgIDExNSwxMDUsOTksMTE1LDQ2LDEwNSwxMTUsOTUsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDk5LAorICAgIDIsMCwwLDAsMCwwLDAsMCwyLDAsMCwwLDEsMCwwLDAsCisgICAgNjcsMCwwLDAsMTE1LDQsMCwwLDAsMTAwLDEsMCw4Myw0MSwyLDEyMiwKKyAgICA0Miw4NSwxMTUsMTAxLDMyLDEwMCwxMDEsMTAyLDk3LDExNywxMDgsMTE2LDMyLDExNSwxMDEsMTA5LAorICAgIDk3LDExMCwxMTYsMTA1LDk5LDExNSwzMiwxMDIsMTExLDExNCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LAorICAgIDEwMSwzMiw5OSwxMTQsMTAxLDk3LDExNiwxMDUsMTExLDExMCw0Niw3OCwxMTQsNCwwLDAsCisgICAgMCw0MSwyLDExNCw3MSwwLDAsMCwxMTQsMTc3LDAsMCwwLDExNCw0LDAsCisgICAgMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwyNTQsMCwwLAorICAgIDAsMTQyLDUsMCwwLDExNSwwLDAsMCwwLDEyMiwyNyw5NSw3NiwxMTEsOTcsCisgICAgMTAwLDEwMSwxMTQsNjYsOTcsMTE1LDEwNSw5OSwxMTUsNDYsOTksMTE0LDEwMSw5NywxMTYsMTAxLAorICAgIDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk5LDIsMCwwLDAsMCwwLDAsMCwKKyAgICAzLDAsMCwwLDQsMCwwLDAsNjcsMCwwLDAsMTE1LDc3LDAsMCwKKyAgICAwLDEyNCwwLDAsMTA2LDAsMCwxMjQsMSwwLDEwNiwxLDAsMTMxLDEsMCwKKyAgICAxMjUsMiwwLDEyNCwyLDAsMTAwLDEsMCwxMDcsOCwwLDExNCw1NCwwLDExNiwKKyAgICAyLDAsMTAwLDIsMCwxMDYsMywwLDEyNCwxLDAsMTA2LDEsMCwxMzEsMSwKKyAgICAwLDEzMSwxLDAsMTMwLDEsMCwxMTYsNCwwLDExNiw1LDAsMTI0LDIsMCwKKyAgICAxMjQsMSwwLDEwNiw2LDAsMTMxLDMsMCwxLDEwMCwxLDAsODMsNDEsMywKKyAgICAxMjIsMTksNjksMTIwLDEwMSw5OSwxMTcsMTE2LDEwMSwzMiwxMTYsMTA0LDEwMSwzMiwxMDksMTExLAorICAgIDEwMCwxMTcsMTA4LDEwMSw0Niw3OCwxMjIsNTIsOTksOTcsMTEwLDExMCwxMTEsMTE2LDMyLDEwOCwKKyAgICAxMTEsOTcsMTAwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEyMywzMywxMTQsMTI1LDMyLAorICAgIDExOSwxMDQsMTAxLDExMCwzMiwxMDMsMTAxLDExNiw5NSw5OSwxMTEsMTAwLDEwMSw0MCw0MSwzMiwKKyAgICAxMTQsMTAxLDExNiwxMTcsMTE0LDExMCwxMTUsMzIsNzgsMTExLDExMCwxMDEsNDEsNywxMTQsMTQsCisgICAgMSwwLDAsMTE0LDU3LDAsMCwwLDExNCwxNTQsMCwwLDAsMTE0LDQ3LDAsCisgICAgMCwwLDExNCwxMTQsMCwwLDAsMTE0LDIxLDEsMCwwLDExNCw2MywwLDAsCisgICAgMCw0MSwzLDExNCw3MSwwLDAsMCwxMTQsMTc4LDAsMCwwLDExNCwxOTMsMCwKKyAgICAwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLAorICAgIDAsMTE0LDI1NSwwLDAsMCwxNDUsNSwwLDAsMTE1LDEwLDAsMCwwLDAsCisgICAgMiwxOCwxLDEyLDEsOSwxLDE1LDEsMTIyLDI1LDk1LDc2LDExMSw5NywxMDAsCisgICAgMTAxLDExNCw2Niw5NywxMTUsMTA1LDk5LDExNSw0NiwxMDEsMTIwLDEwMSw5OSw5NSwxMDksMTExLAorICAgIDEwMCwxMTcsMTA4LDEwMSw3OCw0MSw5LDExNCw1NywwLDAsMCwxMTQsNTYsMCwwLAorICAgIDAsMTE0LDU4LDAsMCwwLDExNCw1OSwwLDAsMCwxMTQsMjE5LDAsMCwwLAorICAgIDExNCwyNTQsMCwwLDAsMTE0LDI1NSwwLDAsMCwxMTQsMTc5LDAsMCwwLDExNCwKKyAgICAzLDEsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LAorICAgIDAsMCwwLDExNCw1LDAsMCwwLDExNCwzMiwxLDAsMCwxMjksNSwwLAorICAgIDAsMTE1LDEwLDAsMCwwLDEyLDMsNiwyLDEyLDgsMTIsMywxMiw4LAorICAgIDExNCwzMiwxLDAsMCw5OSwwLDAsMCwwLDAsMCwwLDAsMCwwLAorICAgIDAsMCw0LDAsMCwwLDY0LDAsMCwwLDExNSwxMDYsMCwwLDAsMTAxLAorICAgIDAsMCw5MCwxLDAsMTAwLDAsMCw5MCwyLDAsMTAwLDEsMCwxMDAsMiwKKyAgICAwLDEzMiwwLDAsOTAsMywwLDEwMCwzLDAsMTAwLDQsMCwxMzIsMCwwLAorICAgIDkwLDQsMCwxMDAsNSwwLDEwMCw2LDAsMTMyLDAsMCw5MCw1LDAsMTAwLAorICAgIDcsMCwxMDAsOCwwLDEzMiwwLDAsOTAsNiwwLDEwMCw5LDAsMTAwLDEwLAorICAgIDAsMTMyLDAsMCw5MCw3LDAsMTAwLDExLDAsMTAwLDE4LDAsMTAwLDEzLDAsCisgICAgMTAwLDE0LDAsMTMyLDAsMSw5MCw4LDAsMTAwLDE1LDAsMTAwLDE2LDAsMTMyLAorICAgIDAsMCw5MCw5LDAsMTAwLDE3LDAsODMsNDEsMTksMjE4LDEyLDgzLDExMSwxMTcsCisgICAgMTE0LDk5LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsOTksMiwwLDAsMCwwLDAsCisgICAgMCwwLDIsMCwwLDAsMSwwLDAsMCw2NywwLDAsMCwxMTUsMTAsCisgICAgMCwwLDAsMTE2LDAsMCwxMzAsMSwwLDEwMCwxLDAsODMsNDEsMiwxMjIsCisgICAgMTc4LDc5LDExMiwxMTYsMTA1LDExMSwxMTAsOTcsMTA4LDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLAorICAgIDMyLDExNiwxMDQsOTcsMTE2LDMyLDExNCwxMDEsMTE2LDExNywxMTQsMTEwLDExNSwzMiwxMTYsMTA0LAorICAgIDEwMSwzMiwxMDksMTExLDEwMCwxMDUsMTAyLDEwNSw5OSw5NywxMTYsMTA1LDExMSwxMTAsMzIsMTE2LAorICAgIDEwNSwxMDksMTAxLDMyLDQwLDk3LDExMCwzMiwxMDUsMTEwLDExNiw0MSwzMiwxMDIsMTExLDExNCwKKyAgICAzMiwxMTYsMTA0LDEwMSwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwxMTUsMTEyLDEwMSwKKyAgICA5OSwxMDUsMTAyLDEwNSwxMDEsMTAwLDMyLDExMiw5NywxMTYsMTA0LDQ0LDMyLDExOSwxMDQsMTAxLAorICAgIDExNCwxMDEsMzIsMTEyLDk3LDExNiwxMDQsMzIsMTA1LDExNSwzMiw5NywzMiwxMTUsMTE2LDExNCwKKyAgICA0NiwxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw4Miw5NywxMDUsMTE1LDEwMSwKKyAgICAxMTUsMzIsNzMsNzksNjksMTE0LDExNCwxMTEsMTE0LDMyLDExOSwxMDQsMTAxLDExMCwzMiwxMTYsCisgICAgMTA0LDEwMSwzMiwxMTIsOTcsMTE2LDEwNCwzMiw5OSw5NywxMTAsMTEwLDExMSwxMTYsMzIsOTgsCisgICAgMTAxLDMyLDEwNCw5NywxMTAsMTAwLDEwOCwxMDEsMTAwLDQ2LDEwLDMyLDMyLDMyLDMyLDMyLAorICAgIDMyLDMyLDMyLDc4LDQxLDEsMjE4LDcsNzMsNzksNjksMTE0LDExNCwxMTEsMTE0LDQxLAorICAgIDIsMTE0LDcxLDAsMCwwLDExNCwzNSwwLDAsMCwxMTQsNCwwLDAsMCwKKyAgICAxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTAsMTEyLDk3LDExNiwxMDQsCisgICAgOTUsMTA5LDExNiwxMDUsMTA5LDEwMSwxNTgsNSwwLDAsMTE1LDIsMCwwLDAsMCwKKyAgICA2LDEyMiwyMyw4MywxMTEsMTE3LDExNCw5OSwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LAorICAgIDExMiw5NywxMTYsMTA0LDk1LDEwOSwxMTYsMTA1LDEwOSwxMDEsOTksMiwwLDAsMCwwLAorICAgIDAsMCwwLDIsMCwwLDAsMywwLDAsMCw2NywwLDAsMCwxMTUsCisgICAgMjAsMCwwLDAsMTA1LDEsMCwxMjQsMCwwLDEwNiwwLDAsMTI0LDEsMCwKKyAgICAxMzEsMSwwLDEwMCwxLDAsNTQsODMsNDEsMiw5NywxNzAsMSwwLDAsNzksCisgICAgMTEyLDExNiwxMDUsMTExLDExMCw5NywxMDgsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMzIsMTE0LAorICAgIDEwMSwxMTYsMTE3LDExNCwxMTAsMTA1LDExMCwxMDMsMzIsOTcsMzIsMTA5LDEwMSwxMTYsOTcsMTAwLAorICAgIDk3LDExNiw5NywzMiwxMDAsMTA1LDk5LDExNiwzMiwxMDIsMTExLDExNCwzMiwxMTYsMTA0LDEwMSwKKyAgICAzMiwxMTUsMTEyLDEwMSw5OSwxMDUsMTAyLDEwNSwxMDEsMTAwLDMyLDExMiw5NywxMTYsMTA0LDEwLAorICAgIDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDExNiwxMTEsMzIsOTgsMTIxLDMyLDExNiwxMDQsCisgICAgMTAxLDMyLDExMiw5NywxMTYsMTA0LDMyLDQwLDExNSwxMTYsMTE0LDQxLDQ2LDEwLDMyLDMyLAorICAgIDMyLDMyLDMyLDMyLDMyLDMyLDgwLDExMSwxMTUsMTE1LDEwNSw5OCwxMDgsMTAxLDMyLDEwNywKKyAgICAxMDEsMTIxLDExNSw1OCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw0NSwzMiwzOSwKKyAgICAxMDksMTE2LDEwNSwxMDksMTAxLDM5LDMyLDQwLDEwOSw5NywxMTAsMTAwLDk3LDExNiwxMTEsMTE0LAorICAgIDEyMSw0MSwzMiwxMDUsMTE1LDMyLDExNiwxMDQsMTAxLDMyLDExMCwxMTcsMTA5LDEwMSwxMTQsMTA1LAorICAgIDk5LDMyLDExNiwxMDUsMTA5LDEwMSwxMTUsMTE2LDk3LDEwOSwxMTIsMzIsMTExLDEwMiwzMiwxMDgsCisgICAgOTcsMTE1LDExNiwzMiwxMTUsMTExLDExNywxMTQsOTksMTAxLDEwLDMyLDMyLDMyLDMyLDMyLAorICAgIDMyLDMyLDMyLDMyLDMyLDk5LDExMSwxMDAsMTAxLDMyLDEwOSwxMTEsMTAwLDEwNSwxMDIsMTA1LAorICAgIDk5LDk3LDExNiwxMDUsMTExLDExMCw1OSwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwKKyAgICA0NSwzMiwzOSwxMTUsMTA1LDEyMiwxMDEsMzksMzIsNDAsMTExLDExMiwxMTYsMTA1LDExMSwxMTAsCisgICAgOTcsMTA4LDQxLDMyLDEwNSwxMTUsMzIsMTE2LDEwNCwxMDEsMzIsMTE1LDEwNSwxMjIsMTAxLDMyLAorICAgIDEwNSwxMTAsMzIsOTgsMTIxLDExNiwxMDEsMTE1LDMyLDExMSwxMDIsMzIsMTE2LDEwNCwxMDEsMzIsCisgICAgMTE1LDExMSwxMTcsMTE0LDk5LDEwMSwzMiw5OSwxMTEsMTAwLDEwMSw0NiwxMCwxMCwzMiwzMiwKKyAgICAzMiwzMiwzMiwzMiwzMiwzMiw3MywxMDksMTEyLDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDEwNSwKKyAgICAxMTAsMTAzLDMyLDExNiwxMDQsMTA1LDExNSwzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwzMiw5NywKKyAgICAxMDgsMTA4LDExMSwxMTksMTE1LDMyLDExNiwxMDQsMTAxLDMyLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsCisgICAgMzIsMTE2LDExMSwzMiwxMTQsMTAxLDk3LDEwMCwzMiw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsMTAwLAorICAgIDEwMSwzMiwxMDIsMTA1LDEwOCwxMDEsMTE1LDQ2LDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLAorICAgIDMyLDgyLDk3LDEwNSwxMTUsMTAxLDExNSwzMiw3Myw3OSw2OSwxMTQsMTE0LDExMSwxMTQsMzIsCisgICAgMTE5LDEwNCwxMDEsMTEwLDMyLDExNiwxMDQsMTAxLDMyLDExMiw5NywxMTYsMTA0LDMyLDk5LDk3LAorICAgIDExMCwxMTAsMTExLDExNiwzMiw5OCwxMDEsMzIsMTA0LDk3LDExMCwxMDAsMTA4LDEwMSwxMDAsNDYsCisgICAgMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMTE0LDE4MiwwLDAsMCw0MSwxLAorICAgIDExNCwzNSwxLDAsMCw0MSwyLDExNCw3MSwwLDAsMCwxMTQsMzUsMCwwLAorICAgIDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsCisgICAgMjE4LDEwLDExMiw5NywxMTYsMTA0LDk1LDExNSwxMTYsOTcsMTE2LDExNSwxNjYsNSwwLDAsCisgICAgMTE1LDIsMCwwLDAsMCwxMSwxMjIsMjMsODMsMTExLDExNywxMTQsOTksMTAxLDc2LAorICAgIDExMSw5NywxMDAsMTAxLDExNCw0NiwxMTIsOTcsMTE2LDEwNCw5NSwxMTUsMTE2LDk3LDExNiwxMTUsCisgICAgOTksNCwwLDAsMCwwLDAsMCwwLDQsMCwwLDAsMywwLDAsCisgICAgMCw2NywwLDAsMCwxMTUsMTYsMCwwLDAsMTI0LDAsMCwxMDYsMCwwLAorICAgIDEyNCwyLDAsMTI0LDMsMCwxMzEsMiwwLDgzLDQxLDEsMTIyLDIyOCw3OSwxMTIsCisgICAgMTE2LDEwNSwxMTEsMTEwLDk3LDEwOCwzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwzMiwxMTksMTA0LAorICAgIDEwNSw5OSwxMDQsMzIsMTE5LDExNCwxMDUsMTE2LDEwMSwxMTUsMzIsMTAwLDk3LDExNiw5NywzMiwKKyAgICA0MCw5OCwxMjEsMTE2LDEwMSwxMTUsNDEsMzIsMTE2LDExMSwzMiw5NywzMiwxMDIsMTA1LDEwOCwKKyAgICAxMDEsMzIsMTEyLDk3LDExNiwxMDQsMzIsNDAsOTcsMzIsMTE1LDExNiwxMTQsNDEsNDYsMTAsCisgICAgMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsNzMsMTA5LDExMiwxMDgsMTAxLDEwOSwxMDEsCisgICAgMTEwLDExNiwxMDUsMTEwLDEwMywzMiwxMTYsMTA0LDEwNSwxMTUsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwKKyAgICAxMDAsMzIsOTcsMTA4LDEwOCwxMTEsMTE5LDExNSwzMiwxMDIsMTExLDExNCwzMiwxMTYsMTA0LDEwMSwKKyAgICAzMiwxMTksMTE0LDEwNSwxMTYsMTA1LDExMCwxMDMsMzIsMTExLDEwMiwzMiw5OCwxMjEsMTE2LDEwMSwKKyAgICA5OSwxMTEsMTAwLDEwMSwzMiwxMDIsMTA1LDEwOCwxMDEsMTE1LDQ2LDEwLDEwLDMyLDMyLDMyLAorICAgIDMyLDMyLDMyLDMyLDMyLDg0LDEwNCwxMDEsMzIsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSwzMiwKKyAgICAxMTIsOTcsMTE2LDEwNCwzMiwxMDUsMTE1LDMyLDExMCwxMDEsMTAxLDEwMCwxMDEsMTAwLDMyLDEwNSwKKyAgICAxMTAsMzIsMTExLDExNCwxMDAsMTAxLDExNCwzMiwxMTYsMTExLDMyLDk5LDExMSwxMTQsMTE0LDEwMSwKKyAgICA5OSwxMTYsMTA4LDEyMSwzMiwxMTYsMTE0LDk3LDExMCwxMTUsMTAyLDEwMSwxMTQsMzIsMTEyLDEwMSwKKyAgICAxMTQsMTA5LDEwNSwxMTUsMTE1LDEwNSwxMTEsMTEwLDExNSwxMCwzMiwzMiwzMiwzMiwzMiwzMiwKKyAgICAzMiwzMiw0MSwxLDIxOCw4LDExNSwxMDEsMTE2LDk1LDEwMCw5NywxMTYsOTcsNDEsNCwKKyAgICAxMTQsNzEsMCwwLDAsMTE0LDE0MiwwLDAsMCw5MCwxMCw5OSw5Nyw5OSwxMDQsCisgICAgMTAxLDk1LDExMiw5NywxMTYsMTA0LDExNCw1MywwLDAsMCwxMTQsNCwwLDAsMCwKKyAgICAxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTUsOTUsOTksOTcsOTksCisgICAgMTA0LDEwMSw5NSw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsMTAwLDEwMSwxNzksNSwwLDAsMTE1LAorICAgIDIsMCwwLDAsMCw4LDEyMiwyOCw4MywxMTEsMTE3LDExNCw5OSwxMDEsNzYsMTExLAorICAgIDk3LDEwMCwxMDEsMTE0LDQ2LDk1LDk5LDk3LDk5LDEwNCwxMDEsOTUsOTgsMTIxLDExNiwxMDEsCisgICAgOTksMTExLDEwMCwxMDEsOTksMywwLDAsMCwwLDAsMCwwLDMsMCwwLAorICAgIDAsMSwwLDAsMCw2NywwLDAsMCwxMTUsNCwwLDAsMCwxMDAsMSwKKyAgICAwLDgzLDQxLDIsMTIyLDE1MCw3OSwxMTIsMTE2LDEwNSwxMTEsMTEwLDk3LDEwOCwzMiwxMDksCisgICAgMTAxLDExNiwxMDQsMTExLDEwMCwzMiwxMTksMTA0LDEwNSw5OSwxMDQsMzIsMTE5LDExNCwxMDUsMTE2LAorICAgIDEwMSwxMTUsMzIsMTAwLDk3LDExNiw5NywzMiw0MCw5OCwxMjEsMTE2LDEwMSwxMTUsNDEsMzIsCisgICAgMTE2LDExMSwzMiw5NywzMiwxMDIsMTA1LDEwOCwxMDEsMzIsMTEyLDk3LDExNiwxMDQsMzIsNDAsCisgICAgOTcsMzIsMTE1LDExNiwxMTQsNDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsCisgICAgMzIsNzMsMTA5LDExMiwxMDgsMTAxLDEwOSwxMDEsMTEwLDExNiwxMDUsMTEwLDEwMywzMiwxMTYsMTA0LAorICAgIDEwNSwxMTUsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMzIsOTcsMTA4LDEwOCwxMTEsMTE5LDExNSwKKyAgICAzMiwxMDIsMTExLDExNCwzMiwxMTYsMTA0LDEwMSwzMiwxMTksMTE0LDEwNSwxMTYsMTA1LDExMCwxMDMsCisgICAgMzIsMTExLDEwMiwzMiw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsMTAwLDEwMSwzMiwxMDIsMTA1LDEwOCwKKyAgICAxMDEsMTE1LDQ2LDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDc4LDExNCw0LDAsCisgICAgMCwwLDQxLDMsMTE0LDcxLDAsMCwwLDExNCwzNSwwLDAsMCwxMTQsNTMsCiAgICAgMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwKLSAgICAwLDAsMTE0LDUsMSwwLDAsMTcyLDYsMCwwLDExNSwyNCwwLDAsMCwKLSAgICAwLDUsMTMsMSw5LDEsMjEsMSwxNiwxLDE1LDEsMjIsMSwyOCwxLAotICAgIDksMSwxMiwxLDYsMSwyOCwxLDEyMiwzMSw2OSwxMjAsMTE2LDEwMSwxMTAsMTE1LAotICAgIDEwNSwxMTEsMTEwLDcwLDEwNSwxMDgsMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCw0NiwxMDgsMTExLAotICAgIDk3LDEwMCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5OSwyLDAsMCwwLDAsMCwKLSAgICAwLDAsMiwwLDAsMCw0LDAsMCwwLDMsMCwwLDAsMTE1LDQ4LAotICAgIDAsMCwwLDExNiwwLDAsMTI0LDAsMCwxMDYsMSwwLDEzMSwxLDAsMTAwLAotICAgIDEsMCwyNSwxMzcsMCwwLDExNiwyLDAsMTM1LDAsMCwxMDIsMSwwLDEwMCwKLSAgICAyLDAsMTAwLDMsMCwxMzQsMCwwLDExNiwzLDAsNjgsMTMxLDEsMCwxMzEsCi0gICAgMSwwLDgzLDQxLDQsMTIyLDQ5LDgyLDEwMSwxMTYsMTE3LDExNCwxMTAsMzIsODQsMTE0LAotICAgIDExNywxMDEsMzIsMTA1LDEwMiwzMiwxMTYsMTA0LDEwMSwzMiwxMDEsMTIwLDExNiwxMDEsMTEwLDExNSwKLSAgICAxMDUsMTExLDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMDUsMTE1LDMyLDk3LDMyLAotICAgIDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSw0NiwxMTQsMjksMCwwLDAsOTksMSwwLAotICAgIDAsMCwwLDAsMCwwLDIsMCwwLDAsNCwwLDAsMCw1MSwwLAotICAgIDAsMCwxMTUsMzEsMCwwLDAsMTI0LDAsMCw5MywyMSwwLDEyNSwxLDAsCi0gICAgMTM2LDAsMCwxMDAsMCwwLDEyNCwxLDAsMjMsMTA3LDIsMCw4NiwxLDExMywKLSAgICAzLDAsMTAwLDEsMCw4Myw0MSwyLDExNCw3MiwwLDAsMCw3OCwxMTQsNCwKLSAgICAwLDAsMCw0MSwyLDExNCwyMiwwLDAsMCwyMTgsNiwxMTUsMTE3LDEwMiwxMDIsCi0gICAgMTA1LDEyMCw0MSwxLDIxOCw5LDEwMiwxMDUsMTA4LDEwMSw5NSwxMTAsOTcsMTA5LDEwMSwxMTQsCi0gICAgNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsNzcsMCwwLDAsMTkzLDYsCi0gICAgMCwwLDExNSwyLDAsMCwwLDYsMSwxMjIsNDksNjksMTIwLDExNiwxMDEsMTEwLAotICAgIDExNSwxMDUsMTExLDExMCw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTA1LAotICAgIDExNSw5NSwxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsNDYsNjAsMTA4LDExMSw5OSw5NywxMDgsCi0gICAgMTE1LDYyLDQ2LDYwLDEwMywxMDEsMTEwLDEwMSwxMjAsMTEyLDExNCw2Miw0MSw0LDExNCwzOCwKLSAgICAwLDAsMCwxMTQsMzUsMCwwLDAsMTE0LDc4LDAsMCwwLDIxOCwxOCw2OSwKLSAgICA4OCw4NCw2OSw3OCw4Myw3Myw3OSw3OCw5NSw4Myw4NSw3MCw3MCw3Myw4OCw2OSwKLSAgICA4Myw0MSwyLDExNCw3MSwwLDAsMCwxMTQsMTU5LDAsMCwwLDExNCw0LDAsCi0gICAgMCwwLDQxLDEsMTE0LDU5LDEsMCwwLDExNCw1LDAsMCwwLDExNCwyMjAsCi0gICAgMCwwLDAsMTkwLDYsMCwwLDExNSw2LDAsMCwwLDAsMiwxOSwxLAotICAgIDE4LDEsMTIyLDMwLDY5LDEyMCwxMTYsMTAxLDExMCwxMTUsMTA1LDExMSwxMTAsNzAsMTA1LDEwOCwKLSAgICAxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDEwNSwxMTUsOTUsMTEyLDk3LDk5LDEwNyw5NywKLSAgICAxMDMsMTAxLDk5LDIsMCwwLDAsMCwwLDAsMCwyLDAsMCwwLDEsCi0gICAgMCwwLDAsNjcsMCwwLDAsMTE1LDQsMCwwLDAsMTAwLDEsMCw4MywKLSAgICA0MSwyLDEyMiw2Myw4MiwxMDEsMTE2LDExNywxMTQsMTEwLDMyLDc4LDExMSwxMTAsMTAxLDMyLAotICAgIDk3LDExNSwzMiw5NywxMTAsMzIsMTAxLDEyMCwxMTYsMTAxLDExMCwxMTUsMTA1LDExMSwxMTAsMzIsCi0gICAgMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsOTksOTcsMTEwLDExMCwxMTEsMTE2LDMyLDk5LDExNCwKLSAgICAxMDEsOTcsMTE2LDEwMSwzMiw5NywzMiw5OSwxMTEsMTAwLDEwMSwzMiwxMTEsOTgsMTA2LDEwMSwKLSAgICA5OSwxMTYsNDYsNzgsMTE0LDQsMCwwLDAsNDEsMiwxMTQsNzEsMCwwLDAsCi0gICAgMTE0LDE1OSwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsCi0gICAgNSwwLDAsMCwxMTQsMTYsMSwwLDAsMTk2LDYsMCwwLDExNSwyLDAsCi0gICAgMCwwLDAsMiwxMjIsMjgsNjksMTIwLDExNiwxMDEsMTEwLDExNSwxMDUsMTExLDExMCw3MCwKLSAgICAxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTAzLDEwMSwxMTYsOTUsOTksMTExLAotICAgIDEwMCwxMDEsOTksMiwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsMSwKLSAgICAwLDAsMCw2NywwLDAsMCwxMTUsNCwwLDAsMCwxMDAsMSwwLDgzLAotICAgIDQxLDIsMTIyLDUzLDgyLDEwMSwxMTYsMTE3LDExNCwxMTAsMzIsNzgsMTExLDExMCwxMDEsMzIsCi0gICAgOTcsMTE1LDMyLDEwMSwxMjAsMTE2LDEwMSwxMTAsMTE1LDEwNSwxMTEsMTEwLDMyLDEwOSwxMTEsMTAwLAotICAgIDExNywxMDgsMTAxLDExNSwzMiwxMDQsOTcsMTE4LDEwMSwzMiwxMTAsMTExLDMyLDExNSwxMTEsMTE3LAorICAgIDAsMCwxMTQsMzcsMSwwLDAsMTg5LDUsMCwwLDExNSwwLDAsMCwwLAorICAgIDEyMiwyMSw4MywxMTEsMTE3LDExNCw5OSwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDExNSwKKyAgICAxMDEsMTE2LDk1LDEwMCw5NywxMTYsOTcsOTksMiwwLDAsMCwwLDAsMCwwLAorICAgIDUsMCwwLDAsMTYsMCwwLDAsNjcsMCwwLDAsMTE1LDEwNSwwLDAsCisgICAgMCwxMjQsMCwwLDEwNiwwLDAsMTI0LDEsMCwxMzEsMSwwLDEyNSwyLDAsCisgICAgMTIxLDE5LDAsMTI0LDAsMCwxMDYsMSwwLDEyNCwyLDAsMTMxLDEsMCwxMjUsCisgICAgMywwLDg3LDExMCw1OCwwLDQsMTE2LDIsMCwxMDcsMTAsMCwxMTQsOTQsMCwKKyAgICAxLDEyNSw0LDAsMSwxMjIsMjYsMCwxMTYsMywwLDEwMCwxLDAsMTAwLDIsCisgICAgMCwxMjQsMSwwLDEzMSwxLDEsMTI0LDQsMCwxMzAsMiwwLDg3LDg5LDEwMCwKKyAgICAzLDAsMTAwLDMsMCwxMjUsNCwwLDEyNiw0LDAsODgsMTEwLDEsMCw4OCwKKyAgICAxMTYsNCwwLDEyNCwzLDAsMTMxLDEsMCw4Myw0MSw0LDEyMiw1Miw2NywxMTEsCisgICAgMTEwLDk5LDExNCwxMDEsMTE2LDEwMSwzMiwxMDUsMTA5LDExMiwxMDgsMTAxLDEwOSwxMDEsMTEwLDExNiwKKyAgICA5NywxMTYsMTA1LDExMSwxMTAsMzIsMTExLDEwMiwzMiw3MywxMTAsMTE1LDExMiwxMDEsOTksMTE2LAorICAgIDc2LDExMSw5NywxMDAsMTAxLDExNCw0NiwxMDMsMTAxLDExNiw5NSwxMTUsMTExLDExNywxMTQsOTksCisgICAgMTAxLDQ2LDEyMiwzOSwxMTUsMTExLDExNywxMTQsOTksMTAxLDMyLDExMCwxMTEsMTE2LDMyLDk3LAorICAgIDExOCw5NywxMDUsMTA4LDk3LDk4LDEwOCwxMDEsMzIsMTE2LDEwNCwxMTQsMTExLDExNywxMDMsMTA0LAorICAgIDMyLDEwMywxMDEsMTE2LDk1LDEwMCw5NywxMTYsOTcsNDAsNDEsMTE0LDY3LDAsMCwwLAorICAgIDc4LDQxLDUsMTE0LDIzOCwwLDAsMCwyMTgsOCwxMDMsMTAxLDExNiw5NSwxMDAsOTcsCisgICAgMTE2LDk3LDExNCw0MCwwLDAsMCwxMTQsMTU0LDAsMCwwLDExNCwyMDIsMCwwLAorICAgIDAsNDEsNSwxMTQsNzEsMCwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsMzUsMCwKKyAgICAwLDAsMTE0LDIwMCwwLDAsMCwyMTgsMywxMDEsMTIwLDk5LDExNCw0LDAsMCwKKyAgICAwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwxNSwxLDAsMCwKKyAgICAxOTYsNSwwLDAsMTE1LDE0LDAsMCwwLDAsMiwxNSwxLDMsMSwxOSwKKyAgICAxLDE4LDEsOSwxLDMxLDEsMTIyLDIzLDgzLDExMSwxMTcsMTE0LDk5LDEwMSw3NiwKKyAgICAxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTAzLDEwMSwxMTYsOTUsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSwKKyAgICAyMTgsOSw5NSwxMTEsMTEyLDExNiwxMDUsMTA5LDEwNSwxMjIsMTAxLDExNCwyOSwwLDAsMCwKKyAgICA5OSwzLDAsMCwwLDEsMCwwLDAsNCwwLDAsMCw5LDAsMCwKKyAgICAwLDY3LDAsMCwwLDExNSwzMSwwLDAsMCwxMTYsMCwwLDExNiwxLDAsCisgICAgMTI0LDEsMCwxMjQsMiwwLDEwMCwxLDAsMTAwLDIsMCwxMDAsMywwLDEwMCwKKyAgICA0LDAsMTI0LDMsMCwxMzEsNCwyLDgzLDQxLDUsMTIyLDEzMCw4MiwxMDEsMTE2LAorICAgIDExNywxMTQsMTEwLDMyLDExNiwxMDQsMTAxLDMyLDk5LDExMSwxMDAsMTAxLDMyLDExMSw5OCwxMDYsCisgICAgMTAxLDk5LDExNiwzMiw5OSwxMTEsMTA5LDExMiwxMDUsMTA4LDEwMSwxMDAsMzIsMTAyLDExNCwxMTEsCisgICAgMTA5LDMyLDExNSwxMTEsMTE3LDExNCw5OSwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsCisgICAgMzIsMzIsMzIsODQsMTA0LDEwMSwzMiwzOSwxMDAsOTcsMTE2LDk3LDM5LDMyLDk3LDExNCwKKyAgICAxMDMsMTE3LDEwOSwxMDEsMTEwLDExNiwzMiw5OSw5NywxMTAsMzIsOTgsMTAxLDMyLDk3LDExMCwKKyAgICAxMjEsMzIsMTExLDk4LDEwNiwxMDEsOTksMTE2LDMyLDExNiwxMjEsMTEyLDEwMSwzMiwxMTYsMTA0LAorICAgIDk3LDExNiwzMiw5OSwxMTEsMTA5LDExMiwxMDUsMTA4LDEwMSw0MCw0MSwzMiwxMTUsMTE3LDExMiwKKyAgICAxMTIsMTExLDExNCwxMTYsMTE1LDQ2LDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDExNCwKKyAgICAyMSwxLDAsMCwyMTgsMTIsMTAwLDExMSwxMTAsMTE2LDk1LDEwNSwxMTAsMTA0LDEwMSwxMTQsCisgICAgMTA1LDExNiw4NCwxMTQsMTE4LDAsMCwwLDQxLDIsMTE0LDExNCwwLDAsMCwyMTgsCisgICAgNyw5OSwxMTEsMTA5LDExMiwxMDUsMTA4LDEwMSw0MSw0LDExNCw3MSwwLDAsMCwxMTQsCisgICAgNTMsMCwwLDAsMTE0LDM1LDAsMCwwLDExNCw0MSwxLDAsMCwxMTQsNCwKKyAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTQsMTE1LAorICAgIDExMSwxMTcsMTE0LDk5LDEwMSw5NSwxMTYsMTExLDk1LDk5LDExMSwxMDAsMTAxLDIwNiw1LDAsCisgICAgMCwxMTUsNCwwLDAsMCwwLDUsMTgsMSwxMjIsMjcsODMsMTExLDExNywxMTQsCisgICAgOTksMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCw0NiwxMTUsMTExLDExNywxMTQsOTksMTAxLDk1LAorICAgIDExNiwxMTEsOTUsOTksMTExLDEwMCwxMDEsOTksMiwwLDAsMCwwLDAsMCwwLAorICAgIDEwLDAsMCwwLDQzLDAsMCwwLDY3LDAsMCwwLDExNSwxNzQsMSwwLAorICAgIDAsMTI0LDAsMCwxMDYsMCwwLDEyNCwxLDAsMTMxLDEsMCwxMjUsMiwwLAorICAgIDEwMCwxLDAsMTI1LDMsMCwxMjEsMTYsMCwxMTYsMSwwLDEyNCwyLDAsMTMxLAorICAgIDEsMCwxMjUsNCwwLDg3LDExMCwyNCwwLDQsMTE2LDIsMCwxMDcsMTAsMCwKKyAgICAxMTQsNjMsMCwxLDEsMSwxMDAsMSwwLDEyNSw0LDAsODksMTEwLDIwMiwwLAorICAgIDg4LDEyMSwxOSwwLDEyNCwwLDAsMTA2LDMsMCwxMjQsMiwwLDEzMSwxLDAsCisgICAgMTI1LDUsMCw4NywxMTAsMTgsMCw0LDExNiw0LDAsMTA3LDEwLDAsMTE0LDEwMywKKyAgICAwLDEsMSwxLDg5LDExMCwxNjIsMCw4OCwxMTYsNSwwLDEyNCw1LDAsMTAwLAorICAgIDIsMCwyNSwxMzEsMSwwLDEyNSwzLDAsMTIxLDE5LDAsMTI0LDAsMCwxMDYsCisgICAgNiwwLDEyNCw0LDAsMTMxLDEsMCwxMjUsNiwwLDg3LDExMCwxOCwwLDQsCisgICAgMTE2LDcsMCwxMDcsMTAsMCwxMTQsMTU5LDAsMSwxLDEsODksMTEwLDEwNiwwLAorICAgIDg4LDEyMSwzNCwwLDExNiw4LDAsMTI0LDYsMCwxMDAsMywwLDEyNCw1LDAsCisgICAgMTAwLDQsMCwxMjQsMSwwLDEwMCw1LDAsMTI0LDQsMCwxMzEsMSwzLDEyNSwKKyAgICA3LDAsODcsMTEwLDI0LDAsNCwxMTYsOSwwLDExNiwxMCwwLDEwMiwyLDAsCisgICAgMTA3LDEwLDAsMTE0LDIyMCwwLDEsMSwxLDg5LDExMCw0NSwwLDg4LDExNiwxMSwKKyAgICAwLDEwMCw2LDAsMTI0LDQsMCwxMjQsMiwwLDEzMSwzLDAsMSwxMTYsMTIsCisgICAgMCwxMjQsNywwLDEwMCw0LDAsMTI0LDEsMCwxMDAsNywwLDEyNCw0LDAsCisgICAgMTAwLDgsMCwxMjQsMiwwLDEzMSwxLDMsODMsMTI0LDAsMCwxMDYsNiwwLAorICAgIDEyNCwyLDAsMTMxLDEsMCwxMjUsOCwwLDEyNCwwLDAsMTA2LDEzLDAsMTI0LAorICAgIDgsMCwxMjQsMiwwLDEzMSwyLDAsMTI1LDksMCwxMTYsMTEsMCwxMDAsOSwKKyAgICAwLDEyNCwyLDAsMTMxLDIsMCwxLDExNiwxNCwwLDEwNiwxNSwwLDEyLDExNCwKKyAgICAxNzAsMSwxMjQsNCwwLDEwMCwxLDAsMTA3LDksMCwxMTQsMTcwLDEsMTI0LDMsCisgICAgMCwxMDAsMSwwLDEwNyw5LDAsMTE0LDE3MCwxLDExNiwxNiwwLDEyNCw5LDAsCisgICAgMTI0LDMsMCwxMTYsMTcsMCwxMjQsOCwwLDEzMSwxLDAsMTMxLDMsMCwxMjUsCisgICAgNiwwLDEyMSwzNiwwLDEyNCwwLDAsMTA2LDE4LDAsMTI0LDIsMCwxMjQsNCwKKyAgICAwLDEyNCw2LDAsMTMxLDMsMCwxLDExNiwxMSwwLDEwMCwxMCwwLDEyNCw0LAorICAgIDAsMTMxLDIsMCwxLDg3LDExMCwxOCwwLDQsMTE2LDIsMCwxMDcsMTAsMCwKKyAgICAxMTQsMTY5LDEsMSwxLDEsODksMTEwLDEsMCw4OCwxMjQsOSwwLDgzLDQxLAorICAgIDExLDEyMiwxOTAsNjcsMTExLDExMCw5OSwxMTQsMTAxLDExNiwxMDEsMzIsMTA1LDEwOSwxMTIsMTA4LAorICAgIDEwMSwxMDksMTAxLDExMCwxMTYsOTcsMTE2LDEwNSwxMTEsMTEwLDMyLDExMSwxMDIsMzIsNzMsMTEwLAorICAgIDExNSwxMTIsMTAxLDk5LDExNiw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTAzLDEwMSwxMTYsOTUsCisgICAgOTksMTExLDEwMCwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsODIsCisgICAgMTAxLDk3LDEwMCwxMDUsMTEwLDEwMywzMiwxMTEsMTAyLDMyLDk4LDEyMSwxMTYsMTAxLDk5LDExMSwKKyAgICAxMDAsMTAxLDMyLDExNCwxMDEsMTEzLDExNywxMDUsMTE0LDEwMSwxMTUsMzIsMTEyLDk3LDExNiwxMDQsCisgICAgOTUsMTE1LDExNiw5NywxMTYsMTE1LDMyLDExNiwxMTEsMzIsOTgsMTAxLDMyLDEwNSwxMDksMTEyLAorICAgIDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDEwMSwxMDAsNDYsMzIsODQsMTExLDMyLDExOSwxMTQsMTA1LAorICAgIDExNiwxMDEsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsOTgsMTIxLDExNiwxMDEsOTksCisgICAgMTExLDEwMCwxMDEsNDQsMzIsMTE1LDEwMSwxMTYsOTUsMTAwLDk3LDExNiw5NywzMiwxMDksMTE3LAorICAgIDExNSwxMTYsMzIsOTcsMTA4LDExNSwxMTEsMzIsOTgsMTAxLDMyLDEwNSwxMDksMTEyLDEwOCwxMDEsCisgICAgMTA5LDEwMSwxMTAsMTE2LDEwMSwxMDAsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsCisgICAgMzIsNzgsMTE0LDE4MiwwLDAsMCwxMTQsMTg2LDAsMCwwLDExNCw2NywwLDAsCisgICAgMCwxMTQsMzUsMCwwLDAsMTIyLDEzLDEyMywxMjUsMzIsMTA5LDk3LDExNiw5OSwxMDQsCisgICAgMTAxLDExNSwzMiwxMjMsMTI1LDExNCwxNDEsMCwwLDAsMTE0LDE0MiwwLDAsMCwxMjIsCisgICAgMTksOTksMTExLDEwMCwxMDEsMzIsMTExLDk4LDEwNiwxMDEsOTksMTE2LDMyLDEwMiwxMTQsMTExLAorICAgIDEwOSwzMiwxMjMsMTI1LDEyMiwxMCwxMTksMTE0LDExMSwxMTYsMTAxLDMyLDEyMywzMywxMTQsMTI1LAorICAgIDQxLDE5LDExNCwyMzgsMCwwLDAsMTE0LDEzMiwwLDAsMCwxMTQsMTIzLDAsMCwKKyAgICAwLDExNCwzNiwxLDAsMCwxMTQsMzQsMSwwLDAsMTE0LDE0LDAsMCwwLAorICAgIDExNCwzOSwxLDAsMCwxMTQsNDAsMCwwLDAsMTE0LDE4OSwwLDAsMCwxMTQsCisgICAgMTU0LDAsMCwwLDExNCwxODUsMCwwLDAsMTE0LDE1MywwLDAsMCwxMTQsMTk0LAorICAgIDAsMCwwLDExNCw0NCwxLDAsMCwxMTQsNywwLDAsMCwyMTgsMTksMTAwLAorICAgIDExMSwxMTAsMTE2LDk1LDExOSwxMTQsMTA1LDExNiwxMDEsOTUsOTgsMTIxLDExNiwxMDEsOTksMTExLAorICAgIDEwMCwxMDEsMTE0LDE5NywwLDAsMCwxMTQsMzEsMCwwLDAsMTE0LDM4LDEsMCwKKyAgICAwLDQxLDEwLDExNCw3MSwwLDAsMCwxMTQsMTU5LDAsMCwwLDExNCwxNDIsMCwKKyAgICAwLDAsMTE0LDE4NywwLDAsMCwxMTQsMTQxLDAsMCwwLDIxOCwyLDExNSwxMTYsCisgICAgMTE0LDUzLDAsMCwwLDIxOCwxMCw5OCwxMjEsMTE2LDEwMSwxMTUsOTUsMTAwLDk3LDExNiwKKyAgICA5NywxMTQsMjAwLDAsMCwwLDkwLDExLDk5LDExMSwxMDAsMTAxLDk1LDExMSw5OCwxMDYsCisgICAgMTAxLDk5LDExNiwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLAorICAgIDAsMCwxMTQsMTQsMSwwLDAsMjE0LDUsMCwwLDExNSw3OCwwLDAsMCwKKyAgICAwLDcsMTUsMSw2LDEsMywxLDE2LDEsMTMsMSwxMSwyLDMsMSwKKyAgICAxOSwxLDEzLDEsNSwyLDE2LDEsMywxLDE5LDEsMTMsMSw1LDIsCisgICAgMywxLDksMSwxMiwxLDEzLDEsMTksMSw1LDIsOSwxLDcsMSwKKyAgICAxNSwxLDYsMSw3LDEsMTUsMSwxOCwxLDEzLDEsMjIsMSwxMiwxLAorICAgIDksMSwxNSwxLDMsMSwxOSwxLDE3LDEsMTMsMSw1LDEsMTIyLDIxLAorICAgIDgzLDExMSwxMTcsMTE0LDk5LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTAzLDEwMSwxMTYsCisgICAgOTUsOTksMTExLDEwMCwxMDEsNzgsMTE0LDEzOSwwLDAsMCw0MSwxMCwxMTQsNTcsMCwKKyAgICAwLDAsMTE0LDU2LDAsMCwwLDExNCw1OCwwLDAsMCwxMTQsMzUsMSwwLAorICAgIDAsMTE0LDM2LDEsMCwwLDExNCwzOCwxLDAsMCwxMTQsMzcsMSwwLDAsCisgICAgMTE0LDE1LDEsMCwwLDExNCw0NCwxLDAsMCwxMTQsMTQsMSwwLDAsMTE0LAorICAgIDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsCisgICAgMCwwLDAsMTE0LDMzLDEsMCwwLDE1Niw1LDAsMCwxMTUsMTQsMCwwLAorICAgIDAsMTIsMiwxMiw4LDEyLDEzLDEyLDEwLDEyLDcsMTIsMTAsMTgsOCwxMTQsCisgICAgMzMsMSwwLDAsOTksMCwwLDAsMCwwLDAsMCwwLDAsMCwwLAorICAgIDAsNCwwLDAsMCwwLDAsMCwwLDExNSwxMTIsMCwwLDAsMTAxLDAsCisgICAgMCw5MCwxLDAsMTAwLDAsMCw5MCwyLDAsMTAwLDEsMCw5MCwzLDAsCisgICAgMTAwLDIsMCwxMDAsMywwLDEzMiwwLDAsOTAsNCwwLDEwMCw0LDAsMTAwLAorICAgIDUsMCwxMzIsMCwwLDkwLDUsMCwxMDAsNiwwLDEwMCw3LDAsMTMyLDAsCisgICAgMCw5MCw2LDAsMTAxLDcsMCwxMzUsMCwwLDEwMiwxLDAsMTAwLDgsMCwKKyAgICAxMDAsOSwwLDEzNCwwLDAsMTMxLDEsMCw5MCw4LDAsMTAxLDcsMCwxMDAsCisgICAgMTAsMCwxMDAsMTEsMCwxMzIsMCwwLDEzMSwxLDAsOTAsOSwwLDEwMCwxMiwKKyAgICAwLDEwMCwxMywwLDEzMiwwLDAsOTAsMTAsMCwxMzUsMCwwLDgzLDQxLDE0LAorICAgIDIxOCwxMCw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsMTIyLDEwMyw2Niw5NywKKyAgICAxMTUsMTAxLDMyLDEwMiwxMDUsMTA4LDEwMSwzMiwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDMyLDk5LAorICAgIDEwOCw5NywxMTUsMTE1LDMyLDExOSwxMDQsMTA1LDk5LDEwNCwzMiwxMDUsMTA5LDExMiwxMDgsMTAxLAorICAgIDEwOSwxMDEsMTEwLDExNiwxMTUsMzIsMTE2LDEwNCwxMDEsMzIsMTA4LDExMSw5NywxMDAsMTAxLDExNCwKKyAgICAzMiwxMTIsMTE0LDExMSwxMTYsMTExLDk5LDExMSwxMDgsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsCisgICAgMTE1LDMyLDExNiwxMDQsOTcsMTE2LDEwLDMyLDMyLDMyLDMyLDExNCwxMDEsMTEzLDExNywxMDUsCisgICAgMTE0LDEwMSwzMiwxMDIsMTA1LDEwOCwxMDEsMzIsMTE1LDEyMSwxMTUsMTE2LDEwMSwxMDksMzIsMTE3LAorICAgIDExNSw5NywxMDMsMTAxLDQ2LDk5LDMsMCwwLDAsMCwwLDAsMCwzLDAsCisgICAgMCwwLDIsMCwwLDAsNjcsMCwwLDAsMTE1LDIyLDAsMCwwLDEyNCwKKyAgICAxLDAsMTI0LDAsMCw5NSwwLDAsMTI0LDIsMCwxMjQsMCwwLDk1LDEsCisgICAgMCwxMDAsMSwwLDgzLDQxLDIsMTIyLDc1LDY3LDk3LDk5LDEwNCwxMDEsMzIsMTE2LAorICAgIDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTEwLDk3LDEwOSwxMDEsMzIsOTcsCisgICAgMTEwLDEwMCwzMiwxMTYsMTA0LDEwMSwzMiwxMTIsOTcsMTE2LDEwNCwzMiwxMTYsMTExLDMyLDExNiwKKyAgICAxMDQsMTAxLDMyLDEwMiwxMDUsMTA4LDEwMSwzMiwxMDIsMTExLDExNywxMTAsMTAwLDMyLDk4LDEyMSwKKyAgICAzMiwxMTYsMTA0LDEwMSwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwxMDIsMTA1LDExMCwKKyAgICAxMDAsMTAxLDExNCw0Niw3OCw0MSwyLDExNCw2NywwLDAsMCwxMTQsMzUsMCwwLAorICAgIDAsNDEsMywxMTQsNzEsMCwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsMzUsMCwKKyAgICAwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLAorICAgIDAsMTE0LDcyLDAsMCwwLDE1LDYsMCwwLDExNSw0LDAsMCwwLDAsCisgICAgMyw5LDEsMTIyLDE5LDcwLDEwNSwxMDgsMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCw0NiwKKyAgICA5NSw5NSwxMDUsMTEwLDEwNSwxMTYsOTUsOTUsOTksMiwwLDAsMCwwLDAsMCwKKyAgICAwLDIsMCwwLDAsMiwwLDAsMCw2NywwLDAsMCwxMTUsMzQsMCwKKyAgICAwLDAsMTI0LDAsMCwxMDYsMCwwLDEyNCwxLDAsMTA2LDAsMCwxMDcsMiwKKyAgICAwLDExMSwzMywwLDEyNCwwLDAsMTA2LDEsMCwxMjQsMSwwLDEwNiwxLDAsCisgICAgMTA3LDIsMCw4Myw0MSwxLDc4LDQxLDIsMTE0LDIyNCwwLDAsMCwxMTQsNjMsCisgICAgMCwwLDAsNDEsMiwxMTQsNzEsMCwwLDAsMTE0LDIyNywwLDAsMCwxMTQsCisgICAgNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMjI5LAorICAgIDAsMCwwLDIxLDYsMCwwLDExNSw0LDAsMCwwLDAsMSwxOCwxLAorICAgIDEyMiwxNyw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsOTUsOTUsMTAxLAorICAgIDExMyw5NSw5NSw5OSwxLDAsMCwwLDAsMCwwLDAsMSwwLDAsMCwKKyAgICAzLDAsMCwwLDY3LDAsMCwwLDExNSwyNiwwLDAsMCwxMTYsMCwwLAorICAgIDEyNCwwLDAsMTA2LDEsMCwxMzEsMSwwLDExNiwwLDAsMTI0LDAsMCwxMDYsCisgICAgMiwwLDEzMSwxLDAsNjUsODMsNDEsMSw3OCw0MSwzLDIxOCw0LDEwNCw5NywKKyAgICAxMTUsMTA0LDExNCw2NywwLDAsMCwxMTQsMzUsMCwwLDAsNDEsMSwxMTQsNzEsCisgICAgMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwKKyAgICAwLDAsMjE4LDgsOTUsOTUsMTA0LDk3LDExNSwxMDQsOTUsOTUsMjUsNiwwLDAsCisgICAgMTE1LDIsMCwwLDAsMCwxLDEyMiwxOSw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsOTcsCisgICAgMTAwLDEwMSwxMTQsNDYsOTUsOTUsMTA0LDk3LDExNSwxMDQsOTUsOTUsOTksMiwwLDAsCisgICAgMCwwLDAsMCwwLDIsMCwwLDAsMywwLDAsMCwzLDAsMCwKKyAgICAwLDExNSwyMiwwLDAsMCwxMTYsMCwwLDExNiwxLDAsMTI0LDAsMCwxMzEsCisgICAgMiwwLDEwNiwyLDAsMTI0LDEsMCwxMzEsMSwwLDgzLDQxLDEsMTIyLDEwMCwKKyAgICA3NiwxMTEsOTcsMTAwLDMyLDk3LDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEwMiwxMTQsCisgICAgMTExLDEwOSwzMiw5NywzMiwxMDIsMTA1LDEwOCwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsCisgICAgMzIsMzIsMzIsMzIsODQsMTA0LDEwNSwxMTUsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMzIsCisgICAgMTA1LDExNSwzMiwxMDAsMTAxLDExMiwxMTQsMTAxLDk5LDk3LDExNiwxMDEsMTAwLDQ2LDMyLDMyLAorICAgIDg1LDExNSwxMDEsMzIsMTAxLDEyMCwxMDEsOTksOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDAsCisgICAgNDEsMzIsMTA1LDExMCwxMTUsMTE2LDEwMSw5NywxMDAsNDYsMTAsMTAsMzIsMzIsMzIsMzIsCisgICAgMzIsMzIsMzIsMzIsNDEsMywyMTgsNSwxMTUsMTE3LDExMiwxMDEsMTE0LDExNCw0OCwxLAorICAgIDAsMCwxMTQsMywxLDAsMCw0MSwyLDExNCw3MSwwLDAsMCwxMTQsMTU5LAorICAgIDAsMCwwLDQxLDEsMTE0LDIyNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsCisgICAgNSwwLDAsMCwxMTQsMywxLDAsMCwyOCw2LDAsMCwxMTUsMiwwLAorICAgIDAsMCwwLDEwLDEyMiwyMiw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsCisgICAgNDYsMTA4LDExMSw5NywxMDAsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTksMiwwLDAsCisgICAgMCwwLDAsMCwwLDIsMCwwLDAsMSwwLDAsMCw2NywwLDAsCisgICAgMCwxMTUsNywwLDAsMCwxMjQsMCwwLDEwNiwwLDAsODMsNDEsMSwxMjIsCisgICAgNTgsODIsMTAxLDExNiwxMTcsMTE0LDExMCwzMiwxMTYsMTA0LDEwMSwzMiwxMTIsOTcsMTE2LDEwNCwKKyAgICAzMiwxMTYsMTExLDMyLDExNiwxMDQsMTAxLDMyLDExNSwxMTEsMTE3LDExNCw5OSwxMDEsMzIsMTAyLAorICAgIDEwNSwxMDgsMTAxLDMyLDk3LDExNSwzMiwxMDIsMTExLDExNywxMTAsMTAwLDMyLDk4LDEyMSwzMiwKKyAgICAxMTYsMTA0LDEwMSwzMiwxMDIsMTA1LDExMCwxMDAsMTAxLDExNCw0Niw0MSwxLDExNCwzNSwwLAorICAgIDAsMCw0MSwyLDExNCw3MSwwLDAsMCwxMTQsMTU5LDAsMCwwLDExNCw0LAorICAgIDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwyMzgsMCwKKyAgICAwLDAsNDAsNiwwLDAsMTE1LDIsMCwwLDAsMCwzLDEyMiwyMyw3MCwKKyAgICAxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTAzLDEwMSwxMTYsOTUsMTAyLDEwNSwKKyAgICAxMDgsMTAxLDExMCw5NywxMDksMTAxLDk5LDIsMCwwLDAsMCwwLDAsMCwzLAorICAgIDAsMCwwLDgsMCwwLDAsNjcsMCwwLDAsMTE1LDQxLDAsMCwwLAorICAgIDExNiwwLDAsMTA2LDEsMCwxMjQsMSwwLDEwMCwxLDAsMTMxLDIsMCwxNDMsCisgICAgMTcsMCwxMjUsMiwwLDEyNCwyLDAsMTA2LDIsMCwxMzEsMCwwLDgzLDg3LAorICAgIDEwMCwyLDAsODEsODgsMTAwLDIsMCw4Myw0MSwzLDEyMiwzOSw4MiwxMDEsMTE2LAorICAgIDExNywxMTQsMTEwLDMyLDExNiwxMDQsMTAxLDMyLDEwMCw5NywxMTYsOTcsMzIsMTAyLDExNCwxMTEsCisgICAgMTA5LDMyLDExMiw5NywxMTYsMTA0LDMyLDk3LDExNSwzMiwxMTQsOTcsMTE5LDMyLDk4LDEyMSwKKyAgICAxMTYsMTAxLDExNSw0NiwyMTgsMSwxMTQsNzgsNDEsMywxMTQsNDksMCwwLDAsMTE0LAorICAgIDUwLDAsMCwwLDkwLDQsMTE0LDEwMSw5NywxMDAsNDEsMywxMTQsNzEsMCwwLAorICAgIDAsMTE0LDM1LDAsMCwwLDExNCw1NCwwLDAsMCwxMTQsNCwwLDAsMCwKKyAgICAxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMzksMSwwLDAsNDUsCisgICAgNiwwLDAsMTE1LDQsMCwwLDAsMCwyLDIxLDEsMTIyLDE5LDcwLDEwNSwKKyAgICAxMDgsMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCw0NiwxMDMsMTAxLDExNiw5NSwxMDAsOTcsMTE2LAorICAgIDk3LDQxLDExLDExNCw1NywwLDAsMCwxMTQsNTYsMCwwLDAsMTE0LDU4LDAsCisgICAgMCwwLDExNCw1OSwwLDAsMCwxMTQsNzIsMCwwLDAsMTE0LDIyOSwwLDAsCisgICAgMCwxMTQsNTAsMSwwLDAsMTE0LDE1NywwLDAsMCwxMTQsMywxLDAsMCwKKyAgICAxMTQsMjM4LDAsMCwwLDExNCwzOSwxLDAsMCwxMTQsNCwwLDAsMCwxMTQsCisgICAgNCwwLDAsMCw0MSwxLDExNCwyMjQsMCwwLDAsMTE0LDUsMCwwLDAsCisgICAgMTE0LDQ4LDEsMCwwLDEwLDYsMCwwLDExNSwxNCwwLDAsMCwxMiwzLAorICAgIDYsMiwxMiw2LDEyLDQsMTIsMywyNCwxMiwxOCw1LDExNCw0OCwxLDAsCisgICAgMCw5OSwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCw0LDAsCisgICAgMCwwLDY0LDAsMCwwLDExNSw2NCwwLDAsMCwxMDEsMCwwLDkwLDEsCisgICAgMCwxMDAsMCwwLDkwLDIsMCwxMDAsMSwwLDkwLDMsMCwxMDAsMiwwLAorICAgIDEwMCwzLDAsMTMyLDAsMCw5MCw0LDAsMTAwLDQsMCwxMDAsNSwwLDEzMiwKKyAgICAwLDAsOTAsNSwwLDEwMCw2LDAsMTAwLDcsMCwxMDAsOCwwLDEwMCw5LAorICAgIDAsMTMyLDAsMSw5MCw2LDAsMTAwLDEwLDAsODMsNDEsMTEsMTE0LDcsMSwKKyAgICAwLDAsMTIyLDYyLDY3LDExMSwxMTAsOTksMTE0LDEwMSwxMTYsMTAxLDMyLDEwNSwxMDksMTEyLAorICAgIDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDk3LDExNiwxMDUsMTExLDExMCwzMiwxMTEsMTAyLDMyLDgzLAorICAgIDExMSwxMTcsMTE0LDk5LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsMzIsMTE3LDExNSwxMDUsMTEwLAorICAgIDEwMywzMiwxMTYsMTA0LDEwMSwzMiwxMDIsMTA1LDEwOCwxMDEsMzIsMTE1LDEyMSwxMTUsMTE2LDEwMSwKKyAgICAxMDksNDYsOTksMiwwLDAsMCwwLDAsMCwwLDMsMCwwLDAsMywKKyAgICAwLDAsMCw2NywwLDAsMCwxMTUsMzYsMCwwLDAsMTE2LDAsMCwxMjQsCisgICAgMSwwLDEzMSwxLDAsMTI1LDIsMCwxMDUsMiwwLDEyNCwyLDAsMTA2LDEsCisgICAgMCwxMDAsMSwwLDU0LDEyNCwyLDAsMTA2LDIsMCwxMDAsMiwwLDU0LDgzLAorICAgIDQxLDMsMTIyLDMzLDgyLDEwMSwxMTYsMTE3LDExNCwxMTAsMzIsMTE2LDEwNCwxMDEsMzIsMTA5LAorICAgIDEwMSwxMTYsOTcsMTAwLDk3LDExNiw5NywzMiwxMDIsMTExLDExNCwzMiwxMTYsMTA0LDEwMSwzMiwKKyAgICAxMTIsOTcsMTE2LDEwNCw0NiwxMTQsMTgyLDAsMCwwLDExNCwxODMsMCwwLDAsNDEsCisgICAgMywxMTQsMzksMCwwLDAsMjE4LDgsMTE1LDExNiw5NSwxMDksMTE2LDEwNSwxMDksMTAxLAorICAgIDkwLDcsMTE1LDExNiw5NSwxMTUsMTA1LDEyMiwxMDEsNDEsMywxMTQsNzEsMCwwLDAsCisgICAgMTE0LDM1LDAsMCwwLDExNCw0NiwxLDAsMCwxMTQsNCwwLDAsMCwxMTQsCisgICAgNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMzYsMSwwLDAsNTUsNiwKKyAgICAwLDAsMTE1LDQsMCwwLDAsMCwyLDEyLDEsMTIyLDI3LDgzLDExMSwxMTcsCisgICAgMTE0LDk5LDEwMSw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTEyLDk3LAorICAgIDExNiwxMDQsOTUsMTE1LDExNiw5NywxMTYsMTE1LDk5LDQsMCwwLDAsMCwwLDAsCisgICAgMCw1LDAsMCwwLDUsMCwwLDAsNjcsMCwwLDAsMTE1LDM0LDAsCisgICAgMCwwLDExNiwwLDAsMTI0LDEsMCwxMzEsMSwwLDEyNSw0LDAsMTI0LDAsCisgICAgMCwxMDYsMSwwLDEyNCwyLDAsMTI0LDMsMCwxMDAsMSwwLDEyNCw0LDAsCisgICAgMTMxLDIsMSw4Myw0MSwyLDc4LDIxOCw1LDk1LDEwOSwxMTEsMTAwLDEwMSw0MSwyLAorICAgIDExNCwxNDUsMCwwLDAsMTE0LDM3LDEsMCwwLDQxLDUsMTE0LDcxLDAsMCwKKyAgICAwLDExNCwxNDIsMCwwLDAsMTE0LDE0MSwwLDAsMCwxMTQsNTMsMCwwLDAsCisgICAgMTE0LDQyLDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCwKKyAgICA1LDAsMCwwLDExNCwzOCwxLDAsMCw2MCw2LDAsMCwxMTUsNCwwLAorICAgIDAsMCwwLDIsMTIsMSwxMjIsMzIsODMsMTExLDExNywxMTQsOTksMTAxLDcwLDEwNSwKKyAgICAxMDgsMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCw0Niw5NSw5OSw5Nyw5OSwxMDQsMTAxLDk1LAorICAgIDk4LDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsMTAxLDExNCw1NCwxLDAsMCwxMDUsMTgyLDEsCisgICAgMCwwLDk5LDMsMCwwLDAsMSwwLDAsMCw5LDAsMCwwLDE3LAorICAgIDAsMCwwLDY3LDAsMCwwLDExNSw1MywxLDAsMCwxMTYsMCwwLDEyNCwKKyAgICAxLDAsMTMxLDEsMCw5MiwyLDAsMTI1LDQsMCwxMjUsNSwwLDEwMywwLAorICAgIDAsMTI1LDYsMCwxMjAsNTQsMCwxMjQsNCwwLDExNCw4MCwwLDExNiwxLDAsCisgICAgMTI0LDQsMCwxMzEsMSwwLDEyLDExNCw4MCwwLDExNiwwLDAsMTI0LDQsMCwKKyAgICAxMzEsMSwwLDkyLDIsMCwxMjUsNCwwLDEyNSw3LDAsMTI0LDYsMCwxMDYsCisgICAgMiwwLDEyNCw3LDAsMTMxLDEsMCwxLDExMywyNywwLDg3LDEyMCwxMzIsMCwKKyAgICAxMTYsMywwLDEyNCw2LDAsMTMxLDEsMCw2OCw5MywxMTgsMCwxMjUsNywwLAorICAgIDExNiw0LDAsMTI0LDQsMCwxMjQsNywwLDEzMSwyLDAsMTI1LDQsMCwxMjEsCisgICAgMTcsMCwxMTYsNSwwLDEwNiw2LDAsMTI0LDQsMCwxMzEsMSwwLDEsODcsCisgICAgMTEzLDk0LDAsNCwxMTYsNywwLDEwNywxMCwwLDExNCwxNTUsMCwxLDEsMSwKKyAgICAxMTksOTQsMCw4OSwxMTMsOTQsMCw0LDExNiw4LDAsMTA3LDEwLDAsMTE0LDIxMSwKKyAgICAwLDEsMTI1LDgsMCwxLDEyMiwyNSwwLDExNiw5LDAsMTAwLDEsMCwxMjQsCisgICAgNCwwLDEyNCw4LDAsMTMxLDMsMCwxLDEwMCwyLDAsODMsODcsODksMTAwLAorICAgIDIsMCwxMDAsMiwwLDEyNSw4LDAsMTI2LDgsMCw4OCwxMTMsOTQsMCw4OCwKKyAgICAxMTMsOTQsMCw4NywxMjEsMzMsMCwxMTYsMTAsMCwxMjQsMSwwLDEyNCwyLDAsCisgICAgMTI0LDMsMCwxMzEsMywwLDEsMTE2LDksMCwxMDAsMywwLDEyNCwxLDAsCisgICAgMTMxLDIsMCwxLDg3LDExMCw1MywwLDQsMTE2LDgsMCwxMDcsMTAsMCwxMTQsCisgICAgNDgsMSwxLDEyNSw4LDAsMSwxMjIsMjEsMCwxMTYsOSwwLDEwMCwxLDAsCisgICAgMTI0LDEsMCwxMjQsOCwwLDEzMSwzLDAsMSw4Nyw4OSwxMDAsMiwwLDEwMCwKKyAgICAyLDAsMTI1LDgsMCwxMjYsOCwwLDg4LDExMCwxLDAsODgsMTAwLDIsMCwKKyAgICA4Myw0MSw0LDEyMiwyNyw4NywxMTQsMTA1LDExNiwxMDEsMzIsOTgsMTIxLDExNiwxMDEsMTE1LAorICAgIDMyLDEwMCw5NywxMTYsOTcsMzIsMTE2LDExMSwzMiw5NywzMiwxMDIsMTA1LDEwOCwxMDEsNDYsCisgICAgMTIyLDI3LDk5LDExMSwxMTcsMTA4LDEwMCwzMiwxMTAsMTExLDExNiwzMiw5OSwxMTQsMTAxLDk3LAorICAgIDExNiwxMDEsMzIsMTIzLDMzLDExNCwxMjUsNTgsMzIsMTIzLDMzLDExNCwxMjUsNzgsMTIyLDEyLAorICAgIDk5LDExNCwxMDEsOTcsMTE2LDEwMSwxMDAsMzIsMTIzLDMzLDExNCwxMjUsNDEsMTEsMTE0LDM4LAorICAgIDAsMCwwLDExNCw0NiwwLDAsMCwxMTQsMjIzLDAsMCwwLDExNCwzMywwLAorICAgIDAsMCwxMTQsMjgsMCwwLDAsMTE0LDMsMCwwLDAsOTAsNSwxMDksMTA3LAorICAgIDEwMCwxMDUsMTE0LDIxOCwxNSw3MCwxMDUsMTA4LDEwMSw2OSwxMjAsMTA1LDExNSwxMTYsMTE1LDY5LAorICAgIDExNCwxMTQsMTExLDExNCwxMTQsNDAsMCwwLDAsMTE0LDE1MywwLDAsMCwxMTQsNTUsCisgICAgMCwwLDAsNDEsOSwxMTQsNzEsMCwwLDAsMTE0LDM1LDAsMCwwLDExNCwKKyAgICA1MywwLDAsMCwxMTQsNTQsMSwwLDAsMTE0LDIzMywwLDAsMCwxMTQsMTMxLAorICAgIDAsMCwwLDExNCwyNywwLDAsMCwxMTQsMjMsMCwwLDAsMTE0LDQwLDEsCisgICAgMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwKKyAgICAwLDExNCwzNywxLDAsMCw2NSw2LDAsMCwxMTUsMzgsMCwwLDAsMCwKKyAgICAyLDE4LDEsNiwyLDIyLDEsMTgsMSwxNywyLDE5LDEsMTUsMSwzLAorICAgIDEsMTcsMSwxMywyLDcsMSwxOCwzLDE2LDEsMjcsMSwzLDEsMTYsCisgICAgMSwxNywxLDE4LDIsMTIyLDI1LDgzLDExMSwxMTcsMTE0LDk5LDEwMSw3MCwxMDUsMTA4LAorICAgIDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTE1LDEwMSwxMTYsOTUsMTAwLDk3LDExNiw5NywKKyAgICA3OCw0MSw3LDExNCw1NywwLDAsMCwxMTQsNTYsMCwwLDAsMTE0LDU4LDAsCisgICAgMCwwLDExNCw1OSwwLDAsMCwxMTQsMzYsMSwwLDAsMTE0LDM4LDEsMCwKKyAgICAwLDExNCwzNywxLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwKKyAgICAxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsNywxLDAsMCw1MSwKKyAgICA2LDAsMCwxMTUsOCwwLDAsMCwxMiwyLDYsMiwxMiw1LDEyLDUsCisgICAgMTE0LDcsMSwwLDAsOTksMCwwLDAsMCwwLDAsMCwwLDAsMCwKKyAgICAwLDAsMiwwLDAsMCw2NCwwLDAsMCwxMTUsNDYsMCwwLDAsMTAxLAorICAgIDAsMCw5MCwxLDAsMTAwLDAsMCw5MCwyLDAsMTAwLDEsMCw5MCwzLAorICAgIDAsMTAwLDIsMCwxMDAsMywwLDEzMiwwLDAsOTAsNCwwLDEwMCw0LDAsCisgICAgMTAwLDUsMCwxMzIsMCwwLDkwLDUsMCwxMDAsNiwwLDgzLDQxLDcsMTE0LAorICAgIDYsMSwwLDAsMTIyLDQ1LDc2LDExMSw5NywxMDAsMTAxLDExNCwzMiwxMTksMTA0LDEwNSwKKyAgICA5OSwxMDQsMzIsMTA0LDk3LDExMCwxMDAsMTA4LDEwMSwxMTUsMzIsMTE1LDExMSwxMTcsMTE0LDk5LAorICAgIDEwMSwxMDgsMTAxLDExNSwxMTUsMzIsMTAyLDEwNSwxMDgsMTAxLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsCisgICAgMTE2LDExNSw0Niw5OSwyLDAsMCwwLDAsMCwwLDAsNSwwLDAsMCwKKyAgICA2LDAsMCwwLDY3LDAsMCwwLDExNSw3NiwwLDAsMCwxMjQsMCwwLAorICAgIDEwNiwwLDAsMTI0LDEsMCwxMzEsMSwwLDEyNSwyLDAsMTI0LDAsMCwxMDYsCisgICAgMSwwLDEyNCwyLDAsMTMxLDEsMCwxMjUsMywwLDExNiwyLDAsMTI0LDMsCisgICAgMCwxMDAsMSwwLDEyNCwxLDAsMTAwLDIsMCwxMjQsMiwwLDEzMSwxLDIsCisgICAgMTI1LDQsMCwxMTYsMywwLDEyNCw0LDAsMTAwLDEsMCwxMjQsMSwwLDEwMCwKKyAgICAzLDAsMTI0LDIsMCwxMzEsMSwyLDgzLDQxLDQsNzgsMTE0LDY3LDAsMCwKKyAgICAwLDExNCwzNSwwLDAsMCwxMTQsMTQxLDAsMCwwLDQxLDQsMTE0LDIzOCwwLAorICAgIDAsMCwxMTQsMzksMSwwLDAsMTE0LDE4OSwwLDAsMCwxMTQsMTk0LDAsMCwKKyAgICAwLDQxLDUsMTE0LDcxLDAsMCwwLDExNCwxNTksMCwwLDAsMTE0LDM1LDAsCisgICAgMCwwLDExNCw1MywwLDAsMCwxMTQsNDcsMSwwLDAsMTE0LDQsMCwwLAorICAgIDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDE0LDEsMCwwLAorICAgIDk4LDYsMCwwLDExNSw4LDAsMCwwLDAsMSwxNSwxLDE1LDEsMjQsCisgICAgMSwxMjIsMjksODMsMTExLDExNywxMTQsOTksMTAxLDEwOCwxMDEsMTE1LDExNSw3MCwxMDUsMTA4LAorICAgIDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTAzLDEwMSwxMTYsOTUsOTksMTExLDEwMCwxMDEsCisgICAgOTksMiwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsMSwwLDAsCisgICAgMCw2NywwLDAsMCwxMTUsNCwwLDAsMCwxMDAsMSwwLDgzLDQxLDIsCisgICAgMTIyLDM5LDgyLDEwMSwxMTYsMTE3LDExNCwxMTAsMzIsNzgsMTExLDExMCwxMDEsMzIsOTcsMTE1LAorICAgIDMyLDExNiwxMDQsMTAxLDExNCwxMDEsMzIsMTA1LDExNSwzMiwxMTAsMTExLDMyLDExNSwxMTEsMTE3LAogICAgIDExNCw5OSwxMDEsMzIsOTksMTExLDEwMCwxMDEsNDYsNzgsMTE0LDQsMCwwLDAsNDEsCiAgICAgMiwxMTQsNzEsMCwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsNCwwLDAsMCwKLSAgICAxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMTcsMSwwLDAsMjAwLAotICAgIDYsMCwwLDExNSwyLDAsMCwwLDAsMiwxMjIsMzAsNjksMTIwLDExNiwxMDEsCi0gICAgMTEwLDExNSwxMDUsMTExLDExMCw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsCi0gICAgMTAzLDEwMSwxMTYsOTUsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSw5OSwyLDAsMCwwLDAsCi0gICAgMCwwLDAsMiwwLDAsMCwxLDAsMCwwLDY3LDAsMCwwLDExNSwKLSAgICA3LDAsMCwwLDEyNCwwLDAsMTA2LDAsMCw4Myw0MSwxLDEyMiw1OCw4MiwKLSAgICAxMDEsMTE2LDExNywxMTQsMTEwLDMyLDExNiwxMDQsMTAxLDMyLDExMiw5NywxMTYsMTA0LDMyLDExNiwKLSAgICAxMTEsMzIsMTE2LDEwNCwxMDEsMzIsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSwzMiwxMDIsMTA1LDEwOCwKLSAgICAxMDEsMzIsOTcsMTE1LDMyLDEwMiwxMTEsMTE3LDExMCwxMDAsMzIsOTgsMTIxLDMyLDExNiwxMDQsCi0gICAgMTAxLDMyLDEwMiwxMDUsMTEwLDEwMCwxMDEsMTE0LDQ2LDQxLDEsMTE0LDM1LDAsMCwwLAotICAgIDQxLDIsMTE0LDcxLDAsMCwwLDExNCwxNTksMCwwLDAsMTE0LDQsMCwwLAotICAgIDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDIzOSwwLDAsMCwKLSAgICAyMDQsNiwwLDAsMTE1LDIsMCwwLDAsMCwzLDEyMiwzMiw2OSwxMjAsMTE2LAorICAgIDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwxNSwxLDAsMCwxMDQsCisgICAgNiwwLDAsMTE1LDIsMCwwLDAsMCwyLDEyMiwzMSw4MywxMTEsMTE3LDExNCwKKyAgICA5OSwxMDEsMTA4LDEwMSwxMTUsMTE1LDcwLDEwNSwxMDgsMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCwKKyAgICA0NiwxMDMsMTAxLDExNiw5NSwxMTUsMTExLDExNywxMTQsOTksMTAxLDc4LDQxLDYsMTE0LDU3LAorICAgIDAsMCwwLDExNCw1NiwwLDAsMCwxMTQsNTgsMCwwLDAsMTE0LDU5LDAsCisgICAgMCwwLDExNCwxNCwxLDAsMCwxMTQsMTUsMSwwLDAsMTE0LDQsMCwwLAorICAgIDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsCisgICAgMTE0LDYsMSwwLDAsOTQsNiwwLDAsMTE1LDYsMCwwLDAsMTIsMiwKKyAgICA2LDIsMTIsNiwxMTQsNiwxLDAsMCw5OSwwLDAsMCwwLDAsMCwKKyAgICAwLDAsMCwwLDAsMCwzLDAsMCwwLDY0LDAsMCwwLDExNSwxMzAsCisgICAgMCwwLDAsMTAxLDAsMCw5MCwxLDAsMTAwLDAsMCw5MCwyLDAsMTAwLAorICAgIDEsMCw5MCwzLDAsMTAwLDIsMCwxMDAsMywwLDEzMiwwLDAsOTAsNCwKKyAgICAwLDEwMCw0LDAsMTAwLDUsMCwxMzIsMCwwLDkwLDUsMCwxMDAsNiwwLAorICAgIDEwMCw3LDAsMTMyLDAsMCw5MCw2LDAsMTAxLDcsMCwxMDAsOCwwLDEwMCwKKyAgICA5LDAsMTMyLDAsMCwxMzEsMSwwLDkwLDgsMCwxMDAsMTAsMCwxMDAsMTEsCisgICAgMCwxMzIsMCwwLDkwLDksMCwxMDAsMTIsMCwxMDAsMTMsMCwxMzIsMCwwLAorICAgIDkwLDEwLDAsMTAwLDE0LDAsMTAwLDE1LDAsMTMyLDAsMCw5MCwxMSwwLDEwMSwKKyAgICA3LDAsMTAwLDE2LDAsMTAwLDE3LDAsMTMyLDAsMCwxMzEsMSwwLDkwLDEyLAorICAgIDAsMTAwLDE4LDAsODMsNDEsMTksMjE4LDE5LDY5LDEyMCwxMTYsMTAxLDExMCwxMTUsMTA1LAorICAgIDExMSwxMTAsNzAsMTA1LDEwOCwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDEyMiw5Myw3NiwxMTEsCisgICAgOTcsMTAwLDEwMSwxMTQsMzIsMTAyLDExMSwxMTQsMzIsMTAxLDEyMCwxMTYsMTAxLDExMCwxMTUsMTA1LAorICAgIDExMSwxMTAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE1LDQ2LDEwLDEwLDMyLDMyLDMyLAorICAgIDMyLDg0LDEwNCwxMDEsMzIsOTksMTExLDExMCwxMTUsMTE2LDExNCwxMTcsOTksMTE2LDExMSwxMTQsCisgICAgMzIsMTA1LDExNSwzMiwxMDAsMTAxLDExNSwxMDUsMTAzLDExMCwxMDEsMTAwLDMyLDExNiwxMTEsMzIsCisgICAgMTE5LDExMSwxMTQsMTA3LDMyLDExOSwxMDUsMTE2LDEwNCwzMiw3MCwxMDUsMTA4LDEwMSw3MCwxMDUsCisgICAgMTEwLDEwMCwxMDEsMTE0LDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDk5LDMsMCwwLDAsCisgICAgMCwwLDAsMCwzLDAsMCwwLDIsMCwwLDAsNjcsMCwwLDAsCisgICAgMTE1LDIyLDAsMCwwLDEyNCwxLDAsMTI0LDAsMCw5NSwwLDAsMTI0LDIsCisgICAgMCwxMjQsMCwwLDk1LDEsMCwxMDAsMCwwLDgzLDQxLDEsNzgsNDEsMiwKKyAgICAxMTQsNjcsMCwwLDAsMTE0LDM1LDAsMCwwLDQxLDMsMTE0LDcxLDAsMCwKKyAgICAwLDExNCw2NywwLDAsMCwxMTQsMzUsMCwwLDAsMTE0LDQsMCwwLDAsCisgICAgMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDcyLDAsMCwwLDEyMSwKKyAgICA2LDAsMCwxMTUsNCwwLDAsMCwwLDEsOSwxLDEyMiwyOCw2OSwxMjAsCisgICAgMTE2LDEwMSwxMTAsMTE1LDEwNSwxMTEsMTEwLDcwLDEwNSwxMDgsMTAxLDc2LDExMSw5NywxMDAsMTAxLAorICAgIDExNCw0Niw5NSw5NSwxMDUsMTEwLDEwNSwxMTYsOTUsOTUsOTksMiwwLDAsMCwwLAorICAgIDAsMCwwLDIsMCwwLDAsMiwwLDAsMCw2NywwLDAsMCwxMTUsCisgICAgMzQsMCwwLDAsMTI0LDAsMCwxMDYsMCwwLDEyNCwxLDAsMTA2LDAsMCwKKyAgICAxMDcsMiwwLDExMSwzMywwLDEyNCwwLDAsMTA2LDEsMCwxMjQsMSwwLDEwNiwKKyAgICAxLDAsMTA3LDIsMCw4Myw0MSwxLDc4LDQxLDIsMTE0LDIyNCwwLDAsMCwKKyAgICAxMTQsNjMsMCwwLDAsNDEsMiwxMTQsNzEsMCwwLDAsMTE0LDIyNywwLDAsCisgICAgMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwKKyAgICAxMTQsMjI5LDAsMCwwLDEyNSw2LDAsMCwxMTUsNCwwLDAsMCwwLDEsCisgICAgMTgsMSwxMjIsMjYsNjksMTIwLDExNiwxMDEsMTEwLDExNSwxMDUsMTExLDExMCw3MCwxMDUsMTA4LAorICAgIDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsOTUsOTUsMTAxLDExMyw5NSw5NSw5OSwxLAorICAgIDAsMCwwLDAsMCwwLDAsMSwwLDAsMCwzLDAsMCwwLDY3LAorICAgIDAsMCwwLDExNSwyNiwwLDAsMCwxMTYsMCwwLDEyNCwwLDAsMTA2LDEsCisgICAgMCwxMzEsMSwwLDExNiwwLDAsMTI0LDAsMCwxMDYsMiwwLDEzMSwxLDAsCisgICAgNjUsODMsNDEsMSw3OCw0MSwzLDExNCw0OSwxLDAsMCwxMTQsNjcsMCwwLAorICAgIDAsMTE0LDM1LDAsMCwwLDQxLDEsMTE0LDcxLDAsMCwwLDExNCw0LDAsCisgICAgMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCw1MCwxLDAsCisgICAgMCwxMjksNiwwLDAsMTE1LDIsMCwwLDAsMCwxLDEyMiwyOCw2OSwxMjAsCisgICAgMTE2LDEwMSwxMTAsMTE1LDEwNSwxMTEsMTEwLDcwLDEwNSwxMDgsMTAxLDc2LDExMSw5NywxMDAsMTAxLAorICAgIDExNCw0Niw5NSw5NSwxMDQsOTcsMTE1LDEwNCw5NSw5NSw5OSwyLDAsMCwwLDAsCisgICAgMCwwLDAsNCwwLDAsMCwxMSwwLDAsMCw2NywwLDAsMCwxMTUsCisgICAgMTc3LDAsMCwwLDExNiwwLDAsMTI0LDEsMCwxMzEsMSwwLDE0MywyOSwwLAorICAgIDEsMTE2LDEsMCwxMTYsMiwwLDEwNiwzLDAsMTI0LDEsMCwxMjQsMCwwLAorICAgIDEwNiw0LDAsMTMxLDMsMCwxMjUsMiwwLDg3LDEwMCwxLDAsODEsODgsMTE2LAorICAgIDUsMCwxMDAsMiwwLDEyNCwwLDAsMTA2LDQsMCwxMzEsMiwwLDEsMTI0LAorICAgIDAsMCwxMDYsNiwwLDEyNCwxLDAsMTMxLDEsMCwxMjUsMywwLDEyNCwzLAorICAgIDAsMTE0LDEyMSwwLDExNiw3LDAsMTI0LDIsMCwxMDAsMywwLDEzMSwyLDAsCisgICAgMTIsMTE0LDEyMSwwLDExNiw4LDAsMTI0LDAsMCwxMDYsNCwwLDEzMSwxLDAsCisgICAgMTAwLDQsMCwyNSwxMDMsMSwwLDEyNCwyLDAsOTUsOSwwLDEyNCwwLDAsCisgICAgMTI0LDIsMCw5NSwxMCwwLDEyNCwyLDAsMTA2LDExLDAsMTI0LDIsMCw5NSwKKyAgICAxMiwwLDEyNCwzLDAsMTE1LDE3MywwLDEyNCwyLDAsMTA2LDEyLDAsMTA2LDEzLAorICAgIDAsMTAwLDUsMCwxMzEsMSwwLDEwMCw0LDAsMjUsMTI0LDIsMCw5NSwxMiwKKyAgICAwLDEyNCwyLDAsODMsNDEsNiwxMjIsMjUsNzYsMTExLDk3LDEwMCwzMiw5NywxMTAsCisgICAgMzIsMTAxLDEyMCwxMTYsMTAxLDExMCwxMTUsMTA1LDExMSwxMTAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwKKyAgICAxMDEsNDYsNzgsMTIyLDMzLDEwMSwxMjAsMTE2LDEwMSwxMTAsMTE1LDEwNSwxMTEsMTEwLDMyLDEwOSwKKyAgICAxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEwOCwxMTEsOTcsMTAwLDEwMSwxMDAsMzIsMTAyLDExNCwxMTEsCisgICAgMTA5LDMyLDEyMywzMywxMTQsMTI1LDExNCwyNDYsMCwwLDAsMTE0LDg0LDAsMCwwLAorICAgIDExNCwxMTYsMCwwLDAsNDEsMTQsMTE0LDY5LDAsMCwwLDExNCwxMTQsMCwwLAorICAgIDAsMTE0LDEwNiwwLDAsMCw5MCwxMiwxMDgsMTExLDk3LDEwMCw5NSwxMDAsMTIxLDExMCwKKyAgICA5NywxMDksMTA1LDk5LDExNCwzNSwwLDAsMCwxMTQsMTUzLDAsMCwwLDExNCwyMTksCisgICAgMCwwLDAsMTE0LDYwLDAsMCwwLDExNCwzOCwwLDAsMCwxMTQsMjQ2LDAsCisgICAgMCwwLDExNCwyMDMsMCwwLDAsMTE0LDU3LDAsMCwwLDExNCwyNDksMCwwLAorICAgIDAsMTE0LDMyLDAsMCwwLDQxLDQsMTE0LDcxLDAsMCwwLDExNCwxNTksMCwKKyAgICAwLDAsMTE0LDE3OCwwLDAsMCwxMTQsMjE5LDAsMCwwLDExNCw0LDAsMCwKKyAgICAwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwzLDEsMCwwLAorICAgIDEzMiw2LDAsMCwxMTUsMjQsMCwwLDAsMCw1LDEzLDEsOSwxLDIxLAorICAgIDEsMTYsMSwxNSwxLDIyLDEsMjUsMSw5LDEsMTIsMSw2LDEsMjUsCisgICAgMSwxMjIsMzEsNjksMTIwLDExNiwxMDEsMTEwLDExNSwxMDUsMTExLDExMCw3MCwxMDUsMTA4LDEwMSwKKyAgICA3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTA4LDExMSw5NywxMDAsOTUsMTA5LDExMSwxMDAsMTE3LAorICAgIDEwOCwxMDEsOTksMiwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsNCwKKyAgICAwLDAsMCwzLDAsMCwwLDExNSw0OCwwLDAsMCwxMTYsMCwwLDEyNCwKKyAgICAwLDAsMTA2LDEsMCwxMzEsMSwwLDEwMCwxLDAsMjUsMTM3LDAsMCwxMTYsCisgICAgMiwwLDEzNSwwLDAsMTAyLDEsMCwxMDAsMiwwLDEwMCwzLDAsMTM0LDAsCisgICAgMCwxMTYsMywwLDY4LDEzMSwxLDAsMTMxLDEsMCw4Myw0MSw0LDEyMiw0OSwKKyAgICA4MiwxMDEsMTE2LDExNywxMTQsMTEwLDMyLDg0LDExNCwxMTcsMTAxLDMyLDEwNSwxMDIsMzIsMTE2LAorICAgIDEwNCwxMDEsMzIsMTAxLDEyMCwxMTYsMTAxLDExMCwxMTUsMTA1LDExMSwxMTAsMzIsMTA5LDExMSwxMDAsCisgICAgMTE3LDEwOCwxMDEsMzIsMTA1LDExNSwzMiw5NywzMiwxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsCisgICAgNDYsMTE0LDI5LDAsMCwwLDk5LDEsMCwwLDAsMCwwLDAsMCwyLAorICAgIDAsMCwwLDQsMCwwLDAsNTEsMCwwLDAsMTE1LDMxLDAsMCwwLAorICAgIDEyNCwwLDAsOTMsMjEsMCwxMjUsMSwwLDEzNiwwLDAsMTAwLDAsMCwxMjQsCisgICAgMSwwLDIzLDEwNywyLDAsODYsMSwxMTMsMywwLDEwMCwxLDAsODMsNDEsCisgICAgMiwxMTQsNzIsMCwwLDAsNzgsMTE0LDQsMCwwLDAsNDEsMiwxMTQsMjIsCisgICAgMCwwLDAsMjE4LDYsMTE1LDExNywxMDIsMTAyLDEwNSwxMjAsNDEsMSwyMTgsOSwxMDIsCisgICAgMTA1LDEwOCwxMDEsOTUsMTEwLDk3LDEwOSwxMDEsMTE0LDQsMCwwLDAsMTE0LDUsMCwKKyAgICAwLDAsMTE0LDc3LDAsMCwwLDE1Myw2LDAsMCwxMTUsMiwwLDAsMCwKKyAgICA2LDEsMTIyLDQ5LDY5LDEyMCwxMTYsMTAxLDExMCwxMTUsMTA1LDExMSwxMTAsNzAsMTA1LDEwOCwKKyAgICAxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDEwNSwxMTUsOTUsMTEyLDk3LDk5LDEwNyw5NywKKyAgICAxMDMsMTAxLDQ2LDYwLDEwOCwxMTEsOTksOTcsMTA4LDExNSw2Miw0Niw2MCwxMDMsMTAxLDExMCwKKyAgICAxMDEsMTIwLDExMiwxMTQsNjIsNDEsNCwxMTQsMzgsMCwwLDAsMTE0LDM1LDAsMCwKKyAgICAwLDExNCw3OCwwLDAsMCwyMTgsMTgsNjksODgsODQsNjksNzgsODMsNzMsNzksCisgICAgNzgsOTUsODMsODUsNzAsNzAsNzMsODgsNjksODMsNDEsMiwxMTQsNzEsMCwwLAorICAgIDAsMTE0LDE1OSwwLDAsMCwxMTQsNCwwLDAsMCw0MSwxLDExNCw1OCwxLAorICAgIDAsMCwxMTQsNSwwLDAsMCwxMTQsMjE5LDAsMCwwLDE1MCw2LDAsMCwKKyAgICAxMTUsNiwwLDAsMCwwLDIsMTksMSwxOCwxLDEyMiwzMCw2OSwxMjAsMTE2LAogICAgIDEwMSwxMTAsMTE1LDEwNSwxMTEsMTEwLDcwLDEwNSwxMDgsMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCwKLSAgICA0NiwxMDMsMTAxLDExNiw5NSwxMDIsMTA1LDEwOCwxMDEsMTEwLDk3LDEwOSwxMDEsNzgsNDEsMTMsCi0gICAgMTE0LDU3LDAsMCwwLDExNCw1NiwwLDAsMCwxMTQsNTgsMCwwLDAsMTE0LAotICAgIDU5LDAsMCwwLDExNCw3MiwwLDAsMCwxMTQsMjMwLDAsMCwwLDExNCw1MSwKLSAgICAxLDAsMCwxMTQsMTU3LDAsMCwwLDExNCw1LDEsMCwwLDExNCwyMjAsMCwKLSAgICAwLDAsMTE0LDE2LDEsMCwwLDExNCwxNywxLDAsMCwxMTQsMjM5LDAsMCwKLSAgICAwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLAotICAgIDExNCw1LDAsMCwwLDExNCw1NywxLDAsMCwxNTMsNiwwLDAsMTE1LDE4LAotICAgIDAsMCwwLDEyLDYsNiwyLDEyLDQsMTIsNCwxMiwzLDE4LDE4LDEyLAotICAgIDYsMTIsNCwxMiw0LDExNCw1NywxLDAsMCw5OSwwLDAsMCwwLDAsCi0gICAgMCwwLDAsMCwwLDAsMCwyLDAsMCwwLDY0LDAsMCwwLDExNSwKLSAgICAxMzAsMCwwLDAsMTAxLDAsMCw5MCwxLDAsMTAwLDAsMCw5MCwyLDAsCi0gICAgMTAwLDEsMCw5MCwzLDAsMTAwLDIsMCwxMDAsMywwLDEzMiwwLDAsOTAsCi0gICAgNCwwLDEwMCw0LDAsMTAwLDUsMCwxMzIsMCwwLDkwLDUsMCwxMDAsNiwKLSAgICAwLDEwMCw3LDAsMTMyLDAsMCw5MCw2LDAsMTAwLDgsMCwxMDAsOSwwLAotICAgIDEzMiwwLDAsOTAsNywwLDEwMCwxMCwwLDEwMCwxMSwwLDEzMiwwLDAsOTAsCi0gICAgOCwwLDEwMCwxMiwwLDEwMCwxMywwLDEzMiwwLDAsOTAsOSwwLDEwMCwxNCwKLSAgICAwLDEwMCwxNSwwLDEzMiwwLDAsOTAsMTAsMCwxMDAsMTYsMCwxMDAsMTcsMCwKLSAgICAxMzIsMCwwLDkwLDExLDAsMTAwLDE4LDAsMTAwLDE5LDAsMTMyLDAsMCw5MCwKLSAgICAxMiwwLDEwMCwyMCwwLDgzLDQxLDIxLDIxOCwxNCw5NSw3OCw5NywxMDksMTAxLDExNSwKLSAgICAxMTIsOTcsOTksMTAxLDgwLDk3LDExNiwxMDQsOTcsMzgsMSwwLDAsODIsMTAxLDExMiwKLSAgICAxMTQsMTAxLDExNSwxMDEsMTEwLDExNiwxMTUsMzIsOTcsMzIsMTEwLDk3LDEwOSwxMDEsMTE1LDExMiwKLSAgICA5Nyw5OSwxMDEsMzIsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDM5LDExNSwzMiwxMTIsOTcsCi0gICAgMTE2LDEwNCw0NiwzMiwzMiw3MywxMTYsMzIsMTE3LDExNSwxMDEsMTE1LDMyLDExNiwxMDQsMTAxLAotICAgIDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDExMCw5NywxMDksMTAxLDEwLDMyLDMyLDMyLAotICAgIDMyLDExNiwxMTEsMzIsMTAyLDEwNSwxMTAsMTAwLDMyLDEwNSwxMTYsMTE1LDMyLDExMiw5NywxMTQsCi0gICAgMTAxLDExMCwxMTYsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDQsMzIsOTcsMTEwLDEwMCwzMiwKLSAgICAxMDIsMTE0LDExMSwxMDksMzIsMTE2LDEwNCwxMDEsMTE0LDEwMSwzMiwxMDUsMTE2LDMyLDEwOCwxMTEsCi0gICAgMTExLDEwNywxMTUsMzIsMTE3LDExMiwzMiwxMTYsMTA0LDEwMSwzMiwxMTIsOTcsMTE0LDEwMSwxMTAsCi0gICAgMTE2LDM5LDExNSwxMCwzMiwzMiwzMiwzMiw5NSw5NSwxMTIsOTcsMTE2LDEwNCw5NSw5NSwKLSAgICA0NiwzMiwzMiw4NywxMDQsMTAxLDExMCwzMiwxMTYsMTA0LDEwNSwxMTUsMzIsOTksMTA0LDk3LAotICAgIDExMCwxMDMsMTAxLDExNSw0NCwzMiwxMTYsMTA0LDEwMSwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwKLSAgICAzOSwxMTUsMzIsMTExLDExOSwxMTAsMzIsMTEyLDk3LDExNiwxMDQsMzIsMTA1LDExNSwzMiwxMTQsCi0gICAgMTAxLDk5LDExMSwxMDksMTEyLDExNywxMTYsMTAxLDEwMCw0NCwxMCwzMiwzMiwzMiwzMiwxMTcsCi0gICAgMTE1LDEwNSwxMTAsMTAzLDMyLDExMiw5NywxMTYsMTA0LDk1LDEwMiwxMDUsMTEwLDEwMCwxMDEsMTE0LAotICAgIDQ2LDMyLDMyLDcwLDExMSwxMTQsMzIsMTE2LDExMSwxMTIsNDUsMTA4LDEwMSwxMTgsMTAxLDEwOCwKLSAgICAzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTUsNDQsMzIsMTE2LDEwNCwxMDEsMzIsMTEyLDk3LAotICAgIDExNCwxMDEsMTEwLDExNiwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzOSwxMTUsMzIsMTEyLDk3LAotICAgIDExNiwxMDQsMTAsMzIsMzIsMzIsMzIsMTA1LDExNSwzMiwxMTUsMTIxLDExNSw0NiwxMTIsOTcsCi0gICAgMTE2LDEwNCw0Niw5OSw0LDAsMCwwLDAsMCwwLDAsNCwwLDAsMCwKLSAgICAyLDAsMCwwLDY3LDAsMCwwLDExNSw1MiwwLDAsMCwxMjQsMSwwLAotICAgIDEyNCwwLDAsOTUsMCwwLDEyNCwyLDAsMTI0LDAsMCw5NSwxLDAsMTE2LAotICAgIDIsMCwxMjQsMCwwLDEwNiwzLDAsMTMxLDAsMCwxMzEsMSwwLDEyNCwwLAotICAgIDAsOTUsNCwwLDEyNCwzLDAsMTI0LDAsMCw5NSw1LDAsMTAwLDAsMCwKLSAgICA4Myw0MSwxLDc4LDQxLDYsMTE0LDcwLDAsMCwwLDExNCwyNTQsMCwwLDAsCi0gICAgMTE0LDIzMiwwLDAsMCwyMTgsMTYsOTUsMTAzLDEwMSwxMTYsOTUsMTEyLDk3LDExNCwxMDEsCi0gICAgMTEwLDExNiw5NSwxMTIsOTcsMTE2LDEwNCwyMTgsMTcsOTUsMTA4LDk3LDExNSwxMTYsOTUsMTEyLAotICAgIDk3LDExNCwxMDEsMTEwLDExNiw5NSwxMTIsOTcsMTE2LDEwNCwyMTgsMTIsOTUsMTEyLDk3LDExNiwKLSAgICAxMDQsOTUsMTAyLDEwNSwxMTAsMTAwLDEwMSwxMTQsNDEsNCwxMTQsNzEsMCwwLDAsMTE0LAotICAgIDY3LDAsMCwwLDExNCwzNSwwLDAsMCwyMTgsMTEsMTEyLDk3LDExNiwxMDQsOTUsCi0gICAgMTAyLDEwNSwxMTAsMTAwLDEwMSwxMTQsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsCi0gICAgMTE0LDUsMCwwLDAsMTE0LDcyLDAsMCwwLDIxNyw2LDAsMCwxMTUsOCwKLSAgICAwLDAsMCwwLDEsOSwxLDksMSwyMSwxLDEyMiwyMyw5NSw3OCw5NywKLSAgICAxMDksMTAxLDExNSwxMTIsOTcsOTksMTAxLDgwLDk3LDExNiwxMDQsNDYsOTUsOTUsMTA1LDExMCwKLSAgICAxMDUsMTE2LDk1LDk1LDk5LDEsMCwwLDAsMCwwLDAsMCw0LDAsMCwKLSAgICAwLDMsMCwwLDAsNjcsMCwwLDAsMTE1LDUzLDAsMCwwLDEyNCwwLAotICAgIDAsMTA2LDAsMCwxMDYsMSwwLDEwMCwxLDAsMTMxLDEsMCw5MiwzLDAsCi0gICAgMTI1LDEsMCwxMjUsMiwwLDEyNSwzLDAsMTI0LDIsMCwxMDAsMiwwLDEwNywKLSAgICAyLDAsMTE0LDQzLDAsMTAwLDYsMCw4MywxMjQsMSwwLDEwMCw1LDAsMTAyLAotICAgIDIsMCw4Myw0MSw3LDEyMiw2Miw4MiwxMDEsMTE2LDExNywxMTQsMTEwLDExNSwzMiw5NywKLSAgICAzMiwxMTYsMTE3LDExMiwxMDgsMTAxLDMyLDExMSwxMDIsMzIsNDAsMTEyLDk3LDExNCwxMDEsMTEwLAotICAgIDExNiw0NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw0NSwxMTAsOTcsMTA5LDEwMSw0NCwzMiwxMTIsCi0gICAgOTcsMTE0LDEwMSwxMTAsMTE2LDQ1LDExMiw5NywxMTYsMTA0LDQ1LDk3LDExNiwxMTYsMTE0LDQ1LAotICAgIDExMCw5NywxMDksMTAxLDQxLDExNCwxMTYsMCwwLDAsMTE0LDMwLDAsMCwwLDExNCwKLSAgICA3LDAsMCwwLDExNCwzNSwwLDAsMCwxMTQsMjQ3LDAsMCwwLDQxLDIsCi0gICAgMTIyLDMsMTE1LDEyMSwxMTUsMTIyLDQsMTEyLDk3LDExNiwxMDQsNDEsMiwxMTQsNzAsMCwKLSAgICAwLDAsMTE0LDMyLDAsMCwwLDQxLDQsMTE0LDcxLDAsMCwwLDExNCwyMzQsCi0gICAgMCwwLDAsMjE4LDMsMTAwLDExMSwxMTYsMTE0LDk0LDAsMCwwLDExNCw0LDAsCi0gICAgMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwyMyw5NSwxMDIsCi0gICAgMTA1LDExMCwxMDAsOTUsMTEyLDk3LDExNCwxMDEsMTEwLDExNiw5NSwxMTIsOTcsMTE2LDEwNCw5NSwKLSAgICAxMTAsOTcsMTA5LDEwMSwxMTUsMjIzLDYsMCwwLDExNSw4LDAsMCwwLDAsMiwKLSAgICAyNywxLDEyLDIsNCwzLDEyMiwzOCw5NSw3OCw5NywxMDksMTAxLDExNSwxMTIsOTcsCi0gICAgOTksMTAxLDgwLDk3LDExNiwxMDQsNDYsOTUsMTAyLDEwNSwxMTAsMTAwLDk1LDExMiw5NywxMTQsCi0gICAgMTAxLDExMCwxMTYsOTUsMTEyLDk3LDExNiwxMDQsOTUsMTEwLDk3LDEwOSwxMDEsMTE1LDk5LDEsCi0gICAgMCwwLDAsMCwwLDAsMCwzLDAsMCwwLDMsMCwwLDAsNjcsCi0gICAgMCwwLDAsMTE1LDM4LDAsMCwwLDEyNCwwLDAsMTA2LDAsMCwxMzEsMCwKLSAgICAwLDkyLDIsMCwxMjUsMSwwLDEyNSwyLDAsMTE2LDEsMCwxMTYsMiwwLAotICAgIDEwNiwzLDAsMTI0LDEsMCwyNSwxMjQsMiwwLDEzMSwyLDAsODMsNDEsMSwKLSAgICA3OCw0MSw0LDExNCw2NywxLDAsMCwxMTQsNjIsMCwwLDAsMTE0LDcsMCwKLSAgICAwLDAsMTE0LDczLDAsMCwwLDQxLDMsMTE0LDcxLDAsMCwwLDkwLDE4LAotICAgIDExMiw5NywxMTQsMTAxLDExMCwxMTYsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTUsMTEwLDk3LAotICAgIDEwOSwxMDEsOTAsMTQsMTEyLDk3LDExNiwxMDQsOTUsOTcsMTE2LDExNiwxMTQsOTUsMTEwLDk3LAotICAgIDEwOSwxMDEsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLAotICAgIDAsMTE0LDYyLDEsMCwwLDIzMyw2LDAsMCwxMTUsNCwwLDAsMCwwLAotICAgIDEsMTgsMSwxMjIsMzEsOTUsNzgsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSw4MCwKLSAgICA5NywxMTYsMTA0LDQ2LDk1LDEwMywxMDEsMTE2LDk1LDExMiw5NywxMTQsMTAxLDExMCwxMTYsOTUsCi0gICAgMTEyLDk3LDExNiwxMDQsOTksMSwwLDAsMCwwLDAsMCwwLDMsMCwwLAotICAgIDAsMywwLDAsMCw2NywwLDAsMCwxMTUsMTI3LDAsMCwwLDExNiwwLAotICAgIDAsMTI0LDAsMCwxMDYsMSwwLDEzMSwwLDAsMTMxLDEsMCwxMjUsMSwwLAotICAgIDEyNCwxLDAsMTI0LDAsMCwxMDYsMiwwLDEwNywzLDAsMTE0LDEyMCwwLDEyNCwKLSAgICAwLDAsMTA2LDMsMCwxMjQsMCwwLDEwNiw0LDAsMTI0LDEsMCwxMzEsMiwKLSAgICAwLDEyNSwyLDAsMTI0LDIsMCwxMDAsMCwwLDEwNyw5LDAsMTE0LDEwOCwwLAotICAgIDEyNCwyLDAsMTA2LDUsMCwxMDAsMCwwLDEwNyw4LDAsMTE0LDEwOCwwLDEyNCwKLSAgICAyLDAsMTA2LDYsMCwxMTQsMTA4LDAsMTI0LDIsMCwxMDYsNiwwLDEyNCwwLAotICAgIDAsOTUsNywwLDExMywxMDgsMCwxMTAsMCwwLDEyNCwxLDAsMTI0LDAsMCwKLSAgICA5NSwyLDAsMTEwLDAsMCwxMjQsMCwwLDEwNiw3LDAsODMsNDEsMSw3OCwKLSAgICA0MSw4LDExNCwyMzIsMCwwLDAsMTE0LDYyLDEsMCwwLDExNCw2MywxLDAsCi0gICAgMCwxMTQsNjQsMSwwLDAsMTE0LDcwLDAsMCwwLDExNCwxNzAsMCwwLDAsCi0gICAgMTE0LDIyMSwwLDAsMCwxMTQsMjU0LDAsMCwwLDQxLDMsMTE0LDcxLDAsMCwKLSAgICAwLDkwLDExLDExMiw5NywxMTQsMTAxLDExMCwxMTYsOTUsMTEyLDk3LDExNiwxMDQsMTE0LDE3OCwKKyAgICA0NiwxMDUsMTE1LDk1LDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSw5OSwyLDAsMCwwLAorICAgIDAsMCwwLDAsMiwwLDAsMCwxLDAsMCwwLDY3LDAsMCwwLAorICAgIDExNSw0LDAsMCwwLDEwMCwxLDAsODMsNDEsMiwxMjIsNjMsODIsMTAxLDExNiwKKyAgICAxMTcsMTE0LDExMCwzMiw3OCwxMTEsMTEwLDEwMSwzMiw5NywxMTUsMzIsOTcsMTEwLDMyLDEwMSwKKyAgICAxMjAsMTE2LDEwMSwxMTAsMTE1LDEwNSwxMTEsMTEwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLAorICAgIDk5LDk3LDExMCwxMTAsMTExLDExNiwzMiw5OSwxMTQsMTAxLDk3LDExNiwxMDEsMzIsOTcsMzIsCisgICAgOTksMTExLDEwMCwxMDEsMzIsMTExLDk4LDEwNiwxMDEsOTksMTE2LDQ2LDc4LDExNCw0LDAsCisgICAgMCwwLDQxLDIsMTE0LDcxLDAsMCwwLDExNCwxNTksMCwwLDAsMTE0LDQsCisgICAgMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDE0LDEsCisgICAgMCwwLDE1Niw2LDAsMCwxMTUsMiwwLDAsMCwwLDIsMTIyLDI4LDY5LAorICAgIDEyMCwxMTYsMTAxLDExMCwxMTUsMTA1LDExMSwxMTAsNzAsMTA1LDEwOCwxMDEsNzYsMTExLDk3LDEwMCwKKyAgICAxMDEsMTE0LDQ2LDEwMywxMDEsMTE2LDk1LDk5LDExMSwxMDAsMTAxLDk5LDIsMCwwLDAsCisgICAgMCwwLDAsMCwyLDAsMCwwLDEsMCwwLDAsNjcsMCwwLDAsCisgICAgMTE1LDQsMCwwLDAsMTAwLDEsMCw4Myw0MSwyLDEyMiw1Myw4MiwxMDEsMTE2LAorICAgIDExNywxMTQsMTEwLDMyLDc4LDExMSwxMTAsMTAxLDMyLDk3LDExNSwzMiwxMDEsMTIwLDExNiwxMDEsCisgICAgMTEwLDExNSwxMDUsMTExLDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTUsMzIsMTA0LDk3LAorICAgIDExOCwxMDEsMzIsMTEwLDExMSwzMiwxMTUsMTExLDExNywxMTQsOTksMTAxLDMyLDk5LDExMSwxMDAsCisgICAgMTAxLDQ2LDc4LDExNCw0LDAsMCwwLDQxLDIsMTE0LDcxLDAsMCwwLDExNCwKKyAgICAxNTksMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsCisgICAgMCwwLDAsMTE0LDE1LDEsMCwwLDE2MCw2LDAsMCwxMTUsMiwwLDAsCisgICAgMCwwLDIsMTIyLDMwLDY5LDEyMCwxMTYsMTAxLDExMCwxMTUsMTA1LDExMSwxMTAsNzAsMTA1LAorICAgIDEwOCwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDEwMywxMDEsMTE2LDk1LDExNSwxMTEsMTE3LAorICAgIDExNCw5OSwxMDEsOTksMiwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsCisgICAgMSwwLDAsMCw2NywwLDAsMCwxMTUsNywwLDAsMCwxMjQsMCwwLAorICAgIDEwNiwwLDAsODMsNDEsMSwxMjIsNTgsODIsMTAxLDExNiwxMTcsMTE0LDExMCwzMiwxMTYsCisgICAgMTA0LDEwMSwzMiwxMTIsOTcsMTE2LDEwNCwzMiwxMTYsMTExLDMyLDExNiwxMDQsMTAxLDMyLDExNSwKKyAgICAxMTEsMTE3LDExNCw5OSwxMDEsMzIsMTAyLDEwNSwxMDgsMTAxLDMyLDk3LDExNSwzMiwxMDIsMTExLAorICAgIDExNywxMTAsMTAwLDMyLDk4LDEyMSwzMiwxMTYsMTA0LDEwMSwzMiwxMDIsMTA1LDExMCwxMDAsMTAxLAorICAgIDExNCw0Niw0MSwxLDExNCwzNSwwLDAsMCw0MSwyLDExNCw3MSwwLDAsMCwKKyAgICAxMTQsMTU5LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCwKKyAgICA1LDAsMCwwLDExNCwyMzgsMCwwLDAsMTY0LDYsMCwwLDExNSwyLDAsCisgICAgMCwwLDAsMywxMjIsMzIsNjksMTIwLDExNiwxMDEsMTEwLDExNSwxMDUsMTExLDExMCw3MCwKKyAgICAxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTAzLDEwMSwxMTYsOTUsMTAyLDEwNSwKKyAgICAxMDgsMTAxLDExMCw5NywxMDksMTAxLDc4LDQxLDEzLDExNCw1NywwLDAsMCwxMTQsNTYsCisgICAgMCwwLDAsMTE0LDU4LDAsMCwwLDExNCw1OSwwLDAsMCwxMTQsNzIsMCwKKyAgICAwLDAsMTE0LDIyOSwwLDAsMCwxMTQsNTAsMSwwLDAsMTE0LDE1NywwLDAsCisgICAgMCwxMTQsMywxLDAsMCwxMTQsMjE5LDAsMCwwLDExNCwxNCwxLDAsMCwKKyAgICAxMTQsMTUsMSwwLDAsMTE0LDIzOCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsCisgICAgNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsNTYsCisgICAgMSwwLDAsMTEzLDYsMCwwLDExNSwxOCwwLDAsMCwxMiw2LDYsMiwKKyAgICAxMiw0LDEyLDQsMTIsMywxOCwxOCwxMiw2LDEyLDQsMTIsNCwxMTQsNTYsCisgICAgMSwwLDAsOTksMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsCisgICAgMiwwLDAsMCw2NCwwLDAsMCwxMTUsMTMwLDAsMCwwLDEwMSwwLDAsCisgICAgOTAsMSwwLDEwMCwwLDAsOTAsMiwwLDEwMCwxLDAsOTAsMywwLDEwMCwKKyAgICAyLDAsMTAwLDMsMCwxMzIsMCwwLDkwLDQsMCwxMDAsNCwwLDEwMCw1LAorICAgIDAsMTMyLDAsMCw5MCw1LDAsMTAwLDYsMCwxMDAsNywwLDEzMiwwLDAsCisgICAgOTAsNiwwLDEwMCw4LDAsMTAwLDksMCwxMzIsMCwwLDkwLDcsMCwxMDAsCisgICAgMTAsMCwxMDAsMTEsMCwxMzIsMCwwLDkwLDgsMCwxMDAsMTIsMCwxMDAsMTMsCisgICAgMCwxMzIsMCwwLDkwLDksMCwxMDAsMTQsMCwxMDAsMTUsMCwxMzIsMCwwLAorICAgIDkwLDEwLDAsMTAwLDE2LDAsMTAwLDE3LDAsMTMyLDAsMCw5MCwxMSwwLDEwMCwKKyAgICAxOCwwLDEwMCwxOSwwLDEzMiwwLDAsOTAsMTIsMCwxMDAsMjAsMCw4Myw0MSwKKyAgICAyMSwyMTgsMTQsOTUsNzgsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSw4MCw5NywxMTYsCisgICAgMTA0LDk3LDM4LDEsMCwwLDgyLDEwMSwxMTIsMTE0LDEwMSwxMTUsMTAxLDExMCwxMTYsMTE1LAorICAgIDMyLDk3LDMyLDExMCw5NywxMDksMTAxLDExNSwxMTIsOTcsOTksMTAxLDMyLDExMiw5Nyw5OSwKKyAgICAxMDcsOTcsMTAzLDEwMSwzOSwxMTUsMzIsMTEyLDk3LDExNiwxMDQsNDYsMzIsMzIsNzMsMTE2LAorICAgIDMyLDExNywxMTUsMTAxLDExNSwzMiwxMTYsMTA0LDEwMSwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwKKyAgICAzMiwxMTAsOTcsMTA5LDEwMSwxMCwzMiwzMiwzMiwzMiwxMTYsMTExLDMyLDEwMiwxMDUsMTEwLAorICAgIDEwMCwzMiwxMDUsMTE2LDExNSwzMiwxMTIsOTcsMTE0LDEwMSwxMTAsMTE2LDMyLDEwOSwxMTEsMTAwLAorICAgIDExNywxMDgsMTAxLDQ0LDMyLDk3LDExMCwxMDAsMzIsMTAyLDExNCwxMTEsMTA5LDMyLDExNiwxMDQsCisgICAgMTAxLDExNCwxMDEsMzIsMTA1LDExNiwzMiwxMDgsMTExLDExMSwxMDcsMTE1LDMyLDExNywxMTIsMzIsCisgICAgMTE2LDEwNCwxMDEsMzIsMTEyLDk3LDExNCwxMDEsMTEwLDExNiwzOSwxMTUsMTAsMzIsMzIsMzIsCisgICAgMzIsOTUsOTUsMTEyLDk3LDExNiwxMDQsOTUsOTUsNDYsMzIsMzIsODcsMTA0LDEwMSwxMTAsCisgICAgMzIsMTE2LDEwNCwxMDUsMTE1LDMyLDk5LDEwNCw5NywxMTAsMTAzLDEwMSwxMTUsNDQsMzIsMTE2LAorICAgIDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzksMTE1LDMyLDExMSwxMTksMTEwLDMyLAorICAgIDExMiw5NywxMTYsMTA0LDMyLDEwNSwxMTUsMzIsMTE0LDEwMSw5OSwxMTEsMTA5LDExMiwxMTcsMTE2LAorICAgIDEwMSwxMDAsNDQsMTAsMzIsMzIsMzIsMzIsMTE3LDExNSwxMDUsMTEwLDEwMywzMiwxMTIsOTcsCisgICAgMTE2LDEwNCw5NSwxMDIsMTA1LDExMCwxMDAsMTAxLDExNCw0NiwzMiwzMiw3MCwxMTEsMTE0LDMyLAorICAgIDExNiwxMTEsMTEyLDQ1LDEwOCwxMDEsMTE4LDEwMSwxMDgsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsCisgICAgMTE1LDQ0LDMyLDExNiwxMDQsMTAxLDMyLDExMiw5NywxMTQsMTAxLDExMCwxMTYsMzIsMTA5LDExMSwKKyAgICAxMDAsMTE3LDEwOCwxMDEsMzksMTE1LDMyLDExMiw5NywxMTYsMTA0LDEwLDMyLDMyLDMyLDMyLAorICAgIDEwNSwxMTUsMzIsMTE1LDEyMSwxMTUsNDYsMTEyLDk3LDExNiwxMDQsNDYsOTksNCwwLDAsCisgICAgMCwwLDAsMCwwLDQsMCwwLDAsMiwwLDAsMCw2NywwLDAsCisgICAgMCwxMTUsNTIsMCwwLDAsMTI0LDEsMCwxMjQsMCwwLDk1LDAsMCwxMjQsCisgICAgMiwwLDEyNCwwLDAsOTUsMSwwLDExNiwyLDAsMTI0LDAsMCwxMDYsMywKKyAgICAwLDEzMSwwLDAsMTMxLDEsMCwxMjQsMCwwLDk1LDQsMCwxMjQsMywwLAorICAgIDEyNCwwLDAsOTUsNSwwLDEwMCwwLDAsODMsNDEsMSw3OCw0MSw2LDExNCwKKyAgICA3MCwwLDAsMCwxMTQsMjUyLDAsMCwwLDExNCwyMzEsMCwwLDAsMjE4LDE2LAorICAgIDk1LDEwMywxMDEsMTE2LDk1LDExMiw5NywxMTQsMTAxLDExMCwxMTYsOTUsMTEyLDk3LDExNiwxMDQsCisgICAgMjE4LDE3LDk1LDEwOCw5NywxMTUsMTE2LDk1LDExMiw5NywxMTQsMTAxLDExMCwxMTYsOTUsMTEyLAorICAgIDk3LDExNiwxMDQsMjE4LDEyLDk1LDExMiw5NywxMTYsMTA0LDk1LDEwMiwxMDUsMTEwLDEwMCwxMDEsCisgICAgMTE0LDQxLDQsMTE0LDcxLDAsMCwwLDExNCw2NywwLDAsMCwxMTQsMzUsMCwKKyAgICAwLDAsMjE4LDExLDExMiw5NywxMTYsMTA0LDk1LDEwMiwxMDUsMTEwLDEwMCwxMDEsMTE0LDExNCwKKyAgICA0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCw3MiwKKyAgICAwLDAsMCwxNzcsNiwwLDAsMTE1LDgsMCwwLDAsMCwxLDksMSwKKyAgICA5LDEsMjEsMSwxMjIsMjMsOTUsNzgsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSwKKyAgICA4MCw5NywxMTYsMTA0LDQ2LDk1LDk1LDEwNSwxMTAsMTA1LDExNiw5NSw5NSw5OSwxLDAsCisgICAgMCwwLDAsMCwwLDAsNCwwLDAsMCwzLDAsMCwwLDY3LDAsCisgICAgMCwwLDExNSw1MywwLDAsMCwxMjQsMCwwLDEwNiwwLDAsMTA2LDEsMCwKKyAgICAxMDAsMSwwLDEzMSwxLDAsOTIsMywwLDEyNSwxLDAsMTI1LDIsMCwxMjUsCisgICAgMywwLDEyNCwyLDAsMTAwLDIsMCwxMDcsMiwwLDExNCw0MywwLDEwMCw2LAorICAgIDAsODMsMTI0LDEsMCwxMDAsNSwwLDEwMiwyLDAsODMsNDEsNywxMjIsNjIsCisgICAgODIsMTAxLDExNiwxMTcsMTE0LDExMCwxMTUsMzIsOTcsMzIsMTE2LDExNywxMTIsMTA4LDEwMSwzMiwKKyAgICAxMTEsMTAyLDMyLDQwLDExMiw5NywxMTQsMTAxLDExMCwxMTYsNDUsMTA5LDExMSwxMDAsMTE3LDEwOCwKKyAgICAxMDEsNDUsMTEwLDk3LDEwOSwxMDEsNDQsMzIsMTEyLDk3LDExNCwxMDEsMTEwLDExNiw0NSwxMTIsCisgICAgOTcsMTE2LDEwNCw0NSw5NywxMTYsMTE2LDExNCw0NSwxMTAsOTcsMTA5LDEwMSw0MSwxMTQsMTE2LAorICAgIDAsMCwwLDExNCwzMCwwLDAsMCwxMTQsNywwLDAsMCwxMTQsMzUsMCwKKyAgICAwLDAsMTE0LDI0NiwwLDAsMCw0MSwyLDEyMiwzLDExNSwxMjEsMTE1LDEyMiw0LAorICAgIDExMiw5NywxMTYsMTA0LDQxLDIsMTE0LDcwLDAsMCwwLDExNCwzMiwwLDAsMCwKKyAgICA0MSw0LDExNCw3MSwwLDAsMCwxMTQsMjMzLDAsMCwwLDIxOCwzLDEwMCwxMTEsCisgICAgMTE2LDExNCw5NCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwKKyAgICAxMTQsNSwwLDAsMCwyMTgsMjMsOTUsMTAyLDEwNSwxMTAsMTAwLDk1LDExMiw5NywxMTQsCisgICAgMTAxLDExMCwxMTYsOTUsMTEyLDk3LDExNiwxMDQsOTUsMTEwLDk3LDEwOSwxMDEsMTE1LDE4Myw2LAorICAgIDAsMCwxMTUsOCwwLDAsMCwwLDIsMjcsMSwxMiwyLDQsMywxMjIsCisgICAgMzgsOTUsNzgsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSw4MCw5NywxMTYsMTA0LDQ2LAorICAgIDk1LDEwMiwxMDUsMTEwLDEwMCw5NSwxMTIsOTcsMTE0LDEwMSwxMTAsMTE2LDk1LDExMiw5NywxMTYsCisgICAgMTA0LDk1LDExMCw5NywxMDksMTAxLDExNSw5OSwxLDAsMCwwLDAsMCwwLDAsCisgICAgMywwLDAsMCwzLDAsMCwwLDY3LDAsMCwwLDExNSwzOCwwLDAsCisgICAgMCwxMjQsMCwwLDEwNiwwLDAsMTMxLDAsMCw5MiwyLDAsMTI1LDEsMCwKKyAgICAxMjUsMiwwLDExNiwxLDAsMTE2LDIsMCwxMDYsMywwLDEyNCwxLDAsMjUsCisgICAgMTI0LDIsMCwxMzEsMiwwLDgzLDQxLDEsNzgsNDEsNCwxMTQsNjYsMSwwLAorICAgIDAsMTE0LDYyLDAsMCwwLDExNCw3LDAsMCwwLDExNCw3MywwLDAsMCwKKyAgICA0MSwzLDExNCw3MSwwLDAsMCw5MCwxOCwxMTIsOTcsMTE0LDEwMSwxMTAsMTE2LDk1LAorICAgIDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk1LDExMCw5NywxMDksMTAxLDkwLDE0LDExMiw5NywxMTYsCisgICAgMTA0LDk1LDk3LDExNiwxMTYsMTE0LDk1LDExMCw5NywxMDksMTAxLDExNCw0LDAsMCwwLAorICAgIDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCw2MSwxLDAsMCwxOTMsCisgICAgNiwwLDAsMTE1LDQsMCwwLDAsMCwxLDE4LDEsMTIyLDMxLDk1LDc4LAorICAgIDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwxMDEsODAsOTcsMTE2LDEwNCw0Niw5NSwxMDMsMTAxLAorICAgIDExNiw5NSwxMTIsOTcsMTE0LDEwMSwxMTAsMTE2LDk1LDExMiw5NywxMTYsMTA0LDk5LDEsMCwKKyAgICAwLDAsMCwwLDAsMCwzLDAsMCwwLDMsMCwwLDAsNjcsMCwKKyAgICAwLDAsMTE1LDExOCwwLDAsMCwxMTYsMCwwLDEyNCwwLDAsMTA2LDEsMCwKKyAgICAxMzEsMCwwLDEzMSwxLDAsMTI1LDEsMCwxMjQsMSwwLDEyNCwwLDAsMTA2LAorICAgIDIsMCwxMDcsMywwLDExNCwxMTEsMCwxMjQsMCwwLDEwNiwzLDAsMTI0LDAsCisgICAgMCwxMDYsNCwwLDEyNCwxLDAsMTMxLDIsMCwxMjUsMiwwLDEyNCwyLDAsCisgICAgMTAwLDAsMCwxMDcsOSwwLDExNCwxMDIsMCwxMjQsMiwwLDEwNiw1LDAsMTAwLAorICAgIDAsMCwxMDcsOCwwLDExNCwxMDIsMCwxMjQsMiwwLDEwNiw2LDAsMTE0LDEwMiwKKyAgICAwLDEyNCwyLDAsMTA2LDYsMCwxMjQsMCwwLDk1LDcsMCwxMjQsMSwwLAorICAgIDEyNCwwLDAsOTUsMiwwLDEyNCwwLDAsMTA2LDcsMCw4Myw0MSwxLDc4LAorICAgIDQxLDgsMTE0LDIzMSwwLDAsMCwxMTQsNjEsMSwwLDAsMTE0LDYyLDEsMCwKKyAgICAwLDExNCw2MywxLDAsMCwxMTQsNzAsMCwwLDAsMTE0LDE3MCwwLDAsMCwKKyAgICAxMTQsMjIwLDAsMCwwLDExNCwyNTIsMCwwLDAsNDEsMywxMTQsNzEsMCwwLAorICAgIDAsOTAsMTEsMTEyLDk3LDExNCwxMDEsMTEwLDExNiw5NSwxMTIsOTcsMTE2LDEwNCwxMTQsMTc3LAogICAgIDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsCiAgICAgMCwwLDIxOCwxMiw5NSwxMTQsMTAxLDk5LDk3LDEwOCw5OSwxMTcsMTA4LDk3LDExNiwxMDEsCi0gICAgMjM3LDYsMCwwLDExNSwxNiwwLDAsMCwwLDIsMTgsMSwxNSwxLDIxLAotICAgIDMsMjcsMSw5LDEsMTgsMSwxMiwxLDEyMiwyNyw5NSw3OCw5NywxMDksMTAxLAorICAgIDE5Nyw2LDAsMCwxMTUsMTYsMCwwLDAsMCwyLDE4LDEsMTUsMSwyMSwKKyAgICAzLDI3LDEsOSwxLDEyLDEsOSwxLDEyMiwyNyw5NSw3OCw5NywxMDksMTAxLAogICAgIDExNSwxMTIsOTcsOTksMTAxLDgwLDk3LDExNiwxMDQsNDYsOTUsMTE0LDEwMSw5OSw5NywxMDgsCiAgICAgOTksMTE3LDEwOCw5NywxMTYsMTAxLDk5LDEsMCwwLDAsMCwwLDAsMCwxLAogICAgIDAsMCwwLDIsMCwwLDAsNjcsMCwwLDAsMTE1LDE2LDAsMCwwLAogICAgIDExNiwwLDAsMTI0LDAsMCwxMDYsMSwwLDEzMSwwLDAsMTMxLDEsMCw4MywKLSAgICA0MSwxLDc4LDQxLDIsMjE4LDQsMTA1LDExNiwxMDEsMTE0LDExNCw2OCwxLDAsMCwKKyAgICA0MSwxLDc4LDQxLDIsMjE4LDQsMTA1LDExNiwxMDEsMTE0LDExNCw2NywxLDAsMCwKICAgICA0MSwxLDExNCw3MSwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsCiAgICAgMCwxMTQsNSwwLDAsMCwyMTgsOCw5NSw5NSwxMDUsMTE2LDEwMSwxMTQsOTUsOTUsCi0gICAgMjUwLDYsMCwwLDExNSwyLDAsMCwwLDAsMSwxMjIsMjMsOTUsNzgsOTcsCisgICAgMjEwLDYsMCwwLDExNSwyLDAsMCwwLDAsMSwxMjIsMjMsOTUsNzgsOTcsCiAgICAgMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSw4MCw5NywxMTYsMTA0LDQ2LDk1LDk1LDEwNSwxMTYsCiAgICAgMTAxLDExNCw5NSw5NSw5OSwxLDAsMCwwLDAsMCwwLDAsMSwwLDAsCiAgICAgMCwyLDAsMCwwLDY3LDAsMCwwLDExNSwxNiwwLDAsMCwxMTYsMCwKICAgICAwLDEyNCwwLDAsMTA2LDEsMCwxMzEsMCwwLDEzMSwxLDAsODMsNDEsMSwKLSAgICA3OCw0MSwyLDExNCwzMSwwLDAsMCwxMTQsNjgsMSwwLDAsNDEsMSwxMTQsCisgICAgNzgsNDEsMiwxMTQsMzEsMCwwLDAsMTE0LDY3LDEsMCwwLDQxLDEsMTE0LAogICAgIDcxLDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LAotICAgIDAsMCwwLDIxOCw3LDk1LDk1LDEwOCwxMDEsMTEwLDk1LDk1LDI1Myw2LDAsMCwKKyAgICAwLDAsMCwyMTgsNyw5NSw5NSwxMDgsMTAxLDExMCw5NSw5NSwyMTMsNiwwLDAsCiAgICAgMTE1LDIsMCwwLDAsMCwxLDEyMiwyMiw5NSw3OCw5NywxMDksMTAxLDExNSwxMTIsCiAgICAgOTcsOTksMTAxLDgwLDk3LDExNiwxMDQsNDYsOTUsOTUsMTA4LDEwMSwxMTAsOTUsOTUsOTksCiAgICAgMSwwLDAsMCwwLDAsMCwwLDEsMCwwLDAsMiwwLDAsMCwKICAgICA2NywwLDAsMCwxMTUsMTYsMCwwLDAsMTAwLDEsMCwxMDYsMCwwLDEyNCwKICAgICAwLDAsMTA2LDEsMCwxMzEsMSwwLDgzLDQxLDIsNzgsMTIyLDIwLDk1LDc4LAogICAgIDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwxMDEsODAsOTcsMTE2LDEwNCw0MCwxMjMsMzMsMTE0LAotICAgIDEyNSw0MSw0MSwyLDExNCw0NywwLDAsMCwxMTQsMjU0LDAsMCwwLDQxLDEsCisgICAgMTI1LDQxLDQxLDIsMTE0LDQ3LDAsMCwwLDExNCwyNTIsMCwwLDAsNDEsMSwKICAgICAxMTQsNzEsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LAotICAgIDUsMCwwLDAsMTE0LDEwMSwwLDAsMCwwLDcsMCwwLDExNSwyLDAsCisgICAgNSwwLDAsMCwxMTQsMTAxLDAsMCwwLDIxNiw2LDAsMCwxMTUsMiwwLAogICAgIDAsMCwwLDEsMTIyLDIzLDk1LDc4LDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwxMDEsCiAgICAgODAsOTcsMTE2LDEwNCw0Niw5NSw5NSwxMTQsMTAxLDExMiwxMTQsOTUsOTUsOTksMiwwLAogICAgIDAsMCwwLDAsMCwwLDIsMCwwLDAsMiwwLDAsMCw2NywwLAogICAgIDAsMCwxMTUsMTYsMCwwLDAsMTI0LDEsMCwxMjQsMCwwLDEwNiwwLDAsCi0gICAgMTMxLDAsMCwxMDcsNiwwLDgzLDQxLDEsNzgsNDEsMSwxMTQsNjgsMSwwLAorICAgIDEzMSwwLDAsMTA3LDYsMCw4Myw0MSwxLDc4LDQxLDEsMTE0LDY3LDEsMCwKICAgICAwLDQxLDIsMTE0LDcxLDAsMCwwLDIxOCw0LDEwNSwxMTYsMTAxLDEwOSwxMTQsNCwKICAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTIsOTUsCi0gICAgOTUsOTksMTExLDExMCwxMTYsOTcsMTA1LDExMCwxMTUsOTUsOTUsMyw3LDAsMCwxMTUsCisgICAgOTUsOTksMTExLDExMCwxMTYsOTcsMTA1LDExMCwxMTUsOTUsOTUsMjE5LDYsMCwwLDExNSwKICAgICAyLDAsMCwwLDAsMSwxMjIsMjcsOTUsNzgsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LAogICAgIDk5LDEwMSw4MCw5NywxMTYsMTA0LDQ2LDk1LDk1LDk5LDExMSwxMTAsMTE2LDk3LDEwNSwxMTAsCiAgICAgMTE1LDk1LDk1LDk5LDIsMCwwLDAsMCwwLDAsMCwyLDAsMCwwLAogICAgIDIsMCwwLDAsNjcsMCwwLDAsMTE1LDIwLDAsMCwwLDEyNCwwLDAsCiAgICAgMTA2LDAsMCwxMDYsMSwwLDEyNCwxLDAsMTMxLDEsMCwxLDEwMCwwLDAsCi0gICAgODMsNDEsMSw3OCw0MSwyLDExNCwyNTQsMCwwLDAsMTE0LDIyNCwwLDAsMCwKLSAgICA0MSwyLDExNCw3MSwwLDAsMCwxMTQsNzIsMSwwLDAsMTE0LDQsMCwwLAotICAgIDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDIyNCwwLDAsMCwKLSAgICA2LDcsMCwwLDExNSwyLDAsMCwwLDAsMSwxMjIsMjEsOTUsNzgsOTcsCisgICAgODMsNDEsMSw3OCw0MSwyLDExNCwyNTIsMCwwLDAsMTE0LDIyMywwLDAsMCwKKyAgICA0MSwyLDExNCw3MSwwLDAsMCwxMTQsNzEsMSwwLDAsMTE0LDQsMCwwLAorICAgIDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDIyMywwLDAsMCwKKyAgICAyMjIsNiwwLDAsMTE1LDIsMCwwLDAsMCwxLDEyMiwyMSw5NSw3OCw5NywKICAgICAxMDksMTAxLDExNSwxMTIsOTcsOTksMTAxLDgwLDk3LDExNiwxMDQsNDYsOTcsMTEyLDExMiwxMDEsCiAgICAgMTEwLDEwMCw3OCw0MSwxMywxMTQsNTcsMCwwLDAsMTE0LDU2LDAsMCwwLDExNCwKLSAgICA1OCwwLDAsMCwxMTQsNTksMCwwLDAsMTE0LDcyLDAsMCwwLDExNCw2NywKLSAgICAxLDAsMCwxMTQsNjIsMSwwLDAsMTE0LDY4LDEsMCwwLDExNCw3MCwxLAotICAgIDAsMCwxMTQsNzEsMSwwLDAsMTE0LDEwMSwwLDAsMCwxMTQsNzMsMSwwLAotICAgIDAsMTE0LDIyNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwKLSAgICAxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsNjEsMSwwLDAsMjEwLAorICAgIDU4LDAsMCwwLDExNCw1OSwwLDAsMCwxMTQsNzIsMCwwLDAsMTE0LDY2LAorICAgIDEsMCwwLDExNCw2MSwxLDAsMCwxMTQsNjcsMSwwLDAsMTE0LDY5LDEsCisgICAgMCwwLDExNCw3MCwxLDAsMCwxMTQsMTAxLDAsMCwwLDExNCw3MiwxLDAsCisgICAgMCwxMTQsMjIzLDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLAorICAgIDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCw2MCwxLDAsMCwxNzAsCiAgICAgNiwwLDAsMTE1LDIwLDAsMCwwLDEyLDUsNiwyLDEyLDYsMTIsMTAsCi0gICAgMTIsNCwxMiwxMywxMiwzLDEyLDMsMTIsMywxMiwzLDExNCw2MSwxLDAsCisgICAgMTIsNCwxMiwxMywxMiwzLDEyLDMsMTIsMywxMiwzLDExNCw2MCwxLDAsCiAgICAgMCw5OSwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwzLDAsCi0gICAgMCwwLDY0LDAsMCwwLDExNSwxMDYsMCwwLDAsMTAxLDAsMCw5MCwxLAorICAgIDAsMCw2NCwwLDAsMCwxMTUsMTE4LDAsMCwwLDEwMSwwLDAsOTAsMSwKICAgICAwLDEwMCwwLDAsOTAsMiwwLDEwMCwxLDAsMTAwLDIsMCwxMzIsMCwwLAogICAgIDkwLDMsMCwxMDEsNCwwLDEwMCwzLDAsMTAwLDQsMCwxMzIsMCwwLDEzMSwKICAgICAxLDAsOTAsNSwwLDEwMCw1LDAsMTAwLDYsMCwxMzIsMCwwLDkwLDYsCiAgICAgMCwxMDAsNywwLDEwMCw4LDAsMTMyLDAsMCw5MCw3LDAsMTAwLDksMCwKICAgICAxMDAsMTAsMCwxMzIsMCwwLDkwLDgsMCwxMDAsMTEsMCwxMDAsMTIsMCwxMzIsCiAgICAgMCwwLDkwLDksMCwxMDAsMTMsMCwxMDAsMTQsMCwxMzIsMCwwLDkwLDEwLAotICAgIDAsMTAwLDE1LDAsODMsNDEsMTYsMTE0LDI1MiwwLDAsMCw5OSw0LDAsMCwKLSAgICAwLDAsMCwwLDAsNCwwLDAsMCw0LDAsMCwwLDY3LDAsMCwKLSAgICAwLDExNSwyNSwwLDAsMCwxMTYsMCwwLDEyNCwxLDAsMTI0LDIsMCwxMjQsCi0gICAgMywwLDEzMSwzLDAsMTI0LDAsMCw5NSwxLDAsMTAwLDAsMCw4Myw0MSwKLSAgICAxLDc4LDQxLDIsMTE0LDYxLDEsMCwwLDExNCwyNTQsMCwwLDAsNDEsNCwKLSAgICAxMTQsNzEsMCwwLDAsMTE0LDY3LDAsMCwwLDExNCwzNSwwLDAsMCwxMTQsCi0gICAgNjUsMSwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsCi0gICAgMCwwLDAsMTE0LDcyLDAsMCwwLDEyLDcsMCwwLDExNSwyLDAsMCwKLSAgICAwLDAsMSwxMjIsMjUsOTUsNzgsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSw3NiwKLSAgICAxMTEsOTcsMTAwLDEwMSwxMTQsNDYsOTUsOTUsMTA1LDExMCwxMDUsMTE2LDk1LDk1LDk5LDIsCi0gICAgMCwwLDAsMCwwLDAsMCwyLDAsMCwwLDIsMCwwLDAsNjcsCi0gICAgMCwwLDAsMTE1LDE2LDAsMCwwLDEwMCwxLDAsMTA2LDAsMCwxMjQsMSwKLSAgICAwLDEwNiwxLDAsMTMxLDEsMCw4Myw0MSwyLDEyMiwxMTUsODIsMTAxLDExNiwxMTcsCi0gICAgMTE0LDExMCwzMiwxMTQsMTAxLDExMiwxMTQsMzIsMTAyLDExMSwxMTQsMzIsMTE2LDEwNCwxMDEsMzIsCi0gICAgMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsCi0gICAgMzIsODQsMTA0LDEwMSwzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwzMiwxMDUsMTE1LDMyLDEwMCwKLSAgICAxMDEsMTEyLDExNCwxMDEsOTksOTcsMTE2LDEwMSwxMDAsNDYsMzIsMzIsODQsMTA0LDEwMSwzMiwKLSAgICAxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwzMiwxMDksOTcsOTksMTA0LDEwNSwxMTAsMTAxLDExNCwxMjEsCi0gICAgMzIsMTAwLDExMSwxMDEsMTE1LDMyLDExNiwxMDQsMTAxLDMyLDEwNiwxMTEsOTgsMzIsMTA1LDExNiwKLSAgICAxMTUsMTAxLDEwOCwxMDIsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMTIyLAotICAgIDI1LDYwLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEyMywzMywxMTQsMTI1LDMyLDQwLDExMCwKLSAgICA5NywxMDksMTAxLDExNSwxMTIsOTcsOTksMTAxLDQxLDYyLDQxLDIsMTE0LDQ3LDAsMCwKLSAgICAwLDExNCw1NywwLDAsMCw0MSwyLDExNCwxMiwxLDAsMCwxMTQsMTgwLDAsCi0gICAgMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwKLSAgICAwLDExNCwyMDYsMCwwLDAsMTUsNywwLDAsMTE1LDIsMCwwLDAsMCwKLSAgICA3LDEyMiwyOCw5NSw3OCw5NywxMDksMTAxLDExNSwxMTIsOTcsOTksMTAxLDc2LDExMSw5NywKLSAgICAxMDAsMTAxLDExNCw0NiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5NSwxMTQsMTAxLDExMiwxMTQsOTksCi0gICAgMiwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsMSwwLDAsMCwKLSAgICA2NywwLDAsMCwxMTUsNCwwLDAsMCwxMDAsMSwwLDgzLDQxLDIsNzgsCi0gICAgODQsMTE0LDQsMCwwLDAsNDEsMiwxMTQsNzEsMCwwLDAsMTE0LDE1OSwwLAotICAgIDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsCi0gICAgMCwxMTQsMjIwLDAsMCwwLDI0LDcsMCwwLDExNSwyLDAsMCwwLDAsCi0gICAgMSwxMjIsMjcsOTUsNzgsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSw3NiwxMTEsOTcsCi0gICAgMTAwLDEwMSwxMTQsNDYsMTA1LDExNSw5NSwxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsOTksMiwKLSAgICAwLDAsMCwwLDAsMCwwLDIsMCwwLDAsMSwwLDAsMCw2NywKLSAgICAwLDAsMCwxMTUsNCwwLDAsMCwxMDAsMSwwLDgzLDQxLDIsNzgsMTE0LAotICAgIDMwLDAsMCwwLDExNCw0LDAsMCwwLDQxLDIsMTE0LDcxLDAsMCwwLAotICAgIDExNCwxNTksMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LAotICAgIDUsMCwwLDAsMTE0LDE3LDEsMCwwLDI3LDcsMCwwLDExNSwyLDAsCi0gICAgMCwwLDAsMSwxMjIsMjcsOTUsNzgsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSwKLSAgICA3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTAzLDEwMSwxMTYsOTUsMTE1LDExMSwxMTcsMTE0LDk5LAotICAgIDEwMSw5OSwyLDAsMCwwLDAsMCwwLDAsMiwwLDAsMCw2LDAsCi0gICAgMCwwLDY3LDAsMCwwLDExNSwyMiwwLDAsMCwxMTYsMCwwLDEwMCwxLAotICAgIDAsMTAwLDIsMCwxMDAsMywwLDEwMCw0LDAsMTAwLDUsMCwxMzEsMywxLAotICAgIDgzLDQxLDYsNzgsMTE0LDMwLDAsMCwwLDEyMiw4LDYwLDExNSwxMTYsMTE0LDEwNSwKLSAgICAxMTAsMTAzLDYyLDExNCwxNzYsMCwwLDAsMTE0LDQzLDEsMCwwLDg0LDQxLDEsCi0gICAgMTE0LDQ0LDEsMCwwLDQxLDIsMTE0LDcxLDAsMCwwLDExNCwxNTksMCwwLAotICAgIDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsCi0gICAgMTE0LDE2LDEsMCwwLDMwLDcsMCwwLDExNSwyLDAsMCwwLDAsMSwKLSAgICAxMjIsMjUsOTUsNzgsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSw3NiwxMTEsOTcsMTAwLAotICAgIDEwMSwxMTQsNDYsMTAzLDEwMSwxMTYsOTUsOTksMTExLDEwMCwxMDEsOTksMiwwLDAsMCwKLSAgICAwLDAsMCwwLDIsMCwwLDAsMSwwLDAsMCw2NywwLDAsMCwKLSAgICAxMTUsNCwwLDAsMCwxMDAsMCwwLDgzLDQxLDEsNzgsMTE0LDQsMCwwLAotICAgIDAsNDEsMiwxMTQsNzEsMCwwLDAsMTE0LDE4MCwwLDAsMCwxMTQsNCwwLAotICAgIDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMiwxLDAsCi0gICAgMCwzMyw3LDAsMCwxMTUsMiwwLDAsMCwwLDEsMTIyLDI4LDk1LDc4LAotICAgIDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDEwMSwKLSAgICAxMjAsMTAxLDk5LDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk5LDIsMCwwLDAsMCwKLSAgICAwLDAsMCwyLDAsMCwwLDMsMCwwLDAsNjcsMCwwLDAsMTE1LAotICAgIDI5LDAsMCwwLDExNiwwLDAsMTAwLDEsMCwxMjQsMCwwLDEwNiwxLDAsCi0gICAgMTMxLDIsMCwxLDExNiwyLDAsMTI0LDAsMCwxMjQsMSwwLDEzMSwyLDAsCi0gICAgODMsNDEsMiwxMjIsOTgsNzYsMTExLDk3LDEwMCwzMiw5NywzMiwxMTAsOTcsMTA5LDEwMSwKLSAgICAxMTUsMTEyLDk3LDk5LDEwMSwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw0NiwxMCwxMCwzMiwKLSAgICAzMiwzMiwzMiwzMiwzMiwzMiwzMiw4NCwxMDQsMTA1LDExNSwzMiwxMDksMTAxLDExNiwxMDQsCi0gICAgMTExLDEwMCwzMiwxMDUsMTE1LDMyLDEwMCwxMDEsMTEyLDExNCwxMDEsOTksOTcsMTE2LDEwMSwxMDAsCi0gICAgNDYsMzIsMzIsODUsMTE1LDEwMSwzMiwxMDEsMTIwLDEwMSw5OSw5NSwxMDksMTExLDEwMCwxMTcsCi0gICAgMTA4LDEwMSw0MCw0MSwzMiwxMDUsMTEwLDExNSwxMTYsMTAxLDk3LDEwMCw0NiwxMCwxMCwzMiwKLSAgICAzMiwzMiwzMiwzMiwzMiwzMiwzMiwxMjIsMzgsMTEwLDk3LDEwOSwxMDEsMTE1LDExMiw5NywKLSAgICA5OSwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTA4LDExMSw5NywxMDAsMTAxLDEwMCwKLSAgICAzMiwxMTksMTA1LDExNiwxMDQsMzIsMTEyLDk3LDExNiwxMDQsMzIsMTIzLDMzLDExNCwxMjUsNDEsCi0gICAgMywxMTQsMTUzLDAsMCwwLDExNCwyNTQsMCwwLDAsMTE0LDE4MSwwLDAsMCwKLSAgICA0MSwyLDExNCw3MSwwLDAsMCwxMTQsMTU5LDAsMCwwLDExNCw0LDAsMCwKLSAgICAwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCw1LDEsMCwwLAotICAgIDM2LDcsMCwwLDExNSw0LDAsMCwwLDAsNywxNiwxLDEyMiwyOCw5NSwKKyAgICAwLDEwMCwxNSwwLDEwMCwxNiwwLDEzMiwwLDAsOTAsMTEsMCwxMDAsMTcsMCwKKyAgICA4Myw0MSwxOCwxMTQsMjUwLDAsMCwwLDk5LDQsMCwwLDAsMCwwLDAsCisgICAgMCw0LDAsMCwwLDQsMCwwLDAsNjcsMCwwLDAsMTE1LDI1LDAsCisgICAgMCwwLDExNiwwLDAsMTI0LDEsMCwxMjQsMiwwLDEyNCwzLDAsMTMxLDMsCisgICAgMCwxMjQsMCwwLDk1LDEsMCwxMDAsMCwwLDgzLDQxLDEsNzgsNDEsMiwKKyAgICAxMTQsNjAsMSwwLDAsMTE0LDI1MiwwLDAsMCw0MSw0LDExNCw3MSwwLDAsCisgICAgMCwxMTQsNjcsMCwwLDAsMTE0LDM1LDAsMCwwLDExNCw2NCwxLDAsMCwKKyAgICAxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsCisgICAgNzIsMCwwLDAsMjI4LDYsMCwwLDExNSwyLDAsMCwwLDAsMSwxMjIsCisgICAgMjUsOTUsNzgsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwKKyAgICAxMTQsNDYsOTUsOTUsMTA1LDExMCwxMDUsMTE2LDk1LDk1LDk5LDIsMCwwLDAsMCwKKyAgICAwLDAsMCwyLDAsMCwwLDIsMCwwLDAsNjcsMCwwLDAsMTE1LAorICAgIDE2LDAsMCwwLDEwMCwxLDAsMTA2LDAsMCwxMjQsMSwwLDEwNiwxLDAsCisgICAgMTMxLDEsMCw4Myw0MSwyLDEyMiwxMTUsODIsMTAxLDExNiwxMTcsMTE0LDExMCwzMiwxMTQsCisgICAgMTAxLDExMiwxMTQsMzIsMTAyLDExMSwxMTQsMzIsMTE2LDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LAorICAgIDEwOCwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsODQsMTA0LDEwMSwKKyAgICAzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwzMiwxMDUsMTE1LDMyLDEwMCwxMDEsMTEyLDExNCwxMDEsCisgICAgOTksOTcsMTE2LDEwMSwxMDAsNDYsMzIsMzIsODQsMTA0LDEwMSwzMiwxMDUsMTA5LDExMiwxMTEsCisgICAgMTE0LDExNiwzMiwxMDksOTcsOTksMTA0LDEwNSwxMTAsMTAxLDExNCwxMjEsMzIsMTAwLDExMSwxMDEsCisgICAgMTE1LDMyLDExNiwxMDQsMTAxLDMyLDEwNiwxMTEsOTgsMzIsMTA1LDExNiwxMTUsMTAxLDEwOCwxMDIsCisgICAgNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMTIyLDI1LDYwLDEwOSwxMTEsCisgICAgMTAwLDExNywxMDgsMTAxLDMyLDEyMywzMywxMTQsMTI1LDMyLDQwLDExMCw5NywxMDksMTAxLDExNSwKKyAgICAxMTIsOTcsOTksMTAxLDQxLDYyLDQxLDIsMTE0LDQ3LDAsMCwwLDExNCw1NywwLAorICAgIDAsMCw0MSwyLDExNCwxMCwxLDAsMCwxMTQsMTc4LDAsMCwwLDExNCw0LAorICAgIDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwyMDQsMCwKKyAgICAwLDAsMjMxLDYsMCwwLDExNSwyLDAsMCwwLDAsNywxMjIsMjgsOTUsCiAgICAgNzgsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsCi0gICAgMTA4LDExMSw5NywxMDAsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNzgsNDEsMTEsMTE0LDU3LAotICAgIDAsMCwwLDExNCw1NiwwLDAsMCwxMTQsNTgsMCwwLDAsMTE0LDcyLDAsCi0gICAgMCwwLDExNCwxOSwxLDAsMCwxMTQsMjA2LDAsMCwwLDExNCwyMjAsMCwwLAotICAgIDAsMTE0LDE3LDEsMCwwLDExNCwxNiwxLDAsMCwxMTQsMiwxLDAsMCwKLSAgICAxMTQsNSwxLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsCi0gICAgNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMjUyLDAsMCwwLDExLDcsCi0gICAgMCwwLDExNSwxNCwwLDAsMCwxMiwxLDEyLDMsMTgsOSwxMiwzLDEyLAotICAgIDMsMTIsMywxMiwzLDExNCwyNTIsMCwwLDAsOTksMCwwLDAsMCwwLAotICAgIDAsMCwwLDAsMCwwLDAsNSwwLDAsMCw2NCwwLDAsMCwxMTUsCi0gICAgMTYwLDAsMCwwLDEwMSwwLDAsOTAsMSwwLDEwMCwwLDAsOTAsMiwwLAotICAgIDEwMCwxLDAsOTAsMywwLDEwMSw0LDAsMTAwLDIsMCwxMDAsMywwLDEzMiwKLSAgICAwLDAsMTMxLDEsMCw5MCw1LDAsMTAxLDQsMCwxMDAsNCwwLDEwMCw1LAotICAgIDAsMTMyLDAsMCwxMzEsMSwwLDkwLDYsMCwxMDEsNCwwLDEwMCw2LDAsCi0gICAgMTAwLDcsMCwxMzIsMCwwLDEzMSwxLDAsOTAsNywwLDEwMSw0LDAsMTAwLAotICAgIDgsMCwxMDAsOSwwLDEzMiwwLDAsMTMxLDEsMCw5MCw4LDAsMTAxLDQsCi0gICAgMCwxMDAsMTAsMCwxMDAsMTEsMCwxMDAsMTIsMCwxMzIsMSwwLDEzMSwxLDAsCi0gICAgOTAsOSwwLDEwMSw0LDAsMTAwLDEwLDAsMTAwLDEwLDAsMTAwLDEzLDAsMTAwLAotICAgIDE0LDAsMTMyLDIsMCwxMzEsMSwwLDkwLDEwLDAsMTAxLDQsMCwxMDAsMTAsCi0gICAgMCwxMDAsMTUsMCwxMDAsMTYsMCwxMzIsMSwwLDEzMSwxLDAsOTAsMTEsMCwKLSAgICAxMDAsMTAsMCw4Myw0MSwxNywyMTgsMTAsODAsOTcsMTE2LDEwNCw3MCwxMDUsMTEwLDEwMCwKLSAgICAxMDEsMTE0LDEyMiw2Miw3NywxMDEsMTE2LDk3LDMyLDExMiw5NywxMTYsMTA0LDMyLDEwMiwxMDUsCi0gICAgMTEwLDEwMCwxMDEsMTE0LDMyLDEwMiwxMTEsMTE0LDMyLDExNSwxMjEsMTE1LDQ2LDExMiw5NywxMTYsCi0gICAgMTA0LDMyLDk3LDExMCwxMDAsMzIsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDMyLDk1LDk1LAotICAgIDExMiw5NywxMTYsMTA0LDk1LDk1LDMyLDk3LDExNiwxMTYsMTE0LDEwNSw5OCwxMTcsMTE2LDEwMSwKLSAgICAxMTUsNDYsOTksMSwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsNCwKLSAgICAwLDAsMCw2NywwLDAsMCwxMTUsNTgsMCwwLDAsMTIwLDUxLDAsMTE2LAotICAgIDAsMCwxMDYsMSwwLDEwNiwyLDAsMTMxLDAsMCw2OCw5MywzNCwwLDEyNSwKLSAgICAxLDAsMTE2LDMsMCwxMjQsMSwwLDEwMCwxLDAsMTMxLDIsMCwxMTQsMTYsCi0gICAgMCwxMjQsMSwwLDEwNiw0LDAsMTMxLDAsMCwxLDExMywxNiwwLDExMywxNiwKLSAgICAwLDg3LDEwMCwyLDAsODMsNDEsMywxMjIsMTI1LDY3LDk3LDEwOCwxMDgsMzIsMTE2LAotICAgIDEwNCwxMDEsMzIsMTA1LDExMCwxMTgsOTcsMTA4LDEwNSwxMDAsOTcsMTE2LDEwMSw5NSw5OSw5NywKLSAgICA5OSwxMDQsMTAxLDExNSw0MCw0MSwzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwzMiwxMTEsMTEwLAotICAgIDMyLDk3LDEwOCwxMDgsMzIsMTEyLDk3LDExNiwxMDQsMzIsMTAxLDExMCwxMTYsMTE0LDEyMSwzMiwKLSAgICAxMDIsMTA1LDExMCwxMDAsMTAxLDExNCwxMTUsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsCi0gICAgMTE1LDExNiwxMTEsMTE0LDEwMSwxMDAsMzIsMTA1LDExMCwzMiwxMTUsMTIxLDExNSw0NiwxMTIsOTcsCi0gICAgMTE2LDEwNCw5NSwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDk1LDk5LDk3LDk5LDEwNCwKLSAgICAxMDEsMTE1LDMyLDQwLDExOSwxMDQsMTAxLDExNCwxMDEsMzIsMTA1LDEwOSwxMTIsMTA4LDEwMSwxMDksCi0gICAgMTAxLDExMCwxMTYsMTAxLDEwMCw0MSw0NiwyMTgsMTcsMTA1LDExMCwxMTgsOTcsMTA4LDEwNSwxMDAsCi0gICAgOTcsMTE2LDEwMSw5NSw5OSw5Nyw5OSwxMDQsMTAxLDExNSw3OCw0MSw1LDExNCw3LDAsCi0gICAgMCwwLDIxOCwxOSwxMTIsOTcsMTE2LDEwNCw5NSwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsCi0gICAgMTE0LDk1LDk5LDk3LDk5LDEwNCwxMDEsMjE4LDYsMTE4LDk3LDEwOCwxMTcsMTAxLDExNSwxMTQsCi0gICAgNjAsMCwwLDAsMTE0LDc1LDEsMCwwLDQxLDIsMTE0LDEyLDEsMCwwLAotICAgIDIxOCw2LDEwMiwxMDUsMTEwLDEwMCwxMDEsMTE0LDExNCw0LDAsMCwwLDExNCw0LDAsCi0gICAgMCwwLDExNCw1LDAsMCwwLDExNCw3NSwxLDAsMCw1Myw3LDAsMCwKLSAgICAxMTUsNiwwLDAsMCwwLDQsMjIsMSwxNSwxLDEyMiwyOCw4MCw5NywxMTYsCi0gICAgMTA0LDcwLDEwNSwxMTAsMTAwLDEwMSwxMTQsNDYsMTA1LDExMCwxMTgsOTcsMTA4LDEwNSwxMDAsOTcsCi0gICAgMTE2LDEwMSw5NSw5OSw5Nyw5OSwxMDQsMTAxLDExNSw5OSwyLDAsMCwwLDAsMCwKLSAgICAwLDAsMywwLDAsMCwxMiwwLDAsMCw2NywwLDAsMCwxMTUsOTQsCi0gICAgMCwwLDAsMTE2LDAsMCwxMDYsMSwwLDExNSwyOCwwLDExNiwyLDAsMTA2LAotICAgIDMsMCwxMDAsMSwwLDExNiw0LDAsMTMxLDIsMCwxLDExMCwwLDAsMTIwLAotICAgIDU5LDAsMTE2LDAsMCwxMDYsMSwwLDY4LDkzLDQ0LDAsMTI1LDIsMCwxMjEsCi0gICAgMTQsMCwxMjQsMiwwLDEyNCwxLDAsMTMxLDEsMCw4Myw4NywxMTMsMzgsMCwKLSAgICA0LDExNiw1LDAsMTA3LDEwLDAsMTE0LDgxLDAsMSwxLDEsMTE5LDM4LDAsCi0gICAgODksMTEzLDM4LDAsODgsMTEzLDM4LDAsODcsMTAwLDIsMCw4MywxMDAsMiwwLAotICAgIDgzLDQxLDMsMTIyLDExMyw4MywxMDEsOTcsMTE0LDk5LDEwNCwzMiwxMTUsMTAxLDExMywxMTcsCi0gICAgMTAxLDExMCw5OSwxMDEsMzIsMTExLDEwMiwzMiwxMDQsMTExLDExMSwxMDcsMTE1LDMyLDEwMiwxMTEsCi0gICAgMTE0LDMyLDk3LDMyLDEwMiwxMDUsMTEwLDEwMCwxMDEsMTE0LDMyLDEwMiwxMTEsMTE0LDMyLDM5LAotICAgIDExMiw5NywxMTYsMTA0LDM5LDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLAotICAgIDczLDEwMiwzMiwzOSwxMDQsMTExLDExMSwxMDcsMTE1LDM5LDMyLDEwNSwxMTUsMzIsMTAyLDk3LAotICAgIDEwOCwxMTUsMTAxLDMyLDExNiwxMDQsMTAxLDExMCwzMiwxMTcsMTE1LDEwMSwzMiwxMTUsMTIxLDExNSwKLSAgICA0NiwxMTIsOTcsMTE2LDEwNCw5NSwxMDQsMTExLDExMSwxMDcsMTE1LDQ2LDEwLDEwLDMyLDMyLAotICAgIDMyLDMyLDMyLDMyLDMyLDMyLDEyMiwyMywxMTUsMTIxLDExNSw0NiwxMTIsOTcsMTE2LDEwNCwKLSAgICA5NSwxMDQsMTExLDExMSwxMDcsMTE1LDMyLDEwNSwxMTUsMzIsMTAxLDEwOSwxMTIsMTE2LDEyMSw3OCwKLSAgICA0MSw2LDExNCw3LDAsMCwwLDIxOCwxMCwxMTIsOTcsMTE2LDEwNCw5NSwxMDQsMTExLAotICAgIDExMSwxMDcsMTE1LDExNCwxNjcsMCwwLDAsMTE0LDE2OCwwLDAsMCwxMTQsMTY5LDAsCi0gICAgMCwwLDExNCwxNTQsMCwwLDAsNDEsMywxMTQsMTIsMSwwLDAsMTE0LDM1LAotICAgIDAsMCwwLDkwLDQsMTA0LDExMSwxMTEsMTA3LDExNCw0LDAsMCwwLDExNCw0LAotICAgIDAsMCwwLDExNCw1LDAsMCwwLDIxOCwxMSw5NSwxMTIsOTcsMTE2LDEwNCw5NSwKLSAgICAxMDQsMTExLDExMSwxMDcsMTE1LDYxLDcsMCwwLDExNSwxNiwwLDAsMCwwLDcsCi0gICAgOSwxLDE5LDEsMTYsMSwzLDEsMTQsMSwxMywxLDEyLDIsMTIyLDIyLAotICAgIDgwLDk3LDExNiwxMDQsNzAsMTA1LDExMCwxMDAsMTAxLDExNCw0Niw5NSwxMTIsOTcsMTE2LDEwNCwKLSAgICA5NSwxMDQsMTExLDExMSwxMDcsMTE1LDk5LDIsMCwwLDAsMCwwLDAsMCwzLAotICAgIDAsMCwwLDExLDAsMCwwLDY3LDAsMCwwLDExNSw5NywwLDAsMCwKLSAgICAxMjQsMSwwLDEwMCwxLDAsMTA3LDIsMCwxMTQsMjcsMCwxMTYsMCwwLDEwNiwKLSAgICAxLDAsMTMxLDAsMCwxMjUsMSwwLDExMCwwLDAsMTIxLDE3LDAsMTE2LDIsCi0gICAgMCwxMDYsMywwLDEyNCwxLDAsMjUsMTI1LDIsMCw4NywxMTAsNDYsMCw0LAotICAgIDExNiw0LDAsMTA3LDEwLDAsMTE0LDkyLDAsMSwxLDEsMTI0LDAsMCwxMDYsCi0gICAgNSwwLDEyNCwxLDAsMTMxLDEsMCwxMjUsMiwwLDEyNCwyLDAsMTE2LDIsCi0gICAgMCwxMDYsMywwLDEyNCwxLDAsNjAsODksMTEwLDEsMCw4OCwxMjQsMiwwLAotICAgIDgzLDQxLDIsMTIyLDIxMCw3MSwxMDEsMTE2LDMyLDExNiwxMDQsMTAxLDMyLDEwMiwxMDUsMTEwLAotICAgIDEwMCwxMDEsMTE0LDMyLDEwMiwxMTEsMTE0LDMyLDExNiwxMDQsMTAxLDMyLDExMiw5NywxMTYsMTA0LAotICAgIDMyLDEwMSwxMTAsMTE2LDExNCwxMjEsMzIsMTAyLDExNCwxMTEsMTA5LDMyLDExNSwxMjEsMTE1LDQ2LAotICAgIDExMiw5NywxMTYsMTA0LDk1LDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMTQsOTUsOTksOTcsCi0gICAgOTksMTA0LDEwMSw0NiwxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw3MywxMDIsCi0gICAgMzIsMTE2LDEwNCwxMDEsMzIsMTEyLDk3LDExNiwxMDQsMzIsMTAxLDExMCwxMTYsMTE0LDEyMSwzMiwKLSAgICAxMDUsMTE1LDMyLDExMCwxMTEsMTE2LDMyLDEwNSwxMTAsMzIsMTE2LDEwNCwxMDEsMzIsOTksOTcsCi0gICAgOTksMTA0LDEwMSw0NCwzMiwxMDIsMTA1LDExMCwxMDAsMzIsMTE2LDEwNCwxMDEsMzIsOTcsMTEyLAotICAgIDExMiwxMTQsMTExLDExMiwxMTQsMTA1LDk3LDExNiwxMDEsMzIsMTAyLDEwNSwxMTAsMTAwLDEwMSwxMTQsCi0gICAgMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsOTcsMTEwLDEwMCwzMiw5OSw5Nyw5OSwKLSAgICAxMDQsMTAxLDMyLDEwNSwxMTYsNDYsMzIsNzMsMTAyLDMyLDExMCwxMTEsMzIsMTAyLDEwNSwxMTAsCi0gICAgMTAwLDEwMSwxMTQsMzIsMTA1LDExNSwzMiw5NywxMTgsOTcsMTA1LDEwOCw5Nyw5OCwxMDgsMTAxLAotICAgIDQ0LDMyLDExNSwxMTYsMTExLDExNCwxMDEsMzIsNzgsMTExLDExMCwxMDEsNDYsMTAsMTAsMzIsCi0gICAgMzIsMzIsMzIsMzIsMzIsMzIsMzIsMTE0LDMwLDAsMCwwLDQxLDYsMTE0LDMsCi0gICAgMCwwLDAsMTE0LDQ1LDAsMCwwLDExNCw3LDAsMCwwLDExNCw3NiwxLAotICAgIDAsMCwxMTQsNzksMCwwLDAsMTE0LDgwLDEsMCwwLDQxLDMsMTE0LDEyLAotICAgIDEsMCwwLDExNCwzNSwwLDAsMCwxMTQsNzgsMSwwLDAsMTE0LDQsMCwKLSAgICAwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDIwLDk1LDExMiwKKyAgICAxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5NSwxMTQsMTAxLDExMiwxMTQsOTksMiwwLDAsMCwKKyAgICAwLDAsMCwwLDIsMCwwLDAsMSwwLDAsMCw2NywwLDAsMCwKKyAgICAxMTUsNCwwLDAsMCwxMDAsMSwwLDgzLDQxLDIsNzgsODQsMTE0LDQsMCwKKyAgICAwLDAsNDEsMiwxMTQsNzEsMCwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsNCwKKyAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMjE5LDAsCisgICAgMCwwLDI0MCw2LDAsMCwxMTUsMiwwLDAsMCwwLDEsMTIyLDI3LDk1LAorICAgIDc4LDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LAorICAgIDEwNSwxMTUsOTUsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDk5LDIsMCwwLDAsMCwKKyAgICAwLDAsMCwyLDAsMCwwLDEsMCwwLDAsNjcsMCwwLDAsMTE1LAorICAgIDQsMCwwLDAsMTAwLDEsMCw4Myw0MSwyLDc4LDExNCwzMCwwLDAsMCwKKyAgICAxMTQsNCwwLDAsMCw0MSwyLDExNCw3MSwwLDAsMCwxMTQsMTU5LDAsMCwKKyAgICAwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLAorICAgIDExNCwxNSwxLDAsMCwyNDMsNiwwLDAsMTE1LDIsMCwwLDAsMCwxLAorICAgIDEyMiwyNyw5NSw3OCw5NywxMDksMTAxLDExNSwxMTIsOTcsOTksMTAxLDc2LDExMSw5NywxMDAsCisgICAgMTAxLDExNCw0NiwxMDMsMTAxLDExNiw5NSwxMTUsMTExLDExNywxMTQsOTksMTAxLDk5LDIsMCwKKyAgICAwLDAsMCwwLDAsMCwyLDAsMCwwLDYsMCwwLDAsNjcsMCwKKyAgICAwLDAsMTE1LDIyLDAsMCwwLDExNiwwLDAsMTAwLDEsMCwxMDAsMiwwLAorICAgIDEwMCwzLDAsMTAwLDQsMCwxMDAsNSwwLDEzMSwzLDEsODMsNDEsNiw3OCwKKyAgICAxMTQsMzAsMCwwLDAsMTIyLDgsNjAsMTE1LDExNiwxMTQsMTA1LDExMCwxMDMsNjIsMTE0LAorICAgIDIxLDEsMCwwLDExNCw0MiwxLDAsMCw4NCw0MSwxLDExNCw0MywxLDAsCisgICAgMCw0MSwyLDExNCw3MSwwLDAsMCwxMTQsMTU5LDAsMCwwLDExNCw0LDAsCisgICAgMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwxNCwxLDAsCisgICAgMCwyNDYsNiwwLDAsMTE1LDIsMCwwLDAsMCwxLDEyMiwyNSw5NSw3OCwKKyAgICA5NywxMDksMTAxLDExNSwxMTIsOTcsOTksMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCw0NiwxMDMsCisgICAgMTAxLDExNiw5NSw5OSwxMTEsMTAwLDEwMSw5OSwyLDAsMCwwLDAsMCwwLDAsCisgICAgMiwwLDAsMCwxLDAsMCwwLDY3LDAsMCwwLDExNSw0LDAsMCwKKyAgICAwLDEwMCwxLDAsODMsNDEsMiwxMjIsNDIsODUsMTE1LDEwMSwzMiwxMDAsMTAxLDEwMiwKKyAgICA5NywxMTcsMTA4LDExNiwzMiwxMTUsMTAxLDEwOSw5NywxMTAsMTE2LDEwNSw5OSwxMTUsMzIsMTAyLAorICAgIDExMSwxMTQsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsOTksMTE0LDEwMSw5NywxMTYsMTA1LAorICAgIDExMSwxMTAsNDYsNzgsMTE0LDQsMCwwLDAsNDEsMiwxMTQsNzEsMCwwLDAsCisgICAgMTE0LDE3NywwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsCisgICAgNSwwLDAsMCwxMTQsMjU0LDAsMCwwLDI0OSw2LDAsMCwxMTUsMCwwLAorICAgIDAsMCwxMjIsMzAsOTUsNzgsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSw3NiwxMTEsCisgICAgOTcsMTAwLDEwMSwxMTQsNDYsOTksMTE0LDEwMSw5NywxMTYsMTAxLDk1LDEwOSwxMTEsMTAwLDExNywKKyAgICAxMDgsMTAxLDk5LDIsMCwwLDAsMCwwLDAsMCwyLDAsMCwwLDEsCisgICAgMCwwLDAsNjcsMCwwLDAsMTE1LDQsMCwwLDAsMTAwLDAsMCw4MywKKyAgICA0MSwxLDc4LDExNCw0LDAsMCwwLDQxLDIsMTE0LDcxLDAsMCwwLDExNCwKKyAgICAxNzgsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsCisgICAgMCwwLDAsMTE0LDI1NSwwLDAsMCwyNTIsNiwwLDAsMTE1LDIsMCwwLAorICAgIDAsMCwxLDEyMiwyOCw5NSw3OCw5NywxMDksMTAxLDExNSwxMTIsOTcsOTksMTAxLDc2LAorICAgIDExMSw5NywxMDAsMTAxLDExNCw0NiwxMDEsMTIwLDEwMSw5OSw5NSwxMDksMTExLDEwMCwxMTcsMTA4LAorICAgIDEwMSw5OSwyLDAsMCwwLDAsMCwwLDAsMiwwLDAsMCwzLDAsCisgICAgMCwwLDY3LDAsMCwwLDExNSwyOSwwLDAsMCwxMTYsMCwwLDEwMCwxLAorICAgIDAsMTI0LDAsMCwxMDYsMSwwLDEzMSwyLDAsMSwxMTYsMiwwLDEyNCwwLAorICAgIDAsMTI0LDEsMCwxMzEsMiwwLDgzLDQxLDIsMTIyLDk4LDc2LDExMSw5NywxMDAsCisgICAgMzIsOTcsMzIsMTEwLDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwxMDEsMzIsMTA5LDExMSwxMDAsCisgICAgMTE3LDEwOCwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsODQsMTA0LAorICAgIDEwNSwxMTUsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMzIsMTA1LDExNSwzMiwxMDAsMTAxLDExMiwKKyAgICAxMTQsMTAxLDk5LDk3LDExNiwxMDEsMTAwLDQ2LDMyLDMyLDg1LDExNSwxMDEsMzIsMTAxLDEyMCwKKyAgICAxMDEsOTksOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDAsNDEsMzIsMTA1LDExMCwxMTUsMTE2LAorICAgIDEwMSw5NywxMDAsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMTIyLDM4LAorICAgIDExMCw5NywxMDksMTAxLDExNSwxMTIsOTcsOTksMTAxLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLAorICAgIDMyLDEwOCwxMTEsOTcsMTAwLDEwMSwxMDAsMzIsMTE5LDEwNSwxMTYsMTA0LDMyLDExMiw5NywxMTYsCisgICAgMTA0LDMyLDEyMywzMywxMTQsMTI1LDQxLDMsMTE0LDE1MywwLDAsMCwxMTQsMjUyLDAsCisgICAgMCwwLDExNCwxNzksMCwwLDAsNDEsMiwxMTQsNzEsMCwwLDAsMTE0LDE1OSwKKyAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLAorICAgIDAsMCwxMTQsMywxLDAsMCwyNTUsNiwwLDAsMTE1LDQsMCwwLDAsCisgICAgMCw3LDE2LDEsMTIyLDI4LDk1LDc4LDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwxMDEsCisgICAgNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDEwOCwxMTEsOTcsMTAwLDk1LDEwOSwxMTEsMTAwLDExNywKKyAgICAxMDgsMTAxLDc4LDQxLDEyLDExNCw1NywwLDAsMCwxMTQsNTYsMCwwLDAsMTE0LAorICAgIDU4LDAsMCwwLDExNCw3MiwwLDAsMCwxMTQsMTcsMSwwLDAsMTE0LDIwNCwKKyAgICAwLDAsMCwxMTQsMjE5LDAsMCwwLDExNCwxNSwxLDAsMCwxMTQsMTQsMSwKKyAgICAwLDAsMTE0LDI1NCwwLDAsMCwxMTQsMjU1LDAsMCwwLDExNCwzLDEsMCwKKyAgICAwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLAorICAgIDExNCw1LDAsMCwwLDExNCwyNTAsMCwwLDAsMjI3LDYsMCwwLDExNSwxNiwKKyAgICAwLDAsMCwxMiwxLDEyLDMsMTgsOSwxMiwzLDEyLDMsMTIsMywxMiwKKyAgICAzLDEyLDMsMTE0LDI1MCwwLDAsMCw5OSwwLDAsMCwwLDAsMCwwLAorICAgIDAsMCwwLDAsMCw1LDAsMCwwLDY0LDAsMCwwLDExNSwxNjAsMCwKKyAgICAwLDAsMTAxLDAsMCw5MCwxLDAsMTAwLDAsMCw5MCwyLDAsMTAwLDEsCisgICAgMCw5MCwzLDAsMTAxLDQsMCwxMDAsMiwwLDEwMCwzLDAsMTMyLDAsMCwKKyAgICAxMzEsMSwwLDkwLDUsMCwxMDEsNCwwLDEwMCw0LDAsMTAwLDUsMCwxMzIsCisgICAgMCwwLDEzMSwxLDAsOTAsNiwwLDEwMSw0LDAsMTAwLDYsMCwxMDAsNywKKyAgICAwLDEzMiwwLDAsMTMxLDEsMCw5MCw3LDAsMTAxLDQsMCwxMDAsOCwwLAorICAgIDEwMCw5LDAsMTMyLDAsMCwxMzEsMSwwLDkwLDgsMCwxMDEsNCwwLDEwMCwKKyAgICAxMCwwLDEwMCwxMSwwLDEwMCwxMiwwLDEzMiwxLDAsMTMxLDEsMCw5MCw5LAorICAgIDAsMTAxLDQsMCwxMDAsMTAsMCwxMDAsMTAsMCwxMDAsMTMsMCwxMDAsMTQsMCwKKyAgICAxMzIsMiwwLDEzMSwxLDAsOTAsMTAsMCwxMDEsNCwwLDEwMCwxMCwwLDEwMCwKKyAgICAxNSwwLDEwMCwxNiwwLDEzMiwxLDAsMTMxLDEsMCw5MCwxMSwwLDEwMCwxMCwKKyAgICAwLDgzLDQxLDE3LDIxOCwxMCw4MCw5NywxMTYsMTA0LDcwLDEwNSwxMTAsMTAwLDEwMSwxMTQsCisgICAgMTIyLDYyLDc3LDEwMSwxMTYsOTcsMzIsMTEyLDk3LDExNiwxMDQsMzIsMTAyLDEwNSwxMTAsMTAwLAorICAgIDEwMSwxMTQsMzIsMTAyLDExMSwxMTQsMzIsMTE1LDEyMSwxMTUsNDYsMTEyLDk3LDExNiwxMDQsMzIsCisgICAgOTcsMTEwLDEwMCwzMiwxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsMzIsOTUsOTUsMTEyLDk3LAorICAgIDExNiwxMDQsOTUsOTUsMzIsOTcsMTE2LDExNiwxMTQsMTA1LDk4LDExNywxMTYsMTAxLDExNSw0NiwKKyAgICA5OSwxLDAsMCwwLDAsMCwwLDAsMiwwLDAsMCw0LDAsMCwKKyAgICAwLDY3LDAsMCwwLDExNSw1NSwwLDAsMCwxMjAsNDgsMCwxMTYsMCwwLAorICAgIDEwNiwxLDAsMTA2LDIsMCwxMzEsMCwwLDY4LDkzLDMxLDAsMTI1LDEsMCwKKyAgICAxMTYsMywwLDEyNCwxLDAsMTAwLDEsMCwxMzEsMiwwLDExNCwxNiwwLDEyNCwKKyAgICAxLDAsMTA2LDQsMCwxMzEsMCwwLDEsMTEzLDE2LDAsODcsMTAwLDIsMCwKKyAgICA4Myw0MSwzLDEyMiwxMjUsNjcsOTcsMTA4LDEwOCwzMiwxMTYsMTA0LDEwMSwzMiwxMDUsMTEwLAorICAgIDExOCw5NywxMDgsMTA1LDEwMCw5NywxMTYsMTAxLDk1LDk5LDk3LDk5LDEwNCwxMDEsMTE1LDQwLAorICAgIDQxLDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDMyLDExMSwxMTAsMzIsOTcsMTA4LDEwOCwzMiwKKyAgICAxMTIsOTcsMTE2LDEwNCwzMiwxMDEsMTEwLDExNiwxMTQsMTIxLDMyLDEwMiwxMDUsMTEwLDEwMCwxMDEsCisgICAgMTE0LDExNSwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwxMTUsMTE2LDExMSwxMTQsMTAxLAorICAgIDEwMCwzMiwxMDUsMTEwLDMyLDExNSwxMjEsMTE1LDQ2LDExMiw5NywxMTYsMTA0LDk1LDEwNSwxMDksCisgICAgMTEyLDExMSwxMTQsMTE2LDEwMSwxMTQsOTUsOTksOTcsOTksMTA0LDEwMSwxMTUsMzIsNDAsMTE5LAorICAgIDEwNCwxMDEsMTE0LDEwMSwzMiwxMDUsMTA5LDExMiwxMDgsMTAxLDEwOSwxMDEsMTEwLDExNiwxMDEsMTAwLAorICAgIDQxLDQ2LDIxOCwxNywxMDUsMTEwLDExOCw5NywxMDgsMTA1LDEwMCw5NywxMTYsMTAxLDk1LDk5LAorICAgIDk3LDk5LDEwNCwxMDEsMTE1LDc4LDQxLDUsMTE0LDcsMCwwLDAsMjE4LDE5LDExMiwKICAgICA5NywxMTYsMTA0LDk1LDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMTQsOTUsOTksOTcsOTksCi0gICAgMTA0LDEwMSw3OCw3LDAsMCwxMTUsMTYsMCwwLDAsMCw4LDEyLDEsMTUsCi0gICAgMSwzLDEsMTcsMSwxMywxLDE1LDEsMTgsMSwxMjIsMzEsODAsOTcsMTE2LAotICAgIDEwNCw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDQ2LDk1LDExMiw5NywxMTYsMTA0LDk1LDEwNSwxMDksCi0gICAgMTEyLDExMSwxMTQsMTE2LDEwMSwxMTQsOTUsOTksOTcsOTksMTA0LDEwMSw5OSwzLDAsMCwKLSAgICAwLDAsMCwwLDAsNiwwLDAsMCwzLDAsMCwwLDY3LDAsMCwKLSAgICAwLDExNSwxMTMsMCwwLDAsMTE2LDAsMCwxMjQsMiwwLDEwMCwxLDAsMTMxLAotICAgIDIsMCwxMTQsMzksMCwxMjQsMiwwLDEwNiwxLDAsMTI0LDEsMCwxMzEsMSwKLSAgICAwLDkyLDIsMCwxMjUsMywwLDEyNSw0LDAsMTEwLDIxLDAsMTI0LDIsMCwKLSAgICAxMDYsMiwwLDEyNCwxLDAsMTMxLDEsMCwxMjUsMywwLDEwMywwLDAsMTI1LAotICAgIDQsMCwxMjQsMywwLDEwMCwwLDAsMTA3LDksMCwxMTQsODUsMCwxMTYsMywKLSAgICAwLDEyNCwxLDAsMTI0LDMsMCwxMzEsMiwwLDgzLDExNiw0LDAsMTI0LDEsCi0gICAgMCwxMDAsMCwwLDEzMSwyLDAsMTI1LDUsMCwxMjQsNCwwLDEyNCw1LDAsCi0gICAgOTUsNSwwLDEyNCw1LDAsODMsNDEsMiw3OCwxMTQsMTY2LDAsMCwwLDQxLAotICAgIDYsMTE0LDYwLDAsMCwwLDExNCwxNjYsMCwwLDAsMTE0LDE1LDEsMCwwLAotICAgIDExNCwxNzQsMCwwLDAsMTE0LDIxNywwLDAsMCwxMTQsMjIxLDAsMCwwLDQxLAotICAgIDYsMTE0LDEyLDEsMCwwLDExNCwxNTksMCwwLDAsMTE0LDc4LDEsMCwwLAotICAgIDExNCwxNzAsMCwwLDAsMTE0LDE3MSwwLDAsMCwxMTQsMTc4LDAsMCwwLDExNCwKLSAgICA0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwxNiwKLSAgICA5NSwxMDgsMTAxLDEwMyw5Nyw5OSwxMjEsOTUsMTAzLDEwMSwxMTYsOTUsMTE1LDExMiwxMDEsOTksCi0gICAgOTUsNywwLDAsMTE1LDE4LDAsMCwwLDAsNCwxNSwxLDI0LDIsMTUsCi0gICAgMSw2LDEsMTIsMSwxMywxLDE1LDEsOSwxLDEyMiwyNyw4MCw5NywxMTYsCi0gICAgMTA0LDcwLDEwNSwxMTAsMTAwLDEwMSwxMTQsNDYsOTUsMTA4LDEwMSwxMDMsOTcsOTksMTIxLDk1LAotICAgIDEwMywxMDEsMTE2LDk1LDExNSwxMTIsMTAxLDk5LDc4LDk5LDQsMCwwLDAsMCwwLAotICAgIDAsMCw5LDAsMCwwLDUsMCwwLDAsNjcsMCwwLDAsMTE1LDI1MiwKLSAgICAwLDAsMCwxMDMsMCwwLDEyNSw0LDAsMTIwLDIzOSwwLDEyNCwyLDAsNjgsCi0gICAgOTMsMjAzLDAsMTI1LDUsMCwxMTYsMCwwLDEyNCw1LDAsMTE2LDEsMCwxMTYsCi0gICAgMiwwLDEwMiwyLDAsMTMxLDIsMCwxMTUsNDYsMCwxMTMsMTMsMCwxMTAsMCwKLSAgICAwLDEyNCwwLDAsMTA2LDMsMCwxMjQsNSwwLDEzMSwxLDAsMTI1LDYsMCwKLSAgICAxMjQsNiwwLDEwMCwxLDAsMTA3LDksMCwxMTQsMTMsMCwxMTYsNCwwLDEyNCwKLSAgICA2LDAsMTAwLDIsMCwxMzEsMiwwLDExNCwxMDksMCwxMjQsNiwwLDEwNiw1LAotICAgIDAsMTI0LDEsMCwxMjQsMywwLDEzMSwyLDAsMTI1LDcsMCwxMTAsMTgsMCwKLSAgICAxMjQsMCwwLDEwNiw2LDAsMTI0LDEsMCwxMjQsNiwwLDEzMSwyLDAsMTI1LAotICAgIDcsMCwxMjQsNywwLDEwMCwxLDAsMTA3LDgsMCwxMTQsMTQ1LDAsMTEzLDEzLAotICAgIDAsMTEwLDAsMCwxMjQsNywwLDEwNiw3LDAsMTAwLDEsMCwxMDcsOSwwLAotICAgIDExNCwxNjQsMCwxMjQsNywwLDgzLDEyNCw3LDAsMTA2LDgsMCwxMjUsOCwwLAotICAgIDEyNCw4LDAsMTAwLDEsMCwxMDcsOCwwLDExNCwyMDAsMCwxMTYsOSwwLDEwMCwKLSAgICAzLDAsMTMxLDEsMCwxMzAsMSwwLDExMCwwLDAsMTI0LDQsMCwxMDYsMTAsCi0gICAgMCwxMjQsOCwwLDEzMSwxLDAsMSwxMTMsMTMsMCwxMTMsMTMsMCw4NywxMTYsCisgICAgMTA0LDEwMSwyMTgsNiwxMTgsOTcsMTA4LDExNywxMDEsMTE1LDExNCw2MCwwLDAsMCwxMTQsCisgICAgNzQsMSwwLDAsNDEsMiwxMTQsMTAsMSwwLDAsMjE4LDYsMTAyLDEwNSwxMTAsCisgICAgMTAwLDEwMSwxMTQsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwKKyAgICAwLDAsMTE0LDc0LDEsMCwwLDE2LDcsMCwwLDExNSw2LDAsMCwwLAorICAgIDAsNCwyMiwxLDE1LDEsMTIyLDI4LDgwLDk3LDExNiwxMDQsNzAsMTA1LDExMCwxMDAsCisgICAgMTAxLDExNCw0NiwxMDUsMTEwLDExOCw5NywxMDgsMTA1LDEwMCw5NywxMTYsMTAxLDk1LDk5LDk3LAorICAgIDk5LDEwNCwxMDEsMTE1LDk5LDIsMCwwLDAsMCwwLDAsMCwzLDAsMCwKKyAgICAwLDEyLDAsMCwwLDY3LDAsMCwwLDExNSwxMDcsMCwwLDAsMTE2LDAsCisgICAgMCwxMDYsMSwwLDEwMCwxLDAsMTA3LDksMCwxMTQsNDEsMCwxMTYsMCwwLAorICAgIDEwNiwxLDAsMTIsMTE0LDQxLDAsMTE2LDIsMCwxMDYsMywwLDEwMCwyLDAsCisgICAgMTE2LDQsMCwxMzEsMiwwLDEsMTIwLDU5LDAsMTE2LDAsMCwxMDYsMSwwLAorICAgIDY4LDkzLDQ0LDAsMTI1LDIsMCwxMjEsMTQsMCwxMjQsMiwwLDEyNCwxLDAsCisgICAgMTMxLDEsMCw4Myw4NywxMTMsNTEsMCw0LDExNiw1LDAsMTA3LDEwLDAsMTE0LAorICAgIDk0LDAsMSwxLDEsMTE5LDUxLDAsODksMTEzLDUxLDAsODgsMTEzLDUxLDAsCisgICAgODcsMTAwLDEsMCw4MywxMDAsMSwwLDgzLDQxLDMsMTIyLDExMyw4MywxMDEsOTcsCisgICAgMTE0LDk5LDEwNCwzMiwxMTUsMTAxLDExMywxMTcsMTAxLDExMCw5OSwxMDEsMzIsMTExLDEwMiwzMiwKKyAgICAxMDQsMTExLDExMSwxMDcsMTE1LDMyLDEwMiwxMTEsMTE0LDMyLDk3LDMyLDEwMiwxMDUsMTEwLDEwMCwKKyAgICAxMDEsMTE0LDMyLDEwMiwxMTEsMTE0LDMyLDM5LDExMiw5NywxMTYsMTA0LDM5LDQ2LDEwLDEwLAorICAgIDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDczLDEwMiwzMiwzOSwxMDQsMTExLDExMSwxMDcsCisgICAgMTE1LDM5LDMyLDEwNSwxMTUsMzIsMTAyLDk3LDEwOCwxMTUsMTAxLDMyLDExNiwxMDQsMTAxLDExMCwKKyAgICAzMiwxMTcsMTE1LDEwMSwzMiwxMTUsMTIxLDExNSw0NiwxMTIsOTcsMTE2LDEwNCw5NSwxMDQsMTExLAorICAgIDExMSwxMDcsMTE1LDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDc4LDEyMiwKKyAgICAyMywxMTUsMTIxLDExNSw0NiwxMTIsOTcsMTE2LDEwNCw5NSwxMDQsMTExLDExMSwxMDcsMTE1LDMyLAorICAgIDEwNSwxMTUsMzIsMTAxLDEwOSwxMTIsMTE2LDEyMSw0MSw2LDExNCw3LDAsMCwwLDIxOCwKKyAgICAxMCwxMTIsOTcsMTE2LDEwNCw5NSwxMDQsMTExLDExMSwxMDcsMTE1LDExNCwxNjcsMCwwLDAsCisgICAgMTE0LDE2OCwwLDAsMCwxMTQsMTY5LDAsMCwwLDExNCwxNTQsMCwwLDAsNDEsCisgICAgMywxMTQsMTAsMSwwLDAsMTE0LDM1LDAsMCwwLDkwLDQsMTA0LDExMSwxMTEsCisgICAgMTA3LDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLAorICAgIDIxOCwxMSw5NSwxMTIsOTcsMTE2LDEwNCw5NSwxMDQsMTExLDExMSwxMDcsMTE1LDI0LDcsMCwKKyAgICAwLDExNSwxNiwwLDAsMCwwLDcsMjUsMSwxNiwxLDE2LDEsMywxLAorICAgIDE0LDEsMTMsMSwxMiwyLDEyMiwyMiw4MCw5NywxMTYsMTA0LDcwLDEwNSwxMTAsMTAwLAorICAgIDEwMSwxMTQsNDYsOTUsMTEyLDk3LDExNiwxMDQsOTUsMTA0LDExMSwxMTEsMTA3LDExNSw5OSwyLAorICAgIDAsMCwwLDAsMCwwLDAsMywwLDAsMCwxOSwwLDAsMCw2NywKKyAgICAwLDAsMCwxMTUsMTIzLDAsMCwwLDEyNCwxLDAsMTAwLDEsMCwxMDcsMiwKKyAgICAwLDExNCw1MywwLDEyMSwxNiwwLDExNiwwLDAsMTA2LDEsMCwxMzEsMCwwLAorICAgIDEyNSwxLDAsODcsMTEwLDIyLDAsNCwxMTYsMiwwLDEwNywxMCwwLDExNCw1MiwKKyAgICAwLDEsMSwxLDEwMCwyLDAsODMsODksMTEwLDEsMCw4OCwxMjEsMTcsMCwKKyAgICAxMTYsMywwLDEwNiw0LDAsMTI0LDEsMCwyNSwxMjUsMiwwLDg3LDExMCw0NiwKKyAgICAwLDQsMTE2LDUsMCwxMDcsMTAsMCwxMTQsMTE4LDAsMSwxLDEsMTI0LDAsCisgICAgMCwxMDYsNiwwLDEyNCwxLDAsMTMxLDEsMCwxMjUsMiwwLDEyNCwyLDAsCisgICAgMTE2LDMsMCwxMDYsNCwwLDEyNCwxLDAsNjAsODksMTEwLDEsMCw4OCwxMjQsCisgICAgMiwwLDgzLDQxLDMsMTIyLDIxMCw3MSwxMDEsMTE2LDMyLDExNiwxMDQsMTAxLDMyLDEwMiwKKyAgICAxMDUsMTEwLDEwMCwxMDEsMTE0LDMyLDEwMiwxMTEsMTE0LDMyLDExNiwxMDQsMTAxLDMyLDExMiw5NywKKyAgICAxMTYsMTA0LDMyLDEwMSwxMTAsMTE2LDExNCwxMjEsMzIsMTAyLDExNCwxMTEsMTA5LDMyLDExNSwxMjEsCisgICAgMTE1LDQ2LDExMiw5NywxMTYsMTA0LDk1LDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMTQsOTUsCisgICAgOTksOTcsOTksMTA0LDEwMSw0NiwxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwKKyAgICA3MywxMDIsMzIsMTE2LDEwNCwxMDEsMzIsMTEyLDk3LDExNiwxMDQsMzIsMTAxLDExMCwxMTYsMTE0LAorICAgIDEyMSwzMiwxMDUsMTE1LDMyLDExMCwxMTEsMTE2LDMyLDEwNSwxMTAsMzIsMTE2LDEwNCwxMDEsMzIsCisgICAgOTksOTcsOTksMTA0LDEwMSw0NCwzMiwxMDIsMTA1LDExMCwxMDAsMzIsMTE2LDEwNCwxMDEsMzIsCisgICAgOTcsMTEyLDExMiwxMTQsMTExLDExMiwxMTQsMTA1LDk3LDExNiwxMDEsMzIsMTAyLDEwNSwxMTAsMTAwLAorICAgIDEwMSwxMTQsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsOTcsMTEwLDEwMCwzMiw5OSwKKyAgICA5Nyw5OSwxMDQsMTAxLDMyLDEwNSwxMTYsNDYsMzIsNzMsMTAyLDMyLDExMCwxMTEsMzIsMTAyLAorICAgIDEwNSwxMTAsMTAwLDEwMSwxMTQsMzIsMTA1LDExNSwzMiw5NywxMTgsOTcsMTA1LDEwOCw5Nyw5OCwKKyAgICAxMDgsMTAxLDQ0LDMyLDExNSwxMTYsMTExLDExNCwxMDEsMzIsNzgsMTExLDExMCwxMDEsNDYsMTAsCisgICAgMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMTE0LDMwLDAsMCwwLDc4LDQxLAorICAgIDcsMTE0LDMsMCwwLDAsMTE0LDQ1LDAsMCwwLDIxOCwxNyw3MCwxMDUsMTA4LAorICAgIDEwMSw3OCwxMTEsMTE2LDcwLDExMSwxMTcsMTEwLDEwMCw2OSwxMTQsMTE0LDExMSwxMTQsMTE0LDcsCisgICAgMCwwLDAsMTE0LDc1LDEsMCwwLDExNCw3OSwwLDAsMCwxMTQsNzksMSwKKyAgICAwLDAsNDEsMywxMTQsMTAsMSwwLDAsMTE0LDM1LDAsMCwwLDExNCw3NywKKyAgICAxLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLAorICAgIDAsMCwyMTgsMjAsOTUsMTEyLDk3LDExNiwxMDQsOTUsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsCisgICAgMTAxLDExNCw5NSw5OSw5Nyw5OSwxMDQsMTAxLDQxLDcsMCwwLDExNSwyMiwwLDAsCisgICAgMCwwLDgsMTIsMSwzLDEsMTYsMSwxMywzLDksMSwzLDEsMTcsCisgICAgMSwxMywxLDE1LDEsMTgsMSwxMjIsMzEsODAsOTcsMTE2LDEwNCw3MCwxMDUsMTEwLAorICAgIDEwMCwxMDEsMTE0LDQ2LDk1LDExMiw5NywxMTYsMTA0LDk1LDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LAorICAgIDEwMSwxMTQsOTUsOTksOTcsOTksMTA0LDEwMSw5OSwzLDAsMCwwLDAsMCwwLAorICAgIDAsNiwwLDAsMCwzLDAsMCwwLDY3LDAsMCwwLDExNSwxMTMsMCwKKyAgICAwLDAsMTE2LDAsMCwxMjQsMiwwLDEwMCwxLDAsMTMxLDIsMCwxMTQsMzksCisgICAgMCwxMjQsMiwwLDEwNiwxLDAsMTI0LDEsMCwxMzEsMSwwLDkyLDIsMCwKKyAgICAxMjUsMywwLDEyNSw0LDAsMTEwLDIxLDAsMTI0LDIsMCwxMDYsMiwwLDEyNCwKKyAgICAxLDAsMTMxLDEsMCwxMjUsMywwLDEwMywwLDAsMTI1LDQsMCwxMjQsMywKKyAgICAwLDEwMCwwLDAsMTA3LDksMCwxMTQsODUsMCwxMTYsMywwLDEyNCwxLDAsCisgICAgMTI0LDMsMCwxMzEsMiwwLDgzLDExNiw0LDAsMTI0LDEsMCwxMDAsMCwwLAorICAgIDEzMSwyLDAsMTI1LDUsMCwxMjQsNCwwLDEyNCw1LDAsOTUsNSwwLDEyNCwKKyAgICA1LDAsODMsNDEsMiw3OCwxMTQsMTY2LDAsMCwwLDQxLDYsMTE0LDYwLDAsCisgICAgMCwwLDExNCwxNjYsMCwwLDAsMTE0LDEzLDEsMCwwLDExNCwxNzQsMCwwLAorICAgIDAsMTE0LDIxNiwwLDAsMCwxMTQsMjIwLDAsMCwwLDQxLDYsMTE0LDEwLDEsCisgICAgMCwwLDExNCwxNTksMCwwLDAsMTE0LDc3LDEsMCwwLDExNCwxNzAsMCwwLAorICAgIDAsMTE0LDE3MSwwLDAsMCwxMTQsMTc3LDAsMCwwLDExNCw0LDAsMCwwLAorICAgIDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwxNiw5NSwxMDgsMTAxLDEwMywKKyAgICA5Nyw5OSwxMjEsOTUsMTAzLDEwMSwxMTYsOTUsMTE1LDExMiwxMDEsOTksNjMsNywwLDAsCisgICAgMTE1LDE4LDAsMCwwLDAsNCwxNSwxLDI0LDIsMTUsMSw2LDEsMTIsCisgICAgMSwxMywxLDE1LDEsOSwxLDEyMiwyNyw4MCw5NywxMTYsMTA0LDcwLDEwNSwxMTAsCisgICAgMTAwLDEwMSwxMTQsNDYsOTUsMTA4LDEwMSwxMDMsOTcsOTksMTIxLDk1LDEwMywxMDEsMTE2LDk1LAorICAgIDExNSwxMTIsMTAxLDk5LDc4LDk5LDQsMCwwLDAsMCwwLDAsMCw5LDAsCisgICAgMCwwLDUsMCwwLDAsNjcsMCwwLDAsMTE1LDI0MCwwLDAsMCwxMDMsCisgICAgMCwwLDEyNSw0LDAsMTIwLDIyNywwLDEyNCwyLDAsNjgsOTMsMTkxLDAsMTI1LAorICAgIDUsMCwxMTYsMCwwLDEyNCw1LDAsMTE2LDEsMCwxMTYsMiwwLDEwMiwyLAorICAgIDAsMTMxLDIsMCwxMTUsNDMsMCwxMTMsMTMsMCwxMjQsMCwwLDEwNiwzLDAsCisgICAgMTI0LDUsMCwxMzEsMSwwLDEyNSw2LDAsMTI0LDYsMCwxMDAsMSwwLDEwNywKKyAgICA5LDAsMTE0LDEzLDAsMTE2LDQsMCwxMjQsNiwwLDEwMCwyLDAsMTMxLDIsCisgICAgMCwxMTQsMTA2LDAsMTI0LDYsMCwxMDYsNSwwLDEyNCwxLDAsMTI0LDMsMCwKKyAgICAxMzEsMiwwLDEyNSw3LDAsMTEwLDE4LDAsMTI0LDAsMCwxMDYsNiwwLDEyNCwKKyAgICAxLDAsMTI0LDYsMCwxMzEsMiwwLDEyNSw3LDAsMTI0LDcsMCwxMDAsMSwKKyAgICAwLDEwNyw4LDAsMTE0LDEzOSwwLDExMywxMywwLDEyNCw3LDAsMTA2LDcsMCwKKyAgICAxMDAsMSwwLDEwNyw5LDAsMTE0LDE1OCwwLDEyNCw3LDAsODMsMTI0LDcsMCwKKyAgICAxMDYsOCwwLDEyNSw4LDAsMTI0LDgsMCwxMDAsMSwwLDEwNyw4LDAsMTE0LAorICAgIDE5MSwwLDExNiw5LDAsMTAwLDMsMCwxMzEsMSwwLDEzMCwxLDAsMTI0LDQsCisgICAgMCwxMDYsMTAsMCwxMjQsOCwwLDEzMSwxLDAsMSwxMTMsMTMsMCw4NywxMTYsCiAgICAgMTEsMCwxMjQsMSwwLDEwMCwxLDAsMTMxLDIsMCwxMjUsNywwLDEyNCw0LAogICAgIDAsMTI0LDcsMCw5NSw4LDAsMTI0LDcsMCw4MywxMDAsMSwwLDgzLDQxLAogICAgIDQsMTIyLDYzLDcwLDEwNSwxMTAsMTAwLDMyLDExNiwxMDQsMTAxLDMyLDEwOCwxMTEsOTcsMTAwLAogICAgIDEwMSwxMTQsMzIsMTExLDExNCwzMiwxMTAsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSw5NSwKICAgICAxMTIsOTcsMTE2LDEwNCwzMiwxMDIsMTExLDExNCwzMiwxMTYsMTA0LDEwNSwxMTUsMzIsMTA5LDExMSwKICAgICAxMDAsMTE3LDEwOCwxMDEsNDcsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDMyLDExMCw5NywxMDksCi0gICAgMTAxLDQ2LDc4LDExNCwxNCwxLDAsMCwxMjIsMTksMTE1LDExMiwxMDEsOTksMzIsMTA5LAorICAgIDEwMSw0Niw3OCwxMTQsMTIsMSwwLDAsMTIyLDE5LDExNSwxMTIsMTAxLDk5LDMyLDEwOSwKICAgICAxMDUsMTE1LDExNSwxMDUsMTEwLDEwMywzMiwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDQxLDEyLDExNCwKLSAgICAxOTMsMCwwLDAsMjE4LDMsMTE1LDExNiwxMTQsMjE4LDUsOTgsMTIxLDExNiwxMDEsMTE1LAotICAgIDExNCw4MSwxLDAsMCwxMTQsNjAsMCwwLDAsMTE0LDE0LDEsMCwwLDExNCwKLSAgICA4MiwxLDAsMCwxMTQsMTcwLDAsMCwwLDExNCwyMjEsMCwwLDAsMTE0LDE1NCwKLSAgICAwLDAsMCwxMTQsMTk4LDAsMCwwLDExNCwyMTcsMCwwLDAsNDEsOSwxMTQsCi0gICAgMTIsMSwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsMzUsMCwwLDAsMTE0LDEzLAorICAgIDE5MSwwLDAsMCwyMTgsMywxMTUsMTE2LDExNCwyMTgsNSw5OCwxMjEsMTE2LDEwMSwxMTUsCisgICAgMTE0LDgxLDEsMCwwLDExNCw2MCwwLDAsMCwxMTQsMTIsMSwwLDAsMTE0LAorICAgIDgyLDEsMCwwLDExNCwxNzAsMCwwLDAsMTE0LDIyMCwwLDAsMCwxMTQsMTU0LAorICAgIDAsMCwwLDExNCwxOTYsMCwwLDAsMTE0LDIxNiwwLDAsMCw0MSw5LDExNCwKKyAgICAxMCwxLDAsMCwxMTQsMTU5LDAsMCwwLDExNCwzNSwwLDAsMCwxMTQsMTEsCiAgICAgMSwwLDAsMjE4LDE0LDExMCw5NywxMDksMTAxLDExNSwxMTIsOTcsOTksMTAxLDk1LDExMiwKLSAgICA5NywxMTYsMTA0LDkwLDUsMTAxLDExMCwxMTYsMTE0LDEyMSwxMTQsNzgsMSwwLDAsMTE0LAotICAgIDE3OCwwLDAsMCwxMTQsMTcxLDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LAorICAgIDk3LDExNiwxMDQsOTAsNSwxMDEsMTEwLDExNiwxMTQsMTIxLDExNCw3NywxLDAsMCwxMTQsCisgICAgMTc3LDAsMCwwLDExNCwxNzEsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsCiAgICAgMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDksOTUsMTAzLDEwMSwxMTYsOTUsMTE1LAotICAgIDExMiwxMDEsOTksMTEwLDcsMCwwLDExNSw0MCwwLDAsMCwwLDUsNiwxLAotICAgIDEzLDEsMjEsMSw2LDEsMTUsMSwxMiwxLDE1LDEsMjEsMiwxOCwxLAotICAgIDEyLDEsNiwxLDE1LDEsNCwxLDksMSwxMiwxLDE1LDUsMjAsMiwKKyAgICAxMTIsMTAxLDk5LDc4LDcsMCwwLDExNSw0MCwwLDAsMCwwLDUsNiwxLAorICAgIDEzLDEsMjEsMSwzLDEsMTUsMSwxMiwxLDE1LDEsMjEsMiwxOCwxLAorICAgIDEyLDEsMywxLDE1LDEsNCwxLDksMSwxMiwxLDEyLDUsMTcsMiwKICAgICAxNSwxLDksMSwxMjIsMjAsODAsOTcsMTE2LDEwNCw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LAogICAgIDQ2LDk1LDEwMywxMDEsMTE2LDk1LDExNSwxMTIsMTAxLDk5LDk5LDQsMCwwLDAsMCwKICAgICAwLDAsMCw2LDAsMCwwLDQsMCwwLDAsNjcsMCwwLDAsMTE1LAotICAgIDE0MywwLDAsMCwxMjQsMiwwLDEwMCwxLDAsMTA3LDgsMCwxMTQsMjQsMCwKLSAgICAxMTYsMCwwLDEwNiwxLDAsMTI1LDIsMCwxMTAsMCwwLDEyNCwwLDAsMTA2LAotICAgIDIsMCwxMjQsMSwwLDEyNCwyLDAsMTI0LDMsMCwxMzEsMywwLDEyNSw0LAotICAgIDAsMTI0LDQsMCwxMDAsMSwwLDEwNyw4LDAsMTE0LDYxLDAsMTAwLDEsMCwKLSAgICA4MywxMjQsNCwwLDEwNiwzLDAsMTAwLDEsMCwxMDcsOCwwLDExNCwxMzUsMCwKLSAgICAxMjQsNCwwLDEwNiw0LDAsMTI1LDUsMCwxMjQsNSwwLDExNCwxMjgsMCwxMDAsCi0gICAgMiwwLDEyNCw0LDAsOTUsNSwwLDExNiw2LDAsMTI0LDEsMCwxMjQsNSwKLSAgICAwLDEyNCwwLDAsMTA2LDIsMCwxMzEsMywwLDEyNCw0LDAsOTUsNCwwLAotICAgIDEyNCw0LDAsODMsMTAwLDEsMCw4MywxMTAsNCwwLDEyNCw0LDAsODMsMTAwLAotICAgIDEsMCw4Myw0MSwzLDEyMiw5OCwxMDIsMTA1LDExMCwxMDAsMzIsMTE2LDEwNCwxMDEsMzIsCi0gICAgMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTExLDExMCwzMiwxMTUsMTIxLDExNSw0NiwxMTIsOTcsCi0gICAgMTE2LDEwNCwzMiwxMTEsMTE0LDMyLDM5LDExMiw5NywxMTYsMTA0LDM5LDMyLDk4LDk3LDExNSwKLSAgICAxMDEsMTAwLDMyLDExMSwxMTAsMzIsMTE1LDEyMSwxMTUsNDYsMTEyLDk3LDExNiwxMDQsOTUsMTA0LAotICAgIDExMSwxMTEsMTA3LDExNSwzMiw5NywxMTAsMTAwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLAotICAgIDMyLDExNSwxMjEsMTE1LDQ2LDExMiw5NywxMTYsMTA0LDk1LDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LAotICAgIDEwMSwxMTQsOTUsOTksOTcsOTksMTA0LDEwMSw0Niw3OCw5MCw5LDExMCw5NywxMDksMTAxLAotICAgIDExNSwxMTIsOTcsOTksMTAxLDQxLDcsMTE0LDcsMCwwLDAsMTE0LDM1LDAsMCwKLSAgICAwLDExNCw4NiwxLDAsMCwxMTQsMTcwLDAsMCwwLDExNCwyMjEsMCwwLDAsCi0gICAgMTE0LDIxOCwwLDAsMCwxMTQsNjEsMSwwLDAsNDEsNiwxMTQsMTIsMSwwLAotICAgIDAsMTE0LDE1OSwwLDAsMCwxMTQsMzUsMCwwLDAsMTE0LDEzLDEsMCwwLAotICAgIDExNCwxNzgsMCwwLDAsMTE0LDg1LDEsMCwwLDExNCw0LDAsMCwwLDExNCwKLSAgICA0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwxNCwxLDAsMCwxNDIsNywKLSAgICAwLDAsMTE1LDI2LDAsMCwwLDAsNCwxMiwxLDEyLDEsMjEsMSwxMiwKLSAgICAxLDQsMSwxNSwxLDksMSw2LDMsOSwxLDI0LDEsNCwyLDcsCi0gICAgMiwxMjIsMjAsODAsOTcsMTE2LDEwNCw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDQ2LDEwMiwxMDUsCi0gICAgMTEwLDEwMCw5NSwxMTUsMTEyLDEwMSw5OSw5OSwzLDAsMCwwLDAsMCwwLDAsCi0gICAgNCwwLDAsMCwzLDAsMCwwLDY3LDAsMCwwLDExNSw0MSwwLDAsCi0gICAgMCwxMjQsMCwwLDEwNiwwLDAsMTI0LDEsMCwxMjQsMiwwLDEzMSwyLDAsCi0gICAgMTI1LDMsMCwxMjQsMywwLDEwMCwxLDAsMTA3LDgsMCwxMTQsMzQsMCwxMDAsCi0gICAgMSwwLDgzLDEyNCwzLDAsMTA2LDEsMCw4Myw0MSwyLDEyMiwxNzAsMTAyLDEwNSwKLSAgICAxMTAsMTAwLDMyLDExNiwxMDQsMTAxLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDExMSwxMTAsCi0gICAgMzIsMTE1LDEyMSwxMTUsNDYsMTEyLDk3LDExNiwxMDQsMzIsMTExLDExNCwzMiwzOSwxMTIsOTcsCi0gICAgMTE2LDEwNCwzOSwzMiw5OCw5NywxMTUsMTAxLDEwMCwzMiwxMTEsMTEwLDMyLDExNSwxMjEsMTE1LAotICAgIDQ2LDExMiw5NywxMTYsMTA0LDk1LDEwNCwxMTEsMTExLDEwNywxMTUsMzIsOTcsMTEwLDEwMCwxMCwKLSAgICAzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwxMTUsMTIxLDExNSw0NiwxMTIsOTcsMTE2LDEwNCwKLSAgICA5NSwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDk1LDk5LDk3LDk5LDEwNCwxMDEsNDYsCi0gICAgMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsODQsMTA0LDEwNSwxMTUsMzIsMTA5LAotICAgIDEwMSwxMTYsMTA0LDExMSwxMDAsMzIsMTA1LDExNSwzMiwxMDAsMTAxLDExMiwxMTQsMTAxLDk5LDk3LAotICAgIDExNiwxMDEsMTAwLDQ2LDMyLDMyLDg1LDExNSwxMDEsMzIsMTAyLDEwNSwxMTAsMTAwLDk1LDExNSwKLSAgICAxMTIsMTAxLDk5LDQwLDQxLDMyLDEwNSwxMTAsMTE1LDExNiwxMDEsOTcsMTAwLDQ2LDEwLDEwLAotICAgIDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDc4LDQxLDIsMTE0LDE0LDEsMCwwLAotICAgIDExNCwxNzAsMCwwLDAsNDEsNCwxMTQsMTIsMSwwLDAsMTE0LDE1OSwwLDAsCi0gICAgMCwxMTQsMzUsMCwwLDAsMTE0LDE3OCwwLDAsMCwxMTQsNCwwLDAsMCwKLSAgICAxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMTUsMSwwLDAsMTY0LAotICAgIDcsMCwwLDExNSw4LDAsMCwwLDAsOCwxOCwxLDEyLDEsNCwxLAotICAgIDEyMiwyMiw4MCw5NywxMTYsMTA0LDcwLDEwNSwxMTAsMTAwLDEwMSwxMTQsNDYsMTAyLDEwNSwxMTAsCi0gICAgMTAwLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDQxLDEyLDExNCw1NywwLDAsMCwxMTQsCi0gICAgNTYsMCwwLDAsMTE0LDU4LDAsMCwwLDExNCw1OSwwLDAsMCwxMTQsMTksCi0gICAgMSwwLDAsMTE0LDc1LDEsMCwwLDExNCw4MCwxLDAsMCwxMTQsODEsMSwKLSAgICAwLDAsMTE0LDgyLDEsMCwwLDExNCw4NiwxLDAsMCwxMTQsMTQsMSwwLAotICAgIDAsMTE0LDE1LDEsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLAotICAgIDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCw3NCwxLDAsMCw0OSwKLSAgICA3LDAsMCwxMTUsMjIsMCwwLDAsMTIsMiw2LDIsMTgsOCwxOCwxNywKLSAgICAxOCwxNywxOCwxNSwzLDEsMTgsMzEsMywxLDIxLDIxLDMsMSwxMTQsNzQsCi0gICAgMSwwLDAsOTksMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsCi0gICAgMywwLDAsMCw2NCwwLDAsMCwxMTUsMTMzLDAsMCwwLDEwMSwwLDAsCi0gICAgOTAsMSwwLDEwMCwwLDAsOTAsMiwwLDEwMCwxLDAsOTAsMywwLDEwMCwKLSAgICAyLDAsMTAwLDMsMCwxMzIsMCwwLDkwLDQsMCwxMDAsNCwwLDEwMCw1LAotICAgIDAsMTMyLDAsMCw5MCw1LDAsMTAxLDYsMCw5MCw3LDAsMTAwLDYsMCwKLSAgICAxMDAsNywwLDEzMiwwLDAsOTAsOCwwLDEwMCw4LDAsMTAwLDksMCwxMzIsCi0gICAgMCwwLDkwLDksMCwxMDAsMTAsMCwxMDAsMTEsMCwxMDAsMTIsMCwxMzIsMSwKLSAgICAwLDkwLDEwLDAsMTAwLDEzLDAsMTAwLDE0LDAsMTMyLDAsMCw5MCwxMSwwLAotICAgIDEwMSwxMiwwLDEwMCwxNSwwLDEwMCwxNiwwLDEzMiwwLDAsMTMxLDEsMCw5MCwKLSAgICAxMywwLDEwMCwxNywwLDEwMCwxOCwwLDEzMiwwLDAsOTAsMTQsMCwxMDAsMTAsCi0gICAgMCw4Myw0MSwxOSwyMTgsMTAsNzAsMTA1LDEwOCwxMDEsNzAsMTA1LDExMCwxMDAsMTAxLDExNCwKLSAgICAxMjIsMTcyLDcwLDEwNSwxMDgsMTAxLDQ1LDk4LDk3LDExNSwxMDEsMTAwLDMyLDEwMiwxMDUsMTEwLAotICAgIDEwMCwxMDEsMTE0LDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDczLDExMCwxMTYsMTAxLDExNCw5NywKLSAgICA5OSwxMTYsMTA1LDExMSwxMTAsMTE1LDMyLDExOSwxMDUsMTE2LDEwNCwzMiwxMTYsMTA0LDEwMSwzMiwKLSAgICAxMDIsMTA1LDEwOCwxMDEsMzIsMTE1LDEyMSwxMTUsMTE2LDEwMSwxMDksMzIsOTcsMTE0LDEwMSwzMiwKLSAgICA5OSw5Nyw5OSwxMDQsMTAxLDEwMCwzMiwxMDIsMTExLDExNCwzMiwxMTIsMTAxLDExNCwxMDIsMTExLAotICAgIDExNCwxMDksOTcsMTEwLDk5LDEwMSw0NCwzMiw5OCwxMDEsMTA1LDExMCwxMDMsMTAsMzIsMzIsCi0gICAgMzIsMzIsMTE0LDEwMSwxMDIsMTE0LDEwMSwxMTUsMTA0LDEwMSwxMDAsMzIsMTE5LDEwNCwxMDEsMTEwLAotICAgIDMyLDExNiwxMDQsMTAxLDMyLDEwMCwxMDUsMTE0LDEwMSw5OSwxMTYsMTExLDExNCwxMjEsMzIsMTE2LAotICAgIDEwNCwxMDEsMzIsMTAyLDEwNSwxMTAsMTAwLDEwMSwxMTQsMzIsMTA1LDExNSwzMiwxMDQsOTcsMTEwLAotICAgIDEwMCwxMDgsMTA1LDExMCwxMDMsMzIsMTA0LDk3LDExNSwzMiw5OCwxMDEsMTAxLDExMCwzMiwxMDksCi0gICAgMTExLDEwMCwxMDUsMTAyLDEwNSwxMDEsMTAwLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDk5LDIsCi0gICAgMCwwLDAsMCwwLDAsMCw1LDAsMCwwLDUsMCwwLDAsNywKLSAgICAwLDAsMCwxMTUsMTIyLDAsMCwwLDEwMywwLDAsMTI1LDMsMCwxMjAsNTIsCi0gICAgMCwxMjQsMiwwLDY4LDkzLDQ0LDAsOTIsMiwwLDEzNywwLDAsMTI1LDQsCi0gICAgMCwxMjQsMywwLDEwNiwwLDAsMTM1LDAsMCwxMDIsMSwwLDEwMCwxLDAsCi0gICAgMTAwLDIsMCwxMzQsMCwwLDEyNCw0LDAsNjgsMTMxLDEsMCwxMzEsMSwwLAotICAgIDEsMTEzLDEzLDAsODcsMTI0LDMsMCwxMjQsMCwwLDk1LDEsMCwxMjQsMSwKLSAgICAwLDExMiw3OSwwLDEwMCwzLDAsMTI0LDAsMCw5NSwyLDAsMTAwLDYsMCwKLSAgICAxMjQsMCwwLDk1LDMsMCwxMTYsNCwwLDEzMSwwLDAsMTI0LDAsMCw5NSwKLSAgICA1LDAsMTE2LDQsMCwxMzEsMCwwLDEyNCwwLDAsOTUsNiwwLDEwMCw1LAotICAgIDAsODMsNDEsNywxMjIsMTU0LDczLDExMCwxMDUsMTE2LDEwNSw5NywxMDgsMTA1LDEyMiwxMDEsCi0gICAgMzIsMTE5LDEwNSwxMTYsMTA0LDMyLDExNiwxMDQsMTAxLDMyLDExMiw5NywxMTYsMTA0LDMyLDExNiwKLSAgICAxMTEsMzIsMTE1LDEwMSw5NywxMTQsOTksMTA0LDMyLDExMSwxMTAsMzIsOTcsMTEwLDEwMCwzMiwKLSAgICA5NywzMiwxMTgsOTcsMTE0LDEwNSw5Nyw5OCwxMDgsMTAxLDMyLDExMCwxMTcsMTA5LDk4LDEwMSwKLSAgICAxMTQsMzIsMTExLDEwMiwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw1MCw0NSwxMTYsCi0gICAgMTE3LDExMiwxMDgsMTAxLDExNSwzMiw5OSwxMTEsMTEwLDExNiw5NywxMDUsMTEwLDEwNSwxMTAsMTAzLAotICAgIDMyLDExNiwxMDQsMTAxLDMyLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMzIsOTcsMTEwLDEwMCwzMiwKLSAgICAxMTYsMTA0LDEwMSwzMiwxMDIsMTA1LDEwOCwxMDEsMzIsMTE1LDExNywxMDIsMTAyLDEwNSwxMjAsMTAxLAotICAgIDExNSwzMiwxMTYsMTA0LDEwMSwzMiwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDEwLDMyLDMyLDMyLAotICAgIDMyLDMyLDMyLDMyLDMyLDExNCwxMDEsOTksMTExLDEwMywxMTAsMTA1LDEyMiwxMDEsMTE1LDQ2LAotICAgIDk5LDEsMCwwLDAsMCwwLDAsMCwyLDAsMCwwLDMsMCwwLAotICAgIDAsNTEsMCwwLDAsMTE1LDI3LDAsMCwwLDEyNCwwLDAsOTMsMTcsMCwKLSAgICAxMjUsMSwwLDEyNCwxLDAsMTM2LDAsMCwxMDIsMiwwLDg2LDEsMTEzLDMsCi0gICAgMCwxMDAsMCwwLDgzLDQxLDEsNzgsMTE0LDQsMCwwLDAsNDEsMiwxMTQsCi0gICAgMjIsMCwwLDAsMTE0LDU4LDEsMCwwLDQxLDEsMTE0LDE3MCwwLDAsMCwKLSAgICAxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsNzcsMCwwLDAsMTkzLAotICAgIDcsMCwwLDExNSwyLDAsMCwwLDYsMCwxMjIsMzgsNzAsMTA1LDEwOCwxMDEsCi0gICAgNzAsMTA1LDExMCwxMDAsMTAxLDExNCw0Niw5NSw5NSwxMDUsMTEwLDEwNSwxMTYsOTUsOTUsNDYsCi0gICAgNjAsMTA4LDExMSw5OSw5NywxMDgsMTE1LDYyLDQ2LDYwLDEwMywxMDEsMTEwLDEwMSwxMjAsMTEyLAotICAgIDExNCw2MiwxMTQsMTE2LDAsMCwwLDExNCwyOSwwLDAsMCw3OCwxMTQsMTM5LDAsCi0gICAgMCwwLDQxLDcsMTE0LDE5OCwwLDAsMCwyMTgsOCw5NSwxMDgsMTExLDk3LDEwMCwKLSAgICAxMDEsMTE0LDExNSwxMTQsMzUsMCwwLDAsMjE4LDExLDk1LDExMiw5NywxMTYsMTA0LDk1LAotICAgIDEwOSwxMTYsMTA1LDEwOSwxMDEsMjE4LDMsMTE1LDEwMSwxMTYsMjE4LDExLDk1LDExMiw5NywxMTYsCi0gICAgMTA0LDk1LDk5LDk3LDk5LDEwNCwxMDEsMjE4LDE5LDk1LDExNCwxMDEsMTA4LDk3LDEyMCwxMDEsCi0gICAgMTAwLDk1LDExMiw5NywxMTYsMTA0LDk1LDk5LDk3LDk5LDEwNCwxMDEsNDEsNSwxMTQsNzEsCi0gICAgMCwwLDAsMTE0LDM1LDAsMCwwLDIxOCwxNCwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LAotICAgIDk1LDEwMCwxMDEsMTE2LDk3LDEwNSwxMDgsMTE1LDkwLDcsMTA4LDExMSw5NywxMDAsMTAxLDExNCwKLSAgICAxMTUsMTE0LDEyNiwwLDAsMCwxMTQsNCwwLDAsMCw0MSwxLDExNCwxNzAsMCwKLSAgICAwLDAsMTE0LDUsMCwwLDAsMTE0LDcyLDAsMCwwLDE4Nyw3LDAsMCwKLSAgICAxMTUsMTYsMCwwLDAsMCw0LDYsMSwxOSwxLDM2LDEsOSwyLDE1LAotICAgIDEsOSwxLDEyLDEsMTIyLDE5LDcwLDEwNSwxMDgsMTAxLDcwLDEwNSwxMTAsMTAwLDEwMSwKLSAgICAxMTQsNDYsOTUsOTUsMTA1LDExMCwxMDUsMTE2LDk1LDk1LDk5LDEsMCwwLDAsMCwKLSAgICAwLDAsMCwxLDAsMCwwLDIsMCwwLDAsNjcsMCwwLDAsMTE1LAotICAgIDEzLDAsMCwwLDEwMCwzLDAsMTI0LDAsMCw5NSwwLDAsMTAwLDIsMCwKLSAgICA4Myw0MSw0LDEyMiwzMSw3MywxMTAsMTE4LDk3LDEwOCwxMDUsMTAwLDk3LDExNiwxMDEsMzIsCi0gICAgMTE2LDEwNCwxMDEsMzIsMTAwLDEwNSwxMTQsMTAxLDk5LDExNiwxMTEsMTE0LDEyMSwzMiwxMDksMTE2LAotICAgIDEwNSwxMDksMTAxLDQ2LDExNCwyOSwwLDAsMCw3OCwxMTQsMTM5LDAsMCwwLDQxLAotICAgIDEsMTE0LDg5LDEsMCwwLDQxLDEsMTE0LDcxLDAsMCwwLDExNCw0LDAsCi0gICAgMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCw3NSwxLDAsCi0gICAgMCwyMDEsNywwLDAsMTE1LDIsMCwwLDAsMCwyLDEyMiwyOCw3MCwxMDUsCi0gICAgMTA4LDEwMSw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDQ2LDEwNSwxMTAsMTE4LDk3LDEwOCwxMDUsMTAwLAotICAgIDk3LDExNiwxMDEsOTUsOTksOTcsOTksMTA0LDEwMSwxMTUsOTksMiwwLDAsMCwwLAotICAgIDAsMCwwLDMsMCwwLDAsMiwwLDAsMCw2NywwLDAsMCwxMTUsCi0gICAgNTksMCwwLDAsMTI0LDAsMCwxMDYsMCwwLDEyNCwxLDAsMTMxLDEsMCwKLSAgICAxMjUsMiwwLDEyNCwyLDAsMTAwLDEsMCwxMDcsOCwwLDExNCwzNywwLDEwMCwKLSAgICAxLDAsMTAzLDAsMCwxMDIsMiwwLDgzLDEyNCwyLDAsMTA2LDEsMCwxMjQsCi0gICAgMiwwLDEwNiwyLDAsMTEyLDU1LDAsMTAzLDAsMCwxMDIsMiwwLDgzLDQxLAotICAgIDIsMTIyLDE5Nyw4NCwxMTQsMTIxLDMyLDExNiwxMTEsMzIsMTAyLDEwNSwxMTAsMTAwLDMyLDk3LAotICAgIDMyLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMzIsMTAyLDExMSwxMTQsMzIsMTE2LDEwNCwxMDEsMzIsCi0gICAgMTE1LDExMiwxMDEsOTksMTA1LDEwMiwxMDUsMTAxLDEwMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwKLSAgICA0NCwzMiwxMTEsMTE0LDMyLDExNiwxMDQsMTAxLDMyLDExMCw5NywxMDksMTAxLDExNSwxMTIsOTcsCi0gICAgOTksMTAxLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDExMiw5Nyw5OSwxMDcsOTcsCi0gICAgMTAzLDEwMSwzMiwxMTIsMTExLDExNCwxMTYsMTA1LDExMSwxMTAsMTE1LDQ2LDMyLDgyLDEwMSwxMTYsCi0gICAgMTE3LDExNCwxMTAsMTE1LDMyLDQwLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsNDQsMzIsMTA4LDEwNSwKLSAgICAxMTUsMTE2LDQ1LDExMSwxMDIsNDUsMTEyLDExMSwxMTQsMTE2LDEwNSwxMTEsMTEwLDExNSw0MSw0NiwKLSAgICAxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw4NCwxMDQsMTA1LDExNSwzMiwxMDksCi0gICAgMTAxLDExNiwxMDQsMTExLDEwMCwzMiwxMDUsMTE1LDMyLDEwMCwxMDEsMTEyLDExNCwxMDEsOTksOTcsCi0gICAgMTE2LDEwMSwxMDAsNDYsMzIsMzIsODUsMTE1LDEwMSwzMiwxMDIsMTA1LDExMCwxMDAsOTUsMTE1LAotICAgIDExMiwxMDEsOTksNDAsNDEsMzIsMTA1LDExMCwxMTUsMTE2LDEwMSw5NywxMDAsNDYsMTAsMTAsCi0gICAgMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsNzgsNDEsMywxMTQsMTQsMSwwLDAsCi0gICAgMTE0LDE3MCwwLDAsMCwxMTQsMjIxLDAsMCwwLDQxLDMsMTE0LDcxLDAsMCwKLSAgICAwLDExNCwxNTksMCwwLDAsMTE0LDE3OCwwLDAsMCwxMTQsNCwwLDAsMCwKLSAgICAxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMTY2LDAsMCwwLDIwNywKLSAgICA3LDAsMCwxMTUsOCwwLDAsMCwwLDcsMTUsMSwxMiwxLDEwLDEsCi0gICAgMTIyLDIyLDcwLDEwNSwxMDgsMTAxLDcwLDEwNSwxMTAsMTAwLDEwMSwxMTQsNDYsMTAyLDEwNSwxMTAsCi0gICAgMTAwLDk1LDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsOTksNiwwLDAsMCwwLDAsMCwKLSAgICAwLDcsMCwwLDAsNywwLDAsMCw2NywwLDAsMCwxMTUsNDAsMCwKLSAgICAwLDAsMTI0LDEsMCwxMjQsMiwwLDEyNCwzLDAsMTMxLDIsMCwxMjUsNiwKLSAgICAwLDExNiwwLDAsMTI0LDIsMCwxMjQsMywwLDEwMCwxLDAsMTI0LDYsMCwKLSAgICAxMDAsMiwwLDEyNCw0LDAsMTMxLDIsMiw4Myw0MSwzLDc4LDExNCwxNzAsMCwKLSAgICAwLDAsMTE0LDIyMSwwLDAsMCw0MSwxLDExNCwyNDAsMCwwLDAsNDEsNywKLSAgICAxMTQsNzEsMCwwLDAsMTE0LDI0NCwwLDAsMCwxMTQsMTU5LDAsMCwwLDExNCwKLSAgICAzNSwwLDAsMCwxMTQsMjI5LDAsMCwwLDExNCwxMywxLDAsMCwxMTQsMTcwLAotICAgIDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsCi0gICAgMCwwLDExNCw4NiwxLDAsMCwyMTksNywwLDAsMTE1LDYsMCwwLDAsCi0gICAgMCwxLDE1LDEsMTgsMSwxMjIsMjAsNzAsMTA1LDEwOCwxMDEsNzAsMTA1LDExMCwxMDAsCi0gICAgMTAxLDExNCw0Niw5NSwxMDMsMTAxLDExNiw5NSwxMTUsMTEyLDEwMSw5OSw3OCw5OSwzLDAsCi0gICAgMCwwLDAsMCwwLDAsMTQsMCwwLDAsMTUsMCwwLDAsNjcsMCwKLSAgICAwLDAsMTE1LDI0MCwxLDAsMCwxMDAsMSwwLDEyNSwzLDAsMTI0LDEsMCwKLSAgICAxMDYsMCwwLDEwMCwyLDAsMTMxLDEsMCwxMDAsMywwLDI1LDEyNSw0LDAsCi0gICAgMTIxLDM0LDAsMTE2LDEsMCwxMjQsMCwwLDEwNiwyLDAsMTEyLDQ5LDAsMTE2LAotICAgIDMsMCwxMDYsNCwwLDEzMSwwLDAsMTMxLDEsMCwxMDYsNSwwLDEyNSw1LAotICAgIDAsODcsMTEwLDI0LDAsNCwxMTYsNiwwLDEwNywxMCwwLDExNCw4NSwwLDEsCi0gICAgMSwxLDEwMCwxMCwwLDEyNSw1LDAsODksMTEwLDEsMCw4OCwxMjQsNSwwLAotICAgIDEyNCwwLDAsMTA2LDcsMCwxMDcsMywwLDExNCwxMjMsMCwxMjQsMCwwLDEwNiwKLSAgICA4LDAsMTMxLDAsMCwxLDEyNCw1LDAsMTI0LDAsMCw5NSw3LDAsMTEwLAotICAgIDAsMCwxMTYsOSwwLDEzMSwwLDAsMTE0LDE1NiwwLDEyNCwwLDAsMTA2LDEwLAotICAgIDAsMTI1LDYsMCwxMjQsNCwwLDEwNiwxMSwwLDEzMSwwLDAsMTI1LDcsMCwKLSAgICAxMTAsMTUsMCwxMjQsMCwwLDEwNiwxMiwwLDEyNSw2LDAsMTI0LDQsMCwxMjUsCi0gICAgNywwLDEyNCw3LDAsMTI0LDYsMCwxMDcsNiwwLDExNCw1MSwxLDExNiwxMywKLSAgICAwLDEyNCwwLDAsMTA2LDIsMCwxMjQsNCwwLDEzMSwyLDAsMTI1LDgsMCwKLSAgICAxMjAsMTAzLDAsMTI0LDAsMCwxMDYsMTQsMCw2OCw5Myw3NywwLDkyLDIsMCwKLSAgICAxMjUsOSwwLDEyNSwxMCwwLDEwMCw1LDAsMTI0LDksMCwyMywxMjUsMTEsMCwKLSAgICAxMTYsMTMsMCwxMjQsOCwwLDEyNCwxMSwwLDEzMSwyLDAsMTI1LDEyLDAsMTE2LAotICAgIDE1LDAsMTI0LDEyLDAsMTMxLDEsMCwxMTQsMjExLDAsMTI0LDAsMCwxMDYsMTYsCi0gICAgMCwxMjQsMTAsMCwxMjQsMSwwLDEyNCwxMiwwLDEyNCw4LDAsMTAzLDEsMCwKLSAgICAxMjQsMiwwLDEzMSw1LDAsODMsMTEzLDIxMSwwLDg3LDExNiwxNywwLDEyNCw4LAotICAgIDAsMTMxLDEsMCwxMjUsMywwLDExMCwwLDAsMTIwLDEyNiwwLDEyNCwwLDAsCi0gICAgMTA2LDE0LDAsNjgsOTMsMTE1LDAsOTIsMiwwLDEyNSw5LDAsMTI1LDEwLDAsCi0gICAgMTE2LDEzLDAsMTI0LDAsMCwxMDYsMiwwLDEyNCw0LDAsMTI0LDksMCwyMywKLSAgICAxMzEsMiwwLDEyNSwxMiwwLDExNiwxOCwwLDEwMCw2LDAsMTA2LDE5LDAsMTI0LAotICAgIDEyLDAsMTMxLDEsMCwxMDAsNywwLDEwMCwzLDAsMTMxLDEsMSwxLDEyNCwKLSAgICA3LDAsMTI0LDksMCwyMywxMjQsNiwwLDEwNyw2LDAsMTE0LDYxLDEsMTE2LAotICAgIDE1LDAsMTI0LDEyLDAsMTMxLDEsMCwxMTQsMTc2LDEsMTI0LDAsMCwxMDYsMTYsCi0gICAgMCwxMjQsMTAsMCwxMjQsMSwwLDEyNCwxMiwwLDEwMCw4LDAsMTI0LDIsMCwKLSAgICAxMzEsNSwwLDgzLDExMyw2MSwxLDExMyw2MSwxLDg3LDEyNCwzLDAsMTE0LDIzNiwKLSAgICAxLDExNiwxOCwwLDEwMCw5LDAsMTA2LDE5LDAsMTI0LDgsMCwxMzEsMSwwLAotICAgIDEzMSwxLDAsMSwxMTYsMjAsMCwxMjQsMSwwLDEwMCw4LDAsMTMxLDIsMCwKLSAgICAxMjUsMTMsMCwxMjQsOCwwLDEwMywxLDAsMTI0LDEzLDAsOTUsMjEsMCwxMjQsCi0gICAgMTMsMCw4MywxMDAsOCwwLDgzLDQxLDExLDEyMiwxMjUsODQsMTE0LDEyMSwzMiwxMTYsCi0gICAgMTExLDMyLDEwMiwxMDUsMTEwLDEwMCwzMiw5NywzMiwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDMyLAotICAgIDEwMiwxMTEsMTE0LDMyLDExNiwxMDQsMTAxLDMyLDExNSwxMTIsMTAxLDk5LDEwNSwxMDIsMTA1LDEwMSwKLSAgICAxMDAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDQsMzIsMTExLDExNCwzMiwxMTYsMTA0LDEwMSwKLSAgICAzMiwxMTAsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSwxMCwzMiwzMiwzMiwzMiwzMiwKLSAgICAzMiwzMiwzMiwxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsMzIsMTEyLDExMSwxMTQsMTE2LDEwNSwKLSAgICAxMTEsMTEwLDExNSw0NiwzMiw4MiwxMDEsMTE2LDExNywxMTQsMTEwLDExNSwzMiw0MCwxMDgsMTExLAotICAgIDk3LDEwMCwxMDEsMTE0LDQ0LDMyLDEwOCwxMDUsMTE1LDExNiw0NSwxMTEsMTAyLDQ1LDExMiwxMTEsCi0gICAgMTE0LDExNiwxMDUsMTExLDExMCwxMTUsNDEsNDYsNzAsMTE0LDExNiwwLDAsMCwxMTQsMTE1LAotICAgIDAsMCwwLDExNCwyOSwwLDAsMCwxMTQsNzIsMCwwLDAsMTIyLDksMTE2LAotICAgIDExNCwxMjEsMTA1LDExMCwxMDMsMzIsMTIzLDEyNSwxMTQsMTQ2LDAsMCwwLDc4LDEyMiwyNSwKLSAgICAxMTIsMTExLDExNSwxMTUsMTA1LDk4LDEwOCwxMDEsMzIsMTEwLDk3LDEwOSwxMDEsMTE1LDExMiw5NywKLSAgICA5OSwxMDEsMzIsMTAyLDExMSwxMTQsMzIsMTIzLDEyNSwxMTQsMTM5LDAsMCwwLDQxLDIyLAotICAgIDExNCwzMiwwLDAsMCwxMTQsMzksMCwwLDAsMTE0LDM1LDAsMCwwLDExNCwKLSAgICAzLDAsMCwwLDExNCw0NSwwLDAsMCwxMTQsNTQsMSwwLDAsMTE0LDQwLAotICAgIDAsMCwwLDExNCw4OSwxLDAsMCwyMTgsMTEsOTUsMTAyLDEwNSwxMDgsMTA4LDk1LAotICAgIDk5LDk3LDk5LDEwNCwxMDEsMTE0LDYsMCwwLDAsMTE0LDkyLDEsMCwwLDExNCwKLSAgICAxNDAsMCwwLDAsMTE0LDkxLDEsMCwwLDExNCwyOCwwLDAsMCwxMTQsODgsCi0gICAgMSwwLDAsMTE0LDQ0LDAsMCwwLDExNCw4NiwxLDAsMCwxMTQsNDYsMCwKLSAgICAwLDAsMTE0LDE1MywwLDAsMCwxMTQsNDcsMCwwLDAsMTE0LDIxNywwLDAsCi0gICAgMCwxMTQsMjIxLDAsMCwwLDQxLDE0LDExNCw3MSwwLDAsMCwxMTQsMTU5LDAsCi0gICAgMCwwLDExNCwxMywxLDAsMCw5MCwxMiwxMDUsMTE1LDk1LDExMCw5NywxMDksMTAxLAotICAgIDExNSwxMTIsOTcsOTksMTAxLDkwLDExLDExNiw5NywxMDUsMTA4LDk1LDEwOSwxMTEsMTAwLDExNywKLSAgICAxMDgsMTAxLDExNCwxODQsMCwwLDAsOTAsNSw5OSw5Nyw5OSwxMDQsMTAxLDkwLDEyLAotICAgIDk5LDk3LDk5LDEwNCwxMDEsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTAsOSw5OCw5NywKLSAgICAxMTUsMTAxLDk1LDExMiw5NywxMTYsMTA0LDExNCw1OCwxLDAsMCwxMTQsMjQ0LDAsMCwKLSAgICAwLDkwLDEzLDEwNSwxMTAsMTA1LDExNiw5NSwxMDIsMTA1LDEwOCwxMDEsMTEwLDk3LDEwOSwxMDEsCi0gICAgOTAsOSwxMDIsMTE3LDEwOCwxMDgsOTUsMTEyLDk3LDExNiwxMDQsMTE0LDE3OCwwLDAsMCwKKyAgICAxNDAsMCwwLDAsMTI0LDIsMCwxMDAsMSwwLDEwNyw4LDAsMTE0LDIxLDAsCisgICAgMTE2LDAsMCwxMDYsMSwwLDEyNSwyLDAsMTI0LDAsMCwxMDYsMiwwLDEyNCwKKyAgICAxLDAsMTI0LDIsMCwxMjQsMywwLDEzMSwzLDAsMTI1LDQsMCwxMjQsNCwKKyAgICAwLDEwMCwxLDAsMTA3LDgsMCwxMTQsNTgsMCwxMDAsMSwwLDgzLDEyNCw0LAorICAgIDAsMTA2LDMsMCwxMDAsMSwwLDEwNyw4LDAsMTE0LDEzMiwwLDEyNCw0LDAsCisgICAgMTA2LDQsMCwxMjUsNSwwLDEyNCw1LDAsMTE0LDEyNSwwLDEwMCwyLDAsMTI0LAorICAgIDQsMCw5NSw1LDAsMTE2LDYsMCwxMjQsMSwwLDEyNCw1LDAsMTI0LDAsCisgICAgMCwxMDYsMiwwLDEzMSwzLDAsMTI0LDQsMCw5NSw0LDAsMTI0LDQsMCwKKyAgICA4MywxMDAsMSwwLDgzLDExMCw0LDAsMTI0LDQsMCw4MywxMDAsMSwwLDgzLAorICAgIDQxLDMsMTIyLDk4LDEwMiwxMDUsMTEwLDEwMCwzMiwxMTYsMTA0LDEwMSwzMiwxMDksMTExLDEwMCwKKyAgICAxMTcsMTA4LDEwMSwzMiwxMTEsMTEwLDMyLDExNSwxMjEsMTE1LDQ2LDExMiw5NywxMTYsMTA0LDMyLAorICAgIDExMSwxMTQsMzIsMzksMTEyLDk3LDExNiwxMDQsMzksMzIsOTgsOTcsMTE1LDEwMSwxMDAsMzIsCisgICAgMTExLDExMCwzMiwxMTUsMTIxLDExNSw0NiwxMTIsOTcsMTE2LDEwNCw5NSwxMDQsMTExLDExMSwxMDcsCisgICAgMTE1LDMyLDk3LDExMCwxMDAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMTE1LDEyMSwKKyAgICAxMTUsNDYsMTEyLDk3LDExNiwxMDQsOTUsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLDExNCw5NSwKKyAgICA5OSw5Nyw5OSwxMDQsMTAxLDQ2LDc4LDkwLDksMTEwLDk3LDEwOSwxMDEsMTE1LDExMiw5NywKKyAgICA5OSwxMDEsNDEsNywxMTQsNywwLDAsMCwxMTQsMzUsMCwwLDAsMTE0LDg2LAorICAgIDEsMCwwLDExNCwxNzAsMCwwLDAsMTE0LDIyMCwwLDAsMCwxMTQsMjE3LDAsCisgICAgMCwwLDExNCw2MCwxLDAsMCw0MSw2LDExNCwxMCwxLDAsMCwxMTQsMTU5LAorICAgIDAsMCwwLDExNCwzNSwwLDAsMCwxMTQsMTEsMSwwLDAsMTE0LDE3NywwLAorICAgIDAsMCwxMTQsODUsMSwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLAorICAgIDAsMTE0LDUsMCwwLDAsMTE0LDEyLDEsMCwwLDExMCw3LDAsMCwxMTUsCisgICAgMjYsMCwwLDAsMCw0LDEyLDEsOSwxLDIxLDEsMTIsMSw0LDEsCisgICAgMTUsMSw5LDEsNiwzLDksMSwyNCwxLDQsMiw3LDIsMTIyLDIwLAorICAgIDgwLDk3LDExNiwxMDQsNzAsMTA1LDExMCwxMDAsMTAxLDExNCw0NiwxMDIsMTA1LDExMCwxMDAsOTUsCisgICAgMTE1LDExMiwxMDEsOTksOTksMywwLDAsMCwwLDAsMCwwLDQsMCwwLAorICAgIDAsMywwLDAsMCw2NywwLDAsMCwxMTUsNDEsMCwwLDAsMTI0LDAsCisgICAgMCwxMDYsMCwwLDEyNCwxLDAsMTI0LDIsMCwxMzEsMiwwLDEyNSwzLDAsCisgICAgMTI0LDMsMCwxMDAsMSwwLDEwNyw4LDAsMTE0LDM0LDAsMTAwLDEsMCw4MywKKyAgICAxMjQsMywwLDEwNiwxLDAsODMsNDEsMiwxMjIsMTcwLDEwMiwxMDUsMTEwLDEwMCwzMiwKKyAgICAxMTYsMTA0LDEwMSwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMTEsMTEwLDMyLDExNSwxMjEsCisgICAgMTE1LDQ2LDExMiw5NywxMTYsMTA0LDMyLDExMSwxMTQsMzIsMzksMTEyLDk3LDExNiwxMDQsMzksCisgICAgMzIsOTgsOTcsMTE1LDEwMSwxMDAsMzIsMTExLDExMCwzMiwxMTUsMTIxLDExNSw0NiwxMTIsOTcsCisgICAgMTE2LDEwNCw5NSwxMDQsMTExLDExMSwxMDcsMTE1LDMyLDk3LDExMCwxMDAsMTAsMzIsMzIsMzIsCisgICAgMzIsMzIsMzIsMzIsMzIsMTE1LDEyMSwxMTUsNDYsMTEyLDk3LDExNiwxMDQsOTUsMTA1LDEwOSwKKyAgICAxMTIsMTExLDExNCwxMTYsMTAxLDExNCw5NSw5OSw5Nyw5OSwxMDQsMTAxLDQ2LDEwLDEwLDMyLAorICAgIDMyLDMyLDMyLDMyLDMyLDMyLDMyLDg0LDEwNCwxMDUsMTE1LDMyLDEwOSwxMDEsMTE2LDEwNCwKKyAgICAxMTEsMTAwLDMyLDEwNSwxMTUsMzIsMTAwLDEwMSwxMTIsMTE0LDEwMSw5OSw5NywxMTYsMTAxLDEwMCwKKyAgICA0NiwzMiwzMiw4NSwxMTUsMTAxLDMyLDEwMiwxMDUsMTEwLDEwMCw5NSwxMTUsMTEyLDEwMSw5OSwKKyAgICA0MCw0MSwzMiwxMDUsMTEwLDExNSwxMTYsMTAxLDk3LDEwMCw0NiwxMCwxMCwzMiwzMiwzMiwKKyAgICAzMiwzMiwzMiwzMiwzMiw3OCw0MSwyLDExNCwxMiwxLDAsMCwxMTQsMTcwLDAsCisgICAgMCwwLDQxLDQsMTE0LDEwLDEsMCwwLDExNCwxNTksMCwwLDAsMTE0LDM1LAorICAgIDAsMCwwLDExNCwxNzcsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwKKyAgICAwLDAsMTE0LDUsMCwwLDAsMTE0LDEzLDEsMCwwLDEzMiw3LDAsMCwKKyAgICAxMTUsOCwwLDAsMCwwLDgsMTgsMSwxMiwxLDQsMSwxMjIsMjIsODAsCisgICAgOTcsMTE2LDEwNCw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDQ2LDEwMiwxMDUsMTEwLDEwMCw5NSwxMDksCisgICAgMTExLDEwMCwxMTcsMTA4LDEwMSw0MSwxMiwxMTQsNTcsMCwwLDAsMTE0LDU2LDAsMCwKKyAgICAwLDExNCw1OCwwLDAsMCwxMTQsNTksMCwwLDAsMTE0LDE3LDEsMCwwLAorICAgIDExNCw3NCwxLDAsMCwxMTQsNzksMSwwLDAsMTE0LDgxLDEsMCwwLDExNCwKKyAgICA4MiwxLDAsMCwxMTQsODYsMSwwLDAsMTE0LDEyLDEsMCwwLDExNCwxMywKKyAgICAxLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLAorICAgIDAsMCwxMTQsNSwwLDAsMCwxMTQsNzMsMSwwLDAsMTIsNywwLDAsCisgICAgMTE1LDIyLDAsMCwwLDEyLDIsNiwyLDE4LDgsMTgsMTcsMTgsMjIsMTgsCisgICAgMTUsMywxLDE4LDMxLDMsMSwyMSwyMSwzLDEsMTE0LDczLDEsMCwwLAorICAgIDk5LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDMsMCwwLAorICAgIDAsNjQsMCwwLDAsMTE1LDEzMywwLDAsMCwxMDEsMCwwLDkwLDEsMCwKKyAgICAxMDAsMCwwLDkwLDIsMCwxMDAsMSwwLDkwLDMsMCwxMDAsMiwwLDEwMCwKKyAgICAzLDAsMTMyLDAsMCw5MCw0LDAsMTAwLDQsMCwxMDAsNSwwLDEzMiwwLAorICAgIDAsOTAsNSwwLDEwMSw2LDAsOTAsNywwLDEwMCw2LDAsMTAwLDcsMCwKKyAgICAxMzIsMCwwLDkwLDgsMCwxMDAsOCwwLDEwMCw5LDAsMTMyLDAsMCw5MCwKKyAgICA5LDAsMTAwLDEwLDAsMTAwLDExLDAsMTAwLDEyLDAsMTMyLDEsMCw5MCwxMCwKKyAgICAwLDEwMCwxMywwLDEwMCwxNCwwLDEzMiwwLDAsOTAsMTEsMCwxMDEsMTIsMCwKKyAgICAxMDAsMTUsMCwxMDAsMTYsMCwxMzIsMCwwLDEzMSwxLDAsOTAsMTMsMCwxMDAsCisgICAgMTcsMCwxMDAsMTgsMCwxMzIsMCwwLDkwLDE0LDAsMTAwLDEwLDAsODMsNDEsCisgICAgMTksMjE4LDEwLDcwLDEwNSwxMDgsMTAxLDcwLDEwNSwxMTAsMTAwLDEwMSwxMTQsMTIyLDE3Miw3MCwKKyAgICAxMDUsMTA4LDEwMSw0NSw5OCw5NywxMTUsMTAxLDEwMCwzMiwxMDIsMTA1LDExMCwxMDAsMTAxLDExNCwKKyAgICA0NiwxMCwxMCwzMiwzMiwzMiwzMiw3MywxMTAsMTE2LDEwMSwxMTQsOTcsOTksMTE2LDEwNSwKKyAgICAxMTEsMTEwLDExNSwzMiwxMTksMTA1LDExNiwxMDQsMzIsMTE2LDEwNCwxMDEsMzIsMTAyLDEwNSwxMDgsCisgICAgMTAxLDMyLDExNSwxMjEsMTE1LDExNiwxMDEsMTA5LDMyLDk3LDExNCwxMDEsMzIsOTksOTcsOTksCisgICAgMTA0LDEwMSwxMDAsMzIsMTAyLDExMSwxMTQsMzIsMTEyLDEwMSwxMTQsMTAyLDExMSwxMTQsMTA5LDk3LAorICAgIDExMCw5OSwxMDEsNDQsMzIsOTgsMTAxLDEwNSwxMTAsMTAzLDEwLDMyLDMyLDMyLDMyLDExNCwKKyAgICAxMDEsMTAyLDExNCwxMDEsMTE1LDEwNCwxMDEsMTAwLDMyLDExOSwxMDQsMTAxLDExMCwzMiwxMTYsMTA0LAorICAgIDEwMSwzMiwxMDAsMTA1LDExNCwxMDEsOTksMTE2LDExMSwxMTQsMTIxLDMyLDExNiwxMDQsMTAxLDMyLAorICAgIDEwMiwxMDUsMTEwLDEwMCwxMDEsMTE0LDMyLDEwNSwxMTUsMzIsMTA0LDk3LDExMCwxMDAsMTA4LDEwNSwKKyAgICAxMTAsMTAzLDMyLDEwNCw5NywxMTUsMzIsOTgsMTAxLDEwMSwxMTAsMzIsMTA5LDExMSwxMDAsMTA1LAorICAgIDEwMiwxMDUsMTAxLDEwMCw0NiwxMCwxMCwzMiwzMiwzMiwzMiw5OSwyLDAsMCwwLAorICAgIDAsMCwwLDAsNSwwLDAsMCw1LDAsMCwwLDcsMCwwLDAsCisgICAgMTE1LDEyMiwwLDAsMCwxMDMsMCwwLDEyNSwzLDAsMTIwLDUyLDAsMTI0LDIsCisgICAgMCw2OCw5Myw0NCwwLDkyLDIsMCwxMzcsMCwwLDEyNSw0LDAsMTI0LDMsCisgICAgMCwxMDYsMCwwLDEzNSwwLDAsMTAyLDEsMCwxMDAsMSwwLDEwMCwyLDAsCisgICAgMTM0LDAsMCwxMjQsNCwwLDY4LDEzMSwxLDAsMTMxLDEsMCwxLDExMywxMywKKyAgICAwLDg3LDEyNCwzLDAsMTI0LDAsMCw5NSwxLDAsMTI0LDEsMCwxMTIsNzksCisgICAgMCwxMDAsMywwLDEyNCwwLDAsOTUsMiwwLDEwMCw2LDAsMTI0LDAsMCwKKyAgICA5NSwzLDAsMTE2LDQsMCwxMzEsMCwwLDEyNCwwLDAsOTUsNSwwLDExNiwKKyAgICA0LDAsMTMxLDAsMCwxMjQsMCwwLDk1LDYsMCwxMDAsNSwwLDgzLDQxLAorICAgIDcsMTIyLDE1NCw3MywxMTAsMTA1LDExNiwxMDUsOTcsMTA4LDEwNSwxMjIsMTAxLDMyLDExOSwxMDUsCisgICAgMTE2LDEwNCwzMiwxMTYsMTA0LDEwMSwzMiwxMTIsOTcsMTE2LDEwNCwzMiwxMTYsMTExLDMyLDExNSwKKyAgICAxMDEsOTcsMTE0LDk5LDEwNCwzMiwxMTEsMTEwLDMyLDk3LDExMCwxMDAsMzIsOTcsMzIsMTE4LAorICAgIDk3LDExNCwxMDUsOTcsOTgsMTA4LDEwMSwzMiwxMTAsMTE3LDEwOSw5OCwxMDEsMTE0LDMyLDExMSwKKyAgICAxMDIsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsNTAsNDUsMTE2LDExNywxMTIsMTA4LAorICAgIDEwMSwxMTUsMzIsOTksMTExLDExMCwxMTYsOTcsMTA1LDExMCwxMDUsMTEwLDEwMywzMiwxMTYsMTA0LAorICAgIDEwMSwzMiwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDMyLDk3LDExMCwxMDAsMzIsMTE2LDEwNCwxMDEsCisgICAgMzIsMTAyLDEwNSwxMDgsMTAxLDMyLDExNSwxMTcsMTAyLDEwMiwxMDUsMTIwLDEwMSwxMTUsMzIsMTE2LAorICAgIDEwNCwxMDEsMzIsMTA4LDExMSw5NywxMDAsMTAxLDExNCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwKKyAgICAzMiwzMiwxMTQsMTAxLDk5LDExMSwxMDMsMTEwLDEwNSwxMjIsMTAxLDExNSw0Niw5OSwxLDAsCisgICAgMCwwLDAsMCwwLDAsMiwwLDAsMCwzLDAsMCwwLDUxLDAsCisgICAgMCwwLDExNSwyNywwLDAsMCwxMjQsMCwwLDkzLDE3LDAsMTI1LDEsMCwKKyAgICAxMjQsMSwwLDEzNiwwLDAsMTAyLDIsMCw4NiwxLDExMywzLDAsMTAwLDAsCisgICAgMCw4Myw0MSwxLDc4LDExNCw0LDAsMCwwLDQxLDIsMTE0LDIyLDAsMCwKKyAgICAwLDExNCw1NywxLDAsMCw0MSwxLDExNCwxNzAsMCwwLDAsMTE0LDQsMCwKKyAgICAwLDAsMTE0LDUsMCwwLDAsMTE0LDc3LDAsMCwwLDE2MSw3LDAsMCwKKyAgICAxMTUsMiwwLDAsMCw2LDAsMTIyLDM4LDcwLDEwNSwxMDgsMTAxLDcwLDEwNSwxMTAsCisgICAgMTAwLDEwMSwxMTQsNDYsOTUsOTUsMTA1LDExMCwxMDUsMTE2LDk1LDk1LDQ2LDYwLDEwOCwxMTEsCisgICAgOTksOTcsMTA4LDExNSw2Miw0Niw2MCwxMDMsMTAxLDExMCwxMDEsMTIwLDExMiwxMTQsNjIsMTE0LAorICAgIDExNiwwLDAsMCwxMTQsMjksMCwwLDAsNzgsMTE0LDEzOSwwLDAsMCw0MSwKKyAgICA3LDExNCwxOTYsMCwwLDAsMjE4LDgsOTUsMTA4LDExMSw5NywxMDAsMTAxLDExNCwxMTUsCisgICAgMTE0LDM1LDAsMCwwLDIxOCwxMSw5NSwxMTIsOTcsMTE2LDEwNCw5NSwxMDksMTE2LDEwNSwKKyAgICAxMDksMTAxLDIxOCwzLDExNSwxMDEsMTE2LDIxOCwxMSw5NSwxMTIsOTcsMTE2LDEwNCw5NSw5OSwKKyAgICA5Nyw5OSwxMDQsMTAxLDIxOCwxOSw5NSwxMTQsMTAxLDEwOCw5NywxMjAsMTAxLDEwMCw5NSwxMTIsCisgICAgOTcsMTE2LDEwNCw5NSw5OSw5Nyw5OSwxMDQsMTAxLDQxLDUsMTE0LDcxLDAsMCwwLAorICAgIDExNCwzNSwwLDAsMCwyMTgsMTQsMTA4LDExMSw5NywxMDAsMTAxLDExNCw5NSwxMDAsMTAxLAorICAgIDExNiw5NywxMDUsMTA4LDExNSw5MCw3LDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMTE1LDExNCwxMjYsCisgICAgMCwwLDAsMTE0LDQsMCwwLDAsNDEsMSwxMTQsMTcwLDAsMCwwLDExNCwKKyAgICA1LDAsMCwwLDExNCw3MiwwLDAsMCwxNTUsNywwLDAsMTE1LDE2LDAsCisgICAgMCwwLDAsNCw2LDEsMTksMSwzNiwxLDksMiwxNSwxLDksMSwKKyAgICAxMiwxLDEyMiwxOSw3MCwxMDUsMTA4LDEwMSw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDQ2LDk1LAorICAgIDk1LDEwNSwxMTAsMTA1LDExNiw5NSw5NSw5OSwxLDAsMCwwLDAsMCwwLDAsCisgICAgMSwwLDAsMCwyLDAsMCwwLDY3LDAsMCwwLDExNSwxMywwLDAsCisgICAgMCwxMDAsMywwLDEyNCwwLDAsOTUsMCwwLDEwMCwyLDAsODMsNDEsNCwKKyAgICAxMjIsMzEsNzMsMTEwLDExOCw5NywxMDgsMTA1LDEwMCw5NywxMTYsMTAxLDMyLDExNiwxMDQsMTAxLAorICAgIDMyLDEwMCwxMDUsMTE0LDEwMSw5OSwxMTYsMTExLDExNCwxMjEsMzIsMTA5LDExNiwxMDUsMTA5LDEwMSwKKyAgICA0NiwxMTQsMjksMCwwLDAsNzgsMTE0LDEzOSwwLDAsMCw0MSwxLDExNCw4OSwKKyAgICAxLDAsMCw0MSwxLDExNCw3MSwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsCisgICAgNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsNzQsMSwwLDAsMTY5LDcsCisgICAgMCwwLDExNSwyLDAsMCwwLDAsMiwxMjIsMjgsNzAsMTA1LDEwOCwxMDEsNzAsCisgICAgMTA1LDExMCwxMDAsMTAxLDExNCw0NiwxMDUsMTEwLDExOCw5NywxMDgsMTA1LDEwMCw5NywxMTYsMTAxLAorICAgIDk1LDk5LDk3LDk5LDEwNCwxMDEsMTE1LDk5LDIsMCwwLDAsMCwwLDAsMCwKKyAgICAzLDAsMCwwLDIsMCwwLDAsNjcsMCwwLDAsMTE1LDU5LDAsMCwKKyAgICAwLDEyNCwwLDAsMTA2LDAsMCwxMjQsMSwwLDEzMSwxLDAsMTI1LDIsMCwKKyAgICAxMjQsMiwwLDEwMCwxLDAsMTA3LDgsMCwxMTQsMzcsMCwxMDAsMSwwLDEwMywKKyAgICAwLDAsMTAyLDIsMCw4MywxMjQsMiwwLDEwNiwxLDAsMTI0LDIsMCwxMDYsCisgICAgMiwwLDExMiw1NSwwLDEwMywwLDAsMTAyLDIsMCw4Myw0MSwyLDEyMiwxOTcsCisgICAgODQsMTE0LDEyMSwzMiwxMTYsMTExLDMyLDEwMiwxMDUsMTEwLDEwMCwzMiw5NywzMiwxMDgsMTExLAorICAgIDk3LDEwMCwxMDEsMTE0LDMyLDEwMiwxMTEsMTE0LDMyLDExNiwxMDQsMTAxLDMyLDExNSwxMTIsMTAxLAorICAgIDk5LDEwNSwxMDIsMTA1LDEwMSwxMDAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDQsMzIsMTExLAorICAgIDExNCwzMiwxMTYsMTA0LDEwMSwzMiwxMTAsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSwxMCwKKyAgICAzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsMzIsCisgICAgMTEyLDExMSwxMTQsMTE2LDEwNSwxMTEsMTEwLDExNSw0NiwzMiw4MiwxMDEsMTE2LDExNywxMTQsMTEwLAorICAgIDExNSwzMiw0MCwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDQ0LDMyLDEwOCwxMDUsMTE1LDExNiw0NSwKKyAgICAxMTEsMTAyLDQ1LDExMiwxMTEsMTE0LDExNiwxMDUsMTExLDExMCwxMTUsNDEsNDYsMTAsMTAsMzIsCisgICAgMzIsMzIsMzIsMzIsMzIsMzIsMzIsODQsMTA0LDEwNSwxMTUsMzIsMTA5LDEwMSwxMTYsMTA0LAorICAgIDExMSwxMDAsMzIsMTA1LDExNSwzMiwxMDAsMTAxLDExMiwxMTQsMTAxLDk5LDk3LDExNiwxMDEsMTAwLAorICAgIDQ2LDMyLDMyLDg1LDExNSwxMDEsMzIsMTAyLDEwNSwxMTAsMTAwLDk1LDExNSwxMTIsMTAxLDk5LAorICAgIDQwLDQxLDMyLDEwNSwxMTAsMTE1LDExNiwxMDEsOTcsMTAwLDQ2LDEwLDEwLDMyLDMyLDMyLAorICAgIDMyLDMyLDMyLDMyLDMyLDc4LDQxLDMsMTE0LDEyLDEsMCwwLDExNCwxNzAsMCwKKyAgICAwLDAsMTE0LDIyMCwwLDAsMCw0MSwzLDExNCw3MSwwLDAsMCwxMTQsMTU5LAorICAgIDAsMCwwLDExNCwxNzcsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwKKyAgICAwLDAsMTE0LDUsMCwwLDAsMTE0LDE2NiwwLDAsMCwxNzUsNywwLDAsCisgICAgMTE1LDgsMCwwLDAsMCw3LDE1LDEsMTIsMSwxMCwxLDEyMiwyMiw3MCwKKyAgICAxMDUsMTA4LDEwMSw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDQ2LDEwMiwxMDUsMTEwLDEwMCw5NSwxMDgsCisgICAgMTExLDk3LDEwMCwxMDEsMTE0LDk5LDYsMCwwLDAsMCwwLDAsMCw3LDAsCisgICAgMCwwLDcsMCwwLDAsNjcsMCwwLDAsMTE1LDQwLDAsMCwwLDEyNCwKKyAgICAxLDAsMTI0LDIsMCwxMjQsMywwLDEzMSwyLDAsMTI1LDYsMCwxMTYsMCwKKyAgICAwLDEyNCwyLDAsMTI0LDMsMCwxMDAsMSwwLDEyNCw2LDAsMTAwLDIsMCwKKyAgICAxMjQsNCwwLDEzMSwyLDIsODMsNDEsMyw3OCwxMTQsMTcwLDAsMCwwLDExNCwKKyAgICAyMjAsMCwwLDAsNDEsMSwxMTQsMjM5LDAsMCwwLDQxLDcsMTE0LDcxLDAsCisgICAgMCwwLDExNCwyNDMsMCwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsMzUsMCwwLAorICAgIDAsMTE0LDIyOCwwLDAsMCwxMTQsMTEsMSwwLDAsMTE0LDE3MCwwLDAsMCwKICAgICAxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsCi0gICAgMTQsMSwwLDAsMjI0LDcsMCwwLDExNSw2OCwwLDAsMCwwLDMsNiwKLSAgICAxLDE5LDEsMywxLDM0LDEsMTMsMSwxMSwxLDE1LDEsMTAsMSwxMiwKLSAgICAyLDksMSw5LDEsMTUsMiw5LDEsNiwyLDEyLDEsMTgsMSwyMiwKLSAgICAxLDEwLDEsMTUsMSwxMiwxLDMyLDQsMTUsMiwyMiwxLDIyLDEsMjUsCi0gICAgMSwxNiwxLDEyLDEsMzIsMSw2LDEsMTksMSwxNSwxLDEyLDEsNCwKLSAgICAxLDEyMiwyMCw3MCwxMDUsMTA4LDEwMSw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDQ2LDEwMiwxMDUsCi0gICAgMTEwLDEwMCw5NSwxMTUsMTEyLDEwMSw5OSw5OSwxLDAsMCwwLDAsMCwwLDAsCi0gICAgOSwwLDAsMCwxMywwLDAsMCw2NywwLDAsMCwxMTUsMTQsMSwwLAotICAgIDAsMTI0LDAsMCwxMDYsMCwwLDEyNSwxLDAsMTIxLDMxLDAsMTE2LDEsMCwKLSAgICAxMDYsMiwwLDEyNCwxLDAsMTEyLDMzLDAsMTE2LDEsMCwxMDYsMywwLDEzMSwKLSAgICAwLDAsMTMxLDEsMCwxMjUsMiwwLDg3LDExMCwzMywwLDQsMTE2LDQsMCwKLSAgICAxMTYsNSwwLDExNiw2LDAsMTAyLDMsMCwxMDcsMTAsMCwxMTQsNzUsMCwxLAotICAgIDEsMSwxMDMsMCwwLDEyNSwyLDAsODksMTEwLDEsMCw4OCwxMTYsNywwLAotICAgIDEwNiw4LDAsMTA2LDksMCwxMDAsMSwwLDEzMSwxLDAsMTE1LDExMiwwLDExNiwKLSAgICAxMCwwLDEyNCwyLDAsMTMxLDEsMCwxMjQsMCwwLDk1LDExLDAsMTEwLDExMSwKLSAgICAwLDExNiwxMCwwLDEzMSwwLDAsMTI1LDMsMCwxMjAsOTAsMCwxMjQsMiwwLAotICAgIDY4LDkzLDgyLDAsMTI1LDQsMCwxMjQsNCwwLDEwNiwxMiwwLDEwMCwyLDAsCi0gICAgMTMxLDEsMCw5MiwzLDAsMTI1LDUsMCwxMjUsNiwwLDEyNSw3LDAsMTI0LAotICAgIDYsMCwxMTQsMTkxLDAsMTAwLDMsMCwxMDYsMTMsMCwxMjQsNSwwLDEyNCw3LAotICAgIDAsMTA2LDE0LDAsMTMxLDAsMCwxMzEsMiwwLDEyNSw4LDAsMTEwLDYsMCwKLSAgICAxMjQsNSwwLDEyNSw4LDAsMTI0LDMsMCwxMDYsMTUsMCwxMjQsOCwwLDEzMSwKLSAgICAxLDAsMSwxMTMsMTI4LDAsODcsMTI0LDMsMCwxMjQsMCwwLDk1LDExLDAsCi0gICAgMTE2LDcsMCwxMDYsOCwwLDEwNiw5LDAsMTE2LDE2LDAsMTMxLDEsMCwxMTQsCi0gICAgMTAsMSwxMDAsNCwwLDEwMCw1LDAsMTMyLDAsMCwxMjQsMiwwLDY4LDEzMSwKLSAgICAxLDAsMTI0LDAsMCw5NSwxNywwLDExMCwwLDAsMTAwLDYsMCw4Myw0MSwKLSAgICA3LDEyMiw2OCw3MCwxMDUsMTA4LDEwOCwzMiwxMTYsMTA0LDEwMSwzMiw5OSw5Nyw5OSwxMDQsCi0gICAgMTAxLDMyLDExMSwxMDIsMzIsMTEyLDExMSwxMTYsMTAxLDExMCwxMTYsMTA1LDk3LDEwOCwzMiwxMDksCi0gICAgMTExLDEwMCwxMTcsMTA4LDEwMSwxMTUsMzIsOTcsMTEwLDEwMCwzMiwxMTIsOTcsOTksMTA3LDk3LAotICAgIDEwMywxMDEsMTE1LDMyLDEwMiwxMTEsMTE0LDMyLDExNiwxMDQsMTA1LDExNSwzMiwxMDAsMTA1LDExNCwKLSAgICAxMDEsOTksMTE2LDExMSwxMTQsMTIxLDQ2LDExNCwwLDAsMCwwLDExNCwxMTYsMCwwLAotICAgIDAsMTIyLDUsMTIzLDEyNSw0NiwxMjMsMTI1LDk5LDEsMCwwLDAsMCwwLDAsCi0gICAgMCwyLDAsMCwwLDMsMCwwLDAsODMsMCwwLDAsMTE1LDI4LDAsCi0gICAgMCwwLDEwNCwwLDAsMTI0LDAsMCw5MywxOCwwLDEyNSwxLDAsMTI0LDEsCi0gICAgMCwxMDYsMCwwLDEzMSwwLDAsMTQ2LDIsMCwxMTMsNiwwLDgzLDExNCw0LAotICAgIDAsMCwwLDQxLDEsMTE0LDE0MCwwLDAsMCw0MSwyLDExNCwyMiwwLDAsCi0gICAgMCw5MCwyLDEwMiwxMTAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LAotICAgIDUsMCwwLDAsMjUwLDksNjAsMTE1LDEwMSwxMTYsOTksMTExLDEwOSwxMTIsNjIsNDIsCi0gICAgOCwwLDAsMTE1LDIsMCwwLDAsOSwwLDEyMiw0MSw3MCwxMDUsMTA4LDEwMSwKLSAgICA3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDQ2LDk1LDEwMiwxMDUsMTA4LDEwOCw5NSw5OSw5Nyw5OSwKLSAgICAxMDQsMTAxLDQ2LDYwLDEwOCwxMTEsOTksOTcsMTA4LDExNSw2Miw0Niw2MCwxMTUsMTAxLDExNiwKLSAgICA5OSwxMTEsMTA5LDExMiw2Miw3OCw0MSwxOCwxMTQsMzUsMCwwLDAsMTE0LDMsMCwKLSAgICAwLDAsOTAsNywxMDgsMTA1LDExNSwxMTYsMTAwLDEwNSwxMTQsMTE0LDQ1LDAsMCwwLAotICAgIDIxOCwxNyw3MCwxMDUsMTA4LDEwMSw3OCwxMTEsMTE2LDcwLDExMSwxMTcsMTEwLDEwMCw2OSwxMTQsCi0gICAgMTE0LDExMSwxMTQsMjE4LDE1LDgwLDEwMSwxMTQsMTA5LDEwNSwxMTUsMTE1LDEwNSwxMTEsMTEwLDY5LAotICAgIDExNCwxMTQsMTExLDExNCwyMTgsMTgsNzgsMTExLDExNiw2NSw2OCwxMDUsMTE0LDEwMSw5OSwxMTYsCi0gICAgMTExLDExNCwxMjEsNjksMTE0LDExNCwxMTEsMTE0LDExNCw3LDAsMCwwLDExNCw4LDAsCi0gICAgMCwwLDExNCw5LDAsMCwwLDExNCw5MCwxLDAsMCwxMTQsOTEsMSwwLAotICAgIDAsMTE0LDEzNCwwLDAsMCwxMTQsNDcsMCwwLDAsMTE0LDE0MCwwLDAsMCwKLSAgICAyMTgsMyw5NywxMDAsMTAwLDExNCwxMCwwLDAsMCwxMTQsOTIsMSwwLDAsNDEsCi0gICAgOSwxMTQsNzEsMCwwLDAsMTE0LDM1LDAsMCwwLDkwLDgsOTksMTExLDExMCwKLSAgICAxMTYsMTAxLDExMCwxMTYsMTE1LDkwLDIxLDEwOCwxMTEsMTE5LDEwMSwxMTQsOTUsMTE1LDExNywxMDIsCi0gICAgMTAyLDEwNSwxMjAsOTUsOTksMTExLDExMCwxMTYsMTAxLDExMCwxMTYsMTE1LDExNCw3MiwxLDAsCi0gICAgMCwxMTQsNjcsMCwwLDAsMTE0LDY2LDEsMCwwLDExNCw1OCwxLDAsMCwKLSAgICA5MCw4LDExMCwxMDEsMTE5LDk1LDExMCw5NywxMDksMTAxLDExNCw0LDAsMCwwLDExNCwKLSAgICA0LDAsMCwwLDExNCw1LDAsMCwwLDExNCw5NCwxLDAsMCwxMyw4LAotICAgIDAsMCwxMTUsMzQsMCwwLDAsMCwyLDksMSwzLDEsMzEsMSwyMiwKLSAgICAzLDExLDMsMTgsMSwxOCw3LDksMSwxMywxLDI0LDEsNiwxLDI3LAotICAgIDIsNiwxLDE3LDEsOSwxLDE4LDEsMTIyLDIyLDcwLDEwNSwxMDgsMTAxLDcwLAotICAgIDEwNSwxMTAsMTAwLDEwMSwxMTQsNDYsOTUsMTAyLDEwNSwxMDgsMTA4LDk1LDk5LDk3LDk5LDEwNCwKLSAgICAxMDEsOTksMSwwLDAsMCwwLDAsMCwwLDMsMCwwLDAsMywwLAotICAgIDAsMCw3LDAsMCwwLDExNSwyNSwwLDAsMCwxMzUsMCwwLDEzNSwxLAotICAgIDAsMTAyLDIsMCwxMDAsMSwwLDEwMCwyLDAsMTM0LDAsMCwxMjUsMiwwLAotICAgIDEyNCwyLDAsODMsNDEsMyw5NywyMCwxLDAsMCw2NSwzMiw5OSwxMDgsOTcsCi0gICAgMTE1LDExNSwzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwzMiwxMTksMTA0LDEwNSw5OSwxMDQsMzIsCi0gICAgMTE0LDEwMSwxMTYsMTE3LDExNCwxMTAsMTE1LDMyLDk3LDMyLDk5LDEwOCwxMTEsMTE1LDExNywxMTQsCi0gICAgMTAxLDMyLDExNiwxMTEsMzIsMTE3LDExNSwxMDEsMzIsMTExLDExMCwzMiwxMTUsMTIxLDExNSw0NiwKLSAgICAxMTIsOTcsMTE2LDEwNCw5NSwxMDQsMTExLDExMSwxMDcsMTAsMzIsMzIsMzIsMzIsMzIsMzIsCi0gICAgMzIsMzIsMTE5LDEwNCwxMDUsOTksMTA0LDMyLDExOSwxMDUsMTA4LDEwOCwzMiwxMTQsMTAxLDExNiwKLSAgICAxMTcsMTE0LDExMCwzMiw5NywxMTAsMzIsMTA1LDExMCwxMTUsMTE2LDk3LDExMCw5OSwxMDEsMzIsCi0gICAgMTE3LDExNSwxMDUsMTEwLDEwMywzMiwxMTYsMTA0LDEwMSwzMiwxMTUsMTEyLDEwMSw5OSwxMDUsMTAyLAotICAgIDEwNSwxMDEsMTAwLDMyLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMTE1LDMyLDk3LDExMCwxMDAsMzIsCi0gICAgMTE2LDEwNCwxMDEsMzIsMTEyLDk3LDExNiwxMDQsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsCi0gICAgMzIsOTksOTcsMTA4LDEwOCwxMDEsMTAwLDMyLDExMSwxMTAsMzIsMTE2LDEwNCwxMDEsMzIsOTksCi0gICAgMTA4LDExMSwxMTUsMTE3LDExNCwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsCi0gICAgMzIsNzMsMTAyLDMyLDExNiwxMDQsMTAxLDMyLDExMiw5NywxMTYsMTA0LDMyLDk5LDk3LDEwOCwKLSAgICAxMDgsMTAxLDEwMCwzMiwxMTEsMTEwLDMyLDExNiwxMDQsMTAxLDMyLDk5LDEwOCwxMTEsMTE1LDExNywKLSAgICAxMTQsMTAxLDMyLDEwNSwxMTUsMzIsMTEwLDExMSwxMTYsMzIsOTcsMzIsMTAwLDEwNSwxMTQsMTAxLAotICAgIDk5LDExNiwxMTEsMTE0LDEyMSw0NCwzMiw3MywxMDksMTEyLDExMSwxMTQsMTE2LDY5LDExNCwxMTQsCi0gICAgMTExLDExNCwzMiwxMDUsMTE1LDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDExNCw5NywKLSAgICAxMDUsMTE1LDEwMSwxMDAsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsOTksCi0gICAgMSwwLDAsMCwwLDAsMCwwLDEsMCwwLDAsNCwwLDAsMCwKLSAgICAxOSwwLDAsMCwxMTUsNDYsMCwwLDAsMTE2LDAsMCwxMjQsMCwwLDEzMSwKLSAgICAxLDAsMTE1LDMzLDAsMTE2LDEsMCwxMDAsMSwwLDEwMCwyLDAsMTI0LDAsCi0gICAgMCwxMzEsMSwxLDEzMCwxLDAsMTEwLDAsMCwxMzYsMCwwLDEyNCwwLDAsCisgICAgODYsMSwwLDAsMTg3LDcsMCwwLDExNSw2LDAsMCwwLDAsMSwxNSwKKyAgICAxLDE4LDEsMTIyLDIwLDcwLDEwNSwxMDgsMTAxLDcwLDEwNSwxMTAsMTAwLDEwMSwxMTQsNDYsCisgICAgOTUsMTAzLDEwMSwxMTYsOTUsMTE1LDExMiwxMDEsOTksNzgsOTksMywwLDAsMCwwLAorICAgIDAsMCwwLDE0LDAsMCwwLDE1LDAsMCwwLDY3LDAsMCwwLDExNSwKKyAgICAyMzEsMSwwLDAsMTAwLDEsMCwxMjUsMywwLDEyNCwxLDAsMTA2LDAsMCwKKyAgICAxMDAsMiwwLDEzMSwxLDAsMTAwLDMsMCwyNSwxMjUsNCwwLDEyMSwzNCwwLAorICAgIDExNiwxLDAsMTI0LDAsMCwxMDYsMiwwLDExMiw0OSwwLDExNiwzLDAsMTA2LAorICAgIDQsMCwxMzEsMCwwLDEzMSwxLDAsMTA2LDUsMCwxMjUsNSwwLDg3LDExMCwKKyAgICAyNCwwLDQsMTE2LDYsMCwxMDcsMTAsMCwxMTQsODUsMCwxLDEsMSwxMDAsCisgICAgMTAsMCwxMjUsNSwwLDg5LDExMCwxLDAsODgsMTI0LDUsMCwxMjQsMCwwLAorICAgIDEwNiw3LDAsMTA3LDMsMCwxMTQsMTIwLDAsMTI0LDAsMCwxMDYsOCwwLDEzMSwKKyAgICAwLDAsMSwxMjQsNSwwLDEyNCwwLDAsOTUsNywwLDExNiw5LDAsMTMxLAorICAgIDAsMCwxMTQsMTUzLDAsMTI0LDAsMCwxMDYsMTAsMCwxMjUsNiwwLDEyNCw0LAorICAgIDAsMTA2LDExLDAsMTMxLDAsMCwxMjUsNywwLDExMCwxNSwwLDEyNCwwLDAsCisgICAgMTA2LDEyLDAsMTI1LDYsMCwxMjQsNCwwLDEyNSw3LDAsMTI0LDcsMCwxMjQsCisgICAgNiwwLDEwNyw2LDAsMTE0LDQ1LDEsMTE2LDEzLDAsMTI0LDAsMCwxMDYsMiwKKyAgICAwLDEyNCw0LDAsMTMxLDIsMCwxMjUsOCwwLDEyMCwxMDAsMCwxMjQsMCwwLAorICAgIDEwNiwxNCwwLDY4LDkzLDc3LDAsOTIsMiwwLDEyNSw5LDAsMTI1LDEwLDAsCisgICAgMTAwLDUsMCwxMjQsOSwwLDIzLDEyNSwxMSwwLDExNiwxMywwLDEyNCw4LDAsCisgICAgMTI0LDExLDAsMTMxLDIsMCwxMjUsMTIsMCwxMTYsMTUsMCwxMjQsMTIsMCwxMzEsCisgICAgMSwwLDExNCwyMDgsMCwxMjQsMCwwLDEwNiwxNiwwLDEyNCwxMCwwLDEyNCwxLAorICAgIDAsMTI0LDEyLDAsMTI0LDgsMCwxMDMsMSwwLDEyNCwyLDAsMTMxLDUsMCwKKyAgICA4MywxMTMsMjA4LDAsODcsMTE2LDE3LDAsMTI0LDgsMCwxMzEsMSwwLDEyNSwzLAorICAgIDAsMTIwLDEyMywwLDEyNCwwLDAsMTA2LDE0LDAsNjgsOTMsMTEyLDAsOTIsMiwKKyAgICAwLDEyNSw5LDAsMTI1LDEwLDAsMTE2LDEzLDAsMTI0LDAsMCwxMDYsMiwwLAorICAgIDEyNCw0LDAsMTI0LDksMCwyMywxMzEsMiwwLDEyNSwxMiwwLDExNiwxOCwwLAorICAgIDEwMCw2LDAsMTA2LDE5LDAsMTI0LDEyLDAsMTMxLDEsMCwxMDAsNywwLDEwMCwKKyAgICAzLDAsMTMxLDEsMSwxLDEyNCw3LDAsMTI0LDksMCwyMywxMjQsNiwwLAorICAgIDEwNyw2LDAsMTE0LDU1LDEsMTE2LDE1LDAsMTI0LDEyLDAsMTMxLDEsMCwxMTQsCisgICAgNTUsMSwxMjQsMCwwLDEwNiwxNiwwLDEyNCwxMCwwLDEyNCwxLDAsMTI0LDEyLAorICAgIDAsMTAwLDgsMCwxMjQsMiwwLDEzMSw1LDAsODMsMTEzLDU1LDEsODcsMTI0LAorICAgIDMsMCwxMTQsMjI3LDEsMTE2LDE4LDAsMTAwLDksMCwxMDYsMTksMCwxMjQsOCwKKyAgICAwLDEzMSwxLDAsMTMxLDEsMCwxLDExNiwyMCwwLDEyNCwxLDAsMTAwLDgsCisgICAgMCwxMzEsMiwwLDEyNSwxMywwLDEyNCw4LDAsMTAzLDEsMCwxMjQsMTMsMCwKKyAgICA5NSwyMSwwLDEyNCwxMywwLDgzLDEwMCw4LDAsODMsNDEsMTEsMTIyLDEyNSw4NCwKKyAgICAxMTQsMTIxLDMyLDExNiwxMTEsMzIsMTAyLDEwNSwxMTAsMTAwLDMyLDk3LDMyLDEwOCwxMTEsOTcsCisgICAgMTAwLDEwMSwxMTQsMzIsMTAyLDExMSwxMTQsMzIsMTE2LDEwNCwxMDEsMzIsMTE1LDExMiwxMDEsOTksCisgICAgMTA1LDEwMiwxMDUsMTAxLDEwMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw0NCwzMiwxMTEsMTE0LAorICAgIDMyLDExNiwxMDQsMTAxLDMyLDExMCw5NywxMDksMTAxLDExNSwxMTIsOTcsOTksMTAxLDEwLDMyLAorICAgIDMyLDMyLDMyLDMyLDMyLDMyLDMyLDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSwzMiwxMTIsCisgICAgMTExLDExNCwxMTYsMTA1LDExMSwxMTAsMTE1LDQ2LDMyLDgyLDEwMSwxMTYsMTE3LDExNCwxMTAsMTE1LAorICAgIDMyLDQwLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsNDQsMzIsMTA4LDEwNSwxMTUsMTE2LDQ1LDExMSwKKyAgICAxMDIsNDUsMTEyLDExMSwxMTQsMTE2LDEwNSwxMTEsMTEwLDExNSw0MSw0Niw3MCwxMTQsMTE2LDAsCisgICAgMCwwLDExNCwxMTUsMCwwLDAsMTE0LDI5LDAsMCwwLDExNCw3MiwwLDAsCisgICAgMCwxMjIsOSwxMTYsMTE0LDEyMSwxMDUsMTEwLDEwMywzMiwxMjMsMTI1LDExNCwxNDYsMCwwLAorICAgIDAsNzgsMTIyLDI1LDExMiwxMTEsMTE1LDExNSwxMDUsOTgsMTA4LDEwMSwzMiwxMTAsOTcsMTA5LAorICAgIDEwMSwxMTUsMTEyLDk3LDk5LDEwMSwzMiwxMDIsMTExLDExNCwzMiwxMjMsMTI1LDExNCwxMzksMCwKKyAgICAwLDAsNDEsMjIsMTE0LDMyLDAsMCwwLDExNCwzOSwwLDAsMCwxMTQsMzUsCisgICAgMCwwLDAsMTE0LDMsMCwwLDAsMTE0LDQ1LDAsMCwwLDExNCw1MywxLAorICAgIDAsMCwxMTQsNDAsMCwwLDAsMTE0LDg5LDEsMCwwLDIxOCwxMSw5NSwxMDIsCisgICAgMTA1LDEwOCwxMDgsOTUsOTksOTcsOTksMTA0LDEwMSwxMTQsNiwwLDAsMCwxMTQsOTIsCisgICAgMSwwLDAsMTE0LDE0MCwwLDAsMCwxMTQsOTEsMSwwLDAsMTE0LDI4LDAsCisgICAgMCwwLDExNCw4OCwxLDAsMCwxMTQsNDQsMCwwLDAsMTE0LDg2LDEsMCwKKyAgICAwLDExNCw0NiwwLDAsMCwxMTQsMTUzLDAsMCwwLDExNCw0NywwLDAsMCwKKyAgICAxMTQsMjE2LDAsMCwwLDExNCwyMjAsMCwwLDAsNDEsMTQsMTE0LDcxLDAsMCwKKyAgICAwLDExNCwxNTksMCwwLDAsMTE0LDExLDEsMCwwLDkwLDEyLDEwNSwxMTUsOTUsCisgICAgMTEwLDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwxMDEsOTAsMTEsMTE2LDk3LDEwNSwxMDgsOTUsCisgICAgMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE0LDE4MiwwLDAsMCw5MCw1LDk5LDk3LDk5LAorICAgIDEwNCwxMDEsOTAsMTIsOTksOTcsOTksMTA0LDEwMSw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwKKyAgICA5MCw5LDk4LDk3LDExNSwxMDEsOTUsMTEyLDk3LDExNiwxMDQsMTE0LDU3LDEsMCwwLAorICAgIDExNCwyNDMsMCwwLDAsOTAsMTMsMTA1LDExMCwxMDUsMTE2LDk1LDEwMiwxMDUsMTA4LDEwMSwKKyAgICAxMTAsOTcsMTA5LDEwMSw5MCw5LDEwMiwxMTcsMTA4LDEwOCw5NSwxMTIsOTcsMTE2LDEwNCwxMTQsCisgICAgMTc3LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LAorICAgIDAsMCwwLDExNCwxMiwxLDAsMCwxOTIsNywwLDAsMTE1LDY4LDAsMCwKKyAgICAwLDAsMyw2LDEsMTksMSwzLDEsMzQsMSwxMywxLDExLDEsMTUsCisgICAgMSwxMCwxLDksMiw5LDEsOSwxLDE1LDIsOSwxLDYsMiwxMiwKKyAgICAxLDE4LDEsMjIsMSwxMCwxLDE1LDEsMTIsMSwzMiw0LDEyLDIsMjIsCisgICAgMSwyMiwxLDI1LDEsMTYsMSwxMiwxLDI5LDEsNiwxLDE5LDEsMTUsCisgICAgMSwxMiwxLDQsMSwxMjIsMjAsNzAsMTA1LDEwOCwxMDEsNzAsMTA1LDExMCwxMDAsMTAxLAorICAgIDExNCw0NiwxMDIsMTA1LDExMCwxMDAsOTUsMTE1LDExMiwxMDEsOTksOTksMSwwLDAsMCwKKyAgICAwLDAsMCwwLDksMCwwLDAsMTMsMCwwLDAsNjcsMCwwLDAsCisgICAgMTE1LDExLDEsMCwwLDEyNCwwLDAsMTA2LDAsMCwxMjUsMSwwLDEyMSwzMSwKKyAgICAwLDExNiwxLDAsMTA2LDIsMCwxMjQsMSwwLDExMiwzMywwLDExNiwxLDAsCisgICAgMTA2LDMsMCwxMzEsMCwwLDEzMSwxLDAsMTI1LDIsMCw4NywxMTAsMzMsMCwKKyAgICA0LDExNiw0LDAsMTE2LDUsMCwxMTYsNiwwLDEwMiwzLDAsMTA3LDEwLDAsCisgICAgMTE0LDc1LDAsMSwxLDEsMTAzLDAsMCwxMjUsMiwwLDg5LDExMCwxLDAsCisgICAgODgsMTE2LDcsMCwxMDYsOCwwLDEwNiw5LDAsMTAwLDEsMCwxMzEsMSwwLAorICAgIDExNSwxMTIsMCwxMTYsMTAsMCwxMjQsMiwwLDEzMSwxLDAsMTI0LDAsMCw5NSwKKyAgICAxMSwwLDExMCwxMTEsMCwxMTYsMTAsMCwxMzEsMCwwLDEyNSwzLDAsMTIwLDkwLAorICAgIDAsMTI0LDIsMCw2OCw5Myw4MiwwLDEyNSw0LDAsMTI0LDQsMCwxMDYsMTIsCisgICAgMCwxMDAsMiwwLDEzMSwxLDAsOTIsMywwLDEyNSw1LDAsMTI1LDYsMCwKKyAgICAxMjUsNywwLDEyNCw2LDAsMTE0LDE5MSwwLDEwMCwzLDAsMTA2LDEzLDAsMTI0LAorICAgIDUsMCwxMjQsNywwLDEwNiwxNCwwLDEzMSwwLDAsMTMxLDIsMCwxMjUsOCwKKyAgICAwLDExMCw2LDAsMTI0LDUsMCwxMjUsOCwwLDEyNCwzLDAsMTA2LDE1LDAsCisgICAgMTI0LDgsMCwxMzEsMSwwLDEsMTEzLDEyOCwwLDg3LDEyNCwzLDAsMTI0LDAsCisgICAgMCw5NSwxMSwwLDExNiw3LDAsMTA2LDgsMCwxMDYsOSwwLDExNiwxNiwwLAorICAgIDEzMSwxLDAsMTE0LDcsMSwxMDAsNCwwLDEwMCw1LDAsMTMyLDAsMCwxMjQsCisgICAgMiwwLDY4LDEzMSwxLDAsMTI0LDAsMCw5NSwxNywwLDEwMCw2LDAsODMsCisgICAgNDEsNywxMjIsNjgsNzAsMTA1LDEwOCwxMDgsMzIsMTE2LDEwNCwxMDEsMzIsOTksOTcsOTksCisgICAgMTA0LDEwMSwzMiwxMTEsMTAyLDMyLDExMiwxMTEsMTE2LDEwMSwxMTAsMTE2LDEwNSw5NywxMDgsMzIsCisgICAgMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE1LDMyLDk3LDExMCwxMDAsMzIsMTEyLDk3LDk5LDEwNywKKyAgICA5NywxMDMsMTAxLDExNSwzMiwxMDIsMTExLDExNCwzMiwxMTYsMTA0LDEwNSwxMTUsMzIsMTAwLDEwNSwKKyAgICAxMTQsMTAxLDk5LDExNiwxMTEsMTE0LDEyMSw0NiwxMTQsMCwwLDAsMCwxMTQsMTE2LDAsCisgICAgMCwwLDEyMiw1LDEyMywxMjUsNDYsMTIzLDEyNSw5OSwxLDAsMCwwLDAsMCwKKyAgICAwLDAsMiwwLDAsMCwzLDAsMCwwLDgzLDAsMCwwLDExNSwyOCwKKyAgICAwLDAsMCwxMDQsMCwwLDEyNCwwLDAsOTMsMTgsMCwxMjUsMSwwLDEyNCwKKyAgICAxLDAsMTA2LDAsMCwxMzEsMCwwLDE0NiwyLDAsMTEzLDYsMCw4MywxMTQsCisgICAgNCwwLDAsMCw0MSwxLDExNCwxNDAsMCwwLDAsNDEsMiwxMTQsMjIsMCwKKyAgICAwLDAsOTAsMiwxMDIsMTEwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLAorICAgIDExNCw1LDAsMCwwLDI1MCw5LDYwLDExNSwxMDEsMTE2LDk5LDExMSwxMDksMTEyLDYyLAorICAgIDEwLDgsMCwwLDExNSwyLDAsMCwwLDksMCwxMjIsNDEsNzAsMTA1LDEwOCwKKyAgICAxMDEsNzAsMTA1LDExMCwxMDAsMTAxLDExNCw0Niw5NSwxMDIsMTA1LDEwOCwxMDgsOTUsOTksOTcsCisgICAgOTksMTA0LDEwMSw0Niw2MCwxMDgsMTExLDk5LDk3LDEwOCwxMTUsNjIsNDYsNjAsMTE1LDEwMSwKKyAgICAxMTYsOTksMTExLDEwOSwxMTIsNjIsNzgsNDEsMTgsMTE0LDM1LDAsMCwwLDExNCwzLAorICAgIDAsMCwwLDkwLDcsMTA4LDEwNSwxMTUsMTE2LDEwMCwxMDUsMTE0LDExNCw0NSwwLDAsCisgICAgMCwxMTQsODAsMSwwLDAsMjE4LDE1LDgwLDEwMSwxMTQsMTA5LDEwNSwxMTUsMTE1LDEwNSwKKyAgICAxMTEsMTEwLDY5LDExNCwxMTQsMTExLDExNCwyMTgsMTgsNzgsMTExLDExNiw2NSw2OCwxMDUsMTE0LAorICAgIDEwMSw5OSwxMTYsMTExLDExNCwxMjEsNjksMTE0LDExNCwxMTEsMTE0LDExNCw3LDAsMCwwLAorICAgIDExNCw4LDAsMCwwLDExNCw5LDAsMCwwLDExNCw5MCwxLDAsMCwxMTQsCisgICAgOTEsMSwwLDAsMTE0LDEzNCwwLDAsMCwxMTQsNDcsMCwwLDAsMTE0LDE0MCwKKyAgICAwLDAsMCwyMTgsMyw5NywxMDAsMTAwLDExNCwxMCwwLDAsMCwxMTQsOTIsMSwKKyAgICAwLDAsNDEsOSwxMTQsNzEsMCwwLDAsMTE0LDM1LDAsMCwwLDkwLDgsCisgICAgOTksMTExLDExMCwxMTYsMTAxLDExMCwxMTYsMTE1LDkwLDIxLDEwOCwxMTEsMTE5LDEwMSwxMTQsOTUsCisgICAgMTE1LDExNywxMDIsMTAyLDEwNSwxMjAsOTUsOTksMTExLDExMCwxMTYsMTAxLDExMCwxMTYsMTE1LDExNCwKKyAgICA3MSwxLDAsMCwxMTQsNjcsMCwwLDAsMTE0LDY1LDEsMCwwLDExNCw1NywKKyAgICAxLDAsMCw5MCw4LDExMCwxMDEsMTE5LDk1LDExMCw5NywxMDksMTAxLDExNCw0LDAsCisgICAgMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCw5NCwxLDAsCisgICAgMCwyMzcsNywwLDAsMTE1LDM0LDAsMCwwLDAsMiw5LDEsMywxLAorICAgIDMxLDEsMjIsMywxMSwzLDE4LDEsMTgsNyw5LDEsMTMsMSwyNCwxLAorICAgIDYsMSwyNywyLDYsMSwxNywxLDksMSwxOCwxLDEyMiwyMiw3MCwxMDUsCisgICAgMTA4LDEwMSw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDQ2LDk1LDEwMiwxMDUsMTA4LDEwOCw5NSw5OSwKKyAgICA5Nyw5OSwxMDQsMTAxLDk5LDEsMCwwLDAsMCwwLDAsMCwzLDAsMCwKKyAgICAwLDMsMCwwLDAsNywwLDAsMCwxMTUsMjUsMCwwLDAsMTM1LDAsCisgICAgMCwxMzUsMSwwLDEwMiwyLDAsMTAwLDEsMCwxMDAsMiwwLDEzNCwwLDAsCisgICAgMTI1LDIsMCwxMjQsMiwwLDgzLDQxLDMsOTcsMjAsMSwwLDAsNjUsMzIsCisgICAgOTksMTA4LDk3LDExNSwxMTUsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMzIsMTE5LDEwNCwxMDUsCisgICAgOTksMTA0LDMyLDExNCwxMDEsMTE2LDExNywxMTQsMTEwLDExNSwzMiw5NywzMiw5OSwxMDgsMTExLAorICAgIDExNSwxMTcsMTE0LDEwMSwzMiwxMTYsMTExLDMyLDExNywxMTUsMTAxLDMyLDExMSwxMTAsMzIsMTE1LAorICAgIDEyMSwxMTUsNDYsMTEyLDk3LDExNiwxMDQsOTUsMTA0LDExMSwxMTEsMTA3LDEwLDMyLDMyLDMyLAorICAgIDMyLDMyLDMyLDMyLDMyLDExOSwxMDQsMTA1LDk5LDEwNCwzMiwxMTksMTA1LDEwOCwxMDgsMzIsCisgICAgMTE0LDEwMSwxMTYsMTE3LDExNCwxMTAsMzIsOTcsMTEwLDMyLDEwNSwxMTAsMTE1LDExNiw5NywxMTAsCisgICAgOTksMTAxLDMyLDExNywxMTUsMTA1LDExMCwxMDMsMzIsMTE2LDEwNCwxMDEsMzIsMTE1LDExMiwxMDEsCisgICAgOTksMTA1LDEwMiwxMDUsMTAxLDEwMCwzMiwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDExNSwzMiw5NywKKyAgICAxMTAsMTAwLDMyLDExNiwxMDQsMTAxLDMyLDExMiw5NywxMTYsMTA0LDEwLDMyLDMyLDMyLDMyLAorICAgIDMyLDMyLDMyLDMyLDk5LDk3LDEwOCwxMDgsMTAxLDEwMCwzMiwxMTEsMTEwLDMyLDExNiwxMDQsCisgICAgMTAxLDMyLDk5LDEwOCwxMTEsMTE1LDExNywxMTQsMTAxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLAorICAgIDMyLDMyLDMyLDMyLDczLDEwMiwzMiwxMTYsMTA0LDEwMSwzMiwxMTIsOTcsMTE2LDEwNCwzMiwKKyAgICA5OSw5NywxMDgsMTA4LDEwMSwxMDAsMzIsMTExLDExMCwzMiwxMTYsMTA0LDEwMSwzMiw5OSwxMDgsCisgICAgMTExLDExNSwxMTcsMTE0LDEwMSwzMiwxMDUsMTE1LDMyLDExMCwxMTEsMTE2LDMyLDk3LDMyLDEwMCwKKyAgICAxMDUsMTE0LDEwMSw5OSwxMTYsMTExLDExNCwxMjEsNDQsMzIsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwKKyAgICA2OSwxMTQsMTE0LDExMSwxMTQsMzIsMTA1LDExNSwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwKKyAgICAzMiwxMTQsOTcsMTA1LDExNSwxMDEsMTAwLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLAorICAgIDMyLDMyLDk5LDEsMCwwLDAsMCwwLDAsMCwxLDAsMCwwLDQsCisgICAgMCwwLDAsMTksMCwwLDAsMTE1LDQzLDAsMCwwLDExNiwwLDAsMTI0LAorICAgIDAsMCwxMzEsMSwwLDExNSwzMCwwLDExNiwxLDAsMTAwLDEsMCwxMDAsMiwKKyAgICAwLDEyNCwwLDAsMTMxLDEsMSwxMzAsMSwwLDEzNiwwLDAsMTI0LDAsMCwKICAgICAxMzYsMSwwLDE0MCwxLDAsODMsNDEsMywxMjIsNDUsODAsOTcsMTE2LDEwNCwzMiwKICAgICAxMDQsMTExLDExMSwxMDcsMzIsMTAyLDExMSwxMTQsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LAogICAgIDEwNSw5OCw0NiwxMDksOTcsOTksMTA0LDEwNSwxMTAsMTAxLDExNCwxMjEsNDYsNzAsMTA1LDEwOCwKQEAgLTM3NTksMTcgKzM2ODIsMTcgQEAKICAgICAxMDUsMTE0LDEwMSw5OSwxMTYsMTExLDExNCwxMDUsMTAxLDExNSwzMiw5NywxMTQsMTAxLDMyLDExNSwKICAgICAxMTcsMTEyLDExMiwxMTEsMTE0LDExNiwxMDEsMTAwLDExNCwzNSwwLDAsMCw0MSwyLDExNCwKICAgICA0NiwwLDAsMCwxMTQsMTU0LDAsMCwwLDQxLDEsMTE0LDM1LDAsMCwwLAotICAgIDQxLDIsMTE0LDEyLDEsMCwwLDExNCw5MywxLDAsMCwxMTQsNCwwLDAsCisgICAgNDEsMiwxMTQsMTAsMSwwLDAsMTE0LDkzLDEsMCwwLDExNCw0LDAsMCwKICAgICAwLDExNCw1LDAsMCwwLDIxOCwyNCwxMTIsOTcsMTE2LDEwNCw5NSwxMDQsMTExLDExMSwKICAgICAxMDcsOTUsMTAyLDExMSwxMTQsOTUsNzAsMTA1LDEwOCwxMDEsNzAsMTA1LDExMCwxMDAsMTAxLDExNCwKLSAgICA1NCw4LDAsMCwxMTUsNiwwLDAsMCwwLDIsMTIsMSwyMSwxLDEyMiwKKyAgICAyMiw4LDAsMCwxMTUsNiwwLDAsMCwwLDIsMTIsMSwxOCwxLDEyMiwKICAgICA1NCw3MCwxMDUsMTA4LDEwMSw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDQ2LDExMiw5NywxMTYsMTA0LAogICAgIDk1LDEwNCwxMTEsMTExLDEwNyw0Niw2MCwxMDgsMTExLDk5LDk3LDEwOCwxMTUsNjIsNDYsMTEyLAogICAgIDk3LDExNiwxMDQsOTUsMTA0LDExMSwxMTEsMTA3LDk1LDEwMiwxMTEsMTE0LDk1LDcwLDEwNSwxMDgsCi0gICAgMTAxLDcwLDEwNSwxMTAsMTAwLDEwMSwxMTQsMTE0LDQsMCwwLDAsNDEsMywxMTQsMTIsCi0gICAgMSwwLDAsMTE0LDkzLDEsMCwwLDExNCwxMDAsMSwwLDAsMTE0LDQsMCwKLSAgICAwLDAsNDEsMiwxMTQsMTIsMSwwLDAsMTE0LDkzLDEsMCwwLDExNCw1LAotICAgIDAsMCwwLDIxOCw5LDExMiw5NywxMTYsMTA0LDk1LDEwNCwxMTEsMTExLDEwNyw0NCw4LAorICAgIDEwMSw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDExNCw0LDAsMCwwLDQxLDMsMTE0LDEwLAorICAgIDEsMCwwLDExNCw5MywxLDAsMCwxMTQsOTksMSwwLDAsMTE0LDQsMCwKKyAgICAwLDAsNDEsMiwxMTQsMTAsMSwwLDAsMTE0LDkzLDEsMCwwLDExNCw1LAorICAgIDAsMCwwLDIxOCw5LDExMiw5NywxMTYsMTA0LDk1LDEwNCwxMTEsMTExLDEwNywxMiw4LAogICAgIDAsMCwxMTUsNCwwLDAsMCwwLDEwLDIxLDYsMTIyLDIwLDcwLDEwNSwxMDgsCiAgICAgMTAxLDcwLDEwNSwxMTAsMTAwLDEwMSwxMTQsNDYsMTEyLDk3LDExNiwxMDQsOTUsMTA0LDExMSwxMTEsCiAgICAgMTA3LDk5LDEsMCwwLDAsMCwwLDAsMCwxLDAsMCwwLDIsMCwKQEAgLTM3NzgsMTUgKzM3MDEsMTUgQEAKICAgICA3MCwxMDUsMTA4LDEwMSw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDQwLDEyMywzMywxMTQsMTI1LDQxLAogICAgIDQxLDIsMTE0LDQ3LDAsMCwwLDExNCwzNSwwLDAsMCw0MSwxLDExNCw3MSwKICAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLAotICAgIDAsMCwxMTQsMTAxLDAsMCwwLDYyLDgsMCwwLDExNSwyLDAsMCwwLAorICAgIDAsMCwxMTQsMTAxLDAsMCwwLDMwLDgsMCwwLDExNSwyLDAsMCwwLAogICAgIDAsMSwxMjIsMTksNzAsMTA1LDEwOCwxMDEsNzAsMTA1LDExMCwxMDAsMTAxLDExNCw0Niw5NSwKICAgICA5NSwxMTQsMTAxLDExMiwxMTQsOTUsOTUsNDEsMTUsMTE0LDU3LDAsMCwwLDExNCw1NiwKICAgICAwLDAsMCwxMTQsNTgsMCwwLDAsMTE0LDU5LDAsMCwwLDExNCw3MiwwLAotICAgIDAsMCwxMTQsNzUsMSwwLDAsMTE0LDE3MywwLDAsMCwxMTQsMTUsMSwwLAotICAgIDAsMTE0LDE2NiwwLDAsMCwxMTQsODYsMSwwLDAsMTE0LDE0LDEsMCwwLAotICAgIDExNCw5NCwxLDAsMCwxMTQsMTksMSwwLDAsMTE0LDEwMSwxLDAsMCwxMTQsCisgICAgMCwwLDExNCw3NCwxLDAsMCwxMTQsMTczLDAsMCwwLDExNCwxMywxLDAsCisgICAgMCwxMTQsMTY2LDAsMCwwLDExNCw4NiwxLDAsMCwxMTQsMTIsMSwwLDAsCisgICAgMTE0LDk0LDEsMCwwLDExNCwxNywxLDAsMCwxMTQsMTAwLDEsMCwwLDExNCwKICAgICAxMDEsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsCi0gICAgMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDg3LDEsMCwwLDE3OCw3LDAsCisgICAgMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDg3LDEsMCwwLDE0Niw3LDAsCiAgICAgMCwxMTUsMjAsMCwwLDAsMTIsNyw2LDIsMTIsMTQsMTIsNCw2LDIsCiAgICAgMTIsMTIsMTIsNSwxNSw0NSwxMiwzMSwxOCwxOCwxMTQsODcsMSwwLDAsOTksCiAgICAgMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMiwwLDAsMCwKQEAgLTM4MDIsOCArMzcyNSw4IEBACiAgICAgMTA2LDEsMCwxMzEsMCwwLDEsMTAwLDEsMCw4Myw0MSwyLDEyMiwyNCw2NSwKICAgICA5OSwxMTMsMTE3LDEwNSwxMTQsMTAxLDMyLDExNiwxMDQsMTAxLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsCiAgICAgMTE2LDMyLDEwOCwxMTEsOTksMTA3LDQ2LDc4LDQxLDIsMTE0LDEwNiwwLDAsMCwxMTQsCi0gICAgNCwxLDAsMCw0MSwxLDExNCw3MSwwLDAsMCwxMTQsNCwwLDAsMCwKLSAgICAxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsNzUsMCwwLDAsNzIsCisgICAgMiwxLDAsMCw0MSwxLDExNCw3MSwwLDAsMCwxMTQsNCwwLDAsMCwKKyAgICAxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsNzUsMCwwLDAsNDAsCiAgICAgOCwwLDAsMTE1LDIsMCwwLDAsMCwyLDEyMiwyOCw5NSw3MywxMDksMTEyLAogICAgIDExMSwxMTQsMTE2LDc2LDExMSw5OSwxMDcsNjcsMTExLDExMCwxMTYsMTAxLDEyMCwxMTYsNDYsOTUsCiAgICAgOTUsMTAxLDExMCwxMTYsMTAxLDExNCw5NSw5NSw5OSw0LDAsMCwwLDAsMCwwLApAQCAtMzgxNyw1NjAgKzM3NDAsNTU1IEBACiAgICAgNzEsMCwwLDAsOTAsOCwxMDEsMTIwLDk5LDk1LDExNiwxMjEsMTEyLDEwMSw5MCw5LAogICAgIDEwMSwxMjAsOTksOTUsMTE4LDk3LDEwOCwxMTcsMTAxLDkwLDEzLDEwMSwxMjAsOTksOTUsMTE2LAogICAgIDExNCw5Nyw5OSwxMDEsOTgsOTcsOTksMTA3LDExNCw0LDAsMCwwLDExNCw0LDAsCi0gICAgMCwwLDExNCw1LDAsMCwwLDExNCw4MSwwLDAsMCw3Niw4LDAsMCwKKyAgICAwLDAsMTE0LDUsMCwwLDAsMTE0LDgxLDAsMCwwLDQ0LDgsMCwwLAogICAgIDExNSwyLDAsMCwwLDAsMiwxMjIsMjcsOTUsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwKICAgICA3NiwxMTEsOTksMTA3LDY3LDExMSwxMTAsMTE2LDEwMSwxMjAsMTE2LDQ2LDk1LDk1LDEwMSwxMjAsCiAgICAgMTA1LDExNiw5NSw5NSw3OCw0MSw2LDExNCw1NywwLDAsMCwxMTQsNTYsMCwwLAogICAgIDAsMTE0LDU4LDAsMCwwLDExNCw1OSwwLDAsMCwxMTQsNzUsMCwwLDAsCiAgICAgMTE0LDgxLDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCwKLSAgICA0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwxMDIsMSwwLDAsNjgsOCwKLSAgICAwLDAsMTE1LDYsMCwwLDAsMTIsMiw2LDIsMTIsNCwxMTQsMTAyLDEsCisgICAgNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMTAxLDEsMCwwLDM2LDgsCisgICAgMCwwLDExNSw2LDAsMCwwLDEyLDIsNiwyLDEyLDQsMTE0LDEwMSwxLAogICAgIDAsMCw5OSwzLDAsMCwwLDAsMCwwLDAsNSwwLDAsMCw0LAotICAgIDAsMCwwLDY3LDAsMCwwLDExNSw5MSwwLDAsMCwxMjQsMSwwLDEwNiwKKyAgICAwLDAsMCw2NywwLDAsMCwxMTUsODgsMCwwLDAsMTI0LDEsMCwxMDYsCiAgICAgMCwwLDEwMCwxLDAsMTI0LDIsMCwxMDAsMiwwLDI0LDEzMSwyLDAsMTI1LAogICAgIDMsMCwxMTYsMSwwLDEyNCwzLDAsMTMxLDEsMCwxMjQsMiwwLDEwNywwLAotICAgIDAsMTE0LDU1LDAsMTE2LDIsMCwxMDAsMywwLDEzMSwxLDAsMTMwLDEsMCwKLSAgICAxMTAsMCwwLDEyNCwzLDAsMTAwLDQsMCwyNSwxMjUsNCwwLDEyNCwwLDAsCi0gICAgMTE0LDg3LDAsMTAwLDUsMCwxMDYsMywwLDEyNCw0LDAsMTI0LDAsMCwxMzEsCi0gICAgMiwwLDgzLDEyNCw0LDAsODMsNDEsNiwxMjIsNTAsODIsMTAxLDExNSwxMTEsMTA4LAotICAgIDExOCwxMDEsMzIsOTcsMzIsMTE0LDEwMSwxMDgsOTcsMTE2LDEwNSwxMTgsMTAxLDMyLDEwOSwxMTEsCi0gICAgMTAwLDExNywxMDgsMTAxLDMyLDExMCw5NywxMDksMTAxLDMyLDExNiwxMTEsMzIsOTcsMTEwLDMyLAotICAgIDk3LDk4LDExNSwxMTEsMTA4LDExNywxMTYsMTAxLDMyLDExMSwxMTAsMTAxLDQ2LDExNCwxMTYsMCwKLSAgICAwLDAsMTE0LDI5LDAsMCwwLDEyMiw1MCw5NywxMTYsMTE2LDEwMSwxMDksMTEyLDExNiwKLSAgICAxMDEsMTAwLDMyLDExNCwxMDEsMTA4LDk3LDExNiwxMDUsMTE4LDEwMSwzMiwxMDUsMTA5LDExMiwxMTEsCi0gICAgMTE0LDExNiwzMiw5OCwxMDEsMTIxLDExMSwxMTAsMTAwLDMyLDExNiwxMTEsMTEyLDQ1LDEwOCwxMDEsCi0gICAgMTE4LDEwMSwxMDgsMzIsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDExNCw4NCwwLDAsMCwKLSAgICAxMjIsNSwxMjMsMTI1LDQ2LDEyMywxMjUsNDEsNCwxMTQsMzQsMCwwLDAsMTE0LDMxLAotICAgIDAsMCwwLDExNCwxMzMsMCwwLDAsMTE0LDQ3LDAsMCwwLDQxLDUsMTE0LAotICAgIDY3LDAsMCwwLDIxOCw3LDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSwyMTgsNSwxMDgsCi0gICAgMTAxLDExOCwxMDEsMTA4LDkwLDQsOTgsMTA1LDExNiwxMTUsMTE0LDEyOCwwLDAsMCwxMTQsCi0gICAgNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTMsCi0gICAgOTUsMTE0LDEwMSwxMTUsMTExLDEwOCwxMTgsMTAxLDk1LDExMCw5NywxMDksMTAxLDgxLDgsMCwKLSAgICAwLDExNSwxMCwwLDAsMCwwLDIsMjIsMSwxOCwxLDE1LDEsMTAsMSwKLSAgICAxMTQsMTA1LDEsMCwwLDk5LDMsMCwwLDAsMCwwLDAsMCw0LDAsCi0gICAgMCwwLDMsMCwwLDAsNjcsMCwwLDAsMTE1LDQ3LDAsMCwwLDEyNCwKLSAgICAwLDAsMTA2LDAsMCwxMjQsMSwwLDEyNCwyLDAsMTMxLDIsMCwxMjUsMywKLSAgICAwLDEyNCwzLDAsMTAwLDAsMCwxMDcsOCwwLDExNCwzNCwwLDEwMCwwLDAsCi0gICAgODMsMTE2LDEsMCwxMjQsMSwwLDEyNCwzLDAsMTMxLDIsMCw4Myw0MSwxLAotICAgIDc4LDQxLDIsMTE0LDE1LDEsMCwwLDExNCwxNzQsMCwwLDAsNDEsNCwxMTQsCi0gICAgNzgsMSwwLDAsMTE0LDY3LDAsMCwwLDExNCwzNSwwLDAsMCwxMTQsMTcwLAotICAgIDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsCi0gICAgMCwwLDIxOCwxNyw5NSwxMDIsMTA1LDExMCwxMDAsOTUsMTE1LDExMiwxMDEsOTksOTUsMTA4LAotICAgIDEwMSwxMDMsOTcsOTksMTIxLDkwLDgsMCwwLDExNSw4LDAsMCwwLDAsMywKLSAgICAxOCwxLDEyLDEsNCwxLDExNCwxMDYsMSwwLDAsOTksMywwLDAsMCwKLSAgICAwLDAsMCwwLDksMCwwLDAsMjYsMCwwLDAsNjcsMCwwLDAsCi0gICAgMTE1LDM0LDEsMCwwLDExNiwwLDAsMTA2LDEsMCwxMTUsMjgsMCwxMTYsMiwKLSAgICAwLDEwNiwzLDAsMTAwLDEsMCwxMTYsNCwwLDEzMSwyLDAsMSwxMTAsMCwKLSAgICAwLDEyNCwwLDAsMTE2LDAsMCwxMDYsNSwwLDEwNyw2LDAsMTI1LDMsMCwKLSAgICAxMjAsMjQwLDAsMTE2LDAsMCwxMDYsMSwwLDY4LDkzLDIyNSwwLDEyNSw0LDAsCi0gICAgMTE2LDYsMCwxMzEsMCwwLDE0Myw5MywwLDEsMTIxLDEzLDAsMTI0LDQsMCwKLSAgICAxMDYsNywwLDEyNSw1LDAsODcsMTEwLDU0LDAsNCwxMTYsOCwwLDEwNywxMCwKLSAgICAwLDExNCwxMzgsMCwxLDEsMSwxMTYsOSwwLDEyNCw0LDAsMTI0LDAsMCwKLSAgICAxMjQsMSwwLDEzMSwzLDAsMTI1LDYsMCwxMjQsNiwwLDEwMCwyLDAsMTA3LAotICAgIDgsMCwxMTQsMTM0LDAsMTE5LDUzLDAsMTEwLDAsMCw4OSwxMTAsMTksMCw4OCwKLSAgICAxMjQsNSwwLDEyNCwwLDAsMTI0LDEsMCwxMjQsMiwwLDEzMSwzLDAsMTI1LAotICAgIDYsMCw4NywxMDAsMiwwLDgxLDg4LDEyNCw2LDAsMTAwLDIsMCwxMDcsOSwKLSAgICAwLDExNCw1MywwLDEyNCwzLDAsMTIsMTE0LDE1LDEsMTI0LDAsMCwxMTYsMCwKLSAgICAwLDEwNiw1LDAsMTA3LDYsMCwxMTQsMTUsMSwxMTYsMCwwLDEwNiw1LDAsCi0gICAgMTI0LDAsMCwyNSwxMjUsNywwLDEyMSwxMywwLDEyNCw3LDAsMTA2LDEwLDAsCi0gICAgMTI1LDgsMCw4NywxMTAsMjIsMCw0LDExNiw4LDAsMTA3LDEwLDAsMTE0LDI0NywKLSAgICAwLDEsMSwxLDEyNCw2LDAsODMsODksMTEzLDE5LDEsODgsMTI0LDgsMCwKLSAgICAxMDAsMiwwLDEwNyw4LDAsMTE0LDgsMSwxMjQsNiwwLDgzLDEyNCw4LDAsCi0gICAgODMsMTEzLDIyLDEsMTI0LDYsMCw4MywxMTMsNTMsMCwxMTMsNTMsMCw4NywxMDAsCi0gICAgMiwwLDgzLDEwMCwyLDAsODMsNDEsMywxMjIsMjMsNzAsMTA1LDExMCwxMDAsMzIsCi0gICAgOTcsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzksMTE1LDMyLDEwOCwxMTEsOTcsMTAwLDEwMSwKLSAgICAxMTQsNDYsMTIyLDIyLDExNSwxMjEsMTE1LDQ2LDEwOSwxMDEsMTE2LDk3LDk1LDExMiw5NywxMTYsCi0gICAgMTA0LDMyLDEwNSwxMTUsMzIsMTAxLDEwOSwxMTIsMTE2LDEyMSw3OCw0MSwxMSwxMTQsNywwLAotICAgIDAsMCwyMTgsOSwxMDksMTAxLDExNiw5Nyw5NSwxMTIsOTcsMTE2LDEwNCwxMTQsMTY3LDAsCi0gICAgMCwwLDExNCwxNjgsMCwwLDAsMTE0LDE2OSwwLDAsMCwxMTQsNzMsMCwwLAotICAgIDAsMTE0LDEwMiwxLDAsMCwxMTQsMTQsMSwwLDAsMTE0LDIxMCwwLDAsMCwKLSAgICAxMTQsMTA2LDEsMCwwLDExNCwyMDksMCwwLDAsNDEsOSwxMTQsNjcsMCwwLAotICAgIDAsMTE0LDM1LDAsMCwwLDExNCwxMywxLDAsMCw5MCw5LDEwNSwxMTUsOTUsCi0gICAgMTE0LDEwMSwxMDgsMTExLDk3LDEwMCwxMTQsNzgsMSwwLDAsMTE0LDE0LDEsMCwwLAotICAgIDExNCwxNzgsMCwwLDAsMTE0LDE4MCwwLDAsMCwxMTQsMjA5LDAsMCwwLDExNCwKLSAgICA0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwxMCwKLSAgICA5NSwxMDIsMTA1LDExMCwxMDAsOTUsMTE1LDExMiwxMDEsOTksOTksOCwwLDAsMTE1LDQ4LAotICAgIDAsMCwwLDAsMiw5LDEsMTksNCwxNSwxLDE2LDEsMTAsMSwzLAotICAgIDEsMTMsMSwxMywxLDE4LDEsMTIsMSwxMSwyLDI0LDEsMTIsMiwyMiwKLSAgICAxLDEzLDEsMywxLDEzLDEsMTMsNCw5LDIsMTIsMSw0LDIsNywKLSAgICAyLDExLDIsMTE0LDEwOCwxLDAsMCw5OSwzLDAsMCwwLDAsMCwwLAotICAgIDAsNCwwLDAsMCw0LDAsMCwwLDY3LDAsMCwwLDExNSwxOTQsMCwKLSAgICAwLDAsMTE2LDAsMCwxMjQsMCwwLDExNiwxLDAsMTMxLDIsMCwxMTUsNDUsCi0gICAgMCwxMTYsMiwwLDEwMCwxLDAsMTA2LDMsMCwxMTYsNCwwLDEyNCwwLDAsCi0gICAgMTMxLDEsMCwxMzEsMSwwLDEzMSwxLDAsMTMwLDEsMCwxMTAsMCwwLDEyNCwKLSAgICAyLDAsMTAwLDIsMCwxMDcsMCwwLDExNCw3MiwwLDExNiw1LDAsMTAwLDMsCi0gICAgMCwxMzEsMSwwLDEzMCwxLDAsMTEwLDAsMCwxMjQsMSwwLDExNCwxNTYsMCwKLSAgICAxMTYsMCwwLDEyNCwxLDAsMTE2LDEsMCwxMzEsMiwwLDExNSwxMDgsMCwxMTYsCi0gICAgMiwwLDEwMCw0LDAsMTMxLDEsMCwxMzAsMSwwLDExMywxNTYsMCwxMjQsMSwKLSAgICAwLDExNiw2LDAsMTA2LDcsMCwxMDcsNywwLDExNCwxNTYsMCwxMDAsNSwwLAotICAgIDEyNSwzLDAsMTE2LDgsMCwxMjQsMywwLDEwNiwzLDAsMTI0LDEsMCwxMzEsCi0gICAgMSwwLDEzMSwxLDAsMTMwLDEsMCwxMTMsMTU2LDAsMTEwLDAsMCwxMjQsMCwKLSAgICAwLDEyLDExNCwxOTAsMCwxMjQsMiwwLDEwMCwyLDAsMTA3LDIsMCwxMTQsMTkwLAotICAgIDAsMTE2LDUsMCwxMDAsNiwwLDEzMSwxLDAsMTMwLDEsMCwxMTAsMCwwLAotICAgIDEwMCw3LDAsODMsNDEsOCwxMjIsMjgsODYsMTAxLDExNCwxMDUsMTAyLDEyMSwzMiw5NywKLSAgICAxMTQsMTAzLDExNywxMDksMTAxLDExMCwxMTYsMTE1LDMyLDk3LDExNCwxMDEsMzIsMzQsMTE1LDk3LAotICAgIDExMCwxMDEsMzQsNDYsMTIyLDMxLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDExMCw5NywxMDksCi0gICAgMTAxLDMyLDEwOSwxMTcsMTE1LDExNiwzMiw5OCwxMDEsMzIsMTE1LDExNiwxMTQsNDQsMzIsMTEwLAotICAgIDExMSwxMTYsMzIsMTIzLDEyNSwxMTQsODQsMCwwLDAsMTIyLDE4LDEwOCwxMDEsMTE4LDEwMSwKLSAgICAxMDgsMzIsMTA5LDExNywxMTUsMTE2LDMyLDk4LDEwMSwzMiw2Miw2MSwzMiw0OCwxMjIsMzEsCi0gICAgOTUsOTUsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDk1LDk1LDMyLDExMCwxMTEsMTE2LDMyLAotICAgIDExNSwxMDEsMTE2LDMyLDExNiwxMTEsMzIsOTcsMzIsMTE1LDExNiwxMTQsMTA1LDExMCwxMDMsMTIyLAotICAgIDYxLDgwLDk3LDExNCwxMDEsMTEwLDExNiwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMjMsCi0gICAgMzMsMTE0LDEyNSwzMiwxMTAsMTExLDExNiwzMiwxMDgsMTExLDk3LDEwMCwxMDEsMTAwLDQ0LDMyLAotICAgIDk5LDk3LDExMCwxMTAsMTExLDExNiwzMiwxMTIsMTAxLDExNCwxMDIsMTExLDExNCwxMDksMzIsMTE0LAotICAgIDEwMSwxMDgsOTcsMTE2LDEwNSwxMTgsMTAxLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEyMiwxNywKLSAgICA2OSwxMDksMTEyLDExNiwxMjEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTEwLDk3LDEwOSwKLSAgICAxMDEsNzgsNDEsOSwxMTQsMTkzLDAsMCwwLDExNCw4MywxLDAsMCwyMTgsOSwKLSAgICA4NCwxMjEsMTEyLDEwMSw2OSwxMTQsMTE0LDExMSwxMTQsMTE0LDQ3LDAsMCwwLDExNCw2NiwKLSAgICAwLDAsMCwxMTQsMTMzLDAsMCwwLDExNCw3LDAsMCwwLDExNCw3MywwLAotICAgIDAsMCwyMTgsMTEsODMsMTIxLDExNSwxMTYsMTAxLDEwOSw2OSwxMTQsMTE0LDExMSwxMTQsNDEsCi0gICAgNCwxMTQsNjcsMCwwLDAsMTE0LDEwMywxLDAsMCwxMTQsMTA0LDEsMCwwLAotICAgIDExNCwxNzIsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LAotICAgIDUsMCwwLDAsMjE4LDEzLDk1LDExNSw5NywxMTAsMTA1LDExNiwxMjEsOTUsOTksMTA0LAotICAgIDEwMSw5OSwxMDcsMTM5LDgsMCwwLDExNSwyNCwwLDAsMCwwLDIsMTUsMSwKLSAgICAzMCwxLDEyLDEsMTUsMSw2LDEsMTUsMSwxNSwxLDE1LDEsNiwyLAotICAgIDI3LDEsMTksMSwxMTQsMTExLDEsMCwwLDEyMiwxNiw3OCwxMTEsMzIsMTA5LDExMSwKLSAgICAxMDAsMTE3LDEwOCwxMDEsMzIsMTEwLDk3LDEwOSwxMDEsMTAwLDMyLDEyMiw0LDEyMywzMywxMTQsCi0gICAgMTI1LDk5LDIsMCwwLDAsMCwwLDAsMCw4LDAsMCwwLDEyLDAsCi0gICAgMCwwLDY3LDAsMCwwLDExNSw1MiwxLDAsMCwxMDAsMCwwLDEyNSwyLAotICAgIDAsMTI0LDAsMCwxMDYsMCwwLDEwMCwxLDAsMTMxLDEsMCwxMDAsMiwwLAotICAgIDI1LDEyNSwzLDAsMTI0LDMsMCwxMTQsMTc4LDAsMTI0LDMsMCwxMTYsMSwwLAotICAgIDEwNiwyLDAsMTA3LDcsMCwxMTQsNjIsMCwxMTYsMywwLDEyNCwxLDAsMTI0LAotICAgIDMsMCwxMzEsMiwwLDEsMTEwLDAsMCwxMjQsMCwwLDExNiwxLDAsMTA2LAotICAgIDIsMCwxMDcsNiwwLDExNCw4OCwwLDExNiwxLDAsMTA2LDIsMCwxMjQsMCwKLSAgICAwLDI1LDgzLDExNiwxLDAsMTA2LDIsMCwxMjQsMywwLDI1LDEyNSw0LDAsCi0gICAgMTIxLDEzLDAsMTI0LDQsMCwxMDYsNCwwLDEyNSwyLDAsODcsMTEzLDE3OCwwLAotICAgIDQsMTE2LDUsMCwxMDcsMTAsMCwxMTQsMTc0LDAsMSwxLDEsMTE2LDYsMCwKLSAgICAxMDAsMywwLDIzLDEwNiw3LDAsMTI0LDAsMCwxMjQsMywwLDEzMSwyLDAsCi0gICAgMTI1LDUsMCwxMTYsOCwwLDEyNCw1LDAsMTAwLDQsMCwxMjQsMCwwLDEzMSwKLSAgICAxLDEsMTMwLDEsMCw4OSwxMTMsMTc4LDAsODgsMTEwLDAsMCwxMTYsOSwwLAotICAgIDEyNCwwLDAsMTI0LDIsMCwxMzEsMiwwLDEyNSw2LDAsMTI0LDYsMCwxMDAsCi0gICAgMCwwLDEwNyw4LDAsMTE0LDIzNSwwLDExNiw4LDAsMTE2LDYsMCwxMDYsNywKLSAgICAwLDEyNCwwLDAsMTMxLDEsMCwxMDAsNCwwLDEyNCwwLDAsMTMxLDEsMSwKLSAgICAxMzAsMSwwLDExMCwxOCwwLDExNiwxMCwwLDEyNCw2LDAsMTMxLDEsMCwxMDYsCi0gICAgMTEsMCwxMzEsMCwwLDEyNSw3LDAsMTI0LDMsMCwxMTQsNDgsMSwxMTYsMSwKLSAgICAwLDEwNiwyLDAsMTI0LDMsMCwyNSwxMjUsNCwwLDExNiwxMiwwLDEyNCw0LAotICAgIDAsMTI0LDAsMCwxMDYsMCwwLDEwMCwxLDAsMTMxLDEsMCwxMDAsNSwwLAotICAgIDI1LDEyNCw3LDAsMTMxLDMsMCwxLDExMCwwLDAsMTI0LDcsMCw4Myw0MSwKLSAgICA2LDc4LDExNCwxMTYsMCwwLDAsMTE0LDg0LDAsMCwwLDEyMiwyMyw1OSwzMiwKLSAgICAxMjMsMzMsMTE0LDEyNSwzMiwxMDUsMTE1LDMyLDExMCwxMTEsMTE2LDMyLDk3LDMyLDExMiw5NywKLSAgICA5OSwxMDcsOTcsMTAzLDEwMSwxMTQsNjcsMCwwLDAsMTE0LDExNSwwLDAsMCw0MSwKLSAgICAxMywxMTQsMzIsMCwwLDAsMTE0LDcsMCwwLDAsMTE0LDczLDAsMCwwLAotICAgIDExNCwxMTQsMCwwLDAsMTE0LDI0NywwLDAsMCwxMTQsMjEwLDAsMCwwLDIxOCwKLSAgICA4LDk1LDY5LDgyLDgyLDk1LDc3LDgzLDcxLDExNCw0NywwLDAsMCwxMTQsMTU0LAotICAgIDAsMCwwLDExNCwxMDgsMSwwLDAsMTE0LDE3NSwwLDAsMCwxMTQsNywxLAotICAgIDAsMCwxMTQsNjEsMCwwLDAsNDEsOCwxMTQsNjcsMCwwLDAsMjE4LDcsCi0gICAgMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsOTUsMTE0LDM1LDAsMCwwLDExNCwyMzQsMCwwLAotICAgIDAsOTAsMTMsMTEyLDk3LDExNCwxMDEsMTEwLDExNiw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwKLSAgICAxMTQsMTcyLDAsMCwwLDExNCwxNzgsMCwwLDAsMTE0LDE4MCwwLDAsMCwxMTQsCi0gICAgNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMjMsCi0gICAgOTUsMTAyLDEwNSwxMTAsMTAwLDk1LDk3LDExMCwxMDAsOTUsMTA4LDExMSw5NywxMDAsOTUsMTE3LAotICAgIDExMCwxMDgsMTExLDk5LDEwNywxMDEsMTAwLDE1OSw4LDAsMCwxMTUsNDIsMCwwLDAsCi0gICAgMCwxLDYsMSwxOSwxLDYsMSwxNSwxLDE2LDIsMTUsMSwxMSwxLAotICAgIDEzLDEsMywxLDEzLDEsMTMsMSwyMiwxLDI2LDEsMTUsMSwxMiwxLAotICAgIDMwLDIsMTgsMSw2LDIsMTMsMSwzMiwxLDExNCwxMTQsMSwwLDAsOTksCi0gICAgMiwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsMTAsMCwwLDAsCi0gICAgNjcsMCwwLDAsMTE1LDM2LDAsMCwwLDExNiwwLDAsMTI0LDAsMCwxMzEsCi0gICAgMSwwLDE0MywxOCwwLDEsMTE2LDEsMCwxMjQsMCwwLDEyNCwxLDAsMTMxLAotICAgIDIsMCw4Myw4NywxMDAsMSwwLDgxLDg4LDEwMCwxLDAsODMsNDEsMiwxMjIsCi0gICAgNTQsNzAsMTA1LDExMCwxMDAsMzIsOTcsMTEwLDEwMCwzMiwxMDgsMTExLDk3LDEwMCwzMiwxMTYsCi0gICAgMTA0LDEwMSwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw0NCwzMiw5NywxMTAsMTAwLDMyLDExNCwKLSAgICAxMDEsMTA4LDEwMSw5NywxMTUsMTAxLDMyLDExNiwxMDQsMTAxLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsCi0gICAgMTE2LDMyLDEwOCwxMTEsOTksMTA3LDQ2LDc4LDQxLDIsMTE0LDEwMywwLDAsMCwxMTQsCi0gICAgMTE0LDEsMCwwLDQxLDIsMTE0LDY3LDAsMCwwLDExNCwxMTMsMSwwLDAsCisgICAgMCwxMTQsNTIsMCwxMTYsMiwwLDEwMCwzLDAsMTMxLDEsMCwxMzAsMSwwLAorICAgIDEyNCwzLDAsMTAwLDQsMCwyNSwxMjUsNCwwLDEyNCwwLDAsMTE0LDg0LDAsCisgICAgMTAwLDUsMCwxMDYsMywwLDEyNCw0LDAsMTI0LDAsMCwxMzEsMiwwLDgzLAorICAgIDEyNCw0LDAsODMsNDEsNiwxMjIsNTAsODIsMTAxLDExNSwxMTEsMTA4LDExOCwxMDEsMzIsCisgICAgOTcsMzIsMTE0LDEwMSwxMDgsOTcsMTE2LDEwNSwxMTgsMTAxLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsCisgICAgMTAxLDMyLDExMCw5NywxMDksMTAxLDMyLDExNiwxMTEsMzIsOTcsMTEwLDMyLDk3LDk4LDExNSwKKyAgICAxMTEsMTA4LDExNywxMTYsMTAxLDMyLDExMSwxMTAsMTAxLDQ2LDExNCwxMTYsMCwwLDAsMTE0LAorICAgIDI5LDAsMCwwLDEyMiw1MCw5NywxMTYsMTE2LDEwMSwxMDksMTEyLDExNiwxMDEsMTAwLDMyLAorICAgIDExNCwxMDEsMTA4LDk3LDExNiwxMDUsMTE4LDEwMSwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwzMiwKKyAgICA5OCwxMDEsMTIxLDExMSwxMTAsMTAwLDMyLDExNiwxMTEsMTEyLDQ1LDEwOCwxMDEsMTE4LDEwMSwxMDgsCisgICAgMzIsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDExNCw4NCwwLDAsMCwxMjIsNSwxMjMsCisgICAgMTI1LDQ2LDEyMywxMjUsNDEsNCwxMTQsMzQsMCwwLDAsMTE0LDMxLDAsMCwwLAorICAgIDExNCwxMzMsMCwwLDAsMTE0LDQ3LDAsMCwwLDQxLDUsMTE0LDY3LDAsMCwKKyAgICAwLDIxOCw3LDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSwyMTgsNSwxMDgsMTAxLDExOCwxMDEsCisgICAgMTA4LDkwLDQsOTgsMTA1LDExNiwxMTUsMTE0LDEyOCwwLDAsMCwxMTQsNCwwLDAsCisgICAgMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTMsOTUsMTE0LDEwMSwKKyAgICAxMTUsMTExLDEwOCwxMTgsMTAxLDk1LDExMCw5NywxMDksMTAxLDQ5LDgsMCwwLDExNSwxMCwKKyAgICAwLDAsMCwwLDIsMjIsMSwxOCwxLDEyLDEsMTAsMSwxMTQsMTA0LDEsCisgICAgMCwwLDk5LDMsMCwwLDAsMCwwLDAsMCw0LDAsMCwwLDMsCisgICAgMCwwLDAsNjcsMCwwLDAsMTE1LDQ3LDAsMCwwLDEyNCwwLDAsMTA2LAorICAgIDAsMCwxMjQsMSwwLDEyNCwyLDAsMTMxLDIsMCwxMjUsMywwLDEyNCwzLAorICAgIDAsMTAwLDAsMCwxMDcsOCwwLDExNCwzNCwwLDEwMCwwLDAsODMsMTE2LDEsCisgICAgMCwxMjQsMSwwLDEyNCwzLDAsMTMxLDIsMCw4Myw0MSwxLDc4LDQxLDIsCisgICAgMTE0LDEzLDEsMCwwLDExNCwxNzQsMCwwLDAsNDEsNCwxMTQsNzcsMSwwLAorICAgIDAsMTE0LDY3LDAsMCwwLDExNCwzNSwwLDAsMCwxMTQsMTcwLDAsMCwwLAogICAgIDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwKLSAgICAxNCw5NSwxMDIsMTA1LDExMCwxMDAsOTUsOTcsMTEwLDEwMCw5NSwxMDgsMTExLDk3LDEwMCwxODYsCi0gICAgOCwwLDAsMTE1LDQsMCwwLDAsMCwyLDEzLDEsMTE0LDExNSwxLDAsCi0gICAgMCw5OSwzLDAsMCwwLDAsMCwwLDAsNSwwLDAsMCw0LDAsCi0gICAgMCwwLDY3LDAsMCwwLDExNSwxNzIsMCwwLDAsMTE2LDAsMCwxMjQsMCwKLSAgICAwLDEyNCwxLDAsMTI0LDIsMCwxMzEsMywwLDEsMTI0LDIsMCwxMDAsMSwKLSAgICAwLDEwNyw0LDAsMTE0LDQ5LDAsMTE2LDEsMCwxMjQsMCwwLDEyNCwxLDAsCi0gICAgMTI0LDIsMCwxMzEsMywwLDEyNSwwLDAsMTEwLDAsMCwxMTYsMiwwLDEwNiwKLSAgICAzLDAsMTMxLDAsMCwxLDEyNCwwLDAsMTE2LDQsMCwxMDYsNSwwLDEwNywKLSAgICA3LDAsMTE0LDg3LDAsMTE2LDYsMCwxMjQsMCwwLDExNiw3LDAsMTMxLDIsCi0gICAgMCw4MywxMTYsNCwwLDEwNiw1LDAsMTI0LDAsMCwyNSwxMjUsMywwLDEyNCwKLSAgICAzLDAsMTAwLDIsMCwxMDcsOCwwLDExNCwxNTgsMCwxMTYsMiwwLDEwNiw4LAotICAgIDAsMTMxLDAsMCwxLDEwMCwzLDAsMTA2LDksMCwxMjQsMCwwLDEzMSwxLAotICAgIDAsMTI1LDQsMCwxMTYsMTAsMCwxMjQsNCwwLDEwMCw0LDAsMTI0LDAsMCwKLSAgICAxMzEsMSwxLDEzMCwxLDAsMTEwLDAsMCwxMTYsMTEsMCwxMjQsMCwwLDEzMSwKLSAgICAxLDAsMSwxMjQsMywwLDgzLDQxLDUsOTcsNTAsMSwwLDAsNzMsMTA5LAotICAgIDExMiwxMTEsMTE0LDExNiwzMiw5NywxMTAsMTAwLDMyLDExNCwxMDEsMTE2LDExNywxMTQsMTEwLDMyLAotICAgIDExNiwxMDQsMTAxLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDk4LDk3LDExNSwxMDEsMTAwLAotICAgIDMyLDExMSwxMTAsMzIsMTA1LDExNiwxMTUsMzIsMTEwLDk3LDEwOSwxMDEsNDQsMzIsMTE2LDEwNCwKLSAgICAxMDEsMzIsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDMyLDExNiwxMDQsMTAxLDMyLDk5LDk3LAotICAgIDEwOCwxMDgsMzIsMTA1LDExNSwxMCwzMiwzMiwzMiwzMiw5OCwxMDEsMTA1LDExMCwxMDMsMzIsCi0gICAgMTA5LDk3LDEwMCwxMDEsMzIsMTAyLDExNCwxMTEsMTA5LDQ0LDMyLDk3LDExMCwxMDAsMzIsMTE2LAotICAgIDEwNCwxMDEsMzIsMTA4LDEwMSwxMTgsMTAxLDEwOCwzMiw5NywxMDAsMTA2LDExNywxMTUsMTE2LDEwOSwKLSAgICAxMDEsMTEwLDExNiw0NiwxMCwxMCwzMiwzMiwzMiwzMiw4NCwxMDQsMTA1LDExNSwzMiwxMDIsCi0gICAgMTE3LDExMCw5OSwxMTYsMTA1LDExMSwxMTAsMzIsMTE0LDEwMSwxMTIsMTE0LDEwMSwxMTUsMTAxLDExMCwKLSAgICAxMTYsMTE1LDMyLDExNiwxMDQsMTAxLDMyLDEwMywxMTQsMTAxLDk3LDExNiwxMDEsMTE1LDExNiwzMiwKLSAgICA5OSwxMTEsMTA5LDEwOSwxMTEsMTEwLDMyLDEwMCwxMDEsMTEwLDExMSwxMDksMTA1LDExMCw5NywxMTYsCi0gICAgMTExLDExNCwzMiwxMTEsMTAyLDMyLDEwMiwxMTcsMTEwLDk5LDExNiwxMDUsMTExLDExMCw5NywxMDgsCi0gICAgMTA1LDExNiwxMjEsMTAsMzIsMzIsMzIsMzIsOTgsMTAxLDExNiwxMTksMTAxLDEwMSwxMTAsMzIsCi0gICAgMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsOTcsMTEwLAotICAgIDEwMCwzMiw5NSw5NSwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiw5NSw5NSw0NiwzMiw4NCwxMDQsCi0gICAgMTA1LDExNSwzMiwxMDUsMTEwLDk5LDEwOCwxMTcsMTAwLDEwMSwxMTUsMzIsMTE1LDEwMSwxMTYsMTE2LAotICAgIDEwNSwxMTAsMTAzLDMyLDk1LDk1LDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSw5NSw5NSwzMiwKLSAgICAxMDUsMTAyLDEwLDMyLDMyLDMyLDMyLDExNiwxMDQsMTAxLDMyLDEwOCwxMTEsOTcsMTAwLDEwMSwKLSAgICAxMTQsMzIsMTAwLDEwNSwxMDAsMzIsMTEwLDExMSwxMTYsNDYsMTAsMTAsMzIsMzIsMzIsMzIsCi0gICAgMTE0LDg0LDAsMCwwLDc4LDEyMiw0MCwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwzMiwxMTEsCi0gICAgMTAyLDMyLDEyMywxMjUsMzIsMTA0LDk3LDEwOCwxMTYsMTAxLDEwMCw1OSwzMiw3OCwxMTEsMTEwLAotICAgIDEwMSwzMiwxMDUsMTEwLDMyLDExNSwxMjEsMTE1LDQ2LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNSwKLSAgICAxMTQsNjcsMCwwLDAsNDEsMTIsMTE0LDExMSwxLDAsMCwxMTQsMTA1LDEsMCwKLSAgICAwLDExNCwxMDYsMCwwLDAsMTE0LDQsMSwwLDAsMTE0LDcsMCwwLDAsCi0gICAgMTE0LDczLDAsMCwwLDExNCwxMTUsMSwwLDAsMjE4LDExLDk1LDEwMyw5OSwxMDAsCi0gICAgOTUsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTE0LDEwNywwLDAsMCwxMTQsNDcsMCwwLAotICAgIDAsMTE0LDE1NCwwLDAsMCwxMTQsMTEyLDAsMCwwLDQxLDUsMTE0LDY3LDAsCi0gICAgMCwwLDExNCwxMDMsMSwwLDAsMTE0LDEwNCwxLDAsMCwxMTQsMTgwLDAsMCwKLSAgICAwLDExNCwxNTIsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsCi0gICAgMTE0LDUsMCwwLDAsMTE0LDExNiwxLDAsMCwxOTIsOCwwLDAsMTE1LDI4LAotICAgIDAsMCwwLDAsOSwxNiwxLDEyLDEsMjEsMSwxMCwxLDE1LDEsMTMsCi0gICAgMSwxMywxLDEyLDEsMTAsMSw2LDEsOSwxLDIxLDEsMTAsMSwxMTQsCi0gICAgMTE2LDEsMCwwLDk5LDMsMCwwLDAsMCwwLDAsMCw2LDAsMCwKLSAgICAwLDE3LDAsMCwwLDY3LDAsMCwwLDExNSwxLDEsMCwwLDExNiwwLAotICAgIDAsMTI0LDAsMCwxMDAsMSwwLDEzMSwyLDAsMTE0LDI1MywwLDEwMCwyLDAsCi0gICAgMTI0LDEsMCwxMDcsNiwwLDExNCw4OSwwLDExNiwxLDAsMTI0LDEsMCwxMzEsCi0gICAgMSwwLDEyNSwxLDAsMTI0LDEsMCwxMDYsMiwwLDEwMCwyLDAsMTMxLDEsCi0gICAgMCwxLDExNiwwLDAsMTI0LDAsMCwxMDAsMywwLDEzMSwyLDAsMTE0LDg5LAotICAgIDAsMTI0LDEsMCwxMDYsMywwLDEyNCwwLDAsMTA2LDQsMCwxMzEsMSwwLAotICAgIDEsMTEzLDg5LDAsMTEwLDAsMCwxMjAsMTYxLDAsMTI0LDEsMCw2OCw5MywxNTAsCi0gICAgMCwxMjUsMywwLDExNiwwLDAsMTI0LDAsMCwxMjQsMywwLDEzMSwyLDAsCi0gICAgMTE1LDk2LDAsMTAwLDQsMCwxMDYsNSwwLDEyNCwwLDAsMTA2LDYsMCwxMjQsCi0gICAgMywwLDEzMSwyLDAsMTI1LDQsMCwxMjEsMTcsMCwxMTYsNywwLDEyNCwyLAotICAgIDAsMTI0LDQsMCwxMzEsMiwwLDEsODcsMTEzLDI0NiwwLDQsMTE2LDgsMCwKLSAgICAxMDcsMTAsMCwxMTQsMjQyLDAsMSwxMjUsNSwwLDEsMTIyLDUzLDAsMTE2LDksCi0gICAgMCwxMjQsNSwwLDEzMSwxLDAsMTA2LDEwLDAsMTE2LDExLDAsMTMxLDEsMCwKLSAgICAxMTQsMjIxLDAsMTI0LDUsMCwxMDYsMTIsMCwxMjQsNCwwLDEwNywyLDAsMTE0LAotICAgIDIyMSwwLDExOSw5NiwwLDExMywyMjEsMCwxMTAsMCwwLDEzMCwwLDAsODcsODksCi0gICAgMTAwLDUsMCwxMDAsNSwwLDEyNSw1LDAsMTI2LDUsMCw4OCwxMTMsMjQ2LDAsCi0gICAgODgsMTEzLDk2LDAsMTEzLDk2LDAsODcsMTEwLDAsMCwxMjQsMCwwLDgzLDQxLAotICAgIDYsMTIyLDIzOCw3MCwxMDUsMTAzLDExNywxMTQsMTAxLDMyLDExMSwxMTcsMTE2LDMyLDExOSwxMDQsCi0gICAgOTcsMTE2LDMyLDk1LDk1LDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDk1LDk1LDMyLDExNSwxMDQsCi0gICAgMTExLDExNywxMDgsMTAwLDMyLDExNCwxMDEsMTE2LDExNywxMTQsMTEwLDQ2LDEwLDEwLDMyLDMyLAotICAgIDMyLDMyLDg0LDEwNCwxMDEsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsOTUsMzIsMTEyLDk3LAotICAgIDExNCw5NywxMDksMTAxLDExNiwxMDEsMTE0LDMyLDEwNSwxMTUsMzIsOTcsMzIsOTksOTcsMTA4LAotICAgIDEwOCw5Nyw5OCwxMDgsMTAxLDMyLDExOSwxMDQsMTA1LDk5LDEwNCwzMiwxMTYsOTcsMTA3LDEwMSwKLSAgICAxMTUsMzIsMTE2LDEwNCwxMDEsMzIsMTEwLDk3LDEwOSwxMDEsMzIsMTExLDEwMiwzMiwxMDksMTExLAotICAgIDEwMCwxMTcsMTA4LDEwMSwzMiwxMTYsMTExLDEwLDMyLDMyLDMyLDMyLDEwNSwxMDksMTEyLDExMSwKLSAgICAxMTQsMTE2LDQ2LDMyLDczLDExNiwzMiwxMDUsMTE1LDMyLDExNCwxMDEsMTEzLDExNywxMDUsMTE0LAotICAgIDEwMSwxMDAsMzIsMTE2LDExMSwzMiwxMDAsMTAxLDk5LDExMSwxMTcsMTEyLDEwOCwxMDEsMzIsMTE2LAotICAgIDEwNCwxMDEsMzIsMTAyLDExNywxMTAsOTksMTE2LDEwNSwxMTEsMTEwLDMyLDEwMiwxMTQsMTExLDEwOSwKLSAgICAzMiw5NywxMTUsMTE1LDExNywxMDksMTA1LDExMCwxMDMsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsCi0gICAgMTA4LDEwNSw5OCwzOSwxMTUsMTAsMzIsMzIsMzIsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsCi0gICAgMzIsMTA1LDEwOSwxMTIsMTA4LDEwMSwxMDksMTAxLDExMCwxMTYsOTcsMTE2LDEwNSwxMTEsMTEwLDMyLAotICAgIDEwNSwxMTUsMzIsMTAwLDEwMSwxMTUsMTA1LDExNCwxMDEsMTAwLDQ2LDEwLDEwLDMyLDMyLDMyLAotICAgIDMyLDExNCwyNDcsMCwwLDAsMjUwLDEsNDIsMjE4LDcsOTUsOTUsOTcsMTA4LDEwOCwKLSAgICA5NSw5NSwxMjIsNSwxMjMsMTI1LDQ2LDEyMywxMjUsNzgsNDEsMTMsMTE0LDYwLDAsMCwKLSAgICAwLDExNCwyNDYsMCwwLDAsMjE4LDYsMTE0LDEwMSwxMDksMTExLDExOCwxMDEsMTE0LDE5OCwKLSAgICAwLDAsMCwxMTQsMTE4LDEsMCwwLDExNCw0NywwLDAsMCwxMTQsNTcsMCwKLSAgICAwLDAsMTE0LDExNCwwLDAsMCwxMTQsMTU0LDAsMCwwLDExNCw4MywxLDAsCi0gICAgMCwxMTQsOSwwLDAsMCwyMTgsMTUsOTUsNjksODIsODIsOTUsNzcsODMsNzEsCi0gICAgOTUsODAsODIsNjksNzAsNzMsODgsMTE0LDY3LDAsMCwwLDQxLDYsMTE0LDE4MCwKLSAgICAwLDAsMCwyMTgsOCwxMDIsMTE0LDExMSwxMDksMTA4LDEwNSwxMTUsMTE2LDExNCwxMTMsMSwKLSAgICAwLDAsMTE0LDE2LDAsMCwwLDkwLDksMTAyLDExNCwxMTEsMTA5LDk1LDExMCw5NywKLSAgICAxMDksMTAxLDExNCw0MSwxLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsCi0gICAgMCwxMTQsNSwwLDAsMCwyMTgsMTYsOTUsMTA0LDk3LDExMCwxMDAsMTA4LDEwMSw5NSwKLSAgICAxMDIsMTE0LDExMSwxMDksMTA4LDEwNSwxMTUsMTE2LDIxNiw4LDAsMCwxMTUsMzQsMCwwLAotICAgIDAsMCwxMCwxNSwxLDEyLDEsMTIsMSwxMywxLDE1LDEsMjIsMSwxMywKLSAgICAxLDE1LDEsMjEsMSwzLDEsMTcsMSwxOCw0LDIxLDEsMTUsMSw5LAotICAgIDEsMzIsMSwxMTQsMTIyLDEsMCwwLDk5LDEsMCwwLDAsMCwwLDAsCi0gICAgMCwyLDAsMCwwLDIsMCwwLDAsNjcsMCwwLDAsMTE1LDc4LDAsCi0gICAgMCwwLDEyNCwwLDAsMTA2LDAsMCwxMDAsMSwwLDEzMSwxLDAsMTI1LDEsCi0gICAgMCwxMjQsMSwwLDEwMCwyLDAsMTA3LDgsMCwxMTQsNzQsMCwxMjQsMCwwLAotICAgIDEwMCwzLDAsMjUsMTI1LDEsMCwxMDAsNCwwLDEyNCwwLDAsMTA3LDcsMCwKLSAgICAxMTQsNzQsMCwxMjQsMSwwLDEwNiwxLDAsMTAwLDUsMCwxMzEsMSwwLDEwMCwKLSAgICA2LDAsMjUsMTI1LDEsMCwxMTMsNzQsMCwxMTAsMCwwLDEyNCwxLDAsODMsCi0gICAgNDEsNywxMjIsMTY3LDY3LDk3LDEwOCw5OSwxMTcsMTA4LDk3LDExNiwxMDEsMzIsMTE5LDEwNCwKLSAgICA5NywxMTYsMzIsOTUsOTUsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDk1LDk1LDMyLDExNSwKLSAgICAxMDQsMTExLDExNywxMDgsMTAwLDMyLDk4LDEwMSw0NiwxMCwxMCwzMiwzMiwzMiwzMiw5NSwKLSAgICA5NSwxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsOTUsOTUsMzIsMTA1LDExNSwzMiwxMTAsMTExLAotICAgIDExNiwzMiwxMDMsMTE3LDk3LDExNCw5NywxMTAsMTE2LDEwMSwxMDEsMTAwLDMyLDExNiwxMTEsMzIsCi0gICAgOTgsMTAxLDMyLDEwMCwxMDEsMTAyLDEwNSwxMTAsMTAxLDEwMCwzMiwxMTEsMTE0LDMyLDk5LDExMSwKLSAgICAxMTcsMTA4LDEwMCwzMiw5OCwxMDEsMzIsMTE1LDEwMSwxMTYsMzIsMTE2LDExMSwzMiw3OCwxMTEsCi0gICAgMTEwLDEwMSwxMCwzMiwzMiwzMiwzMiwxMTYsMTExLDMyLDExNCwxMDEsMTEyLDExNCwxMDEsMTE1LAotICAgIDEwMSwxMTAsMTE2LDMyLDExNiwxMDQsOTcsMTE2LDMyLDEwNSwxMTYsMTE1LDMyLDExMiwxMTQsMTExLAotICAgIDExMiwxMDEsMTE0LDMyLDExOCw5NywxMDgsMTE3LDEwMSwzMiwxMDUsMTE1LDMyLDExNywxMTAsMTA3LAotICAgIDExMCwxMTEsMTE5LDExMCw0NiwxMCwxMCwzMiwzMiwzMiwzMiwxMTQsMjUxLDAsMCwwLAotICAgIDc4LDExNCw1NywwLDAsMCwxMTQsMjQ3LDAsMCwwLDExNCwxMTYsMCwwLDAsCi0gICAgMTE0LDg0LDAsMCwwLDQxLDIsMTE0LDkzLDAsMCwwLDExNCwzMiwwLDAsCi0gICAgMCw0MSwyLDIxOCw3LDEwMywxMDgsMTExLDk4LDk3LDEwOCwxMTUsMTE0LDEwMywxLDAsCi0gICAgMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwKLSAgICAyMTgsMTcsOTUsOTksOTcsMTA4LDk5LDk1LDk1LDk1LDExMiw5Nyw5OSwxMDcsOTcsMTAzLAotICAgIDEwMSw5NSw5NSwyNDgsOCwwLDAsMTE1LDEyLDAsMCwwLDAsNywxNSwxLAotICAgIDEyLDEsMTAsMSwxMiwxLDI1LDEsMTE0LDEyNCwxLDAsMCw5OSwwLDAsCi0gICAgMCwwLDAsMCwwLDAsMywwLDAsMCwzLDAsMCwwLDY3LDAsCi0gICAgMCwwLDExNSw1NSwwLDAsMCwxMTYsMCwwLDExNiwxLDAsMTA2LDIsMCwKLSAgICAxMzEsMCwwLDEwMiwyLDAsMTI1LDAsMCwxMTYsMywwLDExNiw0LDAsMTAyLAotICAgIDIsMCwxMjUsMSwwLDExNiw1LDAsMTE2LDYsMCwxMDIsMiwwLDEyNSwyLAotICAgIDAsMTI0LDAsMCwxMjQsMSwwLDEyNCwyLDAsMTAzLDMsMCw4Myw0MSwxLAotICAgIDEyMiw5NSw4MiwxMDEsMTE2LDExNywxMTQsMTEwLDExNSwzMiw5NywzMiwxMDgsMTA1LDExNSwxMTYsCi0gICAgMzIsMTExLDEwMiwzMiwxMDIsMTA1LDEwOCwxMDEsNDUsOTgsOTcsMTE1LDEwMSwxMDAsMzIsMTA5LAotICAgIDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTA4LDExMSw5NywxMDAsMTAxLDExNCwxMTUsNDYsMTAsMTAsCi0gICAgMzIsMzIsMzIsMzIsNjksOTcsOTksMTA0LDMyLDEwNSwxMTYsMTAxLDEwOSwzMiwxMDUsMTE1LAotICAgIDMyLDk3LDMyLDExNiwxMTcsMTEyLDEwOCwxMDEsMzIsNDAsMTA4LDExMSw5NywxMDAsMTAxLDExNCwKLSAgICA0NCwzMiwxMTUsMTE3LDEwMiwxMDIsMTA1LDEyMCwxMDEsMTE1LDQxLDQ2LDEwLDMyLDMyLDMyLAotICAgIDMyLDQxLDcsMTE0LDU3LDEsMCwwLDExNCwxMDYsMCwwLDAsMjE4LDE4LDEwMSwKLSAgICAxMjAsMTE2LDEwMSwxMTAsMTE1LDEwNSwxMTEsMTEwLDk1LDExNSwxMTcsMTAyLDEwMiwxMDUsMTIwLDEwMSwKLSAgICAxMTUsMTE0LDksMSwwLDAsMTE0LDEzNSwwLDAsMCwxMTQsOCwxLDAsMCwKLSAgICAxMTQsMjMzLDAsMCwwLDQxLDMsOTAsMTAsMTAxLDEyMCwxMTYsMTAxLDExMCwxMTUsMTA1LAotICAgIDExMSwxMTAsMTE1LDkwLDYsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSw5MCw4LDk4LDEyMSwxMTYsCi0gICAgMTAxLDk5LDExMSwxMDAsMTAxLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCwKLSAgICA1LDAsMCwwLDExNCwyNDEsMCwwLDAsNyw5LDAsMCwxMTUsOCwwLAotICAgIDAsMCwwLDUsMTgsMSwxMiwxLDEyLDEsMTE0LDI0MSwwLDAsMCw5OSwKLSAgICA1LDAsMCwwLDAsMCwwLDAsOSwwLDAsMCw1LDAsMCwwLAotICAgIDY3LDAsMCwwLDExNSwyMjcsMCwwLDAsMTI0LDQsMCwxMDAsMSwwLDEwNywKLSAgICAyLDAsMTE0LDI3LDAsMTE2LDAsMCwxMjQsMCwwLDEzMSwxLDAsMTI1LDUsCi0gICAgMCwxMTAsNTQsMCwxMjQsMSwwLDEwMCwyLDAsMTA3LDksMCwxMTQsNDUsMCwKLSAgICAxMjQsMSwwLDExMCwzLDAsMTA1LDAsMCwxMjUsNiwwLDExNiwxLDAsMTI0LAotICAgIDYsMCwxMzEsMSwwLDEyNSw3LDAsMTE2LDAsMCwxMjQsMCwwLDEyNCw3LAotICAgIDAsMTI0LDQsMCwxMzEsMywwLDEyNSw1LDAsMTI0LDMsMCwxMTUsMjA3LDAsCi0gICAgMTI0LDQsMCwxMDAsMSwwLDEwNywyLDAsMTE0LDEyMiwwLDExNiwwLDAsMTI0LAorICAgIDE3LDk1LDEwMiwxMDUsMTEwLDEwMCw5NSwxMTUsMTEyLDEwMSw5OSw5NSwxMDgsMTAxLDEwMyw5NywKKyAgICA5OSwxMjEsNTgsOCwwLDAsMTE1LDgsMCwwLDAsMCwzLDE4LDEsMTIsCisgICAgMSw0LDEsMTE0LDEwNSwxLDAsMCw5OSwzLDAsMCwwLDAsMCwwLAorICAgIDAsOSwwLDAsMCwyNiwwLDAsMCw2NywwLDAsMCwxMTUsNDEsMSwKKyAgICAwLDAsMTE2LDAsMCwxMDYsMSwwLDEwMCwxLDAsMTA3LDksMCwxMTQsNDEsCisgICAgMCwxMTYsMCwwLDEwNiwxLDAsMTIsMTE0LDQxLDAsMTE2LDIsMCwxMDYsMywKKyAgICAwLDEwMCwyLDAsMTE2LDQsMCwxMzEsMiwwLDEsMTI0LDAsMCwxMTYsMCwKKyAgICAwLDEwNiw1LDAsMTA3LDYsMCwxMjUsMywwLDEyMCwyMzQsMCwxMTYsMCwwLAorICAgIDEwNiwxLDAsNjgsOTMsMjE5LDAsMTI1LDQsMCwxMTYsNiwwLDEzMSwwLDAsCisgICAgMTQzLDkwLDAsMSwxMjEsMTMsMCwxMjQsNCwwLDEwNiw3LDAsMTI1LDUsMCwKKyAgICA4NywxMTAsNTEsMCw0LDExNiw4LDAsMTA3LDEwLDAsMTE0LDE0OCwwLDEsMSwKKyAgICAxLDExNiw5LDAsMTI0LDQsMCwxMjQsMCwwLDEyNCwxLDAsMTMxLDMsMCwKKyAgICAxMjUsNiwwLDEyNCw2LDAsMTAwLDEsMCwxMDcsOCwwLDExNCwxNDQsMCwxMTksCisgICAgNjYsMCw4OSwxMTAsMTksMCw4OCwxMjQsNSwwLDEyNCwwLDAsMTI0LDEsMCwKKyAgICAxMjQsMiwwLDEzMSwzLDAsMTI1LDYsMCw4NywxMDAsMSwwLDgxLDg4LDEyNCwKKyAgICA2LDAsMTAwLDEsMCwxMDcsOSwwLDExNCw2NiwwLDEyNCwzLDAsMTIsMTE0LAorICAgIDI1LDEsMTI0LDAsMCwxMTYsMCwwLDEwNiw1LDAsMTA3LDYsMCwxMTQsMjUsCisgICAgMSwxMTYsMCwwLDEwNiw1LDAsMTI0LDAsMCwyNSwxMjUsNywwLDEyMSwxMywKKyAgICAwLDEyNCw3LDAsMTA2LDEwLDAsMTI1LDgsMCw4NywxMTAsMjIsMCw0LDExNiwKKyAgICA4LDAsMTA3LDEwLDAsMTE0LDEsMSwxLDEsMSwxMjQsNiwwLDgzLDg5LAorICAgIDExMywyOSwxLDg4LDEyNCw4LDAsMTAwLDEsMCwxMDcsOCwwLDExNCwxOCwxLAorICAgIDEyNCw2LDAsODMsMTI0LDgsMCw4MywxMTMsNjYsMCwxMjQsNiwwLDgzLDExMywKKyAgICA2NiwwLDg3LDEwMCwxLDAsODMsMTAwLDEsMCw4Myw0MSwzLDEyMiwyMyw3MCwKKyAgICAxMDUsMTEwLDEwMCwzMiw5NywzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzOSwxMTUsMzIsMTA4LAorICAgIDExMSw5NywxMDAsMTAxLDExNCw0Niw3OCwxMjIsMjIsMTE1LDEyMSwxMTUsNDYsMTA5LDEwMSwxMTYsCisgICAgOTcsOTUsMTEyLDk3LDExNiwxMDQsMzIsMTA1LDExNSwzMiwxMDEsMTA5LDExMiwxMTYsMTIxLDQxLAorICAgIDExLDExNCw3LDAsMCwwLDIxOCw5LDEwOSwxMDEsMTE2LDk3LDk1LDExMiw5NywxMTYsCisgICAgMTA0LDExNCwxNjcsMCwwLDAsMTE0LDE2OCwwLDAsMCwxMTQsMTY5LDAsMCwwLAorICAgIDExNCw3MywwLDAsMCwxMTQsMTAxLDEsMCwwLDExNCwxMiwxLDAsMCwxMTQsCisgICAgMjA4LDAsMCwwLDExNCwxMDUsMSwwLDAsMTE0LDIwNywwLDAsMCw0MSw5LAorICAgIDExNCw2NywwLDAsMCwxMTQsMzUsMCwwLDAsMTE0LDExLDEsMCwwLDkwLAorICAgIDksMTA1LDExNSw5NSwxMTQsMTAxLDEwOCwxMTEsOTcsMTAwLDExNCw3NywxLDAsMCwxMTQsCisgICAgMTIsMSwwLDAsMTE0LDE3NywwLDAsMCwxMTQsMTc4LDAsMCwwLDExNCwyMDcsCisgICAgMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwKKyAgICAwLDAsMjE4LDEwLDk1LDEwMiwxMDUsMTEwLDEwMCw5NSwxMTUsMTEyLDEwMSw5OSw2Nyw4LAorICAgIDAsMCwxMTUsNDgsMCwwLDAsMCwyLDI1LDEsMTYsNCwxNSwxLDE2LAorICAgIDEsMTAsMSwzLDEsMTMsMSwxMywxLDE4LDEsMTIsMSw4LDIsMjQsCisgICAgMSwxMiwyLDIyLDEsMTMsMSwzLDEsMTMsMSwxMyw0LDksMiwxMiwKKyAgICAxLDQsMiw3LDIsOCwyLDExNCwxMDcsMSwwLDAsOTksMywwLDAsCisgICAgMCwwLDAsMCwwLDQsMCwwLDAsNCwwLDAsMCw2NywwLDAsCisgICAgMCwxMTUsMTc5LDAsMCwwLDExNiwwLDAsMTI0LDAsMCwxMTYsMSwwLDEzMSwKKyAgICAyLDAsMTE1LDQyLDAsMTE2LDIsMCwxMDAsMSwwLDEwNiwzLDAsMTE2LDQsCisgICAgMCwxMjQsMCwwLDEzMSwxLDAsMTMxLDEsMCwxMzEsMSwwLDEzMCwxLDAsCisgICAgMTI0LDIsMCwxMDAsMiwwLDEwNywwLDAsMTE0LDY2LDAsMTE2LDUsMCwxMDAsCisgICAgMywwLDEzMSwxLDAsMTMwLDEsMCwxMjQsMSwwLDExNCwxNDQsMCwxMTYsMCwKKyAgICAwLDEyNCwxLDAsMTE2LDEsMCwxMzEsMiwwLDExNSwxMDIsMCwxMTYsMiwwLAorICAgIDEwMCw0LDAsMTMxLDEsMCwxMzAsMSwwLDExMCw0MiwwLDEyNCwxLDAsMTE2LAorICAgIDYsMCwxMDYsNywwLDEwNyw3LDAsMTE0LDE0NCwwLDEwMCw1LDAsMTI1LDMsCisgICAgMCwxMTYsOCwwLDEyNCwzLDAsMTA2LDMsMCwxMjQsMSwwLDEzMSwxLDAsCisgICAgMTMxLDEsMCwxMzAsMSwwLDEyNCwwLDAsMTIsMTE0LDE3NSwwLDEyNCwyLDAsCisgICAgMTAwLDIsMCwxMDcsMiwwLDExNCwxNzUsMCwxMTYsNSwwLDEwMCw2LDAsMTMxLAorICAgIDEsMCwxMzAsMSwwLDEwMCw3LDAsODMsNDEsOCwxMjIsMjgsODYsMTAxLDExNCwKKyAgICAxMDUsMTAyLDEyMSwzMiw5NywxMTQsMTAzLDExNywxMDksMTAxLDExMCwxMTYsMTE1LDMyLDk3LDExNCwKKyAgICAxMDEsMzIsMzQsMTE1LDk3LDExMCwxMDEsMzQsNDYsMTIyLDMxLDEwOSwxMTEsMTAwLDExNywxMDgsCisgICAgMTAxLDMyLDExMCw5NywxMDksMTAxLDMyLDEwOSwxMTcsMTE1LDExNiwzMiw5OCwxMDEsMzIsMTE1LAorICAgIDExNiwxMTQsNDQsMzIsMTEwLDExMSwxMTYsMzIsMTIzLDEyNSwxMTQsODQsMCwwLDAsMTIyLAorICAgIDE4LDEwOCwxMDEsMTE4LDEwMSwxMDgsMzIsMTA5LDExNywxMTUsMTE2LDMyLDk4LDEwMSwzMiw2MiwKKyAgICA2MSwzMiw0OCwxMjIsMzEsOTUsOTUsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDk1LDk1LAorICAgIDMyLDExMCwxMTEsMTE2LDMyLDExNSwxMDEsMTE2LDMyLDExNiwxMTEsMzIsOTcsMzIsMTE1LDExNiwKKyAgICAxMTQsMTA1LDExMCwxMDMsMTIyLDYxLDgwLDk3LDExNCwxMDEsMTEwLDExNiwzMiwxMDksMTExLDEwMCwKKyAgICAxMTcsMTA4LDEwMSwzMiwxMjMsMzMsMTE0LDEyNSwzMiwxMTAsMTExLDExNiwzMiwxMDgsMTExLDk3LAorICAgIDEwMCwxMDEsMTAwLDQ0LDMyLDk5LDk3LDExMCwxMTAsMTExLDExNiwzMiwxMTIsMTAxLDExNCwxMDIsCisgICAgMTExLDExNCwxMDksMzIsMTE0LDEwMSwxMDgsOTcsMTE2LDEwNSwxMTgsMTAxLDMyLDEwNSwxMDksMTEyLAorICAgIDExMSwxMTQsMTE2LDEyMiwxNyw2OSwxMDksMTEyLDExNiwxMjEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwKKyAgICAxMDEsMzIsMTEwLDk3LDEwOSwxMDEsNzgsNDEsOSwxMTQsMTkxLDAsMCwwLDExNCw4MywKKyAgICAxLDAsMCwyMTgsOSw4NCwxMjEsMTEyLDEwMSw2OSwxMTQsMTE0LDExMSwxMTQsMTE0LDQ3LAorICAgIDAsMCwwLDExNCw2NiwwLDAsMCwxMTQsMTMzLDAsMCwwLDExNCw3LDAsCisgICAgMCwwLDExNCw3MywwLDAsMCwyMTgsMTEsODMsMTIxLDExNSwxMTYsMTAxLDEwOSw2OSwKKyAgICAxMTQsMTE0LDExMSwxMTQsNDEsNCwxMTQsNjcsMCwwLDAsMTE0LDEwMiwxLDAsMCwKKyAgICAxMTQsMTAzLDEsMCwwLDExNCwxNzIsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LAorICAgIDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDEzLDk1LDExNSw5NywxMTAsMTA1LAorICAgIDExNiwxMjEsOTUsOTksMTA0LDEwMSw5OSwxMDcsMTA3LDgsMCwwLDExNSwyNCwwLDAsCisgICAgMCwwLDIsMTUsMSwyNywxLDEyLDEsMTIsMSw2LDEsMTUsMSwxNSwKKyAgICAxLDE1LDEsNiwyLDIxLDEsMTksMSwxMTQsMTEwLDEsMCwwLDEyMiwxNiwKKyAgICA3OCwxMTEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTEwLDk3LDEwOSwxMDEsMTAwLDMyLAorICAgIDEyMiw0LDEyMywzMywxMTQsMTI1LDk5LDIsMCwwLDAsMCwwLDAsMCw4LAorICAgIDAsMCwwLDEyLDAsMCwwLDY3LDAsMCwwLDExNSw0MCwxLDAsMCwKKyAgICAxMDAsMCwwLDEyNSwyLDAsMTI0LDAsMCwxMDYsMCwwLDEwMCwxLDAsMTMxLAorICAgIDEsMCwxMDAsMiwwLDI1LDEyNSwzLDAsMTI0LDMsMCwxMTQsMTc1LDAsMTI0LAorICAgIDMsMCwxMTYsMSwwLDEwNiwyLDAsMTA3LDcsMCwxMTQsNTksMCwxMTYsMywKKyAgICAwLDEyNCwxLDAsMTI0LDMsMCwxMzEsMiwwLDEsMTI0LDAsMCwxMTYsMSwKKyAgICAwLDEwNiwyLDAsMTA3LDYsMCwxMTQsODUsMCwxMTYsMSwwLDEwNiwyLDAsCisgICAgMTI0LDAsMCwyNSw4MywxMTYsMSwwLDEwNiwyLDAsMTI0LDMsMCwyNSwxMjUsCisgICAgNCwwLDEyMSwxMywwLDEyNCw0LDAsMTA2LDQsMCwxMjUsMiwwLDg3LDExMCwKKyAgICA2MSwwLDQsMTE2LDUsMCwxMDcsMTAsMCwxMTQsMTc0LDAsMSwxLDEsMTE2LAorICAgIDYsMCwxMDAsMywwLDIzLDEwNiw3LDAsMTI0LDAsMCwxMjQsMywwLDEzMSwKKyAgICAyLDAsMTI1LDUsMCwxMTYsOCwwLDEyNCw1LDAsMTAwLDQsMCwxMjQsMCwKKyAgICAwLDEzMSwxLDEsMTAwLDAsMCwxMzAsMiwwLDg5LDExMCwxLDAsODgsMTE2LAorICAgIDksMCwxMjQsMCwwLDEyNCwyLDAsMTMxLDIsMCwxMjUsNiwwLDEyNCw2LAorICAgIDAsMTAwLDAsMCwxMDcsOCwwLDExNCwyMzIsMCwxMTYsOCwwLDExNiw2LDAsCisgICAgMTA2LDcsMCwxMjQsMCwwLDEzMSwxLDAsMTAwLDQsMCwxMjQsMCwwLDEzMSwKKyAgICAxLDEsMTMwLDEsMCwxMTAsMTIsMCwxMTYsMTAsMCwxMjQsNiwwLDEzMSwxLAorICAgIDAsMTI1LDcsMCwxMjQsMywwLDExNCwzNiwxLDExNiwxLDAsMTA2LDIsMCwKKyAgICAxMjQsMywwLDI1LDEyNSw0LDAsMTE2LDExLDAsMTI0LDQsMCwxMjQsMCwwLAorICAgIDEwNiwwLDAsMTAwLDEsMCwxMzEsMSwwLDEwMCw1LDAsMjUsMTI0LDcsMCwKKyAgICAxMzEsMywwLDEsMTI0LDcsMCw4Myw0MSw2LDc4LDExNCwxMTYsMCwwLDAsCisgICAgMTE0LDg0LDAsMCwwLDEyMiwyMyw1OSwzMiwxMjMsMzMsMTE0LDEyNSwzMiwxMDUsMTE1LAorICAgIDMyLDExMCwxMTEsMTE2LDMyLDk3LDMyLDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSwxMTQsNjcsCisgICAgMCwwLDAsMTE0LDExNSwwLDAsMCw0MSwxMiwxMTQsMzIsMCwwLDAsMTE0LAorICAgIDcsMCwwLDAsMTE0LDczLDAsMCwwLDExNCwxMTQsMCwwLDAsMTE0LDI0NiwKKyAgICAwLDAsMCwxMTQsMjA4LDAsMCwwLDIxOCw4LDk1LDY5LDgyLDgyLDk1LDc3LAorICAgIDgzLDcxLDExNCw0NywwLDAsMCwxMTQsMTU0LDAsMCwwLDExNCwxMDcsMSwwLAorICAgIDAsMTE0LDUsMSwwLDAsMTE0LDYxLDAsMCwwLDQxLDgsMTE0LDY3LDAsCisgICAgMCwwLDIxOCw3LDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDk1LDExNCwzNSwwLDAsMCwKKyAgICAxMTQsMjMzLDAsMCwwLDkwLDEzLDExMiw5NywxMTQsMTAxLDExMCwxMTYsOTUsMTA5LDExMSwKKyAgICAxMDAsMTE3LDEwOCwxMDEsMTE0LDE3MiwwLDAsMCwxMTQsMTc3LDAsMCwwLDExNCwxNzgsCisgICAgMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwKKyAgICAwLDAsMjE4LDIzLDk1LDEwMiwxMDUsMTEwLDEwMCw5NSw5NywxMTAsMTAwLDk1LDEwOCwxMTEsCisgICAgOTcsMTAwLDk1LDExNywxMTAsMTA4LDExMSw5OSwxMDcsMTAxLDEwMCwxMjcsOCwwLDAsMTE1LAorICAgIDQyLDAsMCwwLDAsMSw2LDEsMTksMSw2LDEsMTUsMSwxMywyLAorICAgIDE1LDEsMTEsMSwxMywxLDMsMSwxMywxLDEzLDEsMjIsMSwyNiwxLAorICAgIDE1LDEsMTIsMSwzMCwyLDEyLDEsNiwyLDEzLDEsMjksMSwxMTQsMTEzLAorICAgIDEsMCwwLDk5LDIsMCwwLDAsMCwwLDAsMCwyLDAsMCwwLAorICAgIDEwLDAsMCwwLDY3LDAsMCwwLDExNSwzNiwwLDAsMCwxMTYsMCwwLAorICAgIDEyNCwwLDAsMTMxLDEsMCwxNDMsMTgsMCwxLDExNiwxLDAsMTI0LDAsMCwKKyAgICAxMjQsMSwwLDEzMSwyLDAsODMsODcsMTAwLDEsMCw4MSw4OCwxMDAsMSwwLAorICAgIDgzLDQxLDIsMTIyLDU0LDcwLDEwNSwxMTAsMTAwLDMyLDk3LDExMCwxMDAsMzIsMTA4LDExMSwKKyAgICA5NywxMDAsMzIsMTE2LDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDQsMzIsOTcsCisgICAgMTEwLDEwMCwzMiwxMTQsMTAxLDEwOCwxMDEsOTcsMTE1LDEwMSwzMiwxMTYsMTA0LDEwMSwzMiwxMDUsCisgICAgMTA5LDExMiwxMTEsMTE0LDExNiwzMiwxMDgsMTExLDk5LDEwNyw0Niw3OCw0MSwyLDExNCwxMDMsCisgICAgMCwwLDAsMTE0LDExMywxLDAsMCw0MSwyLDExNCw2NywwLDAsMCwxMTQsCisgICAgMTEyLDEsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LAorICAgIDAsMCwwLDIxOCwxNCw5NSwxMDIsMTA1LDExMCwxMDAsOTUsOTcsMTEwLDEwMCw5NSwxMDgsCisgICAgMTExLDk3LDEwMCwxNTQsOCwwLDAsMTE1LDQsMCwwLDAsMCwyLDEzLDEsCisgICAgMTE0LDExNCwxLDAsMCw5OSwzLDAsMCwwLDAsMCwwLDAsNSwwLAorICAgIDAsMCw0LDAsMCwwLDY3LDAsMCwwLDExNSwxNjYsMCwwLDAsMTE2LAorICAgIDAsMCwxMjQsMCwwLDEyNCwxLDAsMTI0LDIsMCwxMzEsMywwLDEsMTI0LAorICAgIDIsMCwxMDAsMSwwLDEwNyw0LDAsMTE0LDQ2LDAsMTE2LDEsMCwxMjQsMCwKKyAgICAwLDEyNCwxLDAsMTI0LDIsMCwxMzEsMywwLDEyNSwwLDAsMTE2LDIsMCwKKyAgICAxMDYsMywwLDEzMSwwLDAsMSwxMjQsMCwwLDExNiw0LDAsMTA2LDUsMCwKKyAgICAxMDcsNywwLDExNCw4NCwwLDExNiw2LDAsMTI0LDAsMCwxMTYsNywwLDEzMSwKKyAgICAyLDAsODMsMTE2LDQsMCwxMDYsNSwwLDEyNCwwLDAsMjUsMTI1LDMsMCwKKyAgICAxMjQsMywwLDEwMCwyLDAsMTA3LDgsMCwxMTQsMTUyLDAsMTE2LDIsMCwxMDYsCisgICAgOCwwLDEzMSwwLDAsMSwxMDAsMywwLDEwNiw5LDAsMTI0LDAsMCwxMzEsCisgICAgMSwwLDEyNSw0LDAsMTE2LDEwLDAsMTI0LDQsMCwxMDAsNCwwLDEyNCwwLAorICAgIDAsMTMxLDEsMSwxMzAsMSwwLDExNiwxMSwwLDEyNCwwLDAsMTMxLDEsMCwKKyAgICAxLDEyNCwzLDAsODMsNDEsNSw5Nyw1MCwxLDAsMCw3MywxMDksMTEyLDExMSwKKyAgICAxMTQsMTE2LDMyLDk3LDExMCwxMDAsMzIsMTE0LDEwMSwxMTYsMTE3LDExNCwxMTAsMzIsMTE2LDEwNCwKKyAgICAxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsOTgsOTcsMTE1LDEwMSwxMDAsMzIsMTExLAorICAgIDExMCwzMiwxMDUsMTE2LDExNSwzMiwxMTAsOTcsMTA5LDEwMSw0NCwzMiwxMTYsMTA0LDEwMSwzMiwKKyAgICAxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsMzIsMTE2LDEwNCwxMDEsMzIsOTksOTcsMTA4LDEwOCwKKyAgICAzMiwxMDUsMTE1LDEwLDMyLDMyLDMyLDMyLDk4LDEwMSwxMDUsMTEwLDEwMywzMiwxMDksOTcsCisgICAgMTAwLDEwMSwzMiwxMDIsMTE0LDExMSwxMDksNDQsMzIsOTcsMTEwLDEwMCwzMiwxMTYsMTA0LDEwMSwKKyAgICAzMiwxMDgsMTAxLDExOCwxMDEsMTA4LDMyLDk3LDEwMCwxMDYsMTE3LDExNSwxMTYsMTA5LDEwMSwxMTAsCisgICAgMTE2LDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDg0LDEwNCwxMDUsMTE1LDMyLDEwMiwxMTcsMTEwLAorICAgIDk5LDExNiwxMDUsMTExLDExMCwzMiwxMTQsMTAxLDExMiwxMTQsMTAxLDExNSwxMDEsMTEwLDExNiwxMTUsCisgICAgMzIsMTE2LDEwNCwxMDEsMzIsMTAzLDExNCwxMDEsOTcsMTE2LDEwMSwxMTUsMTE2LDMyLDk5LDExMSwKKyAgICAxMDksMTA5LDExMSwxMTAsMzIsMTAwLDEwMSwxMTAsMTExLDEwOSwxMDUsMTEwLDk3LDExNiwxMTEsMTE0LAorICAgIDMyLDExMSwxMDIsMzIsMTAyLDExNywxMTAsOTksMTE2LDEwNSwxMTEsMTEwLDk3LDEwOCwxMDUsMTE2LAorICAgIDEyMSwxMCwzMiwzMiwzMiwzMiw5OCwxMDEsMTE2LDExOSwxMDEsMTAxLDExMCwzMiwxMDUsMTA5LAorICAgIDExMiwxMTEsMTE0LDExNiw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiw5NywxMTAsMTAwLDMyLAorICAgIDk1LDk1LDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDk1LDk1LDQ2LDMyLDg0LDEwNCwxMDUsMTE1LAorICAgIDMyLDEwNSwxMTAsOTksMTA4LDExNywxMDAsMTAxLDExNSwzMiwxMTUsMTAxLDExNiwxMTYsMTA1LDExMCwKKyAgICAxMDMsMzIsOTUsOTUsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDk1LDk1LDMyLDEwNSwxMDIsCisgICAgMTAsMzIsMzIsMzIsMzIsMTE2LDEwNCwxMDEsMzIsMTA4LDExMSw5NywxMDAsMTAxLDExNCwzMiwKKyAgICAxMDAsMTA1LDEwMCwzMiwxMTAsMTExLDExNiw0NiwxMCwxMCwzMiwzMiwzMiwzMiwxMTQsODQsCisgICAgMCwwLDAsNzgsMTIyLDQwLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDMyLDExMSwxMDIsMzIsCisgICAgMTIzLDEyNSwzMiwxMDQsOTcsMTA4LDExNiwxMDEsMTAwLDU5LDMyLDc4LDExMSwxMTAsMTAxLDMyLAorICAgIDEwNSwxMTAsMzIsMTE1LDEyMSwxMTUsNDYsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE1LDExNCw2NywKKyAgICAwLDAsMCw0MSwxMiwxMTQsMTEwLDEsMCwwLDExNCwxMDQsMSwwLDAsMTE0LAorICAgIDEwNiwwLDAsMCwxMTQsMiwxLDAsMCwxMTQsNywwLDAsMCwxMTQsNzMsCisgICAgMCwwLDAsMTE0LDExNCwxLDAsMCwyMTgsMTEsOTUsMTAzLDk5LDEwMCw5NSwxMDUsCisgICAgMTA5LDExMiwxMTEsMTE0LDExNiwxMTQsMTA3LDAsMCwwLDExNCw0NywwLDAsMCwxMTQsCisgICAgMTU0LDAsMCwwLDExNCwxMTIsMCwwLDAsNDEsNSwxMTQsNjcsMCwwLDAsCisgICAgMTE0LDEwMiwxLDAsMCwxMTQsMTAzLDEsMCwwLDExNCwxNzgsMCwwLDAsMTE0LAorICAgIDE1MiwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwKKyAgICAwLDAsMCwxMTQsMTE1LDEsMCwwLDE2MCw4LDAsMCwxMTUsMjgsMCwwLAorICAgIDAsMCw5LDE2LDEsMTIsMSwxOCwxLDEwLDEsMTUsMSwxMywxLDEzLAorICAgIDEsMTIsMSwxMCwxLDYsMSw5LDEsMTgsMSwxMCwxLDExNCwxMTUsMSwKKyAgICAwLDAsOTksMywwLDAsMCwwLDAsMCwwLDYsMCwwLDAsMTcsCisgICAgMCwwLDAsNjcsMCwwLDAsMTE1LDIzOSwwLDAsMCwxMTYsMCwwLDEyNCwKKyAgICAwLDAsMTAwLDEsMCwxMzEsMiwwLDExNCwyMzUsMCwxMDAsMiwwLDEyNCwxLAorICAgIDAsMTA3LDYsMCwxMTQsODMsMCwxMTYsMSwwLDEyNCwxLDAsMTMxLDEsMCwKKyAgICAxMjUsMSwwLDEyNCwxLDAsMTA2LDIsMCwxMDAsMiwwLDEzMSwxLDAsMSwKKyAgICAxMTYsMCwwLDEyNCwwLDAsMTAwLDMsMCwxMzEsMiwwLDExNCw4MywwLDEyNCwKKyAgICAxLDAsMTA2LDMsMCwxMjQsMCwwLDEwNiw0LDAsMTMxLDEsMCwxLDEyMCwKKyAgICAxNDksMCwxMjQsMSwwLDY4LDkzLDE0MSwwLDEyNSwzLDAsMTE2LDAsMCwxMjQsCisgICAgMCwwLDEyNCwzLDAsMTMxLDIsMCwxMTUsOTAsMCwxMDAsNCwwLDEwNiw1LAorICAgIDAsMTI0LDAsMCwxMDYsNiwwLDEyNCwzLDAsMTMxLDIsMCwxMjUsNCwwLAorICAgIDEyMSwxNywwLDExNiw3LDAsMTI0LDIsMCwxMjQsNCwwLDEzMSwyLDAsMSwKKyAgICA4NywxMTMsOTAsMCw0LDExNiw4LDAsMTA3LDEwLDAsMTE0LDIzMCwwLDEsMTI1LAorICAgIDUsMCwxLDEyMiw0NywwLDExNiw5LDAsMTI0LDUsMCwxMzEsMSwwLDEwNiwKKyAgICAxMCwwLDExNiwxMSwwLDEzMSwxLDAsMTE0LDIwOSwwLDEyNCw1LDAsMTA2LDEyLAorICAgIDAsMTI0LDQsMCwxMDcsMiwwLDExNCwyMDksMCwxMTksOTAsMCwxMzAsMCwwLAorICAgIDg3LDg5LDEwMCw1LDAsMTAwLDUsMCwxMjUsNSwwLDEyNiw1LDAsODgsMTEzLAorICAgIDkwLDAsODgsMTEzLDkwLDAsODcsMTI0LDAsMCw4Myw0MSw2LDEyMiwyMzgsNzAsCisgICAgMTA1LDEwMywxMTcsMTE0LDEwMSwzMiwxMTEsMTE3LDExNiwzMiwxMTksMTA0LDk3LDExNiwzMiw5NSwKKyAgICA5NSwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiw5NSw5NSwzMiwxMTUsMTA0LDExMSwxMTcsMTA4LDEwMCwKKyAgICAzMiwxMTQsMTAxLDExNiwxMTcsMTE0LDExMCw0NiwxMCwxMCwzMiwzMiwzMiwzMiw4NCwxMDQsCisgICAgMTAxLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDk1LDMyLDExMiw5NywxMTQsOTcsMTA5LDEwMSwKKyAgICAxMTYsMTAxLDExNCwzMiwxMDUsMTE1LDMyLDk3LDMyLDk5LDk3LDEwOCwxMDgsOTcsOTgsMTA4LAorICAgIDEwMSwzMiwxMTksMTA0LDEwNSw5OSwxMDQsMzIsMTE2LDk3LDEwNywxMDEsMTE1LDMyLDExNiwxMDQsCisgICAgMTAxLDMyLDExMCw5NywxMDksMTAxLDMyLDExMSwxMDIsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsCisgICAgMzIsMTE2LDExMSwxMCwzMiwzMiwzMiwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiw0NiwzMiwKKyAgICA3MywxMTYsMzIsMTA1LDExNSwzMiwxMTQsMTAxLDExMywxMTcsMTA1LDExNCwxMDEsMTAwLDMyLDExNiwKKyAgICAxMTEsMzIsMTAwLDEwMSw5OSwxMTEsMTE3LDExMiwxMDgsMTAxLDMyLDExNiwxMDQsMTAxLDMyLDEwMiwKKyAgICAxMTcsMTEwLDk5LDExNiwxMDUsMTExLDExMCwzMiwxMDIsMTE0LDExMSwxMDksMzIsOTcsMTE1LDExNSwKKyAgICAxMTcsMTA5LDEwNSwxMTAsMTAzLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsMzksCisgICAgMTE1LDEwLDMyLDMyLDMyLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDMyLDEwNSwxMDksMTEyLAorICAgIDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDk3LDExNiwxMDUsMTExLDExMCwzMiwxMDUsMTE1LDMyLDEwMCwKKyAgICAxMDEsMTE1LDEwNSwxMTQsMTAxLDEwMCw0NiwxMCwxMCwzMiwzMiwzMiwzMiwxMTQsMjQ2LDAsCisgICAgMCwwLDI1MCwxLDQyLDIxOCw3LDk1LDk1LDk3LDEwOCwxMDgsOTUsOTUsMTIyLDUsCisgICAgMTIzLDEyNSw0NiwxMjMsMTI1LDc4LDQxLDEzLDExNCw2MCwwLDAsMCwxMTQsMjQ1LDAsCisgICAgMCwwLDIxOCw2LDExNCwxMDEsMTA5LDExMSwxMTgsMTAxLDExNCwxOTYsMCwwLDAsMTE0LAorICAgIDExNywxLDAsMCwxMTQsNDcsMCwwLDAsMTE0LDU3LDAsMCwwLDExNCwxMTQsCisgICAgMCwwLDAsMTE0LDE1NCwwLDAsMCwxMTQsODMsMSwwLDAsMTE0LDksMCwKKyAgICAwLDAsMjE4LDE1LDk1LDY5LDgyLDgyLDk1LDc3LDgzLDcxLDk1LDgwLDgyLDY5LAorICAgIDcwLDczLDg4LDExNCw2NywwLDAsMCw0MSw2LDExNCwxNzgsMCwwLDAsMjE4LAorICAgIDgsMTAyLDExNCwxMTEsMTA5LDEwOCwxMDUsMTE1LDExNiwxMTQsMTEyLDEsMCwwLDExNCwxNiwKKyAgICAwLDAsMCw5MCw5LDEwMiwxMTQsMTExLDEwOSw5NSwxMTAsOTcsMTA5LDEwMSwxMTQsNDAsCisgICAgMSwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwKKyAgICAwLDAsMjE4LDE2LDk1LDEwNCw5NywxMTAsMTAwLDEwOCwxMDEsOTUsMTAyLDExNCwxMTEsMTA5LAorICAgIDEwOCwxMDUsMTE1LDExNiwxODQsOCwwLDAsMTE1LDM0LDAsMCwwLDAsMTAsMTUsCisgICAgMSwxMiwxLDEyLDEsMTMsMSwxNSwxLDE2LDEsMTMsMSwxNSwxLDIxLAorICAgIDEsMywxLDE3LDEsMTgsNCwyMSwxLDE1LDEsMywxLDI2LDEsMTE0LAorICAgIDEyMSwxLDAsMCw5OSwxLDAsMCwwLDAsMCwwLDAsMiwwLDAsCisgICAgMCwyLDAsMCwwLDY3LDAsMCwwLDExNSw3MiwwLDAsMCwxMjQsMCwKKyAgICAwLDEwNiwwLDAsMTAwLDEsMCwxMzEsMSwwLDEyNSwxLDAsMTI0LDEsMCwKKyAgICAxMDAsMiwwLDEwNyw4LDAsMTE0LDY4LDAsMTI0LDAsMCwxMDAsMywwLDI1LAorICAgIDEyNSwxLDAsMTAwLDQsMCwxMjQsMCwwLDEwNyw3LDAsMTE0LDY4LDAsMTI0LAorICAgIDEsMCwxMDYsMSwwLDEwMCw1LDAsMTMxLDEsMCwxMDAsNiwwLDI1LDEyNSwKKyAgICAxLDAsMTI0LDEsMCw4Myw0MSw3LDEyMiwxNjcsNjcsOTcsMTA4LDk5LDExNywxMDgsCisgICAgOTcsMTE2LDEwMSwzMiwxMTksMTA0LDk3LDExNiwzMiw5NSw5NSwxMTIsOTcsOTksMTA3LDk3LAorICAgIDEwMywxMDEsOTUsOTUsMzIsMTE1LDEwNCwxMTEsMTE3LDEwOCwxMDAsMzIsOTgsMTAxLDQ2LDEwLAorICAgIDEwLDMyLDMyLDMyLDMyLDk1LDk1LDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSw5NSw5NSwKKyAgICAzMiwxMDUsMTE1LDMyLDExMCwxMTEsMTE2LDMyLDEwMywxMTcsOTcsMTE0LDk3LDExMCwxMTYsMTAxLAorICAgIDEwMSwxMDAsMzIsMTE2LDExMSwzMiw5OCwxMDEsMzIsMTAwLDEwMSwxMDIsMTA1LDExMCwxMDEsMTAwLAorICAgIDMyLDExMSwxMTQsMzIsOTksMTExLDExNywxMDgsMTAwLDMyLDk4LDEwMSwzMiwxMTUsMTAxLDExNiwKKyAgICAzMiwxMTYsMTExLDMyLDc4LDExMSwxMTAsMTAxLDEwLDMyLDMyLDMyLDMyLDExNiwxMTEsMzIsCisgICAgMTE0LDEwMSwxMTIsMTE0LDEwMSwxMTUsMTAxLDExMCwxMTYsMzIsMTE2LDEwNCw5NywxMTYsMzIsMTA1LAorICAgIDExNiwxMTUsMzIsMTEyLDExNCwxMTEsMTEyLDEwMSwxMTQsMzIsMTE4LDk3LDEwOCwxMTcsMTAxLDMyLAorICAgIDEwNSwxMTUsMzIsMTE3LDExMCwxMDcsMTEwLDExMSwxMTksMTEwLDQ2LDEwLDEwLDMyLDMyLDMyLAorICAgIDMyLDExNCwyNDksMCwwLDAsNzgsMTE0LDU3LDAsMCwwLDExNCwyNDYsMCwwLAorICAgIDAsMTE0LDExNiwwLDAsMCwxMTQsODQsMCwwLDAsNDEsMiwxMTQsOTMsMCwKKyAgICAwLDAsMTE0LDMyLDAsMCwwLDQxLDIsMjE4LDcsMTAzLDEwOCwxMTEsOTgsOTcsCisgICAgMTA4LDExNSwxMTQsMTAyLDEsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwKKyAgICAwLDExNCw1LDAsMCwwLDIxOCwxNyw5NSw5OSw5NywxMDgsOTksOTUsOTUsOTUsCisgICAgMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDk1LDk1LDIxNiw4LDAsMCwxMTUsMTIsMCwKKyAgICAwLDAsMCw3LDE1LDEsMTIsMSwxMCwxLDEyLDEsMTksMSwxMTQsMTIzLAorICAgIDEsMCwwLDk5LDAsMCwwLDAsMCwwLDAsMCwzLDAsMCwwLAorICAgIDMsMCwwLDAsNjcsMCwwLDAsMTE1LDU1LDAsMCwwLDExNiwwLDAsCisgICAgMTE2LDEsMCwxMDYsMiwwLDEzMSwwLDAsMTAyLDIsMCwxMjUsMCwwLDExNiwKKyAgICAzLDAsMTE2LDQsMCwxMDIsMiwwLDEyNSwxLDAsMTE2LDUsMCwxMTYsNiwKKyAgICAwLDEwMiwyLDAsMTI1LDIsMCwxMjQsMCwwLDEyNCwxLDAsMTI0LDIsMCwKKyAgICAxMDMsMywwLDgzLDQxLDEsMTIyLDk1LDgyLDEwMSwxMTYsMTE3LDExNCwxMTAsMTE1LDMyLAorICAgIDk3LDMyLDEwOCwxMDUsMTE1LDExNiwzMiwxMTEsMTAyLDMyLDEwMiwxMDUsMTA4LDEwMSw0NSw5OCwKKyAgICA5NywxMTUsMTAxLDEwMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMDgsMTExLDk3LDEwMCwKKyAgICAxMDEsMTE0LDExNSw0NiwxMCwxMCwzMiwzMiwzMiwzMiw2OSw5Nyw5OSwxMDQsMzIsMTA1LAorICAgIDExNiwxMDEsMTA5LDMyLDEwNSwxMTUsMzIsOTcsMzIsMTE2LDExNywxMTIsMTA4LDEwMSwzMiw0MCwKKyAgICAxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDQ0LDMyLDExNSwxMTcsMTAyLDEwMiwxMDUsMTIwLDEwMSwxMTUsCisgICAgNDEsNDYsMTAsMzIsMzIsMzIsMzIsNDEsNywxMTQsNTYsMSwwLDAsMTE0LDEwNiwKKyAgICAwLDAsMCwyMTgsMTgsMTAxLDEyMCwxMTYsMTAxLDExMCwxMTUsMTA1LDExMSwxMTAsOTUsMTE1LAorICAgIDExNywxMDIsMTAyLDEwNSwxMjAsMTAxLDExNSwxMTQsNywxLDAsMCwxMTQsMTM1LDAsMCwKKyAgICAwLDExNCw2LDEsMCwwLDExNCwyMzIsMCwwLDAsNDEsMyw5MCwxMCwxMDEsCisgICAgMTIwLDExNiwxMDEsMTEwLDExNSwxMDUsMTExLDExMCwxMTUsOTAsNiwxMTUsMTExLDExNywxMTQsOTksCisgICAgMTAxLDkwLDgsOTgsMTIxLDExNiwxMDEsOTksMTExLDEwMCwxMDEsMTE0LDQsMCwwLDAsCisgICAgMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDI0MCwwLDAsMCwyMzEsCisgICAgOCwwLDAsMTE1LDgsMCwwLDAsMCw1LDE4LDEsMTIsMSwxMiwxLAorICAgIDExNCwyNDAsMCwwLDAsOTksNSwwLDAsMCwwLDAsMCwwLDksMCwKKyAgICAwLDAsNSwwLDAsMCw2NywwLDAsMCwxMTUsMjI3LDAsMCwwLDEyNCwKKyAgICA0LDAsMTAwLDEsMCwxMDcsMiwwLDExNCwyNywwLDExNiwwLDAsMTI0LDAsCisgICAgMCwxMzEsMSwwLDEyNSw1LDAsMTEwLDU0LDAsMTI0LDEsMCwxMDAsMiwwLAorICAgIDEwNyw5LDAsMTE0LDQ1LDAsMTI0LDEsMCwxMTAsMywwLDEwNSwwLDAsMTI1LAorICAgIDYsMCwxMTYsMSwwLDEyNCw2LDAsMTMxLDEsMCwxMjUsNywwLDExNiwwLAorICAgIDAsMTI0LDAsMCwxMjQsNywwLDEyNCw0LDAsMTMxLDMsMCwxMjUsNSwwLAorICAgIDEyNCwzLDAsMTE1LDIwNywwLDEyNCw0LDAsMTAwLDEsMCwxMDcsMiwwLDExNCwKKyAgICAxMjIsMCwxMTYsMCwwLDEyNCwwLDAsMTA2LDIsMCwxMDAsMywwLDEzMSwxLAorICAgIDAsMTAwLDEsMCwyNSwxMzEsMSwwLDgzLDEyNCwwLDAsMTE1LDEzMiwwLDEyNCwKKyAgICA1LDAsODMsMTE2LDMsMCwxMjQsMCwwLDEzMSwxLDAsMTE2LDMsMCwxMjQsCiAgICAgMCwwLDEwNiwyLDAsMTAwLDMsMCwxMzEsMSwwLDEwMCwxLDAsMjUsMTMxLAotICAgIDEsMCw4MywxMjQsMCwwLDExNSwxMzIsMCwxMjQsNSwwLDgzLDExNiwzLDAsCi0gICAgMTI0LDAsMCwxMzEsMSwwLDExNiwzLDAsMTI0LDAsMCwxMDYsMiwwLDEwMCwKLSAgICAzLDAsMTMxLDEsMCwxMDAsMSwwLDI1LDEzMSwxLDAsMjQsMTI1LDgsMCwKLSAgICAxMTYsNCwwLDEwNiw1LDAsMTI0LDUsMCwxMDYsNiwwLDEwMCwyLDAsMTE2LAotICAgIDMsMCwxMjQsNSwwLDEwNiw2LDAsMTMxLDEsMCwxMjQsOCwwLDI0LDEzMywKLSAgICAyLDAsMjUsMjUsODMsMTEwLDE2LDAsMTE2LDcsMCwxMjQsNSwwLDEyNCwzLAotICAgIDAsMTE2LDAsMCwxMzEsMywwLDgzLDEwMCwyLDAsODMsNDEsNCw5NywyMTQsCi0gICAgMSwwLDAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwzMiw5NywzMiwxMDksMTExLDEwMCwxMTcsCi0gICAgMTA4LDEwMSw0NiwxMCwxMCwzMiwzMiwzMiwzMiw4NCwxMDQsMTAxLDMyLDM5LDEwMywxMDgsCi0gICAgMTExLDk4LDk3LDEwOCwxMTUsMzksMzIsOTcsMTE0LDEwMywxMTcsMTA5LDEwMSwxMTAsMTE2LDMyLAotICAgIDEwNSwxMTUsMzIsMTE3LDExNSwxMDEsMTAwLDMyLDExNiwxMTEsMzIsMTA1LDExMCwxMDIsMTAxLDExNCwKLSAgICAzMiwxMTksMTA0LDEwMSwxMTQsMTAxLDMyLDExNiwxMDQsMTAxLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsCi0gICAgMTE2LDMyLDEwNSwxMTUsMzIsMTExLDk5LDk5LDExNywxMTQsMTA1LDExMCwxMDMsMzIsMTAyLDExNCwKLSAgICAxMTEsMTA5LDEwLDMyLDMyLDMyLDMyLDExNiwxMTEsMzIsMTA0LDk3LDExMCwxMDAsMTA4LDEwMSwKLSAgICAzMiwxMTQsMTAxLDEwOCw5NywxMTYsMTA1LDExOCwxMDEsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsCi0gICAgMTE1LDQ2LDMyLDg0LDEwNCwxMDEsMzIsMzksMTA4LDExMSw5OSw5NywxMDgsMTE1LDM5LDMyLAotICAgIDk3LDExNCwxMDMsMTE3LDEwOSwxMDEsMTEwLDExNiwzMiwxMDUsMTE1LDMyLDEwNSwxMDMsMTEwLDExMSwKLSAgICAxMTQsMTAxLDEwMCw0NiwzMiw4NCwxMDQsMTAxLDEwLDMyLDMyLDMyLDMyLDM5LDEwMiwxMTQsCi0gICAgMTExLDEwOSwxMDgsMTA1LDExNSwxMTYsMzksMzIsOTcsMTE0LDEwMywxMTcsMTA5LDEwMSwxMTAsMTE2LAotICAgIDMyLDExNSwxMTIsMTAxLDk5LDEwNSwxMDIsMTA1LDEwMSwxMTUsMzIsMTE5LDEwNCw5NywxMTYsMzIsCi0gICAgMTE1LDEwNCwxMTEsMTE3LDEwOCwxMDAsMzIsMTAxLDEyMCwxMDUsMTE1LDExNiwzMiw5NywxMTUsMzIsCi0gICAgOTcsMTE2LDExNiwxMTQsMTA1LDk4LDExNywxMTYsMTAxLDExNSwzMiwxMTEsMTEwLDMyLDExNiwxMDQsCi0gICAgMTAxLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDEwLDMyLDMyLDMyLDMyLDk4LDEwMSwxMDUsCi0gICAgMTEwLDEwMywzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTAwLDMyLDQwLDEwMSw0NiwxMDMsCi0gICAgNDYsMzIsOTYsOTYsMTAyLDExNCwxMTEsMTA5LDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLAotICAgIDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDMyLDYwLDEwMiwxMTQsMTExLDEwOSwxMDgsMTA1LDExNSwxMTYsCi0gICAgNjIsOTYsOTYsNDEsNDYsMzIsMzIsODQsMTA0LDEwMSwzMiwzOSwxMDgsMTAxLDExOCwxMDEsCi0gICAgMTA4LDM5LDEwLDMyLDMyLDMyLDMyLDk3LDExNCwxMDMsMTE3LDEwOSwxMDEsMTEwLDExNiwzMiwKLSAgICAxMTQsMTAxLDExMiwxMTQsMTAxLDExNSwxMDEsMTEwLDExNiwxMTUsMzIsMTE2LDEwNCwxMDEsMzIsMTEyLAotICAgIDk3LDk5LDEwNyw5NywxMDMsMTAxLDMyLDEwOCwxMTEsOTksOTcsMTE2LDEwNSwxMTEsMTEwLDMyLAotICAgIDExNiwxMTEsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMzIsMTAyLDExNCwxMTEsMTA5LDMyLDEwNSwKLSAgICAxMTAsMzIsOTcsMzIsMTE0LDEwMSwxMDgsOTcsMTE2LDEwNSwxMTgsMTAxLDEwLDMyLDMyLDMyLAotICAgIDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDMyLDQwLDEwMSw0NiwxMDMsNDYsMzIsOTYsOTYsCi0gICAgMTAyLDExNCwxMTEsMTA5LDMyLDQ2LDQ2LDExMiwxMDcsMTAzLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsCi0gICAgMTE2LDMyLDEwOSwxMTEsMTAwLDk2LDk2LDMyLDExOSwxMTEsMTE3LDEwOCwxMDAsMzIsMTA0LDk3LAotICAgIDExOCwxMDEsMzIsOTcsMzIsMzksMTA4LDEwMSwxMTgsMTAxLDEwOCwzOSwzMiwxMTEsMTAyLDMyLAotICAgIDUwLDQxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDExNCw4NCwwLDAsMCw3OCwxMTQsCi0gICAgMTE2LDAsMCwwLDQxLDgsMTE0LDExNiwxLDAsMCwxMTQsMTI0LDEsMCwwLAotICAgIDExNCwxMzQsMCwwLDAsMTE0LDMxLDAsMCwwLDExNCw3LDAsMCwwLDExNCwKLSAgICA3MywwLDAsMCwxMTQsNTcsMCwwLDAsMTE0LDEyMiwxLDAsMCw0MSw5LAotICAgIDExNCw2NywwLDAsMCwxMTQsMTIzLDEsMCwwLDIxOCw2LDEwOCwxMTEsOTksOTcsCi0gICAgMTA4LDExNSwxMTQsMTIxLDEsMCwwLDExNCwxMDQsMSwwLDAsMTE0LDE4MCwwLDAsCi0gICAgMCw5MCw4LDEwMywxMDgsMTExLDk4LDk3LDEwOCwxMTUsOTUsMTE0LDEwMywxLDAsMCwKLSAgICA5MCw3LDk5LDExNywxMTYsOTUsMTExLDEwMiwxMDIsMTE0LDQsMCwwLDAsMTE0LDQsCi0gICAgMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDEwLDk1LDk1LDEwNSwxMDksMTEyLDExMSwKLSAgICAxMTQsMTE2LDk1LDk1LDE4LDksMCwwLDExNSwyNiwwLDAsMCwwLDExLDEyLAotICAgIDEsMTUsMiwyNCwxLDEyLDEsMTgsMSw2LDMsMTIsMSwyMywxLDYsCi0gICAgMSw0LDQsMzUsMyw0MCwyLDExNCwxMjcsMSwwLDAsOTksMSwwLDAsCi0gICAgMCwwLDAsMCwwLDMsMCwwLDAsMywwLDAsMCw2NywwLDAsCi0gICAgMCwxMTUsNjgsMCwwLDAsMTE2LDAsMCwxMDYsMSwwLDEyNCwwLDAsMTMxLAotICAgIDEsMCwxMjUsMSwwLDEyNCwxLDAsMTAwLDAsMCwxMDcsOCwwLDExNCw0NiwKLSAgICAwLDExNiwyLDAsMTAwLDEsMCwxMjQsMCwwLDIzLDEzMSwxLDAsMTMwLDEsCi0gICAgMCwxMTAsMCwwLDExNiwzLDAsMTI0LDEsMCwxMzEsMSwwLDEyNSwyLDAsCi0gICAgMTI0LDIsMCwxMDYsNCwwLDEzMSwwLDAsODMsNDEsMiw3OCwxMjIsMjUsMTEwLAotICAgIDExMSwzMiw5OCwxMTcsMTA1LDEwOCwxMTYsNDUsMTA1LDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LAotICAgIDEwMSwzMiwxMTAsOTcsMTA5LDEwMSwxMDAsMzIsNDEsNSwxMTQsMTEsMSwwLDAsMTE0LAotICAgIDE0LDEsMCwwLDExNCwxNTQsMCwwLDAsMTE0LDE3NSwwLDAsMCwxMTQsNywKLSAgICAxLDAsMCw0MSwzLDExNCw2NywwLDAsMCwxMTQsMTc4LDAsMCwwLDExNCwKLSAgICAxNzksMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsCi0gICAgMCwwLDAsMjE4LDE4LDk1LDk4LDExNywxMDUsMTA4LDExNiwxMDUsMTEwLDk1LDEwMiwxMTQsCi0gICAgMTExLDEwOSw5NSwxMTAsOTcsMTA5LDEwMSw1Myw5LDAsMCwxMTUsMTAsMCwwLDAsCi0gICAgMCwxLDE1LDEsMTIsMSwxOSwxLDEyLDEsMTE0LDEyOCwxLDAsMCw5OSwKLSAgICAyLDAsMCwwLDAsMCwwLDAsMTksMCwwLDAsMTIsMCwwLDAsCi0gICAgNjcsMCwwLDAsMTE1LDIzMiwyLDAsMCwxMjQsMSwwLDk3LDAsMCwxMjQsCi0gICAgMCwwLDk3LDEsMCwxMTYsMSwwLDEwNiwyLDAsMTA2LDMsMCwxMTQsMzMsCi0gICAgMCwxMTYsNCwwLDk3LDUsMCwxMTAsNiwwLDExNiw2LDAsOTcsNSwwLAotICAgIDExNiw3LDAsMTE2LDEsMCwxMzEsMSwwLDEyNSwyLDAsMTIwLDEzOCwwLDExNiwKLSAgICAxLDAsMTA2LDgsMCwxMDYsOSwwLDEzMSwwLDAsNjgsOTMsMTIxLDAsOTIsCi0gICAgMiwwLDEyNSwzLDAsMTI1LDQsMCwxMTYsMTAsMCwxMjQsNCwwLDEyNCwyLAotICAgIDAsMTMxLDIsMCwxMTQsNjcsMCwxMjQsMywwLDExNiwxLDAsMTA2LDExLDAsCi0gICAgMTA3LDYsMCwxMTQsMTE4LDAsMTE2LDEyLDAsMTI1LDUsMCwxMTAsMjcsMCwxMTYsCi0gICAgMCwwLDEwNiwxMywwLDEyNCwzLDAsMTMxLDEsMCwxMTQsNjcsMCwxMTYsMTQsCi0gICAgMCwxMjUsNSwwLDExMCwzLDAsMTEzLDY3LDAsMTE2LDE1LDAsMTI0LDQsMCwKLSAgICAxMjQsNSwwLDEzMSwyLDAsMTI1LDYsMCwxMTYsMTYsMCwxMjQsNiwwLDEzMSwKLSAgICAxLDAsMTI1LDcsMCwxMjQsNywwLDEwNiwxNywwLDEyNCw0LDAsMTMxLDEsCi0gICAgMCwxLDExMyw2NywwLDExMyw2NywwLDg3LDExNiwxLDAsMTA2LDgsMCwxMTYsCi0gICAgMTgsMCwyNSwxMjUsOCwwLDEyMCw3MywwLDEwMCwyNiwwLDY4LDkzLDY1LDAsCi0gICAgMTI1LDksMCwxMjQsOSwwLDExNiwxLDAsMTA2LDgsMCwxMDcsNywwLDExNCwKLSAgICAyNDgsMCwxMTYsMTksMCwxMjQsOSwwLDEzMSwxLDAsMTI1LDEwLDAsMTEwLDEzLAotICAgIDAsMTE2LDEsMCwxMDYsOCwwLDEyNCw5LDAsMjUsMTI1LDEwLDAsMTE2LDIwLAotICAgIDAsMTI0LDgsMCwxMjQsOSwwLDEyNCwxMCwwLDEzMSwzLDAsMSwxMTMsMjEyLAotICAgIDAsODcsMTAwLDUsMCwxMDAsNiwwLDEwMywxLDAsMTAyLDIsMCwxMDAsNywKLSAgICAwLDEwMCw4LDAsMTAwLDYsMCwxMDMsMiwwLDEwMiwyLDAsMTAyLDIsMCwKLSAgICAxMjUsMTEsMCwxMjAsMTQ2LDAsMTI0LDExLDAsNjgsOTMsMTI2LDAsOTIsMiwwLAotICAgIDEyNSwxMiwwLDEyNSwxMywwLDExNiwyMSwwLDEwMCw5LDAsMTAwLDEwLDAsMTMyLAotICAgIDAsMCwxMjQsMTMsMCw2OCwxMzEsMSwwLDEzMSwxLDAsMTE1LDEwOCwxLDExNiwKLSAgICAyMiwwLDEzMCwxLDAsMTI0LDEzLDAsMTAwLDExLDAsMjUsMTI1LDE0LDAsMTI0LAotICAgIDEyLDAsMTE2LDEsMCwxMDYsOCwwLDEwNyw2LDAsMTE0LDE1MCwxLDExNiwxLAotICAgIDAsMTA2LDgsMCwxMjQsMTIsMCwyNSwxMjUsMTUsMCw4MCwxMTMsNjUsMSwxMjEsCi0gICAgMTcsMCwxMTYsMTksMCwxMjQsMTIsMCwxMzEsMSwwLDEyNSwxNSwwLDgwLDg3LAotICAgIDExMyw2NSwxLDQsMTE2LDIzLDAsMTA3LDEwLDAsMTE0LDE5MCwxLDEsMSwxLAotICAgIDExOSw2NSwxLDg5LDExMyw2NSwxLDg4LDExMyw2NSwxLDg3LDExNiwyMywwLDEwMCwKLSAgICAxMiwwLDEzMSwxLDAsMTMwLDEsMCwxMTYsMjAsMCwxMjQsOCwwLDEwMCwxMywKLSAgICAwLDEyNCwxNSwwLDEzMSwzLDAsMSwxMTYsMjAsMCwxMjQsOCwwLDEwMCwxNCwKLSAgICAwLDEyNCwxNCwwLDEzMSwzLDAsMSwxMTYsMjAsMCwxMjQsOCwwLDEwMCwxNSwKLSAgICAwLDEwMCwxNiwwLDEwNiwyNCwwLDEyNCwxMywwLDEzMSwxLDAsMTMxLDMsMCwKLSAgICAxLDEyMSwxNiwwLDExNiwxOSwwLDEwMCwxNywwLDEzMSwxLDAsMTI1LDE2LDAsCi0gICAgODcsMTEwLDI0LDAsNCwxMTYsMjMsMCwxMDcsMTAsMCwxMTQsNTAsMiwxLDEsCi0gICAgMSwxMDAsMTgsMCwxMjUsMTYsMCw4OSwxMTAsMSwwLDg4LDExNiwyMCwwLDEyNCwKLSAgICA4LDAsMTAwLDE3LDAsMTI0LDE2LDAsMTMxLDMsMCwxLDExNiwxOSwwLDEwMCwKLSAgICAxOSwwLDEzMSwxLDAsMTI1LDE3LDAsMTE2LDIwLDAsMTI0LDgsMCwxMDAsMTksCi0gICAgMCwxMjQsMTcsMCwxMzEsMywwLDEsMTI0LDEyLDAsMTAwLDcsMCwxMDcsMiwKLSAgICAwLDExNCwxMzgsMiwxMTYsMTksMCwxMDAsMjAsMCwxMzEsMSwwLDEyNSwxOCwwLAotICAgIDExNiwyMCwwLDEyNCw4LDAsMTAwLDIxLDAsMTI0LDE4LDAsMTMxLDMsMCwxLAotICAgIDExMCwwLDAsMTE2LDIwLDAsMTI0LDgsMCwxMDAsMjIsMCwxMTYsMjUsMCwxMzEsCi0gICAgMCwwLDEzMSwzLDAsMSwxMTYsMjYsMCwxMDYsMjcsMCwxMTYsMCwwLDEwNiwKLSAgICAyOCwwLDEzMSwwLDAsMTMxLDEsMCwxLDEyNCwxMiwwLDEwMCw3LDAsMTA3LAotICAgIDIsMCwxMTQsMjI4LDIsMTE2LDI5LDAsMTA2LDMwLDAsMTAwLDIzLDAsMTMxLDEsCi0gICAgMCwxLDEwMCwyNCwwLDExNiwyNiwwLDEwNyw2LDAsMTE0LDIyOCwyLDEwMCwyNSwKLSAgICAwLDExNiwzMSwwLDk1LDMyLDAsMTEzLDIyOCwyLDExMCwwLDAsMTAwLDE4LDAsCi0gICAgODMsNDEsMjcsMTIyLDI1MCw4MywxMDEsMTE2LDExNywxMTIsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwKLSAgICAxMTYsMTA4LDEwNSw5OCwzMiw5OCwxMjEsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA1LDExMCwKLSAgICAxMDMsMzIsMTEwLDEwMSwxMDEsMTAwLDEwMSwxMDAsMzIsOTgsMTE3LDEwNSwxMDgsMTE2LDQ1LDEwNSwKLSAgICAxMTAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE1LDMyLDk3LDExMCwxMDAsMzIsMTA1LDExMCwKLSAgICAxMDYsMTAxLDk5LDExNiwxMDUsMTEwLDEwMywzMiwxMTYsMTA0LDEwMSwxMDksMTAsMzIsMzIsMzIsCi0gICAgMzIsMTA1LDExMCwxMTYsMTExLDMyLDExNiwxMDQsMTAxLDMyLDEwMywxMDgsMTExLDk4LDk3LDEwOCwKLSAgICAzMiwxMTAsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSw0NiwxMCwxMCwzMiwzMiwzMiwKLSAgICAzMiw2NSwxMTUsMzIsMTE1LDEyMSwxMTUsMzIsMTA1LDExNSwzMiwxMTAsMTAxLDEwMSwxMDAsMTAxLAotICAgIDEwMCwzMiwxMDIsMTExLDExNCwzMiwxMTUsMTIxLDExNSw0NiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwKLSAgICAxMTUsMzIsOTcsOTksOTksMTAxLDExNSwxMTUsMzIsOTcsMTEwLDEwMCwzMiw5NSwxMDUsMTA5LAotICAgIDExMiwzMiwxMDUsMTE1LDMyLDExMCwxMDEsMTAxLDEwMCwxMDEsMTAwLDMyLDExNiwxMTEsMzIsMTA4LAotICAgIDExMSw5NywxMDAsMzIsOTgsMTE3LDEwNSwxMDgsMTE2LDQ1LDEwNSwxMTAsMTAsMzIsMzIsMzIsCi0gICAgMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE1LDQ0LDMyLDExNiwxMDQsMTExLDExNSwxMDEsMzIsCi0gICAgMTE2LDExOSwxMTEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE1LDMyLDEwOSwxMTcsMTE1LDExNiwKLSAgICAzMiw5OCwxMDEsMzIsMTAxLDEyMCwxMTIsMTA4LDEwNSw5OSwxMDUsMTE2LDEwOCwxMjEsMzIsMTEyLAotICAgIDk3LDExNSwxMTUsMTAxLDEwMCwzMiwxMDUsMTEwLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDExNCwKLSAgICA0OSwwLDAsMCwxMTQsMTY3LDAsMCwwLDIxOCw4LDk4LDExNywxMDUsMTA4LDExNiwKLSAgICAxMDUsMTEwLDExNSwxMTQsMTkyLDAsMCwwLDkwLDUsMTEyLDExMSwxMTUsMTA1LDEyMCwyNTAsCi0gICAgMSw0NywyMTgsMiwxMTAsMTE2LDI1MCwxLDkyLDk5LDEsMCwwLDAsMCwwLAotICAgIDAsMCwyLDAsMCwwLDMsMCwwLDAsMTE1LDAsMCwwLDExNSwzMywKLSAgICAwLDAsMCwxMjQsMCwwLDkzLDIzLDAsMTI1LDEsMCwxMTYsMCwwLDEyNCwKLSAgICAxLDAsMTMxLDEsMCwxMDAsMCwwLDEwNywyLDAsODYsMSwxMTMsMywwLAotICAgIDEwMCwxLDAsODMsNDEsMiwxMTQsMjksMCwwLDAsNzgsNDEsMSwxMTQsMzEsCi0gICAgMCwwLDAsNDEsMiwxMTQsMjIsMCwwLDAsMTE0LDEyOSwwLDAsMCwxMTQsCi0gICAgNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsNzcsCi0gICAgMCwwLDAsMTA1LDksMCwwLDExNSwyLDAsMCwwLDYsMCwxMjIsMjUsCi0gICAgOTUsMTE1LDEwMSwxMTYsMTE3LDExMiw0Niw2MCwxMDgsMTExLDk5LDk3LDEwOCwxMTUsNjIsNDYsCi0gICAgNjAsMTAzLDEwMSwxMTAsMTAxLDEyMCwxMTIsMTE0LDYyLDExNCw4NCwwLDAsMCwxMjIsMzAsCi0gICAgMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LDEwNSw5OCwzMiwxMTQsMTAxLDExMywxMTcsMTA1LDExNCwKLSAgICAxMDEsMTE1LDMyLDExMiwxMTEsMTE1LDEwNSwxMjAsMzIsMTExLDExNCwzMiwxMTAsMTE2LDExNCwzLAotICAgIDAsMCwwLDExNCwyNSwwLDAsMCwxMTQsMjEsMCwwLDAsMTE0LDMwLDAsCi0gICAgMCwwLDExNCw4NSwwLDAsMCw3OCwxMTQsMTExLDAsMCwwLDkwLDYsMTE5LAotICAgIDEwNSwxMTAsMTE0LDEwMSwxMDMsMTE0LDI0LDEsMCwwLDExNCw2LDAsMCwwLDEyMiwKLSAgICA0LDQ2LDExMiwxMjEsMTE5LDEyMiw2LDk1LDEwMCw0NiwxMTIsMTIxLDEwMCw4NCw0MSw0LAotICAgIDEyMiwzLDk1LDEwNSwxMTEsMTIyLDksOTUsMTE5LDk3LDExNCwxMTAsMTA1LDExMCwxMDMsMTE1LAotICAgIDEyMiw4LDk4LDExNywxMDUsMTA4LDExNiwxMDUsMTEwLDExNSwxMjIsNywxMDksOTcsMTE0LDExNSwKLSAgICAxMDQsOTcsMTA4LDQxLDMzLDExNCwxMDYsMCwwLDAsMTE0LDcsMCwwLDAsMTE0LAotICAgIDExNywwLDAsMCwxMTQsMTE4LDAsMCwwLDExNCwxMjAsMCwwLDAsMTE0LDIzMywKLSAgICAwLDAsMCwxMTQsMTE5LDAsMCwwLDExNCw2NiwwLDAsMCwxMTQsNzMsMCwKLSAgICAwLDAsMjE4LDUsMTA1LDExNiwxMDEsMTA5LDExNSwxMTQsMTkzLDAsMCwwLDExNCwxNTgsCi0gICAgMCwwLDAsMTE0LDExLDEsMCwwLDExNCwxNjMsMCwwLDAsMTE0LDIwLDEsCi0gICAgMCwwLDExNCwyNDgsMCwwLDAsMTE0LDE3NSwwLDAsMCwxMTQsMjU1LDAsMCwKLSAgICAwLDExNCw1NywwLDAsMCwxMTQsMTI4LDEsMCwwLDExNCw2MSwwLDAsMCwKLSAgICAyMTgsMyw5NywxMDgsMTA4LDExNCwxMDAsMCwwLDAsMTE0LDE1NCwwLDAsMCwxMTQsCi0gICAgMjYsMCwwLDAsMTE0LDExLDAsMCwwLDExNCw2MCwxLDAsMCwxMTQsMTk4LAotICAgIDAsMCwwLDExNCwxMjUsMSwwLDAsMTE0LDEzNSwwLDAsMCwxMTQsMjI0LDAsCi0gICAgMCwwLDExNCwyMywxLDAsMCwxMTQsMjcsMSwwLDAsNDEsMTksMjE4LDEwLAotICAgIDExNSwxMjEsMTE1LDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDIxOCwxMSw5NSwxMDUsMTA5LDExMiwKLSAgICA5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5MCwxMSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5NSwKLSAgICAxMTYsMTIxLDExMiwxMDEsMTE0LDY3LDAsMCwwLDExNCwxODAsMCwwLDAsMTE0LDE3MCwKLSAgICAwLDAsMCwxMTQsMTc4LDAsMCwwLDExNCwxNzksMCwwLDAsOTAsMTEsMTE1LAotICAgIDEwMSwxMDgsMTAyLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDkwLDEyLDk4LDExNywxMDUsMTA4LAotICAgIDExNiwxMDUsMTEwLDk1LDExMCw5NywxMDksMTAxLDkwLDE0LDk4LDExNywxMDUsMTA4LDExNiwxMDUsCi0gICAgMTEwLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDkwLDEwLDExMSwxMTUsOTUsMTAwLDEwMSwxMTYsCi0gICAgOTcsMTA1LDEwOCwxMTUsOTAsMTAsOTgsMTE3LDEwNSwxMDgsMTE2LDEwNSwxMTAsOTUsMTExLDExNSwKLSAgICAxMTQsMjEsMCwwLDAsMTE0LDI1LDAsMCwwLDkwLDksMTExLDExNSw5NSwxMDksCi0gICAgMTExLDEwMCwxMTcsMTA4LDEwMSw5MCwxMywxMTYsMTA0LDExNCwxMDEsOTcsMTAwLDk1LDEwOSwxMTEsCi0gICAgMTAwLDExNywxMDgsMTAxLDkwLDE0LDExOSwxMDEsOTcsMTA3LDExNCwxMDEsMTAyLDk1LDEwOSwxMTEsCi0gICAgMTAwLDExNywxMDgsMTAxLDkwLDEzLDExOSwxMDUsMTEwLDExNCwxMDEsMTAzLDk1LDEwOSwxMTEsMTAwLAotICAgIDExNywxMDgsMTAxLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsCi0gICAgMCwwLDIxOCw2LDk1LDExNSwxMDEsMTE2LDExNywxMTIsNjEsOSwwLDAsMTE1LDEwOCwKLSAgICAwLDAsMCwwLDksNiwxLDYsMiwxMiwxLDksMiw2LDMsMTIsCi0gICAgMSwyOCwxLDE1LDEsMTUsMSw5LDEsMTUsMSw5LDIsMywxLDE1LAotICAgIDEsMTIsMSwyMCwzLDEzLDEsMTMsMSwxNSwxLDE1LDIsMTMsMSwyMCwKLSAgICAzLDMzLDEsMTksMiwzMSwxLDEwLDEsMTUsMSwxMywxLDQsMiwzLAotICAgIDEsMTIsMSw1LDEsMTMsMSwxMiwyLDEyLDEsMTYsMSwxNiwxLDI1LAotICAgIDMsMywxLDE2LDEsMTMsMiwxMSwxLDE2LDMsMTIsMSwxNiwzLDEyLAotICAgIDEsMTIsMSwxOSwzLDE5LDEsMTksMSwxMiwxLDEzLDEsMTIsMSwxMTQsCi0gICAgMTM3LDEsMCwwLDk5LDIsMCwwLDAsMCwwLDAsMCwzLDAsMCwKLSAgICAwLDMsMCwwLDAsNjcsMCwwLDAsMTE1LDEzNiwwLDAsMCwxMTYsMCwKLSAgICAwLDEyNCwwLDAsMTI0LDEsMCwxMzEsMiwwLDEsMTE2LDEsMCwxMzEsMCwKLSAgICAwLDEyNSwyLDAsMTE2LDIsMCwxMDYsMywwLDEwNiw0LDAsMTE2LDUsMCwKLSAgICAxMDYsNiwwLDEyNCwyLDAsMTQwLDAsMCwxMDMsMSwwLDEzMSwxLDAsMSwKLSAgICAxMTYsMiwwLDEwNiw3LDAsMTA2LDgsMCwxMTYsOSwwLDEzMSwxLDAsMSwKLSAgICAxMTYsMiwwLDEwNiw3LDAsMTA2LDgsMCwxMTYsMTAsMCwxMzEsMSwwLDEsCi0gICAgMTE2LDExLDAsMTA2LDEyLDAsMTAwLDEsMCwxMDcsMiwwLDExNCwxMTYsMCwxMTYsCi0gICAgMiwwLDEwNiw3LDAsMTA2LDgsMCwxMTYsMTMsMCwxMzEsMSwwLDEsMTEwLAotICAgIDAsMCwxMTYsMiwwLDEwNiw3LDAsMTA2LDgsMCwxMTYsMTQsMCwxMzEsMSwKLSAgICAwLDEsMTAwLDIsMCw4Myw0MSwzLDEyMiw1MCw3MywxMTAsMTE1LDExNiw5NywxMDgsCi0gICAgMTA4LDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsMzIsOTcsMTE1LDMyLDExNiwKLSAgICAxMDQsMTAxLDMyLDEwNSwxMDksMTEyLDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDk3LDExNiwxMDUsMTExLAotICAgIDExMCwzMiwxMTEsMTAyLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDQ2LDExNCwxMzEsMSwwLAotICAgIDAsNzgsNDEsMTUsMTE0LDEzNywxLDAsMCwxMTQsMjQxLDAsMCwwLDExNCw3LAotICAgIDAsMCwwLDExNCw3OSwxLDAsMCwxMTQsMTk4LDAsMCwwLDExNCw4NywxLAotICAgIDAsMCwxMTQsMTAxLDEsMCwwLDExNCwxMDcsMSwwLDAsMTE0LDIyNCwwLDAsCi0gICAgMCwxMTQsMTEsMSwwLDAsMTE0LDIwLDEsMCwwLDExNCwzLDAsMCwwLAotICAgIDExNCw1NywwLDAsMCwxMTQsMjMsMSwwLDAsMTE0LDc0LDEsMCwwLDQxLAotICAgIDMsMTE0LDEzNSwxLDAsMCwxMTQsMTM2LDEsMCwwLDkwLDE3LDExNSwxMTcsMTEyLAotICAgIDExMiwxMTEsMTE0LDExNiwxMDEsMTAwLDk1LDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMTE1LDExNCw0LAotICAgIDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCw4LDk1LAotICAgIDEwNSwxMTAsMTE1LDExNiw5NywxMDgsMTA4LDE0OCw5LDAsMCwxMTUsMTYsMCwwLDAsCi0gICAgMCwyLDEzLDEsOSwxLDI4LDEsMTYsMSwxNiwxLDE1LDEsMTksMSwKLSAgICAxMTQsMTM4LDEsMCwwLDQxLDMsMTIyLDMsMTE5LDEwNSwxMTAsMTE0LDEsMCwwLAotICAgIDAsMTE0LDIsMCwwLDAsNDEsOTIsMTE0LDU5LDAsMCwwLDExNCwxMCwwLAotICAgIDAsMCwxMTQsMTEsMCwwLDAsMTE0LDE3LDAsMCwwLDExNCwxOSwwLDAsCi0gICAgMCwxMTQsMjgsMCwwLDAsMTE0LDM4LDAsMCwwLDExNCwzOSwwLDAsMCwKLSAgICAxMTQsNDMsMCwwLDAsMTE0LDQ0LDAsMCwwLDExNCw0NiwwLDAsMCwxMTQsCi0gICAgNTUsMCwwLDAsMTE0LDY1LDAsMCwwLDExNCw2OCwwLDAsMCwxMTQsNjYsCi0gICAgMCwwLDAsMjE4LDgsOTUsOTUsOTksMTExLDEwMCwxMDEsOTUsOTUsMTE0LDE5NCwwLAotICAgIDAsMCwxMTQsNjksMCwwLDAsMTE0LDEwOSwwLDAsMCwxMTQsOTIsMCwwLAotICAgIDAsMTE0LDk5LDAsMCwwLDExNCw4MiwwLDAsMCwxMTQsODMsMCwwLDAsCi0gICAgMTE0LDEwMiwwLDAsMCwxMTQsMTAzLDAsMCwwLDExNCwxMDUsMCwwLDAsMTE0LAotICAgIDExMiwwLDAsMCwxMTQsMTE0LDAsMCwwLDExNCwxNSwwLDAsMCwxMTQsMTg2LAotICAgIDAsMCwwLDExNCwxNCwwLDAsMCwxMTQsMTgsMCwwLDAsOTAsMTcsOTUsCi0gICAgODIsNjUsODcsOTUsNzcsNjUsNzEsNzMsNjcsOTUsNzgsODUsNzcsNjYsNjksODIsCi0gICAgMTE0LDEyNCwwLDAsMCwxMTQsMTM1LDAsMCwwLDExNCwxMTksMCwwLDAsMTE0LAotICAgIDEyMCwwLDAsMCwxMTQsMTMyLDAsMCwwLDExNCwxMzYsMCwwLDAsMTE0LDE0MywKLSAgICAwLDAsMCwxMTQsMTQ1LDAsMCwwLDExNCwxNTMsMCwwLDAsMTE0LDE1NywwLAotICAgIDAsMCwxMTQsMTYyLDAsMCwwLDExNCwxNjUsMCwwLDAsMTE0LDE3MywwLDAsCi0gICAgMCwxMTQsMTgxLDAsMCwwLDExNCwxOTEsMCwwLDAsMTE0LDE5NiwwLDAsMCwKLSAgICAxMTQsMTk5LDAsMCwwLDExNCwyMDQsMCwwLDAsMTE0LDIxMiwwLDAsMCwxMTQsCi0gICAgMjEzLDAsMCwwLDExNCwyMTcsMCwwLDAsMTE0LDE3NCwwLDAsMCwyMTgsNiwKLSAgICAxMTEsOTgsMTA2LDEwMSw5OSwxMTYsMTE0LDI0MiwwLDAsMCwxMTQsMjQwLDAsMCwwLAotICAgIDExNCwyNDgsMCwwLDAsMTE0LDE3NSwwLDAsMCwxMTQsMTAsMSwwLDAsMTE0LAotICAgIDExLDEsMCwwLDExNCwyMCwxLDAsMCwxMTQsMjMsMSwwLDAsMTE0LDMzLAotICAgIDEsMCwwLDExNCwzNCwxLDAsMCwxMTQsNDksMSwwLDAsMTE0LDksMSwKLSAgICAwLDAsMTE0LDgsMSwwLDAsMTE0LDYwLDEsMCwwLDExNCw1NywxLDAsCi0gICAgMCwxMTQsNjEsMSwwLDAsMTE0LDI1MiwwLDAsMCwxMTQsNzQsMSwwLDAsCi0gICAgMTE0LDg3LDEsMCwwLDExNCwxMDIsMSwwLDAsMTE0LDEwNSwxLDAsMCwxMTQsCi0gICAgMTA2LDEsMCwwLDExNCwxMDgsMSwwLDAsMTE0LDExMSwxLDAsMCwxMTQsMTIwLAotICAgIDEsMCwwLDExNCwxMTIsMSwwLDAsMTE0LDExNCwxLDAsMCwxMTQsMTE1LDEsCi0gICAgMCwwLDExNCwxMTYsMSwwLDAsMTE0LDEyMiwxLDAsMCwxMTQsMTI0LDEsMCwKLSAgICAwLDExNCwyNDEsMCwwLDAsMTE0LDEyNywxLDAsMCwxMTQsMTI4LDEsMCwwLAotICAgIDExNCwxMzcsMSwwLDAsMTE0LDEzOCwxLDAsMCwxMTQsNCwwLDAsMCwxMTQsCi0gICAgNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsOCwKLSAgICA2MCwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw2Miw4LDAsMCwwLDExNSwxNzAsMCwwLAotICAgIDAsNiwxNyw2LDMsMTIsMTIsMTIsNSwxMiw1LDEyLDYsMTIsMTIsMTIsCi0gICAgMTAsMTIsOSwxMiw1LDEyLDcsMTUsMjIsMTIsOCwxMiw0LDE1LDQsMTksCi0gICAgMjAsNiwyLDYsMywyMiw0LDE5LDY4LDE5LDIxLDE5LDE5LDEyLDE5LDEyLAotICAgIDIwLDEyLDExNCwyMiwxLDE4LDIsNiwyLDksMiw5LDEsOSwyLDE1LAotICAgIDI3LDEyLDIzLDEyLDE5LDEyLDEyLDE4LDgsMTIsMTgsMTIsMTEsMTIsMTEsMTIsCi0gICAgMTcsMTIsMTYsMjEsNTUsMjEsMTIsMTgsMTAsMTIsMTQsMTIsMzYsMTksMjcsMTksCi0gICAgMTA2LDI0LDIyLDksMywxMiwxLDE1LDYzLDE4LDQ1LDE5LDIzMCwxNSwyNSwxOSwKLSAgICA3MCwxOSw3MSwxOSw2MywxOSwyNCwyMiwxMTAsMTksNDEsMjUsNDMsMjUsMTYsNiwKLSAgICAzLDE5LDU3LDE5LDU3LDE5LDM4LDE5LDEyOSwxOSwxNDYsMTksMTMsMTIsOSwxMiwKLSAgICA5LDE1LDQwLDEyLDE3LDYsMSwxMCwyLDEyLDI3LDEyLDYsMTgsMjQsMTIsCi0gICAgMzIsMTIsMTUsMTIsMTEsMjQsMzUsMTIsOCwxMiw4NywKKyAgICAxLDAsMjQsMTI1LDgsMCwxMTYsNCwwLDEwNiw1LDAsMTI0LDUsMCwxMDYsCisgICAgNiwwLDEwMCwyLDAsMTE2LDMsMCwxMjQsNSwwLDEwNiw2LDAsMTMxLDEsCisgICAgMCwxMjQsOCwwLDI0LDEzMywyLDAsMjUsMjUsODMsMTEwLDE2LDAsMTE2LDcsCisgICAgMCwxMjQsNSwwLDEyNCwzLDAsMTE2LDAsMCwxMzEsMywwLDgzLDEwMCwyLAorICAgIDAsODMsNDEsNCw5NywyMTQsMSwwLDAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwzMiwKKyAgICA5NywzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw0NiwxMCwxMCwzMiwzMiwzMiwzMiw4NCwKKyAgICAxMDQsMTAxLDMyLDM5LDEwMywxMDgsMTExLDk4LDk3LDEwOCwxMTUsMzksMzIsOTcsMTE0LDEwMywKKyAgICAxMTcsMTA5LDEwMSwxMTAsMTE2LDMyLDEwNSwxMTUsMzIsMTE3LDExNSwxMDEsMTAwLDMyLDExNiwxMTEsCisgICAgMzIsMTA1LDExMCwxMDIsMTAxLDExNCwzMiwxMTksMTA0LDEwMSwxMTQsMTAxLDMyLDExNiwxMDQsMTAxLAorICAgIDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDMyLDEwNSwxMTUsMzIsMTExLDk5LDk5LDExNywxMTQsCisgICAgMTA1LDExMCwxMDMsMzIsMTAyLDExNCwxMTEsMTA5LDEwLDMyLDMyLDMyLDMyLDExNiwxMTEsMzIsCisgICAgMTA0LDk3LDExMCwxMDAsMTA4LDEwMSwzMiwxMTQsMTAxLDEwOCw5NywxMTYsMTA1LDExOCwxMDEsMzIsCisgICAgMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTE1LDQ2LDMyLDg0LDEwNCwxMDEsMzIsMzksMTA4LDExMSwKKyAgICA5OSw5NywxMDgsMTE1LDM5LDMyLDk3LDExNCwxMDMsMTE3LDEwOSwxMDEsMTEwLDExNiwzMiwxMDUsCisgICAgMTE1LDMyLDEwNSwxMDMsMTEwLDExMSwxMTQsMTAxLDEwMCw0NiwzMiw4NCwxMDQsMTAxLDEwLDMyLAorICAgIDMyLDMyLDMyLDM5LDEwMiwxMTQsMTExLDEwOSwxMDgsMTA1LDExNSwxMTYsMzksMzIsOTcsMTE0LAorICAgIDEwMywxMTcsMTA5LDEwMSwxMTAsMTE2LDMyLDExNSwxMTIsMTAxLDk5LDEwNSwxMDIsMTA1LDEwMSwxMTUsCisgICAgMzIsMTE5LDEwNCw5NywxMTYsMzIsMTE1LDEwNCwxMTEsMTE3LDEwOCwxMDAsMzIsMTAxLDEyMCwxMDUsCisgICAgMTE1LDExNiwzMiw5NywxMTUsMzIsOTcsMTE2LDExNiwxMTQsMTA1LDk4LDExNywxMTYsMTAxLDExNSwKKyAgICAzMiwxMTEsMTEwLDMyLDExNiwxMDQsMTAxLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDEwLDMyLAorICAgIDMyLDMyLDMyLDk4LDEwMSwxMDUsMTEwLDEwMywzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsCisgICAgMTAwLDMyLDQwLDEwMSw0NiwxMDMsNDYsMzIsOTYsOTYsMTAyLDExNCwxMTEsMTA5LDMyLDEwOSwKKyAgICAxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDMyLDYwLDEwMiwxMTQsCisgICAgMTExLDEwOSwxMDgsMTA1LDExNSwxMTYsNjIsOTYsOTYsNDEsNDYsMzIsMzIsODQsMTA0LDEwMSwKKyAgICAzMiwzOSwxMDgsMTAxLDExOCwxMDEsMTA4LDM5LDEwLDMyLDMyLDMyLDMyLDk3LDExNCwxMDMsCisgICAgMTE3LDEwOSwxMDEsMTEwLDExNiwzMiwxMTQsMTAxLDExMiwxMTQsMTAxLDExNSwxMDEsMTEwLDExNiwxMTUsCisgICAgMzIsMTE2LDEwNCwxMDEsMzIsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDMyLDEwOCwxMTEsOTksCisgICAgOTcsMTE2LDEwNSwxMTEsMTEwLDMyLDExNiwxMTEsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMzIsCisgICAgMTAyLDExNCwxMTEsMTA5LDMyLDEwNSwxMTAsMzIsOTcsMzIsMTE0LDEwMSwxMDgsOTcsMTE2LDEwNSwKKyAgICAxMTgsMTAxLDEwLDMyLDMyLDMyLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDMyLDQwLDEwMSwKKyAgICA0NiwxMDMsNDYsMzIsOTYsOTYsMTAyLDExNCwxMTEsMTA5LDMyLDQ2LDQ2LDExMiwxMDcsMTAzLAorICAgIDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDMyLDEwOSwxMTEsMTAwLDk2LDk2LDMyLDExOSwxMTEsCisgICAgMTE3LDEwOCwxMDAsMzIsMTA0LDk3LDExOCwxMDEsMzIsOTcsMzIsMzksMTA4LDEwMSwxMTgsMTAxLAorICAgIDEwOCwzOSwzMiwxMTEsMTAyLDMyLDUwLDQxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDExNCwKKyAgICA4NCwwLDAsMCw3OCwxMTQsMTE2LDAsMCwwLDQxLDgsMTE0LDExNSwxLDAsCisgICAgMCwxMTQsMTIzLDEsMCwwLDExNCwxMzQsMCwwLDAsMTE0LDMxLDAsMCwwLAorICAgIDExNCw3LDAsMCwwLDExNCw3MywwLDAsMCwxMTQsNTcsMCwwLDAsMTE0LAorICAgIDEyMSwxLDAsMCw0MSw5LDExNCw2NywwLDAsMCwxMTQsMTIyLDEsMCwwLAorICAgIDIxOCw2LDEwOCwxMTEsOTksOTcsMTA4LDExNSwxMTQsMTIwLDEsMCwwLDExNCwxMDMsMSwKKyAgICAwLDAsMTE0LDE3OCwwLDAsMCw5MCw4LDEwMywxMDgsMTExLDk4LDk3LDEwOCwxMTUsCisgICAgOTUsMTE0LDEwMiwxLDAsMCw5MCw3LDk5LDExNywxMTYsOTUsMTExLDEwMiwxMDIsMTE0LAorICAgIDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDEwLAorICAgIDk1LDk1LDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDk1LDk1LDI0Miw4LDAsMCwxMTUsMjYsCisgICAgMCwwLDAsMCwxMSwxMiwxLDE1LDIsMjQsMSwxMiwxLDE4LDEsNiwKKyAgICAzLDEyLDEsMjMsMSw2LDEsNCw0LDM1LDMsNDAsMiwxMTQsMTI2LDEsCisgICAgMCwwLDk5LDEsMCwwLDAsMCwwLDAsMCwyLDAsMCwwLDMsCisgICAgMCwwLDAsNjcsMCwwLDAsMTE1LDUzLDAsMCwwLDExNiwwLDAsMTA2LAorICAgIDEsMCwxMjQsMCwwLDEzMSwxLDAsMTI1LDEsMCwxMjQsMSwwLDEwMCwwLAorICAgIDAsMTA3LDgsMCwxMTQsNDMsMCwxMTYsMiwwLDEwMCwxLDAsMTI0LDAsMCwKKyAgICAyMywxMzEsMSwwLDEzMCwxLDAsMTE2LDMsMCwxMjQsMSwwLDEzMSwxLDAsCisgICAgODMsNDEsMiw3OCwxMjIsMjUsMTEwLDExMSwzMiw5OCwxMTcsMTA1LDEwOCwxMTYsNDUsMTA1LAorICAgIDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMTAsOTcsMTA5LDEwMSwxMDAsMzIsNDEsCisgICAgNCwxMTQsOSwxLDAsMCwxMTQsMTIsMSwwLDAsMTE0LDE1NCwwLDAsMCwKKyAgICAxMTQsNSwxLDAsMCw0MSwyLDExNCw2NywwLDAsMCwxMTQsMTc3LDAsMCwKKyAgICAwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLAorICAgIDIxOCwxOCw5NSw5OCwxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCw5NSwxMDIsMTE0LDExMSwxMDksOTUsCisgICAgMTEwLDk3LDEwOSwxMDEsMjEsOSwwLDAsMTE1LDgsMCwwLDAsMCwxLDE1LAorICAgIDEsMTIsMSwxNiwxLDExNCwxMjcsMSwwLDAsOTksMiwwLDAsMCwwLAorICAgIDAsMCwwLDE4LDAsMCwwLDEyLDAsMCwwLDY3LDAsMCwwLDExNSwKKyAgICAyMDgsMiwwLDAsMTI0LDEsMCw5NywwLDAsMTI0LDAsMCw5NywxLDAsCisgICAgMTE2LDEsMCwxMDYsMiwwLDEwNiwzLDAsMTE0LDMzLDAsMTE2LDQsMCw5NywKKyAgICA1LDAsMTEwLDYsMCwxMTYsNiwwLDk3LDUsMCwxMTYsNywwLDExNiwxLAorICAgIDAsMTMxLDEsMCwxMjUsMiwwLDEyMCwxMjMsMCwxMTYsMSwwLDEwNiw4LDAsCisgICAgMTA2LDksMCwxMzEsMCwwLDY4LDkzLDEwNiwwLDkyLDIsMCwxMjUsMywwLAorICAgIDEyNSw0LDAsMTE2LDEwLDAsMTI0LDQsMCwxMjQsMiwwLDEzMSwyLDAsMTE0LAorICAgIDY3LDAsMTI0LDMsMCwxMTYsMSwwLDEwNiwxMSwwLDEwNyw2LDAsMTE0LDExOCwKKyAgICAwLDExNiwxMiwwLDEyNSw1LDAsMTEwLDI3LDAsMTE2LDAsMCwxMDYsMTMsMCwKKyAgICAxMjQsMywwLDEzMSwxLDAsMTE0LDY3LDAsMTE2LDE0LDAsMTI1LDUsMCwxMTAsCisgICAgMywwLDExMyw2NywwLDExNiwxNSwwLDEyNCw0LDAsMTI0LDUsMCwxMzEsMiwKKyAgICAwLDEyNSw2LDAsMTE2LDE2LDAsMTI0LDYsMCwxMjQsNCwwLDEzMSwyLDAsCisgICAgMSwxMTMsNjcsMCw4NywxMTYsMSwwLDEwNiw4LDAsMTE2LDE3LDAsMjUsMTI1LAorICAgIDcsMCwxMjAsNzMsMCwxMDAsMjYsMCw2OCw5Myw2NSwwLDEyNSw4LDAsMTI0LAorICAgIDgsMCwxMTYsMSwwLDEwNiw4LDAsMTA3LDcsMCwxMTQsMjMzLDAsMTE2LDE4LAorICAgIDAsMTI0LDgsMCwxMzEsMSwwLDEyNSw5LDAsMTEwLDEzLDAsMTE2LDEsMCwKKyAgICAxMDYsOCwwLDEyNCw4LDAsMjUsMTI1LDksMCwxMTYsMTksMCwxMjQsNywwLAorICAgIDEyNCw4LDAsMTI0LDksMCwxMzEsMywwLDEsMTEzLDE5NywwLDg3LDEwMCw1LAorICAgIDAsMTAwLDYsMCwxMDMsMSwwLDEwMiwyLDAsMTAwLDcsMCwxMDAsOCwwLAorICAgIDEwMCw2LDAsMTAzLDIsMCwxMDIsMiwwLDEwMiwyLDAsMTI1LDEwLDAsMTIwLAorICAgIDE0NiwwLDEyNCwxMCwwLDY4LDkzLDEyNiwwLDkyLDIsMCwxMjUsMTEsMCwxMjUsCisgICAgMTIsMCwxMTYsMjAsMCwxMDAsOSwwLDEwMCwxMCwwLDEzMiwwLDAsMTI0LDEyLAorICAgIDAsNjgsMTMxLDEsMCwxMzEsMSwwLDExNSw5MywxLDExNiwyMSwwLDEzMCwxLAorICAgIDAsMTI0LDEyLDAsMTAwLDExLDAsMjUsMTI1LDEzLDAsMTI0LDExLDAsMTE2LDEsCisgICAgMCwxMDYsOCwwLDEwNyw2LDAsMTE0LDEzNSwxLDExNiwxLDAsMTA2LDgsMCwKKyAgICAxMjQsMTEsMCwyNSwxMjUsMTQsMCw4MCwxMTMsNTAsMSwxMjEsMTcsMCwxMTYsMTgsCisgICAgMCwxMjQsMTEsMCwxMzEsMSwwLDEyNSwxNCwwLDgwLDg3LDExMyw1MCwxLDQsCisgICAgMTE2LDIyLDAsMTA3LDEwLDAsMTE0LDE3NSwxLDEsMSwxLDExOSw1MCwxLDg5LAorICAgIDExMyw1MCwxLDg4LDExMyw1MCwxLDg3LDExNiwyMiwwLDEwMCwxMiwwLDEzMSwxLAorICAgIDAsMTMwLDEsMCwxMTYsMTksMCwxMjQsNywwLDEwMCwxMywwLDEyNCwxNCwwLAorICAgIDEzMSwzLDAsMSwxMTYsMTksMCwxMjQsNywwLDEwMCwxNCwwLDEyNCwxMywwLAorICAgIDEzMSwzLDAsMSwxMTYsMTksMCwxMjQsNywwLDEwMCwxNSwwLDEwMCwxNiwwLAorICAgIDEwNiwyMywwLDEyNCwxMiwwLDEzMSwxLDAsMTMxLDMsMCwxLDEyMSwxNiwwLAorICAgIDExNiwxOCwwLDEwMCwxNywwLDEzMSwxLDAsMTI1LDE1LDAsODcsMTEwLDI0LDAsCisgICAgNCwxMTYsMjIsMCwxMDcsMTAsMCwxMTQsMzUsMiwxLDEsMSwxMDAsMTgsMCwKKyAgICAxMjUsMTUsMCw4OSwxMTAsMSwwLDg4LDExNiwxOSwwLDEyNCw3LDAsMTAwLDE3LAorICAgIDAsMTI0LDE1LDAsMTMxLDMsMCwxLDExNiwxOCwwLDEwMCwxOSwwLDEzMSwxLAorICAgIDAsMTI1LDE2LDAsMTE2LDE5LDAsMTI0LDcsMCwxMDAsMTksMCwxMjQsMTYsMCwKKyAgICAxMzEsMywwLDEsMTI0LDExLDAsMTAwLDcsMCwxMDcsMiwwLDExNCwxMjAsMiwKKyAgICAxMTYsMTgsMCwxMDAsMjAsMCwxMzEsMSwwLDEyNSwxNywwLDExNiwxOSwwLDEyNCwKKyAgICA3LDAsMTAwLDIxLDAsMTI0LDE3LDAsMTMxLDMsMCwxLDExNiwxOSwwLDEyNCwKKyAgICA3LDAsMTAwLDIyLDAsMTE2LDI0LDAsMTMxLDAsMCwxMzEsMywwLDEsMTE2LAorICAgIDI1LDAsMTA2LDI2LDAsMTE2LDAsMCwxMDYsMjcsMCwxMzEsMCwwLDEzMSwxLAorICAgIDAsMSwxMjQsMTEsMCwxMDAsNywwLDEwNywyLDAsMTE0LDIwNCwyLDExNiwyOCwKKyAgICAwLDEwNiwyOSwwLDEwMCwyMywwLDEzMSwxLDAsMSwxMDAsMjQsMCwxMTYsMjUsCisgICAgMCwxMDcsNiwwLDExNCwyMDQsMiwxMDAsMjUsMCwxMTYsMzAsMCw5NSwzMSwwLAorICAgIDEwMCwxOCwwLDgzLDQxLDI3LDEyMiwyNTAsODMsMTAxLDExNiwxMTcsMTEyLDMyLDEwNSwxMDksCisgICAgMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsMzIsOTgsMTIxLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsCisgICAgMTE2LDEwNSwxMTAsMTAzLDMyLDExMCwxMDEsMTAxLDEwMCwxMDEsMTAwLDMyLDk4LDExNywxMDUsMTA4LAorICAgIDExNiw0NSwxMDUsMTEwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNSwzMiw5NywxMTAsMTAwLAorICAgIDMyLDEwNSwxMTAsMTA2LDEwMSw5OSwxMTYsMTA1LDExMCwxMDMsMzIsMTE2LDEwNCwxMDEsMTA5LDEwLAorICAgIDMyLDMyLDMyLDMyLDEwNSwxMTAsMTE2LDExMSwzMiwxMTYsMTA0LDEwMSwzMiwxMDMsMTA4LDExMSwKKyAgICA5OCw5NywxMDgsMzIsMTEwLDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwxMDEsNDYsMTAsMTAsCisgICAgMzIsMzIsMzIsMzIsNjUsMTE1LDMyLDExNSwxMjEsMTE1LDMyLDEwNSwxMTUsMzIsMTEwLDEwMSwKKyAgICAxMDEsMTAwLDEwMSwxMDAsMzIsMTAyLDExMSwxMTQsMzIsMTE1LDEyMSwxMTUsNDYsMTA5LDExMSwxMDAsCisgICAgMTE3LDEwOCwxMDEsMTE1LDMyLDk3LDk5LDk5LDEwMSwxMTUsMTE1LDMyLDk3LDExMCwxMDAsMzIsCisgICAgOTUsMTA1LDEwOSwxMTIsMzIsMTA1LDExNSwzMiwxMTAsMTAxLDEwMSwxMDAsMTAxLDEwMCwzMiwxMTYsCisgICAgMTExLDMyLDEwOCwxMTEsOTcsMTAwLDMyLDk4LDExNywxMDUsMTA4LDExNiw0NSwxMDUsMTEwLDEwLAorICAgIDMyLDMyLDMyLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNSw0NCwzMiwxMTYsMTA0LDExMSwKKyAgICAxMTUsMTAxLDMyLDExNiwxMTksMTExLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNSwzMiwxMDksCisgICAgMTE3LDExNSwxMTYsMzIsOTgsMTAxLDMyLDEwMSwxMjAsMTEyLDEwOCwxMDUsOTksMTA1LDExNiwxMDgsCisgICAgMTIxLDMyLDExMiw5NywxMTUsMTE1LDEwMSwxMDAsMzIsMTA1LDExMCw0NiwxMCwxMCwzMiwzMiwKKyAgICAzMiwzMiwxMTQsNDksMCwwLDAsMTE0LDE2NywwLDAsMCwyMTgsOCw5OCwxMTcsCisgICAgMTA1LDEwOCwxMTYsMTA1LDExMCwxMTUsMTE0LDE5MCwwLDAsMCw5MCw1LDExMiwxMTEsMTE1LAorICAgIDEwNSwxMjAsMjUwLDEsNDcsMjE4LDIsMTEwLDExNiwyNTAsMSw5Miw5OSwxLDAsMCwKKyAgICAwLDAsMCwwLDAsMiwwLDAsMCwzLDAsMCwwLDExNSwwLDAsCisgICAgMCwxMTUsMzMsMCwwLDAsMTI0LDAsMCw5MywyMywwLDEyNSwxLDAsMTE2LAorICAgIDAsMCwxMjQsMSwwLDEzMSwxLDAsMTAwLDAsMCwxMDcsMiwwLDg2LDEsCisgICAgMTEzLDMsMCwxMDAsMSwwLDgzLDQxLDIsMTE0LDI5LDAsMCwwLDc4LDQxLAorICAgIDEsMTE0LDMxLDAsMCwwLDQxLDIsMTE0LDIyLDAsMCwwLDExNCwxMjksMCwKKyAgICAwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLAorICAgIDAsMTE0LDc3LDAsMCwwLDcxLDksMCwwLDExNSwyLDAsMCwwLDYsCisgICAgMCwxMjIsMjUsOTUsMTE1LDEwMSwxMTYsMTE3LDExMiw0Niw2MCwxMDgsMTExLDk5LDk3LDEwOCwKKyAgICAxMTUsNjIsNDYsNjAsMTAzLDEwMSwxMTAsMTAxLDEyMCwxMTIsMTE0LDYyLDExNCw4NCwwLDAsCisgICAgMCwxMjIsMzAsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LDEwNSw5OCwzMiwxMTQsMTAxLDExMywKKyAgICAxMTcsMTA1LDExNCwxMDEsMTE1LDMyLDExMiwxMTEsMTE1LDEwNSwxMjAsMzIsMTExLDExNCwzMiwxMTAsCisgICAgMTE2LDExNCwzLDAsMCwwLDExNCwyNSwwLDAsMCwxMTQsMjEsMCwwLDAsCisgICAgMTE0LDMwLDAsMCwwLDExNCw4NSwwLDAsMCw3OCwxMTQsMTExLDAsMCwwLAorICAgIDkwLDYsMTE5LDEwNSwxMTAsMTE0LDEwMSwxMDMsMTE0LDIzLDEsMCwwLDExNCw2LDAsCisgICAgMCwwLDEyMiw0LDQ2LDExMiwxMjEsMTE5LDEyMiw2LDk1LDEwMCw0NiwxMTIsMTIxLDEwMCwKKyAgICA4NCw0MSw0LDEyMiwzLDk1LDEwNSwxMTEsMTIyLDksOTUsMTE5LDk3LDExNCwxMTAsMTA1LAorICAgIDExMCwxMDMsMTE1LDEyMiw4LDk4LDExNywxMDUsMTA4LDExNiwxMDUsMTEwLDExNSwxMjIsNywxMDksCisgICAgOTcsMTE0LDExNSwxMDQsOTcsMTA4LDQxLDMyLDExNCwxMDYsMCwwLDAsMTE0LDcsMCwKKyAgICAwLDAsMTE0LDExNywwLDAsMCwxMTQsMTE4LDAsMCwwLDExNCwxMjAsMCwwLAorICAgIDAsMTE0LDIzMiwwLDAsMCwxMTQsMTE5LDAsMCwwLDExNCw2NiwwLDAsMCwKKyAgICAxMTQsNzMsMCwwLDAsMjE4LDUsMTA1LDExNiwxMDEsMTA5LDExNSwxMTQsMTkxLDAsMCwKKyAgICAwLDExNCwxNTgsMCwwLDAsMTE0LDksMSwwLDAsMTE0LDE2MywwLDAsMCwKKyAgICAxMTQsMTgsMSwwLDAsMTE0LDI0NywwLDAsMCwxMTQsMjUzLDAsMCwwLDExNCwKKyAgICA1NywwLDAsMCwxMTQsMTI3LDEsMCwwLDExNCw2MSwwLDAsMCwyMTgsMywKKyAgICA5NywxMDgsMTA4LDExNCwxMDAsMCwwLDAsMTE0LDE1NCwwLDAsMCwxMTQsMjYsMCwKKyAgICAwLDAsMTE0LDExLDAsMCwwLDExNCw1OSwxLDAsMCwxMTQsMTk2LDAsMCwKKyAgICAwLDExNCwxMjQsMSwwLDAsMTE0LDEzNSwwLDAsMCwxMTQsMjIzLDAsMCwwLAorICAgIDExNCwyMiwxLDAsMCwxMTQsMjYsMSwwLDAsNDEsMTgsMjE4LDEwLDExNSwxMjEsCisgICAgMTE1LDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDIxOCwxMSw5NSwxMDUsMTA5LDExMiw5NSwxMDksCisgICAgMTExLDEwMCwxMTcsMTA4LDEwMSw5MCwxMSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5NSwxMTYsMTIxLAorICAgIDExMiwxMDEsMTE0LDY3LDAsMCwwLDExNCwxNzgsMCwwLDAsMTE0LDE3MCwwLDAsCisgICAgMCwxMTQsMTc3LDAsMCwwLDkwLDExLDExNSwxMDEsMTA4LDEwMiw5NSwxMDksMTExLDEwMCwKKyAgICAxMTcsMTA4LDEwMSw5MCwxMiw5OCwxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCw5NSwxMTAsOTcsMTA5LAorICAgIDEwMSw5MCwxNCw5OCwxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LAorICAgIDEwMSw5MCwxMCwxMTEsMTE1LDk1LDEwMCwxMDEsMTE2LDk3LDEwNSwxMDgsMTE1LDkwLDEwLDk4LAorICAgIDExNywxMDUsMTA4LDExNiwxMDUsMTEwLDk1LDExMSwxMTUsMTE0LDIxLDAsMCwwLDExNCwyNSwKKyAgICAwLDAsMCw5MCw5LDExMSwxMTUsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTAsMTMsCisgICAgMTE2LDEwNCwxMTQsMTAxLDk3LDEwMCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5MCwxNCwxMTksCisgICAgMTAxLDk3LDEwNywxMTQsMTAxLDEwMiw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5MCwxMywxMTksCisgICAgMTA1LDExMCwxMTQsMTAxLDEwMyw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTQsNCwwLDAsCisgICAgMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsNiw5NSwxMTUsMTAxLAorICAgIDExNiwxMTcsMTEyLDI4LDksMCwwLDExNSwxMDYsMCwwLDAsMCw5LDYsMSwKKyAgICA2LDIsMTIsMSw5LDIsNiwzLDEyLDEsMjgsMSwxNSwxLDE1LDEsCisgICAgOSwxLDE1LDEsOSwyLDMsMSwxNSwxLDE3LDMsMTMsMSwxMywxLAorICAgIDE1LDEsMTUsMiwxMywxLDIwLDMsMzMsMSwxOSwyLDMxLDEsMTAsMSwKKyAgICAxNSwxLDEzLDEsNCwyLDMsMSwxMiwxLDUsMSwxMywxLDEyLDIsCisgICAgMTIsMSwxNiwxLDE2LDEsMjUsMywzLDEsMTYsMSwxMywyLDExLDEsCisgICAgMTYsMywxMiwxLDE2LDMsMTIsMSwxMiwxLDE2LDMsMTksMSwxOSwxLAorICAgIDEyLDEsMTMsMSwxMiwxLDExNCwxMzYsMSwwLDAsOTksMiwwLDAsMCwKKyAgICAwLDAsMCwwLDMsMCwwLDAsMywwLDAsMCw2NywwLDAsMCwKKyAgICAxMTUsMTMzLDAsMCwwLDExNiwwLDAsMTI0LDAsMCwxMjQsMSwwLDEzMSwyLAorICAgIDAsMSwxMTYsMSwwLDEzMSwwLDAsMTI1LDIsMCwxMTYsMiwwLDEwNiwzLAorICAgIDAsMTA2LDQsMCwxMTYsNSwwLDEwNiw2LDAsMTI0LDIsMCwxNDAsMCwwLAorICAgIDEwMywxLDAsMTMxLDEsMCwxLDExNiwyLDAsMTA2LDcsMCwxMDYsOCwwLAorICAgIDExNiw5LDAsMTMxLDEsMCwxLDExNiwyLDAsMTA2LDcsMCwxMDYsOCwwLAorICAgIDExNiwxMCwwLDEzMSwxLDAsMSwxMTYsMTEsMCwxMDYsMTIsMCwxMDAsMSwwLAorICAgIDEwNywyLDAsMTE0LDExMywwLDExNiwyLDAsMTA2LDcsMCwxMDYsOCwwLDExNiwKKyAgICAxMywwLDEzMSwxLDAsMSwxMTYsMiwwLDEwNiw3LDAsMTA2LDgsMCwxMTYsCisgICAgMTQsMCwxMzEsMSwwLDEsMTAwLDIsMCw4Myw0MSwzLDEyMiw1MCw3MywxMTAsCisgICAgMTE1LDExNiw5NywxMDgsMTA4LDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsMzIsCisgICAgOTcsMTE1LDMyLDExNiwxMDQsMTAxLDMyLDEwNSwxMDksMTEyLDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LAorICAgIDk3LDExNiwxMDUsMTExLDExMCwzMiwxMTEsMTAyLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDQ2LAorICAgIDExNCwxMzAsMSwwLDAsNzgsNDEsMTUsMTE0LDEzNiwxLDAsMCwxMTQsMjQwLDAsCisgICAgMCwwLDExNCw3LDAsMCwwLDExNCw3OCwxLDAsMCwxMTQsMTk2LDAsMCwKKyAgICAwLDExNCw4NywxLDAsMCwxMTQsMTAwLDEsMCwwLDExNCwxMDYsMSwwLDAsCisgICAgMTE0LDIyMywwLDAsMCwxMTQsOSwxLDAsMCwxMTQsMTgsMSwwLDAsMTE0LAorICAgIDMsMCwwLDAsMTE0LDU3LDAsMCwwLDExNCwyMiwxLDAsMCwxMTQsNzMsCisgICAgMSwwLDAsNDEsMywxMTQsMTM0LDEsMCwwLDExNCwxMzUsMSwwLDAsOTAsCisgICAgMTcsMTE1LDExNywxMTIsMTEyLDExMSwxMTQsMTE2LDEwMSwxMDAsOTUsMTA4LDExMSw5NywxMDAsMTAxLAorICAgIDExNCwxMTUsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLAorICAgIDAsMjE4LDgsOTUsMTA1LDExMCwxMTUsMTE2LDk3LDEwOCwxMDgsMTE0LDksMCwwLDExNSwKKyAgICAxNiwwLDAsMCwwLDIsMTMsMSw5LDEsMjgsMSwxNiwxLDE2LDEsCisgICAgMTUsMSwxNiwxLDExNCwxMzcsMSwwLDAsNDEsMywxMjIsMywxMTksMTA1LDExMCwKKyAgICAxMTQsMSwwLDAsMCwxMTQsMiwwLDAsMCw0MSw5OCwxMTQsNTksMCwwLAorICAgIDAsMTE0LDEwLDAsMCwwLDExNCwxMSwwLDAsMCwxMTQsMTcsMCwwLDAsCisgICAgMTE0LDE5LDAsMCwwLDExNCwyOCwwLDAsMCwxMTQsMzgsMCwwLDAsMTE0LAorICAgIDM5LDAsMCwwLDExNCw0MywwLDAsMCwxMTQsNDQsMCwwLDAsMTE0LDQ2LAorICAgIDAsMCwwLDExNCw1NSwwLDAsMCwxMTQsNjUsMCwwLDAsMTE0LDY4LDAsCisgICAgMCwwLDExNCw2NiwwLDAsMCwyMTgsOCw5NSw5NSw5OSwxMTEsMTAwLDEwMSw5NSwKKyAgICA5NSwxMTQsMTkyLDAsMCwwLDExNCw2OSwwLDAsMCwxMTQsMTA5LDAsMCwwLAorICAgIDExNCw5MiwwLDAsMCwxMTQsOTksMCwwLDAsMTE0LDgyLDAsMCwwLDExNCwKKyAgICA4MywwLDAsMCwxMTQsMTAyLDAsMCwwLDExNCwxMDMsMCwwLDAsMTE0LDEwNSwKKyAgICAwLDAsMCwxMTQsMTEyLDAsMCwwLDExNCwxMTQsMCwwLDAsMTE0LDE1LDAsCisgICAgMCwwLDExNCwxODQsMCwwLDAsMTE0LDE0LDAsMCwwLDExNCwxOCwwLDAsCisgICAgMCw5MCwxNyw5NSw4Miw2NSw4Nyw5NSw3Nyw2NSw3MSw3Myw2Nyw5NSw3OCw4NSwKKyAgICA3Nyw2Niw2OSw4MiwxMTQsMTI0LDAsMCwwLDExNCwxMzUsMCwwLDAsMTE0LDExOSwKKyAgICAwLDAsMCwxMTQsMTIwLDAsMCwwLDExNCwxMzIsMCwwLDAsMTE0LDEzNiwwLAorICAgIDAsMCwxMTQsMTQzLDAsMCwwLDExNCwxNDUsMCwwLDAsMTE0LDE1MywwLDAsCisgICAgMCwxMTQsMTU3LDAsMCwwLDExNCwxNjIsMCwwLDAsMTE0LDE2NSwwLDAsMCwKKyAgICAxMTQsMTczLDAsMCwwLDExNCwxNzksMCwwLDAsMTE0LDE4OSwwLDAsMCwxMTQsCisgICAgMTk0LDAsMCwwLDExNCwxOTcsMCwwLDAsMTE0LDIwMiwwLDAsMCwxMTQsMjExLAorICAgIDAsMCwwLDExNCwyMTIsMCwwLDAsMTE0LDIxNiwwLDAsMCwxMTQsMTc0LDAsCisgICAgMCwwLDIxOCw2LDExMSw5OCwxMDYsMTAxLDk5LDExNiwxMTQsMjQxLDAsMCwwLDExNCwKKyAgICAyMzksMCwwLDAsMTE0LDI0NywwLDAsMCwxMTQsMjUzLDAsMCwwLDExNCwxLAorICAgIDEsMCwwLDExNCwyMDksMCwwLDAsMTE0LDE3NSwwLDAsMCwxMTQsNCwxLAorICAgIDAsMCwxMTQsNSwxLDAsMCwxMTQsMTc2LDAsMCwwLDExNCw4LDEsMCwKKyAgICAwLDExNCw5LDEsMCwwLDExNCwxOCwxLDAsMCwxMTQsMjIsMSwwLDAsCisgICAgMTE0LDMyLDEsMCwwLDExNCwzMywxLDAsMCwxMTQsNDgsMSwwLDAsMTE0LAorICAgIDcsMSwwLDAsMTE0LDYsMSwwLDAsMTE0LDU5LDEsMCwwLDExNCw1NiwKKyAgICAxLDAsMCwxMTQsNjAsMSwwLDAsMTE0LDI1MCwwLDAsMCwxMTQsNzMsMSwKKyAgICAwLDAsMTE0LDg3LDEsMCwwLDExNCwxMDEsMSwwLDAsMTE0LDEwNCwxLDAsCisgICAgMCwxMTQsMTA1LDEsMCwwLDExNCwxMDcsMSwwLDAsMTE0LDExMCwxLDAsMCwKKyAgICAxMTQsMTE5LDEsMCwwLDExNCwxMTEsMSwwLDAsMTE0LDExMywxLDAsMCwxMTQsCisgICAgMTE0LDEsMCwwLDExNCwxMTUsMSwwLDAsMTE0LDEyMSwxLDAsMCwxMTQsMTIzLAorICAgIDEsMCwwLDExNCwyNDAsMCwwLDAsMTE0LDEyNiwxLDAsMCwxMTQsMTI3LDEsCisgICAgMCwwLDExNCwxMzYsMSwwLDAsMTE0LDEzNywxLDAsMCwxMTQsNCwwLDAsCisgICAgMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwKKyAgICAyMTgsOCw2MCwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw2Miw4LDAsMCwwLDExNSwxODIsCisgICAgMCwwLDAsNiwxNyw2LDMsMTIsMTIsMTIsNSwxMiw1LDEyLDYsMTIsCisgICAgMTIsMTIsMTAsMTIsOSwxMiw1LDEyLDcsMTUsMjIsMTIsOCwxMiw0LDE1LAorICAgIDQsMTksMjAsNiwyLDYsMywyMiw0LDE5LDY4LDE5LDIxLDE5LDE5LDEyLAorICAgIDE5LDEyLDIwLDEyLDExNSwyMiwxLDE4LDIsNiwyLDksMiw5LDEsOSwKKyAgICAyLDE1LDI3LDEyLDIzLDEyLDE5LDEyLDEyLDE4LDgsMTIsMTgsMTIsMTEsMTIsCisgICAgMTEsMTIsMTgsMTIsMTUsMjEsNTUsMjEsMTIsMTgsMTAsMTIsMTQsMTIsMzYsMTksCisgICAgMjcsMTksMTA2LDI0LDIyLDksMywxMiwxLDE1LDYzLDE4LDQ1LDE4LDU2LDEyLAorICAgIDE4LDEyLDE3LDEyLDI1LDEyLDI5LDEyLDIzLDEyLDE0LDE1LDI1LDE5LDcwLDE5LAorICAgIDc1LDE5LDYzLDE5LDI3LDIyLDExMCwxOSw0MSwyNSw0MywyNSwxNiw2LDMsMTksCisgICAgNTcsMTksNTcsMTksNDEsMTksMTM0LDE5LDE0NiwxOSwxMywxMiw5LDEyLDksMTUsCisgICAgNDAsMTIsMTcsNiwxLDEwLDIsMTIsMjcsMTIsNiwxOCwyNCwxMiwzMiwxMiwKKyAgICAxNSwxMiwxMSwyNCwzNSwxMiw3LDEyLDg2LAogfTsKZGlmZiAtLWdpdCBhL1B5dGhvbi9tYXJzaGFsLmMgYi9QeXRob24vbWFyc2hhbC5jCmluZGV4IDZmMGVlNWUuLjVhY2YwZGUgMTAwNjQ0Ci0tLSBhL1B5dGhvbi9tYXJzaGFsLmMKKysrIGIvUHl0aG9uL21hcnNoYWwuYwpAQCAtMTMsMTUgKzEzLDEzIEBACiAjaW5jbHVkZSAiY29kZS5oIgogI2luY2x1ZGUgIm1hcnNoYWwuaCIKIAotI2RlZmluZSBBQlMoeCkgKCh4KSA8IDAgPyAtKHgpIDogKHgpKQotCiAvKiBIaWdoIHdhdGVyIG1hcmsgdG8gZGV0ZXJtaW5lIHdoZW4gdGhlIG1hcnNoYWxsZWQgb2JqZWN0IGlzIGRhbmdlcm91c2x5IGRlZXAKICAqIGFuZCByaXNrcyBjb3JpbmcgdGhlIGludGVycHJldGVyLiAgV2hlbiB0aGUgb2JqZWN0IHN0YWNrIGdldHMgdGhpcyBkZWVwLAogICogcmFpc2UgYW4gZXhjZXB0aW9uIGluc3RlYWQgb2YgY29udGludWluZy4KICAqIE9uIFdpbmRvd3MgZGVidWcgYnVpbGRzLCByZWR1Y2UgdGhpcyB2YWx1ZS4KICAqLwogI2lmIGRlZmluZWQoTVNfV0lORE9XUykgJiYgZGVmaW5lZChfREVCVUcpCi0jZGVmaW5lIE1BWF9NQVJTSEFMX1NUQUNLX0RFUFRIIDE1MDAKKyNkZWZpbmUgTUFYX01BUlNIQUxfU1RBQ0tfREVQVEggMTAwMAogI2Vsc2UKICNkZWZpbmUgTUFYX01BUlNIQUxfU1RBQ0tfREVQVEggMjAwMAogI2VuZGlmCkBAIC0xOTIsNyArMTkwLDcgQEAKICAgICB9CiAKICAgICAvKiBzZXQgbCB0byBudW1iZXIgb2YgYmFzZSBQeUxvbmdfTUFSU0hBTF9CQVNFIGRpZ2l0cyAqLwotICAgIG4gPSBBQlMoUHlfU0laRShvYikpOworICAgIG4gPSBQeV9BQlMoUHlfU0laRShvYikpOwogICAgIGwgPSAobi0xKSAqIFB5TG9uZ19NQVJTSEFMX1JBVElPOwogICAgIGQgPSBvYi0+b2JfZGlnaXRbbi0xXTsKICAgICBhc3NlcnQoZCAhPSAwKTsgLyogYSBQeUxvbmcgaXMgYWx3YXlzIG5vcm1hbGl6ZWQgKi8KQEAgLTcyNyw4ICs3MjUsOCBAQAogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKLSAgICBzaXplID0gMSArIChBQlMobikgLSAxKSAvIFB5TG9uZ19NQVJTSEFMX1JBVElPOwotICAgIHNob3J0c19pbl90b3BfZGlnaXQgPSAxICsgKEFCUyhuKSAtIDEpICUgUHlMb25nX01BUlNIQUxfUkFUSU87CisgICAgc2l6ZSA9IDEgKyAoUHlfQUJTKG4pIC0gMSkgLyBQeUxvbmdfTUFSU0hBTF9SQVRJTzsKKyAgICBzaG9ydHNfaW5fdG9wX2RpZ2l0ID0gMSArIChQeV9BQlMobikgLSAxKSAlIFB5TG9uZ19NQVJTSEFMX1JBVElPOwogICAgIG9iID0gX1B5TG9uZ19OZXcoc2l6ZSk7CiAgICAgaWYgKG9iID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwpkaWZmIC0tZ2l0IGEvUHl0aG9uL29wY29kZV90YXJnZXRzLmggYi9QeXRob24vb3Bjb2RlX3RhcmdldHMuaAppbmRleCBmOTBhMTdhLi4xNTUzYTdhIDEwMDY0NAotLS0gYS9QeXRob24vb3Bjb2RlX3RhcmdldHMuaAorKysgYi9QeXRob24vb3Bjb2RlX3RhcmdldHMuaApAQCAtMTUsOCArMTUsOCBAQAogICAgICYmX3Vua25vd25fb3Bjb2RlLAogICAgICYmX3Vua25vd25fb3Bjb2RlLAogICAgICYmVEFSR0VUX1VOQVJZX0lOVkVSVCwKLSAgICAmJl91bmtub3duX29wY29kZSwKLSAgICAmJl91bmtub3duX29wY29kZSwKKyAgICAmJlRBUkdFVF9CSU5BUllfTUFUUklYX01VTFRJUExZLAorICAgICYmVEFSR0VUX0lOUExBQ0VfTUFUUklYX01VTFRJUExZLAogICAgICYmX3Vua25vd25fb3Bjb2RlLAogICAgICYmVEFSR0VUX0JJTkFSWV9QT1dFUiwKICAgICAmJlRBUkdFVF9CSU5BUllfTVVMVElQTFksCmRpZmYgLS1naXQgYS9QeXRob24vcHlsaWZlY3ljbGUuYyBiL1B5dGhvbi9weWxpZmVjeWNsZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI1YTRhNjAKLS0tIC9kZXYvbnVsbAorKysgYi9QeXRob24vcHlsaWZlY3ljbGUuYwpAQCAtMCwwICsxLDE1MDIgQEAKKworLyogUHl0aG9uIGludGVycHJldGVyIHRvcC1sZXZlbCByb3V0aW5lcywgaW5jbHVkaW5nIGluaXQvZXhpdCAqLworCisjaW5jbHVkZSAiUHl0aG9uLmgiCisKKyNpbmNsdWRlICJQeXRob24tYXN0LmgiCisjdW5kZWYgWWllbGQgLyogdW5kZWZpbmUgbWFjcm8gY29uZmxpY3Rpbmcgd2l0aCB3aW5iYXNlLmggKi8KKyNpbmNsdWRlICJncmFtbWFyLmgiCisjaW5jbHVkZSAibm9kZS5oIgorI2luY2x1ZGUgInRva2VuLmgiCisjaW5jbHVkZSAicGFyc2V0b2suaCIKKyNpbmNsdWRlICJlcnJjb2RlLmgiCisjaW5jbHVkZSAiY29kZS5oIgorI2luY2x1ZGUgInN5bXRhYmxlLmgiCisjaW5jbHVkZSAiYXN0LmgiCisjaW5jbHVkZSAibWFyc2hhbC5oIgorI2luY2x1ZGUgIm9zZGVmcy5oIgorI2luY2x1ZGUgPGxvY2FsZS5oPgorCisjaWZkZWYgSEFWRV9TSUdOQUxfSAorI2luY2x1ZGUgPHNpZ25hbC5oPgorI2VuZGlmCisKKyNpZmRlZiBNU19XSU5ET1dTCisjaW5jbHVkZSAibWFsbG9jLmgiIC8qIGZvciBhbGxvY2EgKi8KKyNlbmRpZgorCisjaWZkZWYgSEFWRV9MQU5HSU5GT19ICisjaW5jbHVkZSA8bGFuZ2luZm8uaD4KKyNlbmRpZgorCisjaWZkZWYgTVNfV0lORE9XUworI3VuZGVmIEJZVEUKKyNpbmNsdWRlICJ3aW5kb3dzLmgiCisjZW5kaWYKKworX1B5X0lERU5USUZJRVIoZmx1c2gpOworX1B5X0lERU5USUZJRVIobmFtZSk7CitfUHlfSURFTlRJRklFUihzdGRpbik7CitfUHlfSURFTlRJRklFUihzdGRvdXQpOworX1B5X0lERU5USUZJRVIoc3RkZXJyKTsKKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCitleHRlcm4gd2NoYXJfdCAqUHlfR2V0UGF0aCh2b2lkKTsKKworZXh0ZXJuIGdyYW1tYXIgX1B5UGFyc2VyX0dyYW1tYXI7IC8qIEZyb20gZ3JhbWluaXQuYyAqLworCisvKiBGb3J3YXJkICovCitzdGF0aWMgdm9pZCBpbml0bWFpbihQeUludGVycHJldGVyU3RhdGUgKmludGVycCk7CitzdGF0aWMgaW50IGluaXRmc2VuY29kaW5nKFB5SW50ZXJwcmV0ZXJTdGF0ZSAqaW50ZXJwKTsKK3N0YXRpYyB2b2lkIGluaXRzaXRlKHZvaWQpOworc3RhdGljIGludCBpbml0c3RkaW8odm9pZCk7CitzdGF0aWMgdm9pZCBpbml0c2lncyh2b2lkKTsKK3N0YXRpYyB2b2lkIGNhbGxfcHlfZXhpdGZ1bmNzKHZvaWQpOworc3RhdGljIHZvaWQgd2FpdF9mb3JfdGhyZWFkX3NodXRkb3duKHZvaWQpOworc3RhdGljIHZvaWQgY2FsbF9sbF9leGl0ZnVuY3Modm9pZCk7CitleHRlcm4gaW50IF9QeVVuaWNvZGVfSW5pdCh2b2lkKTsKK2V4dGVybiBpbnQgX1B5U3RydWN0U2VxdWVuY2VfSW5pdCh2b2lkKTsKK2V4dGVybiB2b2lkIF9QeVVuaWNvZGVfRmluaSh2b2lkKTsKK2V4dGVybiBpbnQgX1B5TG9uZ19Jbml0KHZvaWQpOworZXh0ZXJuIHZvaWQgUHlMb25nX0Zpbmkodm9pZCk7CitleHRlcm4gaW50IF9QeUZhdWx0aGFuZGxlcl9Jbml0KHZvaWQpOworZXh0ZXJuIHZvaWQgX1B5RmF1bHRoYW5kbGVyX0Zpbmkodm9pZCk7CitleHRlcm4gdm9pZCBfUHlIYXNoX0Zpbmkodm9pZCk7CitleHRlcm4gaW50IF9QeVRyYWNlTWFsbG9jX0luaXQodm9pZCk7CitleHRlcm4gaW50IF9QeVRyYWNlTWFsbG9jX0Zpbmkodm9pZCk7CisKKyNpZmRlZiBXSVRIX1RIUkVBRAorZXh0ZXJuIHZvaWQgX1B5R0lMU3RhdGVfSW5pdChQeUludGVycHJldGVyU3RhdGUgKiwgUHlUaHJlYWRTdGF0ZSAqKTsKK2V4dGVybiB2b2lkIF9QeUdJTFN0YXRlX0Zpbmkodm9pZCk7CisjZW5kaWYgLyogV0lUSF9USFJFQUQgKi8KKworLyogR2xvYmFsIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgZGVjbGFyYXRpb25zIGFyZSBpbiBweWRlYnVnLmggKi8KKy8qIFhYWCAobmNvZ2hsYW4pOiBtb3ZlIHRob3NlIGRlY2xhcmF0aW9ucyB0byBweWxpZmVjeWNsZS5oPyAqLworaW50IFB5X0RlYnVnRmxhZzsgLyogTmVlZGVkIGJ5IHBhcnNlci5jICovCitpbnQgUHlfVmVyYm9zZUZsYWc7IC8qIE5lZWRlZCBieSBpbXBvcnQuYyAqLworaW50IFB5X1F1aWV0RmxhZzsgLyogTmVlZGVkIGJ5IHN5c21vZHVsZS5jICovCitpbnQgUHlfSW50ZXJhY3RpdmVGbGFnOyAvKiBOZWVkZWQgYnkgUHlfRmRJc0ludGVyYWN0aXZlKCkgYmVsb3cgKi8KK2ludCBQeV9JbnNwZWN0RmxhZzsgLyogTmVlZGVkIHRvIGRldGVybWluZSB3aGV0aGVyIHRvIGV4aXQgYXQgU3lzdGVtRXhpdCAqLworaW50IFB5X09wdGltaXplRmxhZyA9IDA7IC8qIE5lZWRlZCBieSBjb21waWxlLmMgKi8KK2ludCBQeV9Ob1NpdGVGbGFnOyAvKiBTdXBwcmVzcyAnaW1wb3J0IHNpdGUnICovCitpbnQgUHlfQnl0ZXNXYXJuaW5nRmxhZzsgLyogV2FybiBvbiBzdHIoYnl0ZXMpIGFuZCBzdHIoYnVmZmVyKSAqLworaW50IFB5X1VzZUNsYXNzRXhjZXB0aW9uc0ZsYWcgPSAxOyAvKiBOZWVkZWQgYnkgYmx0aW5tb2R1bGUuYzogZGVwcmVjYXRlZCAqLworaW50IFB5X0Zyb3plbkZsYWc7IC8qIE5lZWRlZCBieSBnZXRwYXRoLmMgKi8KK2ludCBQeV9JZ25vcmVFbnZpcm9ubWVudEZsYWc7IC8qIGUuZy4gUFlUSE9OUEFUSCwgUFlUSE9OSE9NRSAqLworaW50IFB5X0RvbnRXcml0ZUJ5dGVjb2RlRmxhZzsgLyogU3VwcHJlc3Mgd3JpdGluZyBieXRlY29kZSBmaWxlcyAoKi5weVtjb10pICovCitpbnQgUHlfTm9Vc2VyU2l0ZURpcmVjdG9yeSA9IDA7IC8qIGZvciAtcyBhbmQgc2l0ZS5weSAqLworaW50IFB5X1VuYnVmZmVyZWRTdGRpb0ZsYWcgPSAwOyAvKiBVbmJ1ZmZlcmVkIGJpbmFyeSBzdGR7aW4sb3V0LGVycn0gKi8KK2ludCBQeV9IYXNoUmFuZG9taXphdGlvbkZsYWcgPSAwOyAvKiBmb3IgLVIgYW5kIFBZVEhPTkhBU0hTRUVEICovCitpbnQgUHlfSXNvbGF0ZWRGbGFnID0gMDsgLyogZm9yIC1JLCBpc29sYXRlIGZyb20gdXNlcidzIGVudiAqLworCitQeVRocmVhZFN0YXRlICpfUHlfRmluYWxpemluZyA9IE5VTEw7CisKKy8qIEhhY2sgdG8gZm9yY2UgbG9hZGluZyBvZiBvYmplY3QgZmlsZXMgKi8KK2ludCAoKl9QeU9TX215c3RybmljbXBfaGFjaykoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIFB5X3NzaXplX3QpID0gXAorICAgIFB5T1NfbXlzdHJuaWNtcDsgLyogUHl0aG9uL3B5c3RyY21wLm8gKi8KKworLyogUHlNb2R1bGVfR2V0V2FybmluZ3NNb2R1bGUgaXMgbm8gbG9uZ2VyIG5lY2Vzc2FyeSBhcyBvZiAyLjYKK3NpbmNlIF93YXJuaW5ncyBpcyBidWlsdGluLiAgVGhpcyBBUEkgc2hvdWxkIG5vdCBiZSB1c2VkLiAqLworUHlPYmplY3QgKgorUHlNb2R1bGVfR2V0V2FybmluZ3NNb2R1bGUodm9pZCkKK3sKKyAgICByZXR1cm4gUHlJbXBvcnRfSW1wb3J0TW9kdWxlKCJ3YXJuaW5ncyIpOworfQorCitzdGF0aWMgaW50IGluaXRpYWxpemVkID0gMDsKKworLyogQVBJIHRvIGFjY2VzcyB0aGUgaW5pdGlhbGl6ZWQgZmxhZyAtLSB1c2VmdWwgZm9yIGVzb3RlcmljIHVzZSAqLworCitpbnQKK1B5X0lzSW5pdGlhbGl6ZWQodm9pZCkKK3sKKyAgICByZXR1cm4gaW5pdGlhbGl6ZWQ7Cit9CisKKy8qIEhlbHBlciB0byBhbGxvdyBhbiBlbWJlZGRpbmcgYXBwbGljYXRpb24gdG8gb3ZlcnJpZGUgdGhlIG5vcm1hbAorICogbWVjaGFuaXNtIHRoYXQgYXR0ZW1wdHMgdG8gZmlndXJlIG91dCBhbiBhcHByb3ByaWF0ZSBJTyBlbmNvZGluZworICovCisKK3N0YXRpYyBjaGFyICpfUHlfU3RhbmRhcmRTdHJlYW1FbmNvZGluZyA9IE5VTEw7CitzdGF0aWMgY2hhciAqX1B5X1N0YW5kYXJkU3RyZWFtRXJyb3JzID0gTlVMTDsKKworaW50CitQeV9TZXRTdGFuZGFyZFN0cmVhbUVuY29kaW5nKGNvbnN0IGNoYXIgKmVuY29kaW5nLCBjb25zdCBjaGFyICplcnJvcnMpCit7CisgICAgaWYgKFB5X0lzSW5pdGlhbGl6ZWQoKSkgeworICAgICAgICAvKiBUaGlzIGlzIHRvbyBsYXRlIHRvIGhhdmUgYW55IGVmZmVjdCAqLworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorICAgIC8qIENhbid0IGNhbGwgUHlFcnJfTm9NZW1vcnkoKSBvbiBlcnJvcnMsIGFzIFB5dGhvbiBoYXNuJ3QgYmVlbgorICAgICAqIGluaXRpYWxpc2VkIHlldC4KKyAgICAgKgorICAgICAqIEhvd2V2ZXIsIHRoZSByYXcgbWVtb3J5IGFsbG9jYXRvcnMgYXJlIGluaXRpYWxpc2VkIGFwcHJvcHJpYXRlbHkKKyAgICAgKiBhcyBDIHN0YXRpYyB2YXJpYWJsZXMsIHNvIF9QeU1lbV9SYXdTdHJkdXAgaXMgT0sgZXZlbiB0aG91Z2gKKyAgICAgKiBQeV9Jbml0aWFsaXplIGhhc24ndCBiZWVuIGNhbGxlZCB5ZXQuCisgICAgICovCisgICAgaWYgKGVuY29kaW5nKSB7CisgICAgICAgIF9QeV9TdGFuZGFyZFN0cmVhbUVuY29kaW5nID0gX1B5TWVtX1Jhd1N0cmR1cChlbmNvZGluZyk7CisgICAgICAgIGlmICghX1B5X1N0YW5kYXJkU3RyZWFtRW5jb2RpbmcpIHsKKyAgICAgICAgICAgIHJldHVybiAtMjsKKyAgICAgICAgfQorICAgIH0KKyAgICBpZiAoZXJyb3JzKSB7CisgICAgICAgIF9QeV9TdGFuZGFyZFN0cmVhbUVycm9ycyA9IF9QeU1lbV9SYXdTdHJkdXAoZXJyb3JzKTsKKyAgICAgICAgaWYgKCFfUHlfU3RhbmRhcmRTdHJlYW1FcnJvcnMpIHsKKyAgICAgICAgICAgIGlmIChfUHlfU3RhbmRhcmRTdHJlYW1FbmNvZGluZykgeworICAgICAgICAgICAgICAgIFB5TWVtX1Jhd0ZyZWUoX1B5X1N0YW5kYXJkU3RyZWFtRW5jb2RpbmcpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcmV0dXJuIC0zOworICAgICAgICB9CisgICAgfQorICAgIHJldHVybiAwOworfQorCisvKiBHbG9iYWwgaW5pdGlhbGl6YXRpb25zLiAgQ2FuIGJlIHVuZG9uZSBieSBQeV9GaW5hbGl6ZSgpLiAgRG9uJ3QKKyAgIGNhbGwgdGhpcyB0d2ljZSB3aXRob3V0IGFuIGludGVydmVuaW5nIFB5X0ZpbmFsaXplKCkgY2FsbC4gIFdoZW4KKyAgIGluaXRpYWxpemF0aW9ucyBmYWlsLCBhIGZhdGFsIGVycm9yIGlzIGlzc3VlZCBhbmQgdGhlIGZ1bmN0aW9uIGRvZXMKKyAgIG5vdCByZXR1cm4uICBPbiByZXR1cm4sIHRoZSBmaXJzdCB0aHJlYWQgYW5kIGludGVycHJldGVyIHN0YXRlIGhhdmUKKyAgIGJlZW4gY3JlYXRlZC4KKworICAgTG9ja2luZzogeW91IG11c3QgaG9sZCB0aGUgaW50ZXJwcmV0ZXIgbG9jayB3aGlsZSBjYWxsaW5nIHRoaXMuCisgICAoSWYgdGhlIGxvY2sgaGFzIG5vdCB5ZXQgYmVlbiBpbml0aWFsaXplZCwgdGhhdCdzIGVxdWl2YWxlbnQgdG8KKyAgIGhhdmluZyB0aGUgbG9jaywgYnV0IHlvdSBjYW5ub3QgdXNlIG11bHRpcGxlIHRocmVhZHMuKQorCisqLworCitzdGF0aWMgaW50CithZGRfZmxhZyhpbnQgZmxhZywgY29uc3QgY2hhciAqZW52cykKK3sKKyAgICBpbnQgZW52ID0gYXRvaShlbnZzKTsKKyAgICBpZiAoZmxhZyA8IGVudikKKyAgICAgICAgZmxhZyA9IGVudjsKKyAgICBpZiAoZmxhZyA8IDEpCisgICAgICAgIGZsYWcgPSAxOworICAgIHJldHVybiBmbGFnOworfQorCitzdGF0aWMgY2hhcioKK2dldF9jb2RlY19uYW1lKGNvbnN0IGNoYXIgKmVuY29kaW5nKQoreworICAgIGNoYXIgKm5hbWVfdXRmOCwgKm5hbWVfc3RyOworICAgIFB5T2JqZWN0ICpjb2RlYywgKm5hbWUgPSBOVUxMOworCisgICAgY29kZWMgPSBfUHlDb2RlY19Mb29rdXAoZW5jb2RpbmcpOworICAgIGlmICghY29kZWMpCisgICAgICAgIGdvdG8gZXJyb3I7CisKKyAgICBuYW1lID0gX1B5T2JqZWN0X0dldEF0dHJJZChjb2RlYywgJlB5SWRfbmFtZSk7CisgICAgUHlfQ0xFQVIoY29kZWMpOworICAgIGlmICghbmFtZSkKKyAgICAgICAgZ290byBlcnJvcjsKKworICAgIG5hbWVfdXRmOCA9IF9QeVVuaWNvZGVfQXNTdHJpbmcobmFtZSk7CisgICAgaWYgKG5hbWVfdXRmOCA9PSBOVUxMKQorICAgICAgICBnb3RvIGVycm9yOworICAgIG5hbWVfc3RyID0gX1B5TWVtX1Jhd1N0cmR1cChuYW1lX3V0ZjgpOworICAgIFB5X0RFQ1JFRihuYW1lKTsKKyAgICBpZiAobmFtZV9zdHIgPT0gTlVMTCkgeworICAgICAgICBQeUVycl9Ob01lbW9yeSgpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgcmV0dXJuIG5hbWVfc3RyOworCitlcnJvcjoKKyAgICBQeV9YREVDUkVGKGNvZGVjKTsKKyAgICBQeV9YREVDUkVGKG5hbWUpOworICAgIHJldHVybiBOVUxMOworfQorCitzdGF0aWMgY2hhcioKK2dldF9sb2NhbGVfZW5jb2Rpbmcodm9pZCkKK3sKKyNpZmRlZiBNU19XSU5ET1dTCisgICAgY2hhciBjb2RlcGFnZVsxMDBdOworICAgIFB5T1Nfc25wcmludGYoY29kZXBhZ2UsIHNpemVvZihjb2RlcGFnZSksICJjcCVkIiwgR2V0QUNQKCkpOworICAgIHJldHVybiBnZXRfY29kZWNfbmFtZShjb2RlcGFnZSk7CisjZWxpZiBkZWZpbmVkKEhBVkVfTEFOR0lORk9fSCkgJiYgZGVmaW5lZChDT0RFU0VUKQorICAgIGNoYXIqIGNvZGVzZXQgPSBubF9sYW5naW5mbyhDT0RFU0VUKTsKKyAgICBpZiAoIWNvZGVzZXQgfHwgY29kZXNldFswXSA9PSAnXDAnKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAiQ09ERVNFVCBpcyBub3Qgc2V0IG9yIGVtcHR5Iik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICByZXR1cm4gZ2V0X2NvZGVjX25hbWUoY29kZXNldCk7CisjZWxzZQorICAgIFB5RXJyX1NldE5vbmUoUHlFeGNfTm90SW1wbGVtZW50ZWRFcnJvcik7CisgICAgcmV0dXJuIE5VTEw7CisjZW5kaWYKK30KKworc3RhdGljIHZvaWQKK2ltcG9ydF9pbml0KFB5SW50ZXJwcmV0ZXJTdGF0ZSAqaW50ZXJwLCBQeU9iamVjdCAqc3lzbW9kKQoreworICAgIFB5T2JqZWN0ICppbXBvcnRsaWI7CisgICAgUHlPYmplY3QgKmltcG1vZDsKKyAgICBQeU9iamVjdCAqc3lzX21vZHVsZXM7CisgICAgUHlPYmplY3QgKnZhbHVlOworCisgICAgLyogSW1wb3J0IF9pbXBvcnRsaWIgdGhyb3VnaCBpdHMgZnJvemVuIHZlcnNpb24sIF9mcm96ZW5faW1wb3J0bGliLiAqLworICAgIGlmIChQeUltcG9ydF9JbXBvcnRGcm96ZW5Nb2R1bGUoIl9mcm96ZW5faW1wb3J0bGliIikgPD0gMCkgeworICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBpbXBvcnQgX2Zyb3plbl9pbXBvcnRsaWIiKTsKKyAgICB9CisgICAgZWxzZSBpZiAoUHlfVmVyYm9zZUZsYWcpIHsKKyAgICAgICAgUHlTeXNfRm9ybWF0U3RkZXJyKCJpbXBvcnQgX2Zyb3plbl9pbXBvcnRsaWIgIyBmcm96ZW5cbiIpOworICAgIH0KKyAgICBpbXBvcnRsaWIgPSBQeUltcG9ydF9BZGRNb2R1bGUoIl9mcm96ZW5faW1wb3J0bGliIik7CisgICAgaWYgKGltcG9ydGxpYiA9PSBOVUxMKSB7CisgICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IGNvdWxkbid0IGdldCBfZnJvemVuX2ltcG9ydGxpYiBmcm9tICIKKyAgICAgICAgICAgICAgICAgICAgICAic3lzLm1vZHVsZXMiKTsKKyAgICB9CisgICAgaW50ZXJwLT5pbXBvcnRsaWIgPSBpbXBvcnRsaWI7CisgICAgUHlfSU5DUkVGKGludGVycC0+aW1wb3J0bGliKTsKKworICAgIC8qIEluc3RhbGwgX2ltcG9ydGxpYiBhcyBfX2ltcG9ydF9fICovCisgICAgaW1wbW9kID0gUHlJbml0X2ltcCgpOworICAgIGlmIChpbXBtb2QgPT0gTlVMTCkgeworICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBpbXBvcnQgaW1wIik7CisgICAgfQorICAgIGVsc2UgaWYgKFB5X1ZlcmJvc2VGbGFnKSB7CisgICAgICAgIFB5U3lzX0Zvcm1hdFN0ZGVycigiaW1wb3J0IGltcCAjIGJ1aWx0aW5cbiIpOworICAgIH0KKyAgICBzeXNfbW9kdWxlcyA9IFB5SW1wb3J0X0dldE1vZHVsZURpY3QoKTsKKyAgICBpZiAoUHlfVmVyYm9zZUZsYWcpIHsKKyAgICAgICAgUHlTeXNfRm9ybWF0U3RkZXJyKCJpbXBvcnQgc3lzICMgYnVpbHRpblxuIik7CisgICAgfQorICAgIGlmIChQeURpY3RfU2V0SXRlbVN0cmluZyhzeXNfbW9kdWxlcywgIl9pbXAiLCBpbXBtb2QpIDwgMCkgeworICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBzYXZlIF9pbXAgdG8gc3lzLm1vZHVsZXMiKTsKKyAgICB9CisKKyAgICB2YWx1ZSA9IFB5T2JqZWN0X0NhbGxNZXRob2QoaW1wb3J0bGliLCAiX2luc3RhbGwiLCAiT08iLCBzeXNtb2QsIGltcG1vZCk7CisgICAgaWYgKHZhbHVlID09IE5VTEwpIHsKKyAgICAgICAgUHlFcnJfUHJpbnQoKTsKKyAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlfSW5pdGlhbGl6ZTogaW1wb3J0bGliIGluc3RhbGwgZmFpbGVkIik7CisgICAgfQorICAgIFB5X0RFQ1JFRih2YWx1ZSk7CisgICAgUHlfREVDUkVGKGltcG1vZCk7CisKKyAgICBfUHlJbXBvcnRaaXBfSW5pdCgpOworfQorCisKK3ZvaWQKK19QeV9Jbml0aWFsaXplRXhfUHJpdmF0ZShpbnQgaW5zdGFsbF9zaWdzLCBpbnQgaW5zdGFsbF9pbXBvcnRsaWIpCit7CisgICAgUHlJbnRlcnByZXRlclN0YXRlICppbnRlcnA7CisgICAgUHlUaHJlYWRTdGF0ZSAqdHN0YXRlOworICAgIFB5T2JqZWN0ICpiaW1vZCwgKnN5c21vZCwgKnBzdGRlcnI7CisgICAgY2hhciAqcDsKKyAgICBleHRlcm4gdm9pZCBfUHlfUmVhZHlUeXBlcyh2b2lkKTsKKworICAgIGlmIChpbml0aWFsaXplZCkKKyAgICAgICAgcmV0dXJuOworICAgIGluaXRpYWxpemVkID0gMTsKKyAgICBfUHlfRmluYWxpemluZyA9IE5VTEw7CisKKyNpZiBkZWZpbmVkKEhBVkVfTEFOR0lORk9fSCkgJiYgZGVmaW5lZChIQVZFX1NFVExPQ0FMRSkKKyAgICAvKiBTZXQgdXAgdGhlIExDX0NUWVBFIGxvY2FsZSwgc28gd2UgY2FuIG9idGFpbgorICAgICAgIHRoZSBsb2NhbGUncyBjaGFyc2V0IHdpdGhvdXQgaGF2aW5nIHRvIHN3aXRjaAorICAgICAgIGxvY2FsZXMuICovCisgICAgc2V0bG9jYWxlKExDX0NUWVBFLCAiIik7CisjZW5kaWYKKworICAgIGlmICgocCA9IFB5X0dFVEVOVigiUFlUSE9OREVCVUciKSkgJiYgKnAgIT0gJ1wwJykKKyAgICAgICAgUHlfRGVidWdGbGFnID0gYWRkX2ZsYWcoUHlfRGVidWdGbGFnLCBwKTsKKyAgICBpZiAoKHAgPSBQeV9HRVRFTlYoIlBZVEhPTlZFUkJPU0UiKSkgJiYgKnAgIT0gJ1wwJykKKyAgICAgICAgUHlfVmVyYm9zZUZsYWcgPSBhZGRfZmxhZyhQeV9WZXJib3NlRmxhZywgcCk7CisgICAgaWYgKChwID0gUHlfR0VURU5WKCJQWVRIT05PUFRJTUlaRSIpKSAmJiAqcCAhPSAnXDAnKQorICAgICAgICBQeV9PcHRpbWl6ZUZsYWcgPSBhZGRfZmxhZyhQeV9PcHRpbWl6ZUZsYWcsIHApOworICAgIGlmICgocCA9IFB5X0dFVEVOVigiUFlUSE9ORE9OVFdSSVRFQllURUNPREUiKSkgJiYgKnAgIT0gJ1wwJykKKyAgICAgICAgUHlfRG9udFdyaXRlQnl0ZWNvZGVGbGFnID0gYWRkX2ZsYWcoUHlfRG9udFdyaXRlQnl0ZWNvZGVGbGFnLCBwKTsKKyAgICAvKiBUaGUgdmFyaWFibGUgaXMgb25seSB0ZXN0ZWQgZm9yIGV4aXN0ZW5jZSBoZXJlOyBfUHlSYW5kb21fSW5pdCB3aWxsCisgICAgICAgY2hlY2sgaXRzIHZhbHVlIGZ1cnRoZXIuICovCisgICAgaWYgKChwID0gUHlfR0VURU5WKCJQWVRIT05IQVNIU0VFRCIpKSAmJiAqcCAhPSAnXDAnKQorICAgICAgICBQeV9IYXNoUmFuZG9taXphdGlvbkZsYWcgPSBhZGRfZmxhZyhQeV9IYXNoUmFuZG9taXphdGlvbkZsYWcsIHApOworCisgICAgX1B5UmFuZG9tX0luaXQoKTsKKworICAgIGludGVycCA9IFB5SW50ZXJwcmV0ZXJTdGF0ZV9OZXcoKTsKKyAgICBpZiAoaW50ZXJwID09IE5VTEwpCisgICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IGNhbid0IG1ha2UgZmlyc3QgaW50ZXJwcmV0ZXIiKTsKKworICAgIHRzdGF0ZSA9IFB5VGhyZWFkU3RhdGVfTmV3KGludGVycCk7CisgICAgaWYgKHRzdGF0ZSA9PSBOVUxMKQorICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBtYWtlIGZpcnN0IHRocmVhZCIpOworICAgICh2b2lkKSBQeVRocmVhZFN0YXRlX1N3YXAodHN0YXRlKTsKKworI2lmZGVmIFdJVEhfVEhSRUFECisgICAgLyogV2UgY2FuJ3QgY2FsbCBfUHlFdmFsX0ZpbmlUaHJlYWRzKCkgaW4gUHlfRmluYWxpemUgYmVjYXVzZQorICAgICAgIGRlc3Ryb3lpbmcgdGhlIEdJTCBtaWdodCBmYWlsIHdoZW4gaXQgaXMgYmVpbmcgcmVmZXJlbmNlZCBmcm9tCisgICAgICAgYW5vdGhlciBydW5uaW5nIHRocmVhZCAoc2VlIGlzc3VlICM5OTAxKS4KKyAgICAgICBJbnN0ZWFkIHdlIGRlc3Ryb3kgdGhlIHByZXZpb3VzbHkgY3JlYXRlZCBHSUwgaGVyZSwgd2hpY2ggZW5zdXJlcworICAgICAgIHRoYXQgd2UgY2FuIGNhbGwgUHlfSW5pdGlhbGl6ZSAvIFB5X0ZpbmFsaXplIG11bHRpcGxlIHRpbWVzLiAqLworICAgIF9QeUV2YWxfRmluaVRocmVhZHMoKTsKKworICAgIC8qIEF1dG8tdGhyZWFkLXN0YXRlIEFQSSAqLworICAgIF9QeUdJTFN0YXRlX0luaXQoaW50ZXJwLCB0c3RhdGUpOworI2VuZGlmIC8qIFdJVEhfVEhSRUFEICovCisKKyAgICBfUHlfUmVhZHlUeXBlcygpOworCisgICAgaWYgKCFfUHlGcmFtZV9Jbml0KCkpCisgICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IGNhbid0IGluaXQgZnJhbWVzIik7CisKKyAgICBpZiAoIV9QeUxvbmdfSW5pdCgpKQorICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBpbml0IGxvbmdzIik7CisKKyAgICBpZiAoIVB5Qnl0ZUFycmF5X0luaXQoKSkKKyAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlfSW5pdGlhbGl6ZTogY2FuJ3QgaW5pdCBieXRlYXJyYXkiKTsKKworICAgIGlmICghX1B5RmxvYXRfSW5pdCgpKQorICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBpbml0IGZsb2F0Iik7CisKKyAgICBpbnRlcnAtPm1vZHVsZXMgPSBQeURpY3RfTmV3KCk7CisgICAgaWYgKGludGVycC0+bW9kdWxlcyA9PSBOVUxMKQorICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBtYWtlIG1vZHVsZXMgZGljdGlvbmFyeSIpOworCisgICAgLyogSW5pdCBVbmljb2RlIGltcGxlbWVudGF0aW9uOyByZWxpZXMgb24gdGhlIGNvZGVjIHJlZ2lzdHJ5ICovCisgICAgaWYgKF9QeVVuaWNvZGVfSW5pdCgpIDwgMCkKKyAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlfSW5pdGlhbGl6ZTogY2FuJ3QgaW5pdGlhbGl6ZSB1bmljb2RlIik7CisgICAgaWYgKF9QeVN0cnVjdFNlcXVlbmNlX0luaXQoKSA8IDApCisgICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IGNhbid0IGluaXRpYWxpemUgc3RydWN0c2VxIik7CisKKyAgICBiaW1vZCA9IF9QeUJ1aWx0aW5fSW5pdCgpOworICAgIGlmIChiaW1vZCA9PSBOVUxMKQorICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBpbml0aWFsaXplIGJ1aWx0aW5zIG1vZHVsZXMiKTsKKyAgICBfUHlJbXBvcnRfRml4dXBCdWlsdGluKGJpbW9kLCAiYnVpbHRpbnMiKTsKKyAgICBpbnRlcnAtPmJ1aWx0aW5zID0gUHlNb2R1bGVfR2V0RGljdChiaW1vZCk7CisgICAgaWYgKGludGVycC0+YnVpbHRpbnMgPT0gTlVMTCkKKyAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlfSW5pdGlhbGl6ZTogY2FuJ3QgaW5pdGlhbGl6ZSBidWlsdGlucyBkaWN0Iik7CisgICAgUHlfSU5DUkVGKGludGVycC0+YnVpbHRpbnMpOworCisgICAgLyogaW5pdGlhbGl6ZSBidWlsdGluIGV4Y2VwdGlvbnMgKi8KKyAgICBfUHlFeGNfSW5pdChiaW1vZCk7CisKKyAgICBzeXNtb2QgPSBfUHlTeXNfSW5pdCgpOworICAgIGlmIChzeXNtb2QgPT0gTlVMTCkKKyAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlfSW5pdGlhbGl6ZTogY2FuJ3QgaW5pdGlhbGl6ZSBzeXMiKTsKKyAgICBpbnRlcnAtPnN5c2RpY3QgPSBQeU1vZHVsZV9HZXREaWN0KHN5c21vZCk7CisgICAgaWYgKGludGVycC0+c3lzZGljdCA9PSBOVUxMKQorICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBpbml0aWFsaXplIHN5cyBkaWN0Iik7CisgICAgUHlfSU5DUkVGKGludGVycC0+c3lzZGljdCk7CisgICAgX1B5SW1wb3J0X0ZpeHVwQnVpbHRpbihzeXNtb2QsICJzeXMiKTsKKyAgICBQeVN5c19TZXRQYXRoKFB5X0dldFBhdGgoKSk7CisgICAgUHlEaWN0X1NldEl0ZW1TdHJpbmcoaW50ZXJwLT5zeXNkaWN0LCAibW9kdWxlcyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZXJwLT5tb2R1bGVzKTsKKworICAgIC8qIFNldCB1cCBhIHByZWxpbWluYXJ5IHN0ZGVyciBwcmludGVyIHVudGlsIHdlIGhhdmUgZW5vdWdoCisgICAgICAgaW5mcmFzdHJ1Y3R1cmUgZm9yIHRoZSBpbyBtb2R1bGUgaW4gcGxhY2UuICovCisgICAgcHN0ZGVyciA9IFB5RmlsZV9OZXdTdGRQcmludGVyKGZpbGVubyhzdGRlcnIpKTsKKyAgICBpZiAocHN0ZGVyciA9PSBOVUxMKQorICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBzZXQgcHJlbGltaW5hcnkgc3RkZXJyIik7CisgICAgX1B5U3lzX1NldE9iamVjdElkKCZQeUlkX3N0ZGVyciwgcHN0ZGVycik7CisgICAgUHlTeXNfU2V0T2JqZWN0KCJfX3N0ZGVycl9fIiwgcHN0ZGVycik7CisgICAgUHlfREVDUkVGKHBzdGRlcnIpOworCisgICAgX1B5SW1wb3J0X0luaXQoKTsKKworICAgIF9QeUltcG9ydEhvb2tzX0luaXQoKTsKKworICAgIC8qIEluaXRpYWxpemUgX3dhcm5pbmdzLiAqLworICAgIF9QeVdhcm5pbmdzX0luaXQoKTsKKworICAgIGlmICghaW5zdGFsbF9pbXBvcnRsaWIpCisgICAgICAgIHJldHVybjsKKworICAgIGltcG9ydF9pbml0KGludGVycCwgc3lzbW9kKTsKKworICAgIC8qIGluaXRpYWxpemUgdGhlIGZhdWx0aGFuZGxlciBtb2R1bGUgKi8KKyAgICBpZiAoX1B5RmF1bHRoYW5kbGVyX0luaXQoKSkKKyAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlfSW5pdGlhbGl6ZTogY2FuJ3QgaW5pdGlhbGl6ZSBmYXVsdGhhbmRsZXIiKTsKKworICAgIGlmIChfUHlUaW1lX0luaXQoKSA8IDApCisgICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IGNhbid0IGluaXRpYWxpemUgdGltZSIpOworCisgICAgaWYgKGluaXRmc2VuY29kaW5nKGludGVycCkgPCAwKQorICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiB1bmFibGUgdG8gbG9hZCB0aGUgZmlsZSBzeXN0ZW0gY29kZWMiKTsKKworICAgIGlmIChpbnN0YWxsX3NpZ3MpCisgICAgICAgIGluaXRzaWdzKCk7IC8qIFNpZ25hbCBoYW5kbGluZyBzdHVmZiwgaW5jbHVkaW5nIGluaXRpbnRyKCkgKi8KKworICAgIGlmIChfUHlUcmFjZU1hbGxvY19Jbml0KCkgPCAwKQorICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBpbml0aWFsaXplIHRyYWNlbWFsbG9jIik7CisKKyAgICBpbml0bWFpbihpbnRlcnApOyAvKiBNb2R1bGUgX19tYWluX18gKi8KKyAgICBpZiAoaW5pdHN0ZGlvKCkgPCAwKQorICAgICAgICBQeV9GYXRhbEVycm9yKAorICAgICAgICAgICAgIlB5X0luaXRpYWxpemU6IGNhbid0IGluaXRpYWxpemUgc3lzIHN0YW5kYXJkIHN0cmVhbXMiKTsKKworICAgIC8qIEluaXRpYWxpemUgd2FybmluZ3MuICovCisgICAgaWYgKFB5U3lzX0hhc1dhcm5PcHRpb25zKCkpIHsKKyAgICAgICAgUHlPYmplY3QgKndhcm5pbmdzX21vZHVsZSA9IFB5SW1wb3J0X0ltcG9ydE1vZHVsZSgid2FybmluZ3MiKTsKKyAgICAgICAgaWYgKHdhcm5pbmdzX21vZHVsZSA9PSBOVUxMKSB7CisgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIidpbXBvcnQgd2FybmluZ3MnIGZhaWxlZDsgdHJhY2ViYWNrOlxuIik7CisgICAgICAgICAgICBQeUVycl9QcmludCgpOworICAgICAgICB9CisgICAgICAgIFB5X1hERUNSRUYod2FybmluZ3NfbW9kdWxlKTsKKyAgICB9CisKKyAgICBpZiAoIVB5X05vU2l0ZUZsYWcpCisgICAgICAgIGluaXRzaXRlKCk7IC8qIE1vZHVsZSBzaXRlICovCit9CisKK3ZvaWQKK1B5X0luaXRpYWxpemVFeChpbnQgaW5zdGFsbF9zaWdzKQoreworICAgIF9QeV9Jbml0aWFsaXplRXhfUHJpdmF0ZShpbnN0YWxsX3NpZ3MsIDEpOworfQorCit2b2lkCitQeV9Jbml0aWFsaXplKHZvaWQpCit7CisgICAgUHlfSW5pdGlhbGl6ZUV4KDEpOworfQorCisKKyNpZmRlZiBDT1VOVF9BTExPQ1MKK2V4dGVybiB2b2lkIGR1bXBfY291bnRzKEZJTEUqKTsKKyNlbmRpZgorCisvKiBGbHVzaCBzdGRvdXQgYW5kIHN0ZGVyciAqLworCitzdGF0aWMgaW50CitmaWxlX2lzX2Nsb3NlZChQeU9iamVjdCAqZm9iaikKK3sKKyAgICBpbnQgcjsKKyAgICBQeU9iamVjdCAqdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhmb2JqLCAiY2xvc2VkIik7CisgICAgaWYgKHRtcCA9PSBOVUxMKSB7CisgICAgICAgIFB5RXJyX0NsZWFyKCk7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKyAgICByID0gUHlPYmplY3RfSXNUcnVlKHRtcCk7CisgICAgUHlfREVDUkVGKHRtcCk7CisgICAgaWYgKHIgPCAwKQorICAgICAgICBQeUVycl9DbGVhcigpOworICAgIHJldHVybiByID4gMDsKK30KKworc3RhdGljIHZvaWQKK2ZsdXNoX3N0ZF9maWxlcyh2b2lkKQoreworICAgIFB5T2JqZWN0ICpmb3V0ID0gX1B5U3lzX0dldE9iamVjdElkKCZQeUlkX3N0ZG91dCk7CisgICAgUHlPYmplY3QgKmZlcnIgPSBfUHlTeXNfR2V0T2JqZWN0SWQoJlB5SWRfc3RkZXJyKTsKKyAgICBQeU9iamVjdCAqdG1wOworCisgICAgaWYgKGZvdXQgIT0gTlVMTCAmJiBmb3V0ICE9IFB5X05vbmUgJiYgIWZpbGVfaXNfY2xvc2VkKGZvdXQpKSB7CisgICAgICAgIHRtcCA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQoZm91dCwgJlB5SWRfZmx1c2gsICIiKTsKKyAgICAgICAgaWYgKHRtcCA9PSBOVUxMKQorICAgICAgICAgICAgUHlFcnJfV3JpdGVVbnJhaXNhYmxlKGZvdXQpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBQeV9ERUNSRUYodG1wKTsKKyAgICB9CisKKyAgICBpZiAoZmVyciAhPSBOVUxMICYmIGZlcnIgIT0gUHlfTm9uZSAmJiAhZmlsZV9pc19jbG9zZWQoZmVycikpIHsKKyAgICAgICAgdG1wID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChmZXJyLCAmUHlJZF9mbHVzaCwgIiIpOworICAgICAgICBpZiAodG1wID09IE5VTEwpCisgICAgICAgICAgICBQeUVycl9DbGVhcigpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBQeV9ERUNSRUYodG1wKTsKKyAgICB9Cit9CisKKy8qIFVuZG8gdGhlIGVmZmVjdCBvZiBQeV9Jbml0aWFsaXplKCkuCisKKyAgIEJld2FyZTogaWYgbXVsdGlwbGUgaW50ZXJwcmV0ZXIgYW5kL29yIHRocmVhZCBzdGF0ZXMgZXhpc3QsIHRoZXNlCisgICBhcmUgbm90IHdpcGVkIG91dDsgb25seSB0aGUgY3VycmVudCB0aHJlYWQgYW5kIGludGVycHJldGVyIHN0YXRlCisgICBhcmUgZGVsZXRlZC4gIEJ1dCBzaW5jZSBldmVyeXRoaW5nIGVsc2UgaXMgZGVsZXRlZCwgdGhvc2Ugb3RoZXIKKyAgIGludGVycHJldGVyIGFuZCB0aHJlYWQgc3RhdGVzIHNob3VsZCBubyBsb25nZXIgYmUgdXNlZC4KKworICAgKFhYWCBXZSBzaG91bGQgZG8gYmV0dGVyLCBlLmcuIHdpcGUgb3V0IGFsbCBpbnRlcnByZXRlcnMgYW5kCisgICB0aHJlYWRzLikKKworICAgTG9ja2luZzogYXMgYWJvdmUuCisKKyovCisKK3ZvaWQKK1B5X0ZpbmFsaXplKHZvaWQpCit7CisgICAgUHlJbnRlcnByZXRlclN0YXRlICppbnRlcnA7CisgICAgUHlUaHJlYWRTdGF0ZSAqdHN0YXRlOworCisgICAgaWYgKCFpbml0aWFsaXplZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgd2FpdF9mb3JfdGhyZWFkX3NodXRkb3duKCk7CisKKyAgICAvKiBUaGUgaW50ZXJwcmV0ZXIgaXMgc3RpbGwgZW50aXJlbHkgaW50YWN0IGF0IHRoaXMgcG9pbnQsIGFuZCB0aGUKKyAgICAgKiBleGl0IGZ1bmNzIG1heSBiZSByZWx5aW5nIG9uIHRoYXQuICBJbiBwYXJ0aWN1bGFyLCBpZiBzb21lIHRocmVhZAorICAgICAqIG9yIGV4aXQgZnVuYyBpcyBzdGlsbCB3YWl0aW5nIHRvIGRvIGFuIGltcG9ydCwgdGhlIGltcG9ydCBtYWNoaW5lcnkKKyAgICAgKiBleHBlY3RzIFB5X0lzSW5pdGlhbGl6ZWQoKSB0byByZXR1cm4gdHJ1ZS4gIFNvIGRvbid0IHNheSB0aGUKKyAgICAgKiBpbnRlcnByZXRlciBpcyB1bmluaXRpYWxpemVkIHVudGlsIGFmdGVyIHRoZSBleGl0IGZ1bmNzIGhhdmUgcnVuLgorICAgICAqIE5vdGUgdGhhdCBUaHJlYWRpbmcucHkgdXNlcyBhbiBleGl0IGZ1bmMgdG8gZG8gYSBqb2luIG9uIGFsbCB0aGUKKyAgICAgKiB0aHJlYWRzIGNyZWF0ZWQgdGhydSBpdCwgc28gdGhpcyBhbHNvIHByb3RlY3RzIHBlbmRpbmcgaW1wb3J0cyBpbgorICAgICAqIHRoZSB0aHJlYWRzIGNyZWF0ZWQgdmlhIFRocmVhZGluZy4KKyAgICAgKi8KKyAgICBjYWxsX3B5X2V4aXRmdW5jcygpOworCisgICAgLyogR2V0IGN1cnJlbnQgdGhyZWFkIHN0YXRlIGFuZCBpbnRlcnByZXRlciBwb2ludGVyICovCisgICAgdHN0YXRlID0gUHlUaHJlYWRTdGF0ZV9HRVQoKTsKKyAgICBpbnRlcnAgPSB0c3RhdGUtPmludGVycDsKKworICAgIC8qIFJlbWFpbmluZyB0aHJlYWRzIChlLmcuIGRhZW1vbiB0aHJlYWRzKSB3aWxsIGF1dG9tYXRpY2FsbHkgZXhpdAorICAgICAgIGFmdGVyIHRha2luZyB0aGUgR0lMIChpbiBQeUV2YWxfUmVzdG9yZVRocmVhZCgpKS4gKi8KKyAgICBfUHlfRmluYWxpemluZyA9IHRzdGF0ZTsKKyAgICBpbml0aWFsaXplZCA9IDA7CisKKyAgICAvKiBGbHVzaCBzdGRvdXQrc3RkZXJyICovCisgICAgZmx1c2hfc3RkX2ZpbGVzKCk7CisKKyAgICAvKiBEaXNhYmxlIHNpZ25hbCBoYW5kbGluZyAqLworICAgIFB5T1NfRmluaUludGVycnVwdHMoKTsKKworICAgIC8qIENvbGxlY3QgZ2FyYmFnZS4gIFRoaXMgbWF5IGNhbGwgZmluYWxpemVyczsgaXQncyBuaWNlIHRvIGNhbGwgdGhlc2UKKyAgICAgKiBiZWZvcmUgYWxsIG1vZHVsZXMgYXJlIGRlc3Ryb3llZC4KKyAgICAgKiBYWFggSWYgYSBfX2RlbF9fIG9yIHdlYWtyZWYgY2FsbGJhY2sgaXMgdHJpZ2dlcmVkIGhlcmUsIGFuZCB0cmllcyB0bworICAgICAqIFhYWCBpbXBvcnQgYSBtb2R1bGUsIGJhZCB0aGluZ3MgY2FuIGhhcHBlbiwgYmVjYXVzZSBQeXRob24gbm8KKyAgICAgKiBYWFggbG9uZ2VyIGJlbGlldmVzIGl0J3MgaW5pdGlhbGl6ZWQuCisgICAgICogWFhYICAgICBGYXRhbCBQeXRob24gZXJyb3I6IEludGVycHJldGVyIG5vdCBpbml0aWFsaXplZCAodmVyc2lvbiBtaXNtYXRjaD8pCisgICAgICogWFhYIGlzIGVhc3kgdG8gcHJvdm9rZSB0aGF0IHdheS4gIEkndmUgYWxzbyBzZWVuLCBlLmcuLAorICAgICAqIFhYWCAgICAgRXhjZXB0aW9uIGV4Y2VwdGlvbnMuSW1wb3J0RXJyb3I6ICdObyBtb2R1bGUgbmFtZWQgc2hhJworICAgICAqIFhYWCAgICAgICAgIGluIDxmdW5jdGlvbiBjYWxsYmFjayBhdCAweDAwOEY1NzE4PiBpZ25vcmVkCisgICAgICogWFhYIGJ1dCBJJ20gdW5jbGVhciBvbiBleGFjdGx5IGhvdyB0aGF0IG9uZSBoYXBwZW5zLiAgSW4gYW55IGNhc2UsCisgICAgICogWFhYIEkgaGF2ZW4ndCBzZWVuIGEgcmVhbC1saWZlIHJlcG9ydCBvZiBlaXRoZXIgb2YgdGhlc2UuCisgICAgICovCisgICAgUHlHQ19Db2xsZWN0KCk7CisjaWZkZWYgQ09VTlRfQUxMT0NTCisgICAgLyogV2l0aCBDT1VOVF9BTExPQ1MsIGl0IGhlbHBzIHRvIHJ1biBHQyBtdWx0aXBsZSB0aW1lczoKKyAgICAgICBlYWNoIGNvbGxlY3Rpb24gbWlnaHQgcmVsZWFzZSBzb21lIHR5cGVzIGZyb20gdGhlIHR5cGUKKyAgICAgICBsaXN0LCBzbyB0aGV5IGJlY29tZSBnYXJiYWdlLiAqLworICAgIHdoaWxlIChQeUdDX0NvbGxlY3QoKSA+IDApCisgICAgICAgIC8qIG5vdGhpbmcgKi87CisjZW5kaWYKKyAgICAvKiBEZXN0cm95IGFsbCBtb2R1bGVzICovCisgICAgUHlJbXBvcnRfQ2xlYW51cCgpOworCisgICAgLyogRmx1c2ggc3Rkb3V0K3N0ZGVyciAoYWdhaW4sIGluIGNhc2UgbW9yZSB3YXMgcHJpbnRlZCkgKi8KKyAgICBmbHVzaF9zdGRfZmlsZXMoKTsKKworICAgIC8qIENvbGxlY3QgZmluYWwgZ2FyYmFnZS4gIFRoaXMgZGlzcG9zZXMgb2YgY3ljbGVzIGNyZWF0ZWQgYnkKKyAgICAgKiBjbGFzcyBkZWZpbml0aW9ucywgZm9yIGV4YW1wbGUuCisgICAgICogWFhYIFRoaXMgaXMgZGlzYWJsZWQgYmVjYXVzZSBpdCBjYXVzZWQgdG9vIG1hbnkgcHJvYmxlbXMuICBJZgorICAgICAqIFhYWCBhIF9fZGVsX18gb3Igd2Vha3JlZiBjYWxsYmFjayB0cmlnZ2VycyBoZXJlLCBQeXRob24gY29kZSBoYXMKKyAgICAgKiBYWFggYSBoYXJkIHRpbWUgcnVubmluZywgYmVjYXVzZSBldmVuIHRoZSBzeXMgbW9kdWxlIGhhcyBiZWVuCisgICAgICogWFhYIGNsZWFyZWQgb3V0IChzeXMuc3Rkb3V0IGlzIGdvbmUsIHN5cy5leGNlcHRob29rIGlzIGdvbmUsIGV0YykuCisgICAgICogWFhYIE9uZSBzeW1wdG9tIGlzIGEgc2VxdWVuY2Ugb2YgaW5mb3JtYXRpb24tZnJlZSBtZXNzYWdlcworICAgICAqIFhYWCBjb21pbmcgZnJvbSB0aHJlYWRzIChpZiBhIF9fZGVsX18gb3IgY2FsbGJhY2sgaXMgaW52b2tlZCwKKyAgICAgKiBYWFggb3RoZXIgdGhyZWFkcyBjYW4gZXhlY3V0ZSB0b28sIGFuZCBhbnkgZXhjZXB0aW9uIHRoZXkgZW5jb3VudGVyCisgICAgICogWFhYIHRyaWdnZXJzIGEgY29tZWR5IG9mIGVycm9ycyBhcyBzdWJzeXN0ZW0gYWZ0ZXIgc3Vic3lzdGVtCisgICAgICogWFhYIGZhaWxzIHRvIGZpbmQgd2hhdCBpdCAqZXhwZWN0cyogdG8gZmluZCBpbiBzeXMgdG8gaGVscCByZXBvcnQKKyAgICAgKiBYWFggdGhlIGV4Y2VwdGlvbiBhbmQgY29uc2VxdWVudCB1bmV4cGVjdGVkIGZhaWx1cmVzKS4gIEkndmUgYWxzbworICAgICAqIFhYWCBzZWVuIHNlZ2ZhdWx0cyB0aGVuLCBhZnRlciBhZGRpbmcgcHJpbnQgc3RhdGVtZW50cyB0byB0aGUKKyAgICAgKiBYWFggUHl0aG9uIGNvZGUgZ2V0dGluZyBjYWxsZWQuCisgICAgICovCisjaWYgMAorICAgIFB5R0NfQ29sbGVjdCgpOworI2VuZGlmCisKKyAgICAvKiBEaXNhYmxlIHRyYWNlbWFsbG9jIGFmdGVyIGFsbCBQeXRob24gb2JqZWN0cyBoYXZlIGJlZW4gZGVzdHJveWVkLAorICAgICAgIHNvIGl0IGlzIHBvc3NpYmxlIHRvIHVzZSB0cmFjZW1hbGxvYyBpbiBvYmplY3RzIGRlc3RydWN0b3IuICovCisgICAgX1B5VHJhY2VNYWxsb2NfRmluaSgpOworCisgICAgLyogRGVzdHJveSB0aGUgZGF0YWJhc2UgdXNlZCBieSBfUHlJbXBvcnRfe0ZpeHVwLEZpbmR9RXh0ZW5zaW9uICovCisgICAgX1B5SW1wb3J0X0ZpbmkoKTsKKworICAgIC8qIENsZWFudXAgdHlwZW9iamVjdC5jJ3MgaW50ZXJuYWwgY2FjaGVzLiAqLworICAgIF9QeVR5cGVfRmluaSgpOworCisgICAgLyogdW5sb2FkIGZhdWx0aGFuZGxlciBtb2R1bGUgKi8KKyAgICBfUHlGYXVsdGhhbmRsZXJfRmluaSgpOworCisgICAgLyogRGVidWdnaW5nIHN0dWZmICovCisjaWZkZWYgQ09VTlRfQUxMT0NTCisgICAgZHVtcF9jb3VudHMoc3Rkb3V0KTsKKyNlbmRpZgorICAgIC8qIGR1bXAgaGFzaCBzdGF0cyAqLworICAgIF9QeUhhc2hfRmluaSgpOworCisgICAgX1BZX0RFQlVHX1BSSU5UX1RPVEFMX1JFRlMoKTsKKworI2lmZGVmIFB5X1RSQUNFX1JFRlMKKyAgICAvKiBEaXNwbGF5IGFsbCBvYmplY3RzIHN0aWxsIGFsaXZlIC0tIHRoaXMgY2FuIGludm9rZSBhcmJpdHJhcnkKKyAgICAgKiBfX3JlcHJfXyBvdmVycmlkZXMsIHNvIHJlcXVpcmVzIGEgbW9zdGx5LWludGFjdCBpbnRlcnByZXRlci4KKyAgICAgKiBBbGFzLCBhIGxvdCBvZiBzdHVmZiBtYXkgc3RpbGwgYmUgYWxpdmUgbm93IHRoYXQgd2lsbCBiZSBjbGVhbmVkCisgICAgICogdXAgbGF0ZXIuCisgICAgICovCisgICAgaWYgKFB5X0dFVEVOVigiUFlUSE9ORFVNUFJFRlMiKSkKKyAgICAgICAgX1B5X1ByaW50UmVmZXJlbmNlcyhzdGRlcnIpOworI2VuZGlmIC8qIFB5X1RSQUNFX1JFRlMgKi8KKworICAgIC8qIENsZWFyIGludGVycHJldGVyIHN0YXRlIGFuZCBhbGwgdGhyZWFkIHN0YXRlcy4gKi8KKyAgICBQeUludGVycHJldGVyU3RhdGVfQ2xlYXIoaW50ZXJwKTsKKworICAgIC8qIE5vdyB3ZSBkZWNyZWYgdGhlIGV4Y2VwdGlvbiBjbGFzc2VzLiAgQWZ0ZXIgdGhpcyBwb2ludCBub3RoaW5nCisgICAgICAgY2FuIHJhaXNlIGFuIGV4Y2VwdGlvbi4gIFRoYXQncyBva2F5LCBiZWNhdXNlIGVhY2ggRmluaSgpIG1ldGhvZAorICAgICAgIGJlbG93IGhhcyBiZWVuIGNoZWNrZWQgdG8gbWFrZSBzdXJlIG5vIGV4Y2VwdGlvbnMgYXJlIGV2ZXIKKyAgICAgICByYWlzZWQuCisgICAgKi8KKworICAgIF9QeUV4Y19GaW5pKCk7CisKKyAgICAvKiBTdW5kcnkgZmluYWxpemVycyAqLworICAgIFB5TWV0aG9kX0ZpbmkoKTsKKyAgICBQeUZyYW1lX0ZpbmkoKTsKKyAgICBQeUNGdW5jdGlvbl9GaW5pKCk7CisgICAgUHlUdXBsZV9GaW5pKCk7CisgICAgUHlMaXN0X0ZpbmkoKTsKKyAgICBQeVNldF9GaW5pKCk7CisgICAgUHlCeXRlc19GaW5pKCk7CisgICAgUHlCeXRlQXJyYXlfRmluaSgpOworICAgIFB5TG9uZ19GaW5pKCk7CisgICAgUHlGbG9hdF9GaW5pKCk7CisgICAgUHlEaWN0X0ZpbmkoKTsKKyAgICBQeVNsaWNlX0ZpbmkoKTsKKyAgICBfUHlHQ19GaW5pKCk7CisgICAgX1B5UmFuZG9tX0ZpbmkoKTsKKworICAgIC8qIENsZWFudXAgVW5pY29kZSBpbXBsZW1lbnRhdGlvbiAqLworICAgIF9QeVVuaWNvZGVfRmluaSgpOworCisgICAgLyogcmVzZXQgZmlsZSBzeXN0ZW0gZGVmYXVsdCBlbmNvZGluZyAqLworICAgIGlmICghUHlfSGFzRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZyAmJiBQeV9GaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nKSB7CisgICAgICAgIFB5TWVtX1Jhd0ZyZWUoKGNoYXIqKVB5X0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2RpbmcpOworICAgICAgICBQeV9GaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nID0gTlVMTDsKKyAgICB9CisKKyAgICAvKiBYWFggU3RpbGwgYWxsb2NhdGVkOgorICAgICAgIC0gdmFyaW91cyBzdGF0aWMgYWQtaG9jIHBvaW50ZXJzIHRvIGludGVybmVkIHN0cmluZ3MKKyAgICAgICAtIGludCBhbmQgZmxvYXQgZnJlZSBsaXN0IGJsb2NrcworICAgICAgIC0gd2hhdGV2ZXIgdmFyaW91cyBtb2R1bGVzIGFuZCBsaWJyYXJpZXMgYWxsb2NhdGUKKyAgICAqLworCisgICAgUHlHcmFtbWFyX1JlbW92ZUFjY2VsZXJhdG9ycygmX1B5UGFyc2VyX0dyYW1tYXIpOworCisgICAgLyogQ2xlYW51cCBhdXRvLXRocmVhZC1zdGF0ZSAqLworI2lmZGVmIFdJVEhfVEhSRUFECisgICAgX1B5R0lMU3RhdGVfRmluaSgpOworI2VuZGlmIC8qIFdJVEhfVEhSRUFEICovCisKKyAgICAvKiBEZWxldGUgY3VycmVudCB0aHJlYWQuIEFmdGVyIHRoaXMsIG1hbnkgQyBBUEkgY2FsbHMgYmVjb21lIGNyYXNoeS4gKi8KKyAgICBQeVRocmVhZFN0YXRlX1N3YXAoTlVMTCk7CisgICAgUHlJbnRlcnByZXRlclN0YXRlX0RlbGV0ZShpbnRlcnApOworCisjaWZkZWYgUHlfVFJBQ0VfUkVGUworICAgIC8qIERpc3BsYXkgYWRkcmVzc2VzICgmIHJlZmNudHMpIG9mIGFsbCBvYmplY3RzIHN0aWxsIGFsaXZlLgorICAgICAqIEFuIGFkZHJlc3MgY2FuIGJlIHVzZWQgdG8gZmluZCB0aGUgcmVwciBvZiB0aGUgb2JqZWN0LCBwcmludGVkCisgICAgICogYWJvdmUgYnkgX1B5X1ByaW50UmVmZXJlbmNlcy4KKyAgICAgKi8KKyAgICBpZiAoUHlfR0VURU5WKCJQWVRIT05EVU1QUkVGUyIpKQorICAgICAgICBfUHlfUHJpbnRSZWZlcmVuY2VBZGRyZXNzZXMoc3RkZXJyKTsKKyNlbmRpZiAvKiBQeV9UUkFDRV9SRUZTICovCisjaWZkZWYgUFlNQUxMT0NfREVCVUcKKyAgICBpZiAoUHlfR0VURU5WKCJQWVRIT05NQUxMT0NTVEFUUyIpKQorICAgICAgICBfUHlPYmplY3RfRGVidWdNYWxsb2NTdGF0cyhzdGRlcnIpOworI2VuZGlmCisKKyAgICBjYWxsX2xsX2V4aXRmdW5jcygpOworfQorCisvKiBDcmVhdGUgYW5kIGluaXRpYWxpemUgYSBuZXcgaW50ZXJwcmV0ZXIgYW5kIHRocmVhZCwgYW5kIHJldHVybiB0aGUKKyAgIG5ldyB0aHJlYWQuICBUaGlzIHJlcXVpcmVzIHRoYXQgUHlfSW5pdGlhbGl6ZSgpIGhhcyBiZWVuIGNhbGxlZAorICAgZmlyc3QuCisKKyAgIFVuc3VjY2Vzc2Z1bCBpbml0aWFsaXphdGlvbiB5aWVsZHMgYSBOVUxMIHBvaW50ZXIuICBOb3RlIHRoYXQgKm5vKgorICAgZXhjZXB0aW9uIGluZm9ybWF0aW9uIGlzIGF2YWlsYWJsZSBldmVuIGluIHRoaXMgY2FzZSAtLSB0aGUKKyAgIGV4Y2VwdGlvbiBpbmZvcm1hdGlvbiBpcyBoZWxkIGluIHRoZSB0aHJlYWQsIGFuZCB0aGVyZSBpcyBubworICAgdGhyZWFkLgorCisgICBMb2NraW5nOiBhcyBhYm92ZS4KKworKi8KKworUHlUaHJlYWRTdGF0ZSAqCitQeV9OZXdJbnRlcnByZXRlcih2b2lkKQoreworICAgIFB5SW50ZXJwcmV0ZXJTdGF0ZSAqaW50ZXJwOworICAgIFB5VGhyZWFkU3RhdGUgKnRzdGF0ZSwgKnNhdmVfdHN0YXRlOworICAgIFB5T2JqZWN0ICpiaW1vZCwgKnN5c21vZDsKKworICAgIGlmICghaW5pdGlhbGl6ZWQpCisgICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X05ld0ludGVycHJldGVyOiBjYWxsIFB5X0luaXRpYWxpemUgZmlyc3QiKTsKKworICAgIGludGVycCA9IFB5SW50ZXJwcmV0ZXJTdGF0ZV9OZXcoKTsKKyAgICBpZiAoaW50ZXJwID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgdHN0YXRlID0gUHlUaHJlYWRTdGF0ZV9OZXcoaW50ZXJwKTsKKyAgICBpZiAodHN0YXRlID09IE5VTEwpIHsKKyAgICAgICAgUHlJbnRlcnByZXRlclN0YXRlX0RlbGV0ZShpbnRlcnApOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICBzYXZlX3RzdGF0ZSA9IFB5VGhyZWFkU3RhdGVfU3dhcCh0c3RhdGUpOworCisgICAgLyogWFhYIFRoZSBmb2xsb3dpbmcgaXMgbGF4IGluIGVycm9yIGNoZWNraW5nICovCisKKyAgICBpbnRlcnAtPm1vZHVsZXMgPSBQeURpY3RfTmV3KCk7CisKKyAgICBiaW1vZCA9IF9QeUltcG9ydF9GaW5kQnVpbHRpbigiYnVpbHRpbnMiKTsKKyAgICBpZiAoYmltb2QgIT0gTlVMTCkgeworICAgICAgICBpbnRlcnAtPmJ1aWx0aW5zID0gUHlNb2R1bGVfR2V0RGljdChiaW1vZCk7CisgICAgICAgIGlmIChpbnRlcnAtPmJ1aWx0aW5zID09IE5VTEwpCisgICAgICAgICAgICBnb3RvIGhhbmRsZV9lcnJvcjsKKyAgICAgICAgUHlfSU5DUkVGKGludGVycC0+YnVpbHRpbnMpOworICAgIH0KKworICAgIC8qIGluaXRpYWxpemUgYnVpbHRpbiBleGNlcHRpb25zICovCisgICAgX1B5RXhjX0luaXQoYmltb2QpOworCisgICAgc3lzbW9kID0gX1B5SW1wb3J0X0ZpbmRCdWlsdGluKCJzeXMiKTsKKyAgICBpZiAoYmltb2QgIT0gTlVMTCAmJiBzeXNtb2QgIT0gTlVMTCkgeworICAgICAgICBQeU9iamVjdCAqcHN0ZGVycjsKKworICAgICAgICBpbnRlcnAtPnN5c2RpY3QgPSBQeU1vZHVsZV9HZXREaWN0KHN5c21vZCk7CisgICAgICAgIGlmIChpbnRlcnAtPnN5c2RpY3QgPT0gTlVMTCkKKyAgICAgICAgICAgIGdvdG8gaGFuZGxlX2Vycm9yOworICAgICAgICBQeV9JTkNSRUYoaW50ZXJwLT5zeXNkaWN0KTsKKyAgICAgICAgUHlTeXNfU2V0UGF0aChQeV9HZXRQYXRoKCkpOworICAgICAgICBQeURpY3RfU2V0SXRlbVN0cmluZyhpbnRlcnAtPnN5c2RpY3QsICJtb2R1bGVzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZXJwLT5tb2R1bGVzKTsKKyAgICAgICAgLyogU2V0IHVwIGEgcHJlbGltaW5hcnkgc3RkZXJyIHByaW50ZXIgdW50aWwgd2UgaGF2ZSBlbm91Z2gKKyAgICAgICAgICAgaW5mcmFzdHJ1Y3R1cmUgZm9yIHRoZSBpbyBtb2R1bGUgaW4gcGxhY2UuICovCisgICAgICAgIHBzdGRlcnIgPSBQeUZpbGVfTmV3U3RkUHJpbnRlcihmaWxlbm8oc3RkZXJyKSk7CisgICAgICAgIGlmIChwc3RkZXJyID09IE5VTEwpCisgICAgICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBzZXQgcHJlbGltaW5hcnkgc3RkZXJyIik7CisgICAgICAgIF9QeVN5c19TZXRPYmplY3RJZCgmUHlJZF9zdGRlcnIsIHBzdGRlcnIpOworICAgICAgICBQeVN5c19TZXRPYmplY3QoIl9fc3RkZXJyX18iLCBwc3RkZXJyKTsKKyAgICAgICAgUHlfREVDUkVGKHBzdGRlcnIpOworCisgICAgICAgIF9QeUltcG9ydEhvb2tzX0luaXQoKTsKKworICAgICAgICBpbXBvcnRfaW5pdChpbnRlcnAsIHN5c21vZCk7CisKKyAgICAgICAgaWYgKGluaXRmc2VuY29kaW5nKGludGVycCkgPCAwKQorICAgICAgICAgICAgZ290byBoYW5kbGVfZXJyb3I7CisKKyAgICAgICAgaWYgKGluaXRzdGRpbygpIDwgMCkKKyAgICAgICAgICAgIFB5X0ZhdGFsRXJyb3IoCisgICAgICAgICAgICAiUHlfSW5pdGlhbGl6ZTogY2FuJ3QgaW5pdGlhbGl6ZSBzeXMgc3RhbmRhcmQgc3RyZWFtcyIpOworICAgICAgICBpbml0bWFpbihpbnRlcnApOworICAgICAgICBpZiAoIVB5X05vU2l0ZUZsYWcpCisgICAgICAgICAgICBpbml0c2l0ZSgpOworICAgIH0KKworICAgIGlmICghUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgcmV0dXJuIHRzdGF0ZTsKKworaGFuZGxlX2Vycm9yOgorICAgIC8qIE9vcHMsIGl0IGRpZG4ndCB3b3JrLiAgVW5kbyBpdCBhbGwuICovCisKKyAgICBQeUVycl9QcmludEV4KDApOworICAgIFB5VGhyZWFkU3RhdGVfQ2xlYXIodHN0YXRlKTsKKyAgICBQeVRocmVhZFN0YXRlX1N3YXAoc2F2ZV90c3RhdGUpOworICAgIFB5VGhyZWFkU3RhdGVfRGVsZXRlKHRzdGF0ZSk7CisgICAgUHlJbnRlcnByZXRlclN0YXRlX0RlbGV0ZShpbnRlcnApOworCisgICAgcmV0dXJuIE5VTEw7Cit9CisKKy8qIERlbGV0ZSBhbiBpbnRlcnByZXRlciBhbmQgaXRzIGxhc3QgdGhyZWFkLiAgVGhpcyByZXF1aXJlcyB0aGF0IHRoZQorICAgZ2l2ZW4gdGhyZWFkIHN0YXRlIGlzIGN1cnJlbnQsIHRoYXQgdGhlIHRocmVhZCBoYXMgbm8gcmVtYWluaW5nCisgICBmcmFtZXMsIGFuZCB0aGF0IGl0IGlzIGl0cyBpbnRlcnByZXRlcidzIG9ubHkgcmVtYWluaW5nIHRocmVhZC4KKyAgIEl0IGlzIGEgZmF0YWwgZXJyb3IgdG8gdmlvbGF0ZSB0aGVzZSBjb25zdHJhaW50cy4KKworICAgKFB5X0ZpbmFsaXplKCkgZG9lc24ndCBoYXZlIHRoZXNlIGNvbnN0cmFpbnRzIC0tIGl0IHphcHMKKyAgIGV2ZXJ5dGhpbmcsIHJlZ2FyZGxlc3MuKQorCisgICBMb2NraW5nOiBhcyBhYm92ZS4KKworKi8KKwordm9pZAorUHlfRW5kSW50ZXJwcmV0ZXIoUHlUaHJlYWRTdGF0ZSAqdHN0YXRlKQoreworICAgIFB5SW50ZXJwcmV0ZXJTdGF0ZSAqaW50ZXJwID0gdHN0YXRlLT5pbnRlcnA7CisKKyAgICBpZiAodHN0YXRlICE9IFB5VGhyZWFkU3RhdGVfR0VUKCkpCisgICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0VuZEludGVycHJldGVyOiB0aHJlYWQgaXMgbm90IGN1cnJlbnQiKTsKKyAgICBpZiAodHN0YXRlLT5mcmFtZSAhPSBOVUxMKQorICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9FbmRJbnRlcnByZXRlcjogdGhyZWFkIHN0aWxsIGhhcyBhIGZyYW1lIik7CisKKyAgICB3YWl0X2Zvcl90aHJlYWRfc2h1dGRvd24oKTsKKworICAgIGlmICh0c3RhdGUgIT0gaW50ZXJwLT50c3RhdGVfaGVhZCB8fCB0c3RhdGUtPm5leHQgIT0gTlVMTCkKKyAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlfRW5kSW50ZXJwcmV0ZXI6IG5vdCB0aGUgbGFzdCB0aHJlYWQiKTsKKworICAgIFB5SW1wb3J0X0NsZWFudXAoKTsKKyAgICBQeUludGVycHJldGVyU3RhdGVfQ2xlYXIoaW50ZXJwKTsKKyAgICBQeVRocmVhZFN0YXRlX1N3YXAoTlVMTCk7CisgICAgUHlJbnRlcnByZXRlclN0YXRlX0RlbGV0ZShpbnRlcnApOworfQorCisjaWZkZWYgTVNfV0lORE9XUworc3RhdGljIHdjaGFyX3QgKnByb2duYW1lID0gTCJweXRob24iOworI2Vsc2UKK3N0YXRpYyB3Y2hhcl90ICpwcm9nbmFtZSA9IEwicHl0aG9uMyI7CisjZW5kaWYKKwordm9pZAorUHlfU2V0UHJvZ3JhbU5hbWUod2NoYXJfdCAqcG4pCit7CisgICAgaWYgKHBuICYmICpwbikKKyAgICAgICAgcHJvZ25hbWUgPSBwbjsKK30KKword2NoYXJfdCAqCitQeV9HZXRQcm9ncmFtTmFtZSh2b2lkKQoreworICAgIHJldHVybiBwcm9nbmFtZTsKK30KKworc3RhdGljIHdjaGFyX3QgKmRlZmF1bHRfaG9tZSA9IE5VTEw7CitzdGF0aWMgd2NoYXJfdCBlbnZfaG9tZVtNQVhQQVRITEVOKzFdOworCit2b2lkCitQeV9TZXRQeXRob25Ib21lKHdjaGFyX3QgKmhvbWUpCit7CisgICAgZGVmYXVsdF9ob21lID0gaG9tZTsKK30KKword2NoYXJfdCAqCitQeV9HZXRQeXRob25Ib21lKHZvaWQpCit7CisgICAgd2NoYXJfdCAqaG9tZSA9IGRlZmF1bHRfaG9tZTsKKyAgICBpZiAoaG9tZSA9PSBOVUxMICYmICFQeV9JZ25vcmVFbnZpcm9ubWVudEZsYWcpIHsKKyAgICAgICAgY2hhciogY2hvbWUgPSBQeV9HRVRFTlYoIlBZVEhPTkhPTUUiKTsKKyAgICAgICAgaWYgKGNob21lKSB7CisgICAgICAgICAgICBzaXplX3Qgc2l6ZSA9IFB5X0FSUkFZX0xFTkdUSChlbnZfaG9tZSk7CisgICAgICAgICAgICBzaXplX3QgciA9IG1ic3Rvd2NzKGVudl9ob21lLCBjaG9tZSwgc2l6ZSk7CisgICAgICAgICAgICBpZiAociAhPSAoc2l6ZV90KS0xICYmIHIgPCBzaXplKQorICAgICAgICAgICAgICAgIGhvbWUgPSBlbnZfaG9tZTsKKyAgICAgICAgfQorCisgICAgfQorICAgIHJldHVybiBob21lOworfQorCisvKiBDcmVhdGUgX19tYWluX18gbW9kdWxlICovCisKK3N0YXRpYyB2b2lkCitpbml0bWFpbihQeUludGVycHJldGVyU3RhdGUgKmludGVycCkKK3sKKyAgICBQeU9iamVjdCAqbSwgKmQsICpsb2FkZXI7CisgICAgbSA9IFB5SW1wb3J0X0FkZE1vZHVsZSgiX19tYWluX18iKTsKKyAgICBpZiAobSA9PSBOVUxMKQorICAgICAgICBQeV9GYXRhbEVycm9yKCJjYW4ndCBjcmVhdGUgX19tYWluX18gbW9kdWxlIik7CisgICAgZCA9IFB5TW9kdWxlX0dldERpY3QobSk7CisgICAgaWYgKFB5RGljdF9HZXRJdGVtU3RyaW5nKGQsICJfX2J1aWx0aW5zX18iKSA9PSBOVUxMKSB7CisgICAgICAgIFB5T2JqZWN0ICpiaW1vZCA9IFB5SW1wb3J0X0ltcG9ydE1vZHVsZSgiYnVpbHRpbnMiKTsKKyAgICAgICAgaWYgKGJpbW9kID09IE5VTEwpIHsKKyAgICAgICAgICAgIFB5X0ZhdGFsRXJyb3IoIkZhaWxlZCB0byByZXRyaWV2ZSBidWlsdGlucyBtb2R1bGUiKTsKKyAgICAgICAgfQorICAgICAgICBpZiAoUHlEaWN0X1NldEl0ZW1TdHJpbmcoZCwgIl9fYnVpbHRpbnNfXyIsIGJpbW9kKSA8IDApIHsKKyAgICAgICAgICAgIFB5X0ZhdGFsRXJyb3IoIkZhaWxlZCB0byBpbml0aWFsaXplIF9fbWFpbl9fLl9fYnVpbHRpbnNfXyIpOworICAgICAgICB9CisgICAgICAgIFB5X0RFQ1JFRihiaW1vZCk7CisgICAgfQorICAgIC8qIE1haW4gaXMgYSBsaXR0bGUgc3BlY2lhbCAtIGltcC5pc19idWlsdGluKCJfX21haW5fXyIpIHdpbGwgcmV0dXJuCisgICAgICogRmFsc2UsIGJ1dCBCdWlsdGluSW1wb3J0ZXIgaXMgc3RpbGwgdGhlIG1vc3QgYXBwcm9wcmlhdGUgaW5pdGlhbAorICAgICAqIHNldHRpbmcgZm9yIGl0cyBfX2xvYWRlcl9fIGF0dHJpYnV0ZS4gQSBtb3JlIHN1aXRhYmxlIHZhbHVlIHdpbGwKKyAgICAgKiBiZSBzZXQgaWYgX19tYWluX18gZ2V0cyBmdXJ0aGVyIGluaXRpYWxpemVkIGxhdGVyIGluIHRoZSBzdGFydHVwCisgICAgICogcHJvY2Vzcy4KKyAgICAgKi8KKyAgICBsb2FkZXIgPSBQeURpY3RfR2V0SXRlbVN0cmluZyhkLCAiX19sb2FkZXJfXyIpOworICAgIGlmIChsb2FkZXIgPT0gTlVMTCB8fCBsb2FkZXIgPT0gUHlfTm9uZSkgeworICAgICAgICBQeU9iamVjdCAqbG9hZGVyID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhpbnRlcnAtPmltcG9ydGxpYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkJ1aWx0aW5JbXBvcnRlciIpOworICAgICAgICBpZiAobG9hZGVyID09IE5VTEwpIHsKKyAgICAgICAgICAgIFB5X0ZhdGFsRXJyb3IoIkZhaWxlZCB0byByZXRyaWV2ZSBCdWlsdGluSW1wb3J0ZXIiKTsKKyAgICAgICAgfQorICAgICAgICBpZiAoUHlEaWN0X1NldEl0ZW1TdHJpbmcoZCwgIl9fbG9hZGVyX18iLCBsb2FkZXIpIDwgMCkgeworICAgICAgICAgICAgUHlfRmF0YWxFcnJvcigiRmFpbGVkIHRvIGluaXRpYWxpemUgX19tYWluX18uX19sb2FkZXJfXyIpOworICAgICAgICB9CisgICAgICAgIFB5X0RFQ1JFRihsb2FkZXIpOworICAgIH0KK30KKworc3RhdGljIGludAoraW5pdGZzZW5jb2RpbmcoUHlJbnRlcnByZXRlclN0YXRlICppbnRlcnApCit7CisgICAgUHlPYmplY3QgKmNvZGVjOworCisgICAgaWYgKFB5X0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2RpbmcgPT0gTlVMTCkKKyAgICB7CisgICAgICAgIFB5X0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2RpbmcgPSBnZXRfbG9jYWxlX2VuY29kaW5nKCk7CisgICAgICAgIGlmIChQeV9GaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nID09IE5VTEwpCisgICAgICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBVbmFibGUgdG8gZ2V0IHRoZSBsb2NhbGUgZW5jb2RpbmciKTsKKworICAgICAgICBQeV9IYXNGaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nID0gMDsKKyAgICAgICAgaW50ZXJwLT5mc2NvZGVjX2luaXRpYWxpemVkID0gMTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgLyogdGhlIGVuY29kaW5nIGlzIG1iY3MsIHV0Zi04IG9yIGFzY2lpICovCisgICAgY29kZWMgPSBfUHlDb2RlY19Mb29rdXAoUHlfRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZyk7CisgICAgaWYgKCFjb2RlYykgeworICAgICAgICAvKiBTdWNoIGVycm9yIGNhbiBvbmx5IG9jY3VycyBpbiBjcml0aWNhbCBzaXR1YXRpb25zOiBubyBtb3JlCisgICAgICAgICAqIG1lbW9yeSwgaW1wb3J0IGEgbW9kdWxlIG9mIHRoZSBzdGFuZGFyZCBsaWJyYXJ5IGZhaWxlZCwKKyAgICAgICAgICogZXRjLiAqLworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorICAgIFB5X0RFQ1JFRihjb2RlYyk7CisgICAgaW50ZXJwLT5mc2NvZGVjX2luaXRpYWxpemVkID0gMTsKKyAgICByZXR1cm4gMDsKK30KKworLyogSW1wb3J0IHRoZSBzaXRlIG1vZHVsZSAobm90IGludG8gX19tYWluX18gdGhvdWdoKSAqLworCitzdGF0aWMgdm9pZAoraW5pdHNpdGUodm9pZCkKK3sKKyAgICBQeU9iamVjdCAqbTsKKyAgICBtID0gUHlJbXBvcnRfSW1wb3J0TW9kdWxlKCJzaXRlIik7CisgICAgaWYgKG0gPT0gTlVMTCkgeworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkZhaWxlZCB0byBpbXBvcnQgdGhlIHNpdGUgbW9kdWxlXG4iKTsKKyAgICAgICAgUHlFcnJfUHJpbnQoKTsKKyAgICAgICAgUHlfRmluYWxpemUoKTsKKyAgICAgICAgZXhpdCgxKTsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIFB5X0RFQ1JFRihtKTsKKyAgICB9Cit9CisKK3N0YXRpYyBQeU9iamVjdCoKK2NyZWF0ZV9zdGRpbyhQeU9iamVjdCogaW8sCisgICAgaW50IGZkLCBpbnQgd3JpdGVfbW9kZSwgY2hhciogbmFtZSwKKyAgICBjaGFyKiBlbmNvZGluZywgY2hhciogZXJyb3JzKQoreworICAgIFB5T2JqZWN0ICpidWYgPSBOVUxMLCAqc3RyZWFtID0gTlVMTCwgKnRleHQgPSBOVUxMLCAqcmF3ID0gTlVMTCwgKnJlczsKKyAgICBjb25zdCBjaGFyKiBtb2RlOworICAgIGNvbnN0IGNoYXIqIG5ld2xpbmU7CisgICAgUHlPYmplY3QgKmxpbmVfYnVmZmVyaW5nOworICAgIGludCBidWZmZXJpbmcsIGlzYXR0eTsKKyAgICBfUHlfSURFTlRJRklFUihvcGVuKTsKKyAgICBfUHlfSURFTlRJRklFUihpc2F0dHkpOworICAgIF9QeV9JREVOVElGSUVSKFRleHRJT1dyYXBwZXIpOworICAgIF9QeV9JREVOVElGSUVSKG1vZGUpOworCisgICAgLyogc3RkaW4gaXMgYWx3YXlzIG9wZW5lZCBpbiBidWZmZXJlZCBtb2RlLCBmaXJzdCBiZWNhdXNlIGl0IHNob3VsZG4ndAorICAgICAgIG1ha2UgYSBkaWZmZXJlbmNlIGluIGNvbW1vbiB1c2UgY2FzZXMsIHNlY29uZCBiZWNhdXNlIFRleHRJT1dyYXBwZXIKKyAgICAgICBkZXBlbmRzIG9uIHRoZSBwcmVzZW5jZSBvZiBhIHJlYWQxKCkgbWV0aG9kIHdoaWNoIG9ubHkgZXhpc3RzIG9uCisgICAgICAgYnVmZmVyZWQgc3RyZWFtcy4KKyAgICAqLworICAgIGlmIChQeV9VbmJ1ZmZlcmVkU3RkaW9GbGFnICYmIHdyaXRlX21vZGUpCisgICAgICAgIGJ1ZmZlcmluZyA9IDA7CisgICAgZWxzZQorICAgICAgICBidWZmZXJpbmcgPSAtMTsKKyAgICBpZiAod3JpdGVfbW9kZSkKKyAgICAgICAgbW9kZSA9ICJ3YiI7CisgICAgZWxzZQorICAgICAgICBtb2RlID0gInJiIjsKKyAgICBidWYgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKGlvLCAmUHlJZF9vcGVuLCAiaXNpT09PaSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZCwgbW9kZSwgYnVmZmVyaW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfTm9uZSwgUHlfTm9uZSwgUHlfTm9uZSwgMCk7CisgICAgaWYgKGJ1ZiA9PSBOVUxMKQorICAgICAgICBnb3RvIGVycm9yOworCisgICAgaWYgKGJ1ZmZlcmluZykgeworICAgICAgICBfUHlfSURFTlRJRklFUihyYXcpOworICAgICAgICByYXcgPSBfUHlPYmplY3RfR2V0QXR0cklkKGJ1ZiwgJlB5SWRfcmF3KTsKKyAgICAgICAgaWYgKHJhdyA9PSBOVUxMKQorICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIHJhdyA9IGJ1ZjsKKyAgICAgICAgUHlfSU5DUkVGKHJhdyk7CisgICAgfQorCisgICAgdGV4dCA9IFB5VW5pY29kZV9Gcm9tU3RyaW5nKG5hbWUpOworICAgIGlmICh0ZXh0ID09IE5VTEwgfHwgX1B5T2JqZWN0X1NldEF0dHJJZChyYXcsICZQeUlkX25hbWUsIHRleHQpIDwgMCkKKyAgICAgICAgZ290byBlcnJvcjsKKyAgICByZXMgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKHJhdywgJlB5SWRfaXNhdHR5LCAiIik7CisgICAgaWYgKHJlcyA9PSBOVUxMKQorICAgICAgICBnb3RvIGVycm9yOworICAgIGlzYXR0eSA9IFB5T2JqZWN0X0lzVHJ1ZShyZXMpOworICAgIFB5X0RFQ1JFRihyZXMpOworICAgIGlmIChpc2F0dHkgPT0gLTEpCisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgaWYgKGlzYXR0eSB8fCBQeV9VbmJ1ZmZlcmVkU3RkaW9GbGFnKQorICAgICAgICBsaW5lX2J1ZmZlcmluZyA9IFB5X1RydWU7CisgICAgZWxzZQorICAgICAgICBsaW5lX2J1ZmZlcmluZyA9IFB5X0ZhbHNlOworCisgICAgUHlfQ0xFQVIocmF3KTsKKyAgICBQeV9DTEVBUih0ZXh0KTsKKworI2lmZGVmIE1TX1dJTkRPV1MKKyAgICAvKiBzeXMuc3RkaW46IGVuYWJsZSB1bml2ZXJzYWwgbmV3bGluZSBtb2RlLCB0cmFuc2xhdGUgIlxyXG4iIGFuZCAiXHIiCisgICAgICAgbmV3bGluZXMgdG8gIlxuIi4KKyAgICAgICBzeXMuc3Rkb3V0IGFuZCBzeXMuc3RkZXJyOiB0cmFuc2xhdGUgIlxuIiB0byAiXHJcbiIuICovCisgICAgbmV3bGluZSA9IE5VTEw7CisjZWxzZQorICAgIC8qIHN5cy5zdGRpbjogc3BsaXQgbGluZXMgYXQgIlxuIi4KKyAgICAgICBzeXMuc3Rkb3V0IGFuZCBzeXMuc3RkZXJyOiBkb24ndCB0cmFuc2xhdGUgbmV3bGluZXMgKHVzZSAiXG4iKS4gKi8KKyAgICBuZXdsaW5lID0gIlxuIjsKKyNlbmRpZgorCisgICAgc3RyZWFtID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChpbywgJlB5SWRfVGV4dElPV3JhcHBlciwgIk9zc3NPIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZiwgZW5jb2RpbmcsIGVycm9ycywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld2xpbmUsIGxpbmVfYnVmZmVyaW5nKTsKKyAgICBQeV9DTEVBUihidWYpOworICAgIGlmIChzdHJlYW0gPT0gTlVMTCkKKyAgICAgICAgZ290byBlcnJvcjsKKworICAgIGlmICh3cml0ZV9tb2RlKQorICAgICAgICBtb2RlID0gInciOworICAgIGVsc2UKKyAgICAgICAgbW9kZSA9ICJyIjsKKyAgICB0ZXh0ID0gUHlVbmljb2RlX0Zyb21TdHJpbmcobW9kZSk7CisgICAgaWYgKCF0ZXh0IHx8IF9QeU9iamVjdF9TZXRBdHRySWQoc3RyZWFtLCAmUHlJZF9tb2RlLCB0ZXh0KSA8IDApCisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgUHlfQ0xFQVIodGV4dCk7CisgICAgcmV0dXJuIHN0cmVhbTsKKworZXJyb3I6CisgICAgUHlfWERFQ1JFRihidWYpOworICAgIFB5X1hERUNSRUYoc3RyZWFtKTsKKyAgICBQeV9YREVDUkVGKHRleHQpOworICAgIFB5X1hERUNSRUYocmF3KTsKKyAgICByZXR1cm4gTlVMTDsKK30KKworc3RhdGljIGludAoraXNfdmFsaWRfZmQoaW50IGZkKQoreworICAgIGludCBkdW1teV9mZDsKKyAgICBpZiAoZmQgPCAwIHx8ICFfUHlWZXJpZnlfZmQoZmQpKQorICAgICAgICByZXR1cm4gMDsKKyAgICBkdW1teV9mZCA9IGR1cChmZCk7CisgICAgaWYgKGR1bW15X2ZkIDwgMCkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgY2xvc2UoZHVtbXlfZmQpOworICAgIHJldHVybiAxOworfQorCisvKiBJbml0aWFsaXplIHN5cy5zdGRpbiwgc3Rkb3V0LCBzdGRlcnIgYW5kIGJ1aWx0aW5zLm9wZW4gKi8KK3N0YXRpYyBpbnQKK2luaXRzdGRpbyh2b2lkKQoreworICAgIFB5T2JqZWN0ICppb21vZCA9IE5VTEwsICp3cmFwcGVyOworICAgIFB5T2JqZWN0ICpiaW1vZCA9IE5VTEw7CisgICAgUHlPYmplY3QgKm07CisgICAgUHlPYmplY3QgKnN0ZCA9IE5VTEw7CisgICAgaW50IHN0YXR1cyA9IDAsIGZkOworICAgIFB5T2JqZWN0ICogZW5jb2RpbmdfYXR0cjsKKyAgICBjaGFyICpweXRob25pb2VuY29kaW5nID0gTlVMTCwgKmVuY29kaW5nLCAqZXJyb3JzOworCisgICAgLyogSGFjayB0byBhdm9pZCBhIG5hc3R5IHJlY3Vyc2lvbiBpc3N1ZSB3aGVuIFB5dGhvbiBpcyBpbnZva2VkCisgICAgICAgaW4gdmVyYm9zZSBtb2RlOiBwcmUtaW1wb3J0IHRoZSBMYXRpbi0xIGFuZCBVVEYtOCBjb2RlY3MgKi8KKyAgICBpZiAoKG0gPSBQeUltcG9ydF9JbXBvcnRNb2R1bGUoImVuY29kaW5ncy51dGZfOCIpKSA9PSBOVUxMKSB7CisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgfQorICAgIFB5X0RFQ1JFRihtKTsKKworICAgIGlmICghKG0gPSBQeUltcG9ydF9JbXBvcnRNb2R1bGUoImVuY29kaW5ncy5sYXRpbl8xIikpKSB7CisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgfQorICAgIFB5X0RFQ1JFRihtKTsKKworICAgIGlmICghKGJpbW9kID0gUHlJbXBvcnRfSW1wb3J0TW9kdWxlKCJidWlsdGlucyIpKSkgeworICAgICAgICBnb3RvIGVycm9yOworICAgIH0KKworICAgIGlmICghKGlvbW9kID0gUHlJbXBvcnRfSW1wb3J0TW9kdWxlKCJpbyIpKSkgeworICAgICAgICBnb3RvIGVycm9yOworICAgIH0KKyAgICBpZiAoISh3cmFwcGVyID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhpb21vZCwgIk9wZW5XcmFwcGVyIikpKSB7CisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgfQorCisgICAgLyogU2V0IGJ1aWx0aW5zLm9wZW4gKi8KKyAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhiaW1vZCwgIm9wZW4iLCB3cmFwcGVyKSA9PSAtMSkgeworICAgICAgICBQeV9ERUNSRUYod3JhcHBlcik7CisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgfQorICAgIFB5X0RFQ1JFRih3cmFwcGVyKTsKKworICAgIGVuY29kaW5nID0gX1B5X1N0YW5kYXJkU3RyZWFtRW5jb2Rpbmc7CisgICAgZXJyb3JzID0gX1B5X1N0YW5kYXJkU3RyZWFtRXJyb3JzOworICAgIGlmICghZW5jb2RpbmcgfHwgIWVycm9ycykgeworICAgICAgICBpZiAoIWVycm9ycykgeworICAgICAgICAgICAgLyogV2hlbiB0aGUgTENfQ1RZUEUgbG9jYWxlIGlzIHRoZSBQT1NJWCBsb2NhbGUgKCJDIGxvY2FsZSIpLAorICAgICAgICAgICAgICAgc3RkaW4gYW5kIHN0ZG91dCB1c2UgdGhlIHN1cnJvZ2F0ZWVzY2FwZSBlcnJvciBoYW5kbGVyIGJ5CisgICAgICAgICAgICAgICBkZWZhdWx0LCBpbnN0ZWFkIG9mIHRoZSBzdHJpY3QgZXJyb3IgaGFuZGxlci4gKi8KKyAgICAgICAgICAgIGNoYXIgKmxvYyA9IHNldGxvY2FsZShMQ19DVFlQRSwgTlVMTCk7CisgICAgICAgICAgICBpZiAobG9jICE9IE5VTEwgJiYgc3RyY21wKGxvYywgIkMiKSA9PSAwKQorICAgICAgICAgICAgICAgIGVycm9ycyA9ICJzdXJyb2dhdGVlc2NhcGUiOworICAgICAgICB9CisKKyAgICAgICAgcHl0aG9uaW9lbmNvZGluZyA9IFB5X0dFVEVOVigiUFlUSE9OSU9FTkNPRElORyIpOworICAgICAgICBpZiAocHl0aG9uaW9lbmNvZGluZykgeworICAgICAgICAgICAgY2hhciAqZXJyOworICAgICAgICAgICAgcHl0aG9uaW9lbmNvZGluZyA9IF9QeU1lbV9TdHJkdXAocHl0aG9uaW9lbmNvZGluZyk7CisgICAgICAgICAgICBpZiAocHl0aG9uaW9lbmNvZGluZyA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZXJyID0gc3RyY2hyKHB5dGhvbmlvZW5jb2RpbmcsICc6Jyk7CisgICAgICAgICAgICBpZiAoZXJyKSB7CisgICAgICAgICAgICAgICAgKmVyciA9ICdcMCc7CisgICAgICAgICAgICAgICAgZXJyKys7CisgICAgICAgICAgICAgICAgaWYgKCplcnIgJiYgIV9QeV9TdGFuZGFyZFN0cmVhbUVycm9ycykgeworICAgICAgICAgICAgICAgICAgICBlcnJvcnMgPSBlcnI7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKCpweXRob25pb2VuY29kaW5nICYmICFlbmNvZGluZykgeworICAgICAgICAgICAgICAgIGVuY29kaW5nID0gcHl0aG9uaW9lbmNvZGluZzsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIC8qIFNldCBzeXMuc3RkaW4gKi8KKyAgICBmZCA9IGZpbGVubyhzdGRpbik7CisgICAgLyogVW5kZXIgc29tZSBjb25kaXRpb25zIHN0ZGluLCBzdGRvdXQgYW5kIHN0ZGVyciBtYXkgbm90IGJlIGNvbm5lY3RlZAorICAgICAqIGFuZCBmaWxlbm8oKSBtYXkgcG9pbnQgdG8gYW4gaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IuIEZvciBleGFtcGxlCisgICAgICogR1VJIGFwcHMgZG9uJ3QgaGF2ZSB2YWxpZCBzdGFuZGFyZCBzdHJlYW1zIGJ5IGRlZmF1bHQuCisgICAgICovCisgICAgaWYgKCFpc192YWxpZF9mZChmZCkpIHsKKyAgICAgICAgc3RkID0gUHlfTm9uZTsKKyAgICAgICAgUHlfSU5DUkVGKHN0ZCk7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICBzdGQgPSBjcmVhdGVfc3RkaW8oaW9tb2QsIGZkLCAwLCAiPHN0ZGluPiIsIGVuY29kaW5nLCBlcnJvcnMpOworICAgICAgICBpZiAoc3RkID09IE5VTEwpCisgICAgICAgICAgICBnb3RvIGVycm9yOworICAgIH0gLyogaWYgKGZkIDwgMCkgKi8KKyAgICBQeVN5c19TZXRPYmplY3QoIl9fc3RkaW5fXyIsIHN0ZCk7CisgICAgX1B5U3lzX1NldE9iamVjdElkKCZQeUlkX3N0ZGluLCBzdGQpOworICAgIFB5X0RFQ1JFRihzdGQpOworCisgICAgLyogU2V0IHN5cy5zdGRvdXQgKi8KKyAgICBmZCA9IGZpbGVubyhzdGRvdXQpOworICAgIGlmICghaXNfdmFsaWRfZmQoZmQpKSB7CisgICAgICAgIHN0ZCA9IFB5X05vbmU7CisgICAgICAgIFB5X0lOQ1JFRihzdGQpOworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgc3RkID0gY3JlYXRlX3N0ZGlvKGlvbW9kLCBmZCwgMSwgIjxzdGRvdXQ+IiwgZW5jb2RpbmcsIGVycm9ycyk7CisgICAgICAgIGlmIChzdGQgPT0gTlVMTCkKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgfSAvKiBpZiAoZmQgPCAwKSAqLworICAgIFB5U3lzX1NldE9iamVjdCgiX19zdGRvdXRfXyIsIHN0ZCk7CisgICAgX1B5U3lzX1NldE9iamVjdElkKCZQeUlkX3N0ZG91dCwgc3RkKTsKKyAgICBQeV9ERUNSRUYoc3RkKTsKKworI2lmIDEgLyogRGlzYWJsZSB0aGlzIGlmIHlvdSBoYXZlIHRyb3VibGUgZGVidWdnaW5nIGJvb3RzdHJhcCBzdHVmZiAqLworICAgIC8qIFNldCBzeXMuc3RkZXJyLCByZXBsYWNlcyB0aGUgcHJlbGltaW5hcnkgc3RkZXJyICovCisgICAgZmQgPSBmaWxlbm8oc3RkZXJyKTsKKyAgICBpZiAoIWlzX3ZhbGlkX2ZkKGZkKSkgeworICAgICAgICBzdGQgPSBQeV9Ob25lOworICAgICAgICBQeV9JTkNSRUYoc3RkKTsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIHN0ZCA9IGNyZWF0ZV9zdGRpbyhpb21vZCwgZmQsIDEsICI8c3RkZXJyPiIsIGVuY29kaW5nLCAiYmFja3NsYXNocmVwbGFjZSIpOworICAgICAgICBpZiAoc3RkID09IE5VTEwpCisgICAgICAgICAgICBnb3RvIGVycm9yOworICAgIH0gLyogaWYgKGZkIDwgMCkgKi8KKworICAgIC8qIFNhbWUgYXMgaGFjayBhYm92ZSwgcHJlLWltcG9ydCBzdGRlcnIncyBjb2RlYyB0byBhdm9pZCByZWN1cnNpb24KKyAgICAgICB3aGVuIGltcG9ydC5jIHRyaWVzIHRvIHdyaXRlIHRvIHN0ZGVyciBpbiB2ZXJib3NlIG1vZGUuICovCisgICAgZW5jb2RpbmdfYXR0ciA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcoc3RkLCAiZW5jb2RpbmciKTsKKyAgICBpZiAoZW5jb2RpbmdfYXR0ciAhPSBOVUxMKSB7CisgICAgICAgIGNvbnN0IGNoYXIgKiBzdGRfZW5jb2Rpbmc7CisgICAgICAgIHN0ZF9lbmNvZGluZyA9IF9QeVVuaWNvZGVfQXNTdHJpbmcoZW5jb2RpbmdfYXR0cik7CisgICAgICAgIGlmIChzdGRfZW5jb2RpbmcgIT0gTlVMTCkgeworICAgICAgICAgICAgUHlPYmplY3QgKmNvZGVjX2luZm8gPSBfUHlDb2RlY19Mb29rdXAoc3RkX2VuY29kaW5nKTsKKyAgICAgICAgICAgIFB5X1hERUNSRUYoY29kZWNfaW5mbyk7CisgICAgICAgIH0KKyAgICAgICAgUHlfREVDUkVGKGVuY29kaW5nX2F0dHIpOworICAgIH0KKyAgICBQeUVycl9DbGVhcigpOyAgLyogTm90IGEgZmF0YWwgZXJyb3IgaWYgY29kZWMgaXNuJ3QgYXZhaWxhYmxlICovCisKKyAgICBpZiAoUHlTeXNfU2V0T2JqZWN0KCJfX3N0ZGVycl9fIiwgc3RkKSA8IDApIHsKKyAgICAgICAgUHlfREVDUkVGKHN0ZCk7CisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgfQorICAgIGlmIChfUHlTeXNfU2V0T2JqZWN0SWQoJlB5SWRfc3RkZXJyLCBzdGQpIDwgMCkgeworICAgICAgICBQeV9ERUNSRUYoc3RkKTsKKyAgICAgICAgZ290byBlcnJvcjsKKyAgICB9CisgICAgUHlfREVDUkVGKHN0ZCk7CisjZW5kaWYKKworICAgIGlmICgwKSB7CisgIGVycm9yOgorICAgICAgICBzdGF0dXMgPSAtMTsKKyAgICB9CisKKyAgICAvKiBXZSB3b24ndCBuZWVkIHRoZW0gYW55bW9yZS4gKi8KKyAgICBpZiAoX1B5X1N0YW5kYXJkU3RyZWFtRW5jb2RpbmcpIHsKKyAgICAgICAgUHlNZW1fUmF3RnJlZShfUHlfU3RhbmRhcmRTdHJlYW1FbmNvZGluZyk7CisgICAgICAgIF9QeV9TdGFuZGFyZFN0cmVhbUVuY29kaW5nID0gTlVMTDsKKyAgICB9CisgICAgaWYgKF9QeV9TdGFuZGFyZFN0cmVhbUVycm9ycykgeworICAgICAgICBQeU1lbV9SYXdGcmVlKF9QeV9TdGFuZGFyZFN0cmVhbUVycm9ycyk7CisgICAgICAgIF9QeV9TdGFuZGFyZFN0cmVhbUVycm9ycyA9IE5VTEw7CisgICAgfQorICAgIFB5TWVtX0ZyZWUocHl0aG9uaW9lbmNvZGluZyk7CisgICAgUHlfWERFQ1JFRihiaW1vZCk7CisgICAgUHlfWERFQ1JFRihpb21vZCk7CisgICAgcmV0dXJuIHN0YXR1czsKK30KKworCisvKiBQcmludCBmYXRhbCBlcnJvciBtZXNzYWdlIGFuZCBhYm9ydCAqLworCit2b2lkCitQeV9GYXRhbEVycm9yKGNvbnN0IGNoYXIgKm1zZykKK3sKKyAgICBjb25zdCBpbnQgZmQgPSBmaWxlbm8oc3RkZXJyKTsKKyAgICBQeVRocmVhZFN0YXRlICp0c3RhdGU7CisKKyAgICBmcHJpbnRmKHN0ZGVyciwgIkZhdGFsIFB5dGhvbiBlcnJvcjogJXNcbiIsIG1zZyk7CisgICAgZmZsdXNoKHN0ZGVycik7IC8qIGl0IGhlbHBzIGluIFdpbmRvd3MgZGVidWcgYnVpbGQgKi8KKyAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkgeworICAgICAgICBQeUVycl9QcmludEV4KDApOworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgdHN0YXRlID0gX1B5X2F0b21pY19sb2FkX3JlbGF4ZWQoJl9QeVRocmVhZFN0YXRlX0N1cnJlbnQpOworICAgICAgICBpZiAodHN0YXRlICE9IE5VTEwpIHsKKyAgICAgICAgICAgIGZwdXRjKCdcbicsIHN0ZGVycik7CisgICAgICAgICAgICBmZmx1c2goc3RkZXJyKTsKKyAgICAgICAgICAgIF9QeV9EdW1wVHJhY2ViYWNrVGhyZWFkcyhmZCwgdHN0YXRlLT5pbnRlcnAsIHRzdGF0ZSk7CisgICAgICAgIH0KKyAgICAgICAgX1B5RmF1bHRoYW5kbGVyX0ZpbmkoKTsKKyAgICB9CisKKyNpZmRlZiBNU19XSU5ET1dTCisgICAgeworICAgICAgICBzaXplX3QgbGVuID0gc3RybGVuKG1zZyk7CisgICAgICAgIFdDSEFSKiBidWZmZXI7CisgICAgICAgIHNpemVfdCBpOworCisgICAgICAgIC8qIENvbnZlcnQgdGhlIG1lc3NhZ2UgdG8gd2NoYXJfdC4gVGhpcyB1c2VzIGEgc2ltcGxlIG9uZS10by1vbmUKKyAgICAgICAgY29udmVyc2lvbiwgYXNzdW1pbmcgdGhhdCB0aGUgdGhpcyBlcnJvciBtZXNzYWdlIGFjdHVhbGx5IHVzZXMgQVNDSUkKKyAgICAgICAgb25seS4gSWYgdGhpcyBjZWFzZXMgdG8gYmUgdHJ1ZSwgd2Ugd2lsbCBoYXZlIHRvIGNvbnZlcnQuICovCisgICAgICAgIGJ1ZmZlciA9IGFsbG9jYSggKGxlbisxKSAqIChzaXplb2YgKmJ1ZmZlcikpOworICAgICAgICBmb3IoIGk9MDsgaTw9bGVuOyArK2kpCisgICAgICAgICAgICBidWZmZXJbaV0gPSBtc2dbaV07CisgICAgICAgIE91dHB1dERlYnVnU3RyaW5nVyhMIkZhdGFsIFB5dGhvbiBlcnJvcjogIik7CisgICAgICAgIE91dHB1dERlYnVnU3RyaW5nVyhidWZmZXIpOworICAgICAgICBPdXRwdXREZWJ1Z1N0cmluZ1coTCJcbiIpOworICAgIH0KKyNpZmRlZiBfREVCVUcKKyAgICBEZWJ1Z0JyZWFrKCk7CisjZW5kaWYKKyNlbmRpZiAvKiBNU19XSU5ET1dTICovCisgICAgYWJvcnQoKTsKK30KKworLyogQ2xlYW4gdXAgYW5kIGV4aXQgKi8KKworI2lmZGVmIFdJVEhfVEhSRUFECisjaW5jbHVkZSAicHl0aHJlYWQuaCIKKyNlbmRpZgorCitzdGF0aWMgdm9pZCAoKnB5ZXhpdGZ1bmMpKHZvaWQpID0gTlVMTDsKKy8qIEZvciB0aGUgYXRleGl0IG1vZHVsZS4gKi8KK3ZvaWQgX1B5X1B5QXRFeGl0KHZvaWQgKCpmdW5jKSh2b2lkKSkKK3sKKyAgICBweWV4aXRmdW5jID0gZnVuYzsKK30KKworc3RhdGljIHZvaWQKK2NhbGxfcHlfZXhpdGZ1bmNzKHZvaWQpCit7CisgICAgaWYgKHB5ZXhpdGZ1bmMgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuOworCisgICAgKCpweWV4aXRmdW5jKSgpOworICAgIFB5RXJyX0NsZWFyKCk7Cit9CisKKy8qIFdhaXQgdW50aWwgdGhyZWFkaW5nLl9zaHV0ZG93biBjb21wbGV0ZXMsIHByb3ZpZGVkCisgICB0aGUgdGhyZWFkaW5nIG1vZHVsZSB3YXMgaW1wb3J0ZWQgaW4gdGhlIGZpcnN0IHBsYWNlLgorICAgVGhlIHNodXRkb3duIHJvdXRpbmUgd2lsbCB3YWl0IHVudGlsIGFsbCBub24tZGFlbW9uCisgICAidGhyZWFkaW5nIiB0aHJlYWRzIGhhdmUgY29tcGxldGVkLiAqLworc3RhdGljIHZvaWQKK3dhaXRfZm9yX3RocmVhZF9zaHV0ZG93bih2b2lkKQoreworI2lmZGVmIFdJVEhfVEhSRUFECisgICAgX1B5X0lERU5USUZJRVIoX3NodXRkb3duKTsKKyAgICBQeU9iamVjdCAqcmVzdWx0OworICAgIFB5VGhyZWFkU3RhdGUgKnRzdGF0ZSA9IFB5VGhyZWFkU3RhdGVfR0VUKCk7CisgICAgUHlPYmplY3QgKnRocmVhZGluZyA9IFB5TWFwcGluZ19HZXRJdGVtU3RyaW5nKHRzdGF0ZS0+aW50ZXJwLT5tb2R1bGVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGhyZWFkaW5nIik7CisgICAgaWYgKHRocmVhZGluZyA9PSBOVUxMKSB7CisgICAgICAgIC8qIHRocmVhZGluZyBub3QgaW1wb3J0ZWQgKi8KKyAgICAgICAgUHlFcnJfQ2xlYXIoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICByZXN1bHQgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKHRocmVhZGluZywgJlB5SWRfX3NodXRkb3duLCAiIik7CisgICAgaWYgKHJlc3VsdCA9PSBOVUxMKSB7CisgICAgICAgIFB5RXJyX1dyaXRlVW5yYWlzYWJsZSh0aHJlYWRpbmcpOworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgUHlfREVDUkVGKHJlc3VsdCk7CisgICAgfQorICAgIFB5X0RFQ1JFRih0aHJlYWRpbmcpOworI2VuZGlmCit9CisKKyNkZWZpbmUgTkVYSVRGVU5DUyAzMgorc3RhdGljIHZvaWQgKCpleGl0ZnVuY3NbTkVYSVRGVU5DU10pKHZvaWQpOworc3RhdGljIGludCBuZXhpdGZ1bmNzID0gMDsKKworaW50IFB5X0F0RXhpdCh2b2lkICgqZnVuYykodm9pZCkpCit7CisgICAgaWYgKG5leGl0ZnVuY3MgPj0gTkVYSVRGVU5DUykKKyAgICAgICAgcmV0dXJuIC0xOworICAgIGV4aXRmdW5jc1tuZXhpdGZ1bmNzKytdID0gZnVuYzsKKyAgICByZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQKK2NhbGxfbGxfZXhpdGZ1bmNzKHZvaWQpCit7CisgICAgd2hpbGUgKG5leGl0ZnVuY3MgPiAwKQorICAgICAgICAoKmV4aXRmdW5jc1stLW5leGl0ZnVuY3NdKSgpOworCisgICAgZmZsdXNoKHN0ZG91dCk7CisgICAgZmZsdXNoKHN0ZGVycik7Cit9CisKK3ZvaWQKK1B5X0V4aXQoaW50IHN0cykKK3sKKyAgICBQeV9GaW5hbGl6ZSgpOworCisgICAgZXhpdChzdHMpOworfQorCitzdGF0aWMgdm9pZAoraW5pdHNpZ3Modm9pZCkKK3sKKyNpZmRlZiBTSUdQSVBFCisgICAgUHlPU19zZXRzaWcoU0lHUElQRSwgU0lHX0lHTik7CisjZW5kaWYKKyNpZmRlZiBTSUdYRloKKyAgICBQeU9TX3NldHNpZyhTSUdYRlosIFNJR19JR04pOworI2VuZGlmCisjaWZkZWYgU0lHWEZTWgorICAgIFB5T1Nfc2V0c2lnKFNJR1hGU1osIFNJR19JR04pOworI2VuZGlmCisgICAgUHlPU19Jbml0SW50ZXJydXB0cygpOyAvKiBNYXkgaW1wbHkgaW5pdHNpZ25hbCgpICovCisgICAgaWYgKFB5RXJyX09jY3VycmVkKCkpIHsKKyAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlfSW5pdGlhbGl6ZTogY2FuJ3QgaW1wb3J0IHNpZ25hbCIpOworICAgIH0KK30KKworCisvKiBSZXN0b3JlIHNpZ25hbHMgdGhhdCB0aGUgaW50ZXJwcmV0ZXIgaGFzIGNhbGxlZCBTSUdfSUdOIG9uIHRvIFNJR19ERkwuCisgKgorICogQWxsIG9mIHRoZSBjb2RlIGluIHRoaXMgZnVuY3Rpb24gbXVzdCBvbmx5IHVzZSBhc3luYy1zaWduYWwtc2FmZSBmdW5jdGlvbnMsCisgKiBsaXN0ZWQgYXQgYG1hbiA3IHNpZ25hbGAgb3IKKyAqIGh0dHA6Ly93d3cub3Blbmdyb3VwLm9yZy9vbmxpbmVwdWJzLzAwOTY5NTM5OS9mdW5jdGlvbnMveHNoX2NoYXAwMl8wNC5odG1sLgorICovCit2b2lkCitfUHlfUmVzdG9yZVNpZ25hbHModm9pZCkKK3sKKyNpZmRlZiBTSUdQSVBFCisgICAgUHlPU19zZXRzaWcoU0lHUElQRSwgU0lHX0RGTCk7CisjZW5kaWYKKyNpZmRlZiBTSUdYRloKKyAgICBQeU9TX3NldHNpZyhTSUdYRlosIFNJR19ERkwpOworI2VuZGlmCisjaWZkZWYgU0lHWEZTWgorICAgIFB5T1Nfc2V0c2lnKFNJR1hGU1osIFNJR19ERkwpOworI2VuZGlmCit9CisKKworLyoKKyAqIFRoZSBmaWxlIGRlc2NyaXB0b3IgZmQgaXMgY29uc2lkZXJlZCBgYGludGVyYWN0aXZlJycgaWYgZWl0aGVyCisgKiAgIGEpIGlzYXR0eShmZCkgaXMgVFJVRSwgb3IKKyAqICAgYikgdGhlIC1pIGZsYWcgd2FzIGdpdmVuLCBhbmQgdGhlIGZpbGVuYW1lIGFzc29jaWF0ZWQgd2l0aAorICogICAgICB0aGUgZGVzY3JpcHRvciBpcyBOVUxMIG9yICI8c3RkaW4+IiBvciAiPz8/Ii4KKyAqLworaW50CitQeV9GZElzSW50ZXJhY3RpdmUoRklMRSAqZnAsIGNvbnN0IGNoYXIgKmZpbGVuYW1lKQoreworICAgIGlmIChpc2F0dHkoKGludClmaWxlbm8oZnApKSkKKyAgICAgICAgcmV0dXJuIDE7CisgICAgaWYgKCFQeV9JbnRlcmFjdGl2ZUZsYWcpCisgICAgICAgIHJldHVybiAwOworICAgIHJldHVybiAoZmlsZW5hbWUgPT0gTlVMTCkgfHwKKyAgICAgICAgICAgKHN0cmNtcChmaWxlbmFtZSwgIjxzdGRpbj4iKSA9PSAwKSB8fAorICAgICAgICAgICAoc3RyY21wKGZpbGVuYW1lLCAiPz8/IikgPT0gMCk7Cit9CisKKworLyogV3JhcHBlcnMgYXJvdW5kIHNpZ2FjdGlvbigpIG9yIHNpZ25hbCgpLiAqLworCitQeU9TX3NpZ2hhbmRsZXJfdAorUHlPU19nZXRzaWcoaW50IHNpZykKK3sKKyNpZmRlZiBIQVZFX1NJR0FDVElPTgorICAgIHN0cnVjdCBzaWdhY3Rpb24gY29udGV4dDsKKyAgICBpZiAoc2lnYWN0aW9uKHNpZywgTlVMTCwgJmNvbnRleHQpID09IC0xKQorICAgICAgICByZXR1cm4gU0lHX0VSUjsKKyAgICByZXR1cm4gY29udGV4dC5zYV9oYW5kbGVyOworI2Vsc2UKKyAgICBQeU9TX3NpZ2hhbmRsZXJfdCBoYW5kbGVyOworLyogU3BlY2lhbCBzaWduYWwgaGFuZGxpbmcgZm9yIHRoZSBzZWN1cmUgQ1JUIGluIFZpc3VhbCBTdHVkaW8gMjAwNSAqLworI2lmIGRlZmluZWQoX01TQ19WRVIpICYmIF9NU0NfVkVSID49IDE0MDAKKyAgICBzd2l0Y2ggKHNpZykgeworICAgIC8qIE9ubHkgdGhlc2Ugc2lnbmFscyBhcmUgdmFsaWQgKi8KKyAgICBjYXNlIFNJR0lOVDoKKyAgICBjYXNlIFNJR0lMTDoKKyAgICBjYXNlIFNJR0ZQRToKKyAgICBjYXNlIFNJR1NFR1Y6CisgICAgY2FzZSBTSUdURVJNOgorICAgIGNhc2UgU0lHQlJFQUs6CisgICAgY2FzZSBTSUdBQlJUOgorICAgICAgICBicmVhazsKKyAgICAvKiBEb24ndCBjYWxsIHNpZ25hbCgpIHdpdGggb3RoZXIgdmFsdWVzIG9yIGl0IHdpbGwgYXNzZXJ0ICovCisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIFNJR19FUlI7CisgICAgfQorI2VuZGlmIC8qIF9NU0NfVkVSICYmIF9NU0NfVkVSID49IDE0MDAgKi8KKyAgICBoYW5kbGVyID0gc2lnbmFsKHNpZywgU0lHX0lHTik7CisgICAgaWYgKGhhbmRsZXIgIT0gU0lHX0VSUikKKyAgICAgICAgc2lnbmFsKHNpZywgaGFuZGxlcik7CisgICAgcmV0dXJuIGhhbmRsZXI7CisjZW5kaWYKK30KKworLyoKKyAqIEFsbCBvZiB0aGUgY29kZSBpbiB0aGlzIGZ1bmN0aW9uIG11c3Qgb25seSB1c2UgYXN5bmMtc2lnbmFsLXNhZmUgZnVuY3Rpb25zLAorICogbGlzdGVkIGF0IGBtYW4gNyBzaWduYWxgIG9yCisgKiBodHRwOi8vd3d3Lm9wZW5ncm91cC5vcmcvb25saW5lcHVicy8wMDk2OTUzOTkvZnVuY3Rpb25zL3hzaF9jaGFwMDJfMDQuaHRtbC4KKyAqLworUHlPU19zaWdoYW5kbGVyX3QKK1B5T1Nfc2V0c2lnKGludCBzaWcsIFB5T1Nfc2lnaGFuZGxlcl90IGhhbmRsZXIpCit7CisjaWZkZWYgSEFWRV9TSUdBQ1RJT04KKyAgICAvKiBTb21lIGNvZGUgaW4gTW9kdWxlcy9zaWduYWxtb2R1bGUuYyBkZXBlbmRzIG9uIHNpZ2FjdGlvbigpIGJlaW5nCisgICAgICogdXNlZCBoZXJlIGlmIEhBVkVfU0lHQUNUSU9OIGlzIGRlZmluZWQuICBGaXggdGhhdCBpZiB0aGlzIGNvZGUKKyAgICAgKiBjaGFuZ2VzIHRvIGludmFsaWRhdGUgdGhhdCBhc3N1bXB0aW9uLgorICAgICAqLworICAgIHN0cnVjdCBzaWdhY3Rpb24gY29udGV4dCwgb2NvbnRleHQ7CisgICAgY29udGV4dC5zYV9oYW5kbGVyID0gaGFuZGxlcjsKKyAgICBzaWdlbXB0eXNldCgmY29udGV4dC5zYV9tYXNrKTsKKyAgICBjb250ZXh0LnNhX2ZsYWdzID0gMDsKKyAgICBpZiAoc2lnYWN0aW9uKHNpZywgJmNvbnRleHQsICZvY29udGV4dCkgPT0gLTEpCisgICAgICAgIHJldHVybiBTSUdfRVJSOworICAgIHJldHVybiBvY29udGV4dC5zYV9oYW5kbGVyOworI2Vsc2UKKyAgICBQeU9TX3NpZ2hhbmRsZXJfdCBvbGRoYW5kbGVyOworICAgIG9sZGhhbmRsZXIgPSBzaWduYWwoc2lnLCBoYW5kbGVyKTsKKyNpZmRlZiBIQVZFX1NJR0lOVEVSUlVQVAorICAgIHNpZ2ludGVycnVwdChzaWcsIDEpOworI2VuZGlmCisgICAgcmV0dXJuIG9sZGhhbmRsZXI7CisjZW5kaWYKK30KKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL1B5dGhvbi9weXRob25ydW4uYyBiL1B5dGhvbi9weXRob25ydW4uYwppbmRleCAwMzI3ODMwLi45OTJhNWEzIDEwMDY0NAotLS0gYS9QeXRob24vcHl0aG9ucnVuLmMKKysrIGIvUHl0aG9uL3B5dGhvbnJ1bi5jCkBAIC0xNSw2ICsxNSw3IEBACiAjaW5jbHVkZSAiYXN0LmgiCiAjaW5jbHVkZSAibWFyc2hhbC5oIgogI2luY2x1ZGUgIm9zZGVmcy5oIgorI2luY2x1ZGUgPGxvY2FsZS5oPgogCiAjaWZkZWYgSEFWRV9TSUdOQUxfSAogI2luY2x1ZGUgPHNpZ25hbC5oPgpAQCAtMjUsMTggKzI2LDEyIEBACiAjZW5kaWYKIAogI2lmZGVmIEhBVkVfTEFOR0lORk9fSAotI2luY2x1ZGUgPGxvY2FsZS5oPgogI2luY2x1ZGUgPGxhbmdpbmZvLmg+CiAjZW5kaWYKIAogI2lmZGVmIE1TX1dJTkRPV1MKICN1bmRlZiBCWVRFCiAjaW5jbHVkZSAid2luZG93cy5oIgotI2RlZmluZSBQQVRIX01BWCBNQVhQQVRITEVOCi0jZW5kaWYKLQotI2lmZGVmIF9fZ251X2h1cmRfXwotI2RlZmluZSBQQVRIX01BWCBNQVhQQVRITEVOCiAjZW5kaWYKIAogX1B5X0lERU5USUZJRVIoYnVpbHRpbnMpOwpAQCAtNDUsNyArNDAsNiBAQAogX1B5X0lERU5USUZJRVIobGFzdF90cmFjZWJhY2spOwogX1B5X0lERU5USUZJRVIobGFzdF90eXBlKTsKIF9QeV9JREVOVElGSUVSKGxhc3RfdmFsdWUpOwotX1B5X0lERU5USUZJRVIobmFtZSk7CiBfUHlfSURFTlRJRklFUihwczEpOwogX1B5X0lERU5USUZJRVIocHMyKTsKIF9QeV9JREVOVElGSUVSKHN0ZGluKTsKQEAgLTUzLDQzICs0NywxMyBAQAogX1B5X0lERU5USUZJRVIoc3RkZXJyKTsKIF9QeV9zdGF0aWNfc3RyaW5nKFB5SWRfc3RyaW5nLCAiPHN0cmluZz4iKTsKIAotI2lmZGVmIFB5X1JFRl9ERUJVRwotc3RhdGljCi12b2lkIF9wcmludF90b3RhbF9yZWZzKHZvaWQpIHsKLSAgICBQeU9iamVjdCAqeG9wdGlvbnMsICp2YWx1ZTsKLSAgICBfUHlfSURFTlRJRklFUihzaG93cmVmY291bnQpOwotCi0gICAgeG9wdGlvbnMgPSBQeVN5c19HZXRYT3B0aW9ucygpOwotICAgIGlmICh4b3B0aW9ucyA9PSBOVUxMKQotICAgICAgICByZXR1cm47Ci0gICAgdmFsdWUgPSBfUHlEaWN0X0dldEl0ZW1JZCh4b3B0aW9ucywgJlB5SWRfc2hvd3JlZmNvdW50KTsKLSAgICBpZiAodmFsdWUgPT0gUHlfVHJ1ZSkKLSAgICAgICAgZnByaW50ZihzdGRlcnIsCi0gICAgICAgICAgICAgICAgIlslIiBQWV9GT1JNQVRfU0laRV9UICJkIHJlZnMsICIKLSAgICAgICAgICAgICAgICAiJSIgUFlfRk9STUFUX1NJWkVfVCAiZCBibG9ja3NdXG4iLAotICAgICAgICAgICAgICAgIF9QeV9HZXRSZWZUb3RhbCgpLCBfUHlfR2V0QWxsb2NhdGVkQmxvY2tzKCkpOwotfQotI2VuZGlmCi0KLSNpZm5kZWYgUHlfUkVGX0RFQlVHCi0jZGVmaW5lIFBSSU5UX1RPVEFMX1JFRlMoKQotI2Vsc2UgLyogUHlfUkVGX0RFQlVHICovCi0jZGVmaW5lIFBSSU5UX1RPVEFMX1JFRlMoKSBfcHJpbnRfdG90YWxfcmVmcygpCi0jZW5kaWYKLQogI2lmZGVmIF9fY3BsdXNwbHVzCiBleHRlcm4gIkMiIHsKICNlbmRpZgogCi1leHRlcm4gd2NoYXJfdCAqUHlfR2V0UGF0aCh2b2lkKTsKLQogZXh0ZXJuIGdyYW1tYXIgX1B5UGFyc2VyX0dyYW1tYXI7IC8qIEZyb20gZ3JhbWluaXQuYyAqLwogCiAvKiBGb3J3YXJkICovCi1zdGF0aWMgdm9pZCBpbml0bWFpbihQeUludGVycHJldGVyU3RhdGUgKmludGVycCk7Ci1zdGF0aWMgaW50IGluaXRmc2VuY29kaW5nKFB5SW50ZXJwcmV0ZXJTdGF0ZSAqaW50ZXJwKTsKLXN0YXRpYyB2b2lkIGluaXRzaXRlKHZvaWQpOwotc3RhdGljIGludCBpbml0c3RkaW8odm9pZCk7CiBzdGF0aWMgdm9pZCBmbHVzaF9pbyh2b2lkKTsKIHN0YXRpYyBQeU9iamVjdCAqcnVuX21vZChtb2RfdHksIFB5T2JqZWN0ICosIFB5T2JqZWN0ICosIFB5T2JqZWN0ICosCiAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5Q29tcGlsZXJGbGFncyAqLCBQeUFyZW5hICopOwpAQCAtOTcsMTE4MiArNjEsNiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlDb21waWxlckZsYWdzICopOwogc3RhdGljIHZvaWQgZXJyX2lucHV0KHBlcnJkZXRhaWwgKik7CiBzdGF0aWMgdm9pZCBlcnJfZnJlZShwZXJyZGV0YWlsICopOwotc3RhdGljIHZvaWQgaW5pdHNpZ3Modm9pZCk7Ci1zdGF0aWMgdm9pZCBjYWxsX3B5X2V4aXRmdW5jcyh2b2lkKTsKLXN0YXRpYyB2b2lkIHdhaXRfZm9yX3RocmVhZF9zaHV0ZG93bih2b2lkKTsKLXN0YXRpYyB2b2lkIGNhbGxfbGxfZXhpdGZ1bmNzKHZvaWQpOwotZXh0ZXJuIGludCBfUHlVbmljb2RlX0luaXQodm9pZCk7Ci1leHRlcm4gaW50IF9QeVN0cnVjdFNlcXVlbmNlX0luaXQodm9pZCk7Ci1leHRlcm4gdm9pZCBfUHlVbmljb2RlX0Zpbmkodm9pZCk7Ci1leHRlcm4gaW50IF9QeUxvbmdfSW5pdCh2b2lkKTsKLWV4dGVybiB2b2lkIFB5TG9uZ19GaW5pKHZvaWQpOwotZXh0ZXJuIGludCBfUHlGYXVsdGhhbmRsZXJfSW5pdCh2b2lkKTsKLWV4dGVybiB2b2lkIF9QeUZhdWx0aGFuZGxlcl9GaW5pKHZvaWQpOwotZXh0ZXJuIHZvaWQgX1B5SGFzaF9GaW5pKHZvaWQpOwotZXh0ZXJuIGludCBfUHlUcmFjZU1hbGxvY19Jbml0KHZvaWQpOwotZXh0ZXJuIGludCBfUHlUcmFjZU1hbGxvY19GaW5pKHZvaWQpOwotCi0jaWZkZWYgV0lUSF9USFJFQUQKLWV4dGVybiB2b2lkIF9QeUdJTFN0YXRlX0luaXQoUHlJbnRlcnByZXRlclN0YXRlICosIFB5VGhyZWFkU3RhdGUgKik7Ci1leHRlcm4gdm9pZCBfUHlHSUxTdGF0ZV9GaW5pKHZvaWQpOwotI2VuZGlmIC8qIFdJVEhfVEhSRUFEICovCi0KLWludCBQeV9EZWJ1Z0ZsYWc7IC8qIE5lZWRlZCBieSBwYXJzZXIuYyAqLwotaW50IFB5X1ZlcmJvc2VGbGFnOyAvKiBOZWVkZWQgYnkgaW1wb3J0LmMgKi8KLWludCBQeV9RdWlldEZsYWc7IC8qIE5lZWRlZCBieSBzeXNtb2R1bGUuYyAqLwotaW50IFB5X0ludGVyYWN0aXZlRmxhZzsgLyogTmVlZGVkIGJ5IFB5X0ZkSXNJbnRlcmFjdGl2ZSgpIGJlbG93ICovCi1pbnQgUHlfSW5zcGVjdEZsYWc7IC8qIE5lZWRlZCB0byBkZXRlcm1pbmUgd2hldGhlciB0byBleGl0IGF0IFN5c3RlbUV4aXQgKi8KLWludCBQeV9Ob1NpdGVGbGFnOyAvKiBTdXBwcmVzcyAnaW1wb3J0IHNpdGUnICovCi1pbnQgUHlfQnl0ZXNXYXJuaW5nRmxhZzsgLyogV2FybiBvbiBzdHIoYnl0ZXMpIGFuZCBzdHIoYnVmZmVyKSAqLwotaW50IFB5X0RvbnRXcml0ZUJ5dGVjb2RlRmxhZzsgLyogU3VwcHJlc3Mgd3JpdGluZyBieXRlY29kZSBmaWxlcyAoKi5weVtjb10pICovCi1pbnQgUHlfVXNlQ2xhc3NFeGNlcHRpb25zRmxhZyA9IDE7IC8qIE5lZWRlZCBieSBibHRpbm1vZHVsZS5jOiBkZXByZWNhdGVkICovCi1pbnQgUHlfRnJvemVuRmxhZzsgLyogTmVlZGVkIGJ5IGdldHBhdGguYyAqLwotaW50IFB5X0lnbm9yZUVudmlyb25tZW50RmxhZzsgLyogZS5nLiBQWVRIT05QQVRILCBQWVRIT05IT01FICovCi1pbnQgUHlfTm9Vc2VyU2l0ZURpcmVjdG9yeSA9IDA7IC8qIGZvciAtcyBhbmQgc2l0ZS5weSAqLwotaW50IFB5X1VuYnVmZmVyZWRTdGRpb0ZsYWcgPSAwOyAvKiBVbmJ1ZmZlcmVkIGJpbmFyeSBzdGR7aW4sb3V0LGVycn0gKi8KLWludCBQeV9IYXNoUmFuZG9taXphdGlvbkZsYWcgPSAwOyAvKiBmb3IgLVIgYW5kIFBZVEhPTkhBU0hTRUVEICovCi1pbnQgUHlfSXNvbGF0ZWRGbGFnID0gMDsgLyogZm9yIC1JLCBpc29sYXRlIGZyb20gdXNlcidzIGVudiAqLwotCi1QeVRocmVhZFN0YXRlICpfUHlfRmluYWxpemluZyA9IE5VTEw7Ci0KLS8qIEhhY2sgdG8gZm9yY2UgbG9hZGluZyBvZiBvYmplY3QgZmlsZXMgKi8KLWludCAoKl9QeU9TX215c3RybmljbXBfaGFjaykoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIFB5X3NzaXplX3QpID0gXAotICAgIFB5T1NfbXlzdHJuaWNtcDsgLyogUHl0aG9uL3B5c3RyY21wLm8gKi8KLQotLyogUHlNb2R1bGVfR2V0V2FybmluZ3NNb2R1bGUgaXMgbm8gbG9uZ2VyIG5lY2Vzc2FyeSBhcyBvZiAyLjYKLXNpbmNlIF93YXJuaW5ncyBpcyBidWlsdGluLiAgVGhpcyBBUEkgc2hvdWxkIG5vdCBiZSB1c2VkLiAqLwotUHlPYmplY3QgKgotUHlNb2R1bGVfR2V0V2FybmluZ3NNb2R1bGUodm9pZCkKLXsKLSAgICByZXR1cm4gUHlJbXBvcnRfSW1wb3J0TW9kdWxlKCJ3YXJuaW5ncyIpOwotfQotCi1zdGF0aWMgaW50IGluaXRpYWxpemVkID0gMDsKLQotLyogQVBJIHRvIGFjY2VzcyB0aGUgaW5pdGlhbGl6ZWQgZmxhZyAtLSB1c2VmdWwgZm9yIGVzb3RlcmljIHVzZSAqLwotCi1pbnQKLVB5X0lzSW5pdGlhbGl6ZWQodm9pZCkKLXsKLSAgICByZXR1cm4gaW5pdGlhbGl6ZWQ7Ci19Ci0KLS8qIEhlbHBlciB0byBhbGxvdyBhbiBlbWJlZGRpbmcgYXBwbGljYXRpb24gdG8gb3ZlcnJpZGUgdGhlIG5vcm1hbAotICogbWVjaGFuaXNtIHRoYXQgYXR0ZW1wdHMgdG8gZmlndXJlIG91dCBhbiBhcHByb3ByaWF0ZSBJTyBlbmNvZGluZwotICovCi0KLXN0YXRpYyBjaGFyICpfUHlfU3RhbmRhcmRTdHJlYW1FbmNvZGluZyA9IE5VTEw7Ci1zdGF0aWMgY2hhciAqX1B5X1N0YW5kYXJkU3RyZWFtRXJyb3JzID0gTlVMTDsKLQotaW50Ci1QeV9TZXRTdGFuZGFyZFN0cmVhbUVuY29kaW5nKGNvbnN0IGNoYXIgKmVuY29kaW5nLCBjb25zdCBjaGFyICplcnJvcnMpCi17Ci0gICAgaWYgKFB5X0lzSW5pdGlhbGl6ZWQoKSkgewotICAgICAgICAvKiBUaGlzIGlzIHRvbyBsYXRlIHRvIGhhdmUgYW55IGVmZmVjdCAqLwotICAgICAgICByZXR1cm4gLTE7Ci0gICAgfQotICAgIC8qIENhbid0IGNhbGwgUHlFcnJfTm9NZW1vcnkoKSBvbiBlcnJvcnMsIGFzIFB5dGhvbiBoYXNuJ3QgYmVlbgotICAgICAqIGluaXRpYWxpc2VkIHlldC4KLSAgICAgKgotICAgICAqIEhvd2V2ZXIsIHRoZSByYXcgbWVtb3J5IGFsbG9jYXRvcnMgYXJlIGluaXRpYWxpc2VkIGFwcHJvcHJpYXRlbHkKLSAgICAgKiBhcyBDIHN0YXRpYyB2YXJpYWJsZXMsIHNvIF9QeU1lbV9SYXdTdHJkdXAgaXMgT0sgZXZlbiB0aG91Z2gKLSAgICAgKiBQeV9Jbml0aWFsaXplIGhhc24ndCBiZWVuIGNhbGxlZCB5ZXQuCi0gICAgICovCi0gICAgaWYgKGVuY29kaW5nKSB7Ci0gICAgICAgIF9QeV9TdGFuZGFyZFN0cmVhbUVuY29kaW5nID0gX1B5TWVtX1Jhd1N0cmR1cChlbmNvZGluZyk7Ci0gICAgICAgIGlmICghX1B5X1N0YW5kYXJkU3RyZWFtRW5jb2RpbmcpIHsKLSAgICAgICAgICAgIHJldHVybiAtMjsKLSAgICAgICAgfQotICAgIH0KLSAgICBpZiAoZXJyb3JzKSB7Ci0gICAgICAgIF9QeV9TdGFuZGFyZFN0cmVhbUVycm9ycyA9IF9QeU1lbV9SYXdTdHJkdXAoZXJyb3JzKTsKLSAgICAgICAgaWYgKCFfUHlfU3RhbmRhcmRTdHJlYW1FcnJvcnMpIHsKLSAgICAgICAgICAgIGlmIChfUHlfU3RhbmRhcmRTdHJlYW1FbmNvZGluZykgewotICAgICAgICAgICAgICAgIFB5TWVtX1Jhd0ZyZWUoX1B5X1N0YW5kYXJkU3RyZWFtRW5jb2RpbmcpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgcmV0dXJuIC0zOwotICAgICAgICB9Ci0gICAgfQotICAgIHJldHVybiAwOwotfQotCi0vKiBHbG9iYWwgaW5pdGlhbGl6YXRpb25zLiAgQ2FuIGJlIHVuZG9uZSBieSBQeV9GaW5hbGl6ZSgpLiAgRG9uJ3QKLSAgIGNhbGwgdGhpcyB0d2ljZSB3aXRob3V0IGFuIGludGVydmVuaW5nIFB5X0ZpbmFsaXplKCkgY2FsbC4gIFdoZW4KLSAgIGluaXRpYWxpemF0aW9ucyBmYWlsLCBhIGZhdGFsIGVycm9yIGlzIGlzc3VlZCBhbmQgdGhlIGZ1bmN0aW9uIGRvZXMKLSAgIG5vdCByZXR1cm4uICBPbiByZXR1cm4sIHRoZSBmaXJzdCB0aHJlYWQgYW5kIGludGVycHJldGVyIHN0YXRlIGhhdmUKLSAgIGJlZW4gY3JlYXRlZC4KLQotICAgTG9ja2luZzogeW91IG11c3QgaG9sZCB0aGUgaW50ZXJwcmV0ZXIgbG9jayB3aGlsZSBjYWxsaW5nIHRoaXMuCi0gICAoSWYgdGhlIGxvY2sgaGFzIG5vdCB5ZXQgYmVlbiBpbml0aWFsaXplZCwgdGhhdCdzIGVxdWl2YWxlbnQgdG8KLSAgIGhhdmluZyB0aGUgbG9jaywgYnV0IHlvdSBjYW5ub3QgdXNlIG11bHRpcGxlIHRocmVhZHMuKQotCi0qLwotCi1zdGF0aWMgaW50Ci1hZGRfZmxhZyhpbnQgZmxhZywgY29uc3QgY2hhciAqZW52cykKLXsKLSAgICBpbnQgZW52ID0gYXRvaShlbnZzKTsKLSAgICBpZiAoZmxhZyA8IGVudikKLSAgICAgICAgZmxhZyA9IGVudjsKLSAgICBpZiAoZmxhZyA8IDEpCi0gICAgICAgIGZsYWcgPSAxOwotICAgIHJldHVybiBmbGFnOwotfQotCi1zdGF0aWMgY2hhcioKLWdldF9jb2RlY19uYW1lKGNvbnN0IGNoYXIgKmVuY29kaW5nKQotewotICAgIGNoYXIgKm5hbWVfdXRmOCwgKm5hbWVfc3RyOwotICAgIFB5T2JqZWN0ICpjb2RlYywgKm5hbWUgPSBOVUxMOwotCi0gICAgY29kZWMgPSBfUHlDb2RlY19Mb29rdXAoZW5jb2RpbmcpOwotICAgIGlmICghY29kZWMpCi0gICAgICAgIGdvdG8gZXJyb3I7Ci0KLSAgICBuYW1lID0gX1B5T2JqZWN0X0dldEF0dHJJZChjb2RlYywgJlB5SWRfbmFtZSk7Ci0gICAgUHlfQ0xFQVIoY29kZWMpOwotICAgIGlmICghbmFtZSkKLSAgICAgICAgZ290byBlcnJvcjsKLQotICAgIG5hbWVfdXRmOCA9IF9QeVVuaWNvZGVfQXNTdHJpbmcobmFtZSk7Ci0gICAgaWYgKG5hbWVfdXRmOCA9PSBOVUxMKQotICAgICAgICBnb3RvIGVycm9yOwotICAgIG5hbWVfc3RyID0gX1B5TWVtX1Jhd1N0cmR1cChuYW1lX3V0ZjgpOwotICAgIFB5X0RFQ1JFRihuYW1lKTsKLSAgICBpZiAobmFtZV9zdHIgPT0gTlVMTCkgewotICAgICAgICBQeUVycl9Ob01lbW9yeSgpOwotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9Ci0gICAgcmV0dXJuIG5hbWVfc3RyOwotCi1lcnJvcjoKLSAgICBQeV9YREVDUkVGKGNvZGVjKTsKLSAgICBQeV9YREVDUkVGKG5hbWUpOwotICAgIHJldHVybiBOVUxMOwotfQotCi1zdGF0aWMgY2hhcioKLWdldF9sb2NhbGVfZW5jb2Rpbmcodm9pZCkKLXsKLSNpZmRlZiBNU19XSU5ET1dTCi0gICAgY2hhciBjb2RlcGFnZVsxMDBdOwotICAgIFB5T1Nfc25wcmludGYoY29kZXBhZ2UsIHNpemVvZihjb2RlcGFnZSksICJjcCVkIiwgR2V0QUNQKCkpOwotICAgIHJldHVybiBnZXRfY29kZWNfbmFtZShjb2RlcGFnZSk7Ci0jZWxpZiBkZWZpbmVkKEhBVkVfTEFOR0lORk9fSCkgJiYgZGVmaW5lZChDT0RFU0VUKQotICAgIGNoYXIqIGNvZGVzZXQgPSBubF9sYW5naW5mbyhDT0RFU0VUKTsKLSAgICBpZiAoIWNvZGVzZXQgfHwgY29kZXNldFswXSA9PSAnXDAnKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAiQ09ERVNFVCBpcyBub3Qgc2V0IG9yIGVtcHR5Iik7Ci0gICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KLSAgICByZXR1cm4gZ2V0X2NvZGVjX25hbWUoY29kZXNldCk7Ci0jZWxzZQotICAgIFB5RXJyX1NldE5vbmUoUHlFeGNfTm90SW1wbGVtZW50ZWRFcnJvcik7Ci0gICAgcmV0dXJuIE5VTEw7Ci0jZW5kaWYKLX0KLQotc3RhdGljIHZvaWQKLWltcG9ydF9pbml0KFB5SW50ZXJwcmV0ZXJTdGF0ZSAqaW50ZXJwLCBQeU9iamVjdCAqc3lzbW9kKQotewotICAgIFB5T2JqZWN0ICppbXBvcnRsaWI7Ci0gICAgUHlPYmplY3QgKmltcG1vZDsKLSAgICBQeU9iamVjdCAqc3lzX21vZHVsZXM7Ci0gICAgUHlPYmplY3QgKnZhbHVlOwotCi0gICAgLyogSW1wb3J0IF9pbXBvcnRsaWIgdGhyb3VnaCBpdHMgZnJvemVuIHZlcnNpb24sIF9mcm96ZW5faW1wb3J0bGliLiAqLwotICAgIGlmIChQeUltcG9ydF9JbXBvcnRGcm96ZW5Nb2R1bGUoIl9mcm96ZW5faW1wb3J0bGliIikgPD0gMCkgewotICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBpbXBvcnQgX2Zyb3plbl9pbXBvcnRsaWIiKTsKLSAgICB9Ci0gICAgZWxzZSBpZiAoUHlfVmVyYm9zZUZsYWcpIHsKLSAgICAgICAgUHlTeXNfRm9ybWF0U3RkZXJyKCJpbXBvcnQgX2Zyb3plbl9pbXBvcnRsaWIgIyBmcm96ZW5cbiIpOwotICAgIH0KLSAgICBpbXBvcnRsaWIgPSBQeUltcG9ydF9BZGRNb2R1bGUoIl9mcm96ZW5faW1wb3J0bGliIik7Ci0gICAgaWYgKGltcG9ydGxpYiA9PSBOVUxMKSB7Ci0gICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IGNvdWxkbid0IGdldCBfZnJvemVuX2ltcG9ydGxpYiBmcm9tICIKLSAgICAgICAgICAgICAgICAgICAgICAic3lzLm1vZHVsZXMiKTsKLSAgICB9Ci0gICAgaW50ZXJwLT5pbXBvcnRsaWIgPSBpbXBvcnRsaWI7Ci0gICAgUHlfSU5DUkVGKGludGVycC0+aW1wb3J0bGliKTsKLQotICAgIC8qIEluc3RhbGwgX2ltcG9ydGxpYiBhcyBfX2ltcG9ydF9fICovCi0gICAgaW1wbW9kID0gUHlJbml0X2ltcCgpOwotICAgIGlmIChpbXBtb2QgPT0gTlVMTCkgewotICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBpbXBvcnQgaW1wIik7Ci0gICAgfQotICAgIGVsc2UgaWYgKFB5X1ZlcmJvc2VGbGFnKSB7Ci0gICAgICAgIFB5U3lzX0Zvcm1hdFN0ZGVycigiaW1wb3J0IGltcCAjIGJ1aWx0aW5cbiIpOwotICAgIH0KLSAgICBzeXNfbW9kdWxlcyA9IFB5SW1wb3J0X0dldE1vZHVsZURpY3QoKTsKLSAgICBpZiAoUHlfVmVyYm9zZUZsYWcpIHsKLSAgICAgICAgUHlTeXNfRm9ybWF0U3RkZXJyKCJpbXBvcnQgc3lzICMgYnVpbHRpblxuIik7Ci0gICAgfQotICAgIGlmIChQeURpY3RfU2V0SXRlbVN0cmluZyhzeXNfbW9kdWxlcywgIl9pbXAiLCBpbXBtb2QpIDwgMCkgewotICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBzYXZlIF9pbXAgdG8gc3lzLm1vZHVsZXMiKTsKLSAgICB9Ci0KLSAgICB2YWx1ZSA9IFB5T2JqZWN0X0NhbGxNZXRob2QoaW1wb3J0bGliLCAiX2luc3RhbGwiLCAiT08iLCBzeXNtb2QsIGltcG1vZCk7Ci0gICAgaWYgKHZhbHVlID09IE5VTEwpIHsKLSAgICAgICAgUHlFcnJfUHJpbnQoKTsKLSAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlfSW5pdGlhbGl6ZTogaW1wb3J0bGliIGluc3RhbGwgZmFpbGVkIik7Ci0gICAgfQotICAgIFB5X0RFQ1JFRih2YWx1ZSk7Ci0gICAgUHlfREVDUkVGKGltcG1vZCk7Ci0KLSAgICBfUHlJbXBvcnRaaXBfSW5pdCgpOwotfQotCi0KLXZvaWQKLV9QeV9Jbml0aWFsaXplRXhfUHJpdmF0ZShpbnQgaW5zdGFsbF9zaWdzLCBpbnQgaW5zdGFsbF9pbXBvcnRsaWIpCi17Ci0gICAgUHlJbnRlcnByZXRlclN0YXRlICppbnRlcnA7Ci0gICAgUHlUaHJlYWRTdGF0ZSAqdHN0YXRlOwotICAgIFB5T2JqZWN0ICpiaW1vZCwgKnN5c21vZCwgKnBzdGRlcnI7Ci0gICAgY2hhciAqcDsKLSAgICBleHRlcm4gdm9pZCBfUHlfUmVhZHlUeXBlcyh2b2lkKTsKLQotICAgIGlmIChpbml0aWFsaXplZCkKLSAgICAgICAgcmV0dXJuOwotICAgIGluaXRpYWxpemVkID0gMTsKLSAgICBfUHlfRmluYWxpemluZyA9IE5VTEw7Ci0KLSNpZiBkZWZpbmVkKEhBVkVfTEFOR0lORk9fSCkgJiYgZGVmaW5lZChIQVZFX1NFVExPQ0FMRSkKLSAgICAvKiBTZXQgdXAgdGhlIExDX0NUWVBFIGxvY2FsZSwgc28gd2UgY2FuIG9idGFpbgotICAgICAgIHRoZSBsb2NhbGUncyBjaGFyc2V0IHdpdGhvdXQgaGF2aW5nIHRvIHN3aXRjaAotICAgICAgIGxvY2FsZXMuICovCi0gICAgc2V0bG9jYWxlKExDX0NUWVBFLCAiIik7Ci0jZW5kaWYKLQotICAgIGlmICgocCA9IFB5X0dFVEVOVigiUFlUSE9OREVCVUciKSkgJiYgKnAgIT0gJ1wwJykKLSAgICAgICAgUHlfRGVidWdGbGFnID0gYWRkX2ZsYWcoUHlfRGVidWdGbGFnLCBwKTsKLSAgICBpZiAoKHAgPSBQeV9HRVRFTlYoIlBZVEhPTlZFUkJPU0UiKSkgJiYgKnAgIT0gJ1wwJykKLSAgICAgICAgUHlfVmVyYm9zZUZsYWcgPSBhZGRfZmxhZyhQeV9WZXJib3NlRmxhZywgcCk7Ci0gICAgaWYgKChwID0gUHlfR0VURU5WKCJQWVRIT05PUFRJTUlaRSIpKSAmJiAqcCAhPSAnXDAnKQotICAgICAgICBQeV9PcHRpbWl6ZUZsYWcgPSBhZGRfZmxhZyhQeV9PcHRpbWl6ZUZsYWcsIHApOwotICAgIGlmICgocCA9IFB5X0dFVEVOVigiUFlUSE9ORE9OVFdSSVRFQllURUNPREUiKSkgJiYgKnAgIT0gJ1wwJykKLSAgICAgICAgUHlfRG9udFdyaXRlQnl0ZWNvZGVGbGFnID0gYWRkX2ZsYWcoUHlfRG9udFdyaXRlQnl0ZWNvZGVGbGFnLCBwKTsKLSAgICAvKiBUaGUgdmFyaWFibGUgaXMgb25seSB0ZXN0ZWQgZm9yIGV4aXN0ZW5jZSBoZXJlOyBfUHlSYW5kb21fSW5pdCB3aWxsCi0gICAgICAgY2hlY2sgaXRzIHZhbHVlIGZ1cnRoZXIuICovCi0gICAgaWYgKChwID0gUHlfR0VURU5WKCJQWVRIT05IQVNIU0VFRCIpKSAmJiAqcCAhPSAnXDAnKQotICAgICAgICBQeV9IYXNoUmFuZG9taXphdGlvbkZsYWcgPSBhZGRfZmxhZyhQeV9IYXNoUmFuZG9taXphdGlvbkZsYWcsIHApOwotCi0gICAgX1B5UmFuZG9tX0luaXQoKTsKLQotICAgIGludGVycCA9IFB5SW50ZXJwcmV0ZXJTdGF0ZV9OZXcoKTsKLSAgICBpZiAoaW50ZXJwID09IE5VTEwpCi0gICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IGNhbid0IG1ha2UgZmlyc3QgaW50ZXJwcmV0ZXIiKTsKLQotICAgIHRzdGF0ZSA9IFB5VGhyZWFkU3RhdGVfTmV3KGludGVycCk7Ci0gICAgaWYgKHRzdGF0ZSA9PSBOVUxMKQotICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBtYWtlIGZpcnN0IHRocmVhZCIpOwotICAgICh2b2lkKSBQeVRocmVhZFN0YXRlX1N3YXAodHN0YXRlKTsKLQotI2lmZGVmIFdJVEhfVEhSRUFECi0gICAgLyogV2UgY2FuJ3QgY2FsbCBfUHlFdmFsX0ZpbmlUaHJlYWRzKCkgaW4gUHlfRmluYWxpemUgYmVjYXVzZQotICAgICAgIGRlc3Ryb3lpbmcgdGhlIEdJTCBtaWdodCBmYWlsIHdoZW4gaXQgaXMgYmVpbmcgcmVmZXJlbmNlZCBmcm9tCi0gICAgICAgYW5vdGhlciBydW5uaW5nIHRocmVhZCAoc2VlIGlzc3VlICM5OTAxKS4KLSAgICAgICBJbnN0ZWFkIHdlIGRlc3Ryb3kgdGhlIHByZXZpb3VzbHkgY3JlYXRlZCBHSUwgaGVyZSwgd2hpY2ggZW5zdXJlcwotICAgICAgIHRoYXQgd2UgY2FuIGNhbGwgUHlfSW5pdGlhbGl6ZSAvIFB5X0ZpbmFsaXplIG11bHRpcGxlIHRpbWVzLiAqLwotICAgIF9QeUV2YWxfRmluaVRocmVhZHMoKTsKLQotICAgIC8qIEF1dG8tdGhyZWFkLXN0YXRlIEFQSSAqLwotICAgIF9QeUdJTFN0YXRlX0luaXQoaW50ZXJwLCB0c3RhdGUpOwotI2VuZGlmIC8qIFdJVEhfVEhSRUFEICovCi0KLSAgICBfUHlfUmVhZHlUeXBlcygpOwotCi0gICAgaWYgKCFfUHlGcmFtZV9Jbml0KCkpCi0gICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IGNhbid0IGluaXQgZnJhbWVzIik7Ci0KLSAgICBpZiAoIV9QeUxvbmdfSW5pdCgpKQotICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBpbml0IGxvbmdzIik7Ci0KLSAgICBpZiAoIVB5Qnl0ZUFycmF5X0luaXQoKSkKLSAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlfSW5pdGlhbGl6ZTogY2FuJ3QgaW5pdCBieXRlYXJyYXkiKTsKLQotICAgIGlmICghX1B5RmxvYXRfSW5pdCgpKQotICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBpbml0IGZsb2F0Iik7Ci0KLSAgICBpbnRlcnAtPm1vZHVsZXMgPSBQeURpY3RfTmV3KCk7Ci0gICAgaWYgKGludGVycC0+bW9kdWxlcyA9PSBOVUxMKQotICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBtYWtlIG1vZHVsZXMgZGljdGlvbmFyeSIpOwotCi0gICAgLyogSW5pdCBVbmljb2RlIGltcGxlbWVudGF0aW9uOyByZWxpZXMgb24gdGhlIGNvZGVjIHJlZ2lzdHJ5ICovCi0gICAgaWYgKF9QeVVuaWNvZGVfSW5pdCgpIDwgMCkKLSAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlfSW5pdGlhbGl6ZTogY2FuJ3QgaW5pdGlhbGl6ZSB1bmljb2RlIik7Ci0gICAgaWYgKF9QeVN0cnVjdFNlcXVlbmNlX0luaXQoKSA8IDApCi0gICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IGNhbid0IGluaXRpYWxpemUgc3RydWN0c2VxIik7Ci0KLSAgICBiaW1vZCA9IF9QeUJ1aWx0aW5fSW5pdCgpOwotICAgIGlmIChiaW1vZCA9PSBOVUxMKQotICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBpbml0aWFsaXplIGJ1aWx0aW5zIG1vZHVsZXMiKTsKLSAgICBfUHlJbXBvcnRfRml4dXBCdWlsdGluKGJpbW9kLCAiYnVpbHRpbnMiKTsKLSAgICBpbnRlcnAtPmJ1aWx0aW5zID0gUHlNb2R1bGVfR2V0RGljdChiaW1vZCk7Ci0gICAgaWYgKGludGVycC0+YnVpbHRpbnMgPT0gTlVMTCkKLSAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlfSW5pdGlhbGl6ZTogY2FuJ3QgaW5pdGlhbGl6ZSBidWlsdGlucyBkaWN0Iik7Ci0gICAgUHlfSU5DUkVGKGludGVycC0+YnVpbHRpbnMpOwotCi0gICAgLyogaW5pdGlhbGl6ZSBidWlsdGluIGV4Y2VwdGlvbnMgKi8KLSAgICBfUHlFeGNfSW5pdChiaW1vZCk7Ci0KLSAgICBzeXNtb2QgPSBfUHlTeXNfSW5pdCgpOwotICAgIGlmIChzeXNtb2QgPT0gTlVMTCkKLSAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlfSW5pdGlhbGl6ZTogY2FuJ3QgaW5pdGlhbGl6ZSBzeXMiKTsKLSAgICBpbnRlcnAtPnN5c2RpY3QgPSBQeU1vZHVsZV9HZXREaWN0KHN5c21vZCk7Ci0gICAgaWYgKGludGVycC0+c3lzZGljdCA9PSBOVUxMKQotICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBpbml0aWFsaXplIHN5cyBkaWN0Iik7Ci0gICAgUHlfSU5DUkVGKGludGVycC0+c3lzZGljdCk7Ci0gICAgX1B5SW1wb3J0X0ZpeHVwQnVpbHRpbihzeXNtb2QsICJzeXMiKTsKLSAgICBQeVN5c19TZXRQYXRoKFB5X0dldFBhdGgoKSk7Ci0gICAgUHlEaWN0X1NldEl0ZW1TdHJpbmcoaW50ZXJwLT5zeXNkaWN0LCAibW9kdWxlcyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgaW50ZXJwLT5tb2R1bGVzKTsKLQotICAgIC8qIFNldCB1cCBhIHByZWxpbWluYXJ5IHN0ZGVyciBwcmludGVyIHVudGlsIHdlIGhhdmUgZW5vdWdoCi0gICAgICAgaW5mcmFzdHJ1Y3R1cmUgZm9yIHRoZSBpbyBtb2R1bGUgaW4gcGxhY2UuICovCi0gICAgcHN0ZGVyciA9IFB5RmlsZV9OZXdTdGRQcmludGVyKGZpbGVubyhzdGRlcnIpKTsKLSAgICBpZiAocHN0ZGVyciA9PSBOVUxMKQotICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBzZXQgcHJlbGltaW5hcnkgc3RkZXJyIik7Ci0gICAgX1B5U3lzX1NldE9iamVjdElkKCZQeUlkX3N0ZGVyciwgcHN0ZGVycik7Ci0gICAgUHlTeXNfU2V0T2JqZWN0KCJfX3N0ZGVycl9fIiwgcHN0ZGVycik7Ci0gICAgUHlfREVDUkVGKHBzdGRlcnIpOwotCi0gICAgX1B5SW1wb3J0X0luaXQoKTsKLQotICAgIF9QeUltcG9ydEhvb2tzX0luaXQoKTsKLQotICAgIC8qIEluaXRpYWxpemUgX3dhcm5pbmdzLiAqLwotICAgIF9QeVdhcm5pbmdzX0luaXQoKTsKLQotICAgIGlmICghaW5zdGFsbF9pbXBvcnRsaWIpCi0gICAgICAgIHJldHVybjsKLQotICAgIGltcG9ydF9pbml0KGludGVycCwgc3lzbW9kKTsKLQotICAgIC8qIGluaXRpYWxpemUgdGhlIGZhdWx0aGFuZGxlciBtb2R1bGUgKi8KLSAgICBpZiAoX1B5RmF1bHRoYW5kbGVyX0luaXQoKSkKLSAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlfSW5pdGlhbGl6ZTogY2FuJ3QgaW5pdGlhbGl6ZSBmYXVsdGhhbmRsZXIiKTsKLQotICAgIF9QeVRpbWVfSW5pdCgpOwotCi0gICAgaWYgKGluaXRmc2VuY29kaW5nKGludGVycCkgPCAwKQotICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiB1bmFibGUgdG8gbG9hZCB0aGUgZmlsZSBzeXN0ZW0gY29kZWMiKTsKLQotICAgIGlmIChpbnN0YWxsX3NpZ3MpCi0gICAgICAgIGluaXRzaWdzKCk7IC8qIFNpZ25hbCBoYW5kbGluZyBzdHVmZiwgaW5jbHVkaW5nIGluaXRpbnRyKCkgKi8KLQotICAgIGlmIChfUHlUcmFjZU1hbGxvY19Jbml0KCkgPCAwKQotICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBpbml0aWFsaXplIHRyYWNlbWFsbG9jIik7Ci0KLSAgICBpbml0bWFpbihpbnRlcnApOyAvKiBNb2R1bGUgX19tYWluX18gKi8KLSAgICBpZiAoaW5pdHN0ZGlvKCkgPCAwKQotICAgICAgICBQeV9GYXRhbEVycm9yKAotICAgICAgICAgICAgIlB5X0luaXRpYWxpemU6IGNhbid0IGluaXRpYWxpemUgc3lzIHN0YW5kYXJkIHN0cmVhbXMiKTsKLQotICAgIC8qIEluaXRpYWxpemUgd2FybmluZ3MuICovCi0gICAgaWYgKFB5U3lzX0hhc1dhcm5PcHRpb25zKCkpIHsKLSAgICAgICAgUHlPYmplY3QgKndhcm5pbmdzX21vZHVsZSA9IFB5SW1wb3J0X0ltcG9ydE1vZHVsZSgid2FybmluZ3MiKTsKLSAgICAgICAgaWYgKHdhcm5pbmdzX21vZHVsZSA9PSBOVUxMKSB7Ci0gICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIidpbXBvcnQgd2FybmluZ3MnIGZhaWxlZDsgdHJhY2ViYWNrOlxuIik7Ci0gICAgICAgICAgICBQeUVycl9QcmludCgpOwotICAgICAgICB9Ci0gICAgICAgIFB5X1hERUNSRUYod2FybmluZ3NfbW9kdWxlKTsKLSAgICB9Ci0KLSAgICBpZiAoIVB5X05vU2l0ZUZsYWcpCi0gICAgICAgIGluaXRzaXRlKCk7IC8qIE1vZHVsZSBzaXRlICovCi19Ci0KLXZvaWQKLVB5X0luaXRpYWxpemVFeChpbnQgaW5zdGFsbF9zaWdzKQotewotICAgIF9QeV9Jbml0aWFsaXplRXhfUHJpdmF0ZShpbnN0YWxsX3NpZ3MsIDEpOwotfQotCi12b2lkCi1QeV9Jbml0aWFsaXplKHZvaWQpCi17Ci0gICAgUHlfSW5pdGlhbGl6ZUV4KDEpOwotfQotCi0KLSNpZmRlZiBDT1VOVF9BTExPQ1MKLWV4dGVybiB2b2lkIGR1bXBfY291bnRzKEZJTEUqKTsKLSNlbmRpZgotCi0vKiBGbHVzaCBzdGRvdXQgYW5kIHN0ZGVyciAqLwotCi1zdGF0aWMgaW50Ci1maWxlX2lzX2Nsb3NlZChQeU9iamVjdCAqZm9iaikKLXsKLSAgICBpbnQgcjsKLSAgICBQeU9iamVjdCAqdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhmb2JqLCAiY2xvc2VkIik7Ci0gICAgaWYgKHRtcCA9PSBOVUxMKSB7Ci0gICAgICAgIFB5RXJyX0NsZWFyKCk7Ci0gICAgICAgIHJldHVybiAwOwotICAgIH0KLSAgICByID0gUHlPYmplY3RfSXNUcnVlKHRtcCk7Ci0gICAgUHlfREVDUkVGKHRtcCk7Ci0gICAgaWYgKHIgPCAwKQotICAgICAgICBQeUVycl9DbGVhcigpOwotICAgIHJldHVybiByID4gMDsKLX0KLQotc3RhdGljIHZvaWQKLWZsdXNoX3N0ZF9maWxlcyh2b2lkKQotewotICAgIFB5T2JqZWN0ICpmb3V0ID0gX1B5U3lzX0dldE9iamVjdElkKCZQeUlkX3N0ZG91dCk7Ci0gICAgUHlPYmplY3QgKmZlcnIgPSBfUHlTeXNfR2V0T2JqZWN0SWQoJlB5SWRfc3RkZXJyKTsKLSAgICBQeU9iamVjdCAqdG1wOwotCi0gICAgaWYgKGZvdXQgIT0gTlVMTCAmJiBmb3V0ICE9IFB5X05vbmUgJiYgIWZpbGVfaXNfY2xvc2VkKGZvdXQpKSB7Ci0gICAgICAgIHRtcCA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQoZm91dCwgJlB5SWRfZmx1c2gsICIiKTsKLSAgICAgICAgaWYgKHRtcCA9PSBOVUxMKQotICAgICAgICAgICAgUHlFcnJfV3JpdGVVbnJhaXNhYmxlKGZvdXQpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBQeV9ERUNSRUYodG1wKTsKLSAgICB9Ci0KLSAgICBpZiAoZmVyciAhPSBOVUxMICYmIGZlcnIgIT0gUHlfTm9uZSAmJiAhZmlsZV9pc19jbG9zZWQoZmVycikpIHsKLSAgICAgICAgdG1wID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChmZXJyLCAmUHlJZF9mbHVzaCwgIiIpOwotICAgICAgICBpZiAodG1wID09IE5VTEwpCi0gICAgICAgICAgICBQeUVycl9DbGVhcigpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBQeV9ERUNSRUYodG1wKTsKLSAgICB9Ci19Ci0KLS8qIFVuZG8gdGhlIGVmZmVjdCBvZiBQeV9Jbml0aWFsaXplKCkuCi0KLSAgIEJld2FyZTogaWYgbXVsdGlwbGUgaW50ZXJwcmV0ZXIgYW5kL29yIHRocmVhZCBzdGF0ZXMgZXhpc3QsIHRoZXNlCi0gICBhcmUgbm90IHdpcGVkIG91dDsgb25seSB0aGUgY3VycmVudCB0aHJlYWQgYW5kIGludGVycHJldGVyIHN0YXRlCi0gICBhcmUgZGVsZXRlZC4gIEJ1dCBzaW5jZSBldmVyeXRoaW5nIGVsc2UgaXMgZGVsZXRlZCwgdGhvc2Ugb3RoZXIKLSAgIGludGVycHJldGVyIGFuZCB0aHJlYWQgc3RhdGVzIHNob3VsZCBubyBsb25nZXIgYmUgdXNlZC4KLQotICAgKFhYWCBXZSBzaG91bGQgZG8gYmV0dGVyLCBlLmcuIHdpcGUgb3V0IGFsbCBpbnRlcnByZXRlcnMgYW5kCi0gICB0aHJlYWRzLikKLQotICAgTG9ja2luZzogYXMgYWJvdmUuCi0KLSovCi0KLXZvaWQKLVB5X0ZpbmFsaXplKHZvaWQpCi17Ci0gICAgUHlJbnRlcnByZXRlclN0YXRlICppbnRlcnA7Ci0gICAgUHlUaHJlYWRTdGF0ZSAqdHN0YXRlOwotCi0gICAgaWYgKCFpbml0aWFsaXplZCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgd2FpdF9mb3JfdGhyZWFkX3NodXRkb3duKCk7Ci0KLSAgICAvKiBUaGUgaW50ZXJwcmV0ZXIgaXMgc3RpbGwgZW50aXJlbHkgaW50YWN0IGF0IHRoaXMgcG9pbnQsIGFuZCB0aGUKLSAgICAgKiBleGl0IGZ1bmNzIG1heSBiZSByZWx5aW5nIG9uIHRoYXQuICBJbiBwYXJ0aWN1bGFyLCBpZiBzb21lIHRocmVhZAotICAgICAqIG9yIGV4aXQgZnVuYyBpcyBzdGlsbCB3YWl0aW5nIHRvIGRvIGFuIGltcG9ydCwgdGhlIGltcG9ydCBtYWNoaW5lcnkKLSAgICAgKiBleHBlY3RzIFB5X0lzSW5pdGlhbGl6ZWQoKSB0byByZXR1cm4gdHJ1ZS4gIFNvIGRvbid0IHNheSB0aGUKLSAgICAgKiBpbnRlcnByZXRlciBpcyB1bmluaXRpYWxpemVkIHVudGlsIGFmdGVyIHRoZSBleGl0IGZ1bmNzIGhhdmUgcnVuLgotICAgICAqIE5vdGUgdGhhdCBUaHJlYWRpbmcucHkgdXNlcyBhbiBleGl0IGZ1bmMgdG8gZG8gYSBqb2luIG9uIGFsbCB0aGUKLSAgICAgKiB0aHJlYWRzIGNyZWF0ZWQgdGhydSBpdCwgc28gdGhpcyBhbHNvIHByb3RlY3RzIHBlbmRpbmcgaW1wb3J0cyBpbgotICAgICAqIHRoZSB0aHJlYWRzIGNyZWF0ZWQgdmlhIFRocmVhZGluZy4KLSAgICAgKi8KLSAgICBjYWxsX3B5X2V4aXRmdW5jcygpOwotCi0gICAgLyogR2V0IGN1cnJlbnQgdGhyZWFkIHN0YXRlIGFuZCBpbnRlcnByZXRlciBwb2ludGVyICovCi0gICAgdHN0YXRlID0gUHlUaHJlYWRTdGF0ZV9HRVQoKTsKLSAgICBpbnRlcnAgPSB0c3RhdGUtPmludGVycDsKLQotICAgIC8qIFJlbWFpbmluZyB0aHJlYWRzIChlLmcuIGRhZW1vbiB0aHJlYWRzKSB3aWxsIGF1dG9tYXRpY2FsbHkgZXhpdAotICAgICAgIGFmdGVyIHRha2luZyB0aGUgR0lMIChpbiBQeUV2YWxfUmVzdG9yZVRocmVhZCgpKS4gKi8KLSAgICBfUHlfRmluYWxpemluZyA9IHRzdGF0ZTsKLSAgICBpbml0aWFsaXplZCA9IDA7Ci0KLSAgICAvKiBGbHVzaCBzdGRvdXQrc3RkZXJyICovCi0gICAgZmx1c2hfc3RkX2ZpbGVzKCk7Ci0KLSAgICAvKiBEaXNhYmxlIHNpZ25hbCBoYW5kbGluZyAqLwotICAgIFB5T1NfRmluaUludGVycnVwdHMoKTsKLQotICAgIC8qIENvbGxlY3QgZ2FyYmFnZS4gIFRoaXMgbWF5IGNhbGwgZmluYWxpemVyczsgaXQncyBuaWNlIHRvIGNhbGwgdGhlc2UKLSAgICAgKiBiZWZvcmUgYWxsIG1vZHVsZXMgYXJlIGRlc3Ryb3llZC4KLSAgICAgKiBYWFggSWYgYSBfX2RlbF9fIG9yIHdlYWtyZWYgY2FsbGJhY2sgaXMgdHJpZ2dlcmVkIGhlcmUsIGFuZCB0cmllcyB0bwotICAgICAqIFhYWCBpbXBvcnQgYSBtb2R1bGUsIGJhZCB0aGluZ3MgY2FuIGhhcHBlbiwgYmVjYXVzZSBQeXRob24gbm8KLSAgICAgKiBYWFggbG9uZ2VyIGJlbGlldmVzIGl0J3MgaW5pdGlhbGl6ZWQuCi0gICAgICogWFhYICAgICBGYXRhbCBQeXRob24gZXJyb3I6IEludGVycHJldGVyIG5vdCBpbml0aWFsaXplZCAodmVyc2lvbiBtaXNtYXRjaD8pCi0gICAgICogWFhYIGlzIGVhc3kgdG8gcHJvdm9rZSB0aGF0IHdheS4gIEkndmUgYWxzbyBzZWVuLCBlLmcuLAotICAgICAqIFhYWCAgICAgRXhjZXB0aW9uIGV4Y2VwdGlvbnMuSW1wb3J0RXJyb3I6ICdObyBtb2R1bGUgbmFtZWQgc2hhJwotICAgICAqIFhYWCAgICAgICAgIGluIDxmdW5jdGlvbiBjYWxsYmFjayBhdCAweDAwOEY1NzE4PiBpZ25vcmVkCi0gICAgICogWFhYIGJ1dCBJJ20gdW5jbGVhciBvbiBleGFjdGx5IGhvdyB0aGF0IG9uZSBoYXBwZW5zLiAgSW4gYW55IGNhc2UsCi0gICAgICogWFhYIEkgaGF2ZW4ndCBzZWVuIGEgcmVhbC1saWZlIHJlcG9ydCBvZiBlaXRoZXIgb2YgdGhlc2UuCi0gICAgICovCi0gICAgUHlHQ19Db2xsZWN0KCk7Ci0jaWZkZWYgQ09VTlRfQUxMT0NTCi0gICAgLyogV2l0aCBDT1VOVF9BTExPQ1MsIGl0IGhlbHBzIHRvIHJ1biBHQyBtdWx0aXBsZSB0aW1lczoKLSAgICAgICBlYWNoIGNvbGxlY3Rpb24gbWlnaHQgcmVsZWFzZSBzb21lIHR5cGVzIGZyb20gdGhlIHR5cGUKLSAgICAgICBsaXN0LCBzbyB0aGV5IGJlY29tZSBnYXJiYWdlLiAqLwotICAgIHdoaWxlIChQeUdDX0NvbGxlY3QoKSA+IDApCi0gICAgICAgIC8qIG5vdGhpbmcgKi87Ci0jZW5kaWYKLSAgICAvKiBEZXN0cm95IGFsbCBtb2R1bGVzICovCi0gICAgUHlJbXBvcnRfQ2xlYW51cCgpOwotCi0gICAgLyogRmx1c2ggc3Rkb3V0K3N0ZGVyciAoYWdhaW4sIGluIGNhc2UgbW9yZSB3YXMgcHJpbnRlZCkgKi8KLSAgICBmbHVzaF9zdGRfZmlsZXMoKTsKLQotICAgIC8qIENvbGxlY3QgZmluYWwgZ2FyYmFnZS4gIFRoaXMgZGlzcG9zZXMgb2YgY3ljbGVzIGNyZWF0ZWQgYnkKLSAgICAgKiBjbGFzcyBkZWZpbml0aW9ucywgZm9yIGV4YW1wbGUuCi0gICAgICogWFhYIFRoaXMgaXMgZGlzYWJsZWQgYmVjYXVzZSBpdCBjYXVzZWQgdG9vIG1hbnkgcHJvYmxlbXMuICBJZgotICAgICAqIFhYWCBhIF9fZGVsX18gb3Igd2Vha3JlZiBjYWxsYmFjayB0cmlnZ2VycyBoZXJlLCBQeXRob24gY29kZSBoYXMKLSAgICAgKiBYWFggYSBoYXJkIHRpbWUgcnVubmluZywgYmVjYXVzZSBldmVuIHRoZSBzeXMgbW9kdWxlIGhhcyBiZWVuCi0gICAgICogWFhYIGNsZWFyZWQgb3V0IChzeXMuc3Rkb3V0IGlzIGdvbmUsIHN5cy5leGNlcHRob29rIGlzIGdvbmUsIGV0YykuCi0gICAgICogWFhYIE9uZSBzeW1wdG9tIGlzIGEgc2VxdWVuY2Ugb2YgaW5mb3JtYXRpb24tZnJlZSBtZXNzYWdlcwotICAgICAqIFhYWCBjb21pbmcgZnJvbSB0aHJlYWRzIChpZiBhIF9fZGVsX18gb3IgY2FsbGJhY2sgaXMgaW52b2tlZCwKLSAgICAgKiBYWFggb3RoZXIgdGhyZWFkcyBjYW4gZXhlY3V0ZSB0b28sIGFuZCBhbnkgZXhjZXB0aW9uIHRoZXkgZW5jb3VudGVyCi0gICAgICogWFhYIHRyaWdnZXJzIGEgY29tZWR5IG9mIGVycm9ycyBhcyBzdWJzeXN0ZW0gYWZ0ZXIgc3Vic3lzdGVtCi0gICAgICogWFhYIGZhaWxzIHRvIGZpbmQgd2hhdCBpdCAqZXhwZWN0cyogdG8gZmluZCBpbiBzeXMgdG8gaGVscCByZXBvcnQKLSAgICAgKiBYWFggdGhlIGV4Y2VwdGlvbiBhbmQgY29uc2VxdWVudCB1bmV4cGVjdGVkIGZhaWx1cmVzKS4gIEkndmUgYWxzbwotICAgICAqIFhYWCBzZWVuIHNlZ2ZhdWx0cyB0aGVuLCBhZnRlciBhZGRpbmcgcHJpbnQgc3RhdGVtZW50cyB0byB0aGUKLSAgICAgKiBYWFggUHl0aG9uIGNvZGUgZ2V0dGluZyBjYWxsZWQuCi0gICAgICovCi0jaWYgMAotICAgIFB5R0NfQ29sbGVjdCgpOwotI2VuZGlmCi0KLSAgICAvKiBEaXNhYmxlIHRyYWNlbWFsbG9jIGFmdGVyIGFsbCBQeXRob24gb2JqZWN0cyBoYXZlIGJlZW4gZGVzdHJveWVkLAotICAgICAgIHNvIGl0IGlzIHBvc3NpYmxlIHRvIHVzZSB0cmFjZW1hbGxvYyBpbiBvYmplY3RzIGRlc3RydWN0b3IuICovCi0gICAgX1B5VHJhY2VNYWxsb2NfRmluaSgpOwotCi0gICAgLyogRGVzdHJveSB0aGUgZGF0YWJhc2UgdXNlZCBieSBfUHlJbXBvcnRfe0ZpeHVwLEZpbmR9RXh0ZW5zaW9uICovCi0gICAgX1B5SW1wb3J0X0ZpbmkoKTsKLQotICAgIC8qIENsZWFudXAgdHlwZW9iamVjdC5jJ3MgaW50ZXJuYWwgY2FjaGVzLiAqLwotICAgIF9QeVR5cGVfRmluaSgpOwotCi0gICAgLyogdW5sb2FkIGZhdWx0aGFuZGxlciBtb2R1bGUgKi8KLSAgICBfUHlGYXVsdGhhbmRsZXJfRmluaSgpOwotCi0gICAgLyogRGVidWdnaW5nIHN0dWZmICovCi0jaWZkZWYgQ09VTlRfQUxMT0NTCi0gICAgZHVtcF9jb3VudHMoc3Rkb3V0KTsKLSNlbmRpZgotICAgIC8qIGR1bXAgaGFzaCBzdGF0cyAqLwotICAgIF9QeUhhc2hfRmluaSgpOwotCi0gICAgUFJJTlRfVE9UQUxfUkVGUygpOwotCi0jaWZkZWYgUHlfVFJBQ0VfUkVGUwotICAgIC8qIERpc3BsYXkgYWxsIG9iamVjdHMgc3RpbGwgYWxpdmUgLS0gdGhpcyBjYW4gaW52b2tlIGFyYml0cmFyeQotICAgICAqIF9fcmVwcl9fIG92ZXJyaWRlcywgc28gcmVxdWlyZXMgYSBtb3N0bHktaW50YWN0IGludGVycHJldGVyLgotICAgICAqIEFsYXMsIGEgbG90IG9mIHN0dWZmIG1heSBzdGlsbCBiZSBhbGl2ZSBub3cgdGhhdCB3aWxsIGJlIGNsZWFuZWQKLSAgICAgKiB1cCBsYXRlci4KLSAgICAgKi8KLSAgICBpZiAoUHlfR0VURU5WKCJQWVRIT05EVU1QUkVGUyIpKQotICAgICAgICBfUHlfUHJpbnRSZWZlcmVuY2VzKHN0ZGVycik7Ci0jZW5kaWYgLyogUHlfVFJBQ0VfUkVGUyAqLwotCi0gICAgLyogQ2xlYXIgaW50ZXJwcmV0ZXIgc3RhdGUgYW5kIGFsbCB0aHJlYWQgc3RhdGVzLiAqLwotICAgIFB5SW50ZXJwcmV0ZXJTdGF0ZV9DbGVhcihpbnRlcnApOwotCi0gICAgLyogTm93IHdlIGRlY3JlZiB0aGUgZXhjZXB0aW9uIGNsYXNzZXMuICBBZnRlciB0aGlzIHBvaW50IG5vdGhpbmcKLSAgICAgICBjYW4gcmFpc2UgYW4gZXhjZXB0aW9uLiAgVGhhdCdzIG9rYXksIGJlY2F1c2UgZWFjaCBGaW5pKCkgbWV0aG9kCi0gICAgICAgYmVsb3cgaGFzIGJlZW4gY2hlY2tlZCB0byBtYWtlIHN1cmUgbm8gZXhjZXB0aW9ucyBhcmUgZXZlcgotICAgICAgIHJhaXNlZC4KLSAgICAqLwotCi0gICAgX1B5RXhjX0ZpbmkoKTsKLQotICAgIC8qIFN1bmRyeSBmaW5hbGl6ZXJzICovCi0gICAgUHlNZXRob2RfRmluaSgpOwotICAgIFB5RnJhbWVfRmluaSgpOwotICAgIFB5Q0Z1bmN0aW9uX0ZpbmkoKTsKLSAgICBQeVR1cGxlX0ZpbmkoKTsKLSAgICBQeUxpc3RfRmluaSgpOwotICAgIFB5U2V0X0ZpbmkoKTsKLSAgICBQeUJ5dGVzX0ZpbmkoKTsKLSAgICBQeUJ5dGVBcnJheV9GaW5pKCk7Ci0gICAgUHlMb25nX0ZpbmkoKTsKLSAgICBQeUZsb2F0X0ZpbmkoKTsKLSAgICBQeURpY3RfRmluaSgpOwotICAgIFB5U2xpY2VfRmluaSgpOwotICAgIF9QeUdDX0ZpbmkoKTsKLSAgICBfUHlSYW5kb21fRmluaSgpOwotCi0gICAgLyogQ2xlYW51cCBVbmljb2RlIGltcGxlbWVudGF0aW9uICovCi0gICAgX1B5VW5pY29kZV9GaW5pKCk7Ci0KLSAgICAvKiByZXNldCBmaWxlIHN5c3RlbSBkZWZhdWx0IGVuY29kaW5nICovCi0gICAgaWYgKCFQeV9IYXNGaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nICYmIFB5X0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2RpbmcpIHsKLSAgICAgICAgUHlNZW1fUmF3RnJlZSgoY2hhciopUHlfRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZyk7Ci0gICAgICAgIFB5X0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2RpbmcgPSBOVUxMOwotICAgIH0KLQotICAgIC8qIFhYWCBTdGlsbCBhbGxvY2F0ZWQ6Ci0gICAgICAgLSB2YXJpb3VzIHN0YXRpYyBhZC1ob2MgcG9pbnRlcnMgdG8gaW50ZXJuZWQgc3RyaW5ncwotICAgICAgIC0gaW50IGFuZCBmbG9hdCBmcmVlIGxpc3QgYmxvY2tzCi0gICAgICAgLSB3aGF0ZXZlciB2YXJpb3VzIG1vZHVsZXMgYW5kIGxpYnJhcmllcyBhbGxvY2F0ZQotICAgICovCi0KLSAgICBQeUdyYW1tYXJfUmVtb3ZlQWNjZWxlcmF0b3JzKCZfUHlQYXJzZXJfR3JhbW1hcik7Ci0KLSAgICAvKiBDbGVhbnVwIGF1dG8tdGhyZWFkLXN0YXRlICovCi0jaWZkZWYgV0lUSF9USFJFQUQKLSAgICBfUHlHSUxTdGF0ZV9GaW5pKCk7Ci0jZW5kaWYgLyogV0lUSF9USFJFQUQgKi8KLQotICAgIC8qIERlbGV0ZSBjdXJyZW50IHRocmVhZC4gQWZ0ZXIgdGhpcywgbWFueSBDIEFQSSBjYWxscyBiZWNvbWUgY3Jhc2h5LiAqLwotICAgIFB5VGhyZWFkU3RhdGVfU3dhcChOVUxMKTsKLSAgICBQeUludGVycHJldGVyU3RhdGVfRGVsZXRlKGludGVycCk7Ci0KLSNpZmRlZiBQeV9UUkFDRV9SRUZTCi0gICAgLyogRGlzcGxheSBhZGRyZXNzZXMgKCYgcmVmY250cykgb2YgYWxsIG9iamVjdHMgc3RpbGwgYWxpdmUuCi0gICAgICogQW4gYWRkcmVzcyBjYW4gYmUgdXNlZCB0byBmaW5kIHRoZSByZXByIG9mIHRoZSBvYmplY3QsIHByaW50ZWQKLSAgICAgKiBhYm92ZSBieSBfUHlfUHJpbnRSZWZlcmVuY2VzLgotICAgICAqLwotICAgIGlmIChQeV9HRVRFTlYoIlBZVEhPTkRVTVBSRUZTIikpCi0gICAgICAgIF9QeV9QcmludFJlZmVyZW5jZUFkZHJlc3NlcyhzdGRlcnIpOwotI2VuZGlmIC8qIFB5X1RSQUNFX1JFRlMgKi8KLSNpZmRlZiBQWU1BTExPQ19ERUJVRwotICAgIGlmIChQeV9HRVRFTlYoIlBZVEhPTk1BTExPQ1NUQVRTIikpCi0gICAgICAgIF9QeU9iamVjdF9EZWJ1Z01hbGxvY1N0YXRzKHN0ZGVycik7Ci0jZW5kaWYKLQotICAgIGNhbGxfbGxfZXhpdGZ1bmNzKCk7Ci19Ci0KLS8qIENyZWF0ZSBhbmQgaW5pdGlhbGl6ZSBhIG5ldyBpbnRlcnByZXRlciBhbmQgdGhyZWFkLCBhbmQgcmV0dXJuIHRoZQotICAgbmV3IHRocmVhZC4gIFRoaXMgcmVxdWlyZXMgdGhhdCBQeV9Jbml0aWFsaXplKCkgaGFzIGJlZW4gY2FsbGVkCi0gICBmaXJzdC4KLQotICAgVW5zdWNjZXNzZnVsIGluaXRpYWxpemF0aW9uIHlpZWxkcyBhIE5VTEwgcG9pbnRlci4gIE5vdGUgdGhhdCAqbm8qCi0gICBleGNlcHRpb24gaW5mb3JtYXRpb24gaXMgYXZhaWxhYmxlIGV2ZW4gaW4gdGhpcyBjYXNlIC0tIHRoZQotICAgZXhjZXB0aW9uIGluZm9ybWF0aW9uIGlzIGhlbGQgaW4gdGhlIHRocmVhZCwgYW5kIHRoZXJlIGlzIG5vCi0gICB0aHJlYWQuCi0KLSAgIExvY2tpbmc6IGFzIGFib3ZlLgotCi0qLwotCi1QeVRocmVhZFN0YXRlICoKLVB5X05ld0ludGVycHJldGVyKHZvaWQpCi17Ci0gICAgUHlJbnRlcnByZXRlclN0YXRlICppbnRlcnA7Ci0gICAgUHlUaHJlYWRTdGF0ZSAqdHN0YXRlLCAqc2F2ZV90c3RhdGU7Ci0gICAgUHlPYmplY3QgKmJpbW9kLCAqc3lzbW9kOwotCi0gICAgaWYgKCFpbml0aWFsaXplZCkKLSAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlfTmV3SW50ZXJwcmV0ZXI6IGNhbGwgUHlfSW5pdGlhbGl6ZSBmaXJzdCIpOwotCi0gICAgaW50ZXJwID0gUHlJbnRlcnByZXRlclN0YXRlX05ldygpOwotICAgIGlmIChpbnRlcnAgPT0gTlVMTCkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KLSAgICB0c3RhdGUgPSBQeVRocmVhZFN0YXRlX05ldyhpbnRlcnApOwotICAgIGlmICh0c3RhdGUgPT0gTlVMTCkgewotICAgICAgICBQeUludGVycHJldGVyU3RhdGVfRGVsZXRlKGludGVycCk7Ci0gICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KLQotICAgIHNhdmVfdHN0YXRlID0gUHlUaHJlYWRTdGF0ZV9Td2FwKHRzdGF0ZSk7Ci0KLSAgICAvKiBYWFggVGhlIGZvbGxvd2luZyBpcyBsYXggaW4gZXJyb3IgY2hlY2tpbmcgKi8KLQotICAgIGludGVycC0+bW9kdWxlcyA9IFB5RGljdF9OZXcoKTsKLQotICAgIGJpbW9kID0gX1B5SW1wb3J0X0ZpbmRCdWlsdGluKCJidWlsdGlucyIpOwotICAgIGlmIChiaW1vZCAhPSBOVUxMKSB7Ci0gICAgICAgIGludGVycC0+YnVpbHRpbnMgPSBQeU1vZHVsZV9HZXREaWN0KGJpbW9kKTsKLSAgICAgICAgaWYgKGludGVycC0+YnVpbHRpbnMgPT0gTlVMTCkKLSAgICAgICAgICAgIGdvdG8gaGFuZGxlX2Vycm9yOwotICAgICAgICBQeV9JTkNSRUYoaW50ZXJwLT5idWlsdGlucyk7Ci0gICAgfQotCi0gICAgLyogaW5pdGlhbGl6ZSBidWlsdGluIGV4Y2VwdGlvbnMgKi8KLSAgICBfUHlFeGNfSW5pdChiaW1vZCk7Ci0KLSAgICBzeXNtb2QgPSBfUHlJbXBvcnRfRmluZEJ1aWx0aW4oInN5cyIpOwotICAgIGlmIChiaW1vZCAhPSBOVUxMICYmIHN5c21vZCAhPSBOVUxMKSB7Ci0gICAgICAgIFB5T2JqZWN0ICpwc3RkZXJyOwotCi0gICAgICAgIGludGVycC0+c3lzZGljdCA9IFB5TW9kdWxlX0dldERpY3Qoc3lzbW9kKTsKLSAgICAgICAgaWYgKGludGVycC0+c3lzZGljdCA9PSBOVUxMKQotICAgICAgICAgICAgZ290byBoYW5kbGVfZXJyb3I7Ci0gICAgICAgIFB5X0lOQ1JFRihpbnRlcnAtPnN5c2RpY3QpOwotICAgICAgICBQeVN5c19TZXRQYXRoKFB5X0dldFBhdGgoKSk7Ci0gICAgICAgIFB5RGljdF9TZXRJdGVtU3RyaW5nKGludGVycC0+c3lzZGljdCwgIm1vZHVsZXMiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcnAtPm1vZHVsZXMpOwotICAgICAgICAvKiBTZXQgdXAgYSBwcmVsaW1pbmFyeSBzdGRlcnIgcHJpbnRlciB1bnRpbCB3ZSBoYXZlIGVub3VnaAotICAgICAgICAgICBpbmZyYXN0cnVjdHVyZSBmb3IgdGhlIGlvIG1vZHVsZSBpbiBwbGFjZS4gKi8KLSAgICAgICAgcHN0ZGVyciA9IFB5RmlsZV9OZXdTdGRQcmludGVyKGZpbGVubyhzdGRlcnIpKTsKLSAgICAgICAgaWYgKHBzdGRlcnIgPT0gTlVMTCkKLSAgICAgICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IGNhbid0IHNldCBwcmVsaW1pbmFyeSBzdGRlcnIiKTsKLSAgICAgICAgX1B5U3lzX1NldE9iamVjdElkKCZQeUlkX3N0ZGVyciwgcHN0ZGVycik7Ci0gICAgICAgIFB5U3lzX1NldE9iamVjdCgiX19zdGRlcnJfXyIsIHBzdGRlcnIpOwotICAgICAgICBQeV9ERUNSRUYocHN0ZGVycik7Ci0KLSAgICAgICAgX1B5SW1wb3J0SG9va3NfSW5pdCgpOwotCi0gICAgICAgIGltcG9ydF9pbml0KGludGVycCwgc3lzbW9kKTsKLQotICAgICAgICBpZiAoaW5pdGZzZW5jb2RpbmcoaW50ZXJwKSA8IDApCi0gICAgICAgICAgICBnb3RvIGhhbmRsZV9lcnJvcjsKLQotICAgICAgICBpZiAoaW5pdHN0ZGlvKCkgPCAwKQotICAgICAgICAgICAgUHlfRmF0YWxFcnJvcigKLSAgICAgICAgICAgICJQeV9Jbml0aWFsaXplOiBjYW4ndCBpbml0aWFsaXplIHN5cyBzdGFuZGFyZCBzdHJlYW1zIik7Ci0gICAgICAgIGluaXRtYWluKGludGVycCk7Ci0gICAgICAgIGlmICghUHlfTm9TaXRlRmxhZykKLSAgICAgICAgICAgIGluaXRzaXRlKCk7Ci0gICAgfQotCi0gICAgaWYgKCFQeUVycl9PY2N1cnJlZCgpKQotICAgICAgICByZXR1cm4gdHN0YXRlOwotCi1oYW5kbGVfZXJyb3I6Ci0gICAgLyogT29wcywgaXQgZGlkbid0IHdvcmsuICBVbmRvIGl0IGFsbC4gKi8KLQotICAgIFB5RXJyX1ByaW50RXgoMCk7Ci0gICAgUHlUaHJlYWRTdGF0ZV9DbGVhcih0c3RhdGUpOwotICAgIFB5VGhyZWFkU3RhdGVfU3dhcChzYXZlX3RzdGF0ZSk7Ci0gICAgUHlUaHJlYWRTdGF0ZV9EZWxldGUodHN0YXRlKTsKLSAgICBQeUludGVycHJldGVyU3RhdGVfRGVsZXRlKGludGVycCk7Ci0KLSAgICByZXR1cm4gTlVMTDsKLX0KLQotLyogRGVsZXRlIGFuIGludGVycHJldGVyIGFuZCBpdHMgbGFzdCB0aHJlYWQuICBUaGlzIHJlcXVpcmVzIHRoYXQgdGhlCi0gICBnaXZlbiB0aHJlYWQgc3RhdGUgaXMgY3VycmVudCwgdGhhdCB0aGUgdGhyZWFkIGhhcyBubyByZW1haW5pbmcKLSAgIGZyYW1lcywgYW5kIHRoYXQgaXQgaXMgaXRzIGludGVycHJldGVyJ3Mgb25seSByZW1haW5pbmcgdGhyZWFkLgotICAgSXQgaXMgYSBmYXRhbCBlcnJvciB0byB2aW9sYXRlIHRoZXNlIGNvbnN0cmFpbnRzLgotCi0gICAoUHlfRmluYWxpemUoKSBkb2Vzbid0IGhhdmUgdGhlc2UgY29uc3RyYWludHMgLS0gaXQgemFwcwotICAgZXZlcnl0aGluZywgcmVnYXJkbGVzcy4pCi0KLSAgIExvY2tpbmc6IGFzIGFib3ZlLgotCi0qLwotCi12b2lkCi1QeV9FbmRJbnRlcnByZXRlcihQeVRocmVhZFN0YXRlICp0c3RhdGUpCi17Ci0gICAgUHlJbnRlcnByZXRlclN0YXRlICppbnRlcnAgPSB0c3RhdGUtPmludGVycDsKLQotICAgIGlmICh0c3RhdGUgIT0gUHlUaHJlYWRTdGF0ZV9HRVQoKSkKLSAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlfRW5kSW50ZXJwcmV0ZXI6IHRocmVhZCBpcyBub3QgY3VycmVudCIpOwotICAgIGlmICh0c3RhdGUtPmZyYW1lICE9IE5VTEwpCi0gICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0VuZEludGVycHJldGVyOiB0aHJlYWQgc3RpbGwgaGFzIGEgZnJhbWUiKTsKLQotICAgIHdhaXRfZm9yX3RocmVhZF9zaHV0ZG93bigpOwotCi0gICAgaWYgKHRzdGF0ZSAhPSBpbnRlcnAtPnRzdGF0ZV9oZWFkIHx8IHRzdGF0ZS0+bmV4dCAhPSBOVUxMKQotICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9FbmRJbnRlcnByZXRlcjogbm90IHRoZSBsYXN0IHRocmVhZCIpOwotCi0gICAgUHlJbXBvcnRfQ2xlYW51cCgpOwotICAgIFB5SW50ZXJwcmV0ZXJTdGF0ZV9DbGVhcihpbnRlcnApOwotICAgIFB5VGhyZWFkU3RhdGVfU3dhcChOVUxMKTsKLSAgICBQeUludGVycHJldGVyU3RhdGVfRGVsZXRlKGludGVycCk7Ci19Ci0KLSNpZmRlZiBNU19XSU5ET1dTCi1zdGF0aWMgd2NoYXJfdCAqcHJvZ25hbWUgPSBMInB5dGhvbiI7Ci0jZWxzZQotc3RhdGljIHdjaGFyX3QgKnByb2duYW1lID0gTCJweXRob24zIjsKLSNlbmRpZgotCi12b2lkCi1QeV9TZXRQcm9ncmFtTmFtZSh3Y2hhcl90ICpwbikKLXsKLSAgICBpZiAocG4gJiYgKnBuKQotICAgICAgICBwcm9nbmFtZSA9IHBuOwotfQotCi13Y2hhcl90ICoKLVB5X0dldFByb2dyYW1OYW1lKHZvaWQpCi17Ci0gICAgcmV0dXJuIHByb2duYW1lOwotfQotCi1zdGF0aWMgd2NoYXJfdCAqZGVmYXVsdF9ob21lID0gTlVMTDsKLXN0YXRpYyB3Y2hhcl90IGVudl9ob21lW01BWFBBVEhMRU4rMV07Ci0KLXZvaWQKLVB5X1NldFB5dGhvbkhvbWUod2NoYXJfdCAqaG9tZSkKLXsKLSAgICBkZWZhdWx0X2hvbWUgPSBob21lOwotfQotCi13Y2hhcl90ICoKLVB5X0dldFB5dGhvbkhvbWUodm9pZCkKLXsKLSAgICB3Y2hhcl90ICpob21lID0gZGVmYXVsdF9ob21lOwotICAgIGlmIChob21lID09IE5VTEwgJiYgIVB5X0lnbm9yZUVudmlyb25tZW50RmxhZykgewotICAgICAgICBjaGFyKiBjaG9tZSA9IFB5X0dFVEVOVigiUFlUSE9OSE9NRSIpOwotICAgICAgICBpZiAoY2hvbWUpIHsKLSAgICAgICAgICAgIHNpemVfdCBzaXplID0gUHlfQVJSQVlfTEVOR1RIKGVudl9ob21lKTsKLSAgICAgICAgICAgIHNpemVfdCByID0gbWJzdG93Y3MoZW52X2hvbWUsIGNob21lLCBzaXplKTsKLSAgICAgICAgICAgIGlmIChyICE9IChzaXplX3QpLTEgJiYgciA8IHNpemUpCi0gICAgICAgICAgICAgICAgaG9tZSA9IGVudl9ob21lOwotICAgICAgICB9Ci0KLSAgICB9Ci0gICAgcmV0dXJuIGhvbWU7Ci19Ci0KLS8qIENyZWF0ZSBfX21haW5fXyBtb2R1bGUgKi8KLQotc3RhdGljIHZvaWQKLWluaXRtYWluKFB5SW50ZXJwcmV0ZXJTdGF0ZSAqaW50ZXJwKQotewotICAgIFB5T2JqZWN0ICptLCAqZCwgKmxvYWRlcjsKLSAgICBtID0gUHlJbXBvcnRfQWRkTW9kdWxlKCJfX21haW5fXyIpOwotICAgIGlmIChtID09IE5VTEwpCi0gICAgICAgIFB5X0ZhdGFsRXJyb3IoImNhbid0IGNyZWF0ZSBfX21haW5fXyBtb2R1bGUiKTsKLSAgICBkID0gUHlNb2R1bGVfR2V0RGljdChtKTsKLSAgICBpZiAoUHlEaWN0X0dldEl0ZW1TdHJpbmcoZCwgIl9fYnVpbHRpbnNfXyIpID09IE5VTEwpIHsKLSAgICAgICAgUHlPYmplY3QgKmJpbW9kID0gUHlJbXBvcnRfSW1wb3J0TW9kdWxlKCJidWlsdGlucyIpOwotICAgICAgICBpZiAoYmltb2QgPT0gTlVMTCkgewotICAgICAgICAgICAgUHlfRmF0YWxFcnJvcigiRmFpbGVkIHRvIHJldHJpZXZlIGJ1aWx0aW5zIG1vZHVsZSIpOwotICAgICAgICB9Ci0gICAgICAgIGlmIChQeURpY3RfU2V0SXRlbVN0cmluZyhkLCAiX19idWlsdGluc19fIiwgYmltb2QpIDwgMCkgewotICAgICAgICAgICAgUHlfRmF0YWxFcnJvcigiRmFpbGVkIHRvIGluaXRpYWxpemUgX19tYWluX18uX19idWlsdGluc19fIik7Ci0gICAgICAgIH0KLSAgICAgICAgUHlfREVDUkVGKGJpbW9kKTsKLSAgICB9Ci0gICAgLyogTWFpbiBpcyBhIGxpdHRsZSBzcGVjaWFsIC0gaW1wLmlzX2J1aWx0aW4oIl9fbWFpbl9fIikgd2lsbCByZXR1cm4KLSAgICAgKiBGYWxzZSwgYnV0IEJ1aWx0aW5JbXBvcnRlciBpcyBzdGlsbCB0aGUgbW9zdCBhcHByb3ByaWF0ZSBpbml0aWFsCi0gICAgICogc2V0dGluZyBmb3IgaXRzIF9fbG9hZGVyX18gYXR0cmlidXRlLiBBIG1vcmUgc3VpdGFibGUgdmFsdWUgd2lsbAotICAgICAqIGJlIHNldCBpZiBfX21haW5fXyBnZXRzIGZ1cnRoZXIgaW5pdGlhbGl6ZWQgbGF0ZXIgaW4gdGhlIHN0YXJ0dXAKLSAgICAgKiBwcm9jZXNzLgotICAgICAqLwotICAgIGxvYWRlciA9IFB5RGljdF9HZXRJdGVtU3RyaW5nKGQsICJfX2xvYWRlcl9fIik7Ci0gICAgaWYgKGxvYWRlciA9PSBOVUxMIHx8IGxvYWRlciA9PSBQeV9Ob25lKSB7Ci0gICAgICAgIFB5T2JqZWN0ICpsb2FkZXIgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKGludGVycC0+aW1wb3J0bGliLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQnVpbHRpbkltcG9ydGVyIik7Ci0gICAgICAgIGlmIChsb2FkZXIgPT0gTlVMTCkgewotICAgICAgICAgICAgUHlfRmF0YWxFcnJvcigiRmFpbGVkIHRvIHJldHJpZXZlIEJ1aWx0aW5JbXBvcnRlciIpOwotICAgICAgICB9Ci0gICAgICAgIGlmIChQeURpY3RfU2V0SXRlbVN0cmluZyhkLCAiX19sb2FkZXJfXyIsIGxvYWRlcikgPCAwKSB7Ci0gICAgICAgICAgICBQeV9GYXRhbEVycm9yKCJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBfX21haW5fXy5fX2xvYWRlcl9fIik7Ci0gICAgICAgIH0KLSAgICAgICAgUHlfREVDUkVGKGxvYWRlcik7Ci0gICAgfQotfQotCi1zdGF0aWMgaW50Ci1pbml0ZnNlbmNvZGluZyhQeUludGVycHJldGVyU3RhdGUgKmludGVycCkKLXsKLSAgICBQeU9iamVjdCAqY29kZWM7Ci0KLSAgICBpZiAoUHlfRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZyA9PSBOVUxMKQotICAgIHsKLSAgICAgICAgUHlfRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZyA9IGdldF9sb2NhbGVfZW5jb2RpbmcoKTsKLSAgICAgICAgaWYgKFB5X0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2RpbmcgPT0gTlVMTCkKLSAgICAgICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IFVuYWJsZSB0byBnZXQgdGhlIGxvY2FsZSBlbmNvZGluZyIpOwotCi0gICAgICAgIFB5X0hhc0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2RpbmcgPSAwOwotICAgICAgICBpbnRlcnAtPmZzY29kZWNfaW5pdGlhbGl6ZWQgPSAxOwotICAgICAgICByZXR1cm4gMDsKLSAgICB9Ci0KLSAgICAvKiB0aGUgZW5jb2RpbmcgaXMgbWJjcywgdXRmLTggb3IgYXNjaWkgKi8KLSAgICBjb2RlYyA9IF9QeUNvZGVjX0xvb2t1cChQeV9GaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nKTsKLSAgICBpZiAoIWNvZGVjKSB7Ci0gICAgICAgIC8qIFN1Y2ggZXJyb3IgY2FuIG9ubHkgb2NjdXJzIGluIGNyaXRpY2FsIHNpdHVhdGlvbnM6IG5vIG1vcmUKLSAgICAgICAgICogbWVtb3J5LCBpbXBvcnQgYSBtb2R1bGUgb2YgdGhlIHN0YW5kYXJkIGxpYnJhcnkgZmFpbGVkLAotICAgICAgICAgKiBldGMuICovCi0gICAgICAgIHJldHVybiAtMTsKLSAgICB9Ci0gICAgUHlfREVDUkVGKGNvZGVjKTsKLSAgICBpbnRlcnAtPmZzY29kZWNfaW5pdGlhbGl6ZWQgPSAxOwotICAgIHJldHVybiAwOwotfQotCi0vKiBJbXBvcnQgdGhlIHNpdGUgbW9kdWxlIChub3QgaW50byBfX21haW5fXyB0aG91Z2gpICovCi0KLXN0YXRpYyB2b2lkCi1pbml0c2l0ZSh2b2lkKQotewotICAgIFB5T2JqZWN0ICptOwotICAgIG0gPSBQeUltcG9ydF9JbXBvcnRNb2R1bGUoInNpdGUiKTsKLSAgICBpZiAobSA9PSBOVUxMKSB7Ci0gICAgICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIGltcG9ydCB0aGUgc2l0ZSBtb2R1bGVcbiIpOwotICAgICAgICBQeUVycl9QcmludCgpOwotICAgICAgICBQeV9GaW5hbGl6ZSgpOwotICAgICAgICBleGl0KDEpOwotICAgIH0KLSAgICBlbHNlIHsKLSAgICAgICAgUHlfREVDUkVGKG0pOwotICAgIH0KLX0KLQotc3RhdGljIFB5T2JqZWN0KgotY3JlYXRlX3N0ZGlvKFB5T2JqZWN0KiBpbywKLSAgICBpbnQgZmQsIGludCB3cml0ZV9tb2RlLCBjaGFyKiBuYW1lLAotICAgIGNoYXIqIGVuY29kaW5nLCBjaGFyKiBlcnJvcnMpCi17Ci0gICAgUHlPYmplY3QgKmJ1ZiA9IE5VTEwsICpzdHJlYW0gPSBOVUxMLCAqdGV4dCA9IE5VTEwsICpyYXcgPSBOVUxMLCAqcmVzOwotICAgIGNvbnN0IGNoYXIqIG1vZGU7Ci0gICAgY29uc3QgY2hhciogbmV3bGluZTsKLSAgICBQeU9iamVjdCAqbGluZV9idWZmZXJpbmc7Ci0gICAgaW50IGJ1ZmZlcmluZywgaXNhdHR5OwotICAgIF9QeV9JREVOVElGSUVSKG9wZW4pOwotICAgIF9QeV9JREVOVElGSUVSKGlzYXR0eSk7Ci0gICAgX1B5X0lERU5USUZJRVIoVGV4dElPV3JhcHBlcik7Ci0gICAgX1B5X0lERU5USUZJRVIobW9kZSk7Ci0KLSAgICAvKiBzdGRpbiBpcyBhbHdheXMgb3BlbmVkIGluIGJ1ZmZlcmVkIG1vZGUsIGZpcnN0IGJlY2F1c2UgaXQgc2hvdWxkbid0Ci0gICAgICAgbWFrZSBhIGRpZmZlcmVuY2UgaW4gY29tbW9uIHVzZSBjYXNlcywgc2Vjb25kIGJlY2F1c2UgVGV4dElPV3JhcHBlcgotICAgICAgIGRlcGVuZHMgb24gdGhlIHByZXNlbmNlIG9mIGEgcmVhZDEoKSBtZXRob2Qgd2hpY2ggb25seSBleGlzdHMgb24KLSAgICAgICBidWZmZXJlZCBzdHJlYW1zLgotICAgICovCi0gICAgaWYgKFB5X1VuYnVmZmVyZWRTdGRpb0ZsYWcgJiYgd3JpdGVfbW9kZSkKLSAgICAgICAgYnVmZmVyaW5nID0gMDsKLSAgICBlbHNlCi0gICAgICAgIGJ1ZmZlcmluZyA9IC0xOwotICAgIGlmICh3cml0ZV9tb2RlKQotICAgICAgICBtb2RlID0gIndiIjsKLSAgICBlbHNlCi0gICAgICAgIG1vZGUgPSAicmIiOwotICAgIGJ1ZiA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQoaW8sICZQeUlkX29wZW4sICJpc2lPT09pIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkLCBtb2RlLCBidWZmZXJpbmcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9Ob25lLCBQeV9Ob25lLCBQeV9Ob25lLCAwKTsKLSAgICBpZiAoYnVmID09IE5VTEwpCi0gICAgICAgIGdvdG8gZXJyb3I7Ci0KLSAgICBpZiAoYnVmZmVyaW5nKSB7Ci0gICAgICAgIF9QeV9JREVOVElGSUVSKHJhdyk7Ci0gICAgICAgIHJhdyA9IF9QeU9iamVjdF9HZXRBdHRySWQoYnVmLCAmUHlJZF9yYXcpOwotICAgICAgICBpZiAocmF3ID09IE5VTEwpCi0gICAgICAgICAgICBnb3RvIGVycm9yOwotICAgIH0KLSAgICBlbHNlIHsKLSAgICAgICAgcmF3ID0gYnVmOwotICAgICAgICBQeV9JTkNSRUYocmF3KTsKLSAgICB9Ci0KLSAgICB0ZXh0ID0gUHlVbmljb2RlX0Zyb21TdHJpbmcobmFtZSk7Ci0gICAgaWYgKHRleHQgPT0gTlVMTCB8fCBfUHlPYmplY3RfU2V0QXR0cklkKHJhdywgJlB5SWRfbmFtZSwgdGV4dCkgPCAwKQotICAgICAgICBnb3RvIGVycm9yOwotICAgIHJlcyA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQocmF3LCAmUHlJZF9pc2F0dHksICIiKTsKLSAgICBpZiAocmVzID09IE5VTEwpCi0gICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgaXNhdHR5ID0gUHlPYmplY3RfSXNUcnVlKHJlcyk7Ci0gICAgUHlfREVDUkVGKHJlcyk7Ci0gICAgaWYgKGlzYXR0eSA9PSAtMSkKLSAgICAgICAgZ290byBlcnJvcjsKLSAgICBpZiAoaXNhdHR5IHx8IFB5X1VuYnVmZmVyZWRTdGRpb0ZsYWcpCi0gICAgICAgIGxpbmVfYnVmZmVyaW5nID0gUHlfVHJ1ZTsKLSAgICBlbHNlCi0gICAgICAgIGxpbmVfYnVmZmVyaW5nID0gUHlfRmFsc2U7Ci0KLSAgICBQeV9DTEVBUihyYXcpOwotICAgIFB5X0NMRUFSKHRleHQpOwotCi0jaWZkZWYgTVNfV0lORE9XUwotICAgIC8qIHN5cy5zdGRpbjogZW5hYmxlIHVuaXZlcnNhbCBuZXdsaW5lIG1vZGUsIHRyYW5zbGF0ZSAiXHJcbiIgYW5kICJcciIKLSAgICAgICBuZXdsaW5lcyB0byAiXG4iLgotICAgICAgIHN5cy5zdGRvdXQgYW5kIHN5cy5zdGRlcnI6IHRyYW5zbGF0ZSAiXG4iIHRvICJcclxuIi4gKi8KLSAgICBuZXdsaW5lID0gTlVMTDsKLSNlbHNlCi0gICAgLyogc3lzLnN0ZGluOiBzcGxpdCBsaW5lcyBhdCAiXG4iLgotICAgICAgIHN5cy5zdGRvdXQgYW5kIHN5cy5zdGRlcnI6IGRvbid0IHRyYW5zbGF0ZSBuZXdsaW5lcyAodXNlICJcbiIpLiAqLwotICAgIG5ld2xpbmUgPSAiXG4iOwotI2VuZGlmCi0KLSAgICBzdHJlYW0gPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKGlvLCAmUHlJZF9UZXh0SU9XcmFwcGVyLCAiT3Nzc08iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmLCBlbmNvZGluZywgZXJyb3JzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3bGluZSwgbGluZV9idWZmZXJpbmcpOwotICAgIFB5X0NMRUFSKGJ1Zik7Ci0gICAgaWYgKHN0cmVhbSA9PSBOVUxMKQotICAgICAgICBnb3RvIGVycm9yOwotCi0gICAgaWYgKHdyaXRlX21vZGUpCi0gICAgICAgIG1vZGUgPSAidyI7Ci0gICAgZWxzZQotICAgICAgICBtb2RlID0gInIiOwotICAgIHRleHQgPSBQeVVuaWNvZGVfRnJvbVN0cmluZyhtb2RlKTsKLSAgICBpZiAoIXRleHQgfHwgX1B5T2JqZWN0X1NldEF0dHJJZChzdHJlYW0sICZQeUlkX21vZGUsIHRleHQpIDwgMCkKLSAgICAgICAgZ290byBlcnJvcjsKLSAgICBQeV9DTEVBUih0ZXh0KTsKLSAgICByZXR1cm4gc3RyZWFtOwotCi1lcnJvcjoKLSAgICBQeV9YREVDUkVGKGJ1Zik7Ci0gICAgUHlfWERFQ1JFRihzdHJlYW0pOwotICAgIFB5X1hERUNSRUYodGV4dCk7Ci0gICAgUHlfWERFQ1JFRihyYXcpOwotICAgIHJldHVybiBOVUxMOwotfQotCi1zdGF0aWMgaW50Ci1pc192YWxpZF9mZChpbnQgZmQpCi17Ci0gICAgaW50IGR1bW15X2ZkOwotICAgIGlmIChmZCA8IDAgfHwgIV9QeVZlcmlmeV9mZChmZCkpCi0gICAgICAgIHJldHVybiAwOwotICAgIGR1bW15X2ZkID0gZHVwKGZkKTsKLSAgICBpZiAoZHVtbXlfZmQgPCAwKQotICAgICAgICByZXR1cm4gMDsKLSAgICBjbG9zZShkdW1teV9mZCk7Ci0gICAgcmV0dXJuIDE7Ci19Ci0KLS8qIEluaXRpYWxpemUgc3lzLnN0ZGluLCBzdGRvdXQsIHN0ZGVyciBhbmQgYnVpbHRpbnMub3BlbiAqLwotc3RhdGljIGludAotaW5pdHN0ZGlvKHZvaWQpCi17Ci0gICAgUHlPYmplY3QgKmlvbW9kID0gTlVMTCwgKndyYXBwZXI7Ci0gICAgUHlPYmplY3QgKmJpbW9kID0gTlVMTDsKLSAgICBQeU9iamVjdCAqbTsKLSAgICBQeU9iamVjdCAqc3RkID0gTlVMTDsKLSAgICBpbnQgc3RhdHVzID0gMCwgZmQ7Ci0gICAgUHlPYmplY3QgKiBlbmNvZGluZ19hdHRyOwotICAgIGNoYXIgKnB5dGhvbmlvZW5jb2RpbmcgPSBOVUxMLCAqZW5jb2RpbmcsICplcnJvcnM7Ci0KLSAgICAvKiBIYWNrIHRvIGF2b2lkIGEgbmFzdHkgcmVjdXJzaW9uIGlzc3VlIHdoZW4gUHl0aG9uIGlzIGludm9rZWQKLSAgICAgICBpbiB2ZXJib3NlIG1vZGU6IHByZS1pbXBvcnQgdGhlIExhdGluLTEgYW5kIFVURi04IGNvZGVjcyAqLwotICAgIGlmICgobSA9IFB5SW1wb3J0X0ltcG9ydE1vZHVsZSgiZW5jb2RpbmdzLnV0Zl84IikpID09IE5VTEwpIHsKLSAgICAgICAgZ290byBlcnJvcjsKLSAgICB9Ci0gICAgUHlfREVDUkVGKG0pOwotCi0gICAgaWYgKCEobSA9IFB5SW1wb3J0X0ltcG9ydE1vZHVsZSgiZW5jb2RpbmdzLmxhdGluXzEiKSkpIHsKLSAgICAgICAgZ290byBlcnJvcjsKLSAgICB9Ci0gICAgUHlfREVDUkVGKG0pOwotCi0gICAgaWYgKCEoYmltb2QgPSBQeUltcG9ydF9JbXBvcnRNb2R1bGUoImJ1aWx0aW5zIikpKSB7Ci0gICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgfQotCi0gICAgaWYgKCEoaW9tb2QgPSBQeUltcG9ydF9JbXBvcnRNb2R1bGUoImlvIikpKSB7Ci0gICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgfQotICAgIGlmICghKHdyYXBwZXIgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKGlvbW9kLCAiT3BlbldyYXBwZXIiKSkpIHsKLSAgICAgICAgZ290byBlcnJvcjsKLSAgICB9Ci0KLSAgICAvKiBTZXQgYnVpbHRpbnMub3BlbiAqLwotICAgIGlmIChQeU9iamVjdF9TZXRBdHRyU3RyaW5nKGJpbW9kLCAib3BlbiIsIHdyYXBwZXIpID09IC0xKSB7Ci0gICAgICAgIFB5X0RFQ1JFRih3cmFwcGVyKTsKLSAgICAgICAgZ290byBlcnJvcjsKLSAgICB9Ci0gICAgUHlfREVDUkVGKHdyYXBwZXIpOwotCi0gICAgZW5jb2RpbmcgPSBfUHlfU3RhbmRhcmRTdHJlYW1FbmNvZGluZzsKLSAgICBlcnJvcnMgPSBfUHlfU3RhbmRhcmRTdHJlYW1FcnJvcnM7Ci0gICAgaWYgKCFlbmNvZGluZyB8fCAhZXJyb3JzKSB7Ci0gICAgICAgIHB5dGhvbmlvZW5jb2RpbmcgPSBQeV9HRVRFTlYoIlBZVEhPTklPRU5DT0RJTkciKTsKLSAgICAgICAgaWYgKHB5dGhvbmlvZW5jb2RpbmcpIHsKLSAgICAgICAgICAgIGNoYXIgKmVycjsKLSAgICAgICAgICAgIHB5dGhvbmlvZW5jb2RpbmcgPSBfUHlNZW1fU3RyZHVwKHB5dGhvbmlvZW5jb2RpbmcpOwotICAgICAgICAgICAgaWYgKHB5dGhvbmlvZW5jb2RpbmcgPT0gTlVMTCkgewotICAgICAgICAgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7Ci0gICAgICAgICAgICAgICAgZ290byBlcnJvcjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGVyciA9IHN0cmNocihweXRob25pb2VuY29kaW5nLCAnOicpOwotICAgICAgICAgICAgaWYgKGVycikgewotICAgICAgICAgICAgICAgICplcnIgPSAnXDAnOwotICAgICAgICAgICAgICAgIGVycisrOwotICAgICAgICAgICAgICAgIGlmICgqZXJyICYmICFlcnJvcnMpIHsKLSAgICAgICAgICAgICAgICAgICAgZXJyb3JzID0gZXJyOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmICgqcHl0aG9uaW9lbmNvZGluZyAmJiAhZW5jb2RpbmcpIHsKLSAgICAgICAgICAgICAgICBlbmNvZGluZyA9IHB5dGhvbmlvZW5jb2Rpbmc7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICAvKiBTZXQgc3lzLnN0ZGluICovCi0gICAgZmQgPSBmaWxlbm8oc3RkaW4pOwotICAgIC8qIFVuZGVyIHNvbWUgY29uZGl0aW9ucyBzdGRpbiwgc3Rkb3V0IGFuZCBzdGRlcnIgbWF5IG5vdCBiZSBjb25uZWN0ZWQKLSAgICAgKiBhbmQgZmlsZW5vKCkgbWF5IHBvaW50IHRvIGFuIGludmFsaWQgZmlsZSBkZXNjcmlwdG9yLiBGb3IgZXhhbXBsZQotICAgICAqIEdVSSBhcHBzIGRvbid0IGhhdmUgdmFsaWQgc3RhbmRhcmQgc3RyZWFtcyBieSBkZWZhdWx0LgotICAgICAqLwotICAgIGlmICghaXNfdmFsaWRfZmQoZmQpKSB7Ci0gICAgICAgIHN0ZCA9IFB5X05vbmU7Ci0gICAgICAgIFB5X0lOQ1JFRihzdGQpOwotICAgIH0KLSAgICBlbHNlIHsKLSAgICAgICAgc3RkID0gY3JlYXRlX3N0ZGlvKGlvbW9kLCBmZCwgMCwgIjxzdGRpbj4iLCBlbmNvZGluZywgZXJyb3JzKTsKLSAgICAgICAgaWYgKHN0ZCA9PSBOVUxMKQotICAgICAgICAgICAgZ290byBlcnJvcjsKLSAgICB9IC8qIGlmIChmZCA8IDApICovCi0gICAgUHlTeXNfU2V0T2JqZWN0KCJfX3N0ZGluX18iLCBzdGQpOwotICAgIF9QeVN5c19TZXRPYmplY3RJZCgmUHlJZF9zdGRpbiwgc3RkKTsKLSAgICBQeV9ERUNSRUYoc3RkKTsKLQotICAgIC8qIFNldCBzeXMuc3Rkb3V0ICovCi0gICAgZmQgPSBmaWxlbm8oc3Rkb3V0KTsKLSAgICBpZiAoIWlzX3ZhbGlkX2ZkKGZkKSkgewotICAgICAgICBzdGQgPSBQeV9Ob25lOwotICAgICAgICBQeV9JTkNSRUYoc3RkKTsKLSAgICB9Ci0gICAgZWxzZSB7Ci0gICAgICAgIHN0ZCA9IGNyZWF0ZV9zdGRpbyhpb21vZCwgZmQsIDEsICI8c3Rkb3V0PiIsIGVuY29kaW5nLCBlcnJvcnMpOwotICAgICAgICBpZiAoc3RkID09IE5VTEwpCi0gICAgICAgICAgICBnb3RvIGVycm9yOwotICAgIH0gLyogaWYgKGZkIDwgMCkgKi8KLSAgICBQeVN5c19TZXRPYmplY3QoIl9fc3Rkb3V0X18iLCBzdGQpOwotICAgIF9QeVN5c19TZXRPYmplY3RJZCgmUHlJZF9zdGRvdXQsIHN0ZCk7Ci0gICAgUHlfREVDUkVGKHN0ZCk7Ci0KLSNpZiAxIC8qIERpc2FibGUgdGhpcyBpZiB5b3UgaGF2ZSB0cm91YmxlIGRlYnVnZ2luZyBib290c3RyYXAgc3R1ZmYgKi8KLSAgICAvKiBTZXQgc3lzLnN0ZGVyciwgcmVwbGFjZXMgdGhlIHByZWxpbWluYXJ5IHN0ZGVyciAqLwotICAgIGZkID0gZmlsZW5vKHN0ZGVycik7Ci0gICAgaWYgKCFpc192YWxpZF9mZChmZCkpIHsKLSAgICAgICAgc3RkID0gUHlfTm9uZTsKLSAgICAgICAgUHlfSU5DUkVGKHN0ZCk7Ci0gICAgfQotICAgIGVsc2UgewotICAgICAgICBzdGQgPSBjcmVhdGVfc3RkaW8oaW9tb2QsIGZkLCAxLCAiPHN0ZGVycj4iLCBlbmNvZGluZywgImJhY2tzbGFzaHJlcGxhY2UiKTsKLSAgICAgICAgaWYgKHN0ZCA9PSBOVUxMKQotICAgICAgICAgICAgZ290byBlcnJvcjsKLSAgICB9IC8qIGlmIChmZCA8IDApICovCi0KLSAgICAvKiBTYW1lIGFzIGhhY2sgYWJvdmUsIHByZS1pbXBvcnQgc3RkZXJyJ3MgY29kZWMgdG8gYXZvaWQgcmVjdXJzaW9uCi0gICAgICAgd2hlbiBpbXBvcnQuYyB0cmllcyB0byB3cml0ZSB0byBzdGRlcnIgaW4gdmVyYm9zZSBtb2RlLiAqLwotICAgIGVuY29kaW5nX2F0dHIgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKHN0ZCwgImVuY29kaW5nIik7Ci0gICAgaWYgKGVuY29kaW5nX2F0dHIgIT0gTlVMTCkgewotICAgICAgICBjb25zdCBjaGFyICogc3RkX2VuY29kaW5nOwotICAgICAgICBzdGRfZW5jb2RpbmcgPSBfUHlVbmljb2RlX0FzU3RyaW5nKGVuY29kaW5nX2F0dHIpOwotICAgICAgICBpZiAoc3RkX2VuY29kaW5nICE9IE5VTEwpIHsKLSAgICAgICAgICAgIFB5T2JqZWN0ICpjb2RlY19pbmZvID0gX1B5Q29kZWNfTG9va3VwKHN0ZF9lbmNvZGluZyk7Ci0gICAgICAgICAgICBQeV9YREVDUkVGKGNvZGVjX2luZm8pOwotICAgICAgICB9Ci0gICAgICAgIFB5X0RFQ1JFRihlbmNvZGluZ19hdHRyKTsKLSAgICB9Ci0gICAgUHlFcnJfQ2xlYXIoKTsgIC8qIE5vdCBhIGZhdGFsIGVycm9yIGlmIGNvZGVjIGlzbid0IGF2YWlsYWJsZSAqLwotCi0gICAgaWYgKFB5U3lzX1NldE9iamVjdCgiX19zdGRlcnJfXyIsIHN0ZCkgPCAwKSB7Ci0gICAgICAgIFB5X0RFQ1JFRihzdGQpOwotICAgICAgICBnb3RvIGVycm9yOwotICAgIH0KLSAgICBpZiAoX1B5U3lzX1NldE9iamVjdElkKCZQeUlkX3N0ZGVyciwgc3RkKSA8IDApIHsKLSAgICAgICAgUHlfREVDUkVGKHN0ZCk7Ci0gICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgfQotICAgIFB5X0RFQ1JFRihzdGQpOwotI2VuZGlmCi0KLSAgICBpZiAoMCkgewotICBlcnJvcjoKLSAgICAgICAgc3RhdHVzID0gLTE7Ci0gICAgfQotCi0gICAgLyogV2Ugd29uJ3QgbmVlZCB0aGVtIGFueW1vcmUuICovCi0gICAgaWYgKF9QeV9TdGFuZGFyZFN0cmVhbUVuY29kaW5nKSB7Ci0gICAgICAgIFB5TWVtX1Jhd0ZyZWUoX1B5X1N0YW5kYXJkU3RyZWFtRW5jb2RpbmcpOwotICAgICAgICBfUHlfU3RhbmRhcmRTdHJlYW1FbmNvZGluZyA9IE5VTEw7Ci0gICAgfQotICAgIGlmIChfUHlfU3RhbmRhcmRTdHJlYW1FcnJvcnMpIHsKLSAgICAgICAgUHlNZW1fUmF3RnJlZShfUHlfU3RhbmRhcmRTdHJlYW1FcnJvcnMpOwotICAgICAgICBfUHlfU3RhbmRhcmRTdHJlYW1FcnJvcnMgPSBOVUxMOwotICAgIH0KLSAgICBQeU1lbV9GcmVlKHB5dGhvbmlvZW5jb2RpbmcpOwotICAgIFB5X1hERUNSRUYoYmltb2QpOwotICAgIFB5X1hERUNSRUYoaW9tb2QpOwotICAgIHJldHVybiBzdGF0dXM7Ci19CiAKIC8qIFBhcnNlIGlucHV0IGZyb20gYSBmaWxlIGFuZCBleGVjdXRlIGl0ICovCiAKQEAgLTEzMjIsNyArMTEwLDcgQEAKICAgICBlcnIgPSAtMTsKICAgICBmb3IgKDs7KSB7CiAgICAgICAgIHJldCA9IFB5UnVuX0ludGVyYWN0aXZlT25lT2JqZWN0KGZwLCBmaWxlbmFtZSwgZmxhZ3MpOwotICAgICAgICBQUklOVF9UT1RBTF9SRUZTKCk7CisgICAgICAgIF9QWV9ERUJVR19QUklOVF9UT1RBTF9SRUZTKCk7CiAgICAgICAgIGlmIChyZXQgPT0gRV9FT0YpIHsKICAgICAgICAgICAgIGVyciA9IDA7CiAgICAgICAgICAgICBicmVhazsKQEAgLTE3MjksNyArNTE3LDcgQEAKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKG9mZnNldCA+PSAwKSB7Ci0gICAgICAgIGlmIChvZmZzZXQgPiAwICYmIG9mZnNldCA9PSBzdHJsZW4odGV4dCkgJiYgdGV4dFtvZmZzZXQgLSAxXSA9PSAnXG4nKQorICAgICAgICBpZiAob2Zmc2V0ID4gMCAmJiAoc2l6ZV90KW9mZnNldCA9PSBzdHJsZW4odGV4dCkgJiYgdGV4dFtvZmZzZXQgLSAxXSA9PSAnXG4nKQogICAgICAgICAgICAgb2Zmc2V0LS07CiAgICAgICAgIGZvciAoOzspIHsKICAgICAgICAgICAgIG5sID0gc3RyY2hyKHRleHQsICdcbicpOwpAQCAtMjU4NywxOTIgKzEzNzUsNiBAQAogICAgIH0KIH0KIAotLyogUHJpbnQgZmF0YWwgZXJyb3IgbWVzc2FnZSBhbmQgYWJvcnQgKi8KLQotdm9pZAotUHlfRmF0YWxFcnJvcihjb25zdCBjaGFyICptc2cpCi17Ci0gICAgY29uc3QgaW50IGZkID0gZmlsZW5vKHN0ZGVycik7Ci0gICAgUHlUaHJlYWRTdGF0ZSAqdHN0YXRlOwotCi0gICAgZnByaW50ZihzdGRlcnIsICJGYXRhbCBQeXRob24gZXJyb3I6ICVzXG4iLCBtc2cpOwotICAgIGZmbHVzaChzdGRlcnIpOyAvKiBpdCBoZWxwcyBpbiBXaW5kb3dzIGRlYnVnIGJ1aWxkICovCi0gICAgaWYgKFB5RXJyX09jY3VycmVkKCkpIHsKLSAgICAgICAgUHlFcnJfUHJpbnRFeCgwKTsKLSAgICB9Ci0gICAgZWxzZSB7Ci0gICAgICAgIHRzdGF0ZSA9IF9QeV9hdG9taWNfbG9hZF9yZWxheGVkKCZfUHlUaHJlYWRTdGF0ZV9DdXJyZW50KTsKLSAgICAgICAgaWYgKHRzdGF0ZSAhPSBOVUxMKSB7Ci0gICAgICAgICAgICBmcHV0YygnXG4nLCBzdGRlcnIpOwotICAgICAgICAgICAgZmZsdXNoKHN0ZGVycik7Ci0gICAgICAgICAgICBfUHlfRHVtcFRyYWNlYmFja1RocmVhZHMoZmQsIHRzdGF0ZS0+aW50ZXJwLCB0c3RhdGUpOwotICAgICAgICB9Ci0gICAgICAgIF9QeUZhdWx0aGFuZGxlcl9GaW5pKCk7Ci0gICAgfQotCi0jaWZkZWYgTVNfV0lORE9XUwotICAgIHsKLSAgICAgICAgc2l6ZV90IGxlbiA9IHN0cmxlbihtc2cpOwotICAgICAgICBXQ0hBUiogYnVmZmVyOwotICAgICAgICBzaXplX3QgaTsKLQotICAgICAgICAvKiBDb252ZXJ0IHRoZSBtZXNzYWdlIHRvIHdjaGFyX3QuIFRoaXMgdXNlcyBhIHNpbXBsZSBvbmUtdG8tb25lCi0gICAgICAgIGNvbnZlcnNpb24sIGFzc3VtaW5nIHRoYXQgdGhlIHRoaXMgZXJyb3IgbWVzc2FnZSBhY3R1YWxseSB1c2VzIEFTQ0lJCi0gICAgICAgIG9ubHkuIElmIHRoaXMgY2Vhc2VzIHRvIGJlIHRydWUsIHdlIHdpbGwgaGF2ZSB0byBjb252ZXJ0LiAqLwotICAgICAgICBidWZmZXIgPSBhbGxvY2EoIChsZW4rMSkgKiAoc2l6ZW9mICpidWZmZXIpKTsKLSAgICAgICAgZm9yKCBpPTA7IGk8PWxlbjsgKytpKQotICAgICAgICAgICAgYnVmZmVyW2ldID0gbXNnW2ldOwotICAgICAgICBPdXRwdXREZWJ1Z1N0cmluZ1coTCJGYXRhbCBQeXRob24gZXJyb3I6ICIpOwotICAgICAgICBPdXRwdXREZWJ1Z1N0cmluZ1coYnVmZmVyKTsKLSAgICAgICAgT3V0cHV0RGVidWdTdHJpbmdXKEwiXG4iKTsKLSAgICB9Ci0jaWZkZWYgX0RFQlVHCi0gICAgRGVidWdCcmVhaygpOwotI2VuZGlmCi0jZW5kaWYgLyogTVNfV0lORE9XUyAqLwotICAgIGFib3J0KCk7Ci19Ci0KLS8qIENsZWFuIHVwIGFuZCBleGl0ICovCi0KLSNpZmRlZiBXSVRIX1RIUkVBRAotI2luY2x1ZGUgInB5dGhyZWFkLmgiCi0jZW5kaWYKLQotc3RhdGljIHZvaWQgKCpweWV4aXRmdW5jKSh2b2lkKSA9IE5VTEw7Ci0vKiBGb3IgdGhlIGF0ZXhpdCBtb2R1bGUuICovCi12b2lkIF9QeV9QeUF0RXhpdCh2b2lkICgqZnVuYykodm9pZCkpCi17Ci0gICAgcHlleGl0ZnVuYyA9IGZ1bmM7Ci19Ci0KLXN0YXRpYyB2b2lkCi1jYWxsX3B5X2V4aXRmdW5jcyh2b2lkKQotewotICAgIGlmIChweWV4aXRmdW5jID09IE5VTEwpCi0gICAgICAgIHJldHVybjsKLQotICAgICgqcHlleGl0ZnVuYykoKTsKLSAgICBQeUVycl9DbGVhcigpOwotfQotCi0vKiBXYWl0IHVudGlsIHRocmVhZGluZy5fc2h1dGRvd24gY29tcGxldGVzLCBwcm92aWRlZAotICAgdGhlIHRocmVhZGluZyBtb2R1bGUgd2FzIGltcG9ydGVkIGluIHRoZSBmaXJzdCBwbGFjZS4KLSAgIFRoZSBzaHV0ZG93biByb3V0aW5lIHdpbGwgd2FpdCB1bnRpbCBhbGwgbm9uLWRhZW1vbgotICAgInRocmVhZGluZyIgdGhyZWFkcyBoYXZlIGNvbXBsZXRlZC4gKi8KLXN0YXRpYyB2b2lkCi13YWl0X2Zvcl90aHJlYWRfc2h1dGRvd24odm9pZCkKLXsKLSNpZmRlZiBXSVRIX1RIUkVBRAotICAgIF9QeV9JREVOVElGSUVSKF9zaHV0ZG93bik7Ci0gICAgUHlPYmplY3QgKnJlc3VsdDsKLSAgICBQeVRocmVhZFN0YXRlICp0c3RhdGUgPSBQeVRocmVhZFN0YXRlX0dFVCgpOwotICAgIFB5T2JqZWN0ICp0aHJlYWRpbmcgPSBQeU1hcHBpbmdfR2V0SXRlbVN0cmluZyh0c3RhdGUtPmludGVycC0+bW9kdWxlcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRocmVhZGluZyIpOwotICAgIGlmICh0aHJlYWRpbmcgPT0gTlVMTCkgewotICAgICAgICAvKiB0aHJlYWRpbmcgbm90IGltcG9ydGVkICovCi0gICAgICAgIFB5RXJyX0NsZWFyKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgcmVzdWx0ID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZCh0aHJlYWRpbmcsICZQeUlkX19zaHV0ZG93biwgIiIpOwotICAgIGlmIChyZXN1bHQgPT0gTlVMTCkgewotICAgICAgICBQeUVycl9Xcml0ZVVucmFpc2FibGUodGhyZWFkaW5nKTsKLSAgICB9Ci0gICAgZWxzZSB7Ci0gICAgICAgIFB5X0RFQ1JFRihyZXN1bHQpOwotICAgIH0KLSAgICBQeV9ERUNSRUYodGhyZWFkaW5nKTsKLSNlbmRpZgotfQotCi0jZGVmaW5lIE5FWElURlVOQ1MgMzIKLXN0YXRpYyB2b2lkICgqZXhpdGZ1bmNzW05FWElURlVOQ1NdKSh2b2lkKTsKLXN0YXRpYyBpbnQgbmV4aXRmdW5jcyA9IDA7Ci0KLWludCBQeV9BdEV4aXQodm9pZCAoKmZ1bmMpKHZvaWQpKQotewotICAgIGlmIChuZXhpdGZ1bmNzID49IE5FWElURlVOQ1MpCi0gICAgICAgIHJldHVybiAtMTsKLSAgICBleGl0ZnVuY3NbbmV4aXRmdW5jcysrXSA9IGZ1bmM7Ci0gICAgcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkCi1jYWxsX2xsX2V4aXRmdW5jcyh2b2lkKQotewotICAgIHdoaWxlIChuZXhpdGZ1bmNzID4gMCkKLSAgICAgICAgKCpleGl0ZnVuY3NbLS1uZXhpdGZ1bmNzXSkoKTsKLQotICAgIGZmbHVzaChzdGRvdXQpOwotICAgIGZmbHVzaChzdGRlcnIpOwotfQotCi12b2lkCi1QeV9FeGl0KGludCBzdHMpCi17Ci0gICAgUHlfRmluYWxpemUoKTsKLQotICAgIGV4aXQoc3RzKTsKLX0KLQotc3RhdGljIHZvaWQKLWluaXRzaWdzKHZvaWQpCi17Ci0jaWZkZWYgU0lHUElQRQotICAgIFB5T1Nfc2V0c2lnKFNJR1BJUEUsIFNJR19JR04pOwotI2VuZGlmCi0jaWZkZWYgU0lHWEZaCi0gICAgUHlPU19zZXRzaWcoU0lHWEZaLCBTSUdfSUdOKTsKLSNlbmRpZgotI2lmZGVmIFNJR1hGU1oKLSAgICBQeU9TX3NldHNpZyhTSUdYRlNaLCBTSUdfSUdOKTsKLSNlbmRpZgotICAgIFB5T1NfSW5pdEludGVycnVwdHMoKTsgLyogTWF5IGltcGx5IGluaXRzaWduYWwoKSAqLwotICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKSB7Ci0gICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IGNhbid0IGltcG9ydCBzaWduYWwiKTsKLSAgICB9Ci19Ci0KLQotLyogUmVzdG9yZSBzaWduYWxzIHRoYXQgdGhlIGludGVycHJldGVyIGhhcyBjYWxsZWQgU0lHX0lHTiBvbiB0byBTSUdfREZMLgotICoKLSAqIEFsbCBvZiB0aGUgY29kZSBpbiB0aGlzIGZ1bmN0aW9uIG11c3Qgb25seSB1c2UgYXN5bmMtc2lnbmFsLXNhZmUgZnVuY3Rpb25zLAotICogbGlzdGVkIGF0IGBtYW4gNyBzaWduYWxgIG9yCi0gKiBodHRwOi8vd3d3Lm9wZW5ncm91cC5vcmcvb25saW5lcHVicy8wMDk2OTUzOTkvZnVuY3Rpb25zL3hzaF9jaGFwMDJfMDQuaHRtbC4KLSAqLwotdm9pZAotX1B5X1Jlc3RvcmVTaWduYWxzKHZvaWQpCi17Ci0jaWZkZWYgU0lHUElQRQotICAgIFB5T1Nfc2V0c2lnKFNJR1BJUEUsIFNJR19ERkwpOwotI2VuZGlmCi0jaWZkZWYgU0lHWEZaCi0gICAgUHlPU19zZXRzaWcoU0lHWEZaLCBTSUdfREZMKTsKLSNlbmRpZgotI2lmZGVmIFNJR1hGU1oKLSAgICBQeU9TX3NldHNpZyhTSUdYRlNaLCBTSUdfREZMKTsKLSNlbmRpZgotfQotCi0KLS8qCi0gKiBUaGUgZmlsZSBkZXNjcmlwdG9yIGZkIGlzIGNvbnNpZGVyZWQgYGBpbnRlcmFjdGl2ZScnIGlmIGVpdGhlcgotICogICBhKSBpc2F0dHkoZmQpIGlzIFRSVUUsIG9yCi0gKiAgIGIpIHRoZSAtaSBmbGFnIHdhcyBnaXZlbiwgYW5kIHRoZSBmaWxlbmFtZSBhc3NvY2lhdGVkIHdpdGgKLSAqICAgICAgdGhlIGRlc2NyaXB0b3IgaXMgTlVMTCBvciAiPHN0ZGluPiIgb3IgIj8/PyIuCi0gKi8KLWludAotUHlfRmRJc0ludGVyYWN0aXZlKEZJTEUgKmZwLCBjb25zdCBjaGFyICpmaWxlbmFtZSkKLXsKLSAgICBpZiAoaXNhdHR5KChpbnQpZmlsZW5vKGZwKSkpCi0gICAgICAgIHJldHVybiAxOwotICAgIGlmICghUHlfSW50ZXJhY3RpdmVGbGFnKQotICAgICAgICByZXR1cm4gMDsKLSAgICByZXR1cm4gKGZpbGVuYW1lID09IE5VTEwpIHx8Ci0gICAgICAgICAgIChzdHJjbXAoZmlsZW5hbWUsICI8c3RkaW4+IikgPT0gMCkgfHwKLSAgICAgICAgICAgKHN0cmNtcChmaWxlbmFtZSwgIj8/PyIpID09IDApOwotfQotCiAKICNpZiBkZWZpbmVkKFVTRV9TVEFDS0NIRUNLKQogI2lmIGRlZmluZWQoV0lOMzIpICYmIGRlZmluZWQoX01TQ19WRVIpCkBAIC0yODExLDczICsxNDEzLDYgQEAKIAogI2VuZGlmIC8qIFVTRV9TVEFDS0NIRUNLICovCiAKLQotLyogV3JhcHBlcnMgYXJvdW5kIHNpZ2FjdGlvbigpIG9yIHNpZ25hbCgpLiAqLwotCi1QeU9TX3NpZ2hhbmRsZXJfdAotUHlPU19nZXRzaWcoaW50IHNpZykKLXsKLSNpZmRlZiBIQVZFX1NJR0FDVElPTgotICAgIHN0cnVjdCBzaWdhY3Rpb24gY29udGV4dDsKLSAgICBpZiAoc2lnYWN0aW9uKHNpZywgTlVMTCwgJmNvbnRleHQpID09IC0xKQotICAgICAgICByZXR1cm4gU0lHX0VSUjsKLSAgICByZXR1cm4gY29udGV4dC5zYV9oYW5kbGVyOwotI2Vsc2UKLSAgICBQeU9TX3NpZ2hhbmRsZXJfdCBoYW5kbGVyOwotLyogU3BlY2lhbCBzaWduYWwgaGFuZGxpbmcgZm9yIHRoZSBzZWN1cmUgQ1JUIGluIFZpc3VhbCBTdHVkaW8gMjAwNSAqLwotI2lmIGRlZmluZWQoX01TQ19WRVIpICYmIF9NU0NfVkVSID49IDE0MDAKLSAgICBzd2l0Y2ggKHNpZykgewotICAgIC8qIE9ubHkgdGhlc2Ugc2lnbmFscyBhcmUgdmFsaWQgKi8KLSAgICBjYXNlIFNJR0lOVDoKLSAgICBjYXNlIFNJR0lMTDoKLSAgICBjYXNlIFNJR0ZQRToKLSAgICBjYXNlIFNJR1NFR1Y6Ci0gICAgY2FzZSBTSUdURVJNOgotICAgIGNhc2UgU0lHQlJFQUs6Ci0gICAgY2FzZSBTSUdBQlJUOgotICAgICAgICBicmVhazsKLSAgICAvKiBEb24ndCBjYWxsIHNpZ25hbCgpIHdpdGggb3RoZXIgdmFsdWVzIG9yIGl0IHdpbGwgYXNzZXJ0ICovCi0gICAgZGVmYXVsdDoKLSAgICAgICAgcmV0dXJuIFNJR19FUlI7Ci0gICAgfQotI2VuZGlmIC8qIF9NU0NfVkVSICYmIF9NU0NfVkVSID49IDE0MDAgKi8KLSAgICBoYW5kbGVyID0gc2lnbmFsKHNpZywgU0lHX0lHTik7Ci0gICAgaWYgKGhhbmRsZXIgIT0gU0lHX0VSUikKLSAgICAgICAgc2lnbmFsKHNpZywgaGFuZGxlcik7Ci0gICAgcmV0dXJuIGhhbmRsZXI7Ci0jZW5kaWYKLX0KLQotLyoKLSAqIEFsbCBvZiB0aGUgY29kZSBpbiB0aGlzIGZ1bmN0aW9uIG11c3Qgb25seSB1c2UgYXN5bmMtc2lnbmFsLXNhZmUgZnVuY3Rpb25zLAotICogbGlzdGVkIGF0IGBtYW4gNyBzaWduYWxgIG9yCi0gKiBodHRwOi8vd3d3Lm9wZW5ncm91cC5vcmcvb25saW5lcHVicy8wMDk2OTUzOTkvZnVuY3Rpb25zL3hzaF9jaGFwMDJfMDQuaHRtbC4KLSAqLwotUHlPU19zaWdoYW5kbGVyX3QKLVB5T1Nfc2V0c2lnKGludCBzaWcsIFB5T1Nfc2lnaGFuZGxlcl90IGhhbmRsZXIpCi17Ci0jaWZkZWYgSEFWRV9TSUdBQ1RJT04KLSAgICAvKiBTb21lIGNvZGUgaW4gTW9kdWxlcy9zaWduYWxtb2R1bGUuYyBkZXBlbmRzIG9uIHNpZ2FjdGlvbigpIGJlaW5nCi0gICAgICogdXNlZCBoZXJlIGlmIEhBVkVfU0lHQUNUSU9OIGlzIGRlZmluZWQuICBGaXggdGhhdCBpZiB0aGlzIGNvZGUKLSAgICAgKiBjaGFuZ2VzIHRvIGludmFsaWRhdGUgdGhhdCBhc3N1bXB0aW9uLgotICAgICAqLwotICAgIHN0cnVjdCBzaWdhY3Rpb24gY29udGV4dCwgb2NvbnRleHQ7Ci0gICAgY29udGV4dC5zYV9oYW5kbGVyID0gaGFuZGxlcjsKLSAgICBzaWdlbXB0eXNldCgmY29udGV4dC5zYV9tYXNrKTsKLSAgICBjb250ZXh0LnNhX2ZsYWdzID0gMDsKLSAgICBpZiAoc2lnYWN0aW9uKHNpZywgJmNvbnRleHQsICZvY29udGV4dCkgPT0gLTEpCi0gICAgICAgIHJldHVybiBTSUdfRVJSOwotICAgIHJldHVybiBvY29udGV4dC5zYV9oYW5kbGVyOwotI2Vsc2UKLSAgICBQeU9TX3NpZ2hhbmRsZXJfdCBvbGRoYW5kbGVyOwotICAgIG9sZGhhbmRsZXIgPSBzaWduYWwoc2lnLCBoYW5kbGVyKTsKLSNpZmRlZiBIQVZFX1NJR0lOVEVSUlVQVAotICAgIHNpZ2ludGVycnVwdChzaWcsIDEpOwotI2VuZGlmCi0gICAgcmV0dXJuIG9sZGhhbmRsZXI7Ci0jZW5kaWYKLX0KLQogLyogRGVwcmVjYXRlZCBDIEFQSSBmdW5jdGlvbnMgc3RpbGwgcHJvdmlkZWQgZm9yIGJpbmFyeSBjb21wYXRpYmxpdHkgKi8KIAogI3VuZGVmIFB5UGFyc2VyX1NpbXBsZVBhcnNlRmlsZQpkaWZmIC0tZ2l0IGEvUHl0aG9uL3B5dGltZS5jIGIvUHl0aG9uL3B5dGltZS5jCmluZGV4IGRlNmE0MWYuLmE4NDYwYzYgMTAwNjQ0Ci0tLSBhL1B5dGhvbi9weXRpbWUuYworKysgYi9QeXRob24vcHl0aW1lLmMKQEAgLTMsMjkgKzMsMjQgQEAKICNpbmNsdWRlIDx3aW5kb3dzLmg+CiAjZW5kaWYKIAotI2lmIGRlZmluZWQoX19BUFBMRV9fKSAmJiBkZWZpbmVkKEhBVkVfR0VUVElNRU9GREFZKSAmJiBkZWZpbmVkKEhBVkVfRlRJTUUpCi0gIC8qCi0gICAqIF9QeVRpbWVfZ2V0dGltZW9mZGF5IGZhbGxzIGJhY2sgdG8gZnRpbWUgd2hlbiBnZXR0dGltZW9mZGF5IGZhaWxzIGJlY2F1c2UgdGhlIGxhdHRlcgotICAgKiBtaWdodCBmYWlsIG9uIHNvbWUgcGxhdGZvcm1zLiBUaGlzIGZhbGxiYWNrIGlzIHVud2FudGVkIG9uIE1hY09TWCBiZWNhdXNlCi0gICAqIHRoYXQgbWFrZXMgaXQgaW1wb3NzaWJsZSB0byB1c2UgYSBiaW5hcnkgYnVpbGQgb24gT1NYIDEwLjQgb24gZWFybGllcgotICAgKiByZWxlYXNlcyBvZiB0aGUgT1MuIFRoZXJlZm9yZSBjbGFpbSB3ZSBkb24ndCBzdXBwb3J0IGZ0aW1lLgotICAgKi8KLSMgdW5kZWYgSEFWRV9GVElNRQorI2lmIGRlZmluZWQoX19BUFBMRV9fKQorI2luY2x1ZGUgPG1hY2gvbWFjaF90aW1lLmg+ICAgLyogbWFjaF9hYnNvbHV0ZV90aW1lKCksIG1hY2hfdGltZWJhc2VfaW5mbygpICovCiAjZW5kaWYKIAotI2lmIGRlZmluZWQoSEFWRV9GVElNRSkgJiYgIWRlZmluZWQoTVNfV0lORE9XUykKLSNpbmNsdWRlIDxzeXMvdGltZWIuaD4KLWV4dGVybiBpbnQgZnRpbWUoc3RydWN0IHRpbWViICopOworI2lmZGVmIE1TX1dJTkRPV1MKK3N0YXRpYyBPU1ZFUlNJT05JTkZPRVggd2ludmVyOwogI2VuZGlmCiAKLXN0YXRpYyB2b2lkCi1weWdldHRpbWVvZmRheShfUHlUaW1lX3RpbWV2YWwgKnRwLCBfUHlfY2xvY2tfaW5mb190ICppbmZvKQorc3RhdGljIGludAorcHlnZXR0aW1lb2ZkYXkoX1B5VGltZV90aW1ldmFsICp0cCwgX1B5X2Nsb2NrX2luZm9fdCAqaW5mbywgaW50IHJhaXNlKQogewogI2lmZGVmIE1TX1dJTkRPV1MKICAgICBGSUxFVElNRSBzeXN0ZW1fdGltZTsKICAgICBVTEFSR0VfSU5URUdFUiBsYXJnZTsKICAgICBVTE9OR0xPTkcgbWljcm9zZWNvbmRzOwogCisgICAgYXNzZXJ0KGluZm8gPT0gTlVMTCB8fCByYWlzZSk7CisKICAgICBHZXRTeXN0ZW1UaW1lQXNGaWxlVGltZSgmc3lzdGVtX3RpbWUpOwogICAgIGxhcmdlLnUuTG93UGFydCA9IHN5c3RlbV90aW1lLmR3TG93RGF0ZVRpbWU7CiAgICAgbGFyZ2UudS5IaWdoUGFydCA9IHN5c3RlbV90aW1lLmR3SGlnaERhdGVUaW1lOwpAQCAtMzcsODAgKzMyLDI0NCBAQAogICAgIHRwLT50dl91c2VjID0gbWljcm9zZWNvbmRzICUgMTAwMDAwMDsKICAgICBpZiAoaW5mbykgewogICAgICAgICBEV09SRCB0aW1lQWRqdXN0bWVudCwgdGltZUluY3JlbWVudDsKLSAgICAgICAgQk9PTCBpc1RpbWVBZGp1c3RtZW50RGlzYWJsZWQ7CisgICAgICAgIEJPT0wgaXNUaW1lQWRqdXN0bWVudERpc2FibGVkLCBvazsKIAogICAgICAgICBpbmZvLT5pbXBsZW1lbnRhdGlvbiA9ICJHZXRTeXN0ZW1UaW1lQXNGaWxlVGltZSgpIjsKICAgICAgICAgaW5mby0+bW9ub3RvbmljID0gMDsKLSAgICAgICAgKHZvaWQpIEdldFN5c3RlbVRpbWVBZGp1c3RtZW50KCZ0aW1lQWRqdXN0bWVudCwgJnRpbWVJbmNyZW1lbnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmaXNUaW1lQWRqdXN0bWVudERpc2FibGVkKTsKKyAgICAgICAgb2sgPSBHZXRTeXN0ZW1UaW1lQWRqdXN0bWVudCgmdGltZUFkanVzdG1lbnQsICZ0aW1lSW5jcmVtZW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZpc1RpbWVBZGp1c3RtZW50RGlzYWJsZWQpOworICAgICAgICBpZiAoIW9rKSB7CisgICAgICAgICAgICBQeUVycl9TZXRGcm9tV2luZG93c0VycigwKTsKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQogICAgICAgICBpbmZvLT5yZXNvbHV0aW9uID0gdGltZUluY3JlbWVudCAqIDFlLTc7CiAgICAgICAgIGluZm8tPmFkanVzdGFibGUgPSAxOwogICAgIH0KLSNlbHNlCi0gICAgLyogVGhlcmUgYXJlIHRocmVlIHdheXMgdG8gZ2V0IHRoZSB0aW1lOgotICAgICAgKDEpIGdldHRpbWVvZmRheSgpIC0tIHJlc29sdXRpb24gaW4gbWljcm9zZWNvbmRzCi0gICAgICAoMikgZnRpbWUoKSAtLSByZXNvbHV0aW9uIGluIG1pbGxpc2Vjb25kcwotICAgICAgKDMpIHRpbWUoKSAtLSByZXNvbHV0aW9uIGluIHNlY29uZHMKLSAgICAgIEluIGFsbCBjYXNlcyB0aGUgcmV0dXJuIHZhbHVlIGluIGEgdGltZXZhbCBzdHJ1Y3QuCi0gICAgICBTaW5jZSBvbiBzb21lIHN5c3RlbXMgKGUuZy4gU0NPIE9EVCAzLjApIGdldHRpbWVvZmRheSgpIG1heQotICAgICAgZmFpbCwgc28gd2UgZmFsbCBiYWNrIG9uIGZ0aW1lKCkgb3IgdGltZSgpLgotICAgICAgTm90ZTogY2xvY2sgcmVzb2x1dGlvbiBkb2VzIG5vdCBpbXBseSBjbG9jayBhY2N1cmFjeSEgKi8KIAotI2lmZGVmIEhBVkVfR0VUVElNRU9GREFZCisjZWxzZSAgIC8qIE1TX1dJTkRPV1MgKi8KICAgICBpbnQgZXJyOworI2lmZGVmIEhBVkVfQ0xPQ0tfR0VUVElNRQorICAgIHN0cnVjdCB0aW1lc3BlYyB0czsKKyNlbmRpZgorCisgICAgYXNzZXJ0KGluZm8gPT0gTlVMTCB8fCByYWlzZSk7CisKKyNpZmRlZiBIQVZFX0NMT0NLX0dFVFRJTUUKKyAgICBlcnIgPSBjbG9ja19nZXR0aW1lKENMT0NLX1JFQUxUSU1FLCAmdHMpOworICAgIGlmIChlcnIpIHsKKyAgICAgICAgaWYgKHJhaXNlKQorICAgICAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX09TRXJyb3IpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorICAgIHRwLT50dl9zZWMgPSB0cy50dl9zZWM7CisgICAgdHAtPnR2X3VzZWMgPSB0cy50dl9uc2VjIC8gMTAwMDsKKworICAgIGlmIChpbmZvKSB7CisgICAgICAgIHN0cnVjdCB0aW1lc3BlYyByZXM7CisgICAgICAgIGluZm8tPmltcGxlbWVudGF0aW9uID0gImNsb2NrX2dldHRpbWUoQ0xPQ0tfUkVBTFRJTUUpIjsKKyAgICAgICAgaW5mby0+bW9ub3RvbmljID0gMDsKKyAgICAgICAgaW5mby0+YWRqdXN0YWJsZSA9IDE7CisgICAgICAgIGlmIChjbG9ja19nZXRyZXMoQ0xPQ0tfUkVBTFRJTUUsICZyZXMpID09IDApCisgICAgICAgICAgICBpbmZvLT5yZXNvbHV0aW9uID0gcmVzLnR2X3NlYyArIHJlcy50dl9uc2VjICogMWUtOTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgaW5mby0+cmVzb2x1dGlvbiA9IDFlLTk7CisgICAgfQorI2Vsc2UgICAvKiBIQVZFX0NMT0NLX0dFVFRJTUUgKi8KKworICAgICAvKiB0ZXN0IGdldHRpbWVvZmRheSgpICovCiAjaWZkZWYgR0VUVElNRU9GREFZX05PX1RaCiAgICAgZXJyID0gZ2V0dGltZW9mZGF5KHRwKTsKICNlbHNlCiAgICAgZXJyID0gZ2V0dGltZW9mZGF5KHRwLCAoc3RydWN0IHRpbWV6b25lICopTlVMTCk7CiAjZW5kaWYKLSAgICBpZiAoZXJyID09IDApIHsKLSAgICAgICAgaWYgKGluZm8pIHsKLSAgICAgICAgICAgIGluZm8tPmltcGxlbWVudGF0aW9uID0gImdldHRpbWVvZmRheSgpIjsKLSAgICAgICAgICAgIGluZm8tPnJlc29sdXRpb24gPSAxZS02OwotICAgICAgICAgICAgaW5mby0+bW9ub3RvbmljID0gMDsKLSAgICAgICAgICAgIGluZm8tPmFkanVzdGFibGUgPSAxOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybjsKKyAgICBpZiAoZXJyKSB7CisgICAgICAgIGlmIChyYWlzZSkKKyAgICAgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19PU0Vycm9yKTsKKyAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KLSNlbmRpZiAgIC8qIEhBVkVfR0VUVElNRU9GREFZICovCiAKLSNpZiBkZWZpbmVkKEhBVkVfRlRJTUUpCi0gICAgewotICAgICAgICBzdHJ1Y3QgdGltZWIgdDsKLSAgICAgICAgZnRpbWUoJnQpOwotICAgICAgICB0cC0+dHZfc2VjID0gdC50aW1lOwotICAgICAgICB0cC0+dHZfdXNlYyA9IHQubWlsbGl0bSAqIDEwMDA7Ci0gICAgICAgIGlmIChpbmZvKSB7Ci0gICAgICAgICAgICBpbmZvLT5pbXBsZW1lbnRhdGlvbiA9ICJmdGltZSgpIjsKLSAgICAgICAgICAgIGluZm8tPnJlc29sdXRpb24gPSAxZS0zOwotICAgICAgICAgICAgaW5mby0+bW9ub3RvbmljID0gMDsKLSAgICAgICAgICAgIGluZm8tPmFkanVzdGFibGUgPSAxOwotICAgICAgICB9Ci0gICAgfQotI2Vsc2UgLyogIUhBVkVfRlRJTUUgKi8KLSAgICB0cC0+dHZfc2VjID0gdGltZShOVUxMKTsKLSAgICB0cC0+dHZfdXNlYyA9IDA7CiAgICAgaWYgKGluZm8pIHsKLSAgICAgICAgaW5mby0+aW1wbGVtZW50YXRpb24gPSAidGltZSgpIjsKLSAgICAgICAgaW5mby0+cmVzb2x1dGlvbiA9IDEuMDsKKyAgICAgICAgaW5mby0+aW1wbGVtZW50YXRpb24gPSAiZ2V0dGltZW9mZGF5KCkiOworICAgICAgICBpbmZvLT5yZXNvbHV0aW9uID0gMWUtNjsKICAgICAgICAgaW5mby0+bW9ub3RvbmljID0gMDsKICAgICAgICAgaW5mby0+YWRqdXN0YWJsZSA9IDE7CiAgICAgfQotI2VuZGlmIC8qICFIQVZFX0ZUSU1FICovCi0KLSNlbmRpZiAvKiBNU19XSU5ET1dTICovCisjZW5kaWYgICAvKiAhSEFWRV9DTE9DS19HRVRUSU1FICovCisjZW5kaWYgICAvKiAhTVNfV0lORE9XUyAqLworICAgIGFzc2VydCgwIDw9IHRwLT50dl91c2VjICYmIHRwLT50dl91c2VjIDwgMTAwMCAqIDEwMDApOworICAgIHJldHVybiAwOwogfQogCiB2b2lkCiBfUHlUaW1lX2dldHRpbWVvZmRheShfUHlUaW1lX3RpbWV2YWwgKnRwKQogewotICAgIHB5Z2V0dGltZW9mZGF5KHRwLCBOVUxMKTsKKyAgICBpZiAocHlnZXR0aW1lb2ZkYXkodHAsIE5VTEwsIDApIDwgMCkgeworICAgICAgICAvKiBjYW5ub3QgaGFwcGVuLCBfUHlUaW1lX0luaXQoKSBjaGVja3MgdGhhdCBweWdldHRpbWVvZmRheSgpIHdvcmtzICovCisgICAgICAgIGFzc2VydCgwKTsKKyAgICAgICAgdHAtPnR2X3NlYyA9IDA7CisgICAgICAgIHRwLT50dl91c2VjID0gMDsKKyAgICB9Cit9CisKK2ludAorX1B5VGltZV9nZXR0aW1lb2ZkYXlfaW5mbyhfUHlUaW1lX3RpbWV2YWwgKnRwLCBfUHlfY2xvY2tfaW5mb190ICppbmZvKQoreworICAgIHJldHVybiBweWdldHRpbWVvZmRheSh0cCwgaW5mbywgMSk7Cit9CisKK3N0YXRpYyBpbnQKK3B5bW9ub3RvbmljKF9QeVRpbWVfdGltZXZhbCAqdHAsIF9QeV9jbG9ja19pbmZvX3QgKmluZm8sIGludCByYWlzZSkKK3sKKyNpZmRlZiBQeV9ERUJVRworICAgIHN0YXRpYyBfUHlUaW1lX3RpbWV2YWwgbGFzdCA9IHswLCAtMX07CisjZW5kaWYKKyNpZiBkZWZpbmVkKE1TX1dJTkRPV1MpCisgICAgc3RhdGljIFVMT05HTE9ORyAoKkdldFRpY2tDb3VudDY0KSAodm9pZCkgPSBOVUxMOworICAgIHN0YXRpYyBVTE9OR0xPTkcgKENBTExCQUNLICpQeV9HZXRUaWNrQ291bnQ2NCkodm9pZCk7CisgICAgc3RhdGljIGludCBoYXNfZ2V0dGlja2NvdW50NjQgPSAtMTsKKyAgICBVTE9OR0xPTkcgcmVzdWx0OworCisgICAgYXNzZXJ0KGluZm8gPT0gTlVMTCB8fCByYWlzZSk7CisKKyAgICBpZiAoaGFzX2dldHRpY2tjb3VudDY0ID09IC0xKSB7CisgICAgICAgIC8qIEdldFRpY2tDb3VudDY0KCkgd2FzIGFkZGVkIHRvIFdpbmRvd3MgVmlzdGEgKi8KKyAgICAgICAgaGFzX2dldHRpY2tjb3VudDY0ID0gKHdpbnZlci5kd01ham9yVmVyc2lvbiA+PSA2KTsKKyAgICAgICAgaWYgKGhhc19nZXR0aWNrY291bnQ2NCkgeworICAgICAgICAgICAgSElOU1RBTkNFIGhLZXJuZWwzMjsKKyAgICAgICAgICAgIGhLZXJuZWwzMiA9IEdldE1vZHVsZUhhbmRsZVcoTCJLRVJORUwzMiIpOworICAgICAgICAgICAgKihGQVJQUk9DKikmUHlfR2V0VGlja0NvdW50NjQgPSBHZXRQcm9jQWRkcmVzcyhoS2VybmVsMzIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJHZXRUaWNrQ291bnQ2NCIpOworICAgICAgICAgICAgYXNzZXJ0KFB5X0dldFRpY2tDb3VudDY0ICE9IE5VTEwpOworICAgICAgICB9CisgICAgfQorCisgICAgaWYgKGhhc19nZXR0aWNrY291bnQ2NCkgeworICAgICAgICByZXN1bHQgPSBQeV9HZXRUaWNrQ291bnQ2NCgpOworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgc3RhdGljIERXT1JEIGxhc3RfdGlja3MgPSAwOworICAgICAgICBzdGF0aWMgRFdPUkQgbl9vdmVyZmxvdyA9IDA7CisgICAgICAgIERXT1JEIHRpY2tzOworCisgICAgICAgIHRpY2tzID0gR2V0VGlja0NvdW50KCk7CisgICAgICAgIGlmICh0aWNrcyA8IGxhc3RfdGlja3MpCisgICAgICAgICAgICBuX292ZXJmbG93Kys7CisgICAgICAgIGxhc3RfdGlja3MgPSB0aWNrczsKKworICAgICAgICByZXN1bHQgPSAoVUxPTkdMT05HKW5fb3ZlcmZsb3cgPDwgMzI7CisgICAgICAgIHJlc3VsdCArPSB0aWNrczsKKyAgICB9CisKKyAgICB0cC0+dHZfc2VjID0gcmVzdWx0IC8gMTAwMDsKKyAgICB0cC0+dHZfdXNlYyA9IChyZXN1bHQgJSAxMDAwKSAqIDEwMDA7CisKKyAgICBpZiAoaW5mbykgeworICAgICAgICBEV09SRCB0aW1lQWRqdXN0bWVudCwgdGltZUluY3JlbWVudDsKKyAgICAgICAgQk9PTCBpc1RpbWVBZGp1c3RtZW50RGlzYWJsZWQsIG9rOworICAgICAgICBpZiAoaGFzX2dldHRpY2tjb3VudDY0KQorICAgICAgICAgICAgaW5mby0+aW1wbGVtZW50YXRpb24gPSAiR2V0VGlja0NvdW50NjQoKSI7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGluZm8tPmltcGxlbWVudGF0aW9uID0gIkdldFRpY2tDb3VudCgpIjsKKyAgICAgICAgaW5mby0+bW9ub3RvbmljID0gMTsKKyAgICAgICAgb2sgPSBHZXRTeXN0ZW1UaW1lQWRqdXN0bWVudCgmdGltZUFkanVzdG1lbnQsICZ0aW1lSW5jcmVtZW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZpc1RpbWVBZGp1c3RtZW50RGlzYWJsZWQpOworICAgICAgICBpZiAoIW9rKSB7CisgICAgICAgICAgICBQeUVycl9TZXRGcm9tV2luZG93c0VycigwKTsKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQorICAgICAgICBpbmZvLT5yZXNvbHV0aW9uID0gdGltZUluY3JlbWVudCAqIDFlLTc7CisgICAgICAgIGluZm8tPmFkanVzdGFibGUgPSAwOworICAgIH0KKworI2VsaWYgZGVmaW5lZChfX0FQUExFX18pCisgICAgc3RhdGljIG1hY2hfdGltZWJhc2VfaW5mb19kYXRhX3QgdGltZWJhc2U7CisgICAgdWludDY0X3QgdGltZTsKKworICAgIGlmICh0aW1lYmFzZS5kZW5vbSA9PSAwKSB7CisgICAgICAgIC8qIEFjY29yZGluZyB0byB0aGUgVGVjaG5pY2FsIFEmQSBRQTEzOTgsIG1hY2hfdGltZWJhc2VfaW5mbygpIGNhbm5vdAorICAgICAgICAgICBmYWlsOiBodHRwczovL2RldmVsb3Blci5hcHBsZS5jb20vbGlicmFyeS9tYWMvI3FhL3FhMTM5OC8gKi8KKyAgICAgICAgKHZvaWQpbWFjaF90aW1lYmFzZV9pbmZvKCZ0aW1lYmFzZSk7CisgICAgfQorCisgICAgdGltZSA9IG1hY2hfYWJzb2x1dGVfdGltZSgpOworCisgICAgLyogbmFub3NlY29uZHMgPT4gbWljcm9zZWNvbmRzICovCisgICAgdGltZSAvPSAxMDAwOworICAgIC8qIGFwcGx5IHRpbWViYXNlIGZhY3RvciAqLworICAgIHRpbWUgKj0gdGltZWJhc2UubnVtZXI7CisgICAgdGltZSAvPSB0aW1lYmFzZS5kZW5vbTsKKyAgICB0cC0+dHZfc2VjID0gdGltZSAvICgxMDAwICogMTAwMCk7CisgICAgdHAtPnR2X3VzZWMgPSB0aW1lICUgKDEwMDAgKiAxMDAwKTsKKworICAgIGlmIChpbmZvKSB7CisgICAgICAgIGluZm8tPmltcGxlbWVudGF0aW9uID0gIm1hY2hfYWJzb2x1dGVfdGltZSgpIjsKKyAgICAgICAgaW5mby0+cmVzb2x1dGlvbiA9IChkb3VibGUpdGltZWJhc2UubnVtZXIgLyB0aW1lYmFzZS5kZW5vbSAqIDFlLTk7CisgICAgICAgIGluZm8tPm1vbm90b25pYyA9IDE7CisgICAgICAgIGluZm8tPmFkanVzdGFibGUgPSAwOworICAgIH0KKworI2Vsc2UKKyAgICBzdHJ1Y3QgdGltZXNwZWMgdHM7CisjaWZkZWYgQ0xPQ0tfSElHSFJFUworICAgIGNvbnN0IGNsb2NraWRfdCBjbGtfaWQgPSBDTE9DS19ISUdIUkVTOworICAgIGNvbnN0IGNoYXIgKmltcGxlbWVudGF0aW9uID0gImNsb2NrX2dldHRpbWUoQ0xPQ0tfSElHSFJFUykiOworI2Vsc2UKKyAgICBjb25zdCBjbG9ja2lkX3QgY2xrX2lkID0gQ0xPQ0tfTU9OT1RPTklDOworICAgIGNvbnN0IGNoYXIgKmltcGxlbWVudGF0aW9uID0gImNsb2NrX2dldHRpbWUoQ0xPQ0tfTU9OT1RPTklDKSI7CisjZW5kaWYKKworICAgIGFzc2VydChpbmZvID09IE5VTEwgfHwgcmFpc2UpOworCisgICAgaWYgKGNsb2NrX2dldHRpbWUoY2xrX2lkLCAmdHMpICE9IDApIHsKKyAgICAgICAgaWYgKHJhaXNlKSB7CisgICAgICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfT1NFcnJvcik7CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KKyAgICAgICAgdHAtPnR2X3NlYyA9IDA7CisgICAgICAgIHRwLT50dl91c2VjID0gMDsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKworICAgIGlmIChpbmZvKSB7CisgICAgICAgIHN0cnVjdCB0aW1lc3BlYyByZXM7CisgICAgICAgIGluZm8tPm1vbm90b25pYyA9IDE7CisgICAgICAgIGluZm8tPmltcGxlbWVudGF0aW9uID0gaW1wbGVtZW50YXRpb247CisgICAgICAgIGluZm8tPmFkanVzdGFibGUgPSAwOworICAgICAgICBpZiAoY2xvY2tfZ2V0cmVzKGNsa19pZCwgJnJlcykgIT0gMCkgeworICAgICAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX09TRXJyb3IpOworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisgICAgICAgIGluZm8tPnJlc29sdXRpb24gPSByZXMudHZfc2VjICsgcmVzLnR2X25zZWMgKiAxZS05OworICAgIH0KKyAgICB0cC0+dHZfc2VjID0gdHMudHZfc2VjOworICAgIHRwLT50dl91c2VjID0gdHMudHZfbnNlYyAvIDEwMDA7CisjZW5kaWYKKyAgICBhc3NlcnQoMCA8PSB0cC0+dHZfdXNlYyAmJiB0cC0+dHZfdXNlYyA8IDEwMDAgKiAxMDAwKTsKKyNpZmRlZiBQeV9ERUJVRworICAgIC8qIG1vbm90b25pYyBjbG9jayBjYW5ub3QgZ28gYmFja3dhcmQgKi8KKyAgICBhc3NlcnQobGFzdC50dl91c2VjID09IC0xCisgICAgICAgICAgIHx8IHRwLT50dl9zZWMgPiBsYXN0LnR2X3NlYworICAgICAgICAgICB8fCAodHAtPnR2X3NlYyA9PSBsYXN0LnR2X3NlYyAmJiB0cC0+dHZfdXNlYyA+PSBsYXN0LnR2X3VzZWMpKTsKKyAgICBsYXN0ID0gKnRwOworI2VuZGlmCisgICAgcmV0dXJuIDA7CiB9CiAKIHZvaWQKLV9QeVRpbWVfZ2V0dGltZW9mZGF5X2luZm8oX1B5VGltZV90aW1ldmFsICp0cCwgX1B5X2Nsb2NrX2luZm9fdCAqaW5mbykKK19QeVRpbWVfbW9ub3RvbmljKF9QeVRpbWVfdGltZXZhbCAqdHApCiB7Ci0gICAgcHlnZXR0aW1lb2ZkYXkodHAsIGluZm8pOworICAgIGlmIChweW1vbm90b25pYyh0cCwgTlVMTCwgMCkgPCAwKSB7CisgICAgICAgIC8qIGNhbm5vdCBoYXBwZW4sIF9QeVRpbWVfSW5pdCgpIGNoZWNrcyB0aGF0IHB5bW9ub3RvbmljKCkgd29ya3MgKi8KKyAgICAgICAgYXNzZXJ0KDApOworICAgICAgICB0cC0+dHZfc2VjID0gMDsKKyAgICAgICAgdHAtPnR2X3VzZWMgPSAwOworICAgIH0KK30KKworaW50CitfUHlUaW1lX21vbm90b25pY19pbmZvKF9QeVRpbWVfdGltZXZhbCAqdHAsIF9QeV9jbG9ja19pbmZvX3QgKmluZm8pCit7CisgICAgcmV0dXJuIHB5bW9ub3RvbmljKHRwLCBpbmZvLCAxKTsKIH0KIAogc3RhdGljIHZvaWQKQEAgLTI0NSw4ICs0MDQsMjUgQEAKICAgICByZXR1cm4gX1B5VGltZV9PYmplY3RUb0Rlbm9taW5hdG9yKG9iaiwgc2VjLCB1c2VjLCAxZTYsIHJvdW5kKTsKIH0KIAotdm9pZAotX1B5VGltZV9Jbml0KCkKK2ludAorX1B5VGltZV9Jbml0KHZvaWQpCiB7Ci0gICAgLyogRG8gbm90aGluZy4gIE5lZWRlZCB0byBmb3JjZSBsaW5raW5nLiAqLworICAgIF9QeVRpbWVfdGltZXZhbCB0djsKKworI2lmZGVmIE1TX1dJTkRPV1MKKyAgICB3aW52ZXIuZHdPU1ZlcnNpb25JbmZvU2l6ZSA9IHNpemVvZih3aW52ZXIpOworICAgIGlmICghR2V0VmVyc2lvbkV4KChPU1ZFUlNJT05JTkZPKikmd2ludmVyKSkgeworICAgICAgICBQeUVycl9TZXRGcm9tV2luZG93c0VycigwKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKyNlbmRpZgorCisgICAgLyogZW5zdXJlIHRoYXQgdGhlIHN5c3RlbSBjbG9jayB3b3JrcyAqLworICAgIGlmIChfUHlUaW1lX2dldHRpbWVvZmRheV9pbmZvKCZ0diwgTlVMTCkgPCAwKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICAvKiBlbnN1cmUgdGhhdCB0aGUgb3BlcmF0aW5nIHN5c3RlbSBwcm92aWRlcyBhIG1vbm90b25pYyBjbG9jayAqLworICAgIGlmIChfUHlUaW1lX21vbm90b25pY19pbmZvKCZ0diwgTlVMTCkgPCAwKQorICAgICAgICByZXR1cm4gLTE7CisgICAgcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9QeXRob24vc3lzbW9kdWxlLmMgYi9QeXRob24vc3lzbW9kdWxlLmMKaW5kZXggMjkwZWVjMS4uMDYzOTIzMSAxMDA2NDQKLS0tIGEvUHl0aG9uL3N5c21vZHVsZS5jCisrKyBiL1B5dGhvbi9zeXNtb2R1bGUuYwpAQCAtMTEyMSw2ICsxMTIxLDE2IEBACiAiX2NsZWFyX3R5cGVfY2FjaGUoKSAtPiBOb25lXG5cCiBDbGVhciB0aGUgaW50ZXJuYWwgdHlwZSBsb29rdXAgY2FjaGUuIik7CiAKK3N0YXRpYyBQeU9iamVjdCAqCitzeXNfaXNfZmluYWxpemluZyhQeU9iamVjdCogc2VsZiwgUHlPYmplY3QqIGFyZ3MpCit7CisgICAgcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZyhfUHlfRmluYWxpemluZyAhPSBOVUxMKTsKK30KKworUHlEb2NfU1RSVkFSKGlzX2ZpbmFsaXppbmdfZG9jLAorImlzX2ZpbmFsaXppbmcoKVxuXAorUmV0dXJuIFRydWUgaWYgUHl0aG9uIGlzIGV4aXRpbmcuIik7CisKIAogc3RhdGljIFB5TWV0aG9kRGVmIHN5c19tZXRob2RzW10gPSB7CiAgICAgLyogTWlnaHQgYXMgd2VsbCBrZWVwIHRoaXMgaW4gYWxwaGFiZXRpYyBvcmRlciAqLwpAQCAtMTE2Nyw2ICsxMTc3LDcgQEAKICAgICAgZ2V0d2luZG93c3ZlcnNpb25fZG9jfSwKICNlbmRpZiAvKiBNU19XSU5ET1dTICovCiAgICAgeyJpbnRlcm4iLCAgICAgICAgICBzeXNfaW50ZXJuLCAgICAgTUVUSF9WQVJBUkdTLCBpbnRlcm5fZG9jfSwKKyAgICB7ImlzX2ZpbmFsaXppbmciLCAgIHN5c19pc19maW5hbGl6aW5nLCBNRVRIX05PQVJHUywgaXNfZmluYWxpemluZ19kb2N9LAogI2lmZGVmIFVTRV9NQUxMT1BUCiAgICAgeyJtZGVidWciLCAgICAgICAgICBzeXNfbWRlYnVnLCBNRVRIX1ZBUkFSR1N9LAogI2VuZGlmCkBAIC0xNjgxLDcgKzE2OTIsNyBAQAogICAgIH0KICNlbmRpZgogCi0gICAgLyogc3RkaW4vc3Rkb3V0L3N0ZGVyciBhcmUgbm93IHNldCBieSBweXRob25ydW4uYyAqLworICAgIC8qIHN0ZGluL3N0ZG91dC9zdGRlcnIgYXJlIHNldCBpbiBweWxpZmVjeWNsZS5jICovCiAKICAgICBTRVRfU1lTX0ZST01fU1RSSU5HX0JPUlJPVygiX19kaXNwbGF5aG9va19fIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeURpY3RfR2V0SXRlbVN0cmluZyhzeXNkaWN0LCAiZGlzcGxheWhvb2siKSk7CmRpZmYgLS1naXQgYS9QeXRob24vdGhyZWFkLmMgYi9QeXRob24vdGhyZWFkLmMKaW5kZXggNGU2OTVhZS4uNDRjMDcxZSAxMDA2NDQKLS0tIGEvUHl0aG9uL3RocmVhZC5jCisrKyBiL1B5dGhvbi90aHJlYWQuYwpAQCAtNDMxLDcgKzQzMSw3IEBACiAgICAgICYmIGRlZmluZWQoX0NTX0dOVV9MSUJQVEhSRUFEX1ZFUlNJT04pKQogICAgIHZhbHVlID0gTlVMTDsKICAgICBsZW4gPSBjb25mc3RyKF9DU19HTlVfTElCUFRIUkVBRF9WRVJTSU9OLCBidWZmZXIsIHNpemVvZihidWZmZXIpKTsKLSAgICBpZiAoMSA8IGxlbiAmJiBsZW4gPCBzaXplb2YoYnVmZmVyKSkgeworICAgIGlmICgxIDwgbGVuICYmIChzaXplX3QpbGVuIDwgc2l6ZW9mKGJ1ZmZlcikpIHsKICAgICAgICAgdmFsdWUgPSBQeVVuaWNvZGVfRGVjb2RlRlNEZWZhdWx0QW5kU2l6ZShidWZmZXIsIGxlbi0xKTsKICAgICAgICAgaWYgKHZhbHVlID09IE5VTEwpCiAgICAgICAgICAgICBQeUVycl9DbGVhcigpOwpkaWZmIC0tZ2l0IGEvUHl0aG9uL3RocmVhZF9mb29iYXIuaCBiL1B5dGhvbi90aHJlYWRfZm9vYmFyLmgKaW5kZXggZDJiNzhjNS4uZWE5NmY5YyAxMDA2NDQKLS0tIGEvUHl0aG9uL3RocmVhZF9mb29iYXIuaAorKysgYi9QeXRob24vdGhyZWFkX2Zvb2Jhci5oCkBAIC0xLDQgKzEsMyBAQAotCiAvKgogICogSW5pdGlhbGl6YXRpb24uCiAgKi8KQEAgLTYxLDEwICs2MCwxOCBAQAogaW50CiBQeVRocmVhZF9hY3F1aXJlX2xvY2soUHlUaHJlYWRfdHlwZV9sb2NrIGxvY2ssIGludCB3YWl0ZmxhZykKIHsKKyAgICByZXR1cm4gUHlUaHJlYWRfYWNxdWlyZV9sb2NrX3RpbWVkKGxvY2ssIHdhaXRmbGFnID8gLTEgOiAwLCAwKTsKK30KKworUHlMb2NrU3RhdHVzCitQeVRocmVhZF9hY3F1aXJlX2xvY2tfdGltZWQoUHlUaHJlYWRfdHlwZV9sb2NrIGxvY2ssIFBZX1RJTUVPVVRfVCBtaWNyb3NlY29uZHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGludHJfZmxhZykKK3sKICAgICBpbnQgc3VjY2VzczsKIAotICAgIGRwcmludGYoKCJQeVRocmVhZF9hY3F1aXJlX2xvY2soJXAsICVkKSBjYWxsZWRcbiIsIGxvY2ssIHdhaXRmbGFnKSk7Ci0gICAgZHByaW50ZigoIlB5VGhyZWFkX2FjcXVpcmVfbG9jayglcCwgJWQpIC0+ICVkXG4iLCBsb2NrLCB3YWl0ZmxhZywgc3VjY2VzcykpOworICAgIGRwcmludGYoKCJQeVRocmVhZF9hY3F1aXJlX2xvY2tfdGltZWQoJXAsICVsbGQsICVkKSBjYWxsZWRcbiIsIGxvY2ssIG1pY3Jvc2Vjb25kcywgaW50cl9mbGFnKSk7CisgICAgZHByaW50ZigoIlB5VGhyZWFkX2FjcXVpcmVfbG9ja190aW1lZCglcCwgJWxsZCwgJWQpIC0+ICVkXG4iLAorCSAgICAgbG9jaywgbWljcm9zZWNvbmRzLCBpbnRyX2ZsYWcsIHN1Y2Nlc3MpKTsKICAgICByZXR1cm4gc3VjY2VzczsKIH0KIApAQCAtNzMsMyArODAsNTMgQEAKIHsKICAgICBkcHJpbnRmKCgiUHlUaHJlYWRfcmVsZWFzZV9sb2NrKCVwKSBjYWxsZWRcbiIsIGxvY2spKTsKIH0KKworLyogVGhlIGZvbGxvd2luZyBhcmUgb25seSBuZWVkZWQgaWYgbmF0aXZlIFRMUyBzdXBwb3J0IGV4aXN0cyAqLworI2RlZmluZSBQeV9IQVZFX05BVElWRV9UTFMKKworI2lmZGVmIFB5X0hBVkVfTkFUSVZFX1RMUworaW50CitQeVRocmVhZF9jcmVhdGVfa2V5KHZvaWQpCit7CisgICAgaW50IHJlc3VsdDsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit2b2lkCitQeVRocmVhZF9kZWxldGVfa2V5KGludCBrZXkpCit7CisKK30KKworaW50CitQeVRocmVhZF9zZXRfa2V5X3ZhbHVlKGludCBrZXksIHZvaWQgKnZhbHVlKQoreworICAgIGludCBvazsKKworICAgIC8qIEEgZmFpbHVyZSBpbiB0aGlzIGNhc2UgcmV0dXJucyAtMSAqLworICAgIGlmICghb2spCisgICAgICAgIHJldHVybiAtMTsKKyAgICByZXR1cm4gMDsKK30KKwordm9pZCAqCitQeVRocmVhZF9nZXRfa2V5X3ZhbHVlKGludCBrZXkpCit7CisgICAgdm9pZCAqcmVzdWx0OworCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwordm9pZAorUHlUaHJlYWRfZGVsZXRlX2tleV92YWx1ZShpbnQga2V5KQoreworCit9CisKK3ZvaWQKK1B5VGhyZWFkX1JlSW5pdFRMUyh2b2lkKQoreworCit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvUHl0aG9uL3RocmVhZF9wdGhyZWFkLmggYi9QeXRob24vdGhyZWFkX3B0aHJlYWQuaAppbmRleCBkOWY3Yzc2Li4yN2UwZGM4IDEwMDY0NAotLS0gYS9QeXRob24vdGhyZWFkX3B0aHJlYWQuaAorKysgYi9QeXRob24vdGhyZWFkX3B0aHJlYWQuaApAQCAtNjA4LDcgKzYwOCwxNSBAQAogewogICAgIHB0aHJlYWRfa2V5X3Qga2V5OwogICAgIGludCBmYWlsID0gcHRocmVhZF9rZXlfY3JlYXRlKCZrZXksIE5VTEwpOwotICAgIHJldHVybiBmYWlsID8gLTEgOiBrZXk7CisgICAgaWYgKGZhaWwpCisgICAgICAgIHJldHVybiAtMTsKKyAgICBpZiAoa2V5ID4gSU5UX01BWCkgeworICAgICAgICAvKiBJc3N1ZSAjMjIyMDY6IGhhbmRsZSBpbnRlZ2VyIG92ZXJmbG93ICovCisgICAgICAgIHB0aHJlYWRfa2V5X2RlbGV0ZShrZXkpOworICAgICAgICBlcnJubyA9IEVOT01FTTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKyAgICByZXR1cm4gKGludClrZXk7CiB9CiAKIHZvaWQKZGlmZiAtLWdpdCBhL1B5dGhvbi90cmFjZWJhY2suYyBiL1B5dGhvbi90cmFjZWJhY2suYwppbmRleCBjMmFiYTUyLi5lM2FkYzk2IDEwMDY0NAotLS0gYS9QeXRob24vdHJhY2ViYWNrLmMKKysrIGIvUHl0aG9uL3RyYWNlYmFjay5jCkBAIC0yMzEsNyArMjMxLDcgQEAKICAgICAgICAgfQogICAgICAgICBzdHJjcHkobmFtZWJ1ZiwgUHlCeXRlc19BU19TVFJJTkcocGF0aCkpOwogICAgICAgICBQeV9ERUNSRUYocGF0aCk7Ci0gICAgICAgIGlmIChzdHJsZW4obmFtZWJ1ZikgIT0gbGVuKQorICAgICAgICBpZiAoc3RybGVuKG5hbWVidWYpICE9IChzaXplX3QpbGVuKQogICAgICAgICAgICAgY29udGludWU7IC8qIHYgY29udGFpbnMgJ1wwJyAqLwogICAgICAgICBpZiAobGVuID4gMCAmJiBuYW1lYnVmW2xlbi0xXSAhPSBTRVApCiAgICAgICAgICAgICBuYW1lYnVmW2xlbisrXSA9IFNFUDsKQEAgLTU3NSwxNSArNTc1LDE2IEBACiAgICAgICAgICAgICBjaCA9IFB5VW5pY29kZV9SRUFEKGtpbmQsIGRhdGEsIGkpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBjaCA9IHdzdHJbaV07Ci0gICAgICAgIGlmIChjaCA8IDEyOCkgeworICAgICAgICBpZiAoJyAnIDw9IGNoICYmIGNoIDw9IDEyNikgeworICAgICAgICAgICAgLyogcHJpbnRhYmxlIEFTQ0lJIGNoYXJhY3RlciAqLwogICAgICAgICAgICAgY2hhciBjID0gKGNoYXIpY2g7CiAgICAgICAgICAgICB3cml0ZShmZCwgJmMsIDEpOwogICAgICAgICB9Ci0gICAgICAgIGVsc2UgaWYgKGNoIDwgMHhmZikgeworICAgICAgICBlbHNlIGlmIChjaCA8PSAweGZmKSB7CiAgICAgICAgICAgICBQVVRTKGZkLCAiXFx4Iik7CiAgICAgICAgICAgICBkdW1wX2hleGFkZWNpbWFsKGZkLCBjaCwgMik7CiAgICAgICAgIH0KLSAgICAgICAgZWxzZSBpZiAoY2ggPCAweGZmZmYpIHsKKyAgICAgICAgZWxzZSBpZiAoY2ggPD0gMHhmZmZmKSB7CiAgICAgICAgICAgICBQVVRTKGZkLCAiXFx1Iik7CiAgICAgICAgICAgICBkdW1wX2hleGFkZWNpbWFsKGZkLCBjaCwgNCk7CiAgICAgICAgIH0KQEAgLTY3OCw3ICs2NzksNyBAQAogICAgICAgICBQVVRTKGZkLCAiQ3VycmVudCB0aHJlYWQgMHgiKTsKICAgICBlbHNlCiAgICAgICAgIFBVVFMoZmQsICJUaHJlYWQgMHgiKTsKLSAgICBkdW1wX2hleGFkZWNpbWFsKGZkLCAodW5zaWduZWQgbG9uZyl0c3RhdGUtPnRocmVhZF9pZCwgc2l6ZW9mKGxvbmcpKjIpOworICAgIGR1bXBfaGV4YWRlY2ltYWwoZmQsICh1bnNpZ25lZCBsb25nKXRzdGF0ZS0+dGhyZWFkX2lkLCBzaXplb2YodW5zaWduZWQgbG9uZykqMik7CiAgICAgUFVUUyhmZCwgIiAobW9zdCByZWNlbnQgY2FsbCBmaXJzdCk6XG4iKTsKIH0KIApkaWZmIC0tZ2l0IGEvUkVBRE1FIGIvUkVBRE1FCmluZGV4IDBlOTk5YzQuLmMzZTQxYTMgMTAwNjQ0Ci0tLSBhL1JFQURNRQorKysgYi9SRUFETUUKQEAgLTEsNSArMSw1IEBACi1UaGlzIGlzIFB5dGhvbiB2ZXJzaW9uIDMuNC4zcmMxCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitUaGlzIGlzIFB5dGhvbiB2ZXJzaW9uIDMuNS4wIGFscGhhIDEKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCiBDb3B5cmlnaHQgKGMpIDIwMDEsIDIwMDIsIDIwMDMsIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDksIDIwMTAsIDIwMTEsCiAyMDEyLCAyMDEzLCAyMDE0LCAyMDE1IFB5dGhvbiBTb2Z0d2FyZSBGb3VuZGF0aW9uLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KQEAgLTUyLDkgKzUyLDkgQEAKIC0tLS0tLS0tLS0KIAogV2UgdHJ5IHRvIGhhdmUgYSBjb21wcmVoZW5zaXZlIG92ZXJ2aWV3IG9mIHRoZSBjaGFuZ2VzIGluIHRoZSAiV2hhdCdzIE5ldyBpbgotUHl0aG9uIDMuNCIgZG9jdW1lbnQsIGZvdW5kIGF0CitQeXRob24gMy41IiBkb2N1bWVudCwgZm91bmQgYXQKIAotICAgIGh0dHA6Ly9kb2NzLnB5dGhvbi5vcmcvMy40L3doYXRzbmV3LzMuNC5odG1sCisgICAgaHR0cDovL2RvY3MucHl0aG9uLm9yZy8zLjUvd2hhdHNuZXcvMy41Lmh0bWwKIAogRm9yIGEgbW9yZSBkZXRhaWxlZCBjaGFuZ2UgbG9nLCByZWFkIE1pc2MvTkVXUyAodGhvdWdoIHRoaXMgZmlsZSwgdG9vLCBpcwogaW5jb21wbGV0ZSwgYW5kIGFsc28gZG9lc24ndCBsaXN0IGFueXRoaW5nIG1lcmdlZCBpbiBmcm9tIHRoZSAyLjcgcmVsZWFzZSB1bmRlcgpAQCAtNjcsOSArNjcsOSBAQAogRG9jdW1lbnRhdGlvbgogLS0tLS0tLS0tLS0tLQogCi1Eb2N1bWVudGF0aW9uIGZvciBQeXRob24gMy40IGlzIG9ubGluZSwgdXBkYXRlZCBkYWlseToKK0RvY3VtZW50YXRpb24gZm9yIFB5dGhvbiAzLjUgaXMgb25saW5lLCB1cGRhdGVkIGRhaWx5OgogCi0gICAgaHR0cDovL2RvY3MucHl0aG9uLm9yZy8zLjQvCisgICAgaHR0cDovL2RvY3MucHl0aG9uLm9yZy8zLjUvCiAKIEl0IGNhbiBhbHNvIGJlIGRvd25sb2FkZWQgaW4gbWFueSBmb3JtYXRzIGZvciBmYXN0ZXIgYWNjZXNzLiAgVGhlIGRvY3VtZW50YXRpb24KIGlzIGRvd25sb2FkYWJsZSBpbiBIVE1MLCBQREYsIGFuZCByZVN0cnVjdHVyZWRUZXh0IGZvcm1hdHM7IHRoZSBsYXR0ZXIgdmVyc2lvbgpAQCAtOTQsNyArOTQsNyBAQAogQSBzb3VyY2UtdG8tc291cmNlIHRyYW5zbGF0aW9uIHRvb2wsICIydG8zIiwgY2FuIHRha2UgY2FyZSBvZiB0aGUgbXVuZGFuZSB0YXNrCiBvZiBjb252ZXJ0aW5nIGxhcmdlIGFtb3VudHMgb2Ygc291cmNlIGNvZGUuICBJdCBpcyBub3QgYSBjb21wbGV0ZSBzb2x1dGlvbiBidXQKIGlzIGNvbXBsZW1lbnRlZCBieSB0aGUgZGVwcmVjYXRpb24gd2FybmluZ3MgaW4gMi42LiAgU2VlCi1odHRwOi8vZG9jcy5weXRob24ub3JnLzMuNC9saWJyYXJ5LzJ0bzMuaHRtbCBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KK2h0dHA6Ly9kb2NzLnB5dGhvbi5vcmcvMy41L2xpYnJhcnkvMnRvMy5odG1sIGZvciBtb3JlIGluZm9ybWF0aW9uLgogCiAKIFRlc3RpbmcKQEAgLTEzMiw3ICsxMzIsNyBAQAogSW5zdGFsbCB0aGF0IHZlcnNpb24gdXNpbmcgIm1ha2UgaW5zdGFsbCIuICBJbnN0YWxsIGFsbCBvdGhlciB2ZXJzaW9ucyB1c2luZwogIm1ha2UgYWx0aW5zdGFsbCIuCiAKLUZvciBleGFtcGxlLCBpZiB5b3Ugd2FudCB0byBpbnN0YWxsIFB5dGhvbiAyLjYsIDIuNyBhbmQgMy40IHdpdGggMi43IGJlaW5nIHRoZQorRm9yIGV4YW1wbGUsIGlmIHlvdSB3YW50IHRvIGluc3RhbGwgUHl0aG9uIDIuNiwgMi43IGFuZCAzLjUgd2l0aCAyLjcgYmVpbmcgdGhlCiBwcmltYXJ5IHZlcnNpb24sIHlvdSB3b3VsZCBleGVjdXRlICJtYWtlIGluc3RhbGwiIGluIHlvdXIgMi43IGJ1aWxkIGRpcmVjdG9yeQogYW5kICJtYWtlIGFsdGluc3RhbGwiIGluIHRoZSBvdGhlcnMuCiAKQEAgLTE2OCw3ICsxNjgsNyBAQAogUmVsZWFzZSBTY2hlZHVsZQogLS0tLS0tLS0tLS0tLS0tLQogCi1TZWUgUEVQIDQyOSBmb3IgcmVsZWFzZSBkZXRhaWxzOiBodHRwOi8vd3d3LnB5dGhvbi5vcmcvZGV2L3BlcHMvcGVwLTA0MjkvCitTZWUgUEVQIDQ3OCBmb3IgcmVsZWFzZSBkZXRhaWxzOiBodHRwOi8vd3d3LnB5dGhvbi5vcmcvZGV2L3BlcHMvcGVwLTA0NzgvCiAKIAogQ29weXJpZ2h0IGFuZCBMaWNlbnNlIEluZm9ybWF0aW9uCmRpZmYgLS1naXQgYS9Ub29scy9idWlsZGJvdC9SRUFETUUudGNsdGstQU1ENjQgYi9Ub29scy9idWlsZGJvdC9SRUFETUUudGNsdGstQU1ENjQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVkYzg5ZWIuLjAwMDAwMDAKLS0tIGEvVG9vbHMvYnVpbGRib3QvUkVBRE1FLnRjbHRrLUFNRDY0CisrKyAvZGV2L251bGwKQEAgLTEsMzYgKzAsMCBAQAotQ29tbWVudHMgb24gYnVpbGRpbmcgdGNsL3RrIGZvciBBTUQ2NCB3aXRoIHRoZSBNUyBTREsgY29tcGlsZXIKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0KLUkgZGlkIGhhdmUgdG8gYnVpbGQgdGNsL3RrIG1hbnVhbGx5LgotCi1GaXJzdCwgSSBoYWQgdG8gYnVpbGQgdGhlIG5tYWtlaGxwLmV4ZSBoZWxwZXIgdXRpbGl0eSBtYW51YWxseSBieSBleGVjdXRpbmcKLSAgIGNsIG5tYWtlaGxwLmMgL2xpbmsgYnVmZmVyb3ZlcmZsb3dVLmxpYgotaW4gYm90aCB0aGUgdGNsOC40LjEyXHdpbiBhbmQgdGs4LjQuMTJcd2luIGRpcmVjdG9yaWVzLgotCi1TZWNvbmQsIHRoZSBBTUQ2NCBjb21waWxlciByZWZ1c2VzIHRvIGNvbXBpbGUgdGhlIGZpbGUKLXRjbDguNC4xMlxnZW5lcmljXHRjbEV4ZWN1dGUuYyBiZWNhdXNlIGl0IGluc2lzdHMgb24gdXNpbmcgaW50cmluc2ljcwotZm9yIHRoZSAnY2VpbCcgYW5kICdmbG9vcicgZnVuY3Rpb25zOgotCi0gIC4uXGdlbmVyaWNcdGNsRXhlY3V0ZS5jKDM5NCkgOiBlcnJvciBDMjA5OTogaW5pdGlhbGl6ZXIgaXMgbm90IGEgY29uc3RhbnQKLSAgLi5cZ2VuZXJpY1x0Y2xFeGVjdXRlLmMoMzk4KSA6IGVycm9yIEMyMDk5OiBpbml0aWFsaXplciBpcyBub3QgYSBjb25zdGFudAotCi1JIGRpZCBjb21tZW50IG91dCB0aGVzZSBsaW5lczsgYW4gYWx0ZXJuYXRpdmUgd291bGQgaGF2ZSBiZWVuIHRvIHVzZQotdGhlIC9PaS0gY29tcGlsZXIgZmxhZyB0byBkaXNhYmxlIHRoZSBpbnRyaW5zaWMgZnVuY3Rpb25zLgotVGhlIGNvbW1hbmRzIHRoZW4gdXNlZCB3ZXJlIHRoZXNlOgotCi0gICBzdm4gZXhwb3J0IGh0dHA6Ly9zdm4ucHl0aG9uLm9yZy9wcm9qZWN0cy9leHRlcm5hbC90Y2w4LjQuMTIKLSAgIGNkIHRjbDguNC4xMlx3aW4KLSAgIFJFTQotICAgZWNobyBwYXRjaCB0aGUgdGNsOC40LjEyXGdlbmVyaWNcdGNsRXhlY3V0ZS5jIGZpbGUKLSAgIHBhdXNlIAotICAgUkVNCi0gICBjbCBubWFrZWhscC5jIC9saW5rIGJ1ZmZlcm92ZXJmbG93VS5saWIKLSAgIG5tYWtlIC1mIG1ha2VmaWxlLnZjIE1BQ0hJTkU9QU1ENjQKLSAgIG5tYWtlIC1mIG1ha2VmaWxlLnZjIElOU1RBTExESVI9Li5cLi5cdGNsdGsgaW5zdGFsbAotICAgY2QgLi5cLi4KLSAgIHN2biBleHBvcnQgaHR0cDovL3N2bi5weXRob24ub3JnL3Byb2plY3RzL2V4dGVybmFsL3RrOC40LjEyCi0gICBjZCB0azguNC4xMlx3aW4KLSAgIGNsIG5tYWtlaGxwLmMgL2xpbmsgYnVmZmVyb3ZlcmZsb3dVLmxpYgotICAgbm1ha2UgLWYgbWFrZWZpbGUudmMgVENMRElSPS4uXC4uXHRjbDguNC4xMiBNQUNISU5FPUFNRDY0Ci0gICBubWFrZSAtZiBtYWtlZmlsZS52YyBUQ0xESVI9Li5cLi5cdGNsOC40LjEyIElOU1RBTExESVI9Li5cLi5cdGNsdGsgaW5zdGFsbAotICAgY2QgLi5cLi4KZGlmZiAtLWdpdCBhL1Rvb2xzL2J1aWxkYm90L2J1aWxkLWFtZDY0LmJhdCBiL1Rvb2xzL2J1aWxkYm90L2J1aWxkLWFtZDY0LmJhdAppbmRleCA0OTNlNzRkLi4xMTVlMTExIDEwMDY0NAotLS0gYS9Ub29scy9idWlsZGJvdC9idWlsZC1hbWQ2NC5iYXQKKysrIGIvVG9vbHMvYnVpbGRib3QvYnVpbGQtYW1kNjQuYmF0CkBAIC0xLDYgKzEsMiBAQAogQHJlbSBVc2VkIGJ5IHRoZSBidWlsZGJvdCAiY29tcGlsZSIgc3RlcC4KLWNtZCAvYyBUb29sc1xidWlsZGJvdFxleHRlcm5hbC1hbWQ2NC5iYXQKLWNhbGwgIiVWUzEwMENPTU5UT09MUyVcLi5cLi5cVkNcdmN2YXJzYWxsLmJhdCIgeDg2X2FtZDY0Ci1jbWQgL2MgVG9vbHNcYnVpbGRib3RcY2xlYW4tYW1kNjQuYmF0Ci0KLW1zYnVpbGQgUENidWlsZFxwY2J1aWxkLnNsbiAvcDpDb25maWd1cmF0aW9uPURlYnVnIC9wOlBsYXRmb3JtPXg2NAorY2FsbCAiJX5kcDBidWlsZC5iYXQiIC1wIHg2NCAlKgpkaWZmIC0tZ2l0IGEvVG9vbHMvYnVpbGRib3QvYnVpbGQuYmF0IGIvVG9vbHMvYnVpbGRib3QvYnVpbGQuYmF0CmluZGV4IGJlNzliMTAuLjgzYTVkZmQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL2J1aWxkYm90L2J1aWxkLmJhdAorKysgYi9Ub29scy9idWlsZGJvdC9idWlsZC5iYXQKQEAgLTEsNyArMSwyMCBAQAogQHJlbSBVc2VkIGJ5IHRoZSBidWlsZGJvdCAiY29tcGlsZSIgc3RlcC4KLWNtZCAvYyBUb29sc1xidWlsZGJvdFxleHRlcm5hbC5iYXQKLWNhbGwgIiVWUzEwMENPTU5UT09MUyV2c3ZhcnMzMi5iYXQiCi1jbWQgL2MgVG9vbHNcYnVpbGRib3RcY2xlYW4uYmF0CiAKLW1zYnVpbGQgUENidWlsZFxwY2J1aWxkLnNsbiAvcDpDb25maWd1cmF0aW9uPURlYnVnIC9wOlBsYXRmb3JtPVdpbjMyCitAcmVtIENsZWFuIHVwCitzZXQgUExBVD0KK2lmICclMScgRVFVICctcCcgaWYgJyUyJyBFUVUgJ3g2NCcgKHNldCBQTEFUPS1hbWQ2NCkKIAorY2FsbCAiJX5kcDBjbGVhbiVQTEFUJS5iYXQiCisKK0ByZW0gSWYgeW91IG5lZWQgdGhlIGJ1aWxkYm90cyB0byBzdGFydCBmcmVzaCAoc3VjaCBhcyB3aGVuIHVwZ3JhZGluZyB0bworQHJlbSBhIG5ldyB2ZXJzaW9uIG9mIGFuIGV4dGVybmFsIGxpYnJhcnksIGVzcGVjaWFsbHkgVGNsL1RrKToKK0ByZW0gMSkgdW5jb21tZW50IHRoZSBmb2xsb3dpbmcgbGluZToKKworQHJlbSAgICBjYWxsICIlfmRwMC4uXC4uXFBDYnVpbGRcZ2V0X2V4dGVybmFscy5iYXQiIC0tY2xlYW4tb25seQorCitAcmVtIDIpIGNvbW1pdCBhbmQgcHVzaAorQHJlbSAzKSB3YWl0IGZvciBhbGwgV2luZG93cyBib3RzIHRvIHN0YXJ0IGEgYnVpbGQgd2l0aCB0aGF0IGNoYW5nZXNldAorQHJlbSA0KSByZS1jb21tZW50LCBjb21taXQgYW5kIHB1c2ggYWdhaW4KKworQHJlbSBEbyB0aGUgYnVpbGQKK2NhbGwgIiV+ZHAwLi5cLi5cUENidWlsZFxidWlsZC5iYXQiIC1lIC1kIC12ICUqCmRpZmYgLS1naXQgYS9Ub29scy9idWlsZGJvdC9idWlsZG1zaS5iYXQgYi9Ub29scy9idWlsZGJvdC9idWlsZG1zaS5iYXQKaW5kZXggYWU5M2U2Ny4uNjgwNGQ3OSAxMDA2NDQKLS0tIGEvVG9vbHMvYnVpbGRib3QvYnVpbGRtc2kuYmF0CisrKyBiL1Rvb2xzL2J1aWxkYm90L2J1aWxkbXNpLmJhdApAQCAtMSwyMSArMSw5IEBACiBAcmVtIFVzZWQgYnkgdGhlIGJ1aWxkYm90ICJidWlsZG1zaSIgc3RlcC4KK3NldGxvY2FsCiAKLWNtZCAvYyBUb29sc1xidWlsZGJvdFxleHRlcm5hbC5iYXQKLUByZW0gYnVpbGQgcmVsZWFzZSB2ZXJzaW9ucyBvZiB0aGluZ3MKLWNhbGwgIiVWUzEwMENPTU5UT09MUyV2c3ZhcnMzMi5iYXQiCitwdXNoZAogCi1AcmVtIGJ1aWxkIFB5dGhvbgotbXNidWlsZCAvcDp1c2VlbnY9dHJ1ZSBQQ2J1aWxkXHBjYnVpbGQuc2xuIC9wOkNvbmZpZ3VyYXRpb249UmVsZWFzZSAvcDpQbGF0Zm9ybT1XaW4zMgorQHJlbSBidWlsZCBib3RoIHNuYXBzaG90IE1TSXMKK2NhbGwgIiV+ZHAwLi5cbXNpXGJ1aWxkLmJhdCIgLXg4NiAteDY0CiAKLUByZW0gYnVpbGQgdGhlIGRvY3VtZW50YXRpb24KLWJhc2guZXhlIC1jICdjZCBEb2M7bWFrZSBQWVRIT049cHl0aG9uMi41IHVwZGF0ZSBodG1saGVscCcKLSIlUHJvZ3JhbUZpbGVzJVxIVE1MIEhlbHAgV29ya3Nob3BcaGhjLmV4ZSIgRG9jXGJ1aWxkXGh0bWxoZWxwXHB5dGhvbjI2YTMuaGhwCi0KLUByZW0gYnVpbGQgdGhlIE1TSSBmaWxlCi1jZCBQQwotbm1ha2UgL2YgaWNvbnMubWFrCi1jZCAuLlxUb29sc1xtc2kKLWRlbCAqLm1zaQotbm1ha2UgL2YgbXNpc3VwcG9ydC5tYWsKLSVIT1NUX1BZVEhPTiUgbXNpLnB5Ci0KK3BvcGQKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9idWlsZGJvdC9jbGVhbi1hbWQ2NC5iYXQgYi9Ub29scy9idWlsZGJvdC9jbGVhbi1hbWQ2NC5iYXQKaW5kZXggMjQ2NjBhZi4uYjQ4ODJjMiAxMDA2NDQKLS0tIGEvVG9vbHMvYnVpbGRib3QvY2xlYW4tYW1kNjQuYmF0CisrKyBiL1Rvb2xzL2J1aWxkYm90L2NsZWFuLWFtZDY0LmJhdApAQCAtMSwxMCArMSwyIEBACiBAcmVtIFVzZWQgYnkgdGhlIGJ1aWxkYm90ICJjbGVhbiIgc3RlcC4KLWNhbGwgIiVWUzEwMENPTU5UT09MUyVcLi5cLi5cVkNcdmN2YXJzYWxsLmJhdCIgeDg2X2FtZDY0Ci1AZWNobyBEZWxldGluZyAucHljLy5weW8gZmlsZXMgLi4uCi1kZWwgL3MgTGliXCoucHljIExpYlwqLnB5bwotQGVjaG8gRGVsZXRpbmcgdGVzdCBsZWZ0b3ZlcnMgLi4uCi1ybWRpciAvcyAvcSBidWlsZAotY2QgUENidWlsZAotbXNidWlsZCAvdGFyZ2V0OmNsZWFuIHBjYnVpbGQuc2xuIC9wOkNvbmZpZ3VyYXRpb249UmVsZWFzZSAvcDpQbGF0Zm9ybVRhcmdldD14NjQKLW1zYnVpbGQgL3RhcmdldDpjbGVhbiBwY2J1aWxkLnNsbiAvcDpDb25maWd1cmF0aW9uPURlYnVnIC9wOlBsYXRmb3JtVGFyZ2V0PXg2NAotY2QgLi4KK0BjYWxsICIlfmRwMGNsZWFuLmJhdCIgeDY0CmRpZmYgLS1naXQgYS9Ub29scy9idWlsZGJvdC9jbGVhbi5iYXQgYi9Ub29scy9idWlsZGJvdC9jbGVhbi5iYXQKaW5kZXggMjE4ZmFjYy4uMDkzMjhiYyAxMDA2NDQKLS0tIGEvVG9vbHMvYnVpbGRib3QvY2xlYW4uYmF0CisrKyBiL1Rvb2xzL2J1aWxkYm90L2NsZWFuLmJhdApAQCAtMSw4ICsxLDI5IEBACi1AcmVtIFVzZWQgYnkgdGhlIGJ1aWxkYm90ICJjbGVhbiIgc3RlcC4KLWNhbGwgIiVWUzEwMENPTU5UT09MUyV2c3ZhcnMzMi5iYXQiCi1AZWNobyBEZWxldGluZyB0ZXN0IGxlZnRvdmVycyAuLi4KLXJtZGlyIC9zIC9xIGJ1aWxkCi1jZCBQQ2J1aWxkCi1tc2J1aWxkIC90YXJnZXQ6Y2xlYW4gcGNidWlsZC5zbG4gL3A6Q29uZmlndXJhdGlvbj1SZWxlYXNlIC9wOlBsYXRmb3JtVGFyZ2V0PXg4NgotbXNidWlsZCAvdGFyZ2V0OmNsZWFuIHBjYnVpbGQuc2xuIC9wOkNvbmZpZ3VyYXRpb249RGVidWcgL3A6UGxhdGZvcm1UYXJnZXQ9eDg2Ci1jZCAuLgorQGVjaG8gb2ZmCityZW0gVXNlZCBieSB0aGUgYnVpbGRib3QgImNsZWFuIiBzdGVwLgorCitzZXRsb2NhbAorc2V0IHJvb3Q9JX5kcDAuLlwuLgorc2V0IHBjYnVpbGQ9JXJvb3QlXFBDYnVpbGQKKworaWYgIiUxIiA9PSAieDY0IiAoCisgICAgc2V0IHZjdmFyc190YXJnZXQ9eDg2X2FtZDY0CisgICAgc2V0IHBsYXRmb3JtPXg2NAorKSBlbHNlICgKKyAgICBzZXQgdmN2YXJzX3RhcmdldD14ODYKKyAgICBzZXQgcGxhdGZvcm09V2luMzIKKykKKworY2FsbCAiJXBjYnVpbGQlXGVudi5iYXQiICV2Y3ZhcnNfdGFyZ2V0JQorCitlY2hvLkF0dGVtcHRpbmcgdG8ga2lsbCBQeXRob25zLi4uCittc2J1aWxkIC92Om0gL25vbG9nbyAvdGFyZ2V0OktpbGxQeXRob24gIiVwY2J1aWxkJVxweXRob25jb3JlLnZjeHByb2oiIC9wOkNvbmZpZ3VyYXRpb249UmVsZWFzZSAvcDpQbGF0Zm9ybT0lcGxhdGZvcm0lIC9wOktpbGxQeXRob249dHJ1ZQorCitlY2hvIERlbGV0aW5nIC5weWMvLnB5byBmaWxlcyAuLi4KK2RlbCAvcyAiJXJvb3QlXExpYlwqLnB5YyIgIiVyb290JVxMaWJcKi5weW8iCisKK2VjaG8gRGVsZXRpbmcgdGVzdCBsZWZ0b3ZlcnMgLi4uCitybWRpciAvcyAvcSAiJXJvb3QlXGJ1aWxkIgorCitlY2hvIERlbGV0aW5nIGJ1aWxkCittc2J1aWxkIC92Om0gL25vbG9nbyAvdGFyZ2V0OmNsZWFuICIlcGNidWlsZCVccGNidWlsZC5wcm9qIiAvcDpDb25maWd1cmF0aW9uPVJlbGVhc2UgL3A6UGxhdGZvcm09JXBsYXRmb3JtJQorbXNidWlsZCAvdjptIC9ub2xvZ28gL3RhcmdldDpjbGVhbiAiJXBjYnVpbGQlXHBjYnVpbGQucHJvaiIgL3A6Q29uZmlndXJhdGlvbj1EZWJ1ZyAvcDpQbGF0Zm9ybT0lcGxhdGZvcm0lCmRpZmYgLS1naXQgYS9Ub29scy9idWlsZGJvdC9leHRlcm5hbC1hbWQ2NC5iYXQgYi9Ub29scy9idWlsZGJvdC9leHRlcm5hbC1hbWQ2NC5iYXQKaW5kZXggYWNkNDU0ZS4uN2E1NzBkOSAxMDA2NDQKLS0tIGEvVG9vbHMvYnVpbGRib3QvZXh0ZXJuYWwtYW1kNjQuYmF0CisrKyBiL1Rvb2xzL2J1aWxkYm90L2V4dGVybmFsLWFtZDY0LmJhdApAQCAtMSwyOCArMSwyIEBACi1AcmVtIEZldGNoZXMgKGFuZCBidWlsZHMgaWYgbmVjZXNzYXJ5KSBleHRlcm5hbCBkZXBlbmRlbmNpZXMKLQotQHJlbSBBc3N1bWUgd2Ugc3RhcnQgaW5zaWRlIHRoZSBQeXRob24gc291cmNlIGRpcmVjdG9yeQotY2FsbCAiVG9vbHNcYnVpbGRib3RcZXh0ZXJuYWwtY29tbW9uLmJhdCIKLWNhbGwgIiVWUzEwMENPTU5UT09MUyVcLi5cLi5cVkNcdmN2YXJzYWxsLmJhdCIgeDg2X2FtZDY0Ci0KLWlmIG5vdCBleGlzdCB0Y2x0azY0XGJpblx0Y2w4NnRnLmRsbCAoCi0gICAgY2QgdGNsLTguNi4xLjBcd2luCi0gICAgbm1ha2UgLWYgbWFrZWZpbGUudmMgT1BUUz1zeW1ib2xzIE1BQ0hJTkU9QU1ENjQgSU5TVEFMTERJUj0uLlwuLlx0Y2x0azY0IGNsZWFuIGNvcmUgc2hlbGwgZGxscwotICAgIG5tYWtlIC1mIG1ha2VmaWxlLnZjIE9QVFM9c3ltYm9scyBNQUNISU5FPUFNRDY0IElOU1RBTExESVI9Li5cLi5cdGNsdGs2NCBpbnN0YWxsLWJpbmFyaWVzIGluc3RhbGwtbGlicmFyaWVzCi0gICAgY2QgLi5cLi4KLSkKLQotaWYgbm90IGV4aXN0IHRjbHRrNjRcYmluXHRrODZ0Zy5kbGwgKAotICAgIGNkIHRrLTguNi4xLjBcd2luCi0gICAgbm1ha2UgLWYgbWFrZWZpbGUudmMgT1BUUz1zeW1ib2xzIE1BQ0hJTkU9QU1ENjQgSU5TVEFMTERJUj0uLlwuLlx0Y2x0azY0IFRDTERJUj0uLlwuLlx0Y2wtOC42LjEuMCBjbGVhbgotICAgIG5tYWtlIC1mIG1ha2VmaWxlLnZjIE9QVFM9c3ltYm9scyBNQUNISU5FPUFNRDY0IElOU1RBTExESVI9Li5cLi5cdGNsdGs2NCBUQ0xESVI9Li5cLi5cdGNsLTguNi4xLjAgYWxsCi0gICAgbm1ha2UgLWYgbWFrZWZpbGUudmMgT1BUUz1zeW1ib2xzIE1BQ0hJTkU9QU1ENjQgSU5TVEFMTERJUj0uLlwuLlx0Y2x0azY0IFRDTERJUj0uLlwuLlx0Y2wtOC42LjEuMCBpbnN0YWxsLWJpbmFyaWVzIGluc3RhbGwtbGlicmFyaWVzCi0gICAgY2QgLi5cLi4KLSkKLQotaWYgbm90IGV4aXN0IHRjbHRrNjRcbGliXHRpeDguNC4zXHRpeDg0Zy5kbGwgKAotICAgIGNkIHRpeC04LjQuMy40XHdpbgotICAgIG5tYWtlIC1mIHB5dGhvbi5tYWsgREVCVUc9MSBNQUNISU5FPUFNRDY0IFRDTF9ESVI9Li5cLi5cdGNsLTguNi4xLjAgVEtfRElSPS4uXC4uXHRrLTguNi4xLjAgSU5TVEFMTF9ESVI9Li5cLi5cdGNsdGs2NCBjbGVhbgotICAgIG5tYWtlIC1mIHB5dGhvbi5tYWsgREVCVUc9MSBNQUNISU5FPUFNRDY0IFRDTF9ESVI9Li5cLi5cdGNsLTguNi4xLjAgVEtfRElSPS4uXC4uXHRrLTguNi4xLjAgSU5TVEFMTF9ESVI9Li5cLi5cdGNsdGs2NCBhbGwKLSAgICBubWFrZSAtZiBweXRob24ubWFrIERFQlVHPTEgTUFDSElORT1BTUQ2NCBUQ0xfRElSPS4uXC4uXHRjbC04LjYuMS4wIFRLX0RJUj0uLlwuLlx0ay04LjYuMS4wIElOU1RBTExfRElSPS4uXC4uXHRjbHRrNjQgaW5zdGFsbAotICAgIGNkIC4uXC4uCi0pCitAZWNobyBQbGVhc2UgdXNlIFBDYnVpbGRcZ2V0X2V4dGVybmFscy5iYXQgaW5zdGVhZC4KK0AiJX5kcDAuLlwuLlxQQ2J1aWxkXGdldF9leHRlcm5hbHMuYmF0IiAlKgpkaWZmIC0tZ2l0IGEvVG9vbHMvYnVpbGRib3QvZXh0ZXJuYWwtY29tbW9uLmJhdCBiL1Rvb2xzL2J1aWxkYm90L2V4dGVybmFsLWNvbW1vbi5iYXQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI0OWI0OTguLjAwMDAwMDAKLS0tIGEvVG9vbHMvYnVpbGRib3QvZXh0ZXJuYWwtY29tbW9uLmJhdAorKysgL2Rldi9udWxsCkBAIC0xLDU0ICswLDAgQEAKLUByZW0gQ29tbW9uIGZpbGUgc2hhcmVkIGJldHdlZW4gZXh0ZXJuYWwuYmF0IGFuZCBleHRlcm5hbC1hbWQ2NC5iYXQuICBSZXNwb25zaWJsZSBmb3IKLUByZW0gZmV0Y2hpbmcgZXh0ZXJuYWwgY29tcG9uZW50cyBpbnRvIHRoZSByb290XC4uIGJ1aWxkYm90IGRpcmVjdG9yaWVzLgotCi1pZiAiJVNWTlJPT1QlIj09IiIgc2V0IFNWTlJPT1Q9aHR0cDovL3N2bi5weXRob24ub3JnL3Byb2plY3RzL2V4dGVybmFsLwotCi1pZiBub3QgZXhpc3QgZXh0ZXJuYWxzIG1rZGlyIGV4dGVybmFscwotY2QgZXh0ZXJuYWxzCi1AcmVtIFhYWDogSWYgeW91IG5lZWQgdG8gZm9yY2UgdGhlIGJ1aWxkYm90cyB0byBzdGFydCBmcm9tIGEgZnJlc2ggZW52aXJvbm1lbnQsIHVuY29tbWVudAotQHJlbSB0aGUgZm9sbG93aW5nLCBjaGVjayBpdCBpbiwgdGhlbiBjaGVjayBpdCBvdXQsIGNvbW1lbnQgaXQgb3V0LCB0aGVuIGNoZWNrIGl0IGJhY2sgaW4uCi1AcmVtIGlmIGV4aXN0IGJ6aXAyLTEuMC42IHJkIC9zL3EgYnppcDItMS4wLjYKLUByZW0gaWYgZXhpc3QgdGNsdGsgcmQgL3MvcSB0Y2x0awotQHJlbSBpZiBleGlzdCB0Y2x0azY0IHJkIC9zL3EgdGNsdGs2NAotQHJlbSBpZiBleGlzdCB0Y2wtOC42LjEuMCByZCAvcy9xIHRjbC04LjYuMS4wCi1AcmVtIGlmIGV4aXN0IHRrLTguNi4xLjAgcmQgL3MvcSB0ay04LjYuMS4wCi1AcmVtIGlmIGV4aXN0IHRpeC04LjQuMy40IHJkIC9zL3EgdGl4LTguNC4zLjQKLUByZW0gaWYgZXhpc3QgZGItNC40LjIwIHJkIC9zL3EgZGItNC40LjIwCi1AcmVtIGlmIGV4aXN0IG9wZW5zc2wtMS4wLjFsIHJkIC9zL3Egb3BlbnNzbC0xLjAuMWwKLUByZW0gaWYgZXhpc3Qgc3FsaXRlLTMuNy4xMiByZCAvcy9xIHNxbGl0ZS0zLjcuMTIKLQotQHJlbSBiemlwCi1pZiBub3QgZXhpc3QgYnppcDItMS4wLjYgKAotICAgcmQgL3MvcSBiemlwMi0xLjAuNQotICBzdm4gZXhwb3J0ICVTVk5ST09UJWJ6aXAyLTEuMC42Ci0pCi0KLUByZW0gTkFTTSwgZm9yIE9wZW5TU0wgYnVpbGQKLUByZW0gaWYgZXhpc3QgbmFzbS0yLjExLjA2IHJkIC9zL3EgbmFzbS0yLjExLjA2Ci1pZiBub3QgZXhpc3QgbmFzbS0yLjExLjA2IHN2biBleHBvcnQgJVNWTlJPT1QlbmFzbS0yLjExLjA2Ci0KLUByZW0gT3BlblNTTAotaWYgbm90IGV4aXN0IG9wZW5zc2wtMS4wLjFsICgKLSAgICByZCAvcy9xIG9wZW5zc2wtMS4wLjFqCi0gICAgc3ZuIGV4cG9ydCAlU1ZOUk9PVCVvcGVuc3NsLTEuMC4xbAotKQotCi1AcmVtIHRjbC90awotaWYgbm90IGV4aXN0IHRjbC04LjYuMS4wICgKLSAgIHJkIC9zL3EgdGNsdGsgdGNsdGs2NCB0Y2wtOC41LjExLjAgdGstOC41LjExLjAKLSAgIHN2biBleHBvcnQgJVNWTlJPT1QldGNsLTguNi4xLjAKLSkKLWlmIG5vdCBleGlzdCB0ay04LjYuMS4wIHN2biBleHBvcnQgJVNWTlJPT1QldGstOC42LjEuMAotaWYgbm90IGV4aXN0IHRpeC04LjQuMy40IHN2biBleHBvcnQgJVNWTlJPT1QldGl4LTguNC4zLjQKLQotQHJlbSBzcWxpdGUzCi1pZiBub3QgZXhpc3Qgc3FsaXRlLTMuOC4zLjEgKAotICByZCAvcy9xIHNxbGl0ZS1zb3VyY2UtMy44LjEKLSAgc3ZuIGV4cG9ydCAlU1ZOUk9PVCVzcWxpdGUtMy44LjMuMQotKQotCi1AcmVtIGx6bWEKLWlmIG5vdCBleGlzdCB4ei01LjAuNSAoCi0gIHJkIC9zL3EgeHotNS4wLjMKLSAgc3ZuIGV4cG9ydCAlU1ZOUk9PVCV4ei01LjAuNQotKQpkaWZmIC0tZ2l0IGEvVG9vbHMvYnVpbGRib3QvZXh0ZXJuYWwuYmF0IGIvVG9vbHMvYnVpbGRib3QvZXh0ZXJuYWwuYmF0CmluZGV4IDM4NzdkOGQuLjdhNTcwZDkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL2J1aWxkYm90L2V4dGVybmFsLmJhdAorKysgYi9Ub29scy9idWlsZGJvdC9leHRlcm5hbC5iYXQKQEAgLTEsMjkgKzEsMiBAQAotQHJlbSBGZXRjaGVzIChhbmQgYnVpbGRzIGlmIG5lY2Vzc2FyeSkgZXh0ZXJuYWwgZGVwZW5kZW5jaWVzCi0KLUByZW0gQXNzdW1lIHdlIHN0YXJ0IGluc2lkZSB0aGUgUHl0aG9uIHNvdXJjZSBkaXJlY3RvcnkKLWNhbGwgIlRvb2xzXGJ1aWxkYm90XGV4dGVybmFsLWNvbW1vbi5iYXQiCi1jYWxsICIlVlMxMDBDT01OVE9PTFMlXHZzdmFyczMyLmJhdCIKLQotaWYgbm90IGV4aXN0IHRjbHRrXGJpblx0Y2w4NnRnLmRsbCAoCi0gICAgQHJlbSBhbGwgYW5kIGluc3RhbGwgbmVlZCB0byBiZSBzZXBhcmF0ZSBpbnZvY2F0aW9ucywgb3RoZXJ3aXNlIG5tYWtlaGxwIGlzIG5vdCBmb3VuZCBvbiBpbnN0YWxsCi0gICAgY2QgdGNsLTguNi4xLjBcd2luCi0gICAgbm1ha2UgLWYgbWFrZWZpbGUudmMgT1BUUz1zeW1ib2xzIElOU1RBTExESVI9Li5cLi5cdGNsdGsgY2xlYW4gY29yZSBzaGVsbCBkbGxzCi0gICAgbm1ha2UgLWYgbWFrZWZpbGUudmMgT1BUUz1zeW1ib2xzIElOU1RBTExESVI9Li5cLi5cdGNsdGsgaW5zdGFsbC1iaW5hcmllcyBpbnN0YWxsLWxpYnJhcmllcwotICAgIGNkIC4uXC4uCi0pCi0KLWlmIG5vdCBleGlzdCB0Y2x0a1xiaW5cdGs4NnRnLmRsbCAoCi0gICAgY2QgdGstOC42LjEuMFx3aW4KLSAgICBubWFrZSAtZiBtYWtlZmlsZS52YyBPUFRTPXN5bWJvbHMgSU5TVEFMTERJUj0uLlwuLlx0Y2x0ayBUQ0xESVI9Li5cLi5cdGNsLTguNi4xLjAgY2xlYW4KLSAgICBubWFrZSAtZiBtYWtlZmlsZS52YyBPUFRTPXN5bWJvbHMgSU5TVEFMTERJUj0uLlwuLlx0Y2x0ayBUQ0xESVI9Li5cLi5cdGNsLTguNi4xLjAgYWxsCi0gICAgbm1ha2UgLWYgbWFrZWZpbGUudmMgT1BUUz1zeW1ib2xzIElOU1RBTExESVI9Li5cLi5cdGNsdGsgVENMRElSPS4uXC4uXHRjbC04LjYuMS4wIGluc3RhbGwtYmluYXJpZXMgaW5zdGFsbC1saWJyYXJpZXMKLSAgICBjZCAuLlwuLgotKQotCi1pZiBub3QgZXhpc3QgdGNsdGtcbGliXHRpeDguNC4zXHRpeDg0Zy5kbGwgKAotICAgIGNkIHRpeC04LjQuMy40XHdpbgotICAgIG5tYWtlIC1mIHB5dGhvbi5tYWsgREVCVUc9MSBNQUNISU5FPUlYODYgVENMX0RJUj0uLlwuLlx0Y2wtOC42LjEuMCBUS19ESVI9Li5cLi5cdGstOC42LjEuMCBJTlNUQUxMX0RJUj0uLlwuLlx0Y2x0ayBjbGVhbgotICAgIG5tYWtlIC1mIHB5dGhvbi5tYWsgREVCVUc9MSBNQUNISU5FPUlYODYgVENMX0RJUj0uLlwuLlx0Y2wtOC42LjEuMCBUS19ESVI9Li5cLi5cdGstOC42LjEuMCBJTlNUQUxMX0RJUj0uLlwuLlx0Y2x0ayBhbGwKLSAgICBubWFrZSAtZiBweXRob24ubWFrIERFQlVHPTEgTUFDSElORT1JWDg2IFRDTF9ESVI9Li5cLi5cdGNsLTguNi4xLjAgVEtfRElSPS4uXC4uXHRrLTguNi4xLjAgSU5TVEFMTF9ESVI9Li5cLi5cdGNsdGsgaW5zdGFsbAotICAgIGNkIC4uXC4uCi0pCitAZWNobyBQbGVhc2UgdXNlIFBDYnVpbGRcZ2V0X2V4dGVybmFscy5iYXQgaW5zdGVhZC4KK0AiJX5kcDAuLlwuLlxQQ2J1aWxkXGdldF9leHRlcm5hbHMuYmF0IiAlKgpkaWZmIC0tZ2l0IGEvVG9vbHMvYnVpbGRib3QvdGVzdC1hbWQ2NC5iYXQgYi9Ub29scy9idWlsZGJvdC90ZXN0LWFtZDY0LmJhdAppbmRleCBkZTY0ZjI1Li43YTI0MWY1IDEwMDY0NAotLS0gYS9Ub29scy9idWlsZGJvdC90ZXN0LWFtZDY0LmJhdAorKysgYi9Ub29scy9idWlsZGJvdC90ZXN0LWFtZDY0LmJhdApAQCAtMSwzICsxLDcgQEAKIEByZW0gVXNlZCBieSB0aGUgYnVpbGRib3QgInRlc3QiIHN0ZXAuCi1jZCBQQ2J1aWxkCi1jYWxsIHJ0LmJhdCAtZCAtcSAteDY0IC11YWxsIC1yd1cgLW4gLS10aW1lb3V0PTM2MDAgJTEgJTIgJTMgJTQgJTUgJTYgJTcgJTggJTkKKworc2V0bG9jYWwKK3JlbSBUaGUgZm9sbG93aW5nIGxpbmUgc2hvdWxkIGJlIHJlbW92ZWQgYmVmb3JlICMyMDAzNSBpcyBjbG9zZWQKK3NldCBUQ0xfTElCUkFSWT0lfmRwMC4uXC4uXGV4dGVybmFsc1x0Y2x0azY0XGxpYlx0Y2w4LjYKKworY2FsbCAiJX5kcDAuLlwuLlxQQ2J1aWxkXHJ0LmJhdCIgLWQgLXEgLXg2NCAtdWFsbCAtcndXIC1uIC0tdGltZW91dD0zNjAwICUqCmRpZmYgLS1naXQgYS9Ub29scy9idWlsZGJvdC90ZXN0LmJhdCBiL1Rvb2xzL2J1aWxkYm90L3Rlc3QuYmF0CmluZGV4IDRlNGRiMTAuLjZhNjQ0OGMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL2J1aWxkYm90L3Rlc3QuYmF0CisrKyBiL1Rvb2xzL2J1aWxkYm90L3Rlc3QuYmF0CkBAIC0xLDMgKzEsNyBAQAogQHJlbSBVc2VkIGJ5IHRoZSBidWlsZGJvdCAidGVzdCIgc3RlcC4KLWNkIFBDYnVpbGQKLWNhbGwgcnQuYmF0IC1kIC1xIC11YWxsIC1yd1cgLW4gLS10aW1lb3V0PTM2MDAgJTEgJTIgJTMgJTQgJTUgJTYgJTcgJTggJTkKKworc2V0bG9jYWwKK3JlbSBUaGUgZm9sbG93aW5nIGxpbmUgc2hvdWxkIGJlIHJlbW92ZWQgYmVmb3JlICMyMDAzNSBpcyBjbG9zZWQKK3NldCBUQ0xfTElCUkFSWT0lfmRwMC4uXC4uXGV4dGVybmFsc1x0Y2x0a1xsaWJcdGNsOC42CisKK2NhbGwgIiV+ZHAwLi5cLi5cUENidWlsZFxydC5iYXQiIC1kIC1xIC11YWxsIC1yd1cgLW4gLS10aW1lb3V0PTM2MDAgJSoKZGlmZiAtLWdpdCBhL1Rvb2xzL2NsaW5pYy9jbGluaWMucHkgYi9Ub29scy9jbGluaWMvY2xpbmljLnB5CmluZGV4IDY1YmFkNTEuLjIzZjY2NDggMTAwNzU1Ci0tLSBhL1Rvb2xzL2NsaW5pYy9jbGluaWMucHkKKysrIGIvVG9vbHMvY2xpbmljL2NsaW5pYy5weQpAQCAtMTI1MiwxMCArMTI1MiwxMSBAQAogICAgICAgICBtYXRjaCA9IHNlbGYuc3RhcnRfcmUubWF0Y2gobGluZS5sc3RyaXAoKSkKICAgICAgICAgcmV0dXJuIG1hdGNoLmdyb3VwKDEpIGlmIG1hdGNoIGVsc2UgTm9uZQogCi0gICAgZGVmIF9saW5lKHNlbGYpOgorICAgIGRlZiBfbGluZShzZWxmLCBsb29rYWhlYWQ9RmFsc2UpOgogICAgICAgICBzZWxmLmxpbmVfbnVtYmVyICs9IDEKICAgICAgICAgbGluZSA9IHNlbGYuaW5wdXQucG9wKCkKLSAgICAgICAgc2VsZi5sYW5ndWFnZS5wYXJzZV9saW5lKGxpbmUpCisgICAgICAgIGlmIG5vdCBsb29rYWhlYWQ6CisgICAgICAgICAgICBzZWxmLmxhbmd1YWdlLnBhcnNlX2xpbmUobGluZSkKICAgICAgICAgcmV0dXJuIGxpbmUKIAogICAgIGRlZiBwYXJzZV92ZXJiYXRpbV9ibG9jayhzZWxmKToKQEAgLTEzMTEsNyArMTMxMiw3IEBACiAgICAgICAgIG91dHB1dF9hZGQsIG91dHB1dF9vdXRwdXQgPSB0ZXh0X2FjY3VtdWxhdG9yKCkKICAgICAgICAgYXJndW1lbnRzID0gTm9uZQogICAgICAgICB3aGlsZSBzZWxmLmlucHV0OgotICAgICAgICAgICAgbGluZSA9IHNlbGYuX2xpbmUoKQorICAgICAgICAgICAgbGluZSA9IHNlbGYuX2xpbmUobG9va2FoZWFkPVRydWUpCiAgICAgICAgICAgICBtYXRjaCA9IGNoZWNrc3VtX3JlLm1hdGNoKGxpbmUubHN0cmlwKCkpCiAgICAgICAgICAgICBhcmd1bWVudHMgPSBtYXRjaC5ncm91cCgxKSBpZiBtYXRjaCBlbHNlIE5vbmUKICAgICAgICAgICAgIGlmIGFyZ3VtZW50czoKQEAgLTI0MjUsMTEgKzI0MjYsMTMgQEAKICAgICBmb3JtYXRfdW5pdCA9ICdpJwogICAgIGNfaWdub3JlZF9kZWZhdWx0ID0gIjAiCiAKLSAgICBkZWYgY29udmVydGVyX2luaXQoc2VsZiwgKiwgdHlwZXM9J2ludCcpOgorICAgIGRlZiBjb252ZXJ0ZXJfaW5pdChzZWxmLCAqLCB0eXBlcz0naW50JywgdHlwZT1Ob25lKToKICAgICAgICAgaWYgdHlwZXMgPT0gJ3N0cic6CiAgICAgICAgICAgICBzZWxmLmZvcm1hdF91bml0ID0gJ0MnCiAgICAgICAgIGVsaWYgdHlwZXMgIT0gJ2ludCc6CiAgICAgICAgICAgICBmYWlsKCJpbnRfY29udmVydGVyOiBpbGxlZ2FsICd0eXBlcycgYXJndW1lbnQiKQorICAgICAgICBpZiB0eXBlICE9IE5vbmU6CisgICAgICAgICAgICBzZWxmLnR5cGUgPSB0eXBlCiAKIGNsYXNzIHVuc2lnbmVkX2ludF9jb252ZXJ0ZXIoQ0NvbnZlcnRlcik6CiAgICAgdHlwZSA9ICd1bnNpZ25lZCBpbnQnCkBAIC0yNTMyLDkgKzI1MzUsOSBAQAogICAgICAgICBsZW5ndGg9RmFsc2UsIG51bGxhYmxlPUZhbHNlLCB6ZXJvZXM9RmFsc2UpOgogCiAgICAgICAgIHR5cGVzID0gc2V0KHR5cGVzLnN0cmlwKCkuc3BsaXQoKSkKLSAgICAgICAgYnl0ZXNfdHlwZSA9IHNldCgoImJ5dGVzIiwpKQotICAgICAgICBzdHJfdHlwZSA9IHNldCgoInN0ciIsKSkKLSAgICAgICAgYWxsXzNfdHlwZSA9IHNldCgoImJ5dGVhcnJheSIsKSkgfCBieXRlc190eXBlIHwgc3RyX3R5cGUKKyAgICAgICAgYnl0ZXNfdHlwZSA9IHsiYnl0ZXMifQorICAgICAgICBzdHJfdHlwZSA9IHsic3RyIn0KKyAgICAgICAgYWxsXzNfdHlwZSA9IHsiYnl0ZWFycmF5In0gfCBieXRlc190eXBlIHwgc3RyX3R5cGUKICAgICAgICAgaXNfYnl0ZXMgPSB0eXBlcyA9PSBieXRlc190eXBlCiAgICAgICAgIGlzX3N0ciA9IHR5cGVzID09IHN0cl90eXBlCiAgICAgICAgIGlzX2FsbF8zID0gdHlwZXMgPT0gYWxsXzNfdHlwZQpAQCAtMjYzMCwxMiArMjYzMywxMiBAQAogICAgICAgICAgICAgZmFpbCgiVGhlIG9ubHkgbGVnYWwgZGVmYXVsdCB2YWx1ZSBmb3IgUHlfYnVmZmVyIGlzIE5vbmUuIikKICAgICAgICAgc2VsZi5jX2RlZmF1bHQgPSBzZWxmLmNfaWdub3JlZF9kZWZhdWx0CiAgICAgICAgIHR5cGVzID0gc2V0KHR5cGVzLnN0cmlwKCkuc3BsaXQoKSkKLSAgICAgICAgYnl0ZXNfdHlwZSA9IHNldCgoJ2J5dGVzJywpKQotICAgICAgICBieXRlYXJyYXlfdHlwZSA9IHNldCgoJ2J5dGVhcnJheScsKSkKLSAgICAgICAgYnVmZmVyX3R5cGUgPSBzZXQoKCdidWZmZXInLCkpCi0gICAgICAgIHJ3YnVmZmVyX3R5cGUgPSBzZXQoKCdyd2J1ZmZlcicsKSkKLSAgICAgICAgcm9idWZmZXJfdHlwZSA9IHNldCgoJ3JvYnVmZmVyJywpKQotICAgICAgICBzdHJfdHlwZSA9IHNldCgoJ3N0cicsKSkKKyAgICAgICAgYnl0ZXNfdHlwZSA9IHsnYnl0ZXMnfQorICAgICAgICBieXRlYXJyYXlfdHlwZSA9IHsnYnl0ZWFycmF5J30KKyAgICAgICAgYnVmZmVyX3R5cGUgPSB7J2J1ZmZlcid9CisgICAgICAgIHJ3YnVmZmVyX3R5cGUgPSB7J3J3YnVmZmVyJ30KKyAgICAgICAgcm9idWZmZXJfdHlwZSA9IHsncm9idWZmZXInfQorICAgICAgICBzdHJfdHlwZSA9IHsnc3RyJ30KICAgICAgICAgYnl0ZXNfYnl0ZWFycmF5X2J1ZmZlcl90eXBlID0gYnl0ZXNfdHlwZSB8IGJ5dGVhcnJheV90eXBlIHwgYnVmZmVyX3R5cGUKIAogICAgICAgICBmb3JtYXRfdW5pdCA9IE5vbmUKQEAgLTI4NjQsMTAgKzI4NjcsMTEgQEAKICAgICB0eXBlID0gJ2xvbmcnCiAgICAgY29udmVyc2lvbl9mbiA9ICdQeUxvbmdfRnJvbUxvbmcnCiAgICAgY2FzdCA9ICcnCisgICAgdW5zaWduZWRfY2FzdCA9ICcnCiAKICAgICBkZWYgcmVuZGVyKHNlbGYsIGZ1bmN0aW9uLCBkYXRhKToKICAgICAgICAgc2VsZi5kZWNsYXJlKGRhdGEpCi0gICAgICAgIHNlbGYuZXJyX29jY3VycmVkX2lmKCJfcmV0dXJuX3ZhbHVlID09IC0xIiwgZGF0YSkKKyAgICAgICAgc2VsZi5lcnJfb2NjdXJyZWRfaWYoIl9yZXR1cm5fdmFsdWUgPT0ge30tMSIuZm9ybWF0KHNlbGYudW5zaWduZWRfY2FzdCksIGRhdGEpCiAgICAgICAgIGRhdGEucmV0dXJuX2NvbnZlcnNpb24uYXBwZW5kKAogICAgICAgICAgICAgJycuam9pbigoJ3JldHVybl92YWx1ZSA9ICcsIHNlbGYuY29udmVyc2lvbl9mbiwgJygnLCBzZWxmLmNhc3QsICdfcmV0dXJuX3ZhbHVlKTtcbicpKSkKIApAQCAtMjg4OCwxMCArMjg5MiwxMiBAQAogY2xhc3MgdW5zaWduZWRfbG9uZ19yZXR1cm5fY29udmVydGVyKGxvbmdfcmV0dXJuX2NvbnZlcnRlcik6CiAgICAgdHlwZSA9ICd1bnNpZ25lZCBsb25nJwogICAgIGNvbnZlcnNpb25fZm4gPSAnUHlMb25nX0Zyb21VbnNpZ25lZExvbmcnCisgICAgdW5zaWduZWRfY2FzdCA9ICcodW5zaWduZWQgbG9uZyknCiAKIGNsYXNzIHVuc2lnbmVkX2ludF9yZXR1cm5fY29udmVydGVyKHVuc2lnbmVkX2xvbmdfcmV0dXJuX2NvbnZlcnRlcik6CiAgICAgdHlwZSA9ICd1bnNpZ25lZCBpbnQnCiAgICAgY2FzdCA9ICcodW5zaWduZWQgbG9uZyknCisgICAgdW5zaWduZWRfY2FzdCA9ICcodW5zaWduZWQgaW50KScKIAogY2xhc3MgUHlfc3NpemVfdF9yZXR1cm5fY29udmVydGVyKGxvbmdfcmV0dXJuX2NvbnZlcnRlcik6CiAgICAgdHlwZSA9ICdQeV9zc2l6ZV90JwpAQCAtMjkwMCw2ICsyOTA2LDcgQEAKIGNsYXNzIHNpemVfdF9yZXR1cm5fY29udmVydGVyKGxvbmdfcmV0dXJuX2NvbnZlcnRlcik6CiAgICAgdHlwZSA9ICdzaXplX3QnCiAgICAgY29udmVyc2lvbl9mbiA9ICdQeUxvbmdfRnJvbVNpemVfdCcKKyAgICB1bnNpZ25lZF9jYXN0ID0gJyhzaXplX3QpJwogCiAKIGNsYXNzIGRvdWJsZV9yZXR1cm5fY29udmVydGVyKENSZXR1cm5Db252ZXJ0ZXIpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvaTE4bi9tYWtlbG9jYWxlYWxpYXMucHkgYi9Ub29scy9pMThuL21ha2Vsb2NhbGVhbGlhcy5weQppbmRleCAxMDg4N2NlLi5jN2VjYWNlIDEwMDc1NQotLS0gYS9Ub29scy9pMThuL21ha2Vsb2NhbGVhbGlhcy5weQorKysgYi9Ub29scy9pMThuL21ha2Vsb2NhbGVhbGlhcy5weQpAQCAtOCw5ICs4LDEyIEBACiAiIiIKIGltcG9ydCBsb2NhbGUKIGltcG9ydCBzeXMKK19sb2NhbGUgPSBsb2NhbGUKIAotIyBMb2NhdGlvbiBvZiB0aGUgYWxpYXMgZmlsZQorIyBMb2NhdGlvbiBvZiB0aGUgWDExIGFsaWFzIGZpbGUuCiBMT0NBTEVfQUxJQVMgPSAnL3Vzci9zaGFyZS9YMTEvbG9jYWxlL2xvY2FsZS5hbGlhcycKKyMgTG9jYXRpb24gb2YgdGhlIGdsaWJjIFNVUFBPUlRFRCBsb2NhbGVzIGZpbGUuCitTVVBQT1JURUQgPSAnL3Vzci9zaGFyZS9pMThuL1NVUFBPUlRFRCcKIAogZGVmIHBhcnNlKGZpbGVuYW1lKToKIApAQCAtNDQsMTAgKzQ3LDM5IEBACiAgICAgICAgICAgICBlbmNvZGluZyA9IGVuY29kaW5nLnJlcGxhY2UoJy0nLCAnJykKICAgICAgICAgICAgIGVuY29kaW5nID0gZW5jb2RpbmcucmVwbGFjZSgnXycsICcnKQogICAgICAgICAgICAgbG9jYWxlID0gbGFuZyArICcuJyArIGVuY29kaW5nCi0gICAgICAgICAgICBpZiBlbmNvZGluZy5sb3dlcigpID09ICd1dGY4JzoKLSAgICAgICAgICAgICAgICAjIElnbm9yZSBVVEYtOCBtYXBwaW5ncyAtIHRoaXMgZW5jb2Rpbmcgc2hvdWxkIGJlCi0gICAgICAgICAgICAgICAgIyBhdmFpbGFibGUgZm9yIGFsbCBsb2NhbGVzCi0gICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgZGF0YVtsb2NhbGVdID0gYWxpYXMKKyAgICByZXR1cm4gZGF0YQorCitkZWYgcGFyc2VfZ2xpYmNfc3VwcG9ydGVkKGZpbGVuYW1lKToKKworICAgIHdpdGggb3BlbihmaWxlbmFtZSwgZW5jb2Rpbmc9J2xhdGluMScpIGFzIGY6CisgICAgICAgIGxpbmVzID0gbGlzdChmKQorICAgIGRhdGEgPSB7fQorICAgIGZvciBsaW5lIGluIGxpbmVzOgorICAgICAgICBsaW5lID0gbGluZS5zdHJpcCgpCisgICAgICAgIGlmIG5vdCBsaW5lOgorICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgaWYgbGluZVs6MV0gPT0gJyMnOgorICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgbGluZSA9IGxpbmUucmVwbGFjZSgnLycsICcgJykuc3RyaXAoKQorICAgICAgICBsaW5lID0gbGluZS5yc3RyaXAoJ1xcJykucnN0cmlwKCkKKyAgICAgICAgd29yZHMgPSBsaW5lLnNwbGl0KCkKKyAgICAgICAgaWYgbGVuKHdvcmRzKSAhPSAyOgorICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgYWxpYXMsIGFsaWFzX2VuY29kaW5nID0gd29yZHMKKyAgICAgICAgIyBMb3dlci1jYXNlIGxvY2FsZQorICAgICAgICBsb2NhbGUgPSBhbGlhcy5sb3dlcigpCisgICAgICAgICMgTm9ybWFsaXplIGVuY29kaW5nLCBpZiBnaXZlbgorICAgICAgICBpZiAnLicgaW4gbG9jYWxlOgorICAgICAgICAgICAgbGFuZywgZW5jb2RpbmcgPSBsb2NhbGUuc3BsaXQoJy4nKVs6Ml0KKyAgICAgICAgICAgIGVuY29kaW5nID0gZW5jb2RpbmcucmVwbGFjZSgnLScsICcnKQorICAgICAgICAgICAgZW5jb2RpbmcgPSBlbmNvZGluZy5yZXBsYWNlKCdfJywgJycpCisgICAgICAgICAgICBsb2NhbGUgPSBsYW5nICsgJy4nICsgZW5jb2RpbmcKKyAgICAgICAgIyBBZGQgYW4gZW5jb2RpbmcgdG8gYWxpYXMKKyAgICAgICAgYWxpYXMsIF8sIG1vZGlmaWVyID0gYWxpYXMucGFydGl0aW9uKCdAJykKKyAgICAgICAgYWxpYXMgPSBfbG9jYWxlLl9yZXBsYWNlX2VuY29kaW5nKGFsaWFzLCBhbGlhc19lbmNvZGluZykKKyAgICAgICAgaWYgbW9kaWZpZXIgYW5kIG5vdCAobW9kaWZpZXIgPT0gJ2V1cm8nIGFuZCBhbGlhc19lbmNvZGluZyA9PSAnSVNPLTg4NTktMTUnKToKKyAgICAgICAgICAgIGFsaWFzICs9ICdAJyArIG1vZGlmaWVyCiAgICAgICAgIGRhdGFbbG9jYWxlXSA9IGFsaWFzCiAgICAgcmV0dXJuIGRhdGEKIApAQCAtOTIsOSArMTI0LDI1IEBACiAgICAgcmV0dXJuIGVycm9ycwogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorICAgIGltcG9ydCBhcmdwYXJzZQorICAgIHBhcnNlciA9IGFyZ3BhcnNlLkFyZ3VtZW50UGFyc2VyKCkKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWxvY2FsZS1hbGlhcycsIGRlZmF1bHQ9TE9DQUxFX0FMSUFTLAorICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nbG9jYXRpb24gb2YgdGhlIFgxMSBhbGlhcyBmaWxlICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyhkZWZhdWx0OiAlYSknICUgTE9DQUxFX0FMSUFTKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0tZ2xpYmMtc3VwcG9ydGVkJywgZGVmYXVsdD1TVVBQT1JURUQsCisgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdsb2NhdGlvbiBvZiB0aGUgZ2xpYmMgU1VQUE9SVEVEIGxvY2FsZXMgZmlsZSAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcoZGVmYXVsdDogJWEpJyAlIFNVUFBPUlRFRCkKKyAgICBhcmdzID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQorCiAgICAgZGF0YSA9IGxvY2FsZS5sb2NhbGVfYWxpYXMuY29weSgpCi0gICAgZGF0YS51cGRhdGUocGFyc2UoTE9DQUxFX0FMSUFTKSkKLSAgICBkYXRhID0gb3B0aW1pemUoZGF0YSkKKyAgICBkYXRhLnVwZGF0ZShwYXJzZV9nbGliY19zdXBwb3J0ZWQoYXJncy5nbGliY19zdXBwb3J0ZWQpKQorICAgIGRhdGEudXBkYXRlKHBhcnNlKGFyZ3MubG9jYWxlX2FsaWFzKSkKKyAgICB3aGlsZSBUcnVlOgorICAgICAgICAjIFJlcGVhdCBvcHRpbWl6YXRpb24gd2hpbGUgdGhlIHNpemUgaXMgZGVjcmVhc2VkLgorICAgICAgICBuID0gbGVuKGRhdGEpCisgICAgICAgIGRhdGEgPSBvcHRpbWl6ZShkYXRhKQorICAgICAgICBpZiBsZW4oZGF0YSkgPT0gbjoKKyAgICAgICAgICAgIGJyZWFrCiAgICAgcHJpbnRfZGlmZmVyZW5jZXMoZGF0YSwgbG9jYWxlLmxvY2FsZV9hbGlhcykKICAgICBwcmludCgpCiAgICAgcHJpbnQoJ2xvY2FsZV9hbGlhcyA9IHsnKQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL1JFQURNRS50eHQgYi9Ub29scy9tc2kvUkVBRE1FLnR4dAppbmRleCBkYzRhZTkwLi4xZTQxY2MxIDEwMDY0NAotLS0gYS9Ub29scy9tc2kvUkVBRE1FLnR4dAorKysgYi9Ub29scy9tc2kvUkVBRE1FLnR4dApAQCAtMSwyNSArMSw0ODggQEAKLVBhY2thZ2luZyBQeXRob24gYXMgYSBNaWNyb3NvZnQgSW5zdGFsbGVyIFBhY2thZ2UgKE1TSSkKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK1F1aWNrIEJ1aWxkIEluZm8KKz09PT09PT09PT09PT09PT0KIAotVXNpbmcgdGhpcyBsaWJyYXJ5LCBQeXRob24gY2FuIGJlIHBhY2thZ2VkIGFzIGEgTVMtV2luZG93cwotTVNJIGZpbGUuIFRvIGdlbmVyYXRlIGFuIGluc3RhbGxlciBwYWNrYWdlLCB5b3UgbmVlZAotYSBidWlsZCB0cmVlLiBCeSBkZWZhdWx0LCB0aGUgYnVpbGQgdHJlZSByb290IGRpcmVjdG9yeQotaXMgYXNzdW1lZCB0byBiZSBpbiAiLi4vLi4iLiBUaGlzIGxvY2F0aW9uIGNhbiBiZSBjaGFuZ2VkCi1ieSBhZGRpbmcgYSBmaWxlIGNvbmZpZy5weTsgc2VlIHRoZSBiZWdpbm5pbmcgb2YgbXNpLnB5Ci1mb3IgYWRkaXRpb25hbCBjdXN0b21pemF0aW9uIG9wdGlvbnMuCitGb3IgdGVzdGluZywgdGhlIGluc3RhbGxlciBzaG91bGQgYmUgYnVpbHQgd2l0aCB0aGUgVG9vbHMvbXNpL2J1aWxkLmJhdAorc2NyaXB0OgogCi1UaGUgcGFja2FnaW5nIHByb2Nlc3MgYXNzdW1lcyB0aGF0IGJpbmFyaWVzIGhhdmUgYmVlbiAKLWdlbmVyYXRlZCBhY2NvcmRpbmcgdG8gdGhlIGluc3RydWN0aW9ucyBpbiBQQ0J1aWxkL1JFQURNRS50eHQsCi1hbmQgdGhhdCB5b3UgaGF2ZSBlaXRoZXIgVmlzdWFsIFN0dWRpbyBvciB0aGUgUGxhdGZvcm0gU0RLCi1pbnN0YWxsZWQuIEluIGFkZGl0aW9uLCB5b3UgbmVlZCB0aGUgUHl0aG9uIENPTSBleHRlbnNpb25zLAotZWl0aGVyIGZyb20gUHl0aG9uV2luLCBvciBmcm9tIEFjdGl2ZVB5dGhvbi4KKyAgICBidWlsZC5iYXQgWy14ODZdIFsteDY0XSBbLS1kb2NdCiAKLVRvIGludm9rZSB0aGUgc2NyaXB0LCBvcGVuIGEgY21kLmV4ZSB3aW5kb3cgd2hpY2ggaGFzIAotY2FiYXJjLmV4ZSBpbiBpdHMgUEFUSCAoZS5nLiAiVmlzdWFsIFN0dWRpbyAuTkVUIDIwMDMKLUNvbW1hbmQgUHJvbXB0IikuIFRoZW4gaW52b2tlCitGb3IgYW4gb2ZmaWNpYWwgcmVsZWFzZSwgdGhlIGluc3RhbGxlciBzaG91bGQgYmUgYnVpbHQgd2l0aCB0aGUKK1Rvb2xzL21zaS9idWlsZHJlbGVhc2UuYmF0IHNjcmlwdCBhbmQgZW52aXJvbm1lbnQgdmFyaWFibGVzOgogCi08cGF0aC10by1weXRob24uZXhlPiBtc2kucHkKKyAgICBzZXQgUFlUSE9OPTxwYXRoIHRvIFB5dGhvbiAyLjc+CisgICAgc2V0IFNQSElOWEJVSUxEPTxwYXRoIHRvIHNwaGlueC1idWlsZC5leGU+CisgICAgc2V0IFBBVEg9PHBhdGggdG8gTWVyY3VyaWFsIChoZy5leGUpPjsKKyAgICAgICAgICAgICA8cGF0aCB0byBIVE1MIEhlbHAgQ29tcGlsZXIgKGhoYy5leGUpPjslUEFUSCUKIAotSWYgZXZlcnl0aGluZyBzdWNjZWVkcywgcHl0aG9uWC5ZLloubXNpIGlzIGdlbmVyYXRlZAotaW4gdGhlIGN1cnJlbnQgZGlyZWN0b3J5LgorICAgIGJ1aWxkcmVsZWFzZS5iYXQgWy14ODZdIFsteDY0XSBbLURdIFstQl0KKyAgICAgICAgWy1vIDxvdXRwdXQgZGlyZWN0b3J5Pl0gWy1jIDxjZXJ0aWZpY2F0ZSBuYW1lPl0KKworU2VlIHRoZSBCdWlsZGluZyB0aGUgSW5zdGFsbGVyIHNlY3Rpb24gZm9yIG1vcmUgaW5mb3JtYXRpb24uCisKK092ZXJ2aWV3Cis9PT09PT09PQorCitQeXRob24gaXMgZGlzdHJpYnV0ZWQgb24gV2luZG93cyBhcyBhbiBpbnN0YWxsZXIgdGhhdCB3aWxsIGNvbmZpZ3VyZSB0aGUKK3VzZXIncyBzeXN0ZW0uIFRoaXMgYWxsb3dzIHVzZXJzIHRvIGhhdmUgYSBmdW5jdGlvbmluZyBjb3B5IG9mIFB5dGhvbgord2l0aG91dCBoYXZpbmcgdG8gYnVpbGQgaXQgdGhlbXNlbHZlcy4KKworVGhlIG1haW4gdGFza3Mgb2YgdGhlIGluc3RhbGxlciBhcmU6CisKKyogY29weSByZXF1aXJlZCBmaWxlcyBpbnRvIHRoZSBleHBlY3RlZCBsYXlvdXQKKyogY29uZmlndXJlIHN5c3RlbSBzZXR0aW5ncyBzbyB0aGUgaW5zdGFsbGF0aW9uIGNhbiBiZSBsb2NhdGVkIGJ5CisgIG90aGVyIHByb2dyYW1zCisqIGFkZCBlbnRyeSBwb2ludHMgZm9yIG1vZGlmeWluZywgcmVwYWlyaW5nIGFuZCB1bmluc3RhbGxpbmcgUHl0aG9uCisqIG1ha2UgaXQgZWFzeSB0byBsYXVuY2ggUHl0aG9uLCBpdHMgZG9jdW1lbnRhdGlvbiwgYW5kIElETEUKKworRWFjaCBvZiB0aGVzZSBpcyBkaXNjdXNzZWQgaW4gYSBsYXRlciBzZWN0aW9uIG9mIHRoaXMgZG9jdW1lbnQuCisKK1N0cnVjdHVyZSBvZiB0aGUgSW5zdGFsbGVyCis9PT09PT09PT09PT09PT09PT09PT09PT09PQorCitUaGUgaW5zdGFsbGVyIGlzIHN0cnVjdHVyZWQgYXMgYSAnbGF5b3V0Jywgd2hpY2ggY29uc2lzdHMgb2YgYSBudW1iZXIgb2YKK0NBQiBhbmQgTVNJIGZpbGVzIGFuZCBhIHNpbmdsZSBFWEUuCisKK1RoZSBFWEUgaXMgdGhlIG1haW4gZW50cnkgcG9pbnQgaW50byB0aGUgaW5zdGFsbGVyLiBJdCBjb250YWlucyB0aGUgVUkKK2FuZCBjb21tYW5kLWxpbmUgbG9naWMsIGFzIHdlbGwgYXMgdGhlIGFiaWxpdHkgdG8gbG9jYXRlIGFuZCBvcHRpb25hbGx5Citkb3dubG9hZCBvdGhlciBwYXJ0cyBvZiB0aGUgbGF5b3V0LgorCitFYWNoIE1TSSBjb250YWlucyB0aGUgbG9naWMgcmVxdWlyZWQgdG8gaW5zdGFsbCBhIGNvbXBvbmVudCBvciBmZWF0dXJlCitvZiBQeXRob24uIFRoZXNlIE1TSXMgc2hvdWxkIG5vdCBiZSBsYXVuY2hlZCBkaXJlY3RseSBieSB1c2Vycy4gTVNJcyBjYW4KK2JlIGVtYmVkZGVkIGludG8gdGhlIEVYRSBvciBhdXRvbWF0aWNhbGx5IGRvd25sb2FkZWQgYXMgbmVlZGVkLgorCitFYWNoIENBQiBjb250YWlucyB0aGUgZmlsZXMgbWFraW5nIHVwIGEgUHl0aG9uIGluc3RhbGxhdGlvbi4gQ0FCcyBhcmUKK2VtYmVkZGVkIGludG8gdGhlaXIgYXNzb2NpYXRlZCBNU0kgYW5kIGFyZSBuZXZlciBzZWVuIGJ5IHVzZXJzLgorCitNU0lzIGFyZSBvbmx5IHJlcXVpcmVkIHdoZW4gdGhlIHJlbGF0ZWQgZmVhdHVyZSBvciBjb21wb25lbnQgaXMgYmVpbmcKK2luc3RhbGxlZC4gV2hlbiBjb21wb25lbnRzIGFyZSBub3Qgc2VsZWN0ZWQgZm9yIGluc3RhbGxhdGlvbiwgdGhlCithc3NvY2lhdGVkIE1TSSBpcyBub3QgZG93bmxvYWRlZC4gVGhpcyBhbGxvd3MgdGhlIGluc3RhbGxlciB0byBvZmZlcgorb3B0aW9ucyB0byBpbnN0YWxsIGRlYnVnZ2luZyBzeW1ib2xzIGFuZCBiaW5hcmllcyB3aXRob3V0IGluY3JlYXNpbmcKK3RoZSBpbml0aWFsIGRvd25sb2FkIHNpemUgYnkgc2VwYXJhdGluZyB0aGVtIGludG8gdGhlaXIgb3duIE1TSXMuCisKK0J1aWxkaW5nIHRoZSBJbnN0YWxsZXIKKz09PT09PT09PT09PT09PT09PT09PT0KKworRm9yIHRlc3RpbmcsIHRoZSBpbnN0YWxsZXIgc2hvdWxkIGJlIGJ1aWx0IHdpdGggdGhlIFRvb2xzL21zaS9idWlsZC5iYXQKK3NjcmlwdDoKKworICAgIGJ1aWxkLmJhdCBbLXg4Nl0gWy14NjRdIFstLWRvY10KKworVGhpcyBzY3JpcHQgd2lsbCBidWlsZCB0aGUgcmVxdWlyZWQgY29uZmlndXJhdGlvbnMgb2YgUHl0aG9uIGFuZAorZ2VuZXJhdGUgYW4gaW5zdGFsbGVyIGxheW91dCBpbiBQQ0J1aWxkLyh3aW4zMnxhbWQ2NCkvZW4tdXMuCisKK1NwZWNpZnkgLXg4NiBhbmQvb3IgLXg2NCB0byBidWlsZCBmb3IgZWFjaCBwbGF0Zm9ybS4gSWYgbmVpdGhlciBpcworc3BlY2lmaWVkLCBib3RoIHBsYXRmb3JtcyB3aWxsIGJlIGJ1aWx0LiBDdXJyZW50bHksIGJvdGggdGhlIGRlYnVnIGFuZAorcmVsZWFzZSB2ZXJzaW9ucyBvZiBQeXRob24gYXJlIHJlcXVpcmVkIGZvciB0aGUgaW5zdGFsbGVyLgorCitTcGVjaWZ5IC0tZG9jIHRvIGJ1aWxkIHRoZSBkb2N1bWVudGF0aW9uICguY2htKSBmaWxlLiBJZiB0aGUgZmlsZSBpcyBub3QKK2F2YWlsYWJsZSwgaXQgd2lsbCBzaW1wbHkgYmUgZXhjbHVkZWQgZnJvbSB0aGUgaW5zdGFsbGVyLiBFbnN1cmUKKyVQWVRIT04lIGFuZCAlU1BISU5YQlVJTEQlIGFyZSBzZXQgd2hlbiBwYXNzaW5nIHRoaXMgb3B0aW9uLiBZb3UgbWF5CithbHNvIHNldCAlSFRNTEhFTFAlIHRvIHRoZSBIdG1sIEhlbHAgQ29tcGlsZXIgKGhoYy5leGUpLCBvciBwdXQgSEhDIG9uCit5b3VyIFBBVEggb3IgaW4gZXh0ZXJuYWxzLy4KKworSWYgV2lYIGlzIG5vdCBmb3VuZCBvbiB5b3VyIHN5c3RlbSwgaXQgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGRvd25sb2FkZWQKK2FuZCBleHRyYWN0ZWQgdG8gdGhlIGV4dGVybmFscy8gZGlyZWN0b3J5LgorCisKK0ZvciBhbiBvZmZpY2lhbCByZWxlYXNlLCB0aGUgaW5zdGFsbGVyIHNob3VsZCBiZSBidWlsdCB3aXRoIHRoZQorVG9vbHMvbXNpL2J1aWxkcmVsZWFzZS5iYXQgc2NyaXB0OgorCisgICAgc2V0IFBZVEhPTj08cGF0aCB0byBQeXRob24gMi43PgorICAgIHNldCBTUEhJTlhCVUlMRD08cGF0aCB0byBzcGhpbngtYnVpbGQuZXhlPgorICAgIHNldCBQQVRIPTxwYXRoIHRvIE1lcmN1cmlhbCAoaGcuZXhlKT47CisgICAgICAgICAgICAgPHBhdGggdG8gSFRNTCBIZWxwIENvbXBpbGVyIChoaGMuZXhlKT47JVBBVEglCisKKyAgICBidWlsZHJlbGVhc2UuYmF0IFsteDg2XSBbLXg2NF0gWy1EXSBbLUJdCisgICAgICAgIFstbyA8b3V0cHV0IGRpcmVjdG9yeT5dIFstYyA8Y2VydGlmaWNhdGUgbmFtZT5dCisKK1NwZWNpZnkgLXg4NiBhbmQvb3IgLXg2NCB0byBidWlsZCBmb3IgZWFjaCBwbGF0Zm9ybS4gSWYgbmVpdGhlciBpcworc3BlY2lmaWVkLCBib3RoIHBsYXRmb3JtcyB3aWxsIGJlIGJ1aWx0LiBDdXJyZW50bHksIGJvdGggdGhlIGRlYnVnIGFuZAorcmVsZWFzZSB2ZXJzaW9ucyBvZiBQeXRob24gYXJlIHJlcXVpcmVkIGZvciB0aGUgaW5zdGFsbGVyLgorCitTcGVjaWZ5IC1EIHRvIHNraXAgcmVidWlsZGluZyB0aGUgZG9jdW1lbnRhdGlvbi4gVGhlIGRvY3VtZW50YXRpb24gaXMKK3JlcXVpcmVkIGZvciBhIHJlbGVhc2UgYW5kIHRoZSBidWlsZCB3aWxsIGZhaWwgaWYgaXQgaXMgbm90IGF2YWlsYWJsZS4KKworU3BlY2lmeSAtQiB0byBza2lwIHJlYnVpbGRpbmcgUHl0aG9uLiBUaGlzIGlzIHVzZWZ1bCB0byBvbmx5IHJlYnVpbGQgdGhlCitpbnN0YWxsZXIgbGF5b3V0IGFmdGVyIGEgcHJldmlvdXMgY2FsbCB0byBidWlsZHJlbGVhc2UuYmF0LgorCitTcGVjaWZ5IC1vIHRvIHNldCBhbiBvdXRwdXQgZGlyZWN0b3J5LiBUaGUgaW5zdGFsbGVyIGxheW91dHMgd2lsbCBiZQorY29waWVkIHRvIHBsYXRmb3JtLXNwZWNpZmljIHN1YmRpcmVjdG9yaWVzIG9mIHRoaXMgcGF0aC4KKworU3BlY2lmeSAtYyB0byBjaG9vc2UgYSBjb2RlLXNpZ25pbmcgY2VydGlmaWNhdGUgdG8gYmUgdXNlZCBmb3IgYWxsIHRoZQorc2lnbmFibGUgYmluYXJpZXMgaW4gUHl0aG9uIGFzIHdlbGwgYXMgZWFjaCBmaWxlIG1ha2luZyB1cCB0aGUKK2luc3RhbGxlci4gT2ZmaWNpYWwgcmVsZWFzZXMgb2YgUHl0aG9uIG11c3QgYmUgc2lnbmVkLgorCitFbnN1cmUgJVBZVEhPTiUgYW5kICVTUEhJTlhCVUlMRCUgYXJlIHNldCB3aGVuIHBhc3NpbmcgdGhpcyBvcHRpb24uIFlvdQorbWF5IGFsc28gc2V0ICVIVE1MSEVMUCUgdG8gdGhlIEh0bWwgSGVscCBDb21waWxlciAoaGhjLmV4ZSksIG9yIHB1dCBISEMKK29uIHlvdXIgUEFUSCBvciBpbiBleHRlcm5hbHMvLiBZb3Ugd2lsbCBhbHNvIG5lZWQgTWVyY3VyaWFsIChoZy5leGUpIG9uCit5b3VyIFBBVEguCisKK0lmIFdpWCBpcyBub3QgZm91bmQgb24geW91ciBzeXN0ZW0sIGl0IHdpbGwgYmUgYXV0b21hdGljYWxseSBkb3dubG9hZGVkCithbmQgZXh0cmFjdGVkIHRvIHRoZSBleHRlcm5hbHMvIGRpcmVjdG9yeS4KKworVG8gbWFudWFsbHkgYnVpbGQgbGF5b3V0cyBvZiB0aGUgaW5zdGFsbGVyLCBidWlsZCBvbmUgb2YgdGhlIHByb2plY3RzIGluCit0aGUgYnVuZGxlIGZvbGRlci4KKworICAgIG1zYnVpbGQgYnVuZGxlXHNuYXBzaG90LndpeHByb2oKKyAgICBtc2J1aWxkIGJ1bmRsZVxyZWxlYXNld2ViLndpeHByb2oKKyAgICBtc2J1aWxkIGJ1bmRsZVxyZWxlYXNlbG9jYWwud2l4cHJvagorICAgIG1zYnVpbGQgYnVuZGxlXGZ1bGwud2l4cHJvagorCitzbmFwc2hvdC53aXhwcm9qIHByb2R1Y2VzIGEgdGVzdCBpbnN0YWxsZXIgdmVyc2lvbmVkIGJhc2VkIG9uIHRoZSBkYXRlLgorCityZWxlYXNld2ViLndpeHByb2ogcHJvZHVjZXMgYSByZWxlYXNlIGluc3RhbGxlciB0aGF0IGRvZXMgbm90IGVtYmVkIGFueQorb2YgdGhlIGxheW91dC4KKworcmVsZWFzZWxvY2FsLndpeHByb2ogcHJvZHVjZXMgYSByZWxlYXNlIGluc3RhbGxlciB0aGF0IGVtYmVkcyB0aGUgZmlsZXMKK3JlcXVpcmVkIGZvciBhIGRlZmF1bHQgaW5zdGFsbGF0aW9uLgorCitmdWxsLndpeHByb2ogcHJvZHVjZXMgYSB0ZXN0IGluc3RhbGxlciB0aGF0IGVtYmVkcyB0aGUgZW50aXJlIGxheW91dC4KKworVGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzIG1heSBiZSBwYXNzZWQgd2hlbiBidWlsZGluZyB0aGVzZSBwcm9qZWN0cy4KKworICAvcDpCdWlsZEZvclJlbGVhc2U9KHRydWV8ZmFsc2UpCisgICAgV2hlbiB0cnVlLCBhZGRzIGV4dHJhIHZlcmlmaWNhdGlvbiB0byBlbnN1cmUgYSBjb21wbGV0ZSBpbnN0YWxsZXIgaXMKKyAgICBwcm9kdWNlZC4gRm9yIGV4YW1wbGUsIGJpbnV0aWxzIGlzIHJlcXVpcmVkIHdoZW4gYnVpbGRpbmcgZm9yIGEgcmVsZWFzZQorICAgIHRvIGdlbmVyYXRlIE1pbkdXLWNvbXBhdGlibGUgbGlicmFyaWVzLCBhbmQgdGhlIGJ1aWxkIHdpbGwgYmUgYWJvcnRlZCBpZgorICAgIHRoaXMgZmFpbHMuIERlZmF1bHRzIHRvIGZhbHNlLgorCisgIC9wOlJlbGVhc2VVcmk9KGFueSBVUkkpCisgICAgVXNlZCB0byBnZW5lcmF0ZSB1bmlxdWUgSURzIGZvciB0aGUgaW5zdGFsbGVycyB0byBhbGxvdyBzaWRlLWJ5LXNpZGUKKyAgICBpbnN0YWxsYXRpb24uIEZvcmtzIG9mIFB5dGhvbiBjYW4gdXNlIHRoZSBzYW1lIGluc3RhbGxlciBpbmZyYXN0cnVjdHVyZQorICAgIGJ5IHByb3ZpZGluZyBhIHVuaXF1ZSBVUkkgZm9yIHRoaXMgcHJvcGVydHkuIEl0IGRvZXMgbm90IG5lZWQgdG8gYmUgYW4KKyAgICBhY3RpdmUgaW50ZXJuZXQgYWRkcmVzcy4gRGVmYXVsdHMgdG8gJChDb21wdXRlck5hbWUpLgorCisgICAgT2ZmaWNpYWwgcmVsZWFzZXMgdXNlIGh0dHA6Ly93d3cucHl0aG9uLm9yZy8oYXJjaGl0ZWN0dXJlIG5hbWUpCisKKyAgL3A6RG93bmxvYWRVcmxCYXNlPShhbnkgVVJJKQorICAgIFNwZWNpZmllcyB0aGUgYmFzZSBvZiBhIFVSTCB3aGVyZSBtaXNzaW5nIHBhcnRzIG9mIHRoZSBpbnN0YWxsZXIgbGF5b3V0CisgICAgY2FuIGJlIGRvd25sb2FkZWQgZnJvbS4gVGhlIGJ1aWxkIHZlcnNpb24gYW5kIGFyY2hpdGVjdHVyZSB3aWxsIGJlCisgICAgYXBwZW5kZWQgdG8gY3JlYXRlIHRoZSBmdWxsIGFkZHJlc3MuIElmIG9taXR0ZWQsIG1pc3NpbmcgY29tcG9uZW50cyB3aWxsCisgICAgbm90IGJlIGF1dG9tYXRpY2FsbHkgZG93bmxvYWRlZC4KKworICAvcDpEb3dubG9hZFVybD0oYW55IFVSSSkKKyAgICBTcGVjaWZpZXMgdGhlIGZ1bGwgVVJMIHdoZXJlIG1pc3NpbmcgcGFydHMgb2YgdGhlIGluc3RhbGxlciBsYXlvdXQgY2FuCisgICAgYmUgZG93bmxvYWRlZCBmcm9tLiBTaG91bGQgbm9ybWFsbHkgaW5jbHVkZSAnezJ9Jywgd2hpY2ggd2lsbCBiZQorICAgIHN1YnN0aXR1dGVkIGZvciB0aGUgZmlsZW5hbWUuIElmIG9taXR0ZWQsIG1pc3NpbmcgY29tcG9uZW50cyB3aWxsIG5vdCBiZQorICAgIGF1dG9tYXRpY2FsbHkgZG93bmxvYWRlZC4gSWYgc3BlY2lmaWVkLCB0aGlzIHZhbHVlIG92ZXJyaWRlcworICAgIERvd25sb2FkVXJsQmFzZS4KKworICAvcDpTaWduaW5nQ2VydGlmaWNhdGU9KGNlcnRpZmljYXRlIG5hbWUpCisgICAgU3BlY2lmaWVzIHRoZSBjZXJ0aWZpY2F0ZSB0byBzaWduIHRoZSBpbnN0YWxsZXIgbGF5b3V0IHdpdGguIElmIG9taXR0ZWQsCisgICAgdGhlIGxheW91dCB3aWxsIG5vdCBiZSBzaWduZWQuCisKKyAgL3A6UmVidWlsZEFsbD0odHJ1ZXxmYWxzZSkKKyAgICBXaGVuIHRydWUsIHJlYnVpbGRzIGFsbCBvZiB0aGUgTVNJcyBtYWtpbmcgdXAgdGhlIGxheW91dC4gRGVmYXVsdHMgdG8KKyAgICB0cnVlLgorCitNb2RpZnlpbmcgdGhlIEluc3RhbGxlcgorPT09PT09PT09PT09PT09PT09PT09PT0KKworVGhlIGNvZGUgZm9yIHRoZSBpbnN0YWxsZXIgaXMgZGl2aWRlZCBpbnRvIHRocmVlIG1haW4gZ3JvdXBzOiBwYWNrYWdlcywKK3RoZSBidW5kbGUgYW5kIHRoZSBib290c3RyYXAgYXBwbGljYXRpb24uCisKK1BhY2thZ2VzCistLS0tLS0tLQorCitQYWNrYWdlcyBhcHBlYXIgYXMgc3ViZGlyZWN0b3JpZXMgb2YgVG9vbHMvbXNpIChvdGhlciB0aGFuIHRoZSBidW5kbGUvCitkaXJlY3RvcnkpLiBUaGUgcHJvamVjdCBmaWxlIGlzIGEgLndpeHByb2ogYW5kIHRoZSBidWlsZCBvdXRwdXQgaXMgYQorc2luZ2xlIE1TSS4gUGFja2FnZXMgYXJlIGJ1aWx0IHdpdGggdGhlIFdpWCBUb29sc2V0LiBTb21lIHByb2plY3QgZmlsZXMKK3NoYXJlIHNvdXJjZSBmaWxlcyBhbmQgdXNlIHByZXByb2Nlc3NvciBkaXJlY3RpdmVzIHRvIGVuYWJsZSBwYXJ0aWN1bGFyCitmZWF0dXJlcy4gVGhlc2UgYXJlIHR5cGljYWxseSB1c2VkIHRvIGtlZXAgdGhlIHNvdXJjZXMgY2xvc2Ugd2hlbiB0aGUKK2ZpbGVzIGFyZSByZWxhdGVkLCBidXQgcHJvZHVjZSBtdWx0aXBsZSBpbmRlcGVuZGVudCBwYWNrYWdlcy4KKworQSBwYWNrYWdlIGlzIHRoZSBzbWFsbGVzdCBlbGVtZW50IHRoYXQgbWF5IGJlIGluZGVwZW5kZW50bHkgaW5zdGFsbGVkIG9yCit1bmluc3RhbGxlZCAoYXMgdXNlZCBpbiB0aGlzIGluc3RhbGxlcikuIEZvciBleGFtcGxlLCB0aGUgdGVzdCBzdWl0ZSBoYXMKK2l0cyBvd24gcGFja2FnZSwgYXMgdXNlcnMgY2FuIGNob29zZSB0byBhZGQgb3IgcmVtb3ZlIGl0IGFmdGVyIHRoZQoraW5pdGlhbCBpbnN0YWxsYXRpb24uCisKK0FsbCB0aGUgZmlsZXMgaW5zdGFsbGVkIGJ5IGEgc2luZ2xlIHBhY2thZ2Ugc2hvdWxkIGJlIHJlbGF0ZWQsIHRob3VnaAorc29tZSBwYWNrYWdlcyBtYXkgbm90IGluc3RhbGwgYW55IGZpbGVzLiBGb3IgZXhhbXBsZSwgdGhlIHBpcCBwYWNrYWdlCitleGVjdXRlcyB0aGUgZW5zdXJlcGlwIHBhY2thZ2UsIGJ1dCBkb2VzIG5vdCBhZGQgb3IgcmVtb3ZlIGFueSBvZiBpdHMKK293biBmaWxlcy4gKEl0IGlzIHJlcHJlc2VudGVkIGFzIGEgcGFja2FnZSBiZWNhdXNlIG9mIGl0cworaW5zdGFsbGVkL3VuaW5zdGFsbGVkIG5hdHVyZSwgYXMgb3Bwb3NlZCB0byB0aGUgInByZWNvbXBpbGUgc3RhbmRhcmQKK2xpYnJhcnkiIG9wdGlvbiwgZm9yIGV4YW1wbGUuKSBEZXBlbmRlbmNpZXMgYmV0d2VlbiBwYWNrYWdlcyBhcmUgaGFuZGxlZAorYnkgdGhlIGJ1bmRsZSwgYnV0IHBhY2thZ2VzIHNob3VsZCBkZXRlY3Qgd2hlbiBkZXBlbmRlbmNpZXMgYXJlIG1pc3NpbmcKK2FuZCByYWlzZSBhbiBlcnJvci4KKworUGFja2FnZXMgdGhhdCBpbmNsdWRlIGEgbG90IG9mIGZpbGVzIG1heSB1c2UgYW4gSW5zdGFsbEZpbGVzIGVsZW1lbnQgaW4KK3RoZSAud2l4cHJvaiBmaWxlIHRvIGdlbmVyYXRlIHNvdXJjZXMuIFNlZSBsaWIvbGliLndpeHByb2ogZm9yIGFuCitleGFtcGxlLCBhbmQgbXNpLnRhcmdldHMgYW5kIGNzdl90b193eHMucHkgZm9yIHRoZSBpbXBsZW1lbnRhdGlvbi4gVGhpcworZWxlbWVudCBpcyBhbHNvIHJlc3BvbnNpYmxlIGZvciBnZW5lcmF0aW5nIHRoZSBjb2RlIGZvciBjbGVhbmluZyB1cCBhbmQKK3JlbW92aW5nIF9fcHljYWNoZV9fIGZvbGRlcnMgaW4gYW55IGRpcmVjdG9yeSBjb250YWluaW5nIC5weSBmaWxlcy4KKworQWxsIHBhY2thZ2VzIGFyZSBidWlsdCB3aXRoIHRoZSBUb29scy9tc2kvY29tbW9uLnd4cyBmaWxlLCBhbmQgc28gYW55CitkaXJlY3Rvcnkgb3IgcHJvcGVydHkgaW4gdGhpcyBmaWxlIG1heSBiZSByZWZlcmVuY2VkLiBPZiBwYXJ0aWN1bGFyCitpbnRlcmVzdDoKKworICBSRUdJU1RSWUtFWSAocHJvcGVydHkpCisgICAgVGhlIHJlZ2lzdHJ5IGtleSBmb3IgdGhlIGN1cnJlbnQgaW5zdGFsbGF0aW9uLgorCisgIEluc3RhbGxEaXJlY3RvcnkgKGRpcmVjdG9yeSkKKyAgICBUaGUgcm9vdCBpbnN0YWxsIGRpcmVjdG9yeSBmb3IgdGhlIGN1cnJlbnQgaW5zdGFsbGF0aW9uLiBTdWJkaXJlY3RvcmllcworICAgIGFyZSBhbHNvIHNwZWNpZmllZCBpbiB0aGlzIGZpbGUgKERMTHMsIExpYiwgZXRjLikKKworICBNZW51RGlyIChkaXJlY3RvcnkpCisgICAgVGhlIFN0YXJ0IE1lbnUgZm9sZGVyIGZvciB0aGUgY3VycmVudCBpbnN0YWxsYXRpb24uCisKKyAgVXBncmFkZVRhYmxlIChwcm9wZXJ0eSkKKyAgICBFdmVyeSBwYWNrYWdlIHNob3VsZCByZWZlcmVuY2UgdGhpcyBwcm9wZXJ0eSB0byBpbmNsdWRlIHVwZ3JhZGUKKyAgICBpbmZvcm1hdGlvbi4KKworVGhlIC53eGxfdGVtcGxhdGUgZmlsZSBpcyBzcGVjaWFsbHkgaGFuZGxlZCBieSB0aGUgYnVpbGQgc3lzdGVtIGZvciB0aGlzCitwcm9qZWN0IHRvIHBlcmZvcm0ge3tzdWJzdGl0dXRpb25zfX0gYXMgZGVmaW5lZCBpbiBtc2kudGFyZ2V0cy4gVGhleQorc2hvdWxkIGJlIGluY2x1ZGVkIGluIHByb2plY3RzIGFzIDxXeGxUZW1wbGF0ZT4gaXRlbXMsIHdoZXJlIC53eGwgZmlsZXMKK2FyZSBub3JtYWxseSBpbmNsdWRlZCBhcyA8RW1iZWRkZWRSZXNvdXJjZT4gaXRlbXMuCisKK0J1bmRsZQorLS0tLS0tCisKK1RoZSBidW5kbGUgaXMgY29tcGlsZWQgdG8gdGhlIG1haW4gRVhFIGVudHJ5IHBvaW50IHRoYXQgZm9yIG1vc3QgdXNlcnMKK3dpbGwgcmVwcmVzZW50IHRoZSBQeXRob24gaW5zdGFsbGVyLiBJdCBpcyBidWlsdCBmcm9tIFRvb2xzL21zaS9idW5kbGUKK3dpdGggcGFja2FnZXMgcmVmZXJlbmNlcyBpbiBUb29scy9tc2kvYnVuZGxlL3BhY2thZ2Vncm91cHMuCisKK0J1aWxkIGxvZ2ljIGZvciB0aGUgYnVuZGxlIGlzIGluIGJ1bmRsZS50YXJnZXRzLCBidXQgc2hvdWxkIGJlIGludm9rZWQKK3Rocm91Z2ggb25lIG9mIHRoZSAud2l4cHJvaiBmaWxlcyBhcyBkZXNjcmliZWQgaW4gQnVpbGRpbmcgdGhlCitJbnN0YWxsZXIuCisKK1RoZSBVSSBpcyBzZXBhcmF0ZWQgYmV0d2VlbiBEZWZhdWx0LnRobSAoVUkgbGF5b3V0KSwgRGVmYXVsdC53eGwKKyhzdHJpbmdzKSwgYnVuZGxlLnd4cyAocHJvcGVydGllcykgYW5kIHRoZSBib290c3RyYXAgYXBwbGljYXRpb24uCitCdW5kbGUud3hzIGFsc28gY29udGFpbnMgdGhlIGNoYWluLCB3aGljaCBpcyB0aGUgbGlzdCBvZiBwYWNrYWdlcyB0bworaW5zdGFsbCBhbmQgdGhlIG9yZGVyIHRoZXkgc2hvdWxkIGJlIGluc3RhbGxlZCBpbi4gVGhlc2UgcmVmZXIgdG8gbmFtZWQKK3BhY2thZ2UgZ3JvdXBzIGluIGJ1bmRsZS9wYWNrYWdlZ3JvdXBzLgorCitFYWNoIHBhY2thZ2UgZ3JvdXAgc3BlY2lmaWVzIG9uZSBvciBtb3JlIHBhY2thZ2VzIHRvIGluc3RhbGwuIE1vc3QKK3BhY2thZ2VzIHJlcXVpcmUgdHdvIHNlcGFyYXRlIGVudHJpZXMgdG8gc3VwcG9ydCBib3RoIHBlci11c2VyIGFuZAorYWxsLXVzZXJzIGluc3RhbGxhdGlvbnMuIEJlY2F1c2UgdGhlc2UgcmV1c2UgdGhlIHNhbWUgcGFja2FnZSwgaXQgZG9lcworbm90IGluY3JlYXNlIHRoZSBvdmVyYWxsIHNpemUgb2YgdGhlIHBhY2thZ2UuCisKK1BhY2thZ2UgZ3JvdXBzIHJlZmVyIHRvIHBheWxvYWQgZ3JvdXBzLCB3aGljaCBhbGxvdyBiZXR0ZXIgY29udHJvbCBvdmVyCitlbWJlZGRpbmcgYW5kIGRvd25sb2FkaW5nIGZpbGVzIHRoYW4gdGhlIGRlZmF1bHQgc2V0dGluZ3MuIFdoZXRoZXIgZmlsZXMKK2FyZSBlbWJlZGRlZCBhbmQgd2hlcmUgdGhleSBhcmUgZG93bmxvYWRlZCBmcm9tIGRlcGVuZHMgb24gc2V0dGluZ3MKK2NyZWF0ZWQgYnkgdGhlIHByb2plY3QgZmlsZXMuCisKK1BhY2thZ2UgcmVmZXJlbmNlcyBjYW4gaW5jbHVkZSBpbnN0YWxsIGNvbmRpdGlvbnMgdGhhdCBkZXRlcm1pbmUgd2hlbiB0bworaW5zdGFsbCB0aGUgcGFja2FnZS4gV2hlbiBhIHBhY2thZ2UgaXMgYSBkZXBlbmRlbmN5IGZvciBvdGhlcnMsIHRoZQorY29uZGl0aW9uIHNob3VsZCBiZSBjcmFmdGVkIHRvIGVuc3VyZSBpdCBpcyBpbnN0YWxsZWQuCisKK01TSSBwYWNrYWdlcyBhcmUgaW5zdGFsbGVkIG9yIHVuaW5zdGFsbGVkIGJhc2VkIG9uIHRoZWlyIGN1cnJlbnQgc3RhdGUKK2FuZCB0aGUgaW5zdGFsbCBjb25kaXRpb24uIFRoaXMgbWFrZXMgdGhlbSBtb3N0IHN1aXRhYmxlIGZvciBmZWF0dXJlcwordGhhdCBhcmUgY2xlYXJseSBwcmVzZW50IG9yIGFic2VudCBmcm9tIHRoZSB1c2VyJ3MgbWFjaGluZS4KKworRVhFIHBhY2thZ2VzIGFyZSBleGVjdXRlZCBiYXNlZCBvbiBhIGN1c3RvbWlzYWJsZSBjb25kaXRpb24gdGhhdCBjYW4gYmUKK29taXR0ZWQuIFRoaXMgbWFrZXMgdGhlbSBzdWl0YWJsZSBmb3IgcHJlLSBvciBwb3N0LWluc3RhbGwgdGFza3MgdGhhdAorbmVlZCB0byBydW4gcmVnYXJkbGVzcyBvZiB3aGV0aGVyIGZlYXR1cmVzIGhhdmUgYmVlbiBhZGRlZCBvciByZW1vdmVkLgorCitCb290c3RyYXAgQXBwbGljYXRpb24KKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitUaGUgYm9vdHN0cmFwIGFwcGxpY2F0aW9uIGlzIGEgQysrIGFwcGxpY2F0aW9uIHRoYXQgY29udHJvbHMgdGhlIFVJIGFuZAoraW5zdGFsbGF0aW9uLiBXaGlsZSBpdCBkb2VzIG5vdCBkaXJlY3RseSBjb21waWxlIGludG8gdGhlIG1haW4gRVhFIG9mCit0aGUgaW5zdGFsbGVyLCBpdCBmb3JtcyB0aGUgbWFpbiBhY3RpdmUgY29tcG9uZW50LiBNb3N0IG9mIHRoZQoraW5zdGFsbGF0aW9uIGZ1bmN0aW9uYWxpdHkgaXMgcHJvdmlkZWQgYnkgV2lYLCBhbmQgc28gdGhlIGJvb3RzdHJhcAorYXBwbGljYXRpb24gaXMgcHJlZG9taW5hbnRseSByZXNwb25zaWJsZSBmb3IgdGhlIGNvZGUgYmVoaW5kIHRoZSBVSSB0aGF0CitpcyBkZWZpbmVkIGluIHRoZSBEZWZhdWx0LnRobSBmaWxlLiBUaGUgYm9vdHN0cmFwIGFwcGxpY2F0aW9uIGNvZGUgaXMgaW4KK2J1bmRsZS9ib290c3RyYXAgYW5kIGlzIGJ1aWx0IGF1dG9tYXRpY2FsbHkgd2hlbiBidWlsZGluZyB0aGUgYnVuZGxlLgorCitJbnN0YWxsYXRpb24gTGF5b3V0Cis9PT09PT09PT09PT09PT09PT09CisKK1RoZXJlIGFyZSB0d28gaW5zdGFsbGF0aW9uIGxheW91dHMgZm9yIFB5dGhvbiBvbiBXaW5kb3dzLCB3aXRoIHRoZSBvbmx5CitkaWZmZXJlbmNlcyBiZWluZyBzdXBwb3J0aW5nIGZpbGVzLiBBIGxheW91dCBpcyBzZWxlY3RlZCBpbXBsaWNpdGx5CitiYXNlZCBvbiB3aGV0aGVyIHRoZSBpbnN0YWxsIGlzIGZvciBhbGwgdXNlcnMgb2YgdGhlIG1hY2hpbmUgb3IganVzdCBmb3IKK3RoZSB1c2VyIHBlcmZvcm1pbmcgdGhlIGluc3RhbGxhdGlvbi4KKworVGhlIGRlZmF1bHQgaW5zdGFsbGF0aW9uIGxvY2F0aW9uIHdoZW4gaW5zdGFsbGluZyBmb3IgYWxsIHVzZXJzIGlzCisiJVByb2dyYW1GaWxlcyVcUHl0aG9uIDMuWCIgZm9yIHRoZSA2NC1iaXQgaW50ZXJwcmV0ZXIgYW5kCisiJVByb2dyYW1GaWxlcyh4ODYpJVxQeXRob24gMy5YIiBmb3IgdGhlIDMyLWJpdCBpbnRlcnByZXRlci4gKE5vdGUgdGhhdAordGhlIGxhdHRlciBwYXRoIGlzIGVxdWl2YWxlbnQgdG8gIiVQcm9ncmFtRmlsZXMlXFB5dGhvbiAzLlgiIHdoZW4KK3J1bm5pbmcgYSAzMi1iaXQgdmVyc2lvbiBvZiBXaW5kb3dzLikgVGhpcyBsb2NhdGlvbiByZXF1aXJlcworYWRtaW5pc3RyYXRpdmUgcHJpdmlsZWdlcyB0byBpbnN0YWxsIG9yIGxhdGVyIG1vZGlmeSB0aGUgaW5zdGFsbGF0aW9uLgorCitUaGUgZGVmYXVsdCBpbnN0YWxsYXRpb24gbG9jYXRpb24gd2hlbiBpbnN0YWxsaW5nIGZvciB0aGUgY3VycmVudCB1c2VyCitpcyAiJUxvY2FsQXBwRGF0YSVcUHJvZ3JhbXNcUHl0aG9uXFB5dGhvbjNYIiBmb3IgdGhlIDY0LWJpdCBpbnRlcnByZXRlcgorYW5kICIlTG9jYWxBcHBEYXRhJVxQcm9ncmFtc1xQeXRob25cUHl0aG9uM1gtMzIiIGZvciB0aGUgMzItYml0CitpbnRlcnByZXRlci4gT25seSB0aGUgY3VycmVudCB1c2VyIGNhbiBhY2Nlc3MgdGhpcyBsb2NhdGlvbi4gVGhpcworcHJvdmlkZXMgYSBzdWl0YWJsZSBsZXZlbCBvZiBwcm90ZWN0aW9uIGFnYWluc3QgbWFsaWNpb3VzIG1vZGlmaWNhdGlvbgorb2YgUHl0aG9uJ3MgZmlsZXMuCisKK1dpdGhpbiB0aGlzIGluc3RhbGwgZGlyZWN0b3J5IGlzIHRoZSBmb2xsb3dpbmcgYXBwcm94aW1hdGUgbGF5b3V0OgorCisuXHB5dGhvblt3XS5leGUgVGhlIGNvcmUgZXhlY3V0YWJsZSBmaWxlcworLlxETExzICAgICAgICAgIFN0ZGxpYiBleHRlbnNpb25zICgqLnB5ZCkgYW5kIGRlcGVuZGVuY2llcworLlxEb2MgICAgICAgICAgIERvY3VtZW50YXRpb24gKCouY2htKQorLlxpbmNsdWRlICAgICAgIERldmVsb3BtZW50IGhlYWRlcnMgKCouaCkKKy5cTGliICAgICAgICAgICBTdGFuZGFyZCBsaWJyYXJ5CisuXExpYlx0ZXN0ICAgICAgVGVzdCBzdWl0ZQorLlxsaWJzICAgICAgICAgIERldmVsb3BtZW50IGxpYnJhcmllcyAoKi5saWIpCisuXFNjcmlwdHMgICAgICAgTGF1bmNoZXIgc2NyaXB0cyAoKi5leGUsICoucHkpCisuXHRjbCAgICAgICAgICAgVGNsIGRlcGVuZGVuY2llcyAoKi5kbGwsICoudGNsIGFuZCBvdGhlcnMpCisuXFRvb2xzICAgICAgICAgVG9vbCBzY3JpcHRzICgqLnB5KQorCitXaGVuIGluc3RhbGxlZCBmb3IgYWxsIHVzZXJzLCB0aGUgZm9sbG93aW5nIGZpbGVzIGFyZSBpbnN0YWxsZWQgdG8KK2VpdGhlciAiJVN5c3RlbVJvb3QlXFN5c3RlbTMyIiBvciAiJVN5c3RlbVJvb3QlXFN5c1dPVzY0IiBhcworYXBwcm9wcmlhdGUuIEZvciB0aGUgY3VycmVudCB1c2VyLCB0aGV5IGFyZSBpbnN0YWxsZWQgaW4gdGhlIFB5dGhvbgoraW5zdGFsbCBkaXJlY3RvcnkuCisKKy5ccHl0aG9uM3guZGxsICAgICAgVGhlIGNvcmUgaW50ZXJwcmV0ZXIKKy5ccHl0aG9uMy5kbGwgICAgICAgVGhlIHN0YWJsZSBBQkkgcmVmZXJlbmNlCisuXGFwcGNydDE0MC5kbGwgICAgIE1pY3Jvc29mdCBWaXN1YWwgQyBSdW50aW1lCisuXGRlc2t0b3BjcnQxNDAuZGxsIE1pY3Jvc29mdCBWaXN1YWwgQyBSdW50aW1lCisuXHZjcnVudGltZTE0MC5kbGwgIE1pY3Jvc29mdCBWaXN1YWwgQyBSdW50aW1lCisKK1doZW4gaW5zdGFsbGVkIGZvciBhbGwgdXNlcnMsIHRoZSBmb2xsb3dpbmcgZmlsZXMgYXJlIGluc3RhbGxlZCB0bworIiVTeXN0ZW1Sb290JSIgKHR5cGljYWxseSAiQzpcV2luZG93cyIpIHRvIGVuc3VyZSB0aGV5IGFyZSBhbHdheXMKK2F2YWlsYWJsZSBvbiBQQVRILiAoU2VlIExhdW5jaGluZyBQeXRob24gYmVsb3cuKSBGb3IgdGhlIGN1cnJlbnQgdXNlciwKK3RoZXkgYXJlIGluc3RhbGxlZCBpbiB0aGUgUHl0aG9uIGluc3RhbGwgZGlyZWN0b3J5LgorCisuXHB5W3ddLmV4ZSAgICAgICAgIFBFUCAzOTcgbGF1bmNoZXIKKworU3lzdGVtIFNldHRpbmdzCis9PT09PT09PT09PT09PT0KKworT24gaW5zdGFsbGF0aW9uLCByZWdpc3RyeSBrZXlzIGFyZSBjcmVhdGVkIHNvIHRoYXQgb3RoZXIgYXBwbGljYXRpb25zCitjYW4gbG9jYXRlIGFuZCBpZGVudGlmeSBpbnN0YWxsYXRpb25zIG9mIFB5dGhvbi4gVGhlIGxvY2F0aW9ucyBvZiB0aGVzZQora2V5cyB2YXJ5IGJhc2VkIG9uIHRoZSBpbnN0YWxsIHR5cGUuCisKK0ZvciA2NC1iaXQgaW50ZXJwcmV0ZXJzIGluc3RhbGxlZCBmb3IgYWxsIHVzZXJzLCB0aGUgcm9vdCBrZXkgaXM6CisgICAgSEtFWV9MT0NBTF9NQUNISU5FXFNvZnR3YXJlXFB5dGhvblxQeXRob25Db3JlXDMuWAorCitGb3IgMzItYml0IGludGVycHJldGVycyBpbnN0YWxsZWQgZm9yIGFsbCB1c2VycyBvbiBhIDY0LWJpdCBvcGVyYXRpbmcKK3N5c3RlbSwgdGhlIHJvb3Qga2V5IGlzOgorICAgIEhLRVlfTE9DQUxfTUFDSElORVxTb2Z0d2FyZVxXb3c2NDMyTm9kZVxQeXRob25cUHl0aG9uQ29yZVwzLlgtMzIKKworRm9yIDMyLWJpdCBpbnRlcnByZXRlcnMgaW5zdGFsbGVkIGZvciBhbGwgdXNlcnMgb24gYSAzMi1iaXQgb3BlcmF0aW5nCitzeXN0ZW0sIHRoZSByb290IGtleSBpczoKKyAgICBIS0VZX0xPQ0FMX01BQ0hJTkVcU29mdHdhcmVcUHl0aG9uXFB5dGhvbkNvcmVcMy5YLTMyCisKK0ZvciA2NC1iaXQgaW50ZXJwcmV0ZXJzIGluc3RhbGxlZCBmb3IgdGhlIGN1cnJlbnQgdXNlcjoKKyAgICBIS0VZX0NVUlJFTlRfVVNFUlxTb2Z0d2FyZVxQeXRob25cUHl0aG9uQ29yZVwzLlgKKworRm9yIDMyLWJpdCBpbnRlcnByZXRlcnMgaW5zdGFsbGVkIGZvciB0aGUgY3VycmVudCB1c2VyOgorICAgIEhLRVlfQ1VSUkVOVF9VU0VSXFNvZnR3YXJlXFB5dGhvblxQeXRob25Db3JlXDMuWC0zMgorCitXaGVuIHRoZSBjb3JlIFB5dGhvbiBleGVjdXRhYmxlcyBhcmUgaW5zdGFsbGVkLCBhIGtleSAiSW5zdGFsbFBhdGgiIGlzCitjcmVhdGVkIHdpdGhpbiB0aGUgcm9vdCBrZXkgd2l0aCBpdHMgZGVmYXVsdCB2YWx1ZSBzZXQgdG8gdGhlCitleGVjdXRhYmxlJ3MgaW5zdGFsbCBkaXJlY3RvcnkuIFdpdGhpbiB0aGlzIGtleSwgYSBrZXkgIkluc3RhbGxHcm91cCIgaXMKK2NyZWF0ZWQgd2l0aCBpdHMgZGVmYXVsdCB2YWx1ZSBzZXQgdG8gdGhlIHByb2R1Y3QgbmFtZSAiUHl0aG9uIDMuWCIuCisKK1doZW4gdGhlIFB5dGhvbiBzdGFuZGFyZCBsaWJyYXJ5IGlzIGluc3RhbGxlZCwgYSBrZXkgIlB5dGhvblBhdGgiIGlzCitjcmVhdGVkIHdpdGhpbiB0aGUgcm9vdCBrZXkgd2l0aCBpdHMgZGVmYXVsdCB2YWx1ZSBzZXQgdG8gdGhlIGZ1bGwgcGF0aAordG8gdGhlIExpYiBmb2xkZXIgZm9sbG93ZWQgYnkgdGhlIHBhdGggdG8gdGhlIERMTHMgZm9sZGVyLCBzZXBhcmF0ZWQgYnkKK2Egc2VtaWNvbG9uLgorCitXaGVuIHRoZSBkb2N1bWVudGF0aW9uIGlzIGluc3RhbGxlZCwgYSBrZXkgIkhlbHAiIGlzIGNyZWF0ZWQgd2l0aGluIHRoZQorcm9vdCBrZXksIHdpdGggYSBzdWJrZXkgIk1haW4gUHl0aG9uIERvY3VtZW50YXRpb24iIHdpdGggaXRzIGRlZmF1bHQKK3ZhbHVlIHNldCB0byB0aGUgZnVsbCBwYXRoIHRvIHRoZSBpbnN0YWxsZWQgQ0hNIGZpbGUuCisKKworVGhlIHB5LmV4ZSBsYXVuY2hlciBpcyBpbnN0YWxsZWQgYXMgcGFydCBvZiBhIHJlZ3VsYXIgUHl0aG9uIGluc3RhbGwsCitidXQgdXNpbmcgYSBzZXBhcmF0ZSBtZWNoYW5pc20gdGhhdCBhbGxvd3MgaXQgdG8gbW9yZSBlYXNpbHkgc3BhbgordmVyc2lvbnMgb2YgUHl0aG9uLiBBcyBhIHJlc3VsdCwgaXQgaGFzIGRpZmZlcmVudCByb290IGtleXMgZm9yIGl0cworcmVnaXN0cnkgZW50cmllczoKKworV2hlbiBpbnN0YWxsZWQgZm9yIGFsbCB1c2VycyBvbiBhIDY0LWJpdCBvcGVyYXRpbmcgc3lzdGVtLCB0aGUKK2xhdW5jaGVyJ3Mgcm9vdCBrZXkgaXM6CisgICAgSEtFWV9MT0NBTF9NQUNISU5FXFNvZnR3YXJlXFdvdzY0MzJOb2RlXFB5dGhvblxMYXVuY2hlcgorCitXaGVuIGluc3RhbGxlZCBmb3IgYWxsIHVzZXJzIG9uIGEgMzItYml0IG9wZXJhdGluZyBzeXN0ZW0sIHRoZQorbGF1bmNoZXIncyByb290IGtleSBpczoKKyAgICBIS0VZX0xPQ0FMX01BQ0hJTkVcU29mdHdhcmVcUHl0aG9uXExhdW5jaGVyCisKK1doZW4gaW5zdGFsbGVkIGZvciB0aGUgY3VycmVudCB1c2VyOgorICAgIEhLRVlfQ1VSUkVOVF9VU0VSXFNvZnR3YXJlXFB5dGhvblxMYXVuY2hlcgorCitXaGVuIHRoZSBsYXVuY2hlciBpcyBpbnN0YWxsZWQsIGEga2V5ICJJbnN0YWxsUGF0aCIgaXMgY3JlYXRlZCB3aXRoaW4KK2l0cyByb290IGtleSB3aXRoIGl0cyBkZWZhdWx0IHZhbHVlIHNldCB0byB0aGUgbGF1bmNoZXIncyBpbnN0YWxsCitkaXJlY3RvcnkuIEZpbGUgYXNzb2NpYXRpb25zIGFyZSBhbHNvIGNyZWF0ZWQgZm9yIC5weSwgLnB5dywgLnB5YyBhbmQKKy5weW8gZmlsZXMuCisKK0xhdW5jaGluZyBQeXRob24KKz09PT09PT09PT09PT09PT0KKworV2hlbiBhIGZlYXR1cmUgb2ZmZXJpbmcgdXNlciBlbnRyeSBwb2ludHMgaW4gdGhlIFN0YXJ0IE1lbnUgaXMKK2luc3RhbGxlZCwgYSBmb2xkZXIgIlB5dGhvbiAzLlgiIGlzIGNyZWF0ZWQuIEV2ZXJ5IHNob3J0Y3V0IHNob3VsZCBiZQorY3JlYXRlZCB3aXRoaW4gdGhpcyBmb2xkZXIsIGFuZCBlYWNoIHNob3J0Y3V0IHNob3VsZCBpbmNsdWRlIHRoZSB2ZXJzaW9uCithbmQgcGxhdGZvcm0gdG8gYWxsb3cgdXNlcnMgdG8gaWRlbnRpZnkgdGhlIHNob3J0Y3V0IGluIGEgc2VhcmNoIHJlc3VsdHMKK3BhZ2UuCisKK1RoZSBjb3JlIFB5dGhvbiBleGVjdXRhYmxlcyBjcmVhdGVzIGEgc2hvcnRjdXQgIlB5dGhvbiAzLlggKDMyLWJpdCkiIG9yCisiUHl0aG9uIDMuWCAoNjQtYml0KSIgZGVwZW5kaW5nIG9uIHRoZSBpbnRlcnByZXRlci4KKworVGhlIGRvY3VtZW50YXRpb24gY3JlYXRlcyBhIHNob3J0Y3V0ICJQeXRob24gMy5YIDMyLWJpdCBNYW51YWxzIiBvcgorIlB5dGhvbiAzLlggNjQtYml0IE1hbnVhbHMiLiBUaGUgZG9jdW1lbnRhdGlvbiBpcyBpZGVudGljYWwgZm9yIGFsbAorcGxhdGZvcm1zLCBidXQgdGhlIHNob3J0Y3V0cyBuZWVkIHRvIGJlIHNlcGFyYXRlIHRvIGF2b2lkIHVuaW5zdGFsbGF0aW9uCitjb25mbGljdHMuCisKK0luc3RhbGxpbmcgSURMRSBjcmVhdGVzIGEgc2hvcnRjdXQgIklETEUgKFB5dGhvbiAzLlggMzItYml0KSIgb3IgIklETEUKKyhQeXRob24gMy5YIDY0LWJpdCkiIGRlcGVuZGluZyBvbiB0aGUgaW50ZXJwcmV0ZXIuCisKKworRm9yIHVzZXJzIHdobyBvZnRlbiBsYXVuY2ggUHl0aG9uIGZyb20gYSBDb21tYW5kIFByb21wdCwgYW4gb3B0aW9uIGlzCitwcm92aWRlZCB0byBhZGQgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIHB5dGhvbi5leGUgdG8gdGhlIHVzZXIgb3IKK3N5c3RlbSBQQVRIIHZhcmlhYmxlLiBJZiB0aGUgb3B0aW9uIGlzIHNlbGVjdGVkLCB0aGUgaW5zdGFsbCBkaXJlY3RvcnkKK2FuZCB0aGUgU2NyaXB0cyBkaXJlY3Rvcnkgd2lsbCBiZSBhZGRlZCBhdCB0aGUgc3RhcnQgb2YgdGhlIHN5c3RlbSBQQVRICitmb3IgYW4gYWxsIHVzZXJzIGluc3RhbGwgYW5kIHRoZSB1c2VyIFBBVEggZm9yIGEgcGVyLXVzZXIgaW5zdGFsbC4KKworV2hlbiB0aGUgdXNlciBvbmx5IGhhcyBvbmUgdmVyc2lvbiBvZiBQeXRob24gaW5zdGFsbGVkLCB0aGlzIHdpbGwgYmVoYXZlCithcyBleHBlY3RlZC4gSG93ZXZlciwgYmVjYXVzZSBXaW5kb3dzIHNlYXJjaGVzIHRoZSBzeXN0ZW0gUEFUSCBiZWZvcmUKK3RoZSB1c2VyIFBBVEgsIHVzZXJzIGNhbm5vdCBvdmVycmlkZSBhIHN5c3RlbS13aWRlIGluc3RhbGxhdGlvbiBvZgorUHl0aG9uIG9uIHRoZWlyIFBBVEguIEZ1cnRoZXIsIGJlY2F1c2UgdGhlIGluc3RhbGxlciBjYW4gb25seSBwcmVwZW5kIHRvCit0aGUgcGF0aCwgbGF0ZXIgaW5zdGFsbGF0aW9ucyBvZiBQeXRob24gd2lsbCB0YWtlIHByZWNlZGVuY2Ugb3ZlcgorZWFybGllciBpbnN0YWxsYXRpb25zLCByZWdhcmRsZXNzIG9mIGludGVycHJldGVyIHZlcnNpb24uCisKK0JlY2F1c2UgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGF1dG9tYXRpY2FsbHkgY3JlYXRlIGEgc2Vuc2libGUgUEFUSAorY29uZmlndXJhdGlvbiwgdXNlcnMgYXJlIHJlY29tbWVuZGVkIHRvIHVzZSB0aGUgcHkuZXhlIGxhdW5jaGVyIGFuZAorbWFudWFsbHkgbW9kaWZ5IHRoZWlyIFBBVEggdmFyaWFibGUgdG8gYWRkIFNjcmlwdHMgZGlyZWN0b3JpZXMgaW4gdGhlaXIKK3ByZWZlcnJlZCBvcmRlci4gU3lzdGVtLXdpZGUgaW5zdGFsbGF0aW9ucyBvZiBQeXRob24gc2hvdWxkIGNvbnNpZGVyIG5vdAorbW9kaWZ5aW5nIFBBVEgsIG9yIHVzaW5nIGFuIGFsdGVybmF0aXZlIHRlY2hub2xvZ3kgdG8gbW9kaWZ5IHRoZWlyCit1c2VycycgUEFUSCB2YXJpYWJsZXMuCisKKworVGhlIHB5LmV4ZSBsYXVuY2hlciBpcyByZWNvbW1lbmRlZCBiZWNhdXNlIGl0IHVzZXMgYSBjb25zaXN0ZW50IGFuZAorc2Vuc2libGUgc2VhcmNoIG9yZGVyIGZvciBQeXRob24gaW5zdGFsbGF0aW9ucy4gVXNlciBpbnN0YWxsYXRpb25zIGFyZQorcHJlZmVycmVkIG92ZXIgc3lzdGVtLXdpZGUgaW5zdGFsbHMsIGFuZCBsYXRlciB2ZXJzaW9ucyBhcmUgcHJlZmVycmVkCityZWdhcmRsZXNzIG9mIGluc3RhbGxhdGlvbiBvcmRlciAod2l0aCB0aGUgZXhjZXB0aW9uIHRoYXQgcHkuZXhlCitjdXJyZW50bHkgcHJlZmVycyAyLnggdmVyc2lvbnMgb3ZlciAzLnggdmVyc2lvbnMgd2l0aG91dCB0aGUgLTMgY29tbWFuZAorbGluZSBhcmd1bWVudCkuCisKK0ZvciBib3RoIDMyLWJpdCBhbmQgNjQtYml0IGludGVycHJldGVycywgdGhlIDMyLWJpdCB2ZXJzaW9uIG9mIHRoZQorbGF1bmNoZXIgaXMgaW5zdGFsbGVkLiBUaGlzIGVuc3VyZXMgdGhhdCB0aGUgc2VhcmNoIG9yZGVyIGlzIGFsd2F5cworY29uc2lzdGVudCAoYXMgdGhlIDY0LWJpdCBsYXVuY2hlciBpcyBzdWJ0bHkgZGlmZmVyZW50IGZyb20gdGhlIDMyLWJpdAorbGF1bmNoZXIpIGFuZCBhbHNvIGF2b2lkcyB0aGUgbmVlZCB0byBpbnN0YWxsIGl0IG11bHRpcGxlIHRpbWVzLiBGdXR1cmUKK3ZlcnNpb25zIG9mIFB5dGhvbiB3aWxsIHVwZ3JhZGUgdGhlIGxhdW5jaGVyIGluLXBsYWNlLCB1c2luZyBXaW5kb3dzCitJbnN0YWxsZXIncyB1cGdyYWRlIGZ1bmN0aW9uYWxpdHkgdG8gYXZvaWQgY29uZmxpY3RzIHdpdGggZWFybGllcgoraW5zdGFsbGVkIHZlcnNpb25zLgorCitXaGVuIGluc3RhbGxlZCwgZmlsZSBhc3NvY2lhdGlvbnMgYXJlIGNyZWF0ZWQgZm9yIC5weSwgLnB5YyBhbmQgLnB5bworZmlsZXMgdG8gbGF1bmNoIHdpdGggcHkuZXhlIGFuZCAucHl3IGZpbGVzIHRvIGxhdW5jaCB3aXRoIHB5dy5leGUuIFRoaXMKK21ha2VzIFB5dGhvbiBmaWxlcyByZXNwZWN0IHNoZWJhbmcgbGluZXMgYnkgZGVmYXVsdCBhbmQgYWxzbyBhdm9pZHMKK2NvbmZsaWN0cyBiZXR3ZWVuIG11bHRpcGxlIFB5dGhvbiBpbnN0YWxsYXRpb25zLgorCisKK1JlcGFpciwgTW9kaWZ5IGFuZCBVbmluc3RhbGwKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworQWZ0ZXIgaW5zdGFsbGF0aW9uLCBQeXRob24gbWF5IGJlIG1vZGlmaWVkLCByZXBhaXJlZCBvciB1bmluc3RhbGxlZCBieQorcnVubmluZyB0aGUgb3JpZ2luYWwgRVhFIGFnYWluIG9yIHZpYSB0aGUgUHJvZ3JhbXMgYW5kIEZlYXR1cmVzIGFwcGxldAorKGZvcm1lcmx5IGtub3duIGFzIEFkZCBvciBSZW1vdmUgUHJvZ3JhbXMpLgorCitNb2RpZmljYXRpb25zIGFsbG93IGZlYXR1cmVzIHRvIGJlIGFkZGVkIG9yIHJlbW92ZWQuIFRoZSBpbnN0YWxsCitkaXJlY3RvcnkgYW5kIGtpbmQgKGFsbCB1c2Vycy9zaW5nbGUgdXNlcikgY2Fubm90IGJlIG1vZGlmaWVkLiBCZWNhdXNlCitXaW5kb3dzIEluc3RhbGxlciBjYWNoZXMgaW5zdGFsbGF0aW9uIHBhY2thZ2VzLCByZW1vdmluZyBmZWF0dXJlcyB3aWxsCitub3QgcmVxdWlyZSBpbnRlcm5ldCBhY2Nlc3MgdW5sZXNzIHRoZSBwYWNrYWdlIGNhY2hlIGhhcyBiZWVuIGNvcnJ1cHRlZAorb3IgZGVsZXRlZC4gQWRkaW5nIGZlYXR1cmVzIHRoYXQgd2VyZSBub3QgcHJldmlvdXNseSBpbnN0YWxsZWQgYW5kIGFyZQorbm90IGVtYmVkZGVkIG9yIG90aGVyd2lzZSBhdmFpbGFibGUgd2lsbCByZXF1aXJlIGludGVybmV0IGFjY2Vzcy4KKworUmVwYWlyaW5nIHdpbGwgcmVydW4gdGhlIGluc3RhbGxhdGlvbiBmb3IgYWxsIGN1cnJlbnRseSBpbnN0YWxsZWQKK2ZlYXR1cmVzLCByZXN0b3JpbmcgZmlsZXMgYW5kIHJlZ2lzdHJ5IGtleXMgdGhhdCBoYXZlIGJlZW4gbW9kaWZpZWQgb3IKK3JlbW92ZWQuIFRoaXMgb3BlcmF0aW9uIGdlbmVyYWxseSB3aWxsIG5vdCByZWRvd25sb2FkIGFueSBmaWxlcyB1bmxlc3MKK3RoZSBjYWNoZWQgcGFja2FnZXMgaGF2ZSBiZWVuIGNvcnJ1cHRlZCBvciBkZWxldGVkLgorCitSZW1vdmluZyBQeXRob24gd2lsbCBjbGVhbiB1cCBhbGwgdGhlIGZpbGVzIGFuZCByZWdpc3RyeSBrZXlzIHRoYXQgd2VyZQorY3JlYXRlZCBieSB0aGUgaW5zdGFsbGVyLCBhcyB3ZWxsIGFzIF9fcHljYWNoZV9fIGZvbGRlcnMgdGhhdCBhcmUKK2V4cGxpY2l0bHkgaGFuZGxlZCBieSB0aGUgaW5zdGFsbGVyLiBQeXRob24gcGFja2FnZXMgaW5zdGFsbGVkIGxhdGVyCit1c2luZyBhIHRvb2wgbGlrZSBwaXAgd2lsbCBub3QgYmUgcmVtb3ZlZC4gU29tZSBjb21wb25lbnRzIG1heSBiZQoraW5zdGFsbGVkIGJ5IG90aGVyIGluc3RhbGxlcnMgKHN1Y2ggYXMgdGhlIE1TVkNSVCkgYW5kIHRoZXNlIHdpbGwgbm90IGJlCityZW1vdmVkIGlmIGFub3RoZXIgcHJvZHVjdCBoYXMgYSBkZXBlbmRlbmN5IG9uIHRoZW0uCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9idWlsZC5iYXQgYi9Ub29scy9tc2kvYnVpbGQuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVmZWU2NmIKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvYnVpbGQuYmF0CkBAIC0wLDAgKzEsNDYgQEAKK0BlY2hvIG9mZgorc2V0bG9jYWwKK3NldCBEPSV+ZHAwCitzZXQgUENCVUlMRD0lRCUuLlwuLlxQQ0J1aWxkXAorCitzZXQgQlVJTERYODY9CitzZXQgQlVJTERYNjQ9CitzZXQgQlVJTERET0M9CisKKzpDaGVja09wdHMKK2lmICclMSc9PScteDg2JyAoc2V0IEJVSUxEWDg2PTEpICYmIHNoaWZ0ICYmIGdvdG8gQ2hlY2tPcHRzCitpZiAnJTEnPT0nLXg2NCcgKHNldCBCVUlMRFg2ND0xKSAmJiBzaGlmdCAmJiBnb3RvIENoZWNrT3B0cworaWYgJyUxJz09Jy0tZG9jJyAoc2V0IEJVSUxERE9DPTEpICYmIHNoaWZ0ICYmIGdvdG8gQ2hlY2tPcHRzCisKK2lmIG5vdCBkZWZpbmVkIEJVSUxEWDg2IGlmIG5vdCBkZWZpbmVkIEJVSUxEWDY0IChzZXQgQlVJTERYODY9MSkgJiYgKHNldCBCVUlMRFg2ND0xKQorCitjYWxsICIlUENCVUlMRCVlbnYuYmF0IiB4ODYKKworaWYgZGVmaW5lZCBCVUlMRFg4NiAoCisgICAgY2FsbCAiJVBDQlVJTEQlYnVpbGQuYmF0IiAtZAorICAgIGlmIGVycm9ybGV2ZWwgMSBnb3RvIDplb2YKKyAgICBjYWxsICIlUENCVUlMRCVidWlsZC5iYXQiCisgICAgaWYgZXJyb3JsZXZlbCAxIGdvdG8gOmVvZgorKQoraWYgZGVmaW5lZCBCVUlMRFg2NCAoCisgICAgY2FsbCAiJVBDQlVJTEQlYnVpbGQuYmF0IiAtcCB4NjQgLWQKKyAgICBpZiBlcnJvcmxldmVsIDEgZ290byA6ZW9mCisgICAgY2FsbCAiJVBDQlVJTEQlYnVpbGQuYmF0IiAtcCB4NjQKKyAgICBpZiBlcnJvcmxldmVsIDEgZ290byA6ZW9mCispCisKK2lmIGRlZmluZWQgQlVJTERET0MgKAorICAgIGNhbGwgIiVQQ0JVSUxEJS4uXERvY1xtYWtlLmJhdCIgaHRtbGhlbHAKKyAgICBpZiBlcnJvcmxldmVsIDEgZ290byA6ZW9mCispCisKK2lmIGRlZmluZWQgQlVJTERYODYgKAorICAgICIlUENCVUlMRCV3aW4zMlxweXRob24uZXhlIiAiJUQlZ2V0X3dpeC5weSIKKyAgICBtc2J1aWxkICIlRCVidW5kbGVcc25hcHNob3Qud2l4cHJvaiIKKyAgICBpZiBlcnJvcmxldmVsIDEgZ290byA6ZW9mCispCitpZiBkZWZpbmVkIEJVSUxEWDY0ICgKKyAgICAiJVBDQlVJTEQlYW1kNjRccHl0aG9uLmV4ZSIgIiVEJWdldF93aXgucHkiCisgICAgbXNidWlsZCAiJUQlYnVuZGxlXHNuYXBzaG90LndpeHByb2oiIC9wOlBsYXRmb3JtPXg2NAorICAgIGlmIGVycm9ybGV2ZWwgMSBnb3RvIDplb2YKKykKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9idWlsZHJlbGVhc2UuYmF0IGIvVG9vbHMvbXNpL2J1aWxkcmVsZWFzZS5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2YyYTk0YQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9idWlsZHJlbGVhc2UuYmF0CkBAIC0wLDAgKzEsMTYzIEBACitAc2V0bG9jYWwKK0BlY2hvIG9mZgorCityZW0gVGhpcyBzY3JpcHQgaXMgaW50ZW5kZWQgZm9yIGJ1aWxkaW5nIG9mZmljaWFsIHJlbGVhc2VzIG9mIFB5dGhvbi4KK3JlbSBUbyB1c2UgaXQgdG8gYnVpbGQgYWx0ZXJuYXRpdmUgcmVsZWFzZXMsIHlvdSBzaG91bGQgY2xvbmUgdGhpcyBmaWxlCityZW0gYW5kIG1vZGlmeSB0aGUgZm9sbG93aW5nIHRocmVlIFVSSXMuCityZW0KK3JlbSBUaGUgZmlyc3QgdHdvIHdpbGwgZW5zdXJlIHRoYXQgeW91ciByZWxlYXNlIGNhbiBiZSBpbnN0YWxsZWQKK3JlbSBhbG9uZ3NpZGUgYW4gb2ZmaWNpYWwgUHl0aG9uIHJlbGVhc2UsIHdoaWxlIHRoZSBzZWNvbmQgc3BlY2lmaWVzCityZW0gdGhlIFVSTCB0aGF0IHdpbGwgYmUgdXNlZCB0byBkb3dubG9hZCBpbnN0YWxsYXRpb24gZmlsZXMuIFRoZQorcmVtIGZpbGVzIGF2YWlsYWJsZSBmcm9tIHRoaXMgVVJMICp3aWxsKiBjb25mbGljdCB3aXRoIHlvdXIgaW5zdGFsbGVyLgorcmVtIFRydXN0IG1lLCB5b3UgZG9uJ3Qgd2FudCB0aGVtLCBldmVuIGlmIGl0IHNlZW1zIGxpa2UgYSBnb29kIGlkZWEuCisKK3NldCBSRUxFQVNFX1VSSV9YODY9aHR0cDovL3d3dy5weXRob24ub3JnL3dpbjMyCitzZXQgUkVMRUFTRV9VUklfWDY0PWh0dHA6Ly93d3cucHl0aG9uLm9yZy9hbWQ2NAorc2V0IERPV05MT0FEX1VSTF9CQVNFPWh0dHBzOi8vd3d3LnB5dGhvbi5vcmcvZnRwL3B5dGhvbgorc2V0IERPV05MT0FEX1VSTD0KKworc2V0IEQ9JX5kcDAKK3NldCBQQ0JVSUxEPSVEJS4uXC4uXFBDQnVpbGRcCisKK3NldCBCVUlMRFg4Nj0KK3NldCBCVUlMRFg2ND0KK3NldCBUQVJHRVQ9UmVidWlsZAorc2V0IFRFU1RUQVJHRVRESVI9CisKKworOkNoZWNrT3B0cworaWYgIiUxIiBFUVUgIi1oIiBnb3RvIEhlbHAKK2lmICIlMSIgRVFVICItYyIgKHNldCBDRVJUTkFNRT0lfjIpICYmIHNoaWZ0ICYmIHNoaWZ0ICYmIGdvdG8gQ2hlY2tPcHRzCitpZiAiJTEiIEVRVSAiLS1jZXJ0aWZpY2F0ZSIgKHNldCBDRVJUTkFNRT0lfjIpICYmIHNoaWZ0ICYmIHNoaWZ0ICYmIGdvdG8gQ2hlY2tPcHRzCitpZiAiJTEiIEVRVSAiLW8iIChzZXQgT1VURElSPSV+MikgJiYgc2hpZnQgJiYgc2hpZnQgJiYgZ290byBDaGVja09wdHMKK2lmICIlMSIgRVFVICItLW91dCIgKHNldCBPVVRESVI9JX4yKSAmJiBzaGlmdCAmJiBzaGlmdCAmJiBnb3RvIENoZWNrT3B0cworaWYgIiUxIiBFUVUgIi1EIiAoc2V0IFNLSVBET0M9MSkgJiYgc2hpZnQgJiYgZ290byBDaGVja09wdHMKK2lmICIlMSIgRVFVICItLXNraXAtZG9jIiAoc2V0IFNLSVBET0M9MSkgJiYgc2hpZnQgJiYgZ290byBDaGVja09wdHMKK2lmICIlMSIgRVFVICItQiIgKHNldCBTS0lQQlVJTEQ9MSkgJiYgc2hpZnQgJiYgZ290byBDaGVja09wdHMKK2lmICIlMSIgRVFVICItLXNraXAtYnVpbGQiIChzZXQgU0tJUEJVSUxEPTEpICYmIHNoaWZ0ICYmIGdvdG8gQ2hlY2tPcHRzCitpZiAiJTEiIEVRVSAiLS1kb3dubG9hZCIgKHNldCBET1dOTE9BRF9VUkw9JX4yKSAmJiBzaGlmdCAmJiBzaGlmdCAmJiBnb3RvIENoZWNrT3B0cworaWYgIiUxIiBFUVUgIi0tdGVzdCIgKHNldCBURVNUVEFSR0VURElSPSV+MikgJiYgc2hpZnQgJiYgc2hpZnQgJiYgZ290byBDaGVja09wdHMKK2lmICIlMSIgRVFVICItYiIgKHNldCBUQVJHRVQ9QnVpbGQpICYmIHNoaWZ0ICYmIGdvdG8gQ2hlY2tPcHRzCitpZiAiJTEiIEVRVSAiLS1idWlsZCIgKHNldCBUQVJHRVQ9QnVpbGQpICYmIHNoaWZ0ICYmIGdvdG8gQ2hlY2tPcHRzCitpZiAiJTEiIEVRVSAiLXg4NiIgKHNldCBCVUlMRFg4Nj0xKSAmJiBzaGlmdCAmJiBnb3RvIENoZWNrT3B0cworaWYgIiUxIiBFUVUgIi14NjQiIChzZXQgQlVJTERYNjQ9MSkgJiYgc2hpZnQgJiYgZ290byBDaGVja09wdHMKKworaWYgbm90IGRlZmluZWQgQlVJTERYODYgaWYgbm90IGRlZmluZWQgQlVJTERYNjQgKHNldCBCVUlMRFg4Nj0xKSAmJiAoc2V0IEJVSUxEWDY0PTEpCisKKzpidWlsZGRvYworaWYgIiVTS0lQQlVJTEQlIiBFUVUgIjEiIGdvdG8gc2tpcGRvYworaWYgIiVTS0lQRE9DJSIgRVFVICIxIiBnb3RvIHNraXBkb2MKKworaWYgbm90IGRlZmluZWQgUFlUSE9OIHdoZXJlIHB5IC1xIHx8IGVjaG8gQ2Fubm90IGZpbmQgcHkgb24gcGF0aCBhbmQgUFlUSE9OIGlzIG5vdCBzZXQuICYmIGV4aXQgL0IgMQoraWYgbm90IGRlZmluZWQgU1BISU5YQlVJTEQgd2hlcmUgc3BoaW54LWJ1aWxkIC1xIHx8IGVjaG8gQ2Fubm90IGZpbmQgc3BoaW54LWJ1aWxkIG9uIHBhdGggYW5kIFNQSElOWEJVSUxEIGlzIG5vdCBzZXQuICYmIGV4aXQgL0IgMQorY2FsbCAiJUQlLi5cLi5cZG9jXG1ha2UuYmF0IiBodG1saGVscAoraWYgZXJyb3JsZXZlbCAxIGdvdG8gOmVvZgorOnNraXBkb2MKKword2hlcmUgaGcgL3EgfHwgZWNobyBDYW5ub3QgZmluZCBNZXJjdXJpYWwgb24gUEFUSCAmJiBleGl0IC9CIDEKKword2hlcmUgZGxsdG9vbCAvcSAmJiBnb3RvIHNraXBkbGx0b29sc2VhcmNoCitzZXQgX0RMTFRPT0xfUEFUSD0KK3doZXJlIC9SICIlRCUuLlwuLlxleHRlcm5hbHMiIGRsbHRvb2wgPiAiJVRFTVAlXGRsbHRvb2wubG9jIiAyPiBudWwgJiYgc2V0IC9QIF9ETExUT09MX1BBVEg9IDwgIiVURU1QJVxkbGx0b29sLmxvYyIgJiBkZWwgIiVURU1QJVxkbGx0b29sLmxvYyIgCitpZiBub3QgZXhpc3QgIiVfRExMVE9PTF9QQVRIJSIgZWNobyBDYW5ub3QgZmluZCBiaW51dGlscyBvbiBQQVRIIG9yIGluIGV4dGVybmFsICYmIGV4aXQgL0IgMQorZm9yICUlZiBpbiAoJV9ETExUT09MX1BBVEglKSBkbyBzZXQgUEFUSD0lUEFUSCU7JSV+ZHBmCitzZXQgX0RMTFRPT0xfUEFUSD0KKzpza2lwZGxsdG9vbHNlYXJjaAorCitpZiBkZWZpbmVkIEJVSUxEWDg2ICgKKyAgICBjYWxsIDpidWlsZCB4ODYKKyAgICBpZiBlcnJvcmxldmVsIDEgZXhpdCAvQgorKQorCitpZiBkZWZpbmVkIEJVSUxEWDY0ICgKKyAgICBjYWxsIDpidWlsZCB4NjQKKyAgICBpZiBlcnJvcmxldmVsIDEgZXhpdCAvQgorKQorCitpZiBkZWZpbmVkIFRFU1RUQVJHRVRESVIgKAorICAgIGNhbGwgIiVEJXRlc3RyZWxlYXNlLmJhdCIgLXQgIiVURVNUVEFSR0VURElSJSIKKykKKworZXhpdCAvQiAwCisKKzpidWlsZAorQHNldGxvY2FsCitAZWNobyBvZmYKKworaWYgIiUxIiBFUVUgIng4NiIgKAorICAgIGNhbGwgIiVQQ0JVSUxEJWVudi5iYXQiIHg4NgorICAgIHNldCBCVUlMRD0lUENCVUlMRCV3aW4zMlwKKyAgICBzZXQgQlVJTERfUExBVD1XaW4zMgorICAgIHNldCBPVVRESVJfUExBVD13aW4zMgorICAgIHNldCBPQkpESVJfUExBVD14ODYKKyAgICBzZXQgUkVMRUFTRV9VUkk9JVJFTEVBU0VfVVJJX1g4NiUKKykgRUxTRSAoCisgICAgY2FsbCAiJVBDQlVJTEQlZW52LmJhdCIgeDg2X2FtZDY0CisgICAgc2V0IEJVSUxEPSVQQ0JVSUxEJWFtZDY0XAorICAgIHNldCBCVUlMRF9QTEFUPXg2NAorICAgIHNldCBPVVRESVJfUExBVD1hbWQ2NAorICAgIHNldCBPQkpESVJfUExBVD14NjQKKyAgICBzZXQgUkVMRUFTRV9VUkk9JVJFTEVBU0VfVVJJX1g2NCUKKykKKworaWYgZXhpc3QgIiVCVUlMRCVlbi11cyIgKAorICAgIGVjaG8gRGVsZXRpbmcgJUJVSUxEJWVuLXVzCisgICAgcm1kaXIgL3EvcyAiJUJVSUxEJWVuLXVzIgorICAgIGlmIGVycm9ybGV2ZWwgMSBleGl0IC9CCispCisKK2lmIGV4aXN0ICIlRCVvYmpcUmVsZWFzZV8lT0JKRElSX1BMQVQlIiAoCisgICAgZWNobyBEZWxldGluZyAiJUQlb2JqXFJlbGVhc2VfJU9CSkRJUl9QTEFUJSIKKyAgICBybWRpciAvcS9zICIlRCVvYmpcUmVsZWFzZV8lT0JKRElSX1BMQVQlIgorICAgIGlmIGVycm9ybGV2ZWwgMSBleGl0IC9CCispCisKK2lmIG5vdCAiJUNFUlROQU1FJSIgRVFVICIiICgKKyAgICBzZXQgQ0VSVE9QVFM9Ii9wOlNpZ25pbmdDZXJ0aWZpY2F0ZT0lQ0VSVE5BTUUlIgorKSBlbHNlICgKKyAgICBzZXQgQ0VSVE9QVFM9CispCisKK2lmIG5vdCAiJVNLSVBCVUlMRCUiIEVRVSAiMSIgKAorICAgIGNhbGwgIiVQQ0JVSUxEJWJ1aWxkLmJhdCIgLWUgLXAgJUJVSUxEX1BMQVQlIC1kIC10ICVUQVJHRVQlICVDRVJUT1BUUyUKKyAgICBpZiBlcnJvcmxldmVsIDEgZXhpdCAvQgorICAgIGNhbGwgIiVQQ0JVSUxEJWJ1aWxkLmJhdCIgLXAgJUJVSUxEX1BMQVQlIC10ICVUQVJHRVQlICVDRVJUT1BUUyUKKyAgICBpZiBlcnJvcmxldmVsIDEgZXhpdCAvQgorICAgIEByZW0gYnVpbGQuYmF0IHR1cm5zIGVjaG8gYmFjayBvbiwgc28gd2UgZGlzYWJsZSBpdCBhZ2FpbgorICAgIEBlY2hvIG9mZgorKQorCisiJUJVSUxEJXB5dGhvbi5leGUiICIlRCVnZXRfd2l4LnB5IgorCitzZXQgQlVJTERPUFRTPS9wOlBsYXRmb3JtPSUxIC9wOkJ1aWxkRm9yUmVsZWFzZT10cnVlIC9wOkRvd25sb2FkVXJsPSVET1dOTE9BRF9VUkwlIC9wOkRvd25sb2FkVXJsQmFzZT0lRE9XTkxPQURfVVJMX0JBU0UlIC9wOlJlbGVhc2VVcmk9JVJFTEVBU0VfVVJJJQorbXNidWlsZCAiJUQlYnVuZGxlXHJlbGVhc2Vsb2NhbC53aXhwcm9qIiAvdDpSZWJ1aWxkICVCVUlMRE9QVFMlICVDRVJUT1BUUyUgL3A6UmVidWlsZEFsbD10cnVlCitpZiBlcnJvcmxldmVsIDEgZXhpdCAvQgorbXNidWlsZCAiJUQlYnVuZGxlXHJlbGVhc2V3ZWIud2l4cHJvaiIgL3Q6UmVidWlsZCAlQlVJTERPUFRTJSAlQ0VSVE9QVFMlIC9wOlJlYnVpbGRBbGw9ZmFsc2UKK2lmIGVycm9ybGV2ZWwgMSBleGl0IC9CCisKK2lmIG5vdCAiJU9VVERJUiUiIEVRVSAiIiAoCisgICAgbWtkaXIgIiVPVVRESVIlXCVPVVRESVJfUExBVCUiCisgICAgY29weSAvWSAiJUJVSUxEJWVuLXVzXCouY2FiIiAiJU9VVERJUiVcJU9VVERJUl9QTEFUJSIKKyAgICBjb3B5IC9ZICIlQlVJTEQlZW4tdXNcKi5leGUiICIlT1VURElSJVwlT1VURElSX1BMQVQlIgorICAgIGNvcHkgL1kgIiVCVUlMRCVlbi11c1wqLm1zaSIgIiVPVVRESVIlXCVPVVRESVJfUExBVCUiCispCisKK2V4aXQgL0IgMAorCis6SGVscAorZWNobyBidWlsZHJlbGVhc2UuYmF0IFstLW91dCBESVJdIFsteDg2XSBbLXg2NF0gWy0tY2VydGlmaWNhdGUgQ0VSVE5BTUVdIFstLWJ1aWxkXSBbLS1za2lwLWJ1aWxkXQorZWNobyAgICAgICAgICAgICAgICAgIFstLXNraXAtZG9jXSBbLS1kb3dubG9hZCBET1dOTE9BRCBVUkxdIFstLXRlc3QgVEFSR0VURElSXSBbLWhdCitlY2hvLgorZWNobyAgICAtLW91dCAoLW8pICAgICAgICAgIFNwZWNpZnkgYW4gYWRkaXRpb25hbCBvdXRwdXQgZGlyZWN0b3J5IGZvciBpbnN0YWxsZXJzCitlY2hvICAgIC14ODYgICAgICAgICAgICAgICAgQnVpbGQgeDg2IGluc3RhbGxlcnMKK2VjaG8gICAgLXg2NCAgICAgICAgICAgICAgICBCdWlsZCB4NjQgaW5zdGFsbGVycworZWNobyAgICAtLWJ1aWxkICgtYikgICAgICAgIEluY3JlbWVudGFsbHkgYnVpbGQgUHl0aG9uIHJhdGhlciB0aGFuIHJlYnVpbGRpbmcKK2VjaG8gICAgLS1za2lwLWJ1aWxkICgtQikgICBEbyBub3QgYnVpbGQgUHl0aG9uIChqdXN0IGRvIHRoZSBpbnN0YWxsZXJzKQorZWNobyAgICAtLXNraXAtZG9jICgtRCkgICAgIERvIG5vdCBidWlsZCBkb2N1bWVudGF0aW9uCitlY2hvICAgIC0tZG93bmxvYWQgICAgICAgICAgU3BlY2lmeSB0aGUgZnVsbCBkb3dubG9hZCBVUkwgZm9yIE1TSXMgKHNob3VsZCBpbmNsdWRlIHsyfSkKK2VjaG8gICAgLS10ZXN0ICAgICAgICAgICAgICBTcGVjaWZ5IHRoZSB0ZXN0IGRpcmVjdG9yeSB0byBydW4gdGhlIGluc3RhbGxlciB0ZXN0cworZWNobyAgICAtaCAgICAgICAgICAgICAgICAgIERpc3BsYXkgdGhpcyBoZWxwIGluZm9ybWF0aW9uCitlY2hvLgorZWNobyBJZiBubyBhcmNoaXRlY3R1cmUgaXMgc3BlY2lmaWVkLCBhbGwgYXJjaGl0ZWN0dXJlcyB3aWxsIGJlIGJ1aWx0LgorZWNobyBJZiAtLXRlc3QgaXMgbm90IHNwZWNpZmllZCwgdGhlIGluc3RhbGxlciB0ZXN0cyBhcmUgbm90IHJ1bi4KK2VjaG8uClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2J1bmRsZS9EZWZhdWx0LnRobSBiL1Rvb2xzL21zaS9idW5kbGUvRGVmYXVsdC50aG0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2Q3NTIzYQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9idW5kbGUvRGVmYXVsdC50aG0KQEAgLTAsMCArMSwxMjMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8VGhlbWUgeG1sbnM9Imh0dHA6Ly93aXh0b29sc2V0Lm9yZy9zY2hlbWFzL3RobXV0aWwvMjAxMCI+CisgICAgPFdpbmRvdyBXaWR0aD0iNjQwIiBIZWlnaHQ9IjM4MiIgSGV4U3R5bGU9IjEwMGEwMDAwIiBGb250SWQ9IjAiPiMobG9jLkNhcHRpb24pPC9XaW5kb3c+CisgICAgPEZvbnQgSWQ9IjAiIEhlaWdodD0iLTEyIiBXZWlnaHQ9IjUwMCIgRm9yZWdyb3VuZD0iMDAwMDAwIiBCYWNrZ3JvdW5kPSJmZmZmZmYiPlNlZ29lIFVJPC9Gb250PgorICAgIDxGb250IElkPSIxIiBIZWlnaHQ9Ii0yNCIgV2VpZ2h0PSI1MDAiIEZvcmVncm91bmQ9IjAwMDAwMCIgQmFja2dyb3VuZD0iZmZmZmZmIj5TZWdvZSBVSTwvRm9udD4KKyAgICA8Rm9udCBJZD0iMiIgSGVpZ2h0PSItMjIiIFdlaWdodD0iNTAwIiBGb3JlZ3JvdW5kPSI2NjY2NjYiIEJhY2tncm91bmQ9ImZmZmZmZiI+U2Vnb2UgVUk8L0ZvbnQ+CisgICAgPEZvbnQgSWQ9IjMiIEhlaWdodD0iLTEyIiBXZWlnaHQ9IjUwMCIgRm9yZWdyb3VuZD0iMDAwMDAwIiBCYWNrZ3JvdW5kPSJmZmZmZmYiPlNlZ29lIFVJPC9Gb250PgorICAgIDxGb250IElkPSI0IiBIZWlnaHQ9Ii0xMiIgV2VpZ2h0PSI1MDAiIEZvcmVncm91bmQ9ImZmMDAwMCIgQmFja2dyb3VuZD0iZmZmZmZmIiBVbmRlcmxpbmU9InllcyI+U2Vnb2UgVUk8L0ZvbnQ+CisgICAgPEZvbnQgSWQ9IjUiIEhlaWdodD0iLTEyIiBXZWlnaHQ9IjUwMCIgRm9yZWdyb3VuZD0iNjY2NjY2IiBCYWNrZ3JvdW5kPSJmZmZmZmYiPlNlZ29lIFVJPC9Gb250PgorCisgICAgPFBhZ2UgTmFtZT0iSGVscCI+CisgICAgICAgIDxUZXh0IFg9IjE4NSIgWT0iMTEiIFdpZHRoPSItMTEiIEhlaWdodD0iMzIiIEZvbnRJZD0iMSIgRGlzYWJsZVByZWZpeD0ieWVzIj4jKGxvYy5IZWxwSGVhZGVyKTwvVGV4dD4KKyAgICAgICAgPEltYWdlIFg9IjAiIFk9IjAiIFdpZHRoPSIxNjIiIEhlaWdodD0iMzUyIiBJbWFnZUZpbGU9IlNpZGVCYXIucG5nIi8+CisKKyAgICAgICAgPFRleHQgWD0iMTg1IiBZPSI1MCIgV2lkdGg9Ii0xMSIgSGVpZ2h0PSItMzUiIEZvbnRJZD0iMyIgRGlzYWJsZVByZWZpeD0ieWVzIj4jKGxvYy5IZWxwVGV4dCk8L1RleHQ+CisgICAgICAgIDxCdXR0b24gTmFtZT0iU3VjY2Vzc0NhbmNlbEJ1dHRvbiIgWD0iLTExIiBZPSItMTEiIFdpZHRoPSI3NSIgSGVpZ2h0PSIyMyIgVGFiU3RvcD0ieWVzIiBGb250SWQ9IjAiPiMobG9jLkNsb3NlQnV0dG9uKTwvQnV0dG9uPgorICAgIDwvUGFnZT4KKyAgICA8UGFnZSBOYW1lPSJJbnN0YWxsIj4KKyAgICAgICAgPFRleHQgWD0iMTg1IiBZPSIxMSIgV2lkdGg9Ii0xMSIgSGVpZ2h0PSIzMiIgRm9udElkPSIxIiBEaXNhYmxlUHJlZml4PSJ5ZXMiPiMobG9jLkluc3RhbGxIZWFkZXIpPC9UZXh0PgorICAgICAgICA8SW1hZ2UgWD0iMCIgWT0iMCIgV2lkdGg9IjE2MiIgSGVpZ2h0PSIzNTIiIEltYWdlRmlsZT0iU2lkZUJhci5wbmciLz4KKworICAgICAgICA8VGV4dCBYPSIxODUiIFk9IjUwIiBXaWR0aD0iLTExIiBIZWlnaHQ9IjUwIiBGb250SWQ9IjMiIFRhYlN0b3A9InllcyI+Iyhsb2MuSW5zdGFsbE1lc3NhZ2UpPC9UZXh0PgorCisgICAgICAgIDxCdXR0b24gTmFtZT0iSW5zdGFsbEFsbFVzZXJzQnV0dG9uIiBYPSIxNzUiIFk9IjEwMSIgV2lkdGg9Ii0xMSIgSGVpZ2h0PSI1OSIgVGFiU3RvcD0ieWVzIiBGb250SWQ9IjMiIEhleFN0eWxlPSIweEYiPiMobG9jLkluc3RhbGxBbGxVc2Vyc0J1dHRvbik8L0J1dHRvbj4KKyAgICAgICAgPEJ1dHRvbiBOYW1lPSJJbnN0YWxsSnVzdEZvck1lQnV0dG9uIiBYPSIxNzUiIFk9IjE3MSIgV2lkdGg9Ii0xMSIgSGVpZ2h0PSI1OSIgVGFiU3RvcD0ieWVzIiBGb250SWQ9IjMiIEhleFN0eWxlPSIweEUiPiMobG9jLkluc3RhbGxKdXN0Rm9yTWVCdXR0b24pPC9CdXR0b24+CisgICAgICAgIDxCdXR0b24gTmFtZT0iSW5zdGFsbEN1c3RvbUJ1dHRvbiIgWD0iMTc1IiBZPSIyNDEiIFdpZHRoPSItMTEiIEhlaWdodD0iNTkiIFRhYlN0b3A9InllcyIgRm9udElkPSIzIiBIZXhTdHlsZT0iMHhFIj4jKGxvYy5JbnN0YWxsQ3VzdG9tQnV0dG9uKTwvQnV0dG9uPgorCisgICAgICAgIDxDaGVja2JveCBOYW1lPSJQcmVwZW5kUGF0aCIgWD0iMTg1IiBZPSItMTMiIFdpZHRoPSItMTAwIiBIZWlnaHQ9IjIwIiBUYWJTdG9wPSJ5ZXMiIEZvbnRJZD0iMyI+Iyhsb2MuU2hvcnRQcmVwZW5kUGF0aExhYmVsKTwvQ2hlY2tib3g+CisKKyAgICAgICAgPEJ1dHRvbiBOYW1lPSJJbnN0YWxsQ2FuY2VsQnV0dG9uIiBYPSItMTEiIFk9Ii0xMSIgV2lkdGg9Ijc1IiBIZWlnaHQ9IjIzIiBUYWJTdG9wPSJ5ZXMiIEZvbnRJZD0iMCI+Iyhsb2MuQ2FuY2VsQnV0dG9uKTwvQnV0dG9uPgorICAgIDwvUGFnZT4KKyAgICA8UGFnZSBOYW1lPSJTaW1wbGVJbnN0YWxsIj4KKyAgICAgICAgPFRleHQgWD0iMTg1IiBZPSIxMSIgV2lkdGg9Ii0xMSIgSGVpZ2h0PSIzMiIgRm9udElkPSIxIiBEaXNhYmxlUHJlZml4PSJ5ZXMiPiMobG9jLkluc3RhbGxIZWFkZXIpPC9UZXh0PgorICAgICAgICA8SW1hZ2UgWD0iMCIgWT0iMCIgV2lkdGg9IjE2MiIgSGVpZ2h0PSIzNTIiIEltYWdlRmlsZT0iU2lkZUJhci5wbmciLz4KKworICAgICAgICA8QnV0dG9uIE5hbWU9Ikluc3RhbGxTaW1wbGVCdXR0b24iIFg9IjE3NSIgWT0iMTAxIiBXaWR0aD0iLTExIiBIZWlnaHQ9IjU5IiBUYWJTdG9wPSJ5ZXMiIEZvbnRJZD0iMyIgSGlkZVdoZW5EaXNhYmxlZD0ieWVzIiBIZXhTdHlsZT0iMHhGIj4jKGxvYy5JbnN0YWxsU2ltcGxlQnV0dG9uKTwvQnV0dG9uPgorCisgICAgICAgIDxCdXR0b24gTmFtZT0iSW5zdGFsbENhbmNlbEJ1dHRvbiIgWD0iLTExIiBZPSItMTEiIFdpZHRoPSI3NSIgSGVpZ2h0PSIyMyIgVGFiU3RvcD0ieWVzIiBGb250SWQ9IjAiPiMobG9jLkNhbmNlbEJ1dHRvbik8L0J1dHRvbj4KKyAgICA8L1BhZ2U+CisgICAgPFBhZ2UgTmFtZT0iQ3VzdG9tMSI+CisgICAgICAgIDxUZXh0IFg9IjE4NSIgWT0iMTEiIFdpZHRoPSItMTEiIEhlaWdodD0iMzIiIEZvbnRJZD0iMSIgRGlzYWJsZVByZWZpeD0ieWVzIj4jKGxvYy5DdXN0b20xSGVhZGVyKTwvVGV4dD4KKyAgICAgICAgPEltYWdlIFg9IjAiIFk9IjAiIFdpZHRoPSIxNjIiIEhlaWdodD0iMzUyIiBJbWFnZUZpbGU9IlNpZGVCYXIucG5nIi8+CisgICAgICAgIAorICAgICAgICA8Q2hlY2tib3ggTmFtZT0iSW5jbHVkZV9kb2MiIFg9IjE4NSIgWT0iNTEiIFdpZHRoPSItMTEiIEhlaWdodD0iMjAiIFRhYlN0b3A9InllcyIgRm9udElkPSIzIiBIaWRlV2hlbkRpc2FibGVkPSJ5ZXMiPiMobG9jLkluY2x1ZGVfZG9jTGFiZWwpPC9DaGVja2JveD4KKyAgICAgICAgPFRleHQgWD0iMjA1IiBZPSI3MSIgV2lkdGg9Ii0xMSIgSGVpZ2h0PSIyMCIgVGFiU3RvcD0ibm8iIEZvbnRJZD0iNSI+Iyhsb2MuSW5jbHVkZV9kb2NIZWxwTGFiZWwpPC9UZXh0PgorICAgICAgICAKKyAgICAgICAgPENoZWNrYm94IE5hbWU9IkluY2x1ZGVfcGlwIiBYPSIxODUiIFk9Ijk2IiBXaWR0aD0iLTExIiBIZWlnaHQ9IjIwIiBUYWJTdG9wPSJ5ZXMiIEZvbnRJZD0iMyIgSGlkZVdoZW5EaXNhYmxlZD0ieWVzIj4jKGxvYy5JbmNsdWRlX3BpcExhYmVsKTwvQ2hlY2tib3g+CisgICAgICAgIDxUZXh0IFg9IjIwNSIgWT0iMTE2IiBXaWR0aD0iLTExIiBIZWlnaHQ9IjIwIiBUYWJTdG9wPSJubyIgRm9udElkPSI1Ij4jKGxvYy5JbmNsdWRlX3BpcEhlbHBMYWJlbCk8L1RleHQ+CisgICAgICAgIAorICAgICAgICA8Q2hlY2tib3ggTmFtZT0iSW5jbHVkZV90Y2x0ayIgWD0iMTg1IiBZPSIxNDEiIFdpZHRoPSItMTEiIEhlaWdodD0iMjAiIFRhYlN0b3A9InllcyIgRm9udElkPSIzIiBIaWRlV2hlbkRpc2FibGVkPSJ5ZXMiPiMobG9jLkluY2x1ZGVfdGNsdGtMYWJlbCk8L0NoZWNrYm94PgorICAgICAgICA8VGV4dCBYPSIyMDUiIFk9IjE2MSIgV2lkdGg9Ii0xMSIgSGVpZ2h0PSIyMCIgVGFiU3RvcD0ibm8iIEZvbnRJZD0iNSI+Iyhsb2MuSW5jbHVkZV90Y2x0a0hlbHBMYWJlbCk8L1RleHQ+CisgICAgICAgIAorICAgICAgICA8Q2hlY2tib3ggTmFtZT0iSW5jbHVkZV90ZXN0IiBYPSIxODUiIFk9IjE4NiIgV2lkdGg9Ii0xMSIgSGVpZ2h0PSIyMCIgVGFiU3RvcD0ieWVzIiBGb250SWQ9IjMiIEhpZGVXaGVuRGlzYWJsZWQ9InllcyI+Iyhsb2MuSW5jbHVkZV90ZXN0TGFiZWwpPC9DaGVja2JveD4KKyAgICAgICAgPFRleHQgWD0iMjA1IiBZPSIyMDYiIFdpZHRoPSItMTEiIEhlaWdodD0iMjAiIFRhYlN0b3A9Im5vIiBGb250SWQ9IjUiPiMobG9jLkluY2x1ZGVfdGVzdEhlbHBMYWJlbCk8L1RleHQ+CisKKyAgICAgICAgPENoZWNrYm94IE5hbWU9IkluY2x1ZGVfbGF1bmNoZXIiIFg9IjE4NSIgWT0iMjMxIiBXaWR0aD0iLTExIiBIZWlnaHQ9IjIwIiBUYWJTdG9wPSJ5ZXMiIEZvbnRJZD0iMyIgSGlkZVdoZW5EaXNhYmxlZD0ieWVzIj4jKGxvYy5JbmNsdWRlX2xhdW5jaGVyTGFiZWwpPC9DaGVja2JveD4KKyAgICAgICAgPFRleHQgWD0iMjA1IiBZPSIyNTEiIFdpZHRoPSItMTEiIEhlaWdodD0iMjAiIFRhYlN0b3A9Im5vIiBGb250SWQ9IjUiPiMobG9jLkluY2x1ZGVfbGF1bmNoZXJIZWxwTGFiZWwpPC9UZXh0PgorCisgICAgICAgIDxCdXR0b24gTmFtZT0iQ3VzdG9tMUJhY2tCdXR0b24iIFg9IjE4NSIgWT0iLTExIiBXaWR0aD0iNzUiIEhlaWdodD0iMjMiIFRhYlN0b3A9InllcyIgRm9udElkPSIwIj4jKGxvYy5DdXN0b21CYWNrQnV0dG9uKTwvQnV0dG9uPgorICAgICAgICA8QnV0dG9uIE5hbWU9IkN1c3RvbU5leHRCdXR0b24iIFg9Ii05MSIgWT0iLTExIiBXaWR0aD0iNzUiIEhlaWdodD0iMjMiIFRhYlN0b3A9InllcyIgRm9udElkPSIwIj4jKGxvYy5DdXN0b21OZXh0QnV0dG9uKTwvQnV0dG9uPgorICAgICAgICA8QnV0dG9uIE5hbWU9IkN1c3RvbTFDYW5jZWxCdXR0b24iIFg9Ii0xMSIgWT0iLTExIiBXaWR0aD0iNzUiIEhlaWdodD0iMjMiIFRhYlN0b3A9InllcyIgRm9udElkPSIwIj4jKGxvYy5DYW5jZWxCdXR0b24pPC9CdXR0b24+CisgICAgPC9QYWdlPgorICAgIDxQYWdlIE5hbWU9IkN1c3RvbTIiPgorICAgICAgICA8VGV4dCBYPSIxODUiIFk9IjExIiBXaWR0aD0iLTExIiBIZWlnaHQ9IjMyIiBGb250SWQ9IjEiIERpc2FibGVQcmVmaXg9InllcyI+Iyhsb2MuQ3VzdG9tMkhlYWRlcik8L1RleHQ+CisgICAgICAgIDxJbWFnZSBYPSIwIiBZPSIwIiBXaWR0aD0iMTYyIiBIZWlnaHQ9IjM1MiIgSW1hZ2VGaWxlPSJTaWRlQmFyLnBuZyIvPgorICAgICAgICAKKyAgICAgICAgPENoZWNrYm94IE5hbWU9IkFzc29jaWF0ZUZpbGVzIiBYPSIxODUiIFk9IjUxIiBXaWR0aD0iLTExIiBIZWlnaHQ9IjIwIiBUYWJTdG9wPSJ5ZXMiIEZvbnRJZD0iMyIgSGlkZVdoZW5EaXNhYmxlZD0ibm8iPiMobG9jLkFzc29jaWF0ZUZpbGVzTGFiZWwpPC9DaGVja2JveD4KKyAgICAgICAgPENoZWNrYm94IE5hbWU9IlByZXBlbmRQYXRoIiBYPSIxODUiIFk9Ijc2IiBXaWR0aD0iLTExIiBIZWlnaHQ9IjIwIiBUYWJTdG9wPSJ5ZXMiIEZvbnRJZD0iMyIgSGlkZVdoZW5EaXNhYmxlZD0ibm8iPiMobG9jLlByZXBlbmRQYXRoTGFiZWwpPC9DaGVja2JveD4KKyAgICAgICAgPENoZWNrYm94IE5hbWU9Ikluc3RhbGxBbGxVc2VycyIgWD0iMTg1IiBZPSIxMDEiIFdpZHRoPSItMTEiIEhlaWdodD0iMjAiIFRhYlN0b3A9InllcyIgRm9udElkPSIzIiBIaWRlV2hlbkRpc2FibGVkPSJubyI+Iyhsb2MuSW5zdGFsbEFsbFVzZXJzTGFiZWwpPC9DaGVja2JveD4KKyAgICAgICAgPENoZWNrYm94IE5hbWU9IkNvbXBpbGVBbGwiIFg9IjE4NSIgWT0iMTI2IiBXaWR0aD0iLTExIiBIZWlnaHQ9IjIwIiBUYWJTdG9wPSJ5ZXMiIEZvbnRJZD0iMyIgSGlkZVdoZW5EaXNhYmxlZD0ibm8iPiMobG9jLlByZWNvbXBpbGVMYWJlbCk8L0NoZWNrYm94PgorICAgICAgICA8Q2hlY2tib3ggTmFtZT0iSW5jbHVkZV9zeW1ib2xzIiBYPSIxODUiIFk9IjE1MSIgV2lkdGg9Ii0xMSIgSGVpZ2h0PSIyMCIgVGFiU3RvcD0ieWVzIiBGb250SWQ9IjMiIEhpZGVXaGVuRGlzYWJsZWQ9Im5vIj4jKGxvYy5JbmNsdWRlX3N5bWJvbHNMYWJlbCk8L0NoZWNrYm94PgorICAgICAgICA8Q2hlY2tib3ggTmFtZT0iSW5jbHVkZV9kZWJ1ZyIgWD0iMTg1IiBZPSIxNzYiIFdpZHRoPSItMTEiIEhlaWdodD0iMjAiIFRhYlN0b3A9InllcyIgRm9udElkPSIzIiBIaWRlV2hlbkRpc2FibGVkPSJubyI+Iyhsb2MuSW5jbHVkZV9kZWJ1Z0xhYmVsKTwvQ2hlY2tib3g+CisKKyAgICAgICAgPFRleHQgWD0iMTg1IiBZPSIyMjEiIFdpZHRoPSItMTEiIEhlaWdodD0iMTciIEZvbnRJZD0iMyI+Iyhsb2MuQ3VzdG9tTG9jYXRpb25MYWJlbCk8L1RleHQ+CisgICAgICAgIDxFZGl0Ym94IE5hbWU9IlRhcmdldERpciIgWD0iMTg1IiBZPSIyMzciIFdpZHRoPSItOTEiIEhlaWdodD0iMjEiIFRhYlN0b3A9InllcyIgRm9udElkPSIzIiBGaWxlU3lzdGVtQXV0b0NvbXBsZXRlPSJ5ZXMiIC8+CisgICAgICAgIDxCdXR0b24gTmFtZT0iQ3VzdG9tQnJvd3NlQnV0dG9uIiBYPSItMTEiIFk9IjIzNiIgV2lkdGg9Ijc1IiBIZWlnaHQ9IjIzIiBUYWJTdG9wPSJ5ZXMiIEZvbnRJZD0iMyI+Iyhsb2MuQ3VzdG9tQnJvd3NlQnV0dG9uKTwvQnV0dG9uPgorICAgICAgICA8VGV4dCBYPSIxODUiIFk9IjI2MSIgV2lkdGg9Ii05MSIgSGVpZ2h0PSIzNSIgRm9udElkPSI1Ij4jKGxvYy5DdXN0b21Mb2NhdGlvbkhlbHBMYWJlbCk8L1RleHQ+CisKKyAgICAgICAgPEJ1dHRvbiBOYW1lPSJDdXN0b20yQmFja0J1dHRvbiIgWD0iMTg1IiBZPSItMTEiIFdpZHRoPSI3NSIgSGVpZ2h0PSIyMyIgVGFiU3RvcD0ieWVzIiBGb250SWQ9IjAiPiMobG9jLkN1c3RvbUJhY2tCdXR0b24pPC9CdXR0b24+CisgICAgICAgIDxCdXR0b24gTmFtZT0iQ3VzdG9tSW5zdGFsbEJ1dHRvbiIgWD0iLTkxIiBZPSItMTEiIFdpZHRoPSI5NSIgSGVpZ2h0PSIyMyIgVGFiU3RvcD0ieWVzIiBGb250SWQ9IjAiPiMobG9jLkN1c3RvbUluc3RhbGxCdXR0b24pPC9CdXR0b24+CisgICAgICAgIDxCdXR0b24gTmFtZT0iQ3VzdG9tMkNhbmNlbEJ1dHRvbiIgWD0iLTExIiBZPSItMTEiIFdpZHRoPSI3NSIgSGVpZ2h0PSIyMyIgVGFiU3RvcD0ieWVzIiBGb250SWQ9IjAiPiMobG9jLkNhbmNlbEJ1dHRvbik8L0J1dHRvbj4KKyAgICA8L1BhZ2U+CisgICAgPFBhZ2UgTmFtZT0iUHJvZ3Jlc3MiPgorICAgICAgICA8VGV4dCBYPSIxODUiIFk9IjExIiBXaWR0aD0iLTExIiBIZWlnaHQ9IjMyIiBGb250SWQ9IjEiIERpc2FibGVQcmVmaXg9InllcyI+Iyhsb2MuUHJvZ3Jlc3NIZWFkZXIpPC9UZXh0PgorICAgICAgICA8SW1hZ2UgWD0iMCIgWT0iMCIgV2lkdGg9IjE2MiIgSGVpZ2h0PSIzNTIiIEltYWdlRmlsZT0iU2lkZUJhci5wbmciLz4KKworICAgICAgICA8VGV4dCBYPSIxODUiIFk9IjExMSIgV2lkdGg9IjcwIiBIZWlnaHQ9IjE3IiBGb250SWQ9IjMiIERpc2FibGVQcmVmaXg9InllcyI+Iyhsb2MuUHJvZ3Jlc3NMYWJlbCk8L1RleHQ+CisgICAgICAgIDxUZXh0IE5hbWU9Ik92ZXJhbGxQcm9ncmVzc1BhY2thZ2VUZXh0IiBYPSIxODUiIFk9IjE0MSIgV2lkdGg9Ii0xMSIgSGVpZ2h0PSIxNyIgRm9udElkPSIzIiBEaXNhYmxlUHJlZml4PSJ5ZXMiPiMobG9jLk92ZXJhbGxQcm9ncmVzc1BhY2thZ2VUZXh0KTwvVGV4dD4KKyAgICAgICAgPFByb2dyZXNzYmFyIE5hbWU9Ik92ZXJhbGxDYWxjdWxhdGVkUHJvZ3Jlc3NiYXIiIFg9IjE4NSIgWT0iMTYzIiBXaWR0aD0iLTExIiBIZWlnaHQ9IjIwIiAvPgorICAgICAgICA8QnV0dG9uIE5hbWU9IlByb2dyZXNzQ2FuY2VsQnV0dG9uIiBYPSItMTEiIFk9Ii0xMSIgV2lkdGg9Ijc1IiBIZWlnaHQ9IjIzIiBUYWJTdG9wPSJ5ZXMiIEZvbnRJZD0iMCI+Iyhsb2MuQ2FuY2VsQnV0dG9uKTwvQnV0dG9uPgorICAgIDwvUGFnZT4KKyAgICA8UGFnZSBOYW1lPSJNb2RpZnkiPgorICAgICAgICA8VGV4dCBYPSIxODUiIFk9IjExIiBXaWR0aD0iLTExIiBIZWlnaHQ9IjMyIiBGb250SWQ9IjEiIERpc2FibGVQcmVmaXg9InllcyI+Iyhsb2MuTW9kaWZ5SGVhZGVyKTwvVGV4dD4KKyAgICAgICAgPEltYWdlIFg9IjAiIFk9IjAiIFdpZHRoPSIxNjIiIEhlaWdodD0iMzUyIiBJbWFnZUZpbGU9IlNpZGVCYXIucG5nIi8+CisKKyAgICAgICAgPEJ1dHRvbiBOYW1lPSJNb2RpZnlCdXR0b24iIFg9IjE3NSIgWT0iMTAxIiBXaWR0aD0iLTExIiBIZWlnaHQ9IjU5IiBUYWJTdG9wPSJ5ZXMiIEZvbnRJZD0iMyIgSGV4U3R5bGU9IjB4RiI+Iyhsb2MuTW9kaWZ5TW9kaWZ5QnV0dG9uKTwvQnV0dG9uPgorICAgICAgICA8QnV0dG9uIE5hbWU9IlJlcGFpckJ1dHRvbiIgWD0iMTc1IiBZPSIxNzEiIFdpZHRoPSItMTEiIEhlaWdodD0iNTkiIFRhYlN0b3A9InllcyIgRm9udElkPSIzIiBIZXhTdHlsZT0iMHhFIj4jKGxvYy5Nb2RpZnlSZXBhaXJCdXR0b24pPC9CdXR0b24+CisgICAgICAgIDxCdXR0b24gTmFtZT0iVW5pbnN0YWxsQnV0dG9uIiBYPSIxNzUiIFk9IjI0MSIgV2lkdGg9Ii0xMSIgSGVpZ2h0PSI1OSIgVGFiU3RvcD0ieWVzIiBGb250SWQ9IjMiIEhleFN0eWxlPSIweEUiPiMobG9jLk1vZGlmeVVuaW5zdGFsbEJ1dHRvbik8L0J1dHRvbj4KKworICAgICAgICA8QnV0dG9uIE5hbWU9Ik1vZGlmeUNhbmNlbEJ1dHRvbiIgWD0iLTExIiBZPSItMTEiIFdpZHRoPSI3NSIgSGVpZ2h0PSIyMyIgVGFiU3RvcD0ieWVzIiBGb250SWQ9IjAiPiMobG9jLkNhbmNlbEJ1dHRvbik8L0J1dHRvbj4KKyAgICA8L1BhZ2U+CisgICAgPFBhZ2UgTmFtZT0iU3VjY2VzcyI+CisgICAgICAgIDxUZXh0IFg9IjE4NSIgWT0iMTEiIFdpZHRoPSItMTEiIEhlaWdodD0iMzIiIEZvbnRJZD0iMSIgRGlzYWJsZVByZWZpeD0ieWVzIj4jKGxvYy5TdWNjZXNzSGVhZGVyKTwvVGV4dD4KKyAgICAgICAgPEltYWdlIFg9IjAiIFk9IjAiIFdpZHRoPSIxNjIiIEhlaWdodD0iMzUyIiBJbWFnZUZpbGU9IlNpZGVCYXIucG5nIi8+CisKKyAgICAgICAgPEh5cGVydGV4dCBOYW1lPSJTdWNjZXNzVGV4dCIgWD0iMjA1IiBZPSI3MSIgV2lkdGg9Ii0zMSIgSGVpZ2h0PSIxMDAiIEZvbnRJZD0iMyIgRGlzYWJsZVByZWZpeD0ieWVzIj48L0h5cGVydGV4dD4KKworICAgICAgICA8VGV4dCBOYW1lPSJTdWNjZXNzUmVzdGFydFRleHQiIFg9IjE4NSIgWT0iLTEwMCIgV2lkdGg9Ii0xMSIgSGVpZ2h0PSIzNCIgRm9udElkPSIzIiBIaWRlV2hlbkRpc2FibGVkPSJ5ZXMiIERpc2FibGVQcmVmaXg9InllcyI+Iyhsb2MuU3VjY2Vzc1Jlc3RhcnRUZXh0KTwvVGV4dD4KKyAgICAgICAgPEJ1dHRvbiBOYW1lPSJMYXVuY2hCdXR0b24iIFg9IjE4NSIgWT0iLTUwIiBXaWR0aD0iLTExIiBIZWlnaHQ9IjU5IiBUYWJTdG9wPSJ5ZXMiIEZvbnRJZD0iMyIgSGV4U3R5bGU9IjB4RiIgSGlkZVdoZW5EaXNhYmxlZD0ieWVzIj4jKGxvYy5TdWNjZXNzTGF1bmNoQnV0dG9uKTwvQnV0dG9uPgorICAgICAgICA8QnV0dG9uIE5hbWU9IlN1Y2Nlc3NSZXN0YXJ0QnV0dG9uIiBYPSItOTEiIFk9Ii0xMSIgV2lkdGg9Ijc1IiBIZWlnaHQ9IjIzIiBUYWJTdG9wPSJ5ZXMiIEZvbnRJZD0iMCIgSGlkZVdoZW5EaXNhYmxlZD0ieWVzIj4jKGxvYy5TdWNjZXNzUmVzdGFydEJ1dHRvbik8L0J1dHRvbj4KKyAgICAgICAgPEJ1dHRvbiBOYW1lPSJTdWNjZXNzQ2FuY2VsQnV0dG9uIiBYPSItMTEiIFk9Ii0xMSIgV2lkdGg9Ijc1IiBIZWlnaHQ9IjIzIiBUYWJTdG9wPSJ5ZXMiIEZvbnRJZD0iMCI+Iyhsb2MuQ2xvc2VCdXR0b24pPC9CdXR0b24+CisgICAgPC9QYWdlPgorICAgIDxQYWdlIE5hbWU9IkZhaWx1cmUiPgorICAgICAgICA8VGV4dCBYPSIxODUiIFk9IjExIiBXaWR0aD0iLTExIiBIZWlnaHQ9IjMyIiBGb250SWQ9IjEiIERpc2FibGVQcmVmaXg9InllcyI+Iyhsb2MuRmFpbHVyZUhlYWRlcik8L1RleHQ+CisgICAgICAgIDxJbWFnZSBYPSIwIiBZPSIwIiBXaWR0aD0iMTYyIiBIZWlnaHQ9IjM1MiIgSW1hZ2VGaWxlPSJTaWRlQmFyLnBuZyIvPgorCisgICAgICAgIDxIeXBlcnRleHQgTmFtZT0iRmFpbHVyZUxvZ0ZpbGVMaW5rIiBYPSIxODUiIFk9IjcxIiBXaWR0aD0iLTExIiBIZWlnaHQ9IjYwIiBGb250SWQ9IjMiIFRhYlN0b3A9InllcyIgSGlkZVdoZW5EaXNhYmxlZD0ieWVzIj4jKGxvYy5GYWlsdXJlSHlwZXJsaW5rTG9nVGV4dCk8L0h5cGVydGV4dD4KKyAgICAgICAgPEh5cGVydGV4dCBOYW1lPSJGYWlsdXJlTWVzc2FnZVRleHQiIFg9IjE4NSIgWT0iLTEwMCIgV2lkdGg9Ii0xMSIgSGVpZ2h0PSIzNCIgRm9udElkPSIzIiBUYWJTdG9wPSJ5ZXMiIEhpZGVXaGVuRGlzYWJsZWQ9InllcyI+RmFpbHVyZSBNZXNzYWdlPC9IeXBlcnRleHQ+CisgICAgICAgIDxUZXh0IE5hbWU9IkZhaWx1cmVSZXN0YXJ0VGV4dCIgWD0iMTg1IiBZPSItNDAiIFdpZHRoPSItMTEiIEhlaWdodD0iMzQiIEZvbnRJZD0iMyIgSGlkZVdoZW5EaXNhYmxlZD0ieWVzIiBEaXNhYmxlUHJlZml4PSJ5ZXMiPiMobG9jLkZhaWx1cmVSZXN0YXJ0VGV4dCk8L1RleHQ+CisgICAgICAgIDxCdXR0b24gTmFtZT0iRmFpbHVyZVJlc3RhcnRCdXR0b24iIFg9Ii05MSIgWT0iLTExIiBXaWR0aD0iNzUiIEhlaWdodD0iMjMiIFRhYlN0b3A9InllcyIgRm9udElkPSIwIiBIaWRlV2hlbkRpc2FibGVkPSJ5ZXMiPiMobG9jLkZhaWx1cmVSZXN0YXJ0QnV0dG9uKTwvQnV0dG9uPgorICAgICAgICA8QnV0dG9uIE5hbWU9IkZhaWx1cmVDYW5jZWxCdXR0b24iIFg9Ii0xMSIgWT0iLTExIiBXaWR0aD0iNzUiIEhlaWdodD0iMjMiIFRhYlN0b3A9InllcyIgRm9udElkPSIwIj4jKGxvYy5DbG9zZUJ1dHRvbik8L0J1dHRvbj4KKyAgICA8L1BhZ2U+Cis8L1RoZW1lPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9idW5kbGUvRGVmYXVsdC53eGwgYi9Ub29scy9tc2kvYnVuZGxlL0RlZmF1bHQud3hsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZlZmQ2MTQKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvYnVuZGxlL0RlZmF1bHQud3hsCkBAIC0wLDAgKzEsMTAzIEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFdpeExvY2FsaXphdGlvbiBDdWx0dXJlPSJlbi11cyIgTGFuZ3VhZ2U9IjEwMzMiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L2xvY2FsaXphdGlvbiI+CisgIDxTdHJpbmcgSWQ9IkNhcHRpb24iPltXaXhCdW5kbGVOYW1lXSBTZXR1cDwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJUaXRsZSI+W1dpeEJ1bmRsZU5hbWVdPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9Ikluc3RhbGxpbmciPkluc3RhbGxpbmc8L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iSW5zdGFsbGF0aW9uIj5TZXR1cDwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJNb2RpZnlpbmciPlVwZGF0aW5nPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9Ik1vZGlmaWNhdGlvbiI+TW9kaWZ5PC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9IlJlcGFpcmluZyI+UmVwYWlyaW5nPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9IlJlcGFpciI+UmVwYWlyPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9IlVuaW5zdGFsbGluZyI+UmVtb3Zpbmc8L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iVW5pbnN0YWxsYXRpb24iPlVuaW5zdGFsbDwvU3RyaW5nPgorICAKKyAgPFN0cmluZyBJZD0iQ2FuY2VsQnV0dG9uIj4mYW1wO0NhbmNlbDwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJDbG9zZUJ1dHRvbiI+JmFtcDtDbG9zZTwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJJbnN0YWxsSGVhZGVyIj5JbnN0YWxsIFtXaXhCdW5kbGVOYW1lXTwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJJbnN0YWxsTWVzc2FnZSI+U2VsZWN0IHRvIGxvY2F0aW9uIHRvIGluc3RhbGwgUHl0aG9uLCBvciBjaG9vc2UgQ3VzdG9taXplIHRvIGVuYWJsZSBvciBkaXNhYmxlIGZlYXR1cmVzLjwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJJbnN0YWxsVmVyc2lvbiI+VmVyc2lvbiBbV2l4QnVuZGxlVmVyc2lvbl08L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iQ29uZmlybUNhbmNlbE1lc3NhZ2UiPkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBjYW5jZWw/PC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9IkV4ZWN1dGVVcGdyYWRlUmVsYXRlZEJ1bmRsZU1lc3NhZ2UiPlByZXZpb3VzIHZlcnNpb248L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iSGVscEhlYWRlciI+U2V0dXAgSGVscDwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJIZWxwVGV4dCI+L3VuaW5zdGFsbAorICAgIFVuaW5zdGFsbHMgUHl0aG9uIHdpdGhvdXQgcHJvbXB0aW5nIGZvciBjb25maXJtYXRpb24uCisKKy9sYXlvdXQgW1xbXWRpcmVjdG9yeVtcXV0KKyAgICBEb3dubG9hZHMgYWxsIGNvbXBvbmVudHMgZm9yIG9mZmxpbmUgaW5zdGFsbGF0aW9uLgorCisvcGFzc2l2ZQorICAgIERpc3BsYXlzIHByb2dyZXNzIHdpdGhvdXQgcmVxdWlyaW5nIHVzZXIgaW50ZXJhY3Rpb24uCisKKy9xdWlldAorICAgIFBlcmZvcm1zIHRoZSByZXF1ZXN0ZWQgYWN0aW9uIHdpdGhvdXQgZGlzcGxheWluZyBhbnkgVUkuCisKKy9sb2cgW1xbXWZpbGVuYW1lW1xdXQorICAgIExvZ3MgdG8gYSBzcGVjaWZpYyBmaWxlLiBCeSBkZWZhdWx0LCBsb2cgZmlsZXMgYXJlIGNyZWF0ZWQgaW4gJVRFTVAlLjwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJJbnN0YWxsTGljZW5zZUxpbmtUZXh0Ij5bV2l4QnVuZGxlTmFtZV0gJmx0O2EgaHJlZj0iIyImZ3Q7bGljZW5zZSB0ZXJtcyZsdDsvYSZndDsuPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9Ikluc3RhbGxBY2NlcHRDaGVja2JveCI+SSAmYW1wO2FncmVlIHRvIHRoZSBsaWNlbnNlIHRlcm1zIGFuZCBjb25kaXRpb25zPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9Ikluc3RhbGxBbGxVc2Vyc0J1dHRvbiI+SW5zdGFsbCBmb3IgJmFtcDtBbGwgVXNlcnM8L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iSW5zdGFsbEFsbFVzZXJzQnV0dG9uTm90ZSI+W0RlZmF1bHRBbGxVc2Vyc1RhcmdldERpcl08L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iSW5zdGFsbEp1c3RGb3JNZUJ1dHRvbiI+SW5zdGFsbCAmYW1wO0p1c3QgZm9yIE1lPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9Ikluc3RhbGxKdXN0Rm9yTWVCdXR0b25Ob3RlIj5bRGVmYXVsdEp1c3RGb3JNZVRhcmdldERpcl08L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iSW5zdGFsbEN1c3RvbUJ1dHRvbiI+QyZhbXA7dXN0b21pemUgaW5zdGFsbGF0aW9uPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9Ikluc3RhbGxDdXN0b21CdXR0b25Ob3RlIj5DaG9vc2UgbG9jYXRpb24gYW5kIGZlYXR1cmVzPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9Ikluc3RhbGxTaW1wbGVCdXR0b24iPiZhbXA7SW5zdGFsbDwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJJbnN0YWxsU2ltcGxlQnV0dG9uTm90ZSI+VXNlcyBzZXR0aW5nIHByZXNlbGVjdGVkIGJ5IHlvdXIgYWRtaW5pc3RyYXRvcjwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJDdXN0b20xSGVhZGVyIj5PcHRpb25hbCBGZWF0dXJlczwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJDdXN0b20ySGVhZGVyIj5BZHZhbmNlZCBPcHRpb25zPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9IkN1c3RvbUxvY2F0aW9uTGFiZWwiPkN1c3RvbWl6ZSBpbnN0YWxsIGxvY2F0aW9uPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9IkN1c3RvbUxvY2F0aW9uSGVscExhYmVsIj5JZiBub3QgaW5zdGFsbGluZyBhcyBhZG1pbmlzdHJhdG9yLCB5b3Ugd2lsbCByZXF1aXJlIHdyaXRlIHBlcm1pc3Npb25zIGZvciB0aGlzIGxvY2F0aW9uLjwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJDdXN0b21JbnN0YWxsQnV0dG9uIj4mYW1wO0luc3RhbGw8L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iQ3VzdG9tTmV4dEJ1dHRvbiI+JmFtcDtOZXh0PC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9IkN1c3RvbUJhY2tCdXR0b24iPiZhbXA7QmFjazwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJDdXN0b21Ccm93c2VCdXR0b24iPkImYW1wO3Jvd3NlPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9IkluY2x1ZGVfZG9jTGFiZWwiPiZhbXA7RG9jdW1lbnRhdGlvbjwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJJbmNsdWRlX2RvY0hlbHBMYWJlbCI+SW5zdGFsbHMgdGhlIFB5dGhvbiBkb2N1bWVudGF0aW9uIGZpbGUuPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9IkluY2x1ZGVfcGlwTGFiZWwiPiZhbXA7cGlwPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9IkluY2x1ZGVfcGlwSGVscExhYmVsIj5JbnN0YWxscyBwaXAsIHdoaWNoIGNhbiBkb3dubG9hZCBhbmQgaW5zdGFsbCBvdGhlciBQeXRob24gcGFja2FnZXMuPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9IkluY2x1ZGVfdGNsdGtMYWJlbCI+dGNsL3RrIGFuZCAmYW1wO0lETEU8L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iSW5jbHVkZV90Y2x0a0hlbHBMYWJlbCI+SW5zdGFsbHMgdGtpbnRlciBhbmQgdGhlIElETEUgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQuPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9IkluY2x1ZGVfdGVzdExhYmVsIj5QeXRob24gJmFtcDt0ZXN0IHN1aXRlPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9IkluY2x1ZGVfdGVzdEhlbHBMYWJlbCI+SW5zdGFsbHMgdGhlIHN0YW5kYXJkIGxpYnJhcnkgdGVzdCBzdWl0ZS48L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iSW5jbHVkZV9sYXVuY2hlckxhYmVsIj5weSAmYW1wO2xhdW5jaGVyPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9IkluY2x1ZGVfbGF1bmNoZXJIZWxwTGFiZWwiPkluc3RhbGxzIHRoZSBnbG9iYWwgJ3B5JyBsYXVuY2hlciB0byBtYWtlIGl0IGVhc2llciB0byBzdGFydCBQeXRob24uPC9TdHJpbmc+CisgIAorICA8U3RyaW5nIElkPSJBc3NvY2lhdGVGaWxlc0xhYmVsIj5Bc3NvY2lhdGUgJmFtcDtmaWxlcyB3aXRoIFB5dGhvbiAocmVxdWlyZXMgdGhlIHB5IGxhdW5jaGVyKTwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJQcmVwZW5kUGF0aExhYmVsIj5BZGQgUHl0aG9uIHRvICZhbXA7ZW52aXJvbm1lbnQgdmFyaWFibGVzPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9IlNob3J0UHJlcGVuZFBhdGhMYWJlbCI+QWRkICZhbXA7UHl0aG9uIFtTaG9ydFZlcnNpb25dIHRvIFBBVEg8L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iSW5zdGFsbEFsbFVzZXJzTGFiZWwiPkluc3RhbGwgYXMgJmFtcDtBZG1pbmlzdHJhdG9yPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9IlByZWNvbXBpbGVMYWJlbCI+JmFtcDtQcmVjb21waWxlIHN0YW5kYXJkIGxpYnJhcnk8L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iSW5jbHVkZV9zeW1ib2xzTGFiZWwiPkluc3RhbGwgZGVidWdnaW5nICZhbXA7c3ltYm9sczwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJJbmNsdWRlX2RlYnVnTGFiZWwiPkluc3RhbGwgZGVidSZhbXA7ZyBiaW5hcmllczwvU3RyaW5nPgorICAKKyAgPFN0cmluZyBJZD0iUHJvZ3Jlc3NIZWFkZXIiPltBY3Rpb25MaWtlSW5zdGFsbGF0aW9uXSBQcm9ncmVzczwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJQcm9ncmVzc0xhYmVsIj5bQWN0aW9uTGlrZUluc3RhbGxpbmddOjwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJPdmVyYWxsUHJvZ3Jlc3NQYWNrYWdlVGV4dCI+SW5pdGlhbGl6aW5nLi4uPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9Ik1vZGlmeUhlYWRlciI+TW9kaWZ5IFNldHVwPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9Ik1vZGlmeU1vZGlmeUJ1dHRvbiI+JmFtcDtNb2RpZnk8L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iTW9kaWZ5QnV0dG9uTm90ZSI+QWRkIG9yIHJlbW92ZSBpbmRpdmlkdWFsIGZlYXR1cmVzLjwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJNb2RpZnlSZXBhaXJCdXR0b24iPiZhbXA7UmVwYWlyPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9IlJlcGFpckJ1dHRvbk5vdGUiPkVuc3VyZSBhbGwgY3VycmVudCBmZWF0dXJlcyBhcmUgY29ycmVjdGx5IGluc3RhbGxlZC48L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iTW9kaWZ5VW5pbnN0YWxsQnV0dG9uIj4mYW1wO1VuaW5zdGFsbDwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJVbmluc3RhbGxCdXR0b25Ob3RlIj5SZW1vdmUgdGhlIGVudGlyZSBbV2l4QnVuZGxlTmFtZV0gaW5zdGFsbGF0aW9uLjwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJTdWNjZXNzSGVhZGVyIj5bQWN0aW9uTGlrZUluc3RhbGxhdGlvbl0gd2FzIHN1Y2Nlc3NmdWw8L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iU3VjY2Vzc0xhdW5jaEJ1dHRvbiI+JmFtcDtMYXVuY2g8L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iU3VjY2Vzc1Jlc3RhcnRUZXh0Ij5Zb3UgbWF5IG5lZWQgdG8gcmVzdGFydCB5b3VyIGNvbXB1dGVyIHRvIGZpbmlzaCB1cGRhdGluZyBmaWxlcy48L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iU3VjY2Vzc1Jlc3RhcnRCdXR0b24iPiZhbXA7UmVzdGFydDwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJTdWNjZXNzSW5zdGFsbE1lc3NhZ2UiPlNwZWNpYWwgdGhhbmtzIHRvIE1hcmsgSGFtbW9uZCwgd2l0aG91dCB3aG9zZSB5ZWFycyBvZiBmcmVlbHkgc2hhcmVkIFdpbmRvd3MgZXhwZXJ0aXNlLCBQeXRob24gZm9yIFdpbmRvd3Mgd291bGQgc3RpbGwgYmUgUHl0aG9uIGZvciBET1MuCisKK05ldyB0byBQeXRob24/IFN0YXJ0IHdpdGggdGhlICZsdDthIGhyZWY9Imh0dHBzOi8vZG9jcy5weXRob24ub3JnL1tTaG9ydFZlcnNpb25dL3R1dG9yaWFsL2luZGV4Lmh0bWwiJmd0O29ubGluZSB0dXRvcmlhbCZsdDsvYSZndDsgYW5kICZsdDthIGhyZWY9Imh0dHBzOi8vZG9jcy5weXRob24ub3JnL1tTaG9ydFZlcnNpb25dL2luZGV4Lmh0bWwiJmd0O2RvY3VtZW50YXRpb24mbHQ7L2EmZ3Q7LgorCitTZWUgJmx0O2EgaHJlZj0iaHR0cHM6Ly9kb2NzLnB5dGhvbi5vcmcvW1Nob3J0VmVyc2lvbl0vd2hhdHNuZXcvW1Nob3J0VmVyc2lvbl0uaHRtbCImZ3Q7d2hhdCdzIG5ldyZsdDsvYSZndDsgaW4gdGhpcyByZWxlYXNlLjwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJTdWNjZXNzTW9kaWZ5TWVzc2FnZSI+VGhhbmsgeW91IGZvciB1c2luZyBbV2l4QnVuZGxlTmFtZV0uPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9IlN1Y2Nlc3NSZXBhaXJNZXNzYWdlIj5UaGFuayB5b3UgZm9yIHVzaW5nIFtXaXhCdW5kbGVOYW1lXS4KKworRmVlbCBmcmVlIHRvIGVtYWlsICZsdDthIGhyZWY9Im1haWx0bzpweXRob24tbGlzdEBweXRob24ub3JnIiZndDtweXRob24tbGlzdEBweXRob24ub3JnJmx0Oy9hJmd0OyBpZiB5b3UgY29udGludWUgdG8gZW5jb3VudGVyIGlzc3Vlcy48L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iU3VjY2Vzc1JlbW92ZU1lc3NhZ2UiPlRoYW5rIHlvdSBmb3IgdXNpbmcgW1dpeEJ1bmRsZU5hbWVdLgorCitGZWVsIGZyZWUgdG8gZW1haWwgJmx0O2EgaHJlZj0ibWFpbHRvOnB5dGhvbi1saXN0QHB5dGhvbi5vcmciJmd0O3B5dGhvbi1saXN0QHB5dGhvbi5vcmcmbHQ7L2EmZ3Q7IGlmIHlvdSBlbmNvdW50ZXJlZCBwcm9ibGVtcy48L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iRmFpbHVyZUhlYWRlciI+U2V0dXAgZmFpbGVkPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9IkZhaWx1cmVIeXBlcmxpbmtMb2dUZXh0Ij5PbmUgb3IgbW9yZSBpc3N1ZXMgY2F1c2VkIHRoZSBzZXR1cCB0byBmYWlsLiBQbGVhc2UgZml4IHRoZSBpc3N1ZXMgYW5kIHRoZW4gcmV0cnkgc2V0dXAuIEZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSB0aGUgJmx0O2EgaHJlZj0iIyImZ3Q7bG9nIGZpbGUmbHQ7L2EmZ3Q7LjwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJGYWlsdXJlUmVzdGFydFRleHQiPllvdSBtdXN0IHJlc3RhcnQgeW91ciBjb21wdXRlciB0byBjb21wbGV0ZSB0aGUgcm9sbGJhY2sgb2YgdGhlIHNvZnR3YXJlLjwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJGYWlsdXJlUmVzdGFydEJ1dHRvbiI+JmFtcDtSZXN0YXJ0PC9TdHJpbmc+Cis8L1dpeExvY2FsaXphdGlvbj4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9idW5kbGUvU2lkZUJhci5wbmcgYi9Ub29scy9tc2kvYnVuZGxlL1NpZGVCYXIucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjljMThmZmYKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvYnVuZGxlL1NpZGVCYXIucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9idW5kbGUvYm9vdHN0cmFwL0xJQ0VOU0UudHh0IGIvVG9vbHMvbXNpL2J1bmRsZS9ib290c3RyYXAvTElDRU5TRS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTc5MWE3ZQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9idW5kbGUvYm9vdHN0cmFwL0xJQ0VOU0UudHh0CkBAIC0wLDAgKzEsMjUgQEAKK1RoaXMgbGljZW5zZSBhcHBsaWVzIHRvIHRoZSBib290c3RyYXBwZXIgYXBwbGljYXRpb24gdGhhdCBpcyBlbWJlZGRlZCB3aXRoaW4gdGhlIGluc3RhbGxlci4gSXQgaGFzIG5vIGltcGFjdCBvbiB0aGUgbGljZW5zaW5nIGZvciB0aGUgcmVzdCBvZiB0aGUgaW5zdGFsbGVyIG9yIFB5dGhvbiBpdHNlbGYsIGFzIG5vIGNvZGUgY292ZXJlZCBieSB0aGlzIGxpY2Vuc2UgZXhpc3RzIGluIGFueSBvdGhlciBwYXJ0IG9mIHRoZSBwcm9kdWN0LgorCistLS0KKworTWljcm9zb2Z0IFJlY2lwcm9jYWwgTGljZW5zZSAoTVMtUkwpCisKK1RoaXMgbGljZW5zZSBnb3Zlcm5zIHVzZSBvZiB0aGUgYWNjb21wYW55aW5nIHNvZnR3YXJlLiBJZiB5b3UgdXNlIHRoZSBzb2Z0d2FyZSwgeW91IGFjY2VwdCB0aGlzIGxpY2Vuc2UuIElmIHlvdSBkbyBub3QgYWNjZXB0IHRoZSBsaWNlbnNlLCBkbyBub3QgdXNlIHRoZSBzb2Z0d2FyZS4KKworMS4gRGVmaW5pdGlvbnMKKyBUaGUgdGVybXMgInJlcHJvZHVjZSwiICJyZXByb2R1Y3Rpb24sIiAiZGVyaXZhdGl2ZSB3b3JrcywiIGFuZCAiZGlzdHJpYnV0aW9uIiBoYXZlIHRoZSBzYW1lIG1lYW5pbmcgaGVyZSBhcyB1bmRlciBVLlMuIGNvcHlyaWdodCBsYXcuCisgQSAiY29udHJpYnV0aW9uIiBpcyB0aGUgb3JpZ2luYWwgc29mdHdhcmUsIG9yIGFueSBhZGRpdGlvbnMgb3IgY2hhbmdlcyB0byB0aGUgc29mdHdhcmUuCisgQSAiY29udHJpYnV0b3IiIGlzIGFueSBwZXJzb24gdGhhdCBkaXN0cmlidXRlcyBpdHMgY29udHJpYnV0aW9uIHVuZGVyIHRoaXMgbGljZW5zZS4KKyAiTGljZW5zZWQgcGF0ZW50cyIgYXJlIGEgY29udHJpYnV0b3IncyBwYXRlbnQgY2xhaW1zIHRoYXQgcmVhZCBkaXJlY3RseSBvbiBpdHMgY29udHJpYnV0aW9uLgorCisyLiBHcmFudCBvZiBSaWdodHMKKyAoQSkgQ29weXJpZ2h0IEdyYW50LSBTdWJqZWN0IHRvIHRoZSB0ZXJtcyBvZiB0aGlzIGxpY2Vuc2UsIGluY2x1ZGluZyB0aGUgbGljZW5zZSBjb25kaXRpb25zIGFuZCBsaW1pdGF0aW9ucyBpbiBzZWN0aW9uIDMsIGVhY2ggY29udHJpYnV0b3IgZ3JhbnRzIHlvdSBhIG5vbi1leGNsdXNpdmUsIHdvcmxkd2lkZSwgcm95YWx0eS1mcmVlIGNvcHlyaWdodCBsaWNlbnNlIHRvIHJlcHJvZHVjZSBpdHMgY29udHJpYnV0aW9uLCBwcmVwYXJlIGRlcml2YXRpdmUgd29ya3Mgb2YgaXRzIGNvbnRyaWJ1dGlvbiwgYW5kIGRpc3RyaWJ1dGUgaXRzIGNvbnRyaWJ1dGlvbiBvciBhbnkgZGVyaXZhdGl2ZSB3b3JrcyB0aGF0IHlvdSBjcmVhdGUuCisgKEIpIFBhdGVudCBHcmFudC0gU3ViamVjdCB0byB0aGUgdGVybXMgb2YgdGhpcyBsaWNlbnNlLCBpbmNsdWRpbmcgdGhlIGxpY2Vuc2UgY29uZGl0aW9ucyBhbmQgbGltaXRhdGlvbnMgaW4gc2VjdGlvbiAzLCBlYWNoIGNvbnRyaWJ1dG9yIGdyYW50cyB5b3UgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBsaWNlbnNlIHVuZGVyIGl0cyBsaWNlbnNlZCBwYXRlbnRzIHRvIG1ha2UsIGhhdmUgbWFkZSwgdXNlLCBzZWxsLCBvZmZlciBmb3Igc2FsZSwgaW1wb3J0LCBhbmQvb3Igb3RoZXJ3aXNlIGRpc3Bvc2Ugb2YgaXRzIGNvbnRyaWJ1dGlvbiBpbiB0aGUgc29mdHdhcmUgb3IgZGVyaXZhdGl2ZSB3b3JrcyBvZiB0aGUgY29udHJpYnV0aW9uIGluIHRoZSBzb2Z0d2FyZS4KKworMy4gQ29uZGl0aW9ucyBhbmQgTGltaXRhdGlvbnMKKyAoQSkgUmVjaXByb2NhbCBHcmFudHMtIEZvciBhbnkgZmlsZSB5b3UgZGlzdHJpYnV0ZSB0aGF0IGNvbnRhaW5zIGNvZGUgZnJvbSB0aGUgc29mdHdhcmUgKGluIHNvdXJjZSBjb2RlIG9yIGJpbmFyeSBmb3JtYXQpLCB5b3UgbXVzdCBwcm92aWRlIHJlY2lwaWVudHMgdGhlIHNvdXJjZSBjb2RlIHRvIHRoYXQgZmlsZSBhbG9uZyB3aXRoIGEgY29weSBvZiB0aGlzIGxpY2Vuc2UsIHdoaWNoIGxpY2Vuc2Ugd2lsbCBnb3Zlcm4gdGhhdCBmaWxlLiBZb3UgbWF5IGxpY2Vuc2Ugb3RoZXIgZmlsZXMgdGhhdCBhcmUgZW50aXJlbHkgeW91ciBvd24gd29yayBhbmQgZG8gbm90IGNvbnRhaW4gY29kZSBmcm9tIHRoZSBzb2Z0d2FyZSB1bmRlciBhbnkgdGVybXMgeW91IGNob29zZS4KKyAoQikgTm8gVHJhZGVtYXJrIExpY2Vuc2UtIFRoaXMgbGljZW5zZSBkb2VzIG5vdCBncmFudCB5b3UgcmlnaHRzIHRvIHVzZSBhbnkgY29udHJpYnV0b3JzJyBuYW1lLCBsb2dvLCBvciB0cmFkZW1hcmtzLgorIChDKSBJZiB5b3UgYnJpbmcgYSBwYXRlbnQgY2xhaW0gYWdhaW5zdCBhbnkgY29udHJpYnV0b3Igb3ZlciBwYXRlbnRzIHRoYXQgeW91IGNsYWltIGFyZSBpbmZyaW5nZWQgYnkgdGhlIHNvZnR3YXJlLCB5b3VyIHBhdGVudCBsaWNlbnNlIGZyb20gc3VjaCBjb250cmlidXRvciB0byB0aGUgc29mdHdhcmUgZW5kcyBhdXRvbWF0aWNhbGx5LgorIChEKSBJZiB5b3UgZGlzdHJpYnV0ZSBhbnkgcG9ydGlvbiBvZiB0aGUgc29mdHdhcmUsIHlvdSBtdXN0IHJldGFpbiBhbGwgY29weXJpZ2h0LCBwYXRlbnQsIHRyYWRlbWFyaywgYW5kIGF0dHJpYnV0aW9uIG5vdGljZXMgdGhhdCBhcmUgcHJlc2VudCBpbiB0aGUgc29mdHdhcmUuCisgKEUpIElmIHlvdSBkaXN0cmlidXRlIGFueSBwb3J0aW9uIG9mIHRoZSBzb2Z0d2FyZSBpbiBzb3VyY2UgY29kZSBmb3JtLCB5b3UgbWF5IGRvIHNvIG9ubHkgdW5kZXIgdGhpcyBsaWNlbnNlIGJ5IGluY2x1ZGluZyBhIGNvbXBsZXRlIGNvcHkgb2YgdGhpcyBsaWNlbnNlIHdpdGggeW91ciBkaXN0cmlidXRpb24uIElmIHlvdSBkaXN0cmlidXRlIGFueSBwb3J0aW9uIG9mIHRoZSBzb2Z0d2FyZSBpbiBjb21waWxlZCBvciBvYmplY3QgY29kZSBmb3JtLCB5b3UgbWF5IG9ubHkgZG8gc28gdW5kZXIgYSBsaWNlbnNlIHRoYXQgY29tcGxpZXMgd2l0aCB0aGlzIGxpY2Vuc2UuCisgKEYpIFRoZSBzb2Z0d2FyZSBpcyBsaWNlbnNlZCAiYXMtaXMuIiBZb3UgYmVhciB0aGUgcmlzayBvZiB1c2luZyBpdC4gVGhlIGNvbnRyaWJ1dG9ycyBnaXZlIG5vIGV4cHJlc3Mgd2FycmFudGllcywgZ3VhcmFudGVlcyBvciBjb25kaXRpb25zLiBZb3UgbWF5IGhhdmUgYWRkaXRpb25hbCBjb25zdW1lciByaWdodHMgdW5kZXIgeW91ciBsb2NhbCBsYXdzIHdoaWNoIHRoaXMgbGljZW5zZSBjYW5ub3QgY2hhbmdlLiBUbyB0aGUgZXh0ZW50IHBlcm1pdHRlZCB1bmRlciB5b3VyIGxvY2FsIGxhd3MsIHRoZSBjb250cmlidXRvcnMgZXhjbHVkZSB0aGUgaW1wbGllZCB3YXJyYW50aWVzIG9mIG1lcmNoYW50YWJpbGl0eSwgZml0bmVzcyBmb3IgYSBwYXJ0aWN1bGFyIHB1cnBvc2UgYW5kIG5vbi1pbmZyaW5nZW1lbnQuCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvYnVuZGxlL2Jvb3RzdHJhcC9QeXRob25Cb290c3RyYXBwZXJBcHBsaWNhdGlvbi5jcHAgYi9Ub29scy9tc2kvYnVuZGxlL2Jvb3RzdHJhcC9QeXRob25Cb290c3RyYXBwZXJBcHBsaWNhdGlvbi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWJlNGRhMwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9idW5kbGUvYm9vdHN0cmFwL1B5dGhvbkJvb3RzdHJhcHBlckFwcGxpY2F0aW9uLmNwcApAQCAtMCwwICsxLDI2NDUgQEAKKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLy8gPGNvcHlyaWdodCBmaWxlPSJXaXhTdGFuZGFyZEJvb3RzdHJhcHBlckFwcGxpY2F0aW9uLmNwcCIgY29tcGFueT0iT3V0ZXJjdXJ2ZSBGb3VuZGF0aW9uIj4KKy8vICAgQ29weXJpZ2h0IChjKSAyMDA0LCBPdXRlcmN1cnZlIEZvdW5kYXRpb24uCisvLyAgIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTWljcm9zb2Z0IFJlY2lwcm9jYWwgTGljZW5zZSAoTVMtUkwpLgorLy8gICBUaGUgbGljZW5zZSBhbmQgZnVydGhlciBjb3B5cmlnaHQgdGV4dCBjYW4gYmUgZm91bmQgaW4gdGhlIGZpbGUKKy8vICAgTElDRU5TRS5UWFQgYXQgdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoZSBkaXN0cmlidXRpb24uCisvLyA8L2NvcHlyaWdodD4KKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKyNpbmNsdWRlICJwY2guaCIKKworc3RhdGljIGNvbnN0IExQQ1dTVFIgV0lYQlVORExFX1ZBUklBQkxFX0VMRVZBVEVEID0gTCJXaXhCdW5kbGVFbGV2YXRlZCI7CisKK3N0YXRpYyBjb25zdCBMUENXU1RSIFBZQkFfV0lORE9XX0NMQVNTID0gTCJQeXRob25CQSI7CitzdGF0aWMgY29uc3QgTFBDV1NUUiBQWUJBX1ZBUklBQkxFX0xBVU5DSF9UQVJHRVRfUEFUSCA9IEwiTGF1bmNoVGFyZ2V0IjsKK3N0YXRpYyBjb25zdCBMUENXU1RSIFBZQkFfVkFSSUFCTEVfTEFVTkNIX1RBUkdFVF9FTEVWQVRFRF9JRCA9IEwiTGF1bmNoVGFyZ2V0RWxldmF0ZWRJZCI7CitzdGF0aWMgY29uc3QgTFBDV1NUUiBQWUJBX1ZBUklBQkxFX0xBVU5DSF9BUkdVTUVOVFMgPSBMIkxhdW5jaEFyZ3VtZW50cyI7CitzdGF0aWMgY29uc3QgTFBDV1NUUiBQWUJBX1ZBUklBQkxFX0xBVU5DSF9ISURERU4gPSBMIkxhdW5jaEhpZGRlbiI7CitzdGF0aWMgY29uc3QgRFdPUkQgUFlCQV9BQ1FVSVJFX1BFUkNFTlRBR0UgPSAzMDsKK3N0YXRpYyBjb25zdCBMUENXU1RSIFBZQkFfVkFSSUFCTEVfQlVORExFX0ZJTEVfVkVSU0lPTiA9IEwiV2l4QnVuZGxlRmlsZVZlcnNpb24iOworCitlbnVtIFBZQkFfU1RBVEUgeworICAgIFBZQkFfU1RBVEVfSU5JVElBTElaSU5HLAorICAgIFBZQkFfU1RBVEVfSU5JVElBTElaRUQsCisgICAgUFlCQV9TVEFURV9IRUxQLAorICAgIFBZQkFfU1RBVEVfREVURUNUSU5HLAorICAgIFBZQkFfU1RBVEVfREVURUNURUQsCisgICAgUFlCQV9TVEFURV9QTEFOTklORywKKyAgICBQWUJBX1NUQVRFX1BMQU5ORUQsCisgICAgUFlCQV9TVEFURV9BUFBMWUlORywKKyAgICBQWUJBX1NUQVRFX0NBQ0hJTkcsCisgICAgUFlCQV9TVEFURV9DQUNIRUQsCisgICAgUFlCQV9TVEFURV9FWEVDVVRJTkcsCisgICAgUFlCQV9TVEFURV9FWEVDVVRFRCwKKyAgICBQWUJBX1NUQVRFX0FQUExJRUQsCisgICAgUFlCQV9TVEFURV9GQUlMRUQsCit9OworCitzdGF0aWMgY29uc3QgaW50IFdNX1BZQkFfU0hPV19IRUxQID0gV01fQVBQICsgMTAwOworc3RhdGljIGNvbnN0IGludCBXTV9QWUJBX0RFVEVDVF9QQUNLQUdFUyA9IFdNX0FQUCArIDEwMTsKK3N0YXRpYyBjb25zdCBpbnQgV01fUFlCQV9QTEFOX1BBQ0tBR0VTID0gV01fQVBQICsgMTAyOworc3RhdGljIGNvbnN0IGludCBXTV9QWUJBX0FQUExZX1BBQ0tBR0VTID0gV01fQVBQICsgMTAzOworc3RhdGljIGNvbnN0IGludCBXTV9QWUJBX0NIQU5HRV9TVEFURSA9IFdNX0FQUCArIDEwNDsKK3N0YXRpYyBjb25zdCBpbnQgV01fUFlCQV9TSE9XX0ZBSUxVUkUgPSBXTV9BUFAgKyAxMDU7CisKKy8vIFRoaXMgZW51bSBtdXN0IGJlIGtlcHQgaW4gdGhlIHNhbWUgb3JkZXIgYXMgdGhlIFBBR0VfTkFNRVMgYXJyYXkuCitlbnVtIFBBR0UgeworICAgIFBBR0VfTE9BRElORywKKyAgICBQQUdFX0hFTFAsCisgICAgUEFHRV9JTlNUQUxMLAorICAgIFBBR0VfU0lNUExFX0lOU1RBTEwsCisgICAgUEFHRV9DVVNUT00xLAorICAgIFBBR0VfQ1VTVE9NMiwKKyAgICBQQUdFX01PRElGWSwKKyAgICBQQUdFX1BST0dSRVNTLAorICAgIFBBR0VfUFJPR1JFU1NfUEFTU0lWRSwKKyAgICBQQUdFX1NVQ0NFU1MsCisgICAgUEFHRV9GQUlMVVJFLAorICAgIENPVU5UX1BBR0UsCit9OworCisvLyBUaGlzIGFycmF5IG11c3QgYmUga2VwdCBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgUEFHRSBlbnVtLgorc3RhdGljIExQQ1dTVFIgUEFHRV9OQU1FU1tdID0geworICAgIEwiTG9hZGluZyIsCisgICAgTCJIZWxwIiwKKyAgICBMIkluc3RhbGwiLAorICAgIEwiU2ltcGxlSW5zdGFsbCIsCisgICAgTCJDdXN0b20xIiwKKyAgICBMIkN1c3RvbTIiLAorICAgIEwiTW9kaWZ5IiwKKyAgICBMIlByb2dyZXNzIiwKKyAgICBMIlByb2dyZXNzUGFzc2l2ZSIsCisgICAgTCJTdWNjZXNzIiwKKyAgICBMIkZhaWx1cmUiLAorfTsKKworZW51bSBDT05UUk9MX0lEIHsKKyAgICAvLyBOb24tcGFnZWQgY29udHJvbHMKKyAgICBJRF9DTE9TRV9CVVRUT04gPSBUSEVNRV9GSVJTVF9BU1NJR05fQ09OVFJPTF9JRCwKKyAgICBJRF9NSU5JTUlaRV9CVVRUT04sCisKKyAgICAvLyBXZWxjb21lIHBhZ2UKKyAgICBJRF9JTlNUQUxMX0FMTF9VU0VSU19CVVRUT04sCisgICAgSURfSU5TVEFMTF9KVVNUX0ZPUl9NRV9CVVRUT04sCisgICAgSURfSU5TVEFMTF9DVVNUT01fQlVUVE9OLAorICAgIElEX0lOU1RBTExfU0lNUExFX0JVVFRPTiwKKyAgICBJRF9JTlNUQUxMX0NBTkNFTF9CVVRUT04sCisgICAgCisgICAgLy8gQ3VzdG9taXplIFBhZ2UKKyAgICBJRF9UQVJHRVRESVJfRURJVEJPWCwKKyAgICBJRF9DVVNUT01fQVNTT0NJQVRFX0ZJTEVTX0NIRUNLQk9YLAorICAgIElEX0NVU1RPTV9JTlNUQUxMX0FMTF9VU0VSU19DSEVDS0JPWCwKKyAgICBJRF9DVVNUT01fQlJPV1NFX0JVVFRPTiwKKyAgICBJRF9DVVNUT01fSU5TVEFMTF9CVVRUT04sCisgICAgSURfQ1VTVE9NX05FWFRfQlVUVE9OLAorICAgIElEX0NVU1RPTTFfQkFDS19CVVRUT04sCisgICAgSURfQ1VTVE9NMl9CQUNLX0JVVFRPTiwKKyAgICBJRF9DVVNUT00xX0NBTkNFTF9CVVRUT04sCisgICAgSURfQ1VTVE9NMl9DQU5DRUxfQlVUVE9OLAorCisgICAgLy8gTW9kaWZ5IHBhZ2UKKyAgICBJRF9NT0RJRllfQlVUVE9OLAorICAgIElEX1JFUEFJUl9CVVRUT04sCisgICAgSURfVU5JTlNUQUxMX0JVVFRPTiwKKyAgICBJRF9NT0RJRllfQ0FOQ0VMX0JVVFRPTiwKKworICAgIC8vIFByb2dyZXNzIHBhZ2UKKyAgICBJRF9DQUNIRV9QUk9HUkVTU19QQUNLQUdFX1RFWFQsCisgICAgSURfQ0FDSEVfUFJPR1JFU1NfQkFSLAorICAgIElEX0NBQ0hFX1BST0dSRVNTX1RFWFQsCisKKyAgICBJRF9FWEVDVVRFX1BST0dSRVNTX1BBQ0tBR0VfVEVYVCwKKyAgICBJRF9FWEVDVVRFX1BST0dSRVNTX0JBUiwKKyAgICBJRF9FWEVDVVRFX1BST0dSRVNTX1RFWFQsCisgICAgSURfRVhFQ1VURV9QUk9HUkVTU19BQ1RJT05EQVRBX1RFWFQsCisKKyAgICBJRF9PVkVSQUxMX1BST0dSRVNTX1BBQ0tBR0VfVEVYVCwKKyAgICBJRF9PVkVSQUxMX1BST0dSRVNTX0JBUiwKKyAgICBJRF9PVkVSQUxMX0NBTENVTEFURURfUFJPR1JFU1NfQkFSLAorICAgIElEX09WRVJBTExfUFJPR1JFU1NfVEVYVCwKKworICAgIElEX1BST0dSRVNTX0NBTkNFTF9CVVRUT04sCisKKyAgICAvLyBTdWNjZXNzIHBhZ2UKKyAgICBJRF9MQVVOQ0hfQlVUVE9OLAorICAgIElEX1NVQ0NFU1NfVEVYVCwKKyAgICBJRF9TVUNDRVNTX1JFU1RBUlRfVEVYVCwKKyAgICBJRF9TVUNDRVNTX1JFU1RBUlRfQlVUVE9OLAorICAgIElEX1NVQ0NFU1NfQ0FOQ0VMX0JVVFRPTiwKKworICAgIC8vIEZhaWx1cmUgcGFnZQorICAgIElEX0ZBSUxVUkVfTE9HRklMRV9MSU5LLAorICAgIElEX0ZBSUxVUkVfTUVTU0FHRV9URVhULAorICAgIElEX0ZBSUxVUkVfUkVTVEFSVF9URVhULAorICAgIElEX0ZBSUxVUkVfUkVTVEFSVF9CVVRUT04sCisgICAgSURfRkFJTFVSRV9DQU5DRUxfQlVUVE9OCit9OworCitzdGF0aWMgVEhFTUVfQVNTSUdOX0NPTlRST0xfSUQgQ09OVFJPTF9JRF9OQU1FU1tdID0geworICAgIHsgSURfQ0xPU0VfQlVUVE9OLCBMIkNsb3NlQnV0dG9uIiB9LAorICAgIHsgSURfTUlOSU1JWkVfQlVUVE9OLCBMIk1pbmltaXplQnV0dG9uIiB9LAorCisgICAgeyBJRF9JTlNUQUxMX0FMTF9VU0VSU19CVVRUT04sIEwiSW5zdGFsbEFsbFVzZXJzQnV0dG9uIiB9LAorICAgIHsgSURfSU5TVEFMTF9KVVNUX0ZPUl9NRV9CVVRUT04sIEwiSW5zdGFsbEp1c3RGb3JNZUJ1dHRvbiIgfSwKKyAgICB7IElEX0lOU1RBTExfQ1VTVE9NX0JVVFRPTiwgTCJJbnN0YWxsQ3VzdG9tQnV0dG9uIiB9LAorICAgIHsgSURfSU5TVEFMTF9TSU1QTEVfQlVUVE9OLCBMIkluc3RhbGxTaW1wbGVCdXR0b24iIH0sCisgICAgeyBJRF9JTlNUQUxMX0NBTkNFTF9CVVRUT04sIEwiSW5zdGFsbENhbmNlbEJ1dHRvbiIgfSwKKworICAgIHsgSURfVEFSR0VURElSX0VESVRCT1gsIEwiVGFyZ2V0RGlyIiB9LAorICAgIHsgSURfQ1VTVE9NX0FTU09DSUFURV9GSUxFU19DSEVDS0JPWCwgTCJBc3NvY2lhdGVGaWxlcyIgfSwKKyAgICB7IElEX0NVU1RPTV9JTlNUQUxMX0FMTF9VU0VSU19DSEVDS0JPWCwgTCJJbnN0YWxsQWxsVXNlcnMiIH0sCisgICAgeyBJRF9DVVNUT01fQlJPV1NFX0JVVFRPTiwgTCJDdXN0b21Ccm93c2VCdXR0b24iIH0sCisgICAgeyBJRF9DVVNUT01fSU5TVEFMTF9CVVRUT04sIEwiQ3VzdG9tSW5zdGFsbEJ1dHRvbiIgfSwKKyAgICB7IElEX0NVU1RPTV9ORVhUX0JVVFRPTiwgTCJDdXN0b21OZXh0QnV0dG9uIiB9LAorICAgIHsgSURfQ1VTVE9NMV9CQUNLX0JVVFRPTiwgTCJDdXN0b20xQmFja0J1dHRvbiIgfSwKKyAgICB7IElEX0NVU1RPTTJfQkFDS19CVVRUT04sIEwiQ3VzdG9tMkJhY2tCdXR0b24iIH0sCisgICAgeyBJRF9DVVNUT00xX0NBTkNFTF9CVVRUT04sIEwiQ3VzdG9tMUNhbmNlbEJ1dHRvbiIgfSwKKyAgICB7IElEX0NVU1RPTTJfQ0FOQ0VMX0JVVFRPTiwgTCJDdXN0b20yQ2FuY2VsQnV0dG9uIiB9LAorCisgICAgeyBJRF9NT0RJRllfQlVUVE9OLCBMIk1vZGlmeUJ1dHRvbiIgfSwKKyAgICB7IElEX1JFUEFJUl9CVVRUT04sIEwiUmVwYWlyQnV0dG9uIiB9LAorICAgIHsgSURfVU5JTlNUQUxMX0JVVFRPTiwgTCJVbmluc3RhbGxCdXR0b24iIH0sCisgICAgeyBJRF9NT0RJRllfQ0FOQ0VMX0JVVFRPTiwgTCJNb2RpZnlDYW5jZWxCdXR0b24iIH0sCisKKyAgICB7IElEX0NBQ0hFX1BST0dSRVNTX1BBQ0tBR0VfVEVYVCwgTCJDYWNoZVByb2dyZXNzUGFja2FnZVRleHQiIH0sCisgICAgeyBJRF9DQUNIRV9QUk9HUkVTU19CQVIsIEwiQ2FjaGVQcm9ncmVzc2JhciIgfSwKKyAgICB7IElEX0NBQ0hFX1BST0dSRVNTX1RFWFQsIEwiQ2FjaGVQcm9ncmVzc1RleHQiIH0sCisgICAgeyBJRF9FWEVDVVRFX1BST0dSRVNTX1BBQ0tBR0VfVEVYVCwgTCJFeGVjdXRlUHJvZ3Jlc3NQYWNrYWdlVGV4dCIgfSwKKyAgICB7IElEX0VYRUNVVEVfUFJPR1JFU1NfQkFSLCBMIkV4ZWN1dGVQcm9ncmVzc2JhciIgfSwKKyAgICB7IElEX0VYRUNVVEVfUFJPR1JFU1NfVEVYVCwgTCJFeGVjdXRlUHJvZ3Jlc3NUZXh0IiB9LAorICAgIHsgSURfRVhFQ1VURV9QUk9HUkVTU19BQ1RJT05EQVRBX1RFWFQsIEwiRXhlY3V0ZVByb2dyZXNzQWN0aW9uRGF0YVRleHQiIH0sCisgICAgeyBJRF9PVkVSQUxMX1BST0dSRVNTX1BBQ0tBR0VfVEVYVCwgTCJPdmVyYWxsUHJvZ3Jlc3NQYWNrYWdlVGV4dCIgfSwKKyAgICB7IElEX09WRVJBTExfUFJPR1JFU1NfQkFSLCBMIk92ZXJhbGxQcm9ncmVzc2JhciIgfSwKKyAgICB7IElEX09WRVJBTExfQ0FMQ1VMQVRFRF9QUk9HUkVTU19CQVIsIEwiT3ZlcmFsbENhbGN1bGF0ZWRQcm9ncmVzc2JhciIgfSwKKyAgICB7IElEX09WRVJBTExfUFJPR1JFU1NfVEVYVCwgTCJPdmVyYWxsUHJvZ3Jlc3NUZXh0IiB9LAorICAgIHsgSURfUFJPR1JFU1NfQ0FOQ0VMX0JVVFRPTiwgTCJQcm9ncmVzc0NhbmNlbEJ1dHRvbiIgfSwKKworICAgIHsgSURfTEFVTkNIX0JVVFRPTiwgTCJMYXVuY2hCdXR0b24iIH0sCisgICAgeyBJRF9TVUNDRVNTX1RFWFQsIEwiU3VjY2Vzc1RleHQiIH0sCisgICAgeyBJRF9TVUNDRVNTX1JFU1RBUlRfVEVYVCwgTCJTdWNjZXNzUmVzdGFydFRleHQiIH0sCisgICAgeyBJRF9TVUNDRVNTX1JFU1RBUlRfQlVUVE9OLCBMIlN1Y2Nlc3NSZXN0YXJ0QnV0dG9uIiB9LAorICAgIHsgSURfU1VDQ0VTU19DQU5DRUxfQlVUVE9OLCBMIlN1Y2Nlc3NDYW5jZWxCdXR0b24iIH0sCisKKyAgICB7IElEX0ZBSUxVUkVfTE9HRklMRV9MSU5LLCBMIkZhaWx1cmVMb2dGaWxlTGluayIgfSwKKyAgICB7IElEX0ZBSUxVUkVfTUVTU0FHRV9URVhULCBMIkZhaWx1cmVNZXNzYWdlVGV4dCIgfSwKKyAgICB7IElEX0ZBSUxVUkVfUkVTVEFSVF9URVhULCBMIkZhaWx1cmVSZXN0YXJ0VGV4dCIgfSwKKyAgICB7IElEX0ZBSUxVUkVfUkVTVEFSVF9CVVRUT04sIEwiRmFpbHVyZVJlc3RhcnRCdXR0b24iIH0sCisgICAgeyBJRF9GQUlMVVJFX0NBTkNFTF9CVVRUT04sIEwiRmFpbHVyZUNhbmNlbEJ1dHRvbiIgfSwKK307CisKK2NsYXNzIFB5dGhvbkJvb3RzdHJhcHBlckFwcGxpY2F0aW9uIDogcHVibGljIENCYWxCYXNlQm9vdHN0cmFwcGVyQXBwbGljYXRpb24geworICAgIHZvaWQgU2hvd1BhZ2UoRFdPUkQgbmV3UGFnZUlkKSB7CisgICAgICAgIC8vIFByb2Nlc3MgZWFjaCBjb250cm9sIGZvciBzcGVjaWFsIGhhbmRsaW5nIGluIHRoZSBuZXcgcGFnZS4KKyAgICAgICAgUHJvY2Vzc1BhZ2VDb250cm9scyhUaGVtZUdldFBhZ2UoX3RoZW1lLCBuZXdQYWdlSWQpKTsKKworICAgICAgICAvLyBFbmFibGUgZGlzYWJsZSBjb250cm9scyBwZXItcGFnZS4KKyAgICAgICAgaWYgKF9wYWdlSWRzW1BBR0VfSU5TVEFMTF0gPT0gbmV3UGFnZUlkIHx8IF9wYWdlSWRzW1BBR0VfU0lNUExFX0lOU1RBTExdID09IG5ld1BhZ2VJZCkgeworICAgICAgICAgICAgSW5zdGFsbFBhZ2VfU2hvdygpOworICAgICAgICB9IGVsc2UgaWYgKF9wYWdlSWRzW1BBR0VfQ1VTVE9NMV0gPT0gbmV3UGFnZUlkKSB7CisgICAgICAgICAgICBDdXN0b20xUGFnZV9TaG93KCk7CisgICAgICAgIH0gZWxzZSBpZiAoX3BhZ2VJZHNbUEFHRV9DVVNUT00yXSA9PSBuZXdQYWdlSWQpIHsKKyAgICAgICAgICAgIEN1c3RvbTJQYWdlX1Nob3coKTsKKyAgICAgICAgfSBlbHNlIGlmIChfcGFnZUlkc1tQQUdFX01PRElGWV0gPT0gbmV3UGFnZUlkKSB7CisgICAgICAgICAgICBNb2RpZnlQYWdlX1Nob3coKTsKKyAgICAgICAgfSBlbHNlIGlmIChfcGFnZUlkc1tQQUdFX1NVQ0NFU1NdID09IG5ld1BhZ2VJZCkgeworICAgICAgICAgICAgU3VjY2Vzc1BhZ2VfU2hvdygpOworICAgICAgICB9IGVsc2UgaWYgKF9wYWdlSWRzW1BBR0VfRkFJTFVSRV0gPT0gbmV3UGFnZUlkKSB7CisgICAgICAgICAgICBGYWlsdXJlUGFnZV9TaG93KCk7CisgICAgICAgIH0KKworICAgICAgICAvLyBQcmV2ZW50IHJlcGFpbnRpbmcgd2hpbGUgc3dpdGNoaW5nIHBhZ2UgdG8gYXZvaWQgdWdseSBmbGlja2VyaW5nCisgICAgICAgIF9zdXBwcmVzc1BhaW50ID0gVFJVRTsKKyAgICAgICAgVGhlbWVTaG93UGFnZShfdGhlbWUsIG5ld1BhZ2VJZCwgU1dfU0hPVyk7CisgICAgICAgIFRoZW1lU2hvd1BhZ2UoX3RoZW1lLCBfdmlzaWJsZVBhZ2VJZCwgU1dfSElERSk7CisgICAgICAgIF9zdXBwcmVzc1BhaW50ID0gRkFMU0U7CisgICAgICAgIEludmFsaWRhdGVSZWN0KF90aGVtZS0+aHduZFBhcmVudCwgbnVsbHB0ciwgVFJVRSk7CisgICAgICAgIF92aXNpYmxlUGFnZUlkID0gbmV3UGFnZUlkOworCisgICAgICAgIC8vIE9uIHRoZSBpbnN0YWxsIHBhZ2Ugc2V0IHRoZSBmb2N1cyB0byB0aGUgaW5zdGFsbCBidXR0b24gb3IKKyAgICAgICAgLy8gdGhlIG5leHQgZW5hYmxlZCBjb250cm9sIGlmIGluc3RhbGwgaXMgZGlzYWJsZWQKKyAgICAgICAgaWYgKF9wYWdlSWRzW1BBR0VfSU5TVEFMTF0gPT0gbmV3UGFnZUlkKSB7CisgICAgICAgICAgICBUaGVtZVNldEZvY3VzKF90aGVtZSwgSURfSU5TVEFMTF9BTExfVVNFUlNfQlVUVE9OKTsKKyAgICAgICAgfSBlbHNlIGlmIChfcGFnZUlkc1tQQUdFX1NJTVBMRV9JTlNUQUxMXSA9PSBuZXdQYWdlSWQpIHsKKyAgICAgICAgICAgIFRoZW1lU2V0Rm9jdXMoX3RoZW1lLCBJRF9JTlNUQUxMX1NJTVBMRV9CVVRUT04pOworICAgICAgICB9CisgICAgfQorCisgICAgLy8KKyAgICAvLyBIYW5kbGVzIGNvbnRyb2wgY2xpY2tzCisgICAgLy8KKyAgICB2b2lkIE9uQ29tbWFuZChDT05UUk9MX0lEIGlkKSB7CisgICAgICAgIExQV1NUUiBkZWZhdWx0RGlyID0gbnVsbHB0cjsKKyAgICAgICAgTFBXU1RSIHRhcmdldERpciA9IG51bGxwdHI7CisgICAgICAgIExPTkdMT05HIGVsZXZhdGVkOworICAgICAgICBCT09MIGNoZWNrZWQ7CisgICAgICAgIFdDSEFSIHd6UGF0aFtNQVhfUEFUSF0gPSB7IH07CisgICAgICAgIEJST1dTRUlORk9XIGJyb3dzZUluZm8gPSB7IH07CisgICAgICAgIFBJRExJU1RfQUJTT0xVVEUgcGlkbCA9IG51bGxwdHI7CisgICAgICAgIEhSRVNVTFQgaHIgPSBTX09LOworCisgICAgICAgIHN3aXRjaChpZCkgeworICAgICAgICBjYXNlIElEX0NMT1NFX0JVVFRPTjoKKyAgICAgICAgICAgIE9uQ2xpY2tDbG9zZUJ1dHRvbigpOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgLy8gSW5zdGFsbCBjb21tYW5kcworICAgICAgICBjYXNlIElEX0lOU1RBTExfU0lNUExFX0JVVFRPTjoKKyAgICAgICAgICAgIGhyID0gQmFsR2V0U3RyaW5nVmFyaWFibGUoTCJUYXJnZXREaXIiLCAmdGFyZ2V0RGlyKTsKKyAgICAgICAgICAgIGlmIChGQUlMRUQoaHIpIHx8ICF0YXJnZXREaXIgfHwgISp0YXJnZXREaXIpIHsKKyAgICAgICAgICAgICAgICBMT05HTE9ORyBpbnN0YWxsQWxsOworICAgICAgICAgICAgICAgIGlmIChTVUNDRUVERUQoQmFsR2V0TnVtZXJpY1ZhcmlhYmxlKEwiSW5zdGFsbEFsbFVzZXJzIiwgJmluc3RhbGxBbGwpKSAmJiBpbnN0YWxsQWxsKSB7CisgICAgICAgICAgICAgICAgICAgIGhyID0gQmFsR2V0U3RyaW5nVmFyaWFibGUoTCJEZWZhdWx0QWxsVXNlcnNUYXJnZXREaXIiLCAmZGVmYXVsdERpcik7CisgICAgICAgICAgICAgICAgICAgIEJhbEV4aXRPbkZhaWx1cmUoaHIsICJGYWlsZWQgdG8gZ2V0IHRoZSBkZWZhdWx0IGFsbCB1c2VycyBpbnN0YWxsIGRpcmVjdG9yeSIpOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGhyID0gQmFsR2V0U3RyaW5nVmFyaWFibGUoTCJEZWZhdWx0SnVzdEZvck1lVGFyZ2V0RGlyIiwgJmRlZmF1bHREaXIpOworICAgICAgICAgICAgICAgICAgICBCYWxFeGl0T25GYWlsdXJlKGhyLCAiRmFpbGVkIHRvIGdldCB0aGUgZGVmYXVsdCBwZXItdXNlciBpbnN0YWxsIGRpcmVjdG9yeSIpOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGlmICghZGVmYXVsdERpciB8fCAhKmRlZmF1bHREaXIpIHsKKyAgICAgICAgICAgICAgICAgICAgQmFsTG9nRXJyb3IoRV9JTlZBTElEQVJHLCAiRGVmYXVsdCBpbnN0YWxsIGRpcmVjdG9yeSBpcyBibGFuayIpOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGhyID0gQmFsRm9ybWF0U3RyaW5nKGRlZmF1bHREaXIsICZ0YXJnZXREaXIpOworICAgICAgICAgICAgICAgIEJhbEV4aXRPbkZhaWx1cmUxKGhyLCAiRmFpbGVkIHRvIGZvcm1hdCAnJWxzJyIsIGRlZmF1bHREaXIpOworCisgICAgICAgICAgICAgICAgaHIgPSBfZW5naW5lLT5TZXRWYXJpYWJsZVN0cmluZyhMIlRhcmdldERpciIsIHRhcmdldERpcik7CisgICAgICAgICAgICAgICAgUmVsZWFzZVN0cih0YXJnZXREaXIpOworICAgICAgICAgICAgICAgIEJhbEV4aXRPbkZhaWx1cmUoaHIsICJGYWlsZWQgdG8gc2V0IGluc3RhbGwgdGFyZ2V0IGRpcmVjdG9yeSIpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBSZWxlYXNlU3RyKHRhcmdldERpcik7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIE9uUGxhbihCT09UU1RSQVBQRVJfQUNUSU9OX0lOU1RBTEwpOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBJRF9JTlNUQUxMX0FMTF9VU0VSU19CVVRUT046CisgICAgICAgICAgICBTYXZlUGFnZVNldHRpbmdzKCk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGhyID0gX2VuZ2luZS0+U2V0VmFyaWFibGVOdW1lcmljKEwiSW5zdGFsbEFsbFVzZXJzIiwgMSk7CisgICAgICAgICAgICBFeGl0T25GYWlsdXJlKGhyLCBMIkZhaWxlZCB0byBzZXQgaW5zdGFsbCBzY29wZSIpOworCisgICAgICAgICAgICBociA9IF9lbmdpbmUtPlNldFZhcmlhYmxlTnVtZXJpYyhMIkNvbXBpbGVBbGwiLCAxKTsKKyAgICAgICAgICAgIEV4aXRPbkZhaWx1cmUoaHIsIEwiRmFpbGVkIHRvIHNldCBjb21waWxlIGFsbCBzZXR0aW5nIik7CisKKyAgICAgICAgICAgIGhyID0gQmFsR2V0U3RyaW5nVmFyaWFibGUoTCJEZWZhdWx0QWxsVXNlcnNUYXJnZXREaXIiLCAmZGVmYXVsdERpcik7CisgICAgICAgICAgICBCYWxFeGl0T25GYWlsdXJlKGhyLCAiRmFpbGVkIHRvIGdldCB0aGUgZGVmYXVsdCBhbGwgdXNlcnMgaW5zdGFsbCBkaXJlY3RvcnkiKTsKKworICAgICAgICAgICAgaWYgKCFkZWZhdWx0RGlyIHx8ICEqZGVmYXVsdERpcikgeworICAgICAgICAgICAgICAgIEJhbExvZ0Vycm9yKEVfSU5WQUxJREFSRywgIkRlZmF1bHQgaW5zdGFsbCBkaXJlY3RvcnkgaXMgYmxhbmsiKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaHIgPSBCYWxGb3JtYXRTdHJpbmcoZGVmYXVsdERpciwgJnRhcmdldERpcik7CisgICAgICAgICAgICBCYWxFeGl0T25GYWlsdXJlMShociwgIkZhaWxlZCB0byBmb3JtYXQgJyVscyciLCBkZWZhdWx0RGlyKTsKKworICAgICAgICAgICAgaHIgPSBfZW5naW5lLT5TZXRWYXJpYWJsZVN0cmluZyhMIlRhcmdldERpciIsIHRhcmdldERpcik7CisgICAgICAgICAgICBSZWxlYXNlU3RyKHRhcmdldERpcik7CisgICAgICAgICAgICBCYWxFeGl0T25GYWlsdXJlKGhyLCAiRmFpbGVkIHRvIHNldCBpbnN0YWxsIHRhcmdldCBkaXJlY3RvcnkiKTsKKworICAgICAgICAgICAgT25QbGFuKEJPT1RTVFJBUFBFUl9BQ1RJT05fSU5TVEFMTCk7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIElEX0lOU1RBTExfSlVTVF9GT1JfTUVfQlVUVE9OOgorICAgICAgICAgICAgU2F2ZVBhZ2VTZXR0aW5ncygpOworICAgICAgICAgICAgCisgICAgICAgICAgICBociA9IF9lbmdpbmUtPlNldFZhcmlhYmxlTnVtZXJpYyhMIkluc3RhbGxBbGxVc2VycyIsIDApOworICAgICAgICAgICAgRXhpdE9uRmFpbHVyZShociwgTCJGYWlsZWQgdG8gc2V0IGluc3RhbGwgc2NvcGUiKTsKKworICAgICAgICAgICAgaHIgPSBCYWxHZXRTdHJpbmdWYXJpYWJsZShMIkRlZmF1bHRKdXN0Rm9yTWVUYXJnZXREaXIiLCAmZGVmYXVsdERpcik7CisgICAgICAgICAgICBCYWxFeGl0T25GYWlsdXJlKGhyLCAiRmFpbGVkIHRvIGdldCB0aGUgZGVmYXVsdCBwZXItdXNlciBpbnN0YWxsIGRpcmVjdG9yeSIpOworCisgICAgICAgICAgICBpZiAoIWRlZmF1bHREaXIgfHwgISpkZWZhdWx0RGlyKSB7CisgICAgICAgICAgICAgICAgQmFsTG9nRXJyb3IoRV9JTlZBTElEQVJHLCAiRGVmYXVsdCBpbnN0YWxsIGRpcmVjdG9yeSBpcyBibGFuayIpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBociA9IEJhbEZvcm1hdFN0cmluZyhkZWZhdWx0RGlyLCAmdGFyZ2V0RGlyKTsKKyAgICAgICAgICAgIEJhbEV4aXRPbkZhaWx1cmUxKGhyLCAiRmFpbGVkIHRvIGZvcm1hdCAnJWxzJyIsIGRlZmF1bHREaXIpOworCisgICAgICAgICAgICBociA9IF9lbmdpbmUtPlNldFZhcmlhYmxlU3RyaW5nKEwiVGFyZ2V0RGlyIiwgdGFyZ2V0RGlyKTsKKyAgICAgICAgICAgIFJlbGVhc2VTdHIodGFyZ2V0RGlyKTsKKyAgICAgICAgICAgIEJhbEV4aXRPbkZhaWx1cmUoaHIsICJGYWlsZWQgdG8gc2V0IGluc3RhbGwgdGFyZ2V0IGRpcmVjdG9yeSIpOworCisgICAgICAgICAgICBPblBsYW4oQk9PVFNUUkFQUEVSX0FDVElPTl9JTlNUQUxMKTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgSURfQ1VTVE9NMV9CQUNLX0JVVFRPTjoKKyAgICAgICAgICAgIFNhdmVQYWdlU2V0dGluZ3MoKTsKKyAgICAgICAgICAgIEdvVG9QYWdlKFBBR0VfSU5TVEFMTCk7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIElEX0lOU1RBTExfQ1VTVE9NX0JVVFRPTjogX19mYWxsdGhyb3VnaDsKKyAgICAgICAgY2FzZSBJRF9DVVNUT00yX0JBQ0tfQlVUVE9OOgorICAgICAgICAgICAgU2F2ZVBhZ2VTZXR0aW5ncygpOworICAgICAgICAgICAgR29Ub1BhZ2UoUEFHRV9DVVNUT00xKTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgSURfQ1VTVE9NX05FWFRfQlVUVE9OOgorICAgICAgICAgICAgU2F2ZVBhZ2VTZXR0aW5ncygpOworICAgICAgICAgICAgR29Ub1BhZ2UoUEFHRV9DVVNUT00yKTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgSURfQ1VTVE9NX0lOU1RBTExfQlVUVE9OOgorICAgICAgICAgICAgU2F2ZVBhZ2VTZXR0aW5ncygpOworCisgICAgICAgICAgICBociA9IEJhbEdldFN0cmluZ1ZhcmlhYmxlKEwiVGFyZ2V0RGlyIiwgJnRhcmdldERpcik7CisgICAgICAgICAgICBpZiAoU1VDQ0VFREVEKGhyKSkgeworICAgICAgICAgICAgICAgIC8vIFRPRE86IENoZWNrIHdoZXRoZXIgZGlyZWN0b3J5IGV4aXN0cyBhbmQgY29udGFpbnMgYW5vdGhlciBpbnN0YWxsYXRpb24KKyAgICAgICAgICAgICAgICBSZWxlYXNlU3RyKHRhcmdldERpcik7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIE9uUGxhbihfY29tbWFuZC5hY3Rpb24pOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBJRF9DVVNUT01fSU5TVEFMTF9BTExfVVNFUlNfQ0hFQ0tCT1g6CisgICAgICAgICAgICBociA9IEJhbEdldE51bWVyaWNWYXJpYWJsZShMIldpeEJ1bmRsZUVsZXZhdGVkIiwgJmVsZXZhdGVkKTsKKyAgICAgICAgICAgIGNoZWNrZWQgPSBUaGVtZUlzQ29udHJvbENoZWNrZWQoX3RoZW1lLCBJRF9DVVNUT01fSU5TVEFMTF9BTExfVVNFUlNfQ0hFQ0tCT1gpOworICAgICAgICAgICAgVGhlbWVDb250cm9sRWxldmF0ZXMoX3RoZW1lLCBJRF9DVVNUT01fSU5TVEFMTF9CVVRUT04sIGNoZWNrZWQgJiYgKEZBSUxFRChocikgfHwgIWVsZXZhdGVkKSk7CisgICAgICAgICAgICBUaGVtZUdldFRleHRDb250cm9sKF90aGVtZSwgSURfVEFSR0VURElSX0VESVRCT1gsICZ0YXJnZXREaXIpOworICAgICAgICAgICAgaWYgKHRhcmdldERpcikgeworICAgICAgICAgICAgICAgIC8vIENoZWNrIHRoZSBjdXJyZW50IHZhbHVlIGFnYWluc3QgdGhlIGRlZmF1bHQgdG8gc2VlCisgICAgICAgICAgICAgICAgLy8gaWYgd2Ugc2hvdWxkIHN3aXRjaCBpdCBhdXRvbWF0aWNhbGx5LgorICAgICAgICAgICAgICAgIGhyID0gQmFsR2V0U3RyaW5nVmFyaWFibGUoCisgICAgICAgICAgICAgICAgICAgIGNoZWNrZWQgPyBMIkRlZmF1bHRKdXN0Rm9yTWVUYXJnZXREaXIiIDogTCJEZWZhdWx0QWxsVXNlcnNUYXJnZXREaXIiLAorICAgICAgICAgICAgICAgICAgICAmZGVmYXVsdERpcgorICAgICAgICAgICAgICAgICk7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgaWYgKFNVQ0NFRURFRChocikgJiYgZGVmYXVsdERpcikgeworICAgICAgICAgICAgICAgICAgICBMUFdTVFIgZm9ybWF0dGVkID0gbnVsbHB0cjsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGRlZmF1bHREaXJbMF0gJiYgU1VDQ0VFREVEKEJhbEZvcm1hdFN0cmluZyhkZWZhdWx0RGlyLCAmZm9ybWF0dGVkKSkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh3Y3NjbXAoZm9ybWF0dGVkLCB0YXJnZXREaXIpID09IDApIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWxlYXNlU3RyKGRlZmF1bHREaXIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHREaXIgPSBudWxscHRyOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbGVhc2VTdHIoZm9ybWF0dGVkKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXR0ZWQgPSBudWxscHRyOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyID0gQmFsR2V0U3RyaW5nVmFyaWFibGUoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrZWQgPyBMIkRlZmF1bHRBbGxVc2Vyc1RhcmdldERpciIgOiBMIkRlZmF1bHRKdXN0Rm9yTWVUYXJnZXREaXIiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZGVmYXVsdERpcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFNVQ0NFRURFRChocikgJiYgZGVmYXVsdERpciAmJiBkZWZhdWx0RGlyWzBdICYmIFNVQ0NFRURFRChCYWxGb3JtYXRTdHJpbmcoZGVmYXVsdERpciwgJmZvcm1hdHRlZCkpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZW1lU2V0VGV4dENvbnRyb2woX3RoZW1lLCBJRF9UQVJHRVRESVJfRURJVEJPWCwgZm9ybWF0dGVkKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVsZWFzZVN0cihmb3JtYXR0ZWQpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVsZWFzZVN0cihmb3JtYXR0ZWQpOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICBSZWxlYXNlU3RyKGRlZmF1bHREaXIpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgSURfQ1VTVE9NX0JST1dTRV9CVVRUT046CisgICAgICAgICAgICBicm93c2VJbmZvLmh3bmRPd25lciA9IF9oV25kOworICAgICAgICAgICAgYnJvd3NlSW5mby5wc3pEaXNwbGF5TmFtZSA9IHd6UGF0aDsKKyAgICAgICAgICAgIGJyb3dzZUluZm8ubHBzelRpdGxlID0gX3RoZW1lLT5zY3pDYXB0aW9uOworICAgICAgICAgICAgYnJvd3NlSW5mby51bEZsYWdzID0gQklGX1JFVFVSTk9OTFlGU0RJUlMgfCBCSUZfVVNFTkVXVUk7CisgICAgICAgICAgICBwaWRsID0gOjpTSEJyb3dzZUZvckZvbGRlclcoJmJyb3dzZUluZm8pOworICAgICAgICAgICAgaWYgKHBpZGwgJiYgOjpTSEdldFBhdGhGcm9tSURMaXN0VyhwaWRsLCB3elBhdGgpKSB7CisgICAgICAgICAgICAgICAgVGhlbWVTZXRUZXh0Q29udHJvbChfdGhlbWUsIElEX1RBUkdFVERJUl9FRElUQk9YLCB3elBhdGgpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAocGlkbCkgeworICAgICAgICAgICAgICAgIDo6Q29UYXNrTWVtRnJlZShwaWRsKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIC8vIE1vZGlmeSBjb21tYW5kcworICAgICAgICBjYXNlIElEX01PRElGWV9CVVRUT046CisgICAgICAgICAgICAvLyBTb21lIHZhcmlhYmxlcyBjYW5ub3QgYmUgbW9kaWZpZWQKKyAgICAgICAgICAgIF9lbmdpbmUtPlNldFZhcmlhYmxlU3RyaW5nKEwiSW5zdGFsbEFsbFVzZXJzU3RhdGUiLCBMImRpc2FibGUiKTsKKyAgICAgICAgICAgIF9lbmdpbmUtPlNldFZhcmlhYmxlU3RyaW5nKEwiVGFyZ2V0RGlyU3RhdGUiLCBMImRpc2FibGUiKTsKKyAgICAgICAgICAgIF9lbmdpbmUtPlNldFZhcmlhYmxlU3RyaW5nKEwiQ3VzdG9tQnJvd3NlQnV0dG9uU3RhdGUiLCBMImRpc2FibGUiKTsKKyAgICAgICAgICAgIEdvVG9QYWdlKFBBR0VfQ1VTVE9NMSk7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIElEX1JFUEFJUl9CVVRUT046CisgICAgICAgICAgICBPblBsYW4oQk9PVFNUUkFQUEVSX0FDVElPTl9SRVBBSVIpOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBJRF9VTklOU1RBTExfQlVUVE9OOgorICAgICAgICAgICAgT25QbGFuKEJPT1RTVFJBUFBFUl9BQ1RJT05fVU5JTlNUQUxMKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICBMRXhpdDoKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIHZvaWQgSW5zdGFsbFBhZ2VfU2hvdygpIHsKKyAgICAgICAgLy8gRW5zdXJlIHRoZSBBbGwgVXNlcnMgaW5zdGFsbCBidXR0b24gaGFzIGEgVUFDIHNoaWVsZAorICAgICAgICBMT05HTE9ORyBlbGV2YXRlZCwgaW5zdGFsbEFsbDsKKworICAgICAgICBpZiAoRkFJTEVEKEJhbEdldE51bWVyaWNWYXJpYWJsZShMIldpeEJ1bmRsZUVsZXZhdGVkIiwgJmVsZXZhdGVkKSkpIHsKKyAgICAgICAgICAgIGVsZXZhdGVkID0gMDsKKyAgICAgICAgfQorCisgICAgICAgIFRoZW1lQ29udHJvbEVsZXZhdGVzKF90aGVtZSwgSURfSU5TVEFMTF9BTExfVVNFUlNfQlVUVE9OLCAhZWxldmF0ZWQpOworCisgICAgICAgIGlmIChTVUNDRUVERUQoQmFsR2V0TnVtZXJpY1ZhcmlhYmxlKEwiSW5zdGFsbEFsbFVzZXJzIiwgJmluc3RhbGxBbGwpKSAmJiBpbnN0YWxsQWxsKSB7CisgICAgICAgICAgICBUaGVtZUNvbnRyb2xFbGV2YXRlcyhfdGhlbWUsIElEX0lOU1RBTExfU0lNUExFX0JVVFRPTiwgIWVsZXZhdGVkKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHZvaWQgQ3VzdG9tMVBhZ2VfU2hvdygpIHsKKyAgICB9CisKKyAgICB2b2lkIEN1c3RvbTJQYWdlX1Nob3coKSB7CisgICAgICAgIEhSRVNVTFQgaHI7CisgICAgICAgIExPTkdMT05HIGluc3RhbGxBbGwsIGVsZXZhdGVkLCBpbmNsdWRlTGF1bmNoZXI7CisgICAgICAgIAorICAgICAgICBpZiAoRkFJTEVEKEJhbEdldE51bWVyaWNWYXJpYWJsZShMIldpeEJ1bmRsZUVsZXZhdGVkIiwgJmVsZXZhdGVkKSkpIHsKKyAgICAgICAgICAgIGVsZXZhdGVkID0gMDsKKyAgICAgICAgfQorICAgICAgICBpZiAoU1VDQ0VFREVEKEJhbEdldE51bWVyaWNWYXJpYWJsZShMIkluc3RhbGxBbGxVc2VycyIsICZpbnN0YWxsQWxsKSkpIHsKKyAgICAgICAgICAgIFRoZW1lQ29udHJvbEVsZXZhdGVzKF90aGVtZSwgSURfQ1VTVE9NX0lOU1RBTExfQlVUVE9OLCBpbnN0YWxsQWxsICYmICFlbGV2YXRlZCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBpbnN0YWxsQWxsID0gMDsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChTVUNDRUVERUQoQmFsR2V0TnVtZXJpY1ZhcmlhYmxlKEwiSW5jbHVkZV9sYXVuY2hlciIsICZpbmNsdWRlTGF1bmNoZXIpKSAmJiBpbmNsdWRlTGF1bmNoZXIpIHsKKyAgICAgICAgICAgIFRoZW1lQ29udHJvbEVuYWJsZShfdGhlbWUsIElEX0NVU1RPTV9BU1NPQ0lBVEVfRklMRVNfQ0hFQ0tCT1gsIFRSVUUpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgVGhlbWVTZW5kQ29udHJvbE1lc3NhZ2UoX3RoZW1lLCBJRF9DVVNUT01fQVNTT0NJQVRFX0ZJTEVTX0NIRUNLQk9YLCBCTV9TRVRDSEVDSywgQlNUX1VOQ0hFQ0tFRCwgMCk7CisgICAgICAgICAgICBUaGVtZUNvbnRyb2xFbmFibGUoX3RoZW1lLCBJRF9DVVNUT01fQVNTT0NJQVRFX0ZJTEVTX0NIRUNLQk9YLCBGQUxTRSk7CisgICAgICAgIH0KKworICAgICAgICBMUFdTVFIgdGFyZ2V0RGlyID0gbnVsbHB0cjsKKyAgICAgICAgaHIgPSBCYWxHZXRTdHJpbmdWYXJpYWJsZShMIlRhcmdldERpciIsICZ0YXJnZXREaXIpOworICAgICAgICBpZiAoU1VDQ0VFREVEKGhyKSAmJiB0YXJnZXREaXIgJiYgdGFyZ2V0RGlyWzBdKSB7CisgICAgICAgICAgICBUaGVtZVNldFRleHRDb250cm9sKF90aGVtZSwgSURfVEFSR0VURElSX0VESVRCT1gsIHRhcmdldERpcik7CisgICAgICAgICAgICBTdHJGcmVlKHRhcmdldERpcik7CisgICAgICAgIH0gZWxzZSBpZiAoU1VDQ0VFREVEKGhyKSkgeworICAgICAgICAgICAgU3RyRnJlZSh0YXJnZXREaXIpOworICAgICAgICAgICAgdGFyZ2V0RGlyID0gbnVsbHB0cjsKKworICAgICAgICAgICAgTFBXU1RSIGRlZmF1bHRUYXJnZXREaXIgPSBudWxscHRyOworICAgICAgICAgICAgaHIgPSBCYWxHZXRTdHJpbmdWYXJpYWJsZShMIkRlZmF1bHRDdXN0b21UYXJnZXREaXIiLCAmZGVmYXVsdFRhcmdldERpcik7CisgICAgICAgICAgICBpZiAoU1VDQ0VFREVEKGhyKSAmJiBkZWZhdWx0VGFyZ2V0RGlyICYmICFkZWZhdWx0VGFyZ2V0RGlyWzBdKSB7CisgICAgICAgICAgICAgICAgU3RyRnJlZShkZWZhdWx0VGFyZ2V0RGlyKTsKKyAgICAgICAgICAgICAgICBkZWZhdWx0VGFyZ2V0RGlyID0gbnVsbHB0cjsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBociA9IEJhbEdldFN0cmluZ1ZhcmlhYmxlKAorICAgICAgICAgICAgICAgICAgICBpbnN0YWxsQWxsID8gTCJEZWZhdWx0QWxsVXNlcnNUYXJnZXREaXIiIDogTCJEZWZhdWx0SnVzdEZvck1lVGFyZ2V0RGlyIiwKKyAgICAgICAgICAgICAgICAgICAgJmRlZmF1bHRUYXJnZXREaXIKKyAgICAgICAgICAgICAgICApOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKFNVQ0NFRURFRChocikgJiYgZGVmYXVsdFRhcmdldERpcikgeworICAgICAgICAgICAgICAgIGlmIChkZWZhdWx0VGFyZ2V0RGlyWzBdICYmIFNVQ0NFRURFRChCYWxGb3JtYXRTdHJpbmcoZGVmYXVsdFRhcmdldERpciwgJnRhcmdldERpcikpKSB7CisgICAgICAgICAgICAgICAgICAgIFRoZW1lU2V0VGV4dENvbnRyb2woX3RoZW1lLCBJRF9UQVJHRVRESVJfRURJVEJPWCwgdGFyZ2V0RGlyKTsKKyAgICAgICAgICAgICAgICAgICAgU3RyRnJlZSh0YXJnZXREaXIpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBTdHJGcmVlKGRlZmF1bHRUYXJnZXREaXIpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgdm9pZCBNb2RpZnlQYWdlX1Nob3coKSB7CisgICAgICAgIFRoZW1lQ29udHJvbEVuYWJsZShfdGhlbWUsIElEX1JFUEFJUl9CVVRUT04sICFfc3VwcHJlc3NSZXBhaXIpOworICAgIH0KKworICAgIHZvaWQgU3VjY2Vzc1BhZ2VfU2hvdygpIHsKKyAgICAgICAgLy8gb24gdGhlICJTdWNjZXNzIiBwYWdlLCBjaGVjayBpZiB0aGUgcmVzdGFydCBvciBsYXVuY2ggYnV0dG9uIHNob3VsZCBiZSBlbmFibGVkLgorICAgICAgICBCT09MIHNob3dSZXN0YXJ0QnV0dG9uID0gRkFMU0U7CisgICAgICAgIEJPT0wgbGF1bmNoVGFyZ2V0RXhpc3RzID0gRkFMU0U7CisgICAgICAgIExPQ19TVFJJTkcgKnN1Y2Nlc3NUZXh0ID0gbnVsbHB0cjsKKyAgICAgICAgSFJFU1VMVCBociA9IFNfT0s7CisgICAgICAgIAorICAgICAgICBpZiAoX3Jlc3RhcnRSZXF1aXJlZCkgeworICAgICAgICAgICAgaWYgKEJPT1RTVFJBUFBFUl9SRVNUQVJUX1BST01QVCA9PSBfY29tbWFuZC5yZXN0YXJ0KSB7CisgICAgICAgICAgICAgICAgc2hvd1Jlc3RhcnRCdXR0b24gPSBUUlVFOworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgaWYgKFRoZW1lQ29udHJvbEV4aXN0cyhfdGhlbWUsIElEX0xBVU5DSF9CVVRUT04pKSB7CisgICAgICAgICAgICBsYXVuY2hUYXJnZXRFeGlzdHMgPSBCYWxTdHJpbmdWYXJpYWJsZUV4aXN0cyhQWUJBX1ZBUklBQkxFX0xBVU5DSF9UQVJHRVRfUEFUSCk7CisgICAgICAgIH0KKworICAgICAgICBzd2l0Y2ggKF9wbGFubmVkQWN0aW9uKSB7CisgICAgICAgIGNhc2UgQk9PVFNUUkFQUEVSX0FDVElPTl9JTlNUQUxMOgorICAgICAgICAgICAgaHIgPSBMb2NHZXRTdHJpbmcoX3dpeExvYywgTCIjKGxvYy5TdWNjZXNzSW5zdGFsbE1lc3NhZ2UpIiwgJnN1Y2Nlc3NUZXh0KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEJPT1RTVFJBUFBFUl9BQ1RJT05fTU9ESUZZOgorICAgICAgICAgICAgaHIgPSBMb2NHZXRTdHJpbmcoX3dpeExvYywgTCIjKGxvYy5TdWNjZXNzTW9kaWZ5TWVzc2FnZSkiLCAmc3VjY2Vzc1RleHQpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQk9PVFNUUkFQUEVSX0FDVElPTl9SRVBBSVI6CisgICAgICAgICAgICBociA9IExvY0dldFN0cmluZyhfd2l4TG9jLCBMIiMobG9jLlN1Y2Nlc3NSZXBhaXJNZXNzYWdlKSIsICZzdWNjZXNzVGV4dCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBCT09UU1RSQVBQRVJfQUNUSU9OX1VOSU5TVEFMTDoKKyAgICAgICAgICAgIGhyID0gTG9jR2V0U3RyaW5nKF93aXhMb2MsIEwiIyhsb2MuU3VjY2Vzc1JlbW92ZU1lc3NhZ2UpIiwgJnN1Y2Nlc3NUZXh0KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgaWYgKHN1Y2Nlc3NUZXh0KSB7CisgICAgICAgICAgICBMUFdTVFIgZm9ybWF0dGVkU3RyaW5nID0gbnVsbHB0cjsKKyAgICAgICAgICAgIEJhbEZvcm1hdFN0cmluZyhzdWNjZXNzVGV4dC0+d3pUZXh0LCAmZm9ybWF0dGVkU3RyaW5nKTsKKyAgICAgICAgICAgIGlmIChmb3JtYXR0ZWRTdHJpbmcpIHsKKyAgICAgICAgICAgICAgICBUaGVtZVNldFRleHRDb250cm9sKF90aGVtZSwgSURfU1VDQ0VTU19URVhULCBmb3JtYXR0ZWRTdHJpbmcpOworICAgICAgICAgICAgICAgIFN0ckZyZWUoZm9ybWF0dGVkU3RyaW5nKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIFRoZW1lQ29udHJvbEVuYWJsZShfdGhlbWUsIElEX0xBVU5DSF9CVVRUT04sIGxhdW5jaFRhcmdldEV4aXN0cyAmJiBCT09UU1RSQVBQRVJfQUNUSU9OX1VOSU5TVEFMTCA8IF9wbGFubmVkQWN0aW9uKTsKKyAgICAgICAgVGhlbWVDb250cm9sRW5hYmxlKF90aGVtZSwgSURfU1VDQ0VTU19SRVNUQVJUX1RFWFQsIHNob3dSZXN0YXJ0QnV0dG9uKTsKKyAgICAgICAgVGhlbWVDb250cm9sRW5hYmxlKF90aGVtZSwgSURfU1VDQ0VTU19SRVNUQVJUX0JVVFRPTiwgc2hvd1Jlc3RhcnRCdXR0b24pOworICAgIH0KKworICAgIHZvaWQgRmFpbHVyZVBhZ2VfU2hvdygpIHsKKyAgICAgICAgLy8gb24gdGhlICJGYWlsdXJlIiBwYWdlLCBzaG93IGVycm9yIG1lc3NhZ2UgYW5kIGNoZWNrIGlmIHRoZSByZXN0YXJ0IGJ1dHRvbiBzaG91bGQgYmUgZW5hYmxlZC4KKworICAgICAgICAvLyBpZiB0aGVyZSBpcyBhIGxvZyBmaWxlIHZhcmlhYmxlIHRoZW4gd2UnbGwgYXNzdW1lIHRoZSBsb2cgZmlsZSBleGlzdHMuCisgICAgICAgIEJPT0wgc2hvd0xvZ0xpbmsgPSAoX2J1bmRsZS5zY3pMb2dWYXJpYWJsZSAmJiAqX2J1bmRsZS5zY3pMb2dWYXJpYWJsZSk7CisgICAgICAgIEJPT0wgc2hvd0Vycm9yTWVzc2FnZSA9IEZBTFNFOworICAgICAgICBCT09MIHNob3dSZXN0YXJ0QnV0dG9uID0gRkFMU0U7CisKKyAgICAgICAgaWYgKEZBSUxFRChfaHJGaW5hbCkpIHsKKyAgICAgICAgICAgIExQV1NUUiB1bmZvcm1hdHRlZFRleHQgPSBudWxscHRyOworICAgICAgICAgICAgTFBXU1RSIHRleHQgPSBudWxscHRyOworCisgICAgICAgICAgICAvLyBJZiB3ZSBrbm93IHRoZSBmYWlsdXJlIG1lc3NhZ2UsIHVzZSB0aGF0LgorICAgICAgICAgICAgaWYgKF9mYWlsZWRNZXNzYWdlICYmICpfZmFpbGVkTWVzc2FnZSkgeworICAgICAgICAgICAgICAgIFN0ckFsbG9jU3RyaW5nKCZ1bmZvcm1hdHRlZFRleHQsIF9mYWlsZWRNZXNzYWdlLCAwKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgLy8gdHJ5IHRvIGdldCB0aGUgZXJyb3IgbWVzc2FnZSBmcm9tIHRoZSBlcnJvciBjb2RlLgorICAgICAgICAgICAgICAgIFN0ckFsbG9jRnJvbUVycm9yKCZ1bmZvcm1hdHRlZFRleHQsIF9ockZpbmFsLCBudWxscHRyKTsKKyAgICAgICAgICAgICAgICBpZiAoIXVuZm9ybWF0dGVkVGV4dCB8fCAhKnVuZm9ybWF0dGVkVGV4dCkgeworICAgICAgICAgICAgICAgICAgICBTdHJBbGxvY0Zyb21FcnJvcigmdW5mb3JtYXR0ZWRUZXh0LCBFX0ZBSUwsIG51bGxwdHIpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKEVfV0lYU1REQkFfQ09ORElUSU9OX0ZBSUxFRCA9PSBfaHJGaW5hbCkgeworICAgICAgICAgICAgICAgIGlmICh1bmZvcm1hdHRlZFRleHQpIHsKKyAgICAgICAgICAgICAgICAgICAgU3RyQWxsb2NTdHJpbmcoJnRleHQsIHVuZm9ybWF0dGVkVGV4dCwgMCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBTdHJBbGxvY0Zvcm1hdHRlZCgmdGV4dCwgTCIweCUwOHggLSAlbHMiLCBfaHJGaW5hbCwgdW5mb3JtYXR0ZWRUZXh0KTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKHRleHQpIHsKKyAgICAgICAgICAgICAgICBUaGVtZVNldFRleHRDb250cm9sKF90aGVtZSwgSURfRkFJTFVSRV9NRVNTQUdFX1RFWFQsIHRleHQpOworICAgICAgICAgICAgICAgIHNob3dFcnJvck1lc3NhZ2UgPSBUUlVFOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBSZWxlYXNlU3RyKHRleHQpOworICAgICAgICAgICAgUmVsZWFzZVN0cih1bmZvcm1hdHRlZFRleHQpOworICAgICAgICB9CisKKyAgICAgICAgaWYgKF9yZXN0YXJ0UmVxdWlyZWQgJiYgQk9PVFNUUkFQUEVSX1JFU1RBUlRfUFJPTVBUID09IF9jb21tYW5kLnJlc3RhcnQpIHsKKyAgICAgICAgICAgIHNob3dSZXN0YXJ0QnV0dG9uID0gVFJVRTsKKyAgICAgICAgfQorCisgICAgICAgIFRoZW1lQ29udHJvbEVuYWJsZShfdGhlbWUsIElEX0ZBSUxVUkVfTE9HRklMRV9MSU5LLCBzaG93TG9nTGluayk7CisgICAgICAgIFRoZW1lQ29udHJvbEVuYWJsZShfdGhlbWUsIElEX0ZBSUxVUkVfTUVTU0FHRV9URVhULCBzaG93RXJyb3JNZXNzYWdlKTsKKyAgICAgICAgVGhlbWVDb250cm9sRW5hYmxlKF90aGVtZSwgSURfRkFJTFVSRV9SRVNUQVJUX1RFWFQsIHNob3dSZXN0YXJ0QnV0dG9uKTsKKyAgICAgICAgVGhlbWVDb250cm9sRW5hYmxlKF90aGVtZSwgSURfRkFJTFVSRV9SRVNUQVJUX0JVVFRPTiwgc2hvd1Jlc3RhcnRCdXR0b24pOworICAgIH0KKworCitwdWJsaWM6IC8vIElCb290c3RyYXBwZXJBcHBsaWNhdGlvbgorICAgIHZpcnR1YWwgU1RETUVUSE9ESU1QIE9uU3RhcnR1cCgpIHsKKyAgICAgICAgSFJFU1VMVCBociA9IFNfT0s7CisgICAgICAgIERXT1JEIGR3VUlUaHJlYWRJZCA9IDA7CisKKyAgICAgICAgLy8gY3JlYXRlIFVJIHRocmVhZAorICAgICAgICBfaFVpVGhyZWFkID0gOjpDcmVhdGVUaHJlYWQobnVsbHB0ciwgMCwgVWlUaHJlYWRQcm9jLCB0aGlzLCAwLCAmZHdVSVRocmVhZElkKTsKKyAgICAgICAgaWYgKCFfaFVpVGhyZWFkKSB7CisgICAgICAgICAgICBFeGl0V2l0aExhc3RFcnJvcihociwgIkZhaWxlZCB0byBjcmVhdGUgVUkgdGhyZWFkLiIpOworICAgICAgICB9CisKKyAgICBMRXhpdDoKKyAgICAgICAgcmV0dXJuIGhyOworICAgIH0KKworCisgICAgdmlydHVhbCBTVERNRVRIT0RJTVBfKGludCkgT25TaHV0ZG93bigpIHsKKyAgICAgICAgaW50IG5SZXN1bHQgPSBJRE5PQUNUSU9OOworCisgICAgICAgIC8vIHdhaXQgZm9yIFVJIHRocmVhZCB0byB0ZXJtaW5hdGUKKyAgICAgICAgaWYgKF9oVWlUaHJlYWQpIHsKKyAgICAgICAgICAgIDo6V2FpdEZvclNpbmdsZU9iamVjdChfaFVpVGhyZWFkLCBJTkZJTklURSk7CisgICAgICAgICAgICBSZWxlYXNlSGFuZGxlKF9oVWlUaHJlYWQpOworICAgICAgICB9CisKKyAgICAgICAgLy8gSWYgYSByZXN0YXJ0IHdhcyByZXF1aXJlZC4KKyAgICAgICAgaWYgKF9yZXN0YXJ0UmVxdWlyZWQgJiYgX2FsbG93UmVzdGFydCkgeworICAgICAgICAgICAgblJlc3VsdCA9IElEUkVTVEFSVDsKKyAgICAgICAgfQorCisgICAgICAgIHJldHVybiBuUmVzdWx0OworICAgIH0KKworCisgICAgdmlydHVhbCBTVERNRVRIT0RJTVBfKGludCkgT25EZXRlY3RSZWxhdGVkQnVuZGxlKAorICAgICAgICBfX2luIExQQ1dTVFIgd3pCdW5kbGVJZCwKKyAgICAgICAgX19pbiBCT09UU1RSQVBQRVJfUkVMQVRJT05fVFlQRSByZWxhdGlvblR5cGUsCisgICAgICAgIF9faW4gTFBDV1NUUiAvKnd6QnVuZGxlVGFnKi8sCisgICAgICAgIF9faW4gQk9PTCBmUGVyTWFjaGluZSwKKyAgICAgICAgX19pbiBEV09SRDY0IC8qZHc2NFZlcnNpb24qLywKKyAgICAgICAgX19pbiBCT09UU1RSQVBQRVJfUkVMQVRFRF9PUEVSQVRJT04gb3BlcmF0aW9uCisgICAgKSB7CisgICAgICAgIEJhbEluZm9BZGRSZWxhdGVkQnVuZGxlQXNQYWNrYWdlKCZfYnVuZGxlLnBhY2thZ2VzLCB3ekJ1bmRsZUlkLCByZWxhdGlvblR5cGUsIGZQZXJNYWNoaW5lKTsKKworICAgICAgICAvLyBSZW1lbWJlciB3aGVuIG91ciBidW5kbGUgd291bGQgY2F1c2UgYSBkb3duZ3JhZGUuCisgICAgICAgIGlmIChCT09UU1RSQVBQRVJfUkVMQVRFRF9PUEVSQVRJT05fRE9XTkdSQURFID09IG9wZXJhdGlvbikgeworICAgICAgICAgICAgX2Rvd25ncmFkaW5nID0gVFJVRTsKKyAgICAgICAgfQorCisgICAgICAgIHJldHVybiBDaGVja0NhbmNlbGVkKCkgPyBJRENBTkNFTCA6IElET0s7CisgICAgfQorCisKKyAgICB2aXJ0dWFsIFNURE1FVEhPRElNUF8odm9pZCkgT25EZXRlY3RQYWNrYWdlQ29tcGxldGUoCisgICAgICAgIF9faW4gTFBDV1NUUiB3elBhY2thZ2VJZCwKKyAgICAgICAgX19pbiBIUkVTVUxUIC8qaHJTdGF0dXMqLywKKyAgICAgICAgX19pbiBCT09UU1RSQVBQRVJfUEFDS0FHRV9TVEFURSBzdGF0ZQorICAgICkgeyB9CisKKworICAgIHZpcnR1YWwgU1RETUVUSE9ESU1QXyh2b2lkKSBPbkRldGVjdENvbXBsZXRlKF9faW4gSFJFU1VMVCBoclN0YXR1cykgeworICAgICAgICBpZiAoU1VDQ0VFREVEKGhyU3RhdHVzKSAmJiBfYmFGdW5jdGlvbikgeworICAgICAgICAgICAgQmFsTG9nKEJPT1RTVFJBUFBFUl9MT0dfTEVWRUxfU1RBTkRBUkQsICJSdW5uaW5nIGRldGVjdCBjb21wbGV0ZSBCQSBmdW5jdGlvbiIpOworICAgICAgICAgICAgX2JhRnVuY3Rpb24tPk9uRGV0ZWN0Q29tcGxldGUoKTsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChTVUNDRUVERUQoaHJTdGF0dXMpKSB7CisgICAgICAgICAgICBoclN0YXR1cyA9IEV2YWx1YXRlQ29uZGl0aW9ucygpOworICAgICAgICB9CisKKyAgICAgICAgU2V0U3RhdGUoUFlCQV9TVEFURV9ERVRFQ1RFRCwgaHJTdGF0dXMpOworCisgICAgICAgIC8vIElmIHdlJ3JlIG5vdCBpbnRlcmFjdGluZyB3aXRoIHRoZSB1c2VyIG9yIHdlJ3JlIGRvaW5nIGEgbGF5b3V0IG9yIHdlJ3JlIGp1c3QgYWZ0ZXIgYSBmb3JjZSByZXN0YXJ0CisgICAgICAgIC8vIHRoZW4gYXV0b21hdGljYWxseSBzdGFydCBwbGFubmluZy4KKyAgICAgICAgaWYgKEJPT1RTVFJBUFBFUl9ESVNQTEFZX0ZVTEwgPiBfY29tbWFuZC5kaXNwbGF5IHx8CisgICAgICAgICAgICBCT09UU1RSQVBQRVJfQUNUSU9OX0xBWU9VVCA9PSBfY29tbWFuZC5hY3Rpb24gfHwKKyAgICAgICAgICAgIEJPT1RTVFJBUFBFUl9BQ1RJT05fVU5JTlNUQUxMID09IF9jb21tYW5kLmFjdGlvbiB8fAorICAgICAgICAgICAgQk9PVFNUUkFQUEVSX1JFU1VNRV9UWVBFX1JFQk9PVCA9PSBfY29tbWFuZC5yZXN1bWVUeXBlKSB7CisgICAgICAgICAgICBpZiAoU1VDQ0VFREVEKGhyU3RhdHVzKSkgeworICAgICAgICAgICAgICAgIDo6UG9zdE1lc3NhZ2VXKF9oV25kLCBXTV9QWUJBX1BMQU5fUEFDS0FHRVMsIDAsIF9jb21tYW5kLmFjdGlvbik7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisKKworICAgIHZpcnR1YWwgU1RETUVUSE9ESU1QXyhpbnQpIE9uUGxhblJlbGF0ZWRCdW5kbGUoCisgICAgICAgIF9faW5feiBMUENXU1RSIC8qd3pCdW5kbGVJZCovLAorICAgICAgICBfX2lub3V0X3ogQk9PVFNUUkFQUEVSX1JFUVVFU1RfU1RBVEUqIHBSZXF1ZXN0ZWRTdGF0ZQorICAgICkgeworICAgICAgICByZXR1cm4gQ2hlY2tDYW5jZWxlZCgpID8gSURDQU5DRUwgOiBJRE9LOworICAgIH0KKworCisgICAgdmlydHVhbCBTVERNRVRIT0RJTVBfKGludCkgT25QbGFuUGFja2FnZUJlZ2luKAorICAgICAgICBfX2luX3ogTFBDV1NUUiB3elBhY2thZ2VJZCwKKyAgICAgICAgX19pbm91dCBCT09UU1RSQVBQRVJfUkVRVUVTVF9TVEFURSAqcFJlcXVlc3RTdGF0ZQorICAgICkgeworICAgICAgICBIUkVTVUxUIGhyID0gU19PSzsKKyAgICAgICAgQkFMX0lORk9fUEFDS0FHRSogcFBhY2thZ2UgPSBudWxscHRyOworCisgICAgICAgIGlmIChfbmV4dFBhY2thZ2VBZnRlclJlc3RhcnQpIC8vIGFmdGVyIGZvcmNlIHJlc3RhcnQsIHNraXAgcGFja2FnZXMgdW50aWwgYWZ0ZXIgdGhlIHBhY2thZ2UgdGhhdCBjYXVzZWQgdGhlIHJlc3RhcnQuCisgICAgICAgIHsKKyAgICAgICAgICAgIC8vIEFmdGVyIHJlc3RhcnQgd2UgbmVlZCB0byBmaW5pc2ggdGhlIGRlcGVuZGVuY3kgcmVnaXN0cmF0aW9uIGZvciBvdXIgcGFja2FnZSBzbyBhbGxvdyB0aGUgcGFja2FnZQorICAgICAgICAgICAgLy8gdG8gZ28gcHJlc2VudC4KKyAgICAgICAgICAgIGlmIChDU1RSX0VRVUFMID09IDo6Q29tcGFyZVN0cmluZ1coTE9DQUxFX05FVVRSQUwsIDAsIHd6UGFja2FnZUlkLCAtMSwgX25leHRQYWNrYWdlQWZ0ZXJSZXN0YXJ0LCAtMSkpIHsKKyAgICAgICAgICAgICAgICAvLyBEbyBub3QgYWxsb3cgYSByZXBhaXIgYmVjYXVzZSB0aGF0IGNvdWxkIHB1dCB1cyBpbiBhIHBlcnBldHVhbCByZXN0YXJ0IGxvb3AuCisgICAgICAgICAgICAgICAgaWYgKEJPT1RTVFJBUFBFUl9SRVFVRVNUX1NUQVRFX1JFUEFJUiA9PSAqcFJlcXVlc3RTdGF0ZSkgeworICAgICAgICAgICAgICAgICAgICAqcFJlcXVlc3RTdGF0ZSA9IEJPT1RTVFJBUFBFUl9SRVFVRVNUX1NUQVRFX1BSRVNFTlQ7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgUmVsZWFzZU51bGxTdHIoX25leHRQYWNrYWdlQWZ0ZXJSZXN0YXJ0KTsgLy8gbm8gbW9yZSBza2lwcGluZyBub3cuCisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIC8vIG5vdCB0aGUgbWF0Y2hpbmcgcGFja2FnZSwgc28gc2tpcCBpdC4KKyAgICAgICAgICAgICAgICBCYWxMb2coQk9PVFNUUkFQUEVSX0xPR19MRVZFTF9TVEFOREFSRCwgIlNraXBwaW5nIHBhY2thZ2U6ICVscywgYWZ0ZXIgcmVzdGFydCBiZWNhdXNlIGl0IHdhcyBhcHBsaWVkIGJlZm9yZSB0aGUgcmVzdGFydC4iLCB3elBhY2thZ2VJZCk7CisKKyAgICAgICAgICAgICAgICAqcFJlcXVlc3RTdGF0ZSA9IEJPT1RTVFJBUFBFUl9SRVFVRVNUX1NUQVRFX05PTkU7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICByZXR1cm4gQ2hlY2tDYW5jZWxlZCgpID8gSURDQU5DRUwgOiBJRE9LOworICAgIH0KKworICAgIHZpcnR1YWwgU1RETUVUSE9ESU1QXyhpbnQpIE9uUGxhbk1zaUZlYXR1cmUoCisgICAgICAgIF9faW5feiBMUENXU1RSIHd6UGFja2FnZUlkLAorICAgICAgICBfX2luX3ogTFBDV1NUUiB3ekZlYXR1cmVJZCwKKyAgICAgICAgX19pbm91dCBCT09UU1RSQVBQRVJfRkVBVFVSRV9TVEFURSogcFJlcXVlc3RlZFN0YXRlCisgICAgKSB7CisgICAgICAgIExPTkdMT05HIGluc3RhbGw7CisgICAgICAgIAorICAgICAgICBpZiAod2NzY21wKHd6RmVhdHVyZUlkLCBMIkFzc29jaWF0ZUZpbGVzIikgPT0gMCkgeworICAgICAgICAgICAgaWYgKFNVQ0NFRURFRChfZW5naW5lLT5HZXRWYXJpYWJsZU51bWVyaWMoTCJBc3NvY2lhdGVGaWxlcyIsICZpbnN0YWxsKSkgJiYgaW5zdGFsbCkgeworICAgICAgICAgICAgICAgICpwUmVxdWVzdGVkU3RhdGUgPSBCT09UU1RSQVBQRVJfRkVBVFVSRV9TVEFURV9MT0NBTDsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgKnBSZXF1ZXN0ZWRTdGF0ZSA9IEJPT1RTVFJBUFBFUl9GRUFUVVJFX1NUQVRFX0FCU0VOVDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICByZXR1cm4gQ2hlY2tDYW5jZWxlZCgpID8gSURDQU5DRUwgOiBJRE5PQUNUSU9OOworICAgIH0KKworICAgIHZpcnR1YWwgU1RETUVUSE9ESU1QXyh2b2lkKSBPblBsYW5Db21wbGV0ZShfX2luIEhSRVNVTFQgaHJTdGF0dXMpIHsKKyAgICAgICAgaWYgKFNVQ0NFRURFRChoclN0YXR1cykgJiYgX2JhRnVuY3Rpb24pIHsKKyAgICAgICAgICAgIEJhbExvZyhCT09UU1RSQVBQRVJfTE9HX0xFVkVMX1NUQU5EQVJELCAiUnVubmluZyBwbGFuIGNvbXBsZXRlIEJBIGZ1bmN0aW9uIik7CisgICAgICAgICAgICBfYmFGdW5jdGlvbi0+T25QbGFuQ29tcGxldGUoKTsKKyAgICAgICAgfQorCisgICAgICAgIFNldFN0YXRlKFBZQkFfU1RBVEVfUExBTk5FRCwgaHJTdGF0dXMpOworCisgICAgICAgIGlmIChTVUNDRUVERUQoaHJTdGF0dXMpKSB7CisgICAgICAgICAgICA6OlBvc3RNZXNzYWdlVyhfaFduZCwgV01fUFlCQV9BUFBMWV9QQUNLQUdFUywgMCwgMCk7CisgICAgICAgIH0KKworICAgICAgICBfc3RhcnRlZEV4ZWN1dGlvbiA9IEZBTFNFOworICAgICAgICBfY2FsY3VsYXRlZENhY2hlUHJvZ3Jlc3MgPSAwOworICAgICAgICBfY2FsY3VsYXRlZEV4ZWN1dGVQcm9ncmVzcyA9IDA7CisgICAgfQorCisKKyAgICB2aXJ0dWFsIFNURE1FVEhPRElNUF8oaW50KSBPbkNhY2hlUGFja2FnZUJlZ2luKAorICAgICAgICBfX2luX3ogTFBDV1NUUiB3elBhY2thZ2VJZCwKKyAgICAgICAgX19pbiBEV09SRCBjQ2FjaGVQYXlsb2FkcywKKyAgICAgICAgX19pbiBEV09SRDY0IGR3NjRQYWNrYWdlQ2FjaGVTaXplCisgICAgKSB7CisgICAgICAgIGlmICh3elBhY2thZ2VJZCAmJiAqd3pQYWNrYWdlSWQpIHsKKyAgICAgICAgICAgIEJBTF9JTkZPX1BBQ0tBR0UqIHBQYWNrYWdlID0gbnVsbHB0cjsKKyAgICAgICAgICAgIEhSRVNVTFQgaHIgPSBCYWxJbmZvRmluZFBhY2thZ2VCeUlkKCZfYnVuZGxlLnBhY2thZ2VzLCB3elBhY2thZ2VJZCwgJnBQYWNrYWdlKTsKKyAgICAgICAgICAgIExQQ1dTVFIgd3ogPSAoU1VDQ0VFREVEKGhyKSAmJiBwUGFja2FnZS0+c2N6RGlzcGxheU5hbWUpID8gcFBhY2thZ2UtPnNjekRpc3BsYXlOYW1lIDogd3pQYWNrYWdlSWQ7CisKKyAgICAgICAgICAgIFRoZW1lU2V0VGV4dENvbnRyb2woX3RoZW1lLCBJRF9DQUNIRV9QUk9HUkVTU19QQUNLQUdFX1RFWFQsIHd6KTsKKworICAgICAgICAgICAgLy8gSWYgc29tZXRoaW5nIHN0YXJ0ZWQgZXhlY3V0aW5nLCBsZWF2ZSBpdCBpbiB0aGUgb3ZlcmFsbCBwcm9ncmVzcyB0ZXh0LgorICAgICAgICAgICAgaWYgKCFfc3RhcnRlZEV4ZWN1dGlvbikgeworICAgICAgICAgICAgICAgIFRoZW1lU2V0VGV4dENvbnRyb2woX3RoZW1lLCBJRF9PVkVSQUxMX1BST0dSRVNTX1BBQ0tBR0VfVEVYVCwgd3opOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIF9fc3VwZXI6Ok9uQ2FjaGVQYWNrYWdlQmVnaW4od3pQYWNrYWdlSWQsIGNDYWNoZVBheWxvYWRzLCBkdzY0UGFja2FnZUNhY2hlU2l6ZSk7CisgICAgfQorCisKKyAgICB2aXJ0dWFsIFNURE1FVEhPRElNUF8oaW50KSBPbkNhY2hlQWNxdWlyZVByb2dyZXNzKAorICAgICAgICBfX2luX3ogTFBDV1NUUiB3elBhY2thZ2VPckNvbnRhaW5lcklkLAorICAgICAgICBfX2luX3pfb3B0IExQQ1dTVFIgd3pQYXlsb2FkSWQsCisgICAgICAgIF9faW4gRFdPUkQ2NCBkdzY0UHJvZ3Jlc3MsCisgICAgICAgIF9faW4gRFdPUkQ2NCBkdzY0VG90YWwsCisgICAgICAgIF9faW4gRFdPUkQgZHdPdmVyYWxsUGVyY2VudGFnZQorICAgICkgeworICAgICAgICBXQ0hBUiB3elByb2dyZXNzWzVdID0geyB9OworCisjaWZkZWYgREVCVUcKKyAgICAgICAgQmFsTG9nKEJPT1RTVFJBUFBFUl9MT0dfTEVWRUxfU1RBTkRBUkQsICJQWUJBOiBPbkNhY2hlQWNxdWlyZVByb2dyZXNzKCkgLSBjb250YWluZXIvcGFja2FnZTogJWxzLCBwYXlsb2FkOiAlbHMsIHByb2dyZXNzOiAlSTY0dSwgdG90YWw6ICVJNjR1LCBvdmVyYWxsIHByb2dyZXNzOiAldSUlIiwgd3pQYWNrYWdlT3JDb250YWluZXJJZCwgd3pQYXlsb2FkSWQsIGR3NjRQcm9ncmVzcywgZHc2NFRvdGFsLCBkd092ZXJhbGxQZXJjZW50YWdlKTsKKyNlbmRpZgorCisgICAgICAgIDo6U3RyaW5nQ2NoUHJpbnRmVyh3elByb2dyZXNzLCBjb3VudG9mKHd6UHJvZ3Jlc3MpLCBMIiV1JSUiLCBkd092ZXJhbGxQZXJjZW50YWdlKTsKKyAgICAgICAgVGhlbWVTZXRUZXh0Q29udHJvbChfdGhlbWUsIElEX0NBQ0hFX1BST0dSRVNTX1RFWFQsIHd6UHJvZ3Jlc3MpOworCisgICAgICAgIFRoZW1lU2V0UHJvZ3Jlc3NDb250cm9sKF90aGVtZSwgSURfQ0FDSEVfUFJPR1JFU1NfQkFSLCBkd092ZXJhbGxQZXJjZW50YWdlKTsKKworICAgICAgICBfY2FsY3VsYXRlZENhY2hlUHJvZ3Jlc3MgPSBkd092ZXJhbGxQZXJjZW50YWdlICogUFlCQV9BQ1FVSVJFX1BFUkNFTlRBR0UgLyAxMDA7CisgICAgICAgIFRoZW1lU2V0UHJvZ3Jlc3NDb250cm9sKF90aGVtZSwgSURfT1ZFUkFMTF9DQUxDVUxBVEVEX1BST0dSRVNTX0JBUiwgX2NhbGN1bGF0ZWRDYWNoZVByb2dyZXNzICsgX2NhbGN1bGF0ZWRFeGVjdXRlUHJvZ3Jlc3MpOworCisgICAgICAgIFNldFRhc2tiYXJCdXR0b25Qcm9ncmVzcyhfY2FsY3VsYXRlZENhY2hlUHJvZ3Jlc3MgKyBfY2FsY3VsYXRlZEV4ZWN1dGVQcm9ncmVzcyk7CisKKyAgICAgICAgcmV0dXJuIF9fc3VwZXI6Ok9uQ2FjaGVBY3F1aXJlUHJvZ3Jlc3Mod3pQYWNrYWdlT3JDb250YWluZXJJZCwgd3pQYXlsb2FkSWQsIGR3NjRQcm9ncmVzcywgZHc2NFRvdGFsLCBkd092ZXJhbGxQZXJjZW50YWdlKTsKKyAgICB9CisKKworICAgIHZpcnR1YWwgU1RETUVUSE9ESU1QXyhpbnQpIE9uQ2FjaGVBY3F1aXJlQ29tcGxldGUoCisgICAgICAgIF9faW5feiBMUENXU1RSIHd6UGFja2FnZU9yQ29udGFpbmVySWQsCisgICAgICAgIF9faW5fel9vcHQgTFBDV1NUUiB3elBheWxvYWRJZCwKKyAgICAgICAgX19pbiBIUkVTVUxUIGhyU3RhdHVzLAorICAgICAgICBfX2luIGludCBuUmVjb21tZW5kYXRpb24KKyAgICApIHsKKyAgICAgICAgU2V0UHJvZ3Jlc3NTdGF0ZShoclN0YXR1cyk7CisgICAgICAgIHJldHVybiBfX3N1cGVyOjpPbkNhY2hlQWNxdWlyZUNvbXBsZXRlKHd6UGFja2FnZU9yQ29udGFpbmVySWQsIHd6UGF5bG9hZElkLCBoclN0YXR1cywgblJlY29tbWVuZGF0aW9uKTsKKyAgICB9CisKKworICAgIHZpcnR1YWwgU1RETUVUSE9ESU1QXyhpbnQpIE9uQ2FjaGVWZXJpZnlDb21wbGV0ZSgKKyAgICAgICAgX19pbl96IExQQ1dTVFIgd3pQYWNrYWdlSWQsCisgICAgICAgIF9faW5feiBMUENXU1RSIHd6UGF5bG9hZElkLAorICAgICAgICBfX2luIEhSRVNVTFQgaHJTdGF0dXMsCisgICAgICAgIF9faW4gaW50IG5SZWNvbW1lbmRhdGlvbgorICAgICkgeworICAgICAgICBTZXRQcm9ncmVzc1N0YXRlKGhyU3RhdHVzKTsKKyAgICAgICAgcmV0dXJuIF9fc3VwZXI6Ok9uQ2FjaGVWZXJpZnlDb21wbGV0ZSh3elBhY2thZ2VJZCwgd3pQYXlsb2FkSWQsIGhyU3RhdHVzLCBuUmVjb21tZW5kYXRpb24pOworICAgIH0KKworCisgICAgdmlydHVhbCBTVERNRVRIT0RJTVBfKHZvaWQpIE9uQ2FjaGVDb21wbGV0ZShfX2luIEhSRVNVTFQgLypoclN0YXR1cyovKSB7CisgICAgICAgIFRoZW1lU2V0VGV4dENvbnRyb2woX3RoZW1lLCBJRF9DQUNIRV9QUk9HUkVTU19QQUNLQUdFX1RFWFQsIEwiIik7CisgICAgICAgIFNldFN0YXRlKFBZQkFfU1RBVEVfQ0FDSEVELCBTX09LKTsgLy8gd2UgYWx3YXlzIHJldHVybiBzdWNjZXNzIGhlcmUgYW5kIGxldCBPbkFwcGx5Q29tcGxldGUoKSBkZWFsIHdpdGggdGhlIGVycm9yLgorICAgIH0KKworCisgICAgdmlydHVhbCBTVERNRVRIT0RJTVBfKGludCkgT25FcnJvcigKKyAgICAgICAgX19pbiBCT09UU1RSQVBQRVJfRVJST1JfVFlQRSBlcnJvclR5cGUsCisgICAgICAgIF9faW4gTFBDV1NUUiB3elBhY2thZ2VJZCwKKyAgICAgICAgX19pbiBEV09SRCBkd0NvZGUsCisgICAgICAgIF9faW5feiBMUENXU1RSIHd6RXJyb3IsCisgICAgICAgIF9faW4gRFdPUkQgZHdVSUhpbnQsCisgICAgICAgIF9faW4gRFdPUkQgLypjRGF0YSovLAorICAgICAgICBfX2luX2Vjb3VudF96X29wdChjRGF0YSkgTFBDV1NUUiogLypyZ3d6RGF0YSovLAorICAgICAgICBfX2luIGludCBuUmVjb21tZW5kYXRpb24KKyAgICApIHsKKyAgICAgICAgaW50IG5SZXN1bHQgPSBuUmVjb21tZW5kYXRpb247CisgICAgICAgIExQV1NUUiBzY3pFcnJvciA9IG51bGxwdHI7CisKKyAgICAgICAgaWYgKEJPT1RTVFJBUFBFUl9ESVNQTEFZX0VNQkVEREVEID09IF9jb21tYW5kLmRpc3BsYXkpIHsKKyAgICAgICAgICAgIEhSRVNVTFQgaHIgPSBfZW5naW5lLT5TZW5kRW1iZWRkZWRFcnJvcihkd0NvZGUsIHd6RXJyb3IsIGR3VUlIaW50LCAmblJlc3VsdCk7CisgICAgICAgICAgICBpZiAoRkFJTEVEKGhyKSkgeworICAgICAgICAgICAgICAgIG5SZXN1bHQgPSBJREVSUk9SOworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgaWYgKEJPT1RTVFJBUFBFUl9ESVNQTEFZX0ZVTEwgPT0gX2NvbW1hbmQuZGlzcGxheSkgeworICAgICAgICAgICAgLy8gSWYgdGhpcyBpcyBhbiBhdXRoZW50aWNhdGlvbiBmYWlsdXJlLCBsZXQgdGhlIGVuZ2luZSB0cnkgdG8gaGFuZGxlIGl0IGZvciB1cy4KKyAgICAgICAgICAgIGlmIChCT09UU1RSQVBQRVJfRVJST1JfVFlQRV9IVFRQX0FVVEhfU0VSVkVSID09IGVycm9yVHlwZSB8fCBCT09UU1RSQVBQRVJfRVJST1JfVFlQRV9IVFRQX0FVVEhfUFJPWFkgPT0gZXJyb3JUeXBlKSB7CisgICAgICAgICAgICAgICAgblJlc3VsdCA9IElEVFJZQUdBSU47CisgICAgICAgICAgICB9IGVsc2UgLy8gc2hvdyBhIGdlbmVyaWMgZXJyb3IgbWVzc2FnZSBib3guCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgQmFsUmV0cnlFcnJvck9jY3VycmVkKHd6UGFja2FnZUlkLCBkd0NvZGUpOworCisgICAgICAgICAgICAgICAgaWYgKCFfc2hvd2luZ0ludGVybmFsVUlUaGlzUGFja2FnZSkgeworICAgICAgICAgICAgICAgICAgICAvLyBJZiBubyBlcnJvciBtZXNzYWdlIHdhcyBwcm92aWRlZCwgdXNlIHRoZSBlcnJvciBjb2RlIHRvIHRyeSBhbmQgZ2V0IGFuIGVycm9yIG1lc3NhZ2UuCisgICAgICAgICAgICAgICAgICAgIGlmICghd3pFcnJvciB8fCAhKnd6RXJyb3IgfHwgQk9PVFNUUkFQUEVSX0VSUk9SX1RZUEVfV0lORE9XU19JTlNUQUxMRVIgIT0gZXJyb3JUeXBlKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBIUkVTVUxUIGhyID0gU3RyQWxsb2NGcm9tRXJyb3IoJnNjekVycm9yLCBkd0NvZGUsIG51bGxwdHIpOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKEZBSUxFRChocikgfHwgIXNjekVycm9yIHx8ICEqc2N6RXJyb3IpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdHJBbGxvY0Zvcm1hdHRlZCgmc2N6RXJyb3IsIEwiMHgleCIsIGR3Q29kZSk7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgICAgICBuUmVzdWx0ID0gOjpNZXNzYWdlQm94VyhfaFduZCwgc2N6RXJyb3IgPyBzY3pFcnJvciA6IHd6RXJyb3IsIF90aGVtZS0+c2N6Q2FwdGlvbiwgZHdVSUhpbnQpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgU2V0UHJvZ3Jlc3NTdGF0ZShIUkVTVUxUX0ZST01fV0lOMzIoZHdDb2RlKSk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAvLyBqdXN0IHRha2Ugbm90ZSBvZiB0aGUgZXJyb3IgY29kZSBhbmQgbGV0IHRoaW5ncyBjb250aW51ZS4KKyAgICAgICAgICAgIEJhbFJldHJ5RXJyb3JPY2N1cnJlZCh3elBhY2thZ2VJZCwgZHdDb2RlKTsKKyAgICAgICAgfQorCisgICAgICAgIFJlbGVhc2VTdHIoc2N6RXJyb3IpOworICAgICAgICByZXR1cm4gblJlc3VsdDsKKyAgICB9CisKKworICAgIHZpcnR1YWwgU1RETUVUSE9ESU1QXyhpbnQpIE9uRXhlY3V0ZU1zaU1lc3NhZ2UoCisgICAgICAgIF9faW5feiBMUENXU1RSIHd6UGFja2FnZUlkLAorICAgICAgICBfX2luIElOU1RBTExNRVNTQUdFIG10LAorICAgICAgICBfX2luIFVJTlQgdWlGbGFncywKKyAgICAgICAgX19pbl96IExQQ1dTVFIgd3pNZXNzYWdlLAorICAgICAgICBfX2luIERXT1JEIGNEYXRhLAorICAgICAgICBfX2luX2Vjb3VudF96X29wdChjRGF0YSkgTFBDV1NUUiogcmd3ekRhdGEsCisgICAgICAgIF9faW4gaW50IG5SZWNvbW1lbmRhdGlvbgorICAgICkgeworI2lmZGVmIERFQlVHCisgICAgICAgIEJhbExvZyhCT09UU1RSQVBQRVJfTE9HX0xFVkVMX1NUQU5EQVJELCAiUFlCQTogT25FeGVjdXRlTXNpTWVzc2FnZSgpIC0gcGFja2FnZTogJWxzLCBtZXNzYWdlOiAlbHMiLCB3elBhY2thZ2VJZCwgd3pNZXNzYWdlKTsKKyNlbmRpZgorICAgICAgICBpZiAoQk9PVFNUUkFQUEVSX0RJU1BMQVlfRlVMTCA9PSBfY29tbWFuZC5kaXNwbGF5ICYmIChJTlNUQUxMTUVTU0FHRV9XQVJOSU5HID09IG10IHx8IElOU1RBTExNRVNTQUdFX1VTRVIgPT0gbXQpKSB7CisgICAgICAgICAgICBpbnQgblJlc3VsdCA9IDo6TWVzc2FnZUJveFcoX2hXbmQsIHd6TWVzc2FnZSwgX3RoZW1lLT5zY3pDYXB0aW9uLCB1aUZsYWdzKTsKKyAgICAgICAgICAgIHJldHVybiBuUmVzdWx0OworICAgICAgICB9CisKKyAgICAgICAgaWYgKElOU1RBTExNRVNTQUdFX0FDVElPTlNUQVJUID09IG10KSB7CisgICAgICAgICAgICBUaGVtZVNldFRleHRDb250cm9sKF90aGVtZSwgSURfRVhFQ1VURV9QUk9HUkVTU19BQ1RJT05EQVRBX1RFWFQsIHd6TWVzc2FnZSk7CisgICAgICAgIH0KKworICAgICAgICByZXR1cm4gX19zdXBlcjo6T25FeGVjdXRlTXNpTWVzc2FnZSh3elBhY2thZ2VJZCwgbXQsIHVpRmxhZ3MsIHd6TWVzc2FnZSwgY0RhdGEsIHJnd3pEYXRhLCBuUmVjb21tZW5kYXRpb24pOworICAgIH0KKworCisgICAgdmlydHVhbCBTVERNRVRIT0RJTVBfKGludCkgT25Qcm9ncmVzcyhfX2luIERXT1JEIGR3UHJvZ3Jlc3NQZXJjZW50YWdlLCBfX2luIERXT1JEIGR3T3ZlcmFsbFByb2dyZXNzUGVyY2VudGFnZSkgeworICAgICAgICBXQ0hBUiB3elByb2dyZXNzWzVdID0geyB9OworCisjaWZkZWYgREVCVUcKKyAgICAgICAgQmFsTG9nKEJPT1RTVFJBUFBFUl9MT0dfTEVWRUxfU1RBTkRBUkQsICJQWUJBOiBPblByb2dyZXNzKCkgLSBwcm9ncmVzczogJXUlJSwgb3ZlcmFsbCBwcm9ncmVzczogJXUlJSIsIGR3UHJvZ3Jlc3NQZXJjZW50YWdlLCBkd092ZXJhbGxQcm9ncmVzc1BlcmNlbnRhZ2UpOworI2VuZGlmCisKKyAgICAgICAgOjpTdHJpbmdDY2hQcmludGZXKHd6UHJvZ3Jlc3MsIGNvdW50b2Yod3pQcm9ncmVzcyksIEwiJXUlJSIsIGR3T3ZlcmFsbFByb2dyZXNzUGVyY2VudGFnZSk7CisgICAgICAgIFRoZW1lU2V0VGV4dENvbnRyb2woX3RoZW1lLCBJRF9PVkVSQUxMX1BST0dSRVNTX1RFWFQsIHd6UHJvZ3Jlc3MpOworCisgICAgICAgIFRoZW1lU2V0UHJvZ3Jlc3NDb250cm9sKF90aGVtZSwgSURfT1ZFUkFMTF9QUk9HUkVTU19CQVIsIGR3T3ZlcmFsbFByb2dyZXNzUGVyY2VudGFnZSk7CisgICAgICAgIFNldFRhc2tiYXJCdXR0b25Qcm9ncmVzcyhkd092ZXJhbGxQcm9ncmVzc1BlcmNlbnRhZ2UpOworCisgICAgICAgIHJldHVybiBfX3N1cGVyOjpPblByb2dyZXNzKGR3UHJvZ3Jlc3NQZXJjZW50YWdlLCBkd092ZXJhbGxQcm9ncmVzc1BlcmNlbnRhZ2UpOworICAgIH0KKworCisgICAgdmlydHVhbCBTVERNRVRIT0RJTVBfKGludCkgT25FeGVjdXRlUGFja2FnZUJlZ2luKF9faW5feiBMUENXU1RSIHd6UGFja2FnZUlkLCBfX2luIEJPT0wgZkV4ZWN1dGUpIHsKKyAgICAgICAgTFBXU1RSIHNjekZvcm1hdHRlZFN0cmluZyA9IG51bGxwdHI7CisKKyAgICAgICAgX3N0YXJ0ZWRFeGVjdXRpb24gPSBUUlVFOworCisgICAgICAgIGlmICh3elBhY2thZ2VJZCAmJiAqd3pQYWNrYWdlSWQpIHsKKyAgICAgICAgICAgIEJBTF9JTkZPX1BBQ0tBR0UqIHBQYWNrYWdlID0gbnVsbHB0cjsKKyAgICAgICAgICAgIEJhbEluZm9GaW5kUGFja2FnZUJ5SWQoJl9idW5kbGUucGFja2FnZXMsIHd6UGFja2FnZUlkLCAmcFBhY2thZ2UpOworCisgICAgICAgICAgICBMUENXU1RSIHd6ID0gd3pQYWNrYWdlSWQ7CisgICAgICAgICAgICBpZiAocFBhY2thZ2UpIHsKKyAgICAgICAgICAgICAgICBMT0NfU1RSSU5HKiBwTG9jU3RyaW5nID0gbnVsbHB0cjsKKworICAgICAgICAgICAgICAgIHN3aXRjaCAocFBhY2thZ2UtPnR5cGUpIHsKKyAgICAgICAgICAgICAgICBjYXNlIEJBTF9JTkZPX1BBQ0tBR0VfVFlQRV9CVU5ETEVfQURET046CisgICAgICAgICAgICAgICAgICAgIExvY0dldFN0cmluZyhfd2l4TG9jLCBMIiMobG9jLkV4ZWN1dGVBZGRvblJlbGF0ZWRCdW5kbGVNZXNzYWdlKSIsICZwTG9jU3RyaW5nKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgICAgICBjYXNlIEJBTF9JTkZPX1BBQ0tBR0VfVFlQRV9CVU5ETEVfUEFUQ0g6CisgICAgICAgICAgICAgICAgICAgIExvY0dldFN0cmluZyhfd2l4TG9jLCBMIiMobG9jLkV4ZWN1dGVQYXRjaFJlbGF0ZWRCdW5kbGVNZXNzYWdlKSIsICZwTG9jU3RyaW5nKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgICAgICBjYXNlIEJBTF9JTkZPX1BBQ0tBR0VfVFlQRV9CVU5ETEVfVVBHUkFERToKKyAgICAgICAgICAgICAgICAgICAgTG9jR2V0U3RyaW5nKF93aXhMb2MsIEwiIyhsb2MuRXhlY3V0ZVVwZ3JhZGVSZWxhdGVkQnVuZGxlTWVzc2FnZSkiLCAmcExvY1N0cmluZyk7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGlmIChwTG9jU3RyaW5nKSB7CisgICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZSB3aXggZGV2ZWxvcGVyIGlzIHNob3dpbmcgYSBoaWRkZW4gdmFyaWFibGUgaW4gdGhlIFVJLCB0aGVuIG9idmlvdXNseSB0aGV5IGRvbid0IGNhcmUgYWJvdXQga2VlcGluZyBpdCBzYWZlCisgICAgICAgICAgICAgICAgICAgIC8vIHNvIGRvbid0IGdvIGRvd24gdGhlIHJhYmJpdCBob2xlIG9mIG1ha2luZyBzdXJlIHRoYXQgdGhpcyBpcyBzZWN1cmVseSBmcmVlZC4KKyAgICAgICAgICAgICAgICAgICAgQmFsRm9ybWF0U3RyaW5nKHBMb2NTdHJpbmctPnd6VGV4dCwgJnNjekZvcm1hdHRlZFN0cmluZyk7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgd3ogPSBzY3pGb3JtYXR0ZWRTdHJpbmcgPyBzY3pGb3JtYXR0ZWRTdHJpbmcgOiBwUGFja2FnZS0+c2N6RGlzcGxheU5hbWUgPyBwUGFja2FnZS0+c2N6RGlzcGxheU5hbWUgOiB3elBhY2thZ2VJZDsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgX3Nob3dpbmdJbnRlcm5hbFVJVGhpc1BhY2thZ2UgPSBwUGFja2FnZSAmJiBwUGFja2FnZS0+ZkRpc3BsYXlJbnRlcm5hbFVJOworCisgICAgICAgICAgICBUaGVtZVNldFRleHRDb250cm9sKF90aGVtZSwgSURfRVhFQ1VURV9QUk9HUkVTU19QQUNLQUdFX1RFWFQsIHd6KTsKKyAgICAgICAgICAgIFRoZW1lU2V0VGV4dENvbnRyb2woX3RoZW1lLCBJRF9PVkVSQUxMX1BST0dSRVNTX1BBQ0tBR0VfVEVYVCwgd3opOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgX3Nob3dpbmdJbnRlcm5hbFVJVGhpc1BhY2thZ2UgPSBGQUxTRTsKKyAgICAgICAgfQorCisgICAgICAgIFJlbGVhc2VTdHIoc2N6Rm9ybWF0dGVkU3RyaW5nKTsKKyAgICAgICAgcmV0dXJuIF9fc3VwZXI6Ok9uRXhlY3V0ZVBhY2thZ2VCZWdpbih3elBhY2thZ2VJZCwgZkV4ZWN1dGUpOworICAgIH0KKworCisgICAgdmlydHVhbCBpbnQgX19zdGRjYWxsIE9uRXhlY3V0ZVByb2dyZXNzKAorICAgICAgICBfX2luX3ogTFBDV1NUUiB3elBhY2thZ2VJZCwKKyAgICAgICAgX19pbiBEV09SRCBkd1Byb2dyZXNzUGVyY2VudGFnZSwKKyAgICAgICAgX19pbiBEV09SRCBkd092ZXJhbGxQcm9ncmVzc1BlcmNlbnRhZ2UKKyAgICApIHsKKyAgICAgICAgV0NIQVIgd3pQcm9ncmVzc1s4XSA9IHsgfTsKKworI2lmZGVmIERFQlVHCisgICAgICAgIEJhbExvZyhCT09UU1RSQVBQRVJfTE9HX0xFVkVMX1NUQU5EQVJELCAiUFlCQTogT25FeGVjdXRlUHJvZ3Jlc3MoKSAtIHBhY2thZ2U6ICVscywgcHJvZ3Jlc3M6ICV1JSUsIG92ZXJhbGwgcHJvZ3Jlc3M6ICV1JSUiLCB3elBhY2thZ2VJZCwgZHdQcm9ncmVzc1BlcmNlbnRhZ2UsIGR3T3ZlcmFsbFByb2dyZXNzUGVyY2VudGFnZSk7CisjZW5kaWYKKworICAgICAgICA6OlN0cmluZ0NjaFByaW50Zlcod3pQcm9ncmVzcywgY291bnRvZih3elByb2dyZXNzKSwgTCIldSUlIiwgZHdPdmVyYWxsUHJvZ3Jlc3NQZXJjZW50YWdlKTsKKyAgICAgICAgVGhlbWVTZXRUZXh0Q29udHJvbChfdGhlbWUsIElEX0VYRUNVVEVfUFJPR1JFU1NfVEVYVCwgd3pQcm9ncmVzcyk7CisKKyAgICAgICAgVGhlbWVTZXRQcm9ncmVzc0NvbnRyb2woX3RoZW1lLCBJRF9FWEVDVVRFX1BST0dSRVNTX0JBUiwgZHdPdmVyYWxsUHJvZ3Jlc3NQZXJjZW50YWdlKTsKKworICAgICAgICBfY2FsY3VsYXRlZEV4ZWN1dGVQcm9ncmVzcyA9IGR3T3ZlcmFsbFByb2dyZXNzUGVyY2VudGFnZSAqICgxMDAgLSBQWUJBX0FDUVVJUkVfUEVSQ0VOVEFHRSkgLyAxMDA7CisgICAgICAgIFRoZW1lU2V0UHJvZ3Jlc3NDb250cm9sKF90aGVtZSwgSURfT1ZFUkFMTF9DQUxDVUxBVEVEX1BST0dSRVNTX0JBUiwgX2NhbGN1bGF0ZWRDYWNoZVByb2dyZXNzICsgX2NhbGN1bGF0ZWRFeGVjdXRlUHJvZ3Jlc3MpOworCisgICAgICAgIFNldFRhc2tiYXJCdXR0b25Qcm9ncmVzcyhfY2FsY3VsYXRlZENhY2hlUHJvZ3Jlc3MgKyBfY2FsY3VsYXRlZEV4ZWN1dGVQcm9ncmVzcyk7CisKKyAgICAgICAgcmV0dXJuIF9fc3VwZXI6Ok9uRXhlY3V0ZVByb2dyZXNzKHd6UGFja2FnZUlkLCBkd1Byb2dyZXNzUGVyY2VudGFnZSwgZHdPdmVyYWxsUHJvZ3Jlc3NQZXJjZW50YWdlKTsKKyAgICB9CisKKworICAgIHZpcnR1YWwgU1RETUVUSE9ESU1QXyhpbnQpIE9uRXhlY3V0ZVBhY2thZ2VDb21wbGV0ZSgKKyAgICAgICAgX19pbl96IExQQ1dTVFIgd3pQYWNrYWdlSWQsCisgICAgICAgIF9faW4gSFJFU1VMVCBockV4aXRDb2RlLAorICAgICAgICBfX2luIEJPT1RTVFJBUFBFUl9BUFBMWV9SRVNUQVJUIHJlc3RhcnQsCisgICAgICAgIF9faW4gaW50IG5SZWNvbW1lbmRhdGlvbgorICAgICkgeworICAgICAgICBTZXRQcm9ncmVzc1N0YXRlKGhyRXhpdENvZGUpOworCisgICAgICAgIGlmIChfd2NzbmljbXAod3pQYWNrYWdlSWQsIEwicGF0aF8iLCA1KSA9PSAwICYmIFNVQ0NFRURFRChockV4aXRDb2RlKSkgeworICAgICAgICAgICAgU2VuZE1lc3NhZ2VUaW1lb3V0VygKKyAgICAgICAgICAgICAgICBIV05EX0JST0FEQ0FTVCwKKyAgICAgICAgICAgICAgICBXTV9TRVRUSU5HQ0hBTkdFLAorICAgICAgICAgICAgICAgIDAsCisgICAgICAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxMUEFSQU0+KEwiRW52aXJvbm1lbnQiKSwKKyAgICAgICAgICAgICAgICBTTVRPX0FCT1JUSUZIVU5HLAorICAgICAgICAgICAgICAgIDEwMDAsCisgICAgICAgICAgICAgICAgbnVsbHB0cgorICAgICAgICAgICAgKTsKKyAgICAgICAgfQorCisgICAgICAgIGludCBuUmVzdWx0ID0gX19zdXBlcjo6T25FeGVjdXRlUGFja2FnZUNvbXBsZXRlKHd6UGFja2FnZUlkLCBockV4aXRDb2RlLCByZXN0YXJ0LCBuUmVjb21tZW5kYXRpb24pOworCisgICAgICAgIHJldHVybiBuUmVzdWx0OworICAgIH0KKworCisgICAgdmlydHVhbCBTVERNRVRIT0RJTVBfKHZvaWQpIE9uRXhlY3V0ZUNvbXBsZXRlKF9faW4gSFJFU1VMVCBoclN0YXR1cykgeworICAgICAgICBUaGVtZVNldFRleHRDb250cm9sKF90aGVtZSwgSURfRVhFQ1VURV9QUk9HUkVTU19QQUNLQUdFX1RFWFQsIEwiIik7CisgICAgICAgIFRoZW1lU2V0VGV4dENvbnRyb2woX3RoZW1lLCBJRF9FWEVDVVRFX1BST0dSRVNTX0FDVElPTkRBVEFfVEVYVCwgTCIiKTsKKyAgICAgICAgVGhlbWVTZXRUZXh0Q29udHJvbChfdGhlbWUsIElEX09WRVJBTExfUFJPR1JFU1NfUEFDS0FHRV9URVhULCBMIiIpOworICAgICAgICBUaGVtZUNvbnRyb2xFbmFibGUoX3RoZW1lLCBJRF9QUk9HUkVTU19DQU5DRUxfQlVUVE9OLCBGQUxTRSk7IC8vIG5vIG1vcmUgY2FuY2VsLgorCisgICAgICAgIFNldFN0YXRlKFBZQkFfU1RBVEVfRVhFQ1VURUQsIFNfT0spOyAvLyB3ZSBhbHdheXMgcmV0dXJuIHN1Y2Nlc3MgaGVyZSBhbmQgbGV0IE9uQXBwbHlDb21wbGV0ZSgpIGRlYWwgd2l0aCB0aGUgZXJyb3IuCisgICAgICAgIFNldFByb2dyZXNzU3RhdGUoaHJTdGF0dXMpOworICAgIH0KKworCisgICAgdmlydHVhbCBTVERNRVRIT0RJTVBfKGludCkgT25SZXNvbHZlU291cmNlKAorICAgICAgICBfX2luX3ogTFBDV1NUUiB3elBhY2thZ2VPckNvbnRhaW5lcklkLAorICAgICAgICBfX2luX3pfb3B0IExQQ1dTVFIgd3pQYXlsb2FkSWQsCisgICAgICAgIF9faW5feiBMUENXU1RSIHd6TG9jYWxTb3VyY2UsCisgICAgICAgIF9faW5fel9vcHQgTFBDV1NUUiB3ekRvd25sb2FkU291cmNlCisgICAgKSB7CisgICAgICAgIGludCBuUmVzdWx0ID0gSURFUlJPUjsgLy8gYXNzdW1lIHdlIHdvbid0IHJlc29sdmUgc291cmNlIGFuZCB0aGF0IGlzIHVuZXhwZWN0ZWQuCisKKyAgICAgICAgaWYgKEJPT1RTVFJBUFBFUl9ESVNQTEFZX0ZVTEwgPT0gX2NvbW1hbmQuZGlzcGxheSkgeworICAgICAgICAgICAgaWYgKHd6RG93bmxvYWRTb3VyY2UpIHsKKyAgICAgICAgICAgICAgICBuUmVzdWx0ID0gSURET1dOTE9BRDsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgLy8gcHJvbXB0IHRvIGNoYW5nZSB0aGUgc291cmNlIGxvY2F0aW9uLgorICAgICAgICAgICAgICAgIE9QRU5GSUxFTkFNRVcgb2ZuID0geyB9OworICAgICAgICAgICAgICAgIFdDSEFSIHd6RmlsZVtNQVhfUEFUSF0gPSB7IH07CisKKyAgICAgICAgICAgICAgICA6OlN0cmluZ0NjaENvcHlXKHd6RmlsZSwgY291bnRvZih3ekZpbGUpLCB3ekxvY2FsU291cmNlKTsKKworICAgICAgICAgICAgICAgIG9mbi5sU3RydWN0U2l6ZSA9IHNpemVvZihvZm4pOworICAgICAgICAgICAgICAgIG9mbi5od25kT3duZXIgPSBfaFduZDsKKyAgICAgICAgICAgICAgICBvZm4ubHBzdHJGaWxlID0gd3pGaWxlOworICAgICAgICAgICAgICAgIG9mbi5uTWF4RmlsZSA9IGNvdW50b2Yod3pGaWxlKTsKKyAgICAgICAgICAgICAgICBvZm4ubHBzdHJGaWx0ZXIgPSBMIkFsbCBGaWxlc1wwKi4qXDAiOworICAgICAgICAgICAgICAgIG9mbi5uRmlsdGVySW5kZXggPSAxOworICAgICAgICAgICAgICAgIG9mbi5GbGFncyA9IE9GTl9QQVRITVVTVEVYSVNUIHwgT0ZOX0ZJTEVNVVNURVhJU1Q7CisgICAgICAgICAgICAgICAgb2ZuLmxwc3RyVGl0bGUgPSBfdGhlbWUtPnNjekNhcHRpb247CisKKyAgICAgICAgICAgICAgICBpZiAoOjpHZXRPcGVuRmlsZU5hbWVXKCZvZm4pKSB7CisgICAgICAgICAgICAgICAgICAgIEhSRVNVTFQgaHIgPSBfZW5naW5lLT5TZXRMb2NhbFNvdXJjZSh3elBhY2thZ2VPckNvbnRhaW5lcklkLCB3elBheWxvYWRJZCwgb2ZuLmxwc3RyRmlsZSk7CisgICAgICAgICAgICAgICAgICAgIG5SZXN1bHQgPSBTVUNDRUVERUQoaHIpID8gSURSRVRSWSA6IElERVJST1I7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgblJlc3VsdCA9IElEQ0FOQ0VMOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIGlmICh3ekRvd25sb2FkU291cmNlKSB7CisgICAgICAgICAgICAvLyBJZiBkb2luZyBhIG5vbi1pbnRlcmFjdGl2ZSBpbnN0YWxsIGFuZCBkb3dubG9hZCBzb3VyY2UgaXMgYXZhaWxhYmxlLCBsZXQncyB0cnkgZG93bmxvYWRpbmcgdGhlIHBhY2thZ2Ugc2lsZW50bHkKKyAgICAgICAgICAgIG5SZXN1bHQgPSBJRERPV05MT0FEOworICAgICAgICB9CisgICAgICAgIC8vIGVsc2UgdGhlcmUncyBub3RoaW5nIG1vcmUgd2UgY2FuIGRvIGluIG5vbi1pbnRlcmFjdGl2ZSBtb2RlCisKKyAgICAgICAgcmV0dXJuIENoZWNrQ2FuY2VsZWQoKSA/IElEQ0FOQ0VMIDogblJlc3VsdDsKKyAgICB9CisKKworICAgIHZpcnR1YWwgU1RETUVUSE9ESU1QXyhpbnQpIE9uQXBwbHlDb21wbGV0ZShfX2luIEhSRVNVTFQgaHJTdGF0dXMsIF9faW4gQk9PVFNUUkFQUEVSX0FQUExZX1JFU1RBUlQgcmVzdGFydCkgeworICAgICAgICBfcmVzdGFydFJlc3VsdCA9IHJlc3RhcnQ7IC8vIHJlbWVtYmVyIHRoZSByZXN0YXJ0IHJlc3VsdCBzbyB3ZSByZXR1cm4gdGhlIGNvcnJlY3QgZXJyb3IgY29kZSBubyBtYXR0ZXIgd2hhdCB0aGUgdXNlciBjaG9vc2VzIHRvIGRvIGluIHRoZSBVSS4KKworICAgICAgICAvLyBJZiBhIHJlc3RhcnQgd2FzIGVuY291bnRlcmVkIGFuZCB3ZSBhcmUgbm90IHN1cHByZXNzaW5nIHJlc3RhcnRzLCB0aGVuIHJlc3RhcnQgaXMgcmVxdWlyZWQuCisgICAgICAgIF9yZXN0YXJ0UmVxdWlyZWQgPSAoQk9PVFNUUkFQUEVSX0FQUExZX1JFU1RBUlRfTk9ORSAhPSByZXN0YXJ0ICYmIEJPT1RTVFJBUFBFUl9SRVNUQVJUX05FVkVSIDwgX2NvbW1hbmQucmVzdGFydCk7CisgICAgICAgIC8vIElmIGEgcmVzdGFydCBpcyByZXF1aXJlZCBhbmQgd2UncmUgbm90IGRpc3BsYXlpbmcgYSBVSSBvciB3ZSBhcmUgbm90IHN1cHBvc2VkIHRvIHByb21wdCBmb3IgcmVzdGFydCB0aGVuIGFsbG93IHRoZSByZXN0YXJ0LgorICAgICAgICBfYWxsb3dSZXN0YXJ0ID0gX3Jlc3RhcnRSZXF1aXJlZCAmJiAoQk9PVFNUUkFQUEVSX0RJU1BMQVlfRlVMTCA+IF9jb21tYW5kLmRpc3BsYXkgfHwgQk9PVFNUUkFQUEVSX1JFU1RBUlRfUFJPTVBUIDwgX2NvbW1hbmQucmVzdGFydCk7CisKKyAgICAgICAgLy8gSWYgd2UgYXJlIHNob3dpbmcgVUksIHdhaXQgYSBiZWF0IGJlZm9yZSBtb3ZpbmcgdG8gdGhlIGZpbmFsIHNjcmVlbi4KKyAgICAgICAgaWYgKEJPT1RTVFJBUFBFUl9ESVNQTEFZX05PTkUgPCBfY29tbWFuZC5kaXNwbGF5KSB7CisgICAgICAgICAgICA6OlNsZWVwKDI1MCk7CisgICAgICAgIH0KKworICAgICAgICBTZXRTdGF0ZShQWUJBX1NUQVRFX0FQUExJRUQsIGhyU3RhdHVzKTsKKyAgICAgICAgU2V0VGFza2JhckJ1dHRvblByb2dyZXNzKDEwMCk7IC8vIHNob3cgZnVsbCBwcm9ncmVzcyBiYXIsIGdyZWVuLCB5ZWxsb3csIG9yIHJlZAorCisgICAgICAgIHJldHVybiBJRE5PQUNUSU9OOworICAgIH0KKworICAgIHZpcnR1YWwgU1RETUVUSE9ESU1QXyh2b2lkKSBPbkxhdW5jaEFwcHJvdmVkRXhlQ29tcGxldGUoX19pbiBIUkVTVUxUIGhyU3RhdHVzLCBfX2luIERXT1JEIC8qcHJvY2Vzc0lkKi8pIHsKKyAgICAgICAgaWYgKEhSRVNVTFRfRlJPTV9XSU4zMihFUlJPUl9BQ0NFU1NfREVOSUVEKSA9PSBoclN0YXR1cykgeworICAgICAgICAgICAgLy90cnkgd2l0aCBTaGVsRXhlYyBuZXh0IHRpbWUKKyAgICAgICAgICAgIE9uQ2xpY2tMYXVuY2hCdXR0b24oKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIDo6UG9zdE1lc3NhZ2VXKF9oV25kLCBXTV9DTE9TRSwgMCwgMCk7CisgICAgICAgIH0KKyAgICB9CisKKworcHJpdmF0ZToKKyAgICAvLworICAgIC8vIFVpVGhyZWFkUHJvYyAtIGVudHJ5cG9pbnQgZm9yIFVJIHRocmVhZC4KKyAgICAvLworICAgIHN0YXRpYyBEV09SRCBXSU5BUEkgVWlUaHJlYWRQcm9jKF9faW4gTFBWT0lEIHB2Q29udGV4dCkgeworICAgICAgICBIUkVTVUxUIGhyID0gU19PSzsKKyAgICAgICAgUHl0aG9uQm9vdHN0cmFwcGVyQXBwbGljYXRpb24qIHBUaGlzID0gKFB5dGhvbkJvb3RzdHJhcHBlckFwcGxpY2F0aW9uKilwdkNvbnRleHQ7CisgICAgICAgIEJPT0wgY29tSW5pdGlhbGl6ZWQgPSBGQUxTRTsKKyAgICAgICAgQk9PTCByZXQgPSBGQUxTRTsKKyAgICAgICAgTVNHIG1zZyA9IHsgfTsKKworICAgICAgICAvLyBJbml0aWFsaXplIENPTSBhbmQgdGhlbWUuCisgICAgICAgIGhyID0gOjpDb0luaXRpYWxpemUobnVsbHB0cik7CisgICAgICAgIEJhbEV4aXRPbkZhaWx1cmUoaHIsICJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBDT00uIik7CisgICAgICAgIGNvbUluaXRpYWxpemVkID0gVFJVRTsKKworICAgICAgICBociA9IFRoZW1lSW5pdGlhbGl6ZShwVGhpcy0+X2hNb2R1bGUpOworICAgICAgICBCYWxFeGl0T25GYWlsdXJlKGhyLCAiRmFpbGVkIHRvIGluaXRpYWxpemUgdGhlbWUgbWFuYWdlci4iKTsKKworICAgICAgICBociA9IHBUaGlzLT5Jbml0aWFsaXplRGF0YSgpOworICAgICAgICBCYWxFeGl0T25GYWlsdXJlKGhyLCAiRmFpbGVkIHRvIGluaXRpYWxpemUgZGF0YSBpbiBib290c3RyYXBwZXIgYXBwbGljYXRpb24uIik7CisKKyAgICAgICAgLy8gQ3JlYXRlIG1haW4gd2luZG93LgorICAgICAgICBwVGhpcy0+SW5pdGlhbGl6ZVRhc2tiYXJCdXR0b24oKTsKKyAgICAgICAgaHIgPSBwVGhpcy0+Q3JlYXRlTWFpbldpbmRvdygpOworICAgICAgICBCYWxFeGl0T25GYWlsdXJlKGhyLCAiRmFpbGVkIHRvIGNyZWF0ZSBtYWluIHdpbmRvdy4iKTsKKworICAgICAgICBpZiAoRkFJTEVEKHBUaGlzLT5faHJGaW5hbCkpIHsKKyAgICAgICAgICAgIHBUaGlzLT5TZXRTdGF0ZShQWUJBX1NUQVRFX0ZBSUxFRCwgaHIpOworICAgICAgICAgICAgOjpQb3N0TWVzc2FnZVcocFRoaXMtPl9oV25kLCBXTV9QWUJBX1NIT1dfRkFJTFVSRSwgMCwgMCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAvLyBPa2F5LCB3ZSdyZSByZWFkeSBmb3IgcGFja2FnZXMgbm93LgorICAgICAgICAgICAgcFRoaXMtPlNldFN0YXRlKFBZQkFfU1RBVEVfSU5JVElBTElaRUQsIGhyKTsKKyAgICAgICAgICAgIDo6UG9zdE1lc3NhZ2VXKHBUaGlzLT5faFduZCwgQk9PVFNUUkFQUEVSX0FDVElPTl9IRUxQID09IHBUaGlzLT5fY29tbWFuZC5hY3Rpb24gPyBXTV9QWUJBX1NIT1dfSEVMUCA6IFdNX1BZQkFfREVURUNUX1BBQ0tBR0VTLCAwLCAwKTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIG1lc3NhZ2UgcHVtcAorICAgICAgICB3aGlsZSAoMCAhPSAocmV0ID0gOjpHZXRNZXNzYWdlVygmbXNnLCBudWxscHRyLCAwLCAwKSkpIHsKKyAgICAgICAgICAgIGlmICgtMSA9PSByZXQpIHsKKyAgICAgICAgICAgICAgICBociA9IEVfVU5FWFBFQ1RFRDsKKyAgICAgICAgICAgICAgICBCYWxFeGl0T25GYWlsdXJlKGhyLCAiVW5leHBlY3RlZCByZXR1cm4gdmFsdWUgZnJvbSBtZXNzYWdlIHB1bXAuIik7CisgICAgICAgICAgICB9IGVsc2UgaWYgKCFUaGVtZUhhbmRsZUtleWJvYXJkTWVzc2FnZShwVGhpcy0+X3RoZW1lLCBtc2cuaHduZCwgJm1zZykpIHsKKyAgICAgICAgICAgICAgICA6OlRyYW5zbGF0ZU1lc3NhZ2UoJm1zZyk7CisgICAgICAgICAgICAgICAgOjpEaXNwYXRjaE1lc3NhZ2VXKCZtc2cpOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgLy8gU3VjY2VlZGVkIHRodXMgZmFyLCBjaGVjayB0byBzZWUgaWYgYW55dGhpbmcgd2VudCB3cm9uZyB3aGlsZSBhY3R1YWxseQorICAgICAgICAvLyBleGVjdXRpbmcgY2hhbmdlcy4KKyAgICAgICAgaWYgKEZBSUxFRChwVGhpcy0+X2hyRmluYWwpKSB7CisgICAgICAgICAgICBociA9IHBUaGlzLT5faHJGaW5hbDsKKyAgICAgICAgfSBlbHNlIGlmIChwVGhpcy0+Q2hlY2tDYW5jZWxlZCgpKSB7CisgICAgICAgICAgICBociA9IEhSRVNVTFRfRlJPTV9XSU4zMihFUlJPUl9JTlNUQUxMX1VTRVJFWElUKTsKKyAgICAgICAgfQorCisgICAgTEV4aXQ6CisgICAgICAgIC8vIGRlc3Ryb3kgbWFpbiB3aW5kb3cKKyAgICAgICAgcFRoaXMtPkRlc3Ryb3lNYWluV2luZG93KCk7CisKKyAgICAgICAgLy8gaW5pdGlhdGUgZW5naW5lIHNodXRkb3duCisgICAgICAgIERXT1JEIGR3UXVpdCA9IEhSRVNVTFRfQ09ERShocik7CisgICAgICAgIGlmIChCT09UU1RSQVBQRVJfQVBQTFlfUkVTVEFSVF9JTklUSUFURUQgPT0gcFRoaXMtPl9yZXN0YXJ0UmVzdWx0KSB7CisgICAgICAgICAgICBkd1F1aXQgPSBFUlJPUl9TVUNDRVNTX1JFQk9PVF9JTklUSUFURUQ7CisgICAgICAgIH0gZWxzZSBpZiAoQk9PVFNUUkFQUEVSX0FQUExZX1JFU1RBUlRfUkVRVUlSRUQgPT0gcFRoaXMtPl9yZXN0YXJ0UmVzdWx0KSB7CisgICAgICAgICAgICBkd1F1aXQgPSBFUlJPUl9TVUNDRVNTX1JFQk9PVF9SRVFVSVJFRDsKKyAgICAgICAgfQorICAgICAgICBwVGhpcy0+X2VuZ2luZS0+UXVpdChkd1F1aXQpOworCisgICAgICAgIFJlbGVhc2VUaGVtZShwVGhpcy0+X3RoZW1lKTsKKyAgICAgICAgVGhlbWVVbmluaXRpYWxpemUoKTsKKworICAgICAgICAvLyB1bmluaXRpYWxpemUgQ09NCisgICAgICAgIGlmIChjb21Jbml0aWFsaXplZCkgeworICAgICAgICAgICAgOjpDb1VuaW5pdGlhbGl6ZSgpOworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIGhyOworICAgIH0KKworCisgICAgLy8KKyAgICAvLyBJbml0aWFsaXplRGF0YSAtIGluaXRpYWxpemVzIGFsbCB0aGUgcGFja2FnZSBpbmZvcm1hdGlvbi4KKyAgICAvLworICAgIEhSRVNVTFQgSW5pdGlhbGl6ZURhdGEoKSB7CisgICAgICAgIEhSRVNVTFQgaHIgPSBTX09LOworICAgICAgICBMUFdTVFIgc2N6TW9kdWxlUGF0aCA9IG51bGxwdHI7CisgICAgICAgIElYTUxET01Eb2N1bWVudCAqcGl4ZE1hbmlmZXN0ID0gbnVsbHB0cjsKKworICAgICAgICBociA9IEJhbE1hbmlmZXN0TG9hZChfaE1vZHVsZSwgJnBpeGRNYW5pZmVzdCk7CisgICAgICAgIEJhbEV4aXRPbkZhaWx1cmUoaHIsICJGYWlsZWQgdG8gbG9hZCBib290c3RyYXBwZXIgYXBwbGljYXRpb24gbWFuaWZlc3QuIik7CisKKyAgICAgICAgaHIgPSBQYXJzZU92ZXJyaWRhYmxlVmFyaWFibGVzRnJvbVhtbChwaXhkTWFuaWZlc3QpOworICAgICAgICBCYWxFeGl0T25GYWlsdXJlKGhyLCAiRmFpbGVkIHRvIHJlYWQgb3ZlcnJpZGFibGUgdmFyaWFibGVzLiIpOworCisgICAgICAgIGhyID0gUHJvY2Vzc0NvbW1hbmRMaW5lKCZfbGFuZ3VhZ2UpOworICAgICAgICBFeGl0T25GYWlsdXJlKGhyLCAiVW5rbm93biBjb21tYW5kbGluZSBwYXJhbWV0ZXJzLiIpOworCisgICAgICAgIGhyID0gUGF0aFJlbGF0aXZlVG9Nb2R1bGUoJnNjek1vZHVsZVBhdGgsIG51bGxwdHIsIF9oTW9kdWxlKTsKKyAgICAgICAgQmFsRXhpdE9uRmFpbHVyZShociwgIkZhaWxlZCB0byBnZXQgbW9kdWxlIHBhdGguIik7CisKKyAgICAgICAgaHIgPSBMb2FkTG9jYWxpemF0aW9uKHNjek1vZHVsZVBhdGgsIF9sYW5ndWFnZSk7CisgICAgICAgIEV4aXRPbkZhaWx1cmUoaHIsICJGYWlsZWQgdG8gbG9hZCBsb2NhbGl6YXRpb24uIik7CisKKyAgICAgICAgaHIgPSBMb2FkVGhlbWUoc2N6TW9kdWxlUGF0aCwgX2xhbmd1YWdlKTsKKyAgICAgICAgRXhpdE9uRmFpbHVyZShociwgIkZhaWxlZCB0byBsb2FkIHRoZW1lLiIpOworCisgICAgICAgIGhyID0gQmFsSW5mb1BhcnNlRnJvbVhtbCgmX2J1bmRsZSwgcGl4ZE1hbmlmZXN0KTsKKyAgICAgICAgQmFsRXhpdE9uRmFpbHVyZShociwgIkZhaWxlZCB0byBsb2FkIGJ1bmRsZSBpbmZvcm1hdGlvbi4iKTsKKworICAgICAgICBociA9IEJhbENvbmRpdGlvbnNQYXJzZUZyb21YbWwoJl9jb25kaXRpb25zLCBwaXhkTWFuaWZlc3QsIF93aXhMb2MpOworICAgICAgICBCYWxFeGl0T25GYWlsdXJlKGhyLCAiRmFpbGVkIHRvIGxvYWQgY29uZGl0aW9ucyBmcm9tIFhNTC4iKTsKKworICAgICAgICBociA9IExvYWRCb290c3RyYXBwZXJCQUZ1bmN0aW9ucygpOworICAgICAgICBCYWxFeGl0T25GYWlsdXJlKGhyLCAiRmFpbGVkIHRvIGxvYWQgYm9vdHN0cmFwcGVyIGZ1bmN0aW9ucy4iKTsKKworICAgICAgICBHZXRCdW5kbGVGaWxlVmVyc2lvbigpOworICAgICAgICAvLyBkb24ndCBmYWlsIGlmIHdlIGNvdWxkbid0IGdldCB0aGUgdmVyc2lvbiBpbmZvOyBiZXN0LWVmZm9ydCBvbmx5CisKKyAgICBMRXhpdDoKKyAgICAgICAgUmVsZWFzZU9iamVjdChwaXhkTWFuaWZlc3QpOworICAgICAgICBSZWxlYXNlU3RyKHNjek1vZHVsZVBhdGgpOworCisgICAgICAgIHJldHVybiBocjsKKyAgICB9CisKKworICAgIC8vCisgICAgLy8gUHJvY2Vzc0NvbW1hbmRMaW5lIC0gcHJvY2VzcyB0aGUgcHJvdmlkZWQgY29tbWFuZCBsaW5lIGFyZ3VtZW50cy4KKyAgICAvLworICAgIEhSRVNVTFQgUHJvY2Vzc0NvbW1hbmRMaW5lKF9faW5vdXQgTFBXU1RSKiBwc2N6TGFuZ3VhZ2UpIHsKKyAgICAgICAgSFJFU1VMVCBociA9IFNfT0s7CisgICAgICAgIGludCBhcmdjID0gMDsKKyAgICAgICAgTFBXU1RSKiBhcmd2ID0gbnVsbHB0cjsKKyAgICAgICAgTFBXU1RSIHNjelZhcmlhYmxlTmFtZSA9IG51bGxwdHI7CisgICAgICAgIExQV1NUUiBzY3pWYXJpYWJsZVZhbHVlID0gbnVsbHB0cjsKKworICAgICAgICBpZiAoX2NvbW1hbmQud3pDb21tYW5kTGluZSAmJiAqX2NvbW1hbmQud3pDb21tYW5kTGluZSkgeworICAgICAgICAgICAgYXJndiA9IDo6Q29tbWFuZExpbmVUb0FyZ3ZXKF9jb21tYW5kLnd6Q29tbWFuZExpbmUsICZhcmdjKTsKKyAgICAgICAgICAgIEV4aXRPbk51bGxXaXRoTGFzdEVycm9yKGFyZ3YsIGhyLCAiRmFpbGVkIHRvIGdldCBjb21tYW5kIGxpbmUuIik7CisKKyAgICAgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgYXJnYzsgKytpKSB7CisgICAgICAgICAgICAgICAgaWYgKGFyZ3ZbaV1bMF0gPT0gTCctJyB8fCBhcmd2W2ldWzBdID09IEwnLycpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKENTVFJfRVFVQUwgPT0gOjpDb21wYXJlU3RyaW5nVyhMT0NBTEVfSU5WQVJJQU5ULCBOT1JNX0lHTk9SRUNBU0UsICZhcmd2W2ldWzFdLCAtMSwgTCJsYW5nIiwgLTEpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaSArIDEgPj0gYXJnYykgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyID0gRV9JTlZBTElEQVJHOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJhbEV4aXRPbkZhaWx1cmUoaHIsICJNdXN0IHNwZWNpZnkgYSBsYW5ndWFnZS4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgICAgICAgICAgKytpOworCisgICAgICAgICAgICAgICAgICAgICAgICBociA9IFN0ckFsbG9jU3RyaW5nKHBzY3pMYW5ndWFnZSwgJmFyZ3ZbaV1bMF0sIDApOworICAgICAgICAgICAgICAgICAgICAgICAgQmFsRXhpdE9uRmFpbHVyZShociwgIkZhaWxlZCB0byBjb3B5IGxhbmd1YWdlLiIpOworICAgICAgICAgICAgICAgICAgICB9IAorICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoX292ZXJyaWRhYmxlVmFyaWFibGVzKSB7CisgICAgICAgICAgICAgICAgICAgIGludCB2YWx1ZTsKKyAgICAgICAgICAgICAgICAgICAgY29uc3Qgd2NoYXJfdCogcHdjID0gd2NzY2hyKGFyZ3ZbaV0sIEwnPScpOworICAgICAgICAgICAgICAgICAgICBpZiAocHdjKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBociA9IFN0ckFsbG9jU3RyaW5nKCZzY3pWYXJpYWJsZU5hbWUsIGFyZ3ZbaV0sIHB3YyAtIGFyZ3ZbaV0pOworICAgICAgICAgICAgICAgICAgICAgICAgQmFsRXhpdE9uRmFpbHVyZShociwgIkZhaWxlZCB0byBjb3B5IHZhcmlhYmxlIG5hbWUuIik7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIGhyID0gRGljdEtleUV4aXN0cyhfb3ZlcnJpZGFibGVWYXJpYWJsZXMsIHNjelZhcmlhYmxlTmFtZSk7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoRV9OT1RGT1VORCA9PSBocikgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJhbExvZyhCT09UU1RSQVBQRVJfTE9HX0xFVkVMX0VSUk9SLCAiSWdub3JpbmcgYXR0ZW1wdCB0byBzZXQgbm9uLW92ZXJyaWRhYmxlIHZhcmlhYmxlOiAnJWxzJy4iLCBzY3pWYXJpYWJsZU5hbWUpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyID0gU19PSzsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIEV4aXRPbkZhaWx1cmUoaHIsICJGYWlsZWQgdG8gY2hlY2sgdGhlIGRpY3Rpb25hcnkgb2Ygb3ZlcnJpZGFibGUgdmFyaWFibGVzLiIpOworCisgICAgICAgICAgICAgICAgICAgICAgICBociA9IFN0ckFsbG9jU3RyaW5nKCZzY3pWYXJpYWJsZVZhbHVlLCArK3B3YywgMCk7CisgICAgICAgICAgICAgICAgICAgICAgICBCYWxFeGl0T25GYWlsdXJlKGhyLCAiRmFpbGVkIHRvIGNvcHkgdmFyaWFibGUgdmFsdWUuIik7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICg6OlN0clRvSW50RXgoc2N6VmFyaWFibGVWYWx1ZSwgU1RJRl9ERUZBVUxULCAmdmFsdWUpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHIgPSBfZW5naW5lLT5TZXRWYXJpYWJsZU51bWVyaWMoc2N6VmFyaWFibGVOYW1lLCB2YWx1ZSk7CisgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyID0gX2VuZ2luZS0+U2V0VmFyaWFibGVTdHJpbmcoc2N6VmFyaWFibGVOYW1lLCBzY3pWYXJpYWJsZVZhbHVlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIEJhbEV4aXRPbkZhaWx1cmUoaHIsICJGYWlsZWQgdG8gc2V0IHZhcmlhYmxlLiIpOworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgQmFsTG9nKEJPT1RTVFJBUFBFUl9MT0dfTEVWRUxfU1RBTkRBUkQsICJJZ25vcmluZyB1bmtub3duIGFyZ3VtZW50OiAlbHMiLCBhcmd2W2ldKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgTEV4aXQ6CisgICAgICAgIGlmIChhcmd2KSB7CisgICAgICAgICAgICA6OkxvY2FsRnJlZShhcmd2KTsKKyAgICAgICAgfQorCisgICAgICAgIFJlbGVhc2VTdHIoc2N6VmFyaWFibGVOYW1lKTsKKyAgICAgICAgUmVsZWFzZVN0cihzY3pWYXJpYWJsZVZhbHVlKTsKKworICAgICAgICByZXR1cm4gaHI7CisgICAgfQorCisgICAgSFJFU1VMVCBMb2FkTG9jYWxpemF0aW9uKF9faW5feiBMUENXU1RSIHd6TW9kdWxlUGF0aCwgX19pbl96X29wdCBMUENXU1RSIHd6TGFuZ3VhZ2UpIHsKKyAgICAgICAgSFJFU1VMVCBociA9IFNfT0s7CisgICAgICAgIExQV1NUUiBzY3pMb2NQYXRoID0gbnVsbHB0cjsKKyAgICAgICAgTFBDV1NUUiB3ekxvY0ZpbGVOYW1lID0gTCJEZWZhdWx0Lnd4bCI7CisKKyAgICAgICAgaHIgPSBMb2NQcm9iZUZvckZpbGUod3pNb2R1bGVQYXRoLCB3ekxvY0ZpbGVOYW1lLCB3ekxhbmd1YWdlLCAmc2N6TG9jUGF0aCk7CisgICAgICAgIEJhbEV4aXRPbkZhaWx1cmUyKGhyLCAiRmFpbGVkIHRvIHByb2JlIGZvciBsb2MgZmlsZTogJWxzIGluIHBhdGg6ICVscyIsIHd6TG9jRmlsZU5hbWUsIHd6TW9kdWxlUGF0aCk7CisKKyAgICAgICAgaHIgPSBMb2NMb2FkRnJvbUZpbGUoc2N6TG9jUGF0aCwgJl93aXhMb2MpOworICAgICAgICBCYWxFeGl0T25GYWlsdXJlMShociwgIkZhaWxlZCB0byBsb2FkIGxvYyBmaWxlIGZyb20gcGF0aDogJWxzIiwgc2N6TG9jUGF0aCk7CisKKyAgICAgICAgaWYgKFdJWF9MT0NBTElaQVRJT05fTEFOR1VBR0VfTk9UX1NFVCAhPSBfd2l4TG9jLT5kd0xhbmdJZCkgeworICAgICAgICAgICAgOjpTZXRUaHJlYWRMb2NhbGUoX3dpeExvYy0+ZHdMYW5nSWQpOworICAgICAgICB9CisKKyAgICAgICAgaHIgPSBTdHJBbGxvY1N0cmluZygmX2NvbmZpcm1DbG9zZU1lc3NhZ2UsIEwiIyhsb2MuQ29uZmlybUNhbmNlbE1lc3NhZ2UpIiwgMCk7CisgICAgICAgIEV4aXRPbkZhaWx1cmUoaHIsICJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBjb25maXJtIG1lc3NhZ2UgbG9jIGlkZW50aWZpZXIuIik7CisKKyAgICAgICAgaHIgPSBMb2NMb2NhbGl6ZVN0cmluZyhfd2l4TG9jLCAmX2NvbmZpcm1DbG9zZU1lc3NhZ2UpOworICAgICAgICBCYWxFeGl0T25GYWlsdXJlMShociwgIkZhaWxlZCB0byBsb2NhbGl6ZSBjb25maXJtIGNsb3NlIG1lc3NhZ2U6ICVscyIsIF9jb25maXJtQ2xvc2VNZXNzYWdlKTsKKworICAgIExFeGl0OgorICAgICAgICBSZWxlYXNlU3RyKHNjekxvY1BhdGgpOworCisgICAgICAgIHJldHVybiBocjsKKyAgICB9CisKKworICAgIEhSRVNVTFQgTG9hZFRoZW1lKF9faW5feiBMUENXU1RSIHd6TW9kdWxlUGF0aCwgX19pbl96X29wdCBMUENXU1RSIHd6TGFuZ3VhZ2UpIHsKKyAgICAgICAgSFJFU1VMVCBociA9IFNfT0s7CisgICAgICAgIExQV1NUUiBzY3pUaGVtZVBhdGggPSBudWxscHRyOworICAgICAgICBMUENXU1RSIHd6VGhlbWVGaWxlTmFtZSA9IEwiRGVmYXVsdC50aG0iOworICAgICAgICBMUFdTVFIgc2N6Q2FwdGlvbiA9IG51bGxwdHI7CisKKyAgICAgICAgaHIgPSBMb2NQcm9iZUZvckZpbGUod3pNb2R1bGVQYXRoLCB3elRoZW1lRmlsZU5hbWUsIHd6TGFuZ3VhZ2UsICZzY3pUaGVtZVBhdGgpOworICAgICAgICBCYWxFeGl0T25GYWlsdXJlMihociwgIkZhaWxlZCB0byBwcm9iZSBmb3IgdGhlbWUgZmlsZTogJWxzIGluIHBhdGg6ICVscyIsIHd6VGhlbWVGaWxlTmFtZSwgd3pNb2R1bGVQYXRoKTsKKworICAgICAgICBociA9IFRoZW1lTG9hZEZyb21GaWxlKHNjelRoZW1lUGF0aCwgJl90aGVtZSk7CisgICAgICAgIEJhbEV4aXRPbkZhaWx1cmUxKGhyLCAiRmFpbGVkIHRvIGxvYWQgdGhlbWUgZnJvbSBwYXRoOiAlbHMiLCBzY3pUaGVtZVBhdGgpOworCisgICAgICAgIGhyID0gVGhlbWVMb2NhbGl6ZShfdGhlbWUsIF93aXhMb2MpOworICAgICAgICBCYWxFeGl0T25GYWlsdXJlMShociwgIkZhaWxlZCB0byBsb2NhbGl6ZSB0aGVtZTogJWxzIiwgc2N6VGhlbWVQYXRoKTsKKworICAgICAgICAvLyBVcGRhdGUgdGhlIGNhcHRpb24gaWYgdGhlcmUgYXJlIGFueSBmb3JtYXR0ZWQgc3RyaW5ncyBpbiBpdC4KKyAgICAgICAgLy8gSWYgdGhlIHdpeCBkZXZlbG9wZXIgaXMgc2hvd2luZyBhIGhpZGRlbiB2YXJpYWJsZSBpbiB0aGUgVUksIHRoZW4KKyAgICAgICAgLy8gb2J2aW91c2x5IHRoZXkgZG9uJ3QgY2FyZSBhYm91dCBrZWVwaW5nIGl0IHNhZmUgc28gZG9uJ3QgZ28gZG93biB0aGUKKyAgICAgICAgLy8gcmFiYml0IGhvbGUgb2YgbWFraW5nIHN1cmUgdGhhdCB0aGlzIGlzIHNlY3VyZWx5IGZyZWVkLgorICAgICAgICBociA9IEJhbEZvcm1hdFN0cmluZyhfdGhlbWUtPnNjekNhcHRpb24sICZzY3pDYXB0aW9uKTsKKyAgICAgICAgaWYgKFNVQ0NFRURFRChocikpIHsKKyAgICAgICAgICAgIFRoZW1lVXBkYXRlQ2FwdGlvbihfdGhlbWUsIHNjekNhcHRpb24pOworICAgICAgICB9CisKKyAgICBMRXhpdDoKKyAgICAgICAgUmVsZWFzZVN0cihzY3pDYXB0aW9uKTsKKyAgICAgICAgUmVsZWFzZVN0cihzY3pUaGVtZVBhdGgpOworCisgICAgICAgIHJldHVybiBocjsKKyAgICB9CisKKworICAgIEhSRVNVTFQgUGFyc2VPdmVycmlkYWJsZVZhcmlhYmxlc0Zyb21YbWwoX19pbiBJWE1MRE9NRG9jdW1lbnQqIHBpeGRNYW5pZmVzdCkgeworICAgICAgICBIUkVTVUxUIGhyID0gU19PSzsKKyAgICAgICAgSVhNTERPTU5vZGUqIHBOb2RlID0gbnVsbHB0cjsKKyAgICAgICAgSVhNTERPTU5vZGVMaXN0KiBwTm9kZXMgPSBudWxscHRyOworICAgICAgICBEV09SRCBjTm9kZXMgPSAwOworICAgICAgICBMUFdTVFIgc2N6ID0gbnVsbHB0cjsKKyAgICAgICAgQk9PTCBoaWRkZW4gPSBGQUxTRTsKKworICAgICAgICAvLyBnZXQgdGhlIGxpc3Qgb2YgdmFyaWFibGVzIHVzZXJzIGNhbiBvdmVycmlkZSBvbiB0aGUgY29tbWFuZCBsaW5lCisgICAgICAgIGhyID0gWG1sU2VsZWN0Tm9kZXMocGl4ZE1hbmlmZXN0LCBMIi9Cb290c3RyYXBwZXJBcHBsaWNhdGlvbkRhdGEvV2l4U3RkYmFPdmVycmlkYWJsZVZhcmlhYmxlIiwgJnBOb2Rlcyk7CisgICAgICAgIGlmIChTX0ZBTFNFID09IGhyKSB7CisgICAgICAgICAgICBFeGl0RnVuY3Rpb24xKGhyID0gU19PSyk7CisgICAgICAgIH0KKyAgICAgICAgRXhpdE9uRmFpbHVyZShociwgIkZhaWxlZCB0byBzZWxlY3Qgb3ZlcnJpZGFibGUgdmFyaWFibGUgbm9kZXMuIik7CisKKyAgICAgICAgaHIgPSBwTm9kZXMtPmdldF9sZW5ndGgoKGxvbmcqKSZjTm9kZXMpOworICAgICAgICBFeGl0T25GYWlsdXJlKGhyLCAiRmFpbGVkIHRvIGdldCBvdmVycmlkYWJsZSB2YXJpYWJsZSBub2RlIGNvdW50LiIpOworCisgICAgICAgIGlmIChjTm9kZXMpIHsKKyAgICAgICAgICAgIGhyID0gRGljdENyZWF0ZVN0cmluZ0xpc3QoJl9vdmVycmlkYWJsZVZhcmlhYmxlcywgMzIsIERJQ1RfRkxBR19OT05FKTsKKyAgICAgICAgICAgIEV4aXRPbkZhaWx1cmUoaHIsICJGYWlsZWQgdG8gY3JlYXRlIHRoZSBzdHJpbmcgZGljdGlvbmFyeS4iKTsKKworICAgICAgICAgICAgZm9yIChEV09SRCBpID0gMDsgaSA8IGNOb2RlczsgKytpKSB7CisgICAgICAgICAgICAgICAgaHIgPSBYbWxOZXh0RWxlbWVudChwTm9kZXMsICZwTm9kZSwgbnVsbHB0cik7CisgICAgICAgICAgICAgICAgRXhpdE9uRmFpbHVyZShociwgIkZhaWxlZCB0byBnZXQgbmV4dCBub2RlLiIpOworCisgICAgICAgICAgICAgICAgLy8gQE5hbWUKKyAgICAgICAgICAgICAgICBociA9IFhtbEdldEF0dHJpYnV0ZUV4KHBOb2RlLCBMIk5hbWUiLCAmc2N6KTsKKyAgICAgICAgICAgICAgICBFeGl0T25GYWlsdXJlKGhyLCAiRmFpbGVkIHRvIGdldCBATmFtZS4iKTsKKworICAgICAgICAgICAgICAgIGhyID0gWG1sR2V0WWVzTm9BdHRyaWJ1dGUocE5vZGUsIEwiSGlkZGVuIiwgJmhpZGRlbik7CisKKyAgICAgICAgICAgICAgICBpZiAoIWhpZGRlbikgeworICAgICAgICAgICAgICAgICAgICBociA9IERpY3RBZGRLZXkoX292ZXJyaWRhYmxlVmFyaWFibGVzLCBzY3opOworICAgICAgICAgICAgICAgICAgICBFeGl0T25GYWlsdXJlMShociwgIkZhaWxlZCB0byBhZGQgXCIlbHNcIiB0byB0aGUgc3RyaW5nIGRpY3Rpb25hcnkuIiwgc2N6KTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAvLyBwcmVwYXJlIG5leHQgaXRlcmF0aW9uCisgICAgICAgICAgICAgICAgUmVsZWFzZU51bGxPYmplY3QocE5vZGUpOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICBMRXhpdDoKKyAgICAgICAgUmVsZWFzZU9iamVjdChwTm9kZSk7CisgICAgICAgIFJlbGVhc2VPYmplY3QocE5vZGVzKTsKKyAgICAgICAgUmVsZWFzZVN0cihzY3opOworICAgICAgICByZXR1cm4gaHI7CisgICAgfQorCisKKyAgICAvLworICAgIC8vIEdldCB0aGUgZmlsZSB2ZXJzaW9uIG9mIHRoZSBib290c3RyYXBwZXIgYW5kIHJlY29yZCBpbiBib290c3RyYXBwZXIgbG9nIGZpbGUKKyAgICAvLworICAgIEhSRVNVTFQgR2V0QnVuZGxlRmlsZVZlcnNpb24oKSB7CisgICAgICAgIEhSRVNVTFQgaHIgPSBTX09LOworICAgICAgICBVTEFSR0VfSU5URUdFUiB1bGlWZXJzaW9uID0geyB9OworICAgICAgICBMUFdTVFIgc2N6Q3VycmVudFBhdGggPSBudWxscHRyOworCisgICAgICAgIGhyID0gUGF0aEZvckN1cnJlbnRQcm9jZXNzKCZzY3pDdXJyZW50UGF0aCwgbnVsbHB0cik7CisgICAgICAgIEJhbEV4aXRPbkZhaWx1cmUoaHIsICJGYWlsZWQgdG8gZ2V0IGJ1bmRsZSBwYXRoLiIpOworCisgICAgICAgIGhyID0gRmlsZVZlcnNpb24oc2N6Q3VycmVudFBhdGgsICZ1bGlWZXJzaW9uLkhpZ2hQYXJ0LCAmdWxpVmVyc2lvbi5Mb3dQYXJ0KTsKKyAgICAgICAgQmFsRXhpdE9uRmFpbHVyZShociwgIkZhaWxlZCB0byBnZXQgYnVuZGxlIGZpbGUgdmVyc2lvbi4iKTsKKworICAgICAgICBociA9IF9lbmdpbmUtPlNldFZhcmlhYmxlVmVyc2lvbihQWUJBX1ZBUklBQkxFX0JVTkRMRV9GSUxFX1ZFUlNJT04sIHVsaVZlcnNpb24uUXVhZFBhcnQpOworICAgICAgICBCYWxFeGl0T25GYWlsdXJlKGhyLCAiRmFpbGVkIHRvIHNldCBXaXhCdW5kbGVGaWxlVmVyc2lvbiB2YXJpYWJsZS4iKTsKKworICAgIExFeGl0OgorICAgICAgICBSZWxlYXNlU3RyKHNjekN1cnJlbnRQYXRoKTsKKworICAgICAgICByZXR1cm4gaHI7CisgICAgfQorCisKKyAgICAvLworICAgIC8vIENyZWF0ZU1haW5XaW5kb3cgLSBjcmVhdGVzIHRoZSBtYWluIGluc3RhbGwgd2luZG93LgorICAgIC8vCisgICAgSFJFU1VMVCBDcmVhdGVNYWluV2luZG93KCkgeworICAgICAgICBIUkVTVUxUIGhyID0gU19PSzsKKyAgICAgICAgSElDT04gaEljb24gPSByZWludGVycHJldF9jYXN0PEhJQ09OPihfdGhlbWUtPmhJY29uKTsKKyAgICAgICAgV05EQ0xBU1NXIHdjID0geyB9OworICAgICAgICBEV09SRCBkd1dpbmRvd1N0eWxlID0gMDsKKyAgICAgICAgaW50IHggPSBDV19VU0VERUZBVUxUOworICAgICAgICBpbnQgeSA9IENXX1VTRURFRkFVTFQ7CisgICAgICAgIFBPSU5UIHB0Q3Vyc29yID0geyB9OworICAgICAgICBITU9OSVRPUiBoTW9uaXRvciA9IG51bGxwdHI7CisgICAgICAgIE1PTklUT1JJTkZPIG1pID0geyB9OworCisgICAgICAgIC8vIElmIHRoZSB0aGVtZSBkaWQgbm90IHByb3ZpZGUgYW4gaWNvbiwgdHJ5IHVzaW5nIHRoZSBpY29uIGZyb20gdGhlIGJ1bmRsZSBlbmdpbmUuCisgICAgICAgIGlmICghaEljb24pIHsKKyAgICAgICAgICAgIEhNT0RVTEUgaEJvb3RzdHJhcHBlckVuZ2luZSA9IDo6R2V0TW9kdWxlSGFuZGxlVyhudWxscHRyKTsKKyAgICAgICAgICAgIGlmIChoQm9vdHN0cmFwcGVyRW5naW5lKSB7CisgICAgICAgICAgICAgICAgaEljb24gPSA6OkxvYWRJY29uVyhoQm9vdHN0cmFwcGVyRW5naW5lLCBNQUtFSU5UUkVTT1VSQ0VXKDEpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIC8vIFJlZ2lzdGVyIHRoZSB3aW5kb3cgY2xhc3MgYW5kIGNyZWF0ZSB0aGUgd2luZG93LgorICAgICAgICB3Yy5scGZuV25kUHJvYyA9IFB5dGhvbkJvb3RzdHJhcHBlckFwcGxpY2F0aW9uOjpXbmRQcm9jOworICAgICAgICB3Yy5oSW5zdGFuY2UgPSBfaE1vZHVsZTsKKyAgICAgICAgd2MuaEljb24gPSBoSWNvbjsKKyAgICAgICAgd2MuaEN1cnNvciA9IDo6TG9hZEN1cnNvclcobnVsbHB0ciwgKExQQ1dTVFIpSURDX0FSUk9XKTsKKyAgICAgICAgd2MuaGJyQmFja2dyb3VuZCA9IF90aGVtZS0+cmdGb250c1tfdGhlbWUtPmR3Rm9udElkXS5oQmFja2dyb3VuZDsKKyAgICAgICAgd2MubHBzek1lbnVOYW1lID0gbnVsbHB0cjsKKyAgICAgICAgd2MubHBzekNsYXNzTmFtZSA9IFBZQkFfV0lORE9XX0NMQVNTOworICAgICAgICBpZiAoITo6UmVnaXN0ZXJDbGFzc1coJndjKSkgeworICAgICAgICAgICAgRXhpdFdpdGhMYXN0RXJyb3IoaHIsICJGYWlsZWQgdG8gcmVnaXN0ZXIgd2luZG93LiIpOworICAgICAgICB9CisKKyAgICAgICAgX3JlZ2lzdGVyZWQgPSBUUlVFOworCisgICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgd2luZG93IHN0eWxlIGJhc2VkIG9uIHRoZSB0aGVtZSBzdHlsZSBhbmQgY29tbWFuZCBkaXNwbGF5IHZhbHVlLgorICAgICAgICBkd1dpbmRvd1N0eWxlID0gX3RoZW1lLT5kd1N0eWxlOworICAgICAgICBpZiAoQk9PVFNUUkFQUEVSX0RJU1BMQVlfTk9ORSA+PSBfY29tbWFuZC5kaXNwbGF5KSB7CisgICAgICAgICAgICBkd1dpbmRvd1N0eWxlICY9IH5XU19WSVNJQkxFOworICAgICAgICB9CisKKyAgICAgICAgLy8gRG9uJ3Qgc2hvdyB0aGUgd2luZG93IGlmIHRoZXJlIGlzIGEgc3BsYXNoIHNjcmVlbiAoaXQgd2lsbCBiZSBtYWRlIHZpc2libGUgd2hlbiB0aGUgc3BsYXNoIHNjcmVlbiBpcyBoaWRkZW4pCisgICAgICAgIGlmICg6OklzV2luZG93KF9jb21tYW5kLmh3bmRTcGxhc2hTY3JlZW4pKSB7CisgICAgICAgICAgICBkd1dpbmRvd1N0eWxlICY9IH5XU19WSVNJQkxFOworICAgICAgICB9CisKKyAgICAgICAgLy8gQ2VudGVyIHRoZSB3aW5kb3cgb24gdGhlIG1vbml0b3Igd2l0aCB0aGUgbW91c2UuCisgICAgICAgIGlmICg6OkdldEN1cnNvclBvcygmcHRDdXJzb3IpKSB7CisgICAgICAgICAgICBoTW9uaXRvciA9IDo6TW9uaXRvckZyb21Qb2ludChwdEN1cnNvciwgTU9OSVRPUl9ERUZBVUxUVE9ORUFSRVNUKTsKKyAgICAgICAgICAgIGlmIChoTW9uaXRvcikgeworICAgICAgICAgICAgICAgIG1pLmNiU2l6ZSA9IHNpemVvZihtaSk7CisgICAgICAgICAgICAgICAgaWYgKDo6R2V0TW9uaXRvckluZm9XKGhNb25pdG9yLCAmbWkpKSB7CisgICAgICAgICAgICAgICAgICAgIHggPSBtaS5yY1dvcmsubGVmdCArIChtaS5yY1dvcmsucmlnaHQgLSBtaS5yY1dvcmsubGVmdCAtIF90aGVtZS0+bldpZHRoKSAvIDI7CisgICAgICAgICAgICAgICAgICAgIHkgPSBtaS5yY1dvcmsudG9wICsgKG1pLnJjV29yay5ib3R0b20gLSBtaS5yY1dvcmsudG9wIC0gX3RoZW1lLT5uSGVpZ2h0KSAvIDI7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgX2hXbmQgPSA6OkNyZWF0ZVdpbmRvd0V4VygKKyAgICAgICAgICAgIDAsCisgICAgICAgICAgICB3Yy5scHN6Q2xhc3NOYW1lLAorICAgICAgICAgICAgX3RoZW1lLT5zY3pDYXB0aW9uLAorICAgICAgICAgICAgZHdXaW5kb3dTdHlsZSwKKyAgICAgICAgICAgIHgsCisgICAgICAgICAgICB5LAorICAgICAgICAgICAgX3RoZW1lLT5uV2lkdGgsCisgICAgICAgICAgICBfdGhlbWUtPm5IZWlnaHQsCisgICAgICAgICAgICBIV05EX0RFU0tUT1AsCisgICAgICAgICAgICBudWxscHRyLAorICAgICAgICAgICAgX2hNb2R1bGUsCisgICAgICAgICAgICB0aGlzCisgICAgICAgICk7CisgICAgICAgIEV4aXRPbk51bGxXaXRoTGFzdEVycm9yKF9oV25kLCBociwgIkZhaWxlZCB0byBjcmVhdGUgd2luZG93LiIpOworCisgICAgICAgIGhyID0gU19PSzsKKworICAgIExFeGl0OgorICAgICAgICByZXR1cm4gaHI7CisgICAgfQorCisKKyAgICAvLworICAgIC8vIEluaXRpYWxpemVUYXNrYmFyQnV0dG9uIC0gaW5pdGlhbGl6ZXMgdGFza2JhciBidXR0b24gZm9yIHByb2dyZXNzLgorICAgIC8vCisgICAgdm9pZCBJbml0aWFsaXplVGFza2JhckJ1dHRvbigpIHsKKyAgICAgICAgSFJFU1VMVCBociA9IFNfT0s7CisKKyAgICAgICAgaHIgPSA6OkNvQ3JlYXRlSW5zdGFuY2UoQ0xTSURfVGFza2Jhckxpc3QsIG51bGxwdHIsIENMU0NUWF9BTEwsIF9fdXVpZG9mKElUYXNrYmFyTGlzdDMpLCByZWludGVycHJldF9jYXN0PExQVk9JRCo+KCZfdGFza2Jhckxpc3QpKTsKKyAgICAgICAgaWYgKFJFR0RCX0VfQ0xBU1NOT1RSRUcgPT0gaHIpIHsKKyAgICAgICAgICAgIC8vIG5vdCBzdXBwb3J0ZWQgYmVmb3JlIFdpbmRvd3MgNworICAgICAgICAgICAgRXhpdEZ1bmN0aW9uMShociA9IFNfT0spOworICAgICAgICB9CisgICAgICAgIEJhbEV4aXRPbkZhaWx1cmUoaHIsICJGYWlsZWQgdG8gY3JlYXRlIElUYXNrYmFyTGlzdDMuIENvbnRpbnVpbmcuIik7CisKKyAgICAgICAgX3Rhc2tiYXJCdXR0b25DcmVhdGVkTWVzc2FnZSA9IDo6UmVnaXN0ZXJXaW5kb3dNZXNzYWdlVyhMIlRhc2tiYXJCdXR0b25DcmVhdGVkIik7CisgICAgICAgIEJhbEV4aXRPbk51bGxXaXRoTGFzdEVycm9yKF90YXNrYmFyQnV0dG9uQ3JlYXRlZE1lc3NhZ2UsIGhyLCAiRmFpbGVkIHRvIGdldCBUYXNrYmFyQnV0dG9uQ3JlYXRlZCBtZXNzYWdlLiBDb250aW51aW5nLiIpOworCisgICAgTEV4aXQ6CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvLworICAgIC8vIERlc3Ryb3lNYWluV2luZG93IC0gY2xlYW4gdXAgYWxsIHRoZSB3aW5kb3cgcmVnaXN0cmF0aW9uLgorICAgIC8vCisgICAgdm9pZCBEZXN0cm95TWFpbldpbmRvdygpIHsKKyAgICAgICAgaWYgKDo6SXNXaW5kb3coX2hXbmQpKSB7CisgICAgICAgICAgICA6OkRlc3Ryb3lXaW5kb3coX2hXbmQpOworICAgICAgICAgICAgX2hXbmQgPSBudWxscHRyOworICAgICAgICAgICAgX3Rhc2tiYXJCdXR0b25PSyA9IEZBTFNFOworICAgICAgICB9CisKKyAgICAgICAgaWYgKF9yZWdpc3RlcmVkKSB7CisgICAgICAgICAgICA6OlVucmVnaXN0ZXJDbGFzc1coUFlCQV9XSU5ET1dfQ0xBU1MsIF9oTW9kdWxlKTsKKyAgICAgICAgICAgIF9yZWdpc3RlcmVkID0gRkFMU0U7CisgICAgICAgIH0KKyAgICB9CisKKworICAgIC8vCisgICAgLy8gV25kUHJvYyAtIHN0YW5kYXJkIHdpbmRvd3MgbWVzc2FnZSBoYW5kbGVyLgorICAgIC8vCisgICAgc3RhdGljIExSRVNVTFQgQ0FMTEJBQ0sgV25kUHJvYygKKyAgICAgICAgX19pbiBIV05EIGhXbmQsCisgICAgICAgIF9faW4gVUlOVCB1TXNnLAorICAgICAgICBfX2luIFdQQVJBTSB3UGFyYW0sCisgICAgICAgIF9faW4gTFBBUkFNIGxQYXJhbQorICAgICkgeworI3ByYWdtYSB3YXJuaW5nKHN1cHByZXNzOjQzMTIpCisgICAgICAgIGF1dG8gcEJBID0gcmVpbnRlcnByZXRfY2FzdDxQeXRob25Cb290c3RyYXBwZXJBcHBsaWNhdGlvbio+KDo6R2V0V2luZG93TG9uZ1B0clcoaFduZCwgR1dMUF9VU0VSREFUQSkpOworCisgICAgICAgIHN3aXRjaCAodU1zZykgeworICAgICAgICBjYXNlIFdNX05DQ1JFQVRFOiB7CisgICAgICAgICAgICBMUENSRUFURVNUUlVDVCBscGNzID0gcmVpbnRlcnByZXRfY2FzdDxMUENSRUFURVNUUlVDVD4obFBhcmFtKTsKKyAgICAgICAgICAgIHBCQSA9IHJlaW50ZXJwcmV0X2Nhc3Q8UHl0aG9uQm9vdHN0cmFwcGVyQXBwbGljYXRpb24qPihscGNzLT5scENyZWF0ZVBhcmFtcyk7CisjcHJhZ21hIHdhcm5pbmcoc3VwcHJlc3M6NDI0NCkKKyAgICAgICAgICAgIDo6U2V0V2luZG93TG9uZ1B0clcoaFduZCwgR1dMUF9VU0VSREFUQSwgcmVpbnRlcnByZXRfY2FzdDxMT05HX1BUUj4ocEJBKSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGNhc2UgV01fTkNERVNUUk9ZOiB7CisgICAgICAgICAgICBMUkVTVUxUIGxyZXMgPSBUaGVtZURlZldpbmRvd1Byb2MocEJBID8gcEJBLT5fdGhlbWUgOiBudWxscHRyLCBoV25kLCB1TXNnLCB3UGFyYW0sIGxQYXJhbSk7CisgICAgICAgICAgICA6OlNldFdpbmRvd0xvbmdQdHJXKGhXbmQsIEdXTFBfVVNFUkRBVEEsIDApOworICAgICAgICAgICAgcmV0dXJuIGxyZXM7CisgICAgICAgIH0KKworICAgICAgICBjYXNlIFdNX0NSRUFURTogCisgICAgICAgICAgICBpZiAoIXBCQS0+T25DcmVhdGUoaFduZCkpIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIFdNX1FVRVJZRU5EU0VTU0lPTjoKKyAgICAgICAgICAgIHJldHVybiBJRENBTkNFTCAhPSBwQkEtPk9uU3lzdGVtU2h1dGRvd24oc3RhdGljX2Nhc3Q8RFdPUkQ+KGxQYXJhbSksIElEQ0FOQ0VMKTsKKworICAgICAgICBjYXNlIFdNX0NMT1NFOgorICAgICAgICAgICAgLy8gSWYgdGhlIHVzZXIgY2hvc2Ugbm90IHRvIGNsb3NlLCBkbyAqbm90KiBsZXQgdGhlIGRlZmF1bHQgd2luZG93IHByb2MgaGFuZGxlIHRoZSBtZXNzYWdlLgorICAgICAgICAgICAgaWYgKCFwQkEtPk9uQ2xvc2UoKSkgeworICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBXTV9ERVNUUk9ZOgorICAgICAgICAgICAgOjpQb3N0UXVpdE1lc3NhZ2UoMCk7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIFdNX1BBSU5UOiBfX2ZhbGx0aHJvdWdoOworICAgICAgICBjYXNlIFdNX0VSQVNFQktHTkQ6CisgICAgICAgICAgICBpZiAocEJBICYmIHBCQS0+X3N1cHByZXNzUGFpbnQpIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gVFJVRTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgV01fUFlCQV9TSE9XX0hFTFA6CisgICAgICAgICAgICBwQkEtPk9uU2hvd0hlbHAoKTsKKyAgICAgICAgICAgIHJldHVybiAwOworCisgICAgICAgIGNhc2UgV01fUFlCQV9ERVRFQ1RfUEFDS0FHRVM6CisgICAgICAgICAgICBwQkEtPk9uRGV0ZWN0KCk7CisgICAgICAgICAgICByZXR1cm4gMDsKKworICAgICAgICBjYXNlIFdNX1BZQkFfUExBTl9QQUNLQUdFUzoKKyAgICAgICAgICAgIHBCQS0+T25QbGFuKHN0YXRpY19jYXN0PEJPT1RTVFJBUFBFUl9BQ1RJT04+KGxQYXJhbSkpOworICAgICAgICAgICAgcmV0dXJuIDA7CisKKyAgICAgICAgY2FzZSBXTV9QWUJBX0FQUExZX1BBQ0tBR0VTOgorICAgICAgICAgICAgcEJBLT5PbkFwcGx5KCk7CisgICAgICAgICAgICByZXR1cm4gMDsKKworICAgICAgICBjYXNlIFdNX1BZQkFfQ0hBTkdFX1NUQVRFOgorICAgICAgICAgICAgcEJBLT5PbkNoYW5nZVN0YXRlKHN0YXRpY19jYXN0PFBZQkFfU1RBVEU+KGxQYXJhbSkpOworICAgICAgICAgICAgcmV0dXJuIDA7CisKKyAgICAgICAgY2FzZSBXTV9QWUJBX1NIT1dfRkFJTFVSRToKKyAgICAgICAgICAgIHBCQS0+T25TaG93RmFpbHVyZSgpOworICAgICAgICAgICAgcmV0dXJuIDA7CisKKyAgICAgICAgY2FzZSBXTV9DT01NQU5EOgorICAgICAgICAgICAgc3dpdGNoIChMT1dPUkQod1BhcmFtKSkgeworICAgICAgICAgICAgLy8gQ3VzdG9taXplIGNvbW1hbmRzCisgICAgICAgICAgICAvLyBTdWNjZXNzL2ZhaWx1cmUgY29tbWFuZHMKKyAgICAgICAgICAgIGNhc2UgSURfTEFVTkNIX0JVVFRPTjoKKyAgICAgICAgICAgICAgICBwQkEtPk9uQ2xpY2tMYXVuY2hCdXR0b24oKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKworICAgICAgICAgICAgY2FzZSBJRF9TVUNDRVNTX1JFU1RBUlRfQlVUVE9OOiBfX2ZhbGx0aHJvdWdoOworICAgICAgICAgICAgY2FzZSBJRF9GQUlMVVJFX1JFU1RBUlRfQlVUVE9OOgorICAgICAgICAgICAgICAgIHBCQS0+T25DbGlja1Jlc3RhcnRCdXR0b24oKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKworICAgICAgICAgICAgY2FzZSBJRENBTkNFTDogX19mYWxsdGhyb3VnaDsKKyAgICAgICAgICAgIGNhc2UgSURfSU5TVEFMTF9DQU5DRUxfQlVUVE9OOiBfX2ZhbGx0aHJvdWdoOworICAgICAgICAgICAgY2FzZSBJRF9DVVNUT00xX0NBTkNFTF9CVVRUT046IF9fZmFsbHRocm91Z2g7CisgICAgICAgICAgICBjYXNlIElEX0NVU1RPTTJfQ0FOQ0VMX0JVVFRPTjogX19mYWxsdGhyb3VnaDsKKyAgICAgICAgICAgIGNhc2UgSURfTU9ESUZZX0NBTkNFTF9CVVRUT046IF9fZmFsbHRocm91Z2g7CisgICAgICAgICAgICBjYXNlIElEX1BST0dSRVNTX0NBTkNFTF9CVVRUT046IF9fZmFsbHRocm91Z2g7CisgICAgICAgICAgICBjYXNlIElEX1NVQ0NFU1NfQ0FOQ0VMX0JVVFRPTjogX19mYWxsdGhyb3VnaDsKKyAgICAgICAgICAgIGNhc2UgSURfRkFJTFVSRV9DQU5DRUxfQlVUVE9OOiBfX2ZhbGx0aHJvdWdoOworICAgICAgICAgICAgY2FzZSBJRF9DTE9TRV9CVVRUT046CisgICAgICAgICAgICAgICAgcEJBLT5PbkNvbW1hbmQoSURfQ0xPU0VfQlVUVE9OKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKworICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICBwQkEtPk9uQ29tbWFuZCgoQ09OVFJPTF9JRClMT1dPUkQod1BhcmFtKSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIFdNX05PVElGWToKKyAgICAgICAgICAgIGlmIChsUGFyYW0pIHsKKyAgICAgICAgICAgICAgICBMUE5NSERSIHBubWhkciA9IHJlaW50ZXJwcmV0X2Nhc3Q8TFBOTUhEUj4obFBhcmFtKTsKKyAgICAgICAgICAgICAgICBzd2l0Y2ggKHBubWhkci0+Y29kZSkgeworICAgICAgICAgICAgICAgIGNhc2UgTk1fQ0xJQ0s6IF9fZmFsbHRocm91Z2g7CisgICAgICAgICAgICAgICAgY2FzZSBOTV9SRVRVUk46CisgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoc3RhdGljX2Nhc3Q8RFdPUkQ+KHBubWhkci0+aWRGcm9tKSkgeworICAgICAgICAgICAgICAgICAgICBjYXNlIElEX0ZBSUxVUkVfTE9HRklMRV9MSU5LOgorICAgICAgICAgICAgICAgICAgICAgICAgcEJBLT5PbkNsaWNrTG9nRmlsZUxpbmsoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBXTV9DVExDT0xPUkJUTjoKKyAgICAgICAgICAgIGlmIChwQkEpIHsKKyAgICAgICAgICAgICAgICBIV05EIGJ1dHRvbiA9IChIV05EKWxQYXJhbTsKKyAgICAgICAgICAgICAgICBEV09SRCBzdHlsZSA9IEdldFdpbmRvd0xvbmcoYnV0dG9uLCBHV0xfU1RZTEUpICYgQlNfVFlQRU1BU0s7CisgICAgICAgICAgICAgICAgaWYgKHN0eWxlID09IEJTX0NPTU1BTkRMSU5LIHx8IHN0eWxlID09IEJTX0RFRkNPTU1BTkRMSU5LKSB7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiAoTFJFU1VMVClwQkEtPl90aGVtZS0+cmdGb250c1twQkEtPl90aGVtZS0+ZHdGb250SWRdLmhCYWNrZ3JvdW5kOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgaWYgKHBCQSAmJiBwQkEtPl90YXNrYmFyTGlzdCAmJiB1TXNnID09IHBCQS0+X3Rhc2tiYXJCdXR0b25DcmVhdGVkTWVzc2FnZSkgeworICAgICAgICAgICAgcEJBLT5fdGFza2JhckJ1dHRvbk9LID0gVFJVRTsKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIFRoZW1lRGVmV2luZG93UHJvYyhwQkEgPyBwQkEtPl90aGVtZSA6IG51bGxwdHIsIGhXbmQsIHVNc2csIHdQYXJhbSwgbFBhcmFtKTsKKyAgICB9CisKKyAgICAvLworICAgIC8vIE9uQ3JlYXRlIC0gZmluaXNoZXMgbG9hZGluZyB0aGUgdGhlbWUuCisgICAgLy8KKyAgICBCT09MIE9uQ3JlYXRlKF9faW4gSFdORCBoV25kKSB7CisgICAgICAgIEhSRVNVTFQgaHIgPSBTX09LOworCisgICAgICAgIGhyID0gVGhlbWVMb2FkQ29udHJvbHMoX3RoZW1lLCBoV25kLCBDT05UUk9MX0lEX05BTUVTLCBjb3VudG9mKENPTlRST0xfSURfTkFNRVMpKTsKKyAgICAgICAgQmFsRXhpdE9uRmFpbHVyZShociwgIkZhaWxlZCB0byBsb2FkIHRoZW1lIGNvbnRyb2xzLiIpOworCisgICAgICAgIENfQVNTRVJUKENPVU5UX1BBR0UgPT0gY291bnRvZihQQUdFX05BTUVTKSk7CisgICAgICAgIENfQVNTRVJUKGNvdW50b2YoX3BhZ2VJZHMpID09IGNvdW50b2YoUEFHRV9OQU1FUykpOworCisgICAgICAgIFRoZW1lR2V0UGFnZUlkcyhfdGhlbWUsIFBBR0VfTkFNRVMsIF9wYWdlSWRzLCBjb3VudG9mKF9wYWdlSWRzKSk7CisKKyAgICAgICAgLy8gSW5pdGlhbGl6ZSB0aGUgdGV4dCBvbiBhbGwgImFwcGxpY2F0aW9uIiAobm9uLXBhZ2UpIGNvbnRyb2xzLgorICAgICAgICBmb3IgKERXT1JEIGkgPSAwOyBpIDwgX3RoZW1lLT5jQ29udHJvbHM7ICsraSkgeworICAgICAgICAgICAgVEhFTUVfQ09OVFJPTCogcENvbnRyb2wgPSBfdGhlbWUtPnJnQ29udHJvbHMgKyBpOworICAgICAgICAgICAgTFBXU1RSIHRleHQgPSBudWxscHRyOworICAgICAgICAgICAgTFBXU1RSIG5hbWUgPSBudWxscHRyOworICAgICAgICAgICAgTE9DX1NUUklORyAqbG9jVGV4dCA9IG51bGxwdHI7CisKKyAgICAgICAgICAgIC8vIElmIGEgY29tbWFuZCBsaW5rIGhhcyBhIG5vdGUsIHRoZW4gYWRkIGl0LgorICAgICAgICAgICAgaWYgKChwQ29udHJvbC0+ZHdTdHlsZSAmIEJTX1RZUEVNQVNLKSA9PSBCU19DT01NQU5ETElOSyB8fAorICAgICAgICAgICAgICAgIChwQ29udHJvbC0+ZHdTdHlsZSAmIEJTX1RZUEVNQVNLKSA9PSBCU19ERUZDT01NQU5ETElOSykgeworICAgICAgICAgICAgICAgIGhyID0gU3RyQWxsb2NGb3JtYXR0ZWQoJm5hbWUsIEwiIyhsb2MuJWxzTm90ZSkiLCBwQ29udHJvbC0+c2N6TmFtZSk7CisgICAgICAgICAgICAgICAgaWYgKFNVQ0NFRURFRChocikpIHsKKyAgICAgICAgICAgICAgICAgICAgaHIgPSBMb2NHZXRTdHJpbmcoX3dpeExvYywgbmFtZSwgJmxvY1RleHQpOworICAgICAgICAgICAgICAgICAgICBSZWxlYXNlU3RyKG5hbWUpOworICAgICAgICAgICAgICAgICAgICBpZiAoU1VDQ0VFREVEKGhyKSAmJiBsb2NUZXh0ICYmIGxvY1RleHQtPnd6VGV4dCAmJiBsb2NUZXh0LT53elRleHRbMF0pIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGhyID0gQmFsRm9ybWF0U3RyaW5nKGxvY1RleHQtPnd6VGV4dCwgJnRleHQpOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFNVQ0NFRURFRChocikgJiYgdGV4dCAmJiB0ZXh0WzBdKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlbWVTZW5kQ29udHJvbE1lc3NhZ2UoX3RoZW1lLCBwQ29udHJvbC0+d0lkLCBCQ01fU0VUTk9URSwgMCwgKExQQVJBTSl0ZXh0KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWxlYXNlU3RyKHRleHQpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQgPSBudWxscHRyOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGhyID0gU19PSzsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKCFwQ29udHJvbC0+d1BhZ2VJZCAmJiBwQ29udHJvbC0+c2N6VGV4dCAmJiAqcENvbnRyb2wtPnNjelRleHQpIHsKKyAgICAgICAgICAgICAgICBIUkVTVUxUIGhyRm9ybWF0OworICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIC8vIElmIHRoZSB3aXggZGV2ZWxvcGVyIGlzIHNob3dpbmcgYSBoaWRkZW4gdmFyaWFibGUgaW4gdGhlIFVJLAorICAgICAgICAgICAgICAgIC8vIHRoZW4gb2J2aW91c2x5IHRoZXkgZG9uJ3QgY2FyZSBhYm91dCBrZWVwaW5nIGl0IHNhZmUgc28gZG9uJ3QKKyAgICAgICAgICAgICAgICAvLyBnbyBkb3duIHRoZSByYWJiaXQgaG9sZSBvZiBtYWtpbmcgc3VyZSB0aGF0IHRoaXMgaXMgc2VjdXJlbHkKKyAgICAgICAgICAgICAgICAvLyBmcmVlZC4KKyAgICAgICAgICAgICAgICBockZvcm1hdCA9IEJhbEZvcm1hdFN0cmluZyhwQ29udHJvbC0+c2N6VGV4dCwgJnRleHQpOworICAgICAgICAgICAgICAgIGlmIChTVUNDRUVERUQoaHJGb3JtYXQpKSB7CisgICAgICAgICAgICAgICAgICAgIFRoZW1lU2V0VGV4dENvbnRyb2woX3RoZW1lLCBwQ29udHJvbC0+d0lkLCB0ZXh0KTsKKyAgICAgICAgICAgICAgICAgICAgUmVsZWFzZVN0cih0ZXh0KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgIExFeGl0OgorICAgICAgICByZXR1cm4gU1VDQ0VFREVEKGhyKTsKKyAgICB9CisKKworICAgIC8vCisgICAgLy8gT25TaG93RmFpbHVyZSAtIGRpc3BsYXkgdGhlIGZhaWx1cmUgcGFnZS4KKyAgICAvLworICAgIHZvaWQgT25TaG93RmFpbHVyZSgpIHsKKyAgICAgICAgU2V0U3RhdGUoUFlCQV9TVEFURV9GQUlMRUQsIFNfT0spOworCisgICAgICAgIC8vIElmIHRoZSBVSSBzaG91bGQgYmUgdmlzaWJsZSwgZGlzcGxheSBpdCBub3cgYW5kIGhpZGUgdGhlIHNwbGFzaCBzY3JlZW4KKyAgICAgICAgaWYgKEJPT1RTVFJBUFBFUl9ESVNQTEFZX05PTkUgPCBfY29tbWFuZC5kaXNwbGF5KSB7CisgICAgICAgICAgICA6OlNob3dXaW5kb3coX3RoZW1lLT5od25kUGFyZW50LCBTV19TSE9XKTsKKyAgICAgICAgfQorCisgICAgICAgIF9lbmdpbmUtPkNsb3NlU3BsYXNoU2NyZWVuKCk7CisKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworCisgICAgLy8KKyAgICAvLyBPblNob3dIZWxwIC0gZGlzcGxheSB0aGUgaGVscCBwYWdlLgorICAgIC8vCisgICAgdm9pZCBPblNob3dIZWxwKCkgeworICAgICAgICBTZXRTdGF0ZShQWUJBX1NUQVRFX0hFTFAsIFNfT0spOworCisgICAgICAgIC8vIElmIHRoZSBVSSBzaG91bGQgYmUgdmlzaWJsZSwgZGlzcGxheSBpdCBub3cgYW5kIGhpZGUgdGhlIHNwbGFzaCBzY3JlZW4KKyAgICAgICAgaWYgKEJPT1RTVFJBUFBFUl9ESVNQTEFZX05PTkUgPCBfY29tbWFuZC5kaXNwbGF5KSB7CisgICAgICAgICAgICA6OlNob3dXaW5kb3coX3RoZW1lLT5od25kUGFyZW50LCBTV19TSE9XKTsKKyAgICAgICAgfQorCisgICAgICAgIF9lbmdpbmUtPkNsb3NlU3BsYXNoU2NyZWVuKCk7CisKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworCisgICAgLy8KKyAgICAvLyBPbkRldGVjdCAtIHN0YXJ0IHRoZSBwcm9jZXNzaW5nIG9mIHBhY2thZ2VzLgorICAgIC8vCisgICAgdm9pZCBPbkRldGVjdCgpIHsKKyAgICAgICAgSFJFU1VMVCBociA9IFNfT0s7CisKKyAgICAgICAgaWYgKF9iYUZ1bmN0aW9uKSB7CisgICAgICAgICAgICBCYWxMb2coQk9PVFNUUkFQUEVSX0xPR19MRVZFTF9TVEFOREFSRCwgIlJ1bm5pbmcgZGV0ZWN0IEJBIGZ1bmN0aW9uIik7CisgICAgICAgICAgICBociA9IF9iYUZ1bmN0aW9uLT5PbkRldGVjdCgpOworICAgICAgICAgICAgQmFsRXhpdE9uRmFpbHVyZShociwgIkZhaWxlZCBjYWxsaW5nIGRldGVjdCBCQSBmdW5jdGlvbi4iKTsKKyAgICAgICAgfQorCisgICAgICAgIFNldFN0YXRlKFBZQkFfU1RBVEVfREVURUNUSU5HLCBocik7CisKKyAgICAgICAgLy8gSWYgdGhlIFVJIHNob3VsZCBiZSB2aXNpYmxlLCBkaXNwbGF5IGl0IG5vdyBhbmQgaGlkZSB0aGUgc3BsYXNoIHNjcmVlbgorICAgICAgICBpZiAoQk9PVFNUUkFQUEVSX0RJU1BMQVlfTk9ORSA8IF9jb21tYW5kLmRpc3BsYXkpIHsKKyAgICAgICAgICAgIDo6U2hvd1dpbmRvdyhfdGhlbWUtPmh3bmRQYXJlbnQsIFNXX1NIT1cpOworICAgICAgICB9CisKKyAgICAgICAgX2VuZ2luZS0+Q2xvc2VTcGxhc2hTY3JlZW4oKTsKKworICAgICAgICAvLyBUZWxsIHRoZSBjb3JlIHdlJ3JlIHJlYWR5IGZvciB0aGUgcGFja2FnZXMgdG8gYmUgcHJvY2Vzc2VkIG5vdy4KKyAgICAgICAgaHIgPSBfZW5naW5lLT5EZXRlY3QoKTsKKyAgICAgICAgQmFsRXhpdE9uRmFpbHVyZShociwgIkZhaWxlZCB0byBzdGFydCBkZXRlY3RpbmcgY2hhaW4uIik7CisKKyAgICBMRXhpdDoKKyAgICAgICAgaWYgKEZBSUxFRChocikpIHsKKyAgICAgICAgICAgIFNldFN0YXRlKFBZQkFfU1RBVEVfREVURUNUSU5HLCBocik7CisgICAgICAgIH0KKworICAgICAgICByZXR1cm47CisgICAgfQorCisKKyAgICAvLworICAgIC8vIE9uUGxhbiAtIHBsYW4gdGhlIGRldGVjdGVkIGNoYW5nZXMuCisgICAgLy8KKyAgICB2b2lkIE9uUGxhbihfX2luIEJPT1RTVFJBUFBFUl9BQ1RJT04gYWN0aW9uKSB7CisgICAgICAgIEhSRVNVTFQgaHIgPSBTX09LOworICAgICAgICBMUENXU1RSIGxpa2VJbnN0YWxsaW5nID0gbnVsbHB0cjsKKyAgICAgICAgTFBDV1NUUiBsaWtlSW5zdGFsbGF0aW9uID0gbnVsbHB0cjsKKworICAgICAgICBfcGxhbm5lZEFjdGlvbiA9IGFjdGlvbjsKKworICAgICAgICBzd2l0Y2ggKGFjdGlvbikgeworICAgICAgICBjYXNlIEJPT1RTVFJBUFBFUl9BQ1RJT05fSU5TVEFMTDoKKyAgICAgICAgICAgIGxpa2VJbnN0YWxsaW5nID0gTCJJbnN0YWxsaW5nIjsKKyAgICAgICAgICAgIGxpa2VJbnN0YWxsYXRpb24gPSBMIkluc3RhbGxhdGlvbiI7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBCT09UU1RSQVBQRVJfQUNUSU9OX01PRElGWToKKyAgICAgICAgICAgIC8vIEZvciBtb2RpZnksIHdlIGFjdHVhbGx5IHdhbnQgdG8gcGFzcyBJTlNUQUxMCisgICAgICAgICAgICBhY3Rpb24gPSBCT09UU1RSQVBQRVJfQUNUSU9OX0lOU1RBTEw7CisgICAgICAgICAgICBsaWtlSW5zdGFsbGluZyA9IEwiTW9kaWZ5aW5nIjsKKyAgICAgICAgICAgIGxpa2VJbnN0YWxsYXRpb24gPSBMIk1vZGlmaWNhdGlvbiI7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBCT09UU1RSQVBQRVJfQUNUSU9OX1JFUEFJUjoKKyAgICAgICAgICAgIGxpa2VJbnN0YWxsaW5nID0gTCJSZXBhaXJpbmciOworICAgICAgICAgICAgbGlrZUluc3RhbGxhdGlvbiA9IEwiUmVwYWlyIjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEJPT1RTVFJBUFBFUl9BQ1RJT05fVU5JTlNUQUxMOgorICAgICAgICAgICAgbGlrZUluc3RhbGxpbmcgPSBMIlVuaW5zdGFsbGluZyI7CisgICAgICAgICAgICBsaWtlSW5zdGFsbGF0aW9uID0gTCJVbmluc3RhbGxhdGlvbiI7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChsaWtlSW5zdGFsbGluZykgeworICAgICAgICAgICAgTFBXU1RSIGxvY05hbWUgPSBudWxscHRyOworICAgICAgICAgICAgTE9DX1NUUklORyAqbG9jVGV4dCA9IG51bGxwdHI7CisgICAgICAgICAgICBociA9IFN0ckFsbG9jRm9ybWF0dGVkKCZsb2NOYW1lLCBMIiMobG9jLiVscykiLCBsaWtlSW5zdGFsbGluZyk7CisgICAgICAgICAgICBpZiAoU1VDQ0VFREVEKGhyKSkgeworICAgICAgICAgICAgICAgIGhyID0gTG9jR2V0U3RyaW5nKF93aXhMb2MsIGxvY05hbWUsICZsb2NUZXh0KTsKKyAgICAgICAgICAgICAgICBSZWxlYXNlU3RyKGxvY05hbWUpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgX2VuZ2luZS0+U2V0VmFyaWFibGVTdHJpbmcoCisgICAgICAgICAgICAgICAgTCJBY3Rpb25MaWtlSW5zdGFsbGluZyIsCisgICAgICAgICAgICAgICAgU1VDQ0VFREVEKGhyKSAmJiBsb2NUZXh0ID8gbG9jVGV4dC0+d3pUZXh0IDogbGlrZUluc3RhbGxpbmcKKyAgICAgICAgICAgICk7CisgICAgICAgIH0KKworICAgICAgICBpZiAobGlrZUluc3RhbGxhdGlvbikgeworICAgICAgICAgICAgTFBXU1RSIGxvY05hbWUgPSBudWxscHRyOworICAgICAgICAgICAgTE9DX1NUUklORyAqbG9jVGV4dCA9IG51bGxwdHI7CisgICAgICAgICAgICBociA9IFN0ckFsbG9jRm9ybWF0dGVkKCZsb2NOYW1lLCBMIiMobG9jLiVscykiLCBsaWtlSW5zdGFsbGF0aW9uKTsKKyAgICAgICAgICAgIGlmIChTVUNDRUVERUQoaHIpKSB7CisgICAgICAgICAgICAgICAgaHIgPSBMb2NHZXRTdHJpbmcoX3dpeExvYywgbG9jTmFtZSwgJmxvY1RleHQpOworICAgICAgICAgICAgICAgIFJlbGVhc2VTdHIobG9jTmFtZSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBfZW5naW5lLT5TZXRWYXJpYWJsZVN0cmluZygKKyAgICAgICAgICAgICAgICBMIkFjdGlvbkxpa2VJbnN0YWxsYXRpb24iLAorICAgICAgICAgICAgICAgIFNVQ0NFRURFRChocikgJiYgbG9jVGV4dCA/IGxvY1RleHQtPnd6VGV4dCA6IGxpa2VJbnN0YWxsYXRpb24KKyAgICAgICAgICAgICk7CisgICAgICAgIH0KKworICAgICAgICAvLyBJZiB3ZSBhcmUgZ29pbmcgdG8gYXBwbHkgYSBkb3duZ3JhZGUsIGJhaWwuCisgICAgICAgIGlmIChfZG93bmdyYWRpbmcgJiYgQk9PVFNUUkFQUEVSX0FDVElPTl9VTklOU1RBTEwgPCBhY3Rpb24pIHsKKyAgICAgICAgICAgIGlmIChfc3VwcHJlc3NEb3duZ3JhZGVGYWlsdXJlKSB7CisgICAgICAgICAgICAgICAgQmFsTG9nKEJPT1RTVFJBUFBFUl9MT0dfTEVWRUxfU1RBTkRBUkQsICJBIG5ld2VyIHZlcnNpb24gb2YgdGhpcyBwcm9kdWN0IGlzIGluc3RhbGxlZCBidXQgZG93bmdyYWRlIGZhaWx1cmUgaGFzIGJlZW4gc3VwcHJlc3NlZDsgY29udGludWluZy4uLiIpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBociA9IEhSRVNVTFRfRlJPTV9XSU4zMihFUlJPUl9QUk9EVUNUX1ZFUlNJT04pOworICAgICAgICAgICAgICAgIEJhbEV4aXRPbkZhaWx1cmUoaHIsICJDYW5ub3QgaW5zdGFsbCBhIHByb2R1Y3Qgd2hlbiBhIG5ld2VyIHZlcnNpb24gaXMgaW5zdGFsbGVkLiIpOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgU2V0U3RhdGUoUFlCQV9TVEFURV9QTEFOTklORywgaHIpOworCisgICAgICAgIGlmIChfYmFGdW5jdGlvbikgeworICAgICAgICAgICAgQmFsTG9nKEJPT1RTVFJBUFBFUl9MT0dfTEVWRUxfU1RBTkRBUkQsICJSdW5uaW5nIHBsYW4gQkEgZnVuY3Rpb24iKTsKKyAgICAgICAgICAgIF9iYUZ1bmN0aW9uLT5PblBsYW4oKTsKKyAgICAgICAgfQorCisgICAgICAgIGhyID0gX2VuZ2luZS0+UGxhbihhY3Rpb24pOworICAgICAgICBCYWxFeGl0T25GYWlsdXJlKGhyLCAiRmFpbGVkIHRvIHN0YXJ0IHBsYW5uaW5nIHBhY2thZ2VzLiIpOworCisgICAgTEV4aXQ6CisgICAgICAgIGlmIChGQUlMRUQoaHIpKSB7CisgICAgICAgICAgICBTZXRTdGF0ZShQWUJBX1NUQVRFX1BMQU5OSU5HLCBocik7CisgICAgICAgIH0KKworICAgICAgICByZXR1cm47CisgICAgfQorCisKKyAgICAvLworICAgIC8vIE9uQXBwbHkgLSBhcHBseSB0aGUgcGFja2FnZXMuCisgICAgLy8KKyAgICB2b2lkIE9uQXBwbHkoKSB7CisgICAgICAgIEhSRVNVTFQgaHIgPSBTX09LOworCisgICAgICAgIFNldFN0YXRlKFBZQkFfU1RBVEVfQVBQTFlJTkcsIGhyKTsKKyAgICAgICAgU2V0UHJvZ3Jlc3NTdGF0ZShocik7CisgICAgICAgIFNldFRhc2tiYXJCdXR0b25Qcm9ncmVzcygwKTsKKworICAgICAgICBociA9IF9lbmdpbmUtPkFwcGx5KF9oV25kKTsKKyAgICAgICAgQmFsRXhpdE9uRmFpbHVyZShociwgIkZhaWxlZCB0byBzdGFydCBhcHBseWluZyBwYWNrYWdlcy4iKTsKKworICAgICAgICBUaGVtZUNvbnRyb2xFbmFibGUoX3RoZW1lLCBJRF9QUk9HUkVTU19DQU5DRUxfQlVUVE9OLCBUUlVFKTsgLy8gZW5zdXJlIHRoZSBjYW5jZWwgYnV0dG9uIGlzIGVuYWJsZWQgYmVmb3JlIHN0YXJ0aW5nLgorCisgICAgTEV4aXQ6CisgICAgICAgIGlmIChGQUlMRUQoaHIpKSB7CisgICAgICAgICAgICBTZXRTdGF0ZShQWUJBX1NUQVRFX0FQUExZSU5HLCBocik7CisgICAgICAgIH0KKworICAgICAgICByZXR1cm47CisgICAgfQorCisKKyAgICAvLworICAgIC8vIE9uQ2hhbmdlU3RhdGUgLSBjaGFuZ2Ugc3RhdGUuCisgICAgLy8KKyAgICB2b2lkIE9uQ2hhbmdlU3RhdGUoX19pbiBQWUJBX1NUQVRFIHN0YXRlKSB7CisgICAgICAgIExQV1NUUiB1bmZvcm1hdHRlZFRleHQgPSBudWxscHRyOworCisgICAgICAgIF9zdGF0ZSA9IHN0YXRlOworCisgICAgICAgIC8vIElmIG91ciBpbnN0YWxsIGlzIGF0IHRoZSBlbmQgKHN1Y2Nlc3Mgb3IgZmFpbHVyZSkgYW5kIHdlJ3JlIG5vdCBzaG93aW5nIGZ1bGwgVUkKKyAgICAgICAgLy8gdGhlbiBleGl0IChwcm9tcHQgZm9yIHJlc3RhcnQgaWYgcmVxdWlyZWQpLgorICAgICAgICBpZiAoKFBZQkFfU1RBVEVfQVBQTElFRCA8PSBfc3RhdGUgJiYgQk9PVFNUUkFQUEVSX0RJU1BMQVlfRlVMTCA+IF9jb21tYW5kLmRpc3BsYXkpKSB7CisgICAgICAgICAgICAvLyBJZiBhIHJlc3RhcnQgd2FzIHJlcXVpcmVkIGJ1dCB3ZSB3ZXJlIG5vdCBhdXRvbWF0aWNhbGx5IGFsbG93ZWQgdG8KKyAgICAgICAgICAgIC8vIGFjY2VwdCB0aGUgcmVib290IHRoZW4gZG8gdGhlIHByb21wdC4KKyAgICAgICAgICAgIGlmIChfcmVzdGFydFJlcXVpcmVkICYmICFfYWxsb3dSZXN0YXJ0KSB7CisgICAgICAgICAgICAgICAgU3RyQWxsb2NGcm9tRXJyb3IoJnVuZm9ybWF0dGVkVGV4dCwgSFJFU1VMVF9GUk9NX1dJTjMyKEVSUk9SX1NVQ0NFU1NfUkVCT09UX1JFUVVJUkVEKSwgbnVsbHB0cik7CisKKyAgICAgICAgICAgICAgICBfYWxsb3dSZXN0YXJ0ID0gSURPSyA9PSA6Ok1lc3NhZ2VCb3hXKAorICAgICAgICAgICAgICAgICAgICBfaFduZCwKKyAgICAgICAgICAgICAgICAgICAgdW5mb3JtYXR0ZWRUZXh0ID8gdW5mb3JtYXR0ZWRUZXh0IDogTCJUaGUgcmVxdWVzdGVkIG9wZXJhdGlvbiBpcyBzdWNjZXNzZnVsLiBDaGFuZ2VzIHdpbGwgbm90IGJlIGVmZmVjdGl2ZSB1bnRpbCB0aGUgc3lzdGVtIGlzIHJlYm9vdGVkLiIsCisgICAgICAgICAgICAgICAgICAgIF90aGVtZS0+c2N6Q2FwdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgTUJfSUNPTkVYQ0xBTUFUSU9OIHwgTUJfT0tDQU5DRUwKKyAgICAgICAgICAgICAgICApOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICAvLyBRdWlldGx5IGV4aXQuCisgICAgICAgICAgICA6OlBvc3RNZXNzYWdlVyhfaFduZCwgV01fQ0xPU0UsIDAsIDApOworICAgICAgICB9IGVsc2UgeyAvLyB0cnkgdG8gY2hhbmdlIHRoZSBwYWdlcy4KKyAgICAgICAgICAgIERXT1JEIG5ld1BhZ2VJZCA9IDA7CisgICAgICAgICAgICBEZXRlcm1pbmVQYWdlSWQoX3N0YXRlLCAmbmV3UGFnZUlkKTsKKworICAgICAgICAgICAgaWYgKF92aXNpYmxlUGFnZUlkICE9IG5ld1BhZ2VJZCkgeworICAgICAgICAgICAgICAgIFNob3dQYWdlKG5ld1BhZ2VJZCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBSZWxlYXNlU3RyKHVuZm9ybWF0dGVkVGV4dCk7CisgICAgfQorCisgICAgLy8KKyAgICAvLyBDYWxsZWQgYmVmb3JlIHNob3dpbmcgYSBwYWdlIHRvIGhhbmRsZSBhbGwgY29udHJvbHMuCisgICAgLy8KKyAgICB2b2lkIFByb2Nlc3NQYWdlQ29udHJvbHMoVEhFTUVfUEFHRSAqcFBhZ2UpIHsKKyAgICAgICAgaWYgKCFwUGFnZSkgeworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgZm9yIChEV09SRCBpID0gMDsgaSA8IHBQYWdlLT5jQ29udHJvbEluZGljZXM7ICsraSkgeworICAgICAgICAgICAgVEhFTUVfQ09OVFJPTCogcENvbnRyb2wgPSBfdGhlbWUtPnJnQ29udHJvbHMgKyBwUGFnZS0+cmdkd0NvbnRyb2xJbmRpY2VzW2ldOworCisgICAgICAgICAgICAvLyBJZiB0aGlzIGlzIGEgbmFtZWQgY29udHJvbCwgdHJ5IHRvIHNldCBpdHMgZGVmYXVsdCBzdGF0ZS4KKyAgICAgICAgICAgIGlmIChwQ29udHJvbC0+c2N6TmFtZSAmJiAqcENvbnRyb2wtPnNjek5hbWUpIHsKKyAgICAgICAgICAgICAgICAvLyBJZiB0aGlzIGlzIGEgY2hlY2thYmxlIGNvbnRyb2wsIHRyeSB0byBzZXQgaXRzIGRlZmF1bHQgc3RhdGUKKyAgICAgICAgICAgICAgICAvLyB0byB0aGUgc3RhdGUgb2YgYSBtYXRjaGluZyBuYW1lZCBCdXJuIHZhcmlhYmxlLgorICAgICAgICAgICAgICAgIGlmIChJc0NoZWNrYWJsZShwQ29udHJvbCkpIHsKKyAgICAgICAgICAgICAgICAgICAgTE9OR0xPTkcgbGxWYWx1ZSA9IDA7CisgICAgICAgICAgICAgICAgICAgIEhSRVNVTFQgaHIgPSBCYWxHZXROdW1lcmljVmFyaWFibGUocENvbnRyb2wtPnNjek5hbWUsICZsbFZhbHVlKTsKKworICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGUgY29udHJvbCB2YWx1ZSBpc24ndCBzZXQgdGhlbiBkaXNhYmxlIGl0LgorICAgICAgICAgICAgICAgICAgICBpZiAoIVNVQ0NFRURFRChocikpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIFRoZW1lQ29udHJvbEVuYWJsZShfdGhlbWUsIHBDb250cm9sLT53SWQsIEZBTFNFKTsKKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIFRoZW1lU2VuZENvbnRyb2xNZXNzYWdlKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIF90aGVtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBwQ29udHJvbC0+d0lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJNX1NFVENIRUNLLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNVQ0NFRURFRChocikgJiYgbGxWYWx1ZSA/IEJTVF9DSEVDS0VEIDogQlNUX1VOQ0hFQ0tFRCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCisgICAgICAgICAgICAgICAgICAgICAgICApOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgLy8gSGlkZSBvciBkaXNhYmxlIGNvbnRyb2xzIGJhc2VkIG9uIHRoZSBjb250cm9sIG5hbWUgd2l0aCAnU3RhdGUnIGFwcGVuZGVkCisgICAgICAgICAgICAgICAgTFBXU1RSIGNvbnRyb2xOYW1lID0gbnVsbHB0cjsKKyAgICAgICAgICAgICAgICBIUkVTVUxUIGhyID0gU3RyQWxsb2NGb3JtYXR0ZWQoJmNvbnRyb2xOYW1lLCBMIiVsc1N0YXRlIiwgcENvbnRyb2wtPnNjek5hbWUpOworICAgICAgICAgICAgICAgIGlmIChTVUNDRUVERUQoaHIpKSB7CisgICAgICAgICAgICAgICAgICAgIExQV1NUUiBjb250cm9sU3RhdGUgPSBudWxscHRyOworICAgICAgICAgICAgICAgICAgICBociA9IEJhbEdldFN0cmluZ1ZhcmlhYmxlKGNvbnRyb2xOYW1lLCAmY29udHJvbFN0YXRlKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKFNVQ0NFRURFRChocikgJiYgY29udHJvbFN0YXRlICYmICpjb250cm9sU3RhdGUpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChDU1RSX0VRVUFMID09IDo6Q29tcGFyZVN0cmluZ1coTE9DQUxFX05FVVRSQUwsIDAsIGNvbnRyb2xTdGF0ZSwgLTEsIEwiZGlzYWJsZSIsIC0xKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJhbExvZyhCT09UU1RSQVBQRVJfTE9HX0xFVkVMX1NUQU5EQVJELCAiRGlzYWJsZSBjb250cm9sICVscyIsIHBDb250cm9sLT5zY3pOYW1lKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGVtZUNvbnRyb2xFbmFibGUoX3RoZW1lLCBwQ29udHJvbC0+d0lkLCBGQUxTRSk7CisgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKENTVFJfRVFVQUwgPT0gOjpDb21wYXJlU3RyaW5nVyhMT0NBTEVfTkVVVFJBTCwgMCwgY29udHJvbFN0YXRlLCAtMSwgTCJoaWRlIiwgLTEpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmFsTG9nKEJPT1RTVFJBUFBFUl9MT0dfTEVWRUxfU1RBTkRBUkQsICJIaWRlIGNvbnRyb2wgJWxzIiwgcENvbnRyb2wtPnNjek5hbWUpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRPRE86IFRoaXMgZG9lc24ndCB3b3JrCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlbWVTaG93Q29udHJvbChfdGhlbWUsIHBDb250cm9sLT53SWQsIFNXX0hJREUpOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIFN0ckZyZWUoY29udHJvbFN0YXRlKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgU3RyRnJlZShjb250cm9sTmFtZSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC8vIEZvcm1hdCB0aGUgdGV4dCBpbiBlYWNoIG9mIHRoZSBuZXcgcGFnZSdzIGNvbnRyb2xzCisgICAgICAgICAgICBpZiAocENvbnRyb2wtPnNjelRleHQgJiYgKnBDb250cm9sLT5zY3pUZXh0KSB7CisgICAgICAgICAgICAgICAgLy8gSWYgdGhlIHdpeCBkZXZlbG9wZXIgaXMgc2hvd2luZyBhIGhpZGRlbiB2YXJpYWJsZQorICAgICAgICAgICAgICAgIC8vIGluIHRoZSBVSSwgdGhlbiBvYnZpb3VzbHkgdGhleSBkb24ndCBjYXJlIGFib3V0CisgICAgICAgICAgICAgICAgLy8ga2VlcGluZyBpdCBzYWZlIHNvIGRvbid0IGdvIGRvd24gdGhlIHJhYmJpdCBob2xlCisgICAgICAgICAgICAgICAgLy8gb2YgbWFraW5nIHN1cmUgdGhhdCB0aGlzIGlzIHNlY3VyZWx5IGZyZWVkLgorICAgICAgICAgICAgICAgIExQV1NUUiB0ZXh0ID0gbnVsbHB0cjsKKyAgICAgICAgICAgICAgICBIUkVTVUxUIGhyID0gQmFsRm9ybWF0U3RyaW5nKHBDb250cm9sLT5zY3pUZXh0LCAmdGV4dCk7CisgICAgICAgICAgICAgICAgaWYgKFNVQ0NFRURFRChocikpIHsKKyAgICAgICAgICAgICAgICAgICAgVGhlbWVTZXRUZXh0Q29udHJvbChfdGhlbWUsIHBDb250cm9sLT53SWQsIHRleHQpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIC8vCisgICAgLy8gT25DbG9zZSAtIGNhbGxlZCB3aGVuIHRoZSB3aW5kb3cgaXMgdHJ5aW5nIHRvIGJlIGNsb3NlZC4KKyAgICAvLworICAgIEJPT0wgT25DbG9zZSgpIHsKKyAgICAgICAgQk9PTCBjbG9zZSA9IEZBTFNFOworCisgICAgICAgIC8vIElmIHdlJ3ZlIGFscmVhZHkgc3VjY2VlZGVkIG9yIGZhaWxlZCBvciBzaG93aW5nIHRoZSBoZWxwIHBhZ2UsIGp1c3QgY2xvc2UgKHByb21wdHMgYXJlIGFubm95aW5nIGlmIHRoZSBib290c3RyYXBwZXIgaXMgZG9uZSkuCisgICAgICAgIGlmIChQWUJBX1NUQVRFX0FQUExJRUQgPD0gX3N0YXRlIHx8IFBZQkFfU1RBVEVfSEVMUCA9PSBfc3RhdGUpIHsKKyAgICAgICAgICAgIGNsb3NlID0gVFJVRTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIC8vIHByb21wdCB0aGUgdXNlciBvciBmb3JjZSB0aGUgY2FuY2VsIGlmIHRoZXJlIGlzIG5vIFVJLgorICAgICAgICAgICAgY2xvc2UgPSBQcm9tcHRDYW5jZWwoCisgICAgICAgICAgICAgICAgX2hXbmQsCisgICAgICAgICAgICAgICAgQk9PVFNUUkFQUEVSX0RJU1BMQVlfRlVMTCAhPSBfY29tbWFuZC5kaXNwbGF5LAorICAgICAgICAgICAgICAgIF9jb25maXJtQ2xvc2VNZXNzYWdlID8gX2NvbmZpcm1DbG9zZU1lc3NhZ2UgOiBMIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBjYW5jZWw/IiwKKyAgICAgICAgICAgICAgICBfdGhlbWUtPnNjekNhcHRpb24KKyAgICAgICAgICAgICk7CisgICAgICAgIH0KKworICAgICAgICAvLyBJZiB3ZSdyZSBkb2luZyBwcm9ncmVzcyB0aGVuIHdlIG5ldmVyIGNsb3NlLCB3ZSBqdXN0IGNhbmNlbCB0byBsZXQgcm9sbGJhY2sgb2NjdXIuCisgICAgICAgIGlmIChQWUJBX1NUQVRFX0FQUExZSU5HIDw9IF9zdGF0ZSAmJiBQWUJBX1NUQVRFX0FQUExJRUQgPiBfc3RhdGUpIHsKKyAgICAgICAgICAgIC8vIElmIHdlIGNhbmNlbGVkIGRpc2FibGUgY2FuY2VsIGJ1dHRvbiBzaW5jZSBjbGlja2luZyBpdCBhZ2FpbiBpcyBzaWxseS4KKyAgICAgICAgICAgIGlmIChjbG9zZSkgeworICAgICAgICAgICAgICAgIFRoZW1lQ29udHJvbEVuYWJsZShfdGhlbWUsIElEX1BST0dSRVNTX0NBTkNFTF9CVVRUT04sIEZBTFNFKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgY2xvc2UgPSBGQUxTRTsKKyAgICAgICAgfQorCisgICAgICAgIHJldHVybiBjbG9zZTsKKyAgICB9CisKKyAgICAvLworICAgIC8vIE9uQ2xpY2tDbG9zZUJ1dHRvbiAtIGNsb3NlIHRoZSBhcHBsaWNhdGlvbi4KKyAgICAvLworICAgIHZvaWQgT25DbGlja0Nsb3NlQnV0dG9uKCkgeworICAgICAgICA6OlNlbmRNZXNzYWdlVyhfaFduZCwgV01fQ0xPU0UsIDAsIDApOworICAgIH0KKworCisgICAgLy8KKyAgICAvLyBPbkNsaWNrTGF1bmNoQnV0dG9uIC0gbGF1bmNoIHRoZSBhcHAgZnJvbSB0aGUgc3VjY2VzcyBwYWdlLgorICAgIC8vCisgICAgdm9pZCBPbkNsaWNrTGF1bmNoQnV0dG9uKCkgeworICAgICAgICBIUkVTVUxUIGhyID0gU19PSzsKKyAgICAgICAgTFBXU1RSIHNjelVuZm9ybWF0dGVkTGF1bmNoVGFyZ2V0ID0gbnVsbHB0cjsKKyAgICAgICAgTFBXU1RSIHNjekxhdW5jaFRhcmdldCA9IG51bGxwdHI7CisgICAgICAgIExQV1NUUiBzY3pMYXVuY2hUYXJnZXRFbGV2YXRlZElkID0gbnVsbHB0cjsKKyAgICAgICAgTFBXU1RSIHNjelVuZm9ybWF0dGVkQXJndW1lbnRzID0gbnVsbHB0cjsKKyAgICAgICAgTFBXU1RSIHNjekFyZ3VtZW50cyA9IG51bGxwdHI7CisgICAgICAgIGludCBuQ21kU2hvdyA9IFNXX1NIT1dOT1JNQUw7CisKKyAgICAgICAgaHIgPSBCYWxHZXRTdHJpbmdWYXJpYWJsZShQWUJBX1ZBUklBQkxFX0xBVU5DSF9UQVJHRVRfUEFUSCwgJnNjelVuZm9ybWF0dGVkTGF1bmNoVGFyZ2V0KTsKKyAgICAgICAgQmFsRXhpdE9uRmFpbHVyZTEoaHIsICJGYWlsZWQgdG8gZ2V0IGxhdW5jaCB0YXJnZXQgdmFyaWFibGUgJyVscycuIiwgUFlCQV9WQVJJQUJMRV9MQVVOQ0hfVEFSR0VUX1BBVEgpOworCisgICAgICAgIGhyID0gQmFsRm9ybWF0U3RyaW5nKHNjelVuZm9ybWF0dGVkTGF1bmNoVGFyZ2V0LCAmc2N6TGF1bmNoVGFyZ2V0KTsKKyAgICAgICAgQmFsRXhpdE9uRmFpbHVyZTEoaHIsICJGYWlsZWQgdG8gZm9ybWF0IGxhdW5jaCB0YXJnZXQgdmFyaWFibGU6ICVscyIsIHNjelVuZm9ybWF0dGVkTGF1bmNoVGFyZ2V0KTsKKworICAgICAgICBpZiAoQmFsU3RyaW5nVmFyaWFibGVFeGlzdHMoUFlCQV9WQVJJQUJMRV9MQVVOQ0hfVEFSR0VUX0VMRVZBVEVEX0lEKSkgeworICAgICAgICAgICAgaHIgPSBCYWxHZXRTdHJpbmdWYXJpYWJsZShQWUJBX1ZBUklBQkxFX0xBVU5DSF9UQVJHRVRfRUxFVkFURURfSUQsICZzY3pMYXVuY2hUYXJnZXRFbGV2YXRlZElkKTsKKyAgICAgICAgICAgIEJhbEV4aXRPbkZhaWx1cmUxKGhyLCAiRmFpbGVkIHRvIGdldCBsYXVuY2ggdGFyZ2V0IGVsZXZhdGVkIGlkICclbHMnLiIsIFBZQkFfVkFSSUFCTEVfTEFVTkNIX1RBUkdFVF9FTEVWQVRFRF9JRCk7CisgICAgICAgIH0KKworICAgICAgICBpZiAoQmFsU3RyaW5nVmFyaWFibGVFeGlzdHMoUFlCQV9WQVJJQUJMRV9MQVVOQ0hfQVJHVU1FTlRTKSkgeworICAgICAgICAgICAgaHIgPSBCYWxHZXRTdHJpbmdWYXJpYWJsZShQWUJBX1ZBUklBQkxFX0xBVU5DSF9BUkdVTUVOVFMsICZzY3pVbmZvcm1hdHRlZEFyZ3VtZW50cyk7CisgICAgICAgICAgICBCYWxFeGl0T25GYWlsdXJlMShociwgIkZhaWxlZCB0byBnZXQgbGF1bmNoIGFyZ3VtZW50cyAnJWxzJy4iLCBQWUJBX1ZBUklBQkxFX0xBVU5DSF9BUkdVTUVOVFMpOworICAgICAgICB9CisKKyAgICAgICAgaWYgKEJhbFN0cmluZ1ZhcmlhYmxlRXhpc3RzKFBZQkFfVkFSSUFCTEVfTEFVTkNIX0hJRERFTikpIHsKKyAgICAgICAgICAgIG5DbWRTaG93ID0gU1dfSElERTsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChzY3pMYXVuY2hUYXJnZXRFbGV2YXRlZElkICYmICFfdHJpZWRUb0xhdW5jaEVsZXZhdGVkKSB7CisgICAgICAgICAgICBfdHJpZWRUb0xhdW5jaEVsZXZhdGVkID0gVFJVRTsKKyAgICAgICAgICAgIGhyID0gX2VuZ2luZS0+TGF1bmNoQXBwcm92ZWRFeGUoX2hXbmQsIHNjekxhdW5jaFRhcmdldEVsZXZhdGVkSWQsIHNjelVuZm9ybWF0dGVkQXJndW1lbnRzLCAwKTsKKyAgICAgICAgICAgIGlmIChGQUlMRUQoaHIpKSB7CisgICAgICAgICAgICAgICAgQmFsTG9nRXJyb3IoaHIsICJGYWlsZWQgdG8gbGF1bmNoIGVsZXZhdGVkIHRhcmdldDogJWxzIiwgc2N6TGF1bmNoVGFyZ2V0RWxldmF0ZWRJZCk7CisKKyAgICAgICAgICAgICAgICAvL3RyeSB3aXRoIFNoZWxFeGVjIG5leHQgdGltZQorICAgICAgICAgICAgICAgIE9uQ2xpY2tMYXVuY2hCdXR0b24oKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGlmIChzY3pVbmZvcm1hdHRlZEFyZ3VtZW50cykgeworICAgICAgICAgICAgICAgIGhyID0gQmFsRm9ybWF0U3RyaW5nKHNjelVuZm9ybWF0dGVkQXJndW1lbnRzLCAmc2N6QXJndW1lbnRzKTsKKyAgICAgICAgICAgICAgICBCYWxFeGl0T25GYWlsdXJlMShociwgIkZhaWxlZCB0byBmb3JtYXQgbGF1bmNoIGFyZ3VtZW50cyB2YXJpYWJsZTogJWxzIiwgc2N6VW5mb3JtYXR0ZWRBcmd1bWVudHMpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBociA9IFNoZWxFeGVjKHNjekxhdW5jaFRhcmdldCwgc2N6QXJndW1lbnRzLCBMIm9wZW4iLCBudWxscHRyLCBuQ21kU2hvdywgX2hXbmQsIG51bGxwdHIpOworICAgICAgICAgICAgQmFsRXhpdE9uRmFpbHVyZTEoaHIsICJGYWlsZWQgdG8gbGF1bmNoIHRhcmdldDogJWxzIiwgc2N6TGF1bmNoVGFyZ2V0KTsKKworICAgICAgICAgICAgOjpQb3N0TWVzc2FnZVcoX2hXbmQsIFdNX0NMT1NFLCAwLCAwKTsKKyAgICAgICAgfQorCisgICAgTEV4aXQ6CisgICAgICAgIFN0clNlY3VyZVplcm9GcmVlU3RyaW5nKHNjekFyZ3VtZW50cyk7CisgICAgICAgIFJlbGVhc2VTdHIoc2N6VW5mb3JtYXR0ZWRBcmd1bWVudHMpOworICAgICAgICBSZWxlYXNlU3RyKHNjekxhdW5jaFRhcmdldEVsZXZhdGVkSWQpOworICAgICAgICBTdHJTZWN1cmVaZXJvRnJlZVN0cmluZyhzY3pMYXVuY2hUYXJnZXQpOworICAgICAgICBSZWxlYXNlU3RyKHNjelVuZm9ybWF0dGVkTGF1bmNoVGFyZ2V0KTsKKworICAgICAgICByZXR1cm47CisgICAgfQorCisKKyAgICAvLworICAgIC8vIE9uQ2xpY2tSZXN0YXJ0QnV0dG9uIC0gYWxsb3dzIHRoZSByZXN0YXJ0IGFuZCBjbG9zZXMgdGhlIGFwcC4KKyAgICAvLworICAgIHZvaWQgT25DbGlja1Jlc3RhcnRCdXR0b24oKSB7CisgICAgICAgIEFzc2VydFN6KF9yZXN0YXJ0UmVxdWlyZWQsICJSZXN0YXJ0IG11c3QgYmUgcmVxdWVzdGVkIHRvIGJlIGFibGUgdG8gY2xpY2sgb24gdGhlIHJlc3RhcnQgYnV0dG9uLiIpOworCisgICAgICAgIF9hbGxvd1Jlc3RhcnQgPSBUUlVFOworICAgICAgICA6OlNlbmRNZXNzYWdlVyhfaFduZCwgV01fQ0xPU0UsIDAsIDApOworCisgICAgICAgIHJldHVybjsKKyAgICB9CisKKworICAgIC8vCisgICAgLy8gT25DbGlja0xvZ0ZpbGVMaW5rIC0gc2hvdyB0aGUgbG9nIGZpbGUuCisgICAgLy8KKyAgICB2b2lkIE9uQ2xpY2tMb2dGaWxlTGluaygpIHsKKyAgICAgICAgSFJFU1VMVCBociA9IFNfT0s7CisgICAgICAgIExQV1NUUiBzY3pMb2dGaWxlID0gbnVsbHB0cjsKKworICAgICAgICBociA9IEJhbEdldFN0cmluZ1ZhcmlhYmxlKF9idW5kbGUuc2N6TG9nVmFyaWFibGUsICZzY3pMb2dGaWxlKTsKKyAgICAgICAgQmFsRXhpdE9uRmFpbHVyZTEoaHIsICJGYWlsZWQgdG8gZ2V0IGxvZyBmaWxlIHZhcmlhYmxlICclbHMnLiIsIF9idW5kbGUuc2N6TG9nVmFyaWFibGUpOworCisgICAgICAgIGhyID0gU2hlbEV4ZWMoTCJub3RlcGFkLmV4ZSIsIHNjekxvZ0ZpbGUsIEwib3BlbiIsIG51bGxwdHIsIFNXX1NIT1dERUZBVUxULCBfaFduZCwgbnVsbHB0cik7CisgICAgICAgIEJhbEV4aXRPbkZhaWx1cmUxKGhyLCAiRmFpbGVkIHRvIG9wZW4gbG9nIGZpbGUgdGFyZ2V0OiAlbHMiLCBzY3pMb2dGaWxlKTsKKworICAgIExFeGl0OgorICAgICAgICBSZWxlYXNlU3RyKHNjekxvZ0ZpbGUpOworCisgICAgICAgIHJldHVybjsKKyAgICB9CisKKworICAgIC8vCisgICAgLy8gU2V0U3RhdGUKKyAgICAvLworICAgIHZvaWQgU2V0U3RhdGUoX19pbiBQWUJBX1NUQVRFIHN0YXRlLCBfX2luIEhSRVNVTFQgaHJTdGF0dXMpIHsKKyAgICAgICAgaWYgKEZBSUxFRChoclN0YXR1cykpIHsKKyAgICAgICAgICAgIF9ockZpbmFsID0gaHJTdGF0dXM7CisgICAgICAgIH0KKworICAgICAgICBpZiAoRkFJTEVEKF9ockZpbmFsKSkgeworICAgICAgICAgICAgc3RhdGUgPSBQWUJBX1NUQVRFX0ZBSUxFRDsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChfc3RhdGUgIT0gc3RhdGUpIHsKKyAgICAgICAgICAgIDo6UG9zdE1lc3NhZ2VXKF9oV25kLCBXTV9QWUJBX0NIQU5HRV9TVEFURSwgMCwgc3RhdGUpOworICAgICAgICB9CisgICAgfQorCisgICAgLy8KKyAgICAvLyBHb1RvUGFnZQorICAgIC8vCisgICAgdm9pZCBHb1RvUGFnZShfX2luIFBBR0UgcGFnZSkgeworICAgICAgICBfaW5zdGFsbFBhZ2UgPSBwYWdlOworICAgICAgICA6OlBvc3RNZXNzYWdlVyhfaFduZCwgV01fUFlCQV9DSEFOR0VfU1RBVEUsIDAsIF9zdGF0ZSk7CisgICAgfQorCisgICAgdm9pZCBEZXRlcm1pbmVQYWdlSWQoX19pbiBQWUJBX1NUQVRFIHN0YXRlLCBfX291dCBEV09SRCogcGR3UGFnZUlkKSB7CisgICAgICAgIExPTkdMT05HIHNpbXBsZTsKKworICAgICAgICBpZiAoQk9PVFNUUkFQUEVSX0RJU1BMQVlfUEFTU0lWRSA9PSBfY29tbWFuZC5kaXNwbGF5KSB7CisgICAgICAgICAgICBzd2l0Y2ggKHN0YXRlKSB7CisgICAgICAgICAgICBjYXNlIFBZQkFfU1RBVEVfSU5JVElBTElaRUQ6CisgICAgICAgICAgICAgICAgKnBkd1BhZ2VJZCA9IEJPT1RTVFJBUFBFUl9BQ1RJT05fSEVMUCA9PSBfY29tbWFuZC5hY3Rpb24KKyAgICAgICAgICAgICAgICAgICAgPyBfcGFnZUlkc1tQQUdFX0hFTFBdCisgICAgICAgICAgICAgICAgICAgIDogX3BhZ2VJZHNbUEFHRV9MT0FESU5HXTsKKyAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgY2FzZSBQWUJBX1NUQVRFX0hFTFA6CisgICAgICAgICAgICAgICAgKnBkd1BhZ2VJZCA9IF9wYWdlSWRzW1BBR0VfSEVMUF07CisgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgIGNhc2UgUFlCQV9TVEFURV9ERVRFQ1RJTkc6CisgICAgICAgICAgICAgICAgKnBkd1BhZ2VJZCA9IF9wYWdlSWRzW1BBR0VfTE9BRElOR10KKyAgICAgICAgICAgICAgICAgICAgPyBfcGFnZUlkc1tQQUdFX0xPQURJTkddCisgICAgICAgICAgICAgICAgICAgIDogX3BhZ2VJZHNbUEFHRV9QUk9HUkVTU19QQVNTSVZFXQorICAgICAgICAgICAgICAgICAgICAgICAgPyBfcGFnZUlkc1tQQUdFX1BST0dSRVNTX1BBU1NJVkVdCisgICAgICAgICAgICAgICAgICAgICAgICA6IF9wYWdlSWRzW1BBR0VfUFJPR1JFU1NdOworICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICBjYXNlIFBZQkFfU1RBVEVfREVURUNURUQ6IF9fZmFsbHRocm91Z2g7CisgICAgICAgICAgICBjYXNlIFBZQkFfU1RBVEVfUExBTk5JTkc6IF9fZmFsbHRocm91Z2g7CisgICAgICAgICAgICBjYXNlIFBZQkFfU1RBVEVfUExBTk5FRDogX19mYWxsdGhyb3VnaDsKKyAgICAgICAgICAgIGNhc2UgUFlCQV9TVEFURV9BUFBMWUlORzogX19mYWxsdGhyb3VnaDsKKyAgICAgICAgICAgIGNhc2UgUFlCQV9TVEFURV9DQUNISU5HOiBfX2ZhbGx0aHJvdWdoOworICAgICAgICAgICAgY2FzZSBQWUJBX1NUQVRFX0NBQ0hFRDogX19mYWxsdGhyb3VnaDsKKyAgICAgICAgICAgIGNhc2UgUFlCQV9TVEFURV9FWEVDVVRJTkc6IF9fZmFsbHRocm91Z2g7CisgICAgICAgICAgICBjYXNlIFBZQkFfU1RBVEVfRVhFQ1VURUQ6CisgICAgICAgICAgICAgICAgKnBkd1BhZ2VJZCA9IF9wYWdlSWRzW1BBR0VfUFJPR1JFU1NfUEFTU0lWRV0KKyAgICAgICAgICAgICAgICAgICAgPyBfcGFnZUlkc1tQQUdFX1BST0dSRVNTX1BBU1NJVkVdCisgICAgICAgICAgICAgICAgICAgIDogX3BhZ2VJZHNbUEFHRV9QUk9HUkVTU107CisgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgKnBkd1BhZ2VJZCA9IDA7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSBpZiAoQk9PVFNUUkFQUEVSX0RJU1BMQVlfRlVMTCA9PSBfY29tbWFuZC5kaXNwbGF5KSB7CisgICAgICAgICAgICBzd2l0Y2ggKHN0YXRlKSB7CisgICAgICAgICAgICBjYXNlIFBZQkFfU1RBVEVfSU5JVElBTElaSU5HOgorICAgICAgICAgICAgICAgICpwZHdQYWdlSWQgPSAwOworICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICBjYXNlIFBZQkFfU1RBVEVfSU5JVElBTElaRUQ6CisgICAgICAgICAgICAgICAgKnBkd1BhZ2VJZCA9IEJPT1RTVFJBUFBFUl9BQ1RJT05fSEVMUCA9PSBfY29tbWFuZC5hY3Rpb24KKyAgICAgICAgICAgICAgICAgICAgPyBfcGFnZUlkc1tQQUdFX0hFTFBdCisgICAgICAgICAgICAgICAgICAgIDogX3BhZ2VJZHNbUEFHRV9MT0FESU5HXTsKKyAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgY2FzZSBQWUJBX1NUQVRFX0hFTFA6CisgICAgICAgICAgICAgICAgKnBkd1BhZ2VJZCA9IF9wYWdlSWRzW1BBR0VfSEVMUF07CisgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgIGNhc2UgUFlCQV9TVEFURV9ERVRFQ1RJTkc6CisgICAgICAgICAgICAgICAgKnBkd1BhZ2VJZCA9IF9wYWdlSWRzW1BBR0VfTE9BRElOR107CisgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgIGNhc2UgUFlCQV9TVEFURV9ERVRFQ1RFRDoKKyAgICAgICAgICAgICAgICBpZiAoX2luc3RhbGxQYWdlID09IFBBR0VfTE9BRElORykgeworICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKF9jb21tYW5kLmFjdGlvbikgeworICAgICAgICAgICAgICAgICAgICBjYXNlIEJPT1RTVFJBUFBFUl9BQ1RJT05fSU5TVEFMTDoKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChTVUNDRUVERUQoQmFsR2V0TnVtZXJpY1ZhcmlhYmxlKEwiU2ltcGxlSW5zdGFsbCIsICZzaW1wbGUpKSAmJiBzaW1wbGUpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBfaW5zdGFsbFBhZ2UgPSBQQUdFX1NJTVBMRV9JTlNUQUxMOworICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBfaW5zdGFsbFBhZ2UgPSBQQUdFX0lOU1RBTEw7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgICAgICAgICBjYXNlIEJPT1RTVFJBUFBFUl9BQ1RJT05fTU9ESUZZOiBfX2ZhbGx0aHJvdWdoOworICAgICAgICAgICAgICAgICAgICBjYXNlIEJPT1RTVFJBUFBFUl9BQ1RJT05fUkVQQUlSOiBfX2ZhbGx0aHJvdWdoOworICAgICAgICAgICAgICAgICAgICBjYXNlIEJPT1RTVFJBUFBFUl9BQ1RJT05fVU5JTlNUQUxMOgorICAgICAgICAgICAgICAgICAgICAgICAgX2luc3RhbGxQYWdlID0gUEFHRV9NT0RJRlk7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAqcGR3UGFnZUlkID0gX3BhZ2VJZHNbX2luc3RhbGxQYWdlXTsKKyAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgY2FzZSBQWUJBX1NUQVRFX1BMQU5OSU5HOiBfX2ZhbGx0aHJvdWdoOworICAgICAgICAgICAgY2FzZSBQWUJBX1NUQVRFX1BMQU5ORUQ6IF9fZmFsbHRocm91Z2g7CisgICAgICAgICAgICBjYXNlIFBZQkFfU1RBVEVfQVBQTFlJTkc6IF9fZmFsbHRocm91Z2g7CisgICAgICAgICAgICBjYXNlIFBZQkFfU1RBVEVfQ0FDSElORzogX19mYWxsdGhyb3VnaDsKKyAgICAgICAgICAgIGNhc2UgUFlCQV9TVEFURV9DQUNIRUQ6IF9fZmFsbHRocm91Z2g7CisgICAgICAgICAgICBjYXNlIFBZQkFfU1RBVEVfRVhFQ1VUSU5HOiBfX2ZhbGx0aHJvdWdoOworICAgICAgICAgICAgY2FzZSBQWUJBX1NUQVRFX0VYRUNVVEVEOgorICAgICAgICAgICAgICAgICpwZHdQYWdlSWQgPSBfcGFnZUlkc1tQQUdFX1BST0dSRVNTXTsKKyAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgY2FzZSBQWUJBX1NUQVRFX0FQUExJRUQ6CisgICAgICAgICAgICAgICAgKnBkd1BhZ2VJZCA9IF9wYWdlSWRzW1BBR0VfU1VDQ0VTU107CisgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgIGNhc2UgUFlCQV9TVEFURV9GQUlMRUQ6CisgICAgICAgICAgICAgICAgKnBkd1BhZ2VJZCA9IF9wYWdlSWRzW1BBR0VfRkFJTFVSRV07CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisKKworICAgIEhSRVNVTFQgRXZhbHVhdGVDb25kaXRpb25zKCkgeworICAgICAgICBIUkVTVUxUIGhyID0gU19PSzsKKyAgICAgICAgQk9PTCByZXN1bHQgPSBGQUxTRTsKKworICAgICAgICBmb3IgKERXT1JEIGkgPSAwOyBpIDwgX2NvbmRpdGlvbnMuY0NvbmRpdGlvbnM7ICsraSkgeworICAgICAgICAgICAgQkFMX0NPTkRJVElPTiogcENvbmRpdGlvbiA9IF9jb25kaXRpb25zLnJnQ29uZGl0aW9ucyArIGk7CisKKyAgICAgICAgICAgIGhyID0gQmFsQ29uZGl0aW9uRXZhbHVhdGUocENvbmRpdGlvbiwgX2VuZ2luZSwgJnJlc3VsdCwgJl9mYWlsZWRNZXNzYWdlKTsKKyAgICAgICAgICAgIEJhbEV4aXRPbkZhaWx1cmUoaHIsICJGYWlsZWQgdG8gZXZhbHVhdGUgY29uZGl0aW9uLiIpOworCisgICAgICAgICAgICBpZiAoIXJlc3VsdCkgeworICAgICAgICAgICAgICAgIC8vIEhvcGUgdGhleSBkaWRuJ3QgaGF2ZSBoaWRkZW4gdmFyaWFibGVzIGluIHRoZWlyIG1lc3NhZ2UsIGJlY2F1c2UgaXQncyBnb2luZyBpbiB0aGUgbG9nIGluIHBsYWludGV4dC4KKyAgICAgICAgICAgICAgICBCYWxMb2coQk9PVFNUUkFQUEVSX0xPR19MRVZFTF9FUlJPUiwgIiVscyIsIF9mYWlsZWRNZXNzYWdlKTsKKworICAgICAgICAgICAgICAgIGhyID0gRV9XSVhTVERCQV9DT05ESVRJT05fRkFJTEVEOworICAgICAgICAgICAgICAgIC8vIHRvZG86IHJlbW92ZSBpbiBXaVggdjQsIGluIGNhc2UgcGVvcGxlIGFyZSByZWx5aW5nIG9uIHYzLnggbG9nZ2luZyBiZWhhdmlvcgorICAgICAgICAgICAgICAgIEJhbEV4aXRPbkZhaWx1cmUxKGhyLCAiQnVuZGxlIGNvbmRpdGlvbiBldmFsdWF0ZWQgdG8gZmFsc2U6ICVscyIsIHBDb25kaXRpb24tPnNjekNvbmRpdGlvbik7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBSZWxlYXNlTnVsbFN0clNlY3VyZShfZmFpbGVkTWVzc2FnZSk7CisKKyAgICBMRXhpdDoKKyAgICAgICAgcmV0dXJuIGhyOworICAgIH0KKworCisgICAgdm9pZCBTZXRUYXNrYmFyQnV0dG9uUHJvZ3Jlc3MoX19pbiBEV09SRCBkd092ZXJhbGxQZXJjZW50YWdlKSB7CisgICAgICAgIEhSRVNVTFQgaHIgPSBTX09LOworCisgICAgICAgIGlmIChfdGFza2JhckJ1dHRvbk9LKSB7CisgICAgICAgICAgICBociA9IF90YXNrYmFyTGlzdC0+U2V0UHJvZ3Jlc3NWYWx1ZShfaFduZCwgZHdPdmVyYWxsUGVyY2VudGFnZSwgMTAwVUwpOworICAgICAgICAgICAgQmFsRXhpdE9uRmFpbHVyZTEoaHIsICJGYWlsZWQgdG8gc2V0IHRhc2tiYXIgYnV0dG9uIHByb2dyZXNzIHRvOiAlZCUlLiIsIGR3T3ZlcmFsbFBlcmNlbnRhZ2UpOworICAgICAgICB9CisKKyAgICBMRXhpdDoKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworCisgICAgdm9pZCBTZXRUYXNrYmFyQnV0dG9uU3RhdGUoX19pbiBUQlBGTEFHIHRicEZsYWdzKSB7CisgICAgICAgIEhSRVNVTFQgaHIgPSBTX09LOworCisgICAgICAgIGlmIChfdGFza2JhckJ1dHRvbk9LKSB7CisgICAgICAgICAgICBociA9IF90YXNrYmFyTGlzdC0+U2V0UHJvZ3Jlc3NTdGF0ZShfaFduZCwgdGJwRmxhZ3MpOworICAgICAgICAgICAgQmFsRXhpdE9uRmFpbHVyZTEoaHIsICJGYWlsZWQgdG8gc2V0IHRhc2tiYXIgYnV0dG9uIHN0YXRlLiIsIHRicEZsYWdzKTsKKyAgICAgICAgfQorCisgICAgTEV4aXQ6CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKworICAgIHZvaWQgU2V0UHJvZ3Jlc3NTdGF0ZShfX2luIEhSRVNVTFQgaHJTdGF0dXMpIHsKKyAgICAgICAgVEJQRkxBRyBmbGFnID0gVEJQRl9OT1JNQUw7CisKKyAgICAgICAgaWYgKElzQ2FuY2VsZWQoKSB8fCBIUkVTVUxUX0ZST01fV0lOMzIoRVJST1JfSU5TVEFMTF9VU0VSRVhJVCkgPT0gaHJTdGF0dXMpIHsKKyAgICAgICAgICAgIGZsYWcgPSBUQlBGX1BBVVNFRDsKKyAgICAgICAgfSBlbHNlIGlmIChJc1JvbGxpbmdCYWNrKCkgfHwgRkFJTEVEKGhyU3RhdHVzKSkgeworICAgICAgICAgICAgZmxhZyA9IFRCUEZfRVJST1I7CisgICAgICAgIH0KKworICAgICAgICBTZXRUYXNrYmFyQnV0dG9uU3RhdGUoZmxhZyk7CisgICAgfQorCisKKyAgICBIUkVTVUxUIExvYWRCb290c3RyYXBwZXJCQUZ1bmN0aW9ucygpIHsKKyAgICAgICAgSFJFU1VMVCBociA9IFNfT0s7CisgICAgICAgIExQV1NUUiBzY3pCYWZQYXRoID0gbnVsbHB0cjsKKworICAgICAgICBociA9IFBhdGhSZWxhdGl2ZVRvTW9kdWxlKCZzY3pCYWZQYXRoLCBMImJhZnVuY3Rpb25zLmRsbCIsIF9oTW9kdWxlKTsKKyAgICAgICAgQmFsRXhpdE9uRmFpbHVyZShociwgIkZhaWxlZCB0byBnZXQgcGF0aCB0byBCQSBmdW5jdGlvbiBETEwuIik7CisKKyNpZmRlZiBERUJVRworICAgICAgICBCYWxMb2coQk9PVFNUUkFQUEVSX0xPR19MRVZFTF9TVEFOREFSRCwgIlBZQkE6IExvYWRCb290c3RyYXBwZXJCQUZ1bmN0aW9ucygpIC0gQkEgZnVuY3Rpb24gRExMICVscyIsIHNjekJhZlBhdGgpOworI2VuZGlmCisKKyAgICAgICAgX2hCQUZNb2R1bGUgPSA6OkxvYWRMaWJyYXJ5VyhzY3pCYWZQYXRoKTsKKyAgICAgICAgaWYgKF9oQkFGTW9kdWxlKSB7CisgICAgICAgICAgICBhdXRvIHBmbkJBRnVuY3Rpb25DcmVhdGUgPSByZWludGVycHJldF9jYXN0PFBGTl9CT09UU1RSQVBQRVJfQkFfRlVOQ1RJT05fQ1JFQVRFPig6OkdldFByb2NBZGRyZXNzKF9oQkFGTW9kdWxlLCAiQ3JlYXRlQm9vdHN0cmFwcGVyQkFGdW5jdGlvbiIpKTsKKyAgICAgICAgICAgIEJhbEV4aXRPbk51bGxXaXRoTGFzdEVycm9yMShwZm5CQUZ1bmN0aW9uQ3JlYXRlLCBociwgIkZhaWxlZCB0byBnZXQgQ3JlYXRlQm9vdHN0cmFwcGVyQkFGdW5jdGlvbiBlbnRyeS1wb2ludCBmcm9tOiAlbHMiLCBzY3pCYWZQYXRoKTsKKworICAgICAgICAgICAgaHIgPSBwZm5CQUZ1bmN0aW9uQ3JlYXRlKF9lbmdpbmUsIF9oQkFGTW9kdWxlLCAmX2JhRnVuY3Rpb24pOworICAgICAgICAgICAgQmFsRXhpdE9uRmFpbHVyZShociwgIkZhaWxlZCB0byBjcmVhdGUgQkEgZnVuY3Rpb24uIik7CisgICAgICAgIH0KKyNpZmRlZiBERUJVRworICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIEJhbExvZ0Vycm9yKEhSRVNVTFRfRlJPTV9XSU4zMig6OkdldExhc3RFcnJvcigpKSwgIlBZQkE6IExvYWRCb290c3RyYXBwZXJCQUZ1bmN0aW9ucygpIC0gRmFpbGVkIHRvIGxvYWQgRExMICVscyIsIHNjekJhZlBhdGgpOworICAgICAgICB9CisjZW5kaWYKKworICAgIExFeGl0OgorICAgICAgICBpZiAoX2hCQUZNb2R1bGUgJiYgIV9iYUZ1bmN0aW9uKSB7CisgICAgICAgICAgICA6OkZyZWVMaWJyYXJ5KF9oQkFGTW9kdWxlKTsKKyAgICAgICAgICAgIF9oQkFGTW9kdWxlID0gbnVsbHB0cjsKKyAgICAgICAgfQorICAgICAgICBSZWxlYXNlU3RyKHNjekJhZlBhdGgpOworCisgICAgICAgIHJldHVybiBocjsKKyAgICB9CisKKyAgICBCT09MIElzQ2hlY2thYmxlKFRIRU1FX0NPTlRST0wqIHBDb250cm9sKSB7CisgICAgICAgIGlmICghcENvbnRyb2wtPnNjek5hbWUgfHwgIXBDb250cm9sLT5zY3pOYW1lWzBdKSB7CisgICAgICAgICAgICByZXR1cm4gRkFMU0U7CisgICAgICAgIH0KKworICAgICAgICBpZiAocENvbnRyb2wtPnR5cGUgPT0gVEhFTUVfQ09OVFJPTF9UWVBFX0NIRUNLQk9YKSB7CisgICAgICAgICAgICByZXR1cm4gVFJVRTsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChwQ29udHJvbC0+dHlwZSA9PSBUSEVNRV9DT05UUk9MX1RZUEVfQlVUVE9OKSB7CisgICAgICAgICAgICBpZiAoKHBDb250cm9sLT5kd1N0eWxlICYgQlNfVFlQRU1BU0spID09IEJTX0FVVE9SQURJT0JVVFRPTikgeworICAgICAgICAgICAgICAgIHJldHVybiBUUlVFOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIEZBTFNFOworICAgIH0KKworICAgIHZvaWQgU2F2ZVBhZ2VTZXR0aW5ncygpIHsKKyAgICAgICAgRFdPUkQgcGFnZUlkID0gMDsKKyAgICAgICAgVEhFTUVfUEFHRSogcFBhZ2UgPSBudWxscHRyOworCisgICAgICAgIERldGVybWluZVBhZ2VJZChfc3RhdGUsICZwYWdlSWQpOworICAgICAgICBwUGFnZSA9IFRoZW1lR2V0UGFnZShfdGhlbWUsIHBhZ2VJZCk7CisgICAgICAgIGlmICghcFBhZ2UpIHsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIGZvciAoRFdPUkQgaSA9IDA7IGkgPCBwUGFnZS0+Y0NvbnRyb2xJbmRpY2VzOyArK2kpIHsKKyAgICAgICAgICAgIC8vIExvb3AgdGhyb3VnaCBhbGwgdGhlIGNoZWNrYWJsZSBjb250cm9scyBhbmQgc2V0IGEgQnVybiB2YXJpYWJsZQorICAgICAgICAgICAgLy8gd2l0aCB0aGF0IG5hbWUgdG8gdHJ1ZSBvciBmYWxzZS4KKyAgICAgICAgICAgIFRIRU1FX0NPTlRST0wqIHBDb250cm9sID0gX3RoZW1lLT5yZ0NvbnRyb2xzICsgcFBhZ2UtPnJnZHdDb250cm9sSW5kaWNlc1tpXTsKKyAgICAgICAgICAgIGlmIChJc0NoZWNrYWJsZShwQ29udHJvbCkgJiYgVGhlbWVDb250cm9sRW5hYmxlZChfdGhlbWUsIHBDb250cm9sLT53SWQpKSB7CisgICAgICAgICAgICAgICAgQk9PTCBjaGVja2VkID0gVGhlbWVJc0NvbnRyb2xDaGVja2VkKF90aGVtZSwgcENvbnRyb2wtPndJZCk7CisgICAgICAgICAgICAgICAgX2VuZ2luZS0+U2V0VmFyaWFibGVOdW1lcmljKHBDb250cm9sLT5zY3pOYW1lLCBjaGVja2VkID8gMSA6IDApOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICAvLyBMb29wIHRocm91Z2ggYWxsIHRoZSBlZGl0Ym94IGNvbnRyb2xzIHdpdGggbmFtZXMgYW5kIHNldCBhCisgICAgICAgICAgICAvLyBCdXJuIHZhcmlhYmxlIHdpdGggdGhhdCBuYW1lIHRvIHRoZSBjb250ZW50cy4KKyAgICAgICAgICAgIGlmIChUSEVNRV9DT05UUk9MX1RZUEVfRURJVEJPWCA9PSBwQ29udHJvbC0+dHlwZSAmJiBwQ29udHJvbC0+c2N6TmFtZSAmJiAqcENvbnRyb2wtPnNjek5hbWUpIHsKKyAgICAgICAgICAgICAgICBMUFdTVFIgc2N6VmFsdWUgPSBudWxscHRyOworICAgICAgICAgICAgICAgIFRoZW1lR2V0VGV4dENvbnRyb2woX3RoZW1lLCBwQ29udHJvbC0+d0lkLCAmc2N6VmFsdWUpOworICAgICAgICAgICAgICAgIF9lbmdpbmUtPlNldFZhcmlhYmxlU3RyaW5nKHBDb250cm9sLT5zY3pOYW1lLCBzY3pWYWx1ZSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisKKworcHVibGljOgorICAgIC8vCisgICAgLy8gQ29uc3RydWN0b3IgLSBpbml0aWFsaXplIG1lbWJlciB2YXJpYWJsZXMuCisgICAgLy8KKyAgICBQeXRob25Cb290c3RyYXBwZXJBcHBsaWNhdGlvbigKKyAgICAgICAgX19pbiBITU9EVUxFIGhNb2R1bGUsCisgICAgICAgIF9faW4gQk9PTCBmUHJlcmVxLAorICAgICAgICBfX2luIEhSRVNVTFQgaHJIb3N0SW5pdGlhbGl6YXRpb24sCisgICAgICAgIF9faW4gSUJvb3RzdHJhcHBlckVuZ2luZSogcEVuZ2luZSwKKyAgICAgICAgX19pbiBjb25zdCBCT09UU1RSQVBQRVJfQ09NTUFORCogcENvbW1hbmQKKyAgICApIDogQ0JhbEJhc2VCb290c3RyYXBwZXJBcHBsaWNhdGlvbihwRW5naW5lLCBwQ29tbWFuZCwgMywgMzAwMCkgeworICAgICAgICBfaE1vZHVsZSA9IGhNb2R1bGU7CisgICAgICAgIG1lbWNweV9zKCZfY29tbWFuZCwgc2l6ZW9mKF9jb21tYW5kKSwgcENvbW1hbmQsIHNpemVvZihCT09UU1RSQVBQRVJfQ09NTUFORCkpOworCisgICAgICAgIExPTkdMT05HIGxsSW5zdGFsbGVkID0gMDsKKyAgICAgICAgSFJFU1VMVCBociA9IEJhbEdldE51bWVyaWNWYXJpYWJsZShMIldpeEJ1bmRsZUluc3RhbGxlZCIsICZsbEluc3RhbGxlZCk7CisgICAgICAgIGlmIChTVUNDRUVERUQoaHIpICYmIEJPT1RTVFJBUFBFUl9SRVNVTUVfVFlQRV9SRUJPT1QgIT0gX2NvbW1hbmQucmVzdW1lVHlwZSAmJiAwIDwgbGxJbnN0YWxsZWQgJiYgQk9PVFNUUkFQUEVSX0FDVElPTl9JTlNUQUxMID09IF9jb21tYW5kLmFjdGlvbikgeworICAgICAgICAgICAgX2NvbW1hbmQuYWN0aW9uID0gQk9PVFNUUkFQUEVSX0FDVElPTl9NT0RJRlk7CisgICAgICAgIH0gZWxzZSBpZiAoMCA9PSBsbEluc3RhbGxlZCAmJiAoQk9PVFNUUkFQUEVSX0FDVElPTl9NT0RJRlkgPT0gX2NvbW1hbmQuYWN0aW9uIHx8IEJPT1RTVFJBUFBFUl9BQ1RJT05fUkVQQUlSID09IF9jb21tYW5kLmFjdGlvbikpIHsKKyAgICAgICAgICAgIF9jb21tYW5kLmFjdGlvbiA9IEJPT1RTVFJBUFBFUl9BQ1RJT05fSU5TVEFMTDsKKyAgICAgICAgfQorCisgICAgICAgIF9wbGFubmVkQWN0aW9uID0gQk9PVFNUUkFQUEVSX0FDVElPTl9VTktOT1dOOworCisKKyAgICAgICAgLy8gV2hlbiByZXN1bWluZyBmcm9tIHJlc3RhcnQgZG9pbmcgc29tZSBpbnN0YWxsLWxpa2Ugb3BlcmF0aW9uLCB0cnkgdG8gZmluZCB0aGUgcGFja2FnZSB0aGF0IGZvcmNlZCB0aGUKKyAgICAgICAgLy8gcmVzdGFydC4gV2UnbGwgdXNlIHRoaXMgaW5mb3JtYXRpb24gZHVyaW5nIHBsYW5uaW5nLgorICAgICAgICBfbmV4dFBhY2thZ2VBZnRlclJlc3RhcnQgPSBudWxscHRyOworCisgICAgICAgIGlmIChCT09UU1RSQVBQRVJfUkVTVU1FX1RZUEVfUkVCT09UID09IF9jb21tYW5kLnJlc3VtZVR5cGUgJiYgQk9PVFNUUkFQUEVSX0FDVElPTl9VTklOU1RBTEwgPCBfY29tbWFuZC5hY3Rpb24pIHsKKyAgICAgICAgICAgIC8vIEVuc3VyZSB0aGUgZm9yY2VkIHJlc3RhcnQgcGFja2FnZSB2YXJpYWJsZSBpcyBudWxsIHdoZW4gaXQgaXMgYW4gZW1wdHkgc3RyaW5nLgorICAgICAgICAgICAgSFJFU1VMVCBociA9IEJhbEdldFN0cmluZ1ZhcmlhYmxlKEwiV2l4QnVuZGxlRm9yY2VkUmVzdGFydFBhY2thZ2UiLCAmX25leHRQYWNrYWdlQWZ0ZXJSZXN0YXJ0KTsKKyAgICAgICAgICAgIGlmIChGQUlMRUQoaHIpIHx8ICFfbmV4dFBhY2thZ2VBZnRlclJlc3RhcnQgfHwgISpfbmV4dFBhY2thZ2VBZnRlclJlc3RhcnQpIHsKKyAgICAgICAgICAgICAgICBSZWxlYXNlTnVsbFN0cihfbmV4dFBhY2thZ2VBZnRlclJlc3RhcnQpOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgX3dpeExvYyA9IG51bGxwdHI7CisgICAgICAgIG1lbXNldCgmX2J1bmRsZSwgMCwgc2l6ZW9mKF9idW5kbGUpKTsKKyAgICAgICAgbWVtc2V0KCZfY29uZGl0aW9ucywgMCwgc2l6ZW9mKF9jb25kaXRpb25zKSk7CisgICAgICAgIF9jb25maXJtQ2xvc2VNZXNzYWdlID0gbnVsbHB0cjsKKyAgICAgICAgX2ZhaWxlZE1lc3NhZ2UgPSBudWxscHRyOworCisgICAgICAgIF9sYW5ndWFnZSA9IG51bGxwdHI7CisgICAgICAgIF90aGVtZSA9IG51bGxwdHI7CisgICAgICAgIG1lbXNldChfcGFnZUlkcywgMCwgc2l6ZW9mKF9wYWdlSWRzKSk7CisgICAgICAgIF9oVWlUaHJlYWQgPSBudWxscHRyOworICAgICAgICBfcmVnaXN0ZXJlZCA9IEZBTFNFOworICAgICAgICBfaFduZCA9IG51bGxwdHI7CisKKyAgICAgICAgX3N0YXRlID0gUFlCQV9TVEFURV9JTklUSUFMSVpJTkc7CisgICAgICAgIF92aXNpYmxlUGFnZUlkID0gMDsKKyAgICAgICAgX2luc3RhbGxQYWdlID0gUEFHRV9MT0FESU5HOworICAgICAgICBfaHJGaW5hbCA9IGhySG9zdEluaXRpYWxpemF0aW9uOworCisgICAgICAgIF9kb3duZ3JhZGluZyA9IEZBTFNFOworICAgICAgICBfcmVzdGFydFJlc3VsdCA9IEJPT1RTVFJBUFBFUl9BUFBMWV9SRVNUQVJUX05PTkU7CisgICAgICAgIF9yZXN0YXJ0UmVxdWlyZWQgPSBGQUxTRTsKKyAgICAgICAgX2FsbG93UmVzdGFydCA9IEZBTFNFOworCisgICAgICAgIF9zdXBwcmVzc0Rvd25ncmFkZUZhaWx1cmUgPSBGQUxTRTsKKyAgICAgICAgX3N1cHByZXNzUmVwYWlyID0gRkFMU0U7CisKKyAgICAgICAgX292ZXJyaWRhYmxlVmFyaWFibGVzID0gbnVsbHB0cjsKKyAgICAgICAgX3Rhc2tiYXJMaXN0ID0gbnVsbHB0cjsKKyAgICAgICAgX3Rhc2tiYXJCdXR0b25DcmVhdGVkTWVzc2FnZSA9IFVJTlRfTUFYOworICAgICAgICBfdGFza2JhckJ1dHRvbk9LID0gRkFMU0U7CisgICAgICAgIF9zaG93aW5nSW50ZXJuYWxVSVRoaXNQYWNrYWdlID0gRkFMU0U7CisgICAgICAgIF90cmllZFRvTGF1bmNoRWxldmF0ZWQgPSBGQUxTRTsKKworICAgICAgICBfc3VwcHJlc3NQYWludCA9IEZBTFNFOworCisgICAgICAgIHBFbmdpbmUtPkFkZFJlZigpOworICAgICAgICBfZW5naW5lID0gcEVuZ2luZTsKKworICAgICAgICBfaEJBRk1vZHVsZSA9IG51bGxwdHI7CisgICAgICAgIF9iYUZ1bmN0aW9uID0gbnVsbHB0cjsKKyAgICB9CisKKworICAgIC8vCisgICAgLy8gRGVzdHJ1Y3RvciAtIHJlbGVhc2UgbWVtYmVyIHZhcmlhYmxlcy4KKyAgICAvLworICAgIH5QeXRob25Cb290c3RyYXBwZXJBcHBsaWNhdGlvbigpIHsKKyAgICAgICAgQXNzZXJ0U3ooITo6SXNXaW5kb3coX2hXbmQpLCAiV2luZG93IHNob3VsZCBoYXZlIGJlZW4gZGVzdHJveWVkIGJlZm9yZSBkZXN0cnVjdG9yLiIpOworICAgICAgICBBc3NlcnRTeighX3RoZW1lLCAiVGhlbWUgc2hvdWxkIGhhdmUgYmVlbiByZWxlYXNlZCBiZWZvcmUgZGVzdHJ1Y3Rvci4iKTsKKworICAgICAgICBSZWxlYXNlT2JqZWN0KF90YXNrYmFyTGlzdCk7CisgICAgICAgIFJlbGVhc2VEaWN0KF9vdmVycmlkYWJsZVZhcmlhYmxlcyk7CisgICAgICAgIFJlbGVhc2VTdHIoX2ZhaWxlZE1lc3NhZ2UpOworICAgICAgICBSZWxlYXNlU3RyKF9jb25maXJtQ2xvc2VNZXNzYWdlKTsKKyAgICAgICAgQmFsQ29uZGl0aW9uc1VuaW5pdGlhbGl6ZSgmX2NvbmRpdGlvbnMpOworICAgICAgICBCYWxJbmZvVW5pbml0aWFsaXplKCZfYnVuZGxlKTsKKyAgICAgICAgTG9jRnJlZShfd2l4TG9jKTsKKworICAgICAgICBSZWxlYXNlU3RyKF9sYW5ndWFnZSk7CisgICAgICAgIFJlbGVhc2VTdHIoX25leHRQYWNrYWdlQWZ0ZXJSZXN0YXJ0KTsKKyAgICAgICAgUmVsZWFzZU51bGxPYmplY3QoX2VuZ2luZSk7CisKKyAgICAgICAgaWYgKF9oQkFGTW9kdWxlKSB7CisgICAgICAgICAgICA6OkZyZWVMaWJyYXJ5KF9oQkFGTW9kdWxlKTsKKyAgICAgICAgICAgIF9oQkFGTW9kdWxlID0gbnVsbHB0cjsKKyAgICAgICAgfQorICAgIH0KKworcHJpdmF0ZToKKyAgICBITU9EVUxFIF9oTW9kdWxlOworICAgIEJPT1RTVFJBUFBFUl9DT01NQU5EIF9jb21tYW5kOworICAgIElCb290c3RyYXBwZXJFbmdpbmUqIF9lbmdpbmU7CisgICAgQk9PVFNUUkFQUEVSX0FDVElPTiBfcGxhbm5lZEFjdGlvbjsKKworICAgIExQV1NUUiBfbmV4dFBhY2thZ2VBZnRlclJlc3RhcnQ7CisKKyAgICBXSVhfTE9DQUxJWkFUSU9OKiBfd2l4TG9jOworICAgIEJBTF9JTkZPX0JVTkRMRSBfYnVuZGxlOworICAgIEJBTF9DT05ESVRJT05TIF9jb25kaXRpb25zOworICAgIExQV1NUUiBfZmFpbGVkTWVzc2FnZTsKKyAgICBMUFdTVFIgX2NvbmZpcm1DbG9zZU1lc3NhZ2U7CisKKyAgICBMUFdTVFIgX2xhbmd1YWdlOworICAgIFRIRU1FKiBfdGhlbWU7CisgICAgRFdPUkQgX3BhZ2VJZHNbY291bnRvZihQQUdFX05BTUVTKV07CisgICAgSEFORExFIF9oVWlUaHJlYWQ7CisgICAgQk9PTCBfcmVnaXN0ZXJlZDsKKyAgICBIV05EIF9oV25kOworCisgICAgUFlCQV9TVEFURSBfc3RhdGU7CisgICAgSFJFU1VMVCBfaHJGaW5hbDsKKyAgICBEV09SRCBfdmlzaWJsZVBhZ2VJZDsKKyAgICBQQUdFIF9pbnN0YWxsUGFnZTsKKworICAgIEJPT0wgX3N0YXJ0ZWRFeGVjdXRpb247CisgICAgRFdPUkQgX2NhbGN1bGF0ZWRDYWNoZVByb2dyZXNzOworICAgIERXT1JEIF9jYWxjdWxhdGVkRXhlY3V0ZVByb2dyZXNzOworCisgICAgQk9PTCBfZG93bmdyYWRpbmc7CisgICAgQk9PVFNUUkFQUEVSX0FQUExZX1JFU1RBUlQgX3Jlc3RhcnRSZXN1bHQ7CisgICAgQk9PTCBfcmVzdGFydFJlcXVpcmVkOworICAgIEJPT0wgX2FsbG93UmVzdGFydDsKKworICAgIEJPT0wgX3N1cHByZXNzRG93bmdyYWRlRmFpbHVyZTsKKyAgICBCT09MIF9zdXBwcmVzc1JlcGFpcjsKKworICAgIFNUUklOR0RJQ1RfSEFORExFIF9vdmVycmlkYWJsZVZhcmlhYmxlczsKKworICAgIElUYXNrYmFyTGlzdDMqIF90YXNrYmFyTGlzdDsKKyAgICBVSU5UIF90YXNrYmFyQnV0dG9uQ3JlYXRlZE1lc3NhZ2U7CisgICAgQk9PTCBfdGFza2JhckJ1dHRvbk9LOworICAgIEJPT0wgX3Nob3dpbmdJbnRlcm5hbFVJVGhpc1BhY2thZ2U7CisgICAgQk9PTCBfdHJpZWRUb0xhdW5jaEVsZXZhdGVkOworCisgICAgQk9PTCBfc3VwcHJlc3NQYWludDsKKworICAgIEhNT0RVTEUgX2hCQUZNb2R1bGU7CisgICAgSUJvb3RzdHJhcHBlckJBRnVuY3Rpb24qIF9iYUZ1bmN0aW9uOworfTsKKworLy8KKy8vIENyZWF0ZUJvb3RzdHJhcHBlckFwcGxpY2F0aW9uIC0gY3JlYXRlcyBhIG5ldyBJQm9vdHN0cmFwcGVyQXBwbGljYXRpb24gb2JqZWN0LgorLy8KK0hSRVNVTFQgQ3JlYXRlQm9vdHN0cmFwcGVyQXBwbGljYXRpb24oCisgICAgX19pbiBITU9EVUxFIGhNb2R1bGUsCisgICAgX19pbiBCT09MIGZQcmVyZXEsCisgICAgX19pbiBIUkVTVUxUIGhySG9zdEluaXRpYWxpemF0aW9uLAorICAgIF9faW4gSUJvb3RzdHJhcHBlckVuZ2luZSogcEVuZ2luZSwKKyAgICBfX2luIGNvbnN0IEJPT1RTVFJBUFBFUl9DT01NQU5EKiBwQ29tbWFuZCwKKyAgICBfX291dCBJQm9vdHN0cmFwcGVyQXBwbGljYXRpb24qKiBwcEFwcGxpY2F0aW9uCisgICAgKSB7CisgICAgSFJFU1VMVCBociA9IFNfT0s7CisKKyAgICBpZiAoZlByZXJlcSkgeworICAgICAgICBociA9IEVfSU5WQUxJREFSRzsKKyAgICAgICAgRXhpdFdpdGhMYXN0RXJyb3IoaHIsICJGYWlsZWQgdG8gY3JlYXRlIFVJIHRocmVhZC4iKTsKKyAgICB9CisKKyAgICBQeXRob25Cb290c3RyYXBwZXJBcHBsaWNhdGlvbiogcEFwcGxpY2F0aW9uID0gbnVsbHB0cjsKKworICAgIHBBcHBsaWNhdGlvbiA9IG5ldyBQeXRob25Cb290c3RyYXBwZXJBcHBsaWNhdGlvbihoTW9kdWxlLCBmUHJlcmVxLCBockhvc3RJbml0aWFsaXphdGlvbiwgcEVuZ2luZSwgcENvbW1hbmQpOworICAgIEV4aXRPbk51bGwocEFwcGxpY2F0aW9uLCBociwgRV9PVVRPRk1FTU9SWSwgIkZhaWxlZCB0byBjcmVhdGUgbmV3IHN0YW5kYXJkIGJvb3RzdHJhcHBlciBhcHBsaWNhdGlvbiBvYmplY3QuIik7CisKKyAgICAqcHBBcHBsaWNhdGlvbiA9IHBBcHBsaWNhdGlvbjsKKyAgICBwQXBwbGljYXRpb24gPSBudWxscHRyOworCitMRXhpdDoKKyAgICBSZWxlYXNlT2JqZWN0KHBBcHBsaWNhdGlvbik7CisgICAgcmV0dXJuIGhyOworfQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2J1bmRsZS9ib290c3RyYXAvcGNoLmNwcCBiL1Rvb2xzL21zaS9idW5kbGUvYm9vdHN0cmFwL3BjaC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWQ5ZjM4YwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9idW5kbGUvYm9vdHN0cmFwL3BjaC5jcHAKQEAgLTAsMCArMSBAQAorI2luY2x1ZGUgInBjaC5oIgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2J1bmRsZS9ib290c3RyYXAvcGNoLmggYi9Ub29scy9tc2kvYnVuZGxlL2Jvb3RzdHJhcC9wY2guaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOTU2NDEzCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2J1bmRsZS9ib290c3RyYXAvcGNoLmgKQEAgLTAsMCArMSw1OSBAQAorLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisvLyA8Y29weXJpZ2h0IGZpbGU9InByZWNvbXAuaCIgY29tcGFueT0iT3V0ZXJjdXJ2ZSBGb3VuZGF0aW9uIj4KKy8vICAgQ29weXJpZ2h0IChjKSAyMDA0LCBPdXRlcmN1cnZlIEZvdW5kYXRpb24uCisvLyAgIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTWljcm9zb2Z0IFJlY2lwcm9jYWwgTGljZW5zZSAoTVMtUkwpLgorLy8gICBUaGUgbGljZW5zZSBhbmQgZnVydGhlciBjb3B5cmlnaHQgdGV4dCBjYW4gYmUgZm91bmQgaW4gdGhlIGZpbGUKKy8vICAgTElDRU5TRS5UWFQgYXQgdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoZSBkaXN0cmlidXRpb24uCisvLyA8L2NvcHlyaWdodD4KKy8vIAorLy8gPHN1bW1hcnk+CisvLyAgICBQcmVjb21waWxlZCBoZWFkZXIgZm9yIHN0YW5kYXJkIGJvb3RzdHJhcHBlciBhcHBsaWNhdGlvbi4KKy8vIDwvc3VtbWFyeT4KKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHdpbmRvd3MuaD4KKyNpbmNsdWRlIDxnZGlwbHVzLmg+CisjaW5jbHVkZSA8VXh0aGVtZS5oPgorI2luY2x1ZGUgPG1zaXF1ZXJ5Lmg+CisjaW5jbHVkZSA8b2JqYmFzZS5oPgorI2luY2x1ZGUgPHNobG9iai5oPgorI2luY2x1ZGUgPHNobHdhcGkuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJzYWZlLmg+CisjaW5jbHVkZSA8c3RkZGVmLmg+CisKKyNpbmNsdWRlICJkdXRpbC5oIgorI2luY2x1ZGUgIm1lbXV0aWwuaCIKKyNpbmNsdWRlICJkaWN0dXRpbC5oIgorI2luY2x1ZGUgImRpcnV0aWwuaCIKKyNpbmNsdWRlICJmaWxldXRpbC5oIgorI2luY2x1ZGUgImxvY3V0aWwuaCIKKyNpbmNsdWRlICJsb2d1dGlsLmgiCisjaW5jbHVkZSAicGF0aHV0aWwuaCIKKyNpbmNsdWRlICJyZXNydXRpbC5oIgorI2luY2x1ZGUgInNoZWx1dGlsLmgiCisjaW5jbHVkZSAic3RydXRpbC5oIgorI2luY2x1ZGUgInRobXV0aWwuaCIKKyNpbmNsdWRlICJ1cml1dGlsLmgiCisjaW5jbHVkZSAieG1sdXRpbC5oIgorCisjaW5jbHVkZSAiSUJvb3RzdHJhcHBlckVuZ2luZS5oIgorI2luY2x1ZGUgIklCb290c3RyYXBwZXJBcHBsaWNhdGlvbi5oIgorCisjaW5jbHVkZSAiQmFsQmFzZUJvb3RzdHJhcHBlckFwcGxpY2F0aW9uLmgiCisjaW5jbHVkZSAiYmFsaW5mby5oIgorI2luY2x1ZGUgImJhbGNvbmRpdGlvbi5oIgorCitIUkVTVUxUIENyZWF0ZUJvb3RzdHJhcHBlckFwcGxpY2F0aW9uKAorICAgIF9faW4gSE1PRFVMRSBoTW9kdWxlLAorICAgIF9faW4gQk9PTCBmUHJlcmVxLAorICAgIF9faW4gSFJFU1VMVCBockhvc3RJbml0aWFsaXphdGlvbiwKKyAgICBfX2luIElCb290c3RyYXBwZXJFbmdpbmUqIHBFbmdpbmUsCisgICAgX19pbiBjb25zdCBCT09UU1RSQVBQRVJfQ09NTUFORCogcENvbW1hbmQsCisgICAgX19vdXQgSUJvb3RzdHJhcHBlckFwcGxpY2F0aW9uKiogcHBBcHBsaWNhdGlvbgorKTsKKworI2luY2x1ZGUgIklCb290c3RyYXBwZXJCQUZ1bmN0aW9uLmgiCisKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9idW5kbGUvYm9vdHN0cmFwL3B5dGhvbmJhLmNwcCBiL1Rvb2xzL21zaS9idW5kbGUvYm9vdHN0cmFwL3B5dGhvbmJhLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wY2U0NWFkCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2J1bmRsZS9ib290c3RyYXAvcHl0aG9uYmEuY3BwCkBAIC0wLDAgKzEsNzYgQEAKKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLy8gPGNvcHlyaWdodCBmaWxlPSJ3aXhzdGRiYS5jcHAiIGNvbXBhbnk9Ik91dGVyY3VydmUgRm91bmRhdGlvbiI+CisvLyAgIENvcHlyaWdodCAoYykgMjAwNCwgT3V0ZXJjdXJ2ZSBGb3VuZGF0aW9uLgorLy8gICBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1pY3Jvc29mdCBSZWNpcHJvY2FsIExpY2Vuc2UgKE1TLVJMKS4KKy8vICAgVGhlIGxpY2Vuc2UgYW5kIGZ1cnRoZXIgY29weXJpZ2h0IHRleHQgY2FuIGJlIGZvdW5kIGluIHRoZSBmaWxlCisvLyAgIExJQ0VOU0UuVFhUIGF0IHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGUgZGlzdHJpYnV0aW9uLgorLy8gPC9jb3B5cmlnaHQ+CisvLworLy8gPHN1bW1hcnk+CisvLyBTZXR1cCBjaGFpbmVyL2Jvb3RzdHJhcHBlciBzdGFuZGFyZCBVSSBmb3IgV2lYIHRvb2xzZXQuCisvLyA8L3N1bW1hcnk+CisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworI2luY2x1ZGUgInBjaC5oIgorCitzdGF0aWMgSElOU1RBTkNFIHZoSW5zdGFuY2UgPSBOVUxMOworCitleHRlcm4gIkMiIEJPT0wgV0lOQVBJIERsbE1haW4oCisgICAgSU4gSElOU1RBTkNFIGhJbnN0YW5jZSwKKyAgICBJTiBEV09SRCBkd1JlYXNvbiwKKyAgICBJTiBMUFZPSUQgLyogcHZSZXNlcnZlZCAqLworICAgICkKK3sKKyAgICBzd2l0Y2goZHdSZWFzb24pCisgICAgeworICAgIGNhc2UgRExMX1BST0NFU1NfQVRUQUNIOgorICAgICAgICA6OkRpc2FibGVUaHJlYWRMaWJyYXJ5Q2FsbHMoaEluc3RhbmNlKTsKKyAgICAgICAgdmhJbnN0YW5jZSA9IGhJbnN0YW5jZTsKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIERMTF9QUk9DRVNTX0RFVEFDSDoKKyAgICAgICAgdmhJbnN0YW5jZSA9IE5VTEw7CisgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIHJldHVybiBUUlVFOworfQorCisKK2V4dGVybiAiQyIgSFJFU1VMVCBXSU5BUEkgQm9vdHN0cmFwcGVyQXBwbGljYXRpb25DcmVhdGUoCisgICAgX19pbiBJQm9vdHN0cmFwcGVyRW5naW5lKiBwRW5naW5lLAorICAgIF9faW4gY29uc3QgQk9PVFNUUkFQUEVSX0NPTU1BTkQqIHBDb21tYW5kLAorICAgIF9fb3V0IElCb290c3RyYXBwZXJBcHBsaWNhdGlvbioqIHBwQXBwbGljYXRpb24KKyAgICApCit7CisgICAgSFJFU1VMVCBociA9IFNfT0s7CisKKyAgICBCYWxJbml0aWFsaXplKHBFbmdpbmUpOworCisgICAgaHIgPSBDcmVhdGVCb290c3RyYXBwZXJBcHBsaWNhdGlvbih2aEluc3RhbmNlLCBGQUxTRSwgU19PSywgcEVuZ2luZSwgcENvbW1hbmQsIHBwQXBwbGljYXRpb24pOworICAgIEJhbEV4aXRPbkZhaWx1cmUoaHIsICJGYWlsZWQgdG8gY3JlYXRlIGJvb3RzdHJhcHBlciBhcHBsaWNhdGlvbiBpbnRlcmZhY2UuIik7CisKK0xFeGl0OgorICAgIHJldHVybiBocjsKK30KKworCitleHRlcm4gIkMiIHZvaWQgV0lOQVBJIEJvb3RzdHJhcHBlckFwcGxpY2F0aW9uRGVzdHJveSgpCit7CisgICAgQmFsVW5pbml0aWFsaXplKCk7Cit9CisKKworZXh0ZXJuICJDIiBIUkVTVUxUIFdJTkFQSSBNYmFQcmVyZXFCb290c3RyYXBwZXJBcHBsaWNhdGlvbkNyZWF0ZSgKKyAgICBfX2luIEhSRVNVTFQgaHJIb3N0SW5pdGlhbGl6YXRpb24sCisgICAgX19pbiBJQm9vdHN0cmFwcGVyRW5naW5lKiBwRW5naW5lLAorICAgIF9faW4gY29uc3QgQk9PVFNUUkFQUEVSX0NPTU1BTkQqIHBDb21tYW5kLAorICAgIF9fb3V0IElCb290c3RyYXBwZXJBcHBsaWNhdGlvbioqIHBwQXBwbGljYXRpb24KKyAgICApCit7CisgICAgcmV0dXJuIEVfTk9USU1QTDsKK30KKworCitleHRlcm4gIkMiIHZvaWQgV0lOQVBJIE1iYVByZXJlcUJvb3RzdHJhcHBlckFwcGxpY2F0aW9uRGVzdHJveSgpCit7IH0KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9idW5kbGUvYm9vdHN0cmFwL3B5dGhvbmJhLmRlZiBiL1Rvb2xzL21zaS9idW5kbGUvYm9vdHN0cmFwL3B5dGhvbmJhLmRlZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOWIzZmE1Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2J1bmRsZS9ib290c3RyYXAvcHl0aG9uYmEuZGVmCkBAIC0wLDAgKzEsMTggQEAKKzstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCis7IDxjb3B5cmlnaHQgZmlsZT0id2l4c3RkYmEuZGVmIiBjb21wYW55PSJPdXRlcmN1cnZlIEZvdW5kYXRpb24iPgorOyAgIENvcHlyaWdodCAoYykgMjAwNCwgT3V0ZXJjdXJ2ZSBGb3VuZGF0aW9uLgorOyAgIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTWljcm9zb2Z0IFJlY2lwcm9jYWwgTGljZW5zZSAoTVMtUkwpLgorOyAgIFRoZSBsaWNlbnNlIGFuZCBmdXJ0aGVyIGNvcHlyaWdodCB0ZXh0IGNhbiBiZSBmb3VuZCBpbiB0aGUgZmlsZQorOyAgIExJQ0VOU0UuVFhUIGF0IHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGUgZGlzdHJpYnV0aW9uLgorOyA8L2NvcHlyaWdodD4KKzsgCis7IDxzdW1tYXJ5PgorOyAgICBXaVggU3RhbmRhcmQgQm9vdHN0cmFwcGVyIEFwcGxpY2F0aW9uIERMTCBlbnRyeSBwb2ludHMuCis7IDwvc3VtbWFyeT4KKzstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0VYUE9SVFMKKyAgICBCb290c3RyYXBwZXJBcHBsaWNhdGlvbkNyZWF0ZQorICAgIEJvb3RzdHJhcHBlckFwcGxpY2F0aW9uRGVzdHJveQorICAgIE1iYVByZXJlcUJvb3RzdHJhcHBlckFwcGxpY2F0aW9uQ3JlYXRlCisgICAgTWJhUHJlcmVxQm9vdHN0cmFwcGVyQXBwbGljYXRpb25EZXN0cm95CmRpZmYgLS1naXQgYS9Ub29scy9tc2kvYnVuZGxlL2Jvb3RzdHJhcC9weXRob25iYS5zbG4gYi9Ub29scy9tc2kvYnVuZGxlL2Jvb3RzdHJhcC9weXRob25iYS5zbG4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmY0M2ZlZAotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9idW5kbGUvYm9vdHN0cmFwL3B5dGhvbmJhLnNsbgpAQCAtMCwwICsxLDIyIEBACivvu78KK01pY3Jvc29mdCBWaXN1YWwgU3R1ZGlvIFNvbHV0aW9uIEZpbGUsIEZvcm1hdCBWZXJzaW9uIDEyLjAwCisjIFZpc3VhbCBTdHVkaW8gMjAxMworVmlzdWFsU3R1ZGlvVmVyc2lvbiA9IDEyLjAuMzA1MDEuMAorTWluaW11bVZpc3VhbFN0dWRpb1ZlcnNpb24gPSAxMC4wLjQwMjE5LjEKK1Byb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAicHl0aG9uYmEiLCAicHl0aG9uYmEudmN4cHJvaiIsICJ7N0EwOUIxMzItQjNFRS00OTlCLUE3MDAtQTRCMjE1N0ZFQTNEfSIKK0VuZFByb2plY3QKK0dsb2JhbAorCUdsb2JhbFNlY3Rpb24oU29sdXRpb25Db25maWd1cmF0aW9uUGxhdGZvcm1zKSA9IHByZVNvbHV0aW9uCisJCURlYnVnfFdpbjMyID0gRGVidWd8V2luMzIKKwkJUmVsZWFzZXxXaW4zMiA9IFJlbGVhc2V8V2luMzIKKwlFbmRHbG9iYWxTZWN0aW9uCisJR2xvYmFsU2VjdGlvbihQcm9qZWN0Q29uZmlndXJhdGlvblBsYXRmb3JtcykgPSBwb3N0U29sdXRpb24KKwkJezdBMDlCMTMyLUIzRUUtNDk5Qi1BNzAwLUE0QjIxNTdGRUEzRH0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzIKKwkJezdBMDlCMTMyLUIzRUUtNDk5Qi1BNzAwLUE0QjIxNTdGRUEzRH0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyCisJCXs3QTA5QjEzMi1CM0VFLTQ5OUItQTcwMC1BNEIyMTU3RkVBM0R9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMgorCQl7N0EwOUIxMzItQjNFRS00OTlCLUE3MDAtQTRCMjE1N0ZFQTNEfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyCisJRW5kR2xvYmFsU2VjdGlvbgorCUdsb2JhbFNlY3Rpb24oU29sdXRpb25Qcm9wZXJ0aWVzKSA9IHByZVNvbHV0aW9uCisJCUhpZGVTb2x1dGlvbk5vZGUgPSBGQUxTRQorCUVuZEdsb2JhbFNlY3Rpb24KK0VuZEdsb2JhbApkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2J1bmRsZS9ib290c3RyYXAvcHl0aG9uYmEudmN4cHJvaiBiL1Rvb2xzL21zaS9idW5kbGUvYm9vdHN0cmFwL3B5dGhvbmJhLnZjeHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWQ4MzM3YwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9idW5kbGUvYm9vdHN0cmFwL3B5dGhvbmJhLnZjeHByb2oKQEAgLTAsMCArMSw2OSBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzwhLS0KKyAgPGNvcHlyaWdodCBmaWxlPSJ3aXhzdGRiYS52Y3hwcm9qIiBjb21wYW55PSJPdXRlcmN1cnZlIEZvdW5kYXRpb24iPgorICAgIENvcHlyaWdodCAoYykgMjAwNCwgT3V0ZXJjdXJ2ZSBGb3VuZGF0aW9uLgorICAgIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTWljcm9zb2Z0IFJlY2lwcm9jYWwgTGljZW5zZSAoTVMtUkwpLgorICAgIFRoZSBsaWNlbnNlIGFuZCBmdXJ0aGVyIGNvcHlyaWdodCB0ZXh0IGNhbiBiZSBmb3VuZCBpbiB0aGUgZmlsZQorICAgIExJQ0VOU0UuVFhUIGF0IHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGUgZGlzdHJpYnV0aW9uLgorICA8L2NvcHlyaWdodD4KKy0tPgorPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgIDxJdGVtR3JvdXAgTGFiZWw9IlByb2plY3RDb25maWd1cmF0aW9ucyI+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVnfFdpbjMyIj4KKyAgICAgIDxDb25maWd1cmF0aW9uPkRlYnVnPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJSZWxlYXNlfFdpbjMyIj4KKyAgICAgIDxDb25maWd1cmF0aW9uPlJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgIDwvSXRlbUdyb3VwPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+CisgICAgPENvbmZpZ3VyYXRpb24gQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKScgPT0gJyciPlJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+CisgICAgPFBsYXRmb3JtIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJyA9PSAnJyI+V2luMzI8L1BsYXRmb3JtPgorICAgIDxQbGF0Zm9ybVRvb2xzZXQgQ29uZGl0aW9uPSInJChQbGF0Zm9ybVRvb2xzZXQpJyA9PSAnJyBhbmQgJyQoVkNUYXJnZXRzUGF0aDE0KScgIT0gJyciPnYxNDA8L1BsYXRmb3JtVG9vbHNldD4KKyAgICA8UGxhdGZvcm1Ub29sc2V0IENvbmRpdGlvbj0iJyQoUGxhdGZvcm1Ub29sc2V0KScgPT0gJycgYW5kICckKFZDVGFyZ2V0c1BhdGgxMiknICE9ICcnIj52MTIwPC9QbGF0Zm9ybVRvb2xzZXQ+CisgICAgPFByb2plY3RHdWlkPns3QTA5QjEzMi1CM0VFLTQ5OUItQTcwMC1BNEIyMTU3RkVBM0R9PC9Qcm9qZWN0R3VpZD4KKyAgICA8VGFyZ2V0TmFtZT5QeXRob25CQTwvVGFyZ2V0TmFtZT4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgorICA8SW1wb3J0IFByb2plY3Q9Ii4uXC4uXHdpeC5wcm9wcyIgLz4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+CisgICAgPENoYXJhY3RlclNldD5Vbmljb2RlPC9DaGFyYWN0ZXJTZXQ+CisgICAgPEludERpcj4kKFByb2plY3REaXIpLi5cLi5cb2JqXCQoQ29uZmlndXJhdGlvbilfQm9vdHN0cmFwXDwvSW50RGlyPgorICAgIDxPdXREaXI+JChJbnREaXIpPC9PdXREaXI+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0NSVF9TVERJT19MRUdBQ1lfV0lERV9TUEVDSUZJRVJTPTE7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChXaXhJbnN0YWxsUGF0aClzZGtcaW5jPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgorICAgICAgPFByZWNvbXBpbGVkSGVhZGVyPlVzZTwvUHJlY29tcGlsZWRIZWFkZXI+CisgICAgICA8UHJlY29tcGlsZWRIZWFkZXJGaWxlPnBjaC5oPC9QcmVjb21waWxlZEhlYWRlckZpbGU+CisgICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZDwvUnVudGltZUxpYnJhcnk+CisgICAgPC9DbENvbXBpbGU+CisgICAgPExpbms+CisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5jb21jdGwzMi5saWI7Z2RpcGx1cy5saWI7bXNpbWczMi5saWI7c2hsd2FwaS5saWI7d2luaW5ldC5saWI7ZHV0aWwubGliO2JhbHV0aWwubGliO3ZlcnNpb24ubGliO3V4dGhlbWUubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+CisgICAgICA8QWRkaXRpb25hbExpYnJhcnlEaXJlY3RvcmllcyBDb25kaXRpb249IickKFBsYXRmb3JtVG9vbHNldCknID09ICd2MTQwJyI+JChXaXhJbnN0YWxsUGF0aClzZGtcdnMyMDE1XGxpYlx4ODY8L0FkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+CisgICAgICA8QWRkaXRpb25hbExpYnJhcnlEaXJlY3RvcmllcyBDb25kaXRpb249IickKFBsYXRmb3JtVG9vbHNldCknID09ICd2MTIwJyI+JChXaXhJbnN0YWxsUGF0aClzZGtcdnMyMDEzXGxpYlx4ODY8L0FkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+CisgICAgICA8TW9kdWxlRGVmaW5pdGlvbkZpbGU+cHl0aG9uYmEuZGVmPC9Nb2R1bGVEZWZpbml0aW9uRmlsZT4KKyAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24gQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKSc9PSdEZWJ1ZyciPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4KKyAgICA8L0xpbms+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IlB5dGhvbkJvb3RzdHJhcHBlckFwcGxpY2F0aW9uLmNwcCIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9InB5dGhvbmJhLmNwcCIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9InBjaC5jcHAiPgorICAgICAgPFByZWNvbXBpbGVkSGVhZGVyPkNyZWF0ZTwvUHJlY29tcGlsZWRIZWFkZXI+CisgICAgPC9DbENvbXBpbGU+CisgIDwvSXRlbUdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0icGNoLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSJyZXNvdXJjZS5oIiAvPgorICA8L0l0ZW1Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8Tm9uZSBJbmNsdWRlPSJweXRob25iYS5kZWYiIC8+CisgIDwvSXRlbUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC50YXJnZXRzIiAvPgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9idW5kbGUvYm9vdHN0cmFwL3Jlc291cmNlLmggYi9Ub29scy9tc2kvYnVuZGxlL2Jvb3RzdHJhcC9yZXNvdXJjZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUzYzAzYzMKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvYnVuZGxlL2Jvb3RzdHJhcC9yZXNvdXJjZS5oCkBAIC0wLDAgKzEsMjUgQEAKKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLy8gPGNvcHlyaWdodCBmaWxlPSJyZXNvdXJjZS5oIiBjb21wYW55PSJPdXRlcmN1cnZlIEZvdW5kYXRpb24iPgorLy8gICBDb3B5cmlnaHQgKGMpIDIwMDQsIE91dGVyY3VydmUgRm91bmRhdGlvbi4KKy8vICAgVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNaWNyb3NvZnQgUmVjaXByb2NhbCBMaWNlbnNlIChNUy1STCkuCisvLyAgIFRoZSBsaWNlbnNlIGFuZCBmdXJ0aGVyIGNvcHlyaWdodCB0ZXh0IGNhbiBiZSBmb3VuZCBpbiB0aGUgZmlsZQorLy8gICBMSUNFTlNFLlRYVCBhdCB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhlIGRpc3RyaWJ1dGlvbi4KKy8vIDwvY29weXJpZ2h0PgorLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKy8ve3tOT19ERVBFTkRFTkNJRVN9fQorLy8gTWljcm9zb2Z0IFZpc3VhbCBDKysgZ2VuZXJhdGVkIGluY2x1ZGUgZmlsZS4KKy8vCisjZGVmaW5lIElEQ19TVEFUSUMgICAgICAgICAgICAgICAgICAgICAgLTEKKworCisvLyBOZXh0IGRlZmF1bHQgdmFsdWVzIGZvciBuZXcgb2JqZWN0cworLy8gCisjaWZkZWYgQVBTVFVESU9fSU5WT0tFRAorI2lmbmRlZiBBUFNUVURJT19SRUFET05MWV9TWU1CT0xTCisjZGVmaW5lIF9BUFNfTkVYVF9SRVNPVVJDRV9WQUxVRSAgICAgICAgMTAyCisjZGVmaW5lIF9BUFNfTkVYVF9DT01NQU5EX1ZBTFVFICAgICAgICAgNDAwMDEKKyNkZWZpbmUgX0FQU19ORVhUX0NPTlRST0xfVkFMVUUgICAgICAgICAxMDAzCisjZGVmaW5lIF9BUFNfTkVYVF9TWU1FRF9WQUxVRSAgICAgICAgICAgMTAxCisjZW5kaWYKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2J1bmRsZS9idW5kbGUuaWNvIGIvVG9vbHMvbXNpL2J1bmRsZS9idW5kbGUuaWNvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFhYjYyOWUKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvYnVuZGxlL2J1bmRsZS5pY28KQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2J1bmRsZS9idW5kbGUudGFyZ2V0cyBiL1Rvb2xzL21zaS9idW5kbGUvYnVuZGxlLnRhcmdldHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzY5N2FmNwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9idW5kbGUvYnVuZGxlLnRhcmdldHMKQEAgLTAsMCArMSw5OSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiIFRyZWF0QXNMb2NhbFByb3BlcnR5PSJEb3dubG9hZFVybCI+CisgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICAgIDxTY2hlbWFWZXJzaW9uPjIuMDwvU2NoZW1hVmVyc2lvbj4KKyAgICAgICAgPE91dHB1dFR5cGU+QnVuZGxlPC9PdXRwdXRUeXBlPgorICAgICAgICAKKyAgICAgICAgPEJvb3RzdHJhcENvbmZpZ3VyYXRpb24gQ29uZGl0aW9uPSInJChCb290c3RyYXBDb25maWd1cmF0aW9uKScgPT0gJyciPlJlbGVhc2U8L0Jvb3RzdHJhcENvbmZpZ3VyYXRpb24+CisgICAgICAgIDxMaW5rZXJTdXBwcmVzc1NwZWNpZmljV2FybmluZ3M+MTEzMjsxMTM1OzExNDA8L0xpbmtlclN1cHByZXNzU3BlY2lmaWNXYXJuaW5ncz4KKyAgICAgICAgPE91dHB1dE5hbWUgQ29uZGl0aW9uPSIkKEJ1aWxkRm9yUmVsZWFzZSkiPiQoT3V0cHV0TmFtZSktJChQeXRob25WZXJzaW9uKTwvT3V0cHV0TmFtZT4KKyAgICAgICAgPE91dHB1dE5hbWUgQ29uZGl0aW9uPSIhJChCdWlsZEZvclJlbGVhc2UpIj4kKE91dHB1dE5hbWUpLSQoTWFqb3JWZXJzaW9uTnVtYmVyKS4kKE1pbm9yVmVyc2lvbk51bWJlcikuJChNaWNyb1ZlcnNpb25OdW1iZXIpLiQoUmV2aXNpb25OdW1iZXIpPC9PdXRwdXROYW1lPgorICAgICAgICA8T3V0cHV0TmFtZSBDb25kaXRpb249IiQoUGxhdGZvcm0pID09ICd4NjQnIj4kKE91dHB1dE5hbWUpLWFtZDY0PC9PdXRwdXROYW1lPgorICAgICAgICA8T3V0cHV0TmFtZSBDb25kaXRpb249IickKE91dHB1dFN1ZmZpeCknICE9ICcnIj4kKE91dHB1dE5hbWUpLSQoT3V0cHV0U3VmZml4KTwvT3V0cHV0TmFtZT4KKworICAgICAgICA8T3V0cHV0UGF0aD4kKE91dHB1dFBhdGgpZW4tdXNcPC9PdXRwdXRQYXRoPgorICAgICAgICA8T3V0RGlyPiQoT3V0cHV0UGF0aCk8L091dERpcj4KKyAgICAgICAgCisgICAgICAgIDxEb3dubG9hZFVybCBDb25kaXRpb249IickKERvd25sb2FkVXJsKScgPT0gJycgYW5kICckKERvd25sb2FkVXJsQmFzZSknICE9ICcnIj4kKERvd25sb2FkVXJsQmFzZS5UcmltRW5kKGAvYCkpLyQoTWFqb3JWZXJzaW9uTnVtYmVyKS4kKE1pbm9yVmVyc2lvbk51bWJlcikuJChNaWNyb1ZlcnNpb25OdW1iZXIpLyQoQXJjaE5hbWUpJChSZWxlYXNlTGV2ZWxOYW1lKS88L0Rvd25sb2FkVXJsPgorICAgICAgICA8RGVmaW5lQ29uc3RhbnRzIENvbmRpdGlvbj0iJyQoRG93bmxvYWRVcmwpJyAhPSAnJyI+JChEZWZpbmVDb25zdGFudHMpO0Rvd25sb2FkVXJsPSQoRG93bmxvYWRVcmwpezJ9PC9EZWZpbmVDb25zdGFudHM+CisgICAgICAgIDxEZWZpbmVDb25zdGFudHMgQ29uZGl0aW9uPSInJChEb3dubG9hZFVybCknID09ICcnIj4kKERlZmluZUNvbnN0YW50cyk7RG93bmxvYWRVcmw9ezJ9PC9EZWZpbmVDb25zdGFudHM+CisgICAgPC9Qcm9wZXJ0eUdyb3VwPgorICAgIAorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxXaXhFeHRlbnNpb24gSW5jbHVkZT0iV2l4VXRpbEV4dGVuc2lvbiI+CisgICAgICAgICAgICA8SGludFBhdGg+V2l4VXRpbEV4dGVuc2lvbjwvSGludFBhdGg+CisgICAgICAgICAgICA8TmFtZT5XaXhVdGlsRXh0ZW5zaW9uPC9OYW1lPgorICAgICAgICA8L1dpeEV4dGVuc2lvbj4KKyAgICAgICAgPFdpeEV4dGVuc2lvbiBJbmNsdWRlPSJXaXhEZXBlbmRlbmN5RXh0ZW5zaW9uIj4KKyAgICAgICAgICAgIDxIaW50UGF0aD5XaXhEZXBlbmRlbmN5RXh0ZW5zaW9uPC9IaW50UGF0aD4KKyAgICAgICAgICAgIDxOYW1lPldpeERlcGVuZGVuY3lFeHRlbnNpb248L05hbWU+CisgICAgICAgIDwvV2l4RXh0ZW5zaW9uPgorICAgICAgICA8V2l4RXh0ZW5zaW9uIEluY2x1ZGU9IldpeEJhbEV4dGVuc2lvbiI+CisgICAgICAgICAgICA8SGludFBhdGg+V2l4QmFsRXh0ZW5zaW9uPC9IaW50UGF0aD4KKyAgICAgICAgICAgIDxOYW1lPldpeEJhbEV4dGVuc2lvbjwvTmFtZT4KKyAgICAgICAgPC9XaXhFeHRlbnNpb24+CisgICAgPC9JdGVtR3JvdXA+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPENvbXBpbGUgSW5jbHVkZT0iYnVuZGxlLnd4cyIgLz4KKyAgICAgICAgPENvbXBpbGUgSW5jbHVkZT0icGFja2FnZWdyb3Vwc1wqLnd4cyIgLz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8Q29udGVudCBJbmNsdWRlPSJEZWZhdWx0LnRobSIgLz4KKyAgICAgICAgPENvbnRlbnQgSW5jbHVkZT0iRGVmYXVsdC53eGwiIC8+CisgICAgICAgIDxDb250ZW50IEluY2x1ZGU9IlNpZGVCYXIucG5nIiAvPgorICAgIDwvSXRlbUdyb3VwPgorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxXeGxUZW1wbGF0ZSBJbmNsdWRlPSIqX2VuLVVTLnd4bF90ZW1wbGF0ZSIgLz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8TGlua2VyQmluZElucHV0UGF0aHMgSW5jbHVkZT0iJChPdXRwdXRQYXRoKSI+CisgICAgICAgICAgICA8QmluZE5hbWU+PC9CaW5kTmFtZT4KKyAgICAgICAgPC9MaW5rZXJCaW5kSW5wdXRQYXRocz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICAKKyAgICA8SXRlbURlZmluaXRpb25Hcm91cD4KKyAgICAgICAgPFBhY2thZ2U+CisgICAgICAgICAgICA8UHJvcGVydGllcz5CdWlsZEZvclJlbGVhc2U9JChCdWlsZEZvclJlbGVhc2UpPC9Qcm9wZXJ0aWVzPgorICAgICAgICA8L1BhY2thZ2U+CisgICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxQYWNrYWdlIEluY2x1ZGU9Ii4uXGNvcmVcY29yZSoud2l4cHJvaiIgLz4KKyAgICAgICAgPFBhY2thZ2UgSW5jbHVkZT0iLi5cY3J0XGNydCoud2l4cHJvaiIgLz4KKyAgICAgICAgPFBhY2thZ2UgSW5jbHVkZT0iLi5cZGV2XGRldioud2l4cHJvaiIgLz4KKyAgICAgICAgPFBhY2thZ2UgSW5jbHVkZT0iLi5cZG9jXGRvYyoud2l4cHJvaiIgLz4KKyAgICAgICAgPFBhY2thZ2UgSW5jbHVkZT0iLi5cZXhlXGV4ZSoud2l4cHJvaiIgLz4KKyAgICAgICAgPFBhY2thZ2UgSW5jbHVkZT0iLi5cbGliXGxpYioud2l4cHJvaiIgLz4KKyAgICAgICAgPFBhY2thZ2UgSW5jbHVkZT0iLi5ccGF0aFxwYXRoKi53aXhwcm9qIiAvPgorICAgICAgICA8UGFja2FnZSBJbmNsdWRlPSIuLlxwaXBccGlwKi53aXhwcm9qIiAvPgorICAgICAgICA8UGFja2FnZSBJbmNsdWRlPSIuLlx0Y2x0a1x0Y2x0ayoud2l4cHJvaiIgLz4KKyAgICAgICAgPFBhY2thZ2UgSW5jbHVkZT0iLi5cdGVzdFx0ZXN0Ki53aXhwcm9qIiAvPgorICAgICAgICA8UGFja2FnZSBJbmNsdWRlPSIuLlx0b29sc1x0b29scyoud2l4cHJvaiIgLz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICAKKyAgICA8VGFyZ2V0IE5hbWU9IkJ1aWxkUGFja2FnZXMiIEJlZm9yZVRhcmdldHM9IkJlZm9yZUJ1aWxkIiBDb25kaXRpb249IickKFJlYnVpbGRBbGwpJyAhPSAnZmFsc2UnIj4KKyAgICAgICAgPE1TQnVpbGQgUHJvamVjdHM9IkAoUGFja2FnZSkiIEJ1aWxkSW5QYXJhbGxlbD0idHJ1ZSIgLz4KKyAgICA8L1RhcmdldD4KKyAgICAKKyAgICA8VGFyZ2V0IE5hbWU9IkJ1aWxkTGF1bmNoZXIiIEJlZm9yZVRhcmdldHM9IkJlZm9yZUJ1aWxkIiBDb25kaXRpb249IickKFJlYnVpbGRBbGwpJyAhPSAnZmFsc2UnIj4KKyAgICAgICAgPCEtLSBCdWlsZCB0aGUgbGF1bmNoZXIgTVNJIHVzaW5nIEV4ZWMgcmF0aGVyIHRoYW4gTVNCdWlsZCAtLT4KKyAgICAgICAgPEV4ZWMgQ29tbWFuZD0nbXNidWlsZCAuLlxsYXVuY2hlclxsYXVuY2hlci53aXhwcm9qIC9wOlBsYXRmb3JtPXg4NiAvcDpPdXRwdXRQYXRoPSIkKEJ1aWxkUGF0aC5UcmltRW5kKGBcYCkpIiAvcDpPdXRwdXRTdWZmaXg9JChQbGF0Zm9ybSkgL3A6QnVpbGRGb3JSZWxlYXNlPSQoQnVpbGRGb3JSZWxlYXNlKScKKyAgICAgICAgICAgICAgQ29udGludWVPbkVycm9yPSJmYWxzZSIgLz4KKyAgICA8L1RhcmdldD4KKyAgICAKKyAgICA8VGFyZ2V0IE5hbWU9IkJ1aWxkQm9vdHN0cmFwQXBwbGljYXRpb24iIEJlZm9yZVRhcmdldHM9IkJlZm9yZUJ1aWxkIj4KKyAgICAgICAgPE1lc3NhZ2UgVGV4dD0iQnVpbGRpbmcgYm9vdHN0cmFwIGFwcCIgSW1wb3J0YW5jZT0iaGlnaCIgLz4KKyAgICAgICAgCisgICAgICAgIDxNU0J1aWxkIFByb2plY3RzPSJib290c3RyYXBccHl0aG9uYmEudmN4cHJvaiIKKyAgICAgICAgICAgICAgICAgVGFyZ2V0cz0iQnVpbGQ7R2V0TmF0aXZlVGFyZ2V0UGF0aCIKKyAgICAgICAgICAgICAgICAgVXNlUmVzdWx0c0NhY2hlPSJ0cnVlIgorICAgICAgICAgICAgICAgICBQcm9wZXJ0aWVzPSJDb25maWd1cmF0aW9uPSQoQm9vdHN0cmFwQ29uZmlndXJhdGlvbik7UGxhdGZvcm09V2luMzIiPgorICAgICAgICAgICAgPE91dHB1dCBUYXNrUGFyYW1ldGVyPSJUYXJnZXRPdXRwdXRzIiBQcm9wZXJ0eU5hbWU9IkJvb3RzdHJhcEFwcFBhdGgiIC8+CisgICAgICAgIDwvTVNCdWlsZD4KKyAgICAgICAgCisgICAgICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgICAgICAgPERlZmluZUNvbnN0YW50cz4kKERlZmluZUNvbnN0YW50cyk7Qm9vdHN0cmFwQXBwPSQoQm9vdHN0cmFwQXBwUGF0aCk8L0RlZmluZUNvbnN0YW50cz4KKyAgICAgICAgPC9Qcm9wZXJ0eUdyb3VwPgorICAgIDwvVGFyZ2V0PgorICAgIAorICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cbXNpLnRhcmdldHMiIC8+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2J1bmRsZS9idW5kbGUud3hzIGIvVG9vbHMvbXNpL2J1bmRsZS9idW5kbGUud3hzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ4OTJlYmIKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvYnVuZGxlL2J1bmRsZS53eHMKQEAgLTAsMCArMSw4MCBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIgorICAgICB4bWxuczpiYWw9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4L0JhbEV4dGVuc2lvbiI+CisgIDxCdW5kbGUgTmFtZT0iIShsb2MuRnVsbFByb2R1Y3ROYW1lKSIKKyAgICAgICAgICBVcGdyYWRlQ29kZT0iJCh2YXIuVXBncmFkZUNvZGUpIgorICAgICAgICAgIFZlcnNpb249IiQodmFyLlZlcnNpb24pIgorICAgICAgICAgIEljb25Tb3VyY2VGaWxlPSJidW5kbGUuaWNvIgorICAgICAgICAgIE1hbnVmYWN0dXJlcj0iIShsb2MuTWFudWZhY3R1cmVyKSIKKyAgICAgICAgICBVcGRhdGVVcmw9Imh0dHA6Ly93d3cucHl0aG9uLm9yZy8iCisgICAgICAgICAgRGlzYWJsZU1vZGlmeT0iYnV0dG9uIgorICAgICAgICAgIENvbXByZXNzZWQ9Im5vIj4KKyAgICA8Qm9vdHN0cmFwcGVyQXBwbGljYXRpb24gSWQ9IlB5dGhvbkJBIiBTb3VyY2VGaWxlPSIkKHZhci5Cb290c3RyYXBBcHApIj4KKyAgICAgICAgPFBheWxvYWQgQ29tcHJlc3NlZD0neWVzJyBTb3VyY2VGaWxlPSdEZWZhdWx0LnRobScgLz4KKyAgICAgICAgPFBheWxvYWQgQ29tcHJlc3NlZD0neWVzJyBTb3VyY2VGaWxlPSdEZWZhdWx0Lnd4bCcgLz4KKyAgICAgICAgPFBheWxvYWQgQ29tcHJlc3NlZD0neWVzJyBTb3VyY2VGaWxlPSdTaWRlQmFyLnBuZycgLz4KKyAgICA8L0Jvb3RzdHJhcHBlckFwcGxpY2F0aW9uPgorCisgICAgPCEtLSBNYXkgYmUgc2V0IHRvICJSZW1vdmluZyIgb3IgIlJlcGFpcmluZyIgLS0+CisgICAgPFZhcmlhYmxlIE5hbWU9IkFjdGlvbkxpa2VJbnN0YWxsaW5nIiBWYWx1ZT0iSW5zdGFsbGluZyIgLz4KKyAgICA8IS0tIE1heSBiZSBzZXQgdG8gIlVuaW5zdGFsbGF0aW9uIiBvciAiUmVwYWlyIiAtLT4KKyAgICA8VmFyaWFibGUgTmFtZT0iQWN0aW9uTGlrZUluc3RhbGxhdGlvbiIgVmFsdWU9IlNldHVwIiAvPgorCisgICAgPFZhcmlhYmxlIE5hbWU9IlNob3J0VmVyc2lvbiIgVmFsdWU9IiQodmFyLk1ham9yVmVyc2lvbk51bWJlcikuJCh2YXIuTWlub3JWZXJzaW9uTnVtYmVyKSIgLz4KKyAgICA8VmFyaWFibGUgTmFtZT0iU2hvcnRWZXJzaW9uTm9Eb3QiIFZhbHVlPSIkKHZhci5NYWpvclZlcnNpb25OdW1iZXIpJCh2YXIuTWlub3JWZXJzaW9uTnVtYmVyKSIgLz4KKworICAgIDxWYXJpYWJsZSBOYW1lPSJJbnN0YWxsQWxsVXNlcnMiIFZhbHVlPSIxIiBQZXJzaXN0ZWQ9InllcyIgYmFsOk92ZXJyaWRhYmxlPSJ5ZXMiIC8+CisgICAgPFZhcmlhYmxlIE5hbWU9IlRhcmdldERpciIgVmFsdWU9IiIgUGVyc2lzdGVkPSJ5ZXMiIGJhbDpPdmVycmlkYWJsZT0ieWVzIiAvPgorICAgIDw/aWYgJCh2YXIuUGxhdGZvcm0pfj0ieDY0IiA/PgorICAgIDxWYXJpYWJsZSBOYW1lPSJEZWZhdWx0QWxsVXNlcnNUYXJnZXREaXIiIFZhbHVlPSJbUHJvZ3JhbUZpbGVzNjRGb2xkZXJdUHl0aG9uIFtTaG9ydFZlcnNpb25dIiBiYWw6T3ZlcnJpZGFibGU9InllcyIgLz4KKyAgICA8P2Vsc2UgPz4KKyAgICA8VmFyaWFibGUgTmFtZT0iRGVmYXVsdEFsbFVzZXJzVGFyZ2V0RGlyIiBWYWx1ZT0iW1Byb2dyYW1GaWxlc0ZvbGRlcl1QeXRob24gW1Nob3J0VmVyc2lvbl0iIGJhbDpPdmVycmlkYWJsZT0ieWVzIiAvPgorICAgIDw/ZW5kaWYgPz4KKyAgICA8VmFyaWFibGUgTmFtZT0iRGVmYXVsdEp1c3RGb3JNZVRhcmdldERpciIgVmFsdWU9IltMb2NhbEFwcERhdGFGb2xkZXJdUHJvZ3JhbXNcUHl0aG9uXFB5dGhvbltTaG9ydFZlcnNpb25Ob0RvdF0kKHZhci5TdWZmaXgzMikiIGJhbDpPdmVycmlkYWJsZT0ieWVzIiAvPgorICAgIAorICAgIDwhLS0KKyAgICBBbiBlbXB0eSBzdHJpbmcgd2lsbCB1c2UgdGhlIG90aGVyIGRlZmF1bHRzIGJhc2VkIG9uIEluc3RhbGxBbGxVc2VycworICAgIChhbmQgc3dpdGNoIGR5bmFtaWNhbGx5IGluIHRoZSBVSSkuIFRvIGdldCB0aGUgb2xkIGRlZmF1bHQsIHBhc3MKKyAgICB0aGlzIHByb3BlcnR5IG9uIHRoZSBjb21tYW5kIGxpbmU6CisgICAgICAgIERlZmF1bHRDdXN0b21UYXJnZXREaXI9W1dpbmRvd3NWb2x1bWVdUHl0aG9uW1Nob3J0VmVyc2lvbk5vRG90XQorICAgIC0tPgorICAgIDxWYXJpYWJsZSBOYW1lPSJEZWZhdWx0Q3VzdG9tVGFyZ2V0RGlyIiBWYWx1ZT0iIiBiYWw6T3ZlcnJpZGFibGU9InllcyIgLz4KKworICAgIDxWYXJpYWJsZSBOYW1lPSJJbnN0YWxsQWxsVXNlcnNTdGF0ZSIgVmFsdWU9ImVuYWJsZWQiIC8+CisgICAgPFZhcmlhYmxlIE5hbWU9IlRhcmdldERpclN0YXRlIiBWYWx1ZT0iZW5hYmxlZCIgLz4KKyAgICA8VmFyaWFibGUgTmFtZT0iQ3VzdG9tQnJvd3NlQnV0dG9uU3RhdGUiIFZhbHVlPSJlbmFibGVkIiAvPgorCisgICAgPFZhcmlhYmxlIE5hbWU9IkluY2x1ZGVfY29yZSIgVmFsdWU9IjEiIFBlcnNpc3RlZD0ieWVzIiAvPgorICAgIDxWYXJpYWJsZSBOYW1lPSJJbmNsdWRlX2V4ZSIgVmFsdWU9IjEiIFBlcnNpc3RlZD0ieWVzIiBiYWw6T3ZlcnJpZGFibGU9InllcyIgLz4KKyAgICA8VmFyaWFibGUgTmFtZT0iSW5jbHVkZV9kZXYiIFZhbHVlPSIxIiBQZXJzaXN0ZWQ9InllcyIgYmFsOk92ZXJyaWRhYmxlPSJ5ZXMiIC8+CisgICAgPFZhcmlhYmxlIE5hbWU9IkluY2x1ZGVfbGliIiBWYWx1ZT0iMSIgUGVyc2lzdGVkPSJ5ZXMiIGJhbDpPdmVycmlkYWJsZT0ieWVzIiAvPgorICAgIDxWYXJpYWJsZSBOYW1lPSJJbmNsdWRlX3Rlc3QiIFZhbHVlPSIxIiBQZXJzaXN0ZWQ9InllcyIgYmFsOk92ZXJyaWRhYmxlPSJ5ZXMiIC8+CisgICAgPFZhcmlhYmxlIE5hbWU9IkluY2x1ZGVfZG9jIiBWYWx1ZT0iMSIgUGVyc2lzdGVkPSJ5ZXMiIGJhbDpPdmVycmlkYWJsZT0ieWVzIiAvPgorICAgIDxWYXJpYWJsZSBOYW1lPSJJbmNsdWRlX3Rvb2xzIiBWYWx1ZT0iMSIgUGVyc2lzdGVkPSJ5ZXMiIGJhbDpPdmVycmlkYWJsZT0ieWVzIiAvPgorICAgIDxWYXJpYWJsZSBOYW1lPSJJbmNsdWRlX3RjbHRrIiBWYWx1ZT0iMSIgUGVyc2lzdGVkPSJ5ZXMiIGJhbDpPdmVycmlkYWJsZT0ieWVzIiAvPgorICAgIDxWYXJpYWJsZSBOYW1lPSJJbmNsdWRlX3BpcCIgVmFsdWU9IjEiIFBlcnNpc3RlZD0ieWVzIiBiYWw6T3ZlcnJpZGFibGU9InllcyIgLz4KKyAgICA8VmFyaWFibGUgTmFtZT0iSW5jbHVkZV9sYXVuY2hlciIgVmFsdWU9IjEiIFBlcnNpc3RlZD0ieWVzIiBiYWw6T3ZlcnJpZGFibGU9InllcyIgLz4KKyAgICA8VmFyaWFibGUgTmFtZT0iSW5jbHVkZV9zeW1ib2xzIiBWYWx1ZT0iMCIgUGVyc2lzdGVkPSJ5ZXMiIGJhbDpPdmVycmlkYWJsZT0ieWVzIiAvPgorICAgIDxWYXJpYWJsZSBOYW1lPSJJbmNsdWRlX2RlYnVnIiBWYWx1ZT0iMCIgUGVyc2lzdGVkPSJ5ZXMiIGJhbDpPdmVycmlkYWJsZT0ieWVzIiAvPgorICAgIAorICAgIDxWYXJpYWJsZSBOYW1lPSJBc3NvY2lhdGVGaWxlcyIgVmFsdWU9IjEiIFBlcnNpc3RlZD0ieWVzIiBiYWw6T3ZlcnJpZGFibGU9InllcyIgLz4KKyAgICA8VmFyaWFibGUgTmFtZT0iUHJlcGVuZFBhdGgiIFZhbHVlPSIwIiBQZXJzaXN0ZWQ9InllcyIgYmFsOk92ZXJyaWRhYmxlPSJ5ZXMiIC8+CisgICAgPFZhcmlhYmxlIE5hbWU9IkNvbXBpbGVBbGwiIFZhbHVlPSIwIiBQZXJzaXN0ZWQ9InllcyIgYmFsOk92ZXJyaWRhYmxlPSJ5ZXMiIC8+CisgICAgCisgICAgPFZhcmlhYmxlIE5hbWU9IlNpbXBsZUluc3RhbGwiIFZhbHVlPSIwIiBiYWw6T3ZlcnJpZGFibGU9InllcyIgLz4KKyAgICAKKyAgICA8Q2hhaW4gUGFyYWxsZWxDYWNoZT0ieWVzIj4KKyAgICAgIDxQYWNrYWdlR3JvdXBSZWYgSWQ9ImNydCIgLz4KKyAgICAgIDxQYWNrYWdlR3JvdXBSZWYgSWQ9ImNvcmUiIC8+CisgICAgICA8UGFja2FnZUdyb3VwUmVmIElkPSJkZXYiIC8+CisgICAgICA8UGFja2FnZUdyb3VwUmVmIElkPSJleGUiIC8+CisgICAgICA8UGFja2FnZUdyb3VwUmVmIElkPSJsaWIiIC8+CisgICAgICA8UGFja2FnZUdyb3VwUmVmIElkPSJ0ZXN0IiAvPgorICAgICAgPFBhY2thZ2VHcm91cFJlZiBJZD0iZG9jIiAvPgorICAgICAgPFBhY2thZ2VHcm91cFJlZiBJZD0idG9vbHMiIC8+CisgICAgICA8UGFja2FnZUdyb3VwUmVmIElkPSJ0Y2x0ayIgLz4KKyAgICAgIDxQYWNrYWdlR3JvdXBSZWYgSWQ9ImxhdW5jaGVyIiAvPgorICAgICAgPFBhY2thZ2VHcm91cFJlZiBJZD0icG9zdGluc3RhbGwiIC8+CisgICAgPC9DaGFpbj4KKyAgPC9CdW5kbGU+Cis8L1dpeD4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9idW5kbGUvZnVsbC53aXhwcm9qIGIvVG9vbHMvbXNpL2J1bmRsZS9mdWxsLndpeHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmRiZGQ4ZQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9idW5kbGUvZnVsbC53aXhwcm9qCkBAIC0wLDAgKzEsMjEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgICA8UHJvcGVydHlHcm91cD4KKyAgICAgICAgPFByb2plY3RHdWlkPnszRTIwNEFERC0yMzhELTREMTAtODUyQy00Rjg1OTMyNUM4Mzl9PC9Qcm9qZWN0R3VpZD4KKyAgICAgICAgPE91dHB1dE5hbWU+cHl0aG9uPC9PdXRwdXROYW1lPgorICAgICAgICA8T3V0cHV0U3VmZml4PmZ1bGw8L091dHB1dFN1ZmZpeD4KKyAgICA8L1Byb3BlcnR5R3JvdXA+CisKKyAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXG1zaS5wcm9wcyIgLz4KKworICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgICA8RGVmaW5lQ29uc3RhbnRzPgorICAgICAgICAgICAgJChEZWZpbmVDb25zdGFudHMpOworICAgICAgICAgICAgQ29tcHJlc3NNU0k9eWVzOworICAgICAgICAgICAgQ29tcHJlc3NQREI9eWVzOworICAgICAgICAgICAgQ29tcHJlc3NNU0lfRD15ZXM7CisgICAgICAgIDwvRGVmaW5lQ29uc3RhbnRzPgorICAgIDwvUHJvcGVydHlHcm91cD4KKyAgICAKKyAgICA8SW1wb3J0IFByb2plY3Q9ImJ1bmRsZS50YXJnZXRzIiAvPgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9idW5kbGUvcGFja2FnZWdyb3Vwcy9jb3JlLnd4cyBiL1Rvb2xzL21zaS9idW5kbGUvcGFja2FnZWdyb3Vwcy9jb3JlLnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZGY2Yjc5Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2J1bmRsZS9wYWNrYWdlZ3JvdXBzL2NvcmUud3hzCkBAIC0wLDAgKzEsNTYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPFdpeCB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi93aSI+CisgICAgPEZyYWdtZW50PgorICAgICAgICA8UGFja2FnZUdyb3VwIElkPSJjb3JlIj4KKyAgICAgICAgICAgIDxNc2lQYWNrYWdlIElkPSJjb3JlX0FsbFVzZXJzIgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0iY29yZS5tc2kiCisgICAgICAgICAgICAgICAgICAgICAgICBDb21wcmVzc2VkPSIkKHZhci5Db21wcmVzc01TSSkiCisgICAgICAgICAgICAgICAgICAgICAgICBEb3dubG9hZFVybD0iJCh2YXIuRG93bmxvYWRVcmwpIgorICAgICAgICAgICAgICAgICAgICAgICAgRm9yY2VQZXJNYWNoaW5lPSJ5ZXMiCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJJbnN0YWxsQWxsVXNlcnMgYW5kIChJbmNsdWRlX2NvcmUgb3IgSW5jbHVkZV9leGUgb3IgSW5jbHVkZV9sYXVuY2hlciBvciBJbmNsdWRlX3BpcCkiPgorICAgICAgICAgICAgICAgIDxNc2lQcm9wZXJ0eSBOYW1lPSJUQVJHRVRESVIiIFZhbHVlPSJbVGFyZ2V0RGlyXSIgLz4KKyAgICAgICAgICAgIDwvTXNpUGFja2FnZT4KKyAgICAgICAgICAgIDxNc2lQYWNrYWdlIElkPSJjb3JlX0FsbFVzZXJzX3BkYiIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9ImNvcmVfcGRiLm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzUERCKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZVBlck1hY2hpbmU9InllcyIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Ikluc3RhbGxBbGxVc2VycyBhbmQgKEluY2x1ZGVfY29yZSBvciBJbmNsdWRlX2V4ZSBvciBJbmNsdWRlX2xhdW5jaGVyIG9yIEluY2x1ZGVfcGlwKSBhbmQgSW5jbHVkZV9zeW1ib2xzIj4KKyAgICAgICAgICAgICAgICA8TXNpUHJvcGVydHkgTmFtZT0iVEFSR0VURElSIiBWYWx1ZT0iW1RhcmdldERpcl0iIC8+CisgICAgICAgICAgICA8L01zaVBhY2thZ2U+CisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0iY29yZV9BbGxVc2Vyc19kIgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0iY29yZV9kLm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzTVNJX0QpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ieWVzIgorICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFsbENvbmRpdGlvbj0iSW5zdGFsbEFsbFVzZXJzIGFuZCAoSW5jbHVkZV9jb3JlIG9yIEluY2x1ZGVfZXhlIG9yIEluY2x1ZGVfbGF1bmNoZXIgb3IgSW5jbHVkZV9waXApIGFuZCBJbmNsdWRlX2RlYnVnIj4KKyAgICAgICAgICAgICAgICA8TXNpUHJvcGVydHkgTmFtZT0iVEFSR0VURElSIiBWYWx1ZT0iW1RhcmdldERpcl0iIC8+CisgICAgICAgICAgICA8L01zaVBhY2thZ2U+CisKKyAgICAgICAgICAgIDxNc2lQYWNrYWdlIElkPSJjb3JlX0p1c3RGb3JNZSIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9ImNvcmUubXNpIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0iJCh2YXIuQ29tcHJlc3NNU0kpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ibm8iCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJub3QgSW5zdGFsbEFsbFVzZXJzIGFuZCAoSW5jbHVkZV9jb3JlIG9yIEluY2x1ZGVfZXhlIG9yIEluY2x1ZGVfbGF1bmNoZXIgb3IgSW5jbHVkZV9waXApIj4KKyAgICAgICAgICAgICAgICA8TXNpUHJvcGVydHkgTmFtZT0iVEFSR0VURElSIiBWYWx1ZT0iW1RhcmdldERpcl0iIC8+CisgICAgICAgICAgICA8L01zaVBhY2thZ2U+CisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0iY29yZV9KdXN0Rm9yTWVfcGRiIgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0iY29yZV9wZGIubXNpIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0iJCh2YXIuQ29tcHJlc3NQREIpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ibm8iCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJub3QgSW5zdGFsbEFsbFVzZXJzIGFuZCAoSW5jbHVkZV9jb3JlIG9yIEluY2x1ZGVfZXhlIG9yIEluY2x1ZGVfbGF1bmNoZXIgb3IgSW5jbHVkZV9waXApIGFuZCBJbmNsdWRlX3N5bWJvbHMiPgorICAgICAgICAgICAgICAgIDxNc2lQcm9wZXJ0eSBOYW1lPSJUQVJHRVRESVIiIFZhbHVlPSJbVGFyZ2V0RGlyXSIgLz4KKyAgICAgICAgICAgIDwvTXNpUGFja2FnZT4KKyAgICAgICAgICAgIDxNc2lQYWNrYWdlIElkPSJjb3JlX0p1c3RGb3JNZV9kIgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0iY29yZV9kLm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzTVNJX0QpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ibm8iCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJub3QgSW5zdGFsbEFsbFVzZXJzIGFuZCAoSW5jbHVkZV9jb3JlIG9yIEluY2x1ZGVfZXhlIG9yIEluY2x1ZGVfbGF1bmNoZXIgb3IgSW5jbHVkZV9waXApIGFuZCBJbmNsdWRlX2RlYnVnIj4KKyAgICAgICAgICAgICAgICA8TXNpUHJvcGVydHkgTmFtZT0iVEFSR0VURElSIiBWYWx1ZT0iW1RhcmdldERpcl0iIC8+CisgICAgICAgICAgICA8L01zaVBhY2thZ2U+CisgICAgICAgIDwvUGFja2FnZUdyb3VwPgorICAgIDwvRnJhZ21lbnQ+Cis8L1dpeD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvYnVuZGxlL3BhY2thZ2Vncm91cHMvY3J0Lnd4cyBiL1Rvb2xzL21zaS9idW5kbGUvcGFja2FnZWdyb3Vwcy9jcnQud3hzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUxOWI0ZjkKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvYnVuZGxlL3BhY2thZ2Vncm91cHMvY3J0Lnd4cwpAQCAtMCwwICsxLDI1IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxXaXggeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvd2kiPgorICAgIDxGcmFnbWVudD4KKyAgICAgICAgPFBhY2thZ2VHcm91cCBJZD0iY3J0Ij4KKyAgICAgICAgICAgIDxNc2lQYWNrYWdlIElkPSJjcnRfQWxsVXNlcnMiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJjcnQubXNpIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0iJCh2YXIuQ29tcHJlc3NNU0kpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ieWVzIgorICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFsbENvbmRpdGlvbj0iSW5zdGFsbEFsbFVzZXJzIGFuZCAoSW5jbHVkZV9jb3JlIG9yIEluY2x1ZGVfZXhlIG9yIEluY2x1ZGVfbGF1bmNoZXIgb3IgSW5jbHVkZV9waXApIj4KKyAgICAgICAgICAgICAgICA8IS0tIFRBUkdFVERJUiB3aWxsIGJlIGlnbm9yZWQsIGJ1dCBtdXN0IHN0aWxsIGJlIHByb3ZpZGVkIC0tPgorICAgICAgICAgICAgICAgIDxNc2lQcm9wZXJ0eSBOYW1lPSJUQVJHRVRESVIiIFZhbHVlPSJbVGFyZ2V0RGlyXSIgLz4KKyAgICAgICAgICAgIDwvTXNpUGFja2FnZT4KKyAgICAgICAgICAgIAorICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9ImNydF9KdXN0Rm9yTWUiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJjcnQubXNpIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0iJCh2YXIuQ29tcHJlc3NNU0kpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ibm8iCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJub3QgSW5zdGFsbEFsbFVzZXJzIGFuZCAoSW5jbHVkZV9jb3JlIG9yIEluY2x1ZGVfZXhlIG9yIEluY2x1ZGVfbGF1bmNoZXIgb3IgSW5jbHVkZV9waXApIj4KKyAgICAgICAgICAgICAgICA8TXNpUHJvcGVydHkgTmFtZT0iVEFSR0VURElSIiBWYWx1ZT0iW1RhcmdldERpcl0iIC8+CisgICAgICAgICAgICA8L01zaVBhY2thZ2U+CisgICAgICAgIDwvUGFja2FnZUdyb3VwPgorICAgIDwvRnJhZ21lbnQ+Cis8L1dpeD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvYnVuZGxlL3BhY2thZ2Vncm91cHMvZGV2Lnd4cyBiL1Rvb2xzL21zaS9idW5kbGUvcGFja2FnZWdyb3Vwcy9kZXYud3hzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYyZWEyOWIKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvYnVuZGxlL3BhY2thZ2Vncm91cHMvZGV2Lnd4cwpAQCAtMCwwICsxLDQwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxXaXggeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvd2kiPgorICAgIDxGcmFnbWVudD4KKyAgICAgICAgPFBhY2thZ2VHcm91cCBJZD0iZGV2Ij4KKyAgICAgICAgICAgIDxNc2lQYWNrYWdlIElkPSJkZXZfQWxsVXNlcnMiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJkZXYubXNpIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0iJCh2YXIuQ29tcHJlc3NNU0kpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ieWVzIgorICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFsbENvbmRpdGlvbj0iSW5zdGFsbEFsbFVzZXJzIGFuZCBJbmNsdWRlX2RldiI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9ImRldl9BbGxVc2Vyc19kIgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0iZGV2X2QubXNpIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0iJCh2YXIuQ29tcHJlc3NNU0lfRCkiCisgICAgICAgICAgICAgICAgICAgICAgICBEb3dubG9hZFVybD0iJCh2YXIuRG93bmxvYWRVcmwpIgorICAgICAgICAgICAgICAgICAgICAgICAgRm9yY2VQZXJNYWNoaW5lPSJ5ZXMiCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJJbnN0YWxsQWxsVXNlcnMgYW5kIEluY2x1ZGVfZGV2IGFuZCBJbmNsdWRlX2RlYnVnIj4KKyAgICAgICAgICAgICAgICA8TXNpUHJvcGVydHkgTmFtZT0iVEFSR0VURElSIiBWYWx1ZT0iW1RhcmdldERpcl0iIC8+CisgICAgICAgICAgICA8L01zaVBhY2thZ2U+CisKKyAgICAgICAgICAgIDxNc2lQYWNrYWdlIElkPSJkZXZfSnVzdEZvck1lIgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0iZGV2Lm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzTVNJKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZVBlck1hY2hpbmU9Im5vIgorICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFsbENvbmRpdGlvbj0ibm90IEluc3RhbGxBbGxVc2VycyBhbmQgSW5jbHVkZV9kZXYiPgorICAgICAgICAgICAgICAgIDxNc2lQcm9wZXJ0eSBOYW1lPSJUQVJHRVRESVIiIFZhbHVlPSJbVGFyZ2V0RGlyXSIgLz4KKyAgICAgICAgICAgIDwvTXNpUGFja2FnZT4KKyAgICAgICAgICAgIDxNc2lQYWNrYWdlIElkPSJkZXZfSnVzdEZvck1lX2QiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJkZXZfZC5tc2kiCisgICAgICAgICAgICAgICAgICAgICAgICBDb21wcmVzc2VkPSIkKHZhci5Db21wcmVzc01TSV9EKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZVBlck1hY2hpbmU9Im5vIgorICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFsbENvbmRpdGlvbj0ibm90IEluc3RhbGxBbGxVc2VycyBhbmQgSW5jbHVkZV9kZXYgYW5kIEluY2x1ZGVfZGVidWciPgorICAgICAgICAgICAgICAgIDxNc2lQcm9wZXJ0eSBOYW1lPSJUQVJHRVRESVIiIFZhbHVlPSJbVGFyZ2V0RGlyXSIgLz4KKyAgICAgICAgICAgIDwvTXNpUGFja2FnZT4KKyAgICAgICAgPC9QYWNrYWdlR3JvdXA+CisgICAgPC9GcmFnbWVudD4KKzwvV2l4PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9idW5kbGUvcGFja2FnZWdyb3Vwcy9kb2Mud3hzIGIvVG9vbHMvbXNpL2J1bmRsZS9wYWNrYWdlZ3JvdXBzL2RvYy53eHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjRiOWZmMQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9idW5kbGUvcGFja2FnZWdyb3Vwcy9kb2Mud3hzCkBAIC0wLDAgKzEsMjQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPFdpeCB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi93aSI+CisgICAgPEZyYWdtZW50PgorICAgICAgICA8UGFja2FnZUdyb3VwIElkPSJkb2MiPgorICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9ImRvY19BbGxVc2VycyIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9ImRvYy5tc2kiCisgICAgICAgICAgICAgICAgICAgICAgICBDb21wcmVzc2VkPSIkKHZhci5Db21wcmVzc01TSSkiCisgICAgICAgICAgICAgICAgICAgICAgICBEb3dubG9hZFVybD0iJCh2YXIuRG93bmxvYWRVcmwpIgorICAgICAgICAgICAgICAgICAgICAgICAgRm9yY2VQZXJNYWNoaW5lPSJ5ZXMiCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJJbnN0YWxsQWxsVXNlcnMgYW5kIEluY2x1ZGVfZG9jIj4KKyAgICAgICAgICAgICAgICA8TXNpUHJvcGVydHkgTmFtZT0iVEFSR0VURElSIiBWYWx1ZT0iW1RhcmdldERpcl0iIC8+CisgICAgICAgICAgICA8L01zaVBhY2thZ2U+CisgICAgICAgICAgICAKKyAgICAgICAgICAgIDxNc2lQYWNrYWdlIElkPSJkb2NfSnVzdEZvck1lIgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0iZG9jLm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzTVNJKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZVBlck1hY2hpbmU9Im5vIgorICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFsbENvbmRpdGlvbj0ibm90IEluc3RhbGxBbGxVc2VycyBhbmQgSW5jbHVkZV9kb2MiPgorICAgICAgICAgICAgICAgIDxNc2lQcm9wZXJ0eSBOYW1lPSJUQVJHRVRESVIiIFZhbHVlPSJbVGFyZ2V0RGlyXSIgLz4KKyAgICAgICAgICAgIDwvTXNpUGFja2FnZT4KKyAgICAgICAgPC9QYWNrYWdlR3JvdXA+CisgICAgPC9GcmFnbWVudD4KKzwvV2l4PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9idW5kbGUvcGFja2FnZWdyb3Vwcy9leGUud3hzIGIvVG9vbHMvbXNpL2J1bmRsZS9wYWNrYWdlZ3JvdXBzL2V4ZS53eHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDQ2YjkwZQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9idW5kbGUvcGFja2FnZWdyb3Vwcy9leGUud3hzCkBAIC0wLDAgKzEsNTYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPFdpeCB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi93aSI+CisgICAgPEZyYWdtZW50PgorICAgICAgICA8UGFja2FnZUdyb3VwIElkPSJleGUiPgorICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9ImV4ZV9BbGxVc2VycyIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9ImV4ZS5tc2kiCisgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZVBlck1hY2hpbmU9InllcyIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzTVNJKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJJbnN0YWxsQWxsVXNlcnMgYW5kIChJbmNsdWRlX2V4ZSBvciBJbmNsdWRlX2xhdW5jaGVyIG9yIEluY2x1ZGVfcGlwKSI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9ImV4ZV9BbGxVc2Vyc19wZGIiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJleGVfcGRiLm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ieWVzIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0iJCh2YXIuQ29tcHJlc3NQREIpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Ikluc3RhbGxBbGxVc2VycyBhbmQgKEluY2x1ZGVfZXhlIG9yIEluY2x1ZGVfbGF1bmNoZXIgb3IgSW5jbHVkZV9waXApIGFuZCBJbmNsdWRlX3N5bWJvbHMiPgorICAgICAgICAgICAgICAgIDxNc2lQcm9wZXJ0eSBOYW1lPSJUQVJHRVRESVIiIFZhbHVlPSJbVGFyZ2V0RGlyXSIgLz4KKyAgICAgICAgICAgIDwvTXNpUGFja2FnZT4KKyAgICAgICAgICAgIDxNc2lQYWNrYWdlIElkPSJleGVfQWxsVXNlcnNfZCIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9ImV4ZV9kLm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ieWVzIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0iJCh2YXIuQ29tcHJlc3NNU0lfRCkiCisgICAgICAgICAgICAgICAgICAgICAgICBEb3dubG9hZFVybD0iJCh2YXIuRG93bmxvYWRVcmwpIgorICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFsbENvbmRpdGlvbj0iSW5zdGFsbEFsbFVzZXJzIGFuZCAoSW5jbHVkZV9leGUgb3IgSW5jbHVkZV9sYXVuY2hlciBvciBJbmNsdWRlX3BpcCkgYW5kIEluY2x1ZGVfZGVidWciPgorICAgICAgICAgICAgICAgIDxNc2lQcm9wZXJ0eSBOYW1lPSJUQVJHRVRESVIiIFZhbHVlPSJbVGFyZ2V0RGlyXSIgLz4KKyAgICAgICAgICAgIDwvTXNpUGFja2FnZT4KKyAgICAgICAgICAgIAorICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9ImV4ZV9KdXN0Rm9yTWUiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJleGUubXNpIgorICAgICAgICAgICAgICAgICAgICAgICAgRm9yY2VQZXJNYWNoaW5lPSJubyIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzTVNJKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJub3QgSW5zdGFsbEFsbFVzZXJzIGFuZCAoSW5jbHVkZV9leGUgb3IgSW5jbHVkZV9sYXVuY2hlciBvciBJbmNsdWRlX3BpcCkiPgorICAgICAgICAgICAgICAgIDxNc2lQcm9wZXJ0eSBOYW1lPSJUQVJHRVRESVIiIFZhbHVlPSJbVGFyZ2V0RGlyXSIgLz4KKyAgICAgICAgICAgIDwvTXNpUGFja2FnZT4KKyAgICAgICAgICAgIDxNc2lQYWNrYWdlIElkPSJleGVfSnVzdEZvck1lX3BkYiIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9ImV4ZV9wZGIubXNpIgorICAgICAgICAgICAgICAgICAgICAgICAgRm9yY2VQZXJNYWNoaW5lPSJubyIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzUERCKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJub3QgSW5zdGFsbEFsbFVzZXJzIGFuZCAoSW5jbHVkZV9leGUgb3IgSW5jbHVkZV9sYXVuY2hlciBvciBJbmNsdWRlX3BpcCkgYW5kIEluY2x1ZGVfc3ltYm9scyI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9ImV4ZV9KdXN0Rm9yTWVfZCIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9ImV4ZV9kLm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ibm8iCisgICAgICAgICAgICAgICAgICAgICAgICBDb21wcmVzc2VkPSIkKHZhci5Db21wcmVzc01TSV9EKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJub3QgSW5zdGFsbEFsbFVzZXJzIGFuZCAoSW5jbHVkZV9leGUgb3IgSW5jbHVkZV9sYXVuY2hlciBvciBJbmNsdWRlX3BpcCkgYW5kIEluY2x1ZGVfZGVidWciPgorICAgICAgICAgICAgICAgIDxNc2lQcm9wZXJ0eSBOYW1lPSJUQVJHRVRESVIiIFZhbHVlPSJbVGFyZ2V0RGlyXSIgLz4KKyAgICAgICAgICAgIDwvTXNpUGFja2FnZT4KKyAgICAgICAgPC9QYWNrYWdlR3JvdXA+CisgICAgPC9GcmFnbWVudD4KKzwvV2l4PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9idW5kbGUvcGFja2FnZWdyb3Vwcy9sYXVuY2hlci53eHMgYi9Ub29scy9tc2kvYnVuZGxlL3BhY2thZ2Vncm91cHMvbGF1bmNoZXIud3hzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwOTE3NWYKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvYnVuZGxlL3BhY2thZ2Vncm91cHMvbGF1bmNoZXIud3hzCkBAIC0wLDAgKzEsMjMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPFdpeCB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi93aSI+CisgICAgPEZyYWdtZW50PgorICAgICAgICA8UGFja2FnZUdyb3VwIElkPSJsYXVuY2hlciI+CisgICAgICAgICAgICA8IS0tIFRoZSBBbGwgVXNlcnMgbGF1bmNoZXIgaXMgYWx3YXlzIHRoZSAzMi1iaXQgdmVyc2lvbiAtLT4KKyAgICAgICAgICAgIDxNc2lQYWNrYWdlIElkPSJsYXVuY2hlcl9BbGxVc2VycyIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9ImxhdW5jaGVyLm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzTVNJKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZVBlck1hY2hpbmU9InllcyIKKyAgICAgICAgICAgICAgICAgICAgICAgIEVuYWJsZUZlYXR1cmVTZWxlY3Rpb249InllcyIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Ikluc3RhbGxBbGxVc2VycyBhbmQgSW5jbHVkZV9sYXVuY2hlciIgLz4KKworICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9ImxhdW5jaGVyX0p1c3RGb3JNZSIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9ImxhdW5jaGVyLm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzTVNJKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZVBlck1hY2hpbmU9Im5vIgorICAgICAgICAgICAgICAgICAgICAgICAgRW5hYmxlRmVhdHVyZVNlbGVjdGlvbj0ieWVzIgorICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFsbENvbmRpdGlvbj0ibm90IEluc3RhbGxBbGxVc2VycyBhbmQgSW5jbHVkZV9sYXVuY2hlciIgLz4KKyAgICAgICAgPC9QYWNrYWdlR3JvdXA+CisgICAgPC9GcmFnbWVudD4KKzwvV2l4PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9idW5kbGUvcGFja2FnZWdyb3Vwcy9saWIud3hzIGIvVG9vbHMvbXNpL2J1bmRsZS9wYWNrYWdlZ3JvdXBzL2xpYi53eHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDdhOTdmMQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9idW5kbGUvcGFja2FnZWdyb3Vwcy9saWIud3hzCkBAIC0wLDAgKzEsNTYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPFdpeCB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi93aSI+CisgICAgPEZyYWdtZW50PgorICAgICAgICA8UGFja2FnZUdyb3VwIElkPSJsaWIiPgorICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9ImxpYl9BbGxVc2VycyIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9ImxpYi5tc2kiCisgICAgICAgICAgICAgICAgICAgICAgICBDb21wcmVzc2VkPSIkKHZhci5Db21wcmVzc01TSSkiCisgICAgICAgICAgICAgICAgICAgICAgICBEb3dubG9hZFVybD0iJCh2YXIuRG93bmxvYWRVcmwpIgorICAgICAgICAgICAgICAgICAgICAgICAgRm9yY2VQZXJNYWNoaW5lPSJ5ZXMiCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJJbnN0YWxsQWxsVXNlcnMgYW5kIEluY2x1ZGVfbGliIj4KKyAgICAgICAgICAgICAgICA8TXNpUHJvcGVydHkgTmFtZT0iVEFSR0VURElSIiBWYWx1ZT0iW1RhcmdldERpcl0iIC8+CisgICAgICAgICAgICA8L01zaVBhY2thZ2U+CisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0ibGliX0FsbFVzZXJzX3BkYiIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9ImxpYl9wZGIubXNpIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0iJCh2YXIuQ29tcHJlc3NQREIpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ieWVzIgorICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFsbENvbmRpdGlvbj0iSW5zdGFsbEFsbFVzZXJzIGFuZCBJbmNsdWRlX2xpYiBhbmQgSW5jbHVkZV9zeW1ib2xzIj4KKyAgICAgICAgICAgICAgICA8TXNpUHJvcGVydHkgTmFtZT0iVEFSR0VURElSIiBWYWx1ZT0iW1RhcmdldERpcl0iIC8+CisgICAgICAgICAgICA8L01zaVBhY2thZ2U+CisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0ibGliX0FsbFVzZXJzX2QiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJsaWJfZC5tc2kiCisgICAgICAgICAgICAgICAgICAgICAgICBDb21wcmVzc2VkPSIkKHZhci5Db21wcmVzc01TSV9EKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZVBlck1hY2hpbmU9InllcyIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Ikluc3RhbGxBbGxVc2VycyBhbmQgSW5jbHVkZV9saWIgYW5kIEluY2x1ZGVfZGVidWciPgorICAgICAgICAgICAgICAgIDxNc2lQcm9wZXJ0eSBOYW1lPSJUQVJHRVRESVIiIFZhbHVlPSJbVGFyZ2V0RGlyXSIgLz4KKyAgICAgICAgICAgIDwvTXNpUGFja2FnZT4KKworICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9ImxpYl9KdXN0Rm9yTWUiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJsaWIubXNpIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0iJCh2YXIuQ29tcHJlc3NNU0kpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ibm8iCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJub3QgSW5zdGFsbEFsbFVzZXJzIGFuZCBJbmNsdWRlX2xpYiI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9ImxpYl9KdXN0Rm9yTWVfcGRiIgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0ibGliX3BkYi5tc2kiCisgICAgICAgICAgICAgICAgICAgICAgICBDb21wcmVzc2VkPSIkKHZhci5Db21wcmVzc1BEQikiCisgICAgICAgICAgICAgICAgICAgICAgICBEb3dubG9hZFVybD0iJCh2YXIuRG93bmxvYWRVcmwpIgorICAgICAgICAgICAgICAgICAgICAgICAgRm9yY2VQZXJNYWNoaW5lPSJubyIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Im5vdCBJbnN0YWxsQWxsVXNlcnMgYW5kIEluY2x1ZGVfbGliIGFuZCBJbmNsdWRlX3N5bWJvbHMiPgorICAgICAgICAgICAgICAgIDxNc2lQcm9wZXJ0eSBOYW1lPSJUQVJHRVRESVIiIFZhbHVlPSJbVGFyZ2V0RGlyXSIgLz4KKyAgICAgICAgICAgIDwvTXNpUGFja2FnZT4KKyAgICAgICAgICAgIDxNc2lQYWNrYWdlIElkPSJsaWJfSnVzdEZvck1lX2QiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJsaWJfZC5tc2kiCisgICAgICAgICAgICAgICAgICAgICAgICBDb21wcmVzc2VkPSIkKHZhci5Db21wcmVzc01TSV9EKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZVBlck1hY2hpbmU9Im5vIgorICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFsbENvbmRpdGlvbj0ibm90IEluc3RhbGxBbGxVc2VycyBhbmQgSW5jbHVkZV9saWIgYW5kIEluY2x1ZGVfZGVidWciPgorICAgICAgICAgICAgICAgIDxNc2lQcm9wZXJ0eSBOYW1lPSJUQVJHRVRESVIiIFZhbHVlPSJbVGFyZ2V0RGlyXSIgLz4KKyAgICAgICAgICAgIDwvTXNpUGFja2FnZT4KKyAgICAgICAgPC9QYWNrYWdlR3JvdXA+CisgICAgPC9GcmFnbWVudD4KKzwvV2l4PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9idW5kbGUvcGFja2FnZWdyb3Vwcy9wb3N0aW5zdGFsbC53eHMgYi9Ub29scy9tc2kvYnVuZGxlL3BhY2thZ2Vncm91cHMvcG9zdGluc3RhbGwud3hzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIyMGNjNTAKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvYnVuZGxlL3BhY2thZ2Vncm91cHMvcG9zdGluc3RhbGwud3hzCkBAIC0wLDAgKzEsNjIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPFdpeCB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi93aSI+CisgICAgPEZyYWdtZW50PgorICAgICAgICA8UGFja2FnZUdyb3VwIElkPSJwb3N0aW5zdGFsbCI+CisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0icGlwX0FsbFVzZXJzIgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0icGlwLm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzTVNJKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZVBlck1hY2hpbmU9InllcyIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Ikluc3RhbGxBbGxVc2VycyBhbmQgSW5jbHVkZV9waXAiPgorICAgICAgICAgICAgICAgIDxNc2lQcm9wZXJ0eSBOYW1lPSJUQVJHRVRESVIiIFZhbHVlPSJbVGFyZ2V0RGlyXSIgLz4KKyAgICAgICAgICAgIDwvTXNpUGFja2FnZT4KKyAgICAgICAgICAgIDxNc2lQYWNrYWdlIElkPSJwaXBfSnVzdEZvck1lIgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0icGlwLm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzTVNJKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZVBlck1hY2hpbmU9Im5vIgorICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFsbENvbmRpdGlvbj0ibm90IEluc3RhbGxBbGxVc2VycyBhbmQgSW5jbHVkZV9waXAiPgorICAgICAgICAgICAgICAgIDxNc2lQcm9wZXJ0eSBOYW1lPSJUQVJHRVRESVIiIFZhbHVlPSJbVGFyZ2V0RGlyXSIgLz4KKyAgICAgICAgICAgIDwvTXNpUGFja2FnZT4KKyAgICAgICAgICAgIAorICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9InBhdGhfQWxsVXNlcnMiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJwYXRoLm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzTVNJKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZVBlck1hY2hpbmU9InllcyIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Ikluc3RhbGxBbGxVc2VycyBhbmQgUHJlcGVuZFBhdGgiPgorICAgICAgICAgICAgICAgIDxNc2lQcm9wZXJ0eSBOYW1lPSJUQVJHRVRESVIiIFZhbHVlPSJbVGFyZ2V0RGlyXSIgLz4KKyAgICAgICAgICAgIDwvTXNpUGFja2FnZT4KKyAgICAgICAgICAgIDxNc2lQYWNrYWdlIElkPSJwYXRoX0p1c3RGb3JNZSIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9InBhdGgubXNpIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0iJCh2YXIuQ29tcHJlc3NNU0kpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ibm8iCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJub3QgSW5zdGFsbEFsbFVzZXJzIGFuZCBQcmVwZW5kUGF0aCI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICAgICAgCisgICAgICAgICAgICA8P2RlZmluZSBDb21waWxlQWxsQ29tbWFuZD0tJCh2YXIuU2hvcnRWZXJzaW9uKSQodmFyLlN1ZmZpeDMyKSAtV2kgIltUYXJnZXREaXJdXExpYlxjb21waWxlYWxsLnB5IiAtZiAteCAiYmFkX2NvZGluZ3xiYWRzeW50YXh8c2l0ZS1wYWNrYWdlc3xweTJffGxpYjJ0bzNcXHRlc3RzfHZlbnZcXHNjcmlwdHMiICJbVGFyZ2V0RGlyXVxMaWIiPz4KKyAgICAgICAgICAgIDxFeGVQYWNrYWdlIElkPSJjb21waWxlYWxsX0FsbFVzZXJzIgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0icHkuZXhlIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0ieWVzIgorICAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheU5hbWU9IiEobG9jLkNvbXBpbGVBbGxEZXNjcmlwdGlvbikiCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29tbWFuZD0nJCh2YXIuQ29tcGlsZUFsbENvbW1hbmQpJworICAgICAgICAgICAgICAgICAgICAgICAgUmVwYWlyQ29tbWFuZD0nJCh2YXIuQ29tcGlsZUFsbENvbW1hbmQpJworICAgICAgICAgICAgICAgICAgICAgICAgUGVybWFuZW50PSJ5ZXMiCisgICAgICAgICAgICAgICAgICAgICAgICBQZXJNYWNoaW5lPSJ5ZXMiCisgICAgICAgICAgICAgICAgICAgICAgICBWaXRhbD0ibm8iCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJJbnN0YWxsQWxsVXNlcnMgYW5kIENvbXBpbGVBbGwiIC8+CisgICAgICAgICAgICA8RXhlUGFja2FnZSBJZD0iY29tcGlsZWFsbF9KdXN0Rm9yTWUiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJweS5leGUiCisgICAgICAgICAgICAgICAgICAgICAgICBDb21wcmVzc2VkPSJ5ZXMiCisgICAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5TmFtZT0iIShsb2MuQ29tcGlsZUFsbERlc2NyaXB0aW9uKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb21tYW5kPSckKHZhci5Db21waWxlQWxsQ29tbWFuZCknCisgICAgICAgICAgICAgICAgICAgICAgICBSZXBhaXJDb21tYW5kPSckKHZhci5Db21waWxlQWxsQ29tbWFuZCknCisgICAgICAgICAgICAgICAgICAgICAgICBQZXJtYW5lbnQ9InllcyIKKyAgICAgICAgICAgICAgICAgICAgICAgIFBlck1hY2hpbmU9Im5vIgorICAgICAgICAgICAgICAgICAgICAgICAgVml0YWw9Im5vIgorICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFsbENvbmRpdGlvbj0ibm90IEluc3RhbGxBbGxVc2VycyBhbmQgQ29tcGlsZUFsbCIgLz4KKyAgICAgICAgPC9QYWNrYWdlR3JvdXA+CisgICAgPC9GcmFnbWVudD4KKzwvV2l4PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9idW5kbGUvcGFja2FnZWdyb3Vwcy90Y2x0ay53eHMgYi9Ub29scy9tc2kvYnVuZGxlL3BhY2thZ2Vncm91cHMvdGNsdGsud3hzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUwZTM5NTgKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvYnVuZGxlL3BhY2thZ2Vncm91cHMvdGNsdGsud3hzCkBAIC0wLDAgKzEsNjIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPFdpeCB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi93aSI+CisgICAgPEZyYWdtZW50PgorICAgICAgICA8UGFja2FnZUdyb3VwIElkPSJ0Y2x0ayI+CisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0idGNsdGtfQWxsVXNlcnMiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJ0Y2x0ay5tc2kiCisgICAgICAgICAgICAgICAgICAgICAgICBDb21wcmVzc2VkPSIkKHZhci5Db21wcmVzc01TSSkiCisgICAgICAgICAgICAgICAgICAgICAgICBEb3dubG9hZFVybD0iJCh2YXIuRG93bmxvYWRVcmwpIgorICAgICAgICAgICAgICAgICAgICAgICAgRm9yY2VQZXJNYWNoaW5lPSJ5ZXMiCisgICAgICAgICAgICAgICAgICAgICAgICBFbmFibGVGZWF0dXJlU2VsZWN0aW9uPSJ5ZXMiCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJJbnN0YWxsQWxsVXNlcnMgYW5kIEluY2x1ZGVfdGNsdGsiPgorICAgICAgICAgICAgICAgIDxNc2lQcm9wZXJ0eSBOYW1lPSJUQVJHRVRESVIiIFZhbHVlPSJbVGFyZ2V0RGlyXSIgLz4KKyAgICAgICAgICAgIDwvTXNpUGFja2FnZT4KKyAgICAgICAgICAgIDxNc2lQYWNrYWdlIElkPSJ0Y2x0a19BbGxVc2Vyc19wZGIiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJ0Y2x0a19wZGIubXNpIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0iJCh2YXIuQ29tcHJlc3NQREIpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ieWVzIgorICAgICAgICAgICAgICAgICAgICAgICAgRW5hYmxlRmVhdHVyZVNlbGVjdGlvbj0ieWVzIgorICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFsbENvbmRpdGlvbj0iSW5zdGFsbEFsbFVzZXJzIGFuZCBJbmNsdWRlX3RjbHRrIGFuZCBJbmNsdWRlX3N5bWJvbHMiPgorICAgICAgICAgICAgICAgIDxNc2lQcm9wZXJ0eSBOYW1lPSJUQVJHRVRESVIiIFZhbHVlPSJbVGFyZ2V0RGlyXSIgLz4KKyAgICAgICAgICAgIDwvTXNpUGFja2FnZT4KKyAgICAgICAgICAgIDxNc2lQYWNrYWdlIElkPSJ0Y2x0a19BbGxVc2Vyc19kIgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0idGNsdGtfZC5tc2kiCisgICAgICAgICAgICAgICAgICAgICAgICBDb21wcmVzc2VkPSIkKHZhci5Db21wcmVzc01TSV9EKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZVBlck1hY2hpbmU9InllcyIKKyAgICAgICAgICAgICAgICAgICAgICAgIEVuYWJsZUZlYXR1cmVTZWxlY3Rpb249InllcyIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Ikluc3RhbGxBbGxVc2VycyBhbmQgSW5jbHVkZV90Y2x0ayBhbmQgSW5jbHVkZV9kZWJ1ZyI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorCisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0idGNsdGtfSnVzdEZvck1lIgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0idGNsdGsubXNpIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0iJCh2YXIuQ29tcHJlc3NNU0kpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ibm8iCisgICAgICAgICAgICAgICAgICAgICAgICBFbmFibGVGZWF0dXJlU2VsZWN0aW9uPSJ5ZXMiCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJub3QgSW5zdGFsbEFsbFVzZXJzIGFuZCBJbmNsdWRlX3RjbHRrIj4KKyAgICAgICAgICAgICAgICA8TXNpUHJvcGVydHkgTmFtZT0iVEFSR0VURElSIiBWYWx1ZT0iW1RhcmdldERpcl0iIC8+CisgICAgICAgICAgICA8L01zaVBhY2thZ2U+CisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0idGNsdGtfSnVzdEZvck1lX3BkYiIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9InRjbHRrX3BkYi5tc2kiCisgICAgICAgICAgICAgICAgICAgICAgICBDb21wcmVzc2VkPSIkKHZhci5Db21wcmVzc1BEQikiCisgICAgICAgICAgICAgICAgICAgICAgICBEb3dubG9hZFVybD0iJCh2YXIuRG93bmxvYWRVcmwpIgorICAgICAgICAgICAgICAgICAgICAgICAgRm9yY2VQZXJNYWNoaW5lPSJubyIKKyAgICAgICAgICAgICAgICAgICAgICAgIEVuYWJsZUZlYXR1cmVTZWxlY3Rpb249InllcyIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Im5vdCBJbnN0YWxsQWxsVXNlcnMgYW5kIEluY2x1ZGVfdGNsdGsgYW5kIEluY2x1ZGVfc3ltYm9scyI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9InRjbHRrX0p1c3RGb3JNZV9kIgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0idGNsdGtfZC5tc2kiCisgICAgICAgICAgICAgICAgICAgICAgICBDb21wcmVzc2VkPSIkKHZhci5Db21wcmVzc01TSV9EKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZVBlck1hY2hpbmU9Im5vIgorICAgICAgICAgICAgICAgICAgICAgICAgRW5hYmxlRmVhdHVyZVNlbGVjdGlvbj0ieWVzIgorICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFsbENvbmRpdGlvbj0ibm90IEluc3RhbGxBbGxVc2VycyBhbmQgSW5jbHVkZV90Y2x0ayBhbmQgSW5jbHVkZV9kZWJ1ZyI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICA8L1BhY2thZ2VHcm91cD4KKyAgICA8L0ZyYWdtZW50PgorPC9XaXg+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2J1bmRsZS9wYWNrYWdlZ3JvdXBzL3Rlc3Qud3hzIGIvVG9vbHMvbXNpL2J1bmRsZS9wYWNrYWdlZ3JvdXBzL3Rlc3Qud3hzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI2NGU4ZmYKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvYnVuZGxlL3BhY2thZ2Vncm91cHMvdGVzdC53eHMKQEAgLTAsMCArMSw1NiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxQYWNrYWdlR3JvdXAgSWQ9InRlc3QiPgorICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9InRlc3RfQWxsVXNlcnMiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJ0ZXN0Lm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzTVNJKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZVBlck1hY2hpbmU9InllcyIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Ikluc3RhbGxBbGxVc2VycyBhbmQgSW5jbHVkZV90ZXN0Ij4KKyAgICAgICAgICAgICAgICA8TXNpUHJvcGVydHkgTmFtZT0iVEFSR0VURElSIiBWYWx1ZT0iW1RhcmdldERpcl0iIC8+CisgICAgICAgICAgICA8L01zaVBhY2thZ2U+CisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0idGVzdF9BbGxVc2Vyc19wZGIiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJ0ZXN0X3BkYi5tc2kiCisgICAgICAgICAgICAgICAgICAgICAgICBDb21wcmVzc2VkPSIkKHZhci5Db21wcmVzc1BEQikiCisgICAgICAgICAgICAgICAgICAgICAgICBEb3dubG9hZFVybD0iJCh2YXIuRG93bmxvYWRVcmwpIgorICAgICAgICAgICAgICAgICAgICAgICAgRm9yY2VQZXJNYWNoaW5lPSJ5ZXMiCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJJbnN0YWxsQWxsVXNlcnMgYW5kIEluY2x1ZGVfdGVzdCBhbmQgSW5jbHVkZV9zeW1ib2xzIj4KKyAgICAgICAgICAgICAgICA8TXNpUHJvcGVydHkgTmFtZT0iVEFSR0VURElSIiBWYWx1ZT0iW1RhcmdldERpcl0iIC8+CisgICAgICAgICAgICA8L01zaVBhY2thZ2U+CisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0idGVzdF9BbGxVc2Vyc19kIgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0idGVzdF9kLm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzTVNJX0QpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ieWVzIgorICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFsbENvbmRpdGlvbj0iSW5zdGFsbEFsbFVzZXJzIGFuZCBJbmNsdWRlX3Rlc3QgYW5kIEluY2x1ZGVfZGVidWciPgorICAgICAgICAgICAgICAgIDxNc2lQcm9wZXJ0eSBOYW1lPSJUQVJHRVRESVIiIFZhbHVlPSJbVGFyZ2V0RGlyXSIgLz4KKyAgICAgICAgICAgIDwvTXNpUGFja2FnZT4KKworICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9InRlc3RfSnVzdEZvck1lIgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0idGVzdC5tc2kiCisgICAgICAgICAgICAgICAgICAgICAgICBDb21wcmVzc2VkPSIkKHZhci5Db21wcmVzc01TSSkiCisgICAgICAgICAgICAgICAgICAgICAgICBEb3dubG9hZFVybD0iJCh2YXIuRG93bmxvYWRVcmwpIgorICAgICAgICAgICAgICAgICAgICAgICAgRm9yY2VQZXJNYWNoaW5lPSJubyIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Im5vdCBJbnN0YWxsQWxsVXNlcnMgYW5kIEluY2x1ZGVfdGVzdCI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9InRlc3RfSnVzdEZvck1lX3BkYiIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9InRlc3RfcGRiLm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzUERCKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZVBlck1hY2hpbmU9Im5vIgorICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFsbENvbmRpdGlvbj0ibm90IEluc3RhbGxBbGxVc2VycyBhbmQgSW5jbHVkZV90ZXN0IGFuZCBJbmNsdWRlX3N5bWJvbHMiPgorICAgICAgICAgICAgICAgIDxNc2lQcm9wZXJ0eSBOYW1lPSJUQVJHRVRESVIiIFZhbHVlPSJbVGFyZ2V0RGlyXSIgLz4KKyAgICAgICAgICAgIDwvTXNpUGFja2FnZT4KKyAgICAgICAgICAgIDxNc2lQYWNrYWdlIElkPSJ0ZXN0X0p1c3RGb3JNZV9kIgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0idGVzdF9kLm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzTVNJX0QpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ibm8iCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJub3QgSW5zdGFsbEFsbFVzZXJzIGFuZCBJbmNsdWRlX3Rlc3QgYW5kIEluY2x1ZGVfZGVidWciPgorICAgICAgICAgICAgICAgIDxNc2lQcm9wZXJ0eSBOYW1lPSJUQVJHRVRESVIiIFZhbHVlPSJbVGFyZ2V0RGlyXSIgLz4KKyAgICAgICAgICAgIDwvTXNpUGFja2FnZT4KKyAgICAgICAgPC9QYWNrYWdlR3JvdXA+CisgICAgPC9GcmFnbWVudD4KKzwvV2l4PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9idW5kbGUvcGFja2FnZWdyb3Vwcy90b29scy53eHMgYi9Ub29scy9tc2kvYnVuZGxlL3BhY2thZ2Vncm91cHMvdG9vbHMud3hzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA2YWY1YjUKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvYnVuZGxlL3BhY2thZ2Vncm91cHMvdG9vbHMud3hzCkBAIC0wLDAgKzEsMjQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPFdpeCB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi93aSI+CisgICAgPEZyYWdtZW50PgorICAgICAgICA8UGFja2FnZUdyb3VwIElkPSJ0b29scyI+CisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0idG9vbHNfQWxsVXNlcnMiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJ0b29scy5tc2kiCisgICAgICAgICAgICAgICAgICAgICAgICBDb21wcmVzc2VkPSIkKHZhci5Db21wcmVzc01TSSkiCisgICAgICAgICAgICAgICAgICAgICAgICBEb3dubG9hZFVybD0iJCh2YXIuRG93bmxvYWRVcmwpIgorICAgICAgICAgICAgICAgICAgICAgICAgRm9yY2VQZXJNYWNoaW5lPSJ5ZXMiCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJJbnN0YWxsQWxsVXNlcnMgYW5kIEluY2x1ZGVfdG9vbHMiPgorICAgICAgICAgICAgICAgIDxNc2lQcm9wZXJ0eSBOYW1lPSJUQVJHRVRESVIiIFZhbHVlPSJbVGFyZ2V0RGlyXSIgLz4KKyAgICAgICAgICAgIDwvTXNpUGFja2FnZT4KKyAgICAgICAgICAgIAorICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9InRvb2xzX0p1c3RGb3JNZSIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9InRvb2xzLm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzTVNJKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZVBlck1hY2hpbmU9Im5vIgorICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFsbENvbmRpdGlvbj0ibm90IEluc3RhbGxBbGxVc2VycyBhbmQgSW5jbHVkZV90b29scyI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICA8L1BhY2thZ2VHcm91cD4KKyAgICA8L0ZyYWdtZW50PgorPC9XaXg+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2J1bmRsZS9wb3N0aW5zdGFsbF9lbi1VUy53eGxfdGVtcGxhdGUgYi9Ub29scy9tc2kvYnVuZGxlL3Bvc3RpbnN0YWxsX2VuLVVTLnd4bF90ZW1wbGF0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZjU0YWVmCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2J1bmRsZS9wb3N0aW5zdGFsbF9lbi1VUy53eGxfdGVtcGxhdGUKQEAgLTAsMCArMSw0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFdpeExvY2FsaXphdGlvbiBDdWx0dXJlPSJlbi11cyIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvbG9jYWxpemF0aW9uIj4KKyAgICA8U3RyaW5nIElkPSJDb21waWxlQWxsRGVzY3JpcHRpb24iPlByZWNvbXBpbGluZyBzdGFuZGFyZCBsaWJyYXJ5PC9TdHJpbmc+Cis8L1dpeExvY2FsaXphdGlvbj4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9idW5kbGUvcmVsZWFzZWxvY2FsLndpeHByb2ogYi9Ub29scy9tc2kvYnVuZGxlL3JlbGVhc2Vsb2NhbC53aXhwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBjM2RlZTcKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvYnVuZGxlL3JlbGVhc2Vsb2NhbC53aXhwcm9qCkBAIC0wLDAgKzEsMjEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgICA8UHJvcGVydHlHcm91cD4KKyAgICAgICAgPFByb2plY3RHdWlkPntGQ0Q0M0FDOS05NjlGLTQ5QTEtOEFDNS1FREMyNzU5OUQxRUJ9PC9Qcm9qZWN0R3VpZD4KKyAgICAgICAgPE91dHB1dE5hbWU+cHl0aG9uPC9PdXRwdXROYW1lPgorICAgICAgICA8T3V0cHV0U3VmZml4PjwvT3V0cHV0U3VmZml4PgorICAgIDwvUHJvcGVydHlHcm91cD4KKworICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cbXNpLnByb3BzIiAvPgorCisgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICAgIDxEZWZpbmVDb25zdGFudHM+CisgICAgICAgICAgICAkKERlZmluZUNvbnN0YW50cyk7CisgICAgICAgICAgICBDb21wcmVzc01TST15ZXM7CisgICAgICAgICAgICBDb21wcmVzc1BEQj1ubzsKKyAgICAgICAgICAgIENvbXByZXNzTVNJX0Q9bm8KKyAgICAgICAgPC9EZWZpbmVDb25zdGFudHM+CisgICAgPC9Qcm9wZXJ0eUdyb3VwPgorICAgIAorICAgIDxJbXBvcnQgUHJvamVjdD0iYnVuZGxlLnRhcmdldHMiIC8+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2J1bmRsZS9yZWxlYXNld2ViLndpeHByb2ogYi9Ub29scy9tc2kvYnVuZGxlL3JlbGVhc2V3ZWIud2l4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTBjNzM1Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2J1bmRsZS9yZWxlYXNld2ViLndpeHByb2oKQEAgLTAsMCArMSwyMSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgICA8UHJvamVjdEd1aWQ+ezcxQ0RFMjEzLUNCMzktNEJEOS1CODlELUJCQjg3ODY4OTE0NH08L1Byb2plY3RHdWlkPgorICAgICAgICA8T3V0cHV0TmFtZT5weXRob248L091dHB1dE5hbWU+CisgICAgICAgIDxPdXRwdXRTdWZmaXg+d2ViaW5zdGFsbDwvT3V0cHV0U3VmZml4PgorICAgIDwvUHJvcGVydHlHcm91cD4KKworICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cbXNpLnByb3BzIiAvPgorCisgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICAgIDxEZWZpbmVDb25zdGFudHM+CisgICAgICAgICAgICAkKERlZmluZUNvbnN0YW50cyk7CisgICAgICAgICAgICBDb21wcmVzc01TST1ubzsKKyAgICAgICAgICAgIENvbXByZXNzUERCPW5vOworICAgICAgICAgICAgQ29tcHJlc3NNU0lfRD1ubworICAgICAgICA8L0RlZmluZUNvbnN0YW50cz4KKyAgICA8L1Byb3BlcnR5R3JvdXA+CisgICAgCisgICAgPEltcG9ydCBQcm9qZWN0PSJidW5kbGUudGFyZ2V0cyIgLz4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvYnVuZGxlL3NuYXBzaG90LndpeHByb2ogYi9Ub29scy9tc2kvYnVuZGxlL3NuYXBzaG90LndpeHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGZlOTVhOAotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9idW5kbGUvc25hcHNob3Qud2l4cHJvagpAQCAtMCwwICsxLDIxIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICAgIDxQcm9qZWN0R3VpZD57OEE0QTExNjItNEJGOS00RkY2LTlBOTgtMzE1RjAxRTQ0OTMyfTwvUHJvamVjdEd1aWQ+CisgICAgICAgIDxPdXRwdXROYW1lPnB5dGhvbjwvT3V0cHV0TmFtZT4KKyAgICAgICAgPE91dHB1dFN1ZmZpeD48L091dHB1dFN1ZmZpeD4KKyAgICA8L1Byb3BlcnR5R3JvdXA+CisKKyAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXG1zaS5wcm9wcyIgLz4KKworICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgICA8RGVmaW5lQ29uc3RhbnRzPgorICAgICAgICAgICAgJChEZWZpbmVDb25zdGFudHMpOworICAgICAgICAgICAgQ29tcHJlc3NNU0k9bm87CisgICAgICAgICAgICBDb21wcmVzc1BEQj1ubzsKKyAgICAgICAgICAgIENvbXByZXNzTVNJX0Q9bm87CisgICAgICAgIDwvRGVmaW5lQ29uc3RhbnRzPgorICAgIDwvUHJvcGVydHlHcm91cD4KKyAgICAKKyAgICA8SW1wb3J0IFByb2plY3Q9ImJ1bmRsZS50YXJnZXRzIiAvPgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9jb21tb24ud3hzIGIvVG9vbHMvbXNpL2NvbW1vbi53eHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmU1MGMxMgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9jb21tb24ud3hzCkBAIC0wLDAgKzEsMTAxIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPFdpeCB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi93aSI+CisgICAgPEZyYWdtZW50PgorICAgICAgICA8UHJvcGVydHkgSWQ9IlJFR0lTVFJZS0VZIiBWYWx1ZT0iU29mdHdhcmVcJCh2YXIuVGVzdFByZWZpeClQeXRob25cUHl0aG9uQ29yZVwkKHZhci5TaG9ydFZlcnNpb24pJCh2YXIuU3VmZml4MzIpIiAvPgorICAgIDwvRnJhZ21lbnQ+CisgICAgCisgICAgPEZyYWdtZW50PgorICAgICAgICA8UHJvcGVydHkgSWQ9IlVwZ3JhZGVUYWJsZSIgVmFsdWU9IjEiIC8+CisgICAgICAgIAorICAgICAgICA8VXBncmFkZSBJZD0iJCh2YXIuVXBncmFkZUNvZGUpIj4KKyAgICAgICAgICAgIDxVcGdyYWRlVmVyc2lvbiBQcm9wZXJ0eT0iRE9XTkdSQURFIiBNaW5pbXVtPSIkKHZhci5WZXJzaW9uKSIgSW5jbHVkZU1pbmltdW09Im5vIiBPbmx5RGV0ZWN0PSJ5ZXMiIC8+CisgICAgICAgICAgICA8VXBncmFkZVZlcnNpb24gUHJvcGVydHk9IlVQR1JBREUiIE1pbmltdW09IiQodmFyLlVwZ3JhZGVNaW5pbXVtVmVyc2lvbikiIEluY2x1ZGVNaW5pbXVtPSJ5ZXMiIE1heGltdW09IiQodmFyLlZlcnNpb24pIiBJbmNsdWRlTWF4aW11bT0ibm8iIC8+CisgICAgICAgIDwvVXBncmFkZT4KKyAgICAgICAgCisgICAgICAgIDw/aWYgJCh2YXIuVXBncmFkZUNvZGUpIT0kKHZhci5Db3JlVXBncmFkZUNvZGUpID8+CisgICAgICAgIDxVcGdyYWRlIElkPSIkKHZhci5Db3JlVXBncmFkZUNvZGUpIj4KKyAgICAgICAgICAgIDxVcGdyYWRlVmVyc2lvbiBQcm9wZXJ0eT0iTUlTU0lOR19DT1JFIiBNaW5pbXVtPSIkKHZhci5WZXJzaW9uKSIgTWF4aW11bT0iJCh2YXIuVmVyc2lvbikiIE9ubHlEZXRlY3Q9InllcyIgLz4KKyAgICAgICAgPC9VcGdyYWRlPgorICAgICAgICA8P2VuZGlmID8+CisgICAgICAgIAorICAgICAgICA8Q29uZGl0aW9uIE1lc3NhZ2U9IiEobG9jLk5vRG93bmdyYWRlKSI+SW5zdGFsbGVkIE9SIE5PVCBET1dOR1JBREU8L0NvbmRpdGlvbj4KKyAgICAgICAgPENvbmRpdGlvbiBNZXNzYWdlPSIhKGxvYy5JbmNvcnJlY3RDb3JlKSI+SW5zdGFsbGVkIE9SIE5PVCBNSVNTSU5HX0NPUkU8L0NvbmRpdGlvbj4KKyAgICAgICAgPENvbmRpdGlvbiBNZXNzYWdlPSIhKGxvYy5Ob1RhcmdldERpcikiPkluc3RhbGxlZCBPUiBUQVJHRVRESVIgT1IgU3VwcHJlc3NfVEFSR0VURElSX0NoZWNrPC9Db25kaXRpb24+CisKKyAgICAgICAgPEluc3RhbGxFeGVjdXRlU2VxdWVuY2U+CisgICAgICAgICAgICA8UmVtb3ZlRXhpc3RpbmdQcm9kdWN0cyBBZnRlcj0iSW5zdGFsbEluaXRpYWxpemUiPlVQR1JBREU8L1JlbW92ZUV4aXN0aW5nUHJvZHVjdHM+CisgICAgICAgIDwvSW5zdGFsbEV4ZWN1dGVTZXF1ZW5jZT4KKyAgICA8L0ZyYWdtZW50PgorICAgIAorICAgIDxGcmFnbWVudD4KKyAgICAgICAgPCEtLSBJbmNsdWRlIGFuIGljb24gZm9yIHRoZSBQcm9ncmFtcyBhbmQgRmVhdHVyZXMgZGlhbG9nIC0tPgorICAgICAgICA8SWNvbiBJZD0iQVJQSWNvbiIgU291cmNlRmlsZT0iIShiaW5kcGF0aC5zcmMpUENccHljb24uaWNvIiAvPgorICAgICAgICA8UHJvcGVydHkgSWQ9IkFSUFBST0RVQ1RJQ09OIiBWYWx1ZT0iQVJQSWNvbiIgLz4KKyAgICAgICAgPFByb3BlcnR5IElkPSJBUlBOT01PRElGWSIgVmFsdWU9IjEiIC8+CisgICAgICAgIDxQcm9wZXJ0eSBJZD0iRElTQUJMRUFEVlRTSE9SVENVVFMiIFZhbHVlPSIxIiAvPgorICAgIDwvRnJhZ21lbnQ+CisgICAgCisgICAgPEZyYWdtZW50PgorICAgICAgICA8RGlyZWN0b3J5IElkPSJUQVJHRVRESVIiIE5hbWU9IlNvdXJjZURpciI+CisgICAgICAgICAgICA8RGlyZWN0b3J5IElkPSJJbnN0YWxsRGlyZWN0b3J5IiBDb21wb25lbnRHdWlkR2VuZXJhdGlvblNlZWQ9IiQodmFyLkluc3RhbGxEaXJlY3RvcnlHdWlkU2VlZCkiIC8+CisgICAgICAgIDwvRGlyZWN0b3J5PgorICAgIDwvRnJhZ21lbnQ+CisgICAgCisgICAgPCEtLSBUb3AtbGV2ZWwgZGlyZWN0b3JpZXMgLS0+CisgICAgPEZyYWdtZW50PgorICAgICAgICA8RGlyZWN0b3J5UmVmIElkPSJJbnN0YWxsRGlyZWN0b3J5Ij4KKyAgICAgICAgICAgIDxEaXJlY3RvcnkgSWQ9IkRMTHMiIE5hbWU9IkRMTHMiIC8+CisgICAgICAgIDwvRGlyZWN0b3J5UmVmPgorICAgIDwvRnJhZ21lbnQ+CisKKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxEaXJlY3RvcnlSZWYgSWQ9Ikluc3RhbGxEaXJlY3RvcnkiPgorICAgICAgICAgICAgPERpcmVjdG9yeSBJZD0iRG9jIiBOYW1lPSJEb2MiIC8+CisgICAgICAgIDwvRGlyZWN0b3J5UmVmPgorICAgIDwvRnJhZ21lbnQ+CisKKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxEaXJlY3RvcnlSZWYgSWQ9Ikluc3RhbGxEaXJlY3RvcnkiPgorICAgICAgICAgICAgPERpcmVjdG9yeSBJZD0iaW5jbHVkZSIgTmFtZT0iaW5jbHVkZSIgLz4KKyAgICAgICAgPC9EaXJlY3RvcnlSZWY+CisgICAgPC9GcmFnbWVudD4KKworICAgIDxGcmFnbWVudD4KKyAgICAgICAgPERpcmVjdG9yeVJlZiBJZD0iSW5zdGFsbERpcmVjdG9yeSI+CisgICAgICAgICAgICA8RGlyZWN0b3J5IElkPSJMaWIiIE5hbWU9IkxpYiIgLz4KKyAgICAgICAgPC9EaXJlY3RvcnlSZWY+CisgICAgPC9GcmFnbWVudD4KKworICAgIDxGcmFnbWVudD4KKyAgICAgICAgPERpcmVjdG9yeVJlZiBJZD0iSW5zdGFsbERpcmVjdG9yeSI+CisgICAgICAgICAgICA8RGlyZWN0b3J5IElkPSJsaWJzIiBOYW1lPSJsaWJzIiAvPgorICAgICAgICA8L0RpcmVjdG9yeVJlZj4KKyAgICA8L0ZyYWdtZW50PgorCisgICAgPEZyYWdtZW50PgorICAgICAgICA8RGlyZWN0b3J5UmVmIElkPSJJbnN0YWxsRGlyZWN0b3J5Ij4KKyAgICAgICAgICAgIDxEaXJlY3RvcnkgSWQ9IlNjcmlwdHMiIE5hbWU9IlNjcmlwdHMiIC8+CisgICAgICAgIDwvRGlyZWN0b3J5UmVmPgorICAgIDwvRnJhZ21lbnQ+CisKKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxEaXJlY3RvcnlSZWYgSWQ9Ikluc3RhbGxEaXJlY3RvcnkiPgorICAgICAgICAgICAgPERpcmVjdG9yeSBJZD0idGNsIiBOYW1lPSJ0Y2wiIC8+CisgICAgICAgIDwvRGlyZWN0b3J5UmVmPgorICAgIDwvRnJhZ21lbnQ+CisKKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxEaXJlY3RvcnlSZWYgSWQ9Ikluc3RhbGxEaXJlY3RvcnkiPgorICAgICAgICAgICAgPERpcmVjdG9yeSBJZD0iVG9vbHMiIE5hbWU9IlRvb2xzIiAvPgorICAgICAgICA8L0RpcmVjdG9yeVJlZj4KKyAgICA8L0ZyYWdtZW50PgorICAgIAorICAgIDwhLS0gU3RhcnQgTWVudSBmb2xkZXIgLS0+CisgICAgPEZyYWdtZW50PgorICAgICAgICA8RGlyZWN0b3J5UmVmIElkPSJUQVJHRVRESVIiPgorICAgICAgICAgICAgPERpcmVjdG9yeSBJZD0iUHJvZ3JhbU1lbnVGb2xkZXIiPgorICAgICAgICAgICAgICAgIDxEaXJlY3RvcnkgSWQ9Ik1lbnVEaXIiIE5hbWU9IiEobG9jLlByb2R1Y3ROYW1lKSIgLz4KKyAgICAgICAgICAgIDwvRGlyZWN0b3J5PgorICAgICAgICA8L0RpcmVjdG9yeVJlZj4KKyAgICA8L0ZyYWdtZW50PgorPC9XaXg+CmRpZmYgLS1naXQgYS9Ub29scy9tc2kvY29tbW9uX2VuLVVTLnd4bF90ZW1wbGF0ZSBiL1Rvb2xzL21zaS9jb21tb25fZW4tVVMud3hsX3RlbXBsYXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhkMDM1MjYKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvY29tbW9uX2VuLVVTLnd4bF90ZW1wbGF0ZQpAQCAtMCwwICsxLDE3IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFdpeExvY2FsaXphdGlvbiBDdWx0dXJlPSJlbi11cyIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvbG9jYWxpemF0aW9uIj4KKyAgICA8U3RyaW5nIElkPSJMQ0lEIj4xMDMzPC9TdHJpbmc+CisgICAgPFN0cmluZyBJZD0iQ3VsdHVyZSI+ZW4tdXM8L1N0cmluZz4KKyAgICA8U3RyaW5nIElkPSJQcm9kdWN0TmFtZSI+UHl0aG9uIHt7U2hvcnRWZXJzaW9ufX08L1N0cmluZz4KKyAgICA8U3RyaW5nIElkPSJGdWxsUHJvZHVjdE5hbWUiPlB5dGhvbiB7e0xvbmdWZXJzaW9ufX0gKHt7Qml0bmVzc319KTwvU3RyaW5nPgorICAgIDxTdHJpbmcgSWQ9IlRpdGxlIj5QeXRob24ge3tMb25nVmVyc2lvbn19ICEobG9jLkRlc2NyaXB0b3IpICh7e0JpdG5lc3N9fSk8L1N0cmluZz4KKyAgICA8U3RyaW5nIElkPSJEZXNjcmlwdGlvbiI+UHl0aG9uIHt7TG9uZ1ZlcnNpb259fSAhKGxvYy5EZXNjcmlwdG9yKSAoe3tCaXRuZXNzfX0pPC9TdHJpbmc+CisgICAgPFN0cmluZyBJZD0iVGl0bGVQZGIiPlB5dGhvbiB7e0xvbmdWZXJzaW9ufX0gIShsb2MuRGVzY3JpcHRvcikgKHt7Qml0bmVzc319IHN5bWJvbHMpPC9TdHJpbmc+CisgICAgPFN0cmluZyBJZD0iRGVzY3JpcHRpb25QZGIiPlB5dGhvbiB7e0xvbmdWZXJzaW9ufX0gIShsb2MuRGVzY3JpcHRvcikgKHt7Qml0bmVzc319IHN5bWJvbHMpPC9TdHJpbmc+CisgICAgPFN0cmluZyBJZD0iVGl0bGVfZCI+UHl0aG9uIHt7TG9uZ1ZlcnNpb259fSAhKGxvYy5EZXNjcmlwdG9yKSAoe3tCaXRuZXNzfX0gZGVidWcpPC9TdHJpbmc+CisgICAgPFN0cmluZyBJZD0iRGVzY3JpcHRpb25fZCI+UHl0aG9uIHt7TG9uZ1ZlcnNpb259fSAhKGxvYy5EZXNjcmlwdG9yKSAoe3tCaXRuZXNzfX0gZGVidWcpPC9TdHJpbmc+CisgICAgPFN0cmluZyBJZD0iTWFudWZhY3R1cmVyIj5QeXRob24gU29mdHdhcmUgRm91bmRhdGlvbjwvU3RyaW5nPgorICAgIDxTdHJpbmcgSWQ9Ik5vRG93bmdyYWRlIj5BIG5ld2VyIHZlcnNpb24gb2YgIShsb2MuUHJvZHVjdE5hbWUpIGlzIGFscmVhZHkgaW5zdGFsbGVkLjwvU3RyaW5nPgorICAgIDxTdHJpbmcgSWQ9IkluY29ycmVjdENvcmUiPkFuIGluY29ycmVjdCB2ZXJzaW9uIG9mIGEgcHJlcmVxdWlzaXRlIHBhY2thZ2UgaXMgaW5zdGFsbGVkLiBQbGVhc2UgdW5pbnN0YWxsIGFueSBvdGhlciB2ZXJzaW9ucyBvZiAhKGxvYy5Qcm9kdWN0TmFtZSkgYW5kIHRyeSBpbnN0YWxsaW5nIHRoaXMgYWdhaW4uPC9TdHJpbmc+CisgICAgPFN0cmluZyBJZD0iTm9UYXJnZXREaXIiPlRoZSBUQVJHRVRESVIgdmFyaWFibGUgbXVzdCBiZSBwcm92aWRlZCB3aGVuIGludm9raW5nIHRoaXMgaW5zdGFsbGVyLjwvU3RyaW5nPgorPC9XaXhMb2NhbGl6YXRpb24+CmRpZmYgLS1naXQgYS9Ub29scy9tc2kvY29yZS9jb3JlLnByb3BzIGIvVG9vbHMvbXNpL2NvcmUvY29yZS5wcm9wcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMzIwNjA3Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2NvcmUvY29yZS5wcm9wcwpAQCAtMCwwICsxLDEyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgICAgPEltcG9ydCBQcm9qZWN0PSIuLlxtc2kucHJvcHMiIC8+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPENvbXBpbGUgSW5jbHVkZT0iKi53eHMiIC8+CisgICAgPC9JdGVtR3JvdXA+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPEVtYmVkZGVkUmVzb3VyY2UgSW5jbHVkZT0iKi53eGwiIC8+CisgICAgPC9JdGVtR3JvdXA+CisKKyAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXG1zaS50YXJnZXRzIiAvPgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9jb3JlL2NvcmUud2l4cHJvaiBiL1Rvb2xzL21zaS9jb3JlL2NvcmUud2l4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MjY1MTE5Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2NvcmUvY29yZS53aXhwcm9qCkBAIC0wLDAgKzEsMTEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgICA8UHJvcGVydHlHcm91cD4KKyAgICAgICAgPFByb2plY3RHdWlkPnsxQjQ1MDJENS1CNjI3LTRGNTAtQUJFQS00Q0M1QThFODgyNjV9PC9Qcm9qZWN0R3VpZD4KKyAgICAgICAgPFNjaGVtYVZlcnNpb24+Mi4wPC9TY2hlbWFWZXJzaW9uPgorICAgICAgICA8T3V0cHV0TmFtZT5jb3JlPC9PdXRwdXROYW1lPgorICAgICAgICA8T3V0cHV0VHlwZT5QYWNrYWdlPC9PdXRwdXRUeXBlPgorICAgICAgICA8RGVmaW5lQ29uc3RhbnRzPkluY2x1ZGVEZWZhdWx0RmVhdHVyZT0xOyQoRGVmaW5lQ29uc3RhbnRzKTwvRGVmaW5lQ29uc3RhbnRzPgorICAgIDwvUHJvcGVydHlHcm91cD4KKyAgICA8SW1wb3J0IFByb2plY3Q9ImNvcmUucHJvcHMiIC8+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2NvcmUvY29yZS53eHMgYi9Ub29scy9tc2kvY29yZS9jb3JlLnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMzU0ZTM3Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2NvcmUvY29yZS53eHMKQEAgLTAsMCArMSwyNSBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxXaXggeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvd2kiPgorICAgIDxQcm9kdWN0IElkPSIqIiBMYW5ndWFnZT0iIShsb2MuTENJRCkiIE5hbWU9IiEobG9jLlRpdGxlKSIgVmVyc2lvbj0iJCh2YXIuVmVyc2lvbikiIE1hbnVmYWN0dXJlcj0iIShsb2MuTWFudWZhY3R1cmVyKSIgVXBncmFkZUNvZGU9IiQodmFyLlVwZ3JhZGVDb2RlKSI+CisgICAgICAgIDxQYWNrYWdlIEluc3RhbGxlclZlcnNpb249IjMwMCIgQ29tcHJlc3NlZD0ieWVzIiBJbnN0YWxsU2NvcGU9InBlclVzZXIiIFBsYXRmb3JtPSIkKHZhci5QbGF0Zm9ybSkiIC8+CisgICAgICAgIDxNZWRpYVRlbXBsYXRlIEVtYmVkQ2FiPSJ5ZXMiIENvbXByZXNzaW9uTGV2ZWw9ImhpZ2giIC8+CisgICAgICAgIAorICAgICAgICA8UHJvcGVydHlSZWYgSWQ9IlVwZ3JhZGVUYWJsZSIgLz4KKyAgICAgICAgCisgICAgICAgIDw/aWZkZWYgSW5jbHVkZURlZmF1bHRGZWF0dXJlID8+CisgICAgICAgIDxGZWF0dXJlIElkPSJEZWZhdWx0RmVhdHVyZSIgQWxsb3dBZHZlcnRpc2U9Im5vIiBUaXRsZT0iIShsb2MuVGl0bGUpIiBEZXNjcmlwdGlvbj0iIShsb2MuRGVzY3JpcHRpb24pIj4KKyAgICAgICAgICAgIDxDb21wb25lbnRHcm91cFJlZiBJZD0iY29yZV9kbGwiIC8+CisgICAgICAgIDwvRmVhdHVyZT4KKyAgICAgICAgPD9lbmRpZiA/PgorICAgICAgICA8P2lmZGVmIEluY2x1ZGVTeW1ib2xzID8+CisgICAgICAgIDxGZWF0dXJlIElkPSJTeW1ib2xzIiBBbGxvd0FkdmVydGlzZT0ibm8iIFRpdGxlPSIhKGxvYy5UaXRsZVBkYikiIERlc2NyaXB0aW9uPSIhKGxvYy5EZXNjcmlwdGlvblBkYikiPgorICAgICAgICAgICAgPENvbXBvbmVudEdyb3VwUmVmIElkPSJjb3JlX3N5bWJvbHMiIC8+CisgICAgICAgIDwvRmVhdHVyZT4KKyAgICAgICAgPD9lbmRpZiA/PgorICAgICAgICA8P2lmZGVmIEluY2x1ZGVEZWJ1Z0JpbmFyaWVzID8+CisgICAgICAgIDxGZWF0dXJlIElkPSJEZWJ1Z0JpbmFyaWVzIiBBbGxvd0FkdmVydGlzZT0ibm8iIFRpdGxlPSIhKGxvYy5UaXRsZV9kKSIgRGVzY3JpcHRpb249IiEobG9jLkRlc2NyaXB0aW9uX2QpIj4KKyAgICAgICAgICAgIDxDb21wb25lbnRHcm91cFJlZiBJZD0iY29yZV9kbGxfZCIgLz4KKyAgICAgICAgPC9GZWF0dXJlPgorICAgICAgICA8P2VuZGlmID8+CisgICAgPC9Qcm9kdWN0PgorPC9XaXg+CmRpZmYgLS1naXQgYS9Ub29scy9tc2kvY29yZS9jb3JlX2Qud2l4cHJvaiBiL1Rvb2xzL21zaS9jb3JlL2NvcmVfZC53aXhwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYxZjYwYTkKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvY29yZS9jb3JlX2Qud2l4cHJvagpAQCAtMCwwICsxLDExIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICAgIDxQcm9qZWN0R3VpZD57RDM2NzdEQ0YtMDk4QS00Mzk4LTlGQTUtOEU3NEFDMzdFMERGfTwvUHJvamVjdEd1aWQ+CisgICAgICAgIDxTY2hlbWFWZXJzaW9uPjIuMDwvU2NoZW1hVmVyc2lvbj4KKyAgICAgICAgPE91dHB1dE5hbWU+Y29yZV9kPC9PdXRwdXROYW1lPgorICAgICAgICA8T3V0cHV0VHlwZT5QYWNrYWdlPC9PdXRwdXRUeXBlPgorICAgICAgICA8RGVmaW5lQ29uc3RhbnRzPkluY2x1ZGVEZWJ1Z0JpbmFyaWVzPTE7JChEZWZpbmVDb25zdGFudHMpPC9EZWZpbmVDb25zdGFudHM+CisgICAgPC9Qcm9wZXJ0eUdyb3VwPgorICAgIDxJbXBvcnQgUHJvamVjdD0iY29yZS5wcm9wcyIgLz4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvY29yZS9jb3JlX2VuLVVTLnd4bCBiL1Rvb2xzL21zaS9jb3JlL2NvcmVfZW4tVVMud3hsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc5Nzc0NzAKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvY29yZS9jb3JlX2VuLVVTLnd4bApAQCAtMCwwICsxLDUgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8V2l4TG9jYWxpemF0aW9uIEN1bHR1cmU9ImVuLXVzIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi9sb2NhbGl6YXRpb24iPgorICAgIDxTdHJpbmcgSWQ9IkRlc2NyaXB0b3IiPkNvcmUgSW50ZXJwcmV0ZXI8L1N0cmluZz4KKyAgICA8U3RyaW5nIElkPSJTaG9ydERlc2NyaXB0b3IiPmNvcmU8L1N0cmluZz4KKzwvV2l4TG9jYWxpemF0aW9uPgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2NvcmUvY29yZV9maWxlcy53eHMgYi9Ub29scy9tc2kvY29yZS9jb3JlX2ZpbGVzLnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNDVlMTQ3Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2NvcmUvY29yZV9maWxlcy53eHMKQEAgLTAsMCArMSwzMSBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxXaXggeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvd2kiPgorICAgIDxGcmFnbWVudD4KKyAgICAgICAgPENvbXBvbmVudEdyb3VwIElkPSJjb3JlX2RsbCI+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJweXRob25fc3RhYmxlLmRsbCIgRGlyZWN0b3J5PSJJbnN0YWxsRGlyZWN0b3J5IiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBJZD0icHl0aG9uX3N0YWJsZS5kbGwiIE5hbWU9InB5dGhvbiQodmFyLk1ham9yVmVyc2lvbk51bWJlcikuZGxsIiBLZXlQYXRoPSJ5ZXMiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9InB5dGhvbi5kbGwiIERpcmVjdG9yeT0iSW5zdGFsbERpcmVjdG9yeSIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgSWQ9InB5dGhvbi5kbGwiIE5hbWU9InB5dGhvbiQodmFyLk1ham9yVmVyc2lvbk51bWJlcikkKHZhci5NaW5vclZlcnNpb25OdW1iZXIpLmRsbCIgS2V5UGF0aD0ieWVzIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgIDwvQ29tcG9uZW50R3JvdXA+CisgICAgPC9GcmFnbWVudD4KKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxDb21wb25lbnRHcm91cCBJZD0iY29yZV9zeW1ib2xzIj4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9InB5dGhvbi5wZGIiIERpcmVjdG9yeT0iSW5zdGFsbERpcmVjdG9yeSIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgSWQ9InB5dGhvbi5wZGIiIE5hbWU9InB5dGhvbiQodmFyLk1ham9yVmVyc2lvbk51bWJlcikkKHZhci5NaW5vclZlcnNpb25OdW1iZXIpLnBkYiIgS2V5UGF0aD0ieWVzIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgIDwvQ29tcG9uZW50R3JvdXA+CisgICAgPC9GcmFnbWVudD4KKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxDb21wb25lbnRHcm91cCBJZD0iY29yZV9kbGxfZCI+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJweXRob25fc3RhYmxlX2QuZGxsIiBEaXJlY3Rvcnk9Ikluc3RhbGxEaXJlY3RvcnkiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIElkPSJweXRob25fc3RhYmxlX2QuZGxsIiBOYW1lPSJweXRob24kKHZhci5NYWpvclZlcnNpb25OdW1iZXIpX2QuZGxsIiBLZXlQYXRoPSJ5ZXMiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9InB5dGhvbl9kLmRsbCIgRGlyZWN0b3J5PSJJbnN0YWxsRGlyZWN0b3J5IiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBJZD0icHl0aG9uX2QuZGxsIiBOYW1lPSJweXRob24kKHZhci5NYWpvclZlcnNpb25OdW1iZXIpJCh2YXIuTWlub3JWZXJzaW9uTnVtYmVyKV9kLmRsbCIgS2V5UGF0aD0ieWVzIiAvPgorICAgICAgICAgICAgICAgIDxGaWxlIElkPSJweXRob25fZC5wZGIiIE5hbWU9InB5dGhvbiQodmFyLk1ham9yVmVyc2lvbk51bWJlcikkKHZhci5NaW5vclZlcnNpb25OdW1iZXIpX2QucGRiIiBLZXlQYXRoPSJubyIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICA8L0NvbXBvbmVudEdyb3VwPgorICAgIDwvRnJhZ21lbnQ+Cis8L1dpeD4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9jb3JlL2NvcmVfcGRiLndpeHByb2ogYi9Ub29scy9tc2kvY29yZS9jb3JlX3BkYi53aXhwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiZjkzNzkKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvY29yZS9jb3JlX3BkYi53aXhwcm9qCkBAIC0wLDAgKzEsMTEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgICA8UHJvcGVydHlHcm91cD4KKyAgICAgICAgPFByb2plY3RHdWlkPntFOThFNzUzOS02NEU3LTREQ0UtQUFDRC0wMUUzQURFNDBFRkR9PC9Qcm9qZWN0R3VpZD4KKyAgICAgICAgPFNjaGVtYVZlcnNpb24+Mi4wPC9TY2hlbWFWZXJzaW9uPgorICAgICAgICA8T3V0cHV0TmFtZT5jb3JlX3BkYjwvT3V0cHV0TmFtZT4KKyAgICAgICAgPE91dHB1dFR5cGU+UGFja2FnZTwvT3V0cHV0VHlwZT4KKyAgICAgICAgPERlZmluZUNvbnN0YW50cz5JbmNsdWRlU3ltYm9scz0xOyQoRGVmaW5lQ29uc3RhbnRzKTwvRGVmaW5lQ29uc3RhbnRzPgorICAgIDwvUHJvcGVydHlHcm91cD4KKyAgICA8SW1wb3J0IFByb2plY3Q9ImNvcmUucHJvcHMiIC8+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2NydC9jcnQud2l4cHJvaiBiL1Rvb2xzL21zaS9jcnQvY3J0LndpeHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODM4OWIzYQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9jcnQvY3J0LndpeHByb2oKQEAgLTAsMCArMSwyMCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgICA8UHJvamVjdEd1aWQ+ezkxQzk5Mjk4LThFMkUtNDQyMi1BNUFGLUNDNEZGRjlBNThEM308L1Byb2plY3RHdWlkPgorICAgICAgICA8U2NoZW1hVmVyc2lvbj4yLjA8L1NjaGVtYVZlcnNpb24+CisgICAgICAgIDxPdXRwdXROYW1lPmNydDwvT3V0cHV0TmFtZT4KKyAgICAgICAgPE91dHB1dFR5cGU+UGFja2FnZTwvT3V0cHV0VHlwZT4KKyAgICAgICAgPFN1cHByZXNzSWNlcz5JQ0U3MTwvU3VwcHJlc3NJY2VzPgorICAgIDwvUHJvcGVydHlHcm91cD4KKyAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXG1zaS5wcm9wcyIgLz4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8Q29tcGlsZSBJbmNsdWRlPSJjcnQud3hzIiAvPgorICAgICAgICA8Q29tcGlsZSBJbmNsdWRlPSJjcnRfZmlsZXMuJChWaXN1YWxTdHVkaW9WZXJzaW9uKS53eHMiIC8+CisgICAgPC9JdGVtR3JvdXA+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPEVtYmVkZGVkUmVzb3VyY2UgSW5jbHVkZT0iKi53eGwiIC8+CisgICAgPC9JdGVtR3JvdXA+CisgICAgCisgICAgPEltcG9ydCBQcm9qZWN0PSIuLlxtc2kudGFyZ2V0cyIgLz4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvY3J0L2NydC53eHMgYi9Ub29scy9tc2kvY3J0L2NydC53eHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWIxMDA5NQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9jcnQvY3J0Lnd4cwpAQCAtMCwwICsxLDI2IEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPFdpeCB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi93aSI+CisgICAgPFByb2R1Y3QgSWQ9IioiIExhbmd1YWdlPSIhKGxvYy5MQ0lEKSIgTmFtZT0iIShsb2MuVGl0bGUpIiBWZXJzaW9uPSIkKHZhci5WZXJzaW9uKSIgTWFudWZhY3R1cmVyPSIhKGxvYy5NYW51ZmFjdHVyZXIpIiBVcGdyYWRlQ29kZT0iJCh2YXIuVXBncmFkZUNvZGUpIj4KKyAgICAgICAgPFBhY2thZ2UgSW5zdGFsbGVyVmVyc2lvbj0iMzAwIiBDb21wcmVzc2VkPSJ5ZXMiIEluc3RhbGxTY29wZT0icGVyVXNlciIgUGxhdGZvcm09IiQodmFyLlBsYXRmb3JtKSIgLz4KKyAgICAgICAgPE1lZGlhVGVtcGxhdGUgRW1iZWRDYWI9InllcyIgQ29tcHJlc3Npb25MZXZlbD0iaGlnaCIgLz4KKyAgICAgICAgCisgICAgICAgIDxQcm9wZXJ0eVJlZiBJZD0iVXBncmFkZVRhYmxlIiAvPgorICAgICAgICAKKyAgICAgICAgPD9pZiAkKHZhci5QbGF0Zm9ybSl+PXg2NCA/PgorICAgICAgICA8P2RlZmluZSBEaXJOYW1lPVN5c3RlbTY0Pz4KKyAgICAgICAgPD9lbHNlID8+CisgICAgICAgIDw/ZGVmaW5lIERpck5hbWU9U3lzdGVtPz4KKyAgICAgICAgPD9lbmRpZiA/PgorICAgICAgICA8RGlyZWN0b3J5UmVmIElkPSJUQVJHRVRESVIiPgorICAgICAgICAgICAgPERpcmVjdG9yeSBJZD0iJCh2YXIuRGlyTmFtZSlGb2xkZXIiIE5hbWU9IiQodmFyLkRpck5hbWUpIj4KKyAgICAgICAgICAgICAgICA8RGlyZWN0b3J5IElkPSJTeXN0ZW1JbnN0YWxsRGlyZWN0b3J5IiBOYW1lPSIuIiAvPgorICAgICAgICAgICAgPC9EaXJlY3Rvcnk+CisgICAgICAgIDwvRGlyZWN0b3J5UmVmPgorICAgICAgICA8P3VuZGVmIERpck5hbWUgPz4KKyAgICAgICAgCisgICAgICAgIDxGZWF0dXJlIElkPSJEZWZhdWx0RmVhdHVyZSIgQWxsb3dBZHZlcnRpc2U9Im5vIiBUaXRsZT0iIShsb2MuVGl0bGUpIiBEZXNjcmlwdGlvbj0iIShsb2MuRGVzY3JpcHRpb24pIj4KKyAgICAgICAgICAgIDxDb21wb25lbnRHcm91cFJlZiBJZD0iY3J0X2ZpbGVzIiAvPgorICAgICAgICA8L0ZlYXR1cmU+CisgICAgPC9Qcm9kdWN0PgorPC9XaXg+CisKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9jcnQvY3J0X2VuLVVTLnd4bCBiL1Rvb2xzL21zaS9jcnQvY3J0X2VuLVVTLnd4bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZWUzYzhhCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2NydC9jcnRfZW4tVVMud3hsCkBAIC0wLDAgKzEsNSBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxXaXhMb2NhbGl6YXRpb24gQ3VsdHVyZT0iZW4tdXMiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L2xvY2FsaXphdGlvbiI+CisgICAgPFN0cmluZyBJZD0iRGVzY3JpcHRvciI+QyBSdW50aW1lPC9TdHJpbmc+CisgICAgPFN0cmluZyBJZD0iU2hvcnREZXNjcmlwdG9yIj5jcnQ8L1N0cmluZz4KKzwvV2l4TG9jYWxpemF0aW9uPgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2NydC9jcnRfZmlsZXMuMTIuMC53eHMgYi9Ub29scy9tc2kvY3J0L2NydF9maWxlcy4xMi4wLnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNjI1OTNmCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2NydC9jcnRfZmlsZXMuMTIuMC53eHMKQEAgLTAsMCArMSwyMCBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxXaXggeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvd2kiPgorICAgIDxGcmFnbWVudD4KKyAgICAgICAgPD9pZiAkKHZhci5QbGF0Zm9ybSl+PXg2NCA/PgorICAgICAgICA8P2RlZmluZSBtc3ZjcjEyMEd1aWQ9ezA4MzVDOTQ3LUQ2RDItNEU1Mi1BRjE0LTAyMzFEMDRFODhFQX0/PgorICAgICAgICA8P2Vsc2UgPz4KKyAgICAgICAgPD9kZWZpbmUgbXN2Y3IxMjBHdWlkPXtFNUI5MjA0OC01ODU5LTRBRjEtQUVBRC1COTdFQkYwMEIwODd9ID8+CisgICAgICAgIDw/ZW5kaWYgPz4KKyAgICAgICAgPENvbXBvbmVudEdyb3VwIElkPSJjcnRfZmlsZXMiPgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0ibXN2Y3IxMjAuZGxsX0xNIiBEaXJlY3Rvcnk9IlN5c3RlbUluc3RhbGxEaXJlY3RvcnkiIEd1aWQ9IiQodmFyLm1zdmNyMTIwR3VpZCkiIFNoYXJlZD0ieWVzIiBTaGFyZWREbGxSZWZDb3VudD0ieWVzIj4KKyAgICAgICAgICAgICAgICA8Q29uZGl0aW9uPkFMTFVTRVJTPTE8L0NvbmRpdGlvbj4KKyAgICAgICAgICAgICAgICA8RmlsZSBJZD0ibXN2Y3IxMjAuZGxsX0xNIiBTb3VyY2U9IiEoYmluZHBhdGguY3J0KVxtc3ZjcjEyMC5kbGwiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9Im1zdmNyMTIwLmRsbF9DVSIgRGlyZWN0b3J5PSJJbnN0YWxsRGlyZWN0b3J5IiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8Q29uZGl0aW9uPk5PVCBBTExVU0VSUz0xPC9Db25kaXRpb24+CisgICAgICAgICAgICAgICAgPEZpbGUgSWQ9Im1zdmNyMTIwLmRsbF9DVSIgU291cmNlPSIhKGJpbmRwYXRoLmNydClcbXN2Y3IxMjAuZGxsIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgIDwvQ29tcG9uZW50R3JvdXA+CisgICAgPC9GcmFnbWVudD4KKzwvV2l4PgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2NydC9jcnRfZmlsZXMuMTQuMC53eHMgYi9Ub29scy9tc2kvY3J0L2NydF9maWxlcy4xNC4wLnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZTY4MmM5Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2NydC9jcnRfZmlsZXMuMTQuMC53eHMKQEAgLTAsMCArMSw0MCBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxXaXggeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvd2kiPgorICAgIDxGcmFnbWVudD4KKyAgICAgICAgPD9pZiAkKHZhci5QbGF0Zm9ybSl+PXg2NCA/PgorICAgICAgICA8P2RlZmluZSBhcHBjcnQxNDBHdWlkPXtDQzE2MEZBOS1CNTE5LTM4RUMtQjM1OC1CNDE0NkU4NTA2Qzh9Pz4KKyAgICAgICAgPD9kZWZpbmUgZGVza3RvcGNydDE0MEd1aWQ9ezREQjc4QTc5LThEN0YtMzVERC1CMEU4LTczNkRFNDREMjVGM30/PgorICAgICAgICA8P2RlZmluZSB2Y3J1bnRpbWUxNDBHdWlkPXtCMzMyNThGRC03NTBDLTNCNDItOEJFNC01MzVCNDhFOTdEQjR9Pz4KKyAgICAgICAgPD9lbHNlID8+CisgICAgICAgIDw/ZGVmaW5lIGFwcGNydDE0MEd1aWQ9e0UzODU0RjlDLTRDRkItM0I4NS05MEJELTg2QUEyMkQ4MkRDOH0/PgorICAgICAgICA8P2RlZmluZSBkZXNrdG9wY3J0MTQwR3VpZD17NDZFQUIxQ0QtQzM2Mi0zMTM5LUJEN0UtRDg3ODJFNjUyNTNBfT8+CisgICAgICAgIDw/ZGVmaW5lIHZjcnVudGltZTE0MEd1aWQ9e0U4RTM5RDNCLTRGMzUtMzZEOC1CODkyLTRCMjgzMzZGRTA0MX0/PgorICAgICAgICA8P2VuZGlmID8+CisgICAgICAgIDxDb21wb25lbnRHcm91cCBJZD0iY3J0X2ZpbGVzIj4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9ImFwcGNydDE0MC5kbGxfTE0iIERpcmVjdG9yeT0iU3lzdGVtSW5zdGFsbERpcmVjdG9yeSIgR3VpZD0iJCh2YXIuYXBwY3J0MTQwR3VpZCkiIFNoYXJlZD0ieWVzIiBTaGFyZWREbGxSZWZDb3VudD0ieWVzIj4KKyAgICAgICAgICAgICAgICA8Q29uZGl0aW9uPkFMTFVTRVJTPTE8L0NvbmRpdGlvbj4KKyAgICAgICAgICAgICAgICA8RmlsZSBJZD0iYXBwY3J0MTQwLmRsbF9MTSIgU291cmNlPSIhKGJpbmRwYXRoLmNydClcYXBwY3J0MTQwLmRsbCIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0iZGVza3RvcGNydDE0MC5kbGxfTE0iIERpcmVjdG9yeT0iU3lzdGVtSW5zdGFsbERpcmVjdG9yeSIgR3VpZD0iJCh2YXIuZGVza3RvcGNydDE0MEd1aWQpIiBTaGFyZWQ9InllcyIgU2hhcmVkRGxsUmVmQ291bnQ9InllcyI+CisgICAgICAgICAgICAgICAgPENvbmRpdGlvbj5BTExVU0VSUz0xPC9Db25kaXRpb24+CisgICAgICAgICAgICAgICAgPEZpbGUgSWQ9ImRlc2t0b3BjcnQxNDAuZGxsX0xNIiBTb3VyY2U9IiEoYmluZHBhdGguY3J0KVxkZXNrdG9wY3J0MTQwLmRsbCIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0idmNydW50aW1lMTQwLmRsbF9MTSIgRGlyZWN0b3J5PSJTeXN0ZW1JbnN0YWxsRGlyZWN0b3J5IiBHdWlkPSIkKHZhci52Y3J1bnRpbWUxNDBHdWlkKSIgU2hhcmVkPSJ5ZXMiIFNoYXJlZERsbFJlZkNvdW50PSJ5ZXMiPgorICAgICAgICAgICAgICAgIDxDb25kaXRpb24+QUxMVVNFUlM9MTwvQ29uZGl0aW9uPgorICAgICAgICAgICAgICAgIDxGaWxlIElkPSJ2Y3J1bnRpbWUxNDAuZGxsX0xNIiBTb3VyY2U9IiEoYmluZHBhdGguY3J0KVx2Y3J1bnRpbWUxNDAuZGxsIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJhcHBjcnQxNDAuZGxsX0NVIiBEaXJlY3Rvcnk9Ikluc3RhbGxEaXJlY3RvcnkiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxDb25kaXRpb24+Tk9UIEFMTFVTRVJTPTE8L0NvbmRpdGlvbj4KKyAgICAgICAgICAgICAgICA8RmlsZSBJZD0iYXBwY3J0MTQwLmRsbF9DVSIgU291cmNlPSIhKGJpbmRwYXRoLmNydClcYXBwY3J0MTQwLmRsbCIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0iZGVza3RvcGNydDE0MC5kbGxfQ1UiIERpcmVjdG9yeT0iSW5zdGFsbERpcmVjdG9yeSIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPENvbmRpdGlvbj5OT1QgQUxMVVNFUlM9MTwvQ29uZGl0aW9uPgorICAgICAgICAgICAgICAgIDxGaWxlIElkPSJkZXNrdG9wY3J0MTQwLmRsbF9DVSIgU291cmNlPSIhKGJpbmRwYXRoLmNydClcZGVza3RvcGNydDE0MC5kbGwiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9InZjcnVudGltZTE0MC5kbGxfQ1UiIERpcmVjdG9yeT0iSW5zdGFsbERpcmVjdG9yeSIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPENvbmRpdGlvbj5OT1QgQUxMVVNFUlM9MTwvQ29uZGl0aW9uPgorICAgICAgICAgICAgICAgIDxGaWxlIElkPSJ2Y3J1bnRpbWUxNDAuZGxsX0NVIiBTb3VyY2U9IiEoYmluZHBhdGguY3J0KVx2Y3J1bnRpbWUxNDAuZGxsIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgIDwvQ29tcG9uZW50R3JvdXA+CisgICAgPC9GcmFnbWVudD4KKzwvV2l4PgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2NydC9jcnRsaWNlbnNlLnR4dCBiL1Rvb2xzL21zaS9jcnQvY3J0bGljZW5zZS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWYwZjFmOQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9jcnQvY3J0bGljZW5zZS50eHQKQEAgLTAsMCArMSw0NyBAQAorCisKK0FkZGl0aW9uYWwgQ29uZGl0aW9ucyBmb3IgdGhpcyBXaW5kb3dzIGJpbmFyeSBidWlsZAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1RoaXMgcHJvZ3JhbSBpcyBsaW5rZWQgd2l0aCBhbmQgdXNlcyBNaWNyb3NvZnQgRGlzdHJpYnV0YWJsZSBDb2RlLAorY29weXJpZ2h0ZWQgYnkgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBUaGUgTWljcm9zb2Z0IERpc3RyaWJ1dGFibGUgQ29kZQoraW5jbHVkZXMgdGhlIGZvbGxvd2luZyBmaWxlczoKKworYXBwY3J0MTQwLmRsbAorZGVza3RvcGNydDE0MC5kbGwKK3ZjcnVudGltZTE0MC5kbGwKK21zdmNwMTQwLmRsbAorY29uY3J0MTQwLmRsbAordmNjb3JsaWIxNDAuZGxsCisKK0lmIHlvdSBmdXJ0aGVyIGRpc3RyaWJ1dGUgcHJvZ3JhbXMgdGhhdCBpbmNsdWRlIHRoZSBNaWNyb3NvZnQKK0Rpc3RyaWJ1dGFibGUgQ29kZSwgeW91IG11c3QgY29tcGx5IHdpdGggdGhlIHJlc3RyaWN0aW9ucyBvbgorZGlzdHJpYnV0aW9uIHNwZWNpZmllZCBieSBNaWNyb3NvZnQuIEluIHBhcnRpY3VsYXIsIHlvdSBtdXN0IHJlcXVpcmUKK2Rpc3RyaWJ1dG9ycyBhbmQgZXh0ZXJuYWwgZW5kIHVzZXJzIHRvIGFncmVlIHRvIHRlcm1zIHRoYXQgcHJvdGVjdCB0aGUKK01pY3Jvc29mdCBEaXN0cmlidXRhYmxlIENvZGUgYXQgbGVhc3QgYXMgbXVjaCBhcyBNaWNyb3NvZnQncyBvd24KK3JlcXVpcmVtZW50cyBmb3IgdGhlIERpc3RyaWJ1dGFibGUgQ29kZS4gU2VlIE1pY3Jvc29mdCdzIGRvY3VtZW50YXRpb24KKyhpbmNsdWRlZCBpbiBpdHMgZGV2ZWxvcGVyIHRvb2xzIGFuZCBvbiBpdHMgd2Vic2l0ZSBhdCBtaWNyb3NvZnQuY29tKQorZm9yIHNwZWNpZmljIGRldGFpbHMuCisKK1JlZGlzdHJpYnV0aW9uIG9mIHRoZSBXaW5kb3dzIGJpbmFyeSBidWlsZCBvZiB0aGUgUHl0aG9uIGludGVycHJldGVyCitjb21wbGllcyB3aXRoIHRoaXMgYWdyZWVtZW50LCBwcm92aWRlZCB0aGF0IHlvdSBkbyBub3Q6CisKKy0gYWx0ZXIgYW55IGNvcHlyaWdodCwgdHJhZGVtYXJrIG9yIHBhdGVudCBub3RpY2UgaW4gTWljcm9zb2Z0J3MKK0Rpc3RyaWJ1dGFibGUgQ29kZTsKKworLSB1c2UgTWljcm9zb2Z0J3MgdHJhZGVtYXJrcyBpbiB5b3VyIHByb2dyYW1zJyBuYW1lcyBvciBpbiBhIHdheSB0aGF0CitzdWdnZXN0cyB5b3VyIHByb2dyYW1zIGNvbWUgZnJvbSBvciBhcmUgZW5kb3JzZWQgYnkgTWljcm9zb2Z0OworCistIGRpc3RyaWJ1dGUgTWljcm9zb2Z0J3MgRGlzdHJpYnV0YWJsZSBDb2RlIHRvIHJ1biBvbiBhIHBsYXRmb3JtIG90aGVyCit0aGFuIE1pY3Jvc29mdCBvcGVyYXRpbmcgc3lzdGVtcywgcnVuLXRpbWUgdGVjaG5vbG9naWVzIG9yIGFwcGxpY2F0aW9uCitwbGF0Zm9ybXM7IG9yCisKKy0gaW5jbHVkZSBNaWNyb3NvZnQgRGlzdHJpYnV0YWJsZSBDb2RlIGluIG1hbGljaW91cywgZGVjZXB0aXZlIG9yCit1bmxhd2Z1bCBwcm9ncmFtcy4KKworVGhlc2UgcmVzdHJpY3Rpb25zIGFwcGx5IG9ubHkgdG8gdGhlIE1pY3Jvc29mdCBEaXN0cmlidXRhYmxlIENvZGUgYXMKK2RlZmluZWQgYWJvdmUsIG5vdCB0byBQeXRob24gaXRzZWxmIG9yIGFueSBwcm9ncmFtcyBydW5uaW5nIG9uIHRoZQorUHl0aG9uIGludGVycHJldGVyLiBUaGUgcmVkaXN0cmlidXRpb24gb2YgdGhlIFB5dGhvbiBpbnRlcnByZXRlciBhbmQKK2xpYnJhcmllcyBpcyBnb3Zlcm5lZCBieSB0aGUgUHl0aG9uIFNvZnR3YXJlIExpY2Vuc2UgaW5jbHVkZWQgd2l0aCB0aGlzCitmaWxlLCBvciBieSBvdGhlciBsaWNlbnNlcyBhcyBtYXJrZWQuCisKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9jc3ZfdG9fd3hzLnB5IGIvVG9vbHMvbXNpL2Nzdl90b193eHMucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjM1YzhmOAotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9jc3ZfdG9fd3hzLnB5CkBAIC0wLDAgKzEsMTI3IEBACisnJycKK1Byb2Nlc3NlcyBhIENTViBmaWxlIGNvbnRhaW5pbmcgYSBsaXN0IG9mIGZpbGVzIGludG8gYSBXWFMgZmlsZSB3aXRoCitjb21wb25lbnRzIGZvciBlYWNoIGxpc3RlZCBmaWxlLgorCitUaGUgQ1NWIGNvbHVtbnMgYXJlOgorICAgIHNvdXJjZSBvZiBmaWxlLCB0YXJnZXQgZm9yIGZpbGUsIGdyb3VwIG5hbWUKKworVXNhZ2U6OgorICAgIHB5IHR4dF90b193eHMucHkgW3BhdGggdG8gZmlsZSBsaXN0IC5jc3ZdIFtwYXRoIHRvIGRlc3RpbmF0aW9uIC53eHNdCisKK1RoaXMgaXMgbmVjZXNzYXJ5IHRvIGhhbmRsZSBzdHJ1Y3R1cmVzIHdoZXJlIHNvbWUgZGlyZWN0b3JpZXMgb25seQorY29udGFpbiBvdGhlciBkaXJlY3Rvcmllcy4gTVNCdWlsZCBpcyBub3QgYWJsZSB0byBnZW5lcmF0ZSB0aGUKK0RpcmVjdG9yeSBlbnRyaWVzIGluIHRoZSBXWFMgZmlsZSBjb3JyZWN0bHksIGFzIGl0IG9wZXJhdGVzIG9uIGZpbGVzLgorUHl0aG9uLCBob3dldmVyLCBjYW4gZWFzaWx5IGZpbGwgaW4gdGhlIGdhcC4KKycnJworCitfX2F1dGhvcl9fID0gIlN0ZXZlIERvd2VyIDxzdGV2ZS5kb3dlckBtaWNyb3NvZnQuY29tPiIKKworaW1wb3J0IGNzdgoraW1wb3J0IHJlCitpbXBvcnQgc3lzCisKK2Zyb20gY29sbGVjdGlvbnMgaW1wb3J0IGRlZmF1bHRkaWN0Citmcm9tIGl0ZXJ0b29scyBpbXBvcnQgY2hhaW4sIHppcF9sb25nZXN0Citmcm9tIHBhdGhsaWIgaW1wb3J0IFB1cmVXaW5kb3dzUGF0aAorZnJvbSB1dWlkIGltcG9ydCB1dWlkMQorCitJRF9DSEFSX1NVQlMgPSB7CisgICAgJy0nOiAnXycsCisgICAgJysnOiAnX1AnLAorfQorCitkZWYgbWFrZV9pZChwYXRoKToKKyAgICByZXR1cm4gcmUuc3ViKAorICAgICAgICByJ1teQS1aYS16MC05Xy5dJywKKyAgICAgICAgbGFtYmRhIG06IElEX0NIQVJfU1VCUy5nZXQobS5ncm91cCgwKSwgJ18nKSwKKyAgICAgICAgc3RyKHBhdGgpLnJzdHJpcCgnL1xcJyksCisgICAgICAgIGZsYWdzPXJlLkkKKyAgICApCisKK0RJUkVDVE9SSUVTID0gc2V0KCkKKworZGVmIG1haW4oZmlsZV9zb3VyY2UsIGluc3RhbGxfdGFyZ2V0KToKKyAgICB3aXRoIG9wZW4oZmlsZV9zb3VyY2UsICdyJywgbmV3bGluZT0nJykgYXMgZjoKKyAgICAgICAgZmlsZXMgPSBsaXN0KGNzdi5yZWFkZXIoZikpCisKKyAgICBhc3NlcnQgbGVuKGZpbGVzKSA9PSBsZW4oc2V0KG1ha2VfaWQoZlsxXSkgZm9yIGYgaW4gZmlsZXMpKSwgIkR1cGxpY2F0ZSBmaWxlIElEcyBleGlzdCIKKworICAgIGRpcmVjdG9yaWVzID0gZGVmYXVsdGRpY3Qoc2V0KQorICAgIGNhY2hlX2RpcmVjdG9yaWVzID0gZGVmYXVsdGRpY3Qoc2V0KQorICAgIGdyb3VwcyA9IGRlZmF1bHRkaWN0KGxpc3QpCisgICAgZm9yIHNvdXJjZSwgdGFyZ2V0LCBncm91cCwgZGlza19pZCwgY29uZGl0aW9uIGluIGZpbGVzOgorICAgICAgICB0YXJnZXQgPSBQdXJlV2luZG93c1BhdGgodGFyZ2V0KQorICAgICAgICBncm91cHNbZ3JvdXBdLmFwcGVuZCgoc291cmNlLCB0YXJnZXQsIGRpc2tfaWQsIGNvbmRpdGlvbikpCisKKyAgICAgICAgaWYgdGFyZ2V0LnN1ZmZpeC5sb3dlcigpIGluIHsiLnB5IiwgIi5weXcifToKKyAgICAgICAgICAgIGNhY2hlX2RpcmVjdG9yaWVzW2dyb3VwXS5hZGQodGFyZ2V0LnBhcmVudCkKKworICAgICAgICBmb3IgZGlybmFtZSBpbiB0YXJnZXQucGFyZW50czoKKyAgICAgICAgICAgIHBhcmVudCA9IG1ha2VfaWQoZGlybmFtZS5wYXJlbnQpCisgICAgICAgICAgICBpZiBwYXJlbnQgYW5kIHBhcmVudCAhPSAnLic6CisgICAgICAgICAgICAgICAgZGlyZWN0b3JpZXNbcGFyZW50XS5hZGQoZGlybmFtZS5uYW1lKQorCisgICAgbGluZXMgPSBbCisgICAgICAgICc8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4nLAorICAgICAgICAnICAgIDxGcmFnbWVudD4nLAorICAgIF0KKyAgICBmb3IgZGlyX3BhcmVudCBpbiBzb3J0ZWQoZGlyZWN0b3JpZXMpOgorICAgICAgICBsaW5lcy5hcHBlbmQoJyAgICAgICAgPERpcmVjdG9yeVJlZiBJZD0ie30iPicuZm9ybWF0KGRpcl9wYXJlbnQpKQorICAgICAgICBmb3IgZGlyX25hbWUgaW4gc29ydGVkKGRpcmVjdG9yaWVzW2Rpcl9wYXJlbnRdKToKKyAgICAgICAgICAgIGxpbmVzLmFwcGVuZCgnICAgICAgICAgICAgPERpcmVjdG9yeSBJZD0ie31fe30iIE5hbWU9Int9IiAvPicuZm9ybWF0KGRpcl9wYXJlbnQsIG1ha2VfaWQoZGlyX25hbWUpLCBkaXJfbmFtZSkpCisgICAgICAgIGxpbmVzLmFwcGVuZCgnICAgICAgICA8L0RpcmVjdG9yeVJlZj4nKQorICAgIGZvciBkaXJfcGFyZW50IGluIChtYWtlX2lkKGQpIGZvciBncm91cCBpbiBjYWNoZV9kaXJlY3Rvcmllcy52YWx1ZXMoKSBmb3IgZCBpbiBncm91cCk6CisgICAgICAgIGxpbmVzLmFwcGVuZCgnICAgICAgICA8RGlyZWN0b3J5UmVmIElkPSJ7fSI+Jy5mb3JtYXQoZGlyX3BhcmVudCkpCisgICAgICAgIGxpbmVzLmFwcGVuZCgnICAgICAgICAgICAgPERpcmVjdG9yeSBJZD0ie31fX19weWNhY2hlX18iIE5hbWU9Il9fcHljYWNoZV9fIiAvPicuZm9ybWF0KGRpcl9wYXJlbnQpKQorICAgICAgICBsaW5lcy5hcHBlbmQoJyAgICAgICAgPC9EaXJlY3RvcnlSZWY+JykKKyAgICBsaW5lcy5hcHBlbmQoJyAgICA8L0ZyYWdtZW50PicpCisKKyAgICBmb3IgZ3JvdXAgaW4gc29ydGVkKGdyb3Vwcyk6CisgICAgICAgIGxpbmVzLmV4dGVuZChbCisgICAgICAgICAgICAnICAgIDxGcmFnbWVudD4nLAorICAgICAgICAgICAgJyAgICAgICAgPENvbXBvbmVudEdyb3VwIElkPSJ7fSI+Jy5mb3JtYXQoZ3JvdXApLAorICAgICAgICBdKQorICAgICAgICBmb3Igc291cmNlLCB0YXJnZXQsIGRpc2tfaWQsIGNvbmRpdGlvbiBpbiBncm91cHNbZ3JvdXBdOgorICAgICAgICAgICAgbGluZXMuYXBwZW5kKCcgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJ7fSIgRGlyZWN0b3J5PSJ7fSIgR3VpZD0iKiI+Jy5mb3JtYXQobWFrZV9pZCh0YXJnZXQpLCBtYWtlX2lkKHRhcmdldC5wYXJlbnQpKSkKKyAgICAgICAgICAgIGlmIGNvbmRpdGlvbjoKKyAgICAgICAgICAgICAgICBsaW5lcy5hcHBlbmQoJyAgICAgICAgICAgICAgICA8Q29uZGl0aW9uPnt9PC9Db25kaXRpb24+Jy5mb3JtYXQoY29uZGl0aW9uKSkKKworICAgICAgICAgICAgaWYgZGlza19pZDoKKyAgICAgICAgICAgICAgICBsaW5lcy5hcHBlbmQoJyAgICAgICAgICAgICAgICA8RmlsZSBJZD0ie30iIE5hbWU9Int9IiBTb3VyY2U9Int9IiBEaXNrSWQ9Int9IiAvPicuZm9ybWF0KG1ha2VfaWQodGFyZ2V0KSwgdGFyZ2V0Lm5hbWUsIHNvdXJjZSwgZGlza19pZCkpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGxpbmVzLmFwcGVuZCgnICAgICAgICAgICAgICAgIDxGaWxlIElkPSJ7fSIgTmFtZT0ie30iIFNvdXJjZT0ie30iIC8+Jy5mb3JtYXQobWFrZV9pZCh0YXJnZXQpLCB0YXJnZXQubmFtZSwgc291cmNlKSkKKyAgICAgICAgICAgIGxpbmVzLmFwcGVuZCgnICAgICAgICAgICAgPC9Db21wb25lbnQ+JykKKworICAgICAgICBjcmVhdGVfZm9sZGVycyA9IHttYWtlX2lkKHApICsgIl9fX3B5Y2FjaGVfXyIgZm9yIHAgaW4gY2FjaGVfZGlyZWN0b3JpZXNbZ3JvdXBdfQorICAgICAgICByZW1vdmVfZm9sZGVycyA9IHttYWtlX2lkKHAyKSBmb3IgcDEgaW4gY2FjaGVfZGlyZWN0b3JpZXNbZ3JvdXBdIGZvciBwMiBpbiBjaGFpbigocDEsKSwgcDEucGFyZW50cyl9CisgICAgICAgIGNyZWF0ZV9mb2xkZXJzLmRpc2NhcmQoIi4iKQorICAgICAgICByZW1vdmVfZm9sZGVycy5kaXNjYXJkKCIuIikKKyAgICAgICAgaWYgY3JlYXRlX2ZvbGRlcnMgb3IgcmVtb3ZlX2ZvbGRlcnM6CisgICAgICAgICAgICBsaW5lcy5hcHBlbmQoJyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9Int9X19weWNhY2hlX19mb2xkZXJzIiBEaXJlY3Rvcnk9IlRBUkdFVERJUiIgR3VpZD0ie30iPicuZm9ybWF0KGdyb3VwLCB1dWlkMSgpKSkKKyAgICAgICAgICAgIGxpbmVzLmV4dGVuZCgnICAgICAgICAgICAgICAgIDxDcmVhdGVGb2xkZXIgRGlyZWN0b3J5PSJ7fSIgLz4nLmZvcm1hdChwKSBmb3IgcCBpbiBjcmVhdGVfZm9sZGVycykKKyAgICAgICAgICAgIGxpbmVzLmV4dGVuZCgnICAgICAgICAgICAgICAgIDxSZW1vdmVGaWxlIElkPSJSZW1vdmVfezB9X2ZpbGVzIiBOYW1lPSIqIiBPbj0idW5pbnN0YWxsIiBEaXJlY3Rvcnk9InswfSIgLz4nLmZvcm1hdChwKSBmb3IgcCBpbiBjcmVhdGVfZm9sZGVycykKKyAgICAgICAgICAgIGxpbmVzLmV4dGVuZCgnICAgICAgICAgICAgICAgIDxSZW1vdmVGb2xkZXIgSWQ9IlJlbW92ZV97MH1fZm9sZGVyIiBPbj0idW5pbnN0YWxsIiBEaXJlY3Rvcnk9InswfSIgLz4nLmZvcm1hdChwKSBmb3IgcCBpbiBjcmVhdGVfZm9sZGVycyB8IHJlbW92ZV9mb2xkZXJzKQorICAgICAgICAgICAgbGluZXMuYXBwZW5kKCcgICAgICAgICAgICA8L0NvbXBvbmVudD4nKQorCisgICAgICAgIGxpbmVzLmV4dGVuZChbCisgICAgICAgICAgICAnICAgICAgICA8L0NvbXBvbmVudEdyb3VwPicsCisgICAgICAgICAgICAnICAgIDwvRnJhZ21lbnQ+JywKKyAgICAgICAgXSkKKyAgICBsaW5lcy5hcHBlbmQoJzwvV2l4PicpCisKKyAgICAjIENoZWNrIGlmIHRoZSBmaWxlIG1hdGNoZXMuIElmIHNvLCB3ZSBkb24ndCB3YW50IHRvIHRvdWNoIGl0IHNvCisgICAgIyB0aGF0IHdlIGNhbiBza2lwIHJlYnVpbGRpbmcuCisgICAgdHJ5OgorICAgICAgICB3aXRoIG9wZW4oaW5zdGFsbF90YXJnZXQsICdyJykgYXMgZjoKKyAgICAgICAgICAgIGlmIGFsbCh4LnJzdHJpcCgnXHJcbicpID09IHkgZm9yIHgsIHkgaW4gemlwX2xvbmdlc3QoZiwgbGluZXMpKToKKyAgICAgICAgICAgICAgICBwcmludCgnRmlsZSBpcyB1cCB0byBkYXRlJykKKyAgICAgICAgICAgICAgICByZXR1cm4KKyAgICBleGNlcHQgSU9FcnJvcjoKKyAgICAgICAgcGFzcworCisgICAgd2l0aCBvcGVuKGluc3RhbGxfdGFyZ2V0LCAndycpIGFzIGY6CisgICAgICAgIGYud3JpdGVsaW5lcyhsaW5lICsgJ1xuJyBmb3IgbGluZSBpbiBsaW5lcykKKyAgICBwcmludCgnV3JvdGUge30gbGluZXMgdG8ge30nLmZvcm1hdChsZW4obGluZXMpLCBpbnN0YWxsX3RhcmdldCkpCisKK2lmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CisgICAgbWFpbihzeXMuYXJndlsxXSwgc3lzLmFyZ3ZbMl0pCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvZGV2L2Rldi5wcm9wcyBiL1Rvb2xzL21zaS9kZXYvZGV2LnByb3BzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNhMjU0OWQKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvZGV2L2Rldi5wcm9wcwpAQCAtMCwwICsxLDQyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cbXNpLnByb3BzIiAvPgorICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgICA8RGVmaW5lQ29uc3RhbnRzIENvbmRpdGlvbj0iJChCdWlsZEZvclJlbGVhc2UpIj4KKyAgICAgICAgICAgICQoRGVmaW5lQ29uc3RhbnRzKTsKKyAgICAgICAgICAgIEluY2x1ZGVNaW5HV0xpYj0xOworICAgICAgICA8L0RlZmluZUNvbnN0YW50cz4KKyAgICA8L1Byb3BlcnR5R3JvdXA+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPENvbXBpbGUgSW5jbHVkZT0iKi53eHMiIC8+CisgICAgPC9JdGVtR3JvdXA+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPEVtYmVkZGVkUmVzb3VyY2UgSW5jbHVkZT0iKi53eGwiIC8+CisgICAgPC9JdGVtR3JvdXA+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPEluc3RhbGxGaWxlcyBJbmNsdWRlPSIkKFB5U291cmNlUGF0aClpbmNsdWRlXCouaCI+CisgICAgICAgICAgICA8U291cmNlQmFzZT4kKFB5U291cmNlUGF0aCk8L1NvdXJjZUJhc2U+CisgICAgICAgICAgICA8U291cmNlPiEoYmluZHBhdGguc3JjKTwvU291cmNlPgorICAgICAgICAgICAgPFRhcmdldEJhc2U+JChQeVNvdXJjZVBhdGgpPC9UYXJnZXRCYXNlPgorICAgICAgICAgICAgPFRhcmdldF8+PC9UYXJnZXRfPgorICAgICAgICAgICAgPEdyb3VwPmRldl9pbmNsdWRlPC9Hcm91cD4KKyAgICAgICAgPC9JbnN0YWxsRmlsZXM+CisgICAgPC9JdGVtR3JvdXA+CisgICAgCisgICAgPFRhcmdldCBOYW1lPSJCdWlsZE1pbkdXTGliIgorICAgICAgICAgICAgSW5wdXRzPSIkKEJ1aWxkUGF0aCkkKFB5RGxsTmFtZSkuZGxsIgorICAgICAgICAgICAgT3V0cHV0cz0iJChCdWlsZFBhdGgpbGliJChQeURsbE5hbWUpLmEiCisgICAgICAgICAgICBBZnRlclRhcmdldHM9IlByZXBhcmVGb3JCdWlsZCIKKyAgICAgICAgICAgIENvbmRpdGlvbj0iJChCdWlsZEZvclJlbGVhc2UpIj4KKyAgICAgICAgPCEtLSBCdWlsZCBsaWJweXRob24jIy5hIGFzIHBhcnQgb2YgdGhpcyBwcm9qZWN0LiBUaGlzIHJlcXVpcmVzIGdlbmRlZiBhbmQgZGxsdG9vbCBvbiB0aGUgcGF0aC4gLS0+CisgICAgICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgICAgICAgPF9HZW5EZWZQbGF0Zm9ybT5pMzg2PC9fR2VuRGVmUGxhdGZvcm0+CisgICAgICAgICAgICA8X0dlbkRlZlBsYXRmb3JtIENvbmRpdGlvbj0iJChQbGF0Zm9ybSkgPT0gJ3g2NCciPmkzODY6eDg2LTY0PC9fR2VuRGVmUGxhdGZvcm0+CisgICAgICAgIDwvUHJvcGVydHlHcm91cD4KKworICAgICAgICA8RXhlYyBDb21tYW5kPSdnZW5kZWYgLSAiJChCdWlsZFBhdGgpJChQeURsbE5hbWUpLmRsbCIgJmd0OyAiJChJbnRlcm1lZGlhdGVPdXRwdXRQYXRoKW1pbmd3bGliLmRlZiInIENvbnRpbnVlT25FcnJvcj0iZmFsc2UiIC8+CisgICAgICAgIDxFeGVjIENvbW1hbmQ9J2RsbHRvb2wgLS1kbGxuYW1lICQoUHlEbGxOYW1lKS5kbGwgLS1kZWYgIiQoSW50ZXJtZWRpYXRlT3V0cHV0UGF0aCltaW5nd2xpYi5kZWYiIC0tb3V0cHV0LWxpYiAiJChCdWlsZFBhdGgpbGliJChQeURsbE5hbWUpLmEiIC1tICQoX0dlbkRlZlBsYXRmb3JtKScgLz4KKyAgICA8L1RhcmdldD4KKworICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cbXNpLnRhcmdldHMiIC8+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2Rldi9kZXYud2l4cHJvaiBiL1Rvb2xzL21zaS9kZXYvZGV2LndpeHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGEyMjkzZgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9kZXYvZGV2LndpeHByb2oKQEAgLTAsMCArMSwxMSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgICA8UHJvamVjdEd1aWQ+ezVGMjNGNjA4LUQ3NEItNDI1OS1BMENFLThEQzY1Q0M3RkU1M308L1Byb2plY3RHdWlkPgorICAgICAgICA8U2NoZW1hVmVyc2lvbj4yLjA8L1NjaGVtYVZlcnNpb24+CisgICAgICAgIDxPdXRwdXROYW1lIENvbmRpdGlvbj0iJyQoT3V0cHV0TmFtZSknID09ICcnIj5kZXY8L091dHB1dE5hbWU+CisgICAgICAgIDxPdXRwdXRUeXBlPlBhY2thZ2U8L091dHB1dFR5cGU+CisgICAgICAgIDxEZWZpbmVDb25zdGFudHM+SW5jbHVkZURlZmF1bHRGZWF0dXJlPTE7JChEZWZpbmVDb25zdGFudHMpPC9EZWZpbmVDb25zdGFudHM+CisgICAgPC9Qcm9wZXJ0eUdyb3VwPgorICAgIDxJbXBvcnQgUHJvamVjdD0iZGV2LnByb3BzIiAvPgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9kZXYvZGV2Lnd4cyBiL1Rvb2xzL21zaS9kZXYvZGV2Lnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OGViYTZiCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2Rldi9kZXYud3hzCkBAIC0wLDAgKzEsMjUgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8UHJvZHVjdCBJZD0iKiIgTGFuZ3VhZ2U9IiEobG9jLkxDSUQpIiBOYW1lPSIhKGxvYy5UaXRsZSkiIFZlcnNpb249IiQodmFyLlZlcnNpb24pIiBNYW51ZmFjdHVyZXI9IiEobG9jLk1hbnVmYWN0dXJlcikiIFVwZ3JhZGVDb2RlPSIkKHZhci5VcGdyYWRlQ29kZSkiPgorICAgICAgICA8UGFja2FnZSBJbnN0YWxsZXJWZXJzaW9uPSIzMDAiIENvbXByZXNzZWQ9InllcyIgSW5zdGFsbFNjb3BlPSJwZXJVc2VyIiBQbGF0Zm9ybT0iJCh2YXIuUGxhdGZvcm0pIiAvPgorICAgICAgICA8TWVkaWFUZW1wbGF0ZSBFbWJlZENhYj0ieWVzIiBDb21wcmVzc2lvbkxldmVsPSJoaWdoIiAvPgorICAgICAgICAKKyAgICAgICAgPFByb3BlcnR5UmVmIElkPSJVcGdyYWRlVGFibGUiIC8+CisgICAgICAgIAorICAgICAgICA8P2lmZGVmIEluY2x1ZGVEZWZhdWx0RmVhdHVyZSA/PgorICAgICAgICA8RmVhdHVyZSBJZD0iRGVmYXVsdEZlYXR1cmUiIEFsbG93QWR2ZXJ0aXNlPSJubyIgVGl0bGU9IiEobG9jLlRpdGxlKSIgRGVzY3JpcHRpb249IiEobG9jLkRlc2NyaXB0aW9uKSI+CisgICAgICAgICAgICA8Q29tcG9uZW50R3JvdXBSZWYgSWQ9ImRldl9pbmNsdWRlIiAvPgorICAgICAgICAgICAgPENvbXBvbmVudEdyb3VwUmVmIElkPSJkZXZfcHljb25maWciIC8+CisgICAgICAgICAgICA8Q29tcG9uZW50R3JvdXBSZWYgSWQ9ImRldl9saWJzIiAvPgorPD9pZmRlZiBJbmNsdWRlTWluR1dMaWIgPz4KKyAgICAgICAgICAgIDxDb21wb25lbnRHcm91cFJlZiBJZD0iZGV2X21pbmd3IiAvPgorPD9lbmRpZiA/PgorICAgICAgICA8L0ZlYXR1cmU+CisgICAgICAgIDw/ZW5kaWYgPz4KKyAgICAgICAgPD9pZmRlZiBJbmNsdWRlRGVidWdCaW5hcmllcyA/PgorICAgICAgICA8RmVhdHVyZSBJZD0iRGVidWdCaW5hcmllcyIgQWxsb3dBZHZlcnRpc2U9Im5vIiBUaXRsZT0iIShsb2MuVGl0bGVfZCkiIERlc2NyaXB0aW9uPSIhKGxvYy5EZXNjcmlwdGlvbl9kKSI+CisgICAgICAgICAgICA8Q29tcG9uZW50R3JvdXBSZWYgSWQ9ImRldl9saWJzX2QiIC8+CisgICAgICAgIDwvRmVhdHVyZT4KKyAgICAgICAgPD9lbmRpZiA/PgorICAgIDwvUHJvZHVjdD4KKzwvV2l4PgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2Rldi9kZXZfZC53aXhwcm9qIGIvVG9vbHMvbXNpL2Rldi9kZXZfZC53aXhwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIzNTRkOTcKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvZGV2L2Rldl9kLndpeHByb2oKQEAgLTAsMCArMSwxMSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgICA8UHJvamVjdEd1aWQ+e0MxMUI0OTQ1LTc2QkQtNDEzNy1CMkUzLTY0OTQ2MDExN0E3N308L1Byb2plY3RHdWlkPgorICAgICAgICA8U2NoZW1hVmVyc2lvbj4yLjA8L1NjaGVtYVZlcnNpb24+CisgICAgICAgIDxPdXRwdXROYW1lPmRldl9kPC9PdXRwdXROYW1lPgorICAgICAgICA8T3V0cHV0VHlwZT5QYWNrYWdlPC9PdXRwdXRUeXBlPgorICAgICAgICA8RGVmaW5lQ29uc3RhbnRzPkluY2x1ZGVEZWJ1Z0JpbmFyaWVzPTE7JChEZWZpbmVDb25zdGFudHMpPC9EZWZpbmVDb25zdGFudHM+CisgICAgPC9Qcm9wZXJ0eUdyb3VwPgorICAgIDxJbXBvcnQgUHJvamVjdD0iZGV2LnByb3BzIiAvPgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9kZXYvZGV2X2VuLVVTLnd4bCBiL1Rvb2xzL21zaS9kZXYvZGV2X2VuLVVTLnd4bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNTQ2ZTEzCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2Rldi9kZXZfZW4tVVMud3hsCkBAIC0wLDAgKzEsNSBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxXaXhMb2NhbGl6YXRpb24gQ3VsdHVyZT0iZW4tdXMiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L2xvY2FsaXphdGlvbiI+CisgICAgPFN0cmluZyBJZD0iRGVzY3JpcHRvciI+RGV2ZWxvcG1lbnQgTGlicmFyaWVzPC9TdHJpbmc+CisgICAgPFN0cmluZyBJZD0iU2hvcnREZXNjcmlwdG9yIj5kZXY8L1N0cmluZz4KKzwvV2l4TG9jYWxpemF0aW9uPgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2Rldi9kZXZfZmlsZXMud3hzIGIvVG9vbHMvbXNpL2Rldi9kZXZfZmlsZXMud3hzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk2NTRkMmUKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvZGV2L2Rldl9maWxlcy53eHMKQEAgLTAsMCArMSw0MiBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxXaXggeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvd2kiPgorICAgIDxGcmFnbWVudD4KKyAgICAgICAgPENvbXBvbmVudEdyb3VwIElkPSJkZXZfcHljb25maWciPgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0iaW5jbHVkZV9weWNvbmZpZy5oIiBEaXJlY3Rvcnk9ImluY2x1ZGUiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIElkPSJpbmNsdWRlX3B5Y29uZmlnLmgiIE5hbWU9InB5Y29uZmlnLmgiIFNvdXJjZT0iIShiaW5kcGF0aC5zcmMpUENccHljb25maWcuaCIgS2V5UGF0aD0ieWVzIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgIDwvQ29tcG9uZW50R3JvdXA+CisgICAgPC9GcmFnbWVudD4KKyAgICAKKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxDb21wb25lbnRHcm91cCBJZD0iZGV2X2xpYnMiPgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0ibGlic19weXRob24zLmxpYiIgRGlyZWN0b3J5PSJsaWJzIiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBJZD0ibGlic19weXRob25fc3RhYmxlLmxpYiIgTmFtZT0icHl0aG9uJCh2YXIuTWFqb3JWZXJzaW9uTnVtYmVyKS5saWIiIEtleVBhdGg9InllcyIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0ibGlic19weXRob24ubGliIiBEaXJlY3Rvcnk9ImxpYnMiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIElkPSJsaWJzX3B5dGhvbi5saWIiIE5hbWU9InB5dGhvbiQodmFyLk1ham9yVmVyc2lvbk51bWJlcikkKHZhci5NaW5vclZlcnNpb25OdW1iZXIpLmxpYiIgS2V5UGF0aD0ieWVzIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgIDwvQ29tcG9uZW50R3JvdXA+CisgICAgPC9GcmFnbWVudD4KKyAgICAKKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxDb21wb25lbnRHcm91cCBJZD0iZGV2X2xpYnNfZCI+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJsaWJzX3B5dGhvbjNfZC5saWIiIERpcmVjdG9yeT0ibGlicyIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgSWQ9ImxpYnNfcHl0aG9uX3N0YWJsZV9kLmxpYiIgTmFtZT0icHl0aG9uJCh2YXIuTWFqb3JWZXJzaW9uTnVtYmVyKV9kLmxpYiIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0ibGlic19weXRob25fZC5saWIiIERpcmVjdG9yeT0ibGlicyIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgSWQ9ImxpYnNfcHl0aG9uX2QubGliIiBOYW1lPSJweXRob24kKHZhci5NYWpvclZlcnNpb25OdW1iZXIpJCh2YXIuTWlub3JWZXJzaW9uTnVtYmVyKV9kLmxpYiIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICA8L0NvbXBvbmVudEdyb3VwPgorICAgIDwvRnJhZ21lbnQ+CisgICAgCisgICAgPD9pZmRlZiBJbmNsdWRlTWluR1dMaWIgPz4KKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxDb21wb25lbnRHcm91cCBJZD0iZGV2X21pbmd3Ij4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9ImxpYnNfbGlicHl0aG9uLmEiIERpcmVjdG9yeT0ibGlicyIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgSWQ9ImxpYnNfbGlicHl0aG9uLmEiIE5hbWU9ImxpYnB5dGhvbiQodmFyLk1ham9yVmVyc2lvbk51bWJlcikkKHZhci5NaW5vclZlcnNpb25OdW1iZXIpLmEiIEtleVBhdGg9InllcyIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICA8L0NvbXBvbmVudEdyb3VwPgorICAgIDwvRnJhZ21lbnQ+CisgICAgPD9lbmRpZiA/PgorPC9XaXg+CmRpZmYgLS1naXQgYS9Ub29scy9tc2kvZG9jL2RvYy53aXhwcm9qIGIvVG9vbHMvbXNpL2RvYy9kb2Mud2l4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYTk5MjlhCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2RvYy9kb2Mud2l4cHJvagpAQCAtMCwwICsxLDMwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICAgIDxQcm9qZWN0R3VpZD57MEQ2MkEyQkItNUY3MS00NDQ3LThDOEMtOTcwODQwN0IzNjc0fTwvUHJvamVjdEd1aWQ+CisgICAgICAgIDxTY2hlbWFWZXJzaW9uPjIuMDwvU2NoZW1hVmVyc2lvbj4KKyAgICAgICAgPE91dHB1dE5hbWU+ZG9jPC9PdXRwdXROYW1lPgorICAgICAgICA8T3V0cHV0VHlwZT5QYWNrYWdlPC9PdXRwdXRUeXBlPgorICAgICAgICA8IS0tIFNob3J0Y3V0IHZhbGlkYXRpb24gaXMgbm90IG5lY2Vzc2FyeSAtLT4KKyAgICAgICAgPFN1cHByZXNzSUNFcz5JQ0U0MzwvU3VwcHJlc3NJQ0VzPgorICAgIDwvUHJvcGVydHlHcm91cD4KKyAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXG1zaS5wcm9wcyIgLz4KKyAgICA8UHJvcGVydHlHcm91cD4KKyAgICAgICAgPERvY0ZpbGVuYW1lPnB5dGhvbiQoTWFqb3JWZXJzaW9uTnVtYmVyKSQoTWlub3JWZXJzaW9uTnVtYmVyKSQoTWljcm9WZXJzaW9uTnVtYmVyKSQoUmVsZWFzZUxldmVsTmFtZSkuY2htPC9Eb2NGaWxlbmFtZT4KKyAgICAgICAgPEluY2x1ZGVEb2NGaWxlPmZhbHNlPC9JbmNsdWRlRG9jRmlsZT4KKyAgICAgICAgPEluY2x1ZGVEb2NGaWxlIENvbmRpdGlvbj0iJChCdWlsZEZvclJlbGVhc2UpIG9yIEV4aXN0cygnJChQeVNvdXJjZVBhdGgpRG9jXGJ1aWxkXGh0bWxoZWxwXCQoRG9jRmlsZW5hbWUpJykiPnRydWU8L0luY2x1ZGVEb2NGaWxlPgorICAgIDwvUHJvcGVydHlHcm91cD4KKyAgICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IiQoSW5jbHVkZURvY0ZpbGUpIj4KKyAgICAgICAgPERlZmluZUNvbnN0YW50cz4kKERlZmluZUNvbnN0YW50cyk7RG9jRmlsZW5hbWU9JChEb2NGaWxlbmFtZSk7PC9EZWZpbmVDb25zdGFudHM+CisgICAgPC9Qcm9wZXJ0eUdyb3VwPgorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxDb21waWxlIEluY2x1ZGU9ImRvYy53eHMiIC8+CisgICAgICAgIDxDb21waWxlIEluY2x1ZGU9ImRvY19maWxlcy53eHMiIENvbmRpdGlvbj0iJChJbmNsdWRlRG9jRmlsZSkiIC8+CisgICAgICAgIDxDb21waWxlIEluY2x1ZGU9ImRvY19ub19maWxlcy53eHMiIENvbmRpdGlvbj0iISQoSW5jbHVkZURvY0ZpbGUpIiAvPgorICAgIDwvSXRlbUdyb3VwPgorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxXeGxUZW1wbGF0ZSBJbmNsdWRlPSIqLnd4bF90ZW1wbGF0ZSIgLz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICAKKyAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXG1zaS50YXJnZXRzIiAvPgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9kb2MvZG9jLnd4cyBiL1Rvb2xzL21zaS9kb2MvZG9jLnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YmVjYWY2Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2RvYy9kb2Mud3hzCkBAIC0wLDAgKzEsMjYgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8UHJvZHVjdCBJZD0iKiIgTGFuZ3VhZ2U9IiEobG9jLkxDSUQpIiBOYW1lPSIhKGxvYy5UaXRsZSkiIFZlcnNpb249IiQodmFyLlZlcnNpb24pIiBNYW51ZmFjdHVyZXI9IiEobG9jLk1hbnVmYWN0dXJlcikiIFVwZ3JhZGVDb2RlPSIkKHZhci5VcGdyYWRlQ29kZSkiPgorICAgICAgICA8UGFja2FnZSBJbnN0YWxsZXJWZXJzaW9uPSIzMDAiIENvbXByZXNzZWQ9InllcyIgSW5zdGFsbFNjb3BlPSJwZXJVc2VyIiBQbGF0Zm9ybT0iJCh2YXIuUGxhdGZvcm0pIiAvPgorICAgICAgICA8TWVkaWFUZW1wbGF0ZSBFbWJlZENhYj0ieWVzIiBDb21wcmVzc2lvbkxldmVsPSJoaWdoIiAvPgorICAgICAgICAKKyAgICAgICAgPFByb3BlcnR5UmVmIElkPSJVcGdyYWRlVGFibGUiIC8+CisgICAgICAgIDxQcm9wZXJ0eVJlZiBJZD0iUkVHSVNUUllLRVkiIC8+CisgICAgICAgIAorICAgICAgICA8RmVhdHVyZSBJZD0iRGVmYXVsdEZlYXR1cmUiIEFsbG93QWR2ZXJ0aXNlPSJubyIgVGl0bGU9IiEobG9jLlRpdGxlKSIgRGVzY3JpcHRpb249IiEobG9jLkRlc2NyaXB0aW9uKSI+CisgICAgICAgICAgICA8Q29tcG9uZW50R3JvdXBSZWYgSWQ9ImRvYyIgLz4KKyAgICAgICAgICAgIAorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0iZG9jX3Nob3J0Y3V0IiBEaXJlY3Rvcnk9Ik1lbnVEaXIiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxSZWdpc3RyeUtleSBSb290PSJIS01VIiBLZXk9IltSRUdJU1RSWUtFWV0iPgorICAgICAgICAgICAgICAgICAgICA8UmVnaXN0cnlWYWx1ZSBLZXk9IkhlbHBcTWFpbiBQeXRob24gRG9jdW1lbnRhdGlvbiIgVHlwZT0ic3RyaW5nIiBWYWx1ZT0iWyNweXRob24uY2htXSIgS2V5UGF0aD0ieWVzIiAvPgorICAgICAgICAgICAgICAgIDwvUmVnaXN0cnlLZXk+CisgICAgICAgICAgICAgICAgPFNob3J0Y3V0IElkPSJweXRob24uY2htIgorICAgICAgICAgICAgICAgICAgICAgICAgICBUYXJnZXQ9IlsjcHl0aG9uLmNobV0iCisgICAgICAgICAgICAgICAgICAgICAgICAgIE5hbWU9IiEobG9jLlNob3J0Y3V0TmFtZSkiCisgICAgICAgICAgICAgICAgICAgICAgICAgIERlc2NyaXB0aW9uPSIhKGxvYy5TaG9ydGN1dERlc2NyaXB0aW9uKSIgLz4KKyAgICAgICAgICAgICAgICA8UmVtb3ZlRm9sZGVyIElkPSJSZW1vdmVfTWVudURpciIgT249InVuaW5zdGFsbCIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorCisgICAgICAgIDwvRmVhdHVyZT4KKyAgICA8L1Byb2R1Y3Q+Cis8L1dpeD4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9kb2MvZG9jX2VuLVVTLnd4bF90ZW1wbGF0ZSBiL1Rvb2xzL21zaS9kb2MvZG9jX2VuLVVTLnd4bF90ZW1wbGF0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOWRmNTgyCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2RvYy9kb2NfZW4tVVMud3hsX3RlbXBsYXRlCkBAIC0wLDAgKzEsNyBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxXaXhMb2NhbGl6YXRpb24gQ3VsdHVyZT0iZW4tdXMiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L2xvY2FsaXphdGlvbiI+CisgICAgPFN0cmluZyBJZD0iU2hvcnREZXNjcmlwdG9yIj5kb2M8L1N0cmluZz4KKyAgICA8U3RyaW5nIElkPSJEZXNjcmlwdG9yIj5Eb2N1bWVudGF0aW9uPC9TdHJpbmc+CisgICAgPFN0cmluZyBJZD0iU2hvcnRjdXROYW1lIj5QeXRob24ge3tTaG9ydFZlcnNpb259fSB7e0JpdG5lc3N9fSBNYW51YWxzPC9TdHJpbmc+CisgICAgPFN0cmluZyBJZD0iU2hvcnRjdXREZXNjcmlwdGlvbiI+VmlldyB0aGUgIShsb2MuUHJvZHVjdE5hbWUpIGRvY3VtZW50YXRpb24uPC9TdHJpbmc+Cis8L1dpeExvY2FsaXphdGlvbj4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9kb2MvZG9jX2ZpbGVzLnd4cyBiL1Rvb2xzL21zaS9kb2MvZG9jX2ZpbGVzLnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMmFhYmZiCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2RvYy9kb2NfZmlsZXMud3hzCkBAIC0wLDAgKzEsMTIgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxQcm9wZXJ0eVJlZiBJZD0iUkVHSVNUUllLRVkiIC8+CisgICAgICAgIAorICAgICAgICA8Q29tcG9uZW50R3JvdXAgSWQ9ImRvYyI+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJweXRob24uY2htIiBEaXJlY3Rvcnk9IkRvYyIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgSWQ9InB5dGhvbi5jaG0iIE5hbWU9IiQodmFyLkRvY0ZpbGVuYW1lKSIgS2V5UGF0aD0ieWVzIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgIDwvQ29tcG9uZW50R3JvdXA+CisgICAgPC9GcmFnbWVudD4KKzwvV2l4PgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2RvYy9kb2Nfbm9fZmlsZXMud3hzIGIvVG9vbHMvbXNpL2RvYy9kb2Nfbm9fZmlsZXMud3hzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhYjdjMjYKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvZG9jL2RvY19ub19maWxlcy53eHMKQEAgLTAsMCArMSwxNyBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxXaXggeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvd2kiPgorICAgIDxGcmFnbWVudD4KKyAgICAgICAgPENvbXBvbmVudEdyb3VwIElkPSJkb2MiPgorICAgICAgICAgICAgPCEtLQorICAgICAgICAgICAgVGhpcyBmaWxlIGlzIGluY2x1ZGVkIHdoZW4gdGhlIENITSBpcyBub3QgYXZhaWxhYmxlLgorICAgICAgICAgICAgCisgICAgICAgICAgICBUaGlzIHdheSwgc25hcHNob3QgYnVpbGRzIGNhbiBzdWNjZWVkIHdpdGhvdXQgaGF2aW5nIHRvCisgICAgICAgICAgICBidWlsZCB0aGUgZG9jcy4KKyAgICAgICAgICAgIC0tPgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0iRW1wdHlEb2NGb2xkZXIiIERpcmVjdG9yeT0iRG9jIiBHdWlkPSJ7MjJGRDQyREItRUM2Ni00QjFDLUIxRkMtNDRFMENGN0IyNDYyfSI+CisgICAgICAgICAgICAgICAgPENyZWF0ZUZvbGRlciAvPgorICAgICAgICAgICAgICAgIDxSZW1vdmVGb2xkZXIgSWQ9IlJlbW92ZV9FbXB0eURvY0ZvbGRlciIgT249InVuaW5zdGFsbCIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICA8L0NvbXBvbmVudEdyb3VwPgorICAgIDwvRnJhZ21lbnQ+Cis8L1dpeD4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9jcnRsaWNlbnNlLnR4dCBiL1Rvb2xzL21zaS9leGUvY3J0bGljZW5zZS50eHQKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIFRvb2xzL21zaS9jcnRsaWNlbnNlLnR4dApyZW5hbWUgdG8gVG9vbHMvbXNpL2V4ZS9jcnRsaWNlbnNlLnR4dApkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2V4ZS9leGUucHJvcHMgYi9Ub29scy9tc2kvZXhlL2V4ZS5wcm9wcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYjliN2QzCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2V4ZS9leGUucHJvcHMKQEAgLTAsMCArMSwzNiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgICA8IS0tIFNob3J0Y3V0IHZhbGlkYXRpb24gaXMgbm90IG5lY2Vzc2FyeSAtLT4KKyAgICAgICAgPFN1cHByZXNzSUNFcz5JQ0U0MzwvU3VwcHJlc3NJQ0VzPgorICAgIDwvUHJvcGVydHlHcm91cD4KKyAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXG1zaS5wcm9wcyIgLz4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8Q29tcGlsZSBJbmNsdWRlPSIqLnd4cyIgLz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8RW1iZWRkZWRSZXNvdXJjZSBJbmNsdWRlPSIqLnd4bCIgLz4KKyAgICAgICAgPFd4bFRlbXBsYXRlIEluY2x1ZGU9Iioud3hsX3RlbXBsYXRlIiAvPgorICAgIDwvSXRlbUdyb3VwPgorICAgIAorICAgIDxUYXJnZXQgTmFtZT0iX0dlbmVyYXRlTGljZW5zZSIgQWZ0ZXJUYXJnZXRzPSJQcmVwYXJlRm9yQnVpbGQiPgorICAgICAgICA8SXRlbUdyb3VwPgorICAgICAgICAgICAgPExpY2Vuc2VGaWxlcyBJbmNsdWRlPSIkKFB5U291cmNlUGF0aClMSUNFTlNFOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcnRsaWNlbnNlLnR4dDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJChiejJEaXIpTElDRU5TRTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJChvcGVuc3NsRGlyKUxJQ0VOU0U7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGNsRGlyKWxpY2Vuc2UudGVybXM7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGtEaXIpbGljZW5zZS50ZXJtczsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCh0aXhEaXIpbGljZW5zZS50ZXJtcyIgLz4KKyAgICAgICAgICAgIDxfTGljZW5zZUZpbGVzIEluY2x1ZGU9IkAoTGljZW5zZUZpbGVzKSI+CisgICAgICAgICAgICAgICAgPENvbnRlbnQ+JChbU3lzdGVtLklPLkZpbGVdOjpSZWFkQWxsVGV4dCglKEZ1bGxQYXRoKSkpPC9Db250ZW50PgorICAgICAgICAgICAgPC9fTGljZW5zZUZpbGVzPgorICAgICAgICA8L0l0ZW1Hcm91cD4KKyAgICAgICAgCisgICAgICAgIDxXcml0ZUxpbmVzVG9GaWxlIEZpbGU9IiQoQnVpbGRQYXRoKUxJQ0VOU0UiCisgICAgICAgICAgICAgICAgICAgICAgICAgIE92ZXJ3cml0ZT0idHJ1ZSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgTGluZXM9IkAoX0xpY2Vuc2VGaWxlcy0+JyUoQ29udGVudCknKSIgLz4KKyAgICA8L1RhcmdldD4KKyAgICAgICAgCisgICAgPEltcG9ydCBQcm9qZWN0PSIuLlxtc2kudGFyZ2V0cyIgLz4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvZXhlL2V4ZS53aXhwcm9qIGIvVG9vbHMvbXNpL2V4ZS9leGUud2l4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kM2VkNjVhCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2V4ZS9leGUud2l4cHJvagpAQCAtMCwwICsxLDExIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICAgIDxQcm9qZWN0R3VpZD57NkJENTMzMDUtQjAzRS00OURDLTg1RkItNTU1MUI4Q0NDODQzfTwvUHJvamVjdEd1aWQ+CisgICAgICAgIDxTY2hlbWFWZXJzaW9uPjIuMDwvU2NoZW1hVmVyc2lvbj4KKyAgICAgICAgPE91dHB1dE5hbWU+ZXhlPC9PdXRwdXROYW1lPgorICAgICAgICA8T3V0cHV0VHlwZT5QYWNrYWdlPC9PdXRwdXRUeXBlPgorICAgICAgICA8RGVmaW5lQ29uc3RhbnRzPkluY2x1ZGVEZWZhdWx0RmVhdHVyZT0xOyQoRGVmaW5lQ29uc3RhbnRzKTwvRGVmaW5lQ29uc3RhbnRzPgorICAgIDwvUHJvcGVydHlHcm91cD4KKyAgICA8SW1wb3J0IFByb2plY3Q9ImV4ZS5wcm9wcyIgLz4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvZXhlL2V4ZS53eHMgYi9Ub29scy9tc2kvZXhlL2V4ZS53eHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2IzNTgzNgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9leGUvZXhlLnd4cwpAQCAtMCwwICsxLDQwIEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPFdpeCB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi93aSI+CisgICAgPFByb2R1Y3QgSWQ9IioiIExhbmd1YWdlPSIhKGxvYy5MQ0lEKSIgTmFtZT0iIShsb2MuVGl0bGUpIiBWZXJzaW9uPSIkKHZhci5WZXJzaW9uKSIgTWFudWZhY3R1cmVyPSIhKGxvYy5NYW51ZmFjdHVyZXIpIiBVcGdyYWRlQ29kZT0iJCh2YXIuVXBncmFkZUNvZGUpIj4KKyAgICAgICAgPFBhY2thZ2UgSW5zdGFsbGVyVmVyc2lvbj0iMzAwIiBDb21wcmVzc2VkPSJ5ZXMiIEluc3RhbGxTY29wZT0icGVyVXNlciIgUGxhdGZvcm09IiQodmFyLlBsYXRmb3JtKSIgLz4KKyAgICAgICAgPE1lZGlhVGVtcGxhdGUgRW1iZWRDYWI9InllcyIgQ29tcHJlc3Npb25MZXZlbD0iaGlnaCIgLz4KKyAgICAgICAgCisgICAgICAgIDxQcm9wZXJ0eVJlZiBJZD0iVXBncmFkZVRhYmxlIiAvPgorICAgICAgICA8UHJvcGVydHlSZWYgSWQ9IlJFR0lTVFJZS0VZIiAvPgorICAgICAgICAKKyAgICAgICAgPD9pZmRlZiBJbmNsdWRlRGVmYXVsdEZlYXR1cmUgPz4KKyAgICAgICAgPEZlYXR1cmUgSWQ9IkRlZmF1bHRGZWF0dXJlIiBBbGxvd0FkdmVydGlzZT0ibm8iIFRpdGxlPSIhKGxvYy5UaXRsZSkiIERlc2NyaXB0aW9uPSIhKGxvYy5EZXNjcmlwdGlvbikiPgorICAgICAgICAgICAgPENvbXBvbmVudEdyb3VwUmVmIElkPSJleGVfcHl0aG9uIiAvPgorICAgICAgICAgICAgPENvbXBvbmVudEdyb3VwUmVmIElkPSJleGVfdHh0IiAvPgorICAgICAgICAgICAgPENvbXBvbmVudEdyb3VwUmVmIElkPSJleGVfaWNvbnMiIC8+CisgICAgICAgICAgICAKKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9ImV4ZV9zaG9ydGN1dCIgRGlyZWN0b3J5PSJNZW51RGlyIiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8U2hvcnRjdXQgSWQ9InB5dGhvbi5leGUiCisgICAgICAgICAgICAgICAgICAgICAgICAgIFRhcmdldD0iWyNweXRob24uZXhlXSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgTmFtZT0iIShsb2MuU2hvcnRjdXROYW1lKSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgRGVzY3JpcHRpb249IiEobG9jLlNob3J0Y3V0RGVzY3JpcHRpb24pIiAvPgorICAgICAgICAgICAgICAgIDxSZW1vdmVGb2xkZXIgSWQ9IlJlbW92ZV9NZW51RGlyIiBEaXJlY3Rvcnk9Ik1lbnVEaXIiIE9uPSJ1bmluc3RhbGwiIC8+CisgICAgICAgICAgICAgICAgPFJlZ2lzdHJ5S2V5IFJvb3Q9IkhLTVUiIEtleT0iW1JFR0lTVFJZS0VZXSI+CisgICAgICAgICAgICAgICAgICAgIDxSZWdpc3RyeVZhbHVlIEtleT0iSW5zdGFsbFBhdGgiIFR5cGU9InN0cmluZyIgVmFsdWU9IltJbnN0YWxsRGlyZWN0b3J5XSIgS2V5UGF0aD0ieWVzIiAvPgorICAgICAgICAgICAgICAgICAgICA8UmVnaXN0cnlWYWx1ZSBLZXk9Ikluc3RhbGxQYXRoXEluc3RhbGxHcm91cCIgVHlwZT0ic3RyaW5nIiBWYWx1ZT0iUHl0aG9uICQodmFyLlNob3J0VmVyc2lvbikiIC8+CisgICAgICAgICAgICAgICAgPC9SZWdpc3RyeUtleT4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICA8L0ZlYXR1cmU+CisgICAgICAgIDw/ZW5kaWYgPz4KKyAgICAgICAgPD9pZmRlZiBJbmNsdWRlU3ltYm9scyA/PgorICAgICAgICA8RmVhdHVyZSBJZD0iU3ltYm9scyIgQWxsb3dBZHZlcnRpc2U9Im5vIiBUaXRsZT0iIShsb2MuVGl0bGVQZGIpIiBEZXNjcmlwdGlvbj0iIShsb2MuRGVzY3JpcHRpb25QZGIpIj4KKyAgICAgICAgICAgIDxDb21wb25lbnRHcm91cFJlZiBJZD0iZXhlX3B5dGhvbl9zeW1ib2xzIiAvPgorICAgICAgICA8L0ZlYXR1cmU+CisgICAgICAgIDw/ZW5kaWYgPz4KKyAgICAgICAgPD9pZmRlZiBJbmNsdWRlRGVidWdCaW5hcmllcyA/PgorICAgICAgICA8RmVhdHVyZSBJZD0iRGVidWdCaW5hcmllcyIgQWxsb3dBZHZlcnRpc2U9Im5vIiBUaXRsZT0iIShsb2MuVGl0bGVfZCkiIERlc2NyaXB0aW9uPSIhKGxvYy5EZXNjcmlwdGlvbl9kKSI+CisgICAgICAgICAgICA8Q29tcG9uZW50R3JvdXBSZWYgSWQ9ImV4ZV9weXRob25fZCIgLz4KKyAgICAgICAgPC9GZWF0dXJlPgorICAgICAgICA8P2VuZGlmID8+CisgICAgPC9Qcm9kdWN0PgorPC9XaXg+CmRpZmYgLS1naXQgYS9Ub29scy9tc2kvZXhlL2V4ZV9kLndpeHByb2ogYi9Ub29scy9tc2kvZXhlL2V4ZV9kLndpeHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWI1N2RiOAotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9leGUvZXhlX2Qud2l4cHJvagpAQCAtMCwwICsxLDExIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICAgIDxQcm9qZWN0R3VpZD57QjFDQTczOUMtOERCMC00MDNCLTkwMTAtRDc5NTA3NTA3Q0U5fTwvUHJvamVjdEd1aWQ+CisgICAgICAgIDxTY2hlbWFWZXJzaW9uPjIuMDwvU2NoZW1hVmVyc2lvbj4KKyAgICAgICAgPE91dHB1dE5hbWU+ZXhlX2Q8L091dHB1dE5hbWU+CisgICAgICAgIDxPdXRwdXRUeXBlPlBhY2thZ2U8L091dHB1dFR5cGU+CisgICAgICAgIDxEZWZpbmVDb25zdGFudHM+SW5jbHVkZURlYnVnQmluYXJpZXM9MTskKERlZmluZUNvbnN0YW50cyk8L0RlZmluZUNvbnN0YW50cz4KKyAgICA8L1Byb3BlcnR5R3JvdXA+CisgICAgPEltcG9ydCBQcm9qZWN0PSJleGUucHJvcHMiIC8+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2V4ZS9leGVfZW4tVVMud3hsX3RlbXBsYXRlIGIvVG9vbHMvbXNpL2V4ZS9leGVfZW4tVVMud3hsX3RlbXBsYXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNjNjBlZjYKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvZXhlL2V4ZV9lbi1VUy53eGxfdGVtcGxhdGUKQEAgLTAsMCArMSw5IEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFdpeExvY2FsaXphdGlvbiBDdWx0dXJlPSJlbi11cyIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvbG9jYWxpemF0aW9uIj4KKyAgICA8U3RyaW5nIElkPSJEZXNjcmlwdG9yIj5FeGVjdXRhYmxlczwvU3RyaW5nPgorICAgIDxTdHJpbmcgSWQ9IlNob3J0RGVzY3JpcHRvciI+ZXhlY3V0YWJsZTwvU3RyaW5nPgorICAgIDxTdHJpbmcgSWQ9IlNob3J0Y3V0TmFtZSI+UHl0aG9uIHt7U2hvcnRWZXJzaW9ufX0gKHt7Qml0bmVzc319KTwvU3RyaW5nPgorICAgIDxTdHJpbmcgSWQ9IlNob3J0Y3V0RGVzY3JpcHRpb24iPkxhdW5jaGVzIHRoZSAhKGxvYy5Qcm9kdWN0TmFtZSkgaW50ZXJwcmV0ZXIuPC9TdHJpbmc+CisgICAgPFN0cmluZyBJZD0iUGF0aFRpdGxlIj5BZGQgdG8gUEFUSDwvU3RyaW5nPgorICAgIDxTdHJpbmcgSWQ9IlBhdGhEZXNjcmlwdGlvbiI+QWRkcyB0aGUgaW5zdGFsbCBkaXJlY3RvcnkgdG8gUEFUSCBhbmQgLnB5IHRvIFBBVEhFWFQuPC9TdHJpbmc+Cis8L1dpeExvY2FsaXphdGlvbj4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9leGUvZXhlX2ZpbGVzLnd4cyBiL1Rvb2xzL21zaS9leGUvZXhlX2ZpbGVzLnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MDkxMzk4Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2V4ZS9leGVfZmlsZXMud3hzCkBAIC0wLDAgKzEsNjggQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxDb21wb25lbnRHcm91cCBJZD0iZXhlX3R4dCI+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJMSUNFTlNFLnR4dCIgRGlyZWN0b3J5PSJJbnN0YWxsRGlyZWN0b3J5IiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBOYW1lPSJMSUNFTlNFLnR4dCIgU291cmNlPSJMSUNFTlNFIiBLZXlQYXRoPSJ5ZXMiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9Ik5FV1MudHh0IiBEaXJlY3Rvcnk9Ikluc3RhbGxEaXJlY3RvcnkiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIE5hbWU9Ik5FV1MudHh0IiBTb3VyY2U9IiEoYmluZHBhdGguc3JjKU1pc2NcTkVXUyIgS2V5UGF0aD0ieWVzIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJSRUFETUUudHh0IiBEaXJlY3Rvcnk9Ikluc3RhbGxEaXJlY3RvcnkiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIE5hbWU9IlJFQURNRS50eHQiIFNvdXJjZT0iIShiaW5kcGF0aC5zcmMpUkVBRE1FIiBLZXlQYXRoPSJ5ZXMiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgPC9Db21wb25lbnRHcm91cD4KKyAgICA8L0ZyYWdtZW50PgorCisgICAgPEZyYWdtZW50PgorICAgICAgICA8UHJvcGVydHlSZWYgSWQ9IlJFR0lTVFJZS0VZIiAvPgorICAgICAgICAKKyAgICAgICAgPENvbXBvbmVudEdyb3VwIElkPSJleGVfcHl0aG9uIj4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9InB5dGhvbi5leGUiIERpcmVjdG9yeT0iSW5zdGFsbERpcmVjdG9yeSIgR3VpZD0iJCh2YXIuUHl0aG9uRXhlQ29tcG9uZW50R3VpZCkiPgorICAgICAgICAgICAgICAgIDxGaWxlIE5hbWU9InB5dGhvbi5leGUiIEtleVBhdGg9InllcyIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0icHl0aG9udy5leGUiIERpcmVjdG9yeT0iSW5zdGFsbERpcmVjdG9yeSIgR3VpZD0iJCh2YXIuUHl0aG9ud0V4ZUNvbXBvbmVudEd1aWQpIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBOYW1lPSJweXRob253LmV4ZSIgS2V5UGF0aD0ieWVzIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgIDwvQ29tcG9uZW50R3JvdXA+CisgICAgPC9GcmFnbWVudD4KKworICAgIDxGcmFnbWVudD4KKyAgICAgICAgPENvbXBvbmVudEdyb3VwIElkPSJleGVfcHl0aG9uX3N5bWJvbHMiPgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0icHl0aG9uLnBkYiIgRGlyZWN0b3J5PSJJbnN0YWxsRGlyZWN0b3J5IiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBOYW1lPSJweXRob24ucGRiIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJweXRob253LnBkYiIgRGlyZWN0b3J5PSJJbnN0YWxsRGlyZWN0b3J5IiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBOYW1lPSJweXRob253LnBkYiIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICA8L0NvbXBvbmVudEdyb3VwPgorICAgIDwvRnJhZ21lbnQ+CisgICAgICAgIAorICAgIDxGcmFnbWVudD4KKyAgICAgICAgPENvbXBvbmVudEdyb3VwIElkPSJleGVfcHl0aG9uX2QiPgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0icHl0aG9uX2QuZXhlIiBEaXJlY3Rvcnk9Ikluc3RhbGxEaXJlY3RvcnkiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIE5hbWU9InB5dGhvbl9kLmV4ZSIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0icHl0aG9uX2QucGRiIiBEaXJlY3Rvcnk9Ikluc3RhbGxEaXJlY3RvcnkiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIE5hbWU9InB5dGhvbl9kLnBkYiIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0icHl0aG9ud19kLmV4ZSIgRGlyZWN0b3J5PSJJbnN0YWxsRGlyZWN0b3J5IiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBOYW1lPSJweXRob253X2QuZXhlIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJweXRob253X2QucGRiIiBEaXJlY3Rvcnk9Ikluc3RhbGxEaXJlY3RvcnkiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIE5hbWU9InB5dGhvbndfZC5wZGIiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgPC9Db21wb25lbnRHcm91cD4KKyAgICA8L0ZyYWdtZW50PgorICAgIAorICAgIDxGcmFnbWVudD4KKyAgICAgICAgPENvbXBvbmVudEdyb3VwIElkPSJleGVfaWNvbnMiPgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0icHkuaWNvIiBEaXJlY3Rvcnk9IkRMTHMiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIE5hbWU9InB5LmljbyIgU291cmNlPSIhKGJpbmRwYXRoLnNyYylQQ1xweS5pY28iIEtleVBhdGg9InllcyIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0icHljLmljbyIgRGlyZWN0b3J5PSJETExzIiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBOYW1lPSJweWMuaWNvIiBTb3VyY2U9IiEoYmluZHBhdGguc3JjKVBDXHB5Yy5pY28iIEtleVBhdGg9InllcyIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICA8L0NvbXBvbmVudEdyb3VwPgorICAgIDwvRnJhZ21lbnQ+Cis8L1dpeD4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9leGUvZXhlX3BkYi53aXhwcm9qIGIvVG9vbHMvbXNpL2V4ZS9leGVfcGRiLndpeHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGFlM2QwYwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9leGUvZXhlX3BkYi53aXhwcm9qCkBAIC0wLDAgKzEsMTEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgICA8UHJvcGVydHlHcm91cD4KKyAgICAgICAgPFByb2plY3RHdWlkPns0QTFGNzA0NS04RUUyLTQyNzYtQUJCOC01RTBDNDBFNUYzOEJ9PC9Qcm9qZWN0R3VpZD4KKyAgICAgICAgPFNjaGVtYVZlcnNpb24+Mi4wPC9TY2hlbWFWZXJzaW9uPgorICAgICAgICA8T3V0cHV0TmFtZT5leGVfcGRiPC9PdXRwdXROYW1lPgorICAgICAgICA8T3V0cHV0VHlwZT5QYWNrYWdlPC9PdXRwdXRUeXBlPgorICAgICAgICA8RGVmaW5lQ29uc3RhbnRzPkluY2x1ZGVTeW1ib2xzPTE7JChEZWZpbmVDb25zdGFudHMpPC9EZWZpbmVDb25zdGFudHM+CisgICAgPC9Qcm9wZXJ0eUdyb3VwPgorICAgIDxJbXBvcnQgUHJvamVjdD0iZXhlLnByb3BzIiAvPgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9nZXRfd2l4LnB5IGIvVG9vbHMvbXNpL2dldF93aXgucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGEzNmEyZQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9nZXRfd2l4LnB5CkBAIC0wLDAgKzEsNDkgQEAKKycnJworRG93bmxvYWRzIGFuZCBleHRyYWN0cyBXaVggdG8gYSBsb2NhbCBkaXJlY3RvcnkKKycnJworCitfX2F1dGhvcl9fID0gJ1N0ZXZlIERvd2VyIDxzdGV2ZS5kb3dlckBtaWNyb3NvZnQuY29tPicKKworaW1wb3J0IGlvCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKKworZnJvbSBwYXRobGliIGltcG9ydCBQYXRoCitmcm9tIHN1YnByb2Nlc3MgaW1wb3J0IFBvcGVuCitmcm9tIHppcGZpbGUgaW1wb3J0IFppcEZpbGUKKworRVhURVJOQUxTX0RJUiA9IE5vbmUKK2ZvciBwIGluIFBhdGgoX19maWxlX18pLnBhcmVudHM6CisgICAgaWYgYW55KHAuZ2xvYigiUENCdWlsZC8qLnZjeHByb2oiKSk6CisgICAgICAgIEVYVEVSTkFMU19ESVIgPSBwIC8gImV4dGVybmFscyIKKyAgICAgICAgYnJlYWsKKworaWYgbm90IEVYVEVSTkFMU19ESVI6CisgICAgcHJpbnQoIkNhbm5vdCBmaW5kIHByb2plY3Qgcm9vdCIpCisgICAgc3lzLmV4aXQoMSkKKworV0lYX0JJTkFSSUVTX1pJUCA9ICdodHRwOi8vd2l4dG9vbHNldC5vcmcvZG93bmxvYWRzL3YzLjEwLjAuMTQwMy93aXgzMTAtYmluYXJpZXMuemlwJworVEFSR0VUX0JJTl9aSVAgPSBFWFRFUk5BTFNfRElSIC8gIndpeC56aXAiCitUQVJHRVRfQklOX0RJUiA9IEVYVEVSTkFMU19ESVIgLyAid2l4IgorCitQT1dFUlNIRUxMX0NPTU1BTkQgPSAiW0lPLkZpbGVdOjpXcml0ZUFsbEJ5dGVzKCd7fScsIChJbnZva2UtV2ViUmVxdWVzdCB7fSAtVXNlQmFzaWNQYXJzaW5nKS5Db250ZW50KSIKKworaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKKyAgICBpZiBUQVJHRVRfQklOX0RJUi5leGlzdHMoKSBhbmQgYW55KFRBUkdFVF9CSU5fRElSLmdsb2IoIioiKSk6CisgICAgICAgIHByaW50KCdXaVggaXMgYWxyZWFkeSBpbnN0YWxsZWQnKQorICAgICAgICBzeXMuZXhpdCgwKQorCisgICAgdHJ5OgorICAgICAgICBUQVJHRVRfQklOX0RJUi5ta2RpcigpCisgICAgZXhjZXB0IEZpbGVFeGlzdHNFcnJvcjoKKyAgICAgICAgcGFzcworCisgICAgcHJpbnQoJ0Rvd25sb2FkaW5nIFdpWCB0bycsIFRBUkdFVF9CSU5fWklQKQorICAgIHAgPSBQb3BlbihbInBvd2Vyc2hlbGwuZXhlIiwgIi1Db21tYW5kIiwgUE9XRVJTSEVMTF9DT01NQU5ELmZvcm1hdChUQVJHRVRfQklOX1pJUCwgV0lYX0JJTkFSSUVTX1pJUCldKQorICAgIHAud2FpdCgpCisgICAgcHJpbnQoJ0V4dHJhY3RpbmcgV2lYIHRvJywgVEFSR0VUX0JJTl9ESVIpCisgICAgd2l0aCBaaXBGaWxlKHN0cihUQVJHRVRfQklOX1pJUCkpIGFzIHo6CisgICAgICAgIHouZXh0cmFjdGFsbChzdHIoVEFSR0VUX0JJTl9ESVIpKQorICAgIFRBUkdFVF9CSU5fWklQLnVubGluaygpCisKKyAgICBwcmludCgnRXh0cmFjdGVkIFdpWCcpCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvbGF1bmNoZXIvbGF1bmNoZXIucHJvcHMgYi9Ub29scy9tc2kvbGF1bmNoZXIvbGF1bmNoZXIucHJvcHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjE0NWVmZQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9sYXVuY2hlci9sYXVuY2hlci5wcm9wcwpAQCAtMCwwICsxLDEyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgICAgPEltcG9ydCBQcm9qZWN0PSIuLlxtc2kucHJvcHMiIC8+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPENvbXBpbGUgSW5jbHVkZT0iKi53eHMiIC8+CisgICAgPC9JdGVtR3JvdXA+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPEVtYmVkZGVkUmVzb3VyY2UgSW5jbHVkZT0iKi53eGwiIC8+CisgICAgPC9JdGVtR3JvdXA+CisgICAgCisgICAgPEltcG9ydCBQcm9qZWN0PSIuLlxtc2kudGFyZ2V0cyIgLz4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvbGF1bmNoZXIvbGF1bmNoZXIud2l4cHJvaiBiL1Rvb2xzL21zaS9sYXVuY2hlci9sYXVuY2hlci53aXhwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJkMDZkZjAKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvbGF1bmNoZXIvbGF1bmNoZXIud2l4cHJvagpAQCAtMCwwICsxLDExIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICAgIDxQcm9qZWN0R3VpZD57OTIxQ0YwRTYtQUVCQy00Mzc2LUJBMUQtQ0Q0NkVCRkU2REE1fTwvUHJvamVjdEd1aWQ+CisgICAgICAgIDxTY2hlbWFWZXJzaW9uPjIuMDwvU2NoZW1hVmVyc2lvbj4KKyAgICAgICAgPE91dHB1dE5hbWU+bGF1bmNoZXI8L091dHB1dE5hbWU+CisgICAgICAgIDxPdXRwdXRUeXBlPlBhY2thZ2U8L091dHB1dFR5cGU+CisgICAgICAgIDxEZWZpbmVDb25zdGFudHM+SW5jbHVkZURlZmF1bHRGZWF0dXJlPTE7JChEZWZpbmVDb25zdGFudHMpPC9EZWZpbmVDb25zdGFudHM+CisgICAgPC9Qcm9wZXJ0eUdyb3VwPgorICAgIDxJbXBvcnQgUHJvamVjdD0ibGF1bmNoZXIucHJvcHMiIC8+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2xhdW5jaGVyL2xhdW5jaGVyLnd4cyBiL1Rvb2xzL21zaS9sYXVuY2hlci9sYXVuY2hlci53eHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmU4OGJhNQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9sYXVuY2hlci9sYXVuY2hlci53eHMKQEAgLTAsMCArMSwzOCBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxXaXggeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvd2kiPgorICAgIDxQcm9kdWN0IElkPSIqIiBMYW5ndWFnZT0iIShsb2MuTENJRCkiIE5hbWU9IiEobG9jLlRpdGxlKSIgVmVyc2lvbj0iJCh2YXIuVmVyc2lvbikiIE1hbnVmYWN0dXJlcj0iIShsb2MuTWFudWZhY3R1cmVyKSIgVXBncmFkZUNvZGU9IiQodmFyLlVwZ3JhZGVDb2RlKSI+CisgICAgICAgIDxQYWNrYWdlIEluc3RhbGxlclZlcnNpb249IjMwMCIgQ29tcHJlc3NlZD0ieWVzIiBJbnN0YWxsU2NvcGU9InBlclVzZXIiIFBsYXRmb3JtPSIkKHZhci5QbGF0Zm9ybSkiIC8+CisgICAgICAgIDxNZWRpYVRlbXBsYXRlIEVtYmVkQ2FiPSJ5ZXMiIENvbXByZXNzaW9uTGV2ZWw9ImhpZ2giIC8+CisgICAgICAgIAorICAgICAgICA8UHJvcGVydHkgSWQ9IlN1cHByZXNzX1RBUkdFVERJUl9DaGVjayIgVmFsdWU9IjEiIC8+CisgICAgICAgIDxQcm9wZXJ0eVJlZiBJZD0iVXBncmFkZVRhYmxlIiAvPgorICAgICAgICA8UHJvcGVydHlSZWYgSWQ9IkFSUFBST0RVQ1RJQ09OIiAvPgorCisgICAgICAgIDw/aWZkZWYgSW5jbHVkZURlZmF1bHRGZWF0dXJlID8+CisgICAgICAgIDxGZWF0dXJlIElkPSJEZWZhdWx0RmVhdHVyZSIgQWxsb3dBZHZlcnRpc2U9Im5vIiBUaXRsZT0iIShsb2MuVGl0bGUpIiBEZXNjcmlwdGlvbj0iIShsb2MuRGVzY3JpcHRpb24pIj4KKyAgICAgICAgICAgIDxDb21wb25lbnRHcm91cFJlZiBJZD0ibGF1bmNoZXJfZXhlIiBQcmltYXJ5PSJ5ZXMiIC8+CisgICAgICAgIDwvRmVhdHVyZT4KKyAgICAgICAgPEZlYXR1cmUgSWQ9IkFzc29jaWF0ZUZpbGVzIiBBbGxvd0FkdmVydGlzZT0ibm8iIFRpdGxlPSIhKGxvYy5UaXRsZSkiIERlc2NyaXB0aW9uPSIhKGxvYy5EZXNjcmlwdGlvbikiPgorICAgICAgICAgICAgPENvbXBvbmVudEdyb3VwUmVmIElkPSJsYXVuY2hlcl9leGUiIC8+CisgICAgICAgICAgICA8Q29tcG9uZW50R3JvdXBSZWYgSWQ9ImxhdW5jaGVyX3JlZyIgLz4KKyAgICAgICAgPC9GZWF0dXJlPgorICAgICAgICA8P2VuZGlmID8+CisgICAgICAgIDw/aWZkZWYgSW5jbHVkZVN5bWJvbHMgPz4KKyAgICAgICAgPEZlYXR1cmUgSWQ9IlN5bWJvbHMiIEFsbG93QWR2ZXJ0aXNlPSJubyIgVGl0bGU9IiEobG9jLlRpdGxlUGRiKSIgRGVzY3JpcHRpb249IiEobG9jLkRlc2NyaXB0aW9uUGRiKSI+CisgICAgICAgICAgICA8Q29tcG9uZW50R3JvdXBSZWYgSWQ9ImxhdW5jaGVyX3BkYiIgLz4KKyAgICAgICAgPC9GZWF0dXJlPgorICAgICAgICA8P2VuZGlmID8+CisgICAgICAgIAorICAgICAgICA8RGlyZWN0b3J5IElkPSJUQVJHRVRESVIiIE5hbWU9IlNvdXJjZURpciI+CisgICAgICAgICAgICA8RGlyZWN0b3J5IElkPSJMYXVuY2hlckluc3RhbGxEaXJlY3RvcnkiIC8+CisgICAgICAgIDwvRGlyZWN0b3J5PgorICAgICAgICAKKyAgICAgICAgPEN1c3RvbUFjdGlvbiBJZD0iU2V0TGF1bmNoZXJJbnN0YWxsRGlyZWN0b3J5TE0iIFByb3BlcnR5PSJMYXVuY2hlckluc3RhbGxEaXJlY3RvcnkiIFZhbHVlPSJbV2luZG93c0ZvbGRlcl0iIC8+CisgICAgICAgIDxDdXN0b21BY3Rpb24gSWQ9IlNldExhdW5jaGVySW5zdGFsbERpcmVjdG9yeUNVIiBQcm9wZXJ0eT0iTGF1bmNoZXJJbnN0YWxsRGlyZWN0b3J5IiBWYWx1ZT0iW0xvY2FsQXBwRGF0YUZvbGRlcl1Qcm9ncmFtc1xQeXRob25cTGF1bmNoZXIiIC8+CisgICAgICAgIAorICAgICAgICA8SW5zdGFsbEV4ZWN1dGVTZXF1ZW5jZT4KKyAgICAgICAgICAgIDxDdXN0b20gQmVmb3JlPSJTZXRMYXVuY2hlckluc3RhbGxEaXJlY3RvcnlMTSIgQWN0aW9uPSJTZXRMYXVuY2hlckluc3RhbGxEaXJlY3RvcnlDVSI+Tk9UIEluc3RhbGxlZCBBTkQgTk9UIEFMTFVTRVJTPTE8L0N1c3RvbT4KKyAgICAgICAgICAgIDxDdXN0b20gQmVmb3JlPSJDb3N0RmluYWxpemUiIEFjdGlvbj0iU2V0TGF1bmNoZXJJbnN0YWxsRGlyZWN0b3J5TE0iPk5PVCBJbnN0YWxsZWQgQU5EIEFMTFVTRVJTPTE8L0N1c3RvbT4KKyAgICAgICAgPC9JbnN0YWxsRXhlY3V0ZVNlcXVlbmNlPgorICAgIDwvUHJvZHVjdD4KKzwvV2l4PgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2xhdW5jaGVyL2xhdW5jaGVyX2VuLVVTLnd4bCBiL1Rvb2xzL21zaS9sYXVuY2hlci9sYXVuY2hlcl9lbi1VUy53eGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTg4ZjIyMQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9sYXVuY2hlci9sYXVuY2hlcl9lbi1VUy53eGwKQEAgLTAsMCArMSw4IEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFdpeExvY2FsaXphdGlvbiBDdWx0dXJlPSJlbi11cyIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvbG9jYWxpemF0aW9uIj4KKyAgICA8U3RyaW5nIElkPSJEZXNjcmlwdG9yIj5MYXVuY2hlcjwvU3RyaW5nPgorICAgIDxTdHJpbmcgSWQ9IlNob3J0RGVzY3JpcHRvciI+bGF1bmNoZXI8L1N0cmluZz4KKyAgICA8U3RyaW5nIElkPSJQeXRob25GaWxlRGVzY3JpcHRpb24iPlB5dGhvbiBGaWxlPC9TdHJpbmc+CisgICAgPFN0cmluZyBJZD0iUHl0aG9uTm9Db25GaWxlRGVzY3JpcHRpb24iPlB5dGhvbiBGaWxlIChubyBjb25zb2xlKTwvU3RyaW5nPgorICAgIDxTdHJpbmcgSWQ9IlB5dGhvbkNvbXBpbGVkRmlsZURlc2NyaXB0aW9uIj5Db21waWxlZCBQeXRob24gRmlsZTwvU3RyaW5nPgorPC9XaXhMb2NhbGl6YXRpb24+CmRpZmYgLS1naXQgYS9Ub29scy9tc2kvbGF1bmNoZXIvbGF1bmNoZXJfZmlsZXMud3hzIGIvVG9vbHMvbXNpL2xhdW5jaGVyL2xhdW5jaGVyX2ZpbGVzLnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NWYxMTkzCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2xhdW5jaGVyL2xhdW5jaGVyX2ZpbGVzLnd4cwpAQCAtMCwwICsxLDM1IEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPFdpeCB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi93aSI+CisgICAgPEZyYWdtZW50PgorICAgICAgICA8Q29tcG9uZW50R3JvdXAgSWQ9ImxhdW5jaGVyX2V4ZSI+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJweS5leGUiIERpcmVjdG9yeT0iTGF1bmNoZXJJbnN0YWxsRGlyZWN0b3J5IiBHdWlkPSJ7QjUxMDc0MDItNjk1OC00NjFCLThCMEEtNDAzN0QzMzI3MTYwfSI+CisgICAgICAgICAgICAgICAgPEZpbGUgSWQ9InB5LmV4ZSIgTmFtZT0icHkuZXhlIiBTb3VyY2U9InB5LmV4ZSIgS2V5UGF0aD0ieWVzIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJweXcuZXhlIiBEaXJlY3Rvcnk9IkxhdW5jaGVySW5zdGFsbERpcmVjdG9yeSIgR3VpZD0iezhFNTJCOENELTQ4QkItNEQ3NC04NENELTYyMzhCQ0QxMUYyMH0iPgorICAgICAgICAgICAgICAgIDxGaWxlIElkPSJweXcuZXhlIiBOYW1lPSJweXcuZXhlIiBTb3VyY2U9InB5dy5leGUiIEtleVBhdGg9InllcyIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorCisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJsYXVuY2hlcl9wYXRoX2N1IiBEaXJlY3Rvcnk9IkxhdW5jaGVySW5zdGFsbERpcmVjdG9yeSIgR3VpZD0iezk1QUVCOTMwLTM2N0MtNDc1Qy1BMTdFLUE4OUJGQ0Q0QzY3MH0iPgorICAgICAgICAgICAgICAgIDxDb25kaXRpb24+Tk9UIEFMTFVTRVJTPTE8L0NvbmRpdGlvbj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8UmVnaXN0cnlWYWx1ZSBLZXlQYXRoPSJ5ZXMiIFJvb3Q9IkhLTVUiIEtleT0iU29mdHdhcmVcUHl0aG9uXFB5TGF1bmNoZXJcSW5zdGFsbERpciIgVmFsdWU9IltMYXVuY2hlckluc3RhbGxEaXJlY3RvcnldIiBUeXBlPSJzdHJpbmciIC8+CisgICAgICAgICAgICAgICAgPEVudmlyb25tZW50IElkPSJQQVRIX0NVIiBBY3Rpb249InNldCIgTmFtZT0iUEFUSCIgUGFydD0iZmlyc3QiIFZhbHVlPSJbTGF1bmNoZXJJbnN0YWxsRGlyZWN0b3J5XSIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0ibGF1bmNoZXJfcGF0aF9sbSIgRGlyZWN0b3J5PSJMYXVuY2hlckluc3RhbGxEaXJlY3RvcnkiIEd1aWQ9Ins0QTQxQzM2NS00RTI3LTREMzgtQTZEMS00QTAxQjRBNjUwMEN9Ij4KKyAgICAgICAgICAgICAgICA8Q29uZGl0aW9uPkFMTFVTRVJTPTE8L0NvbmRpdGlvbj4KKyAgICAgICAgICAgICAgICA8UmVnaXN0cnlWYWx1ZSBLZXlQYXRoPSJ5ZXMiIFJvb3Q9IkhLTVUiIEtleT0iU29mdHdhcmVcUHl0aG9uXFB5TGF1bmNoZXJcSW5zdGFsbERpciIgVmFsdWU9IltMYXVuY2hlckluc3RhbGxEaXJlY3RvcnldIiBUeXBlPSJzdHJpbmciIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgPC9Db21wb25lbnRHcm91cD4KKyAgICA8L0ZyYWdtZW50PgorICAgIAorICAgIDxGcmFnbWVudD4KKyAgICAgICAgPENvbXBvbmVudEdyb3VwIElkPSJsYXVuY2hlcl9wZGIiPgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0icHkucGRiIiBEaXJlY3Rvcnk9IkxhdW5jaGVySW5zdGFsbERpcmVjdG9yeSIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgSWQ9InB5LnBkYiIgTmFtZT0icHkucGRiIiBTb3VyY2U9InB5LnBkYiIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0icHl3LnBkYiIgRGlyZWN0b3J5PSJMYXVuY2hlckluc3RhbGxEaXJlY3RvcnkiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIElkPSJweXcucGRiIiBOYW1lPSJweXcucGRiIiBTb3VyY2U9InB5dy5wZGIiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgPC9Db21wb25lbnRHcm91cD4KKyAgICA8L0ZyYWdtZW50PgorPC9XaXg+CmRpZmYgLS1naXQgYS9Ub29scy9tc2kvbGF1bmNoZXIvbGF1bmNoZXJfcGRiLndpeHByb2ogYi9Ub29scy9tc2kvbGF1bmNoZXIvbGF1bmNoZXJfcGRiLndpeHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2VmZGQ3ZgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9sYXVuY2hlci9sYXVuY2hlcl9wZGIud2l4cHJvagpAQCAtMCwwICsxLDExIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICAgIDxQcm9qZWN0R3VpZD57QTIxRDRBMjMtNDgzRi00ODIyLUEwQjEtRkNCMTREOENFQkE3fTwvUHJvamVjdEd1aWQ+CisgICAgICAgIDxTY2hlbWFWZXJzaW9uPjIuMDwvU2NoZW1hVmVyc2lvbj4KKyAgICAgICAgPE91dHB1dE5hbWU+bGF1bmNoZXJfcGRiPC9PdXRwdXROYW1lPgorICAgICAgICA8T3V0cHV0VHlwZT5QYWNrYWdlPC9PdXRwdXRUeXBlPgorICAgICAgICA8RGVmaW5lQ29uc3RhbnRzPkluY2x1ZGVTeW1ib2xzPTE7JChEZWZpbmVDb25zdGFudHMpPC9EZWZpbmVDb25zdGFudHM+CisgICAgPC9Qcm9wZXJ0eUdyb3VwPgorICAgIDxJbXBvcnQgUHJvamVjdD0ibGF1bmNoZXIucHJvcHMiIC8+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2xhdW5jaGVyL2xhdW5jaGVyX3JlZy53eHMgYi9Ub29scy9tc2kvbGF1bmNoZXIvbGF1bmNoZXJfcmVnLnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYWIzZDExCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2xhdW5jaGVyL2xhdW5jaGVyX3JlZy53eHMKQEAgLTAsMCArMSwzMiBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxXaXggeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvd2kiPgorICAgIDxGcmFnbWVudD4KKyAgICAgICAgPENvbXBvbmVudEdyb3VwIElkPSJsYXVuY2hlcl9yZWciPgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0iZmlsZV9hc3NvY2lhdGlvbiIgRGlyZWN0b3J5PSJMYXVuY2hlckluc3RhbGxEaXJlY3RvcnkiIEd1aWQ9Ins1QUY4NEQ5QS1EODIwLTQ1NkItQjIzMC02RTAxMDVBNTAyNzZ9Ij4KKyAgICAgICAgICAgICAgICA8UmVnaXN0cnlWYWx1ZSBLZXlQYXRoPSJ5ZXMiIFJvb3Q9IkhLTVUiIEtleT0iU29mdHdhcmVcUHl0aG9uXFB5TGF1bmNoZXJcQXNzb2NpYXRlRmlsZXMiIFZhbHVlPSIxIiBUeXBlPSJpbnRlZ2VyIiAvPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDxQcm9nSWQgSWQ9IiQodmFyLlRlc3RQcmVmaXgpUHl0aG9uLkZpbGUiIERlc2NyaXB0aW9uPSIhKGxvYy5QeXRob25GaWxlRGVzY3JpcHRpb24pIiBBZHZlcnRpc2U9Im5vIiBJY29uPSJweS5leGUiIEljb25JbmRleD0iMSI+CisgICAgICAgICAgICAgICAgICAgIDxFeHRlbnNpb24gSWQ9IiQodmFyLkZpbGVFeHRlbnNpb24pIiBDb250ZW50VHlwZT0idGV4dC9wbGFpbiI+CisgICAgICAgICAgICAgICAgICAgICAgICA8VmVyYiBJZD0ib3BlbiIgVGFyZ2V0RmlsZT0icHkuZXhlIiBBcmd1bWVudD0iJnF1b3Q7JUwmcXVvdDsgJSoiIC8+CisgICAgICAgICAgICAgICAgICAgIDwvRXh0ZW5zaW9uPgorICAgICAgICAgICAgICAgIDwvUHJvZ0lkPgorICAgICAgICAgICAgICAgIDxSZWdpc3RyeVZhbHVlIFJvb3Q9IkhLQ1IiIEtleT0iJCh2YXIuVGVzdFByZWZpeClQeXRob24uRmlsZVxzaGVsbGV4XERyb3BIYW5kbGVyIiBWYWx1ZT0iezYwMjU0Q0E1LTk1M0ItMTFDRi04Qzk2LTAwQUEwMEI4NzA4Q30iIFR5cGU9InN0cmluZyIgLz4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8UHJvZ0lkIElkPSIkKHZhci5UZXN0UHJlZml4KVB5dGhvbi5Ob0NvbkZpbGUiIERlc2NyaXB0aW9uPSIhKGxvYy5QeXRob25Ob0NvbkZpbGVEZXNjcmlwdGlvbikiIEFkdmVydGlzZT0ibm8iIEljb249InB5LmV4ZSIgSWNvbkluZGV4PSIxIj4KKyAgICAgICAgICAgICAgICAgICAgPEV4dGVuc2lvbiBJZD0iJCh2YXIuRmlsZUV4dGVuc2lvbil3IiBDb250ZW50VHlwZT0idGV4dC9wbGFpbiI+CisgICAgICAgICAgICAgICAgICAgICAgICA8VmVyYiBJZD0ib3BlbiIgVGFyZ2V0RmlsZT0icHl3LmV4ZSIgQXJndW1lbnQ9IiZxdW90OyVMJnF1b3Q7ICUqIiAvPgorICAgICAgICAgICAgICAgICAgICA8L0V4dGVuc2lvbj4KKyAgICAgICAgICAgICAgICA8L1Byb2dJZD4KKyAgICAgICAgICAgICAgICA8UmVnaXN0cnlWYWx1ZSBSb290PSJIS0NSIiBLZXk9IiQodmFyLlRlc3RQcmVmaXgpUHl0aG9uLk5vQ29uRmlsZVxzaGVsbGV4XERyb3BIYW5kbGVyIiBWYWx1ZT0iezYwMjU0Q0E1LTk1M0ItMTFDRi04Qzk2LTAwQUEwMEI4NzA4Q30iIFR5cGU9InN0cmluZyIgLz4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8UHJvZ0lkIElkPSIkKHZhci5UZXN0UHJlZml4KVB5dGhvbi5Db21waWxlZEZpbGUiIERlc2NyaXB0aW9uPSIhKGxvYy5QeXRob25Db21waWxlZEZpbGVEZXNjcmlwdGlvbikiIEFkdmVydGlzZT0ibm8iIEljb249InB5LmV4ZSIgSWNvbkluZGV4PSIyIj4KKyAgICAgICAgICAgICAgICAgICAgPEV4dGVuc2lvbiBJZD0iJCh2YXIuRmlsZUV4dGVuc2lvbiljIj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxWZXJiIElkPSJvcGVuIiBUYXJnZXRGaWxlPSJweS5leGUiIEFyZ3VtZW50PSImcXVvdDslTCZxdW90OyAlKiIgLz4KKyAgICAgICAgICAgICAgICAgICAgPC9FeHRlbnNpb24+CisgICAgICAgICAgICAgICAgICAgIDxFeHRlbnNpb24gSWQ9IiQodmFyLkZpbGVFeHRlbnNpb24pbyIgLz4KKyAgICAgICAgICAgICAgICA8L1Byb2dJZD4KKyAgICAgICAgICAgICAgICA8UmVnaXN0cnlWYWx1ZSBSb290PSJIS0NSIiBLZXk9IiQodmFyLlRlc3RQcmVmaXgpUHl0aG9uLkNvbXBpbGVkRmlsZVxzaGVsbGV4XERyb3BIYW5kbGVyIiBWYWx1ZT0iezYwMjU0Q0E1LTk1M0ItMTFDRi04Qzk2LTAwQUEwMEI4NzA4Q30iIFR5cGU9InN0cmluZyIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICA8L0NvbXBvbmVudEdyb3VwPgorICAgIDwvRnJhZ21lbnQ+Cis8L1dpeD4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9saWIvbGliLnByb3BzIGIvVG9vbHMvbXNpL2xpYi9saWIucHJvcHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDEzYmEwYwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9saWIvbGliLnByb3BzCkBAIC0wLDAgKzEsMjcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXG1zaS5wcm9wcyIgLz4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8Q29tcGlsZSBJbmNsdWRlPSIqLnd4cyIgLz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8RW1iZWRkZWRSZXNvdXJjZSBJbmNsdWRlPSIqLnd4bCIgLz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8RXhjbHVkZUZvbGRlcnMgSW5jbHVkZT0iTGliXHRlc3Q7TGliXHRlc3RzO0xpYlx0a2ludGVyO0xpYlxpZGxlbGliO0xpYlx0dXJ0bGVkZW1vIiAvPgorICAgICAgICA8SW5zdGFsbEZpbGVzIEluY2x1ZGU9IiQoUHlTb3VyY2VQYXRoKUxpYlwqKlwqIgorICAgICAgICAgICAgICAgICAgICAgIEV4Y2x1ZGU9IiQoUHlTb3VyY2VQYXRoKUxpYlwqKlwqLnB5YzsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFB5U291cmNlUGF0aClMaWJcKipcKi5weW87CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJChQeVNvdXJjZVBhdGgpTGliXHNpdGUtcGFja2FnZXNcUkVBRE1FOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAoRXhjbHVkZUZvbGRlcnMtPickKFB5U291cmNlUGF0aCklKElkZW50aXR5KVwqJyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQChFeGNsdWRlRm9sZGVycy0+JyQoUHlTb3VyY2VQYXRoKSUoSWRlbnRpdHkpXCoqXConKSI+CisgICAgICAgICAgICA8U291cmNlQmFzZT4kKFB5U291cmNlUGF0aClMaWI8L1NvdXJjZUJhc2U+CisgICAgICAgICAgICA8U291cmNlPiEoYmluZHBhdGguc3JjKUxpYlw8L1NvdXJjZT4KKyAgICAgICAgICAgIDxUYXJnZXRCYXNlPiQoUHlTb3VyY2VQYXRoKUxpYjwvVGFyZ2V0QmFzZT4KKyAgICAgICAgICAgIDxUYXJnZXRfPkxpYlw8L1RhcmdldF8+CisgICAgICAgICAgICA8R3JvdXA+bGliX3B5PC9Hcm91cD4KKyAgICAgICAgPC9JbnN0YWxsRmlsZXM+CisgICAgPC9JdGVtR3JvdXA+CisgICAgCisgICAgPEltcG9ydCBQcm9qZWN0PSIuLlxtc2kudGFyZ2V0cyIgLz4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvbGliL2xpYi53aXhwcm9qIGIvVG9vbHMvbXNpL2xpYi9saWIud2l4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOTI4MWRhCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2xpYi9saWIud2l4cHJvagpAQCAtMCwwICsxLDExIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICAgIDxQcm9qZWN0R3VpZD57MTEzNjdFNzYtMzMzNy00NjAyLThGMUUtNzdEQjRGMzcwRDdFfTwvUHJvamVjdEd1aWQ+CisgICAgICAgIDxTY2hlbWFWZXJzaW9uPjIuMDwvU2NoZW1hVmVyc2lvbj4KKyAgICAgICAgPE91dHB1dE5hbWU+bGliPC9PdXRwdXROYW1lPgorICAgICAgICA8T3V0cHV0VHlwZT5QYWNrYWdlPC9PdXRwdXRUeXBlPgorICAgICAgICA8RGVmaW5lQ29uc3RhbnRzPkluY2x1ZGVEZWZhdWx0RmVhdHVyZT0xOyQoRGVmaW5lQ29uc3RhbnRzKTwvRGVmaW5lQ29uc3RhbnRzPgorICAgIDwvUHJvcGVydHlHcm91cD4KKyAgICA8SW1wb3J0IFByb2plY3Q9ImxpYi5wcm9wcyIgLz4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvbGliL2xpYi53eHMgYi9Ub29scy9tc2kvbGliL2xpYi53eHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODliZWE2MgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9saWIvbGliLnd4cwpAQCAtMCwwICsxLDI4IEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPFdpeCB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi93aSI+CisgICAgPFByb2R1Y3QgSWQ9IioiIExhbmd1YWdlPSIhKGxvYy5MQ0lEKSIgTmFtZT0iIShsb2MuVGl0bGUpIiBWZXJzaW9uPSIkKHZhci5WZXJzaW9uKSIgTWFudWZhY3R1cmVyPSIhKGxvYy5NYW51ZmFjdHVyZXIpIiBVcGdyYWRlQ29kZT0iJCh2YXIuVXBncmFkZUNvZGUpIj4KKyAgICAgICAgPFBhY2thZ2UgSW5zdGFsbGVyVmVyc2lvbj0iMzAwIiBDb21wcmVzc2VkPSJ5ZXMiIEluc3RhbGxTY29wZT0icGVyVXNlciIgUGxhdGZvcm09IiQodmFyLlBsYXRmb3JtKSIgLz4KKyAgICAgICAgPE1lZGlhVGVtcGxhdGUgRW1iZWRDYWI9InllcyIgQ29tcHJlc3Npb25MZXZlbD0iaGlnaCIgLz4KKyAgICAgICAgCisgICAgICAgIDxQcm9wZXJ0eVJlZiBJZD0iVXBncmFkZVRhYmxlIiAvPgorICAgICAgICA8UHJvcGVydHlSZWYgSWQ9IlJFR0lTVFJZS0VZIiAvPgorICAgICAgICAKKyAgICAgICAgPD9pZmRlZiBJbmNsdWRlRGVmYXVsdEZlYXR1cmUgPz4KKyAgICAgICAgPEZlYXR1cmUgSWQ9IkRlZmF1bHRGZWF0dXJlIiBBbGxvd0FkdmVydGlzZT0ibm8iIFRpdGxlPSIhKGxvYy5UaXRsZSkiIERlc2NyaXB0aW9uPSIhKGxvYy5EZXNjcmlwdGlvbikiPgorICAgICAgICAgICAgPENvbXBvbmVudEdyb3VwUmVmIElkPSJsaWJfcHkiIC8+CisgICAgICAgICAgICA8Q29tcG9uZW50R3JvdXBSZWYgSWQ9ImxpYl9maWxlcyIgLz4KKyAgICAgICAgICAgIDxDb21wb25lbnRHcm91cFJlZiBJZD0ibGliX2V4dGVuc2lvbnMiIC8+CisgICAgICAgIDwvRmVhdHVyZT4KKyAgICAgICAgPD9lbmRpZiA/PgorICAgICAgICA8P2lmZGVmIEluY2x1ZGVTeW1ib2xzID8+CisgICAgICAgIDxGZWF0dXJlIElkPSJTeW1ib2xzIiBBbGxvd0FkdmVydGlzZT0ibm8iIFRpdGxlPSIhKGxvYy5UaXRsZVBkYikiIERlc2NyaXB0aW9uPSIhKGxvYy5EZXNjcmlwdGlvblBkYikiPgorICAgICAgICAgICAgPENvbXBvbmVudEdyb3VwUmVmIElkPSJsaWJfZXh0ZW5zaW9uc19zeW1ib2xzIiAvPgorICAgICAgICA8L0ZlYXR1cmU+CisgICAgICAgIDw/ZW5kaWYgPz4KKyAgICAgICAgPD9pZmRlZiBJbmNsdWRlRGVidWdCaW5hcmllcyA/PgorICAgICAgICA8RmVhdHVyZSBJZD0iRGVidWdCaW5hcmllcyIgQWxsb3dBZHZlcnRpc2U9Im5vIiBUaXRsZT0iIShsb2MuVGl0bGVfZCkiIERlc2NyaXB0aW9uPSIhKGxvYy5EZXNjcmlwdGlvbl9kKSI+CisgICAgICAgICAgICA8Q29tcG9uZW50R3JvdXBSZWYgSWQ9ImxpYl9leHRlbnNpb25zX2QiIC8+CisgICAgICAgIDwvRmVhdHVyZT4KKyAgICAgICAgPD9lbmRpZiA/PgorICAgIDwvUHJvZHVjdD4KKzwvV2l4PgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2xpYi9saWJfZC53aXhwcm9qIGIvVG9vbHMvbXNpL2xpYi9saWJfZC53aXhwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2MzIzMTkKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvbGliL2xpYl9kLndpeHByb2oKQEAgLTAsMCArMSwxMSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgICA8UHJvamVjdEd1aWQ+ezZDNDQzQ0QzLTgyNTgtNDMzNS1CQTAzLTQ5REE5QzM0Q0U0RH08L1Byb2plY3RHdWlkPgorICAgICAgICA8U2NoZW1hVmVyc2lvbj4yLjA8L1NjaGVtYVZlcnNpb24+CisgICAgICAgIDxPdXRwdXROYW1lPmxpYl9kPC9PdXRwdXROYW1lPgorICAgICAgICA8T3V0cHV0VHlwZT5QYWNrYWdlPC9PdXRwdXRUeXBlPgorICAgICAgICA8RGVmaW5lQ29uc3RhbnRzPkluY2x1ZGVEZWJ1Z0JpbmFyaWVzPTE7JChEZWZpbmVDb25zdGFudHMpPC9EZWZpbmVDb25zdGFudHM+CisgICAgPC9Qcm9wZXJ0eUdyb3VwPgorICAgIDxJbXBvcnQgUHJvamVjdD0ibGliLnByb3BzIiAvPgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9saWIvbGliX2VuLVVTLnd4bCBiL1Rvb2xzL21zaS9saWIvbGliX2VuLVVTLnd4bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMDViY2M3Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2xpYi9saWJfZW4tVVMud3hsCkBAIC0wLDAgKzEsNSBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxXaXhMb2NhbGl6YXRpb24gQ3VsdHVyZT0iZW4tdXMiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L2xvY2FsaXphdGlvbiI+CisgICAgPFN0cmluZyBJZD0iRGVzY3JpcHRvciI+U3RhbmRhcmQgTGlicmFyeTwvU3RyaW5nPgorICAgIDxTdHJpbmcgSWQ9IlNob3J0RGVzY3JpcHRvciI+bGliPC9TdHJpbmc+Cis8L1dpeExvY2FsaXphdGlvbj4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9saWIvbGliX2ZpbGVzLnd4cyBiL1Rvb2xzL21zaS9saWIvbGliX2ZpbGVzLnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYzkwMWQzCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2xpYi9saWJfZmlsZXMud3hzCkBAIC0wLDAgKzEsNzIgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8P2RlZmluZSBleHRzPXB5ZXhwYXQ7c2VsZWN0O3VuaWNvZGVkYXRhO3dpbnNvdW5kO19iejI7X2VsZW1lbnR0cmVlO19zb2NrZXQ7X3NzbDtfbXNpO19jdHlwZXM7X2hhc2hsaWI7X211bHRpcHJvY2Vzc2luZztfbHptYTtfZGVjaW1hbDtfb3ZlcmxhcHBlZDtfc3FsaXRlMyA/PgorICAgIDxGcmFnbWVudD4KKyAgICAgICAgPENvbXBvbmVudEdyb3VwIElkPSJsaWJfZXh0ZW5zaW9ucyI+CisgICAgICAgICAgICA8P2ZvcmVhY2ggZXh0IGluICQodmFyLmV4dHMpPz4KKyAgICAgICAgCisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSIkKHZhci5leHQpLnB5ZCIgRGlyZWN0b3J5PSJETExzIiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBOYW1lPSIkKHZhci5leHQpLnB5ZCIgS2V5UGF0aD0ieWVzIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgICAgICAKKyAgICAgICAgICAgIDw/ZW5kZm9yZWFjaCA/PgorICAgICAgICAgICAgCisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJzcWxpdGUzLmRsbCIgRGlyZWN0b3J5PSJETExzIiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBOYW1lPSJzcWxpdGUzLmRsbCIgS2V5UGF0aD0ieWVzIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgIDwvQ29tcG9uZW50R3JvdXA+CisgICAgPC9GcmFnbWVudD4KKyAgICAKKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxDb21wb25lbnRHcm91cCBJZD0ibGliX2V4dGVuc2lvbnNfc3ltYm9scyI+CisgICAgICAgICAgICA8P2ZvcmVhY2ggZXh0IGluICQodmFyLmV4dHMpPz4KKyAgICAgICAgICAgIAorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0iJCh2YXIuZXh0KS5wZGIiIERpcmVjdG9yeT0iRExMcyIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPENvbmRpdGlvbj5TWU1CT0xTPTE8L0NvbmRpdGlvbj4KKyAgICAgICAgICAgICAgICA8RmlsZSBOYW1lPSIkKHZhci5leHQpLnBkYiIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICAgICAgCisgICAgICAgICAgICA8P2VuZGZvcmVhY2ggPz4KKyAgICAgICAgICAgIAorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0ic3FsaXRlMy5wZGIiIERpcmVjdG9yeT0iRExMcyIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgTmFtZT0ic3FsaXRlMy5wZGIiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgPC9Db21wb25lbnRHcm91cD4KKyAgICA8L0ZyYWdtZW50PgorICAgIAorICAgIDxGcmFnbWVudD4KKyAgICAgICAgPENvbXBvbmVudEdyb3VwIElkPSJsaWJfZXh0ZW5zaW9uc19kIj4KKyAgICAgICAgICAgIDw/Zm9yZWFjaCBleHQgaW4gJCh2YXIuZXh0cyk/PgorICAgICAgICAgICAgCisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSIkKHZhci5leHQpX2QucHlkIiBEaXJlY3Rvcnk9IkRMTHMiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIE5hbWU9IiQodmFyLmV4dClfZC5weWQiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9IiQodmFyLmV4dClfZC5wZGIiIERpcmVjdG9yeT0iRExMcyIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgTmFtZT0iJCh2YXIuZXh0KV9kLnBkYiIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICAgICAgCisgICAgICAgICAgICA8P2VuZGZvcmVhY2ggPz4KKyAgICAgICAgPC9Db21wb25lbnRHcm91cD4KKyAgICA8L0ZyYWdtZW50PgorICAgIDxGcmFnbWVudD4KKyAgICAgICAgPFByb3BlcnR5UmVmIElkPSJSRUdJU1RSWUtFWSIgLz4KKyAgICAgICAgCisgICAgICAgIDxDb21wb25lbnRHcm91cCBJZD0ibGliX2ZpbGVzIj4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9IlB5dGhvblBhdGhSZWdpc3RyeSIgRGlyZWN0b3J5PSJMaWIiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxSZWdpc3RyeUtleSBSb290PSJIS01VIiBLZXk9IltSRUdJU1RSWUtFWV0iPgorICAgICAgICAgICAgICAgICAgICA8UmVnaXN0cnlWYWx1ZSBLZXk9IlB5dGhvblBhdGgiIFR5cGU9InN0cmluZyIgVmFsdWU9IltMaWJdO1tETExzXSIgLz4KKyAgICAgICAgICAgICAgICA8L1JlZ2lzdHJ5S2V5PgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJMaWJfc2l0ZV9wYWNrYWdlc19SRUFETUUiIERpcmVjdG9yeT0iTGliX3NpdGVfcGFja2FnZXMiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIElkPSJMaWJfc2l0ZV9wYWNrYWdlc19SRUFETUUiIE5hbWU9IlJFQURNRS50eHQiIFNvdXJjZT0iIShiaW5kcGF0aC5zcmMpTGliXHNpdGUtcGFja2FnZXNcUkVBRE1FIiBLZXlQYXRoPSJ5ZXMiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9IkxpYjJ0bzNfcGlja2xlX3JlbW92ZSIgRGlyZWN0b3J5PSJMaWJfbGliMnRvMyIgR3VpZD0iJCh2YXIuUmVtb3ZlTGliMnRvM1BpY2tsZUNvbXBvbmVudEd1aWQpIj4KKyAgICAgICAgICAgICAgICA8UmVtb3ZlRmlsZSBJZD0iTGliMnRvM19waWNrbGVfcmVtb3ZlX2ZpbGVzIiBOYW1lPSIqLnBpY2tsZSIgT249InVuaW5zdGFsbCIgLz4KKyAgICAgICAgICAgICAgICA8UmVtb3ZlRm9sZGVyIElkPSJMaWIydG8zX3BpY2tsZV9yZW1vdmVfZm9sZGVyIiBPbj0idW5pbnN0YWxsIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgIDwvQ29tcG9uZW50R3JvdXA+CisgICAgICAgIDxEaXJlY3RvcnlSZWYgSWQ9IkxpYiI+CisgICAgICAgICAgICA8RGlyZWN0b3J5IElkPSJMaWJfc2l0ZV9wYWNrYWdlcyIgTmFtZT0ic2l0ZS1wYWNrYWdlcyIgLz4KKyAgICAgICAgPC9EaXJlY3RvcnlSZWY+CisgICAgPC9GcmFnbWVudD4KKzwvV2l4PgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2xpYi9saWJfcGRiLndpeHByb2ogYi9Ub29scy9tc2kvbGliL2xpYl9wZGIud2l4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMWI1OTEyCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2xpYi9saWJfcGRiLndpeHByb2oKQEAgLTAsMCArMSwxMSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgICA8UHJvamVjdEd1aWQ+ezVFMEJDRTkzLUQxQUMtNDU5MS1CQkNCLTNBMkJFNUE0QjNEMX08L1Byb2plY3RHdWlkPgorICAgICAgICA8U2NoZW1hVmVyc2lvbj4yLjA8L1NjaGVtYVZlcnNpb24+CisgICAgICAgIDxPdXRwdXROYW1lPmxpYl9wZGI8L091dHB1dE5hbWU+CisgICAgICAgIDxPdXRwdXRUeXBlPlBhY2thZ2U8L091dHB1dFR5cGU+CisgICAgICAgIDxEZWZpbmVDb25zdGFudHM+SW5jbHVkZVN5bWJvbHM9MTskKERlZmluZUNvbnN0YW50cyk8L0RlZmluZUNvbnN0YW50cz4KKyAgICA8L1Byb3BlcnR5R3JvdXA+CisgICAgPEltcG9ydCBQcm9qZWN0PSJsaWIucHJvcHMiIC8+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL21zaS5wcm9wcyBiL1Rvb2xzL21zaS9tc2kucHJvcHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTY4MzljYwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9tc2kucHJvcHMKQEAgLTAsMCArMSwxNjAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyIgVHJlYXRBc0xvY2FsUHJvcGVydHk9IlJlbGVhc2VVcmkiPgorICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgICA8RGVmaW5lU29sdXRpb25Qcm9wZXJ0aWVzPmZhbHNlPC9EZWZpbmVTb2x1dGlvblByb3BlcnRpZXM+CisgICAgICAgIDxUcmVhdFdhcm5pbmdzQXNFcnJvcnM+ZmFsc2U8L1RyZWF0V2FybmluZ3NBc0Vycm9ycz4KKyAgICAgICAgPFN1cHByZXNzSWNlcz4kKFN1cHByZXNzSWNlcyk7SUNFMDM7SUNFNTc7SUNFNjE8L1N1cHByZXNzSWNlcz4KKyAgICAgICAgPENvbXBpbGVyU3VwcHJlc3NTcGVjaWZpY1dhcm5pbmdzPjEwMjY8L0NvbXBpbGVyU3VwcHJlc3NTcGVjaWZpY1dhcm5pbmdzPgorICAgICAgICA8QnVpbGRGb3JSZWxlYXNlIENvbmRpdGlvbj0iJyQoQnVpbGRGb3JSZWxlYXNlKScgPT0gJyciPmZhbHNlPC9CdWlsZEZvclJlbGVhc2U+CisgICAgICAgIDxTaWduT3V0cHV0IENvbmRpdGlvbj0iJyQoU2lnbmluZ0NlcnRpZmljYXRlKScgIT0gJyciPnRydWU8L1NpZ25PdXRwdXQ+CisgICAgICAgIDxDb25maWd1cmF0aW9uIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbiknID09ICcnIj5SZWxlYXNlPC9Db25maWd1cmF0aW9uPgorICAgICAgICA8UGxhdGZvcm0gQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknID09ICcnIj54ODY8L1BsYXRmb3JtPgorICAgICAgICA8SW5zdGFsbFNjb3BlIENvbmRpdGlvbj0iJyQoSW5zdGFsbFNjb3BlKScgIT0gJ3Blck1hY2hpbmUnIj5wZXJVc2VyPC9JbnN0YWxsU2NvcGU+CisgICAgICAgIDwhLS0KKyAgICAgICAgVGhpcyBVUkkgaXMgdXNlZCB0byBnZW5lcmF0ZSB0aGUgdmFyaW91cyBHVUlEcyB1c2VkIGJ5IHRoZSBpbnN0YWxsZXIuCisgICAgICAgIEluc3RhbGxlcnMgYnVpbHQgd2l0aCB0aGUgc2FtZSBVUkkgd2lsbCB1cGdyYWRlIGVhY2ggb3RoZXIgb3IgYmxvY2sKKyAgICAgICAgd2hlbiBhdHRlbXB0aW5nIHRvIGRvd25ncmFkZS4KKyAgICAgICAgCisgICAgICAgIEJ5IGRlZmF1bHQsIHRoaXMgaXMgdGhlIGxvY2FsIGNvbXB1dGVyIG5hbWUsIHdoaWNoIHdpbGwgcHJvZHVjZQorICAgICAgICBpbnN0YWxsZXJzIHRoYXQgZG8gbm90IGludGVyZmVyZSB3aXRoIG90aGVyIGluc3RhbGxlcnMuIFByb2R1Y3RzCisgICAgICAgIHRoYXQgaW50ZW5kIHRvIGJ1bmRsZSBQeXRob24gc2hvdWxkIHJlYnVpbGQgdGhlc2UgbW9kdWxlcyB3aXRoIHRoZWlyCisgICAgICAgIG93biBVUkkgdG8gYXZvaWQgY29uZmxpY3Rpbmcgd2l0aCB0aGUgb2ZmaWNpYWwgcmVsZWFzZXMuCisgICAgICAgIAorICAgICAgICBUaGUgb2ZmaWNpYWwgcmVsZWFzZXMgYXJlIGJ1aWx0IHdpdGggaHR0cDovL3d3dy5weXRob24ub3JnLy4KKyAgICAgICAgCisgICAgICAgIFRoaXMgaXMgbm90IHRoZSBzYW1lIGFzIHRoZSBEb3dubG9hZFVybCBwcm9wZXJ0eSB1c2VkIGluIHRoZSBidW5kbGUKKyAgICAgICAgcHJvamVjdHMuCisgICAgICAgIC0tPgorICAgICAgICA8UmVsZWFzZVVyaSBDb25kaXRpb249IickKFJlbGVhc2VVcmkpJyA9PSAnJyI+JChDb21wdXRlck5hbWUpPC9SZWxlYXNlVXJpPgorICAgICAgICA8UmVsZWFzZVVyaSBDb25kaXRpb249IiEkKFJlbGVhc2VVcmkuRW5kc1dpdGgoYC9gKSkiPiQoUmVsZWFzZVVyaSkvPC9SZWxlYXNlVXJpPgorICAgIDwvUHJvcGVydHlHcm91cD4KKworICAgIDxJbXBvcnQgUHJvamVjdD0id2l4LnByb3BzIiAvPgorICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cLi5cUENCdWlsZFx0Y2x0ay5wcm9wcyIgLz4KKyAgICAKKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8Q29tcGlsZSBJbmNsdWRlPSIkKE1TQnVpbGRUaGlzRmlsZURpcmVjdG9yeSljb21tb24ud3hzIiAvPgorICAgICAgICA8V3hsVGVtcGxhdGUgSW5jbHVkZT0iJChNU0J1aWxkVGhpc0ZpbGVEaXJlY3RvcnkpXCoud3hsX3RlbXBsYXRlIiAvPgorICAgICAgICA8V2l4RXh0ZW5zaW9uIEluY2x1ZGU9IldpeFV0aWxFeHRlbnNpb24iPgorICAgICAgICAgICAgPEhpbnRQYXRoPldpeFV0aWxFeHRlbnNpb248L0hpbnRQYXRoPgorICAgICAgICAgICAgPE5hbWU+V2l4VXRpbEV4dGVuc2lvbjwvTmFtZT4KKyAgICAgICAgPC9XaXhFeHRlbnNpb24+CisgICAgPC9JdGVtR3JvdXA+CisKKyAgICA8UHJvcGVydHlHcm91cD4KKyAgICAgICAgPEludGVybWVkaWF0ZU91dHB1dFBhdGg+JChNU0J1aWxkVGhpc0ZpbGVEaXJlY3RvcnkpXG9ialwkKENvbmZpZ3VyYXRpb24pXyQoUGxhdGZvcm0pXCQoT3V0cHV0TmFtZSk8L0ludGVybWVkaWF0ZU91dHB1dFBhdGg+CisgICAgICAgIDxJbnRlcm1lZGlhdGVPdXRwdXRQYXRoIENvbmRpdGlvbj0iJyQoT3V0cHV0U3VmZml4KScgIT0gJyciPiQoSW50ZXJtZWRpYXRlT3V0cHV0UGF0aClfJChPdXRwdXRTdWZmaXgpPC9JbnRlcm1lZGlhdGVPdXRwdXRQYXRoPgorICAgICAgICA8T3V0cHV0UGF0aCBDb25kaXRpb249IickKE91dHB1dFBhdGgpJyA9PSAnJyI+JChCdWlsZFBhdGgpPC9PdXRwdXRQYXRoPgorICAgICAgICA8T3V0cHV0UGF0aCBDb25kaXRpb249IiFIYXNUcmFpbGluZ1NsYXNoKCQoT3V0cHV0UGF0aCkpIj4kKE91dHB1dFBhdGgpXDwvT3V0cHV0UGF0aD4KKyAgICAgICAgPE91dERpcj4kKE91dHB1dFBhdGgpPC9PdXREaXI+CisgICAgICAgIDxSZXVzZUNhYmluZXRDYWNoZT50cnVlPC9SZXVzZUNhYmluZXRDYWNoZT4KKyAgICAgICAgPENSVE1vZHVsZSBDb25kaXRpb249IickKFZpc3VhbFN0dWRpb1ZlcnNpb24pJyA9PSAnMTIuMCciPiQoQ29tbW9uUHJvZ3JhbUZpbGVzKVxNZXJnZSBNb2R1bGVzXE1pY3Jvc29mdF9WQzEyMF9DUlRfJChQbGF0Zm9ybSkubXNtPC9DUlRNb2R1bGU+CisgICAgICAgIDxDUlRNb2R1bGUgQ29uZGl0aW9uPSInJChWaXN1YWxTdHVkaW9WZXJzaW9uKScgPT0gJzE0LjAnIj4kKENvbW1vblByb2dyYW1GaWxlcylcTWVyZ2UgTW9kdWxlc1xNaWNyb3NvZnRfVkMxNDBfQ1JUXyQoUGxhdGZvcm0pLm1zbTwvQ1JUTW9kdWxlPgorICAgICAgICA8Q1JUUmVkaXN0IENvbmRpdGlvbj0iJyQoVmlzdWFsU3R1ZGlvVmVyc2lvbiknID09ICcxMi4wJyI+JChbU3lzdGVtLklPLlBhdGhdOjpHZXRGdWxsUGF0aChgJChWUzEyMENPTU5UT09MUylcLi5cLi5cVkNccmVkaXN0XCQoUGxhdGZvcm0pXE1pY3Jvc29mdC5WQzEyMC5DUlRgKSk8L0NSVFJlZGlzdD4KKyAgICAgICAgPENSVFJlZGlzdCBDb25kaXRpb249IickKFZpc3VhbFN0dWRpb1ZlcnNpb24pJyA9PSAnMTQuMCciPiQoW1N5c3RlbS5JTy5QYXRoXTo6R2V0RnVsbFBhdGgoYCQoVlMxNDBDT01OVE9PTFMpXC4uXC4uXFZDXHJlZGlzdFwkKFBsYXRmb3JtKVxNaWNyb3NvZnQuVkMxNDAuQ1JUYCkpPC9DUlRSZWRpc3Q+CisgICAgICAgIDxDUlRSZWRpc3QgQ29uZGl0aW9uPSInJChDUlRSZWRpc3QpJyAhPSAnJyBhbmQgIUV4aXN0cygkKENSVFJlZGlzdCkpIj48L0NSVFJlZGlzdD4KKworICAgICAgICA8UmV2aXNpb25OdW1iZXI+JChSZWxlYXNlTGV2ZWxOdW1iZXIpPC9SZXZpc2lvbk51bWJlcj4KKyAgICAgICAgPFJldmlzaW9uTnVtYmVyIENvbmRpdGlvbj0iISQoQnVpbGRGb3JSZWxlYXNlKSI+JChbU3lzdGVtLk1hdGhdOjpGbG9vcigkKFtTeXN0ZW0uRGF0ZVRpbWVdOjpOb3cuU3VidHJhY3QoJChbU3lzdGVtLkRhdGVUaW1lXTo6bmV3KDIwMDEsIDEsIDEpKSkuVG90YWxEYXlzKSkpPC9SZXZpc2lvbk51bWJlcj4KKyAgICA8L1Byb3BlcnR5R3JvdXA+CisgICAgCisgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICAgIDxCaXRuZXNzPjMyLWJpdDwvQml0bmVzcz4KKyAgICAgICAgPEJpdG5lc3MgQ29uZGl0aW9uPSIkKFBsYXRmb3JtKSA9PSAneDY0JyI+NjQtYml0PC9CaXRuZXNzPgorICAgICAgICA8RGVmaW5lQ29uc3RhbnRzPgorICAgICAgICAgICAgJChEZWZpbmVDb25zdGFudHMpOworICAgICAgICAgICAgVmVyc2lvbj0kKE1ham9yVmVyc2lvbk51bWJlcikuJChNaW5vclZlcnNpb25OdW1iZXIpLiQoTWljcm9WZXJzaW9uTnVtYmVyKS4kKFJldmlzaW9uTnVtYmVyKTsKKyAgICAgICAgICAgIFNob3J0VmVyc2lvbj0kKE1ham9yVmVyc2lvbk51bWJlcikuJChNaW5vclZlcnNpb25OdW1iZXIpOworICAgICAgICAgICAgTG9uZ1ZlcnNpb249JChQeXRob25WZXJzaW9uKTsKKyAgICAgICAgICAgIE1ham9yVmVyc2lvbk51bWJlcj0kKE1ham9yVmVyc2lvbk51bWJlcik7CisgICAgICAgICAgICBNaW5vclZlcnNpb25OdW1iZXI9JChNaW5vclZlcnNpb25OdW1iZXIpOworICAgICAgICAgICAgVXBncmFkZU1pbmltdW1WZXJzaW9uPSQoTWFqb3JWZXJzaW9uTnVtYmVyKS4kKE1pbm9yVmVyc2lvbk51bWJlcikuMC4wOworICAgICAgICAgICAgTmV4dE1ham9yVmVyc2lvbk51bWJlcj0kKE1ham9yVmVyc2lvbk51bWJlcikuJChbbXNidWlsZF06OkFkZCgkKE1pbm9yVmVyc2lvbk51bWJlciksIDEpKS4wLjA7CisgICAgICAgICAgICBQeURlYnVnRXh0PSQoUHlEZWJ1Z0V4dCk7CisgICAgICAgIDwvRGVmaW5lQ29uc3RhbnRzPgorICAgICAgICA8RGVmaW5lQ29uc3RhbnRzIENvbmRpdGlvbj0iJyQoQ1JUTW9kdWxlKScgIT0gJycgYW5kIEV4aXN0cygkKENSVE1vZHVsZSkpIj4KKyAgICAgICAgICAgICQoRGVmaW5lQ29uc3RhbnRzKTtDUlRNb2R1bGU9JChDUlRNb2R1bGUpOworICAgICAgICA8L0RlZmluZUNvbnN0YW50cz4KKyAgICAgICAgPERlZmluZUNvbnN0YW50cyBDb25kaXRpb249IickKENSVFJlZGlzdCknICE9ICcnIj4KKyAgICAgICAgICAgICQoRGVmaW5lQ29uc3RhbnRzKTtDUlRSZWRpc3Q9JChDUlRSZWRpc3QpOworICAgICAgICA8L0RlZmluZUNvbnN0YW50cz4KKyAgICAgICAgPERlZmluZUNvbnN0YW50cyBDb25kaXRpb249IiQoQ29uZmlndXJhdGlvbikgIT0gJ0RlYnVnJyI+CisgICAgICAgICAgICAkKERlZmluZUNvbnN0YW50cyk7VGVzdFByZWZpeD07RmlsZUV4dGVuc2lvbj1weTsKKyAgICAgICAgPC9EZWZpbmVDb25zdGFudHM+CisgICAgICAgIDxEZWZpbmVDb25zdGFudHMgQ29uZGl0aW9uPSIkKENvbmZpZ3VyYXRpb24pID09ICdEZWJ1ZyciPgorICAgICAgICAgICAgJChEZWZpbmVDb25zdGFudHMpO1Rlc3RQcmVmaXg9eDtGaWxlRXh0ZW5zaW9uPXB4OworICAgICAgICA8L0RlZmluZUNvbnN0YW50cz4KKyAgICAgICAgPERlZmluZUNvbnN0YW50cyBDb25kaXRpb249IiQoUGxhdGZvcm0pICE9ICd4NjQnIj4KKyAgICAgICAgICAgICQoRGVmaW5lQ29uc3RhbnRzKTtTdWZmaXgzMj0tMzI7CisgICAgICAgIDwvRGVmaW5lQ29uc3RhbnRzPgorICAgICAgICA8RGVmaW5lQ29uc3RhbnRzIENvbmRpdGlvbj0iJChQbGF0Zm9ybSkgPT0gJ3g2NCciPgorICAgICAgICAgICAgJChEZWZpbmVDb25zdGFudHMpO1N1ZmZpeDMyPTsKKyAgICAgICAgPC9EZWZpbmVDb25zdGFudHM+CisgICAgPC9Qcm9wZXJ0eUdyb3VwPgorCisgICAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+CisgICAgICAgIDxJbnN0YWxsRmlsZXM+CisgICAgICAgICAgICA8R3JvdXA+Z2VuZXJhdGVkX2ZpbGVsaXN0PC9Hcm91cD4KKyAgICAgICAgICAgIDxDb25kaXRpb24+PC9Db25kaXRpb24+CisgICAgICAgICAgICA8RGlza0lkPjwvRGlza0lkPgorICAgICAgICA8L0luc3RhbGxGaWxlcz4KKyAgICAgICAgPExpbmtlckJpbmRJbnB1dFBhdGhzPgorICAgICAgICAgICAgPFZpc2libGU+ZmFsc2U8L1Zpc2libGU+CisgICAgICAgIDwvTGlua2VyQmluZElucHV0UGF0aHM+CisgICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxMaW5rZXJCaW5kSW5wdXRQYXRocyBJbmNsdWRlPSIkKEJ1aWxkUGF0aCk7JChQeVNvdXJjZVBhdGgpRG9jXGJ1aWxkXGh0bWxoZWxwIj4KKyAgICAgICAgICAgIDxCaW5kTmFtZT48L0JpbmROYW1lPgorICAgICAgICA8L0xpbmtlckJpbmRJbnB1dFBhdGhzPgorICAgICAgICA8TGlua2VyQmluZElucHV0UGF0aHMgSW5jbHVkZT0iJChQeVNvdXJjZVBhdGgpIj4KKyAgICAgICAgICAgIDxCaW5kTmFtZT5zcmM8L0JpbmROYW1lPgorICAgICAgICA8L0xpbmtlckJpbmRJbnB1dFBhdGhzPgorICAgICAgICA8TGlua2VyQmluZElucHV0UGF0aHMgSW5jbHVkZT0iJCh0Y2x0a0RpcikiPgorICAgICAgICAgICAgPEJpbmROYW1lPnRjbHRrPC9CaW5kTmFtZT4KKyAgICAgICAgPC9MaW5rZXJCaW5kSW5wdXRQYXRocz4KKyAgICAgICAgPExpbmtlckJpbmRJbnB1dFBhdGhzIEluY2x1ZGU9IiQoQ1JUUmVkaXN0KSIgQ29uZGl0aW9uPSInJChDUlRSZWRpc3QpJyAhPSAnJyI+CisgICAgICAgICAgICA8QmluZE5hbWU+Y3J0PC9CaW5kTmFtZT4KKyAgICAgICAgPC9MaW5rZXJCaW5kSW5wdXRQYXRocz4KKyAgICA8L0l0ZW1Hcm91cD4KKworICAgIDxUYXJnZXQgTmFtZT0iX1ZhbGlkYXRlTXNpUHJvcHMiIEJlZm9yZVRhcmdldHM9IlByZXBhcmVGb3JCdWlsZCI+CisgICAgICAgIDxFcnJvciBUZXh0PSJQbGF0Zm9ybSAnJChQbGF0Zm9ybSknIGlzIG5vdCBzdXBwb3J0ZWQuIFVzZSAneDg2JyBvciAneDY0Jy4iIENvbmRpdGlvbj0iJChQbGF0Zm9ybSkgIT0gJ3g4NicgYW5kICQoUGxhdGZvcm0pICE9ICd4NjQnIiAvPgorICAgIDwvVGFyZ2V0PgorICAgIAorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxfVXVpZCBJbmNsdWRlPSJDb3JlVXBncmFkZUNvZGUiPgorICAgICAgICAgICAgPFVyaT51cGdyYWRlY29kZTwvVXJpPgorICAgICAgICA8L19VdWlkPgorICAgICAgICA8X1V1aWQgSW5jbHVkZT0iVXBncmFkZUNvZGUiPgorICAgICAgICAgICAgPFVyaT51cGdyYWRlY29kZS8kKE91dHB1dE5hbWUpPC9Vcmk+CisgICAgICAgIDwvX1V1aWQ+CisgICAgICAgIDxfVXVpZCBJbmNsdWRlPSJJbnN0YWxsRGlyZWN0b3J5R3VpZFNlZWQiPgorICAgICAgICAgICAgPFVyaT5pbnN0YWxsZGlyZWN0b3J5c2VlZDwvVXJpPgorICAgICAgICA8L19VdWlkPgorICAgICAgICA8X1V1aWQgSW5jbHVkZT0iUHl0aG9uRXhlQ29tcG9uZW50R3VpZCI+CisgICAgICAgICAgICA8VXJpPnB5dGhvbi5leGU8L1VyaT4KKyAgICAgICAgPC9fVXVpZD4KKyAgICAgICAgPF9VdWlkIEluY2x1ZGU9IlB5dGhvbndFeGVDb21wb25lbnRHdWlkIj4KKyAgICAgICAgICAgIDxVcmk+cHl0aG9udy5leGU8L1VyaT4KKyAgICAgICAgPC9fVXVpZD4KKyAgICAgICAgPF9VdWlkIEluY2x1ZGU9IlJlbW92ZUxpYjJ0bzNQaWNrbGVDb21wb25lbnRHdWlkIj4KKyAgICAgICAgICAgIDxVcmk+bGliMnRvMy9waWNrbGVzPC9Vcmk+CisgICAgICAgIDwvX1V1aWQ+CisgICAgPC9JdGVtR3JvdXA+CisgICAgPFRhcmdldCBOYW1lPSJfR2VuZXJhdGVHdWlkcyIgQWZ0ZXJUYXJnZXRzPSJQcmVwYXJlRm9yQnVpbGQiPgorICAgICAgICA8UHJvcGVydHlHcm91cD4KKyAgICAgICAgICAgIDxfVXVpZHM+QChfVXVpZC0+JygiJShJZGVudGl0eSkiLCAiJShVcmkpIiknLCcsJyk8L19VdWlkcz4KKyAgICAgICAgICAgIDxfR2VuZXJhdGVDb21tYW5kPmltcG9ydCB1dWlkOyBwcmludCgnXG4nLmpvaW4oJ3t9PXt9Jy5mb3JtYXQoaSwgdXVpZC51dWlkNSh1dWlkLlVVSUQoJ2M4ZDk3MzNlLWE3MGMtNDNmZi1hYjBjLWUyNjQ1NmYxMTA4MycpLCAnJChSZWxlYXNlVXJpKScgKyBqKSkgZm9yIGksaiBpbiBbJChfVXVpZHMuUmVwbGFjZShgImAsYCdgKSldKSk8L19HZW5lcmF0ZUNvbW1hbmQ+CisgICAgICAgIDwvUHJvcGVydHlHcm91cD4KKyAgICAgICAgCisgICAgICAgIDxFeGVjIENvbW1hbmQ9JyIkKFB5dGhvbkV4ZSkiIC1jICIkKF9HZW5lcmF0ZUNvbW1hbmQpIiAmZ3Q7ICIkKEludGVybWVkaWF0ZU91dHB1dFBhdGgpJChPdXRwdXROYW1lKWd1aWRzLnR4dCInIElnbm9yZUV4aXRDb2RlPSJmYWxzZSIgLz4KKyAgICAgICAgCisgICAgICAgIDxSZWFkTGluZXNGcm9tRmlsZSBGaWxlPSIkKEludGVybWVkaWF0ZU91dHB1dFBhdGgpJChPdXRwdXROYW1lKWd1aWRzLnR4dCI+CisgICAgICAgICAgICA8T3V0cHV0IFRhc2tQYXJhbWV0ZXI9IkxpbmVzIiBJdGVtTmFtZT0iX1V1aWRWYWx1ZSIgLz4KKyAgICAgICAgPC9SZWFkTGluZXNGcm9tRmlsZT4KKyAgICAgICAgCisgICAgICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgICAgICAgPERlZmluZUNvbnN0YW50cz4kKERlZmluZUNvbnN0YW50cyk7QChfVXVpZFZhbHVlLCc7Jyk7PC9EZWZpbmVDb25zdGFudHM+CisgICAgICAgIDwvUHJvcGVydHlHcm91cD4KKyAgICA8L1RhcmdldD4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvbXNpLnB5IGIvVG9vbHMvbXNpL21zaS5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDUwMDU2YS4uMDAwMDAwMAotLS0gYS9Ub29scy9tc2kvbXNpLnB5CisrKyAvZGV2L251bGwKQEAgLTEsMTQ1NCArMCwwIEBACi0jIFB5dGhvbiBNU0kgR2VuZXJhdG9yCi0jIChDKSAyMDAzIE1hcnRpbiB2LiBMb2V3aXMKLSMgU2VlICJGT08iIGluIGNvbW1lbnRzIHJlZmVycyB0byBNU0ROIHNlY3Rpb25zIHdpdGggdGhlIHRpdGxlIEZPTy4KLWltcG9ydCBtc2lsaWIsIHNjaGVtYSwgc2VxdWVuY2UsIG9zLCBnbG9iLCB0aW1lLCByZSwgc2h1dGlsLCB6aXBmaWxlCi1pbXBvcnQgc3VicHJvY2VzcywgdGVtcGZpbGUKLWZyb20gbXNpbGliIGltcG9ydCBGZWF0dXJlLCBDQUIsIERpcmVjdG9yeSwgRGlhbG9nLCBCaW5hcnksIGFkZF9kYXRhCi1pbXBvcnQgdWlzYW1wbGUKLWZyb20gd2luMzJjb20uY2xpZW50IGltcG9ydCBjb25zdGFudHMKLWZyb20gZGlzdHV0aWxzLnNwYXduIGltcG9ydCBmaW5kX2V4ZWN1dGFibGUKLQotIyBTZXR0aW5ncyBjYW4gYmUgb3ZlcnJpZGRlbiBpbiBjb25maWcucHkgYmVsb3cKLSMgMCBmb3Igb2ZmaWNpYWwgcHl0aG9uLm9yZyByZWxlYXNlcwotIyAxIGZvciBpbnRlcm1lZGlhdGUgcmVsZWFzZXMgYnkgYW55Ym9keSwgd2l0aAotIyBhIG5ldyBwcm9kdWN0IGNvZGUgZm9yIGV2ZXJ5IHBhY2thZ2UuCi1zbmFwc2hvdCA9IDEKLSMgMSBtZWFucyB0aGF0IGZpbGUgZXh0ZW5zaW9uIGlzIHB4LCBub3QgcHksCi0jIGFuZCBiaW5hcmllcyBzdGFydCB3aXRoIHgKLXRlc3RwYWNrYWdlID0gMAotIyBMb2NhdGlvbiBvZiBidWlsZCB0cmVlCi1zcmNkaXIgPSBvcy5wYXRoLmFic3BhdGgoIi4uLy4uIikKLSMgVGV4dCB0byBiZSBkaXNwbGF5ZWQgYXMgdGhlIHZlcnNpb24gaW4gZGlhbG9ncyBldGMuCi0jIGdvZXMgaW50byBmaWxlIG5hbWUgYW5kIFByb2R1Y3RDb2RlLiBEZWZhdWx0cyB0bwotIyBjdXJyZW50X3ZlcnNpb24uZGF5IGZvciBTbmFwc2hvdCwgY3VycmVudF92ZXJzaW9uIG90aGVyd2lzZQotZnVsbF9jdXJyZW50X3ZlcnNpb24gPSBOb25lCi0jIElzIFRjbCBhdmFpbGFibGUgYXQgYWxsPwotaGF2ZV90Y2wgPSBUcnVlCi0jIHBhdGggdG8gUENidWlsZCBkaXJlY3RvcnkKLVBDQlVJTEQ9IlBDYnVpbGQiCi0jIG1zdmNydCB2ZXJzaW9uCi1NU1ZDUiA9ICIxMDAiCi0jIE5hbWUgb2YgY2VydGlmaWNhdGUgaW4gZGVmYXVsdCBzdG9yZSB0byBzaWduIE1TSSB3aXRoCi1jZXJ0bmFtZSA9IE5vbmUKLSMgTWFrZSBhIHppcCBmaWxlIGNvbnRhaW5pbmcgdGhlIFBEQiBmaWxlcyBmb3IgdGhpcyBidWlsZD8KLXBkYnppcCA9IFRydWUKLQotdHJ5OgotICAgIGZyb20gY29uZmlnIGltcG9ydCAqCi1leGNlcHQgSW1wb3J0RXJyb3I6Ci0gICAgcGFzcwotCi0jIEV4dHJhY3QgY3VycmVudCB2ZXJzaW9uIGZyb20gSW5jbHVkZS9wYXRjaGxldmVsLmgKLWxpbmVzID0gb3BlbihzcmNkaXIgKyAiL0luY2x1ZGUvcGF0Y2hsZXZlbC5oIikucmVhZGxpbmVzKCkKLW1ham9yID0gbWlub3IgPSBtaWNybyA9IGxldmVsID0gc2VyaWFsID0gTm9uZQotbGV2ZWxzID0gewotICAgICdQWV9SRUxFQVNFX0xFVkVMX0FMUEhBJzoweEEsCi0gICAgJ1BZX1JFTEVBU0VfTEVWRUxfQkVUQSc6IDB4QiwKLSAgICAnUFlfUkVMRUFTRV9MRVZFTF9HQU1NQSc6MHhDLAotICAgICdQWV9SRUxFQVNFX0xFVkVMX0ZJTkFMJzoweEYKLSAgICB9Ci1mb3IgbCBpbiBsaW5lczoKLSAgICBpZiBub3QgbC5zdGFydHN3aXRoKCIjZGVmaW5lIik6Ci0gICAgICAgIGNvbnRpbnVlCi0gICAgbCA9IGwuc3BsaXQoKQotICAgIGlmIGxlbihsKSAhPSAzOgotICAgICAgICBjb250aW51ZQotICAgIF8sIG5hbWUsIHZhbHVlID0gbAotICAgIGlmIG5hbWUgPT0gJ1BZX01BSk9SX1ZFUlNJT04nOiBtYWpvciA9IHZhbHVlCi0gICAgaWYgbmFtZSA9PSAnUFlfTUlOT1JfVkVSU0lPTic6IG1pbm9yID0gdmFsdWUKLSAgICBpZiBuYW1lID09ICdQWV9NSUNST19WRVJTSU9OJzogbWljcm8gPSB2YWx1ZQotICAgIGlmIG5hbWUgPT0gJ1BZX1JFTEVBU0VfTEVWRUwnOiBsZXZlbCA9IGxldmVsc1t2YWx1ZV0KLSAgICBpZiBuYW1lID09ICdQWV9SRUxFQVNFX1NFUklBTCc6IHNlcmlhbCA9IHZhbHVlCi0KLXNob3J0X3ZlcnNpb24gPSBtYWpvcisiLiIrbWlub3IKLSMgU2VlIFBDL21ha2VfdmVyc2lvbmluZm8uYwotRklFTEQzID0gMTAwMCppbnQobWljcm8pICsgMTAqbGV2ZWwgKyBpbnQoc2VyaWFsKQotY3VycmVudF92ZXJzaW9uID0gIiVzLiVkIiAlIChzaG9ydF92ZXJzaW9uLCBGSUVMRDMpCi0KLSMgVGhpcyBzaG91bGQgbmV2ZXIgY2hhbmdlLiBUaGUgVXBncmFkZUNvZGUgb2YgdGhpcyBwYWNrYWdlIGNhbiBiZQotIyB1c2VkIGluIHRoZSBVcGdyYWRlIHRhYmxlIG9mIGZ1dHVyZSBwYWNrYWdlcyB0byBtYWtlIHRoZSBmdXR1cmUKLSMgcGFja2FnZSByZXBsYWNlIHRoaXMgb25lLiBTZWUgIlVwZ3JhZGVDb2RlIFByb3BlcnR5Ii4KLSMgdXBncmFkZV9jb2RlIGdldHMgc2V0IHRvIHVwZ3JhZGVfY29kZV82NCB3aGVuIHdlIGhhdmUgZGV0ZXJtaW5lZAotIyB0aGF0IHRoZSB0YXJnZXQgaXMgV2luNjQuCi11cGdyYWRlX2NvZGVfc25hcHNob3Q9J3s5MkEyNDQ4MS0zRUNCLTQwRkMtODgzNi0wNEI3OTY2RUMwRDV9JwotdXBncmFkZV9jb2RlPSd7NjVFNkRFNDgtQTM1OC00MzRELUFBNEYtNEFGNzJEQjQ3MThGfScKLXVwZ3JhZGVfY29kZV82ND0nezZBOTY1QTBDLTZFRTYtNEUzQS05OTgzLTMyNjNGNTYzMTFFQ30nCi0KLWlmIHNuYXBzaG90OgotICAgIGN1cnJlbnRfdmVyc2lvbiA9ICIlcy4lcy4lcyIgJSAobWFqb3IsIG1pbm9yLCBpbnQodGltZS50aW1lKCkvMzYwMC8yNCkpCi0KLWlmIGZ1bGxfY3VycmVudF92ZXJzaW9uIGlzIE5vbmU6Ci0gICAgZnVsbF9jdXJyZW50X3ZlcnNpb24gPSBjdXJyZW50X3ZlcnNpb24KLQotZXh0ZW5zaW9ucyA9IFsKLSAgICAncHlleHBhdC5weWQnLAotICAgICdzZWxlY3QucHlkJywKLSAgICAndW5pY29kZWRhdGEucHlkJywKLSAgICAnd2luc291bmQucHlkJywKLSAgICAnX2J6Mi5weWQnLAotICAgICdfZWxlbWVudHRyZWUucHlkJywKLSAgICAnX3NvY2tldC5weWQnLAotICAgICdfc3NsLnB5ZCcsCi0gICAgJ190ZXN0Y2FwaS5weWQnLAotICAgICdfdGtpbnRlci5weWQnLAotICAgICdfbXNpLnB5ZCcsCi0gICAgJ19jdHlwZXMucHlkJywKLSAgICAnX2N0eXBlc190ZXN0LnB5ZCcsCi0gICAgJ19zcWxpdGUzLnB5ZCcsCi0gICAgJ19oYXNobGliLnB5ZCcsCi0gICAgJ19tdWx0aXByb2Nlc3NpbmcucHlkJywKLSAgICAnX2x6bWEucHlkJywKLSAgICAnX2RlY2ltYWwucHlkJywKLSAgICAnX3Rlc3RidWZmZXIucHlkJywKLSAgICAnX3Rlc3RpbXBvcnRtdWx0aXBsZS5weWQnLAotICAgICdfb3ZlcmxhcHBlZC5weWQnLAotXQotCi0jIFdlbGwta25vd24gY29tcG9uZW50IFVVSURzCi0jIFRoZXNlIGFyZSBuZWVkZWQgZm9yIFNoYXJlZERMTHMgcmVmZXJlbmNlIGNvdW50ZXI7IGlmCi0jIGEgZGlmZmVyZW50IFVVSUQgd2FzIHVzZWQgZm9yIGVhY2ggaW5jYXJuYXRpb24gb2YsIHNheSwKLSMgcHl0aG9uMjQuZGxsLCBhbiB1cGdyYWRlIHdvdWxkIHNldCB0aGUgcmVmZXJlbmNlIGNvdW50ZXIKLSMgZnJvbSAxIHRvIDIgKGR1ZSB0byB3aGF0IEkgY29uc2lkZXIgYSBidWcgaW4gTVNJKQotIyBVc2luZyB0aGUgc2FtZSBVVUlEIGlzIGZpbmUgc2luY2UgdGhlc2UgZmlsZXMgYXJlIHZlcnNpb25lZCwKLSMgc28gSW5zdGFsbGVyIHdpbGwgYWx3YXlzIGtlZXAgdGhlIG5ld2VzdCB2ZXJzaW9uLgotIyBOT1RFOiBBbGwgdXVpZHMgYXJlIHNlbGYgZ2VuZXJhdGVkLgotcHl0aG9uZGxsX3V1aWQgPSB7Ci0gICAgIjI0IjoiezlCODFFNjE4LTIzMDEtNDAzNS1BQzc3LTc1RDlBQkVCNzMwMX0iLAotICAgICIyNSI6InsyZTQxYjExOC0zOGJkLTRjMWItYTg0MC02OTc3ZWZkMWI5MTF9IiwKLSAgICAiMjYiOiJ7MzRlYmVjYWMtZjA0Ni00ZTFjLWIwZTMtOWJhYzNjZGFhY2ZhfSIsCi0gICAgIjI3IjoiezRmZTIxYzc2LTE3NjAtNDM3Yi1hMmYyLTk5OTA5MTMwYTE3NX0iLAotICAgICIzMCI6Ins2OTUzYmMzYi02NzY4LTQyOTEtODQxMC03OTE0Y2U2ZTJjYTh9IiwKLSAgICAiMzEiOiJ7NGFmY2JhMGItMTNlNC00N2MzLWJlYmUtNDc3NDI4YjQ2OTEzfSIsCi0gICAgIjMyIjoiezNmZjk1MzE1LTEwOTYtNGQzMS1iZDg2LTYwMWQ1NDM4YWQ1ZX0iLAotICAgICIzMyI6IntmNzU4MWNhNC1kMzY4LTRlZWEtOGY4Mi1kNDhjNjRjNGYwNDd9IiwKLSAgICAiMzQiOiJ7N0EwQzU4MTItMjU4My00MEQ5LUJDQkItQ0Q3NDg1RjExMzc3fSIsCi0gICAgfSBbbWFqb3IrbWlub3JdCi0KLSMgQ29tcHV0ZSB0aGUgbmFtZSB0aGF0IFNwaGlueCBnaXZlcyB0byB0aGUgZG9jZmlsZQotZG9jZmlsZSA9IG1pY3JvCi1pZiBsZXZlbCA8IDB4ZjoKLSAgICBpZiBsZXZlbCA9PSAweEM6Ci0gICAgICAgIGRvY2ZpbGUgKz0gInJjJXMiICUgKHNlcmlhbCwpCi0gICAgZWxzZToKLSAgICAgICAgZG9jZmlsZSArPSAnJXglcycgJSAobGV2ZWwsIHNlcmlhbCkKLWRvY2ZpbGUgPSAncHl0aG9uJXMlcyVzLmNobScgJSAobWFqb3IsIG1pbm9yLCBkb2NmaWxlKQotCi0jIEJ1aWxkIHRoZSBtaW5ndyBpbXBvcnQgbGlicmFyeSwgbGlicHl0aG9uWFkuYQotIyBUaGlzIHJlcXVpcmVzICdubScgYW5kICdkbGx0b29sJyBleGVjdXRhYmxlcyBvbiB5b3VyIFBBVEgKLWRlZiBidWlsZF9taW5nd19saWIobGliX2ZpbGUsIGRlZl9maWxlLCBkbGxfZmlsZSwgbWluZ3dfbGliKToKLSAgICB3YXJuaW5nID0gIldBUk5JTkc6ICVzIC0gbGlicHl0aG9uWFguYSBub3QgYnVpbHQiCi0gICAgbm0gPSBmaW5kX2V4ZWN1dGFibGUoJ25tJykKLSAgICBkbGx0b29sID0gZmluZF9leGVjdXRhYmxlKCdkbGx0b29sJykKLQotICAgIGlmIG5vdCBubSBvciBub3QgZGxsdG9vbDoKLSAgICAgICAgcHJpbnQod2FybmluZyAlICJubSBhbmQvb3IgZGxsdG9vbCB3ZXJlIG5vdCBmb3VuZCIpCi0gICAgICAgIHJldHVybiBGYWxzZQotCi0gICAgbm1fY29tbWFuZCA9ICclcyAtQ3MgJXMnICUgKG5tLCBsaWJfZmlsZSkKLSAgICBkbGx0b29sX2NvbW1hbmQgPSAiJXMgLS1kbGxuYW1lICVzIC0tZGVmICVzIC0tb3V0cHV0LWxpYiAlcyIgJSBcCi0gICAgICAgIChkbGx0b29sLCBkbGxfZmlsZSwgZGVmX2ZpbGUsIG1pbmd3X2xpYikKLSAgICBleHBvcnRfbWF0Y2ggPSByZS5jb21waWxlKHIiXl9pbXBfXyguKikgaW4gcHl0aG9uXGQrXC5kbGwiKS5tYXRjaAotCi0gICAgZiA9IG9wZW4oZGVmX2ZpbGUsJ3cnKQotICAgIGYud3JpdGUoIkxJQlJBUlkgJXNcbiIgJSBkbGxfZmlsZSkKLSAgICBmLndyaXRlKCJFWFBPUlRTXG4iKQotCi0gICAgbm1fcGlwZSA9IG9zLnBvcGVuKG5tX2NvbW1hbmQpCi0gICAgZm9yIGxpbmUgaW4gbm1fcGlwZS5yZWFkbGluZXMoKToKLSAgICAgICAgbSA9IGV4cG9ydF9tYXRjaChsaW5lKQotICAgICAgICBpZiBtOgotICAgICAgICAgICAgZi53cml0ZShtLmdyb3VwKDEpKyJcbiIpCi0gICAgZi5jbG9zZSgpCi0gICAgZXhpdCA9IG5tX3BpcGUuY2xvc2UoKQotCi0gICAgaWYgZXhpdDoKLSAgICAgICAgcHJpbnQod2FybmluZyAlICJubSBkaWQgbm90IHJ1biBzdWNjZXNzZnVsbHkiKQotICAgICAgICByZXR1cm4gRmFsc2UKLQotICAgIGlmIG9zLnN5c3RlbShkbGx0b29sX2NvbW1hbmQpICE9IDA6Ci0gICAgICAgIHByaW50KHdhcm5pbmcgJSAiZGxsdG9vbCBkaWQgbm90IHJ1biBzdWNjZXNzZnVsbHkiKQotICAgICAgICByZXR1cm4gRmFsc2UKLQotICAgIHJldHVybiBUcnVlCi0KLSMgVGFyZ2V0IGZpbGVzICguZGVmIGFuZCAuYSkgZ28gaW4gUENCdWlsZCBkaXJlY3RvcnkKLWxpYl9maWxlID0gb3MucGF0aC5qb2luKHNyY2RpciwgUENCVUlMRCwgInB5dGhvbiVzJXMubGliIiAlIChtYWpvciwgbWlub3IpKQotZGVmX2ZpbGUgPSBvcy5wYXRoLmpvaW4oc3JjZGlyLCBQQ0JVSUxELCAicHl0aG9uJXMlcy5kZWYiICUgKG1ham9yLCBtaW5vcikpCi1kbGxfZmlsZSA9ICJweXRob24lcyVzLmRsbCIgJSAobWFqb3IsIG1pbm9yKQotbWluZ3dfbGliID0gb3MucGF0aC5qb2luKHNyY2RpciwgUENCVUlMRCwgImxpYnB5dGhvbiVzJXMuYSIgJSAobWFqb3IsIG1pbm9yKSkKLQotaGF2ZV9taW5ndyA9IGJ1aWxkX21pbmd3X2xpYihsaWJfZmlsZSwgZGVmX2ZpbGUsIGRsbF9maWxlLCBtaW5nd19saWIpCi0KLSMgRGV0ZXJtaW5lIHRoZSB0YXJnZXQgYXJjaGl0ZWN0dXJlCi1pZiBvcy5zeXN0ZW0oIm5tYWtlIC9ub2xvZ28gL2MgL2YgbXNpc3VwcG9ydC5tYWsiKSAhPSAwOgotICAgIHJhaXNlIFJ1bnRpbWVFcnJvcigiJ25tYWtlIC9mIG1zaXN1cHBvcnQubWFrJyBmYWlsZWQiKQotZGxsX3BhdGggPSBvcy5wYXRoLmpvaW4oc3JjZGlyLCBQQ0JVSUxELCBkbGxfZmlsZSkKLW1zaWxpYi5zZXRfYXJjaF9mcm9tX2ZpbGUoZGxsX3BhdGgpCi1pZiBtc2lsaWIucGVfdHlwZShkbGxfcGF0aCkgIT0gbXNpbGliLnBlX3R5cGUoIm1zaXN1cHBvcnQuZGxsIik6Ci0gICAgcmFpc2UgU3lzdGVtRXJyb3IoIm1zaXN1cHBvcnQuZGxsIGZvciBpbmNvcnJlY3QgYXJjaGl0ZWN0dXJlIikKLQotaWYgbXNpbGliLldpbjY0OgotICAgIHVwZ3JhZGVfY29kZSA9IHVwZ3JhZGVfY29kZV82NAotCi1pZiBzbmFwc2hvdDoKLSAgICBwcm9kdWN0X2NvZGUgPSBtc2lsaWIuZ2VuX3V1aWQoKQotZWxzZToKLSAgICAjIG9mZmljaWFsIHJlbGVhc2U6IGdlbmVyYXRlIFVVSUQgZnJvbSB0aGUgZG93bmxvYWQgbGluayB0aGF0IHRoZSBmaWxlIHdpbGwgaGF2ZQotICAgIGltcG9ydCB1dWlkCi0gICAgcHJvZHVjdF9jb2RlID0gdXVpZC51dWlkMyh1dWlkLk5BTUVTUEFDRV9VUkwsCi0gICAgICAgICAgICAgICAgICAgICdodHRwOi8vd3d3LnB5dGhvbi5vcmcvZnRwL3B5dGhvbi8lcy4lcy4lcy9weXRob24tJXMlcy5tc2knICUKLSAgICAgICAgICAgICAgICAgICAgKG1ham9yLCBtaW5vciwgbWljcm8sIGZ1bGxfY3VycmVudF92ZXJzaW9uLCBtc2lsaWIuYXJjaF9leHQpKQotICAgIHByb2R1Y3RfY29kZSA9ICd7JXN9JyAlIHByb2R1Y3RfY29kZQotCi1pZiB0ZXN0cGFja2FnZToKLSAgICBleHQgPSAncHgnCi0gICAgdGVzdHByZWZpeCA9ICd4JwotZWxzZToKLSAgICBleHQgPSAncHknCi0gICAgdGVzdHByZWZpeCA9ICcnCi0KLWlmIG1zaWxpYi5XaW42NDoKLSAgICBTeXN0ZW1Gb2xkZXJOYW1lID0gIltTeXN0ZW02NEZvbGRlcl0iCi0gICAgcmVnaXN0cnlfY29tcG9uZW50ID0gNHwyNTYKLWVsc2U6Ci0gICAgU3lzdGVtRm9sZGVyTmFtZSA9ICJbU3lzdGVtRm9sZGVyXSIKLSAgICByZWdpc3RyeV9jb21wb25lbnQgPSA0Ci0KLW1zaWxpYi5yZXNldCgpCi0KLSMgY29uZGl0aW9uIGluIHdoaWNoIHRvIGluc3RhbGwgcHl0aG9ueHkuZGxsIGluIHN5c3RlbTMyOgotIyBhKSBpdCBpcyBXaW5kb3dzIDl4IG9yCi0jIGIpIGl0IGlzIE5ULCB0aGUgdXNlciBpcyBwcml2aWxlZ2VkLCBhbmQgaGFzIGNob3NlbiBwZXItbWFjaGluZSBpbnN0YWxsYXRpb24KLXN5czMyY29uZCA9ICIoV2luZG93czl4IG9yIChQcml2aWxlZ2VkIGFuZCBBTExVU0VSUykpIgotCi1kZWYgYnVpbGRfZGF0YWJhc2UoKToKLSAgICAiIiJHZW5lcmF0ZSBhbiBlbXB0eSBkYXRhYmFzZSwgd2l0aCBqdXN0IHRoZSBzY2hlbWEgYW5kIHRoZQotICAgIFN1bW1hcnkgaW5mb3JtYXRpb24gc3RyZWFtLiIiIgotICAgIGlmIHNuYXBzaG90OgotICAgICAgICB1YyA9IHVwZ3JhZGVfY29kZV9zbmFwc2hvdAotICAgIGVsc2U6Ci0gICAgICAgIHVjID0gdXBncmFkZV9jb2RlCi0gICAgaWYgbXNpbGliLldpbjY0OgotICAgICAgICBwcm9kdWN0c3VmZml4ID0gIiAoNjQtYml0KSIKLSAgICBlbHNlOgotICAgICAgICBwcm9kdWN0c3VmZml4ID0gIiIKLSAgICAjIHNjaGVtYSByZXByZXNlbnRzIHRoZSBpbnN0YWxsZXIgMi4wIGRhdGFiYXNlIHNjaGVtYS4KLSAgICAjIHNlcXVlbmNlIGlzIHRoZSBzZXQgb2Ygc3RhbmRhcmQgc2VxdWVuY2VzCi0gICAgIyAodWkvZXhlY3V0ZSwgYWRtaW4vYWR2dC9pbnN0YWxsKQotICAgIG1zaW5hbWUgPSAicHl0aG9uLSVzJXMubXNpIiAlIChmdWxsX2N1cnJlbnRfdmVyc2lvbiwgbXNpbGliLmFyY2hfZXh0KQotICAgIGRiID0gbXNpbGliLmluaXRfZGF0YWJhc2UobXNpbmFtZSwKLSAgICAgICAgICAgICAgICAgIHNjaGVtYSwgUHJvZHVjdE5hbWU9IlB5dGhvbiAiK2Z1bGxfY3VycmVudF92ZXJzaW9uK3Byb2R1Y3RzdWZmaXgsCi0gICAgICAgICAgICAgICAgICBQcm9kdWN0Q29kZT1wcm9kdWN0X2NvZGUsCi0gICAgICAgICAgICAgICAgICBQcm9kdWN0VmVyc2lvbj1jdXJyZW50X3ZlcnNpb24sCi0gICAgICAgICAgICAgICAgICBNYW51ZmFjdHVyZXI9dSJQeXRob24gU29mdHdhcmUgRm91bmRhdGlvbiIsCi0gICAgICAgICAgICAgICAgICByZXF1ZXN0X3VhYyA9IFRydWUpCi0gICAgIyBUaGUgZGVmYXVsdCBzZXF1ZW5jaW5nIG9mIHRoZSBSZW1vdmVFeGlzdGluZ1Byb2R1Y3RzIGFjdGlvbiBjYXVzZXMKLSAgICAjIHJlbW92YWwgb2YgZmlsZXMgdGhhdCBnb3QganVzdCBpbnN0YWxsZWQuIFBsYWNlIGl0IGFmdGVyCi0gICAgIyBJbnN0YWxsSW5pdGlhbGl6ZSwgc28gd2UgZmlyc3QgdW5pbnN0YWxsIGV2ZXJ5dGhpbmcsIGJ1dCBzdGlsbCByb2xsCi0gICAgIyBiYWNrIGluIGNhc2UgdGhlIGluc3RhbGxhdGlvbiBpcyBpbnRlcnJ1cHRlZAotICAgIG1zaWxpYi5jaGFuZ2Vfc2VxdWVuY2Uoc2VxdWVuY2UuSW5zdGFsbEV4ZWN1dGVTZXF1ZW5jZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICJSZW1vdmVFeGlzdGluZ1Byb2R1Y3RzIiwgMTUxMCkKLSAgICBtc2lsaWIuYWRkX3RhYmxlcyhkYiwgc2VxdWVuY2UpCi0gICAgIyBXZSBjYW5ub3Qgc2V0IEFMTFVTRVJTIGluIHRoZSBwcm9wZXJ0eSB0YWJsZSwgYXMgdGhpcyBjYW5ub3QgYmUKLSAgICAjIHJlc2V0IGlmIHRoZSB1c2VyIGNob3NlcyBhIHBlci11c2VyIGluc3RhbGxhdGlvbi4gSW5zdGVhZCwgd2UKLSAgICAjIG1haW50YWluIFdoaWNoVXNlcnMsIHdoaWNoIGNhbiBiZSAiQUxMIiBvciAiSlVTVE1FIi4gVGhlIFVJIG1hbmFnZXMKLSAgICAjIHRoaXMgcHJvcGVydHksIGFuZCB3aGVuIHRoZSBleGVjdXRpb24gc3RhcnRzLCBBTExVU0VSUyBpcyBzZXQKLSAgICAjIGFjY29yZGluZ2x5LgotICAgIGFkZF9kYXRhKGRiLCAiUHJvcGVydHkiLCBbKCJVcGdyYWRlQ29kZSIsIHVjKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgiV2hpY2hVc2VycyIsICJBTEwiKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgiUHJvZHVjdExpbmUiLCAiUHl0aG9uJXMlcyIgJSAobWFqb3IsIG1pbm9yKSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0pCi0gICAgZGIuQ29tbWl0KCkKLSAgICByZXR1cm4gZGIsIG1zaW5hbWUKLQotZGVmIHJlbW92ZV9vbGRfdmVyc2lvbnMoZGIpOgotICAgICJGaWxsIHRoZSB1cGdyYWRlIHRhYmxlLiIKLSAgICBzdGFydCA9ICIlcy4lcy4wIiAlIChtYWpvciwgbWlub3IpCi0gICAgIyBUaGlzIHJlcXVlc3RzIHRoYXQgZmVhdHVyZSBzZWxlY3Rpb24gc3RhdGVzIG9mIGFuIG9sZGVyCi0gICAgIyBpbnN0YWxsYXRpb24gc2hvdWxkIGJlIGZvcndhcmRlZCBpbnRvIHRoaXMgb25lLiBVcGdyYWRpbmcKLSAgICAjIHJlcXVpcmVzIHRoYXQgYm90aCB0aGUgb2xkIGFuZCB0aGUgbmV3IGluc3RhbGxhdGlvbiBhcmUKLSAgICAjIGVpdGhlciBib3RoIHBlci1tYWNoaW5lIG9yIHBlci11c2VyLgotICAgIG1pZ3JhdGVfZmVhdHVyZXMgPSAxCi0gICAgIyBTZWUgIlVwZ3JhZGUgVGFibGUiLiBXZSByZW1vdmUgcmVsZWFzZXMgd2l0aCB0aGUgc2FtZSBtYWpvciBhbmQKLSAgICAjIG1pbm9yIHZlcnNpb24uIEZvciBhbiBzbmFwc2hvdCwgd2UgcmVtb3ZlIGFsbCBlYXJsaWVyIHNuYXBzaG90cy4gRm9yCi0gICAgIyBhIHJlbGVhc2UsIHdlIHJlbW92ZSBhbGwgc25hcHNob3RzLCBhbmQgYWxsIGVhcmxpZXIgcmVsZWFzZXMuCi0gICAgaWYgc25hcHNob3Q6Ci0gICAgICAgIGFkZF9kYXRhKGRiLCAiVXBncmFkZSIsCi0gICAgICAgICAgICBbKHVwZ3JhZGVfY29kZV9zbmFwc2hvdCwgc3RhcnQsCi0gICAgICAgICAgICAgIGN1cnJlbnRfdmVyc2lvbiwKLSAgICAgICAgICAgICAgTm9uZSwgICAgICAgICAgICAgICAgICAgICAjIElnbm9yZSBsYW5ndWFnZQotICAgICAgICAgICAgICBtaWdyYXRlX2ZlYXR1cmVzLAotICAgICAgICAgICAgICBOb25lLCAgICAgICAgICAgICAgICAgICAgICMgTWlncmF0ZSBBTEwgZmVhdHVyZXMKLSAgICAgICAgICAgICAgIlJFTU9WRU9MRFNOQVBTSE9UIildKQotICAgICAgICBwcm9wcyA9ICJSRU1PVkVPTERTTkFQU0hPVCIKLSAgICBlbHNlOgotICAgICAgICBhZGRfZGF0YShkYiwgIlVwZ3JhZGUiLAotICAgICAgICAgICAgWyh1cGdyYWRlX2NvZGUsIHN0YXJ0LCBjdXJyZW50X3ZlcnNpb24sCi0gICAgICAgICAgICAgIE5vbmUsIG1pZ3JhdGVfZmVhdHVyZXMsIE5vbmUsICJSRU1PVkVPTERWRVJTSU9OIiksCi0gICAgICAgICAgICAgKHVwZ3JhZGVfY29kZV9zbmFwc2hvdCwgc3RhcnQsICIlcy4lZC4wIiAlIChtYWpvciwgaW50KG1pbm9yKSsxKSwKLSAgICAgICAgICAgICAgTm9uZSwgbWlncmF0ZV9mZWF0dXJlcywgTm9uZSwgIlJFTU9WRU9MRFNOQVBTSE9UIildKQotICAgICAgICBwcm9wcyA9ICJSRU1PVkVPTERTTkFQU0hPVDtSRU1PVkVPTERWRVJTSU9OIgotCi0gICAgcHJvcHMgKz0gIjtUQVJHRVRESVI7RExMRElSO0xBVU5DSEVSRElSIgotICAgICMgSW5zdGFsbGVyIGNvbGxlY3RzIHRoZSBwcm9kdWN0IGNvZGVzIG9mIHRoZSBlYXJsaWVyIHJlbGVhc2VzIGluCi0gICAgIyB0aGVzZSBwcm9wZXJ0aWVzLiBJbiBvcmRlciB0byBhbGxvdyBtb2RpZmljYXRpb24gb2YgdGhlIHByb3BlcnRpZXMsCi0gICAgIyB0aGV5IG11c3QgYmUgZGVjbGFyZWQgYXMgc2VjdXJlLiBTZWUgIlNlY3VyZUN1c3RvbVByb3BlcnRpZXMgUHJvcGVydHkiCi0gICAgYWRkX2RhdGEoZGIsICJQcm9wZXJ0eSIsIFsoIlNlY3VyZUN1c3RvbVByb3BlcnRpZXMiLCBwcm9wcyldKQotCi1jbGFzcyBQeURpYWxvZyhEaWFsb2cpOgotICAgICIiIkRpYWxvZyBjbGFzcyB3aXRoIGEgZml4ZWQgbGF5b3V0OiBjb250cm9scyBhdCB0aGUgdG9wLCB0aGVuIGEgcnVsZXIsCi0gICAgdGhlbiBhIGxpc3Qgb2YgYnV0dG9uczogYmFjaywgbmV4dCwgY2FuY2VsLiBPcHRpb25hbGx5IGEgYml0bWFwIGF0IHRoZQotICAgIGxlZnQuIiIiCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsICphcmdzLCAqKmt3KToKLSAgICAgICAgIiIiRGlhbG9nKGRhdGFiYXNlLCBuYW1lLCB4LCB5LCB3LCBoLCBhdHRyaWJ1dGVzLCB0aXRsZSwgZmlyc3QsCi0gICAgICAgIGRlZmF1bHQsIGNhbmNlbCwgYml0bWFwPXRydWUpIiIiCi0gICAgICAgIERpYWxvZy5fX2luaXRfXyhzZWxmLCAqYXJncykKLSAgICAgICAgcnVsZXIgPSBzZWxmLmggLSAzNgotICAgICAgICBibXdpZHRoID0gMTUyKnJ1bGVyLzMyOAotICAgICAgICBpZiBrdy5nZXQoImJpdG1hcCIsIFRydWUpOgotICAgICAgICAgICAgc2VsZi5iaXRtYXAoIkJpdG1hcCIsIDAsIDAsIGJtd2lkdGgsIHJ1bGVyLCAiUHl0aG9uV2luIikKLSAgICAgICAgc2VsZi5saW5lKCJCb3R0b21MaW5lIiwgMCwgcnVsZXIsIHNlbGYudywgMCkKLQotICAgIGRlZiB0aXRsZShzZWxmLCB0aXRsZSk6Ci0gICAgICAgICJTZXQgdGhlIHRpdGxlIHRleHQgb2YgdGhlIGRpYWxvZyBhdCB0aGUgdG9wLiIKLSAgICAgICAgIyBuYW1lLCB4LCB5LCB3LCBoLCBmbGFncz1WaXNpYmxlfEVuYWJsZWR8VHJhbnNwYXJlbnR8Tm9QcmVmaXgsCi0gICAgICAgICMgdGV4dCwgaW4gVmVyZGFuYUJvbGQxMAotICAgICAgICBzZWxmLnRleHQoIlRpdGxlIiwgMTM1LCAxMCwgMjIwLCA2MCwgMHgzMDAwMywKLSAgICAgICAgICAgICAgICAgIHIie1xWZXJkYW5hQm9sZDEwfSVzIiAlIHRpdGxlKQotCi0gICAgZGVmIGJhY2soc2VsZiwgdGl0bGUsIG5leHQsIG5hbWUgPSAiQmFjayIsIGFjdGl2ZSA9IDEpOgotICAgICAgICAiIiJBZGQgYSBiYWNrIGJ1dHRvbiB3aXRoIGEgZ2l2ZW4gdGl0bGUsIHRoZSB0YWItbmV4dCBidXR0b24sCi0gICAgICAgIGl0cyBuYW1lIGluIHRoZSBDb250cm9sIHRhYmxlLCBwb3NzaWJseSBpbml0aWFsbHkgZGlzYWJsZWQuCi0KLSAgICAgICAgUmV0dXJuIHRoZSBidXR0b24sIHNvIHRoYXQgZXZlbnRzIGNhbiBiZSBhc3NvY2lhdGVkIiIiCi0gICAgICAgIGlmIGFjdGl2ZToKLSAgICAgICAgICAgIGZsYWdzID0gMyAjIFZpc2libGV8RW5hYmxlZAotICAgICAgICBlbHNlOgotICAgICAgICAgICAgZmxhZ3MgPSAxICMgVmlzaWJsZQotICAgICAgICByZXR1cm4gc2VsZi5wdXNoYnV0dG9uKG5hbWUsIDE4MCwgc2VsZi5oLTI3ICwgNTYsIDE3LCBmbGFncywgdGl0bGUsIG5leHQpCi0KLSAgICBkZWYgY2FuY2VsKHNlbGYsIHRpdGxlLCBuZXh0LCBuYW1lID0gIkNhbmNlbCIsIGFjdGl2ZSA9IDEpOgotICAgICAgICAiIiJBZGQgYSBjYW5jZWwgYnV0dG9uIHdpdGggYSBnaXZlbiB0aXRsZSwgdGhlIHRhYi1uZXh0IGJ1dHRvbiwKLSAgICAgICAgaXRzIG5hbWUgaW4gdGhlIENvbnRyb2wgdGFibGUsIHBvc3NpYmx5IGluaXRpYWxseSBkaXNhYmxlZC4KLQotICAgICAgICBSZXR1cm4gdGhlIGJ1dHRvbiwgc28gdGhhdCBldmVudHMgY2FuIGJlIGFzc29jaWF0ZWQiIiIKLSAgICAgICAgaWYgYWN0aXZlOgotICAgICAgICAgICAgZmxhZ3MgPSAzICMgVmlzaWJsZXxFbmFibGVkCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBmbGFncyA9IDEgIyBWaXNpYmxlCi0gICAgICAgIHJldHVybiBzZWxmLnB1c2hidXR0b24obmFtZSwgMzA0LCBzZWxmLmgtMjcsIDU2LCAxNywgZmxhZ3MsIHRpdGxlLCBuZXh0KQotCi0gICAgZGVmIG5leHQoc2VsZiwgdGl0bGUsIG5leHQsIG5hbWUgPSAiTmV4dCIsIGFjdGl2ZSA9IDEpOgotICAgICAgICAiIiJBZGQgYSBOZXh0IGJ1dHRvbiB3aXRoIGEgZ2l2ZW4gdGl0bGUsIHRoZSB0YWItbmV4dCBidXR0b24sCi0gICAgICAgIGl0cyBuYW1lIGluIHRoZSBDb250cm9sIHRhYmxlLCBwb3NzaWJseSBpbml0aWFsbHkgZGlzYWJsZWQuCi0KLSAgICAgICAgUmV0dXJuIHRoZSBidXR0b24sIHNvIHRoYXQgZXZlbnRzIGNhbiBiZSBhc3NvY2lhdGVkIiIiCi0gICAgICAgIGlmIGFjdGl2ZToKLSAgICAgICAgICAgIGZsYWdzID0gMyAjIFZpc2libGV8RW5hYmxlZAotICAgICAgICBlbHNlOgotICAgICAgICAgICAgZmxhZ3MgPSAxICMgVmlzaWJsZQotICAgICAgICByZXR1cm4gc2VsZi5wdXNoYnV0dG9uKG5hbWUsIDIzNiwgc2VsZi5oLTI3LCA1NiwgMTcsIGZsYWdzLCB0aXRsZSwgbmV4dCkKLQotICAgIGRlZiB4YnV0dG9uKHNlbGYsIG5hbWUsIHRpdGxlLCBuZXh0LCB4cG9zKToKLSAgICAgICAgIiIiQWRkIGEgYnV0dG9uIHdpdGggYSBnaXZlbiB0aXRsZSwgdGhlIHRhYi1uZXh0IGJ1dHRvbiwKLSAgICAgICAgaXRzIG5hbWUgaW4gdGhlIENvbnRyb2wgdGFibGUsIGdpdmluZyBpdHMgeCBwb3NpdGlvbjsgdGhlCi0gICAgICAgIHktcG9zaXRpb24gaXMgYWxpZ25lZCB3aXRoIHRoZSBvdGhlciBidXR0b25zLgotCi0gICAgICAgIFJldHVybiB0aGUgYnV0dG9uLCBzbyB0aGF0IGV2ZW50cyBjYW4gYmUgYXNzb2NpYXRlZCIiIgotICAgICAgICByZXR1cm4gc2VsZi5wdXNoYnV0dG9uKG5hbWUsIGludChzZWxmLncqeHBvcyAtIDI4KSwgc2VsZi5oLTI3LCA1NiwgMTcsIDMsIHRpdGxlLCBuZXh0KQotCi1kZWYgYWRkX3VpKGRiKToKLSAgICB4ID0geSA9IDUwCi0gICAgdyA9IDM3MAotICAgIGggPSAzMDAKLSAgICB0aXRsZSA9ICJbUHJvZHVjdE5hbWVdIFNldHVwIgotCi0gICAgIyBzZWUgIkRpYWxvZyBTdHlsZSBCaXRzIgotICAgIG1vZGFsID0gMyAgICAgICMgdmlzaWJsZSB8IG1vZGFsCi0gICAgbW9kZWxlc3MgPSAxICAgIyB2aXNpYmxlCi0gICAgdHJhY2tfZGlza19zcGFjZSA9IDMyCi0KLSAgICBhZGRfZGF0YShkYiwgJ0FjdGlvblRleHQnLCB1aXNhbXBsZS5BY3Rpb25UZXh0KQotICAgIGFkZF9kYXRhKGRiLCAnVUlUZXh0JywgdWlzYW1wbGUuVUlUZXh0KQotCi0gICAgIyBCaXRtYXBzCi0gICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKHNyY2RpcityIlxQQ1xweXRob25faWNvbi5leGUiKToKLSAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCJSdW4gaWNvbnMubWFrIGluIFBDIGRpcmVjdG9yeSIpCi0gICAgYWRkX2RhdGEoZGIsICJCaW5hcnkiLAotICAgICAgICAgICAgIFsoIlB5dGhvbldpbiIsIG1zaWxpYi5CaW5hcnkociIlc1xQQ2J1aWxkXGluc3RhbGxlci5ibXAiICUgc3JjZGlyKSksICMgMTUyeDMyOCBwaXhlbHMKLSAgICAgICAgICAgICAgKCJweS5pY28iLG1zaWxpYi5CaW5hcnkoc3JjZGlyK3IiXFBDXHB5LmljbyIpKSwKLSAgICAgICAgICAgICBdKQotICAgIGFkZF9kYXRhKGRiLCAiSWNvbiIsCi0gICAgICAgICAgICAgWygicHl0aG9uX2ljb24uZXhlIiwgbXNpbGliLkJpbmFyeShzcmNkaXIrciJcUENccHl0aG9uX2ljb24uZXhlIikpXSkKLQotICAgICMgU2NyaXB0cwotICAgICMgQ2hlY2tEaXIgc2V0cyBUYXJnZXRFeGlzdHMgaWYgVEFSR0VURElSIGV4aXN0cy4KLSAgICAjIFVwZGF0ZUVkaXRJRExFIHNldHMgdGhlIFJFR0lTVFJZLnRjbCBjb21wb25lbnQgaW50bwotICAgICMgdGhlIGluc3RhbGxlZC91bmluc3RhbGxlZCBzdGF0ZSBhY2NvcmRpbmcgdG8gYm90aCB0aGUKLSAgICAjIEV4dGVuc2lvbnMgYW5kIFRjbFRrIGZlYXR1cmVzLgotICAgIGFkZF9kYXRhKGRiLCAiQmluYXJ5IiwgWygiU2NyaXB0IiwgbXNpbGliLkJpbmFyeSgibXNpc3VwcG9ydC5kbGwiKSldKQotICAgICMgU2VlICJDdXN0b20gQWN0aW9uIFR5cGUgMSIKLSAgICBpZiBtc2lsaWIuV2luNjQ6Ci0gICAgICAgIENoZWNrRGlyID0gIkNoZWNrRGlyIgotICAgICAgICBVcGRhdGVFZGl0SURMRSA9ICJVcGRhdGVFZGl0SURMRSIKLSAgICBlbHNlOgotICAgICAgICBDaGVja0RpciA9ICAiX0NoZWNrRGlyQDQiCi0gICAgICAgIFVwZGF0ZUVkaXRJRExFID0gIl9VcGRhdGVFZGl0SURMRUA0IgotICAgIGFkZF9kYXRhKGRiLCAiQ3VzdG9tQWN0aW9uIiwKLSAgICAgICAgWygiQ2hlY2tEaXIiLCAxLCAiU2NyaXB0IiwgQ2hlY2tEaXIpXSkKLSAgICBpZiBoYXZlX3RjbDoKLSAgICAgICAgYWRkX2RhdGEoZGIsICJDdXN0b21BY3Rpb24iLAotICAgICAgICBbKCJVcGRhdGVFZGl0SURMRSIsIDEsICJTY3JpcHQiLCBVcGRhdGVFZGl0SURMRSldKQotCi0gICAgIyBVSSBjdXN0b21pemF0aW9uIHByb3BlcnRpZXMKLSAgICBhZGRfZGF0YShkYiwgIlByb3BlcnR5IiwKLSAgICAgICAgICAgICAjIFNlZSAiRGVmYXVsdFVJRm9udCBQcm9wZXJ0eSIKLSAgICAgICAgICAgICBbKCJEZWZhdWx0VUlGb250IiwgIkRsZ0ZvbnQ4IiksCi0gICAgICAgICAgICAgICMgU2VlICJFcnJvckRpYWxvZyBTdHlsZSBCaXQiCi0gICAgICAgICAgICAgICgiRXJyb3JEaWFsb2ciLCAiRXJyb3JEbGciKSwKLSAgICAgICAgICAgICAgKCJQcm9ncmVzczEiLCAiSW5zdGFsbCIpLCAgICMgbW9kaWZpZWQgaW4gbWFpbnRlbmFuY2UgdHlwZSBkbGcKLSAgICAgICAgICAgICAgKCJQcm9ncmVzczIiLCAiaW5zdGFsbHMiKSwKLSAgICAgICAgICAgICAgKCJNYWludGVuYW5jZUZvcm1fQWN0aW9uIiwgIlJlcGFpciIpXSkKLQotICAgICMgRm9udHMsIHNlZSAiVGV4dFN0eWxlIFRhYmxlIgotICAgIGFkZF9kYXRhKGRiLCAiVGV4dFN0eWxlIiwKLSAgICAgICAgICAgICBbKCJEbGdGb250OCIsICJUYWhvbWEiLCA5LCBOb25lLCAwKSwKLSAgICAgICAgICAgICAgKCJEbGdGb250Qm9sZDgiLCAiVGFob21hIiwgOCwgTm9uZSwgMSksICNib2xkCi0gICAgICAgICAgICAgICgiVmVyZGFuYUJvbGQxMCIsICJWZXJkYW5hIiwgMTAsIE5vbmUsIDEpLAotICAgICAgICAgICAgICAoIlZlcmRhbmFSZWQ5IiwgIlZlcmRhbmEiLCA5LCAyNTUsIDApLAotICAgICAgICAgICAgIF0pCi0KLSAgICBjb21waWxlYXJncyA9IHInLVdpICJbVEFSR0VURElSXUxpYlxjb21waWxlYWxsLnB5IiAtZiAteCAiYmFkX2NvZGluZ3xiYWRzeW50YXh8c2l0ZS1wYWNrYWdlc3xweTJffGxpYjJ0bzNcXHRlc3RzfHZlbnZcXHNjcmlwdHMiICJbVEFSR0VURElSXUxpYiInCi0gICAgbGliMnRvM2FyZ3MgPSByJy1jICJpbXBvcnQgbGliMnRvMy5weWdyYW0sIGxpYjJ0bzMucGF0Y29tcDtsaWIydG8zLnBhdGNvbXAuUGF0dGVybkNvbXBpbGVyKCkiJwotICAgIHVwZGF0ZXBpcGFyZ3MgPSByJy1tIGVuc3VyZXBpcCAtVSAtLWRlZmF1bHQtcGlwJwotICAgIHJlbW92ZXBpcGFyZ3MgPSByJy1CIC1tIGVuc3VyZXBpcC5fdW5pbnN0YWxsJwotICAgICMgU2VlICJDdXN0b21BY3Rpb24gVGFibGUiCi0gICAgYWRkX2RhdGEoZGIsICJDdXN0b21BY3Rpb24iLCBbCi0gICAgICAgICMgbXNpZGJDdXN0b21BY3Rpb25UeXBlRmlyc3RTZXF1ZW5jZSArIG1zaWRiQ3VzdG9tQWN0aW9uVHlwZVRleHREYXRhICsgbXNpZGJDdXN0b21BY3Rpb25UeXBlUHJvcGVydHkKLSAgICAgICAgIyBTZWUgIkN1c3RvbSBBY3Rpb24gVHlwZSA1MSIsCi0gICAgICAgICMgIkN1c3RvbSBBY3Rpb24gRXhlY3V0aW9uIFNjaGVkdWxpbmcgT3B0aW9ucyIKLSAgICAgICAgKCJJbml0aWFsVGFyZ2V0RGlyIiwgMzA3LCAiVEFSR0VURElSIiwKLSAgICAgICAgICJbV2luZG93c1ZvbHVtZV1QeXRob24lcyVzIiAlIChtYWpvciwgbWlub3IpKSwKLSAgICAgICAgKCJTZXRETExEaXJUb1RhcmdldCIsIDMwNywgIkRMTERJUiIsICJbVEFSR0VURElSXSIpLAotICAgICAgICAoIlNldERMTERpclRvU3lzdGVtMzIiLCAzMDcsICJETExESVIiLCBTeXN0ZW1Gb2xkZXJOYW1lKSwKLSAgICAgICAgKCJTZXRMYXVuY2hlckRpclRvVGFyZ2V0IiwgMzA3LCAiTEFVTkNIRVJESVIiLCAiW1RBUkdFVERJUl0iKSwKLSAgICAgICAgKCJTZXRMYXVuY2hlckRpclRvV2luZG93cyIsIDMwNywgIkxBVU5DSEVSRElSIiwgIltXaW5kb3dzRm9sZGVyXSIpLAotICAgICAgICAjIG1zaWRiQ3VzdG9tQWN0aW9uVHlwZUV4ZSArIG1zaWRiQ3VzdG9tQWN0aW9uVHlwZVNvdXJjZUZpbGUKLSAgICAgICAgIyBTZWUgIkN1c3RvbSBBY3Rpb24gVHlwZSAxOCIKLSAgICAgICAgIyBtc2lkYkN1c3RvbUFjdGlvblR5cGVJblNjcmlwdCAoMTAyNCk7IHJ1biBkdXJpbmcgYWN0dWFsIGluc3RhbGxhdGlvbgotICAgICAgICAjIG1zaWRiQ3VzdG9tQWN0aW9uVHlwZU5vSW1wZXJzb25hdGUgKDIwNDgpOyBydW4gYWN0aW9uIGluIHN5c3RlbSBhY2NvdW50LCBub3QgdXNlciBhY2NvdW50Ci0gICAgICAgICgiQ29tcGlsZVB5YyIsIDE4KzEwMjQrMjA0OCwgInB5dGhvbi5leGUiLCBjb21waWxlYXJncyksCi0gICAgICAgICgiQ29tcGlsZVB5byIsIDE4KzEwMjQrMjA0OCwgInB5dGhvbi5leGUiLCAiLU8gIitjb21waWxlYXJncyksCi0gICAgICAgICgiQ29tcGlsZUdyYW1tYXIiLCAxOCsxMDI0KzIwNDgsICJweXRob24uZXhlIiwgbGliMnRvM2FyZ3MpLAotICAgICAgICAoIlVwZGF0ZVBpcCIsIDE4KzEwMjQrMjA0OCwgInB5dGhvbi5leGUiLCB1cGRhdGVwaXBhcmdzKSwKLSAgICAgICAgKCJSZW1vdmVQaXAiLCAxOCsxMDI0KzIwNDgsICJweXRob24uZXhlIiwgcmVtb3ZlcGlwYXJncyksCi0gICAgICAgIF0pCi0KLSAgICAjIFVJIFNlcXVlbmNlcywgc2VlICJJbnN0YWxsVUlTZXF1ZW5jZSBUYWJsZSIsICJVc2luZyBhIFNlcXVlbmNlIFRhYmxlIgotICAgICMgTnVtYmVycyBpbmRpY2F0ZSBzZXF1ZW5jZTsgc2VlIHNlcXVlbmNlLnB5IGZvciBob3cgdGhlc2UgYWN0aW9uIGludGVncmF0ZQotICAgIGFkZF9kYXRhKGRiLCAiSW5zdGFsbFVJU2VxdWVuY2UiLAotICAgICAgICAgICAgIFsoIlByZXBhcmVEbGciLCAiTm90IFByaXZpbGVnZWQgb3IgV2luZG93czl4IG9yIEluc3RhbGxlZCIsIDE0MCksCi0gICAgICAgICAgICAgICgiV2hpY2hVc2Vyc0RsZyIsICJQcml2aWxlZ2VkIGFuZCBub3QgV2luZG93czl4IGFuZCBub3QgSW5zdGFsbGVkIiwgMTQxKSwKLSAgICAgICAgICAgICAgKCJJbml0aWFsVGFyZ2V0RGlyIiwgJ1RBUkdFVERJUj0iIicsIDc1MCksCi0gICAgICAgICAgICAgICMgSW4gdGhlIHVzZXIgaW50ZXJmYWNlLCBhc3N1bWUgYWxsLXVzZXJzIGluc3RhbGxhdGlvbiBpZiBwcml2aWxlZ2VkLgotICAgICAgICAgICAgICAoIlNldERMTERpclRvU3lzdGVtMzIiLCAnRExMRElSPSIiIGFuZCAnICsgc3lzMzJjb25kLCA3NTEpLAotICAgICAgICAgICAgICAoIlNldERMTERpclRvVGFyZ2V0IiwgJ0RMTERJUj0iIiBhbmQgbm90ICcgKyBzeXMzMmNvbmQsIDc1MiksCi0gICAgICAgICAgICAgICgiU2V0TGF1bmNoZXJEaXJUb1dpbmRvd3MiLCAnTEFVTkNIRVJESVI9IiIgYW5kICcgKyBzeXMzMmNvbmQsIDc1MyksCi0gICAgICAgICAgICAgICgiU2V0TGF1bmNoZXJEaXJUb1RhcmdldCIsICdMQVVOQ0hFUkRJUj0iIiBhbmQgbm90ICcgKyBzeXMzMmNvbmQsIDc1NCksCi0gICAgICAgICAgICAgICgiU2VsZWN0RGlyZWN0b3J5RGxnIiwgIk5vdCBJbnN0YWxsZWQiLCAxMjMwKSwKLSAgICAgICAgICAgICAgIyBYWFggbm8gc3VwcG9ydCBmb3IgcmVzdW1lIGluc3RhbGxhdGlvbnMgeWV0Ci0gICAgICAgICAgICAgICMoIlJlc3VtZURsZyIsICJJbnN0YWxsZWQgQU5EIChSRVNVTUUgT1IgUHJlc2VsZWN0ZWQpIiwgMTI0MCksCi0gICAgICAgICAgICAgICgiTWFpbnRlbmFuY2VUeXBlRGxnIiwgIkluc3RhbGxlZCBBTkQgTk9UIFJFU1VNRSBBTkQgTk9UIFByZXNlbGVjdGVkIiwgMTI1MCksCi0gICAgICAgICAgICAgICgiUHJvZ3Jlc3NEbGciLCBOb25lLCAxMjgwKV0pCi0gICAgYWRkX2RhdGEoZGIsICJBZG1pblVJU2VxdWVuY2UiLAotICAgICAgICAgICAgIFsoIkluaXRpYWxUYXJnZXREaXIiLCAnVEFSR0VURElSPSIiJywgNzUwKSwKLSAgICAgICAgICAgICAgKCJTZXRETExEaXJUb1RhcmdldCIsICdETExESVI9IiInLCA3NTEpLAotICAgICAgICAgICAgICAoIlNldExhdW5jaGVyRGlyVG9UYXJnZXQiLCAnTEFVTkNIRVJESVI9IiInLCA3NTIpLAotICAgICAgICAgICAgIF0pCi0KLSAgICAjIFByZXBlbmQgVEFSR0VURElSIHRvIHRoZSBzeXN0ZW0gcGF0aCwgYW5kIHJlbW92ZSBpdCBvbiB1bmluc3RhbGwuCi0gICAgYWRkX2RhdGEoZGIsICJFbnZpcm9ubWVudCIsCi0gICAgICAgICAgICAgWygiUGF0aEFkZGl0aW9uIiwgIj0tKlBhdGgiLCAiW1RBUkdFVERJUl07W1RBUkdFVERJUl1TY3JpcHRzO1t+XSIsICJSRUdJU1RSWS5wYXRoIildKQotCi0gICAgIyBFeGVjdXRlIFNlcXVlbmNlcwotICAgIGFkZF9kYXRhKGRiLCAiSW5zdGFsbEV4ZWN1dGVTZXF1ZW5jZSIsCi0gICAgICAgICAgICBbKCJJbml0aWFsVGFyZ2V0RGlyIiwgJ1RBUkdFVERJUj0iIicsIDc1MCksCi0gICAgICAgICAgICAgKCJTZXRETExEaXJUb1N5c3RlbTMyIiwgJ0RMTERJUj0iIiBhbmQgJyArIHN5czMyY29uZCwgNzUxKSwKLSAgICAgICAgICAgICAoIlNldERMTERpclRvVGFyZ2V0IiwgJ0RMTERJUj0iIiBhbmQgbm90ICcgKyBzeXMzMmNvbmQsIDc1MiksCi0gICAgICAgICAgICAgKCJTZXRMYXVuY2hlckRpclRvV2luZG93cyIsICdMQVVOQ0hFUkRJUj0iIiBhbmQgJyArIHN5czMyY29uZCwgNzUzKSwKLSAgICAgICAgICAgICAoIlNldExhdW5jaGVyRGlyVG9UYXJnZXQiLCAnTEFVTkNIRVJESVI9IiIgYW5kIG5vdCAnICsgc3lzMzJjb25kLCA3NTQpLAotICAgICAgICAgICAgICgiVXBkYXRlRWRpdElETEUiLCBOb25lLCAxMDUwKSwKLSAgICAgICAgICAgICAjIHJ1biBjb21tYW5kIGlmIGluc3RhbGwgc3RhdGUgb2YgcGlwIGNoYW5nZXMgdG8gSU5TVEFMTFNUQVRFX0xPQ0FMCi0gICAgICAgICAgICAgIyBydW4gYWZ0ZXIgSW5zdGFsbEZpbGVzCi0gICAgICAgICAgICAgKCJVcGRhdGVQaXAiLCAiJnBpcF9mZWF0dXJlPTMiLCA0MDAxKSwKLSAgICAgICAgICAgICAjIHJlbW92ZSBwaXAgd2hlbiBzdGF0ZSBjaGFuZ2VzIHRvIElOU1RBTExTVEFURV9BQlNFTlQKLSAgICAgICAgICAgICAjIHJ1biBiZWZvcmUgUmVtb3ZlRmlsZXMKLSAgICAgICAgICAgICAoIlJlbW92ZVBpcCIsICImcGlwX2ZlYXR1cmU9MiIsIDM0OTkpLAotICAgICAgICAgICAgICgiQ29tcGlsZVB5YyIsICJDT01QSUxFQUxMIiwgNDAwMiksCi0gICAgICAgICAgICAgKCJDb21waWxlUHlvIiwgIkNPTVBJTEVBTEwiLCA0MDAzKSwKLSAgICAgICAgICAgICAoIkNvbXBpbGVHcmFtbWFyIiwgIkNPTVBJTEVBTEwiLCA0MDA0KSwKLSAgICAgICAgICAgIF0pCi0gICAgYWRkX2RhdGEoZGIsICJBZG1pbkV4ZWN1dGVTZXF1ZW5jZSIsCi0gICAgICAgICAgICBbKCJJbml0aWFsVGFyZ2V0RGlyIiwgJ1RBUkdFVERJUj0iIicsIDc1MCksCi0gICAgICAgICAgICAgKCJTZXRETExEaXJUb1RhcmdldCIsICdETExESVI9IiInLCA3NTEpLAotICAgICAgICAgICAgICgiU2V0TGF1bmNoZXJEaXJUb1RhcmdldCIsICdMQVVOQ0hFUkRJUj0iIicsIDc1MiksCi0gICAgICAgICAgICBdKQotCi0gICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0gICAgIyBTdGFuZGFyZCBkaWFsb2dzOiBGYXRhbEVycm9yLCBVc2VyRXhpdCwgRXhpdERpYWxvZwotICAgIGZhdGFsPVB5RGlhbG9nKGRiLCAiRmF0YWxFcnJvciIsIHgsIHksIHcsIGgsIG1vZGFsLCB0aXRsZSwKLSAgICAgICAgICAgICAgICAgIkZpbmlzaCIsICJGaW5pc2giLCAiRmluaXNoIikKLSAgICBmYXRhbC50aXRsZSgiW1Byb2R1Y3ROYW1lXSBJbnN0YWxsZXIgZW5kZWQgcHJlbWF0dXJlbHkiKQotICAgIGZhdGFsLmJhY2soIjwgQmFjayIsICJGaW5pc2giLCBhY3RpdmUgPSAwKQotICAgIGZhdGFsLmNhbmNlbCgiQ2FuY2VsIiwgIkJhY2siLCBhY3RpdmUgPSAwKQotICAgIGZhdGFsLnRleHQoIkRlc2NyaXB0aW9uMSIsIDEzNSwgNzAsIDIyMCwgODAsIDB4MzAwMDMsCi0gICAgICAgICAgICAgICAiW1Byb2R1Y3ROYW1lXSBzZXR1cCBlbmRlZCBwcmVtYXR1cmVseSBiZWNhdXNlIG9mIGFuIGVycm9yLiAgWW91ciBzeXN0ZW0gaGFzIG5vdCBiZWVuIG1vZGlmaWVkLiAgVG8gaW5zdGFsbCB0aGlzIHByb2dyYW0gYXQgYSBsYXRlciB0aW1lLCBwbGVhc2UgcnVuIHRoZSBpbnN0YWxsYXRpb24gYWdhaW4uIikKLSAgICBmYXRhbC50ZXh0KCJEZXNjcmlwdGlvbjIiLCAxMzUsIDE1NSwgMjIwLCAyMCwgMHgzMDAwMywKLSAgICAgICAgICAgICAgICJDbGljayB0aGUgRmluaXNoIGJ1dHRvbiB0byBleGl0IHRoZSBJbnN0YWxsZXIuIikKLSAgICBjPWZhdGFsLm5leHQoIkZpbmlzaCIsICJDYW5jZWwiLCBuYW1lPSJGaW5pc2giKQotICAgICMgU2VlICJDb250cm9sRXZlbnQgVGFibGUiLiBQYXJhbWV0ZXJzIGFyZSB0aGUgZXZlbnQsIHRoZSBwYXJhbWV0ZXIKLSAgICAjIHRvIHRoZSBhY3Rpb24sIGFuZCBvcHRpb25hbGx5IHRoZSBjb25kaXRpb24gZm9yIHRoZSBldmVudCwgYW5kIHRoZSBvcmRlcgotICAgICMgb2YgZXZlbnRzLgotICAgIGMuZXZlbnQoIkVuZERpYWxvZyIsICJFeGl0IikKLQotICAgIHVzZXJfZXhpdD1QeURpYWxvZyhkYiwgIlVzZXJFeGl0IiwgeCwgeSwgdywgaCwgbW9kYWwsIHRpdGxlLAotICAgICAgICAgICAgICAgICAiRmluaXNoIiwgIkZpbmlzaCIsICJGaW5pc2giKQotICAgIHVzZXJfZXhpdC50aXRsZSgiW1Byb2R1Y3ROYW1lXSBJbnN0YWxsZXIgd2FzIGludGVycnVwdGVkIikKLSAgICB1c2VyX2V4aXQuYmFjaygiPCBCYWNrIiwgIkZpbmlzaCIsIGFjdGl2ZSA9IDApCi0gICAgdXNlcl9leGl0LmNhbmNlbCgiQ2FuY2VsIiwgIkJhY2siLCBhY3RpdmUgPSAwKQotICAgIHVzZXJfZXhpdC50ZXh0KCJEZXNjcmlwdGlvbjEiLCAxMzUsIDcwLCAyMjAsIDgwLCAweDMwMDAzLAotICAgICAgICAgICAgICAgIltQcm9kdWN0TmFtZV0gc2V0dXAgd2FzIGludGVycnVwdGVkLiAgWW91ciBzeXN0ZW0gaGFzIG5vdCBiZWVuIG1vZGlmaWVkLiAgIgotICAgICAgICAgICAgICAgIlRvIGluc3RhbGwgdGhpcyBwcm9ncmFtIGF0IGEgbGF0ZXIgdGltZSwgcGxlYXNlIHJ1biB0aGUgaW5zdGFsbGF0aW9uIGFnYWluLiIpCi0gICAgdXNlcl9leGl0LnRleHQoIkRlc2NyaXB0aW9uMiIsIDEzNSwgMTU1LCAyMjAsIDIwLCAweDMwMDAzLAotICAgICAgICAgICAgICAgIkNsaWNrIHRoZSBGaW5pc2ggYnV0dG9uIHRvIGV4aXQgdGhlIEluc3RhbGxlci4iKQotICAgIGMgPSB1c2VyX2V4aXQubmV4dCgiRmluaXNoIiwgIkNhbmNlbCIsIG5hbWU9IkZpbmlzaCIpCi0gICAgYy5ldmVudCgiRW5kRGlhbG9nIiwgIkV4aXQiKQotCi0gICAgZXhpdF9kaWFsb2cgPSBQeURpYWxvZyhkYiwgIkV4aXREaWFsb2ciLCB4LCB5LCB3LCBoLCBtb2RhbCwgdGl0bGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIkZpbmlzaCIsICJGaW5pc2giLCAiRmluaXNoIikKLSAgICBleGl0X2RpYWxvZy50aXRsZSgiQ29tcGxldGUgdGhlIFtQcm9kdWN0TmFtZV0gSW5zdGFsbGVyIikKLSAgICBleGl0X2RpYWxvZy5iYWNrKCI8IEJhY2siLCAiRmluaXNoIiwgYWN0aXZlID0gMCkKLSAgICBleGl0X2RpYWxvZy5jYW5jZWwoIkNhbmNlbCIsICJCYWNrIiwgYWN0aXZlID0gMCkKLSAgICBleGl0X2RpYWxvZy50ZXh0KCJBY2tub3dsZWRnZW1lbnRzIiwgMTM1LCA5NSwgMjIwLCAxMjAsIDB4MzAwMDMsCi0gICAgICAiU3BlY2lhbCBXaW5kb3dzIHRoYW5rcyB0bzpcbiIKLSAgICAgICIgICAgTWFyayBIYW1tb25kLCB3aXRob3V0IHdob3NlIHllYXJzIG9mIGZyZWVseSBcbiIKLSAgICAgICIgICAgc2hhcmVkIFdpbmRvd3MgZXhwZXJ0aXNlLCBQeXRob24gZm9yIFdpbmRvd3MgXG4iCi0gICAgICAiICAgIHdvdWxkIHN0aWxsIGJlIFB5dGhvbiBmb3IgRE9TLiIpCi0KLSAgICBjID0gZXhpdF9kaWFsb2cudGV4dCgid2FybmluZyIsIDEzNSwgMjAwLCAyMjAsIDQwLCAweDMwMDAzLAotICAgICAgICAgICAgIntcXFZlcmRhbmFSZWQ5fVdhcm5pbmc6IFB5dGhvbiAyLjUueCBpcyB0aGUgbGFzdCAiCi0gICAgICAgICAgICAiUHl0aG9uIHJlbGVhc2UgZm9yIFdpbmRvd3MgOXguIikKLSAgICBjLmNvbmRpdGlvbigiSGlkZSIsICJOT1QgVmVyc2lvbjlYIikKLQotICAgIGV4aXRfZGlhbG9nLnRleHQoIkRlc2NyaXB0aW9uIiwgMTM1LCAyMzUsIDIyMCwgMjAsIDB4MzAwMDMsCi0gICAgICAgICAgICAgICAiQ2xpY2sgdGhlIEZpbmlzaCBidXR0b24gdG8gZXhpdCB0aGUgSW5zdGFsbGVyLiIpCi0gICAgYyA9IGV4aXRfZGlhbG9nLm5leHQoIkZpbmlzaCIsICJDYW5jZWwiLCBuYW1lPSJGaW5pc2giKQotICAgIGMuZXZlbnQoIkVuZERpYWxvZyIsICJSZXR1cm4iKQotCi0gICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0gICAgIyBSZXF1aXJlZCBkaWFsb2c6IEZpbGVzSW5Vc2UsIEVycm9yRGxnCi0gICAgaW51c2UgPSBQeURpYWxvZyhkYiwgIkZpbGVzSW5Vc2UiLAotICAgICAgICAgICAgICAgICAgICAgeCwgeSwgdywgaCwKLSAgICAgICAgICAgICAgICAgICAgIDE5LCAgICAgICAgICAgICAgICAjIEtlZXBNb2RlbGVzc3xNb2RhbHxWaXNpYmxlCi0gICAgICAgICAgICAgICAgICAgICB0aXRsZSwKLSAgICAgICAgICAgICAgICAgICAgICJSZXRyeSIsICJSZXRyeSIsICJSZXRyeSIsIGJpdG1hcD1GYWxzZSkKLSAgICBpbnVzZS50ZXh0KCJUaXRsZSIsIDE1LCA2LCAyMDAsIDE1LCAweDMwMDAzLAotICAgICAgICAgICAgICAgciJ7XERsZ0ZvbnRCb2xkOH1GaWxlcyBpbiBVc2UiKQotICAgIGludXNlLnRleHQoIkRlc2NyaXB0aW9uIiwgMjAsIDIzLCAyODAsIDIwLCAweDMwMDAzLAotICAgICAgICAgICAgICAgIlNvbWUgZmlsZXMgdGhhdCBuZWVkIHRvIGJlIHVwZGF0ZWQgYXJlIGN1cnJlbnRseSBpbiB1c2UuIikKLSAgICBpbnVzZS50ZXh0KCJUZXh0IiwgMjAsIDU1LCAzMzAsIDUwLCAzLAotICAgICAgICAgICAgICAgIlRoZSBmb2xsb3dpbmcgYXBwbGljYXRpb25zIGFyZSB1c2luZyBmaWxlcyB0aGF0IG5lZWQgdG8gYmUgdXBkYXRlZCBieSB0aGlzIHNldHVwLiBDbG9zZSB0aGVzZSBhcHBsaWNhdGlvbnMgYW5kIHRoZW4gY2xpY2sgUmV0cnkgdG8gY29udGludWUgdGhlIGluc3RhbGxhdGlvbiBvciBDYW5jZWwgdG8gZXhpdCBpdC4iKQotICAgIGludXNlLmNvbnRyb2woIkxpc3QiLCAiTGlzdEJveCIsIDIwLCAxMDcsIDMzMCwgMTMwLCA3LCAiRmlsZUluVXNlUHJvY2VzcyIsCi0gICAgICAgICAgICAgICAgICBOb25lLCBOb25lLCBOb25lKQotICAgIGM9aW51c2UuYmFjaygiRXhpdCIsICJJZ25vcmUiLCBuYW1lPSJFeGl0IikKLSAgICBjLmV2ZW50KCJFbmREaWFsb2ciLCAiRXhpdCIpCi0gICAgYz1pbnVzZS5uZXh0KCJJZ25vcmUiLCAiUmV0cnkiLCBuYW1lPSJJZ25vcmUiKQotICAgIGMuZXZlbnQoIkVuZERpYWxvZyIsICJJZ25vcmUiKQotICAgIGM9aW51c2UuY2FuY2VsKCJSZXRyeSIsICJFeGl0IiwgbmFtZT0iUmV0cnkiKQotICAgIGMuZXZlbnQoIkVuZERpYWxvZyIsIlJldHJ5IikKLQotCi0gICAgIyBTZWUgIkVycm9yIERpYWxvZyIuIFNlZSAiSUNFMjAiIGZvciB0aGUgcmVxdWlyZWQgbmFtZXMgb2YgdGhlIGNvbnRyb2xzLgotICAgIGVycm9yID0gRGlhbG9nKGRiLCAiRXJyb3JEbGciLAotICAgICAgICAgICAgICAgICAgIDUwLCAxMCwgMzMwLCAxMDEsCi0gICAgICAgICAgICAgICAgICAgNjU1NDMsICAgICAgICMgRXJyb3J8TWluaW1pemV8TW9kYWx8VmlzaWJsZQotICAgICAgICAgICAgICAgICAgIHRpdGxlLAotICAgICAgICAgICAgICAgICAgICJFcnJvclRleHQiLCBOb25lLCBOb25lKQotICAgIGVycm9yLnRleHQoIkVycm9yVGV4dCIsIDUwLDksMjgwLDQ4LDMsICIiKQotICAgIGVycm9yLmNvbnRyb2woIkVycm9ySWNvbiIsICJJY29uIiwgMTUsIDksIDI0LCAyNCwgNTI0Mjg4MSwgTm9uZSwgInB5LmljbyIsIE5vbmUsIE5vbmUpCi0gICAgZXJyb3IucHVzaGJ1dHRvbigiTiIsMTIwLDcyLDgxLDIxLDMsIk5vIixOb25lKS5ldmVudCgiRW5kRGlhbG9nIiwiRXJyb3JObyIpCi0gICAgZXJyb3IucHVzaGJ1dHRvbigiWSIsMjQwLDcyLDgxLDIxLDMsIlllcyIsTm9uZSkuZXZlbnQoIkVuZERpYWxvZyIsIkVycm9yWWVzIikKLSAgICBlcnJvci5wdXNoYnV0dG9uKCJBIiwwLDcyLDgxLDIxLDMsIkFib3J0IixOb25lKS5ldmVudCgiRW5kRGlhbG9nIiwiRXJyb3JBYm9ydCIpCi0gICAgZXJyb3IucHVzaGJ1dHRvbigiQyIsNDIsNzIsODEsMjEsMywiQ2FuY2VsIixOb25lKS5ldmVudCgiRW5kRGlhbG9nIiwiRXJyb3JDYW5jZWwiKQotICAgIGVycm9yLnB1c2hidXR0b24oIkkiLDgxLDcyLDgxLDIxLDMsIklnbm9yZSIsTm9uZSkuZXZlbnQoIkVuZERpYWxvZyIsIkVycm9ySWdub3JlIikKLSAgICBlcnJvci5wdXNoYnV0dG9uKCJPIiwxNTksNzIsODEsMjEsMywiT2siLE5vbmUpLmV2ZW50KCJFbmREaWFsb2ciLCJFcnJvck9rIikKLSAgICBlcnJvci5wdXNoYnV0dG9uKCJSIiwxOTgsNzIsODEsMjEsMywiUmV0cnkiLE5vbmUpLmV2ZW50KCJFbmREaWFsb2ciLCJFcnJvclJldHJ5IikKLQotICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotICAgICMgR2xvYmFsICJRdWVyeSBDYW5jZWwiIGRpYWxvZwotICAgIGNhbmNlbCA9IERpYWxvZyhkYiwgIkNhbmNlbERsZyIsIDUwLCAxMCwgMjYwLCA4NSwgMywgdGl0bGUsCi0gICAgICAgICAgICAgICAgICAgICJObyIsICJObyIsICJObyIpCi0gICAgY2FuY2VsLnRleHQoIlRleHQiLCA0OCwgMTUsIDE5NCwgMzAsIDMsCi0gICAgICAgICAgICAgICAgIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBjYW5jZWwgW1Byb2R1Y3ROYW1lXSBpbnN0YWxsYXRpb24/IikKLSAgICBjYW5jZWwuY29udHJvbCgiSWNvbiIsICJJY29uIiwgMTUsIDE1LCAyNCwgMjQsIDUyNDI4ODEsIE5vbmUsCi0gICAgICAgICAgICAgICAgICAgInB5LmljbyIsIE5vbmUsIE5vbmUpCi0gICAgYz1jYW5jZWwucHVzaGJ1dHRvbigiWWVzIiwgNzIsIDU3LCA1NiwgMTcsIDMsICJZZXMiLCAiTm8iKQotICAgIGMuZXZlbnQoIkVuZERpYWxvZyIsICJFeGl0IikKLQotICAgIGM9Y2FuY2VsLnB1c2hidXR0b24oIk5vIiwgMTMyLCA1NywgNTYsIDE3LCAzLCAiTm8iLCAiWWVzIikKLSAgICBjLmV2ZW50KCJFbmREaWFsb2ciLCAiUmV0dXJuIikKLQotICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotICAgICMgR2xvYmFsICJXYWl0IGZvciBjb3N0aW5nIiBkaWFsb2cKLSAgICBjb3N0aW5nID0gRGlhbG9nKGRiLCAiV2FpdEZvckNvc3RpbmdEbGciLCA1MCwgMTAsIDI2MCwgODUsIG1vZGFsLCB0aXRsZSwKLSAgICAgICAgICAgICAgICAgICAgICJSZXR1cm4iLCAiUmV0dXJuIiwgIlJldHVybiIpCi0gICAgY29zdGluZy50ZXh0KCJUZXh0IiwgNDgsIDE1LCAxOTQsIDMwLCAzLAotICAgICAgICAgICAgICAgICAiUGxlYXNlIHdhaXQgd2hpbGUgdGhlIGluc3RhbGxlciBmaW5pc2hlcyBkZXRlcm1pbmluZyB5b3VyIGRpc2sgc3BhY2UgcmVxdWlyZW1lbnRzLiIpCi0gICAgY29zdGluZy5jb250cm9sKCJJY29uIiwgIkljb24iLCAxNSwgMTUsIDI0LCAyNCwgNTI0Mjg4MSwgTm9uZSwKLSAgICAgICAgICAgICAgICAgICAgInB5LmljbyIsIE5vbmUsIE5vbmUpCi0gICAgYyA9IGNvc3RpbmcucHVzaGJ1dHRvbigiUmV0dXJuIiwgMTAyLCA1NywgNTYsIDE3LCAzLCAiUmV0dXJuIiwgTm9uZSkKLSAgICBjLmV2ZW50KCJFbmREaWFsb2ciLCAiRXhpdCIpCi0KLSAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSAgICAjIFByZXBhcmF0aW9uIGRpYWxvZzogbm8gdXNlciBpbnB1dCBleGNlcHQgY2FuY2VsbGF0aW9uCi0gICAgcHJlcCA9IFB5RGlhbG9nKGRiLCAiUHJlcGFyZURsZyIsIHgsIHksIHcsIGgsIG1vZGVsZXNzLCB0aXRsZSwKLSAgICAgICAgICAgICAgICAgICAgIkNhbmNlbCIsICJDYW5jZWwiLCAiQ2FuY2VsIikKLSAgICBwcmVwLnRleHQoIkRlc2NyaXB0aW9uIiwgMTM1LCA3MCwgMjIwLCA0MCwgMHgzMDAwMywKLSAgICAgICAgICAgICAgIlBsZWFzZSB3YWl0IHdoaWxlIHRoZSBJbnN0YWxsZXIgcHJlcGFyZXMgdG8gZ3VpZGUgeW91IHRocm91Z2ggdGhlIGluc3RhbGxhdGlvbi4iKQotICAgIHByZXAudGl0bGUoIldlbGNvbWUgdG8gdGhlIFtQcm9kdWN0TmFtZV0gSW5zdGFsbGVyIikKLSAgICBjPXByZXAudGV4dCgiQWN0aW9uVGV4dCIsIDEzNSwgMTEwLCAyMjAsIDIwLCAweDMwMDAzLCAiUG9uZGVyaW5nLi4uIikKLSAgICBjLm1hcHBpbmcoIkFjdGlvblRleHQiLCAiVGV4dCIpCi0gICAgYz1wcmVwLnRleHQoIkFjdGlvbkRhdGEiLCAxMzUsIDEzNSwgMjIwLCAzMCwgMHgzMDAwMywgTm9uZSkKLSAgICBjLm1hcHBpbmcoIkFjdGlvbkRhdGEiLCAiVGV4dCIpCi0gICAgcHJlcC5iYWNrKCJCYWNrIiwgTm9uZSwgYWN0aXZlPTApCi0gICAgcHJlcC5uZXh0KCJOZXh0IiwgTm9uZSwgYWN0aXZlPTApCi0gICAgYz1wcmVwLmNhbmNlbCgiQ2FuY2VsIiwgTm9uZSkKLSAgICBjLmV2ZW50KCJTcGF3bkRpYWxvZyIsICJDYW5jZWxEbGciKQotCi0gICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0gICAgIyBUYXJnZXQgZGlyZWN0b3J5IHNlbGVjdGlvbgotICAgIHNlbGRsZyA9IFB5RGlhbG9nKGRiLCAiU2VsZWN0RGlyZWN0b3J5RGxnIiwgeCwgeSwgdywgaCwgbW9kYWwsIHRpdGxlLAotICAgICAgICAgICAgICAgICAgICAiTmV4dCIsICJOZXh0IiwgIkNhbmNlbCIpCi0gICAgc2VsZGxnLnRpdGxlKCJTZWxlY3QgRGVzdGluYXRpb24gRGlyZWN0b3J5IikKLSAgICBjID0gc2VsZGxnLnRleHQoIkV4aXN0aW5nIiwgMTM1LCAyNSwgMjM1LCAzMCwgMHgzMDAwMywKLSAgICAgICAgICAgICAgICAgICAgIntcVmVyZGFuYVJlZDl9VGhpcyB1cGRhdGUgd2lsbCByZXBsYWNlIHlvdXIgZXhpc3RpbmcgW1Byb2R1Y3RMaW5lXSBpbnN0YWxsYXRpb24uIikKLSAgICBjLmNvbmRpdGlvbigiSGlkZSIsICdSRU1PVkVPTERWRVJTSU9OPSIiIGFuZCBSRU1PVkVPTERTTkFQU0hPVD0iIicpCi0gICAgc2VsZGxnLnRleHQoIkRlc2NyaXB0aW9uIiwgMTM1LCA1MCwgMjIwLCA0MCwgMHgzMDAwMywKLSAgICAgICAgICAgICAgICJQbGVhc2Ugc2VsZWN0IGEgZGlyZWN0b3J5IGZvciB0aGUgW1Byb2R1Y3ROYW1lXSBmaWxlcy4iKQotCi0gICAgc2VsZGxnLmJhY2soIjwgQmFjayIsIE5vbmUsIGFjdGl2ZT0wKQotICAgIGMgPSBzZWxkbGcubmV4dCgiTmV4dCA+IiwgIkNhbmNlbCIpCi0gICAgYy5ldmVudCgiRG9BY3Rpb24iLCAiQ2hlY2tEaXIiLCAiVGFyZ2V0RXhpc3RzT2s8PjEiLCBvcmRlcj0xKQotICAgICMgSWYgdGhlIHRhcmdldCBleGlzdHMsIGJ1dCB3ZSBmb3VuZCB0aGF0IHdlIGFyZSBnb2luZyB0byByZW1vdmUgb2xkIHZlcnNpb25zLCBkb24ndCBib3RoZXIKLSAgICAjIGNvbmZpcm1pbmcgdGhhdCB0aGUgdGFyZ2V0IGRpcmVjdG9yeSBleGlzdHMuIFN0cmljdGx5IHNwZWFraW5nLCB3ZSBzaG91bGQgZGV0ZXJtaW5lIHRoYXQKLSAgICAjIHRoZSB0YXJnZXQgZGlyZWN0b3J5IGlzIGluZGVlZCB0aGUgdGFyZ2V0IG9mIHRoZSBwcm9kdWN0IHRoYXQgd2UgYXJlIGdvaW5nIHRvIHJlbW92ZSwgYnV0Ci0gICAgIyBJIGRvbid0IGtub3cgaG93IHRvIGRvIHRoYXQuCi0gICAgYy5ldmVudCgiU3Bhd25EaWFsb2ciLCAiRXhpc3RpbmdEaXJlY3RvcnlEbGciLCAnVGFyZ2V0RXhpc3RzPTEgYW5kIFJFTU9WRU9MRFZFUlNJT049IiIgYW5kIFJFTU9WRU9MRFNOQVBTSE9UPSIiJywgMikKLSAgICBjLmV2ZW50KCJTZXRUYXJnZXRQYXRoIiwgIlRBUkdFVERJUiIsICdUYXJnZXRFeGlzdHM9MCBvciBSRU1PVkVPTERWRVJTSU9OPD4iIiBvciBSRU1PVkVPTERTTkFQU0hPVDw+IiInLCAzKQotICAgIGMuZXZlbnQoIlNwYXduV2FpdERpYWxvZyIsICJXYWl0Rm9yQ29zdGluZ0RsZyIsICJDb3N0aW5nQ29tcGxldGU9MSIsIDQpCi0gICAgYy5ldmVudCgiTmV3RGlhbG9nIiwgIlNlbGVjdEZlYXR1cmVzRGxnIiwgJ1RhcmdldEV4aXN0cz0wIG9yIFJFTU9WRU9MRFZFUlNJT048PiIiIG9yIFJFTU9WRU9MRFNOQVBTSE9UPD4iIicsIDUpCi0KLSAgICBjID0gc2VsZGxnLmNhbmNlbCgiQ2FuY2VsIiwgIkRpcmVjdG9yeUNvbWJvIikKLSAgICBjLmV2ZW50KCJTcGF3bkRpYWxvZyIsICJDYW5jZWxEbGciKQotCi0gICAgc2VsZGxnLmNvbnRyb2woIkRpcmVjdG9yeUNvbWJvIiwgIkRpcmVjdG9yeUNvbWJvIiwgMTM1LCA3MCwgMTcyLCA4MCwgMzkzMjE5LAotICAgICAgICAgICAgICAgICAgICJUQVJHRVRESVIiLCBOb25lLCAiRGlyZWN0b3J5TGlzdCIsIE5vbmUpCi0gICAgc2VsZGxnLmNvbnRyb2woIkRpcmVjdG9yeUxpc3QiLCAiRGlyZWN0b3J5TGlzdCIsIDEzNSwgOTAsIDIwOCwgMTM2LCAzLCAiVEFSR0VURElSIiwKLSAgICAgICAgICAgICAgICAgICBOb25lLCAiUGF0aEVkaXQiLCBOb25lKQotICAgIHNlbGRsZy5jb250cm9sKCJQYXRoRWRpdCIsICJQYXRoRWRpdCIsIDEzNSwgMjMwLCAyMDYsIDE2LCAzLCAiVEFSR0VURElSIiwgTm9uZSwgIk5leHQiLCBOb25lKQotICAgIGMgPSBzZWxkbGcucHVzaGJ1dHRvbigiVXAiLCAzMDYsIDcwLCAxOCwgMTgsIDMsICJVcCIsIE5vbmUpCi0gICAgYy5ldmVudCgiRGlyZWN0b3J5TGlzdFVwIiwgIjAiKQotICAgIGMgPSBzZWxkbGcucHVzaGJ1dHRvbigiTmV3RGlyIiwgMzI0LCA3MCwgMzAsIDE4LCAzLCAiTmV3IiwgTm9uZSkKLSAgICBjLmV2ZW50KCJEaXJlY3RvcnlMaXN0TmV3IiwgIjAiKQotCi0gICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0gICAgIyBTZWxlY3RGZWF0dXJlc0RsZwotICAgIGZlYXR1cmVzID0gUHlEaWFsb2coZGIsICJTZWxlY3RGZWF0dXJlc0RsZyIsIHgsIHksIHcsIGgsIG1vZGFsfHRyYWNrX2Rpc2tfc3BhY2UsCi0gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZSwgIlRyZWUiLCAiTmV4dCIsICJDYW5jZWwiKQotICAgIGZlYXR1cmVzLnRpdGxlKCJDdXN0b21pemUgW1Byb2R1Y3ROYW1lXSIpCi0gICAgZmVhdHVyZXMudGV4dCgiRGVzY3JpcHRpb24iLCAxMzUsIDM1LCAyMjAsIDE1LCAweDMwMDAzLAotICAgICAgICAgICAgICAgICAgIlNlbGVjdCB0aGUgd2F5IHlvdSB3YW50IGZlYXR1cmVzIHRvIGJlIGluc3RhbGxlZC4iKQotICAgIGZlYXR1cmVzLnRleHQoIlRleHQiLCAxMzUsNDUsMjIwLDMwLCAzLAotICAgICAgICAgICAgICAgICAgIkNsaWNrIG9uIHRoZSBpY29ucyBpbiB0aGUgdHJlZSBiZWxvdyB0byBjaGFuZ2UgdGhlIHdheSBmZWF0dXJlcyB3aWxsIGJlIGluc3RhbGxlZC4iKQotCi0gICAgYz1mZWF0dXJlcy5iYWNrKCI8IEJhY2siLCAiTmV4dCIpCi0gICAgYy5ldmVudCgiTmV3RGlhbG9nIiwgIlNlbGVjdERpcmVjdG9yeURsZyIpCi0KLSAgICBjPWZlYXR1cmVzLm5leHQoIk5leHQgPiIsICJDYW5jZWwiKQotICAgIGMubWFwcGluZygiU2VsZWN0aW9uTm9JdGVtcyIsICJFbmFibGVkIikKLSAgICBjLmV2ZW50KCJTcGF3bkRpYWxvZyIsICJEaXNrQ29zdERsZyIsICJPdXRPZkRpc2tTcGFjZT0xIiwgb3JkZXI9MSkKLSAgICBjLmV2ZW50KCJFbmREaWFsb2ciLCAiUmV0dXJuIiwgIk91dE9mRGlza1NwYWNlPD4xIiwgb3JkZXI9MikKLQotICAgIGM9ZmVhdHVyZXMuY2FuY2VsKCJDYW5jZWwiLCAiVHJlZSIpCi0gICAgYy5ldmVudCgiU3Bhd25EaWFsb2ciLCAiQ2FuY2VsRGxnIikKLQotICAgICMgVGhlIGJyb3dzZSBwcm9wZXJ0eSBpcyBub3QgdXNlZCwgc2luY2Ugd2UgaGF2ZSBvbmx5IGEgc2luZ2xlIHRhcmdldCBwYXRoIChzZWxlY3RlZCBhbHJlYWR5KQotICAgIGZlYXR1cmVzLmNvbnRyb2woIlRyZWUiLCAiU2VsZWN0aW9uVHJlZSIsIDEzNSwgNzUsIDIyMCwgOTUsIDcsICJfQnJvd3NlUHJvcGVydHkiLAotICAgICAgICAgICAgICAgICAgICAgIlRyZWUgb2Ygc2VsZWN0aW9ucyIsICJCYWNrIiwgTm9uZSkKLQotICAgICNjPWZlYXR1cmVzLnB1c2hidXR0b24oIlJlc2V0IiwgNDIsIDI0MywgNTYsIDE3LCAzLCAiUmVzZXQiLCAiRGlza0Nvc3QiKQotICAgICNjLm1hcHBpbmcoIlNlbGVjdGlvbk5vSXRlbXMiLCAiRW5hYmxlZCIpCi0gICAgI2MuZXZlbnQoIlJlc2V0IiwgIjAiKQotCi0gICAgZmVhdHVyZXMuY29udHJvbCgiQm94IiwgIkdyb3VwQm94IiwgMTM1LCAxNzAsIDIyNSwgOTAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpCi0KLSAgICBjPWZlYXR1cmVzLnhidXR0b24oIkRpc2tDb3N0IiwgIkRpc2sgJlVzYWdlIiwgTm9uZSwgMC4xMCkKLSAgICBjLm1hcHBpbmcoIlNlbGVjdGlvbk5vSXRlbXMiLCJFbmFibGVkIikKLSAgICBjLmV2ZW50KCJTcGF3bkRpYWxvZyIsICJEaXNrQ29zdERsZyIpCi0KLSAgICBjPWZlYXR1cmVzLnhidXR0b24oIkFkdmFuY2VkIiwgIkFkdmFuY2VkIiwgTm9uZSwgMC4zMCkKLSAgICBjLmV2ZW50KCJTcGF3bkRpYWxvZyIsICJBZHZhbmNlZERsZyIpCi0KLSAgICBjPWZlYXR1cmVzLnRleHQoIkl0ZW1EZXNjcmlwdGlvbiIsIDE0MCwgMTgwLCAyMTAsIDQwLCAzLAotICAgICAgICAgICAgICAgICAgIk11bHRpbGluZSBkZXNjcmlwdGlvbiBvZiB0aGUgY3VycmVudGx5IHNlbGVjdGVkIGl0ZW0uIikKLSAgICBjLm1hcHBpbmcoIlNlbGVjdGlvbkRlc2NyaXB0aW9uIiwiVGV4dCIpCi0KLSAgICBjPWZlYXR1cmVzLnRleHQoIkl0ZW1TaXplIiwgMTQwLCAyMjUsIDIxMCwgMzMsIDMsCi0gICAgICAgICAgICAgICAgICAgICJUaGUgc2l6ZSBvZiB0aGUgY3VycmVudGx5IHNlbGVjdGVkIGl0ZW0uIikKLSAgICBjLm1hcHBpbmcoIlNlbGVjdGlvblNpemUiLCAiVGV4dCIpCi0KLSAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSAgICAjIERpc2sgY29zdAotICAgIGNvc3QgPSBQeURpYWxvZyhkYiwgIkRpc2tDb3N0RGxnIiwgeCwgeSwgdywgaCwgbW9kYWwsIHRpdGxlLAotICAgICAgICAgICAgICAgICAgICAiT0siLCAiT0siLCAiT0siLCBiaXRtYXA9RmFsc2UpCi0gICAgY29zdC50ZXh0KCJUaXRsZSIsIDE1LCA2LCAyMDAsIDE1LCAweDMwMDAzLAotICAgICAgICAgICAgICAie1xEbGdGb250Qm9sZDh9RGlzayBTcGFjZSBSZXF1aXJlbWVudHMiKQotICAgIGNvc3QudGV4dCgiRGVzY3JpcHRpb24iLCAyMCwgMjAsIDI4MCwgMjAsIDB4MzAwMDMsCi0gICAgICAgICAgICAgICJUaGUgZGlzayBzcGFjZSByZXF1aXJlZCBmb3IgdGhlIGluc3RhbGxhdGlvbiBvZiB0aGUgc2VsZWN0ZWQgZmVhdHVyZXMuIikKLSAgICBjb3N0LnRleHQoIlRleHQiLCAyMCwgNTMsIDMzMCwgNjAsIDMsCi0gICAgICAgICAgICAgICJUaGUgaGlnaGxpZ2h0ZWQgdm9sdW1lcyAoaWYgYW55KSBkbyBub3QgaGF2ZSBlbm91Z2ggZGlzayBzcGFjZSAiCi0gICAgICAgICAgICAgICJhdmFpbGFibGUgZm9yIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgZmVhdHVyZXMuICBZb3UgY2FuIGVpdGhlciAiCi0gICAgICAgICAgICAgICJyZW1vdmUgc29tZSBmaWxlcyBmcm9tIHRoZSBoaWdobGlnaHRlZCB2b2x1bWVzLCBvciBjaG9vc2UgdG8gIgotICAgICAgICAgICAgICAiaW5zdGFsbCBsZXNzIGZlYXR1cmVzIG9udG8gbG9jYWwgZHJpdmUocyksIG9yIHNlbGVjdCBkaWZmZXJlbnQgIgotICAgICAgICAgICAgICAiZGVzdGluYXRpb24gZHJpdmUocykuIikKLSAgICBjb3N0LmNvbnRyb2woIlZvbHVtZUxpc3QiLCAiVm9sdW1lQ29zdExpc3QiLCAyMCwgMTAwLCAzMzAsIDE1MCwgMzkzMjIzLAotICAgICAgICAgICAgICAgICBOb25lLCAiezEyMH17NzB9ezcwfXs3MH17NzB9IiwgTm9uZSwgTm9uZSkKLSAgICBjb3N0LnhidXR0b24oIk9LIiwgIk9rIiwgTm9uZSwgMC41KS5ldmVudCgiRW5kRGlhbG9nIiwgIlJldHVybiIpCi0KLSAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSAgICAjIFdoaWNoVXNlcnMgRGlhbG9nLiBPbmx5IGF2YWlsYWJsZSBvbiBOVCwgYW5kIGZvciBwcml2aWxlZ2VkIHVzZXJzLgotICAgICMgVGhpcyBtdXN0IGJlIHJ1biBiZWZvcmUgRmluZFJlbGF0ZWRQcm9kdWN0cywgYmVjYXVzZSB0aGF0IHdpbGwKLSAgICAjIHRha2UgaW50byBhY2NvdW50IHdoZXRoZXIgdGhlIHByZXZpb3VzIGluc3RhbGxhdGlvbiB3YXMgcGVyLXVzZXIKLSAgICAjIG9yIHBlci1tYWNoaW5lLiBXZSBjdXJyZW50bHkgZG9uJ3Qgc3VwcG9ydCBnb2luZyBiYWNrIHRvIHRoaXMKLSAgICAjIGRpYWxvZyBhZnRlciAiTmV4dCIgd2FzIHNlbGVjdGVkOyB0byBzdXBwb3J0IHRoaXMsIHdlIHdvdWxkIG5lZWQgdG8KLSAgICAjIGZpbmQgaG93IHRvIHJlc2V0IHRoZSBBTExVU0VSUyBwcm9wZXJ0eSwgYW5kIGhvdyB0byByZS1ydW4KLSAgICAjIEZpbmRSZWxhdGVkUHJvZHVjdHMuCi0gICAgIyBPbiBXaW5kb3dzOXgsIHRoZSBBTExVU0VSUyBwcm9wZXJ0eSBpcyBpZ25vcmVkIG9uIHRoZSBjb21tYW5kIGxpbmUKLSAgICAjIGFuZCBpbiB0aGUgUHJvcGVydHkgdGFibGUsIGJ1dCBpbnN0YWxsZXIgZmFpbHMgYWNjb3JkaW5nIHRvIHRoZSBkb2N1bWVudGF0aW9uCi0gICAgIyBpZiBhIGRpYWxvZyBhdHRlbXB0cyB0byBzZXQgQUxMVVNFUlMuCi0gICAgd2hpY2h1c2VycyA9IFB5RGlhbG9nKGRiLCAiV2hpY2hVc2Vyc0RsZyIsIHgsIHksIHcsIGgsIG1vZGFsLCB0aXRsZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJBZG1pbkluc3RhbGwiLCAiTmV4dCIsICJDYW5jZWwiKQotICAgIHdoaWNodXNlcnMudGl0bGUoIlNlbGVjdCB3aGV0aGVyIHRvIGluc3RhbGwgW1Byb2R1Y3ROYW1lXSBmb3IgYWxsIHVzZXJzIG9mIHRoaXMgY29tcHV0ZXIuIikKLSAgICAjIEEgcmFkaW8gZ3JvdXAgd2l0aCB0d28gb3B0aW9uczogYWxsdXNlcnMsIGp1c3RtZQotICAgIGcgPSB3aGljaHVzZXJzLnJhZGlvZ3JvdXAoIkFkbWluSW5zdGFsbCIsIDEzNSwgNjAsIDIzNSwgODAsIDMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiV2hpY2hVc2VycyIsICIiLCAiTmV4dCIpCi0gICAgZy5jb25kaXRpb24oIkRpc2FibGUiLCAiVmVyc2lvbk5UPTYwMCIpICMgTm90IGF2YWlsYWJsZSBvbiBWaXN0YSBhbmQgV2luZG93cyAyMDA4Ci0gICAgZy5hZGQoIkFMTCIsIDAsIDUsIDE1MCwgMjAsICJJbnN0YWxsIGZvciBhbGwgdXNlcnMiKQotICAgIGcuYWRkKCJKVVNUTUUiLCAwLCAyNSwgMjM1LCAyMCwgIkluc3RhbGwganVzdCBmb3IgbWUgKG5vdCBhdmFpbGFibGUgb24gV2luZG93cyBWaXN0YSkiKQotCi0gICAgd2hpY2h1c2Vycy5iYWNrKCJCYWNrIiwgTm9uZSwgYWN0aXZlPTApCi0KLSAgICBjID0gd2hpY2h1c2Vycy5uZXh0KCJOZXh0ID4iLCAiQ2FuY2VsIikKLSAgICBjLmV2ZW50KCJbQUxMVVNFUlNdIiwgIjEiLCAnV2hpY2hVc2Vycz0iQUxMIicsIDEpCi0gICAgYy5ldmVudCgiRW5kRGlhbG9nIiwgIlJldHVybiIsIG9yZGVyID0gMikKLQotICAgIGMgPSB3aGljaHVzZXJzLmNhbmNlbCgiQ2FuY2VsIiwgIkFkbWluSW5zdGFsbCIpCi0gICAgYy5ldmVudCgiU3Bhd25EaWFsb2ciLCAiQ2FuY2VsRGxnIikKLQotICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotICAgICMgQWR2YW5jZWQgRGlhbG9nLgotICAgIGFkdmFuY2VkID0gUHlEaWFsb2coZGIsICJBZHZhbmNlZERsZyIsIHgsIHksIHcsIGgsIG1vZGFsLCB0aXRsZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJDb21waWxlUHljIiwgIk9rIiwgIk9rIikKLSAgICBhZHZhbmNlZC50aXRsZSgiQWR2YW5jZWQgT3B0aW9ucyBmb3IgW1Byb2R1Y3ROYW1lXSIpCi0KLSAgICAjIEEgY2hlY2tib3ggd2hldGhlciB0byBidWlsZCBweWMgZmlsZXMKLSAgICBhZHZhbmNlZC5jaGVja2JveCgiQ29tcGlsZVB5YyIsIDEzNSwgNjAsIDIzMCwgNTAsIDMsCi0gICAgICAgICAgICAgICAgICAgICAgIkNPTVBJTEVBTEwiLCAiQ29tcGlsZSAucHkgZmlsZXMgdG8gYnl0ZSBjb2RlIGFmdGVyIGluc3RhbGxhdGlvbiIsICJPayIpCi0KLSAgICBjID0gYWR2YW5jZWQuY2FuY2VsKCJPayIsICJDb21waWxlUHljIiwgbmFtZT0iT2siKSAjIEJ1dHRvbiBqdXN0IGhhcyBsb2NhdGlvbiBvZiBjYW5jZWwgYnV0dG9uLgotICAgIGMuZXZlbnQoIkVuZERpYWxvZyIsICJSZXR1cm4iKQotCi0gICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0gICAgIyBFeGlzdGluZyBEaXJlY3RvcnkgZGlhbG9nCi0gICAgZGxnID0gRGlhbG9nKGRiLCAiRXhpc3RpbmdEaXJlY3RvcnlEbGciLCA1MCwgMzAsIDIwMCwgODAsIG1vZGFsLCB0aXRsZSwKLSAgICAgICAgICAgICAgICAgICAiTm8iLCAiTm8iLCAiTm8iKQotICAgIGRsZy50ZXh0KCJUaXRsZSIsIDEwLCAyMCwgMTgwLCA0MCwgMywKLSAgICAgICAgICAgICAiW1RBUkdFVERJUl0gZXhpc3RzLiBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gb3ZlcndyaXRlIGV4aXN0aW5nIGZpbGVzPyIpCi0gICAgYz1kbGcucHVzaGJ1dHRvbigiWWVzIiwgMzAsIDYwLCA1NSwgMTcsIDMsICJZZXMiLCAiTm8iKQotICAgIGMuZXZlbnQoIltUYXJnZXRFeGlzdHNdIiwgIjAiLCBvcmRlcj0xKQotICAgIGMuZXZlbnQoIltUYXJnZXRFeGlzdHNPa10iLCAiMSIsIG9yZGVyPTIpCi0gICAgYy5ldmVudCgiRW5kRGlhbG9nIiwgIlJldHVybiIsIG9yZGVyPTMpCi0gICAgYz1kbGcucHVzaGJ1dHRvbigiTm8iLCAxMTUsIDYwLCA1NSwgMTcsIDMsICJObyIsICJZZXMiKQotICAgIGMuZXZlbnQoIkVuZERpYWxvZyIsICJSZXR1cm4iKQotCi0gICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0gICAgIyBJbnN0YWxsYXRpb24gUHJvZ3Jlc3MgZGlhbG9nIChtb2RlbGVzcykKLSAgICBwcm9ncmVzcyA9IFB5RGlhbG9nKGRiLCAiUHJvZ3Jlc3NEbGciLCB4LCB5LCB3LCBoLCBtb2RlbGVzcywgdGl0bGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAiQ2FuY2VsIiwgIkNhbmNlbCIsICJDYW5jZWwiLCBiaXRtYXA9RmFsc2UpCi0gICAgcHJvZ3Jlc3MudGV4dCgiVGl0bGUiLCAyMCwgMTUsIDIwMCwgMTUsIDB4MzAwMDMsCi0gICAgICAgICAgICAgICAgICAie1xEbGdGb250Qm9sZDh9W1Byb2dyZXNzMV0gW1Byb2R1Y3ROYW1lXSIpCi0gICAgcHJvZ3Jlc3MudGV4dCgiVGV4dCIsIDM1LCA2NSwgMzAwLCAzMCwgMywKLSAgICAgICAgICAgICAgICAgICJQbGVhc2Ugd2FpdCB3aGlsZSB0aGUgSW5zdGFsbGVyIFtQcm9ncmVzczJdIFtQcm9kdWN0TmFtZV0uICIKLSAgICAgICAgICAgICAgICAgICJUaGlzIG1heSB0YWtlIHNldmVyYWwgbWludXRlcy4iKQotICAgIHByb2dyZXNzLnRleHQoIlN0YXR1c0xhYmVsIiwgMzUsIDEwMCwgMzUsIDIwLCAzLCAiU3RhdHVzOiIpCi0KLSAgICBjPXByb2dyZXNzLnRleHQoIkFjdGlvblRleHQiLCA3MCwgMTAwLCB3LTcwLCAyMCwgMywgIlBvbmRlcmluZy4uLiIpCi0gICAgYy5tYXBwaW5nKCJBY3Rpb25UZXh0IiwgIlRleHQiKQotCi0gICAgI2M9cHJvZ3Jlc3MudGV4dCgiQWN0aW9uRGF0YSIsIDM1LCAxNDAsIDMwMCwgMjAsIDMsIE5vbmUpCi0gICAgI2MubWFwcGluZygiQWN0aW9uRGF0YSIsICJUZXh0IikKLQotICAgIGM9cHJvZ3Jlc3MuY29udHJvbCgiUHJvZ3Jlc3NCYXIiLCAiUHJvZ3Jlc3NCYXIiLCAzNSwgMTIwLCAzMDAsIDEwLCA2NTUzNywKLSAgICAgICAgICAgICAgICAgICAgICAgTm9uZSwgIlByb2dyZXNzIGRvbmUiLCBOb25lLCBOb25lKQotICAgIGMubWFwcGluZygiU2V0UHJvZ3Jlc3MiLCAiUHJvZ3Jlc3MiKQotCi0gICAgcHJvZ3Jlc3MuYmFjaygiPCBCYWNrIiwgIk5leHQiLCBhY3RpdmU9RmFsc2UpCi0gICAgcHJvZ3Jlc3MubmV4dCgiTmV4dCA+IiwgIkNhbmNlbCIsIGFjdGl2ZT1GYWxzZSkKLSAgICBwcm9ncmVzcy5jYW5jZWwoIkNhbmNlbCIsICJCYWNrIikuZXZlbnQoIlNwYXduRGlhbG9nIiwgIkNhbmNlbERsZyIpCi0KLSAgICAjIE1haW50ZW5hbmNlIHR5cGU6IHJlcGFpci91bmluc3RhbGwKLSAgICBtYWludCA9IFB5RGlhbG9nKGRiLCAiTWFpbnRlbmFuY2VUeXBlRGxnIiwgeCwgeSwgdywgaCwgbW9kYWwsIHRpdGxlLAotICAgICAgICAgICAgICAgICAgICAgIk5leHQiLCAiTmV4dCIsICJDYW5jZWwiKQotICAgIG1haW50LnRpdGxlKCJXZWxjb21lIHRvIHRoZSBbUHJvZHVjdE5hbWVdIFNldHVwIFdpemFyZCIpCi0gICAgbWFpbnQudGV4dCgiQm9keVRleHQiLCAxMzUsIDYzLCAyMzAsIDQyLCAzLAotICAgICAgICAgICAgICAgIlNlbGVjdCB3aGV0aGVyIHlvdSB3YW50IHRvIHJlcGFpciBvciByZW1vdmUgW1Byb2R1Y3ROYW1lXS4iKQotICAgIGc9bWFpbnQucmFkaW9ncm91cCgiUmVwYWlyUmFkaW9Hcm91cCIsIDEzNSwgMTA4LCAyMzAsIDYwLCAzLAotICAgICAgICAgICAgICAgICAgICAgICAgIk1haW50ZW5hbmNlRm9ybV9BY3Rpb24iLCAiIiwgIk5leHQiKQotICAgIGcuYWRkKCJDaGFuZ2UiLCAwLCAwLCAyMDAsIDE3LCAiJkNoYW5nZSBbUHJvZHVjdE5hbWVdIikKLSAgICBnLmFkZCgiUmVwYWlyIiwgMCwgMTgsIDIwMCwgMTcsICImUmVwYWlyIFtQcm9kdWN0TmFtZV0iKQotICAgIGcuYWRkKCJSZW1vdmUiLCAwLCAzNiwgMjAwLCAxNywgIlJlJm1vdmUgW1Byb2R1Y3ROYW1lXSIpCi0KLSAgICBtYWludC5iYWNrKCI8IEJhY2siLCBOb25lLCBhY3RpdmU9RmFsc2UpCi0gICAgYz1tYWludC5uZXh0KCJGaW5pc2giLCAiQ2FuY2VsIikKLSAgICAjIENoYW5nZSBpbnN0YWxsYXRpb246IENoYW5nZSBwcm9ncmVzcyBkaWFsb2cgdG8gIkNoYW5nZSIsIHRoZW4gYXNrCi0gICAgIyBmb3IgZmVhdHVyZSBzZWxlY3Rpb24KLSAgICBjLmV2ZW50KCJbUHJvZ3Jlc3MxXSIsICJDaGFuZ2UiLCAnTWFpbnRlbmFuY2VGb3JtX0FjdGlvbj0iQ2hhbmdlIicsIDEpCi0gICAgYy5ldmVudCgiW1Byb2dyZXNzMl0iLCAiY2hhbmdlcyIsICdNYWludGVuYW5jZUZvcm1fQWN0aW9uPSJDaGFuZ2UiJywgMikKLQotICAgICMgUmVpbnN0YWxsOiBDaGFuZ2UgcHJvZ3Jlc3MgZGlhbG9nIHRvICJSZXBhaXIiLCB0aGVuIGludm9rZSByZWluc3RhbGwKLSAgICAjIEFsc28gc2V0IGxpc3Qgb2YgcmVpbnN0YWxsZWQgZmVhdHVyZXMgdG8gIkFMTCIKLSAgICBjLmV2ZW50KCJbUkVJTlNUQUxMXSIsICJBTEwiLCAnTWFpbnRlbmFuY2VGb3JtX0FjdGlvbj0iUmVwYWlyIicsIDUpCi0gICAgYy5ldmVudCgiW1Byb2dyZXNzMV0iLCAiUmVwYWlyaW5nIiwgJ01haW50ZW5hbmNlRm9ybV9BY3Rpb249IlJlcGFpciInLCA2KQotICAgIGMuZXZlbnQoIltQcm9ncmVzczJdIiwgInJlcGFpcnMiLCAnTWFpbnRlbmFuY2VGb3JtX0FjdGlvbj0iUmVwYWlyIicsIDcpCi0gICAgYy5ldmVudCgiUmVpbnN0YWxsIiwgIkFMTCIsICdNYWludGVuYW5jZUZvcm1fQWN0aW9uPSJSZXBhaXIiJywgOCkKLQotICAgICMgVW5pbnN0YWxsOiBDaGFuZ2UgcHJvZ3Jlc3MgdG8gIlJlbW92ZSIsIHRoZW4gaW52b2tlIHVuaW5zdGFsbAotICAgICMgQWxzbyBzZXQgbGlzdCBvZiByZW1vdmVkIGZlYXR1cmVzIHRvICJBTEwiCi0gICAgYy5ldmVudCgiW1JFTU9WRV0iLCAiQUxMIiwgJ01haW50ZW5hbmNlRm9ybV9BY3Rpb249IlJlbW92ZSInLCAxMSkKLSAgICBjLmV2ZW50KCJbUHJvZ3Jlc3MxXSIsICJSZW1vdmluZyIsICdNYWludGVuYW5jZUZvcm1fQWN0aW9uPSJSZW1vdmUiJywgMTIpCi0gICAgYy5ldmVudCgiW1Byb2dyZXNzMl0iLCAicmVtb3ZlcyIsICdNYWludGVuYW5jZUZvcm1fQWN0aW9uPSJSZW1vdmUiJywgMTMpCi0gICAgYy5ldmVudCgiUmVtb3ZlIiwgIkFMTCIsICdNYWludGVuYW5jZUZvcm1fQWN0aW9uPSJSZW1vdmUiJywgMTQpCi0KLSAgICAjIENsb3NlIGRpYWxvZyB3aGVuIG1haW50ZW5hbmNlIGFjdGlvbiBzY2hlZHVsZWQKLSAgICBjLmV2ZW50KCJFbmREaWFsb2ciLCAiUmV0dXJuIiwgJ01haW50ZW5hbmNlRm9ybV9BY3Rpb248PiJDaGFuZ2UiJywgMjApCi0gICAgYy5ldmVudCgiTmV3RGlhbG9nIiwgIlNlbGVjdEZlYXR1cmVzRGxnIiwgJ01haW50ZW5hbmNlRm9ybV9BY3Rpb249IkNoYW5nZSInLCAyMSkKLQotICAgIG1haW50LmNhbmNlbCgiQ2FuY2VsIiwgIlJlcGFpclJhZGlvR3JvdXAiKS5ldmVudCgiU3Bhd25EaWFsb2ciLCAiQ2FuY2VsRGxnIikKLQotCi0jIFNlZSAiRmVhdHVyZSBUYWJsZSIuIFRoZSBmZWF0dXJlIGxldmVsIGlzIDEgZm9yIGFsbCBmZWF0dXJlcywKLSMgYW5kIHRoZSBmZWF0dXJlIGF0dHJpYnV0ZXMgYXJlIDAgZm9yIHRoZSBEZWZhdWx0RmVhdHVyZSwgYW5kCi0jIEZvbGxvd1BhcmVudCBmb3IgYWxsIG90aGVyIGZlYXR1cmVzLiBUaGUgbnVtYmVycyBhcmUgdGhlIERpc3BsYXkKLSMgY29sdW1uLgotZGVmIGFkZF9mZWF0dXJlcyhkYik6Ci0gICAgIyBmZWF0dXJlIGF0dHJpYnV0ZXM6Ci0gICAgIyBtc2lkYkZlYXR1cmVBdHRyaWJ1dGVzRm9sbG93UGFyZW50ID09IDIKLSAgICAjIG1zaWRiRmVhdHVyZUF0dHJpYnV0ZXNEaXNhbGxvd0FkdmVydGlzZSA9PSA4Ci0gICAgIyBGZWF0dXJlcyB0aGF0IG5lZWQgdG8gYmUgaW5zdGFsbGVkIHdpdGggdG9nZXRoZXIgd2l0aCB0aGUgbWFpbiBmZWF0dXJlCi0gICAgIyAoaS5lLiBhZGRpdGlvbmFsIFB5dGhvbiBsaWJyYXJpZXMpIG5lZWQgdG8gZm9sbG93IHRoZSBwYXJlbnQgZmVhdHVyZS4KLSAgICAjIEZlYXR1cmVzIHRoYXQgaGF2ZSBubyBhZHZlcnRpc2VtZW50IHRyaWdnZXIgKGUuZy4gdGhlIHRlc3Qgc3VpdGUpCi0gICAgIyBtdXN0IG5vdCBzdXBwb3J0IGFkdmVydGlzZW1lbnQKLSAgICBnbG9iYWwgZGVmYXVsdF9mZWF0dXJlLCB0Y2x0aywgaHRtbGZpbGVzLCB0b29scywgdGVzdHN1aXRlCi0gICAgZ2xvYmFsIGV4dF9mZWF0dXJlLCBwcml2YXRlX2NydCwgcHJlcGVuZF9wYXRoLCBwaXBfZmVhdHVyZQotICAgIGRlZmF1bHRfZmVhdHVyZSA9IEZlYXR1cmUoZGIsICJEZWZhdWx0RmVhdHVyZSIsICJQeXRob24iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlB5dGhvbiBJbnRlcnByZXRlciBhbmQgTGlicmFyaWVzIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEsIGRpcmVjdG9yeSA9ICJUQVJHRVRESVIiKQotICAgIHNoYXJlZF9jcnQgPSBGZWF0dXJlKGRiLCAiU2hhcmVkQ1JUIiwgIk1TVkNSVCIsICJDIFJ1bi1UaW1lIChzeXN0ZW0td2lkZSkiLCAwLAotICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsPTApCi0gICAgcHJpdmF0ZV9jcnQgPSBGZWF0dXJlKGRiLCAiUHJpdmF0ZUNSVCIsICJNU1ZDUlQiLCAiQyBSdW4tVGltZSAocHJpdmF0ZSkiLCAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbD0wKQotICAgIGFkZF9kYXRhKGRiLCAiQ29uZGl0aW9uIiwgWygiU2hhcmVkQ1JUIiwgMSwgc3lzMzJjb25kKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoIlByaXZhdGVDUlQiLCAxLCAibm90ICIrc3lzMzJjb25kKV0pCi0gICAgIyBXZSBkb24ndCBzdXBwb3J0IGFkdmVydGlzZW1lbnQgb2YgZXh0ZW5zaW9ucwotICAgIGV4dF9mZWF0dXJlID0gRmVhdHVyZShkYiwgIkV4dGVuc2lvbnMiLCAiUmVnaXN0ZXIgRXh0ZW5zaW9ucyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICJNYWtlIHRoaXMgUHl0aG9uIGluc3RhbGxhdGlvbiB0aGUgZGVmYXVsdCBQeXRob24gaW5zdGFsbGF0aW9uIiwgMywKLSAgICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnQgPSBkZWZhdWx0X2ZlYXR1cmUsIGF0dHJpYnV0ZXM9Mnw4KQotICAgIGlmIGhhdmVfdGNsOgotICAgICAgICB0Y2x0ayA9IEZlYXR1cmUoZGIsICJUY2xUayIsICJUY2wvVGsiLCAiVGtpbnRlciwgSURMRSwgcHlkb2MiLCA1LAotICAgICAgICAgICAgICAgICAgICBwYXJlbnQgPSBkZWZhdWx0X2ZlYXR1cmUsIGF0dHJpYnV0ZXM9MikKLSAgICBodG1sZmlsZXMgPSBGZWF0dXJlKGRiLCAiRG9jdW1lbnRhdGlvbiIsICJEb2N1bWVudGF0aW9uIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJQeXRob24gSFRNTEhlbHAgRmlsZSIsIDcsIHBhcmVudCA9IGRlZmF1bHRfZmVhdHVyZSkKLSAgICB0b29scyA9IEZlYXR1cmUoZGIsICJUb29scyIsICJVdGlsaXR5IFNjcmlwdHMiLAotICAgICAgICAgICAgICAgICAgICAiUHl0aG9uIHV0aWxpdHkgc2NyaXB0cyAoVG9vbHMvKSIsIDksCi0gICAgICAgICAgICAgICAgICAgIHBhcmVudCA9IGRlZmF1bHRfZmVhdHVyZSwgYXR0cmlidXRlcz0yKQotICAgICMgcGlwIGluc3RhbGxhdGlvbiBpc24ndCBlbmFibGVkIGJ5IGRlZmF1bHQgdW50aWwgYSBjbGVhbiB1bmluc3RhbGwgcHJvY2VkdXJlCi0gICAgIyBiZWNvbWVzIHBvc3NpYmxlCi0gICAgcGlwX2ZlYXR1cmUgPSBGZWF0dXJlKGRiLCAicGlwX2ZlYXR1cmUiLCAicGlwIiwKLSAgICAgICAgICAgICAgICAgICAgIkluc3RhbGwgKG9yIHVwZ3JhZGUgZnJvbSBhbiBlYXJsaWVyIHZlcnNpb24pIHBpcCwgIgotICAgICAgICAgICAgICAgICAgICAiYSB0b29sIGZvciBpbnN0YWxsaW5nIGFuZCBtYW5hZ2luZyBQeXRob24gcGFja2FnZXMuIiwgMTEsCi0gICAgICAgICAgICAgICAgICAgIHBhcmVudCA9IGRlZmF1bHRfZmVhdHVyZSwgYXR0cmlidXRlcz0yfDgpCi0gICAgdGVzdHN1aXRlID0gRmVhdHVyZShkYiwgIlRlc3RzdWl0ZSIsICJUZXN0IHN1aXRlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJQeXRob24gdGVzdCBzdWl0ZSAoTGliL3Rlc3QvKSIsIDEzLAotICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50ID0gZGVmYXVsdF9mZWF0dXJlLCBhdHRyaWJ1dGVzPTJ8OCkKLSAgICAjIHByZXBlbmRfcGF0aCBpcyBhbiBhZGRpdGlvbmFsIGZlYXR1cmUgd2hpY2ggaXMgdG8gYmUgb2ZmIGJ5IGRlZmF1bHQuCi0gICAgIyBTaW5jZSB0aGUgZGVmYXVsdCBsZXZlbCBmb3IgdGhlIGFib3ZlIGZlYXR1cmVzIGlzIDEsIHRoaXMgbmVlZHMgdG8gYmUKLSAgICAjIGF0IGxlYXN0IGxldmVsIGhpZ2hlci4KLSAgICBwcmVwZW5kX3BhdGggPSBGZWF0dXJlKGRiLCAiUHJlcGVuZFBhdGgiLCAiQWRkIHB5dGhvbi5leGUgdG8gUGF0aCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiUHJlcGVuZCBbVEFSR0VURElSXSB0byB0aGUgc3lzdGVtIFBhdGggdmFyaWFibGUuICIKLSAgICAgICAgICAgICAgICAgICAgICAgICJUaGlzIGFsbG93cyB5b3UgdG8gdHlwZSAncHl0aG9uJyBpbnRvIGEgY29tbWFuZCAiCi0gICAgICAgICAgICAgICAgICAgICAgICAicHJvbXB0IHdpdGhvdXQgbmVlZGluZyB0aGUgZnVsbCBwYXRoLiIsIDE1LAotICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50ID0gZGVmYXVsdF9mZWF0dXJlLCBhdHRyaWJ1dGVzPTJ8OCwKLSAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsPTIpCi0KLWRlZiBleHRyYWN0X21zdmNyMTAwKCk6Ci0gICAgIyBGaW5kIHRoZSByZWRpc3RyaWJ1dGFibGUgZmlsZXMKLSAgICBpZiBtc2lsaWIuV2luNjQ6Ci0gICAgICAgIGFyY2ggPSAieDY0IgotICAgIGVsc2U6Ci0gICAgICAgIGFyY2ggPSAieDg2IgotICAgIGRpciA9IG9zLnBhdGguam9pbihvcy5lbnZpcm9uWydWUzEwMENPTU5UT09MUyddLCByIi4uXC4uXFZDXHJlZGlzdFwlc1xNaWNyb3NvZnQuVkMxMDAuQ1JUIiAlIGFyY2gpCi0KLSAgICByZXN1bHQgPSBbXQotICAgIGluc3RhbGxlciA9IG1zaWxpYi5NYWtlSW5zdGFsbGVyKCkKLSAgICAjIEF0IGxlYXN0IGZvciBWUzIwMTAsIG1hbmlmZXN0cyBhcmUgbm8gbG9uZ2VyIHByb3ZpZGVkCi0gICAgbmFtZSA9ICJtc3ZjcjEwMC5kbGwiCi0gICAgcGF0aCA9IG9zLnBhdGguam9pbihkaXIsIG5hbWUpCi0gICAga3cgPSB7J3NyYyc6cGF0aH0KLSAgICBrd1sndmVyc2lvbiddID0gaW5zdGFsbGVyLkZpbGVWZXJzaW9uKHBhdGgsIDApCi0gICAga3dbJ2xhbmd1YWdlJ10gPSBpbnN0YWxsZXIuRmlsZVZlcnNpb24ocGF0aCwgMSkKLSAgICByZXR1cm4gbmFtZSwga3cKLQotZGVmIGdlbmVyYXRlX2xpY2Vuc2UoKToKLSAgICBpbXBvcnQgc2h1dGlsLCBnbG9iCi0gICAgb3V0ID0gb3BlbigiTElDRU5TRS50eHQiLCAidyIpCi0gICAgc2h1dGlsLmNvcHlmaWxlb2JqKG9wZW4ob3MucGF0aC5qb2luKHNyY2RpciwgIkxJQ0VOU0UiKSksIG91dCkKLSAgICBzaHV0aWwuY29weWZpbGVvYmoob3BlbigiY3J0bGljZW5zZS50eHQiKSwgb3V0KQotICAgIGZvciBuYW1lLCBwYXQsIGZpbGUgaW4gKCgiYnppcDIiLCJiemlwMi0qIiwgIkxJQ0VOU0UiKSwKLSAgICAgICAgICAgICAgICAgICAgICAoIm9wZW5zc2wiLCAib3BlbnNzbC0qIiwgIkxJQ0VOU0UiKSwKLSAgICAgICAgICAgICAgICAgICAgICAoIlRjbCIsICJ0Y2w4KiIsICJsaWNlbnNlLnRlcm1zIiksCi0gICAgICAgICAgICAgICAgICAgICAgKCJUayIsICJ0azgqIiwgImxpY2Vuc2UudGVybXMiKSwKLSAgICAgICAgICAgICAgICAgICAgICAoIlRpeCIsICJ0aXgtKiIsICJsaWNlbnNlLnRlcm1zIikpOgotICAgICAgICBvdXQud3JpdGUoIlxuVGhpcyBjb3B5IG9mIFB5dGhvbiBpbmNsdWRlcyBhIGNvcHkgb2YgJXMsIHdoaWNoIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBmb2xsb3dpbmcgdGVybXM6XG5cbiIgJSBuYW1lKQotICAgICAgICBkaXJzID0gZ2xvYi5nbG9iKHNyY2RpcisiL2V4dGVybmFscy8iK3BhdCkKLSAgICAgICAgaWYgbm90IGRpcnM6Ci0gICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yLCAiQ291bGQgbm90IGZpbmQgIitzcmNkaXIrIi9leHRlcm5hbHMvIitwYXQKLSAgICAgICAgaWYgbGVuKGRpcnMpID4gMiBhbmQgbm90IHNuYXBzaG90OgotICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvciwgIk11bHRpcGxlIGNvcGllcyBvZiAiK3BhdAotICAgICAgICBkaXIgPSBkaXJzWzBdCi0gICAgICAgIHNodXRpbC5jb3B5ZmlsZW9iaihvcGVuKG9zLnBhdGguam9pbihkaXIsIGZpbGUpKSwgb3V0KQotICAgIG91dC5jbG9zZSgpCi0KLQotY2xhc3MgUHlEaXJlY3RvcnkoRGlyZWN0b3J5KToKLSAgICAiIiJCeSBkZWZhdWx0LCBhbGwgY29tcG9uZW50cyBpbiB0aGUgUHl0aG9uIGluc3RhbGxlcgotICAgIGNhbiBydW4gZnJvbSBzb3VyY2UuIiIiCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsICphcmdzLCAqKmt3KToKLSAgICAgICAgaWYgImNvbXBvbmVudGZsYWdzIiBub3QgaW4ga3c6Ci0gICAgICAgICAgICBrd1snY29tcG9uZW50ZmxhZ3MnXSA9IDIgI21zaWRiQ29tcG9uZW50QXR0cmlidXRlc09wdGlvbmFsCi0gICAgICAgIERpcmVjdG9yeS5fX2luaXRfXyhzZWxmLCAqYXJncywgKiprdykKLQotZGVmIGhnbWFuaWZlc3QoKToKLSAgICAjIEZldGNoIGZpbGUgbGlzdCBmcm9tIE1lcmN1cmlhbAotICAgIHByb2Nlc3MgPSBzdWJwcm9jZXNzLlBvcGVuKFsnaGcnLCAnbWFuaWZlc3QnXSwgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSkKLSAgICBzdGRvdXQsIHN0ZGVyciA9IHByb2Nlc3MuY29tbXVuaWNhdGUoKQotICAgICMgQ3JlYXRlIG5lc3RlZCBkaXJlY3RvcmllcyBmb3IgZmlsZSB0cmVlCi0gICAgcmVzdWx0ID0ge30KLSAgICBmb3IgbGluZSBpbiBzdGRvdXQuc3BsaXRsaW5lcygpOgotICAgICAgICBjb21wb25lbnRzID0gbGluZS5zcGxpdCgnLycpCi0gICAgICAgIGQgPSByZXN1bHQKLSAgICAgICAgd2hpbGUgbGVuKGNvbXBvbmVudHMpID4gMToKLSAgICAgICAgICAgIGQxID0gZC5zZXRkZWZhdWx0KGNvbXBvbmVudHNbMF0sIHt9KQotICAgICAgICAgICAgZCA9IGQxCi0gICAgICAgICAgICBkZWwgY29tcG9uZW50c1swXQotICAgICAgICBkW2NvbXBvbmVudHNbMF1dID0gTm9uZQotICAgIHJldHVybiByZXN1bHQKLQotCi0jIFNlZSAiRmlsZSBUYWJsZSIsICJDb21wb25lbnQgVGFibGUiLCAiRGlyZWN0b3J5IFRhYmxlIiwKLSMgIkZlYXR1cmVDb21wb25lbnRzIFRhYmxlIgotZGVmIGFkZF9maWxlcyhkYik6Ci0gICAgaW5zdGFsbGVyID0gbXNpbGliLk1ha2VJbnN0YWxsZXIoKQotICAgIGhnZmlsZXMgPSBoZ21hbmlmZXN0KCkKLSAgICBjYWIgPSBDQUIoInB5dGhvbiIpCi0gICAgdG1wZmlsZXMgPSBbXQotICAgICMgQWRkIGFsbCBleGVjdXRhYmxlcywgaWNvbnMsIHRleHQgZmlsZXMgaW50byB0aGUgVEFSR0VURElSIGNvbXBvbmVudAotICAgIHJvb3QgPSBQeURpcmVjdG9yeShkYiwgY2FiLCBOb25lLCBzcmNkaXIsICJUQVJHRVRESVIiLCAiU291cmNlRGlyIikKLSAgICBkZWZhdWx0X2ZlYXR1cmUuc2V0X2N1cnJlbnQoKQotICAgIHJvb3QuYWRkX2ZpbGUoIlJFQURNRS50eHQiLCBzcmM9IlJFQURNRSIpCi0gICAgcm9vdC5hZGRfZmlsZSgiTkVXUy50eHQiLCBzcmM9Ik1pc2MvTkVXUyIpCi0gICAgZ2VuZXJhdGVfbGljZW5zZSgpCi0gICAgcm9vdC5hZGRfZmlsZSgiTElDRU5TRS50eHQiLCBzcmM9b3MucGF0aC5hYnNwYXRoKCJMSUNFTlNFLnR4dCIpKQotICAgIHJvb3Quc3RhcnRfY29tcG9uZW50KCJweXRob24uZXhlIiwga2V5ZmlsZT0icHl0aG9uLmV4ZSIpCi0gICAgcm9vdC5hZGRfZmlsZSgiJXMvcHl0aG9uLmV4ZSIgJSBQQ0JVSUxEKQotICAgIHJvb3Quc3RhcnRfY29tcG9uZW50KCJweXRob253LmV4ZSIsIGtleWZpbGU9InB5dGhvbncuZXhlIikKLSAgICByb290LmFkZF9maWxlKCIlcy9weXRob253LmV4ZSIgJSBQQ0JVSUxEKQotCi0gICAgIyBtc2lkYkNvbXBvbmVudEF0dHJpYnV0ZXNTaGFyZWREbGxSZWZDb3VudCA9IDgsIHNlZSAiQ29tcG9uZW50IFRhYmxlIgotICAgIGRsbGRpciA9IFB5RGlyZWN0b3J5KGRiLCBjYWIsIHJvb3QsIHNyY2RpciwgIkRMTERJUiIsICIuIikKLSAgICBsYXVuY2hlcmRpciA9IFB5RGlyZWN0b3J5KGRiLCBjYWIsIHJvb3QsIHNyY2RpciwgIkxBVU5DSEVSRElSIiwgIi4iKQotCi0gICAgIyBtc2lkYkNvbXBvbmVudEF0dHJpYnV0ZXM2NGJpdCA9IDI1NjsgdGhpcyBkaXNhYmxlcyByZWdpc3RyeSByZWRpcmVjdGlvbgotICAgICMgdG8gYWxsb3cgc2V0dGluZyB0aGUgU2hhcmVkRExMcyBrZXkgaW4gdGhlIDY0LWJpdCBwb3J0aW9uIGV2ZW4gZm9yIGEKLSAgICAjIDMyLWJpdCBpbnN0YWxsZXIuCi0gICAgIyBYWFggZG9lcyB0aGlzIHN0aWxsIGFsbG93IHRvIGluc3RhbGwgdGhlIGNvbXBvbmVudCBvbiBhIDMyLWJpdCBzeXN0ZW0/Ci0gICAgIyBQaWNrIHVwIDMyLWJpdCBiaW5hcnkgYWx3YXlzCi0gICAgbGF1bmNoZXJzcmMgPSBQQ0JVSUxECi0gICAgaWYgbGF1bmNoZXJzcmMubG93ZXIoKSA9PSAncGNidWlsZFxceDY0LXBnbyc6Ci0gICAgICAgIGxhdW5jaGVyc3JjID0gJ1BDQnVpbGRcXHdpbjMyLXBnbycKLSAgICBpZiBsYXVuY2hlcnNyYy5sb3dlcigpID09ICdwY2J1aWxkXFxhbWQ2NCc6Ci0gICAgICAgIGxhdW5jaGVyc3JjID0gJ1BDQnVpbGQnCi0gICAgbGF1bmNoZXIgPSBvcy5wYXRoLmpvaW4oc3JjZGlyLCBsYXVuY2hlcnNyYywgInB5LmV4ZSIpCi0gICAgbGF1bmNoZXJkaXIuc3RhcnRfY29tcG9uZW50KCJsYXVuY2hlciIsIGZsYWdzID0gOCsyNTYsIGtleWZpbGU9InB5LmV4ZSIpCi0gICAgbGF1bmNoZXJkaXIuYWRkX2ZpbGUobGF1bmNoZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgdmVyc2lvbj1pbnN0YWxsZXIuRmlsZVZlcnNpb24obGF1bmNoZXIsIDApLAotICAgICAgICAgICAgICAgICAgICAgICAgIGxhbmd1YWdlPWluc3RhbGxlci5GaWxlVmVyc2lvbihsYXVuY2hlciwgMSkpCi0gICAgbGF1bmNoZXJ3ID0gb3MucGF0aC5qb2luKHNyY2RpciwgbGF1bmNoZXJzcmMsICJweXcuZXhlIikKLSAgICBsYXVuY2hlcmRpci5zdGFydF9jb21wb25lbnQoImxhdW5jaGVydyIsIGZsYWdzID0gOCsyNTYsIGtleWZpbGU9InB5dy5leGUiKQotICAgIGxhdW5jaGVyZGlyLmFkZF9maWxlKGxhdW5jaGVydywKLSAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uPWluc3RhbGxlci5GaWxlVmVyc2lvbihsYXVuY2hlcncsIDApLAotICAgICAgICAgICAgICAgICAgICAgICAgIGxhbmd1YWdlPWluc3RhbGxlci5GaWxlVmVyc2lvbihsYXVuY2hlcncsIDEpKQotCi0gICAgcHlkbGwgPSAicHl0aG9uJXMlcy5kbGwiICUgKG1ham9yLCBtaW5vcikKLSAgICBweWRsbHNyYyA9IG9zLnBhdGguam9pbihzcmNkaXIsIFBDQlVJTEQsIHB5ZGxsKQotICAgIGRsbGRpci5zdGFydF9jb21wb25lbnQoIkRMTERJUiIsIGZsYWdzID0gOCwga2V5ZmlsZSA9IHB5ZGxsLCB1dWlkID0gcHl0aG9uZGxsX3V1aWQpCi0gICAgcHl2ZXJzaW9uID0gaW5zdGFsbGVyLkZpbGVWZXJzaW9uKHB5ZGxsc3JjLCAwKQotICAgIGlmIG5vdCBzbmFwc2hvdDoKLSAgICAgICAgIyBGb3IgcmVsZWFzZXMsIHRoZSBQeXRob24gRExMIGhhcyB0aGUgc2FtZSB2ZXJzaW9uIGFzIHRoZQotICAgICAgICAjIGluc3RhbGxlciBwYWNrYWdlLgotICAgICAgICBhc3NlcnQgcHl2ZXJzaW9uLnNwbGl0KCIuIilbOjNdID09IGN1cnJlbnRfdmVyc2lvbi5zcGxpdCgiLiIpCi0gICAgZGxsZGlyLmFkZF9maWxlKCIlcy9weXRob24lcyVzLmRsbCIgJSAoUENCVUlMRCwgbWFqb3IsIG1pbm9yKSwKLSAgICAgICAgICAgICAgICAgICAgdmVyc2lvbj1weXZlcnNpb24sCi0gICAgICAgICAgICAgICAgICAgIGxhbmd1YWdlPWluc3RhbGxlci5GaWxlVmVyc2lvbihweWRsbHNyYywgMSkpCi0gICAgRExMcyA9IFB5RGlyZWN0b3J5KGRiLCBjYWIsIHJvb3QsIHNyY2RpciArICIvIiArIFBDQlVJTEQsICJETExzIiwgIkRMTFN8RExMcyIpCi0KLSAgICAjIG1zdmNyOTAuZGxsOiBOZWVkIHRvIHBsYWNlIHRoZSBETEwgYW5kIHRoZSBtYW5pZmVzdCBpbnRvIHRoZSByb290IGRpcmVjdG9yeSwKLSAgICAjIHBsdXMgYW5vdGhlciBjb3B5IG9mIHRoZSBtYW5pZmVzdCBpbiB0aGUgRExMcyBkaXJlY3RvcnksIHdpdGggdGhlIG1hbmlmZXN0Ci0gICAgIyBwb2ludGluZyB0byB0aGUgcm9vdCBkaXJlY3RvcnkKLSAgICByb290LnN0YXJ0X2NvbXBvbmVudCgibXN2Y3I5MCIsIGZlYXR1cmU9cHJpdmF0ZV9jcnQpCi0gICAgIyBSZXN1bHRzIGFyZSBJRCxrZXl3b3JkIHBhaXJzCi0gICAgY3J0ZGxsLCBrd2RzID0gZXh0cmFjdF9tc3ZjcjEwMCgpCi0gICAgcm9vdC5hZGRfZmlsZShjcnRkbGwsICoqa3dkcykKLSAgICAjIENvcHkgdGhlIG1hbmlmZXN0Ci0gICAgIyBBY3R1YWxseSwgZG9uJ3QgZG8gdGhhdCBhbnltb3JlIC0gbm8gRExMIGluIERMTHMgc2hvdWxkIGhhdmUgYSBtYW5pZmVzdAotICAgICMgZGVwZW5kZW5jeSBvbiBtc3ZjcjkwLmRsbCBhbnltb3JlLCBzbyB0aGlzIHNob3VsZCBub3QgYmUgbmVjZXNzYXJ5Ci0gICAgI21hbmlmZXN0X2RsbHMgPSBtYW5pZmVzdFswXSsiLnJvb3QiCi0gICAgI29wZW4obWFuaWZlc3RfZGxscywgInciKS53cml0ZShvcGVuKG1hbmlmZXN0WzFdWydzcmMnXSkucmVhZCgpLnJlcGxhY2UoIm1zdmNyIiwiLi4vbXN2Y3IiKSkKLSAgICAjRExMcy5zdGFydF9jb21wb25lbnQoIm1zdmNyOTBfZGxscyIsIGZlYXR1cmU9cHJpdmF0ZV9jcnQpCi0gICAgI0RMTHMuYWRkX2ZpbGUobWFuaWZlc3RbMF0sIHNyYz1vcy5wYXRoLmFic3BhdGgobWFuaWZlc3RfZGxscykpCi0KLSAgICAjIE5vdyBzdGFydCB0aGUgbWFpbiBjb21wb25lbnQgZm9yIHRoZSBETExzIGRpcmVjdG9yeTsKLSAgICAjIG5vIHJlZ3VsYXIgZmlsZXMgaGF2ZSBiZWVuIGFkZGVkIHRvIHRoZSBkaXJlY3RvcnkgeWV0LgotICAgIERMTHMuc3RhcnRfY29tcG9uZW50KCkKLQotICAgICMgQ2hlY2sgaWYgX2N0eXBlcy5weWQgZXhpc3RzCi0gICAgaGF2ZV9jdHlwZXMgPSBvcy5wYXRoLmV4aXN0cyhzcmNkaXIrIi8lcy9fY3R5cGVzLnB5ZCIgJSBQQ0JVSUxEKQotICAgIGlmIG5vdCBoYXZlX2N0eXBlczoKLSAgICAgICAgcHJpbnQoIldBUk5JTkc6IF9jdHlwZXMucHlkIG5vdCBmb3VuZCwgY3R5cGVzIHdpbGwgbm90IGJlIGluY2x1ZGVkIikKLSAgICAgICAgZXh0ZW5zaW9ucy5yZW1vdmUoIl9jdHlwZXMucHlkIikKLQotICAgICMgQWRkIGFsbCAucHkgZmlsZXMgaW4gTGliLCBleGNlcHQgdGtpbnRlciwgdGVzdAotICAgIGRpcnMgPSBbXQotICAgIHB5ZGlycyA9IFsocm9vdCwgIkxpYiIsIGhnZmlsZXNbIkxpYiJdLCBkZWZhdWx0X2ZlYXR1cmUpXQotICAgIHdoaWxlIHB5ZGlyczoKLSAgICAgICAgIyBDb21taXQgZXZlcnkgbm93IGFuZCB0aGVuLCBvciBlbHNlIGluc3RhbGxlciB3aWxsIGNvbXBsYWluCi0gICAgICAgIGRiLkNvbW1pdCgpCi0gICAgICAgIHBhcmVudCwgZGlyLCBmaWxlcywgZmVhdHVyZSA9IHB5ZGlycy5wb3AoKQotICAgICAgICBpZiBkaXIuc3RhcnRzd2l0aCgicGxhdC0iKToKLSAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgIGlmIGRpciBpbiBbInRraW50ZXIiLCAiaWRsZWxpYiIsICJ0dXJ0bGVkZW1vIl06Ci0gICAgICAgICAgICBpZiBub3QgaGF2ZV90Y2w6Ci0gICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgIGZlYXR1cmUgPSB0Y2x0awotICAgICAgICAgICAgdGNsdGsuc2V0X2N1cnJlbnQoKQotICAgICAgICBlbGlmIGRpciBpbiAoJ3Rlc3QnLCAndGVzdHMnKToKLSAgICAgICAgICAgIGZlYXR1cmUgPSB0ZXN0c3VpdGUKLSAgICAgICAgZWxpZiBub3QgaGF2ZV9jdHlwZXMgYW5kIGRpciA9PSAiY3R5cGVzIjoKLSAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgIGZlYXR1cmUuc2V0X2N1cnJlbnQoKQotICAgICAgICBsaWIgPSBQeURpcmVjdG9yeShkYiwgY2FiLCBwYXJlbnQsIGRpciwgZGlyLCAiJXN8JXMiICUgKHBhcmVudC5tYWtlX3Nob3J0KGRpciksIGRpcikpCi0gICAgICAgIGRpcnMuYXBwZW5kKGxpYikKLSAgICAgICAgaGFzX3B5ID0gRmFsc2UKLSAgICAgICAgZm9yIG5hbWUsIHN1YmRpciBpbiBmaWxlcy5pdGVtcygpOgotICAgICAgICAgICAgaWYgc3ViZGlyIGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgYXNzZXJ0IG9zLnBhdGguaXNmaWxlKG9zLnBhdGguam9pbihsaWIuYWJzb2x1dGUsIG5hbWUpKQotICAgICAgICAgICAgICAgIGlmIG5hbWUgPT0gJ1JFQURNRSc6Ci0gICAgICAgICAgICAgICAgICAgIGxpYi5hZGRfZmlsZSgiUkVBRE1FLnR4dCIsIHNyYz0iUkVBRE1FIikKLSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICBsaWIuYWRkX2ZpbGUobmFtZSkKLSAgICAgICAgICAgICAgICAgICAgaGFzX3B5ID0gaGFzX3B5IG9yIG5hbWUuZW5kc3dpdGgoIi5weSIpIG9yIG5hbWUuZW5kc3dpdGgoIi5weXciKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBhc3NlcnQgb3MucGF0aC5pc2Rpcihvcy5wYXRoLmpvaW4obGliLmFic29sdXRlLCBuYW1lKSkKLSAgICAgICAgICAgICAgICBweWRpcnMuYXBwZW5kKChsaWIsIG5hbWUsIHN1YmRpciwgZmVhdHVyZSkpCi0KLSAgICAgICAgaWYgaGFzX3B5OgotICAgICAgICAgICAgbGliLnJlbW92ZV9weWMoKQotICAgICMgQWRkIERMTHMKLSAgICBkZWZhdWx0X2ZlYXR1cmUuc2V0X2N1cnJlbnQoKQotICAgIGxpYiA9IERMTHMKLSAgICBsaWIuYWRkX2ZpbGUoInB5LmljbyIsIHNyYz1zcmNkaXIrIi9QQy9weS5pY28iKQotICAgIGxpYi5hZGRfZmlsZSgicHljLmljbyIsIHNyYz1zcmNkaXIrIi9QQy9weWMuaWNvIikKLSAgICBkbGxzID0gW10KLSAgICB0Y2xmaWxlcyA9IFtdCi0gICAgZm9yIGYgaW4gZXh0ZW5zaW9uczoKLSAgICAgICAgaWYgZj09Il90a2ludGVyLnB5ZCI6Ci0gICAgICAgICAgICBjb250aW51ZQotICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoc3JjZGlyICsgIi8iICsgUENCVUlMRCArICIvIiArIGYpOgotICAgICAgICAgICAgcHJpbnQoIldBUk5JTkc6IE1pc3NpbmcgZXh0ZW5zaW9uIiwgZikKLSAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgIGRsbHMuYXBwZW5kKGYpCi0gICAgICAgIGxpYi5hZGRfZmlsZShmKQotICAgIGxpYi5hZGRfZmlsZSgncHl0aG9uMy5kbGwnKQotICAgICMgQWRkIHNxbGl0ZQotICAgIGlmIG1zaWxpYi5tc2lfdHlwZT09IkludGVsNjQ7MTAzMyI6Ci0gICAgICAgIHNxbGl0ZV9hcmNoID0gIi9pYTY0IgotICAgIGVsaWYgbXNpbGliLm1zaV90eXBlPT0ieDY0OzEwMzMiOgotICAgICAgICBzcWxpdGVfYXJjaCA9ICIvYW1kNjQiCi0gICAgICAgIHRjbHN1ZmZpeCA9ICI2NCIKLSAgICBlbHNlOgotICAgICAgICBzcWxpdGVfYXJjaCA9ICIiCi0gICAgICAgIHRjbHN1ZmZpeCA9ICIiCi0gICAgbGliLmFkZF9maWxlKCJzcWxpdGUzLmRsbCIpCi0gICAgaWYgaGF2ZV90Y2w6Ci0gICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cygiJXMvJXMvX3RraW50ZXIucHlkIiAlIChzcmNkaXIsIFBDQlVJTEQpKToKLSAgICAgICAgICAgIHByaW50KCJXQVJOSU5HOiBNaXNzaW5nIF90a2ludGVyLnB5ZCIpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBsaWIuc3RhcnRfY29tcG9uZW50KCJUa0RMTHMiLCB0Y2x0aykKLSAgICAgICAgICAgIGxpYi5hZGRfZmlsZSgiX3RraW50ZXIucHlkIikKLSAgICAgICAgICAgIGRsbHMuYXBwZW5kKCJfdGtpbnRlci5weWQiKQotICAgICAgICAgICAgdGNsZGlyID0gb3MucGF0aC5ub3JtcGF0aChzcmNkaXIrKCIvZXh0ZXJuYWxzL3RjbHRrJXMvYmluIiAlIHRjbHN1ZmZpeCkpCi0gICAgICAgICAgICBmb3IgZiBpbiBnbG9iLmdsb2IxKHRjbGRpciwgIiouZGxsIik6Ci0gICAgICAgICAgICAgICAgbGliLmFkZF9maWxlKGYsIHNyYz1vcy5wYXRoLmpvaW4odGNsZGlyLCBmKSkKLSAgICAjIGNoZWNrIHdoZXRoZXIgdGhlcmUgYXJlIGFueSB1bmtub3duIGV4dGVuc2lvbnMKLSAgICBmb3IgZiBpbiBnbG9iLmdsb2IxKHNyY2RpcisiLyIrUENCVUlMRCwgIioucHlkIik6Ci0gICAgICAgIGlmIGYuZW5kc3dpdGgoIl9kLnB5ZCIpOiBjb250aW51ZSAjIGRlYnVnIHZlcnNpb24KLSAgICAgICAgaWYgZiBpbiBkbGxzOiBjb250aW51ZQotICAgICAgICBwcmludCgiV0FSTklORzogVW5rbm93biBleHRlbnNpb24iLCBmKQotCi0gICAgIyBBZGQgaGVhZGVycwotICAgIGRlZmF1bHRfZmVhdHVyZS5zZXRfY3VycmVudCgpCi0gICAgbGliID0gUHlEaXJlY3RvcnkoZGIsIGNhYiwgcm9vdCwgImluY2x1ZGUiLCAiaW5jbHVkZSIsICJJTkNMVURFfGluY2x1ZGUiKQotICAgIGxpYi5nbG9iKCIqLmgiKQotICAgIGxpYi5hZGRfZmlsZSgicHljb25maWcuaCIsIHNyYz0iLi4vUEMvcHljb25maWcuaCIpCi0gICAgIyBBZGQgaW1wb3J0IGxpYnJhcmllcwotICAgIGxpYiA9IFB5RGlyZWN0b3J5KGRiLCBjYWIsIHJvb3QsIFBDQlVJTEQsICJsaWJzIiwgIkxJQlN8bGlicyIpCi0gICAgZm9yIGYgaW4gZGxsczoKLSAgICAgICAgbGliLmFkZF9maWxlKGYucmVwbGFjZSgncHlkJywnbGliJykpCi0gICAgbGliLmFkZF9maWxlKCdweXRob24lcyVzLmxpYicgJSAobWFqb3IsIG1pbm9yKSkKLSAgICBsaWIuYWRkX2ZpbGUoJ3B5dGhvbjMubGliJykKLSAgICAjIEFkZCB0aGUgbWluZ3ctZm9ybWF0IGxpYnJhcnkKLSAgICBpZiBoYXZlX21pbmd3OgotICAgICAgICBsaWIuYWRkX2ZpbGUoJ2xpYnB5dGhvbiVzJXMuYScgJSAobWFqb3IsIG1pbm9yKSkKLSAgICBpZiBoYXZlX3RjbDoKLSAgICAgICAgIyBBZGQgVGNsL1RrCi0gICAgICAgIHRjbGRpcnMgPSBbKHJvb3QsICdleHRlcm5hbHMvdGNsdGslcy9saWInICUgdGNsc3VmZml4LCAndGNsJyldCi0gICAgICAgIHRjbHRrLnNldF9jdXJyZW50KCkKLSAgICAgICAgd2hpbGUgdGNsZGlyczoKLSAgICAgICAgICAgIHBhcmVudCwgcGh5cywgZGlyID0gdGNsZGlycy5wb3AoKQotICAgICAgICAgICAgbGliID0gUHlEaXJlY3RvcnkoZGIsIGNhYiwgcGFyZW50LCBwaHlzLCBkaXIsICIlc3wlcyIgJSAocGFyZW50Lm1ha2Vfc2hvcnQoZGlyKSwgZGlyKSkKLSAgICAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhsaWIuYWJzb2x1dGUpOgotICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgICAgICBmb3IgZiBpbiBvcy5saXN0ZGlyKGxpYi5hYnNvbHV0ZSk6Ci0gICAgICAgICAgICAgICAgaWYgb3MucGF0aC5pc2Rpcihvcy5wYXRoLmpvaW4obGliLmFic29sdXRlLCBmKSk6Ci0gICAgICAgICAgICAgICAgICAgIHRjbGRpcnMuYXBwZW5kKChsaWIsIGYsIGYpKQotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIGxpYi5hZGRfZmlsZShmKQotICAgICMgQWRkIHRvb2xzCi0gICAgdG9vbHMuc2V0X2N1cnJlbnQoKQotICAgIHRvb2xkaXIgPSBQeURpcmVjdG9yeShkYiwgY2FiLCByb290LCAiVG9vbHMiLCAiVG9vbHMiLCAiVE9PTFN8VG9vbHMiKQotICAgIGZvciBmIGluIFsnaTE4bicsICdweW5jaGUnLCAnU2NyaXB0cyddOgotICAgICAgICBsaWIgPSBQeURpcmVjdG9yeShkYiwgY2FiLCB0b29sZGlyLCBmLCBmLCAiJXN8JXMiICUgKHRvb2xkaXIubWFrZV9zaG9ydChmKSwgZikpCi0gICAgICAgIGxpYi5nbG9iKCIqLnB5IikKLSAgICAgICAgbGliLmdsb2IoIioucHl3IikKLSAgICAgICAgbGliLnJlbW92ZV9weWMoKQotICAgICAgICBsaWIuZ2xvYigiKi50eHQiKQotICAgICAgICBpZiBmID09ICJweW5jaGUiOgotICAgICAgICAgICAgeCA9IFB5RGlyZWN0b3J5KGRiLCBjYWIsIGxpYiwgIlgiLCAiWCIsICJYfFgiKQotICAgICAgICAgICAgeC5nbG9iKCIqLnR4dCIpCi0gICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihsaWIuYWJzb2x1dGUsICJSRUFETUUiKSk6Ci0gICAgICAgICAgICBsaWIuYWRkX2ZpbGUoIlJFQURNRS50eHQiLCBzcmM9IlJFQURNRSIpCi0gICAgICAgIGlmIGYgPT0gJ1NjcmlwdHMnOgotICAgICAgICAgICAgbGliLmFkZF9maWxlKCIydG8zLnB5Iiwgc3JjPSIydG8zIikKLSAgICAgICAgICAgIGxpYi5hZGRfZmlsZSgicHlkb2MzLnB5Iiwgc3JjPSJweWRvYzMiKQotICAgICAgICAgICAgbGliLmFkZF9maWxlKCJweXZlbnYucHkiLCBzcmM9InB5dmVudiIpCi0gICAgIyBBZGQgZG9jdW1lbnRhdGlvbgotICAgIGh0bWxmaWxlcy5zZXRfY3VycmVudCgpCi0gICAgbGliID0gUHlEaXJlY3RvcnkoZGIsIGNhYiwgcm9vdCwgIkRvYyIsICJEb2MiLCAiRE9DfERvYyIpCi0gICAgbGliLnN0YXJ0X2NvbXBvbmVudCgiZG9jdW1lbnRhdGlvbiIsIGtleWZpbGU9ZG9jZmlsZSkKLSAgICBsaWIuYWRkX2ZpbGUoZG9jZmlsZSwgc3JjPSJidWlsZC9odG1saGVscC8iK2RvY2ZpbGUpCi0KLSAgICBjYWIuY29tbWl0KGRiKQotCi0gICAgZm9yIGYgaW4gdG1wZmlsZXM6Ci0gICAgICAgIG9zLnVubGluayhmKQotCi0jIFNlZSAiUmVnaXN0cnkgVGFibGUiLCAiQ29tcG9uZW50IFRhYmxlIgotZGVmIGFkZF9yZWdpc3RyeShkYik6Ci0gICAgIyBGaWxlIGV4dGVuc2lvbnMsIGFzc29jaWF0ZWQgd2l0aCB0aGUgUkVHSVNUUlkuZGVmIGNvbXBvbmVudAotICAgICMgSURMRSB2ZXJicyBkZXBlbmQgb24gdGhlIHRjbHRrIGZlYXR1cmUuCi0gICAgIyBtc2lkYkNvbXBvbmVudEF0dHJpYnV0ZXNSZWdpc3RyeUtleVBhdGggPSA0Ci0gICAgIyAtMSBmb3IgUm9vdCBzcGVjaWZpZXMgImRlcGVuZGVudCBvbiBBTExVU0VSUyBwcm9wZXJ0eSIKLSAgICB0Y2xkYXRhID0gW10KLSAgICBpZiBoYXZlX3RjbDoKLSAgICAgICAgdGNsZGF0YSA9IFsKLSAgICAgICAgICAgICgiUkVHSVNUUlkudGNsIiwgbXNpbGliLmdlbl91dWlkKCksICJUQVJHRVRESVIiLCByZWdpc3RyeV9jb21wb25lbnQsIE5vbmUsCi0gICAgICAgICAgICAgInB5LklETEUiKV0KLSAgICBhZGRfZGF0YShkYiwgIkNvbXBvbmVudCIsCi0gICAgICAgICAgICAgIyBtc2lkYkNvbXBvbmVudEF0dHJpYnV0ZXNSZWdpc3RyeUtleVBhdGggPSA0Ci0gICAgICAgICAgICAgWygiUkVHSVNUUlkiLCBtc2lsaWIuZ2VuX3V1aWQoKSwgIlRBUkdFVERJUiIsIHJlZ2lzdHJ5X2NvbXBvbmVudCwgTm9uZSwKLSAgICAgICAgICAgICAgICJJbnN0YWxsUGF0aCIpLAotICAgICAgICAgICAgICAoIlJFR0lTVFJZLmRvYyIsIG1zaWxpYi5nZW5fdXVpZCgpLCAiVEFSR0VURElSIiwgcmVnaXN0cnlfY29tcG9uZW50LCBOb25lLAotICAgICAgICAgICAgICAgIkRvY3VtZW50YXRpb24iKSwKLSAgICAgICAgICAgICAgKCJSRUdJU1RSWS5wYXRoIiwgbXNpbGliLmdlbl91dWlkKCksICJUQVJHRVRESVIiLCByZWdpc3RyeV9jb21wb25lbnQsIE5vbmUsCi0gICAgICAgICAgICAgIE5vbmUpLAotICAgICAgICAgICAgICAoIlJFR0lTVFJZLmVuc3VyZXBpcCIsIG1zaWxpYi5nZW5fdXVpZCgpLCAiVEFSR0VURElSIiwgcmVnaXN0cnlfY29tcG9uZW50LCAiRW5zdXJlUGlwUnVuIiwKLSAgICAgICAgICAgICAgTm9uZSksCi0gICAgICAgICAgICAgICgiUkVHSVNUUlkuZGVmIiwgbXNpbGliLmdlbl91dWlkKCksICJUQVJHRVRESVIiLCByZWdpc3RyeV9jb21wb25lbnQsCi0gICAgICAgICAgICAgICBOb25lLCBOb25lKV0gKyB0Y2xkYXRhKQotICAgICMgU2VlICJGZWF0dXJlQ29tcG9uZW50cyBUYWJsZSIuCi0gICAgIyBUaGUgYXNzb2NpYXRpb24gYmV0d2VlbiBUY2xUayBhbmQgcHl0aG9udy5leGUgaXMgbmVjZXNzYXJ5IHRvIG1ha2UgSUNFNTkKLSAgICAjIGhhcHB5LCBiZWNhdXNlIHRoZSBpbnN0YWxsZXIgb3RoZXJ3aXNlIGJlbGlldmVzIHRoYXQgdGhlIElETEUgYW5kIFB5RG9jCi0gICAgIyBzaG9ydGN1dHMgbWlnaHQgZ2V0IGluc3RhbGxlZCB3aXRob3V0IHB5dGhvbncuZXhlIGJlaW5nIGluc3RhbGwuIFRoaXMKLSAgICAjIGlzIG5vdCB0cnVlLCBzaW5jZSBpbnN0YWxsaW5nIFRjbFRrIHdpbGwgaW5zdGFsbCB0aGUgZGVmYXVsdCBmZWF0dXJlLCB3aGljaAotICAgICMgd2lsbCBjYXVzZSBweXRob253LmV4ZSB0byBiZSBpbnN0YWxsZWQuCi0gICAgIyBSRUdJU1RSWS50Y2wgaXMgbm90IGFzc29jaWF0ZWQgd2l0aCBhbnkgZmVhdHVyZSwgYXMgaXQgd2lsbCBiZSByZXF1ZXN0ZWQKLSAgICAjIHRocm91Z2ggYSBjdXN0b20gYWN0aW9uCi0gICAgdGNsZGF0YSA9IFtdCi0gICAgaWYgaGF2ZV90Y2w6Ci0gICAgICAgIHRjbGRhdGEgPSBbKHRjbHRrLmlkLCAicHl0aG9udy5leGUiKV0KLSAgICBhZGRfZGF0YShkYiwgIkZlYXR1cmVDb21wb25lbnRzIiwKLSAgICAgICAgICAgICBbKGRlZmF1bHRfZmVhdHVyZS5pZCwgIlJFR0lTVFJZIiksCi0gICAgICAgICAgICAgIChodG1sZmlsZXMuaWQsICJSRUdJU1RSWS5kb2MiKSwKLSAgICAgICAgICAgICAgKHByZXBlbmRfcGF0aC5pZCwgIlJFR0lTVFJZLnBhdGgiKSwKLSAgICAgICAgICAgICAgKHBpcF9mZWF0dXJlLmlkLCAiUkVHSVNUUlkuZW5zdXJlcGlwIiksCi0gICAgICAgICAgICAgIChleHRfZmVhdHVyZS5pZCwgIlJFR0lTVFJZLmRlZiIpXSArCi0gICAgICAgICAgICAgIHRjbGRhdGEKLSAgICAgICAgICAgICAgKQotICAgICMgRXh0ZW5zaW9ucyBhcmUgbm90IGFkdmVydGlzZWQuIEZvciBhZHZlcnRpc2VkIGV4dGVuc2lvbnMsCi0gICAgIyB3ZSB3b3VsZCBuZWVkIHNlcGFyYXRlIGJpbmFyaWVzIHRoYXQgaW5zdGFsbCBhbG9uZyB3aXRoIHRoZQotICAgICMgZXh0ZW5zaW9uLgotICAgIHBhdCA9IHIiU29mdHdhcmVcQ2xhc3Nlc1wlc1B5dGhvbi4lc0ZpbGVcc2hlbGxcJXNcY29tbWFuZCIKLSAgICBld2kgPSAiRWRpdCB3aXRoIElETEUiCi0gICAgcGF0MiA9IHIiU29mdHdhcmVcQ2xhc3Nlc1wlc1B5dGhvbi4lc0ZpbGVcRGVmYXVsdEljb24iCi0gICAgcGF0MyA9IHIiU29mdHdhcmVcQ2xhc3Nlc1wlc1B5dGhvbi4lc0ZpbGUiCi0gICAgcGF0NCA9IHIiU29mdHdhcmVcQ2xhc3Nlc1wlc1B5dGhvbi4lc0ZpbGVcc2hlbGxleFxEcm9wSGFuZGxlciIKLSAgICB0Y2xfdmVyYnMgPSBbXQotICAgIGlmIGhhdmVfdGNsOgotICAgICAgICB0Y2xfdmVyYnM9WwotICAgICAgICAgICAgICgicHkuSURMRSIsIC0xLCBwYXQgJSAodGVzdHByZWZpeCwgIiIsIGV3aSksICIiLAotICAgICAgICAgICAgICByJyJbVEFSR0VURElSXXB5dGhvbncuZXhlIiAiW1RBUkdFVERJUl1MaWJcaWRsZWxpYlxpZGxlLnB5dyIgLWUgIiUxIicsCi0gICAgICAgICAgICAgICJSRUdJU1RSWS50Y2wiKSwKLSAgICAgICAgICAgICAoInB5dy5JRExFIiwgLTEsIHBhdCAlICh0ZXN0cHJlZml4LCAiTm9Db24iLCBld2kpLCAiIiwKLSAgICAgICAgICAgICAgciciW1RBUkdFVERJUl1weXRob253LmV4ZSIgIltUQVJHRVRESVJdTGliXGlkbGVsaWJcaWRsZS5weXciIC1lICIlMSInLAotICAgICAgICAgICAgICAiUkVHSVNUUlkudGNsIiksCi0gICAgICAgIF0KLSAgICBhZGRfZGF0YShkYiwgIlJlZ2lzdHJ5IiwKLSAgICAgICAgICAgIFsjIEV4dGVuc2lvbnMKLSAgICAgICAgICAgICAoInB5LmV4dCIsIC0xLCByIlNvZnR3YXJlXENsYXNzZXNcLiIrZXh0LCAiIiwKLSAgICAgICAgICAgICAgIlB5dGhvbi5GaWxlIiwgIlJFR0lTVFJZLmRlZiIpLAotICAgICAgICAgICAgICgicHl3LmV4dCIsIC0xLCByIlNvZnR3YXJlXENsYXNzZXNcLiIrZXh0Kyd3JywgIiIsCi0gICAgICAgICAgICAgICJQeXRob24uTm9Db25GaWxlIiwgIlJFR0lTVFJZLmRlZiIpLAotICAgICAgICAgICAgICgicHljLmV4dCIsIC0xLCByIlNvZnR3YXJlXENsYXNzZXNcLiIrZXh0KydjJywgIiIsCi0gICAgICAgICAgICAgICJQeXRob24uQ29tcGlsZWRGaWxlIiwgIlJFR0lTVFJZLmRlZiIpLAotICAgICAgICAgICAgICgicHlvLmV4dCIsIC0xLCByIlNvZnR3YXJlXENsYXNzZXNcLiIrZXh0KydvJywgIiIsCi0gICAgICAgICAgICAgICJQeXRob24uQ29tcGlsZWRGaWxlIiwgIlJFR0lTVFJZLmRlZiIpLAotICAgICAgICAgICAgICMgTUlNRSB0eXBlcwotICAgICAgICAgICAgICgicHkubWltZSIsIC0xLCByIlNvZnR3YXJlXENsYXNzZXNcLiIrZXh0LCAiQ29udGVudCBUeXBlIiwKLSAgICAgICAgICAgICAgInRleHQvcGxhaW4iLCAiUkVHSVNUUlkuZGVmIiksCi0gICAgICAgICAgICAgKCJweXcubWltZSIsIC0xLCByIlNvZnR3YXJlXENsYXNzZXNcLiIrZXh0Kyd3JywgIkNvbnRlbnQgVHlwZSIsCi0gICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiwgIlJFR0lTVFJZLmRlZiIpLAotICAgICAgICAgICAgICNWZXJicwotICAgICAgICAgICAgICgicHkub3BlbiIsIC0xLCBwYXQgJSAodGVzdHByZWZpeCwgIiIsICJvcGVuIiksICIiLAotICAgICAgICAgICAgICByJyJbTEFVTkNIRVJESVJdcHkuZXhlIiAiJTEiICUqJywgIlJFR0lTVFJZLmRlZiIpLAotICAgICAgICAgICAgICgicHl3Lm9wZW4iLCAtMSwgcGF0ICUgKHRlc3RwcmVmaXgsICJOb0NvbiIsICJvcGVuIiksICIiLAotICAgICAgICAgICAgICByJyJbTEFVTkNIRVJESVJdcHl3LmV4ZSIgIiUxIiAlKicsICJSRUdJU1RSWS5kZWYiKSwKLSAgICAgICAgICAgICAoInB5Yy5vcGVuIiwgLTEsIHBhdCAlICh0ZXN0cHJlZml4LCAiQ29tcGlsZWQiLCAib3BlbiIpLCAiIiwKLSAgICAgICAgICAgICAgciciW0xBVU5DSEVSRElSXXB5LmV4ZSIgIiUxIiAlKicsICJSRUdJU1RSWS5kZWYiKSwKLSAgICAgICAgICAgICBdICsgdGNsX3ZlcmJzICsgWwotICAgICAgICAgICAgICNJY29ucwotICAgICAgICAgICAgICgicHkuaWNvbiIsIC0xLCBwYXQyICUgKHRlc3RwcmVmaXgsICIiKSwgIiIsCi0gICAgICAgICAgICAgIHInW0RMTHNdcHkuaWNvJywgIlJFR0lTVFJZLmRlZiIpLAotICAgICAgICAgICAgICgicHl3Lmljb24iLCAtMSwgcGF0MiAlICh0ZXN0cHJlZml4LCAiTm9Db24iKSwgIiIsCi0gICAgICAgICAgICAgIHInW0RMTHNdcHkuaWNvJywgIlJFR0lTVFJZLmRlZiIpLAotICAgICAgICAgICAgICgicHljLmljb24iLCAtMSwgcGF0MiAlICh0ZXN0cHJlZml4LCAiQ29tcGlsZWQiKSwgIiIsCi0gICAgICAgICAgICAgIHInW0RMTHNdcHljLmljbycsICJSRUdJU1RSWS5kZWYiKSwKLSAgICAgICAgICAgICAjIERlc2NyaXB0aW9ucwotICAgICAgICAgICAgICgicHkudHh0IiwgLTEsIHBhdDMgJSAodGVzdHByZWZpeCwgIiIpLCAiIiwKLSAgICAgICAgICAgICAgIlB5dGhvbiBGaWxlIiwgIlJFR0lTVFJZLmRlZiIpLAotICAgICAgICAgICAgICgicHl3LnR4dCIsIC0xLCBwYXQzICUgKHRlc3RwcmVmaXgsICJOb0NvbiIpLCAiIiwKLSAgICAgICAgICAgICAgIlB5dGhvbiBGaWxlIChubyBjb25zb2xlKSIsICJSRUdJU1RSWS5kZWYiKSwKLSAgICAgICAgICAgICAoInB5Yy50eHQiLCAtMSwgcGF0MyAlICh0ZXN0cHJlZml4LCAiQ29tcGlsZWQiKSwgIiIsCi0gICAgICAgICAgICAgICJDb21waWxlZCBQeXRob24gRmlsZSIsICJSRUdJU1RSWS5kZWYiKSwKLSAgICAgICAgICAgICAjIERyb3AgSGFuZGxlcgotICAgICAgICAgICAgICgicHkuZHJvcCIsIC0xLCBwYXQ0ICUgKHRlc3RwcmVmaXgsICIiKSwgIiIsCi0gICAgICAgICAgICAgICJ7NjAyNTRDQTUtOTUzQi0xMUNGLThDOTYtMDBBQTAwQjg3MDhDfSIsICJSRUdJU1RSWS5kZWYiKSwKLSAgICAgICAgICAgICAoInB5dy5kcm9wIiwgLTEsIHBhdDQgJSAodGVzdHByZWZpeCwgIk5vQ29uIiksICIiLAotICAgICAgICAgICAgICAiezYwMjU0Q0E1LTk1M0ItMTFDRi04Qzk2LTAwQUEwMEI4NzA4Q30iLCAiUkVHSVNUUlkuZGVmIiksCi0gICAgICAgICAgICAgKCJweWMuZHJvcCIsIC0xLCBwYXQ0ICUgKHRlc3RwcmVmaXgsICJDb21waWxlZCIpLCAiIiwKLSAgICAgICAgICAgICAgIns2MDI1NENBNS05NTNCLTExQ0YtOEM5Ni0wMEFBMDBCODcwOEN9IiwgIlJFR0lTVFJZLmRlZiIpLAotICAgICAgICAgICAgXSkKLQotICAgICMgUEFUSEVYVAotICAgIGFkZF9kYXRhKGRiLCAiRW52aXJvbm1lbnQiLAotICAgICAgICAgICAgIFsoIlBhdGhFeHRBZGRpdGlvbiIsICI9LSpQYXRoRXh0IiwgIlt+XTsuUFkiLCAiUkVHSVNUUlkuZGVmIildKQotCi0gICAgIyBSZWdpc3RyeSBrZXlzCi0gICAgcHJlZml4ID0gciJTb2Z0d2FyZVwlc1B5dGhvblxQeXRob25Db3JlXCVzIiAlICh0ZXN0cHJlZml4LCBzaG9ydF92ZXJzaW9uKQotICAgIGFkZF9kYXRhKGRiLCAiUmVnaXN0cnkiLAotICAgICAgICAgICAgIFsoIkluc3RhbGxQYXRoIiwgLTEsIHByZWZpeCtyIlxJbnN0YWxsUGF0aCIsICIiLCAiW1RBUkdFVERJUl0iLCAiUkVHSVNUUlkiKSwKLSAgICAgICAgICAgICAgKCJJbnN0YWxsR3JvdXAiLCAtMSwgcHJlZml4K3IiXEluc3RhbGxQYXRoXEluc3RhbGxHcm91cCIsICIiLAotICAgICAgICAgICAgICAgIlB5dGhvbiAlcyIgJSBzaG9ydF92ZXJzaW9uLCAiUkVHSVNUUlkiKSwKLSAgICAgICAgICAgICAgKCJQeXRob25QYXRoIiwgLTEsIHByZWZpeCtyIlxQeXRob25QYXRoIiwgIiIsCi0gICAgICAgICAgICAgICByIltUQVJHRVRESVJdTGliO1tUQVJHRVRESVJdRExMcyIsICJSRUdJU1RSWSIpLAotICAgICAgICAgICAgICAoIkRvY3VtZW50YXRpb24iLCAtMSwgcHJlZml4K3IiXEhlbHBcTWFpbiBQeXRob24gRG9jdW1lbnRhdGlvbiIsICIiLAotICAgICAgICAgICAgICAgIltUQVJHRVRESVJdRG9jXFwiK2RvY2ZpbGUgLCAiUkVHSVNUUlkuZG9jIiksCi0gICAgICAgICAgICAgICgiTW9kdWxlcyIsIC0xLCBwcmVmaXgrciJcTW9kdWxlcyIsICIrIiwgTm9uZSwgIlJFR0lTVFJZIiksCi0gICAgICAgICAgICAgICgiQXBwUGF0aHMiLCAtMSwgciJTb2Z0d2FyZVxNaWNyb3NvZnRcV2luZG93c1xDdXJyZW50VmVyc2lvblxBcHAgUGF0aHNcUHl0aG9uLmV4ZSIsCi0gICAgICAgICAgICAgICAiIiwgciJbVEFSR0VURElSXVB5dGhvbi5leGUiLCAiUkVHSVNUUlkuZGVmIiksCi0gICAgICAgICAgICAgICgiRGlzcGxheUljb24iLCAtMSwKLSAgICAgICAgICAgICAgIHIiU29mdHdhcmVcTWljcm9zb2Z0XFdpbmRvd3NcQ3VycmVudFZlcnNpb25cVW5pbnN0YWxsXCVzIiAlIHByb2R1Y3RfY29kZSwKLSAgICAgICAgICAgICAgICJEaXNwbGF5SWNvbiIsICJbVEFSR0VURElSXXB5dGhvbi5leGUiLCAiUkVHSVNUUlkiKSwKLSAgICAgICAgICAgICAgIyBGYWtlIHJlZ2lzdHJ5IGVudHJ5IHRvIGFsbG93IGluc3RhbGxlciB0byB0cmFjayB3aGV0aGVyIGVuc3VyZXBpcCBoYXMgYmVlbiBydW4KLSAgICAgICAgICAgICAgKCJFbnN1cmVQaXBSdW4iLCAtMSwgcHJlZml4K3IiXEVuc3VyZVBpcFJ1biIsICIiLCAiIzEiLCAiUkVHSVNUUlkuZW5zdXJlcGlwIiksCi0gICAgICAgICAgICAgIF0pCi0gICAgIyBTaG9ydGN1dHMsIHNlZSAiU2hvcnRjdXQgVGFibGUiCi0gICAgYWRkX2RhdGEoZGIsICJEaXJlY3RvcnkiLAotICAgICAgICAgICAgIFsoIlByb2dyYW1NZW51Rm9sZGVyIiwgIlRBUkdFVERJUiIsICIuIiksCi0gICAgICAgICAgICAgICgiTWVudURpciIsICJQcm9ncmFtTWVudUZvbGRlciIsICJQWSVzJXN8JXNQeXRob24gJXMuJXMiICUgKG1ham9yLG1pbm9yLHRlc3RwcmVmaXgsbWFqb3IsbWlub3IpKV0pCi0gICAgYWRkX2RhdGEoZGIsICJSZW1vdmVGaWxlIiwKLSAgICAgICAgICAgICBbKCJNZW51RGlyIiwgIlRBUkdFVERJUiIsIE5vbmUsICJNZW51RGlyIiwgMildKQotICAgIHRjbHRrc2hvcnRjdXRzID0gW10KLSAgICBpZiBtc2lsaWIuV2luNjQ6Ci0gICAgICAgIGJpdHRlZCA9ICI2NCBiaXQiCi0gICAgZWxzZToKLSAgICAgICAgYml0dGVkID0gIjMyIGJpdCIKLSAgICBpZiBoYXZlX3RjbDoKLSAgICAgICAgdGNsdGtzaG9ydGN1dHMgPSBbCi0gICAgICAgICAgICAgICgiSURMRSIsICJNZW51RGlyIiwKLSAgICAgICAgICAgICAgICJJRExFfElETEUgKFB5dGhvbiAiK3Nob3J0X3ZlcnNpb24rIiBHVUkgLSAiK2JpdHRlZCsiKSIsCi0gICAgICAgICAgICAgICAicHl0aG9udy5leGUiLCB0Y2x0ay5pZCwgciciW1RBUkdFVERJUl1MaWJcaWRsZWxpYlxpZGxlLnB5dyInLAotICAgICAgICAgICAgICAgTm9uZSwgTm9uZSwgInB5dGhvbl9pY29uLmV4ZSIsIDAsIE5vbmUsICJUQVJHRVRESVIiKSwKLSAgICAgICAgICAgICAgXQotICAgIGFkZF9kYXRhKGRiLCAiU2hvcnRjdXQiLAotICAgICAgICAgICAgIHRjbHRrc2hvcnRjdXRzICsKLSAgICAgICAgICAgICBbIyBBZHZlcnRpc2VkIHNob3J0Y3V0czogdGFyZ2V0cyBhcmUgZmVhdHVyZXMsIG5vdCBmaWxlcwotICAgICAgICAgICAgICAoIlB5dGhvbiIsICJNZW51RGlyIiwKLSAgICAgICAgICAgICAgICJQWVRIT058UHl0aG9uICIrc2hvcnRfdmVyc2lvbisiIChjb21tYW5kIGxpbmUgLSAiK2JpdHRlZCsiKSIsCi0gICAgICAgICAgICAgICAicHl0aG9uLmV4ZSIsIGRlZmF1bHRfZmVhdHVyZS5pZCwgTm9uZSwgTm9uZSwgTm9uZSwKLSAgICAgICAgICAgICAgICJweXRob25faWNvbi5leGUiLCAyLCBOb25lLCAiVEFSR0VURElSIiksCi0gICAgICAgICAgICAgICMgQWR2ZXJ0aXNpbmcgdGhlIE1hbnVhbCBicmVha3Mgb24gKHNvbWU/KSBXaW45OCwgYW5kIHRoZSBzaG9ydGN1dCBsYWNrcyBhbgotICAgICAgICAgICAgICAjIGljb24gZmlyc3QuCi0gICAgICAgICAgICAgICMoIk1hbnVhbCIsICJNZW51RGlyIiwgIk1BTlVBTHxQeXRob24gTWFudWFscyIsICJkb2N1bWVudGF0aW9uIiwKLSAgICAgICAgICAgICAgIyBodG1sZmlsZXMuaWQsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotICAgICAgICAgICAgICAjIyBOb24tYWR2ZXJ0aXNlZCBzaG9ydGN1dHM6IG11c3QgYmUgYXNzb2NpYXRlZCB3aXRoIGEgcmVnaXN0cnkgY29tcG9uZW50Ci0gICAgICAgICAgICAgICgiTWFudWFsIiwgIk1lbnVEaXIiLCAiTUFOVUFMfFB5dGhvbiAiK3Nob3J0X3ZlcnNpb24rIiBNYW51YWxzIiwKLSAgICAgICAgICAgICAgICJSRUdJU1RSWS5kb2MiLCAiWyMlc10iICUgZG9jZmlsZSwKLSAgICAgICAgICAgICAgIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotICAgICAgICAgICAgICAoIlB5RG9jIiwgIk1lbnVEaXIiLAotICAgICAgICAgICAgICAgIk1PRERPQ1N8UHl0aG9uICIrc2hvcnRfdmVyc2lvbisiIERvY3MgU2VydmVyIChweWRvYyAtICIrCi0gICAgICAgICAgICAgICBiaXR0ZWQrIikiLCAicHl0aG9uLmV4ZSIsIGRlZmF1bHRfZmVhdHVyZS5pZCwgcictbSBweWRvYyAtYicsCi0gICAgICAgICAgICAgICBOb25lLCBOb25lLCAicHl0aG9uX2ljb24uZXhlIiwgMCwgTm9uZSwgIlRBUkdFVERJUiIpLAotICAgICAgICAgICAgICAoIlVuaW5zdGFsbCIsICJNZW51RGlyIiwgIlVOSU5TVHxVbmluc3RhbGwgUHl0aG9uICIrCi0gICAgICAgICAgICAgICBzaG9ydF92ZXJzaW9uKyIgKCIrYml0dGVkKyIpIiwgIlJFR0lTVFJZIiwKLSAgICAgICAgICAgICAgIFN5c3RlbUZvbGRlck5hbWUrIm1zaWV4ZWMiLCAgIi94JXMiICUgcHJvZHVjdF9jb2RlLAotICAgICAgICAgICAgICAgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0gICAgICAgICAgICAgIF0pCi0gICAgZGIuQ29tbWl0KCkKLQotZGVmIGJ1aWxkX3BkYnppcCgpOgotICAgIHBkYmV4Y2x1ZGUgPSBbJ2tpbGxfcHl0aG9uLnBkYicsICdtYWtlX2J1aWxkaW5mby5wZGInLAotICAgICAgICAgICAgICAgICAgJ21ha2VfdmVyc2lvbmluZm8ucGRiJ10KLSAgICBwYXRoID0gInB5dGhvbi0lcyVzLXBkYi56aXAiICUgKGZ1bGxfY3VycmVudF92ZXJzaW9uLCBtc2lsaWIuYXJjaF9leHQpCi0gICAgcGRiemlwID0gemlwZmlsZS5aaXBGaWxlKHBhdGgsICd3JykKLSAgICBmb3IgZiBpbiBnbG9iLmdsb2IxKG9zLnBhdGguam9pbihzcmNkaXIsIFBDQlVJTEQpLCAiKi5wZGIiKToKLSAgICAgICAgaWYgZiBub3QgaW4gcGRiZXhjbHVkZSBhbmQgbm90IGYuZW5kc3dpdGgoJ19kLnBkYicpOgotICAgICAgICAgICAgcGRiemlwLndyaXRlKG9zLnBhdGguam9pbihzcmNkaXIsIFBDQlVJTEQsIGYpLCBmKQotICAgIHBkYnppcC5jbG9zZSgpCi0KLWRiLG1zaW5hbWUgPSBidWlsZF9kYXRhYmFzZSgpCi10cnk6Ci0gICAgYWRkX2ZlYXR1cmVzKGRiKQotICAgIGFkZF91aShkYikKLSAgICBhZGRfZmlsZXMoZGIpCi0gICAgYWRkX3JlZ2lzdHJ5KGRiKQotICAgIHJlbW92ZV9vbGRfdmVyc2lvbnMoZGIpCi0gICAgZGIuQ29tbWl0KCkKLWZpbmFsbHk6Ci0gICAgZGVsIGRiCi0KLSMgTWVyZ2UgQ1JUIGludG8gTVNJIGZpbGUuIFRoaXMgcmVxdWlyZXMgdGhlIGRhdGFiYXNlIHRvIGJlIGNsb3NlZC4KLW1vZF9kaXIgPSBvcy5wYXRoLmpvaW4ob3MuZW52aXJvblsiUHJvZ3JhbUZpbGVzIl0sICJDb21tb24gRmlsZXMiLCAiTWVyZ2UgTW9kdWxlcyIpCi1pZiBtc2lsaWIuV2luNjQ6Ci0gICAgbW9kdWxlcyA9IFsiTWljcm9zb2Z0X1ZDMTAwX0NSVF94NjQubXNtIl0KLWVsc2U6Ci0gICAgbW9kdWxlcyA9IFsiTWljcm9zb2Z0X1ZDMTAwX0NSVF94ODYubXNtIl0KLQotZm9yIGksIG4gaW4gZW51bWVyYXRlKG1vZHVsZXMpOgotICAgIG1vZHVsZXNbaV0gPSBvcy5wYXRoLmpvaW4obW9kX2RpciwgbikKLQotZGVmIG1lcmdlKG1zaSwgZmVhdHVyZSwgcm9vdGRpciwgbW9kdWxlcyk6Ci0gICAgY2FiX2FuZF9maWxlY291bnQgPSBbXQotICAgICMgU3RlcCAxOiBNZXJnZSBkYXRhYmFzZXMsIGV4dHJhY3QgY2FiZmlsZXMKLSAgICBtID0gbXNpbGliLk1ha2VNZXJnZTIoKQotICAgIG0uT3BlbkxvZygibWVyZ2UubG9nIikKLSAgICBtLk9wZW5EYXRhYmFzZShtc2kpCi0gICAgZm9yIG1vZHVsZSBpbiBtb2R1bGVzOgotICAgICAgICBwcmludCBtb2R1bGUKLSAgICAgICAgbS5PcGVuTW9kdWxlKG1vZHVsZSwwKQotICAgICAgICBtLk1lcmdlKGZlYXR1cmUsIHJvb3RkaXIpCi0gICAgICAgIHByaW50ICJFcnJvcnM6IgotICAgICAgICBmb3IgZSBpbiBtLkVycm9yczoKLSAgICAgICAgICAgIHByaW50IGUuVHlwZSwgZS5Nb2R1bGVUYWJsZSwgZS5EYXRhYmFzZVRhYmxlCi0gICAgICAgICAgICBwcmludCAiICAgTW9ka2V5czoiLAotICAgICAgICAgICAgZm9yIHMgaW4gZS5Nb2R1bGVLZXlzOiBwcmludCBzLAotICAgICAgICAgICAgcHJpbnQKLSAgICAgICAgICAgIHByaW50ICIgICBEQktleXM6IiwKLSAgICAgICAgICAgIGZvciBzIGluIGUuRGF0YWJhc2VLZXlzOiBwcmludCBzLAotICAgICAgICAgICAgcHJpbnQKLSAgICAgICAgY2FibmFtZSA9IHRlbXBmaWxlLm1rdGVtcChzdWZmaXg9Ii5jYWIiKQotICAgICAgICBtLkV4dHJhY3RDQUIoY2FibmFtZSkKLSAgICAgICAgY2FiX2FuZF9maWxlY291bnQuYXBwZW5kKChjYWJuYW1lLCBsZW4obS5Nb2R1bGVGaWxlcykpKQotICAgICAgICBtLkNsb3NlTW9kdWxlKCkKLSAgICBtLkNsb3NlRGF0YWJhc2UoVHJ1ZSkKLSAgICBtLkNsb3NlTG9nKCkKLQotICAgICMgU3RlcCAyOiBBZGQgQ0FCIGZpbGVzCi0gICAgaSA9IG1zaWxpYi5NYWtlSW5zdGFsbGVyKCkKLSAgICBkYiA9IGkuT3BlbkRhdGFiYXNlKG1zaSwgY29uc3RhbnRzLm1zaU9wZW5EYXRhYmFzZU1vZGVUcmFuc2FjdCkKLQotICAgIHYgPSBkYi5PcGVuVmlldygiU0VMRUNUIExhc3RTZXF1ZW5jZSBGUk9NIE1lZGlhIikKLSAgICB2LkV4ZWN1dGUoTm9uZSkKLSAgICBtYXhtZWRpYSA9IC0xCi0gICAgd2hpbGUgMToKLSAgICAgICAgciA9IHYuRmV0Y2goKQotICAgICAgICBpZiBub3QgcjogYnJlYWsKLSAgICAgICAgc2VxID0gci5JbnRlZ2VyRGF0YSgxKQotICAgICAgICBpZiBzZXEgPiBtYXhtZWRpYToKLSAgICAgICAgICAgIG1heG1lZGlhID0gc2VxCi0gICAgcHJpbnQgIlN0YXJ0IG9mIE1lZGlhIiwgbWF4bWVkaWEKLQotICAgIGZvciBjYWJuYW1lLCBjb3VudCBpbiBjYWJfYW5kX2ZpbGVjb3VudDoKLSAgICAgICAgc3RyZWFtID0gIm1lcmdlZCVkIiAlIG1heG1lZGlhCi0gICAgICAgIG1zaWxpYi5hZGRfZGF0YShkYiwgIk1lZGlhIiwKLSAgICAgICAgICAgICAgICBbKG1heG1lZGlhKzEsIG1heG1lZGlhK2NvdW50LCBOb25lLCAiIyIrc3RyZWFtLCBOb25lLCBOb25lKV0pCi0gICAgICAgIG1zaWxpYi5hZGRfc3RyZWFtKGRiLCBzdHJlYW0sICBjYWJuYW1lKQotICAgICAgICBvcy51bmxpbmsoY2FibmFtZSkKLSAgICAgICAgbWF4bWVkaWEgKz0gY291bnQKLSAgICAjIFRoZSBtZXJnZSBtb2R1bGUgc2V0cyBBTExVU0VSUyB0byAxIGluIHRoZSBwcm9wZXJ0eSB0YWJsZS4KLSAgICAjIFRoaXMgaXMgdW5kZXNpcmVkOyBkZWxldGUgdGhhdAotICAgIHYgPSBkYi5PcGVuVmlldygiREVMRVRFIEZST00gUHJvcGVydHkgV0hFUkUgUHJvcGVydHk9J0FMTFVTRVJTJyIpCi0gICAgdi5FeGVjdXRlKE5vbmUpCi0gICAgdi5DbG9zZSgpCi0gICAgZGIuQ29tbWl0KCkKLQotbWVyZ2UobXNpbmFtZSwgIlNoYXJlZENSVCIsICJUQVJHRVRESVIiLCBtb2R1bGVzKQotCi0jIGNlcnRuYW1lIChmcm9tIGNvbmZpZy5weSkgc2hvdWxkIGJlIChhIHN1YnN0cmluZyBvZikKLSMgdGhlIGNlcnRpZmljYXRlIHN1YmplY3QsIGUuZy4gIlB5dGhvbiBTb2Z0d2FyZSBGb3VuZGF0aW9uIgotaWYgY2VydG5hbWU6Ci0gICAgb3Muc3lzdGVtKCdzaWdudG9vbCBzaWduIC9uICIlcyIgJwotICAgICAgJy90IGh0dHA6Ly90aW1lc3RhbXAudmVyaXNpZ24uY29tL3NjcmlwdHMvdGltZXN0YW1wLmRsbCAnCi0gICAgICAnL2QgIlB5dGhvbiAlcyIgJwotICAgICAgJyVzJyAlIChjZXJ0bmFtZSwgZnVsbF9jdXJyZW50X3ZlcnNpb24sIG1zaW5hbWUpKQotCi1pZiBwZGJ6aXA6Ci0gICAgYnVpbGRfcGRiemlwKCkKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9tc2kudGFyZ2V0cyBiL1Rvb2xzL21zaS9tc2kudGFyZ2V0cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNTA3ZGMzCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL21zaS50YXJnZXRzCkBAIC0wLDAgKzEsNjIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisKKyAgICA8VGFyZ2V0IE5hbWU9IlByb2Nlc3NJbnN0YWxsRmlsZXMiIEFmdGVyVGFyZ2V0cz0iUHJlcGFyZUZvckJ1aWxkIiBDb25kaXRpb249IkAoSW5zdGFsbEZpbGVzKSAhPSAnJyI+CisgICAgICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgICAgICAgPF9GaWxlTGlzdFRhcmdldD4kKEludGVybWVkaWF0ZU91dHB1dFBhdGgpJChNU0J1aWxkUHJvamVjdE5hbWUpLmcuY3N2PC9fRmlsZUxpc3RUYXJnZXQ+CisgICAgICAgICAgICA8X0luc3RhbGxGaWxlc1RhcmdldD4kKEludGVybWVkaWF0ZU91dHB1dFBhdGgpJChNU0J1aWxkUHJvamVjdE5hbWUpLmcud3hzPC9fSW5zdGFsbEZpbGVzVGFyZ2V0PgorICAgICAgICA8L1Byb3BlcnR5R3JvdXA+CisgICAgICAgIAorICAgICAgICA8SXRlbUdyb3VwPgorICAgICAgICAgICAgPEluc3RhbGxGaWxlcz4KKyAgICAgICAgICAgICAgICA8X1NvdXJjZT4lKFNvdXJjZSkkKFttc2J1aWxkXTo6TWFrZVJlbGF0aXZlKCUoU291cmNlQmFzZSksICUoRnVsbFBhdGgpKSk8L19Tb3VyY2U+CisgICAgICAgICAgICAgICAgPF9UYXJnZXQ+JShUYXJnZXRfKSQoW21zYnVpbGRdOjpNYWtlUmVsYXRpdmUoJShUYXJnZXRCYXNlKSwgJShGdWxsUGF0aCkpKTwvX1RhcmdldD4KKyAgICAgICAgICAgIDwvSW5zdGFsbEZpbGVzPgorICAgICAgICA8L0l0ZW1Hcm91cD4KKyAgICAgICAgCisgICAgICAgIDxXcml0ZUxpbmVzVG9GaWxlIEZpbGU9IiQoX0ZpbGVMaXN0VGFyZ2V0KSIgTGluZXM9IkAoSW5zdGFsbEZpbGVzLT4nJnF1b3Q7JShfU291cmNlKSZxdW90OywmcXVvdDslKF9UYXJnZXQpJnF1b3Q7LCZxdW90OyUoR3JvdXApJnF1b3Q7LCZxdW90OyUoRGlza0lkKSZxdW90OywmcXVvdDslKENvbmRpdGlvbikmcXVvdDsnKSIgT3ZlcndyaXRlPSJ0cnVlIiAvPgorICAgICAgICA8RXhlYyBDb21tYW5kPSciJChQeXRob25FeGUpIiBjc3ZfdG9fd3hzLnB5ICIkKF9GaWxlTGlzdFRhcmdldCkiICIkKF9JbnN0YWxsRmlsZXNUYXJnZXQpIicKKyAgICAgICAgICAgICAgV29ya2luZ0RpcmVjdG9yeT0iJChNU0J1aWxkVGhpc0ZpbGVEaXJlY3RvcnkpIiAvPgorCisgICAgICAgIDxJdGVtR3JvdXA+CisgICAgICAgICAgICA8RmlsZVdyaXRlcyBJbmNsdWRlPSIkKF9GaWxlTGlzdFRhcmdldCk7JChfSW5zdGFsbEZpbGVzVGFyZ2V0KSIgLz4KKyAgICAgICAgICAgIDxDb21waWxlIEluY2x1ZGU9IiQoX0luc3RhbGxGaWxlc1RhcmdldCkiIC8+CisgICAgICAgIDwvSXRlbUdyb3VwPgorICAgIDwvVGFyZ2V0PgorCisgICAgPFRhcmdldCBOYW1lPSJfVHJhbnNmb3JtV3hsVGVtcGxhdGVzIiBBZnRlclRhcmdldHM9IlByZXBhcmVGb3JCdWlsZCIgSW5wdXRzPSJAKFd4bFRlbXBsYXRlKSIgT3V0cHV0cz0iJChJbnRlcm1lZGlhdGVPdXRwdXRQYXRoKSUoRmlsZW5hbWUpLnd4bCI+CisgICAgICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgICAgICAgPF9Db250ZW50PiQoW1N5c3RlbS5JTy5GaWxlXTo6UmVhZEFsbFRleHQoJShXeGxUZW1wbGF0ZS5GdWxsUGF0aCkpLlJlcGxhY2UoYHt7U2hvcnRWZXJzaW9ufX1gLCBgJChNYWpvclZlcnNpb25OdW1iZXIpLiQoTWlub3JWZXJzaW9uTnVtYmVyKWApLlJlcGxhY2UoYHt7TG9uZ1ZlcnNpb259fWAsIGAkKFB5dGhvblZlcnNpb24pYCkuUmVwbGFjZShge3tCaXRuZXNzfX1gLCBgJChCaXRuZXNzKWApKTwvX0NvbnRlbnQ+CisgICAgICAgICAgICA8X0V4aXN0aW5nQ29udGVudCBDb25kaXRpb249IkV4aXN0cygnJChJbnRlcm1lZGlhdGVPdXRwdXRQYXRoKSUoV3hsVGVtcGxhdGUuRmlsZW5hbWUpLnd4bCcpIj4kKFtTeXN0ZW0uSU8uRmlsZV06OlJlYWRBbGxUZXh0KCQoSW50ZXJtZWRpYXRlT3V0cHV0UGF0aCklKFd4bFRlbXBsYXRlLkZpbGVuYW1lKS53eGwpKTwvX0V4aXN0aW5nQ29udGVudD4KKyAgICAgICAgPC9Qcm9wZXJ0eUdyb3VwPgorICAgICAgICAKKyAgICAgICAgPFdyaXRlTGluZXNUb0ZpbGUgRmlsZT0iJChJbnRlcm1lZGlhdGVPdXRwdXRQYXRoKSUoV3hsVGVtcGxhdGUuRmlsZW5hbWUpLnd4bCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgTGluZXM9IiQoX0NvbnRlbnQpIgorICAgICAgICAgICAgICAgICAgICAgICAgICBPdmVyd3JpdGU9InRydWUiCisgICAgICAgICAgICAgICAgICAgICAgICAgIENvbmRpdGlvbj0iJChfQ29udGVudCkgIT0gJChfRXhpc3RpbmdDb250ZW50KSIgLz4KKyAgICAgICAgCisgICAgICAgIDxJdGVtR3JvdXA+CisgICAgICAgICAgICA8RW1iZWRkZWRSZXNvdXJjZSBJbmNsdWRlPSIkKEludGVybWVkaWF0ZU91dHB1dFBhdGgpJShXeGxUZW1wbGF0ZS5GaWxlbmFtZSkud3hsIiAvPgorICAgICAgICAgICAgPEZpbGVXcml0ZXMgSW5jbHVkZT0iJChJbnRlcm1lZGlhdGVPdXRwdXRQYXRoKSUoV3hsVGVtcGxhdGUuRmlsZW5hbWUpLnd4bCIgLz4KKyAgICAgICAgPC9JdGVtR3JvdXA+CisgICAgPC9UYXJnZXQ+CisKKyAgICA8SW1wb3J0IFByb2plY3Q9IiQoV2l4VGFyZ2V0c1BhdGgpIiAvPgorCisgICAgPFRhcmdldCBOYW1lPSJTaWduQ2FicyI+CisgICAgICAgIDxFcnJvciBUZXh0PSJVbmFibGUgdG8gbG9jYXRlIHNpZ250b29sLmV4ZS4gU2V0IC9wOlNpZ25Ub29sUGF0aCBhbmQgcmVidWlsZCIgQ29uZGl0aW9uPSInJChfU2lnbkNvbW1hbmQpJyA9PSAnJyIgLz4KKyAgICAgICAgPEV4ZWMgQ29tbWFuZD0iJChfU2lnbkNvbW1hbmQpIEAoU2lnbkNhYnMtPicmcXVvdDslKEZ1bGxQYXRoKSZxdW90OycsJyAnKSIgQ29udGludWVPbkVycm9yPSJmYWxzZSIgLz4KKyAgICA8L1RhcmdldD4KKyAgICA8VGFyZ2V0IE5hbWU9IlNpZ25Nc2kiPgorICAgICAgICA8RXJyb3IgVGV4dD0iVW5hYmxlIHRvIGxvY2F0ZSBzaWdudG9vbC5leGUuIFNldCAvcDpTaWduVG9vbFBhdGggYW5kIHJlYnVpbGQiIENvbmRpdGlvbj0iJyQoX1NpZ25Db21tYW5kKScgPT0gJyciIC8+CisgICAgICAgIDxFeGVjIENvbW1hbmQ9IiQoX1NpZ25Db21tYW5kKSBAKFNpZ25Nc2ktPicmcXVvdDslKEZ1bGxQYXRoKSZxdW90OycsJyAnKSIgQ29udGludWVPbkVycm9yPSJmYWxzZSIgLz4KKyAgICA8L1RhcmdldD4KKyAgICA8VGFyZ2V0IE5hbWU9IlNpZ25CdW5kbGVFbmdpbmUiPgorICAgICAgICA8RXJyb3IgVGV4dD0iVW5hYmxlIHRvIGxvY2F0ZSBzaWdudG9vbC5leGUuIFNldCAvcDpTaWduVG9vbFBhdGggYW5kIHJlYnVpbGQiIENvbmRpdGlvbj0iJyQoX1NpZ25Db21tYW5kKScgPT0gJyciIC8+CisgICAgICAgIDxFeGVjIENvbW1hbmQ9IiQoX1NpZ25Db21tYW5kKSBAKFNpZ25CdW5kbGVFbmdpbmUtPicmcXVvdDslKEZ1bGxQYXRoKSZxdW90OycsJyAnKSIgQ29udGludWVPbkVycm9yPSJmYWxzZSIgLz4KKyAgICA8L1RhcmdldD4KKyAgICA8VGFyZ2V0IE5hbWU9IlNpZ25CdW5kbGUiPgorICAgICAgICA8RXJyb3IgVGV4dD0iVW5hYmxlIHRvIGxvY2F0ZSBzaWdudG9vbC5leGUuIFNldCAvcDpTaWduVG9vbFBhdGggYW5kIHJlYnVpbGQiIENvbmRpdGlvbj0iJyQoX1NpZ25Db21tYW5kKScgPT0gJyciIC8+CisgICAgICAgIDxFeGVjIENvbW1hbmQ9IiQoX1NpZ25Db21tYW5kKSBAKFNpZ25CdW5kbGUtPicmcXVvdDslKEZ1bGxQYXRoKSZxdW90OycsJyAnKSIgQ29udGludWVPbkVycm9yPSJmYWxzZSIgLz4KKyAgICA8L1RhcmdldD4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvbXNpbGliLnB5IGIvVG9vbHMvbXNpL21zaWxpYi5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzIwOGI5MS4uMDAwMDAwMAotLS0gYS9Ub29scy9tc2kvbXNpbGliLnB5CisrKyAvZGV2L251bGwKQEAgLTEsNjc5ICswLDAgQEAKLSMgTWljcm9zb2Z0IEluc3RhbGxlciBMaWJyYXJ5Ci0jIChDKSAyMDAzIE1hcnRpbiB2LiBMb2V3aXMKLQotaW1wb3J0IHdpbjMyY29tLmNsaWVudC5nZW5jYWNoZQotaW1wb3J0IHdpbjMyY29tLmNsaWVudAotaW1wb3J0IHB5dGhvbmNvbSwgcHl3aW50eXBlcwotZnJvbSB3aW4zMmNvbS5jbGllbnQgaW1wb3J0IGNvbnN0YW50cwotaW1wb3J0IHJlLCBzdHJpbmcsIG9zLCBzZXRzLCBnbG9iLCBzdWJwcm9jZXNzLCBzeXMsIF93aW5yZWcsIHN0cnVjdCwgX21zaQotCi10cnk6Ci0gICAgYmFzZXN0cmluZwotZXhjZXB0IE5hbWVFcnJvcjoKLSAgICBiYXNlc3RyaW5nID0gKHN0ciwgdW5pY29kZSkKLQotIyBQYXJ0aWFsbHkgdGFrZW4gZnJvbSBXaW5lCi1kYXRhc2l6ZW1hc2s9ICAgICAgMHgwMGZmCi10eXBlX3ZhbGlkPSAgICAgICAgMHgwMTAwCi10eXBlX2xvY2FsaXphYmxlPSAgMHgwMjAwCi0KLXR5cGVtYXNrPSAgICAgICAgICAweDBjMDAKLXR5cGVfbG9uZz0gICAgICAgICAweDAwMDAKLXR5cGVfc2hvcnQ9ICAgICAgICAweDA0MDAKLXR5cGVfc3RyaW5nPSAgICAgICAweDBjMDAKLXR5cGVfYmluYXJ5PSAgICAgICAweDA4MDAKLQotdHlwZV9udWxsYWJsZT0gICAgIDB4MTAwMAotdHlwZV9rZXk9ICAgICAgICAgIDB4MjAwMAotIyBYWFggdGVtcG9yYXJ5LCBsb2NhbGl6YWJsZT8KLWtub3duYml0cyA9IGRhdGFzaXplbWFzayB8IHR5cGVfdmFsaWQgfCB0eXBlX2xvY2FsaXphYmxlIHwgXAotICAgICAgICAgICAgdHlwZW1hc2sgfCB0eXBlX251bGxhYmxlIHwgdHlwZV9rZXkKLQotIyBTdW1tYXJ5IEluZm8gUHJvcGVydHkgSURzCi1QSURfQ09ERVBBR0U9MQotUElEX1RJVExFPTIKLVBJRF9TVUJKRUNUPTMKLVBJRF9BVVRIT1I9NAotUElEX0tFWVdPUkRTPTUKLVBJRF9DT01NRU5UUz02Ci1QSURfVEVNUExBVEU9NwotUElEX0xBU1RBVVRIT1I9OAotUElEX1JFVk5VTUJFUj05Ci1QSURfTEFTVFBSSU5URUQ9MTEKLVBJRF9DUkVBVEVfRFRNPTEyCi1QSURfTEFTVFNBVkVfRFRNPTEzCi1QSURfUEFHRUNPVU5UPTE0Ci1QSURfV09SRENPVU5UPTE1Ci1QSURfQ0hBUkNPVU5UPTE2Ci1QSURfQVBQTkFNRT0xOAotUElEX1NFQ1VSSVRZPTE5Ci0KLWRlZiByZXNldCgpOgotICAgIGdsb2JhbCBfZGlyZWN0b3JpZXMKLSAgICBfZGlyZWN0b3JpZXMgPSBzZXRzLlNldCgpCi0KLWRlZiBFbnN1cmVNU0koKToKLSAgICB3aW4zMmNvbS5jbGllbnQuZ2VuY2FjaGUuRW5zdXJlTW9kdWxlKCd7MDAwQzEwOTItMDAwMC0wMDAwLUMwMDAtMDAwMDAwMDAwMDQ2fScsIDEwMzMsIDEsIDApCi0KLWRlZiBFbnN1cmVNU00oKToKLSAgICB0cnk6Ci0gICAgICAgIHdpbjMyY29tLmNsaWVudC5nZW5jYWNoZS5FbnN1cmVNb2R1bGUoJ3swQUREQTgyRi0yQzI2LTExRDItQUQ2NS0wMEEwQzlBRjExQTZ9JywgMCwgMSwgMCkKLSAgICBleGNlcHQgcHl3aW50eXBlcy5jb21fZXJyb3I6Ci0gICAgICAgIHdpbjMyY29tLmNsaWVudC5nZW5jYWNoZS5FbnN1cmVNb2R1bGUoJ3swQUREQTgyRi0yQzI2LTExRDItQUQ2NS0wMEEwQzlBRjExQTZ9JywgMCwgMiwgMCkKLQotX0luc3RhbGxlcj1Ob25lCi1kZWYgTWFrZUluc3RhbGxlcigpOgotICAgIGdsb2JhbCBfSW5zdGFsbGVyCi0gICAgaWYgX0luc3RhbGxlciBpcyBOb25lOgotICAgICAgICBFbnN1cmVNU0koKQotICAgICAgICBfSW5zdGFsbGVyID0gd2luMzJjb20uY2xpZW50LkRpc3BhdGNoKCdXaW5kb3dzSW5zdGFsbGVyLkluc3RhbGxlcicsCi0gICAgICAgICAgICAgICAgICAgICByZXN1bHRDTFNJRD0nezAwMEMxMDkwLTAwMDAtMDAwMC1DMDAwLTAwMDAwMDAwMDA0Nn0nKQotICAgIHJldHVybiBfSW5zdGFsbGVyCi0KLV9NZXJnZT1Ob25lCi1kZWYgTWFrZU1lcmdlMigpOgotICAgIGdsb2JhbCBfTWVyZ2UKLSAgICBpZiBfTWVyZ2UgaXMgTm9uZToKLSAgICAgICAgRW5zdXJlTVNNKCkKLSAgICAgICAgX01lcmdlID0gd2luMzJjb20uY2xpZW50LkRpc3BhdGNoKCJNc20uTWVyZ2UyLjEiKQotICAgIHJldHVybiBfTWVyZ2UKLQotY2xhc3MgVGFibGU6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIG5hbWUpOgotICAgICAgICBzZWxmLm5hbWUgPSBuYW1lCi0gICAgICAgIHNlbGYuZmllbGRzID0gW10KLQotICAgIGRlZiBhZGRfZmllbGQoc2VsZiwgaW5kZXgsIG5hbWUsIHR5cGUpOgotICAgICAgICBzZWxmLmZpZWxkcy5hcHBlbmQoKGluZGV4LG5hbWUsdHlwZSkpCi0KLSAgICBkZWYgc3FsKHNlbGYpOgotICAgICAgICBmaWVsZHMgPSBbXQotICAgICAgICBrZXlzID0gW10KLSAgICAgICAgc2VsZi5maWVsZHMuc29ydCgpCi0gICAgICAgIGZpZWxkcyA9IFtOb25lXSpsZW4oc2VsZi5maWVsZHMpCi0gICAgICAgIGZvciBpbmRleCwgbmFtZSwgdHlwZSBpbiBzZWxmLmZpZWxkczoKLSAgICAgICAgICAgIGluZGV4IC09IDEKLSAgICAgICAgICAgIHVuayA9IHR5cGUgJiB+a25vd25iaXRzCi0gICAgICAgICAgICBpZiB1bms6Ci0gICAgICAgICAgICAgICAgcHJpbnQgIiVzLiVzIHVua25vd24gYml0cyAleCIgJSAoc2VsZi5uYW1lLCBuYW1lLCB1bmspCi0gICAgICAgICAgICBzaXplID0gdHlwZSAmIGRhdGFzaXplbWFzawotICAgICAgICAgICAgZHR5cGUgPSB0eXBlICYgdHlwZW1hc2sKLSAgICAgICAgICAgIGlmIGR0eXBlID09IHR5cGVfc3RyaW5nOgotICAgICAgICAgICAgICAgIGlmIHNpemU6Ci0gICAgICAgICAgICAgICAgICAgIHRuYW1lPSJDSEFSKCVkKSIgJSBzaXplCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgdG5hbWU9IkNIQVIiCi0gICAgICAgICAgICBlbGlmIGR0eXBlID09IHR5cGVfc2hvcnQ6Ci0gICAgICAgICAgICAgICAgYXNzZXJ0IHNpemU9PTIKLSAgICAgICAgICAgICAgICB0bmFtZSA9ICJTSE9SVCIKLSAgICAgICAgICAgIGVsaWYgZHR5cGUgPT0gdHlwZV9sb25nOgotICAgICAgICAgICAgICAgIGFzc2VydCBzaXplPT00Ci0gICAgICAgICAgICAgICAgdG5hbWU9IkxPTkciCi0gICAgICAgICAgICBlbGlmIGR0eXBlID09IHR5cGVfYmluYXJ5OgotICAgICAgICAgICAgICAgIGFzc2VydCBzaXplPT0wCi0gICAgICAgICAgICAgICAgdG5hbWU9Ik9CSkVDVCIKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgdG5hbWU9InVua25vd24iCi0gICAgICAgICAgICAgICAgcHJpbnQgIiVzLiVzdW5rbm93biBpbnRlZ2VyIHR5cGUgJWQiICUgKHNlbGYubmFtZSwgbmFtZSwgc2l6ZSkKLSAgICAgICAgICAgIGlmIHR5cGUgJiB0eXBlX251bGxhYmxlOgotICAgICAgICAgICAgICAgIGZsYWdzID0gIiIKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgZmxhZ3MgPSAiIE5PVCBOVUxMIgotICAgICAgICAgICAgaWYgdHlwZSAmIHR5cGVfbG9jYWxpemFibGU6Ci0gICAgICAgICAgICAgICAgZmxhZ3MgKz0gIiBMT0NBTElaQUJMRSIKLSAgICAgICAgICAgIGZpZWxkc1tpbmRleF0gPSAiYCVzYCAlcyVzIiAlIChuYW1lLCB0bmFtZSwgZmxhZ3MpCi0gICAgICAgICAgICBpZiB0eXBlICYgdHlwZV9rZXk6Ci0gICAgICAgICAgICAgICAga2V5cy5hcHBlbmQoImAlc2AiICUgbmFtZSkKLSAgICAgICAgZmllbGRzID0gIiwgIi5qb2luKGZpZWxkcykKLSAgICAgICAga2V5cyA9ICIsICIuam9pbihrZXlzKQotICAgICAgICByZXR1cm4gIkNSRUFURSBUQUJMRSAlcyAoJXMgUFJJTUFSWSBLRVkgJXMpIiAlIChzZWxmLm5hbWUsIGZpZWxkcywga2V5cykKLQotICAgIGRlZiBjcmVhdGUoc2VsZiwgZGIpOgotICAgICAgICB2ID0gZGIuT3BlblZpZXcoc2VsZi5zcWwoKSkKLSAgICAgICAgdi5FeGVjdXRlKE5vbmUpCi0gICAgICAgIHYuQ2xvc2UoKQotCi1jbGFzcyBCaW5hcnk6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGZuYW1lKToKLSAgICAgICAgc2VsZi5uYW1lID0gZm5hbWUKLSAgICBkZWYgX19yZXByX18oc2VsZik6Ci0gICAgICAgIHJldHVybiAnbXNpbGliLkJpbmFyeShvcy5wYXRoLmpvaW4oZGlybmFtZSwiJXMiKSknICUgc2VsZi5uYW1lCi0KLWRlZiBnZW5fc2NoZW1hKGRlc3RwYXRoLCBzY2hlbWFwYXRoKToKLSAgICBkID0gTWFrZUluc3RhbGxlcigpCi0gICAgc2NoZW1hID0gZC5PcGVuRGF0YWJhc2Uoc2NoZW1hcGF0aCwKLSAgICAgICAgICAgIHdpbjMyY29tLmNsaWVudC5jb25zdGFudHMubXNpT3BlbkRhdGFiYXNlTW9kZVJlYWRPbmx5KQotCi0gICAgIyBYWFggT1JCRVIgQlkKLSAgICB2PXNjaGVtYS5PcGVuVmlldygiU0VMRUNUICogRlJPTSBfQ29sdW1ucyIpCi0gICAgY3VydGFibGU9Tm9uZQotICAgIHRhYmxlcyA9IFtdCi0gICAgdi5FeGVjdXRlKE5vbmUpCi0gICAgZiA9IG9wZW4oZGVzdHBhdGgsICJ3dCIpCi0gICAgZi53cml0ZSgiZnJvbSBtc2lsaWIgaW1wb3J0IFRhYmxlXG4iKQotICAgIHdoaWxlIDE6Ci0gICAgICAgIHI9di5GZXRjaCgpCi0gICAgICAgIGlmIG5vdCByOmJyZWFrCi0gICAgICAgIG5hbWU9ci5TdHJpbmdEYXRhKDEpCi0gICAgICAgIGlmIGN1cnRhYmxlICE9IG5hbWU6Ci0gICAgICAgICAgICBmLndyaXRlKCJcbiVzID0gVGFibGUoJyVzJylcbiIgJSAobmFtZSxuYW1lKSkKLSAgICAgICAgICAgIGN1cnRhYmxlID0gbmFtZQotICAgICAgICAgICAgdGFibGVzLmFwcGVuZChuYW1lKQotICAgICAgICBmLndyaXRlKCIlcy5hZGRfZmllbGQoJWQsJyVzJywlZClcbiIgJQotICAgICAgICAgICAgICAgIChuYW1lLCByLkludGVnZXJEYXRhKDIpLCByLlN0cmluZ0RhdGEoMyksIHIuSW50ZWdlckRhdGEoNCkpKQotICAgIHYuQ2xvc2UoKQotCi0gICAgZi53cml0ZSgiXG50YWJsZXM9WyVzXVxuXG4iICUgKCIsICIuam9pbih0YWJsZXMpKSkKLQotICAgICMgRmlsbCB0aGUgX1ZhbGlkYXRpb24gdGFibGUKLSAgICBmLndyaXRlKCJfVmFsaWRhdGlvbl9yZWNvcmRzID0gW1xuIikKLSAgICB2ID0gc2NoZW1hLk9wZW5WaWV3KCJTRUxFQ1QgKiBGUk9NIF9WYWxpZGF0aW9uIikKLSAgICB2LkV4ZWN1dGUoTm9uZSkKLSAgICB3aGlsZSAxOgotICAgICAgICByID0gdi5GZXRjaCgpCi0gICAgICAgIGlmIG5vdCByOmJyZWFrCi0gICAgICAgICMgVGFibGUsIENvbHVtbiwgTnVsbGFibGUKLSAgICAgICAgZi53cml0ZSgiKCVzLCVzLCVzLCIgJQotICAgICAgICAgICAgICAgIChgci5TdHJpbmdEYXRhKDEpYCwgYHIuU3RyaW5nRGF0YSgyKWAsIGByLlN0cmluZ0RhdGEoMylgKSkKLSAgICAgICAgZGVmIHB1dF9pbnQoaSk6Ci0gICAgICAgICAgICBpZiByLklzTnVsbChpKTpmLndyaXRlKCJOb25lLCAiKQotICAgICAgICAgICAgZWxzZTpmLndyaXRlKCIlZCwiICUgci5JbnRlZ2VyRGF0YShpKSkKLSAgICAgICAgZGVmIHB1dF9zdHIoaSk6Ci0gICAgICAgICAgICBpZiByLklzTnVsbChpKTpmLndyaXRlKCJOb25lLCAiKQotICAgICAgICAgICAgZWxzZTpmLndyaXRlKCIlcywiICUgYHIuU3RyaW5nRGF0YShpKWApCi0gICAgICAgIHB1dF9pbnQoNCkgIyBNaW5WYWx1ZQotICAgICAgICBwdXRfaW50KDUpICMgTWF4VmFsdWUKLSAgICAgICAgcHV0X3N0cig2KSAjIEtleVRhYmxlCi0gICAgICAgIHB1dF9pbnQoNykgIyBLZXlDb2x1bW4KLSAgICAgICAgcHV0X3N0cig4KSAjIENhdGVnb3J5Ci0gICAgICAgIHB1dF9zdHIoOSkgIyBTZXQKLSAgICAgICAgcHV0X3N0cigxMCkjIERlc2NyaXB0aW9uCi0gICAgICAgIGYud3JpdGUoIiksXG4iKQotICAgIGYud3JpdGUoIl1cblxuIikKLQotICAgIGYuY2xvc2UoKQotCi1kZWYgZ2VuX3NlcXVlbmNlKGRlc3RwYXRoLCBtc2lwYXRoKToKLSAgICBkaXIgPSBvcy5wYXRoLmRpcm5hbWUoZGVzdHBhdGgpCi0gICAgZCA9IE1ha2VJbnN0YWxsZXIoKQotICAgIHNlcW1zaSA9IGQuT3BlbkRhdGFiYXNlKG1zaXBhdGgsCi0gICAgICAgICAgICB3aW4zMmNvbS5jbGllbnQuY29uc3RhbnRzLm1zaU9wZW5EYXRhYmFzZU1vZGVSZWFkT25seSkKLQotICAgIHYgPSBzZXFtc2kuT3BlblZpZXcoIlNFTEVDVCAqIEZST00gX1RhYmxlcyIpOwotICAgIHYuRXhlY3V0ZShOb25lKQotICAgIGYgPSBvcGVuKGRlc3RwYXRoLCAidyIpCi0gICAgcHJpbnQgPj5mLCAiaW1wb3J0IG1zaWxpYixvcztkaXJuYW1lPW9zLnBhdGguZGlybmFtZShfX2ZpbGVfXykiCi0gICAgdGFibGVzID0gW10KLSAgICB3aGlsZSAxOgotICAgICAgICByID0gdi5GZXRjaCgpCi0gICAgICAgIGlmIG5vdCByOmJyZWFrCi0gICAgICAgIHRhYmxlID0gci5TdHJpbmdEYXRhKDEpCi0gICAgICAgIHRhYmxlcy5hcHBlbmQodGFibGUpCi0gICAgICAgIGYud3JpdGUoIiVzID0gW1xuIiAlIHRhYmxlKQotICAgICAgICB2MSA9IHNlcW1zaS5PcGVuVmlldygiU0VMRUNUICogRlJPTSBgJXNgIiAlIHRhYmxlKQotICAgICAgICB2MS5FeGVjdXRlKE5vbmUpCi0gICAgICAgIGluZm8gPSB2MS5Db2x1bW5JbmZvKGNvbnN0YW50cy5tc2lDb2x1bW5JbmZvVHlwZXMpCi0gICAgICAgIHdoaWxlIDE6Ci0gICAgICAgICAgICByID0gdjEuRmV0Y2goKQotICAgICAgICAgICAgaWYgbm90IHI6YnJlYWsKLSAgICAgICAgICAgIHJlYyA9IFtdCi0gICAgICAgICAgICBmb3IgaSBpbiByYW5nZSgxLHIuRmllbGRDb3VudCsxKToKLSAgICAgICAgICAgICAgICBpZiByLklzTnVsbChpKToKLSAgICAgICAgICAgICAgICAgICAgcmVjLmFwcGVuZChOb25lKQotICAgICAgICAgICAgICAgIGVsaWYgaW5mby5TdHJpbmdEYXRhKGkpWzBdIGluICJpSSI6Ci0gICAgICAgICAgICAgICAgICAgIHJlYy5hcHBlbmQoci5JbnRlZ2VyRGF0YShpKSkKLSAgICAgICAgICAgICAgICBlbGlmIGluZm8uU3RyaW5nRGF0YShpKVswXSBpbiAic2xTTCI6Ci0gICAgICAgICAgICAgICAgICAgIHJlYy5hcHBlbmQoci5TdHJpbmdEYXRhKGkpKQotICAgICAgICAgICAgICAgIGVsaWYgaW5mby5TdHJpbmdEYXRhKGkpWzBdPT0idiI6Ci0gICAgICAgICAgICAgICAgICAgIHNpemUgPSByLkRhdGFTaXplKGkpCi0gICAgICAgICAgICAgICAgICAgIGJ5dGVzID0gci5SZWFkU3RyZWFtKGksIHNpemUsIGNvbnN0YW50cy5tc2lSZWFkU3RyZWFtQnl0ZXMpCi0gICAgICAgICAgICAgICAgICAgIGJ5dGVzID0gYnl0ZXMuZW5jb2RlKCJsYXRpbi0xIikgIyBiaW5hcnkgZGF0YSByZXByZXNlbnRlZCAiYXMtaXMiCi0gICAgICAgICAgICAgICAgICAgIGlmIHRhYmxlID09ICJCaW5hcnkiOgotICAgICAgICAgICAgICAgICAgICAgICAgZm5hbWUgPSByZWNbMF0rIi5iaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICBvcGVuKG9zLnBhdGguam9pbihkaXIsZm5hbWUpLCJ3YiIpLndyaXRlKGJ5dGVzKQotICAgICAgICAgICAgICAgICAgICAgICAgcmVjLmFwcGVuZChCaW5hcnkoZm5hbWUpKQotICAgICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAgICAgcmVjLmFwcGVuZChieXRlcykKLSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICByYWlzZSAiVW5zdXBwb3J0ZWQgY29sdW1uIHR5cGUiLCBpbmZvLlN0cmluZ0RhdGEoaSkKLSAgICAgICAgICAgIGYud3JpdGUocmVwcih0dXBsZShyZWMpKSsiLFxuIikKLSAgICAgICAgdjEuQ2xvc2UoKQotICAgICAgICBmLndyaXRlKCJdXG5cbiIpCi0gICAgdi5DbG9zZSgpCi0gICAgZi53cml0ZSgidGFibGVzPSVzXG4iICUgcmVwcihtYXAoc3RyLHRhYmxlcykpKQotICAgIGYuY2xvc2UoKQotCi1jbGFzcyBfVW5zcGVjaWZpZWQ6cGFzcwotZGVmIGNoYW5nZV9zZXF1ZW5jZShzZXEsIGFjdGlvbiwgc2Vxbm89X1Vuc3BlY2lmaWVkLCBjb25kID0gX1Vuc3BlY2lmaWVkKToKLSAgICAiQ2hhbmdlIHRoZSBzZXF1ZW5jZSBudW1iZXIgb2YgYW4gYWN0aW9uIGluIGEgc2VxdWVuY2UgbGlzdCIKLSAgICBmb3IgaSBpbiByYW5nZShsZW4oc2VxKSk6Ci0gICAgICAgIGlmIHNlcVtpXVswXSA9PSBhY3Rpb246Ci0gICAgICAgICAgICBpZiBjb25kIGlzIF9VbnNwZWNpZmllZDoKLSAgICAgICAgICAgICAgICBjb25kID0gc2VxW2ldWzFdCi0gICAgICAgICAgICBpZiBzZXFubyBpcyBfVW5zcGVjaWZpZWQ6Ci0gICAgICAgICAgICAgICAgc2Vxbm8gPSBzZXFbaV1bMl0KLSAgICAgICAgICAgIHNlcVtpXSA9IChhY3Rpb24sIGNvbmQsIHNlcW5vKQotICAgICAgICAgICAgcmV0dXJuCi0gICAgcmFpc2UgVmFsdWVFcnJvciwgIkFjdGlvbiBub3QgZm91bmQgaW4gc2VxdWVuY2UiCi0KLWRlZiBhZGRfZGF0YShkYiwgdGFibGUsIHZhbHVlcyk6Ci0gICAgZCA9IE1ha2VJbnN0YWxsZXIoKQotICAgIHYgPSBkYi5PcGVuVmlldygiU0VMRUNUICogRlJPTSBgJXNgIiAlIHRhYmxlKQotICAgIGNvdW50ID0gdi5Db2x1bW5JbmZvKDApLkZpZWxkQ291bnQKLSAgICByID0gZC5DcmVhdGVSZWNvcmQoY291bnQpCi0gICAgZm9yIHZhbHVlIGluIHZhbHVlczoKLSAgICAgICAgYXNzZXJ0IGxlbih2YWx1ZSkgPT0gY291bnQsIHZhbHVlCi0gICAgICAgIGZvciBpIGluIHJhbmdlKGNvdW50KToKLSAgICAgICAgICAgIGZpZWxkID0gdmFsdWVbaV0KLSAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UoZmllbGQsIChpbnQsIGxvbmcpKToKLSAgICAgICAgICAgICAgICByLlNldEludGVnZXJEYXRhKGkrMSxmaWVsZCkKLSAgICAgICAgICAgIGVsaWYgaXNpbnN0YW5jZShmaWVsZCwgYmFzZXN0cmluZyk6Ci0gICAgICAgICAgICAgICAgci5TZXRTdHJpbmdEYXRhKGkrMSxmaWVsZCkKLSAgICAgICAgICAgIGVsaWYgZmllbGQgaXMgTm9uZToKLSAgICAgICAgICAgICAgICBwYXNzCi0gICAgICAgICAgICBlbGlmIGlzaW5zdGFuY2UoZmllbGQsIEJpbmFyeSk6Ci0gICAgICAgICAgICAgICAgci5TZXRTdHJlYW0oaSsxLCBmaWVsZC5uYW1lKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IsICJVbnN1cHBvcnRlZCB0eXBlICVzIiAlIGZpZWxkLl9fY2xhc3NfXy5fX25hbWVfXwotICAgICAgICB2Lk1vZGlmeSh3aW4zMmNvbS5jbGllbnQuY29uc3RhbnRzLm1zaVZpZXdNb2RpZnlJbnNlcnQsIHIpCi0gICAgICAgIHIuQ2xlYXJEYXRhKCkKLSAgICB2LkNsb3NlKCkKLQotZGVmIGFkZF9zdHJlYW0oZGIsIG5hbWUsIHBhdGgpOgotICAgIGQgPSBNYWtlSW5zdGFsbGVyKCkKLSAgICB2ID0gZGIuT3BlblZpZXcoIklOU0VSVCBJTlRPIF9TdHJlYW1zIChOYW1lLCBEYXRhKSBWQUxVRVMgKCclcycsID8pIiAlIG5hbWUpCi0gICAgciA9IGQuQ3JlYXRlUmVjb3JkKDEpCi0gICAgci5TZXRTdHJlYW0oMSwgcGF0aCkKLSAgICB2LkV4ZWN1dGUocikKLSAgICB2LkNsb3NlKCkKLQotZGVmIGluaXRfZGF0YWJhc2UobmFtZSwgc2NoZW1hLAotICAgICAgICAgICAgICAgICAgUHJvZHVjdE5hbWUsIFByb2R1Y3RDb2RlLCBQcm9kdWN0VmVyc2lvbiwKLSAgICAgICAgICAgICAgICAgIE1hbnVmYWN0dXJlciwKLSAgICAgICAgICAgICAgICAgIHJlcXVlc3RfdWFjID0gRmFsc2UpOgotICAgIHRyeToKLSAgICAgICAgb3MudW5saW5rKG5hbWUpCi0gICAgZXhjZXB0IE9TRXJyb3I6Ci0gICAgICAgIHBhc3MKLSAgICBQcm9kdWN0Q29kZSA9IFByb2R1Y3RDb2RlLnVwcGVyKCkKLSAgICBkID0gTWFrZUluc3RhbGxlcigpCi0gICAgIyBDcmVhdGUgdGhlIGRhdGFiYXNlCi0gICAgZGIgPSBkLk9wZW5EYXRhYmFzZShuYW1lLAotICAgICAgICAgd2luMzJjb20uY2xpZW50LmNvbnN0YW50cy5tc2lPcGVuRGF0YWJhc2VNb2RlQ3JlYXRlKQotICAgICMgQ3JlYXRlIHRoZSB0YWJsZXMKLSAgICBmb3IgdCBpbiBzY2hlbWEudGFibGVzOgotICAgICAgICB0LmNyZWF0ZShkYikKLSAgICAjIEZpbGwgdGhlIHZhbGlkYXRpb24gdGFibGUKLSAgICBhZGRfZGF0YShkYiwgIl9WYWxpZGF0aW9uIiwgc2NoZW1hLl9WYWxpZGF0aW9uX3JlY29yZHMpCi0gICAgIyBJbml0aWFsaXplIHRoZSBzdW1tYXJ5IGluZm9ybWF0aW9uLCBhbGxvd2luZyBhdCBtb3N0IDIwIHByb3BlcnRpZXMKLSAgICBzaSA9IGRiLkdldFN1bW1hcnlJbmZvcm1hdGlvbigyMCkKLSAgICBzaS5TZXRQcm9wZXJ0eShQSURfVElUTEUsICJJbnN0YWxsYXRpb24gRGF0YWJhc2UiKQotICAgIHNpLlNldFByb3BlcnR5KFBJRF9TVUJKRUNULCBQcm9kdWN0TmFtZSkKLSAgICBzaS5TZXRQcm9wZXJ0eShQSURfQVVUSE9SLCBNYW51ZmFjdHVyZXIpCi0gICAgc2kuU2V0UHJvcGVydHkoUElEX1RFTVBMQVRFLCBtc2lfdHlwZSkKLSAgICBzaS5TZXRQcm9wZXJ0eShQSURfUkVWTlVNQkVSLCBnZW5fdXVpZCgpKQotICAgIGlmIHJlcXVlc3RfdWFjOgotICAgICAgICB3YyA9IDIgIyBsb25nIGZpbGUgbmFtZXMsIGNvbXByZXNzZWQsIG9yaWdpbmFsIG1lZGlhCi0gICAgZWxzZToKLSAgICAgICAgd2MgPSAyIHwgOCAjICtuZXZlciBpbnZva2UgVUFDCi0gICAgc2kuU2V0UHJvcGVydHkoUElEX1dPUkRDT1VOVCwgd2MpCi0gICAgc2kuU2V0UHJvcGVydHkoUElEX1BBR0VDT1VOVCwgMjAwKQotICAgIHNpLlNldFByb3BlcnR5KFBJRF9BUFBOQU1FLCAiUHl0aG9uIE1TSSBMaWJyYXJ5IikKLSAgICAjIFhYWCBtb3JlIHByb3BlcnRpZXMKLSAgICBzaS5QZXJzaXN0KCkKLSAgICBhZGRfZGF0YShkYiwgIlByb3BlcnR5IiwgWwotICAgICAgICAoIlByb2R1Y3ROYW1lIiwgUHJvZHVjdE5hbWUpLAotICAgICAgICAoIlByb2R1Y3RDb2RlIiwgUHJvZHVjdENvZGUpLAotICAgICAgICAoIlByb2R1Y3RWZXJzaW9uIiwgUHJvZHVjdFZlcnNpb24pLAotICAgICAgICAoIk1hbnVmYWN0dXJlciIsIE1hbnVmYWN0dXJlciksCi0gICAgICAgICgiUHJvZHVjdExhbmd1YWdlIiwgIjEwMzMiKV0pCi0gICAgZGIuQ29tbWl0KCkKLSAgICByZXR1cm4gZGIKLQotZGVmIGFkZF90YWJsZXMoZGIsIG1vZHVsZSk6Ci0gICAgZm9yIHRhYmxlIGluIG1vZHVsZS50YWJsZXM6Ci0gICAgICAgIGFkZF9kYXRhKGRiLCB0YWJsZSwgZ2V0YXR0cihtb2R1bGUsIHRhYmxlKSkKLQotZGVmIG1ha2VfaWQoc3RyKToKLSAgICAjc3RyID0gc3RyLnJlcGxhY2UoIi4iLCAiXyIpICMgY29sb25zIGFyZSBhbGxvd2VkCi0gICAgc3RyID0gc3RyLnJlcGxhY2UoIiAiLCAiXyIpCi0gICAgc3RyID0gc3RyLnJlcGxhY2UoIi0iLCAiXyIpCi0gICAgc3RyID0gc3RyLnJlcGxhY2UoIisiLCAiXyIpCi0gICAgaWYgc3RyWzBdIGluIHN0cmluZy5kaWdpdHM6Ci0gICAgICAgIHN0ciA9ICJfIitzdHIKLSAgICBhc3NlcnQgcmUubWF0Y2goIl5bQS1aYS16X11bQS1aYS16MC05Xy5dKiQiLCBzdHIpLCAiRklMRSIrc3RyCi0gICAgcmV0dXJuIHN0cgotCi1kZWYgZ2VuX3V1aWQoKToKLSAgICByZXR1cm4gc3RyKHB5dGhvbmNvbS5DcmVhdGVHdWlkKCkpCi0KLWNsYXNzIENBQjoKLSAgICBkZWYgX19pbml0X18oc2VsZiwgbmFtZSk6Ci0gICAgICAgIHNlbGYubmFtZSA9IG5hbWUKLSAgICAgICAgc2VsZi5maWxlcyA9IFtdCi0gICAgICAgIHNlbGYuZmlsZW5hbWVzID0gc2V0cy5TZXQoKQotICAgICAgICBzZWxmLmluZGV4ID0gMAotCi0gICAgZGVmIGdlbl9pZChzZWxmLCBkaXIsIGZpbGUpOgotICAgICAgICBsb2dpY2FsID0gX2xvZ2ljYWwgPSBtYWtlX2lkKGZpbGUpCi0gICAgICAgIHBvcyA9IDEKLSAgICAgICAgd2hpbGUgbG9naWNhbCBpbiBzZWxmLmZpbGVuYW1lczoKLSAgICAgICAgICAgIGxvZ2ljYWwgPSAiJXMuJWQiICUgKF9sb2dpY2FsLCBwb3MpCi0gICAgICAgICAgICBwb3MgKz0gMQotICAgICAgICBzZWxmLmZpbGVuYW1lcy5hZGQobG9naWNhbCkKLSAgICAgICAgcmV0dXJuIGxvZ2ljYWwKLQotICAgIGRlZiBhcHBlbmQoc2VsZiwgZnVsbCwgZmlsZSwgbG9naWNhbCA9IE5vbmUpOgotICAgICAgICBpZiBvcy5wYXRoLmlzZGlyKGZ1bGwpOgotICAgICAgICAgICAgcmV0dXJuCi0gICAgICAgIGlmIG5vdCBsb2dpY2FsOgotICAgICAgICAgICAgbG9naWNhbCA9IHNlbGYuZ2VuX2lkKGRpciwgZmlsZSkKLSAgICAgICAgc2VsZi5pbmRleCArPSAxCi0gICAgICAgIHNlbGYuZmlsZXMuYXBwZW5kKChmdWxsLCBsb2dpY2FsKSkKLSAgICAgICAgcmV0dXJuIHNlbGYuaW5kZXgsIGxvZ2ljYWwKLQotICAgIGRlZiBjb21taXQoc2VsZiwgZGIpOgotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBvcy51bmxpbmsoc2VsZi5uYW1lKyIuY2FiIikKLSAgICAgICAgZXhjZXB0IE9TRXJyb3I6Ci0gICAgICAgICAgICBwYXNzCi0gICAgICAgIF9tc2kuRkNJQ3JlYXRlKHNlbGYubmFtZSsiLmNhYiIsIHNlbGYuZmlsZXMpCi0gICAgICAgIGFkZF9kYXRhKGRiLCAiTWVkaWEiLAotICAgICAgICAgICAgICAgIFsoMSwgc2VsZi5pbmRleCwgTm9uZSwgIiMiK3NlbGYubmFtZSwgTm9uZSwgTm9uZSldKQotICAgICAgICBhZGRfc3RyZWFtKGRiLCBzZWxmLm5hbWUsIHNlbGYubmFtZSsiLmNhYiIpCi0gICAgICAgIG9zLnVubGluayhzZWxmLm5hbWUrIi5jYWIiKQotICAgICAgICBkYi5Db21taXQoKQotCi1fZGlyZWN0b3JpZXMgPSBzZXRzLlNldCgpCi1jbGFzcyBEaXJlY3Rvcnk6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGRiLCBjYWIsIGJhc2VkaXIsIHBoeXNpY2FsLCBfbG9naWNhbCwgZGVmYXVsdCwgY29tcG9uZW50ZmxhZ3M9Tm9uZSk6Ci0gICAgICAgICIiIkNyZWF0ZSBhIG5ldyBkaXJlY3RvcnkgaW4gdGhlIERpcmVjdG9yeSB0YWJsZS4gVGhlcmUgaXMgYSBjdXJyZW50IGNvbXBvbmVudAotICAgICAgICBhdCBlYWNoIHBvaW50IGluIHRpbWUgZm9yIHRoZSBkaXJlY3RvcnksIHdoaWNoIGlzIGVpdGhlciBleHBsaWNpdGx5IGNyZWF0ZWQKLSAgICAgICAgdGhyb3VnaCBzdGFydF9jb21wb25lbnQsIG9yIGltcGxpY2l0bHkgd2hlbiBmaWxlcyBhcmUgYWRkZWQgZm9yIHRoZSBmaXJzdAotICAgICAgICB0aW1lLiBGaWxlcyBhcmUgYWRkZWQgaW50byB0aGUgY3VycmVudCBjb21wb25lbnQsIGFuZCBpbnRvIHRoZSBjYWIgZmlsZS4KLSAgICAgICAgVG8gY3JlYXRlIGEgZGlyZWN0b3J5LCBhIGJhc2UgZGlyZWN0b3J5IG9iamVjdCBuZWVkcyB0byBiZSBzcGVjaWZpZWQgKGNhbiBiZQotICAgICAgICBOb25lKSwgdGhlIHBhdGggdG8gdGhlIHBoeXNpY2FsIGRpcmVjdG9yeSwgYW5kIGEgbG9naWNhbCBkaXJlY3RvcnkgbmFtZS4KLSAgICAgICAgRGVmYXVsdCBzcGVjaWZpZXMgdGhlIERlZmF1bHREaXIgc2xvdCBpbiB0aGUgZGlyZWN0b3J5IHRhYmxlLiBjb21wb25lbnRmbGFncwotICAgICAgICBzcGVjaWZpZXMgdGhlIGRlZmF1bHQgZmxhZ3MgdGhhdCBuZXcgY29tcG9uZW50cyBnZXQuIiIiCi0gICAgICAgIGluZGV4ID0gMQotICAgICAgICBfbG9naWNhbCA9IG1ha2VfaWQoX2xvZ2ljYWwpCi0gICAgICAgIGxvZ2ljYWwgPSBfbG9naWNhbAotICAgICAgICB3aGlsZSBsb2dpY2FsIGluIF9kaXJlY3RvcmllczoKLSAgICAgICAgICAgIGxvZ2ljYWwgPSAiJXMlZCIgJSAoX2xvZ2ljYWwsIGluZGV4KQotICAgICAgICAgICAgaW5kZXggKz0gMQotICAgICAgICBfZGlyZWN0b3JpZXMuYWRkKGxvZ2ljYWwpCi0gICAgICAgIHNlbGYuZGIgPSBkYgotICAgICAgICBzZWxmLmNhYiA9IGNhYgotICAgICAgICBzZWxmLmJhc2VkaXIgPSBiYXNlZGlyCi0gICAgICAgIHNlbGYucGh5c2ljYWwgPSBwaHlzaWNhbAotICAgICAgICBzZWxmLmxvZ2ljYWwgPSBsb2dpY2FsCi0gICAgICAgIHNlbGYuY29tcG9uZW50ID0gTm9uZQotICAgICAgICBzZWxmLnNob3J0X25hbWVzID0ge30KLSAgICAgICAgc2VsZi5pZHMgPSBzZXRzLlNldCgpCi0gICAgICAgIHNlbGYua2V5ZmlsZXMgPSB7fQotICAgICAgICBzZWxmLmNvbXBvbmVudGZsYWdzID0gY29tcG9uZW50ZmxhZ3MKLSAgICAgICAgaWYgYmFzZWRpcjoKLSAgICAgICAgICAgIHNlbGYuYWJzb2x1dGUgPSBvcy5wYXRoLmpvaW4oYmFzZWRpci5hYnNvbHV0ZSwgcGh5c2ljYWwpCi0gICAgICAgICAgICBibG9naWNhbCA9IGJhc2VkaXIubG9naWNhbAotICAgICAgICBlbHNlOgotICAgICAgICAgICAgc2VsZi5hYnNvbHV0ZSA9IHBoeXNpY2FsCi0gICAgICAgICAgICBibG9naWNhbCA9IE5vbmUKLSAgICAgICAgIyBpbml0aWFsbHkgYXNzdW1lIHRoYXQgYWxsIGZpbGVzIGluIHRoaXMgZGlyZWN0b3J5IGFyZSB1bnBhY2thZ2VkCi0gICAgICAgICMgYXMgZmlsZXMgZnJvbSBzZWxmLmFic29sdXRlIGdldCBhZGRlZCwgdGhpcyBzZXQgaXMgcmVkdWNlZAotICAgICAgICBzZWxmLnVucGFja2FnZWRfZmlsZXMgPSBzZXQoKQotICAgICAgICBmb3IgZiBpbiBvcy5saXN0ZGlyKHNlbGYuYWJzb2x1dGUpOgotICAgICAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUob3MucGF0aC5qb2luKHNlbGYuYWJzb2x1dGUsIGYpKToKLSAgICAgICAgICAgICAgICBzZWxmLnVucGFja2FnZWRfZmlsZXMuYWRkKGYpCi0gICAgICAgIGFkZF9kYXRhKGRiLCAiRGlyZWN0b3J5IiwgWyhsb2dpY2FsLCBibG9naWNhbCwgZGVmYXVsdCldKQotCi0gICAgZGVmIHN0YXJ0X2NvbXBvbmVudChzZWxmLCBjb21wb25lbnQgPSBOb25lLCBmZWF0dXJlID0gTm9uZSwgZmxhZ3MgPSBOb25lLCBrZXlmaWxlID0gTm9uZSwgdXVpZD1Ob25lKToKLSAgICAgICAgIiIiQWRkIGFuIGVudHJ5IHRvIHRoZSBDb21wb25lbnQgdGFibGUsIGFuZCBtYWtlIHRoaXMgY29tcG9uZW50IHRoZSBjdXJyZW50IGZvciB0aGlzCi0gICAgICAgIGRpcmVjdG9yeS4gSWYgbm8gY29tcG9uZW50IG5hbWUgaXMgZ2l2ZW4sIHRoZSBkaXJlY3RvcnkgbmFtZSBpcyB1c2VkLiBJZiBubyBmZWF0dXJlCi0gICAgICAgIGlzIGdpdmVuLCB0aGUgY3VycmVudCBmZWF0dXJlIGlzIHVzZWQuIElmIG5vIGZsYWdzIGFyZSBnaXZlbiwgdGhlIGRpcmVjdG9yeSdzIGRlZmF1bHQKLSAgICAgICAgZmxhZ3MgYXJlIHVzZWQuIElmIG5vIGtleWZpbGUgaXMgZ2l2ZW4sIHRoZSBLZXlQYXRoIGlzIGxlZnQgbnVsbCBpbiB0aGUgQ29tcG9uZW50Ci0gICAgICAgIHRhYmxlLiIiIgotICAgICAgICBpZiBmbGFncyBpcyBOb25lOgotICAgICAgICAgICAgZmxhZ3MgPSBzZWxmLmNvbXBvbmVudGZsYWdzCi0gICAgICAgIGlmIHV1aWQgaXMgTm9uZToKLSAgICAgICAgICAgIHV1aWQgPSBnZW5fdXVpZCgpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICB1dWlkID0gdXVpZC51cHBlcigpCi0gICAgICAgIGlmIGNvbXBvbmVudCBpcyBOb25lOgotICAgICAgICAgICAgY29tcG9uZW50ID0gc2VsZi5sb2dpY2FsCi0gICAgICAgIHNlbGYuY29tcG9uZW50ID0gY29tcG9uZW50Ci0gICAgICAgIGlmIFdpbjY0OgotICAgICAgICAgICAgZmxhZ3MgfD0gMjU2Ci0gICAgICAgIGlmIGtleWZpbGU6Ci0gICAgICAgICAgICBrZXlpZCA9IHNlbGYuY2FiLmdlbl9pZChzZWxmLmFic29sdXRlLCBrZXlmaWxlKQotICAgICAgICAgICAgc2VsZi5rZXlmaWxlc1trZXlmaWxlXSA9IGtleWlkCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBrZXlpZCA9IE5vbmUKLSAgICAgICAgYWRkX2RhdGEoc2VsZi5kYiwgIkNvbXBvbmVudCIsCi0gICAgICAgICAgICAgICAgICAgICAgICBbKGNvbXBvbmVudCwgdXVpZCwgc2VsZi5sb2dpY2FsLCBmbGFncywgTm9uZSwga2V5aWQpXSkKLSAgICAgICAgaWYgZmVhdHVyZSBpcyBOb25lOgotICAgICAgICAgICAgZmVhdHVyZSA9IGN1cnJlbnRfZmVhdHVyZQotICAgICAgICBhZGRfZGF0YShzZWxmLmRiLCAiRmVhdHVyZUNvbXBvbmVudHMiLAotICAgICAgICAgICAgICAgICAgICAgICAgWyhmZWF0dXJlLmlkLCBjb21wb25lbnQpXSkKLQotICAgIGRlZiBtYWtlX3Nob3J0KHNlbGYsIGZpbGUpOgotICAgICAgICBsb25nID0gZmlsZQotICAgICAgICBmaWxlID0gcmUuc3ViKHInW1w/fD48Oi8qIissOz1cW1xdXScsICdfJywgZmlsZSkgIyByZXN0cmljdGlvbnMgb24gc2hvcnQgbmFtZXMKLSAgICAgICAgcGFydHMgPSBmaWxlLnNwbGl0KCIuIiwgMSkKLSAgICAgICAgaWYgbGVuKHBhcnRzKT4xOgotICAgICAgICAgICAgc3VmZml4ID0gcGFydHNbMV0udXBwZXIoKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgc3VmZml4ID0gJycKLSAgICAgICAgcHJlZml4ID0gcGFydHNbMF0udXBwZXIoKQotICAgICAgICBpZiBsZW4ocHJlZml4KSA8PSA4IGFuZCAnLicgbm90IGluIHN1ZmZpeCBhbmQgbGVuKHN1ZmZpeCkgPD0gMzoKLSAgICAgICAgICAgIGlmIHN1ZmZpeDoKLSAgICAgICAgICAgICAgICBmaWxlID0gcHJlZml4KyIuIitzdWZmaXgKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgZmlsZSA9IHByZWZpeAotICAgICAgICAgICAgYXNzZXJ0IGZpbGUgbm90IGluIHNlbGYuc2hvcnRfbmFtZXMsIChmaWxlLCBzZWxmLnNob3J0X25hbWVzW2ZpbGVdKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcHJlZml4ID0gcHJlZml4Wzo2XQotICAgICAgICAgICAgaWYgc3VmZml4OgotICAgICAgICAgICAgICAgICMgbGFzdCB0aHJlZSBjaGFyYWN0ZXJzIG9mIGxhc3Qgc3VmZml4Ci0gICAgICAgICAgICAgICAgc3VmZml4ID0gc3VmZml4LnJzcGxpdCgnLicpWy0xXVs6M10KLSAgICAgICAgICAgIHBvcyA9IDEKLSAgICAgICAgICAgIHdoaWxlIDE6Ci0gICAgICAgICAgICAgICAgaWYgc3VmZml4OgotICAgICAgICAgICAgICAgICAgICBmaWxlID0gIiVzfiVkLiVzIiAlIChwcmVmaXgsIHBvcywgc3VmZml4KQotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIGZpbGUgPSAiJXN+JWQiICUgKHByZWZpeCwgcG9zKQotICAgICAgICAgICAgICAgIGlmIGZpbGUgbm90IGluIHNlbGYuc2hvcnRfbmFtZXM6IGJyZWFrCi0gICAgICAgICAgICAgICAgcG9zICs9IDEKLSAgICAgICAgICAgICAgICBhc3NlcnQgcG9zIDwgMTAwMDAKLSAgICAgICAgICAgICAgICBpZiBwb3MgaW4gKDEwLCAxMDAsIDEwMDApOgotICAgICAgICAgICAgICAgICAgICBwcmVmaXggPSBwcmVmaXhbOi0xXQotICAgICAgICBzZWxmLnNob3J0X25hbWVzW2ZpbGVdID0gbG9uZwotICAgICAgICByZXR1cm4gZmlsZQotCi0gICAgZGVmIGFkZF9maWxlKHNlbGYsIGZpbGUsIHNyYz1Ob25lLCB2ZXJzaW9uPU5vbmUsIGxhbmd1YWdlPU5vbmUpOgotICAgICAgICAiIiJBZGQgYSBmaWxlIHRvIHRoZSBjdXJyZW50IGNvbXBvbmVudCBvZiB0aGUgZGlyZWN0b3J5LCBzdGFydGluZyBhIG5ldyBvbmUKLSAgICAgICAgaWYgdGhlcmUgaXMgbm8gY3VycmVudCBjb21wb25lbnQuIEJ5IGRlZmF1bHQsIHRoZSBmaWxlIG5hbWUgaW4gdGhlIHNvdXJjZQotICAgICAgICBhbmQgdGhlIGZpbGUgdGFibGUgd2lsbCBiZSBpZGVudGljYWwuIElmIHRoZSBzcmMgZmlsZSBpcyBzcGVjaWZpZWQsIGl0IGlzCi0gICAgICAgIGludGVycHJldGVkIHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IGRpcmVjdG9yeS4gT3B0aW9uYWxseSwgYSB2ZXJzaW9uIGFuZCBhCi0gICAgICAgIGxhbmd1YWdlIGNhbiBiZSBzcGVjaWZpZWQgZm9yIHRoZSBlbnRyeSBpbiB0aGUgRmlsZSB0YWJsZS4iIiIKLSAgICAgICAgaWYgbm90IHNlbGYuY29tcG9uZW50OgotICAgICAgICAgICAgc2VsZi5zdGFydF9jb21wb25lbnQoc2VsZi5sb2dpY2FsLCBjdXJyZW50X2ZlYXR1cmUpCi0gICAgICAgIGlmIG5vdCBzcmM6Ci0gICAgICAgICAgICAjIEFsbG93IHJlbGF0aXZlIHBhdGhzIGZvciBmaWxlIGlmIHNyYyBpcyBub3Qgc3BlY2lmaWVkCi0gICAgICAgICAgICBzcmMgPSBmaWxlCi0gICAgICAgICAgICBmaWxlID0gb3MucGF0aC5iYXNlbmFtZShmaWxlKQotICAgICAgICBhYnNvbHV0ZSA9IG9zLnBhdGguam9pbihzZWxmLmFic29sdXRlLCBzcmMpCi0gICAgICAgIGlmIGFic29sdXRlLnN0YXJ0c3dpdGgoc2VsZi5hYnNvbHV0ZSk6Ci0gICAgICAgICAgICAjIG1hcmsgZmlsZSBhcyBwYWNrYWdlZAotICAgICAgICAgICAgcmVsYXRpdmUgPSBhYnNvbHV0ZVtsZW4oc2VsZi5hYnNvbHV0ZSkrMTpdCi0gICAgICAgICAgICBpZiByZWxhdGl2ZSBpbiBzZWxmLnVucGFja2FnZWRfZmlsZXM6Ci0gICAgICAgICAgICAgICAgc2VsZi51bnBhY2thZ2VkX2ZpbGVzLnJlbW92ZShyZWxhdGl2ZSkKLSAgICAgICAgYXNzZXJ0IG5vdCByZS5zZWFyY2gocidbXD98Pjw6LypdIicsIGZpbGUpICMgcmVzdHJpY3Rpb25zIG9uIGxvbmcgbmFtZXMKLSAgICAgICAgaWYgc2VsZi5rZXlmaWxlcy5oYXNfa2V5KGZpbGUpOgotICAgICAgICAgICAgbG9naWNhbCA9IHNlbGYua2V5ZmlsZXNbZmlsZV0KLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGxvZ2ljYWwgPSBOb25lCi0gICAgICAgIHNlcXVlbmNlLCBsb2dpY2FsID0gc2VsZi5jYWIuYXBwZW5kKGFic29sdXRlLCBmaWxlLCBsb2dpY2FsKQotICAgICAgICBhc3NlcnQgbG9naWNhbCBub3QgaW4gc2VsZi5pZHMKLSAgICAgICAgc2VsZi5pZHMuYWRkKGxvZ2ljYWwpCi0gICAgICAgIHNob3J0ID0gc2VsZi5tYWtlX3Nob3J0KGZpbGUpCi0gICAgICAgIGZ1bGwgPSAiJXN8JXMiICUgKHNob3J0LCBmaWxlKQotICAgICAgICBmaWxlc2l6ZSA9IG9zLnN0YXQoYWJzb2x1dGUpLnN0X3NpemUKLSAgICAgICAgIyBjb25zdGFudHMubXNpZGJGaWxlQXR0cmlidXRlc1ZpdGFsCi0gICAgICAgICMgQ29tcHJlc3NlZCBvbWl0dGVkLCBzaW5jZSBpdCBpcyB0aGUgZGF0YWJhc2UgZGVmYXVsdAotICAgICAgICAjIGNvdWxkIGFkZCByL28sIHN5c3RlbSwgaGlkZGVuCi0gICAgICAgIGF0dHJpYnV0ZXMgPSA1MTIKLSAgICAgICAgYWRkX2RhdGEoc2VsZi5kYiwgIkZpbGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgWyhsb2dpY2FsLCBzZWxmLmNvbXBvbmVudCwgZnVsbCwgZmlsZXNpemUsIHZlcnNpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgbGFuZ3VhZ2UsIGF0dHJpYnV0ZXMsIHNlcXVlbmNlKV0pCi0gICAgICAgIGlmIG5vdCB2ZXJzaW9uOgotICAgICAgICAgICAgIyBBZGQgaGFzaCBpZiB0aGUgZmlsZSBpcyBub3QgdmVyc2lvbmVkCi0gICAgICAgICAgICBmaWxlaGFzaCA9IE1ha2VJbnN0YWxsZXIoKS5GaWxlSGFzaChhYnNvbHV0ZSwgMCkKLSAgICAgICAgICAgIGFkZF9kYXRhKHNlbGYuZGIsICJNc2lGaWxlSGFzaCIsCi0gICAgICAgICAgICAgICAgICAgICBbKGxvZ2ljYWwsIDAsIGZpbGVoYXNoLkludGVnZXJEYXRhKDEpLAotICAgICAgICAgICAgICAgICAgICAgICBmaWxlaGFzaC5JbnRlZ2VyRGF0YSgyKSwgZmlsZWhhc2guSW50ZWdlckRhdGEoMyksCi0gICAgICAgICAgICAgICAgICAgICAgIGZpbGVoYXNoLkludGVnZXJEYXRhKDQpKV0pCi0gICAgICAgICMgQXV0b21hdGljYWxseSByZW1vdmUgLnB5Yy8ucHlvIGZpbGVzIG9uIHVuaW5zdGFsbCAoMikKLSAgICAgICAgIyBYWFg6IGFkZGluZyBzbyBtYW55IFJlbW92ZUZpbGUgZW50cmllcyBtYWtlcyBpbnN0YWxsZXIgdW5iZWxpZXZhYmx5Ci0gICAgICAgICMgc2xvdy4gU28gaW5zdGVhZCwgd2UgaGF2ZSB0byB1c2Ugd2lsZGNhcmQgcmVtb3ZlIGVudHJpZXMKLSAgICAgICAgIyBpZiBmaWxlLmVuZHN3aXRoKCIucHkiKToKLSAgICAgICAgIyAgICAgYWRkX2RhdGEoc2VsZi5kYiwgIlJlbW92ZUZpbGUiLAotICAgICAgICAjICAgICAgICAgICAgICBbKGxvZ2ljYWwrImMiLCBzZWxmLmNvbXBvbmVudCwgIiVzQ3wlc2MiICUgKHNob3J0LCBmaWxlKSwKLSAgICAgICAgIyAgICAgICAgICAgICAgICBzZWxmLmxvZ2ljYWwsIDIpLAotICAgICAgICAjICAgICAgICAgICAgICAgKGxvZ2ljYWwrIm8iLCBzZWxmLmNvbXBvbmVudCwgIiVzT3wlc28iICUgKHNob3J0LCBmaWxlKSwKLSAgICAgICAgIyAgICAgICAgICAgICAgICBzZWxmLmxvZ2ljYWwsIDIpXSkKLQotICAgIGRlZiBnbG9iKHNlbGYsIHBhdHRlcm4sIGV4Y2x1ZGUgPSBOb25lKToKLSAgICAgICAgIiIiQWRkIGEgbGlzdCBvZiBmaWxlcyB0byB0aGUgY3VycmVudCBjb21wb25lbnQgYXMgc3BlY2lmaWVkIGluIHRoZQotICAgICAgICBnbG9iIHBhdHRlcm4uIEluZGl2aWR1YWwgZmlsZXMgY2FuIGJlIGV4Y2x1ZGVkIGluIHRoZSBleGNsdWRlIGxpc3QuIiIiCi0gICAgICAgIGZpbGVzID0gZ2xvYi5nbG9iMShzZWxmLmFic29sdXRlLCBwYXR0ZXJuKQotICAgICAgICBmb3IgZiBpbiBmaWxlczoKLSAgICAgICAgICAgIGlmIGV4Y2x1ZGUgYW5kIGYgaW4gZXhjbHVkZTogY29udGludWUKLSAgICAgICAgICAgIHNlbGYuYWRkX2ZpbGUoZikKLSAgICAgICAgcmV0dXJuIGZpbGVzCi0KLSAgICBkZWYgcmVtb3ZlX3B5YyhzZWxmKToKLSAgICAgICAgIlJlbW92ZSAucHljLy5weW8gZmlsZXMgZnJvbSBfX3B5Y2FjaGVfXyBvbiB1bmluc3RhbGwiCi0gICAgICAgIGRpcmVjdG9yeSA9IHNlbGYubG9naWNhbCArICJfcHljYWNoZSIKLSAgICAgICAgYWRkX2RhdGEoc2VsZi5kYiwgIkRpcmVjdG9yeSIsIFsoZGlyZWN0b3J5LCBzZWxmLmxvZ2ljYWwsICJfX1BZQ0F+MXxfX3B5Y2FjaGVfXyIpXSkKLSAgICAgICAgZmxhZ3MgPSAyNTYgaWYgV2luNjQgZWxzZSAwCi0gICAgICAgIGFkZF9kYXRhKHNlbGYuZGIsICJDb21wb25lbnQiLAotICAgICAgICAgICAgICAgIFsoZGlyZWN0b3J5LCBnZW5fdXVpZCgpLCBkaXJlY3RvcnksIGZsYWdzLCBOb25lLCBOb25lKV0pCi0gICAgICAgIGFkZF9kYXRhKHNlbGYuZGIsICJGZWF0dXJlQ29tcG9uZW50cyIsIFsoY3VycmVudF9mZWF0dXJlLmlkLCBkaXJlY3RvcnkpXSkKLSAgICAgICAgYWRkX2RhdGEoc2VsZi5kYiwgIkNyZWF0ZUZvbGRlciIsIFsoZGlyZWN0b3J5LCBkaXJlY3RvcnkpXSkKLSAgICAgICAgYWRkX2RhdGEoc2VsZi5kYiwgIlJlbW92ZUZpbGUiLAotICAgICAgICAgICAgICAgICBbKHNlbGYuY29tcG9uZW50LCBzZWxmLmNvbXBvbmVudCwgIiouKiIsIGRpcmVjdG9yeSwgMiksCi0gICAgICAgICAgICAgICAgIF0pCi0KLSAgICBkZWYgcmVtb3ZlZmlsZShzZWxmLCBrZXksIHBhdHRlcm4pOgotICAgICAgICAiQWRkIGEgUmVtb3ZlRmlsZSBlbnRyeSIKLSAgICAgICAgYWRkX2RhdGEoc2VsZi5kYiwgIlJlbW92ZUZpbGUiLCBbKHNlbGYuY29tcG9uZW50K2tleSwgc2VsZi5jb21wb25lbnQsIHBhdHRlcm4sIHNlbGYubG9naWNhbCwgMildKQotCi0KLWNsYXNzIEZlYXR1cmU6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGRiLCBpZCwgdGl0bGUsIGRlc2MsIGRpc3BsYXksIGxldmVsID0gMSwKLSAgICAgICAgICAgICAgICAgcGFyZW50PU5vbmUsIGRpcmVjdG9yeSA9IE5vbmUsIGF0dHJpYnV0ZXM9MCk6Ci0gICAgICAgIHNlbGYuaWQgPSBpZAotICAgICAgICBpZiBwYXJlbnQ6Ci0gICAgICAgICAgICBwYXJlbnQgPSBwYXJlbnQuaWQKLSAgICAgICAgYWRkX2RhdGEoZGIsICJGZWF0dXJlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIFsoaWQsIHBhcmVudCwgdGl0bGUsIGRlc2MsIGRpc3BsYXksCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsLCBkaXJlY3RvcnksIGF0dHJpYnV0ZXMpXSkKLSAgICBkZWYgc2V0X2N1cnJlbnQoc2VsZik6Ci0gICAgICAgIGdsb2JhbCBjdXJyZW50X2ZlYXR1cmUKLSAgICAgICAgY3VycmVudF9mZWF0dXJlID0gc2VsZgotCi1jbGFzcyBDb250cm9sOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBkbGcsIG5hbWUpOgotICAgICAgICBzZWxmLmRsZyA9IGRsZwotICAgICAgICBzZWxmLm5hbWUgPSBuYW1lCi0KLSAgICBkZWYgZXZlbnQoc2VsZiwgZXYsIGFyZywgY29uZCA9ICIxIiwgb3JkZXIgPSBOb25lKToKLSAgICAgICAgYWRkX2RhdGEoc2VsZi5kbGcuZGIsICJDb250cm9sRXZlbnQiLAotICAgICAgICAgICAgICAgICBbKHNlbGYuZGxnLm5hbWUsIHNlbGYubmFtZSwgZXYsIGFyZywgY29uZCwgb3JkZXIpXSkKLQotICAgIGRlZiBtYXBwaW5nKHNlbGYsIGV2LCBhdHRyKToKLSAgICAgICAgYWRkX2RhdGEoc2VsZi5kbGcuZGIsICJFdmVudE1hcHBpbmciLAotICAgICAgICAgICAgICAgICBbKHNlbGYuZGxnLm5hbWUsIHNlbGYubmFtZSwgZXYsIGF0dHIpXSkKLQotICAgIGRlZiBjb25kaXRpb24oc2VsZiwgYWN0aW9uLCBjb25kaXRpb24pOgotICAgICAgICBhZGRfZGF0YShzZWxmLmRsZy5kYiwgIkNvbnRyb2xDb25kaXRpb24iLAotICAgICAgICAgICAgICAgICBbKHNlbGYuZGxnLm5hbWUsIHNlbGYubmFtZSwgYWN0aW9uLCBjb25kaXRpb24pXSkKLQotY2xhc3MgUmFkaW9CdXR0b25Hcm91cChDb250cm9sKToKLSAgICBkZWYgX19pbml0X18oc2VsZiwgZGxnLCBuYW1lLCBwcm9wZXJ0eSk6Ci0gICAgICAgIHNlbGYuZGxnID0gZGxnCi0gICAgICAgIHNlbGYubmFtZSA9IG5hbWUKLSAgICAgICAgc2VsZi5wcm9wZXJ0eSA9IHByb3BlcnR5Ci0gICAgICAgIHNlbGYuaW5kZXggPSAxCi0KLSAgICBkZWYgYWRkKHNlbGYsIG5hbWUsIHgsIHksIHcsIGgsIHRleHQsIHZhbHVlID0gTm9uZSk6Ci0gICAgICAgIGlmIHZhbHVlIGlzIE5vbmU6Ci0gICAgICAgICAgICB2YWx1ZSA9IG5hbWUKLSAgICAgICAgYWRkX2RhdGEoc2VsZi5kbGcuZGIsICJSYWRpb0J1dHRvbiIsCi0gICAgICAgICAgICAgICAgIFsoc2VsZi5wcm9wZXJ0eSwgc2VsZi5pbmRleCwgdmFsdWUsCi0gICAgICAgICAgICAgICAgICAgeCwgeSwgdywgaCwgdGV4dCwgTm9uZSldKQotICAgICAgICBzZWxmLmluZGV4ICs9IDEKLQotY2xhc3MgRGlhbG9nOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBkYiwgbmFtZSwgeCwgeSwgdywgaCwgYXR0ciwgdGl0bGUsIGZpcnN0LCBkZWZhdWx0LCBjYW5jZWwpOgotICAgICAgICBzZWxmLmRiID0gZGIKLSAgICAgICAgc2VsZi5uYW1lID0gbmFtZQotICAgICAgICBzZWxmLngsIHNlbGYueSwgc2VsZi53LCBzZWxmLmggPSB4LHksdyxoCi0gICAgICAgIGFkZF9kYXRhKGRiLCAiRGlhbG9nIiwgWyhuYW1lLCB4LHksdyxoLGF0dHIsdGl0bGUsZmlyc3QsZGVmYXVsdCxjYW5jZWwpXSkKLQotICAgIGRlZiBjb250cm9sKHNlbGYsIG5hbWUsIHR5cGUsIHgsIHksIHcsIGgsIGF0dHIsIHByb3AsIHRleHQsIG5leHQsIGhlbHApOgotICAgICAgICBhZGRfZGF0YShzZWxmLmRiLCAiQ29udHJvbCIsCi0gICAgICAgICAgICAgICAgIFsoc2VsZi5uYW1lLCBuYW1lLCB0eXBlLCB4LCB5LCB3LCBoLCBhdHRyLCBwcm9wLCB0ZXh0LCBuZXh0LCBoZWxwKV0pCi0gICAgICAgIHJldHVybiBDb250cm9sKHNlbGYsIG5hbWUpCi0KLSAgICBkZWYgdGV4dChzZWxmLCBuYW1lLCB4LCB5LCB3LCBoLCBhdHRyLCB0ZXh0KToKLSAgICAgICAgcmV0dXJuIHNlbGYuY29udHJvbChuYW1lLCAiVGV4dCIsIHgsIHksIHcsIGgsIGF0dHIsIE5vbmUsCi0gICAgICAgICAgICAgICAgICAgICB0ZXh0LCBOb25lLCBOb25lKQotCi0gICAgZGVmIGJpdG1hcChzZWxmLCBuYW1lLCB4LCB5LCB3LCBoLCB0ZXh0KToKLSAgICAgICAgcmV0dXJuIHNlbGYuY29udHJvbChuYW1lLCAiQml0bWFwIiwgeCwgeSwgdywgaCwgMSwgTm9uZSwgdGV4dCwgTm9uZSwgTm9uZSkKLQotICAgIGRlZiBsaW5lKHNlbGYsIG5hbWUsIHgsIHksIHcsIGgpOgotICAgICAgICByZXR1cm4gc2VsZi5jb250cm9sKG5hbWUsICJMaW5lIiwgeCwgeSwgdywgaCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSkKLQotICAgIGRlZiBwdXNoYnV0dG9uKHNlbGYsIG5hbWUsIHgsIHksIHcsIGgsIGF0dHIsIHRleHQsIG5leHQpOgotICAgICAgICByZXR1cm4gc2VsZi5jb250cm9sKG5hbWUsICJQdXNoQnV0dG9uIiwgeCwgeSwgdywgaCwgYXR0ciwgTm9uZSwgdGV4dCwgbmV4dCwgTm9uZSkKLQotICAgIGRlZiByYWRpb2dyb3VwKHNlbGYsIG5hbWUsIHgsIHksIHcsIGgsIGF0dHIsIHByb3AsIHRleHQsIG5leHQpOgotICAgICAgICBhZGRfZGF0YShzZWxmLmRiLCAiQ29udHJvbCIsCi0gICAgICAgICAgICAgICAgIFsoc2VsZi5uYW1lLCBuYW1lLCAiUmFkaW9CdXR0b25Hcm91cCIsCi0gICAgICAgICAgICAgICAgICAgeCwgeSwgdywgaCwgYXR0ciwgcHJvcCwgdGV4dCwgbmV4dCwgTm9uZSldKQotICAgICAgICByZXR1cm4gUmFkaW9CdXR0b25Hcm91cChzZWxmLCBuYW1lLCBwcm9wKQotCi0gICAgZGVmIGNoZWNrYm94KHNlbGYsIG5hbWUsIHgsIHksIHcsIGgsIGF0dHIsIHByb3AsIHRleHQsIG5leHQpOgotICAgICAgICByZXR1cm4gc2VsZi5jb250cm9sKG5hbWUsICJDaGVja0JveCIsIHgsIHksIHcsIGgsIGF0dHIsIHByb3AsIHRleHQsIG5leHQsIE5vbmUpCi0KLWRlZiBwZV90eXBlKHBhdGgpOgotICAgIGhlYWRlciA9IG9wZW4ocGF0aCwgInJiIikucmVhZCgxMDAwKQotICAgICMgb2Zmc2V0IG9mIFBFIGhlYWRlciBpcyBhdCBvZmZzZXQgMHgzYwotICAgIHBlX29mZnNldCA9IHN0cnVjdC51bnBhY2soIjxpIiwgaGVhZGVyWzB4M2M6MHg0MF0pWzBdCi0gICAgYXNzZXJ0IGhlYWRlcltwZV9vZmZzZXQ6cGVfb2Zmc2V0KzRdID09ICJQRVwwXDAiCi0gICAgbWFjaGluZSA9IHN0cnVjdC51bnBhY2soIjxIIiwgaGVhZGVyW3BlX29mZnNldCs0OnBlX29mZnNldCs2XSlbMF0KLSAgICByZXR1cm4gbWFjaGluZQotCi1kZWYgc2V0X2FyY2hfZnJvbV9maWxlKHBhdGgpOgotICAgIGdsb2JhbCBtc2lfdHlwZSwgV2luNjQsIGFyY2hfZXh0Ci0gICAgbWFjaGluZSA9IHBlX3R5cGUocGF0aCkKLSAgICBpZiBtYWNoaW5lID09IDB4MTRjOgotICAgICAgICAjIGkzODYKLSAgICAgICAgbXNpX3R5cGUgPSAiSW50ZWwiCi0gICAgICAgIFdpbjY0ID0gMAotICAgICAgICBhcmNoX2V4dCA9ICcnCi0gICAgZWxpZiBtYWNoaW5lID09IDB4MjAwOgotICAgICAgICAjIEl0YW5pdW0KLSAgICAgICAgbXNpX3R5cGUgPSAiSW50ZWw2NCIKLSAgICAgICAgV2luNjQgPSAxCi0gICAgICAgIGFyY2hfZXh0ID0gJy5pYTY0JwotICAgIGVsaWYgbWFjaGluZSA9PSAweDg2NjQ6Ci0gICAgICAgICMgQU1ENjQKLSAgICAgICAgbXNpX3R5cGUgPSAieDY0IgotICAgICAgICBXaW42NCA9IDEKLSAgICAgICAgYXJjaF9leHQgPSAnLmFtZDY0JwotICAgIGVsc2U6Ci0gICAgICAgIHJhaXNlIFZhbHVlRXJyb3IsICJVbnN1cHBvcnRlZCBhcmNoaXRlY3R1cmUiCi0gICAgbXNpX3R5cGUgKz0gIjsxMDMzIgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL21zaXN1cHBvcnQuYyBiL1Rvb2xzL21zaS9tc2lzdXBwb3J0LmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFmZDJlZTQuLjAwMDAwMDAKLS0tIGEvVG9vbHMvbXNpL21zaXN1cHBvcnQuYworKysgL2Rldi9udWxsCkBAIC0xLDkzICswLDAgQEAKLSNpbmNsdWRlICJ3aW5kb3dzLmgiCi0jaW5jbHVkZSAibXNpcXVlcnkuaCIKLQotLyogUHJpbnQgYSBkZWJ1ZyBtZXNzYWdlIHRvIHRoZSBpbnN0YWxsZXIgbG9nIGZpbGUuCi0gKiBUbyBzZWUgdGhlIGRlYnVnIG1lc3NhZ2VzLCBpbnN0YWxsIHdpdGgKLSAqIG1zaWV4ZWMgL2kgcHl0aG9ueHkubXNpIC9sKnYgcHl0aG9uLmxvZwotICovCi1zdGF0aWMgVUlOVCBkZWJ1ZyhNU0lIQU5ETEUgaEluc3RhbGwsIExQQ1NUUiBtc2cpCi17Ci0gICAgTVNJSEFORExFIGhSZWMgPSBNc2lDcmVhdGVSZWNvcmQoMSk7Ci0gICAgaWYgKCFoUmVjIHx8IE1zaVJlY29yZFNldFN0cmluZ0EoaFJlYywgMSwgbXNnKSAhPSBFUlJPUl9TVUNDRVNTKSB7Ci0gICAgICAgIHJldHVybiBFUlJPUl9JTlNUQUxMX0ZBSUxVUkU7Ci0gICAgfQotICAgIE1zaVByb2Nlc3NNZXNzYWdlKGhJbnN0YWxsLCBJTlNUQUxMTUVTU0FHRV9JTkZPLCBoUmVjKTsKLSAgICBNc2lDbG9zZUhhbmRsZShoUmVjKTsKLSAgICByZXR1cm4gRVJST1JfU1VDQ0VTUzsKLX0KLQotLyogQ2hlY2sgd2hldGhlciB0aGUgVEFSR0VURElSIGV4aXN0cyBhbmQgaXMgYSBkaXJlY3RvcnkuCi0gKiBTZXQgVGFyZ2V0RXhpc3RzIGFwcHJvcHJpYXRlbHkuCi0gKi8KLVVJTlQgX19kZWNsc3BlYyhkbGxleHBvcnQpIF9fc3RkY2FsbCBDaGVja0RpcihNU0lIQU5ETEUgaEluc3RhbGwpCi17Ci0jZGVmaW5lIFBTSVpFIDEwMjQKLSAgICBXQ0hBUiB3cGF0aFtQU0laRV07Ci0gICAgY2hhciBwYXRoW1BTSVpFXTsKLSAgICBVSU5UIHJlc3VsdDsKLSAgICBEV09SRCBzaXplID0gUFNJWkU7Ci0gICAgRFdPUkQgYXR0cmlidXRlczsKLQotCi0gICAgcmVzdWx0ID0gTXNpR2V0UHJvcGVydHlXKGhJbnN0YWxsLCBMIlRBUkdFVERJUiIsIHdwYXRoLCAmc2l6ZSk7Ci0gICAgaWYgKHJlc3VsdCAhPSBFUlJPUl9TVUNDRVNTKQotICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgIHdwYXRoW3NpemVdID0gTCdcMCc7Ci0gICAgcGF0aFtzaXplXSA9IEwnXDAnOwotCi0gICAgYXR0cmlidXRlcyA9IEdldEZpbGVBdHRyaWJ1dGVzVyh3cGF0aCk7Ci0gICAgaWYgKGF0dHJpYnV0ZXMgPT0gSU5WQUxJRF9GSUxFX0FUVFJJQlVURVMgfHwKLSAgICAgICAgIShhdHRyaWJ1dGVzICYgRklMRV9BVFRSSUJVVEVfRElSRUNUT1JZKSkKLSAgICB7Ci0gICAgICAgIHJldHVybiBNc2lTZXRQcm9wZXJ0eUEoaEluc3RhbGwsICJUYXJnZXRFeGlzdHMiLCAiMCIpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIHJldHVybiBNc2lTZXRQcm9wZXJ0eUEoaEluc3RhbGwsICJUYXJnZXRFeGlzdHMiLCAiMSIpOwotICAgIH0KLX0KLQotLyogVXBkYXRlIHRoZSBzdGF0ZSBvZiB0aGUgUkVHSVNUUlkudGNsIGNvbXBvbmVudCBhY2NvcmRpbmcgdG8gdGhlCi0gKiBFeHRlbnNpb24gYW5kIFRjbFRrIGZlYXR1cmVzLiBSRUdJU1RSWS50Y2wgbXVzdCBiZSBpbnN0YWxsZWQKLSAqIGlmIGJvdGggZmVhdHVyZXMgYXJlIGluc3RhbGxlZCwgYW5kIG11c3QgYmUgYWJzZW50IG90aGVyd2lzZS4KLSAqLwotVUlOVCBfX2RlY2xzcGVjKGRsbGV4cG9ydCkgX19zdGRjYWxsIFVwZGF0ZUVkaXRJRExFKE1TSUhBTkRMRSBoSW5zdGFsbCkKLXsKLSAgICBJTlNUQUxMU1RBVEUgZXh0X29sZCwgZXh0X25ldywgdGNsX29sZCwgdGNsX25ldywgcmVnX25ldzsKLSAgICBVSU5UIHJlc3VsdDsKLQotICAgIHJlc3VsdCA9IE1zaUdldEZlYXR1cmVTdGF0ZUEoaEluc3RhbGwsICJFeHRlbnNpb25zIiwgJmV4dF9vbGQsICZleHRfbmV3KTsKLSAgICBpZiAocmVzdWx0ICE9IEVSUk9SX1NVQ0NFU1MpCi0gICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgcmVzdWx0ID0gTXNpR2V0RmVhdHVyZVN0YXRlQShoSW5zdGFsbCwgIlRjbFRrIiwgJnRjbF9vbGQsICZ0Y2xfbmV3KTsKLSAgICBpZiAocmVzdWx0ICE9IEVSUk9SX1NVQ0NFU1MpCi0gICAgICAgIHJldHVybiByZXN1bHQ7Ci0KLSAgICAvKiBJZiB0aGUgY3VycmVudCBzdGF0ZSBpcyBBYnNlbnQsIGFuZCB0aGUgdXNlciBkaWQgbm90IHNlbGVjdAotICAgICAgIHRoZSBmZWF0dXJlIGluIHRoZSBVSSwgSW5zdGFsbGVyIGFwcGFyZW50bHkgc2V0cyB0aGUgInNlbGVjdGVkIgotICAgICAgIHN0YXRlIHRvIHVua25vd24uIFVwZGF0ZSBpdCB0byB0aGUgY3VycmVudCB2YWx1ZSwgdGhlbi4gKi8KLSAgICBpZiAoZXh0X25ldyA9PSBJTlNUQUxMU1RBVEVfVU5LTk9XTikKLSAgICAgICAgZXh0X25ldyA9IGV4dF9vbGQ7Ci0gICAgaWYgKHRjbF9uZXcgPT0gSU5TVEFMTFNUQVRFX1VOS05PV04pCi0gICAgICAgIHRjbF9uZXcgPSB0Y2xfb2xkOwotCi0gICAgLy8gWFhYIGNvbnNpZGVyIGN1cnJlbnQgc3RhdGUgb2YgUkVHSVNUUlkudGNsPwotICAgIGlmICgoKHRjbF9uZXcgPT0gSU5TVEFMTFNUQVRFX0xPQ0FMKSB8fAotICAgICAgICAgICAgICh0Y2xfbmV3ID09IElOU1RBTExTVEFURV9TT1VSQ0UpIHx8Ci0gICAgICAgICAgICAgKHRjbF9uZXcgPT0gSU5TVEFMTFNUQVRFX0RFRkFVTFQpKSAmJgotICAgICAgICAoKGV4dF9uZXcgPT0gSU5TVEFMTFNUQVRFX0xPQ0FMKSB8fAotICAgICAgICAgKGV4dF9uZXcgPT0gSU5TVEFMTFNUQVRFX1NPVVJDRSkgfHwKLSAgICAgICAgIChleHRfbmV3ID09IElOU1RBTExTVEFURV9ERUZBVUxUKSkpIHsKLSAgICAgICAgcmVnX25ldyA9IElOU1RBTExTVEFURV9TT1VSQ0U7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgcmVnX25ldyA9IElOU1RBTExTVEFURV9BQlNFTlQ7Ci0gICAgfQotICAgIHJlc3VsdCA9IE1zaVNldENvbXBvbmVudFN0YXRlQShoSW5zdGFsbCwgIlJFR0lTVFJZLnRjbCIsIHJlZ19uZXcpOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLUJPT0wgQVBJRU5UUlkgRGxsTWFpbihIQU5ETEUgaE1vZHVsZSwKLSAgICAgICAgICAgICAgICAgICAgICBEV09SRCAgdWxfcmVhc29uX2Zvcl9jYWxsLAotICAgICAgICAgICAgICAgICAgICAgIExQVk9JRCBscFJlc2VydmVkKQotewotICAgIHJldHVybiBUUlVFOwotfQotCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvbXNpc3VwcG9ydC5tYWsgYi9Ub29scy9tc2kvbXNpc3VwcG9ydC5tYWsKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI5MDVkYmUuLjAwMDAwMDAKLS0tIGEvVG9vbHMvbXNpL21zaXN1cHBvcnQubWFrCisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi0jIC9PUFQ6IFJFRiBhbmQgSUNGIGFyZSBhZGRlZCBieSBWUy5ORVQgYnkgZGVmYXVsdAotbXNpc3VwcG9ydC5kbGw6CW1zaXN1cHBvcnQub2JqCi0JbGluay5leGUgL09VVDptc2lzdXBwb3J0LmRsbCAvSU5DUkVNRU5UQUw6Tk8gL05PTE9HTyAvRExMIC9TVUJTWVNURU06V0lORE9XUyAvT1BUOlJFRiAvT1BUOklDRiBtc2lzdXBwb3J0Lm9iaiBtc2kubGliIGtlcm5lbDMyLmxpYgotCi0jIFdlIHJlcXVlc3QgYSBzdGF0aWMgQ1JULCBzbyB0aGF0IHRoZXJlIHdpbGwgYmUgbm8gQ1JUIGRlcGVuZGVuY2llcwotIyBmb3IgdGhlIHRhcmdldCBzeXN0ZW0uIFdlIGNhbm5vdCBkbyB3aXRob3V0IGEgQ1JULCBzaW5jZSBpdCBwcm92aWRlcwotIyB0aGUgRExMIGVudHJ5IHBvaW50LgotbXNpc3VwcG9ydC5vYmo6CW1zaXN1cHBvcnQuYwotCWNsIC9PMiAvRCBXSU4zMiAvRCBOREVCVUcgL0QgX1dJTkRPV1MgL01UIC9XMyAvYyBtc2lzdXBwb3J0LmMKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9wYXRoL3BhdGgud2l4cHJvaiBiL1Rvb2xzL21zaS9wYXRoL3BhdGgud2l4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNzkyZTE0Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL3BhdGgvcGF0aC53aXhwcm9qCkBAIC0wLDAgKzEsMTkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgICA8UHJvcGVydHlHcm91cD4KKyAgICAgICAgPFByb2plY3RHdWlkPns5MUM5OTI5OC04RTJFLTQ0MjItQTVBRi1DQzRGRkY5QTU4RDN9PC9Qcm9qZWN0R3VpZD4KKyAgICAgICAgPFNjaGVtYVZlcnNpb24+Mi4wPC9TY2hlbWFWZXJzaW9uPgorICAgICAgICA8T3V0cHV0TmFtZT5wYXRoPC9PdXRwdXROYW1lPgorICAgICAgICA8T3V0cHV0VHlwZT5QYWNrYWdlPC9PdXRwdXRUeXBlPgorICAgICAgICA8U3VwcHJlc3NJY2VzPklDRTcxPC9TdXBwcmVzc0ljZXM+CisgICAgPC9Qcm9wZXJ0eUdyb3VwPgorICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cbXNpLnByb3BzIiAvPgorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxDb21waWxlIEluY2x1ZGU9Iioud3hzIiAvPgorICAgIDwvSXRlbUdyb3VwPgorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxFbWJlZGRlZFJlc291cmNlIEluY2x1ZGU9Iioud3hsIiAvPgorICAgIDwvSXRlbUdyb3VwPgorICAgIAorICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cbXNpLnRhcmdldHMiIC8+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL3BhdGgvcGF0aC53eHMgYi9Ub29scy9tc2kvcGF0aC9wYXRoLnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZTQ2MmUyCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL3BhdGgvcGF0aC53eHMKQEAgLTAsMCArMSwzNSBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxXaXggeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvd2kiPgorICAgIDxQcm9kdWN0IElkPSIqIiBMYW5ndWFnZT0iIShsb2MuTENJRCkiIE5hbWU9IiEobG9jLlRpdGxlKSIgVmVyc2lvbj0iJCh2YXIuVmVyc2lvbikiIE1hbnVmYWN0dXJlcj0iIShsb2MuTWFudWZhY3R1cmVyKSIgVXBncmFkZUNvZGU9IiQodmFyLlVwZ3JhZGVDb2RlKSI+CisgICAgICAgIDxQYWNrYWdlIEluc3RhbGxlclZlcnNpb249IjMwMCIgQ29tcHJlc3NlZD0ieWVzIiBJbnN0YWxsU2NvcGU9InBlclVzZXIiIFBsYXRmb3JtPSIkKHZhci5QbGF0Zm9ybSkiIC8+CisgICAgICAgIAorICAgICAgICA8UHJvcGVydHlSZWYgSWQ9IlVwZ3JhZGVUYWJsZSIgLz4KKyAgICAgICAgPFByb3BlcnR5UmVmIElkPSJSRUdJU1RSWUtFWSIgLz4KKyAgICAgICAgCisgICAgICAgIDxGZWF0dXJlIElkPSJEZWZhdWx0RmVhdHVyZSIgQWxsb3dBZHZlcnRpc2U9Im5vIiBUaXRsZT0iIShsb2MuVGl0bGUpIiBEZXNjcmlwdGlvbj0iIShsb2MuRGVzY3JpcHRpb24pIj4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9IlByZXBlbmRQYXRoX0NVIiBEaXJlY3Rvcnk9Ikluc3RhbGxEaXJlY3RvcnkiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxDb25kaXRpb24+Tk9UIEFMTFVTRVJTPTE8L0NvbmRpdGlvbj4KKyAgICAgICAgICAgICAgICA8UmVnaXN0cnlWYWx1ZSBLZXlQYXRoPSJ5ZXMiIFJvb3Q9IkhLQ1UiIEtleT0iW1JFR0lTVFJZS0VZXVxQcmVwZW5kUGF0aCIgVmFsdWU9IjEiIFR5cGU9ImludGVnZXIiIC8+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPENyZWF0ZUZvbGRlciBEaXJlY3Rvcnk9IlNjcmlwdHMiIC8+CisgICAgICAgICAgICAgICAgPFJlbW92ZUZvbGRlciBJZD0iUmVtb3ZlX1NjcmlwdHNfQ1UiIERpcmVjdG9yeT0iU2NyaXB0cyIgT249InVuaW5zdGFsbCIgLz4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8RW52aXJvbm1lbnQgSWQ9IlBBVEhfQ1UiIEFjdGlvbj0ic2V0IiBOYW1lPSJQQVRIIiBQYXJ0PSJmaXJzdCIgVmFsdWU9IltJbnN0YWxsRGlyZWN0b3J5XSIgLz4KKyAgICAgICAgICAgICAgICA8RW52aXJvbm1lbnQgSWQ9IlNDUklQVFNfUEFUSF9DVSIgQWN0aW9uPSJzZXQiIE5hbWU9IlBBVEgiIFBhcnQ9ImZpcnN0IiBWYWx1ZT0iW1NjcmlwdHNdIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJQcmVwZW5kUGF0aF9MTSIgRGlyZWN0b3J5PSJJbnN0YWxsRGlyZWN0b3J5IiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8Q29uZGl0aW9uPkFMTFVTRVJTPTE8L0NvbmRpdGlvbj4KKyAgICAgICAgICAgICAgICA8UmVnaXN0cnlWYWx1ZSBLZXlQYXRoPSJ5ZXMiIFJvb3Q9IkhLTE0iIEtleT0iW1JFR0lTVFJZS0VZXVxQcmVwZW5kUGF0aCIgVmFsdWU9IjEiIFR5cGU9ImludGVnZXIiIC8+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPENyZWF0ZUZvbGRlciBEaXJlY3Rvcnk9IlNjcmlwdHMiIC8+CisgICAgICAgICAgICAgICAgPFJlbW92ZUZvbGRlciBJZD0iUmVtb3ZlX1NjcmlwdHNfTE0iIERpcmVjdG9yeT0iU2NyaXB0cyIgT249InVuaW5zdGFsbCIgLz4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8RW52aXJvbm1lbnQgSWQ9IlBBVEhfTE0iIEFjdGlvbj0ic2V0IiBOYW1lPSJQQVRIIiBQYXJ0PSJmaXJzdCIgVmFsdWU9IltJbnN0YWxsRGlyZWN0b3J5XSIgU3lzdGVtPSJ5ZXMiIC8+CisgICAgICAgICAgICAgICAgPEVudmlyb25tZW50IElkPSJTQ1JJUFRTX1BBVEhfTE0iIEFjdGlvbj0ic2V0IiBOYW1lPSJQQVRIIiBQYXJ0PSJmaXJzdCIgVmFsdWU9IltTY3JpcHRzXSIgU3lzdGVtPSJ5ZXMiIC8+CisgICAgICAgICAgICAgICAgPEVudmlyb25tZW50IElkPSJQWV9QQVRIRVhUX0xNIiBBY3Rpb249InNldCIgTmFtZT0iUEFUSEVYVCIgUGFydD0ibGFzdCIgVmFsdWU9Ii5QWSIgU3lzdGVtPSJ5ZXMiIC8+CisgICAgICAgICAgICAgICAgPEVudmlyb25tZW50IElkPSJQWVdfUEFUSEVYVF9MTSIgQWN0aW9uPSJzZXQiIE5hbWU9IlBBVEhFWFQiIFBhcnQ9Imxhc3QiIFZhbHVlPSIuUFlXIiBTeXN0ZW09InllcyIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICA8L0ZlYXR1cmU+CisgICAgPC9Qcm9kdWN0PgorPC9XaXg+CisKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9wYXRoL3BhdGhfZW4tVVMud3hsIGIvVG9vbHMvbXNpL3BhdGgvcGF0aF9lbi1VUy53eGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzNhNzg4NgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9wYXRoL3BhdGhfZW4tVVMud3hsCkBAIC0wLDAgKzEsNiBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxXaXhMb2NhbGl6YXRpb24gQ3VsdHVyZT0iZW4tdXMiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L2xvY2FsaXphdGlvbiI+CisgICAgPFN0cmluZyBJZD0iRGVzY3JpcHRvciI+QWRkIHRvIFBhdGg8L1N0cmluZz4KKyAgICA8U3RyaW5nIElkPSJTaG9ydERlc2NyaXB0b3IiPlBhdGg8L1N0cmluZz4KKyAgICA8U3RyaW5nIElkPSJOb1B5dGhvbiI+Tm8gIShsb2MuUHJvZHVjdE5hbWUpIGluc3RhbGxhdGlvbiB3YXMgZGV0ZWN0ZWQuPC9TdHJpbmc+Cis8L1dpeExvY2FsaXphdGlvbj4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9waXAvcGlwLndpeHByb2ogYi9Ub29scy9tc2kvcGlwL3BpcC53aXhwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcxOGMwMmMKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvcGlwL3BpcC53aXhwcm9qCkBAIC0wLDAgKzEsMTkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgICA8UHJvcGVydHlHcm91cD4KKyAgICAgICAgPFByb2plY3RHdWlkPns5MUM5OTI5OC04RTJFLTQ0MjItQTVBRi1DQzRGRkY5QTU4RDN9PC9Qcm9qZWN0R3VpZD4KKyAgICAgICAgPFNjaGVtYVZlcnNpb24+Mi4wPC9TY2hlbWFWZXJzaW9uPgorICAgICAgICA8T3V0cHV0TmFtZT5waXA8L091dHB1dE5hbWU+CisgICAgICAgIDxPdXRwdXRUeXBlPlBhY2thZ2U8L091dHB1dFR5cGU+CisgICAgICAgIDxTdXBwcmVzc0ljZXM+SUNFNzE8L1N1cHByZXNzSWNlcz4KKyAgICA8L1Byb3BlcnR5R3JvdXA+CisgICAgPEltcG9ydCBQcm9qZWN0PSIuLlxtc2kucHJvcHMiIC8+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPENvbXBpbGUgSW5jbHVkZT0iKi53eHMiIC8+CisgICAgPC9JdGVtR3JvdXA+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPEVtYmVkZGVkUmVzb3VyY2UgSW5jbHVkZT0iKi53eGwiIC8+CisgICAgPC9JdGVtR3JvdXA+CisgICAgCisgICAgPEltcG9ydCBQcm9qZWN0PSIuLlxtc2kudGFyZ2V0cyIgLz4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvcGlwL3BpcC53eHMgYi9Ub29scy9tc2kvcGlwL3BpcC53eHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGMzZGM1OQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9waXAvcGlwLnd4cwpAQCAtMCwwICsxLDQxIEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPFdpeCB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi93aSI+CisgICAgPFByb2R1Y3QgSWQ9IioiIExhbmd1YWdlPSIhKGxvYy5MQ0lEKSIgTmFtZT0iIShsb2MuVGl0bGUpIiBWZXJzaW9uPSIkKHZhci5WZXJzaW9uKSIgTWFudWZhY3R1cmVyPSIhKGxvYy5NYW51ZmFjdHVyZXIpIiBVcGdyYWRlQ29kZT0iJCh2YXIuVXBncmFkZUNvZGUpIj4KKyAgICAgICAgPFBhY2thZ2UgSW5zdGFsbGVyVmVyc2lvbj0iMzAwIiBDb21wcmVzc2VkPSJ5ZXMiIEluc3RhbGxTY29wZT0icGVyVXNlciIgUGxhdGZvcm09IiQodmFyLlBsYXRmb3JtKSIgLz4KKyAgICAgICAgCisgICAgICAgIDxQcm9wZXJ0eVJlZiBJZD0iVXBncmFkZVRhYmxlIiAvPgorICAgICAgICA8UHJvcGVydHlSZWYgSWQ9IlJFR0lTVFJZS0VZIiAvPgorICAgICAgICAKKyAgICAgICAgPFByb3BlcnR5IElkPSJQWVRIT05fRVhFIiBTZWN1cmU9InllcyI+CisgICAgICAgICAgICA8Q29tcG9uZW50U2VhcmNoIElkPSJQeXRob25FeGUiIEd1aWQ9IiQodmFyLlB5dGhvbkV4ZUNvbXBvbmVudEd1aWQpIj4KKyAgICAgICAgICAgICAgICA8RmlsZVNlYXJjaCBOYW1lPSJweXRob24uZXhlIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnRTZWFyY2g+CisgICAgICAgIDwvUHJvcGVydHk+CisKKyAgICAgICAgPENvbmRpdGlvbiBNZXNzYWdlPSIhKGxvYy5Ob1B5dGhvbikiPlBZVEhPTl9FWEU8L0NvbmRpdGlvbj4KKyAgICAgICAgCisgICAgICAgIDxGZWF0dXJlIElkPSJEZWZhdWx0RmVhdHVyZSIgQWxsb3dBZHZlcnRpc2U9Im5vIiBUaXRsZT0iIShsb2MuVGl0bGUpIiBEZXNjcmlwdGlvbj0iIShsb2MuRGVzY3JpcHRpb24pIj4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9InBpcCIgR3VpZD0iKiIgRGlyZWN0b3J5PSJJbnN0YWxsRGlyZWN0b3J5Ij4KKyAgICAgICAgICAgICAgICA8UmVnaXN0cnlWYWx1ZSBLZXlQYXRoPSJ5ZXMiIFJvb3Q9IkhLTVUiIEtleT0iW1JFR0lTVFJZS0VZXVxFbnN1cmVQaXBSdW4iIFZhbHVlPSIxIiBUeXBlPSJpbnRlZ2VyIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgIDwvRmVhdHVyZT4KKyAgICAgICAgCisgICAgICAgIDw/aWYgJCh2YXIuUGxhdGZvcm0pfj0ieDY0IiA/PgorICAgICAgICA8Q3VzdG9tQWN0aW9uIElkPSJVcGRhdGVQaXAiIEJpbmFyeUtleT0iV2l4Q0EiIERsbEVudHJ5PSJDQVF1aWV0RXhlYzY0IiBFeGVjdXRlPSJkZWZlcnJlZCIgUmV0dXJuPSJpZ25vcmUiLz4KKyAgICAgICAgPD9lbHNlID8+CisgICAgICAgIDxDdXN0b21BY3Rpb24gSWQ9IlVwZGF0ZVBpcCIgQmluYXJ5S2V5PSJXaXhDQSIgRGxsRW50cnk9IkNBUXVpZXRFeGVjIiBFeGVjdXRlPSJkZWZlcnJlZCIgUmV0dXJuPSJpZ25vcmUiLz4KKyAgICAgICAgPD9lbmRpZiA/PgorICAgICAgICAKKyAgICAgICAgPCEtLSBJbnN0YWxsL3VuaW5zdGFsbCBwaXAgLS0+CisgICAgICAgIDxDdXN0b21BY3Rpb24gSWQ9IlNldFVwZGF0ZVBpcENvbW1hbmRMaW5lIiBQcm9wZXJ0eT0iVXBkYXRlUGlwIiBWYWx1ZT0nIltQWVRIT05fRVhFXSIgLW0gZW5zdXJlcGlwIC1VIC0tZGVmYXVsdC1waXAnIEV4ZWN1dGU9ImltbWVkaWF0ZSIgLz4KKyAgICAgICAgPEN1c3RvbUFjdGlvbiBJZD0iU2V0UmVtb3ZlUGlwQ29tbWFuZExpbmUiIFByb3BlcnR5PSJVcGRhdGVQaXAiIFZhbHVlPSciW1BZVEhPTl9FWEVdIiAtQiAtbSBlbnN1cmVwaXAuX3VuaW5zdGFsbCcgRXhlY3V0ZT0iaW1tZWRpYXRlIiAvPgorICAgICAgICAKKyAgICAgICAgPEluc3RhbGxFeGVjdXRlU2VxdWVuY2U+CisgICAgICAgICAgICA8Q3VzdG9tIEFjdGlvbj0iU2V0VXBkYXRlUGlwQ29tbWFuZExpbmUiIEJlZm9yZT0iVXBkYXRlUGlwIj4oJmFtcDtEZWZhdWx0RmVhdHVyZT0zKSBBTkQgTk9UICghRGVmYXVsdEZlYXR1cmU9Myk8L0N1c3RvbT4KKyAgICAgICAgICAgIDxDdXN0b20gQWN0aW9uPSJTZXRSZW1vdmVQaXBDb21tYW5kTGluZSIgQmVmb3JlPSJVcGRhdGVQaXAiPigmYW1wO0RlZmF1bHRGZWF0dXJlPTIpIEFORCAoIURlZmF1bHRGZWF0dXJlPTMpPC9DdXN0b20+CisKKyAgICAgICAgICAgIDxDdXN0b20gQWN0aW9uPSJVcGRhdGVQaXAiIEJlZm9yZT0iSW5zdGFsbEZpbmFsaXplIj5VcGRhdGVQaXA8L0N1c3RvbT4KKyAgICAgICAgPC9JbnN0YWxsRXhlY3V0ZVNlcXVlbmNlPgorICAgIDwvUHJvZHVjdD4KKzwvV2l4PgorCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvcGlwL3BpcF9lbi1VUy53eGwgYi9Ub29scy9tc2kvcGlwL3BpcF9lbi1VUy53eGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2QwZDllZAotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9waXAvcGlwX2VuLVVTLnd4bApAQCAtMCwwICsxLDYgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8V2l4TG9jYWxpemF0aW9uIEN1bHR1cmU9ImVuLXVzIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi9sb2NhbGl6YXRpb24iPgorICAgIDxTdHJpbmcgSWQ9IkRlc2NyaXB0b3IiPnBpcCBCb290c3RyYXA8L1N0cmluZz4KKyAgICA8U3RyaW5nIElkPSJTaG9ydERlc2NyaXB0b3IiPnBpcDwvU3RyaW5nPgorICAgIDxTdHJpbmcgSWQ9Ik5vUHl0aG9uIj5ObyAhKGxvYy5Qcm9kdWN0TmFtZSkgaW5zdGFsbGF0aW9uIHdhcyBkZXRlY3RlZC48L1N0cmluZz4KKzwvV2l4TG9jYWxpemF0aW9uPgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL3NjaGVtYS5weSBiL1Rvb2xzL21zaS9zY2hlbWEucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFmNzJlNWEuLjAwMDAwMDAKLS0tIGEvVG9vbHMvbXNpL3NjaGVtYS5weQorKysgL2Rldi9udWxsCkBAIC0xLDEwMDcgKzAsMCBAQAotZnJvbSBtc2lsaWIgaW1wb3J0IFRhYmxlCi0KLV9WYWxpZGF0aW9uID0gVGFibGUoJ19WYWxpZGF0aW9uJykKLV9WYWxpZGF0aW9uLmFkZF9maWVsZCgxLCdUYWJsZScsMTE1NTIpCi1fVmFsaWRhdGlvbi5hZGRfZmllbGQoMiwnQ29sdW1uJywxMTU1MikKLV9WYWxpZGF0aW9uLmFkZF9maWVsZCgzLCdOdWxsYWJsZScsMzMzMikKLV9WYWxpZGF0aW9uLmFkZF9maWVsZCg0LCdNaW5WYWx1ZScsNDM1NikKLV9WYWxpZGF0aW9uLmFkZF9maWVsZCg1LCdNYXhWYWx1ZScsNDM1NikKLV9WYWxpZGF0aW9uLmFkZF9maWVsZCg2LCdLZXlUYWJsZScsNzY3OSkKLV9WYWxpZGF0aW9uLmFkZF9maWVsZCg3LCdLZXlDb2x1bW4nLDUzNzgpCi1fVmFsaWRhdGlvbi5hZGRfZmllbGQoOCwnQ2F0ZWdvcnknLDc0NTYpCi1fVmFsaWRhdGlvbi5hZGRfZmllbGQoOSwnU2V0Jyw3Njc5KQotX1ZhbGlkYXRpb24uYWRkX2ZpZWxkKDEwLCdEZXNjcmlwdGlvbicsNzY3OSkKLQotQWN0aW9uVGV4dCA9IFRhYmxlKCdBY3Rpb25UZXh0JykKLUFjdGlvblRleHQuYWRkX2ZpZWxkKDEsJ0FjdGlvbicsMTE1OTIpCi1BY3Rpb25UZXh0LmFkZF9maWVsZCgyLCdEZXNjcmlwdGlvbicsNzkzNikKLUFjdGlvblRleHQuYWRkX2ZpZWxkKDMsJ1RlbXBsYXRlJyw3OTM2KQotCi1BZG1pbkV4ZWN1dGVTZXF1ZW5jZSA9IFRhYmxlKCdBZG1pbkV4ZWN1dGVTZXF1ZW5jZScpCi1BZG1pbkV4ZWN1dGVTZXF1ZW5jZS5hZGRfZmllbGQoMSwnQWN0aW9uJywweDJERkYpCi1BZG1pbkV4ZWN1dGVTZXF1ZW5jZS5hZGRfZmllbGQoMiwnQ29uZGl0aW9uJyw3Njc5KQotQWRtaW5FeGVjdXRlU2VxdWVuY2UuYWRkX2ZpZWxkKDMsJ1NlcXVlbmNlJyw1Mzc4KQotCi1Db25kaXRpb24gPSBUYWJsZSgnQ29uZGl0aW9uJykKLUNvbmRpdGlvbi5hZGRfZmllbGQoMSwnRmVhdHVyZV8nLDExNTU4KQotQ29uZGl0aW9uLmFkZF9maWVsZCgyLCdMZXZlbCcsOTQ3NCkKLUNvbmRpdGlvbi5hZGRfZmllbGQoMywnQ29uZGl0aW9uJyw3Njc5KQotCi1BZG1pblVJU2VxdWVuY2UgPSBUYWJsZSgnQWRtaW5VSVNlcXVlbmNlJykKLUFkbWluVUlTZXF1ZW5jZS5hZGRfZmllbGQoMSwnQWN0aW9uJywweDJERkYpCi1BZG1pblVJU2VxdWVuY2UuYWRkX2ZpZWxkKDIsJ0NvbmRpdGlvbicsNzY3OSkKLUFkbWluVUlTZXF1ZW5jZS5hZGRfZmllbGQoMywnU2VxdWVuY2UnLDUzNzgpCi0KLUFkdnRFeGVjdXRlU2VxdWVuY2UgPSBUYWJsZSgnQWR2dEV4ZWN1dGVTZXF1ZW5jZScpCi1BZHZ0RXhlY3V0ZVNlcXVlbmNlLmFkZF9maWVsZCgxLCdBY3Rpb24nLDB4MkRGRikKLUFkdnRFeGVjdXRlU2VxdWVuY2UuYWRkX2ZpZWxkKDIsJ0NvbmRpdGlvbicsNzY3OSkKLUFkdnRFeGVjdXRlU2VxdWVuY2UuYWRkX2ZpZWxkKDMsJ1NlcXVlbmNlJyw1Mzc4KQotCi1BZHZ0VUlTZXF1ZW5jZSA9IFRhYmxlKCdBZHZ0VUlTZXF1ZW5jZScpCi1BZHZ0VUlTZXF1ZW5jZS5hZGRfZmllbGQoMSwnQWN0aW9uJywxMTU5MikKLUFkdnRVSVNlcXVlbmNlLmFkZF9maWVsZCgyLCdDb25kaXRpb24nLDc2NzkpCi1BZHZ0VUlTZXF1ZW5jZS5hZGRfZmllbGQoMywnU2VxdWVuY2UnLDUzNzgpCi0KLUFwcElkID0gVGFibGUoJ0FwcElkJykKLUFwcElkLmFkZF9maWVsZCgxLCdBcHBJZCcsMTE1NTgpCi1BcHBJZC5hZGRfZmllbGQoMiwnUmVtb3RlU2VydmVyTmFtZScsNzY3OSkKLUFwcElkLmFkZF9maWVsZCgzLCdMb2NhbFNlcnZpY2UnLDc2NzkpCi1BcHBJZC5hZGRfZmllbGQoNCwnU2VydmljZVBhcmFtZXRlcnMnLDc2NzkpCi1BcHBJZC5hZGRfZmllbGQoNSwnRGxsU3Vycm9nYXRlJyw3Njc5KQotQXBwSWQuYWRkX2ZpZWxkKDYsJ0FjdGl2YXRlQXRTdG9yYWdlJyw1Mzc4KQotQXBwSWQuYWRkX2ZpZWxkKDcsJ1J1bkFzSW50ZXJhY3RpdmVVc2VyJyw1Mzc4KQotCi1BcHBTZWFyY2ggPSBUYWJsZSgnQXBwU2VhcmNoJykKLUFwcFNlYXJjaC5hZGRfZmllbGQoMSwnUHJvcGVydHknLDExNTkyKQotQXBwU2VhcmNoLmFkZF9maWVsZCgyLCdTaWduYXR1cmVfJywxMTU5MikKLQotUHJvcGVydHkgPSBUYWJsZSgnUHJvcGVydHknKQotUHJvcGVydHkuYWRkX2ZpZWxkKDEsJ1Byb3BlcnR5JywxMTU5MikKLVByb3BlcnR5LmFkZF9maWVsZCgyLCdWYWx1ZScsMzg0MCkKLQotQkJDb250cm9sID0gVGFibGUoJ0JCQ29udHJvbCcpCi1CQkNvbnRyb2wuYWRkX2ZpZWxkKDEsJ0JpbGxib2FyZF8nLDExNTcwKQotQkJDb250cm9sLmFkZF9maWVsZCgyLCdCQkNvbnRyb2wnLDExNTcwKQotQkJDb250cm9sLmFkZF9maWVsZCgzLCdUeXBlJywzMzc4KQotQkJDb250cm9sLmFkZF9maWVsZCg0LCdYJywxMjgyKQotQkJDb250cm9sLmFkZF9maWVsZCg1LCdZJywxMjgyKQotQkJDb250cm9sLmFkZF9maWVsZCg2LCdXaWR0aCcsMTI4MikKLUJCQ29udHJvbC5hZGRfZmllbGQoNywnSGVpZ2h0JywxMjgyKQotQkJDb250cm9sLmFkZF9maWVsZCg4LCdBdHRyaWJ1dGVzJyw0MzU2KQotQkJDb250cm9sLmFkZF9maWVsZCg5LCdUZXh0Jyw3OTg2KQotCi1CaWxsYm9hcmQgPSBUYWJsZSgnQmlsbGJvYXJkJykKLUJpbGxib2FyZC5hZGRfZmllbGQoMSwnQmlsbGJvYXJkJywxMTU3MCkKLUJpbGxib2FyZC5hZGRfZmllbGQoMiwnRmVhdHVyZV8nLDMzNjYpCi1CaWxsYm9hcmQuYWRkX2ZpZWxkKDMsJ0FjdGlvbicsNzQ3NCkKLUJpbGxib2FyZC5hZGRfZmllbGQoNCwnT3JkZXJpbmcnLDUzNzgpCi0KLUZlYXR1cmUgPSBUYWJsZSgnRmVhdHVyZScpCi1GZWF0dXJlLmFkZF9maWVsZCgxLCdGZWF0dXJlJywxMTU1OCkKLUZlYXR1cmUuYWRkX2ZpZWxkKDIsJ0ZlYXR1cmVfUGFyZW50Jyw3NDYyKQotRmVhdHVyZS5hZGRfZmllbGQoMywnVGl0bGUnLDgwMDApCi1GZWF0dXJlLmFkZF9maWVsZCg0LCdEZXNjcmlwdGlvbicsODE5MSkKLUZlYXR1cmUuYWRkX2ZpZWxkKDUsJ0Rpc3BsYXknLDUzNzgpCi1GZWF0dXJlLmFkZF9maWVsZCg2LCdMZXZlbCcsMTI4MikKLUZlYXR1cmUuYWRkX2ZpZWxkKDcsJ0RpcmVjdG9yeV8nLDB4MURGRikKLUZlYXR1cmUuYWRkX2ZpZWxkKDgsJ0F0dHJpYnV0ZXMnLDEyODIpCi0KLUJpbmFyeSA9IFRhYmxlKCdCaW5hcnknKQotQmluYXJ5LmFkZF9maWVsZCgxLCdOYW1lJywxMTU5MikKLUJpbmFyeS5hZGRfZmllbGQoMiwnRGF0YScsMjMwNCkKLQotQmluZEltYWdlID0gVGFibGUoJ0JpbmRJbWFnZScpCi1CaW5kSW1hZ2UuYWRkX2ZpZWxkKDEsJ0ZpbGVfJywweDJERkYpCi1CaW5kSW1hZ2UuYWRkX2ZpZWxkKDIsJ1BhdGgnLDc2NzkpCi0KLUZpbGUgPSBUYWJsZSgnRmlsZScpCi1GaWxlLmFkZF9maWVsZCgxLCdGaWxlJywweDJERkYpCi1GaWxlLmFkZF9maWVsZCgyLCdDb21wb25lbnRfJywweERGRikKLUZpbGUuYWRkX2ZpZWxkKDMsJ0ZpbGVOYW1lJyw0MDk1KQotRmlsZS5hZGRfZmllbGQoNCwnRmlsZVNpemUnLDI2MCkKLUZpbGUuYWRkX2ZpZWxkKDUsJ1ZlcnNpb24nLDB4MURGRikKLUZpbGUuYWRkX2ZpZWxkKDYsJ0xhbmd1YWdlJyw3NDQ0KQotRmlsZS5hZGRfZmllbGQoNywnQXR0cmlidXRlcycsNTM3OCkKLUZpbGUuYWRkX2ZpZWxkKDgsJ1NlcXVlbmNlJywxMjgyKQotCi1DQ1BTZWFyY2ggPSBUYWJsZSgnQ0NQU2VhcmNoJykKLUNDUFNlYXJjaC5hZGRfZmllbGQoMSwnU2lnbmF0dXJlXycsMTE1OTIpCi0KLUNoZWNrQm94ID0gVGFibGUoJ0NoZWNrQm94JykKLUNoZWNrQm94LmFkZF9maWVsZCgxLCdQcm9wZXJ0eScsMTE1OTIpCi1DaGVja0JveC5hZGRfZmllbGQoMiwnVmFsdWUnLDc0ODgpCi0KLUNsYXNzID0gVGFibGUoJ0NsYXNzJykKLUNsYXNzLmFkZF9maWVsZCgxLCdDTFNJRCcsMTE1NTgpCi1DbGFzcy5hZGRfZmllbGQoMiwnQ29udGV4dCcsMTE1NTIpCi1DbGFzcy5hZGRfZmllbGQoMywnQ29tcG9uZW50XycsMHgyREZGKQotQ2xhc3MuYWRkX2ZpZWxkKDQsJ1Byb2dJZF9EZWZhdWx0Jyw3Njc5KQotQ2xhc3MuYWRkX2ZpZWxkKDUsJ0Rlc2NyaXB0aW9uJyw4MTkxKQotQ2xhc3MuYWRkX2ZpZWxkKDYsJ0FwcElkXycsNzQ2MikKLUNsYXNzLmFkZF9maWVsZCg3LCdGaWxlVHlwZU1hc2snLDc2NzkpCi1DbGFzcy5hZGRfZmllbGQoOCwnSWNvbl8nLDc0OTYpCi1DbGFzcy5hZGRfZmllbGQoOSwnSWNvbkluZGV4Jyw1Mzc4KQotQ2xhc3MuYWRkX2ZpZWxkKDEwLCdEZWZJbnByb2NIYW5kbGVyJyw3NDU2KQotQ2xhc3MuYWRkX2ZpZWxkKDExLCdBcmd1bWVudCcsNzY3OSkKLUNsYXNzLmFkZF9maWVsZCgxMiwnRmVhdHVyZV8nLDMzNjYpCi1DbGFzcy5hZGRfZmllbGQoMTMsJ0F0dHJpYnV0ZXMnLDUzNzgpCi0KLUNvbXBvbmVudCA9IFRhYmxlKCdDb21wb25lbnQnKQotQ29tcG9uZW50LmFkZF9maWVsZCgxLCdDb21wb25lbnQnLDB4MkRGRikKLUNvbXBvbmVudC5hZGRfZmllbGQoMiwnQ29tcG9uZW50SWQnLDc0NjIpCi1Db21wb25lbnQuYWRkX2ZpZWxkKDMsJ0RpcmVjdG9yeV8nLDB4REZGKQotQ29tcG9uZW50LmFkZF9maWVsZCg0LCdBdHRyaWJ1dGVzJywxMjgyKQotQ29tcG9uZW50LmFkZF9maWVsZCg1LCdDb25kaXRpb24nLDc2NzkpCi1Db21wb25lbnQuYWRkX2ZpZWxkKDYsJ0tleVBhdGgnLDB4MURGRikKLQotSWNvbiA9IFRhYmxlKCdJY29uJykKLUljb24uYWRkX2ZpZWxkKDEsJ05hbWUnLDExNTkyKQotSWNvbi5hZGRfZmllbGQoMiwnRGF0YScsMjMwNCkKLQotUHJvZ0lkID0gVGFibGUoJ1Byb2dJZCcpCi1Qcm9nSWQuYWRkX2ZpZWxkKDEsJ1Byb2dJZCcsMTE3NzUpCi1Qcm9nSWQuYWRkX2ZpZWxkKDIsJ1Byb2dJZF9QYXJlbnQnLDc2NzkpCi1Qcm9nSWQuYWRkX2ZpZWxkKDMsJ0NsYXNzXycsNzQ2MikKLVByb2dJZC5hZGRfZmllbGQoNCwnRGVzY3JpcHRpb24nLDgxOTEpCi1Qcm9nSWQuYWRkX2ZpZWxkKDUsJ0ljb25fJyw3NDk2KQotUHJvZ0lkLmFkZF9maWVsZCg2LCdJY29uSW5kZXgnLDUzNzgpCi0KLUNvbWJvQm94ID0gVGFibGUoJ0NvbWJvQm94JykKLUNvbWJvQm94LmFkZF9maWVsZCgxLCdQcm9wZXJ0eScsMTE1OTIpCi1Db21ib0JveC5hZGRfZmllbGQoMiwnT3JkZXInLDk0NzQpCi1Db21ib0JveC5hZGRfZmllbGQoMywnVmFsdWUnLDMzOTIpCi1Db21ib0JveC5hZGRfZmllbGQoNCwnVGV4dCcsODAwMCkKLQotQ29tcExvY2F0b3IgPSBUYWJsZSgnQ29tcExvY2F0b3InKQotQ29tcExvY2F0b3IuYWRkX2ZpZWxkKDEsJ1NpZ25hdHVyZV8nLDExNTkyKQotQ29tcExvY2F0b3IuYWRkX2ZpZWxkKDIsJ0NvbXBvbmVudElkJywzMzY2KQotQ29tcExvY2F0b3IuYWRkX2ZpZWxkKDMsJ1R5cGUnLDUzNzgpCi0KLUNvbXBsdXMgPSBUYWJsZSgnQ29tcGx1cycpCi1Db21wbHVzLmFkZF9maWVsZCgxLCdDb21wb25lbnRfJywweDJERkYpCi1Db21wbHVzLmFkZF9maWVsZCgyLCdFeHBUeXBlJywxMzU3MCkKLQotRGlyZWN0b3J5ID0gVGFibGUoJ0RpcmVjdG9yeScpCi1EaXJlY3RvcnkuYWRkX2ZpZWxkKDEsJ0RpcmVjdG9yeScsMHgyREZGKQotRGlyZWN0b3J5LmFkZF9maWVsZCgyLCdEaXJlY3RvcnlfUGFyZW50JywweDFERkYpCi1EaXJlY3RvcnkuYWRkX2ZpZWxkKDMsJ0RlZmF1bHREaXInLDQwOTUpCi0KLUNvbnRyb2wgPSBUYWJsZSgnQ29udHJvbCcpCi1Db250cm9sLmFkZF9maWVsZCgxLCdEaWFsb2dfJywxMTU5MikKLUNvbnRyb2wuYWRkX2ZpZWxkKDIsJ0NvbnRyb2wnLDExNTcwKQotQ29udHJvbC5hZGRfZmllbGQoMywnVHlwZScsMzM0OCkKLUNvbnRyb2wuYWRkX2ZpZWxkKDQsJ1gnLDEyODIpCi1Db250cm9sLmFkZF9maWVsZCg1LCdZJywxMjgyKQotQ29udHJvbC5hZGRfZmllbGQoNiwnV2lkdGgnLDEyODIpCi1Db250cm9sLmFkZF9maWVsZCg3LCdIZWlnaHQnLDEyODIpCi1Db250cm9sLmFkZF9maWVsZCg4LCdBdHRyaWJ1dGVzJyw0MzU2KQotQ29udHJvbC5hZGRfZmllbGQoOSwnUHJvcGVydHknLDc0NzQpCi1Db250cm9sLmFkZF9maWVsZCgxMCwnVGV4dCcsNzkzNikKLUNvbnRyb2wuYWRkX2ZpZWxkKDExLCdDb250cm9sX05leHQnLDc0NzQpCi1Db250cm9sLmFkZF9maWVsZCgxMiwnSGVscCcsNzk4NikKLQotRGlhbG9nID0gVGFibGUoJ0RpYWxvZycpCi1EaWFsb2cuYWRkX2ZpZWxkKDEsJ0RpYWxvZycsMTE1OTIpCi1EaWFsb2cuYWRkX2ZpZWxkKDIsJ0hDZW50ZXJpbmcnLDEyODIpCi1EaWFsb2cuYWRkX2ZpZWxkKDMsJ1ZDZW50ZXJpbmcnLDEyODIpCi1EaWFsb2cuYWRkX2ZpZWxkKDQsJ1dpZHRoJywxMjgyKQotRGlhbG9nLmFkZF9maWVsZCg1LCdIZWlnaHQnLDEyODIpCi1EaWFsb2cuYWRkX2ZpZWxkKDYsJ0F0dHJpYnV0ZXMnLDQzNTYpCi1EaWFsb2cuYWRkX2ZpZWxkKDcsJ1RpdGxlJyw4MDY0KQotRGlhbG9nLmFkZF9maWVsZCg4LCdDb250cm9sX0ZpcnN0JywzMzc4KQotRGlhbG9nLmFkZF9maWVsZCg5LCdDb250cm9sX0RlZmF1bHQnLDc0NzQpCi1EaWFsb2cuYWRkX2ZpZWxkKDEwLCdDb250cm9sX0NhbmNlbCcsNzQ3NCkKLQotQ29udHJvbENvbmRpdGlvbiA9IFRhYmxlKCdDb250cm9sQ29uZGl0aW9uJykKLUNvbnRyb2xDb25kaXRpb24uYWRkX2ZpZWxkKDEsJ0RpYWxvZ18nLDExNTkyKQotQ29udHJvbENvbmRpdGlvbi5hZGRfZmllbGQoMiwnQ29udHJvbF8nLDExNTcwKQotQ29udHJvbENvbmRpdGlvbi5hZGRfZmllbGQoMywnQWN0aW9uJywxMTU3MCkKLUNvbnRyb2xDb25kaXRpb24uYWRkX2ZpZWxkKDQsJ0NvbmRpdGlvbicsMTE3NzUpCi0KLUNvbnRyb2xFdmVudCA9IFRhYmxlKCdDb250cm9sRXZlbnQnKQotQ29udHJvbEV2ZW50LmFkZF9maWVsZCgxLCdEaWFsb2dfJywxMTU5MikKLUNvbnRyb2xFdmVudC5hZGRfZmllbGQoMiwnQ29udHJvbF8nLDExNTcwKQotQ29udHJvbEV2ZW50LmFkZF9maWVsZCgzLCdFdmVudCcsMTE1NzApCi1Db250cm9sRXZlbnQuYWRkX2ZpZWxkKDQsJ0FyZ3VtZW50JywxMTc3NSkKLUNvbnRyb2xFdmVudC5hZGRfZmllbGQoNSwnQ29uZGl0aW9uJywxNTg3MSkKLUNvbnRyb2xFdmVudC5hZGRfZmllbGQoNiwnT3JkZXJpbmcnLDUzNzgpCi0KLUNyZWF0ZUZvbGRlciA9IFRhYmxlKCdDcmVhdGVGb2xkZXInKQotQ3JlYXRlRm9sZGVyLmFkZF9maWVsZCgxLCdEaXJlY3RvcnlfJywweDJERkYpCi1DcmVhdGVGb2xkZXIuYWRkX2ZpZWxkKDIsJ0NvbXBvbmVudF8nLDB4MkRGRikKLQotQ3VzdG9tQWN0aW9uID0gVGFibGUoJ0N1c3RvbUFjdGlvbicpCi1DdXN0b21BY3Rpb24uYWRkX2ZpZWxkKDEsJ0FjdGlvbicsMHgyREZGKQotQ3VzdG9tQWN0aW9uLmFkZF9maWVsZCgyLCdUeXBlJywxMjgyKQotQ3VzdG9tQWN0aW9uLmFkZF9maWVsZCgzLCdTb3VyY2UnLDB4MURGRikKLUN1c3RvbUFjdGlvbi5hZGRfZmllbGQoNCwnVGFyZ2V0Jyw3Njc5KQotCi1EckxvY2F0b3IgPSBUYWJsZSgnRHJMb2NhdG9yJykKLURyTG9jYXRvci5hZGRfZmllbGQoMSwnU2lnbmF0dXJlXycsMTE1OTIpCi1EckxvY2F0b3IuYWRkX2ZpZWxkKDIsJ1BhcmVudCcsMTU2ODgpCi1EckxvY2F0b3IuYWRkX2ZpZWxkKDMsJ1BhdGgnLDE1ODcxKQotRHJMb2NhdG9yLmFkZF9maWVsZCg0LCdEZXB0aCcsNTM3OCkKLQotRHVwbGljYXRlRmlsZSA9IFRhYmxlKCdEdXBsaWNhdGVGaWxlJykKLUR1cGxpY2F0ZUZpbGUuYWRkX2ZpZWxkKDEsJ0ZpbGVLZXknLDExNTkyKQotRHVwbGljYXRlRmlsZS5hZGRfZmllbGQoMiwnQ29tcG9uZW50XycsMHhERkYpCi1EdXBsaWNhdGVGaWxlLmFkZF9maWVsZCgzLCdGaWxlXycsMHhERkYpCi1EdXBsaWNhdGVGaWxlLmFkZF9maWVsZCg0LCdEZXN0TmFtZScsODE5MSkKLUR1cGxpY2F0ZUZpbGUuYWRkX2ZpZWxkKDUsJ0Rlc3RGb2xkZXInLDc0OTYpCi0KLUVudmlyb25tZW50ID0gVGFibGUoJ0Vudmlyb25tZW50JykKLUVudmlyb25tZW50LmFkZF9maWVsZCgxLCdFbnZpcm9ubWVudCcsMTE1OTIpCi1FbnZpcm9ubWVudC5hZGRfZmllbGQoMiwnTmFtZScsNDA5NSkKLUVudmlyb25tZW50LmFkZF9maWVsZCgzLCdWYWx1ZScsODE5MSkKLUVudmlyb25tZW50LmFkZF9maWVsZCg0LCdDb21wb25lbnRfJywweERGRikKLQotRXJyb3IgPSBUYWJsZSgnRXJyb3InKQotRXJyb3IuYWRkX2ZpZWxkKDEsJ0Vycm9yJyw5NDc0KQotRXJyb3IuYWRkX2ZpZWxkKDIsJ01lc3NhZ2UnLDc5MzYpCi0KLUV2ZW50TWFwcGluZyA9IFRhYmxlKCdFdmVudE1hcHBpbmcnKQotRXZlbnRNYXBwaW5nLmFkZF9maWVsZCgxLCdEaWFsb2dfJywxMTU5MikKLUV2ZW50TWFwcGluZy5hZGRfZmllbGQoMiwnQ29udHJvbF8nLDExNTcwKQotRXZlbnRNYXBwaW5nLmFkZF9maWVsZCgzLCdFdmVudCcsMTE1NzApCi1FdmVudE1hcHBpbmcuYWRkX2ZpZWxkKDQsJ0F0dHJpYnV0ZScsMzM3OCkKLQotRXh0ZW5zaW9uID0gVGFibGUoJ0V4dGVuc2lvbicpCi1FeHRlbnNpb24uYWRkX2ZpZWxkKDEsJ0V4dGVuc2lvbicsMTE3NzUpCi1FeHRlbnNpb24uYWRkX2ZpZWxkKDIsJ0NvbXBvbmVudF8nLDB4MkRGRikKLUV4dGVuc2lvbi5hZGRfZmllbGQoMywnUHJvZ0lkXycsNzY3OSkKLUV4dGVuc2lvbi5hZGRfZmllbGQoNCwnTUlNRV8nLDc0ODgpCi1FeHRlbnNpb24uYWRkX2ZpZWxkKDUsJ0ZlYXR1cmVfJywzMzY2KQotCi1NSU1FID0gVGFibGUoJ01JTUUnKQotTUlNRS5hZGRfZmllbGQoMSwnQ29udGVudFR5cGUnLDExNTg0KQotTUlNRS5hZGRfZmllbGQoMiwnRXh0ZW5zaW9uXycsMzU4MykKLU1JTUUuYWRkX2ZpZWxkKDMsJ0NMU0lEJyw3NDYyKQotCi1GZWF0dXJlQ29tcG9uZW50cyA9IFRhYmxlKCdGZWF0dXJlQ29tcG9uZW50cycpCi1GZWF0dXJlQ29tcG9uZW50cy5hZGRfZmllbGQoMSwnRmVhdHVyZV8nLDExNTU4KQotRmVhdHVyZUNvbXBvbmVudHMuYWRkX2ZpZWxkKDIsJ0NvbXBvbmVudF8nLDB4MkRGRikKLQotRmlsZVNGUENhdGFsb2cgPSBUYWJsZSgnRmlsZVNGUENhdGFsb2cnKQotRmlsZVNGUENhdGFsb2cuYWRkX2ZpZWxkKDEsJ0ZpbGVfJywweDJERkYpCi1GaWxlU0ZQQ2F0YWxvZy5hZGRfZmllbGQoMiwnU0ZQQ2F0YWxvZ18nLDExNzc1KQotCi1TRlBDYXRhbG9nID0gVGFibGUoJ1NGUENhdGFsb2cnKQotU0ZQQ2F0YWxvZy5hZGRfZmllbGQoMSwnU0ZQQ2F0YWxvZycsMTE3NzUpCi1TRlBDYXRhbG9nLmFkZF9maWVsZCgyLCdDYXRhbG9nJywyMzA0KQotU0ZQQ2F0YWxvZy5hZGRfZmllbGQoMywnRGVwZW5kZW5jeScsNzQyNCkKLQotRm9udCA9IFRhYmxlKCdGb250JykKLUZvbnQuYWRkX2ZpZWxkKDEsJ0ZpbGVfJywweDJERkYpCi1Gb250LmFkZF9maWVsZCgyLCdGb250VGl0bGUnLDc1NTIpCi0KLUluaUZpbGUgPSBUYWJsZSgnSW5pRmlsZScpCi1JbmlGaWxlLmFkZF9maWVsZCgxLCdJbmlGaWxlJywxMTU5MikKLUluaUZpbGUuYWRkX2ZpZWxkKDIsJ0ZpbGVOYW1lJyw0MDk1KQotSW5pRmlsZS5hZGRfZmllbGQoMywnRGlyUHJvcGVydHknLDc0OTYpCi1JbmlGaWxlLmFkZF9maWVsZCg0LCdTZWN0aW9uJywzOTM2KQotSW5pRmlsZS5hZGRfZmllbGQoNSwnS2V5JywzOTY4KQotSW5pRmlsZS5hZGRfZmllbGQoNiwnVmFsdWUnLDQwOTUpCi1JbmlGaWxlLmFkZF9maWVsZCg3LCdBY3Rpb24nLDEyODIpCi1JbmlGaWxlLmFkZF9maWVsZCg4LCdDb21wb25lbnRfJywweERGRikKLQotSW5pTG9jYXRvciA9IFRhYmxlKCdJbmlMb2NhdG9yJykKLUluaUxvY2F0b3IuYWRkX2ZpZWxkKDEsJ1NpZ25hdHVyZV8nLDExNTkyKQotSW5pTG9jYXRvci5hZGRfZmllbGQoMiwnRmlsZU5hbWUnLDM1ODMpCi1JbmlMb2NhdG9yLmFkZF9maWVsZCgzLCdTZWN0aW9uJywzNDI0KQotSW5pTG9jYXRvci5hZGRfZmllbGQoNCwnS2V5JywzNDU2KQotSW5pTG9jYXRvci5hZGRfZmllbGQoNSwnRmllbGQnLDUzNzgpCi1JbmlMb2NhdG9yLmFkZF9maWVsZCg2LCdUeXBlJyw1Mzc4KQotCi1JbnN0YWxsRXhlY3V0ZVNlcXVlbmNlID0gVGFibGUoJ0luc3RhbGxFeGVjdXRlU2VxdWVuY2UnKQotSW5zdGFsbEV4ZWN1dGVTZXF1ZW5jZS5hZGRfZmllbGQoMSwnQWN0aW9uJywweDJERkYpCi1JbnN0YWxsRXhlY3V0ZVNlcXVlbmNlLmFkZF9maWVsZCgyLCdDb25kaXRpb24nLDc2NzkpCi1JbnN0YWxsRXhlY3V0ZVNlcXVlbmNlLmFkZF9maWVsZCgzLCdTZXF1ZW5jZScsNTM3OCkKLQotSW5zdGFsbFVJU2VxdWVuY2UgPSBUYWJsZSgnSW5zdGFsbFVJU2VxdWVuY2UnKQotSW5zdGFsbFVJU2VxdWVuY2UuYWRkX2ZpZWxkKDEsJ0FjdGlvbicsMHgyREZGKQotSW5zdGFsbFVJU2VxdWVuY2UuYWRkX2ZpZWxkKDIsJ0NvbmRpdGlvbicsNzY3OSkKLUluc3RhbGxVSVNlcXVlbmNlLmFkZF9maWVsZCgzLCdTZXF1ZW5jZScsNTM3OCkKLQotSXNvbGF0ZWRDb21wb25lbnQgPSBUYWJsZSgnSXNvbGF0ZWRDb21wb25lbnQnKQotSXNvbGF0ZWRDb21wb25lbnQuYWRkX2ZpZWxkKDEsJ0NvbXBvbmVudF9TaGFyZWQnLDB4MkRGRikKLUlzb2xhdGVkQ29tcG9uZW50LmFkZF9maWVsZCgyLCdDb21wb25lbnRfQXBwbGljYXRpb24nLDB4MkRGRikKLQotTGF1bmNoQ29uZGl0aW9uID0gVGFibGUoJ0xhdW5jaENvbmRpdGlvbicpCi1MYXVuY2hDb25kaXRpb24uYWRkX2ZpZWxkKDEsJ0NvbmRpdGlvbicsMTE3NzUpCi1MYXVuY2hDb25kaXRpb24uYWRkX2ZpZWxkKDIsJ0Rlc2NyaXB0aW9uJyw0MDk1KQotCi1MaXN0Qm94ID0gVGFibGUoJ0xpc3RCb3gnKQotTGlzdEJveC5hZGRfZmllbGQoMSwnUHJvcGVydHknLDExNTkyKQotTGlzdEJveC5hZGRfZmllbGQoMiwnT3JkZXInLDk0NzQpCi1MaXN0Qm94LmFkZF9maWVsZCgzLCdWYWx1ZScsMzM5MikKLUxpc3RCb3guYWRkX2ZpZWxkKDQsJ1RleHQnLDgwMDApCi0KLUxpc3RWaWV3ID0gVGFibGUoJ0xpc3RWaWV3JykKLUxpc3RWaWV3LmFkZF9maWVsZCgxLCdQcm9wZXJ0eScsMTE1OTIpCi1MaXN0Vmlldy5hZGRfZmllbGQoMiwnT3JkZXInLDk0NzQpCi1MaXN0Vmlldy5hZGRfZmllbGQoMywnVmFsdWUnLDMzOTIpCi1MaXN0Vmlldy5hZGRfZmllbGQoNCwnVGV4dCcsODAwMCkKLUxpc3RWaWV3LmFkZF9maWVsZCg1LCdCaW5hcnlfJyw3NDk2KQotCi1Mb2NrUGVybWlzc2lvbnMgPSBUYWJsZSgnTG9ja1Blcm1pc3Npb25zJykKLUxvY2tQZXJtaXNzaW9ucy5hZGRfZmllbGQoMSwnTG9ja09iamVjdCcsMTE1OTIpCi1Mb2NrUGVybWlzc2lvbnMuYWRkX2ZpZWxkKDIsJ1RhYmxlJywxMTU1MikKLUxvY2tQZXJtaXNzaW9ucy5hZGRfZmllbGQoMywnRG9tYWluJywxNTg3MSkKLUxvY2tQZXJtaXNzaW9ucy5hZGRfZmllbGQoNCwnVXNlcicsMTE3NzUpCi1Mb2NrUGVybWlzc2lvbnMuYWRkX2ZpZWxkKDUsJ1Blcm1pc3Npb24nLDQzNTYpCi0KLU1lZGlhID0gVGFibGUoJ01lZGlhJykKLU1lZGlhLmFkZF9maWVsZCgxLCdEaXNrSWQnLDk0NzQpCi1NZWRpYS5hZGRfZmllbGQoMiwnTGFzdFNlcXVlbmNlJywxMjgyKQotTWVkaWEuYWRkX2ZpZWxkKDMsJ0Rpc2tQcm9tcHQnLDgwMDApCi1NZWRpYS5hZGRfZmllbGQoNCwnQ2FiaW5ldCcsNzY3OSkKLU1lZGlhLmFkZF9maWVsZCg1LCdWb2x1bWVMYWJlbCcsNzQ1NikKLU1lZGlhLmFkZF9maWVsZCg2LCdTb3VyY2UnLDc0OTYpCi0KLU1vdmVGaWxlID0gVGFibGUoJ01vdmVGaWxlJykKLU1vdmVGaWxlLmFkZF9maWVsZCgxLCdGaWxlS2V5JywxMTU5MikKLU1vdmVGaWxlLmFkZF9maWVsZCgyLCdDb21wb25lbnRfJywweERGRikKLU1vdmVGaWxlLmFkZF9maWVsZCgzLCdTb3VyY2VOYW1lJyw4MTkxKQotTW92ZUZpbGUuYWRkX2ZpZWxkKDQsJ0Rlc3ROYW1lJyw4MTkxKQotTW92ZUZpbGUuYWRkX2ZpZWxkKDUsJ1NvdXJjZUZvbGRlcicsNzQ5NikKLU1vdmVGaWxlLmFkZF9maWVsZCg2LCdEZXN0Rm9sZGVyJywzNDAwKQotTW92ZUZpbGUuYWRkX2ZpZWxkKDcsJ09wdGlvbnMnLDEyODIpCi0KLU1zaUFzc2VtYmx5ID0gVGFibGUoJ01zaUFzc2VtYmx5JykKLU1zaUFzc2VtYmx5LmFkZF9maWVsZCgxLCdDb21wb25lbnRfJywweDJERkYpCi1Nc2lBc3NlbWJseS5hZGRfZmllbGQoMiwnRmVhdHVyZV8nLDMzNjYpCi1Nc2lBc3NlbWJseS5hZGRfZmllbGQoMywnRmlsZV9NYW5pZmVzdCcsMHgxREZGKQotTXNpQXNzZW1ibHkuYWRkX2ZpZWxkKDQsJ0ZpbGVfQXBwbGljYXRpb24nLDB4MURGRikKLU1zaUFzc2VtYmx5LmFkZF9maWVsZCg1LCdBdHRyaWJ1dGVzJyw1Mzc4KQotCi1Nc2lBc3NlbWJseU5hbWUgPSBUYWJsZSgnTXNpQXNzZW1ibHlOYW1lJykKLU1zaUFzc2VtYmx5TmFtZS5hZGRfZmllbGQoMSwnQ29tcG9uZW50XycsMHgyREZGKQotTXNpQXNzZW1ibHlOYW1lLmFkZF9maWVsZCgyLCdOYW1lJywxMTc3NSkKLU1zaUFzc2VtYmx5TmFtZS5hZGRfZmllbGQoMywnVmFsdWUnLDM1ODMpCi0KLU1zaURpZ2l0YWxDZXJ0aWZpY2F0ZSA9IFRhYmxlKCdNc2lEaWdpdGFsQ2VydGlmaWNhdGUnKQotTXNpRGlnaXRhbENlcnRpZmljYXRlLmFkZF9maWVsZCgxLCdEaWdpdGFsQ2VydGlmaWNhdGUnLDExNTkyKQotTXNpRGlnaXRhbENlcnRpZmljYXRlLmFkZF9maWVsZCgyLCdDZXJ0RGF0YScsMjMwNCkKLQotTXNpRGlnaXRhbFNpZ25hdHVyZSA9IFRhYmxlKCdNc2lEaWdpdGFsU2lnbmF0dXJlJykKLU1zaURpZ2l0YWxTaWduYXR1cmUuYWRkX2ZpZWxkKDEsJ1RhYmxlJywxMTU1MikKLU1zaURpZ2l0YWxTaWduYXR1cmUuYWRkX2ZpZWxkKDIsJ1NpZ25PYmplY3QnLDExNTkyKQotTXNpRGlnaXRhbFNpZ25hdHVyZS5hZGRfZmllbGQoMywnRGlnaXRhbENlcnRpZmljYXRlXycsMzQwMCkKLU1zaURpZ2l0YWxTaWduYXR1cmUuYWRkX2ZpZWxkKDQsJ0hhc2gnLDY0MDApCi0KLU1zaUZpbGVIYXNoID0gVGFibGUoJ01zaUZpbGVIYXNoJykKLU1zaUZpbGVIYXNoLmFkZF9maWVsZCgxLCdGaWxlXycsMHgyREZGKQotTXNpRmlsZUhhc2guYWRkX2ZpZWxkKDIsJ09wdGlvbnMnLDEyODIpCi1Nc2lGaWxlSGFzaC5hZGRfZmllbGQoMywnSGFzaFBhcnQxJywyNjApCi1Nc2lGaWxlSGFzaC5hZGRfZmllbGQoNCwnSGFzaFBhcnQyJywyNjApCi1Nc2lGaWxlSGFzaC5hZGRfZmllbGQoNSwnSGFzaFBhcnQzJywyNjApCi1Nc2lGaWxlSGFzaC5hZGRfZmllbGQoNiwnSGFzaFBhcnQ0JywyNjApCi0KLU1zaVBhdGNoSGVhZGVycyA9IFRhYmxlKCdNc2lQYXRjaEhlYWRlcnMnKQotTXNpUGF0Y2hIZWFkZXJzLmFkZF9maWVsZCgxLCdTdHJlYW1SZWYnLDExNTU4KQotTXNpUGF0Y2hIZWFkZXJzLmFkZF9maWVsZCgyLCdIZWFkZXInLDIzMDQpCi0KLU9EQkNBdHRyaWJ1dGUgPSBUYWJsZSgnT0RCQ0F0dHJpYnV0ZScpCi1PREJDQXR0cmlidXRlLmFkZF9maWVsZCgxLCdEcml2ZXJfJywxMTU5MikKLU9EQkNBdHRyaWJ1dGUuYWRkX2ZpZWxkKDIsJ0F0dHJpYnV0ZScsMTE1NjApCi1PREJDQXR0cmlidXRlLmFkZF9maWVsZCgzLCdWYWx1ZScsODE5MSkKLQotT0RCQ0RyaXZlciA9IFRhYmxlKCdPREJDRHJpdmVyJykKLU9EQkNEcml2ZXIuYWRkX2ZpZWxkKDEsJ0RyaXZlcicsMTE1OTIpCi1PREJDRHJpdmVyLmFkZF9maWVsZCgyLCdDb21wb25lbnRfJywweERGRikKLU9EQkNEcml2ZXIuYWRkX2ZpZWxkKDMsJ0Rlc2NyaXB0aW9uJywzNTgzKQotT0RCQ0RyaXZlci5hZGRfZmllbGQoNCwnRmlsZV8nLDB4REZGKQotT0RCQ0RyaXZlci5hZGRfZmllbGQoNSwnRmlsZV9TZXR1cCcsMHgxREZGKQotCi1PREJDRGF0YVNvdXJjZSA9IFRhYmxlKCdPREJDRGF0YVNvdXJjZScpCi1PREJDRGF0YVNvdXJjZS5hZGRfZmllbGQoMSwnRGF0YVNvdXJjZScsMHgyREZGKQotT0RCQ0RhdGFTb3VyY2UuYWRkX2ZpZWxkKDIsJ0NvbXBvbmVudF8nLDB4REZGKQotT0RCQ0RhdGFTb3VyY2UuYWRkX2ZpZWxkKDMsJ0Rlc2NyaXB0aW9uJywzNTgzKQotT0RCQ0RhdGFTb3VyY2UuYWRkX2ZpZWxkKDQsJ0RyaXZlckRlc2NyaXB0aW9uJywzNTgzKQotT0RCQ0RhdGFTb3VyY2UuYWRkX2ZpZWxkKDUsJ1JlZ2lzdHJhdGlvbicsMTI4MikKLQotT0RCQ1NvdXJjZUF0dHJpYnV0ZSA9IFRhYmxlKCdPREJDU291cmNlQXR0cmlidXRlJykKLU9EQkNTb3VyY2VBdHRyaWJ1dGUuYWRkX2ZpZWxkKDEsJ0RhdGFTb3VyY2VfJywxMTU5MikKLU9EQkNTb3VyY2VBdHRyaWJ1dGUuYWRkX2ZpZWxkKDIsJ0F0dHJpYnV0ZScsMTE1NTIpCi1PREJDU291cmNlQXR0cmlidXRlLmFkZF9maWVsZCgzLCdWYWx1ZScsODE5MSkKLQotT0RCQ1RyYW5zbGF0b3IgPSBUYWJsZSgnT0RCQ1RyYW5zbGF0b3InKQotT0RCQ1RyYW5zbGF0b3IuYWRkX2ZpZWxkKDEsJ1RyYW5zbGF0b3InLDExNTkyKQotT0RCQ1RyYW5zbGF0b3IuYWRkX2ZpZWxkKDIsJ0NvbXBvbmVudF8nLDB4REZGKQotT0RCQ1RyYW5zbGF0b3IuYWRkX2ZpZWxkKDMsJ0Rlc2NyaXB0aW9uJywzNTgzKQotT0RCQ1RyYW5zbGF0b3IuYWRkX2ZpZWxkKDQsJ0ZpbGVfJywweERGRikKLU9EQkNUcmFuc2xhdG9yLmFkZF9maWVsZCg1LCdGaWxlX1NldHVwJywweDFERkYpCi0KLVBhdGNoID0gVGFibGUoJ1BhdGNoJykKLVBhdGNoLmFkZF9maWVsZCgxLCdGaWxlXycsMTE1OTIpCi1QYXRjaC5hZGRfZmllbGQoMiwnU2VxdWVuY2UnLDk0NzQpCi1QYXRjaC5hZGRfZmllbGQoMywnUGF0Y2hTaXplJywyNjApCi1QYXRjaC5hZGRfZmllbGQoNCwnQXR0cmlidXRlcycsMTI4MikKLVBhdGNoLmFkZF9maWVsZCg1LCdIZWFkZXInLDY0MDApCi1QYXRjaC5hZGRfZmllbGQoNiwnU3RyZWFtUmVmXycsNzQ2MikKLQotUGF0Y2hQYWNrYWdlID0gVGFibGUoJ1BhdGNoUGFja2FnZScpCi1QYXRjaFBhY2thZ2UuYWRkX2ZpZWxkKDEsJ1BhdGNoSWQnLDExNTU4KQotUGF0Y2hQYWNrYWdlLmFkZF9maWVsZCgyLCdNZWRpYV8nLDEyODIpCi0KLVB1Ymxpc2hDb21wb25lbnQgPSBUYWJsZSgnUHVibGlzaENvbXBvbmVudCcpCi1QdWJsaXNoQ29tcG9uZW50LmFkZF9maWVsZCgxLCdDb21wb25lbnRJZCcsMTE1NTgpCi1QdWJsaXNoQ29tcG9uZW50LmFkZF9maWVsZCgyLCdRdWFsaWZpZXInLDExNzc1KQotUHVibGlzaENvbXBvbmVudC5hZGRfZmllbGQoMywnQ29tcG9uZW50XycsMHgyREZGKQotUHVibGlzaENvbXBvbmVudC5hZGRfZmllbGQoNCwnQXBwRGF0YScsODE5MSkKLVB1Ymxpc2hDb21wb25lbnQuYWRkX2ZpZWxkKDUsJ0ZlYXR1cmVfJywzMzY2KQotCi1SYWRpb0J1dHRvbiA9IFRhYmxlKCdSYWRpb0J1dHRvbicpCi1SYWRpb0J1dHRvbi5hZGRfZmllbGQoMSwnUHJvcGVydHknLDExNTkyKQotUmFkaW9CdXR0b24uYWRkX2ZpZWxkKDIsJ09yZGVyJyw5NDc0KQotUmFkaW9CdXR0b24uYWRkX2ZpZWxkKDMsJ1ZhbHVlJywzMzkyKQotUmFkaW9CdXR0b24uYWRkX2ZpZWxkKDQsJ1gnLDEyODIpCi1SYWRpb0J1dHRvbi5hZGRfZmllbGQoNSwnWScsMTI4MikKLVJhZGlvQnV0dG9uLmFkZF9maWVsZCg2LCdXaWR0aCcsMTI4MikKLVJhZGlvQnV0dG9uLmFkZF9maWVsZCg3LCdIZWlnaHQnLDEyODIpCi1SYWRpb0J1dHRvbi5hZGRfZmllbGQoOCwnVGV4dCcsODAwMCkKLVJhZGlvQnV0dG9uLmFkZF9maWVsZCg5LCdIZWxwJyw3OTg2KQotCi1SZWdpc3RyeSA9IFRhYmxlKCdSZWdpc3RyeScpCi1SZWdpc3RyeS5hZGRfZmllbGQoMSwnUmVnaXN0cnknLDB4MkRGRikKLVJlZ2lzdHJ5LmFkZF9maWVsZCgyLCdSb290JywxMjgyKQotUmVnaXN0cnkuYWRkX2ZpZWxkKDMsJ0tleScsNDA5NSkKLVJlZ2lzdHJ5LmFkZF9maWVsZCg0LCdOYW1lJyw4MTkxKQotUmVnaXN0cnkuYWRkX2ZpZWxkKDUsJ1ZhbHVlJyw3OTM2KQotUmVnaXN0cnkuYWRkX2ZpZWxkKDYsJ0NvbXBvbmVudF8nLDB4REZGKQotCi1SZWdMb2NhdG9yID0gVGFibGUoJ1JlZ0xvY2F0b3InKQotUmVnTG9jYXRvci5hZGRfZmllbGQoMSwnU2lnbmF0dXJlXycsMTE1OTIpCi1SZWdMb2NhdG9yLmFkZF9maWVsZCgyLCdSb290JywxMjgyKQotUmVnTG9jYXRvci5hZGRfZmllbGQoMywnS2V5JywzNTgzKQotUmVnTG9jYXRvci5hZGRfZmllbGQoNCwnTmFtZScsNzY3OSkKLVJlZ0xvY2F0b3IuYWRkX2ZpZWxkKDUsJ1R5cGUnLDUzNzgpCi0KLVJlbW92ZUZpbGUgPSBUYWJsZSgnUmVtb3ZlRmlsZScpCi1SZW1vdmVGaWxlLmFkZF9maWVsZCgxLCdGaWxlS2V5JywxMTU5MikKLVJlbW92ZUZpbGUuYWRkX2ZpZWxkKDIsJ0NvbXBvbmVudF8nLDB4REZGKQotUmVtb3ZlRmlsZS5hZGRfZmllbGQoMywnRmlsZU5hbWUnLDgxOTEpCi1SZW1vdmVGaWxlLmFkZF9maWVsZCg0LCdEaXJQcm9wZXJ0eScsMzQwMCkKLVJlbW92ZUZpbGUuYWRkX2ZpZWxkKDUsJ0luc3RhbGxNb2RlJywxMjgyKQotCi1SZW1vdmVJbmlGaWxlID0gVGFibGUoJ1JlbW92ZUluaUZpbGUnKQotUmVtb3ZlSW5pRmlsZS5hZGRfZmllbGQoMSwnUmVtb3ZlSW5pRmlsZScsMTE1OTIpCi1SZW1vdmVJbmlGaWxlLmFkZF9maWVsZCgyLCdGaWxlTmFtZScsNDA5NSkKLVJlbW92ZUluaUZpbGUuYWRkX2ZpZWxkKDMsJ0RpclByb3BlcnR5Jyw3NDk2KQotUmVtb3ZlSW5pRmlsZS5hZGRfZmllbGQoNCwnU2VjdGlvbicsMzkzNikKLVJlbW92ZUluaUZpbGUuYWRkX2ZpZWxkKDUsJ0tleScsMzk2OCkKLVJlbW92ZUluaUZpbGUuYWRkX2ZpZWxkKDYsJ1ZhbHVlJyw4MTkxKQotUmVtb3ZlSW5pRmlsZS5hZGRfZmllbGQoNywnQWN0aW9uJywxMjgyKQotUmVtb3ZlSW5pRmlsZS5hZGRfZmllbGQoOCwnQ29tcG9uZW50XycsMHhERkYpCi0KLVJlbW92ZVJlZ2lzdHJ5ID0gVGFibGUoJ1JlbW92ZVJlZ2lzdHJ5JykKLVJlbW92ZVJlZ2lzdHJ5LmFkZF9maWVsZCgxLCdSZW1vdmVSZWdpc3RyeScsMTE1OTIpCi1SZW1vdmVSZWdpc3RyeS5hZGRfZmllbGQoMiwnUm9vdCcsMTI4MikKLVJlbW92ZVJlZ2lzdHJ5LmFkZF9maWVsZCgzLCdLZXknLDQwOTUpCi1SZW1vdmVSZWdpc3RyeS5hZGRfZmllbGQoNCwnTmFtZScsODE5MSkKLVJlbW92ZVJlZ2lzdHJ5LmFkZF9maWVsZCg1LCdDb21wb25lbnRfJywweERGRikKLQotUmVzZXJ2ZUNvc3QgPSBUYWJsZSgnUmVzZXJ2ZUNvc3QnKQotUmVzZXJ2ZUNvc3QuYWRkX2ZpZWxkKDEsJ1Jlc2VydmVLZXknLDExNTkyKQotUmVzZXJ2ZUNvc3QuYWRkX2ZpZWxkKDIsJ0NvbXBvbmVudF8nLDB4REZGKQotUmVzZXJ2ZUNvc3QuYWRkX2ZpZWxkKDMsJ1Jlc2VydmVGb2xkZXInLDc0OTYpCi1SZXNlcnZlQ29zdC5hZGRfZmllbGQoNCwnUmVzZXJ2ZUxvY2FsJywyNjApCi1SZXNlcnZlQ29zdC5hZGRfZmllbGQoNSwnUmVzZXJ2ZVNvdXJjZScsMjYwKQotCi1TZWxmUmVnID0gVGFibGUoJ1NlbGZSZWcnKQotU2VsZlJlZy5hZGRfZmllbGQoMSwnRmlsZV8nLDB4MkRGRikKLVNlbGZSZWcuYWRkX2ZpZWxkKDIsJ0Nvc3QnLDUzNzgpCi0KLVNlcnZpY2VDb250cm9sID0gVGFibGUoJ1NlcnZpY2VDb250cm9sJykKLVNlcnZpY2VDb250cm9sLmFkZF9maWVsZCgxLCdTZXJ2aWNlQ29udHJvbCcsMTE1OTIpCi1TZXJ2aWNlQ29udHJvbC5hZGRfZmllbGQoMiwnTmFtZScsNDA5NSkKLVNlcnZpY2VDb250cm9sLmFkZF9maWVsZCgzLCdFdmVudCcsMTI4MikKLVNlcnZpY2VDb250cm9sLmFkZF9maWVsZCg0LCdBcmd1bWVudHMnLDgxOTEpCi1TZXJ2aWNlQ29udHJvbC5hZGRfZmllbGQoNSwnV2FpdCcsNTM3OCkKLVNlcnZpY2VDb250cm9sLmFkZF9maWVsZCg2LCdDb21wb25lbnRfJywweERGRikKLQotU2VydmljZUluc3RhbGwgPSBUYWJsZSgnU2VydmljZUluc3RhbGwnKQotU2VydmljZUluc3RhbGwuYWRkX2ZpZWxkKDEsJ1NlcnZpY2VJbnN0YWxsJywxMTU5MikKLVNlcnZpY2VJbnN0YWxsLmFkZF9maWVsZCgyLCdOYW1lJywzNTgzKQotU2VydmljZUluc3RhbGwuYWRkX2ZpZWxkKDMsJ0Rpc3BsYXlOYW1lJyw4MTkxKQotU2VydmljZUluc3RhbGwuYWRkX2ZpZWxkKDQsJ1NlcnZpY2VUeXBlJywyNjApCi1TZXJ2aWNlSW5zdGFsbC5hZGRfZmllbGQoNSwnU3RhcnRUeXBlJywyNjApCi1TZXJ2aWNlSW5zdGFsbC5hZGRfZmllbGQoNiwnRXJyb3JDb250cm9sJywyNjApCi1TZXJ2aWNlSW5zdGFsbC5hZGRfZmllbGQoNywnTG9hZE9yZGVyR3JvdXAnLDc2NzkpCi1TZXJ2aWNlSW5zdGFsbC5hZGRfZmllbGQoOCwnRGVwZW5kZW5jaWVzJyw3Njc5KQotU2VydmljZUluc3RhbGwuYWRkX2ZpZWxkKDksJ1N0YXJ0TmFtZScsNzY3OSkKLVNlcnZpY2VJbnN0YWxsLmFkZF9maWVsZCgxMCwnUGFzc3dvcmQnLDc2NzkpCi1TZXJ2aWNlSW5zdGFsbC5hZGRfZmllbGQoMTEsJ0FyZ3VtZW50cycsNzY3OSkKLVNlcnZpY2VJbnN0YWxsLmFkZF9maWVsZCgxMiwnQ29tcG9uZW50XycsMHhERkYpCi1TZXJ2aWNlSW5zdGFsbC5hZGRfZmllbGQoMTMsJ0Rlc2NyaXB0aW9uJyw4MTkxKQotCi1TaG9ydGN1dCA9IFRhYmxlKCdTaG9ydGN1dCcpCi1TaG9ydGN1dC5hZGRfZmllbGQoMSwnU2hvcnRjdXQnLDExNTkyKQotU2hvcnRjdXQuYWRkX2ZpZWxkKDIsJ0RpcmVjdG9yeV8nLDB4REZGKQotU2hvcnRjdXQuYWRkX2ZpZWxkKDMsJ05hbWUnLDM5NjgpCi1TaG9ydGN1dC5hZGRfZmllbGQoNCwnQ29tcG9uZW50XycsMHhERkYpCi1TaG9ydGN1dC5hZGRfZmllbGQoNSwnVGFyZ2V0JywzNDAwKQotU2hvcnRjdXQuYWRkX2ZpZWxkKDYsJ0FyZ3VtZW50cycsNzY3OSkKLVNob3J0Y3V0LmFkZF9maWVsZCg3LCdEZXNjcmlwdGlvbicsODE5MSkKLVNob3J0Y3V0LmFkZF9maWVsZCg4LCdIb3RrZXknLDUzNzgpCi1TaG9ydGN1dC5hZGRfZmllbGQoOSwnSWNvbl8nLDc0OTYpCi1TaG9ydGN1dC5hZGRfZmllbGQoMTAsJ0ljb25JbmRleCcsNTM3OCkKLVNob3J0Y3V0LmFkZF9maWVsZCgxMSwnU2hvd0NtZCcsNTM3OCkKLVNob3J0Y3V0LmFkZF9maWVsZCgxMiwnV2tEaXInLDc0OTYpCi0KLVNpZ25hdHVyZSA9IFRhYmxlKCdTaWduYXR1cmUnKQotU2lnbmF0dXJlLmFkZF9maWVsZCgxLCdTaWduYXR1cmUnLDExNTkyKQotU2lnbmF0dXJlLmFkZF9maWVsZCgyLCdGaWxlTmFtZScsMzU4MykKLVNpZ25hdHVyZS5hZGRfZmllbGQoMywnTWluVmVyc2lvbicsNzQ0NCkKLVNpZ25hdHVyZS5hZGRfZmllbGQoNCwnTWF4VmVyc2lvbicsNzQ0NCkKLVNpZ25hdHVyZS5hZGRfZmllbGQoNSwnTWluU2l6ZScsNDM1NikKLVNpZ25hdHVyZS5hZGRfZmllbGQoNiwnTWF4U2l6ZScsNDM1NikKLVNpZ25hdHVyZS5hZGRfZmllbGQoNywnTWluRGF0ZScsNDM1NikKLVNpZ25hdHVyZS5hZGRfZmllbGQoOCwnTWF4RGF0ZScsNDM1NikKLVNpZ25hdHVyZS5hZGRfZmllbGQoOSwnTGFuZ3VhZ2VzJyw3Njc5KQotCi1UZXh0U3R5bGUgPSBUYWJsZSgnVGV4dFN0eWxlJykKLVRleHRTdHlsZS5hZGRfZmllbGQoMSwnVGV4dFN0eWxlJywxMTU5MikKLVRleHRTdHlsZS5hZGRfZmllbGQoMiwnRmFjZU5hbWUnLDMzNjApCi1UZXh0U3R5bGUuYWRkX2ZpZWxkKDMsJ1NpemUnLDEyODIpCi1UZXh0U3R5bGUuYWRkX2ZpZWxkKDQsJ0NvbG9yJyw0MzU2KQotVGV4dFN0eWxlLmFkZF9maWVsZCg1LCdTdHlsZUJpdHMnLDUzNzgpCi0KLVR5cGVMaWIgPSBUYWJsZSgnVHlwZUxpYicpCi1UeXBlTGliLmFkZF9maWVsZCgxLCdMaWJJRCcsMTE1NTgpCi1UeXBlTGliLmFkZF9maWVsZCgyLCdMYW5ndWFnZScsOTQ3NCkKLVR5cGVMaWIuYWRkX2ZpZWxkKDMsJ0NvbXBvbmVudF8nLDB4MkRGRikKLVR5cGVMaWIuYWRkX2ZpZWxkKDQsJ1ZlcnNpb24nLDQzNTYpCi1UeXBlTGliLmFkZF9maWVsZCg1LCdEZXNjcmlwdGlvbicsODA2NCkKLVR5cGVMaWIuYWRkX2ZpZWxkKDYsJ0RpcmVjdG9yeV8nLDB4MURGRikKLVR5cGVMaWIuYWRkX2ZpZWxkKDcsJ0ZlYXR1cmVfJywzMzY2KQotVHlwZUxpYi5hZGRfZmllbGQoOCwnQ29zdCcsNDM1NikKLQotVUlUZXh0ID0gVGFibGUoJ1VJVGV4dCcpCi1VSVRleHQuYWRkX2ZpZWxkKDEsJ0tleScsMTE1OTIpCi1VSVRleHQuYWRkX2ZpZWxkKDIsJ1RleHQnLDgxOTEpCi0KLVVwZ3JhZGUgPSBUYWJsZSgnVXBncmFkZScpCi1VcGdyYWRlLmFkZF9maWVsZCgxLCdVcGdyYWRlQ29kZScsMTE1NTgpCi1VcGdyYWRlLmFkZF9maWVsZCgyLCdWZXJzaW9uTWluJywxNTYzNikKLVVwZ3JhZGUuYWRkX2ZpZWxkKDMsJ1ZlcnNpb25NYXgnLDE1NjM2KQotVXBncmFkZS5hZGRfZmllbGQoNCwnTGFuZ3VhZ2UnLDE1ODcxKQotVXBncmFkZS5hZGRfZmllbGQoNSwnQXR0cmlidXRlcycsODQ1MikKLVVwZ3JhZGUuYWRkX2ZpZWxkKDYsJ1JlbW92ZScsNzY3OSkKLVVwZ3JhZGUuYWRkX2ZpZWxkKDcsJ0FjdGlvblByb3BlcnR5JywzNDAwKQotCi1WZXJiID0gVGFibGUoJ1ZlcmInKQotVmVyYi5hZGRfZmllbGQoMSwnRXh0ZW5zaW9uXycsMTE3NzUpCi1WZXJiLmFkZF9maWVsZCgyLCdWZXJiJywxMTU1MikKLVZlcmIuYWRkX2ZpZWxkKDMsJ1NlcXVlbmNlJyw1Mzc4KQotVmVyYi5hZGRfZmllbGQoNCwnQ29tbWFuZCcsODE5MSkKLVZlcmIuYWRkX2ZpZWxkKDUsJ0FyZ3VtZW50Jyw4MTkxKQotCi10YWJsZXM9W19WYWxpZGF0aW9uLCBBY3Rpb25UZXh0LCBBZG1pbkV4ZWN1dGVTZXF1ZW5jZSwgQ29uZGl0aW9uLCBBZG1pblVJU2VxdWVuY2UsIEFkdnRFeGVjdXRlU2VxdWVuY2UsIEFkdnRVSVNlcXVlbmNlLCBBcHBJZCwgQXBwU2VhcmNoLCBQcm9wZXJ0eSwgQkJDb250cm9sLCBCaWxsYm9hcmQsIEZlYXR1cmUsIEJpbmFyeSwgQmluZEltYWdlLCBGaWxlLCBDQ1BTZWFyY2gsIENoZWNrQm94LCBDbGFzcywgQ29tcG9uZW50LCBJY29uLCBQcm9nSWQsIENvbWJvQm94LCBDb21wTG9jYXRvciwgQ29tcGx1cywgRGlyZWN0b3J5LCBDb250cm9sLCBEaWFsb2csIENvbnRyb2xDb25kaXRpb24sIENvbnRyb2xFdmVudCwgQ3JlYXRlRm9sZGVyLCBDdXN0b21BY3Rpb24sIERyTG9jYXRvciwgRHVwbGljYXRlRmlsZSwgRW52aXJvbm1lbnQsIEVycm9yLCBFdmVudE1hcHBpbmcsIEV4dGVuc2lvbiwgTUlNRSwgRmVhdHVyZUNvbXBvbmVudHMsIEZpbGVTRlBDYXRhbG9nLCBTRlBDYXRhbG9nLCBGb250LCBJbmlGaWxlLCBJbmlMb2NhdG9yLCBJbnN0YWxsRXhlY3V0ZVNlcXVlbmNlLCBJbnN0YWxsVUlTZXF1ZW5jZSwgSXNvbGF0ZWRDb21wb25lbnQsIExhdW5jaENvbmRpdGlvbiwgTGlzdEJveCwgTGlzdFZpZXcsIExvY2tQZXJtaXNzaW9ucywgTWVkaWEsIE1vdmVGaWxlLCBNc2lBc3NlbWJseSwgTXNpQXNzZW1ibHlOYW1lLCBNc2lEaWdpdGFsQ2VydGlmaWNhdGUsIE1zaURpZ2l0YWxTaWduYXR1cmUsIE1zaUZpbGVIYXNoLCBNc2lQYXRjaEhlYWRlcnMsIE9EQkNBdHRyaWJ1dGUsIE9EQkNEcml2ZXIsIE9EQkNEYXRhU291cmNlLCBPREJDU291cmNlQXR0cmlidXRlLCBPREJDVHJhbnNsYXRvciwgUGF0Y2gsIFBhdGNoUGFja2FnZSwgUHVibGlzaENvbXBvbmVudCwgUmFkaW9CdXR0b24sIFJlZ2lzdHJ5LCBSZWdMb2NhdG9yLCBSZW1vdmVGaWxlLCBSZW1vdmVJbmlGaWxlLCBSZW1vdmVSZWdpc3RyeSwgUmVzZXJ2ZUNvc3QsIFNlbGZSZWcsIFNlcnZpY2VDb250cm9sLCBTZXJ2aWNlSW5zdGFsbCwgU2hvcnRjdXQsIFNpZ25hdHVyZSwgVGV4dFN0eWxlLCBUeXBlTGliLCBVSVRleHQsIFVwZ3JhZGUsIFZlcmJdCi0KLV9WYWxpZGF0aW9uX3JlY29yZHMgPSBbCi0odSdfVmFsaWRhdGlvbicsdSdUYWJsZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnTmFtZSBvZiB0YWJsZScsKSwKLSh1J19WYWxpZGF0aW9uJyx1J0NvbHVtbicsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnTmFtZSBvZiBjb2x1bW4nLCksCi0odSdfVmFsaWRhdGlvbicsdSdEZXNjcmlwdGlvbicsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnRGVzY3JpcHRpb24gb2YgY29sdW1uJywpLAotKHUnX1ZhbGlkYXRpb24nLHUnU2V0Jyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgdSdTZXQgb2YgdmFsdWVzIHRoYXQgYXJlIHBlcm1pdHRlZCcsKSwKLSh1J19WYWxpZGF0aW9uJyx1J0NhdGVnb3J5Jyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dDtGb3JtYXR0ZWQ7VGVtcGxhdGU7Q29uZGl0aW9uO0d1aWQ7UGF0aDtWZXJzaW9uO0xhbmd1YWdlO0lkZW50aWZpZXI7QmluYXJ5O1VwcGVyQ2FzZTtMb3dlckNhc2U7RmlsZW5hbWU7UGF0aHM7QW55UGF0aDtXaWxkQ2FyZEZpbGVuYW1lO1JlZ1BhdGg7S2V5Rm9ybWF0dGVkO0N1c3RvbVNvdXJjZTtQcm9wZXJ0eTtDYWJpbmV0O1Nob3J0Y3V0O1VSTCcsdSdTdHJpbmcgY2F0ZWdvcnknLCksCi0odSdfVmFsaWRhdGlvbicsdSdLZXlDb2x1bW4nLHUnWScsMSwzMixOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0NvbHVtbiB0byB3aGljaCBmb3JlaWduIGtleSBjb25uZWN0cycsKSwKLSh1J19WYWxpZGF0aW9uJyx1J0tleVRhYmxlJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdGb3IgZm9yZWlnbiBrZXksIE5hbWUgb2YgdGFibGUgdG8gd2hpY2ggZGF0YSBtdXN0IGxpbmsnLCksCi0odSdfVmFsaWRhdGlvbicsdSdNYXhWYWx1ZScsdSdZJywtMjE0NzQ4MzY0NywyMTQ3NDgzNjQ3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnTWF4aW11bSB2YWx1ZSBhbGxvd2VkJywpLAotKHUnX1ZhbGlkYXRpb24nLHUnTWluVmFsdWUnLHUnWScsLTIxNDc0ODM2NDcsMjE0NzQ4MzY0NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J01pbmltdW0gdmFsdWUgYWxsb3dlZCcsKSwKLSh1J19WYWxpZGF0aW9uJyx1J051bGxhYmxlJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnWTtOO0AnLHUnV2hldGhlciB0aGUgY29sdW1uIGlzIG51bGxhYmxlJywpLAotKHUnQWN0aW9uVGV4dCcsdSdEZXNjcmlwdGlvbicsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnTG9jYWxpemVkIGRlc2NyaXB0aW9uIGRpc3BsYXllZCBpbiBwcm9ncmVzcyBkaWFsb2cgYW5kIGxvZyB3aGVuIGFjdGlvbiBpcyBleGVjdXRpbmcuJywpLAotKHUnQWN0aW9uVGV4dCcsdSdBY3Rpb24nLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J05hbWUgb2YgYWN0aW9uIHRvIGJlIGRlc2NyaWJlZC4nLCksCi0odSdBY3Rpb25UZXh0Jyx1J1RlbXBsYXRlJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGVtcGxhdGUnLE5vbmUsIHUnT3B0aW9uYWwgbG9jYWxpemVkIGZvcm1hdCB0ZW1wbGF0ZSB1c2VkIHRvIGZvcm1hdCBhY3Rpb24gZGF0YSByZWNvcmRzIGZvciBkaXNwbGF5IGR1cmluZyBhY3Rpb24gZXhlY3V0aW9uLicsKSwKLSh1J0FkbWluRXhlY3V0ZVNlcXVlbmNlJyx1J0FjdGlvbicsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnTmFtZSBvZiBhY3Rpb24gdG8gaW52b2tlLCBlaXRoZXIgaW4gdGhlIGVuZ2luZSBvciB0aGUgaGFuZGxlciBETEwuJywpLAotKHUnQWRtaW5FeGVjdXRlU2VxdWVuY2UnLHUnQ29uZGl0aW9uJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQ29uZGl0aW9uJyxOb25lLCB1J09wdGlvbmFsIGV4cHJlc3Npb24gd2hpY2ggc2tpcHMgdGhlIGFjdGlvbiBpZiBldmFsdWF0ZXMgdG8gZXhwRmFsc2UuSWYgdGhlIGV4cHJlc3Npb24gc3ludGF4IGlzIGludmFsaWQsIHRoZSBlbmdpbmUgd2lsbCB0ZXJtaW5hdGUsIHJldHVybmluZyBpZXNCYWRBY3Rpb25EYXRhLicsKSwKLSh1J0FkbWluRXhlY3V0ZVNlcXVlbmNlJyx1J1NlcXVlbmNlJyx1J1knLC00LDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnTnVtYmVyIHRoYXQgZGV0ZXJtaW5lcyB0aGUgc29ydCBvcmRlciBpbiB3aGljaCB0aGUgYWN0aW9ucyBhcmUgdG8gYmUgZXhlY3V0ZWQuICBMZWF2ZSBibGFuayB0byBzdXBwcmVzcyBhY3Rpb24uJywpLAotKHUnQ29uZGl0aW9uJyx1J0NvbmRpdGlvbicsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0NvbmRpdGlvbicsTm9uZSwgdSdFeHByZXNzaW9uIGV2YWx1YXRlZCB0byBkZXRlcm1pbmUgaWYgTGV2ZWwgaW4gdGhlIEZlYXR1cmUgdGFibGUgaXMgdG8gY2hhbmdlLicsKSwKLSh1J0NvbmRpdGlvbicsdSdGZWF0dXJlXycsdSdOJyxOb25lLCBOb25lLCB1J0ZlYXR1cmUnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J1JlZmVyZW5jZSB0byBhIEZlYXR1cmUgZW50cnkgaW4gRmVhdHVyZSB0YWJsZS4nLCksCi0odSdDb25kaXRpb24nLHUnTGV2ZWwnLHUnTicsMCwzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J05ldyBzZWxlY3Rpb24gTGV2ZWwgdG8gc2V0IGluIEZlYXR1cmUgdGFibGUgaWYgQ29uZGl0aW9uIGV2YWx1YXRlcyB0byBUUlVFLicsKSwKLSh1J0FkbWluVUlTZXF1ZW5jZScsdSdBY3Rpb24nLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J05hbWUgb2YgYWN0aW9uIHRvIGludm9rZSwgZWl0aGVyIGluIHRoZSBlbmdpbmUgb3IgdGhlIGhhbmRsZXIgRExMLicsKSwKLSh1J0FkbWluVUlTZXF1ZW5jZScsdSdDb25kaXRpb24nLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdDb25kaXRpb24nLE5vbmUsIHUnT3B0aW9uYWwgZXhwcmVzc2lvbiB3aGljaCBza2lwcyB0aGUgYWN0aW9uIGlmIGV2YWx1YXRlcyB0byBleHBGYWxzZS5JZiB0aGUgZXhwcmVzc2lvbiBzeW50YXggaXMgaW52YWxpZCwgdGhlIGVuZ2luZSB3aWxsIHRlcm1pbmF0ZSwgcmV0dXJuaW5nIGllc0JhZEFjdGlvbkRhdGEuJywpLAotKHUnQWRtaW5VSVNlcXVlbmNlJyx1J1NlcXVlbmNlJyx1J1knLC00LDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnTnVtYmVyIHRoYXQgZGV0ZXJtaW5lcyB0aGUgc29ydCBvcmRlciBpbiB3aGljaCB0aGUgYWN0aW9ucyBhcmUgdG8gYmUgZXhlY3V0ZWQuICBMZWF2ZSBibGFuayB0byBzdXBwcmVzcyBhY3Rpb24uJywpLAotKHUnQWR2dEV4ZWN1dGVTZXF1ZW5jZScsdSdBY3Rpb24nLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J05hbWUgb2YgYWN0aW9uIHRvIGludm9rZSwgZWl0aGVyIGluIHRoZSBlbmdpbmUgb3IgdGhlIGhhbmRsZXIgRExMLicsKSwKLSh1J0FkdnRFeGVjdXRlU2VxdWVuY2UnLHUnQ29uZGl0aW9uJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQ29uZGl0aW9uJyxOb25lLCB1J09wdGlvbmFsIGV4cHJlc3Npb24gd2hpY2ggc2tpcHMgdGhlIGFjdGlvbiBpZiBldmFsdWF0ZXMgdG8gZXhwRmFsc2UuSWYgdGhlIGV4cHJlc3Npb24gc3ludGF4IGlzIGludmFsaWQsIHRoZSBlbmdpbmUgd2lsbCB0ZXJtaW5hdGUsIHJldHVybmluZyBpZXNCYWRBY3Rpb25EYXRhLicsKSwKLSh1J0FkdnRFeGVjdXRlU2VxdWVuY2UnLHUnU2VxdWVuY2UnLHUnWScsLTQsMzI3NjcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdOdW1iZXIgdGhhdCBkZXRlcm1pbmVzIHRoZSBzb3J0IG9yZGVyIGluIHdoaWNoIHRoZSBhY3Rpb25zIGFyZSB0byBiZSBleGVjdXRlZC4gIExlYXZlIGJsYW5rIHRvIHN1cHByZXNzIGFjdGlvbi4nLCksCi0odSdBZHZ0VUlTZXF1ZW5jZScsdSdBY3Rpb24nLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J05hbWUgb2YgYWN0aW9uIHRvIGludm9rZSwgZWl0aGVyIGluIHRoZSBlbmdpbmUgb3IgdGhlIGhhbmRsZXIgRExMLicsKSwKLSh1J0FkdnRVSVNlcXVlbmNlJyx1J0NvbmRpdGlvbicsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0NvbmRpdGlvbicsTm9uZSwgdSdPcHRpb25hbCBleHByZXNzaW9uIHdoaWNoIHNraXBzIHRoZSBhY3Rpb24gaWYgZXZhbHVhdGVzIHRvIGV4cEZhbHNlLklmIHRoZSBleHByZXNzaW9uIHN5bnRheCBpcyBpbnZhbGlkLCB0aGUgZW5naW5lIHdpbGwgdGVybWluYXRlLCByZXR1cm5pbmcgaWVzQmFkQWN0aW9uRGF0YS4nLCksCi0odSdBZHZ0VUlTZXF1ZW5jZScsdSdTZXF1ZW5jZScsdSdZJywtNCwzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J051bWJlciB0aGF0IGRldGVybWluZXMgdGhlIHNvcnQgb3JkZXIgaW4gd2hpY2ggdGhlIGFjdGlvbnMgYXJlIHRvIGJlIGV4ZWN1dGVkLiAgTGVhdmUgYmxhbmsgdG8gc3VwcHJlc3MgYWN0aW9uLicsKSwKLSh1J0FwcElkJyx1J0FwcElkJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnR3VpZCcsTm9uZSwgTm9uZSwgKSwKLSh1J0FwcElkJyx1J0FjdGl2YXRlQXRTdG9yYWdlJyx1J1knLDAsMSxOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCApLAotKHUnQXBwSWQnLHUnRGxsU3Vycm9nYXRlJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgTm9uZSwgKSwKLSh1J0FwcElkJyx1J0xvY2FsU2VydmljZScsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIE5vbmUsICksCi0odSdBcHBJZCcsdSdSZW1vdGVTZXJ2ZXJOYW1lJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJyxOb25lLCBOb25lLCApLAotKHUnQXBwSWQnLHUnUnVuQXNJbnRlcmFjdGl2ZVVzZXInLHUnWScsMCwxLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsICksCi0odSdBcHBJZCcsdSdTZXJ2aWNlUGFyYW1ldGVycycsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIE5vbmUsICksCi0odSdBcHBTZWFyY2gnLHUnUHJvcGVydHknLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J1RoZSBwcm9wZXJ0eSBhc3NvY2lhdGVkIHdpdGggYSBTaWduYXR1cmUnLCksCi0odSdBcHBTZWFyY2gnLHUnU2lnbmF0dXJlXycsdSdOJyxOb25lLCBOb25lLCB1J1NpZ25hdHVyZTtSZWdMb2NhdG9yO0luaUxvY2F0b3I7RHJMb2NhdG9yO0NvbXBMb2NhdG9yJywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdUaGUgU2lnbmF0dXJlXyByZXByZXNlbnRzIGEgdW5pcXVlIGZpbGUgc2lnbmF0dXJlIGFuZCBpcyBhbHNvIHRoZSBmb3JlaWduIGtleSBpbiB0aGUgU2lnbmF0dXJlLCAgUmVnTG9jYXRvciwgSW5pTG9jYXRvciwgQ29tcExvY2F0b3IgYW5kIHRoZSBEckxvY2F0b3IgdGFibGVzLicsKSwKLSh1J1Byb3BlcnR5Jyx1J1Byb3BlcnR5Jyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdOYW1lIG9mIHByb3BlcnR5LCB1cHBlcmNhc2UgaWYgc2V0dGFibGUgYnkgbGF1bmNoZXIgb3IgbG9hZGVyLicsKSwKLSh1J1Byb3BlcnR5Jyx1J1ZhbHVlJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgdSdTdHJpbmcgdmFsdWUgZm9yIHByb3BlcnR5LiAgTmV2ZXIgbnVsbCBvciBlbXB0eS4nLCksCi0odSdCQkNvbnRyb2wnLHUnVHlwZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnVGhlIHR5cGUgb2YgdGhlIGNvbnRyb2wuJywpLAotKHUnQkJDb250cm9sJyx1J1knLHUnTicsMCwzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1ZlcnRpY2FsIGNvb3JkaW5hdGUgb2YgdGhlIHVwcGVyIGxlZnQgY29ybmVyIG9mIHRoZSBib3VuZGluZyByZWN0YW5nbGUgb2YgdGhlIGNvbnRyb2wuJywpLAotKHUnQkJDb250cm9sJyx1J1RleHQnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JyxOb25lLCB1J0Egc3RyaW5nIHVzZWQgdG8gc2V0IHRoZSBpbml0aWFsIHRleHQgY29udGFpbmVkIHdpdGhpbiBhIGNvbnRyb2wgKGlmIGFwcHJvcHJpYXRlKS4nLCksCi0odSdCQkNvbnRyb2wnLHUnQkJDb250cm9sJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdOYW1lIG9mIHRoZSBjb250cm9sLiBUaGlzIG5hbWUgbXVzdCBiZSB1bmlxdWUgd2l0aGluIGEgYmlsbGJvYXJkLCBidXQgY2FuIHJlcGVhdCBvbiBkaWZmZXJlbnQgYmlsbGJvYXJkLicsKSwKLSh1J0JCQ29udHJvbCcsdSdBdHRyaWJ1dGVzJyx1J1knLDAsMjE0NzQ4MzY0NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0EgMzItYml0IHdvcmQgdGhhdCBzcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZSBmbGFncyB0byBiZSBhcHBsaWVkIHRvIHRoaXMgY29udHJvbC4nLCksCi0odSdCQkNvbnRyb2wnLHUnQmlsbGJvYXJkXycsdSdOJyxOb25lLCBOb25lLCB1J0JpbGxib2FyZCcsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnRXh0ZXJuYWwga2V5IHRvIHRoZSBCaWxsYm9hcmQgdGFibGUsIG5hbWUgb2YgdGhlIGJpbGxib2FyZC4nLCksCi0odSdCQkNvbnRyb2wnLHUnSGVpZ2h0Jyx1J04nLDAsMzI3NjcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdIZWlnaHQgb2YgdGhlIGJvdW5kaW5nIHJlY3RhbmdsZSBvZiB0aGUgY29udHJvbC4nLCksCi0odSdCQkNvbnRyb2wnLHUnV2lkdGgnLHUnTicsMCwzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1dpZHRoIG9mIHRoZSBib3VuZGluZyByZWN0YW5nbGUgb2YgdGhlIGNvbnRyb2wuJywpLAotKHUnQkJDb250cm9sJyx1J1gnLHUnTicsMCwzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0hvcml6b250YWwgY29vcmRpbmF0ZSBvZiB0aGUgdXBwZXIgbGVmdCBjb3JuZXIgb2YgdGhlIGJvdW5kaW5nIHJlY3RhbmdsZSBvZiB0aGUgY29udHJvbC4nLCksCi0odSdCaWxsYm9hcmQnLHUnQWN0aW9uJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdUaGUgbmFtZSBvZiBhbiBhY3Rpb24uIFRoZSBiaWxsYm9hcmQgaXMgZGlzcGxheWVkIGR1cmluZyB0aGUgcHJvZ3Jlc3MgbWVzc2FnZXMgcmVjZWl2ZWQgZnJvbSB0aGlzIGFjdGlvbi4nLCksCi0odSdCaWxsYm9hcmQnLHUnQmlsbGJvYXJkJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdOYW1lIG9mIHRoZSBiaWxsYm9hcmQuJywpLAotKHUnQmlsbGJvYXJkJyx1J0ZlYXR1cmVfJyx1J04nLE5vbmUsIE5vbmUsIHUnRmVhdHVyZScsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnQW4gZXh0ZXJuYWwga2V5IHRvIHRoZSBGZWF0dXJlIFRhYmxlLiBUaGUgYmlsbGJvYXJkIGlzIHNob3duIG9ubHkgaWYgdGhpcyBmZWF0dXJlIGlzIGJlaW5nIGluc3RhbGxlZC4nLCksCi0odSdCaWxsYm9hcmQnLHUnT3JkZXJpbmcnLHUnWScsMCwzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0EgcG9zaXRpdmUgaW50ZWdlci4gSWYgdGhlcmUgaXMgbW9yZSB0aGFuIG9uZSBiaWxsYm9hcmQgY29ycmVzcG9uZGluZyB0byBhbiBhY3Rpb24gdGhleSB3aWxsIGJlIHNob3duIGluIHRoZSBvcmRlciBkZWZpbmVkIGJ5IHRoaXMgY29sdW1uLicsKSwKLSh1J0ZlYXR1cmUnLHUnRGVzY3JpcHRpb24nLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JyxOb25lLCB1J0xvbmdlciBkZXNjcmlwdGl2ZSB0ZXh0IGRlc2NyaWJpbmcgYSB2aXNpYmxlIGZlYXR1cmUgaXRlbS4nLCksCi0odSdGZWF0dXJlJyx1J0F0dHJpYnV0ZXMnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdScwOzE7Mjs0OzU7Njs4Ozk7MTA7MTY7MTc7MTg7MjA7MjE7MjI7MjQ7MjU7MjY7MzI7MzM7MzQ7MzY7Mzc7Mzg7NDg7NDk7NTA7NTI7NTM7NTQnLHUnRmVhdHVyZSBhdHRyaWJ1dGVzJywpLAotKHUnRmVhdHVyZScsdSdGZWF0dXJlJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdQcmltYXJ5IGtleSB1c2VkIHRvIGlkZW50aWZ5IGEgcGFydGljdWxhciBmZWF0dXJlIHJlY29yZC4nLCksCi0odSdGZWF0dXJlJyx1J0RpcmVjdG9yeV8nLHUnWScsTm9uZSwgTm9uZSwgdSdEaXJlY3RvcnknLDEsdSdVcHBlckNhc2UnLE5vbmUsIHUnVGhlIG5hbWUgb2YgdGhlIERpcmVjdG9yeSB0aGF0IGNhbiBiZSBjb25maWd1cmVkIGJ5IHRoZSBVSS4gQSBub24tbnVsbCB2YWx1ZSB3aWxsIGVuYWJsZSB0aGUgYnJvd3NlIGJ1dHRvbi4nLCksCi0odSdGZWF0dXJlJyx1J0xldmVsJyx1J04nLDAsMzI3NjcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUaGUgaW5zdGFsbCBsZXZlbCBhdCB3aGljaCByZWNvcmQgd2lsbCBiZSBpbml0aWFsbHkgc2VsZWN0ZWQuIEFuIGluc3RhbGwgbGV2ZWwgb2YgMCB3aWxsIGRpc2FibGUgYW4gaXRlbSBhbmQgcHJldmVudCBpdHMgZGlzcGxheS4nLCksCi0odSdGZWF0dXJlJyx1J1RpdGxlJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgdSdTaG9ydCB0ZXh0IGlkZW50aWZ5aW5nIGEgdmlzaWJsZSBmZWF0dXJlIGl0ZW0uJywpLAotKHUnRmVhdHVyZScsdSdEaXNwbGF5Jyx1J1knLDAsMzI3NjcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdOdW1lcmljIHNvcnQgb3JkZXIsIHVzZWQgdG8gZm9yY2UgYSBzcGVjaWZpYyBkaXNwbGF5IG9yZGVyaW5nLicsKSwKLSh1J0ZlYXR1cmUnLHUnRmVhdHVyZV9QYXJlbnQnLHUnWScsTm9uZSwgTm9uZSwgdSdGZWF0dXJlJywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdPcHRpb25hbCBrZXkgb2YgYSBwYXJlbnQgcmVjb3JkIGluIHRoZSBzYW1lIHRhYmxlLiBJZiB0aGUgcGFyZW50IGlzIG5vdCBzZWxlY3RlZCwgdGhlbiB0aGUgcmVjb3JkIHdpbGwgbm90IGJlIGluc3RhbGxlZC4gTnVsbCBpbmRpY2F0ZXMgYSByb290IGl0ZW0uJywpLAotKHUnQmluYXJ5Jyx1J05hbWUnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J1VuaXF1ZSBrZXkgaWRlbnRpZnlpbmcgdGhlIGJpbmFyeSBkYXRhLicsKSwKLSh1J0JpbmFyeScsdSdEYXRhJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQmluYXJ5JyxOb25lLCB1J1RoZSB1bmZvcm1hdHRlZCBiaW5hcnkgZGF0YS4nLCksCi0odSdCaW5kSW1hZ2UnLHUnRmlsZV8nLHUnTicsTm9uZSwgTm9uZSwgdSdGaWxlJywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdUaGUgaW5kZXggaW50byB0aGUgRmlsZSB0YWJsZS4gVGhpcyBtdXN0IGJlIGFuIGV4ZWN1dGFibGUgZmlsZS4nLCksCi0odSdCaW5kSW1hZ2UnLHUnUGF0aCcsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1BhdGhzJyxOb25lLCB1J0EgbGlzdCBvZiA7ICBkZWxpbWl0ZWQgcGF0aHMgdGhhdCByZXByZXNlbnQgdGhlIHBhdGhzIHRvIGJlIHNlYXJjaGVkIGZvciB0aGUgaW1wb3J0IERMTFMuIFRoZSBsaXN0IGlzIHVzdWFsbHkgYSBsaXN0IG9mIHByb3BlcnRpZXMgZWFjaCBlbmNsb3NlZCB3aXRoaW4gc3F1YXJlIGJyYWNrZXRzIFtdIC4nLCksCi0odSdGaWxlJyx1J1NlcXVlbmNlJyx1J04nLDEsMzI3NjcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdTZXF1ZW5jZSB3aXRoIHJlc3BlY3QgdG8gdGhlIG1lZGlhIGltYWdlczsgb3JkZXIgbXVzdCB0cmFjayBjYWJpbmV0IG9yZGVyLicsKSwKLSh1J0ZpbGUnLHUnQXR0cmlidXRlcycsdSdZJywwLDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSW50ZWdlciBjb250YWluaW5nIGJpdCBmbGFncyByZXByZXNlbnRpbmcgZmlsZSBhdHRyaWJ1dGVzICh3aXRoIHRoZSBkZWNpbWFsIHZhbHVlIG9mIGVhY2ggYml0IHBvc2l0aW9uIGluIHBhcmVudGhlc2VzKScsKSwKLSh1J0ZpbGUnLHUnRmlsZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnUHJpbWFyeSBrZXksIG5vbi1sb2NhbGl6ZWQgdG9rZW4sIG11c3QgbWF0Y2ggaWRlbnRpZmllciBpbiBjYWJpbmV0LiAgRm9yIHVuY29tcHJlc3NlZCBmaWxlcywgdGhpcyBmaWVsZCBpcyBpZ25vcmVkLicsKSwKLSh1J0ZpbGUnLHUnQ29tcG9uZW50XycsdSdOJyxOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnRm9yZWlnbiBrZXkgcmVmZXJlbmNpbmcgQ29tcG9uZW50IHRoYXQgY29udHJvbHMgdGhlIGZpbGUuJywpLAotKHUnRmlsZScsdSdGaWxlTmFtZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0ZpbGVuYW1lJyxOb25lLCB1J0ZpbGUgbmFtZSB1c2VkIGZvciBpbnN0YWxsYXRpb24sIG1heSBiZSBsb2NhbGl6ZWQuICBUaGlzIG1heSBjb250YWluIGEgInNob3J0IG5hbWV8bG9uZyBuYW1lIiBwYWlyLicsKSwKLSh1J0ZpbGUnLHUnRmlsZVNpemUnLHUnTicsMCwyMTQ3NDgzNjQ3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnU2l6ZSBvZiBmaWxlIGluIGJ5dGVzIChsb25nIGludGVnZXIpLicsKSwKLSh1J0ZpbGUnLHUnTGFuZ3VhZ2UnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdMYW5ndWFnZScsTm9uZSwgdSdMaXN0IG9mIGRlY2ltYWwgbGFuZ3VhZ2UgSWRzLCBjb21tYS1zZXBhcmF0ZWQgaWYgbW9yZSB0aGFuIG9uZS4nLCksCi0odSdGaWxlJyx1J1ZlcnNpb24nLHUnWScsTm9uZSwgTm9uZSwgdSdGaWxlJywxLHUnVmVyc2lvbicsTm9uZSwgdSdWZXJzaW9uIHN0cmluZyBmb3IgdmVyc2lvbmVkIGZpbGVzOyAgQmxhbmsgZm9yIHVudmVyc2lvbmVkIGZpbGVzLicsKSwKLSh1J0NDUFNlYXJjaCcsdSdTaWduYXR1cmVfJyx1J04nLE5vbmUsIE5vbmUsIHUnU2lnbmF0dXJlO1JlZ0xvY2F0b3I7SW5pTG9jYXRvcjtEckxvY2F0b3I7Q29tcExvY2F0b3InLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J1RoZSBTaWduYXR1cmVfIHJlcHJlc2VudHMgYSB1bmlxdWUgZmlsZSBzaWduYXR1cmUgYW5kIGlzIGFsc28gdGhlIGZvcmVpZ24ga2V5IGluIHRoZSBTaWduYXR1cmUsICBSZWdMb2NhdG9yLCBJbmlMb2NhdG9yLCBDb21wTG9jYXRvciBhbmQgdGhlIERyTG9jYXRvciB0YWJsZXMuJywpLAotKHUnQ2hlY2tCb3gnLHUnUHJvcGVydHknLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J0EgbmFtZWQgcHJvcGVydHkgdG8gYmUgdGllZCB0byB0aGUgaXRlbS4nLCksCi0odSdDaGVja0JveCcsdSdWYWx1ZScsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsTm9uZSwgdSdUaGUgdmFsdWUgc3RyaW5nIGFzc29jaWF0ZWQgd2l0aCB0aGUgaXRlbS4nLCksCi0odSdDbGFzcycsdSdEZXNjcmlwdGlvbicsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnTG9jYWxpemVkIGRlc2NyaXB0aW9uIGZvciB0aGUgQ2xhc3MuJywpLAotKHUnQ2xhc3MnLHUnQXR0cmlidXRlcycsdSdZJyxOb25lLCAzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0NsYXNzIHJlZ2lzdHJhdGlvbiBhdHRyaWJ1dGVzLicsKSwKLSh1J0NsYXNzJyx1J0ZlYXR1cmVfJyx1J04nLE5vbmUsIE5vbmUsIHUnRmVhdHVyZScsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnUmVxdWlyZWQgZm9yZWlnbiBrZXkgaW50byB0aGUgRmVhdHVyZSBUYWJsZSwgc3BlY2lmeWluZyB0aGUgZmVhdHVyZSB0byB2YWxpZGF0ZSBvciBpbnN0YWxsIGluIG9yZGVyIGZvciB0aGUgQ0xTSUQgZmFjdG9yeSB0byBiZSBvcGVyYXRpb25hbC4nLCksCi0odSdDbGFzcycsdSdBcHBJZF8nLHUnWScsTm9uZSwgTm9uZSwgdSdBcHBJZCcsMSx1J0d1aWQnLE5vbmUsIHUnT3B0aW9uYWwgQXBwSUQgY29udGFpbmluZyBEQ09NIGluZm9ybWF0aW9uIGZvciBhc3NvY2lhdGVkIGFwcGxpY2F0aW9uIChzdHJpbmcgR1VJRCkuJywpLAotKHUnQ2xhc3MnLHUnQXJndW1lbnQnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLE5vbmUsIHUnb3B0aW9uYWwgYXJndW1lbnQgZm9yIExvY2FsU2VydmVycy4nLCksCi0odSdDbGFzcycsdSdDTFNJRCcsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0d1aWQnLE5vbmUsIHUnVGhlIENMU0lEIG9mIGFuIE9MRSBmYWN0b3J5LicsKSwKLSh1J0NsYXNzJyx1J0NvbXBvbmVudF8nLHUnTicsTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J1JlcXVpcmVkIGZvcmVpZ24ga2V5IGludG8gdGhlIENvbXBvbmVudCBUYWJsZSwgc3BlY2lmeWluZyB0aGUgY29tcG9uZW50IGZvciB3aGljaCB0byByZXR1cm4gYSBwYXRoIHdoZW4gY2FsbGVkIHRocm91Z2ggTG9jYXRlQ29tcG9uZW50LicsKSwKLSh1J0NsYXNzJyx1J0NvbnRleHQnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J1RoZSBudW1lcmljIHNlcnZlciBjb250ZXh0IGZvciB0aGlzIHNlcnZlci4gQ0xTQ1RYX3h4eHgnLCksCi0odSdDbGFzcycsdSdEZWZJbnByb2NIYW5kbGVyJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRmlsZW5hbWUnLHUnMTsyOzMnLHUnT3B0aW9uYWwgZGVmYXVsdCBpbnByb2MgaGFuZGxlci4gIE9ubHkgb3B0aW9uYWxseSBwcm92aWRlZCBpZiBDb250ZXh0PUNMU0NUWF9MT0NBTF9TRVJWRVIuICBUeXBpY2FsbHkgIm9sZTMyLmRsbCIgb3IgIm1hcGkzMi5kbGwiJywpLAotKHUnQ2xhc3MnLHUnRmlsZVR5cGVNYXNrJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgdSdPcHRpb25hbCBzdHJpbmcgY29udGFpbmluZyBpbmZvcm1hdGlvbiBmb3IgdGhlIEhLQ1J0aGlzIENMU0lEKSBrZXkuIElmIG11bHRpcGxlIHBhdHRlcm5zIGV4aXN0LCB0aGV5IG11c3QgYmUgZGVsaW1pdGVkIGJ5IGEgc2VtaWNvbG9uLCBhbmQgbnVtZXJpYyBzdWJrZXlzIHdpbGwgYmUgZ2VuZXJhdGVkOiAwLDEsMi4uLicsKSwKLSh1J0NsYXNzJyx1J0ljb25fJyx1J1knLE5vbmUsIE5vbmUsIHUnSWNvbicsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnT3B0aW9uYWwgZm9yZWlnbiBrZXkgaW50byB0aGUgSWNvbiBUYWJsZSwgc3BlY2lmeWluZyB0aGUgaWNvbiBmaWxlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIENMU0lELiBXaWxsIGJlIHdyaXR0ZW4gdW5kZXIgdGhlIERlZmF1bHRJY29uIGtleS4nLCksCi0odSdDbGFzcycsdSdJY29uSW5kZXgnLHUnWScsLTMyNzY3LDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnT3B0aW9uYWwgaWNvbiBpbmRleC4nLCksCi0odSdDbGFzcycsdSdQcm9nSWRfRGVmYXVsdCcsdSdZJyxOb25lLCBOb25lLCB1J1Byb2dJZCcsMSx1J1RleHQnLE5vbmUsIHUnT3B0aW9uYWwgUHJvZ0lkIGFzc29jaWF0ZWQgd2l0aCB0aGlzIENMU0lELicsKSwKLSh1J0NvbXBvbmVudCcsdSdDb25kaXRpb24nLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdDb25kaXRpb24nLE5vbmUsIHUiQSBjb25kaXRpb25hbCBzdGF0ZW1lbnQgdGhhdCB3aWxsIGRpc2FibGUgdGhpcyBjb21wb25lbnQgaWYgdGhlIHNwZWNpZmllZCBjb25kaXRpb24gZXZhbHVhdGVzIHRvIHRoZSAnVHJ1ZScgc3RhdGUuIElmIGEgY29tcG9uZW50IGlzIGRpc2FibGVkLCBpdCB3aWxsIG5vdCBiZSBpbnN0YWxsZWQsIHJlZ2FyZGxlc3Mgb2YgdGhlICdBY3Rpb24nIHN0YXRlIGFzc29jaWF0ZWQgd2l0aCB0aGUgY29tcG9uZW50LiIsKSwKLSh1J0NvbXBvbmVudCcsdSdBdHRyaWJ1dGVzJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnUmVtb3RlIGV4ZWN1dGlvbiBvcHRpb24sIG9uZSBvZiBpcnNFbnVtJywpLAotKHUnQ29tcG9uZW50Jyx1J0NvbXBvbmVudCcsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnUHJpbWFyeSBrZXkgdXNlZCB0byBpZGVudGlmeSBhIHBhcnRpY3VsYXIgY29tcG9uZW50IHJlY29yZC4nLCksCi0odSdDb21wb25lbnQnLHUnQ29tcG9uZW50SWQnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdHdWlkJyxOb25lLCB1J0Egc3RyaW5nIEdVSUQgdW5pcXVlIHRvIHRoaXMgY29tcG9uZW50LCB2ZXJzaW9uLCBhbmQgbGFuZ3VhZ2UuJywpLAotKHUnQ29tcG9uZW50Jyx1J0RpcmVjdG9yeV8nLHUnTicsTm9uZSwgTm9uZSwgdSdEaXJlY3RvcnknLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J1JlcXVpcmVkIGtleSBvZiBhIERpcmVjdG9yeSB0YWJsZSByZWNvcmQuIFRoaXMgaXMgYWN0dWFsbHkgYSBwcm9wZXJ0eSBuYW1lIHdob3NlIHZhbHVlIGNvbnRhaW5zIHRoZSBhY3R1YWwgcGF0aCwgc2V0IGVpdGhlciBieSB0aGUgQXBwU2VhcmNoIGFjdGlvbiBvciB3aXRoIHRoZSBkZWZhdWx0IHNldHRpbmcgb2J0YWluZWQgZnJvbSB0aGUgRGlyZWN0b3J5IHRhYmxlLicsKSwKLSh1J0NvbXBvbmVudCcsdSdLZXlQYXRoJyx1J1knLE5vbmUsIE5vbmUsIHUnRmlsZTtSZWdpc3RyeTtPREJDRGF0YVNvdXJjZScsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnRWl0aGVyIHRoZSBwcmltYXJ5IGtleSBpbnRvIHRoZSBGaWxlIHRhYmxlLCBSZWdpc3RyeSB0YWJsZSwgb3IgT0RCQ0RhdGFTb3VyY2UgdGFibGUuIFRoaXMgZXh0cmFjdCBwYXRoIGlzIHN0b3JlZCB3aGVuIHRoZSBjb21wb25lbnQgaXMgaW5zdGFsbGVkLCBhbmQgaXMgdXNlZCB0byBkZXRlY3QgdGhlIHByZXNlbmNlIG9mIHRoZSBjb21wb25lbnQgYW5kIHRvIHJldHVybiB0aGUgcGF0aCB0byBpdC4nLCksCi0odSdJY29uJyx1J05hbWUnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J1ByaW1hcnkga2V5LiBOYW1lIG9mIHRoZSBpY29uIGZpbGUuJywpLAotKHUnSWNvbicsdSdEYXRhJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQmluYXJ5JyxOb25lLCB1J0JpbmFyeSBzdHJlYW0uIFRoZSBiaW5hcnkgaWNvbiBkYXRhIGluIFBFICguRExMIG9yIC5FWEUpIG9yIGljb24gKC5JQ08pIGZvcm1hdC4nLCksCi0odSdQcm9nSWQnLHUnRGVzY3JpcHRpb24nLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JyxOb25lLCB1J0xvY2FsaXplZCBkZXNjcmlwdGlvbiBmb3IgdGhlIFByb2dyYW0gaWRlbnRpZmllci4nLCksCi0odSdQcm9nSWQnLHUnSWNvbl8nLHUnWScsTm9uZSwgTm9uZSwgdSdJY29uJywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdPcHRpb25hbCBmb3JlaWduIGtleSBpbnRvIHRoZSBJY29uIFRhYmxlLCBzcGVjaWZ5aW5nIHRoZSBpY29uIGZpbGUgYXNzb2NpYXRlZCB3aXRoIHRoaXMgUHJvZ0lkLiBXaWxsIGJlIHdyaXR0ZW4gdW5kZXIgdGhlIERlZmF1bHRJY29uIGtleS4nLCksCi0odSdQcm9nSWQnLHUnSWNvbkluZGV4Jyx1J1knLC0zMjc2NywzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J09wdGlvbmFsIGljb24gaW5kZXguJywpLAotKHUnUHJvZ0lkJyx1J1Byb2dJZCcsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnVGhlIFByb2dyYW0gSWRlbnRpZmllci4gUHJpbWFyeSBrZXkuJywpLAotKHUnUHJvZ0lkJyx1J0NsYXNzXycsdSdZJyxOb25lLCBOb25lLCB1J0NsYXNzJywxLHUnR3VpZCcsTm9uZSwgdSdUaGUgQ0xTSUQgb2YgYW4gT0xFIGZhY3RvcnkgY29ycmVzcG9uZGluZyB0byB0aGUgUHJvZ0lkLicsKSwKLSh1J1Byb2dJZCcsdSdQcm9nSWRfUGFyZW50Jyx1J1knLE5vbmUsIE5vbmUsIHUnUHJvZ0lkJywxLHUnVGV4dCcsTm9uZSwgdSdUaGUgUGFyZW50IFByb2dyYW0gSWRlbnRpZmllci4gSWYgc3BlY2lmaWVkLCB0aGUgUHJvZ0lkIGNvbHVtbiBiZWNvbWVzIGEgdmVyc2lvbiBpbmRlcGVuZGVudCBwcm9nIGlkLicsKSwKLSh1J0NvbWJvQm94Jyx1J1RleHQnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLE5vbmUsIHUnVGhlIHZpc2libGUgdGV4dCB0byBiZSBhc3NpZ25lZCB0byB0aGUgaXRlbS4gT3B0aW9uYWwuIElmIHRoaXMgZW50cnkgb3IgdGhlIGVudGlyZSBjb2x1bW4gaXMgbWlzc2luZywgdGhlIHRleHQgaXMgdGhlIHNhbWUgYXMgdGhlIHZhbHVlLicsKSwKLSh1J0NvbWJvQm94Jyx1J1Byb3BlcnR5Jyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdBIG5hbWVkIHByb3BlcnR5IHRvIGJlIHRpZWQgdG8gdGhpcyBpdGVtLiBBbGwgdGhlIGl0ZW1zIHRpZWQgdG8gdGhlIHNhbWUgcHJvcGVydHkgYmVjb21lIHBhcnQgb2YgdGhlIHNhbWUgY29tYm9ib3guJywpLAotKHUnQ29tYm9Cb3gnLHUnVmFsdWUnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLE5vbmUsIHUnVGhlIHZhbHVlIHN0cmluZyBhc3NvY2lhdGVkIHdpdGggdGhpcyBpdGVtLiBTZWxlY3RpbmcgdGhlIGxpbmUgd2lsbCBzZXQgdGhlIGFzc29jaWF0ZWQgcHJvcGVydHkgdG8gdGhpcyB2YWx1ZS4nLCksCi0odSdDb21ib0JveCcsdSdPcmRlcicsdSdOJywxLDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQSBwb3NpdGl2ZSBpbnRlZ2VyIHVzZWQgdG8gZGV0ZXJtaW5lIHRoZSBvcmRlcmluZyBvZiB0aGUgaXRlbXMgd2l0aGluIG9uZSBsaXN0Llx0VGhlIGludGVnZXJzIGRvIG5vdCBoYXZlIHRvIGJlIGNvbnNlY3V0aXZlLicsKSwKLSh1J0NvbXBMb2NhdG9yJyx1J1R5cGUnLHUnWScsMCwxLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQSBib29sZWFuIHZhbHVlIHRoYXQgZGV0ZXJtaW5lcyBpZiB0aGUgcmVnaXN0cnkgdmFsdWUgaXMgYSBmaWxlbmFtZSBvciBhIGRpcmVjdG9yeSBsb2NhdGlvbi4nLCksCi0odSdDb21wTG9jYXRvcicsdSdTaWduYXR1cmVfJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdUaGUgdGFibGUga2V5LiBUaGUgU2lnbmF0dXJlXyByZXByZXNlbnRzIGEgdW5pcXVlIGZpbGUgc2lnbmF0dXJlIGFuZCBpcyBhbHNvIHRoZSBmb3JlaWduIGtleSBpbiB0aGUgU2lnbmF0dXJlIHRhYmxlLicsKSwKLSh1J0NvbXBMb2NhdG9yJyx1J0NvbXBvbmVudElkJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnR3VpZCcsTm9uZSwgdSdBIHN0cmluZyBHVUlEIHVuaXF1ZSB0byB0aGlzIGNvbXBvbmVudCwgdmVyc2lvbiwgYW5kIGxhbmd1YWdlLicsKSwKLSh1J0NvbXBsdXMnLHUnQ29tcG9uZW50XycsdSdOJyxOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnRm9yZWlnbiBrZXkgcmVmZXJlbmNpbmcgQ29tcG9uZW50IHRoYXQgY29udHJvbHMgdGhlIENvbVBsdXMgY29tcG9uZW50LicsKSwKLSh1J0NvbXBsdXMnLHUnRXhwVHlwZScsdSdZJywwLDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQ29tUGx1cyBjb21wb25lbnQgYXR0cmlidXRlcy4nLCksCi0odSdEaXJlY3RvcnknLHUnRGlyZWN0b3J5Jyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdVbmlxdWUgaWRlbnRpZmllciBmb3IgZGlyZWN0b3J5IGVudHJ5LCBwcmltYXJ5IGtleS4gSWYgYSBwcm9wZXJ0eSBieSB0aGlzIG5hbWUgaXMgZGVmaW5lZCwgaXQgY29udGFpbnMgdGhlIGZ1bGwgcGF0aCB0byB0aGUgZGlyZWN0b3J5LicsKSwKLSh1J0RpcmVjdG9yeScsdSdEZWZhdWx0RGlyJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRGVmYXVsdERpcicsTm9uZSwgdSJUaGUgZGVmYXVsdCBzdWItcGF0aCB1bmRlciBwYXJlbnQncyBwYXRoLiIsKSwKLSh1J0RpcmVjdG9yeScsdSdEaXJlY3RvcnlfUGFyZW50Jyx1J1knLE5vbmUsIE5vbmUsIHUnRGlyZWN0b3J5JywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdSZWZlcmVuY2UgdG8gdGhlIGVudHJ5IGluIHRoaXMgdGFibGUgc3BlY2lmeWluZyB0aGUgZGVmYXVsdCBwYXJlbnQgZGlyZWN0b3J5LiBBIHJlY29yZCBwYXJlbnRlZCB0byBpdHNlbGYgb3Igd2l0aCBhIE51bGwgcGFyZW50IHJlcHJlc2VudHMgYSByb290IG9mIHRoZSBpbnN0YWxsIHRyZWUuJywpLAotKHUnQ29udHJvbCcsdSdUeXBlJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdUaGUgdHlwZSBvZiB0aGUgY29udHJvbC4nLCksCi0odSdDb250cm9sJyx1J1knLHUnTicsMCwzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1ZlcnRpY2FsIGNvb3JkaW5hdGUgb2YgdGhlIHVwcGVyIGxlZnQgY29ybmVyIG9mIHRoZSBib3VuZGluZyByZWN0YW5nbGUgb2YgdGhlIGNvbnRyb2wuJywpLAotKHUnQ29udHJvbCcsdSdUZXh0Jyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJyxOb25lLCB1J0Egc3RyaW5nIHVzZWQgdG8gc2V0IHRoZSBpbml0aWFsIHRleHQgY29udGFpbmVkIHdpdGhpbiBhIGNvbnRyb2wgKGlmIGFwcHJvcHJpYXRlKS4nLCksCi0odSdDb250cm9sJyx1J1Byb3BlcnR5Jyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdUaGUgbmFtZSBvZiBhIGRlZmluZWQgcHJvcGVydHkgdG8gYmUgbGlua2VkIHRvIHRoaXMgY29udHJvbC4gJywpLAotKHUnQ29udHJvbCcsdSdBdHRyaWJ1dGVzJyx1J1knLDAsMjE0NzQ4MzY0NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0EgMzItYml0IHdvcmQgdGhhdCBzcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZSBmbGFncyB0byBiZSBhcHBsaWVkIHRvIHRoaXMgY29udHJvbC4nLCksCi0odSdDb250cm9sJyx1J0hlaWdodCcsdSdOJywwLDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSGVpZ2h0IG9mIHRoZSBib3VuZGluZyByZWN0YW5nbGUgb2YgdGhlIGNvbnRyb2wuJywpLAotKHUnQ29udHJvbCcsdSdXaWR0aCcsdSdOJywwLDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnV2lkdGggb2YgdGhlIGJvdW5kaW5nIHJlY3RhbmdsZSBvZiB0aGUgY29udHJvbC4nLCksCi0odSdDb250cm9sJyx1J1gnLHUnTicsMCwzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0hvcml6b250YWwgY29vcmRpbmF0ZSBvZiB0aGUgdXBwZXIgbGVmdCBjb3JuZXIgb2YgdGhlIGJvdW5kaW5nIHJlY3RhbmdsZSBvZiB0aGUgY29udHJvbC4nLCksCi0odSdDb250cm9sJyx1J0NvbnRyb2wnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J05hbWUgb2YgdGhlIGNvbnRyb2wuIFRoaXMgbmFtZSBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gYSBkaWFsb2csIGJ1dCBjYW4gcmVwZWF0IG9uIGRpZmZlcmVudCBkaWFsb2dzLiAnLCksCi0odSdDb250cm9sJyx1J0NvbnRyb2xfTmV4dCcsdSdZJyxOb25lLCBOb25lLCB1J0NvbnRyb2wnLDIsdSdJZGVudGlmaWVyJyxOb25lLCB1J1RoZSBuYW1lIG9mIGFuIG90aGVyIGNvbnRyb2wgb24gdGhlIHNhbWUgZGlhbG9nLiBUaGlzIGxpbmsgZGVmaW5lcyB0aGUgdGFiIG9yZGVyIG9mIHRoZSBjb250cm9scy4gVGhlIGxpbmtzIGhhdmUgdG8gZm9ybSBvbmUgb3IgbW9yZSBjeWNsZXMhJywpLAotKHUnQ29udHJvbCcsdSdEaWFsb2dfJyx1J04nLE5vbmUsIE5vbmUsIHUnRGlhbG9nJywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdFeHRlcm5hbCBrZXkgdG8gdGhlIERpYWxvZyB0YWJsZSwgbmFtZSBvZiB0aGUgZGlhbG9nLicsKSwKLSh1J0NvbnRyb2wnLHUnSGVscCcsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnVGhlIGhlbHAgc3RyaW5ncyB1c2VkIHdpdGggdGhlIGJ1dHRvbi4gVGhlIHRleHQgaXMgb3B0aW9uYWwuICcsKSwKLSh1J0RpYWxvZycsdSdBdHRyaWJ1dGVzJyx1J1knLDAsMjE0NzQ4MzY0NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0EgMzItYml0IHdvcmQgdGhhdCBzcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZSBmbGFncyB0byBiZSBhcHBsaWVkIHRvIHRoaXMgZGlhbG9nLicsKSwKLSh1J0RpYWxvZycsdSdIZWlnaHQnLHUnTicsMCwzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0hlaWdodCBvZiB0aGUgYm91bmRpbmcgcmVjdGFuZ2xlIG9mIHRoZSBkaWFsb2cuJywpLAotKHUnRGlhbG9nJyx1J1dpZHRoJyx1J04nLDAsMzI3NjcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdXaWR0aCBvZiB0aGUgYm91bmRpbmcgcmVjdGFuZ2xlIG9mIHRoZSBkaWFsb2cuJywpLAotKHUnRGlhbG9nJyx1J0RpYWxvZycsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnTmFtZSBvZiB0aGUgZGlhbG9nLicsKSwKLSh1J0RpYWxvZycsdSdDb250cm9sX0NhbmNlbCcsdSdZJyxOb25lLCBOb25lLCB1J0NvbnRyb2wnLDIsdSdJZGVudGlmaWVyJyxOb25lLCB1J0RlZmluZXMgdGhlIGNhbmNlbCBjb250cm9sLiBIaXR0aW5nIGVzY2FwZSBvciBjbGlja2luZyBvbiB0aGUgY2xvc2UgaWNvbiBvbiB0aGUgZGlhbG9nIGlzIGVxdWl2YWxlbnQgdG8gcHVzaGluZyB0aGlzIGJ1dHRvbi4nLCksCi0odSdEaWFsb2cnLHUnQ29udHJvbF9EZWZhdWx0Jyx1J1knLE5vbmUsIE5vbmUsIHUnQ29udHJvbCcsMix1J0lkZW50aWZpZXInLE5vbmUsIHUnRGVmaW5lcyB0aGUgZGVmYXVsdCBjb250cm9sLiBIaXR0aW5nIHJldHVybiBpcyBlcXVpdmFsZW50IHRvIHB1c2hpbmcgdGhpcyBidXR0b24uJywpLAotKHUnRGlhbG9nJyx1J0NvbnRyb2xfRmlyc3QnLHUnTicsTm9uZSwgTm9uZSwgdSdDb250cm9sJywyLHUnSWRlbnRpZmllcicsTm9uZSwgdSdEZWZpbmVzIHRoZSBjb250cm9sIHRoYXQgaGFzIHRoZSBmb2N1cyB3aGVuIHRoZSBkaWFsb2cgaXMgY3JlYXRlZC4nLCksCi0odSdEaWFsb2cnLHUnSENlbnRlcmluZycsdSdOJywwLDEwMCxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0hvcml6b250YWwgcG9zaXRpb24gb2YgdGhlIGRpYWxvZyBvbiBhIDAtMTAwIHNjYWxlLiAwIG1lYW5zIGxlZnQgZW5kLCAxMDAgbWVhbnMgcmlnaHQgZW5kIG9mIHRoZSBzY3JlZW4sIDUwIGNlbnRlci4nLCksCi0odSdEaWFsb2cnLHUnVGl0bGUnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLE5vbmUsIHUiQSB0ZXh0IHN0cmluZyBzcGVjaWZ5aW5nIHRoZSB0aXRsZSB0byBiZSBkaXNwbGF5ZWQgaW4gdGhlIHRpdGxlIGJhciBvZiB0aGUgZGlhbG9nJ3Mgd2luZG93LiIsKSwKLSh1J0RpYWxvZycsdSdWQ2VudGVyaW5nJyx1J04nLDAsMTAwLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVmVydGljYWwgcG9zaXRpb24gb2YgdGhlIGRpYWxvZyBvbiBhIDAtMTAwIHNjYWxlLiAwIG1lYW5zIHRvcCBlbmQsIDEwMCBtZWFucyBib3R0b20gZW5kIG9mIHRoZSBzY3JlZW4sIDUwIGNlbnRlci4nLCksCi0odSdDb250cm9sQ29uZGl0aW9uJyx1J0FjdGlvbicsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0RlZmF1bHQ7RGlzYWJsZTtFbmFibGU7SGlkZTtTaG93Jyx1J1RoZSBkZXNpcmVkIGFjdGlvbiB0byBiZSB0YWtlbiBvbiB0aGUgc3BlY2lmaWVkIGNvbnRyb2wuJywpLAotKHUnQ29udHJvbENvbmRpdGlvbicsdSdDb25kaXRpb24nLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdDb25kaXRpb24nLE5vbmUsIHUnQSBzdGFuZGFyZCBjb25kaXRpb25hbCBzdGF0ZW1lbnQgdGhhdCBzcGVjaWZpZXMgdW5kZXIgd2hpY2ggY29uZGl0aW9ucyB0aGUgYWN0aW9uIHNob3VsZCBiZSB0cmlnZ2VyZWQuJywpLAotKHUnQ29udHJvbENvbmRpdGlvbicsdSdEaWFsb2dfJyx1J04nLE5vbmUsIE5vbmUsIHUnRGlhbG9nJywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdBIGZvcmVpZ24ga2V5IHRvIHRoZSBEaWFsb2cgdGFibGUsIG5hbWUgb2YgdGhlIGRpYWxvZy4nLCksCi0odSdDb250cm9sQ29uZGl0aW9uJyx1J0NvbnRyb2xfJyx1J04nLE5vbmUsIE5vbmUsIHUnQ29udHJvbCcsMix1J0lkZW50aWZpZXInLE5vbmUsIHUnQSBmb3JlaWduIGtleSB0byB0aGUgQ29udHJvbCB0YWJsZSwgbmFtZSBvZiB0aGUgY29udHJvbC4nLCksCi0odSdDb250cm9sRXZlbnQnLHUnQ29uZGl0aW9uJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQ29uZGl0aW9uJyxOb25lLCB1J0Egc3RhbmRhcmQgY29uZGl0aW9uYWwgc3RhdGVtZW50IHRoYXQgc3BlY2lmaWVzIHVuZGVyIHdoaWNoIGNvbmRpdGlvbnMgYW4gZXZlbnQgc2hvdWxkIGJlIHRyaWdnZXJlZC4nLCksCi0odSdDb250cm9sRXZlbnQnLHUnT3JkZXJpbmcnLHUnWScsMCwyMTQ3NDgzNjQ3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQW4gaW50ZWdlciB1c2VkIHRvIG9yZGVyIHNldmVyYWwgZXZlbnRzIHRpZWQgdG8gdGhlIHNhbWUgY29udHJvbC4gQ2FuIGJlIGxlZnQgYmxhbmsuJywpLAotKHUnQ29udHJvbEV2ZW50Jyx1J0FyZ3VtZW50Jyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJyxOb25lLCB1J0EgdmFsdWUgdG8gYmUgdXNlZCBhcyBhIG1vZGlmaWVyIHdoZW4gdHJpZ2dlcmluZyBhIHBhcnRpY3VsYXIgZXZlbnQuJywpLAotKHUnQ29udHJvbEV2ZW50Jyx1J0RpYWxvZ18nLHUnTicsTm9uZSwgTm9uZSwgdSdEaWFsb2cnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J0EgZm9yZWlnbiBrZXkgdG8gdGhlIERpYWxvZyB0YWJsZSwgbmFtZSBvZiB0aGUgZGlhbG9nLicsKSwKLSh1J0NvbnRyb2xFdmVudCcsdSdDb250cm9sXycsdSdOJyxOb25lLCBOb25lLCB1J0NvbnRyb2wnLDIsdSdJZGVudGlmaWVyJyxOb25lLCB1J0EgZm9yZWlnbiBrZXkgdG8gdGhlIENvbnRyb2wgdGFibGUsIG5hbWUgb2YgdGhlIGNvbnRyb2wnLCksCi0odSdDb250cm9sRXZlbnQnLHUnRXZlbnQnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLE5vbmUsIHUnQW4gaWRlbnRpZmllciB0aGF0IHNwZWNpZmllcyB0aGUgdHlwZSBvZiB0aGUgZXZlbnQgdGhhdCBzaG91bGQgdGFrZSBwbGFjZSB3aGVuIHRoZSB1c2VyIGludGVyYWN0cyB3aXRoIGNvbnRyb2wgc3BlY2lmaWVkIGJ5IHRoZSBmaXJzdCB0d28gZW50cmllcy4nLCksCi0odSdDcmVhdGVGb2xkZXInLHUnQ29tcG9uZW50XycsdSdOJyxOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byB0aGUgQ29tcG9uZW50IHRhYmxlLicsKSwKLSh1J0NyZWF0ZUZvbGRlcicsdSdEaXJlY3RvcnlfJyx1J04nLE5vbmUsIE5vbmUsIHUnRGlyZWN0b3J5JywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdQcmltYXJ5IGtleSwgY291bGQgYmUgZm9yZWlnbiBrZXkgaW50byB0aGUgRGlyZWN0b3J5IHRhYmxlLicsKSwKLSh1J0N1c3RvbUFjdGlvbicsdSdUeXBlJyx1J04nLDEsMTYzODMsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUaGUgbnVtZXJpYyBjdXN0b20gYWN0aW9uIHR5cGUsIGNvbnNpc3Rpbmcgb2Ygc291cmNlIGxvY2F0aW9uLCBjb2RlIHR5cGUsIGVudHJ5LCBvcHRpb24gZmxhZ3MuJywpLAotKHUnQ3VzdG9tQWN0aW9uJyx1J0FjdGlvbicsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnUHJpbWFyeSBrZXksIG5hbWUgb2YgYWN0aW9uLCBub3JtYWxseSBhcHBlYXJzIGluIHNlcXVlbmNlIHRhYmxlIHVubGVzcyBwcml2YXRlIHVzZS4nLCksCi0odSdDdXN0b21BY3Rpb24nLHUnU291cmNlJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQ3VzdG9tU291cmNlJyxOb25lLCB1J1RoZSB0YWJsZSByZWZlcmVuY2Ugb2YgdGhlIHNvdXJjZSBvZiB0aGUgY29kZS4nLCksCi0odSdDdXN0b21BY3Rpb24nLHUnVGFyZ2V0Jyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJyxOb25lLCB1J0V4Y2VjdXRpb24gcGFyYW1ldGVyLCBkZXBlbmRzIG9uIHRoZSB0eXBlIG9mIGN1c3RvbSBhY3Rpb24nLCksCi0odSdEckxvY2F0b3InLHUnU2lnbmF0dXJlXycsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnVGhlIFNpZ25hdHVyZV8gcmVwcmVzZW50cyBhIHVuaXF1ZSBmaWxlIHNpZ25hdHVyZSBhbmQgaXMgYWxzbyB0aGUgZm9yZWlnbiBrZXkgaW4gdGhlIFNpZ25hdHVyZSB0YWJsZS4nLCksCi0odSdEckxvY2F0b3InLHUnUGF0aCcsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0FueVBhdGgnLE5vbmUsIHUnVGhlIHBhdGggb24gdGhlIHVzZXIgc3lzdGVtLiBUaGlzIGlzIGEgZWl0aGVyIGEgc3VicGF0aCBiZWxvdyB0aGUgdmFsdWUgb2YgdGhlIFBhcmVudCBvciBhIGZ1bGwgcGF0aC4gVGhlIHBhdGggbWF5IGNvbnRhaW4gcHJvcGVydGllcyBlbmNsb3NlZCB3aXRoaW4gWyBdIHRoYXQgd2lsbCBiZSBleHBhbmRlZC4nLCksCi0odSdEckxvY2F0b3InLHUnRGVwdGgnLHUnWScsMCwzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSBkZXB0aCBiZWxvdyB0aGUgcGF0aCB0byB3aGljaCB0aGUgU2lnbmF0dXJlXyBpcyByZWN1cnNpdmVseSBzZWFyY2hlZC4gSWYgYWJzZW50LCB0aGUgZGVwdGggaXMgYXNzdW1lZCB0byBiZSAwLicsKSwKLSh1J0RyTG9jYXRvcicsdSdQYXJlbnQnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J1RoZSBwYXJlbnQgZmlsZSBzaWduYXR1cmUuIEl0IGlzIGFsc28gYSBmb3JlaWduIGtleSBpbiB0aGUgU2lnbmF0dXJlIHRhYmxlLiBJZiBudWxsIGFuZCB0aGUgUGF0aCBjb2x1bW4gZG9lcyBub3QgZXhwYW5kIHRvIGEgZnVsbCBwYXRoLCB0aGVuIGFsbCB0aGUgZml4ZWQgZHJpdmVzIG9mIHRoZSB1c2VyIHN5c3RlbSBhcmUgc2VhcmNoZWQgdXNpbmcgdGhlIFBhdGguJywpLAotKHUnRHVwbGljYXRlRmlsZScsdSdGaWxlXycsdSdOJyxOb25lLCBOb25lLCB1J0ZpbGUnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J0ZvcmVpZ24ga2V5IHJlZmVyZW5jaW5nIHRoZSBzb3VyY2UgZmlsZSB0byBiZSBkdXBsaWNhdGVkLicsKSwKLSh1J0R1cGxpY2F0ZUZpbGUnLHUnQ29tcG9uZW50XycsdSdOJyxOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnRm9yZWlnbiBrZXkgcmVmZXJlbmNpbmcgQ29tcG9uZW50IHRoYXQgY29udHJvbHMgdGhlIGR1cGxpY2F0ZSBmaWxlLicsKSwKLSh1J0R1cGxpY2F0ZUZpbGUnLHUnRGVzdEZvbGRlcicsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnTmFtZSBvZiBhIHByb3BlcnR5IHdob3NlIHZhbHVlIGlzIGFzc3VtZWQgdG8gcmVzb2x2ZSB0byB0aGUgZnVsbCBwYXRobmFtZSB0byBhIGRlc3RpbmF0aW9uIGZvbGRlci4nLCksCi0odSdEdXBsaWNhdGVGaWxlJyx1J0Rlc3ROYW1lJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRmlsZW5hbWUnLE5vbmUsIHUnRmlsZW5hbWUgdG8gYmUgZ2l2ZW4gdG8gdGhlIGR1cGxpY2F0ZSBmaWxlLicsKSwKLSh1J0R1cGxpY2F0ZUZpbGUnLHUnRmlsZUtleScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnUHJpbWFyeSBrZXkgdXNlZCB0byBpZGVudGlmeSBhIHBhcnRpY3VsYXIgZmlsZSBlbnRyeScsKSwKLSh1J0Vudmlyb25tZW50Jyx1J05hbWUnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JyxOb25lLCB1J1RoZSBuYW1lIG9mIHRoZSBlbnZpcm9ubWVudGFsIHZhbHVlLicsKSwKLSh1J0Vudmlyb25tZW50Jyx1J1ZhbHVlJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJyxOb25lLCB1J1RoZSB2YWx1ZSB0byBzZXQgaW4gdGhlIGVudmlyb25tZW50YWwgc2V0dGluZ3MuJywpLAotKHUnRW52aXJvbm1lbnQnLHUnQ29tcG9uZW50XycsdSdOJyxOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byB0aGUgQ29tcG9uZW50IHRhYmxlIHJlZmVyZW5jaW5nIGNvbXBvbmVudCB0aGF0IGNvbnRyb2xzIHRoZSBpbnN0YWxsaW5nIG9mIHRoZSBlbnZpcm9ubWVudGFsIHZhbHVlLicsKSwKLSh1J0Vudmlyb25tZW50Jyx1J0Vudmlyb25tZW50Jyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdVbmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGVudmlyb25tZW50YWwgdmFyaWFibGUgc2V0dGluZycsKSwKLSh1J0Vycm9yJyx1J0Vycm9yJyx1J04nLDAsMzI3NjcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJbnRlZ2VyIGVycm9yIG51bWJlciwgb2J0YWluZWQgZnJvbSBoZWFkZXIgZmlsZSBJRXJyb3IoLi4uKSBtYWNyb3MuJywpLAotKHUnRXJyb3InLHUnTWVzc2FnZScsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RlbXBsYXRlJyxOb25lLCB1J0Vycm9yIGZvcm1hdHRpbmcgdGVtcGxhdGUsIG9idGFpbmVkIGZyb20gdXNlciBlZC4gb3IgbG9jYWxpemVycy4nLCksCi0odSdFdmVudE1hcHBpbmcnLHUnRGlhbG9nXycsdSdOJyxOb25lLCBOb25lLCB1J0RpYWxvZycsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnQSBmb3JlaWduIGtleSB0byB0aGUgRGlhbG9nIHRhYmxlLCBuYW1lIG9mIHRoZSBEaWFsb2cuJywpLAotKHUnRXZlbnRNYXBwaW5nJyx1J0NvbnRyb2xfJyx1J04nLE5vbmUsIE5vbmUsIHUnQ29udHJvbCcsMix1J0lkZW50aWZpZXInLE5vbmUsIHUnQSBmb3JlaWduIGtleSB0byB0aGUgQ29udHJvbCB0YWJsZSwgbmFtZSBvZiB0aGUgY29udHJvbC4nLCksCi0odSdFdmVudE1hcHBpbmcnLHUnRXZlbnQnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J0FuIGlkZW50aWZpZXIgdGhhdCBzcGVjaWZpZXMgdGhlIHR5cGUgb2YgdGhlIGV2ZW50IHRoYXQgdGhlIGNvbnRyb2wgc3Vic2NyaWJlcyB0by4nLCksCi0odSdFdmVudE1hcHBpbmcnLHUnQXR0cmlidXRlJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdUaGUgbmFtZSBvZiB0aGUgY29udHJvbCBhdHRyaWJ1dGUsIHRoYXQgaXMgc2V0IHdoZW4gdGhpcyBldmVudCBpcyByZWNlaXZlZC4nLCksCi0odSdFeHRlbnNpb24nLHUnRmVhdHVyZV8nLHUnTicsTm9uZSwgTm9uZSwgdSdGZWF0dXJlJywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdSZXF1aXJlZCBmb3JlaWduIGtleSBpbnRvIHRoZSBGZWF0dXJlIFRhYmxlLCBzcGVjaWZ5aW5nIHRoZSBmZWF0dXJlIHRvIHZhbGlkYXRlIG9yIGluc3RhbGwgaW4gb3JkZXIgZm9yIHRoZSBDTFNJRCBmYWN0b3J5IHRvIGJlIG9wZXJhdGlvbmFsLicsKSwKLSh1J0V4dGVuc2lvbicsdSdDb21wb25lbnRfJyx1J04nLE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdSZXF1aXJlZCBmb3JlaWduIGtleSBpbnRvIHRoZSBDb21wb25lbnQgVGFibGUsIHNwZWNpZnlpbmcgdGhlIGNvbXBvbmVudCBmb3Igd2hpY2ggdG8gcmV0dXJuIGEgcGF0aCB3aGVuIGNhbGxlZCB0aHJvdWdoIExvY2F0ZUNvbXBvbmVudC4nLCksCi0odSdFeHRlbnNpb24nLHUnRXh0ZW5zaW9uJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgdSdUaGUgZXh0ZW5zaW9uIGFzc29jaWF0ZWQgd2l0aCB0aGUgdGFibGUgcm93LicsKSwKLSh1J0V4dGVuc2lvbicsdSdNSU1FXycsdSdZJyxOb25lLCBOb25lLCB1J01JTUUnLDEsdSdUZXh0JyxOb25lLCB1J09wdGlvbmFsIENvbnRleHQgaWRlbnRpZmllciwgdHlwaWNhbGx5ICJ0eXBlL2Zvcm1hdCIgYXNzb2NpYXRlZCB3aXRoIHRoZSBleHRlbnNpb24nLCksCi0odSdFeHRlbnNpb24nLHUnUHJvZ0lkXycsdSdZJyxOb25lLCBOb25lLCB1J1Byb2dJZCcsMSx1J1RleHQnLE5vbmUsIHUnT3B0aW9uYWwgUHJvZ0lkIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGV4dGVuc2lvbi4nLCksCi0odSdNSU1FJyx1J0NMU0lEJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnR3VpZCcsTm9uZSwgdSdPcHRpb25hbCBhc3NvY2lhdGVkIENMU0lELicsKSwKLSh1J01JTUUnLHUnQ29udGVudFR5cGUnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JyxOb25lLCB1J1ByaW1hcnkga2V5LiBDb250ZXh0IGlkZW50aWZpZXIsIHR5cGljYWxseSAidHlwZS9mb3JtYXQiLicsKSwKLSh1J01JTUUnLHUnRXh0ZW5zaW9uXycsdSdOJyxOb25lLCBOb25lLCB1J0V4dGVuc2lvbicsMSx1J1RleHQnLE5vbmUsIHUnT3B0aW9uYWwgYXNzb2NpYXRlZCBleHRlbnNpb24gKHdpdGhvdXQgZG90KScsKSwKLSh1J0ZlYXR1cmVDb21wb25lbnRzJyx1J0ZlYXR1cmVfJyx1J04nLE5vbmUsIE5vbmUsIHUnRmVhdHVyZScsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byBGZWF0dXJlIHRhYmxlLicsKSwKLSh1J0ZlYXR1cmVDb21wb25lbnRzJyx1J0NvbXBvbmVudF8nLHUnTicsTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J0ZvcmVpZ24ga2V5IGludG8gQ29tcG9uZW50IHRhYmxlLicsKSwKLSh1J0ZpbGVTRlBDYXRhbG9nJyx1J0ZpbGVfJyx1J04nLE5vbmUsIE5vbmUsIHUnRmlsZScsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnRmlsZSBhc3NvY2lhdGVkIHdpdGggdGhlIGNhdGFsb2cnLCksCi0odSdGaWxlU0ZQQ2F0YWxvZycsdSdTRlBDYXRhbG9nXycsdSdOJyxOb25lLCBOb25lLCB1J1NGUENhdGFsb2cnLDEsdSdGaWxlbmFtZScsTm9uZSwgdSdDYXRhbG9nIGFzc29jaWF0ZWQgd2l0aCB0aGUgZmlsZScsKSwKLSh1J1NGUENhdGFsb2cnLHUnU0ZQQ2F0YWxvZycsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0ZpbGVuYW1lJyxOb25lLCB1J0ZpbGUgbmFtZSBmb3IgdGhlIGNhdGFsb2cuJywpLAotKHUnU0ZQQ2F0YWxvZycsdSdDYXRhbG9nJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQmluYXJ5JyxOb25lLCB1J1NGUCBDYXRhbG9nJywpLAotKHUnU0ZQQ2F0YWxvZycsdSdEZXBlbmRlbmN5Jyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJyxOb25lLCB1J1BhcmVudCBjYXRhbG9nIC0gb25seSB1c2VkIGJ5IFNGUCcsKSwKLSh1J0ZvbnQnLHUnRmlsZV8nLHUnTicsTm9uZSwgTm9uZSwgdSdGaWxlJywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdQcmltYXJ5IGtleSwgZm9yZWlnbiBrZXkgaW50byBGaWxlIHRhYmxlIHJlZmVyZW5jaW5nIGZvbnQgZmlsZS4nLCksCi0odSdGb250Jyx1J0ZvbnRUaXRsZScsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnRm9udCBuYW1lLicsKSwKLSh1J0luaUZpbGUnLHUnQWN0aW9uJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnMDsxOzMnLHUnVGhlIHR5cGUgb2YgbW9kaWZpY2F0aW9uIHRvIGJlIG1hZGUsIG9uZSBvZiBpaWZFbnVtJywpLAotKHUnSW5pRmlsZScsdSdWYWx1ZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsTm9uZSwgdSdUaGUgdmFsdWUgdG8gYmUgd3JpdHRlbi4nLCksCi0odSdJbmlGaWxlJyx1J0NvbXBvbmVudF8nLHUnTicsTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J0ZvcmVpZ24ga2V5IGludG8gdGhlIENvbXBvbmVudCB0YWJsZSByZWZlcmVuY2luZyBjb21wb25lbnQgdGhhdCBjb250cm9scyB0aGUgaW5zdGFsbGluZyBvZiB0aGUgLklOSSB2YWx1ZS4nLCksCi0odSdJbmlGaWxlJyx1J0ZpbGVOYW1lJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRmlsZW5hbWUnLE5vbmUsIHUnVGhlIC5JTkkgZmlsZSBuYW1lIGluIHdoaWNoIHRvIHdyaXRlIHRoZSBpbmZvcm1hdGlvbicsKSwKLSh1J0luaUZpbGUnLHUnSW5pRmlsZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnUHJpbWFyeSBrZXksIG5vbi1sb2NhbGl6ZWQgdG9rZW4uJywpLAotKHUnSW5pRmlsZScsdSdEaXJQcm9wZXJ0eScsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byB0aGUgRGlyZWN0b3J5IHRhYmxlIGRlbm90aW5nIHRoZSBkaXJlY3Rvcnkgd2hlcmUgdGhlIC5JTkkgZmlsZSBpcy4nLCksCi0odSdJbmlGaWxlJyx1J0tleScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsTm9uZSwgdSdUaGUgLklOSSBmaWxlIGtleSBiZWxvdyBTZWN0aW9uLicsKSwKLSh1J0luaUZpbGUnLHUnU2VjdGlvbicsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsTm9uZSwgdSdUaGUgLklOSSBmaWxlIFNlY3Rpb24uJywpLAotKHUnSW5pTG9jYXRvcicsdSdUeXBlJyx1J1knLDAsMixOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0FuIGludGVnZXIgdmFsdWUgdGhhdCBkZXRlcm1pbmVzIGlmIHRoZSAuSU5JIHZhbHVlIHJlYWQgaXMgYSBmaWxlbmFtZSBvciBhIGRpcmVjdG9yeSBsb2NhdGlvbiBvciB0byBiZSB1c2VkIGFzIGlzIHcvbyBpbnRlcnByZXRhdGlvbi4nLCksCi0odSdJbmlMb2NhdG9yJyx1J1NpZ25hdHVyZV8nLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J1RoZSB0YWJsZSBrZXkuIFRoZSBTaWduYXR1cmVfIHJlcHJlc2VudHMgYSB1bmlxdWUgZmlsZSBzaWduYXR1cmUgYW5kIGlzIGFsc28gdGhlIGZvcmVpZ24ga2V5IGluIHRoZSBTaWduYXR1cmUgdGFibGUuJywpLAotKHUnSW5pTG9jYXRvcicsdSdGaWxlTmFtZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0ZpbGVuYW1lJyxOb25lLCB1J1RoZSAuSU5JIGZpbGUgbmFtZS4nLCksCi0odSdJbmlMb2NhdG9yJyx1J0tleScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnS2V5IHZhbHVlIChmb2xsb3dlZCBieSBhbiBlcXVhbHMgc2lnbiBpbiBJTkkgZmlsZSkuJywpLAotKHUnSW5pTG9jYXRvcicsdSdTZWN0aW9uJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgdSdTZWN0aW9uIG5hbWUgd2l0aGluIGluIGZpbGUgKHdpdGhpbiBzcXVhcmUgYnJhY2tldHMgaW4gSU5JIGZpbGUpLicsKSwKLSh1J0luaUxvY2F0b3InLHUnRmllbGQnLHUnWScsMCwzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSBmaWVsZCBpbiB0aGUgLklOSSBsaW5lLiBJZiBGaWVsZCBpcyBudWxsIG9yIDAgdGhlIGVudGlyZSBsaW5lIGlzIHJlYWQuJywpLAotKHUnSW5zdGFsbEV4ZWN1dGVTZXF1ZW5jZScsdSdBY3Rpb24nLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J05hbWUgb2YgYWN0aW9uIHRvIGludm9rZSwgZWl0aGVyIGluIHRoZSBlbmdpbmUgb3IgdGhlIGhhbmRsZXIgRExMLicsKSwKLSh1J0luc3RhbGxFeGVjdXRlU2VxdWVuY2UnLHUnQ29uZGl0aW9uJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQ29uZGl0aW9uJyxOb25lLCB1J09wdGlvbmFsIGV4cHJlc3Npb24gd2hpY2ggc2tpcHMgdGhlIGFjdGlvbiBpZiBldmFsdWF0ZXMgdG8gZXhwRmFsc2UuSWYgdGhlIGV4cHJlc3Npb24gc3ludGF4IGlzIGludmFsaWQsIHRoZSBlbmdpbmUgd2lsbCB0ZXJtaW5hdGUsIHJldHVybmluZyBpZXNCYWRBY3Rpb25EYXRhLicsKSwKLSh1J0luc3RhbGxFeGVjdXRlU2VxdWVuY2UnLHUnU2VxdWVuY2UnLHUnWScsLTQsMzI3NjcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdOdW1iZXIgdGhhdCBkZXRlcm1pbmVzIHRoZSBzb3J0IG9yZGVyIGluIHdoaWNoIHRoZSBhY3Rpb25zIGFyZSB0byBiZSBleGVjdXRlZC4gIExlYXZlIGJsYW5rIHRvIHN1cHByZXNzIGFjdGlvbi4nLCksCi0odSdJbnN0YWxsVUlTZXF1ZW5jZScsdSdBY3Rpb24nLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J05hbWUgb2YgYWN0aW9uIHRvIGludm9rZSwgZWl0aGVyIGluIHRoZSBlbmdpbmUgb3IgdGhlIGhhbmRsZXIgRExMLicsKSwKLSh1J0luc3RhbGxVSVNlcXVlbmNlJyx1J0NvbmRpdGlvbicsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0NvbmRpdGlvbicsTm9uZSwgdSdPcHRpb25hbCBleHByZXNzaW9uIHdoaWNoIHNraXBzIHRoZSBhY3Rpb24gaWYgZXZhbHVhdGVzIHRvIGV4cEZhbHNlLklmIHRoZSBleHByZXNzaW9uIHN5bnRheCBpcyBpbnZhbGlkLCB0aGUgZW5naW5lIHdpbGwgdGVybWluYXRlLCByZXR1cm5pbmcgaWVzQmFkQWN0aW9uRGF0YS4nLCksCi0odSdJbnN0YWxsVUlTZXF1ZW5jZScsdSdTZXF1ZW5jZScsdSdZJywtNCwzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J051bWJlciB0aGF0IGRldGVybWluZXMgdGhlIHNvcnQgb3JkZXIgaW4gd2hpY2ggdGhlIGFjdGlvbnMgYXJlIHRvIGJlIGV4ZWN1dGVkLiAgTGVhdmUgYmxhbmsgdG8gc3VwcHJlc3MgYWN0aW9uLicsKSwKLSh1J0lzb2xhdGVkQ29tcG9uZW50Jyx1J0NvbXBvbmVudF9BcHBsaWNhdGlvbicsdSdOJyxOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnS2V5IHRvIENvbXBvbmVudCB0YWJsZSBpdGVtIGZvciBhcHBsaWNhdGlvbicsKSwKLSh1J0lzb2xhdGVkQ29tcG9uZW50Jyx1J0NvbXBvbmVudF9TaGFyZWQnLHUnTicsTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J0tleSB0byBDb21wb25lbnQgdGFibGUgaXRlbSB0byBiZSBpc29sYXRlZCcsKSwKLSh1J0xhdW5jaENvbmRpdGlvbicsdSdEZXNjcmlwdGlvbicsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsTm9uZSwgdSdMb2NhbGl6YWJsZSB0ZXh0IHRvIGRpc3BsYXkgd2hlbiBjb25kaXRpb24gZmFpbHMgYW5kIGluc3RhbGwgbXVzdCBhYm9ydC4nLCksCi0odSdMYXVuY2hDb25kaXRpb24nLHUnQ29uZGl0aW9uJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQ29uZGl0aW9uJyxOb25lLCB1J0V4cHJlc3Npb24gd2hpY2ggbXVzdCBldmFsdWF0ZSB0byBUUlVFIGluIG9yZGVyIGZvciBpbnN0YWxsIHRvIGNvbW1lbmNlLicsKSwKLSh1J0xpc3RCb3gnLHUnVGV4dCcsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnVGhlIHZpc2libGUgdGV4dCB0byBiZSBhc3NpZ25lZCB0byB0aGUgaXRlbS4gT3B0aW9uYWwuIElmIHRoaXMgZW50cnkgb3IgdGhlIGVudGlyZSBjb2x1bW4gaXMgbWlzc2luZywgdGhlIHRleHQgaXMgdGhlIHNhbWUgYXMgdGhlIHZhbHVlLicsKSwKLSh1J0xpc3RCb3gnLHUnUHJvcGVydHknLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J0EgbmFtZWQgcHJvcGVydHkgdG8gYmUgdGllZCB0byB0aGlzIGl0ZW0uIEFsbCB0aGUgaXRlbXMgdGllZCB0byB0aGUgc2FtZSBwcm9wZXJ0eSBiZWNvbWUgcGFydCBvZiB0aGUgc2FtZSBsaXN0Ym94LicsKSwKLSh1J0xpc3RCb3gnLHUnVmFsdWUnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLE5vbmUsIHUnVGhlIHZhbHVlIHN0cmluZyBhc3NvY2lhdGVkIHdpdGggdGhpcyBpdGVtLiBTZWxlY3RpbmcgdGhlIGxpbmUgd2lsbCBzZXQgdGhlIGFzc29jaWF0ZWQgcHJvcGVydHkgdG8gdGhpcyB2YWx1ZS4nLCksCi0odSdMaXN0Qm94Jyx1J09yZGVyJyx1J04nLDEsMzI3NjcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdBIHBvc2l0aXZlIGludGVnZXIgdXNlZCB0byBkZXRlcm1pbmUgdGhlIG9yZGVyaW5nIG9mIHRoZSBpdGVtcyB3aXRoaW4gb25lIGxpc3QuLlRoZSBpbnRlZ2VycyBkbyBub3QgaGF2ZSB0byBiZSBjb25zZWN1dGl2ZS4nLCksCi0odSdMaXN0VmlldycsdSdUZXh0Jyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgdSdUaGUgdmlzaWJsZSB0ZXh0IHRvIGJlIGFzc2lnbmVkIHRvIHRoZSBpdGVtLiBPcHRpb25hbC4gSWYgdGhpcyBlbnRyeSBvciB0aGUgZW50aXJlIGNvbHVtbiBpcyBtaXNzaW5nLCB0aGUgdGV4dCBpcyB0aGUgc2FtZSBhcyB0aGUgdmFsdWUuJywpLAotKHUnTGlzdFZpZXcnLHUnUHJvcGVydHknLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J0EgbmFtZWQgcHJvcGVydHkgdG8gYmUgdGllZCB0byB0aGlzIGl0ZW0uIEFsbCB0aGUgaXRlbXMgdGllZCB0byB0aGUgc2FtZSBwcm9wZXJ0eSBiZWNvbWUgcGFydCBvZiB0aGUgc2FtZSBsaXN0dmlldy4nLCksCi0odSdMaXN0VmlldycsdSdWYWx1ZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnVGhlIHZhbHVlIHN0cmluZyBhc3NvY2lhdGVkIHdpdGggdGhpcyBpdGVtLiBTZWxlY3RpbmcgdGhlIGxpbmUgd2lsbCBzZXQgdGhlIGFzc29jaWF0ZWQgcHJvcGVydHkgdG8gdGhpcyB2YWx1ZS4nLCksCi0odSdMaXN0VmlldycsdSdPcmRlcicsdSdOJywxLDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQSBwb3NpdGl2ZSBpbnRlZ2VyIHVzZWQgdG8gZGV0ZXJtaW5lIHRoZSBvcmRlcmluZyBvZiB0aGUgaXRlbXMgd2l0aGluIG9uZSBsaXN0Li5UaGUgaW50ZWdlcnMgZG8gbm90IGhhdmUgdG8gYmUgY29uc2VjdXRpdmUuJywpLAotKHUnTGlzdFZpZXcnLHUnQmluYXJ5XycsdSdZJyxOb25lLCBOb25lLCB1J0JpbmFyeScsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnVGhlIG5hbWUgb2YgdGhlIGljb24gdG8gYmUgZGlzcGxheWVkIHdpdGggdGhlIGljb24uIFRoZSBiaW5hcnkgaW5mb3JtYXRpb24gaXMgbG9va2VkIHVwIGZyb20gdGhlIEJpbmFyeSBUYWJsZS4nLCksCi0odSdMb2NrUGVybWlzc2lvbnMnLHUnVGFibGUnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyx1J0RpcmVjdG9yeTtGaWxlO1JlZ2lzdHJ5Jyx1J1JlZmVyZW5jZSB0byBhbm90aGVyIHRhYmxlIG5hbWUnLCksCi0odSdMb2NrUGVybWlzc2lvbnMnLHUnRG9tYWluJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJyxOb25lLCB1J0RvbWFpbiBuYW1lIGZvciB1c2VyIHdob3NlIHBlcm1pc3Npb25zIGFyZSBiZWluZyBzZXQuICh1c3VhbGx5IGEgcHJvcGVydHkpJywpLAotKHUnTG9ja1Blcm1pc3Npb25zJyx1J0xvY2tPYmplY3QnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J0ZvcmVpZ24ga2V5IGludG8gUmVnaXN0cnkgb3IgRmlsZSB0YWJsZScsKSwKLSh1J0xvY2tQZXJtaXNzaW9ucycsdSdQZXJtaXNzaW9uJyx1J1knLC0yMTQ3NDgzNjQ3LDIxNDc0ODM2NDcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdQZXJtaXNzaW9uIEFjY2VzcyBtYXNrLiAgRnVsbCBDb250cm9sID0gMjY4NDM1NDU2IChHRU5FUklDX0FMTCA9IDB4MTAwMDAwMDApJywpLAotKHUnTG9ja1Blcm1pc3Npb25zJyx1J1VzZXInLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLE5vbmUsIHUnVXNlciBmb3IgcGVybWlzc2lvbnMgdG8gYmUgc2V0LiAgKHVzdWFsbHkgYSBwcm9wZXJ0eSknLCksCi0odSdNZWRpYScsdSdTb3VyY2UnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdQcm9wZXJ0eScsTm9uZSwgdSdUaGUgcHJvcGVydHkgZGVmaW5pbmcgdGhlIGxvY2F0aW9uIG9mIHRoZSBjYWJpbmV0IGZpbGUuJywpLAotKHUnTWVkaWEnLHUnQ2FiaW5ldCcsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0NhYmluZXQnLE5vbmUsIHUnSWYgc29tZSBvciBhbGwgb2YgdGhlIGZpbGVzIHN0b3JlZCBvbiB0aGUgbWVkaWEgYXJlIGNvbXByZXNzZWQgaW4gYSBjYWJpbmV0LCB0aGUgbmFtZSBvZiB0aGF0IGNhYmluZXQuJywpLAotKHUnTWVkaWEnLHUnRGlza0lkJyx1J04nLDEsMzI3NjcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdQcmltYXJ5IGtleSwgaW50ZWdlciB0byBkZXRlcm1pbmUgc29ydCBvcmRlciBmb3IgdGFibGUuJywpLAotKHUnTWVkaWEnLHUnRGlza1Byb21wdCcsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnRGlzayBuYW1lOiB0aGUgdmlzaWJsZSB0ZXh0IGFjdHVhbGx5IHByaW50ZWQgb24gdGhlIGRpc2suICBUaGlzIHdpbGwgYmUgdXNlZCB0byBwcm9tcHQgdGhlIHVzZXIgd2hlbiB0aGlzIGRpc2sgbmVlZHMgdG8gYmUgaW5zZXJ0ZWQuJywpLAotKHUnTWVkaWEnLHUnTGFzdFNlcXVlbmNlJyx1J04nLDAsMzI3NjcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGaWxlIHNlcXVlbmNlIG51bWJlciBmb3IgdGhlIGxhc3QgZmlsZSBmb3IgdGhpcyBtZWRpYS4nLCksCi0odSdNZWRpYScsdSdWb2x1bWVMYWJlbCcsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnVGhlIGxhYmVsIGF0dHJpYnV0ZWQgdG8gdGhlIHZvbHVtZS4nLCksCi0odSdNb2R1bGVDb21wb25lbnRzJyx1J0NvbXBvbmVudCcsdSdOJyxOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnQ29tcG9uZW50IGNvbnRhaW5lZCBpbiB0aGUgbW9kdWxlLicsKSwKLSh1J01vZHVsZUNvbXBvbmVudHMnLHUnTGFuZ3VhZ2UnLHUnTicsTm9uZSwgTm9uZSwgdSdNb2R1bGVTaWduYXR1cmUnLDIsTm9uZSwgTm9uZSwgdSdEZWZhdWx0IGxhbmd1YWdlIElEIGZvciBtb2R1bGUgKG1heSBiZSBjaGFuZ2VkIGJ5IHRyYW5zZm9ybSkuJywpLAotKHUnTW9kdWxlQ29tcG9uZW50cycsdSdNb2R1bGVJRCcsdSdOJyxOb25lLCBOb25lLCB1J01vZHVsZVNpZ25hdHVyZScsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnTW9kdWxlIGNvbnRhaW5pbmcgdGhlIGNvbXBvbmVudC4nLCksCi0odSdNb2R1bGVTaWduYXR1cmUnLHUnTGFuZ3VhZ2UnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdEZWZhdWx0IGRlY2ltYWwgbGFuZ3VhZ2Ugb2YgbW9kdWxlLicsKSwKLSh1J01vZHVsZVNpZ25hdHVyZScsdSdWZXJzaW9uJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVmVyc2lvbicsTm9uZSwgdSdWZXJzaW9uIG9mIHRoZSBtb2R1bGUuJywpLAotKHUnTW9kdWxlU2lnbmF0dXJlJyx1J01vZHVsZUlEJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdNb2R1bGUgaWRlbnRpZmllciAoU3RyaW5nLkdVSUQpLicsKSwKLSh1J01vZHVsZURlcGVuZGVuY3knLHUnTW9kdWxlSUQnLHUnTicsTm9uZSwgTm9uZSwgdSdNb2R1bGVTaWduYXR1cmUnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J01vZHVsZSByZXF1aXJpbmcgdGhlIGRlcGVuZGVuY3kuJywpLAotKHUnTW9kdWxlRGVwZW5kZW5jeScsdSdNb2R1bGVMYW5ndWFnZScsdSdOJyxOb25lLCBOb25lLCB1J01vZHVsZVNpZ25hdHVyZScsMixOb25lLCBOb25lLCB1J0xhbmd1YWdlIG9mIG1vZHVsZSByZXF1aXJpbmcgdGhlIGRlcGVuZGVuY3kuJywpLAotKHUnTW9kdWxlRGVwZW5kZW5jeScsdSdSZXF1aXJlZElEJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnU3RyaW5nLkdVSUQgb2YgcmVxdWlyZWQgbW9kdWxlLicsKSwKLSh1J01vZHVsZURlcGVuZGVuY3knLHUnUmVxdWlyZWRMYW5ndWFnZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0xhbmd1YWdlSUQgb2YgdGhlIHJlcXVpcmVkIG1vZHVsZS4nLCksCi0odSdNb2R1bGVEZXBlbmRlbmN5Jyx1J1JlcXVpcmVkVmVyc2lvbicsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1ZlcnNpb24nLE5vbmUsIHUnVmVyc2lvbiBvZiB0aGUgcmVxdWlyZWQgdmVyc2lvbi4nLCksCi0odSdNb2R1bGVFeGNsdXNpb24nLHUnTW9kdWxlSUQnLHUnTicsTm9uZSwgTm9uZSwgdSdNb2R1bGVTaWduYXR1cmUnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J1N0cmluZy5HVUlEIG9mIG1vZHVsZSB3aXRoIGV4Y2x1c2lvbiByZXF1aXJlbWVudC4nLCksCi0odSdNb2R1bGVFeGNsdXNpb24nLHUnTW9kdWxlTGFuZ3VhZ2UnLHUnTicsTm9uZSwgTm9uZSwgdSdNb2R1bGVTaWduYXR1cmUnLDIsTm9uZSwgTm9uZSwgdSdMYW5ndWFnZUlEIG9mIG1vZHVsZSB3aXRoIGV4Y2x1c2lvbiByZXF1aXJlbWVudC4nLCksCi0odSdNb2R1bGVFeGNsdXNpb24nLHUnRXhjbHVkZWRJRCcsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1N0cmluZy5HVUlEIG9mIGV4Y2x1ZGVkIG1vZHVsZS4nLCksCi0odSdNb2R1bGVFeGNsdXNpb24nLHUnRXhjbHVkZWRMYW5ndWFnZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0xhbmd1YWdlIG9mIGV4Y2x1ZGVkIG1vZHVsZS4nLCksCi0odSdNb2R1bGVFeGNsdXNpb24nLHUnRXhjbHVkZWRNYXhWZXJzaW9uJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVmVyc2lvbicsTm9uZSwgdSdNYXhpbXVtIHZlcnNpb24gb2YgZXhjbHVkZWQgbW9kdWxlLicsKSwKLSh1J01vZHVsZUV4Y2x1c2lvbicsdSdFeGNsdWRlZE1pblZlcnNpb24nLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdWZXJzaW9uJyxOb25lLCB1J01pbmltdW0gdmVyc2lvbiBvZiBleGNsdWRlZCBtb2R1bGUuJywpLAotKHUnTW92ZUZpbGUnLHUnQ29tcG9uZW50XycsdSdOJyxOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnSWYgdGhpcyBjb21wb25lbnQgaXMgbm90ICJzZWxlY3RlZCIgZm9yIGluc3RhbGxhdGlvbiBvciByZW1vdmFsLCBubyBhY3Rpb24gd2lsbCBiZSB0YWtlbiBvbiB0aGUgYXNzb2NpYXRlZCBNb3ZlRmlsZSBlbnRyeScsKSwKLSh1J01vdmVGaWxlJyx1J0Rlc3RGb2xkZXInLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J05hbWUgb2YgYSBwcm9wZXJ0eSB3aG9zZSB2YWx1ZSBpcyBhc3N1bWVkIHRvIHJlc29sdmUgdG8gdGhlIGZ1bGwgcGF0aCB0byB0aGUgZGVzdGluYXRpb24gZGlyZWN0b3J5JywpLAotKHUnTW92ZUZpbGUnLHUnRGVzdE5hbWUnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGaWxlbmFtZScsTm9uZSwgdSdOYW1lIHRvIGJlIGdpdmVuIHRvIHRoZSBvcmlnaW5hbCBmaWxlIGFmdGVyIGl0IGlzIG1vdmVkIG9yIGNvcGllZC4gIElmIGJsYW5rLCB0aGUgZGVzdGluYXRpb24gZmlsZSB3aWxsIGJlIGdpdmVuIHRoZSBzYW1lIG5hbWUgYXMgdGhlIHNvdXJjZSBmaWxlJywpLAotKHUnTW92ZUZpbGUnLHUnRmlsZUtleScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnUHJpbWFyeSBrZXkgdGhhdCB1bmlxdWVseSBpZGVudGlmaWVzIGEgcGFydGljdWxhciBNb3ZlRmlsZSByZWNvcmQnLCksCi0odSdNb3ZlRmlsZScsdSdPcHRpb25zJyx1J04nLDAsMSxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0ludGVnZXIgdmFsdWUgc3BlY2lmeWluZyB0aGUgTW92ZUZpbGUgb3BlcmF0aW5nIG1vZGUsIG9uZSBvZiBpbWZvRW51bScsKSwKLSh1J01vdmVGaWxlJyx1J1NvdXJjZUZvbGRlcicsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnTmFtZSBvZiBhIHByb3BlcnR5IHdob3NlIHZhbHVlIGlzIGFzc3VtZWQgdG8gcmVzb2x2ZSB0byB0aGUgZnVsbCBwYXRoIHRvIHRoZSBzb3VyY2UgZGlyZWN0b3J5JywpLAotKHUnTW92ZUZpbGUnLHUnU291cmNlTmFtZScsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUiTmFtZSBvZiB0aGUgc291cmNlIGZpbGUocykgdG8gYmUgbW92ZWQgb3IgY29waWVkLiAgQ2FuIGNvbnRhaW4gdGhlICcqJyBvciAnPycgd2lsZGNhcmRzLiIsKSwKLSh1J01zaUFzc2VtYmx5Jyx1J0F0dHJpYnV0ZXMnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdBc3NlbWJseSBhdHRyaWJ1dGVzJywpLAotKHUnTXNpQXNzZW1ibHknLHUnRmVhdHVyZV8nLHUnTicsTm9uZSwgTm9uZSwgdSdGZWF0dXJlJywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdGb3JlaWduIGtleSBpbnRvIEZlYXR1cmUgdGFibGUuJywpLAotKHUnTXNpQXNzZW1ibHknLHUnQ29tcG9uZW50XycsdSdOJyxOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byBDb21wb25lbnQgdGFibGUuJywpLAotKHUnTXNpQXNzZW1ibHknLHUnRmlsZV9BcHBsaWNhdGlvbicsdSdZJyxOb25lLCBOb25lLCB1J0ZpbGUnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J0ZvcmVpZ24ga2V5IGludG8gRmlsZSB0YWJsZSwgZGVub3RpbmcgdGhlIGFwcGxpY2F0aW9uIGNvbnRleHQgZm9yIHByaXZhdGUgYXNzZW1ibGllcy4gTnVsbCBmb3IgZ2xvYmFsIGFzc2VtYmxpZXMuJywpLAotKHUnTXNpQXNzZW1ibHknLHUnRmlsZV9NYW5pZmVzdCcsdSdZJyxOb25lLCBOb25lLCB1J0ZpbGUnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J0ZvcmVpZ24ga2V5IGludG8gdGhlIEZpbGUgdGFibGUgZGVub3RpbmcgdGhlIG1hbmlmZXN0IGZpbGUgZm9yIHRoZSBhc3NlbWJseS4nLCksCi0odSdNc2lBc3NlbWJseU5hbWUnLHUnTmFtZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnVGhlIG5hbWUgcGFydCBvZiB0aGUgbmFtZS12YWx1ZSBwYWlycyBmb3IgdGhlIGFzc2VtYmx5IG5hbWUuJywpLAotKHUnTXNpQXNzZW1ibHlOYW1lJyx1J1ZhbHVlJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgdSdUaGUgdmFsdWUgcGFydCBvZiB0aGUgbmFtZS12YWx1ZSBwYWlycyBmb3IgdGhlIGFzc2VtYmx5IG5hbWUuJywpLAotKHUnTXNpQXNzZW1ibHlOYW1lJyx1J0NvbXBvbmVudF8nLHUnTicsTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J0ZvcmVpZ24ga2V5IGludG8gQ29tcG9uZW50IHRhYmxlLicsKSwKLSh1J01zaURpZ2l0YWxDZXJ0aWZpY2F0ZScsdSdDZXJ0RGF0YScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0JpbmFyeScsTm9uZSwgdSdBIGNlcnRpZmljYXRlIGNvbnRleHQgYmxvYiBmb3IgYSBzaWduZXIgY2VydGlmaWNhdGUnLCksCi0odSdNc2lEaWdpdGFsQ2VydGlmaWNhdGUnLHUnRGlnaXRhbENlcnRpZmljYXRlJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdBIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgcm93JywpLAotKHUnTXNpRGlnaXRhbFNpZ25hdHVyZScsdSdUYWJsZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J01lZGlhJyx1J1JlZmVyZW5jZSB0byBhbm90aGVyIHRhYmxlIG5hbWUgKG9ubHkgTWVkaWEgdGFibGUgaXMgc3VwcG9ydGVkKScsKSwKLSh1J01zaURpZ2l0YWxTaWduYXR1cmUnLHUnRGlnaXRhbENlcnRpZmljYXRlXycsdSdOJyxOb25lLCBOb25lLCB1J01zaURpZ2l0YWxDZXJ0aWZpY2F0ZScsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnRm9yZWlnbiBrZXkgdG8gTXNpRGlnaXRhbENlcnRpZmljYXRlIHRhYmxlIGlkZW50aWZ5aW5nIHRoZSBzaWduZXIgY2VydGlmaWNhdGUnLCksCi0odSdNc2lEaWdpdGFsU2lnbmF0dXJlJyx1J0hhc2gnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdCaW5hcnknLE5vbmUsIHUnVGhlIGVuY29kZWQgaGFzaCBibG9iIGZyb20gdGhlIGRpZ2l0YWwgc2lnbmF0dXJlJywpLAotKHUnTXNpRGlnaXRhbFNpZ25hdHVyZScsdSdTaWduT2JqZWN0Jyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgdSdGb3JlaWduIGtleSB0byBNZWRpYSB0YWJsZScsKSwKLSh1J01zaUZpbGVIYXNoJyx1J0ZpbGVfJyx1J04nLE5vbmUsIE5vbmUsIHUnRmlsZScsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnUHJpbWFyeSBrZXksIGZvcmVpZ24ga2V5IGludG8gRmlsZSB0YWJsZSByZWZlcmVuY2luZyBmaWxlIHdpdGggdGhpcyBoYXNoJywpLAotKHUnTXNpRmlsZUhhc2gnLHUnT3B0aW9ucycsdSdOJywwLDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVmFyaW91cyBvcHRpb25zIGFuZCBhdHRyaWJ1dGVzIGZvciB0aGlzIGhhc2guJywpLAotKHUnTXNpRmlsZUhhc2gnLHUnSGFzaFBhcnQxJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnU2l6ZSBvZiBmaWxlIGluIGJ5dGVzIChsb25nIGludGVnZXIpLicsKSwKLSh1J01zaUZpbGVIYXNoJyx1J0hhc2hQYXJ0MicsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1NpemUgb2YgZmlsZSBpbiBieXRlcyAobG9uZyBpbnRlZ2VyKS4nLCksCi0odSdNc2lGaWxlSGFzaCcsdSdIYXNoUGFydDMnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdTaXplIG9mIGZpbGUgaW4gYnl0ZXMgKGxvbmcgaW50ZWdlcikuJywpLAotKHUnTXNpRmlsZUhhc2gnLHUnSGFzaFBhcnQ0Jyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnU2l6ZSBvZiBmaWxlIGluIGJ5dGVzIChsb25nIGludGVnZXIpLicsKSwKLSh1J01zaVBhdGNoSGVhZGVycycsdSdTdHJlYW1SZWYnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J1ByaW1hcnkga2V5LiBBIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgcm93LicsKSwKLSh1J01zaVBhdGNoSGVhZGVycycsdSdIZWFkZXInLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdCaW5hcnknLE5vbmUsIHUnQmluYXJ5IHN0cmVhbS4gVGhlIHBhdGNoIGhlYWRlciwgdXNlZCBmb3IgcGF0Y2ggdmFsaWRhdGlvbi4nLCksCi0odSdPREJDQXR0cmlidXRlJyx1J1ZhbHVlJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgdSdWYWx1ZSBmb3IgT0RCQyBkcml2ZXIgYXR0cmlidXRlJywpLAotKHUnT0RCQ0F0dHJpYnV0ZScsdSdBdHRyaWJ1dGUnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JyxOb25lLCB1J05hbWUgb2YgT0RCQyBkcml2ZXIgYXR0cmlidXRlJywpLAotKHUnT0RCQ0F0dHJpYnV0ZScsdSdEcml2ZXJfJyx1J04nLE5vbmUsIE5vbmUsIHUnT0RCQ0RyaXZlcicsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnUmVmZXJlbmNlIHRvIE9EQkMgZHJpdmVyIGluIE9EQkNEcml2ZXIgdGFibGUnLCksCi0odSdPREJDRHJpdmVyJyx1J0Rlc2NyaXB0aW9uJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgdSdUZXh0IHVzZWQgYXMgcmVnaXN0ZXJlZCBuYW1lIGZvciBkcml2ZXIsIG5vbi1sb2NhbGl6ZWQnLCksCi0odSdPREJDRHJpdmVyJyx1J0ZpbGVfJyx1J04nLE5vbmUsIE5vbmUsIHUnRmlsZScsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnUmVmZXJlbmNlIHRvIGtleSBkcml2ZXIgZmlsZScsKSwKLSh1J09EQkNEcml2ZXInLHUnQ29tcG9uZW50XycsdSdOJyxOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnUmVmZXJlbmNlIHRvIGFzc29jaWF0ZWQgY29tcG9uZW50JywpLAotKHUnT0RCQ0RyaXZlcicsdSdEcml2ZXInLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J1ByaW1hcnkga2V5LCBub24tbG9jYWxpemVkLmludGVybmFsIHRva2VuIGZvciBkcml2ZXInLCksCi0odSdPREJDRHJpdmVyJyx1J0ZpbGVfU2V0dXAnLHUnWScsTm9uZSwgTm9uZSwgdSdGaWxlJywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdPcHRpb25hbCByZWZlcmVuY2UgdG8ga2V5IGRyaXZlciBzZXR1cCBETEwnLCksCi0odSdPREJDRGF0YVNvdXJjZScsdSdEZXNjcmlwdGlvbicsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnVGV4dCB1c2VkIGFzIHJlZ2lzdGVyZWQgbmFtZSBmb3IgZGF0YSBzb3VyY2UnLCksCi0odSdPREJDRGF0YVNvdXJjZScsdSdDb21wb25lbnRfJyx1J04nLE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdSZWZlcmVuY2UgdG8gYXNzb2NpYXRlZCBjb21wb25lbnQnLCksCi0odSdPREJDRGF0YVNvdXJjZScsdSdEYXRhU291cmNlJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdQcmltYXJ5IGtleSwgbm9uLWxvY2FsaXplZC5pbnRlcm5hbCB0b2tlbiBmb3IgZGF0YSBzb3VyY2UnLCksCi0odSdPREJDRGF0YVNvdXJjZScsdSdEcml2ZXJEZXNjcmlwdGlvbicsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnUmVmZXJlbmNlIHRvIGRyaXZlciBkZXNjcmlwdGlvbiwgbWF5IGJlIGV4aXN0aW5nIGRyaXZlcicsKSwKLSh1J09EQkNEYXRhU291cmNlJyx1J1JlZ2lzdHJhdGlvbicsdSdOJywwLDEsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdSZWdpc3RyYXRpb24gb3B0aW9uOiAwPW1hY2hpbmUsIDE9dXNlciwgb3RoZXJzIHQuYi5kLicsKSwKLSh1J09EQkNTb3VyY2VBdHRyaWJ1dGUnLHUnVmFsdWUnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JyxOb25lLCB1J1ZhbHVlIGZvciBPREJDIGRhdGEgc291cmNlIGF0dHJpYnV0ZScsKSwKLSh1J09EQkNTb3VyY2VBdHRyaWJ1dGUnLHUnQXR0cmlidXRlJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgdSdOYW1lIG9mIE9EQkMgZGF0YSBzb3VyY2UgYXR0cmlidXRlJywpLAotKHUnT0RCQ1NvdXJjZUF0dHJpYnV0ZScsdSdEYXRhU291cmNlXycsdSdOJyxOb25lLCBOb25lLCB1J09EQkNEYXRhU291cmNlJywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdSZWZlcmVuY2UgdG8gT0RCQyBkYXRhIHNvdXJjZSBpbiBPREJDRGF0YVNvdXJjZSB0YWJsZScsKSwKLSh1J09EQkNUcmFuc2xhdG9yJyx1J0Rlc2NyaXB0aW9uJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgdSdUZXh0IHVzZWQgYXMgcmVnaXN0ZXJlZCBuYW1lIGZvciB0cmFuc2xhdG9yJywpLAotKHUnT0RCQ1RyYW5zbGF0b3InLHUnRmlsZV8nLHUnTicsTm9uZSwgTm9uZSwgdSdGaWxlJywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdSZWZlcmVuY2UgdG8ga2V5IHRyYW5zbGF0b3IgZmlsZScsKSwKLSh1J09EQkNUcmFuc2xhdG9yJyx1J0NvbXBvbmVudF8nLHUnTicsTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J1JlZmVyZW5jZSB0byBhc3NvY2lhdGVkIGNvbXBvbmVudCcsKSwKLSh1J09EQkNUcmFuc2xhdG9yJyx1J0ZpbGVfU2V0dXAnLHUnWScsTm9uZSwgTm9uZSwgdSdGaWxlJywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdPcHRpb25hbCByZWZlcmVuY2UgdG8ga2V5IHRyYW5zbGF0b3Igc2V0dXAgRExMJywpLAotKHUnT0RCQ1RyYW5zbGF0b3InLHUnVHJhbnNsYXRvcicsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnUHJpbWFyeSBrZXksIG5vbi1sb2NhbGl6ZWQuaW50ZXJuYWwgdG9rZW4gZm9yIHRyYW5zbGF0b3InLCksCi0odSdQYXRjaCcsdSdTZXF1ZW5jZScsdSdOJywwLDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnUHJpbWFyeSBrZXksIHNlcXVlbmNlIHdpdGggcmVzcGVjdCB0byB0aGUgbWVkaWEgaW1hZ2VzOyBvcmRlciBtdXN0IHRyYWNrIGNhYmluZXQgb3JkZXIuJywpLAotKHUnUGF0Y2gnLHUnQXR0cmlidXRlcycsdSdOJywwLDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSW50ZWdlciBjb250YWluaW5nIGJpdCBmbGFncyByZXByZXNlbnRpbmcgcGF0Y2ggYXR0cmlidXRlcycsKSwKLSh1J1BhdGNoJyx1J0ZpbGVfJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdQcmltYXJ5IGtleSwgbm9uLWxvY2FsaXplZCB0b2tlbiwgZm9yZWlnbiBrZXkgdG8gRmlsZSB0YWJsZSwgbXVzdCBtYXRjaCBpZGVudGlmaWVyIGluIGNhYmluZXQuJywpLAotKHUnUGF0Y2gnLHUnSGVhZGVyJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQmluYXJ5JyxOb25lLCB1J0JpbmFyeSBzdHJlYW0uIFRoZSBwYXRjaCBoZWFkZXIsIHVzZWQgZm9yIHBhdGNoIHZhbGlkYXRpb24uJywpLAotKHUnUGF0Y2gnLHUnUGF0Y2hTaXplJyx1J04nLDAsMjE0NzQ4MzY0NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1NpemUgb2YgcGF0Y2ggaW4gYnl0ZXMgKGxvbmcgaW50ZWdlcikuJywpLAotKHUnUGF0Y2gnLHUnU3RyZWFtUmVmXycsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnSWRlbnRpZmllci4gRm9yZWlnbiBrZXkgdG8gdGhlIFN0cmVhbVJlZiBjb2x1bW4gb2YgdGhlIE1zaVBhdGNoSGVhZGVycyB0YWJsZS4nLCksCi0odSdQYXRjaFBhY2thZ2UnLHUnTWVkaWFfJyx1J04nLDAsMzI3NjcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JlaWduIGtleSB0byBEaXNrSWQgY29sdW1uIG9mIE1lZGlhIHRhYmxlLiBJbmRpY2F0ZXMgdGhlIGRpc2sgY29udGFpbmluZyB0aGUgcGF0Y2ggcGFja2FnZS4nLCksCi0odSdQYXRjaFBhY2thZ2UnLHUnUGF0Y2hJZCcsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0d1aWQnLE5vbmUsIHUnQSB1bmlxdWUgc3RyaW5nIEdVSUQgcmVwcmVzZW50aW5nIHRoaXMgcGF0Y2guJywpLAotKHUnUHVibGlzaENvbXBvbmVudCcsdSdGZWF0dXJlXycsdSdOJyxOb25lLCBOb25lLCB1J0ZlYXR1cmUnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J0ZvcmVpZ24ga2V5IGludG8gdGhlIEZlYXR1cmUgdGFibGUuJywpLAotKHUnUHVibGlzaENvbXBvbmVudCcsdSdDb21wb25lbnRfJyx1J04nLE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdGb3JlaWduIGtleSBpbnRvIHRoZSBDb21wb25lbnQgdGFibGUuJywpLAotKHUnUHVibGlzaENvbXBvbmVudCcsdSdDb21wb25lbnRJZCcsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0d1aWQnLE5vbmUsIHUnQSBzdHJpbmcgR1VJRCB0aGF0IHJlcHJlc2VudHMgdGhlIGNvbXBvbmVudCBpZCB0aGF0IHdpbGwgYmUgcmVxdWVzdGVkIGJ5IHRoZSBhbGllbiBwcm9kdWN0LicsKSwKLSh1J1B1Ymxpc2hDb21wb25lbnQnLHUnQXBwRGF0YScsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnVGhpcyBpcyBsb2NhbGlzYWJsZSBBcHBsaWNhdGlvbiBzcGVjaWZpYyBkYXRhIHRoYXQgY2FuIGJlIGFzc29jaWF0ZWQgd2l0aCBhIFF1YWxpZmllZCBDb21wb25lbnQuJywpLAotKHUnUHVibGlzaENvbXBvbmVudCcsdSdRdWFsaWZpZXInLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JyxOb25lLCB1J1RoaXMgaXMgZGVmaW5lZCBvbmx5IHdoZW4gdGhlIENvbXBvbmVudElkIGNvbHVtbiBpcyBhbiBRdWFsaWZpZWQgQ29tcG9uZW50IElkLiBUaGlzIGlzIHRoZSBRdWFsaWZpZXIgZm9yIFByb3ZpZGVDb21wb25lbnRJbmRpcmVjdC4nLCksCi0odSdSYWRpb0J1dHRvbicsdSdZJyx1J04nLDAsMzI3NjcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUaGUgdmVydGljYWwgY29vcmRpbmF0ZSBvZiB0aGUgdXBwZXIgbGVmdCBjb3JuZXIgb2YgdGhlIGJvdW5kaW5nIHJlY3RhbmdsZSBvZiB0aGUgcmFkaW8gYnV0dG9uLicsKSwKLSh1J1JhZGlvQnV0dG9uJyx1J1RleHQnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JyxOb25lLCB1J1RoZSB2aXNpYmxlIHRpdGxlIHRvIGJlIGFzc2lnbmVkIHRvIHRoZSByYWRpbyBidXR0b24uJywpLAotKHUnUmFkaW9CdXR0b24nLHUnUHJvcGVydHknLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J0EgbmFtZWQgcHJvcGVydHkgdG8gYmUgdGllZCB0byB0aGlzIHJhZGlvIGJ1dHRvbi4gQWxsIHRoZSBidXR0b25zIHRpZWQgdG8gdGhlIHNhbWUgcHJvcGVydHkgYmVjb21lIHBhcnQgb2YgdGhlIHNhbWUgZ3JvdXAuJywpLAotKHUnUmFkaW9CdXR0b24nLHUnSGVpZ2h0Jyx1J04nLDAsMzI3NjcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUaGUgaGVpZ2h0IG9mIHRoZSBidXR0b24uJywpLAotKHUnUmFkaW9CdXR0b24nLHUnV2lkdGgnLHUnTicsMCwzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSB3aWR0aCBvZiB0aGUgYnV0dG9uLicsKSwKLSh1J1JhZGlvQnV0dG9uJyx1J1gnLHUnTicsMCwzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSBob3Jpem9udGFsIGNvb3JkaW5hdGUgb2YgdGhlIHVwcGVyIGxlZnQgY29ybmVyIG9mIHRoZSBib3VuZGluZyByZWN0YW5nbGUgb2YgdGhlIHJhZGlvIGJ1dHRvbi4nLCksCi0odSdSYWRpb0J1dHRvbicsdSdWYWx1ZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsTm9uZSwgdSdUaGUgdmFsdWUgc3RyaW5nIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGJ1dHRvbi4gU2VsZWN0aW5nIHRoZSBidXR0b24gd2lsbCBzZXQgdGhlIGFzc29jaWF0ZWQgcHJvcGVydHkgdG8gdGhpcyB2YWx1ZS4nLCksCi0odSdSYWRpb0J1dHRvbicsdSdPcmRlcicsdSdOJywxLDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQSBwb3NpdGl2ZSBpbnRlZ2VyIHVzZWQgdG8gZGV0ZXJtaW5lIHRoZSBvcmRlcmluZyBvZiB0aGUgaXRlbXMgd2l0aGluIG9uZSBsaXN0Li5UaGUgaW50ZWdlcnMgZG8gbm90IGhhdmUgdG8gYmUgY29uc2VjdXRpdmUuJywpLAotKHUnUmFkaW9CdXR0b24nLHUnSGVscCcsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnVGhlIGhlbHAgc3RyaW5ncyB1c2VkIHdpdGggdGhlIGJ1dHRvbi4gVGhlIHRleHQgaXMgb3B0aW9uYWwuJywpLAotKHUnUmVnaXN0cnknLHUnTmFtZScsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsTm9uZSwgdSdUaGUgcmVnaXN0cnkgdmFsdWUgbmFtZS4nLCksCi0odSdSZWdpc3RyeScsdSdWYWx1ZScsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsTm9uZSwgdSdUaGUgcmVnaXN0cnkgdmFsdWUuJywpLAotKHUnUmVnaXN0cnknLHUnQ29tcG9uZW50XycsdSdOJyxOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byB0aGUgQ29tcG9uZW50IHRhYmxlIHJlZmVyZW5jaW5nIGNvbXBvbmVudCB0aGF0IGNvbnRyb2xzIHRoZSBpbnN0YWxsaW5nIG9mIHRoZSByZWdpc3RyeSB2YWx1ZS4nLCksCi0odSdSZWdpc3RyeScsdSdLZXknLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdSZWdQYXRoJyxOb25lLCB1J1RoZSBrZXkgZm9yIHRoZSByZWdpc3RyeSB2YWx1ZS4nLCksCi0odSdSZWdpc3RyeScsdSdSZWdpc3RyeScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnUHJpbWFyeSBrZXksIG5vbi1sb2NhbGl6ZWQgdG9rZW4uJywpLAotKHUnUmVnaXN0cnknLHUnUm9vdCcsdSdOJywtMSwzLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGhlIHByZWRlZmluZWQgcm9vdCBrZXkgZm9yIHRoZSByZWdpc3RyeSB2YWx1ZSwgb25lIG9mIHJya0VudW0uJywpLAotKHUnUmVnTG9jYXRvcicsdSdOYW1lJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJyxOb25lLCB1J1RoZSByZWdpc3RyeSB2YWx1ZSBuYW1lLicsKSwKLSh1J1JlZ0xvY2F0b3InLHUnVHlwZScsdSdZJywwLDE4LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQW4gaW50ZWdlciB2YWx1ZSB0aGF0IGRldGVybWluZXMgaWYgdGhlIHJlZ2lzdHJ5IHZhbHVlIGlzIGEgZmlsZW5hbWUgb3IgYSBkaXJlY3RvcnkgbG9jYXRpb24gb3IgdG8gYmUgdXNlZCBhcyBpcyB3L28gaW50ZXJwcmV0YXRpb24uJywpLAotKHUnUmVnTG9jYXRvcicsdSdTaWduYXR1cmVfJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdUaGUgdGFibGUga2V5LiBUaGUgU2lnbmF0dXJlXyByZXByZXNlbnRzIGEgdW5pcXVlIGZpbGUgc2lnbmF0dXJlIGFuZCBpcyBhbHNvIHRoZSBmb3JlaWduIGtleSBpbiB0aGUgU2lnbmF0dXJlIHRhYmxlLiBJZiB0aGUgdHlwZSBpcyAwLCB0aGUgcmVnaXN0cnkgdmFsdWVzIHJlZmVycyBhIGRpcmVjdG9yeSwgYW5kIF9TaWduYXR1cmUgaXMgbm90IGEgZm9yZWlnbiBrZXkuJywpLAotKHUnUmVnTG9jYXRvcicsdSdLZXknLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdSZWdQYXRoJyxOb25lLCB1J1RoZSBrZXkgZm9yIHRoZSByZWdpc3RyeSB2YWx1ZS4nLCksCi0odSdSZWdMb2NhdG9yJyx1J1Jvb3QnLHUnTicsMCwzLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGhlIHByZWRlZmluZWQgcm9vdCBrZXkgZm9yIHRoZSByZWdpc3RyeSB2YWx1ZSwgb25lIG9mIHJya0VudW0uJywpLAotKHUnUmVtb3ZlRmlsZScsdSdDb21wb25lbnRfJyx1J04nLE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdGb3JlaWduIGtleSByZWZlcmVuY2luZyBDb21wb25lbnQgdGhhdCBjb250cm9scyB0aGUgZmlsZSB0byBiZSByZW1vdmVkLicsKSwKLSh1J1JlbW92ZUZpbGUnLHUnRmlsZUtleScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnUHJpbWFyeSBrZXkgdXNlZCB0byBpZGVudGlmeSBhIHBhcnRpY3VsYXIgZmlsZSBlbnRyeScsKSwKLSh1J1JlbW92ZUZpbGUnLHUnRmlsZU5hbWUnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdXaWxkQ2FyZEZpbGVuYW1lJyxOb25lLCB1J05hbWUgb2YgdGhlIGZpbGUgdG8gYmUgcmVtb3ZlZC4nLCksCi0odSdSZW1vdmVGaWxlJyx1J0RpclByb3BlcnR5Jyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdOYW1lIG9mIGEgcHJvcGVydHkgd2hvc2UgdmFsdWUgaXMgYXNzdW1lZCB0byByZXNvbHZlIHRvIHRoZSBmdWxsIHBhdGhuYW1lIHRvIHRoZSBmb2xkZXIgb2YgdGhlIGZpbGUgdG8gYmUgcmVtb3ZlZC4nLCksCi0odSdSZW1vdmVGaWxlJyx1J0luc3RhbGxNb2RlJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnMTsyOzMnLHUnSW5zdGFsbGF0aW9uIG9wdGlvbiwgb25lIG9mIGlpbUVudW0uJywpLAotKHUnUmVtb3ZlSW5pRmlsZScsdSdBY3Rpb24nLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdScyOzQnLHUnVGhlIHR5cGUgb2YgbW9kaWZpY2F0aW9uIHRvIGJlIG1hZGUsIG9uZSBvZiBpaWZFbnVtLicsKSwKLSh1J1JlbW92ZUluaUZpbGUnLHUnVmFsdWUnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLE5vbmUsIHUnVGhlIHZhbHVlIHRvIGJlIGRlbGV0ZWQuIFRoZSB2YWx1ZSBpcyByZXF1aXJlZCB3aGVuIEFjdGlvbiBpcyBpaWZJbmlSZW1vdmVUYWcnLCksCi0odSdSZW1vdmVJbmlGaWxlJyx1J0NvbXBvbmVudF8nLHUnTicsTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J0ZvcmVpZ24ga2V5IGludG8gdGhlIENvbXBvbmVudCB0YWJsZSByZWZlcmVuY2luZyBjb21wb25lbnQgdGhhdCBjb250cm9scyB0aGUgZGVsZXRpb24gb2YgdGhlIC5JTkkgdmFsdWUuJywpLAotKHUnUmVtb3ZlSW5pRmlsZScsdSdGaWxlTmFtZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0ZpbGVuYW1lJyxOb25lLCB1J1RoZSAuSU5JIGZpbGUgbmFtZSBpbiB3aGljaCB0byBkZWxldGUgdGhlIGluZm9ybWF0aW9uJywpLAotKHUnUmVtb3ZlSW5pRmlsZScsdSdEaXJQcm9wZXJ0eScsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byB0aGUgRGlyZWN0b3J5IHRhYmxlIGRlbm90aW5nIHRoZSBkaXJlY3Rvcnkgd2hlcmUgdGhlIC5JTkkgZmlsZSBpcy4nLCksCi0odSdSZW1vdmVJbmlGaWxlJyx1J0tleScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsTm9uZSwgdSdUaGUgLklOSSBmaWxlIGtleSBiZWxvdyBTZWN0aW9uLicsKSwKLSh1J1JlbW92ZUluaUZpbGUnLHUnU2VjdGlvbicsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsTm9uZSwgdSdUaGUgLklOSSBmaWxlIFNlY3Rpb24uJywpLAotKHUnUmVtb3ZlSW5pRmlsZScsdSdSZW1vdmVJbmlGaWxlJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdQcmltYXJ5IGtleSwgbm9uLWxvY2FsaXplZCB0b2tlbi4nLCksCi0odSdSZW1vdmVSZWdpc3RyeScsdSdOYW1lJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJyxOb25lLCB1J1RoZSByZWdpc3RyeSB2YWx1ZSBuYW1lLicsKSwKLSh1J1JlbW92ZVJlZ2lzdHJ5Jyx1J0NvbXBvbmVudF8nLHUnTicsTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J0ZvcmVpZ24ga2V5IGludG8gdGhlIENvbXBvbmVudCB0YWJsZSByZWZlcmVuY2luZyBjb21wb25lbnQgdGhhdCBjb250cm9scyB0aGUgZGVsZXRpb24gb2YgdGhlIHJlZ2lzdHJ5IHZhbHVlLicsKSwKLSh1J1JlbW92ZVJlZ2lzdHJ5Jyx1J0tleScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1JlZ1BhdGgnLE5vbmUsIHUnVGhlIGtleSBmb3IgdGhlIHJlZ2lzdHJ5IHZhbHVlLicsKSwKLSh1J1JlbW92ZVJlZ2lzdHJ5Jyx1J1Jvb3QnLHUnTicsLTEsMyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSBwcmVkZWZpbmVkIHJvb3Qga2V5IGZvciB0aGUgcmVnaXN0cnkgdmFsdWUsIG9uZSBvZiBycmtFbnVtJywpLAotKHUnUmVtb3ZlUmVnaXN0cnknLHUnUmVtb3ZlUmVnaXN0cnknLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J1ByaW1hcnkga2V5LCBub24tbG9jYWxpemVkIHRva2VuLicsKSwKLSh1J1Jlc2VydmVDb3N0Jyx1J0NvbXBvbmVudF8nLHUnTicsTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J1Jlc2VydmUgYSBzcGVjaWZpZWQgYW1vdW50IG9mIHNwYWNlIGlmIHRoaXMgY29tcG9uZW50IGlzIHRvIGJlIGluc3RhbGxlZC4nLCksCi0odSdSZXNlcnZlQ29zdCcsdSdSZXNlcnZlRm9sZGVyJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdOYW1lIG9mIGEgcHJvcGVydHkgd2hvc2UgdmFsdWUgaXMgYXNzdW1lZCB0byByZXNvbHZlIHRvIHRoZSBmdWxsIHBhdGggdG8gdGhlIGRlc3RpbmF0aW9uIGRpcmVjdG9yeScsKSwKLSh1J1Jlc2VydmVDb3N0Jyx1J1Jlc2VydmVLZXknLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J1ByaW1hcnkga2V5IHRoYXQgdW5pcXVlbHkgaWRlbnRpZmllcyBhIHBhcnRpY3VsYXIgUmVzZXJ2ZUNvc3QgcmVjb3JkJywpLAotKHUnUmVzZXJ2ZUNvc3QnLHUnUmVzZXJ2ZUxvY2FsJyx1J04nLDAsMjE0NzQ4MzY0NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Rpc2sgc3BhY2UgdG8gcmVzZXJ2ZSBpZiBsaW5rZWQgY29tcG9uZW50IGlzIGluc3RhbGxlZCBsb2NhbGx5LicsKSwKLSh1J1Jlc2VydmVDb3N0Jyx1J1Jlc2VydmVTb3VyY2UnLHUnTicsMCwyMTQ3NDgzNjQ3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRGlzayBzcGFjZSB0byByZXNlcnZlIGlmIGxpbmtlZCBjb21wb25lbnQgaXMgaW5zdGFsbGVkIHRvIHJ1biBmcm9tIHRoZSBzb3VyY2UgbG9jYXRpb24uJywpLAotKHUnU2VsZlJlZycsdSdGaWxlXycsdSdOJyxOb25lLCBOb25lLCB1J0ZpbGUnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J0ZvcmVpZ24ga2V5IGludG8gdGhlIEZpbGUgdGFibGUgZGVub3RpbmcgdGhlIG1vZHVsZSB0aGF0IG5lZWRzIHRvIGJlIHJlZ2lzdGVyZWQuJywpLAotKHUnU2VsZlJlZycsdSdDb3N0Jyx1J1knLDAsMzI3NjcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUaGUgY29zdCBvZiByZWdpc3RlcmluZyB0aGUgbW9kdWxlLicsKSwKLSh1J1NlcnZpY2VDb250cm9sJyx1J05hbWUnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLE5vbmUsIHUnTmFtZSBvZiBhIHNlcnZpY2UuIC8sIFxcLCBjb21tYSBhbmQgc3BhY2UgYXJlIGludmFsaWQnLCksCi0odSdTZXJ2aWNlQ29udHJvbCcsdSdDb21wb25lbnRfJyx1J04nLE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdSZXF1aXJlZCBmb3JlaWduIGtleSBpbnRvIHRoZSBDb21wb25lbnQgVGFibGUgdGhhdCBjb250cm9scyB0aGUgc3RhcnR1cCBvZiB0aGUgc2VydmljZScsKSwKLSh1J1NlcnZpY2VDb250cm9sJyx1J0V2ZW50Jyx1J04nLDAsMTg3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQml0IGZpZWxkOiAgSW5zdGFsbDogIDB4MSA9IFN0YXJ0LCAweDIgPSBTdG9wLCAweDggPSBEZWxldGUsIFVuaW5zdGFsbDogMHgxMCA9IFN0YXJ0LCAweDIwID0gU3RvcCwgMHg4MCA9IERlbGV0ZScsKSwKLSh1J1NlcnZpY2VDb250cm9sJyx1J1NlcnZpY2VDb250cm9sJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdQcmltYXJ5IGtleSwgbm9uLWxvY2FsaXplZCB0b2tlbi4nLCksCi0odSdTZXJ2aWNlQ29udHJvbCcsdSdBcmd1bWVudHMnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLE5vbmUsIHUnQXJndW1lbnRzIGZvciB0aGUgc2VydmljZS4gIFNlcGFyYXRlIGJ5IFt+XS4nLCksCi0odSdTZXJ2aWNlQ29udHJvbCcsdSdXYWl0Jyx1J1knLDAsMSxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Jvb2xlYW4gZm9yIHdoZXRoZXIgdG8gd2FpdCBmb3IgdGhlIHNlcnZpY2UgdG8gZnVsbHkgc3RhcnQnLCksCi0odSdTZXJ2aWNlSW5zdGFsbCcsdSdOYW1lJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJyxOb25lLCB1J0ludGVybmFsIE5hbWUgb2YgdGhlIFNlcnZpY2UnLCksCi0odSdTZXJ2aWNlSW5zdGFsbCcsdSdEZXNjcmlwdGlvbicsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnRGVzY3JpcHRpb24gb2Ygc2VydmljZS4nLCksCi0odSdTZXJ2aWNlSW5zdGFsbCcsdSdDb21wb25lbnRfJyx1J04nLE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdSZXF1aXJlZCBmb3JlaWduIGtleSBpbnRvIHRoZSBDb21wb25lbnQgVGFibGUgdGhhdCBjb250cm9scyB0aGUgc3RhcnR1cCBvZiB0aGUgc2VydmljZScsKSwKLSh1J1NlcnZpY2VJbnN0YWxsJyx1J0FyZ3VtZW50cycsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsTm9uZSwgdSdBcmd1bWVudHMgdG8gaW5jbHVkZSBpbiBldmVyeSBzdGFydCBvZiB0aGUgc2VydmljZSwgcGFzc2VkIHRvIFdpbk1haW4nLCksCi0odSdTZXJ2aWNlSW5zdGFsbCcsdSdTZXJ2aWNlSW5zdGFsbCcsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnUHJpbWFyeSBrZXksIG5vbi1sb2NhbGl6ZWQgdG9rZW4uJywpLAotKHUnU2VydmljZUluc3RhbGwnLHUnRGVwZW5kZW5jaWVzJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJyxOb25lLCB1J090aGVyIHNlcnZpY2VzIHRoaXMgZGVwZW5kcyBvbiB0byBzdGFydC4gIFNlcGFyYXRlIGJ5IFt+XSwgYW5kIGVuZCB3aXRoIFt+XVt+XScsKSwKLSh1J1NlcnZpY2VJbnN0YWxsJyx1J0Rpc3BsYXlOYW1lJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJyxOb25lLCB1J0V4dGVybmFsIE5hbWUgb2YgdGhlIFNlcnZpY2UnLCksCi0odSdTZXJ2aWNlSW5zdGFsbCcsdSdFcnJvckNvbnRyb2wnLHUnTicsLTIxNDc0ODM2NDcsMjE0NzQ4MzY0NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1NldmVyaXR5IG9mIGVycm9yIGlmIHNlcnZpY2UgZmFpbHMgdG8gc3RhcnQnLCksCi0odSdTZXJ2aWNlSW5zdGFsbCcsdSdMb2FkT3JkZXJHcm91cCcsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsTm9uZSwgdSdMb2FkT3JkZXJHcm91cCcsKSwKLSh1J1NlcnZpY2VJbnN0YWxsJyx1J1Bhc3N3b3JkJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJyxOb25lLCB1J3Bhc3N3b3JkIHRvIHJ1biBzZXJ2aWNlIHdpdGguICAod2l0aCBTdGFydE5hbWUpJywpLAotKHUnU2VydmljZUluc3RhbGwnLHUnU2VydmljZVR5cGUnLHUnTicsLTIxNDc0ODM2NDcsMjE0NzQ4MzY0NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1R5cGUgb2YgdGhlIHNlcnZpY2UnLCksCi0odSdTZXJ2aWNlSW5zdGFsbCcsdSdTdGFydE5hbWUnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLE5vbmUsIHUnVXNlciBvciBvYmplY3QgbmFtZSB0byBydW4gc2VydmljZSBhcycsKSwKLSh1J1NlcnZpY2VJbnN0YWxsJyx1J1N0YXJ0VHlwZScsdSdOJywwLDQsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUeXBlIG9mIHRoZSBzZXJ2aWNlJywpLAotKHUnU2hvcnRjdXQnLHUnTmFtZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0ZpbGVuYW1lJyxOb25lLCB1J1RoZSBuYW1lIG9mIHRoZSBzaG9ydGN1dCB0byBiZSBjcmVhdGVkLicsKSwKLSh1J1Nob3J0Y3V0Jyx1J0Rlc2NyaXB0aW9uJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgdSdUaGUgZGVzY3JpcHRpb24gZm9yIHRoZSBzaG9ydGN1dC4nLCksCi0odSdTaG9ydGN1dCcsdSdDb21wb25lbnRfJyx1J04nLE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdGb3JlaWduIGtleSBpbnRvIHRoZSBDb21wb25lbnQgdGFibGUgZGVub3RpbmcgdGhlIGNvbXBvbmVudCB3aG9zZSBzZWxlY3Rpb24gZ2F0ZXMgdGhlIHNob3J0Y3V0IGNyZWF0aW9uL2RlbGV0aW9uLicsKSwKLSh1J1Nob3J0Y3V0Jyx1J0ljb25fJyx1J1knLE5vbmUsIE5vbmUsIHUnSWNvbicsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byB0aGUgRmlsZSB0YWJsZSBkZW5vdGluZyB0aGUgZXh0ZXJuYWwgaWNvbiBmaWxlIGZvciB0aGUgc2hvcnRjdXQuJywpLAotKHUnU2hvcnRjdXQnLHUnSWNvbkluZGV4Jyx1J1knLC0zMjc2NywzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSBpY29uIGluZGV4IGZvciB0aGUgc2hvcnRjdXQuJywpLAotKHUnU2hvcnRjdXQnLHUnRGlyZWN0b3J5XycsdSdOJyxOb25lLCBOb25lLCB1J0RpcmVjdG9yeScsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byB0aGUgRGlyZWN0b3J5IHRhYmxlIGRlbm90aW5nIHRoZSBkaXJlY3Rvcnkgd2hlcmUgdGhlIHNob3J0Y3V0IGZpbGUgaXMgY3JlYXRlZC4nLCksCi0odSdTaG9ydGN1dCcsdSdUYXJnZXQnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdTaG9ydGN1dCcsTm9uZSwgdSdUaGUgc2hvcnRjdXQgdGFyZ2V0LiBUaGlzIGlzIHVzdWFsbHkgYSBwcm9wZXJ0eSB0aGF0IGlzIGV4cGFuZGVkIHRvIGEgZmlsZSBvciBhIGZvbGRlciB0aGF0IHRoZSBzaG9ydGN1dCBwb2ludHMgdG8uJywpLAotKHUnU2hvcnRjdXQnLHUnQXJndW1lbnRzJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJyxOb25lLCB1J1RoZSBjb21tYW5kLWxpbmUgYXJndW1lbnRzIGZvciB0aGUgc2hvcnRjdXQuJywpLAotKHUnU2hvcnRjdXQnLHUnU2hvcnRjdXQnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J1ByaW1hcnkga2V5LCBub24tbG9jYWxpemVkIHRva2VuLicsKSwKLSh1J1Nob3J0Y3V0Jyx1J0hvdGtleScsdSdZJywwLDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGhlIGhvdGtleSBmb3IgdGhlIHNob3J0Y3V0LiBJdCBoYXMgdGhlIHZpcnR1YWwta2V5IGNvZGUgZm9yIHRoZSBrZXkgaW4gdGhlIGxvdy1vcmRlciBieXRlLCBhbmQgdGhlIG1vZGlmaWVyIGZsYWdzIGluIHRoZSBoaWdoLW9yZGVyIGJ5dGUuICcsKSwKLSh1J1Nob3J0Y3V0Jyx1J1Nob3dDbWQnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdScxOzM7NycsdSdUaGUgc2hvdyBjb21tYW5kIGZvciB0aGUgYXBwbGljYXRpb24gd2luZG93LlRoZSBmb2xsb3dpbmcgdmFsdWVzIG1heSBiZSB1c2VkLicsKSwKLSh1J1Nob3J0Y3V0Jyx1J1drRGlyJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdOYW1lIG9mIHByb3BlcnR5IGRlZmluaW5nIGxvY2F0aW9uIG9mIHdvcmtpbmcgZGlyZWN0b3J5LicsKSwKLSh1J1NpZ25hdHVyZScsdSdGaWxlTmFtZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0ZpbGVuYW1lJyxOb25lLCB1J1RoZSBuYW1lIG9mIHRoZSBmaWxlLiBUaGlzIG1heSBjb250YWluIGEgInNob3J0IG5hbWV8bG9uZyBuYW1lIiBwYWlyLicsKSwKLSh1J1NpZ25hdHVyZScsdSdTaWduYXR1cmUnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J1RoZSB0YWJsZSBrZXkuIFRoZSBTaWduYXR1cmUgcmVwcmVzZW50cyBhIHVuaXF1ZSBmaWxlIHNpZ25hdHVyZS4nLCksCi0odSdTaWduYXR1cmUnLHUnTGFuZ3VhZ2VzJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnTGFuZ3VhZ2UnLE5vbmUsIHUnVGhlIGxhbmd1YWdlcyBzdXBwb3J0ZWQgYnkgdGhlIGZpbGUuJywpLAotKHUnU2lnbmF0dXJlJyx1J01heERhdGUnLHUnWScsMCwyMTQ3NDgzNjQ3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGhlIG1heGltdW0gY3JlYXRpb24gZGF0ZSBvZiB0aGUgZmlsZS4nLCksCi0odSdTaWduYXR1cmUnLHUnTWF4U2l6ZScsdSdZJywwLDIxNDc0ODM2NDcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUaGUgbWF4aW11bSBzaXplIG9mIHRoZSBmaWxlLiAnLCksCi0odSdTaWduYXR1cmUnLHUnTWF4VmVyc2lvbicsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnVGhlIG1heGltdW0gdmVyc2lvbiBvZiB0aGUgZmlsZS4nLCksCi0odSdTaWduYXR1cmUnLHUnTWluRGF0ZScsdSdZJywwLDIxNDc0ODM2NDcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUaGUgbWluaW11bSBjcmVhdGlvbiBkYXRlIG9mIHRoZSBmaWxlLicsKSwKLSh1J1NpZ25hdHVyZScsdSdNaW5TaXplJyx1J1knLDAsMjE0NzQ4MzY0NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSBtaW5pbXVtIHNpemUgb2YgdGhlIGZpbGUuJywpLAotKHUnU2lnbmF0dXJlJyx1J01pblZlcnNpb24nLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JyxOb25lLCB1J1RoZSBtaW5pbXVtIHZlcnNpb24gb2YgdGhlIGZpbGUuJywpLAotKHUnVGV4dFN0eWxlJyx1J1RleHRTdHlsZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnTmFtZSBvZiB0aGUgc3R5bGUuIFRoZSBwcmltYXJ5IGtleSBvZiB0aGlzIHRhYmxlLiBUaGlzIG5hbWUgaXMgZW1iZWRkZWQgaW4gdGhlIHRleHRzIHRvIGluZGljYXRlIGEgc3R5bGUgY2hhbmdlLicsKSwKLSh1J1RleHRTdHlsZScsdSdDb2xvcicsdSdZJywwLDE2Nzc3MjE1LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQSBsb25nIGludGVnZXIgaW5kaWNhdGluZyB0aGUgY29sb3Igb2YgdGhlIHN0cmluZyBpbiB0aGUgUkdCIGZvcm1hdCAoUmVkLCBHcmVlbiwgQmx1ZSBlYWNoIDAtMjU1LCBSR0IgPSBSICsgMjU2KkcgKyAyNTZeMipCKS4nLCksCi0odSdUZXh0U3R5bGUnLHUnRmFjZU5hbWUnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JyxOb25lLCB1J0Egc3RyaW5nIGluZGljYXRpbmcgdGhlIG5hbWUgb2YgdGhlIGZvbnQgdXNlZC4gUmVxdWlyZWQuIFRoZSBzdHJpbmcgbXVzdCBiZSBhdCBtb3N0IDMxIGNoYXJhY3RlcnMgbG9uZy4nLCksCi0odSdUZXh0U3R5bGUnLHUnU2l6ZScsdSdOJywwLDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGhlIHNpemUgb2YgdGhlIGZvbnQgdXNlZC4gVGhpcyBzaXplIGlzIGdpdmVuIGluIG91ciB1bml0cyAoMS8xMiBvZiB0aGUgc3lzdGVtIGZvbnQgaGVpZ2h0KS4gQXNzdW1pbmcgdGhhdCB0aGUgc3lzdGVtIGZvbnQgaXMgc2V0IHRvIDEyIHBvaW50IHNpemUsIHRoaXMgaXMgZXF1aXZhbGVudCB0byB0aGUgcG9pbnQgc2l6ZS4nLCksCi0odSdUZXh0U3R5bGUnLHUnU3R5bGVCaXRzJyx1J1knLDAsMTUsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdBIGNvbWJpbmF0aW9uIG9mIHN0eWxlIGJpdHMuJywpLAotKHUnVHlwZUxpYicsdSdEZXNjcmlwdGlvbicsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIE5vbmUsICksCi0odSdUeXBlTGliJyx1J0ZlYXR1cmVfJyx1J04nLE5vbmUsIE5vbmUsIHUnRmVhdHVyZScsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnUmVxdWlyZWQgZm9yZWlnbiBrZXkgaW50byB0aGUgRmVhdHVyZSBUYWJsZSwgc3BlY2lmeWluZyB0aGUgZmVhdHVyZSB0byB2YWxpZGF0ZSBvciBpbnN0YWxsIGluIG9yZGVyIGZvciB0aGUgdHlwZSBsaWJyYXJ5IHRvIGJlIG9wZXJhdGlvbmFsLicsKSwKLSh1J1R5cGVMaWInLHUnQ29tcG9uZW50XycsdSdOJyxOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnUmVxdWlyZWQgZm9yZWlnbiBrZXkgaW50byB0aGUgQ29tcG9uZW50IFRhYmxlLCBzcGVjaWZ5aW5nIHRoZSBjb21wb25lbnQgZm9yIHdoaWNoIHRvIHJldHVybiBhIHBhdGggd2hlbiBjYWxsZWQgdGhyb3VnaCBMb2NhdGVDb21wb25lbnQuJywpLAotKHUnVHlwZUxpYicsdSdEaXJlY3RvcnlfJyx1J1knLE5vbmUsIE5vbmUsIHUnRGlyZWN0b3J5JywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdPcHRpb25hbC4gVGhlIGZvcmVpZ24ga2V5IGludG8gdGhlIERpcmVjdG9yeSB0YWJsZSBkZW5vdGluZyB0aGUgcGF0aCB0byB0aGUgaGVscCBmaWxlIGZvciB0aGUgdHlwZSBsaWJyYXJ5LicsKSwKLSh1J1R5cGVMaWInLHUnTGFuZ3VhZ2UnLHUnTicsMCwzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSBsYW5ndWFnZSBvZiB0aGUgbGlicmFyeS4nLCksCi0odSdUeXBlTGliJyx1J1ZlcnNpb24nLHUnWScsMCwxNjc3NzIxNSxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSB2ZXJzaW9uIG9mIHRoZSBsaWJyYXJ5LiBUaGUgbWlub3IgdmVyc2lvbiBpcyBpbiB0aGUgbG93ZXIgOCBiaXRzIG9mIHRoZSBpbnRlZ2VyLiBUaGUgbWFqb3IgdmVyc2lvbiBpcyBpbiB0aGUgbmV4dCAxNiBiaXRzLiAnLCksCi0odSdUeXBlTGliJyx1J0Nvc3QnLHUnWScsMCwyMTQ3NDgzNjQ3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGhlIGNvc3QgYXNzb2NpYXRlZCB3aXRoIHRoZSByZWdpc3RyYXRpb24gb2YgdGhlIHR5cGVsaWIuIFRoaXMgY29sdW1uIGlzIGN1cnJlbnRseSBvcHRpb25hbC4nLCksCi0odSdUeXBlTGliJyx1J0xpYklEJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnR3VpZCcsTm9uZSwgdSdUaGUgR1VJRCB0aGF0IHJlcHJlc2VudHMgdGhlIGxpYnJhcnkuJywpLAotKHUnVUlUZXh0Jyx1J1RleHQnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JyxOb25lLCB1J1RoZSBsb2NhbGl6ZWQgdmVyc2lvbiBvZiB0aGUgc3RyaW5nLicsKSwKLSh1J1VJVGV4dCcsdSdLZXknLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J0EgdW5pcXVlIGtleSB0aGF0IGlkZW50aWZpZXMgdGhlIHBhcnRpY3VsYXIgc3RyaW5nLicsKSwKLSh1J1VwZ3JhZGUnLHUnQXR0cmlidXRlcycsdSdOJywwLDIxNDc0ODM2NDcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUaGUgYXR0cmlidXRlcyBvZiB0aGlzIHByb2R1Y3Qgc2V0LicsKSwKLSh1J1VwZ3JhZGUnLHUnTGFuZ3VhZ2UnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdMYW5ndWFnZScsTm9uZSwgdSdBIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIGxhbmd1YWdlcyBmb3IgZWl0aGVyIHByb2R1Y3RzIGluIHRoaXMgc2V0IG9yIHByb2R1Y3RzIG5vdCBpbiB0aGlzIHNldC4nLCksCi0odSdVcGdyYWRlJyx1J0FjdGlvblByb3BlcnR5Jyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVXBwZXJDYXNlJyxOb25lLCB1J1RoZSBwcm9wZXJ0eSB0byBzZXQgd2hlbiBhIHByb2R1Y3QgaW4gdGhpcyBzZXQgaXMgZm91bmQuJywpLAotKHUnVXBncmFkZScsdSdSZW1vdmUnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLE5vbmUsIHUnVGhlIGxpc3Qgb2YgZmVhdHVyZXMgdG8gcmVtb3ZlIHdoZW4gdW5pbnN0YWxsaW5nIGEgcHJvZHVjdCBmcm9tIHRoaXMgc2V0LiAgVGhlIGRlZmF1bHQgaXMgIkFMTCIuJywpLAotKHUnVXBncmFkZScsdSdVcGdyYWRlQ29kZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0d1aWQnLE5vbmUsIHUnVGhlIFVwZ3JhZGVDb2RlIEdVSUQgYmVsb25naW5nIHRvIHRoZSBwcm9kdWN0cyBpbiB0aGlzIHNldC4nLCksCi0odSdVcGdyYWRlJyx1J1ZlcnNpb25NYXgnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JyxOb25lLCB1J1RoZSBtYXhpbXVtIFByb2R1Y3RWZXJzaW9uIG9mIHRoZSBwcm9kdWN0cyBpbiB0aGlzIHNldC4gIFRoZSBzZXQgbWF5IG9yIG1heSBub3QgaW5jbHVkZSBwcm9kdWN0cyB3aXRoIHRoaXMgcGFydGljdWxhciB2ZXJzaW9uLicsKSwKLSh1J1VwZ3JhZGUnLHUnVmVyc2lvbk1pbicsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnVGhlIG1pbmltdW0gUHJvZHVjdFZlcnNpb24gb2YgdGhlIHByb2R1Y3RzIGluIHRoaXMgc2V0LiAgVGhlIHNldCBtYXkgb3IgbWF5IG5vdCBpbmNsdWRlIHByb2R1Y3RzIHdpdGggdGhpcyBwYXJ0aWN1bGFyIHZlcnNpb24uJywpLAotKHUnVmVyYicsdSdTZXF1ZW5jZScsdSdZJywwLDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnT3JkZXIgd2l0aGluIHRoZSB2ZXJicyBmb3IgYSBwYXJ0aWN1bGFyIGV4dGVuc2lvbi4gQWxzbyB1c2VkIHNpbXBseSB0byBzcGVjaWZ5IHRoZSBkZWZhdWx0IHZlcmIuJywpLAotKHUnVmVyYicsdSdBcmd1bWVudCcsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsTm9uZSwgdSdPcHRpb25hbCB2YWx1ZSBmb3IgdGhlIGNvbW1hbmQgYXJndW1lbnRzLicsKSwKLSh1J1ZlcmInLHUnRXh0ZW5zaW9uXycsdSdOJyxOb25lLCBOb25lLCB1J0V4dGVuc2lvbicsMSx1J1RleHQnLE5vbmUsIHUnVGhlIGV4dGVuc2lvbiBhc3NvY2lhdGVkIHdpdGggdGhlIHRhYmxlIHJvdy4nLCksCi0odSdWZXJiJyx1J1ZlcmInLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JyxOb25lLCB1J1RoZSB2ZXJiIGZvciB0aGUgY29tbWFuZC4nLCksCi0odSdWZXJiJyx1J0NvbW1hbmQnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLE5vbmUsIHUnVGhlIGNvbW1hbmQgdGV4dC4nLCksCi1dCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvc2VxdWVuY2UucHkgYi9Ub29scy9tc2kvc2VxdWVuY2UucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDExMzhmN2EuLjAwMDAwMDAKLS0tIGEvVG9vbHMvbXNpL3NlcXVlbmNlLnB5CisrKyAvZGV2L251bGwKQEAgLTEsMTI2ICswLDAgQEAKLUFkbWluRXhlY3V0ZVNlcXVlbmNlID0gWwotKHUnSW5zdGFsbEluaXRpYWxpemUnLCBOb25lLCAxNTAwKSwKLSh1J0luc3RhbGxGaW5hbGl6ZScsIE5vbmUsIDY2MDApLAotKHUnSW5zdGFsbEZpbGVzJywgTm9uZSwgNDAwMCksCi0odSdJbnN0YWxsQWRtaW5QYWNrYWdlJywgTm9uZSwgMzkwMCksCi0odSdGaWxlQ29zdCcsIE5vbmUsIDkwMCksCi0odSdDb3N0SW5pdGlhbGl6ZScsIE5vbmUsIDgwMCksCi0odSdDb3N0RmluYWxpemUnLCBOb25lLCAxMDAwKSwKLSh1J0luc3RhbGxWYWxpZGF0ZScsIE5vbmUsIDE0MDApLAotXQotCi1BZG1pblVJU2VxdWVuY2UgPSBbCi0odSdGaWxlQ29zdCcsIE5vbmUsIDkwMCksCi0odSdDb3N0SW5pdGlhbGl6ZScsIE5vbmUsIDgwMCksCi0odSdDb3N0RmluYWxpemUnLCBOb25lLCAxMDAwKSwKLSh1J0V4ZWN1dGVBY3Rpb24nLCBOb25lLCAxMzAwKSwKLSh1J0V4aXREaWFsb2cnLCBOb25lLCAtMSksCi0odSdGYXRhbEVycm9yJywgTm9uZSwgLTMpLAotKHUnVXNlckV4aXQnLCBOb25lLCAtMiksCi1dCi0KLUFkdnRFeGVjdXRlU2VxdWVuY2UgPSBbCi0odSdJbnN0YWxsSW5pdGlhbGl6ZScsIE5vbmUsIDE1MDApLAotKHUnSW5zdGFsbEZpbmFsaXplJywgTm9uZSwgNjYwMCksCi0odSdDb3N0SW5pdGlhbGl6ZScsIE5vbmUsIDgwMCksCi0odSdDb3N0RmluYWxpemUnLCBOb25lLCAxMDAwKSwKLSh1J0luc3RhbGxWYWxpZGF0ZScsIE5vbmUsIDE0MDApLAotKHUnQ3JlYXRlU2hvcnRjdXRzJywgTm9uZSwgNDUwMCksCi0odSdNc2lQdWJsaXNoQXNzZW1ibGllcycsIE5vbmUsIDYyNTApLAotKHUnUHVibGlzaENvbXBvbmVudHMnLCBOb25lLCA2MjAwKSwKLSh1J1B1Ymxpc2hGZWF0dXJlcycsIE5vbmUsIDYzMDApLAotKHUnUHVibGlzaFByb2R1Y3QnLCBOb25lLCA2NDAwKSwKLSh1J1JlZ2lzdGVyQ2xhc3NJbmZvJywgTm9uZSwgNDYwMCksCi0odSdSZWdpc3RlckV4dGVuc2lvbkluZm8nLCBOb25lLCA0NzAwKSwKLSh1J1JlZ2lzdGVyTUlNRUluZm8nLCBOb25lLCA0OTAwKSwKLSh1J1JlZ2lzdGVyUHJvZ0lkSW5mbycsIE5vbmUsIDQ4MDApLAotXQotCi1JbnN0YWxsRXhlY3V0ZVNlcXVlbmNlID0gWwotKHUnSW5zdGFsbEluaXRpYWxpemUnLCBOb25lLCAxNTAwKSwKLSh1J0luc3RhbGxGaW5hbGl6ZScsIE5vbmUsIDY2MDApLAotKHUnSW5zdGFsbEZpbGVzJywgTm9uZSwgNDAwMCksCi0odSdGaWxlQ29zdCcsIE5vbmUsIDkwMCksCi0odSdDb3N0SW5pdGlhbGl6ZScsIE5vbmUsIDgwMCksCi0odSdDb3N0RmluYWxpemUnLCBOb25lLCAxMDAwKSwKLSh1J0luc3RhbGxWYWxpZGF0ZScsIE5vbmUsIDE0MDApLAotKHUnQ3JlYXRlU2hvcnRjdXRzJywgTm9uZSwgNDUwMCksCi0odSdNc2lQdWJsaXNoQXNzZW1ibGllcycsIE5vbmUsIDYyNTApLAotKHUnUHVibGlzaENvbXBvbmVudHMnLCBOb25lLCA2MjAwKSwKLSh1J1B1Ymxpc2hGZWF0dXJlcycsIE5vbmUsIDYzMDApLAotKHUnUHVibGlzaFByb2R1Y3QnLCBOb25lLCA2NDAwKSwKLSh1J1JlZ2lzdGVyQ2xhc3NJbmZvJywgTm9uZSwgNDYwMCksCi0odSdSZWdpc3RlckV4dGVuc2lvbkluZm8nLCBOb25lLCA0NzAwKSwKLSh1J1JlZ2lzdGVyTUlNRUluZm8nLCBOb25lLCA0OTAwKSwKLSh1J1JlZ2lzdGVyUHJvZ0lkSW5mbycsIE5vbmUsIDQ4MDApLAotKHUnQWxsb2NhdGVSZWdpc3RyeVNwYWNlJywgdSdOT1QgSW5zdGFsbGVkJywgMTU1MCksCi0odSdBcHBTZWFyY2gnLCBOb25lLCA0MDApLAotKHUnQmluZEltYWdlJywgTm9uZSwgNDMwMCksCi0odSdDQ1BTZWFyY2gnLCB1J05PVCBJbnN0YWxsZWQnLCA1MDApLAotKHUnQ3JlYXRlRm9sZGVycycsIE5vbmUsIDM3MDApLAotKHUnRGVsZXRlU2VydmljZXMnLCB1J1ZlcnNpb25OVCcsIDIwMDApLAotKHUnRHVwbGljYXRlRmlsZXMnLCBOb25lLCA0MjEwKSwKLSh1J0ZpbmRSZWxhdGVkUHJvZHVjdHMnLCBOb25lLCAyMDApLAotKHUnSW5zdGFsbE9EQkMnLCBOb25lLCA1NDAwKSwKLSh1J0luc3RhbGxTZXJ2aWNlcycsIHUnVmVyc2lvbk5UJywgNTgwMCksCi0odSdJc29sYXRlQ29tcG9uZW50cycsIE5vbmUsIDk1MCksCi0odSdMYXVuY2hDb25kaXRpb25zJywgTm9uZSwgMTAwKSwKLSh1J01pZ3JhdGVGZWF0dXJlU3RhdGVzJywgTm9uZSwgMTIwMCksCi0odSdNb3ZlRmlsZXMnLCBOb25lLCAzODAwKSwKLSh1J1BhdGNoRmlsZXMnLCBOb25lLCA0MDkwKSwKLSh1J1Byb2Nlc3NDb21wb25lbnRzJywgTm9uZSwgMTYwMCksCi0odSdSZWdpc3RlckNvbVBsdXMnLCBOb25lLCA1NzAwKSwKLSh1J1JlZ2lzdGVyRm9udHMnLCBOb25lLCA1MzAwKSwKLSh1J1JlZ2lzdGVyUHJvZHVjdCcsIE5vbmUsIDYxMDApLAotKHUnUmVnaXN0ZXJUeXBlTGlicmFyaWVzJywgTm9uZSwgNTUwMCksCi0odSdSZWdpc3RlclVzZXInLCBOb25lLCA2MDAwKSwKLSh1J1JlbW92ZUR1cGxpY2F0ZUZpbGVzJywgTm9uZSwgMzQwMCksCi0odSdSZW1vdmVFbnZpcm9ubWVudFN0cmluZ3MnLCBOb25lLCAzMzAwKSwKLSh1J1JlbW92ZUV4aXN0aW5nUHJvZHVjdHMnLCBOb25lLCA2NzAwKSwKLSh1J1JlbW92ZUZpbGVzJywgTm9uZSwgMzUwMCksCi0odSdSZW1vdmVGb2xkZXJzJywgTm9uZSwgMzYwMCksCi0odSdSZW1vdmVJbmlWYWx1ZXMnLCBOb25lLCAzMTAwKSwKLSh1J1JlbW92ZU9EQkMnLCBOb25lLCAyNDAwKSwKLSh1J1JlbW92ZVJlZ2lzdHJ5VmFsdWVzJywgTm9uZSwgMjYwMCksCi0odSdSZW1vdmVTaG9ydGN1dHMnLCBOb25lLCAzMjAwKSwKLSh1J1JNQ0NQU2VhcmNoJywgdSdOT1QgSW5zdGFsbGVkJywgNjAwKSwKLSh1J1NlbGZSZWdNb2R1bGVzJywgTm9uZSwgNTYwMCksCi0odSdTZWxmVW5yZWdNb2R1bGVzJywgTm9uZSwgMjIwMCksCi0odSdTZXRPREJDRm9sZGVycycsIE5vbmUsIDExMDApLAotKHUnU3RhcnRTZXJ2aWNlcycsIHUnVmVyc2lvbk5UJywgNTkwMCksCi0odSdTdG9wU2VydmljZXMnLCB1J1ZlcnNpb25OVCcsIDE5MDApLAotKHUnTXNpVW5wdWJsaXNoQXNzZW1ibGllcycsIE5vbmUsIDE3NTApLAotKHUnVW5wdWJsaXNoQ29tcG9uZW50cycsIE5vbmUsIDE3MDApLAotKHUnVW5wdWJsaXNoRmVhdHVyZXMnLCBOb25lLCAxODAwKSwKLSh1J1VucmVnaXN0ZXJDbGFzc0luZm8nLCBOb25lLCAyNzAwKSwKLSh1J1VucmVnaXN0ZXJDb21QbHVzJywgTm9uZSwgMjEwMCksCi0odSdVbnJlZ2lzdGVyRXh0ZW5zaW9uSW5mbycsIE5vbmUsIDI4MDApLAotKHUnVW5yZWdpc3RlckZvbnRzJywgTm9uZSwgMjUwMCksCi0odSdVbnJlZ2lzdGVyTUlNRUluZm8nLCBOb25lLCAzMDAwKSwKLSh1J1VucmVnaXN0ZXJQcm9nSWRJbmZvJywgTm9uZSwgMjkwMCksCi0odSdVbnJlZ2lzdGVyVHlwZUxpYnJhcmllcycsIE5vbmUsIDIzMDApLAotKHUnVmFsaWRhdGVQcm9kdWN0SUQnLCBOb25lLCA3MDApLAotKHUnV3JpdGVFbnZpcm9ubWVudFN0cmluZ3MnLCBOb25lLCA1MjAwKSwKLSh1J1dyaXRlSW5pVmFsdWVzJywgTm9uZSwgNTEwMCksCi0odSdXcml0ZVJlZ2lzdHJ5VmFsdWVzJywgTm9uZSwgNTAwMCksCi1dCi0KLUluc3RhbGxVSVNlcXVlbmNlID0gWwotKHUnRmlsZUNvc3QnLCBOb25lLCA5MDApLAotKHUnQ29zdEluaXRpYWxpemUnLCBOb25lLCA4MDApLAotKHUnQ29zdEZpbmFsaXplJywgTm9uZSwgMTAwMCksCi0odSdFeGVjdXRlQWN0aW9uJywgTm9uZSwgMTMwMCksCi0odSdFeGl0RGlhbG9nJywgTm9uZSwgLTEpLAotKHUnRmF0YWxFcnJvcicsIE5vbmUsIC0zKSwKLSh1J1VzZXJFeGl0JywgTm9uZSwgLTIpLAotKHUnQXBwU2VhcmNoJywgTm9uZSwgNDAwKSwKLSh1J0NDUFNlYXJjaCcsIHUnTk9UIEluc3RhbGxlZCcsIDUwMCksCi0odSdGaW5kUmVsYXRlZFByb2R1Y3RzJywgTm9uZSwgMjAwKSwKLSh1J0lzb2xhdGVDb21wb25lbnRzJywgTm9uZSwgOTUwKSwKLSh1J0xhdW5jaENvbmRpdGlvbnMnLCBOb25lLCAxMDApLAotKHUnTWlncmF0ZUZlYXR1cmVTdGF0ZXMnLCBOb25lLCAxMjAwKSwKLSh1J1JNQ0NQU2VhcmNoJywgdSdOT1QgSW5zdGFsbGVkJywgNjAwKSwKLSh1J1ZhbGlkYXRlUHJvZHVjdElEJywgTm9uZSwgNzAwKSwKLV0KLQotdGFibGVzPVsnQWRtaW5FeGVjdXRlU2VxdWVuY2UnLCAnQWRtaW5VSVNlcXVlbmNlJywgJ0FkdnRFeGVjdXRlU2VxdWVuY2UnLCAnSW5zdGFsbEV4ZWN1dGVTZXF1ZW5jZScsICdJbnN0YWxsVUlTZXF1ZW5jZSddCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvdGNsdGsvdGNsdGsucHJvcHMgYi9Ub29scy9tc2kvdGNsdGsvdGNsdGsucHJvcHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDFkNjdjNQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS90Y2x0ay90Y2x0ay5wcm9wcwpAQCAtMCwwICsxLDQ5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICAgIDwhLS0gU2hvcnRjdXQgdmFsaWRhdGlvbiBpcyBub3QgbmVjZXNzYXJ5IC0tPgorICAgICAgICA8U3VwcHJlc3NJQ0VzPklDRTQzPC9TdXBwcmVzc0lDRXM+CisgICAgPC9Qcm9wZXJ0eUdyb3VwPgorICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cbXNpLnByb3BzIiAvPgorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxDb21waWxlIEluY2x1ZGU9Iioud3hzIiAvPgorICAgIDwvSXRlbUdyb3VwPgorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxXeGxUZW1wbGF0ZSBJbmNsdWRlPSIqLnd4bF90ZW1wbGF0ZSIgLz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8SW5zdGFsbEZpbGVzIEluY2x1ZGU9IiQodGNsdGtEaXIpYmluXCouZGxsIiBFeGNsdWRlPSIkKHRjbHRrRGlyKWJpblwqZy5kbGwiPgorICAgICAgICAgICAgPFNvdXJjZUJhc2U+JCh0Y2x0a0Rpcik8L1NvdXJjZUJhc2U+CisgICAgICAgICAgICA8U291cmNlPiEoYmluZHBhdGgudGNsdGspPC9Tb3VyY2U+CisgICAgICAgICAgICA8VGFyZ2V0QmFzZT4kKHRjbHRrRGlyKWJpbjwvVGFyZ2V0QmFzZT4KKyAgICAgICAgICAgIDxUYXJnZXRfPkRMTHNcPC9UYXJnZXRfPgorICAgICAgICAgICAgPEdyb3VwPnRjbHRrX2RsbHM8L0dyb3VwPgorICAgICAgICA8L0luc3RhbGxGaWxlcz4KKyAgICAgICAgPEluc3RhbGxGaWxlcyBJbmNsdWRlPSIkKHRjbHRrRGlyKWJpblwqZy5kbGwiPgorICAgICAgICAgICAgPFNvdXJjZUJhc2U+JCh0Y2x0a0Rpcik8L1NvdXJjZUJhc2U+CisgICAgICAgICAgICA8U291cmNlPiEoYmluZHBhdGgudGNsdGspPC9Tb3VyY2U+CisgICAgICAgICAgICA8VGFyZ2V0QmFzZT4kKHRjbHRrRGlyKWJpbjwvVGFyZ2V0QmFzZT4KKyAgICAgICAgICAgIDxUYXJnZXRfPkRMTHNcPC9UYXJnZXRfPgorICAgICAgICAgICAgPEdyb3VwPnRjbHRrX2RsbHNfZDwvR3JvdXA+CisgICAgICAgIDwvSW5zdGFsbEZpbGVzPgorCisgICAgICAgIDxJbnN0YWxsRmlsZXMgSW5jbHVkZT0iJCh0Y2x0a0RpcilsaWJcKipcKiI+CisgICAgICAgICAgICA8U291cmNlQmFzZT4kKHRjbHRrRGlyKTwvU291cmNlQmFzZT4KKyAgICAgICAgICAgIDxTb3VyY2U+IShiaW5kcGF0aC50Y2x0ayk8L1NvdXJjZT4KKyAgICAgICAgICAgIDxUYXJnZXRCYXNlPiQodGNsdGtEaXIpbGliPC9UYXJnZXRCYXNlPgorICAgICAgICAgICAgPFRhcmdldF8+dGNsXDwvVGFyZ2V0Xz4KKyAgICAgICAgICAgIDxHcm91cD50Y2x0a19saWI8L0dyb3VwPgorICAgICAgICA8L0luc3RhbGxGaWxlcz4KKworICAgICAgICA8SW5zdGFsbEZpbGVzIEluY2x1ZGU9IiQoUHlTb3VyY2VQYXRoKUxpYlx0a2ludGVyXCoqXCo7JChQeVNvdXJjZVBhdGgpTGliXGlkbGVsaWJcKipcKjskKFB5U291cmNlUGF0aClMaWJcdHVydGxlZGVtb1wqKlwqIgorICAgICAgICAgICAgICAgICAgICAgIEV4Y2x1ZGU9IiQoUHlTb3VyY2VQYXRoKUxpYlwqKlwqLnB5YzskKFB5U291cmNlUGF0aClMaWJcKipcKi5weW8iPgorICAgICAgICAgICAgPFNvdXJjZUJhc2U+JChQeVNvdXJjZVBhdGgpPC9Tb3VyY2VCYXNlPgorICAgICAgICAgICAgPFNvdXJjZT4hKGJpbmRwYXRoLnNyYyk8L1NvdXJjZT4KKyAgICAgICAgICAgIDxUYXJnZXRCYXNlPiQoUHlTb3VyY2VQYXRoKTwvVGFyZ2V0QmFzZT4KKyAgICAgICAgICAgIDxUYXJnZXRfPjwvVGFyZ2V0Xz4KKyAgICAgICAgICAgIDxHcm91cD50a2ludGVyX2xpYjwvR3JvdXA+CisgICAgICAgIDwvSW5zdGFsbEZpbGVzPgorICAgIDwvSXRlbUdyb3VwPgorICAgIAorICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cbXNpLnRhcmdldHMiIC8+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL3RjbHRrL3RjbHRrLndpeHByb2ogYi9Ub29scy9tc2kvdGNsdGsvdGNsdGsud2l4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZGNkZmFkCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL3RjbHRrL3RjbHRrLndpeHByb2oKQEAgLTAsMCArMSwxMSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgICA8UHJvamVjdEd1aWQ+e0RCMzUwNjAwLTE4NkMtNEU1Mi1CQTk4LTI2QTdDRUNCMDY3Rn08L1Byb2plY3RHdWlkPgorICAgICAgICA8U2NoZW1hVmVyc2lvbj4yLjA8L1NjaGVtYVZlcnNpb24+CisgICAgICAgIDxPdXRwdXROYW1lPnRjbHRrPC9PdXRwdXROYW1lPgorICAgICAgICA8T3V0cHV0VHlwZT5QYWNrYWdlPC9PdXRwdXRUeXBlPgorICAgICAgICA8RGVmaW5lQ29uc3RhbnRzPkluY2x1ZGVEZWZhdWx0RmVhdHVyZT0xOyQoRGVmaW5lQ29uc3RhbnRzKTwvRGVmaW5lQ29uc3RhbnRzPgorICAgIDwvUHJvcGVydHlHcm91cD4KKyAgICA8SW1wb3J0IFByb2plY3Q9InRjbHRrLnByb3BzIiAvPgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS90Y2x0ay90Y2x0ay53eHMgYi9Ub29scy9tc2kvdGNsdGsvdGNsdGsud3hzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRkNzIyMDAKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvdGNsdGsvdGNsdGsud3hzCkBAIC0wLDAgKzEsNTMgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8UHJvZHVjdCBJZD0iKiIgTGFuZ3VhZ2U9IiEobG9jLkxDSUQpIiBOYW1lPSIhKGxvYy5UaXRsZSkiIFZlcnNpb249IiQodmFyLlZlcnNpb24pIiBNYW51ZmFjdHVyZXI9IiEobG9jLk1hbnVmYWN0dXJlcikiIFVwZ3JhZGVDb2RlPSIkKHZhci5VcGdyYWRlQ29kZSkiPgorICAgICAgICA8UGFja2FnZSBJbnN0YWxsZXJWZXJzaW9uPSIzMDAiIENvbXByZXNzZWQ9InllcyIgSW5zdGFsbFNjb3BlPSJwZXJVc2VyIiBQbGF0Zm9ybT0iJCh2YXIuUGxhdGZvcm0pIiAvPgorICAgICAgICA8TWVkaWFUZW1wbGF0ZSBFbWJlZENhYj0ieWVzIiBDb21wcmVzc2lvbkxldmVsPSJoaWdoIiAvPgorICAgICAgICAKKyAgICAgICAgPFByb3BlcnR5UmVmIElkPSJVcGdyYWRlVGFibGUiIC8+CisgICAgICAgIDxQcm9wZXJ0eVJlZiBJZD0iUkVHSVNUUllLRVkiIC8+CisgICAgICAgIAorICAgICAgICA8UHJvcGVydHkgSWQ9IlBZVEhPTl9FWEUiIFNlY3VyZT0ieWVzIj4KKyAgICAgICAgICAgIDxDb21wb25lbnRTZWFyY2ggSWQ9IlB5dGhvbkV4ZSIgR3VpZD0iJCh2YXIuUHl0aG9ud0V4ZUNvbXBvbmVudEd1aWQpIj4KKyAgICAgICAgICAgICAgICA8RmlsZVNlYXJjaCBOYW1lPSJweXRob253LmV4ZSIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50U2VhcmNoPgorICAgICAgICA8L1Byb3BlcnR5PgorICAgICAgICAKKyAgICAgICAgPENvbmRpdGlvbiBNZXNzYWdlPSIhKGxvYy5Ob1B5dGhvbikiPlBZVEhPTl9FWEU8L0NvbmRpdGlvbj4KKworICAgICAgICA8P2lmZGVmIEluY2x1ZGVEZWZhdWx0RmVhdHVyZSA/PgorICAgICAgICA8RmVhdHVyZSBJZD0iRGVmYXVsdEZlYXR1cmUiIEFsbG93QWR2ZXJ0aXNlPSJubyIgVGl0bGU9IiEobG9jLlRpdGxlKSIgRGVzY3JpcHRpb249IiEobG9jLkRlc2NyaXB0aW9uKSI+CisgICAgICAgICAgICA8Q29tcG9uZW50R3JvdXBSZWYgSWQ9InRraW50ZXJfZXh0ZW5zaW9uIiAvPgorICAgICAgICAgICAgPENvbXBvbmVudEdyb3VwUmVmIElkPSJ0Y2x0a19kbGxzIiAvPgorICAgICAgICAgICAgPENvbXBvbmVudEdyb3VwUmVmIElkPSJ0Y2x0a19saWIiIC8+CisgICAgICAgICAgICA8Q29tcG9uZW50R3JvdXBSZWYgSWQ9InRraW50ZXJfbGliIiAvPgorICAgICAgICAgICAgCisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJpZGxlX3Nob3J0Y3V0IiBEaXJlY3Rvcnk9Ik1lbnVEaXIiPgorICAgICAgICAgICAgICAgIDxSZWdpc3RyeVZhbHVlIEtleVBhdGg9InllcyIgUm9vdD0iSEtNVSIgS2V5PSJbUkVHSVNUUllLRVldXElkbGUiIFR5cGU9InN0cmluZyIgVmFsdWU9IlsjTGliX2lkbGVsaWJfaWRsZS5weXddIiAvPgorICAgICAgICAgICAgICAgIDxSZW1vdmVGb2xkZXIgSWQ9IlJlbW92ZV9NZW51RGlyIiBPbj0idW5pbnN0YWxsIiAvPgorCisgICAgICAgICAgICAgICAgPFNob3J0Y3V0IElkPSJJRExFIgorICAgICAgICAgICAgICAgICAgICAgICAgICBEaXJlY3Rvcnk9Ik1lbnVEaXIiCisgICAgICAgICAgICAgICAgICAgICAgICAgIE5hbWU9IiEobG9jLlNob3J0Y3V0TmFtZSkiCisgICAgICAgICAgICAgICAgICAgICAgICAgIERlc2NyaXB0aW9uPSIhKGxvYy5TaG9ydGN1dERlc2NyaXB0aW9uKSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0PSJbUFlUSE9OX0VYRV0iCisgICAgICAgICAgICAgICAgICAgICAgICAgIEFyZ3VtZW50cz0nIlsjTGliX2lkbGVsaWJfaWRsZS5weXddIicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgSWNvbj0iaWRsZS5leGUiPgorICAgICAgICAgICAgICAgICAgICA8SWNvbiBJZD0iaWRsZS5leGUiIFNvdXJjZUZpbGU9IiEoYmluZHBhdGguc3JjKUxpYlxpZGxlbGliXEljb25zXGlkbGUuaWNvIiAvPgorICAgICAgICAgICAgICAgIDwvU2hvcnRjdXQ+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgPC9GZWF0dXJlPgorICAgICAgICA8P2VuZGlmID8+CisgICAgICAgIDw/aWZkZWYgSW5jbHVkZVN5bWJvbHMgPz4KKyAgICAgICAgPEZlYXR1cmUgSWQ9IlN5bWJvbHMiIEFsbG93QWR2ZXJ0aXNlPSJubyIgVGl0bGU9IiEobG9jLlRpdGxlUGRiKSIgRGVzY3JpcHRpb249IiEobG9jLkRlc2NyaXB0aW9uUGRiKSI+CisgICAgICAgICAgICA8Q29tcG9uZW50R3JvdXBSZWYgSWQ9InRraW50ZXJfZXh0ZW5zaW9uX3N5bWJvbHMiIC8+CisgICAgICAgIDwvRmVhdHVyZT4KKyAgICAgICAgPD9lbmRpZiA/PgorICAgICAgICA8P2lmZGVmIEluY2x1ZGVEZWJ1Z0JpbmFyaWVzID8+CisgICAgICAgIDxGZWF0dXJlIElkPSJEZWJ1Z0JpbmFyaWVzIiBBbGxvd0FkdmVydGlzZT0ibm8iIFRpdGxlPSIhKGxvYy5UaXRsZV9kKSIgRGVzY3JpcHRpb249IiEobG9jLkRlc2NyaXB0aW9uX2QpIj4KKyAgICAgICAgICAgIDxDb21wb25lbnRHcm91cFJlZiBJZD0idGtpbnRlcl9leHRlbnNpb25fZCIgLz4KKyAgICAgICAgICAgIDxDb21wb25lbnRHcm91cFJlZiBJZD0idGNsdGtfZGxsc19kIiAvPgorICAgICAgICA8L0ZlYXR1cmU+CisgICAgICAgIDw/ZW5kaWYgPz4KKyAgICA8L1Byb2R1Y3Q+Cis8L1dpeD4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS90Y2x0ay90Y2x0a19kLndpeHByb2ogYi9Ub29scy9tc2kvdGNsdGsvdGNsdGtfZC53aXhwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVlOWFmMzMKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvdGNsdGsvdGNsdGtfZC53aXhwcm9qCkBAIC0wLDAgKzEsMTEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgICA8UHJvcGVydHlHcm91cD4KKyAgICAgICAgPFByb2plY3RHdWlkPntFREExRkE1QS1FMkFBLTRFQUYtQjQ5Qi04N0Q5ODFDRDBGMTZ9PC9Qcm9qZWN0R3VpZD4KKyAgICAgICAgPFNjaGVtYVZlcnNpb24+Mi4wPC9TY2hlbWFWZXJzaW9uPgorICAgICAgICA8T3V0cHV0TmFtZT50Y2x0a19kPC9PdXRwdXROYW1lPgorICAgICAgICA8T3V0cHV0VHlwZT5QYWNrYWdlPC9PdXRwdXRUeXBlPgorICAgICAgICA8RGVmaW5lQ29uc3RhbnRzPkluY2x1ZGVEZWJ1Z0JpbmFyaWVzPTE7JChEZWZpbmVDb25zdGFudHMpPC9EZWZpbmVDb25zdGFudHM+CisgICAgPC9Qcm9wZXJ0eUdyb3VwPgorICAgIDxJbXBvcnQgUHJvamVjdD0idGNsdGsucHJvcHMiIC8+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL3RjbHRrL3RjbHRrX2VuLVVTLnd4bF90ZW1wbGF0ZSBiL1Rvb2xzL21zaS90Y2x0ay90Y2x0a19lbi1VUy53eGxfdGVtcGxhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDBmOGMxMAotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS90Y2x0ay90Y2x0a19lbi1VUy53eGxfdGVtcGxhdGUKQEAgLTAsMCArMSw4IEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFdpeExvY2FsaXphdGlvbiBDdWx0dXJlPSJlbi11cyIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvbG9jYWxpemF0aW9uIj4KKyAgICA8U3RyaW5nIElkPSJEZXNjcmlwdG9yIj5UY2wvVGsgU3VwcG9ydDwvU3RyaW5nPgorICAgIDxTdHJpbmcgSWQ9IlNob3J0RGVzY3JpcHRvciI+dGNsdGs8L1N0cmluZz4KKyAgICA8U3RyaW5nIElkPSJOb1B5dGhvbiI+Tm8gIShsb2MuUHJvZHVjdE5hbWUpIGluc3RhbGxhdGlvbiB3YXMgZGV0ZWN0ZWQuPC9TdHJpbmc+CisgICAgPFN0cmluZyBJZD0iU2hvcnRjdXROYW1lIj5JRExFIChQeXRob24ge3tTaG9ydFZlcnNpb259fSB7e0JpdG5lc3N9fSk8L1N0cmluZz4KKyAgICA8U3RyaW5nIElkPSJTaG9ydGN1dERlc2NyaXB0aW9uIj5MYXVuY2hlcyBJRExFLCB0aGUgaW50ZXJhY3RpdmUgZW52aXJvbm1lbnQgZm9yICEobG9jLlByb2R1Y3ROYW1lKS48L1N0cmluZz4KKzwvV2l4TG9jYWxpemF0aW9uPgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL3RjbHRrL3RjbHRrX2ZpbGVzLnd4cyBiL1Rvb2xzL21zaS90Y2x0ay90Y2x0a19maWxlcy53eHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGQxYjRhOQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS90Y2x0ay90Y2x0a19maWxlcy53eHMKQEAgLTAsMCArMSwzNSBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxXaXggeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvd2kiPgorICAgIDxGcmFnbWVudD4KKyAgICAgICAgPENvbXBvbmVudEdyb3VwIElkPSJ0a2ludGVyX2V4dGVuc2lvbiI+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJfdGtpbnRlci5weWQiIERpcmVjdG9yeT0iRExMcyIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgTmFtZT0iX3RraW50ZXIucHlkIiBLZXlQYXRoPSJ5ZXMiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9Il90a2ludGVyLmxpYiIgRGlyZWN0b3J5PSJsaWJzIiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBOYW1lPSJfdGtpbnRlci5saWIiIEtleVBhdGg9InllcyIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICA8L0NvbXBvbmVudEdyb3VwPgorICAgIDwvRnJhZ21lbnQ+CisgICAgCisgICAgPEZyYWdtZW50PgorICAgICAgICA8Q29tcG9uZW50R3JvdXAgSWQ9InRraW50ZXJfZXh0ZW5zaW9uX3N5bWJvbHMiPgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0iX3RraW50ZXIucGRiIiBEaXJlY3Rvcnk9IkRMTHMiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIE5hbWU9Il90a2ludGVyLnBkYiIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICA8L0NvbXBvbmVudEdyb3VwPgorICAgIDwvRnJhZ21lbnQ+CisgICAgCisgICAgPEZyYWdtZW50PgorICAgICAgICA8Q29tcG9uZW50R3JvdXAgSWQ9InRraW50ZXJfZXh0ZW5zaW9uX2QiPgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0iX3RraW50ZXJfZC5weWQiIERpcmVjdG9yeT0iRExMcyIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgTmFtZT0iX3RraW50ZXJfZC5weWQiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9Il90a2ludGVyX2QubGliIiBEaXJlY3Rvcnk9IkRMTHMiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIE5hbWU9Il90a2ludGVyX2QubGliIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJfdGtpbnRlcl9kLnBkYiIgRGlyZWN0b3J5PSJETExzIiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBOYW1lPSJfdGtpbnRlcl9kLnBkYiIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICA8L0NvbXBvbmVudEdyb3VwPgorICAgIDwvRnJhZ21lbnQ+Cis8L1dpeD4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS90Y2x0ay90Y2x0a19wZGIud2l4cHJvaiBiL1Rvb2xzL21zaS90Y2x0ay90Y2x0a19wZGIud2l4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYzE5OGQ0Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL3RjbHRrL3RjbHRrX3BkYi53aXhwcm9qCkBAIC0wLDAgKzEsMTEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgICA8UHJvcGVydHlHcm91cD4KKyAgICAgICAgPFByb2plY3RHdWlkPnswMjA1M0FGQS0xODMxLTQ5OUEtQjNFQS1EOEIyMjNEM0M0MER9PC9Qcm9qZWN0R3VpZD4KKyAgICAgICAgPFNjaGVtYVZlcnNpb24+Mi4wPC9TY2hlbWFWZXJzaW9uPgorICAgICAgICA8T3V0cHV0TmFtZT50Y2x0a19wZGI8L091dHB1dE5hbWU+CisgICAgICAgIDxPdXRwdXRUeXBlPlBhY2thZ2U8L091dHB1dFR5cGU+CisgICAgICAgIDxEZWZpbmVDb25zdGFudHM+SW5jbHVkZVN5bWJvbHM9MTskKERlZmluZUNvbnN0YW50cyk8L0RlZmluZUNvbnN0YW50cz4KKyAgICA8L1Byb3BlcnR5R3JvdXA+CisgICAgPEltcG9ydCBQcm9qZWN0PSJ0Y2x0ay5wcm9wcyIgLz4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvdGVzdC90ZXN0LnByb3BzIGIvVG9vbHMvbXNpL3Rlc3QvdGVzdC5wcm9wcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMjY5MTA3Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL3Rlc3QvdGVzdC5wcm9wcwpAQCAtMCwwICsxLDIyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgICAgPEltcG9ydCBQcm9qZWN0PSIuLlxtc2kucHJvcHMiIC8+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPENvbXBpbGUgSW5jbHVkZT0iKi53eHMiIC8+CisgICAgPC9JdGVtR3JvdXA+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPEVtYmVkZGVkUmVzb3VyY2UgSW5jbHVkZT0iKi53eGwiIC8+CisgICAgPC9JdGVtR3JvdXA+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPEluc3RhbGxGaWxlcyBJbmNsdWRlPSIkKFB5U291cmNlUGF0aClMaWJcdGVzdFwqKlwqIgorICAgICAgICAgICAgICAgICAgICAgIEV4Y2x1ZGU9IiQoUHlTb3VyY2VQYXRoKUxpYlwqKlwqLnB5YzskKFB5U291cmNlUGF0aClMaWJcKipcKi5weW8iPgorICAgICAgICAgICAgPFNvdXJjZUJhc2U+JChQeVNvdXJjZVBhdGgpPC9Tb3VyY2VCYXNlPgorICAgICAgICAgICAgPFNvdXJjZT4hKGJpbmRwYXRoLnNyYyk8L1NvdXJjZT4KKyAgICAgICAgICAgIDxUYXJnZXRCYXNlPiQoUHlTb3VyY2VQYXRoKTwvVGFyZ2V0QmFzZT4KKyAgICAgICAgICAgIDxUYXJnZXRfPjwvVGFyZ2V0Xz4KKyAgICAgICAgICAgIDxHcm91cD50ZXN0X3B5PC9Hcm91cD4KKyAgICAgICAgPC9JbnN0YWxsRmlsZXM+CisgICAgPC9JdGVtR3JvdXA+CisgICAgCisgICAgPEltcG9ydCBQcm9qZWN0PSIuLlxtc2kudGFyZ2V0cyIgLz4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvdGVzdC90ZXN0LndpeHByb2ogYi9Ub29scy9tc2kvdGVzdC90ZXN0LndpeHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDc0N2NjMAotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS90ZXN0L3Rlc3Qud2l4cHJvagpAQCAtMCwwICsxLDExIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICAgIDxQcm9qZWN0R3VpZD57REUwQjdDQzItNDM1OC00MTMxLUIzRjQtQzMxQzdGMkNENDY4fTwvUHJvamVjdEd1aWQ+CisgICAgICAgIDxTY2hlbWFWZXJzaW9uPjIuMDwvU2NoZW1hVmVyc2lvbj4KKyAgICAgICAgPE91dHB1dE5hbWU+dGVzdDwvT3V0cHV0TmFtZT4KKyAgICAgICAgPE91dHB1dFR5cGU+UGFja2FnZTwvT3V0cHV0VHlwZT4KKyAgICAgICAgPERlZmluZUNvbnN0YW50cz5JbmNsdWRlRGVmYXVsdEZlYXR1cmU9MTskKERlZmluZUNvbnN0YW50cyk8L0RlZmluZUNvbnN0YW50cz4KKyAgICA8L1Byb3BlcnR5R3JvdXA+CisgICAgPEltcG9ydCBQcm9qZWN0PSJ0ZXN0LnByb3BzIiAvPgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS90ZXN0L3Rlc3Qud3hzIGIvVG9vbHMvbXNpL3Rlc3QvdGVzdC53eHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDRhYzMzZgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS90ZXN0L3Rlc3Qud3hzCkBAIC0wLDAgKzEsMjcgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8UHJvZHVjdCBJZD0iKiIgTGFuZ3VhZ2U9IiEobG9jLkxDSUQpIiBOYW1lPSIhKGxvYy5UaXRsZSkiIFZlcnNpb249IiQodmFyLlZlcnNpb24pIiBNYW51ZmFjdHVyZXI9IiEobG9jLk1hbnVmYWN0dXJlcikiIFVwZ3JhZGVDb2RlPSIkKHZhci5VcGdyYWRlQ29kZSkiPgorICAgICAgICA8UGFja2FnZSBJbnN0YWxsZXJWZXJzaW9uPSIzMDAiIENvbXByZXNzZWQ9InllcyIgSW5zdGFsbFNjb3BlPSJwZXJVc2VyIiBQbGF0Zm9ybT0iJCh2YXIuUGxhdGZvcm0pIiAvPgorICAgICAgICA8TWVkaWFUZW1wbGF0ZSBFbWJlZENhYj0ieWVzIiBDb21wcmVzc2lvbkxldmVsPSJoaWdoIiAvPgorICAgICAgICAKKyAgICAgICAgPFByb3BlcnR5UmVmIElkPSJVcGdyYWRlVGFibGUiIC8+CisgICAgICAgIDxQcm9wZXJ0eVJlZiBJZD0iUkVHSVNUUllLRVkiIC8+CisgICAgICAgIAorICAgICAgICA8P2lmZGVmIEluY2x1ZGVEZWZhdWx0RmVhdHVyZSA/PgorICAgICAgICA8RmVhdHVyZSBJZD0iRGVmYXVsdEZlYXR1cmUiIEFsbG93QWR2ZXJ0aXNlPSJubyIgVGl0bGU9IiEobG9jLlRpdGxlKSIgRGVzY3JpcHRpb249IiEobG9jLkRlc2NyaXB0aW9uKSI+CisgICAgICAgICAgICA8Q29tcG9uZW50R3JvdXBSZWYgSWQ9InRlc3RfcHkiIC8+CisgICAgICAgICAgICA8Q29tcG9uZW50R3JvdXBSZWYgSWQ9InRlc3RfZXh0ZW5zaW9ucyIgLz4KKyAgICAgICAgPC9GZWF0dXJlPgorICAgICAgICA8P2VuZGlmID8+CisgICAgICAgIDw/aWZkZWYgSW5jbHVkZVN5bWJvbHMgPz4KKyAgICAgICAgPEZlYXR1cmUgSWQ9IlN5bWJvbHMiIEFsbG93QWR2ZXJ0aXNlPSJubyIgVGl0bGU9IiEobG9jLlRpdGxlUGRiKSIgRGVzY3JpcHRpb249IiEobG9jLkRlc2NyaXB0aW9uUGRiKSI+CisgICAgICAgICAgICA8Q29tcG9uZW50R3JvdXBSZWYgSWQ9InRlc3RfZXh0ZW5zaW9uc19zeW1ib2xzIiAvPgorICAgICAgICA8L0ZlYXR1cmU+CisgICAgICAgIDw/ZW5kaWYgPz4KKyAgICAgICAgPD9pZmRlZiBJbmNsdWRlRGVidWdCaW5hcmllcyA/PgorICAgICAgICA8RmVhdHVyZSBJZD0iRGVidWdCaW5hcmllcyIgQWxsb3dBZHZlcnRpc2U9Im5vIiBUaXRsZT0iIShsb2MuVGl0bGVfZCkiIERlc2NyaXB0aW9uPSIhKGxvYy5EZXNjcmlwdGlvbl9kKSI+CisgICAgICAgICAgICA8Q29tcG9uZW50R3JvdXBSZWYgSWQ9InRlc3RfZXh0ZW5zaW9uc19kIiAvPgorICAgICAgICA8L0ZlYXR1cmU+CisgICAgICAgIDw/ZW5kaWYgPz4KKyAgICA8L1Byb2R1Y3Q+Cis8L1dpeD4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS90ZXN0L3Rlc3RfZC53aXhwcm9qIGIvVG9vbHMvbXNpL3Rlc3QvdGVzdF9kLndpeHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODRkNDMxMwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS90ZXN0L3Rlc3RfZC53aXhwcm9qCkBAIC0wLDAgKzEsMTEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgICA8UHJvcGVydHlHcm91cD4KKyAgICAgICAgPFByb2plY3RHdWlkPns0MUY1QUU4RC0yNENELTREMDMtQkU3NS1BQTZGN0ZBQjQwOTd9PC9Qcm9qZWN0R3VpZD4KKyAgICAgICAgPFNjaGVtYVZlcnNpb24+Mi4wPC9TY2hlbWFWZXJzaW9uPgorICAgICAgICA8T3V0cHV0TmFtZT50ZXN0X2Q8L091dHB1dE5hbWU+CisgICAgICAgIDxPdXRwdXRUeXBlPlBhY2thZ2U8L091dHB1dFR5cGU+CisgICAgICAgIDxEZWZpbmVDb25zdGFudHM+SW5jbHVkZURlYnVnQmluYXJpZXM9MTskKERlZmluZUNvbnN0YW50cyk8L0RlZmluZUNvbnN0YW50cz4KKyAgICA8L1Byb3BlcnR5R3JvdXA+CisgICAgPEltcG9ydCBQcm9qZWN0PSJ0ZXN0LnByb3BzIiAvPgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS90ZXN0L3Rlc3RfZW4tVVMud3hsIGIvVG9vbHMvbXNpL3Rlc3QvdGVzdF9lbi1VUy53eGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTYxNWM3YQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS90ZXN0L3Rlc3RfZW4tVVMud3hsCkBAIC0wLDAgKzEsNyBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxXaXhMb2NhbGl6YXRpb24gQ3VsdHVyZT0iZW4tdXMiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L2xvY2FsaXphdGlvbiI+CisgICAgPFN0cmluZyBJZD0iRGVzY3JpcHRvciI+VGVzdCBTdWl0ZTwvU3RyaW5nPgorICAgIDxTdHJpbmcgSWQ9IlNob3J0RGVzY3JpcHRvciI+dGVzdDwvU3RyaW5nPgorICAgIDxTdHJpbmcgSWQ9Ik5hdGl2ZU1vZHVsZXNUaXRsZSI+IShsb2MuRnVsbFByb2R1Y3ROYW1lKSBuYXRpdmUgbGlidGVzdDwvU3RyaW5nPgorICAgIDxTdHJpbmcgSWQ9Ik5hdGl2ZU1vZHVsZXNEZXNjcmlwdGlvbiI+IShsb2MuUHJvZHVjdE5hbWUpIE5hdGl2ZSBUZXN0IE1vZHVsZXM8L1N0cmluZz4KKzwvV2l4TG9jYWxpemF0aW9uPgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL3Rlc3QvdGVzdF9maWxlcy53eHMgYi9Ub29scy9tc2kvdGVzdC90ZXN0X2ZpbGVzLnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZDVmNTkzCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL3Rlc3QvdGVzdF9maWxlcy53eHMKQEAgLTAsMCArMSw2NSBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxXaXggeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvd2kiPgorICAgIDxGcmFnbWVudD4KKyAgICAgICAgPENvbXBvbmVudEdyb3VwIElkPSJ0ZXN0X2V4dGVuc2lvbnMiPgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0iX3Rlc3RjYXBpLnB5ZCIgRGlyZWN0b3J5PSJETExzIiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBJZD0iX3Rlc3RjYXBpLnB5ZCIgTmFtZT0iX3Rlc3RjYXBpLnB5ZCIgS2V5UGF0aD0ieWVzIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJfY3R5cGVzX3Rlc3QucHlkIiBEaXJlY3Rvcnk9IkRMTHMiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIElkPSJfY3R5cGVzX3Rlc3QucHlkIiBOYW1lPSJfY3R5cGVzX3Rlc3QucHlkIiBLZXlQYXRoPSJ5ZXMiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9Il90ZXN0YnVmZmVyLnB5ZCIgRGlyZWN0b3J5PSJETExzIiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBJZD0iX3Rlc3RidWZmZXIucHlkIiBOYW1lPSJfdGVzdGJ1ZmZlci5weWQiIEtleVBhdGg9InllcyIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0iX3Rlc3RpbXBvcnRtdWx0aXBsZS5weWQiIERpcmVjdG9yeT0iRExMcyIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgSWQ9Il90ZXN0aW1wb3J0bXVsdGlwbGUucHlkIiBOYW1lPSJfdGVzdGltcG9ydG11bHRpcGxlLnB5ZCIgS2V5UGF0aD0ieWVzIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgIDwvQ29tcG9uZW50R3JvdXA+CisgICAgPC9GcmFnbWVudD4KKyAgICAKKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxDb21wb25lbnRHcm91cCBJZD0idGVzdF9leHRlbnNpb25zX3N5bWJvbHMiPgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0iX3Rlc3RjYXBpLnBkYiIgRGlyZWN0b3J5PSJETExzIiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBJZD0iX3Rlc3RjYXBpLnBkYiIgTmFtZT0iX3Rlc3RjYXBpLnBkYiIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0iX2N0eXBlc190ZXN0LnBkYiIgRGlyZWN0b3J5PSJETExzIiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBJZD0iX2N0eXBlc190ZXN0LnBkYiIgTmFtZT0iX2N0eXBlc190ZXN0LnBkYiIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0iX3Rlc3RidWZmZXIucGRiIiBEaXJlY3Rvcnk9IkRMTHMiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIElkPSJfdGVzdGJ1ZmZlci5wZGIiIE5hbWU9Il90ZXN0YnVmZmVyLnBkYiIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0iX3Rlc3RpbXBvcnRtdWx0aXBsZS5wZGIiIERpcmVjdG9yeT0iRExMcyIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgSWQ9Il90ZXN0aW1wb3J0bXVsdGlwbGUucGRiIiBOYW1lPSJfdGVzdGltcG9ydG11bHRpcGxlLnBkYiIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICA8L0NvbXBvbmVudEdyb3VwPgorICAgIDwvRnJhZ21lbnQ+CisgICAgCisgICAgPEZyYWdtZW50PgorICAgICAgICA8Q29tcG9uZW50R3JvdXAgSWQ9InRlc3RfZXh0ZW5zaW9uc19kIj4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9Il90ZXN0Y2FwaV9kLnB5ZCIgRGlyZWN0b3J5PSJETExzIiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBJZD0iX3Rlc3RjYXBpX2QucHlkIiBOYW1lPSJfdGVzdGNhcGlfZC5weWQiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9Il9jdHlwZXNfdGVzdF9kLnB5ZCIgRGlyZWN0b3J5PSJETExzIiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBJZD0iX2N0eXBlc190ZXN0X2QucHlkIiBOYW1lPSJfY3R5cGVzX3Rlc3RfZC5weWQiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9Il90ZXN0YnVmZmVyX2QucHlkIiBEaXJlY3Rvcnk9IkRMTHMiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIElkPSJfdGVzdGJ1ZmZlcl9kLnB5ZCIgTmFtZT0iX3Rlc3RidWZmZXJfZC5weWQiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9Il90ZXN0aW1wb3J0bXVsdGlwbGVfZC5weWQiIERpcmVjdG9yeT0iRExMcyIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgSWQ9Il90ZXN0aW1wb3J0bXVsdGlwbGVfZC5weWQiIE5hbWU9Il90ZXN0aW1wb3J0bXVsdGlwbGVfZC5weWQiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9Il90ZXN0Y2FwaV9kLnBkYiIgRGlyZWN0b3J5PSJETExzIiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBJZD0iX3Rlc3RjYXBpX2QucGRiIiBOYW1lPSJfdGVzdGNhcGlfZC5wZGIiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9Il9jdHlwZXNfdGVzdF9kLnBkYiIgRGlyZWN0b3J5PSJETExzIiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBJZD0iX2N0eXBlc190ZXN0X2QucGRiIiBOYW1lPSJfY3R5cGVzX3Rlc3RfZC5wZGIiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9Il90ZXN0YnVmZmVyX2QucGRiIiBEaXJlY3Rvcnk9IkRMTHMiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIElkPSJfdGVzdGJ1ZmZlcl9kLnBkYiIgTmFtZT0iX3Rlc3RidWZmZXJfZC5wZGIiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9Il90ZXN0aW1wb3J0bXVsdGlwbGVfZC5wZGIiIERpcmVjdG9yeT0iRExMcyIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgSWQ9Il90ZXN0aW1wb3J0bXVsdGlwbGVfZC5wZGIiIE5hbWU9Il90ZXN0aW1wb3J0bXVsdGlwbGVfZC5wZGIiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgPC9Db21wb25lbnRHcm91cD4KKyAgICA8L0ZyYWdtZW50PgorPC9XaXg+CmRpZmYgLS1naXQgYS9Ub29scy9tc2kvdGVzdC90ZXN0X3BkYi53aXhwcm9qIGIvVG9vbHMvbXNpL3Rlc3QvdGVzdF9wZGIud2l4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNjA3YTQ3Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL3Rlc3QvdGVzdF9wZGIud2l4cHJvagpAQCAtMCwwICsxLDExIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICAgIDxQcm9qZWN0R3VpZD57N0NGNDhBREQtQ0ZBQS00OTlGLTlBMDUtQkExODQ0MEEzMzQ0fTwvUHJvamVjdEd1aWQ+CisgICAgICAgIDxTY2hlbWFWZXJzaW9uPjIuMDwvU2NoZW1hVmVyc2lvbj4KKyAgICAgICAgPE91dHB1dE5hbWU+dGVzdF9wZGI8L091dHB1dE5hbWU+CisgICAgICAgIDxPdXRwdXRUeXBlPlBhY2thZ2U8L091dHB1dFR5cGU+CisgICAgICAgIDxEZWZpbmVDb25zdGFudHM+SW5jbHVkZVN5bWJvbHM9MTskKERlZmluZUNvbnN0YW50cyk8L0RlZmluZUNvbnN0YW50cz4KKyAgICA8L1Byb3BlcnR5R3JvdXA+CisgICAgPEltcG9ydCBQcm9qZWN0PSJ0ZXN0LnByb3BzIiAvPgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS90ZXN0cmVsZWFzZS5iYXQgYi9Ub29scy9tc2kvdGVzdHJlbGVhc2UuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVjOWUwMTUKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvdGVzdHJlbGVhc2UuYmF0CkBAIC0wLDAgKzEsMTAwIEBACitAc2V0bG9jYWwKK0BlY2hvIG9mZgorCitzZXQgRD0lfmRwMAorc2V0IFBDQlVJTEQ9JUQlLi5cLi5cUENCdWlsZFwKKworc2V0IFRBUkdFVERJUj0lVEVNUCUKK3NldCBURVNUWDg2PQorc2V0IFRFU1RYNjQ9CitzZXQgVEVTVEFMTFVTRVI9CitzZXQgVEVTVFBFUlVTRVI9CisKKzpDaGVja09wdHMKK2lmICIlMSIgRVFVICItaCIgZ290byBIZWxwCitpZiAiJTEiIEVRVSAiLXg4NiIgKHNldCBURVNUWDg2PTEpICYmIHNoaWZ0ICYmIGdvdG8gQ2hlY2tPcHRzCitpZiAiJTEiIEVRVSAiLXg2NCIgKHNldCBURVNUWDY0PTEpICYmIHNoaWZ0ICYmIGdvdG8gQ2hlY2tPcHRzCitpZiAiJTEiIEVRVSAiLXQiIChzZXQgVEFSR0VURElSPSV+MikgJiYgc2hpZnQgJiYgc2hpZnQgJiYgZ290byBDaGVja09wdHMKK2lmICIlMSIgRVFVICItLXRhcmdldCIgKHNldCBUQVJHRVRESVI9JX4yKSAmJiBzaGlmdCAmJiBzaGlmdCAmJiBnb3RvIENoZWNrT3B0cworaWYgIiUxIiBFUVUgIi1hIiAoc2V0IFRFU1RBTExVU0VSPTEpICYmIHNoaWZ0ICYmIGdvdG8gQ2hlY2tPcHRzCitpZiAiJTEiIEVRVSAiLS1hbGx1c2VyIiAoc2V0IFRFU1RBTExVU0VSPTEpICYmIHNoaWZ0ICYmIGdvdG8gQ2hlY2tPcHRzCitpZiAiJTEiIEVRVSAiLXAiIChzZXQgVEVTVFBFUlVTRVI9MSkgJiYgc2hpZnQgJiYgZ290byBDaGVja09wdHMKK2lmICIlMSIgRVFVICItLXBlcnVzZXIiIChzZXQgVEVTVFBFUlVTRVI9MSkgJiYgc2hpZnQgJiYgZ290byBDaGVja09wdHMKKworaWYgbm90IGRlZmluZWQgVEVTVFg4NiBpZiBub3QgZGVmaW5lZCBURVNUWDY0IChzZXQgVEVTVFg4Nj0xKSAmJiAoc2V0IFRFU1RYNjQ9MSkKK2lmIG5vdCBkZWZpbmVkIFRFU1RBTExVU0VSIGlmIG5vdCBkZWZpbmVkIFRFU1RQRVJVU0VSIChzZXQgVEVTVEFMTFVTRVI9MSkgJiYgKHNldCBURVNUUEVSVVNFUj0xKQorCisKK2lmIGRlZmluZWQgVEVTVFg4NiAoCisgICAgZm9yICUlZiBpbiAoIiVQQ0JVSUxEJXdpbjMyXGVuLXVzXCouZXhlIikgZG8gKAorICAgICAgICBpZiBkZWZpbmVkIFRFU1RBTExVU0VSIGNhbGwgOnRlc3QgIiUlfmZmIiAiJVRBUkdFVERJUiVcJSV+bmYtYWxsdXNlciIgIkluc3RhbGxBbGxVc2Vycz0xIENvbXBpbGVBbGw9MSIKKyAgICAgICAgaWYgZXJyb3JsZXZlbCAxIGV4aXQgL0IKKyAgICAgICAgaWYgZGVmaW5lZCBURVNUUEVSVVNFUiBjYWxsIDp0ZXN0ICIlJX5mZiIgIiVUQVJHRVRESVIlXCUlfm5mLXBlcnVzZXIiICJJbnN0YWxsQWxsVXNlcnM9MCBDb21waWxlQWxsPTAiCisgICAgICAgIGlmIGVycm9ybGV2ZWwgMSBleGl0IC9CCisgICAgKQorKQorCitpZiBkZWZpbmVkIFRFU1RYNjQgKAorICAgIGZvciAlJWYgaW4gKCIlUENCVUlMRCVhbWQ2NFxlbi11c1wqLmV4ZSIpIGRvICgKKyAgICAgICAgaWYgZGVmaW5lZCBURVNUQUxMVVNFUiBjYWxsIDp0ZXN0ICIlJX5mZiIgIiVUQVJHRVRESVIlXCUlfm5mLWFsbHVzZXIiICJJbnN0YWxsQWxsVXNlcnM9MSBDb21waWxlQWxsPTEiCisgICAgICAgIGlmIGVycm9ybGV2ZWwgMSBleGl0IC9CCisgICAgICAgIGlmIGRlZmluZWQgVEVTVFBFUlVTRVIgY2FsbCA6dGVzdCAiJSV+ZmYiICIlVEFSR0VURElSJVwlJX5uZi1wZXJ1c2VyIiAiSW5zdGFsbEFsbFVzZXJzPTAgQ29tcGlsZUFsbD0wIgorICAgICAgICBpZiBlcnJvcmxldmVsIDEgZXhpdCAvQgorICAgICkKKykKKworZXhpdCAvQiAwCisKKzp0ZXN0CitAc2V0bG9jYWwKK0BlY2hvIG9uCisKK0BpZiBub3QgZXhpc3QgIiV+MSIgZXhpdCAvQiAxCisKK0BzZXQgRVhJVENPREU9MAorQGVjaG8gSW5zdGFsbGluZyAlMSBpbnRvICUyCisiJX4xIiAvcGFzc2l2ZSAvbG9nICIlfjJcaW5zdGFsbFxsb2cudHh0IiBUYXJnZXREaXI9IiV+MlxQeXRob24iIEluY2x1ZGVfZGVidWc9MSBJbmNsdWRlX3N5bWJvbHM9MSAlfjMKKworQGlmIG5vdCBlcnJvcmxldmVsIDEgKAorICAgIEBlY2hvIFByaW50aW5nIHZlcnNpb24KKyAgICAiJX4yXFB5dGhvblxweXRob24uZXhlIiAtYyAiaW1wb3J0IHN5czsgcHJpbnQoc3lzLnZlcnNpb24pIiA+ICIlfjJcdmVyc2lvbi50eHQiIDI+JjEKKykKK0BpZiBub3QgZXJyb3JsZXZlbCAxICgKKyAgICBAZWNobyBJbnN0YWxsaW5nIHBhY2thZ2UKKyAgICAiJX4yXFB5dGhvblxweXRob24uZXhlIiAtbSBwaXAgaW5zdGFsbCBhenVyZSA+ICIlfjJccGlwLnR4dCIgMj4mMQorICAgIEBpZiBub3QgZXJyb3JsZXZlbCAxICgKKyAgICAgICAgIiV+MlxQeXRob25ccHl0aG9uLmV4ZSIgLW0gcGlwIHVuaW5zdGFsbCAteSBhenVyZSBweXRob24tZGF0ZXV0aWwgc2l4ID4+ICIlfjJccGlwLnR4dCIgMj4mMQorICAgICkKKykKK0BpZiBub3QgZXJyb3JsZXZlbCAxICgKKyAgICBAZWNobyBUZXN0aW5nIFRjbC90aworICAgIEBzZXQgVENMX0xJQlJBUlk9JX4yXFB5dGhvblx0Y2xcdGNsOC42CisgICAgIiV+MlxQeXRob25ccHl0aG9uLmV4ZSIgLW0gdGVzdCAtdWFsbCAtdiB0ZXN0X3R0a19ndWlvbmx5IHRlc3RfdGsgdGVzdF9pZGxlID4gIiV+Mlx0Y2x0ay50eHQiIDI+JjEKKyAgICBAc2V0IFRDTF9MSUJSQVJZPQorKQorCitAc2V0IEVYSVRDT0RFPSVFUlJPUkxFVkVMJQorCitAZm9yIC9kICUlZiBpbiAoIiVQUk9HUkFNREFUQSVcTWljcm9zb2Z0XFdpbmRvd3NcU3RhcnQgTWVudVxQcm9ncmFtc1xQeXRob24qIikgZG8gQGRpciAiJSV+ZmZcKi5sbmsiIC9zL2IgPiAiJX4yXHN0YXJ0bWVudS50eHQiIDI+JjEKK0Bmb3IgL2QgJSVmIGluICgiJUFQUERBVEElXE1pY3Jvc29mdFxXaW5kb3dzXFN0YXJ0IE1lbnVcUHJvZ3JhbXNcUHl0aG9uKiIpIGRvIEBkaXIgIiUlfmZmXCoubG5rIiAvcy9iID4+ICIlfjJcc3RhcnRtZW51LnR4dCIgMj4mMQorCitAZWNobyBSZXN1bHQgd2FzICVFWElUQ09ERSUKK0BlY2hvIFJlbW92aW5nICUxCisiJX4xIiAvcGFzc2l2ZSAvdW5pbnN0YWxsIC9sb2cgIiV+Mlx1bmluc3RhbGxcbG9nLnR4dCIKKworQGVjaG8gb2ZmCitleGl0IC9CICVFWElUQ09ERSUKKworOkhlbHAKK2VjaG8gdGVzdHJlbGVhc2UuYmF0IFstLXRhcmdldCBUQVJHRVRdIFsteDg2XSBbLXg2NF0gWy0tYWxsdXNlcl0gWy0tcGVydXNlcl0gWy1oXQorZWNoby4KK2VjaG8gICAgLS10YXJnZXQgKC10KSAgIFNwZWNpZnkgdGhlIHRhcmdldCBkaXJlY3RvcnkgZm9yIGluc3RhbGxzIGFuZCBsb2dzCitlY2hvICAgIC14ODYgICAgICAgICAgICBSdW4gdGVzdHMgZm9yIHg4NiBpbnN0YWxsZXJzCitlY2hvICAgIC14NjQgICAgICAgICAgICBSdW4gdGVzdHMgZm9yIHg2NCBpbnN0YWxsZXJzCitlY2hvICAgIC0tYWxsdXNlciAoLWEpICBSdW4gdGVzdHMgZm9yIGFsbC11c2VyIGluc3RhbGxzIChyZXF1aXJlcyBBZG1pbmlzdHJhdG9yKQorZWNobyAgICAtLXBlcnVzZXIgKC1wKSAgUnVuIHRlc3RzIGZvciBwZXItdXNlciBpbnN0YWxscworZWNobyAgICAtaCAgICAgICAgICAgICAgRGlzcGxheSB0aGlzIGhlbHAgaW5mb3JtYXRpb24KK2VjaG8uCitlY2hvIElmIG5vIHRlc3QgYXJjaGl0ZWN0dXJlIGlzIHNwZWNpZmllZCwgYWxsIGFyY2hpdGVjdHVyZXMgd2lsbCBiZSB0ZXN0ZWQuCitlY2hvIElmIG5vIGluc3RhbGwgdHlwZSBpcyBzZWxlY3RlZCwgYWxsIGluc3RhbGwgdHlwZXMgd2lsbCBiZSB0ZXN0ZWQuCitlY2hvLgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL3Rvb2xzL3Rvb2xzLndpeHByb2ogYi9Ub29scy9tc2kvdG9vbHMvdG9vbHMud2l4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOGU2YmFiCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL3Rvb2xzL3Rvb2xzLndpeHByb2oKQEAgLTAsMCArMSw0MiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgICA8UHJvamVjdEd1aWQ+ezI0Q0JFQjk1LUJDMUUtNEVBOS1BRUE5LTMzODM0QkNDRDBFQ308L1Byb2plY3RHdWlkPgorICAgICAgICA8U2NoZW1hVmVyc2lvbj4yLjA8L1NjaGVtYVZlcnNpb24+CisgICAgICAgIDxPdXRwdXROYW1lPnRvb2xzPC9PdXRwdXROYW1lPgorICAgICAgICA8T3V0cHV0VHlwZT5QYWNrYWdlPC9PdXRwdXRUeXBlPgorICAgIDwvUHJvcGVydHlHcm91cD4KKyAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXG1zaS5wcm9wcyIgLz4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8Q29tcGlsZSBJbmNsdWRlPSIqLnd4cyIgLz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8RW1iZWRkZWRSZXNvdXJjZSBJbmNsdWRlPSIqLnd4bCIgLz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8VG9vbERpcmVjdG9yaWVzIEluY2x1ZGU9InNjcmlwdHM7aTE4bjtweW5jaGU7cHluY2hlXFg7ZGVtbyIgLz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8SW5zdGFsbEZpbGVzIEluY2x1ZGU9IiQoUHlTb3VyY2VQYXRoKVRvb2xzXHNjcmlwdHNcKipcKi5weTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFB5U291cmNlUGF0aClUb29sc1xzY3JpcHRzXCoqXCoucHl3OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoUHlTb3VyY2VQYXRoKVRvb2xzXHNjcmlwdHNcKipcKi50eHQ7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJChQeVNvdXJjZVBhdGgpVG9vbHNcaTE4blwqKlwqLnB5OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoUHlTb3VyY2VQYXRoKVRvb2xzXGkxOG5cKipcKi5weXc7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJChQeVNvdXJjZVBhdGgpVG9vbHNcaTE4blwqKlwqLnR4dDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFB5U291cmNlUGF0aClUb29sc1xweW5jaGVcKipcKi5weTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFB5U291cmNlUGF0aClUb29sc1xweW5jaGVcKipcKi5weXc7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJChQeVNvdXJjZVBhdGgpVG9vbHNccHluY2hlXCoqXCoudHh0OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoUHlTb3VyY2VQYXRoKVRvb2xzXGRlbW9cKipcKi5weTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFB5U291cmNlUGF0aClUb29sc1xkZW1vXCoqXCoucHl3OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoUHlTb3VyY2VQYXRoKVRvb2xzXGRlbW9cKipcKi50eHQ7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJChQeVNvdXJjZVBhdGgpVG9vbHNccGFyc2VyXCoqXCoucHkiPgorICAgICAgICAgICAgICAgIDxTb3VyY2VCYXNlPiQoUHlTb3VyY2VQYXRoKTwvU291cmNlQmFzZT4KKyAgICAgICAgICAgICAgICA8U291cmNlPiEoYmluZHBhdGguc3JjKTwvU291cmNlPgorICAgICAgICAgICAgICAgIDxUYXJnZXRCYXNlPiQoUHlTb3VyY2VQYXRoKTwvVGFyZ2V0QmFzZT4KKyAgICAgICAgICAgICAgICA8VGFyZ2V0Xz48L1RhcmdldF8+CisgICAgICAgICAgICAgICAgPEdyb3VwPnRvb2xzX3B5PC9Hcm91cD4KKyAgICAgICAgPC9JbnN0YWxsRmlsZXM+CisgICAgPC9JdGVtR3JvdXA+CisgICAgCisgICAgPEltcG9ydCBQcm9qZWN0PSIuLlxtc2kudGFyZ2V0cyIgLz4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvdG9vbHMvdG9vbHMud3hzIGIvVG9vbHMvbXNpL3Rvb2xzL3Rvb2xzLnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNjZkNGM2Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL3Rvb2xzL3Rvb2xzLnd4cwpAQCAtMCwwICsxLDE0IEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPFdpeCB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi93aSI+CisgICAgPFByb2R1Y3QgSWQ9IioiIExhbmd1YWdlPSIhKGxvYy5MQ0lEKSIgTmFtZT0iIShsb2MuVGl0bGUpIiBWZXJzaW9uPSIkKHZhci5WZXJzaW9uKSIgTWFudWZhY3R1cmVyPSIhKGxvYy5NYW51ZmFjdHVyZXIpIiBVcGdyYWRlQ29kZT0iJCh2YXIuVXBncmFkZUNvZGUpIj4KKyAgICAgICAgPFBhY2thZ2UgSW5zdGFsbGVyVmVyc2lvbj0iMzAwIiBDb21wcmVzc2VkPSJ5ZXMiIEluc3RhbGxTY29wZT0icGVyVXNlciIgUGxhdGZvcm09IiQodmFyLlBsYXRmb3JtKSIgLz4KKyAgICAgICAgPE1lZGlhVGVtcGxhdGUgRW1iZWRDYWI9InllcyIgQ29tcHJlc3Npb25MZXZlbD0iaGlnaCIgLz4KKyAgICAgICAgCisgICAgICAgIDxQcm9wZXJ0eVJlZiBJZD0iVXBncmFkZVRhYmxlIiAvPgorICAgICAgICAKKyAgICAgICAgPEZlYXR1cmUgSWQ9IkRlZmF1bHRGZWF0dXJlIiBBbGxvd0FkdmVydGlzZT0ibm8iIFRpdGxlPSIhKGxvYy5UaXRsZSkiIERlc2NyaXB0aW9uPSIhKGxvYy5EZXNjcmlwdGlvbikiPgorICAgICAgICAgICAgPENvbXBvbmVudEdyb3VwUmVmIElkPSJ0b29sc19weSIgLz4KKyAgICAgICAgICAgIDxDb21wb25lbnRHcm91cFJlZiBJZD0idG9vbHNfc2NyaXB0cyIgLz4KKyAgICAgICAgPC9GZWF0dXJlPgorICAgIDwvUHJvZHVjdD4KKzwvV2l4PgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL3Rvb2xzL3Rvb2xzX2VuLVVTLnd4bCBiL1Rvb2xzL21zaS90b29scy90b29sc19lbi1VUy53eGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTEzODQxNwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS90b29scy90b29sc19lbi1VUy53eGwKQEAgLTAsMCArMSw1IEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFdpeExvY2FsaXphdGlvbiBDdWx0dXJlPSJlbi11cyIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvbG9jYWxpemF0aW9uIj4KKyAgICA8U3RyaW5nIElkPSJEZXNjcmlwdG9yIj5VdGlsaXR5IFNjcmlwdHM8L1N0cmluZz4KKyAgICA8U3RyaW5nIElkPSJTaG9ydERlc2NyaXB0b3IiPnRvb2xzPC9TdHJpbmc+Cis8L1dpeExvY2FsaXphdGlvbj4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS90b29scy90b29sc19maWxlcy53eHMgYi9Ub29scy9tc2kvdG9vbHMvdG9vbHNfZmlsZXMud3hzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNhZTBkYjIKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvdG9vbHMvdG9vbHNfZmlsZXMud3hzCkBAIC0wLDAgKzEsMTYgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxDb21wb25lbnRHcm91cCBJZD0idG9vbHNfc2NyaXB0cyI+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJUb29sc19zY3JpcHRzXzJ0bzMucHkiIERpcmVjdG9yeT0iVG9vbHNfc2NyaXB0cyIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgSWQ9IlRvb2xzX3NjcmlwdHNfMnRvMy5weSIgTmFtZT0iMnRvMy5weSIgU291cmNlPSIhKGJpbmRwYXRoLnNyYylUb29sc1xzY3JpcHRzXDJ0bzMiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9IlRvb2xzX3NjcmlwdHNfcHlkb2MzLnB5IiBEaXJlY3Rvcnk9IlRvb2xzX3NjcmlwdHMiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIElkPSJUb29sc19zY3JpcHRzX3B5ZG9jMy5weSIgTmFtZT0icHlkb2MzLnB5IiBTb3VyY2U9IiEoYmluZHBhdGguc3JjKVRvb2xzXHNjcmlwdHNccHlkb2MzIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJUb29sc19zY3JpcHRzX3B5dmVudi5weSIgRGlyZWN0b3J5PSJUb29sc19zY3JpcHRzIiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBJZD0iVG9vbHNfc2NyaXB0c19weXZlbnYucHkiIE5hbWU9InB5dmVudi5weSIgU291cmNlPSIhKGJpbmRwYXRoLnNyYylUb29sc1xzY3JpcHRzXHB5dmVudiIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICA8L0NvbXBvbmVudEdyb3VwPgorICAgIDwvRnJhZ21lbnQ+Cis8L1dpeD4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS91aXNhbXBsZS5weSBiL1Rvb2xzL21zaS91aXNhbXBsZS5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTQzMDgwNS4uMDAwMDAwMAotLS0gYS9Ub29scy9tc2kvdWlzYW1wbGUucHkKKysrIC9kZXYvbnVsbApAQCAtMSwxNDAwICswLDAgQEAKLQotaW1wb3J0IG1zaWxpYixvcztkaXJuYW1lPW9zLnBhdGguZGlybmFtZShfX2ZpbGVfXykKLUFkbWluRXhlY3V0ZVNlcXVlbmNlID0gWwotKHUnSW5zdGFsbFZhbGlkYXRlJywgTm9uZSwgMTQwMCksCi0odSdJbnN0YWxsSW5pdGlhbGl6ZScsIE5vbmUsIDE1MDApLAotKHUnSW5zdGFsbEZpbmFsaXplJywgTm9uZSwgNjYwMCksCi0odSdJbnN0YWxsRmlsZXMnLCBOb25lLCA0MDAwKSwKLSh1J0luc3RhbGxBZG1pblBhY2thZ2UnLCBOb25lLCAzOTAwKSwKLSh1J0ZpbGVDb3N0JywgTm9uZSwgOTAwKSwKLSh1J0Nvc3RJbml0aWFsaXplJywgTm9uZSwgODAwKSwKLSh1J0Nvc3RGaW5hbGl6ZScsIE5vbmUsIDEwMDApLAotXQotCi1BZG1pblVJU2VxdWVuY2UgPSBbCi0odSdBZG1pbldlbGNvbWVEbGcnLCBOb25lLCAxMjMwKSwKLSh1J0ZpbGVDb3N0JywgTm9uZSwgOTAwKSwKLSh1J0Nvc3RJbml0aWFsaXplJywgTm9uZSwgODAwKSwKLSh1J0Nvc3RGaW5hbGl6ZScsIE5vbmUsIDEwMDApLAotKHUnRXhlY3V0ZUFjdGlvbicsIE5vbmUsIDEzMDApLAotKHUnRXhpdERpYWxvZycsIE5vbmUsIC0xKSwKLSh1J0ZhdGFsRXJyb3InLCBOb25lLCAtMyksCi0odSdQcmVwYXJlRGxnJywgTm9uZSwgMTQwKSwKLSh1J1Byb2dyZXNzRGxnJywgTm9uZSwgMTI4MCksCi0odSdVc2VyRXhpdCcsIE5vbmUsIC0yKSwKLV0KLQotQWR2dEV4ZWN1dGVTZXF1ZW5jZSA9IFsKLSh1J0luc3RhbGxWYWxpZGF0ZScsIE5vbmUsIDE0MDApLAotKHUnSW5zdGFsbEluaXRpYWxpemUnLCBOb25lLCAxNTAwKSwKLSh1J0luc3RhbGxGaW5hbGl6ZScsIE5vbmUsIDY2MDApLAotKHUnQ29zdEluaXRpYWxpemUnLCBOb25lLCA4MDApLAotKHUnQ29zdEZpbmFsaXplJywgTm9uZSwgMTAwMCksCi0odSdDcmVhdGVTaG9ydGN1dHMnLCBOb25lLCA0NTAwKSwKLSh1J1B1Ymxpc2hDb21wb25lbnRzJywgTm9uZSwgNjIwMCksCi0odSdQdWJsaXNoRmVhdHVyZXMnLCBOb25lLCA2MzAwKSwKLSh1J1B1Ymxpc2hQcm9kdWN0JywgTm9uZSwgNjQwMCksCi0odSdSZWdpc3RlckNsYXNzSW5mbycsIE5vbmUsIDQ2MDApLAotKHUnUmVnaXN0ZXJFeHRlbnNpb25JbmZvJywgTm9uZSwgNDcwMCksCi0odSdSZWdpc3Rlck1JTUVJbmZvJywgTm9uZSwgNDkwMCksCi0odSdSZWdpc3RlclByb2dJZEluZm8nLCBOb25lLCA0ODAwKSwKLV0KLQotQkJDb250cm9sID0gWwotXQotCi1CaWxsYm9hcmQgPSBbCi1dCi0KLUJpbmFyeSA9IFsKLSh1J2Jhbm5yYm1wJywgbXNpbGliLkJpbmFyeShvcy5wYXRoLmpvaW4oZGlybmFtZSwiYmFubnJibXAuYmluIikpKSwKLSh1J2NvbXBsZXRpJywgbXNpbGliLkJpbmFyeShvcy5wYXRoLmpvaW4oZGlybmFtZSwiY29tcGxldGkuYmluIikpKSwKLSh1J2N1c3RpY29uJywgbXNpbGliLkJpbmFyeShvcy5wYXRoLmpvaW4oZGlybmFtZSwiY3VzdGljb24uYmluIikpKSwKLSh1J2RsZ2JtcCcsIG1zaWxpYi5CaW5hcnkob3MucGF0aC5qb2luKGRpcm5hbWUsImRsZ2JtcC5iaW4iKSkpLAotKHUnZXhjbGFtaWMnLCBtc2lsaWIuQmluYXJ5KG9zLnBhdGguam9pbihkaXJuYW1lLCJleGNsYW1pYy5iaW4iKSkpLAotKHUnaW5mbycsIG1zaWxpYi5CaW5hcnkob3MucGF0aC5qb2luKGRpcm5hbWUsImluZm8uYmluIikpKSwKLSh1J2luc3RpY29uJywgbXNpbGliLkJpbmFyeShvcy5wYXRoLmpvaW4oZGlybmFtZSwiaW5zdGljb24uYmluIikpKSwKLSh1J05ldycsIG1zaWxpYi5CaW5hcnkob3MucGF0aC5qb2luKGRpcm5hbWUsIk5ldy5iaW4iKSkpLAotKHUncmVtb3ZpY28nLCBtc2lsaWIuQmluYXJ5KG9zLnBhdGguam9pbihkaXJuYW1lLCJyZW1vdmljby5iaW4iKSkpLAotKHUncmVwYWlyaWMnLCBtc2lsaWIuQmluYXJ5KG9zLnBhdGguam9pbihkaXJuYW1lLCJyZXBhaXJpYy5iaW4iKSkpLAotKHUnVXAnLCBtc2lsaWIuQmluYXJ5KG9zLnBhdGguam9pbihkaXJuYW1lLCJVcC5iaW4iKSkpLAotXQotCi1DaGVja0JveCA9IFsKLV0KLQotUHJvcGVydHkgPSBbCi0odSdCYW5uZXJCaXRtYXAnLCB1J2Jhbm5yYm1wJyksCi0odSdJQWdyZWUnLCB1J05vJyksCi0odSdQcm9kdWN0SUQnLCB1J25vbmUnKSwKLSh1J0FSUEhFTFBMSU5LJywgdSdodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vbWFuYWdlbWVudCcpLAotKHUnQnV0dG9uVGV4dF9CYWNrJywgdSc8ICZCYWNrJyksCi0odSdCdXR0b25UZXh0X0Jyb3dzZScsIHUnQnImb3dzZScpLAotKHUnQnV0dG9uVGV4dF9DYW5jZWwnLCB1J0NhbmNlbCcpLAotKHUnQnV0dG9uVGV4dF9FeGl0JywgdScmRXhpdCcpLAotKHUnQnV0dG9uVGV4dF9GaW5pc2gnLCB1JyZGaW5pc2gnKSwKLSh1J0J1dHRvblRleHRfSWdub3JlJywgdScmSWdub3JlJyksCi0odSdCdXR0b25UZXh0X0luc3RhbGwnLCB1JyZJbnN0YWxsJyksCi0odSdCdXR0b25UZXh0X05leHQnLCB1JyZOZXh0ID4nKSwKLSh1J0J1dHRvblRleHRfTm8nLCB1JyZObycpLAotKHUnQnV0dG9uVGV4dF9PSycsIHUnT0snKSwKLSh1J0J1dHRvblRleHRfUmVtb3ZlJywgdScmUmVtb3ZlJyksCi0odSdCdXR0b25UZXh0X1JlcGFpcicsIHUnJlJlcGFpcicpLAotKHUnQnV0dG9uVGV4dF9SZXNldCcsIHUnJlJlc2V0JyksCi0odSdCdXR0b25UZXh0X1Jlc3VtZScsIHUnJlJlc3VtZScpLAotKHUnQnV0dG9uVGV4dF9SZXRyeScsIHUnJlJldHJ5JyksCi0odSdCdXR0b25UZXh0X1JldHVybicsIHUnJlJldHVybicpLAotKHUnQnV0dG9uVGV4dF9ZZXMnLCB1JyZZZXMnKSwKLSh1J0NvbXBsZXRlU2V0dXBJY29uJywgdSdjb21wbGV0aScpLAotKHUnQ29tcG9uZW50RG93bmxvYWQnLCB1J2Z0cDovL2Fub255bW91c0BtaWNyb3NvZnQuY29tL2NvbXBvbmVudHMvJyksCi0odSdDdXN0b21TZXR1cEljb24nLCB1J2N1c3RpY29uJyksCi0odSdEZWZhdWx0VUlGb250JywgdSdEbGdGb250OCcpLAotKHUnRGlhbG9nQml0bWFwJywgdSdkbGdibXAnKSwKLSh1J0RsZ1RpdGxlRm9udCcsIHUneyZEbGdGb250Qm9sZDh9JyksCi0odSdFcnJvckRpYWxvZycsIHUnRXJyb3JEbGcnKSwKLSh1J0V4Y2xhbWF0aW9uSWNvbicsIHUnZXhjbGFtaWMnKSwKLSh1J0luZm9JY29uJywgdSdpbmZvJyksCi0odSdJbnN0YWxsZXJJY29uJywgdSdpbnN0aWNvbicpLAotKHUnSU5TVEFMTExFVkVMJywgdSczJyksCi0odSdJbnN0YWxsTW9kZScsIHUnVHlwaWNhbCcpLAotKHUnUElEVGVtcGxhdGUnLCB1JzEyMzQ1PCMjIy0lJSUlJSUlPkBAQEBAJyksCi0jKHUnUHJvZHVjdExhbmd1YWdlJywgdScxMDMzJyksCi0odSdQcm9ncmVzczEnLCB1J0luc3RhbGxpbmcnKSwKLSh1J1Byb2dyZXNzMicsIHUnaW5zdGFsbHMnKSwKLSh1J1BST01QVFJPTExCQUNLQ09TVCcsIHUnUCcpLAotKHUnUmVtb3ZlSWNvbicsIHUncmVtb3ZpY28nKSwKLSh1J1JlcGFpckljb24nLCB1J3JlcGFpcmljJyksCi0odSdTZXR1cCcsIHUnU2V0dXAnKSwKLSh1J1Nob3dVc2VyUmVnaXN0cmF0aW9uRGxnJywgdScxJyksCi0odSdXaXphcmQnLCB1J1NldHVwIFdpemFyZCcpLAotXQotCi1Db21ib0JveCA9IFsKLV0KLQotQ29udHJvbCA9IFsKLSh1J0FkbWluV2VsY29tZURsZycsIHUnQml0bWFwJywgdSdCaXRtYXAnLCAwLCAwLCAzNzAsIDIzNCwgMSwgTm9uZSwgdSdbRGlhbG9nQml0bWFwXScsIHUnQmFjaycsIE5vbmUpLAotKHUnQWRtaW5XZWxjb21lRGxnJywgdSdCb3R0b21MaW5lJywgdSdMaW5lJywgMCwgMjM0LCAzNzQsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnQWRtaW5XZWxjb21lRGxnJywgdSdDYW5jZWwnLCB1J1B1c2hCdXR0b24nLCAzMDQsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X0NhbmNlbF0nLCB1J0JpdG1hcCcsIE5vbmUpLAotKHUnQWRtaW5XZWxjb21lRGxnJywgdSdEZXNjcmlwdGlvbicsIHUnVGV4dCcsIDEzNSwgNzAsIDIyMCwgMzAsIDE5NjYxMSwgTm9uZSwgdSdUaGUgW1dpemFyZF0gd2lsbCBjcmVhdGUgYSBzZXJ2ZXIgaW1hZ2Ugb2YgW1Byb2R1Y3ROYW1lXSwgYXQgYSBzcGVjaWZpZWQgbmV0d29yayBsb2NhdGlvbi4gIENsaWNrIE5leHQgdG8gY29udGludWUgb3IgQ2FuY2VsIHRvIGV4aXQgdGhlIFtXaXphcmRdLicsIE5vbmUsIE5vbmUpLAotKHUnQWRtaW5XZWxjb21lRGxnJywgdSdUaXRsZScsIHUnVGV4dCcsIDEzNSwgMjAsIDIyMCwgNjAsIDE5NjYxMSwgTm9uZSwgdSd7XFxWZXJkYW5hQm9sZDEzfVdlbGNvbWUgdG8gdGhlIFtQcm9kdWN0TmFtZV0gW1dpemFyZF0nLCBOb25lLCBOb25lKSwKLSh1J0FkbWluV2VsY29tZURsZycsIHUnQmFjaycsIHUnUHVzaEJ1dHRvbicsIDE4MCwgMjQzLCA1NiwgMTcsIDEsIE5vbmUsIHUnW0J1dHRvblRleHRfQmFja10nLCB1J05leHQnLCBOb25lKSwKLSh1J0FkbWluV2VsY29tZURsZycsIHUnTmV4dCcsIHUnUHVzaEJ1dHRvbicsIDIzNiwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfTmV4dF0nLCB1J0NhbmNlbCcsIE5vbmUpLAotKHUnRXhpdERpYWxvZycsIHUnQml0bWFwJywgdSdCaXRtYXAnLCAwLCAwLCAzNzAsIDIzNCwgMSwgTm9uZSwgdSdbRGlhbG9nQml0bWFwXScsIHUnQmFjaycsIE5vbmUpLAotKHUnRXhpdERpYWxvZycsIHUnQm90dG9tTGluZScsIHUnTGluZScsIDAsIDIzNCwgMzc0LCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J0V4aXREaWFsb2cnLCB1J0NhbmNlbCcsIHUnUHVzaEJ1dHRvbicsIDMwNCwgMjQzLCA1NiwgMTcsIDEsIE5vbmUsIHUnW0J1dHRvblRleHRfQ2FuY2VsXScsIHUnQml0bWFwJywgTm9uZSksCi0odSdFeGl0RGlhbG9nJywgdSdEZXNjcmlwdGlvbicsIHUnVGV4dCcsIDEzNSwgNzAsIDIyMCwgMjAsIDE5NjYxMSwgTm9uZSwgdSdDbGljayB0aGUgRmluaXNoIGJ1dHRvbiB0byBleGl0IHRoZSBbV2l6YXJkXS4nLCBOb25lLCBOb25lKSwKLSh1J0V4aXREaWFsb2cnLCB1J1RpdGxlJywgdSdUZXh0JywgMTM1LCAyMCwgMjIwLCA2MCwgMTk2NjExLCBOb25lLCB1J3tcXFZlcmRhbmFCb2xkMTN9Q29tcGxldGluZyB0aGUgW1Byb2R1Y3ROYW1lXSBbV2l6YXJkXScsIE5vbmUsIE5vbmUpLAotKHUnRXhpdERpYWxvZycsIHUnQmFjaycsIHUnUHVzaEJ1dHRvbicsIDE4MCwgMjQzLCA1NiwgMTcsIDEsIE5vbmUsIHUnW0J1dHRvblRleHRfQmFja10nLCB1J0ZpbmlzaCcsIE5vbmUpLAotKHUnRXhpdERpYWxvZycsIHUnRmluaXNoJywgdSdQdXNoQnV0dG9uJywgMjM2LCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9GaW5pc2hdJywgdSdDYW5jZWwnLCBOb25lKSwKLSh1J0ZhdGFsRXJyb3InLCB1J0JpdG1hcCcsIHUnQml0bWFwJywgMCwgMCwgMzcwLCAyMzQsIDEsIE5vbmUsIHUnW0RpYWxvZ0JpdG1hcF0nLCB1J0JhY2snLCBOb25lKSwKLSh1J0ZhdGFsRXJyb3InLCB1J0JvdHRvbUxpbmUnLCB1J0xpbmUnLCAwLCAyMzQsIDM3NCwgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdGYXRhbEVycm9yJywgdSdDYW5jZWwnLCB1J1B1c2hCdXR0b24nLCAzMDQsIDI0MywgNTYsIDE3LCAxLCBOb25lLCB1J1tCdXR0b25UZXh0X0NhbmNlbF0nLCB1J0JpdG1hcCcsIE5vbmUpLAotKHUnRmF0YWxFcnJvcicsIHUnVGl0bGUnLCB1J1RleHQnLCAxMzUsIDIwLCAyMjAsIDYwLCAxOTY2MTEsIE5vbmUsIHUne1xcVmVyZGFuYUJvbGQxM31bUHJvZHVjdE5hbWVdIFtXaXphcmRdIGVuZGVkIHByZW1hdHVyZWx5JywgTm9uZSwgTm9uZSksCi0odSdGYXRhbEVycm9yJywgdSdCYWNrJywgdSdQdXNoQnV0dG9uJywgMTgwLCAyNDMsIDU2LCAxNywgMSwgTm9uZSwgdSdbQnV0dG9uVGV4dF9CYWNrXScsIHUnRmluaXNoJywgTm9uZSksCi0odSdGYXRhbEVycm9yJywgdSdGaW5pc2gnLCB1J1B1c2hCdXR0b24nLCAyMzYsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X0ZpbmlzaF0nLCB1J0NhbmNlbCcsIE5vbmUpLAotKHUnRmF0YWxFcnJvcicsIHUnRGVzY3JpcHRpb24xJywgdSdUZXh0JywgMTM1LCA3MCwgMjIwLCA0MCwgMTk2NjExLCBOb25lLCB1J1tQcm9kdWN0TmFtZV0gc2V0dXAgZW5kZWQgcHJlbWF0dXJlbHkgYmVjYXVzZSBvZiBhbiBlcnJvci4gIFlvdXIgc3lzdGVtIGhhcyBub3QgYmVlbiBtb2RpZmllZC4gIFRvIGluc3RhbGwgdGhpcyBwcm9ncmFtIGF0IGEgbGF0ZXIgdGltZSwgcGxlYXNlIHJ1biB0aGUgaW5zdGFsbGF0aW9uIGFnYWluLicsIE5vbmUsIE5vbmUpLAotKHUnRmF0YWxFcnJvcicsIHUnRGVzY3JpcHRpb24yJywgdSdUZXh0JywgMTM1LCAxMTUsIDIyMCwgMjAsIDE5NjYxMSwgTm9uZSwgdSdDbGljayB0aGUgRmluaXNoIGJ1dHRvbiB0byBleGl0IHRoZSBbV2l6YXJkXS4nLCBOb25lLCBOb25lKSwKLSh1J1ByZXBhcmVEbGcnLCB1J0JpdG1hcCcsIHUnQml0bWFwJywgMCwgMCwgMzcwLCAyMzQsIDEsIE5vbmUsIHUnW0RpYWxvZ0JpdG1hcF0nLCB1J0NhbmNlbCcsIE5vbmUpLAotKHUnUHJlcGFyZURsZycsIHUnQm90dG9tTGluZScsIHUnTGluZScsIDAsIDIzNCwgMzc0LCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J1ByZXBhcmVEbGcnLCB1J0NhbmNlbCcsIHUnUHVzaEJ1dHRvbicsIDMwNCwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfQ2FuY2VsXScsIHUnQml0bWFwJywgTm9uZSksCi0odSdQcmVwYXJlRGxnJywgdSdEZXNjcmlwdGlvbicsIHUnVGV4dCcsIDEzNSwgNzAsIDIyMCwgMjAsIDE5NjYxMSwgTm9uZSwgdSdQbGVhc2Ugd2FpdCB3aGlsZSB0aGUgW1dpemFyZF0gcHJlcGFyZXMgdG8gZ3VpZGUgeW91IHRocm91Z2ggdGhlIGluc3RhbGxhdGlvbi4nLCBOb25lLCBOb25lKSwKLSh1J1ByZXBhcmVEbGcnLCB1J1RpdGxlJywgdSdUZXh0JywgMTM1LCAyMCwgMjIwLCA2MCwgMTk2NjExLCBOb25lLCB1J3tcXFZlcmRhbmFCb2xkMTN9V2VsY29tZSB0byB0aGUgW1Byb2R1Y3ROYW1lXSBbV2l6YXJkXScsIE5vbmUsIE5vbmUpLAotKHUnUHJlcGFyZURsZycsIHUnQmFjaycsIHUnUHVzaEJ1dHRvbicsIDE4MCwgMjQzLCA1NiwgMTcsIDEsIE5vbmUsIHUnW0J1dHRvblRleHRfQmFja10nLCBOb25lLCBOb25lKSwKLSh1J1ByZXBhcmVEbGcnLCB1J05leHQnLCB1J1B1c2hCdXR0b24nLCAyMzYsIDI0MywgNTYsIDE3LCAxLCBOb25lLCB1J1tCdXR0b25UZXh0X05leHRdJywgTm9uZSwgTm9uZSksCi0odSdQcmVwYXJlRGxnJywgdSdBY3Rpb25EYXRhJywgdSdUZXh0JywgMTM1LCAxMjUsIDIyMCwgMzAsIDE5NjYxMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdQcmVwYXJlRGxnJywgdSdBY3Rpb25UZXh0JywgdSdUZXh0JywgMTM1LCAxMDAsIDIyMCwgMjAsIDE5NjYxMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdQcm9ncmVzc0RsZycsIHUnVGV4dCcsIHUnVGV4dCcsIDM1LCA2NSwgMzAwLCAyMCwgMywgTm9uZSwgdSdQbGVhc2Ugd2FpdCB3aGlsZSB0aGUgW1dpemFyZF0gW1Byb2dyZXNzMl0gW1Byb2R1Y3ROYW1lXS4gIFRoaXMgbWF5IHRha2Ugc2V2ZXJhbCBtaW51dGVzLicsIE5vbmUsIE5vbmUpLAotKHUnUHJvZ3Jlc3NEbGcnLCB1J0Jhbm5lckJpdG1hcCcsIHUnQml0bWFwJywgMCwgMCwgMzc0LCA0NCwgMSwgTm9uZSwgdSdbQmFubmVyQml0bWFwXScsIHUnQmFjaycsIE5vbmUpLAotKHUnUHJvZ3Jlc3NEbGcnLCB1J0Jhbm5lckxpbmUnLCB1J0xpbmUnLCAwLCA0NCwgMzc0LCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J1Byb2dyZXNzRGxnJywgdSdCb3R0b21MaW5lJywgdSdMaW5lJywgMCwgMjM0LCAzNzQsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnUHJvZ3Jlc3NEbGcnLCB1J0NhbmNlbCcsIHUnUHVzaEJ1dHRvbicsIDMwNCwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfQ2FuY2VsXScsIHUnQmFubmVyQml0bWFwJywgTm9uZSksCi0odSdQcm9ncmVzc0RsZycsIHUnVGl0bGUnLCB1J1RleHQnLCAyMCwgMTUsIDIwMCwgMTUsIDE5NjYxMSwgTm9uZSwgdSdbRGxnVGl0bGVGb250XVtQcm9ncmVzczFdIFtQcm9kdWN0TmFtZV0nLCBOb25lLCBOb25lKSwKLSh1J1Byb2dyZXNzRGxnJywgdSdCYWNrJywgdSdQdXNoQnV0dG9uJywgMTgwLCAyNDMsIDU2LCAxNywgMSwgTm9uZSwgdSdbQnV0dG9uVGV4dF9CYWNrXScsIHUnTmV4dCcsIE5vbmUpLAotKHUnUHJvZ3Jlc3NEbGcnLCB1J05leHQnLCB1J1B1c2hCdXR0b24nLCAyMzYsIDI0MywgNTYsIDE3LCAxLCBOb25lLCB1J1tCdXR0b25UZXh0X05leHRdJywgdSdDYW5jZWwnLCBOb25lKSwKLSh1J1Byb2dyZXNzRGxnJywgdSdBY3Rpb25UZXh0JywgdSdUZXh0JywgNzAsIDEwMCwgMjY1LCAxMCwgMywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdQcm9ncmVzc0RsZycsIHUnUHJvZ3Jlc3NCYXInLCB1J1Byb2dyZXNzQmFyJywgMzUsIDExNSwgMzAwLCAxMCwgNjU1MzcsIE5vbmUsIHUnUHJvZ3Jlc3MgZG9uZScsIE5vbmUsIE5vbmUpLAotKHUnUHJvZ3Jlc3NEbGcnLCB1J1N0YXR1c0xhYmVsJywgdSdUZXh0JywgMzUsIDEwMCwgMzUsIDEwLCAzLCBOb25lLCB1J1N0YXR1czonLCBOb25lLCBOb25lKSwKLSh1J1VzZXJFeGl0JywgdSdCaXRtYXAnLCB1J0JpdG1hcCcsIDAsIDAsIDM3MCwgMjM0LCAxLCBOb25lLCB1J1tEaWFsb2dCaXRtYXBdJywgdSdCYWNrJywgTm9uZSksCi0odSdVc2VyRXhpdCcsIHUnQm90dG9tTGluZScsIHUnTGluZScsIDAsIDIzNCwgMzc0LCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J1VzZXJFeGl0JywgdSdDYW5jZWwnLCB1J1B1c2hCdXR0b24nLCAzMDQsIDI0MywgNTYsIDE3LCAxLCBOb25lLCB1J1tCdXR0b25UZXh0X0NhbmNlbF0nLCB1J0JpdG1hcCcsIE5vbmUpLAotKHUnVXNlckV4aXQnLCB1J1RpdGxlJywgdSdUZXh0JywgMTM1LCAyMCwgMjIwLCA2MCwgMTk2NjExLCBOb25lLCB1J3tcXFZlcmRhbmFCb2xkMTN9W1Byb2R1Y3ROYW1lXSBbV2l6YXJkXSB3YXMgaW50ZXJydXB0ZWQnLCBOb25lLCBOb25lKSwKLSh1J1VzZXJFeGl0JywgdSdCYWNrJywgdSdQdXNoQnV0dG9uJywgMTgwLCAyNDMsIDU2LCAxNywgMSwgTm9uZSwgdSdbQnV0dG9uVGV4dF9CYWNrXScsIHUnRmluaXNoJywgTm9uZSksCi0odSdVc2VyRXhpdCcsIHUnRmluaXNoJywgdSdQdXNoQnV0dG9uJywgMjM2LCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9GaW5pc2hdJywgdSdDYW5jZWwnLCBOb25lKSwKLSh1J1VzZXJFeGl0JywgdSdEZXNjcmlwdGlvbjEnLCB1J1RleHQnLCAxMzUsIDcwLCAyMjAsIDQwLCAxOTY2MTEsIE5vbmUsIHUnW1Byb2R1Y3ROYW1lXSBzZXR1cCB3YXMgaW50ZXJydXB0ZWQuICBZb3VyIHN5c3RlbSBoYXMgbm90IGJlZW4gbW9kaWZpZWQuICBUbyBpbnN0YWxsIHRoaXMgcHJvZ3JhbSBhdCBhIGxhdGVyIHRpbWUsIHBsZWFzZSBydW4gdGhlIGluc3RhbGxhdGlvbiBhZ2Fpbi4nLCBOb25lLCBOb25lKSwKLSh1J1VzZXJFeGl0JywgdSdEZXNjcmlwdGlvbjInLCB1J1RleHQnLCAxMzUsIDExNSwgMjIwLCAyMCwgMTk2NjExLCBOb25lLCB1J0NsaWNrIHRoZSBGaW5pc2ggYnV0dG9uIHRvIGV4aXQgdGhlIFtXaXphcmRdLicsIE5vbmUsIE5vbmUpLAotKHUnQWRtaW5Ccm93c2VEbGcnLCB1J1VwJywgdSdQdXNoQnV0dG9uJywgMjk4LCA1NSwgMTksIDE5LCAzNjcwMDE5LCBOb25lLCB1J1VwJywgdSdOZXdGb2xkZXInLCB1J1VwIE9uZSBMZXZlbHwnKSwKLSh1J0FkbWluQnJvd3NlRGxnJywgdSdCYW5uZXJCaXRtYXAnLCB1J0JpdG1hcCcsIDAsIDAsIDM3NCwgNDQsIDEsIE5vbmUsIHUnW0Jhbm5lckJpdG1hcF0nLCB1J1BhdGhFZGl0JywgTm9uZSksCi0odSdBZG1pbkJyb3dzZURsZycsIHUnUGF0aEVkaXQnLCB1J1BhdGhFZGl0JywgODQsIDIwMiwgMjYxLCAxNywgMywgdSdUQVJHRVRESVInLCBOb25lLCB1J09LJywgTm9uZSksCi0odSdBZG1pbkJyb3dzZURsZycsIHUnQmFubmVyTGluZScsIHUnTGluZScsIDAsIDQ0LCAzNzQsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnQWRtaW5Ccm93c2VEbGcnLCB1J0JvdHRvbUxpbmUnLCB1J0xpbmUnLCAwLCAyMzQsIDM3NCwgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdBZG1pbkJyb3dzZURsZycsIHUnQ2FuY2VsJywgdSdQdXNoQnV0dG9uJywgMjQwLCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9DYW5jZWxdJywgdSdDb21ib0xhYmVsJywgTm9uZSksCi0odSdBZG1pbkJyb3dzZURsZycsIHUnQ29tYm9MYWJlbCcsIHUnVGV4dCcsIDI1LCA1OCwgNDQsIDEwLCAzLCBOb25lLCB1JyZMb29rIGluOicsIHUnRGlyZWN0b3J5Q29tYm8nLCBOb25lKSwKLSh1J0FkbWluQnJvd3NlRGxnJywgdSdEaXJlY3RvcnlDb21ibycsIHUnRGlyZWN0b3J5Q29tYm8nLCA3MCwgNTUsIDIyMCwgODAsIDQ1ODc1NSwgdSdUQVJHRVRESVInLCBOb25lLCB1J1VwJywgTm9uZSksCi0odSdBZG1pbkJyb3dzZURsZycsIHUnRGVzY3JpcHRpb24nLCB1J1RleHQnLCAyNSwgMjMsIDI4MCwgMTUsIDE5NjYxMSwgTm9uZSwgdSdCcm93c2UgdG8gdGhlIGRlc3RpbmF0aW9uIGZvbGRlcicsIE5vbmUsIE5vbmUpLAotKHUnQWRtaW5Ccm93c2VEbGcnLCB1J0RpcmVjdG9yeUxpc3QnLCB1J0RpcmVjdG9yeUxpc3QnLCAyNSwgODMsIDMyMCwgMTEwLCA3LCB1J1RBUkdFVERJUicsIE5vbmUsIHUnUGF0aExhYmVsJywgTm9uZSksCi0odSdBZG1pbkJyb3dzZURsZycsIHUnUGF0aExhYmVsJywgdSdUZXh0JywgMjUsIDIwNSwgNTksIDEwLCAzLCBOb25lLCB1JyZGb2xkZXIgbmFtZTonLCB1J0Jhbm5lckJpdG1hcCcsIE5vbmUpLAotKHUnQWRtaW5Ccm93c2VEbGcnLCB1J05ld0ZvbGRlcicsIHUnUHVzaEJ1dHRvbicsIDMyNSwgNTUsIDE5LCAxOSwgMzY3MDAxOSwgTm9uZSwgdSdOZXcnLCB1J0RpcmVjdG9yeUxpc3QnLCB1J0NyZWF0ZSBBIE5ldyBGb2xkZXJ8JyksCi0odSdBZG1pbkJyb3dzZURsZycsIHUnT0snLCB1J1B1c2hCdXR0b24nLCAzMDQsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X09LXScsIHUnQ2FuY2VsJywgTm9uZSksCi0odSdBZG1pbkJyb3dzZURsZycsIHUnVGl0bGUnLCB1J1RleHQnLCAxNSwgNiwgMjAwLCAxNSwgMTk2NjExLCBOb25lLCB1J1tEbGdUaXRsZUZvbnRdQ2hhbmdlIGN1cnJlbnQgZGVzdGluYXRpb24gZm9sZGVyJywgTm9uZSwgTm9uZSksCi0odSdBZG1pbkluc3RhbGxQb2ludERsZycsIHUnVGV4dCcsIHUnVGV4dCcsIDI1LCA4MCwgMzIwLCAxMCwgMywgTm9uZSwgdScmRW50ZXIgYSBuZXcgbmV0d29yayBsb2NhdGlvbiBvciBjbGljayBCcm93c2UgdG8gYnJvd3NlIHRvIG9uZS4nLCB1J1BhdGhFZGl0JywgTm9uZSksCi0odSdBZG1pbkluc3RhbGxQb2ludERsZycsIHUnQmFubmVyQml0bWFwJywgdSdCaXRtYXAnLCAwLCAwLCAzNzQsIDQ0LCAxLCBOb25lLCB1J1tCYW5uZXJCaXRtYXBdJywgdSdUZXh0JywgTm9uZSksCi0odSdBZG1pbkluc3RhbGxQb2ludERsZycsIHUnUGF0aEVkaXQnLCB1J1BhdGhFZGl0JywgMjUsIDkzLCAzMjAsIDE4LCAzLCB1J1RBUkdFVERJUicsIE5vbmUsIHUnQnJvd3NlJywgTm9uZSksCi0odSdBZG1pbkluc3RhbGxQb2ludERsZycsIHUnQmFubmVyTGluZScsIHUnTGluZScsIDAsIDQ0LCAzNzQsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnQWRtaW5JbnN0YWxsUG9pbnREbGcnLCB1J0JvdHRvbUxpbmUnLCB1J0xpbmUnLCAwLCAyMzQsIDM3NCwgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdBZG1pbkluc3RhbGxQb2ludERsZycsIHUnQ2FuY2VsJywgdSdQdXNoQnV0dG9uJywgMzA0LCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9DYW5jZWxdJywgdSdCYW5uZXJCaXRtYXAnLCBOb25lKSwKLSh1J0FkbWluSW5zdGFsbFBvaW50RGxnJywgdSdEZXNjcmlwdGlvbicsIHUnVGV4dCcsIDI1LCAyMCwgMjgwLCAyMCwgMTk2NjExLCBOb25lLCB1J1BsZWFzZSBzcGVjaWZ5IGEgbmV0d29yayBsb2NhdGlvbiBmb3IgdGhlIHNlcnZlciBpbWFnZSBvZiBbUHJvZHVjdE5hbWVdIHByb2R1Y3QnLCBOb25lLCBOb25lKSwKLSh1J0FkbWluSW5zdGFsbFBvaW50RGxnJywgdSdUaXRsZScsIHUnVGV4dCcsIDE1LCA2LCAyMDAsIDE1LCAxOTY2MTEsIE5vbmUsIHUnW0RsZ1RpdGxlRm9udF1OZXR3b3JrIExvY2F0aW9uJywgTm9uZSwgTm9uZSksCi0odSdBZG1pbkluc3RhbGxQb2ludERsZycsIHUnQmFjaycsIHUnUHVzaEJ1dHRvbicsIDE4MCwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfQmFja10nLCB1J05leHQnLCBOb25lKSwKLSh1J0FkbWluSW5zdGFsbFBvaW50RGxnJywgdSdOZXh0JywgdSdQdXNoQnV0dG9uJywgMjM2LCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9OZXh0XScsIHUnQ2FuY2VsJywgTm9uZSksCi0odSdBZG1pbkluc3RhbGxQb2ludERsZycsIHUnQnJvd3NlJywgdSdQdXNoQnV0dG9uJywgMjg5LCAxMTksIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9Ccm93c2VdJywgdSdCYWNrJywgTm9uZSksCi0odSdBZG1pblJlZ2lzdHJhdGlvbkRsZycsIHUnQmFubmVyQml0bWFwJywgdSdCaXRtYXAnLCAwLCAwLCAzNzQsIDQ0LCAxLCBOb25lLCB1J1tCYW5uZXJCaXRtYXBdJywgdSdPcmdhbml6YXRpb25MYWJlbCcsIE5vbmUpLAotKHUnQWRtaW5SZWdpc3RyYXRpb25EbGcnLCB1J0Jhbm5lckxpbmUnLCB1J0xpbmUnLCAwLCA0NCwgMzc0LCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J0FkbWluUmVnaXN0cmF0aW9uRGxnJywgdSdCb3R0b21MaW5lJywgdSdMaW5lJywgMCwgMjM0LCAzNzQsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnQWRtaW5SZWdpc3RyYXRpb25EbGcnLCB1J0NhbmNlbCcsIHUnUHVzaEJ1dHRvbicsIDMwNCwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfQ2FuY2VsXScsIHUnQmFubmVyQml0bWFwJywgTm9uZSksCi0odSdBZG1pblJlZ2lzdHJhdGlvbkRsZycsIHUnRGVzY3JpcHRpb24nLCB1J1RleHQnLCAyNSwgMjMsIDI4MCwgMTUsIDE5NjYxMSwgTm9uZSwgdSdQbGVhc2UgZW50ZXIgeW91ciBjb21wYW55IGluZm9ybWF0aW9uJywgTm9uZSwgTm9uZSksCi0odSdBZG1pblJlZ2lzdHJhdGlvbkRsZycsIHUnVGl0bGUnLCB1J1RleHQnLCAxNSwgNiwgMjAwLCAxNSwgMTk2NjExLCBOb25lLCB1J1tEbGdUaXRsZUZvbnRdQ29tcGFueSBJbmZvcm1hdGlvbicsIE5vbmUsIE5vbmUpLAotKHUnQWRtaW5SZWdpc3RyYXRpb25EbGcnLCB1J0JhY2snLCB1J1B1c2hCdXR0b24nLCAxODAsIDI0MywgNTYsIDE3LCA2NTUzOSwgTm9uZSwgdSdbQnV0dG9uVGV4dF9CYWNrXScsIHUnTmV4dCcsIE5vbmUpLAotKHUnQWRtaW5SZWdpc3RyYXRpb25EbGcnLCB1J05leHQnLCB1J1B1c2hCdXR0b24nLCAyMzYsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X05leHRdJywgdSdDYW5jZWwnLCBOb25lKSwKLSh1J0FkbWluUmVnaXN0cmF0aW9uRGxnJywgdSdPcmdhbml6YXRpb25MYWJlbCcsIHUnVGV4dCcsIDQ1LCA3MSwgMjg1LCAzMCwgMywgTm9uZSwgdScmUGxlYXNlIGVudGVyIHRoZSBuYW1lIG9mIHlvdXIgb3JnYW5pemF0aW9uIGluIHRoZSBib3ggYmVsb3cuICBUaGlzIHdpbGwgYmUgdXNlZCBhcyBkZWZhdWx0IGNvbXBhbnkgbmFtZSBmb3Igc3Vic2VxdWVudCBpbnN0YWxsYXRpb25zIG9mIFtQcm9kdWN0TmFtZV06JywgdSdPcmdhbml6YXRpb25FZGl0JywgTm9uZSksCi0odSdBZG1pblJlZ2lzdHJhdGlvbkRsZycsIHUnQ0RLZXlFZGl0JywgdSdNYXNrZWRFZGl0JywgNDUsIDE0MywgMjUwLCAxNiwgMywgdSdQSURLRVknLCB1J1tQSURUZW1wbGF0ZV0nLCB1J0JhY2snLCBOb25lKSwKLSh1J0FkbWluUmVnaXN0cmF0aW9uRGxnJywgdSdDREtleUxhYmVsJywgdSdUZXh0JywgNDUsIDEzMCwgNTAsIDEwLCAzLCBOb25lLCB1J0NEICZLZXk6JywgdSdDREtleUVkaXQnLCBOb25lKSwKLSh1J0FkbWluUmVnaXN0cmF0aW9uRGxnJywgdSdPcmdhbml6YXRpb25FZGl0JywgdSdFZGl0JywgNDUsIDEwNSwgMjIwLCAxOCwgMywgdSdDT01QQU5ZTkFNRScsIHUnezgwfScsIHUnQ0RLZXlMYWJlbCcsIE5vbmUpLAotKHUnQnJvd3NlRGxnJywgdSdVcCcsIHUnUHVzaEJ1dHRvbicsIDI5OCwgNTUsIDE5LCAxOSwgMzY3MDAxOSwgTm9uZSwgdSdVcCcsIHUnTmV3Rm9sZGVyJywgdSdVcCBPbmUgTGV2ZWx8JyksCi0odSdCcm93c2VEbGcnLCB1J0Jhbm5lckJpdG1hcCcsIHUnQml0bWFwJywgMCwgMCwgMzc0LCA0NCwgMSwgTm9uZSwgdSdbQmFubmVyQml0bWFwXScsIHUnUGF0aEVkaXQnLCBOb25lKSwKLSh1J0Jyb3dzZURsZycsIHUnUGF0aEVkaXQnLCB1J1BhdGhFZGl0JywgODQsIDIwMiwgMjYxLCAxOCwgMTEsIHUnX0Jyb3dzZVByb3BlcnR5JywgTm9uZSwgdSdPSycsIE5vbmUpLAotKHUnQnJvd3NlRGxnJywgdSdCYW5uZXJMaW5lJywgdSdMaW5lJywgMCwgNDQsIDM3NCwgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdCcm93c2VEbGcnLCB1J0JvdHRvbUxpbmUnLCB1J0xpbmUnLCAwLCAyMzQsIDM3NCwgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdCcm93c2VEbGcnLCB1J0NhbmNlbCcsIHUnUHVzaEJ1dHRvbicsIDI0MCwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfQ2FuY2VsXScsIHUnQ29tYm9MYWJlbCcsIE5vbmUpLAotKHUnQnJvd3NlRGxnJywgdSdDb21ib0xhYmVsJywgdSdUZXh0JywgMjUsIDU4LCA0NCwgMTAsIDMsIE5vbmUsIHUnJkxvb2sgaW46JywgdSdEaXJlY3RvcnlDb21ibycsIE5vbmUpLAotKHUnQnJvd3NlRGxnJywgdSdEaXJlY3RvcnlDb21ibycsIHUnRGlyZWN0b3J5Q29tYm8nLCA3MCwgNTUsIDIyMCwgODAsIDM5MzIyNywgdSdfQnJvd3NlUHJvcGVydHknLCBOb25lLCB1J1VwJywgTm9uZSksCi0odSdCcm93c2VEbGcnLCB1J0Rlc2NyaXB0aW9uJywgdSdUZXh0JywgMjUsIDIzLCAyODAsIDE1LCAxOTY2MTEsIE5vbmUsIHUnQnJvd3NlIHRvIHRoZSBkZXN0aW5hdGlvbiBmb2xkZXInLCBOb25lLCBOb25lKSwKLSh1J0Jyb3dzZURsZycsIHUnRGlyZWN0b3J5TGlzdCcsIHUnRGlyZWN0b3J5TGlzdCcsIDI1LCA4MywgMzIwLCAxMTAsIDE1LCB1J19Ccm93c2VQcm9wZXJ0eScsIE5vbmUsIHUnUGF0aExhYmVsJywgTm9uZSksCi0odSdCcm93c2VEbGcnLCB1J1BhdGhMYWJlbCcsIHUnVGV4dCcsIDI1LCAyMDUsIDU5LCAxMCwgMywgTm9uZSwgdScmRm9sZGVyIG5hbWU6JywgdSdCYW5uZXJCaXRtYXAnLCBOb25lKSwKLSh1J0Jyb3dzZURsZycsIHUnTmV3Rm9sZGVyJywgdSdQdXNoQnV0dG9uJywgMzI1LCA1NSwgMTksIDE5LCAzNjcwMDE5LCBOb25lLCB1J05ldycsIHUnRGlyZWN0b3J5TGlzdCcsIHUnQ3JlYXRlIEEgTmV3IEZvbGRlcnwnKSwKLSh1J0Jyb3dzZURsZycsIHUnT0snLCB1J1B1c2hCdXR0b24nLCAzMDQsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X09LXScsIHUnQ2FuY2VsJywgTm9uZSksCi0odSdCcm93c2VEbGcnLCB1J1RpdGxlJywgdSdUZXh0JywgMTUsIDYsIDIwMCwgMTUsIDE5NjYxMSwgTm9uZSwgdSdbRGxnVGl0bGVGb250XUNoYW5nZSBjdXJyZW50IGRlc3RpbmF0aW9uIGZvbGRlcicsIE5vbmUsIE5vbmUpLAotKHUnQ2FuY2VsRGxnJywgdSdUZXh0JywgdSdUZXh0JywgNDgsIDE1LCAxOTQsIDMwLCAzLCBOb25lLCB1J0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBjYW5jZWwgW1Byb2R1Y3ROYW1lXSBpbnN0YWxsYXRpb24/JywgTm9uZSwgTm9uZSksCi0odSdDYW5jZWxEbGcnLCB1J0ljb24nLCB1J0ljb24nLCAxNSwgMTUsIDI0LCAyNCwgNTI0Mjg4MSwgTm9uZSwgdSdbSW5mb0ljb25dJywgTm9uZSwgdSdJbmZvcm1hdGlvbiBpY29ufCcpLAotKHUnQ2FuY2VsRGxnJywgdSdObycsIHUnUHVzaEJ1dHRvbicsIDEzMiwgNTcsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9Ob10nLCB1J1llcycsIE5vbmUpLAotKHUnQ2FuY2VsRGxnJywgdSdZZXMnLCB1J1B1c2hCdXR0b24nLCA3MiwgNTcsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9ZZXNdJywgdSdObycsIE5vbmUpLAotKHUnQ3VzdG9taXplRGxnJywgdSdUZXh0JywgdSdUZXh0JywgMjUsIDU1LCAzMjAsIDIwLCAzLCBOb25lLCB1J0NsaWNrIG9uIHRoZSBpY29ucyBpbiB0aGUgdHJlZSBiZWxvdyB0byBjaGFuZ2UgdGhlIHdheSBmZWF0dXJlcyB3aWxsIGJlIGluc3RhbGxlZC4nLCBOb25lLCBOb25lKSwKLSh1J0N1c3RvbWl6ZURsZycsIHUnQmFubmVyQml0bWFwJywgdSdCaXRtYXAnLCAwLCAwLCAzNzQsIDQ0LCAxLCBOb25lLCB1J1tCYW5uZXJCaXRtYXBdJywgdSdUcmVlJywgTm9uZSksCi0odSdDdXN0b21pemVEbGcnLCB1J0Jhbm5lckxpbmUnLCB1J0xpbmUnLCAwLCA0NCwgMzc0LCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J0N1c3RvbWl6ZURsZycsIHUnQm90dG9tTGluZScsIHUnTGluZScsIDAsIDIzNCwgMzc0LCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J0N1c3RvbWl6ZURsZycsIHUnQ2FuY2VsJywgdSdQdXNoQnV0dG9uJywgMzA0LCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9DYW5jZWxdJywgdSdCYW5uZXJCaXRtYXAnLCBOb25lKSwKLSh1J0N1c3RvbWl6ZURsZycsIHUnRGVzY3JpcHRpb24nLCB1J1RleHQnLCAyNSwgMjMsIDI4MCwgMTUsIDE5NjYxMSwgTm9uZSwgdSdTZWxlY3QgdGhlIHdheSB5b3Ugd2FudCBmZWF0dXJlcyB0byBiZSBpbnN0YWxsZWQuJywgTm9uZSwgTm9uZSksCi0odSdDdXN0b21pemVEbGcnLCB1J1RpdGxlJywgdSdUZXh0JywgMTUsIDYsIDIwMCwgMTUsIDE5NjYxMSwgTm9uZSwgdSdbRGxnVGl0bGVGb250XUN1c3RvbSBTZXR1cCcsIE5vbmUsIE5vbmUpLAotKHUnQ3VzdG9taXplRGxnJywgdSdCYWNrJywgdSdQdXNoQnV0dG9uJywgMTgwLCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9CYWNrXScsIHUnTmV4dCcsIE5vbmUpLAotKHUnQ3VzdG9taXplRGxnJywgdSdOZXh0JywgdSdQdXNoQnV0dG9uJywgMjM2LCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9OZXh0XScsIHUnQ2FuY2VsJywgTm9uZSksCi0odSdDdXN0b21pemVEbGcnLCB1J0Jyb3dzZScsIHUnUHVzaEJ1dHRvbicsIDMwNCwgMjAwLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfQnJvd3NlXScsIHUnUmVzZXQnLCBOb25lKSwKLSh1J0N1c3RvbWl6ZURsZycsIHUnVHJlZScsIHUnU2VsZWN0aW9uVHJlZScsIDI1LCA4NSwgMTc1LCA5NSwgNywgdSdfQnJvd3NlUHJvcGVydHknLCB1J1RyZWUgb2Ygc2VsZWN0aW9ucycsIHUnQnJvd3NlJywgTm9uZSksCi0odSdDdXN0b21pemVEbGcnLCB1J0JveCcsIHUnR3JvdXBCb3gnLCAyMTAsIDgxLCAxNDAsIDk4LCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J0N1c3RvbWl6ZURsZycsIHUnUmVzZXQnLCB1J1B1c2hCdXR0b24nLCA0MiwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfUmVzZXRdJywgdSdEaXNrQ29zdCcsIE5vbmUpLAotKHUnQ3VzdG9taXplRGxnJywgdSdEaXNrQ29zdCcsIHUnUHVzaEJ1dHRvbicsIDExMSwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnRGlzayAmVXNhZ2UnLCB1J0JhY2snLCBOb25lKSwKLSh1J0N1c3RvbWl6ZURsZycsIHUnSXRlbURlc2NyaXB0aW9uJywgdSdUZXh0JywgMjE1LCA5MCwgMTMxLCAzMCwgMywgTm9uZSwgdSdNdWx0aWxpbmUgZGVzY3JpcHRpb24gb2YgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBpdGVtLicsIE5vbmUsIE5vbmUpLAotKHUnQ3VzdG9taXplRGxnJywgdSdJdGVtU2l6ZScsIHUnVGV4dCcsIDIxNSwgMTMwLCAxMzEsIDQ1LCAzLCBOb25lLCB1J1RoZSBzaXplIG9mIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgaXRlbS4nLCBOb25lLCBOb25lKSwKLSh1J0N1c3RvbWl6ZURsZycsIHUnTG9jYXRpb24nLCB1J1RleHQnLCA3NSwgMjAwLCAyMTUsIDIwLCAzLCBOb25lLCB1IjxUaGUgc2VsZWN0aW9uJ3MgcGF0aD4iLCBOb25lLCBOb25lKSwKLSh1J0N1c3RvbWl6ZURsZycsIHUnTG9jYXRpb25MYWJlbCcsIHUnVGV4dCcsIDI1LCAyMDAsIDUwLCAxMCwgMywgTm9uZSwgdSdMb2NhdGlvbjonLCBOb25lLCBOb25lKSwKLSh1J0Rpc2tDb3N0RGxnJywgdSdUZXh0JywgdSdUZXh0JywgMjAsIDUzLCAzMzAsIDQwLCAzLCBOb25lLCB1J1RoZSBoaWdobGlnaHRlZCB2b2x1bWVzIChpZiBhbnkpIGRvIG5vdCBoYXZlIGVub3VnaCBkaXNrIHNwYWNlIGF2YWlsYWJsZSBmb3IgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBmZWF0dXJlcy4gIFlvdSBjYW4gZWl0aGVyIHJlbW92ZSBzb21lIGZpbGVzIGZyb20gdGhlIGhpZ2hsaWdodGVkIHZvbHVtZXMsIG9yIGNob29zZSB0byBpbnN0YWxsIGxlc3MgZmVhdHVyZXMgb250byBsb2NhbCBkcml2ZShzKSwgb3Igc2VsZWN0IGRpZmZlcmVudCBkZXN0aW5hdGlvbiBkcml2ZShzKS4nLCBOb25lLCBOb25lKSwKLSh1J0Rpc2tDb3N0RGxnJywgdSdCYW5uZXJCaXRtYXAnLCB1J0JpdG1hcCcsIDAsIDAsIDM3NCwgNDQsIDEsIE5vbmUsIHUnW0Jhbm5lckJpdG1hcF0nLCB1J09LJywgTm9uZSksCi0odSdEaXNrQ29zdERsZycsIHUnQmFubmVyTGluZScsIHUnTGluZScsIDAsIDQ0LCAzNzQsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnRGlza0Nvc3REbGcnLCB1J0JvdHRvbUxpbmUnLCB1J0xpbmUnLCAwLCAyMzQsIDM3NCwgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdEaXNrQ29zdERsZycsIHUnRGVzY3JpcHRpb24nLCB1J1RleHQnLCAyMCwgMjAsIDI4MCwgMjAsIDE5NjYxMSwgTm9uZSwgdSdUaGUgZGlzayBzcGFjZSByZXF1aXJlZCBmb3IgdGhlIGluc3RhbGxhdGlvbiBvZiB0aGUgc2VsZWN0ZWQgZmVhdHVyZXMuJywgTm9uZSwgTm9uZSksCi0odSdEaXNrQ29zdERsZycsIHUnT0snLCB1J1B1c2hCdXR0b24nLCAzMDQsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X09LXScsIHUnQmFubmVyQml0bWFwJywgTm9uZSksCi0odSdEaXNrQ29zdERsZycsIHUnVGl0bGUnLCB1J1RleHQnLCAxNSwgNiwgMjAwLCAxNSwgMTk2NjExLCBOb25lLCB1J1tEbGdUaXRsZUZvbnRdRGlzayBTcGFjZSBSZXF1aXJlbWVudHMnLCBOb25lLCBOb25lKSwKLSh1J0Rpc2tDb3N0RGxnJywgdSdWb2x1bWVMaXN0JywgdSdWb2x1bWVDb3N0TGlzdCcsIDIwLCAxMDAsIDMzMCwgMTIwLCAzOTMyMjMsIE5vbmUsIHUnezEyMH17NzB9ezcwfXs3MH17NzB9JywgTm9uZSwgTm9uZSksCi0odSdFcnJvckRsZycsIHUnWScsIHUnUHVzaEJ1dHRvbicsIDEwMCwgODAsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9ZZXNdJywgTm9uZSwgTm9uZSksCi0odSdFcnJvckRsZycsIHUnQScsIHUnUHVzaEJ1dHRvbicsIDEwMCwgODAsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9DYW5jZWxdJywgTm9uZSwgTm9uZSksCi0odSdFcnJvckRsZycsIHUnQycsIHUnUHVzaEJ1dHRvbicsIDEwMCwgODAsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9DYW5jZWxdJywgTm9uZSwgTm9uZSksCi0odSdFcnJvckRsZycsIHUnRXJyb3JJY29uJywgdSdJY29uJywgMTUsIDE1LCAyNCwgMjQsIDUyNDI4ODEsIE5vbmUsIHUnW0luZm9JY29uXScsIE5vbmUsIHUnSW5mb3JtYXRpb24gaWNvbnwnKSwKLSh1J0Vycm9yRGxnJywgdSdFcnJvclRleHQnLCB1J1RleHQnLCA0OCwgMTUsIDIwNSwgNjAsIDMsIE5vbmUsIHUnSW5mb3JtYXRpb24gdGV4dCcsIE5vbmUsIE5vbmUpLAotKHUnRXJyb3JEbGcnLCB1J0knLCB1J1B1c2hCdXR0b24nLCAxMDAsIDgwLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfSWdub3JlXScsIE5vbmUsIE5vbmUpLAotKHUnRXJyb3JEbGcnLCB1J04nLCB1J1B1c2hCdXR0b24nLCAxMDAsIDgwLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfTm9dJywgTm9uZSwgTm9uZSksCi0odSdFcnJvckRsZycsIHUnTycsIHUnUHVzaEJ1dHRvbicsIDEwMCwgODAsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9PS10nLCBOb25lLCBOb25lKSwKLSh1J0Vycm9yRGxnJywgdSdSJywgdSdQdXNoQnV0dG9uJywgMTAwLCA4MCwgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X1JldHJ5XScsIE5vbmUsIE5vbmUpLAotKHUnRmlsZXNJblVzZScsIHUnVGV4dCcsIHUnVGV4dCcsIDIwLCA1NSwgMzMwLCAzMCwgMywgTm9uZSwgdSdUaGUgZm9sbG93aW5nIGFwcGxpY2F0aW9ucyBhcmUgdXNpbmcgZmlsZXMgdGhhdCBuZWVkIHRvIGJlIHVwZGF0ZWQgYnkgdGhpcyBzZXR1cC4gQ2xvc2UgdGhlc2UgYXBwbGljYXRpb25zIGFuZCB0aGVuIGNsaWNrIFJldHJ5IHRvIGNvbnRpbnVlIHRoZSBpbnN0YWxsYXRpb24gb3IgQ2FuY2VsIHRvIGV4aXQgaXQuJywgTm9uZSwgTm9uZSksCi0odSdGaWxlc0luVXNlJywgdSdCYW5uZXJCaXRtYXAnLCB1J0JpdG1hcCcsIDAsIDAsIDM3NCwgNDQsIDEsIE5vbmUsIHUnW0Jhbm5lckJpdG1hcF0nLCB1J1JldHJ5JywgTm9uZSksCi0odSdGaWxlc0luVXNlJywgdSdCYW5uZXJMaW5lJywgdSdMaW5lJywgMCwgNDQsIDM3NCwgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdGaWxlc0luVXNlJywgdSdCb3R0b21MaW5lJywgdSdMaW5lJywgMCwgMjM0LCAzNzQsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnRmlsZXNJblVzZScsIHUnRGVzY3JpcHRpb24nLCB1J1RleHQnLCAyMCwgMjMsIDI4MCwgMjAsIDE5NjYxMSwgTm9uZSwgdSdTb21lIGZpbGVzIHRoYXQgbmVlZCB0byBiZSB1cGRhdGVkIGFyZSBjdXJyZW50bHkgaW4gdXNlLicsIE5vbmUsIE5vbmUpLAotKHUnRmlsZXNJblVzZScsIHUnVGl0bGUnLCB1J1RleHQnLCAxNSwgNiwgMjAwLCAxNSwgMTk2NjExLCBOb25lLCB1J1tEbGdUaXRsZUZvbnRdRmlsZXMgaW4gVXNlJywgTm9uZSwgTm9uZSksCi0odSdGaWxlc0luVXNlJywgdSdSZXRyeScsIHUnUHVzaEJ1dHRvbicsIDMwNCwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfUmV0cnldJywgdSdJZ25vcmUnLCBOb25lKSwKLSh1J0ZpbGVzSW5Vc2UnLCB1J0V4aXQnLCB1J1B1c2hCdXR0b24nLCAxNjYsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X0V4aXRdJywgdSdCYW5uZXJCaXRtYXAnLCBOb25lKSwKLSh1J0ZpbGVzSW5Vc2UnLCB1J0lnbm9yZScsIHUnUHVzaEJ1dHRvbicsIDIzNSwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfSWdub3JlXScsIHUnRXhpdCcsIE5vbmUpLAotKHUnRmlsZXNJblVzZScsIHUnTGlzdCcsIHUnTGlzdEJveCcsIDIwLCA4NywgMzMwLCAxMzAsIDcsIHUnRmlsZUluVXNlUHJvY2VzcycsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnTGljZW5zZUFncmVlbWVudERsZycsIHUnQmFubmVyQml0bWFwJywgdSdCaXRtYXAnLCAwLCAwLCAzNzQsIDQ0LCAxLCBOb25lLCB1J1tCYW5uZXJCaXRtYXBdJywgdSdBZ3JlZW1lbnRUZXh0JywgTm9uZSksCi0odSdMaWNlbnNlQWdyZWVtZW50RGxnJywgdSdCYW5uZXJMaW5lJywgdSdMaW5lJywgMCwgNDQsIDM3NCwgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdMaWNlbnNlQWdyZWVtZW50RGxnJywgdSdCb3R0b21MaW5lJywgdSdMaW5lJywgMCwgMjM0LCAzNzQsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnTGljZW5zZUFncmVlbWVudERsZycsIHUnQ2FuY2VsJywgdSdQdXNoQnV0dG9uJywgMzA0LCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9DYW5jZWxdJywgdSdCYW5uZXJCaXRtYXAnLCBOb25lKSwKLSh1J0xpY2Vuc2VBZ3JlZW1lbnREbGcnLCB1J0Rlc2NyaXB0aW9uJywgdSdUZXh0JywgMjUsIDIzLCAyODAsIDE1LCAxOTY2MTEsIE5vbmUsIHUnUGxlYXNlIHJlYWQgdGhlIGZvbGxvd2luZyBsaWNlbnNlIGFncmVlbWVudCBjYXJlZnVsbHknLCBOb25lLCBOb25lKSwKLSh1J0xpY2Vuc2VBZ3JlZW1lbnREbGcnLCB1J1RpdGxlJywgdSdUZXh0JywgMTUsIDYsIDIwMCwgMTUsIDE5NjYxMSwgTm9uZSwgdSdbRGxnVGl0bGVGb250XUVuZC1Vc2VyIExpY2Vuc2UgQWdyZWVtZW50JywgTm9uZSwgTm9uZSksCi0odSdMaWNlbnNlQWdyZWVtZW50RGxnJywgdSdCYWNrJywgdSdQdXNoQnV0dG9uJywgMTgwLCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9CYWNrXScsIHUnTmV4dCcsIE5vbmUpLAotKHUnTGljZW5zZUFncmVlbWVudERsZycsIHUnTmV4dCcsIHUnUHVzaEJ1dHRvbicsIDIzNiwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfTmV4dF0nLCB1J0NhbmNlbCcsIE5vbmUpLAotKHUnTGljZW5zZUFncmVlbWVudERsZycsIHUnQWdyZWVtZW50VGV4dCcsIHUnU2Nyb2xsYWJsZVRleHQnLCAyMCwgNjAsIDMzMCwgMTIwLCA3LCBOb25lLCB1J3tcXHJ0ZjFcXGFuc2lcXGFuc2ljcGcxMjUyXFxkZWZmMFxcZGVmdGFiNzIwe1xcZm9udHRibHtcXGYwXFxmcm9tYW5cXGZwcnEyIFRpbWVzIE5ldyBSb21hbjt9fXtcXGNvbG9ydGJsXFxyZWQwXFxncmVlbjBcXGJsdWUwO30gXFxkZWZsYW5nMTAzM1xcaG9yemRvY3tcXCpcXGZjaGFycyB9e1xcKlxcbGNoYXJzIH1cXHBhcmRcXHBsYWluXFxmMFxcZnMyMCA8WW91ciBsaWNlbnNlIGFncmVlbWVudCBzaG91bGQgZ28gaGVyZS4+XFxwYXIgfScsIHUnQnV0dG9ucycsIE5vbmUpLAotKHUnTGljZW5zZUFncmVlbWVudERsZycsIHUnQnV0dG9ucycsIHUnUmFkaW9CdXR0b25Hcm91cCcsIDIwLCAxODcsIDMzMCwgNDAsIDMsIHUnSUFncmVlJywgTm9uZSwgdSdCYWNrJywgTm9uZSksCi0odSdNYWludGVuYW5jZVR5cGVEbGcnLCB1J0Jhbm5lckJpdG1hcCcsIHUnQml0bWFwJywgMCwgMCwgMzc0LCA0NCwgMSwgTm9uZSwgdSdbQmFubmVyQml0bWFwXScsIHUnQ2hhbmdlTGFiZWwnLCBOb25lKSwKLSh1J01haW50ZW5hbmNlVHlwZURsZycsIHUnQmFubmVyTGluZScsIHUnTGluZScsIDAsIDQ0LCAzNzQsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnTWFpbnRlbmFuY2VUeXBlRGxnJywgdSdCb3R0b21MaW5lJywgdSdMaW5lJywgMCwgMjM0LCAzNzQsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnTWFpbnRlbmFuY2VUeXBlRGxnJywgdSdDYW5jZWwnLCB1J1B1c2hCdXR0b24nLCAzMDQsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X0NhbmNlbF0nLCB1J0Jhbm5lckJpdG1hcCcsIE5vbmUpLAotKHUnTWFpbnRlbmFuY2VUeXBlRGxnJywgdSdEZXNjcmlwdGlvbicsIHUnVGV4dCcsIDI1LCAyMywgMjgwLCAyMCwgMTk2NjExLCBOb25lLCB1J1NlbGVjdCB0aGUgb3BlcmF0aW9uIHlvdSB3aXNoIHRvIHBlcmZvcm0uJywgTm9uZSwgTm9uZSksCi0odSdNYWludGVuYW5jZVR5cGVEbGcnLCB1J1RpdGxlJywgdSdUZXh0JywgMTUsIDYsIDI0MCwgMTUsIDE5NjYxMSwgTm9uZSwgdSdbRGxnVGl0bGVGb250XU1vZGlmeSwgUmVwYWlyIG9yIFJlbW92ZSBpbnN0YWxsYXRpb24nLCBOb25lLCBOb25lKSwKLSh1J01haW50ZW5hbmNlVHlwZURsZycsIHUnQmFjaycsIHUnUHVzaEJ1dHRvbicsIDE4MCwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfQmFja10nLCB1J05leHQnLCBOb25lKSwKLSh1J01haW50ZW5hbmNlVHlwZURsZycsIHUnTmV4dCcsIHUnUHVzaEJ1dHRvbicsIDIzNiwgMjQzLCA1NiwgMTcsIDEsIE5vbmUsIHUnW0J1dHRvblRleHRfTmV4dF0nLCB1J0NhbmNlbCcsIE5vbmUpLAotKHUnTWFpbnRlbmFuY2VUeXBlRGxnJywgdSdDaGFuZ2VMYWJlbCcsIHUnVGV4dCcsIDEwNSwgNjUsIDEwMCwgMTAsIDMsIE5vbmUsIHUnW0RsZ1RpdGxlRm9udF0mTW9kaWZ5JywgdSdDaGFuZ2VCdXR0b24nLCBOb25lKSwKLSh1J01haW50ZW5hbmNlVHlwZURsZycsIHUnQ2hhbmdlQnV0dG9uJywgdSdQdXNoQnV0dG9uJywgNTAsIDY1LCAzOCwgMzgsIDU3NjcxNzEsIE5vbmUsIHUnW0N1c3RvbVNldHVwSWNvbl0nLCB1J1JlcGFpckxhYmVsJywgdSdNb2RpZnkgSW5zdGFsbGF0aW9ufCcpLAotKHUnTWFpbnRlbmFuY2VUeXBlRGxnJywgdSdSZXBhaXJMYWJlbCcsIHUnVGV4dCcsIDEwNSwgMTE0LCAxMDAsIDEwLCAzLCBOb25lLCB1J1tEbGdUaXRsZUZvbnRdUmUmcGFpcicsIHUnUmVwYWlyQnV0dG9uJywgTm9uZSksCi0odSdNYWludGVuYW5jZVR5cGVEbGcnLCB1J0NoYW5nZVRleHQnLCB1J1RleHQnLCAxMDUsIDc4LCAyMzAsIDIwLCAzLCBOb25lLCB1J0FsbG93cyB1c2VycyB0byBjaGFuZ2UgdGhlIHdheSBmZWF0dXJlcyBhcmUgaW5zdGFsbGVkLicsIE5vbmUsIE5vbmUpLAotKHUnTWFpbnRlbmFuY2VUeXBlRGxnJywgdSdSZW1vdmVCdXR0b24nLCB1J1B1c2hCdXR0b24nLCA1MCwgMTYzLCAzOCwgMzgsIDU3NjcxNzEsIE5vbmUsIHUnW1JlbW92ZUljb25dJywgdSdCYWNrJywgdSdSZW1vdmUgSW5zdGFsbGF0aW9ufCcpLAotKHUnTWFpbnRlbmFuY2VUeXBlRGxnJywgdSdSZW1vdmVMYWJlbCcsIHUnVGV4dCcsIDEwNSwgMTYzLCAxMDAsIDEwLCAzLCBOb25lLCB1J1tEbGdUaXRsZUZvbnRdJlJlbW92ZScsIHUnUmVtb3ZlQnV0dG9uJywgTm9uZSksCi0odSdNYWludGVuYW5jZVR5cGVEbGcnLCB1J1JlbW92ZVRleHQnLCB1J1RleHQnLCAxMDUsIDE3NiwgMjMwLCAyMCwgMywgTm9uZSwgdSdSZW1vdmVzIFtQcm9kdWN0TmFtZV0gZnJvbSB5b3VyIGNvbXB1dGVyLicsIE5vbmUsIE5vbmUpLAotKHUnTWFpbnRlbmFuY2VUeXBlRGxnJywgdSdSZXBhaXJCdXR0b24nLCB1J1B1c2hCdXR0b24nLCA1MCwgMTE0LCAzOCwgMzgsIDU3NjcxNzEsIE5vbmUsIHUnW1JlcGFpckljb25dJywgdSdSZW1vdmVMYWJlbCcsIHUnUmVwYWlyIEluc3RhbGxhdGlvbnwnKSwKLSh1J01haW50ZW5hbmNlVHlwZURsZycsIHUnUmVwYWlyVGV4dCcsIHUnVGV4dCcsIDEwNSwgMTI3LCAyMzAsIDMwLCAzLCBOb25lLCB1J1JlcGFpcnMgZXJyb3JzIGluIHRoZSBtb3N0IHJlY2VudCBpbnN0YWxsYXRpb24gc3RhdGUgLSBmaXhlcyBtaXNzaW5nIG9yIGNvcnJ1cHQgZmlsZXMsIHNob3J0Y3V0cyBhbmQgcmVnaXN0cnkgZW50cmllcy4nLCBOb25lLCBOb25lKSwKLSh1J01haW50ZW5hbmNlV2VsY29tZURsZycsIHUnQml0bWFwJywgdSdCaXRtYXAnLCAwLCAwLCAzNzAsIDIzNCwgMSwgTm9uZSwgdSdbRGlhbG9nQml0bWFwXScsIHUnQmFjaycsIE5vbmUpLAotKHUnTWFpbnRlbmFuY2VXZWxjb21lRGxnJywgdSdCb3R0b21MaW5lJywgdSdMaW5lJywgMCwgMjM0LCAzNzQsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnTWFpbnRlbmFuY2VXZWxjb21lRGxnJywgdSdDYW5jZWwnLCB1J1B1c2hCdXR0b24nLCAzMDQsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X0NhbmNlbF0nLCB1J0JpdG1hcCcsIE5vbmUpLAotKHUnTWFpbnRlbmFuY2VXZWxjb21lRGxnJywgdSdEZXNjcmlwdGlvbicsIHUnVGV4dCcsIDEzNSwgNzAsIDIyMCwgNjAsIDE5NjYxMSwgTm9uZSwgdSdUaGUgW1dpemFyZF0gd2lsbCBhbGxvdyB5b3UgdG8gY2hhbmdlIHRoZSB3YXkgW1Byb2R1Y3ROYW1lXSBmZWF0dXJlcyBhcmUgaW5zdGFsbGVkIG9uIHlvdXIgY29tcHV0ZXIgb3IgZXZlbiB0byByZW1vdmUgW1Byb2R1Y3ROYW1lXSBmcm9tIHlvdXIgY29tcHV0ZXIuICBDbGljayBOZXh0IHRvIGNvbnRpbnVlIG9yIENhbmNlbCB0byBleGl0IHRoZSBbV2l6YXJkXS4nLCBOb25lLCBOb25lKSwKLSh1J01haW50ZW5hbmNlV2VsY29tZURsZycsIHUnVGl0bGUnLCB1J1RleHQnLCAxMzUsIDIwLCAyMjAsIDYwLCAxOTY2MTEsIE5vbmUsIHUne1xcVmVyZGFuYUJvbGQxM31XZWxjb21lIHRvIHRoZSBbUHJvZHVjdE5hbWVdIFtXaXphcmRdJywgTm9uZSwgTm9uZSksCi0odSdNYWludGVuYW5jZVdlbGNvbWVEbGcnLCB1J0JhY2snLCB1J1B1c2hCdXR0b24nLCAxODAsIDI0MywgNTYsIDE3LCAxLCBOb25lLCB1J1tCdXR0b25UZXh0X0JhY2tdJywgdSdOZXh0JywgTm9uZSksCi0odSdNYWludGVuYW5jZVdlbGNvbWVEbGcnLCB1J05leHQnLCB1J1B1c2hCdXR0b24nLCAyMzYsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X05leHRdJywgdSdDYW5jZWwnLCBOb25lKSwKLSh1J091dE9mRGlza0RsZycsIHUnVGV4dCcsIHUnVGV4dCcsIDIwLCA1MywgMzMwLCA0MCwgMywgTm9uZSwgdSdUaGUgaGlnaGxpZ2h0ZWQgdm9sdW1lcyBkbyBub3QgaGF2ZSBlbm91Z2ggZGlzayBzcGFjZSBhdmFpbGFibGUgZm9yIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgZmVhdHVyZXMuICBZb3UgY2FuIGVpdGhlciByZW1vdmUgc29tZSBmaWxlcyBmcm9tIHRoZSBoaWdobGlnaHRlZCB2b2x1bWVzLCBvciBjaG9vc2UgdG8gaW5zdGFsbCBsZXNzIGZlYXR1cmVzIG9udG8gbG9jYWwgZHJpdmUocyksIG9yIHNlbGVjdCBkaWZmZXJlbnQgZGVzdGluYXRpb24gZHJpdmUocykuJywgTm9uZSwgTm9uZSksCi0odSdPdXRPZkRpc2tEbGcnLCB1J0Jhbm5lckJpdG1hcCcsIHUnQml0bWFwJywgMCwgMCwgMzc0LCA0NCwgMSwgTm9uZSwgdSdbQmFubmVyQml0bWFwXScsIHUnT0snLCBOb25lKSwKLSh1J091dE9mRGlza0RsZycsIHUnQmFubmVyTGluZScsIHUnTGluZScsIDAsIDQ0LCAzNzQsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnT3V0T2ZEaXNrRGxnJywgdSdCb3R0b21MaW5lJywgdSdMaW5lJywgMCwgMjM0LCAzNzQsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnT3V0T2ZEaXNrRGxnJywgdSdEZXNjcmlwdGlvbicsIHUnVGV4dCcsIDIwLCAyMCwgMjgwLCAyMCwgMTk2NjExLCBOb25lLCB1J0Rpc2sgc3BhY2UgcmVxdWlyZWQgZm9yIHRoZSBpbnN0YWxsYXRpb24gZXhjZWVkcyBhdmFpbGFibGUgZGlzayBzcGFjZS4nLCBOb25lLCBOb25lKSwKLSh1J091dE9mRGlza0RsZycsIHUnT0snLCB1J1B1c2hCdXR0b24nLCAzMDQsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X09LXScsIHUnQmFubmVyQml0bWFwJywgTm9uZSksCi0odSdPdXRPZkRpc2tEbGcnLCB1J1RpdGxlJywgdSdUZXh0JywgMTUsIDYsIDIwMCwgMTUsIDE5NjYxMSwgTm9uZSwgdSdbRGxnVGl0bGVGb250XU91dCBvZiBEaXNrIFNwYWNlJywgTm9uZSwgTm9uZSksCi0odSdPdXRPZkRpc2tEbGcnLCB1J1ZvbHVtZUxpc3QnLCB1J1ZvbHVtZUNvc3RMaXN0JywgMjAsIDEwMCwgMzMwLCAxMjAsIDM5MzIyMywgTm9uZSwgdSd7MTIwfXs3MH17NzB9ezcwfXs3MH0nLCBOb25lLCBOb25lKSwKLSh1J091dE9mUmJEaXNrRGxnJywgdSdUZXh0JywgdSdUZXh0JywgMjAsIDUzLCAzMzAsIDQwLCAzLCBOb25lLCB1J1RoZSBoaWdobGlnaHRlZCB2b2x1bWVzIGRvIG5vdCBoYXZlIGVub3VnaCBkaXNrIHNwYWNlIGF2YWlsYWJsZSBmb3IgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBmZWF0dXJlcy4gIFlvdSBjYW4gZWl0aGVyIHJlbW92ZSBzb21lIGZpbGVzIGZyb20gdGhlIGhpZ2hsaWdodGVkIHZvbHVtZXMsIG9yIGNob29zZSB0byBpbnN0YWxsIGxlc3MgZmVhdHVyZXMgb250byBsb2NhbCBkcml2ZShzKSwgb3Igc2VsZWN0IGRpZmZlcmVudCBkZXN0aW5hdGlvbiBkcml2ZShzKS4nLCBOb25lLCBOb25lKSwKLSh1J091dE9mUmJEaXNrRGxnJywgdSdCYW5uZXJCaXRtYXAnLCB1J0JpdG1hcCcsIDAsIDAsIDM3NCwgNDQsIDEsIE5vbmUsIHUnW0Jhbm5lckJpdG1hcF0nLCB1J05vJywgTm9uZSksCi0odSdPdXRPZlJiRGlza0RsZycsIHUnQmFubmVyTGluZScsIHUnTGluZScsIDAsIDQ0LCAzNzQsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnT3V0T2ZSYkRpc2tEbGcnLCB1J0JvdHRvbUxpbmUnLCB1J0xpbmUnLCAwLCAyMzQsIDM3NCwgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdPdXRPZlJiRGlza0RsZycsIHUnRGVzY3JpcHRpb24nLCB1J1RleHQnLCAyMCwgMjAsIDI4MCwgMjAsIDE5NjYxMSwgTm9uZSwgdSdEaXNrIHNwYWNlIHJlcXVpcmVkIGZvciB0aGUgaW5zdGFsbGF0aW9uIGV4Y2VlZHMgYXZhaWxhYmxlIGRpc2sgc3BhY2UuJywgTm9uZSwgTm9uZSksCi0odSdPdXRPZlJiRGlza0RsZycsIHUnVGl0bGUnLCB1J1RleHQnLCAxNSwgNiwgMjAwLCAxNSwgMTk2NjExLCBOb25lLCB1J1tEbGdUaXRsZUZvbnRdT3V0IG9mIERpc2sgU3BhY2UnLCBOb25lLCBOb25lKSwKLSh1J091dE9mUmJEaXNrRGxnJywgdSdObycsIHUnUHVzaEJ1dHRvbicsIDMwNCwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfTm9dJywgdSdZZXMnLCBOb25lKSwKLSh1J091dE9mUmJEaXNrRGxnJywgdSdZZXMnLCB1J1B1c2hCdXR0b24nLCAyNDAsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X1llc10nLCB1J0Jhbm5lckJpdG1hcCcsIE5vbmUpLAotKHUnT3V0T2ZSYkRpc2tEbGcnLCB1J1ZvbHVtZUxpc3QnLCB1J1ZvbHVtZUNvc3RMaXN0JywgMjAsIDE0MCwgMzMwLCA4MCwgNDU4NzUyNywgTm9uZSwgdSd7MTIwfXs3MH17NzB9ezcwfXs3MH0nLCBOb25lLCBOb25lKSwKLSh1J091dE9mUmJEaXNrRGxnJywgdSdUZXh0MicsIHUnVGV4dCcsIDIwLCA5NCwgMzMwLCA0MCwgMywgTm9uZSwgdSJBbHRlcm5hdGl2ZWx5LCB5b3UgbWF5IGNob29zZSB0byBkaXNhYmxlIHRoZSBpbnN0YWxsZXIncyByb2xsYmFjayBmdW5jdGlvbmFsaXR5LiAgVGhpcyBhbGxvd3MgdGhlIGluc3RhbGxlciB0byByZXN0b3JlIHlvdXIgY29tcHV0ZXIncyBvcmlnaW5hbCBzdGF0ZSBzaG91bGQgdGhlIGluc3RhbGxhdGlvbiBiZSBpbnRlcnJ1cHRlZCBpbiBhbnkgd2F5LiAgQ2xpY2sgWWVzIGlmIHlvdSB3aXNoIHRvIHRha2UgdGhlIHJpc2sgdG8gZGlzYWJsZSByb2xsYmFjay4iLCBOb25lLCBOb25lKSwKLSh1J1Jlc3VtZURsZycsIHUnQml0bWFwJywgdSdCaXRtYXAnLCAwLCAwLCAzNzAsIDIzNCwgMSwgTm9uZSwgdSdbRGlhbG9nQml0bWFwXScsIHUnQmFjaycsIE5vbmUpLAotKHUnUmVzdW1lRGxnJywgdSdCb3R0b21MaW5lJywgdSdMaW5lJywgMCwgMjM0LCAzNzQsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnUmVzdW1lRGxnJywgdSdDYW5jZWwnLCB1J1B1c2hCdXR0b24nLCAzMDQsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X0NhbmNlbF0nLCB1J0JpdG1hcCcsIE5vbmUpLAotKHUnUmVzdW1lRGxnJywgdSdEZXNjcmlwdGlvbicsIHUnVGV4dCcsIDEzNSwgNzAsIDIyMCwgMzAsIDE5NjYxMSwgTm9uZSwgdSdUaGUgW1dpemFyZF0gd2lsbCBjb21wbGV0ZSB0aGUgaW5zdGFsbGF0aW9uIG9mIFtQcm9kdWN0TmFtZV0gb24geW91ciBjb21wdXRlci4gIENsaWNrIEluc3RhbGwgdG8gY29udGludWUgb3IgQ2FuY2VsIHRvIGV4aXQgdGhlIFtXaXphcmRdLicsIE5vbmUsIE5vbmUpLAotKHUnUmVzdW1lRGxnJywgdSdUaXRsZScsIHUnVGV4dCcsIDEzNSwgMjAsIDIyMCwgNjAsIDE5NjYxMSwgTm9uZSwgdSd7XFxWZXJkYW5hQm9sZDEzfVJlc3VtaW5nIHRoZSBbUHJvZHVjdE5hbWVdIFtXaXphcmRdJywgTm9uZSwgTm9uZSksCi0odSdSZXN1bWVEbGcnLCB1J0JhY2snLCB1J1B1c2hCdXR0b24nLCAxODAsIDI0MywgNTYsIDE3LCAxLCBOb25lLCB1J1tCdXR0b25UZXh0X0JhY2tdJywgdSdJbnN0YWxsJywgTm9uZSksCi0odSdSZXN1bWVEbGcnLCB1J0luc3RhbGwnLCB1J1B1c2hCdXR0b24nLCAyMzYsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X0luc3RhbGxdJywgdSdDYW5jZWwnLCBOb25lKSwKLSh1J1NldHVwVHlwZURsZycsIHUnQmFubmVyQml0bWFwJywgdSdCaXRtYXAnLCAwLCAwLCAzNzQsIDQ0LCAxLCBOb25lLCB1J1tCYW5uZXJCaXRtYXBdJywgdSdUeXBpY2FsTGFiZWwnLCBOb25lKSwKLSh1J1NldHVwVHlwZURsZycsIHUnQmFubmVyTGluZScsIHUnTGluZScsIDAsIDQ0LCAzNzQsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnU2V0dXBUeXBlRGxnJywgdSdCb3R0b21MaW5lJywgdSdMaW5lJywgMCwgMjM0LCAzNzQsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnU2V0dXBUeXBlRGxnJywgdSdDYW5jZWwnLCB1J1B1c2hCdXR0b24nLCAzMDQsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X0NhbmNlbF0nLCB1J0Jhbm5lckJpdG1hcCcsIE5vbmUpLAotKHUnU2V0dXBUeXBlRGxnJywgdSdEZXNjcmlwdGlvbicsIHUnVGV4dCcsIDI1LCAyMywgMjgwLCAxNSwgMTk2NjExLCBOb25lLCB1J0Nob29zZSB0aGUgc2V0dXAgdHlwZSB0aGF0IGJlc3Qgc3VpdHMgeW91ciBuZWVkcycsIE5vbmUsIE5vbmUpLAotKHUnU2V0dXBUeXBlRGxnJywgdSdUaXRsZScsIHUnVGV4dCcsIDE1LCA2LCAyMDAsIDE1LCAxOTY2MTEsIE5vbmUsIHUnW0RsZ1RpdGxlRm9udF1DaG9vc2UgU2V0dXAgVHlwZScsIE5vbmUsIE5vbmUpLAotKHUnU2V0dXBUeXBlRGxnJywgdSdCYWNrJywgdSdQdXNoQnV0dG9uJywgMTgwLCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9CYWNrXScsIHUnTmV4dCcsIE5vbmUpLAotKHUnU2V0dXBUeXBlRGxnJywgdSdOZXh0JywgdSdQdXNoQnV0dG9uJywgMjM2LCAyNDMsIDU2LCAxNywgMSwgTm9uZSwgdSdbQnV0dG9uVGV4dF9OZXh0XScsIHUnQ2FuY2VsJywgTm9uZSksCi0odSdTZXR1cFR5cGVEbGcnLCB1J1R5cGljYWxMYWJlbCcsIHUnVGV4dCcsIDEwNSwgNjUsIDEwMCwgMTAsIDMsIE5vbmUsIHUnW0RsZ1RpdGxlRm9udF0mVHlwaWNhbCcsIHUnVHlwaWNhbEJ1dHRvbicsIE5vbmUpLAotKHUnU2V0dXBUeXBlRGxnJywgdSdDb21wbGV0ZUJ1dHRvbicsIHUnUHVzaEJ1dHRvbicsIDUwLCAxNzEsIDM4LCAzOCwgNTc2NzE3MSwgTm9uZSwgdSdbQ29tcGxldGVTZXR1cEljb25dJywgdSdCYWNrJywgdSdDb21wbGV0ZSBJbnN0YWxsYXRpb258JyksCi0odSdTZXR1cFR5cGVEbGcnLCB1J0NvbXBsZXRlTGFiZWwnLCB1J1RleHQnLCAxMDUsIDE3MSwgMTAwLCAxMCwgMywgTm9uZSwgdSdbRGxnVGl0bGVGb250XUMmb21wbGV0ZScsIHUnQ29tcGxldGVCdXR0b24nLCBOb25lKSwKLSh1J1NldHVwVHlwZURsZycsIHUnQ29tcGxldGVUZXh0JywgdSdUZXh0JywgMTA1LCAxODQsIDIzMCwgMjAsIDMsIE5vbmUsIHUnQWxsIHByb2dyYW0gZmVhdHVyZXMgd2lsbCBiZSBpbnN0YWxsZWQuICAoUmVxdWlyZXMgbW9zdCBkaXNrIHNwYWNlKScsIE5vbmUsIE5vbmUpLAotKHUnU2V0dXBUeXBlRGxnJywgdSdDdXN0b21CdXR0b24nLCB1J1B1c2hCdXR0b24nLCA1MCwgMTE4LCAzOCwgMzgsIDU3NjcxNzEsIE5vbmUsIHUnW0N1c3RvbVNldHVwSWNvbl0nLCB1J0NvbXBsZXRlTGFiZWwnLCB1J0N1c3RvbSBJbnN0YWxsYXRpb258JyksCi0odSdTZXR1cFR5cGVEbGcnLCB1J0N1c3RvbUxhYmVsJywgdSdUZXh0JywgMTA1LCAxMTgsIDEwMCwgMTAsIDMsIE5vbmUsIHUnW0RsZ1RpdGxlRm9udF1DJnVzdG9tJywgdSdDdXN0b21CdXR0b24nLCBOb25lKSwKLSh1J1NldHVwVHlwZURsZycsIHUnQ3VzdG9tVGV4dCcsIHUnVGV4dCcsIDEwNSwgMTMxLCAyMzAsIDMwLCAzLCBOb25lLCB1J0FsbG93cyB1c2VycyB0byBjaG9vc2Ugd2hpY2ggcHJvZ3JhbSBmZWF0dXJlcyB3aWxsIGJlIGluc3RhbGxlZCBhbmQgd2hlcmUgdGhleSB3aWxsIGJlIGluc3RhbGxlZC4gUmVjb21tZW5kZWQgZm9yIGFkdmFuY2VkIHVzZXJzLicsIE5vbmUsIE5vbmUpLAotKHUnU2V0dXBUeXBlRGxnJywgdSdUeXBpY2FsQnV0dG9uJywgdSdQdXNoQnV0dG9uJywgNTAsIDY1LCAzOCwgMzgsIDU3NjcxNzEsIE5vbmUsIHUnW0luc3RhbGxlckljb25dJywgdSdDdXN0b21MYWJlbCcsIHUnVHlwaWNhbCBJbnN0YWxsYXRpb258JyksCi0odSdTZXR1cFR5cGVEbGcnLCB1J1R5cGljYWxUZXh0JywgdSdUZXh0JywgMTA1LCA3OCwgMjMwLCAyMCwgMywgTm9uZSwgdSdJbnN0YWxscyB0aGUgbW9zdCBjb21tb24gcHJvZ3JhbSBmZWF0dXJlcy4gUmVjb21tZW5kZWQgZm9yIG1vc3QgdXNlcnMuJywgTm9uZSwgTm9uZSksCi0odSdVc2VyUmVnaXN0cmF0aW9uRGxnJywgdSdCYW5uZXJCaXRtYXAnLCB1J0JpdG1hcCcsIDAsIDAsIDM3NCwgNDQsIDEsIE5vbmUsIHUnW0Jhbm5lckJpdG1hcF0nLCB1J05hbWVMYWJlbCcsIE5vbmUpLAotKHUnVXNlclJlZ2lzdHJhdGlvbkRsZycsIHUnQmFubmVyTGluZScsIHUnTGluZScsIDAsIDQ0LCAzNzQsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnVXNlclJlZ2lzdHJhdGlvbkRsZycsIHUnQm90dG9tTGluZScsIHUnTGluZScsIDAsIDIzNCwgMzc0LCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J1VzZXJSZWdpc3RyYXRpb25EbGcnLCB1J0NhbmNlbCcsIHUnUHVzaEJ1dHRvbicsIDMwNCwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfQ2FuY2VsXScsIHUnQmFubmVyQml0bWFwJywgTm9uZSksCi0odSdVc2VyUmVnaXN0cmF0aW9uRGxnJywgdSdEZXNjcmlwdGlvbicsIHUnVGV4dCcsIDI1LCAyMywgMjgwLCAxNSwgMTk2NjExLCBOb25lLCB1J1BsZWFzZSBlbnRlciB5b3VyIGN1c3RvbWVyIGluZm9ybWF0aW9uJywgTm9uZSwgTm9uZSksCi0odSdVc2VyUmVnaXN0cmF0aW9uRGxnJywgdSdUaXRsZScsIHUnVGV4dCcsIDE1LCA2LCAyMDAsIDE1LCAxOTY2MTEsIE5vbmUsIHUnW0RsZ1RpdGxlRm9udF1DdXN0b21lciBJbmZvcm1hdGlvbicsIE5vbmUsIE5vbmUpLAotKHUnVXNlclJlZ2lzdHJhdGlvbkRsZycsIHUnQmFjaycsIHUnUHVzaEJ1dHRvbicsIDE4MCwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfQmFja10nLCB1J05leHQnLCBOb25lKSwKLSh1J1VzZXJSZWdpc3RyYXRpb25EbGcnLCB1J05leHQnLCB1J1B1c2hCdXR0b24nLCAyMzYsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X05leHRdJywgdSdDYW5jZWwnLCBOb25lKSwKLSh1J1VzZXJSZWdpc3RyYXRpb25EbGcnLCB1J09yZ2FuaXphdGlvbkxhYmVsJywgdSdUZXh0JywgNDUsIDExMCwgMTAwLCAxNSwgMywgTm9uZSwgdScmT3JnYW5pemF0aW9uOicsIHUnT3JnYW5pemF0aW9uRWRpdCcsIE5vbmUpLAotKHUnVXNlclJlZ2lzdHJhdGlvbkRsZycsIHUnQ0RLZXlFZGl0JywgdSdNYXNrZWRFZGl0JywgNDUsIDE1OSwgMjUwLCAxNiwgMywgdSdQSURLRVknLCB1J1tQSURUZW1wbGF0ZV0nLCB1J0JhY2snLCBOb25lKSwKLSh1J1VzZXJSZWdpc3RyYXRpb25EbGcnLCB1J0NES2V5TGFiZWwnLCB1J1RleHQnLCA0NSwgMTQ3LCA1MCwgMTAsIDMsIE5vbmUsIHUnQ0QgJktleTonLCB1J0NES2V5RWRpdCcsIE5vbmUpLAotKHUnVXNlclJlZ2lzdHJhdGlvbkRsZycsIHUnT3JnYW5pemF0aW9uRWRpdCcsIHUnRWRpdCcsIDQ1LCAxMjIsIDIyMCwgMTgsIDMsIHUnQ09NUEFOWU5BTUUnLCB1J3s4MH0nLCB1J0NES2V5TGFiZWwnLCBOb25lKSwKLSh1J1VzZXJSZWdpc3RyYXRpb25EbGcnLCB1J05hbWVMYWJlbCcsIHUnVGV4dCcsIDQ1LCA3MywgMTAwLCAxNSwgMywgTm9uZSwgdScmVXNlciBOYW1lOicsIHUnTmFtZUVkaXQnLCBOb25lKSwKLSh1J1VzZXJSZWdpc3RyYXRpb25EbGcnLCB1J05hbWVFZGl0JywgdSdFZGl0JywgNDUsIDg1LCAyMjAsIDE4LCAzLCB1J1VTRVJOQU1FJywgdSd7ODB9JywgdSdPcmdhbml6YXRpb25MYWJlbCcsIE5vbmUpLAotKHUnVmVyaWZ5UmVhZHlEbGcnLCB1J1RleHQnLCB1J1RleHQnLCAyNSwgNzAsIDMyMCwgMjAsIDMsIE5vbmUsIHUnQ2xpY2sgSW5zdGFsbCB0byBiZWdpbiB0aGUgaW5zdGFsbGF0aW9uLiAgSWYgeW91IHdhbnQgdG8gcmV2aWV3IG9yIGNoYW5nZSBhbnkgb2YgeW91ciBpbnN0YWxsYXRpb24gc2V0dGluZ3MsIGNsaWNrIEJhY2suICBDbGljayBDYW5jZWwgdG8gZXhpdCB0aGUgd2l6YXJkLicsIE5vbmUsIE5vbmUpLAotKHUnVmVyaWZ5UmVhZHlEbGcnLCB1J0Jhbm5lckJpdG1hcCcsIHUnQml0bWFwJywgMCwgMCwgMzc0LCA0NCwgMSwgTm9uZSwgdSdbQmFubmVyQml0bWFwXScsIHUnQmFjaycsIE5vbmUpLAotKHUnVmVyaWZ5UmVhZHlEbGcnLCB1J0Jhbm5lckxpbmUnLCB1J0xpbmUnLCAwLCA0NCwgMzc0LCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J1ZlcmlmeVJlYWR5RGxnJywgdSdCb3R0b21MaW5lJywgdSdMaW5lJywgMCwgMjM0LCAzNzQsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnVmVyaWZ5UmVhZHlEbGcnLCB1J0NhbmNlbCcsIHUnUHVzaEJ1dHRvbicsIDMwNCwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfQ2FuY2VsXScsIHUnQmFubmVyQml0bWFwJywgTm9uZSksCi0odSdWZXJpZnlSZWFkeURsZycsIHUnRGVzY3JpcHRpb24nLCB1J1RleHQnLCAyNSwgMjMsIDI4MCwgMTUsIDE5NjYxMSwgTm9uZSwgdSdUaGUgW1dpemFyZF0gaXMgcmVhZHkgdG8gYmVnaW4gdGhlIFtJbnN0YWxsTW9kZV0gaW5zdGFsbGF0aW9uJywgTm9uZSwgTm9uZSksCi0odSdWZXJpZnlSZWFkeURsZycsIHUnVGl0bGUnLCB1J1RleHQnLCAxNSwgNiwgMjAwLCAxNSwgMTk2NjExLCBOb25lLCB1J1tEbGdUaXRsZUZvbnRdUmVhZHkgdG8gSW5zdGFsbCcsIE5vbmUsIE5vbmUpLAotKHUnVmVyaWZ5UmVhZHlEbGcnLCB1J0JhY2snLCB1J1B1c2hCdXR0b24nLCAxODAsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X0JhY2tdJywgdSdJbnN0YWxsJywgTm9uZSksCi0odSdWZXJpZnlSZWFkeURsZycsIHUnSW5zdGFsbCcsIHUnUHVzaEJ1dHRvbicsIDIzNiwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfSW5zdGFsbF0nLCB1J0NhbmNlbCcsIE5vbmUpLAotKHUnVmVyaWZ5UmVtb3ZlRGxnJywgdSdUZXh0JywgdSdUZXh0JywgMjUsIDcwLCAzMjAsIDMwLCAzLCBOb25lLCB1J0NsaWNrIFJlbW92ZSB0byByZW1vdmUgW1Byb2R1Y3ROYW1lXSBmcm9tIHlvdXIgY29tcHV0ZXIuICBJZiB5b3Ugd2FudCB0byByZXZpZXcgb3IgY2hhbmdlIGFueSBvZiB5b3VyIGluc3RhbGxhdGlvbiBzZXR0aW5ncywgY2xpY2sgQmFjay4gIENsaWNrIENhbmNlbCB0byBleGl0IHRoZSB3aXphcmQuJywgTm9uZSwgTm9uZSksCi0odSdWZXJpZnlSZW1vdmVEbGcnLCB1J0Jhbm5lckJpdG1hcCcsIHUnQml0bWFwJywgMCwgMCwgMzc0LCA0NCwgMSwgTm9uZSwgdSdbQmFubmVyQml0bWFwXScsIHUnQmFjaycsIE5vbmUpLAotKHUnVmVyaWZ5UmVtb3ZlRGxnJywgdSdCYW5uZXJMaW5lJywgdSdMaW5lJywgMCwgNDQsIDM3NCwgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdWZXJpZnlSZW1vdmVEbGcnLCB1J0JvdHRvbUxpbmUnLCB1J0xpbmUnLCAwLCAyMzQsIDM3NCwgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdWZXJpZnlSZW1vdmVEbGcnLCB1J0NhbmNlbCcsIHUnUHVzaEJ1dHRvbicsIDMwNCwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfQ2FuY2VsXScsIHUnQmFubmVyQml0bWFwJywgTm9uZSksCi0odSdWZXJpZnlSZW1vdmVEbGcnLCB1J0Rlc2NyaXB0aW9uJywgdSdUZXh0JywgMjUsIDIzLCAyODAsIDE1LCAxOTY2MTEsIE5vbmUsIHUnWW91IGhhdmUgY2hvc2VuIHRvIHJlbW92ZSB0aGUgcHJvZ3JhbSBmcm9tIHlvdXIgY29tcHV0ZXIuJywgTm9uZSwgTm9uZSksCi0odSdWZXJpZnlSZW1vdmVEbGcnLCB1J1RpdGxlJywgdSdUZXh0JywgMTUsIDYsIDIwMCwgMTUsIDE5NjYxMSwgTm9uZSwgdSdbRGxnVGl0bGVGb250XVJlbW92ZSBbUHJvZHVjdE5hbWVdJywgTm9uZSwgTm9uZSksCi0odSdWZXJpZnlSZW1vdmVEbGcnLCB1J0JhY2snLCB1J1B1c2hCdXR0b24nLCAxODAsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X0JhY2tdJywgdSdSZW1vdmUnLCBOb25lKSwKLSh1J1ZlcmlmeVJlbW92ZURsZycsIHUnUmVtb3ZlJywgdSdQdXNoQnV0dG9uJywgMjM2LCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9SZW1vdmVdJywgdSdDYW5jZWwnLCBOb25lKSwKLSh1J1ZlcmlmeVJlcGFpckRsZycsIHUnVGV4dCcsIHUnVGV4dCcsIDI1LCA3MCwgMzIwLCAzMCwgMywgTm9uZSwgdSdDbGljayBSZXBhaXIgdG8gcmVwYWlyIHRoZSBpbnN0YWxsYXRpb24gb2YgW1Byb2R1Y3ROYW1lXS4gIElmIHlvdSB3YW50IHRvIHJldmlldyBvciBjaGFuZ2UgYW55IG9mIHlvdXIgaW5zdGFsbGF0aW9uIHNldHRpbmdzLCBjbGljayBCYWNrLiAgQ2xpY2sgQ2FuY2VsIHRvIGV4aXQgdGhlIHdpemFyZC4nLCBOb25lLCBOb25lKSwKLSh1J1ZlcmlmeVJlcGFpckRsZycsIHUnQmFubmVyQml0bWFwJywgdSdCaXRtYXAnLCAwLCAwLCAzNzQsIDQ0LCAxLCBOb25lLCB1J1tCYW5uZXJCaXRtYXBdJywgdSdCYWNrJywgTm9uZSksCi0odSdWZXJpZnlSZXBhaXJEbGcnLCB1J0Jhbm5lckxpbmUnLCB1J0xpbmUnLCAwLCA0NCwgMzc0LCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J1ZlcmlmeVJlcGFpckRsZycsIHUnQm90dG9tTGluZScsIHUnTGluZScsIDAsIDIzNCwgMzc0LCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J1ZlcmlmeVJlcGFpckRsZycsIHUnQ2FuY2VsJywgdSdQdXNoQnV0dG9uJywgMzA0LCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9DYW5jZWxdJywgdSdCYW5uZXJCaXRtYXAnLCBOb25lKSwKLSh1J1ZlcmlmeVJlcGFpckRsZycsIHUnRGVzY3JpcHRpb24nLCB1J1RleHQnLCAyNSwgMjMsIDI4MCwgMTUsIDE5NjYxMSwgTm9uZSwgdSdUaGUgW1dpemFyZF0gaXMgcmVhZHkgdG8gYmVnaW4gdGhlIHJlcGFpciBvZiBbUHJvZHVjdE5hbWVdLicsIE5vbmUsIE5vbmUpLAotKHUnVmVyaWZ5UmVwYWlyRGxnJywgdSdUaXRsZScsIHUnVGV4dCcsIDE1LCA2LCAyMDAsIDE1LCAxOTY2MTEsIE5vbmUsIHUnW0RsZ1RpdGxlRm9udF1SZXBhaXIgW1Byb2R1Y3ROYW1lXScsIE5vbmUsIE5vbmUpLAotKHUnVmVyaWZ5UmVwYWlyRGxnJywgdSdCYWNrJywgdSdQdXNoQnV0dG9uJywgMTgwLCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9CYWNrXScsIHUnUmVwYWlyJywgTm9uZSksCi0odSdWZXJpZnlSZXBhaXJEbGcnLCB1J1JlcGFpcicsIHUnUHVzaEJ1dHRvbicsIDIzNiwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfUmVwYWlyXScsIHUnQ2FuY2VsJywgTm9uZSksCi0odSdXYWl0Rm9yQ29zdGluZ0RsZycsIHUnVGV4dCcsIHUnVGV4dCcsIDQ4LCAxNSwgMTk0LCAzMCwgMywgTm9uZSwgdSdQbGVhc2Ugd2FpdCB3aGlsZSB0aGUgaW5zdGFsbGVyIGZpbmlzaGVzIGRldGVybWluaW5nIHlvdXIgZGlzayBzcGFjZSByZXF1aXJlbWVudHMuJywgTm9uZSwgTm9uZSksCi0odSdXYWl0Rm9yQ29zdGluZ0RsZycsIHUnSWNvbicsIHUnSWNvbicsIDE1LCAxNSwgMjQsIDI0LCA1MjQyODgxLCBOb25lLCB1J1tFeGNsYW1hdGlvbkljb25dJywgTm9uZSwgdSdFeGNsYW1hdGlvbiBpY29ufCcpLAotKHUnV2FpdEZvckNvc3RpbmdEbGcnLCB1J1JldHVybicsIHUnUHVzaEJ1dHRvbicsIDEwMiwgNTcsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9SZXR1cm5dJywgTm9uZSwgTm9uZSksCi0odSdXZWxjb21lRGxnJywgdSdCaXRtYXAnLCB1J0JpdG1hcCcsIDAsIDAsIDM3MCwgMjM0LCAxLCBOb25lLCB1J1tEaWFsb2dCaXRtYXBdJywgdSdCYWNrJywgTm9uZSksCi0odSdXZWxjb21lRGxnJywgdSdCb3R0b21MaW5lJywgdSdMaW5lJywgMCwgMjM0LCAzNzQsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnV2VsY29tZURsZycsIHUnQ2FuY2VsJywgdSdQdXNoQnV0dG9uJywgMzA0LCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9DYW5jZWxdJywgdSdCaXRtYXAnLCBOb25lKSwKLSh1J1dlbGNvbWVEbGcnLCB1J0Rlc2NyaXB0aW9uJywgdSdUZXh0JywgMTM1LCA3MCwgMjIwLCAzMCwgMTk2NjExLCBOb25lLCB1J1RoZSBbV2l6YXJkXSB3aWxsIGluc3RhbGwgW1Byb2R1Y3ROYW1lXSBvbiB5b3VyIGNvbXB1dGVyLiAgQ2xpY2sgTmV4dCB0byBjb250aW51ZSBvciBDYW5jZWwgdG8gZXhpdCB0aGUgW1dpemFyZF0uJywgTm9uZSwgTm9uZSksCi0odSdXZWxjb21lRGxnJywgdSdUaXRsZScsIHUnVGV4dCcsIDEzNSwgMjAsIDIyMCwgNjAsIDE5NjYxMSwgTm9uZSwgdSd7XFxWZXJkYW5hQm9sZDEzfVdlbGNvbWUgdG8gdGhlIFtQcm9kdWN0TmFtZV0gW1dpemFyZF0nLCBOb25lLCBOb25lKSwKLSh1J1dlbGNvbWVEbGcnLCB1J0JhY2snLCB1J1B1c2hCdXR0b24nLCAxODAsIDI0MywgNTYsIDE3LCAxLCBOb25lLCB1J1tCdXR0b25UZXh0X0JhY2tdJywgdSdOZXh0JywgTm9uZSksCi0odSdXZWxjb21lRGxnJywgdSdOZXh0JywgdSdQdXNoQnV0dG9uJywgMjM2LCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9OZXh0XScsIHUnQ2FuY2VsJywgTm9uZSksCi1dCi0KLUxpc3RCb3ggPSBbCi1dCi0KLUFjdGlvblRleHQgPSBbCi0odSdJbnN0YWxsVmFsaWRhdGUnLCB1J1ZhbGlkYXRpbmcgaW5zdGFsbCcsIE5vbmUpLAotKHUnSW5zdGFsbEZpbGVzJywgdSdDb3B5aW5nIG5ldyBmaWxlcycsIHUnRmlsZTogWzFdLCAgRGlyZWN0b3J5OiBbOV0sICBTaXplOiBbNl0nKSwKLSh1J0luc3RhbGxBZG1pblBhY2thZ2UnLCB1J0NvcHlpbmcgbmV0d29yayBpbnN0YWxsIGZpbGVzJywgdSdGaWxlOiBbMV0sIERpcmVjdG9yeTogWzldLCBTaXplOiBbNl0nKSwKLSh1J0ZpbGVDb3N0JywgdSdDb21wdXRpbmcgc3BhY2UgcmVxdWlyZW1lbnRzJywgTm9uZSksCi0odSdDb3N0SW5pdGlhbGl6ZScsIHUnQ29tcHV0aW5nIHNwYWNlIHJlcXVpcmVtZW50cycsIE5vbmUpLAotKHUnQ29zdEZpbmFsaXplJywgdSdDb21wdXRpbmcgc3BhY2UgcmVxdWlyZW1lbnRzJywgTm9uZSksCi0odSdDcmVhdGVTaG9ydGN1dHMnLCB1J0NyZWF0aW5nIHNob3J0Y3V0cycsIHUnU2hvcnRjdXQ6IFsxXScpLAotKHUnUHVibGlzaENvbXBvbmVudHMnLCB1J1B1Ymxpc2hpbmcgUXVhbGlmaWVkIENvbXBvbmVudHMnLCB1J0NvbXBvbmVudCBJRDogWzFdLCBRdWFsaWZpZXI6IFsyXScpLAotKHUnUHVibGlzaEZlYXR1cmVzJywgdSdQdWJsaXNoaW5nIFByb2R1Y3QgRmVhdHVyZXMnLCB1J0ZlYXR1cmU6IFsxXScpLAotKHUnUHVibGlzaFByb2R1Y3QnLCB1J1B1Ymxpc2hpbmcgcHJvZHVjdCBpbmZvcm1hdGlvbicsIE5vbmUpLAotKHUnUmVnaXN0ZXJDbGFzc0luZm8nLCB1J1JlZ2lzdGVyaW5nIENsYXNzIHNlcnZlcnMnLCB1J0NsYXNzIElkOiBbMV0nKSwKLSh1J1JlZ2lzdGVyRXh0ZW5zaW9uSW5mbycsIHUnUmVnaXN0ZXJpbmcgZXh0ZW5zaW9uIHNlcnZlcnMnLCB1J0V4dGVuc2lvbjogWzFdJyksCi0odSdSZWdpc3Rlck1JTUVJbmZvJywgdSdSZWdpc3RlcmluZyBNSU1FIGluZm8nLCB1J01JTUUgQ29udGVudCBUeXBlOiBbMV0sIEV4dGVuc2lvbjogWzJdJyksCi0odSdSZWdpc3RlclByb2dJZEluZm8nLCB1J1JlZ2lzdGVyaW5nIHByb2dyYW0gaWRlbnRpZmllcnMnLCB1J1Byb2dJZDogWzFdJyksCi0odSdBbGxvY2F0ZVJlZ2lzdHJ5U3BhY2UnLCB1J0FsbG9jYXRpbmcgcmVnaXN0cnkgc3BhY2UnLCB1J0ZyZWUgc3BhY2U6IFsxXScpLAotKHUnQXBwU2VhcmNoJywgdSdTZWFyY2hpbmcgZm9yIGluc3RhbGxlZCBhcHBsaWNhdGlvbnMnLCB1J1Byb3BlcnR5OiBbMV0sIFNpZ25hdHVyZTogWzJdJyksCi0odSdCaW5kSW1hZ2UnLCB1J0JpbmRpbmcgZXhlY3V0YWJsZXMnLCB1J0ZpbGU6IFsxXScpLAotKHUnQ0NQU2VhcmNoJywgdSdTZWFyY2hpbmcgZm9yIHF1YWxpZnlpbmcgcHJvZHVjdHMnLCBOb25lKSwKLSh1J0NyZWF0ZUZvbGRlcnMnLCB1J0NyZWF0aW5nIGZvbGRlcnMnLCB1J0ZvbGRlcjogWzFdJyksCi0odSdEZWxldGVTZXJ2aWNlcycsIHUnRGVsZXRpbmcgc2VydmljZXMnLCB1J1NlcnZpY2U6IFsxXScpLAotKHUnRHVwbGljYXRlRmlsZXMnLCB1J0NyZWF0aW5nIGR1cGxpY2F0ZSBmaWxlcycsIHUnRmlsZTogWzFdLCAgRGlyZWN0b3J5OiBbOV0sICBTaXplOiBbNl0nKSwKLSh1J0ZpbmRSZWxhdGVkUHJvZHVjdHMnLCB1J1NlYXJjaGluZyBmb3IgcmVsYXRlZCBhcHBsaWNhdGlvbnMnLCB1J0ZvdW5kIGFwcGxpY2F0aW9uOiBbMV0nKSwKLSh1J0luc3RhbGxPREJDJywgdSdJbnN0YWxsaW5nIE9EQkMgY29tcG9uZW50cycsIE5vbmUpLAotKHUnSW5zdGFsbFNlcnZpY2VzJywgdSdJbnN0YWxsaW5nIG5ldyBzZXJ2aWNlcycsIHUnU2VydmljZTogWzJdJyksCi0odSdMYXVuY2hDb25kaXRpb25zJywgdSdFdmFsdWF0aW5nIGxhdW5jaCBjb25kaXRpb25zJywgTm9uZSksCi0odSdNaWdyYXRlRmVhdHVyZVN0YXRlcycsIHUnTWlncmF0aW5nIGZlYXR1cmUgc3RhdGVzIGZyb20gcmVsYXRlZCBhcHBsaWNhdGlvbnMnLCB1J0FwcGxpY2F0aW9uOiBbMV0nKSwKLSh1J01vdmVGaWxlcycsIHUnTW92aW5nIGZpbGVzJywgdSdGaWxlOiBbMV0sICBEaXJlY3Rvcnk6IFs5XSwgIFNpemU6IFs2XScpLAotKHUnUGF0Y2hGaWxlcycsIHUnUGF0Y2hpbmcgZmlsZXMnLCB1J0ZpbGU6IFsxXSwgIERpcmVjdG9yeTogWzJdLCAgU2l6ZTogWzNdJyksCi0odSdQcm9jZXNzQ29tcG9uZW50cycsIHUnVXBkYXRpbmcgY29tcG9uZW50IHJlZ2lzdHJhdGlvbicsIE5vbmUpLAotKHUnUmVnaXN0ZXJDb21QbHVzJywgdSdSZWdpc3RlcmluZyBDT00rIEFwcGxpY2F0aW9ucyBhbmQgQ29tcG9uZW50cycsIHUnQXBwSWQ6IFsxXXt7LCBBcHBUeXBlOiBbMl0sIFVzZXJzOiBbM10sIFJTTjogWzRdfX0nKSwKLSh1J1JlZ2lzdGVyRm9udHMnLCB1J1JlZ2lzdGVyaW5nIGZvbnRzJywgdSdGb250OiBbMV0nKSwKLSh1J1JlZ2lzdGVyUHJvZHVjdCcsIHUnUmVnaXN0ZXJpbmcgcHJvZHVjdCcsIHUnWzFdJyksCi0odSdSZWdpc3RlclR5cGVMaWJyYXJpZXMnLCB1J1JlZ2lzdGVyaW5nIHR5cGUgbGlicmFyaWVzJywgdSdMaWJJRDogWzFdJyksCi0odSdSZWdpc3RlclVzZXInLCB1J1JlZ2lzdGVyaW5nIHVzZXInLCB1J1sxXScpLAotKHUnUmVtb3ZlRHVwbGljYXRlRmlsZXMnLCB1J1JlbW92aW5nIGR1cGxpY2F0ZWQgZmlsZXMnLCB1J0ZpbGU6IFsxXSwgRGlyZWN0b3J5OiBbOV0nKSwKLSh1J1JlbW92ZUVudmlyb25tZW50U3RyaW5ncycsIHUnVXBkYXRpbmcgZW52aXJvbm1lbnQgc3RyaW5ncycsIHUnTmFtZTogWzFdLCBWYWx1ZTogWzJdLCBBY3Rpb24gWzNdJyksCi0odSdSZW1vdmVFeGlzdGluZ1Byb2R1Y3RzJywgdSdSZW1vdmluZyBhcHBsaWNhdGlvbnMnLCB1J0FwcGxpY2F0aW9uOiBbMV0sIENvbW1hbmQgbGluZTogWzJdJyksCi0odSdSZW1vdmVGaWxlcycsIHUnUmVtb3ZpbmcgZmlsZXMnLCB1J0ZpbGU6IFsxXSwgRGlyZWN0b3J5OiBbOV0nKSwKLSh1J1JlbW92ZUZvbGRlcnMnLCB1J1JlbW92aW5nIGZvbGRlcnMnLCB1J0ZvbGRlcjogWzFdJyksCi0odSdSZW1vdmVJbmlWYWx1ZXMnLCB1J1JlbW92aW5nIElOSSBmaWxlcyBlbnRyaWVzJywgdSdGaWxlOiBbMV0sICBTZWN0aW9uOiBbMl0sICBLZXk6IFszXSwgVmFsdWU6IFs0XScpLAotKHUnUmVtb3ZlT0RCQycsIHUnUmVtb3ZpbmcgT0RCQyBjb21wb25lbnRzJywgTm9uZSksCi0odSdSZW1vdmVSZWdpc3RyeVZhbHVlcycsIHUnUmVtb3Zpbmcgc3lzdGVtIHJlZ2lzdHJ5IHZhbHVlcycsIHUnS2V5OiBbMV0sIE5hbWU6IFsyXScpLAotKHUnUmVtb3ZlU2hvcnRjdXRzJywgdSdSZW1vdmluZyBzaG9ydGN1dHMnLCB1J1Nob3J0Y3V0OiBbMV0nKSwKLSh1J1JNQ0NQU2VhcmNoJywgdSdTZWFyY2hpbmcgZm9yIHF1YWxpZnlpbmcgcHJvZHVjdHMnLCBOb25lKSwKLSh1J1NlbGZSZWdNb2R1bGVzJywgdSdSZWdpc3RlcmluZyBtb2R1bGVzJywgdSdGaWxlOiBbMV0sIEZvbGRlcjogWzJdJyksCi0odSdTZWxmVW5yZWdNb2R1bGVzJywgdSdVbnJlZ2lzdGVyaW5nIG1vZHVsZXMnLCB1J0ZpbGU6IFsxXSwgRm9sZGVyOiBbMl0nKSwKLSh1J1NldE9EQkNGb2xkZXJzJywgdSdJbml0aWFsaXppbmcgT0RCQyBkaXJlY3RvcmllcycsIE5vbmUpLAotKHUnU3RhcnRTZXJ2aWNlcycsIHUnU3RhcnRpbmcgc2VydmljZXMnLCB1J1NlcnZpY2U6IFsxXScpLAotKHUnU3RvcFNlcnZpY2VzJywgdSdTdG9wcGluZyBzZXJ2aWNlcycsIHUnU2VydmljZTogWzFdJyksCi0odSdVbnB1Ymxpc2hDb21wb25lbnRzJywgdSdVbnB1Ymxpc2hpbmcgUXVhbGlmaWVkIENvbXBvbmVudHMnLCB1J0NvbXBvbmVudCBJRDogWzFdLCBRdWFsaWZpZXI6IFsyXScpLAotKHUnVW5wdWJsaXNoRmVhdHVyZXMnLCB1J1VucHVibGlzaGluZyBQcm9kdWN0IEZlYXR1cmVzJywgdSdGZWF0dXJlOiBbMV0nKSwKLSh1J1VucmVnaXN0ZXJDbGFzc0luZm8nLCB1J1VucmVnaXN0ZXIgQ2xhc3Mgc2VydmVycycsIHUnQ2xhc3MgSWQ6IFsxXScpLAotKHUnVW5yZWdpc3RlckNvbVBsdXMnLCB1J1VucmVnaXN0ZXJpbmcgQ09NKyBBcHBsaWNhdGlvbnMgYW5kIENvbXBvbmVudHMnLCB1J0FwcElkOiBbMV17eywgQXBwVHlwZTogWzJdfX0nKSwKLSh1J1VucmVnaXN0ZXJFeHRlbnNpb25JbmZvJywgdSdVbnJlZ2lzdGVyaW5nIGV4dGVuc2lvbiBzZXJ2ZXJzJywgdSdFeHRlbnNpb246IFsxXScpLAotKHUnVW5yZWdpc3RlckZvbnRzJywgdSdVbnJlZ2lzdGVyaW5nIGZvbnRzJywgdSdGb250OiBbMV0nKSwKLSh1J1VucmVnaXN0ZXJNSU1FSW5mbycsIHUnVW5yZWdpc3RlcmluZyBNSU1FIGluZm8nLCB1J01JTUUgQ29udGVudCBUeXBlOiBbMV0sIEV4dGVuc2lvbjogWzJdJyksCi0odSdVbnJlZ2lzdGVyUHJvZ0lkSW5mbycsIHUnVW5yZWdpc3RlcmluZyBwcm9ncmFtIGlkZW50aWZpZXJzJywgdSdQcm9nSWQ6IFsxXScpLAotKHUnVW5yZWdpc3RlclR5cGVMaWJyYXJpZXMnLCB1J1VucmVnaXN0ZXJpbmcgdHlwZSBsaWJyYXJpZXMnLCB1J0xpYklEOiBbMV0nKSwKLSh1J1dyaXRlRW52aXJvbm1lbnRTdHJpbmdzJywgdSdVcGRhdGluZyBlbnZpcm9ubWVudCBzdHJpbmdzJywgdSdOYW1lOiBbMV0sIFZhbHVlOiBbMl0sIEFjdGlvbiBbM10nKSwKLSh1J1dyaXRlSW5pVmFsdWVzJywgdSdXcml0aW5nIElOSSBmaWxlcyB2YWx1ZXMnLCB1J0ZpbGU6IFsxXSwgIFNlY3Rpb246IFsyXSwgIEtleTogWzNdLCBWYWx1ZTogWzRdJyksCi0odSdXcml0ZVJlZ2lzdHJ5VmFsdWVzJywgdSdXcml0aW5nIHN5c3RlbSByZWdpc3RyeSB2YWx1ZXMnLCB1J0tleTogWzFdLCBOYW1lOiBbMl0sIFZhbHVlOiBbM10nKSwKLSh1J0FkdmVydGlzZScsIHUnQWR2ZXJ0aXNpbmcgYXBwbGljYXRpb24nLCBOb25lKSwKLSh1J0dlbmVyYXRlU2NyaXB0JywgdSdHZW5lcmF0aW5nIHNjcmlwdCBvcGVyYXRpb25zIGZvciBhY3Rpb246JywgdSdbMV0nKSwKLSh1J0luc3RhbGxTRlBDYXRhbG9nRmlsZScsIHUnSW5zdGFsbGluZyBzeXN0ZW0gY2F0YWxvZycsIHUnRmlsZTogWzFdLCAgRGVwZW5kZW5jaWVzOiBbMl0nKSwKLSh1J01zaVB1Ymxpc2hBc3NlbWJsaWVzJywgdSdQdWJsaXNoaW5nIGFzc2VtYmx5IGluZm9ybWF0aW9uJywgdSdBcHBsaWNhdGlvbiBDb250ZXh0OlsxXSwgQXNzZW1ibHkgTmFtZTpbMl0nKSwKLSh1J01zaVVucHVibGlzaEFzc2VtYmxpZXMnLCB1J1VucHVibGlzaGluZyBhc3NlbWJseSBpbmZvcm1hdGlvbicsIHUnQXBwbGljYXRpb24gQ29udGV4dDpbMV0sIEFzc2VtYmx5IE5hbWU6WzJdJyksCi0odSdSb2xsYmFjaycsIHUnUm9sbGluZyBiYWNrIGFjdGlvbjonLCB1J1sxXScpLAotKHUnUm9sbGJhY2tDbGVhbnVwJywgdSdSZW1vdmluZyBiYWNrdXAgZmlsZXMnLCB1J0ZpbGU6IFsxXScpLAotKHUnVW5tb3ZlRmlsZXMnLCB1J1JlbW92aW5nIG1vdmVkIGZpbGVzJywgdSdGaWxlOiBbMV0sIERpcmVjdG9yeTogWzldJyksCi0odSdVbnB1Ymxpc2hQcm9kdWN0JywgdSdVbnB1Ymxpc2hpbmcgcHJvZHVjdCBpbmZvcm1hdGlvbicsIE5vbmUpLAotXQotCi1Db250cm9sQ29uZGl0aW9uID0gWwotKHUnQ3VzdG9taXplRGxnJywgdSdCcm93c2UnLCB1J0hpZGUnLCB1J0luc3RhbGxlZCcpLAotKHUnQ3VzdG9taXplRGxnJywgdSdMb2NhdGlvbicsIHUnSGlkZScsIHUnSW5zdGFsbGVkJyksCi0odSdDdXN0b21pemVEbGcnLCB1J0xvY2F0aW9uTGFiZWwnLCB1J0hpZGUnLCB1J0luc3RhbGxlZCcpLAotKHUnTGljZW5zZUFncmVlbWVudERsZycsIHUnTmV4dCcsIHUnRGlzYWJsZScsIHUnSUFncmVlIDw+ICJZZXMiJyksCi0odSdMaWNlbnNlQWdyZWVtZW50RGxnJywgdSdOZXh0JywgdSdFbmFibGUnLCB1J0lBZ3JlZSA9ICJZZXMiJyksCi1dCi0KLUNvbnRyb2xFdmVudCA9IFsKLSh1J0FkbWluV2VsY29tZURsZycsIHUnQ2FuY2VsJywgdSdTcGF3bkRpYWxvZycsIHUnQ2FuY2VsRGxnJywgdScxJywgTm9uZSksCi0odSdBZG1pbldlbGNvbWVEbGcnLCB1J05leHQnLCB1J05ld0RpYWxvZycsIHUnQWRtaW5SZWdpc3RyYXRpb25EbGcnLCB1JzEnLCAyKSwKLSh1J0FkbWluV2VsY29tZURsZycsIHUnTmV4dCcsIHUnW0luc3RhbGxNb2RlXScsIHUnU2VydmVyIEltYWdlJywgdScxJywgMSksCi0odSdFeGl0RGlhbG9nJywgdSdGaW5pc2gnLCB1J0VuZERpYWxvZycsIHUnUmV0dXJuJywgdScxJywgTm9uZSksCi0odSdGYXRhbEVycm9yJywgdSdGaW5pc2gnLCB1J0VuZERpYWxvZycsIHUnRXhpdCcsIHUnMScsIE5vbmUpLAotKHUnUHJlcGFyZURsZycsIHUnQ2FuY2VsJywgdSdTcGF3bkRpYWxvZycsIHUnQ2FuY2VsRGxnJywgdScxJywgTm9uZSksCi0odSdQcm9ncmVzc0RsZycsIHUnQ2FuY2VsJywgdSdTcGF3bkRpYWxvZycsIHUnQ2FuY2VsRGxnJywgdScxJywgTm9uZSksCi0odSdVc2VyRXhpdCcsIHUnRmluaXNoJywgdSdFbmREaWFsb2cnLCB1J0V4aXQnLCB1JzEnLCBOb25lKSwKLSh1J0FkbWluQnJvd3NlRGxnJywgdSdVcCcsIHUnRGlyZWN0b3J5TGlzdFVwJywgdScwJywgdScxJywgTm9uZSksCi0odSdBZG1pbkJyb3dzZURsZycsIHUnQ2FuY2VsJywgdSdSZXNldCcsIHUnMCcsIHUnMScsIDEpLAotKHUnQWRtaW5Ccm93c2VEbGcnLCB1J0NhbmNlbCcsIHUnRW5kRGlhbG9nJywgdSdSZXR1cm4nLCB1JzEnLCAyKSwKLSh1J0FkbWluQnJvd3NlRGxnJywgdSdOZXdGb2xkZXInLCB1J0RpcmVjdG9yeUxpc3ROZXcnLCB1JzAnLCB1JzEnLCBOb25lKSwKLSh1J0FkbWluQnJvd3NlRGxnJywgdSdPSycsIHUnRW5kRGlhbG9nJywgdSdSZXR1cm4nLCB1JzEnLCAyKSwKLSh1J0FkbWluQnJvd3NlRGxnJywgdSdPSycsIHUnU2V0VGFyZ2V0UGF0aCcsIHUnVEFSR0VURElSJywgdScxJywgMSksCi0odSdBZG1pbkluc3RhbGxQb2ludERsZycsIHUnQ2FuY2VsJywgdSdTcGF3bkRpYWxvZycsIHUnQ2FuY2VsRGxnJywgdScxJywgTm9uZSksCi0odSdBZG1pbkluc3RhbGxQb2ludERsZycsIHUnQmFjaycsIHUnTmV3RGlhbG9nJywgdSdBZG1pblJlZ2lzdHJhdGlvbkRsZycsIHUnMScsIE5vbmUpLAotKHUnQWRtaW5JbnN0YWxsUG9pbnREbGcnLCB1J05leHQnLCB1J1NldFRhcmdldFBhdGgnLCB1J1RBUkdFVERJUicsIHUnMScsIDEpLAotKHUnQWRtaW5JbnN0YWxsUG9pbnREbGcnLCB1J05leHQnLCB1J05ld0RpYWxvZycsIHUnVmVyaWZ5UmVhZHlEbGcnLCB1JzEnLCAyKSwKLSh1J0FkbWluSW5zdGFsbFBvaW50RGxnJywgdSdCcm93c2UnLCB1J1NwYXduRGlhbG9nJywgdSdBZG1pbkJyb3dzZURsZycsIHUnMScsIE5vbmUpLAotKHUnQWRtaW5SZWdpc3RyYXRpb25EbGcnLCB1J0NhbmNlbCcsIHUnU3Bhd25EaWFsb2cnLCB1J0NhbmNlbERsZycsIHUnMScsIE5vbmUpLAotKHUnQWRtaW5SZWdpc3RyYXRpb25EbGcnLCB1J0JhY2snLCB1J05ld0RpYWxvZycsIHUnQWRtaW5XZWxjb21lRGxnJywgdScxJywgTm9uZSksCi0odSdBZG1pblJlZ2lzdHJhdGlvbkRsZycsIHUnTmV4dCcsIHUnTmV3RGlhbG9nJywgdSdBZG1pbkluc3RhbGxQb2ludERsZycsIHUnUHJvZHVjdElEJywgMiksCi0odSdBZG1pblJlZ2lzdHJhdGlvbkRsZycsIHUnTmV4dCcsIHUnVmFsaWRhdGVQcm9kdWN0SUQnLCB1JzAnLCB1JzAnLCAxKSwKLSh1J0Jyb3dzZURsZycsIHUnVXAnLCB1J0RpcmVjdG9yeUxpc3RVcCcsIHUnMCcsIHUnMScsIE5vbmUpLAotKHUnQnJvd3NlRGxnJywgdSdDYW5jZWwnLCB1J1Jlc2V0JywgdScwJywgdScxJywgMSksCi0odSdCcm93c2VEbGcnLCB1J0NhbmNlbCcsIHUnRW5kRGlhbG9nJywgdSdSZXR1cm4nLCB1JzEnLCAyKSwKLSh1J0Jyb3dzZURsZycsIHUnTmV3Rm9sZGVyJywgdSdEaXJlY3RvcnlMaXN0TmV3JywgdScwJywgdScxJywgTm9uZSksCi0odSdCcm93c2VEbGcnLCB1J09LJywgdSdFbmREaWFsb2cnLCB1J1JldHVybicsIHUnMScsIDIpLAotKHUnQnJvd3NlRGxnJywgdSdPSycsIHUnU2V0VGFyZ2V0UGF0aCcsIHUnW19Ccm93c2VQcm9wZXJ0eV0nLCB1JzEnLCAxKSwKLSh1J0NhbmNlbERsZycsIHUnTm8nLCB1J0VuZERpYWxvZycsIHUnUmV0dXJuJywgdScxJywgTm9uZSksCi0odSdDYW5jZWxEbGcnLCB1J1llcycsIHUnRW5kRGlhbG9nJywgdSdFeGl0JywgdScxJywgTm9uZSksCi0odSdDdXN0b21pemVEbGcnLCB1J0NhbmNlbCcsIHUnU3Bhd25EaWFsb2cnLCB1J0NhbmNlbERsZycsIHUnMScsIE5vbmUpLAotKHUnQ3VzdG9taXplRGxnJywgdSdCYWNrJywgdSdOZXdEaWFsb2cnLCB1J01haW50ZW5hbmNlVHlwZURsZycsIHUnSW5zdGFsbE1vZGUgPSAiQ2hhbmdlIicsIE5vbmUpLAotKHUnQ3VzdG9taXplRGxnJywgdSdCYWNrJywgdSdOZXdEaWFsb2cnLCB1J1NldHVwVHlwZURsZycsIHUnSW5zdGFsbE1vZGUgPSAiQ3VzdG9tIicsIE5vbmUpLAotKHUnQ3VzdG9taXplRGxnJywgdSdOZXh0JywgdSdOZXdEaWFsb2cnLCB1J1ZlcmlmeVJlYWR5RGxnJywgdScxJywgTm9uZSksCi0odSdDdXN0b21pemVEbGcnLCB1J0Jyb3dzZScsIHUnU2VsZWN0aW9uQnJvd3NlJywgdSdCcm93c2VEbGcnLCB1JzEnLCBOb25lKSwKLSh1J0N1c3RvbWl6ZURsZycsIHUnUmVzZXQnLCB1J1Jlc2V0JywgdScwJywgdScxJywgTm9uZSksCi0odSdDdXN0b21pemVEbGcnLCB1J0Rpc2tDb3N0JywgdSdTcGF3bkRpYWxvZycsIHUnRGlza0Nvc3REbGcnLCB1JzEnLCAyKSwKLSh1J0Rpc2tDb3N0RGxnJywgdSdPSycsIHUnRW5kRGlhbG9nJywgdSdSZXR1cm4nLCB1JzEnLCBOb25lKSwKLSh1J0Vycm9yRGxnJywgdSdZJywgdSdFbmREaWFsb2cnLCB1J0Vycm9yWWVzJywgdScxJywgTm9uZSksCi0odSdFcnJvckRsZycsIHUnQScsIHUnRW5kRGlhbG9nJywgdSdFcnJvckFib3J0JywgdScxJywgTm9uZSksCi0odSdFcnJvckRsZycsIHUnQycsIHUnRW5kRGlhbG9nJywgdSdFcnJvckNhbmNlbCcsIHUnMScsIE5vbmUpLAotKHUnRXJyb3JEbGcnLCB1J0knLCB1J0VuZERpYWxvZycsIHUnRXJyb3JJZ25vcmUnLCB1JzEnLCBOb25lKSwKLSh1J0Vycm9yRGxnJywgdSdOJywgdSdFbmREaWFsb2cnLCB1J0Vycm9yTm8nLCB1JzEnLCBOb25lKSwKLSh1J0Vycm9yRGxnJywgdSdPJywgdSdFbmREaWFsb2cnLCB1J0Vycm9yT2snLCB1JzEnLCBOb25lKSwKLSh1J0Vycm9yRGxnJywgdSdSJywgdSdFbmREaWFsb2cnLCB1J0Vycm9yUmV0cnknLCB1JzEnLCBOb25lKSwKLSh1J0ZpbGVzSW5Vc2UnLCB1J1JldHJ5JywgdSdFbmREaWFsb2cnLCB1J1JldHJ5JywgdScxJywgTm9uZSksCi0odSdGaWxlc0luVXNlJywgdSdFeGl0JywgdSdFbmREaWFsb2cnLCB1J0V4aXQnLCB1JzEnLCBOb25lKSwKLSh1J0ZpbGVzSW5Vc2UnLCB1J0lnbm9yZScsIHUnRW5kRGlhbG9nJywgdSdJZ25vcmUnLCB1JzEnLCBOb25lKSwKLSh1J0xpY2Vuc2VBZ3JlZW1lbnREbGcnLCB1J0NhbmNlbCcsIHUnU3Bhd25EaWFsb2cnLCB1J0NhbmNlbERsZycsIHUnMScsIE5vbmUpLAotKHUnTGljZW5zZUFncmVlbWVudERsZycsIHUnQmFjaycsIHUnTmV3RGlhbG9nJywgdSdXZWxjb21lRGxnJywgdScxJywgTm9uZSksCi0odSdMaWNlbnNlQWdyZWVtZW50RGxnJywgdSdOZXh0JywgdSdOZXdEaWFsb2cnLCB1J1NldHVwVHlwZURsZycsIHUnSUFncmVlID0gIlllcyIgQU5EIFNob3dVc2VyUmVnaXN0cmF0aW9uRGxnIDw+IDEnLCAzKSwKLSh1J0xpY2Vuc2VBZ3JlZW1lbnREbGcnLCB1J05leHQnLCB1J05ld0RpYWxvZycsIHUnVXNlclJlZ2lzdHJhdGlvbkRsZycsIHUnSUFncmVlID0gIlllcyIgQU5EIFNob3dVc2VyUmVnaXN0cmF0aW9uRGxnID0gMScsIDEpLAotKHUnTGljZW5zZUFncmVlbWVudERsZycsIHUnTmV4dCcsIHUnU3Bhd25XYWl0RGlhbG9nJywgdSdXYWl0Rm9yQ29zdGluZ0RsZycsIHUnQ29zdGluZ0NvbXBsZXRlID0gMScsIDIpLAotKHUnTWFpbnRlbmFuY2VUeXBlRGxnJywgdSdDYW5jZWwnLCB1J1NwYXduRGlhbG9nJywgdSdDYW5jZWxEbGcnLCB1JzEnLCBOb25lKSwKLSh1J01haW50ZW5hbmNlVHlwZURsZycsIHUnQmFjaycsIHUnTmV3RGlhbG9nJywgdSdNYWludGVuYW5jZVdlbGNvbWVEbGcnLCB1JzEnLCBOb25lKSwKLSh1J01haW50ZW5hbmNlVHlwZURsZycsIHUnQ2hhbmdlQnV0dG9uJywgdSdOZXdEaWFsb2cnLCB1J0N1c3RvbWl6ZURsZycsIHUnMScsIDQpLAotKHUnTWFpbnRlbmFuY2VUeXBlRGxnJywgdSdDaGFuZ2VCdXR0b24nLCB1J1tJbnN0YWxsTW9kZV0nLCB1J0NoYW5nZScsIHUnMScsIDEpLAotKHUnTWFpbnRlbmFuY2VUeXBlRGxnJywgdSdDaGFuZ2VCdXR0b24nLCB1J1tQcm9ncmVzczFdJywgdSdDaGFuZ2luZycsIHUnMScsIDIpLAotKHUnTWFpbnRlbmFuY2VUeXBlRGxnJywgdSdDaGFuZ2VCdXR0b24nLCB1J1tQcm9ncmVzczJdJywgdSdjaGFuZ2VzJywgdScxJywgMyksCi0odSdNYWludGVuYW5jZVR5cGVEbGcnLCB1J1JlbW92ZUJ1dHRvbicsIHUnTmV3RGlhbG9nJywgdSdWZXJpZnlSZW1vdmVEbGcnLCB1JzEnLCA0KSwKLSh1J01haW50ZW5hbmNlVHlwZURsZycsIHUnUmVtb3ZlQnV0dG9uJywgdSdbSW5zdGFsbE1vZGVdJywgdSdSZW1vdmUnLCB1JzEnLCAxKSwKLSh1J01haW50ZW5hbmNlVHlwZURsZycsIHUnUmVtb3ZlQnV0dG9uJywgdSdbUHJvZ3Jlc3MxXScsIHUnUmVtb3ZpbmcnLCB1JzEnLCAyKSwKLSh1J01haW50ZW5hbmNlVHlwZURsZycsIHUnUmVtb3ZlQnV0dG9uJywgdSdbUHJvZ3Jlc3MyXScsIHUncmVtb3ZlcycsIHUnMScsIDMpLAotKHUnTWFpbnRlbmFuY2VUeXBlRGxnJywgdSdSZXBhaXJCdXR0b24nLCB1J05ld0RpYWxvZycsIHUnVmVyaWZ5UmVwYWlyRGxnJywgdScxJywgNCksCi0odSdNYWludGVuYW5jZVR5cGVEbGcnLCB1J1JlcGFpckJ1dHRvbicsIHUnW0luc3RhbGxNb2RlXScsIHUnUmVwYWlyJywgdScxJywgMSksCi0odSdNYWludGVuYW5jZVR5cGVEbGcnLCB1J1JlcGFpckJ1dHRvbicsIHUnW1Byb2dyZXNzMV0nLCB1J1JlcGFpcmluZycsIHUnMScsIDIpLAotKHUnTWFpbnRlbmFuY2VUeXBlRGxnJywgdSdSZXBhaXJCdXR0b24nLCB1J1tQcm9ncmVzczJdJywgdSdyZXBhaXJzJywgdScxJywgMyksCi0odSdNYWludGVuYW5jZVdlbGNvbWVEbGcnLCB1J0NhbmNlbCcsIHUnU3Bhd25EaWFsb2cnLCB1J0NhbmNlbERsZycsIHUnMScsIE5vbmUpLAotKHUnTWFpbnRlbmFuY2VXZWxjb21lRGxnJywgdSdOZXh0JywgdSdOZXdEaWFsb2cnLCB1J01haW50ZW5hbmNlVHlwZURsZycsIHUnMScsIDIpLAotKHUnTWFpbnRlbmFuY2VXZWxjb21lRGxnJywgdSdOZXh0JywgdSdTcGF3bldhaXREaWFsb2cnLCB1J1dhaXRGb3JDb3N0aW5nRGxnJywgdSdDb3N0aW5nQ29tcGxldGUgPSAxJywgMSksCi0odSdPdXRPZkRpc2tEbGcnLCB1J09LJywgdSdFbmREaWFsb2cnLCB1J1JldHVybicsIHUnMScsIE5vbmUpLAotKHUnT3V0T2ZSYkRpc2tEbGcnLCB1J05vJywgdSdFbmREaWFsb2cnLCB1J1JldHVybicsIHUnMScsIE5vbmUpLAotKHUnT3V0T2ZSYkRpc2tEbGcnLCB1J1llcycsIHUnRW5kRGlhbG9nJywgdSdSZXR1cm4nLCB1JzEnLCAyKSwKLSh1J091dE9mUmJEaXNrRGxnJywgdSdZZXMnLCB1J0VuYWJsZVJvbGxiYWNrJywgdSdGYWxzZScsIHUnMScsIDEpLAotKHUnUmVzdW1lRGxnJywgdSdDYW5jZWwnLCB1J1NwYXduRGlhbG9nJywgdSdDYW5jZWxEbGcnLCB1JzEnLCBOb25lKSwKLSh1J1Jlc3VtZURsZycsIHUnSW5zdGFsbCcsIHUnRW5kRGlhbG9nJywgdSdSZXR1cm4nLCB1J091dE9mRGlza1NwYWNlID0gMSBBTkQgT3V0T2ZOb1JiRGlza1NwYWNlID0gMCBBTkQgUFJPTVBUUk9MTEJBQ0tDT1NUPSJEIicsIDQpLAotKHUnUmVzdW1lRGxnJywgdSdJbnN0YWxsJywgdSdFbmREaWFsb2cnLCB1J1JldHVybicsIHUnT3V0T2ZEaXNrU3BhY2UgPD4gMScsIDIpLAotKHUnUmVzdW1lRGxnJywgdSdJbnN0YWxsJywgdSdTcGF3bkRpYWxvZycsIHUnT3V0T2ZEaXNrRGxnJywgdScoT3V0T2ZEaXNrU3BhY2UgPSAxIEFORCBPdXRPZk5vUmJEaXNrU3BhY2UgPSAxKSBPUiAoT3V0T2ZEaXNrU3BhY2UgPSAxIEFORCBQUk9NUFRST0xMQkFDS0NPU1Q9IkYiKScsIDYpLAotKHUnUmVzdW1lRGxnJywgdSdJbnN0YWxsJywgdSdTcGF3bkRpYWxvZycsIHUnT3V0T2ZSYkRpc2tEbGcnLCB1J091dE9mRGlza1NwYWNlID0gMSBBTkQgT3V0T2ZOb1JiRGlza1NwYWNlID0gMCBBTkQgKFBST01QVFJPTExCQUNLQ09TVD0iUCIgT1IgTk9UIFBST01QVFJPTExCQUNLQ09TVCknLCAzKSwKLSh1J1Jlc3VtZURsZycsIHUnSW5zdGFsbCcsIHUnU3Bhd25XYWl0RGlhbG9nJywgdSdXYWl0Rm9yQ29zdGluZ0RsZycsIHUnQ29zdGluZ0NvbXBsZXRlID0gMScsIDEpLAotKHUnUmVzdW1lRGxnJywgdSdJbnN0YWxsJywgdSdFbmFibGVSb2xsYmFjaycsIHUnRmFsc2UnLCB1J091dE9mRGlza1NwYWNlID0gMSBBTkQgT3V0T2ZOb1JiRGlza1NwYWNlID0gMCBBTkQgUFJPTVBUUk9MTEJBQ0tDT1NUPSJEIicsIDUpLAotKHUnU2V0dXBUeXBlRGxnJywgdSdDYW5jZWwnLCB1J1NwYXduRGlhbG9nJywgdSdDYW5jZWxEbGcnLCB1JzEnLCBOb25lKSwKLSh1J1NldHVwVHlwZURsZycsIHUnQmFjaycsIHUnTmV3RGlhbG9nJywgdSdMaWNlbnNlQWdyZWVtZW50RGxnJywgdSdTaG93VXNlclJlZ2lzdHJhdGlvbkRsZyA8PiAxJywgTm9uZSksCi0odSdTZXR1cFR5cGVEbGcnLCB1J0JhY2snLCB1J05ld0RpYWxvZycsIHUnVXNlclJlZ2lzdHJhdGlvbkRsZycsIHUnU2hvd1VzZXJSZWdpc3RyYXRpb25EbGcgPSAxJywgTm9uZSksCi0odSdTZXR1cFR5cGVEbGcnLCB1J0NvbXBsZXRlQnV0dG9uJywgdSdOZXdEaWFsb2cnLCB1J1ZlcmlmeVJlYWR5RGxnJywgdScxJywgMyksCi0odSdTZXR1cFR5cGVEbGcnLCB1J0NvbXBsZXRlQnV0dG9uJywgdSdbSW5zdGFsbE1vZGVdJywgdSdDb21wbGV0ZScsIHUnMScsIDEpLAotKHUnU2V0dXBUeXBlRGxnJywgdSdDb21wbGV0ZUJ1dHRvbicsIHUnU2V0SW5zdGFsbExldmVsJywgdScxMDAwJywgdScxJywgMiksCi0odSdTZXR1cFR5cGVEbGcnLCB1J0N1c3RvbUJ1dHRvbicsIHUnTmV3RGlhbG9nJywgdSdDdXN0b21pemVEbGcnLCB1JzEnLCAyKSwKLSh1J1NldHVwVHlwZURsZycsIHUnQ3VzdG9tQnV0dG9uJywgdSdbSW5zdGFsbE1vZGVdJywgdSdDdXN0b20nLCB1JzEnLCAxKSwKLSh1J1NldHVwVHlwZURsZycsIHUnVHlwaWNhbEJ1dHRvbicsIHUnTmV3RGlhbG9nJywgdSdWZXJpZnlSZWFkeURsZycsIHUnMScsIDMpLAotKHUnU2V0dXBUeXBlRGxnJywgdSdUeXBpY2FsQnV0dG9uJywgdSdbSW5zdGFsbE1vZGVdJywgdSdUeXBpY2FsJywgdScxJywgMSksCi0odSdTZXR1cFR5cGVEbGcnLCB1J1R5cGljYWxCdXR0b24nLCB1J1NldEluc3RhbGxMZXZlbCcsIHUnMycsIHUnMScsIDIpLAotKHUnVXNlclJlZ2lzdHJhdGlvbkRsZycsIHUnQ2FuY2VsJywgdSdTcGF3bkRpYWxvZycsIHUnQ2FuY2VsRGxnJywgdScxJywgTm9uZSksCi0odSdVc2VyUmVnaXN0cmF0aW9uRGxnJywgdSdCYWNrJywgdSdOZXdEaWFsb2cnLCB1J0xpY2Vuc2VBZ3JlZW1lbnREbGcnLCB1JzEnLCBOb25lKSwKLSh1J1VzZXJSZWdpc3RyYXRpb25EbGcnLCB1J05leHQnLCB1J05ld0RpYWxvZycsIHUnU2V0dXBUeXBlRGxnJywgdSdQcm9kdWN0SUQnLCAzKSwKLSh1J1VzZXJSZWdpc3RyYXRpb25EbGcnLCB1J05leHQnLCB1J1ZhbGlkYXRlUHJvZHVjdElEJywgdScwJywgdScwJywgMSksCi0odSdVc2VyUmVnaXN0cmF0aW9uRGxnJywgdSdOZXh0JywgdSdTcGF3bldhaXREaWFsb2cnLCB1J1dhaXRGb3JDb3N0aW5nRGxnJywgdSdDb3N0aW5nQ29tcGxldGUgPSAxJywgMiksCi0odSdWZXJpZnlSZWFkeURsZycsIHUnQ2FuY2VsJywgdSdTcGF3bkRpYWxvZycsIHUnQ2FuY2VsRGxnJywgdScxJywgTm9uZSksCi0odSdWZXJpZnlSZWFkeURsZycsIHUnQmFjaycsIHUnTmV3RGlhbG9nJywgdSdBZG1pbkluc3RhbGxQb2ludERsZycsIHUnSW5zdGFsbE1vZGUgPSAiU2VydmVyIEltYWdlIicsIE5vbmUpLAotKHUnVmVyaWZ5UmVhZHlEbGcnLCB1J0JhY2snLCB1J05ld0RpYWxvZycsIHUnQ3VzdG9taXplRGxnJywgdSdJbnN0YWxsTW9kZSA9ICJDdXN0b20iIE9SIEluc3RhbGxNb2RlID0gIkNoYW5nZSInLCBOb25lKSwKLSh1J1ZlcmlmeVJlYWR5RGxnJywgdSdCYWNrJywgdSdOZXdEaWFsb2cnLCB1J01haW50ZW5hbmNlVHlwZURsZycsIHUnSW5zdGFsbE1vZGUgPSAiUmVwYWlyIicsIE5vbmUpLAotKHUnVmVyaWZ5UmVhZHlEbGcnLCB1J0JhY2snLCB1J05ld0RpYWxvZycsIHUnU2V0dXBUeXBlRGxnJywgdSdJbnN0YWxsTW9kZSA9ICJUeXBpY2FsIiBPUiBJbnN0YWxsTW9kZSA9ICJDb21wbGV0ZSInLCBOb25lKSwKLSh1J1ZlcmlmeVJlYWR5RGxnJywgdSdJbnN0YWxsJywgdSdFbmREaWFsb2cnLCB1J1JldHVybicsIHUnT3V0T2ZEaXNrU3BhY2UgPSAxIEFORCBPdXRPZk5vUmJEaXNrU3BhY2UgPSAwIEFORCBQUk9NUFRST0xMQkFDS0NPU1Q9IkQiJywgMyksCi0odSdWZXJpZnlSZWFkeURsZycsIHUnSW5zdGFsbCcsIHUnRW5kRGlhbG9nJywgdSdSZXR1cm4nLCB1J091dE9mRGlza1NwYWNlIDw+IDEnLCAxKSwKLSh1J1ZlcmlmeVJlYWR5RGxnJywgdSdJbnN0YWxsJywgdSdTcGF3bkRpYWxvZycsIHUnT3V0T2ZEaXNrRGxnJywgdScoT3V0T2ZEaXNrU3BhY2UgPSAxIEFORCBPdXRPZk5vUmJEaXNrU3BhY2UgPSAxKSBPUiAoT3V0T2ZEaXNrU3BhY2UgPSAxIEFORCBQUk9NUFRST0xMQkFDS0NPU1Q9IkYiKScsIDUpLAotKHUnVmVyaWZ5UmVhZHlEbGcnLCB1J0luc3RhbGwnLCB1J1NwYXduRGlhbG9nJywgdSdPdXRPZlJiRGlza0RsZycsIHUnT3V0T2ZEaXNrU3BhY2UgPSAxIEFORCBPdXRPZk5vUmJEaXNrU3BhY2UgPSAwIEFORCAoUFJPTVBUUk9MTEJBQ0tDT1NUPSJQIiBPUiBOT1QgUFJPTVBUUk9MTEJBQ0tDT1NUKScsIDIpLAotKHUnVmVyaWZ5UmVhZHlEbGcnLCB1J0luc3RhbGwnLCB1J0VuYWJsZVJvbGxiYWNrJywgdSdGYWxzZScsIHUnT3V0T2ZEaXNrU3BhY2UgPSAxIEFORCBPdXRPZk5vUmJEaXNrU3BhY2UgPSAwIEFORCBQUk9NUFRST0xMQkFDS0NPU1Q9IkQiJywgNCksCi0odSdWZXJpZnlSZW1vdmVEbGcnLCB1J0NhbmNlbCcsIHUnU3Bhd25EaWFsb2cnLCB1J0NhbmNlbERsZycsIHUnMScsIE5vbmUpLAotKHUnVmVyaWZ5UmVtb3ZlRGxnJywgdSdCYWNrJywgdSdOZXdEaWFsb2cnLCB1J01haW50ZW5hbmNlVHlwZURsZycsIHUnMScsIE5vbmUpLAotKHUnVmVyaWZ5UmVtb3ZlRGxnJywgdSdSZW1vdmUnLCB1J1JlbW92ZScsIHUnQWxsJywgdSdPdXRPZkRpc2tTcGFjZSA8PiAxJywgMSksCi0odSdWZXJpZnlSZW1vdmVEbGcnLCB1J1JlbW92ZScsIHUnRW5kRGlhbG9nJywgdSdSZXR1cm4nLCB1J091dE9mRGlza1NwYWNlID0gMSBBTkQgT3V0T2ZOb1JiRGlza1NwYWNlID0gMCBBTkQgUFJPTVBUUk9MTEJBQ0tDT1NUPSJEIicsIDQpLAotKHUnVmVyaWZ5UmVtb3ZlRGxnJywgdSdSZW1vdmUnLCB1J0VuZERpYWxvZycsIHUnUmV0dXJuJywgdSdPdXRPZkRpc2tTcGFjZSA8PiAxJywgMiksCi0odSdWZXJpZnlSZW1vdmVEbGcnLCB1J1JlbW92ZScsIHUnU3Bhd25EaWFsb2cnLCB1J091dE9mRGlza0RsZycsIHUnKE91dE9mRGlza1NwYWNlID0gMSBBTkQgT3V0T2ZOb1JiRGlza1NwYWNlID0gMSkgT1IgKE91dE9mRGlza1NwYWNlID0gMSBBTkQgUFJPTVBUUk9MTEJBQ0tDT1NUPSJGIiknLCA2KSwKLSh1J1ZlcmlmeVJlbW92ZURsZycsIHUnUmVtb3ZlJywgdSdTcGF3bkRpYWxvZycsIHUnT3V0T2ZSYkRpc2tEbGcnLCB1J091dE9mRGlza1NwYWNlID0gMSBBTkQgT3V0T2ZOb1JiRGlza1NwYWNlID0gMCBBTkQgKFBST01QVFJPTExCQUNLQ09TVD0iUCIgT1IgTk9UIFBST01QVFJPTExCQUNLQ09TVCknLCAzKSwKLSh1J1ZlcmlmeVJlbW92ZURsZycsIHUnUmVtb3ZlJywgdSdFbmFibGVSb2xsYmFjaycsIHUnRmFsc2UnLCB1J091dE9mRGlza1NwYWNlID0gMSBBTkQgT3V0T2ZOb1JiRGlza1NwYWNlID0gMCBBTkQgUFJPTVBUUk9MTEJBQ0tDT1NUPSJEIicsIDUpLAotKHUnVmVyaWZ5UmVwYWlyRGxnJywgdSdDYW5jZWwnLCB1J1NwYXduRGlhbG9nJywgdSdDYW5jZWxEbGcnLCB1JzEnLCBOb25lKSwKLSh1J1ZlcmlmeVJlcGFpckRsZycsIHUnQmFjaycsIHUnTmV3RGlhbG9nJywgdSdNYWludGVuYW5jZVR5cGVEbGcnLCB1JzEnLCBOb25lKSwKLSh1J1ZlcmlmeVJlcGFpckRsZycsIHUnUmVwYWlyJywgdSdFbmREaWFsb2cnLCB1J1JldHVybicsIHUnT3V0T2ZEaXNrU3BhY2UgPSAxIEFORCBPdXRPZk5vUmJEaXNrU3BhY2UgPSAwIEFORCBQUk9NUFRST0xMQkFDS0NPU1Q9IkQiJywgNSksCi0odSdWZXJpZnlSZXBhaXJEbGcnLCB1J1JlcGFpcicsIHUnRW5kRGlhbG9nJywgdSdSZXR1cm4nLCB1J091dE9mRGlza1NwYWNlIDw+IDEnLCAzKSwKLSh1J1ZlcmlmeVJlcGFpckRsZycsIHUnUmVwYWlyJywgdSdTcGF3bkRpYWxvZycsIHUnT3V0T2ZEaXNrRGxnJywgdScoT3V0T2ZEaXNrU3BhY2UgPSAxIEFORCBPdXRPZk5vUmJEaXNrU3BhY2UgPSAxKSBPUiAoT3V0T2ZEaXNrU3BhY2UgPSAxIEFORCBQUk9NUFRST0xMQkFDS0NPU1Q9IkYiKScsIDcpLAotKHUnVmVyaWZ5UmVwYWlyRGxnJywgdSdSZXBhaXInLCB1J1NwYXduRGlhbG9nJywgdSdPdXRPZlJiRGlza0RsZycsIHUnT3V0T2ZEaXNrU3BhY2UgPSAxIEFORCBPdXRPZk5vUmJEaXNrU3BhY2UgPSAwIEFORCAoUFJPTVBUUk9MTEJBQ0tDT1NUPSJQIiBPUiBOT1QgUFJPTVBUUk9MTEJBQ0tDT1NUKScsIDQpLAotKHUnVmVyaWZ5UmVwYWlyRGxnJywgdSdSZXBhaXInLCB1J0VuYWJsZVJvbGxiYWNrJywgdSdGYWxzZScsIHUnT3V0T2ZEaXNrU3BhY2UgPSAxIEFORCBPdXRPZk5vUmJEaXNrU3BhY2UgPSAwIEFORCBQUk9NUFRST0xMQkFDS0NPU1Q9IkQiJywgNiksCi0odSdWZXJpZnlSZXBhaXJEbGcnLCB1J1JlcGFpcicsIHUnUmVpbnN0YWxsJywgdSdBbGwnLCB1J091dE9mRGlza1NwYWNlIDw+IDEnLCAyKSwKLSh1J1ZlcmlmeVJlcGFpckRsZycsIHUnUmVwYWlyJywgdSdSZWluc3RhbGxNb2RlJywgdSdlY211cycsIHUnT3V0T2ZEaXNrU3BhY2UgPD4gMScsIDEpLAotKHUnV2FpdEZvckNvc3RpbmdEbGcnLCB1J1JldHVybicsIHUnRW5kRGlhbG9nJywgdSdFeGl0JywgdScxJywgTm9uZSksCi0odSdXZWxjb21lRGxnJywgdSdDYW5jZWwnLCB1J1NwYXduRGlhbG9nJywgdSdDYW5jZWxEbGcnLCB1JzEnLCBOb25lKSwKLSh1J1dlbGNvbWVEbGcnLCB1J05leHQnLCB1J05ld0RpYWxvZycsIHUnTGljZW5zZUFncmVlbWVudERsZycsIHUnMScsIE5vbmUpLAotXQotCi1EaWFsb2cgPSBbCi0odSdBZG1pbldlbGNvbWVEbGcnLCA1MCwgNTAsIDM3MCwgMjcwLCAzLCB1J1tQcm9kdWN0TmFtZV0gW1NldHVwXScsIHUnTmV4dCcsIHUnTmV4dCcsIHUnQ2FuY2VsJyksCi0odSdFeGl0RGlhbG9nJywgNTAsIDUwLCAzNzAsIDI3MCwgMywgdSdbUHJvZHVjdE5hbWVdIFtTZXR1cF0nLCB1J0ZpbmlzaCcsIHUnRmluaXNoJywgdSdGaW5pc2gnKSwKLSh1J0ZhdGFsRXJyb3InLCA1MCwgNTAsIDM3MCwgMjcwLCAzLCB1J1tQcm9kdWN0TmFtZV0gW1NldHVwXScsIHUnRmluaXNoJywgdSdGaW5pc2gnLCB1J0ZpbmlzaCcpLAotKHUnUHJlcGFyZURsZycsIDUwLCA1MCwgMzcwLCAyNzAsIDEsIHUnW1Byb2R1Y3ROYW1lXSBbU2V0dXBdJywgdSdDYW5jZWwnLCB1J0NhbmNlbCcsIHUnQ2FuY2VsJyksCi0odSdQcm9ncmVzc0RsZycsIDUwLCA1MCwgMzcwLCAyNzAsIDEsIHUnW1Byb2R1Y3ROYW1lXSBbU2V0dXBdJywgdSdDYW5jZWwnLCB1J0NhbmNlbCcsIHUnQ2FuY2VsJyksCi0odSdVc2VyRXhpdCcsIDUwLCA1MCwgMzcwLCAyNzAsIDMsIHUnW1Byb2R1Y3ROYW1lXSBbU2V0dXBdJywgdSdGaW5pc2gnLCB1J0ZpbmlzaCcsIHUnRmluaXNoJyksCi0odSdBZG1pbkJyb3dzZURsZycsIDUwLCA1MCwgMzcwLCAyNzAsIDMsIHUnW1Byb2R1Y3ROYW1lXSBbU2V0dXBdJywgdSdQYXRoRWRpdCcsIHUnT0snLCB1J0NhbmNlbCcpLAotKHUnQWRtaW5JbnN0YWxsUG9pbnREbGcnLCA1MCwgNTAsIDM3MCwgMjcwLCAzLCB1J1tQcm9kdWN0TmFtZV0gW1NldHVwXScsIHUnVGV4dCcsIHUnTmV4dCcsIHUnQ2FuY2VsJyksCi0odSdBZG1pblJlZ2lzdHJhdGlvbkRsZycsIDUwLCA1MCwgMzcwLCAyNzAsIDMsIHUnW1Byb2R1Y3ROYW1lXSBbU2V0dXBdJywgdSdPcmdhbml6YXRpb25MYWJlbCcsIHUnTmV4dCcsIHUnQ2FuY2VsJyksCi0odSdCcm93c2VEbGcnLCA1MCwgNTAsIDM3MCwgMjcwLCAzLCB1J1tQcm9kdWN0TmFtZV0gW1NldHVwXScsIHUnUGF0aEVkaXQnLCB1J09LJywgdSdDYW5jZWwnKSwKLSh1J0NhbmNlbERsZycsIDUwLCAxMCwgMjYwLCA4NSwgMywgdSdbUHJvZHVjdE5hbWVdIFtTZXR1cF0nLCB1J05vJywgdSdObycsIHUnTm8nKSwKLSh1J0N1c3RvbWl6ZURsZycsIDUwLCA1MCwgMzcwLCAyNzAsIDM1LCB1J1tQcm9kdWN0TmFtZV0gW1NldHVwXScsIHUnVHJlZScsIHUnTmV4dCcsIHUnQ2FuY2VsJyksCi0odSdEaXNrQ29zdERsZycsIDUwLCA1MCwgMzcwLCAyNzAsIDMsIHUnW1Byb2R1Y3ROYW1lXSBbU2V0dXBdJywgdSdPSycsIHUnT0snLCB1J09LJyksCi0odSdFcnJvckRsZycsIDUwLCAxMCwgMjcwLCAxMDUsIDY1NTM5LCB1J0luc3RhbGxlciBJbmZvcm1hdGlvbicsIHUnRXJyb3JUZXh0JywgTm9uZSwgTm9uZSksCi0odSdGaWxlc0luVXNlJywgNTAsIDUwLCAzNzAsIDI3MCwgMTksIHUnW1Byb2R1Y3ROYW1lXSBbU2V0dXBdJywgdSdSZXRyeScsIHUnUmV0cnknLCB1J1JldHJ5JyksCi0odSdMaWNlbnNlQWdyZWVtZW50RGxnJywgNTAsIDUwLCAzNzAsIDI3MCwgMywgdSdbUHJvZHVjdE5hbWVdIExpY2Vuc2UgQWdyZWVtZW50JywgdSdCdXR0b25zJywgdSdOZXh0JywgdSdDYW5jZWwnKSwKLSh1J01haW50ZW5hbmNlVHlwZURsZycsIDUwLCA1MCwgMzcwLCAyNzAsIDMsIHUnW1Byb2R1Y3ROYW1lXSBbU2V0dXBdJywgdSdDaGFuZ2VMYWJlbCcsIHUnQ2hhbmdlQnV0dG9uJywgdSdDYW5jZWwnKSwKLSh1J01haW50ZW5hbmNlV2VsY29tZURsZycsIDUwLCA1MCwgMzcwLCAyNzAsIDMsIHUnW1Byb2R1Y3ROYW1lXSBbU2V0dXBdJywgdSdOZXh0JywgdSdOZXh0JywgdSdDYW5jZWwnKSwKLSh1J091dE9mRGlza0RsZycsIDUwLCA1MCwgMzcwLCAyNzAsIDMsIHUnW1Byb2R1Y3ROYW1lXSBbU2V0dXBdJywgdSdPSycsIHUnT0snLCB1J09LJyksCi0odSdPdXRPZlJiRGlza0RsZycsIDUwLCA1MCwgMzcwLCAyNzAsIDMsIHUnW1Byb2R1Y3ROYW1lXSBbU2V0dXBdJywgdSdObycsIHUnTm8nLCB1J05vJyksCi0odSdSZXN1bWVEbGcnLCA1MCwgNTAsIDM3MCwgMjcwLCAzLCB1J1tQcm9kdWN0TmFtZV0gW1NldHVwXScsIHUnSW5zdGFsbCcsIHUnSW5zdGFsbCcsIHUnQ2FuY2VsJyksCi0odSdTZXR1cFR5cGVEbGcnLCA1MCwgNTAsIDM3MCwgMjcwLCAzLCB1J1tQcm9kdWN0TmFtZV0gW1NldHVwXScsIHUnVHlwaWNhbExhYmVsJywgdSdUeXBpY2FsQnV0dG9uJywgdSdDYW5jZWwnKSwKLSh1J1VzZXJSZWdpc3RyYXRpb25EbGcnLCA1MCwgNTAsIDM3MCwgMjcwLCAzLCB1J1tQcm9kdWN0TmFtZV0gW1NldHVwXScsIHUnTmFtZUxhYmVsJywgdSdOZXh0JywgdSdDYW5jZWwnKSwKLSh1J1ZlcmlmeVJlYWR5RGxnJywgNTAsIDUwLCAzNzAsIDI3MCwgMzUsIHUnW1Byb2R1Y3ROYW1lXSBbU2V0dXBdJywgdSdJbnN0YWxsJywgdSdJbnN0YWxsJywgdSdDYW5jZWwnKSwKLSh1J1ZlcmlmeVJlbW92ZURsZycsIDUwLCA1MCwgMzcwLCAyNzAsIDM1LCB1J1tQcm9kdWN0TmFtZV0gW1NldHVwXScsIHUnQmFjaycsIHUnQmFjaycsIHUnQ2FuY2VsJyksCi0odSdWZXJpZnlSZXBhaXJEbGcnLCA1MCwgNTAsIDM3MCwgMjcwLCAzNSwgdSdbUHJvZHVjdE5hbWVdIFtTZXR1cF0nLCB1J1JlcGFpcicsIHUnUmVwYWlyJywgdSdDYW5jZWwnKSwKLSh1J1dhaXRGb3JDb3N0aW5nRGxnJywgNTAsIDEwLCAyNjAsIDg1LCAzLCB1J1tQcm9kdWN0TmFtZV0gW1NldHVwXScsIHUnUmV0dXJuJywgdSdSZXR1cm4nLCB1J1JldHVybicpLAotKHUnV2VsY29tZURsZycsIDUwLCA1MCwgMzcwLCAyNzAsIDMsIHUnW1Byb2R1Y3ROYW1lXSBbU2V0dXBdJywgdSdOZXh0JywgdSdOZXh0JywgdSdDYW5jZWwnKSwKLV0KLQotRXZlbnRNYXBwaW5nID0gWwotKHUnUHJlcGFyZURsZycsIHUnQWN0aW9uRGF0YScsIHUnQWN0aW9uRGF0YScsIHUnVGV4dCcpLAotKHUnUHJlcGFyZURsZycsIHUnQWN0aW9uVGV4dCcsIHUnQWN0aW9uVGV4dCcsIHUnVGV4dCcpLAotKHUnUHJvZ3Jlc3NEbGcnLCB1J0FjdGlvblRleHQnLCB1J0FjdGlvblRleHQnLCB1J1RleHQnKSwKLSh1J1Byb2dyZXNzRGxnJywgdSdQcm9ncmVzc0JhcicsIHUnU2V0UHJvZ3Jlc3MnLCB1J1Byb2dyZXNzJyksCi0odSdBZG1pbkJyb3dzZURsZycsIHUnRGlyZWN0b3J5Q29tYm8nLCB1J0lnbm9yZUNoYW5nZScsIHUnSWdub3JlQ2hhbmdlJyksCi0odSdCcm93c2VEbGcnLCB1J0RpcmVjdG9yeUNvbWJvJywgdSdJZ25vcmVDaGFuZ2UnLCB1J0lnbm9yZUNoYW5nZScpLAotKHUnQ3VzdG9taXplRGxnJywgdSdOZXh0JywgdSdTZWxlY3Rpb25Ob0l0ZW1zJywgdSdFbmFibGVkJyksCi0odSdDdXN0b21pemVEbGcnLCB1J1Jlc2V0JywgdSdTZWxlY3Rpb25Ob0l0ZW1zJywgdSdFbmFibGVkJyksCi0odSdDdXN0b21pemVEbGcnLCB1J0Rpc2tDb3N0JywgdSdTZWxlY3Rpb25Ob0l0ZW1zJywgdSdFbmFibGVkJyksCi0odSdDdXN0b21pemVEbGcnLCB1J0l0ZW1EZXNjcmlwdGlvbicsIHUnU2VsZWN0aW9uRGVzY3JpcHRpb24nLCB1J1RleHQnKSwKLSh1J0N1c3RvbWl6ZURsZycsIHUnSXRlbVNpemUnLCB1J1NlbGVjdGlvblNpemUnLCB1J1RleHQnKSwKLSh1J0N1c3RvbWl6ZURsZycsIHUnTG9jYXRpb24nLCB1J1NlbGVjdGlvblBhdGgnLCB1J1RleHQnKSwKLSh1J0N1c3RvbWl6ZURsZycsIHUnTG9jYXRpb24nLCB1J1NlbGVjdGlvblBhdGhPbicsIHUnVmlzaWJsZScpLAotKHUnQ3VzdG9taXplRGxnJywgdSdMb2NhdGlvbkxhYmVsJywgdSdTZWxlY3Rpb25QYXRoT24nLCB1J1Zpc2libGUnKSwKLV0KLQotSW5zdGFsbEV4ZWN1dGVTZXF1ZW5jZSA9IFsKLSh1J0luc3RhbGxWYWxpZGF0ZScsIE5vbmUsIDE0MDApLAotKHUnSW5zdGFsbEluaXRpYWxpemUnLCBOb25lLCAxNTAwKSwKLSh1J0luc3RhbGxGaW5hbGl6ZScsIE5vbmUsIDY2MDApLAotKHUnSW5zdGFsbEZpbGVzJywgTm9uZSwgNDAwMCksCi0odSdGaWxlQ29zdCcsIE5vbmUsIDkwMCksCi0odSdDb3N0SW5pdGlhbGl6ZScsIE5vbmUsIDgwMCksCi0odSdDb3N0RmluYWxpemUnLCBOb25lLCAxMDAwKSwKLSh1J0NyZWF0ZVNob3J0Y3V0cycsIE5vbmUsIDQ1MDApLAotKHUnUHVibGlzaENvbXBvbmVudHMnLCBOb25lLCA2MjAwKSwKLSh1J1B1Ymxpc2hGZWF0dXJlcycsIE5vbmUsIDYzMDApLAotKHUnUHVibGlzaFByb2R1Y3QnLCBOb25lLCA2NDAwKSwKLSh1J1JlZ2lzdGVyQ2xhc3NJbmZvJywgTm9uZSwgNDYwMCksCi0odSdSZWdpc3RlckV4dGVuc2lvbkluZm8nLCBOb25lLCA0NzAwKSwKLSh1J1JlZ2lzdGVyTUlNRUluZm8nLCBOb25lLCA0OTAwKSwKLSh1J1JlZ2lzdGVyUHJvZ0lkSW5mbycsIE5vbmUsIDQ4MDApLAotKHUnVmFsaWRhdGVQcm9kdWN0SUQnLCBOb25lLCA3MDApLAotKHUnQWxsb2NhdGVSZWdpc3RyeVNwYWNlJywgdSdOT1QgSW5zdGFsbGVkJywgMTU1MCksCi0odSdBcHBTZWFyY2gnLCBOb25lLCA0MDApLAotKHUnQmluZEltYWdlJywgTm9uZSwgNDMwMCksCi0odSdDQ1BTZWFyY2gnLCB1J05PVCBJbnN0YWxsZWQnLCA1MDApLAotKHUnQ3JlYXRlRm9sZGVycycsIE5vbmUsIDM3MDApLAotKHUnRGVsZXRlU2VydmljZXMnLCB1J1ZlcnNpb25OVCcsIDIwMDApLAotKHUnRHVwbGljYXRlRmlsZXMnLCBOb25lLCA0MjEwKSwKLSh1J0ZpbmRSZWxhdGVkUHJvZHVjdHMnLCBOb25lLCAyMDApLAotKHUnSW5zdGFsbE9EQkMnLCBOb25lLCA1NDAwKSwKLSh1J0luc3RhbGxTZXJ2aWNlcycsIHUnVmVyc2lvbk5UJywgNTgwMCksCi0odSdMYXVuY2hDb25kaXRpb25zJywgTm9uZSwgMTAwKSwKLSh1J01pZ3JhdGVGZWF0dXJlU3RhdGVzJywgTm9uZSwgMTIwMCksCi0odSdNb3ZlRmlsZXMnLCBOb25lLCAzODAwKSwKLSh1J1BhdGNoRmlsZXMnLCBOb25lLCA0MDkwKSwKLSh1J1Byb2Nlc3NDb21wb25lbnRzJywgTm9uZSwgMTYwMCksCi0odSdSZWdpc3RlckNvbVBsdXMnLCBOb25lLCA1NzAwKSwKLSh1J1JlZ2lzdGVyRm9udHMnLCBOb25lLCA1MzAwKSwKLSh1J1JlZ2lzdGVyUHJvZHVjdCcsIE5vbmUsIDYxMDApLAotKHUnUmVnaXN0ZXJUeXBlTGlicmFyaWVzJywgTm9uZSwgNTUwMCksCi0odSdSZWdpc3RlclVzZXInLCBOb25lLCA2MDAwKSwKLSh1J1JlbW92ZUR1cGxpY2F0ZUZpbGVzJywgTm9uZSwgMzQwMCksCi0odSdSZW1vdmVFbnZpcm9ubWVudFN0cmluZ3MnLCBOb25lLCAzMzAwKSwKLSh1J1JlbW92ZUV4aXN0aW5nUHJvZHVjdHMnLCBOb25lLCA2NzAwKSwKLSh1J1JlbW92ZUZpbGVzJywgTm9uZSwgMzUwMCksCi0odSdSZW1vdmVGb2xkZXJzJywgTm9uZSwgMzYwMCksCi0odSdSZW1vdmVJbmlWYWx1ZXMnLCBOb25lLCAzMTAwKSwKLSh1J1JlbW92ZU9EQkMnLCBOb25lLCAyNDAwKSwKLSh1J1JlbW92ZVJlZ2lzdHJ5VmFsdWVzJywgTm9uZSwgMjYwMCksCi0odSdSZW1vdmVTaG9ydGN1dHMnLCBOb25lLCAzMjAwKSwKLSh1J1JNQ0NQU2VhcmNoJywgdSdOT1QgSW5zdGFsbGVkJywgNjAwKSwKLSh1J1NlbGZSZWdNb2R1bGVzJywgTm9uZSwgNTYwMCksCi0odSdTZWxmVW5yZWdNb2R1bGVzJywgTm9uZSwgMjIwMCksCi0odSdTZXRPREJDRm9sZGVycycsIE5vbmUsIDExMDApLAotKHUnU3RhcnRTZXJ2aWNlcycsIHUnVmVyc2lvbk5UJywgNTkwMCksCi0odSdTdG9wU2VydmljZXMnLCB1J1ZlcnNpb25OVCcsIDE5MDApLAotKHUnVW5wdWJsaXNoQ29tcG9uZW50cycsIE5vbmUsIDE3MDApLAotKHUnVW5wdWJsaXNoRmVhdHVyZXMnLCBOb25lLCAxODAwKSwKLSh1J1VucmVnaXN0ZXJDbGFzc0luZm8nLCBOb25lLCAyNzAwKSwKLSh1J1VucmVnaXN0ZXJDb21QbHVzJywgTm9uZSwgMjEwMCksCi0odSdVbnJlZ2lzdGVyRXh0ZW5zaW9uSW5mbycsIE5vbmUsIDI4MDApLAotKHUnVW5yZWdpc3RlckZvbnRzJywgTm9uZSwgMjUwMCksCi0odSdVbnJlZ2lzdGVyTUlNRUluZm8nLCBOb25lLCAzMDAwKSwKLSh1J1VucmVnaXN0ZXJQcm9nSWRJbmZvJywgTm9uZSwgMjkwMCksCi0odSdVbnJlZ2lzdGVyVHlwZUxpYnJhcmllcycsIE5vbmUsIDIzMDApLAotKHUnV3JpdGVFbnZpcm9ubWVudFN0cmluZ3MnLCBOb25lLCA1MjAwKSwKLSh1J1dyaXRlSW5pVmFsdWVzJywgTm9uZSwgNTEwMCksCi0odSdXcml0ZVJlZ2lzdHJ5VmFsdWVzJywgTm9uZSwgNTAwMCksCi1dCi0KLUluc3RhbGxVSVNlcXVlbmNlID0gWwotIyh1J0ZpbGVDb3N0JywgTm9uZSwgOTAwKSwKLSModSdDb3N0SW5pdGlhbGl6ZScsIE5vbmUsIDgwMCksCi0jKHUnQ29zdEZpbmFsaXplJywgTm9uZSwgMTAwMCksCi0jKHUnRXhlY3V0ZUFjdGlvbicsIE5vbmUsIDEzMDApLAotIyh1J0V4aXREaWFsb2cnLCBOb25lLCAtMSksCi0jKHUnRmF0YWxFcnJvcicsIE5vbmUsIC0zKSwKLSh1J1ByZXBhcmVEbGcnLCBOb25lLCAxNDApLAotKHUnUHJvZ3Jlc3NEbGcnLCBOb25lLCAxMjgwKSwKLSModSdVc2VyRXhpdCcsIE5vbmUsIC0yKSwKLSh1J01haW50ZW5hbmNlV2VsY29tZURsZycsIHUnSW5zdGFsbGVkIEFORCBOT1QgUkVTVU1FIEFORCBOT1QgUHJlc2VsZWN0ZWQnLCAxMjUwKSwKLSh1J1Jlc3VtZURsZycsIHUnSW5zdGFsbGVkIEFORCAoUkVTVU1FIE9SIFByZXNlbGVjdGVkKScsIDEyNDApLAotKHUnV2VsY29tZURsZycsIHUnTk9UIEluc3RhbGxlZCcsIDEyMzApLAotIyh1J0FwcFNlYXJjaCcsIE5vbmUsIDQwMCksCi0jKHUnQ0NQU2VhcmNoJywgdSdOT1QgSW5zdGFsbGVkJywgNTAwKSwKLSModSdGaW5kUmVsYXRlZFByb2R1Y3RzJywgTm9uZSwgMjAwKSwKLSModSdMYXVuY2hDb25kaXRpb25zJywgTm9uZSwgMTAwKSwKLSModSdNaWdyYXRlRmVhdHVyZVN0YXRlcycsIE5vbmUsIDEyMDApLAotIyh1J1JNQ0NQU2VhcmNoJywgdSdOT1QgSW5zdGFsbGVkJywgNjAwKSwKLV0KLQotTGlzdFZpZXcgPSBbCi1dCi0KLVJhZGlvQnV0dG9uID0gWwotKHUnSUFncmVlJywgMSwgdSdZZXMnLCA1LCAwLCAyNTAsIDE1LCB1J3tcXERsZ0ZvbnQ4fUkgJmFjY2VwdCB0aGUgdGVybXMgaW4gdGhlIExpY2Vuc2UgQWdyZWVtZW50JywgTm9uZSksCi0odSdJQWdyZWUnLCAyLCB1J05vJywgNSwgMjAsIDI1MCwgMTUsIHUne1xcRGxnRm9udDh9SSAmZG8gbm90IGFjY2VwdCB0aGUgdGVybXMgaW4gdGhlIExpY2Vuc2UgQWdyZWVtZW50JywgTm9uZSksCi1dCi0KLVRleHRTdHlsZSA9IFsKLSh1J0RsZ0ZvbnQ4JywgdSdUYWhvbWEnLCA4LCBOb25lLCAwKSwKLSh1J0RsZ0ZvbnRCb2xkOCcsIHUnVGFob21hJywgOCwgTm9uZSwgMSksCi0odSdWZXJkYW5hQm9sZDEzJywgdSdWZXJkYW5hJywgMTMsIE5vbmUsIDEpLAotXQotCi1VSVRleHQgPSBbCi0odSdBYnNlbnRQYXRoJywgTm9uZSksCi0odSdieXRlcycsIHUnYnl0ZXMnKSwKLSh1J0dCJywgdSdHQicpLAotKHUnS0InLCB1J0tCJyksCi0odSdNQicsIHUnTUInKSwKLSh1J01lbnVBYnNlbnQnLCB1J0VudGlyZSBmZWF0dXJlIHdpbGwgYmUgdW5hdmFpbGFibGUnKSwKLSh1J01lbnVBZHZlcnRpc2UnLCB1J0ZlYXR1cmUgd2lsbCBiZSBpbnN0YWxsZWQgd2hlbiByZXF1aXJlZCcpLAotKHUnTWVudUFsbENEJywgdSdFbnRpcmUgZmVhdHVyZSB3aWxsIGJlIGluc3RhbGxlZCB0byBydW4gZnJvbSBDRCcpLAotKHUnTWVudUFsbExvY2FsJywgdSdFbnRpcmUgZmVhdHVyZSB3aWxsIGJlIGluc3RhbGxlZCBvbiBsb2NhbCBoYXJkIGRyaXZlJyksCi0odSdNZW51QWxsTmV0d29yaycsIHUnRW50aXJlIGZlYXR1cmUgd2lsbCBiZSBpbnN0YWxsZWQgdG8gcnVuIGZyb20gbmV0d29yaycpLAotKHUnTWVudUNEJywgdSdXaWxsIGJlIGluc3RhbGxlZCB0byBydW4gZnJvbSBDRCcpLAotKHUnTWVudUxvY2FsJywgdSdXaWxsIGJlIGluc3RhbGxlZCBvbiBsb2NhbCBoYXJkIGRyaXZlJyksCi0odSdNZW51TmV0d29yaycsIHUnV2lsbCBiZSBpbnN0YWxsZWQgdG8gcnVuIGZyb20gbmV0d29yaycpLAotKHUnU2NyaXB0SW5Qcm9ncmVzcycsIHUnR2F0aGVyaW5nIHJlcXVpcmVkIGluZm9ybWF0aW9uLi4uJyksCi0odSdTZWxBYnNlbnRBYnNlbnQnLCB1J1RoaXMgZmVhdHVyZSB3aWxsIHJlbWFpbiB1bmluc3RhbGxlZCcpLAotKHUnU2VsQWJzZW50QWR2ZXJ0aXNlJywgdSdUaGlzIGZlYXR1cmUgd2lsbCBiZSBzZXQgdG8gYmUgaW5zdGFsbGVkIHdoZW4gcmVxdWlyZWQnKSwKLSh1J1NlbEFic2VudENEJywgdSdUaGlzIGZlYXR1cmUgd2lsbCBiZSBpbnN0YWxsZWQgdG8gcnVuIGZyb20gQ0QnKSwKLSh1J1NlbEFic2VudExvY2FsJywgdSdUaGlzIGZlYXR1cmUgd2lsbCBiZSBpbnN0YWxsZWQgb24gdGhlIGxvY2FsIGhhcmQgZHJpdmUnKSwKLSh1J1NlbEFic2VudE5ldHdvcmsnLCB1J1RoaXMgZmVhdHVyZSB3aWxsIGJlIGluc3RhbGxlZCB0byBydW4gZnJvbSB0aGUgbmV0d29yaycpLAotKHUnU2VsQWR2ZXJ0aXNlQWJzZW50JywgdSdUaGlzIGZlYXR1cmUgd2lsbCBiZWNvbWUgdW5hdmFpbGFibGUnKSwKLSh1J1NlbEFkdmVydGlzZUFkdmVydGlzZScsIHUnV2lsbCBiZSBpbnN0YWxsZWQgd2hlbiByZXF1aXJlZCcpLAotKHUnU2VsQWR2ZXJ0aXNlQ0QnLCB1J1RoaXMgZmVhdHVyZSB3aWxsIGJlIGF2YWlsYWJsZSB0byBydW4gZnJvbSBDRCcpLAotKHUnU2VsQWR2ZXJ0aXNlTG9jYWwnLCB1J1RoaXMgZmVhdHVyZSB3aWxsIGJlIGluc3RhbGxlZCBvbiB5b3VyIGxvY2FsIGhhcmQgZHJpdmUnKSwKLSh1J1NlbEFkdmVydGlzZU5ldHdvcmsnLCB1J1RoaXMgZmVhdHVyZSB3aWxsIGJlIGF2YWlsYWJsZSB0byBydW4gZnJvbSB0aGUgbmV0d29yaycpLAotKHUnU2VsQ0RBYnNlbnQnLCB1IlRoaXMgZmVhdHVyZSB3aWxsIGJlIHVuaW5zdGFsbGVkIGNvbXBsZXRlbHksIHlvdSB3b24ndCBiZSBhYmxlIHRvIHJ1biBpdCBmcm9tIENEIiksCi0odSdTZWxDREFkdmVydGlzZScsIHUnVGhpcyBmZWF0dXJlIHdpbGwgY2hhbmdlIGZyb20gcnVuIGZyb20gQ0Qgc3RhdGUgdG8gc2V0IHRvIGJlIGluc3RhbGxlZCB3aGVuIHJlcXVpcmVkJyksCi0odSdTZWxDRENEJywgdSdUaGlzIGZlYXR1cmUgd2lsbCByZW1haW4gdG8gYmUgcnVuIGZyb20gQ0QnKSwKLSh1J1NlbENETG9jYWwnLCB1J1RoaXMgZmVhdHVyZSB3aWxsIGNoYW5nZSBmcm9tIHJ1biBmcm9tIENEIHN0YXRlIHRvIGJlIGluc3RhbGxlZCBvbiB0aGUgbG9jYWwgaGFyZCBkcml2ZScpLAotKHUnU2VsQ2hpbGRDb3N0TmVnJywgdSdUaGlzIGZlYXR1cmUgZnJlZXMgdXAgWzFdIG9uIHlvdXIgaGFyZCBkcml2ZS4nKSwKLSh1J1NlbENoaWxkQ29zdFBvcycsIHUnVGhpcyBmZWF0dXJlIHJlcXVpcmVzIFsxXSBvbiB5b3VyIGhhcmQgZHJpdmUuJyksCi0odSdTZWxDb3N0UGVuZGluZycsIHUnQ29tcGlsaW5nIGNvc3QgZm9yIHRoaXMgZmVhdHVyZS4uLicpLAotKHUnU2VsTG9jYWxBYnNlbnQnLCB1J1RoaXMgZmVhdHVyZSB3aWxsIGJlIGNvbXBsZXRlbHkgcmVtb3ZlZCcpLAotKHUnU2VsTG9jYWxBZHZlcnRpc2UnLCB1J1RoaXMgZmVhdHVyZSB3aWxsIGJlIHJlbW92ZWQgZnJvbSB5b3VyIGxvY2FsIGhhcmQgZHJpdmUsIGJ1dCB3aWxsIGJlIHNldCB0byBiZSBpbnN0YWxsZWQgd2hlbiByZXF1aXJlZCcpLAotKHUnU2VsTG9jYWxDRCcsIHUnVGhpcyBmZWF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBmcm9tIHlvdXIgbG9jYWwgaGFyZCBkcml2ZSwgYnV0IHdpbGwgYmUgc3RpbGwgYXZhaWxhYmxlIHRvIHJ1biBmcm9tIENEJyksCi0odSdTZWxMb2NhbExvY2FsJywgdSdUaGlzIGZlYXR1cmUgd2lsbCByZW1haW4gb24geW91IGxvY2FsIGhhcmQgZHJpdmUnKSwKLSh1J1NlbExvY2FsTmV0d29yaycsIHUnVGhpcyBmZWF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBmcm9tIHlvdXIgbG9jYWwgaGFyZCBkcml2ZSwgYnV0IHdpbGwgYmUgc3RpbGwgYXZhaWxhYmxlIHRvIHJ1biBmcm9tIHRoZSBuZXR3b3JrJyksCi0odSdTZWxOZXR3b3JrQWJzZW50JywgdSJUaGlzIGZlYXR1cmUgd2lsbCBiZSB1bmluc3RhbGxlZCBjb21wbGV0ZWx5LCB5b3Ugd29uJ3QgYmUgYWJsZSB0byBydW4gaXQgZnJvbSB0aGUgbmV0d29yayIpLAotKHUnU2VsTmV0d29ya0FkdmVydGlzZScsIHUnVGhpcyBmZWF0dXJlIHdpbGwgY2hhbmdlIGZyb20gcnVuIGZyb20gbmV0d29yayBzdGF0ZSB0byBzZXQgdG8gYmUgaW5zdGFsbGVkIHdoZW4gcmVxdWlyZWQnKSwKLSh1J1NlbE5ldHdvcmtMb2NhbCcsIHUnVGhpcyBmZWF0dXJlIHdpbGwgY2hhbmdlIGZyb20gcnVuIGZyb20gbmV0d29yayBzdGF0ZSB0byBiZSBpbnN0YWxsZWQgb24gdGhlIGxvY2FsIGhhcmQgZHJpdmUnKSwKLSh1J1NlbE5ldHdvcmtOZXR3b3JrJywgdSdUaGlzIGZlYXR1cmUgd2lsbCByZW1haW4gdG8gYmUgcnVuIGZyb20gdGhlIG5ldHdvcmsnKSwKLSh1J1NlbFBhcmVudENvc3ROZWdOZWcnLCB1J1RoaXMgZmVhdHVyZSBmcmVlcyB1cCBbMV0gb24geW91ciBoYXJkIGRyaXZlLiBJdCBoYXMgWzJdIG9mIFszXSBzdWJmZWF0dXJlcyBzZWxlY3RlZC4gVGhlIHN1YmZlYXR1cmVzIGZyZWUgdXAgWzRdIG9uIHlvdXIgaGFyZCBkcml2ZS4nKSwKLSh1J1NlbFBhcmVudENvc3ROZWdQb3MnLCB1J1RoaXMgZmVhdHVyZSBmcmVlcyB1cCBbMV0gb24geW91ciBoYXJkIGRyaXZlLiBJdCBoYXMgWzJdIG9mIFszXSBzdWJmZWF0dXJlcyBzZWxlY3RlZC4gVGhlIHN1YmZlYXR1cmVzIHJlcXVpcmUgWzRdIG9uIHlvdXIgaGFyZCBkcml2ZS4nKSwKLSh1J1NlbFBhcmVudENvc3RQb3NOZWcnLCB1J1RoaXMgZmVhdHVyZSByZXF1aXJlcyBbMV0gb24geW91ciBoYXJkIGRyaXZlLiBJdCBoYXMgWzJdIG9mIFszXSBzdWJmZWF0dXJlcyBzZWxlY3RlZC4gVGhlIHN1YmZlYXR1cmVzIGZyZWUgdXAgWzRdIG9uIHlvdXIgaGFyZCBkcml2ZS4nKSwKLSh1J1NlbFBhcmVudENvc3RQb3NQb3MnLCB1J1RoaXMgZmVhdHVyZSByZXF1aXJlcyBbMV0gb24geW91ciBoYXJkIGRyaXZlLiBJdCBoYXMgWzJdIG9mIFszXSBzdWJmZWF0dXJlcyBzZWxlY3RlZC4gVGhlIHN1YmZlYXR1cmVzIHJlcXVpcmUgWzRdIG9uIHlvdXIgaGFyZCBkcml2ZS4nKSwKLSh1J1RpbWVSZW1haW5pbmcnLCB1J1RpbWUgcmVtYWluaW5nOiB7WzFdIG1pbnV0ZXMgfXtbMl0gc2Vjb25kc30nKSwKLSh1J1ZvbHVtZUNvc3RBdmFpbGFibGUnLCB1J0F2YWlsYWJsZScpLAotKHUnVm9sdW1lQ29zdERpZmZlcmVuY2UnLCB1J0RpZmZlcmVuY2UnKSwKLSh1J1ZvbHVtZUNvc3RSZXF1aXJlZCcsIHUnUmVxdWlyZWQnKSwKLSh1J1ZvbHVtZUNvc3RTaXplJywgdSdEaXNrIFNpemUnKSwKLSh1J1ZvbHVtZUNvc3RWb2x1bWUnLCB1J1ZvbHVtZScpLAotXQotCi1fVmFsaWRhdGlvbiA9IFsKLSh1J0FkbWluRXhlY3V0ZVNlcXVlbmNlJywgdSdBY3Rpb24nLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J05hbWUgb2YgYWN0aW9uIHRvIGludm9rZSwgZWl0aGVyIGluIHRoZSBlbmdpbmUgb3IgdGhlIGhhbmRsZXIgRExMLicpLAotKHUnQWRtaW5FeGVjdXRlU2VxdWVuY2UnLCB1J1NlcXVlbmNlJywgdSdZJywgLTQsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J051bWJlciB0aGF0IGRldGVybWluZXMgdGhlIHNvcnQgb3JkZXIgaW4gd2hpY2ggdGhlIGFjdGlvbnMgYXJlIHRvIGJlIGV4ZWN1dGVkLiAgTGVhdmUgYmxhbmsgdG8gc3VwcHJlc3MgYWN0aW9uLicpLAotKHUnQWRtaW5FeGVjdXRlU2VxdWVuY2UnLCB1J0NvbmRpdGlvbicsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQ29uZGl0aW9uJywgTm9uZSwgdSdPcHRpb25hbCBleHByZXNzaW9uIHdoaWNoIHNraXBzIHRoZSBhY3Rpb24gaWYgZXZhbHVhdGVzIHRvIGV4cEZhbHNlLklmIHRoZSBleHByZXNzaW9uIHN5bnRheCBpcyBpbnZhbGlkLCB0aGUgZW5naW5lIHdpbGwgdGVybWluYXRlLCByZXR1cm5pbmcgaWVzQmFkQWN0aW9uRGF0YS4nKSwKLSh1J0FkbWluVUlTZXF1ZW5jZScsIHUnQWN0aW9uJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdOYW1lIG9mIGFjdGlvbiB0byBpbnZva2UsIGVpdGhlciBpbiB0aGUgZW5naW5lIG9yIHRoZSBoYW5kbGVyIERMTC4nKSwKLSh1J0FkbWluVUlTZXF1ZW5jZScsIHUnU2VxdWVuY2UnLCB1J1knLCAtNCwgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnTnVtYmVyIHRoYXQgZGV0ZXJtaW5lcyB0aGUgc29ydCBvcmRlciBpbiB3aGljaCB0aGUgYWN0aW9ucyBhcmUgdG8gYmUgZXhlY3V0ZWQuICBMZWF2ZSBibGFuayB0byBzdXBwcmVzcyBhY3Rpb24uJyksCi0odSdBZG1pblVJU2VxdWVuY2UnLCB1J0NvbmRpdGlvbicsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQ29uZGl0aW9uJywgTm9uZSwgdSdPcHRpb25hbCBleHByZXNzaW9uIHdoaWNoIHNraXBzIHRoZSBhY3Rpb24gaWYgZXZhbHVhdGVzIHRvIGV4cEZhbHNlLklmIHRoZSBleHByZXNzaW9uIHN5bnRheCBpcyBpbnZhbGlkLCB0aGUgZW5naW5lIHdpbGwgdGVybWluYXRlLCByZXR1cm5pbmcgaWVzQmFkQWN0aW9uRGF0YS4nKSwKLSh1J0NvbmRpdGlvbicsIHUnQ29uZGl0aW9uJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdDb25kaXRpb24nLCBOb25lLCB1J0V4cHJlc3Npb24gZXZhbHVhdGVkIHRvIGRldGVybWluZSBpZiBMZXZlbCBpbiB0aGUgRmVhdHVyZSB0YWJsZSBpcyB0byBjaGFuZ2UuJyksCi0odSdDb25kaXRpb24nLCB1J0ZlYXR1cmVfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdGZWF0dXJlJywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdSZWZlcmVuY2UgdG8gYSBGZWF0dXJlIGVudHJ5IGluIEZlYXR1cmUgdGFibGUuJyksCi0odSdDb25kaXRpb24nLCB1J0xldmVsJywgdSdOJywgMCwgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnTmV3IHNlbGVjdGlvbiBMZXZlbCB0byBzZXQgaW4gRmVhdHVyZSB0YWJsZSBpZiBDb25kaXRpb24gZXZhbHVhdGVzIHRvIFRSVUUuJyksCi0odSdBZHZ0RXhlY3V0ZVNlcXVlbmNlJywgdSdBY3Rpb24nLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J05hbWUgb2YgYWN0aW9uIHRvIGludm9rZSwgZWl0aGVyIGluIHRoZSBlbmdpbmUgb3IgdGhlIGhhbmRsZXIgRExMLicpLAotKHUnQWR2dEV4ZWN1dGVTZXF1ZW5jZScsIHUnU2VxdWVuY2UnLCB1J1knLCAtNCwgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnTnVtYmVyIHRoYXQgZGV0ZXJtaW5lcyB0aGUgc29ydCBvcmRlciBpbiB3aGljaCB0aGUgYWN0aW9ucyBhcmUgdG8gYmUgZXhlY3V0ZWQuICBMZWF2ZSBibGFuayB0byBzdXBwcmVzcyBhY3Rpb24uJyksCi0odSdBZHZ0RXhlY3V0ZVNlcXVlbmNlJywgdSdDb25kaXRpb24nLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0NvbmRpdGlvbicsIE5vbmUsIHUnT3B0aW9uYWwgZXhwcmVzc2lvbiB3aGljaCBza2lwcyB0aGUgYWN0aW9uIGlmIGV2YWx1YXRlcyB0byBleHBGYWxzZS5JZiB0aGUgZXhwcmVzc2lvbiBzeW50YXggaXMgaW52YWxpZCwgdGhlIGVuZ2luZSB3aWxsIHRlcm1pbmF0ZSwgcmV0dXJuaW5nIGllc0JhZEFjdGlvbkRhdGEuJyksCi0odSdCQkNvbnRyb2wnLCB1J1R5cGUnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1RoZSB0eXBlIG9mIHRoZSBjb250cm9sLicpLAotKHUnQkJDb250cm9sJywgdSdCQkNvbnRyb2wnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J05hbWUgb2YgdGhlIGNvbnRyb2wuIFRoaXMgbmFtZSBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gYSBiaWxsYm9hcmQsIGJ1dCBjYW4gcmVwZWF0IG9uIGRpZmZlcmVudCBiaWxsYm9hcmQuJyksCi0odSdCQkNvbnRyb2wnLCB1J0JpbGxib2FyZF8nLCB1J04nLCBOb25lLCBOb25lLCB1J0JpbGxib2FyZCcsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnRXh0ZXJuYWwga2V5IHRvIHRoZSBCaWxsYm9hcmQgdGFibGUsIG5hbWUgb2YgdGhlIGJpbGxib2FyZC4nKSwKLSh1J0JCQ29udHJvbCcsIHUnWCcsIHUnTicsIDAsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0hvcml6b250YWwgY29vcmRpbmF0ZSBvZiB0aGUgdXBwZXIgbGVmdCBjb3JuZXIgb2YgdGhlIGJvdW5kaW5nIHJlY3RhbmdsZSBvZiB0aGUgY29udHJvbC4nKSwKLSh1J0JCQ29udHJvbCcsIHUnWScsIHUnTicsIDAsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1ZlcnRpY2FsIGNvb3JkaW5hdGUgb2YgdGhlIHVwcGVyIGxlZnQgY29ybmVyIG9mIHRoZSBib3VuZGluZyByZWN0YW5nbGUgb2YgdGhlIGNvbnRyb2wuJyksCi0odSdCQkNvbnRyb2wnLCB1J1dpZHRoJywgdSdOJywgMCwgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnV2lkdGggb2YgdGhlIGJvdW5kaW5nIHJlY3RhbmdsZSBvZiB0aGUgY29udHJvbC4nKSwKLSh1J0JCQ29udHJvbCcsIHUnSGVpZ2h0JywgdSdOJywgMCwgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSGVpZ2h0IG9mIHRoZSBib3VuZGluZyByZWN0YW5nbGUgb2YgdGhlIGNvbnRyb2wuJyksCi0odSdCQkNvbnRyb2wnLCB1J0F0dHJpYnV0ZXMnLCB1J1knLCAwLCAyMTQ3NDgzNjQ3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0EgMzItYml0IHdvcmQgdGhhdCBzcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZSBmbGFncyB0byBiZSBhcHBsaWVkIHRvIHRoaXMgY29udHJvbC4nKSwKLSh1J0JCQ29udHJvbCcsIHUnVGV4dCcsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIHUnQSBzdHJpbmcgdXNlZCB0byBzZXQgdGhlIGluaXRpYWwgdGV4dCBjb250YWluZWQgd2l0aGluIGEgY29udHJvbCAoaWYgYXBwcm9wcmlhdGUpLicpLAotKHUnQmlsbGJvYXJkJywgdSdBY3Rpb24nLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1RoZSBuYW1lIG9mIGFuIGFjdGlvbi4gVGhlIGJpbGxib2FyZCBpcyBkaXNwbGF5ZWQgZHVyaW5nIHRoZSBwcm9ncmVzcyBtZXNzYWdlcyByZWNlaXZlZCBmcm9tIHRoaXMgYWN0aW9uLicpLAotKHUnQmlsbGJvYXJkJywgdSdCaWxsYm9hcmQnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J05hbWUgb2YgdGhlIGJpbGxib2FyZC4nKSwKLSh1J0JpbGxib2FyZCcsIHUnRmVhdHVyZV8nLCB1J04nLCBOb25lLCBOb25lLCB1J0ZlYXR1cmUnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0FuIGV4dGVybmFsIGtleSB0byB0aGUgRmVhdHVyZSBUYWJsZS4gVGhlIGJpbGxib2FyZCBpcyBzaG93biBvbmx5IGlmIHRoaXMgZmVhdHVyZSBpcyBiZWluZyBpbnN0YWxsZWQuJyksCi0odSdCaWxsYm9hcmQnLCB1J09yZGVyaW5nJywgdSdZJywgMCwgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQSBwb3NpdGl2ZSBpbnRlZ2VyLiBJZiB0aGVyZSBpcyBtb3JlIHRoYW4gb25lIGJpbGxib2FyZCBjb3JyZXNwb25kaW5nIHRvIGFuIGFjdGlvbiB0aGV5IHdpbGwgYmUgc2hvd24gaW4gdGhlIG9yZGVyIGRlZmluZWQgYnkgdGhpcyBjb2x1bW4uJyksCi0odSdCaW5hcnknLCB1J05hbWUnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1VuaXF1ZSBrZXkgaWRlbnRpZnlpbmcgdGhlIGJpbmFyeSBkYXRhLicpLAotKHUnQmluYXJ5JywgdSdEYXRhJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdCaW5hcnknLCBOb25lLCB1J1RoZSB1bmZvcm1hdHRlZCBiaW5hcnkgZGF0YS4nKSwKLSh1J0NoZWNrQm94JywgdSdQcm9wZXJ0eScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnQSBuYW1lZCBwcm9wZXJ0eSB0byBiZSB0aWVkIHRvIHRoZSBpdGVtLicpLAotKHUnQ2hlY2tCb3gnLCB1J1ZhbHVlJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLCBOb25lLCB1J1RoZSB2YWx1ZSBzdHJpbmcgYXNzb2NpYXRlZCB3aXRoIHRoZSBpdGVtLicpLAotKHUnUHJvcGVydHknLCB1J1Byb3BlcnR5JywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdOYW1lIG9mIHByb3BlcnR5LCB1cHBlcmNhc2UgaWYgc2V0dGFibGUgYnkgbGF1bmNoZXIgb3IgbG9hZGVyLicpLAotKHUnUHJvcGVydHknLCB1J1ZhbHVlJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgdSdTdHJpbmcgdmFsdWUgZm9yIHByb3BlcnR5LiAgTmV2ZXIgbnVsbCBvciBlbXB0eS4nKSwKLSh1J0NvbWJvQm94JywgdSdUZXh0JywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLCBOb25lLCB1J1RoZSB2aXNpYmxlIHRleHQgdG8gYmUgYXNzaWduZWQgdG8gdGhlIGl0ZW0uIE9wdGlvbmFsLiBJZiB0aGlzIGVudHJ5IG9yIHRoZSBlbnRpcmUgY29sdW1uIGlzIG1pc3NpbmcsIHRoZSB0ZXh0IGlzIHRoZSBzYW1lIGFzIHRoZSB2YWx1ZS4nKSwKLSh1J0NvbWJvQm94JywgdSdQcm9wZXJ0eScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnQSBuYW1lZCBwcm9wZXJ0eSB0byBiZSB0aWVkIHRvIHRoaXMgaXRlbS4gQWxsIHRoZSBpdGVtcyB0aWVkIHRvIHRoZSBzYW1lIHByb3BlcnR5IGJlY29tZSBwYXJ0IG9mIHRoZSBzYW1lIGNvbWJvYm94LicpLAotKHUnQ29tYm9Cb3gnLCB1J1ZhbHVlJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLCBOb25lLCB1J1RoZSB2YWx1ZSBzdHJpbmcgYXNzb2NpYXRlZCB3aXRoIHRoaXMgaXRlbS4gU2VsZWN0aW5nIHRoZSBsaW5lIHdpbGwgc2V0IHRoZSBhc3NvY2lhdGVkIHByb3BlcnR5IHRvIHRoaXMgdmFsdWUuJyksCi0odSdDb21ib0JveCcsIHUnT3JkZXInLCB1J04nLCAxLCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdBIHBvc2l0aXZlIGludGVnZXIgdXNlZCB0byBkZXRlcm1pbmUgdGhlIG9yZGVyaW5nIG9mIHRoZSBpdGVtcyB3aXRoaW4gb25lIGxpc3QuXHRUaGUgaW50ZWdlcnMgZG8gbm90IGhhdmUgdG8gYmUgY29uc2VjdXRpdmUuJyksCi0odSdDb250cm9sJywgdSdUeXBlJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdUaGUgdHlwZSBvZiB0aGUgY29udHJvbC4nKSwKLSh1J0NvbnRyb2wnLCB1J1gnLCB1J04nLCAwLCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdIb3Jpem9udGFsIGNvb3JkaW5hdGUgb2YgdGhlIHVwcGVyIGxlZnQgY29ybmVyIG9mIHRoZSBib3VuZGluZyByZWN0YW5nbGUgb2YgdGhlIGNvbnRyb2wuJyksCi0odSdDb250cm9sJywgdSdZJywgdSdOJywgMCwgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVmVydGljYWwgY29vcmRpbmF0ZSBvZiB0aGUgdXBwZXIgbGVmdCBjb3JuZXIgb2YgdGhlIGJvdW5kaW5nIHJlY3RhbmdsZSBvZiB0aGUgY29udHJvbC4nKSwKLSh1J0NvbnRyb2wnLCB1J1dpZHRoJywgdSdOJywgMCwgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnV2lkdGggb2YgdGhlIGJvdW5kaW5nIHJlY3RhbmdsZSBvZiB0aGUgY29udHJvbC4nKSwKLSh1J0NvbnRyb2wnLCB1J0hlaWdodCcsIHUnTicsIDAsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0hlaWdodCBvZiB0aGUgYm91bmRpbmcgcmVjdGFuZ2xlIG9mIHRoZSBjb250cm9sLicpLAotKHUnQ29udHJvbCcsIHUnQXR0cmlidXRlcycsIHUnWScsIDAsIDIxNDc0ODM2NDcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQSAzMi1iaXQgd29yZCB0aGF0IHNwZWNpZmllcyB0aGUgYXR0cmlidXRlIGZsYWdzIHRvIGJlIGFwcGxpZWQgdG8gdGhpcyBjb250cm9sLicpLAotKHUnQ29udHJvbCcsIHUnVGV4dCcsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJywgTm9uZSwgdSdBIHN0cmluZyB1c2VkIHRvIHNldCB0aGUgaW5pdGlhbCB0ZXh0IGNvbnRhaW5lZCB3aXRoaW4gYSBjb250cm9sIChpZiBhcHByb3ByaWF0ZSkuJyksCi0odSdDb250cm9sJywgdSdQcm9wZXJ0eScsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnVGhlIG5hbWUgb2YgYSBkZWZpbmVkIHByb3BlcnR5IHRvIGJlIGxpbmtlZCB0byB0aGlzIGNvbnRyb2wuICcpLAotKHUnQ29udHJvbCcsIHUnQ29udHJvbCcsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnTmFtZSBvZiB0aGUgY29udHJvbC4gVGhpcyBuYW1lIG11c3QgYmUgdW5pcXVlIHdpdGhpbiBhIGRpYWxvZywgYnV0IGNhbiByZXBlYXQgb24gZGlmZmVyZW50IGRpYWxvZ3MuICcpLAotKHUnQ29udHJvbCcsIHUnRGlhbG9nXycsIHUnTicsIE5vbmUsIE5vbmUsIHUnRGlhbG9nJywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdFeHRlcm5hbCBrZXkgdG8gdGhlIERpYWxvZyB0YWJsZSwgbmFtZSBvZiB0aGUgZGlhbG9nLicpLAotKHUnQ29udHJvbCcsIHUnQ29udHJvbF9OZXh0JywgdSdZJywgTm9uZSwgTm9uZSwgdSdDb250cm9sJywgMiwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdUaGUgbmFtZSBvZiBhbiBvdGhlciBjb250cm9sIG9uIHRoZSBzYW1lIGRpYWxvZy4gVGhpcyBsaW5rIGRlZmluZXMgdGhlIHRhYiBvcmRlciBvZiB0aGUgY29udHJvbHMuIFRoZSBsaW5rcyBoYXZlIHRvIGZvcm0gb25lIG9yIG1vcmUgY3ljbGVzIScpLAotKHUnQ29udHJvbCcsIHUnSGVscCcsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIHUnVGhlIGhlbHAgc3RyaW5ncyB1c2VkIHdpdGggdGhlIGJ1dHRvbi4gVGhlIHRleHQgaXMgb3B0aW9uYWwuICcpLAotKHUnSWNvbicsIHUnTmFtZScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnUHJpbWFyeSBrZXkuIE5hbWUgb2YgdGhlIGljb24gZmlsZS4nKSwKLSh1J0ljb24nLCB1J0RhdGEnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0JpbmFyeScsIE5vbmUsIHUnQmluYXJ5IHN0cmVhbS4gVGhlIGJpbmFyeSBpY29uIGRhdGEgaW4gUEUgKC5ETEwgb3IgLkVYRSkgb3IgaWNvbiAoLklDTykgZm9ybWF0LicpLAotKHUnTGlzdEJveCcsIHUnVGV4dCcsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIHUnVGhlIHZpc2libGUgdGV4dCB0byBiZSBhc3NpZ25lZCB0byB0aGUgaXRlbS4gT3B0aW9uYWwuIElmIHRoaXMgZW50cnkgb3IgdGhlIGVudGlyZSBjb2x1bW4gaXMgbWlzc2luZywgdGhlIHRleHQgaXMgdGhlIHNhbWUgYXMgdGhlIHZhbHVlLicpLAotKHUnTGlzdEJveCcsIHUnUHJvcGVydHknLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0EgbmFtZWQgcHJvcGVydHkgdG8gYmUgdGllZCB0byB0aGlzIGl0ZW0uIEFsbCB0aGUgaXRlbXMgdGllZCB0byB0aGUgc2FtZSBwcm9wZXJ0eSBiZWNvbWUgcGFydCBvZiB0aGUgc2FtZSBsaXN0Ym94LicpLAotKHUnTGlzdEJveCcsIHUnVmFsdWUnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsIE5vbmUsIHUnVGhlIHZhbHVlIHN0cmluZyBhc3NvY2lhdGVkIHdpdGggdGhpcyBpdGVtLiBTZWxlY3RpbmcgdGhlIGxpbmUgd2lsbCBzZXQgdGhlIGFzc29jaWF0ZWQgcHJvcGVydHkgdG8gdGhpcyB2YWx1ZS4nKSwKLSh1J0xpc3RCb3gnLCB1J09yZGVyJywgdSdOJywgMSwgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQSBwb3NpdGl2ZSBpbnRlZ2VyIHVzZWQgdG8gZGV0ZXJtaW5lIHRoZSBvcmRlcmluZyBvZiB0aGUgaXRlbXMgd2l0aGluIG9uZSBsaXN0Li5UaGUgaW50ZWdlcnMgZG8gbm90IGhhdmUgdG8gYmUgY29uc2VjdXRpdmUuJyksCi0odSdBY3Rpb25UZXh0JywgdSdBY3Rpb24nLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J05hbWUgb2YgYWN0aW9uIHRvIGJlIGRlc2NyaWJlZC4nKSwKLSh1J0FjdGlvblRleHQnLCB1J0Rlc2NyaXB0aW9uJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgdSdMb2NhbGl6ZWQgZGVzY3JpcHRpb24gZGlzcGxheWVkIGluIHByb2dyZXNzIGRpYWxvZyBhbmQgbG9nIHdoZW4gYWN0aW9uIGlzIGV4ZWN1dGluZy4nKSwKLSh1J0FjdGlvblRleHQnLCB1J1RlbXBsYXRlJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZW1wbGF0ZScsIE5vbmUsIHUnT3B0aW9uYWwgbG9jYWxpemVkIGZvcm1hdCB0ZW1wbGF0ZSB1c2VkIHRvIGZvcm1hdCBhY3Rpb24gZGF0YSByZWNvcmRzIGZvciBkaXNwbGF5IGR1cmluZyBhY3Rpb24gZXhlY3V0aW9uLicpLAotKHUnQ29udHJvbENvbmRpdGlvbicsIHUnQWN0aW9uJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdEZWZhdWx0O0Rpc2FibGU7RW5hYmxlO0hpZGU7U2hvdycsIHUnVGhlIGRlc2lyZWQgYWN0aW9uIHRvIGJlIHRha2VuIG9uIHRoZSBzcGVjaWZpZWQgY29udHJvbC4nKSwKLSh1J0NvbnRyb2xDb25kaXRpb24nLCB1J0NvbmRpdGlvbicsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQ29uZGl0aW9uJywgTm9uZSwgdSdBIHN0YW5kYXJkIGNvbmRpdGlvbmFsIHN0YXRlbWVudCB0aGF0IHNwZWNpZmllcyB1bmRlciB3aGljaCBjb25kaXRpb25zIHRoZSBhY3Rpb24gc2hvdWxkIGJlIHRyaWdnZXJlZC4nKSwKLSh1J0NvbnRyb2xDb25kaXRpb24nLCB1J0RpYWxvZ18nLCB1J04nLCBOb25lLCBOb25lLCB1J0RpYWxvZycsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnQSBmb3JlaWduIGtleSB0byB0aGUgRGlhbG9nIHRhYmxlLCBuYW1lIG9mIHRoZSBkaWFsb2cuJyksCi0odSdDb250cm9sQ29uZGl0aW9uJywgdSdDb250cm9sXycsIHUnTicsIE5vbmUsIE5vbmUsIHUnQ29udHJvbCcsIDIsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnQSBmb3JlaWduIGtleSB0byB0aGUgQ29udHJvbCB0YWJsZSwgbmFtZSBvZiB0aGUgY29udHJvbC4nKSwKLSh1J0NvbnRyb2xFdmVudCcsIHUnQ29uZGl0aW9uJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdDb25kaXRpb24nLCBOb25lLCB1J0Egc3RhbmRhcmQgY29uZGl0aW9uYWwgc3RhdGVtZW50IHRoYXQgc3BlY2lmaWVzIHVuZGVyIHdoaWNoIGNvbmRpdGlvbnMgYW4gZXZlbnQgc2hvdWxkIGJlIHRyaWdnZXJlZC4nKSwKLSh1J0NvbnRyb2xFdmVudCcsIHUnT3JkZXJpbmcnLCB1J1knLCAwLCAyMTQ3NDgzNjQ3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0FuIGludGVnZXIgdXNlZCB0byBvcmRlciBzZXZlcmFsIGV2ZW50cyB0aWVkIHRvIHRoZSBzYW1lIGNvbnRyb2wuIENhbiBiZSBsZWZ0IGJsYW5rLicpLAotKHUnQ29udHJvbEV2ZW50JywgdSdEaWFsb2dfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdEaWFsb2cnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0EgZm9yZWlnbiBrZXkgdG8gdGhlIERpYWxvZyB0YWJsZSwgbmFtZSBvZiB0aGUgZGlhbG9nLicpLAotKHUnQ29udHJvbEV2ZW50JywgdSdDb250cm9sXycsIHUnTicsIE5vbmUsIE5vbmUsIHUnQ29udHJvbCcsIDIsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnQSBmb3JlaWduIGtleSB0byB0aGUgQ29udHJvbCB0YWJsZSwgbmFtZSBvZiB0aGUgY29udHJvbCcpLAotKHUnQ29udHJvbEV2ZW50JywgdSdFdmVudCcsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJywgTm9uZSwgdSdBbiBpZGVudGlmaWVyIHRoYXQgc3BlY2lmaWVzIHRoZSB0eXBlIG9mIHRoZSBldmVudCB0aGF0IHNob3VsZCB0YWtlIHBsYWNlIHdoZW4gdGhlIHVzZXIgaW50ZXJhY3RzIHdpdGggY29udHJvbCBzcGVjaWZpZWQgYnkgdGhlIGZpcnN0IHR3byBlbnRyaWVzLicpLAotKHUnQ29udHJvbEV2ZW50JywgdSdBcmd1bWVudCcsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJywgTm9uZSwgdSdBIHZhbHVlIHRvIGJlIHVzZWQgYXMgYSBtb2RpZmllciB3aGVuIHRyaWdnZXJpbmcgYSBwYXJ0aWN1bGFyIGV2ZW50LicpLAotKHUnRGlhbG9nJywgdSdXaWR0aCcsIHUnTicsIDAsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1dpZHRoIG9mIHRoZSBib3VuZGluZyByZWN0YW5nbGUgb2YgdGhlIGRpYWxvZy4nKSwKLSh1J0RpYWxvZycsIHUnSGVpZ2h0JywgdSdOJywgMCwgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSGVpZ2h0IG9mIHRoZSBib3VuZGluZyByZWN0YW5nbGUgb2YgdGhlIGRpYWxvZy4nKSwKLSh1J0RpYWxvZycsIHUnQXR0cmlidXRlcycsIHUnWScsIDAsIDIxNDc0ODM2NDcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQSAzMi1iaXQgd29yZCB0aGF0IHNwZWNpZmllcyB0aGUgYXR0cmlidXRlIGZsYWdzIHRvIGJlIGFwcGxpZWQgdG8gdGhpcyBkaWFsb2cuJyksCi0odSdEaWFsb2cnLCB1J1RpdGxlJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLCBOb25lLCB1IkEgdGV4dCBzdHJpbmcgc3BlY2lmeWluZyB0aGUgdGl0bGUgdG8gYmUgZGlzcGxheWVkIGluIHRoZSB0aXRsZSBiYXIgb2YgdGhlIGRpYWxvZydzIHdpbmRvdy4iKSwKLSh1J0RpYWxvZycsIHUnRGlhbG9nJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdOYW1lIG9mIHRoZSBkaWFsb2cuJyksCi0odSdEaWFsb2cnLCB1J0hDZW50ZXJpbmcnLCB1J04nLCAwLCAxMDAsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSG9yaXpvbnRhbCBwb3NpdGlvbiBvZiB0aGUgZGlhbG9nIG9uIGEgMC0xMDAgc2NhbGUuIDAgbWVhbnMgbGVmdCBlbmQsIDEwMCBtZWFucyByaWdodCBlbmQgb2YgdGhlIHNjcmVlbiwgNTAgY2VudGVyLicpLAotKHUnRGlhbG9nJywgdSdWQ2VudGVyaW5nJywgdSdOJywgMCwgMTAwLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1ZlcnRpY2FsIHBvc2l0aW9uIG9mIHRoZSBkaWFsb2cgb24gYSAwLTEwMCBzY2FsZS4gMCBtZWFucyB0b3AgZW5kLCAxMDAgbWVhbnMgYm90dG9tIGVuZCBvZiB0aGUgc2NyZWVuLCA1MCBjZW50ZXIuJyksCi0odSdEaWFsb2cnLCB1J0NvbnRyb2xfRmlyc3QnLCB1J04nLCBOb25lLCBOb25lLCB1J0NvbnRyb2wnLCAyLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0RlZmluZXMgdGhlIGNvbnRyb2wgdGhhdCBoYXMgdGhlIGZvY3VzIHdoZW4gdGhlIGRpYWxvZyBpcyBjcmVhdGVkLicpLAotKHUnRGlhbG9nJywgdSdDb250cm9sX0RlZmF1bHQnLCB1J1knLCBOb25lLCBOb25lLCB1J0NvbnRyb2wnLCAyLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0RlZmluZXMgdGhlIGRlZmF1bHQgY29udHJvbC4gSGl0dGluZyByZXR1cm4gaXMgZXF1aXZhbGVudCB0byBwdXNoaW5nIHRoaXMgYnV0dG9uLicpLAotKHUnRGlhbG9nJywgdSdDb250cm9sX0NhbmNlbCcsIHUnWScsIE5vbmUsIE5vbmUsIHUnQ29udHJvbCcsIDIsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnRGVmaW5lcyB0aGUgY2FuY2VsIGNvbnRyb2wuIEhpdHRpbmcgZXNjYXBlIG9yIGNsaWNraW5nIG9uIHRoZSBjbG9zZSBpY29uIG9uIHRoZSBkaWFsb2cgaXMgZXF1aXZhbGVudCB0byBwdXNoaW5nIHRoaXMgYnV0dG9uLicpLAotKHUnRXZlbnRNYXBwaW5nJywgdSdEaWFsb2dfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdEaWFsb2cnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0EgZm9yZWlnbiBrZXkgdG8gdGhlIERpYWxvZyB0YWJsZSwgbmFtZSBvZiB0aGUgRGlhbG9nLicpLAotKHUnRXZlbnRNYXBwaW5nJywgdSdDb250cm9sXycsIHUnTicsIE5vbmUsIE5vbmUsIHUnQ29udHJvbCcsIDIsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnQSBmb3JlaWduIGtleSB0byB0aGUgQ29udHJvbCB0YWJsZSwgbmFtZSBvZiB0aGUgY29udHJvbC4nKSwKLSh1J0V2ZW50TWFwcGluZycsIHUnRXZlbnQnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0FuIGlkZW50aWZpZXIgdGhhdCBzcGVjaWZpZXMgdGhlIHR5cGUgb2YgdGhlIGV2ZW50IHRoYXQgdGhlIGNvbnRyb2wgc3Vic2NyaWJlcyB0by4nKSwKLSh1J0V2ZW50TWFwcGluZycsIHUnQXR0cmlidXRlJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdUaGUgbmFtZSBvZiB0aGUgY29udHJvbCBhdHRyaWJ1dGUsIHRoYXQgaXMgc2V0IHdoZW4gdGhpcyBldmVudCBpcyByZWNlaXZlZC4nKSwKLSh1J0luc3RhbGxFeGVjdXRlU2VxdWVuY2UnLCB1J0FjdGlvbicsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnTmFtZSBvZiBhY3Rpb24gdG8gaW52b2tlLCBlaXRoZXIgaW4gdGhlIGVuZ2luZSBvciB0aGUgaGFuZGxlciBETEwuJyksCi0odSdJbnN0YWxsRXhlY3V0ZVNlcXVlbmNlJywgdSdTZXF1ZW5jZScsIHUnWScsIC00LCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdOdW1iZXIgdGhhdCBkZXRlcm1pbmVzIHRoZSBzb3J0IG9yZGVyIGluIHdoaWNoIHRoZSBhY3Rpb25zIGFyZSB0byBiZSBleGVjdXRlZC4gIExlYXZlIGJsYW5rIHRvIHN1cHByZXNzIGFjdGlvbi4nKSwKLSh1J0luc3RhbGxFeGVjdXRlU2VxdWVuY2UnLCB1J0NvbmRpdGlvbicsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQ29uZGl0aW9uJywgTm9uZSwgdSdPcHRpb25hbCBleHByZXNzaW9uIHdoaWNoIHNraXBzIHRoZSBhY3Rpb24gaWYgZXZhbHVhdGVzIHRvIGV4cEZhbHNlLklmIHRoZSBleHByZXNzaW9uIHN5bnRheCBpcyBpbnZhbGlkLCB0aGUgZW5naW5lIHdpbGwgdGVybWluYXRlLCByZXR1cm5pbmcgaWVzQmFkQWN0aW9uRGF0YS4nKSwKLSh1J0FwcFNlYXJjaCcsIHUnUHJvcGVydHknLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1RoZSBwcm9wZXJ0eSBhc3NvY2lhdGVkIHdpdGggYSBTaWduYXR1cmUnKSwKLSh1J0FwcFNlYXJjaCcsIHUnU2lnbmF0dXJlXycsIHUnTicsIE5vbmUsIE5vbmUsIHUnU2lnbmF0dXJlO1JlZ0xvY2F0b3I7SW5pTG9jYXRvcjtEckxvY2F0b3I7Q29tcExvY2F0b3InLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1RoZSBTaWduYXR1cmVfIHJlcHJlc2VudHMgYSB1bmlxdWUgZmlsZSBzaWduYXR1cmUgYW5kIGlzIGFsc28gdGhlIGZvcmVpZ24ga2V5IGluIHRoZSBTaWduYXR1cmUsICBSZWdMb2NhdG9yLCBJbmlMb2NhdG9yLCBDb21wTG9jYXRvciBhbmQgdGhlIERyTG9jYXRvciB0YWJsZXMuJyksCi0odSdCaW5kSW1hZ2UnLCB1J0ZpbGVfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdGaWxlJywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdUaGUgaW5kZXggaW50byB0aGUgRmlsZSB0YWJsZS4gVGhpcyBtdXN0IGJlIGFuIGV4ZWN1dGFibGUgZmlsZS4nKSwKLSh1J0JpbmRJbWFnZScsIHUnUGF0aCcsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnUGF0aHMnLCBOb25lLCB1J0EgbGlzdCBvZiA7ICBkZWxpbWl0ZWQgcGF0aHMgdGhhdCByZXByZXNlbnQgdGhlIHBhdGhzIHRvIGJlIHNlYXJjaGVkIGZvciB0aGUgaW1wb3J0IERMTFMuIFRoZSBsaXN0IGlzIHVzdWFsbHkgYSBsaXN0IG9mIHByb3BlcnRpZXMgZWFjaCBlbmNsb3NlZCB3aXRoaW4gc3F1YXJlIGJyYWNrZXRzIFtdIC4nKSwKLSh1J0NDUFNlYXJjaCcsIHUnU2lnbmF0dXJlXycsIHUnTicsIE5vbmUsIE5vbmUsIHUnU2lnbmF0dXJlO1JlZ0xvY2F0b3I7SW5pTG9jYXRvcjtEckxvY2F0b3I7Q29tcExvY2F0b3InLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1RoZSBTaWduYXR1cmVfIHJlcHJlc2VudHMgYSB1bmlxdWUgZmlsZSBzaWduYXR1cmUgYW5kIGlzIGFsc28gdGhlIGZvcmVpZ24ga2V5IGluIHRoZSBTaWduYXR1cmUsICBSZWdMb2NhdG9yLCBJbmlMb2NhdG9yLCBDb21wTG9jYXRvciBhbmQgdGhlIERyTG9jYXRvciB0YWJsZXMuJyksCi0odSdJbnN0YWxsVUlTZXF1ZW5jZScsIHUnQWN0aW9uJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdOYW1lIG9mIGFjdGlvbiB0byBpbnZva2UsIGVpdGhlciBpbiB0aGUgZW5naW5lIG9yIHRoZSBoYW5kbGVyIERMTC4nKSwKLSh1J0luc3RhbGxVSVNlcXVlbmNlJywgdSdTZXF1ZW5jZScsIHUnWScsIC00LCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdOdW1iZXIgdGhhdCBkZXRlcm1pbmVzIHRoZSBzb3J0IG9yZGVyIGluIHdoaWNoIHRoZSBhY3Rpb25zIGFyZSB0byBiZSBleGVjdXRlZC4gIExlYXZlIGJsYW5rIHRvIHN1cHByZXNzIGFjdGlvbi4nKSwKLSh1J0luc3RhbGxVSVNlcXVlbmNlJywgdSdDb25kaXRpb24nLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0NvbmRpdGlvbicsIE5vbmUsIHUnT3B0aW9uYWwgZXhwcmVzc2lvbiB3aGljaCBza2lwcyB0aGUgYWN0aW9uIGlmIGV2YWx1YXRlcyB0byBleHBGYWxzZS5JZiB0aGUgZXhwcmVzc2lvbiBzeW50YXggaXMgaW52YWxpZCwgdGhlIGVuZ2luZSB3aWxsIHRlcm1pbmF0ZSwgcmV0dXJuaW5nIGllc0JhZEFjdGlvbkRhdGEuJyksCi0odSdMaXN0VmlldycsIHUnVGV4dCcsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIHUnVGhlIHZpc2libGUgdGV4dCB0byBiZSBhc3NpZ25lZCB0byB0aGUgaXRlbS4gT3B0aW9uYWwuIElmIHRoaXMgZW50cnkgb3IgdGhlIGVudGlyZSBjb2x1bW4gaXMgbWlzc2luZywgdGhlIHRleHQgaXMgdGhlIHNhbWUgYXMgdGhlIHZhbHVlLicpLAotKHUnTGlzdFZpZXcnLCB1J1Byb3BlcnR5JywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdBIG5hbWVkIHByb3BlcnR5IHRvIGJlIHRpZWQgdG8gdGhpcyBpdGVtLiBBbGwgdGhlIGl0ZW1zIHRpZWQgdG8gdGhlIHNhbWUgcHJvcGVydHkgYmVjb21lIHBhcnQgb2YgdGhlIHNhbWUgbGlzdHZpZXcuJyksCi0odSdMaXN0VmlldycsIHUnVmFsdWUnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1RoZSB2YWx1ZSBzdHJpbmcgYXNzb2NpYXRlZCB3aXRoIHRoaXMgaXRlbS4gU2VsZWN0aW5nIHRoZSBsaW5lIHdpbGwgc2V0IHRoZSBhc3NvY2lhdGVkIHByb3BlcnR5IHRvIHRoaXMgdmFsdWUuJyksCi0odSdMaXN0VmlldycsIHUnT3JkZXInLCB1J04nLCAxLCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdBIHBvc2l0aXZlIGludGVnZXIgdXNlZCB0byBkZXRlcm1pbmUgdGhlIG9yZGVyaW5nIG9mIHRoZSBpdGVtcyB3aXRoaW4gb25lIGxpc3QuLlRoZSBpbnRlZ2VycyBkbyBub3QgaGF2ZSB0byBiZSBjb25zZWN1dGl2ZS4nKSwKLSh1J0xpc3RWaWV3JywgdSdCaW5hcnlfJywgdSdZJywgTm9uZSwgTm9uZSwgdSdCaW5hcnknLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1RoZSBuYW1lIG9mIHRoZSBpY29uIHRvIGJlIGRpc3BsYXllZCB3aXRoIHRoZSBpY29uLiBUaGUgYmluYXJ5IGluZm9ybWF0aW9uIGlzIGxvb2tlZCB1cCBmcm9tIHRoZSBCaW5hcnkgVGFibGUuJyksCi0odSdSYWRpb0J1dHRvbicsIHUnWCcsIHUnTicsIDAsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSBob3Jpem9udGFsIGNvb3JkaW5hdGUgb2YgdGhlIHVwcGVyIGxlZnQgY29ybmVyIG9mIHRoZSBib3VuZGluZyByZWN0YW5nbGUgb2YgdGhlIHJhZGlvIGJ1dHRvbi4nKSwKLSh1J1JhZGlvQnV0dG9uJywgdSdZJywgdSdOJywgMCwgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGhlIHZlcnRpY2FsIGNvb3JkaW5hdGUgb2YgdGhlIHVwcGVyIGxlZnQgY29ybmVyIG9mIHRoZSBib3VuZGluZyByZWN0YW5nbGUgb2YgdGhlIHJhZGlvIGJ1dHRvbi4nKSwKLSh1J1JhZGlvQnV0dG9uJywgdSdXaWR0aCcsIHUnTicsIDAsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSB3aWR0aCBvZiB0aGUgYnV0dG9uLicpLAotKHUnUmFkaW9CdXR0b24nLCB1J0hlaWdodCcsIHUnTicsIDAsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSBoZWlnaHQgb2YgdGhlIGJ1dHRvbi4nKSwKLSh1J1JhZGlvQnV0dG9uJywgdSdUZXh0JywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgdSdUaGUgdmlzaWJsZSB0aXRsZSB0byBiZSBhc3NpZ25lZCB0byB0aGUgcmFkaW8gYnV0dG9uLicpLAotKHUnUmFkaW9CdXR0b24nLCB1J1Byb3BlcnR5JywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdBIG5hbWVkIHByb3BlcnR5IHRvIGJlIHRpZWQgdG8gdGhpcyByYWRpbyBidXR0b24uIEFsbCB0aGUgYnV0dG9ucyB0aWVkIHRvIHRoZSBzYW1lIHByb3BlcnR5IGJlY29tZSBwYXJ0IG9mIHRoZSBzYW1lIGdyb3VwLicpLAotKHUnUmFkaW9CdXR0b24nLCB1J1ZhbHVlJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLCBOb25lLCB1J1RoZSB2YWx1ZSBzdHJpbmcgYXNzb2NpYXRlZCB3aXRoIHRoaXMgYnV0dG9uLiBTZWxlY3RpbmcgdGhlIGJ1dHRvbiB3aWxsIHNldCB0aGUgYXNzb2NpYXRlZCBwcm9wZXJ0eSB0byB0aGlzIHZhbHVlLicpLAotKHUnUmFkaW9CdXR0b24nLCB1J09yZGVyJywgdSdOJywgMSwgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQSBwb3NpdGl2ZSBpbnRlZ2VyIHVzZWQgdG8gZGV0ZXJtaW5lIHRoZSBvcmRlcmluZyBvZiB0aGUgaXRlbXMgd2l0aGluIG9uZSBsaXN0Li5UaGUgaW50ZWdlcnMgZG8gbm90IGhhdmUgdG8gYmUgY29uc2VjdXRpdmUuJyksCi0odSdSYWRpb0J1dHRvbicsIHUnSGVscCcsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIHUnVGhlIGhlbHAgc3RyaW5ncyB1c2VkIHdpdGggdGhlIGJ1dHRvbi4gVGhlIHRleHQgaXMgb3B0aW9uYWwuJyksCi0odSdUZXh0U3R5bGUnLCB1J1RleHRTdHlsZScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnTmFtZSBvZiB0aGUgc3R5bGUuIFRoZSBwcmltYXJ5IGtleSBvZiB0aGlzIHRhYmxlLiBUaGlzIG5hbWUgaXMgZW1iZWRkZWQgaW4gdGhlIHRleHRzIHRvIGluZGljYXRlIGEgc3R5bGUgY2hhbmdlLicpLAotKHUnVGV4dFN0eWxlJywgdSdGYWNlTmFtZScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIHUnQSBzdHJpbmcgaW5kaWNhdGluZyB0aGUgbmFtZSBvZiB0aGUgZm9udCB1c2VkLiBSZXF1aXJlZC4gVGhlIHN0cmluZyBtdXN0IGJlIGF0IG1vc3QgMzEgY2hhcmFjdGVycyBsb25nLicpLAotKHUnVGV4dFN0eWxlJywgdSdTaXplJywgdSdOJywgMCwgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGhlIHNpemUgb2YgdGhlIGZvbnQgdXNlZC4gVGhpcyBzaXplIGlzIGdpdmVuIGluIG91ciB1bml0cyAoMS8xMiBvZiB0aGUgc3lzdGVtIGZvbnQgaGVpZ2h0KS4gQXNzdW1pbmcgdGhhdCB0aGUgc3lzdGVtIGZvbnQgaXMgc2V0IHRvIDEyIHBvaW50IHNpemUsIHRoaXMgaXMgZXF1aXZhbGVudCB0byB0aGUgcG9pbnQgc2l6ZS4nKSwKLSh1J1RleHRTdHlsZScsIHUnQ29sb3InLCB1J1knLCAwLCAxNjc3NzIxNSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdBIGxvbmcgaW50ZWdlciBpbmRpY2F0aW5nIHRoZSBjb2xvciBvZiB0aGUgc3RyaW5nIGluIHRoZSBSR0IgZm9ybWF0IChSZWQsIEdyZWVuLCBCbHVlIGVhY2ggMC0yNTUsIFJHQiA9IFIgKyAyNTYqRyArIDI1Nl4yKkIpLicpLAotKHUnVGV4dFN0eWxlJywgdSdTdHlsZUJpdHMnLCB1J1knLCAwLCAxNSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdBIGNvbWJpbmF0aW9uIG9mIHN0eWxlIGJpdHMuJyksCi0odSdVSVRleHQnLCB1J1RleHQnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCB1J1RoZSBsb2NhbGl6ZWQgdmVyc2lvbiBvZiB0aGUgc3RyaW5nLicpLAotKHUnVUlUZXh0JywgdSdLZXknLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0EgdW5pcXVlIGtleSB0aGF0IGlkZW50aWZpZXMgdGhlIHBhcnRpY3VsYXIgc3RyaW5nLicpLAotKHUnX1ZhbGlkYXRpb24nLCB1J1RhYmxlJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdOYW1lIG9mIHRhYmxlJyksCi0odSdfVmFsaWRhdGlvbicsIHUnRGVzY3JpcHRpb24nLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCB1J0Rlc2NyaXB0aW9uIG9mIGNvbHVtbicpLAotKHUnX1ZhbGlkYXRpb24nLCB1J0NvbHVtbicsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnTmFtZSBvZiBjb2x1bW4nKSwKLSh1J19WYWxpZGF0aW9uJywgdSdOdWxsYWJsZScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnWTtOO0AnLCB1J1doZXRoZXIgdGhlIGNvbHVtbiBpcyBudWxsYWJsZScpLAotKHUnX1ZhbGlkYXRpb24nLCB1J01pblZhbHVlJywgdSdZJywgLTIxNDc0ODM2NDcsIDIxNDc0ODM2NDcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnTWluaW11bSB2YWx1ZSBhbGxvd2VkJyksCi0odSdfVmFsaWRhdGlvbicsIHUnTWF4VmFsdWUnLCB1J1knLCAtMjE0NzQ4MzY0NywgMjE0NzQ4MzY0NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdNYXhpbXVtIHZhbHVlIGFsbG93ZWQnKSwKLSh1J19WYWxpZGF0aW9uJywgdSdLZXlUYWJsZScsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnRm9yIGZvcmVpZ24ga2V5LCBOYW1lIG9mIHRhYmxlIHRvIHdoaWNoIGRhdGEgbXVzdCBsaW5rJyksCi0odSdfVmFsaWRhdGlvbicsIHUnS2V5Q29sdW1uJywgdSdZJywgMSwgMzIsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQ29sdW1uIHRvIHdoaWNoIGZvcmVpZ24ga2V5IGNvbm5lY3RzJyksCi0odSdfVmFsaWRhdGlvbicsIHUnQ2F0ZWdvcnknLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQ7Rm9ybWF0dGVkO1RlbXBsYXRlO0NvbmRpdGlvbjtHdWlkO1BhdGg7VmVyc2lvbjtMYW5ndWFnZTtJZGVudGlmaWVyO0JpbmFyeTtVcHBlckNhc2U7TG93ZXJDYXNlO0ZpbGVuYW1lO1BhdGhzO0FueVBhdGg7V2lsZENhcmRGaWxlbmFtZTtSZWdQYXRoO0tleUZvcm1hdHRlZDtDdXN0b21Tb3VyY2U7UHJvcGVydHk7Q2FiaW5ldDtTaG9ydGN1dDtVUkwnLCB1J1N0cmluZyBjYXRlZ29yeScpLAotKHUnX1ZhbGlkYXRpb24nLCB1J1NldCcsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIHUnU2V0IG9mIHZhbHVlcyB0aGF0IGFyZSBwZXJtaXR0ZWQnKSwKLSh1J0FkdnRVSVNlcXVlbmNlJywgdSdBY3Rpb24nLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J05hbWUgb2YgYWN0aW9uIHRvIGludm9rZSwgZWl0aGVyIGluIHRoZSBlbmdpbmUgb3IgdGhlIGhhbmRsZXIgRExMLicpLAotKHUnQWR2dFVJU2VxdWVuY2UnLCB1J1NlcXVlbmNlJywgdSdZJywgLTQsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J051bWJlciB0aGF0IGRldGVybWluZXMgdGhlIHNvcnQgb3JkZXIgaW4gd2hpY2ggdGhlIGFjdGlvbnMgYXJlIHRvIGJlIGV4ZWN1dGVkLiAgTGVhdmUgYmxhbmsgdG8gc3VwcHJlc3MgYWN0aW9uLicpLAotKHUnQWR2dFVJU2VxdWVuY2UnLCB1J0NvbmRpdGlvbicsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQ29uZGl0aW9uJywgTm9uZSwgdSdPcHRpb25hbCBleHByZXNzaW9uIHdoaWNoIHNraXBzIHRoZSBhY3Rpb24gaWYgZXZhbHVhdGVzIHRvIGV4cEZhbHNlLklmIHRoZSBleHByZXNzaW9uIHN5bnRheCBpcyBpbnZhbGlkLCB0aGUgZW5naW5lIHdpbGwgdGVybWluYXRlLCByZXR1cm5pbmcgaWVzQmFkQWN0aW9uRGF0YS4nKSwKLSh1J0FwcElkJywgdSdBcHBJZCcsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnR3VpZCcsIE5vbmUsIE5vbmUpLAotKHUnQXBwSWQnLCB1J0FjdGl2YXRlQXRTdG9yYWdlJywgdSdZJywgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdBcHBJZCcsIHUnRGxsU3Vycm9nYXRlJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgTm9uZSksCi0odSdBcHBJZCcsIHUnTG9jYWxTZXJ2aWNlJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgTm9uZSksCi0odSdBcHBJZCcsIHUnUmVtb3RlU2VydmVyTmFtZScsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJywgTm9uZSwgTm9uZSksCi0odSdBcHBJZCcsIHUnUnVuQXNJbnRlcmFjdGl2ZVVzZXInLCB1J1knLCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J0FwcElkJywgdSdTZXJ2aWNlUGFyYW1ldGVycycsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIE5vbmUpLAotKHUnRmVhdHVyZScsIHUnQXR0cmlidXRlcycsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnMDsxOzI7NDs1OzY7ODs5OzEwOzE2OzE3OzE4OzIwOzIxOzIyOzI0OzI1OzI2OzMyOzMzOzM0OzM2OzM3OzM4OzQ4OzQ5OzUwOzUyOzUzOzU0JywgdSdGZWF0dXJlIGF0dHJpYnV0ZXMnKSwKLSh1J0ZlYXR1cmUnLCB1J0Rlc2NyaXB0aW9uJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgdSdMb25nZXIgZGVzY3JpcHRpdmUgdGV4dCBkZXNjcmliaW5nIGEgdmlzaWJsZSBmZWF0dXJlIGl0ZW0uJyksCi0odSdGZWF0dXJlJywgdSdUaXRsZScsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIHUnU2hvcnQgdGV4dCBpZGVudGlmeWluZyBhIHZpc2libGUgZmVhdHVyZSBpdGVtLicpLAotKHUnRmVhdHVyZScsIHUnRmVhdHVyZScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnUHJpbWFyeSBrZXkgdXNlZCB0byBpZGVudGlmeSBhIHBhcnRpY3VsYXIgZmVhdHVyZSByZWNvcmQuJyksCi0odSdGZWF0dXJlJywgdSdEaXJlY3RvcnlfJywgdSdZJywgTm9uZSwgTm9uZSwgdSdEaXJlY3RvcnknLCAxLCB1J1VwcGVyQ2FzZScsIE5vbmUsIHUnVGhlIG5hbWUgb2YgdGhlIERpcmVjdG9yeSB0aGF0IGNhbiBiZSBjb25maWd1cmVkIGJ5IHRoZSBVSS4gQSBub24tbnVsbCB2YWx1ZSB3aWxsIGVuYWJsZSB0aGUgYnJvd3NlIGJ1dHRvbi4nKSwKLSh1J0ZlYXR1cmUnLCB1J0xldmVsJywgdSdOJywgMCwgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGhlIGluc3RhbGwgbGV2ZWwgYXQgd2hpY2ggcmVjb3JkIHdpbGwgYmUgaW5pdGlhbGx5IHNlbGVjdGVkLiBBbiBpbnN0YWxsIGxldmVsIG9mIDAgd2lsbCBkaXNhYmxlIGFuIGl0ZW0gYW5kIHByZXZlbnQgaXRzIGRpc3BsYXkuJyksCi0odSdGZWF0dXJlJywgdSdEaXNwbGF5JywgdSdZJywgMCwgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnTnVtZXJpYyBzb3J0IG9yZGVyLCB1c2VkIHRvIGZvcmNlIGEgc3BlY2lmaWMgZGlzcGxheSBvcmRlcmluZy4nKSwKLSh1J0ZlYXR1cmUnLCB1J0ZlYXR1cmVfUGFyZW50JywgdSdZJywgTm9uZSwgTm9uZSwgdSdGZWF0dXJlJywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdPcHRpb25hbCBrZXkgb2YgYSBwYXJlbnQgcmVjb3JkIGluIHRoZSBzYW1lIHRhYmxlLiBJZiB0aGUgcGFyZW50IGlzIG5vdCBzZWxlY3RlZCwgdGhlbiB0aGUgcmVjb3JkIHdpbGwgbm90IGJlIGluc3RhbGxlZC4gTnVsbCBpbmRpY2F0ZXMgYSByb290IGl0ZW0uJyksCi0odSdGaWxlJywgdSdTZXF1ZW5jZScsIHUnTicsIDEsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1NlcXVlbmNlIHdpdGggcmVzcGVjdCB0byB0aGUgbWVkaWEgaW1hZ2VzOyBvcmRlciBtdXN0IHRyYWNrIGNhYmluZXQgb3JkZXIuJyksCi0odSdGaWxlJywgdSdBdHRyaWJ1dGVzJywgdSdZJywgMCwgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSW50ZWdlciBjb250YWluaW5nIGJpdCBmbGFncyByZXByZXNlbnRpbmcgZmlsZSBhdHRyaWJ1dGVzICh3aXRoIHRoZSBkZWNpbWFsIHZhbHVlIG9mIGVhY2ggYml0IHBvc2l0aW9uIGluIHBhcmVudGhlc2VzKScpLAotKHUnRmlsZScsIHUnRmlsZScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnUHJpbWFyeSBrZXksIG5vbi1sb2NhbGl6ZWQgdG9rZW4sIG11c3QgbWF0Y2ggaWRlbnRpZmllciBpbiBjYWJpbmV0LiAgRm9yIHVuY29tcHJlc3NlZCBmaWxlcywgdGhpcyBmaWVsZCBpcyBpZ25vcmVkLicpLAotKHUnRmlsZScsIHUnQ29tcG9uZW50XycsIHUnTicsIE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdGb3JlaWduIGtleSByZWZlcmVuY2luZyBDb21wb25lbnQgdGhhdCBjb250cm9scyB0aGUgZmlsZS4nKSwKLSh1J0ZpbGUnLCB1J0ZpbGVOYW1lJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGaWxlbmFtZScsIE5vbmUsIHUnRmlsZSBuYW1lIHVzZWQgZm9yIGluc3RhbGxhdGlvbiwgbWF5IGJlIGxvY2FsaXplZC4gIFRoaXMgbWF5IGNvbnRhaW4gYSAic2hvcnQgbmFtZXxsb25nIG5hbWUiIHBhaXIuJyksCi0odSdGaWxlJywgdSdGaWxlU2l6ZScsIHUnTicsIDAsIDIxNDc0ODM2NDcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnU2l6ZSBvZiBmaWxlIGluIGJ5dGVzIChsb25nIGludGVnZXIpLicpLAotKHUnRmlsZScsIHUnTGFuZ3VhZ2UnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0xhbmd1YWdlJywgTm9uZSwgdSdMaXN0IG9mIGRlY2ltYWwgbGFuZ3VhZ2UgSWRzLCBjb21tYS1zZXBhcmF0ZWQgaWYgbW9yZSB0aGFuIG9uZS4nKSwKLSh1J0ZpbGUnLCB1J1ZlcnNpb24nLCB1J1knLCBOb25lLCBOb25lLCB1J0ZpbGUnLCAxLCB1J1ZlcnNpb24nLCBOb25lLCB1J1ZlcnNpb24gc3RyaW5nIGZvciB2ZXJzaW9uZWQgZmlsZXM7ICBCbGFuayBmb3IgdW52ZXJzaW9uZWQgZmlsZXMuJyksCi0odSdDbGFzcycsIHUnQXR0cmlidXRlcycsIHUnWScsIE5vbmUsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0NsYXNzIHJlZ2lzdHJhdGlvbiBhdHRyaWJ1dGVzLicpLAotKHUnQ2xhc3MnLCB1J0ZlYXR1cmVfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdGZWF0dXJlJywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdSZXF1aXJlZCBmb3JlaWduIGtleSBpbnRvIHRoZSBGZWF0dXJlIFRhYmxlLCBzcGVjaWZ5aW5nIHRoZSBmZWF0dXJlIHRvIHZhbGlkYXRlIG9yIGluc3RhbGwgaW4gb3JkZXIgZm9yIHRoZSBDTFNJRCBmYWN0b3J5IHRvIGJlIG9wZXJhdGlvbmFsLicpLAotKHUnQ2xhc3MnLCB1J0Rlc2NyaXB0aW9uJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgdSdMb2NhbGl6ZWQgZGVzY3JpcHRpb24gZm9yIHRoZSBDbGFzcy4nKSwKLSh1J0NsYXNzJywgdSdBcmd1bWVudCcsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJywgTm9uZSwgdSdvcHRpb25hbCBhcmd1bWVudCBmb3IgTG9jYWxTZXJ2ZXJzLicpLAotKHUnQ2xhc3MnLCB1J0FwcElkXycsIHUnWScsIE5vbmUsIE5vbmUsIHUnQXBwSWQnLCAxLCB1J0d1aWQnLCBOb25lLCB1J09wdGlvbmFsIEFwcElEIGNvbnRhaW5pbmcgRENPTSBpbmZvcm1hdGlvbiBmb3IgYXNzb2NpYXRlZCBhcHBsaWNhdGlvbiAoc3RyaW5nIEdVSUQpLicpLAotKHUnQ2xhc3MnLCB1J0NMU0lEJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdHdWlkJywgTm9uZSwgdSdUaGUgQ0xTSUQgb2YgYW4gT0xFIGZhY3RvcnkuJyksCi0odSdDbGFzcycsIHUnQ29tcG9uZW50XycsIHUnTicsIE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdSZXF1aXJlZCBmb3JlaWduIGtleSBpbnRvIHRoZSBDb21wb25lbnQgVGFibGUsIHNwZWNpZnlpbmcgdGhlIGNvbXBvbmVudCBmb3Igd2hpY2ggdG8gcmV0dXJuIGEgcGF0aCB3aGVuIGNhbGxlZCB0aHJvdWdoIExvY2F0ZUNvbXBvbmVudC4nKSwKLSh1J0NsYXNzJywgdSdDb250ZXh0JywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdUaGUgbnVtZXJpYyBzZXJ2ZXIgY29udGV4dCBmb3IgdGhpcyBzZXJ2ZXIuIENMU0NUWF94eHh4JyksCi0odSdDbGFzcycsIHUnRGVmSW5wcm9jSGFuZGxlcicsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRmlsZW5hbWUnLCB1JzE7MjszJywgdSdPcHRpb25hbCBkZWZhdWx0IGlucHJvYyBoYW5kbGVyLiAgT25seSBvcHRpb25hbGx5IHByb3ZpZGVkIGlmIENvbnRleHQ9Q0xTQ1RYX0xPQ0FMX1NFUlZFUi4gIFR5cGljYWxseSAib2xlMzIuZGxsIiBvciAibWFwaTMyLmRsbCInKSwKLSh1J0NsYXNzJywgdSdGaWxlVHlwZU1hc2snLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCB1J09wdGlvbmFsIHN0cmluZyBjb250YWluaW5nIGluZm9ybWF0aW9uIGZvciB0aGUgSEtDUnRoaXMgQ0xTSUQpIGtleS4gSWYgbXVsdGlwbGUgcGF0dGVybnMgZXhpc3QsIHRoZXkgbXVzdCBiZSBkZWxpbWl0ZWQgYnkgYSBzZW1pY29sb24sIGFuZCBudW1lcmljIHN1YmtleXMgd2lsbCBiZSBnZW5lcmF0ZWQ6IDAsMSwyLi4uJyksCi0odSdDbGFzcycsIHUnSWNvbl8nLCB1J1knLCBOb25lLCBOb25lLCB1J0ljb24nLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J09wdGlvbmFsIGZvcmVpZ24ga2V5IGludG8gdGhlIEljb24gVGFibGUsIHNwZWNpZnlpbmcgdGhlIGljb24gZmlsZSBhc3NvY2lhdGVkIHdpdGggdGhpcyBDTFNJRC4gV2lsbCBiZSB3cml0dGVuIHVuZGVyIHRoZSBEZWZhdWx0SWNvbiBrZXkuJyksCi0odSdDbGFzcycsIHUnSWNvbkluZGV4JywgdSdZJywgLTMyNzY3LCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdPcHRpb25hbCBpY29uIGluZGV4LicpLAotKHUnQ2xhc3MnLCB1J1Byb2dJZF9EZWZhdWx0JywgdSdZJywgTm9uZSwgTm9uZSwgdSdQcm9nSWQnLCAxLCB1J1RleHQnLCBOb25lLCB1J09wdGlvbmFsIFByb2dJZCBhc3NvY2lhdGVkIHdpdGggdGhpcyBDTFNJRC4nKSwKLSh1J0NvbXBvbmVudCcsIHUnQ29uZGl0aW9uJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdDb25kaXRpb24nLCBOb25lLCB1IkEgY29uZGl0aW9uYWwgc3RhdGVtZW50IHRoYXQgd2lsbCBkaXNhYmxlIHRoaXMgY29tcG9uZW50IGlmIHRoZSBzcGVjaWZpZWQgY29uZGl0aW9uIGV2YWx1YXRlcyB0byB0aGUgJ1RydWUnIHN0YXRlLiBJZiBhIGNvbXBvbmVudCBpcyBkaXNhYmxlZCwgaXQgd2lsbCBub3QgYmUgaW5zdGFsbGVkLCByZWdhcmRsZXNzIG9mIHRoZSAnQWN0aW9uJyBzdGF0ZSBhc3NvY2lhdGVkIHdpdGggdGhlIGNvbXBvbmVudC4iKSwKLSh1J0NvbXBvbmVudCcsIHUnQXR0cmlidXRlcycsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnUmVtb3RlIGV4ZWN1dGlvbiBvcHRpb24sIG9uZSBvZiBpcnNFbnVtJyksCi0odSdDb21wb25lbnQnLCB1J0NvbXBvbmVudCcsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnUHJpbWFyeSBrZXkgdXNlZCB0byBpZGVudGlmeSBhIHBhcnRpY3VsYXIgY29tcG9uZW50IHJlY29yZC4nKSwKLSh1J0NvbXBvbmVudCcsIHUnQ29tcG9uZW50SWQnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0d1aWQnLCBOb25lLCB1J0Egc3RyaW5nIEdVSUQgdW5pcXVlIHRvIHRoaXMgY29tcG9uZW50LCB2ZXJzaW9uLCBhbmQgbGFuZ3VhZ2UuJyksCi0odSdDb21wb25lbnQnLCB1J0RpcmVjdG9yeV8nLCB1J04nLCBOb25lLCBOb25lLCB1J0RpcmVjdG9yeScsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnUmVxdWlyZWQga2V5IG9mIGEgRGlyZWN0b3J5IHRhYmxlIHJlY29yZC4gVGhpcyBpcyBhY3R1YWxseSBhIHByb3BlcnR5IG5hbWUgd2hvc2UgdmFsdWUgY29udGFpbnMgdGhlIGFjdHVhbCBwYXRoLCBzZXQgZWl0aGVyIGJ5IHRoZSBBcHBTZWFyY2ggYWN0aW9uIG9yIHdpdGggdGhlIGRlZmF1bHQgc2V0dGluZyBvYnRhaW5lZCBmcm9tIHRoZSBEaXJlY3RvcnkgdGFibGUuJyksCi0odSdDb21wb25lbnQnLCB1J0tleVBhdGgnLCB1J1knLCBOb25lLCBOb25lLCB1J0ZpbGU7UmVnaXN0cnk7T0RCQ0RhdGFTb3VyY2UnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0VpdGhlciB0aGUgcHJpbWFyeSBrZXkgaW50byB0aGUgRmlsZSB0YWJsZSwgUmVnaXN0cnkgdGFibGUsIG9yIE9EQkNEYXRhU291cmNlIHRhYmxlLiBUaGlzIGV4dHJhY3QgcGF0aCBpcyBzdG9yZWQgd2hlbiB0aGUgY29tcG9uZW50IGlzIGluc3RhbGxlZCwgYW5kIGlzIHVzZWQgdG8gZGV0ZWN0IHRoZSBwcmVzZW5jZSBvZiB0aGUgY29tcG9uZW50IGFuZCB0byByZXR1cm4gdGhlIHBhdGggdG8gaXQuJyksCi0odSdQcm9nSWQnLCB1J0Rlc2NyaXB0aW9uJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgdSdMb2NhbGl6ZWQgZGVzY3JpcHRpb24gZm9yIHRoZSBQcm9ncmFtIGlkZW50aWZpZXIuJyksCi0odSdQcm9nSWQnLCB1J0ljb25fJywgdSdZJywgTm9uZSwgTm9uZSwgdSdJY29uJywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdPcHRpb25hbCBmb3JlaWduIGtleSBpbnRvIHRoZSBJY29uIFRhYmxlLCBzcGVjaWZ5aW5nIHRoZSBpY29uIGZpbGUgYXNzb2NpYXRlZCB3aXRoIHRoaXMgUHJvZ0lkLiBXaWxsIGJlIHdyaXR0ZW4gdW5kZXIgdGhlIERlZmF1bHRJY29uIGtleS4nKSwKLSh1J1Byb2dJZCcsIHUnSWNvbkluZGV4JywgdSdZJywgLTMyNzY3LCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdPcHRpb25hbCBpY29uIGluZGV4LicpLAotKHUnUHJvZ0lkJywgdSdQcm9nSWQnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCB1J1RoZSBQcm9ncmFtIElkZW50aWZpZXIuIFByaW1hcnkga2V5LicpLAotKHUnUHJvZ0lkJywgdSdDbGFzc18nLCB1J1knLCBOb25lLCBOb25lLCB1J0NsYXNzJywgMSwgdSdHdWlkJywgTm9uZSwgdSdUaGUgQ0xTSUQgb2YgYW4gT0xFIGZhY3RvcnkgY29ycmVzcG9uZGluZyB0byB0aGUgUHJvZ0lkLicpLAotKHUnUHJvZ0lkJywgdSdQcm9nSWRfUGFyZW50JywgdSdZJywgTm9uZSwgTm9uZSwgdSdQcm9nSWQnLCAxLCB1J1RleHQnLCBOb25lLCB1J1RoZSBQYXJlbnQgUHJvZ3JhbSBJZGVudGlmaWVyLiBJZiBzcGVjaWZpZWQsIHRoZSBQcm9nSWQgY29sdW1uIGJlY29tZXMgYSB2ZXJzaW9uIGluZGVwZW5kZW50IHByb2cgaWQuJyksCi0odSdDb21wTG9jYXRvcicsIHUnVHlwZScsIHUnWScsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQSBib29sZWFuIHZhbHVlIHRoYXQgZGV0ZXJtaW5lcyBpZiB0aGUgcmVnaXN0cnkgdmFsdWUgaXMgYSBmaWxlbmFtZSBvciBhIGRpcmVjdG9yeSBsb2NhdGlvbi4nKSwKLSh1J0NvbXBMb2NhdG9yJywgdSdTaWduYXR1cmVfJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdUaGUgdGFibGUga2V5LiBUaGUgU2lnbmF0dXJlXyByZXByZXNlbnRzIGEgdW5pcXVlIGZpbGUgc2lnbmF0dXJlIGFuZCBpcyBhbHNvIHRoZSBmb3JlaWduIGtleSBpbiB0aGUgU2lnbmF0dXJlIHRhYmxlLicpLAotKHUnQ29tcExvY2F0b3InLCB1J0NvbXBvbmVudElkJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdHdWlkJywgTm9uZSwgdSdBIHN0cmluZyBHVUlEIHVuaXF1ZSB0byB0aGlzIGNvbXBvbmVudCwgdmVyc2lvbiwgYW5kIGxhbmd1YWdlLicpLAotKHUnQ29tcGx1cycsIHUnQ29tcG9uZW50XycsIHUnTicsIE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdGb3JlaWduIGtleSByZWZlcmVuY2luZyBDb21wb25lbnQgdGhhdCBjb250cm9scyB0aGUgQ29tUGx1cyBjb21wb25lbnQuJyksCi0odSdDb21wbHVzJywgdSdFeHBUeXBlJywgdSdZJywgMCwgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQ29tUGx1cyBjb21wb25lbnQgYXR0cmlidXRlcy4nKSwKLSh1J0RpcmVjdG9yeScsIHUnRGlyZWN0b3J5JywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdVbmlxdWUgaWRlbnRpZmllciBmb3IgZGlyZWN0b3J5IGVudHJ5LCBwcmltYXJ5IGtleS4gSWYgYSBwcm9wZXJ0eSBieSB0aGlzIG5hbWUgaXMgZGVmaW5lZCwgaXQgY29udGFpbnMgdGhlIGZ1bGwgcGF0aCB0byB0aGUgZGlyZWN0b3J5LicpLAotKHUnRGlyZWN0b3J5JywgdSdEZWZhdWx0RGlyJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdEZWZhdWx0RGlyJywgTm9uZSwgdSJUaGUgZGVmYXVsdCBzdWItcGF0aCB1bmRlciBwYXJlbnQncyBwYXRoLiIpLAotKHUnRGlyZWN0b3J5JywgdSdEaXJlY3RvcnlfUGFyZW50JywgdSdZJywgTm9uZSwgTm9uZSwgdSdEaXJlY3RvcnknLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1JlZmVyZW5jZSB0byB0aGUgZW50cnkgaW4gdGhpcyB0YWJsZSBzcGVjaWZ5aW5nIHRoZSBkZWZhdWx0IHBhcmVudCBkaXJlY3RvcnkuIEEgcmVjb3JkIHBhcmVudGVkIHRvIGl0c2VsZiBvciB3aXRoIGEgTnVsbCBwYXJlbnQgcmVwcmVzZW50cyBhIHJvb3Qgb2YgdGhlIGluc3RhbGwgdHJlZS4nKSwKLSh1J0NyZWF0ZUZvbGRlcicsIHUnQ29tcG9uZW50XycsIHUnTicsIE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdGb3JlaWduIGtleSBpbnRvIHRoZSBDb21wb25lbnQgdGFibGUuJyksCi0odSdDcmVhdGVGb2xkZXInLCB1J0RpcmVjdG9yeV8nLCB1J04nLCBOb25lLCBOb25lLCB1J0RpcmVjdG9yeScsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnUHJpbWFyeSBrZXksIGNvdWxkIGJlIGZvcmVpZ24ga2V5IGludG8gdGhlIERpcmVjdG9yeSB0YWJsZS4nKSwKLSh1J0N1c3RvbUFjdGlvbicsIHUnVHlwZScsIHUnTicsIDEsIDE2MzgzLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSBudW1lcmljIGN1c3RvbSBhY3Rpb24gdHlwZSwgY29uc2lzdGluZyBvZiBzb3VyY2UgbG9jYXRpb24sIGNvZGUgdHlwZSwgZW50cnksIG9wdGlvbiBmbGFncy4nKSwKLSh1J0N1c3RvbUFjdGlvbicsIHUnQWN0aW9uJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdQcmltYXJ5IGtleSwgbmFtZSBvZiBhY3Rpb24sIG5vcm1hbGx5IGFwcGVhcnMgaW4gc2VxdWVuY2UgdGFibGUgdW5sZXNzIHByaXZhdGUgdXNlLicpLAotKHUnQ3VzdG9tQWN0aW9uJywgdSdTb3VyY2UnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0N1c3RvbVNvdXJjZScsIE5vbmUsIHUnVGhlIHRhYmxlIHJlZmVyZW5jZSBvZiB0aGUgc291cmNlIG9mIHRoZSBjb2RlLicpLAotKHUnQ3VzdG9tQWN0aW9uJywgdSdUYXJnZXQnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsIE5vbmUsIHUnRXhjZWN1dGlvbiBwYXJhbWV0ZXIsIGRlcGVuZHMgb24gdGhlIHR5cGUgb2YgY3VzdG9tIGFjdGlvbicpLAotKHUnRHJMb2NhdG9yJywgdSdTaWduYXR1cmVfJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdUaGUgU2lnbmF0dXJlXyByZXByZXNlbnRzIGEgdW5pcXVlIGZpbGUgc2lnbmF0dXJlIGFuZCBpcyBhbHNvIHRoZSBmb3JlaWduIGtleSBpbiB0aGUgU2lnbmF0dXJlIHRhYmxlLicpLAotKHUnRHJMb2NhdG9yJywgdSdQYXRoJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdBbnlQYXRoJywgTm9uZSwgdSdUaGUgcGF0aCBvbiB0aGUgdXNlciBzeXN0ZW0uIFRoaXMgaXMgYSBlaXRoZXIgYSBzdWJwYXRoIGJlbG93IHRoZSB2YWx1ZSBvZiB0aGUgUGFyZW50IG9yIGEgZnVsbCBwYXRoLiBUaGUgcGF0aCBtYXkgY29udGFpbiBwcm9wZXJ0aWVzIGVuY2xvc2VkIHdpdGhpbiBbIF0gdGhhdCB3aWxsIGJlIGV4cGFuZGVkLicpLAotKHUnRHJMb2NhdG9yJywgdSdEZXB0aCcsIHUnWScsIDAsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSBkZXB0aCBiZWxvdyB0aGUgcGF0aCB0byB3aGljaCB0aGUgU2lnbmF0dXJlXyBpcyByZWN1cnNpdmVseSBzZWFyY2hlZC4gSWYgYWJzZW50LCB0aGUgZGVwdGggaXMgYXNzdW1lZCB0byBiZSAwLicpLAotKHUnRHJMb2NhdG9yJywgdSdQYXJlbnQnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1RoZSBwYXJlbnQgZmlsZSBzaWduYXR1cmUuIEl0IGlzIGFsc28gYSBmb3JlaWduIGtleSBpbiB0aGUgU2lnbmF0dXJlIHRhYmxlLiBJZiBudWxsIGFuZCB0aGUgUGF0aCBjb2x1bW4gZG9lcyBub3QgZXhwYW5kIHRvIGEgZnVsbCBwYXRoLCB0aGVuIGFsbCB0aGUgZml4ZWQgZHJpdmVzIG9mIHRoZSB1c2VyIHN5c3RlbSBhcmUgc2VhcmNoZWQgdXNpbmcgdGhlIFBhdGguJyksCi0odSdEdXBsaWNhdGVGaWxlJywgdSdGaWxlXycsIHUnTicsIE5vbmUsIE5vbmUsIHUnRmlsZScsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnRm9yZWlnbiBrZXkgcmVmZXJlbmNpbmcgdGhlIHNvdXJjZSBmaWxlIHRvIGJlIGR1cGxpY2F0ZWQuJyksCi0odSdEdXBsaWNhdGVGaWxlJywgdSdDb21wb25lbnRfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0ZvcmVpZ24ga2V5IHJlZmVyZW5jaW5nIENvbXBvbmVudCB0aGF0IGNvbnRyb2xzIHRoZSBkdXBsaWNhdGUgZmlsZS4nKSwKLSh1J0R1cGxpY2F0ZUZpbGUnLCB1J0Rlc3RGb2xkZXInLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J05hbWUgb2YgYSBwcm9wZXJ0eSB3aG9zZSB2YWx1ZSBpcyBhc3N1bWVkIHRvIHJlc29sdmUgdG8gdGhlIGZ1bGwgcGF0aG5hbWUgdG8gYSBkZXN0aW5hdGlvbiBmb2xkZXIuJyksCi0odSdEdXBsaWNhdGVGaWxlJywgdSdEZXN0TmFtZScsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRmlsZW5hbWUnLCBOb25lLCB1J0ZpbGVuYW1lIHRvIGJlIGdpdmVuIHRvIHRoZSBkdXBsaWNhdGUgZmlsZS4nKSwKLSh1J0R1cGxpY2F0ZUZpbGUnLCB1J0ZpbGVLZXknLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1ByaW1hcnkga2V5IHVzZWQgdG8gaWRlbnRpZnkgYSBwYXJ0aWN1bGFyIGZpbGUgZW50cnknKSwKLSh1J0Vudmlyb25tZW50JywgdSdOYW1lJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgdSdUaGUgbmFtZSBvZiB0aGUgZW52aXJvbm1lbnRhbCB2YWx1ZS4nKSwKLSh1J0Vudmlyb25tZW50JywgdSdWYWx1ZScsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJywgTm9uZSwgdSdUaGUgdmFsdWUgdG8gc2V0IGluIHRoZSBlbnZpcm9ubWVudGFsIHNldHRpbmdzLicpLAotKHUnRW52aXJvbm1lbnQnLCB1J0NvbXBvbmVudF8nLCB1J04nLCBOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byB0aGUgQ29tcG9uZW50IHRhYmxlIHJlZmVyZW5jaW5nIGNvbXBvbmVudCB0aGF0IGNvbnRyb2xzIHRoZSBpbnN0YWxsaW5nIG9mIHRoZSBlbnZpcm9ubWVudGFsIHZhbHVlLicpLAotKHUnRW52aXJvbm1lbnQnLCB1J0Vudmlyb25tZW50JywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdVbmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGVudmlyb25tZW50YWwgdmFyaWFibGUgc2V0dGluZycpLAotKHUnRXJyb3InLCB1J0Vycm9yJywgdSdOJywgMCwgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSW50ZWdlciBlcnJvciBudW1iZXIsIG9idGFpbmVkIGZyb20gaGVhZGVyIGZpbGUgSUVycm9yKC4uLikgbWFjcm9zLicpLAotKHUnRXJyb3InLCB1J01lc3NhZ2UnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RlbXBsYXRlJywgTm9uZSwgdSdFcnJvciBmb3JtYXR0aW5nIHRlbXBsYXRlLCBvYnRhaW5lZCBmcm9tIHVzZXIgZWQuIG9yIGxvY2FsaXplcnMuJyksCi0odSdFeHRlbnNpb24nLCB1J0ZlYXR1cmVfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdGZWF0dXJlJywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdSZXF1aXJlZCBmb3JlaWduIGtleSBpbnRvIHRoZSBGZWF0dXJlIFRhYmxlLCBzcGVjaWZ5aW5nIHRoZSBmZWF0dXJlIHRvIHZhbGlkYXRlIG9yIGluc3RhbGwgaW4gb3JkZXIgZm9yIHRoZSBDTFNJRCBmYWN0b3J5IHRvIGJlIG9wZXJhdGlvbmFsLicpLAotKHUnRXh0ZW5zaW9uJywgdSdDb21wb25lbnRfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1JlcXVpcmVkIGZvcmVpZ24ga2V5IGludG8gdGhlIENvbXBvbmVudCBUYWJsZSwgc3BlY2lmeWluZyB0aGUgY29tcG9uZW50IGZvciB3aGljaCB0byByZXR1cm4gYSBwYXRoIHdoZW4gY2FsbGVkIHRocm91Z2ggTG9jYXRlQ29tcG9uZW50LicpLAotKHUnRXh0ZW5zaW9uJywgdSdFeHRlbnNpb24nLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCB1J1RoZSBleHRlbnNpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSB0YWJsZSByb3cuJyksCi0odSdFeHRlbnNpb24nLCB1J01JTUVfJywgdSdZJywgTm9uZSwgTm9uZSwgdSdNSU1FJywgMSwgdSdUZXh0JywgTm9uZSwgdSdPcHRpb25hbCBDb250ZXh0IGlkZW50aWZpZXIsIHR5cGljYWxseSAidHlwZS9mb3JtYXQiIGFzc29jaWF0ZWQgd2l0aCB0aGUgZXh0ZW5zaW9uJyksCi0odSdFeHRlbnNpb24nLCB1J1Byb2dJZF8nLCB1J1knLCBOb25lLCBOb25lLCB1J1Byb2dJZCcsIDEsIHUnVGV4dCcsIE5vbmUsIHUnT3B0aW9uYWwgUHJvZ0lkIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGV4dGVuc2lvbi4nKSwKLSh1J01JTUUnLCB1J0NMU0lEJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdHdWlkJywgTm9uZSwgdSdPcHRpb25hbCBhc3NvY2lhdGVkIENMU0lELicpLAotKHUnTUlNRScsIHUnQ29udGVudFR5cGUnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCB1J1ByaW1hcnkga2V5LiBDb250ZXh0IGlkZW50aWZpZXIsIHR5cGljYWxseSAidHlwZS9mb3JtYXQiLicpLAotKHUnTUlNRScsIHUnRXh0ZW5zaW9uXycsIHUnTicsIE5vbmUsIE5vbmUsIHUnRXh0ZW5zaW9uJywgMSwgdSdUZXh0JywgTm9uZSwgdSdPcHRpb25hbCBhc3NvY2lhdGVkIGV4dGVuc2lvbiAod2l0aG91dCBkb3QpJyksCi0odSdGZWF0dXJlQ29tcG9uZW50cycsIHUnRmVhdHVyZV8nLCB1J04nLCBOb25lLCBOb25lLCB1J0ZlYXR1cmUnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0ZvcmVpZ24ga2V5IGludG8gRmVhdHVyZSB0YWJsZS4nKSwKLSh1J0ZlYXR1cmVDb21wb25lbnRzJywgdSdDb21wb25lbnRfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0ZvcmVpZ24ga2V5IGludG8gQ29tcG9uZW50IHRhYmxlLicpLAotKHUnRmlsZVNGUENhdGFsb2cnLCB1J0ZpbGVfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdGaWxlJywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdGaWxlIGFzc29jaWF0ZWQgd2l0aCB0aGUgY2F0YWxvZycpLAotKHUnRmlsZVNGUENhdGFsb2cnLCB1J1NGUENhdGFsb2dfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdTRlBDYXRhbG9nJywgMSwgdSdGaWxlbmFtZScsIE5vbmUsIHUnQ2F0YWxvZyBhc3NvY2lhdGVkIHdpdGggdGhlIGZpbGUnKSwKLSh1J1NGUENhdGFsb2cnLCB1J1NGUENhdGFsb2cnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0ZpbGVuYW1lJywgTm9uZSwgdSdGaWxlIG5hbWUgZm9yIHRoZSBjYXRhbG9nLicpLAotKHUnU0ZQQ2F0YWxvZycsIHUnQ2F0YWxvZycsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQmluYXJ5JywgTm9uZSwgdSdTRlAgQ2F0YWxvZycpLAotKHUnU0ZQQ2F0YWxvZycsIHUnRGVwZW5kZW5jeScsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJywgTm9uZSwgdSdQYXJlbnQgY2F0YWxvZyAtIG9ubHkgdXNlZCBieSBTRlAnKSwKLSh1J0ZvbnQnLCB1J0ZpbGVfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdGaWxlJywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdQcmltYXJ5IGtleSwgZm9yZWlnbiBrZXkgaW50byBGaWxlIHRhYmxlIHJlZmVyZW5jaW5nIGZvbnQgZmlsZS4nKSwKLSh1J0ZvbnQnLCB1J0ZvbnRUaXRsZScsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIHUnRm9udCBuYW1lLicpLAotKHUnSW5pRmlsZScsIHUnQWN0aW9uJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdScwOzE7MycsIHUnVGhlIHR5cGUgb2YgbW9kaWZpY2F0aW9uIHRvIGJlIG1hZGUsIG9uZSBvZiBpaWZFbnVtJyksCi0odSdJbmlGaWxlJywgdSdWYWx1ZScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJywgTm9uZSwgdSdUaGUgdmFsdWUgdG8gYmUgd3JpdHRlbi4nKSwKLSh1J0luaUZpbGUnLCB1J0tleScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJywgTm9uZSwgdSdUaGUgLklOSSBmaWxlIGtleSBiZWxvdyBTZWN0aW9uLicpLAotKHUnSW5pRmlsZScsIHUnQ29tcG9uZW50XycsIHUnTicsIE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdGb3JlaWduIGtleSBpbnRvIHRoZSBDb21wb25lbnQgdGFibGUgcmVmZXJlbmNpbmcgY29tcG9uZW50IHRoYXQgY29udHJvbHMgdGhlIGluc3RhbGxpbmcgb2YgdGhlIC5JTkkgdmFsdWUuJyksCi0odSdJbmlGaWxlJywgdSdGaWxlTmFtZScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRmlsZW5hbWUnLCBOb25lLCB1J1RoZSAuSU5JIGZpbGUgbmFtZSBpbiB3aGljaCB0byB3cml0ZSB0aGUgaW5mb3JtYXRpb24nKSwKLSh1J0luaUZpbGUnLCB1J0luaUZpbGUnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1ByaW1hcnkga2V5LCBub24tbG9jYWxpemVkIHRva2VuLicpLAotKHUnSW5pRmlsZScsIHUnRGlyUHJvcGVydHknLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0ZvcmVpZ24ga2V5IGludG8gdGhlIERpcmVjdG9yeSB0YWJsZSBkZW5vdGluZyB0aGUgZGlyZWN0b3J5IHdoZXJlIHRoZSAuSU5JIGZpbGUgaXMuJyksCi0odSdJbmlGaWxlJywgdSdTZWN0aW9uJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLCBOb25lLCB1J1RoZSAuSU5JIGZpbGUgU2VjdGlvbi4nKSwKLSh1J0luaUxvY2F0b3InLCB1J1R5cGUnLCB1J1knLCAwLCAyLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0FuIGludGVnZXIgdmFsdWUgdGhhdCBkZXRlcm1pbmVzIGlmIHRoZSAuSU5JIHZhbHVlIHJlYWQgaXMgYSBmaWxlbmFtZSBvciBhIGRpcmVjdG9yeSBsb2NhdGlvbiBvciB0byBiZSB1c2VkIGFzIGlzIHcvbyBpbnRlcnByZXRhdGlvbi4nKSwKLSh1J0luaUxvY2F0b3InLCB1J0tleScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIHUnS2V5IHZhbHVlIChmb2xsb3dlZCBieSBhbiBlcXVhbHMgc2lnbiBpbiBJTkkgZmlsZSkuJyksCi0odSdJbmlMb2NhdG9yJywgdSdTaWduYXR1cmVfJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdUaGUgdGFibGUga2V5LiBUaGUgU2lnbmF0dXJlXyByZXByZXNlbnRzIGEgdW5pcXVlIGZpbGUgc2lnbmF0dXJlIGFuZCBpcyBhbHNvIHRoZSBmb3JlaWduIGtleSBpbiB0aGUgU2lnbmF0dXJlIHRhYmxlLicpLAotKHUnSW5pTG9jYXRvcicsIHUnRmlsZU5hbWUnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0ZpbGVuYW1lJywgTm9uZSwgdSdUaGUgLklOSSBmaWxlIG5hbWUuJyksCi0odSdJbmlMb2NhdG9yJywgdSdTZWN0aW9uJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgdSdTZWN0aW9uIG5hbWUgd2l0aGluIGluIGZpbGUgKHdpdGhpbiBzcXVhcmUgYnJhY2tldHMgaW4gSU5JIGZpbGUpLicpLAotKHUnSW5pTG9jYXRvcicsIHUnRmllbGQnLCB1J1knLCAwLCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUaGUgZmllbGQgaW4gdGhlIC5JTkkgbGluZS4gSWYgRmllbGQgaXMgbnVsbCBvciAwIHRoZSBlbnRpcmUgbGluZSBpcyByZWFkLicpLAotKHUnSXNvbGF0ZWRDb21wb25lbnQnLCB1J0NvbXBvbmVudF9BcHBsaWNhdGlvbicsIHUnTicsIE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdLZXkgdG8gQ29tcG9uZW50IHRhYmxlIGl0ZW0gZm9yIGFwcGxpY2F0aW9uJyksCi0odSdJc29sYXRlZENvbXBvbmVudCcsIHUnQ29tcG9uZW50X1NoYXJlZCcsIHUnTicsIE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdLZXkgdG8gQ29tcG9uZW50IHRhYmxlIGl0ZW0gdG8gYmUgaXNvbGF0ZWQnKSwKLSh1J0xhdW5jaENvbmRpdGlvbicsIHUnQ29uZGl0aW9uJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdDb25kaXRpb24nLCBOb25lLCB1J0V4cHJlc3Npb24gd2hpY2ggbXVzdCBldmFsdWF0ZSB0byBUUlVFIGluIG9yZGVyIGZvciBpbnN0YWxsIHRvIGNvbW1lbmNlLicpLAotKHUnTGF1bmNoQ29uZGl0aW9uJywgdSdEZXNjcmlwdGlvbicsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJywgTm9uZSwgdSdMb2NhbGl6YWJsZSB0ZXh0IHRvIGRpc3BsYXkgd2hlbiBjb25kaXRpb24gZmFpbHMgYW5kIGluc3RhbGwgbXVzdCBhYm9ydC4nKSwKLSh1J0xvY2tQZXJtaXNzaW9ucycsIHUnVGFibGUnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCB1J0RpcmVjdG9yeTtGaWxlO1JlZ2lzdHJ5JywgdSdSZWZlcmVuY2UgdG8gYW5vdGhlciB0YWJsZSBuYW1lJyksCi0odSdMb2NrUGVybWlzc2lvbnMnLCB1J0RvbWFpbicsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJywgTm9uZSwgdSdEb21haW4gbmFtZSBmb3IgdXNlciB3aG9zZSBwZXJtaXNzaW9ucyBhcmUgYmVpbmcgc2V0LiAodXN1YWxseSBhIHByb3BlcnR5KScpLAotKHUnTG9ja1Blcm1pc3Npb25zJywgdSdMb2NrT2JqZWN0JywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdGb3JlaWduIGtleSBpbnRvIFJlZ2lzdHJ5IG9yIEZpbGUgdGFibGUnKSwKLSh1J0xvY2tQZXJtaXNzaW9ucycsIHUnUGVybWlzc2lvbicsIHUnWScsIC0yMTQ3NDgzNjQ3LCAyMTQ3NDgzNjQ3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1Blcm1pc3Npb24gQWNjZXNzIG1hc2suICBGdWxsIENvbnRyb2wgPSAyNjg0MzU0NTYgKEdFTkVSSUNfQUxMID0gMHgxMDAwMDAwMCknKSwKLSh1J0xvY2tQZXJtaXNzaW9ucycsIHUnVXNlcicsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJywgTm9uZSwgdSdVc2VyIGZvciBwZXJtaXNzaW9ucyB0byBiZSBzZXQuICAodXN1YWxseSBhIHByb3BlcnR5KScpLAotKHUnTWVkaWEnLCB1J1NvdXJjZScsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnUHJvcGVydHknLCBOb25lLCB1J1RoZSBwcm9wZXJ0eSBkZWZpbmluZyB0aGUgbG9jYXRpb24gb2YgdGhlIGNhYmluZXQgZmlsZS4nKSwKLSh1J01lZGlhJywgdSdDYWJpbmV0JywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdDYWJpbmV0JywgTm9uZSwgdSdJZiBzb21lIG9yIGFsbCBvZiB0aGUgZmlsZXMgc3RvcmVkIG9uIHRoZSBtZWRpYSBhcmUgY29tcHJlc3NlZCBpbiBhIGNhYmluZXQsIHRoZSBuYW1lIG9mIHRoYXQgY2FiaW5ldC4nKSwKLSh1J01lZGlhJywgdSdEaXNrSWQnLCB1J04nLCAxLCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdQcmltYXJ5IGtleSwgaW50ZWdlciB0byBkZXRlcm1pbmUgc29ydCBvcmRlciBmb3IgdGFibGUuJyksCi0odSdNZWRpYScsIHUnRGlza1Byb21wdCcsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIHUnRGlzayBuYW1lOiB0aGUgdmlzaWJsZSB0ZXh0IGFjdHVhbGx5IHByaW50ZWQgb24gdGhlIGRpc2suICBUaGlzIHdpbGwgYmUgdXNlZCB0byBwcm9tcHQgdGhlIHVzZXIgd2hlbiB0aGlzIGRpc2sgbmVlZHMgdG8gYmUgaW5zZXJ0ZWQuJyksCi0odSdNZWRpYScsIHUnTGFzdFNlcXVlbmNlJywgdSdOJywgMCwgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRmlsZSBzZXF1ZW5jZSBudW1iZXIgZm9yIHRoZSBsYXN0IGZpbGUgZm9yIHRoaXMgbWVkaWEuJyksCi0odSdNZWRpYScsIHUnVm9sdW1lTGFiZWwnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCB1J1RoZSBsYWJlbCBhdHRyaWJ1dGVkIHRvIHRoZSB2b2x1bWUuJyksCi0odSdNb2R1bGVDb21wb25lbnRzJywgdSdDb21wb25lbnQnLCB1J04nLCBOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnQ29tcG9uZW50IGNvbnRhaW5lZCBpbiB0aGUgbW9kdWxlLicpLAotKHUnTW9kdWxlQ29tcG9uZW50cycsIHUnTGFuZ3VhZ2UnLCB1J04nLCBOb25lLCBOb25lLCB1J01vZHVsZVNpZ25hdHVyZScsIDIsIE5vbmUsIE5vbmUsIHUnRGVmYXVsdCBsYW5ndWFnZSBJRCBmb3IgbW9kdWxlIChtYXkgYmUgY2hhbmdlZCBieSB0cmFuc2Zvcm0pLicpLAotKHUnTW9kdWxlQ29tcG9uZW50cycsIHUnTW9kdWxlSUQnLCB1J04nLCBOb25lLCBOb25lLCB1J01vZHVsZVNpZ25hdHVyZScsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnTW9kdWxlIGNvbnRhaW5pbmcgdGhlIGNvbXBvbmVudC4nKSwKLSh1J01vZHVsZVNpZ25hdHVyZScsIHUnTGFuZ3VhZ2UnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0RlZmF1bHQgZGVjaW1hbCBsYW5ndWFnZSBvZiBtb2R1bGUuJyksCi0odSdNb2R1bGVTaWduYXR1cmUnLCB1J1ZlcnNpb24nLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1ZlcnNpb24nLCBOb25lLCB1J1ZlcnNpb24gb2YgdGhlIG1vZHVsZS4nKSwKLSh1J01vZHVsZVNpZ25hdHVyZScsIHUnTW9kdWxlSUQnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J01vZHVsZSBpZGVudGlmaWVyIChTdHJpbmcuR1VJRCkuJyksCi0odSdNb2R1bGVEZXBlbmRlbmN5JywgdSdNb2R1bGVJRCcsIHUnTicsIE5vbmUsIE5vbmUsIHUnTW9kdWxlU2lnbmF0dXJlJywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdNb2R1bGUgcmVxdWlyaW5nIHRoZSBkZXBlbmRlbmN5LicpLAotKHUnTW9kdWxlRGVwZW5kZW5jeScsIHUnTW9kdWxlTGFuZ3VhZ2UnLCB1J04nLCBOb25lLCBOb25lLCB1J01vZHVsZVNpZ25hdHVyZScsIDIsIE5vbmUsIE5vbmUsIHUnTGFuZ3VhZ2Ugb2YgbW9kdWxlIHJlcXVpcmluZyB0aGUgZGVwZW5kZW5jeS4nKSwKLSh1J01vZHVsZURlcGVuZGVuY3knLCB1J1JlcXVpcmVkSUQnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1N0cmluZy5HVUlEIG9mIHJlcXVpcmVkIG1vZHVsZS4nKSwKLSh1J01vZHVsZURlcGVuZGVuY3knLCB1J1JlcXVpcmVkTGFuZ3VhZ2UnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0xhbmd1YWdlSUQgb2YgdGhlIHJlcXVpcmVkIG1vZHVsZS4nKSwKLSh1J01vZHVsZURlcGVuZGVuY3knLCB1J1JlcXVpcmVkVmVyc2lvbicsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVmVyc2lvbicsIE5vbmUsIHUnVmVyc2lvbiBvZiB0aGUgcmVxdWlyZWQgdmVyc2lvbi4nKSwKLSh1J01vZHVsZUV4Y2x1c2lvbicsIHUnTW9kdWxlSUQnLCB1J04nLCBOb25lLCBOb25lLCB1J01vZHVsZVNpZ25hdHVyZScsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnU3RyaW5nLkdVSUQgb2YgbW9kdWxlIHdpdGggZXhjbHVzaW9uIHJlcXVpcmVtZW50LicpLAotKHUnTW9kdWxlRXhjbHVzaW9uJywgdSdNb2R1bGVMYW5ndWFnZScsIHUnTicsIE5vbmUsIE5vbmUsIHUnTW9kdWxlU2lnbmF0dXJlJywgMiwgTm9uZSwgTm9uZSwgdSdMYW5ndWFnZUlEIG9mIG1vZHVsZSB3aXRoIGV4Y2x1c2lvbiByZXF1aXJlbWVudC4nKSwKLSh1J01vZHVsZUV4Y2x1c2lvbicsIHUnRXhjbHVkZWRJRCcsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnU3RyaW5nLkdVSUQgb2YgZXhjbHVkZWQgbW9kdWxlLicpLAotKHUnTW9kdWxlRXhjbHVzaW9uJywgdSdFeGNsdWRlZExhbmd1YWdlJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdMYW5ndWFnZSBvZiBleGNsdWRlZCBtb2R1bGUuJyksCi0odSdNb2R1bGVFeGNsdXNpb24nLCB1J0V4Y2x1ZGVkTWF4VmVyc2lvbicsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVmVyc2lvbicsIE5vbmUsIHUnTWF4aW11bSB2ZXJzaW9uIG9mIGV4Y2x1ZGVkIG1vZHVsZS4nKSwKLSh1J01vZHVsZUV4Y2x1c2lvbicsIHUnRXhjbHVkZWRNaW5WZXJzaW9uJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdWZXJzaW9uJywgTm9uZSwgdSdNaW5pbXVtIHZlcnNpb24gb2YgZXhjbHVkZWQgbW9kdWxlLicpLAotKHUnTW92ZUZpbGUnLCB1J0NvbXBvbmVudF8nLCB1J04nLCBOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnSWYgdGhpcyBjb21wb25lbnQgaXMgbm90ICJzZWxlY3RlZCIgZm9yIGluc3RhbGxhdGlvbiBvciByZW1vdmFsLCBubyBhY3Rpb24gd2lsbCBiZSB0YWtlbiBvbiB0aGUgYXNzb2NpYXRlZCBNb3ZlRmlsZSBlbnRyeScpLAotKHUnTW92ZUZpbGUnLCB1J0Rlc3RGb2xkZXInLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J05hbWUgb2YgYSBwcm9wZXJ0eSB3aG9zZSB2YWx1ZSBpcyBhc3N1bWVkIHRvIHJlc29sdmUgdG8gdGhlIGZ1bGwgcGF0aCB0byB0aGUgZGVzdGluYXRpb24gZGlyZWN0b3J5JyksCi0odSdNb3ZlRmlsZScsIHUnRGVzdE5hbWUnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0ZpbGVuYW1lJywgTm9uZSwgdSdOYW1lIHRvIGJlIGdpdmVuIHRvIHRoZSBvcmlnaW5hbCBmaWxlIGFmdGVyIGl0IGlzIG1vdmVkIG9yIGNvcGllZC4gIElmIGJsYW5rLCB0aGUgZGVzdGluYXRpb24gZmlsZSB3aWxsIGJlIGdpdmVuIHRoZSBzYW1lIG5hbWUgYXMgdGhlIHNvdXJjZSBmaWxlJyksCi0odSdNb3ZlRmlsZScsIHUnRmlsZUtleScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnUHJpbWFyeSBrZXkgdGhhdCB1bmlxdWVseSBpZGVudGlmaWVzIGEgcGFydGljdWxhciBNb3ZlRmlsZSByZWNvcmQnKSwKLSh1J01vdmVGaWxlJywgdSdPcHRpb25zJywgdSdOJywgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJbnRlZ2VyIHZhbHVlIHNwZWNpZnlpbmcgdGhlIE1vdmVGaWxlIG9wZXJhdGluZyBtb2RlLCBvbmUgb2YgaW1mb0VudW0nKSwKLSh1J01vdmVGaWxlJywgdSdTb3VyY2VGb2xkZXInLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J05hbWUgb2YgYSBwcm9wZXJ0eSB3aG9zZSB2YWx1ZSBpcyBhc3N1bWVkIHRvIHJlc29sdmUgdG8gdGhlIGZ1bGwgcGF0aCB0byB0aGUgc291cmNlIGRpcmVjdG9yeScpLAotKHUnTW92ZUZpbGUnLCB1J1NvdXJjZU5hbWUnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCB1Ik5hbWUgb2YgdGhlIHNvdXJjZSBmaWxlKHMpIHRvIGJlIG1vdmVkIG9yIGNvcGllZC4gIENhbiBjb250YWluIHRoZSAnKicgb3IgJz8nIHdpbGRjYXJkcy4iKSwKLSh1J01zaUFzc2VtYmx5JywgdSdBdHRyaWJ1dGVzJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdBc3NlbWJseSBhdHRyaWJ1dGVzJyksCi0odSdNc2lBc3NlbWJseScsIHUnRmVhdHVyZV8nLCB1J04nLCBOb25lLCBOb25lLCB1J0ZlYXR1cmUnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0ZvcmVpZ24ga2V5IGludG8gRmVhdHVyZSB0YWJsZS4nKSwKLSh1J01zaUFzc2VtYmx5JywgdSdDb21wb25lbnRfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0ZvcmVpZ24ga2V5IGludG8gQ29tcG9uZW50IHRhYmxlLicpLAotKHUnTXNpQXNzZW1ibHknLCB1J0ZpbGVfQXBwbGljYXRpb24nLCB1J1knLCBOb25lLCBOb25lLCB1J0ZpbGUnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0ZvcmVpZ24ga2V5IGludG8gRmlsZSB0YWJsZSwgZGVub3RpbmcgdGhlIGFwcGxpY2F0aW9uIGNvbnRleHQgZm9yIHByaXZhdGUgYXNzZW1ibGllcy4gTnVsbCBmb3IgZ2xvYmFsIGFzc2VtYmxpZXMuJyksCi0odSdNc2lBc3NlbWJseScsIHUnRmlsZV9NYW5pZmVzdCcsIHUnWScsIE5vbmUsIE5vbmUsIHUnRmlsZScsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byB0aGUgRmlsZSB0YWJsZSBkZW5vdGluZyB0aGUgbWFuaWZlc3QgZmlsZSBmb3IgdGhlIGFzc2VtYmx5LicpLAotKHUnTXNpQXNzZW1ibHlOYW1lJywgdSdOYW1lJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgdSdUaGUgbmFtZSBwYXJ0IG9mIHRoZSBuYW1lLXZhbHVlIHBhaXJzIGZvciB0aGUgYXNzZW1ibHkgbmFtZS4nKSwKLSh1J01zaUFzc2VtYmx5TmFtZScsIHUnVmFsdWUnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCB1J1RoZSB2YWx1ZSBwYXJ0IG9mIHRoZSBuYW1lLXZhbHVlIHBhaXJzIGZvciB0aGUgYXNzZW1ibHkgbmFtZS4nKSwKLSh1J01zaUFzc2VtYmx5TmFtZScsIHUnQ29tcG9uZW50XycsIHUnTicsIE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdGb3JlaWduIGtleSBpbnRvIENvbXBvbmVudCB0YWJsZS4nKSwKLSh1J01zaURpZ2l0YWxDZXJ0aWZpY2F0ZScsIHUnQ2VydERhdGEnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0JpbmFyeScsIE5vbmUsIHUnQSBjZXJ0aWZpY2F0ZSBjb250ZXh0IGJsb2IgZm9yIGEgc2lnbmVyIGNlcnRpZmljYXRlJyksCi0odSdNc2lEaWdpdGFsQ2VydGlmaWNhdGUnLCB1J0RpZ2l0YWxDZXJ0aWZpY2F0ZScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnQSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIHJvdycpLAotKHUnTXNpRGlnaXRhbFNpZ25hdHVyZScsIHUnVGFibGUnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J01lZGlhJywgdSdSZWZlcmVuY2UgdG8gYW5vdGhlciB0YWJsZSBuYW1lIChvbmx5IE1lZGlhIHRhYmxlIGlzIHN1cHBvcnRlZCknKSwKLSh1J01zaURpZ2l0YWxTaWduYXR1cmUnLCB1J0RpZ2l0YWxDZXJ0aWZpY2F0ZV8nLCB1J04nLCBOb25lLCBOb25lLCB1J01zaURpZ2l0YWxDZXJ0aWZpY2F0ZScsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnRm9yZWlnbiBrZXkgdG8gTXNpRGlnaXRhbENlcnRpZmljYXRlIHRhYmxlIGlkZW50aWZ5aW5nIHRoZSBzaWduZXIgY2VydGlmaWNhdGUnKSwKLSh1J01zaURpZ2l0YWxTaWduYXR1cmUnLCB1J0hhc2gnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0JpbmFyeScsIE5vbmUsIHUnVGhlIGVuY29kZWQgaGFzaCBibG9iIGZyb20gdGhlIGRpZ2l0YWwgc2lnbmF0dXJlJyksCi0odSdNc2lEaWdpdGFsU2lnbmF0dXJlJywgdSdTaWduT2JqZWN0JywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgdSdGb3JlaWduIGtleSB0byBNZWRpYSB0YWJsZScpLAotKHUnTXNpRmlsZUhhc2gnLCB1J0ZpbGVfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdGaWxlJywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdQcmltYXJ5IGtleSwgZm9yZWlnbiBrZXkgaW50byBGaWxlIHRhYmxlIHJlZmVyZW5jaW5nIGZpbGUgd2l0aCB0aGlzIGhhc2gnKSwKLSh1J01zaUZpbGVIYXNoJywgdSdPcHRpb25zJywgdSdOJywgMCwgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVmFyaW91cyBvcHRpb25zIGFuZCBhdHRyaWJ1dGVzIGZvciB0aGlzIGhhc2guJyksCi0odSdNc2lGaWxlSGFzaCcsIHUnSGFzaFBhcnQxJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdTaXplIG9mIGZpbGUgaW4gYnl0ZXMgKGxvbmcgaW50ZWdlcikuJyksCi0odSdNc2lGaWxlSGFzaCcsIHUnSGFzaFBhcnQyJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdTaXplIG9mIGZpbGUgaW4gYnl0ZXMgKGxvbmcgaW50ZWdlcikuJyksCi0odSdNc2lGaWxlSGFzaCcsIHUnSGFzaFBhcnQzJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdTaXplIG9mIGZpbGUgaW4gYnl0ZXMgKGxvbmcgaW50ZWdlcikuJyksCi0odSdNc2lGaWxlSGFzaCcsIHUnSGFzaFBhcnQ0JywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdTaXplIG9mIGZpbGUgaW4gYnl0ZXMgKGxvbmcgaW50ZWdlcikuJyksCi0odSdNc2lQYXRjaEhlYWRlcnMnLCB1J1N0cmVhbVJlZicsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnUHJpbWFyeSBrZXkuIEEgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSByb3cuJyksCi0odSdNc2lQYXRjaEhlYWRlcnMnLCB1J0hlYWRlcicsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQmluYXJ5JywgTm9uZSwgdSdCaW5hcnkgc3RyZWFtLiBUaGUgcGF0Y2ggaGVhZGVyLCB1c2VkIGZvciBwYXRjaCB2YWxpZGF0aW9uLicpLAotKHUnT0RCQ0F0dHJpYnV0ZScsIHUnVmFsdWUnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCB1J1ZhbHVlIGZvciBPREJDIGRyaXZlciBhdHRyaWJ1dGUnKSwKLSh1J09EQkNBdHRyaWJ1dGUnLCB1J0F0dHJpYnV0ZScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIHUnTmFtZSBvZiBPREJDIGRyaXZlciBhdHRyaWJ1dGUnKSwKLSh1J09EQkNBdHRyaWJ1dGUnLCB1J0RyaXZlcl8nLCB1J04nLCBOb25lLCBOb25lLCB1J09EQkNEcml2ZXInLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1JlZmVyZW5jZSB0byBPREJDIGRyaXZlciBpbiBPREJDRHJpdmVyIHRhYmxlJyksCi0odSdPREJDRHJpdmVyJywgdSdEZXNjcmlwdGlvbicsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIHUnVGV4dCB1c2VkIGFzIHJlZ2lzdGVyZWQgbmFtZSBmb3IgZHJpdmVyLCBub24tbG9jYWxpemVkJyksCi0odSdPREJDRHJpdmVyJywgdSdGaWxlXycsIHUnTicsIE5vbmUsIE5vbmUsIHUnRmlsZScsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnUmVmZXJlbmNlIHRvIGtleSBkcml2ZXIgZmlsZScpLAotKHUnT0RCQ0RyaXZlcicsIHUnQ29tcG9uZW50XycsIHUnTicsIE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdSZWZlcmVuY2UgdG8gYXNzb2NpYXRlZCBjb21wb25lbnQnKSwKLSh1J09EQkNEcml2ZXInLCB1J0RyaXZlcicsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnUHJpbWFyeSBrZXksIG5vbi1sb2NhbGl6ZWQuaW50ZXJuYWwgdG9rZW4gZm9yIGRyaXZlcicpLAotKHUnT0RCQ0RyaXZlcicsIHUnRmlsZV9TZXR1cCcsIHUnWScsIE5vbmUsIE5vbmUsIHUnRmlsZScsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnT3B0aW9uYWwgcmVmZXJlbmNlIHRvIGtleSBkcml2ZXIgc2V0dXAgRExMJyksCi0odSdPREJDRGF0YVNvdXJjZScsIHUnRGVzY3JpcHRpb24nLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCB1J1RleHQgdXNlZCBhcyByZWdpc3RlcmVkIG5hbWUgZm9yIGRhdGEgc291cmNlJyksCi0odSdPREJDRGF0YVNvdXJjZScsIHUnQ29tcG9uZW50XycsIHUnTicsIE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdSZWZlcmVuY2UgdG8gYXNzb2NpYXRlZCBjb21wb25lbnQnKSwKLSh1J09EQkNEYXRhU291cmNlJywgdSdEYXRhU291cmNlJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdQcmltYXJ5IGtleSwgbm9uLWxvY2FsaXplZC5pbnRlcm5hbCB0b2tlbiBmb3IgZGF0YSBzb3VyY2UnKSwKLSh1J09EQkNEYXRhU291cmNlJywgdSdEcml2ZXJEZXNjcmlwdGlvbicsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIHUnUmVmZXJlbmNlIHRvIGRyaXZlciBkZXNjcmlwdGlvbiwgbWF5IGJlIGV4aXN0aW5nIGRyaXZlcicpLAotKHUnT0RCQ0RhdGFTb3VyY2UnLCB1J1JlZ2lzdHJhdGlvbicsIHUnTicsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnUmVnaXN0cmF0aW9uIG9wdGlvbjogMD1tYWNoaW5lLCAxPXVzZXIsIG90aGVycyB0LmIuZC4nKSwKLSh1J09EQkNTb3VyY2VBdHRyaWJ1dGUnLCB1J1ZhbHVlJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgdSdWYWx1ZSBmb3IgT0RCQyBkYXRhIHNvdXJjZSBhdHRyaWJ1dGUnKSwKLSh1J09EQkNTb3VyY2VBdHRyaWJ1dGUnLCB1J0F0dHJpYnV0ZScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIHUnTmFtZSBvZiBPREJDIGRhdGEgc291cmNlIGF0dHJpYnV0ZScpLAotKHUnT0RCQ1NvdXJjZUF0dHJpYnV0ZScsIHUnRGF0YVNvdXJjZV8nLCB1J04nLCBOb25lLCBOb25lLCB1J09EQkNEYXRhU291cmNlJywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdSZWZlcmVuY2UgdG8gT0RCQyBkYXRhIHNvdXJjZSBpbiBPREJDRGF0YVNvdXJjZSB0YWJsZScpLAotKHUnT0RCQ1RyYW5zbGF0b3InLCB1J0Rlc2NyaXB0aW9uJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgdSdUZXh0IHVzZWQgYXMgcmVnaXN0ZXJlZCBuYW1lIGZvciB0cmFuc2xhdG9yJyksCi0odSdPREJDVHJhbnNsYXRvcicsIHUnRmlsZV8nLCB1J04nLCBOb25lLCBOb25lLCB1J0ZpbGUnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1JlZmVyZW5jZSB0byBrZXkgdHJhbnNsYXRvciBmaWxlJyksCi0odSdPREJDVHJhbnNsYXRvcicsIHUnQ29tcG9uZW50XycsIHUnTicsIE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdSZWZlcmVuY2UgdG8gYXNzb2NpYXRlZCBjb21wb25lbnQnKSwKLSh1J09EQkNUcmFuc2xhdG9yJywgdSdGaWxlX1NldHVwJywgdSdZJywgTm9uZSwgTm9uZSwgdSdGaWxlJywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdPcHRpb25hbCByZWZlcmVuY2UgdG8ga2V5IHRyYW5zbGF0b3Igc2V0dXAgRExMJyksCi0odSdPREJDVHJhbnNsYXRvcicsIHUnVHJhbnNsYXRvcicsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnUHJpbWFyeSBrZXksIG5vbi1sb2NhbGl6ZWQuaW50ZXJuYWwgdG9rZW4gZm9yIHRyYW5zbGF0b3InKSwKLSh1J1BhdGNoJywgdSdTZXF1ZW5jZScsIHUnTicsIDAsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1ByaW1hcnkga2V5LCBzZXF1ZW5jZSB3aXRoIHJlc3BlY3QgdG8gdGhlIG1lZGlhIGltYWdlczsgb3JkZXIgbXVzdCB0cmFjayBjYWJpbmV0IG9yZGVyLicpLAotKHUnUGF0Y2gnLCB1J0F0dHJpYnV0ZXMnLCB1J04nLCAwLCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJbnRlZ2VyIGNvbnRhaW5pbmcgYml0IGZsYWdzIHJlcHJlc2VudGluZyBwYXRjaCBhdHRyaWJ1dGVzJyksCi0odSdQYXRjaCcsIHUnRmlsZV8nLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1ByaW1hcnkga2V5LCBub24tbG9jYWxpemVkIHRva2VuLCBmb3JlaWduIGtleSB0byBGaWxlIHRhYmxlLCBtdXN0IG1hdGNoIGlkZW50aWZpZXIgaW4gY2FiaW5ldC4nKSwKLSh1J1BhdGNoJywgdSdIZWFkZXInLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0JpbmFyeScsIE5vbmUsIHUnQmluYXJ5IHN0cmVhbS4gVGhlIHBhdGNoIGhlYWRlciwgdXNlZCBmb3IgcGF0Y2ggdmFsaWRhdGlvbi4nKSwKLSh1J1BhdGNoJywgdSdQYXRjaFNpemUnLCB1J04nLCAwLCAyMTQ3NDgzNjQ3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1NpemUgb2YgcGF0Y2ggaW4gYnl0ZXMgKGxvbmcgaW50ZWdlcikuJyksCi0odSdQYXRjaCcsIHUnU3RyZWFtUmVmXycsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnSWRlbnRpZmllci4gRm9yZWlnbiBrZXkgdG8gdGhlIFN0cmVhbVJlZiBjb2x1bW4gb2YgdGhlIE1zaVBhdGNoSGVhZGVycyB0YWJsZS4nKSwKLSh1J1BhdGNoUGFja2FnZScsIHUnTWVkaWFfJywgdSdOJywgMCwgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9yZWlnbiBrZXkgdG8gRGlza0lkIGNvbHVtbiBvZiBNZWRpYSB0YWJsZS4gSW5kaWNhdGVzIHRoZSBkaXNrIGNvbnRhaW5pbmcgdGhlIHBhdGNoIHBhY2thZ2UuJyksCi0odSdQYXRjaFBhY2thZ2UnLCB1J1BhdGNoSWQnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0d1aWQnLCBOb25lLCB1J0EgdW5pcXVlIHN0cmluZyBHVUlEIHJlcHJlc2VudGluZyB0aGlzIHBhdGNoLicpLAotKHUnUHVibGlzaENvbXBvbmVudCcsIHUnRmVhdHVyZV8nLCB1J04nLCBOb25lLCBOb25lLCB1J0ZlYXR1cmUnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0ZvcmVpZ24ga2V5IGludG8gdGhlIEZlYXR1cmUgdGFibGUuJyksCi0odSdQdWJsaXNoQ29tcG9uZW50JywgdSdDb21wb25lbnRfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0ZvcmVpZ24ga2V5IGludG8gdGhlIENvbXBvbmVudCB0YWJsZS4nKSwKLSh1J1B1Ymxpc2hDb21wb25lbnQnLCB1J0NvbXBvbmVudElkJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdHdWlkJywgTm9uZSwgdSdBIHN0cmluZyBHVUlEIHRoYXQgcmVwcmVzZW50cyB0aGUgY29tcG9uZW50IGlkIHRoYXQgd2lsbCBiZSByZXF1ZXN0ZWQgYnkgdGhlIGFsaWVuIHByb2R1Y3QuJyksCi0odSdQdWJsaXNoQ29tcG9uZW50JywgdSdBcHBEYXRhJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgdSdUaGlzIGlzIGxvY2FsaXNhYmxlIEFwcGxpY2F0aW9uIHNwZWNpZmljIGRhdGEgdGhhdCBjYW4gYmUgYXNzb2NpYXRlZCB3aXRoIGEgUXVhbGlmaWVkIENvbXBvbmVudC4nKSwKLSh1J1B1Ymxpc2hDb21wb25lbnQnLCB1J1F1YWxpZmllcicsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIHUnVGhpcyBpcyBkZWZpbmVkIG9ubHkgd2hlbiB0aGUgQ29tcG9uZW50SWQgY29sdW1uIGlzIGFuIFF1YWxpZmllZCBDb21wb25lbnQgSWQuIFRoaXMgaXMgdGhlIFF1YWxpZmllciBmb3IgUHJvdmlkZUNvbXBvbmVudEluZGlyZWN0LicpLAotKHUnUmVnaXN0cnknLCB1J05hbWUnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsIE5vbmUsIHUnVGhlIHJlZ2lzdHJ5IHZhbHVlIG5hbWUuJyksCi0odSdSZWdpc3RyeScsIHUnVmFsdWUnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsIE5vbmUsIHUnVGhlIHJlZ2lzdHJ5IHZhbHVlLicpLAotKHUnUmVnaXN0cnknLCB1J0tleScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnUmVnUGF0aCcsIE5vbmUsIHUnVGhlIGtleSBmb3IgdGhlIHJlZ2lzdHJ5IHZhbHVlLicpLAotKHUnUmVnaXN0cnknLCB1J0NvbXBvbmVudF8nLCB1J04nLCBOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byB0aGUgQ29tcG9uZW50IHRhYmxlIHJlZmVyZW5jaW5nIGNvbXBvbmVudCB0aGF0IGNvbnRyb2xzIHRoZSBpbnN0YWxsaW5nIG9mIHRoZSByZWdpc3RyeSB2YWx1ZS4nKSwKLSh1J1JlZ2lzdHJ5JywgdSdSZWdpc3RyeScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnUHJpbWFyeSBrZXksIG5vbi1sb2NhbGl6ZWQgdG9rZW4uJyksCi0odSdSZWdpc3RyeScsIHUnUm9vdCcsIHUnTicsIC0xLCAzLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSBwcmVkZWZpbmVkIHJvb3Qga2V5IGZvciB0aGUgcmVnaXN0cnkgdmFsdWUsIG9uZSBvZiBycmtFbnVtLicpLAotKHUnUmVnTG9jYXRvcicsIHUnTmFtZScsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJywgTm9uZSwgdSdUaGUgcmVnaXN0cnkgdmFsdWUgbmFtZS4nKSwKLSh1J1JlZ0xvY2F0b3InLCB1J1R5cGUnLCB1J1knLCAwLCAxOCwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdBbiBpbnRlZ2VyIHZhbHVlIHRoYXQgZGV0ZXJtaW5lcyBpZiB0aGUgcmVnaXN0cnkgdmFsdWUgaXMgYSBmaWxlbmFtZSBvciBhIGRpcmVjdG9yeSBsb2NhdGlvbiBvciB0byBiZSB1c2VkIGFzIGlzIHcvbyBpbnRlcnByZXRhdGlvbi4nKSwKLSh1J1JlZ0xvY2F0b3InLCB1J0tleScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnUmVnUGF0aCcsIE5vbmUsIHUnVGhlIGtleSBmb3IgdGhlIHJlZ2lzdHJ5IHZhbHVlLicpLAotKHUnUmVnTG9jYXRvcicsIHUnU2lnbmF0dXJlXycsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnVGhlIHRhYmxlIGtleS4gVGhlIFNpZ25hdHVyZV8gcmVwcmVzZW50cyBhIHVuaXF1ZSBmaWxlIHNpZ25hdHVyZSBhbmQgaXMgYWxzbyB0aGUgZm9yZWlnbiBrZXkgaW4gdGhlIFNpZ25hdHVyZSB0YWJsZS4gSWYgdGhlIHR5cGUgaXMgMCwgdGhlIHJlZ2lzdHJ5IHZhbHVlcyByZWZlcnMgYSBkaXJlY3RvcnksIGFuZCBfU2lnbmF0dXJlIGlzIG5vdCBhIGZvcmVpZ24ga2V5LicpLAotKHUnUmVnTG9jYXRvcicsIHUnUm9vdCcsIHUnTicsIDAsIDMsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGhlIHByZWRlZmluZWQgcm9vdCBrZXkgZm9yIHRoZSByZWdpc3RyeSB2YWx1ZSwgb25lIG9mIHJya0VudW0uJyksCi0odSdSZW1vdmVGaWxlJywgdSdJbnN0YWxsTW9kZScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnMTsyOzMnLCB1J0luc3RhbGxhdGlvbiBvcHRpb24sIG9uZSBvZiBpaW1FbnVtLicpLAotKHUnUmVtb3ZlRmlsZScsIHUnQ29tcG9uZW50XycsIHUnTicsIE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdGb3JlaWduIGtleSByZWZlcmVuY2luZyBDb21wb25lbnQgdGhhdCBjb250cm9scyB0aGUgZmlsZSB0byBiZSByZW1vdmVkLicpLAotKHUnUmVtb3ZlRmlsZScsIHUnRmlsZUtleScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnUHJpbWFyeSBrZXkgdXNlZCB0byBpZGVudGlmeSBhIHBhcnRpY3VsYXIgZmlsZSBlbnRyeScpLAotKHUnUmVtb3ZlRmlsZScsIHUnRmlsZU5hbWUnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1dpbGRDYXJkRmlsZW5hbWUnLCBOb25lLCB1J05hbWUgb2YgdGhlIGZpbGUgdG8gYmUgcmVtb3ZlZC4nKSwKLSh1J1JlbW92ZUZpbGUnLCB1J0RpclByb3BlcnR5JywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdOYW1lIG9mIGEgcHJvcGVydHkgd2hvc2UgdmFsdWUgaXMgYXNzdW1lZCB0byByZXNvbHZlIHRvIHRoZSBmdWxsIHBhdGhuYW1lIHRvIHRoZSBmb2xkZXIgb2YgdGhlIGZpbGUgdG8gYmUgcmVtb3ZlZC4nKSwKLSh1J1JlbW92ZUluaUZpbGUnLCB1J0FjdGlvbicsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnMjs0JywgdSdUaGUgdHlwZSBvZiBtb2RpZmljYXRpb24gdG8gYmUgbWFkZSwgb25lIG9mIGlpZkVudW0uJyksCi0odSdSZW1vdmVJbmlGaWxlJywgdSdWYWx1ZScsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJywgTm9uZSwgdSdUaGUgdmFsdWUgdG8gYmUgZGVsZXRlZC4gVGhlIHZhbHVlIGlzIHJlcXVpcmVkIHdoZW4gQWN0aW9uIGlzIGlpZkluaVJlbW92ZVRhZycpLAotKHUnUmVtb3ZlSW5pRmlsZScsIHUnS2V5JywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLCBOb25lLCB1J1RoZSAuSU5JIGZpbGUga2V5IGJlbG93IFNlY3Rpb24uJyksCi0odSdSZW1vdmVJbmlGaWxlJywgdSdDb21wb25lbnRfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0ZvcmVpZ24ga2V5IGludG8gdGhlIENvbXBvbmVudCB0YWJsZSByZWZlcmVuY2luZyBjb21wb25lbnQgdGhhdCBjb250cm9scyB0aGUgZGVsZXRpb24gb2YgdGhlIC5JTkkgdmFsdWUuJyksCi0odSdSZW1vdmVJbmlGaWxlJywgdSdGaWxlTmFtZScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRmlsZW5hbWUnLCBOb25lLCB1J1RoZSAuSU5JIGZpbGUgbmFtZSBpbiB3aGljaCB0byBkZWxldGUgdGhlIGluZm9ybWF0aW9uJyksCi0odSdSZW1vdmVJbmlGaWxlJywgdSdEaXJQcm9wZXJ0eScsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byB0aGUgRGlyZWN0b3J5IHRhYmxlIGRlbm90aW5nIHRoZSBkaXJlY3Rvcnkgd2hlcmUgdGhlIC5JTkkgZmlsZSBpcy4nKSwKLSh1J1JlbW92ZUluaUZpbGUnLCB1J1NlY3Rpb24nLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsIE5vbmUsIHUnVGhlIC5JTkkgZmlsZSBTZWN0aW9uLicpLAotKHUnUmVtb3ZlSW5pRmlsZScsIHUnUmVtb3ZlSW5pRmlsZScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnUHJpbWFyeSBrZXksIG5vbi1sb2NhbGl6ZWQgdG9rZW4uJyksCi0odSdSZW1vdmVSZWdpc3RyeScsIHUnTmFtZScsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJywgTm9uZSwgdSdUaGUgcmVnaXN0cnkgdmFsdWUgbmFtZS4nKSwKLSh1J1JlbW92ZVJlZ2lzdHJ5JywgdSdLZXknLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1JlZ1BhdGgnLCBOb25lLCB1J1RoZSBrZXkgZm9yIHRoZSByZWdpc3RyeSB2YWx1ZS4nKSwKLSh1J1JlbW92ZVJlZ2lzdHJ5JywgdSdDb21wb25lbnRfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0ZvcmVpZ24ga2V5IGludG8gdGhlIENvbXBvbmVudCB0YWJsZSByZWZlcmVuY2luZyBjb21wb25lbnQgdGhhdCBjb250cm9scyB0aGUgZGVsZXRpb24gb2YgdGhlIHJlZ2lzdHJ5IHZhbHVlLicpLAotKHUnUmVtb3ZlUmVnaXN0cnknLCB1J1Jvb3QnLCB1J04nLCAtMSwgMywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUaGUgcHJlZGVmaW5lZCByb290IGtleSBmb3IgdGhlIHJlZ2lzdHJ5IHZhbHVlLCBvbmUgb2YgcnJrRW51bScpLAotKHUnUmVtb3ZlUmVnaXN0cnknLCB1J1JlbW92ZVJlZ2lzdHJ5JywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdQcmltYXJ5IGtleSwgbm9uLWxvY2FsaXplZCB0b2tlbi4nKSwKLSh1J1Jlc2VydmVDb3N0JywgdSdDb21wb25lbnRfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1Jlc2VydmUgYSBzcGVjaWZpZWQgYW1vdW50IG9mIHNwYWNlIGlmIHRoaXMgY29tcG9uZW50IGlzIHRvIGJlIGluc3RhbGxlZC4nKSwKLSh1J1Jlc2VydmVDb3N0JywgdSdSZXNlcnZlRm9sZGVyJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdOYW1lIG9mIGEgcHJvcGVydHkgd2hvc2UgdmFsdWUgaXMgYXNzdW1lZCB0byByZXNvbHZlIHRvIHRoZSBmdWxsIHBhdGggdG8gdGhlIGRlc3RpbmF0aW9uIGRpcmVjdG9yeScpLAotKHUnUmVzZXJ2ZUNvc3QnLCB1J1Jlc2VydmVLZXknLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1ByaW1hcnkga2V5IHRoYXQgdW5pcXVlbHkgaWRlbnRpZmllcyBhIHBhcnRpY3VsYXIgUmVzZXJ2ZUNvc3QgcmVjb3JkJyksCi0odSdSZXNlcnZlQ29zdCcsIHUnUmVzZXJ2ZUxvY2FsJywgdSdOJywgMCwgMjE0NzQ4MzY0NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdEaXNrIHNwYWNlIHRvIHJlc2VydmUgaWYgbGlua2VkIGNvbXBvbmVudCBpcyBpbnN0YWxsZWQgbG9jYWxseS4nKSwKLSh1J1Jlc2VydmVDb3N0JywgdSdSZXNlcnZlU291cmNlJywgdSdOJywgMCwgMjE0NzQ4MzY0NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdEaXNrIHNwYWNlIHRvIHJlc2VydmUgaWYgbGlua2VkIGNvbXBvbmVudCBpcyBpbnN0YWxsZWQgdG8gcnVuIGZyb20gdGhlIHNvdXJjZSBsb2NhdGlvbi4nKSwKLSh1J1NlbGZSZWcnLCB1J0ZpbGVfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdGaWxlJywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdGb3JlaWduIGtleSBpbnRvIHRoZSBGaWxlIHRhYmxlIGRlbm90aW5nIHRoZSBtb2R1bGUgdGhhdCBuZWVkcyB0byBiZSByZWdpc3RlcmVkLicpLAotKHUnU2VsZlJlZycsIHUnQ29zdCcsIHUnWScsIDAsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSBjb3N0IG9mIHJlZ2lzdGVyaW5nIHRoZSBtb2R1bGUuJyksCi0odSdTZXJ2aWNlQ29udHJvbCcsIHUnTmFtZScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJywgTm9uZSwgdSdOYW1lIG9mIGEgc2VydmljZS4gLywgXFwsIGNvbW1hIGFuZCBzcGFjZSBhcmUgaW52YWxpZCcpLAotKHUnU2VydmljZUNvbnRyb2wnLCB1J0V2ZW50JywgdSdOJywgMCwgMTg3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0JpdCBmaWVsZDogIEluc3RhbGw6ICAweDEgPSBTdGFydCwgMHgyID0gU3RvcCwgMHg4ID0gRGVsZXRlLCBVbmluc3RhbGw6IDB4MTAgPSBTdGFydCwgMHgyMCA9IFN0b3AsIDB4ODAgPSBEZWxldGUnKSwKLSh1J1NlcnZpY2VDb250cm9sJywgdSdDb21wb25lbnRfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1JlcXVpcmVkIGZvcmVpZ24ga2V5IGludG8gdGhlIENvbXBvbmVudCBUYWJsZSB0aGF0IGNvbnRyb2xzIHRoZSBzdGFydHVwIG9mIHRoZSBzZXJ2aWNlJyksCi0odSdTZXJ2aWNlQ29udHJvbCcsIHUnU2VydmljZUNvbnRyb2wnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1ByaW1hcnkga2V5LCBub24tbG9jYWxpemVkIHRva2VuLicpLAotKHUnU2VydmljZUNvbnRyb2wnLCB1J0FyZ3VtZW50cycsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJywgTm9uZSwgdSdBcmd1bWVudHMgZm9yIHRoZSBzZXJ2aWNlLiAgU2VwYXJhdGUgYnkgW35dLicpLAotKHUnU2VydmljZUNvbnRyb2wnLCB1J1dhaXQnLCB1J1knLCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Jvb2xlYW4gZm9yIHdoZXRoZXIgdG8gd2FpdCBmb3IgdGhlIHNlcnZpY2UgdG8gZnVsbHkgc3RhcnQnKSwKLSh1J1NlcnZpY2VJbnN0YWxsJywgdSdOYW1lJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLCBOb25lLCB1J0ludGVybmFsIE5hbWUgb2YgdGhlIFNlcnZpY2UnKSwKLSh1J1NlcnZpY2VJbnN0YWxsJywgdSdEZXNjcmlwdGlvbicsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIHUnRGVzY3JpcHRpb24gb2Ygc2VydmljZS4nKSwKLSh1J1NlcnZpY2VJbnN0YWxsJywgdSdDb21wb25lbnRfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1JlcXVpcmVkIGZvcmVpZ24ga2V5IGludG8gdGhlIENvbXBvbmVudCBUYWJsZSB0aGF0IGNvbnRyb2xzIHRoZSBzdGFydHVwIG9mIHRoZSBzZXJ2aWNlJyksCi0odSdTZXJ2aWNlSW5zdGFsbCcsIHUnQXJndW1lbnRzJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLCBOb25lLCB1J0FyZ3VtZW50cyB0byBpbmNsdWRlIGluIGV2ZXJ5IHN0YXJ0IG9mIHRoZSBzZXJ2aWNlLCBwYXNzZWQgdG8gV2luTWFpbicpLAotKHUnU2VydmljZUluc3RhbGwnLCB1J1NlcnZpY2VJbnN0YWxsJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdQcmltYXJ5IGtleSwgbm9uLWxvY2FsaXplZCB0b2tlbi4nKSwKLSh1J1NlcnZpY2VJbnN0YWxsJywgdSdEZXBlbmRlbmNpZXMnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsIE5vbmUsIHUnT3RoZXIgc2VydmljZXMgdGhpcyBkZXBlbmRzIG9uIHRvIHN0YXJ0LiAgU2VwYXJhdGUgYnkgW35dLCBhbmQgZW5kIHdpdGggW35dW35dJyksCi0odSdTZXJ2aWNlSW5zdGFsbCcsIHUnRGlzcGxheU5hbWUnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsIE5vbmUsIHUnRXh0ZXJuYWwgTmFtZSBvZiB0aGUgU2VydmljZScpLAotKHUnU2VydmljZUluc3RhbGwnLCB1J0Vycm9yQ29udHJvbCcsIHUnTicsIC0yMTQ3NDgzNjQ3LCAyMTQ3NDgzNjQ3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1NldmVyaXR5IG9mIGVycm9yIGlmIHNlcnZpY2UgZmFpbHMgdG8gc3RhcnQnKSwKLSh1J1NlcnZpY2VJbnN0YWxsJywgdSdMb2FkT3JkZXJHcm91cCcsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJywgTm9uZSwgdSdMb2FkT3JkZXJHcm91cCcpLAotKHUnU2VydmljZUluc3RhbGwnLCB1J1Bhc3N3b3JkJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLCBOb25lLCB1J3Bhc3N3b3JkIHRvIHJ1biBzZXJ2aWNlIHdpdGguICAod2l0aCBTdGFydE5hbWUpJyksCi0odSdTZXJ2aWNlSW5zdGFsbCcsIHUnU2VydmljZVR5cGUnLCB1J04nLCAtMjE0NzQ4MzY0NywgMjE0NzQ4MzY0NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUeXBlIG9mIHRoZSBzZXJ2aWNlJyksCi0odSdTZXJ2aWNlSW5zdGFsbCcsIHUnU3RhcnROYW1lJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLCBOb25lLCB1J1VzZXIgb3Igb2JqZWN0IG5hbWUgdG8gcnVuIHNlcnZpY2UgYXMnKSwKLSh1J1NlcnZpY2VJbnN0YWxsJywgdSdTdGFydFR5cGUnLCB1J04nLCAwLCA0LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1R5cGUgb2YgdGhlIHNlcnZpY2UnKSwKLSh1J1Nob3J0Y3V0JywgdSdOYW1lJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGaWxlbmFtZScsIE5vbmUsIHUnVGhlIG5hbWUgb2YgdGhlIHNob3J0Y3V0IHRvIGJlIGNyZWF0ZWQuJyksCi0odSdTaG9ydGN1dCcsIHUnRGVzY3JpcHRpb24nLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCB1J1RoZSBkZXNjcmlwdGlvbiBmb3IgdGhlIHNob3J0Y3V0LicpLAotKHUnU2hvcnRjdXQnLCB1J0NvbXBvbmVudF8nLCB1J04nLCBOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byB0aGUgQ29tcG9uZW50IHRhYmxlIGRlbm90aW5nIHRoZSBjb21wb25lbnQgd2hvc2Ugc2VsZWN0aW9uIGdhdGVzIHRoZSBzaG9ydGN1dCBjcmVhdGlvbi9kZWxldGlvbi4nKSwKLSh1J1Nob3J0Y3V0JywgdSdJY29uXycsIHUnWScsIE5vbmUsIE5vbmUsIHUnSWNvbicsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byB0aGUgRmlsZSB0YWJsZSBkZW5vdGluZyB0aGUgZXh0ZXJuYWwgaWNvbiBmaWxlIGZvciB0aGUgc2hvcnRjdXQuJyksCi0odSdTaG9ydGN1dCcsIHUnSWNvbkluZGV4JywgdSdZJywgLTMyNzY3LCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUaGUgaWNvbiBpbmRleCBmb3IgdGhlIHNob3J0Y3V0LicpLAotKHUnU2hvcnRjdXQnLCB1J0RpcmVjdG9yeV8nLCB1J04nLCBOb25lLCBOb25lLCB1J0RpcmVjdG9yeScsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byB0aGUgRGlyZWN0b3J5IHRhYmxlIGRlbm90aW5nIHRoZSBkaXJlY3Rvcnkgd2hlcmUgdGhlIHNob3J0Y3V0IGZpbGUgaXMgY3JlYXRlZC4nKSwKLSh1J1Nob3J0Y3V0JywgdSdUYXJnZXQnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1Nob3J0Y3V0JywgTm9uZSwgdSdUaGUgc2hvcnRjdXQgdGFyZ2V0LiBUaGlzIGlzIHVzdWFsbHkgYSBwcm9wZXJ0eSB0aGF0IGlzIGV4cGFuZGVkIHRvIGEgZmlsZSBvciBhIGZvbGRlciB0aGF0IHRoZSBzaG9ydGN1dCBwb2ludHMgdG8uJyksCi0odSdTaG9ydGN1dCcsIHUnQXJndW1lbnRzJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLCBOb25lLCB1J1RoZSBjb21tYW5kLWxpbmUgYXJndW1lbnRzIGZvciB0aGUgc2hvcnRjdXQuJyksCi0odSdTaG9ydGN1dCcsIHUnU2hvcnRjdXQnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1ByaW1hcnkga2V5LCBub24tbG9jYWxpemVkIHRva2VuLicpLAotKHUnU2hvcnRjdXQnLCB1J0hvdGtleScsIHUnWScsIDAsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSBob3RrZXkgZm9yIHRoZSBzaG9ydGN1dC4gSXQgaGFzIHRoZSB2aXJ0dWFsLWtleSBjb2RlIGZvciB0aGUga2V5IGluIHRoZSBsb3ctb3JkZXIgYnl0ZSwgYW5kIHRoZSBtb2RpZmllciBmbGFncyBpbiB0aGUgaGlnaC1vcmRlciBieXRlLiAnKSwKLSh1J1Nob3J0Y3V0JywgdSdTaG93Q21kJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdScxOzM7NycsIHUnVGhlIHNob3cgY29tbWFuZCBmb3IgdGhlIGFwcGxpY2F0aW9uIHdpbmRvdy5UaGUgZm9sbG93aW5nIHZhbHVlcyBtYXkgYmUgdXNlZC4nKSwKLSh1J1Nob3J0Y3V0JywgdSdXa0RpcicsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnTmFtZSBvZiBwcm9wZXJ0eSBkZWZpbmluZyBsb2NhdGlvbiBvZiB3b3JraW5nIGRpcmVjdG9yeS4nKSwKLSh1J1NpZ25hdHVyZScsIHUnRmlsZU5hbWUnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0ZpbGVuYW1lJywgTm9uZSwgdSdUaGUgbmFtZSBvZiB0aGUgZmlsZS4gVGhpcyBtYXkgY29udGFpbiBhICJzaG9ydCBuYW1lfGxvbmcgbmFtZSIgcGFpci4nKSwKLSh1J1NpZ25hdHVyZScsIHUnU2lnbmF0dXJlJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdUaGUgdGFibGUga2V5LiBUaGUgU2lnbmF0dXJlIHJlcHJlc2VudHMgYSB1bmlxdWUgZmlsZSBzaWduYXR1cmUuJyksCi0odSdTaWduYXR1cmUnLCB1J0xhbmd1YWdlcycsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnTGFuZ3VhZ2UnLCBOb25lLCB1J1RoZSBsYW5ndWFnZXMgc3VwcG9ydGVkIGJ5IHRoZSBmaWxlLicpLAotKHUnU2lnbmF0dXJlJywgdSdNYXhEYXRlJywgdSdZJywgMCwgMjE0NzQ4MzY0NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUaGUgbWF4aW11bSBjcmVhdGlvbiBkYXRlIG9mIHRoZSBmaWxlLicpLAotKHUnU2lnbmF0dXJlJywgdSdNYXhTaXplJywgdSdZJywgMCwgMjE0NzQ4MzY0NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUaGUgbWF4aW11bSBzaXplIG9mIHRoZSBmaWxlLiAnKSwKLSh1J1NpZ25hdHVyZScsIHUnTWF4VmVyc2lvbicsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIHUnVGhlIG1heGltdW0gdmVyc2lvbiBvZiB0aGUgZmlsZS4nKSwKLSh1J1NpZ25hdHVyZScsIHUnTWluRGF0ZScsIHUnWScsIDAsIDIxNDc0ODM2NDcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGhlIG1pbmltdW0gY3JlYXRpb24gZGF0ZSBvZiB0aGUgZmlsZS4nKSwKLSh1J1NpZ25hdHVyZScsIHUnTWluU2l6ZScsIHUnWScsIDAsIDIxNDc0ODM2NDcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGhlIG1pbmltdW0gc2l6ZSBvZiB0aGUgZmlsZS4nKSwKLSh1J1NpZ25hdHVyZScsIHUnTWluVmVyc2lvbicsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIHUnVGhlIG1pbmltdW0gdmVyc2lvbiBvZiB0aGUgZmlsZS4nKSwKLSh1J1R5cGVMaWInLCB1J0ZlYXR1cmVfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdGZWF0dXJlJywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdSZXF1aXJlZCBmb3JlaWduIGtleSBpbnRvIHRoZSBGZWF0dXJlIFRhYmxlLCBzcGVjaWZ5aW5nIHRoZSBmZWF0dXJlIHRvIHZhbGlkYXRlIG9yIGluc3RhbGwgaW4gb3JkZXIgZm9yIHRoZSB0eXBlIGxpYnJhcnkgdG8gYmUgb3BlcmF0aW9uYWwuJyksCi0odSdUeXBlTGliJywgdSdEZXNjcmlwdGlvbicsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIE5vbmUpLAotKHUnVHlwZUxpYicsIHUnQ29tcG9uZW50XycsIHUnTicsIE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdSZXF1aXJlZCBmb3JlaWduIGtleSBpbnRvIHRoZSBDb21wb25lbnQgVGFibGUsIHNwZWNpZnlpbmcgdGhlIGNvbXBvbmVudCBmb3Igd2hpY2ggdG8gcmV0dXJuIGEgcGF0aCB3aGVuIGNhbGxlZCB0aHJvdWdoIExvY2F0ZUNvbXBvbmVudC4nKSwKLSh1J1R5cGVMaWInLCB1J0RpcmVjdG9yeV8nLCB1J1knLCBOb25lLCBOb25lLCB1J0RpcmVjdG9yeScsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnT3B0aW9uYWwuIFRoZSBmb3JlaWduIGtleSBpbnRvIHRoZSBEaXJlY3RvcnkgdGFibGUgZGVub3RpbmcgdGhlIHBhdGggdG8gdGhlIGhlbHAgZmlsZSBmb3IgdGhlIHR5cGUgbGlicmFyeS4nKSwKLSh1J1R5cGVMaWInLCB1J0xhbmd1YWdlJywgdSdOJywgMCwgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGhlIGxhbmd1YWdlIG9mIHRoZSBsaWJyYXJ5LicpLAotKHUnVHlwZUxpYicsIHUnVmVyc2lvbicsIHUnWScsIDAsIDE2Nzc3MjE1LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSB2ZXJzaW9uIG9mIHRoZSBsaWJyYXJ5LiBUaGUgbWlub3IgdmVyc2lvbiBpcyBpbiB0aGUgbG93ZXIgOCBiaXRzIG9mIHRoZSBpbnRlZ2VyLiBUaGUgbWFqb3IgdmVyc2lvbiBpcyBpbiB0aGUgbmV4dCAxNiBiaXRzLiAnKSwKLSh1J1R5cGVMaWInLCB1J0Nvc3QnLCB1J1knLCAwLCAyMTQ3NDgzNjQ3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSBjb3N0IGFzc29jaWF0ZWQgd2l0aCB0aGUgcmVnaXN0cmF0aW9uIG9mIHRoZSB0eXBlbGliLiBUaGlzIGNvbHVtbiBpcyBjdXJyZW50bHkgb3B0aW9uYWwuJyksCi0odSdUeXBlTGliJywgdSdMaWJJRCcsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnR3VpZCcsIE5vbmUsIHUnVGhlIEdVSUQgdGhhdCByZXByZXNlbnRzIHRoZSBsaWJyYXJ5LicpLAotKHUnVXBncmFkZScsIHUnQXR0cmlidXRlcycsIHUnTicsIDAsIDIxNDc0ODM2NDcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGhlIGF0dHJpYnV0ZXMgb2YgdGhpcyBwcm9kdWN0IHNldC4nKSwKLSh1J1VwZ3JhZGUnLCB1J1JlbW92ZScsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJywgTm9uZSwgdSdUaGUgbGlzdCBvZiBmZWF0dXJlcyB0byByZW1vdmUgd2hlbiB1bmluc3RhbGxpbmcgYSBwcm9kdWN0IGZyb20gdGhpcyBzZXQuICBUaGUgZGVmYXVsdCBpcyAiQUxMIi4nKSwKLSh1J1VwZ3JhZGUnLCB1J0xhbmd1YWdlJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdMYW5ndWFnZScsIE5vbmUsIHUnQSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBsYW5ndWFnZXMgZm9yIGVpdGhlciBwcm9kdWN0cyBpbiB0aGlzIHNldCBvciBwcm9kdWN0cyBub3QgaW4gdGhpcyBzZXQuJyksCi0odSdVcGdyYWRlJywgdSdBY3Rpb25Qcm9wZXJ0eScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVXBwZXJDYXNlJywgTm9uZSwgdSdUaGUgcHJvcGVydHkgdG8gc2V0IHdoZW4gYSBwcm9kdWN0IGluIHRoaXMgc2V0IGlzIGZvdW5kLicpLAotKHUnVXBncmFkZScsIHUnVXBncmFkZUNvZGUnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0d1aWQnLCBOb25lLCB1J1RoZSBVcGdyYWRlQ29kZSBHVUlEIGJlbG9uZ2luZyB0byB0aGUgcHJvZHVjdHMgaW4gdGhpcyBzZXQuJyksCi0odSdVcGdyYWRlJywgdSdWZXJzaW9uTWF4JywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgdSdUaGUgbWF4aW11bSBQcm9kdWN0VmVyc2lvbiBvZiB0aGUgcHJvZHVjdHMgaW4gdGhpcyBzZXQuICBUaGUgc2V0IG1heSBvciBtYXkgbm90IGluY2x1ZGUgcHJvZHVjdHMgd2l0aCB0aGlzIHBhcnRpY3VsYXIgdmVyc2lvbi4nKSwKLSh1J1VwZ3JhZGUnLCB1J1ZlcnNpb25NaW4nLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCB1J1RoZSBtaW5pbXVtIFByb2R1Y3RWZXJzaW9uIG9mIHRoZSBwcm9kdWN0cyBpbiB0aGlzIHNldC4gIFRoZSBzZXQgbWF5IG9yIG1heSBub3QgaW5jbHVkZSBwcm9kdWN0cyB3aXRoIHRoaXMgcGFydGljdWxhciB2ZXJzaW9uLicpLAotKHUnVmVyYicsIHUnU2VxdWVuY2UnLCB1J1knLCAwLCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdPcmRlciB3aXRoaW4gdGhlIHZlcmJzIGZvciBhIHBhcnRpY3VsYXIgZXh0ZW5zaW9uLiBBbHNvIHVzZWQgc2ltcGx5IHRvIHNwZWNpZnkgdGhlIGRlZmF1bHQgdmVyYi4nKSwKLSh1J1ZlcmInLCB1J0FyZ3VtZW50JywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLCBOb25lLCB1J09wdGlvbmFsIHZhbHVlIGZvciB0aGUgY29tbWFuZCBhcmd1bWVudHMuJyksCi0odSdWZXJiJywgdSdFeHRlbnNpb25fJywgdSdOJywgTm9uZSwgTm9uZSwgdSdFeHRlbnNpb24nLCAxLCB1J1RleHQnLCBOb25lLCB1J1RoZSBleHRlbnNpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSB0YWJsZSByb3cuJyksCi0odSdWZXJiJywgdSdWZXJiJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgdSdUaGUgdmVyYiBmb3IgdGhlIGNvbW1hbmQuJyksCi0odSdWZXJiJywgdSdDb21tYW5kJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLCBOb25lLCB1J1RoZSBjb21tYW5kIHRleHQuJyksCi1dCi0KLUVycm9yID0gWwotKDAsIHUne3tGYXRhbCBlcnJvcjogfX0nKSwKLSgxLCB1J3t7RXJyb3IgWzFdLiB9fScpLAotKDIsIHUnV2FybmluZyBbMV0uICcpLAotKDMsIE5vbmUpLAotKDQsIHUnSW5mbyBbMV0uICcpLAotKDUsIHUnVGhlIGluc3RhbGxlciBoYXMgZW5jb3VudGVyZWQgYW4gdW5leHBlY3RlZCBlcnJvciBpbnN0YWxsaW5nIHRoaXMgcGFja2FnZS4gVGhpcyBtYXkgaW5kaWNhdGUgYSBwcm9ibGVtIHdpdGggdGhpcyBwYWNrYWdlLiBUaGUgZXJyb3IgY29kZSBpcyBbMV0uIHt7VGhlIGFyZ3VtZW50cyBhcmU6IFsyXSwgWzNdLCBbNF19fScpLAotKDYsIE5vbmUpLAotKDcsIHUne3tEaXNrIGZ1bGw6IH19JyksCi0oOCwgdSdBY3Rpb24gW1RpbWVdOiBbMV0uIFsyXScpLAotKDksIHUnW1Byb2R1Y3ROYW1lXScpLAotKDEwLCB1J3tbMl19eywgWzNdfXssIFs0XX0nKSwKLSgxMSwgdSdNZXNzYWdlIHR5cGU6IFsxXSwgQXJndW1lbnQ6IFsyXScpLAotKDEyLCB1Jz09PSBMb2dnaW5nIHN0YXJ0ZWQ6IFtEYXRlXSAgW1RpbWVdID09PScpLAotKDEzLCB1Jz09PSBMb2dnaW5nIHN0b3BwZWQ6IFtEYXRlXSAgW1RpbWVdID09PScpLAotKDE0LCB1J0FjdGlvbiBzdGFydCBbVGltZV06IFsxXS4nKSwKLSgxNSwgdSdBY3Rpb24gZW5kZWQgW1RpbWVdOiBbMV0uIFJldHVybiB2YWx1ZSBbMl0uJyksCi0oMTYsIHUnVGltZSByZW1haW5pbmc6IHtbMV0gbWludXRlcyB9e1syXSBzZWNvbmRzfScpLAotKDE3LCB1J091dCBvZiBtZW1vcnkuIFNodXQgZG93biBvdGhlciBhcHBsaWNhdGlvbnMgYmVmb3JlIHJldHJ5aW5nLicpLAotKDE4LCB1J0luc3RhbGxlciBpcyBubyBsb25nZXIgcmVzcG9uZGluZy4nKSwKLSgxOSwgdSdJbnN0YWxsZXIgc3RvcHBlZCBwcmVtYXR1cmVseS4nKSwKLSgyMCwgdSdQbGVhc2Ugd2FpdCB3aGlsZSBXaW5kb3dzIGNvbmZpZ3VyZXMgW1Byb2R1Y3ROYW1lXScpLAotKDIxLCB1J0dhdGhlcmluZyByZXF1aXJlZCBpbmZvcm1hdGlvbi4uLicpLAotKDIyLCB1J1JlbW92aW5nIG9sZGVyIHZlcnNpb25zIG9mIHRoaXMgYXBwbGljYXRpb24uLi4nKSwKLSgyMywgdSdQcmVwYXJpbmcgdG8gcmVtb3ZlIG9sZGVyIHZlcnNpb25zIG9mIHRoaXMgYXBwbGljYXRpb24uLi4nKSwKLSgzMiwgdSd7W1Byb2R1Y3ROYW1lXSB9U2V0dXAgY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4nKSwKLSgzMywgdSd7W1Byb2R1Y3ROYW1lXSB9U2V0dXAgZmFpbGVkLicpLAotKDExMDEsIHUnRXJyb3IgcmVhZGluZyBmcm9tIGZpbGU6IFsyXS4ge3sgU3lzdGVtIGVycm9yIFszXS59fSAgVmVyaWZ5IHRoYXQgdGhlIGZpbGUgZXhpc3RzIGFuZCB0aGF0IHlvdSBjYW4gYWNjZXNzIGl0LicpLAotKDEzMDEsIHUiQ2Fubm90IGNyZWF0ZSB0aGUgZmlsZSAnWzJdJy4gIEEgZGlyZWN0b3J5IHdpdGggdGhpcyBuYW1lIGFscmVhZHkgZXhpc3RzLiAgQ2FuY2VsIHRoZSBpbnN0YWxsIGFuZCB0cnkgaW5zdGFsbGluZyB0byBhIGRpZmZlcmVudCBsb2NhdGlvbi4iKSwKLSgxMzAyLCB1J1BsZWFzZSBpbnNlcnQgdGhlIGRpc2s6IFsyXScpLAotKDEzMDMsIHUnVGhlIGluc3RhbGxlciBoYXMgaW5zdWZmaWNpZW50IHByaXZpbGVnZXMgdG8gYWNjZXNzIHRoaXMgZGlyZWN0b3J5OiBbMl0uICBUaGUgaW5zdGFsbGF0aW9uIGNhbm5vdCBjb250aW51ZS4gIExvZyBvbiBhcyBhZG1pbmlzdHJhdG9yIG9yIGNvbnRhY3QgeW91ciBzeXN0ZW0gYWRtaW5pc3RyYXRvci4nKSwKLSgxMzA0LCB1J0Vycm9yIHdyaXRpbmcgdG8gZmlsZTogWzJdLiAgVmVyaWZ5IHRoYXQgeW91IGhhdmUgYWNjZXNzIHRvIHRoYXQgZGlyZWN0b3J5LicpLAotKDEzMDUsIHUnRXJyb3IgcmVhZGluZyBmcm9tIGZpbGUgWzJdLiB7eyBTeXN0ZW0gZXJyb3IgWzNdLn19IFZlcmlmeSB0aGF0IHRoZSBmaWxlIGV4aXN0cyBhbmQgdGhhdCB5b3UgY2FuIGFjY2VzcyBpdC4nKSwKLSgxMzA2LCB1IkFub3RoZXIgYXBwbGljYXRpb24gaGFzIGV4Y2x1c2l2ZSBhY2Nlc3MgdG8gdGhlIGZpbGUgJ1syXScuICBQbGVhc2Ugc2h1dCBkb3duIGFsbCBvdGhlciBhcHBsaWNhdGlvbnMsIHRoZW4gY2xpY2sgUmV0cnkuIiksCi0oMTMwNywgdSdUaGVyZSBpcyBub3QgZW5vdWdoIGRpc2sgc3BhY2UgdG8gaW5zdGFsbCB0aGlzIGZpbGU6IFsyXS4gIEZyZWUgc29tZSBkaXNrIHNwYWNlIGFuZCBjbGljayBSZXRyeSwgb3IgY2xpY2sgQ2FuY2VsIHRvIGV4aXQuJyksCi0oMTMwOCwgdSdTb3VyY2UgZmlsZSBub3QgZm91bmQ6IFsyXS4gIFZlcmlmeSB0aGF0IHRoZSBmaWxlIGV4aXN0cyBhbmQgdGhhdCB5b3UgY2FuIGFjY2VzcyBpdC4nKSwKLSgxMzA5LCB1J0Vycm9yIHJlYWRpbmcgZnJvbSBmaWxlOiBbM10uIHt7IFN5c3RlbSBlcnJvciBbMl0ufX0gIFZlcmlmeSB0aGF0IHRoZSBmaWxlIGV4aXN0cyBhbmQgdGhhdCB5b3UgY2FuIGFjY2VzcyBpdC4nKSwKLSgxMzEwLCB1J0Vycm9yIHdyaXRpbmcgdG8gZmlsZTogWzNdLiB7eyBTeXN0ZW0gZXJyb3IgWzJdLn19ICBWZXJpZnkgdGhhdCB5b3UgaGF2ZSBhY2Nlc3MgdG8gdGhhdCBkaXJlY3RvcnkuJyksCi0oMTMxMSwgdSdTb3VyY2UgZmlsZSBub3QgZm91bmR7eyhjYWJpbmV0KX19OiBbMl0uICBWZXJpZnkgdGhhdCB0aGUgZmlsZSBleGlzdHMgYW5kIHRoYXQgeW91IGNhbiBhY2Nlc3MgaXQuJyksCi0oMTMxMiwgdSJDYW5ub3QgY3JlYXRlIHRoZSBkaXJlY3RvcnkgJ1syXScuICBBIGZpbGUgd2l0aCB0aGlzIG5hbWUgYWxyZWFkeSBleGlzdHMuICBQbGVhc2UgcmVuYW1lIG9yIHJlbW92ZSB0aGUgZmlsZSBhbmQgY2xpY2sgcmV0cnksIG9yIGNsaWNrIENhbmNlbCB0byBleGl0LiIpLAotKDEzMTMsIHUnVGhlIHZvbHVtZSBbMl0gaXMgY3VycmVudGx5IHVuYXZhaWxhYmxlLiAgUGxlYXNlIHNlbGVjdCBhbm90aGVyLicpLAotKDEzMTQsIHUiVGhlIHNwZWNpZmllZCBwYXRoICdbMl0nIGlzIHVuYXZhaWxhYmxlLiIpLAotKDEzMTUsIHUnVW5hYmxlIHRvIHdyaXRlIHRvIHRoZSBzcGVjaWZpZWQgZm9sZGVyOiBbMl0uJyksCi0oMTMxNiwgdSdBIG5ldHdvcmsgZXJyb3Igb2NjdXJyZWQgd2hpbGUgYXR0ZW1wdGluZyB0byByZWFkIGZyb20gdGhlIGZpbGU6IFsyXScpLAotKDEzMTcsIHUnQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgYXR0ZW1wdGluZyB0byBjcmVhdGUgdGhlIGRpcmVjdG9yeTogWzJdJyksCi0oMTMxOCwgdSdBIG5ldHdvcmsgZXJyb3Igb2NjdXJyZWQgd2hpbGUgYXR0ZW1wdGluZyB0byBjcmVhdGUgdGhlIGRpcmVjdG9yeTogWzJdJyksCi0oMTMxOSwgdSdBIG5ldHdvcmsgZXJyb3Igb2NjdXJyZWQgd2hpbGUgYXR0ZW1wdGluZyB0byBvcGVuIHRoZSBzb3VyY2UgZmlsZSBjYWJpbmV0OiBbMl0nKSwKLSgxMzIwLCB1J1RoZSBzcGVjaWZpZWQgcGF0aCBpcyB0b28gbG9uZzogWzJdJyksCi0oMTMyMSwgdSdUaGUgSW5zdGFsbGVyIGhhcyBpbnN1ZmZpY2llbnQgcHJpdmlsZWdlcyB0byBtb2RpZnkgdGhpcyBmaWxlOiBbMl0uJyksCi0oMTMyMiwgdSJBIHBvcnRpb24gb2YgdGhlIGZvbGRlciBwYXRoICdbMl0nIGlzIGludmFsaWQuICBJdCBpcyBlaXRoZXIgZW1wdHkgb3IgZXhjZWVkcyB0aGUgbGVuZ3RoIGFsbG93ZWQgYnkgdGhlIHN5c3RlbS4iKSwKLSgxMzIzLCB1IlRoZSBmb2xkZXIgcGF0aCAnWzJdJyBjb250YWlucyB3b3JkcyB0aGF0IGFyZSBub3QgdmFsaWQgaW4gZm9sZGVyIHBhdGhzLiIpLAotKDEzMjQsIHUiVGhlIGZvbGRlciBwYXRoICdbMl0nIGNvbnRhaW5zIGFuIGludmFsaWQgY2hhcmFjdGVyLiIpLAotKDEzMjUsIHUiJ1syXScgaXMgbm90IGEgdmFsaWQgc2hvcnQgZmlsZSBuYW1lLiIpLAotKDEzMjYsIHUnRXJyb3IgZ2V0dGluZyBmaWxlIHNlY3VyaXR5OiBbM10gR2V0TGFzdEVycm9yOiBbMl0nKSwKLSgxMzI3LCB1J0ludmFsaWQgRHJpdmU6IFsyXScpLAotKDEzMjgsIHUnRXJyb3IgYXBwbHlpbmcgcGF0Y2ggdG8gZmlsZSBbMl0uICBJdCBoYXMgcHJvYmFibHkgYmVlbiB1cGRhdGVkIGJ5IG90aGVyIG1lYW5zLCBhbmQgY2FuIG5vIGxvbmdlciBiZSBtb2RpZmllZCBieSB0aGlzIHBhdGNoLiAgRm9yIG1vcmUgaW5mb3JtYXRpb24gY29udGFjdCB5b3VyIHBhdGNoIHZlbmRvci4gIHt7U3lzdGVtIEVycm9yOiBbM119fScpLAotKDEzMjksIHUnQSBmaWxlIHRoYXQgaXMgcmVxdWlyZWQgY2Fubm90IGJlIGluc3RhbGxlZCBiZWNhdXNlIHRoZSBjYWJpbmV0IGZpbGUgWzJdIGlzIG5vdCBkaWdpdGFsbHkgc2lnbmVkLiAgVGhpcyBtYXkgaW5kaWNhdGUgdGhhdCB0aGUgY2FiaW5ldCBmaWxlIGlzIGNvcnJ1cHQuJyksCi0oMTMzMCwgdSdBIGZpbGUgdGhhdCBpcyByZXF1aXJlZCBjYW5ub3QgYmUgaW5zdGFsbGVkIGJlY2F1c2UgdGhlIGNhYmluZXQgZmlsZSBbMl0gaGFzIGFuIGludmFsaWQgZGlnaXRhbCBzaWduYXR1cmUuICBUaGlzIG1heSBpbmRpY2F0ZSB0aGF0IHRoZSBjYWJpbmV0IGZpbGUgaXMgY29ycnVwdC57eyAgRXJyb3IgWzNdIHdhcyByZXR1cm5lZCBieSBXaW5WZXJpZnlUcnVzdC59fScpLAotKDEzMzEsIHUnRmFpbGVkIHRvIGNvcnJlY3RseSBjb3B5IFsyXSBmaWxlOiBDUkMgZXJyb3IuJyksCi0oMTMzMiwgdSdGYWlsZWQgdG8gY29ycmVjdGx5IG1vdmUgWzJdIGZpbGU6IENSQyBlcnJvci4nKSwKLSgxMzMzLCB1J0ZhaWxlZCB0byBjb3JyZWN0bHkgcGF0Y2ggWzJdIGZpbGU6IENSQyBlcnJvci4nKSwKLSgxMzM0LCB1IlRoZSBmaWxlICdbMl0nIGNhbm5vdCBiZSBpbnN0YWxsZWQgYmVjYXVzZSB0aGUgZmlsZSBjYW5ub3QgYmUgZm91bmQgaW4gY2FiaW5ldCBmaWxlICdbM10nLiBUaGlzIGNvdWxkIGluZGljYXRlIGEgbmV0d29yayBlcnJvciwgYW4gZXJyb3IgcmVhZGluZyBmcm9tIHRoZSBDRC1ST00sIG9yIGEgcHJvYmxlbSB3aXRoIHRoaXMgcGFja2FnZS4iKSwKLSgxMzM1LCB1IlRoZSBjYWJpbmV0IGZpbGUgJ1syXScgcmVxdWlyZWQgZm9yIHRoaXMgaW5zdGFsbGF0aW9uIGlzIGNvcnJ1cHQgYW5kIGNhbm5vdCBiZSB1c2VkLiBUaGlzIGNvdWxkIGluZGljYXRlIGEgbmV0d29yayBlcnJvciwgYW4gZXJyb3IgcmVhZGluZyBmcm9tIHRoZSBDRC1ST00sIG9yIGEgcHJvYmxlbSB3aXRoIHRoaXMgcGFja2FnZS4iKSwKLSgxMzM2LCB1J1RoZXJlIHdhcyBhbiBlcnJvciBjcmVhdGluZyBhIHRlbXBvcmFyeSBmaWxlIHRoYXQgaXMgbmVlZGVkIHRvIGNvbXBsZXRlIHRoaXMgaW5zdGFsbGF0aW9uLnt7ICBGb2xkZXI6IFszXS4gU3lzdGVtIGVycm9yIGNvZGU6IFsyXX19JyksCi0oMTQwMSwgdSdDb3VsZCBub3QgY3JlYXRlIGtleTogWzJdLiB7eyBTeXN0ZW0gZXJyb3IgWzNdLn19ICBWZXJpZnkgdGhhdCB5b3UgaGF2ZSBzdWZmaWNpZW50IGFjY2VzcyB0byB0aGF0IGtleSwgb3IgY29udGFjdCB5b3VyIHN1cHBvcnQgcGVyc29ubmVsLiAnKSwKLSgxNDAyLCB1J0NvdWxkIG5vdCBvcGVuIGtleTogWzJdLiB7eyBTeXN0ZW0gZXJyb3IgWzNdLn19ICBWZXJpZnkgdGhhdCB5b3UgaGF2ZSBzdWZmaWNpZW50IGFjY2VzcyB0byB0aGF0IGtleSwgb3IgY29udGFjdCB5b3VyIHN1cHBvcnQgcGVyc29ubmVsLiAnKSwKLSgxNDAzLCB1J0NvdWxkIG5vdCBkZWxldGUgdmFsdWUgWzJdIGZyb20ga2V5IFszXS4ge3sgU3lzdGVtIGVycm9yIFs0XS59fSAgVmVyaWZ5IHRoYXQgeW91IGhhdmUgc3VmZmljaWVudCBhY2Nlc3MgdG8gdGhhdCBrZXksIG9yIGNvbnRhY3QgeW91ciBzdXBwb3J0IHBlcnNvbm5lbC4gJyksCi0oMTQwNCwgdSdDb3VsZCBub3QgZGVsZXRlIGtleSBbMl0uIHt7IFN5c3RlbSBlcnJvciBbM10ufX0gIFZlcmlmeSB0aGF0IHlvdSBoYXZlIHN1ZmZpY2llbnQgYWNjZXNzIHRvIHRoYXQga2V5LCBvciBjb250YWN0IHlvdXIgc3VwcG9ydCBwZXJzb25uZWwuICcpLAotKDE0MDUsIHUnQ291bGQgbm90IHJlYWQgdmFsdWUgWzJdIGZyb20ga2V5IFszXS4ge3sgU3lzdGVtIGVycm9yIFs0XS59fSAgVmVyaWZ5IHRoYXQgeW91IGhhdmUgc3VmZmljaWVudCBhY2Nlc3MgdG8gdGhhdCBrZXksIG9yIGNvbnRhY3QgeW91ciBzdXBwb3J0IHBlcnNvbm5lbC4gJyksCi0oMTQwNiwgdSdDb3VsZCBub3Qgd3JpdGUgdmFsdWUgWzJdIHRvIGtleSBbM10uIHt7IFN5c3RlbSBlcnJvciBbNF0ufX0gIFZlcmlmeSB0aGF0IHlvdSBoYXZlIHN1ZmZpY2llbnQgYWNjZXNzIHRvIHRoYXQga2V5LCBvciBjb250YWN0IHlvdXIgc3VwcG9ydCBwZXJzb25uZWwuJyksCi0oMTQwNywgdSdDb3VsZCBub3QgZ2V0IHZhbHVlIG5hbWVzIGZvciBrZXkgWzJdLiB7eyBTeXN0ZW0gZXJyb3IgWzNdLn19ICBWZXJpZnkgdGhhdCB5b3UgaGF2ZSBzdWZmaWNpZW50IGFjY2VzcyB0byB0aGF0IGtleSwgb3IgY29udGFjdCB5b3VyIHN1cHBvcnQgcGVyc29ubmVsLicpLAotKDE0MDgsIHUnQ291bGQgbm90IGdldCBzdWIga2V5IG5hbWVzIGZvciBrZXkgWzJdLiB7eyBTeXN0ZW0gZXJyb3IgWzNdLn19ICBWZXJpZnkgdGhhdCB5b3UgaGF2ZSBzdWZmaWNpZW50IGFjY2VzcyB0byB0aGF0IGtleSwgb3IgY29udGFjdCB5b3VyIHN1cHBvcnQgcGVyc29ubmVsLicpLAotKDE0MDksIHUnQ291bGQgbm90IHJlYWQgc2VjdXJpdHkgaW5mb3JtYXRpb24gZm9yIGtleSBbMl0uIHt7IFN5c3RlbSBlcnJvciBbM10ufX0gIFZlcmlmeSB0aGF0IHlvdSBoYXZlIHN1ZmZpY2llbnQgYWNjZXNzIHRvIHRoYXQga2V5LCBvciBjb250YWN0IHlvdXIgc3VwcG9ydCBwZXJzb25uZWwuJyksCi0oMTQxMCwgdSdDb3VsZCBub3QgaW5jcmVhc2UgdGhlIGF2YWlsYWJsZSByZWdpc3RyeSBzcGFjZS4gWzJdIEtCIG9mIGZyZWUgcmVnaXN0cnkgc3BhY2UgaXMgcmVxdWlyZWQgZm9yIHRoZSBpbnN0YWxsYXRpb24gb2YgdGhpcyBhcHBsaWNhdGlvbi4nKSwKLSgxNTAwLCB1J0Fub3RoZXIgaW5zdGFsbGF0aW9uIGlzIGluIHByb2dyZXNzLiBZb3UgbXVzdCBjb21wbGV0ZSB0aGF0IGluc3RhbGxhdGlvbiBiZWZvcmUgY29udGludWluZyB0aGlzIG9uZS4nKSwKLSgxNTAxLCB1J0Vycm9yIGFjY2Vzc2luZyBzZWN1cmVkIGRhdGEuIFBsZWFzZSBtYWtlIHN1cmUgdGhlIFdpbmRvd3MgSW5zdGFsbGVyIGlzIGNvbmZpZ3VyZWQgcHJvcGVybHkgYW5kIHRyeSB0aGUgaW5zdGFsbCBhZ2Fpbi4nKSwKLSgxNTAyLCB1IlVzZXIgJ1syXScgaGFzIHByZXZpb3VzbHkgaW5pdGlhdGVkIGFuIGluc3RhbGwgZm9yIHByb2R1Y3QgJ1szXScuICBUaGF0IHVzZXIgd2lsbCBuZWVkIHRvIHJ1biB0aGF0IGluc3RhbGwgYWdhaW4gYmVmb3JlIHRoZXkgY2FuIHVzZSB0aGF0IHByb2R1Y3QuICBZb3VyIGN1cnJlbnQgaW5zdGFsbCB3aWxsIG5vdyBjb250aW51ZS4iKSwKLSgxNTAzLCB1IlVzZXIgJ1syXScgaGFzIHByZXZpb3VzbHkgaW5pdGlhdGVkIGFuIGluc3RhbGwgZm9yIHByb2R1Y3QgJ1szXScuICBUaGF0IHVzZXIgd2lsbCBuZWVkIHRvIHJ1biB0aGF0IGluc3RhbGwgYWdhaW4gYmVmb3JlIHRoZXkgY2FuIHVzZSB0aGF0IHByb2R1Y3QuIiksCi0oMTYwMSwgdSJPdXQgb2YgZGlzayBzcGFjZSAtLSBWb2x1bWU6ICdbMl0nOyByZXF1aXJlZCBzcGFjZTogWzNdIEtCOyBhdmFpbGFibGUgc3BhY2U6IFs0XSBLQi4gIEZyZWUgc29tZSBkaXNrIHNwYWNlIGFuZCByZXRyeS4iKSwKLSgxNjAyLCB1J0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBjYW5jZWw/JyksCi0oMTYwMywgdSJUaGUgZmlsZSBbMl1bM10gaXMgYmVpbmcgaGVsZCBpbiB1c2V7IGJ5IHRoZSBmb2xsb3dpbmcgcHJvY2VzczogTmFtZTogWzRdLCBJZDogWzVdLCBXaW5kb3cgVGl0bGU6ICdbNl0nfS4gIENsb3NlIHRoYXQgYXBwbGljYXRpb24gYW5kIHJldHJ5LiIpLAotKDE2MDQsIHUiVGhlIHByb2R1Y3QgJ1syXScgaXMgYWxyZWFkeSBpbnN0YWxsZWQsIHByZXZlbnRpbmcgdGhlIGluc3RhbGxhdGlvbiBvZiB0aGlzIHByb2R1Y3QuICBUaGUgdHdvIHByb2R1Y3RzIGFyZSBpbmNvbXBhdGlibGUuIiksCi0oMTYwNSwgdSJUaGVyZSBpcyBub3QgZW5vdWdoIGRpc2sgc3BhY2Ugb24gdGhlIHZvbHVtZSAnWzJdJyB0byBjb250aW51ZSB0aGUgaW5zdGFsbCB3aXRoIHJlY292ZXJ5IGVuYWJsZWQuIFszXSBLQiBhcmUgcmVxdWlyZWQsIGJ1dCBvbmx5IFs0XSBLQiBhcmUgYXZhaWxhYmxlLiBDbGljayBJZ25vcmUgdG8gY29udGludWUgdGhlIGluc3RhbGwgd2l0aG91dCBzYXZpbmcgcmVjb3ZlcnkgaW5mb3JtYXRpb24sIGNsaWNrIFJldHJ5IHRvIGNoZWNrIGZvciBhdmFpbGFibGUgc3BhY2UgYWdhaW4sIG9yIGNsaWNrIENhbmNlbCB0byBxdWl0IHRoZSBpbnN0YWxsYXRpb24uIiksCi0oMTYwNiwgdSdDb3VsZCBub3QgYWNjZXNzIG5ldHdvcmsgbG9jYXRpb24gWzJdLicpLAotKDE2MDcsIHUnVGhlIGZvbGxvd2luZyBhcHBsaWNhdGlvbnMgc2hvdWxkIGJlIGNsb3NlZCBiZWZvcmUgY29udGludWluZyB0aGUgaW5zdGFsbDonKSwKLSgxNjA4LCB1J0NvdWxkIG5vdCBmaW5kIGFueSBwcmV2aW91c2x5IGluc3RhbGxlZCBjb21wbGlhbnQgcHJvZHVjdHMgb24gdGhlIG1hY2hpbmUgZm9yIGluc3RhbGxpbmcgdGhpcyBwcm9kdWN0LicpLAotKDE2MDksIHUiQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgYXBwbHlpbmcgc2VjdXJpdHkgc2V0dGluZ3MuIFsyXSBpcyBub3QgYSB2YWxpZCB1c2VyIG9yIGdyb3VwLiBUaGlzIGNvdWxkIGJlIGEgcHJvYmxlbSB3aXRoIHRoZSBwYWNrYWdlLCBvciBhIHByb2JsZW0gY29ubmVjdGluZyB0byBhIGRvbWFpbiBjb250cm9sbGVyIG9uIHRoZSBuZXR3b3JrLiBDaGVjayB5b3VyIG5ldHdvcmsgY29ubmVjdGlvbiBhbmQgY2xpY2sgUmV0cnksIG9yIENhbmNlbCB0byBlbmQgdGhlIGluc3RhbGwuIHt7VW5hYmxlIHRvIGxvY2F0ZSB0aGUgdXNlcidzIFNJRCwgc3lzdGVtIGVycm9yIFszXX19IiksCi0oMTcwMSwgdSdUaGUga2V5IFsyXSBpcyBub3QgdmFsaWQuICBWZXJpZnkgdGhhdCB5b3UgZW50ZXJlZCB0aGUgY29ycmVjdCBrZXkuJyksCi0oMTcwMiwgdSdUaGUgaW5zdGFsbGVyIG11c3QgcmVzdGFydCB5b3VyIHN5c3RlbSBiZWZvcmUgY29uZmlndXJhdGlvbiBvZiBbMl0gY2FuIGNvbnRpbnVlLiAgQ2xpY2sgWWVzIHRvIHJlc3RhcnQgbm93IG9yIE5vIGlmIHlvdSBwbGFuIHRvIG1hbnVhbGx5IHJlc3RhcnQgbGF0ZXIuJyksCi0oMTcwMywgdSdZb3UgbXVzdCByZXN0YXJ0IHlvdXIgc3lzdGVtIGZvciB0aGUgY29uZmlndXJhdGlvbiBjaGFuZ2VzIG1hZGUgdG8gWzJdIHRvIHRha2UgZWZmZWN0LiBDbGljayBZZXMgdG8gcmVzdGFydCBub3cgb3IgTm8gaWYgeW91IHBsYW4gdG8gbWFudWFsbHkgcmVzdGFydCBsYXRlci4nKSwKLSgxNzA0LCB1J0FuIGluc3RhbGxhdGlvbiBmb3IgWzJdIGlzIGN1cnJlbnRseSBzdXNwZW5kZWQuICBZb3UgbXVzdCB1bmRvIHRoZSBjaGFuZ2VzIG1hZGUgYnkgdGhhdCBpbnN0YWxsYXRpb24gdG8gY29udGludWUuICBEbyB5b3Ugd2FudCB0byB1bmRvIHRob3NlIGNoYW5nZXM/JyksCi0oMTcwNSwgdSdBIHByZXZpb3VzIGluc3RhbGxhdGlvbiBmb3IgdGhpcyBwcm9kdWN0IGlzIGluIHByb2dyZXNzLiAgWW91IG11c3QgdW5kbyB0aGUgY2hhbmdlcyBtYWRlIGJ5IHRoYXQgaW5zdGFsbGF0aW9uIHRvIGNvbnRpbnVlLiAgRG8geW91IHdhbnQgdG8gdW5kbyB0aG9zZSBjaGFuZ2VzPycpLAotKDE3MDYsIHUiQW4gaW5zdGFsbGF0aW9uIHBhY2thZ2UgZm9yIHRoZSBwcm9kdWN0IFsyXSBjYW5ub3QgYmUgZm91bmQuIFRyeSB0aGUgaW5zdGFsbGF0aW9uIGFnYWluIHVzaW5nIGEgdmFsaWQgY29weSBvZiB0aGUgaW5zdGFsbGF0aW9uIHBhY2thZ2UgJ1szXScuIiksCi0oMTcwNywgdSdJbnN0YWxsYXRpb24gY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4nKSwKLSgxNzA4LCB1J0luc3RhbGxhdGlvbiBmYWlsZWQuJyksCi0oMTcwOSwgdSdQcm9kdWN0OiBbMl0gLS0gWzNdJyksCi0oMTcxMCwgdSdZb3UgbWF5IGVpdGhlciByZXN0b3JlIHlvdXIgY29tcHV0ZXIgdG8gaXRzIHByZXZpb3VzIHN0YXRlIG9yIGNvbnRpbnVlIHRoZSBpbnN0YWxsIGxhdGVyLiBXb3VsZCB5b3UgbGlrZSB0byByZXN0b3JlPycpLAotKDE3MTEsIHUnQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgd3JpdGluZyBpbnN0YWxsYXRpb24gaW5mb3JtYXRpb24gdG8gZGlzay4gIENoZWNrIHRvIG1ha2Ugc3VyZSBlbm91Z2ggZGlzayBzcGFjZSBpcyBhdmFpbGFibGUsIGFuZCBjbGljayBSZXRyeSwgb3IgQ2FuY2VsIHRvIGVuZCB0aGUgaW5zdGFsbC4nKSwKLSgxNzEyLCB1J09uZSBvciBtb3JlIG9mIHRoZSBmaWxlcyByZXF1aXJlZCB0byByZXN0b3JlIHlvdXIgY29tcHV0ZXIgdG8gaXRzIHByZXZpb3VzIHN0YXRlIGNvdWxkIG5vdCBiZSBmb3VuZC4gIFJlc3RvcmF0aW9uIHdpbGwgbm90IGJlIHBvc3NpYmxlLicpLAotKDE3MTMsIHUnWzJdIGNhbm5vdCBpbnN0YWxsIG9uZSBvZiBpdHMgcmVxdWlyZWQgcHJvZHVjdHMuIENvbnRhY3QgeW91ciB0ZWNobmljYWwgc3VwcG9ydCBncm91cC4gIHt7U3lzdGVtIEVycm9yOiBbM10ufX0nKSwKLSgxNzE0LCB1J1RoZSBvbGRlciB2ZXJzaW9uIG9mIFsyXSBjYW5ub3QgYmUgcmVtb3ZlZC4gIENvbnRhY3QgeW91ciB0ZWNobmljYWwgc3VwcG9ydCBncm91cC4gIHt7U3lzdGVtIEVycm9yIFszXS59fScpLAotKDE3MTUsIHUnSW5zdGFsbGVkIFsyXScpLAotKDE3MTYsIHUnQ29uZmlndXJlZCBbMl0nKSwKLSgxNzE3LCB1J1JlbW92ZWQgWzJdJyksCi0oMTcxOCwgdSdGaWxlIFsyXSB3YXMgcmVqZWN0ZWQgYnkgZGlnaXRhbCBzaWduYXR1cmUgcG9saWN5LicpLAotKDE3MTksIHUnVGhlIFdpbmRvd3MgSW5zdGFsbGVyIFNlcnZpY2UgY291bGQgbm90IGJlIGFjY2Vzc2VkLiBUaGlzIGNhbiBvY2N1ciBpZiB5b3UgYXJlIHJ1bm5pbmcgV2luZG93cyBpbiBzYWZlIG1vZGUsIG9yIGlmIHRoZSBXaW5kb3dzIEluc3RhbGxlciBpcyBub3QgY29ycmVjdGx5IGluc3RhbGxlZC4gQ29udGFjdCB5b3VyIHN1cHBvcnQgcGVyc29ubmVsIGZvciBhc3Npc3RhbmNlLicpLAotKDE3MjAsIHUnVGhlcmUgaXMgYSBwcm9ibGVtIHdpdGggdGhpcyBXaW5kb3dzIEluc3RhbGxlciBwYWNrYWdlLiBBIHNjcmlwdCByZXF1aXJlZCBmb3IgdGhpcyBpbnN0YWxsIHRvIGNvbXBsZXRlIGNvdWxkIG5vdCBiZSBydW4uIENvbnRhY3QgeW91ciBzdXBwb3J0IHBlcnNvbm5lbCBvciBwYWNrYWdlIHZlbmRvci4gIHt7Q3VzdG9tIGFjdGlvbiBbMl0gc2NyaXB0IGVycm9yIFszXSwgWzRdOiBbNV0gTGluZSBbNl0sIENvbHVtbiBbN10sIFs4XSB9fScpLAotKDE3MjEsIHUnVGhlcmUgaXMgYSBwcm9ibGVtIHdpdGggdGhpcyBXaW5kb3dzIEluc3RhbGxlciBwYWNrYWdlLiBBIHByb2dyYW0gcmVxdWlyZWQgZm9yIHRoaXMgaW5zdGFsbCB0byBjb21wbGV0ZSBjb3VsZCBub3QgYmUgcnVuLiBDb250YWN0IHlvdXIgc3VwcG9ydCBwZXJzb25uZWwgb3IgcGFja2FnZSB2ZW5kb3IuIHt7QWN0aW9uOiBbMl0sIGxvY2F0aW9uOiBbM10sIGNvbW1hbmQ6IFs0XSB9fScpLAotKDE3MjIsIHUnVGhlcmUgaXMgYSBwcm9ibGVtIHdpdGggdGhpcyBXaW5kb3dzIEluc3RhbGxlciBwYWNrYWdlLiBBIHByb2dyYW0gcnVuIGFzIHBhcnQgb2YgdGhlIHNldHVwIGRpZCBub3QgZmluaXNoIGFzIGV4cGVjdGVkLiBDb250YWN0IHlvdXIgc3VwcG9ydCBwZXJzb25uZWwgb3IgcGFja2FnZSB2ZW5kb3IuICB7e0FjdGlvbiBbMl0sIGxvY2F0aW9uOiBbM10sIGNvbW1hbmQ6IFs0XSB9fScpLAotKDE3MjMsIHUnVGhlcmUgaXMgYSBwcm9ibGVtIHdpdGggdGhpcyBXaW5kb3dzIEluc3RhbGxlciBwYWNrYWdlLiBBIERMTCByZXF1aXJlZCBmb3IgdGhpcyBpbnN0YWxsIHRvIGNvbXBsZXRlIGNvdWxkIG5vdCBiZSBydW4uIENvbnRhY3QgeW91ciBzdXBwb3J0IHBlcnNvbm5lbCBvciBwYWNrYWdlIHZlbmRvci4gIHt7QWN0aW9uIFsyXSwgZW50cnk6IFszXSwgbGlicmFyeTogWzRdIH19JyksCi0oMTcyNCwgdSdSZW1vdmFsIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuJyksCi0oMTcyNSwgdSdSZW1vdmFsIGZhaWxlZC4nKSwKLSgxNzI2LCB1J0FkdmVydGlzZW1lbnQgY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4nKSwKLSgxNzI3LCB1J0FkdmVydGlzZW1lbnQgZmFpbGVkLicpLAotKDE3MjgsIHUnQ29uZmlndXJhdGlvbiBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LicpLAotKDE3MjksIHUnQ29uZmlndXJhdGlvbiBmYWlsZWQuJyksCi0oMTczMCwgdSdZb3UgbXVzdCBiZSBhbiBBZG1pbmlzdHJhdG9yIHRvIHJlbW92ZSB0aGlzIGFwcGxpY2F0aW9uLiBUbyByZW1vdmUgdGhpcyBhcHBsaWNhdGlvbiwgeW91IGNhbiBsb2cgb24gYXMgYW4gQWRtaW5pc3RyYXRvciwgb3IgY29udGFjdCB5b3VyIHRlY2huaWNhbCBzdXBwb3J0IGdyb3VwIGZvciBhc3Npc3RhbmNlLicpLAotKDE4MDEsIHUnVGhlIHBhdGggWzJdIGlzIG5vdCB2YWxpZC4gIFBsZWFzZSBzcGVjaWZ5IGEgdmFsaWQgcGF0aC4nKSwKLSgxODAyLCB1J091dCBvZiBtZW1vcnkuIFNodXQgZG93biBvdGhlciBhcHBsaWNhdGlvbnMgYmVmb3JlIHJldHJ5aW5nLicpLAotKDE4MDMsIHUnVGhlcmUgaXMgbm8gZGlzayBpbiBkcml2ZSBbMl0uIFBsZWFzZSBpbnNlcnQgb25lIGFuZCBjbGljayBSZXRyeSwgb3IgY2xpY2sgQ2FuY2VsIHRvIGdvIGJhY2sgdG8gdGhlIHByZXZpb3VzbHkgc2VsZWN0ZWQgdm9sdW1lLicpLAotKDE4MDQsIHUnVGhlcmUgaXMgbm8gZGlzayBpbiBkcml2ZSBbMl0uIFBsZWFzZSBpbnNlcnQgb25lIGFuZCBjbGljayBSZXRyeSwgb3IgY2xpY2sgQ2FuY2VsIHRvIHJldHVybiB0byB0aGUgYnJvd3NlIGRpYWxvZyBhbmQgc2VsZWN0IGEgZGlmZmVyZW50IHZvbHVtZS4nKSwKLSgxODA1LCB1J1RoZSBmb2xkZXIgWzJdIGRvZXMgbm90IGV4aXN0LiAgUGxlYXNlIGVudGVyIGEgcGF0aCB0byBhbiBleGlzdGluZyBmb2xkZXIuJyksCi0oMTgwNiwgdSdZb3UgaGF2ZSBpbnN1ZmZpY2llbnQgcHJpdmlsZWdlcyB0byByZWFkIHRoaXMgZm9sZGVyLicpLAotKDE4MDcsIHUnQSB2YWxpZCBkZXN0aW5hdGlvbiBmb2xkZXIgZm9yIHRoZSBpbnN0YWxsIGNvdWxkIG5vdCBiZSBkZXRlcm1pbmVkLicpLAotKDE5MDEsIHUnRXJyb3IgYXR0ZW1wdGluZyB0byByZWFkIGZyb20gdGhlIHNvdXJjZSBpbnN0YWxsIGRhdGFiYXNlOiBbMl0uJyksCi0oMTkwMiwgdSdTY2hlZHVsaW5nIHJlYm9vdCBvcGVyYXRpb246IFJlbmFtaW5nIGZpbGUgWzJdIHRvIFszXS4gTXVzdCByZWJvb3QgdG8gY29tcGxldGUgb3BlcmF0aW9uLicpLAotKDE5MDMsIHUnU2NoZWR1bGluZyByZWJvb3Qgb3BlcmF0aW9uOiBEZWxldGluZyBmaWxlIFsyXS4gTXVzdCByZWJvb3QgdG8gY29tcGxldGUgb3BlcmF0aW9uLicpLAotKDE5MDQsIHUnTW9kdWxlIFsyXSBmYWlsZWQgdG8gcmVnaXN0ZXIuICBIUkVTVUxUIFszXS4gIENvbnRhY3QgeW91ciBzdXBwb3J0IHBlcnNvbm5lbC4nKSwKLSgxOTA1LCB1J01vZHVsZSBbMl0gZmFpbGVkIHRvIHVucmVnaXN0ZXIuICBIUkVTVUxUIFszXS4gIENvbnRhY3QgeW91ciBzdXBwb3J0IHBlcnNvbm5lbC4nKSwKLSgxOTA2LCB1J0ZhaWxlZCB0byBjYWNoZSBwYWNrYWdlIFsyXS4gRXJyb3I6IFszXS4gQ29udGFjdCB5b3VyIHN1cHBvcnQgcGVyc29ubmVsLicpLAotKDE5MDcsIHUnQ291bGQgbm90IHJlZ2lzdGVyIGZvbnQgWzJdLiAgVmVyaWZ5IHRoYXQgeW91IGhhdmUgc3VmZmljaWVudCBwZXJtaXNzaW9ucyB0byBpbnN0YWxsIGZvbnRzLCBhbmQgdGhhdCB0aGUgc3lzdGVtIHN1cHBvcnRzIHRoaXMgZm9udC4nKSwKLSgxOTA4LCB1J0NvdWxkIG5vdCB1bnJlZ2lzdGVyIGZvbnQgWzJdLiBWZXJpZnkgdGhhdCB5b3UgdGhhdCB5b3UgaGF2ZSBzdWZmaWNpZW50IHBlcm1pc3Npb25zIHRvIHJlbW92ZSBmb250cy4nKSwKLSgxOTA5LCB1J0NvdWxkIG5vdCBjcmVhdGUgU2hvcnRjdXQgWzJdLiBWZXJpZnkgdGhhdCB0aGUgZGVzdGluYXRpb24gZm9sZGVyIGV4aXN0cyBhbmQgdGhhdCB5b3UgY2FuIGFjY2VzcyBpdC4nKSwKLSgxOTEwLCB1J0NvdWxkIG5vdCByZW1vdmUgU2hvcnRjdXQgWzJdLiBWZXJpZnkgdGhhdCB0aGUgc2hvcnRjdXQgZmlsZSBleGlzdHMgYW5kIHRoYXQgeW91IGNhbiBhY2Nlc3MgaXQuJyksCi0oMTkxMSwgdSdDb3VsZCBub3QgcmVnaXN0ZXIgdHlwZSBsaWJyYXJ5IGZvciBmaWxlIFsyXS4gIENvbnRhY3QgeW91ciBzdXBwb3J0IHBlcnNvbm5lbC4nKSwKLSgxOTEyLCB1J0NvdWxkIG5vdCB1bnJlZ2lzdGVyIHR5cGUgbGlicmFyeSBmb3IgZmlsZSBbMl0uICBDb250YWN0IHlvdXIgc3VwcG9ydCBwZXJzb25uZWwuJyksCi0oMTkxMywgdSdDb3VsZCBub3QgdXBkYXRlIHRoZSBpbmkgZmlsZSBbMl1bM10uICBWZXJpZnkgdGhhdCB0aGUgZmlsZSBleGlzdHMgYW5kIHRoYXQgeW91IGNhbiBhY2Nlc3MgaXQuJyksCi0oMTkxNCwgdSdDb3VsZCBub3Qgc2NoZWR1bGUgZmlsZSBbMl0gdG8gcmVwbGFjZSBmaWxlIFszXSBvbiByZWJvb3QuICBWZXJpZnkgdGhhdCB5b3UgaGF2ZSB3cml0ZSBwZXJtaXNzaW9ucyB0byBmaWxlIFszXS4nKSwKLSgxOTE1LCB1J0Vycm9yIHJlbW92aW5nIE9EQkMgZHJpdmVyIG1hbmFnZXIsIE9EQkMgZXJyb3IgWzJdOiBbM10uIENvbnRhY3QgeW91ciBzdXBwb3J0IHBlcnNvbm5lbC4nKSwKLSgxOTE2LCB1J0Vycm9yIGluc3RhbGxpbmcgT0RCQyBkcml2ZXIgbWFuYWdlciwgT0RCQyBlcnJvciBbMl06IFszXS4gQ29udGFjdCB5b3VyIHN1cHBvcnQgcGVyc29ubmVsLicpLAotKDE5MTcsIHUnRXJyb3IgcmVtb3ZpbmcgT0RCQyBkcml2ZXI6IFs0XSwgT0RCQyBlcnJvciBbMl06IFszXS4gVmVyaWZ5IHRoYXQgeW91IGhhdmUgc3VmZmljaWVudCBwcml2aWxlZ2VzIHRvIHJlbW92ZSBPREJDIGRyaXZlcnMuJyksCi0oMTkxOCwgdSdFcnJvciBpbnN0YWxsaW5nIE9EQkMgZHJpdmVyOiBbNF0sIE9EQkMgZXJyb3IgWzJdOiBbM10uIFZlcmlmeSB0aGF0IHRoZSBmaWxlIFs0XSBleGlzdHMgYW5kIHRoYXQgeW91IGNhbiBhY2Nlc3MgaXQuJyksCi0oMTkxOSwgdSdFcnJvciBjb25maWd1cmluZyBPREJDIGRhdGEgc291cmNlOiBbNF0sIE9EQkMgZXJyb3IgWzJdOiBbM10uIFZlcmlmeSB0aGF0IHRoZSBmaWxlIFs0XSBleGlzdHMgYW5kIHRoYXQgeW91IGNhbiBhY2Nlc3MgaXQuJyksCi0oMTkyMCwgdSJTZXJ2aWNlICdbMl0nIChbM10pIGZhaWxlZCB0byBzdGFydC4gIFZlcmlmeSB0aGF0IHlvdSBoYXZlIHN1ZmZpY2llbnQgcHJpdmlsZWdlcyB0byBzdGFydCBzeXN0ZW0gc2VydmljZXMuIiksCi0oMTkyMSwgdSJTZXJ2aWNlICdbMl0nIChbM10pIGNvdWxkIG5vdCBiZSBzdG9wcGVkLiAgVmVyaWZ5IHRoYXQgeW91IGhhdmUgc3VmZmljaWVudCBwcml2aWxlZ2VzIHRvIHN0b3Agc3lzdGVtIHNlcnZpY2VzLiIpLAotKDE5MjIsIHUiU2VydmljZSAnWzJdJyAoWzNdKSBjb3VsZCBub3QgYmUgZGVsZXRlZC4gIFZlcmlmeSB0aGF0IHlvdSBoYXZlIHN1ZmZpY2llbnQgcHJpdmlsZWdlcyB0byByZW1vdmUgc3lzdGVtIHNlcnZpY2VzLiIpLAotKDE5MjMsIHUiU2VydmljZSAnWzJdJyAoWzNdKSBjb3VsZCBub3QgYmUgaW5zdGFsbGVkLiAgVmVyaWZ5IHRoYXQgeW91IGhhdmUgc3VmZmljaWVudCBwcml2aWxlZ2VzIHRvIGluc3RhbGwgc3lzdGVtIHNlcnZpY2VzLiIpLAotKDE5MjQsIHUiQ291bGQgbm90IHVwZGF0ZSBlbnZpcm9ubWVudCB2YXJpYWJsZSAnWzJdJy4gIFZlcmlmeSB0aGF0IHlvdSBoYXZlIHN1ZmZpY2llbnQgcHJpdmlsZWdlcyB0byBtb2RpZnkgZW52aXJvbm1lbnQgdmFyaWFibGVzLiIpLAotKDE5MjUsIHUnWW91IGRvIG5vdCBoYXZlIHN1ZmZpY2llbnQgcHJpdmlsZWdlcyB0byBjb21wbGV0ZSB0aGlzIGluc3RhbGxhdGlvbiBmb3IgYWxsIHVzZXJzIG9mIHRoZSBtYWNoaW5lLiAgTG9nIG9uIGFzIGFkbWluaXN0cmF0b3IgYW5kIHRoZW4gcmV0cnkgdGhpcyBpbnN0YWxsYXRpb24uJyksCi0oMTkyNiwgdSJDb3VsZCBub3Qgc2V0IGZpbGUgc2VjdXJpdHkgZm9yIGZpbGUgJ1szXScuIEVycm9yOiBbMl0uICBWZXJpZnkgdGhhdCB5b3UgaGF2ZSBzdWZmaWNpZW50IHByaXZpbGVnZXMgdG8gbW9kaWZ5IHRoZSBzZWN1cml0eSBwZXJtaXNzaW9ucyBmb3IgdGhpcyBmaWxlLiIpLAotKDE5MjcsIHUnQ29tcG9uZW50IFNlcnZpY2VzIChDT00rIDEuMCkgYXJlIG5vdCBpbnN0YWxsZWQgb24gdGhpcyBjb21wdXRlci4gIFRoaXMgaW5zdGFsbGF0aW9uIHJlcXVpcmVzIENvbXBvbmVudCBTZXJ2aWNlcyBpbiBvcmRlciB0byBjb21wbGV0ZSBzdWNjZXNzZnVsbHkuICBDb21wb25lbnQgU2VydmljZXMgYXJlIGF2YWlsYWJsZSBvbiBXaW5kb3dzIDIwMDAuJyksCi0oMTkyOCwgdSdFcnJvciByZWdpc3RlcmluZyBDT00rIEFwcGxpY2F0aW9uLiAgQ29udGFjdCB5b3VyIHN1cHBvcnQgcGVyc29ubmVsIGZvciBtb3JlIGluZm9ybWF0aW9uLicpLAotKDE5MjksIHUnRXJyb3IgdW5yZWdpc3RlcmluZyBDT00rIEFwcGxpY2F0aW9uLiAgQ29udGFjdCB5b3VyIHN1cHBvcnQgcGVyc29ubmVsIGZvciBtb3JlIGluZm9ybWF0aW9uLicpLAotKDE5MzAsIHUiVGhlIGRlc2NyaXB0aW9uIGZvciBzZXJ2aWNlICdbMl0nIChbM10pIGNvdWxkIG5vdCBiZSBjaGFuZ2VkLiIpLAotKDE5MzEsIHUnVGhlIFdpbmRvd3MgSW5zdGFsbGVyIHNlcnZpY2UgY2Fubm90IHVwZGF0ZSB0aGUgc3lzdGVtIGZpbGUgWzJdIGJlY2F1c2UgdGhlIGZpbGUgaXMgcHJvdGVjdGVkIGJ5IFdpbmRvd3MuICBZb3UgbWF5IG5lZWQgdG8gdXBkYXRlIHlvdXIgb3BlcmF0aW5nIHN5c3RlbSBmb3IgdGhpcyBwcm9ncmFtIHRvIHdvcmsgY29ycmVjdGx5LiB7e1BhY2thZ2UgdmVyc2lvbjogWzNdLCBPUyBQcm90ZWN0ZWQgdmVyc2lvbjogWzRdfX0nKSwKLSgxOTMyLCB1J1RoZSBXaW5kb3dzIEluc3RhbGxlciBzZXJ2aWNlIGNhbm5vdCB1cGRhdGUgdGhlIHByb3RlY3RlZCBXaW5kb3dzIGZpbGUgWzJdLiB7e1BhY2thZ2UgdmVyc2lvbjogWzNdLCBPUyBQcm90ZWN0ZWQgdmVyc2lvbjogWzRdLCBTRlAgRXJyb3I6IFs1XX19JyksCi0oMTkzMywgdSdUaGUgV2luZG93cyBJbnN0YWxsZXIgc2VydmljZSBjYW5ub3QgdXBkYXRlIG9uZSBvciBtb3JlIHByb3RlY3RlZCBXaW5kb3dzIGZpbGVzLiB7e1NGUCBFcnJvcjogWzJdLiAgTGlzdCBvZiBwcm90ZWN0ZWQgZmlsZXM6XFxyXFxuWzNdfX0nKSwKLSgxOTM0LCB1J1VzZXIgaW5zdGFsbGF0aW9ucyBhcmUgZGlzYWJsZWQgdmlhIHBvbGljeSBvbiB0aGUgbWFjaGluZS4nKSwKLSgxOTM1LCB1J0FuIGVycm9yIG9jY3VycmVkIGR1cmluZyB0aGUgaW5zdGFsbGF0aW9uIG9mIGFzc2VtYmx5IGNvbXBvbmVudCBbMl0uIEhSRVNVTFQ6IFszXS4ge3thc3NlbWJseSBpbnRlcmZhY2U6IFs0XSwgZnVuY3Rpb246IFs1XSwgYXNzZW1ibHkgbmFtZTogWzZdfX0nKSwKLV0KLQotdGFibGVzPVsnQWRtaW5FeGVjdXRlU2VxdWVuY2UnLCAnQWRtaW5VSVNlcXVlbmNlJywgJ0FkdnRFeGVjdXRlU2VxdWVuY2UnLCAnQkJDb250cm9sJywgJ0JpbGxib2FyZCcsICdCaW5hcnknLCAnQ2hlY2tCb3gnLCAnUHJvcGVydHknLCAnQ29tYm9Cb3gnLCAnQ29udHJvbCcsICdMaXN0Qm94JywgJ0FjdGlvblRleHQnLCAnQ29udHJvbENvbmRpdGlvbicsICdDb250cm9sRXZlbnQnLCAnRGlhbG9nJywgJ0V2ZW50TWFwcGluZycsICdJbnN0YWxsRXhlY3V0ZVNlcXVlbmNlJywgJ0luc3RhbGxVSVNlcXVlbmNlJywgJ0xpc3RWaWV3JywgJ1JhZGlvQnV0dG9uJywgJ1RleHRTdHlsZScsICdVSVRleHQnLCAnX1ZhbGlkYXRpb24nLCAnRXJyb3InXQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL3dpeC5wcm9wcyBiL1Rvb2xzL21zaS93aXgucHJvcHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU0OTJmOQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS93aXgucHJvcHMKQEAgLTAsMCArMSwxMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgPEltcG9ydCBQcm9qZWN0PSIuLlwuLlxQQ0J1aWxkXHB5dGhvbi5wcm9wcyIgLz4KKyAgCisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxXaXhJbnN0YWxsUGF0aCBDb25kaXRpb249IickKFdpeEluc3RhbGxQYXRoKScgPT0gJycgYW5kIEV4aXN0cygnJChNU0J1aWxkVGhpc0ZpbGVEaXJlY3RvcnkpXFdpeCcpIj4kKE1TQnVpbGRUaGlzRmlsZURpcmVjdG9yeSlcV2l4XDwvV2l4SW5zdGFsbFBhdGg+CisgICAgPFdpeEluc3RhbGxQYXRoIENvbmRpdGlvbj0iJyQoV2l4SW5zdGFsbFBhdGgpJyA9PSAnJyBhbmQgRXhpc3RzKCckKEV4dGVybmFsc0RpcilcV2l4JykiPiQoRXh0ZXJuYWxzRGlyKVxXaXhcPC9XaXhJbnN0YWxsUGF0aD4KKyAgICA8V2l4SW5zdGFsbFBhdGggQ29uZGl0aW9uPSInJChXaXhJbnN0YWxsUGF0aCknID09ICcnIj4kKFJlZ2lzdHJ5OkhLRVlfTE9DQUxfTUFDSElORVxTT0ZUV0FSRVxNaWNyb3NvZnRcV2luZG93cyBJbnN0YWxsZXIgWE1MXDMuOUBJbnN0YWxsUm9vdCk8L1dpeEluc3RhbGxQYXRoPgorICAgIDxXaXhJbnN0YWxsUGF0aCBDb25kaXRpb249IickKFdpeEluc3RhbGxQYXRoKScgPT0gJyciPiQoUmVnaXN0cnk6SEtFWV9MT0NBTF9NQUNISU5FXFNPRlRXQVJFXFdvdzY0MzJOb2RlXE1pY3Jvc29mdFxXaW5kb3dzIEluc3RhbGxlciBYTUxcMy45QEluc3RhbGxSb290KTwvV2l4SW5zdGFsbFBhdGg+CisgICAgPFdpeFRhcmdldHNQYXRoPiQoV2l4SW5zdGFsbFBhdGgpXFdpeC50YXJnZXRzPC9XaXhUYXJnZXRzUGF0aD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL3BhcnNlci91bnBhcnNlLnB5IGIvVG9vbHMvcGFyc2VyL3VucGFyc2UucHkKaW5kZXggODM3Y2Q4MS4uMjU4YzY0OCAxMDA2NDQKLS0tIGEvVG9vbHMvcGFyc2VyL3VucGFyc2UucHkKKysrIGIvVG9vbHMvcGFyc2VyL3VucGFyc2UucHkKQEAgLTQwMSw3ICs0MDEsNyBAQAogICAgICAgICBzZWxmLmRpc3BhdGNoKHQub3BlcmFuZCkKICAgICAgICAgc2VsZi53cml0ZSgiKSIpCiAKLSAgICBiaW5vcCA9IHsgIkFkZCI6IisiLCAiU3ViIjoiLSIsICJNdWx0IjoiKiIsICJEaXYiOiIvIiwgIk1vZCI6IiUiLAorICAgIGJpbm9wID0geyAiQWRkIjoiKyIsICJTdWIiOiItIiwgIk11bHQiOiIqIiwgIk1hdE11bHQiOiJAIiwgIkRpdiI6Ii8iLCAiTW9kIjoiJSIsCiAgICAgICAgICAgICAgICAgICAgICJMU2hpZnQiOiI8PCIsICJSU2hpZnQiOiI+PiIsICJCaXRPciI6InwiLCAiQml0WG9yIjoiXiIsICJCaXRBbmQiOiImIiwKICAgICAgICAgICAgICAgICAgICAgIkZsb29yRGl2IjoiLy8iLCAiUG93IjogIioqIn0KICAgICBkZWYgX0Jpbk9wKHNlbGYsIHQpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvc2NyaXB0cy9kaWZmLnB5IGIvVG9vbHMvc2NyaXB0cy9kaWZmLnB5CmluZGV4IDhiZTUyN2YuLjk3MjBhNDMgMTAwNzU1Ci0tLSBhL1Rvb2xzL3NjcmlwdHMvZGlmZi5weQorKysgYi9Ub29scy9zY3JpcHRzL2RpZmYucHkKQEAgLTgsNyArOCw3IEBACiAKICIiIgogCi1pbXBvcnQgc3lzLCBvcywgdGltZSwgZGlmZmxpYiwgb3B0cGFyc2UKK2ltcG9ydCBzeXMsIG9zLCB0aW1lLCBkaWZmbGliLCBhcmdwYXJzZQogZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0ZXRpbWUsIHRpbWV6b25lCiAKIGRlZiBmaWxlX210aW1lKHBhdGgpOgpAQCAtMTgsMjMgKzE4LDI1IEBACiAKIGRlZiBtYWluKCk6CiAKLSAgICB1c2FnZSA9ICJ1c2FnZTogJXByb2cgW29wdGlvbnNdIGZyb21maWxlIHRvZmlsZSIKLSAgICBwYXJzZXIgPSBvcHRwYXJzZS5PcHRpb25QYXJzZXIodXNhZ2UpCi0gICAgcGFyc2VyLmFkZF9vcHRpb24oIi1jIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwgZGVmYXVsdD1GYWxzZSwgaGVscD0nUHJvZHVjZSBhIGNvbnRleHQgZm9ybWF0IGRpZmYgKGRlZmF1bHQpJykKLSAgICBwYXJzZXIuYWRkX29wdGlvbigiLXUiLCBhY3Rpb249InN0b3JlX3RydWUiLCBkZWZhdWx0PUZhbHNlLCBoZWxwPSdQcm9kdWNlIGEgdW5pZmllZCBmb3JtYXQgZGlmZicpCi0gICAgcGFyc2VyLmFkZF9vcHRpb24oIi1tIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwgZGVmYXVsdD1GYWxzZSwgaGVscD0nUHJvZHVjZSBIVE1MIHNpZGUgYnkgc2lkZSBkaWZmIChjYW4gdXNlIC1jIGFuZCAtbCBpbiBjb25qdW5jdGlvbiknKQotICAgIHBhcnNlci5hZGRfb3B0aW9uKCItbiIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsIGRlZmF1bHQ9RmFsc2UsIGhlbHA9J1Byb2R1Y2UgYSBuZGlmZiBmb3JtYXQgZGlmZicpCi0gICAgcGFyc2VyLmFkZF9vcHRpb24oIi1sIiwgIi0tbGluZXMiLCB0eXBlPSJpbnQiLCBkZWZhdWx0PTMsIGhlbHA9J1NldCBudW1iZXIgb2YgY29udGV4dCBsaW5lcyAoZGVmYXVsdCAzKScpCi0gICAgKG9wdGlvbnMsIGFyZ3MpID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQotCi0gICAgaWYgbGVuKGFyZ3MpID09IDA6Ci0gICAgICAgIHBhcnNlci5wcmludF9oZWxwKCkKLSAgICAgICAgc3lzLmV4aXQoMSkKLSAgICBpZiBsZW4oYXJncykgIT0gMjoKLSAgICAgICAgcGFyc2VyLmVycm9yKCJuZWVkIHRvIHNwZWNpZnkgYm90aCBhIGZyb21maWxlIGFuZCB0b2ZpbGUiKQorICAgIHBhcnNlciA9IGFyZ3BhcnNlLkFyZ3VtZW50UGFyc2VyKCkKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctYycsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGRlZmF1bHQ9RmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdQcm9kdWNlIGEgY29udGV4dCBmb3JtYXQgZGlmZiAoZGVmYXVsdCknKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy11JywgYWN0aW9uPSdzdG9yZV90cnVlJywgZGVmYXVsdD1GYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J1Byb2R1Y2UgYSB1bmlmaWVkIGZvcm1hdCBkaWZmJykKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctbScsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGRlZmF1bHQ9RmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdQcm9kdWNlIEhUTUwgc2lkZSBieSBzaWRlIGRpZmYgJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnKGNhbiB1c2UgLWMgYW5kIC1sIGluIGNvbmp1bmN0aW9uKScpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLW4nLCBhY3Rpb249J3N0b3JlX3RydWUnLCBkZWZhdWx0PUZhbHNlLAorICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nUHJvZHVjZSBhIG5kaWZmIGZvcm1hdCBkaWZmJykKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctbCcsICctLWxpbmVzJywgdHlwZT1pbnQsIGRlZmF1bHQ9MywKKyAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J1NldCBudW1iZXIgb2YgY29udGV4dCBsaW5lcyAoZGVmYXVsdCAzKScpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnZnJvbWZpbGUnKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJ3RvZmlsZScpCisgICAgb3B0aW9ucyA9IHBhcnNlci5wYXJzZV9hcmdzKCkKIAogICAgIG4gPSBvcHRpb25zLmxpbmVzCi0gICAgZnJvbWZpbGUsIHRvZmlsZSA9IGFyZ3MKKyAgICBmcm9tZmlsZSA9IG9wdGlvbnMuZnJvbWZpbGUKKyAgICB0b2ZpbGUgPSBvcHRpb25zLnRvZmlsZQogCiAgICAgZnJvbWRhdGUgPSBmaWxlX210aW1lKGZyb21maWxlKQogICAgIHRvZGF0ZSA9IGZpbGVfbXRpbWUodG9maWxlKQpkaWZmIC0tZ2l0IGEvVG9vbHMvc2NyaXB0cy9nZW5lcmF0ZV9vcGNvZGVfaC5weSBiL1Rvb2xzL3NjcmlwdHMvZ2VuZXJhdGVfb3Bjb2RlX2gucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWZhMThhMQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL3NjcmlwdHMvZ2VuZXJhdGVfb3Bjb2RlX2gucHkKQEAgLTAsMCArMSw1NCBAQAorIyBUaGlzIHNjcmlwdCBnZW5lcmF0ZXMgdGhlIG9wY29kZS5oIGhlYWRlciBmaWxlLgorCitmcm9tIF9fZnV0dXJlX18gaW1wb3J0IHdpdGhfc3RhdGVtZW50CisKK2ltcG9ydCBzeXMKK2hlYWRlciA9ICIiIi8qIEF1dG8tZ2VuZXJhdGVkIGJ5IFRvb2xzL3NjcmlwdHMvZ2VuZXJhdGVfb3Bjb2RlX2gucHkgKi8KKyNpZm5kZWYgUHlfT1BDT0RFX0gKKyNkZWZpbmUgUHlfT1BDT0RFX0gKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworCisgICAgLyogSW5zdHJ1Y3Rpb24gb3Bjb2RlcyBmb3IgY29tcGlsZWQgY29kZSAqLworIiIiCisKK2Zvb3RlciA9ICIiIgorLyogRVhDRVBUX0hBTkRMRVIgaXMgYSBzcGVjaWFsLCBpbXBsaWNpdCBibG9jayB0eXBlIHdoaWNoIGlzIGNyZWF0ZWQgd2hlbgorICAgZW50ZXJpbmcgYW4gZXhjZXB0IGhhbmRsZXIuIEl0IGlzIG5vdCBhbiBvcGNvZGUgYnV0IHdlIGRlZmluZSBpdCBoZXJlCisgICBhcyB3ZSB3YW50IGl0IHRvIGJlIGF2YWlsYWJsZSB0byBib3RoIGZyYW1lb2JqZWN0LmMgYW5kIGNldmFsLmMsIHdoaWxlCisgICByZW1haW5pbmcgcHJpdmF0ZS4qLworI2RlZmluZSBFWENFUFRfSEFORExFUiAyNTcKKworCitlbnVtIGNtcF9vcCB7UHlDbXBfTFQ9UHlfTFQsIFB5Q21wX0xFPVB5X0xFLCBQeUNtcF9FUT1QeV9FUSwgUHlDbXBfTkU9UHlfTkUsCisgICAgICAgICAgICAgICAgUHlDbXBfR1Q9UHlfR1QsIFB5Q21wX0dFPVB5X0dFLCBQeUNtcF9JTiwgUHlDbXBfTk9UX0lOLAorICAgICAgICAgICAgICAgIFB5Q21wX0lTLCBQeUNtcF9JU19OT1QsIFB5Q21wX0VYQ19NQVRDSCwgUHlDbXBfQkFEfTsKKworI2RlZmluZSBIQVNfQVJHKG9wKSAoKG9wKSA+PSBIQVZFX0FSR1VNRU5UKQorCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorI2VuZGlmIC8qICFQeV9PUENPREVfSCAqLworIiIiCisKKworZGVmIG1haW4ob3Bjb2RlX3B5LCBvdXRmaWxlPSdJbmNsdWRlL29wY29kZS5oJyk6CisgICAgb3Bjb2RlID0ge30KKyAgICBleGVjKG9wZW4ob3Bjb2RlX3B5KS5yZWFkKCksIG9wY29kZSkKKyAgICBvcG1hcCA9IG9wY29kZVsnb3BtYXAnXQorICAgIHdpdGggb3BlbihvdXRmaWxlLCAndycpIGFzIGZvYmo6CisgICAgICAgIGZvYmoud3JpdGUoaGVhZGVyKQorICAgICAgICBmb3IgbmFtZSBpbiBvcGNvZGVbJ29wbmFtZSddOgorICAgICAgICAgICAgaWYgbmFtZSBpbiBvcG1hcDoKKyAgICAgICAgICAgICAgICBmb2JqLndyaXRlKCIjZGVmaW5lICUtMjBzXHQlLTNzXG4iICUgKG5hbWUsIG9wbWFwW25hbWVdKSkKKyAgICAgICAgICAgIGlmIG5hbWUgPT0gJ1BPUF9FWENFUFQnOiAjIFNwZWNpYWwgZW50cnkgZm9yIEhBVkVfQVJHVU1FTlQKKyAgICAgICAgICAgICAgICBmb2JqLndyaXRlKCIjZGVmaW5lICUtMjBzXHQlLTNkXG4iICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJ0hBVkVfQVJHVU1FTlQnLCBvcGNvZGVbJ0hBVkVfQVJHVU1FTlQnXSkpCisgICAgICAgIGZvYmoud3JpdGUoZm9vdGVyKQorCisKK2lmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CisgICAgbWFpbihzeXMuYXJndlsxXSwgc3lzLmFyZ3ZbMl0pCmRpZmYgLS1naXQgYS9Ub29scy9zY3JpcHRzL3J1bl90ZXN0cy5weSBiL1Rvb2xzL3NjcmlwdHMvcnVuX3Rlc3RzLnB5CmluZGV4IGE2YzVkYTMuLmI1ODJlMTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL3NjcmlwdHMvcnVuX3Rlc3RzLnB5CisrKyBiL1Rvb2xzL3NjcmlwdHMvcnVuX3Rlc3RzLnB5CkBAIC0zMyw4ICszMyw2IEBACiAgICAgIyBBbGxvdyB1c2VyLXNwZWNpZmllZCBpbnRlcnByZXRlciBvcHRpb25zIHRvIG92ZXJyaWRlIG91ciBkZWZhdWx0cy4KICAgICBhcmdzLmV4dGVuZCh0ZXN0LnN1cHBvcnQuYXJnc19mcm9tX2ludGVycHJldGVyX2ZsYWdzKCkpCiAKLSAgICAjIFdvcmthcm91bmQgZm9yIGlzc3VlICMyMDM1NQotICAgIG9zLmVudmlyb24ucG9wKCJQWVRIT05XQVJOSU5HUyIsIE5vbmUpCiAgICAgIyBXb3JrYXJvdW5kIGZvciBpc3N1ZSAjMjAzNjEKICAgICBhcmdzLmV4dGVuZChbJy1XJywgJ2Vycm9yOjpCeXRlc1dhcm5pbmcnXSkKIApAQCAtNTAsNyArNDgsMTEgQEAKICAgICAgICAgYXJncy5leHRlbmQoWyctdScsICdhbGwsLWxhcmdlZmlsZSwtYXVkaW8sLWd1aSddKQogICAgIGFyZ3MuZXh0ZW5kKHJlZ3J0ZXN0X2FyZ3MpCiAgICAgcHJpbnQoJyAnLmpvaW4oYXJncykpCi0gICAgb3MuZXhlY3Yoc3lzLmV4ZWN1dGFibGUsIGFyZ3MpCisgICAgaWYgc3lzLnBsYXRmb3JtID09ICd3aW4zMic6CisgICAgICAgIGZyb20gc3VicHJvY2VzcyBpbXBvcnQgY2FsbAorICAgICAgICBzeXMuZXhpdChjYWxsKGFyZ3MpKQorICAgIGVsc2U6CisgICAgICAgIG9zLmV4ZWN2KHN5cy5leGVjdXRhYmxlLCBhcmdzKQogCiAKIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CmRpZmYgLS1naXQgYS9Ub29scy9zc2wvc3Nsc3BlZWQudmN4cHJvaiBiL1Rvb2xzL3NzbC9zc2xzcGVlZC52Y3hwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhlYzQxMDYKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9zc2wvc3Nsc3BlZWQudmN4cHJvagpAQCAtMCwwICsxLDcwIEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgIDxJdGVtR3JvdXAgTGFiZWw9IlByb2plY3RDb25maWd1cmF0aW9ucyI+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVnfFdpbjMyIj4KKyAgICAgIDxDb25maWd1cmF0aW9uPkRlYnVnPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJSZWxlYXNlfFdpbjMyIj4KKyAgICAgIDxDb25maWd1cmF0aW9uPlJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVnfHg2NCI+CisgICAgICA8Q29uZmlndXJhdGlvbj5EZWJ1ZzwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8eDY0Ij4KKyAgICAgIDxDb25maWd1cmF0aW9uPlJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICA8L0l0ZW1Hcm91cD4KKyAgCisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KKyAgICA8UHJvamVjdEd1aWQ+e0YwNjhCQ0NGLUMwRDYtNDc4RC1BMkM1LTI2QkEzMjM3Qzk5Mn08L1Byb2plY3RHdWlkPgorICAgIDxSb290TmFtZXNwYWNlPnNzbHNwZWVkPC9Sb290TmFtZXNwYWNlPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIAorICA8SW1wb3J0IFByb2plY3Q9Ii4uXC4uXFBDQnVpbGRccHl0aG9uLnByb3BzIiAvPgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgorICA8SW1wb3J0IFByb2plY3Q9Ii4uXC4uXFBDQnVpbGRcb3BlbnNzbC5wcm9wcyIgLz4KKyAgCisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgICA8T3JpZ2luYWxPdXREaXI+JChPdXREaXIpPC9PcmlnaW5hbE91dERpcj4KKyAgICA8T3V0RGlyPiQoTVNCdWlsZFByb2plY3REaXJlY3RvcnkpXCQoQXJjaE5hbWUpXDwvT3V0RGlyPgorICAgIDxJbnREaXI+JChNU0J1aWxkUHJvamVjdERpcmVjdG9yeSlcJChBcmNoTmFtZSlcb2JqXDwvSW50RGlyPgorICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+CisgICAgPENoYXJhY3RlclNldD5NdWx0aUJ5dGU8L0NoYXJhY3RlclNldD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICAKKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+CisgIAorICA8SXRlbUdyb3VwPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWFwcHNcc3BlZWQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilhcHBzXGFwcHMuYyIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIAorICA8SXRlbURlZmluaXRpb25Hcm91cD4KKyAgICA8Q2xDb21waWxlPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9DT05TT0xFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQob3BlbnNzbEluY0Rpcik7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8TGluaz4KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7Y3J5cHQzMi5saWI7bGliZWF5JChQeURlYnVnRXh0KS5saWI7c3NsZWF5JChQeURlYnVnRXh0KS5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KKyAgICAgIDxBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPiQoT3JpZ2luYWxPdXREaXIpOyUoQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+CisgICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KKyAgICA8L0xpbms+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKworICA8SXRlbUdyb3VwPgorICAgIDxQcm9qZWN0UmVmZXJlbmNlIEluY2x1ZGU9Ii4uXC4uXFBDQnVpbGRcc3NsZWF5LnZjeHByb2oiPgorICAgICAgPFByb2plY3Q+ezEwNjE1YjI0LTczYmYtNGVmYS05M2FhLTIzNjkxNjMyMTMxN308L1Byb2plY3Q+CisgICAgICA8UmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+ZmFsc2U8L1JlZmVyZW5jZU91dHB1dEFzc2VtYmx5PgorICAgIDwvUHJvamVjdFJlZmVyZW5jZT4KKyAgICA8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPSIuLlwuLlxQQ0J1aWxkXGxpYmVheS52Y3hwcm9qIj4KKyAgICAgIDxQcm9qZWN0PntlNWIwNGNjMC1lYjRjLTQyYWItYjRkYy0xOGVmOTVmODY0YjB9PC9Qcm9qZWN0PgorICAgICAgPFJlZmVyZW5jZU91dHB1dEFzc2VtYmx5PmZhbHNlPC9SZWZlcmVuY2VPdXRwdXRBc3NlbWJseT4KKyAgICA8L1Byb2plY3RSZWZlcmVuY2U+CisgIDwvSXRlbUdyb3VwPgorCisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvdW5pY29kZS9tYWtldW5pY29kZWRhdGEucHkgYi9Ub29scy91bmljb2RlL21ha2V1bmljb2RlZGF0YS5weQppbmRleCA3NjM2YTk1Li5iN2QzMWU4IDEwMDY0NAotLS0gYS9Ub29scy91bmljb2RlL21ha2V1bmljb2RlZGF0YS5weQorKysgYi9Ub29scy91bmljb2RlL21ha2V1bmljb2RlZGF0YS5weQpAQCAtNDIsNyArNDIsNyBAQAogIyAgICogRG9jL2xpYnJhcnkvc3RkdHlwZXMucnN0LCBhbmQKICMgICAqIERvYy9saWJyYXJ5L3VuaWNvZGVkYXRhLnJzdAogIyAgICogRG9jL3JlZmVyZW5jZS9sZXhpY2FsX2FuYWx5c2lzLnJzdCAodHdvIG9jY3VycmVuY2VzKQotVU5JREFUQV9WRVJTSU9OID0gIjYuMy4wIgorVU5JREFUQV9WRVJTSU9OID0gIjcuMC4wIgogVU5JQ09ERV9EQVRBID0gIlVuaWNvZGVEYXRhJXMudHh0IgogQ09NUE9TSVRJT05fRVhDTFVTSU9OUyA9ICJDb21wb3NpdGlvbkV4Y2x1c2lvbnMlcy50eHQiCiBFQVNUQVNJQU5fV0lEVEggPSAiRWFzdEFzaWFuV2lkdGglcy50eHQiCmRpZmYgLS1naXQgYS9jb25maWd1cmUgYi9jb25maWd1cmUKaW5kZXggMjc0YWY3ZS4uZWNlZmRlNCAxMDA3NTUKLS0tIGEvY29uZmlndXJlCisrKyBiL2NvbmZpZ3VyZQpAQCAtMSw2ICsxLDYgQEAKICMhIC9iaW4vc2gKICMgR3Vlc3MgdmFsdWVzIGZvciBzeXN0ZW0tZGVwZW5kZW50IHZhcmlhYmxlcyBhbmQgY3JlYXRlIE1ha2VmaWxlcy4KLSMgR2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjY5IGZvciBweXRob24gMy40LgorIyBHZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNjkgZm9yIHB5dGhvbiAzLjUuCiAjCiAjIFJlcG9ydCBidWdzIHRvIDxodHRwOi8vYnVncy5weXRob24ub3JnLz4uCiAjCkBAIC01ODAsOCArNTgwLDggQEAKICMgSWRlbnRpdHkgb2YgdGhpcyBwYWNrYWdlLgogUEFDS0FHRV9OQU1FPSdweXRob24nCiBQQUNLQUdFX1RBUk5BTUU9J3B5dGhvbicKLVBBQ0tBR0VfVkVSU0lPTj0nMy40JwotUEFDS0FHRV9TVFJJTkc9J3B5dGhvbiAzLjQnCitQQUNLQUdFX1ZFUlNJT049JzMuNScKK1BBQ0tBR0VfU1RSSU5HPSdweXRob24gMy41JwogUEFDS0FHRV9CVUdSRVBPUlQ9J2h0dHA6Ly9idWdzLnB5dGhvbi5vcmcvJwogUEFDS0FHRV9VUkw9JycKIApAQCAtNjczLDYgKzY3Myw3IEBACiBJTlNUQUxMX0RBVEEKIElOU1RBTExfU0NSSVBUCiBJTlNUQUxMX1BST0dSQU0KK09QQ09ERUhHRU4KIFBZVEhPTgogQVNETEdFTgogYWNfY3RfUkVBREVMRgpAQCAtNzk4LDYgKzc5OSw3IEBACiBlbmFibGVfcHJvZmlsaW5nCiB3aXRoX3B5ZGVidWcKIHdpdGhfaGFzaF9hbGdvcml0aG0KK3dpdGhfYWRkcmVzc19zYW5pdGl6ZXIKIHdpdGhfbGlicwogd2l0aF9zeXN0ZW1fZXhwYXQKIHdpdGhfc3lzdGVtX2ZmaQpAQCAtMTM3NCw3ICsxMzc2LDcgQEAKICAgIyBPbWl0IHNvbWUgaW50ZXJuYWwgb3Igb2Jzb2xldGUgb3B0aW9ucyB0byBtYWtlIHRoZSBsaXN0IGxlc3MgaW1wb3NpbmcuCiAgICMgVGhpcyBtZXNzYWdlIGlzIHRvbyBsb25nIHRvIGJlIGEgc3RyaW5nIGluIHRoZSBBL1VYIDMuMSBzaC4KICAgY2F0IDw8X0FDRU9GCi1cYGNvbmZpZ3VyZScgY29uZmlndXJlcyBweXRob24gMy40IHRvIGFkYXB0IHRvIG1hbnkga2luZHMgb2Ygc3lzdGVtcy4KK1xgY29uZmlndXJlJyBjb25maWd1cmVzIHB5dGhvbiAzLjUgdG8gYWRhcHQgdG8gbWFueSBraW5kcyBvZiBzeXN0ZW1zLgogCiBVc2FnZTogJDAgW09QVElPTl0uLi4gW1ZBUj1WQUxVRV0uLi4KIApAQCAtMTQzOSw3ICsxNDQxLDcgQEAKIAogaWYgdGVzdCAtbiAiJGFjX2luaXRfaGVscCI7IHRoZW4KICAgY2FzZSAkYWNfaW5pdF9oZWxwIGluCi0gICAgIHNob3J0IHwgcmVjdXJzaXZlICkgZWNobyAiQ29uZmlndXJhdGlvbiBvZiBweXRob24gMy40OiI7OworICAgICBzaG9ydCB8IHJlY3Vyc2l2ZSApIGVjaG8gIkNvbmZpZ3VyYXRpb24gb2YgcHl0aG9uIDMuNToiOzsKICAgIGVzYWMKICAgY2F0IDw8XF9BQ0VPRgogCkBAIC0xNDc3LDYgKzE0NzksOCBAQAogICAtLXdpdGgtcHlkZWJ1ZyAgICAgICAgICBidWlsZCB3aXRoIFB5X0RFQlVHIGRlZmluZWQKICAgLS13aXRoLWhhc2gtYWxnb3JpdGhtPVtmbnZ8c2lwaGFzaDI0XQogICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QgaGFzaCBhbGdvcml0aG0KKyAgLS13aXRoLWFkZHJlc3Mtc2FuaXRpemVyCisgICAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZSBBZGRyZXNzU2FuaXRpemVyCiAgIC0td2l0aC1saWJzPSdsaWIxIC4uLicgIGxpbmsgYWdhaW5zdCBhZGRpdGlvbmFsIGxpYnMKICAgLS13aXRoLXN5c3RlbS1leHBhdCAgICAgYnVpbGQgcHlleHBhdCBtb2R1bGUgdXNpbmcgYW4gaW5zdGFsbGVkIGV4cGF0CiAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnJhcnkKQEAgLTE1OTEsNyArMTU5NSw3IEBACiB0ZXN0IC1uICIkYWNfaW5pdF9oZWxwIiAmJiBleGl0ICRhY19zdGF0dXMKIGlmICRhY19pbml0X3ZlcnNpb247IHRoZW4KICAgY2F0IDw8XF9BQ0VPRgotcHl0aG9uIGNvbmZpZ3VyZSAzLjQKK3B5dGhvbiBjb25maWd1cmUgMy41CiBnZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNjkKIAogQ29weXJpZ2h0IChDKSAyMDEyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgpAQCAtMjQzMCw3ICsyNDM0LDcgQEAKIFRoaXMgZmlsZSBjb250YWlucyBhbnkgbWVzc2FnZXMgcHJvZHVjZWQgYnkgY29tcGlsZXJzIHdoaWxlCiBydW5uaW5nIGNvbmZpZ3VyZSwgdG8gYWlkIGRlYnVnZ2luZyBpZiBjb25maWd1cmUgbWFrZXMgYSBtaXN0YWtlLgogCi1JdCB3YXMgY3JlYXRlZCBieSBweXRob24gJGFzX21lIDMuNCwgd2hpY2ggd2FzCitJdCB3YXMgY3JlYXRlZCBieSBweXRob24gJGFzX21lIDMuNSwgd2hpY2ggd2FzCiBnZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNjkuICBJbnZvY2F0aW9uIGNvbW1hbmQgbGluZSB3YXMKIAogICAkICQwICRACkBAIC0zMDAzLDcgKzMwMDcsNyBAQAogbXYgY29uZmRlZnMuaC5uZXcgY29uZmRlZnMuaAogCiAKLVZFUlNJT049My40CitWRVJTSU9OPTMuNQogCiAjIFZlcnNpb24gbnVtYmVyIG9mIFB5dGhvbidzIG93biBzaGFyZWQgbGlicmFyeSBmaWxlLgogCkBAIC02MDYyLDYgKzYwNjYsNTcgQEAKIGZpCiAKIAorZm9yIGFjX3Byb2cgaW4gcHl0aG9uJFBBQ0tBR0VfVkVSU0lPTiBweXRob24zIHB5dGhvbgorZG8KKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIkYWNfcHJvZyIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgJGFjX3Byb2c7IGFjX3dvcmQ9JDIKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4mNjsgfQoraWYgJHthY19jdl9wcm9nX1BZVEhPTis6fSBmYWxzZTsgdGhlbiA6CisgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CitlbHNlCisgIGlmIHRlc3QgLW4gIiRQWVRIT04iOyB0aGVuCisgIGFjX2N2X3Byb2dfUFlUSE9OPSIkUFlUSE9OIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KK2Vsc2UKK2FzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKK2ZvciBhc19kaXIgaW4gJFBBVEgKK2RvCisgIElGUz0kYXNfc2F2ZV9JRlMKKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKyAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKyAgaWYgYXNfZm5fZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgorICAgIGFjX2N2X3Byb2dfUFlUSE9OPSIkYWNfcHJvZyIKKyAgICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKyAgICBicmVhayAyCisgIGZpCitkb25lCisgIGRvbmUKK0lGUz0kYXNfc2F2ZV9JRlMKKworZmkKK2ZpCitQWVRIT049JGFjX2N2X3Byb2dfUFlUSE9OCitpZiB0ZXN0IC1uICIkUFlUSE9OIjsgdGhlbgorICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJFBZVEhPTiIgPiY1CiskYXNfZWNobyAiJFBZVEhPTiIgPiY2OyB9CitlbHNlCisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBubyIgPiY1CiskYXNfZWNobyAibm8iID4mNjsgfQorZmkKKworCisgIHRlc3QgLW4gIiRQWVRIT04iICYmIGJyZWFrCitkb25lCit0ZXN0IC1uICIkUFlUSE9OIiB8fCBQWVRIT049Im5vdC1mb3VuZCIKKworaWYgdGVzdCAiJFBZVEhPTiIgPSBub3QtZm91bmQ7IHRoZW4KKyAgICBPUENPREVIR0VOPSJAZWNobyBweXRob246ICRQWVRIT04hIGNhbm5vdCBydW4gVG9vbHMvc2NyaXB0cy9nZW5lcmF0ZV9vcGNvZGVfaC5weSIKK2Vsc2UKKyAgICBPUENPREVIR0VOPSIkUFlUSE9OIgorZmkKKworCisKIGNhc2UgJE1BQ0hERVAgaW4KIGJzZG9zKnxocCp8SFAqKQogCSMgaW5zdGFsbCAtZCBkb2VzIG5vdCB3b3JrIG9uIEJTREkgb3IgSFAtVVgKQEAgLTY0NzAsNiArNjUyNSw5NCBAQAogICAgICAgQ0ZMQUdTX05PRElTVD0iJENGTEFHU19OT0RJU1QgLVdlcnJvcj1kZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQiCiAgICAgZmkKIAorICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgaWYgd2UgY2FuIHR1cm4gb24gJENDIG1peGVkIHNpZ24gY29tcGFyaXNvbiB3YXJuaW5nIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGlmIHdlIGNhbiB0dXJuIG9uICRDQyBtaXhlZCBzaWduIGNvbXBhcmlzb24gd2FybmluZy4uLiAiID4mNjsgfQorICAgICBhY19zYXZlX2NjPSIkQ0MiCisgICAgIENDPSIkQ0MgLVdzaWduLWNvbXBhcmUiCisgICAgIHNhdmVfQ0ZMQUdTPSIkQ0ZMQUdTIgorICAgICBpZiAke2FjX2N2X2VuYWJsZV9zaWduX2NvbXBhcmVfd2FybmluZys6fSBmYWxzZTsgdGhlbiA6CisgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CitlbHNlCisgIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKworCitpbnQKK21haW4gKCkKK3sKKworICA7CisgIHJldHVybiAwOworfQorCitfQUNFT0YKK2lmIGFjX2ZuX2NfdHJ5X2NvbXBpbGUgIiRMSU5FTk8iOyB0aGVuIDoKKworICAgICAgICAgICBhY19jdl9lbmFibGVfc2lnbl9jb21wYXJlX3dhcm5pbmc9eWVzCisKK2Vsc2UKKworICAgICAgICAgICBhY19jdl9lbmFibGVfc2lnbl9jb21wYXJlX3dhcm5pbmc9bm8KKworZmkKK3JtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAorZmkKKworICAgICBDRkxBR1M9IiRzYXZlX0NGTEFHUyIKKyAgICAgQ0M9IiRhY19zYXZlX2NjIgorICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3ZfZW5hYmxlX3NpZ25fY29tcGFyZV93YXJuaW5nIiA+JjUKKyRhc19lY2hvICIkYWNfY3ZfZW5hYmxlX3NpZ25fY29tcGFyZV93YXJuaW5nIiA+JjY7IH0KKworICAgIGlmIHRlc3QgJGFjX2N2X2VuYWJsZV9zaWduX2NvbXBhcmVfd2FybmluZyA9IHllcworICAgIHRoZW4KKyAgICAgIEJBU0VDRkxBR1M9IiRCQVNFQ0ZMQUdTIC1Xc2lnbi1jb21wYXJlIgorICAgIGZpCisKKyAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGlmIHdlIGNhbiB0dXJuIG9uICRDQyB1bnJlYWNoYWJsZSBjb2RlIHdhcm5pbmciID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgaWYgd2UgY2FuIHR1cm4gb24gJENDIHVucmVhY2hhYmxlIGNvZGUgd2FybmluZy4uLiAiID4mNjsgfQorICAgICBhY19zYXZlX2NjPSIkQ0MiCisgICAgIENDPSIkQ0MgLVd1bnJlYWNoYWJsZS1jb2RlIgorICAgICBzYXZlX0NGTEFHUz0iJENGTEFHUyIKKyAgICAgaWYgJHthY19jdl9lbmFibGVfdW5yZWFjaGFibGVfY29kZV93YXJuaW5nKzp9IGZhbHNlOyB0aGVuIDoKKyAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKK2Vsc2UKKyAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAorLyogZW5kIGNvbmZkZWZzLmguICAqLworCisKK2ludAorbWFpbiAoKQoreworCisgIDsKKyAgcmV0dXJuIDA7Cit9CisKK19BQ0VPRgoraWYgYWNfZm5fY190cnlfY29tcGlsZSAiJExJTkVOTyI7IHRoZW4gOgorCisgICAgICAgICAgIGFjX2N2X2VuYWJsZV91bnJlYWNoYWJsZV9jb2RlX3dhcm5pbmc9eWVzCisKK2Vsc2UKKworICAgICAgICAgICBhY19jdl9lbmFibGVfdW5yZWFjaGFibGVfY29kZV93YXJuaW5nPW5vCisKK2ZpCitybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKK2ZpCisKKyAgICAgQ0ZMQUdTPSIkc2F2ZV9DRkxBR1MiCisgICAgIENDPSIkYWNfc2F2ZV9jYyIKKyAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X2VuYWJsZV91bnJlYWNoYWJsZV9jb2RlX3dhcm5pbmciID4mNQorJGFzX2VjaG8gIiRhY19jdl9lbmFibGVfdW5yZWFjaGFibGVfY29kZV93YXJuaW5nIiA+JjY7IH0KKworICAgICMgRG9uJ3QgZW5hYmxlIHVucmVhY2hhYmxlIGNvZGUgd2FybmluZyBpbiBkZWJ1ZyBtb2RlLCBzaW5jZSBpdCB1c3VhbGx5CisgICAgIyByZXN1bHRzIGluIG5vbi1zdGFuZGFyZCBjb2RlIHBhdGhzLgorICAgIGlmIHRlc3QgJGFjX2N2X2VuYWJsZV91bnJlYWNoYWJsZV9jb2RlX3dhcm5pbmcgPSB5ZXMgJiYgdGVzdCAiJFB5X0RFQlVHIiAhPSAidHJ1ZSIKKyAgICB0aGVuCisgICAgICBCQVNFQ0ZMQUdTPSIkQkFTRUNGTEFHUyAtV3VucmVhY2hhYmxlLWNvZGUiCisgICAgZmkKKwogICAgICMgaWYgdXNpbmcgZ2NjIG9uIGFscGhhLCB1c2UgLW1pZWVlIHRvIGdldCAobmVhcikgZnVsbCBJRUVFIDc1NAogICAgICMgc3VwcG9ydC4gIFdpdGhvdXQgdGhpcywgdHJlYXRtZW50IG9mIHN1Ym5vcm1hbHMgZG9lc24ndCBmb2xsb3cKICAgICAjIHRoZSBzdGFuZGFyZC4KQEAgLTkxNzIsNiArOTMxNSwyMyBAQAogZmkKIAogCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAtLXdpdGgtYWRkcmVzcy1zYW5pdGl6ZXIiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIC0td2l0aC1hZGRyZXNzLXNhbml0aXplci4uLiAiID4mNjsgfQorCisjIENoZWNrIHdoZXRoZXIgLS13aXRoLWFkZHJlc3Nfc2FuaXRpemVyIHdhcyBnaXZlbi4KK2lmIHRlc3QgIiR7d2l0aF9hZGRyZXNzX3Nhbml0aXplcitzZXR9IiA9IHNldDsgdGhlbiA6CisgIHdpdGh2YWw9JHdpdGhfYWRkcmVzc19zYW5pdGl6ZXI7Cit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJHdpdGh2YWwiID4mNQorJGFzX2VjaG8gIiR3aXRodmFsIiA+JjY7IH0KK0JBU0VDRkxBR1M9Ii1mc2FuaXRpemU9YWRkcmVzcyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAkQkFTRUNGTEFHUyIKK0xERkxBR1M9Ii1mc2FuaXRpemU9YWRkcmVzcyAkTERGTEFHUyIKKworZWxzZQorICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm8iID4mNQorJGFzX2VjaG8gIm5vIiA+JjY7IH0KK2ZpCisKKwogIyBNb3N0IFNWUjQgcGxhdGZvcm1zIChlLmcuIFNvbGFyaXMpIG5lZWQgLWxzb2NrZXQgYW5kIC1sbnNsLgogeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgdF9vcGVuIGluIC1sbnNsIiA+JjUKICRhc19lY2hvX24gImNoZWNraW5nIGZvciB0X29wZW4gaW4gLWxuc2wuLi4gIiA+JjY7IH0KQEAgLTExODE4LDYgKzExOTc4LDcgQEAKICRhc19lY2hvICIkYWNfY3ZfbGliX3J0X2Nsb2NrX2dldHRpbWUiID4mNjsgfQogaWYgdGVzdCAieCRhY19jdl9saWJfcnRfY2xvY2tfZ2V0dGltZSIgPSB4eWVzOyB0aGVuIDoKIAorICAgICAgICBMSUJTPSIkTElCUyAtbHJ0IgogICAgICAgICAkYXNfZWNobyAiI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMSIgPj5jb25mZGVmcy5oCiAKIApAQCAtMTMyNjEsNiArMTM0MjIsMzggQEAKIAogZmkKIAoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyB3aGV0aGVyIHdlIGNhbiB1c2UgZ2NjIGlubGluZSBhc3NlbWJsZXIgdG8gZ2V0IGFuZCBzZXQgbWM2ODg4MSBmcGNyIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIHdoZXRoZXIgd2UgY2FuIHVzZSBnY2MgaW5saW5lIGFzc2VtYmxlciB0byBnZXQgYW5kIHNldCBtYzY4ODgxIGZwY3IuLi4gIiA+JjY7IH0KK2NhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKworaW50CittYWluICgpCit7CisKKyAgdW5zaWduZWQgaW50IGZwY3I7CisgIF9fYXNtX18gX192b2xhdGlsZV9fICgiZm1vdmUubCAlJWZwY3IsJTAiIDogIj1nIiAoZnBjcikpOworICBfX2FzbV9fIF9fdm9sYXRpbGVfXyAoImZtb3ZlLmwgJTAsJSVmcGNyIiA6IDogImciIChmcGNyKSk7CisKKyAgOworICByZXR1cm4gMDsKK30KK19BQ0VPRgoraWYgYWNfZm5fY190cnlfY29tcGlsZSAiJExJTkVOTyI7IHRoZW4gOgorICBoYXZlX2djY19hc21fZm9yX21jNjg4ODE9eWVzCitlbHNlCisgIGhhdmVfZ2NjX2FzbV9mb3JfbWM2ODg4MT1ubworZmkKK3JtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRoYXZlX2djY19hc21fZm9yX21jNjg4ODEiID4mNQorJGFzX2VjaG8gIiRoYXZlX2djY19hc21fZm9yX21jNjg4ODEiID4mNjsgfQoraWYgdGVzdCAiJGhhdmVfZ2NjX2FzbV9mb3JfbWM2ODg4MSIgPSB5ZXMKK3RoZW4KKworJGFzX2VjaG8gIiNkZWZpbmUgSEFWRV9HQ0NfQVNNX0ZPUl9NQzY4ODgxIDEiID4+Y29uZmRlZnMuaAorCitmaQorCiAjIERldGVjdCB3aGV0aGVyIHN5c3RlbSBhcml0aG1ldGljIGlzIHN1YmplY3QgdG8geDg3LXN0eWxlIGRvdWJsZQogIyByb3VuZGluZyBpc3N1ZXMuICBUaGUgcmVzdWx0IG9mIHRoaXMgdGVzdCBoYXMgbGl0dGxlIG1lYW5pbmcgb24gbm9uCiAjIElFRUUgNzU0IHBsYXRmb3Jtcy4gIE9uIElFRUUgNzU0LCB0ZXN0IHNob3VsZCByZXR1cm4gMSBpZiByb3VuZGluZwpAQCAtMTQ0MTAsNiArMTQ2MDMsNDkgQEAKIAogZmkKIAoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgYXBwZW5kX2hpc3RvcnkgaW4gLWxyZWFkbGluZSIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyBmb3IgYXBwZW5kX2hpc3RvcnkgaW4gLWxyZWFkbGluZS4uLiAiID4mNjsgfQoraWYgJHthY19jdl9saWJfcmVhZGxpbmVfYXBwZW5kX2hpc3RvcnkrOn0gZmFsc2U7IHRoZW4gOgorICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgorZWxzZQorICBhY19jaGVja19saWJfc2F2ZV9MSUJTPSRMSUJTCitMSUJTPSItbHJlYWRsaW5lICRSRUFETElORV9MSUJTICRMSUJTIgorY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAorLyogZW5kIGNvbmZkZWZzLmguICAqLworCisvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KKyAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQworICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIgorI2VuZGlmCitjaGFyIGFwcGVuZF9oaXN0b3J5ICgpOworaW50CittYWluICgpCit7CityZXR1cm4gYXBwZW5kX2hpc3RvcnkgKCk7CisgIDsKKyAgcmV0dXJuIDA7Cit9CitfQUNFT0YKK2lmIGFjX2ZuX2NfdHJ5X2xpbmsgIiRMSU5FTk8iOyB0aGVuIDoKKyAgYWNfY3ZfbGliX3JlYWRsaW5lX2FwcGVuZF9oaXN0b3J5PXllcworZWxzZQorICBhY19jdl9saWJfcmVhZGxpbmVfYXBwZW5kX2hpc3Rvcnk9bm8KK2ZpCitybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IFwKKyAgICBjb25mdGVzdCRhY19leGVleHQgY29uZnRlc3QuJGFjX2V4dAorTElCUz0kYWNfY2hlY2tfbGliX3NhdmVfTElCUworZmkKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3ZfbGliX3JlYWRsaW5lX2FwcGVuZF9oaXN0b3J5IiA+JjUKKyRhc19lY2hvICIkYWNfY3ZfbGliX3JlYWRsaW5lX2FwcGVuZF9oaXN0b3J5IiA+JjY7IH0KK2lmIHRlc3QgIngkYWNfY3ZfbGliX3JlYWRsaW5lX2FwcGVuZF9oaXN0b3J5IiA9IHh5ZXM7IHRoZW4gOgorCiskYXNfZWNobyAiI2RlZmluZSBIQVZFX1JMX0FQUEVORF9ISVNUT1JZIDEiID4+Y29uZmRlZnMuaAorCitmaQorCisKICMgRW5kIG9mIHJlYWRsaW5lIGNoZWNrczogcmVzdG9yZSBMSUJTCiBMSUJTPSRMSUJTX25vX3JlYWRsaW5lCiAKQEAgLTE1MzI2LDcgKzE1NTYyLDcgQEAKIGRvbmUKIAogCi1TUkNESVJTPSJQYXJzZXIgR3JhbW1hciBPYmplY3RzIFB5dGhvbiBNb2R1bGVzIE1hYyIKK1NSQ0RJUlM9IlBhcnNlciBHcmFtbWFyIE9iamVjdHMgUHl0aG9uIE1vZHVsZXMgTWFjIFByb2dyYW1zIgogeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgYnVpbGQgZGlyZWN0b3JpZXMiID4mNQogJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIGJ1aWxkIGRpcmVjdG9yaWVzLi4uICIgPiY2OyB9CiBmb3IgZGlyIGluICRTUkNESVJTOyBkbwpAQCAtMTU0NjcsNiArMTU3MDMsNzIgQEAKICAgICBlc2FjCiBmaQogCisjIENoZWNrIGZvciBzdGRhdG9taWMuaAoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3Igc3RkYXRvbWljLmgiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIHN0ZGF0b21pYy5oLi4uICIgPiY2OyB9CitjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CisvKiBlbmQgY29uZmRlZnMuaC4gICovCisKKworICAgICNpbmNsdWRlIDxzdGRhdG9taWMuaD4KKyAgICBhdG9taWNfaW50IHZhbHVlID0gQVRPTUlDX1ZBUl9JTklUKDEpOworICAgIF9BdG9taWMgdm9pZCAqcHlfYXRvbWljX2FkZHJlc3MgPSAodm9pZCopICZ2YWx1ZTsKKyAgICBpbnQgbWFpbigpIHsKKyAgICAgIGludCBsb2FkZWRfdmFsdWUgPSBhdG9taWNfbG9hZCgmdmFsdWUpOworICAgICAgcmV0dXJuIDA7CisgICAgfQorCisKK19BQ0VPRgoraWYgYWNfZm5fY190cnlfbGluayAiJExJTkVOTyI7IHRoZW4gOgorICBoYXZlX3N0ZGF0b21pY19oPXllcworZWxzZQorICBoYXZlX3N0ZGF0b21pY19oPW5vCitmaQorcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBcCisgICAgY29uZnRlc3QkYWNfZXhlZXh0IGNvbmZ0ZXN0LiRhY19leHQKKworeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRoYXZlX3N0ZGF0b21pY19oIiA+JjUKKyRhc19lY2hvICIkaGF2ZV9zdGRhdG9taWNfaCIgPiY2OyB9CisKK2lmIHRlc3QgIiRoYXZlX3N0ZGF0b21pY19oIiA9IHllczsgdGhlbgorCiskYXNfZWNobyAiI2RlZmluZSBIQVZFX1NURF9BVE9NSUMgMSIgPj5jb25mZGVmcy5oCisKK2ZpCisKKyMgQ2hlY2sgZm9yIEdDQyA+PSA0LjcgX19hdG9taWMgYnVpbHRpbnMKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIEdDQyA+PSA0LjcgX19hdG9taWMgYnVpbHRpbnMiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIEdDQyA+PSA0LjcgX19hdG9taWMgYnVpbHRpbnMuLi4gIiA+JjY7IH0KK2NhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKworCisgICAgdm9sYXRpbGUgaW50IHZhbCA9IDE7CisgICAgaW50IG1haW4oKSB7CisgICAgICBfX2F0b21pY19sb2FkX24oJnZhbCwgX19BVE9NSUNfU0VRX0NTVCk7CisgICAgICByZXR1cm4gMDsKKyAgICB9CisKKworX0FDRU9GCitpZiBhY19mbl9jX3RyeV9saW5rICIkTElORU5PIjsgdGhlbiA6CisgIGhhdmVfYnVpbHRpbl9hdG9taWM9eWVzCitlbHNlCisgIGhhdmVfYnVpbHRpbl9hdG9taWM9bm8KK2ZpCitybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IFwKKyAgICBjb25mdGVzdCRhY19leGVleHQgY29uZnRlc3QuJGFjX2V4dAorCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGhhdmVfYnVpbHRpbl9hdG9taWMiID4mNQorJGFzX2VjaG8gIiRoYXZlX2J1aWx0aW5fYXRvbWljIiA+JjY7IH0KKworaWYgdGVzdCAiJGhhdmVfYnVpbHRpbl9hdG9taWMiID0geWVzOyB0aGVuCisKKyRhc19lY2hvICIjZGVmaW5lIEhBVkVfQlVJTFRJTl9BVE9NSUMgMSIgPj5jb25mZGVmcy5oCisKK2ZpCisKICMgZW5zdXJlcGlwIG9wdGlvbgogeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgZW5zdXJlcGlwIiA+JjUKICRhc19lY2hvX24gImNoZWNraW5nIGZvciBlbnN1cmVwaXAuLi4gIiA+JjY7IH0KQEAgLTE2MDA0LDcgKzE2MzA2LDcgQEAKICMgcmVwb3J0IGFjdHVhbCBpbnB1dCB2YWx1ZXMgb2YgQ09ORklHX0ZJTEVTIGV0Yy4gaW5zdGVhZCBvZiB0aGVpcgogIyB2YWx1ZXMgYWZ0ZXIgb3B0aW9ucyBoYW5kbGluZy4KIGFjX2xvZz0iCi1UaGlzIGZpbGUgd2FzIGV4dGVuZGVkIGJ5IHB5dGhvbiAkYXNfbWUgMy40LCB3aGljaCB3YXMKK1RoaXMgZmlsZSB3YXMgZXh0ZW5kZWQgYnkgcHl0aG9uICRhc19tZSAzLjUsIHdoaWNoIHdhcwogZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjY5LiAgSW52b2NhdGlvbiBjb21tYW5kIGxpbmUgd2FzCiAKICAgQ09ORklHX0ZJTEVTICAgID0gJENPTkZJR19GSUxFUwpAQCAtMTYwNjYsNyArMTYzNjgsNyBAQAogY2F0ID4+JENPTkZJR19TVEFUVVMgPDxfQUNFT0YgfHwgYWNfd3JpdGVfZmFpbD0xCiBhY19jc19jb25maWc9ImAkYXNfZWNobyAiJGFjX2NvbmZpZ3VyZV9hcmdzIiB8IHNlZCAncy9eIC8vOyBzL1tcXCIiXGBcJF0vXFxcXCYvZydgIgogYWNfY3NfdmVyc2lvbj0iXFwKLXB5dGhvbiBjb25maWcuc3RhdHVzIDMuNAorcHl0aG9uIGNvbmZpZy5zdGF0dXMgMy41CiBjb25maWd1cmVkIGJ5ICQwLCBnZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNjksCiAgIHdpdGggb3B0aW9ucyBcXCJcJGFjX2NzX2NvbmZpZ1xcIgogCmRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKaW5kZXggYTBkMGFmYS4uYzc1MTYyMiAxMDA2NDQKLS0tIGEvY29uZmlndXJlLmFjCisrKyBiL2NvbmZpZ3VyZS5hYwpAQCAtMyw3ICszLDcgQEAKIGRubCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogCiAjIFNldCBWRVJTSU9OIHNvIHdlIG9ubHkgbmVlZCB0byBlZGl0IGluIG9uZSBwbGFjZSAoaS5lLiwgaGVyZSkKLW00X2RlZmluZShQWVRIT05fVkVSU0lPTiwgMy40KQorbTRfZGVmaW5lKFBZVEhPTl9WRVJTSU9OLCAzLjUpCiAKIEFDX1BSRVJFUSgyLjY1KQogCkBAIC0xMDM5LDYgKzEwMzksMTUgQEAKICAgICBBU0RMR0VOPSIkUFlUSE9OIgogZmkKIAorQUNfU1VCU1QoT1BDT0RFSEdFTikKK0FDX0NIRUNLX1BST0dTKFBZVEhPTiwgcHl0aG9uJFBBQ0tBR0VfVkVSU0lPTiBweXRob24zIHB5dGhvbiwgbm90LWZvdW5kKQoraWYgdGVzdCAiJFBZVEhPTiIgPSBub3QtZm91bmQ7IHRoZW4KKyAgICBPUENPREVIR0VOPSJAZWNobyBweXRob246ICRQWVRIT04hIGNhbm5vdCBydW4gVG9vbHMvc2NyaXB0cy9nZW5lcmF0ZV9vcGNvZGVfaC5weSIKK2Vsc2UKKyAgICBPUENPREVIR0VOPSIkUFlUSE9OIgorZmkKKworCiAKIGNhc2UgJE1BQ0hERVAgaW4KIGJzZG9zKnxocCp8SFAqKQpAQCAtMTIyOSw2ICsxMjM4LDUyIEBACiAgICAgICBDRkxBR1NfTk9ESVNUPSIkQ0ZMQUdTX05PRElTVCAtV2Vycm9yPWRlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCIKICAgICBmaQogCisgICAgQUNfTVNHX0NIRUNLSU5HKGlmIHdlIGNhbiB0dXJuIG9uICRDQyBtaXhlZCBzaWduIGNvbXBhcmlzb24gd2FybmluZykKKyAgICAgYWNfc2F2ZV9jYz0iJENDIgorICAgICBDQz0iJENDIC1Xc2lnbi1jb21wYXJlIgorICAgICBzYXZlX0NGTEFHUz0iJENGTEFHUyIKKyAgICAgQUNfQ0FDSEVfVkFMKGFjX2N2X2VuYWJsZV9zaWduX2NvbXBhcmVfd2FybmluZywKKyAgICAgICBBQ19DT01QSUxFX0lGRUxTRSgKKyAgICAgICAgIFsKKwkgICBBQ19MQU5HX1BST0dSQU0oW1tdXSwgW1tdXSkKKwkgXSxbCisgICAgICAgICAgIGFjX2N2X2VuYWJsZV9zaWduX2NvbXBhcmVfd2FybmluZz15ZXMKKwkgXSxbCisgICAgICAgICAgIGFjX2N2X2VuYWJsZV9zaWduX2NvbXBhcmVfd2FybmluZz1ubworCSBdKSkKKyAgICAgQ0ZMQUdTPSIkc2F2ZV9DRkxBR1MiCisgICAgIENDPSIkYWNfc2F2ZV9jYyIKKyAgICBBQ19NU0dfUkVTVUxUKCRhY19jdl9lbmFibGVfc2lnbl9jb21wYXJlX3dhcm5pbmcpCisKKyAgICBpZiB0ZXN0ICRhY19jdl9lbmFibGVfc2lnbl9jb21wYXJlX3dhcm5pbmcgPSB5ZXMKKyAgICB0aGVuCisgICAgICBCQVNFQ0ZMQUdTPSIkQkFTRUNGTEFHUyAtV3NpZ24tY29tcGFyZSIKKyAgICBmaQorCisgICAgQUNfTVNHX0NIRUNLSU5HKGlmIHdlIGNhbiB0dXJuIG9uICRDQyB1bnJlYWNoYWJsZSBjb2RlIHdhcm5pbmcpCisgICAgIGFjX3NhdmVfY2M9IiRDQyIKKyAgICAgQ0M9IiRDQyAtV3VucmVhY2hhYmxlLWNvZGUiCisgICAgIHNhdmVfQ0ZMQUdTPSIkQ0ZMQUdTIgorICAgICBBQ19DQUNIRV9WQUwoYWNfY3ZfZW5hYmxlX3VucmVhY2hhYmxlX2NvZGVfd2FybmluZywKKyAgICAgICBBQ19DT01QSUxFX0lGRUxTRSgKKyAgICAgICAgIFsKKwkgICBBQ19MQU5HX1BST0dSQU0oW1tdXSwgW1tdXSkKKwkgXSxbCisgICAgICAgICAgIGFjX2N2X2VuYWJsZV91bnJlYWNoYWJsZV9jb2RlX3dhcm5pbmc9eWVzCisJIF0sWworICAgICAgICAgICBhY19jdl9lbmFibGVfdW5yZWFjaGFibGVfY29kZV93YXJuaW5nPW5vCisJIF0pKQorICAgICBDRkxBR1M9IiRzYXZlX0NGTEFHUyIKKyAgICAgQ0M9IiRhY19zYXZlX2NjIgorICAgIEFDX01TR19SRVNVTFQoJGFjX2N2X2VuYWJsZV91bnJlYWNoYWJsZV9jb2RlX3dhcm5pbmcpCisKKyAgICAjIERvbid0IGVuYWJsZSB1bnJlYWNoYWJsZSBjb2RlIHdhcm5pbmcgaW4gZGVidWcgbW9kZSwgc2luY2UgaXQgdXN1YWxseQorICAgICMgcmVzdWx0cyBpbiBub24tc3RhbmRhcmQgY29kZSBwYXRocy4KKyAgICBpZiB0ZXN0ICRhY19jdl9lbmFibGVfdW5yZWFjaGFibGVfY29kZV93YXJuaW5nID0geWVzICYmIHRlc3QgIiRQeV9ERUJVRyIgIT0gInRydWUiCisgICAgdGhlbgorICAgICAgQkFTRUNGTEFHUz0iJEJBU0VDRkxBR1MgLVd1bnJlYWNoYWJsZS1jb2RlIgorICAgIGZpCisKICAgICAjIGlmIHVzaW5nIGdjYyBvbiBhbHBoYSwgdXNlIC1taWVlZSB0byBnZXQgKG5lYXIpIGZ1bGwgSUVFRSA3NTQKICAgICAjIHN1cHBvcnQuICBXaXRob3V0IHRoaXMsIHRyZWF0bWVudCBvZiBzdWJub3JtYWxzIGRvZXNuJ3QgZm9sbG93CiAgICAgIyB0aGUgc3RhbmRhcmQuCkBAIC0yMzI1LDYgKzIzODAsMTcgQEAKIF0sCiBbQUNfTVNHX1JFU1VMVChkZWZhdWx0KV0pCiAKK0FDX01TR19DSEVDS0lORyhmb3IgLS13aXRoLWFkZHJlc3Mtc2FuaXRpemVyKQorQUNfQVJHX1dJVEgoYWRkcmVzc19zYW5pdGl6ZXIsCisgICAgICAgICAgICBBU19IRUxQX1NUUklORyhbLS13aXRoLWFkZHJlc3Mtc2FuaXRpemVyXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbmFibGUgQWRkcmVzc1Nhbml0aXplcl0pLAorWworQUNfTVNHX1JFU1VMVCgkd2l0aHZhbCkKK0JBU0VDRkxBR1M9Ii1mc2FuaXRpemU9YWRkcmVzcyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAkQkFTRUNGTEFHUyIKK0xERkxBR1M9Ii1mc2FuaXRpemU9YWRkcmVzcyAkTERGTEFHUyIKK10sCitbQUNfTVNHX1JFU1VMVChubyldKQorCiAjIE1vc3QgU1ZSNCBwbGF0Zm9ybXMgKGUuZy4gU29sYXJpcykgbmVlZCAtbHNvY2tldCBhbmQgLWxuc2wuCiBBQ19DSEVDS19MSUIobnNsLCB0X29wZW4sIFtMSUJTPSItbG5zbCAkTElCUyJdKSAjIFNWUjQKIEFDX0NIRUNLX0xJQihzb2NrZXQsIHNvY2tldCwgW0xJQlM9Ii1sc29ja2V0ICRMSUJTIl0sIFtdLCAkTElCUykgIyBTVlI0IHNvY2tldHMKQEAgLTMyNTYsNiArMzMyMiw3IEBACiAKIEFDX0NIRUNLX0ZVTkNTKGNsb2NrX2dldHRpbWUsIFtdLCBbCiAgICAgQUNfQ0hFQ0tfTElCKHJ0LCBjbG9ja19nZXR0aW1lLCBbCisgICAgICAgIExJQlM9IiRMSUJTIC1scnQiCiAgICAgICAgIEFDX0RFRklORShIQVZFX0NMT0NLX0dFVFRJTUUsIDEpCiAgICAgICAgIEFDX0RFRklORShUSU1FTU9EVUxFX0xJQiwgW3J0XSwKICAgICAgICAgICAgICAgICAgIFtMaWJyYXJ5IG5lZWRlZCBieSB0aW1lbW9kdWxlLmM6IGxpYnJ0IG1heSBiZSBuZWVkZWQgZm9yIGNsb2NrX2dldHRpbWUoKV0pCkBAIC0zODEwLDYgKzM4NzcsMTkgQEAKICAgICBbRGVmaW5lIGlmIHdlIGNhbiB1c2UgZ2NjIGlubGluZSBhc3NlbWJsZXIgdG8gZ2V0IGFuZCBzZXQgeDg3IGNvbnRyb2wgd29yZF0pCiBmaQogCitBQ19NU0dfQ0hFQ0tJTkcod2hldGhlciB3ZSBjYW4gdXNlIGdjYyBpbmxpbmUgYXNzZW1ibGVyIHRvIGdldCBhbmQgc2V0IG1jNjg4ODEgZnBjcikKK0FDX0NPTVBJTEVfSUZFTFNFKFtBQ19MQU5HX1BST0dSQU0oW1tdXSwgW1sKKyAgdW5zaWduZWQgaW50IGZwY3I7CisgIF9fYXNtX18gX192b2xhdGlsZV9fICgiZm1vdmUubCAlJWZwY3IsJTAiIDogIj1nIiAoZnBjcikpOworICBfX2FzbV9fIF9fdm9sYXRpbGVfXyAoImZtb3ZlLmwgJTAsJSVmcGNyIiA6IDogImciIChmcGNyKSk7CitdXSldLFtoYXZlX2djY19hc21fZm9yX21jNjg4ODE9eWVzXSxbaGF2ZV9nY2NfYXNtX2Zvcl9tYzY4ODgxPW5vXSkKK0FDX01TR19SRVNVTFQoJGhhdmVfZ2NjX2FzbV9mb3JfbWM2ODg4MSkKK2lmIHRlc3QgIiRoYXZlX2djY19hc21fZm9yX21jNjg4ODEiID0geWVzCit0aGVuCisgICAgQUNfREVGSU5FKEhBVkVfR0NDX0FTTV9GT1JfTUM2ODg4MSwgMSwKKyAgICBbRGVmaW5lIGlmIHdlIGNhbiB1c2UgZ2NjIGlubGluZSBhc3NlbWJsZXIgdG8gZ2V0IGFuZCBzZXQgbWM2ODg4MSBmcGNyXSkKK2ZpCisKICMgRGV0ZWN0IHdoZXRoZXIgc3lzdGVtIGFyaXRobWV0aWMgaXMgc3ViamVjdCB0byB4ODctc3R5bGUgZG91YmxlCiAjIHJvdW5kaW5nIGlzc3Vlcy4gIFRoZSByZXN1bHQgb2YgdGhpcyB0ZXN0IGhhcyBsaXR0bGUgbWVhbmluZyBvbiBub24KICMgSUVFRSA3NTQgcGxhdGZvcm1zLiAgT24gSUVFRSA3NTQsIHRlc3Qgc2hvdWxkIHJldHVybiAxIGlmIHJvdW5kaW5nCkBAIC00MjMxLDYgKzQzMTEsMTAgQEAKICAgW0RlZmluZSBpZiB5b3UgY2FuIHR1cm4gb2ZmIHJlYWRsaW5lJ3Mgc2lnbmFsIGhhbmRsaW5nLl0pLCApCiBmaQogCitBQ19DSEVDS19MSUIocmVhZGxpbmUsIGFwcGVuZF9oaXN0b3J5LAorCUFDX0RFRklORShIQVZFX1JMX0FQUEVORF9ISVNUT1JZLCAxLAorICAgICAgICBbRGVmaW5lIGlmIHJlYWRsaW5lIHN1cHBvcnRzIGFwcGVuZF9oaXN0b3J5XSksICwkUkVBRExJTkVfTElCUykKKwogIyBFbmQgb2YgcmVhZGxpbmUgY2hlY2tzOiByZXN0b3JlIExJQlMKIExJQlM9JExJQlNfbm9fcmVhZGxpbmUKIApAQCAtNDcwOCw3ICs0NzkyLDcgQEAKIGRvbmUKIAogQUNfU1VCU1QoU1JDRElSUykKLVNSQ0RJUlM9IlBhcnNlciBHcmFtbWFyIE9iamVjdHMgUHl0aG9uIE1vZHVsZXMgTWFjIgorU1JDRElSUz0iUGFyc2VyIEdyYW1tYXIgT2JqZWN0cyBQeXRob24gTW9kdWxlcyBNYWMgUHJvZ3JhbXMiCiBBQ19NU0dfQ0hFQ0tJTkcoZm9yIGJ1aWxkIGRpcmVjdG9yaWVzKQogZm9yIGRpciBpbiAkU1JDRElSUzsgZG8KICAgICBpZiB0ZXN0ICEgLWQgJGRpcjsgdGhlbgpAQCAtNDgwMCw2ICs0ODg0LDQ3IEBACiAgICAgZXNhYwogZmkKIAorIyBDaGVjayBmb3Igc3RkYXRvbWljLmgKK0FDX01TR19DSEVDS0lORyhmb3Igc3RkYXRvbWljLmgpCitBQ19MSU5LX0lGRUxTRSgKK1sKKyAgQUNfTEFOR19TT1VSQ0UoW1sKKyAgICAjaW5jbHVkZSA8c3RkYXRvbWljLmg+CisgICAgYXRvbWljX2ludCB2YWx1ZSA9IEFUT01JQ19WQVJfSU5JVCgxKTsKKyAgICBfQXRvbWljIHZvaWQgKnB5X2F0b21pY19hZGRyZXNzID0gKHZvaWQqKSAmdmFsdWU7CisgICAgaW50IG1haW4oKSB7CisgICAgICBpbnQgbG9hZGVkX3ZhbHVlID0gYXRvbWljX2xvYWQoJnZhbHVlKTsKKyAgICAgIHJldHVybiAwOworICAgIH0KKyAgXV0pCitdLFtoYXZlX3N0ZGF0b21pY19oPXllc10sW2hhdmVfc3RkYXRvbWljX2g9bm9dKQorCitBQ19NU0dfUkVTVUxUKCRoYXZlX3N0ZGF0b21pY19oKQorCitpZiB0ZXN0ICIkaGF2ZV9zdGRhdG9taWNfaCIgPSB5ZXM7IHRoZW4KKyAgICBBQ19ERUZJTkUoSEFWRV9TVERfQVRPTUlDLCAxLAorICAgICAgICAgICAgICBbSGFzIHN0ZGF0b21pYy5oLCBhdG9taWNfaW50IGFuZCBfQXRvbWljIHZvaWQqIHR5cGVzIHdvcmtdKQorZmkKKworIyBDaGVjayBmb3IgR0NDID49IDQuNyBfX2F0b21pYyBidWlsdGlucworQUNfTVNHX0NIRUNLSU5HKGZvciBHQ0MgPj0gNC43IF9fYXRvbWljIGJ1aWx0aW5zKQorQUNfTElOS19JRkVMU0UoCitbCisgIEFDX0xBTkdfU09VUkNFKFtbCisgICAgdm9sYXRpbGUgaW50IHZhbCA9IDE7CisgICAgaW50IG1haW4oKSB7CisgICAgICBfX2F0b21pY19sb2FkX24oJnZhbCwgX19BVE9NSUNfU0VRX0NTVCk7CisgICAgICByZXR1cm4gMDsKKyAgICB9CisgIF1dKQorXSxbaGF2ZV9idWlsdGluX2F0b21pYz15ZXNdLFtoYXZlX2J1aWx0aW5fYXRvbWljPW5vXSkKKworQUNfTVNHX1JFU1VMVCgkaGF2ZV9idWlsdGluX2F0b21pYykKKworaWYgdGVzdCAiJGhhdmVfYnVpbHRpbl9hdG9taWMiID0geWVzOyB0aGVuCisgICAgQUNfREVGSU5FKEhBVkVfQlVJTFRJTl9BVE9NSUMsIDEsIFtIYXMgYnVpbHRpbiBhdG9taWNzXSkKK2ZpCisKICMgZW5zdXJlcGlwIG9wdGlvbgogQUNfTVNHX0NIRUNLSU5HKGZvciBlbnN1cmVwaXApCiBBQ19BUkdfV0lUSChlbnN1cmVwaXAsCmRpZmYgLS1naXQgYS9weWNvbmZpZy5oLmluIGIvcHljb25maWcuaC5pbgppbmRleCA4NTQ5MGM4Li41MDdhN2FiIDEwMDY0NAotLS0gYS9weWNvbmZpZy5oLmluCisrKyBiL3B5Y29uZmlnLmguaW4KQEAgLTEwMSw2ICsxMDEsOSBAQAogLyogRGVmaW5lIGlmIGB1bnNldGVudmAgZG9lcyBub3QgcmV0dXJuIGFuIGludC4gKi8KICN1bmRlZiBIQVZFX0JST0tFTl9VTlNFVEVOVgogCisvKiBIYXMgYnVpbHRpbiBhdG9taWNzICovCisjdW5kZWYgSEFWRV9CVUlMVElOX0FUT01JQworCiAvKiBEZWZpbmUgdGhpcyBpZiB5b3UgaGF2ZSB0aGUgdHlwZSBfQm9vbC4gKi8KICN1bmRlZiBIQVZFX0M5OV9CT09MCiAKQEAgLTMxMyw2ICszMTYsOSBAQAogLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBnYW1tYScgZnVuY3Rpb24uICovCiAjdW5kZWYgSEFWRV9HQU1NQQogCisvKiBEZWZpbmUgaWYgd2UgY2FuIHVzZSBnY2MgaW5saW5lIGFzc2VtYmxlciB0byBnZXQgYW5kIHNldCBtYzY4ODgxIGZwY3IgKi8KKyN1bmRlZiBIQVZFX0dDQ19BU01fRk9SX01DNjg4ODEKKwogLyogRGVmaW5lIGlmIHdlIGNhbiB1c2UgeDY0IGdjYyBpbmxpbmUgYXNzZW1ibGVyICovCiAjdW5kZWYgSEFWRV9HQ0NfQVNNX0ZPUl9YNjQKIApAQCAtNjkzLDYgKzY5OSw5IEBACiAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHJlbmFtZWF0JyBmdW5jdGlvbi4gKi8KICN1bmRlZiBIQVZFX1JFTkFNRUFUCiAKKy8qIERlZmluZSBpZiByZWFkbGluZSBzdXBwb3J0cyBhcHBlbmRfaGlzdG9yeSAqLworI3VuZGVmIEhBVkVfUkxfQVBQRU5EX0hJU1RPUlkKKwogLyogRGVmaW5lIGlmIHlvdSBoYXZlIHJlYWRsaW5lIDIuMSAqLwogI3VuZGVmIEhBVkVfUkxfQ0FMTEJBQ0sKIApAQCAtODcxLDYgKzg4MCw5IEBACiAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN0ZGxpYi5oPiBoZWFkZXIgZmlsZS4gKi8KICN1bmRlZiBIQVZFX1NURExJQl9ICiAKKy8qIEhhcyBzdGRhdG9taWMuaCwgYXRvbWljX2ludCBhbmQgX0F0b21pYyB2b2lkKiB0eXBlcyB3b3JrICovCisjdW5kZWYgSEFWRV9TVERfQVRPTUlDCisKIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc3RyZHVwJyBmdW5jdGlvbi4gKi8KICN1bmRlZiBIQVZFX1NUUkRVUAogCmRpZmYgLS1naXQgYS9zZXR1cC5weSBiL3NldHVwLnB5CmluZGV4IDI3Nzk2NTguLjBmODhlNzggMTAwNjQ0Ci0tLSBhL3NldHVwLnB5CisrKyBiL3NldHVwLnB5CkBAIC0yNSw2ICsyNSwxMSBAQAogcHlfY2ZsYWdzX25vZGlzdCA9IHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcignUFlfQ0ZMQUdTX05PRElTVCcpCiBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXJzKClbJ0NGTEFHUyddID0gY2ZsYWdzICsgJyAnICsgcHlfY2ZsYWdzX25vZGlzdAogCitjbGFzcyBEdW1teToKKyAgICAiIiJIYWNrIGZvciBwYXJhbGxlbCBidWlsZCIiIgorICAgIFByb2Nlc3NQb29sRXhlY3V0b3IgPSBOb25lCitzeXMubW9kdWxlc1snY29uY3VycmVudC5mdXR1cmVzLnByb2Nlc3MnXSA9IER1bW15CisKIGRlZiBnZXRfcGxhdGZvcm0oKToKICAgICAjIGNyb3NzIGJ1aWxkCiAgICAgaWYgIl9QWVRIT05fSE9TVF9QTEFURk9STSIgaW4gb3MuZW52aXJvbjoKQEAgLTE3Myw2ICsxNzgsOSBAQAogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBkaXN0KToKICAgICAgICAgYnVpbGRfZXh0Ll9faW5pdF9fKHNlbGYsIGRpc3QpCiAgICAgICAgIHNlbGYuZmFpbGVkID0gW10KKyAgICAgICAgc2VsZi5mYWlsZWRfb25faW1wb3J0ID0gW10KKyAgICAgICAgaWYgJy1qJyBpbiBvcy5lbnZpcm9uLmdldCgnTUFLRUZMQUdTJywgJycpOgorICAgICAgICAgICAgc2VsZi5wYXJhbGxlbCA9IFRydWUKIAogICAgIGRlZiBidWlsZF9leHRlbnNpb25zKHNlbGYpOgogCkBAIC0yNTIsOSArMjYwLDEzIEBACiAKICAgICAgICAgYnVpbGRfZXh0LmJ1aWxkX2V4dGVuc2lvbnMoc2VsZikKIAorICAgICAgICBmb3IgZXh0IGluIHNlbGYuZXh0ZW5zaW9uczoKKyAgICAgICAgICAgIHNlbGYuY2hlY2tfZXh0ZW5zaW9uX2ltcG9ydChleHQpCisKICAgICAgICAgbG9uZ2VzdCA9IG1heChbbGVuKGUubmFtZSkgZm9yIGUgaW4gc2VsZi5leHRlbnNpb25zXSwgZGVmYXVsdD0wKQotICAgICAgICBpZiBzZWxmLmZhaWxlZDoKLSAgICAgICAgICAgIGxvbmdlc3QgPSBtYXgobG9uZ2VzdCwgbWF4KFtsZW4obmFtZSkgZm9yIG5hbWUgaW4gc2VsZi5mYWlsZWRdKSkKKyAgICAgICAgaWYgc2VsZi5mYWlsZWQgb3Igc2VsZi5mYWlsZWRfb25faW1wb3J0OgorICAgICAgICAgICAgYWxsX2ZhaWxlZCA9IHNlbGYuZmFpbGVkICsgc2VsZi5mYWlsZWRfb25faW1wb3J0CisgICAgICAgICAgICBsb25nZXN0ID0gbWF4KGxvbmdlc3QsIG1heChbbGVuKG5hbWUpIGZvciBuYW1lIGluIGFsbF9mYWlsZWRdKSkKIAogICAgICAgICBkZWYgcHJpbnRfdGhyZWVfY29sdW1uKGxzdCk6CiAgICAgICAgICAgICBsc3Quc29ydChrZXk9c3RyLmxvd2VyKQpAQCAtMjgyLDYgKzI5NCwxNCBAQAogICAgICAgICAgICAgcHJpbnRfdGhyZWVfY29sdW1uKGZhaWxlZCkKICAgICAgICAgICAgIHByaW50KCkKIAorICAgICAgICBpZiBzZWxmLmZhaWxlZF9vbl9pbXBvcnQ6CisgICAgICAgICAgICBmYWlsZWQgPSBzZWxmLmZhaWxlZF9vbl9pbXBvcnRbOl0KKyAgICAgICAgICAgIHByaW50KCkKKyAgICAgICAgICAgIHByaW50KCJGb2xsb3dpbmcgbW9kdWxlcyBidWlsdCBzdWNjZXNzZnVsbHkiCisgICAgICAgICAgICAgICAgICAiIGJ1dCB3ZXJlIHJlbW92ZWQgYmVjYXVzZSB0aGV5IGNvdWxkIG5vdCBiZSBpbXBvcnRlZDoiKQorICAgICAgICAgICAgcHJpbnRfdGhyZWVfY29sdW1uKGZhaWxlZCkKKyAgICAgICAgICAgIHByaW50KCkKKwogICAgIGRlZiBidWlsZF9leHRlbnNpb24oc2VsZiwgZXh0KToKIAogICAgICAgICBpZiBleHQubmFtZSA9PSAnX2N0eXBlcyc6CkBAIC0yOTUsNiArMzE1LDE1IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgIChleHQubmFtZSwgc3lzLmV4Y19pbmZvKClbMV0pKQogICAgICAgICAgICAgc2VsZi5mYWlsZWQuYXBwZW5kKGV4dC5uYW1lKQogICAgICAgICAgICAgcmV0dXJuCisKKyAgICBkZWYgY2hlY2tfZXh0ZW5zaW9uX2ltcG9ydChzZWxmLCBleHQpOgorICAgICAgICAjIERvbid0IHRyeSB0byBpbXBvcnQgYW4gZXh0ZW5zaW9uIHRoYXQgaGFzIGZhaWxlZCB0byBjb21waWxlCisgICAgICAgIGlmIGV4dC5uYW1lIGluIHNlbGYuZmFpbGVkOgorICAgICAgICAgICAgc2VsZi5hbm5vdW5jZSgKKyAgICAgICAgICAgICAgICAnV0FSTklORzogc2tpcHBpbmcgaW1wb3J0IGNoZWNrIGZvciBmYWlsZWQgYnVpbGQgIiVzIicgJQorICAgICAgICAgICAgICAgIGV4dC5uYW1lLCBsZXZlbD0xKQorICAgICAgICAgICAgcmV0dXJuCisKICAgICAgICAgIyBXb3JrYXJvdW5kIGZvciBNYWMgT1MgWDogVGhlIENhcmJvbi1iYXNlZCBtb2R1bGVzIGNhbm5vdCBiZQogICAgICAgICAjIHJlbGlhYmx5IGltcG9ydGVkIGludG8gYSBjb21tYW5kLWxpbmUgUHl0aG9uCiAgICAgICAgIGlmICdDYXJib24nIGluIGV4dC5leHRyYV9saW5rX2FyZ3M6CkBAIC0zMzgsOSArMzY3LDkgQEAKICAgICAgICAgc3BlYyA9IGltcG9ydGxpYi51dGlsLnNwZWNfZnJvbV9maWxlX2xvY2F0aW9uKGV4dC5uYW1lLCBleHRfZmlsZW5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkZXI9bG9hZGVyKQogICAgICAgICB0cnk6Ci0gICAgICAgICAgICBpbXBvcnRsaWIuX2Jvb3RzdHJhcC5fU3BlY01ldGhvZHMoc3BlYykubG9hZCgpCisgICAgICAgICAgICBpbXBvcnRsaWIuX2Jvb3RzdHJhcC5fbG9hZChzcGVjKQogICAgICAgICBleGNlcHQgSW1wb3J0RXJyb3IgYXMgd2h5OgotICAgICAgICAgICAgc2VsZi5mYWlsZWQuYXBwZW5kKGV4dC5uYW1lKQorICAgICAgICAgICAgc2VsZi5mYWlsZWRfb25faW1wb3J0LmFwcGVuZChleHQubmFtZSkKICAgICAgICAgICAgIHNlbGYuYW5ub3VuY2UoJyoqKiBXQVJOSU5HOiByZW5hbWluZyAiJXMiIHNpbmNlIGltcG9ydGluZyBpdCcKICAgICAgICAgICAgICAgICAgICAgICAgICAgJyBmYWlsZWQ6ICVzJyAlIChleHQubmFtZSwgd2h5KSwgbGV2ZWw9MykKICAgICAgICAgICAgIGFzc2VydCBub3Qgc2VsZi5pbnBsYWNlCkBAIC0zNTAsMTcgKzM3OSw2IEBACiAgICAgICAgICAgICAgICAgb3MucmVtb3ZlKG5ld25hbWUpCiAgICAgICAgICAgICBvcy5yZW5hbWUoZXh0X2ZpbGVuYW1lLCBuZXduYW1lKQogCi0gICAgICAgICAgICAjIFhYWCAtLSBUaGlzIHJlbGllcyBvbiBhIFZpbGUgSEFDSyBpbgotICAgICAgICAgICAgIyBkaXN0dXRpbHMuY29tbWFuZC5idWlsZF9leHQuYnVpbGRfZXh0ZW5zaW9uKCkuICBUaGUKLSAgICAgICAgICAgICMgX2J1aWx0X29iamVjdHMgYXR0cmlidXRlIGlzIHN0b3JlZCB0aGVyZSBzdHJpY3RseSBmb3IKLSAgICAgICAgICAgICMgdXNlIGhlcmUuCi0gICAgICAgICAgICAjIElmIHRoZXJlIGlzIGEgZmFpbHVyZSwgX2J1aWx0X29iamVjdHMgbWF5IG5vdCBiZSB0aGVyZSwKLSAgICAgICAgICAgICMgc28gY2F0Y2ggdGhlIEF0dHJpYnV0ZUVycm9yIGFuZCBtb3ZlIG9uLgotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIGZvciBmaWxlbmFtZSBpbiBzZWxmLl9idWlsdF9vYmplY3RzOgotICAgICAgICAgICAgICAgICAgICBvcy5yZW1vdmUoZmlsZW5hbWUpCi0gICAgICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6Ci0gICAgICAgICAgICAgICAgc2VsZi5hbm5vdW5jZSgndW5hYmxlIHRvIHJlbW92ZSBmaWxlcyAoaWdub3JlZCknKQogICAgICAgICBleGNlcHQ6CiAgICAgICAgICAgICBleGNfdHlwZSwgd2h5LCB0YiA9IHN5cy5leGNfaW5mbygpCiAgICAgICAgICAgICBzZWxmLmFubm91bmNlKCcqKiogV0FSTklORzogaW1wb3J0aW5nIGV4dGVuc2lvbiAiJXMiICcK